diff --git a/classes/BaseEntity.html b/classes/BaseEntity.html index 7da037a358d..70ca99f90ac 100644 --- a/classes/BaseEntity.html +++ b/classes/BaseEntity.html @@ -264,7 +264,7 @@

-
import { PrimaryKey, Property, SerializedPrimaryKey } from '@mikro-orm/core';
+        
import { OptionalProps, PrimaryKey, Property, SerializedPrimaryKey } from '@mikro-orm/core';
 import { ObjectId } from '@mikro-orm/mongodb';
 import type { AuthorizableObject } from '../domain-object';
 import type { IEntity } from '../interface';
@@ -286,7 +286,9 @@ 

// that can be cumbersome e.g. in tests. that's why we define it as a root class here. // TODO check if we can use EntitySchema to prevent code duplication (decorators don't work for defining properties btw.) -export abstract class BaseEntityWithTimestamps implements AuthorizableObject { +export abstract class BaseEntityWithTimestamps<Optional = never> implements AuthorizableObject { + [OptionalProps]?: Optional | 'createdAt' | 'updatedAt'; + @PrimaryKey() _id!: ObjectId; diff --git a/classes/BaseEntityWithTimestamps.html b/classes/BaseEntityWithTimestamps.html index 0c986560a29..480731ce0dd 100644 --- a/classes/BaseEntityWithTimestamps.html +++ b/classes/BaseEntityWithTimestamps.html @@ -164,6 +164,10 @@

Properties
id +
  • + Optional + OptionalProps +
  • updatedAt @@ -216,7 +220,7 @@

    - + @@ -251,7 +255,7 @@

    - + @@ -287,7 +291,34 @@

    - + + + + + + + + + + + + + + + + + @@ -322,7 +353,7 @@

    @@ -341,7 +372,7 @@

    -
    import { PrimaryKey, Property, SerializedPrimaryKey } from '@mikro-orm/core';
    +        
    import { OptionalProps, PrimaryKey, Property, SerializedPrimaryKey } from '@mikro-orm/core';
     import { ObjectId } from '@mikro-orm/mongodb';
     import type { AuthorizableObject } from '../domain-object';
     import type { IEntity } from '../interface';
    @@ -363,7 +394,9 @@ 

    // that can be cumbersome e.g. in tests. that's why we define it as a root class here. // TODO check if we can use EntitySchema to prevent code duplication (decorators don't work for defining properties btw.) -export abstract class BaseEntityWithTimestamps implements AuthorizableObject { +export abstract class BaseEntityWithTimestamps<Optional = never> implements AuthorizableObject { + [OptionalProps]?: Optional | 'createdAt' | 'updatedAt'; + @PrimaryKey() _id!: ObjectId; diff --git a/classes/ExternalTool.html b/classes/ExternalTool.html index 5aa00e19c8c..1c520bfe9eb 100644 --- a/classes/ExternalTool.html +++ b/classes/ExternalTool.html @@ -212,6 +212,10 @@

    Methods
  • getVersion
  • +
  • + Static + isBasicConfig +
  • Static isLti11Config @@ -243,7 +247,7 @@

    Constructor

  • @@ -305,7 +309,7 @@

    @@ -331,7 +335,7 @@

    @@ -358,7 +362,7 @@

    @@ -385,7 +389,7 @@

    @@ -411,7 +415,7 @@

    @@ -437,7 +441,7 @@

    @@ -464,7 +468,7 @@

    @@ -491,7 +495,7 @@

    @@ -518,7 +522,7 @@

    @@ -544,7 +548,7 @@

    @@ -612,8 +616,8 @@

    @@ -629,6 +633,75 @@

    + + + Optional + OptionalProps + + +
    + Type : Optional | "createdAt" | "updatedAt" + +
    +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    - +
    + + + + + + + + + + + + + + + + + + + +
    + + + Static + isBasicConfig + + +
    + + isBasicConfig(config: ExternalToolConfig) +
    + +
    + +
    + Parameters : + + + + + + + + + + + + + + + + + + + +
    NameTypeOptional
    config + ExternalToolConfig + + No +
    +
    +
    + Returns : BasicToolConfig + +
    +
    + +
    +
    @@ -651,8 +724,8 @@

    @@ -720,8 +793,8 @@

    @@ -778,6 +851,7 @@

    import { BaseDO } from '@shared/domain/domainobject/base.do';
    +import { InternalServerErrorException } from '@nestjs/common';
     import { ToolVersion } from '../../common/interface';
     import { Oauth2ToolConfig, BasicToolConfig, Lti11ToolConfig, ExternalToolConfig } from './config';
     import { CustomParameter } from '../../common/domain';
    @@ -835,7 +909,15 @@ 

    this.url = props.url; this.logoUrl = props.logoUrl; this.logo = props.logo; - this.config = props.config; + if (ExternalTool.isBasicConfig(props.config)) { + this.config = new BasicToolConfig(props.config); + } else if (ExternalTool.isOauth2Config(props.config)) { + this.config = new Oauth2ToolConfig(props.config); + } else if (ExternalTool.isLti11Config(props.config)) { + this.config = new Lti11ToolConfig(props.config); + } else { + throw new InternalServerErrorException(`Unknown tool config`); + } this.parameters = props.parameters; this.isHidden = props.isHidden; this.openNewTab = props.openNewTab; @@ -847,6 +929,10 @@

    return this.version; } + static isBasicConfig(config: ExternalToolConfig): config is BasicToolConfig { + return ToolConfigType.BASIC === config.type; + } + static isOauth2Config(config: ExternalToolConfig): config is Oauth2ToolConfig { return ToolConfigType.OAUTH2 === config.type; } diff --git a/classes/ExternalToolRepoMapper.html b/classes/ExternalToolRepoMapper.html index 641df844d91..a1e6c735a5f 100644 --- a/classes/ExternalToolRepoMapper.html +++ b/classes/ExternalToolRepoMapper.html @@ -687,7 +687,7 @@

    - +
    - +

  • @@ -1061,10 +1061,10 @@

    BasicToolConfigEntity, CustomParameterEntity, ExternalToolEntity, - IExternalToolProperties, Lti11ToolConfigEntity, Oauth2ToolConfigEntity, } from '@modules/tool/external-tool/entity'; +import { EntityData } from '@mikro-orm/core'; // TODO: maybe rename because of usage in external tool repo and school external tool repo export class ExternalToolRepoMapper { @@ -1129,7 +1129,7 @@

    }); } - static mapDOToEntityProperties(entityDO: ExternalTool): IExternalToolProperties { + static mapDOToEntityProperties(entityDO: ExternalTool): EntityData<ExternalToolEntity> { let config: BasicToolConfigEntity | Oauth2ToolConfigEntity | Lti11ToolConfigEntity; switch (entityDO.config.type) { case ToolConfigType.BASIC: diff --git a/classes/SchoolRolePermission.html b/classes/SchoolRolePermission.html index 614ddaac05d..1f08034bc1c 100644 --- a/classes/SchoolRolePermission.html +++ b/classes/SchoolRolePermission.html @@ -360,8 +360,6 @@

    (userLoginMigration: UserLoginMigrationEntity) => userLoginMigration.school, { orphanRemoval: true, - nullable: true, - fieldName: 'userLoginMigrationId', } ) userLoginMigration?: UserLoginMigrationEntity; diff --git a/classes/SchoolRoles.html b/classes/SchoolRoles.html index fd4fa549727..551690028d6 100644 --- a/classes/SchoolRoles.html +++ b/classes/SchoolRoles.html @@ -360,8 +360,6 @@

    (userLoginMigration: UserLoginMigrationEntity) => userLoginMigration.school, { orphanRemoval: true, - nullable: true, - fieldName: 'userLoginMigrationId', } ) userLoginMigration?: UserLoginMigrationEntity; diff --git a/coverage.html b/coverage.html index d491b3d0b04..feb0dc59da8 100644 --- a/coverage.html +++ b/coverage.html @@ -11952,9 +11952,9 @@ injectable ShareTokenRepo - - 6 % - (1/15) + + 9 % + (1/11) @@ -13754,7 +13754,7 @@ ExternalTool 0 % - (0/16) + (0/17) @@ -17378,7 +17378,7 @@ BaseEntityWithTimestamps 0 % - (0/5) + (0/6) @@ -18972,9 +18972,9 @@ injectable BaseDORepo - - 6 % - (1/15) + + 9 % + (1/11) @@ -19008,9 +19008,9 @@ injectable ContextExternalToolRepo - - 4 % - (1/22) + + 5 % + (1/18) @@ -19140,9 +19140,9 @@ injectable ExternalToolRepo - - 5 % - (1/19) + + 6 % + (1/15) @@ -19200,9 +19200,9 @@ injectable LtiToolRepo - - 5 % - (1/17) + + 7 % + (1/13) @@ -19296,9 +19296,9 @@ injectable LegacySchoolRepo - - 5 % - (1/17) + + 7 % + (1/13) @@ -19308,9 +19308,9 @@ injectable SchoolExternalToolRepo - - 5 % - (1/20) + + 6 % + (1/16) @@ -19440,9 +19440,9 @@ injectable UserDORepo - - 5 % - (1/20) + + 6 % + (1/16) @@ -19476,9 +19476,9 @@ injectable UserLoginMigrationRepo - - 6 % - (1/16) + + 8 % + (1/12) @@ -19488,9 +19488,9 @@ injectable VideoConferenceRepo - - 6 % - (1/15) + + 9 % + (1/11) diff --git a/dependencies.html b/dependencies.html index 042b9e88ab5..189bf245f67 100644 --- a/dependencies.html +++ b/dependencies.html @@ -132,9 +132,9 @@
  • @lumieducation/h5p-server : ^9.2.0
  • - @mikro-orm/core : ^5.4.2
  • + @mikro-orm/core : ^5.5.3
  • - @mikro-orm/mongodb : ^5.4.2
  • + @mikro-orm/mongodb : ^5.5.3
  • @mikro-orm/nestjs : ^5.2.1
  • diff --git a/entities/Board.html b/entities/Board.html index b17ee915970..40fbc5555e1 100644 --- a/entities/Board.html +++ b/entities/Board.html @@ -187,7 +187,7 @@

    Decorators :
    - @OneToOne({type: 'Course', fieldName: 'courseId', wrappedReference: true, unique: true})
    + @OneToOne({type: 'Course', fieldName: 'courseId', wrappedReference: true, unique: true, owner: true})
    @@ -267,7 +267,7 @@

    this.course = wrap(props.course).toReference(); } - @OneToOne({ type: 'Course', fieldName: 'courseId', wrappedReference: true, unique: true }) + @OneToOne({ type: 'Course', fieldName: 'courseId', wrappedReference: true, unique: true, owner: true }) course: IdentifiedReference<Course>; @ManyToMany('BoardElement', undefined, { fieldName: 'referenceIds' }) diff --git a/entities/SchoolEntity.html b/entities/SchoolEntity.html index 0eb07a79ac3..9260c1f9bc3 100644 --- a/entities/SchoolEntity.html +++ b/entities/SchoolEntity.html @@ -316,7 +316,7 @@

    - + @@ -640,13 +640,13 @@

    Decorators :
    - @OneToOne(undefined, userLoginMigration => userLoginMigration.school, {orphanRemoval: true, nullable: true, fieldName: 'userLoginMigrationId'})
    + @OneToOne(undefined, userLoginMigration => userLoginMigration.school, {orphanRemoval: true})
    - + @@ -757,8 +757,6 @@

    (userLoginMigration: UserLoginMigrationEntity) => userLoginMigration.school, { orphanRemoval: true, - nullable: true, - fieldName: 'userLoginMigrationId', } ) userLoginMigration?: UserLoginMigrationEntity; diff --git a/entities/UserLoginMigrationEntity.html b/entities/UserLoginMigrationEntity.html index 7036e026bc6..a771364221f 100644 --- a/entities/UserLoginMigrationEntity.html +++ b/entities/UserLoginMigrationEntity.html @@ -322,7 +322,7 @@

    Decorators :
    - @OneToOne(undefined, undefined, {nullable: false})
    + @OneToOne(undefined, school => school.userLoginMigration, {nullable: false, owner: true})
    @@ -458,7 +458,7 @@

    @Entity({ tableName: 'user-login-migrations' }) export class UserLoginMigrationEntity extends BaseEntityWithTimestamps { - @OneToOne(() => SchoolEntity, undefined, { nullable: false }) + @OneToOne(() => SchoolEntity, (school) => school.userLoginMigration, { nullable: false, owner: true }) school: SchoolEntity; // undefined, if migrating from 'local' diff --git a/injectables/BaseDORepo.html b/injectables/BaseDORepo.html index e3267fcd1e5..27692892d51 100644 --- a/injectables/BaseDORepo.html +++ b/injectables/BaseDORepo.html @@ -144,11 +144,8 @@

    Methods
    @@ -293,95 +277,27 @@

    - + Private - createEntity - - - - - - - - createEntity(domainObject: DO) - - - - - - - - - - - - - - -
    - Parameters : - - - - - - - - - - - - - - - - - - - -
    NameTypeOptional
    domainObject - DO - - No -
    -
    -
    - Returns : E - -
    -
    - -
    - - - - - - - - @@ -417,7 +333,7 @@

    - - - Protected - createNewEntityFromDO - + Async + createOrUpdateEntity +
    - createNewEntityFromDO(domainObject: DO) + createOrUpdateEntity(domainObject: DO)
    - +

  • - Returns : E + Returns : Promise<DO>
    @@ -449,8 +365,8 @@

    - + @@ -523,8 +439,8 @@

    - + @@ -570,144 +486,6 @@

    - - - - - - - - - - - - - - - - - - - -
    - - - Private - deleteEntityById - - -
    - - deleteEntityById(id: EntityId) -
    - -
    - -
    - Parameters : - - - - - - - - - - - - - - - - - - - -
    NameTypeOptional
    id - EntityId - - No -
    -
    -
    - Returns : Promise<number> - -
    -
    - -
    -
    - - - - - - - - - - - - - - - - - - - -
    - - - Abstract - entityFactory - - -
    - - entityFactory(props: P) -
    - -
    - -
    - Parameters : - - - - - - - - - - - - - - - - - - - -
    NameTypeOptional
    props - P - - No -
    -
    -
    - Returns : E - -
    -
    - -
    -
    @@ -730,8 +508,8 @@

    @@ -800,8 +578,8 @@

    @@ -837,7 +615,7 @@

    - +
    - +

    - Returns : P + Returns : EntityData<E>
    @@ -870,8 +648,8 @@

    - + @@ -932,15 +710,15 @@

    - removeProtectedEntityFields(entity: E) + removeProtectedEntityFields(entityData: EntityData) - + @@ -963,9 +741,9 @@

    - entity + entityData - E + EntityData<E> @@ -1003,15 +781,15 @@

    - save(entityDo: DO) + save(domainObject: DO) - + @@ -1032,7 +810,7 @@

    - entityDo + domainObject DO @@ -1072,15 +850,15 @@

    - saveAll(entityDos: DO[]) + saveAll(domainObjects: DO[]) - + @@ -1101,7 +879,7 @@

    - entityDos + domainObjects DO[] @@ -1126,76 +904,6 @@

    - - - - - - - - - - - - - - - - - - - -
    - - - Private - Async - updateEntity - - -
    - - updateEntity(domainObject: DO) -
    - -
    - -
    - Parameters : - - - - - - - - - - - - - - - - - - - -
    NameTypeOptional
    domainObject - DO - - No -
    -
    -
    - Returns : Promise<E> - -
    -
    - -
    -
    @@ -1229,99 +937,77 @@

    -
    import { EntityName, FilterQuery } from '@mikro-orm/core';
    -import { EntityManager, ObjectId } from '@mikro-orm/mongodb';
    -import { Injectable } from '@nestjs/common';
    +        
    import { EntityData, EntityName, FilterQuery, Primary, RequiredEntityData, Utils } from '@mikro-orm/core';
    +import { EntityManager } from '@mikro-orm/mongodb';
    +import { Injectable, InternalServerErrorException } from '@nestjs/common';
     import { BaseDO } from '@shared/domain/domainobject';
     import { BaseEntity, baseEntityProperties } from '@shared/domain/entity';
     import { EntityId } from '@shared/domain/types';
     import { LegacyLogger } from '@src/core/logger';
     
     @Injectable()
    -export abstract class BaseDORepo<DO extends BaseDO, E extends BaseEntity, P> {
    +export abstract class BaseDORepo<DO extends BaseDO, E extends BaseEntity> {
     	constructor(protected readonly _em: EntityManager, protected readonly logger: LegacyLogger) {}
     
     	abstract get entityName(): EntityName<E>;
     
    -	abstract entityFactory(props: P): E;
    -
     	protected abstract mapEntityToDO(entity: E): DO;
     
    -	protected abstract mapDOToEntityProperties(entityDO: DO): P;
    +	protected abstract mapDOToEntityProperties(entityDO: DO): EntityData<E>;
     
    -	async save(entityDo: DO): Promise<DO> {
    -		const savedDos: DO[] = await this.saveAll([entityDo]);
    -		return savedDos[0];
    +	async save(domainObject: DO): Promise<DO> {
    +		const savedDomainObjects = await this.saveAll([domainObject]);
    +		return savedDomainObjects[0];
     	}
     
    -	async saveAll(entityDos: DO[]): Promise<DO[]> {
    -		const promises: Promise<E>[] = entityDos.map(async (domainObject: DO): Promise<E> => {
    -			let entity: E;
    -			if (!domainObject.id) {
    -				entity = this.createEntity(domainObject);
    -			} else {
    -				entity = await this.updateEntity(domainObject);
    -			}
    -			return entity;
    -		});
    +	async saveAll(domainObjects: DO[]): Promise<DO[]> {
    +		const promises = domainObjects.map(async (dob) => this.createOrUpdateEntity(dob));
     
    -		const entities: E[] = await Promise.all(promises);
    -		await this._em.persistAndFlush(entities);
    +		const savedDomainObjects = await Promise.all(promises);
     
    -		const savedDos: DO[] = entities.map((entity) => this.mapEntityToDO(entity));
    -		return savedDos;
    +		return savedDomainObjects;
     	}
     
    -	private createEntity(domainObject: DO): E {
    -		const newEntity: E = this.createNewEntityFromDO(domainObject);
    +	private async createOrUpdateEntity(domainObject: DO): Promise<DO> {
    +		const entityData = this.mapDOToEntityProperties(domainObject);
    +		this.removeProtectedEntityFields(entityData);
     
    -		const created: E = this._em.create(this.entityName, newEntity);
    -		this.logger.debug(`Created new entity with id ${created.id}`);
    -		return created;
    -	}
    -
    -	private async updateEntity(domainObject: DO): Promise<E> {
    -		const newEntity: E = this.createNewEntityFromDO(domainObject);
    +		const { entityName } = this;
     
    -		this.removeProtectedEntityFields(newEntity);
    +		const existingEntity = domainObject.id
    +			? await this._em.findOneOrFail(entityName, { id: domainObject.id } as FilterQuery<E>)
    +			: undefined;
     
    -		const fetchedEntity: E = await this._em.findOneOrFail(this.entityName, {
    -			id: domainObject.id,
    -		} as FilterQuery<E>);
    -		const updated: E = this._em.assign(fetchedEntity, newEntity);
    -		this.logger.debug(`Updated entity with id ${updated.id}`);
    -		return updated;
    -	}
    +		const persistedEntity = existingEntity
    +			? this._em.assign(existingEntity, entityData)
    +			: this._em.create(entityName, entityData as RequiredEntityData<E>);
     
    -	protected createNewEntityFromDO(domainObject: DO) {
    -		const entityProps: P = this.mapDOToEntityProperties(domainObject);
    -		const newEntity: E = this.entityFactory(entityProps);
    +		await this._em.flush();
     
    -		if (domainObject.id) {
    -			newEntity.id = domainObject.id;
    -			newEntity._id = new ObjectId(domainObject.id);
    +		if (!domainObject.id) {
    +			domainObject.id = persistedEntity.id;
    +		}
    +		if ('createdAt' in domainObject && 'createdAt' in persistedEntity) {
    +			domainObject.createdAt = persistedEntity.createdAt;
    +		}
    +		if ('updatedAt' in domainObject && 'updatedAt' in persistedEntity) {
    +			domainObject.updatedAt = persistedEntity.updatedAt;
     		}
    -		return newEntity;
    -	}
     
    -	/**
    -	 * Ignore base entity properties when updating entity
    -	 */
    -	private removeProtectedEntityFields(entity: E) {
    -		Object.keys(entity).forEach((key) => {
    -			if (baseEntityProperties.includes(key)) {
    -				delete entity[key];
    -			}
    -		});
    +		return domainObject;
     	}
     
     	async delete(domainObjects: DO[] | DO): Promise<void> {
    -		const dos: DO[] = Array.isArray(domainObjects) ? domainObjects : [domainObjects];
    +		const ids: Primary<E>[] = Utils.asArray(domainObjects).map((dob) => {
    +			if (!dob.id) {
    +				throw new InternalServerErrorException('Cannot delete object without id');
    +			}
    +			return dob.id as Primary<E>;
    +		});
     
    -		const entities: E[] = dos.map((domainObj: DO): E => this.createNewEntityFromDO(domainObj));
    +		const entities = ids.map((eid) => this._em.getReference(this.entityName, eid));
     
    -		this._em.remove(entities);
    -		await this._em.flush();
    +		await this._em.remove(entities).flush();
     	}
     
     	// TODO: https://ticketsystem.dbildungscloud.de/browse/ARC-173 replace with delete(domainObject: DO)
    @@ -1329,27 +1015,32 @@ 

    * @deprecated Please use {@link delete} instead */ async deleteById(id: EntityId | EntityId[]): Promise<number> { - const ids: string[] = Array.isArray(id) ? id : [id]; + const ids = Utils.asArray(id) as Primary<E>[]; - let total = 0; - const promises: Promise<void>[] = ids.map(async (entityId: string): Promise<void> => { - const deleted: number = await this.deleteEntityById(entityId); - total += deleted; - }); + const entities = ids.map((eid) => this._em.getReference(this.entityName, eid)); - await Promise.all(promises); - return total; - } + await this._em.remove(entities).flush(); + + const total = ids.length; - private deleteEntityById(id: EntityId): Promise<number> { - const promise: Promise<number> = this._em.nativeDelete(this.entityName, { id } as FilterQuery<E>); - return promise; + return total; } async findById(id: EntityId): Promise<DO> { const entity: E = await this._em.findOneOrFail(this.entityName, { id } as FilterQuery<E>); return this.mapEntityToDO(entity); } + + /** + * Ignore base entity properties when updating entity + */ + private removeProtectedEntityFields(entityData: EntityData<E>) { + Object.keys(entityData).forEach((key) => { + if (baseEntityProperties.includes(key)) { + delete entityData[key]; + } + }); + } }

    diff --git a/injectables/ContextExternalToolRepo.html b/injectables/ContextExternalToolRepo.html index 7ff21c22f5e..16668a884f5 100644 --- a/injectables/ContextExternalToolRepo.html +++ b/injectables/ContextExternalToolRepo.html @@ -160,9 +160,6 @@
    Methods
    Async deleteBySchoolExternalToolIds -
  • - entityFactory -
  • Async find @@ -194,11 +191,8 @@
    Methods
  • Private - createEntity -
  • -
  • - Protected - createNewEntityFromDO + Async + createOrUpdateEntity
  • Async @@ -208,10 +202,6 @@
    Methods
    Async deleteById
  • -
  • - Private - deleteEntityById -
  • Private removeProtectedEntityFields @@ -224,11 +214,6 @@
    Methods
    Async saveAll
  • -
  • - Private - Async - updateEntity -
  • @@ -266,7 +251,7 @@

    Constructor

    - + @@ -343,8 +328,8 @@

    - + @@ -412,8 +397,8 @@

    - + @@ -493,8 +478,8 @@

    - + @@ -540,79 +525,6 @@

    - - - - - - - - - - - - - - - - - - - - - - -
    - - - entityFactory - - -
    -entityFactory(props: ContextExternalToolProperties) -
    -
    Inherited from BaseDORepo -
    -
    -
    Defined in BaseDORepo:34 -
    -
    - -
    - Parameters : - - - - - - - - - - - - - - - - - - - -
    NameTypeOptional
    props - ContextExternalToolProperties - - No -
    -
    -
    - Returns : ContextExternalToolEntity - -
    -
    - -
    -
    @@ -635,8 +547,8 @@

    @@ -712,7 +624,7 @@

    @@ -782,8 +694,8 @@

    @@ -851,8 +763,8 @@

    @@ -920,8 +832,8 @@

    @@ -993,7 +905,7 @@

    @@ -1030,7 +942,7 @@

    - +
    -
    Defined in BaseDORepo:64 +
    Defined in BaseDORepo:52
    - +
    - +
    - +
    -
    Defined in BaseDORepo:129 +
    Defined in BaseDORepo:117

    - Returns : ContextExternalToolProperties + Returns : EntityData<ContextExternalToolEntity>
    @@ -1066,7 +978,7 @@

    -
    Defined in BaseDORepo:108 +
    Defined in BaseDORepo:96
    @@ -1117,93 +1029,19 @@

    - + Private - createEntity - - - - - - - - createEntity(domainObject: DO) - - - - - - -
    Inherited from BaseDORepo -
    - - - - -
    Defined in BaseDORepo:44 -
    - - - - - - - -
    - Parameters : - - - - - - - - - - - - - - - - - - - -
    NameTypeOptional
    domainObject - DO - - No -
    -
    -
    - Returns : E - -
    -
    - -
    - - - - - - - - @@ -1216,7 +1054,7 @@

    @@ -1253,7 +1091,7 @@

    - - - Protected - createNewEntityFromDO - + Async + createOrUpdateEntity +
    - createNewEntityFromDO(domainObject: DO) + createOrUpdateEntity(domainObject: DO)
    -
    Defined in BaseDORepo:65 +
    Defined in BaseDORepo:32

    - Returns : E + Returns : Promise<DO>
    @@ -1291,7 +1129,7 @@

    -
    Defined in BaseDORepo:87 +
    Defined in BaseDORepo:61
    @@ -1371,7 +1209,7 @@

    -
    Defined in BaseDORepo:100 +
    Defined in BaseDORepo:78
    @@ -1418,81 +1256,6 @@

    - - - - - - - - - - - - - - - - - - - - - - -
    - - - Private - deleteEntityById - - -
    - - deleteEntityById(id: EntityId) -
    -
    Inherited from BaseDORepo -
    -
    -
    Defined in BaseDORepo:113 -
    -
    - -
    - Parameters : - - - - - - - - - - - - - - - - - - - -
    NameTypeOptional
    id - EntityId - - No -
    -
    -
    - Returns : Promise<number> - -
    -
    - -
    -
    @@ -1508,7 +1271,7 @@

    @@ -1521,7 +1284,7 @@

    @@ -1545,9 +1308,9 @@

    - + @@ -1598,7 +1361,7 @@

    @@ -1620,7 +1383,7 @@

    - + @@ -1660,7 +1423,7 @@

    @@ -1673,7 +1436,7 @@

    @@ -1695,7 +1458,7 @@

    - + @@ -1720,82 +1483,6 @@

    - removeProtectedEntityFields(entity: E) + removeProtectedEntityFields(entityData: EntityData)
    -
    Defined in BaseDORepo:79 +
    Defined in BaseDORepo:98
    entityentityData - E + EntityData<E> @@ -1585,7 +1348,7 @@

    - save(entityDo: DO) + save(domainObject: DO)
    -
    Defined in BaseDORepo:21 +
    Defined in BaseDORepo:19
    entityDodomainObject DO
    - saveAll(entityDos: DO[]) + saveAll(domainObjects: DO[])
    -
    Defined in BaseDORepo:26 +
    Defined in BaseDORepo:24
    entityDosdomainObjects DO[]
    - - - - - - - - - - - - - - - - - - - - - - -
    - - - Private - Async - updateEntity - - -
    - - updateEntity(domainObject: DO) -
    -
    Inherited from BaseDORepo -
    -
    -
    Defined in BaseDORepo:52 -
    -
    - -
    - Parameters : - - - - - - - - - - - - - - - - - - - -
    NameTypeOptional
    domainObject - DO - - No -
    -
    -
    - Returns : Promise<E> - -
    -
    - -
    -
    @@ -1818,7 +1505,7 @@

    - + @@ -1829,15 +1516,11 @@

    -
    import { EntityName } from '@mikro-orm/core';
    +        
    import { EntityData, EntityName } from '@mikro-orm/core';
     import { EntityManager } from '@mikro-orm/mongodb';
     import { ToolContextType } from '@modules/tool/common/enum/tool-context-type.enum';
     import { ContextExternalTool, ContextRef } from '@modules/tool/context-external-tool/domain';
    -import {
    -	ContextExternalToolEntity,
    -	ContextExternalToolProperties,
    -	ContextExternalToolType,
    -} from '@modules/tool/context-external-tool/entity';
    +import { ContextExternalToolEntity, ContextExternalToolType } from '@modules/tool/context-external-tool/entity';
     import { ContextExternalToolQuery } from '@modules/tool/context-external-tool/uc/dto/context-external-tool.types';
     import { SchoolExternalToolRefDO } from '@modules/tool/school-external-tool/domain';
     import { SchoolExternalToolEntity } from '@modules/tool/school-external-tool/entity';
    @@ -1849,11 +1532,7 @@ 

    import { ContextExternalToolScope } from './context-external-tool.scope'; @Injectable() -export class ContextExternalToolRepo extends BaseDORepo< - ContextExternalTool, - ContextExternalToolEntity, - ContextExternalToolProperties -> { +export class ContextExternalToolRepo extends BaseDORepo<ContextExternalTool, ContextExternalToolEntity> { constructor(protected readonly _em: EntityManager, protected readonly logger: LegacyLogger) { super(_em, logger); } @@ -1862,10 +1541,6 @@

    return ContextExternalToolEntity; } - entityFactory(props: ContextExternalToolProperties): ContextExternalToolEntity { - return new ContextExternalToolEntity(props); - } - async deleteBySchoolExternalToolIds(schoolExternalToolIds: string[]): Promise<number> { const count: Promise<number> = this._em.nativeDelete(this.entityName, { schoolTool: { $in: schoolExternalToolIds }, @@ -1957,7 +1632,7 @@

    }); } - mapDOToEntityProperties(entityDO: ContextExternalTool): ContextExternalToolProperties { + mapDOToEntityProperties(entityDO: ContextExternalTool): EntityData<ContextExternalToolEntity> { return { contextId: entityDO.contextRef.id, contextType: this.mapContextTypeToEntityType(entityDO.contextRef.type), diff --git a/injectables/ExternalToolRepo.html b/injectables/ExternalToolRepo.html index d1c5fd950ea..b688c2524b8 100644 --- a/injectables/ExternalToolRepo.html +++ b/injectables/ExternalToolRepo.html @@ -148,9 +148,6 @@

    Methods
    @@ -306,79 +291,6 @@

    Constructor

    Methods

    - - - - - - - - - - - - - - - - - - - - - - -
    - - - entityFactory - - -
    -entityFactory(props: IExternalToolProperties) -
    -
    Inherited from BaseDORepo -
    -
    -
    Defined in BaseDORepo:24 -
    -
    - -
    - Parameters : - - - - - - - - - - - - - - - - - - - -
    NameTypeOptional
    props - IExternalToolProperties - - No -
    -
    -
    - Returns : ExternalToolEntity - -
    -
    - -
    -
    @@ -401,8 +313,8 @@

    @@ -482,8 +394,8 @@

    @@ -551,8 +463,8 @@

    @@ -620,8 +532,8 @@

    @@ -693,7 +605,7 @@

    @@ -730,7 +642,7 @@

    - +
    - +
    - +
    - +
    -
    Defined in BaseDORepo:91 +
    Defined in BaseDORepo:87
    @@ -766,7 +678,7 @@

    -
    Defined in BaseDORepo:85 +
    Defined in BaseDORepo:81
    @@ -817,93 +729,19 @@

    - + Private - createEntity - - - - - - - - createEntity(domainObject: DO) - - - - - - -
    Inherited from BaseDORepo -
    - - - - -
    Defined in BaseDORepo:44 -
    - - - - - - - -
    - Parameters : - - - - - - - - - - - - - - - - - - - -
    NameTypeOptional
    domainObject - DO - - No -
    -
    -
    - Returns : E - -
    -
    - -
    - - - - - - - - @@ -916,7 +754,7 @@

    @@ -953,7 +791,7 @@

    - - - Protected - createNewEntityFromDO - + Async + createOrUpdateEntity +
    - createNewEntityFromDO(domainObject: DO) + createOrUpdateEntity(domainObject: DO)
    -
    Defined in BaseDORepo:65 +
    Defined in BaseDORepo:32

    - Returns : E + Returns : Promise<DO>
    @@ -991,7 +829,7 @@

    -
    Defined in BaseDORepo:87 +
    Defined in BaseDORepo:61
    @@ -1071,7 +909,7 @@

    -
    Defined in BaseDORepo:100 +
    Defined in BaseDORepo:78
    @@ -1118,81 +956,6 @@

    - - - - - - - - - - - - - - - - - - - - - - -
    - - - Private - deleteEntityById - - -
    - - deleteEntityById(id: EntityId) -
    -
    Inherited from BaseDORepo -
    -
    -
    Defined in BaseDORepo:113 -
    -
    - -
    - Parameters : - - - - - - - - - - - - - - - - - - - -
    NameTypeOptional
    id - EntityId - - No -
    -
    -
    - Returns : Promise<number> - -
    -
    - -
    -
    @@ -1221,7 +984,7 @@

    @@ -1283,7 +1046,7 @@

    @@ -1296,7 +1059,7 @@

    @@ -1320,9 +1083,9 @@

    - + @@ -1373,7 +1136,7 @@

    @@ -1395,7 +1158,7 @@

    - + @@ -1435,7 +1198,7 @@

    @@ -1448,7 +1211,7 @@

    @@ -1470,7 +1233,7 @@

    - + @@ -1495,82 +1258,6 @@

    -
    Defined in BaseDORepo:118 +
    Defined in BaseDORepo:90
    - removeProtectedEntityFields(entity: E) + removeProtectedEntityFields(entityData: EntityData)
    -
    Defined in BaseDORepo:79 +
    Defined in BaseDORepo:98
    entityentityData - E + EntityData<E> @@ -1360,7 +1123,7 @@

    - save(entityDo: DO) + save(domainObject: DO)
    -
    Defined in BaseDORepo:21 +
    Defined in BaseDORepo:19
    entityDodomainObject DO
    - saveAll(entityDos: DO[]) + saveAll(domainObjects: DO[])
    -
    Defined in BaseDORepo:26 +
    Defined in BaseDORepo:24
    entityDosdomainObjects DO[]
    - - - - - - - - - - - - - - - - - - - - - - -
    - - - Private - Async - updateEntity - - -
    - - updateEntity(domainObject: DO) -
    -
    Inherited from BaseDORepo -
    -
    -
    Defined in BaseDORepo:52 -
    -
    - -
    - Parameters : - - - - - - - - - - - - - - - - - - - -
    NameTypeOptional
    domainObject - DO - - No -
    -
    -
    - Returns : Promise<E> - -
    -
    - -
    -

    @@ -1604,12 +1291,12 @@

    -
    import { EntityName, QueryOrderMap } from '@mikro-orm/core';
    +        
    import { EntityData, EntityName, QueryOrderMap } from '@mikro-orm/core';
     import { EntityManager } from '@mikro-orm/mongodb';
     import { ToolConfigType } from '@modules/tool/common/enum';
     import { ExternalToolSearchQuery } from '@modules/tool/common/interface';
     import { ExternalTool } from '@modules/tool/external-tool/domain';
    -import { ExternalToolEntity, IExternalToolProperties } from '@modules/tool/external-tool/entity';
    +import { ExternalToolEntity } from '@modules/tool/external-tool/entity';
     import { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';
     import { Page } from '@shared/domain/domainobject';
     import { IFindOptions, Pagination, SortOrder } from '@shared/domain/interface';
    @@ -1618,7 +1305,7 @@ 

    import { ExternalToolScope } from './external-tool.scope'; @Injectable() -export class ExternalToolRepo extends BaseDORepo<ExternalTool, ExternalToolEntity, IExternalToolProperties> { +export class ExternalToolRepo extends BaseDORepo<ExternalTool, ExternalToolEntity> { constructor(protected readonly _em: EntityManager, protected readonly logger: LegacyLogger) { super(_em, logger); } @@ -1627,10 +1314,6 @@

    return ExternalToolEntity; } - entityFactory(props: IExternalToolProperties): ExternalToolEntity { - return new ExternalToolEntity(props); - } - async findByName(name: string): Promise<ExternalTool | null> { const entity: ExternalToolEntity | null = await this._em.findOne(this.entityName, { name }); if (entity !== null) { @@ -1694,7 +1377,7 @@

    return domainObject; } - mapDOToEntityProperties(entityDO: ExternalTool): IExternalToolProperties { + mapDOToEntityProperties(entityDO: ExternalTool): EntityData<ExternalToolEntity> { const entity = ExternalToolRepoMapper.mapDOToEntityProperties(entityDO); return entity; diff --git a/injectables/LegacySchoolRepo.html b/injectables/LegacySchoolRepo.html index 91cd2949df4..4e60f5899e3 100644 --- a/injectables/LegacySchoolRepo.html +++ b/injectables/LegacySchoolRepo.html @@ -156,9 +156,6 @@

    Methods
    @@ -306,79 +291,6 @@

    Constructor

    Methods

    - - - - - - - - - - - - - - - - - - - - - - -
    - - - entityFactory - - -
    -entityFactory(props: SchoolProperties) -
    -
    Inherited from BaseDORepo -
    -
    -
    Defined in BaseDORepo:40 -
    -
    - -
    - Parameters : - - - - - - - - - - - - - - - - - - - -
    NameTypeOptional
    props - SchoolProperties - - No -
    -
    -
    - Returns : SchoolEntity - -
    -
    - -
    -
    @@ -555,7 +467,7 @@

    @@ -592,7 +504,7 @@

    -
    Defined in BaseDORepo:61 +
    Defined in BaseDORepo:57
    - Returns : SchoolProperties + Returns : EntityData<SchoolEntity>
    @@ -628,7 +540,7 @@

    -
    Defined in BaseDORepo:44 +
    Defined in BaseDORepo:40
    @@ -679,93 +591,19 @@

    - + Private - createEntity - - - - - - - - createEntity(domainObject: DO) - - - - - - -
    Inherited from BaseDORepo -
    - - - - -
    Defined in BaseDORepo:44 -
    - - - - - - - -
    - Parameters : - - - - - - - - - - - - - - - - - - - -
    NameTypeOptional
    domainObject - DO - - No -
    -
    -
    - Returns : E - -
    -
    - -
    - - - - - - - - @@ -778,7 +616,7 @@

    @@ -815,7 +653,7 @@

    - - - Protected - createNewEntityFromDO - + Async + createOrUpdateEntity +
    - createNewEntityFromDO(domainObject: DO) + createOrUpdateEntity(domainObject: DO)
    -
    Defined in BaseDORepo:65 +
    Defined in BaseDORepo:32

    - Returns : E + Returns : Promise<DO>
    @@ -853,7 +691,7 @@

    -
    Defined in BaseDORepo:87 +
    Defined in BaseDORepo:61
    @@ -933,7 +771,7 @@

    -
    Defined in BaseDORepo:100 +
    Defined in BaseDORepo:78
    @@ -980,81 +818,6 @@

    - - - - - - - - - - - - - - - - - - - - - - -
    - - - Private - deleteEntityById - - -
    - - deleteEntityById(id: EntityId) -
    -
    Inherited from BaseDORepo -
    -
    -
    Defined in BaseDORepo:113 -
    -
    - -
    - Parameters : - - - - - - - - - - - - - - - - - - - -
    NameTypeOptional
    id - EntityId - - No -
    -
    -
    - Returns : Promise<number> - -
    -
    - -
    -
    @@ -1083,7 +846,7 @@

    @@ -1145,7 +908,7 @@

    @@ -1158,7 +921,7 @@

    @@ -1182,9 +945,9 @@

    - + @@ -1235,7 +998,7 @@

    @@ -1257,7 +1020,7 @@

    - + @@ -1297,7 +1060,7 @@

    @@ -1310,7 +1073,7 @@

    @@ -1332,7 +1095,7 @@

    - + @@ -1357,82 +1120,6 @@

    -
    Defined in BaseDORepo:118 +
    Defined in BaseDORepo:90
    - removeProtectedEntityFields(entity: E) + removeProtectedEntityFields(entityData: EntityData)
    -
    Defined in BaseDORepo:79 +
    Defined in BaseDORepo:98
    entityentityData - E + EntityData<E> @@ -1222,7 +985,7 @@

    - save(entityDo: DO) + save(domainObject: DO)
    -
    Defined in BaseDORepo:21 +
    Defined in BaseDORepo:19
    entityDodomainObject DO
    - saveAll(entityDos: DO[]) + saveAll(domainObjects: DO[])
    -
    Defined in BaseDORepo:26 +
    Defined in BaseDORepo:24
    entityDosdomainObjects DO[]
    - - - - - - - - - - - - - - - - - - - - - - -
    - - - Private - Async - updateEntity - - -
    - - updateEntity(domainObject: DO) -
    -
    Inherited from BaseDORepo -
    -
    -
    Defined in BaseDORepo:52 -
    -
    - -
    - Parameters : - - - - - - - - - - - - - - - - - - - -
    NameTypeOptional
    domainObject - DO - - No -
    -
    -
    - Returns : Promise<E> - -
    -
    - -
    -

    @@ -1466,11 +1153,11 @@

    -
    import { EntityName } from '@mikro-orm/core';
    +        
    import { EntityData, EntityName } from '@mikro-orm/core';
     import { EntityManager } from '@mikro-orm/mongodb';
     import { Injectable, InternalServerErrorException } from '@nestjs/common';
     import { LegacySchoolDo } from '@shared/domain/domainobject';
    -import { SchoolEntity, SchoolProperties, SystemEntity, UserLoginMigrationEntity } from '@shared/domain/entity';
    +import { SchoolEntity, SystemEntity, UserLoginMigrationEntity } from '@shared/domain/entity';
     import { EntityId } from '@shared/domain/types';
     import { LegacyLogger } from '@src/core/logger';
     import { BaseDORepo } from '../base.do.repo';
    @@ -1479,7 +1166,7 @@ 

    * @deprecated because it uses the deprecated LegacySchoolDo. */ @Injectable() -export class LegacySchoolRepo extends BaseDORepo<LegacySchoolDo, SchoolEntity, SchoolProperties> { +export class LegacySchoolRepo extends BaseDORepo<LegacySchoolDo, SchoolEntity> { constructor(protected readonly _em: EntityManager, protected readonly logger: LegacyLogger) { super(_em, logger); } @@ -1505,10 +1192,6 @@

    return schoolDo; } - entityFactory(props: SchoolProperties): SchoolEntity { - return new SchoolEntity(props); - } - mapEntityToDO(entity: SchoolEntity): LegacySchoolDo { return new LegacySchoolDo({ id: entity.id, @@ -1526,7 +1209,7 @@

    }); } - mapDOToEntityProperties(entityDO: LegacySchoolDo): SchoolProperties { + mapDOToEntityProperties(entityDO: LegacySchoolDo): EntityData<SchoolEntity> { return { externalId: entityDO.externalId, features: entityDO.features, diff --git a/injectables/LtiToolRepo.html b/injectables/LtiToolRepo.html index 5c32a47bd1a..db8f437763f 100644 --- a/injectables/LtiToolRepo.html +++ b/injectables/LtiToolRepo.html @@ -148,9 +148,6 @@

    Methods
    @@ -244,79 +229,6 @@
    Accessors

    Methods

    - - - - - - - - - - - - - - - - - - - - - - -
    - - - entityFactory - - -
    -entityFactory(props: ILtiToolProperties) -
    -
    Inherited from BaseDORepo -
    -
    -
    Defined in BaseDORepo:13 -
    -
    - -
    - Parameters : - - - - - - - - - - - - - - - - - - - -
    NameTypeOptional
    props - ILtiToolProperties - - No -
    -
    -
    - Returns : LtiTool - -
    -
    - -
    -
    @@ -339,8 +251,8 @@

    @@ -420,8 +332,8 @@

    @@ -489,8 +401,8 @@

    @@ -564,7 +476,7 @@

    @@ -601,7 +513,7 @@

    - +
    - +
    - +
    -
    Defined in BaseDORepo:69 +
    Defined in BaseDORepo:65
    - Returns : ILtiToolProperties + Returns : EntityData<LtiTool>
    @@ -639,7 +551,7 @@

    -
    Defined in BaseDORepo:43 +
    Defined in BaseDORepo:39
    @@ -690,93 +602,19 @@

    - + Private - createEntity - - - - - - - - createEntity(domainObject: DO) - - - - - - -
    Inherited from BaseDORepo -
    - - - - -
    Defined in BaseDORepo:44 -
    - - - - - - - -
    - Parameters : - - - - - - - - - - - - - - - - - - - -
    NameTypeOptional
    domainObject - DO - - No -
    -
    -
    - Returns : E - -
    -
    - -
    - - - - - - - - @@ -789,7 +627,7 @@

    @@ -826,7 +664,7 @@

    - - - Protected - createNewEntityFromDO - + Async + createOrUpdateEntity +
    - createNewEntityFromDO(domainObject: DO) + createOrUpdateEntity(domainObject: DO)
    -
    Defined in BaseDORepo:65 +
    Defined in BaseDORepo:32

    - Returns : E + Returns : Promise<DO>
    @@ -864,7 +702,7 @@

    -
    Defined in BaseDORepo:87 +
    Defined in BaseDORepo:61
    @@ -944,7 +782,7 @@

    -
    Defined in BaseDORepo:100 +
    Defined in BaseDORepo:78
    @@ -991,81 +829,6 @@

    - - - - - - - - - - - - - - - - - - - - - - -
    - - - Private - deleteEntityById - - -
    - - deleteEntityById(id: EntityId) -
    -
    Inherited from BaseDORepo -
    -
    -
    Defined in BaseDORepo:113 -
    -
    - -
    - Parameters : - - - - - - - - - - - - - - - - - - - -
    NameTypeOptional
    id - EntityId - - No -
    -
    -
    - Returns : Promise<number> - -
    -
    - -
    -
    @@ -1094,7 +857,7 @@

    @@ -1156,7 +919,7 @@

    @@ -1169,7 +932,7 @@

    @@ -1193,9 +956,9 @@

    - + @@ -1246,7 +1009,7 @@

    @@ -1268,7 +1031,7 @@

    - + @@ -1308,7 +1071,7 @@

    @@ -1321,7 +1084,7 @@

    @@ -1343,7 +1106,7 @@

    - + @@ -1368,82 +1131,6 @@

    -
    Defined in BaseDORepo:118 +
    Defined in BaseDORepo:90
    - removeProtectedEntityFields(entity: E) + removeProtectedEntityFields(entityData: EntityData)
    -
    Defined in BaseDORepo:79 +
    Defined in BaseDORepo:98
    entityentityData - E + EntityData<E> @@ -1233,7 +996,7 @@

    - save(entityDo: DO) + save(domainObject: DO)
    -
    Defined in BaseDORepo:21 +
    Defined in BaseDORepo:19
    entityDodomainObject DO
    - saveAll(entityDos: DO[]) + saveAll(domainObjects: DO[])
    -
    Defined in BaseDORepo:26 +
    Defined in BaseDORepo:24
    entityDosdomainObjects DO[]
    - - - - - - - - - - - - - - - - - - - - - - -
    - - - Private - Async - updateEntity - - -
    - - updateEntity(domainObject: DO) -
    -
    Inherited from BaseDORepo -
    -
    -
    Defined in BaseDORepo:52 -
    -
    - -
    - Parameters : - - - - - - - - - - - - - - - - - - - -
    NameTypeOptional
    domainObject - DO - - No -
    -
    -
    - Returns : Promise<E> - -
    -
    - -
    -

    @@ -1477,22 +1164,18 @@

    -
    import { EntityName, NotFoundError } from '@mikro-orm/core';
    +        
    import { EntityData, EntityName, NotFoundError } from '@mikro-orm/core';
     import { Injectable } from '@nestjs/common';
     import { LtiToolDO } from '@shared/domain/domainobject/ltitool.do';
    -import { ILtiToolProperties, LtiPrivacyPermission, LtiTool } from '@shared/domain/entity';
    +import { LtiPrivacyPermission, LtiTool } from '@shared/domain/entity';
     import { BaseDORepo } from '@shared/repo/base.do.repo';
     
     @Injectable()
    -export class LtiToolRepo extends BaseDORepo<LtiToolDO, LtiTool, ILtiToolProperties> {
    +export class LtiToolRepo extends BaseDORepo<LtiToolDO, LtiTool> {
     	get entityName(): EntityName<LtiTool> {
     		return LtiTool;
     	}
     
    -	entityFactory(props: ILtiToolProperties): LtiTool {
    -		return new LtiTool(props);
    -	}
    -
     	async findByName(name: string): Promise<LtiToolDO[]> {
     		const entities: LtiTool[] = await this._em.find(LtiTool, { name });
     		if (entities.length === 0) {
    @@ -1545,7 +1228,7 @@ 

    }); } - protected mapDOToEntityProperties(entityDO: LtiToolDO): ILtiToolProperties { + protected mapDOToEntityProperties(entityDO: LtiToolDO): EntityData<LtiTool> { return { name: entityDO.name, url: entityDO.url, diff --git a/injectables/SchoolExternalToolRepo.html b/injectables/SchoolExternalToolRepo.html index 362e220c809..47e141aefad 100644 --- a/injectables/SchoolExternalToolRepo.html +++ b/injectables/SchoolExternalToolRepo.html @@ -156,9 +156,6 @@

    Methods
    Async deleteByExternalToolId -
  • - entityFactory -
  • Async find @@ -179,11 +176,8 @@
    Methods
  • Private - createEntity -
  • -
  • - Protected - createNewEntityFromDO + Async + createOrUpdateEntity
  • Async @@ -193,10 +187,6 @@
    Methods
    Async deleteById
  • -
  • - Private - deleteEntityById -
  • Async findById @@ -213,11 +203,6 @@
    Methods
    Async saveAll
  • -
  • - Private - Async - updateEntity -
  • @@ -255,7 +240,7 @@

    Constructor

    - + @@ -332,8 +317,8 @@

    - + @@ -401,8 +386,8 @@

    - + @@ -448,79 +433,6 @@

    - - - - - - - - - - - - - - - - - - - - - - -
    - - - entityFactory - - -
    -entityFactory(props: SchoolExternalToolProperties) -
    -
    Inherited from BaseDORepo -
    -
    -
    Defined in BaseDORepo:28 -
    -
    - -
    - Parameters : - - - - - - - - - - - - - - - - - - - -
    NameTypeOptional
    props - SchoolExternalToolProperties - - No -
    -
    -
    - Returns : SchoolExternalToolEntity - -
    -
    - -
    -
    @@ -543,8 +455,8 @@

    @@ -612,8 +524,8 @@

    @@ -681,8 +593,8 @@

    @@ -754,7 +666,7 @@

    @@ -791,7 +703,7 @@

    - +
    - +
    - +
    -
    Defined in BaseDORepo:85 +
    Defined in BaseDORepo:77

    - Returns : SchoolExternalToolProperties + Returns : EntityData<SchoolExternalToolEntity>
    @@ -827,7 +739,7 @@

    -
    Defined in BaseDORepo:75 +
    Defined in BaseDORepo:67
    @@ -878,93 +790,19 @@

    - + Private - createEntity - - - - - - - - createEntity(domainObject: DO) - - - - - - -
    Inherited from BaseDORepo -
    - - - - -
    Defined in BaseDORepo:44 -
    - - - - - - - -
    - Parameters : - - - - - - - - - - - - - - - - - - - -
    NameTypeOptional
    domainObject - DO - - No -
    -
    -
    - Returns : E - -
    -
    - -
    - - - - - - - - @@ -977,7 +815,7 @@

    @@ -1014,7 +852,7 @@

    - - - Protected - createNewEntityFromDO - + Async + createOrUpdateEntity +
    - createNewEntityFromDO(domainObject: DO) + createOrUpdateEntity(domainObject: DO)
    -
    Defined in BaseDORepo:65 +
    Defined in BaseDORepo:32

    - Returns : E + Returns : Promise<DO>
    @@ -1052,7 +890,7 @@

    -
    Defined in BaseDORepo:87 +
    Defined in BaseDORepo:61
    @@ -1132,7 +970,7 @@

    -
    Defined in BaseDORepo:100 +
    Defined in BaseDORepo:78
    @@ -1179,81 +1017,6 @@

    - - - - - - - - - - - - - - - - - - - - - - -
    - - - Private - deleteEntityById - - -
    - - deleteEntityById(id: EntityId) -
    -
    Inherited from BaseDORepo -
    -
    -
    Defined in BaseDORepo:113 -
    -
    - -
    - Parameters : - - - - - - - - - - - - - - - - - - - -
    NameTypeOptional
    id - EntityId - - No -
    -
    -
    - Returns : Promise<number> - -
    -
    - -
    -
    @@ -1282,7 +1045,7 @@

    @@ -1344,7 +1107,7 @@

    @@ -1357,7 +1120,7 @@

    @@ -1381,9 +1144,9 @@

    - + @@ -1434,7 +1197,7 @@

    @@ -1456,7 +1219,7 @@

    - + @@ -1496,7 +1259,7 @@

    @@ -1509,7 +1272,7 @@

    @@ -1531,7 +1294,7 @@

    - + @@ -1556,82 +1319,6 @@

    -
    Defined in BaseDORepo:118 +
    Defined in BaseDORepo:90
    - removeProtectedEntityFields(entity: E) + removeProtectedEntityFields(entityData: EntityData)
    -
    Defined in BaseDORepo:79 +
    Defined in BaseDORepo:98
    entityentityData - E + EntityData<E> @@ -1421,7 +1184,7 @@

    - save(entityDo: DO) + save(domainObject: DO)
    -
    Defined in BaseDORepo:21 +
    Defined in BaseDORepo:19
    entityDodomainObject DO
    - saveAll(entityDos: DO[]) + saveAll(domainObjects: DO[])
    -
    Defined in BaseDORepo:26 +
    Defined in BaseDORepo:24
    entityDosdomainObjects DO[]
    - - - - - - - - - - - - - - - - - - - - - - -
    - - - Private - Async - updateEntity - - -
    - - updateEntity(domainObject: DO) -
    -
    Inherited from BaseDORepo -
    -
    -
    Defined in BaseDORepo:52 -
    -
    - -
    - Parameters : - - - - - - - - - - - - - - - - - - - -
    NameTypeOptional
    domainObject - DO - - No -
    -
    -
    - Returns : Promise<E> - -
    -
    - -
    -

    @@ -1654,7 +1341,7 @@

    - + @@ -1665,11 +1352,11 @@

    -
    import { EntityName } from '@mikro-orm/core';
    +        
    import { EntityData, EntityName } from '@mikro-orm/core';
     import { EntityManager } from '@mikro-orm/mongodb';
     import { ExternalToolEntity } from '@modules/tool/external-tool/entity';
     import { SchoolExternalTool } from '@modules/tool/school-external-tool/domain';
    -import { SchoolExternalToolEntity, SchoolExternalToolProperties } from '@modules/tool/school-external-tool/entity';
    +import { SchoolExternalToolEntity } from '@modules/tool/school-external-tool/entity';
     import { SchoolExternalToolQuery } from '@modules/tool/school-external-tool/uc/dto/school-external-tool.types';
     import { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';
     import { SchoolEntity } from '@shared/domain/entity';
    @@ -1679,11 +1366,7 @@ 

    import { SchoolExternalToolScope } from './school-external-tool.scope'; @Injectable() -export class SchoolExternalToolRepo extends BaseDORepo< - SchoolExternalTool, - SchoolExternalToolEntity, - SchoolExternalToolProperties -> { +export class SchoolExternalToolRepo extends BaseDORepo<SchoolExternalTool, SchoolExternalToolEntity> { constructor(protected readonly _em: EntityManager, protected readonly logger: LegacyLogger) { super(_em, logger); } @@ -1692,10 +1375,6 @@

    return SchoolExternalToolEntity; } - entityFactory(props: SchoolExternalToolProperties): SchoolExternalToolEntity { - return new SchoolExternalToolEntity(props); - } - async findByExternalToolId(toolId: string): Promise<SchoolExternalTool[]> { const entities: SchoolExternalToolEntity[] = await this._em.find(this.entityName, { tool: toolId }); const domainObjects: SchoolExternalTool[] = entities.map((entity: SchoolExternalToolEntity): SchoolExternalTool => { @@ -1749,7 +1428,7 @@

    }); } - mapDOToEntityProperties(entityDO: SchoolExternalTool): SchoolExternalToolProperties { + mapDOToEntityProperties(entityDO: SchoolExternalTool): EntityData<SchoolExternalToolEntity> { return { school: this._em.getReference(SchoolEntity, entityDO.schoolId), tool: this._em.getReference(ExternalToolEntity, entityDO.toolId), diff --git a/injectables/ShareTokenRepo.html b/injectables/ShareTokenRepo.html index 61503f0aa0d..7a5c4d24965 100644 --- a/injectables/ShareTokenRepo.html +++ b/injectables/ShareTokenRepo.html @@ -148,9 +148,6 @@

    Methods
    @@ -236,79 +221,6 @@
    Accessors

    Methods

    - - - - - - - - - - - - - - - - - - - - - - -
    - - - entityFactory - - -
    -entityFactory(props: ShareTokenProperties) -
    -
    Inherited from BaseDORepo -
    -
    -
    Defined in BaseDORepo:13 -
    -
    - -
    - Parameters : - - - - - - - - - - - - - - - - - - - -
    NameTypeOptional
    props - ShareTokenProperties - - No -
    -
    -
    - Returns : ShareToken - -
    -
    - -
    -
    @@ -331,8 +243,8 @@

    @@ -406,7 +318,7 @@

    @@ -443,7 +355,7 @@

    - +
    -
    Defined in BaseDORepo:46 +
    Defined in BaseDORepo:43
    @@ -481,7 +393,7 @@

    -
    Defined in BaseDORepo:25 +
    Defined in BaseDORepo:21
    @@ -532,93 +444,19 @@

    - + Private - createEntity - - - - - - - - createEntity(domainObject: DO) - - - - - - -
    Inherited from BaseDORepo -
    - - - - -
    Defined in BaseDORepo:44 -
    - - - - - - - -
    - Parameters : - - - - - - - - - - - - - - - - - - - -
    NameTypeOptional
    domainObject - DO - - No -
    -
    -
    - Returns : E - -
    -
    - -
    - - - - - - - - @@ -631,7 +469,7 @@

    @@ -668,7 +506,7 @@

    - - - Protected - createNewEntityFromDO - + Async + createOrUpdateEntity +
    - createNewEntityFromDO(domainObject: DO) + createOrUpdateEntity(domainObject: DO)
    -
    Defined in BaseDORepo:65 +
    Defined in BaseDORepo:32

    - Returns : E + Returns : Promise<DO>
    @@ -706,7 +544,7 @@

    -
    Defined in BaseDORepo:87 +
    Defined in BaseDORepo:61
    @@ -786,7 +624,7 @@

    -
    Defined in BaseDORepo:100 +
    Defined in BaseDORepo:78
    @@ -833,81 +671,6 @@

    - - - - - - - - - - - - - - - - - - - - - - -
    - - - Private - deleteEntityById - - -
    - - deleteEntityById(id: EntityId) -
    -
    Inherited from BaseDORepo -
    -
    -
    Defined in BaseDORepo:113 -
    -
    - -
    - Parameters : - - - - - - - - - - - - - - - - - - - -
    NameTypeOptional
    id - EntityId - - No -
    -
    -
    - Returns : Promise<number> - -
    -
    - -
    -
    @@ -936,7 +699,7 @@

    @@ -998,7 +761,7 @@

    @@ -1011,7 +774,7 @@

    @@ -1035,9 +798,9 @@

    - + @@ -1088,7 +851,7 @@

    @@ -1110,7 +873,7 @@

    - + @@ -1150,7 +913,7 @@

    @@ -1163,7 +926,7 @@

    @@ -1185,7 +948,7 @@

    - + @@ -1210,82 +973,6 @@

    -
    Defined in BaseDORepo:118 +
    Defined in BaseDORepo:90
    - removeProtectedEntityFields(entity: E) + removeProtectedEntityFields(entityData: EntityData)
    -
    Defined in BaseDORepo:79 +
    Defined in BaseDORepo:98
    entityentityData - E + EntityData<E> @@ -1075,7 +838,7 @@

    - save(entityDo: DO) + save(domainObject: DO)
    -
    Defined in BaseDORepo:21 +
    Defined in BaseDORepo:19
    entityDodomainObject DO
    - saveAll(entityDos: DO[]) + saveAll(domainObjects: DO[])
    -
    Defined in BaseDORepo:26 +
    Defined in BaseDORepo:24
    entityDosdomainObjects DO[]
    - - - - - - - - - - - - - - - - - - - - - - -
    - - - Private - Async - updateEntity - - -
    - - updateEntity(domainObject: DO) -
    -
    Inherited from BaseDORepo -
    -
    -
    Defined in BaseDORepo:52 -
    -
    - -
    - Parameters : - - - - - - - - - - - - - - - - - - - -
    NameTypeOptional
    domainObject - DO - - No -
    -
    -
    - Returns : Promise<E> - -
    -
    - -
    -

    @@ -1319,22 +1006,18 @@

    -
    import { EntityName } from '@mikro-orm/core';
    +        
    import { EntityData, EntityName } from '@mikro-orm/core';
     import { Injectable } from '@nestjs/common';
     import { BaseDORepo } from '@shared/repo/base.do.repo';
     import { ShareTokenContext, ShareTokenDO, ShareTokenPayload, ShareTokenString } from '../domainobject/share-token.do';
    -import { ShareToken, ShareTokenProperties } from '../entity/share-token.entity';
    +import { ShareToken } from '../entity/share-token.entity';
     
     @Injectable()
    -export class ShareTokenRepo extends BaseDORepo<ShareTokenDO, ShareToken, ShareTokenProperties> {
    +export class ShareTokenRepo extends BaseDORepo<ShareTokenDO, ShareToken> {
     	get entityName(): EntityName<ShareToken> {
     		return ShareToken;
     	}
     
    -	entityFactory(props: ShareTokenProperties): ShareToken {
    -		return new ShareToken(props);
    -	}
    -
     	async findOneByToken(token: ShareTokenString): Promise<ShareTokenDO> {
     		const entity = await this._em.findOneOrFail(ShareToken, { token });
     
    @@ -1355,6 +1038,7 @@ 

    : undefined; const domainObject = new ShareTokenDO({ + id: entity.id, token: entity.token, payload, context, @@ -1364,8 +1048,8 @@

    return domainObject; } - protected mapDOToEntityProperties(domainObject: ShareTokenDO): ShareTokenProperties { - const properties: ShareTokenProperties = { + protected mapDOToEntityProperties(domainObject: ShareTokenDO): EntityData<ShareToken> { + const properties = { token: domainObject.token, parentType: domainObject.payload.parentType, parentId: domainObject.payload.parentId, diff --git a/injectables/UserDORepo.html b/injectables/UserDORepo.html index 50b587c1ea4..ff363efb0a2 100644 --- a/injectables/UserDORepo.html +++ b/injectables/UserDORepo.html @@ -152,9 +152,6 @@

    Methods
    Private createQueryOrderMap -
  • - entityFactory -
  • Async find @@ -188,11 +185,8 @@
    Methods
  • Private - createEntity -
  • -
  • - Protected - createNewEntityFromDO + Async + createOrUpdateEntity
  • Async @@ -202,10 +196,6 @@
    Methods
    Async deleteById
  • -
  • - Private - deleteEntityById -
  • Private removeProtectedEntityFields @@ -218,11 +208,6 @@
    Methods
    Async saveAll
  • -
  • - Private - Async - updateEntity -
  • @@ -277,8 +262,8 @@

    - + @@ -324,79 +309,6 @@

    - - - - - - - - - - - - - - - - - - - - - - -
    - - - entityFactory - - -
    -entityFactory(props: UserProperties) -
    -
    Inherited from BaseDORepo -
    -
    -
    Defined in BaseDORepo:19 -
    -
    - -
    - Parameters : - - - - - - - - - - - - - - - - - - - -
    NameTypeOptional
    props - UserProperties - - No -
    -
    -
    - Returns : User - -
    -
    - -
    -
    @@ -419,8 +331,8 @@

    @@ -500,8 +412,8 @@

    @@ -581,8 +493,8 @@

    @@ -668,7 +580,7 @@

    @@ -754,8 +666,8 @@

    @@ -844,7 +756,7 @@

    @@ -881,7 +793,7 @@

    - +
    - +
    - +
    -
    Defined in BaseDORepo:50 +
    Defined in BaseDORepo:46
    - +
    -
    Defined in BaseDORepo:131 +
    Defined in BaseDORepo:127

    - Returns : UserProperties + Returns : EntityData<User>
    @@ -917,7 +829,7 @@

    -
    Defined in BaseDORepo:97 +
    Defined in BaseDORepo:93
    @@ -987,8 +899,8 @@

    - + @@ -1038,93 +950,19 @@

    - + Private - createEntity - - - - - - - - createEntity(domainObject: DO) - - - - - - -
    Inherited from BaseDORepo -
    - - - - -
    Defined in BaseDORepo:44 -
    - - - - - - - -
    - Parameters : - - - - - - - - - - - - - - - - - - - -
    NameTypeOptional
    domainObject - DO - - No -
    -
    -
    - Returns : E - -
    -
    - -
    - - - - - - - - @@ -1137,7 +975,7 @@

    @@ -1174,7 +1012,7 @@

    - - - Protected - createNewEntityFromDO - + Async + createOrUpdateEntity +
    - createNewEntityFromDO(domainObject: DO) + createOrUpdateEntity(domainObject: DO)
    -
    Defined in BaseDORepo:65 +
    Defined in BaseDORepo:32

    - Returns : E + Returns : Promise<DO>
    @@ -1212,7 +1050,7 @@

    -
    Defined in BaseDORepo:87 +
    Defined in BaseDORepo:61
    @@ -1292,7 +1130,7 @@

    -
    Defined in BaseDORepo:100 +
    Defined in BaseDORepo:78
    @@ -1339,81 +1177,6 @@

    - - - - - - - - - - - - - - - - - - - - - - -
    - - - Private - deleteEntityById - - -
    - - deleteEntityById(id: EntityId) -
    -
    Inherited from BaseDORepo -
    -
    -
    Defined in BaseDORepo:113 -
    -
    - -
    - Parameters : - - - - - - - - - - - - - - - - - - - -
    NameTypeOptional
    id - EntityId - - No -
    -
    -
    - Returns : Promise<number> - -
    -
    - -
    -
    @@ -1429,7 +1192,7 @@

    @@ -1442,7 +1205,7 @@

    @@ -1466,9 +1229,9 @@

    - + @@ -1519,7 +1282,7 @@

    @@ -1541,7 +1304,7 @@

    - + @@ -1581,7 +1344,7 @@

    @@ -1594,7 +1357,7 @@

    @@ -1616,7 +1379,7 @@

    - + @@ -1641,82 +1404,6 @@

    - removeProtectedEntityFields(entity: E) + removeProtectedEntityFields(entityData: EntityData)
    -
    Defined in BaseDORepo:79 +
    Defined in BaseDORepo:98
    entityentityData - E + EntityData<E> @@ -1506,7 +1269,7 @@

    - save(entityDo: DO) + save(domainObject: DO)
    -
    Defined in BaseDORepo:21 +
    Defined in BaseDORepo:19
    entityDodomainObject DO
    - saveAll(entityDos: DO[]) + saveAll(domainObjects: DO[])
    -
    Defined in BaseDORepo:26 +
    Defined in BaseDORepo:24
    entityDosdomainObjects DO[]
    - - - - - - - - - - - - - - - - - - - - - - -
    - - - Private - Async - updateEntity - - -
    - - updateEntity(domainObject: DO) -
    -
    Inherited from BaseDORepo -
    -
    -
    Defined in BaseDORepo:52 -
    -
    - -
    - Parameters : - - - - - - - - - - - - - - - - - - - -
    NameTypeOptional
    domainObject - DO - - No -
    -
    -
    - Returns : Promise<E> - -
    -
    - -
    -

    @@ -1750,28 +1437,24 @@

    -
    import { EntityName, FilterQuery, QueryOrderMap } from '@mikro-orm/core';
    +        
    import { EntityData, EntityName, FilterQuery, QueryOrderMap } from '@mikro-orm/core';
     import { UserQuery } from '@modules/user/service/user-query.type';
     import { Injectable } from '@nestjs/common';
     import { EntityNotFoundError } from '@shared/common';
     import { Page, RoleReference } from '@shared/domain/domainobject';
     import { UserDO } from '@shared/domain/domainobject/user.do';
    -import { Role, SchoolEntity, SystemEntity, User, UserProperties } from '@shared/domain/entity';
    +import { Role, SchoolEntity, User } from '@shared/domain/entity';
     import { IFindOptions, Pagination, SortOrder, SortOrderMap } from '@shared/domain/interface';
     import { EntityId } from '@shared/domain/types';
     import { BaseDORepo, Scope } from '@shared/repo';
     import { UserScope } from './user.scope';
     
     @Injectable()
    -export class UserDORepo extends BaseDORepo<UserDO, User, UserProperties> {
    +export class UserDORepo extends BaseDORepo<UserDO, User> {
     	get entityName(): EntityName<User> {
     		return User;
     	}
     
    -	entityFactory(props: UserProperties): User {
    -		return new User(props);
    -	}
    -
     	async find(query: UserQuery, options?: IFindOptions<UserDO>) {
     		const pagination: Pagination = options?.pagination || {};
     		const order: QueryOrderMap<User> = this.createQueryOrderMap(options?.order || {});
    @@ -1839,7 +1522,7 @@ 

    const userEntitys: User[] = await this._em.find(User, { externalId }, { populate: ['school.systems'] }); const userEntity: User | undefined = userEntitys.find((user: User): boolean => { const { systems } = user.school; - return systems && !!systems.getItems().find((system: SystemEntity): boolean => system.id === systemId); + return systems && !!systems.getItems().find((system): boolean => system.id === systemId); }); const userDo: UserDO | null = userEntity ? this.mapEntityToDO(userEntity) : null; @@ -1880,7 +1563,7 @@

    return user; } - mapDOToEntityProperties(entityDO: UserDO): UserProperties { + mapDOToEntityProperties(entityDO: UserDO): EntityData<User> { return { email: entityDO.email, firstName: entityDO.firstName, diff --git a/injectables/UserLoginMigrationRepo.html b/injectables/UserLoginMigrationRepo.html index 80ab0bad5d8..2e192c0ebb5 100644 --- a/injectables/UserLoginMigrationRepo.html +++ b/injectables/UserLoginMigrationRepo.html @@ -148,9 +148,6 @@

    Methods
    @@ -239,7 +224,7 @@

    Constructor

    - + @@ -294,79 +279,6 @@

    Constructor

    Methods

    - - - - - - - - - - - - - - - - - - - - - - -
    - - - entityFactory - - -
    -entityFactory(props: IUserLoginMigration) -
    -
    Inherited from BaseDORepo -
    -
    -
    Defined in BaseDORepo:25 -
    -
    - -
    - Parameters : - - - - - - - - - - - - - - - - - - - -
    NameTypeOptional
    props - IUserLoginMigration - - No -
    -
    -
    - Returns : UserLoginMigrationEntity - -
    -
    - -
    -
    @@ -389,8 +301,8 @@

    @@ -462,7 +374,7 @@

    @@ -499,7 +411,7 @@

    - +
    -
    Defined in BaseDORepo:57 +
    Defined in BaseDORepo:49
    @@ -535,7 +447,7 @@

    -
    Defined in BaseDORepo:42 +
    Defined in BaseDORepo:34
    @@ -586,93 +498,19 @@

    - + Private - createEntity - - - - - - - - createEntity(domainObject: DO) - - - - - - -
    Inherited from BaseDORepo -
    - - - - -
    Defined in BaseDORepo:44 -
    - - - - - - - -
    - Parameters : - - - - - - - - - - - - - - - - - - - -
    NameTypeOptional
    domainObject - DO - - No -
    -
    -
    - Returns : E - -
    -
    - -
    - - - - - - - - @@ -685,7 +523,7 @@

    @@ -722,7 +560,7 @@

    - - - Protected - createNewEntityFromDO - + Async + createOrUpdateEntity +
    - createNewEntityFromDO(domainObject: DO) + createOrUpdateEntity(domainObject: DO)
    -
    Defined in BaseDORepo:65 +
    Defined in BaseDORepo:32

    - Returns : E + Returns : Promise<DO>
    @@ -760,7 +598,7 @@

    -
    Defined in BaseDORepo:87 +
    Defined in BaseDORepo:61
    @@ -840,7 +678,7 @@

    -
    Defined in BaseDORepo:100 +
    Defined in BaseDORepo:78
    @@ -887,81 +725,6 @@

    - - - - - - - - - - - - - - - - - - - - - - -
    - - - Private - deleteEntityById - - -
    - - deleteEntityById(id: EntityId) -
    -
    Inherited from BaseDORepo -
    -
    -
    Defined in BaseDORepo:113 -
    -
    - -
    - Parameters : - - - - - - - - - - - - - - - - - - - -
    NameTypeOptional
    id - EntityId - - No -
    -
    -
    - Returns : Promise<number> - -
    -
    - -
    -
    @@ -990,7 +753,7 @@

    @@ -1052,7 +815,7 @@

    @@ -1065,7 +828,7 @@

    @@ -1089,9 +852,9 @@

    - + @@ -1142,7 +905,7 @@

    @@ -1164,7 +927,7 @@

    - + @@ -1204,7 +967,7 @@

    @@ -1217,7 +980,7 @@

    @@ -1239,7 +1002,7 @@

    - + @@ -1264,82 +1027,6 @@

    -
    Defined in BaseDORepo:118 +
    Defined in BaseDORepo:90
    - removeProtectedEntityFields(entity: E) + removeProtectedEntityFields(entityData: EntityData)
    -
    Defined in BaseDORepo:79 +
    Defined in BaseDORepo:98
    entityentityData - E + EntityData<E> @@ -1129,7 +892,7 @@

    - save(entityDo: DO) + save(domainObject: DO)
    -
    Defined in BaseDORepo:21 +
    Defined in BaseDORepo:19
    entityDodomainObject DO
    - saveAll(entityDos: DO[]) + saveAll(domainObjects: DO[])
    -
    Defined in BaseDORepo:26 +
    Defined in BaseDORepo:24
    entityDosdomainObjects DO[]
    - - - - - - - - - - - - - - - - - - - - - - -
    - - - Private - Async - updateEntity - - -
    - - updateEntity(domainObject: DO) -
    -
    Inherited from BaseDORepo -
    -
    -
    Defined in BaseDORepo:52 -
    -
    - -
    - Parameters : - - - - - - - - - - - - - - - - - - - -
    NameTypeOptional
    domainObject - DO - - No -
    -
    -
    - Returns : Promise<E> - -
    -
    - -
    -

    @@ -1362,7 +1049,7 @@

    - + @@ -1373,22 +1060,18 @@

    -
    import { EntityName } from '@mikro-orm/core';
    +        
    import { EntityData, EntityName } from '@mikro-orm/core';
     import { EntityManager } from '@mikro-orm/mongodb';
     import { Injectable } from '@nestjs/common';
     import { UserLoginMigrationDO } from '@shared/domain/domainobject';
     import { SchoolEntity, SystemEntity } from '@shared/domain/entity';
    -import { IUserLoginMigration, UserLoginMigrationEntity } from '@shared/domain/entity/user-login-migration.entity';
    +import { UserLoginMigrationEntity } from '@shared/domain/entity/user-login-migration.entity';
     import { EntityId } from '@shared/domain/types';
     import { LegacyLogger } from '@src/core/logger';
     import { BaseDORepo } from '../base.do.repo';
     
     @Injectable()
    -export class UserLoginMigrationRepo extends BaseDORepo<
    -	UserLoginMigrationDO,
    -	UserLoginMigrationEntity,
    -	IUserLoginMigration
    -> {
    +export class UserLoginMigrationRepo extends BaseDORepo<UserLoginMigrationDO, UserLoginMigrationEntity> {
     	constructor(protected readonly _em: EntityManager, protected readonly logger: LegacyLogger) {
     		super(_em, logger);
     	}
    @@ -1397,10 +1080,6 @@ 

    return UserLoginMigrationEntity; } - entityFactory(props: IUserLoginMigration): UserLoginMigrationEntity { - return new UserLoginMigrationEntity(props); - } - async findBySchoolId(schoolId: EntityId): Promise<UserLoginMigrationDO | null> { const userLoginMigration: UserLoginMigrationEntity | null = await this._em.findOne(UserLoginMigrationEntity, { school: schoolId, @@ -1429,8 +1108,8 @@

    return userLoginMigrationDO; } - mapDOToEntityProperties(entityDO: UserLoginMigrationDO): IUserLoginMigration { - const userLoginMigrationProps: IUserLoginMigration = { + mapDOToEntityProperties(entityDO: UserLoginMigrationDO): EntityData<UserLoginMigrationEntity> { + const userLoginMigrationProps: EntityData<UserLoginMigrationEntity> = { school: this._em.getReference(SchoolEntity, entityDO.schoolId), sourceSystem: entityDO.sourceSystemId ? this._em.getReference(SystemEntity, entityDO.sourceSystemId) : undefined, targetSystem: this._em.getReference(SystemEntity, entityDO.targetSystemId), diff --git a/injectables/VideoConferenceRepo.html b/injectables/VideoConferenceRepo.html index 9a121b0c21f..53fbaaa50b6 100644 --- a/injectables/VideoConferenceRepo.html +++ b/injectables/VideoConferenceRepo.html @@ -148,9 +148,6 @@

    Methods
    @@ -236,79 +221,6 @@
    Accessors

    Methods

    - - - - - - - - - - - - - - - - - - - - - - -
    - - - entityFactory - - -
    -entityFactory(props: IVideoConferenceProperties) -
    -
    Inherited from BaseDORepo -
    -
    -
    Defined in BaseDORepo:25 -
    -
    - -
    - Parameters : - - - - - - - - - - - - - - - - - - - -
    NameTypeOptional
    props - IVideoConferenceProperties - - No -
    -
    -
    - Returns : VideoConference - -
    -
    - -
    -
    @@ -331,8 +243,8 @@

    @@ -418,7 +330,7 @@

    @@ -455,7 +367,7 @@

    - +
    -
    Defined in BaseDORepo:51 +
    Defined in BaseDORepo:46
    @@ -493,7 +405,7 @@

    -
    Defined in BaseDORepo:38 +
    Defined in BaseDORepo:33
    @@ -544,93 +456,19 @@

    - + Private - createEntity - - - - - - - - createEntity(domainObject: DO) - - - - - - -
    Inherited from BaseDORepo -
    - - - - -
    Defined in BaseDORepo:44 -
    - - - - - - - -
    - Parameters : - - - - - - - - - - - - - - - - - - - -
    NameTypeOptional
    domainObject - DO - - No -
    -
    -
    - Returns : E - -
    -
    - -
    - - - - - - - - @@ -643,7 +481,7 @@

    @@ -680,7 +518,7 @@

    - - - Protected - createNewEntityFromDO - + Async + createOrUpdateEntity +
    - createNewEntityFromDO(domainObject: DO) + createOrUpdateEntity(domainObject: DO)
    -
    Defined in BaseDORepo:65 +
    Defined in BaseDORepo:32

    - Returns : E + Returns : Promise<DO>
    @@ -718,7 +556,7 @@

    -
    Defined in BaseDORepo:87 +
    Defined in BaseDORepo:61
    @@ -798,7 +636,7 @@

    -
    Defined in BaseDORepo:100 +
    Defined in BaseDORepo:78
    @@ -845,81 +683,6 @@

    - - - - - - - - - - - - - - - - - - - - - - -
    - - - Private - deleteEntityById - - -
    - - deleteEntityById(id: EntityId) -
    -
    Inherited from BaseDORepo -
    -
    -
    Defined in BaseDORepo:113 -
    -
    - -
    - Parameters : - - - - - - - - - - - - - - - - - - - -
    NameTypeOptional
    id - EntityId - - No -
    -
    -
    - Returns : Promise<number> - -
    -
    - -
    -
    @@ -948,7 +711,7 @@

    @@ -1010,7 +773,7 @@

    @@ -1023,7 +786,7 @@

    @@ -1047,9 +810,9 @@

    - + @@ -1100,7 +863,7 @@

    @@ -1122,7 +885,7 @@

    - + @@ -1162,7 +925,7 @@

    @@ -1175,7 +938,7 @@

    @@ -1197,7 +960,7 @@

    - + @@ -1222,82 +985,6 @@

    -
    Defined in BaseDORepo:118 +
    Defined in BaseDORepo:90
    - removeProtectedEntityFields(entity: E) + removeProtectedEntityFields(entityData: EntityData)
    -
    Defined in BaseDORepo:79 +
    Defined in BaseDORepo:98
    entityentityData - E + EntityData<E> @@ -1087,7 +850,7 @@

    - save(entityDo: DO) + save(domainObject: DO)
    -
    Defined in BaseDORepo:21 +
    Defined in BaseDORepo:19
    entityDodomainObject DO
    - saveAll(entityDos: DO[]) + saveAll(domainObjects: DO[])
    -
    Defined in BaseDORepo:26 +
    Defined in BaseDORepo:24
    entityDosdomainObjects DO[]
    - - - - - - - - - - - - - - - - - - - - - - -
    - - - Private - Async - updateEntity - - -
    - - updateEntity(domainObject: DO) -
    -
    Inherited from BaseDORepo -
    -
    -
    Defined in BaseDORepo:52 -
    -
    - -
    - Parameters : - - - - - - - - - - - - - - - - - - - -
    NameTypeOptional
    domainObject - DO - - No -
    -
    -
    - Returns : Promise<E> - -
    -
    - -
    -

    @@ -1320,7 +1007,7 @@

    - + @@ -1331,10 +1018,9 @@

    -
    import { EntityName, Loaded } from '@mikro-orm/core';
    +        
    import { EntityData, EntityName, Loaded } from '@mikro-orm/core';
     import { Injectable } from '@nestjs/common';
     import { VideoConferenceDO } from '@shared/domain/domainobject';
    -import { IVideoConferenceProperties } from '@shared/domain/entity';
     import { TargetModels, VideoConference } from '@shared/domain/entity/video-conference.entity';
     import { VideoConferenceScope } from '@shared/domain/interface';
     import { BaseDORepo } from '@shared/repo/base.do.repo';
    @@ -1350,15 +1036,11 @@ 

    }; @Injectable() -export class VideoConferenceRepo extends BaseDORepo<VideoConferenceDO, VideoConference, IVideoConferenceProperties> { +export class VideoConferenceRepo extends BaseDORepo<VideoConferenceDO, VideoConference> { get entityName(): EntityName<VideoConference> { return VideoConference; } - entityFactory(props: IVideoConferenceProperties): VideoConference { - return new VideoConference(props); - } - async findByScopeAndScopeId(scopeId: string, videoConferenceScope: VideoConferenceScope): Promise<VideoConferenceDO> { const entity: Loaded<VideoConference> = await this._em.findOneOrFail(VideoConference, { target: scopeId, @@ -1381,7 +1063,7 @@

    }); } - protected mapDOToEntityProperties(entityDO: VideoConferenceDO): IVideoConferenceProperties { + protected mapDOToEntityProperties(entityDO: VideoConferenceDO): EntityData<VideoConference> { return { target: entityDO.target, targetModel: TargetModelsMapping[entityDO.targetModel], diff --git a/interfaces/ExternalToolProps.html b/interfaces/ExternalToolProps.html index 10a2923a5ca..81ba5528986 100644 --- a/interfaces/ExternalToolProps.html +++ b/interfaces/ExternalToolProps.html @@ -629,6 +629,7 @@

    Properties

    import { BaseDO } from '@shared/domain/domainobject/base.do';
    +import { InternalServerErrorException } from '@nestjs/common';
     import { ToolVersion } from '../../common/interface';
     import { Oauth2ToolConfig, BasicToolConfig, Lti11ToolConfig, ExternalToolConfig } from './config';
     import { CustomParameter } from '../../common/domain';
    @@ -686,7 +687,15 @@ 

    Properties

    this.url = props.url; this.logoUrl = props.logoUrl; this.logo = props.logo; - this.config = props.config; + if (ExternalTool.isBasicConfig(props.config)) { + this.config = new BasicToolConfig(props.config); + } else if (ExternalTool.isOauth2Config(props.config)) { + this.config = new Oauth2ToolConfig(props.config); + } else if (ExternalTool.isLti11Config(props.config)) { + this.config = new Lti11ToolConfig(props.config); + } else { + throw new InternalServerErrorException(`Unknown tool config`); + } this.parameters = props.parameters; this.isHidden = props.isHidden; this.openNewTab = props.openNewTab; @@ -698,6 +707,10 @@

    Properties

    return this.version; } + static isBasicConfig(config: ExternalToolConfig): config is BasicToolConfig { + return ToolConfigType.BASIC === config.type; + } + static isOauth2Config(config: ExternalToolConfig): config is Oauth2ToolConfig { return ToolConfigType.OAUTH2 === config.type; } diff --git a/interfaces/SchoolProperties.html b/interfaces/SchoolProperties.html index de0f4cddac8..33bf26b312e 100644 --- a/interfaces/SchoolProperties.html +++ b/interfaces/SchoolProperties.html @@ -790,8 +790,6 @@

    Properties

    (userLoginMigration: UserLoginMigrationEntity) => userLoginMigration.school, { orphanRemoval: true, - nullable: true, - fieldName: 'userLoginMigrationId', } ) userLoginMigration?: UserLoginMigrationEntity; diff --git a/js/search/search_index.js b/js/search/search_index.js index c969363bb09..7e4ddc25ff7 100644 --- a/js/search/search_index.js +++ b/js/search/search_index.js @@ -1,4 +1,4 @@ var COMPODOC_SEARCH_INDEX = { - "index": {"version":"2.3.9","fields":["title","body"],"fieldVectors":[["title/classes/AbstractAccountService.html",[0,0.24,1,6.094]],["body/classes/AbstractAccountService.html",[0,0.173,1,6.628,2,0.534,3,0.01,4,0.01,5,0.005,6,5.028,7,0.071,8,0.872,9,6.762,10,3.034,11,5.951,12,3.424,13,5.327,14,6.628,15,6.628,16,6.628,17,6.628,18,3.846,19,6.628,20,6.628,21,6.628,22,6.997,23,6.997,24,6.997,25,6.628,26,2.94,27,0.527,28,5.028,29,1.027,30,0.001,31,0.75,32,0.167,33,0.616,34,1.292,35,1.551,36,3.016,37,5.951,38,5.028,39,2.511,40,3.666,41,5.028,42,5.327,43,5.028,44,6.628,45,5.028,46,6.628,47,0.968,48,4.455,49,3.796,50,5.028,51,5.452,52,3.822,53,5.536,54,6.628,55,2.604,56,5.364,57,5.028,58,3.282,59,2.345,60,6.628,61,5.028,62,2.994,63,6.997,64,7.949,65,5.028,66,7.062,67,6.628,68,5.028,69,6.628,70,4.621,71,5.028,72,3.457,73,6.997,74,5.795,75,7.555,76,6.997,77,4.868,78,5.152,79,6.628,80,5.658,81,6.997,82,7.149,83,2.642,84,5.028,85,6.095,86,6.997,87,4.563,88,5.028,89,6.997,90,5.028,91,6.997,92,8.405,93,5.028,94,2.544,95,0.104,96,1.331,97,2.059,98,3.025,99,1.031,100,1.754,101,0.007,102,4.005,103,0,104,0]],["title/classes/AbstractUrlHandler.html",[0,0.24,105,5.471]],["body/classes/AbstractUrlHandler.html",[0,0.249,2,0.768,3,0.014,4,0.014,5,0.007,7,0.102,8,1.131,9,5.534,27,0.469,29,0.852,30,0.001,31,0.623,32,0.155,33,0.511,35,1.287,47,0.979,95,0.112,101,0.009,103,0.001,104,0,105,7.715,106,8.359,107,8.126,108,10.106,109,12.449,110,4.68,111,5.693,112,0.766,113,5.115,114,9.02,115,7.715,116,7.952,117,7.715,118,8.751,119,6.693,120,7.715,121,7.227,122,2.043,123,7.952,124,7.227,125,2.649,126,7.715,127,6.558,128,7.227,129,2.163,130,1.976,131,5.656,132,6.693,133,7.227,134,2.553,135,1.555,136,9.795,137,7.227,138,7.227,139,7.227,140,7.227,141,3.099,142,2.637,143,7.227,144,7.227,145,2.699,146,4.928,147,9.795,148,1.179,149,9.795,150,7.227,151,7.227,152,6.34,153,1.191,154,6.077,155,3.107,156,6.693,157,1.663,158,2.672]],["title/interfaces/AcceptConsentRequestBody.html",[159,0.713,160,5.841]],["body/interfaces/AcceptConsentRequestBody.html",[3,0.017,4,0.017,5,0.008,7,0.126,30,0.001,32,0.174,33,0.661,47,1.008,55,2.474,95,0.103,101,0.012,103,0.001,104,0.001,112,0.883,122,2.577,159,0.924,160,9.5,161,2.135,162,6.231,163,8.326,164,6.733,165,7.3,166,12,167,11.368,168,12,169,10.207,170,10.207,171,8.701,172,4.802,173,7.476,174,6.13,175,7.561,176,4.548,177,7.888,178,7.3]],["title/interfaces/AcceptLoginRequestBody.html",[159,0.713,179,5.639]],["body/interfaces/AcceptLoginRequestBody.html",[3,0.017,4,0.017,5,0.008,7,0.127,30,0.001,32,0.173,33,0.667,47,1.019,55,2.481,77,8.369,101,0.012,103,0.001,104,0.001,112,0.887,122,2.585,159,0.93,161,2.149,162,6.273,163,8.382,165,7.349,169,10.231,170,10.231,179,9.21,180,3.864,181,11.396,182,11.396,183,4.972,184,12.029,185,4.258]],["title/classes/AcceptQuery.html",[0,0.24,186,5.639]],["body/classes/AcceptQuery.html",[0,0.409,2,1.034,3,0.018,4,0.018,5,0.009,7,0.137,27,0.383,30,0.001,32,0.121,95,0.146,101,0.013,103,0.001,104,0.001,112,0.927,122,2.475,157,2.24,180,5.065,186,9.632,187,6.689,188,9.732,189,7.864,190,1.747,191,9.732,192,6.528,193,5.155,194,4.64,195,2.595,196,3.924,197,3.298,198,9.732,199,6.58,200,2.981,201,4.607,202,2.235,203,7.967,204,9.732]],["title/entities/Account.html",[94,3.514,205,1.418]],["body/entities/Account.html",[0,0.231,3,0.013,4,0.013,5,0.006,7,0.162,27,0.524,30,0.001,32,0.168,33,0.648,39,3.189,47,0.929,48,5.657,49,4.555,51,5.118,82,8.403,83,3.355,87,5.363,94,4.697,95,0.122,96,2.459,97,2.738,101,0.012,103,0,104,0,112,0.834,122,1.937,176,5.397,190,2.389,195,3.079,196,4.335,197,2.581,205,1.896,206,2.18,207,6.686,208,6.706,209,8.661,210,6.873,211,7.27,212,6.686,213,6.686,214,6.686,215,6.686,216,6.686,217,6.686,218,6.686,219,5.192,220,6.686,221,5.006,222,6.686,223,4.184,224,1.951,225,3.566,226,3.029,227,8.598,228,1.213,229,2.644,230,4.425,231,1.16,232,1.811,233,2.086,234,5.127,235,5.622,236,6.191,237,6.191,238,5.127,239,5.622,240,6.191,241,6.191,242,3.519,243,4.202,244,4.899,245,5.428,246,6.191,247,6.191,248,5.006,249,5.622,250,5.865,251,6.191]],["title/modules/AccountApiModule.html",[252,1.835,253,5.841]],["body/modules/AccountApiModule.html",[0,0.299,3,0.016,4,0.016,5,0.008,30,0.001,95,0.157,101,0.011,103,0.001,104,0.001,252,3.207,253,12.123,254,3.119,255,3.303,256,3.388,257,3.375,258,3.363,259,4.415,260,4.107,261,8.661,262,8.661,263,8.661,264,9.693,265,6.239,266,12.498,267,11.349,268,8.204,269,4.315,270,3.327,271,3.257,272,8.021,273,5.444,274,4.611,275,10.651,276,4.315,277,1.25,278,8.021,279,3.635,280,8.661,281,8.661,282,8.661,283,8.021]],["title/classes/AccountByIdBodyParams.html",[0,0.24,284,6.094]],["body/classes/AccountByIdBodyParams.html",[0,0.363,2,0.854,3,0.015,4,0.015,5,0.007,7,0.113,27,0.461,30,0.001,31,0.589,32,0.146,33,0.609,47,0.881,51,5.621,87,6.651,95,0.142,101,0.011,103,0.001,104,0.001,112,0.822,122,2.193,153,2.181,157,2.696,190,2.103,194,5.175,195,2.894,196,4.376,197,3.678,199,5.831,200,2.462,202,1.846,208,7.364,284,9.223,285,10.45,286,8.037,287,8.037,288,10.513,289,6.085,290,3.232,291,8.037,292,8.037,293,8.037,294,8.037,295,8.037,296,3.246,297,8.535,298,3.477,299,4.566,300,4.756,301,5.178,302,9.735,303,6.759,304,3.968,305,6.759]],["title/classes/AccountByIdParams.html",[0,0.24,306,6.094]],["body/classes/AccountByIdParams.html",[0,0.414,2,1.055,3,0.019,4,0.019,5,0.009,7,0.14,27,0.391,30,0.001,32,0.124,34,2.349,47,0.851,94,6.074,95,0.137,101,0.013,103,0.001,104,0.001,112,0.939,157,2.284,190,1.781,194,4.696,195,2.626,196,3.971,197,3.338,200,3.04,202,2.279,285,10.096,296,3.136,299,4.679,306,10.533,307,7.272,308,7.272,309,9.925]],["title/interfaces/AccountConfig.html",[159,0.713,310,6.094]],["body/interfaces/AccountConfig.html",[3,0.02,4,0.02,5,0.01,7,0.148,30,0.001,32,0.155,55,2.648,101,0.014,103,0.001,104,0.001,112,0.97,122,2.758,159,1.078,161,2.492,272,9.719,310,10.891,311,6.851,312,11.987,313,12.653]],["title/controllers/AccountController.html",[275,6.094,314,2.658]],["body/controllers/AccountController.html",[0,0.118,3,0.007,4,0.007,5,0.003,7,0.048,8,0.645,10,1.375,27,0.38,29,0.741,30,0.001,31,0.541,32,0.177,33,0.444,34,1.652,35,1.478,36,2.503,87,4.856,94,6.788,95,0.116,100,1.195,101,0.004,103,0,104,0,148,0.957,157,3.253,190,1.734,193,5.131,194,3.196,202,0.786,228,0.621,230,4.686,266,6.557,274,1.431,275,4.903,277,0.494,283,3.171,284,7.169,290,2.792,306,9.919,314,1.311,315,3.424,316,1.652,317,2.768,318,6.212,319,6.212,320,7.081,321,7.081,322,8.172,323,7.081,324,3.424,325,6.389,326,4.889,327,3.424,328,4.185,329,6.46,330,11.127,331,4.702,332,8.172,333,7.93,334,8.273,335,3.699,336,7.081,337,7.257,338,7.383,339,3.464,340,8.057,341,8.945,342,7.709,343,10.104,344,7.081,345,8.121,346,8.482,347,5.793,348,3.424,349,6.495,350,3.424,351,3.424,352,3.424,353,3.424,354,7.169,355,3.424,356,6.486,357,6.267,358,6.634,359,5.175,360,5.12,361,3.424,362,5.589,363,3.424,364,3.424,365,4.314,366,7.169,367,3.424,368,5.589,369,4.903,370,5.175,371,2.962,372,6.212,373,5.589,374,2.417,375,3.424,376,4.095,377,3.424,378,3.424,379,5.41,380,3.424,381,3.424,382,3.424,383,7.169,384,3.424,385,4.828,386,3.424,387,3.424,388,3.504,389,2.235,390,6.009,391,8.166,392,1.79,393,1.69,394,3.424,395,1.842,396,3.424,397,3.424,398,1.855,399,3.424,400,1.02,401,5.401,402,4.729,403,4.887,404,3.424,405,3.424,406,3.424,407,2.373,408,3.424,409,2.179,410,3.424,411,2.564,412,1.515,413,2.081,414,2.827,415,1.947,416,3.171,417,1.915,418,3.424,419,3.424,420,3.424,421,3.424,422,3.424,423,3.424,424,3.424,425,3.424,426,3.424,427,3.424,428,3.424]],["title/classes/AccountDto.html",[0,0.24,66,4.534]],["body/classes/AccountDto.html",[0,0.237,2,0.73,3,0.013,4,0.013,5,0.006,7,0.097,26,2.521,27,0.551,29,0.527,30,0.001,31,0.385,32,0.174,33,0.657,34,1.851,39,2.618,47,0.867,48,4.643,51,4.539,64,11.124,66,7.982,82,7.451,83,3.68,87,4.756,94,3.475,95,0.108,99,1.408,101,0.009,103,0,104,0,112,0.74,122,1.433,176,4.786,190,2.432,208,5.946,209,7.68,210,6.095,228,2.43,231,1.642,232,2.563,300,2.629,429,6.869,430,4.45,431,4.64,432,7.955,433,0.848,434,6.869,435,2.332,436,4.128,437,6.869,438,6.869,439,6.869,440,6.361,441,6.869,442,7.68,443,6.869,444,8.76,445,6.869,446,6.869,447,6.869,448,6.361,449,6.869,450,8.76,451,6.869,452,6.869,453,6.869,454,5.576,455,6.869,456,6.869,457,3.809,458,2.748,459,3.615,460,4.175,461,4.683,462,4.175,463,4.683]],["title/classes/AccountEntityToDtoMapper.html",[0,0.24,464,5.841]],["body/classes/AccountEntityToDtoMapper.html",[0,0.274,2,0.844,3,0.015,4,0.015,5,0.007,7,0.112,8,1.204,27,0.459,29,0.893,30,0.001,31,0.653,32,0.145,33,0.536,34,1.358,35,1.35,39,2.197,48,3.898,51,3.81,55,2.333,66,8.773,82,6.256,87,3.993,94,7.097,95,0.133,98,7.007,99,1.628,101,0.01,103,0.001,104,0.001,135,1.362,148,1.153,153,1.309,176,4.018,205,2.525,208,4.992,209,6.448,210,5.117,230,5.256,430,3.266,431,3.405,464,8.772,465,10.042,466,7.942,467,4.016,468,10.431,469,10.431,470,8.468,471,10.431,472,7.942,473,10.431,474,7.942,475,7.354,476,8.772,477,7.942,478,2.224,479,6.678,480,5.819,481,7.942,482,7.354,483,6.967,484,5.704,485,6.967,486,7.354,487,7.354,488,6.967,489,6.678,490,7.942,491,7.354,492,7.354,493,7.942,494,10.431,495,7.942,496,7.942,497,7.942,498,7.354]],["title/classes/AccountFactory.html",[0,0.24,499,5.639]],["body/classes/AccountFactory.html",[0,0.16,2,0.493,3,0.009,4,0.009,5,0.004,7,0.065,8,0.821,26,1.997,27,0.52,29,1.02,30,0.001,31,0.716,32,0.168,33,0.588,34,1.884,35,1.405,39,1.967,47,0.504,48,2.277,49,3.927,51,3.41,55,2.296,59,3.241,87,2.332,94,2.347,95,0.119,99,0.951,101,0.011,103,0,104,0,112,0.556,113,4.39,127,4.839,129,3.54,130,3.235,135,1.364,148,0.856,153,1.172,157,1.988,172,3.021,185,2.442,192,2.552,205,2.132,206,2.318,227,4.296,228,1.29,231,1.234,290,2.469,326,4.854,374,3.074,407,3.215,433,0.572,436,3.84,467,2.069,478,1.299,499,7.015,500,4.639,501,7.207,502,5.371,503,7.107,504,7.107,505,3.942,506,5.371,507,5.341,508,3.942,509,3.942,510,3.942,511,3.88,512,4.399,513,4.792,514,6.213,515,5.701,516,6.993,517,2.594,518,7.107,519,4.639,520,7.107,521,4.639,522,2.573,523,3.942,524,2.594,525,5.062,526,5.208,527,4.099,528,4.899,529,3.911,530,2.573,531,2.425,532,4.087,533,2.477,534,2.425,535,2.573,536,2.594,537,4.717,538,2.573,539,7.171,540,4.153,541,6.56,542,2.594,543,4.192,544,2.573,545,2.594,546,2.573,547,2.594,548,2.573,549,2.882,550,2.71,551,2.573,552,6.014,553,2.594,554,2.573,555,3.942,556,3.596,557,3.942,558,2.594,559,2.495,560,2.459,561,2.082,562,2.573,563,2.573,564,2.573,565,2.594,566,2.594,567,1.763,568,2.573,569,1.444,570,2.594,571,2.811,572,2.573,573,2.594,574,2.615,575,2.661,576,2.736,577,4.233,578,3.715,579,1.34,580,4.639,581,4.07,582,4.639,583,7.107,584,4.639,585,3.399,586,4.296,587,4.639,588,4.639]],["title/injectables/AccountIdmToDtoMapper.html",[589,0.929,590,5.639]],["body/injectables/AccountIdmToDtoMapper.html",[0,0.341,3,0.019,4,0.019,5,0.009,7,0.139,8,1.382,9,6.221,27,0.389,29,0.757,30,0.001,31,0.554,32,0.123,33,0.454,35,1.144,66,8.408,78,8.162,94,4.996,95,0.147,101,0.013,103,0.001,104,0.001,277,1.425,465,9.718,470,9.718,476,10.066,479,8.305,589,1.601,590,9.718,591,2.355,592,9.876,593,10.871,594,9.876,595,3.727]],["title/classes/AccountIdmToDtoMapperDb.html",[0,0.24,596,6.094]],["body/classes/AccountIdmToDtoMapperDb.html",[0,0.314,2,0.969,3,0.017,4,0.017,5,0.008,7,0.128,8,1.315,27,0.359,29,0.699,30,0.001,31,0.511,32,0.114,33,0.419,34,1.559,35,1.056,39,2.522,48,4.473,51,4.372,66,8.5,78,7.768,83,2.653,94,5.763,95,0.142,101,0.012,103,0.001,104,0.001,135,1.19,148,0.902,153,1.878,231,1.977,430,3.747,431,3.908,432,7.664,436,2.707,465,7.399,470,9.249,476,9.58,479,7.664,480,6.678,484,6.546,590,10.571,593,10.571,595,3.439,596,9.995,597,9.114,598,8.439,599,8.439,600,10.904,601,10.55,602,8.439,603,7.995,604,7.995]],["title/classes/AccountIdmToDtoMapperIdm.html",[0,0.24,605,6.094]],["body/classes/AccountIdmToDtoMapperIdm.html",[0,0.316,2,0.973,3,0.017,4,0.017,5,0.008,7,0.129,8,1.319,27,0.361,29,0.702,30,0.001,31,0.513,32,0.114,33,0.421,34,1.566,35,1.061,39,2.533,48,4.493,51,4.392,66,8.514,78,7.79,83,2.665,94,5.78,95,0.142,101,0.012,103,0.001,104,0.001,125,2.183,135,1.196,148,0.907,153,1.884,231,1.983,430,3.765,431,3.925,432,7.699,436,2.719,465,7.433,470,9.276,476,9.608,479,7.699,480,6.708,484,6.575,590,10.589,593,10.589,595,3.455,598,8.478,599,8.478,600,10.927,601,10.58,603,8.032,604,8.032,605,10.024,606,9.155]],["title/injectables/AccountLookupService.html",[589,0.929,607,5.841]],["body/injectables/AccountLookupService.html",[0,0.188,3,0.01,4,0.01,5,0.005,7,0.077,8,0.925,26,2.494,27,0.375,29,0.73,30,0.001,31,0.533,32,0.119,33,0.438,34,2.49,35,1.216,36,2.224,47,0.568,49,4.766,78,5.465,94,4.055,95,0.134,99,1.116,101,0.007,103,0,104,0,135,1.047,142,4.269,148,1.159,153,1.321,157,2.189,185,2.755,195,1.753,228,1.455,277,0.786,317,2.539,388,3.437,407,8.108,433,0.989,480,3.989,534,5.486,574,5.364,589,1.072,591,1.298,607,6.74,608,9.718,609,5.444,610,4.135,611,11.496,612,5.382,613,7.722,614,4.082,615,7.546,616,9.718,617,9.207,618,5.164,619,7.537,620,4.98,621,8.015,622,6.314,623,5.232,624,6.002,625,8.015,626,7.032,627,10.265,628,6.968,629,6.159,630,8.015,631,7.423,632,5.444,633,8.52,634,7.002,635,5.444,636,8.015,637,8.015,638,5.444,639,10.494,640,6.448,641,5.967,642,12.414,643,10.494,644,6.379,645,7.423,646,5.444,647,3.989,648,3.422,649,3.422,650,4.42,651,2.754,652,1.637,653,3.309,654,7.423,655,4.776,656,8.015,657,1.837,658,5.444,659,5.444,660,5.444]],["title/modules/AccountModule.html",[252,1.835,264,4.989]],["body/modules/AccountModule.html",[0,0.234,3,0.013,4,0.013,5,0.006,30,0.001,95,0.159,101,0.009,103,0,104,0,148,0.928,153,1.545,195,1.482,252,2.838,254,2.44,255,2.584,256,2.65,257,2.641,258,2.631,259,3.907,260,3.999,264,10.448,265,5.818,267,10.584,268,7.651,269,3.666,270,2.603,271,2.548,276,3.666,277,0.978,278,6.275,279,2.844,527,2.868,590,8.723,596,8.222,605,8.222,607,10.584,634,6.219,647,4.965,648,4.259,649,4.259,651,3.428,661,6.776,662,6.776,663,6.776,664,6.776,665,10.219,666,10.559,667,12.078,668,10.219,669,11.042,670,12.587,671,9.223,672,6.776,673,6.776,674,6.776,675,3.45,676,5.945,677,10.744,678,6.776,679,6.776,680,6.275,681,6.776,682,6.776,683,6.776,684,6.776,685,3.958,686,4.867,687,6.776,688,3.198]],["title/interfaces/AccountParams.html",[159,0.713,689,5.841]],["body/interfaces/AccountParams.html",[0,0.228,3,0.013,4,0.013,5,0.006,7,0.093,26,2.364,30,0.001,32,0.115,33,0.528,47,0.908,48,5.919,49,4.313,51,5.786,94,6.988,95,0.146,99,1.355,101,0.012,103,0,104,0,112,0.72,135,1.734,148,1.194,159,1.089,161,1.569,231,1.147,290,3.213,326,4.87,467,3.511,478,1.85,499,5.365,574,3.726,595,2.494,652,1.881,689,9.644,690,5.798,691,5.798,692,4.347,693,5.222,694,4.842,695,4.746,696,5.798,697,8.237,698,5.068,699,9.791,700,4.443,701,4.443,702,4.547,703,2.859,704,4.689,705,10.502,706,5.557,707,5.798,708,8.081,709,5.798,710,5.798,711,3.149,712,5.798,713,8.916,714,8.081,715,8.081,716,5.557,717,9.301,718,9.301,719,5.798,720,8.081,721,8.081,722,5.557,723,5.798,724,8.081,725,6.494,726,5.557]],["title/injectables/AccountRepo.html",[589,0.929,668,5.639]],["body/injectables/AccountRepo.html",[0,0.125,3,0.007,4,0.007,5,0.003,7,0.051,8,0.675,10,2.349,11,4.607,12,2.65,13,4.124,14,5.132,15,5.132,16,5.132,17,5.132,18,2.978,19,5.132,20,5.132,26,2.735,27,0.508,29,0.981,30,0.001,31,0.71,32,0.159,33,0.583,34,1.918,35,1.482,36,2.855,37,4.607,39,2.886,40,1.757,42,4.124,44,5.132,46,5.132,47,0.851,48,4.146,49,4.891,51,5.209,52,2.959,53,4.286,54,5.132,55,2.605,56,5.977,58,6.472,60,5.132,62,2.157,67,5.132,69,5.132,70,5.527,85,2.432,94,5.956,95,0.119,96,1.549,97,1.483,99,0.742,101,0.005,102,1.92,103,0,104,0,122,1.535,129,2.528,130,2.012,135,1.295,141,2.508,145,3.703,148,1.166,153,1.528,157,0.834,195,0.792,197,1.007,205,1.725,206,1.907,224,1.057,231,1.015,277,0.523,290,1.997,317,3.047,388,1.553,436,2.509,532,4.368,543,1.757,569,1.821,589,0.782,591,0.864,595,1.367,616,9.66,652,1.502,655,3.178,657,2.125,668,4.749,727,3.622,728,6.038,729,4.053,730,7.822,731,7.358,732,5.417,733,7.358,734,2.455,735,2.677,736,5.569,737,5.849,738,3.622,739,3.622,740,3.622,741,5.132,742,3.622,743,3.622,744,3.622,745,4.201,746,3.622,747,3.622,748,3.622,749,3.622,750,5.849,751,3.622,752,3.622,753,8.447,754,3.622,755,3.622,756,2.91,757,3.622,758,4.053,759,2.157,760,2.202,761,2.179,762,2.202,763,2.51,764,2.179,765,2.202,766,1.962,767,3.622,768,3.622,769,3.622,770,2.277,771,2.601,772,5.849,773,4.201,774,4.919,775,3.622,776,3.622,777,3.622,778,3.622,779,3.622,780,3.622,781,3.178,782,5.849,783,3.622,784,3.622,785,3.622,786,3.622,787,2.853,788,3.988,789,1.977,790,2.47,791,3.622,792,3.622,793,3.622,794,2.654,795,3.622,796,3.354,797,7.358,798,3.622,799,3.622,800,3.354,801,3.354,802,2.397,803,3.354,804,2.712,805,3.622,806,2.778,807,2.778,808,3.622,809,2.364,810,2.654,811,3.622,812,2.364,813,2.025,814,3.046,815,3.178,816,2.51,817,3.622,818,3.622,819,3.622]],["title/classes/AccountResponse.html",[0,0.24,334,5.639]],["body/classes/AccountResponse.html",[0,0.291,2,0.897,3,0.016,4,0.016,5,0.008,7,0.119,27,0.528,29,0.647,30,0.001,31,0.473,32,0.167,33,0.627,34,2.24,39,3.624,47,0.95,51,6.284,83,3.16,95,0.096,101,0.011,103,0.001,104,0.001,112,0.849,122,2.264,190,2.351,202,1.939,208,8.233,234,6.475,242,4.444,250,7.407,296,3.7,334,10.634,431,5.616,433,1.339,458,3.378,462,5.132,820,8.443,821,4.298,822,8.443,823,8.443,824,8.443,825,8.443,826,8.443,827,8.443]],["title/classes/AccountResponseMapper.html",[0,0.24,828,6.432]],["body/classes/AccountResponseMapper.html",[0,0.303,2,0.933,3,0.017,4,0.017,5,0.008,7,0.123,8,1.284,27,0.438,29,0.853,30,0.001,31,0.624,32,0.139,33,0.512,34,1.903,35,1.289,39,3.078,51,5.337,66,8.384,94,6.851,95,0.139,101,0.012,103,0.001,104,0.001,148,1.102,153,1.834,208,6.993,334,11.167,431,4.77,465,9.917,467,3.942,478,2.457,480,8.151,482,10.302,483,7.698,484,7.99,485,9.76,828,10.302,829,5.175,830,6.17,831,11.125,832,11.125,833,7.124,834,11.125,835,6.73,836,8.775,837,4.332,838,7.379]],["title/classes/AccountSaveDto.html",[0,0.24,64,5.471]],["body/classes/AccountSaveDto.html",[0,0.294,2,0.631,3,0.011,4,0.011,5,0.005,7,0.083,26,2.561,27,0.538,29,0.455,30,0.001,31,0.333,32,0.17,33,0.658,34,1.709,39,2.766,47,0.932,48,4.905,51,4.795,64,9.121,82,7.873,83,3.701,87,5.025,95,0.125,99,1.216,101,0.008,103,0,104,0,112,0.667,122,1.78,176,5.056,190,2.434,199,4.734,200,1.818,208,6.283,209,8.115,210,6.439,228,2.35,232,2.312,234,4.551,235,4.99,236,5.496,237,5.496,238,4.551,239,4.99,240,5.496,241,5.496,242,3.124,243,3.73,244,4.348,245,4.818,246,5.496,247,5.496,248,4.444,249,4.99,250,5.206,251,5.496,297,6.929,298,2.567,299,4.259,300,5.232,301,3.823,303,4.99,304,2.93,305,4.99,430,4.11,431,4.286,432,8.405,433,0.732,435,2.015,440,5.496,442,6.929,444,10.121,448,5.496,450,9.256,454,4.818,458,2.374,459,3.124,460,3.607,461,4.046,462,3.607,463,4.046,839,13.761,840,5.935,841,8.535,842,5.935,843,5.935,844,5.935,845,5.935,846,5.935,847,5.935,848,5.935,849,5.935,850,5.935,851,5.935,852,5.935,853,5.935,854,7.279,855,4.424,856,4.734,857,5.935,858,5.935,859,5.935]],["title/classes/AccountSearchListResponse.html",[0,0.24,372,6.094]],["body/classes/AccountSearchListResponse.html",[0,0.275,2,0.848,3,0.015,4,0.015,5,0.007,7,0.112,27,0.507,29,0.611,30,0.001,31,0.447,32,0.172,33,0.592,55,2.869,56,6.231,59,3.246,70,6.72,95,0.133,101,0.01,103,0.001,104,0.001,112,0.818,125,1.901,190,2.223,202,1.831,231,1.815,285,8.794,296,2.732,298,3.449,334,10.922,339,3.773,372,9.175,433,0.984,436,3.68,860,7.373,861,5.525,862,8.359,863,7.263,864,5.999,865,7.384,866,3.96,867,7.384,868,5.599,869,3.913,870,4.353,871,2.919,872,5.622,873,6.654,874,6.109,875,5.277,876,4.14,877,5.622,878,5.622,879,7.973,880,5.073,881,4.353]],["title/classes/AccountSearchQueryParams.html",[0,0.24,366,6.094]],["body/classes/AccountSearchQueryParams.html",[0,0.361,2,0.849,3,0.015,4,0.015,5,0.007,7,0.112,27,0.488,30,0.001,32,0.17,33,0.57,47,0.742,55,2.339,56,5.514,70,5.331,94,4.042,95,0.142,101,0.01,103,0.001,104,0.001,112,0.819,129,3.134,130,3.681,145,2.984,157,2.41,190,2.225,194,4.849,195,2.712,196,4.101,197,3.447,200,2.447,202,1.835,231,1.818,285,9.823,296,3.051,298,3.456,299,4.081,308,5.854,366,9.187,369,9.187,436,3.11,756,3.16,758,7.257,860,9.075,869,3.921,875,5.287,882,7.989,883,9.075,884,12.872,885,7.989,886,3.294,887,7.989,888,7.989,889,7.398,890,5.536,891,6.486,892,6.127,893,7.398,894,7.989,895,7.398,896,4.467,897,6.718,898,7.989,899,3.638,900,7.989]],["title/injectables/AccountServiceDb.html",[589,0.929,669,6.094]],["body/injectables/AccountServiceDb.html",[0,0.114,1,11.105,3,0.006,4,0.006,5,0.003,7,0.046,8,0.626,10,2.178,11,4.271,12,2.457,13,3.823,14,4.757,15,4.757,16,4.757,17,4.757,18,2.761,19,4.757,20,4.757,21,4.757,22,5.022,23,5.022,24,5.022,25,4.757,26,2.832,27,0.499,29,0.971,30,0.001,31,0.71,32,0.158,33,0.582,34,1.367,35,1.453,36,2.911,37,4.271,39,2.212,40,2.631,42,3.823,44,4.757,46,4.757,47,0.919,48,4.333,49,3.772,51,5.025,54,4.757,55,2.237,56,4.944,58,2.154,60,4.757,62,1.965,63,5.022,64,6.296,66,5.764,67,4.757,69,4.757,70,4.069,81,5.022,82,6.955,83,2.009,85,4.635,86,5.022,87,4.439,89,5.022,91,5.022,92,6.392,94,5.789,95,0.131,96,0.874,97,1.352,98,1.985,99,0.676,100,1.152,101,0.004,103,0,104,0,125,1.646,129,0.988,130,0.903,135,1.637,142,1.979,145,2.025,148,1.254,153,1.653,176,1.67,208,2.075,209,2.679,210,2.126,228,0.984,231,0.941,233,1.03,277,0.476,317,3.052,346,2.418,347,1.691,393,1.629,400,0.983,433,0.407,436,3.638,464,2.775,475,6.392,478,0.924,484,3.895,485,2.895,486,3.056,487,3.056,488,4.757,489,6.721,491,3.056,498,7.401,579,1.567,589,0.725,591,0.787,607,8.434,608,7.401,631,5.022,645,5.022,652,2.048,657,3.058,668,7.706,669,4.757,675,1.68,676,2.895,680,3.056,745,3.895,758,2.287,838,2.775,901,3.3,902,5.423,903,3.056,904,3.3,905,3.3,906,3.3,907,5.423,908,3.3,909,3.3,910,3.3,911,3.3,912,3.3,913,3.3,914,3.3,915,3.3,916,3.3,917,3.3,918,3.3,919,3.3,920,3.3,921,3.3,922,3.3,923,2.775,924,2.895,925,3.3,926,10.849,927,5.423,928,10.03,929,8.83,930,3.3,931,3.3,932,5.022,933,3.3,934,3.3,935,3.3,936,3.3,937,5.423,938,2.679,939,5.423,940,5.423,941,5.423,942,5.423,943,5.423,944,5.423,945,5.423,946,5.423,947,5.423,948,5.423,949,8.83,950,7.993,951,6.902,952,3.3,953,3.3,954,3.3,955,3.3,956,5.423,957,3.3,958,3.3,959,3.3,960,3.3,961,3.3,962,2.327,963,3.3,964,3.3,965,3.3]],["title/injectables/AccountValidationService.html",[589,0.929,667,6.094]],["body/injectables/AccountValidationService.html",[0,0.231,3,0.013,4,0.013,5,0.006,7,0.094,8,1.072,26,2.901,27,0.454,29,0.884,30,0.001,31,0.646,32,0.144,33,0.53,35,1.236,36,2.656,39,3.627,47,0.944,48,5.657,49,2.514,59,3.311,85,8.632,94,4.697,95,0.138,99,1.37,101,0.009,103,0,104,0,135,1.505,142,2.439,148,1.056,205,1.365,230,4.425,268,7.814,277,0.965,279,2.806,317,2.888,400,1.991,433,0.825,464,5.622,480,4.899,483,5.865,531,3.495,589,1.242,591,1.594,652,1.365,657,2.445,667,8.146,668,10.176,676,5.865,702,5.267,756,4.559,903,6.191,932,6.191,966,6.686,967,9.285,968,9.285,969,9.285,970,6.686,971,9.285,972,6.686,973,9.285,974,6.686,975,9.285,976,6.686,977,6.686,978,6.686,979,6.191,980,3.708,981,4.064,982,5.266,983,4.307,984,5.622,985,3.87,986,6.191,987,6.191,988,6.686,989,6.686,990,6.686,991,6.686,992,6.191,993,9.285,994,9.285,995,6.686,996,6.686,997,4.202,998,3.156,999,6.686,1000,6.686,1001,6.686,1002,6.686,1003,9.285,1004,6.686,1005,9.285,1006,6.686]],["title/modules/AdminApiServerModule.html",[252,1.835,1007,6.094]],["body/modules/AdminApiServerModule.html",[0,0.346,3,0.014,4,0.014,5,0.007,30,0.001,32,0.093,87,3.762,95,0.161,96,1.981,101,0.013,103,0,104,0,135,0.977,148,0.741,195,1.637,206,2.44,252,3.328,254,2.695,255,2.854,256,2.927,257,2.916,258,2.906,259,2.721,260,2.786,265,6.122,269,3.922,270,2.874,271,2.814,276,4.725,277,1.08,290,1.769,467,2.178,478,2.095,540,2.627,623,4.885,649,4.704,651,3.786,1007,12.084,1008,7.483,1009,7.483,1010,10.213,1011,8.841,1012,6.93,1013,6.93,1014,5.186,1015,5.102,1016,6.379,1017,7.837,1018,6.565,1019,7.347,1020,6.565,1021,4.821,1022,6.949,1023,7.07,1024,6.949,1025,4.821,1026,4.704,1027,2.298,1028,6.949,1029,5.025,1030,6.93,1031,7.973,1032,6.93,1033,6.93,1034,5.739,1035,6.293,1036,8.677,1037,6.93,1038,10.159,1039,5.894,1040,5.186,1041,5.102,1042,4.952,1043,6.949,1044,8.797,1045,4.885]],["title/modules/AdminApiServerTestModule.html",[252,1.835,1044,6.094]],["body/modules/AdminApiServerTestModule.html",[0,0.335,3,0.014,4,0.014,5,0.007,8,0.824,27,0.281,29,0.547,30,0.001,31,0.4,32,0.121,33,0.328,35,0.827,59,2.215,87,3.588,95,0.16,96,1.89,101,0.013,103,0,104,0,135,0.932,148,0.707,195,1.561,206,2.327,252,3.274,254,2.57,255,2.722,256,2.792,257,2.781,258,2.771,259,2.595,260,2.657,265,6.048,269,3.799,270,2.741,271,2.684,276,4.635,277,1.03,290,1.687,467,2.827,478,1.998,540,3.41,623,4.659,649,4.486,651,3.611,1007,6.262,1010,10.072,1011,6.622,1012,8.994,1013,6.609,1014,4.946,1015,4.866,1016,7.023,1017,7.65,1018,6.262,1019,7.116,1020,6.262,1021,4.598,1022,6.73,1023,6.847,1024,6.73,1025,4.598,1026,4.486,1027,2.192,1028,8.211,1029,8.323,1030,6.609,1031,9.224,1032,6.609,1033,6.609,1034,5.474,1035,6.002,1036,8.51,1037,6.609,1038,9.964,1039,5.622,1040,4.946,1041,4.866,1042,4.724,1043,6.73,1044,12.264,1045,6.34,1046,7.137,1047,7.137,1048,4.946,1049,7.137]],["title/interfaces/AdminIdAndToken.html",[159,0.713,1050,5.639]],["body/interfaces/AdminIdAndToken.html",[0,0.199,3,0.007,4,0.007,5,0.003,7,0.05,30,0.001,31,0.469,32,0.115,34,1.846,36,2.82,39,3.588,47,1.02,51,4.016,55,1.458,72,2.644,83,1.682,87,3.661,95,0.096,101,0.011,103,0,104,0,112,0.452,122,2.054,135,1.41,148,1.331,153,1.516,159,0.748,161,0.847,176,5.461,185,1.226,195,0.78,228,1.049,231,0.619,277,0.515,290,1.722,317,2.888,371,3.86,379,4.262,402,2.067,433,0.44,532,1.323,540,1.252,559,1.918,567,2.767,569,1.11,571,4.532,579,2.658,589,0.773,652,2.48,657,2.256,688,1.684,702,1.761,711,3.787,725,4.074,789,3.154,809,4.753,871,3.065,890,2.472,1050,8.764,1051,2.896,1052,3,1053,4.965,1054,2.011,1055,6.421,1056,2.298,1057,2.81,1058,2.736,1059,4.551,1060,3.939,1061,4.431,1062,4.431,1063,4.431,1064,4.691,1065,1.751,1066,3,1067,3,1068,3,1069,3,1070,3,1071,3,1072,2.562,1073,3,1074,3,1075,3,1076,2.269,1077,7.734,1078,1.564,1079,2.896,1080,1.992,1081,2.432,1082,2.515,1083,2.011,1084,2.432,1085,3,1086,5.467,1087,5.297,1088,5.38,1089,5.725,1090,6.399,1091,7.87,1092,6.611,1093,6.124,1094,2.736,1095,3,1096,3,1097,2.515,1098,3,1099,3,1100,2.896,1101,2.81,1102,3,1103,5.585,1104,2.896,1105,3,1106,3,1107,3,1108,2.896,1109,3,1110,3,1111,3,1112,7.445,1113,3,1114,3,1115,1.365,1116,3,1117,3,1118,3,1119,3,1120,3,1121,3,1122,3,1123,3,1124,8.279,1125,8.279,1126,3,1127,3,1128,3,1129,3,1130,3,1131,3,1132,2.472,1133,3,1134,3,1135,3,1136,3,1137,3,1138,3,1139,3,1140,3,1141,3,1142,3,1143,3,1144,3,1145,3,1146,3,1147,4.431,1148,4.431,1149,3,1150,3,1151,3,1152,3,1153,3,1154,2.432,1155,3,1156,3,1157,3,1158,4.859,1159,3,1160,4.859,1161,4.859,1162,3,1163,3,1164,2.736,1165,6.124,1166,4.819,1167,4.474,1168,3,1169,3.344,1170,5.262,1171,4.431,1172,5.453,1173,6.124,1174,6.124,1175,6.124,1176,2.736,1177,3,1178,3,1179,3,1180,7.734,1181,6.124,1182,6.124,1183,6.124,1184,3,1185,4.859,1186,4.859,1187,3,1188,3,1189,3,1190,3,1191,3,1192,4.859,1193,3.824]],["title/classes/AjaxGetQueryParams.html",[0,0.24,1194,6.094]],["body/classes/AjaxGetQueryParams.html",[0,0.385,2,0.937,3,0.017,4,0.017,5,0.008,7,0.124,27,0.523,30,0.001,32,0.165,33,0.641,47,1.004,95,0.101,101,0.012,103,0.001,104,0.001,112,0.872,190,2.382,200,2.7,299,5.283,300,5.079,454,7.155,856,6.187,1194,9.787,1195,6.693,1196,8.814,1197,6.632,1198,7.363,1199,9.387,1200,9.387,1201,9.387,1202,8.814,1203,11.286,1204,8.814,1205,8.814,1206,8.814,1207,8.814]],["title/injectables/AjaxPostBodyParamsTransformPipe.html",[589,0.929,1208,6.094]],["body/injectables/AjaxPostBodyParamsTransformPipe.html",[0,0.396,3,0.015,4,0.015,5,0.007,7,0.108,8,1.181,27,0.304,29,0.592,30,0.001,31,0.432,32,0.096,33,0.355,35,0.894,36,2.168,95,0.14,101,0.01,103,0,104,0,125,2.44,130,3.844,135,1.499,145,2.881,148,1.013,153,1.272,157,1.775,193,4.445,200,2.363,277,1.113,317,2.492,579,2.229,589,1.368,591,1.839,657,1.768,806,7.847,1172,7.662,1195,5.051,1208,8.976,1209,10.232,1210,7.713,1211,7.878,1212,6.592,1213,7.304,1214,8.976,1215,6.155,1216,8.976,1217,10.232,1218,7.982,1219,10.232,1220,5.869,1221,11.783,1222,8.059,1223,7.662,1224,7.349,1225,9.475,1226,8.976,1227,10.232,1228,9.927,1229,7.713,1230,10.232,1231,6.767,1232,4.464,1233,6.262,1234,6.262,1235,6.262,1236,7.713,1237,2.274,1238,5.915,1239,7.713,1240,4.549,1241,7.713,1242,6.486,1243,7.713,1244,7.713,1245,7.713,1246,7.713,1247,7.142,1248,7.713,1249,7.713]],["title/classes/AjaxPostQueryParams.html",[0,0.24,1250,6.094]],["body/classes/AjaxPostQueryParams.html",[0,0.376,2,0.903,3,0.016,4,0.016,5,0.008,7,0.119,27,0.529,30,0.001,32,0.167,33,0.648,34,2.058,47,1.011,95,0.097,101,0.011,103,0.001,104,0.001,112,0.852,190,2.41,200,2.603,299,5.321,300,5.14,454,6.898,856,6.044,1195,6.741,1197,6.519,1198,7.238,1199,9.228,1200,9.228,1201,9.228,1203,11.514,1250,9.561,1251,8.496,1252,8.496,1253,8.496,1254,8.496,1255,8.496,1256,8.496,1257,8.496]],["title/modules/AntivirusModule.html",[252,1.835,1258,6.094]],["body/modules/AntivirusModule.html",[0,0.3,3,0.017,4,0.017,5,0.008,8,1.004,27,0.343,29,0.667,30,0.001,31,0.488,32,0.108,33,0.4,35,1.008,95,0.146,101,0.011,103,0.001,104,0.001,135,1.136,148,1.096,153,1.434,161,2.065,197,2.418,252,3.214,254,3.133,259,3.163,260,3.238,277,1.256,467,3.221,540,3.054,685,6.463,686,6.248,1016,7.74,1045,7.222,1048,6.028,1258,10.673,1259,8.699,1260,10.394,1261,8.699,1262,10.245,1263,7.632,1264,10.673,1265,8.699,1266,8.699,1267,6.248,1268,5.345,1269,8.699,1270,7.062,1271,8.699,1272,5.468,1273,7.632,1274,5.678,1275,7.632,1276,12.166,1277,11.063,1278,7.632,1279,8.699,1280,8.699,1281,8.699,1282,6.852,1283,6.133,1284,8.699,1285,8.699,1286,8.699]],["title/interfaces/AntivirusModuleOptions.html",[159,0.713,1260,5.639]],["body/interfaces/AntivirusModuleOptions.html",[3,0.017,4,0.017,5,0.008,7,0.128,30,0.001,32,0.17,47,1.036,55,2.487,101,0.016,103,0.001,104,0.001,112,0.889,122,2.794,159,1.275,161,2.159,1080,3.134,1260,9.236,1268,8.231,1270,10.875,1272,8.42,1274,8.744,1283,9.173,1287,7.977,1288,10.941,1289,7.382,1290,5.858,1291,6.018,1292,6.018]],["title/injectables/AntivirusService.html",[589,0.929,1264,6.094]],["body/injectables/AntivirusService.html",[0,0.214,3,0.012,4,0.012,5,0.006,7,0.087,8,1.017,27,0.439,29,0.855,30,0.001,31,0.625,32,0.139,33,0.513,35,1.187,36,1.866,47,0.952,95,0.144,101,0.008,103,0,104,0,110,2.144,125,3.001,135,1.598,142,3.213,148,0.872,153,1.688,158,2.293,161,1.472,176,5.181,195,2.24,197,1.724,228,1.859,277,0.895,317,2.655,414,3.137,433,1.087,540,3.596,579,2.545,589,1.178,591,1.478,629,4.635,652,2.498,657,2.018,688,2.926,711,3.634,1080,2.137,1262,10.325,1263,5.44,1264,7.726,1289,9.052,1290,7.183,1291,4.104,1292,4.104,1293,6.2,1294,8.807,1295,7.406,1296,7.406,1297,5.034,1298,9.162,1299,10.242,1300,6.2,1301,8.807,1302,6.184,1303,6.2,1304,5.008,1305,8.807,1306,6.2,1307,8.807,1308,6.2,1309,8.008,1310,4.372,1311,4.047,1312,4.202,1313,4.228,1314,4.543,1315,5.034,1316,5.742,1317,3.897,1318,4.755,1319,4.884,1320,6.2,1321,10.242,1322,6.2,1323,6.2,1324,10.242,1325,6.2,1326,6.2,1327,6.2,1328,4.668,1329,5.353,1330,7.406,1331,6.2,1332,6.2,1333,8.807,1334,6.2,1335,8.807,1336,6.2,1337,6.2,1338,6.2,1339,5.44,1340,6.2,1341,6.2,1342,5.44,1343,5.214,1344,6.2,1345,6.2,1346,6.2,1347,6.2,1348,6.2,1349,6.2,1350,6.2]],["title/interfaces/AntivirusServiceOptions.html",[159,0.713,1289,5.639]],["body/interfaces/AntivirusServiceOptions.html",[3,0.018,4,0.018,5,0.009,7,0.132,30,0.001,32,0.164,47,1.034,55,1.881,101,0.017,103,0.001,104,0.001,112,0.907,122,2.821,159,1.294,161,2.23,1080,3.237,1260,7.624,1268,8.308,1270,10.978,1272,8.499,1274,8.827,1283,6.621,1287,8.239,1288,7.897,1289,9.423,1290,6.05,1291,6.215,1292,6.215]],["title/classes/ApiValidationError.html",[0,0.24,1351,4.664]],["body/classes/ApiValidationError.html",[0,0.27,2,0.833,3,0.015,4,0.015,5,0.007,7,0.11,8,1.193,27,0.528,29,0.601,30,0.001,31,0.439,32,0.173,33,0.532,35,0.908,47,0.82,55,1.569,95,0.118,101,0.01,103,0.001,104,0.001,112,0.808,155,3.902,190,2.295,228,2.52,231,1.794,233,2.445,277,1.131,338,7.559,402,2.803,433,0.967,436,3.902,561,3.515,644,4.762,868,5.902,871,2.867,998,5.461,1078,3.434,1080,4.408,1115,4.428,1351,6.941,1352,10.337,1353,7.833,1354,8.647,1355,7.057,1356,7.552,1357,7.254,1358,7.833,1359,9.393,1360,5.184,1361,4.493,1362,5.184,1363,5.184,1364,5.184,1365,5.184,1366,5.184,1367,4.813,1368,4.417,1369,6.17,1370,6.587,1371,7.254,1372,5.441,1373,6.218,1374,5.047,1375,6.008]],["title/classes/ApiValidationErrorResponse.html",[0,0.24,1376,6.094]],["body/classes/ApiValidationErrorResponse.html",[0,0.227,2,0.699,3,0.012,4,0.012,5,0.006,7,0.092,8,1.06,27,0.514,29,0.704,30,0.001,31,0.515,32,0.172,33,0.527,35,0.762,47,0.925,55,1.317,95,0.131,101,0.009,103,0,104,0,112,0.718,129,2.747,130,2.51,135,1.381,155,3.63,157,2.112,219,3.677,228,2.438,231,1.593,277,0.949,338,7.863,393,3.247,403,4.644,415,3.739,433,0.811,436,3.575,569,2.857,652,2.159,871,3.36,998,5.682,1078,2.883,1080,4.149,1115,4.38,1220,5.265,1351,8.373,1355,6.066,1359,8.585,1367,8.021,1372,4.832,1373,7.698,1376,8.053,1377,11.444,1378,6.576,1379,7.595,1380,6.873,1381,7.684,1382,9.179,1383,9.179,1384,9.179,1385,9.277,1386,6.576,1387,6.576,1388,5.466,1389,6.576,1390,4.086,1391,6.576,1392,5.769,1393,3.772,1394,6.576,1395,6.09,1396,4.237,1397,6.09,1398,9.179,1399,11.444,1400,6.576,1401,6.576,1402,6.576,1403,6.576,1404,6.576,1405,6.576,1406,9.179,1407,6.576,1408,6.576,1409,6.576,1410,6.576,1411,6.576,1412,6.576,1413,6.576,1414,6.576,1415,6.576]],["title/interfaces/AppStartInfo.html",[159,0.713,1416,6.094]],["body/interfaces/AppStartInfo.html",[0,0.295,3,0.021,4,0.016,5,0.008,7,0.12,30,0.001,32,0.159,33,0.619,47,0.991,55,2.417,95,0.098,101,0.011,103,0.001,104,0.001,112,0.855,125,2.877,135,1.117,148,0.847,159,0.878,161,2.03,228,1.552,339,3.21,385,5.83,400,2.546,876,4.44,1027,2.626,1115,3.273,1237,2.521,1283,8.97,1416,10.587,1417,7.918,1418,7.19,1419,11.536,1420,11.161,1421,11.161,1422,4.482,1423,5.165,1424,9.6,1425,7.19,1426,3.837,1427,7.918,1428,10.133,1429,7.918,1430,10.133,1431,7.918,1432,10.133,1433,7.918,1434,5.509,1435,7.918]],["title/classes/AppStartLoggable.html",[0,0.24,1425,5.841]],["body/classes/AppStartLoggable.html",[0,0.3,2,0.925,3,0.023,4,0.017,5,0.008,7,0.122,8,1.277,27,0.436,29,0.667,30,0.001,31,0.488,32,0.108,33,0.4,35,1.008,47,0.862,55,1.742,95,0.099,101,0.011,103,0.001,104,0.001,125,2.901,135,1.136,148,0.861,159,0.893,228,1.579,339,3.245,385,5.931,400,2.59,433,1.073,876,6.316,1027,2.672,1115,3.329,1237,3.261,1283,6.133,1416,11.232,1417,11.266,1418,7.315,1419,9.706,1420,7.632,1421,7.632,1422,4.982,1423,5.742,1424,9.706,1425,9.303,1426,5.746,1427,8.055,1428,10.245,1429,8.055,1430,10.245,1431,8.055,1432,10.245,1433,8.055,1434,5.604,1435,8.055,1436,8.699,1437,8.699,1438,8.699]],["title/interfaces/AppendedAttachment.html",[159,0.713,1439,5.201]],["body/interfaces/AppendedAttachment.html",[3,0.017,4,0.017,5,0.008,7,0.128,30,0.001,31,0.512,47,1.028,77,5.885,101,0.012,103,0.001,104,0.001,112,0.892,159,1.425,161,2.169,231,2.328,1240,5.387,1439,9.317,1440,7.006,1441,9.758,1442,10.287,1443,7.006,1444,5.066,1445,8.543,1446,6.693,1447,6.693,1448,9.317,1449,7.006,1450,8.543,1451,8.75,1452,8.75,1453,8.543,1454,7.01,1455,6.84,1456,6.84,1457,7.006,1458,7.006]],["title/classes/AuthCodeFailureLoggableException.html",[0,0.24,1459,5.841]],["body/classes/AuthCodeFailureLoggableException.html",[0,0.3,2,0.925,3,0.017,4,0.017,5,0.008,7,0.122,8,1.277,27,0.436,29,0.667,30,0.001,31,0.488,32,0.138,33,0.4,35,1.008,47,0.862,59,2.7,95,0.126,101,0.011,103,0.001,104,0.001,148,0.861,185,3.802,228,1.579,231,1.92,339,2.551,365,4.941,400,2.59,433,1.073,436,2.584,998,6.043,1027,2.672,1080,4.193,1115,3.329,1422,4.982,1423,5.742,1426,5.746,1459,9.303,1460,11.063,1461,8.284,1462,4.786,1463,9.587,1464,8.699,1465,6.028,1466,11.266,1467,7.315,1468,5.742,1469,6.042,1470,4.864,1471,6.374,1472,4.864,1473,8.699,1474,11.063,1475,8.048,1476,5.345,1477,4.517,1478,4.713,1479,8.699]],["title/modules/AuthenticationApiModule.html",[252,1.835,1480,5.471]],["body/modules/AuthenticationApiModule.html",[0,0.326,3,0.018,4,0.018,5,0.009,30,0.001,95,0.151,101,0.012,103,0.001,104,0.001,252,3.339,254,3.406,255,3.607,256,3.699,257,3.685,258,3.672,259,4.596,260,4.339,269,4.56,270,3.632,271,3.557,273,5.944,274,4.872,276,4.56,277,1.365,1480,11.123,1481,9.457,1482,9.457,1483,9.457,1484,9.265,1485,11.603,1486,9.457,1487,11.087,1488,9.457,1489,9.457,1490,8.758]],["title/classes/AuthenticationCodeGrantTokenRequest.html",[0,0.24,1491,5.639]],["body/classes/AuthenticationCodeGrantTokenRequest.html",[0,0.296,2,0.913,3,0.016,4,0.016,5,0.008,7,0.121,27,0.53,29,0.659,30,0.001,31,0.481,32,0.168,33,0.395,47,0.983,95,0.098,101,0.011,103,0.001,104,0.001,112,0.858,232,2.973,433,1.06,435,2.916,998,6.659,1491,10.69,1492,13.688,1493,11.252,1494,8.587,1495,8.685,1496,9.817,1497,10.609,1498,10.609,1499,10.973,1500,8.587,1501,8.587,1502,10.161,1503,8.587,1504,8.587,1505,7.952,1506,7.221,1507,6.586,1508,7.952,1509,8.587,1510,8.587,1511,8.587,1512,8.587,1513,8.587,1514,8.587,1515,8.587,1516,7.534,1517,8.587]],["title/modules/AuthenticationModule.html",[252,1.835,1484,4.664]],["body/modules/AuthenticationModule.html",[0,0.189,3,0.01,4,0.01,5,0.005,30,0.001,32,0.068,95,0.16,101,0.007,103,0,104,0,135,1.376,153,0.905,252,2.525,254,1.977,255,2.093,256,2.147,257,2.139,258,2.131,259,3.476,260,3.558,264,8.428,265,5.424,268,7.133,269,3.154,270,2.108,271,2.064,276,3.154,277,0.792,279,2.304,579,1.586,628,3.268,647,4.021,648,3.45,665,9.527,671,8.598,1027,1.686,1372,2.889,1380,4.11,1484,9.78,1518,5.488,1519,5.488,1520,5.488,1521,5.488,1522,9.868,1523,9.527,1524,9,1525,8.598,1526,10.156,1527,10.295,1528,9.527,1529,9.868,1530,10.295,1531,8.273,1532,10.295,1533,10.295,1534,10.295,1535,5.488,1536,4.815,1537,4.11,1538,5.488,1539,4.456,1540,3.942,1541,5.488,1542,9.559,1543,4.815,1544,8.064,1545,3.87,1546,8.84,1547,11.224,1548,4.11,1549,4.615,1550,4.815,1551,4.615,1552,5.082,1553,5.082,1554,4.815,1555,5.488,1556,5.488,1557,5.488,1558,5.488,1559,5.488,1560,5.488,1561,3.87,1562,4.323,1563,3.536,1564,5.082,1565,5.488,1566,4.815,1567,5.082,1568,3.803,1569,5.082,1570,5.488,1571,5.488,1572,5.488,1573,4.615,1574,5.488,1575,5.488,1576,5.488,1577,5.488,1578,5.488,1579,5.488,1580,5.488,1581,5.488,1582,3.942,1583,5.488,1584,5.488,1585,3.336,1586,5.488,1587,9.559,1588,5.488,1589,4.209,1590,5.488,1591,5.082,1592,5.488,1593,3.372,1594,5.488,1595,4.456,1596,5.488,1597,5.488,1598,3.237,1599,5.082,1600,5.488,1601,5.488]],["title/interfaces/AuthenticationResponse.html",[159,0.713,1602,6.094]],["body/interfaces/AuthenticationResponse.html",[0,0.181,3,0.01,4,0.01,5,0.005,7,0.074,30,0.001,32,0.066,36,1.114,47,0.992,51,3.748,55,1.053,87,3.928,94,3.952,95,0.118,101,0.007,103,0,104,0,112,0.611,122,1.097,135,1.839,142,1.919,145,2.918,148,1.3,153,1.701,158,1.944,159,0.54,161,1.248,185,1.807,189,4.8,228,1.692,277,0.759,316,2.537,317,1.141,326,1.998,339,2.734,379,5.882,414,6.826,478,1.472,484,3.777,579,2.258,581,6.854,652,2.564,657,1.205,711,3.432,756,2.08,802,3.48,871,3.412,1080,1.813,1176,5.992,1372,2.768,1585,6.702,1602,9.053,1603,4.613,1604,4.613,1605,7.878,1606,9.053,1607,6.57,1608,4.869,1609,4.869,1610,3.853,1611,4.269,1612,4.869,1613,4.422,1614,4.869,1615,4.869,1616,4.613,1617,6.854,1618,4.869,1619,3.231,1620,4.869,1621,4.869,1622,3.777,1623,4.613,1624,4.422,1625,4.269,1626,2.916,1627,6.695,1628,8.178,1629,4.869,1630,4.613,1631,6.854,1632,6.854,1633,4.613,1634,10.7,1635,4.869,1636,4.613,1637,9.674,1638,9.674,1639,11.211,1640,4.869,1641,4.613,1642,9.674,1643,4.869,1644,9.556,1645,4.869,1646,4.869,1647,7.568,1648,4.869,1649,4.869,1650,4.613,1651,4.869,1652,4.869,1653,4.869,1654,4.869,1655,4.869,1656,7.235,1657,4.869,1658,4.613,1659,4.613,1660,3.938,1661,6.854,1662,4.613,1663,4.613,1664,4.613,1665,6.854,1666,4.613,1667,6.854,1668,4.613,1669,4.613,1670,6.854,1671,4.613,1672,4.613,1673,4.869,1674,7.235,1675,3.163,1676,4.869,1677,4.869,1678,4.869,1679,4.869,1680,4.869,1681,4.869,1682,4.869,1683,4.869,1684,4.869,1685,4.869]],["title/injectables/AuthenticationService.html",[589,0.929,1526,5.327]],["body/injectables/AuthenticationService.html",[0,0.179,3,0.01,4,0.01,5,0.005,7,0.073,8,0.894,21,6.795,27,0.482,29,0.939,30,0.001,31,0.687,32,0.156,33,0.564,34,0.889,35,1.381,36,2.595,47,0.994,48,5.646,51,3.716,59,1.613,66,7.162,73,4.813,74,3.986,77,3.348,83,1.513,87,2.613,94,5.82,95,0.153,101,0.007,103,0,104,0,125,1.239,135,1.502,141,3.321,142,3.378,148,1.016,153,1.809,195,1.137,228,1.862,230,3.44,277,0.75,290,1.229,312,4.559,317,2.841,340,4.99,433,0.956,488,4.559,569,2.41,579,2.238,589,1.036,591,1.239,634,6.898,649,3.267,651,2.629,652,2.095,657,2.515,666,9.141,992,4.813,1381,3.49,1526,5.94,1528,9.676,1537,3.892,1543,4.559,1548,3.892,1553,4.813,1554,4.559,1585,3.159,1605,3.544,1610,3.808,1675,3.126,1686,5.197,1687,7.745,1688,7.745,1689,7.172,1690,7.745,1691,7.745,1692,7.745,1693,5.197,1694,11.505,1695,5.197,1696,7.745,1697,5.197,1698,7.745,1699,8.081,1700,5.197,1701,7.172,1702,5.197,1703,7.745,1704,5.197,1705,7.745,1706,5.197,1707,7.745,1708,5.197,1709,5.197,1710,7.745,1711,5.197,1712,3.892,1713,4.219,1714,3.892,1715,4.559,1716,4.559,1717,7.745,1718,3.808,1719,5.675,1720,4.559,1721,4.37,1722,4.37,1723,2.955,1724,7.292,1725,3.664,1726,5.197,1727,5.197,1728,5.197,1729,4.813,1730,6.932,1731,5.197,1732,5.197,1733,5.197,1734,5.197,1735,7.172,1736,5.197,1737,7.745,1738,7.745,1739,5.197,1740,7.745,1741,4.813,1742,5.197,1743,3.733,1744,7.172,1745,5.197,1746,5.197,1747,5.197,1748,5.197,1749,2.955,1750,5.197,1751,4.094,1752,5.197,1753,5.197,1754,5.197]],["title/classes/AuthenticationValues.html",[0,0.24,1755,6.432]],["body/classes/AuthenticationValues.html",[0,0.336,2,1.037,3,0.019,4,0.019,5,0.009,7,0.137,27,0.505,29,0.748,30,0.001,31,0.547,32,0.16,33,0.449,47,0.945,101,0.013,103,0.001,104,0.001,112,0.929,232,3.219,433,1.204,435,3.313,1755,12.658,1756,7.649,1757,13.335,1758,9.756,1759,12.813,1760,12.813,1761,11.882,1762,9.756,1763,9.756,1764,9.756,1765,9.756,1766,9.756]],["title/interfaces/AuthorizableObject.html",[159,0.713,1767,3.822]],["body/interfaces/AuthorizableObject.html",[0,0.341,3,0.019,4,0.019,5,0.009,9,4.589,26,2.656,30,0.001,34,2.047,95,0.113,101,0.016,103,0.001,104,0.001,113,3.936,134,3.489,135,1.29,148,1.185,159,1.014,161,2.345,232,2.676,435,4.065,532,4.779,711,3.555,1237,2.911,1767,7.087,1768,9.145,1769,8.664,1770,4.013,1771,10.066,1772,9.145,1773,6.068,1774,11.085]],["title/interfaces/AuthorizationContext.html",[159,0.713,1775,3.822]],["body/interfaces/AuthorizationContext.html",[3,0.019,4,0.019,5,0.009,7,0.144,30,0.001,32,0.152,95,0.14,101,0.013,103,0.001,104,0.001,112,0.956,159,1.051,161,2.428,595,3.86,693,6.169,1197,7.761,1775,6.727,1776,8.973,1777,9.471,1778,8.516,1779,10.228]],["title/classes/AuthorizationContextBuilder.html",[0,0.24,1780,4.222]],["body/classes/AuthorizationContextBuilder.html",[0,0.287,2,0.884,3,0.016,4,0.016,5,0.008,7,0.117,8,1.241,27,0.469,29,0.914,30,0.001,31,0.668,32,0.157,33,0.548,35,1.38,95,0.123,101,0.011,103,0.001,104,0.001,135,1.556,148,1.18,183,5.111,467,4.051,507,4.736,595,3.14,652,2.432,693,6.39,1197,7.461,1775,7.477,1778,7.915,1780,6.536,1781,12.592,1782,8.32,1783,6.607,1784,7.22,1785,10.752,1786,8.32,1787,10.752,1788,8.32,1789,10.752,1790,8.32,1791,10.752,1792,5.766,1793,5.507]],["title/classes/AuthorizationError.html",[0,0.24,1794,6.432]],["body/classes/AuthorizationError.html",[0,0.27,2,0.833,3,0.015,4,0.015,5,0.007,7,0.11,8,1.193,27,0.528,29,0.601,30,0.001,31,0.439,32,0.173,33,0.532,35,0.908,47,0.931,55,1.569,59,3.209,95,0.118,101,0.01,103,0.001,104,0.001,112,0.808,155,3.902,190,2.295,228,2.52,231,1.794,233,2.445,277,1.131,402,2.803,433,0.967,436,3.902,868,5.902,871,2.867,998,5.461,1078,5.394,1080,4.408,1115,4.895,1197,4.244,1354,8.647,1355,7.684,1356,7.552,1360,5.184,1361,4.493,1362,5.184,1363,5.184,1364,5.184,1365,5.184,1366,5.184,1367,4.813,1368,4.417,1369,6.17,1374,5.047,1475,4.924,1794,9.572,1795,7.833,1796,8.693,1797,7.833,1798,7.833,1799,6.872,1800,7.254]],["title/injectables/AuthorizationHelper.html",[589,0.929,1801,4.316]],["body/injectables/AuthorizationHelper.html",[0,0.212,3,0.012,4,0.012,5,0.006,7,0.086,8,1.009,27,0.462,29,0.962,30,0.001,31,0.657,32,0.156,33,0.54,35,1.359,47,0.938,95,0.116,96,1.624,101,0.008,103,0,104,0,122,2.722,135,1.675,141,5.379,145,2.291,148,1.242,158,2.268,195,1.342,197,2.43,205,2.562,224,1.79,277,0.885,290,3.333,331,5.19,478,1.718,532,4.758,578,3.207,589,1.169,591,1.463,652,2.079,653,3.608,711,4.018,1778,8.204,1801,5.43,1802,6.134,1803,8.74,1804,10.696,1805,8.74,1806,8.093,1807,8.74,1808,8.74,1809,10.181,1810,12.825,1811,6.134,1812,8.093,1813,6.134,1814,8.74,1815,6.134,1816,8.093,1817,6.134,1818,8.74,1819,9.735,1820,6.134,1821,4.24,1822,5.68,1823,7.667,1824,8.093,1825,5.68,1826,5.217,1827,5.381,1828,8.74,1829,2.607,1830,6.134,1831,4.06,1832,3.902,1833,4.98,1834,4.494,1835,3.143,1836,5.68,1837,5.68,1838,5.312,1839,6.134,1840,6.134,1841,6.134,1842,5.341,1843,6.134,1844,6.134]],["title/interfaces/AuthorizationLoaderService.html",[159,0.713,1845,5.471]],["body/interfaces/AuthorizationLoaderService.html",[3,0.018,4,0.018,5,0.009,7,0.136,8,1.362,12,5.344,26,2.809,27,0.38,29,0.739,30,0.001,31,0.54,32,0.12,33,0.443,34,1.648,35,1.117,36,2.701,40,6.183,95,0.152,99,1.976,101,0.015,103,0.001,104,0.001,159,1.211,161,2.288,185,3.312,231,1.673,1767,5.303,1776,10.347,1845,10.039,1846,9.29,1847,8.105,1848,9.639,1849,5.579,1850,6.796,1851,7.392,1852,5.684,1853,3.152,1854,8.105]],["title/interfaces/AuthorizationLoaderServiceGeneric.html",[159,0.713,1854,5.841]],["body/interfaces/AuthorizationLoaderServiceGeneric.html",[3,0.018,4,0.018,5,0.009,7,0.135,8,1.358,12,5.329,26,2.805,27,0.378,29,0.736,30,0.001,31,0.538,32,0.12,33,0.441,34,1.641,35,1.112,36,2.695,40,6.17,95,0.151,99,1.966,101,0.015,103,0.001,104,0.001,159,1.208,161,2.278,185,3.296,231,2.041,1767,5.278,1776,10.317,1845,10.017,1846,9.263,1847,8.067,1849,5.552,1850,6.763,1851,7.357,1852,5.657,1853,3.137,1854,9.889,1855,9.593]],["title/modules/AuthorizationModule.html",[252,1.835,1856,3.984]],["body/modules/AuthorizationModule.html",[0,0.216,3,0.012,4,0.012,5,0.006,30,0.001,95,0.144,101,0.008,103,0,104,0,252,2.724,254,2.261,255,2.394,256,2.455,257,2.446,258,2.438,259,3.75,260,3.839,265,5.679,268,7.468,269,3.475,270,2.411,271,2.361,276,3.475,277,0.906,279,2.635,1027,1.928,1801,7.633,1856,8.479,1857,6.278,1858,6.278,1859,6.278,1860,6.278,1861,10.331,1862,7.253,1863,11.424,1864,11.424,1865,10.331,1866,10.331,1867,9.974,1868,9.199,1869,9.974,1870,10.331,1871,10.331,1872,9.974,1873,10.331,1874,10.331,1875,10.331,1876,9.974,1877,10.331,1878,10.331,1879,10.331,1880,6.278,1881,5.279,1882,2.394,1883,6.278,1884,3.857,1885,4.945]],["title/classes/AuthorizationParams.html",[0,0.24,1886,5.639]],["body/classes/AuthorizationParams.html",[0,0.383,2,0.931,3,0.017,4,0.017,5,0.008,7,0.123,27,0.522,30,0.001,32,0.165,33,0.64,47,0.986,95,0.127,101,0.011,103,0.001,104,0.001,112,0.868,190,2.377,200,2.682,289,7.063,299,5.162,300,5.069,442,9.019,454,7.108,856,6.768,899,3.987,998,5.759,1080,4.206,1886,9.019,1887,8.756,1888,9.611,1889,11.3,1890,8.108,1891,8.756,1892,11.3,1893,8.108,1894,8.756,1895,8.756,1896,8.756,1897,8.756,1898,8.108,1899,5.716,1900,8.108,1901,8.108]],["title/modules/AuthorizationReferenceModule.html",[252,1.835,1902,5.089]],["body/modules/AuthorizationReferenceModule.html",[0,0.22,3,0.012,4,0.012,5,0.006,30,0.001,72,4.107,95,0.148,101,0.008,103,0,104,0,157,1.465,252,3.35,254,2.293,255,2.428,256,2.491,257,2.481,258,2.472,259,3.779,260,3.868,265,5.705,268,7.502,269,3.51,270,2.446,271,2.395,276,3.51,277,0.919,279,2.673,289,5.194,339,3.309,412,4.992,543,4.354,1027,1.956,1224,6.445,1475,5.641,1531,8.702,1801,7.668,1829,2.707,1856,7.428,1882,2.428,1902,10.683,1903,6.368,1904,6.368,1905,6.368,1906,6.368,1907,8.702,1908,10.728,1909,9.465,1910,7.583,1911,10.02,1912,9.043,1913,9.465,1914,8.702,1915,8.553,1916,6.368,1917,6.368,1918,6.219,1919,8.974,1920,5.939,1921,6.219,1922,8.974,1923,6.026,1924,6.219,1925,5.455,1926,7.576,1927,5.292,1928,6.575,1929,6.445,1930,8.31,1931,6.72,1932,4.573,1933,6.882,1934,5.015,1935,7.576,1936,2.989,1937,6.368,1938,3.424,1939,6.368,1940,4.157,1941,6.368]],["title/injectables/AuthorizationReferenceService.html",[589,0.929,1908,5.471]],["body/injectables/AuthorizationReferenceService.html",[0,0.244,3,0.013,4,0.013,5,0.007,7,0.099,8,1.113,26,2.969,27,0.432,29,0.842,30,0.001,31,0.615,32,0.147,33,0.505,35,1.117,36,2.5,39,3.264,95,0.146,99,1.447,101,0.009,103,0,104,0,135,1.259,148,0.699,153,1.164,157,1.625,183,5.155,185,3.313,228,1.75,252,2.547,277,1.019,290,1.67,317,2.766,400,2.103,412,4.266,433,0.871,561,4.327,579,2.041,589,1.289,591,1.684,613,5.632,652,1.442,657,2.21,711,3.786,736,6.596,980,3.917,1080,2.434,1475,6.061,1775,7.179,1838,5.861,1846,7.595,1862,6.965,1908,7.595,1911,9.577,1942,11.797,1943,6.54,1944,7.828,1945,8.459,1946,9.642,1947,10.979,1948,10.979,1949,7.062,1950,7.062,1951,7.062,1952,9.199,1953,7.062,1954,7.062,1955,7.062,1956,5.562,1957,7.062,1958,6.54,1959,7.062,1960,6.195,1961,4.248,1962,7.062,1963,5.562]],["title/injectables/AuthorizationService.html",[589,0.929,1862,3.708]],["body/injectables/AuthorizationService.html",[0,0.185,3,0.01,4,0.01,5,0.005,7,0.075,8,0.915,26,2.148,27,0.487,29,0.948,30,0.001,31,0.693,32,0.157,33,0.569,35,1.395,36,1.68,39,1.484,47,0.934,95,0.147,99,1.099,101,0.007,103,0,104,0,122,2.428,135,1.232,148,1.032,153,1.555,183,4.914,185,4.412,195,1.173,228,1.712,268,7.319,277,0.774,279,2.251,290,3.347,317,2.047,433,0.978,478,1.502,569,3.622,579,2.725,589,1.06,591,1.279,610,2.114,641,3.05,652,1.926,657,1.229,711,4.15,1080,1.849,1767,6.625,1775,6.625,1778,8.568,1801,7.481,1804,6.956,1806,7.342,1812,7.342,1816,7.342,1829,3.37,1838,6.333,1849,3.105,1852,7.101,1853,1.754,1862,4.233,1873,9.787,1945,4.706,1956,7.429,1964,5.364,1965,7.928,1966,7.928,1967,5.809,1968,9.432,1969,5.364,1970,5.364,1971,7.928,1972,5.364,1973,7.928,1974,5.364,1975,7.928,1976,5.364,1977,7.928,1978,5.364,1979,5.364,1980,5.364,1981,5.108,1982,5.364,1983,6.333,1984,5.364,1985,4.926,1986,4.355,1987,5.364,1988,5.364,1989,5.364,1990,5.364,1991,5.364,1992,5.247,1993,7.928,1994,3.93,1995,5.364,1996,7.928,1997,4.225]],["title/injectables/AutoContextIdStrategy.html",[589,0.929,1998,6.094]],["body/injectables/AutoContextIdStrategy.html",[0,0.319,3,0.018,4,0.018,5,0.009,7,0.13,8,1.327,27,0.364,29,0.709,30,0.001,31,0.518,32,0.115,33,0.425,35,1.071,47,0.815,95,0.149,101,0.012,103,0.001,104,0.001,125,2.74,148,0.915,183,4.787,277,1.334,417,6.425,589,1.537,591,2.203,614,3.548,703,2.868,1237,2.724,1756,6.591,1998,10.081,1999,9.329,2000,9.329,2001,8.556,2002,9.329,2003,9.329,2004,7.134,2005,7.323,2006,8.556,2007,5.741,2008,9.051,2009,6.115,2010,7.77,2011,8.556]],["title/injectables/AutoContextNameStrategy.html",[589,0.929,2012,6.094]],["body/injectables/AutoContextNameStrategy.html",[0,0.213,3,0.012,4,0.012,5,0.006,7,0.087,8,1.013,26,2.591,27,0.438,29,0.853,30,0.001,31,0.624,32,0.139,33,0.512,35,1.184,36,2.589,47,0.789,95,0.153,99,1.265,101,0.008,103,0,104,0,125,2.093,129,1.847,135,1.595,148,1.164,153,1.017,183,4.676,228,1.854,277,0.891,317,2.836,417,6.573,433,1.083,478,1.728,579,1.783,589,1.174,591,1.472,614,2.71,652,2.669,657,2.8,703,1.916,1080,2.127,1237,1.819,1393,5.035,1756,6.744,1853,2.018,1932,4.433,1999,9.544,2000,9.544,2002,8.294,2003,5.011,2004,6.476,2005,6.615,2007,4.386,2008,6.914,2009,4.085,2010,5.19,2012,7.701,2013,6.172,2014,8.778,2015,8.778,2016,5.415,2017,8.085,2018,9.209,2019,9.411,2020,6.172,2021,8.778,2022,6.172,2023,4.861,2024,8.778,2025,6.172,2026,3.011,2027,6.172,2028,4.622,2029,7.126,2030,4.277,2031,5.227,2032,3.882,2033,4.433,2034,3.423,2035,3.029,2036,7.701,2037,3.976,2038,5.19,2039,4.433,2040,8.778,2041,6.172,2042,5.415,2043,8.778,2044,6.172,2045,6.172,2046,4.622,2047,4.433,2048,2.508,2049,6.172,2050,2.601,2051,6.172,2052,6.172,2053,4.622,2054,6.083,2055,6.172]],["title/interfaces/AutoParameterStrategy.html",[159,0.713,2008,5.471]],["body/interfaces/AutoParameterStrategy.html",[3,0.018,4,0.018,5,0.009,7,0.134,8,1.354,27,0.376,29,0.732,30,0.001,31,0.535,32,0.119,33,0.439,35,1.106,36,2.485,47,0.831,95,0.134,101,0.013,103,0.001,104,0.001,125,2.796,159,0.981,161,2.267,183,3.654,417,6.556,614,3.62,703,2.963,1756,6.726,1999,9.52,2000,9.52,2002,10.303,2003,7.751,2004,7.331,2005,7.374,2007,5.859,2008,9.236,2056,9.547,2057,9.547]],["title/injectables/AutoSchoolIdStrategy.html",[589,0.929,2058,6.094]],["body/injectables/AutoSchoolIdStrategy.html",[0,0.311,3,0.017,4,0.017,5,0.008,7,0.127,8,1.306,27,0.355,29,0.691,30,0.001,31,0.505,32,0.112,33,0.415,35,1.044,47,0.802,95,0.148,101,0.012,103,0.001,104,0.001,125,2.697,148,0.892,183,3.449,277,1.301,417,6.325,571,3.564,589,1.513,591,2.149,614,3.493,703,3.838,1086,4.299,1087,4.165,1088,4.231,1089,4.503,1090,4.92,1237,2.656,1756,6.489,1999,9.184,2000,9.184,2001,8.345,2002,10.039,2003,7.316,2004,7.227,2005,7.283,2006,8.345,2007,5.652,2008,8.911,2009,5.964,2010,7.578,2058,9.925,2059,6.603,2060,6.472,2061,7.906]],["title/injectables/AutoSchoolNumberStrategy.html",[589,0.929,2062,6.094]],["body/injectables/AutoSchoolNumberStrategy.html",[0,0.286,3,0.016,4,0.016,5,0.008,7,0.117,8,1.24,27,0.423,29,0.823,30,0.001,31,0.602,32,0.134,33,0.494,35,0.962,36,2.275,95,0.152,101,0.011,103,0.001,104,0.001,135,1.084,148,0.822,183,3.178,228,1.507,277,1.198,317,2.583,400,2.472,417,6.654,433,1.025,571,3.284,589,1.436,591,1.98,614,3.315,657,1.903,703,4.143,1086,3.962,1087,3.838,1088,3.898,1089,4.149,1090,4.533,1237,2.448,1756,6.827,1853,2.715,1999,9.662,2000,9.662,2002,9.662,2003,6.741,2004,7.075,2005,7.149,2007,5.365,2008,8.458,2009,5.495,2010,6.982,2059,6.084,2060,5.964,2062,9.42,2063,8.303,2064,7.284,2065,8.327,2066,8.303,2067,7.441,2068,8.303,2069,4.945,2070,6.332,2071,7.689,2072,6.982]],["title/classes/AxiosErrorFactory.html",[0,0.24,2073,6.432]],["body/classes/AxiosErrorFactory.html",[0,0.302,2,0.931,3,0.017,4,0.017,5,0.008,7,0.123,8,1.283,27,0.345,29,0.671,30,0.001,31,0.623,33,0.403,95,0.147,101,0.011,103,0.001,104,0.001,135,1.143,148,1.208,153,1.443,158,3.237,193,3.804,195,1.915,231,1.928,277,1.264,339,2.568,402,4.366,516,6.468,575,5.023,871,4.067,998,4.133,1080,3.829,1115,3.351,1169,5.068,1368,4.937,1375,9.359,1477,4.546,2073,11.3,2074,10.287,2075,8.756,2076,11.109,2077,11.109,2078,8.756,2079,8.108,2080,7.108,2081,7.363,2082,10.287,2083,5.795,2084,6.068,2085,11.109,2086,8.756,2087,3.787,2088,8.108,2089,8.756,2090,7.363,2091,8.108,2092,8.756,2093,8.756,2094,11.109]],["title/classes/AxiosErrorLoggable.html",[0,0.24,2095,5.841]],["body/classes/AxiosErrorLoggable.html",[0,0.302,2,0.931,3,0.017,4,0.017,5,0.008,7,0.123,8,1.283,27,0.438,29,0.671,30,0.001,31,0.491,32,0.165,33,0.403,35,1.015,47,0.865,95,0.139,101,0.011,103,0.001,104,0.001,113,3.489,148,0.867,228,2.016,231,1.928,277,1.264,339,2.568,400,2.607,433,1.08,1027,2.689,1115,3.351,1237,3.275,1368,4.937,1422,4.997,1423,5.759,1426,5.759,1468,5.759,1469,6.06,1477,4.546,2081,11.381,2083,5.795,2095,9.342,2096,12.202,2097,8.756,2098,9.137,2099,8.756,2100,8.756,2101,8.756,2102,8.756,2103,8.756,2104,7.363,2105,6.897,2106,8.756,2107,8.756,2108,3.821,2109,8.756,2110,8.756]],["title/classes/AxiosResponseImp.html",[0,0.24,2111,6.432]],["body/classes/AxiosResponseImp.html",[0,0.263,2,0.812,3,0.015,4,0.015,5,0.007,7,0.107,27,0.514,29,0.586,30,0.001,31,0.428,32,0.169,33,0.352,47,0.864,55,2.288,95,0.116,101,0.013,103,0,104,0,112,0.795,135,0.998,148,0.757,153,1.884,232,2.755,333,5.13,339,3.72,402,4.539,433,0.943,435,2.594,501,4.139,532,4.239,571,3.022,576,4.505,881,4.171,1086,3.645,1087,3.531,1088,3.587,1089,3.817,1090,4.171,1169,7.549,1237,2.997,2074,12.328,2079,7.075,2082,11.746,2083,5.056,2087,5.487,2111,10.582,2112,7.075,2113,8.207,2114,12.685,2115,12.685,2116,10.167,2117,12.182,2118,7.64,2119,7.64,2120,7.64,2121,7.64,2122,10.167,2123,10.167,2124,4.05,2125,7.64,2126,4.463,2127,5.209,2128,7.64,2129,7.64,2130,7.64,2131,7.64,2132,6.202,2133,6.424,2134,5.386,2135,7.075]],["title/classes/BBBBaseMeetingConfig.html",[0,0.24,2136,5.201]],["body/classes/BBBBaseMeetingConfig.html",[0,0.346,2,1.065,3,0.019,4,0.019,5,0.009,7,0.141,27,0.476,29,0.769,30,0.001,31,0.562,32,0.151,33,0.461,47,0.856,101,0.013,103,0.001,104,0.001,112,0.944,433,1.237,2087,4.336,2136,10.313,2137,6.824,2138,11.374,2139,7.504,2140,10.024,2141,9.311,2142,10.596,2143,10.024,2144,10.024,2145,9.282,2146,8.794]],["title/interfaces/BBBBaseResponse.html",[159,0.713,2147,4.897]],["body/interfaces/BBBBaseResponse.html",[3,0.019,4,0.019,5,0.009,7,0.142,30,0.001,32,0.162,47,0.993,95,0.115,101,0.013,103,0.001,104,0.001,112,0.947,159,1.035,161,2.392,1115,5.159,2137,5.303,2147,8.542,2148,8.471,2149,10.074,2150,13.48,2151,13.48,2152,12.483,2153,6.124,2154,7.935]],["title/classes/BBBCreateConfig.html",[0,0.24,2155,5.841]],["body/classes/BBBCreateConfig.html",[0,0.241,2,0.742,3,0.013,4,0.013,5,0.006,7,0.098,27,0.541,29,0.535,30,0.001,31,0.753,32,0.171,33,0.654,47,0.988,95,0.08,101,0.013,103,0,104,0,112,0.747,122,2.448,231,1.66,433,0.861,436,2.072,886,2.195,2087,3.017,2136,8.789,2137,7.223,2138,12.039,2139,4.038,2141,6.867,2142,8.388,2145,6.46,2146,6.12,2153,4.24,2155,10.34,2156,6.976,2157,10.909,2158,10.909,2159,11.141,2160,7.22,2161,10.909,2162,9.43,2163,5.684,2164,10.909,2165,10.909,2166,10.102,2167,6.976,2168,6.976,2169,6.976,2170,6.976,2171,6.976,2172,6.976,2173,6.976,2174,6.976,2175,6.976,2176,6.976,2177,6.46,2178,6.46,2179,9.562,2180,9.562,2181,9.562,2182,6.46,2183,2.749,2184,6.976,2185,5.35,2186,6.976,2187,6.976,2188,6.976,2189,6.976,2190,6.976,2191,6.976,2192,6.976,2193,6.976,2194,6.976,2195,6.976,2196,6.976,2197,6.976,2198,6.976]],["title/classes/BBBCreateConfigBuilder.html",[0,0.24,2199,6.094]],["body/classes/BBBCreateConfigBuilder.html",[0,0.245,2,0.756,3,0.014,4,0.014,5,0.007,7,0.1,8,1.119,27,0.503,29,0.907,30,0.001,31,0.694,32,0.154,33,0.544,35,1.434,47,0.927,95,0.126,101,0.009,102,3.77,103,0,104,0,112,0.757,113,3.861,122,2.299,130,3.013,148,1.226,193,3.09,195,1.556,228,1.758,231,1.682,436,2.878,507,5.211,531,3.718,532,2.638,567,2.703,734,5.361,812,4.642,1080,2.451,1476,4.37,2137,6.516,2153,4.323,2155,9.266,2159,11.206,2160,6.412,2162,5.454,2163,3.287,2166,8.972,2199,11.969,2200,11.464,2201,6.586,2202,8.338,2203,8.147,2204,9.688,2205,9.688,2206,9.688,2207,9.688,2208,6.586,2209,7.112,2210,9.688,2211,7.112,2212,9.688,2213,7.112,2214,9.688,2215,7.112,2216,9.688,2217,7.112,2218,3.176,2219,3.575,2220,3.45,2221,4.47,2222,5.326,2223,7.112,2224,7.112,2225,7.112,2226,7.112,2227,7.112,2228,6.239,2229,5.211,2230,5.981,2231,4.044,2232,4.323,2233,4.849,2234,5.602,2235,7.112,2236,5.774,2237,7.112,2238,6.586,2239,7.112,2240,7.112]],["title/interfaces/BBBCreateResponse.html",[159,0.713,2241,6.094]],["body/interfaces/BBBCreateResponse.html",[3,0.016,4,0.016,5,0.008,7,0.121,30,0.001,32,0.176,47,1.025,55,2.805,95,0.098,101,0.011,103,0.001,104,0.001,112,0.86,122,2.812,159,0.886,161,2.048,231,1.91,2137,4.539,2141,9.166,2147,8.543,2148,7.252,2153,5.242,2241,9.653,2242,8.624,2243,11.819,2244,11.819,2245,11.819,2246,11.197,2247,11.819,2248,11.819,2249,11.819,2250,11.819,2251,11.819,2252,7.252]],["title/classes/BBBJoinConfig.html",[0,0.24,2253,5.841]],["body/classes/BBBJoinConfig.html",[0,0.282,2,0.868,3,0.016,4,0.016,5,0.008,7,0.115,27,0.533,29,0.626,30,0.001,31,0.458,32,0.169,33,0.623,39,3.267,47,0.959,95,0.093,101,0.014,103,0.001,104,0.001,112,0.831,122,2.216,231,1.844,242,4.299,331,5.225,433,1.008,436,2.426,886,2.57,2087,3.533,2136,9.363,2137,7.122,2138,11.87,2139,4.728,2141,7.631,2142,9.321,2153,4.965,2177,7.564,2178,7.564,2182,7.564,2222,8.842,2253,10.901,2254,8.168,2255,10.359,2256,11.808,2257,8.481,2258,8.168,2259,8.168,2260,8.168,2261,8.168,2262,8.168,2263,8.168,2264,9.321,2265,10.624,2266,8.168,2267,8.168,2268,5.985,2269,8.168,2270,8.168,2271,8.168,2272,8.168,2273,7.166,2274,8.168]],["title/classes/BBBJoinConfigBuilder.html",[0,0.24,2275,6.094]],["body/classes/BBBJoinConfigBuilder.html",[0,0.282,2,0.868,3,0.016,4,0.016,5,0.008,7,0.115,8,1.227,27,0.511,29,0.906,30,0.001,31,0.662,32,0.156,33,0.543,35,1.449,47,0.837,95,0.121,101,0.011,103,0.001,104,0.001,112,0.831,113,4.234,122,2.463,130,3.634,148,1.169,228,1.928,231,1.844,436,3.156,507,5.201,532,3.941,2137,6.582,2200,11.579,2201,7.564,2202,8.674,2203,8.934,2208,7.564,2222,9.363,2253,6.869,2275,12.035,2276,9.59,2277,10.624,2278,9.838,2279,9.838,2280,10.624,2281,8.168,2282,10.624,2283,8.168,2284,10.624,2285,8.168,2286,8.168,2287,8.168,2288,8.168,2289,8.168,2290,8.168,2291,8.168]],["title/interfaces/BBBJoinResponse.html",[159,0.713,2292,6.432]],["body/interfaces/BBBJoinResponse.html",[3,0.018,4,0.018,5,0.009,7,0.134,30,0.001,32,0.169,47,1.036,95,0.109,101,0.013,103,0.001,104,0.001,110,4.576,112,0.917,159,0.981,161,2.267,231,2.035,2137,5.025,2147,8.948,2148,8.028,2153,5.803,2252,8.028,2292,10.858,2293,8.841,2294,13.236,2295,13.236,2296,13.236,2297,10.425]],["title/interfaces/BBBMeetingInfoResponse.html",[159,0.713,2298,5.471]],["body/interfaces/BBBMeetingInfoResponse.html",[3,0.012,4,0.012,5,0.006,7,0.089,30,0.001,32,0.181,33,0.517,39,1.743,47,1.009,55,2.921,95,0.072,101,0.008,103,0,104,0,112,0.696,122,2.96,131,5.716,158,2.328,159,0.647,161,1.495,172,5.227,231,1.546,331,2.787,514,3.412,2137,3.315,2141,8.064,2147,7.283,2148,5.296,2153,3.828,2243,10.397,2244,10.397,2245,10.397,2246,9.85,2247,10.397,2248,10.397,2249,10.397,2250,5.832,2251,10.397,2252,5.296,2255,5.525,2298,7.014,2299,5.832,2300,4.96,2301,11.228,2302,11.846,2303,11.228,2304,9.85,2305,11.228,2306,11.228,2307,11.228,2308,11.228,2309,11.228,2310,11.228,2311,11.228,2312,8.227,2313,9.85,2314,11.228,2315,11.228,2316,5.832,2317,6.298,2318,6.298,2319,6.298,2320,6.298,2321,6.298,2322,6.298]],["title/interfaces/BBBResponse.html",[159,0.713,2323,5.327]],["body/interfaces/BBBResponse.html",[3,0.02,4,0.02,5,0.01,7,0.149,30,0.001,32,0.132,95,0.121,101,0.014,103,0.001,104,0.001,112,0.975,159,1.087,161,2.512,532,4.921,871,5.015,2137,5.568,2147,7.458,2153,6.43,2252,8.895,2323,9.566,2324,10.578]],["title/injectables/BBBService.html",[589,0.929,2325,5.327]],["body/injectables/BBBService.html",[0,0.121,3,0.007,4,0.007,5,0.003,7,0.049,8,0.656,27,0.468,29,0.953,30,0.001,31,0.653,32,0.142,33,0.51,35,1.497,36,2.468,47,0.958,95,0.133,101,0.005,103,0,104,0,110,4.177,113,4.734,135,1.658,142,1.275,148,1.23,153,1.877,157,0.805,185,3.532,193,1.519,228,1.303,277,0.505,317,1.559,326,2.16,339,1.667,388,4.749,433,0.701,527,2.406,531,4.324,579,2.818,589,0.76,591,0.833,641,1.988,652,2.099,657,0.801,688,1.65,734,3.472,735,2.601,812,3.71,871,1.28,1053,7.009,1054,1.971,1056,2.252,1169,2.023,1295,4.78,1312,4.654,1313,2.384,1314,2.561,1343,4.78,1372,2.992,1390,3.532,1718,4.165,2083,2.314,2087,4.634,2113,5.942,2124,1.853,2136,9.048,2137,6.36,2141,2.511,2146,3.067,2147,2.465,2152,3.237,2153,7.345,2155,9.008,2229,4.165,2232,3.455,2233,3.875,2234,4.477,2241,3.067,2253,7.654,2276,7.48,2298,2.754,2299,9.92,2323,7.48,2325,4.359,2326,3.496,2327,3.573,2328,5.684,2329,5.684,2330,5.263,2331,5.684,2332,4.016,2333,5.831,2334,7.985,2335,3.496,2336,6.716,2337,8.644,2338,3.496,2339,6.301,2340,5.684,2341,3.496,2342,5.942,2343,5.684,2344,3.455,2345,5.263,2346,5.684,2347,5.684,2348,3.496,2349,4.986,2350,5.684,2351,9.716,2352,11.503,2353,3.496,2354,5.263,2355,4.986,2356,9.753,2357,3.232,2358,8.273,2359,5.684,2360,3.496,2361,5.684,2362,3.496,2363,5.684,2364,3.496,2365,7.258,2366,5.684,2367,5.684,2368,3.496,2369,3.178,2370,5.684,2371,3.496,2372,4.986,2373,4.165,2374,3.496,2375,3.496,2376,3.496,2377,3.496,2378,3.496,2379,3.496,2380,3.496,2381,2.754,2382,7.884,2383,2.94,2384,3.496,2385,3.496,2386,3.496,2387,3.496,2388,6.716,2389,3.496,2390,8.273,2391,5.684,2392,1.333,2393,3.496,2394,3.496,2395,3.496,2396,7.182,2397,6.651,2398,9.753,2399,5.684,2400,5.263,2401,7.182,2402,7.182,2403,7.182,2404,7.182,2405,6.651,2406,6.651,2407,3.496,2408,3.496,2409,3.496,2410,3.496,2411,5.263,2412,3.496,2413,3.496,2414,3.496,2415,3.496,2416,4.986,2417,5.263,2418,3.496,2419,3.496,2420,3.496,2421,3.496,2422,3.496,2423,3.496,2424,3.496,2425,3.496,2426,3.496,2427,3.496,2428,3.237,2429,3.237,2430,3.496,2431,3.237,2432,3.496]],["title/classes/BaseDO.html",[0,0.24,1852,4.096]],["body/classes/BaseDO.html",[0,0.347,2,1.071,3,0.019,4,0.019,5,0.009,7,0.142,9,4.681,27,0.477,29,0.773,30,0.001,31,0.565,32,0.151,33,0.598,34,2.359,47,0.978,59,3.127,101,0.013,102,5.34,103,0.001,104,0.001,112,0.947,113,4.828,433,1.243,458,4.03,1852,7.144,2433,10.074,2434,8.26,2435,12.115]],["title/injectables/BaseDORepo.html",[589,0.929,2436,4.897]],["body/injectables/BaseDORepo.html",[0,0.141,3,0.008,4,0.008,5,0.004,7,0.058,8,0.746,9,5.667,10,3.641,12,2.928,18,3.289,26,2.625,27,0.507,29,0.977,30,0.001,31,0.714,32,0.159,33,0.586,34,2.046,35,1.457,36,2.852,40,3.135,47,0.458,49,1.543,55,0.822,95,0.125,96,1.711,97,1.68,99,0.841,101,0.005,102,2.175,103,0,104,0,112,0.505,113,4.766,135,1.725,145,1.533,148,1.157,153,1.065,185,2.22,205,2.568,206,2.107,224,1.197,228,1.173,277,0.592,317,2.866,335,4.276,360,3.674,412,1.816,433,0.506,435,1.393,478,1.149,569,1.277,589,0.864,591,0.978,615,2.494,652,2.532,657,2.678,729,4.477,735,2.957,736,4.898,766,2.223,781,3.6,863,4.398,1027,1.26,1770,3.684,1829,1.744,1852,2.42,1853,1.342,1994,3.006,2139,3.74,2369,2.294,2436,4.555,2437,4.103,2438,4.734,2439,4.734,2440,4.734,2441,4.734,2442,4.641,2443,4.641,2444,4.734,2445,4.641,2446,4.734,2447,3.006,2448,5.069,2449,3.341,2450,4.257,2451,4.103,2452,4.734,2453,4.734,2454,4.103,2455,8.058,2456,4.734,2457,4.103,2458,4.734,2459,4.103,2460,5.289,2461,4.477,2462,4.734,2463,4.103,2464,4.734,2465,4.103,2466,4.734,2467,8.25,2468,4.103,2469,4.103,2470,4.734,2471,4.103,2472,4.477,2473,4.641,2474,4.103,2475,4.734,2476,4.103,2477,3.927,2478,4.061,2479,4.734,2480,4.103,2481,4.734,2482,4.103,2483,2.947,2484,4.734,2485,4.103,2486,4.103,2487,5.399,2488,2.798,2489,3.6,2490,2.843,2491,7.992,2492,4.103,2493,4.103,2494,4.734,2495,4.103,2496,6.392,2497,4.103,2498,4.103,2499,5.089,2500,3.8,2501,2.893,2502,4.955,2503,9.7,2504,6.461,2505,4.015,2506,3.8,2507,4.103,2508,4.103,2509,4.103,2510,4.103,2511,5.246,2512,4.103,2513,4.103,2514,4.103,2515,3.45,2516,4.103,2517,4.103,2518,4.103,2519,4.103,2520,4.103,2521,4.103,2522,4.103,2523,4.103,2524,3.6,2525,4.103,2526,4.103,2527,4.103,2528,4.103,2529,4.103,2530,4.103,2531,3.331,2532,2.443,2533,2.333,2534,4.103,2535,4.103,2536,4.103,2537,3.8]],["title/classes/BaseDomainObject.html",[0,0.24,2538,6.432]],["body/classes/BaseDomainObject.html",[0,0.413,2,1.05,3,0.019,4,0.019,5,0.009,7,0.139,9,6.373,27,0.389,30,0.001,32,0.123,34,2.203,47,0.849,95,0.113,101,0.013,102,6.345,103,0.001,104,0.001,112,0.936,159,1.014,185,3.394,1197,5.351,1237,3.529,1767,7.087,1769,8.664,1882,4.913,2538,11.085,2539,11.97,2540,9.876,2541,9.145,2542,6.963,2543,5.311,2544,8.018,2545,9.145,2546,9.876]],["title/classes/BaseEntity.html",[0,0.24,2488,4.736]],["body/classes/BaseEntity.html",[0,0.397,2,0.826,3,0.015,4,0.015,5,0.007,7,0.109,9,4.778,27,0.405,30,0.001,32,0.159,34,2.242,47,0.817,49,4.613,72,3.557,83,3.355,95,0.14,96,2.723,97,3.183,101,0.016,103,0,104,0,112,0.959,135,1.015,153,1.9,159,0.798,185,2.671,190,2.068,205,2.1,206,2.535,223,3.578,224,2.268,225,3.95,412,3.439,430,4.229,431,4.409,512,3.957,561,3.488,789,7.156,794,5.695,802,5.144,816,5.386,985,4.499,998,3.669,1097,5.48,1237,3.397,1767,6.749,1829,3.304,1882,2.964,2229,5.695,2478,4.886,2488,7.858,2489,6.819,2547,7.198,2548,9.078,2549,10.314,2550,7.773,2551,11.358,2552,7.773,2553,6.536,2554,4.886,2555,5.695,2556,6.536,2557,6.31,2558,6.536,2559,6.536,2560,7.198,2561,4.676,2562,5.008,2563,5.386,2564,4.886,2565,7.198,2566,6.31,2567,7.198,2568,5.219,2569,6.536,2570,6.819,2571,7.198,2572,6.819,2573,7.198]],["title/classes/BaseEntityWithTimestamps.html",[0,0.24,225,2.668]],["body/classes/BaseEntityWithTimestamps.html",[0,0.388,2,0.787,3,0.014,4,0.014,5,0.007,7,0.104,9,4.624,27,0.474,30,0.001,32,0.156,34,2.21,47,0.797,49,4.523,72,3.386,83,3.653,95,0.137,96,2.635,97,3.031,101,0.016,103,0,104,0,112,0.94,129,2.979,130,2.722,135,0.966,153,2.069,159,0.76,185,2.543,190,2.252,205,2.032,206,2.413,223,3.733,224,2.16,225,4.319,412,3.274,430,4.945,431,5.157,512,3.767,561,3.321,789,7.056,794,5.422,802,4.898,816,5.128,985,4.283,998,3.493,1097,5.218,1237,3.315,1767,6.617,1829,3.146,1882,2.822,2229,5.422,2478,4.652,2488,6.786,2489,6.492,2547,6.853,2548,7.839,2549,10.113,2551,11.137,2553,6.223,2554,4.652,2555,5.422,2556,6.223,2557,6.008,2558,6.223,2559,6.223,2560,6.853,2561,4.452,2562,4.768,2563,5.128,2564,4.652,2565,6.853,2566,6.008,2567,6.853,2568,4.969,2569,6.223,2570,6.492,2571,6.853,2572,6.492,2573,6.853,2574,7.4,2575,7.4,2576,7.4,2577,7.4,2578,7.4]],["title/classes/BaseFactory.html",[0,0.24,501,3.763]],["body/classes/BaseFactory.html",[0,0.237,2,0.348,3,0.006,4,0.006,5,0.003,7,0.046,8,0.622,27,0.475,29,0.978,30,0.001,31,0.64,32,0.159,33,0.525,34,1.71,35,1.45,47,0.487,49,1.232,55,2.231,59,2.73,95,0.062,101,0.004,103,0,104,0,112,0.622,113,4.312,127,4.726,129,3.489,130,3.122,135,1.651,145,2.013,148,1.071,153,1.957,157,1.831,159,0.554,172,3.382,185,2.734,192,1.803,205,2.603,206,2.595,228,1.444,326,4.704,374,4.091,388,4.777,400,0.976,433,0.847,435,2.986,467,1.999,501,2.92,502,6.688,505,2.989,506,5.246,507,5.385,508,2.989,509,2.989,510,2.989,511,2.943,512,4.477,513,4.413,514,6.036,515,6.082,516,7.451,522,1.817,523,3.808,525,5.226,526,5.377,527,3.723,528,5.058,529,4.839,530,1.817,531,1.713,532,4.731,533,1.749,534,1.713,535,2.989,537,5.164,538,2.989,539,6.782,540,4.234,541,6.584,543,4.589,544,2.989,546,1.817,548,2.989,550,3.149,551,1.817,552,6.233,554,1.817,555,5.792,556,4.025,557,4.413,559,5.377,560,3.64,561,2.419,562,2.989,563,4.413,564,2.989,567,2.048,568,2.989,569,1.678,571,4.131,572,2.989,575,1.879,655,2.874,789,1.789,804,2.453,1086,3.796,1087,3.678,1088,3.736,1089,3.976,1090,3.749,1091,2.2,1103,2.513,1167,6.417,1658,2.874,2134,3.8,2505,3.349,2579,3.276,2580,3.473,2581,5.39,2582,3.276,2583,5.39,2584,3.276,2585,3.276,2586,3.276,2587,3.276,2588,3.276,2589,3.276,2590,3.276,2591,3.276,2592,3.276,2593,3.276,2594,3.276,2595,3.276,2596,4.991,2597,4.134,2598,3.276,2599,3.276,2600,3.276,2601,3.276,2602,3.276,2603,3.034,2604,5.39,2605,5.39,2606,3.276,2607,3.276,2608,7.957,2609,3.276,2610,10.444,2611,7.957,2612,3.276,2613,3.276,2614,3.276,2615,3.276,2616,3.276,2617,3.276,2618,3.276,2619,3.276,2620,3.276,2621,3.276,2622,3.276]],["title/injectables/BaseRepo.html",[589,0.929,728,4.02]],["body/injectables/BaseRepo.html",[0,0.235,3,0.013,4,0.013,5,0.006,7,0.096,8,1.087,9,4.375,10,3.781,12,4.267,18,4.794,26,2.397,27,0.497,29,0.936,30,0.001,31,0.684,32,0.152,33,0.561,34,1.61,35,1.347,36,2.833,40,4.568,49,4.373,95,0.144,96,2.493,97,2.794,99,1.398,101,0.009,103,0,104,0,135,0.891,148,0.932,157,1.57,205,1.922,206,3.07,224,1.991,228,1.238,277,0.985,317,2.901,433,0.842,478,1.91,532,5.257,574,3.846,589,1.259,591,1.627,619,6.763,657,2.158,728,5.45,734,3.952,735,4.309,736,6.058,759,5.607,761,5.664,764,5.664,766,3.696,1832,5.99,1882,3.591,1920,6.232,1921,6.525,2369,3.814,2436,6.639,2447,4.998,2448,6.501,2452,6.899,2487,5.607,2488,4.651,2490,4.727,2500,6.317,2506,6.317,2511,5.538,2623,6.822,2624,5.706,2625,8.719,2626,9.416,2627,9.416,2628,8.719,2629,5.723,2630,6.42,2631,6.42,2632,6.822,2633,6.822,2634,6.822,2635,6.822,2636,6.822,2637,6.822,2638,6.822]],["title/interfaces/BaseResponseMapper.html",[159,0.713,2639,5.089]],["body/interfaces/BaseResponseMapper.html",[3,0.018,4,0.018,5,0.009,7,0.136,8,1.362,27,0.465,29,0.905,30,0.001,31,0.661,32,0.166,33,0.543,35,1.367,95,0.135,100,3.363,101,0.013,103,0.001,104,0.001,122,2.46,159,0.99,161,2.288,532,5.142,830,6.541,1853,3.152,2048,4.792,2639,8.642,2640,12.745,2641,9.639,2642,9.046,2643,9.046,2644,9.639,2645,8.832,2646,9.639,2647,10.347,2648,4.599]],["title/classes/BaseUc.html",[0,0.24,2649,5.327]],["body/classes/BaseUc.html",[0,0.227,2,0.699,3,0.012,4,0.012,5,0.006,7,0.092,8,1.06,9,3.055,26,2.769,27,0.451,29,0.878,30,0.001,31,0.641,32,0.143,33,0.527,35,1.225,36,2.425,39,3.331,59,2.041,95,0.137,99,1.348,101,0.009,103,0,104,0,113,5.41,135,1.572,148,1.047,153,1.513,183,3.513,195,1.439,197,1.828,228,1.666,277,0.949,290,1.555,317,2.878,331,2.91,433,1.133,543,3.19,579,2.652,610,2.591,657,2.623,693,2.994,1197,7.073,1778,4.134,1793,4.352,1829,2.795,1853,2.15,1862,6.657,1885,5.18,1918,4.557,1961,3.956,1967,7.748,2050,2.772,2533,3.739,2648,6.409,2649,7.04,2650,6.576,2651,7.23,2652,7.23,2653,4.818,2654,8.868,2655,6.576,2656,5.043,2657,8.82,2658,9.191,2659,6.576,2660,7.23,2661,7.774,2662,6.576,2663,7.23,2664,7.595,2665,6.576,2666,3.04,2667,5.466,2668,7.748,2669,6.576,2670,6.09,2671,4.818,2672,6.576,2673,6.576,2674,5.769,2675,6.576,2676,6.576,2677,6.576,2678,7.719,2679,5.769,2680,5.043]],["title/classes/BasicToolConfig.html",[0,0.24,2681,5.089]],["body/classes/BasicToolConfig.html",[0,0.325,2,1.003,3,0.018,4,0.018,5,0.009,7,0.133,27,0.497,29,0.724,30,0.001,31,0.529,32,0.172,33,0.434,47,0.669,95,0.133,101,0.012,103,0.001,104,0.001,112,0.91,231,2.02,232,3.154,233,2.944,433,1.164,435,3.204,436,3.457,614,2.913,2035,4.63,2332,7.059,2681,9.921,2682,5.275,2683,11.641,2684,4.093,2685,7.934,2686,10.139,2687,8.737,2688,8.277,2689,6.563,2690,8.277,2691,8.277,2692,6.652,2693,6.776]],["title/classes/BasicToolConfigEntity.html",[0,0.24,2694,5.639]],["body/classes/BasicToolConfigEntity.html",[0,0.335,2,1.032,3,0.018,4,0.018,5,0.009,27,0.382,29,0.745,30,0.001,31,0.544,32,0.121,33,0.447,95,0.146,96,2.571,101,0.013,103,0.001,104,0.001,224,2.833,231,1.685,232,3.21,433,1.198,435,3.297,457,5.384,614,2.998,2035,4.765,2108,4.237,2682,5.368,2684,4.146,2689,5.474,2692,8.352,2693,6.973,2694,11.082,2695,11.847,2696,8.164,2697,9.709,2698,6.031,2699,9.618,2700,8.517,2701,5.474,2702,6.845]],["title/classes/BasicToolConfigParams.html",[0,0.24,2703,5.639]],["body/classes/BasicToolConfigParams.html",[0,0.401,2,1.001,3,0.018,4,0.018,5,0.009,7,0.132,27,0.458,30,0.001,32,0.169,47,0.824,95,0.15,101,0.012,103,0.001,104,0.001,112,0.909,190,2.086,200,2.883,202,2.162,231,2.018,296,3.294,299,4.53,436,3.452,614,2.906,899,4.286,2035,4.62,2332,7.051,2682,4.265,2684,3.769,2689,7.11,2703,9.437,2704,9.413,2705,8.716,2706,9.914,2707,6.523,2708,7.642,2709,7.642,2710,7.642,2711,7.642,2712,7.642]],["title/classes/BasicToolConfigResponse.html",[0,0.24,2713,5.841]],["body/classes/BasicToolConfigResponse.html",[0,0.312,2,0.962,3,0.017,4,0.017,5,0.008,7,0.127,27,0.488,29,0.694,30,0.001,31,0.507,32,0.17,33,0.416,47,0.804,95,0.141,101,0.012,103,0.001,104,0.001,112,0.887,190,2.036,202,2.079,231,1.969,232,3.074,233,2.825,296,3.494,433,1.117,435,3.074,436,3.37,614,2.795,2035,4.443,2108,3.951,2332,6.928,2682,5.141,2684,4.018,2689,6.986,2692,6.382,2693,6.501,2702,6.382,2713,11.249,2714,11.345,2715,7.349,2716,10.861,2717,9.052,2718,7.941,2719,7.941,2720,7.349]],["title/injectables/BasicToolLaunchStrategy.html",[589,0.929,2721,5.841]],["body/injectables/BasicToolLaunchStrategy.html",[0,0.158,3,0.009,4,0.009,5,0.004,7,0.065,8,0.814,9,2.133,26,2.262,27,0.514,29,0.989,30,0.001,31,0.723,32,0.166,33,0.594,35,1.495,36,2.421,39,2.375,47,0.875,95,0.119,99,0.941,101,0.006,103,0,104,0,110,3.33,112,0.858,122,0.958,125,2.297,130,1.928,134,1.622,135,1.357,142,3.132,145,1.715,148,0.954,172,2.997,223,2.189,228,1.28,231,1.224,277,0.663,317,2.678,326,2.68,339,3.218,436,3.874,569,2.195,571,2.789,589,0.943,591,1.095,652,2.749,711,3.832,1078,2.013,1086,3.364,1087,3.259,1088,3.31,1089,3.523,1090,3.85,1476,5.275,1723,2.611,1756,2.634,2004,6.754,2005,6.706,2059,5.167,2060,5.064,2684,2.286,2721,5.929,2722,4.028,2723,4.591,2724,4.251,2725,12.386,2726,6.53,2727,7.95,2728,6.53,2729,6.53,2730,6.53,2731,6.53,2732,6.53,2733,6.53,2734,6.53,2735,6.53,2736,6.186,2737,6.186,2738,6.53,2739,6.53,2740,4.251,2741,9.286,2742,4.251,2743,6.53,2744,11.058,2745,4.591,2746,6.53,2747,4.591,2748,9.225,2749,4.251,2750,6.53,2751,7.457,2752,5.408,2753,4.251,2754,4.251,2755,6.53,2756,6.791,2757,4.251,2758,4.251,2759,6.53,2760,4.251,2761,4.251,2762,4.263,2763,4.251,2764,8.414,2765,4.251,2766,4.251,2767,4.251,2768,4.251,2769,4.028,2770,4.028,2771,4.251,2772,4.251,2773,4.251,2774,3.364,2775,4.251,2776,6.53,2777,6.375,2778,4.251,2779,4.251,2780,6.53,2781,4.251,2782,2.507,2783,4.251,2784,4.028,2785,4.251,2786,3.13,2787,4.028,2788,3.521,2789,7.051,2790,4.591,2791,7.051,2792,6.53,2793,4.591,2794,4.591,2795,4.591,2796,4.591,2797,7.051,2798,4.591,2799,4.591,2800,4.028]],["title/injectables/BatchDeletionService.html",[589,0.929,2801,5.841]],["body/injectables/BatchDeletionService.html",[0,0.241,3,0.013,4,0.013,5,0.006,7,0.098,8,1.106,27,0.378,29,0.735,30,0.001,31,0.537,32,0.119,33,0.441,35,0.811,36,2.031,55,2.189,59,2.173,95,0.134,101,0.009,103,0,104,0,135,1.535,141,3.001,145,2.615,148,0.693,153,1.154,159,0.719,193,3.042,228,1.27,277,1.01,317,2.372,400,2.084,433,0.864,534,3.659,571,3.791,589,1.282,591,1.669,612,4.701,628,4.169,629,5.045,657,2.694,871,4.001,873,4.454,1080,3.767,1086,4.573,1087,4.43,1088,4.5,1115,2.679,1328,3.711,1329,4.255,1393,6.742,1461,5.242,1561,6.757,1626,6.061,1749,3.981,2202,4.57,2357,6.215,2801,8.06,2802,10.929,2803,7,2804,10.929,2805,6.482,2806,10.321,2807,7,2808,7,2809,9.015,2810,11.773,2811,7,2812,10.121,2813,6.141,2814,6.141,2815,5.086,2816,7.549,2817,11.4,2818,4.633,2819,5.599,2820,5.683,2821,4.633,2822,7,2823,5.887,2824,6.436,2825,6.343,2826,9.584,2827,6.482,2828,5.683,2829,7,2830,7,2831,7,2832,7,2833,7.781,2834,5.683,2835,7,2836,5.514,2837,7,2838,7,2839,7,2840,7,2841,5.242,2842,7,2843,5.514,2844,5.369,2845,4.51,2846,7,2847,5.683,2848,6.141,2849,5.683]],["title/interfaces/BatchDeletionSummary.html",[159,0.713,2850,5.841]],["body/interfaces/BatchDeletionSummary.html",[3,0.018,4,0.018,5,0.009,7,0.135,30,0.001,32,0.17,47,0.902,55,2.857,95,0.11,101,0.013,103,0.001,104,0.001,112,0.919,159,0.985,161,2.278,401,5.364,1355,7.605,2819,6.87,2850,9.889,2851,8.883,2852,9.593,2853,12.277,2854,12.277,2855,12.277,2856,12.277,2857,11.149,2858,8.067,2859,9.593]],["title/classes/BatchDeletionSummaryBuilder.html",[0,0.24,2860,6.094]],["body/classes/BatchDeletionSummaryBuilder.html",[0,0.338,2,1.042,3,0.019,4,0.019,5,0.009,7,0.138,8,1.376,27,0.386,29,0.752,30,0.001,31,0.55,32,0.122,33,0.451,35,1.136,55,2.571,95,0.112,101,0.013,103,0.001,104,0.001,145,4.451,148,0.971,159,1.007,467,3.738,507,5.249,1355,5.623,2819,6.961,2850,10.797,2853,11.036,2854,9.078,2855,9.078,2856,9.078,2860,10.455,2861,11.036,2862,9.803,2863,11.917,2864,9.803,2865,9.078,2866,9.803]],["title/interfaces/BatchDeletionSummaryDetail.html",[159,0.713,2857,5.841]],["body/interfaces/BatchDeletionSummaryDetail.html",[3,0.02,4,0.02,5,0.009,7,0.145,30,0.001,32,0.153,95,0.117,101,0.013,103,0.001,104,0.001,112,0.959,159,1.056,161,2.441,401,5.748,2357,7.717,2809,10.408,2816,10.69,2819,6.005,2851,9.52,2857,10.312,2867,10.28,2868,9.747,2869,6.54]],["title/classes/BatchDeletionSummaryDetailBuilder.html",[0,0.24,2870,6.094]],["body/classes/BatchDeletionSummaryDetailBuilder.html",[0,0.333,2,1.027,3,0.018,4,0.018,5,0.009,7,0.136,8,1.364,27,0.381,29,0.741,30,0.001,31,0.542,32,0.12,33,0.445,35,1.12,95,0.135,101,0.013,103,0.001,104,0.001,148,0.957,159,0.992,401,6.604,467,3.714,507,5.202,2357,6.717,2809,10.193,2816,10.469,2819,6.9,2857,10.729,2861,10.938,2868,9.546,2869,6.147,2870,10.363,2871,9.662,2872,11.812,2873,9.662]],["title/injectables/BatchDeletionUc.html",[589,0.929,2874,5.841]],["body/injectables/BatchDeletionUc.html",[0,0.229,3,0.013,4,0.013,5,0.01,7,0.094,8,1.068,27,0.364,29,0.71,30,0.001,31,0.519,32,0.115,33,0.426,35,0.771,36,1.961,47,0.857,55,2.571,59,2.065,95,0.131,101,0.009,103,0,104,0,129,1.991,130,1.819,135,1.634,141,2.852,145,2.485,153,1.097,159,0.683,228,1.207,277,0.96,290,2.188,317,2.309,329,5.625,340,4.286,347,3.409,400,1.981,401,3.72,409,4.232,413,4.044,414,3.365,415,3.783,433,0.821,534,4.837,579,2.674,589,1.237,591,1.586,610,3.646,641,3.783,657,1.525,873,4.232,876,3.454,1076,4.232,1080,3.964,1393,5.308,1461,4.981,1626,3.689,1749,3.783,1835,3.409,1842,3.029,1926,4.467,2202,4.342,2229,4.874,2304,5.836,2313,8.118,2327,4.182,2344,4.044,2533,3.783,2543,3.578,2801,10.524,2809,7.097,2810,10.651,2812,11.195,2817,10.651,2818,6.124,2819,5.405,2850,7.781,2858,7.781,2860,5.836,2865,6.16,2868,4.778,2869,4.232,2870,5.836,2874,7.781,2875,10.64,2876,6.652,2877,10.64,2878,6.652,2879,6.652,2880,6.652,2881,7.146,2882,7.891,2883,6.652,2884,7.781,2885,9.853,2886,5.836,2887,5.836,2888,6.16,2889,6.652,2890,6.652,2891,5.836,2892,5.24,2893,4.087,2894,3.174,2895,6.652,2896,6.652,2897,4.002,2898,6.652,2899,6.652,2900,3.783,2901,6.16,2902,6.16,2903,6.16,2904,6.646,2905,4.981,2906,8.569,2907,6.652,2908,3.85,2909,5.24,2910,9.253,2911,9.253,2912,5.102,2913,6.16,2914,8.118,2915,6.652,2916,5.594,2917,5.401,2918,6.652,2919,7.781,2920,5.356]],["title/entities/Board.html",[205,1.418,2050,2.928]],["body/entities/Board.html",[0,0.195,3,0.011,4,0.011,5,0.005,7,0.079,26,2.443,27,0.324,30,0.001,32,0.133,34,0.965,95,0.153,96,1.494,101,0.011,103,0,104,0,112,0.643,122,1.177,125,1.962,129,1.689,130,1.543,134,1.994,135,1.739,148,1.173,153,2.067,159,0.58,190,1.477,195,2.335,205,1.68,206,1.84,219,4.601,224,1.647,225,3.161,226,2.557,229,2.232,231,0.979,232,1.529,233,1.761,277,0.814,409,3.59,415,3.209,569,1.756,579,2.807,585,4.134,628,3.36,652,2.317,653,4.01,896,4.601,1821,2.738,1936,2.649,2026,4.015,2032,4.766,2048,4.815,2050,4.995,2532,3.36,2555,7.117,2893,7.517,2921,7.651,2922,5.643,2923,5.643,2924,4.935,2925,6.311,2926,5.643,2927,4.564,2928,8.229,2929,6.681,2930,5.643,2931,3.129,2932,6.482,2933,4.134,2934,3.266,2935,2.991,2936,5.302,2937,3.36,2938,4.426,2939,3.978,2940,4.445,2941,3.547,2942,7.527,2943,11.612,2944,8.168,2945,6.311,2946,4.393,2947,5.91,2948,4.95,2949,6.681,2950,6.681,2951,8.229,2952,5.643,2953,3.683,2954,5.643,2955,5.643,2956,8.229,2957,4.745,2958,5.643,2959,9.713,2960,5.643,2961,5.643,2962,5.643,2963,5.643,2964,5.643,2965,8.229,2966,5.643,2967,8.229,2968,8.229,2969,5.643,2970,5.643,2971,4.581,2972,5.643,2973,5.643,2974,5.225,2975,5.643,2976,3.91,2977,5.643,2978,4.745,2979,5.643,2980,5.643,2981,5.643,2982,5.643,2983,5.643,2984,5.643,2985,5.643,2986,5.643,2987,5.643,2988,5.643,2989,5.643,2990,5.643,2991,5.643,2992,4.837,2993,5.643,2994,8.229,2995,5.643,2996,5.643,2997,5.643,2998,5.643,2999,11.85,3000,4.95]],["title/modules/BoardApiModule.html",[252,1.835,3001,5.841]],["body/modules/BoardApiModule.html",[0,0.276,3,0.015,4,0.015,5,0.007,30,0.001,95,0.156,101,0.011,103,0.001,104,0.001,252,3.089,254,2.883,255,3.053,256,3.131,257,3.12,258,3.108,259,4.252,260,2.98,265,6.109,269,4.101,270,3.075,271,3.011,273,5.032,274,4.383,276,4.101,277,1.155,314,3.064,1027,2.459,1856,6.015,1931,9.896,1935,7.041,2666,3.7,3001,12.169,3002,8.005,3003,8.005,3004,8.005,3005,10.729,3006,10.409,3007,10.729,3008,10.729,3009,11.113,3010,8.005,3011,10.258,3012,10.258,3013,10.258,3014,10.258,3015,10.258,3016,8.005,3017,3.778,3018,7.023,3019,7.413,3020,7.413]],["title/classes/BoardColumnBoardResponse.html",[0,0.24,3021,5.841]],["body/classes/BoardColumnBoardResponse.html",[0,0.264,2,0.814,3,0.015,4,0.015,5,0.007,7,0.108,27,0.525,29,0.587,30,0.001,31,0.429,32,0.166,33,0.352,34,2.171,47,0.925,83,3.549,95,0.116,101,0.01,103,0,104,0,112,0.796,122,2.123,155,4.026,190,2.342,202,1.758,296,3.667,298,3.311,430,5.219,431,5.442,433,1.256,458,3.062,460,4.653,462,4.653,821,3.897,2946,7.641,3021,10.673,3022,10.655,3023,10.655,3024,7.654,3025,9.734,3026,8.4,3027,7.654,3028,7.654,3029,7.654,3030,7.654,3031,7.654,3032,5.397,3033,7.654,3034,7.654,3035,6.325,3036,7.654,3037,3.672,3038,7.088]],["title/classes/BoardComposite.html",[0,0.24,3039,4.178]],["body/classes/BoardComposite.html",[0,0.203,2,0.627,3,0.011,4,0.011,5,0.005,7,0.083,8,0.981,9,6.098,26,1.752,27,0.523,29,0.923,30,0.001,31,0.675,32,0.161,33,0.554,34,1.454,35,1.437,36,1.801,55,1.995,59,1.831,83,3.173,95,0.132,99,1.209,101,0.011,103,0,104,0,112,0.664,113,3.387,122,2.274,134,2.084,135,0.77,145,2.204,148,1.079,153,1.642,159,0.606,185,2.921,189,5.222,231,1.475,277,0.852,430,4.482,431,4.674,435,2.886,436,2.524,532,3.153,569,3.745,579,2.879,711,2.524,735,3.889,985,3.415,1626,4.714,1770,4.889,1773,6.121,1829,2.508,1849,3.415,1850,4.16,1851,4.525,2533,3.355,2648,6.56,2667,3.513,2934,3.415,3039,5.113,3040,12.154,3041,5.463,3042,5.992,3043,5.992,3044,5.992,3045,5.548,3046,5.992,3047,7.554,3048,3.708,3049,5.166,3050,6.368,3051,5.9,3052,5.89,3053,5.166,3054,6.253,3055,5.9,3056,5.89,3057,6.777,3058,5.9,3059,7.796,3060,5.89,3061,5.9,3062,6.104,3063,5.9,3064,5.89,3065,5.9,3066,3.708,3067,5.463,3068,5.9,3069,4.647,3070,5.9,3071,4.647,3072,5.9,3073,7.87,3074,4.088,3075,4.088,3076,5.463,3077,5.463,3078,5.463,3079,7.87,3080,5.463,3081,5.463,3082,5.463,3083,3.549,3084,5.463,3085,5.463,3086,5.463,3087,5.463,3088,7.456,3089,3.851,3090,5.992,3091,5.463,3092,5.176,3093,3.549]],["title/interfaces/BoardCompositeProps.html",[159,0.713,3093,4.178]],["body/interfaces/BoardCompositeProps.html",[0,0.251,3,0.014,4,0.014,5,0.007,7,0.103,9,5.555,26,2.465,30,0.001,32,0.16,33,0.453,34,2.136,36,1.545,55,1.46,83,3.895,95,0.143,99,1.495,101,0.013,103,0,104,0,112,0.77,122,2.056,134,2.577,135,0.952,145,2.724,148,1.184,153,1.84,159,0.749,161,1.732,185,3.387,231,1.266,277,1.053,430,5.135,431,5.354,569,3.474,579,3.226,985,4.221,1626,5.466,1770,4.004,1829,3.1,1849,4.221,1850,5.142,1851,5.593,2533,4.147,2648,6.47,2667,4.343,2934,4.221,3039,4.387,3040,6.753,3041,6.753,3047,8.653,3049,4.433,3050,5.757,3053,4.433,3054,5.653,3056,5.054,3057,6.871,3059,7.515,3060,5.054,3062,5.238,3064,5.054,3073,9.126,3074,5.054,3075,5.054,3076,6.753,3077,6.753,3078,6.753,3079,9.126,3080,6.753,3081,6.753,3082,6.753,3083,4.387,3084,6.753,3085,6.753,3086,6.753,3087,6.753,3088,8.646,3089,4.76,3090,6.948,3091,6.753,3092,6.398,3093,5.928]],["title/interfaces/BoardCompositeVisitor.html",[159,0.713,3050,4.058]],["body/interfaces/BoardCompositeVisitor.html",[3,0.011,4,0.011,5,0.008,7,0.083,8,0.981,27,0.517,29,1.007,30,0.001,31,0.736,32,0.175,33,0.604,35,1.521,36,2.781,95,0.15,101,0.011,103,0,104,0,159,0.873,161,1.401,569,4.383,614,1.822,2031,7.166,2369,3.299,2661,7.166,2684,1.913,2894,2.815,2946,6.621,3050,4.965,3054,3.384,3094,10.468,3095,12.307,3096,5.463,3097,7.87,3098,7.87,3099,7.87,3100,7.87,3101,7.87,3102,7.87,3103,7.87,3104,7.87,3105,7.87,3106,7.87,3107,7.456,3108,6.903,3109,5.9,3110,7.456,3111,5.9,3112,7.456,3113,5.9,3114,7.456,3115,7.964,3116,5.9,3117,7.456,3118,7.964,3119,5.9,3120,7.456,3121,7.477,3122,5.9,3123,7.456,3124,7.964,3125,5.9,3126,7.456,3127,7.394,3128,5.9,3129,7.456,3130,7.656,3131,5.9,3132,7.456,3133,5.9,3134,4.525,3135,8.484,3136,4.961,3137,5.463,3138,4.961,3139,4.418,3140,3.832,3141,3.586,3142,4.79,3143,4.961,3144,4.961,3145,4.961,3146,4.961,3147,4.961,3148,4.961,3149,4.961,3150,4.961,3151,5.463,3152,4.961]],["title/interfaces/BoardCompositeVisitorAsync.html",[159,0.713,3054,3.984]],["body/interfaces/BoardCompositeVisitorAsync.html",[3,0.011,4,0.011,5,0.008,7,0.083,8,0.981,27,0.517,29,1.007,30,0.001,31,0.736,32,0.175,33,0.604,35,1.521,36,2.984,95,0.15,101,0.011,103,0,104,0,159,0.873,161,1.401,569,4.085,614,1.822,2031,7.166,2369,3.299,2661,7.166,2684,1.913,2894,2.815,2946,6.621,3050,3.446,3054,4.875,3094,10.468,3095,12.307,3096,5.463,3107,5.176,3108,6.903,3110,5.176,3112,5.176,3114,5.176,3115,7.964,3117,5.176,3118,7.964,3120,5.176,3121,7.477,3123,5.176,3124,7.964,3126,5.176,3127,7.394,3129,5.176,3130,7.656,3132,5.176,3134,4.525,3135,8.484,3136,4.961,3137,5.463,3138,4.961,3139,4.418,3140,3.832,3141,3.586,3142,4.79,3143,7.147,3144,7.147,3145,7.147,3146,7.147,3147,7.147,3148,7.147,3149,7.147,3150,7.147,3151,7.87,3152,7.147,3153,7.147,3154,7.147,3155,7.147,3156,7.147,3157,7.147,3158,7.147,3159,7.147,3160,7.147,3161,7.147,3162,7.147,3163,5.9,3164,5.9,3165,5.9,3166,5.9,3167,5.9,3168,5.9,3169,5.9,3170,5.9,3171,5.9,3172,5.9]],["title/classes/BoardContextResponse.html",[0,0.24,3173,6.094]],["body/classes/BoardContextResponse.html",[0,0.314,2,0.967,3,0.017,4,0.017,5,0.008,7,0.128,27,0.489,29,0.697,30,0.001,31,0.51,32,0.175,33,0.418,34,2.291,47,0.807,95,0.13,101,0.012,103,0.001,104,0.001,112,0.889,190,2.042,202,2.088,296,3.243,304,4.489,433,1.404,458,3.638,821,4.629,886,2.861,1853,2.973,2030,9.607,2108,3.969,3173,11.752,3174,13.011,3175,9.093,3176,9.093,3177,5.936,3178,6.074,3179,6.074,3180,9.093,3181,5.415,3182,5.313,3183,9.093]],["title/controllers/BoardController.html",[314,2.658,3011,6.094]],["body/controllers/BoardController.html",[0,0.157,3,0.009,4,0.009,5,0.004,7,0.064,8,0.807,10,3.423,27,0.407,29,0.793,30,0.001,31,0.58,32,0.179,33,0.476,35,1.198,36,2.607,95,0.134,100,1.584,101,0.006,103,0,104,0,135,1.426,148,0.844,153,1.405,155,2.217,183,2.675,190,1.856,202,1.042,228,0.824,274,1.897,277,0.655,314,1.737,316,2.19,317,2.851,325,6.58,333,6.429,337,7.56,342,8.032,345,8.837,349,6.957,379,3.559,388,4.433,389,2.963,390,6.44,391,8.397,392,2.373,393,2.241,395,2.441,398,2.459,400,1.352,401,5.781,402,4.865,657,2.37,675,2.311,734,2.934,871,3.998,1351,7.333,2050,4.603,2667,6.504,2935,5.789,2946,4.551,3005,6.92,3011,6.132,3017,2.142,3173,6.132,3184,4.539,3185,4.203,3186,7.893,3187,6.473,3188,8.524,3189,8.524,3190,7.893,3191,4.539,3192,11.624,3193,7.426,3194,10.339,3195,5.234,3196,4.539,3197,7.742,3198,7.742,3199,4.539,3200,4.539,3201,8.032,3202,4.539,3203,5.506,3204,4.539,3205,4.539,3206,4.539,3207,4.539,3208,4.539,3209,4.539,3210,4.539,3211,6.99,3212,4.539,3213,4.539,3214,4.539,3215,4.539,3216,6.714,3217,7.773,3218,4.046,3219,4.539,3220,4.539,3221,2.341,3222,3.048,3223,2.498,3224,5.878,3225,5.675,3226,4.539,3227,4.539,3228,3.982,3229,3.817,3230,3.685,3231,4.539,3232,4.539,3233,4.539,3234,10.339,3235,4.539,3236,4.539,3237,4.539,3238,4.539,3239,4.539,3240,5.122,3241,5.234,3242,4.539,3243,4.539,3244,3.982,3245,4.539,3246,4.539,3247,4.539,3248,4.539,3249,4.539,3250,4.203]],["title/injectables/BoardCopyService.html",[589,0.929,3251,5.841]],["body/injectables/BoardCopyService.html",[0,0.127,3,0.007,4,0.007,5,0.003,7,0.052,8,0.683,27,0.444,29,0.864,30,0.001,31,0.632,32,0.15,33,0.518,34,0.629,35,1.265,36,2.505,39,1.017,55,0.736,95,0.138,101,0.005,103,0,104,0,125,0.876,135,1.675,148,1.244,153,1.54,155,1.877,205,0.75,228,1.811,277,0.53,279,1.542,290,3.289,317,2.727,326,2.249,402,4.032,433,0.73,478,1.029,571,2.341,578,1.921,589,0.791,591,0.876,629,1.934,652,2.779,653,3.068,657,1.703,695,2.639,896,4.155,1027,1.129,1317,2.31,1328,1.948,1329,2.234,1660,7.473,1835,1.883,1853,1.202,2030,2.547,2031,3.525,2032,4.776,2050,4.423,2053,2.752,2449,2.474,2450,3.999,2477,3.598,2494,2.693,2893,5.234,2938,5.022,2940,4.274,2942,8.156,2945,4.539,2947,7.537,2949,4.805,2950,4.805,2957,3.09,2992,3.86,3025,2.818,3251,4.977,3252,11.567,3253,2.895,3254,5.918,3255,7.43,3256,6.881,3257,4.977,3258,4.805,3259,5.918,3260,5.918,3261,5.918,3262,2.468,3263,7.858,3264,8.266,3265,8.825,3266,8.825,3267,7.689,3268,3.675,3269,5.918,3270,8.518,3271,3.675,3272,3.675,3273,10.192,3274,3.675,3275,7.43,3276,3.675,3277,3.675,3278,5.918,3279,3.675,3280,3.403,3281,5.918,3282,3.675,3283,3.224,3284,5.918,3285,8.203,3286,3.675,3287,9.339,3288,5.918,3289,3.675,3290,4.805,3291,5.918,3292,3.675,3293,5.481,3294,3.675,3295,3.09,3296,2.895,3297,2.752,3298,2.258,3299,2.09,3300,3.675,3301,3.675,3302,3.09,3303,3.09,3304,3.09,3305,5.699,3306,3.675,3307,3.675,3308,3.403,3309,2.818,3310,5.192,3311,3.675,3312,3.675,3313,3.675,3314,7.43,3315,3.675,3316,3.224,3317,2.895,3318,3.09,3319,3.675,3320,3.675,3321,9.718,3322,3.675,3323,3.675,3324,3.675,3325,3.09,3326,3.675,3327,5.481,3328,3.675,3329,3.675,3330,6.519,3331,3.09,3332,3.675,3333,3.675,3334,7.43,3335,3.09,3336,3.675,3337,3.675,3338,3.09,3339,3.675,3340,3.675,3341,4.251,3342,3.675,3343,4.251,3344,4.539,3345,3.675,3346,3.675,3347,3.675,3348,3.675,3349,3.224,3350,3.224,3351,3.403,3352,3.224,3353,3.09,3354,3.403,3355,3.675,3356,3.403,3357,3.224,3358,3.403,3359,3.675,3360,3.675,3361,3.675,3362,3.675,3363,3.675,3364,3.675,3365,3.675,3366,3.675,3367,3.675,3368,3.675,3369,5.918,3370,3.675,3371,5.918,3372,5.918,3373,3.675,3374,3.675,3375,3.675,3376,3.675,3377,3.675,3378,3.675,3379,3.675,3380,3.675]],["title/classes/BoardDoAuthorizable.html",[0,0.24,2668,5.089]],["body/classes/BoardDoAuthorizable.html",[0,0.263,2,0.811,3,0.014,4,0.014,5,0.007,7,0.107,8,1.172,26,2.354,27,0.499,29,0.585,30,0.001,31,0.427,32,0.127,33,0.351,34,1.304,35,1.177,39,2.11,47,0.72,95,0.116,99,1.563,101,0.017,102,4.042,103,0,104,0,112,0.794,113,4.047,125,2.902,148,1.005,159,1.043,185,2.62,231,1.982,357,5.848,435,3.448,436,3.016,532,3.767,567,2.898,569,2.373,693,3.472,700,3.679,701,3.679,711,3.016,735,4.647,886,3.194,1767,5.587,1770,5.151,1773,7.014,1832,4.851,1849,4.413,1921,5.284,2657,8.919,2658,9.927,2668,7.44,3048,4.793,3066,4.793,3094,9.588,3381,6.69,3382,5.463,3383,7.061,3384,7.625,3385,7.625,3386,7.625,3387,7.625,3388,7.625,3389,8.244,3390,5.988,3391,8.908,3392,6.191,3393,6.412,3394,3.489,3395,7.355,3396,5.825,3397,6.69,3398,6.69,3399,8.755,3400,3.907,3401,6.412,3402,6.191,3403,8.908,3404,6.69]],["title/interfaces/BoardDoAuthorizableProps.html",[159,0.713,3401,5.841]],["body/interfaces/BoardDoAuthorizableProps.html",[0,0.282,3,0.016,4,0.016,5,0.008,7,0.115,26,2.673,30,0.001,32,0.147,33,0.489,34,2.139,39,2.26,47,0.753,95,0.121,99,1.674,101,0.017,102,4.33,103,0.001,104,0.001,112,0.831,125,2.533,148,1.052,159,1.091,161,1.939,185,2.807,231,2.049,357,6.264,567,3.104,693,3.719,700,3.941,701,3.941,886,3.342,1767,6.497,1770,4.317,1832,5.197,1849,4.728,1921,5.66,2657,9.498,2658,9.96,2668,5.985,3094,6.434,3381,7.166,3382,5.817,3389,8.625,3390,6.265,3391,9.321,3392,6.631,3393,6.869,3394,3.738,3395,7.607,3396,6.094,3397,7.166,3398,7.166,3399,9.942,3400,4.185,3401,8.934,3402,6.631,3403,9.321,3404,7.166]],["title/injectables/BoardDoAuthorizableService.html",[589,0.929,2654,4.813]],["body/injectables/BoardDoAuthorizableService.html",[0,0.21,3,0.012,4,0.012,5,0.006,7,0.086,8,1.003,12,3.939,26,2.28,27,0.436,29,0.848,30,0.001,31,0.62,32,0.138,33,0.509,34,1.891,35,1.175,36,2.343,39,2.805,40,4.217,95,0.143,99,1.248,101,0.008,103,0,104,0,135,1.726,148,1.24,153,1.823,228,1.577,277,0.879,279,2.555,317,2.639,433,1.073,478,1.705,578,5.3,579,1.759,589,1.162,591,1.451,615,3.7,652,2.388,653,2.513,657,2.68,688,2.873,700,4.891,701,4.891,756,3.438,1237,1.794,1845,6.847,1853,1.991,1910,7.692,1935,4.088,2030,4.219,2031,6.038,2032,4.622,2053,4.558,2624,2.988,2648,5.276,2654,6.023,2658,7.942,2664,6.243,2666,2.814,2668,8.911,2678,5.119,2912,4.669,3382,5.618,3389,4.942,3399,7.775,3400,5.195,3405,8.969,3406,5.637,3407,8.692,3408,8.692,3409,4.558,3410,8.826,3411,6.088,3412,6.088,3413,8.692,3414,6.088,3415,8.692,3416,6.088,3417,4.558,3418,5.637,3419,6.088,3420,7.309,3421,5.637,3422,9.388,3423,5.637,3424,6.088,3425,8.049,3426,5.637,3427,6.088,3428,6.088,3429,6.088,3430,6.088,3431,3.25,3432,6.088,3433,6.808,3434,6.618,3435,8.692,3436,6.088,3437,6.088,3438,6.088,3439,6.088,3440,6.088]],["title/interfaces/BoardDoBuilder.html",[159,0.713,3441,4.137]],["body/interfaces/BoardDoBuilder.html",[3,0.012,4,0.012,5,0.008,7,0.085,8,1.002,27,0.52,29,1.013,30,0.001,31,0.741,32,0.177,33,0.608,35,1.531,95,0.153,101,0.008,103,0,104,0,159,0.624,161,1.443,614,1.877,1770,2.47,2031,6.032,2048,4.939,2050,2.562,2369,3.399,2661,6.032,2684,1.971,2894,2.9,2946,6.24,3108,6.339,3115,6.704,3118,6.704,3121,6.294,3124,6.704,3127,6.224,3130,6.444,3134,4.662,3139,4.552,3140,3.915,3141,3.695,3431,7.053,3441,5.171,3442,13.37,3443,6.078,3444,8.041,3445,8.041,3446,8.041,3447,8.041,3448,8.041,3449,8.041,3450,8.041,3451,8.041,3452,8.041,3453,8.041,3454,8.041,3455,8.704,3456,6.078,3457,8.041,3458,8.971,3459,6.078,3460,8.041,3461,8.475,3462,6.078,3463,8.041,3464,8.704,3465,6.078,3466,8.041,3467,8.704,3468,6.078,3469,8.041,3470,8.704,3471,6.078,3472,8.041,3473,8.704,3474,6.078,3475,8.041,3476,8.704,3477,6.078,3478,8.041,3479,8.704,3480,6.078,3481,8.041,3482,8.704,3483,6.078,3484,11.591,3485,3.916]],["title/classes/BoardDoBuilderImpl.html",[0,0.24,3486,6.094]],["body/classes/BoardDoBuilderImpl.html",[0,0.115,2,0.353,3,0.006,4,0.006,5,0.003,7,0.047,8,0.629,27,0.494,29,0.972,30,0.001,31,0.696,32,0.172,33,0.571,34,1.914,35,1.422,39,0.919,95,0.101,101,0.004,103,0,104,0,110,1.149,112,0.426,129,0.994,130,0.909,135,1.707,145,1.241,148,1.18,153,1.93,155,2.545,157,0.765,183,1.272,277,0.48,430,4.603,431,4.799,433,0.41,478,0.93,532,4.153,569,1.697,579,1.576,652,1.416,711,4.032,896,5.324,1078,2.39,1237,1.607,1853,1.086,2031,5.671,2048,4.985,2648,1.585,2661,4.779,2818,2.199,2894,1.585,2946,5.084,2976,2.302,3047,8.503,3067,5.049,3108,5.462,3115,5.311,3118,5.864,3121,4.986,3124,5.311,3127,4.931,3130,5.105,3135,2.342,3431,7.461,3441,4.129,3444,5.049,3445,5.049,3446,5.049,3447,5.049,3448,5.049,3449,5.049,3450,5.049,3451,5.049,3452,5.049,3453,5.049,3454,5.049,3455,6.321,3457,5.049,3458,6.515,3460,5.049,3461,6.154,3463,5.049,3464,6.321,3466,5.049,3467,6.321,3469,5.049,3470,6.321,3472,5.049,3473,6.321,3475,5.049,3476,6.321,3478,5.049,3479,6.321,3481,5.049,3482,6.321,3484,2.915,3486,4.783,3487,11.121,3488,11.739,3489,3.322,3490,6.421,3491,5.452,3492,5.452,3493,5.452,3494,5.452,3495,5.452,3496,5.452,3497,4.783,3498,3.322,3499,5.452,3500,3.322,3501,3.322,3502,3.322,3503,5.452,3504,3.322,3505,3.322,3506,3.322,3507,3.322,3508,3.322,3509,3.322,3510,3.322,3511,3.322,3512,5.452,3513,6.611,3514,3.322,3515,5.452,3516,3.322,3517,5.452,3518,3.322,3519,2.114,3520,2.548,3521,3.076,3522,3.322,3523,3.322,3524,3.322,3525,8.861,3526,3.076,3527,4.083,3528,8.861,3529,10.365,3530,8.025,3531,11.193,3532,11.193,3533,3.322,3534,2.915,3535,4.182,3536,4.783,3537,2.915,3538,4.783,3539,2.915,3540,2.915,3541,2.915,3542,2.14,3543,3.322,3544,8.861,3545,1.959,3546,3.322,3547,1.959,3548,3.322,3549,3.322,3550,1.941,3551,3.322,3552,3.322,3553,1.725,3554,3.322,3555,3.322,3556,2.915,3557,1.713,3558,3.322,3559,2.041,3560,3.322,3561,3.322,3562,1.858,3563,3.322,3564,3.322,3565,3.322,3566,3.322,3567,5.452,3568,3.322,3569,3.322,3570,3.322,3571,3.322,3572,3.322,3573,3.322,3574,3.322,3575,3.717,3576,2.114,3577,3.322,3578,4.585,3579,3.322,3580,3.322,3581,5.452,3582,3.322,3583,3.322,3584,3.322,3585,3.322,3586,3.322]],["title/injectables/BoardDoCopyService.html",[589,0.929,3587,5.841]],["body/injectables/BoardDoCopyService.html",[0,0.308,3,0.017,4,0.017,5,0.01,7,0.126,8,1.299,27,0.352,29,0.685,30,0.001,31,0.501,32,0.14,33,0.411,35,1.035,36,2.384,95,0.152,101,0.015,103,0.001,104,0.001,135,1.469,141,4.823,148,0.884,153,1.472,277,1.289,317,2.672,326,3.394,589,1.504,591,2.129,657,2.047,703,2.772,711,3.658,1083,5.035,1853,2.92,2617,7.858,2648,5.367,3052,6.189,3253,7.035,3285,5.83,3298,5.488,3299,5.079,3405,8.628,3587,9.46,3588,9.869,3589,11.249,3590,12.927,3591,8.931,3592,7.835,3593,7.835,3594,8.931,3595,8.861,3596,7.51,3597,6.415,3598,7.835,3599,8.931,3600,8.931]],["title/injectables/BoardDoRepo.html",[589,0.929,3410,4.897]],["body/injectables/BoardDoRepo.html",[0,0.153,3,0.008,4,0.008,5,0.004,7,0.063,8,0.795,10,2.764,12,3.118,18,3.504,26,2.779,27,0.482,29,0.955,30,0.001,31,0.686,32,0.16,33,0.563,34,1.996,35,1.388,36,2.838,40,3.339,49,1.673,55,2.169,59,2.613,95,0.14,96,1.822,97,1.822,99,0.912,101,0.006,103,0,104,0,125,1.061,135,1.749,148,1.186,153,1.786,172,2.925,224,1.298,228,1.527,277,0.642,317,3.026,433,0.849,435,1.511,478,1.246,532,2.553,579,1.286,589,0.92,591,1.061,615,6.585,652,1.718,653,1.837,657,2.936,1751,5.421,1770,5.062,1842,2.026,1853,1.455,2050,2.901,2448,5.297,2460,4.555,2531,5.587,2648,6.298,2664,3.195,2782,2.429,2935,2.358,3047,3.083,3410,4.852,3431,5.057,3461,3.412,3486,3.903,3487,10.929,3488,4.12,3490,4.12,3497,3.903,3575,3.033,3593,6.038,3601,4.12,3602,8.417,3603,5.787,3604,6.373,3605,6.373,3606,6.882,3607,6.882,3608,2.904,3609,9.17,3610,8.417,3611,7.966,3612,4.449,3613,4.02,3614,4.449,3615,4.449,3616,10.806,3617,4.449,3618,8.417,3619,4.449,3620,6.038,3621,4.449,3622,6.373,3623,6.804,3624,4.449,3625,6.882,3626,4.449,3627,4.449,3628,6.882,3629,4.449,3630,6.882,3631,4.449,3632,6.038,3633,4.792,3634,4.449,3635,3.504,3636,4.449,3637,4.12,3638,4.449,3639,3.903,3640,4.449,3641,4.449,3642,4.449,3643,4.449,3644,4.449,3645,3.903,3646,4.449,3647,6.045,3648,6.373,3649,4.449,3650,4.449,3651,4.449,3652,4.449,3653,4.449,3654,6.373,3655,4.449,3656,4.449,3657,4.449,3658,4.449,3659,3.612,3660,4.449,3661,3.903,3662,4.449,3663,4.449,3664,4.449,3665,4.449,3666,4.449,3667,4.449,3668,4.449,3669,4.449,3670,4.449,3671,4.449,3672,4.449,3673,4.449,3674,5.278,3675,4.449]],["title/injectables/BoardDoRule.html",[589,0.929,1865,5.841]],["body/injectables/BoardDoRule.html",[0,0.252,3,0.014,4,0.014,5,0.007,7,0.103,8,1.139,27,0.44,29,0.857,30,0.001,31,0.626,32,0.149,33,0.514,35,1.143,39,2.73,95,0.143,101,0.01,103,0,104,0,122,2.496,135,1.459,148,1.303,183,4.276,195,2.158,197,3.474,228,1.326,277,1.055,290,3.207,400,2.176,433,0.901,478,2.046,578,3.819,589,1.32,591,1.742,653,3.016,711,3.824,1197,3.959,1237,2.154,1775,6.583,1792,5.063,1793,4.835,1801,8,1838,7.272,1853,2.389,1865,8.297,1981,6.357,1985,6.131,1992,4.835,2668,10.385,2670,9.137,3389,5.931,3676,11.964,3677,7.306,3678,6.53,3679,4.906,3680,7.306,3681,7.306,3682,6.441,3683,7.306,3684,4.906,3685,6.626,3686,5.353,3687,9.867,3688,7.306,3689,7.306,3690,9.137,3691,9.867,3692,7.306]],["title/injectables/BoardDoService.html",[589,0.929,3693,5.201]],["body/injectables/BoardDoService.html",[0,0.278,3,0.015,4,0.015,5,0.007,7,0.113,8,1.215,27,0.462,29,0.899,30,0.001,31,0.657,32,0.146,33,0.54,35,1.22,36,2.635,55,2.349,59,2.5,95,0.134,101,0.011,103,0.001,104,0.001,135,1.375,228,1.462,277,1.162,317,2.872,400,2.398,433,0.994,589,1.408,591,1.92,657,3.034,1770,3.272,1853,2.633,2624,3.952,2648,6.658,3059,5.062,3405,9.538,3409,6.031,3410,9.333,3633,5.933,3693,7.883,3694,8.053,3695,10.527,3696,7.56,3697,8.053,3698,10.527,3699,8.053,3700,10.527,3701,12.436,3702,9.538,3703,8.053,3704,8.053,3705,8.053,3706,6.772,3707,8.053,3708,8.053,3709,8.053,3710,11.727,3711,8.053,3712,8.053,3713,8.053,3714,8.053,3715,8.053]],["title/entities/BoardElement.html",[205,1.418,2942,4.897]],["body/entities/BoardElement.html",[0,0.278,3,0.015,4,0.015,5,0.007,7,0.113,9,4.891,26,2.17,27,0.415,30,0.001,31,0.697,32,0.155,34,1.8,95,0.151,96,2.132,101,0.016,103,0.001,104,0.001,112,0.823,134,2.845,190,1.445,195,1.762,205,2.149,206,2.626,224,2.35,225,4.043,226,3.649,231,1.398,232,2.182,233,2.513,886,3.912,1821,6.034,1842,4.793,1936,4.942,2031,6.269,2050,3.394,2921,9.237,2938,5.661,2939,5.678,2940,5.691,2941,5.062,2942,7.422,2943,11.517,2946,4.3,2947,7.56,2948,7.065,2992,6.11,3305,10.342,3716,8.053,3717,8.053,3718,7.177,3719,8.053,3720,6.782,3721,7.422,3722,10.527,3723,5.784,3724,5.678,3725,6.031]],["title/classes/BoardElementResponse.html",[0,0.24,3726,5.841]],["body/classes/BoardElementResponse.html",[0,0.278,2,0.856,3,0.015,4,0.015,5,0.007,7,0.113,27,0.462,29,0.618,30,0.001,31,0.451,32,0.174,33,0.371,95,0.147,101,0.011,103,0.001,104,0.001,112,0.823,134,3.719,157,2.423,190,1.889,202,1.85,296,3.063,433,1.299,821,4.1,868,5.05,886,3.912,1083,5.935,1936,4.942,2048,4.277,2050,5.684,2108,3.515,2392,5.275,2532,6.269,2630,7.177,2940,4.817,2946,6.89,3021,9.862,3022,9.796,3023,9.796,3726,10.852,3727,5.491,3728,8.053,3729,9.862,3730,9.862,3731,8.053,3732,10.852,3733,10.527,3734,7.458,3735,8.053,3736,7.458,3737,8.053,3738,8.053,3739,4.749]],["title/interfaces/BoardExternalReference.html",[159,0.713,3623,4.989]],["body/interfaces/BoardExternalReference.html",[3,0.019,4,0.019,5,0.009,7,0.142,26,2.784,30,0.001,32,0.175,34,2.309,95,0.116,99,2.075,101,0.016,103,0.001,104,0.001,112,0.95,159,1.04,161,2.404,614,3.126,886,3.185,2030,9.357,2032,4.618,3094,7.975,3623,8.727,3740,8.883]],["title/classes/BoardLessonResponse.html",[0,0.24,3730,5.841]],["body/classes/BoardLessonResponse.html",[0,0.322,2,0.715,3,0.013,4,0.013,5,0.006,7,0.095,27,0.532,29,0.516,30,0.001,31,0.704,32,0.168,33,0.593,34,2.076,47,0.89,55,2.515,83,3.365,95,0.122,101,0.009,103,0,104,0,112,0.729,122,1.946,190,2.392,200,2.062,201,3.622,202,1.546,296,3.619,298,2.911,300,4.097,430,4.992,431,5.205,433,1.151,458,2.692,460,4.091,462,4.091,821,3.426,2054,7.419,2183,2.652,2946,7.279,3022,10.739,3023,10.739,3032,4.745,3035,6.652,3730,10.209,3741,6.73,3742,7.631,3743,11.242,3744,11.242,3745,10.209,3746,6.73,3747,5.905,3748,6.73,3749,6.73,3750,6.73,3751,6.73,3752,6.73,3753,9.328,3754,6.73,3755,6.73,3756,6.233,3757,6.73,3758,6.73,3759,8.15,3760,4.664,3761,4.834,3762,6.73,3763,6.73,3764,6.73,3765,7.689]],["title/classes/BoardManagementConsole.html",[0,0.24,3766,6.094]],["body/classes/BoardManagementConsole.html",[0,0.278,2,0.856,3,0.015,4,0.015,5,0.007,7,0.113,8,1.215,27,0.415,29,0.807,30,0.001,31,0.59,32,0.131,33,0.484,35,0.933,36,2.231,47,0.746,49,3.029,95,0.142,101,0.011,103,0.001,104,0.001,129,2.41,130,2.202,135,1.052,148,0.797,153,1.328,157,2.699,190,1.445,317,2.545,400,2.398,433,0.994,574,4.541,628,4.796,652,1.644,657,1.846,685,4.704,734,5.22,2026,6.068,2050,5.765,2532,4.796,2946,5.62,3559,4.948,3766,9.235,3767,11.727,3768,7.065,3769,9.748,3770,6.343,3771,8.118,3772,11.34,3773,8.053,3774,8.073,3775,9.748,3776,6.176,3777,10.527,3778,8.053,3779,5.33,3780,8.351,3781,7.641,3782,4.704,3783,7.458,3784,6.343,3785,5.33,3786,8.053,3787,8.053,3788,6.772,3789,10.458,3790,8.053,3791,8.053,3792,6.031]],["title/injectables/BoardManagementUc.html",[589,0.929,3772,5.841]],["body/injectables/BoardManagementUc.html",[0,0.177,3,0.01,4,0.01,5,0.005,7,0.072,8,0.886,26,2.448,27,0.481,29,0.957,30,0.001,31,0.684,32,0.158,33,0.562,34,0.879,35,1.376,36,2.162,55,2.794,95,0.136,96,1.36,97,2.104,99,1.053,101,0.007,103,0,104,0,125,1.225,129,1.538,130,1.405,135,1.551,148,1.236,155,2.435,183,2.939,195,1.124,197,1.428,277,0.742,317,2.486,400,1.53,433,0.634,478,1.438,527,2.174,532,2.849,569,1.599,589,1.027,591,1.225,629,2.704,652,2.812,657,2.626,756,4.035,873,5.849,896,2.872,1328,2.723,1329,3.123,1563,3.31,1853,1.68,2026,5.59,2030,3.56,2032,2.918,2050,3.236,2053,3.847,2080,4.171,2448,5.704,2894,3.663,2946,4.099,3057,4.909,3108,4.404,3431,7.227,3527,3.847,3535,3.94,3542,3.31,3553,3.987,3613,5.371,3633,6.608,3760,6.371,3769,7.11,3770,4.046,3771,6.659,3772,6.457,3774,5.889,3775,7.11,3779,3.4,3793,12.479,3794,4.757,3795,7.678,3796,7.678,3797,7.678,3798,7.678,3799,7.678,3800,7.11,3801,5.137,3802,5.137,3803,7.678,3804,5.137,3805,7.678,3806,5.137,3807,7.678,3808,5.137,3809,7.678,3810,5.137,3811,7.678,3812,9.194,3813,5.137,3814,4.046,3815,7.678,3816,8.282,3817,5.137,3818,5.137,3819,5.137,3820,5.137,3821,5.137,3822,5.137,3823,5.137,3824,5.137,3825,5.137,3826,5.137,3827,5.137,3828,5.137,3829,5.137,3830,4.171,3831,5.137,3832,5.137,3833,5.137,3834,4.757,3835,5.137,3836,5.137,3837,5.137,3838,4.757,3839,9.194,3840,5.137,3841,5.137,3842,5.137,3843,5.137,3844,5.137,3845,4.507,3846,5.137,3847,5.137,3848,5.137,3849,5.137,3850,5.137]],["title/modules/BoardModule.html",[252,1.835,1931,5.201]],["body/modules/BoardModule.html",[0,0.193,3,0.011,4,0.011,5,0.005,30,0.001,95,0.156,101,0.007,103,0,104,0,252,2.807,254,2.012,255,2.131,256,2.186,257,2.178,258,2.17,259,3.512,260,3.595,265,5.459,269,3.196,270,2.146,271,2.101,276,3.196,277,0.807,279,2.345,610,3.806,614,1.725,619,4.013,1027,1.716,1054,3.15,1317,3.512,1714,4.184,1829,2.375,1853,1.827,1910,7.256,1931,11.019,2018,9.737,2019,9.951,2048,2.27,2050,2.355,2533,3.177,2617,3.397,2624,2.742,2630,3.81,2654,9.209,2684,1.812,2815,2.235,3266,11.175,3295,4.699,3410,8.326,3587,9.931,3588,4.902,3609,9.588,3611,9.931,3693,8.843,3779,3.698,3851,5.588,3852,5.588,3853,5.588,3854,5.588,3855,9.057,3856,9.588,3857,9.057,3858,7.338,3859,10.467,3860,10.789,3861,10.789,3862,9.588,3863,9.588,3864,9.931,3865,5.588,3866,2.809,3867,3.81,3868,2.941,3869,5.174,3870,4.902,3871,4.699,3872,5.333,3873,5.588,3874,3.647,3875,3.81,3876,5.588,3877,4.401]],["title/entities/BoardNode.html",[205,1.418,3431,3.708]],["body/entities/BoardNode.html",[0,0.22,3,0.012,4,0.012,5,0.006,7,0.159,9,4.174,26,2.454,27,0.469,30,0.001,32,0.166,33,0.413,34,1.931,47,0.899,55,2.384,95,0.145,96,1.689,101,0.012,103,0,104,0,112,0.702,125,2.142,134,3.174,135,1.358,142,3.278,145,3.885,148,1.179,153,1.051,155,3.581,159,0.655,190,2.136,195,1.965,196,3.734,197,3.433,205,1.834,206,2.08,211,5.768,223,3.695,224,1.861,225,3.451,226,2.89,229,2.522,231,1.107,232,1.728,233,1.99,277,0.921,414,5.262,458,3.594,459,4.729,467,1.857,579,1.843,734,2.677,756,3.553,886,2.826,1312,3.043,1770,2.591,2050,2.688,2648,4.286,3037,3.06,3057,6.028,3420,5.363,3431,5.553,3441,5.35,3513,6.863,3575,6.126,3633,4.545,3647,4.581,3723,4.581,3878,5.906,3879,7.788,3880,6.378,3881,5.906,3882,6.378,3883,6.378,3884,6.378,3885,6.378,3886,6.378,3887,4.891,3888,8.319,3889,5.461,3890,9.631,3891,8.319,3892,5.595,3893,5.023,3894,5.023,3895,5.906,3896,5.906,3897,5.906,3898,4.497,3899,4.497,3900,4.109,3901,4.909,3902,5.906,3903,5.906,3904,7.882,3905,5.906,3906,5.906,3907,5.906,3908,5.906,3909,5.906,3910,3.919,3911,5.906,3912,5.906]],["title/interfaces/BoardNodeProps.html",[159,0.713,3889,4.222]],["body/interfaces/BoardNodeProps.html",[0,0.227,3,0.013,4,0.013,5,0.006,7,0.161,9,4.27,26,2.64,30,0.001,32,0.16,33,0.601,34,2.19,47,0.908,55,2.412,95,0.146,96,1.744,101,0.012,103,0,104,0,112,0.718,125,2.191,134,3.247,135,1.382,142,3.353,145,3.953,148,1.193,153,1.086,155,3.82,159,0.677,161,1.564,195,1.441,196,3.788,197,2.942,205,1.876,223,3.739,224,1.922,225,3.53,226,2.985,229,2.605,231,1.143,232,1.785,233,2.056,277,0.951,414,3.332,458,3.676,459,4.837,467,1.918,579,1.903,734,2.765,756,3.635,886,2.891,1312,3.143,1770,2.676,2050,2.776,2648,4.384,3037,3.16,3057,6.431,3420,5.539,3431,6.114,3441,5.473,3513,6.433,3575,6.266,3633,6.093,3647,4.731,3723,4.731,3878,6.1,3879,4.932,3887,5.052,3888,8.51,3889,6.433,3890,9.801,3891,8.51,3892,5.779,3893,5.188,3894,5.188,3895,6.1,3896,6.1,3897,6.1,3898,4.644,3899,4.644,3900,4.244,3901,4.995,3902,6.1,3903,6.1,3904,8.062,3905,6.1,3906,6.1,3907,6.1,3908,6.1,3909,6.1,3910,4.047,3911,6.1,3912,6.1]],["title/injectables/BoardNodeRepo.html",[589,0.929,3609,5.639]],["body/injectables/BoardNodeRepo.html",[0,0.221,3,0.012,4,0.012,5,0.006,7,0.09,8,1.039,12,4.08,26,2.331,27,0.445,29,0.867,30,0.001,31,0.634,32,0.141,33,0.52,34,1.782,35,1.207,36,2.619,40,4.368,55,2.086,59,1.986,95,0.129,96,1.694,97,2.62,99,1.311,101,0.008,103,0,104,0,125,1.525,135,1.721,141,3.861,145,2.39,148,1.258,205,2.433,228,1.161,277,0.923,317,2.86,400,1.905,412,2.831,414,4.555,433,0.789,478,1.791,589,1.204,591,1.525,657,2.388,813,3.577,814,7.572,1065,3.14,1078,2.805,1829,2.72,1832,4.07,2448,6.322,2782,5.688,3431,7.036,3487,10.454,3497,10.454,3575,4.362,3608,4.176,3609,7.31,3613,5.26,3616,11.035,3648,8.338,3879,4.791,3913,6.398,3914,9.004,3915,9.004,3916,6.398,3917,6.398,3918,9.004,3919,6.398,3920,9.004,3921,6.398,3922,6.398,3923,5.925,3924,6.398,3925,9.004,3926,8.338,3927,10.419,3928,5.194,3929,9.004,3930,9.004,3931,6.398,3932,6.398,3933,5.613,3934,6.398,3935,6.398,3936,9.004,3937,6.398,3938,6.398,3939,6.398,3940,4.234,3941,6.398,3942,6.398,3943,6.398,3944,6.398,3945,5.38,3946,6.398,3947,6.398,3948,6.398,3949,6.398,3950,6.398]],["title/injectables/BoardRepo.html",[589,0.929,3263,5.201]],["body/injectables/BoardRepo.html",[0,0.198,3,0.011,4,0.011,5,0.005,7,0.081,8,0.963,10,3.349,12,3.779,18,4.246,26,2.781,27,0.506,29,0.967,30,0.001,31,0.706,32,0.157,33,0.58,34,1.426,35,1.46,36,2.765,40,4.046,95,0.123,99,1.178,101,0.008,103,0,104,0,135,1.646,148,1.181,153,0.948,158,2.125,205,1.174,206,2.72,231,1.448,277,0.83,317,3.034,436,3.198,478,1.609,532,4.904,589,1.115,591,1.37,652,2.623,653,4.053,657,3.063,728,7.122,734,3.5,735,3.817,736,4.875,759,3.423,760,3.494,761,3.458,762,3.494,764,3.458,765,3.494,766,3.114,896,3.214,2026,5.579,2032,4.093,2050,5.868,2893,3.532,2945,6.396,2949,6.771,2950,6.771,2992,4.448,3263,6.245,3951,5.748,3952,8.34,3953,8.34,3954,8.34,3955,8.34,3956,8.34,3957,5.748,3958,8.34,3959,5.748,3960,5.748,3961,8.34,3962,5.748,3963,8.34,3964,5.748,3965,5.748,3966,4.052,3967,5.748,3968,8.34,3969,5.748,3970,5.748,3971,5.042,3972,5.748,3973,5.748,3974,5.748,3975,5.748,3976,5.748,3977,9.816,3978,9.09,3979,5.748,3980,5.748,3981,5.748,3982,5.748,3983,5.748]],["title/classes/BoardResponse.html",[0,0.24,3224,5.841]],["body/classes/BoardResponse.html",[0,0.288,2,0.888,3,0.016,4,0.016,5,0.008,7,0.117,27,0.514,29,0.641,30,0.001,31,0.468,32,0.167,33,0.549,34,2.233,47,0.894,95,0.144,101,0.011,103,0.001,104,0.001,112,0.843,125,1.992,155,4.141,190,2.263,202,1.919,296,3.492,298,3.614,304,4.125,433,1.33,458,3.342,821,4.254,866,4.149,2908,7.557,3032,5.891,3035,6.699,3037,4.008,3177,5.454,3178,5.756,3179,5.756,3224,10.979,3225,10.239,3527,9.776,3984,8.355,3985,8.355,3986,8.355,3987,8.355,3988,6.847,3989,8.355,3990,8.355,3991,8.355,3992,5.454,3993,7.026,3994,5.454]],["title/classes/BoardResponseMapper.html",[0,0.24,3228,6.094]],["body/classes/BoardResponseMapper.html",[0,0.301,2,0.929,3,0.017,4,0.017,5,0.008,7,0.123,8,1.281,27,0.344,29,0.67,30,0.001,31,0.49,32,0.138,33,0.402,34,1.494,35,1.012,95,0.146,100,3.049,101,0.011,103,0.001,104,0.001,135,1.141,141,4.757,148,1.099,153,2.01,155,2.771,277,1.261,430,3.592,467,3.549,571,3.456,579,2.525,653,3.607,829,5.152,830,6.153,1368,4.926,1853,2.857,2031,7.637,2050,3.682,2098,8.307,2477,5.311,2908,5.057,2946,6.846,3059,5.492,3224,10.784,3228,9.733,3229,7.347,3250,8.091,3341,6.275,3527,6.542,3838,8.091,3988,6.364,3995,11.094,3996,10.273,3997,7.665,3998,5.867,3999,7.665,4000,8.737,4001,8.737,4002,8.737,4003,7.665,4004,6.16,4005,8.737,4006,8.737]],["title/controllers/BoardSubmissionController.html",[314,2.658,3015,6.094]],["body/controllers/BoardSubmissionController.html",[0,0.177,3,0.01,4,0.01,5,0.005,7,0.072,8,0.887,27,0.362,29,0.706,30,0.001,31,0.516,32,0.175,33,0.423,35,1.066,36,2.163,95,0.145,100,1.795,101,0.007,103,0,104,0,135,1.497,148,0.761,153,1.267,190,1.651,202,1.181,228,1.67,274,2.15,277,0.742,314,1.969,316,2.482,317,2.709,325,6.312,333,5.161,337,7.042,342,7.481,345,7.331,349,6.568,374,3.324,379,4.684,388,4.377,389,3.358,390,6.02,391,8.028,392,2.689,393,2.539,395,2.766,398,2.787,401,5.145,402,4.616,433,0.635,652,1.879,657,2.109,675,3.913,734,3.226,871,3.737,874,4.49,1351,6.854,2048,3.738,2050,2.168,2667,6.079,2900,4.37,2935,4.877,3006,7.247,3008,7.47,3009,7.737,3015,6.743,3017,2.428,3018,4.513,3019,4.763,3020,4.763,3140,5.356,3141,3.127,3193,6.608,3195,5.755,3197,6.89,3198,5.755,3201,7.971,3203,4.052,3216,9.356,3218,4.448,3221,2.653,3222,3.454,3223,2.83,3230,4.176,3240,3.769,3241,3.852,3382,3.449,3485,4.951,3576,4.89,3633,3.888,4007,10.207,4008,5.144,4009,4.49,4010,7.737,4011,7.737,4012,8.52,4013,4.763,4014,10.42,4015,8.584,4016,5.144,4017,5.144,4018,5.52,4019,4.513,4020,5.144,4021,5.144,4022,5.144,4023,8.955,4024,5.144,4025,5.144,4026,5.144,4027,5.144,4028,5.144,4029,8.955,4030,5.144,4031,5.144,4032,5.144,4033,3.945,4034,3.161,4035,5.52,4036,3.694,4037,6.463,4038,5.144,4039,5.144,4040,3.945,4041,4.326,4042,5.144,4043,5.144,4044,4.513,4045,5.144,4046,4.623,4047,5.144,4048,4.763,4049,5.144,4050,5.144,4051,5.144,4052,7.686,4053,4.763,4054,5.144,4055,3.161,4056,4.176,4057,4.176,4058,5.144,4059,5.144,4060,4.763]],["title/classes/BoardTaskResponse.html",[0,0.24,3729,5.841]],["body/classes/BoardTaskResponse.html",[0,0.232,2,0.715,3,0.013,4,0.013,5,0.006,7,0.095,27,0.537,29,0.516,30,0.001,31,0.704,32,0.17,33,0.627,34,2.076,47,0.957,83,3.822,95,0.122,101,0.009,103,0,104,0,112,0.729,157,2.464,190,2.422,201,5.176,202,1.546,296,3.525,298,2.911,402,4.344,430,4.992,431,5.205,433,1.151,458,2.692,460,4.091,462,4.091,821,3.426,2050,2.837,2054,7.419,2126,3.932,2183,2.652,2940,3.08,2946,7.342,3022,10.832,3023,10.832,3032,4.745,3035,7.182,3557,5.522,3729,10.209,3747,8.184,4061,6.73,4062,6.988,4063,6.729,4064,6.73,4065,6.73,4066,6.73,4067,6.73,4068,6.73,4069,6.73,4070,6.73,4071,6.73,4072,6.73,4073,9.003,4074,6.73,4075,6.73,4076,5.66]],["title/classes/BoardTaskStatusMapper.html",[0,0.24,4077,6.094]],["body/classes/BoardTaskStatusMapper.html",[0,0.341,2,1.05,3,0.019,4,0.019,5,0.009,7,0.139,8,1.382,27,0.389,29,0.757,30,0.001,31,0.554,32,0.123,33,0.454,35,1.144,95,0.137,99,2.024,100,4.177,101,0.013,103,0.001,104,0.001,135,1.29,148,0.978,153,1.628,402,3.534,467,3.75,830,6.639,837,4.875,4073,10.832,4077,10.502,4078,11.97,4079,9.876,4080,10.066,4081,8.991,4082,9.876,4083,9.876]],["title/classes/BoardTaskStatusResponse.html",[0,0.24,4073,5.841]],["body/classes/BoardTaskStatusResponse.html",[0,0.267,2,0.823,3,0.015,4,0.015,5,0.007,7,0.109,27,0.526,29,0.594,30,0.001,31,0.434,32,0.167,33,0.356,55,2.622,95,0.088,101,0.01,103,0,104,0,112,0.802,122,2.731,190,2.35,202,1.778,296,3.695,433,1.266,821,3.942,2940,6.206,2946,7.24,3022,10.682,3023,10.682,4073,10.714,4084,6.793,4085,8.687,4086,8.983,4087,8.432,4088,8.432,4089,9.151,4090,8.687,4091,7.17,4092,7.743,4093,7.743,4094,7.743,4095,7.743,4096,7.743,4097,7.743,4098,6.511,4099,7.17,4100,6.511,4101,6.286,4102,7.17,4103,7.17]],["title/injectables/BoardUc.html",[589,0.929,3005,5.639]],["body/injectables/BoardUc.html",[0,0.155,3,0.009,4,0.009,5,0.004,7,0.063,8,0.8,26,2.978,27,0.483,29,0.941,30,0.001,31,0.688,32,0.153,33,0.564,35,1.392,36,2.751,39,3.658,47,0.6,55,1.695,59,1.393,95,0.137,99,0.92,101,0.006,103,0,104,0,113,4.664,135,1.528,148,0.838,155,3.262,228,1.973,231,1.203,277,0.648,317,2.999,433,0.855,436,2.514,589,0.927,591,1.07,610,1.769,652,1.943,657,3.075,688,2.118,1027,1.379,1197,6.765,1792,7.128,1793,4.586,1853,1.468,1862,6.05,1935,3.014,1967,5.077,2019,8.486,2031,2.673,2050,5.262,2449,3.538,2450,4.469,2648,5.187,2649,8.338,2651,5.458,2652,5.458,2653,3.289,2654,8.11,2656,3.442,2657,5.077,2658,4.977,2660,3.535,2661,5.668,2663,3.535,2664,4.977,2666,2.075,2680,8.691,2946,5.492,3005,5.626,3186,7.838,3187,7.838,3190,7.838,3417,3.361,3588,3.938,3623,3.224,3702,7.889,3789,11.415,3859,8.926,3860,9.2,4104,4.488,4105,8.464,4106,8.464,4107,8.814,4108,4.488,4109,6.93,4110,4.488,4111,6.93,4112,4.488,4113,6.93,4114,4.488,4115,6.93,4116,4.488,4117,4.488,4118,8.004,4119,9.518,4120,4.488,4121,6.93,4122,4.488,4123,3.644,4124,3.644,4125,3.644,4126,3.289,4127,4.488,4128,3.644,4129,3.644,4130,4.488,4131,7.808,4132,10.286,4133,4.488,4134,4.488,4135,4.488,4136,4.488,4137,4.156,4138,7.838,4139,4.488,4140,4.488]],["title/injectables/BoardUrlHandler.html",[589,0.929,4141,5.841]],["body/injectables/BoardUrlHandler.html",[0,0.228,3,0.013,4,0.013,5,0.006,7,0.093,8,1.063,9,3.07,27,0.492,29,0.925,30,0.001,31,0.676,32,0.163,33,0.555,34,1.575,35,1.329,36,1.952,47,0.953,95,0.146,101,0.009,103,0,104,0,105,10.094,106,7.119,107,6.921,108,8.607,110,4.519,111,5.205,112,0.72,113,3.671,114,8.607,115,7.255,116,7.478,117,7.255,118,7.255,120,5.205,122,1.379,123,5.365,125,2.528,126,5.205,127,5.73,129,2.757,130,2.519,131,5.839,134,2.335,135,1.498,148,0.912,228,1.672,231,1.599,233,2.062,277,0.954,317,2.301,400,1.968,433,0.815,436,3.406,589,1.232,591,1.576,652,1.349,657,2.111,1237,1.948,1853,2.161,1932,4.746,2017,8.481,2019,9.352,2028,4.949,2030,4.58,2031,5.485,2032,3.5,2047,4.746,2050,2.785,2053,4.949,4141,7.745,4142,10.602,4143,6.185,4144,6.12,4145,6.609,4146,7.255,4147,6.609,4148,5.557,4149,5.557,4150,5.557,4151,9.211,4152,6.609,4153,7.064,4154,5.365,4155,7.064,4156,5.557,4157,5.365,4158,6.609,4159,4.438,4160,6.12,4161,6.609,4162,6.609,4163,6.609,4164,6.609]],["title/classes/BoardUrlParams.html",[0,0.24,3192,6.094]],["body/classes/BoardUrlParams.html",[0,0.415,2,1.06,3,0.019,4,0.019,5,0.009,7,0.14,27,0.393,30,0.001,32,0.124,34,2.06,47,0.854,95,0.137,101,0.013,103,0.001,104,0.001,112,0.941,157,2.295,190,1.79,194,4.71,195,2.634,196,3.983,197,3.348,200,3.055,202,2.291,296,3.146,855,4.874,2050,5.075,3192,10.565,3789,10.878,4165,9.974,4166,6.063,4167,9.974]],["title/classes/BruteForceError.html",[0,0.24,1720,6.094]],["body/classes/BruteForceError.html",[0,0.262,2,0.809,3,0.014,4,0.014,5,0.007,7,0.107,8,1.171,27,0.532,29,0.584,30,0.001,31,0.427,32,0.174,33,0.525,35,0.882,47,0.924,55,2.609,95,0.116,101,0.01,103,0,104,0,112,0.793,155,3.858,190,2.274,205,1.554,228,2.561,231,1.76,233,2.375,277,1.099,347,3.9,393,3.757,402,2.723,433,0.939,436,3.87,868,5.835,871,2.786,998,5.383,1078,3.337,1080,4.193,1115,5.09,1354,8.598,1355,6.542,1356,7.445,1360,5.037,1361,4.366,1362,5.037,1363,5.037,1364,5.037,1365,5.037,1366,5.037,1367,4.676,1368,4.291,1374,4.903,1720,8.897,1744,12.066,4168,11.405,4169,7.611,4170,10.141,4171,10.141,4172,7.048,4173,7.611,4174,7.611]],["title/injectables/BsonConverter.html",[589,0.929,4175,5.841]],["body/injectables/BsonConverter.html",[0,0.272,3,0.015,4,0.015,5,0.007,7,0.111,8,1.2,27,0.409,29,0.797,30,0.001,31,0.582,32,0.13,33,0.478,35,1.43,95,0.119,101,0.01,103,0.001,104,0.001,135,1.357,148,1.029,157,2.391,158,4.867,277,1.14,388,4.455,574,4.451,589,1.39,591,1.882,623,8.89,1610,9.979,2373,9.979,4175,8.738,4176,7.895,4177,9.622,4178,9.622,4179,10.391,4180,7.895,4181,10.391,4182,11.291,4183,9.72,4184,9.775,4185,9.241,4186,11.428,4187,12.341,4188,10.391,4189,7.895,4190,10.391,4191,7.895,4192,7.895,4193,9.116,4194,7.895]],["title/classes/Builder.html",[0,0.24,2202,4.534]],["body/classes/Builder.html",[0,0.332,2,1.022,3,0.018,4,0.018,5,0.009,7,0.135,8,1.36,27,0.501,29,0.737,30,0.001,31,0.539,32,0.147,33,0.442,35,1.114,101,0.013,103,0.001,104,0.001,112,0.921,113,5.074,148,0.952,228,2.31,433,1.186,507,5.844,532,5.205,2137,6.984,2202,7.688,2203,10.706,4195,9.616,4196,11.777,4197,11.777,4198,11.777,4199,9.616,4200,11.777]],["title/classes/BusinessError.html",[0,0.24,1354,4.366]],["body/classes/BusinessError.html",[0,0.35,2,0.648,3,0.012,4,0.012,5,0.006,7,0.086,8,1.005,9,4.714,27,0.493,29,0.468,30,0.001,31,0.342,32,0.172,33,0.467,35,0.706,47,0.863,55,1.743,59,2.701,95,0.126,101,0.008,103,0,104,0,112,0.68,113,3.468,125,1.454,135,0.796,148,0.604,153,1.673,155,4.061,157,2.8,158,2.254,185,2.095,190,2.1,201,3.379,202,1.4,228,2.508,231,1.51,233,1.903,277,0.88,296,3.056,402,3.114,433,1.074,640,3.746,653,2.517,821,3.104,868,5.309,871,3.185,998,6.314,1078,5.13,1080,4.492,1084,7.545,1115,4.657,1354,5.47,1355,7.476,1356,7.223,1361,3.497,1367,7.695,1368,6.239,1373,3.668,1374,6.537,1381,7.43,1476,3.746,1516,7.634,1675,3.668,2098,8.286,2105,9.864,2108,3.798,2139,5.036,2815,3.481,3037,4.175,4201,6.097,4202,7.064,4203,7.064,4204,6.03,4205,6.674,4206,5.606,4207,8.702,4208,6.097,4209,6.097,4210,6.097,4211,6.097,4212,6.097,4213,6.097,4214,6.097,4215,5.349,4216,5.646,4217,5.646,4218,6.674,4219,8.058,4220,8.702,4221,6.097,4222,6.097]],["title/injectables/CacheService.html",[589,0.929,4223,5.841]],["body/injectables/CacheService.html",[0,0.345,3,0.019,4,0.019,5,0.009,7,0.141,8,1.392,27,0.394,30,0.001,35,1.159,95,0.148,101,0.013,103,0.001,104,0.001,148,0.99,277,1.443,589,1.613,591,2.384,1507,7.668,2218,4.466,2219,5.027,2220,4.851,4223,10.142,4224,9.999,4225,13.446,4226,9.999,4227,11.361,4228,5.841,4229,9.999,4230,7.487,4231,9.259,4232,8.772,4233,9.999]],["title/modules/CacheWrapperModule.html",[252,1.835,1522,5.841]],["body/modules/CacheWrapperModule.html",[0,0.275,3,0.015,4,0.015,5,0.007,30,0.001,47,0.741,95,0.156,101,0.01,103,0.001,104,0.001,110,2.757,135,1.524,148,1.036,159,0.819,252,3.083,254,2.871,255,3.041,256,3.119,257,3.107,258,3.096,259,4.244,260,4.344,265,4.834,269,4.091,270,3.063,271,2.999,276,4.091,277,1.151,686,5.727,688,3.763,734,4.389,1027,2.449,1080,2.748,1522,11.477,1986,8.491,2218,3.561,2219,4.009,2220,3.868,2449,3.333,2450,5.479,2815,3.19,4223,12.048,4227,6.995,4228,4.658,4230,8.739,4232,6.995,4234,7.973,4235,7.973,4236,7.973,4237,7.973,4238,10.458,4239,10.458,4240,6.995,4241,6.28,4242,8.238,4243,8.794,4244,7.973,4245,7.973,4246,7.973,4247,9.685,4248,7.384,4249,7.973,4250,6.995,4251,7.384,4252,6.995,4253,6.995,4254,7.384]],["title/interfaces/CalendarEvent.html",[159,0.713,4255,5.841]],["body/interfaces/CalendarEvent.html",[3,0.02,4,0.02,5,0.01,7,0.146,30,0.001,32,0.164,47,0.876,101,0.014,103,0.001,104,0.001,112,0.966,159,1.07,161,2.472,172,5.253,339,3.997,401,5.823,1170,6.546,4255,10.391,4256,10.414,4257,10.414,4258,8.454,4259,7.987,4260,7.216]],["title/classes/CalendarEventDto.html",[0,0.24,4261,5.841]],["body/classes/CalendarEventDto.html",[0,0.34,2,1.047,3,0.019,4,0.019,5,0.009,7,0.138,27,0.507,29,0.755,30,0.001,31,0.552,32,0.16,33,0.453,47,0.948,100,3.438,101,0.013,103,0.001,104,0.001,112,0.934,155,4.081,433,1.216,3037,4.726,4260,8.917,4261,11.526,4262,13.379,4263,9.852,4264,10.051,4265,11.953,4266,9.852,4267,9.852,4268,9.123,4269,9.123]],["title/injectables/CalendarMapper.html",[589,0.929,4270,5.841]],["body/injectables/CalendarMapper.html",[0,0.331,3,0.018,4,0.018,5,0.009,7,0.135,8,1.358,27,0.378,29,0.736,30,0.001,31,0.538,32,0.12,33,0.441,35,1.112,95,0.145,101,0.013,103,0.001,104,0.001,135,1.253,148,0.95,153,1.581,155,3.042,277,1.385,470,9.547,589,1.573,591,2.287,4255,11.149,4258,7.788,4259,7.357,4260,8.149,4261,11.149,4270,9.889,4271,9.593,4272,11.76,4273,9.593,4274,7.788,4275,9.593,4276,8.883,4277,8.883,4278,8.883,4279,9.593,4280,9.593,4281,9.593]],["title/modules/CalendarModule.html",[252,1.835,4282,6.094]],["body/modules/CalendarModule.html",[0,0.324,3,0.018,4,0.018,5,0.009,30,0.001,95,0.15,101,0.012,103,0.001,104,0.001,252,3.328,254,3.382,255,3.581,256,3.673,257,3.66,258,3.646,259,4.581,260,4.69,269,4.54,270,3.607,271,3.532,276,3.673,277,1.355,1054,5.295,3872,7.577,4270,11.583,4282,12.472,4283,9.391,4284,9.391,4285,9.391,4286,12.676,4287,9.391,4288,9.391,4289,8.696]],["title/injectables/CalendarService.html",[589,0.929,4286,6.094]],["body/injectables/CalendarService.html",[0,0.226,3,0.012,4,0.012,5,0.006,7,0.092,8,1.057,26,2.636,27,0.474,29,0.81,30,0.001,31,0.592,32,0.15,33,0.486,34,1.121,35,1.061,36,1.941,39,2.534,47,0.883,55,2.114,95,0.155,99,1.343,101,0.009,103,0,104,0,110,3.951,112,0.716,135,1.196,142,2.391,148,0.907,153,1.74,189,4.027,228,2.367,277,0.946,317,2.291,326,3.48,400,1.952,414,5.34,433,0.809,579,1.894,589,1.225,591,1.563,652,2.741,1053,8.493,1054,3.696,1056,4.223,1164,5.027,1169,3.794,1312,4.369,1313,4.469,1314,4.803,1475,4.12,1611,5.321,2083,4.338,2087,4.943,2113,6.578,2218,2.928,2219,3.295,2220,3.18,2332,5.902,2351,9.261,2352,11.134,2381,7.214,2382,8.096,2397,6.07,2405,6.07,2406,6.07,2417,6.07,2428,6.07,2429,6.07,2431,6.07,2702,4.621,4228,3.829,4255,5.512,4261,5.512,4270,10.752,4276,6.07,4277,6.07,4278,6.07,4286,8.034,4289,6.07,4290,6.555,4291,10.556,4292,9.158,4293,5.75,4294,9.158,4295,9.158,4296,11.428,4297,6.555,4298,9.278,4299,6.555,4300,6.555,4301,6.555,4302,6.555,4303,9.158,4304,6.555,4305,6.555,4306,6.555,4307,4.908,4308,6.555,4309,6.555,4310,6.555]],["title/classes/Card.html",[0,0.24,3108,3.984]],["body/classes/Card.html",[0,0.198,2,0.61,3,0.011,4,0.011,5,0.008,7,0.081,8,0.962,27,0.526,29,0.966,30,0.001,31,0.706,32,0.163,33,0.58,35,1.488,36,1.765,47,0.81,55,2.463,59,1.782,95,0.144,101,0.013,103,0,104,0,112,0.651,113,3.32,122,2.046,134,2.028,135,0.75,148,1.066,155,3.781,158,2.122,159,0.59,189,5.119,231,1.702,317,2.128,435,2.829,436,3.742,527,2.429,532,3.091,567,3.166,569,3.71,614,1.772,653,5.078,657,1.315,711,2.475,735,3.813,1770,5.218,1773,6.026,1842,3.794,2050,2.419,2369,3.209,2648,6.224,2684,1.861,2894,2.738,3039,7.725,3042,5.874,3043,5.874,3044,5.874,3045,5.439,3046,5.874,3048,3.608,3049,5.064,3050,6.286,3052,5.773,3053,5.064,3054,6.173,3056,3.977,3057,4.448,3059,6.165,3060,3.977,3062,5.984,3064,3.977,3066,3.608,3093,5.012,3108,6.173,3115,5.514,3118,5.514,3121,5.177,3124,5.514,3127,5.119,3130,5.301,3135,8.404,3139,4.298,3140,2.588,3141,3.489,3520,4.402,3542,7.68,4311,5.315,4312,5.739,4313,5.739,4314,5.315,4315,4.122,4316,4.122,4317,4.122,4318,4.826,4319,5.739,4320,5.035,4321,5.739,4322,5.739,4323,5.739,4324,5.739,4325,5.739,4326,3.566,4327,5.773,4328,4.521,4329,7.715,4330,5.315,4331,5.119,4332,5.315,4333,5.315,4334,5.035,4335,5.315]],["title/controllers/CardController.html",[314,2.658,3013,6.094]],["body/controllers/CardController.html",[0,0.13,3,0.007,4,0.007,5,0.003,7,0.053,8,0.698,10,3.038,27,0.398,29,0.775,30,0.001,31,0.566,32,0.177,33,0.465,35,1.17,36,2.571,95,0.126,100,1.317,101,0.005,103,0,104,0,135,1.385,141,2.593,148,0.599,153,1.247,155,1.918,190,1.813,202,0.867,228,1.098,274,1.578,277,0.545,314,1.445,316,1.821,317,2.823,325,6.509,333,4.061,337,7.456,339,1.107,342,7.921,345,8.378,349,6.869,365,2.701,374,2.616,379,4.819,388,4.059,389,2.464,390,6.256,391,8.29,392,1.973,393,1.864,395,2.03,398,2.045,400,1.124,401,5.648,402,4.804,615,2.295,652,0.771,657,2.315,675,1.922,734,2.538,871,2.214,1351,7.124,2048,3.074,2647,3.065,2667,6.318,2900,5.744,2935,5.354,3006,5.959,3007,6.142,3013,5.306,3017,1.782,3108,5.794,3193,7.255,3195,4.529,3197,7.564,3198,7.089,3201,7.614,3203,6.814,3216,9.708,3217,7.024,3218,5.007,3221,1.947,3222,2.535,3223,2.077,3230,3.065,3240,6.339,3241,6.478,3244,3.312,3535,6.635,3542,3.896,3576,7.014,3696,4.344,3834,3.496,4010,6.362,4013,3.496,4015,7.275,4018,4.344,4019,3.312,4033,4.638,4034,2.32,4035,5.434,4036,5.434,4040,2.895,4055,2.32,4056,3.065,4057,3.065,4336,3.775,4337,5.6,4338,7.566,4339,6.637,4340,7.006,4341,7.006,4342,11.21,4343,3.775,4344,5.802,4345,3.775,4346,3.775,4347,3.775,4348,3.775,4349,8.651,4350,3.775,4351,3.775,4352,3.775,4353,7.566,4354,7.59,4355,3.775,4356,3.775,4357,3.775,4358,3.775,4359,3.775,4360,7.59,4361,3.775,4362,3.775,4363,3.775,4364,7.59,4365,3.775,4366,3.775,4367,3.775,4368,3.775,4369,3.775,4370,2.432,4371,6.637,4372,2.895,4373,4.638,4374,4.638,4375,3.775,4376,3.775,4377,3.175,4378,3.775,4379,5.306,4380,3.775,4381,6.048,4382,3.775,4383,6.048,4384,3.496,4385,3.775,4386,3.775,4387,9.467,4388,3.775,4389,3.312,4390,3.775,4391,3.775,4392,3.775,4393,3.775,4394,3.775,4395,3.775,4396,3.775,4397,3.775,4398,3.312,4399,3.312,4400,3.312,4401,3.312,4402,3.775,4403,4.638,4404,3.775,4405,3.312]],["title/classes/CardIdsParams.html",[0,0.24,4354,6.094]],["body/classes/CardIdsParams.html",[0,0.41,2,1.04,3,0.019,4,0.019,5,0.009,7,0.137,27,0.385,30,0.001,32,0.16,47,0.97,95,0.136,101,0.013,103,0.001,104,0.001,112,0.93,125,2.332,157,2.251,190,1.755,195,2.139,200,2.996,202,2.246,296,3.108,615,8.315,855,4.816,1835,6.097,2543,5.259,4354,10.439,4406,11.019,4407,9.78,4408,9.78,4409,7.94,4410,7.017,4411,9.78]],["title/classes/CardListResponse.html",[0,0.24,4371,6.094]],["body/classes/CardListResponse.html",[0,0.335,2,1.032,3,0.018,4,0.018,5,0.009,7,0.136,27,0.467,29,0.745,30,0.001,31,0.544,32,0.159,33,0.447,95,0.135,101,0.013,103,0.001,104,0.001,112,0.926,125,2.315,190,1.742,202,2.23,296,3.094,339,4.004,433,1.462,821,4.943,861,6.728,866,4.822,881,5.3,4371,11.976,4406,11.84,4412,9.709,4413,10.808,4414,9.709,4415,9.709]],["title/entities/CardNode.html",[205,1.418,3455,5.471]],["body/entities/CardNode.html",[0,0.311,3,0.017,4,0.017,5,0.008,7,0.127,27,0.355,30,0.001,32,0.141,55,2.476,95,0.153,96,2.386,101,0.015,103,0.001,104,0.001,112,0.884,134,3.184,135,1.177,148,0.892,159,0.926,190,1.617,205,2.31,206,2.938,223,3.838,224,2.63,231,1.964,232,2.441,457,4.998,1770,4.596,1853,2.947,2108,3.933,2701,5.081,3108,6.489,3431,6.04,3441,6.737,3455,8.911,3513,5.478,3534,9.925,3542,8.355,3575,6.144,3887,6.911,3889,6.876,3910,5.537,4416,10.476,4417,5.664,4418,8.345,4419,5.664,4420,9.925,4421,7.578,4422,8.345,4423,8.345]],["title/interfaces/CardNodeProps.html",[159,0.713,4420,6.094]],["body/interfaces/CardNodeProps.html",[0,0.312,3,0.017,4,0.017,5,0.008,7,0.127,30,0.001,32,0.141,55,2.601,95,0.153,96,2.397,101,0.015,103,0.001,104,0.001,112,0.887,134,3.198,135,1.182,148,0.896,159,0.93,161,2.149,205,2.316,223,3.521,224,2.642,231,2.151,232,2.452,457,5.02,1770,4.609,1853,2.96,2108,3.951,2701,5.104,3108,6.508,3431,6.057,3441,6.756,3455,7.13,3513,5.502,3534,9.953,3542,8.619,3575,6.172,3887,6.942,3889,7.532,3910,5.562,4416,8.382,4417,5.69,4419,5.69,4420,10.87,4421,7.612,4422,8.382,4423,8.382]],["title/interfaces/CardProps.html",[159,0.713,4334,6.094]],["body/interfaces/CardProps.html",[0,0.259,3,0.014,4,0.014,5,0.009,7,0.106,30,0.001,32,0.141,36,1.595,47,0.895,55,2.527,95,0.154,101,0.015,103,0,104,0,112,0.787,122,1.57,134,2.659,135,0.983,148,1.199,155,4.119,158,2.782,159,0.773,161,1.787,231,1.968,317,1.633,527,3.185,567,3.825,569,2.342,614,2.323,653,5.475,657,1.725,1770,5.277,1842,4.583,2050,3.172,2369,4.208,2648,4.802,2684,2.44,2894,3.59,3039,6.055,3049,4.574,3050,5.88,3053,4.574,3054,5.774,3062,5.405,3093,6.822,3108,6.505,3115,6.661,3118,6.661,3121,6.254,3124,6.661,3127,6.184,3130,6.403,3135,9.157,3139,5.635,3140,3.393,3141,4.574,3520,5.771,3542,8.367,4311,6.968,4326,4.676,4327,6.975,4328,5.927,4329,9.32,4330,6.968,4331,6.184,4332,6.968,4333,6.968,4334,8.83,4335,6.968]],["title/classes/CardResponse.html",[0,0.24,4413,5.639]],["body/classes/CardResponse.html",[0,0.243,2,0.749,3,0.013,4,0.013,5,0.006,7,0.099,27,0.514,29,0.541,30,0.001,31,0.395,32,0.166,33,0.505,34,2.111,47,0.836,55,1.929,95,0.141,101,0.009,103,0,104,0,112,0.753,125,1.681,155,3.914,190,2.286,201,3.739,202,1.619,296,3.517,298,3.049,304,3.48,433,1.188,458,2.82,821,3.589,866,3.501,874,5.626,896,6.9,1835,4.935,2048,2.864,2647,8.905,2900,7.244,2908,7.143,3035,5.984,3037,3.382,3177,4.602,3178,5.142,3179,5.142,3542,7.951,3747,6.185,3988,6.292,3992,4.602,3994,4.602,4033,7.386,4034,4.331,4035,6.917,4036,6.917,4055,4.331,4056,5.723,4057,5.723,4344,7.386,4372,7.386,4373,7.386,4374,7.386,4398,6.185,4399,6.185,4400,6.185,4401,6.185,4413,10.019,4421,5.928,4424,7.049,4425,11.429,4426,7.049,4427,7.049,4428,7.049,4429,7.049,4430,7.049,4431,7.049,4432,9.224,4433,7.049,4434,6.185,4435,7.049,4436,6.185,4437,7.049]],["title/classes/CardResponseMapper.html",[0,0.24,4377,5.841]],["body/classes/CardResponseMapper.html",[0,0.316,2,0.975,3,0.017,4,0.017,5,0.008,7,0.129,8,1.321,27,0.361,29,0.704,30,0.001,31,0.514,32,0.114,33,0.422,34,1.569,35,1.063,95,0.142,100,3.202,101,0.012,103,0.001,104,0.001,135,1.198,141,4.906,148,0.909,153,2.055,155,2.91,430,3.773,467,3.63,829,5.411,830,6.346,835,7.038,896,5.131,1853,3.001,2048,3.728,2392,3.5,2908,5.311,3108,7.705,3542,5.912,3988,6.563,4004,6.47,4040,7.038,4377,9.621,4405,8.05,4413,10.597,4425,8.497,4432,9.621,4438,11.442,4439,11.442,4440,8.497,4441,8.05,4442,8.05,4443,7.716,4444,9.176,4445,9.176,4446,9.176]],["title/injectables/CardService.html",[589,0.929,3859,5.471]],["body/injectables/CardService.html",[0,0.181,3,0.01,4,0.01,5,0.005,7,0.074,8,0.899,10,3.128,12,3.53,26,2.463,27,0.494,29,0.962,30,0.001,31,0.703,32,0.156,33,0.577,34,0.896,35,1.423,36,2.878,47,0.659,49,1.97,55,2.311,59,2.418,83,2.268,95,0.136,99,1.074,101,0.007,103,0,104,0,135,1.438,148,0.921,153,1.815,155,3.491,228,1.688,277,0.756,317,3.055,430,2.154,431,2.246,433,0.961,574,2.953,579,1.514,589,1.042,591,1.249,615,3.184,652,2.356,653,2.162,657,2.969,734,3.27,1853,1.713,2018,8.755,2050,2.208,2392,1.998,2624,2.571,2935,2.776,2946,6.379,3047,3.63,3108,8.161,3409,3.922,3410,8.135,3535,5.974,3542,7.092,3603,6.551,3633,5.837,3693,8.947,3696,5.595,3702,7.899,3706,4.405,3859,6.136,4379,4.595,4442,4.595,4443,4.405,4447,5.238,4448,7.79,4449,7.79,4450,6.834,4451,5.238,4452,6.834,4453,10.548,4454,6.204,4455,5.238,4456,7.79,4457,5.238,4458,7.79,4459,5.238,4460,7.79,4461,5.238,4462,6.136,4463,7.79,4464,5.238,4465,7.79,4466,9.537,4467,5.238,4468,7.79,4469,5.238,4470,7.79,4471,5.238,4472,4.252,4473,5.238,4474,5.238,4475,5.238,4476,5.238,4477,5.238,4478,4.85,4479,3.254,4480,4.85,4481,5.238,4482,5.238,4483,5.238,4484,5.238,4485,7.79,4486,7.79,4487,7.79,4488,5.238]],["title/classes/CardSkeletonResponse.html",[0,0.24,4489,5.841]],["body/classes/CardSkeletonResponse.html",[0,0.301,2,0.927,3,0.017,4,0.017,5,0.008,7,0.123,27,0.48,29,0.669,30,0.001,31,0.489,32,0.152,33,0.401,47,0.785,55,2.219,72,5.07,95,0.1,101,0.011,103,0.001,104,0.001,112,0.866,130,3.03,157,2.006,190,1.988,202,2.002,296,3.181,304,4.304,433,1.367,802,7.332,821,4.438,868,4.182,1218,7.232,2597,8.497,3108,6.355,3177,5.691,3178,5.915,3179,5.915,3542,8.849,3718,7.554,4421,7.331,4462,10.419,4489,11.123,4490,12.813,4491,8.718,4492,8.718,4493,8.718,4494,11.079,4495,9.719,4496,11.079,4497,9.719,4498,11.079,4499,10.259,4500,10.259,4501,8.718,4502,8.718]],["title/injectables/CardUc.html",[589,0.929,3006,5.471]],["body/injectables/CardUc.html",[0,0.136,3,0.007,4,0.007,5,0.004,7,0.055,8,0.722,26,2.959,27,0.475,29,0.941,30,0.001,31,0.676,32,0.162,33,0.555,35,1.369,36,2.731,39,3.627,47,0.551,55,2.366,59,1.94,95,0.123,99,0.806,101,0.005,103,0,104,0,113,4.459,125,0.938,135,1.647,141,1.687,148,0.957,155,3.065,183,2.392,228,1.754,231,1.085,277,0.568,290,0.93,317,2.981,433,0.771,436,2.309,532,3.585,589,0.836,591,0.938,610,1.55,652,2.1,657,3.081,688,1.857,896,2.2,1027,1.208,1197,7.103,1675,2.367,1778,2.473,1792,7.128,1793,2.604,1853,1.286,1862,5.757,1935,2.642,1961,2.367,1963,3.099,1967,4.579,2018,6.489,2023,6.976,2029,3.194,2048,3.598,2449,3.25,2450,4.158,2494,2.883,2499,3.099,2648,5.145,2649,7.889,2651,4.923,2652,4.923,2653,2.883,2654,7.754,2656,3.017,2657,4.579,2658,4.489,2660,3.099,2661,5.274,2663,3.099,2664,6.361,2666,1.819,2668,5.697,2680,7.889,3006,4.923,3108,6.776,3417,2.946,3535,4.793,3542,6.225,3702,7.411,3859,8.494,4010,7.448,4123,3.194,4124,3.194,4125,3.194,4128,3.194,4129,3.194,4131,7.388,4331,3.84,4337,7.2,4339,3.452,4340,7.2,4341,7.2,4379,7.77,4403,7.889,4454,4.598,4462,10.151,4503,3.934,4504,6.25,4505,7.776,4506,6.539,4507,6.822,4508,3.934,4509,3.643,4510,3.934,4511,6.25,4512,3.934,4513,6.25,4514,7.776,4515,3.934,4516,6.25,4517,3.934,4518,3.934,4519,8.857,4520,3.934,4521,6.25,4522,3.934,4523,6.25,4524,3.934,4525,3.934,4526,3.934,4527,6.25,4528,3.934,4529,8.201,4530,3.934,4531,3.934,4532,3.934,4533,3.934,4534,6.25,4535,3.643,4536,7.2,4537,3.934,4538,3.934,4539,3.934,4540,3.934,4541,3.934,4542,3.934]],["title/classes/CardUrlParams.html",[0,0.24,4342,6.094]],["body/classes/CardUrlParams.html",[0,0.415,2,1.06,3,0.019,4,0.019,5,0.009,7,0.14,27,0.393,30,0.001,32,0.124,34,2.06,47,0.854,95,0.137,101,0.013,103,0.001,104,0.001,112,0.941,157,2.295,190,1.79,194,4.71,195,2.634,196,3.983,197,3.348,200,3.055,202,2.291,296,3.146,855,4.874,3108,6.908,4166,6.063,4342,10.565,4462,10.19,4543,9.974,4544,9.974]],["title/classes/ChallengeParams.html",[0,0.24,4545,6.094]],["body/classes/ChallengeParams.html",[0,0.414,2,1.055,3,0.019,4,0.019,5,0.009,7,0.14,27,0.391,30,0.001,32,0.124,47,0.851,95,0.137,101,0.013,103,0.001,104,0.001,112,0.939,157,2.284,180,5.126,187,6.769,190,1.781,194,4.696,195,2.626,196,3.971,197,3.338,200,3.04,202,2.279,296,3.136,299,4.679,308,7.272,4545,10.533,4546,9.925,4547,9.864,4548,9.925]],["title/classes/ChangeLanguageParams.html",[0,0.24,4549,5.841]],["body/classes/ChangeLanguageParams.html",[0,0.418,2,1.074,3,0.019,4,0.019,5,0.009,7,0.142,27,0.398,30,0.001,32,0.126,95,0.148,101,0.013,103,0.001,104,0.001,112,0.949,190,1.812,200,3.094,202,2.319,296,3.169,478,2.828,886,3.177,899,4.599,1198,7.824,3181,6.014,4549,10.203,4550,10.099,4551,9.199,4552,10.099,4553,10.099,4554,7.746]],["title/classes/Class.html",[0,0.329]],["body/classes/Class.html",[0,0.388,2,0.672,3,0.012,4,0.023,5,0.006,7,0.089,8,1.03,26,2.777,27,0.55,29,0.484,30,0.001,31,0.665,32,0.111,33,0.291,35,1.034,39,2.469,47,0.955,55,1.787,62,6.696,83,3.273,95,0.118,99,1.295,101,0.012,103,0,104,0,112,0.698,113,3.556,125,3.081,148,1.358,159,0.649,185,2.171,231,1.796,430,4.623,431,4.821,435,3.03,436,2.651,532,3.311,569,1.966,711,3.523,735,4.084,1767,4.91,1770,4.819,1773,6.358,1849,3.657,3048,3.971,3066,3.971,3069,4.976,3071,4.976,3074,4.378,3075,4.378,4555,5.85,4556,8.264,4557,3.935,4558,7.927,4559,8.623,4560,8.238,4561,8.623,4562,7.153,4563,8.623,4564,8.623,4565,8.264,4566,6.317,4567,4.845,4568,6.317,4569,4.019,4570,6.317,4571,6.317,4572,6.317,4573,5.312,4574,6.317,4575,6.317,4576,6.317,4577,6.317,4578,6.317,4579,6.317,4580,6.317,4581,6.317,4582,6.317,4583,6.317,4584,6.317,4585,6.317,4586,6.317,4587,6.317,4588,6.317,4589,6.317,4590,6.317,4591,7.936,4592,5.312,4593,5.312,4594,5.312,4595,5.85,4596,8.264,4597,5.85,4598,5.85,4599,5.85,4600,5.85,4601,5.85,4602,5.85,4603,5.85,4604,5.85,4605,5.85,4606,5.85]],["title/entities/ClassEntity.html",[205,1.418,4607,5.089]],["body/entities/ClassEntity.html",[0,0.274,2,0.572,3,0.01,4,0.022,5,0.005,7,0.169,26,1.639,27,0.513,30,0.001,31,0.585,32,0.163,33,0.628,34,0.921,47,0.935,49,5.13,55,1.893,62,6.217,95,0.127,96,2.106,97,2.206,99,1.104,101,0.01,103,0,104,0,112,0.739,125,3.064,130,1.473,153,0.888,159,0.553,185,2.733,190,2.339,195,2.984,196,4.179,205,1.624,206,1.756,211,6.686,221,5.955,223,4.095,224,1.572,225,3.054,229,2.13,231,0.935,232,1.459,233,1.681,458,2.154,459,4.186,579,1.556,652,1.1,756,2.13,2183,2.122,4557,3.654,4558,7.36,4559,8.007,4560,8.16,4561,8.007,4562,7.085,4563,8.007,4564,8.007,4607,5.827,4608,4.987,4609,5.385,4610,5.385,4611,5.385,4612,5.385,4613,5.385,4614,6.687,4615,5.385,4616,8.772,4617,3.732,4618,5.385,4619,5.385,4620,5.385,4621,5.385,4622,5.385,4623,4.245,4624,3.062,4625,4.987,4626,7.95,4627,4.529,4628,9.667,4629,6.687,4630,4.987,4631,4.987,4632,4.529,4633,2.417,4634,3.176,4635,4.033,4636,7.364,4637,4.242,4638,4.987,4639,4.987,4640,7.364,4641,4.987,4642,7.364,4643,4.987,4644,4.987,4645,6.263,4646,4.033,4647,7.364,4648,4.987,4649,6.099,4650,3.732,4651,7.364,4652,4.987]],["title/classes/ClassEntityFactory.html",[0,0.24,4653,6.432]],["body/classes/ClassEntityFactory.html",[0,0.166,2,0.512,3,0.009,4,0.017,5,0.004,7,0.068,8,0.844,27,0.519,29,1.019,30,0.001,31,0.731,32,0.168,33,0.585,34,1.689,35,1.42,47,0.519,49,4.61,55,2.327,59,3.296,62,5.266,95,0.113,101,0.006,103,0,104,0,112,0.572,113,4.455,127,4.934,129,3.582,130,3.273,135,0.955,148,0.724,153,1.915,157,2.035,172,3.109,185,2.514,192,2.65,205,2.168,206,2.385,228,1.327,231,1.27,326,4.828,374,3.164,433,0.594,436,3.871,467,2.129,501,7.255,502,5.477,505,4.057,506,5.477,507,5.399,508,4.057,509,4.057,510,4.057,511,3.993,512,4.502,513,4.904,514,7.062,515,5.797,516,7.042,517,2.693,522,2.671,523,4.057,524,2.693,525,5.162,526,5.311,527,4.18,528,4.996,529,4.025,530,2.671,531,2.518,532,4.147,533,2.572,534,2.518,535,2.671,536,2.693,537,4.828,538,2.671,539,7.144,540,4.203,541,6.638,542,2.693,543,4.29,544,2.671,545,2.693,546,2.671,547,2.693,548,2.671,549,2.993,550,2.814,551,2.671,552,6.103,553,2.693,554,2.671,555,4.057,556,3.7,557,4.057,558,2.693,559,2.59,560,2.553,561,2.162,562,2.671,563,2.671,564,2.671,565,2.693,566,2.693,567,1.831,568,2.671,569,1.499,570,2.693,571,2.893,572,2.671,573,2.693,574,2.716,575,2.763,577,2.869,1835,2.468,2369,2.693,4557,1.686,4558,3.396,4559,3.694,4560,3.529,4561,3.694,4562,3.064,4563,3.694,4564,3.694,4607,3.529,4616,5.761,4626,4.051,4653,8.189,4654,4.817,4655,6.417,4656,6.774,4657,4.817,4658,4.817,4659,4.051,4660,4.817,4661,3.46,4662,3.694]],["title/interfaces/ClassEntityProps.html",[159,0.713,4626,5.841]],["body/interfaces/ClassEntityProps.html",[0,0.284,2,0.601,3,0.011,4,0.023,5,0.005,7,0.172,26,2.202,30,0.001,31,0.637,32,0.166,33,0.639,34,1.827,47,0.974,49,5.289,55,2.139,62,6.763,95,0.13,96,2.181,97,2.314,99,1.158,101,0.011,103,0,104,0,112,0.76,125,3.099,130,1.545,153,0.932,159,0.58,161,1.342,185,1.942,195,2.798,196,4.149,205,1.682,223,4.088,224,1.649,225,3.164,229,2.235,231,0.981,232,1.531,233,1.763,458,2.261,459,4.336,579,1.633,652,1.154,756,2.235,2183,2.227,4557,3.975,4558,8.007,4559,8.71,4560,8.687,4561,8.71,4562,7.543,4563,8.71,4564,8.71,4607,4.14,4608,5.233,4616,9.338,4623,4.398,4624,3.213,4625,5.233,4626,8.983,4627,4.752,4628,9.893,4629,6.927,4630,5.233,4631,5.233,4632,4.752,4633,2.536,4634,3.332,4635,4.231,4636,7.628,4637,4.451,4638,5.233,4639,5.233,4640,7.628,4641,5.233,4642,7.628,4643,5.233,4644,5.233,4645,6.488,4646,4.231,4647,7.628,4648,5.233,4649,6.318,4650,3.916,4651,7.628,4652,5.233]],["title/classes/ClassFactory.html",[0,0.24,4663,6.432]],["body/classes/ClassFactory.html",[0,0.302,2,0.505,3,0.009,4,0.019,5,0.004,7,0.067,8,0.836,27,0.517,29,1.016,30,0.001,31,0.729,32,0.168,33,0.583,34,1.678,35,1.415,47,0.748,49,1.788,55,2.316,59,3.277,62,5.224,83,2.108,95,0.121,96,1.259,97,1.947,101,0.006,103,0,104,0,112,0.566,113,4.433,127,4.901,129,3.568,130,3.26,135,0.946,148,0.717,153,2.088,157,2.019,172,3.078,185,2.489,192,2.616,205,1.791,206,2.361,228,1.314,231,1.257,326,4.813,374,3.133,430,1.955,431,2.038,433,0.587,436,3.86,467,2.108,501,7.042,502,5.44,505,4.016,506,5.44,507,5.25,508,4.016,509,4.016,510,4.016,511,3.954,512,4.466,513,4.865,514,7.042,515,5.764,516,6.961,517,2.658,522,2.637,523,4.016,524,2.658,525,5.127,526,5.275,527,4.152,528,4.962,529,3.985,530,2.637,531,2.485,532,4.126,533,2.538,534,2.485,535,2.637,536,2.658,537,4.789,538,2.637,539,7.123,540,4.185,541,6.611,542,2.658,543,3.514,544,2.637,545,2.658,546,2.637,547,2.658,548,2.637,551,2.637,552,6.072,553,2.658,554,2.637,555,4.016,556,3.664,557,4.016,558,2.658,559,2.557,560,2.52,561,2.133,562,2.637,563,2.637,564,2.637,565,2.658,566,2.658,567,1.807,568,2.637,569,1.48,570,2.658,571,2.864,572,2.637,573,2.658,575,2.727,577,2.831,2080,3.86,2369,2.658,4479,7.407,4557,1.664,4558,3.352,4559,3.646,4560,3.483,4561,3.646,4562,3.025,4563,3.646,4564,3.646,4591,5.554,4592,3.998,4593,3.998,4655,6.353,4656,6.706,4661,3.414,4662,3.646,4663,8.123,4664,4.754,4665,6.185,4666,4.754,4667,3.414,4668,4.754,4669,4.754]],["title/classes/ClassFilterParams.html",[0,0.24,4670,6.094]],["body/classes/ClassFilterParams.html",[0,0.411,2,1.042,3,0.019,4,0.019,5,0.009,7,0.138,27,0.386,30,0.001,32,0.167,33,0.548,95,0.147,101,0.013,103,0.001,104,0.001,112,0.932,159,1.007,190,1.759,200,3.003,201,4.627,202,2.251,300,4.561,886,3.084,899,4.464,3182,5.566,4670,10.455,4671,11.036,4672,7.169,4673,8.244,4674,14.086,4675,9.803,4676,9.803,4677,9.803]],["title/classes/ClassInfoDto.html",[0,0.24,4678,5.639]],["body/classes/ClassInfoDto.html",[0,0.363,2,0.856,3,0.015,4,0.015,5,0.007,7,0.113,27,0.545,29,0.618,30,0.001,31,0.697,32,0.177,33,0.62,34,2.006,47,0.989,55,2.108,95,0.092,101,0.011,103,0.001,104,0.001,112,0.823,122,2.196,232,2.852,433,0.994,435,2.735,458,3.222,459,4.239,2108,3.515,2183,3.173,2563,5.581,4633,3.614,4678,10.477,4679,13.956,4680,7.458,4681,9.862,4682,9.862,4683,7.875,4684,9.862,4685,10.86,4686,10.527,4687,8.053,4688,8.053,4689,8.053,4690,8.053,4691,8.053,4692,8.053,4693,10.288,4694,8.053,4695,4.895,4696,7.458,4697,7.458,4698,8.053,4699,8.053,4700,6.176,4701,6.343,4702,7.458,4703,7.458,4704,7.458,4705,7.458]],["title/classes/ClassInfoResponse.html",[0,0.24,4706,5.841]],["body/classes/ClassInfoResponse.html",[0,0.254,2,0.784,3,0.014,4,0.014,5,0.007,7,0.104,27,0.535,29,0.565,30,0.001,31,0.673,32,0.176,33,0.607,34,1.92,47,0.982,55,1.988,95,0.113,101,0.01,103,0,104,0,112,0.776,122,2.071,125,1.758,190,2.407,201,5.123,202,1.693,232,2.69,296,3.55,433,0.91,435,2.504,458,2.95,459,3.881,866,3.662,886,2.32,2108,3.218,2183,2.905,2300,5.808,2563,5.109,3181,4.391,4633,3.309,4681,9.439,4682,9.439,4683,7.537,4684,9.439,4693,10.996,4695,4.482,4696,6.828,4697,6.828,4700,5.655,4701,5.808,4702,6.828,4703,6.828,4704,6.828,4705,6.828,4706,10.54,4707,12.72,4708,7.231,4709,9.928,4710,7.373,4711,7.373,4712,6.828,4713,7.373,4714,7.373,4715,6.468,4716,7.373,4717,7.373,4718,7.373,4719,7.373]],["title/classes/ClassInfoSearchListResponse.html",[0,0.24,4720,5.841]],["body/classes/ClassInfoSearchListResponse.html",[0,0.359,2,0.843,3,0.022,4,0.015,5,0.007,7,0.111,27,0.506,29,0.608,30,0.001,31,0.444,32,0.172,33,0.591,55,2.867,56,6.22,59,3.234,70,6.709,95,0.133,101,0.01,103,0.001,104,0.001,112,0.814,125,1.89,190,2.218,202,1.82,231,1.808,296,2.721,298,3.428,339,3.766,433,0.978,436,3.671,860,7.345,861,5.493,862,8.347,863,7.251,864,5.976,865,7.34,866,3.936,867,7.34,868,5.583,869,3.89,870,4.327,871,2.901,872,5.588,873,6.628,874,6.085,875,5.246,876,4.115,877,5.588,878,5.588,880,5.043,881,4.327,4706,11.296,4707,9.647,4720,8.76,4721,6.665]],["title/classes/ClassMapper.html",[0,0.24,4722,6.094]],["body/classes/ClassMapper.html",[0,0.479,2,0.733,3,0.013,4,0.022,5,0.006,7,0.097,8,1.095,27,0.46,29,0.895,30,0.001,31,0.709,32,0.146,33,0.537,34,1.622,35,1.353,49,2.592,62,5.647,95,0.133,96,1.825,97,2.823,101,0.009,103,0,104,0,125,2.784,148,1.156,153,2.177,205,1.936,206,2.247,430,2.834,431,2.955,467,4.019,652,2.213,773,4.95,1770,2.8,1882,2.629,2460,4.561,2496,4.859,2501,4.859,4557,3.319,4558,6.686,4559,7.273,4560,6.948,4561,7.273,4562,6.033,4563,7.273,4564,7.273,4591,7.273,4592,5.796,4607,10.117,4662,5.286,4722,8.319,4723,6.892,4724,7.974,4725,8.781,4726,8.781,4727,7.974,4728,7.974,4729,6.892,4730,8.781,4731,6.892,4732,8.781,4733,6.892,4734,7.974,4735,6.892,4736,6.892,4737,4.282,4738,5.429,4739,6.892,4740,6.892,4741,6.892,4742,6.892,4743,6.892,4744,6.892,4745,6.892,4746,6.892,4747,6.047,4748,6.892,4749,6.892,4750,6.892,4751,5.286,4752,5.286,4753,6.047,4754,6.892,4755,6.892,4756,6.892,4757,6.892,4758,6.892,4759,6.892,4760,6.892,4761,6.892,4762,6.382,4763,6.892,4764,6.892,4765,6.892,4766,6.892,4767,6.382,4768,6.047,4769,6.382]],["title/modules/ClassModule.html",[252,1.835,4770,5.841]],["body/modules/ClassModule.html",[0,0.329,3,0.018,4,0.018,5,0.009,30,0.001,95,0.145,101,0.013,103,0.001,104,0.001,252,3.353,254,3.438,255,3.641,256,3.734,257,3.72,258,3.707,259,4.615,260,4.724,269,4.586,270,3.667,271,3.591,277,1.378,610,3.762,2624,4.686,4770,11.988,4771,9.547,4772,9.547,4773,9.547,4774,12.703,4775,11.63,4776,9.547]],["title/interfaces/ClassProps.html",[159,0.713,4593,5.841]],["body/interfaces/ClassProps.html",[0,0.358,3,0.012,4,0.024,5,0.006,7,0.089,26,2.937,30,0.001,31,0.666,32,0.171,33,0.643,39,1.756,47,0.995,55,2.256,62,7.076,83,3.767,95,0.118,99,1.301,101,0.012,103,0,104,0,112,0.7,125,3.085,148,1.359,159,0.652,161,1.507,185,2.181,231,1.801,430,4.885,431,5.094,711,1.885,1767,5.708,1770,3.638,1849,3.674,3074,4.399,3075,4.399,4555,5.878,4557,4.159,4558,8.377,4559,9.112,4560,8.706,4561,9.112,4562,7.559,4563,9.112,4564,9.112,4565,5.878,4591,9.112,4592,5.338,4593,7.529,4594,5.338,4595,5.878,4596,8.292,4597,5.878,4598,5.878,4599,5.878,4600,5.878,4601,5.878,4602,5.878,4603,5.878,4604,5.878,4605,5.878,4606,5.878]],["title/injectables/ClassService.html",[589,0.929,4774,6.094]],["body/injectables/ClassService.html",[0,0.434,2,1.284,3,0.014,4,0.014,5,0.007,7,0.105,8,1.158,26,2.84,27,0.476,29,0.926,30,0.001,31,0.677,32,0.151,33,0.556,34,1.28,35,1.31,36,2.748,39,3.129,95,0.138,99,1.534,101,0.01,103,0,104,0,125,1.784,135,1.578,148,1.196,153,1.234,228,1.358,277,1.08,317,2.958,400,2.228,433,0.923,579,2.162,589,1.341,591,1.784,641,4.255,657,2.769,711,4.049,983,4.821,1312,3.57,1770,3.04,1882,2.854,2460,4.952,2624,3.673,4557,2.619,4768,6.565,4774,8.797,4775,10.903,4777,7.483,4778,10.027,4779,7.898,4780,8.797,4781,7.483,4782,7.483,4783,10.027,4784,7.483,4785,8.141,4786,7.483,4787,8.797,4788,7.483,4789,7.483,4790,10.027,4791,5.483,4792,6.293,4793,6.93,4794,7.483,4795,7.483,4796,7.483,4797,7.483,4798,7.483]],["title/classes/ClassSortParams.html",[0,0.24,4799,6.094]],["body/classes/ClassSortParams.html",[0,0.398,2,0.989,3,0.018,4,0.018,5,0.009,7,0.131,27,0.455,30,0.001,32,0.144,33,0.531,95,0.15,101,0.012,103,0.001,104,0.001,112,0.902,129,2.785,130,2.544,159,0.956,190,2.071,200,2.85,201,4.481,202,2.137,231,2.003,298,4.024,300,4.417,436,3.428,770,8.245,790,6.343,886,2.927,899,4.236,3309,9.622,4671,8.615,4673,7.824,4799,10.124,4800,7.553,4801,10.948,4802,13.485,4803,9.304,4804,9.304,4805,7.824,4806,8.162,4807,9.304]],["title/classes/ClassSourceOptions.html",[0,0.24,4591,5.327]],["body/classes/ClassSourceOptions.html",[0,0.326,2,1.005,3,0.018,4,0.026,5,0.009,7,0.133,27,0.498,29,0.725,30,0.001,31,0.53,32,0.145,33,0.435,47,0.826,101,0.015,103,0.001,104,0.001,112,0.911,113,5.036,125,2.255,148,0.936,159,0.971,232,3.158,433,1.167,435,4.601,735,5.335,1771,7.953,4591,8.941,4662,10.118,4808,12.217,4809,8.758,4810,12.105,4811,11.658,4812,9.457,4813,9.457,4814,8.758]],["title/classes/ClassSourceOptionsEntity.html",[0,0.24,4616,5.471]],["body/classes/ClassSourceOptionsEntity.html",[0,0.324,2,0.998,3,0.018,4,0.025,5,0.009,7,0.132,27,0.457,29,0.72,30,0.001,31,0.526,32,0.145,33,0.58,47,0.893,95,0.107,96,2.486,101,0.015,103,0.001,104,0.001,112,0.907,125,2.239,159,0.965,190,1.685,195,2.539,196,3.106,211,5.208,223,3.603,224,2.741,232,3.145,433,1.159,435,3.189,2698,5.909,4616,9.142,4662,10.093,4815,11.666,4816,8.696,4817,11.545,4818,11.607,4819,10.748,4820,8.696]],["title/interfaces/ClassSourceOptionsEntityProps.html",[159,0.713,4817,6.094]],["body/interfaces/ClassSourceOptionsEntityProps.html",[0,0.34,3,0.019,4,0.023,5,0.009,7,0.138,30,0.001,32,0.123,33,0.55,47,0.948,95,0.112,96,2.608,101,0.016,103,0.001,104,0.001,112,0.934,125,2.349,159,1.012,161,2.339,195,2.155,196,3.258,223,3.71,224,2.875,232,2.669,2698,6.085,4616,7.76,4662,10.512,4815,9.123,4816,9.123,4817,11.289,4819,11.068,4820,9.123]],["title/interfaces/ClassSourceOptionsProps.html",[159,0.713,4810,6.094]],["body/interfaces/ClassSourceOptionsProps.html",[0,0.346,3,0.019,4,0.023,5,0.009,7,0.141,30,0.001,32,0.125,33,0.557,47,0.955,101,0.016,103,0.001,104,0.001,112,0.946,113,4.005,125,2.396,148,0.995,159,1.032,161,2.386,232,2.722,435,4.107,1771,8.45,4591,7.707,4662,10.57,4808,9.305,4809,9.305,4810,11.816,4814,9.305]],["title/injectables/ClassesRepo.html",[589,0.929,4775,5.841]],["body/injectables/ClassesRepo.html",[0,0.47,2,1.14,3,0.013,4,0.013,5,0.006,7,0.095,8,1.079,26,2.658,27,0.456,29,0.888,30,0.001,31,0.649,32,0.144,33,0.533,34,1.599,35,1.243,36,2.664,39,1.869,47,0.479,49,2.54,62,4.022,95,0.147,96,1.788,97,2.766,99,1.384,101,0.009,103,0,104,0,125,1.61,135,1.716,148,0.926,153,2.004,205,1.379,228,1.226,277,0.975,317,2.895,400,2.011,433,0.833,579,1.951,589,1.25,591,1.61,657,2.653,675,3.438,773,6.715,1472,3.776,1882,2.575,2448,6.472,2782,5.105,3608,4.408,3613,5.462,4557,3.273,4558,4.761,4607,8.906,4722,5.925,4737,4.196,4775,7.863,4779,7.365,4785,7.591,4821,6.753,4822,9.35,4823,9.35,4824,6.753,4825,9.35,4826,6.753,4827,6.753,4828,9.35,4829,6.753,4830,4.535,4831,4.604,4832,10.725,4833,5.483,4834,6.7,4835,9.35,4836,6.753,4837,6.753,4838,6.254,4839,6.254,4840,6.753,4841,6.753,4842,6.753,4843,6.753,4844,6.753,4845,6.753,4846,6.753,4847,6.753,4848,6.753,4849,6.753,4850,9.35,4851,6.753,4852,6.753,4853,6.753]],["title/interfaces/CleanOptions.html",[159,0.713,4854,5.639]],["body/interfaces/CleanOptions.html",[0,0.164,3,0.009,4,0.009,5,0.004,7,0.067,10,1.905,30,0.001,32,0.059,33,0.333,36,2.449,47,0.512,52,3.657,53,3.475,55,2.314,70,4.459,72,3.308,78,8.95,95,0.112,101,0.006,103,0,104,0,112,0.565,122,0.989,125,1.724,129,3.156,135,1.377,145,2.7,148,0.867,153,1.192,157,2.913,159,0.9,161,1.126,171,3.185,194,4.125,197,3.312,228,1.59,230,4.784,259,1.725,290,1.121,317,2.702,365,2.118,388,3.756,413,2.883,433,0.585,467,1.381,540,4.057,579,1.371,612,3.185,618,5.643,644,2.883,648,2.981,652,2,657,2.797,745,6.291,756,2.859,758,6.07,892,3.638,981,2.883,985,4.184,1027,1.457,1080,1.635,1372,2.496,1619,5.382,1626,4.009,1751,5.694,1899,3.096,1927,4.263,1938,2.551,2218,2.118,2234,3.736,2449,1.982,2450,3.394,2543,2.551,2843,6.9,2849,3.851,2920,7.598,3089,5.718,3382,5.346,3771,4.719,3779,3.139,3780,8.814,3781,6.48,3782,2.771,4854,7.111,4855,2.771,4856,2.947,4857,3.988,4858,3.988,4859,7.716,4860,6.079,4861,6.559,4862,3.736,4863,3.736,4864,6.079,4865,3.988,4866,3.988,4867,8.562,4868,3.988,4869,3.988,4870,5.869,4871,5.544,4872,3.988,4873,3.056,4874,3.638,4875,3.736,4876,3.988,4877,3.988,4878,7.727,4879,3.988,4880,8.868,4881,3.475,4882,3.988,4883,8.088,4884,3.988,4885,3.056,4886,3.552,4887,5.972,4888,3.406,4889,4.854,4890,3.552,4891,3.988,4892,3.988,4893,3.988,4894,5.097,4895,8.238,4896,3.988,4897,3.988,4898,3.552,4899,3.988,4900,8.238,4901,3.988,4902,3.988,4903,3.988,4904,8.238,4905,8.238,4906,3.736,4907,6.176,4908,3.988,4909,3.988,4910,3.988,4911,3.475,4912,3.851,4913,5.297,4914,3.736,4915,3.988,4916,3.988,4917,3.988,4918,3.988,4919,3.988,4920,5.297,4921,3.139,4922,3.736,4923,3.234,4924,3.638,4925,3.988,4926,3.988,4927,3.988,4928,3.988,4929,3.988,4930,3.988,4931,3.988,4932,3.988,4933,3.988,4934,3.988,4935,3.736,4936,3.851]],["title/injectables/CloseUserLoginMigrationUc.html",[589,0.929,4937,5.841]],["body/injectables/CloseUserLoginMigrationUc.html",[0,0.253,3,0.014,4,0.014,5,0.007,7,0.103,8,1.142,26,2.716,27,0.39,29,0.759,30,0.001,31,0.554,32,0.123,33,0.455,35,0.85,36,2.096,39,2.029,95,0.153,99,1.503,101,0.01,103,0,104,0,122,1.53,125,1.748,135,1.565,142,2.675,148,0.979,153,1.209,180,5.503,228,2.174,290,3.115,317,2.429,433,1.22,478,2.053,579,2.119,589,1.323,591,1.748,595,2.767,610,2.889,652,2.446,657,2.954,693,3.339,1422,3.003,1780,4.457,1853,2.398,1862,7.034,1961,4.411,2666,3.39,4557,4.194,4937,8.318,4938,5.122,4939,11.193,4940,5.953,4941,8.678,4942,5.953,4943,9.445,4944,10.378,4945,11.079,4946,6.79,4947,9.891,4948,7.333,4949,5.373,4950,7.121,4951,5.776,4952,7.532,4953,5.953,4954,6.433,4955,6.166,4956,6.166,4957,8.678,4958,7.333,4959,9.16,4960,7.333,4961,7.333,4962,7.333]],["title/injectables/CollaborativeStorageAdapter.html",[589,0.929,4963,5.841]],["body/injectables/CollaborativeStorageAdapter.html",[0,0.187,3,0.01,4,0.01,5,0.005,7,0.076,8,0.924,27,0.476,29,0.896,30,0.001,31,0.655,32,0.151,33,0.538,34,1.368,35,1.295,36,2.628,47,0.673,72,3.661,95,0.138,100,4.328,101,0.007,103,0,104,0,112,0.625,148,1.038,157,2.69,277,0.784,328,5.99,329,7.105,331,5.603,339,2.346,356,5.372,388,5.183,433,0.987,567,3.983,569,1.69,589,1.07,591,1.294,614,2.47,652,1.633,675,4.836,688,2.562,1027,1.667,1826,6.488,2342,5.745,2449,3.97,2450,4.921,3218,4.63,3866,6.366,4260,5.543,4963,6.727,4964,8.458,4965,10.882,4966,5.429,4967,5.861,4968,8.509,4969,10.431,4970,7.018,4971,6.494,4972,9.109,4973,6.727,4974,6.494,4975,6.494,4976,8,4977,6.494,4978,6.494,4979,5.429,4980,10.28,4981,8.813,4982,8,4983,6.494,4984,9.248,4985,5.429,4986,8.828,4987,6.494,4988,5.429,4989,8,4990,5.429,4991,6.494,4992,5.429,4993,8,4994,7.527,4995,8.255,4996,5.429,4997,6.135,4998,4.763,4999,4.276,5000,4.565,5001,4.164,5002,5.429,5003,5.429,5004,5.429,5005,5.429,5006,5.429,5007,8,5008,5.429,5009,5.429,5010,5.429,5011,5.429]],["title/injectables/CollaborativeStorageAdapterMapper.html",[589,0.929,4981,5.841]],["body/injectables/CollaborativeStorageAdapterMapper.html",[0,0.277,3,0.015,4,0.015,5,0.007,7,0.113,8,1.214,27,0.317,29,0.616,30,0.001,31,0.451,32,0.1,33,0.37,35,0.931,95,0.147,100,4.868,101,0.011,103,0.001,104,0.001,148,1.041,153,1.325,157,1.85,277,1.16,331,5.964,388,5.023,589,1.406,591,1.916,711,3.48,1826,6.906,1882,4.009,3866,5.285,4260,5.57,4834,6.085,4964,7.168,4968,10.089,4971,8.535,4981,8.84,4984,8.925,4986,7.811,4994,8.925,4995,9.788,4997,8.063,4998,7.051,4999,8.281,5000,6.759,5001,6.164,5012,10.513,5013,8.037,5014,10.513,5015,10.513,5016,8.037,5017,8.535,5018,8.535,5019,10.089,5020,6.525,5021,7.051,5022,7.051,5023,7.051,5024,4.458,5025,5.773,5026,8.037,5027,8.037,5028,8.037,5029,8.037,5030,8.037]],["title/modules/CollaborativeStorageAdapterModule.html",[252,1.835,5031,6.094]],["body/modules/CollaborativeStorageAdapterModule.html",[0,0.251,3,0.014,4,0.014,5,0.007,30,0.001,47,0.515,95,0.159,101,0.01,103,0,104,0,135,0.949,252,2.943,254,2.617,255,2.771,256,2.842,257,2.832,258,2.821,259,4.052,260,4.147,265,5.942,269,3.845,270,2.791,271,2.733,276,3.845,277,1.049,675,3.699,685,5.743,1027,2.232,1054,4.097,1267,5.219,1933,9.859,1934,5.723,2218,3.245,2219,3.653,2220,3.525,3858,7.988,3866,3.653,3868,3.825,3872,6.417,4228,4.245,4963,11.711,4964,4.954,4965,6.375,4969,6.11,4980,5.899,4981,10.81,5031,12.725,5032,7.266,5033,7.266,5034,7.266,5035,7.266,5036,9.626,5037,9.419,5038,11.905,5039,11.532,5040,7.266,5041,5.573,5042,5.005,5043,6.729,5044,7.266,5045,7.266,5046,7.266,5047,9.831,5048,7.266,5049,7.266,5050,7.266]],["title/controllers/CollaborativeStorageController.html",[314,2.658,5051,6.094]],["body/controllers/CollaborativeStorageController.html",[0,0.37,3,0.013,4,0.013,5,0.006,7,0.095,8,1.081,27,0.266,29,0.519,30,0.001,31,0.379,32,0.084,33,0.311,35,0.784,36,1.984,95,0.147,101,0.009,103,0,104,0,148,0.67,153,1.543,157,3.109,190,1.214,193,2.939,202,1.554,228,1.228,274,2.827,277,0.976,290,2.739,314,2.589,316,3.263,325,5.753,331,5.566,333,6.286,337,5.752,342,6.111,345,6.723,347,4.796,349,6.192,356,7.779,360,5.323,371,4.962,379,4.766,388,5.215,389,4.416,391,7.473,392,3.536,395,3.638,398,3.665,400,2.014,402,4.145,614,3.577,652,1.381,693,3.08,1027,2.078,1080,3.227,1083,5.278,1826,5.936,2449,2.827,2450,4.395,2544,7.6,3221,3.489,3866,6.325,4969,10.227,4978,8.715,4986,8.263,5020,7.6,5051,8.212,5052,6.6,5053,9.361,5054,6.764,5055,7.373,5056,6.764,5057,11.262,5058,9.741,5059,12.162,5060,9.405,5061,6.764,5062,6.764,5063,8.212,5064,9.361,5065,6.264,5066,7.179,5067,6.764,5068,6.764,5069,9.361,5070,6.487,5071,8.212,5072,7.872,5073,6.764,5074,6.764,5075,5.934,5076,6.264,5077,6.764,5078,6.764,5079,6.764,5080,6.764,5081,6.764,5082,6.764]],["title/modules/CollaborativeStorageModule.html",[252,1.835,5083,5.841]],["body/modules/CollaborativeStorageModule.html",[0,0.265,3,0.015,4,0.015,5,0.007,30,0.001,95,0.158,101,0.01,103,0,104,0,252,3.027,254,2.767,255,2.93,256,3.005,257,2.994,258,2.983,259,4.167,260,4.266,265,6.039,269,3.992,270,2.951,271,2.89,274,4.266,276,3.992,277,1.109,279,3.225,314,2.941,675,3.912,1027,2.36,1524,10.02,1539,6.238,1856,7.494,1915,9.053,2666,3.552,2869,4.888,3017,3.627,3866,3.863,4965,6.741,5031,11.462,5051,10.053,5052,5.417,5072,11.814,5083,12.255,5084,7.684,5085,7.684,5086,7.684,5087,7.684,5088,10.986,5089,10.986,5090,10.986,5091,7.115,5092,7.115]],["title/injectables/CollaborativeStorageService.html",[589,0.929,5088,5.841]],["body/injectables/CollaborativeStorageService.html",[0,0.187,3,0.01,4,0.01,5,0.005,7,0.076,8,0.924,26,2.161,27,0.46,29,0.896,30,0.001,31,0.655,32,0.146,33,0.538,34,1.368,35,1.295,36,2.729,47,0.937,95,0.149,99,1.113,100,3.657,101,0.007,103,0,104,0,129,1.625,130,1.485,148,1.228,153,1.319,157,1.841,195,1.75,197,2.224,205,1.633,277,0.784,279,2.279,290,1.891,317,2.537,331,3.54,388,5.012,433,0.987,589,1.07,591,1.294,595,2.049,652,2.387,657,2.402,693,2.472,1027,1.667,1780,3.3,1826,5.37,1862,5.595,1915,8.376,1925,4.863,2449,3.97,2450,4.921,2666,2.51,2847,6.494,3382,3.59,3866,2.729,4260,9.049,4834,4.63,4963,8.813,4968,6.494,4974,6.494,4975,6.494,4977,6.494,4978,7.711,4983,6.494,4984,8.681,4986,7.347,4987,6.494,4991,6.494,4995,8.255,4999,4.276,5020,4.408,5052,8.522,5070,5.543,5088,6.727,5089,8.813,5092,5.027,5093,11.193,5094,5.027,5095,8,5096,5.429,5097,9.27,5098,9.499,5099,8.796,5100,5.429,5101,5.027,5102,5.429,5103,8,5104,8.241,5105,5.429,5106,4.302,5107,6.727,5108,5.222,5109,5.429,5110,5.429,5111,8.753,5112,10.347,5113,5.027,5114,6.301,5115,6.697,5116,7.408,5117,7.408,5118,4.565,5119,5.429,5120,5.429,5121,5.429,5122,5.429,5123,8,5124,5.429,5125,5.429,5126,5.429,5127,5.429,5128,5.429,5129,5.429,5130,5.429,5131,5.429,5132,5.429]],["title/interfaces/CollaborativeStorageStrategy.html",[159,0.713,4980,5.639]],["body/interfaces/CollaborativeStorageStrategy.html",[3,0.015,4,0.015,5,0.008,7,0.115,8,1.225,27,0.492,29,0.958,30,0.001,31,0.7,32,0.156,33,0.575,35,1.448,36,2.906,47,0.836,95,0.121,100,4.36,101,0.011,103,0.001,104,0.001,157,2.442,159,1.212,161,1.935,329,7.595,331,5.219,356,7.125,388,3.495,1826,5.437,2139,6.141,2827,9.825,4260,5.649,4964,8.833,4974,8.614,4975,8.614,4977,8.614,4978,8.614,4980,8.614,4983,8.614,4984,9.713,4986,7.854,4987,8.614,4991,8.614,4997,6.252,4999,6.421,5000,6.855,5019,10.144,5020,6.618,5133,8.151,5134,10.61,5135,9.308,5136,8.151,5137,8.151,5138,8.151,5139,9.825,5140,8.151]],["title/injectables/CollaborativeStorageUc.html",[589,0.929,5072,5.841]],["body/injectables/CollaborativeStorageUc.html",[0,0.232,3,0.013,4,0.013,5,0.006,7,0.094,8,1.076,27,0.478,29,0.93,30,0.001,31,0.68,32,0.151,33,0.558,35,1.338,36,2.781,47,0.89,95,0.143,101,0.009,103,0,104,0,148,1.144,153,1.536,157,1.546,228,1.691,277,0.97,290,2.203,317,2.321,331,5.111,388,4.586,433,1.15,589,1.246,591,1.602,610,3.672,652,1.902,1826,5.919,1925,5.664,2847,7.564,4260,4.656,4974,7.564,4975,7.564,4977,7.564,4983,7.564,4984,9.246,4986,7.891,4987,7.564,4991,7.564,4997,8.203,5000,5.65,5052,8.851,5057,10.697,5058,9.713,5060,9.378,5070,6.457,5072,7.835,5075,5.895,5076,6.222,5088,9.713,5090,9.713,5093,6.222,5114,7.339,5115,8.144,5116,8.628,5117,8.628,5141,12.554,5142,6.719,5143,10.696,5144,6.719,5145,10.696,5146,6.719,5147,6.719,5148,6.719,5149,6.719,5150,6.719,5151,11.551,5152,6.719,5153,9.318,5154,6.222,5155,6.222,5156,6.719,5157,8.628,5158,6.719,5159,6.719,5160,6.719,5161,6.719,5162,6.719,5163,6.719,5164,6.719]],["title/interfaces/CollectionFilePath.html",[159,0.713,5165,6.432]],["body/interfaces/CollectionFilePath.html",[0,0.091,3,0.005,4,0.017,5,0.008,7,0.037,10,1.063,27,0.104,30,0.001,31,0.437,32,0.056,33,0.271,35,0.983,36,1.919,47,0.905,55,0.903,83,1.312,95,0.13,96,0.701,97,1.084,101,0.01,103,0,104,0,112,0.352,122,0.94,125,0.631,130,0.724,135,1.753,145,1.683,146,1.804,148,1.256,153,0.971,158,2.177,159,0.272,161,0.628,195,0.986,206,0.863,228,1.262,260,0.985,276,1.035,277,0.382,317,2.159,329,1.608,339,2.656,340,1.705,356,1.777,371,1.402,374,1.949,388,3.343,403,2.28,414,2.28,415,2.563,433,0.326,478,0.741,514,1.434,571,1.046,574,4.396,579,0.765,589,0.603,611,2.45,619,1.9,623,1.727,634,3.407,651,1.338,652,2.59,657,2.962,688,1.249,695,1.9,700,2.174,701,2.174,702,2.225,734,2.471,756,2.749,788,1.804,980,2.499,985,1.531,1027,0.813,1080,0.912,1086,1.262,1087,1.223,1088,1.242,1089,1.322,1090,1.444,1091,1.777,1092,1.777,1420,2.321,1476,1.626,1582,1.9,1598,1.56,1610,6.989,1821,5.686,1842,1.205,1923,1.777,1926,3.953,1927,5.868,1994,4.313,2139,1.531,2218,1.182,2219,1.33,2220,1.284,2221,1.663,2327,1.663,2392,1.009,2448,2.52,2449,1.106,2450,2.116,2494,1.939,2499,2.084,2533,1.504,2554,2.833,2580,5.467,2894,4.747,2897,1.592,3083,5.105,3090,3.177,3218,1.531,3290,2.148,3394,2.062,3613,1.546,3785,2.983,3794,2.45,3830,3.659,4175,4.95,4177,2.45,4178,2.45,4182,7.744,4184,1.833,4186,4.173,4193,7.946,4557,0.926,4672,3.541,4800,2.148,4873,2.903,4907,5.497,4970,3.954,5070,1.833,5165,7.858,5166,2.646,5167,10.112,5168,7.744,5169,4.779,5170,1.865,5171,3.375,5172,4.313,5173,3.954,5174,1.865,5175,4.95,5176,2.45,5177,4.408,5178,4.633,5179,2.45,5180,2.646,5181,2.646,5182,7.797,5183,3.377,5184,5.887,5185,3.954,5186,8.486,5187,5.887,5188,2.084,5189,2.45,5190,4.817,5191,1.683,5192,6.951,5193,2.148,5194,2.646,5195,2.646,5196,2.45,5197,2.646,5198,4.173,5199,2.646,5200,2.646,5201,2.321,5202,4.071,5203,2.646,5204,4.507,5205,2.646,5206,5.165,5207,8.486,5208,4.507,5209,4.507,5210,2.646,5211,2.646,5212,2.646,5213,5.214,5214,2.45,5215,4.515,5216,2.646,5217,8.939,5218,2.646,5219,6.951,5220,2.646,5221,2.646,5222,2.646,5223,2.646,5224,2.45,5225,2.646,5226,2.646,5227,2.646,5228,1.663,5229,2.646,5230,2.646,5231,2.646,5232,1.865,5233,5.887,5234,3.026,5235,2.646,5236,6.951,5237,2.646,5238,2.646,5239,1.663,5240,2.646,5241,4.507,5242,4.507,5243,2.646,5244,2.646,5245,2.646,5246,1.663,5247,4.507,5248,2.646,5249,2.646,5250,2.646,5251,6.437,5252,4.507,5253,3.954,5254,4.507,5255,4.507,5256,2.646,5257,2.646,5258,2.646,5259,2.646,5260,2.646,5261,2.646,5262,2.646,5263,2.646,5264,2.646,5265,2.646,5266,2.646,5267,6.951,5268,5.846,5269,3.177,5270,2.646,5271,3.79,5272,4.95,5273,2.646,5274,4.507,5275,4.507,5276,2.646,5277,4.507,5278,2.646,5279,4.173,5280,2.646,5281,2.646,5282,2.646,5283,5.887,5284,2.646,5285,2.029,5286,2.646,5287,2.084,5288,2.45,5289,2.646,5290,2.646,5291,2.646,5292,3.302,5293,2.225,5294,2.646,5295,2.646,5296,2.646,5297,2.646,5298,2.646,5299,4.507,5300,2.646,5301,2.646,5302,2.646,5303,2.646,5304,2.646,5305,2.646,5306,2.646,5307,2.646,5308,3.659,5309,3.659,5310,2.646,5311,2.148,5312,2.646,5313,2.646,5314,2.646,5315,3.375,5316,1.981,5317,2.148,5318,2.646,5319,2.646,5320,2.646,5321,2.646,5322,2.646,5323,4.507,5324,2.646,5325,2.646,5326,5.887,5327,2.646,5328,2.646,5329,2.646,5330,2.646,5331,2.321,5332,2.646,5333,2.646,5334,3.659,5335,3.659,5336,3.659,5337,2.646,5338,5.451,5339,2.646,5340,2.45,5341,2.321,5342,2.646,5343,2.646,5344,1.981,5345,2.646,5346,3.954,5347,2.646,5348,2.646,5349,2.646,5350,2.646,5351,2.646,5352,2.646,5353,2.646,5354,2.646,5355,5.887,5356,2.646,5357,2.646,5358,2.646,5359,2.646,5360,2.646,5361,4.507,5362,3.55,5363,4.507,5364,2.646,5365,4.173,5366,4.507,5367,2.646,5368,4.173,5369,5.887,5370,2.646,5371,2.45,5372,2.321,5373,2.45,5374,2.084,5375,2.646,5376,1.9,5377,2.321,5378,2.646,5379,2.45,5380,2.029,5381,2.45,5382,2.646,5383,2.646,5384,2.646,5385,2.646,5386,2.646,5387,2.45,5388,2.45,5389,2.646]],["title/classes/Column.html",[0,0.24,2946,3.708]],["body/classes/Column.html",[0,0.227,2,0.699,3,0.012,4,0.012,5,0.006,7,0.092,8,1.06,27,0.529,29,0.981,30,0.001,31,0.717,32,0.165,33,0.589,35,1.513,36,1.945,47,0.853,55,1.838,59,2.041,95,0.121,101,0.014,103,0,104,0,112,0.718,113,3.658,122,2.206,134,2.323,135,0.859,148,1.047,155,3.955,158,2.431,159,0.675,189,5.64,231,1.835,317,2.295,435,3.117,436,3.877,527,2.783,532,3.405,567,2.499,569,3.747,653,3.79,657,1.507,711,2.726,735,4.2,1770,4.65,1773,6.497,1842,4.18,2050,2.772,2648,6.409,2946,6.11,3039,7.978,3042,6.472,3043,6.472,3044,6.472,3045,5.992,3046,6.472,3048,4.134,3049,5.58,3050,6.685,3052,6.361,3053,5.58,3054,6.565,3056,4.557,3057,4.901,3059,6.647,3060,4.557,3062,6.593,3064,4.557,3066,4.134,3093,5.522,3108,5.265,3136,5.53,4315,6.593,4316,4.723,4317,4.723,4318,5.53,4320,5.769,4326,4.086,4327,6.361,4328,5.18,4331,5.64,5390,6.09,5391,5.769,5392,6.09,5393,6.576,5394,6.576,5395,6.09,5396,6.09,5397,5.769,5398,6.09]],["title/classes/ColumnBoard.html",[0,0.24,2031,4.137]],["body/classes/ColumnBoard.html",[0,0.212,2,0.655,3,0.012,4,0.012,5,0.006,7,0.087,8,1.012,27,0.533,29,0.985,30,0.001,31,0.72,32,0.165,33,0.591,35,1.514,36,1.858,47,0.833,55,1.756,59,1.913,95,0.117,101,0.013,103,0,104,0,112,0.685,113,3.494,122,2.129,134,2.177,135,0.805,148,1.101,155,3.873,158,2.278,159,0.633,183,4.673,189,5.387,231,1.772,317,2.215,435,2.977,436,3.814,527,2.608,532,3.253,567,3.332,569,3.8,653,3.62,657,1.412,711,2.604,735,4.012,1770,4.518,1773,6.272,1842,3.993,2031,6.622,2050,2.597,2648,6.322,2946,4.681,3039,7.86,3042,6.182,3043,6.182,3044,6.182,3045,5.724,3046,6.182,3048,3.873,3049,5.33,3050,6.495,3052,6.076,3053,5.33,3054,6.378,3056,4.27,3057,4.681,3059,6.416,3060,4.27,3062,6.297,3064,4.27,3066,3.873,3093,5.275,3138,5.182,3623,8.77,4314,5.706,4315,4.426,4316,4.426,4317,4.426,4318,5.182,4320,5.406,4326,3.829,4327,6.076,4328,4.854,4331,5.387,5399,10.88,5400,5.706,5401,6.162,5402,5.706,5403,6.162,5404,6.162,5405,6.162,5406,6.162,5407,6.162,5408,6.162,5409,8.12,5410,5.706,5411,5.706,5412,5.706,5413,5.182,5414,5.706]],["title/injectables/ColumnBoardCopyService.html",[589,0.929,3266,5.841]],["body/injectables/ColumnBoardCopyService.html",[0,0.238,3,0.013,4,0.013,5,0.006,7,0.097,8,1.097,26,2.239,27,0.374,29,0.729,30,0.001,31,0.533,32,0.146,33,0.437,35,0.801,36,2.014,39,2.63,95,0.151,99,1.418,101,0.009,103,0,104,0,135,1.601,148,0.685,153,1.567,172,4.04,228,2.225,243,4.347,277,0.998,279,2.903,290,1.635,317,2.357,433,1.173,435,2.348,571,3.759,579,2.747,589,1.271,591,1.649,610,2.725,652,2.503,657,2.81,1312,3.3,1622,4.967,1829,2.94,1853,2.261,1910,7.972,2030,4.793,2031,6.468,2032,2.628,2050,5.167,2053,5.179,2477,5.778,2617,5.778,2624,3.394,3253,5.447,3256,8.802,3266,7.993,3285,7.089,3298,4.249,3299,3.933,3310,8.339,3341,6.827,3356,6.404,3358,6.404,3409,5.179,3410,8.93,3519,4.4,3587,10.91,3597,4.967,3598,8.339,3623,6.827,3864,9.834,3868,3.64,5415,10.057,5416,7.805,5417,10.86,5418,6.404,5419,9.505,5420,6.404,5421,6.916,5422,6.404,5423,6.916,5424,6.916,5425,6.916,5426,6.916,5427,3.967,5428,5.816,5429,6.916,5430,6.916,5431,6.916,5432,6.404,5433,6.916,5434,6.404,5435,5.615,5436,6.916,5437,6.916,5438,6.916,5439,6.916,5440,6.916,5441,6.916]],["title/classes/ColumnBoardFactory.html",[0,0.24,5442,6.432]],["body/classes/ColumnBoardFactory.html",[0,0.17,2,0.523,3,0.009,4,0.009,5,0.005,7,0.069,8,0.859,27,0.521,29,1.014,30,0.001,31,0.705,32,0.17,33,0.578,34,1.833,35,1.429,47,0.527,49,1.852,55,2.344,59,3.328,83,2.165,95,0.114,101,0.01,103,0,104,0,112,0.581,113,4.493,125,1.174,127,4.989,129,3.607,130,3.295,135,0.971,148,0.736,153,1.646,155,1.561,157,2.062,172,3.161,183,2.846,185,2.556,192,2.709,205,2.189,206,2.425,228,1.626,231,1.291,326,4.853,374,3.217,430,2.024,431,2.111,433,0.607,436,3.889,467,2.165,501,7.282,502,5.538,505,4.124,506,5.538,507,5.432,508,4.124,509,4.124,510,4.124,511,4.06,512,4.562,513,4.97,514,6.529,515,5.853,516,7.07,517,2.753,522,2.73,523,4.124,524,2.753,525,5.22,526,5.37,527,4.226,528,5.051,529,4.092,530,2.73,531,2.574,532,4.182,533,2.628,534,2.574,535,2.73,536,2.753,537,4.893,538,2.73,539,6.972,540,4.231,541,6.683,542,2.753,543,4.348,544,2.73,545,2.753,546,2.73,547,2.753,548,2.73,549,3.059,550,2.876,551,2.73,552,6.155,553,2.753,554,2.73,555,4.124,556,3.762,557,4.124,558,2.753,559,2.648,560,2.61,561,2.209,562,2.73,563,2.73,564,2.73,565,2.753,566,2.753,567,1.871,568,2.73,569,1.532,570,2.753,571,2.941,572,2.73,573,2.753,574,2.776,576,2.903,577,2.932,1853,1.61,2030,3.412,2031,2.932,2050,2.075,2053,3.687,2946,2.628,3047,3.412,3304,4.14,4479,4.621,5413,4.14,5442,8.299,5443,7.437,5444,4.923,5445,9.985,5446,4.923,5447,4.923,5448,4.923]],["title/entities/ColumnBoardNode.html",[205,1.418,3461,5.327]],["body/entities/ColumnBoardNode.html",[0,0.281,3,0.015,4,0.015,5,0.008,7,0.115,27,0.418,30,0.001,32,0.156,34,1.394,49,4.436,95,0.152,96,2.158,101,0.014,103,0.001,104,0.001,112,0.829,134,2.88,135,1.065,148,1.051,153,1.344,159,0.837,183,4.782,190,1.904,205,2.166,206,2.658,223,3.662,224,2.379,231,1.842,232,2.208,457,4.521,574,4.596,1770,4.311,2030,8.174,2050,4.972,2108,3.558,2648,5.062,2701,4.596,2924,4.905,3304,6.855,3431,5.665,3441,6.319,3461,8.137,3513,4.955,3575,5.558,3623,8.472,3659,9.577,3661,10.349,3887,6.252,3889,6.449,3910,5.009,4417,5.124,4419,5.124,5449,10.349,5450,7.945,5451,8.151,5452,6.319,5453,8.151,5454,9.825,5455,9.308,5456,9.825,5457,7.549,5458,6.855,5459,7.549,5460,7.549,5461,7.549]],["title/interfaces/ColumnBoardNodeProps.html",[159,0.713,5455,6.094]],["body/interfaces/ColumnBoardNodeProps.html",[0,0.291,3,0.016,4,0.016,5,0.008,7,0.119,30,0.001,32,0.15,34,1.444,49,4.082,95,0.153,96,2.235,101,0.014,103,0.001,104,0.001,112,0.849,134,2.983,135,1.103,148,1.075,153,1.392,159,0.867,161,2.005,183,5.131,205,2.216,223,3.724,224,2.464,231,2.082,232,2.287,457,4.682,574,4.76,1770,4.41,2030,7.521,2050,3.558,2108,3.685,2648,5.179,2701,4.76,2924,5.017,3304,7.1,3431,5.795,3441,6.464,3461,6.475,3513,5.132,3575,5.757,3623,9.407,3659,6.854,3661,7.407,3887,6.475,3889,7.292,3910,5.188,4417,5.307,4419,5.307,5449,7.407,5452,5.028,5454,10.051,5455,10.524,5456,10.051,5457,7.818,5458,7.1,5459,7.818,5460,7.818,5461,7.818]],["title/interfaces/ColumnBoardProps.html",[159,0.713,5413,5.841]],["body/interfaces/ColumnBoardProps.html",[0,0.287,3,0.016,4,0.016,5,0.008,7,0.117,30,0.001,32,0.149,36,1.767,47,0.925,95,0.136,101,0.016,103,0.001,104,0.001,112,0.842,122,1.739,134,2.946,135,1.089,148,1.248,155,4.238,158,3.083,159,0.856,161,1.98,183,5.114,231,2.07,317,1.809,527,3.529,567,4.092,569,2.595,653,4.445,657,1.911,1770,3.388,1842,4.903,2031,7.101,2050,3.514,2648,5.137,2946,5.748,3039,6.477,3049,5.068,3050,6.289,3053,5.068,3054,6.176,3062,5.988,3093,7.173,3138,7.011,3623,9.597,4326,5.181,4327,7.461,4328,6.567,4331,6.615,5399,7.721,5400,7.721,5409,9.97,5410,7.721,5411,7.721,5412,7.721,5413,9.054,5414,7.721]],["title/injectables/ColumnBoardService.html",[589,0.929,2019,5.201]],["body/injectables/ColumnBoardService.html",[0,0.143,3,0.008,4,0.008,5,0.004,7,0.058,8,0.753,10,2.62,12,2.956,26,2.475,27,0.473,29,0.92,30,0.001,31,0.673,32,0.15,33,0.552,34,1.697,35,1.359,36,2.706,47,0.882,49,1.562,83,3.32,95,0.13,99,0.851,101,0.005,103,0,104,0,129,1.953,130,1.136,135,1.751,148,1.09,153,2.166,155,3.881,158,1.536,183,3.083,228,1.462,277,0.6,317,2.968,430,3.754,431,3.914,433,0.805,574,2.342,579,1.2,589,0.872,591,0.99,615,3.966,652,2.15,653,1.715,657,2.524,734,2.738,756,1.643,1041,2.832,1472,2.323,1842,1.892,1853,1.358,2019,4.885,2031,7.604,2048,2.651,2050,4.807,2218,1.855,2219,2.088,2220,2.015,2369,2.323,2624,2.039,2648,4.733,2664,2.984,2894,3.113,2946,4.301,3047,6.326,3108,4.621,3127,6.095,3185,3.847,3409,3.111,3410,7.424,3420,5.486,3421,3.847,3422,3.847,3423,6.042,3425,7.461,3426,3.847,3542,2.676,3604,6.042,3622,6.042,3623,8.621,3693,8.246,3789,5.486,3862,8.94,3999,3.644,4228,2.427,4450,5.724,4454,2.157,4472,3.372,4479,5.672,4480,3.847,4830,2.789,4831,2.832,5415,11.331,5422,3.847,5462,4.154,5463,6.524,5464,6.524,5465,6.524,5466,6.524,5467,4.154,5468,6.524,5469,4.154,5470,6.524,5471,4.154,5472,6.524,5473,4.154,5474,6.042,5475,6.524,5476,4.154,5477,6.524,5478,4.154,5479,6.524,5480,4.154,5481,4.154,5482,6.524,5483,4.154,5484,4.154,5485,6.524,5486,4.154,5487,4.154,5488,4.154,5489,4.154,5490,4.154,5491,6.524,5492,4.154,5493,6.524,5494,4.154,5495,4.154,5496,4.154,5497,4.154,5498,4.154,5499,4.154,5500,4.154,5501,4.154,5502,4.154,5503,4.154,5504,9.128,5505,8.056,5506,4.154,5507,4.154,5508,4.154,5509,4.154,5510,6.524,5511,4.154,5512,4.154,5513,4.154,5514,4.154,5515,4.154,5516,4.154,5517,4.154,5518,4.154,5519,4.154,5520,4.154,5521,4.154,5522,4.154,5523,4.154,5524,6.524,5525,4.154,5526,4.154,5527,6.524,5528,6.524,5529,4.154,5530,4.154,5531,4.154,5532,4.154,5533,4.154,5534,4.154,5535,4.154,5536,4.154,5537,4.154,5538,4.154,5539,4.154,5540,6.524,5541,6.524,5542,4.154,5543,6.524,5544,6.524,5545,4.154,5546,4.154,5547,4.154,5548,6.524,5549,4.154,5550,3.644,5551,4.154,5552,4.154,5553,4.154,5554,4.154,5555,3.847]],["title/entities/ColumnBoardTarget.html",[205,1.418,2947,4.989]],["body/entities/ColumnBoardTarget.html",[0,0.273,3,0.015,4,0.015,5,0.007,7,0.111,26,2.397,27,0.458,30,0.001,32,0.145,47,0.824,49,4.372,95,0.146,96,2.095,99,1.621,101,0.014,103,0.001,104,0.001,112,0.813,129,2.368,130,2.163,148,1.03,153,1.304,155,3.917,158,2.925,190,2.086,195,1.73,197,3.232,205,2.124,206,2.579,223,4.089,224,2.309,225,3.996,226,3.584,231,1.373,232,2.143,233,2.469,527,3.348,569,3.238,574,4.46,595,2.985,653,3.266,1237,2.332,1842,4.737,2031,6.196,2050,5.205,2921,9.728,2924,3.657,2936,6.703,2947,8.87,3025,7.979,3026,7.694,3037,3.795,3038,9.634,3900,5.096,5450,5.924,5556,11.437,5557,7.911,5558,10.765,5559,7.911,5560,7.911,5561,7.911,5562,10.404,5563,7.911,5564,7.911,5565,5.033,5566,5.164,5567,7.911,5568,7.911]],["title/injectables/ColumnBoardTargetService.html",[589,0.929,5569,5.841]],["body/injectables/ColumnBoardTargetService.html",[0,0.252,3,0.014,4,0.014,5,0.007,7,0.103,8,1.141,26,2.715,27,0.44,29,0.858,30,0.001,31,0.627,32,0.139,33,0.515,34,1.69,35,1.145,36,2.537,95,0.147,96,2.616,97,2.998,99,1.5,101,0.01,103,0,104,0,135,1.633,148,1.107,153,1.207,155,3.547,158,2.706,224,2.136,228,1.793,277,1.056,317,2.796,400,2.179,433,0.903,478,2.049,589,1.321,591,1.745,652,2.445,657,2.744,1932,5.257,2019,9.647,2050,5.046,2448,6.694,2487,5.883,2947,7.095,2992,5.425,3025,5.614,3613,6.533,3654,6.778,3674,5.614,4144,6.778,5558,6.778,5569,8.308,5570,11.973,5571,7.319,5572,9.879,5573,9.879,5574,7.319,5575,9.879,5576,7.319,5577,10.356,5578,9.879,5579,7.319,5580,11.183,5581,7.319,5582,7.319,5583,9.879,5584,7.319,5585,7.319,5586,7.319,5587,7.319,5588,7.319,5589,7.319,5590,7.319]],["title/controllers/ColumnController.html",[314,2.658,3012,6.094]],["body/controllers/ColumnController.html",[0,0.167,3,0.009,4,0.009,5,0.004,7,0.068,8,0.85,10,3.57,27,0.391,29,0.761,30,0.001,31,0.556,32,0.178,33,0.456,35,1.149,36,2.543,59,1.508,95,0.137,100,1.695,101,0.006,103,0,104,0,135,1.161,148,0.481,153,1.214,155,2.335,190,1.78,194,1.9,197,2.047,202,1.116,228,1.336,274,2.03,277,0.701,314,1.859,316,2.343,317,2.8,325,6.484,337,7.374,342,7.834,345,8.619,349,6.874,379,5.049,388,4.252,389,3.171,390,6.285,391,8.297,392,2.539,393,2.398,395,2.612,398,2.632,400,1.446,401,5.545,402,4.798,652,0.992,657,2.273,675,2.473,734,3.09,871,2.695,1351,7.156,2667,6.347,2935,5.649,2946,5.69,3005,7.216,3007,7.216,3012,6.458,3017,2.293,3108,5.099,3193,7.123,3195,5.512,3197,7.426,3198,7.426,3201,7.834,3203,7.001,3216,8.834,3217,8.052,3218,4.261,3221,2.505,3222,3.262,3223,2.673,3230,3.944,3240,6.513,3241,6.656,3244,4.262,3527,3.637,3576,7.135,3696,5.287,4107,8.231,4370,3.13,4377,4.085,4384,4.498,4389,4.262,4413,5.976,4453,6.19,5591,4.858,5592,8.231,5593,6.817,5594,8.231,5595,4.858,5596,11.454,5597,10.78,5598,9.918,5599,4.858,5600,4.498,5601,4.858,5602,4.858,5603,4.858,5604,4.858,5605,4.858,5606,4.858,5607,8.701,5608,4.858,5609,4.858,5610,4.858,5611,4.858,5612,4.858,5613,6.817,5614,4.858,5615,4.858,5616,4.858,5617,4.858,5618,4.858,5619,9.918,5620,4.858,5621,4.858,5622,4.858,5623,4.858,5624,4.858,5625,4.858,5626,4.858,5627,4.858]],["title/entities/ColumnNode.html",[205,1.418,3458,5.639]],["body/entities/ColumnNode.html",[0,0.333,3,0.018,4,0.018,5,0.009,30,0.001,32,0.12,95,0.156,96,2.558,101,0.013,103,0.001,104,0.001,134,3.414,135,1.262,148,0.957,205,2.412,206,3.15,224,2.82,231,1.677,232,2.618,457,5.359,1770,5.184,2108,4.217,2648,5.636,2701,5.447,3431,6.306,3441,7.034,3458,9.59,3513,5.873,3526,10.938,3575,6.588,3887,7.41,3889,7.18,3910,5.937,4417,6.073,4419,6.073,5449,8.476,5628,9.662]],["title/interfaces/ColumnProps.html",[159,0.713,5397,6.094]],["body/interfaces/ColumnProps.html",[0,0.303,3,0.017,4,0.017,5,0.008,7,0.124,30,0.001,32,0.139,36,1.864,47,0.94,95,0.14,101,0.016,103,0.001,104,0.001,112,0.871,122,1.834,134,3.107,135,1.148,148,1.211,155,4.297,158,3.252,159,0.903,161,2.088,231,2.122,317,1.908,527,3.722,567,3.342,569,2.737,653,4.599,657,2.016,1770,3.573,1842,5.073,2050,3.707,2648,5.315,2946,6.528,3039,6.701,3049,5.346,3050,6.508,3053,5.346,3054,6.39,3062,6.316,3093,7.355,3108,6.39,3136,7.395,4326,5.464,4327,7.72,4328,6.927,4331,6.845,5390,8.144,5395,8.144,5396,8.144,5397,9.773,5398,8.144]],["title/classes/ColumnResponse.html",[0,0.24,3225,5.639]],["body/classes/ColumnResponse.html",[0,0.287,2,0.886,3,0.016,4,0.016,5,0.008,7,0.117,27,0.514,29,0.639,30,0.001,31,0.467,32,0.167,33,0.549,34,2.231,47,0.893,95,0.144,101,0.011,103,0.001,104,0.001,112,0.842,125,1.988,155,4.138,190,2.262,202,1.915,296,3.49,298,3.606,304,4.116,433,1.328,458,3.335,821,4.245,866,4.141,2908,7.552,3032,5.878,3035,6.69,3037,4,3108,4.783,3177,5.443,3178,5.748,3179,5.748,3225,10.592,3535,10.006,3988,6.84,3992,5.443,3994,5.443,4489,10.597,5629,8.338,5630,8.338,5631,8.338,5632,8.338,5633,8.338,5634,8.338,5635,8.338,5636,8.338]],["title/classes/ColumnResponseMapper.html",[0,0.24,3229,5.841]],["body/classes/ColumnResponseMapper.html",[0,0.302,2,0.931,3,0.017,4,0.017,5,0.008,7,0.123,8,1.283,27,0.345,29,0.671,30,0.001,31,0.491,32,0.139,33,0.403,34,1.498,35,1.015,95,0.139,100,3.055,101,0.011,103,0.001,104,0.001,135,1.143,141,4.763,148,1.1,153,2.116,155,2.777,277,1.264,430,3.6,467,3.552,571,3.463,579,2.53,653,3.615,829,5.164,830,6.161,835,6.715,1368,4.937,1853,2.863,2098,6.557,2477,5.322,2908,5.068,2946,7.071,3059,5.504,3108,7,3225,10.419,3229,9.342,3341,6.289,3535,6.715,3542,5.641,3988,6.373,4003,7.682,4004,6.173,4441,7.682,4443,7.363,4462,6.897,4489,9.342,5637,11.109,5638,11.109,5639,8.108,5640,7.682,5641,8.756,5642,8.756,5643,8.756,5644,8.756,5645,8.756]],["title/injectables/ColumnService.html",[589,0.929,3860,5.639]],["body/injectables/ColumnService.html",[0,0.227,3,0.012,4,0.012,5,0.006,7,0.092,8,1.06,10,3.686,12,4.159,26,2.359,27,0.491,29,0.956,30,0.001,31,0.699,32,0.155,33,0.574,34,1.125,35,1.395,36,2.846,47,0.75,49,2.473,55,2.118,59,2.041,83,2.672,95,0.142,99,1.348,101,0.009,103,0,104,0,135,1.381,148,0.909,153,1.887,155,3.818,228,1.666,277,0.949,317,3.032,400,1.958,430,2.704,431,2.82,433,0.811,574,3.708,589,1.228,591,1.568,652,1.343,657,2.858,734,3.853,1853,2.15,2031,7.621,2050,2.772,2624,3.227,2946,7.561,3047,4.557,3409,4.924,3410,8.792,3633,5.789,3693,9.583,3696,6.593,3702,8.777,3706,5.53,3860,7.452,4118,7.719,4138,10.597,4450,8.053,4452,8.053,4472,5.339,4479,4.086,5640,5.769,5646,6.576,5647,6.576,5648,6.576,5649,9.179,5650,6.576,5651,9.179,5652,6.576,5653,9.179,5654,6.576,5655,9.179,5656,6.576,5657,6.576,5658,6.576,5659,6.576,5660,6.576,5661,6.576,5662,6.576]],["title/injectables/ColumnUc.html",[589,0.929,3007,5.639]],["body/injectables/ColumnUc.html",[0,0.176,3,0.01,4,0.01,5,0.005,7,0.072,8,0.881,26,2.96,27,0.479,29,0.934,30,0.001,31,0.682,32,0.152,33,0.56,35,1.372,36,2.686,39,3.561,47,0.648,55,1.831,59,2.368,95,0.135,99,1.044,101,0.007,103,0,104,0,113,4.852,135,1.491,148,0.504,155,3.45,228,1.974,231,1.324,277,0.735,317,2.97,433,0.941,436,2.716,589,1.02,591,1.214,610,2.006,652,1.867,657,3.05,688,2.403,1027,1.564,1197,6.745,1792,7.038,1793,3.37,1853,1.665,1862,6.32,1935,3.419,1967,5.589,2449,3.822,2450,4.768,2648,5.448,2649,8.757,2651,6.008,2652,6.008,2653,3.731,2654,8.436,2656,3.905,2657,5.589,2658,5.478,2660,4.011,2661,6.048,2663,4.011,2664,5.478,2666,2.354,2680,8.342,2946,6.096,3007,6.192,3108,6.239,3417,3.813,3702,8.342,3859,9.324,3860,9.611,4118,10.963,4123,4.134,4124,4.134,4125,4.134,4128,4.134,4129,4.134,4131,7.294,4137,8.469,4339,8.023,4403,3.905,4453,8.54,4454,5.273,4462,7.999,4466,8.469,4529,4.715,5592,8.469,5593,8.469,5594,8.469,5663,5.092,5664,5.092,5665,7.627,5666,5.092,5667,7.627,5668,5.092,5669,7.627,5670,10.156,5671,5.092,5672,7.627,5673,5.092,5674,5.092,5675,5.092,5676,5.092,5677,5.092,5678,5.092,5679,5.092]],["title/classes/ColumnUrlParams.html",[0,0.24,5596,6.094]],["body/classes/ColumnUrlParams.html",[0,0.415,2,1.06,3,0.019,4,0.019,5,0.009,7,0.14,27,0.393,30,0.001,32,0.124,34,2.06,47,0.854,95,0.137,101,0.013,103,0.001,104,0.001,112,0.941,157,2.295,190,1.79,194,4.71,195,2.634,196,3.983,197,3.348,200,3.055,202,2.291,296,3.146,855,4.874,2946,6.429,4118,10.878,4166,6.063,5596,10.565,5680,9.974,5681,9.974]],["title/entities/ColumnboardBoardElement.html",[205,1.418,2945,5.327]],["body/entities/ColumnboardBoardElement.html",[0,0.33,3,0.018,4,0.018,5,0.009,7,0.135,27,0.377,30,0.001,32,0.119,95,0.145,96,2.534,101,0.013,103,0.001,104,0.001,112,0.918,190,1.717,205,2.398,206,3.12,224,2.793,231,1.661,232,2.593,457,5.307,2050,5.355,2701,5.395,2921,9.249,2942,8.279,2944,8.047,2945,9.006,2946,5.109,2947,9.514,2948,8.396,2992,6.002,3305,7.339,3338,9.875,5556,10.874,5682,9.57,5683,11.743,5684,9.57,5685,4.493,5686,8.396]],["title/interfaces/CommonCartridgeConfig.html",[159,0.713,5687,6.094]],["body/interfaces/CommonCartridgeConfig.html",[3,0.02,4,0.02,5,0.01,7,0.151,30,0.001,32,0.134,101,0.014,103,0.001,104,0.001,112,0.983,122,2.782,159,1.101,161,2.545,5687,11.028,5688,6.997,5689,6.997,5690,10.719,5691,12.74]],["title/interfaces/CommonCartridgeElement.html",[159,0.713,5692,4.597]],["body/interfaces/CommonCartridgeElement.html",[3,0.02,4,0.02,5,0.01,7,0.149,8,1.44,27,0.417,30,0.001,35,1.226,101,0.014,103,0.001,104,0.001,159,1.087,161,2.512,1078,5.468,1211,8.825,5688,8.142,5689,8.142,5692,8.254,5693,7.84,5694,10.578,5695,10.578]],["title/injectables/CommonCartridgeExportService.html",[589,0.929,5696,5.841]],["body/injectables/CommonCartridgeExportService.html",[0,0.143,3,0.008,4,0.008,5,0.004,7,0.058,8,0.754,26,2.687,27,0.434,29,0.845,30,0.001,31,0.618,32,0.157,33,0.507,35,1.221,36,2.232,39,3.048,47,0.832,95,0.134,99,0.852,101,0.005,103,0,104,0,110,3.432,125,1.922,135,1.625,141,2.8,148,1.13,153,0.686,155,3.721,228,1.463,277,0.6,317,2.546,388,1.783,417,3.651,433,0.806,478,1.164,533,3.486,589,0.873,591,0.991,641,3.713,652,2.703,657,2.275,1396,6.786,1821,3.168,2016,3.648,2017,6.972,2026,5.859,2032,4.459,2046,3.114,2047,2.987,2202,6.479,2392,3.483,2940,4.82,3302,3.497,3303,3.497,3395,4.207,4204,4.525,4708,4.207,4791,3.047,5017,5.301,5213,4.012,5693,7.375,5696,5.491,5697,11.409,5698,4.158,5699,8.062,5700,8.062,5701,5.728,5702,8.062,5703,6.53,5704,8.062,5705,7.511,5706,8.249,5707,4.158,5708,4.158,5709,8.986,5710,7.179,5711,9.03,5712,4.158,5713,4.158,5714,4.158,5715,6.047,5716,4.158,5717,4.158,5718,6.329,5719,4.158,5720,4.012,5721,6.183,5722,6.53,5723,4.158,5724,6.53,5725,4.158,5726,4.158,5727,7.073,5728,2.987,5729,4.158,5730,3.851,5731,3.376,5732,3.814,5733,6.047,5734,4.158,5735,4.158,5736,4.158,5737,3.275,5738,4.158,5739,3.275,5740,4.158,5741,4.158,5742,4.158,5743,4.158,5744,2.365,5745,4.158,5746,4.158,5747,5.301,5748,6.53,5749,4.158,5750,3.376,5751,4.207,5752,4.158,5753,5.301,5754,4.158,5755,4.158,5756,4.801,5757,4.158,5758,6.53,5759,6.53,5760,3.851,5761,2.714,5762,2.835,5763,9.925,5764,6.53,5765,6.779,5766,6.53,5767,6.047,5768,8.062,5769,2.987,5770,5.728,5771,6.047,5772,6.047,5773,4.784,5774,4.158,5775,2.987,5776,4.158,5777,5.491,5778,5.728,5779,5.728,5780,2.987,5781,6.53,5782,6.53,5783,4.158,5784,3.851,5785,4.158,5786,4.158,5787,4.158,5788,4.158,5789,6.53,5790,4.158,5791,6.53,5792,4.158,5793,4.158,5794,3.648,5795,4.158,5796,4.158,5797,4.158]],["title/interfaces/CommonCartridgeFile.html",[159,0.713,5798,5.471]],["body/interfaces/CommonCartridgeFile.html",[3,0.019,4,0.019,5,0.009,7,0.144,8,1.411,27,0.482,30,0.001,35,1.417,47,0.867,101,0.013,103,0.001,104,0.001,122,2.55,159,1.051,161,2.428,2392,5.167,5688,8.536,5689,8.536,5693,8.22,5798,9.63,5799,10.228,5800,10.999,5801,10.228,5802,10.228]],["title/classes/CommonCartridgeFileBuilder.html",[0,0.24,5709,5.471]],["body/classes/CommonCartridgeFileBuilder.html",[0,0.269,2,0.558,3,0.01,4,0.01,5,0.012,7,0.074,8,0.901,27,0.484,29,0.714,30,0.001,31,0.522,32,0.129,33,0.429,35,1.079,36,1.974,47,0.731,95,0.137,101,0.014,103,0,104,0,112,0.61,129,3.086,130,2.82,135,1.508,148,1.144,153,2.206,155,2.475,159,0.802,228,2.465,317,2.021,400,1.564,433,0.963,435,3.163,507,4.854,540,2.74,652,2.754,1211,3.383,1237,2.746,1396,5.028,1835,5.284,2048,3.785,2202,6.732,3485,5.028,5688,8.194,5689,8.194,5692,6.165,5693,8.412,5709,6.148,5710,4.026,5711,5.409,5721,9.172,5732,6.438,5737,6.148,5739,6.148,5747,6.337,5751,7.44,5753,4.263,5762,5.322,5803,4.416,5804,9.376,5805,8.68,5806,7.909,5807,8.672,5808,7.228,5809,7.228,5810,4.263,5811,8.672,5812,7.805,5813,5.252,5814,5.252,5815,8.672,5816,5.252,5817,7.833,5818,9.376,5819,5.252,5820,9.709,5821,7.833,5822,5.252,5823,5.252,5824,4.263,5825,4.263,5826,4.028,5827,3.581,5828,3.772,5829,6.148,5830,6.337,5831,4.136,5832,4.136,5833,5.606,5834,6.563,5835,4.263,5836,4.416,5837,4.416,5838,4.416,5839,8.672,5840,4.416,5841,6.563,5842,4.416,5843,4.416,5844,6.563,5845,4.416,5846,4.416,5847,4.416,5848,4.416,5849,4.416,5850,4.416,5851,4.416,5852,4.416,5853,4.416,5854,4.416,5855,4.416,5856,4.263,5857,4.416,5858,4.416,5859,4.416,5860,4.416,5861,4.416,5862,4.416,5863,4.416,5864,4.416]],["title/classes/CommonCartridgeLtiResource.html",[0,0.24,5865,6.094]],["body/classes/CommonCartridgeLtiResource.html",[0,0.22,2,0.678,3,0.012,4,0.012,5,0.008,7,0.09,8,1.037,27,0.445,29,0.489,30,0.001,31,0.357,32,0.141,33,0.293,35,1.205,47,0.899,95,0.129,101,0.012,103,0,104,0,110,2.205,122,1.874,129,1.909,135,0.833,148,1.03,155,2.849,157,2.068,197,1.773,228,1.63,232,1.728,400,1.899,433,0.787,435,3.051,652,1.302,1078,3.939,1211,7.274,1237,2.648,1393,3.658,1396,5.788,2037,4.109,2202,7.37,2392,4.306,4327,4.42,5688,7.77,5689,7.77,5692,6.883,5693,8.143,5710,3.289,5711,6.226,5731,5.178,5732,6.076,5765,7.555,5777,5.363,5798,8.192,5800,9.167,5806,7.977,5826,4.891,5827,4.348,5828,4.581,5865,7.882,5866,10.009,5867,5.595,5868,10.456,5869,6.378,5870,5.906,5871,6.378,5872,6.378,5873,5.363,5874,5.906,5875,6.378,5876,6.378,5877,5.595,5878,6.378,5879,6.378,5880,6.378,5881,5.595,5882,5.595,5883,3.963,5884,5.595,5885,6.378,5886,5.178,5887,6.378,5888,7.555,5889,6.378,5890,6.378,5891,8.319,5892,6.378,5893,6.378,5894,6.378,5895,5.595,5896,8.984,5897,8.984,5898,8.984,5899,8.984,5900,8.984,5901,8.984,5902,8.984,5903,8.984,5904,8.984,5905,6.378,5906,6.378,5907,6.378,5908,6.378,5909,5.946,5910,8.984,5911,8.984,5912,8.984,5913,8.984,5914,6.378,5915,6.378,5916,6.378,5917,6.378,5918,6.378,5919,5.178,5920,5.178,5921,5.595]],["title/classes/CommonCartridgeManifestElement.html",[0,0.24,5829,5.471]],["body/classes/CommonCartridgeManifestElement.html",[0,0.238,2,0.734,3,0.013,4,0.013,5,0.006,7,0.097,8,1.096,27,0.374,29,0.529,30,0.001,31,0.387,32,0.118,33,0.318,35,0.8,47,0.489,95,0.14,101,0.012,103,0,104,0,129,2.066,131,5.524,135,0.902,148,0.94,153,2.087,228,2.121,232,1.87,433,1.171,435,3.224,652,2.386,1078,4.162,1211,7.528,1237,2.799,1393,3.96,1396,6.99,2037,4.448,2048,4.409,5688,7.083,5689,7.083,5692,8.871,5693,8.304,5711,4.784,5732,7.157,5751,7.893,5762,4.707,5777,5.806,5805,9.65,5827,4.707,5828,4.959,5829,7.478,5830,9.946,5833,4.959,5877,8.329,5881,8.329,5882,8.329,5883,5.899,5884,8.329,5919,7.708,5922,5.438,5923,11.685,5924,10.85,5925,10.821,5926,6.393,5927,6.904,5928,6.057,5929,6.057,5930,8.329,5931,6.057,5932,9.494,5933,6.904,5934,9.494,5935,9.494,5936,9.494,5937,9.494,5938,9.494,5939,6.904,5940,9.494,5941,6.904,5942,6.904,5943,6.904,5944,6.904,5945,9.494,5946,9.494,5947,9.494,5948,9.494,5949,9.494,5950,9.494,5951,6.904,5952,6.904,5953,6.904]],["title/classes/CommonCartridgeMetadataElement.html",[0,0.24,5928,6.094]],["body/classes/CommonCartridgeMetadataElement.html",[0,0.294,2,0.907,3,0.016,4,0.016,5,0.008,7,0.12,8,1.262,27,0.43,29,0.654,30,0.001,31,0.478,32,0.136,33,0.393,35,0.989,47,0.855,59,2.649,95,0.125,101,0.014,103,0.001,104,0.001,131,6.138,148,0.845,155,2.706,228,1.549,232,2.312,400,2.541,433,1.053,435,3.711,1078,4.791,1211,8.19,1237,3.221,4018,6.128,4327,5.913,5688,7.87,5689,7.87,5692,7.979,5693,8.45,5710,4.401,5711,7.573,5732,7.043,5737,6.721,5739,6.721,5827,5.818,5828,6.128,5895,7.486,5922,6.721,5925,11.772,5926,7.901,5928,9.587,5954,8.533,5955,8.533,5956,8.533,5957,8.533,5958,8.533,5959,8.533,5960,10.928,5961,8.533,5962,8.533,5963,8.533,5964,8.533,5965,8.533,5966,8.533]],["title/classes/CommonCartridgeOrganizationBuilder.html",[0,0.24,5835,5.639]],["body/classes/CommonCartridgeOrganizationBuilder.html",[0,0.291,2,0.62,3,0.011,4,0.011,5,0.011,7,0.082,8,0.973,27,0.427,29,0.646,30,0.001,31,0.472,32,0.123,33,0.388,35,0.676,36,1.786,47,0.769,95,0.141,101,0.014,103,0,104,0,135,1.565,148,1.187,153,2.158,155,2.673,159,0.866,228,2.296,232,1.58,317,1.265,400,1.736,433,1.04,435,3.36,507,3.712,540,2.047,652,2.523,735,3.857,1211,3.757,1237,2.917,1396,5.43,1835,4.318,2048,4.021,2202,7.507,3485,5.43,5688,7.507,5689,7.507,5692,6.55,5693,8.229,5709,4.593,5710,4.347,5711,5.84,5721,9.478,5732,6.718,5737,6.638,5739,6.638,5747,6.842,5751,7.722,5753,4.734,5762,7.392,5803,4.904,5804,8.802,5805,7.795,5806,8.315,5807,9.117,5811,7.087,5815,9.671,5817,7.087,5818,9.731,5820,10.273,5821,7.087,5824,4.734,5825,4.734,5826,4.472,5827,3.976,5828,4.188,5829,6.638,5830,6.842,5831,4.593,5832,4.593,5833,6.053,5834,8.322,5835,6.842,5836,4.904,5837,4.904,5838,4.904,5839,9.117,5840,4.904,5841,7.087,5842,4.904,5843,4.904,5844,7.087,5845,4.904,5846,4.904,5847,4.904,5848,4.904,5849,4.904,5850,4.904,5851,4.904,5852,4.904,5853,4.904,5854,4.904,5855,4.904,5856,4.734,5857,4.904,5858,4.904,5859,4.904,5860,4.904,5861,4.904,5862,4.904,5863,4.904,5864,4.904,5967,7.804,5968,5.831,5969,5.831,5970,5.831,5971,5.831,5972,5.831,5973,5.831]],["title/classes/CommonCartridgeOrganizationItemElement.html",[0,0.24,5831,5.471]],["body/classes/CommonCartridgeOrganizationItemElement.html",[0,0.292,2,0.901,3,0.016,4,0.016,5,0.008,7,0.119,8,1.256,27,0.429,29,0.65,30,0.001,31,0.475,32,0.136,33,0.39,35,0.982,47,0.852,95,0.137,101,0.014,103,0.001,104,0.001,148,1.078,155,3.812,228,1.539,232,2.297,400,2.525,433,1.046,435,3.696,1078,4.772,1211,8.17,1237,3.208,1396,7.744,2048,3.445,3485,8.45,3635,6.678,4327,5.875,5688,7.846,5689,7.846,5692,7.955,5693,8.244,5710,4.373,5721,8.347,5732,6.358,5733,10.078,5751,5.462,5762,8.195,5767,7.851,5818,10.296,5827,5.781,5831,8.572,5833,6.089,5891,7.851,5919,6.883,5922,6.678,5974,8.479,5975,8.479,5976,8.479,5977,8.479]],["title/classes/CommonCartridgeOrganizationWrapperElement.html",[0,0.24,5929,6.094]],["body/classes/CommonCartridgeOrganizationWrapperElement.html",[0,0.308,2,0.949,3,0.017,4,0.017,5,0.008,7,0.126,8,1.299,27,0.443,29,0.685,30,0.001,31,0.501,32,0.111,33,0.411,35,1.035,95,0.102,101,0.012,103,0.001,104,0.001,148,0.884,228,1.621,400,2.659,433,1.102,756,3.532,1078,4.932,1211,8.328,1237,3.316,1396,7.247,3485,7.247,5688,8.039,5689,8.039,5692,9.003,5693,8.126,5732,5.217,5762,8.814,5827,6.09,5922,7.035,5929,9.869,5930,10.804,5978,8.931,5979,8.271,5980,11.249,5981,8.271,5982,8.931,5983,6.415,5984,8.931,5985,8.271,5986,8.931,5987,8.931,5988,8.931]],["title/classes/CommonCartridgeResourceItemElement.html",[0,0.24,5832,5.471]],["body/classes/CommonCartridgeResourceItemElement.html",[0,0.236,2,0.728,3,0.013,4,0.013,5,0.006,7,0.096,8,1.09,27,0.481,29,0.525,30,0.001,31,0.384,32,0.135,33,0.315,35,1.252,47,0.669,95,0.148,101,0.012,103,0,104,0,112,0.738,122,1.969,148,1.07,153,1.919,158,2.531,228,1.96,232,2.557,433,0.845,435,2.324,579,1.978,652,2.205,1078,4.138,1211,7.501,1237,2.782,2202,7.6,2369,3.827,2392,4.658,3485,8.135,4695,7.077,5688,8.242,5689,8.242,5692,7.706,5693,8.669,5721,8.93,5727,8.28,5731,5.557,5732,7.376,5770,6.005,5778,6.005,5779,6.005,5798,9.171,5800,9.452,5806,9.367,5826,5.25,5827,4.667,5828,4.916,5832,7.434,5833,9.61,5865,6.005,5866,5.756,5868,8.74,5873,5.756,5874,6.339,5922,5.392,5989,9.083,5990,9.438,5991,6.845,5992,6.845,5993,6.845,5994,6.005,5995,7.662,5996,6.005,5997,8.74,5998,10.802,5999,6.845,6000,6.845,6001,6.845,6002,6.845,6003,6.845,6004,6.845,6005,6.845]],["title/classes/CommonCartridgeResourceWrapperElement.html",[0,0.24,5931,6.094]],["body/classes/CommonCartridgeResourceWrapperElement.html",[0,0.325,2,1.003,3,0.018,4,0.018,5,0.009,7,0.133,8,1.344,27,0.458,29,0.724,30,0.001,31,0.529,32,0.118,33,0.434,35,1.093,95,0.108,101,0.012,103,0.001,104,0.001,148,0.934,228,1.712,400,2.809,433,1.164,1078,5.104,1211,8.492,1237,3.431,5688,8.241,5689,8.241,5692,9.127,5693,8.286,5732,5.511,5827,6.433,5833,9.467,5922,7.431,5930,11.076,5931,10.212,5979,8.737,5981,8.737,6006,9.435,6007,11.641,6008,9.435,6009,9.435]],["title/classes/CommonCartridgeWebContentResource.html",[0,0.24,5994,6.094]],["body/classes/CommonCartridgeWebContentResource.html",[0,0.268,2,0.826,3,0.015,4,0.015,5,0.009,7,0.109,8,1.187,27,0.483,29,0.596,30,0.001,31,0.436,32,0.153,33,0.358,35,1.336,47,0.929,95,0.132,101,0.013,103,0,104,0,122,2.145,148,1.141,155,2.465,197,2.161,228,1.411,232,2.106,400,2.314,433,0.959,435,3.492,1078,4.509,1211,7.902,1237,3.032,1396,6.625,2392,5.239,5688,8.327,5689,8.327,5692,7.628,5693,8.532,5710,4.009,5711,7.127,5727,10.761,5730,9.523,5731,6.31,5732,6.733,5765,8.648,5770,6.819,5771,9.523,5772,7.198,5773,5.695,5798,9.078,5800,9.958,5827,5.3,5828,5.583,5867,6.819,5870,7.198,5873,6.536,5919,6.31,5920,6.31,5921,6.819,5994,9.022,5995,10.357,6010,7.198,6011,7.773,6012,7.773,6013,7.773,6014,7.773]],["title/classes/CommonCartridgeWebLinkResourceElement.html",[0,0.24,5996,6.094]],["body/classes/CommonCartridgeWebLinkResourceElement.html",[0,0.236,2,0.729,3,0.013,4,0.013,5,0.009,7,0.096,8,1.091,27,0.459,29,0.526,30,0.001,31,0.384,32,0.145,33,0.315,35,1.253,47,0.896,95,0.133,101,0.012,103,0,104,0,110,3.267,122,1.971,129,2.052,135,0.895,148,1.154,155,2.997,197,1.906,228,1.715,232,1.858,400,2.042,433,0.846,435,3.208,652,1.4,1078,4.143,1211,7.506,1237,2.785,1393,3.933,1396,6.088,2037,4.418,2202,7.606,2369,6.833,2392,4.444,2992,3.107,4327,4.752,5688,7.978,5689,7.978,5692,7.155,5693,8.29,5710,3.536,5711,6.548,5731,5.567,5732,6.316,5765,9.092,5777,5.766,5778,6.016,5779,6.016,5798,8.516,5800,9.459,5806,8.292,5826,5.259,5827,4.675,5828,4.925,5856,7.671,5867,6.016,5873,5.766,5877,8.29,5881,8.29,5882,8.29,5883,5.871,5884,8.29,5888,5.766,5895,6.016,5919,5.567,5920,5.567,5921,6.016,5995,9.922,5996,8.29,5997,10.79,6010,6.35,6015,6.857,6016,6.857,6017,6.857,6018,10.812,6019,6.857,6020,6.857,6021,6.857,6022,6.857,6023,9.449,6024,9.449,6025,6.857,6026,9.449,6027,6.857]],["title/modules/CommonToolModule.html",[252,1.835,6028,5.201]],["body/modules/CommonToolModule.html",[0,0.274,3,0.015,4,0.015,5,0.007,30,0.001,95,0.147,101,0.01,103,0.001,104,0.001,206,2.595,252,3.08,254,2.866,255,3.035,256,3.112,257,3.101,258,3.09,259,4.24,260,4.34,265,6.099,269,4.085,270,3.057,271,2.993,276,4.085,277,1.149,279,3.34,610,3.136,703,2.47,1027,2.444,1829,3.383,1831,5.267,1912,10.348,1938,4.28,2069,4.739,2564,5.002,2819,4.649,6028,10.882,6029,7.958,6030,7.958,6031,7.958,6032,7.958,6033,8.859,6034,10.831,6035,11.124,6036,11.124,6037,7.958,6038,6.46,6039,7.958,6040,7.958,6041,7.958,6042,6.692]],["title/injectables/CommonToolService.html",[589,0.929,6034,5.327]],["body/injectables/CommonToolService.html",[0,0.33,3,0.013,4,0.013,5,0.006,7,0.098,8,1.104,27,0.43,29,0.837,30,0.001,31,0.612,32,0.136,33,0.502,35,1.264,80,5.224,95,0.148,101,0.009,102,3.698,103,0,104,0,122,2.448,135,0.911,148,1.162,153,1.15,159,0.717,183,4.492,195,2.69,197,3.033,277,1.007,412,4.231,589,1.279,591,1.663,614,3.368,652,2.227,703,2.165,711,3.772,886,2.195,1829,2.965,1882,2.661,1938,3.752,1940,4.554,2004,7.02,2005,6.845,2007,5.451,2034,6.509,2684,2.262,2762,6.871,6034,7.333,6043,10.868,6044,5.663,6045,10.102,6046,9.562,6047,9.562,6048,7.531,6049,6.46,6050,6.976,6051,9.009,6052,9.562,6053,6.46,6054,9.562,6055,7.823,6056,10.909,6057,6.46,6058,6.976,6059,5.866,6060,6.976,6061,8.04,6062,5.495,6063,4.918,6064,6.976,6065,9.562,6066,8.854,6067,8.854,6068,6.976,6069,6.976,6070,6.976,6071,6.976]],["title/injectables/CommonToolValidationService.html",[589,0.929,6035,5.471]],["body/injectables/CommonToolValidationService.html",[0,0.134,3,0.007,4,0.007,5,0.004,7,0.055,8,0.717,27,0.464,29,0.903,30,0.001,31,0.739,32,0.153,33,0.529,35,1.332,47,0.815,95,0.127,101,0.008,103,0,104,0,112,0.485,122,2.138,125,3.002,129,1.167,130,1.697,135,1.501,148,0.386,153,1.772,183,1.493,194,1.525,195,1.928,197,3.275,277,0.563,329,2.371,338,6.296,347,1.998,388,5.248,393,1.925,417,4.928,467,2.251,567,1.482,569,4.004,579,2.78,589,0.83,591,0.93,614,2.387,652,2.768,653,2.562,695,2.801,703,1.211,711,3.044,886,1.227,1220,2.237,1882,1.487,1918,2.702,1985,2.423,2004,4.098,2005,4.069,2007,3.863,2033,6.91,2124,2.067,2233,2.659,2344,2.371,2684,4.082,2751,8.808,2762,4.377,2777,8.514,3578,5.219,4672,2.346,6035,4.889,6043,11.137,6072,3.072,6073,7.731,6074,6.207,6075,6.207,6076,6.207,6077,6.207,6078,6.207,6079,6.207,6080,6.207,6081,6.207,6082,6.207,6083,6.207,6084,13.352,6085,3.611,6086,3.421,6087,6.207,6088,3.9,6089,6.207,6090,11.781,6091,3.611,6092,6.207,6093,12.239,6094,3.9,6095,6.207,6096,3.9,6097,6.207,6098,3.9,6099,6.207,6100,3.611,6101,6.207,6102,12.239,6103,3.9,6104,6.207,6105,3.9,6106,4.76,6107,5.445,6108,6.207,6109,5.445,6110,5.445,6111,5.445,6112,5.445,6113,5.445,6114,3.9,6115,3.9,6116,2.702,6117,3.9,6118,3.9,6119,3.9,6120,3.9,6121,5.445,6122,2.92,6123,2.991,6124,3.9,6125,3.9,6126,3.9,6127,3.9,6128,3.9,6129,3.9,6130,3.9,6131,3.9,6132,3.611,6133,3.9,6134,2.3,6135,5.039,6136,3.9,6137,6.207,6138,3.9,6139,5.445,6140,3.9,6141,3.9,6142,5.039,6143,3.9,6144,3.9,6145,3.9,6146,3.9,6147,3.9,6148,3.421,6149,3.9,6150,7.731,6151,3.9,6152,3.611,6153,6.207,6154,3.279,6155,3.279,6156,3.9,6157,3.9,6158,3.9,6159,2.481]],["title/interfaces/ComponentEtherpadProperties.html",[159,0.713,6160,4.989]],["body/interfaces/ComponentEtherpadProperties.html",[0,0.158,3,0.009,4,0.009,5,0.004,7,0.135,26,2.138,30,0.001,31,0.394,32,0.137,47,0.985,55,2.077,95,0.141,96,1.21,101,0.017,103,0,104,0,110,3.943,112,0.549,122,1.466,125,1.675,134,1.615,135,1.662,145,1.707,148,1.26,153,1.584,155,3.617,157,2.52,158,1.69,159,1.209,161,1.085,195,1.873,196,1.512,197,1.953,205,1.435,223,3.219,224,1.334,225,2.699,226,2.071,229,1.808,231,0.793,232,1.238,233,1.426,277,0.66,290,1.081,371,3.725,527,1.934,579,2.03,595,1.725,613,4.105,652,1.435,653,1.887,711,1.357,789,2.495,886,1.438,1237,1.347,1312,2.18,1821,2.217,1842,3.2,1936,2.146,2026,2.23,2032,3.942,2050,1.926,2183,1.801,2392,4.176,2815,1.828,2894,4.084,2924,3.957,2927,3.897,2931,2.535,2936,4.527,2937,2.722,2938,4.604,2940,3.917,2941,4.417,2953,4.587,3057,3.751,3633,4.331,3742,5.381,3761,6.148,3898,3.222,3899,3.222,4410,4.144,4569,2.908,4633,2.051,5234,5.748,5565,2.908,5566,2.983,5685,2.146,5718,6.659,5728,3.282,5744,2.599,5751,4.527,5756,7.191,5769,3.282,5775,3.282,5780,3.282,6160,6.148,6161,3.349,6162,2.873,6163,6.176,6164,3.069,6165,5.515,6166,3.349,6167,4.47,6168,4.954,6169,4.791,6170,6.864,6171,5.047,6172,5.047,6173,3.282,6174,5.047,6175,5.047,6176,5.047,6177,3.349,6178,5.047,6179,3.069,6180,5.047,6181,5.047,6182,7.588,6183,3.349,6184,3.349,6185,3.349,6186,4.65,6187,4.527,6188,2.873,6189,3.222,6190,3.222,6191,3.349,6192,3.349,6193,3.349,6194,2.983,6195,5.148,6196,3.025,6197,6.035,6198,3.222,6199,5.148,6200,3.349,6201,3.349,6202,3.349,6203,3.167,6204,3.349,6205,3.349,6206,5.148,6207,4.791,6208,3.349,6209,3.349,6210,7.041,6211,6.272,6212,3.282,6213,6.148,6214,3.349,6215,3.349,6216,3.349,6217,3.349,6218,3.349,6219,3.349,6220,3.349,6221,3.349,6222,3.349,6223,3.349,6224,3.349,6225,3.167,6226,4.718,6227,3.349,6228,3.349]],["title/interfaces/ComponentGeogebraProperties.html",[159,0.713,6176,4.989]],["body/interfaces/ComponentGeogebraProperties.html",[0,0.16,3,0.009,4,0.009,5,0.004,7,0.136,26,2.154,30,0.001,31,0.399,32,0.121,47,0.972,55,2.092,95,0.141,96,1.23,101,0.017,103,0,104,0,110,3.35,112,0.556,122,1.484,125,1.696,134,1.641,135,1.668,145,1.735,148,1.265,153,1.598,155,3.073,157,1.99,158,1.717,159,1.215,161,1.103,195,1.891,196,1.536,197,1.978,205,1.452,223,3.243,224,1.355,225,2.732,226,2.104,229,1.837,231,0.806,232,1.258,233,1.449,277,0.67,290,1.098,371,3.771,527,1.966,579,2.056,595,1.753,613,4.156,652,1.452,653,1.917,711,1.379,789,2.535,886,1.461,1237,1.369,1312,2.216,1821,2.253,1842,3.239,1936,2.18,2026,2.266,2032,3.97,2050,1.957,2183,1.83,2392,4.203,2815,1.858,2894,4.125,2924,3.997,2927,3.945,2931,2.576,2936,4.583,2937,2.766,2938,4.65,2940,3.957,2941,4.472,2953,4.644,3057,3.798,3633,4.374,3742,5.435,3761,6.21,3898,3.274,3899,3.274,4410,4.195,4569,2.955,4633,2.084,5234,5.806,5565,2.955,5566,3.032,5685,2.18,5718,6.715,5728,3.335,5744,2.641,5751,4.583,5756,7.224,5769,3.335,5775,3.335,5780,3.335,6160,5.109,6161,3.403,6162,2.919,6163,6.221,6164,3.118,6165,5.57,6166,3.403,6167,4.526,6168,5.015,6169,4.85,6170,6.914,6171,5.109,6172,5.109,6173,3.335,6174,5.109,6175,5.109,6176,6.21,6177,7.1,6178,5.109,6179,3.118,6180,5.109,6181,5.109,6182,7.637,6183,3.403,6184,3.403,6185,3.403,6186,4.708,6187,4.583,6188,2.919,6189,3.274,6190,3.274,6191,3.403,6192,3.403,6193,3.403,6194,3.032,6195,5.212,6196,3.074,6197,6.096,6198,3.274,6199,5.212,6200,3.403,6201,3.403,6202,3.403,6203,3.218,6204,3.403,6205,3.403,6206,5.212,6207,4.85,6208,3.403,6209,3.403,6210,7.1,6211,6.335,6212,3.335,6213,6.21,6214,3.403,6215,3.403,6216,3.403,6217,3.403,6218,3.403,6219,3.403,6220,3.403,6221,3.403,6222,3.403,6223,3.403,6224,3.403,6225,3.218,6226,4.777,6227,3.403,6228,3.403]],["title/interfaces/ComponentInternalProperties.html",[159,0.713,6181,4.989]],["body/interfaces/ComponentInternalProperties.html",[0,0.16,3,0.009,4,0.009,5,0.004,7,0.136,26,2.154,30,0.001,31,0.399,32,0.121,47,0.972,55,2.092,95,0.141,96,1.23,101,0.017,103,0,104,0,110,3.966,112,0.556,122,1.484,125,1.696,134,1.641,135,1.668,145,1.735,148,1.265,153,1.598,155,3.073,157,1.99,158,1.717,159,1.215,161,1.103,195,1.891,196,1.536,197,1.978,205,1.452,223,3.243,224,1.355,225,2.732,226,2.104,229,1.837,231,0.806,232,1.258,233,1.449,277,0.67,290,1.098,371,3.771,527,1.966,579,2.056,595,1.753,613,4.156,652,1.452,653,1.917,711,1.379,789,2.535,886,1.461,1237,1.369,1312,2.216,1821,2.253,1842,3.239,1936,2.18,2026,2.266,2032,3.97,2050,1.957,2183,1.83,2392,4.203,2815,1.858,2894,4.125,2924,3.997,2927,3.945,2931,2.576,2936,4.583,2937,2.766,2938,4.65,2940,3.957,2941,4.472,2953,4.644,3057,3.798,3633,4.374,3742,5.435,3761,6.21,3898,3.274,3899,3.274,4410,4.195,4569,2.955,4633,2.084,5234,5.806,5565,2.955,5566,3.032,5685,2.18,5718,6.715,5728,3.335,5744,2.641,5751,4.583,5756,7.224,5769,3.335,5775,3.335,5780,3.335,6160,5.109,6161,3.403,6162,2.919,6163,6.221,6164,3.118,6165,5.57,6166,3.403,6167,4.526,6168,5.015,6169,4.85,6170,6.914,6171,5.109,6172,5.109,6173,3.335,6174,5.109,6175,5.109,6176,5.109,6177,3.403,6178,5.109,6179,3.118,6180,5.109,6181,6.21,6182,7.637,6183,3.403,6184,3.403,6185,3.403,6186,4.708,6187,4.583,6188,2.919,6189,3.274,6190,3.274,6191,3.403,6192,3.403,6193,3.403,6194,3.032,6195,5.212,6196,3.074,6197,6.096,6198,3.274,6199,5.212,6200,3.403,6201,3.403,6202,3.403,6203,3.218,6204,3.403,6205,3.403,6206,5.212,6207,4.85,6208,3.403,6209,3.403,6210,7.1,6211,6.335,6212,3.335,6213,6.21,6214,3.403,6215,3.403,6216,3.403,6217,3.403,6218,3.403,6219,3.403,6220,3.403,6221,3.403,6222,3.403,6223,3.403,6224,3.403,6225,3.218,6226,4.777,6227,3.403,6228,3.403]],["title/interfaces/ComponentLernstoreProperties.html",[159,0.713,6178,4.989]],["body/interfaces/ComponentLernstoreProperties.html",[0,0.16,3,0.009,4,0.009,5,0.004,7,0.136,26,2.152,30,0.001,31,0.398,32,0.137,47,0.962,55,2.09,95,0.141,96,1.227,101,0.017,103,0,104,0,110,3.346,112,0.555,122,1.481,125,1.693,134,1.637,135,1.667,145,1.731,148,1.264,153,1.596,155,3.07,157,1.987,158,1.713,159,1.215,161,1.1,172,3.019,195,1.889,196,1.532,197,1.974,205,1.45,223,3.239,224,1.352,225,2.728,226,2.1,229,1.833,231,0.804,232,1.255,233,1.446,277,0.669,290,1.095,371,3.764,527,1.961,579,2.052,595,1.749,613,4.148,652,1.45,653,1.913,711,1.376,789,2.53,886,1.458,1237,1.366,1312,2.211,1821,2.248,1842,3.234,1936,2.175,2026,2.261,2032,3.966,2050,1.953,2183,1.826,2392,4.199,2815,1.854,2894,4.119,2924,3.991,2927,3.938,2931,2.57,2936,4.575,2937,2.759,2938,4.643,2940,3.951,2941,4.464,2953,4.635,3057,3.791,3633,4.368,3742,5.427,3761,6.201,3898,3.267,3899,3.267,4410,4.188,4569,2.948,4633,2.079,5234,5.797,5565,2.948,5566,3.025,5685,2.175,5718,6.707,5728,3.328,5744,2.635,5751,6.723,5756,7.22,5769,3.328,5775,3.328,5780,3.328,6160,5.1,6161,3.395,6162,2.912,6163,6.215,6164,3.111,6165,5.562,6166,3.395,6167,4.518,6168,5.007,6169,4.842,6170,6.907,6171,5.1,6172,5.1,6173,3.328,6174,5.1,6175,5.1,6176,5.1,6177,3.395,6178,6.201,6179,3.111,6180,5.1,6181,5.1,6182,7.63,6183,3.395,6184,3.395,6185,3.395,6186,4.7,6187,4.575,6188,2.912,6189,3.267,6190,3.267,6191,3.395,6192,3.395,6193,3.395,6194,3.025,6195,5.203,6196,3.066,6197,6.087,6198,3.267,6199,5.203,6200,3.395,6201,3.395,6202,3.395,6203,3.211,6204,3.395,6205,3.395,6206,5.203,6207,4.842,6208,3.395,6209,3.395,6210,7.092,6211,6.326,6212,3.328,6213,6.201,6214,3.395,6215,3.395,6216,3.395,6217,3.395,6218,3.395,6219,3.395,6220,3.395,6221,3.395,6222,3.395,6223,3.395,6224,3.395,6225,3.211,6226,4.768,6227,3.395,6228,3.395]],["title/interfaces/ComponentNexboardProperties.html",[159,0.713,6180,4.989]],["body/interfaces/ComponentNexboardProperties.html",[0,0.156,3,0.009,4,0.009,5,0.004,7,0.135,26,2.131,30,0.001,31,0.391,32,0.142,47,0.991,55,2.07,95,0.14,96,1.201,101,0.017,103,0,104,0,110,3.932,112,0.546,122,1.457,125,1.665,134,1.602,135,1.659,145,1.694,148,1.258,153,1.578,155,3.607,157,2.512,158,1.676,159,1.206,161,1.076,195,1.863,196,1.5,197,1.942,205,1.426,223,3.208,224,1.323,225,2.682,226,2.054,229,1.793,231,0.787,232,1.228,233,1.415,277,0.654,290,1.072,371,3.702,527,1.919,579,2.018,595,1.711,613,4.08,652,1.426,653,1.872,711,1.347,789,2.475,886,1.426,1237,1.337,1312,2.163,1821,2.2,1842,3.18,1936,2.129,2026,2.212,2032,3.927,2050,4.033,2183,1.787,2392,4.163,2815,1.814,2894,4.064,2924,3.937,2927,3.873,2931,2.515,2936,4.499,2937,2.7,2938,4.581,2940,3.898,2941,4.39,2953,4.559,3057,3.729,3633,4.309,3742,5.354,3761,6.118,3898,3.197,3899,3.197,4410,4.119,4569,2.885,4633,2.035,5234,5.72,5565,2.885,5566,2.96,5685,2.129,5718,6.631,5728,3.256,5744,2.578,5751,4.499,5756,7.174,5769,3.256,5775,3.256,5780,3.256,6160,5.016,6161,3.322,6162,2.85,6163,6.154,6164,3.044,6165,5.488,6166,3.322,6167,4.443,6168,4.924,6169,4.762,6170,6.839,6171,5.016,6172,5.016,6173,3.256,6174,5.016,6175,5.016,6176,5.016,6177,3.322,6178,5.016,6179,3.044,6180,6.118,6181,5.016,6182,7.564,6183,3.322,6184,3.322,6185,3.322,6186,4.622,6187,4.499,6188,2.85,6189,3.197,6190,3.197,6191,3.322,6192,3.322,6193,3.322,6194,2.96,6195,5.117,6196,3.001,6197,6.006,6198,3.197,6199,5.117,6200,3.322,6201,3.322,6202,3.322,6203,3.142,6204,3.322,6205,3.322,6206,5.117,6207,4.762,6208,3.322,6209,3.322,6210,7.011,6211,6.241,6212,3.256,6213,6.118,6214,3.322,6215,3.322,6216,3.322,6217,3.322,6218,3.322,6219,3.322,6220,3.322,6221,3.322,6222,3.322,6223,3.322,6224,3.322,6225,3.142,6226,4.689,6227,3.322,6228,3.322]],["title/interfaces/ComponentTextProperties.html",[159,0.713,6175,4.989]],["body/interfaces/ComponentTextProperties.html",[0,0.16,3,0.009,4,0.009,5,0.004,7,0.136,26,2.154,30,0.001,31,0.399,32,0.121,47,0.972,55,2.092,95,0.141,96,1.23,101,0.017,103,0,104,0,110,3.35,112,0.556,122,1.484,125,1.696,134,1.641,135,1.668,145,1.735,148,1.265,153,1.598,155,3.073,157,1.99,158,1.717,159,1.215,161,1.103,195,1.891,196,1.536,197,1.978,205,1.452,223,3.243,224,1.355,225,2.732,226,2.104,229,1.837,231,0.806,232,1.258,233,1.449,277,0.67,290,1.098,371,3.771,527,1.966,579,2.056,595,1.753,613,4.156,652,1.452,653,1.917,711,1.379,789,2.535,886,1.461,1237,1.369,1312,2.216,1821,2.253,1842,3.239,1936,2.18,2026,2.266,2032,3.97,2050,1.957,2183,1.83,2392,4.203,2815,1.858,2894,5.258,2924,3.997,2927,3.945,2931,2.576,2936,4.583,2937,2.766,2938,4.65,2940,3.957,2941,4.472,2953,4.644,3057,3.798,3633,4.374,3742,5.435,3761,6.21,3898,3.274,3899,3.274,4410,4.195,4569,2.955,4633,2.084,5234,5.806,5565,2.955,5566,3.032,5685,2.18,5718,6.715,5728,3.335,5744,2.641,5751,4.583,5756,7.224,5769,3.335,5775,3.335,5780,3.335,6160,5.109,6161,3.403,6162,2.919,6163,6.221,6164,3.118,6165,5.57,6166,3.403,6167,4.526,6168,5.015,6169,4.85,6170,6.914,6171,5.109,6172,5.109,6173,3.335,6174,5.109,6175,6.21,6176,5.109,6177,3.403,6178,5.109,6179,3.118,6180,5.109,6181,5.109,6182,7.637,6183,3.403,6184,3.403,6185,3.403,6186,4.708,6187,4.583,6188,2.919,6189,3.274,6190,3.274,6191,3.403,6192,3.403,6193,3.403,6194,3.032,6195,5.212,6196,3.074,6197,6.096,6198,3.274,6199,5.212,6200,3.403,6201,3.403,6202,3.403,6203,3.218,6204,3.403,6205,3.403,6206,5.212,6207,4.85,6208,3.403,6209,3.403,6210,7.1,6211,6.335,6212,3.335,6213,6.21,6214,3.403,6215,3.403,6216,3.403,6217,3.403,6218,3.403,6219,3.403,6220,3.403,6221,3.403,6222,3.403,6223,3.403,6224,3.403,6225,3.218,6226,4.777,6227,3.403,6228,3.403]],["title/classes/ConsentRequestBody.html",[0,0.24,6229,5.841]],["body/classes/ConsentRequestBody.html",[0,0.293,2,0.628,3,0.011,4,0.011,5,0.005,7,0.083,27,0.5,30,0.001,32,0.158,33,0.637,34,1.455,47,0.854,55,1.997,95,0.114,101,0.008,103,0,104,0,112,0.665,122,1.775,145,3.178,157,2.51,164,8.168,165,4.797,167,8.747,169,9.773,170,7.853,187,6.15,190,2.279,194,5.2,195,2.181,196,4.397,197,3.942,199,4.719,200,1.81,202,1.357,231,1.477,290,2.012,296,2.849,299,3.316,300,4.175,337,3.63,342,3.857,402,2.114,403,4.304,436,3.433,567,4.145,711,1.755,890,5.896,998,2.789,1042,3.91,1080,4.277,1302,3.277,1379,4.244,1390,3.671,1470,5.575,1475,7.568,1888,6.701,2163,2.731,2344,7.318,2543,3.178,2561,5.118,2815,4.364,4886,6.371,5042,4.331,5114,6.701,5285,4.531,6134,3.484,6229,7.155,6230,10.908,6231,10.309,6232,7.155,6233,7.155,6234,6.701,6235,5.908,6236,5.908,6237,6.695,6238,5.908,6239,5.183,6240,7.464,6241,7.464,6242,7.879,6243,7.464,6244,3.484,6245,5.908,6246,5.471,6247,7.879,6248,6.234,6249,10.101,6250,7.879,6251,5.908,6252,8.592,6253,4.531,6254,5.183,6255,5.183,6256,5.183,6257,5.471,6258,6.525,6259,5.896,6260,4.424,6261,4.797,6262,4.531,6263,4.968,6264,4.797,6265,5.471,6266,4.968,6267,5.471,6268,5.471,6269,5.183,6270,4.968,6271,4.968,6272,5.471,6273,4.924,6274,6.701,6275,5.471]],["title/classes/ConsentResponse.html",[0,0.24,6276,5.639]],["body/classes/ConsentResponse.html",[0,0.347,2,0.53,3,0.009,4,0.009,5,0.005,7,0.07,27,0.522,29,0.383,30,0.001,31,0.28,32,0.165,33,0.646,34,1.72,47,0.967,70,5.49,72,3.438,77,6.947,95,0.115,101,0.007,103,0,104,0,110,2.598,112,0.587,122,1.567,125,1.791,130,2.055,157,2.785,164,7.529,171,7.609,174,5.123,180,4.838,181,9.46,182,7.927,183,3.458,185,2.582,187,7.538,190,2.356,193,4.923,194,3.932,195,2.359,196,3.748,197,3.609,200,1.529,202,1.146,290,2.679,296,3.463,299,3.918,300,5.025,358,6.099,433,0.616,868,2.394,1470,5.622,1475,6.32,1775,4.134,1842,3.421,1899,6.563,2327,4.723,2344,6.111,2543,4.859,2752,7.711,2815,4.704,2845,6.477,3597,5.396,3724,3.518,4409,4.052,4547,8.892,6270,6.318,6273,5.819,6276,9.546,6277,4.99,6278,8.367,6279,8.367,6280,7.598,6281,7.598,6282,7.598,6283,7.335,6284,7.513,6285,4.99,6286,9.941,6287,4.99,6288,7.927,6289,7.513,6290,4.99,6291,7.513,6292,6.318,6293,4.99,6294,7.598,6295,8.367,6296,4.99,6297,4.99,6298,7.513,6299,6.591,6300,4.99,6301,7.513,6302,4.99,6303,7.598,6304,4.99,6305,7.513,6306,8.821,6307,4.99,6308,4.99,6309,4.99,6310,6.957,6311,6.957,6312,4.99,6313,4.99,6314,4.378,6315,4.621,6316,4.621,6317,4.621]],["title/classes/ConsentSessionResponse.html",[0,0.24,6318,5.841]],["body/classes/ConsentSessionResponse.html",[0,0.359,2,0.841,3,0.015,4,0.015,5,0.007,7,0.111,27,0.486,29,0.607,30,0.001,31,0.652,32,0.154,33,0.618,34,1.779,47,1.015,95,0.119,101,0.01,103,0.001,104,0.001,112,0.813,125,3.286,157,2.675,164,7.791,187,7.234,190,2.086,193,4.52,200,2.423,202,1.817,296,3.226,300,3.982,433,0.976,868,4.991,1475,6.54,1495,8.35,1508,7.325,2815,4.941,4547,9.643,6286,6.94,6318,8.749,6319,12.83,6320,7.325,6321,9.157,6322,9.634,6323,12.35,6324,7.911,6325,5.23,6326,9.634,6327,7.911,6328,7.911,6329,7.911,6330,7.911,6331,7.911]],["title/modules/ConsoleWriterModule.html",[252,1.835,3855,5.327]],["body/modules/ConsoleWriterModule.html",[0,0.337,3,0.019,4,0.019,5,0.009,30,0.001,95,0.136,101,0.013,103,0.001,104,0.001,252,3.388,254,3.522,255,3.73,256,3.825,257,3.811,258,3.797,259,4.664,260,4.774,269,4.654,270,3.756,271,3.678,277,1.412,3771,9.48,3781,6.009,3855,10.798,6332,9.78,6333,9.78,6334,9.78,6335,9.056,6336,7.94,6337,9.78,6338,8.58]],["title/injectables/ConsoleWriterService.html",[589,0.929,3771,4.534]],["body/injectables/ConsoleWriterService.html",[0,0.344,3,0.025,4,0.019,5,0.009,7,0.14,8,1.39,27,0.393,29,0.765,30,0.001,31,0.559,32,0.124,33,0.459,35,1.156,47,0.917,95,0.114,101,0.013,103,0.001,104,0.001,277,1.44,569,3.748,571,3.945,589,1.61,591,2.378,1086,4.759,1087,4.61,1088,4.683,2894,5.745,3771,7.861,3781,6.128,6335,11.151,6336,9.776,6339,9.974,6340,12.042,6341,9.974,6342,9.974]],["title/classes/ContentBodyParams.html",[0,0.24,1234,5.639]],["body/classes/ContentBodyParams.html",[0,0.448,2,0.964,3,0.017,4,0.017,5,0.008,7,0.128,27,0.447,30,0.001,32,0.155,47,0.968,95,0.13,101,0.017,103,0.001,104,0.001,112,0.888,125,2.163,190,2.039,195,1.985,200,2.779,202,2.084,296,3.497,299,5.066,300,4.348,855,4.598,1195,6.123,1228,7.365,1233,9.223,1234,10.07,1235,9.223,1238,6.958,1240,7.315,1242,7.629,2543,4.879,6273,6.576,6343,7.959,6344,8.595,6345,6.287,6346,9.072,6347,9.072,6348,9.072]],["title/injectables/ContentElementFactory.html",[589,0.929,3862,5.639]],["body/injectables/ContentElementFactory.html",[0,0.193,3,0.011,4,0.011,5,0.008,7,0.079,8,0.946,27,0.481,29,0.43,30,0.001,31,0.315,32,0.141,33,0.258,34,2.023,35,1.415,49,2.11,83,3.872,95,0.148,99,1.15,101,0.007,103,0,104,0,110,1.94,129,1.679,134,1.982,135,1.545,142,2.047,148,1.209,153,2.345,155,1.78,157,1.291,277,0.81,430,4.863,431,5.071,507,3.61,574,3.164,579,1.621,589,1.096,591,1.338,614,1.733,652,2.833,1393,6.784,2029,8.644,2037,3.615,2048,5.728,2369,3.137,2684,1.819,2894,3.91,3047,7.848,3115,5.424,3118,5.424,3121,5.092,3124,5.424,3127,5.036,3130,5.214,3134,4.303,3135,8.338,3139,4.202,3140,2.53,3141,3.411,3519,3.57,3545,3.309,3547,3.309,3553,4.255,3557,2.894,3845,4.923,3862,6.654,4454,5.528,4479,7.348,5909,8.083,6349,12.52,6350,5.611,6351,10.647,6352,10.647,6353,9.86,6354,10.647,6355,10.647,6356,10.647,6357,8.195,6358,5.611,6359,5.611,6360,5.611,6361,5.611,6362,5.611,6363,5.611,6364,5.611,6365,3.527,6366,5.611,6367,3.57,6368,5.611,6369,3.527,6370,5.611,6371,3.57,6372,5.611,6373,3.57,6374,5.611,6375,3.57,6376,5.611,6377,5.611]],["title/classes/ContentElementResponseFactory.html",[0,0.24,4040,5.327]],["body/classes/ContentElementResponseFactory.html",[0,0.24,2,0.74,3,0.013,4,0.013,5,0.009,7,0.098,8,1.103,27,0.429,29,0.732,30,0.001,31,0.535,32,0.146,33,0.439,35,1.107,95,0.155,100,2.43,101,0.009,103,0,104,0,112,0.747,129,2.084,130,1.904,135,1.423,141,5.029,148,0.946,153,1.574,277,1.005,467,3.91,579,2.76,614,2.15,652,2.225,830,5.297,1853,2.277,2048,5.692,2112,6.449,2139,4.031,2369,3.894,2639,7.986,2645,7.151,2647,8.849,2648,5.596,2684,2.258,2894,3.323,3121,7.287,3127,7.206,3134,5.341,3139,5.215,3140,3.14,3141,4.233,3519,4.43,3998,8.523,4035,7.828,4036,7.828,4040,7.324,6378,11.728,6379,10.093,6380,10.9,6381,9.55,6382,9.55,6383,9.55,6384,9.55,6385,9.55,6386,9.55,6387,6.964,6388,6.964,6389,6.964,6390,6.964,6391,6.076,6392,6.964,6393,6.964,6394,5.341,6395,6.109,6396,6.109,6397,6.109,6398,6.109,6399,6.109,6400,6.109,6401,9.55,6402,6.964,6403,6.964,6404,6.964,6405,6.109,6406,6.964,6407,6.964,6408,6.964,6409,6.964]],["title/injectables/ContentElementService.html",[589,0.929,2018,5.089]],["body/injectables/ContentElementService.html",[0,0.201,3,0.011,4,0.011,5,0.005,7,0.082,8,0.972,10,3.381,12,3.815,26,2.547,27,0.487,29,0.947,30,0.001,31,0.692,32,0.163,33,0.568,34,1.44,35,1.388,36,2.839,55,1.98,95,0.141,99,1.193,101,0.008,103,0,104,0,135,1.501,148,1.073,153,1.63,228,1.795,277,0.84,317,3.026,433,1.039,579,2.433,589,1.126,591,1.388,652,2.019,657,2.899,734,3.533,837,2.875,1853,1.904,2018,6.169,2023,6.631,2029,10.625,2048,5.237,2050,2.454,2392,4.132,2624,2.858,2648,2.778,2661,6.452,2935,3.086,3108,7.086,3218,4.873,3409,4.36,3410,8.446,3575,3.97,3605,7.796,3633,6.249,3645,5.108,3693,9.25,3696,6.047,3702,8.309,3706,4.896,3862,10.029,4452,7.386,4454,5.625,4472,4.727,4536,10.033,6405,5.108,6410,11.713,6411,5.823,6412,5.823,6413,5.823,6414,8.419,6415,5.823,6416,8.419,6417,5.823,6418,8.419,6419,5.823,6420,8.419,6421,5.823,6422,8.419,6423,6.98,6424,5.823,6425,5.823,6426,5.108,6427,5.823,6428,5.823,6429,5.823,6430,5.823,6431,5.823,6432,5.823,6433,5.823,6434,5.823,6435,5.823,6436,4.266,6437,5.823,6438,5.823,6439,5.823,6440,5.823]],["title/injectables/ContentElementUpdateVisitor.html",[589,0.929,6426,6.094]],["body/injectables/ContentElementUpdateVisitor.html",[0,0.153,3,0.008,4,0.008,5,0.004,7,0.062,8,0.792,27,0.504,29,0.969,30,0.001,31,0.708,32,0.161,33,0.581,35,1.442,36,2.899,47,0.314,95,0.129,99,0.908,101,0.006,103,0,104,0,110,2.902,112,0.536,125,1.635,135,1.096,148,1.325,153,1.131,154,3.724,228,1.523,277,0.639,298,1.916,317,3.05,356,2.974,433,0.546,589,0.917,591,1.056,652,2.208,653,4.464,837,2.186,1237,1.306,1842,2.017,1853,1.448,1938,2.382,2031,6.088,2048,5.312,2392,3.899,2566,3.596,2648,4.509,2661,5.628,2684,2.224,2788,8.293,2946,5.458,3054,3.934,3083,2.664,3108,5.864,3115,6.766,3118,6.766,3121,6.352,3124,6.766,3127,6.282,3130,6.504,3135,4.836,3140,1.997,3143,5.767,3144,5.767,3145,5.767,3146,5.767,3147,5.767,3148,5.767,3149,5.767,3150,5.767,3152,5.767,3153,5.767,3154,5.767,3155,5.767,3156,5.767,3157,5.767,3158,5.767,3159,5.767,3160,5.767,3161,5.767,3162,5.767,3218,2.563,3327,4.101,3520,3.397,3553,2.3,3739,6.651,6182,3.069,6410,11.988,6423,6.966,6426,6.017,6441,4.429,6442,6.859,6443,6.859,6444,6.859,6445,6.859,6446,4.429,6447,4.429,6448,4.429,6449,4.429,6450,4.429,6451,4.429,6452,4.429,6453,4.429,6454,4.429,6455,4.429,6456,6.351,6457,4.429,6458,4.101,6459,3.724,6460,4.477,6461,4.477,6462,4.477,6463,4.477,6464,4.477,6465,4.477,6466,4.429,6467,4.429,6468,4.429,6469,4.101,6470,4.429,6471,6.859,6472,4.101,6473,4.429,6474,4.429,6475,4.101,6476,4.429,6477,4.101,6478,4.429,6479,4.429,6480,6.859,6481,6.859,6482,4.429,6483,8.393,6484,4.429,6485,4.429,6486,4.429,6487,4.429,6488,4.429,6489,4.101,6490,4.429,6491,4.101,6492,4.429,6493,6.859,6494,4.101,6495,4.429,6496,4.101,6497,4.429,6498,6.859,6499,4.101,6500,4.429,6501,4.429,6502,6.859,6503,4.429,6504,3.596,6505,3.886,6506,4.429,6507,4.101,6508,4.429]],["title/classes/ContentElementUrlParams.html",[0,0.24,6509,6.094]],["body/classes/ContentElementUrlParams.html",[0,0.414,2,1.055,3,0.019,4,0.019,5,0.009,7,0.14,27,0.391,30,0.001,32,0.124,34,2.053,47,0.851,95,0.137,101,0.013,103,0.001,104,0.001,112,0.939,157,2.284,190,1.781,194,4.696,195,2.626,196,3.971,197,3.338,200,3.04,202,2.279,296,3.136,855,4.859,2048,4.878,4166,6.033,6509,10.533,6510,12.006,6511,9.19,6512,11.954,6513,9.19]],["title/classes/ContentFileUrlParams.html",[0,0.24,6514,6.094]],["body/classes/ContentFileUrlParams.html",[0,0.41,2,1.037,3,0.019,4,0.019,5,0.009,7,0.137,27,0.468,30,0.001,32,0.148,34,2.191,47,0.945,95,0.136,101,0.013,103,0.001,104,0.001,112,0.929,190,2.132,200,2.989,202,2.241,296,3.347,299,4.63,855,4.809,856,6.59,1195,6.325,5228,8.054,6345,6.76,6514,10.424,6515,12.813,6516,9.034,6517,8.204,6518,9.756,6519,9.756]],["title/classes/ContentMetadata.html",[0,0.24,6520,5.639]],["body/classes/ContentMetadata.html",[0,0.208,2,0.4,3,0.007,4,0.016,5,0.003,7,0.121,26,2.184,27,0.531,29,0.288,30,0.001,31,0.211,32,0.169,33,0.64,47,0.989,49,3.247,95,0.115,96,1.596,97,1.54,99,0.771,101,0.011,103,0,104,0,112,0.471,131,4.81,148,0.747,153,1.244,155,2.394,158,2.229,159,0.386,190,2.408,195,3.035,196,4.223,205,1.231,211,7.081,223,4.339,224,1.098,225,2.316,229,1.488,231,0.653,233,1.174,433,0.744,478,1.053,703,1.167,886,2.374,1195,6.687,1198,4.54,1215,2.262,1237,1.777,1936,1.766,2163,1.739,2392,3.604,2698,3.07,2924,3.488,3037,1.804,3390,2.218,3633,1.903,3739,2.218,3901,3.562,4159,2.525,4557,2.641,4623,3.219,4650,2.606,4833,3.053,5744,2.139,6520,7.671,6521,10.997,6522,3.3,6523,6.583,6524,6.621,6525,6.621,6526,6.346,6527,5.067,6528,4.291,6529,6.346,6530,5.788,6531,5.788,6532,5.651,6533,5.788,6534,4.926,6535,6.621,6536,6.621,6537,5.321,6538,6.621,6539,6.621,6540,5.651,6541,5.788,6542,6.621,6543,6.621,6544,4.33,6545,6.029,6546,3.761,6547,3.761,6548,6.621,6549,3.761,6550,6.621,6551,3.761,6552,3.761,6553,8.124,6554,3.761,6555,3.761,6556,4.251,6557,4.624,6558,3.761,6559,3.761,6560,3.761,6561,3.761,6562,3.761,6563,3.761,6564,3.761,6565,3.761,6566,3.761,6567,3.761,6568,3.761,6569,3.761,6570,3.761,6571,3.761,6572,3.761,6573,3.429,6574,2.756,6575,5.29,6576,2.884,6577,3.3,6578,2.884,6579,3.3,6580,2.701,6581,2.701,6582,3.3,6583,3.3,6584,2.652,6585,3.3,6586,2.884,6587,3.3,6588,2.884,6589,3.3,6590,2.884,6591,3.3,6592,2.884,6593,3.3,6594,3.3,6595,3.3,6596,3.3,6597,3.3,6598,2.884,6599,3.3,6600,3.3,6601,3.3,6602,3.3,6603,3.3,6604,3.3,6605,3.3,6606,3.3,6607,3.3,6608,3.3,6609,3.3,6610,3.3,6611,3.3,6612,3.3,6613,3.3,6614,3.3,6615,3.3,6616,3.3,6617,3.163,6618,3.3,6619,5.146,6620,4.895,6621,4.185,6622,4.075,6623,2.816,6624,2.023,6625,2.701,6626,2.701,6627,2.564,6628,2.701,6629,2.756,6630,2.816,6631,2.393,6632,2.606,6633,3.163,6634,2.701,6635,3.3,6636,2.816,6637,2.701]],["title/classes/ContextExternalTool.html",[0,0.24,2005,3.656]],["body/classes/ContextExternalTool.html",[0,0.25,2,0.77,3,0.014,4,0.014,5,0.007,7,0.102,8,1.132,27,0.526,29,0.955,30,0.001,31,0.406,32,0.164,33,0.573,34,1.902,35,0.839,47,0.883,55,2.495,95,0.142,101,0.013,103,0,104,0,112,0.767,148,0.717,159,0.744,183,2.771,231,1.702,232,2.657,433,0.893,435,2.458,436,2.15,614,4.406,703,2.247,1237,2.891,1852,7.029,2005,5.162,2007,3.618,2777,7.889,2900,4.117,6055,7.9,6638,7.732,6639,11.72,6640,5.703,6641,8.97,6642,6.108,6643,9.389,6644,9.142,6645,10.023,6646,9.807,6647,7.24,6648,7.24,6649,7.24,6650,10.023,6651,7.24,6652,5.305,6653,7.24,6654,5.703,6655,4.551,6656,5.2,6657,5.553,6658,6.705,6659,6.705,6660,6.705,6661,6.705,6662,4.664,6663,5.017,6664,4.862,6665,5.305,6666,7.043,6667,5.422]],["title/injectables/ContextExternalToolAuthorizableService.html",[589,0.929,6668,5.639]],["body/injectables/ContextExternalToolAuthorizableService.html",[0,0.304,3,0.017,4,0.017,5,0.008,7,0.124,8,1.288,12,5.055,26,2.652,27,0.439,29,0.856,30,0.001,31,0.625,32,0.139,33,0.513,34,1.507,35,1.021,36,2.364,40,5.412,95,0.152,99,1.806,101,0.012,103,0.001,104,0.001,135,1.151,148,0.873,228,1.599,277,1.272,279,3.699,317,2.656,400,2.624,433,1.087,589,1.492,591,2.101,614,4.186,657,2.02,1237,2.598,1845,8.787,1882,3.361,2005,6.772,2666,4.074,2684,3.969,3406,8.162,6036,10.679,6638,7.084,6668,9.057,6669,10.738,6670,8.162,6671,8.814,6672,8.814,6673,8.814]],["title/classes/ContextExternalToolConfigurationStatus.html",[0,0.24,6051,5.089]],["body/classes/ContextExternalToolConfigurationStatus.html",[0,0.33,2,1.017,3,0.018,4,0.018,5,0.009,7,0.135,27,0.5,29,0.734,30,0.001,31,0.536,32,0.158,33,0.44,101,0.013,103,0.001,104,0.001,112,0.918,122,2.763,232,3.181,433,1.181,435,3.249,614,4.09,2218,5.917,2684,4.295,6051,9.961,6062,10.007,6063,8.957,6674,13.247,6675,8.862,6676,11.743,6677,8.862,6678,7.769,6679,8.047,6680,8.396,6681,8.862]],["title/classes/ContextExternalToolConfigurationStatusResponse.html",[0,0.24,6682,5.841]],["body/classes/ContextExternalToolConfigurationStatusResponse.html",[0,0.283,2,0.874,3,0.016,4,0.016,5,0.008,7,0.116,27,0.466,29,0.63,30,0.001,31,0.461,32,0.162,33,0.378,95,0.094,101,0.011,103,0.001,104,0.001,112,0.834,122,2.865,157,2.884,183,4.082,190,1.914,194,4.902,202,1.887,232,2.89,296,3.093,417,7.008,433,1.014,435,2.791,614,3.87,703,3.311,866,5.297,2004,5.654,2218,5.598,2684,4.454,2762,5.297,4084,7.21,6062,9.328,6063,8.35,6244,5.133,6527,8.416,6678,6.672,6679,6.911,6680,7.21,6681,7.61,6682,10.922,6683,11.606,6684,10.667,6685,10.175,6686,9.385,6687,10.996,6688,8.218]],["title/classes/ContextExternalToolConfigurationTemplateListResponse.html",[0,0.24,6689,5.841]],["body/classes/ContextExternalToolConfigurationTemplateListResponse.html",[0,0.321,2,0.989,3,0.018,4,0.018,5,0.009,7,0.131,27,0.455,29,0.713,30,0.001,31,0.522,32,0.156,33,0.428,95,0.132,101,0.012,103,0.001,104,0.001,112,0.902,125,2.218,183,3.561,190,1.67,202,2.137,296,3.014,339,3.955,433,1.148,614,4.05,861,6.447,864,6.62,866,4.621,881,5.079,1167,7.709,2218,5.859,2682,5.685,2684,4.253,6689,9.704,6690,11.618,6691,11.311,6692,8.851,6693,8.615]],["title/classes/ContextExternalToolConfigurationTemplateResponse.html",[0,0.24,6691,5.639]],["body/classes/ContextExternalToolConfigurationTemplateResponse.html",[0,0.257,2,0.792,3,0.014,4,0.014,5,0.007,7,0.105,26,2.594,27,0.521,29,0.925,30,0.001,31,0.676,32,0.168,33,0.519,47,0.855,55,2.003,95,0.129,99,1.528,101,0.01,103,0,104,0,112,0.782,125,1.778,190,2.324,201,4.383,202,1.712,296,3.595,433,0.92,614,4.152,866,3.703,1220,4.277,2183,2.938,2218,6.084,2682,6.094,2684,4.36,5710,5.822,6664,5.006,6690,12.453,6691,10.214,6694,6.904,6695,7.958,6696,6.475,6697,8.107,6698,9.262,6699,10.002,6700,6.904,6701,6.904,6702,6.904,6703,9.501,6704,6.904,6705,6.904,6706,6.541,6707,6.269,6708,6.904,6709,7.455,6710,7.455,6711,6.904,6712,4.934,6713,6.904,6714,6.904,6715,5.583,6716,6.904]],["title/classes/ContextExternalToolContextParams.html",[0,0.24,6717,5.841]],["body/classes/ContextExternalToolContextParams.html",[0,0.385,2,0.937,3,0.017,4,0.017,5,0.008,7,0.124,27,0.439,30,0.001,32,0.139,47,0.791,95,0.14,101,0.012,103,0.001,104,0.001,112,0.872,125,2.101,190,2.002,194,5.032,195,2.814,196,4.048,197,3.577,200,2.7,202,2.024,296,3.197,614,4.186,855,4.515,886,2.773,899,4.013,2034,7.636,2035,4.326,2039,6.33,2629,7.82,2684,3.969,3182,5.21,5452,7.289,6638,7.084,6717,9.381,6718,9.937,6719,8.814,6720,7.885,6721,7.732,6722,8.814,6723,8.814,6724,8.814,6725,8.814,6726,8.814,6727,7.155]],["title/classes/ContextExternalToolCountPerContextResponse.html",[0,0.24,6728,5.471]],["body/classes/ContextExternalToolCountPerContextResponse.html",[0,0.317,2,0.978,3,0.017,4,0.017,5,0.008,7,0.129,27,0.492,29,0.705,30,0.001,31,0.516,32,0.156,33,0.423,55,2.616,95,0.105,101,0.012,103,0.001,104,0.001,112,0.896,190,2.056,202,2.112,232,3.104,296,3.511,433,1.135,435,3.123,614,4.034,2032,4.743,2684,4.236,2920,7.561,2942,8.799,2953,6.004,4898,9.782,6196,6.087,6683,12.097,6728,10.586,6729,8.517,6730,11.458,6731,9.197,6732,9.197,6733,9.197]],["title/entities/ContextExternalToolEntity.html",[205,1.418,6734,5.201]],["body/entities/ContextExternalToolEntity.html",[0,0.244,3,0.013,4,0.013,5,0.007,7,0.099,27,0.502,29,0.905,30,0.001,32,0.159,33,0.444,47,0.904,55,2.201,95,0.141,96,1.873,101,0.013,103,0,104,0,112,0.755,159,0.727,183,3.695,190,2.289,195,2.582,196,2.34,205,1.971,206,2.307,211,3.923,223,4.124,224,2.065,225,3.708,229,2.798,231,1.228,232,1.917,233,2.208,614,4.394,703,2.196,1507,5.426,1835,4.946,2684,2.294,4617,4.902,4623,5.154,4624,4.023,5452,7.031,5685,5.159,6055,7.102,6638,7.555,6642,6.049,6662,4.558,6663,4.902,6664,4.75,6665,5.183,6666,5.081,6667,5.297,6720,7.606,6734,7.229,6735,10.976,6736,5.743,6737,10.357,6738,7.074,6739,9.054,6740,7.074,6741,7.074,6742,9.477,6743,7.074,6744,8.84,6745,7.074,6746,7.074,6747,5.949,6748,4.396,6749,8.469,6750,4.3,6751,6.551,6752,6.551,6753,6.206,6754,5.949,6755,5.743,6756,5.949]],["title/classes/ContextExternalToolFactory.html",[0,0.24,6757,6.432]],["body/classes/ContextExternalToolFactory.html",[0,0.163,2,0.501,3,0.009,4,0.009,5,0.004,7,0.066,8,0.831,27,0.516,29,1.023,30,0.001,31,0.719,32,0.169,33,0.582,34,1.493,35,1.412,47,0.843,49,1.773,55,2.309,59,3.441,95,0.127,96,1.248,97,1.931,101,0.006,103,0,104,0,112,0.563,113,4.418,125,2.081,127,4.88,129,3.559,130,3.399,135,0.94,148,0.713,153,1.186,157,2.009,172,3.059,185,2.473,192,2.594,205,1.782,206,2.347,228,1.306,231,1.249,326,4.803,374,3.113,388,2.022,433,0.582,436,3.854,467,2.095,501,7.03,502,5.417,505,3.991,506,5.417,507,5.237,508,3.991,509,3.991,510,3.991,511,3.929,512,4.443,513,4.84,514,6.442,515,5.742,516,6.95,517,2.636,522,2.615,523,3.991,524,2.636,525,5.105,526,5.253,527,4.134,528,4.941,529,3.96,530,2.615,531,2.465,532,4.113,533,2.517,534,2.465,535,2.615,536,2.636,537,4.765,538,2.615,539,7.109,540,4.175,541,6.594,542,2.636,543,3.492,544,2.615,545,2.636,546,2.615,547,2.636,548,2.615,551,2.615,552,6.053,553,2.636,554,2.615,555,3.991,556,3.641,557,3.991,558,2.636,559,2.536,560,2.499,561,2.116,562,2.615,563,2.615,564,2.615,565,2.636,566,2.636,567,1.792,568,2.615,569,1.467,570,2.636,571,2.846,572,2.615,573,2.636,575,2.705,576,2.781,577,2.808,614,2.695,756,2.846,2005,2.482,2007,2.356,2032,1.792,2034,2.615,2039,3.386,2684,1.529,2777,4.763,3867,3.215,4479,2.93,4557,3.88,4665,6.153,4667,3.386,6055,2.836,6641,3.166,6642,2.416,6643,5.668,6645,3.965,6757,8.082,6758,7.197,6759,3.828,6760,7.197,6761,7.197,6762,4.715,6763,7.314,6764,3.714,6765,3.215,6766,4.715]],["title/classes/ContextExternalToolIdParams.html",[0,0.24,6767,5.327]],["body/classes/ContextExternalToolIdParams.html",[0,0.413,2,1.05,3,0.019,4,0.019,5,0.009,7,0.139,27,0.389,30,0.001,32,0.123,47,0.849,95,0.137,101,0.013,103,0.001,104,0.001,112,0.936,190,1.772,194,4.682,195,2.618,196,3.266,197,3.328,200,3.025,202,2.268,296,3.127,307,7.236,614,4.134,855,4.845,2684,3.881,3562,7.202,6638,6.928,6718,9.718,6767,9.181,6768,8.305,6769,8.664]],["title/classes/ContextExternalToolIdParams-1.html",[0,0.199,756,2.284,6767,4.429]],["body/classes/ContextExternalToolIdParams-1.html",[0,0.416,2,1.063,3,0.019,4,0.019,5,0.009,7,0.141,26,2.67,27,0.394,30,0.001,32,0.125,95,0.148,99,2.049,101,0.013,103,0.001,104,0.001,112,0.943,190,1.794,200,3.063,202,2.296,296,3.15,307,7.326,614,3.724,855,4.881,2682,5.465,2684,3.911,3562,7.241,6767,9.25,6770,11.168,6771,7.326,6772,8.118]],["title/modules/ContextExternalToolModule.html",[252,1.835,3856,5.639]],["body/modules/ContextExternalToolModule.html",[0,0.244,3,0.013,4,0.013,5,0.007,30,0.001,95,0.154,101,0.009,103,0,104,0,252,2.9,254,2.543,255,2.693,256,2.762,257,2.752,258,2.742,259,3.993,260,4.087,265,5.892,269,3.771,270,2.712,271,2.656,276,3.771,277,1.019,610,3.799,614,3.813,703,2.192,1027,2.169,2684,3.825,3856,11.863,5710,3.642,5732,4.125,6028,9.545,6038,5.733,6048,10.919,6638,4.087,6668,11.254,6773,7.062,6774,7.062,6775,7.062,6776,7.062,6777,10.04,6778,10.348,6779,9.545,6780,9.049,6781,11.254,6782,11.657,6783,7.062,6784,6.54,6785,5.733,6786,5.562,6787,7.062]],["title/classes/ContextExternalToolPostParams.html",[0,0.24,6788,5.841]],["body/classes/ContextExternalToolPostParams.html",[0,0.39,2,0.795,3,0.014,4,0.014,5,0.007,7,0.105,27,0.511,29,0.867,30,0.001,32,0.17,33,0.556,47,0.919,55,2.008,95,0.144,101,0.01,103,0,104,0,112,0.784,190,2.327,195,1.637,200,2.292,201,4.391,202,1.719,296,3.29,299,3.908,300,4.328,614,4.389,703,2.323,855,4.577,899,3.407,1232,4.331,2034,6.272,2035,3.673,2543,4.024,2684,4.294,3759,7.07,5452,6.735,6055,6.803,6273,5.804,6345,6.949,6638,7.665,6642,5.795,6718,10.752,6720,7.286,6727,6.075,6763,8.468,6788,8.432,6789,6.93,6790,7.483,6791,7.483,6792,7.483,6793,5.483,6794,7.483,6795,9.661,6796,6.293,6797,6.293,6798,5.894,6799,7.483,6800,6.93,6801,6.93,6802,7.483,6803,5.393,6804,6.075]],["title/interfaces/ContextExternalToolProperties.html",[159,0.713,6749,6.094]],["body/interfaces/ContextExternalToolProperties.html",[0,0.264,3,0.015,4,0.015,5,0.007,7,0.108,29,0.973,30,0.001,32,0.163,33,0.561,47,0.959,55,2.441,95,0.145,96,2.027,101,0.013,103,0,104,0,112,0.796,159,0.786,161,1.817,183,3.896,195,2.227,196,2.532,205,2.078,223,3.94,224,2.234,225,3.91,229,3.027,231,1.329,232,2.074,233,2.389,614,3.919,703,2.376,1507,5.87,1835,3.922,2684,2.482,4623,5.435,4624,4.352,5452,7.559,5685,4.779,6055,7.635,6638,4.43,6642,6.504,6662,4.931,6663,5.304,6664,5.14,6665,5.608,6666,5.497,6667,5.732,6720,8.177,6734,5.732,6735,6.437,6736,6.214,6737,11.135,6739,9.734,6742,10.009,6744,9.504,6747,6.437,6748,4.756,6749,10.034,6750,4.653,6751,7.088,6752,7.088,6753,6.715,6754,6.437,6755,6.214,6756,6.437]],["title/interfaces/ContextExternalToolProps.html",[159,0.713,6645,5.841]],["body/interfaces/ContextExternalToolProps.html",[0,0.278,3,0.015,4,0.015,5,0.007,7,0.113,29,0.99,30,0.001,32,0.165,33,0.572,34,2.127,47,0.956,55,2.584,95,0.147,101,0.014,103,0.001,104,0.001,112,0.823,148,0.797,159,0.827,161,1.912,183,3.082,231,1.398,232,2.182,614,3.621,703,2.5,1237,2.374,1852,6.208,2005,4.239,2007,4.024,2777,8.541,2900,4.579,6055,8.112,6638,4.661,6639,7.065,6640,6.343,6641,9.371,6642,6.612,6643,10.165,6644,6.176,6645,9.862,6650,10.852,6654,6.343,6655,5.062,6656,5.784,6657,6.176,6658,7.458,6659,7.458,6660,7.458,6661,7.458,6662,5.188,6663,5.581,6664,5.408,6665,5.901,6666,7.56,6667,6.031]],["title/classes/ContextExternalToolRequestMapper.html",[0,0.24,6805,6.094]],["body/classes/ContextExternalToolRequestMapper.html",[0,0.281,2,0.865,3,0.015,4,0.015,5,0.007,7,0.114,8,1.223,27,0.417,29,0.904,30,0.001,31,0.661,32,0.147,33,0.488,34,1.391,35,1.228,95,0.143,101,0.011,103,0.001,104,0.001,125,1.94,130,2.225,148,1.167,193,3.534,467,3.864,614,4.232,652,2.406,703,2.525,837,4.016,2684,3.821,2777,7.799,6055,4.894,6638,6.821,6641,5.462,6642,4.168,6643,6.408,6655,5.113,6763,6.092,6788,10.499,6795,9.929,6804,6.604,6805,9.296,6806,10.913,6807,6.408,6808,10.596,6809,10.339,6810,10.596,6811,8.135,6812,10.339,6813,7.137,6814,8.135,6815,8.91,6816,7.137,6817,5.961,6818,8.135,6819,8.135,6820,8.135,6821,8.135,6822,8.135,6823,7.533,6824,7.137,6825,6.841,6826,7.137]],["title/classes/ContextExternalToolResponse.html",[0,0.24,6827,5.639]],["body/classes/ContextExternalToolResponse.html",[0,0.237,2,0.731,3,0.013,4,0.013,5,0.006,7,0.097,27,0.528,29,0.895,30,0.001,31,0.386,32,0.169,33,0.563,34,1.852,47,0.961,55,1.897,95,0.124,101,0.009,103,0,104,0,112,0.74,125,1.64,129,2.059,130,1.882,190,2.369,201,4.751,202,1.58,296,3.576,433,0.849,458,2.752,614,4.436,703,2.136,866,3.417,871,2.519,886,2.164,2034,6.786,2035,3.377,3181,4.097,5452,6.45,6055,6.515,6638,7.846,6642,5.55,6662,4.433,6664,4.62,6666,4.942,6696,6.213,6712,4.554,6718,11.005,6720,6.978,6753,6.036,6755,5.586,6763,8.11,6804,5.586,6827,9.934,6828,6.036,6829,7.264,6830,8.771,6831,6.371,6832,6.371,6833,6.371,6834,6.371,6835,9.191,6836,6.371,6837,6.371,6838,6.371,6839,5.277,6840,6.371,6841,6.88,6842,6.88,6843,6.88,6844,6.88,6845,6.036,6846,6.371,6847,6.036]],["title/classes/ContextExternalToolResponseMapper.html",[0,0.24,6848,5.841]],["body/classes/ContextExternalToolResponseMapper.html",[0,0.232,2,0.715,3,0.013,4,0.013,5,0.006,7,0.095,8,1.077,27,0.455,29,0.931,30,0.001,31,0.68,32,0.144,33,0.532,34,1.151,35,1.339,95,0.132,101,0.009,103,0,104,0,130,1.841,135,1.585,148,1.202,153,1.765,402,3.338,467,4.003,614,4.21,652,2.186,703,2.089,829,3.969,837,3.323,871,3.415,1882,2.567,2005,6.39,2011,6.233,2038,5.66,2684,3.936,3997,5.905,3998,4.519,4834,6.69,5452,4.008,6055,4.049,6638,7.027,6642,4.78,6696,3.861,6720,4.336,6763,5.04,6795,9.311,6804,5.464,6806,11.242,6809,9.392,6813,5.905,6815,7.844,6825,5.66,6826,5.905,6827,9.856,6835,10.341,6848,7.844,6849,9.328,6850,9.328,6851,9.328,6852,9.328,6853,6.233,6854,9.328,6855,10.224,6856,6.73,6857,10.456,6858,9.328,6859,6.233,6860,6.233,6861,5.905,6862,5.66,6863,5.301,6864,4.664,6865,5.905,6866,6.73,6867,6.73,6868,6.73,6869,6.73,6870,8.638,6871,6.73,6872,6.73,6873,5.464,6874,6.233,6875,6.233,6876,5.905,6877,5.66,6878,6.233,6879,6.73]],["title/injectables/ContextExternalToolRule.html",[589,0.929,1866,5.841]],["body/injectables/ContextExternalToolRule.html",[0,0.253,3,0.014,4,0.014,5,0.007,7,0.103,8,1.143,27,0.441,29,0.859,30,0.001,31,0.628,32,0.15,33,0.515,35,1.148,95,0.147,101,0.01,103,0,104,0,122,2.69,135,0.959,148,0.981,183,4.288,205,2.773,228,1.333,277,1.06,290,3.245,400,2.187,433,0.906,478,2.057,589,1.324,591,1.752,614,3.982,653,4.626,711,3.831,1237,2.165,1775,6.598,1801,8.013,1838,8.012,1866,8.328,1981,4.733,1985,6.153,1992,6.554,2005,7.055,2007,3.671,3678,6.554,3679,4.933,3682,6.465,3684,4.933,3685,6.65,3686,7.256,3867,6.753,6734,10.17,6748,4.564,6880,11.991,6881,6.803,6882,6.803,6883,6.803,6884,6.803,6885,7.113,6886,7.346,6887,7.346]],["title/classes/ContextExternalToolScope.html",[0,0.24,6888,6.432]],["body/classes/ContextExternalToolScope.html",[0,0.222,2,0.684,3,0.012,4,0.012,5,0.006,7,0.091,8,1.044,26,2.757,27,0.52,29,0.95,30,0.001,31,0.694,32,0.165,33,0.57,34,1.788,35,1.435,95,0.129,99,1.32,101,0.008,103,0,104,0,112,0.707,122,2.181,125,3.339,129,1.927,130,1.761,148,1.123,231,1.57,279,2.703,365,2.876,436,3.548,569,2.004,614,3.824,652,2.529,2034,6.289,2487,6.226,3867,4.39,5452,6.226,6244,5.406,6720,6.736,6734,4.822,6737,5.649,6748,4.001,6763,7.829,6765,4.39,6888,12.385,6889,11.945,6890,5.649,6891,6.073,6892,6.073,6893,6.073,6894,9.045,6895,9.045,6896,9.045,6897,9.045,6898,6.073,6899,6.073,6900,4.39,6901,4.324,6902,4.39,6903,4.39,6904,9.045,6905,6.439,6906,9.045,6907,6.439,6908,9.045,6909,6.439,6910,9.045,6911,6.439,6912,4.324,6913,6.073,6914,4.39,6915,4.324,6916,4.39,6917,4.324,6918,7.614]],["title/classes/ContextExternalToolSearchListResponse.html",[0,0.24,6919,6.094]],["body/classes/ContextExternalToolSearchListResponse.html",[0,0.322,2,0.994,3,0.018,4,0.018,5,0.009,7,0.131,27,0.456,29,0.717,30,0.001,31,0.524,32,0.157,33,0.43,95,0.132,101,0.012,103,0.001,104,0.001,112,0.905,125,2.229,183,3.577,190,1.677,202,2.147,296,3.023,339,3.961,433,1.153,614,4.306,860,8.864,861,6.477,864,6.639,866,4.642,881,5.103,2684,4.076,6638,7.277,6692,8.876,6718,10.206,6827,11.323,6919,10.154,6920,8.2]],["title/injectables/ContextExternalToolService.html",[589,0.929,6780,4.534]],["body/injectables/ContextExternalToolService.html",[0,0.171,3,0.009,4,0.009,5,0.005,7,0.07,8,0.862,12,3.382,26,2.595,27,0.486,29,0.947,30,0.001,31,0.692,32,0.154,33,0.568,35,1.398,36,2.805,95,0.146,99,1.014,101,0.006,103,0,104,0,135,1.576,142,1.805,148,1.064,153,0.816,183,2.857,228,1.817,277,0.714,279,2.076,317,3.035,365,2.21,433,0.921,579,1.43,589,0.998,591,1.18,614,4.332,652,2.044,657,2.885,703,2.317,711,4.154,1882,1.887,2004,4.764,2005,7.211,2007,3.729,2038,6.277,2684,3.246,2762,4.464,3562,4.173,6034,8.992,6036,8.896,6044,4.017,6057,4.581,6638,7.285,6641,7.584,6643,3.897,6669,11.042,6670,4.581,6697,5.361,6763,3.705,6780,4.872,6816,4.34,6817,3.625,6864,3.428,6921,7.464,6922,7.464,6923,6.548,6924,7.464,6925,7.464,6926,7.464,6927,7.464,6928,7.204,6929,7.759,6930,4.947,6931,7.464,6932,4.947,6933,7.464,6934,4.581,6935,7.464,6936,4.581,6937,7.464,6938,4.947,6939,7.464,6940,4.947,6941,7.464,6942,4.947,6943,7.464,6944,10.01,6945,4.947,6946,7.464,6947,4.638,6948,4.34,6949,3.705,6950,4.581,6951,4.947,6952,3.794,6953,8.045,6954,4.947,6955,4.947,6956,4.947,6957,7.464,6958,4.947,6959,7.464,6960,4.947,6961,4.947,6962,3.553,6963,3.553,6964,4.947,6965,4.947]],["title/injectables/ContextExternalToolUc.html",[589,0.929,6966,5.841]],["body/injectables/ContextExternalToolUc.html",[0,0.148,3,0.008,4,0.008,5,0.004,7,0.06,8,0.771,26,2.914,27,0.439,29,0.854,30,0.001,31,0.624,32,0.144,33,0.513,34,1.143,35,1.236,36,2.566,39,3.35,47,0.582,95,0.147,99,0.878,101,0.006,103,0,104,0,135,1.712,148,0.997,153,1.659,158,1.583,183,4.796,228,1.827,277,0.618,290,1.942,317,2.888,433,0.824,478,1.199,579,1.931,589,0.894,591,1.021,595,1.616,610,1.687,614,4.161,652,2.353,657,3.05,693,3.042,703,2.074,711,3.168,1775,5.538,1780,2.603,1862,5.947,1882,1.633,1952,3.019,1956,3.373,1960,5.862,1961,2.576,1963,3.373,2004,5.335,2005,7.093,2007,2.14,2034,5.148,2035,2.102,2061,5.862,2666,1.98,2684,3.612,3299,2.435,3562,6.228,4126,3.138,4557,4.238,5452,5.527,6638,6.67,6641,4.487,6720,5.98,6750,6.118,6780,7.271,6781,9.043,6784,3.966,6785,3.477,6812,11.277,6817,3.138,6863,3.373,6873,6.67,6923,5.862,6929,7.372,6947,2.661,6962,4.799,6966,5.619,6967,11.523,6968,3.757,6969,7.608,6970,8.216,6971,6.187,6972,7.608,6973,7.608,6974,4.283,6975,7.986,6976,4.283,6977,4.283,6978,4.283,6979,6.682,6980,4.283,6981,4.283,6982,4.283,6983,6.682,6984,4.283,6985,4.283,6986,4.283,6987,4.283,6988,3.966,6989,3.373,6990,4.283,6991,8.216,6992,6.682,6993,6.187,6994,4.283,6995,4.283,6996,8.143,6997,4.283,6998,6.187,6999,6.187,7000,6.682,7001,3.477,7002,4.283,7003,6.187,7004,4.283,7005,4.283,7006,3.284,7007,9.281,7008,4.283,7009,4.283,7010,6.187,7011,4.283]],["title/injectables/ContextExternalToolValidationService.html",[589,0.929,6781,5.639]],["body/injectables/ContextExternalToolValidationService.html",[0,0.23,3,0.013,4,0.013,5,0.006,7,0.094,8,1.069,27,0.419,29,0.817,30,0.001,31,0.678,32,0.133,33,0.49,35,1.073,36,1.963,95,0.152,101,0.009,103,0,104,0,135,1.21,145,2.489,153,1.099,183,3.546,219,3.726,228,2.089,277,0.962,317,2.717,338,5.692,356,4.474,393,3.29,433,1.143,579,1.926,589,1.239,591,1.589,614,4.27,619,4.786,640,4.094,652,2.622,657,2.638,703,2.876,1213,5.894,1882,2.541,1924,4.618,2004,4.91,2005,7.163,2007,4.629,2032,3.521,2344,5.631,2684,4.165,2762,4.601,3788,5.603,4203,5.41,4204,4.618,5213,4.094,6035,10.117,6072,5.249,6085,6.171,6086,5.846,6638,6.662,6643,5.249,6669,10.097,6750,4.05,6780,8.174,6781,7.521,6863,5.249,6864,4.618,6865,5.846,6928,7.892,6929,8.5,6947,5.756,6952,5.11,6962,4.786,7012,9.264,7013,6.171,7014,6.663,7015,9.264,7016,9.264,7017,6.663,7018,5.41,7019,6.663,7020,6.663,7021,6.663,7022,6.171,7023,7.79,7024,6.171,7025,6.663,7026,6.663,7027,5.846,7028,6.171,7029,6.663,7030,6.663,7031,6.663,7032,6.663,7033,6.663,7034,6.663]],["title/classes/ContextRef.html",[0,0.24,6641,4.664]],["body/classes/ContextRef.html",[0,0.329,2,1.015,3,0.018,4,0.018,5,0.009,7,0.134,27,0.5,29,0.732,30,0.001,31,0.535,32,0.172,33,0.439,34,2.171,47,0.831,95,0.109,101,0.013,103,0.001,104,0.001,112,0.917,232,3.177,433,1.178,435,3.242,458,3.819,459,5.025,614,4.087,2034,7.039,2035,4.686,2108,4.167,4695,5.803,6638,7.661,6639,11.612,6641,9.123,7035,8.841,7036,11.726,7037,9.547]],["title/classes/ContextRefParams.html",[0,0.24,7038,6.094]],["body/classes/ContextRefParams.html",[0,0.403,2,1.008,3,0.018,4,0.018,5,0.009,7,0.133,26,2.608,27,0.46,30,0.001,32,0.158,95,0.151,99,1.943,101,0.012,103,0.001,104,0.001,112,0.913,190,2.095,200,2.904,202,2.177,296,3.305,855,4.725,899,4.316,2034,7.52,2035,4.652,2682,5.732,5452,7.534,6720,8.15,6727,7.696,6770,11.715,6771,6.946,7038,10.242,7039,9.479,7040,9.479,7041,9.479,7042,9.479]],["title/injectables/ConverterUtil.html",[589,0.929,2337,5.841]],["body/injectables/ConverterUtil.html",[0,0.443,3,0.019,4,0.019,5,0.009,7,0.138,8,1.378,27,0.387,29,0.915,30,0.001,31,0.551,32,0.149,33,0.452,35,1.139,47,0.911,95,0.136,101,0.013,103,0.001,104,0.001,148,0.973,157,2.262,277,1.418,532,4.959,589,1.596,591,2.343,2337,10.036,5071,10.47,7043,9.827,7044,11.935,7045,11.935,7046,9.827,7047,9.827,7048,9.827,7049,9.1,7050,9.827]],["title/classes/CookiesDto.html",[0,0.24,7051,5.841]],["body/classes/CookiesDto.html",[0,0.343,2,1.058,3,0.019,4,0.019,5,0.009,7,0.14,27,0.509,29,0.763,30,0.001,31,0.558,32,0.161,33,0.458,47,0.952,101,0.013,103,0.001,104,0.001,112,0.94,232,3.258,433,1.228,435,3.378,7051,11.557,7052,9.949,7053,11.337,7054,11.337,7055,12.024,7056,9.949,7057,9.949,7058,9.949,7059,9.949,7060,9.949]],["title/classes/CopyApiResponse.html",[0,0.24,7061,5.471]],["body/classes/CopyApiResponse.html",[0,0.232,2,0.714,3,0.013,4,0.013,5,0.006,7,0.094,27,0.507,29,0.515,30,0.001,31,0.377,32,0.178,33,0.613,34,2.202,47,0.956,95,0.106,100,3.251,101,0.009,103,0,104,0,112,0.728,125,1.602,155,4.162,157,3.105,190,2.253,201,4.711,202,1.543,296,2.794,374,4.03,402,4.768,433,1.15,821,3.421,866,4.627,886,3.634,896,6.784,1361,6.136,1372,4.904,1562,10.337,2032,3.541,2048,5.332,2108,2.932,2126,3.925,2617,7.021,2821,6.167,3037,3.224,3296,9.556,3297,9.085,3298,4.129,3593,8.174,5983,6.692,7061,10.337,7062,11.036,7063,6.719,7064,7.339,7065,6.257,7066,9.384,7067,6.719,7068,8.174,7069,6.719,7070,6.222,7071,8.628,7072,6.692,7073,6.719,7074,6.719,7075,8.628,7076,6.719,7077,6.719,7078,6.719,7079,6.719]],["title/interfaces/CopyFileDO.html",[159,0.713,7080,5.639]],["body/interfaces/CopyFileDO.html",[3,0.015,4,0.019,5,0.007,7,0.108,10,3.086,26,2.853,30,0.001,31,0.712,32,0.143,33,0.47,34,2.174,39,2.126,47,0.972,55,1.539,83,2.237,95,0.117,99,1.575,101,0.018,103,0,104,0,112,0.798,135,1.003,159,1.254,161,1.824,290,1.817,374,3.324,703,2.385,870,4.195,886,3.605,1080,3.518,1154,6.958,1444,4.261,1936,3.607,2032,2.92,2218,3.432,2219,3.863,2220,3.728,2617,4.67,2940,3.516,2992,3.482,3140,3.465,3382,3.448,3431,4.102,3633,5.797,3647,5.518,3901,4.817,4009,4.488,4228,4.488,4557,2.689,5202,5.498,5427,4.407,5744,4.369,5756,4.576,6621,4.261,6622,4.817,7080,8.286,7081,7.115,7082,7.115,7083,8.608,7084,6.052,7085,7.115,7086,6.461,7087,7.115,7088,7.115,7089,7.115,7090,6.958,7091,7.827,7092,7.827,7093,7.827,7094,6.461,7095,5.016,7096,5.016,7097,7.383,7098,6.238,7099,6.052,7100,5.239]],["title/interfaces/CopyFileDomainObjectProps.html",[159,0.713,7101,5.841]],["body/interfaces/CopyFileDomainObjectProps.html",[3,0.019,4,0.019,5,0.011,7,0.138,26,2.904,30,0.001,31,0.749,32,0.16,33,0.548,34,2.284,47,0.91,95,0.112,99,2.009,101,0.013,103,0.001,104,0.001,112,0.932,125,3.061,159,1.007,161,2.328,185,3.369,1882,3.739,3866,4.929,7083,9.417,7101,10.021,7102,4.652,7103,9.078,7104,9.078]],["title/classes/CopyFileDto.html",[0,0.24,7105,5.327]],["body/classes/CopyFileDto.html",[0,0.31,2,0.956,3,0.017,4,0.017,5,0.008,7,0.126,26,2.752,27,0.51,29,0.69,30,0.001,31,0.726,32,0.162,33,0.568,34,2.113,47,0.801,95,0.129,99,1.843,101,0.012,103,0.001,104,0.001,112,0.883,125,2.693,161,2.135,339,2.637,433,1.109,458,3.597,864,6.48,2183,3.543,3866,6.712,7083,8.709,7101,10.897,7102,6.335,7105,8.664,7106,13.351,7107,7.561,7108,11.297,7109,8.991,7110,8.991,7111,7.3,7112,7.3,7113,7.3,7114,7.3]],["title/classes/CopyFileListResponse.html",[0,0.24,7115,5.471]],["body/classes/CopyFileListResponse.html",[0,0.381,2,0.644,3,0.012,4,0.012,5,0.006,7,0.085,27,0.46,29,0.465,30,0.001,31,0.567,32,0.165,33,0.537,34,1.482,47,0.923,55,2.819,56,6.034,59,2.689,70,6.509,83,1.764,95,0.126,101,0.014,103,0,104,0,110,2.095,112,0.677,125,1.445,190,1.98,201,3.927,202,1.392,205,1.237,231,1.755,296,3.606,298,2.621,339,3.667,433,0.748,436,3.278,458,3.466,862,7.943,863,6.878,864,6.33,866,3.01,868,4.852,869,2.974,870,4.73,871,2.218,872,4.273,873,5.512,874,5.061,875,4.011,876,3.146,877,4.273,878,4.273,880,5.512,881,4.73,886,3.181,1315,4.92,1319,4.773,1444,3.361,2183,3.414,3035,6.283,3182,4.723,3901,2.86,5202,2.907,6621,3.361,6622,2.86,6631,3.855,7083,4.273,7090,6.895,7094,6.222,7099,4.773,7100,4.132,7102,4.111,7111,4.92,7112,4.92,7113,4.92,7114,4.92,7115,6.824,7116,5.734,7117,5.096,7118,10.07,7119,6.06,7120,6.06,7121,5.267,7122,8.384,7123,8.263,7124,5.096,7125,4.92,7126,5.096,7127,3.283,7128,5.096,7129,3.904,7130,5.096,7131,5.096,7132,5.096,7133,4.773,7134,4.92,7135,5.096,7136,5.096,7137,4.132,7138,4.92,7139,4.92,7140,4.44,7141,5.096,7142,5.096,7143,4.92,7144,5.096,7145,4.538]],["title/classes/CopyFileParams.html",[0,0.24,7146,4.813]],["body/classes/CopyFileParams.html",[0,0.471,2,0.691,3,0.012,4,0.017,5,0.008,7,0.091,26,2.562,27,0.359,30,0.001,32,0.155,39,1.799,47,0.977,95,0.146,99,1.333,101,0.018,103,0,104,0,110,2.248,112,0.712,122,1.9,157,1.496,159,0.668,190,1.634,195,1.422,199,5.05,200,1.992,201,4.421,202,1.493,203,6.115,205,1.327,296,3.694,298,2.812,299,4.842,300,4.358,403,3.289,855,5.028,856,6.315,886,3.306,899,2.961,1078,2.85,1080,2.241,1169,3.763,1237,1.917,1290,5.867,1291,4.303,1292,4.303,2992,5.432,3182,4.908,3901,3.069,4557,2.276,5228,6.606,6622,3.069,6803,6.447,7094,6.42,7096,4.244,7097,8.004,7102,4.987,7116,6.956,7146,6.31,7147,4.584,7148,7.41,7149,5.467,7150,6.502,7151,6.021,7152,6.502,7153,4.505,7154,8.223,7155,8.028,7156,8.028,7157,4.584,7158,4.505,7159,4.505,7160,4.584,7161,4.433,7162,6.209,7163,4.366,7164,4.433,7165,4.505,7166,4.433,7167,4.189,7168,4.584,7169,4.584,7170,4.584,7171,4.189,7172,4.189,7173,4.303,7174,4.433,7175,4.584]],["title/classes/CopyFileResponse.html",[0,0.24,7118,5.471]],["body/classes/CopyFileResponse.html",[0,0.393,2,0.693,3,0.012,4,0.012,5,0.006,7,0.092,27,0.449,29,0.5,30,0.001,31,0.673,32,0.155,33,0.484,34,1.95,47,0.97,55,2.557,56,5.382,70,5.805,83,1.899,95,0.13,101,0.015,103,0,104,0,110,2.255,112,0.713,190,1.889,201,4.428,202,1.498,205,1.332,231,1.584,296,3.664,298,2.821,339,3.52,433,0.805,458,3.651,862,6.541,863,5.022,864,6.541,870,3.561,880,5.807,881,4.983,886,3.312,1315,5.295,1319,5.138,1444,3.618,2183,3.596,3032,4.599,3035,6.541,3182,4.917,3901,3.079,5202,3.129,6621,3.618,6622,3.079,6631,4.15,7083,7.423,7090,7.178,7094,6.429,7099,5.138,7100,4.447,7102,5.695,7111,5.295,7112,5.295,7113,5.295,7114,5.295,7115,5.138,7116,7.943,7117,5.485,7118,10.262,7121,5.548,7122,8.62,7123,8.539,7124,5.485,7125,5.295,7126,5.485,7127,3.534,7128,5.485,7129,4.202,7130,5.485,7131,5.485,7132,5.485,7133,5.138,7134,5.295,7135,5.485,7136,5.485,7137,4.447,7138,5.295,7139,5.295,7140,4.779,7141,5.485,7142,5.485,7143,5.295,7144,5.485,7145,4.884,7176,6.523,7177,6.523,7178,6.523,7179,6.523]],["title/classes/CopyFileResponseBuilder.html",[0,0.24,7180,6.432]],["body/classes/CopyFileResponseBuilder.html",[0,0.328,2,1.01,3,0.018,4,0.018,5,0.012,7,0.134,8,1.35,27,0.374,29,0.729,30,0.001,31,0.761,32,0.118,33,0.437,34,2,35,1.101,47,1.01,95,0.108,101,0.012,103,0.001,104,0.001,135,1.241,148,0.941,153,1.566,467,3.687,507,5.149,711,2.822,837,4.691,7083,9.317,7102,5.548,7118,10.881,7180,10.827,7181,11.692,7182,8.336,7183,11.692,7184,9.502]],["title/interfaces/CopyFiles.html",[159,0.713,7185,5.201]],["body/interfaces/CopyFiles.html",[3,0.017,4,0.017,5,0.01,7,0.123,30,0.001,32,0.139,47,1.042,55,2.444,95,0.1,101,0.018,103,0.001,104,0.001,112,0.868,125,2.649,159,1.39,161,2.079,339,3.258,414,5.62,1302,6.768,1304,4.979,1444,4.856,2232,5.322,5202,5.33,6528,4.979,7185,8.319,7186,6.557,7187,6.897,7188,9.843,7189,9.843,7190,5.504,7191,6.557,7192,5.97,7193,5.97,7194,5.97,7195,5.97,7196,6.173,7197,5.44,7198,5.322,7199,5.322,7200,6.416,7201,8.52,7202,8.52,7203,6.557]],["title/classes/CopyFilesOfParentParamBuilder.html",[0,0.24,7204,6.094]],["body/classes/CopyFilesOfParentParamBuilder.html",[0,0.316,2,0.975,3,0.022,4,0.026,5,0.011,7,0.129,8,1.321,26,2.691,27,0.361,29,0.704,30,0.001,31,0.514,32,0.114,33,0.422,35,1.063,39,3.166,95,0.142,99,1.881,101,0.012,103,0.001,104,0.001,135,1.198,148,0.909,161,2.179,193,3.987,467,3.63,507,5.039,2992,5.915,3633,5.788,3866,5.752,5202,5.489,7102,5.429,7204,10.038,7205,11.442,7206,8.497,7207,11.442,7208,11.154,7209,8.497,7210,10.484,7211,8.497]],["title/classes/CopyFilesOfParentParams.html",[0,0.24,7096,4.534]],["body/classes/CopyFilesOfParentParams.html",[0,0.473,2,0.705,3,0.013,4,0.018,5,0.009,7,0.093,26,2.577,27,0.261,30,0.001,32,0.151,39,1.835,47,0.972,95,0.146,99,1.359,101,0.018,103,0,104,0,110,2.292,112,0.722,122,1.926,157,1.526,159,0.681,190,1.19,195,1.45,199,5.12,200,2.031,201,4.459,202,1.523,203,6.199,205,1.354,296,3.703,298,2.868,299,4.872,300,4.396,403,3.354,855,5.06,856,6.37,886,3.341,899,3.019,1078,2.907,1080,2.285,1169,3.838,1237,1.954,1290,5.948,1291,4.388,1292,4.388,2992,5.471,3182,4.96,3901,3.129,4557,2.321,5228,6.676,6622,3.129,6803,6.493,7094,6.475,7096,6.026,7097,8.054,7102,4.381,7116,6.11,7146,4.595,7147,4.675,7148,4.675,7151,6.14,7153,4.595,7154,8.274,7155,8.097,7156,8.097,7157,4.675,7158,4.595,7159,4.595,7160,4.675,7161,4.521,7162,6.295,7163,4.452,7164,4.521,7165,4.595,7166,4.521,7167,4.272,7168,4.675,7169,4.675,7170,4.675,7171,4.272,7172,4.272,7173,4.388,7174,4.521,7175,4.675,7212,6.63]],["title/classes/CopyFilesOfParentPayload.html",[0,0.24,7166,4.736]],["body/classes/CopyFilesOfParentPayload.html",[0,0.47,2,0.678,3,0.012,4,0.021,5,0.008,7,0.09,26,2.616,27,0.41,30,0.001,32,0.158,39,2.878,47,0.966,95,0.145,99,1.307,101,0.018,103,0,104,0,110,2.205,112,0.702,122,1.874,157,1.468,159,0.655,190,1.867,195,1.395,199,4.983,200,1.954,201,4.384,202,1.465,203,6.033,205,1.302,296,3.685,298,2.759,299,4.812,300,4.321,403,3.226,855,5.135,856,6.262,886,3.272,899,2.904,1078,2.796,1080,2.198,1169,3.691,1237,1.88,1290,5.788,1291,4.221,1292,4.221,2992,5.393,3182,4.858,3901,3.01,4557,2.232,5228,6.538,6622,3.01,6803,6.823,7094,6.366,7096,4.163,7097,8.174,7102,5.358,7116,7.473,7146,4.42,7147,4.497,7148,4.497,7153,4.42,7154,8.172,7155,7.961,7156,7.961,7157,4.497,7158,4.42,7159,4.42,7160,4.497,7161,4.348,7162,6.126,7163,4.282,7164,4.348,7165,4.42,7166,6.126,7167,4.109,7168,4.497,7169,4.497,7170,4.497,7171,4.109,7172,4.109,7173,4.221,7174,4.348,7175,4.497,7213,6.378,7214,6.378,7215,6.378]],["title/interfaces/CopyFilesRequestInfo.html",[159,0.713,7210,5.841]],["body/interfaces/CopyFilesRequestInfo.html",[3,0.023,4,0.026,5,0.012,7,0.138,26,2.758,30,0.001,32,0.16,39,3.702,95,0.136,99,2.019,101,0.013,103,0.001,104,0.001,112,0.934,159,1.012,161,2.339,193,5.193,2992,6.062,3866,4.953,7102,4.675,7103,9.123,7208,11.106,7210,10.051,7216,8.643]],["title/injectables/CopyFilesService.html",[589,0.929,7217,5.841]],["body/injectables/CopyFilesService.html",[0,0.206,3,0.011,4,0.019,5,0.008,7,0.084,8,0.989,26,2.258,27,0.431,29,0.89,30,0.001,31,0.697,32,0.159,33,0.504,34,1.984,35,1.161,36,1.814,39,2.773,47,0.423,95,0.142,99,1.222,100,2.08,101,0.011,103,0,104,0,118,4.695,135,1.773,141,3.671,148,1.149,153,0.983,155,1.891,161,1.415,228,1.554,277,0.86,317,2.174,402,3.064,412,2.638,433,1.057,532,4.615,589,1.145,591,1.421,652,2.599,657,1.366,675,3.035,896,3.333,1562,4.695,2992,3.88,3267,8.848,3285,7.149,3296,4.695,3297,4.464,3298,3.663,3299,3.39,3317,8.627,3318,8.426,3325,5.013,3866,6.071,5202,2.86,5285,4.572,5377,8.791,6159,5.447,7083,7.065,7096,3.891,7102,5.504,7105,9.541,7204,5.23,7217,7.2,7218,10.742,7219,5.961,7220,10.02,7221,8.562,7222,7.929,7223,5.961,7224,8.935,7225,5.961,7226,5.961,7227,5.961,7228,8.562,7229,5.961,7230,10.02,7231,11.52,7232,8.562,7233,5.961,7234,5.961,7235,5.23,7236,5.52,7237,8.562,7238,5.961,7239,5.961,7240,5.961,7241,5.961,7242,5.961,7243,7.929,7244,5.961,7245,7.512,7246,5.961,7247,5.961,7248,4.464,7249,5.961,7250,5.961,7251,5.52,7252,5.961,7253,8.562,7254,5.961,7255,5.52,7256,4.695,7257,4.839,7258,5.23,7259,8.562,7260,5.961,7261,5.961]],["title/modules/CopyHelperModule.html",[252,1.835,7262,5.201]],["body/modules/CopyHelperModule.html",[0,0.337,3,0.019,4,0.019,5,0.009,30,0.001,95,0.136,101,0.013,103,0.001,104,0.001,252,3.388,254,3.522,255,3.73,256,3.825,257,3.811,258,3.797,259,4.664,260,4.774,269,4.654,270,3.756,271,3.678,277,1.412,3267,10.641,7062,8.224,7262,10.543,7263,9.78,7264,9.78,7265,9.78,7266,9.056,7267,9.78,7268,9.056,7269,9.78]],["title/injectables/CopyHelperService.html",[589,0.929,3267,5.089]],["body/injectables/CopyHelperService.html",[0,0.237,3,0.013,4,0.013,5,0.006,7,0.097,8,1.093,26,1.418,27,0.427,29,0.831,30,0.001,31,0.726,32,0.135,33,0.498,35,1.255,47,0.936,95,0.133,99,1.41,101,0.009,103,0,104,0,129,2.059,130,1.882,135,1.652,145,2.57,148,1.283,153,1.134,185,2.364,277,0.993,301,6.102,402,4.525,589,1.267,591,1.64,756,3.746,896,3.847,1767,3.786,1849,3.982,2124,3.647,2782,5.913,3267,6.94,3285,8.616,3297,8.11,3321,8.771,3325,5.786,3978,6.371,5234,4.62,6213,4.942,7062,9.812,7256,8.531,7270,11.668,7271,6.88,7272,9.471,7273,9.471,7274,9.471,7275,9.471,7276,6.88,7277,10.831,7278,9.471,7279,9.812,7280,6.88,7281,9.471,7282,6.88,7283,6.371,7284,6.88,7285,9.471,7286,6.88,7287,5.786,7288,6.88,7289,6.88,7290,5.786,7291,6.88,7292,6.88,7293,6.88,7294,6.88,7295,10.831,7296,6.88,7297,5.152,7298,9.471,7299,6.88,7300,9.471,7301,6.88,7302,6.88,7303,6.88,7304,6.88,7305,6.88,7306,6.88,7307,6.88]],["title/classes/CopyMapper.html",[0,0.24,7308,5.639]],["body/classes/CopyMapper.html",[0,0.245,2,0.755,3,0.013,4,0.013,5,0.007,7,0.1,8,1.117,26,2.694,27,0.434,29,0.844,30,0.001,31,0.617,32,0.147,33,0.507,35,1.276,39,3.679,95,0.152,99,1.455,100,4.455,101,0.009,103,0,104,0,135,1.544,148,1.09,153,1.17,155,2.252,326,3.678,402,2.54,467,3.926,478,1.988,830,5.367,2026,4.722,2938,5.204,2940,4.428,3285,8.076,3297,5.316,3317,5.592,5720,4.362,7061,9.313,7062,9.942,7256,7.622,7283,6.574,7308,7.856,7309,7.099,7310,9.677,7311,9.677,7312,9.677,7313,9.942,7314,7.099,7315,10.195,7316,9.677,7317,9.942,7318,7.099,7319,10.195,7320,9.677,7321,7.099,7322,7.099,7323,8.961,7324,7.099,7325,7.099,7326,7.099,7327,7.099,7328,7.099,7329,7.099,7330,9.677,7331,9.677,7332,5.97,7333,7.099,7334,7.099,7335,7.099,7336,9.677,7337,7.099,7338,7.099,7339,7.099,7340,7.099,7341,7.099,7342,8.961,7343,6.574]],["title/modules/CoreModule.html",[252,1.835,7344,4.475]],["body/modules/CoreModule.html",[0,0.284,3,0.016,4,0.016,5,0.008,30,0.001,95,0.148,101,0.011,103,0.001,104,0.001,157,1.895,252,3.433,254,2.966,255,3.141,256,3.221,257,3.209,258,3.198,259,2.995,260,4.413,265,6.561,269,4.178,270,3.163,271,3.097,276,4.178,277,1.189,1080,4.086,1373,4.954,2449,3.442,4206,6.881,4914,8.413,5055,8.413,5269,7.53,7344,9.191,7345,8.235,7346,8.235,7347,8.235,7348,11.199,7349,11.683,7350,11.683,7351,8.235,7352,7.671,7353,8.982,7354,9.891,7355,10.681,7356,7.671,7357,7.998,7358,10.681,7359,7.401,7360,9.37,7361,9.891,7362,10.681,7363,8.982,7364,6.686]],["title/interfaces/CoreModuleConfig.html",[159,0.713,7365,5.841]],["body/interfaces/CoreModuleConfig.html",[3,0.02,4,0.02,5,0.01,30,0.001,95,0.143,101,0.014,103,0.001,104,0.001,159,1.092,161,2.525,231,2.172,252,2.809,311,6.942,393,5.25,2449,4.445,7365,10.521,7366,10.634,7367,11.178,7368,11.178]],["title/classes/County.html",[0,0.24,7369,5.841]],["body/classes/County.html",[0,0.358,2,0.838,3,0.015,4,0.015,5,0.007,7,0.111,27,0.486,29,0.604,30,0.001,31,0.738,32,0.154,33,0.363,47,0.986,55,2.078,83,3.021,95,0.118,96,2.086,101,0.015,103,0.001,104,0.001,112,0.811,159,0.809,195,2.27,196,3.838,197,2.885,205,2.119,223,3.828,224,2.3,225,3.986,226,3.57,229,3.117,231,1.368,232,2.135,233,2.459,430,3.24,431,3.378,433,0.972,460,4.79,461,5.372,462,4.79,463,5.372,1835,4.037,2183,4.089,2698,5.283,4623,5.54,4633,3.536,6696,5.953,6712,5.215,7369,11.581,7370,11.242,7371,6.913,7372,10.179,7373,10.179,7374,9.104,7375,7.88,7376,7.88,7377,7.88,7378,7.88,7379,8.726,7380,9.104,7381,9.104,7382,6.913,7383,6.913,7384,6.913,7385,6.913,7386,6.913,7387,6.913,7388,5.46,7389,6.913,7390,6.913,7391,6.206]],["title/entities/Course.html",[205,1.418,2032,2.64]],["body/entities/Course.html",[0,0.187,2,0.85,3,0.006,4,0.006,5,0.003,7,0.141,26,2.068,27,0.482,30,0.001,31,0.495,32,0.148,33,0.514,34,1.18,39,1.91,47,0.889,62,3.229,83,3.158,95,0.133,96,0.874,101,0.009,103,0,104,0,112,0.424,122,1.131,125,2.786,129,3.497,130,2.967,134,1.166,135,1.668,148,1.265,153,1.992,155,1.047,157,2.032,159,0.339,190,2.198,195,2.643,196,2.92,197,0.918,205,1.107,206,1.076,211,3.828,219,3.032,223,3.552,224,0.963,225,2.083,226,1.495,229,1.305,231,0.573,232,0.894,233,1.03,290,2.244,304,1.629,371,1.749,403,2.743,433,0.407,458,1.32,467,1.579,526,1.775,540,1.159,569,1.688,578,1.725,579,1.567,595,1.246,615,3.296,652,1.632,692,4.167,700,2.616,701,2.616,703,2.481,711,3.317,756,1.305,774,2.775,886,2.171,962,2.327,1237,0.973,1312,2.587,1821,2.631,1829,2.305,1835,2.779,1925,2.006,2032,3.607,2163,1.526,2183,3.149,2924,5.401,2927,6.48,2931,3.828,2939,2.327,2941,2.075,3382,3.587,3433,2.216,3434,2.154,3613,1.928,3720,2.126,3874,3.54,3881,3.056,4018,2.37,4063,2.075,4087,3.589,4088,3.589,4143,2.216,4410,1.946,4557,1.898,4558,5.635,4573,2.775,4607,5.057,4633,2.434,4708,5.688,5427,1.893,5685,2.546,6162,2.075,6163,3.229,6164,2.216,6167,3.45,6186,3.589,6187,2.126,6194,3.54,6207,2.25,6226,3.641,7297,2.471,7356,2.37,7392,2.895,7393,6.735,7394,6.02,7395,6.342,7396,5.367,7397,5.111,7398,4.783,7399,6.342,7400,5.617,7401,5.635,7402,6.47,7403,5.022,7404,4.757,7405,3.3,7406,4.757,7407,3.3,7408,3.3,7409,4.757,7410,3.3,7411,4.757,7412,3.3,7413,7.012,7414,2.775,7415,3.3,7416,4.757,7417,3.3,7418,4.757,7419,3.3,7420,2.895,7421,3.3,7422,2.895,7423,3.3,7424,3.3,7425,6.392,7426,3.3,7427,4.757,7428,3.3,7429,3.3,7430,3.3,7431,2.895,7432,5.169,7433,2.895,7434,2.895,7435,2.895,7436,3.332,7437,3.973,7438,2.679,7439,2.051,7440,1.861,7441,4.403,7442,4.403,7443,2.895,7444,2.679,7445,2.37,7446,2.895,7447,2.895,7448,2.775,7449,2.471,7450,2.895,7451,2.895,7452,2.6,7453,2.895,7454,3.369,7455,10.161,7456,4.957,7457,2.679,7458,3.589,7459,1.965,7460,2.075,7461,2.006,7462,2.679,7463,2.895,7464,2.895,7465,4.757,7466,4.757,7467,4.757,7468,6.489,7469,4.403,7470,4.159,7471,4.757,7472,4.061,7473,4.159,7474,2.471,7475,2.895,7476,2.895,7477,2.895,7478,2.895,7479,2.895,7480,4.757,7481,2.895,7482,2.895,7483,2.895,7484,2.895,7485,2.895,7486,2.895,7487,2.895,7488,5.804,7489,6.055,7490,2.895,7491,2.895,7492,2.895,7493,2.895,7494,2.895,7495,2.418,7496,2.895,7497,2.895,7498,2.895,7499,2.895,7500,2.895,7501,2.895,7502,2.775,7503,2.895,7504,6.055,7505,4.757,7506,2.895,7507,2.895,7508,2.679,7509,2.287,7510,2.895,7511,5.604,7512,2.895,7513,2.895,7514,2.895,7515,2.895]],["title/controllers/CourseController.html",[314,2.658,7516,6.094]],["body/controllers/CourseController.html",[0,0.236,3,0.013,4,0.013,5,0.006,7,0.096,8,1.09,27,0.372,29,0.724,30,0.001,31,0.529,32,0.135,33,0.434,35,1.094,36,2.467,56,4.455,70,4.805,95,0.155,100,2.389,101,0.009,103,0,104,0,135,1.595,141,4.631,148,0.935,153,1.781,190,1.694,195,1.497,202,1.572,228,1.96,274,2.861,277,0.988,298,2.961,314,2.62,316,3.302,317,2.74,325,6.426,349,6.587,365,4.825,388,4.047,392,3.578,395,3.681,398,3.709,433,0.845,579,1.978,634,6.252,651,3.463,652,2.205,657,2.163,863,5.193,871,4.736,883,8.209,1447,5.016,2351,9.476,2392,3.599,2935,5.003,3201,7.051,3221,3.53,4046,4.118,5427,5.414,5701,9.476,7516,8.28,7517,6.845,7518,10.003,7519,6.845,7520,10.215,7521,10.215,7522,9.438,7523,6.845,7524,6.339,7525,7.347,7526,6.845,7527,6.246,7528,5.557,7529,4.118,7530,6.005,7531,6.845,7532,9.083,7533,6.339,7534,6.845,7535,9.083,7536,6.845,7537,5.756,7538,6.845,7539,6.845,7540,6.845,7541,6.845,7542,5.392,7543,6.845,7544,6.845,7545,5.557,7546,6.845,7547,6.845,7548,6.845,7549,6.845,7550,6.845,7551,5.756,7552,6.845]],["title/injectables/CourseCopyService.html",[589,0.929,7553,5.639]],["body/injectables/CourseCopyService.html",[0,0.173,3,0.01,4,0.01,5,0.005,7,0.071,8,0.871,10,2.017,26,1.87,27,0.426,29,0.829,30,0.001,31,0.661,32,0.165,33,0.498,35,1.169,36,2.137,39,2.509,47,0.535,83,1.462,95,0.135,99,1.029,101,0.007,103,0,104,0,125,1.197,135,1.733,145,1.876,148,0.999,153,1.244,155,1.593,158,1.857,172,3.209,195,1.098,228,2.061,268,7.163,277,0.725,279,2.108,290,2.932,317,2.691,326,2.869,402,4.338,433,0.931,478,1.406,589,1.009,591,1.197,652,2.733,657,2.896,703,1.559,896,4.221,1910,6.979,1997,3.955,2026,4.425,2032,5.087,2047,3.607,2050,3.823,2617,3.052,2971,4.077,3251,9.909,3253,3.955,3263,8.823,3267,8.634,3273,3.955,3285,7.414,3293,10.518,3295,4.223,3296,3.955,3297,3.76,3298,3.086,3299,2.855,3310,7.957,3316,4.406,3317,3.955,3318,4.223,3344,3.851,3597,3.607,4708,3.235,5418,4.65,7256,3.955,7279,6.348,7290,7.627,7393,3.372,7394,3.424,7399,3.607,7402,3.679,7553,6.128,7554,11.358,7555,7.627,7556,7.548,7557,7.548,7558,7.548,7559,4.223,7560,9.566,7561,5.022,7562,5.022,7563,7.548,7564,10.086,7565,5.022,7566,7.548,7567,12.634,7568,5.022,7569,11.358,7570,7.548,7571,5.022,7572,5.022,7573,8.778,7574,6.622,7575,4.65,7576,5.022,7577,5.022,7578,5.022,7579,5.022,7580,5.022,7581,4.65,7582,5.022,7583,5.022,7584,5.022,7585,5.022,7586,5.022,7587,7.548,7588,5.022,7589,7.548,7590,5.022,7591,4.223,7592,5.022,7593,5.022,7594,5.022,7595,5.022,7596,5.022,7597,5.022,7598,4.65,7599,5.022,7600,5.022,7601,5.022,7602,7.548,7603,5.022,7604,5.022,7605,5.022,7606,5.022,7607,5.022,7608,5.022]],["title/injectables/CourseCopyUC.html",[589,0.929,7609,5.841]],["body/injectables/CourseCopyUC.html",[0,0.264,3,0.015,4,0.015,5,0.007,7,0.108,8,1.175,26,2.746,27,0.45,29,0.781,30,0.001,31,0.571,32,0.127,33,0.468,35,1.18,36,2.157,39,2.817,95,0.154,99,1.569,101,0.01,102,4.057,103,0,104,0,122,1.597,135,1.494,141,4.365,148,0.758,153,1.262,183,3.896,228,1.847,277,1.105,317,2.482,433,1.256,569,2.382,579,2.212,589,1.361,591,1.825,595,2.889,610,3.016,652,2.591,657,2.333,693,3.485,1268,7.028,1312,3.652,1475,6.399,1780,4.653,1908,9.602,1952,5.397,2026,6.193,2218,3.419,2219,5.118,2220,4.939,2221,6.399,2666,3.538,3285,4.996,3298,4.703,3299,4.352,3940,5.066,4126,5.608,7553,10.813,7555,8.56,7609,8.56,7610,11.289,7611,6.715,7612,10.252,7613,7.654,7614,7.654,7615,7.654,7616,9.427,7617,7.654,7618,6.715,7619,7.654,7620,7.654,7621,6.437,7622,7.088,7623,7.654,7624,6.715,7625,6.715,7626,4.811]],["title/injectables/CourseExportUc.html",[589,0.929,7532,5.841]],["body/injectables/CourseExportUc.html",[0,0.286,3,0.016,4,0.016,5,0.008,7,0.116,8,1.238,26,2.799,27,0.422,29,0.822,30,0.001,31,0.601,32,0.134,33,0.493,35,0.96,36,2.272,39,3.603,95,0.155,99,1.698,101,0.011,103,0.001,104,0.001,135,1.082,148,0.821,183,4.104,228,1.946,277,1.196,317,2.58,433,1.323,589,1.434,591,1.976,595,3.127,652,2.189,657,1.899,693,3.773,1780,5.037,1862,6.348,1908,9.903,1952,5.842,2026,5.233,2666,3.83,4126,6.071,5693,6.741,5696,10.573,5701,9.408,5710,6.485,5711,8.713,5715,9.93,5732,4.84,7532,9.018,7610,11.01,7621,6.968,7627,8.286,7628,8.286,7629,8.286,7630,10.724,7631,8.286,7632,8.286,7633,8.286,7634,8.286,7635,8.286,7636,8.286]],["title/classes/CourseFactory.html",[0,0.24,7637,5.841]],["body/classes/CourseFactory.html",[0,0.154,2,0.473,3,0.008,4,0.008,5,0.004,7,0.063,8,0.795,27,0.524,29,1.013,30,0.001,31,0.718,32,0.167,33,0.582,34,1.441,35,1.388,47,0.488,55,2.566,59,3.182,95,0.117,101,0.006,103,0,104,0,112,0.538,113,4.319,127,4.736,129,3.494,130,3.192,135,1.599,148,1.015,153,1.136,157,2.359,172,2.928,185,2.367,192,2.45,205,2.093,206,2.246,228,1.25,231,1.196,326,4.925,374,2.979,433,0.55,436,3.806,467,2.005,478,1.247,501,7.154,502,5.257,505,3.82,506,5.257,507,5.277,508,3.82,509,3.82,510,3.82,511,3.761,512,4.288,513,4.671,514,6.492,515,5.596,516,6.938,517,2.49,522,2.47,523,3.82,524,2.49,525,4.955,526,5.098,527,4.012,528,4.795,529,3.79,530,2.47,531,2.328,532,4.02,533,2.378,534,2.328,535,2.47,536,2.49,537,4.598,538,2.47,539,7.259,540,4.099,541,6.474,542,2.49,543,4.086,544,2.47,545,2.49,546,2.47,547,2.49,548,2.47,549,2.767,550,2.602,551,2.47,552,5.917,553,2.49,554,2.47,555,3.82,556,3.484,557,3.82,558,2.49,559,2.395,560,2.361,561,1.999,562,2.47,563,2.47,564,2.47,565,2.49,566,2.49,567,1.693,568,2.47,569,1.386,570,2.49,571,2.724,572,2.47,573,2.49,575,2.555,576,2.626,577,5.645,697,3.199,698,3.416,703,1.382,1743,3.199,2032,3.201,4087,6.273,4708,4.438,7393,2.99,7400,4.382,7402,6.945,7441,3.616,7637,7.083,7638,4.454,7639,9.479,7640,6.378,7641,6.888,7642,4.454,7643,4.454,7644,6.378,7645,4.454,7646,4.124,7647,6.888,7648,4.454,7649,4.454,7650,3.508,7651,3.616,7652,7.8,7653,3.199,7654,4.773,7655,5.592,7656,4.124,7657,4.454,7658,4.454,7659,4.454,7660,3.508]],["title/entities/CourseGroup.html",[205,1.418,6163,4.137]],["body/entities/CourseGroup.html",[0,0.234,3,0.013,4,0.013,5,0.006,7,0.177,26,2.392,27,0.457,30,0.001,31,0.65,32,0.161,39,1.878,47,0.822,62,4.042,95,0.152,96,1.797,101,0.012,103,0,104,0,112,0.841,125,2.237,129,2.031,130,1.856,134,2.398,135,0.886,148,0.672,153,1.547,159,0.964,190,2.082,205,1.916,206,2.213,223,3.338,224,1.981,225,3.604,226,3.076,229,2.685,231,1.178,232,1.839,233,2.118,290,2.218,569,2.112,692,5.476,703,3.601,711,2.787,813,3.795,962,4.785,1065,3.331,1080,2.34,1237,2.001,1393,3.893,1821,3.293,2026,4.578,2032,5.138,2183,2.674,2533,3.859,2564,4.266,2924,5.821,2927,5.204,2931,3.764,2937,4.042,2939,4.785,2941,4.266,2953,4.431,3083,4.083,3140,3.061,3344,5.205,3718,4.628,4557,2.376,4633,3.046,5685,4.405,6163,5.588,6167,5.969,6186,6.21,6187,4.373,6188,4.266,6196,4.492,6226,7.221,7064,5.346,7395,4.875,7400,7.381,7436,5.765,7439,4.217,7440,3.827,7456,6.739,7460,4.266,7462,5.51,7511,5.51,7661,6.285,7662,5.955,7663,6.787,7664,6.787,7665,4.628,7666,6.285,7667,6.787,7668,6.787,7669,6.787,7670,7.89,7671,6.285,7672,6.285,7673,4.785,7674,6.285,7675,6.285,7676,6.285,7677,6.285,7678,6.285,7679,6.285]],["title/classes/CourseGroupFactory.html",[0,0.24,7680,6.432]],["body/classes/CourseGroupFactory.html",[0,0.171,2,0.528,3,0.009,4,0.009,5,0.005,7,0.07,8,0.864,27,0.522,29,1.024,30,0.001,31,0.727,32,0.169,33,0.589,34,1.541,35,1.433,47,0.531,55,2.523,59,3.34,95,0.123,101,0.007,103,0,104,0,112,0.585,113,4.507,127,5.011,129,3.616,130,3.304,135,1.176,148,0.741,157,2.073,172,3.182,185,2.572,192,2.732,205,2.197,206,2.441,228,1.358,231,1.299,326,4.863,374,3.238,433,0.613,436,3.895,467,2.179,478,1.39,501,7.293,502,5.562,505,4.151,506,5.562,507,5.445,508,4.151,509,4.151,510,4.151,511,4.087,512,4.586,513,4.996,514,6.546,515,5.875,516,7.081,517,2.777,522,2.754,523,4.151,524,2.777,525,5.243,526,5.394,527,4.245,528,5.074,529,4.118,530,2.754,531,2.596,532,4.196,533,2.651,534,2.596,535,2.754,536,2.777,537,4.918,538,2.754,539,7.192,540,4.242,541,6.701,542,2.777,543,4.371,544,2.754,545,2.777,546,2.754,547,2.777,548,2.754,549,3.085,550,2.901,551,2.754,552,6.175,553,2.777,554,2.754,555,4.151,556,3.787,557,4.151,558,2.777,559,2.671,560,2.632,561,2.228,562,2.754,563,2.754,564,2.754,565,2.777,566,2.777,567,1.887,568,2.754,569,1.546,570,2.777,571,2.96,572,2.754,573,2.777,575,2.848,576,2.928,577,2.957,697,3.567,698,3.808,2032,1.887,6163,4.458,7400,4.762,7637,4.176,7640,6.931,7644,6.931,7646,4.598,7656,4.598,7670,4.176,7680,8.342,7681,4.966,7682,4.966,7683,4.598,7684,4.966,7685,4.598]],["title/interfaces/CourseGroupProperties.html",[159,0.713,7670,5.841]],["body/interfaces/CourseGroupProperties.html",[0,0.245,3,0.013,4,0.013,5,0.007,7,0.179,26,2.438,30,0.001,31,0.693,32,0.163,33,0.445,39,1.964,47,0.877,62,4.228,95,0.154,96,1.88,101,0.013,103,0,104,0,112,0.861,125,1.693,134,2.508,135,0.927,148,0.703,153,1.17,159,0.994,161,1.686,205,1.976,223,3.004,224,2.072,225,3.717,226,3.217,229,2.808,231,1.232,232,1.923,233,2.215,290,2.795,569,2.21,692,5.196,703,3.004,711,2.874,813,3.969,962,5.005,1065,3.484,1080,2.447,1237,2.093,1393,4.072,1821,3.444,2026,3.464,2032,5.273,2183,2.797,2533,4.037,2564,4.462,2924,5.089,2927,3.937,2931,3.937,2937,4.228,2939,5.005,2941,4.462,2953,4.634,3083,4.271,3140,3.201,3344,5.445,3718,4.841,4557,2.485,4633,3.186,5685,4.543,6163,4.228,6167,6.156,6186,6.404,6187,4.574,6188,4.462,6196,4.698,6226,7.392,7064,5.592,7395,5.099,7400,7.871,7436,5.946,7439,4.411,7440,4.003,7456,5.099,7460,4.462,7462,5.764,7511,5.764,7661,6.574,7670,9.258,7671,6.574,7672,6.574,7673,5.005,7674,6.574,7675,6.574,7676,6.574,7677,6.574,7678,6.574,7679,6.574]],["title/injectables/CourseGroupRepo.html",[589,0.929,1909,5.327]],["body/injectables/CourseGroupRepo.html",[0,0.236,3,0.013,4,0.013,5,0.006,7,0.096,8,1.09,10,3.79,12,4.277,13,6.654,18,4.805,26,2.667,27,0.51,29,0.968,30,0.001,31,0.708,32,0.157,33,0.581,34,1.171,35,1.463,36,2.794,39,1.894,40,4.579,42,6.654,47,0.766,49,2.574,95,0.139,96,1.812,97,2.803,98,4.118,99,1.403,101,0.009,103,0,104,0,135,1.411,148,1.153,153,1.128,205,1.398,206,3.077,231,1.638,277,0.988,317,3.014,436,3.458,478,1.917,532,5.074,589,1.262,591,1.632,657,2.668,728,7.489,734,3.961,735,4.319,736,5.365,759,4.076,760,4.161,761,4.118,762,4.161,764,4.118,765,4.161,766,3.709,773,4.916,1909,7.238,2032,3.587,2920,6.739,3966,4.826,6163,6.934,7395,8.362,7400,4.355,7686,6.845,7687,8.74,7688,8.74,7689,6.845,7690,7.238,7691,6.845,7692,6.845,7693,6.845,7694,5.25,7695,6.845,7696,9.438]],["title/injectables/CourseGroupRule.html",[589,0.929,1867,5.639]],["body/injectables/CourseGroupRule.html",[0,0.262,3,0.014,4,0.014,5,0.007,7,0.107,8,1.171,27,0.449,29,0.875,30,0.001,31,0.639,32,0.152,33,0.525,35,1.175,95,0.145,101,0.01,103,0,104,0,122,2.537,135,1.588,148,1.004,183,4.655,205,2.758,228,1.84,277,1.099,290,3.234,400,2.266,433,0.939,478,2.131,589,1.356,591,1.815,652,1.554,653,3.142,711,3.87,1197,5.495,1237,2.243,1775,6.692,1778,7.169,1792,5.274,1801,8.096,1804,8.897,1838,7.394,1867,8.233,1868,9.959,1981,6.533,1985,6.301,1992,5.037,3678,6.712,3679,5.11,3682,6.62,3684,5.11,3685,6.81,6163,8.046,7400,4.842,7697,12.163,7698,7.611,7699,7.611,7700,7.611,7701,7.611,7702,6.677,7703,6.677,7704,6.4,7705,6.677]],["title/injectables/CourseGroupService.html",[589,0.929,7706,6.094]],["body/injectables/CourseGroupService.html",[0,0.289,3,0.016,4,0.016,5,0.008,7,0.118,8,1.248,26,2.807,27,0.471,29,0.917,30,0.001,31,0.67,32,0.149,33,0.55,35,1.253,36,2.677,39,2.991,95,0.144,98,5.047,99,1.72,101,0.011,103,0.001,104,0.001,135,1.412,148,1.07,228,1.523,277,1.211,279,3.521,317,2.904,400,2.498,433,1.035,478,2.349,589,1.446,591,2,657,2.741,711,3.975,1909,9.688,2624,5.305,2920,7.311,6163,4.996,7395,8.59,7706,9.484,7707,8.39,7708,10.81,7709,10.81,7710,7.055,7711,8.39,7712,10.81,7713,8.39,7714,10.81,7715,8.39,7716,10.81,7717,8.39,7718,8.39,7719,8.39]],["title/classes/CourseMapper.html",[0,0.24,7530,6.094]],["body/classes/CourseMapper.html",[0,0.332,2,1.025,3,0.018,4,0.018,5,0.009,7,0.136,8,1.362,27,0.38,29,0.739,30,0.001,31,0.54,32,0.12,33,0.443,35,1.117,95,0.135,100,4.116,101,0.013,103,0.001,104,0.001,135,1.54,148,0.954,153,1.589,467,3.71,478,2.699,837,4.758,2032,5.177,7530,10.347,7720,9.639,7721,11.795,7722,11.795,7723,9.639,7724,11.167,7725,9.639,7726,9.639,7727,9.639,7728,9.639,7729,9.639,7730,9.639,7731,9.639,7732,9.639,7733,9.639]],["title/classes/CourseMetadataListResponse.html",[0,0.24,7537,5.841]],["body/classes/CourseMetadataListResponse.html",[0,0.315,2,0.694,3,0.012,4,0.012,5,0.006,7,0.092,26,1.884,27,0.473,29,0.501,30,0.001,31,0.366,32,0.165,33,0.553,34,1.952,47,0.906,55,2.795,56,5.873,59,2.836,70,6.335,83,3.794,95,0.12,99,1.339,101,0.012,103,0,104,0,112,0.714,125,1.558,155,3.809,157,2.94,190,2.048,201,4.431,202,1.5,223,2.028,231,1.586,296,3.25,298,2.826,304,3.225,339,3.522,433,1.127,436,3.389,458,2.614,567,2.483,862,7.937,863,6.847,864,5.241,866,3.245,868,5.055,869,3.206,870,3.567,871,2.392,872,4.606,873,5.813,874,5.338,875,4.324,876,5.471,877,4.606,878,4.606,880,4.156,881,3.567,1568,4.527,2032,4.005,2048,4.637,2327,4.107,3037,3.134,3178,3.488,3179,3.488,4063,6.623,7393,4.387,7394,7.185,7399,7.568,7402,7.721,7468,5.304,7470,5.011,7472,4.892,7509,7.302,7537,7.684,7724,10.742,7734,8.461,7735,5.494,7736,6.533,7737,6.533,7738,5.304,7739,5.146,7740,7.908,7741,5.146,7742,6.05,7743,5.146,7744,5.146,7745,4.265,7746,4.606,7747,5.304]],["title/classes/CourseMetadataResponse.html",[0,0.24,7724,5.841]],["body/classes/CourseMetadataResponse.html",[0,0.296,2,0.635,3,0.011,4,0.011,5,0.006,7,0.084,26,2.26,27,0.502,29,0.458,30,0.001,31,0.335,32,0.162,33,0.573,34,2.178,47,0.987,55,2.008,56,4.046,59,3.113,70,4.364,83,4.09,95,0.114,99,1.224,101,0.011,103,0,104,0,112,0.67,155,4.225,157,2.864,190,2.234,201,4.255,202,1.371,223,2.661,231,1.036,296,3.156,298,2.582,304,4.232,339,2.514,433,1.058,458,2.388,567,3.258,862,5.326,863,3.285,864,3.424,868,5.258,876,5.69,880,3.798,881,3.259,1361,5.753,1568,5.94,2032,4.592,2048,5.174,2327,5.388,2434,4.07,3037,2.864,3178,4.576,3179,4.576,4063,7.823,7393,5.756,7394,8.486,7399,8.939,7402,9.119,7468,4.847,7470,4.579,7472,4.47,7509,8.625,7537,5.02,7724,9.76,7734,12.008,7735,5.02,7738,4.847,7739,4.702,7740,8.824,7741,6.752,7742,7.938,7743,6.752,7744,6.752,7745,5.595,7746,6.043,7747,6.959,7748,5.97,7749,5.97,7750,5.97,7751,5.97,7752,5.97,7753,5.97,7754,5.97,7755,5.97]],["title/entities/CourseNews.html",[205,1.418,7756,5.201]],["body/entities/CourseNews.html",[0,0.354,3,0.01,4,0.018,5,0.005,7,0.162,9,3.598,26,2.115,27,0.205,30,0.001,31,0.434,32,0.128,34,0.889,47,0.887,83,2.255,95,0.14,96,2.451,101,0.014,103,0,104,0,112,0.858,134,1.836,148,0.515,153,1.526,155,2.936,159,0.534,190,0.933,195,2.607,196,3.942,205,2.24,206,1.695,223,3.699,224,1.517,225,2.975,226,2.355,231,1.781,232,2.78,233,1.622,290,2.594,409,5.89,412,4.096,435,1.765,457,5.134,467,1.513,512,4.713,571,3.662,613,4.524,692,5.43,693,2.367,703,3.406,704,3.943,886,2.436,1086,4.417,1087,4.743,1088,4.346,1089,4.626,1090,5.054,1373,4.659,1821,3.758,1826,2.663,1842,3.527,1920,3.44,1938,2.795,2032,3.518,2392,3.531,2701,5.22,2905,3.892,2924,4.279,2937,3.095,2992,5.933,3037,2.493,3718,3.544,3720,3.348,3721,3.664,3723,3.733,3724,3.664,3725,3.892,3739,3.065,3875,3.544,3900,3.348,4557,1.819,4649,3.986,4650,3.601,4791,3.808,5269,3.664,5685,4.346,5773,3.808,6188,4.868,6436,6.783,6621,2.882,6624,4.979,7439,3.229,7440,2.93,7461,3.159,7756,5.8,7757,4.219,7758,5.197,7759,6.932,7760,6.043,7761,4.219,7762,4.759,7763,4.219,7764,9.062,7765,5.201,7766,5.8,7767,5.8,7768,6.921,7769,7.794,7770,4.219,7771,5.563,7772,4.219,7773,3.986,7774,3.986,7775,5.056,7776,4.219,7777,3.986,7778,3.986,7779,4.219,7780,3.892,7781,4.219,7782,3.126,7783,3.229,7784,3.986,7785,4.219,7786,4.219,7787,7.292,7788,4.219,7789,7.516,7790,4.219,7791,4.219,7792,5.94,7793,3.986,7794,6.527,7795,4.094,7796,5.126,7797,3.808,7798,3.986,7799,4.219]],["title/interfaces/CourseProperties.html",[159,0.713,7441,5.639]],["body/interfaces/CourseProperties.html",[0,0.2,2,0.98,3,0.007,4,0.007,5,0.003,7,0.146,26,2.142,30,0.001,31,0.553,32,0.159,33,0.616,34,1.25,39,2.022,47,0.92,62,2.136,83,3.483,95,0.137,96,0.95,101,0.01,103,0,104,0,112,0.454,122,1.21,125,2.353,129,2.187,134,1.267,135,1.695,148,1.285,153,1.783,155,1.137,157,2.271,159,0.368,161,0.851,195,2.366,196,3.05,197,0.997,205,1.185,219,3.245,223,3.358,224,1.047,225,2.229,226,1.625,229,1.418,231,0.622,232,0.972,233,1.119,290,2.829,304,1.771,371,1.901,403,2.936,433,0.443,458,1.435,467,1.689,526,1.929,540,1.259,569,1.806,578,1.875,579,1.677,595,1.353,615,3.527,652,1.715,692,4.658,700,2.799,701,2.799,703,2.863,711,3.409,756,1.418,774,3.016,886,2.299,962,2.529,1237,1.057,1312,2.769,1821,2.815,1829,2.467,1835,1.838,1925,2.18,2032,3.192,2163,1.658,2183,3.309,2924,4.562,2927,5.474,2931,4.053,2939,2.529,2941,2.254,3382,3.769,3433,2.408,3434,2.341,3613,2.095,3720,2.31,3874,3.788,4018,2.576,4063,2.254,4087,3.84,4088,3.84,4143,2.408,4410,2.115,4557,1.255,4558,5.153,4573,3.016,4607,6.758,4633,2.604,4708,6.358,5427,2.057,5685,2.724,6162,2.254,6163,3.456,6164,2.408,6167,3.692,6186,3.84,6187,2.31,6194,2.341,6207,2.445,6226,3.897,7297,2.686,7356,2.576,7392,3.146,7393,7.263,7394,6.729,7395,5.249,7396,6.193,7397,5.712,7398,2.485,7399,7.088,7400,6.279,7401,6.503,7402,7.231,7404,3.146,7406,3.146,7409,3.146,7411,3.146,7413,8.091,7416,3.146,7418,3.146,7427,3.146,7431,3.146,7432,6.906,7433,3.146,7434,3.146,7435,3.146,7436,3.566,7437,4.252,7438,2.912,7439,2.228,7440,2.022,7441,5.933,7442,4.711,7443,3.146,7444,2.912,7445,2.576,7446,3.146,7447,3.146,7448,3.016,7449,2.686,7450,3.146,7451,3.146,7452,2.825,7453,3.146,7454,3.606,7455,10.377,7456,5.249,7457,2.912,7458,3.84,7459,2.136,7460,2.254,7461,2.18,7462,2.912,7463,3.146,7464,3.146,7465,5.091,7466,5.091,7467,5.091,7468,6.818,7469,4.711,7470,4.45,7471,5.091,7472,4.345,7473,4.45,7474,2.686,7475,3.146,7476,3.146,7477,3.146,7478,3.146,7479,3.146,7480,5.091,7481,3.146,7482,3.146,7483,3.146,7484,3.146,7485,3.146,7486,3.146,7487,3.146,7488,6.146,7489,6.412,7490,3.146,7491,3.146,7492,3.146,7493,3.146,7494,3.146,7495,2.628,7496,3.146,7497,3.146,7498,3.146,7499,3.146,7500,3.146,7501,3.146,7502,3.016,7503,3.146,7504,6.412,7505,5.091,7506,3.146,7507,3.146,7508,2.912,7509,2.485,7510,3.146,7511,5.933,7512,3.146,7513,3.146,7514,3.146,7515,3.146]],["title/classes/CourseQueryParams.html",[0,0.24,7521,6.094]],["body/classes/CourseQueryParams.html",[0,0.407,2,1.025,3,0.018,4,0.018,5,0.009,7,0.136,27,0.38,30,0.001,32,0.12,95,0.146,101,0.017,103,0.001,104,0.001,112,0.922,157,2.218,190,1.73,194,4.613,195,2.58,196,3.901,197,3.279,200,2.953,202,2.214,296,3.081,299,4.596,301,6.21,886,3.71,1456,8.832,5693,6.059,5710,7.026,5711,9.44,5732,5.631,7521,10.347,7800,9.639,7801,9.639,7802,9.639,7803,9.639]],["title/injectables/CourseRepo.html",[589,0.929,1910,4.268]],["body/injectables/CourseRepo.html",[0,0.228,3,0.008,4,0.008,5,0.004,7,0.06,8,0.765,10,2.661,12,3.003,18,3.374,26,2.816,27,0.475,29,0.905,30,0.001,31,0.662,32,0.158,33,0.543,34,1.133,35,1.368,36,2.717,39,3.649,40,3.215,56,3.128,58,4.326,59,3.109,83,1.234,95,0.127,96,1.122,98,2.549,99,0.869,101,0.006,103,0,104,0,122,1.382,129,1.268,130,1.159,135,1.767,148,1.238,153,1.651,172,3.923,195,1.45,197,1.178,205,0.865,206,2.161,224,1.237,231,1.416,277,0.612,317,2.95,436,2.741,478,1.186,532,4.564,540,4.031,589,0.886,591,1.01,595,1.599,657,2.433,728,6.422,734,2.781,735,3.032,736,4.053,759,2.523,760,2.576,761,2.549,762,2.576,764,2.549,765,2.576,766,2.296,788,4.518,1910,4.072,1923,4.45,2026,3.233,2032,4.588,2231,5.247,2487,3.946,2920,6.145,3090,2.988,3966,2.988,3971,3.717,4088,6.107,4708,5.945,4779,6.427,4785,3.44,5104,6.292,5232,7.486,5427,6.09,6244,4.544,6918,6.724,7395,3.043,7400,4.216,7401,5.753,7402,4.855,7525,3.986,7694,3.25,7804,3.924,7805,6.626,7806,7.159,7807,6.626,7808,6.136,7809,6.136,7810,4.237,7811,6.817,7812,4.237,7813,4.237,7814,4.237,7815,6.136,7816,4.237,7817,4.237,7818,6.136,7819,4.237,7820,4.237,7821,6.11,7822,10.59,7823,3.924,7824,6.136,7825,7.76,7826,3.924,7827,3.924,7828,3.924,7829,6.136,7830,6.136,7831,3.44,7832,3.924,7833,3.924,7834,3.924,7835,5.813,7836,6.136,7837,6.136,7838,6.136,7839,8.096,7840,4.855,7841,4.855,7842,7.557,7843,6.506,7844,3.924,7845,3.717,7846,3.924,7847,3.924,7848,3.924]],["title/injectables/CourseRule.html",[589,0.929,1868,5.201]],["body/injectables/CourseRule.html",[0,0.272,3,0.015,4,0.015,5,0.007,7,0.111,8,1.198,27,0.457,29,0.89,30,0.001,31,0.65,32,0.154,33,0.534,35,1.202,95,0.141,101,0.01,103,0.001,104,0.001,122,2.572,135,1.515,148,1.028,183,4.72,205,2.779,228,1.43,277,1.137,290,3.287,400,2.346,433,0.972,478,2.206,589,1.388,591,1.879,653,3.253,711,3.908,1197,6.287,1237,2.323,1775,6.785,1778,6.523,1793,5.215,1801,8.175,1838,7.496,1868,7.771,1981,6.685,1985,6.448,1992,5.215,2032,5.174,3678,6.868,3679,5.291,3682,6.774,3684,5.291,3685,6.968,4708,6.685,7400,5.013,7401,7.316,7849,7.88,7850,7.88,7851,7.88,7852,7.88,7853,7.88]],["title/classes/CourseScope.html",[0,0.24,7822,6.094]],["body/classes/CourseScope.html",[0,0.242,2,0.484,3,0.009,4,0.009,5,0.004,7,0.064,8,0.809,26,2.789,27,0.485,29,0.839,30,0.001,31,0.613,32,0.15,33,0.503,34,0.779,35,1.32,36,2.317,39,3.637,40,2.21,56,3.308,58,4.575,83,1.326,95,0.13,96,1.206,98,2.74,99,0.934,101,0.006,103,0,104,0,112,0.548,122,2.16,129,1.363,130,1.246,135,1.786,148,1.259,153,1.707,195,0.996,197,1.266,224,1.329,231,1.483,277,0.657,317,2.373,365,2.034,436,3.076,478,1.275,540,3.368,569,1.418,589,0.937,595,1.719,652,2.233,657,2.506,728,4.056,736,2.262,788,4.778,1910,2.799,1923,4.706,2026,3.42,2032,4.329,2231,5.454,2487,6.167,2920,6.33,3090,3.211,3966,3.211,3971,3.996,4088,6.348,4708,6.179,4779,3.587,5104,4.778,5232,4.941,5427,6.273,6244,5.332,6891,4.706,6892,4.706,6893,4.706,6898,4.706,6899,4.706,6900,3.105,6901,3.058,6902,3.105,6903,3.105,6912,3.058,6913,4.706,6914,3.105,6915,3.058,6916,3.105,6917,3.058,6918,6.953,7395,3.271,7400,4.459,7401,6.023,7402,5.135,7525,4.216,7694,3.493,7804,4.218,7806,3.996,7809,4.218,7811,5.249,7815,4.218,7818,4.218,7821,6.396,7822,11.631,7823,6.49,7824,6.49,7825,8.066,7826,6.49,7827,6.49,7828,8.882,7829,6.49,7830,6.49,7831,3.698,7832,6.49,7833,4.218,7834,4.218,7835,6.148,7836,6.49,7837,6.49,7838,6.49,7839,8.415,7840,5.135,7841,5.135,7842,7.91,7843,6.763,7844,4.218,7845,3.996,7846,4.218,7847,4.218,7848,4.218,7854,7.008,7855,7.008,7856,7.008,7857,7.008,7858,4.555,7859,4.555,7860,4.555,7861,4.555,7862,4.555]],["title/injectables/CourseService.html",[589,0.929,2017,4.597]],["body/injectables/CourseService.html",[0,0.258,3,0.014,4,0.014,5,0.007,7,0.105,8,1.158,12,4.544,26,2.902,27,0.496,29,0.966,30,0.001,31,0.706,32,0.157,33,0.58,35,1.4,36,2.852,39,3.129,95,0.138,98,4.501,99,1.534,101,0.01,103,0,104,0,135,1.477,148,1.196,228,1.358,277,1.08,279,3.141,317,3.036,400,2.228,433,0.923,478,2.095,589,1.341,591,1.784,657,2.769,711,3.851,1910,7.423,2017,6.636,2026,3.651,2032,3.811,2624,4.921,2920,6.992,4779,7.898,4785,8.141,5427,7.226,7710,6.293,7863,7.483,7864,10.027,7865,10.027,7866,7.483,7867,10.027,7868,7.483,7869,7.483,7870,10.027,7871,7.483,7872,10.027,7873,7.483,7874,7.483,7875,11.309,7876,7.483,7877,7.483,7878,7.483]],["title/injectables/CourseUc.html",[589,0.929,7535,5.841]],["body/injectables/CourseUc.html",[0,0.306,3,0.017,4,0.017,5,0.008,7,0.125,8,1.293,26,2.659,27,0.441,29,0.859,30,0.001,31,0.628,32,0.14,33,0.515,35,1.028,36,2.374,39,2.455,59,2.754,95,0.155,98,5.337,99,1.818,101,0.012,103,0.001,104,0.001,148,0.879,228,1.61,277,1.281,279,3.724,298,3.838,400,2.642,431,3.804,433,1.095,478,2.484,540,4.528,589,1.498,591,2.115,595,3.348,770,5.577,883,9.092,1910,8.344,2032,3.372,2231,5.045,7525,5.337,7535,9.42,7559,7.461,7581,8.216,7879,8.872,7880,11.202,7881,8.872,7882,11.202,7883,8.872,7884,6.804]],["title/injectables/CourseUrlHandler.html",[589,0.929,7885,5.841]],["body/injectables/CourseUrlHandler.html",[0,0.24,3,0.013,4,0.013,5,0.006,7,0.098,8,1.101,9,3.23,27,0.5,29,0.942,30,0.001,31,0.688,32,0.165,33,0.565,34,1.631,35,1.358,36,2.021,47,0.963,95,0.14,101,0.009,103,0,104,0,105,10.234,106,7.312,107,7.108,108,8.841,110,4.575,111,5.476,112,0.746,113,3.801,114,8.841,115,7.513,116,7.744,117,7.513,118,7.513,120,5.476,122,1.45,123,5.644,125,2.596,126,5.476,127,5.856,129,2.855,130,2.609,131,5.966,134,2.456,135,1.422,148,0.945,228,1.262,231,1.656,233,2.169,277,1.003,317,2.363,400,2.07,433,0.858,436,3.481,589,1.276,591,1.658,657,1.593,1237,2.049,2016,6.099,2017,8.396,2028,5.206,2032,4.139,2047,4.993,4143,6.405,4146,7.513,4148,5.846,4149,5.846,4150,5.846,4153,7.316,4154,5.644,4155,7.316,4156,5.846,4157,5.644,4159,4.668,7885,8.021,7886,10.89,7887,6.099,7888,6.099,7889,9.539,7890,8.369,7891,8.369,7892,6.099,7893,6.952]],["title/classes/CourseUrlParams.html",[0,0.24,7520,6.094]],["body/classes/CourseUrlParams.html",[0,0.415,2,1.06,3,0.019,4,0.019,5,0.009,7,0.14,27,0.393,30,0.001,32,0.124,34,2.06,47,0.854,95,0.137,101,0.013,103,0.001,104,0.001,112,0.941,157,2.295,190,1.79,194,4.71,195,2.634,196,3.983,197,3.348,200,3.055,202,2.291,296,3.146,855,4.874,2026,6.312,2032,4.577,4166,6.063,7520,10.565,7894,9.974,7895,9.974]],["title/classes/CreateCardBodyParams.html",[0,0.24,5597,6.094]],["body/classes/CreateCardBodyParams.html",[0,0.406,2,1.022,3,0.018,4,0.018,5,0.009,7,0.135,27,0.379,30,0.001,32,0.12,33,0.542,95,0.145,101,0.013,103,0.001,104,0.001,112,0.921,190,1.726,194,3.761,195,2.785,197,3.274,200,2.946,201,4.573,202,2.208,300,4.508,886,3.705,899,4.378,1853,3.144,2543,6.334,4453,10.706,4454,7.068,5597,10.332,6273,6.817,7896,11.777,7897,8.904,7898,7.688,7899,9.616,7900,9.616]],["title/classes/CreateContentElementBodyParams.html",[0,0.24,4015,5.841]],["body/classes/CreateContentElementBodyParams.html",[0,0.376,2,0.905,3,0.016,4,0.016,5,0.008,7,0.12,27,0.43,30,0.001,32,0.174,33,0.502,55,2.544,95,0.138,101,0.011,103,0.001,104,0.001,112,0.853,129,3.266,157,2.511,190,1.958,194,4.968,195,2.387,196,4.201,197,3.735,200,2.608,201,4.237,202,1.955,296,2.851,300,4.177,886,3.433,899,3.877,1083,6.153,1853,2.784,2048,5.161,2392,4.593,3057,6.781,3182,5.097,3760,5.9,3765,6.115,4015,9.177,4403,9.237,4454,7.093,6274,8.596,7898,5.558,7901,12.044,7902,7.16,7903,8.514,7904,10.106,7905,9.574,7906,8.514,7907,8.514,7908,8.514]],["title/interfaces/CreateJwtParams.html",[159,0.713,7909,6.094]],["body/interfaces/CreateJwtParams.html",[0,0.255,3,0.014,4,0.014,5,0.007,7,0.104,30,0.001,32,0.167,33,0.643,47,1.028,85,8.679,95,0.114,101,0.01,103,0,104,0,112,0.778,135,1.571,148,0.986,159,0.76,161,1.757,403,5.035,467,2.897,711,2.956,1546,5.829,1548,5.541,1573,6.223,1585,4.498,1589,5.676,1593,4.547,1718,7.292,1730,7.453,7072,9.013,7909,9.866,7910,6.853,7911,9.885,7912,10.553,7913,9.885,7914,11.968,7915,10.868,7916,9.216,7917,6.853,7918,6.853,7919,6.853,7920,6.853,7921,8.732,7922,6.853,7923,9.216,7924,9.216,7925,6.853,7926,6.492,7927,6.492,7928,6.853,7929,9.216,7930,6.853,7931,6.853,7932,6.853,7933,6.853,7934,6.853,7935,5.829,7936,8.369,7937,5.829,7938,6.492,7939,6.853,7940,6.853,7941,6.853,7942,6.853]],["title/interfaces/CreateJwtPayload.html",[159,0.713,1699,5.471]],["body/interfaces/CreateJwtPayload.html",[3,0.016,4,0.016,5,0.008,7,0.117,30,0.001,32,0.169,33,0.579,39,3.608,47,1.032,48,6.18,55,2.153,85,8.456,101,0.014,103,0.001,104,0.001,112,0.841,122,2.786,159,1.104,161,1.975,180,3.552,231,1.444,290,1.967,413,5.058,561,3.734,812,5.431,1589,6.381,1593,5.112,1699,9.383,1719,6.096,1730,6.23,1829,4.571,1925,5.058,2542,9.193,3400,6.452,4557,4.408,4921,5.507,5761,5.431,7072,5.976,7911,6.554,7913,6.554,7935,6.554,7937,6.554,7943,7.705,7944,7.705,7945,10.589,7946,7.3,7947,7.705,7948,7.3,7949,7.3]],["title/interfaces/CreateNews.html",[159,0.713,7950,5.639]],["body/interfaces/CreateNews.html",[3,0.015,4,0.015,5,0.007,7,0.113,26,2.418,30,0.001,32,0.175,33,0.54,34,1.377,47,0.938,83,3.414,95,0.142,101,0.017,103,0.001,104,0.001,112,0.823,122,1.68,127,4.024,155,3.944,157,1.853,159,1.36,161,1.912,172,4.475,205,1.644,692,4.968,703,2.5,886,2.534,2032,4.457,2392,4.743,2478,5.062,2992,5.847,3933,7.065,4986,5.062,5427,4.62,7095,5.257,7759,6.031,7760,7.655,7762,6.468,7765,8.351,7768,6.332,7769,7.805,7950,8.546,7951,7.458,7952,9.748,7953,7.458,7954,7.458,7955,7.458,7956,5.408,7957,8.423,7958,6.772,7959,6.538,7960,6.538]],["title/classes/CreateNewsParams.html",[0,0.24,7961,5.639]],["body/classes/CreateNewsParams.html",[0,0.334,2,0.756,3,0.014,4,0.014,5,0.007,7,0.1,27,0.488,30,0.001,32,0.154,33,0.446,34,1.657,47,0.943,83,2.821,95,0.135,99,1.458,100,3.381,101,0.009,103,0,104,0,112,0.757,155,3.926,157,3.062,190,2.222,200,2.179,201,3.762,202,1.633,205,2.785,296,3.234,298,3.076,299,4.294,300,3.708,304,3.511,403,3.598,854,6.09,855,3.921,886,2.237,890,6.714,899,3.238,1083,5.462,1373,4.278,1626,3.944,1749,5.509,1829,3.023,1923,6.506,2357,4.044,2392,4.721,2992,5.361,3026,6.412,3178,5.173,3179,5.173,3553,3.693,4873,7.623,5066,5.454,7065,6.506,7760,7.193,7765,7.399,7768,6.629,7769,8.133,7957,7.914,7961,7.866,7962,12.774,7963,6.239,7964,7.631,7965,7.112,7966,7.112,7967,5.981,7968,5.66,7969,8.147,7970,7.631,7971,7.112,7972,6.586,7973,7.112,7974,7.112,7975,7.099,7976,7.112,7977,5.774,7978,7.112,7979,6.606,7980,6.586,7981,6.586]],["title/classes/CreateSubmissionItemBodyParams.html",[0,0.24,7982,6.094]],["body/classes/CreateSubmissionItemBodyParams.html",[0,0.41,2,1.04,3,0.019,4,0.019,5,0.009,7,0.137,27,0.385,30,0.001,32,0.122,95,0.136,101,0.013,103,0.001,104,0.001,112,0.93,122,2.784,157,2.251,190,1.755,194,4.654,195,2.603,199,6.599,200,2.996,202,2.246,296,3.108,3140,6.018,3559,8.405,7982,10.439,7983,9.373,7984,11.899,7985,9.056,7986,8.58,7987,10.439,7988,9.373,7989,9.056]],["title/classes/CurrentUserMapper.html",[0,0.24,7990,5.201]],["body/classes/CurrentUserMapper.html",[0,0.226,2,0.697,3,0.012,4,0.012,5,0.006,7,0.092,8,1.057,27,0.45,29,0.876,30,0.001,31,0.641,32,0.142,33,0.526,34,1.121,35,1.324,39,3.162,47,0.99,48,6.588,59,3.277,85,8.585,95,0.142,101,0.009,103,0,104,0,122,2.202,148,1.132,153,1.081,159,0.673,195,1.434,290,3.174,325,6.478,331,4.052,338,4.027,349,3.337,393,3.236,467,3.985,478,1.835,578,5.518,579,1.894,1699,8.314,1719,8.81,1722,5.512,1723,3.727,1853,2.143,2542,4.621,3400,5.855,4046,3.943,4557,4,5435,5.321,6885,4.708,7945,10.752,7990,6.858,7991,12.024,7992,5.512,7993,9.158,7994,9.158,7995,10.556,7996,9.158,7997,9.158,7998,6.555,7999,9.158,8000,6.555,8001,6.555,8002,6.192,8003,9.61,8004,6.555,8005,8.314,8006,9.158,8007,6.555,8008,6.244,8009,5.321,8010,6.555,8011,5.321,8012,6.555,8013,6.555,8014,5.75,8015,6.555,8016,5.027,8017,6.555,8018,6.555,8019,6.555,8020,6.555,8021,6.555,8022,6.555,8023,6.555,8024,6.555,8025,6.555,8026,6.07,8027,6.555,8028,6.555]],["title/interfaces/CustomLtiProperty.html",[159,0.713,8029,6.094]],["body/interfaces/CustomLtiProperty.html",[0,0.193,3,0.011,4,0.011,5,0.005,7,0.079,26,1.684,30,0.001,31,0.541,32,0.12,47,0.978,49,3.073,95,0.121,96,2.163,97,2.288,99,1.145,101,0.015,103,0,104,0,110,1.932,112,0.639,122,2.358,125,1.948,129,3.384,130,2.906,148,0.553,153,0.921,159,0.574,161,1.327,195,2.982,196,4.627,197,3.789,205,1.668,219,4.568,223,4.359,224,1.631,225,3.138,226,2.532,228,1.014,229,2.21,231,0.97,232,1.514,233,1.744,376,5.987,540,1.962,702,2.759,711,2.427,874,4.773,886,3.557,1454,3.433,1582,6.937,1598,3.295,1835,2.863,2124,5.993,2183,2.202,2455,3.328,2924,2.583,3400,2.863,4633,2.508,5311,4.536,7127,3.028,7444,4.536,7457,4.536,8029,8.473,8030,5.174,8031,6.871,8032,7.841,8033,7.566,8034,7.566,8035,5.174,8036,5.174,8037,7.566,8038,5.174,8039,5.174,8040,6.392,8041,7.566,8042,7.566,8043,5.174,8044,4.184,8045,4.401,8046,3.647,8047,4.401,8048,3.647,8049,6.871,8050,3.647,8051,4.401,8052,4.401,8053,4.184,8054,5.174,8055,5.174,8056,4.401,8057,5.174,8058,4.013,8059,4.401,8060,3.6,8061,3.361,8062,4.184,8063,3.397,8064,3.512,8065,4.094,8066,4.536,8067,4.401,8068,4.699,8069,4.699,8070,5.174,8071,4.285,8072,4.536,8073,4.699,8074,5.174,8075,4.285,8076,4.536,8077,4.401,8078,4.536,8079,4.285,8080,4.536,8081,4.699,8082,5.174,8083,4.699,8084,5.174,8085,4.699,8086,5.174,8087,5.174,8088,5.174,8089,5.174,8090,4.699,8091,5.174,8092,4.699,8093,5.174,8094,4.285,8095,4.536,8096,3.94,8097,4.184,8098,4.699,8099,5.174,8100,4.184,8101,4.536]],["title/classes/CustomLtiPropertyDO.html",[0,0.24,8102,5.841]],["body/classes/CustomLtiPropertyDO.html",[0,0.345,2,0.794,3,0.014,4,0.014,5,0.007,7,0.105,26,2.065,27,0.445,29,0.573,30,0.001,31,0.561,32,0.141,33,0.344,47,1.026,95,0.129,99,1.531,101,0.013,103,0,104,0,110,2.582,112,0.783,122,2.626,130,3.62,231,1.296,433,0.922,1598,4.405,1852,5.906,2124,6.869,2183,2.943,3400,3.827,4753,6.553,7127,4.047,8032,8.131,8040,6.628,8045,5.883,8046,4.876,8047,5.883,8048,4.876,8050,4.876,8051,5.883,8052,5.883,8053,5.593,8056,5.883,8058,5.364,8059,5.883,8060,4.812,8061,4.493,8062,5.593,8063,4.54,8065,7.338,8067,5.883,8069,6.281,8071,5.728,8073,6.281,8075,5.728,8077,5.883,8079,5.728,8081,6.281,8083,6.281,8085,6.281,8090,6.281,8092,6.281,8094,5.728,8096,5.266,8098,6.281,8100,5.593,8102,9.501,8103,6.917,8104,9.274,8105,10.015,8106,7.469,8107,6.553,8108,5.728,8109,5.593,8110,7.061,8111,5.883,8112,5.883,8113,6.917,8114,6.917,8115,6.917,8116,6.917,8117,6.917,8118,6.917,8119,6.917,8120,6.553,8121,6.917,8122,6.917,8123,6.917,8124,6.917,8125,6.917,8126,6.917,8127,6.917,8128,6.917,8129,6.917,8130,6.917,8131,6.917,8132,6.917]],["title/classes/CustomParameter.html",[0,0.24,2751,4.534]],["body/classes/CustomParameter.html",[0,0.263,2,0.811,3,0.014,4,0.014,5,0.007,7,0.107,27,0.549,29,0.585,30,0.001,31,0.682,32,0.177,33,0.63,47,0.995,95,0.087,101,0.01,103,0,104,0,112,0.794,122,2.118,129,3.417,157,2.627,232,2.751,300,4.369,433,0.941,435,2.589,886,2.399,2033,8.199,2108,3.328,2183,3.005,2751,8.275,2756,8.049,4633,3.422,4695,4.635,5191,7.263,6116,7.911,6159,7.263,6244,4.675,6642,5.85,6662,4.912,6663,5.284,7458,5.046,7459,4.541,8133,12.994,8134,7.625,8135,8.755,8136,10.154,8137,7.625,8138,7.625,8139,7.625,8140,7.625,8141,7.625,8142,7.625,8143,7.625,8144,7.625,8145,7.625,8146,7.061,8147,7.061,8148,6.191,8149,6.191,8150,5.12,8151,6.191,8152,6.69,8153,6.69,8154,6.69,8155,6.69,8156,6.69,8157,6.69]],["title/classes/CustomParameterEntity.html",[0,0.24,8158,5.639]],["body/classes/CustomParameterEntity.html",[0,0.225,2,0.693,3,0.012,4,0.012,5,0.006,7,0.092,27,0.534,29,0.5,30,0.001,31,0.639,32,0.173,33,0.609,47,0.97,95,0.104,96,1.727,101,0.009,103,0,104,0,112,0.713,122,1.904,129,3.151,157,2.423,190,2.407,195,2.85,196,3.772,211,6.324,223,4.207,224,1.904,232,2.473,300,4.029,433,0.805,435,2.215,886,4.017,2033,7.561,2035,3.201,2108,2.847,2183,2.57,2682,6.198,2698,4.647,2756,7.423,4633,2.927,4695,3.965,5191,6.698,6116,7.296,6159,6.698,6244,4.312,6642,5.394,6662,4.202,6663,4.52,7458,4.317,7459,3.884,8135,8.074,8146,6.04,8147,6.04,8148,5.295,8149,5.295,8150,4.38,8151,5.295,8152,5.722,8153,5.722,8154,5.722,8155,5.722,8156,5.722,8157,5.722,8158,9.744,8159,13.678,8160,13.678,8161,6.523,8162,9.127,8163,6.523,8164,6.523,8165,6.523,8166,6.523,8167,6.523,8168,6.523,8169,6.523,8170,6.523,8171,6.523]],["title/classes/CustomParameterEntry.html",[0,0.24,2777,4.597]],["body/classes/CustomParameterEntry.html",[0,0.335,2,1.032,3,0.018,4,0.018,5,0.009,7,0.136,27,0.504,29,0.745,30,0.001,31,0.746,32,0.159,33,0.588,47,0.944,101,0.013,103,0.001,104,0.001,112,0.926,130,3.496,232,3.21,417,7.444,433,1.198,435,3.297,2183,3.826,2777,9.034,4633,4.357,8109,7.27,8133,12.328,8172,9.709,8173,11.847,8174,9.709,8175,7.647]],["title/classes/CustomParameterEntryEntity.html",[0,0.24,6742,5.327]],["body/classes/CustomParameterEntryEntity.html",[0,0.322,2,0.994,3,0.018,4,0.018,5,0.009,7,0.131,27,0.495,29,0.717,30,0.001,31,0.736,32,0.157,33,0.578,47,0.931,95,0.107,96,2.475,101,0.012,103,0.001,104,0.001,112,0.905,130,3.438,190,2.077,223,4.192,224,2.728,232,3.136,417,7.346,433,1.153,435,3.174,2183,3.683,2698,5.892,4633,4.195,6742,10.356,8109,6.999,8175,7.362,8176,13.138,8177,9.347,8178,11.574,8179,9.347]],["title/classes/CustomParameterEntryParam.html",[0,0.24,6795,5.327]],["body/classes/CustomParameterEntryParam.html",[0,0.405,2,1.017,3,0.018,4,0.018,5,0.009,7,0.135,27,0.463,30,0.001,31,0.712,32,0.146,33,0.54,47,0.939,95,0.134,101,0.013,103,0.001,104,0.001,112,0.918,130,3.474,190,2.107,200,2.932,201,4.559,202,2.198,296,3.067,299,4.951,300,4.494,417,7.103,614,3.923,2707,6.632,6793,7.012,6795,9.006,8180,7.421,8181,11.765,8182,9.57,8183,9.57,8184,9.57]],["title/classes/CustomParameterEntryResponse.html",[0,0.24,6835,5.471]],["body/classes/CustomParameterEntryResponse.html",[0,0.317,2,0.978,3,0.017,4,0.017,5,0.008,7,0.129,27,0.492,29,0.705,30,0.001,31,0.732,32,0.156,33,0.574,47,0.926,95,0.105,101,0.012,103,0.001,104,0.001,112,0.896,130,3.413,190,2.056,201,4.449,202,2.112,232,3.104,296,3.412,417,7.304,433,1.135,435,3.123,614,4.034,2183,3.624,4633,4.127,6835,10.586,8109,6.887,8175,7.244,8180,7.631,8181,12.097,8185,9.197,8186,11.458,8187,9.197,8188,9.197]],["title/classes/CustomParameterFactory.html",[0,0.24,8189,5.841]],["body/classes/CustomParameterFactory.html",[0,0.265,2,0.411,3,0.007,4,0.007,5,0.004,7,0.054,8,0.712,27,0.495,29,0.985,30,0.001,31,0.704,32,0.166,33,0.552,34,1.054,35,1.362,47,0.437,55,2.227,59,3.169,95,0.109,101,0.013,103,0,104,0,110,1.337,112,0.482,113,4.068,127,4.382,129,3.328,130,3.041,135,1.619,148,1.188,157,1.769,172,2.62,185,2.118,192,2.127,197,2.438,205,1.569,206,2.01,228,1.119,231,1.522,290,0.914,300,1.48,326,5.036,374,2.666,417,2.162,433,0.477,436,3.683,467,1.794,501,6.718,502,4.864,505,3.418,506,4.864,507,4.898,508,3.418,509,3.418,510,3.418,511,3.365,512,3.913,513,4.263,514,6.366,515,5.23,516,6.66,517,2.162,522,2.144,523,3.418,524,2.162,525,4.584,526,4.716,527,3.712,528,4.436,529,3.391,530,2.144,531,2.021,532,3.787,533,2.064,534,2.021,535,2.144,536,2.162,537,4.196,538,2.144,539,7.474,540,3.904,541,6.167,542,2.162,543,2.99,544,2.144,545,2.162,546,2.144,547,2.162,548,2.144,551,2.144,552,5.573,553,2.162,554,2.144,555,3.418,556,3.118,557,3.418,558,2.162,559,2.079,560,2.049,561,1.735,562,2.144,563,2.144,564,2.144,565,2.162,566,2.162,567,1.469,568,2.144,569,1.203,570,2.162,571,2.438,572,2.144,573,2.162,575,2.218,576,2.28,577,5.222,614,1.194,756,1.529,1220,2.218,1598,3.635,2007,1.932,2033,2.777,2084,2.679,2087,3.325,2124,3.267,2332,4.298,2681,2.833,2684,1.254,2689,2.18,2692,2.726,2751,5.017,2756,2.726,2762,1.92,4665,6.754,4667,2.777,5191,2.46,5344,4.615,5710,1.994,6106,2.965,6116,2.679,6122,4.615,6123,2.965,6244,3.923,6325,3.099,6642,1.981,6696,2.218,6759,3.139,6764,3.045,6765,2.636,8040,2.559,8046,2.524,8048,2.524,8050,2.524,8060,2.491,8061,2.326,8063,2.35,8189,6.464,8190,5.407,8191,6.164,8192,5.407,8193,3.866,8194,2.833,8195,4.615,8196,3.045,8197,2.833,8198,2.679,8199,2.43,8200,3.392,8201,3.392,8202,3.392,8203,6.743,8204,5.183,8205,3.392,8206,3.708,8207,3.139,8208,2.833,8209,2.965,8210,3.392,8211,2.895,8212,3.392,8213,3.392,8214,3.392,8215,3.392,8216,2.636,8217,3.392,8218,3.392,8219,3.392,8220,2.679,8221,3.392,8222,3.392,8223,3.251,8224,3.392,8225,2.777,8226,5.407,8227,6.743,8228,3.045,8229,5.407,8230,5.407,8231,3.392,8232,3.251,8233,3.045,8234,5.183,8235,3.392,8236,3.392,8237,3.392,8238,3.392,8239,3.392,8240,5.407,8241,3.392,8242,3.251,8243,2.559,8244,3.251,8245,3.392,8246,3.392,8247,3.392,8248,3.392]],["title/classes/CustomParameterPostParams.html",[0,0.24,8249,5.639]],["body/classes/CustomParameterPostParams.html",[0,0.335,2,0.759,3,0.014,4,0.014,5,0.007,7,0.1,27,0.538,30,0.001,31,0.619,32,0.174,33,0.613,47,0.984,95,0.126,101,0.009,103,0,104,0,112,0.759,122,2.026,157,2.541,190,2.45,199,5.386,200,2.186,201,4.813,202,1.639,296,3.417,299,5.098,300,5.096,856,6.123,899,3.25,2035,3.503,2682,6.244,4883,8.467,5191,7.023,6159,7.023,6244,4.521,6642,5.657,6793,8.682,8135,8.467,8249,7.885,8250,13.779,8251,7.137,8252,7.137,8253,7.137,8254,7.885,8255,7.137,8256,5.474,8257,7.137,8258,9.283,8259,7.137,8260,7.137,8261,7.137,8262,7.137,8263,7.137,8264,9.283,8265,7.137,8266,7.137,8267,9.283,8268,7.137,8269,7.137,8270,7.137,8271,7.137,8272,7.137]],["title/classes/CustomParameterResponse.html",[0,0.24,6703,5.471]],["body/classes/CustomParameterResponse.html",[0,0.232,2,0.715,3,0.013,4,0.013,5,0.006,7,0.095,27,0.537,29,0.516,30,0.001,31,0.648,32,0.174,33,0.613,47,0.975,95,0.107,101,0.009,103,0,104,0,112,0.729,122,1.946,157,2.464,190,2.422,201,5.176,202,1.546,232,2.527,296,3.525,300,4.097,433,0.83,435,2.285,886,3.368,2035,3.303,2108,2.937,2183,2.652,2682,6.231,3181,6.376,4633,3.02,4695,4.091,4883,8.211,5191,6.811,6159,6.811,6244,4.385,6642,5.486,6662,4.336,6663,4.664,6703,9.562,7458,4.454,7459,4.008,8135,8.211,8148,5.464,8149,5.464,8150,4.519,8151,5.464,8152,5.905,8153,5.905,8154,5.905,8155,5.905,8156,5.905,8157,5.905,8258,10.209,8264,10.209,8267,10.209,8273,13.752,8274,6.73,8275,9.328,8276,6.73,8277,6.73,8278,6.73,8279,6.73,8280,6.73,8281,6.73,8282,6.73,8283,6.73,8284,6.73,8285,6.73,8286,6.73]],["title/controllers/DashboardController.html",[314,2.658,8287,6.094]],["body/controllers/DashboardController.html",[0,0.234,3,0.013,4,0.013,5,0.006,7,0.096,8,1.084,27,0.424,29,0.825,30,0.001,31,0.603,32,0.134,33,0.495,35,1.247,36,2.67,55,2.523,95,0.144,100,4.506,101,0.009,103,0,104,0,135,1.646,148,1.066,190,1.932,202,1.561,228,1.234,274,2.842,277,0.981,314,2.602,316,3.28,317,2.899,325,6.716,326,4.789,349,6.954,365,3.037,379,5.48,388,4.615,389,4.438,392,3.554,395,3.656,398,3.684,400,2.024,657,2.467,1170,7.297,3201,6.132,3221,3.507,4046,5.651,4506,9.051,7518,8.699,7524,6.296,8287,8.241,8288,6.799,8289,7.479,8290,10.763,8291,6.799,8292,6.799,8293,11.33,8294,9.763,8295,9.394,8296,6.799,8297,6.799,8298,7.795,8299,10.185,8300,9.394,8301,6.799,8302,5.965,8303,6.799,8304,9.051,8305,6.799,8306,5.214,8307,6.799,8308,6.799,8309,6.799,8310,6.799,8311,10.763,8312,8.241,8313,6.799,8314,6.799,8315,6.799,8316,6.799,8317,6.799,8318,6.799,8319,6.799,8320,6.296]],["title/classes/DashboardEntity.html",[0,0.24,8321,5.089]],["body/classes/DashboardEntity.html",[0,0.173,2,0.32,3,0.006,4,0.006,5,0.003,7,0.118,8,0.58,26,2.429,27,0.502,29,0.871,30,0.001,31,0.637,32,0.159,33,0.523,34,1.792,35,1.405,39,2.089,47,0.859,55,2.508,83,0.876,95,0.074,99,0.617,101,0.013,103,0,104,0,112,0.393,122,1.575,125,1.8,130,1.373,135,1.725,141,3.237,145,2.82,146,2.051,148,1.308,153,1.663,155,3.053,159,0.309,232,0.815,242,2.644,243,1.891,277,0.434,433,0.371,435,2.195,458,3.358,459,2.644,467,2.198,569,3.668,579,1.868,595,1.135,652,2.753,756,2.557,896,1.682,1065,4.12,1170,4.745,1237,0.887,1660,5.653,1675,3.021,1842,2.944,2048,4.512,2434,3.425,2782,3.53,2893,6.644,2934,1.741,2935,1.595,2976,2.085,3037,3.622,3057,5.773,3527,4.841,3724,2.121,3874,8.738,3900,3.236,3993,7.059,4063,3.157,4506,4.224,7287,2.53,7394,2.051,7437,3.68,7509,3.48,7740,6.286,8298,5.069,8321,3.68,8322,2.639,8323,5.023,8324,6.623,8325,5.023,8326,5.023,8327,6.623,8328,6.348,8329,7.627,8330,5.023,8331,5.946,8332,5.023,8333,5.023,8334,5.023,8335,5.023,8336,5.023,8337,5.023,8338,6.623,8339,3.009,8340,3.009,8341,3.009,8342,3.009,8343,3.009,8344,4.406,8345,3.009,8346,2.253,8347,3.009,8348,4.406,8349,3.009,8350,4.651,8351,4.406,8352,9.741,8353,3.009,8354,9.909,8355,3.009,8356,3.009,8357,6.957,8358,3.009,8359,4.406,8360,9.741,8361,3.009,8362,3.009,8363,4.406,8364,3.009,8365,4.406,8366,3.009,8367,4.406,8368,3.009,8369,4.406,8370,3.009,8371,4.406,8372,3.009,8373,4.406,8374,3.009,8375,3.009,8376,4.406,8377,3.009,8378,4.406,8379,2.253,8380,4.406,8381,2.639,8382,4.406,8383,4.406,8384,4.406,8385,2.639,8386,4.406,8387,2.639,8388,4.406,8389,2.639,8390,3.761,8391,8.947,8392,2.639,8393,4.406,8394,2.639,8395,4.406,8396,2.639,8397,4.406,8398,2.639,8399,2.639,8400,2.639,8401,2.639,8402,2.639,8403,4.406,8404,2.639,8405,4.406,8406,2.53,8407,4.406,8408,2.639,8409,4.406,8410,2.639,8411,2.639,8412,2.639,8413,2.639,8414,2.443,8415,2.639,8416,4.406,8417,2.639,8418,2.307,8419,2.639,8420,2.639,8421,2.639,8422,2.639,8423,2.639,8424,2.639,8425,2.639,8426,2.639,8427,2.639,8428,4.406,8429,4.406,8430,2.53,8431,5.672,8432,2.639,8433,4.406,8434,2.639,8435,2.639,8436,2.639,8437,2.639,8438,2.639,8439,2.639,8440,2.639,8441,2.639,8442,2.639,8443,2.639,8444,2.639,8445,2.639,8446,2.639,8447,2.639,8448,2.639,8449,2.639,8450,2.639,8451,2.639,8452,2.639,8453,2.639,8454,2.639,8455,2.639,8456,2.639,8457,4.406,8458,2.639,8459,2.639,8460,2.639,8461,4.406,8462,4.406,8463,2.639,8464,2.639,8465,2.639,8466,2.639,8467,2.639,8468,2.639,8469,2.639,8470,5.672,8471,2.639,8472,2.639]],["title/entities/DashboardGridElementModel.html",[205,1.418,8473,5.471]],["body/entities/DashboardGridElementModel.html",[0,0.318,3,0.013,4,0.013,5,0.006,7,0.17,27,0.476,30,0.001,32,0.143,33,0.425,34,2.065,39,2.554,47,0.856,49,2.494,55,2.504,95,0.138,96,2.444,97,2.715,101,0.015,103,0,104,0,112,0.722,125,2.201,129,1.984,130,1.813,153,1.751,155,3.965,159,0.948,190,2.167,195,2.641,196,2.193,205,2.168,206,2.162,211,3.677,223,3.881,224,1.935,225,4.079,229,3.651,231,1.602,232,1.796,233,2.881,290,2.715,433,0.818,458,3.693,459,3.49,1821,4.479,2032,3.508,2555,8.415,2893,7.419,2924,4.909,2925,8.146,2927,5.89,2929,7.495,2931,3.677,2933,4.858,2937,3.949,3037,3.181,4624,3.77,5685,3.113,6162,4.168,7440,3.738,7775,4.328,8289,8.263,8473,8.366,8474,5.576,8475,10.15,8476,10.15,8477,6.63,8478,6.63,8479,6.63,8480,6.63,8481,6.63,8482,6.63,8483,6.63,8484,7.495,8485,6.913,8486,5.576,8487,7.763,8488,5.576,8489,5.576,8490,5.576,8491,5.576,8492,5.576,8493,5.383,8494,5.576,8495,5.576,8496,7.495,8497,6.764,8498,5.576,8499,4.595,8500,5.576,8501,5.576,8502,5.576,8503,5.576,8504,5.576]],["title/interfaces/DashboardGridElementModelProperties.html",[159,0.713,8484,5.639]],["body/interfaces/DashboardGridElementModelProperties.html",[0,0.324,3,0.013,4,0.013,5,0.006,7,0.171,30,0.001,32,0.157,33,0.534,34,2.25,39,2.596,47,0.933,49,2.553,55,2.635,95,0.139,96,2.484,97,2.78,101,0.015,103,0,104,0,112,0.734,125,1.618,153,1.547,155,4.094,159,0.964,161,1.611,195,2.352,196,2.245,205,2.196,223,3.601,224,1.981,225,4.13,229,3.711,231,1.629,232,1.839,233,2.928,290,2.743,433,0.837,458,3.754,459,3.573,1821,4.552,2032,4.409,2555,7.879,2893,7.738,2924,4.337,2925,7.196,2927,5.204,2929,5.51,2931,3.764,2933,4.973,2937,4.042,3037,3.256,4624,3.859,5685,3.187,6162,4.266,7440,3.827,7775,4.431,8289,8.476,8473,7.391,8474,5.708,8475,10.48,8476,10.48,8484,8.73,8485,8.687,8486,5.708,8487,7.89,8488,5.708,8489,5.708,8490,5.708,8491,5.708,8492,5.708,8493,5.51,8494,5.708,8495,5.708,8496,7.618,8497,6.875,8498,5.708,8499,4.703,8500,5.708,8501,5.708,8502,5.708,8503,5.708,8504,5.708]],["title/classes/DashboardGridElementResponse.html",[0,0.24,8505,5.639]],["body/classes/DashboardGridElementResponse.html",[0,0.322,2,0.56,3,0.01,4,0.01,5,0.005,7,0.074,27,0.503,29,0.404,30,0.001,31,0.295,32,0.164,33,0.597,34,2.339,47,0.957,55,2.068,83,2.277,95,0.089,101,0.012,103,0,104,0,112,0.611,125,1.865,155,4.247,157,3.128,190,2.254,202,1.209,205,1.075,223,2.427,296,3.55,298,2.278,304,5.707,374,4.035,433,1.274,458,3.732,567,2.972,821,2.681,866,2.615,868,5.742,876,4.06,896,2.944,1065,5.068,1170,4.916,1568,5.419,2048,5.588,3035,5.797,3037,3.752,3057,5.513,3178,6.172,3179,6.172,4063,7.728,7393,6.264,7394,7.522,7472,3.943,7509,8.52,7738,6.349,7739,6.16,7740,9.418,7741,7.348,7744,6.16,7745,5.105,7746,5.514,7747,6.349,7771,3.782,8289,5.038,8298,5.251,8306,5.998,8390,8.261,8497,6.836,8505,9.717,8506,4.619,8507,9.679,8508,9.277,8509,9.277,8510,5.265,8511,5.265,8512,5.265,8513,8.957,8514,6.861,8515,5.265,8516,5.265,8517,5.265,8518,5.265,8519,4.619,8520,5.265,8521,5.265,8522,5.265,8523,4.619,8524,4.619,8525,4.619,8526,4.619,8527,4.619]],["title/classes/DashboardGridSubElementResponse.html",[0,0.24,8513,5.639]],["body/classes/DashboardGridSubElementResponse.html",[0,0.345,2,0.632,3,0.011,4,0.011,5,0.005,7,0.084,27,0.456,29,0.456,30,0.001,31,0.333,32,0.155,33,0.273,34,2.368,47,0.969,55,1.711,83,1.73,95,0.098,101,0.013,103,0,104,0,112,0.668,125,1.417,155,4.336,157,3.168,190,1.963,202,1.365,205,1.213,223,1.845,296,3.617,298,2.571,304,5.72,374,3.696,433,1.35,458,4.002,567,2.259,821,3.026,868,4.799,876,3.086,896,3.323,1065,4.193,1170,3.736,1568,4.119,2048,5.593,3035,6.215,3037,4.099,3057,4.562,3178,6.186,3179,6.186,4063,7.995,7393,6.717,7394,6.821,7472,4.451,7509,8.814,7738,6.937,7739,6.73,7740,9.475,7741,7.879,7744,4.681,7745,3.88,7746,4.19,7747,4.825,7771,4.269,8289,5.505,8298,3.991,8306,6.553,8390,7.491,8497,7.33,8505,8.88,8506,5.214,8507,8.776,8508,8.412,8509,8.412,8513,10.091,8514,5.214,8519,5.214,8523,5.214,8524,5.214,8525,5.214,8526,5.214,8527,5.214,8528,5.943,8529,5.943,8530,5.943,8531,5.943,8532,5.943]],["title/classes/DashboardMapper.html",[0,0.24,8302,6.094]],["body/classes/DashboardMapper.html",[0,0.262,2,0.809,3,0.014,4,0.014,5,0.007,7,0.107,8,1.171,27,0.449,29,0.875,30,0.001,31,0.639,32,0.142,33,0.525,34,1.302,35,1.322,95,0.13,99,1.56,100,4.244,101,0.01,103,0,104,0,125,1.815,131,3.875,135,1.588,148,1.129,153,1.88,155,2.414,339,2.232,467,3.982,478,2.131,652,2.66,830,5.624,837,3.757,3057,4.063,4063,4.784,7332,6.4,7394,5.189,7437,8.912,7509,5.274,8289,6.533,8302,8.897,8306,9.329,8321,8.912,8328,6.4,8357,9.329,8497,5.576,8505,9.875,8508,6.4,8509,6.4,8513,9.259,8533,7.611,8534,10.141,8535,10.141,8536,10.141,8537,7.611,8538,10.141,8539,7.611,8540,10.141,8541,7.611,8542,7.611,8543,7.611,8544,7.611,8545,7.611,8546,7.611,8547,7.611,8548,7.611,8549,7.611,8550,7.611,8551,7.611,8552,7.611,8553,7.611,8554,10.141,8555,7.611,8556,10.141,8557,7.611,8558,7.611,8559,7.611,8560,7.611,8561,7.611]],["title/entities/DashboardModelEntity.html",[205,1.418,8485,5.201]],["body/entities/DashboardModelEntity.html",[0,0.33,3,0.013,4,0.013,5,0.006,7,0.173,27,0.377,30,0.001,32,0.119,34,2.103,39,3.019,47,0.832,49,2.624,55,2.35,95,0.14,96,2.532,97,2.857,101,0.015,103,0,104,0,112,0.747,125,1.663,129,2.088,130,1.908,153,1.799,155,3.722,159,0.982,190,1.716,195,2.567,196,2.307,205,2.227,206,2.275,223,3.643,224,2.036,225,4.19,229,3.782,231,1.66,232,1.89,233,2.984,290,3.003,433,0.861,458,3.825,459,3.672,1821,5.293,2032,3.634,2555,8.6,2893,6.703,2924,5.043,2925,8.367,2927,6.05,2929,5.663,2931,3.869,2933,5.111,2937,4.154,3037,3.347,4624,3.967,5685,3.275,6162,4.385,7440,3.933,7775,4.554,8289,8.182,8473,7.531,8474,5.866,8475,9.528,8476,9.528,8484,7.763,8485,8.169,8486,5.866,8487,8.04,8488,5.866,8489,5.866,8490,5.866,8491,5.866,8492,5.866,8493,5.663,8494,5.866,8495,5.866,8496,7.763,8497,8.6,8498,5.866,8499,4.834,8500,5.866,8501,5.866,8502,5.866,8503,8.04,8504,5.866,8562,6.976,8563,6.46,8564,6.976]],["title/injectables/DashboardModelMapper.html",[589,0.929,8565,5.471]],["body/injectables/DashboardModelMapper.html",[0,0.148,3,0.008,4,0.008,5,0.004,7,0.061,8,0.775,27,0.487,29,0.947,30,0.001,31,0.692,32,0.156,33,0.568,34,1.148,35,1.405,36,2.823,39,1.191,47,0.305,95,0.115,96,1.14,99,0.882,101,0.006,103,0,104,0,125,1.027,131,2.192,135,1.771,141,2.877,148,1.259,153,1.535,205,1.37,224,1.257,228,0.781,277,0.621,290,1.949,317,3.015,433,0.531,478,1.206,579,1.244,589,0.897,591,1.027,595,1.625,652,2.562,657,2.949,980,2.388,1170,2.706,1312,2.054,1660,3.224,1842,3.055,2032,4.507,2448,5.205,2455,2.564,2490,2.984,2893,6.2,2933,3.155,3083,6.944,3608,2.81,3613,3.919,3874,6.586,7438,3.495,7508,3.495,7740,4.65,8289,8.084,8298,2.891,8321,8.178,8357,9.755,8391,7.947,8406,3.621,8473,9.093,8475,3.495,8476,3.495,8485,9.636,8493,3.495,8497,3.155,8565,5.285,8566,4.305,8567,8.244,8568,8.244,8569,6.71,8570,6.71,8571,6.71,8572,6.71,8573,8.244,8574,6.71,8575,6.71,8576,8.244,8577,4.305,8578,4.305,8579,4.305,8580,12.719,8581,4.305,8582,4.305,8583,6.71,8584,4.305,8585,6.71,8586,4.305,8587,9.377,8588,6.71,8589,4.305,8590,6.71,8591,4.305,8592,4.305,8593,4.305,8594,6.71,8595,4.305,8596,6.71,8597,4.305,8598,4.305,8599,4.305,8600,10.09,8601,6.71,8602,4.305,8603,4.305,8604,4.305,8605,4.305,8606,4.305,8607,4.305,8608,4.305,8609,4.305,8610,4.305,8611,4.305,8612,4.305,8613,4.305,8614,4.305,8615,4.305,8616,4.305,8617,4.305,8618,3.987,8619,4.305,8620,6.71,8621,4.305,8622,6.71,8623,4.305,8624,4.305,8625,4.305,8626,6.71,8627,4.305,8628,6.71,8629,4.305,8630,6.71,8631,4.305,8632,4.305,8633,4.305,8634,6.71,8635,6.71,8636,4.305,8637,4.305,8638,4.305,8639,3.777,8640,4.305,8641,4.305,8642,4.305,8643,4.305,8644,4.305,8645,4.305,8646,3.777,8647,6.71,8648,4.305,8649,4.305]],["title/interfaces/DashboardModelProperties.html",[159,0.713,8496,5.639]],["body/interfaces/DashboardModelProperties.html",[0,0.332,3,0.013,4,0.013,5,0.007,7,0.174,30,0.001,32,0.137,33,0.444,34,2.271,39,2.668,47,0.904,49,2.656,55,2.362,95,0.141,96,2.553,97,2.892,101,0.015,103,0,104,0,112,0.754,125,1.684,153,1.59,155,3.742,159,0.99,161,1.677,195,2.402,196,2.336,205,2.242,223,3.662,224,2.061,225,4.217,229,3.814,231,1.674,232,1.913,233,3.009,290,3.185,433,0.871,458,3.857,459,3.717,1821,4.678,2032,3.664,2555,8.044,2893,6.746,2924,4.457,2925,7.395,2927,5.347,2929,5.733,2931,3.917,2933,5.174,2937,4.206,3037,3.388,4624,4.016,5685,3.315,6162,4.439,7440,3.982,7775,4.61,8289,7.956,8473,9.292,8474,5.938,8475,9.577,8476,9.577,8484,7.828,8485,7.22,8486,5.938,8487,8.108,8488,5.938,8489,5.938,8490,5.938,8491,5.938,8492,5.938,8493,5.733,8494,5.938,8495,5.938,8496,8.913,8497,9.048,8498,5.938,8499,4.894,8500,5.938,8501,5.938,8502,5.938,8503,5.938,8504,5.938]],["title/injectables/DashboardRepo.html",[589,0.929,8650,5.471]],["body/injectables/DashboardRepo.html",[0,0.315,3,0.012,4,0.012,5,0.006,7,0.092,8,1.054,9,3.031,26,2.765,27,0.473,29,0.92,30,0.001,31,0.673,32,0.15,33,0.552,34,1.561,35,1.321,36,2.872,39,3.155,49,2.453,95,0.137,96,1.727,97,2.671,99,1.337,101,0.012,103,0,104,0,113,2.599,135,1.729,148,1.232,153,1.075,159,0.67,205,1.863,228,1.656,277,0.941,290,1.542,317,2.968,433,0.805,478,1.826,561,2.927,589,1.221,591,1.555,657,2.926,675,5.36,728,3.775,1237,1.923,1829,2.773,2448,6.376,2490,4.52,3608,4.258,3613,5.332,5311,7.41,7740,4.52,8289,8.013,8321,9.546,8357,7,8485,4.884,8565,8.982,8587,8.007,8646,5.722,8650,7.189,8651,6.04,8652,8.452,8653,8.007,8654,8.452,8655,6.523,8656,9.749,8657,6.523,8658,9.236,8659,6.523,8660,8.452,8661,6.523,8662,9.749,8663,6.523,8664,6.04,8665,6.04,8666,8.452,8667,6.04,8668,5.722,8669,7.675,8670,4.884,8671,8.452,8672,6.04,8673,8.452,8674,6.04,8675,9.749,8676,6.04,8677,8.452,8678,6.04,8679,6.04]],["title/classes/DashboardResponse.html",[0,0.24,8306,5.327]],["body/classes/DashboardResponse.html",[0,0.352,2,0.655,3,0.012,4,0.012,5,0.006,7,0.087,27,0.402,29,0.473,30,0.001,31,0.345,32,0.146,33,0.284,34,2.38,47,0.95,55,1.756,83,1.794,95,0.1,101,0.013,103,0,104,0,112,0.685,125,2.091,155,4.203,157,3.203,190,1.574,202,1.415,205,1.79,223,1.913,296,3.636,298,2.666,304,5.8,374,4.415,433,1.372,458,4.083,567,2.342,821,3.137,866,3.06,868,2.956,876,3.2,896,4.903,1065,4.303,1170,3.873,1568,4.27,2048,5.447,3035,6.342,3037,4.206,3057,4.681,3178,6.273,3179,6.273,4063,7.675,7393,5.888,7394,6.959,7472,4.614,7509,8.461,7738,7.118,7739,6.906,7740,9.182,7741,6.906,7744,4.854,7745,4.023,7746,4.345,7747,5.003,7771,6.297,8289,7.163,8298,4.138,8306,9.011,8390,7.643,8497,8.609,8505,9.539,8506,5.406,8507,8.955,8508,8.583,8509,8.583,8513,9.027,8514,5.406,8523,5.406,8524,5.406,8525,5.406,8526,5.406,8527,5.406,8680,6.162,8681,6.162,8682,6.162]],["title/injectables/DashboardUc.html",[589,0.929,8304,5.841]],["body/injectables/DashboardUc.html",[0,0.218,3,0.012,4,0.012,5,0.006,7,0.089,8,1.03,26,2.917,27,0.467,29,0.91,30,0.001,31,0.69,32,0.148,33,0.546,35,1.303,36,2.609,39,3.82,47,0.734,95,0.144,99,1.295,101,0.008,103,0,104,0,135,1.549,148,1.025,153,1.041,195,1.382,228,1.62,277,0.912,279,2.651,317,2.852,326,3.932,347,3.237,433,1.101,478,1.769,561,2.835,569,1.966,579,1.826,589,1.193,591,1.506,595,2.384,652,2.422,657,2.9,688,2.982,770,3.971,790,4.307,1910,7.775,2231,3.592,2935,4.73,2978,5.312,3057,5.524,5427,3.624,7835,5.542,8289,8.326,8304,7.504,8312,9.864,8321,8.238,8352,9.455,8360,10.64,8391,4.976,8430,5.312,8650,7.029,8653,7.829,8658,7.829,8669,9.455,8683,6.317,8684,10.347,8685,10.347,8686,8.924,8687,6.317,8688,6.317,8689,6.317,8690,6.317,8691,6.317,8692,6.317,8693,6.317,8694,8.924,8695,6.317,8696,6.317,8697,5.85,8698,4.845,8699,6.317,8700,6.317,8701,6.317,8702,6.317,8703,10.347,8704,8.924,8705,8.924,8706,6.317,8707,6.317,8708,6.317,8709,6.317]],["title/classes/DashboardUrlParams.html",[0,0.24,8293,6.094]],["body/classes/DashboardUrlParams.html",[0,0.415,2,1.06,3,0.019,4,0.019,5,0.009,7,0.14,27,0.393,30,0.001,32,0.124,34,2.06,47,0.854,95,0.137,101,0.013,103,0.001,104,0.001,112,0.941,157,2.295,190,1.79,194,4.71,195,2.634,196,3.983,197,3.348,200,3.055,202,2.291,296,3.146,855,4.874,4166,6.063,8289,7.758,8293,10.565,8312,11.349,8710,9.974,8711,9.974]],["title/classes/DatabaseManagementConsole.html",[0,0.24,8712,5.841]],["body/classes/DatabaseManagementConsole.html",[0,0.202,2,0.623,3,0.011,4,0.011,5,0.005,7,0.082,8,0.976,27,0.428,29,0.761,30,0.001,31,0.556,32,0.124,33,0.5,35,1.15,36,2.544,47,0.415,95,0.113,101,0.016,103,0,104,0,122,1.764,125,2.862,135,1.654,148,0.982,157,3.054,159,0.602,190,1.78,194,4.249,195,1.281,197,3.02,270,3.247,317,2.801,339,2.48,400,1.744,433,0.723,540,4.822,560,4.481,652,1.196,657,2.49,1212,5.447,1476,6.096,1821,4.813,1927,7.079,3083,3.523,3559,3.599,3576,5.379,3768,5.138,3770,4.613,3771,7.091,3774,6.484,3776,7.609,3780,8.507,3781,6.675,3782,3.421,3784,4.613,3785,5.595,4672,6.535,4878,7.96,4907,8.122,5188,9.747,5190,4.059,5202,2.81,5206,7.417,5217,10.166,5268,9.135,5315,8.626,5317,8.82,6336,4.755,6338,5.138,8712,7.109,8713,10.668,8714,7.829,8715,8.454,8716,5.857,8717,7.829,8718,5.857,8719,7.829,8720,5.857,8721,9.074,8722,6.484,8723,5.857,8724,5.138,8725,4.925,8726,7.829,8727,7.829,8728,5.138,8729,7.829,8730,7.829,8731,5.423,8732,5.423,8733,5.423,8734,9.135,8735,7.829,8736,9.187,8737,5.423,8738,5.423,8739,5.138]],["title/controllers/DatabaseManagementController.html",[314,2.658,8740,6.094]],["body/controllers/DatabaseManagementController.html",[0,0.259,3,0.014,4,0.014,5,0.007,7,0.106,8,1.162,27,0.497,29,0.87,30,0.001,31,0.636,32,0.141,33,0.522,35,1.462,36,2.856,47,0.921,95,0.115,101,0.01,103,0,104,0,122,2.366,135,0.983,148,1.25,190,2.265,274,3.145,277,1.086,314,2.88,316,3.63,317,3.039,365,3.361,388,3.226,400,2.241,657,2.307,3223,4.14,3784,5.927,5167,10.182,5188,8.933,5315,8.492,5317,9.83,7527,6.661,8714,11.213,8725,6.328,8739,8.83,8740,8.83,8741,12.987,8742,7.525,8743,7.525,8744,10.065,8745,9.32,8746,10.065,8747,7.525,8748,10.065,8749,7.525,8750,10.065,8751,7.525,8752,6.968,8753,10.065,8754,7.525,8755,7.525,8756,10.065,8757,7.525,8758,11.341,8759,10.065,8760,7.525,8761,7.525,8762,7.525,8763,7.525,8764,7.525,8765,7.525,8766,7.525,8767,7.525,8768,7.525]],["title/modules/DatabaseManagementModule.html",[252,1.835,8769,6.094]],["body/modules/DatabaseManagementModule.html",[0,0.338,3,0.019,4,0.019,5,0.009,30,0.001,95,0.136,101,0.013,103,0.001,104,0.001,252,3.392,254,3.53,255,3.739,256,3.834,257,3.82,258,3.806,259,4.669,260,4.78,269,4.661,270,3.765,271,3.687,277,1.415,1927,5.781,5169,11.794,8769,12.358,8770,9.803,8771,9.803,8772,9.803,8773,9.078,8774,8.601,8775,8.244]],["title/injectables/DatabaseManagementService.html",[589,0.929,5169,5.639]],["body/injectables/DatabaseManagementService.html",[0,0.186,3,0.01,4,0.01,5,0.005,7,0.076,8,0.921,27,0.514,29,0.95,30,0.001,31,0.709,32,0.154,33,0.57,35,1.466,36,2.892,47,0.995,95,0.127,96,2.112,97,2.214,101,0.007,103,0,104,0,135,1.704,141,3.42,145,3.54,148,1.253,158,3.504,195,2.073,224,1.578,228,0.981,277,0.78,317,3.066,400,1.61,433,0.667,478,1.514,589,1.067,591,1.289,624,8.353,652,1.628,657,2.767,735,3.65,804,4.049,1821,6.011,2448,5.849,2488,5.438,3608,3.53,3613,4.659,4182,6.475,4193,8.313,5167,10.151,5169,6.475,5217,6.282,5251,7.386,5317,8.492,5784,5.007,7796,6.272,8722,8.022,8745,7.386,8752,7.386,8773,12.225,8776,4.39,8777,7.976,8778,7.976,8779,7.976,8780,7.976,8781,10.46,8782,7.976,8783,5.407,8784,7.976,8785,5.407,8786,7.976,8787,4.744,8788,7.976,8789,5.007,8790,7.976,8791,5.407,8792,7.976,8793,5.407,8794,5.007,8795,7.976,8796,5.407,8797,5.407,8798,5.407,8799,5.407,8800,5.407,8801,5.407,8802,5.407,8803,5.407,8804,9.476,8805,7.976,8806,5.407,8807,5.407,8808,5.407,8809,5.407,8810,5.278,8811,5.407,8812,5.407,8813,5.407,8814,7.976,8815,5.407,8816,5.407,8817,5.407,8818,5.407,8819,5.407,8820,5.407,8821,5.407]],["title/classes/DeleteFilesConsole.html",[0,0.24,8822,6.094]],["body/classes/DeleteFilesConsole.html",[0,0.272,2,0.839,3,0.015,4,0.015,5,0.01,7,0.111,8,1.2,27,0.409,29,0.797,30,0.001,31,0.582,32,0.13,33,0.478,35,0.915,36,2.202,55,2.568,83,2.298,95,0.133,101,0.01,103,0.001,104,0.001,129,2.363,130,2.159,135,1.031,153,1.302,157,2.673,190,1.417,317,2.52,400,2.351,433,0.974,652,1.612,657,1.809,870,4.31,876,4.099,1027,2.425,1743,7.463,1938,5.588,2449,4.854,2450,5.794,2819,7.209,2858,6.639,2892,9.148,3017,3.726,3776,6.055,3780,8.287,3781,7.583,3782,4.612,5202,5.921,7449,9.602,8822,9.116,8823,11.614,8824,7.895,8825,9.622,8826,7.895,8827,11.07,8828,7.895,8829,10.391,8830,11.549,8831,11.549,8832,10.189,8833,10.755,8834,7.895,8835,11.614,8836,7.895,8837,6.926,8838,7.311,8839,6.926,8840,7.895,8841,7.895,8842,7.895,8843,7.895,8844,5.225]],["title/injectables/DeleteFilesUc.html",[589,0.929,8827,5.841]],["body/injectables/DeleteFilesUc.html",[0,0.175,3,0.01,4,0.01,5,0.008,7,0.071,8,0.879,27,0.466,29,0.833,30,0.001,31,0.609,32,0.142,33,0.5,35,1.259,36,2.149,47,0.647,55,1.829,58,4.969,83,2.658,95,0.135,101,0.007,103,0,104,0,112,0.595,129,1.52,130,1.389,135,1.702,145,4.261,148,0.904,153,1.672,195,1.997,197,1.412,205,1.037,228,1.657,259,1.847,271,1.91,277,0.733,317,2.828,335,5.038,385,3.463,433,0.939,478,1.422,589,1.018,591,1.211,629,2.673,644,3.087,652,2.793,657,2.711,711,2.712,756,3.011,1019,8.666,1027,1.56,1076,4.843,1080,1.751,1328,2.692,2124,2.692,2232,3.087,2449,3.817,2450,4.762,2494,3.721,2499,4,2624,2.493,2782,5.538,2815,3.653,2858,4.271,5177,8.136,5202,4.866,5387,4.703,5388,4.703,7192,3.463,7193,6.226,7194,3.463,7195,3.463,7258,6.679,8825,7.05,8827,6.402,8830,8.899,8837,6.679,8839,4.456,8844,3.361,8845,12.165,8846,5.079,8847,10.143,8848,6.679,8849,7.05,8850,7.613,8851,10.143,8852,5.079,8853,9.261,8854,9.946,8855,7.613,8856,7.613,8857,5.079,8858,6.402,8859,9.137,8860,7.613,8861,5.079,8862,7.613,8863,5.079,8864,7.613,8865,5.079,8866,5.079,8867,7.613,8868,4.271,8869,4.456,8870,4.123,8871,4.703,8872,5.079,8873,5.079,8874,9.131,8875,10.143,8876,10.143,8877,5.079,8878,9.131,8879,5.079,8880,5.079,8881,5.079,8882,9.131,8883,5.079,8884,5.079,8885,5.079,8886,6.679,8887,5.079,8888,5.079,8889,3.803,8890,5.079,8891,5.079,8892,5.079,8893,5.079,8894,5.079,8895,5.079,8896,5.079,8897,4.123,8898,5.079,8899,4.703,8900,5.079,8901,4.703,8902,3.803,8903,5.079,8904,5.079,8905,5.079,8906,7.613,8907,5.079,8908,5.079,8909,6.679,8910,5.079,8911,5.079,8912,5.079,8913,5.079,8914,5.079]],["title/modules/DeletionApiModule.html",[252,1.835,1010,5.471]],["body/modules/DeletionApiModule.html",[0,0.221,3,0.012,4,0.012,5,0.006,30,0.001,47,0.845,95,0.162,101,0.008,103,0,104,0,252,2.752,254,2.304,255,2.44,256,2.502,257,2.493,258,2.484,259,3.789,260,2.382,264,8.878,265,5.714,269,3.522,270,2.457,271,2.406,273,4.022,274,3.763,276,3.522,277,0.923,290,1.513,725,4.511,1010,11.502,1027,1.965,1060,4.362,1061,4.907,1062,4.907,1063,4.907,1317,4.022,1484,8.3,1537,4.791,1907,8.715,2028,4.791,2218,2.858,2219,3.216,2220,3.104,2221,4.022,3017,3.02,3221,3.3,3858,7.68,3868,3.368,4770,10.394,5036,9.256,5041,4.907,8915,6.398,8916,6.398,8917,6.398,8918,10.844,8919,10.394,8920,8.715,8921,10.844,8922,9.675,8923,10.844,8924,10.394,8925,10.844,8926,6.398,8927,9.14,8928,9.14,8929,6.398,8930,5.925,8931,4.511,8932,6.398,8933,7.899,8934,6.398,8935,5.613,8936,9.004,8937,6.398,8938,6.398,8939,5.613,8940,5.613,8941,5.613,8942,5.613,8943,5.613,8944,5.613]],["title/injectables/DeletionClient.html",[589,0.929,2806,5.639]],["body/injectables/DeletionClient.html",[0,0.172,3,0.009,4,0.009,5,0.005,7,0.07,8,0.867,27,0.488,29,0.693,30,0.001,31,0.506,32,0.147,33,0.416,35,1.165,36,2.13,47,0.894,55,1.809,56,4.745,59,1.549,83,1.453,95,0.129,101,0.007,103,0,104,0,112,0.587,135,1.313,142,1.821,145,1.864,148,1.068,153,1.939,159,0.513,193,4.368,194,1.952,228,2.406,277,0.72,290,1.18,317,2.459,326,1.897,402,3.598,433,0.927,531,2.609,534,5.256,579,3.751,589,1.005,591,1.19,628,4.474,629,3.955,634,6.806,644,4.567,651,2.525,652,2.814,657,1.722,871,3.307,998,4.745,1053,7.726,1054,2.814,1056,3.215,1080,3.906,1169,4.349,1170,5.679,1313,3.403,1314,3.657,1328,3.982,1329,4.567,1330,6.318,1372,4.756,1379,5.396,1842,2.272,2124,4.789,2163,5.238,2232,3.033,2332,5.052,2357,4.272,2381,3.931,2392,1.903,2400,4.621,2505,3.101,2533,4.272,2702,3.518,2806,6.099,2815,3.006,2819,5.873,2824,5.045,2825,4.972,2828,8.162,2834,4.052,2904,5.396,2912,5.762,3223,2.746,3240,6.62,4293,4.378,8945,4.99,8946,8.367,8947,9.035,8948,9.035,8949,10.054,8950,10.054,8951,6.957,8952,7.513,8953,7.513,8954,4.99,8955,4.99,8956,7.513,8957,4.99,8958,7.513,8959,4.99,8960,4.99,8961,4.99,8962,4.99,8963,4.99,8964,4.378,8965,4.99,8966,7.513,8967,4.99,8968,4.197,8969,4.197,8970,4.621,8971,7.513,8972,4.99,8973,7.513,8974,4.99,8975,4.99,8976,4.99,8977,9.035,8978,5.626,8979,7.513,8980,8.367,8981,4.621,8982,10.054,8983,7.513,8984,7.513,8985,3.827,8986,4.99,8987,7.513,8988,4.197,8989,4.99,8990,4.99,8991,4.621,8992,4.99,8993,6.957,8994,4.99,8995,10.054,8996,4.99,8997,4.99,8998,4.052,8999,4.99,9000,4.99]],["title/interfaces/DeletionClientConfig.html",[159,0.713,8964,6.094]],["body/interfaces/DeletionClientConfig.html",[3,0.02,4,0.02,5,0.01,7,0.147,30,0.001,32,0.155,47,1.002,101,0.014,103,0.001,104,0.001,112,0.969,159,1.075,161,2.485,2815,4.188,8964,10.874,9001,8.803,9002,10.468,9003,13.652,9004,13.652]],["title/modules/DeletionConsoleModule.html",[252,1.835,9005,6.432]],["body/modules/DeletionConsoleModule.html",[0,0.279,3,0.015,4,0.015,5,0.007,30,0.001,95,0.162,101,0.011,103,0.001,104,0.001,252,3.104,254,2.912,255,3.084,256,3.163,257,3.151,258,3.14,259,4.273,260,3.01,269,4.128,270,3.106,271,3.041,276,4.128,277,1.167,651,4.09,1021,5.209,1025,5.209,1026,5.083,1054,4.559,2801,11.143,2806,10.758,2815,3.235,2819,6.165,2869,5.144,2874,11.143,3017,3.816,3779,5.351,3781,4.968,3782,4.723,3855,10.163,3872,6.89,9005,13.238,9006,8.086,9007,8.086,9008,8.086,9009,11.143,9010,7.094,9011,8.086,9012,9.774,9013,8.086,9014,8.086,9015,8.086,9016,9.259,9017,8.086,9018,9.259,9019,8.086,9020,8.086]],["title/classes/DeletionExecutionConsole.html",[0,0.24,9018,6.094]],["body/classes/DeletionExecutionConsole.html",[0,0.258,2,0.795,3,0.014,4,0.014,5,0.007,7,0.105,8,1.158,27,0.395,29,0.769,30,0.001,31,0.562,32,0.125,33,0.461,35,0.867,36,2.125,56,4.733,95,0.144,101,0.01,103,0,104,0,125,2.391,141,5.18,148,0.993,157,2.78,159,0.769,190,1.343,194,2.927,197,2.08,317,2.454,371,3.967,400,2.228,402,3.588,433,0.923,540,3.971,629,5.278,652,1.528,657,1.715,1076,4.761,1080,3.456,1115,2.864,1328,3.967,1329,4.549,1372,3.939,1393,4.292,1461,5.603,1568,5.186,2202,4.885,2815,2.994,2819,7.574,2821,4.952,2836,5.894,2845,4.821,2904,8.122,3017,3.532,3393,6.293,3770,5.894,3771,7.886,3774,7.69,3776,5.739,3779,4.952,3780,8.112,3781,7.423,3782,4.371,4878,5.483,5055,5.894,8998,10.227,9009,11.137,9010,9.921,9018,8.797,9021,7.483,9022,9.286,9023,7.483,9024,10.027,9025,10.159,9026,7.509,9027,7.483,9028,6.565,9029,8.432,9030,10.027,9031,7.483,9032,6.93,9033,6.565,9034,7.483,9035,7.483,9036,7.483,9037,7.483,9038,7.483]],["title/classes/DeletionExecutionParams.html",[0,0.24,9039,6.094]],["body/classes/DeletionExecutionParams.html",[0,0.407,2,1.025,3,0.018,4,0.018,5,0.009,7,0.136,27,0.38,30,0.001,32,0.12,33,0.543,55,2.362,56,6.43,95,0.135,101,0.013,103,0.001,104,0.001,112,0.922,129,2.885,130,2.636,157,2.218,190,1.73,200,2.953,201,4.58,202,2.214,300,4.514,745,9.538,756,4.665,869,5.789,890,8.173,891,9.575,3760,6.679,6274,9.29,9039,10.347,9040,9.918,9041,9.639,9042,9.639,9043,9.639,9044,8.926]],["title/interfaces/DeletionExecutionTriggerResult.html",[159,0.713,9029,5.841]],["body/interfaces/DeletionExecutionTriggerResult.html",[3,0.019,4,0.019,5,0.009,7,0.143,30,0.001,32,0.152,33,0.561,47,0.925,95,0.116,101,0.013,103,0.001,104,0.001,112,0.953,159,1.045,161,2.416,402,4.84,1080,4.662,2154,8.015,2819,5.944,2904,8.754,8998,9.895,9029,10.249,9045,10.176,9046,10.176,9047,12.525]],["title/classes/DeletionExecutionTriggerResultBuilder.html",[0,0.24,9028,6.094]],["body/classes/DeletionExecutionTriggerResultBuilder.html",[0,0.292,2,0.899,3,0.016,4,0.016,5,0.008,7,0.119,8,1.255,27,0.473,29,0.834,30,0.001,31,0.609,32,0.136,33,0.5,35,1.391,47,0.851,59,2.626,95,0.097,101,0.011,103,0.001,104,0.001,135,1.105,148,1.189,159,0.869,402,3.889,467,4.064,507,4.787,652,2.452,1080,4.763,1329,5.143,2868,7.806,2904,9.101,8998,10.288,9028,9.535,9029,11.62,9047,11.735,9048,12.672,9049,8.461,9050,10.869,9051,11.735,9052,10.869,9053,8.461,9054,10.869,9055,8.461,9056,8.461,9057,7.835,9058,8.461,9059,8.461,9060,7.835]],["title/injectables/DeletionExecutionUc.html",[589,0.929,9009,5.841]],["body/injectables/DeletionExecutionUc.html",[0,0.328,3,0.018,4,0.018,5,0.009,7,0.134,8,1.352,27,0.461,29,0.898,30,0.001,31,0.656,32,0.146,33,0.539,35,1.104,36,2.481,55,2.539,56,4.495,59,2.956,95,0.134,101,0.012,103,0.001,104,0.001,228,1.728,277,1.375,317,2.751,400,2.836,433,1.175,589,1.566,591,2.271,657,2.183,2805,8.82,2806,11.221,2815,3.81,9009,9.846,9022,10.842,9061,12.678,9062,9.524,9063,9.524,9064,11.709,9065,9.524,9066,9.524]],["title/controllers/DeletionExecutionsController.html",[314,2.658,8928,6.094]],["body/controllers/DeletionExecutionsController.html",[0,0.306,3,0.017,4,0.017,5,0.008,7,0.125,8,1.293,27,0.349,29,0.68,30,0.001,31,0.497,32,0.111,33,0.408,35,1.028,95,0.152,100,3.096,101,0.012,103,0.001,104,0.001,148,0.879,158,3.28,190,1.592,202,2.038,228,1.61,274,3.708,277,1.281,314,3.396,316,4.28,317,2.664,365,3.963,390,6.606,391,6.883,392,4.638,400,2.642,401,4.961,402,3.175,1545,6.255,2124,4.703,2819,6.544,3017,4.187,3222,5.957,3223,6.164,3240,8.208,3241,6.643,7745,5.791,8925,10.771,8928,9.828,8951,10.374,9039,11.314,9067,10.374,9068,8.872,9069,8.872,9070,8.872,9071,8.872,9072,8.208,9073,8.872,9074,8.872,9075,11.202,9076,7.783,9077,7.461,9078,8.872,9079,8.216,9080,8.872,9081,8.872,9082,8.872]],["title/classes/DeletionLog.html",[0,0.24,9083,5.471]],["body/classes/DeletionLog.html",[0,0.253,2,0.781,3,0.014,4,0.014,5,0.007,7,0.103,8,1.143,26,2.31,27,0.541,30,0.001,32,0.092,35,0.851,55,2.401,83,3.755,95,0.128,99,1.506,101,0.013,103,0,104,0,112,0.774,113,3.947,125,3.143,134,2.595,148,1.327,159,0.755,185,2.524,231,1.945,430,4.93,431,5.141,435,3.363,436,2.942,532,3.674,711,2.942,735,4.532,1767,5.449,1770,5.086,1773,6.884,1849,4.252,1882,4.573,3048,4.618,3066,4.618,3069,5.786,3071,5.786,3074,5.091,3075,5.091,8810,7.936,9083,7.801,9084,11.42,9085,6.803,9086,7.936,9087,8.052,9088,8.786,9089,9.445,9090,7.346,9091,7.346,9092,7.346,9093,7.346,9094,7.346,9095,7.346,9096,7.346,9097,7.346,9098,7.346,9099,7.346,9100,7.346,9101,7.346,9102,7.346,9103,7.346,9104,6.81,9105,9.096,9106,6.445,9107,6.803,9108,6.803,9109,6.803,9110,6.803,9111,6.803,9112,6.803]],["title/entities/DeletionLogEntity.html",[205,1.418,9113,5.639]],["body/entities/DeletionLogEntity.html",[0,0.225,3,0.012,4,0.012,5,0.006,7,0.148,26,1.88,27,0.49,30,0.001,32,0.155,33,0.617,34,1.114,49,4.286,55,2.489,83,3.492,95,0.137,96,1.724,99,1.335,101,0.012,103,0,104,0,112,0.713,125,3.155,159,0.669,190,2.231,195,2.895,196,3.967,205,1.861,206,2.123,211,6.652,223,4.042,224,1.901,225,3.502,229,2.576,231,1.13,232,1.764,233,2.032,430,2.678,431,2.792,458,2.605,459,4.799,460,3.958,461,6.216,462,3.958,463,6.216,540,2.286,574,3.672,1882,4.346,4624,3.703,8810,7.542,9086,7.542,9087,7.652,9088,8.349,9089,8.976,9104,6.927,9105,9.251,9113,7.401,9114,10.732,9115,6.03,9116,6.512,9117,6.512,9118,6.512,9119,6.512,9120,6.512,9121,6.512,9122,6.512,9123,4.44,9124,7.998,9125,5.713,9126,4.591,9127,6.03,9128,6.03,9129,6.03,9130,8.442,9131,5.287,9132,8.442,9133,6.03,9134,8.442,9135,6.03,9136,8.442,9137,6.03,9138,8.442,9139,6.03]],["title/interfaces/DeletionLogEntityProps.html",[159,0.713,9124,6.094]],["body/interfaces/DeletionLogEntityProps.html",[0,0.226,3,0.012,4,0.012,5,0.006,7,0.148,26,2.354,30,0.001,32,0.165,33,0.646,34,1.953,49,4.519,55,2.611,83,3.907,95,0.137,96,1.733,99,1.341,101,0.012,103,0,104,0,112,0.715,125,3.109,159,0.672,161,1.554,195,2.629,196,3.974,205,1.868,223,3.967,224,1.91,225,3.514,229,2.588,231,1.136,232,1.773,233,2.042,430,4.696,431,4.896,458,2.618,459,4.815,460,3.978,461,6.237,462,3.978,463,6.237,540,2.298,574,3.69,1882,4.583,4624,3.721,8810,7.953,9086,7.953,9087,8.069,9088,8.805,9089,9.465,9104,7.304,9105,9.756,9113,5.313,9114,5.503,9115,6.06,9123,4.462,9124,9.252,9125,5.741,9126,4.614,9127,6.06,9128,6.06,9129,6.06,9130,8.471,9131,5.313,9132,8.471,9133,6.06,9134,8.471,9135,6.06,9136,8.471,9137,6.06,9138,8.471,9139,6.06]],["title/classes/DeletionLogMapper.html",[0,0.24,9140,6.094]],["body/classes/DeletionLogMapper.html",[0,0.259,2,0.797,3,0.014,4,0.014,5,0.007,7,0.105,8,1.159,27,0.476,29,0.927,30,0.001,31,0.678,32,0.151,33,0.556,34,1.717,35,1.401,49,2.82,95,0.129,96,1.985,97,3.07,101,0.01,103,0,104,0,148,1.197,153,1.866,205,1.531,206,2.445,430,4.128,431,4.305,467,4.074,1770,3.046,1882,3.829,2460,4.962,2496,5.286,2501,5.286,4724,8.443,4725,9.297,4726,9.297,4727,8.443,4728,8.443,4730,9.297,4732,9.297,4734,8.443,4737,4.658,4751,5.75,4752,5.75,4767,6.942,4768,6.577,4769,6.942,8810,6.645,9083,11.024,9086,6.645,9087,6.741,9088,7.356,9089,7.908,9113,11.362,9140,8.808,9141,11.672,9142,7.497,9143,7.497,9144,7.497,9145,7.497,9146,7.497,9147,6.942,9148,6.942,9149,5.905,9150,6.577,9151,7.497,9152,7.497,9153,7.497,9154,7.497,9155,7.497,9156,7.497,9157,6.304,9158,6.304,9159,7.497,9160,7.497,9161,7.497,9162,7.497,9163,7.497,9164,7.497]],["title/interfaces/DeletionLogProps.html",[159,0.713,9106,6.094]],["body/interfaces/DeletionLogProps.html",[0,0.256,3,0.014,4,0.014,5,0.007,7,0.104,26,2.589,30,0.001,32,0.167,33,0.65,55,2.69,83,4.067,95,0.129,99,1.52,101,0.013,103,0,104,0,112,0.779,125,3.15,134,2.619,148,1.33,159,0.762,161,1.76,185,2.548,231,1.954,430,5.164,431,5.384,1767,6.193,1770,4.049,1849,4.291,1882,4.789,3074,5.138,3075,5.138,8810,8.311,9083,5.84,9084,6.234,9085,6.866,9086,8.311,9087,8.432,9088,9.201,9089,9.891,9104,7.633,9105,10.195,9106,8.742,9107,6.866,9108,6.866,9109,6.866,9110,6.866,9111,6.866,9112,6.866]],["title/injectables/DeletionLogRepo.html",[589,0.929,9165,5.841]],["body/injectables/DeletionLogRepo.html",[0,0.252,3,0.014,4,0.014,5,0.007,7,0.103,8,1.139,12,4.471,26,2.714,27,0.492,29,0.918,30,0.001,31,0.671,32,0.149,33,0.55,34,1.25,35,1.295,36,2.728,49,2.748,95,0.147,96,1.934,97,2.992,99,1.497,101,0.01,103,0,104,0,135,1.632,148,1.106,153,1.204,228,1.326,277,1.055,317,2.944,400,2.176,433,0.901,589,1.32,591,1.742,657,2.561,734,4.141,735,4.515,736,5.549,766,3.959,2448,6.689,3608,4.769,3613,5.764,3674,5.603,4834,6.925,9083,10.544,9088,7.23,9113,10.454,9140,6.41,9147,6.766,9148,6.766,9149,5.755,9150,6.41,9165,8.297,9166,11.296,9167,7.306,9168,9.867,9169,7.306,9170,9.867,9171,7.306,9172,9.867,9173,7.306,9174,9.867,9175,7.306,9176,9.867,9177,7.306,9178,6.766,9179,7.306,9180,7.306,9181,7.306,9182,7.306,9183,7.306,9184,7.306,9185,7.306,9186,7.306,9187,7.306]],["title/injectables/DeletionLogService.html",[589,0.929,9188,6.094]],["body/injectables/DeletionLogService.html",[0,0.266,3,0.015,4,0.015,5,0.007,7,0.109,8,1.183,26,2.752,27,0.453,29,0.881,30,0.001,31,0.644,32,0.143,33,0.529,34,1.322,35,1.187,36,2.593,49,2.906,55,2.621,83,2.25,95,0.149,96,2.046,97,3.165,99,1.584,101,0.01,103,0,104,0,135,1.338,148,0.765,153,1.895,228,1.402,277,1.115,317,2.84,400,2.301,433,0.954,589,1.37,591,1.843,657,2.348,1882,4.667,2624,3.793,4479,4.802,8810,8.099,9083,9.052,9086,8.099,9087,8.217,9088,8.967,9089,6.087,9104,7.439,9105,9.935,9123,5.269,9125,8.988,9149,6.087,9150,6.78,9165,11.004,9188,8.988,9189,11.332,9190,7.728,9191,11.492,9192,10.245,9193,7.728,9194,7.728,9195,7.728,9196,7.728,9197,10.245,9198,7.728,9199,7.728,9200,7.728,9201,7.728]],["title/interfaces/DeletionLogStatistic.html",[159,0.713,9202,4.813]],["body/interfaces/DeletionLogStatistic.html",[3,0.018,4,0.018,5,0.009,7,0.136,26,2.442,30,0.001,32,0.159,33,0.613,34,1.66,55,2.781,95,0.135,99,1.99,101,0.016,103,0.001,104,0.001,112,0.926,159,1.217,161,2.305,1882,5.206,8810,8.811,9087,8.939,9104,8.298,9123,6.62,9202,8.209,9203,8.99,9204,6.519]],["title/interfaces/DeletionLogStatistic-1.html",[159,0.593,756,2.284,9202,4.002]],["body/interfaces/DeletionLogStatistic-1.html",[3,0.017,4,0.017,5,0.008,7,0.126,26,2.665,30,0.001,32,0.154,33,0.595,55,2.766,83,3.275,95,0.128,99,1.831,101,0.017,103,0.001,104,0.001,112,0.879,159,1.369,161,2.12,1882,5.082,2824,5.997,2825,7.445,2881,5.549,2882,5.83,8810,8.555,9087,8.68,9104,8.269,9202,8.534,9204,7.554,9205,7.251,9206,7.035,9207,7.035,9208,7.343,9209,6.85,9210,7.931,9211,6.85,9212,6.415,9213,7.251,9214,7.035]],["title/classes/DeletionLogStatisticBuilder.html",[0,0.24,9215,6.432]],["body/classes/DeletionLogStatisticBuilder.html",[0,0.325,2,1.003,3,0.018,4,0.018,5,0.009,7,0.133,8,1.344,27,0.372,29,0.724,30,0.001,31,0.529,32,0.118,33,0.434,35,1.093,55,2.762,59,3.613,95,0.133,101,0.012,103,0.001,104,0.001,135,1.232,148,0.934,159,0.969,467,3.675,507,5.127,1882,4.44,4923,7.937,8810,8.724,9087,8.851,9104,8.012,9123,6.433,9202,9.383,9215,10.78,9216,9.789,9217,9.435,9218,9.789,9219,9.435]],["title/modules/DeletionModule.html",[252,1.835,8918,6.094]],["body/modules/DeletionModule.html",[0,0.293,3,0.016,4,0.016,5,0.008,30,0.001,95,0.156,101,0.011,103,0.001,104,0.001,252,3.179,254,3.06,255,3.24,256,3.323,257,3.311,258,3.299,259,4.375,260,4.479,269,4.263,270,3.264,271,3.195,277,1.226,634,6.308,651,4.298,1372,4.472,2624,4.17,8918,12.618,9165,11.292,9188,12.507,9220,8.496,9221,8.496,9222,8.496,9223,12.507,9224,11.292,9225,8.496,9226,10.898,9227,8.496,9228,7.868,9229,7.868,9230,6.898,9231,8.496,9232,7.868,9233,8.496]],["title/classes/DeletionQueueConsole.html",[0,0.24,9016,6.094]],["body/classes/DeletionQueueConsole.html",[0,0.25,2,0.771,3,0.014,4,0.014,5,0.009,7,0.102,8,1.134,27,0.387,29,0.753,30,0.001,31,0.624,32,0.122,33,0.452,35,0.84,36,2.081,55,1.453,95,0.136,101,0.01,103,0,104,0,125,2.654,135,0.947,153,1.619,157,3.024,159,0.745,190,1.302,194,4.666,195,1.587,197,3.095,317,2.416,335,4.8,339,2.88,371,3.845,400,2.16,401,4.056,414,3.669,433,0.895,540,3.908,612,4.87,652,1.481,657,1.662,1882,2.766,2815,2.902,2819,7.506,2820,9.684,2843,5.713,2844,5.563,2874,11.048,2881,4.507,2882,4.735,2884,6.099,2888,6.717,2893,4.457,2900,4.124,2992,3.287,3017,3.423,3770,5.713,3771,7.787,3774,7.53,3776,5.563,3779,4.8,3780,8.01,3781,7.329,3782,4.237,4878,8.74,5055,5.713,7745,4.735,8991,6.717,9010,9.765,9016,8.614,9026,7.352,9033,6.363,9234,7.253,9235,9.819,9236,7.253,9237,9.819,9238,10.031,9239,11.928,9240,7.253,9241,7.253,9242,5.889,9243,7.253,9244,7.253,9245,7.253,9246,6.363,9247,6.717,9248,7.253,9249,7.253,9250,7.253,9251,7.253,9252,7.253,9253,7.253,9254,7.253,9255,7.253]],["title/classes/DeletionRequest.html",[0,0.24,9256,5.327]],["body/classes/DeletionRequest.html",[0,0.272,2,0.839,3,0.015,4,0.015,5,0.007,7,0.111,8,1.2,26,2.394,27,0.536,30,0.001,32,0.098,35,0.915,83,3.832,95,0.133,99,1.618,101,0.014,103,0.001,104,0.001,112,0.812,113,4.141,125,2.477,134,2.789,148,1.304,159,0.811,185,2.713,231,2.016,402,4.416,430,5.074,431,5.291,435,3.528,436,3.086,532,3.855,711,3.086,735,4.755,1767,5.717,1770,5.21,1773,7.136,1849,4.57,2881,7.668,3048,4.963,3066,4.963,3069,6.219,3071,6.219,3074,5.471,3075,5.471,9084,11.285,9104,7.06,9208,8.056,9212,5.67,9256,7.969,9257,7.311,9258,9.241,9259,7.895,9260,7.895,9261,7.895,9262,7.895,9263,7.895,9264,7.895,9265,7.895,9266,7.895,9267,7.895,9268,7.895,9269,8.907,9270,7.311,9271,7.311,9272,7.311,9273,7.311]],["title/classes/DeletionRequestBodyProps.html",[0,0.24,9274,5.841]],["body/classes/DeletionRequestBodyProps.html",[0,0.39,2,0.956,3,0.017,4,0.017,5,0.008,7,0.126,27,0.445,30,0.001,32,0.141,33,0.52,55,2.262,95,0.141,101,0.012,103,0.001,104,0.001,112,0.883,129,2.691,130,2.459,135,1.174,159,0.924,190,2.027,194,4.419,195,2.835,196,4.286,197,3.603,200,2.754,201,4.386,202,2.065,296,2.951,300,4.324,2882,8.063,2891,7.888,3759,7.965,3760,6.231,3765,6.458,7653,6.458,7654,6.231,9040,10.388,9204,8.295,9210,8.709,9274,9.5,9275,8.991,9276,12.353,9277,8.991,9278,8.991,9279,8.991,9280,8.991]],["title/classes/DeletionRequestBodyPropsBuilder.html",[0,0.24,9281,6.432]],["body/classes/DeletionRequestBodyPropsBuilder.html",[0,0.319,2,0.982,3,0.018,4,0.018,5,0.009,7,0.13,8,1.327,26,2.698,27,0.364,29,0.709,30,0.001,31,0.518,32,0.115,33,0.425,34,2.238,35,1.071,55,2.505,59,2.868,95,0.143,99,1.894,101,0.012,103,0.001,104,0.001,135,1.207,148,0.915,193,4.993,379,5.85,467,3.641,507,5.061,837,4.561,1882,4.382,2882,8.541,9104,7.954,9123,6.3,9210,6.514,9216,9.663,9218,9.663,9274,10.517,9281,10.641,9282,9.239,9283,9.239,9284,11.491]],["title/interfaces/DeletionRequestCreateAnswer.html",[159,0.713,9214,5.471]],["body/interfaces/DeletionRequestCreateAnswer.html",[3,0.017,4,0.017,5,0.008,7,0.129,26,2.822,30,0.001,32,0.142,55,2.494,83,3.797,95,0.13,99,1.876,101,0.018,103,0.001,104,0.001,112,0.893,159,1.379,161,2.174,1882,4.357,2824,8.758,2825,8.883,2881,5.688,2882,5.976,8810,6.059,9087,6.147,9104,7.928,9202,7.917,9204,7.672,9205,7.433,9206,7.211,9207,7.211,9208,7.458,9209,7.021,9210,8.055,9211,7.021,9212,6.575,9213,7.433,9214,8.999]],["title/entities/DeletionRequestEntity.html",[205,1.418,9285,5.471]],["body/entities/DeletionRequestEntity.html",[0,0.251,3,0.014,4,0.014,5,0.007,7,0.157,26,2.574,27,0.471,30,0.001,32,0.149,34,1.247,83,3.635,95,0.136,96,1.931,99,1.495,101,0.013,103,0,104,0,112,0.873,125,2.85,135,0.952,159,0.749,190,2.145,205,2.012,206,2.378,219,5.51,223,4.153,224,2.128,225,3.785,229,2.884,231,1.266,232,1.976,233,2.276,402,4.278,430,2.999,431,3.127,458,2.917,459,5.187,460,4.433,461,6.719,462,4.433,463,6.719,540,2.561,569,3.067,644,4.433,711,2.927,2126,6.521,2127,4.972,2881,7.759,4624,4.147,7653,5.238,7654,6.829,8969,6.133,9104,7.267,9114,10.501,9123,4.972,9126,5.142,9208,8.151,9258,8.952,9269,9.169,9285,7.762,9286,6.753,9287,7.293,9288,7.293,9289,7.293,9290,7.293,9291,7.293,9292,9.126,9293,6.753,9294,8.646,9295,6.753,9296,6.753,9297,6.753,9298,6.753,9299,6.753,9300,6.753,9301,5.744,9302,6.753,9303,6.398]],["title/interfaces/DeletionRequestEntityProps.html",[159,0.713,9294,6.094]],["body/interfaces/DeletionRequestEntityProps.html",[0,0.247,3,0.014,4,0.014,5,0.007,7,0.155,26,2.747,30,0.001,32,0.163,33,0.589,34,2.03,83,3.977,95,0.135,96,1.897,99,1.468,101,0.013,103,0,104,0,112,0.865,125,2.637,135,0.935,159,0.736,161,1.701,205,1.988,219,5.443,223,3.852,224,2.09,225,3.739,229,2.833,231,1.243,232,1.941,233,2.235,402,4.441,430,4.879,431,5.088,458,2.865,459,5.124,460,4.354,461,6.638,462,4.354,463,6.638,540,2.515,569,3.03,644,4.354,711,2.892,2126,6.461,2127,4.884,2881,7.954,4624,4.073,7653,5.144,7654,6.746,8969,6.023,9104,7.544,9114,6.023,9123,4.884,9126,5.05,9208,8.356,9258,9.293,9269,9.518,9285,5.642,9286,6.633,9292,9.015,9293,6.633,9294,9.703,9295,6.633,9296,6.633,9297,6.633,9298,6.633,9299,6.633,9300,6.633,9301,5.642,9302,6.633,9303,6.284]],["title/classes/DeletionRequestFactory.html",[0,0.24,9304,6.432]],["body/classes/DeletionRequestFactory.html",[0,0.17,2,0.523,3,0.009,4,0.009,5,0.005,7,0.069,8,0.859,27,0.521,29,1.023,30,0.001,31,0.716,32,0.169,33,0.588,34,1.833,35,1.429,47,0.76,49,1.852,55,2.344,59,3.328,83,2.609,95,0.122,96,1.304,97,2.016,101,0.006,103,0,104,0,112,0.581,113,4.493,127,4.989,129,3.607,130,3.295,134,1.739,135,0.971,148,0.736,153,1.767,157,2.062,172,3.161,185,2.556,192,2.709,205,1.83,206,2.425,228,1.35,231,1.291,326,4.853,374,3.217,402,1.762,430,2.024,431,2.111,433,0.607,436,3.889,467,2.165,501,7.093,502,5.538,505,4.124,506,5.538,507,5.307,508,4.124,509,4.124,510,4.124,511,4.06,512,4.562,513,4.97,514,6.108,515,5.853,516,7.009,517,2.753,522,2.73,523,4.124,524,2.753,525,5.22,526,5.37,527,4.226,528,5.051,529,4.092,530,2.73,531,2.574,532,4.182,533,2.628,534,2.574,535,2.73,536,2.753,537,4.893,538,2.73,539,7.178,540,4.231,541,6.683,542,2.753,543,3.608,544,2.73,545,2.753,546,2.73,547,2.753,548,2.73,551,2.73,552,6.155,553,2.753,554,2.73,555,4.124,556,3.762,557,4.124,558,2.753,559,2.648,560,2.61,561,2.209,562,2.73,563,2.73,564,2.73,565,2.753,566,2.753,567,1.871,568,2.73,569,1.532,570,2.753,571,2.941,572,2.73,573,2.753,575,2.824,577,2.932,2080,3.997,2819,2.876,2881,3.059,4479,4.621,4655,6.524,4665,6.318,4667,3.536,9104,2.993,9208,4.854,9212,3.536,9256,3.776,9258,3.687,9269,3.776,9304,8.299,9305,7.437,9306,4.923,9307,7.437,9308,4.923,9309,4.14,9310,4.923,9311,4.923,9312,4.319]],["title/interfaces/DeletionRequestInput.html",[159,0.713,2828,5.639]],["body/interfaces/DeletionRequestInput.html",[3,0.019,4,0.019,5,0.009,7,0.143,30,0.001,32,0.152,33,0.561,55,2.613,95,0.116,101,0.013,103,0.001,104,0.001,112,0.953,159,1.045,161,2.416,193,5.296,2819,5.944,2828,9.895,2882,8.829,2900,5.786,2992,4.611,9001,8.557,9210,9.536,9313,8.928,9314,11.374,9315,10.176]],["title/classes/DeletionRequestInputBuilder.html",[0,0.24,2814,6.094]],["body/classes/DeletionRequestInputBuilder.html",[0,0.325,2,1.003,3,0.018,4,0.018,5,0.009,7,0.133,8,1.344,27,0.372,29,0.724,30,0.001,31,0.529,32,0.118,33,0.434,35,1.093,47,0.978,55,2.528,59,2.929,95,0.133,101,0.012,103,0.001,104,0.001,148,0.934,159,0.969,193,5.485,467,3.675,507,5.127,2814,10.212,2819,5.511,2828,10.249,2881,5.862,2882,8.605,2900,5.365,2992,4.275,9208,8.605,9210,6.652,9316,10.212,9317,8.277,9318,10.212,9319,9.435,9320,8.277,9321,9.435,9322,9.435]],["title/interfaces/DeletionRequestLog.html",[159,0.713,9209,5.327]],["body/interfaces/DeletionRequestLog.html",[3,0.017,4,0.017,5,0.008,7,0.126,26,2.669,30,0.001,32,0.154,33,0.519,55,2.471,83,3.769,95,0.129,99,1.839,101,0.018,103,0.001,104,0.001,112,0.882,159,1.37,161,2.13,1882,4.302,2824,6.024,2825,8.83,2881,5.574,2882,5.856,8810,5.937,9087,6.024,9104,7.87,9202,8.972,9204,8.694,9205,7.283,9206,7.066,9207,7.066,9208,7.364,9209,8.652,9210,9.407,9211,9.93,9212,6.443,9213,7.283,9214,7.066]],["title/classes/DeletionRequestLogResponse.html",[0,0.24,9323,5.841]],["body/classes/DeletionRequestLogResponse.html",[0,0.384,2,0.933,3,0.017,4,0.017,5,0.008,7,0.123,27,0.506,29,0.673,30,0.001,31,0.492,32,0.16,33,0.562,83,3.239,95,0.139,101,0.012,103,0.001,104,0.001,112,0.87,159,0.901,190,2.192,193,5.759,200,2.688,202,2.015,296,3.537,300,4.258,433,1.083,871,3.212,2825,8.084,6829,8.532,9040,11.145,9202,8.465,9204,8.202,9210,8.612,9211,9.368,9323,11.145,9324,8.775,9325,11.125,9326,8.775,9327,8.775,9328,8.775,9329,8.775,9330,8.775,9331,8.126,9332,8.126,9333,8.775,9334,8.775]],["title/classes/DeletionRequestLogResponseBuilder.html",[0,0.24,9335,6.432]],["body/classes/DeletionRequestLogResponseBuilder.html",[0,0.322,2,0.994,3,0.018,4,0.018,5,0.009,7,0.131,8,1.336,27,0.368,29,0.717,30,0.001,31,0.524,32,0.117,33,0.43,35,1.083,59,2.901,83,3.66,95,0.132,101,0.012,103,0.001,104,0.001,135,1.221,148,0.926,159,0.96,193,5.028,467,3.66,507,5.537,837,4.614,2825,8.695,4923,7.891,7182,8.2,9202,9.105,9204,8.822,9209,8.876,9210,8.864,9211,10.076,9216,9.732,9323,10.572,9335,10.717,9336,9.347,9337,8.656]],["title/classes/DeletionRequestMapper.html",[0,0.24,9338,6.094]],["body/classes/DeletionRequestMapper.html",[0,0.3,2,0.925,3,0.017,4,0.017,5,0.008,7,0.122,8,1.277,27,0.436,29,0.848,30,0.001,31,0.62,32,0.138,33,0.509,34,1.892,35,1.282,95,0.126,101,0.011,103,0.001,104,0.001,148,1.096,153,1.824,205,2.259,402,3.959,430,4.549,431,4.744,467,3.934,1770,3.534,2496,6.133,2881,6.874,4724,9.303,4727,9.303,4728,9.303,4734,9.303,4737,5.405,4751,6.672,4752,6.672,6807,6.852,9141,11.266,9149,6.852,9157,7.315,9158,7.315,9208,7.222,9256,10.529,9258,8.284,9285,10.814,9309,7.315,9338,9.706,9339,8.055,9340,8.055,9341,8.699,9342,8.699,9343,8.699,9344,8.699,9345,8.699,9346,8.699,9347,8.699,9348,8.699]],["title/interfaces/DeletionRequestOutput.html",[159,0.713,2834,5.639]],["body/interfaces/DeletionRequestOutput.html",[3,0.02,4,0.02,5,0.01,7,0.147,30,0.001,32,0.155,47,0.936,83,3.844,101,0.014,103,0.001,104,0.001,112,0.969,159,1.075,161,2.485,193,4.548,2824,9.167,2825,9.035,2834,10.063,9001,8.803,9349,9.694]],["title/classes/DeletionRequestOutputBuilder.html",[0,0.24,9350,6.432]],["body/classes/DeletionRequestOutputBuilder.html",[0,0.34,2,1.047,3,0.019,4,0.019,5,0.009,7,0.138,8,1.38,27,0.388,29,0.755,30,0.001,31,0.552,32,0.123,33,0.453,35,1.142,47,0.912,83,3.746,95,0.112,101,0.013,103,0.001,104,0.001,148,0.976,159,1.012,193,5.193,467,3.746,507,5.264,2824,8.026,2825,8.855,2834,10.446,9316,10.486,9350,11.068,9351,9.123,9352,11.068,9353,9.123]],["title/interfaces/DeletionRequestProps.html",[159,0.713,9212,4.989]],["body/interfaces/DeletionRequestProps.html",[0,0.282,3,0.016,4,0.016,5,0.008,7,0.115,26,2.673,30,0.001,32,0.166,33,0.575,83,4.127,95,0.135,99,1.674,101,0.014,103,0.001,104,0.001,112,0.831,125,2.533,134,2.886,148,1.316,159,0.839,161,1.939,185,2.807,231,2.049,402,4.638,430,5.33,431,5.558,1767,6.497,1770,4.317,1849,4.728,2881,8.054,3074,5.66,3075,5.66,9084,6.869,9104,7.88,9208,8.462,9212,7.631,9256,6.264,9257,7.564,9258,9.707,9269,9.942,9270,7.564,9271,7.564,9272,7.564,9273,7.564]],["title/interfaces/DeletionRequestProps-1.html",[159,0.593,756,2.284,9212,4.148]],["body/interfaces/DeletionRequestProps-1.html",[3,0.017,4,0.017,5,0.008,7,0.128,26,2.68,30,0.001,32,0.162,33,0.523,55,2.681,83,3.307,95,0.13,99,1.86,101,0.018,103,0.001,104,0.001,112,0.888,159,1.375,161,2.154,172,4.829,1882,4.333,2824,6.092,2825,7.519,2881,5.637,2882,8.486,8810,6.004,9087,6.092,9104,7.902,9202,7.873,9204,7.628,9205,7.365,9206,7.146,9207,7.146,9208,7.416,9209,6.958,9210,9.438,9211,6.958,9212,8.159,9213,7.365,9214,7.146]],["title/injectables/DeletionRequestRepo.html",[589,0.929,9224,5.841]],["body/injectables/DeletionRequestRepo.html",[0,0.188,3,0.01,4,0.01,5,0.005,7,0.077,8,0.927,12,3.639,26,2.754,27,0.499,29,0.953,30,0.001,31,0.696,32,0.155,33,0.572,34,1.797,35,1.403,36,2.856,55,1.908,56,3.791,59,1.694,83,1.589,95,0.142,96,1.445,97,2.236,99,1.119,101,0.007,103,0,104,0,135,1.745,142,1.992,148,1.16,153,1.324,193,2.372,195,2.084,205,1.64,228,0.991,277,0.788,317,3.039,400,1.625,430,2.245,433,0.674,589,1.074,591,1.301,595,2.06,657,2.955,729,5.566,734,3.371,735,3.675,736,4.732,766,2.958,770,3.431,788,3.722,2231,4.567,2448,5.875,2819,3.189,3218,4.649,3608,3.563,3613,4.692,3674,4.186,4834,6.082,6244,3.289,7843,3.849,7884,4.186,9088,9.103,9149,4.3,9166,11.311,9178,5.055,9224,6.754,9256,10.335,9285,9.785,9309,4.59,9338,4.789,9354,5.459,9355,8.032,9356,7.437,9357,7.437,9358,5.459,9359,8.032,9360,5.459,9361,7.437,9362,5.459,9363,8.032,9364,5.459,9365,7.437,9366,5.459,9367,7.437,9368,5.459,9369,7.437,9370,5.459,9371,8.032,9372,5.459,9373,5.459,9374,4.789,9375,4.789,9376,10.508,9377,5.459,9378,8.032,9379,5.459,9380,4.789,9381,5.459,9382,5.459,9383,5.459,9384,5.459,9385,5.459,9386,5.459,9387,5.459,9388,5.459,9389,5.459,9390,5.459,9391,8.032,9392,5.459,9393,4.789]],["title/classes/DeletionRequestResponse.html",[0,0.24,9394,6.094]],["body/classes/DeletionRequestResponse.html",[0,0.329,2,1.015,3,0.018,4,0.018,5,0.009,7,0.134,27,0.5,29,0.732,30,0.001,31,0.535,32,0.158,33,0.439,47,0.831,83,3.414,95,0.109,101,0.013,103,0.001,104,0.001,112,0.917,190,2.104,202,2.193,296,3.549,433,1.178,871,3.495,2824,8.522,2825,8.399,6829,8.993,9040,11.13,9331,8.841,9332,8.841,9394,11.919,9395,8.841,9396,11.726,9397,9.547,9398,9.547,9399,9.547]],["title/classes/DeletionRequestScope.html",[0,0.24,9374,6.094]],["body/classes/DeletionRequestScope.html",[0,0.269,2,0.829,3,0.015,4,0.015,5,0.007,7,0.11,8,1.19,27,0.527,29,0.886,30,0.001,31,0.647,32,0.164,33,0.531,35,1.423,83,3.362,95,0.132,101,0.01,103,0,104,0,112,0.806,122,2.409,129,2.335,130,2.134,148,1.021,193,5.017,205,1.593,231,1.79,279,3.275,365,3.485,402,2.792,436,3.794,569,2.429,652,2.679,2487,6.877,6244,5.63,6891,6.923,6892,6.923,6893,6.923,6898,6.923,6899,6.923,6900,5.32,6901,5.24,6902,5.32,6903,5.32,6912,5.24,6913,6.923,6914,5.32,6915,5.24,6916,5.32,6917,5.24,6918,6.923,9123,5.32,9166,10.131,9258,5.843,9269,5.984,9285,6.146,9303,6.846,9312,6.846,9374,11.512,9380,9.045,9400,6.146,9401,10.31,9402,12.284,9403,10.31,9404,7.226,9405,7.803,9406,6.846]],["title/injectables/DeletionRequestService.html",[589,0.929,9223,6.094]],["body/injectables/DeletionRequestService.html",[0,0.207,3,0.011,4,0.011,5,0.006,7,0.085,8,0.995,12,3.905,26,2.859,27,0.503,29,0.978,30,0.001,31,0.715,32,0.159,33,0.587,34,1.029,35,1.445,36,2.903,49,2.262,55,2.331,56,2.839,59,1.867,83,1.751,95,0.138,96,1.593,97,2.463,99,1.233,101,0.008,103,0,104,0,129,1.8,130,1.645,135,1.436,148,1.153,153,1.66,228,1.092,277,0.868,317,3.074,400,1.791,402,2.152,433,0.742,589,1.152,591,1.434,657,2.668,729,5.972,2824,4.039,2825,3.981,2881,6.833,2882,7.179,2885,7.98,3218,4.988,4479,3.737,9088,8.058,9104,6.685,9123,4.101,9149,4.737,9189,12.029,9208,6.574,9223,7.56,9224,10.185,9228,5.57,9229,5.57,9256,9.963,9258,4.504,9269,4.613,9309,5.058,9312,5.277,9356,7.98,9357,7.98,9361,7.98,9365,7.98,9367,7.98,9369,7.98,9407,6.015,9408,10.07,9409,8.618,9410,6.015,9411,6.015,9412,6.015,9413,6.015,9414,6.015,9415,8.618,9416,6.015,9417,6.015,9418,6.015,9419,6.015,9420,8.618,9421,6.015,9422,6.015,9423,8.618,9424,6.015,9425,6.015,9426,6.015,9427,6.015,9428,6.015,9429,6.015,9430,8.618,9431,6.015,9432,6.015,9433,6.015,9434,6.015,9435,6.015]],["title/interfaces/DeletionRequestTargetRefInput.html",[159,0.713,9314,5.841]],["body/interfaces/DeletionRequestTargetRefInput.html",[3,0.02,4,0.02,5,0.01,7,0.146,30,0.001,32,0.154,34,2.331,47,1.001,101,0.014,103,0.001,104,0.001,112,0.966,159,1.07,161,2.472,193,4.525,1882,5.198,2900,5.922,2992,4.719,9001,8.757,9313,9.136,9314,10.391]],["title/classes/DeletionRequestTargetRefInputBuilder.html",[0,0.24,9320,6.094]],["body/classes/DeletionRequestTargetRefInputBuilder.html",[0,0.336,2,1.037,3,0.019,4,0.019,5,0.009,7,0.137,8,1.372,27,0.384,29,0.748,30,0.001,31,0.547,32,0.122,33,0.449,34,2.281,35,1.13,47,0.986,95,0.111,101,0.013,103,0.001,104,0.001,148,0.966,159,1.002,193,5.162,467,3.73,507,5.233,1882,4.531,2900,6.756,2992,5.384,9218,9.992,9314,10.774,9316,10.424,9317,8.559,9320,10.424,9436,9.034]],["title/controllers/DeletionRequestsController.html",[314,2.658,8927,6.094]],["body/controllers/DeletionRequestsController.html",[0,0.234,3,0.013,4,0.013,5,0.006,7,0.096,8,1.084,10,2.73,27,0.424,29,0.825,30,0.001,31,0.603,32,0.161,33,0.495,35,1.412,36,2.46,47,0.893,95,0.139,100,2.372,101,0.009,103,0,104,0,148,1.207,157,2.672,158,2.514,190,1.932,193,5.044,202,1.561,228,1.234,274,2.842,277,0.981,314,2.602,316,3.28,317,2.899,333,6.308,379,4.782,388,2.915,390,6.846,391,7.133,392,3.554,400,2.024,401,6.018,402,3.851,1355,6.659,1396,6.052,1545,4.793,2124,3.604,2819,7.979,2824,7.795,2903,8.699,3017,3.209,3222,4.565,3223,5.169,3240,6.883,3241,5.091,5065,8.699,8925,9.443,8927,8.241,8969,5.717,8980,8.699,9033,10.185,9067,10.751,9076,5.965,9077,5.717,9079,6.296,9274,9.763,9323,9.051,9394,9.443,9437,6.799,9438,9.394,9439,10.763,9440,9.394,9441,6.799,9442,6.799,9443,9.394,9444,6.799,9445,6.799,9446,6.799,9447,12.6,9448,6.799,9449,9.394,9450,6.799,9451,6.799,9452,9.394,9453,6.799,9454,6.799,9455,6.799,9456,6.799,9457,6.799,9458,6.799,9459,6.799,9460,6.799,9461,6.799,9462,6.799,9463,6.799,9464,6.799,9465,6.799]],["title/interfaces/DeletionTargetRef.html",[159,0.713,9204,4.664]],["body/interfaces/DeletionTargetRef.html",[3,0.019,4,0.019,5,0.009,7,0.14,26,2.77,30,0.001,32,0.15,34,2.298,55,2.412,95,0.137,99,2.044,101,0.016,103,0.001,104,0.001,112,0.941,159,1.237,161,2.368,1882,5.245,8810,6.601,9087,6.697,9104,8.36,9123,6.8,9202,6.912,9203,9.236,9204,8.086]],["title/interfaces/DeletionTargetRef-1.html",[159,0.593,756,2.284,9204,3.878]],["body/interfaces/DeletionTargetRef-1.html",[3,0.017,4,0.017,5,0.008,7,0.129,26,2.822,30,0.001,32,0.142,55,2.494,83,3.326,95,0.13,99,1.876,101,0.018,103,0.001,104,0.001,112,0.893,159,1.379,161,2.174,1882,4.357,2824,6.147,2825,7.562,2881,8.104,2882,5.976,8810,6.059,9087,6.147,9104,8.32,9202,7.917,9204,8.363,9205,7.433,9206,7.211,9207,7.211,9208,8.762,9209,7.021,9210,8.055,9211,7.021,9212,6.575,9213,7.433,9214,7.211]],["title/classes/DeletionTargetRefBuilder.html",[0,0.24,9466,5.841]],["body/classes/DeletionTargetRefBuilder.html",[0,0.328,2,1.012,3,0.018,4,0.018,5,0.009,7,0.134,8,1.352,26,2.727,27,0.375,29,0.73,30,0.001,31,0.534,32,0.119,33,0.438,34,2.262,35,1.104,95,0.145,99,1.952,101,0.012,103,0.001,104,0.001,135,1.244,148,0.943,159,0.978,467,3.691,507,5.157,1882,4.465,2992,5.305,9104,8.039,9123,6.494,9204,9.116,9216,9.846,9218,9.846,9466,9.846,9467,8.82,9468,8.82]],["title/classes/DeletionTargetRefBuilder-1.html",[0,0.199,756,2.284,9466,4.856]],["body/classes/DeletionTargetRefBuilder-1.html",[0,0.327,2,1.008,3,0.018,4,0.018,5,0.009,7,0.133,8,1.348,26,2.722,27,0.373,29,0.727,30,0.001,31,0.531,32,0.118,33,0.436,35,1.098,95,0.144,99,1.943,101,0.012,103,0.001,104,0.001,135,1.238,148,0.939,467,3.683,507,5.142,1882,3.615,2881,7.254,2992,5.29,9104,8.026,9204,9.104,9206,7.467,9207,7.467,9208,8.619,9318,10.242,9466,9.817,9467,8.778,9468,8.778,9469,11.675,9470,9.479]],["title/classes/DeprecatedVideoConferenceInfoResponse.html",[0,0.24,9471,5.471]],["body/classes/DeprecatedVideoConferenceInfoResponse.html",[0,0.389,2,1.337,3,0.014,4,0.014,5,0.007,7,0.105,27,0.496,29,0.572,30,0.001,31,0.418,32,0.161,33,0.579,47,0.8,95,0.114,101,0.015,102,6.394,103,0,104,0,110,2.578,112,0.782,122,2.355,153,1.989,172,3.169,231,1.959,289,6.533,402,4.039,412,5.337,433,0.92,436,3.353,540,3.963,595,2.814,693,5.898,871,4.416,1076,4.743,2126,4.355,2137,5.941,2532,7.184,7127,4.039,8978,5.583,9471,9.91,9472,8.891,9473,7.647,9474,6.541,9475,8.327,9476,10.593,9477,9.501,9478,7.455,9479,7.455,9480,6.904,9481,9.164,9482,6.904,9483,6.904,9484,6.269,9485,5.256,9486,6.269,9487,6.053,9488,6.541,9489,8.12,9490,8.775,9491,6.269,9492,5.355,9493,5.166,9494,5.166,9495,5.463,9496,6.269]],["title/classes/DeprecatedVideoConferenceJoinResponse.html",[0,0.24,9489,5.639]],["body/classes/DeprecatedVideoConferenceJoinResponse.html",[0,0.39,2,1.338,3,0.014,4,0.014,5,0.007,7,0.105,27,0.496,29,0.573,30,0.001,31,0.419,32,0.157,33,0.579,47,0.856,95,0.114,101,0.015,102,6.399,103,0,104,0,110,3.906,112,0.783,122,2.357,153,1.99,231,1.961,289,6.539,402,4.043,412,5.341,433,0.922,436,3.356,540,2.622,595,2.819,693,5.901,871,4.419,1076,4.752,2126,4.363,2137,5.947,2532,7.189,7127,4.047,8978,5.593,9471,7.888,9472,8.899,9473,7.65,9474,6.553,9475,8.332,9476,10.597,9477,9.509,9480,6.917,9481,9.173,9482,6.917,9483,6.917,9484,6.281,9485,5.266,9486,6.281,9487,6.064,9488,6.553,9489,10.221,9490,8.786,9491,6.281,9492,5.364,9493,5.176,9494,5.176,9495,5.473,9496,6.281,9497,10.015]],["title/classes/DoBaseFactory.html",[0,0.24,4665,4.897]],["body/classes/DoBaseFactory.html",[0,0.176,2,0.544,3,0.01,4,0.01,5,0.005,7,0.072,8,0.884,27,0.52,29,1.021,30,0.001,31,0.712,32,0.169,33,0.584,34,1.864,35,1.445,47,0.65,49,1.925,55,2.375,59,3.384,95,0.105,96,1.355,97,2.096,101,0.007,103,0,104,0,112,0.599,113,4.559,127,5.087,129,3.649,130,3.409,135,0.668,148,0.507,153,0.844,157,2.111,172,3.254,185,2.631,192,2.816,195,1.119,205,2.226,206,2.497,228,1.389,231,1.329,326,4.824,374,3.312,433,0.631,436,3.919,467,2.229,501,7.33,502,5.647,505,4.246,506,5.647,507,5.37,508,4.246,509,4.246,510,4.246,511,4.18,512,4.67,513,5.087,514,6.198,515,5.951,516,7.06,517,2.861,522,2.838,523,4.246,524,2.861,525,5.322,526,5.476,527,4.31,528,5.151,529,4.213,530,2.838,531,2.675,532,4.523,533,2.732,534,2.675,535,2.838,536,2.861,537,5.008,538,2.838,539,7.238,540,4.457,541,7.04,542,2.861,543,3.715,544,2.838,545,2.861,546,2.838,547,2.861,548,4.246,551,2.838,552,6.245,553,2.861,554,2.838,555,4.246,556,3.873,557,4.246,558,2.861,559,2.752,560,2.713,561,2.297,562,2.838,563,2.838,564,2.838,565,2.861,566,2.861,567,1.945,568,2.838,569,1.593,570,2.861,571,3.628,572,2.838,573,2.861,575,2.936,576,3.018,1086,2.442,1087,2.366,1088,2.403,1089,2.557,1090,2.794,1476,3.144,2134,3.608,2603,4.739,4479,3.18,4665,5.398,4667,3.676,9498,5.118,9499,5.118,9500,5.118,9501,5.118]],["title/classes/DomainObject.html",[0,0.24,1770,2.822]],["body/classes/DomainObject.html",[0,0.304,2,0.937,3,0.017,4,0.017,5,0.008,7,0.124,8,1.288,9,4.095,26,2.523,27,0.507,29,0.676,30,0.001,31,0.494,32,0.139,33,0.406,34,2.2,35,1.021,95,0.101,101,0.015,103,0.001,104,0.001,112,0.872,113,4.878,134,3.114,135,1.151,148,1.105,159,0.905,232,3.022,433,1.087,435,4.506,532,5.108,711,3.821,735,5.105,1237,3.288,1767,6.734,1768,12.29,1769,7.732,1770,4.533,1771,9.381,1772,8.162,1773,7.905,1774,10.33,8329,7.411,9502,11.156,9503,8.814,9504,8.814]],["title/classes/DomainObjectFactory.html",[0,0.24,9505,6.432]],["body/classes/DomainObjectFactory.html",[0,0.17,2,0.525,3,0.009,4,0.009,5,0.005,7,0.069,8,0.861,27,0.516,29,1.015,30,0.001,31,0.705,32,0.168,33,0.579,34,1.931,35,1.431,47,0.637,55,2.347,59,3.333,95,0.114,101,0.006,103,0,104,0,112,0.583,113,4.499,127,4.999,129,3.611,130,3.299,153,0.815,157,2.067,172,3.17,185,3.087,192,2.719,205,1.834,206,2.432,228,1.353,231,1.736,277,0.713,326,4.782,374,3.226,411,3.7,412,2.186,433,0.61,436,3.891,467,2.171,501,7.287,502,5.548,505,4.136,506,5.548,507,5.438,508,4.136,509,4.136,510,4.136,511,4.071,512,4.573,513,4.981,514,6.117,515,5.862,516,7.014,517,2.763,522,2.74,523,4.136,524,2.763,525,5.23,526,5.38,527,4.234,528,5.061,529,4.103,530,2.74,531,2.583,532,4.476,533,2.638,534,2.583,535,2.74,536,2.763,537,4.904,538,2.74,539,7.184,540,4.335,541,6.978,542,2.763,543,3.618,544,2.74,545,2.763,546,2.74,547,2.763,548,4.136,551,2.74,552,6.163,553,2.763,554,2.74,555,4.136,556,3.772,557,4.136,558,2.763,559,4.83,560,3.953,561,2.218,562,2.74,563,2.74,564,2.74,565,2.763,566,2.763,567,2.834,568,2.74,569,1.538,570,2.763,571,3.957,572,2.74,573,2.763,575,2.834,576,2.914,579,1.428,1086,3.558,1087,3.447,1088,3.501,1089,3.726,1090,4.071,1170,3.106,1476,3.036,1767,4.103,1770,3.03,1849,2.86,1882,1.885,2059,3.621,2060,3.549,2134,3.484,4184,3.424,7173,3.27,9505,6.906,9506,4.941,9507,4.941,9508,4.941,9509,7.457,9510,3.621]],["title/classes/DownloadFileParams.html",[0,0.24,7161,4.736]],["body/classes/DownloadFileParams.html",[0,0.471,2,0.691,3,0.012,4,0.017,5,0.008,7,0.091,26,2.63,27,0.359,30,0.001,32,0.155,39,1.799,47,0.977,95,0.146,99,1.333,101,0.018,103,0,104,0,110,2.248,112,0.712,122,1.9,157,1.496,159,0.668,190,1.634,195,1.422,199,5.05,200,1.992,201,4.421,202,1.493,203,6.115,205,1.327,296,3.694,298,2.812,299,4.842,300,4.358,403,3.289,855,5.028,856,6.315,886,3.306,899,2.961,1078,2.85,1080,2.241,1169,3.763,1237,1.917,1290,5.867,1291,4.303,1292,4.303,2992,4.762,3182,4.908,3901,3.069,4557,2.276,5228,7.535,6345,4.505,6622,3.069,6803,6.447,7094,6.42,7096,4.244,7097,7.723,7102,4.987,7116,6.956,7146,4.505,7147,4.584,7148,4.584,7149,5.467,7153,4.505,7154,8.223,7155,8.028,7156,8.028,7157,4.584,7158,4.505,7159,4.505,7160,4.584,7161,6.209,7162,7.764,7163,4.366,7164,4.433,7165,4.505,7166,4.433,7167,4.189,7168,4.584,7169,4.584,7170,4.584,7171,4.189,7172,4.189,7173,4.303,7174,4.433,7175,4.584,9511,6.502,9512,6.502]],["title/classes/DrawingContentBody.html",[0,0.24,6460,4.534]],["body/classes/DrawingContentBody.html",[0,0.471,2,0.581,3,0.01,4,0.01,5,0.005,7,0.077,9,2.54,27,0.215,30,0.001,31,0.679,32,0.173,47,0.914,83,1.591,95,0.128,99,1.12,101,0.018,103,0,104,0,110,1.89,112,0.628,130,3.313,155,1.734,157,2.697,190,0.981,195,1.196,200,1.674,201,3.703,202,1.255,223,1.697,231,2.034,296,3.695,299,4.943,300,4.485,339,1.603,360,3.108,854,5.053,855,3.254,886,1.72,899,2.489,1232,3.164,1749,3.108,1853,1.787,2048,3.875,2392,4.469,2707,3.788,2894,2.608,2900,6.663,3140,2.465,3182,2.553,3545,3.223,3547,3.223,3550,3.193,3553,4.951,3557,2.819,3562,3.056,4034,3.359,4055,3.359,4454,5.459,6365,5.994,6367,6.067,6369,5.994,6371,6.69,6373,6.067,6375,6.067,6423,3.521,6460,6.864,6461,6.225,6462,6.225,6463,6.225,6464,6.225,6465,6.225,6803,6.684,7898,3.568,7968,3.193,9513,5.398,9514,3.67,9515,5.466,9516,8.225,9517,6.225,9518,6.225,9519,6.225,9520,3.67,9521,6.225,9522,3.359,9523,3.618,9524,6.225,9525,6.864,9526,3.568,9527,3.568,9528,3.568,9529,3.568,9530,3.67,9531,3.67,9532,3.67,9533,3.67,9534,3.67,9535,3.67]],["title/classes/DrawingElement.html",[0,0.24,3115,4.597]],["body/classes/DrawingElement.html",[0,0.234,2,0.72,3,0.013,4,0.013,5,0.006,7,0.095,8,1.082,27,0.532,29,0.965,30,0.001,31,0.706,32,0.164,33,0.579,35,1.524,36,1.986,47,0.863,55,1.877,59,2.103,95,0.107,101,0.014,103,0,104,0,112,0.733,113,3.735,122,2.241,130,2.563,134,2.394,148,1.064,157,2.668,158,2.505,159,0.696,189,5.758,197,1.884,231,1.865,317,2.332,435,3.182,436,3.906,527,2.868,532,3.477,567,2.575,569,3.787,653,2.797,657,1.553,711,2.784,735,4.289,1770,3.808,1773,6.602,1842,4.268,2050,2.856,2648,6.005,3039,8.031,3042,6.608,3043,6.608,3044,6.608,3045,7.567,3046,6.608,3048,4.259,3049,5.697,3050,6.772,3052,6.494,3053,5.697,3054,6.65,3056,4.695,3057,5.004,3059,6.753,3060,4.695,3064,4.695,3066,4.259,3093,5.638,3115,7.672,4315,4.867,4316,4.867,4317,4.867,4326,4.21,5886,7.609,9536,9.949,9537,4.695,9538,6.275,9539,5.945,9540,6.275,9541,6.275,9542,5.698,9543,6.275,9544,5.698,9545,5.698,9546,6.275,9547,6.275,9548,5.945,9549,6.275]],["title/injectables/DrawingElementAdapterService.html",[589,0.929,3863,5.639]],["body/injectables/DrawingElementAdapterService.html",[0,0.299,3,0.016,4,0.016,5,0.008,7,0.122,8,1.274,27,0.435,29,0.846,30,0.001,31,0.618,32,0.138,33,0.508,35,1.004,36,2.338,47,0.861,95,0.151,101,0.011,103,0.001,104,0.001,189,5.322,228,1.572,277,1.25,317,2.635,400,2.579,433,1.069,589,1.475,591,2.065,652,1.768,657,1.985,1027,2.66,1053,9.351,1054,4.883,1056,5.58,1169,5.013,1611,7.032,2048,4.933,2218,3.869,2219,4.354,2220,4.202,2381,8.69,2449,4.611,2450,6.001,3262,5.816,3863,8.957,3870,10.651,4228,5.06,9550,11.243,9551,8.021,9552,11.033,9553,8.661,9554,11.033,9555,8.661,9556,6.107,9557,8.661,9558,8.661,9559,8.661,9560,8.661]],["title/classes/DrawingElementContent.html",[0,0.24,9561,5.841]],["body/classes/DrawingElementContent.html",[0,0.381,2,0.925,3,0.017,4,0.017,5,0.008,7,0.122,27,0.436,29,0.667,30,0.001,31,0.488,32,0.165,33,0.4,34,2.081,47,0.862,95,0.139,101,0.015,103,0.001,104,0.001,112,0.865,157,3.042,190,1.561,202,1.998,296,3.586,304,4.295,433,1.501,458,3.48,821,4.429,886,2.737,1853,2.845,2108,3.797,2392,4.64,2908,7.041,3178,4.644,3179,4.644,3182,4.063,3727,5.931,3739,5.13,3988,6.346,3992,5.678,3994,5.678,4372,8.485,4454,6.316,6371,5.534,7459,5.18,9561,11.362,9562,11.266,9563,7.315,9564,8.055]],["title/classes/DrawingElementContentBody.html",[0,0.24,9519,4.534]],["body/classes/DrawingElementContentBody.html",[0,0.47,2,0.569,3,0.01,4,0.01,5,0.005,7,0.075,9,2.489,27,0.312,30,0.001,31,0.675,32,0.175,47,0.895,83,1.559,95,0.127,99,1.098,101,0.018,103,0,104,0,110,1.852,112,0.619,125,1.277,130,3.291,155,1.699,157,2.396,190,1.421,195,1.172,200,1.641,201,3.659,202,1.23,223,1.663,231,2.089,296,3.686,299,4.917,300,4.452,339,1.571,360,3.046,436,1.591,854,4.979,855,3.206,866,2.66,886,1.685,899,2.439,1232,3.1,1749,3.046,1853,1.752,2048,3.829,2392,4.713,2894,2.556,2900,6.615,3140,2.415,3182,2.502,3545,3.159,3547,3.159,3550,3.129,3553,4.893,3557,2.763,3562,2.995,4034,3.291,4055,3.291,4454,5.406,6365,5.924,6367,5.996,6369,5.924,6371,7.069,6373,5.996,6375,5.996,6423,3.451,6460,6.797,6461,6.152,6462,6.152,6463,6.152,6464,6.152,6465,6.152,6803,6.645,7898,3.497,7968,3.129,9513,5.319,9514,3.597,9516,8.495,9517,6.152,9518,6.152,9519,6.797,9520,3.597,9521,6.152,9522,3.291,9523,3.545,9524,6.152,9525,6.797,9526,3.497,9527,3.497,9528,3.497,9529,3.497,9530,3.597,9531,3.597,9532,3.597,9533,3.597,9534,3.597,9535,3.597,9565,4.108,9566,5.357,9567,5.357]],["title/entities/DrawingElementNode.html",[205,1.418,3464,5.471]],["body/entities/DrawingElementNode.html",[0,0.314,3,0.017,4,0.017,5,0.008,7,0.128,27,0.358,30,0.001,32,0.113,47,0.88,95,0.149,96,2.408,101,0.015,103,0.001,104,0.001,112,0.889,134,3.213,135,1.188,148,0.9,157,2.994,159,0.934,190,1.632,205,2.323,206,2.965,223,3.854,224,2.654,231,1.975,232,2.464,457,5.043,1770,4.622,1853,2.973,2048,4.622,2108,3.969,2648,5.428,2701,5.127,3431,6.074,3441,6.775,3464,8.961,3513,5.527,3539,9.981,3889,6.915,3910,5.587,4417,5.716,4419,5.716,7458,6.018,7459,5.415,9568,10.535,9569,7.646,9570,9.981,9571,8.42]],["title/interfaces/DrawingElementNodeProps.html",[159,0.713,9570,6.094]],["body/interfaces/DrawingElementNodeProps.html",[0,0.316,3,0.017,4,0.017,5,0.008,7,0.129,30,0.001,32,0.114,47,0.925,95,0.149,96,2.424,101,0.015,103,0.001,104,0.001,112,0.893,134,3.235,135,1.196,148,0.907,157,3.089,159,0.94,161,2.174,205,2.333,223,3.546,224,2.672,231,2.162,232,2.48,457,5.078,1770,4.642,1853,2.994,2048,3.72,2108,3.996,2648,5.451,2701,5.162,3431,6.1,3441,6.804,3464,7.211,3513,5.565,3539,10.024,3889,7.571,3910,5.625,4417,5.755,4419,5.755,7458,6.059,7459,5.452,9568,8.478,9570,10.927,9571,8.478]],["title/interfaces/DrawingElementProps.html",[159,0.713,9548,6.094]],["body/interfaces/DrawingElementProps.html",[0,0.311,3,0.017,4,0.017,5,0.008,7,0.127,30,0.001,32,0.141,36,1.914,47,0.948,95,0.129,101,0.016,103,0.001,104,0.001,112,0.886,122,1.884,130,2.47,134,3.191,148,1.226,157,3.077,158,3.339,159,0.928,161,2.144,197,2.511,231,2.148,317,1.96,527,3.823,567,3.432,569,2.811,653,3.729,657,2.07,1842,5.159,2050,3.807,3039,6.815,3045,5.896,3049,5.49,3050,6.618,3053,5.49,3054,6.498,3093,7.446,3115,8.192,4326,5.612,5886,9.197,9536,8.364,9537,6.259,9545,7.595,9546,8.364,9547,8.364,9548,9.939,9549,8.364]],["title/classes/DrawingElementResponse.html",[0,0.24,4372,5.327]],["body/classes/DrawingElementResponse.html",[0,0.363,2,0.854,3,0.015,4,0.015,5,0.007,7,0.113,27,0.508,29,0.616,30,0.001,31,0.451,32,0.174,33,0.37,34,2.206,47,0.831,95,0.134,101,0.014,103,0.001,104,0.001,112,0.822,157,2.696,190,2.23,202,1.846,296,3.571,304,3.968,433,1.446,458,3.215,821,4.092,886,2.528,1853,2.628,2108,3.508,2392,4.918,2908,7.464,3177,5.246,3178,5.613,3179,5.613,3181,4.786,3182,4.91,3727,5.48,3739,4.74,3988,6.721,3992,5.246,3994,5.246,4372,9.891,4454,6.696,6371,6.688,7459,4.786,9561,10.45,9562,12.251,9572,6.759,9573,7.443,9574,7.051,9575,7.443,9576,7.051]],["title/classes/DrawingElementResponseMapper.html",[0,0.24,6395,6.094]],["body/classes/DrawingElementResponseMapper.html",[0,0.266,2,0.82,3,0.015,4,0.015,5,0.007,7,0.108,8,1.181,27,0.482,29,0.785,30,0.001,31,0.574,32,0.152,33,0.471,34,1.319,35,1.33,95,0.145,100,2.691,101,0.01,103,0,104,0,112,0.8,122,2.134,135,1.007,141,4.387,148,1.137,153,2.016,157,1.775,430,3.172,467,3.808,652,2.344,653,3.184,711,2.291,829,4.549,830,5.675,1237,3.016,1853,2.522,2048,5.506,2139,4.464,2392,2.942,2639,8.413,2642,7.847,2643,7.847,2645,7.662,2908,4.464,3115,8.968,3135,5.438,3520,5.915,3988,5.869,4004,5.438,4372,9.378,4454,4.005,5883,7.134,6371,4.907,6394,5.915,6395,11.707,9561,8.604,9577,12.725,9578,9.157,9579,6.075,9580,6.767,9581,7.713,9582,6.767,9583,7.713,9584,6.767,9585,11.481,9586,6.075,9587,6.075,9588,6.075,9589,7.142]],["title/classes/DtoCreator.html",[0,0.24,9590,6.094]],["body/classes/DtoCreator.html",[0,0.209,2,0.402,3,0.007,4,0.007,5,0.003,7,0.053,8,0.699,27,0.503,29,0.846,30,0.001,31,0.638,32,0.165,33,0.507,34,1.035,35,1.352,95,0.126,99,0.775,100,3.02,101,0.005,103,0,104,0,112,0.473,122,1.806,135,1.745,141,4.55,148,1.221,153,0.998,155,1.92,172,2.573,195,1.324,197,1.683,228,1.098,277,0.545,290,2.955,402,3.616,430,2.489,431,2.595,433,0.934,478,1.058,589,0.809,595,1.426,652,2.809,653,1.56,693,1.721,821,1.924,896,5.296,1132,2.619,1197,3.279,1778,2.375,1793,2.501,1862,5.056,1936,1.774,2032,3.599,2048,3.517,2050,5.835,2054,2.619,2218,1.688,2219,1.9,2220,1.833,2392,3.854,2666,1.747,2938,4.071,2940,5.047,2942,9.01,2945,4.642,2947,5.437,2957,7.964,3025,2.898,3026,2.501,3305,2.898,3330,8.309,3331,5.089,3335,5.089,3338,3.178,3357,3.315,3732,3.178,3742,2.375,3745,3.178,4063,2.375,4081,5.812,4228,2.207,4834,4.382,5234,5.083,5750,3.068,7825,7.279,8346,8.518,8499,2.619,8639,3.315,9590,6.642,9591,11.946,9592,3.499,9593,9.675,9594,9.71,9595,6.052,9596,6.052,9597,6.052,9598,8.016,9599,8.016,9600,6.052,9601,6.052,9602,6.052,9603,6.052,9604,6.052,9605,3.779,9606,3.779,9607,3.779,9608,3.779,9609,5.604,9610,11.038,9611,3.779,9612,8.498,9613,5.604,9614,3.779,9615,5.604,9616,3.779,9617,3.779,9618,3.779,9619,3.779,9620,5.604,9621,3.779,9622,5.604,9623,3.779,9624,5.604,9625,3.779,9626,5.604,9627,3.779,9628,2.769,9629,5.31,9630,5.31,9631,3.499,9632,3.499,9633,3.315,9634,5.604,9635,3.499,9636,5.604,9637,5.604,9638,3.499,9639,3.499,9640,3.499,9641,3.499,9642,3.499,9643,3.499,9644,3.499,9645,3.499,9646,3.499,9647,3.499,9648,5.604,9649,3.315,9650,3.499,9651,3.499,9652,3.499,9653,3.499,9654,7.01,9655,3.499,9656,3.499,9657,3.499,9658,3.315,9659,3.315,9660,5.604,9661,3.499,9662,3.499,9663,3.315,9664,3.315,9665,3.178,9666,3.315,9667,3.315,9668,3.499,9669,3.499,9670,3.499,9671,3.499,9672,3.499,9673,3.499,9674,3.315,9675,3.499,9676,3.499,9677,3.499,9678,3.499,9679,3.499,9680,3.499,9681,3.499,9682,3.499,9683,3.178,9684,3.499,9685,3.068,9686,3.499,9687,3.499,9688,3.499]],["title/injectables/DurationLoggingInterceptor.html",[589,0.929,9689,6.432]],["body/injectables/DurationLoggingInterceptor.html",[0,0.299,3,0.016,4,0.016,5,0.008,7,0.122,8,1.275,27,0.435,29,0.847,30,0.001,31,0.619,32,0.138,33,0.508,35,1.006,95,0.146,101,0.011,103,0.001,104,0.001,135,1.134,148,0.86,157,1.998,183,3.322,277,1.253,400,2.585,433,1.071,531,5.775,571,4.807,589,1.477,591,2.07,1027,2.666,1056,5.592,1058,6.657,1237,2.559,1923,5.829,2246,9.693,2382,9.321,2449,4.618,2450,6.006,3262,5.829,7357,8.273,7364,8.969,7936,9.29,9689,10.231,9690,12.153,9691,8.038,9692,10.231,9693,9.693,9694,8.68,9695,9.693,9696,11.223,9697,11.223,9698,8.68,9699,9.693,9700,8.038,9701,8.68,9702,8.68,9703,8.68,9704,8.68,9705,8.68]],["title/classes/ElementContentBody.html",[0,0.24,9516,4.597]],["body/classes/ElementContentBody.html",[0,0.471,2,0.576,3,0.01,4,0.01,5,0.005,7,0.076,9,2.516,27,0.213,30,0.001,31,0.677,32,0.175,47,0.897,83,1.576,95,0.127,99,1.11,101,0.018,103,0,104,0,110,1.872,112,0.624,130,3.303,155,1.717,157,2.569,190,0.972,195,1.184,200,1.659,201,3.682,202,1.243,223,1.681,231,2.027,296,3.691,299,4.931,300,4.469,339,1.588,360,4.54,854,5.018,855,3.231,886,1.703,899,2.465,1232,3.134,1749,3.079,1853,1.77,2048,4.253,2392,4.454,2894,2.583,2900,6.64,3140,2.442,3182,3.729,3545,3.193,3547,3.193,3550,3.163,3553,4.924,3557,2.793,3562,3.027,4034,3.327,4055,3.327,4454,6.27,6365,5.961,6367,6.033,6369,5.961,6371,6.659,6373,6.033,6375,6.033,6423,3.488,6460,6.191,6461,6.191,6462,6.191,6463,6.191,6464,6.191,6465,6.191,6803,6.666,7898,3.534,7968,3.163,9513,5.361,9514,3.636,9516,8.374,9517,6.191,9518,6.191,9519,6.191,9520,3.636,9521,6.191,9522,3.327,9523,3.583,9524,6.191,9525,6.832,9526,3.534,9527,3.534,9528,3.534,9529,3.534,9530,3.636,9531,3.636,9532,3.636,9533,3.636,9534,3.636,9535,3.636,9706,5.414,9707,5.414]],["title/controllers/ElementController.html",[314,2.658,3014,6.094]],["body/controllers/ElementController.html",[0,0.152,3,0.008,4,0.008,5,0.004,7,0.062,8,0.787,10,3.354,27,0.371,29,0.722,30,0.001,31,0.528,32,0.176,33,0.433,35,1.091,36,2.463,95,0.133,100,1.534,101,0.006,103,0,104,0,135,1.33,148,0.675,153,1.124,190,1.689,194,1.719,195,1.491,202,1.009,228,1.237,274,1.837,277,0.634,314,1.682,316,2.12,317,2.737,325,6.346,337,7.142,342,7.587,345,8.348,349,6.758,379,4.792,388,4.368,389,2.869,390,6.008,391,8.156,392,2.297,393,2.17,395,2.364,398,2.381,400,1.309,401,5.263,402,4.713,652,0.897,657,2.157,675,3.471,734,2.861,871,3.445,896,2.457,1351,6.84,2048,4.38,2392,4.111,2647,3.568,2661,2.617,2667,6.067,2900,6.129,2935,5.4,3006,6.579,3008,6.781,3014,5.981,3017,2.074,3018,3.856,3140,4.244,3141,4.144,3193,6.76,3195,7.048,3197,7.048,3198,7.048,3201,7.587,3203,5.37,3216,9.401,3218,3.946,3221,2.267,3222,2.951,3223,2.418,3230,3.568,3240,4.995,3241,5.105,3485,4.392,3576,6.858,3633,3.449,3696,4.897,3893,5.37,4018,4.897,4019,3.856,4033,5.229,4034,2.7,4035,3.157,4036,3.157,4040,3.371,4041,3.696,4046,5.025,4048,4.07,4053,4.07,4055,2.7,4056,3.568,4057,3.568,4344,3.371,4370,2.831,4372,3.371,4373,3.371,4374,3.371,4389,3.856,4398,3.856,4399,3.856,4400,3.856,4401,3.856,4405,3.856,4506,7.024,5600,4.07,5613,6.313,6509,11.21,7982,8.937,9517,4.45,9518,5.452,9519,4.45,9521,5.452,9524,5.452,9525,5.452,9526,6.144,9708,4.395,9709,7.735,9710,7.735,9711,8.353,9712,4.395,9713,4.395,9714,4.395,9715,4.395,9716,4.395,9717,4.395,9718,6.818,9719,4.395,9720,4.395,9721,4.395,9722,8.257,9723,4.395,9724,4.395,9725,4.395,9726,4.395,9727,4.395,9728,4.395,9729,4.395,9730,5.535,9731,4.395,9732,4.395,9733,4.395,9734,9.412,9735,4.395,9736,4.395,9737,4.395,9738,4.395,9739,4.395,9740,4.395,9741,4.395,9742,4.395,9743,4.395,9744,4.395,9745,4.395]],["title/injectables/ElementUc.html",[589,0.929,3008,5.639]],["body/injectables/ElementUc.html",[0,0.167,3,0.009,4,0.009,5,0.004,7,0.068,8,0.848,26,2.93,27,0.472,29,0.92,30,0.001,31,0.672,32,0.153,33,0.552,35,1.349,36,2.653,39,3.464,59,1.504,95,0.14,99,0.993,101,0.006,103,0,104,0,113,4.779,122,1.851,135,1.52,148,0.879,153,1.463,228,1.932,231,1.275,277,0.699,290,1.146,317,2.947,433,0.907,436,2.636,579,2.565,589,0.983,591,1.155,610,1.909,652,2.288,657,2.916,688,2.287,734,2.034,837,2.392,874,2.831,1027,1.488,1197,5.768,1792,3.358,1793,3.207,1853,1.585,1862,6.215,1935,3.254,1967,5.384,2018,7.258,2023,10.021,2029,3.934,2048,4.989,2233,3.304,2392,3.778,2449,4.866,2648,5.722,2649,8.594,2651,5.788,2652,5.788,2653,3.551,2654,8.31,2656,3.717,2657,5.384,2658,6.375,2660,3.817,2661,6.933,2663,3.817,2664,5.278,2666,2.24,2667,4.376,2678,4.075,2680,5.636,3008,5.966,3047,3.358,3130,5.647,3140,5.053,3141,5.395,3417,3.629,3485,4.734,3559,6.086,3633,3.717,3861,9.451,4123,3.934,4124,3.934,4125,3.934,4128,3.934,4129,3.934,4331,2.978,4507,7.787,4535,4.487,4898,3.629,6391,4.675,6423,6.381,6512,8.219,6686,3.629,9709,8.219,9710,6.805,9746,4.846,9747,7.348,9748,8.876,9749,4.846,9750,4.846,9751,4.846,9752,7.348,9753,4.846,9754,7.348,9755,4.846,9756,4.846,9757,4.846,9758,4.251,9759,4.487,9760,4.846,9761,4.846,9762,4.846,9763,7.348,9764,4.846,9765,4.846,9766,4.846,9767,4.846,9768,4.487,9769,4.846,9770,4.487,9771,4.487,9772,4.846,9773,4.846,9774,7.348,9775,4.846,9776,4.846,9777,4.846,9778,4.487,9779,4.846]],["title/modules/EncryptionModule.html",[252,1.835,9780,5.201]],["body/modules/EncryptionModule.html",[0,0.295,3,0.016,4,0.016,5,0.008,30,0.001,47,0.607,95,0.15,101,0.011,103,0.001,104,0.001,135,1.119,148,0.849,153,1.413,252,3.191,254,3.086,255,3.268,256,3.352,257,3.339,258,3.327,259,3.985,260,4.079,265,6.221,269,4.286,270,3.291,271,3.223,276,4.286,277,1.237,527,3.627,634,8.019,651,4.335,685,6.401,686,7.87,688,5.172,1027,2.632,2124,5.808,2449,5.5,2450,6.319,5171,9.046,5173,10.598,9780,10.078,9781,8.569,9782,8.569,9783,8.569,9784,7.935,9785,7.518,9786,8.569,9787,12.08,9788,8.569,9789,8.569,9790,8.569,9791,7.935,9792,8.569]],["title/interfaces/EncryptionService.html",[159,0.713,5172,5.089]],["body/interfaces/EncryptionService.html",[3,0.019,4,0.019,5,0.009,7,0.137,8,1.372,27,0.468,29,0.911,30,0.001,31,0.666,32,0.148,33,0.547,35,1.377,47,1.02,101,0.017,103,0.001,104,0.001,135,1.552,159,1.002,161,2.316,339,3.485,5171,7.305,5172,8.706,5173,8.559,9793,9.756,9794,10.424,9795,9.992,9796,11.003,9797,9.756,9798,11.003,9799,9.756,9800,9.756,9801,9.756]],["title/classes/EntityNotFoundError.html",[0,0.24,346,5.089]],["body/classes/EntityNotFoundError.html",[0,0.27,2,0.831,3,0.015,4,0.015,5,0.007,7,0.11,8,1.192,27,0.527,29,0.6,30,0.001,31,0.438,32,0.173,33,0.532,35,0.906,47,0.931,55,1.566,59,2.427,95,0.118,101,0.01,103,0,104,0,112,0.807,155,3.899,190,2.294,205,2.108,228,2.52,231,1.792,233,2.44,277,1.128,346,7.564,347,5.29,402,2.797,433,0.965,436,3.899,736,5.74,868,5.898,871,2.862,998,5.455,1078,5.39,1080,4.238,1115,4.424,1354,8.644,1355,7.68,1356,7.545,1360,5.174,1361,4.485,1362,5.174,1363,5.174,1364,5.174,1365,5.174,1366,5.174,1367,4.804,1368,4.408,1369,6.158,1370,6.574,1374,5.037,4172,7.24,9802,10.324,9803,7.818,9804,7.818,9805,7.818,9806,7.818]],["title/interfaces/EntityWithSchool.html",[159,0.713,7436,4.268]],["body/interfaces/EntityWithSchool.html",[3,0.019,4,0.019,5,0.009,7,0.138,30,0.001,32,0.123,34,1.685,47,0.698,49,4.495,83,3.48,95,0.136,96,2.608,97,4.035,101,0.017,103,0.001,104,0.001,112,0.934,159,1.322,161,2.339,231,2.233,430,4.051,431,4.224,692,6.315,703,4.153,789,5.379,2548,10.538,7436,7.344,9807,8.643,9808,6.946,9809,8.284]],["title/classes/ErrorLoggable.html",[0,0.24,9810,5.639]],["body/classes/ErrorLoggable.html",[0,0.344,2,0.629,3,0.011,4,0.011,5,0.005,7,0.083,8,0.983,27,0.474,29,0.837,30,0.001,31,0.612,32,0.155,33,0.502,35,1.156,47,0.774,95,0.138,101,0.008,103,0,104,0,112,0.666,113,2.358,122,1.777,129,1.771,130,3.163,131,3.012,135,1.511,148,1.193,158,3.149,195,1.863,200,2.609,223,3.59,228,1.981,277,0.854,297,4.804,338,6.707,371,3.137,393,2.921,400,1.762,433,0.73,543,2.871,561,2.655,571,3.369,652,2.744,653,2.443,809,3.862,1078,4.375,1080,4.632,1086,4.064,1087,3.937,1088,3.999,1089,4.256,1090,3.23,1091,3.973,1092,3.973,1115,3.26,1166,3.916,1167,3.636,1237,2.511,1313,4.034,1351,7.767,1359,6.915,1372,3.115,1373,3.559,1422,4.087,1423,4.71,1426,4.898,1468,5.152,1469,5.421,1884,3.636,2455,3.524,2992,3.859,4202,4.804,4923,4.034,5107,4.976,8698,4.538,9810,6.915,9811,5.917,9812,9.979,9813,8.517,9814,8.517,9815,8.517,9816,5.191,9817,5.917,9818,9.979,9819,5.917,9820,8.517,9821,5.917,9822,5.917,9823,8.517,9824,5.917,9825,8.517,9826,5.917,9827,5.917,9828,5.917,9829,5.917,9830,8.517,9831,5.917,9832,5.917,9833,10.915,9834,5.917,9835,5.917,9836,4.538,9837,5.917,9838,8.517,9839,5.917,9840,5.917,9841,8.517,9842,5.917,9843,5.479,9844,4.336,9845,4.976,9846,5.917,9847,5.917,9848,5.917,9849,5.917,9850,5.917,9851,5.917,9852,8.517,9853,5.917,9854,5.917,9855,5.917,9856,5.917]],["title/injectables/ErrorLogger.html",[589,0.929,9857,5.841]],["body/injectables/ErrorLogger.html",[0,0.263,3,0.014,4,0.014,5,0.007,7,0.107,8,1.172,27,0.499,29,0.972,30,0.001,31,0.711,32,0.158,33,0.583,35,1.411,72,3.489,95,0.145,101,0.01,103,0,104,0,135,1.59,161,1.81,228,1.384,254,2.746,277,1.101,412,3.374,433,0.941,569,4.207,589,1.358,591,1.818,652,1.557,688,3.599,1080,3.5,1115,4.659,1212,4.912,1422,5.879,2449,4.772,3262,5.12,7348,6.412,9857,9.6,9858,13.036,9859,7.625,9860,10.154,9861,10.154,9862,10.154,9863,10.679,9864,7.625,9865,10.154,9866,7.625,9867,10.154,9868,7.625,9869,10.154,9870,7.625,9871,10.154,9872,7.625,9873,6.69,9874,7.998,9875,6.191,9876,7.061,9877,6.69,9878,11.272,9879,7.625,9880,7.625,9881,7.625,9882,7.625]],["title/classes/ErrorMapper.html",[0,0.24,9883,6.094]],["body/classes/ErrorMapper.html",[0,0.303,2,0.935,3,0.017,4,0.017,5,0.008,7,0.124,8,1.286,27,0.346,29,0.674,30,0.001,31,0.493,32,0.11,33,0.405,35,1.019,95,0.14,101,0.012,103,0.001,104,0.001,148,0.871,153,2.119,277,1.269,337,5.404,342,5.741,467,3.56,1080,4.67,1312,6.133,1313,5.996,1314,6.444,1343,7.395,2667,7.655,2934,7.44,9883,9.773,9884,8.794,9885,11.323,9886,8.794,9887,10.436,9888,8.794,9889,11.14,9890,5.346,9891,12.227,9892,8.794,9893,8.794,9894,6.745,9895,8.794,9896,8.794]],["title/modules/ErrorModule.html",[252,1.835,7348,5.841]],["body/modules/ErrorModule.html",[0,0.317,3,0.017,4,0.017,5,0.008,30,0.001,95,0.149,101,0.012,103,0.001,104,0.001,129,3.429,157,2.117,252,3.297,254,3.312,255,3.508,256,3.597,257,3.584,258,3.571,259,4.167,260,3.424,265,6.335,269,4.482,270,3.533,271,3.459,276,4.482,277,1.327,685,5.373,1472,6.407,2449,3.844,2818,7.583,3782,6.693,4672,6.893,7348,11.524,7359,7.94,7363,10.985,9897,9.197,9898,9.197,9899,9.197,9900,10.61,9901,7.054,9902,9.635,9903,9.197,9904,9.197,9905,7.054]],["title/classes/ErrorResponse.html",[0,0.24,1367,4.268]],["body/classes/ErrorResponse.html",[0,0.245,2,0.755,3,0.013,4,0.013,5,0.007,7,0.1,27,0.503,29,0.544,30,0.001,31,0.398,32,0.177,33,0.507,47,1.001,55,2.478,59,2.204,95,0.081,101,0.009,103,0,104,0,112,0.756,155,4.144,157,2.534,219,5.411,228,2.562,277,1.025,403,5.981,415,5.503,433,1.194,871,3.542,998,6.365,1078,5.424,1080,4.584,1115,5,1220,6.782,1355,7.735,1367,5.946,1368,4.003,1379,8.492,1380,7.246,1381,6.498,1388,7.041,1390,6.013,1392,8.49,1393,5.551,1395,8.961,1396,6.234,1397,8.961,1516,6.228,2108,3.098,3037,3.406,4217,6.574,4218,5.445,4219,6.574,9906,7.099,9907,7.099,9908,9.677,9909,7.099,9910,7.099,9911,7.099,9912,7.099]],["title/interfaces/ErrorType.html",[159,0.713,1084,4.736]],["body/interfaces/ErrorType.html",[3,0.019,4,0.019,5,0.009,7,0.143,30,0.001,32,0.177,47,1.021,101,0.013,103,0.001,104,0.001,112,0.953,155,4.29,159,1.045,161,2.416,228,2.368,1084,8.31,1374,8.714,9913,10.176,9914,10.176]],["title/classes/ErrorUtils.html",[0,0.24,1313,4.736]],["body/classes/ErrorUtils.html",[0,0.261,2,0.806,3,0.014,4,0.014,5,0.007,7,0.107,8,1.168,27,0.478,29,0.931,30,0.001,31,0.681,32,0.126,33,0.559,35,1.407,47,0.807,59,2.353,95,0.13,101,0.01,103,0,104,0,125,2.412,148,1.203,153,1.25,157,2.795,158,4.49,159,0.779,197,2.108,277,1.094,393,3.743,467,4.081,653,5.014,1080,4.96,1313,6.897,1354,7.634,2098,9.094,2105,5.972,9915,7.582,9916,10.116,9917,10.116,9918,12.653,9919,10.116,9920,10.116,9921,7.582,9922,9.242,9923,10.116,9924,7.582,9925,10.116,9926,7.582,9927,10.213,9928,10.116,9929,7.582,9930,7.582,9931,12.145,9932,7.582]],["title/injectables/EtherpadService.html",[589,0.929,9933,6.094]],["body/injectables/EtherpadService.html",[0,0.279,3,0.015,4,0.015,5,0.007,7,0.114,8,1.22,26,2.57,27,0.416,29,0.81,30,0.001,31,0.592,32,0.147,33,0.486,35,0.939,36,2.239,39,2.924,47,0.957,94,4.099,95,0.142,99,1.661,101,0.014,103,0.001,104,0.001,135,1.536,148,1.047,153,1.336,155,3.954,197,2.252,228,1.47,277,1.169,317,2.552,339,3.1,400,2.413,433,1,589,1.413,591,1.932,610,3.193,629,4.265,652,1.654,657,1.857,734,3.401,1027,2.489,1080,3.643,1328,4.295,1881,6.813,2026,6.082,2449,4.916,2450,5.852,6171,5.819,9933,9.272,9934,8.102,9935,10.568,9936,7.108,9937,9.715,9938,8.102,9939,10.568,9940,8.102,9941,10.568,9942,8.102,9943,8.102,9944,8.102,9945,8.102,9946,7.503,9947,8.102,9948,7.503]],["title/classes/ExternalGroupDto.html",[0,0.24,9949,5.327]],["body/classes/ExternalGroupDto.html",[0,0.284,2,0.875,3,0.016,4,0.016,5,0.008,7,0.116,27,0.541,29,0.632,30,0.001,31,0.703,32,0.176,33,0.624,47,0.889,83,3.652,95,0.122,101,0.011,103,0.001,104,0.001,112,0.835,232,2.894,290,2.803,433,1.016,435,2.796,614,2.543,704,6.035,1065,4.042,2108,3.594,2183,3.245,4633,3.696,4695,5.006,7782,4.954,7783,5.117,8499,5.707,9522,7.284,9949,9.968,9950,11.679,9951,7.626,9952,10.4,9953,10.681,9954,8.235,9955,8.235,9956,8.235,9957,10.237,9958,8.235,9959,9.092,9960,8.235,9961,8.235,9962,6.925,9963,7.626,9964,5.915,9965,8.235,9966,8.235,9967,7.225,9968,7.225,9969,7.225,9970,7.225]],["title/classes/ExternalGroupUserDto.html",[0,0.24,9957,5.471]],["body/classes/ExternalGroupUserDto.html",[0,0.332,2,1.025,3,0.018,4,0.018,5,0.009,7,0.136,27,0.502,29,0.739,30,0.001,31,0.54,32,0.159,33,0.443,47,0.836,95,0.11,101,0.013,103,0.001,104,0.001,112,0.922,232,3.195,433,1.189,435,3.273,595,3.638,1065,6.517,5024,7.688,9950,11.167,9957,10.73,9971,8.926,9972,8.69,9973,10.922,9974,8.926,9975,8.456,9976,9.639,9977,8.926,9978,8.926]],["title/classes/ExternalSchoolDto.html",[0,0.24,9979,5.089]],["body/classes/ExternalSchoolDto.html",[0,0.316,2,0.975,3,0.017,4,0.017,5,0.008,7,0.129,27,0.529,29,0.704,30,0.001,31,0.732,32,0.167,33,0.618,47,0.995,101,0.012,103,0.001,104,0.001,112,0.894,232,3.1,433,1.132,435,3.116,704,6.347,2183,3.616,4633,4.118,5191,7.932,7782,5.52,7783,5.701,8148,7.45,8149,7.45,9950,11.517,9979,9.841,9980,9.176,9981,8.139,9982,11.442,9983,9.176,9984,9.176,9985,9.176,9986,6.871,9987,7.45]],["title/classes/ExternalSchoolNumberMissingLoggableException.html",[0,0.24,9988,6.094]],["body/classes/ExternalSchoolNumberMissingLoggableException.html",[0,0.3,2,0.925,3,0.017,4,0.017,5,0.008,7,0.122,8,1.277,27,0.436,29,0.667,30,0.001,31,0.488,32,0.138,33,0.4,35,1.008,47,0.862,55,2.564,95,0.126,101,0.011,103,0.001,104,0.001,148,0.861,180,5.194,228,1.579,231,1.92,233,2.715,277,1.256,339,2.551,400,2.59,433,1.073,614,2.686,685,5.082,703,4.103,1027,2.672,1115,3.329,1237,3.261,1422,4.982,1423,5.742,1426,5.746,1462,4.786,1465,6.028,1468,5.742,1469,6.042,1477,4.517,1478,4.713,3394,3.981,4938,5.567,6391,7.74,9988,9.706,9989,12.166,9990,11.266,9991,8.699,9992,11.266,9993,6.514,9994,8.699,9995,6.374,9996,8.699]],["title/classes/ExternalSource.html",[0,0.24,9997,4.736]],["body/classes/ExternalSource.html",[0,0.34,2,1.047,3,0.019,4,0.019,5,0.009,7,0.138,27,0.507,29,0.755,30,0.001,31,0.552,32,0.16,33,0.453,47,0.948,48,6.315,101,0.013,103,0.001,104,0.001,112,0.934,232,3.238,244,7.218,245,7.998,433,1.216,435,3.345,704,6.551,7782,5.926,7783,6.121,9997,9.345,9998,13.379,9999,9.852,10000,11.953,10001,9.852]],["title/classes/ExternalSourceEntity.html",[0,0.24,10002,5.471]],["body/classes/ExternalSourceEntity.html",[0,0.314,2,0.969,3,0.017,4,0.017,5,0.008,7,0.128,27,0.49,29,0.699,30,0.001,31,0.511,32,0.155,33,0.419,47,0.881,95,0.13,96,2.413,101,0.015,103,0.001,104,0.001,112,0.891,159,0.936,190,2.045,223,3.858,224,2.66,232,3.087,433,1.125,435,3.095,704,6.629,2698,5.8,3394,5.959,5178,7.318,5685,5.349,7665,6.214,7782,5.482,7783,5.663,10002,8.974,10003,12.058,10004,8.439,10005,11.424,10006,11.393,10007,9.114,10008,6.824,10009,7.178,10010,7.664]],["title/interfaces/ExternalSourceEntityProps.html",[159,0.713,10005,6.094]],["body/interfaces/ExternalSourceEntityProps.html",[0,0.33,3,0.018,4,0.018,5,0.009,7,0.135,30,0.001,32,0.146,47,0.939,95,0.134,96,2.534,101,0.015,103,0.001,104,0.001,112,0.918,159,0.983,161,2.272,223,3.645,224,2.793,232,2.593,704,6.921,2698,5.978,3394,6.221,5178,7.555,5685,5.513,7782,5.757,7783,5.946,10002,7.538,10003,8.862,10004,8.862,10005,11.146,10008,7.166,10009,7.538,10010,8.047]],["title/classes/ExternalSourceResponse.html",[0,0.24,10011,5.841]],["body/classes/ExternalSourceResponse.html",[0,0.329,2,1.015,3,0.018,4,0.018,5,0.009,7,0.134,27,0.5,29,0.732,30,0.001,31,0.535,32,0.158,33,0.439,47,0.938,48,6.229,95,0.109,101,0.013,103,0.001,104,0.001,112,0.917,190,2.104,202,2.193,232,3.177,244,6.995,245,7.751,296,3.549,433,1.178,435,3.242,704,6.461,7782,5.743,7783,5.932,10011,11.425,10012,13.236,10013,9.547,10014,11.726,10015,9.547]],["title/classes/ExternalTool.html",[0,0.24,2762,3.45]],["body/classes/ExternalTool.html",[0,0.197,2,0.608,3,0.011,4,0.011,5,0.005,7,0.08,8,0.96,27,0.539,29,0.942,30,0.001,31,0.689,32,0.169,33,0.63,34,1.675,35,1.135,47,0.963,55,2.286,95,0.13,101,0.011,103,0,104,0,110,3.716,112,0.65,122,2.484,148,0.97,159,0.588,231,1.443,232,2.253,433,0.706,435,1.943,436,1.7,467,3.467,1237,2.451,1852,6.338,2034,5.96,2035,2.809,2087,5.551,2132,4.646,2133,4.813,2183,2.255,2681,7.875,2682,6.2,2686,9.202,2689,3.227,2751,7.015,2762,4.129,4633,2.568,5710,5.543,6055,5.89,6640,4.508,6644,8.242,6652,4.193,6654,4.508,6655,3.597,6656,4.11,6657,4.389,6664,3.843,6665,4.193,6696,6.165,6712,3.788,6715,6.226,7127,3.101,7391,4.508,8061,6.465,8063,6.533,8064,3.597,8096,4.035,8097,4.286,8100,4.286,8101,4.646,8196,8.465,8197,8.726,8198,8.252,8216,3.902,8220,3.966,8243,7.113,10016,11.506,10017,7.875,10018,8.314,10019,8.314,10020,8.314,10021,5.723,10022,5.723,10023,5.723,10024,5.723,10025,5.723,10026,5.723,10027,5.723,10028,5.723,10029,5.723,10030,5.723,10031,7.699,10032,5.723,10033,7.699,10034,5.723,10035,5.021,10036,5.3,10037,4.646,10038,4.813,10039,5.021,10040,7.699]],["title/classes/ExternalToolConfig.html",[0,0.24,2686,5.201]],["body/classes/ExternalToolConfig.html",[0,0.328,2,1.012,3,0.018,4,0.018,5,0.009,7,0.134,9,4.425,27,0.499,29,0.73,30,0.001,31,0.534,32,0.172,33,0.438,47,0.83,95,0.109,101,0.012,103,0.001,104,0.001,112,0.915,232,3.172,433,1.175,435,3.234,2035,4.674,2108,4.157,2332,7.088,2682,5.993,2684,4.288,2685,8.009,2686,10.166,2687,8.82,2689,7.148,2693,6.841,2702,6.715,4695,5.789,10041,13.225,10042,11.709]],["title/classes/ExternalToolConfigCreateParams.html",[0,0.24,2706,5.089]],["body/classes/ExternalToolConfigCreateParams.html",[0,0.344,2,1.06,3,0.019,4,0.019,5,0.009,7,0.14,9,6.568,27,0.474,30,0.001,32,0.171,47,0.854,95,0.114,101,0.013,103,0.001,104,0.001,112,0.941,2035,4.895,2332,7.233,2682,5.862,2684,4.195,2689,7.294,2705,9.236,2706,8.823,10043,12.936,10044,9.974,10045,9.974]],["title/classes/ExternalToolConfigEntity.html",[0,0.24,2699,5.639]],["body/classes/ExternalToolConfigEntity.html",[0,0.312,2,0.962,3,0.017,4,0.017,5,0.008,7,0.127,9,5.271,27,0.488,29,0.694,30,0.001,31,0.507,32,0.173,33,0.416,47,0.804,95,0.13,96,2.397,101,0.012,103,0.001,104,0.001,112,0.887,190,2.036,195,1.98,223,3.846,224,2.642,232,3.074,433,1.117,435,3.074,886,3.898,2035,4.443,2108,3.951,2332,6.928,2682,5.886,2684,4.212,2689,6.986,2693,6.501,2696,7.612,2698,5.776,2699,10.861,2702,6.382,3723,6.501,4695,5.502,10046,12.99,10047,11.345,10048,9.052]],["title/classes/ExternalToolConfigResponse.html",[0,0.24,2716,5.639]],["body/classes/ExternalToolConfigResponse.html",[0,0.344,2,1.06,3,0.019,4,0.019,5,0.009,7,0.14,9,6.568,27,0.474,30,0.001,32,0.171,47,0.854,95,0.114,101,0.013,103,0.001,104,0.001,112,0.941,2035,4.895,2332,7.233,2682,5.862,2684,4.195,2689,7.294,2715,8.097,2716,9.776,10049,12.936,10050,9.974,10051,9.974]],["title/injectables/ExternalToolConfigurationService.html",[589,0.929,10052,5.639]],["body/injectables/ExternalToolConfigurationService.html",[0,0.173,3,0.01,4,0.01,5,0.005,7,0.071,8,0.871,26,2.079,27,0.464,29,0.871,30,0.001,31,0.637,32,0.142,33,0.523,35,1.316,95,0.146,99,1.029,101,0.007,103,0,104,0,122,2.104,125,1.197,135,1.65,142,2.754,148,1.228,183,1.922,195,1.098,228,1.37,277,0.725,417,2.808,433,0.931,569,1.563,589,1.009,591,1.197,614,2.331,652,1.541,688,2.37,703,1.559,711,4.056,869,4.95,1725,3.54,1853,1.642,1882,1.915,2004,7.095,2005,5.979,2007,3.772,2034,6.535,2035,2.465,2087,2.172,2682,5.493,2684,4.16,2751,4.927,2762,6.818,5452,6.006,6034,9.037,6116,6.989,6244,4.131,6655,3.157,6864,3.48,6952,3.851,10052,6.128,10053,9.078,10054,4.65,10055,9.069,10056,9.069,10057,7.548,10058,9.069,10059,7.548,10060,8.848,10061,4.65,10062,7.39,10063,5.022,10064,6.645,10065,5.022,10066,10.013,10067,5.022,10068,7.363,10069,11.161,10070,5.022,10071,8.399,10072,5.022,10073,5.322,10074,7.548,10075,8.399,10076,5.022,10077,5.022,10078,5.022,10079,9.965,10080,7.548,10081,5.022,10082,5.022,10083,3.955,10084,5.022,10085,5.022,10086,5.022,10087,5.022,10088,6.348,10089,5.022,10090,5.022,10091,5.022,10092,7.548,10093,5.022,10094,4.077,10095,5.022,10096,5.022,10097,5.022,10098,4.406,10099,5.022,10100,5.022,10101,10.813,10102,5.022,10103,5.022,10104,6.99,10105,5.022,10106,5.022,10107,5.022,10108,6.348,10109,5.022,10110,5.022,10111,6.348,10112,5.022]],["title/injectables/ExternalToolConfigurationUc.html",[589,0.929,10113,5.841]],["body/injectables/ExternalToolConfigurationUc.html",[0,0.129,3,0.007,4,0.007,5,0.003,7,0.052,8,0.691,26,2.903,27,0.432,29,0.842,30,0.001,31,0.615,32,0.141,33,0.505,34,0.638,35,1.223,36,2.64,39,3.347,95,0.146,99,0.764,100,1.301,101,0.005,103,0,104,0,135,1.68,148,0.932,153,0.987,183,5.005,228,1.916,277,0.538,290,1.774,317,2.876,433,0.739,478,1.044,579,1.731,589,0.801,591,0.889,595,1.408,610,1.47,614,2.653,652,2.509,657,2.89,688,1.76,693,2.727,703,1.859,711,3.745,869,3.683,980,4.162,1167,3.68,1775,6.534,1780,2.267,1862,5.636,1882,1.422,1935,2.504,1961,2.244,2004,6.756,2005,5.961,2007,2.992,2034,5.218,2035,1.83,2666,1.724,2682,5.132,2684,4.088,2762,5.624,2935,1.977,3299,2.121,3417,2.793,3562,4.804,4557,3.842,5106,3.221,5452,5.603,6116,2.584,6122,4.485,6123,4.593,6697,5.39,6720,5.535,6750,6.107,6780,6.891,6864,2.584,6928,6.173,6929,6.987,6947,3.721,6962,2.679,6963,4.301,6975,8.219,6989,2.938,6996,5.254,7001,3.028,7010,5.546,7024,3.454,10052,8.571,10060,5.254,10066,5.546,10068,6.092,10069,5.036,10071,6.949,10073,4.222,10075,5.546,10079,5.254,10098,3.272,10104,7.956,10111,5.036,10113,5.036,10114,10.487,10115,3.454,10116,6.949,10117,6.584,10118,6.949,10119,5.546,10120,7.504,10121,7.504,10122,2.938,10123,7.905,10124,3.73,10125,3.454,10126,3.73,10127,3.272,10128,3.73,10129,3.73,10130,3.73,10131,5.989,10132,3.73,10133,3.73,10134,3.73,10135,3.73,10136,3.73,10137,5.989,10138,3.73,10139,3.454,10140,3.454,10141,3.73,10142,3.028,10143,3.454,10144,3.73,10145,5.989,10146,5.989,10147,4.593,10148,5.546,10149,3.454,10150,3.73,10151,3.73,10152,5.989,10153,7.504,10154,3.028,10155,5.546,10156,5.546,10157,5.546,10158,3.73,10159,3.73,10160,3.73,10161,3.73,10162,3.73,10163,5.989,10164,3.73,10165,5.989,10166,3.73,10167,3.272,10168,5.546,10169,5.546,10170,5.254,10171,5.254]],["title/classes/ExternalToolContentBody.html",[0,0.24,6461,4.534]],["body/classes/ExternalToolContentBody.html",[0,0.471,2,0.579,3,0.01,4,0.01,5,0.005,7,0.077,9,2.533,27,0.215,30,0.001,31,0.678,32,0.173,33,0.369,47,0.914,83,1.587,95,0.128,99,1.117,101,0.018,103,0,104,0,110,1.885,112,0.627,130,3.31,155,1.729,157,2.417,190,0.978,195,1.192,200,1.67,201,3.697,202,1.252,223,1.692,231,2.032,296,3.693,299,4.94,300,4.48,339,1.599,360,3.1,854,5.043,855,3.247,886,1.715,899,2.482,1232,3.155,1749,3.1,1853,1.783,2048,3.869,2392,4.464,2894,2.601,2900,6.656,3140,2.458,3182,2.546,3545,3.215,3547,3.215,3550,3.184,3553,4.943,3557,2.811,3562,5.324,4034,3.349,4055,3.349,4454,5.452,6365,5.985,6367,6.057,6369,5.985,6371,6.681,6373,6.057,6375,6.057,6423,3.512,6460,6.215,6461,6.855,6462,6.215,6463,6.215,6464,6.215,6465,6.215,6803,6.679,7898,3.558,7968,3.184,9513,5.388,9514,3.66,9516,8.219,9517,6.215,9518,6.215,9519,6.215,9520,3.66,9521,6.215,9522,3.349,9523,3.608,9524,6.215,9525,6.855,9526,3.558,9527,3.558,9528,3.558,9529,3.558,9530,3.66,9531,3.66,9532,3.66,9533,3.66,9534,3.66,9535,3.66,10172,5.451,10173,5.451]],["title/classes/ExternalToolCreateParams.html",[0,0.24,10174,5.841]],["body/classes/ExternalToolCreateParams.html",[0,0.348,2,0.641,3,0.011,4,0.011,5,0.006,7,0.085,27,0.503,29,0.774,30,0.001,31,0.68,32,0.17,33,0.588,47,0.86,95,0.138,101,0.008,103,0,104,0,110,3.488,112,0.675,122,2.297,125,1.438,130,2.758,190,2.292,195,2.652,199,5.594,200,1.848,201,4.525,202,1.385,223,1.873,296,3.044,299,4.292,300,4.46,571,3.416,886,1.898,899,2.747,1220,3.46,1232,3.492,2034,6.924,2035,2.961,2087,4.763,2477,5.25,2543,5.425,2682,5.89,2684,4.215,2689,3.401,2692,4.253,2703,9.461,2706,6.328,2707,4.18,2900,5.736,3182,4.033,3341,6.203,4033,4.627,4034,3.707,4055,3.707,6273,6.745,6696,5.786,6727,4.898,6793,6.328,6796,5.073,6797,5.073,6798,4.752,6803,5.425,8061,6.068,8063,6.132,8216,4.113,8220,4.18,8249,9.461,8256,6.623,9527,5.637,9528,3.938,9529,5.637,10017,7.391,10174,7.262,10175,10.554,10176,4.898,10177,9.26,10178,9.8,10179,5.293,10180,5.586,10181,6.033,10182,6.033,10183,5.586,10184,5.293,10185,6.033,10186,6.033,10187,5.586,10188,5.586,10189,6.033,10190,6.033,10191,5.586,10192,6.033,10193,5.586,10194,6.033,10195,6.033]],["title/classes/ExternalToolElement.html",[0,0.24,3118,4.597]],["body/classes/ExternalToolElement.html",[0,0.229,2,0.707,3,0.013,4,0.013,5,0.006,7,0.094,8,1.068,27,0.53,29,0.96,30,0.001,31,0.702,32,0.163,33,0.576,35,1.517,36,1.961,47,0.857,55,1.853,59,2.065,95,0.106,101,0.014,103,0,104,0,112,0.723,113,3.688,122,2.219,125,2.742,130,2.53,134,2.35,148,1.054,158,2.46,159,0.683,189,5.685,197,1.849,231,1.847,317,2.309,435,3.142,436,3.888,527,2.816,532,3.433,567,2.528,569,3.762,653,2.746,657,1.525,711,2.748,735,4.234,1770,3.76,1773,6.537,1842,4.213,2050,2.804,2648,5.971,2684,3.45,3039,7.998,3042,6.524,3043,6.524,3044,6.524,3045,7.508,3046,6.524,3048,4.182,3049,5.625,3050,6.719,3052,6.412,3053,5.625,3054,6.597,3056,4.61,3057,4.94,3059,6.688,3060,4.61,3064,4.61,3066,4.182,3093,5.566,3118,7.612,3562,6.431,4315,4.778,4316,4.778,4317,4.778,4326,4.133,9537,4.61,9538,6.16,9539,5.836,9540,6.16,9542,5.594,9544,5.594,10196,9.853,10197,6.652,10198,6.652,10199,8.569,10200,6.16,10201,6.16,10202,6.16,10203,5.836,10204,6.16]],["title/classes/ExternalToolElementContent.html",[0,0.24,10205,5.841]],["body/classes/ExternalToolElementContent.html",[0,0.375,2,0.899,3,0.016,4,0.016,5,0.008,7,0.119,27,0.428,29,0.649,30,0.001,31,0.474,32,0.158,33,0.389,34,1.447,47,0.929,95,0.137,101,0.014,103,0.001,104,0.001,112,0.85,142,3.965,190,1.518,194,4.251,195,2.772,196,3.595,202,1.943,232,3.253,296,3.504,304,4.177,433,1.044,435,2.873,458,3.385,459,4.453,866,4.202,886,2.662,1853,2.767,2108,3.693,2392,3.227,2684,3.894,2908,4.897,3178,4.517,3179,4.517,3182,3.951,3562,6.714,3727,5.769,3739,4.99,3988,6.235,3992,5.523,3994,5.523,4373,8.336,4454,6.235,4695,5.143,6375,5.383,7777,6.489,9563,7.115,9564,7.835,10205,11.28,10206,11.12,10207,7.835,10208,7.835,10209,7.835]],["title/classes/ExternalToolElementContentBody.html",[0,0.24,9525,4.534]],["body/classes/ExternalToolElementContentBody.html",[0,0.47,2,0.569,3,0.01,4,0.01,5,0.005,7,0.075,9,2.489,27,0.312,30,0.001,31,0.675,32,0.175,47,0.895,83,1.559,95,0.127,99,1.098,101,0.018,103,0,104,0,110,1.852,112,0.619,125,1.277,130,3.291,155,1.699,157,2.396,190,1.421,195,1.172,200,1.641,201,3.659,202,1.23,223,1.663,231,2.089,296,3.686,299,4.917,300,4.452,339,1.571,360,3.046,436,1.591,854,4.979,855,3.206,866,2.66,886,1.685,899,2.439,1232,3.1,1749,3.046,1853,1.752,2048,3.829,2392,4.713,2894,2.556,2900,6.615,3140,2.415,3182,2.502,3545,3.159,3547,3.159,3550,3.129,3553,4.893,3557,2.763,3562,2.995,4034,3.291,4055,3.291,4454,5.406,6365,5.924,6367,5.996,6369,5.924,6371,6.625,6373,5.996,6375,6.625,6423,3.451,6460,6.152,6461,6.797,6462,6.152,6463,6.152,6464,6.152,6465,6.152,6803,6.645,7898,3.497,7968,3.129,9513,5.319,9514,3.597,9516,8.495,9517,6.152,9518,6.152,9519,6.152,9520,3.597,9521,6.152,9522,3.291,9523,3.545,9524,6.152,9525,7.253,9526,3.497,9527,3.497,9528,3.497,9529,3.497,9530,3.597,9531,3.597,9532,3.597,9533,3.597,9534,3.597,9535,3.597,9565,4.108,10210,5.357,10211,5.357]],["title/entities/ExternalToolElementNodeEntity.html",[205,1.418,3467,5.471]],["body/entities/ExternalToolElementNodeEntity.html",[0,0.302,3,0.017,4,0.017,5,0.008,7,0.123,27,0.345,30,0.001,32,0.109,33,0.511,95,0.151,96,2.318,101,0.015,103,0.001,104,0.001,112,0.868,134,3.094,135,1.143,148,0.867,159,0.899,190,1.571,195,2.43,196,2.896,205,2.268,206,2.855,224,2.555,231,1.928,232,2.372,457,4.856,614,3.43,1770,4.514,1853,2.863,2005,6.755,2048,4.514,2108,3.821,2648,5.3,2684,3.602,2701,4.937,3431,5.931,3441,6.616,3467,8.75,3513,5.322,3541,9.746,3867,5.97,3889,6.753,3910,5.38,4417,5.504,4419,5.504,5685,5.216,6734,9.61,6735,7.363,10212,10.287,10213,8.756,10214,7.682,10215,8.108,10216,9.746,10217,8.108,10218,8.108,10219,8.108]],["title/interfaces/ExternalToolElementNodeEntityProps.html",[159,0.713,10216,6.094]],["body/interfaces/ExternalToolElementNodeEntityProps.html",[0,0.305,3,0.017,4,0.017,5,0.008,7,0.124,30,0.001,32,0.11,33,0.515,95,0.152,96,2.344,101,0.015,103,0.001,104,0.001,112,0.875,134,3.128,135,1.156,148,0.877,159,0.909,161,2.102,195,1.936,196,2.928,205,2.284,224,2.584,231,2.129,232,2.398,457,4.91,614,3.454,1770,4.545,1853,2.895,2005,6.995,2048,3.597,2108,3.864,2648,5.337,2684,2.87,2701,4.991,3431,5.972,3441,6.662,3467,6.973,3513,5.381,3541,9.814,3867,6.036,3889,7.455,3910,5.439,4417,5.564,4419,5.564,5685,5.252,6734,9.951,6735,7.444,10212,8.198,10215,8.198,10216,10.76,10217,8.198,10218,8.198,10219,8.198]],["title/interfaces/ExternalToolElementProps.html",[159,0.713,10203,6.094]],["body/interfaces/ExternalToolElementProps.html",[0,0.307,3,0.017,4,0.017,5,0.008,7,0.125,30,0.001,32,0.14,33,0.516,36,1.884,47,0.943,95,0.128,101,0.016,103,0.001,104,0.001,112,0.877,122,1.855,125,2.675,130,2.432,134,3.141,148,1.217,158,3.288,159,0.913,161,2.111,197,2.472,231,2.133,317,1.93,527,3.763,567,3.379,569,2.767,653,3.671,657,2.038,1842,5.108,2050,3.748,2684,2.883,3039,6.748,3045,5.804,3049,5.405,3050,6.553,3053,5.405,3054,6.435,3093,7.393,3118,8.134,3562,7.44,4326,5.525,9537,6.162,10196,8.234,10199,10.388,10200,8.234,10201,8.234,10202,8.234,10203,9.841,10204,8.234]],["title/classes/ExternalToolElementResponse.html",[0,0.24,4373,5.327]],["body/classes/ExternalToolElementResponse.html",[0,0.358,2,0.839,3,0.015,4,0.015,5,0.007,7,0.111,27,0.505,29,0.605,30,0.001,31,0.443,32,0.172,33,0.363,34,1.986,47,0.875,95,0.133,101,0.014,103,0.001,104,0.001,112,0.812,142,2.881,190,2.215,194,3.088,195,2.273,196,2.611,202,1.813,232,3.147,296,3.557,304,3.898,433,0.974,435,2.681,458,3.158,459,4.156,886,2.484,1853,2.582,2108,3.446,2392,4.429,2684,4.269,2908,6.722,3177,5.154,3178,5.547,3179,5.547,3181,4.702,3182,4.853,3562,4.414,3727,5.383,3739,4.656,3988,6.662,3992,5.154,3994,5.154,4373,9.834,4454,6.657,4695,4.799,6375,6.61,7777,6.055,9572,6.639,9573,7.311,9574,6.926,9575,7.311,9576,6.926,10205,10.378,10206,12.191,10207,7.311,10208,7.311,10209,7.311]],["title/classes/ExternalToolElementResponseMapper.html",[0,0.24,6396,6.094]],["body/classes/ExternalToolElementResponseMapper.html",[0,0.268,2,0.825,3,0.015,4,0.015,5,0.007,7,0.109,8,1.186,27,0.483,29,0.788,30,0.001,31,0.576,32,0.153,33,0.473,34,1.327,35,1.334,95,0.131,100,2.707,101,0.01,103,0,104,0,112,0.803,122,2.142,135,1.013,141,4.404,142,2.83,148,1.14,153,2.021,430,3.19,467,3.814,652,2.351,653,3.203,711,2.304,829,4.575,830,5.696,833,6.298,835,5.95,1237,3.028,1853,2.537,2048,5.513,2139,4.49,2392,2.959,2639,8.437,2642,7.877,2643,7.877,2645,7.691,2684,4.134,2908,4.49,3118,8.979,3562,4.338,3988,5.892,4004,5.47,4373,9.4,4454,4.028,5883,7.154,6375,4.935,6394,5.95,6396,11.724,9578,9.178,9579,6.11,9586,6.11,9587,6.11,9588,6.11,10205,8.637,10220,12.749,10221,6.806,10222,11.514,10223,7.758]],["title/entities/ExternalToolEntity.html",[205,1.418,10224,4.989]],["body/entities/ExternalToolEntity.html",[0,0.214,3,0.012,4,0.012,5,0.006,7,0.087,27,0.523,29,0.787,30,0.001,31,0.575,32,0.167,33,0.611,47,0.912,55,1.768,95,0.135,96,1.647,101,0.012,103,0,104,0,110,3.547,112,0.69,122,2.329,190,2.383,195,2.967,196,4.051,205,1.802,206,2.028,211,6.192,219,4.935,223,4.21,224,1.815,225,3.39,228,1.129,229,2.46,231,1.08,232,1.685,233,1.941,417,3.478,614,1.92,1220,3.568,1835,4.522,2034,5.69,2035,3.052,2087,4.83,2132,5.049,2133,5.23,2183,2.451,2682,6.086,2694,9.065,4617,6.116,4623,5.477,4624,3.537,4633,2.791,5710,5.291,6664,4.176,6665,4.557,6696,5.885,6712,4.116,6715,4.657,6736,5.049,6750,3.781,7127,3.37,7391,4.899,8061,6.171,8063,6.236,8064,3.909,8096,4.385,8097,4.657,8100,4.657,8101,5.049,8158,9.065,10017,7.517,10037,5.049,10038,5.23,10039,5.456,10224,6.339,10225,13.431,10226,8.627,10227,9.065,10228,9.065,10229,5.76,10230,6.22,10231,5.76,10232,5.76,10233,6.22,10234,6.22,10235,6.22,10236,6.22,10237,6.22,10238,5.76,10239,6.22,10240,7.422,10241,6.22,10242,6.22]],["title/classes/ExternalToolEntityFactory.html",[0,0.24,10243,6.432]],["body/classes/ExternalToolEntityFactory.html",[0,0.139,2,0.429,3,0.008,4,0.008,5,0.004,7,0.057,8,0.736,27,0.519,29,1.002,30,0.001,31,0.732,32,0.169,33,0.568,34,1.352,35,1.346,47,0.8,55,2.181,59,3.036,95,0.103,101,0.01,103,0,104,0,110,1.394,112,0.498,113,4.144,127,4.487,129,3.562,130,3.087,135,1.422,148,1.078,153,1.48,157,2.067,172,2.709,185,2.19,192,2.219,195,0.882,197,2.197,205,1.997,206,2.078,228,1.157,231,1.106,290,0.954,300,1.544,326,4.875,374,2.757,417,2.255,433,0.498,436,3.721,467,1.856,501,7.018,502,4.981,505,3.535,506,4.981,507,5.118,508,3.535,509,3.535,510,3.535,511,3.48,512,4.024,513,4.383,514,6.448,515,5.34,516,6.799,517,2.255,522,2.237,523,3.535,524,2.255,525,4.694,526,4.83,527,3.801,528,4.543,529,3.507,530,2.237,531,2.108,532,3.857,533,2.153,534,2.108,535,2.237,536,2.255,537,4.315,538,2.237,539,7.184,540,3.963,541,6.261,542,2.255,543,3.834,544,2.237,545,2.255,546,2.237,547,2.255,548,2.237,549,2.506,550,2.356,551,2.237,552,5.677,553,2.255,554,2.237,555,3.535,556,3.225,557,3.535,558,2.255,559,2.169,560,2.138,561,1.81,562,2.237,563,2.237,564,2.237,565,2.255,566,2.255,567,1.533,568,2.237,569,1.255,570,2.255,571,2.521,572,2.237,573,2.255,575,2.313,576,2.378,577,5.824,614,1.245,756,1.595,1598,3.759,2033,2.897,2087,3.884,2124,3.379,2135,3.735,2332,5.021,2684,3.531,2689,2.274,2692,5.572,2694,6.416,2756,2.843,5191,2.566,5344,4.773,5710,2.08,6106,3.093,6116,2.795,6122,3.02,6244,1.652,6325,3.204,6642,2.066,6696,2.313,6748,2.506,6765,2.75,8040,2.669,8046,2.633,8048,4.161,8049,3.391,8050,2.633,8060,2.598,8061,2.426,8063,2.452,8158,5.175,8194,2.955,8199,2.535,8216,2.75,8223,3.391,8225,2.897,8232,3.391,8242,7.552,8244,3.391,10224,4.578,10226,3.391,10227,5.175,10228,5.175,10240,5.36,10243,7.319,10244,10.398,10245,4.033,10246,8.98,10247,8.316,10248,5.903,10249,5.903,10250,4.033,10251,4.033,10252,4.033,10253,5.903,10254,4.033,10255,6.374,10256,4.033,10257,8.98,10258,4.033,10259,4.033,10260,3.274,10261,3.391,10262,4.033,10263,4.033,10264,4.033]],["title/classes/ExternalToolFactory.html",[0,0.24,8234,5.841]],["body/classes/ExternalToolFactory.html",[0,0.259,2,0.397,3,0.007,4,0.007,5,0.003,7,0.052,8,0.692,27,0.507,29,0.995,30,0.001,31,0.715,32,0.167,33,0.566,34,1.025,35,1.313,47,0.425,55,2.379,59,3.408,95,0.107,101,0.012,103,0,104,0,110,1.291,112,0.469,113,4.005,127,4.295,129,3.286,130,3.003,135,1.605,148,1.176,157,1.728,172,2.548,185,2.06,192,2.054,197,2.39,205,1.533,206,1.954,228,1.088,231,1.492,290,0.883,300,1.429,326,4.971,374,2.592,417,2.087,433,0.461,436,3.65,467,1.745,501,6.659,502,4.767,505,3.324,506,4.767,507,4.836,508,3.324,509,3.324,510,3.324,511,3.272,512,3.823,513,4.165,514,6.298,515,5.139,516,6.605,517,2.087,522,2.07,523,3.324,524,2.087,525,4.493,526,4.623,527,3.638,528,4.348,529,3.298,530,2.07,531,1.951,532,3.729,533,1.993,534,1.951,535,2.07,536,2.087,537,4.1,538,2.07,539,7.566,540,3.855,541,6.089,542,2.087,543,2.908,544,2.07,545,2.087,546,2.07,547,2.087,548,2.07,551,2.07,552,5.487,553,2.087,554,2.07,555,3.324,556,3.032,557,3.324,558,2.087,559,2.008,560,1.979,561,1.675,562,2.07,563,2.07,564,2.07,565,2.087,566,2.087,567,1.419,568,2.07,569,1.162,570,2.087,571,2.371,572,2.07,573,2.087,575,2.141,576,2.202,577,5.119,614,1.153,756,1.477,1220,2.141,1598,3.535,2007,1.865,2033,2.681,2084,2.587,2087,3.248,2124,3.177,2332,4.199,2681,2.735,2684,1.21,2689,2.105,2692,2.632,2751,3.912,2756,2.632,2762,1.854,4665,6.637,4667,2.681,5191,2.375,5344,4.488,5710,1.925,6106,2.863,6116,2.587,6122,4.488,6123,2.863,6244,3.855,6325,3.013,6642,1.913,6696,2.141,6759,3.031,6764,2.94,6765,2.545,8040,2.471,8046,2.437,8048,2.437,8050,2.437,8060,2.405,8061,2.246,8063,2.269,8189,5.04,8190,8.258,8192,3.275,8194,2.735,8195,4.488,8196,2.94,8197,2.735,8198,2.587,8199,2.347,8200,3.275,8201,3.275,8202,3.275,8203,6.588,8204,5.04,8205,3.275,8206,3.605,8207,3.031,8208,2.735,8209,2.863,8210,3.275,8211,2.795,8212,3.275,8213,3.275,8214,3.275,8215,3.275,8216,2.545,8217,3.275,8218,3.275,8219,3.275,8220,2.587,8221,3.275,8222,3.275,8223,3.139,8224,3.275,8225,2.681,8226,5.258,8227,6.588,8228,2.94,8229,5.258,8230,5.258,8231,3.275,8232,3.139,8233,2.94,8234,6.314,8235,5.258,8236,3.275,8237,5.258,8238,3.275,8239,5.258,8240,8.817,8241,3.275,8242,7.228,8243,2.471,8244,3.139,8245,3.275,8246,3.275,8247,3.275,8248,3.275,10247,5.55,10249,5.55,10265,5.993,10266,3.733,10267,3.733,10268,3.733,10269,3.733]],["title/classes/ExternalToolIdParams.html",[0,0.24,10270,6.094]],["body/classes/ExternalToolIdParams.html",[0,0.415,2,1.06,3,0.019,4,0.019,5,0.009,7,0.14,27,0.393,30,0.001,32,0.124,47,0.854,95,0.137,101,0.013,103,0.001,104,0.001,112,0.941,190,1.79,194,4.71,195,2.634,196,3.299,197,3.348,200,3.055,202,2.291,296,3.146,307,7.308,855,4.874,2682,5.457,2684,3.905,6695,9.121,6768,8.387,6769,8.75,10175,9.776,10270,10.565]],["title/classes/ExternalToolLogo.html",[0,0.24,10271,5.841]],["body/classes/ExternalToolLogo.html",[0,0.333,2,1.027,3,0.018,4,0.018,5,0.009,7,0.136,27,0.503,29,0.741,30,0.001,31,0.542,32,0.159,33,0.445,47,0.837,101,0.013,103,0.001,104,0.001,112,0.923,433,1.192,2682,6.022,2684,4.309,6528,7.255,6617,8.125,7915,9.933,8243,8.444,10016,11.176,10035,8.476,10271,11.663,10272,9.662,10273,11.812,10274,11.812,10275,9.662,10276,9.662,10277,8.947]],["title/classes/ExternalToolLogoFetchFailedLoggableException.html",[0,0.24,10278,6.094]],["body/classes/ExternalToolLogoFetchFailedLoggableException.html",[0,0.235,2,0.724,3,0.013,4,0.013,5,0.006,7,0.096,8,1.086,27,0.519,29,0.522,30,0.001,31,0.382,32,0.17,33,0.496,35,1.09,47,0.894,55,1.364,59,2.114,95,0.123,101,0.009,103,0,104,0,112,0.735,148,0.674,155,3.685,190,2.188,228,2.501,231,1.632,233,2.125,277,0.983,339,1.997,393,3.362,400,2.028,402,2.437,433,0.84,436,3.744,614,3.326,644,7.062,652,1.39,868,5.574,871,2.493,998,5.085,1027,2.092,1078,2.986,1080,4.005,1115,4.447,1237,2.772,1354,8.401,1355,6.18,1356,7.032,1360,4.507,1361,3.907,1362,4.507,1363,4.507,1364,4.507,1365,4.507,1366,4.507,1367,4.185,1368,7.424,1374,4.388,1422,5.163,1423,5.085,1426,5.214,1462,3.747,1468,5.085,1469,5.35,1477,3.536,1478,3.69,2104,5.727,2682,4.881,2684,4.088,2971,9.432,6696,6.18,6712,4.507,8243,8.343,10278,8.251,10279,8.746,10280,6.307,10281,4.573,10282,5.975,10283,9.405,10284,7.408,10285,6.81]],["title/classes/ExternalToolLogoFetchedLoggable.html",[0,0.24,10286,6.094]],["body/classes/ExternalToolLogoFetchedLoggable.html",[0,0.313,2,0.964,3,0.017,4,0.017,5,0.008,7,0.128,8,1.312,27,0.447,29,0.696,30,0.001,31,0.509,32,0.142,33,0.417,35,1.051,47,0.879,95,0.104,101,0.012,103,0.001,104,0.001,148,0.898,228,1.646,339,2.661,400,2.701,433,1.119,614,2.801,1027,2.787,1115,3.472,1237,3.349,1418,7.629,1422,5.08,1423,5.854,1426,5.834,1468,5.854,1469,6.16,2682,5.62,2684,4.215,6696,7.115,6712,6.004,8243,8.604,10279,10.07,10280,8.401,10284,10.24,10286,9.967,10287,9.072,10288,9.072,10289,9.072]],["title/classes/ExternalToolLogoNotFoundLoggableException.html",[0,0.24,10290,6.094]],["body/classes/ExternalToolLogoNotFoundLoggableException.html",[0,0.302,2,0.931,3,0.017,4,0.017,5,0.008,7,0.123,8,1.283,27,0.438,29,0.671,30,0.001,31,0.491,32,0.139,33,0.403,35,1.015,47,0.865,95,0.127,101,0.011,103,0.001,104,0.001,148,0.867,228,1.589,231,1.928,233,2.732,277,1.264,339,2.568,347,6.576,400,2.607,433,1.08,614,2.703,1027,2.689,1115,3.351,1237,3.275,1422,5.543,1423,5.759,1426,5.759,1462,4.818,1465,6.068,1468,5.759,1469,6.06,1477,4.546,1478,4.744,2682,5.529,2684,4.161,2935,6.468,6695,8.603,6707,7.363,8243,8.494,9993,6.557,10279,9.907,10290,9.746,10291,8.108,10292,8.756]],["title/classes/ExternalToolLogoService.html",[0,0.24,10123,5.201]],["body/classes/ExternalToolLogoService.html",[0,0.165,2,0.51,3,0.009,4,0.009,5,0.004,7,0.067,8,0.841,26,2.031,27,0.457,29,0.889,30,0.001,31,0.65,32,0.145,33,0.534,34,1.246,35,1.293,36,2.364,47,0.933,95,0.145,99,0.983,101,0.006,103,0,104,0,125,2.349,127,5.575,135,1.718,145,1.791,148,1.184,153,1.97,228,1.788,277,0.692,317,2.657,433,0.899,569,2.268,579,3.224,614,1.48,629,2.523,652,2.549,653,3.64,657,2.021,688,2.263,871,1.755,1027,1.472,1053,7.908,1054,2.703,1055,5.589,1056,3.088,1078,2.102,1080,3.039,1167,2.946,1328,2.541,1422,1.963,1882,1.828,2083,3.173,2087,2.074,2098,5.457,2113,5.234,2449,4.848,2682,5.416,2684,4.115,2762,6.302,6528,5.601,6696,2.75,6928,7.127,7018,3.892,7915,10.051,8243,6.519,8379,3.59,10053,8.95,10061,4.439,10062,7.218,10064,6.46,10083,3.776,10123,5.457,10154,3.892,10226,6.129,10271,8.91,10278,4.206,10286,4.206,10290,4.206,10293,4.794,10294,7.288,10295,7.288,10296,7.288,10297,7.288,10298,7.288,10299,7.288,10300,4.794,10301,7.288,10302,4.794,10303,7.288,10304,4.794,10305,4.794,10306,7.288,10307,4.794,10308,7.288,10309,4.794,10310,7.288,10311,4.794,10312,2.638,10313,7.288,10314,4.794,10315,4.439,10316,6.394,10317,10.175,10318,4.794,10319,4.794,10320,7.288,10321,4.794,10322,4.794,10323,4.439,10324,4.794,10325,4.794,10326,4.206,10327,4.794,10328,4.794,10329,4.794,10330,4.794,10331,4.439,10332,4.794,10333,6.749,10334,4.794,10335,7.288,10336,3.443,10337,8.817,10338,4.794,10339,4.794,10340,3.173,10341,4.439,10342,3.512,10343,4.794,10344,4.794,10345,4.794,10346,4.794,10347,7.288,10348,4.794,10349,4.206,10350,4.794,10351,4.794,10352,7.288,10353,4.794,10354,4.794,10355,4.794,10356,4.794,10357,4.794]],["title/classes/ExternalToolLogoSizeExceededLoggableException.html",[0,0.24,10316,6.094]],["body/classes/ExternalToolLogoSizeExceededLoggableException.html",[0,0.231,2,0.713,3,0.013,4,0.013,5,0.006,7,0.094,8,1.074,27,0.517,29,0.514,30,0.001,31,0.376,32,0.17,33,0.492,35,1.078,47,0.89,55,2.312,95,0.122,101,0.009,103,0,104,0,112,0.728,125,2.548,148,0.664,155,3.661,190,2.176,228,2.494,231,1.615,233,2.093,277,0.968,339,1.967,393,3.312,402,2.4,433,1.148,436,3.727,614,3.3,652,1.9,868,5.538,870,6.85,871,2.455,998,5.044,1027,2.06,1078,2.941,1080,3.979,1115,4.418,1237,2.743,1354,8.373,1355,6.13,1356,6.976,1360,4.439,1361,3.848,1362,4.439,1363,4.439,1364,4.439,1365,4.439,1366,4.439,1367,4.122,1368,3.782,1374,4.322,1375,5.145,1422,5.139,1423,5.044,1426,5.18,1462,3.691,1468,5.044,1469,5.307,1477,3.483,1478,3.635,2682,4.842,2684,4.068,6695,7.535,6707,5.641,8243,8.304,10279,8.676,10281,4.504,10291,6.212,10316,8.165,10358,11.619,10359,10.126,10360,6.708,10361,9.307,10362,6.708]],["title/classes/ExternalToolLogoWrongFileTypeLoggableException.html",[0,0.24,10317,6.094]],["body/classes/ExternalToolLogoWrongFileTypeLoggableException.html",[0,0.239,2,0.738,3,0.013,4,0.013,5,0.012,7,0.098,8,1.1,27,0.521,30,0.001,32,0.176,33,0.438,35,1.104,47,0.771,55,1.39,95,0.124,101,0.009,103,0,104,0,112,0.745,148,0.687,155,3.714,190,2.203,228,2.464,231,1.654,233,2.166,277,1.002,393,3.426,402,2.483,433,1.342,436,3.766,614,3.359,868,5.618,871,2.54,998,5.135,1027,2.132,1078,3.043,1080,4.037,1115,4.482,1237,2.809,1354,8.435,1355,6.241,1356,7.102,1360,4.593,1361,3.981,1362,4.593,1363,4.593,1364,4.593,1365,4.593,1366,4.593,1367,4.264,1368,3.913,1374,4.471,1375,5.322,1422,5.193,1423,5.135,1426,5.256,1462,3.818,1468,5.135,1469,5.403,1477,3.603,1478,3.76,1622,6.843,2682,4.93,2684,4.111,5202,4.571,8243,8.392,8698,9.724,10279,8.833,10281,4.66,10282,6.088,10317,8.359,10363,9.528,10364,9.528,10365,8.823]],["title/classes/ExternalToolMetadata.html",[0,0.24,10366,5.471]],["body/classes/ExternalToolMetadata.html",[0,0.328,2,1.01,3,0.018,4,0.018,5,0.009,7,0.134,27,0.499,29,0.729,30,0.001,31,0.533,32,0.158,33,0.437,55,2.341,95,0.108,101,0.012,103,0.001,104,0.001,112,0.914,183,3.637,433,1.172,614,2.934,1078,5.126,2682,5.988,2684,4.285,6739,7.287,6748,5.904,10016,11.112,10366,10.881,10367,8.799,10368,9.483,10369,10.65,10370,11.692,10371,11.692,10372,8.799,10373,8.799,10374,8.799,10375,7.99,10376,8.799]],["title/classes/ExternalToolMetadataMapper.html",[0,0.24,10377,5.841]],["body/classes/ExternalToolMetadataMapper.html",[0,0.326,2,1.005,3,0.018,4,0.018,5,0.009,7,0.133,8,1.346,27,0.372,29,0.725,30,0.001,31,0.53,32,0.118,33,0.435,35,1.096,95,0.144,101,0.012,103,0.001,104,0.001,135,1.235,148,0.936,153,1.922,467,3.679,837,4.669,1882,3.607,2682,5.282,2684,3.78,6728,9.182,10366,10.672,10368,7.082,10369,7.953,10374,8.758,10376,8.758,10377,9.803,10378,10.227,10379,8.758,10380,11.658,10381,11.658,10382,8.758,10383,11.351,10384,7.678]],["title/classes/ExternalToolMetadataResponse.html",[0,0.24,10383,5.639]],["body/classes/ExternalToolMetadataResponse.html",[0,0.319,2,0.984,3,0.018,4,0.018,5,0.009,7,0.13,27,0.493,29,0.71,30,0.001,31,0.519,32,0.156,33,0.426,55,2.304,95,0.131,101,0.012,103,0.001,104,0.001,112,0.9,190,2.065,202,2.127,296,3.518,433,1.143,2682,5.934,2684,4.246,6728,9.861,7735,7.787,10368,9.375,10369,10.528,10373,8.576,10375,7.787,10383,11.144,10384,7.518,10385,11.489,10386,11.507,10387,11.507,10388,8.576,10389,9.261,10390,9.261]],["title/injectables/ExternalToolMetadataService.html",[589,0.929,10391,5.841]],["body/injectables/ExternalToolMetadataService.html",[0,0.252,3,0.014,4,0.014,5,0.007,7,0.103,8,1.141,26,2.468,27,0.389,29,0.758,30,0.001,31,0.554,32,0.149,33,0.455,34,1.252,35,1.145,36,2.37,47,0.793,55,1.466,95,0.153,99,1.5,101,0.01,103,0,104,0,135,1.682,145,3.69,148,0.725,153,1.207,183,2.801,228,1.793,277,1.056,279,3.072,317,2.427,433,1.219,589,1.321,591,1.745,614,3.05,652,2.017,657,2.563,703,2.272,756,2.895,980,4.059,1078,3.209,1223,5.481,1882,2.791,1912,8.773,2004,6.347,2007,3.657,2034,5.479,2035,3.592,2624,3.592,2682,5.067,2684,3.626,4143,6.634,5452,4.359,6036,9.431,6739,7.577,6748,4.548,6862,6.155,10053,8.374,10073,5.16,10094,5.942,10312,4.027,10366,9.848,10368,5.481,10369,6.155,10391,8.308,10392,6.778,10393,7.319,10394,10.356,10395,7.319,10396,9.879,10397,9.879,10398,7.319,10399,5.942,10400,6.421,10401,7.319,10402,9.148,10403,6.778,10404,9.148,10405,6.421,10406,6.421,10407,7.781,10408,6.778,10409,6.778,10410,9.148,10411,7.319,10412,6.778]],["title/modules/ExternalToolModule.html",[252,1.835,6777,5.471]],["body/modules/ExternalToolModule.html",[0,0.226,3,0.012,4,0.012,5,0.006,30,0.001,95,0.155,101,0.009,103,0,104,0,252,2.791,254,2.364,255,2.504,256,2.568,257,2.559,258,2.549,259,3.842,260,3.933,265,5.761,269,3.586,270,2.522,271,2.469,276,3.586,277,0.948,279,2.756,610,2.587,675,3.342,1027,2.016,1054,3.702,2682,2.975,2684,2.129,3872,5.985,5042,3.342,5174,4.629,5732,3.835,6028,9.333,6038,5.33,6777,11.545,6779,9.333,6786,5.171,6862,5.521,6928,8.414,9780,9.333,10052,11.117,10123,9.771,10377,7.71,10391,11.515,10399,7.444,10400,5.76,10413,6.565,10414,6.565,10415,6.565,10416,6.565,10417,10.118,10418,11.515,10419,11.515,10420,10.48,10421,10.48,10422,10.48,10423,6.565,10424,4.476]],["title/injectables/ExternalToolParameterValidationService.html",[589,0.929,10420,5.841]],["body/injectables/ExternalToolParameterValidationService.html",[0,0.138,3,0.008,4,0.008,5,0.004,7,0.056,8,0.732,27,0.477,29,0.945,30,0.001,31,0.701,32,0.156,33,0.558,35,1.376,36,1.897,72,1.835,95,0.124,101,0.005,103,0,104,0,122,2.763,127,5.182,129,2.356,130,2.153,135,1.169,142,2.315,148,1.292,153,2.032,195,2.464,197,2.189,228,1.151,277,0.579,317,2.25,338,6.921,340,2.583,388,3.838,393,1.979,415,2.28,417,7.499,433,0.783,571,1.586,579,3.351,589,0.848,591,0.956,614,1.238,629,2.11,640,2.463,652,2.83,657,1.454,983,4.087,1086,1.913,1087,1.853,1088,1.882,1220,6.462,1328,2.125,1882,1.529,2035,1.967,2233,2.733,2344,2.437,2455,2.387,2682,5.586,2684,4.108,2751,9.074,2762,5.899,3578,7.526,6035,8.557,6072,3.158,6100,3.712,6116,2.778,6132,3.712,6134,2.364,6142,8.819,6152,3.712,6154,5.335,6155,5.335,6159,5.008,6244,1.642,6655,2.52,6928,6.372,6952,3.075,7018,3.255,7023,5.335,7359,4.396,8228,4.997,10053,9.231,10108,3.371,10122,3.158,10336,2.879,10420,5.335,10425,6.344,10426,6.344,10427,6.344,10428,6.344,10429,6.344,10430,6.344,10431,6.344,10432,6.344,10433,6.344,10434,6.344,10435,3.517,10436,6.344,10437,4.009,10438,6.344,10439,4.009,10440,6.344,10441,6.344,10442,4.009,10443,6.344,10444,4.009,10445,6.344,10446,4.009,10447,6.344,10448,4.009,10449,6.344,10450,4.009,10451,6.344,10452,4.009,10453,6.344,10454,3.517,10455,4.009,10456,4.009,10457,4.009,10458,6.038,10459,4.009,10460,4.009,10461,4.009,10462,4.009,10463,4.009,10464,4.009,10465,2.937,10466,4.009,10467,4.009,10468,3.075,10469,4.009,10470,4.009,10471,4.009,10472,3.002,10473,4.009,10474,4.009,10475,4.009,10476,4.009,10477,4.009,10478,3.517,10479,4.009,10480,3.712,10481,4.009,10482,6.344,10483,4.009,10484,6.344,10485,4.009,10486,4.009,10487,4.009,10488,7.29,10489,4.009,10490,4.009,10491,4.009,10492,4.009,10493,6.344,10494,6.344,10495,4.009,10496,6.344]],["title/interfaces/ExternalToolProps.html",[159,0.713,8196,5.471]],["body/interfaces/ExternalToolProps.html",[0,0.226,3,0.012,4,0.012,5,0.006,7,0.092,29,0.922,30,0.001,31,0.674,32,0.169,33,0.63,34,1.953,47,1.007,55,2.406,95,0.137,101,0.012,103,0,104,0,110,4.155,112,0.715,122,2.72,148,1.044,159,0.672,161,1.554,231,1.136,232,1.773,467,2.663,1237,1.929,1852,5.395,2034,6.664,2035,3.212,2087,5.64,2132,5.313,2133,5.503,2183,2.579,2681,8.805,2682,2.965,2686,7.897,2689,3.69,2751,7.844,2762,3.25,4633,2.937,5710,6.198,6055,5.503,6640,5.154,6644,5.019,6654,5.154,6655,4.113,6656,4.7,6657,5.019,6664,4.394,6665,4.795,6696,6.893,6712,4.331,6715,6.85,7127,3.546,7391,5.154,8061,7.229,8063,7.304,8064,4.113,8096,4.614,8097,4.9,8100,4.9,8101,5.313,8196,8.307,8197,9.122,8198,8.628,8216,4.462,8220,4.535,8243,7.953,10016,5.503,10017,8.805,10031,6.06,10033,6.06,10035,5.741,10036,6.06,10037,5.313,10038,5.503,10039,5.741,10040,8.471]],["title/entities/ExternalToolPseudonymEntity.html",[205,1.418,10497,4.989]],["body/entities/ExternalToolPseudonymEntity.html",[0,0.286,3,0.016,4,0.016,5,0.008,7,0.117,26,2.214,27,0.469,30,0.001,32,0.148,34,1.42,39,3.605,47,0.844,49,5.108,95,0.144,96,2.843,97,3.401,99,1.702,101,0.014,103,0.001,104,0.001,112,0.93,142,3.029,159,0.853,190,2.136,205,2.192,206,2.707,219,6.654,223,4.143,224,2.423,225,4.124,229,3.284,231,1.441,232,2.25,233,2.591,242,4.37,243,5.219,458,3.322,459,5.652,614,2.564,2684,4.225,4624,4.721,10312,7.17,10497,7.712,10498,11.652,10499,7.689,10500,7.35,10501,6.982,10502,8.303,10503,8.303,10504,8.303,10505,9.03,10506,5.575,10507,6.741,10508,6.982,10509,6.084,10510,6.54]],["title/interfaces/ExternalToolPseudonymEntityProps.html",[159,0.713,10505,5.841]],["body/interfaces/ExternalToolPseudonymEntityProps.html",[0,0.29,3,0.016,4,0.016,5,0.008,7,0.118,26,2.606,30,0.001,32,0.158,33,0.498,34,2.162,39,3.705,47,0.896,49,5.244,95,0.144,96,2.866,97,3.443,99,1.723,101,0.014,103,0.001,104,0.001,112,0.936,142,3.067,159,0.864,161,1.996,205,2.21,219,6.694,223,3.924,224,2.454,225,4.158,229,3.325,231,1.459,232,2.278,233,2.624,242,4.425,243,5.285,458,3.363,459,5.698,614,2.596,2684,3.51,4624,4.781,10312,7.368,10497,6.038,10498,7.786,10499,7.786,10500,7.642,10505,10.067,10506,5.645,10507,6.826,10508,7.07,10509,6.16,10510,6.622]],["title/injectables/ExternalToolPseudonymRepo.html",[589,0.929,10511,5.841]],["body/injectables/ExternalToolPseudonymRepo.html",[0,0.152,3,0.008,4,0.008,5,0.004,7,0.062,8,0.79,13,4.827,26,2.776,27,0.481,29,0.937,30,0.001,31,0.685,32,0.152,33,0.562,34,0.756,35,1.385,36,2.816,39,3.38,42,4.827,47,0.594,49,1.662,56,2.086,58,2.885,59,1.372,95,0.136,96,1.17,97,1.81,99,0.906,101,0.006,103,0,104,0,113,4.305,125,1.054,135,1.747,142,3.444,148,1.232,153,2.082,205,2.377,206,3.078,228,0.802,277,0.638,279,1.855,317,2.954,365,1.974,400,1.316,430,1.817,431,1.895,433,0.545,540,2.943,589,0.916,591,1.054,595,1.668,657,2.476,773,6.78,863,3.767,869,4.633,1770,4.578,1853,1.445,1882,1.685,2448,5.278,2472,3.062,2483,3.174,2496,3.116,2501,4.827,2515,3.716,2684,4.032,3083,4.119,3608,2.885,3613,4,3674,3.389,4737,2.746,4751,3.389,4752,3.389,6244,3.433,7525,5.042,7811,5.8,7840,3.238,7841,3.238,7843,3.116,10312,6.721,10497,8.773,10500,7.99,10505,7.938,10506,4.598,10511,5.758,10512,12.436,10513,4.419,10514,6.34,10515,6.007,10516,6.34,10517,6.34,10518,6.34,10519,5.758,10520,6.007,10521,6.34,10522,4.419,10523,6.34,10524,4.419,10525,6.007,10526,4.419,10527,4.419,10528,6.34,10529,4.419,10530,6.34,10531,4.419,10532,6.34,10533,7.938,10534,4.419,10535,5.251,10536,4.419,10537,6.34,10538,4.419,10539,6.34,10540,4.419,10541,6.007,10542,4.419,10543,4.419,10544,6.007,10545,9.458,10546,6.847,10547,4.419,10548,3.877,10549,4.092,10550,4.419,10551,4.092,10552,4.419,10553,3.877,10554,4.092,10555,6.007,10556,4.419,10557,4.419,10558,4.092,10559,4.092,10560,3.877,10561,4.092,10562,4.092,10563,4.092,10564,3.716,10565,4.419,10566,4.419,10567,4.419,10568,3.877,10569,4.419,10570,3.877]],["title/injectables/ExternalToolRepo.html",[589,0.929,10421,5.841]],["body/injectables/ExternalToolRepo.html",[0,0.134,3,0.007,4,0.007,5,0.004,7,0.055,8,0.714,10,2.483,12,2.802,18,3.148,26,2.296,27,0.519,29,1.003,30,0.001,31,0.743,32,0.165,33,0.602,34,1.318,35,1.503,36,2.696,40,1.883,47,0.725,55,0.777,56,1.832,58,2.533,59,1.205,95,0.14,96,1.637,97,1.589,101,0.005,103,0,104,0,112,0.303,113,3.071,135,1.661,142,3.914,148,1.189,153,1.27,185,2.125,205,2.402,206,2.016,224,1.133,228,1.122,231,1.073,279,1.629,317,2.94,365,1.733,433,0.479,435,1.318,436,3.686,540,2.706,569,1.208,589,0.827,591,0.925,595,1.465,614,1.198,652,2.274,657,2.014,729,4.284,735,2.829,736,4.767,766,2.103,770,2.44,787,3.057,788,2.646,790,2.646,800,3.594,863,3.402,869,4.313,1027,1.192,1770,4.88,1853,1.269,2007,1.939,2087,2.674,2139,2.246,2231,3.516,2436,9.061,2438,4.53,2439,4.53,2440,4.53,2441,4.53,2442,4.44,2443,4.44,2444,4.53,2445,4.44,2446,4.53,2447,2.844,2448,4.914,2449,3.673,2450,4.126,2452,4.53,2453,2.844,2455,5.234,2456,2.844,2458,2.844,2460,5.1,2461,4.284,2462,2.844,2464,2.844,2466,4.53,2470,4.53,2472,4.284,2473,4.44,2475,2.844,2477,2.359,2478,2.44,2479,2.844,2481,2.844,2483,4.44,2484,2.844,2490,2.689,2501,4.359,2502,6.74,2689,4.955,2762,6.071,4949,2.844,5106,3.325,6244,3.156,6325,3.108,6748,2.411,6765,2.646,7525,4.636,7811,5.4,7821,4.63,7840,2.844,7841,2.844,7843,2.736,8199,3.886,10224,8.913,10240,8.599,10421,5.199,10564,3.264,10568,3.405,10570,3.405,10571,9.02,10572,3.594,10573,6.183,10574,5.019,10575,6.183,10576,3.881,10577,3.881,10578,5.424,10579,6.74,10580,3.881,10581,6.183,10582,3.881,10583,5.199,10584,3.881,10585,6.183,10586,3.881,10587,3.881,10588,3.594,10589,2.906,10590,2.906,10591,2.906,10592,2.906,10593,2.906,10594,2.977,10595,2.906,10596,2.906,10597,2.906,10598,2.906,10599,3.881,10600,3.881,10601,3.264,10602,3.405,10603,5.424,10604,3.594,10605,3.057,10606,3.881,10607,5.725,10608,3.881,10609,3.594,10610,3.881,10611,3.881,10612,3.881,10613,5.424,10614,3.881,10615,3.881]],["title/classes/ExternalToolRepoMapper.html",[0,0.24,10601,5.841]],["body/classes/ExternalToolRepoMapper.html",[0,0.136,2,0.419,3,0.007,4,0.007,5,0.004,7,0.055,8,0.723,27,0.483,29,0.968,30,0.001,31,0.735,32,0.168,33,0.565,34,0.674,35,1.422,95,0.118,101,0.005,103,0,104,0,110,2.164,129,2.654,130,1.712,148,1.215,153,2.054,157,1.441,205,0.805,277,0.569,300,2.396,388,2.684,467,4.098,571,2.476,579,1.809,614,1.933,703,1.224,1393,5.906,1598,3.692,1829,1.676,2007,1.97,2037,4.033,2087,5.309,2124,3.318,2332,5.756,2442,4.496,2443,4.496,2470,4.587,2472,2.732,2473,4.496,2477,3.805,2624,3.072,2681,8.66,2684,2.03,2689,2.222,2692,4.413,2694,9.091,2751,7.31,2762,5.36,2777,7.634,3341,4.496,4737,2.449,4738,3.105,4792,3.315,5191,3.982,5710,3.229,5909,6.814,6121,5.492,6135,5.082,6139,5.492,6142,5.082,6148,5.492,6154,5.264,6155,5.264,6159,3.982,6244,2.564,6325,3.147,6391,2.508,6642,3.207,6696,3.591,6742,8.846,6748,2.449,6764,3.105,6765,2.688,8046,4.086,8048,4.086,8050,4.086,8060,4.033,8061,3.766,8063,3.805,8135,4.801,8158,9.091,8197,8.66,8198,8.19,8199,3.935,8216,4.268,8220,4.338,8225,4.496,8243,2.609,10017,4.587,10224,6.368,10226,3.315,10227,9.091,10228,9.091,10240,6.547,10478,5.492,10488,5.797,10571,10.476,10601,5.264,10616,3.942,10617,6.26,10618,6.26,10619,6.26,10620,6.26,10621,6.26,10622,6.26,10623,6.26,10624,6.26,10625,6.26,10626,6.26,10627,6.26,10628,3.942,10629,8.866,10630,6.26,10631,3.942,10632,6.26,10633,3.942,10634,5.797,10635,6.26,10636,3.942,10637,5.797,10638,6.26,10639,3.942,10640,6.26,10641,3.942,10642,3.942,10643,3.942,10644,6.26,10645,3.942,10646,6.26,10647,3.942,10648,6.26,10649,3.942,10650,5.492,10651,6.26,10652,3.942,10653,3.942,10654,3.942,10655,3.942,10656,3.942,10657,3.942,10658,3.942,10659,3.942,10660,6.26,10661,3.315,10662,3.942,10663,3.942,10664,3.942,10665,3.65,10666,3.65,10667,3.942,10668,3.942,10669,8.866,10670,8.866,10671,6.26,10672,6.26,10673,5.797,10674,6.26,10675,6.26,10676,6.26,10677,6.26,10678,6.26,10679,6.26,10680,6.26,10681,3.942,10682,3.942,10683,3.942,10684,3.942,10685,3.458,10686,3.65,10687,3.942,10688,3.942,10689,3.942,10690,3.65,10691,3.65,10692,3.942,10693,3.942,10694,6.26,10695,6.26,10696,6.26,10697,6.26,10698,5.797,10699,5.797]],["title/injectables/ExternalToolRequestMapper.html",[589,0.929,10700,5.841]],["body/injectables/ExternalToolRequestMapper.html",[0,0.144,3,0.008,4,0.008,5,0.004,7,0.059,8,0.756,27,0.473,29,0.955,30,0.001,31,0.717,32,0.153,33,0.553,34,0.714,35,1.393,55,1.833,95,0.126,101,0.005,103,0,104,0,110,2.265,125,1.927,129,2.419,130,1.791,135,1.492,141,2.809,142,1.523,148,1.233,157,0.961,277,0.603,300,1.598,326,1.587,589,0.876,591,0.996,595,1.576,652,2.705,653,3.779,711,3.134,756,3.621,837,2.061,1078,3.544,1882,1.593,2033,2.999,2035,2.049,2087,2.834,2682,5.552,2684,3.973,2703,8.567,2756,2.944,2762,2.074,3017,1.971,3309,6.2,5191,2.657,5710,5.892,6106,3.202,6107,3.663,6109,3.663,6110,3.663,6111,3.663,6112,3.663,6113,3.663,6116,2.894,6122,3.127,6123,3.202,6159,2.657,6244,1.71,6325,2.099,6642,2.14,6656,2.999,6696,3.758,6807,3.289,6815,3.511,6824,3.663,6825,3.511,8061,3.941,8063,3.982,8135,3.202,8228,3.289,8233,3.289,8249,8.074,8258,3.511,8264,3.511,8267,3.511,10017,4.8,10174,8.363,10177,8.363,10178,7.698,10261,3.511,10378,10.75,10579,7.021,10700,5.509,10701,6.551,10702,6.551,10703,6.551,10704,6.551,10705,8.083,10706,8.083,10707,8.083,10708,8.083,10709,6.066,10710,6.551,10711,6.551,10712,4.176,10713,7.092,10714,6.551,10715,7.698,10716,4.176,10717,6.551,10718,4.176,10719,12.784,10720,9.945,10721,6.551,10722,4.176,10723,9.945,10724,4.176,10725,4.176,10726,9.154,10727,4.176,10728,8.363,10729,4.176,10730,9.154,10731,4.176,10732,4.176,10733,9.154,10734,4.176,10735,7.698,10736,4.176,10737,9.154,10738,6.066,10739,7.698,10740,4.176,10741,5.318,10742,7.211,10743,6.551,10744,8.363,10745,4.176,10746,7.092,10747,3.867,10748,3.867,10749,3.867,10750,3.867,10751,3.867,10752,3.867,10753,3.867,10754,3.663,10755,3.867,10756,3.663,10757,3.867,10758,3.867,10759,3.867,10760,3.867,10761,3.867,10762,3.867,10763,3.867,10764,11.132,10765,6.551,10766,4.176,10767,4.176,10768,4.176,10769,8.477,10770,6.551,10771,4.176,10772,4.176,10773,4.176,10774,4.176,10775,4.176,10776,4.176,10777,4.176,10778,4.176,10779,6.551,10780,4.176,10781,4.176,10782,4.176,10783,4.176,10784,4.176,10785,4.176,10786,4.176,10787,4.176,10788,4.176,10789,4.176,10790,4.176,10791,4.176,10792,4.176,10793,4.176,10794,4.176,10795,4.176,10796,4.176,10797,4.176,10798,4.176,10799,3.663,10800,6.551,10801,3.663,10802,4.176]],["title/classes/ExternalToolResponse.html",[0,0.24,10803,5.639]],["body/classes/ExternalToolResponse.html",[0,0.226,2,0.696,3,0.012,4,0.012,5,0.006,7,0.092,27,0.534,29,0.876,30,0.001,31,0.64,32,0.169,33,0.588,34,1.804,47,0.924,55,1.832,95,0.13,101,0.009,103,0,104,0,110,3.646,112,0.715,122,2.382,190,2.408,195,2.001,201,4.834,202,1.503,296,3.647,433,0.807,458,2.618,871,2.395,886,2.059,1220,3.754,2034,7.088,2035,3.212,2087,4.94,2132,5.313,2183,2.579,2682,6.201,2713,8.869,3182,4.272,5710,5.439,6273,5.295,6664,4.394,6696,6.05,6703,8.307,6706,5.741,6712,4.331,6715,4.9,6828,5.741,6829,7.016,6839,5.019,6845,5.741,6847,5.741,7127,3.546,8061,6.344,8063,6.411,8096,4.614,8100,4.9,10017,7.728,10038,5.503,10385,12.006,10803,9.756,10804,9.148,10805,8.869,10806,8.869,10807,6.544,10808,6.544,10809,6.544,10810,6.544,10811,6.544,10812,6.544,10813,6.544,10814,5.741,10815,6.544,10816,6.544,10817,5.741,10818,6.544,10819,6.544,10820,6.544,10821,6.544,10822,6.544,10823,6.544]],["title/injectables/ExternalToolResponseMapper.html",[589,0.929,10824,5.639]],["body/injectables/ExternalToolResponseMapper.html",[0,0.198,3,0.011,4,0.011,5,0.005,7,0.081,8,0.963,27,0.45,29,0.915,30,0.001,31,0.69,32,0.149,33,0.526,34,0.983,35,1.325,95,0.131,101,0.008,103,0,104,0,110,1.987,135,1.406,148,1.181,153,1.775,157,1.323,277,0.83,300,2.2,467,3.986,589,1.115,591,1.37,652,2.623,653,3.443,829,3.39,837,2.838,1078,4.304,1882,2.192,2033,4.128,2035,2.821,2087,2.486,2681,8.378,2682,5.404,2684,3.867,2713,9.616,2751,7.464,2756,4.052,2762,5.679,4883,4.408,5191,3.657,5710,2.964,6106,4.408,6107,5.042,6109,5.042,6110,5.042,6111,5.042,6112,5.042,6113,5.042,6116,3.983,6122,4.304,6123,4.408,6159,3.657,6244,2.354,6642,2.945,6655,3.613,6696,3.297,6703,8.482,8061,3.458,8063,3.494,8135,4.408,8197,8.378,8198,7.462,8228,4.527,8233,4.527,8258,4.833,8264,4.833,8267,4.833,10017,4.211,10108,4.833,10154,4.666,10169,5.323,10261,4.833,10336,4.128,10378,10.463,10458,4.408,10634,5.323,10747,5.323,10748,5.323,10749,5.323,10750,5.323,10751,5.323,10752,5.323,10753,5.323,10754,5.042,10755,5.323,10756,5.042,10757,5.323,10758,5.323,10759,5.323,10760,5.323,10761,5.323,10762,5.323,10763,5.323,10764,10.589,10769,7.723,10803,8.743,10805,9.616,10806,9.616,10824,6.771,10825,8.34,10826,8.34,10827,8.34,10828,8.34,10829,8.34,10830,8.34,10831,5.748,10832,11.926,10833,8.34,10834,5.323,10835,8.34,10836,5.748,10837,8.34,10838,5.748,10839,8.34,10840,5.748,10841,7.013,10842,5.748,10843,5.748,10844,5.748,10845,5.748,10846,5.748,10847,5.323,10848,5.042,10849,5.748,10850,5.748,10851,5.748,10852,5.748,10853,5.748,10854,5.748,10855,5.748,10856,5.748,10857,5.748,10858,5.748,10859,5.748,10860,5.748]],["title/classes/ExternalToolScope.html",[0,0.24,10603,6.094]],["body/classes/ExternalToolScope.html",[0,0.247,2,0.761,3,0.014,4,0.014,5,0.007,7,0.101,8,1.124,27,0.525,29,0.952,30,0.001,31,0.757,32,0.166,33,0.571,35,1.128,47,0.907,95,0.111,101,0.009,103,0,104,0,112,0.761,122,2.67,125,3.257,129,2.144,130,1.959,148,1.095,231,1.69,365,3.199,436,3.686,569,2.229,652,2.614,814,6.023,2087,3.098,2487,6.586,6244,5.533,6325,5.56,6748,4.45,6890,6.284,6891,6.537,6892,6.537,6893,6.537,6898,6.537,6899,6.537,6900,4.884,6901,4.81,6902,4.884,6903,4.884,6912,4.81,6913,6.537,6914,4.884,6915,4.81,6916,4.884,6917,4.81,6918,7.426,8063,6.723,8199,4.502,10224,5.144,10571,9.979,10603,8.541,10861,9.735,10862,9.015,10863,9.735,10864,9.735,10865,7.163,10866,9.015,10867,7.163,10868,9.735,10869,7.163,10870,6.633]],["title/classes/ExternalToolSearchListResponse.html",[0,0.24,10871,5.841]],["body/classes/ExternalToolSearchListResponse.html",[0,0.272,2,0.839,3,0.015,4,0.015,5,0.007,7,0.111,27,0.505,29,0.605,30,0.001,31,0.443,32,0.172,33,0.59,55,2.866,56,6.214,59,3.225,70,6.702,95,0.133,101,0.01,103,0.001,104,0.001,112,0.812,125,1.882,190,2.215,202,1.813,231,1.803,296,2.714,298,3.415,339,3.761,433,0.974,436,3.665,614,2.438,860,7.326,861,5.471,862,8.339,863,7.243,864,5.96,866,3.921,868,5.572,869,3.875,870,4.31,871,2.89,872,5.566,873,6.61,874,6.07,875,5.225,876,4.099,877,5.566,878,5.566,880,5.023,881,4.31,2682,4.708,2684,3.369,6920,6.926,10385,9.116,10803,10.896,10871,8.738,10872,7.311,10873,7.311]],["title/classes/ExternalToolSearchParams.html",[0,0.24,10715,5.841]],["body/classes/ExternalToolSearchParams.html",[0,0.394,2,0.973,3,0.017,4,0.017,5,0.008,7,0.129,27,0.45,30,0.001,31,0.752,32,0.142,33,0.6,34,1.954,47,0.925,95,0.13,101,0.012,103,0.001,104,0.001,112,0.893,157,2.629,190,2.05,200,2.805,201,4.836,202,2.103,299,4.854,300,4.767,614,4.027,1361,6.554,2682,5.644,2684,4.352,2815,4.571,6237,7.672,6325,6.261,10175,10.112,10715,9.608,10874,8.032,10875,11.425,10876,9.155,10877,8.032]],["title/interfaces/ExternalToolSearchQuery.html",[159,0.713,10579,5.327]],["body/interfaces/ExternalToolSearchQuery.html",[3,0.019,4,0.019,5,0.009,7,0.141,30,0.001,31,0.755,32,0.162,33,0.644,47,0.992,101,0.013,103,0.001,104,0.001,112,0.946,122,2.707,159,1.032,161,2.386,860,7.085,2684,3.258,6325,6.771,8063,8.187,10579,9.277,10878,10.049,10879,8.816]],["title/injectables/ExternalToolService.html",[589,0.929,6928,4.268]],["body/injectables/ExternalToolService.html",[0,0.131,3,0.007,4,0.007,5,0.003,7,0.053,8,0.701,12,2.751,26,2.191,27,0.47,29,0.915,30,0.001,31,0.681,32,0.149,33,0.549,34,1.038,35,1.383,36,2.736,40,2.945,47,0.807,59,1.177,95,0.145,99,0.777,101,0.005,103,0,104,0,125,1.81,135,1.612,148,1.094,153,1.001,228,2.004,271,2.283,277,0.547,279,1.592,317,2.93,365,2.711,433,0.749,540,3.046,579,1.754,589,0.812,591,0.904,595,1.431,614,2.343,629,3.195,652,2.636,657,2.901,675,3.864,688,1.79,703,1.177,869,2.979,980,3.367,1027,1.165,1223,2.84,1328,3.218,1563,2.444,1853,1.24,1882,1.447,1912,7.788,2004,4.598,2007,1.895,2035,1.862,2087,1.641,2450,4.99,2455,3.615,2505,3.772,2624,1.862,2682,5.505,2684,3.869,2762,6.837,5042,1.931,5171,2.84,5172,7.788,5174,2.674,5193,3.079,5234,4.076,5710,1.956,6036,8.372,6044,3.079,6259,5.259,6325,4.361,6391,2.413,6656,2.724,6750,3.69,6928,3.73,6934,3.512,7811,5.33,8195,4.546,8198,6.011,10053,9.098,10073,2.674,10094,3.079,10312,2.087,10402,3.512,10403,3.512,10419,7.295,10421,8.512,10422,7.295,10424,4.139,10458,2.909,10579,6.653,10650,6.658,10841,3.19,10880,6.07,10881,5.326,10882,5.326,10883,6.07,10884,6.07,10885,7.589,10886,5.326,10887,6.07,10888,7.589,10889,3.793,10890,7.788,10891,7.589,10892,3.793,10893,6.07,10894,3.793,10895,6.07,10896,3.793,10897,6.07,10898,3.793,10899,3.793,10900,6.07,10901,3.793,10902,6.07,10903,3.793,10904,3.793,10905,3.793,10906,6.07,10907,7.028,10908,9.843,10909,6.07,10910,3.793,10911,3.793,10912,8.935,10913,10.122,10914,3.793,10915,8.675,10916,2.724,10917,3.793,10918,3.793,10919,3.512,10920,5.621,10921,3.793,10922,3.512,10923,5.621,10924,6.07,10925,3.793,10926,3.793,10927,3.793,10928,3.793,10929,3.793,10930,3.793,10931,3.793,10932,3.793,10933,6.07,10934,6.07,10935,6.07,10936,6.07,10937,3.793,10938,3.793,10939,3.793,10940,3.793,10941,3.328,10942,3.793,10943,3.793,10944,3.793,10945,3.793,10946,3.793,10947,3.793,10948,3.793,10949,6.07,10950,3.793,10951,3.793,10952,3.793,10953,3.793,10954,3.793,10955,3.793,10956,3.793,10957,3.793,10958,3.793,10959,3.793,10960,3.793,10961,3.793,10962,3.793,10963,3.793,10964,3.793,10965,3.793,10966,3.793]],["title/injectables/ExternalToolServiceMapper.html",[589,0.929,10422,5.841]],["body/injectables/ExternalToolServiceMapper.html",[0,0.32,3,0.018,4,0.018,5,0.009,7,0.13,8,1.33,27,0.366,29,0.712,30,0.001,31,0.703,32,0.116,33,0.427,35,1.076,47,0.888,95,0.143,101,0.012,103,0.001,104,0.001,148,0.919,277,1.34,589,1.541,591,2.213,1495,6.667,1496,7.536,1882,3.54,2682,5.222,2684,3.737,6244,3.801,6321,7.311,8062,6.951,8198,9.082,10053,8.629,10422,9.69,10424,6.329,10650,10.995,10673,8.596,10912,9.385,10916,6.667,10967,9.282,10968,11.524,10969,11.524,10970,9.282,10971,9.282,10972,9.282,10973,8.596,10974,9.282,10975,8.143,10976,9.282,10977,9.282,10978,8.596,10979,8.596]],["title/classes/ExternalToolSortingMapper.html",[0,0.24,10602,6.094]],["body/classes/ExternalToolSortingMapper.html",[0,0.317,2,0.978,3,0.017,4,0.017,5,0.008,7,0.129,8,1.323,10,3.693,27,0.362,29,0.705,30,0.001,31,0.642,32,0.115,33,0.423,35,1.066,95,0.149,96,2.435,101,0.012,103,0.001,104,0.001,125,2.193,135,1.201,148,0.911,224,2.684,467,3.633,595,3.471,789,5.021,2007,4.595,2684,3.715,2762,4.568,4800,7.467,6748,5.714,7821,10.262,8199,7.202,10224,6.606,10571,9.635,10602,10.052,10742,10.29,10980,9.197,10981,11.458,10982,11.458,10983,9.197,10984,8.517,10985,9.197,10986,8.517,10987,8.517,10988,10.61,10989,8.517]],["title/injectables/ExternalToolUc.html",[589,0.929,10990,5.841]],["body/injectables/ExternalToolUc.html",[0,0.164,3,0.009,4,0.009,5,0.004,7,0.067,8,0.835,26,2.924,27,0.469,29,0.914,30,0.001,31,0.668,32,0.149,33,0.548,35,1.339,36,2.807,39,3.296,47,0.621,95,0.142,99,0.972,100,1.655,101,0.006,103,0,104,0,131,3.68,135,1.653,148,1.1,153,1.192,228,1.914,277,0.685,290,2.071,317,2.984,365,3.912,412,2.099,433,0.892,478,1.328,540,3.44,589,0.967,591,1.131,595,1.79,610,1.869,614,1.464,652,2.432,657,3.083,693,5.424,869,3.548,1829,2.016,1853,1.551,1862,6.169,1882,1.809,1940,3.096,1961,2.853,2087,2.052,2666,2.192,2682,5.53,2684,3.177,2686,5.413,2762,6.519,4410,5.166,5710,2.446,5761,3.096,6656,3.406,6750,5.325,6928,6.828,6968,4.161,6988,4.392,7811,6.019,10114,11.302,10122,3.736,10123,8.653,10142,3.851,10143,10.29,10312,7.063,10331,6.694,10349,6.342,10366,5.694,10391,9.717,10418,8.238,10579,7.513,10713,10.45,10746,8.595,10841,3.988,10881,6.342,10882,6.342,10886,6.342,10908,4.392,10990,6.079,10991,7.229,10992,8.112,10993,6.694,10994,6.342,10995,8.759,10996,4.743,10997,7.229,10998,4.743,10999,7.229,11000,4.743,11001,7.229,11002,4.743,11003,4.743,11004,7.229,11005,4.743,11006,7.229,11007,4.743,11008,7.229,11009,4.743,11010,11.112,11011,7.229,11012,4.743,11013,4.743,11014,4.743,11015,7.229,11016,4.743,11017,4.743,11018,6.694,11019,4.743,11020,4.743,11021,4.743,11022,4.743,11023,4.743,11024,4.743]],["title/classes/ExternalToolUpdateParams.html",[0,0.24,10744,5.841]],["body/classes/ExternalToolUpdateParams.html",[0,0.343,2,0.625,3,0.011,4,0.011,5,0.005,7,0.083,27,0.509,29,0.763,30,0.001,31,0.674,32,0.17,33,0.584,34,1.701,47,0.899,95,0.137,101,0.008,103,0,104,0,110,3.439,112,0.663,122,2.271,125,1.403,130,2.72,190,2.319,195,2.63,199,5.516,200,1.802,201,4.481,202,1.351,223,1.826,296,3.14,299,4.497,300,4.417,571,3.354,886,1.851,899,2.679,1220,3.374,1232,3.405,2034,6.872,2035,2.887,2087,4.709,2477,5.155,2543,5.349,2682,5.943,2684,4.253,2689,3.317,2692,4.147,2703,9.369,2706,6.214,2707,5.877,2900,5.655,3182,3.961,3341,6.091,4033,4.511,4034,3.614,4055,3.614,6273,6.679,6696,5.705,6727,4.776,6793,6.214,6796,4.947,6797,4.947,6798,4.633,6803,5.349,8061,5.983,8063,6.046,8216,4.011,8220,4.076,8249,9.369,8256,6.504,9527,5.536,9528,3.84,9529,5.536,10017,7.287,10175,10.649,10179,5.161,10180,5.447,10187,5.447,10188,5.447,10191,5.447,10193,5.447,10728,9.154,10735,9.704,10744,7.132,11025,4.947,11026,5.882,11027,5.161,11028,5.882,11029,5.161,11030,5.882,11031,5.882,11032,5.882,11033,5.882,11034,5.447,11035,5.882,11036,5.882,11037,5.882]],["title/injectables/ExternalToolValidationService.html",[589,0.929,10418,5.841]],["body/injectables/ExternalToolValidationService.html",[0,0.187,3,0.01,4,0.01,5,0.005,7,0.076,8,0.924,27,0.461,29,0.897,30,0.001,31,0.656,32,0.151,33,0.538,34,1.626,35,1.295,36,2.629,47,0.674,72,2.488,95,0.134,101,0.007,103,0,104,0,127,4.75,135,0.71,142,3.468,148,0.538,153,1.928,228,1.725,277,0.785,317,2.868,338,7.186,393,2.684,414,2.75,415,3.091,417,4.477,433,0.988,569,2.492,579,3.379,589,1.071,591,1.296,614,2.935,640,3.34,652,2.698,657,2.68,983,5.159,1598,4.722,1882,2.073,2087,2.352,2682,5.479,2684,4.4,2762,6.976,2815,3.803,5866,4.572,6072,4.282,6091,5.034,6785,4.414,6928,7.186,7018,4.414,7023,7.994,10053,9.055,10122,4.282,10123,9.055,10312,4.406,10336,5.751,10349,4.769,10418,6.734,10420,10.169,10454,4.769,10458,8.574,10480,5.034,10841,6.734,10907,5.034,10919,5.034,10920,5.034,10922,8.803,11038,8.007,11039,8.007,11040,8.007,11041,8.007,11042,8.007,11043,5.436,11044,8.007,11045,5.436,11046,8.007,11047,8.007,11048,5.436,11049,8.007,11050,8.007,11051,5.436,11052,5.436,11053,8.007,11054,5.436,11055,5.436,11056,8.007,11057,5.436,11058,8.007,11059,5.436,11060,5.436,11061,5.436,11062,8.007,11063,5.436,11064,5.436,11065,5.436,11066,5.436,11067,5.436,11068,5.436,11069,5.436,11070,5.436,11071,5.436]],["title/injectables/ExternalToolVersionIncrementService.html",[589,0.929,10419,5.841]],["body/injectables/ExternalToolVersionIncrementService.html",[0,0.164,3,0.009,4,0.009,5,0.004,7,0.067,8,0.837,27,0.47,29,0.915,30,0.001,31,0.668,32,0.149,33,0.549,35,1.382,95,0.1,101,0.006,103,0,104,0,122,2.74,135,1.745,148,1.272,277,0.687,569,2.256,589,0.969,591,1.135,652,2.809,756,1.883,1882,1.815,2682,5.536,2684,3.961,2751,9.447,2762,5.746,2919,10.803,5710,6.301,6121,4.176,6142,7.968,6148,4.176,6154,4.003,6155,4.003,6655,2.992,10053,9.148,10419,6.095,11072,4.76,11073,7.249,11074,7.249,11075,7.249,11076,7.249,11077,7.249,11078,7.249,11079,7.249,11080,7.249,11081,7.249,11082,13.362,11083,4.76,11084,8.779,11085,7.249,11086,4.76,11087,7.249,11088,13.362,11089,4.76,11090,7.249,11091,4.76,11092,7.249,11093,4.76,11094,7.249,11095,4.76,11096,7.249,11097,4.76,11098,7.249,11099,8.779,11100,4.76,11101,4.76,11102,4.76,11103,7.249,11104,4.76,11105,4.76,11106,4.76,11107,4.76,11108,7.249,11109,7.249,11110,7.249,11111,4.76,11112,4.76,11113,4.76,11114,4.76,11115,4.76,11116,4.76,11117,4.76,11118,12.217,11119,7.249,11120,4.76,11121,4.76,11122,4.76,11123,7.249,11124,4.76,11125,4.76,11126,7.249,11127,4.76,11128,4.76,11129,4.76,11130,4.76,11131,4.76,11132,4.76,11133,4.76,11134,4.76,11135,9.815,11136,9.815,11137,9.815,11138,4.76,11139,4.76,11140,4.76]],["title/classes/ExternalUserDto.html",[0,0.24,11141,5.089]],["body/classes/ExternalUserDto.html",[0,0.292,2,0.899,3,0.016,4,0.016,5,0.008,7,0.119,27,0.537,29,0.649,30,0.001,31,0.474,32,0.17,33,0.652,47,0.98,83,3.164,95,0.097,101,0.011,103,0.001,104,0.001,112,0.85,232,2.945,433,1.044,435,2.873,595,3.193,700,5.793,701,5.793,702,5.928,704,6.113,3400,6.153,5024,6.66,7782,5.09,7783,5.257,8077,6.664,8078,6.869,9950,11.62,9971,7.835,9973,7.835,9974,7.835,11141,9.604,11142,9.209,11143,10.869,11144,8.461,11145,8.461,11146,8.461,11147,5.523,11148,5.965,11149,5.523,11150,5.965,11151,5.769,11152,6.199,11153,7.115,11154,7.423]],["title/injectables/FeathersAuthProvider.html",[589,0.929,1869,5.639]],["body/injectables/FeathersAuthProvider.html",[0,0.202,3,0.011,4,0.011,5,0.005,7,0.082,8,0.975,26,2.929,27,0.473,29,0.92,30,0.001,31,0.673,32,0.15,33,0.552,35,1.334,36,2.776,39,3.423,47,0.816,49,3.728,95,0.131,96,1.548,97,2.395,99,1.199,101,0.008,103,0,104,0,135,1.711,142,2.134,148,1.188,153,0.964,159,0.601,197,1.626,277,0.844,290,2.994,317,2.979,365,2.612,400,1.741,433,0.722,478,1.637,579,1.69,589,1.129,591,1.394,610,3.906,652,2.024,657,2.639,703,1.815,789,3.193,981,3.555,1092,3.927,1826,5.899,1869,6.856,1881,4.918,2488,5.758,2935,4.477,4557,4.03,7760,8.074,7768,7.217,7957,7.797,9510,6.188,9936,5.131,9937,8.791,11155,11.454,11156,5.416,11157,8.445,11158,9.18,11159,7.409,11160,8.445,11161,9.18,11162,5.848,11163,8.445,11164,5.848,11165,5.416,11166,5.848,11167,8.445,11168,5.848,11169,8.445,11170,5.848,11171,5.848,11172,5.848,11173,8.445,11174,8.445,11175,8.445,11176,5.848,11177,5.848,11178,5.848,11179,8.445,11180,8.445,11181,6.652,11182,6.856,11183,5.848,11184,4.918,11185,5.848,11186,5.848,11187,5.848,11188,7.409,11189,5.416,11190,5.848,11191,5.848]],["title/injectables/FeathersAuthorizationService.html",[589,0.929,1863,5.841]],["body/injectables/FeathersAuthorizationService.html",[0,0.203,3,0.011,4,0.011,5,0.005,7,0.083,8,0.978,26,2.85,27,0.428,29,0.834,30,0.001,31,0.61,32,0.136,33,0.501,35,1.336,36,2.546,39,3.508,47,0.852,95,0.113,99,1.204,101,0.008,103,0,104,0,135,1.421,145,2.194,148,0.839,153,1.397,205,2.453,206,3.547,277,0.848,290,3.1,317,2.803,374,4.705,388,5.622,400,1.749,433,0.725,579,2.448,589,1.133,591,1.4,615,5.15,657,2.643,693,2.675,1083,6.774,1566,5.153,1826,7.282,1863,7.124,1869,9.755,1884,3.609,1983,5.689,2388,4.769,2818,5.607,5246,3.692,7760,8.559,7768,8.359,7792,6.498,7957,9.536,11155,10.68,11192,5.874,11193,9.937,11194,8.472,11195,9.937,11196,5.874,11197,5.874,11198,5.874,11199,5.874,11200,6.498,11201,7.845,11202,8.472,11203,5.874,11204,5.874,11205,5.874,11206,7.845,11207,5.874,11208,5.874,11209,5.874,11210,5.874,11211,5.874,11212,5.874,11213,5.874,11214,5.874,11215,5.874,11216,7.433,11217,5.874,11218,5.874,11219,5.874,11220,8.472,11221,5.874,11222,5.874]],["title/interfaces/FeathersError.html",[159,0.713,9927,5.841]],["body/interfaces/FeathersError.html",[3,0.019,4,0.019,5,0.009,7,0.143,30,0.001,32,0.177,47,0.995,55,2.61,101,0.013,103,0.001,104,0.001,112,0.951,159,1.043,161,2.41,231,2.112,998,6.379,1080,4.195,9927,10.234,11223,10.15,11224,10.15,11225,12.515]],["title/modules/FeathersModule.html",[252,1.835,1861,5.841]],["body/modules/FeathersModule.html",[0,0.311,3,0.017,4,0.017,5,0.008,30,0.001,95,0.129,101,0.012,103,0.001,104,0.001,157,2.074,193,4.915,252,3.529,254,4.453,255,3.437,256,3.525,257,3.512,258,3.499,259,4.497,260,4.603,269,4.425,270,3.461,271,3.389,277,1.301,371,5.997,543,5.488,610,4.458,997,7.111,1861,11.636,1884,7.598,2580,7.288,2869,7.197,8985,8.676,9937,10.53,11226,9.011,11227,9.011,11228,9.011,11229,9.011,11230,9.184,11231,9.184,11232,9.513,11233,9.513,11234,9.925,11235,8.345]],["title/injectables/FeathersRosterService.html",[589,0.929,11236,5.327]],["body/injectables/FeathersRosterService.html",[0,0.104,3,0.006,4,0.006,5,0.003,7,0.043,8,0.583,26,2.234,27,0.457,29,0.89,30,0.001,31,0.672,32,0.153,33,0.534,34,0.863,35,1.319,36,2.681,47,0.969,51,3.635,55,0.606,72,2.31,95,0.139,99,0.62,101,0.004,103,0,104,0,122,0.631,135,1.727,142,1.842,145,1.885,148,1.102,153,1.5,157,0.697,159,0.865,228,1.651,254,1.818,277,0.437,290,1.193,317,2.907,339,3.178,412,2.234,433,0.623,478,0.847,528,2.554,578,1.582,579,2.19,589,0.675,591,0.722,595,1.142,610,2.986,614,2.34,652,2.765,657,2.983,980,4.671,1065,3.719,1212,3.252,1472,1.692,1853,0.99,1884,3.102,2004,4.017,2005,3.989,2007,3.244,2017,6.387,2026,3.698,2032,4.229,2034,1.679,2039,3.625,2046,2.266,2047,2.174,2297,5.969,2369,1.692,2532,3.006,2561,3.037,2762,6.333,3382,1.358,3867,3.442,3868,1.593,4557,1.767,4708,4.183,4830,2.032,4831,2.064,5024,3.601,5025,2.174,5416,5.473,5427,4.831,5909,2.003,6259,3.498,6641,4.36,6695,5.343,6765,2.064,6780,6.3,6864,2.097,6928,5.93,6929,6.387,6947,4.034,6953,4.862,6962,2.174,6963,2.174,7006,3.871,7397,2.922,7400,4.131,7401,2.134,7495,2.218,7542,2.384,8002,5.69,8008,3.442,8199,3.173,10073,2.134,10147,2.321,10312,5.006,10336,5.443,10407,2.384,10497,3.625,10500,7.449,10506,5.088,10519,4.245,10535,3.871,11236,3.871,11237,9.583,11238,2.457,11239,4.098,11240,4.098,11241,4.098,11242,3.625,11243,4.098,11244,5.048,11245,5.048,11246,5.048,11247,4.674,11248,5.048,11249,5.048,11250,5.048,11251,5.048,11252,5.048,11253,5.048,11254,5.048,11255,2.384,11256,6.688,11257,3.027,11258,4.098,11259,3.027,11260,3.027,11261,4.098,11262,3.027,11263,4.098,11264,3.027,11265,4.098,11266,8.526,11267,3.027,11268,4.098,11269,3.027,11270,4.098,11271,3.027,11272,4.098,11273,3.027,11274,4.098,11275,3.027,11276,7.965,11277,4.098,11278,3.027,11279,4.098,11280,3.027,11281,4.098,11282,3.027,11283,2.321,11284,3.699,11285,2.457,11286,3.976,11287,5.969,11288,3.976,11289,4.098,11290,4.098,11291,6.838,11292,4.098,11293,2.457,11294,4.098,11295,2.457,11296,2.457,11297,4.098,11298,2.457,11299,2.457,11300,4.098,11301,2.457,11302,2.457,11303,2.457,11304,2.457,11305,2.457,11306,2.457,11307,2.457,11308,2.457,11309,2.457,11310,2.457,11311,5.271,11312,2.457,11313,2.457,11314,2.457,11315,2.457,11316,2.457,11317,2.457,11318,2.457,11319,2.457,11320,2.457,11321,2.457,11322,2.457,11323,4.098,11324,2.457,11325,2.384,11326,2.457,11327,3.389,11328,2.032,11329,2.384,11330,2.384,11331,2.457,11332,4.098,11333,2.457,11334,4.098,11335,2.457,11336,2.384,11337,2.457,11338,2.457,11339,2.457,11340,2.457,11341,2.457,11342,2.457,11343,2.384,11344,2.384]],["title/interfaces/FeathersService.html",[159,0.713,11345,6.094]],["body/interfaces/FeathersService.html",[0,0.225,3,0.012,4,0.012,5,0.006,7,0.092,8,1.055,27,0.449,29,0.808,30,0.001,31,0.591,32,0.15,33,0.485,34,1.563,35,1.221,36,2.637,47,0.809,59,3.542,95,0.13,101,0.015,102,5.586,103,0,104,0,135,1.193,142,2.384,148,0.647,153,1.077,159,0.671,161,1.551,193,5.218,252,1.726,254,2.353,277,0.943,326,5.033,339,1.916,371,6.366,388,4.518,407,4.527,543,3.17,561,2.932,571,3.614,579,1.888,589,1.222,610,5.136,641,6.489,652,1.334,688,3.084,734,3.835,816,4.527,983,4.209,997,7.549,1078,4.006,1086,4.36,1087,4.224,1088,4.29,1089,4.565,1090,4.989,1197,3.54,1380,4.892,1884,6.474,2134,6.442,2554,4.107,2580,4.209,2869,4.156,4206,5.887,5106,6.137,5883,5.677,6244,3.742,7529,3.93,8985,5.011,9901,5.011,9937,4.787,10465,4.787,11230,5.304,11231,5.304,11232,5.494,11233,5.494,11234,5.732,11345,10.011,11346,10.567,11347,5.732,11348,8.461,11349,12.767,11350,6.533,11351,10.567,11352,8.461,11353,6.533,11354,8.461,11355,6.533,11356,5.732,11357,6.05,11358,6.05,11359,6.05,11360,6.05,11361,6.05,11362,8.461,11363,6.05,11364,5.494,11365,5.146,11366,6.05,11367,6.05,11368,6.05,11369,6.05]],["title/injectables/FeathersServiceProvider.html",[589,0.929,9937,5.089]],["body/injectables/FeathersServiceProvider.html",[0,0.234,3,0.013,4,0.013,5,0.006,7,0.096,8,1.084,27,0.424,29,0.72,30,0.001,31,0.527,32,0.145,33,0.432,34,1.163,35,0.788,36,2.281,47,0.823,95,0.133,101,0.015,102,5.705,103,0,104,0,135,1.227,142,2.481,148,0.673,153,1.121,157,1.565,159,0.698,193,5.805,252,1.796,254,3.383,277,0.981,326,4.412,371,6.154,388,4.615,407,6.51,414,3.439,433,0.839,543,4.558,561,3.051,571,3.715,579,1.965,589,1.256,591,1.621,610,5.186,641,5.342,652,1.388,688,3.209,816,4.711,983,4.38,997,7.297,1078,4.118,1086,4.482,1087,4.342,1088,4.41,1089,4.694,1090,5.129,1197,3.684,1380,5.091,1884,7.133,2134,6.623,2554,4.274,2580,6.052,2869,5.976,4206,6.052,5106,3.656,5883,5.837,6244,3.847,7529,4.09,8985,7.205,9901,5.214,9937,6.883,10465,4.982,11230,7.626,11231,7.626,11232,7.899,11233,7.899,11234,8.241,11345,10.185,11346,9.967,11347,5.965,11348,6.296,11349,11.283,11351,8.699,11352,6.296,11354,6.296,11356,5.965,11357,6.296,11358,6.296,11359,6.296,11360,6.296,11361,8.699,11362,8.699,11363,6.296,11364,5.717,11365,5.355,11366,6.296,11367,6.296,11368,6.296,11369,6.296,11370,9.394,11371,6.799,11372,6.799,11373,6.799]],["title/entities/FederalStateEntity.html",[205,1.418,7388,4.813]],["body/entities/FederalStateEntity.html",[0,0.351,3,0.015,4,0.015,5,0.007,7,0.108,27,0.48,30,0.001,31,0.711,32,0.152,33,0.468,47,0.989,55,1.533,83,2.964,95,0.116,96,2.027,101,0.015,103,0,104,0,112,0.796,159,0.786,190,2.188,195,2.667,196,4.032,197,3.389,205,2.078,206,2.496,211,5.646,223,3.94,224,2.234,225,3.91,226,3.468,229,3.027,231,1.329,232,2.074,233,2.389,430,3.147,431,3.282,460,4.653,461,5.219,462,4.653,463,5.219,1835,5.216,2183,4.011,2698,5.183,4617,5.304,4623,5.435,4633,3.435,6696,6.993,6712,5.066,7369,10.974,7370,11.135,7371,6.715,7372,6.715,7373,6.715,7374,6.715,7379,8.56,7380,10.695,7381,10.695,7382,6.715,7383,6.715,7384,6.715,7385,6.715,7386,6.715,7387,6.715,7388,7.054,7389,6.715,7390,6.715,7391,6.029,11374,7.654,11375,7.654,11376,7.654,11377,7.654]],["title/interfaces/FederalStateProperties.html",[159,0.713,7379,5.841]],["body/interfaces/FederalStateProperties.html",[0,0.355,3,0.015,4,0.015,5,0.007,7,0.109,30,0.001,31,0.735,32,0.163,33,0.473,47,1.008,55,1.557,83,3.816,95,0.117,96,2.058,101,0.015,103,0,104,0,112,0.804,159,0.798,161,1.845,195,2.25,196,3.812,197,2.859,205,2.1,223,3.807,224,2.268,225,3.95,226,3.522,229,3.074,231,1.349,232,2.106,233,2.426,430,5.043,431,5.259,460,4.725,461,5.3,462,4.725,463,5.3,1835,3.983,2183,4.052,2698,5.236,4623,5.491,4633,3.488,6696,7.318,6712,5.144,7369,11.243,7370,6.819,7371,6.819,7372,6.819,7373,6.819,7374,6.819,7379,9.692,7380,11.192,7381,11.192,7382,6.819,7383,6.819,7384,6.819,7385,6.819,7386,6.819,7387,6.819,7388,5.386,7389,6.819,7390,6.819,7391,6.122]],["title/injectables/FederalStateRepo.html",[589,0.929,11378,5.841]],["body/injectables/FederalStateRepo.html",[0,0.265,3,0.015,4,0.015,5,0.007,7,0.108,8,1.18,10,4.104,12,4.63,18,5.202,26,2.107,27,0.515,29,0.975,30,0.001,31,0.748,32,0.159,33,0.585,34,1.317,35,1.474,36,2.695,40,3.735,47,0.813,49,3.843,95,0.14,96,2.038,101,0.01,103,0,104,0,148,1.012,205,1.572,206,3.332,224,2.247,231,1.774,277,1.111,317,2.837,436,3.629,478,2.156,532,5.178,589,1.367,591,1.835,728,7.72,734,4.289,735,4.676,736,6.316,759,4.584,760,4.679,761,4.631,762,4.679,763,5.335,764,4.631,765,4.679,766,4.171,3966,5.428,7388,7.081,10574,8.296,10583,8.593,11378,8.593,11379,11.47,11380,7.698,11381,7.698,11382,7.698,11383,7.698]],["title/injectables/FederalStateService.html",[589,0.929,11384,5.841]],["body/injectables/FederalStateService.html",[0,0.311,3,0.017,4,0.017,5,0.008,7,0.127,8,1.308,27,0.446,29,0.869,30,0.001,31,0.694,32,0.141,33,0.521,35,1.047,36,2.401,47,0.878,95,0.141,101,0.012,103,0.001,104,0.001,135,1.179,148,0.894,228,1.639,277,1.304,279,3.791,317,2.686,400,2.689,433,1.114,478,2.529,589,1.515,591,2.153,657,2.07,734,3.791,1829,3.839,1882,3.444,1940,5.896,4184,6.259,4683,6.065,7388,7.85,11378,11.471,11384,9.526,11385,9.493,11386,12.378,11387,9.032,11388,11.329,11389,9.032,11390,9.032,11391,11.329,11392,9.032,11393,7.595,11394,6.927,11395,8.192,11396,9.032]],["title/interfaces/File.html",[5,0.006,159,0.713]],["body/interfaces/File.html",[3,0.017,4,0.017,5,0.011,7,0.123,30,0.001,32,0.139,47,1.039,55,2.444,95,0.1,101,0.018,103,0.001,104,0.001,112,0.868,125,2.649,159,1.39,161,2.079,339,3.885,414,5.62,1302,7.346,1304,4.979,1444,7.118,2232,5.322,5202,5.33,6528,4.979,7185,6.557,7186,6.557,7187,6.897,7188,6.715,7189,6.715,7190,5.504,7191,6.557,7192,5.97,7193,5.97,7194,5.97,7195,5.97,7196,6.173,7197,5.44,7198,5.322,7199,5.322,7200,6.416,7201,8.52,7202,8.52,7203,6.557]],["title/classes/FileContentBody.html",[0,0.24,6462,4.534]],["body/classes/FileContentBody.html",[0,0.47,2,0.572,3,0.01,4,0.01,5,0.005,7,0.076,9,2.499,27,0.313,30,0.001,31,0.676,32,0.174,47,0.924,83,1.566,95,0.127,99,1.102,101,0.018,103,0,104,0,110,1.859,112,0.621,130,3.296,155,1.706,157,2.401,190,1.426,195,1.176,200,1.648,201,3.668,202,1.235,223,1.669,231,2.022,296,3.688,299,4.922,300,4.459,339,1.577,360,3.058,854,4.993,855,3.215,886,1.692,899,2.449,1232,3.113,1749,3.058,1853,1.759,2048,4.239,2392,4.443,2707,5.505,2894,2.566,2900,6.624,3140,2.425,3182,2.512,3545,5.571,3547,5.571,3550,3.142,3553,4.905,3557,2.774,3562,3.007,4034,3.305,4055,3.305,4454,5.417,6365,5.938,6367,6.01,6369,5.938,6371,6.637,6373,6.01,6375,6.01,6423,3.465,6460,6.166,6461,6.166,6462,6.81,6463,6.166,6464,6.166,6465,6.166,6803,6.653,7898,3.511,7968,3.142,9513,6.343,9514,3.611,9516,8.187,9517,6.166,9518,6.166,9519,6.166,9520,3.611,9521,6.166,9522,3.305,9523,3.559,9524,6.166,9525,6.81,9526,3.511,9527,3.511,9528,3.511,9529,3.511,9530,3.611,9531,3.611,9532,3.611,9533,3.611,9534,3.611,9535,3.611,11397,5.378,11398,5.378]],["title/interfaces/FileDO.html",[159,0.713,7098,5.639]],["body/interfaces/FileDO.html",[3,0.014,4,0.018,5,0.007,7,0.1,10,2.856,26,2.633,30,0.001,31,0.694,32,0.168,33,0.446,34,2.117,39,1.968,47,1.01,55,2.207,83,3.208,95,0.111,99,1.458,101,0.017,103,0,104,0,112,0.757,135,0.929,159,1.215,161,1.689,290,1.681,374,3.076,703,2.208,870,6.46,886,3.467,1080,3.34,1154,6.606,1444,6.562,1936,3.339,2032,2.703,2218,3.176,2219,3.575,2220,3.45,2617,4.323,2940,3.255,2992,3.223,3140,3.207,3382,3.192,3431,3.797,3633,5.574,3647,5.108,3901,5.843,4009,4.155,4228,4.155,4557,2.489,5202,5.286,5427,4.08,5744,4.044,5756,4.235,6621,6.562,6622,5.843,7080,5.774,7081,6.586,7082,6.586,7083,5.014,7084,5.602,7085,6.586,7086,5.981,7087,6.586,7088,6.586,7089,6.586,7090,8.067,7091,7.431,7092,7.431,7093,7.431,7094,6.98,7095,4.642,7096,4.642,7097,7.099,7098,7.866,7099,9.319,7100,8.067]],["title/interfaces/FileDomainObjectProps.html",[159,0.713,11399,5.841]],["body/interfaces/FileDomainObjectProps.html",[3,0.018,4,0.018,5,0.009,7,0.136,26,2.897,30,0.001,31,0.746,32,0.166,34,2.275,47,0.905,95,0.135,99,1.985,101,0.013,103,0.001,104,0.001,112,0.925,159,0.995,161,2.3,185,3.328,1882,3.694,3866,4.869,3901,6.278,6622,6.278,7094,7.5,7102,4.596,7104,8.969,9890,5.887,11399,9.947,11400,8.969]],["title/classes/FileDto.html",[0,0.24,7248,5.201]],["body/classes/FileDto.html",[0,0.318,2,0.98,3,0.018,4,0.018,5,0.012,7,0.13,27,0.515,29,0.707,30,0.001,31,0.733,32,0.163,33,0.424,47,0.927,95,0.131,101,0.012,103,0.001,104,0.001,112,0.897,339,3.664,433,1.137,881,5.033,1237,3.382,1302,6.929,1304,5.242,1444,6.929,2183,3.632,2815,3.688,7102,6.382,7137,6.285,7248,10.071,11401,9.218,11402,9.649,11403,9.218,11404,9.218,11405,9.218,11406,9.218,11407,5.664,11408,7.752,11409,7.261,11410,7.484]],["title/classes/FileDto-1.html",[0,0.199,756,2.284,7248,4.324]],["body/classes/FileDto-1.html",[0,0.305,2,0.939,3,0.017,4,0.017,5,0.008,7,0.124,26,2.738,27,0.523,29,0.677,30,0.001,31,0.722,32,0.166,33,0.406,34,2.095,47,0.792,95,0.14,99,1.81,101,0.012,103,0.001,104,0.001,112,0.873,161,2.097,232,3.027,433,1.09,435,2.999,458,3.534,459,4.649,2183,3.481,3866,6.82,3901,5.783,4633,3.964,6622,5.783,6631,5.62,7094,6.908,7102,6.437,7133,6.957,7248,8.365,9890,5.369,11399,10.827,11411,8.833,11412,11.171,11413,8.833,11414,8.833,11415,8.833,11416,6.614,11417,7.749]],["title/classes/FileDtoBuilder.html",[0,0.24,11418,6.432]],["body/classes/FileDtoBuilder.html",[0,0.263,2,0.812,3,0.015,4,0.015,5,0.012,7,0.107,8,1.174,27,0.45,29,0.876,30,0.001,31,0.731,32,0.142,33,0.526,35,1.324,47,0.97,95,0.139,101,0.01,103,0,104,0,135,1.591,148,1.132,153,1.259,339,3.966,467,3.985,507,4.478,711,3.394,871,4.183,1302,7.383,1304,5.781,1444,7.234,2083,5.056,2113,8.749,7102,5.781,7248,10.125,11418,9.415,11419,10.687,11420,7.64,11421,10.167,11422,10.167,11423,10.167,11424,7.64,11425,10.167,11426,7.64,11427,10.167,11428,12.685,11429,7.64,11430,7.075,11431,7.64,11432,7.64,11433,7.64,11434,7.64,11435,7.64,11436,7.075,11437,7.64,11438,6.424]],["title/classes/FileElement.html",[0,0.24,3121,4.316]],["body/classes/FileElement.html",[0,0.219,2,0.674,3,0.012,4,0.012,5,0.006,7,0.089,8,1.033,27,0.536,29,0.971,30,0.001,31,0.71,32,0.164,33,0.583,35,1.524,36,1.895,47,0.945,55,1.791,59,1.967,95,0.102,101,0.014,103,0,104,0,112,0.699,113,3.564,122,2.162,130,3.079,134,2.239,148,1.115,158,2.343,159,0.651,189,5.496,197,1.762,231,1.799,317,2.249,435,3.037,436,3.841,527,2.682,532,3.318,567,3.399,569,3.835,653,2.616,657,1.452,711,2.656,735,4.093,1770,3.634,1773,6.369,1842,4.073,2050,2.671,2648,5.879,3039,7.911,3042,6.306,3043,6.306,3044,6.306,3045,7.35,3046,6.306,3048,3.984,3049,5.437,3050,6.577,3052,6.198,3053,5.437,3054,6.459,3056,4.392,3057,4.775,3059,6.515,3060,4.392,3064,4.392,3066,3.984,3093,5.38,3121,6.996,3545,6.64,3547,6.64,4315,4.552,4316,4.552,4317,4.552,4326,3.938,9537,4.392,9539,5.56,9542,5.329,9544,5.329,11439,10.996,11440,6.337,11441,5.869,11442,6.337,11443,6.337,11444,6.337,11445,5.869,11446,6.337,11447,5.869,11448,8.282,11449,5.869,11450,8.282,11451,5.869,11452,5.869,11453,5.869,11454,5.56,11455,5.869]],["title/classes/FileElementContent.html",[0,0.24,11456,5.841]],["body/classes/FileElementContent.html",[0,0.369,2,0.877,3,0.016,4,0.016,5,0.008,7,0.116,27,0.467,29,0.633,30,0.001,31,0.463,32,0.166,33,0.38,34,2.029,47,0.922,95,0.143,101,0.014,103,0.001,104,0.001,112,0.836,190,1.919,202,1.895,296,3.543,298,3.569,304,4.074,433,1.464,458,3.301,821,4.201,886,2.596,1853,2.698,2108,3.601,2392,4.525,2908,6.868,3032,7.54,3035,7.373,3178,4.406,3179,4.406,3182,3.854,3545,7.669,3547,7.669,3727,5.626,3739,4.866,3988,6.135,3992,5.387,3994,5.387,4035,7.681,4454,6.161,6365,5.187,9572,6.939,11456,11.205,11457,11.625,11458,7.642,11459,7.642,11460,6.939,11461,6.939]],["title/classes/FileElementContentBody.html",[0,0.24,9517,4.534]],["body/classes/FileElementContentBody.html",[0,0.47,2,0.569,3,0.01,4,0.01,5,0.005,7,0.075,9,2.489,27,0.312,30,0.001,31,0.675,32,0.175,47,0.895,83,1.559,95,0.127,99,1.098,101,0.018,103,0,104,0,110,1.852,112,0.619,125,1.277,130,3.291,155,1.699,157,2.396,190,1.421,195,1.172,200,1.641,201,3.659,202,1.23,223,1.663,231,2.089,296,3.686,299,4.917,300,4.452,339,1.571,360,3.046,436,1.591,854,4.979,855,3.206,866,2.66,886,1.685,899,2.439,1232,3.1,1749,3.046,1853,1.752,2048,3.829,2392,4.713,2894,2.556,2900,6.615,3140,2.415,3182,2.502,3545,3.159,3547,3.159,3550,3.129,3553,4.893,3557,2.763,3562,2.995,4034,3.291,4055,3.291,4454,5.406,6365,6.545,6367,5.996,6369,5.924,6371,6.625,6373,5.996,6375,5.996,6423,3.451,6460,6.152,6461,6.152,6462,6.797,6463,6.152,6464,6.152,6465,6.152,6803,6.645,7898,3.497,7968,3.129,9513,5.319,9514,3.597,9516,8.495,9517,6.797,9518,6.152,9519,6.152,9520,3.597,9521,6.152,9522,3.291,9523,3.545,9524,6.152,9525,6.797,9526,3.497,9527,3.497,9528,3.497,9529,3.497,9530,3.597,9531,3.597,9532,3.597,9533,3.597,9534,3.597,9535,3.597,9565,4.108,11462,5.357,11463,5.357]],["title/entities/FileElementNode.html",[205,1.418,3470,5.471]],["body/entities/FileElementNode.html",[0,0.3,3,0.017,4,0.017,5,0.008,7,0.122,27,0.436,30,0.001,32,0.138,47,0.958,95,0.146,96,2.303,101,0.015,103,0.001,104,0.001,112,0.865,134,3.073,135,1.136,148,0.861,159,0.893,190,1.985,205,2.259,206,2.837,223,4.103,224,2.539,231,1.92,232,2.357,457,4.825,1770,4.943,2048,4.943,2108,3.797,2648,5.278,2701,4.905,3431,5.907,3441,6.588,3470,8.714,3513,5.288,3536,9.706,3545,7.55,3547,7.55,3889,6.725,3910,5.345,4417,5.468,4419,5.468,9569,7.315,11460,7.315,11461,7.315,11464,11.266,11465,8.055,11466,9.706,11467,8.055,11468,8.055,11469,8.055]],["title/interfaces/FileElementNodeProps.html",[159,0.713,11466,6.094]],["body/interfaces/FileElementNodeProps.html",[0,0.305,3,0.017,4,0.017,5,0.008,7,0.124,30,0.001,32,0.139,47,0.989,95,0.147,96,2.344,101,0.015,103,0.001,104,0.001,112,0.875,134,3.128,135,1.156,148,0.877,159,0.909,161,2.102,205,2.284,223,3.807,224,2.584,231,2.129,232,2.398,457,4.91,1770,4.983,2048,3.597,2108,3.864,2648,5.337,2701,4.991,3431,5.972,3441,6.662,3470,6.973,3513,5.381,3536,9.814,3545,7.837,3547,7.837,3889,7.455,3910,5.439,4417,5.564,4419,5.564,11460,7.444,11461,7.444,11464,8.198,11466,10.76,11467,8.198,11468,8.198,11469,8.198]],["title/interfaces/FileElementProps.html",[159,0.713,11454,6.094]],["body/interfaces/FileElementProps.html",[0,0.294,3,0.016,4,0.016,5,0.008,7,0.12,30,0.001,32,0.15,36,1.804,47,0.999,95,0.125,101,0.016,103,0.001,104,0.001,112,0.853,122,1.776,130,2.984,134,3.008,148,1.258,158,3.148,159,0.875,161,2.022,197,2.367,231,2.09,317,1.848,527,3.604,567,4.147,569,2.65,653,3.515,657,1.951,1842,4.969,2050,3.589,3039,6.565,3045,5.558,3049,5.176,3050,6.375,3053,5.176,3054,6.26,3093,7.245,3121,7.483,3545,7.745,3547,7.745,4326,5.29,9537,5.9,11439,7.885,11448,10.106,11449,7.885,11450,10.106,11451,7.885,11452,7.885,11453,7.885,11454,9.574,11455,7.885]],["title/classes/FileElementResponse.html",[0,0.24,4035,4.989]],["body/classes/FileElementResponse.html",[0,0.356,2,0.831,3,0.015,4,0.015,5,0.007,7,0.11,27,0.503,29,0.6,30,0.001,31,0.438,32,0.173,33,0.36,34,2.186,47,0.872,95,0.14,101,0.014,103,0,104,0,112,0.807,190,2.206,202,1.796,296,3.592,298,3.382,304,3.86,433,1.426,458,3.128,821,3.98,886,2.46,1853,2.557,2108,3.412,2392,4.875,2908,7.398,3035,7.182,3177,5.103,3178,5.512,3179,5.512,3181,4.656,3182,4.822,3545,6.816,3547,6.816,3727,5.331,3739,4.611,3988,6.63,3992,5.103,3994,5.103,4035,9.18,4454,6.636,6365,6.489,11456,10.338,11457,12.158,11460,6.574,11461,6.574,11470,7.818,11471,7.24,11472,7.24,11473,7.818,11474,7.24]],["title/classes/FileElementResponseMapper.html",[0,0.24,6397,6.094]],["body/classes/FileElementResponseMapper.html",[0,0.27,2,0.833,3,0.015,4,0.015,5,0.007,7,0.11,8,1.193,27,0.485,29,0.793,30,0.001,31,0.579,32,0.153,33,0.476,34,1.34,35,1.341,95,0.132,100,2.733,101,0.01,103,0.001,104,0.001,112,0.808,122,2.156,135,1.023,141,4.432,148,1.146,153,2.028,430,3.221,467,3.824,652,2.362,653,3.234,711,2.327,829,4.62,830,5.733,833,6.36,835,6.008,1237,3.047,1853,2.562,2048,5.524,2139,4.534,2392,2.988,2639,8.477,2642,7.928,2643,7.928,2645,7.741,2908,4.534,3121,8.448,3545,4.62,3547,4.62,3988,5.93,4004,5.523,4035,8.836,4454,4.067,5883,7.189,6365,4.924,6394,6.008,6397,11.751,9578,9.213,9579,6.17,9586,6.17,9587,6.17,9588,6.17,10221,6.872,11456,8.693,11475,12.79,11476,11.57,11477,7.833,11478,7.833]],["title/entities/FileEntity.html",[205,1.418,1019,5.089]],["body/entities/FileEntity.html",[0,0.122,3,0.007,4,0.007,5,0.008,7,0.145,26,2.354,27,0.513,30,0.001,31,0.513,32,0.165,33,0.608,47,0.93,49,4.178,55,1.961,83,2.851,95,0.127,96,1.516,97,1.444,99,0.723,101,0.008,103,0,104,0,112,0.447,122,1.507,125,2.888,129,2.736,130,2.5,135,0.461,148,0.97,153,1.831,159,0.362,185,1.967,190,2.34,195,2.961,196,4.393,197,3.247,205,1.169,206,1.15,211,5.961,223,4.047,224,1.029,225,2.199,231,0.612,232,0.955,233,1.1,335,5.503,411,2.641,430,1.45,431,1.512,460,2.144,461,3.903,462,2.144,463,3.903,478,0.987,540,1.238,569,1.782,579,1.019,620,5.167,652,0.72,711,2.146,756,1.395,813,1.972,870,4.992,886,1.801,1019,4.194,1080,1.216,1821,1.711,1826,4.261,1835,2.933,1882,1.345,2108,1.539,2124,1.869,2183,1.39,2924,4.769,3633,2.896,3866,2.878,3901,2.702,4614,4.814,4617,3.967,4623,3.857,4624,2.005,4627,2.965,4632,2.965,4633,1.583,4695,2.144,5042,1.795,5177,6.847,5202,2.746,5450,6.847,5685,2.688,5710,1.819,6621,3.175,6624,1.897,6625,5.189,6626,2.533,6627,4.926,6632,2.444,6634,2.533,7129,2.272,7193,6.234,7414,2.965,7665,2.404,7975,2.584,8858,6.993,8909,7.295,11417,3.094,11479,3.266,11480,6.691,11481,6.691,11482,6.377,11483,7.7,11484,7.295,11485,6.093,11486,6.993,11487,7.7,11488,7.7,11489,7.7,11490,3.526,11491,3.526,11492,7.7,11493,3.526,11494,4.286,11495,3.526,11496,3.526,11497,3.526,11498,3.526,11499,3.526,11500,3.526,11501,3.526,11502,3.526,11503,7.423,11504,3.526,11505,7.295,11506,3.526,11507,8.376,11508,3.526,11509,3.526,11510,3.526,11511,3.526,11512,5.301,11513,3.526,11514,3.526,11515,3.526,11516,3.526,11517,5.301,11518,3.526,11519,2.486,11520,3.266,11521,2.641,11522,3.266,11523,6.339,11524,5.301,11525,3.266,11526,8.467,11527,3.266,11528,3.266,11529,3.266,11530,2.533,11531,6.691,11532,4.39,11533,5.301,11534,5.301,11535,5.301,11536,3.266,11537,3.266,11538,3.266,11539,4.286,11540,3.266,11541,3.266,11542,3.266,11543,5.866,11544,6.691,11545,3.266,11546,3.266,11547,2.965,11548,5.301,11549,3.266,11550,3.266,11551,3.266,11552,3.266,11553,3.266,11554,3.266,11555,5.301,11556,3.266,11557,5.301,11558,2.705,11559,5.301,11560,3.266,11561,2.584,11562,3.266,11563,3.266,11564,3.266,11565,3.266,11566,2.705,11567,2.778,11568,3.266,11569,3.266,11570,3.266,11571,5.301,11572,3.266]],["title/interfaces/FileEntityProps.html",[159,0.713,11523,6.094]],["body/interfaces/FileEntityProps.html",[0,0.131,3,0.007,4,0.007,5,0.008,7,0.15,26,2.685,30,0.001,31,0.568,32,0.171,33,0.642,47,0.973,49,3.574,55,2.214,83,3.477,95,0.13,96,1.611,97,1.558,99,0.78,101,0.008,103,0,104,0,112,0.476,122,2.22,125,2.944,135,0.497,148,1.004,153,1.823,159,0.391,161,0.903,185,1.307,195,2.77,196,4.233,197,2.818,205,1.242,223,4.01,224,1.11,225,2.337,231,0.66,232,1.031,233,1.187,335,6.289,411,2.848,430,3.573,431,3.725,460,2.312,461,4.148,462,2.312,463,4.148,478,1.065,540,1.336,569,1.894,579,1.099,620,4.725,652,0.777,711,2.258,756,1.504,813,2.127,870,5.533,886,1.914,1019,2.787,1080,1.311,1821,1.845,1826,4.869,1835,1.949,1882,1.451,2108,1.66,2124,2.016,2183,1.499,2924,4.685,3633,1.924,3866,3.059,3901,4.485,4623,4.06,4624,2.163,4627,3.199,4632,3.199,4633,1.707,4695,2.312,5042,1.937,5177,7.589,5202,2.919,5685,2.857,5710,1.962,6621,5.27,6624,2.046,6625,2.732,6626,2.732,6627,2.594,6632,2.636,6634,2.732,7129,2.451,7193,6.91,7975,2.787,8858,7.991,8909,8.337,11417,3.337,11479,3.522,11480,3.522,11481,3.522,11482,7.288,11483,8.8,11484,8.337,11485,6.963,11486,7.991,11487,8.8,11488,8.8,11489,8.8,11492,9.385,11494,2.848,11503,8.228,11505,8.337,11507,8.639,11512,3.522,11517,3.522,11519,2.682,11520,3.522,11521,2.848,11522,3.522,11523,7.623,11524,8.8,11525,3.522,11526,8.8,11527,3.522,11528,3.522,11529,3.522,11530,2.732,11531,7.041,11532,4.666,11533,5.634,11534,5.634,11535,5.634,11536,3.522,11537,3.522,11538,3.522,11539,4.556,11540,3.522,11541,3.522,11542,3.522,11543,6.173,11544,7.041,11545,3.522,11546,3.522,11547,3.199,11548,5.634,11549,3.522,11550,3.522,11551,3.522,11552,3.522,11553,3.522,11554,3.522,11555,5.634,11556,3.522,11557,5.634,11558,2.917,11559,5.634,11560,3.522,11561,2.787,11562,3.522,11563,3.522,11564,3.522,11565,3.522,11566,2.917,11567,2.996,11568,3.522,11569,3.522,11570,3.522,11571,5.634,11572,3.522]],["title/classes/FileMetadata.html",[0,0.24,11573,5.639]],["body/classes/FileMetadata.html",[0,0.31,2,0.43,3,0.008,4,0.008,5,0.004,7,0.057,27,0.354,29,0.49,30,0.001,31,0.584,32,0.112,33,0.186,47,0.941,55,2.717,72,1.851,83,2.851,95,0.103,96,1.071,101,0.012,103,0,104,0,112,0.499,122,2.172,131,3.253,134,2.257,141,4.464,145,3.889,148,0.891,155,1.283,157,0.931,194,1.582,195,2.902,196,4.358,197,1.125,205,1.304,208,2.543,223,4.342,224,1.181,225,2.454,229,1.6,231,0.702,233,1.262,289,2.341,301,2.606,374,3.891,414,4.955,433,0.499,467,1.178,478,1.133,567,1.537,711,1.898,756,4.312,870,5.952,1087,1.87,1195,4.835,1199,6.899,1200,7.512,1201,7.512,1215,5.411,1224,4.589,1237,2.887,1372,2.129,1928,4.681,2163,3.66,2183,1.594,2392,3.02,2564,4.016,2631,4.356,2894,1.93,2897,6.558,2976,4.428,3037,1.941,3382,1.815,3390,3.768,3894,3.186,3940,4.229,5108,4.171,5202,3.799,5213,3.926,5374,5.033,5983,4.589,6134,3.768,6159,4.065,6530,3.102,6531,3.102,6532,3.029,6533,3.102,6534,2.641,6540,3.029,6541,3.102,6553,6.073,6556,2.852,6557,3.102,6573,3.633,6574,2.964,6576,3.102,6584,2.852,6586,3.102,6588,3.102,6590,3.102,6592,3.102,6598,3.102,6949,5.93,7129,2.606,7352,2.905,7459,2.409,9485,2.852,11573,7.303,11574,3.402,11575,6.237,11576,8.361,11577,5.187,11578,6.389,11579,4.045,11580,4.045,11581,5.373,11582,5.373,11583,5.373,11584,3.402,11585,7.303,11586,3.402,11587,5.373,11588,5.373,11589,5.373,11590,3.186,11591,3.402,11592,3.102,11593,5.187,11594,6.659,11595,3.402,11596,6.659,11597,6.601,11598,5.187,11599,4.9,11600,5.373,11601,5.033,11602,5.373,11603,4.589,11604,5.373,11605,5.373,11606,5.187,11607,5.373,11608,5.373,11609,3.186,11610,3.402,11611,3.186,11612,2.758,11613,3.402,11614,3.402,11615,3.402,11616,3.402,11617,3.402,11618,3.402,11619,3.402,11620,3.402,11621,3.402,11622,3.402,11623,3.402,11624,3.402,11625,3.402,11626,3.402,11627,3.402,11628,3.402,11629,3.402,11630,3.402,11631,3.402,11632,3.402,11633,3.402,11634,3.402,11635,3.402,11636,3.402,11637,3.402,11638,3.402,11639,3.402,11640,3.402,11641,3.402,11642,3.402,11643,3.402,11644,3.402,11645,3.402,11646,3.402,11647,3.402,11648,3.402,11649,3.402,11650,3.402,11651,3.402,11652,3.402,11653,3.402,11654,3.402,11655,3.402,11656,3.402,11657,3.402,11658,3.402,11659,3.402,11660,3.402,11661,3.402,11662,3.402,11663,3.402,11664,3.402,11665,3.402,11666,3.402,11667,3.402,11668,3.402,11669,3.402,11670,3.402,11671,3.402,11672,3.402,11673,3.402]],["title/classes/FileParamBuilder.html",[0,0.24,7235,6.094]],["body/classes/FileParamBuilder.html",[0,0.319,2,0.982,3,0.018,4,0.018,5,0.009,7,0.13,8,1.327,26,2.698,27,0.364,29,0.709,30,0.001,31,0.518,32,0.115,33,0.425,35,1.071,95,0.143,99,1.894,101,0.012,103,0.001,104,0.001,135,1.501,148,0.915,161,2.194,467,3.641,507,5.061,3633,6.327,3866,6.766,3901,4.361,4557,4.022,5202,4.433,6622,5.423,7102,5.453,7206,8.556,7208,10.601,7209,8.556,7235,10.081,11674,10.641,11675,11.491,11676,12.117,11677,7.77,11678,9.239,11679,9.239,11680,9.239]],["title/classes/FileParams.html",[0,0.24,7159,4.813]],["body/classes/FileParams.html",[0,0.473,2,0.701,3,0.013,4,0.017,5,0.011,7,0.093,26,2.573,27,0.26,30,0.001,32,0.15,39,1.826,47,0.985,95,0.146,99,1.352,101,0.018,103,0,104,0,110,2.281,112,0.719,122,1.919,157,1.518,159,0.678,190,1.184,195,1.443,199,5.102,200,2.021,201,4.45,202,1.515,203,6.178,205,1.347,296,3.701,298,2.854,299,4.864,300,4.386,403,4.654,855,5.052,856,6.356,866,3.277,886,3.332,899,3.004,1078,2.893,1080,2.274,1169,3.819,1237,1.945,1290,5.927,1291,4.367,1292,4.367,2992,4.8,3182,4.947,3901,3.114,4557,2.309,5228,6.658,6622,3.114,6803,6.482,7094,6.461,7096,4.307,7097,7.765,7102,4.366,7116,6.089,7146,4.572,7147,4.652,7148,4.652,7153,4.572,7154,8.261,7155,8.08,7156,8.08,7157,4.652,7158,4.572,7159,6.375,7160,4.652,7161,4.499,7162,6.273,7163,4.43,7164,4.499,7165,4.572,7166,4.499,7167,4.251,7168,4.652,7169,4.652,7170,4.652,7171,4.251,7172,4.251,7173,4.367,7174,4.499,7175,4.652,11681,6.598,11682,6.598]],["title/classes/FilePermissionEntity.html",[0,0.24,11503,5.639]],["body/classes/FilePermissionEntity.html",[0,0.246,2,0.759,3,0.014,4,0.014,5,0.007,7,0.1,10,4.758,26,2.002,27,0.515,29,0.547,30,0.001,31,0.4,32,0.138,33,0.328,49,4.152,95,0.135,96,2.572,97,2.923,99,1.463,101,0.013,103,0,104,0,112,0.759,122,2.472,125,2.825,129,3.546,130,3.24,153,1.177,159,0.733,190,2.295,195,2.912,196,3.212,197,3.294,211,3.958,223,4.238,224,2.083,232,2.631,433,0.881,435,2.423,734,4.973,886,3.055,1783,7.281,1784,7.957,1882,2.722,2698,4.944,7414,6.002,11503,7.885,11683,11.196,11684,6.609,11685,10.395,11686,10.973,11687,10.395,11688,9.712,11689,7.137,11690,7.137,11691,7.137,11692,10.973,11693,7.137,11694,7.137,11695,6.609,11696,6.609,11697,6.609,11698,6.609,11699,8.52,11700,6.262,11701,8.52,11702,6.262,11703,8.52,11704,6.262,11705,8.52,11706,6.262]],["title/interfaces/FilePermissionEntityProps.html",[159,0.713,11687,6.094]],["body/interfaces/FilePermissionEntityProps.html",[0,0.262,3,0.014,4,0.014,5,0.007,7,0.107,10,5.088,26,2.508,30,0.001,32,0.162,33,0.622,49,3.814,95,0.139,96,2.685,97,3.117,99,1.56,101,0.013,103,0,104,0,112,0.793,122,2.926,125,2.9,153,1.255,159,0.782,161,1.807,195,2.661,196,3.354,197,2.819,223,4.044,224,2.221,232,2.062,734,5.317,886,3.19,1783,7.784,1784,8.507,1882,2.903,2698,5.163,11503,6.179,11683,6.4,11684,7.048,11685,11.114,11686,11.731,11687,10.006,11692,11.731,11695,7.048,11696,7.048,11697,7.048,11698,7.048,11699,8.897,11700,6.677,11701,8.897,11702,6.677,11703,8.897,11704,6.677,11705,8.897,11706,6.677]],["title/entities/FileRecord.html",[205,1.418,7121,4.222]],["body/entities/FileRecord.html",[0,0.276,3,0.006,4,0.006,5,0.006,7,0.141,26,2.456,27,0.441,30,0.001,31,0.588,32,0.143,33,0.369,34,0.931,39,0.918,47,0.869,49,4.088,55,1.387,83,2.926,95,0.124,96,1.442,97,1.358,99,0.68,101,0.013,103,0,104,0,112,0.541,122,2.097,125,2.397,135,1.556,141,2.335,145,1.239,148,1.302,153,1.89,157,0.763,159,0.711,185,2.755,190,2.008,195,2.199,196,2.928,197,1.514,205,2.143,206,1.082,223,3.854,224,0.968,225,2.091,229,1.312,231,0.576,232,1.475,233,1.035,277,0.479,290,0.784,402,2.478,412,2.409,414,2.754,430,1.364,431,1.422,478,0.929,540,2.432,556,1.678,569,2.495,579,0.958,615,3.31,620,4.303,703,2.15,711,3.764,756,1.312,794,3.989,802,3.604,870,5.195,886,3.162,1078,2.387,1080,2.387,1084,2.261,1154,3.712,1309,3.911,1444,5.277,1829,2.314,1924,3.773,1936,1.557,2032,1.261,2126,1.938,2127,3.712,2183,3.159,2533,3.096,2698,2.772,2782,2.973,2924,3.706,2934,1.92,2940,1.518,3140,1.496,3382,1.488,3431,1.771,3633,2.754,3647,2.382,3901,4.744,4009,1.938,4185,4.077,4557,3.518,4567,2.544,4569,2.11,4617,2.298,4623,2.907,4633,1.488,4634,1.956,5427,1.903,5450,5.186,5744,1.886,5756,1.975,6621,3.841,6622,5.13,6624,2.928,6625,4.974,6626,2.382,6627,5.466,6628,2.382,6629,5.874,6630,2.484,6631,2.11,6632,2.298,6634,2.382,6636,2.484,7090,5.466,7091,4.176,7092,4.176,7093,4.176,7094,4.991,7095,2.165,7100,5.466,7102,5.439,7121,4.873,7122,3.911,7129,2.137,7137,2.261,7140,5.075,7436,2.038,7653,2.382,7654,3.773,9126,2.338,11416,2.484,11485,5.075,11519,2.338,11532,2.544,11558,4.176,11561,2.43,11566,2.544,11707,2.693,11708,4.289,11709,6.314,11710,5.623,11711,3.317,11712,7.187,11713,3.317,11714,3.071,11715,3.317,11716,3.317,11717,3.071,11718,3.071,11719,3.317,11720,3.317,11721,3.317,11722,3.071,11723,3.317,11724,6.629,11725,3.317,11726,3.317,11727,2.612,11728,2.43,11729,4.42,11730,4.42,11731,4.42,11732,4.42,11733,4.42,11734,4.42,11735,4.289,11736,5.466,11737,4.42,11738,2.544,11739,4.077,11740,2.484,11741,4.176,11742,2.544,11743,4.176,11744,5.455,11745,2.382,11746,2.612,11747,2.43,11748,2.43,11749,2.693,11750,2.693,11751,2.484,11752,2.612,11753,2.693,11754,2.693,11755,2.693,11756,2.693,11757,2.693,11758,2.693,11759,2.693,11760,2.693,11761,7.725,11762,2.693,11763,2.693,11764,4.42,11765,2.693,11766,2.693,11767,4.42,11768,4.42,11769,4.42,11770,2.693,11771,2.693,11772,2.693,11773,2.693,11774,2.693,11775,2.693,11776,2.693,11777,4.42,11778,5.623,11779,2.612,11780,2.693,11781,4.42,11782,2.612,11783,2.693,11784,4.42,11785,2.693,11786,5.623,11787,5.623,11788,2.612,11789,5.455,11790,2.693,11791,2.693,11792,2.693,11793,2.693,11794,2.693,11795,2.693,11796,2.693,11797,2.612,11798,2.693,11799,2.693,11800,2.693,11801,2.693,11802,2.693,11803,2.693,11804,2.693,11805,2.693,11806,2.693]],["title/classes/FileRecordFactory.html",[0,0.24,11807,6.432]],["body/classes/FileRecordFactory.html",[0,0.168,2,0.518,3,0.009,4,0.009,5,0.007,7,0.068,8,0.851,27,0.52,29,1.012,30,0.001,31,0.714,32,0.167,33,0.577,34,1.522,35,1.425,47,0.523,49,1.831,55,2.335,59,3.312,95,0.122,101,0.006,103,0,104,0,112,0.577,113,4.474,127,4.961,129,3.594,130,3.284,135,1.163,148,0.73,153,1.759,157,2.049,172,3.135,185,2.534,192,2.679,205,2.178,206,2.405,228,1.338,231,1.28,326,4.841,374,3.19,433,0.601,436,3.88,467,2.147,501,7.269,502,5.507,505,4.09,506,5.507,507,5.416,508,4.09,509,4.09,510,4.09,511,4.026,512,4.532,513,4.937,514,6.507,515,5.825,516,7.056,517,2.723,522,2.701,523,4.09,524,2.723,525,5.191,526,5.34,527,4.203,528,5.023,529,4.058,530,2.701,531,2.545,532,4.165,533,2.6,534,2.545,535,2.701,536,2.723,537,4.86,538,2.701,539,7.161,540,4.217,541,6.661,542,2.723,543,4.319,544,2.701,545,2.723,546,2.701,547,2.723,548,2.701,549,3.026,550,2.845,551,2.701,552,6.129,553,2.723,554,2.701,555,4.09,556,3.731,557,4.09,558,2.723,559,2.619,560,2.581,561,2.185,562,2.701,563,2.701,564,2.701,565,2.723,566,2.723,567,1.851,568,2.701,569,1.516,570,2.723,571,2.917,572,2.701,573,2.723,574,2.745,575,2.793,576,2.872,577,2.9,870,2.658,1078,2.135,1304,2.769,1317,3.061,1444,2.701,3901,2.298,4479,5.531,4557,1.704,6621,2.701,6622,2.298,7094,2.745,7100,3.32,7121,2.96,7655,3.953,7938,4.272,9890,2.96,11436,4.509,11485,3.568,11724,5.523,11743,3.735,11807,8.243,11808,4.869,11809,9.93,11810,4.869,11811,4.272,11812,6.47,11813,4.509,11814,4.869,11815,4.869,11816,4.869]],["title/classes/FileRecordListResponse.html",[0,0.24,7145,5.201]],["body/classes/FileRecordListResponse.html",[0,0.381,2,0.644,3,0.012,4,0.012,5,0.006,7,0.085,27,0.46,29,0.465,30,0.001,31,0.567,32,0.165,33,0.537,34,1.482,47,0.923,55,2.819,56,6.034,59,2.689,70,6.509,83,1.764,95,0.126,101,0.014,103,0,104,0,110,2.095,112,0.677,125,1.445,190,1.98,201,3.927,202,1.392,205,1.237,231,1.755,296,3.606,298,2.621,339,3.667,433,0.748,436,3.278,458,3.466,862,7.943,863,6.878,864,6.33,866,3.01,868,4.852,869,2.974,870,4.73,871,2.218,872,4.273,873,5.512,874,5.061,875,4.011,876,3.146,877,4.273,878,4.273,880,5.512,881,4.73,886,3.181,1315,4.92,1319,4.773,1444,3.361,2183,3.414,3035,6.283,3182,4.723,3901,2.86,5202,2.907,6621,3.361,6622,2.86,6631,3.855,7083,4.273,7090,6.895,7094,6.222,7099,4.773,7100,4.132,7102,4.111,7111,4.92,7112,4.92,7113,4.92,7114,4.92,7115,4.773,7116,5.734,7117,5.096,7118,9.195,7121,5.267,7122,8.384,7123,9.361,7124,5.096,7125,4.92,7126,5.096,7127,3.283,7128,5.096,7129,3.904,7130,5.096,7131,5.096,7132,5.096,7133,4.773,7134,4.92,7135,5.096,7136,5.096,7137,4.132,7138,4.92,7139,4.92,7140,4.44,7141,5.096,7142,5.096,7143,4.92,7144,5.096,7145,6.488,11817,6.06,11818,6.06]],["title/classes/FileRecordMapper.html",[0,0.24,11819,6.432]],["body/classes/FileRecordMapper.html",[0,0.251,2,0.774,3,0.014,4,0.014,5,0.007,7,0.102,8,1.136,27,0.439,29,0.855,30,0.001,31,0.625,32,0.139,33,0.513,35,1.292,55,2.715,56,5.638,59,3.055,70,6.082,95,0.112,101,0.01,103,0,104,0,125,1.736,135,1.56,141,3.121,148,1.104,153,1.838,205,1.486,402,2.605,467,3.946,837,3.594,863,6.573,871,3.603,1290,6.341,4894,5.132,7090,4.963,7102,5.669,7121,8.13,7123,9.345,7145,8.351,7163,8.38,11419,10.48,11736,4.963,11745,7.069,11779,5.734,11782,7.753,11788,5.734,11819,9.115,11820,7.28,11821,9.843,11822,10.327,11823,9.115,11824,9.843,11825,7.28,11826,10.046,11827,6.741,11828,7.28,11829,9.115,11830,7.28,11831,6.741,11832,6.741,11833,6.386,11834,7.28,11835,6.741,11836,9.843,11837,11.152,11838,11.152,11839,7.28,11840,7.28,11841,7.28,11842,11.152,11843,7.28]],["title/classes/FileRecordParams.html",[0,0.24,7097,4.475]],["body/classes/FileRecordParams.html",[0,0.469,2,0.675,3,0.012,4,0.017,5,0.008,7,0.089,26,2.668,27,0.409,30,0.001,32,0.158,39,1.756,47,0.965,95,0.145,99,1.301,101,0.018,103,0,104,0,110,2.195,112,0.7,122,1.868,157,1.461,159,0.652,190,1.862,195,1.388,199,4.966,200,1.944,201,4.375,202,1.458,203,6.012,205,1.296,296,3.683,298,2.746,299,4.805,300,4.312,403,3.211,855,4.99,856,6.249,886,3.264,899,2.89,1078,2.783,1080,2.188,1169,3.674,1237,1.871,1290,5.769,1291,4.201,1292,4.201,2992,4.701,3181,3.78,3182,5.262,3901,4.896,4557,3.631,5228,6.521,6345,6.205,6622,4.896,6803,6.39,7094,6.951,7096,4.143,7097,7.943,7102,5.347,7116,7.457,7146,4.399,7147,4.475,7148,4.475,7153,4.399,7154,8.16,7155,7.944,7156,7.944,7157,4.475,7158,4.399,7159,4.399,7160,4.475,7161,4.328,7162,6.105,7163,4.262,7164,4.328,7165,4.399,7166,4.328,7167,4.089,7168,4.475,7169,4.475,7170,4.475,7171,4.089,7172,4.089,7173,4.201,7174,4.328,7175,4.475,11844,6.347,11845,6.347,11846,6.347,11847,6.347]],["title/interfaces/FileRecordProperties.html",[159,0.713,11743,5.327]],["body/interfaces/FileRecordProperties.html",[0,0.25,3,0.007,4,0.007,5,0.005,7,0.145,26,2.708,30,0.001,31,0.624,32,0.143,33,0.384,34,0.983,39,0.981,47,0.903,49,3.448,55,1.67,83,3.135,95,0.127,96,1.522,97,1.452,99,0.727,101,0.014,103,0,104,0,112,0.567,122,2.157,125,2.465,135,1.584,141,2.465,145,1.324,148,1.316,153,1.929,159,0.745,161,0.842,185,1.976,195,1.825,196,2.398,197,0.986,205,1.872,223,3.764,224,1.035,225,2.208,229,1.402,231,0.615,232,1.558,233,1.106,277,0.512,290,0.838,402,2.595,412,1.569,414,2.908,430,1.458,431,1.52,478,0.993,540,2.546,556,1.793,569,2.596,579,1.024,615,2.155,620,4.506,703,1.784,711,3.816,756,1.402,794,2.598,802,2.346,870,5.645,886,3.253,1078,1.554,1080,2.499,1084,2.417,1154,3.92,1309,4.129,1444,5.734,1829,2.444,1924,2.457,1936,1.664,2032,1.347,2126,2.071,2127,3.92,2183,3.287,2533,2.016,2698,2.927,2782,1.936,2924,3.856,2934,2.052,2940,1.622,3140,1.599,3382,1.591,3431,1.893,3633,1.793,3647,2.546,3901,5.397,4009,2.071,4185,2.655,4557,4.003,4567,2.719,4569,2.255,4623,3.069,4633,1.591,4634,2.091,5427,2.034,5744,2.016,5756,2.111,6621,5.445,6622,5.397,6624,1.907,6625,2.546,6626,2.546,6627,3.92,6628,2.546,6629,4.212,6630,2.655,6631,2.255,6632,2.457,6634,2.546,6636,2.655,7090,5.687,7091,4.409,7092,4.409,7093,4.409,7094,5.535,7095,2.314,7100,6.251,7102,1.682,7121,4.408,7122,4.129,7129,2.284,7137,2.417,7140,5.313,7436,2.178,7653,2.546,7654,3.984,9126,2.5,11416,2.655,11485,2.598,11519,2.5,11532,2.719,11558,4.409,11561,2.598,11566,2.719,11707,2.878,11708,2.792,11709,4.528,11710,2.878,11712,8.394,11724,6.246,11727,2.792,11728,2.598,11729,4.667,11730,4.667,11731,4.667,11732,4.667,11733,4.667,11734,4.667,11735,4.528,11736,5.687,11737,4.667,11738,2.719,11739,4.305,11740,2.655,11741,4.409,11742,2.719,11743,5.561,11744,5.712,11745,2.546,11746,2.792,11747,2.598,11748,2.598,11749,2.878,11750,2.878,11751,2.655,11752,2.792,11753,2.878,11754,2.878,11755,2.878,11756,2.878,11757,2.878,11758,2.878,11759,2.878,11760,2.878,11761,7.97,11762,2.878,11763,2.878,11764,4.667,11765,2.878,11766,2.878,11767,4.667,11768,4.667,11769,4.667,11770,2.878,11771,2.878,11772,2.878,11773,2.878,11774,2.878,11775,2.878,11776,2.878,11777,4.667,11778,5.887,11779,2.792,11780,2.878,11781,4.667,11782,2.792,11783,2.878,11784,4.667,11785,2.878,11786,5.887,11787,5.887,11788,2.792,11789,5.712,11790,2.878,11791,2.878,11792,2.878,11793,2.878,11794,2.878,11795,2.878,11796,2.878,11797,2.792,11798,2.878,11799,2.878,11800,2.878,11801,2.878,11802,2.878,11803,2.878,11804,2.878,11805,2.878,11806,2.878]],["title/injectables/FileRecordRepo.html",[589,0.929,11848,6.094]],["body/injectables/FileRecordRepo.html",[0,0.157,3,0.009,4,0.009,5,0.004,7,0.064,8,0.808,10,2.812,12,3.173,18,3.565,26,2.854,27,0.507,29,0.975,30,0.001,31,0.713,32,0.159,33,0.585,34,1.639,35,1.473,36,2.866,40,2.207,47,0.605,49,2.633,56,2.147,58,2.97,59,2.976,95,0.125,98,2.737,99,0.932,101,0.006,103,0,104,0,135,1.731,141,4.687,148,1.194,153,1.802,176,2.301,205,1.43,206,2.283,231,1.215,277,0.657,279,1.909,317,3.058,430,1.871,436,2.847,532,4.648,540,4.654,589,0.936,591,1.085,595,1.717,652,2.232,657,2.694,728,6.591,734,2.939,735,3.204,736,4.239,759,2.709,760,2.765,761,2.737,762,2.765,763,3.153,764,2.737,765,2.765,766,2.465,770,2.86,788,3.102,790,3.102,1626,2.523,1920,3.011,2231,3.982,2532,2.709,2920,4.053,3901,5.375,4557,3.355,5106,2.447,6244,5.042,7102,5.843,7121,7.615,7525,2.737,7811,7.911,7840,3.333,7841,3.333,7843,4.937,7884,3.489,11745,5.029,11848,6.143,11849,4.549,11850,8.536,11851,7.002,11852,8.536,11853,8.536,11854,7.002,11855,6.484,11856,7.002,11857,7.002,11858,4.549,11859,9.99,11860,4.549,11861,7.002,11862,4.549,11863,4.549,11864,4.549,11865,4.549,11866,4.549,11867,7.002,11868,4.549,11869,6.484,11870,4.549,11871,7.002,11872,4.549,11873,7.002,11874,4.549,11875,4.549,11876,4.549,11877,8.536,11878,4.549,11879,4.549,11880,8.536,11881,4.549,11882,4.549,11883,4.549,11884,4.549,11885,4.549,11886,4.549,11887,4.549]],["title/classes/FileRecordResponse.html",[0,0.24,7123,5.201]],["body/classes/FileRecordResponse.html",[0,0.366,2,0.592,3,0.011,4,0.011,5,0.005,7,0.078,27,0.523,29,0.427,30,0.001,31,0.633,32,0.169,33,0.444,34,1.815,47,0.966,55,2.502,56,5.009,70,5.403,83,2.374,95,0.121,101,0.014,103,0,104,0,110,3.334,112,0.637,190,2.357,201,4.12,202,1.28,205,1.138,231,1.415,296,3.667,298,2.41,339,3.113,433,0.688,458,3.262,862,5.992,863,4.486,864,5.532,870,5.265,880,5.187,881,4.452,886,3.034,1315,4.524,1319,4.389,1444,5.348,2183,3.213,3032,3.929,3035,5.992,3181,5.743,3182,5.51,3901,4.551,5202,2.673,6621,5.348,6622,4.551,6631,3.545,7083,3.929,7090,7.7,7094,6.871,7099,7.595,7100,6.575,7102,6.364,7111,4.524,7112,4.524,7113,4.524,7114,4.524,7115,4.389,7116,8.876,7117,4.686,7118,8.895,7121,6.865,7122,9.305,7123,8.456,7124,6.857,7125,4.524,7126,4.686,7127,3.019,7128,4.686,7129,3.59,7130,4.686,7131,4.686,7132,4.686,7133,4.389,7134,4.524,7135,4.686,7136,4.686,7137,3.799,7138,4.524,7139,4.524,7140,4.083,7141,4.686,7142,4.686,7143,4.524,7144,6.857,7145,4.173,11888,5.572,11889,5.572,11890,5.572,11891,5.572,11892,5.572,11893,5.572,11894,5.572,11895,5.572,11896,5.572,11897,5.572,11898,5.572,11899,5.572]],["title/classes/FileRecordScope.html",[0,0.24,11859,6.094]],["body/classes/FileRecordScope.html",[0,0.22,2,0.678,3,0.012,4,0.012,5,0.006,7,0.09,8,1.037,26,2.752,27,0.526,29,0.973,30,0.001,31,0.711,32,0.164,33,0.584,34,1.091,35,1.47,47,0.737,49,2.399,95,0.129,96,1.689,97,2.612,99,1.307,101,0.008,103,0,104,0,112,0.702,122,2.17,129,2.689,130,2.457,135,0.833,142,3.278,148,1.179,153,1.481,176,4.545,195,1.965,205,1.302,231,1.559,279,2.677,365,4.013,436,3.535,569,1.985,652,2.521,1309,4.581,2487,6.194,3901,3.01,4557,2.232,4833,5.178,6244,5.394,6627,4.348,6629,4.673,6633,5.363,6891,6.033,6892,6.033,6893,6.033,6898,6.033,6899,6.033,6900,4.348,6901,4.282,6902,4.348,6903,4.348,6912,4.282,6913,6.033,6914,4.348,6915,4.282,6916,4.348,6917,4.282,6918,7.582,7100,6.126,7102,5.86,7121,3.877,7162,6.126,9400,5.023,11485,4.673,11859,11.952,11900,12.348,11901,8.984,11902,8.984,11903,8.984,11904,7.882,11905,8.984,11906,8.984,11907,6.378,11908,8.984,11909,5.906,11910,8.984,11911,8.984,11912,5.906,11913,7.882,11914,6.378,11915,8.984,11916,5.906,11917,5.595,11918,5.906]],["title/classes/FileRecordSecurityCheck.html",[0,0.24,11724,5.201]],["body/classes/FileRecordSecurityCheck.html",[0,0.247,2,0.371,3,0.007,4,0.007,5,0.005,7,0.144,26,2.489,27,0.384,29,0.267,30,0.001,31,0.576,32,0.113,33,0.33,34,0.97,39,0.965,47,0.88,49,3.418,55,1.136,83,3.115,95,0.126,96,1.502,97,1.428,99,0.715,101,0.013,103,0,104,0,112,0.56,122,2.142,125,2.448,129,2.72,130,2.486,135,1.577,141,2.432,145,1.302,148,1.313,153,1.991,159,0.736,185,1.949,190,1.631,195,1.807,196,2.371,197,0.969,205,1.856,223,3.938,224,1.018,225,2.179,229,1.379,231,0.605,232,1.942,233,1.088,277,0.503,290,0.824,402,3.252,412,1.543,414,2.869,430,2.948,431,3.074,433,0.43,435,1.184,478,0.976,540,2.517,556,1.764,569,2.571,579,1.008,615,2.119,620,5.132,703,1.761,711,3.803,756,1.379,794,2.555,802,2.308,870,4.51,886,3.367,1078,1.529,1080,2.471,1084,2.377,1154,3.867,1309,5.932,1444,4.581,1829,2.411,1924,2.416,1936,1.637,2032,1.325,2126,2.037,2127,3.867,2183,3.255,2533,1.983,2698,2.887,2782,1.904,2924,3.818,2934,2.018,2940,1.596,3140,1.572,3382,1.565,3431,1.861,3633,1.764,3647,2.504,3901,4.846,4009,2.037,4185,2.611,4557,3.594,4567,2.674,4569,2.218,4623,3.028,4633,1.565,4634,2.056,5427,2,5744,1.983,5756,2.076,6621,3.976,6622,4.846,6624,1.875,6625,2.504,6626,2.504,6627,3.867,6628,2.504,6629,4.156,6630,2.611,6631,2.218,6632,2.416,6634,2.504,6636,2.611,7090,6.197,7091,4.35,7092,4.35,7093,4.35,7094,4.657,7095,2.276,7100,3.867,7102,4.872,7121,4.358,7122,4.074,7129,2.246,7137,2.377,7140,5.253,7436,2.142,7653,2.504,7654,3.93,9126,2.458,11416,2.611,11485,2.555,11519,2.458,11532,2.674,11558,4.35,11561,2.555,11566,2.674,11707,2.831,11708,2.746,11709,4.467,11710,2.831,11712,6.706,11724,6.806,11727,2.746,11728,2.555,11729,4.605,11730,4.605,11731,4.605,11732,4.605,11733,4.605,11734,4.605,11735,6.506,11736,6.642,11737,5.82,11738,4.35,11739,4.247,11740,2.611,11741,4.35,11742,2.674,11743,4.35,11744,5.647,11745,2.504,11746,2.746,11747,2.555,11748,2.555,11749,2.831,11750,2.831,11751,2.611,11752,2.746,11753,2.831,11754,2.831,11755,2.831,11756,2.831,11757,2.831,11758,2.831,11759,2.831,11760,2.831,11761,7.909,11762,2.831,11763,2.831,11764,4.605,11765,2.831,11766,2.831,11767,4.605,11768,4.605,11769,4.605,11770,2.831,11771,2.831,11772,2.831,11773,2.831,11774,2.831,11775,2.831,11776,2.831,11777,4.605,11778,5.82,11779,2.746,11780,2.831,11781,4.605,11782,2.746,11783,2.831,11784,4.605,11785,2.831,11786,5.82,11787,5.82,11788,2.746,11789,5.647,11790,2.831,11791,2.831,11792,2.831,11793,2.831,11794,2.831,11795,2.831,11796,2.831,11797,2.746,11798,2.831,11799,2.831,11800,2.831,11801,2.831,11802,2.831,11803,2.831,11804,2.831,11805,2.831,11806,2.831,11919,5.672,11920,3.487,11921,3.487,11922,3.487,11923,3.487]],["title/interfaces/FileRecordSecurityCheckProperties.html",[159,0.713,11735,5.471]],["body/interfaces/FileRecordSecurityCheckProperties.html",[0,0.256,3,0.007,4,0.007,5,0.005,7,0.148,26,2.524,30,0.001,31,0.559,32,0.106,33,0.459,34,1.012,39,1.017,47,0.909,49,3.512,55,1.185,83,2.905,95,0.129,96,1.567,97,1.505,99,0.753,101,0.014,103,0,104,0,112,0.581,122,2.189,125,2.502,135,1.599,141,2.538,145,1.373,148,1.324,153,1.949,159,0.763,161,0.873,185,2.034,195,1.863,196,2.458,197,1.022,205,1.907,223,3.8,224,1.073,225,2.273,229,1.454,231,0.638,232,1.603,233,1.147,277,0.53,290,0.869,402,3.571,412,1.626,414,2.994,430,1.511,431,1.576,478,1.029,540,2.609,556,1.859,569,2.651,579,1.062,615,2.234,620,4.617,703,1.837,711,3.843,756,1.454,794,2.693,802,2.432,870,4.651,886,3.301,1078,1.611,1080,2.561,1084,2.506,1154,4.035,1309,6.707,1444,4.724,1829,2.516,1924,2.547,1936,1.725,2032,1.397,2126,2.147,2127,4.035,2183,3.357,2533,2.09,2698,3.013,2782,2.006,2924,3.938,2934,2.127,2940,1.682,3140,1.657,3382,1.649,3431,1.962,3633,1.859,3647,2.639,3901,4.953,4009,2.147,4185,2.752,4557,3.673,4567,2.818,4569,2.338,4623,3.16,4633,1.649,4634,2.167,5427,2.108,5744,2.09,5756,2.189,6621,4.121,6622,4.953,6624,1.976,6625,2.639,6626,2.639,6627,4.035,6628,2.639,6629,4.336,6630,2.752,6631,2.338,6632,2.547,6634,2.639,6636,2.752,7090,6.804,7091,4.539,7092,4.539,7093,4.539,7094,4.803,7095,2.399,7100,4.035,7102,1.744,7121,4.517,7122,4.251,7129,2.368,7137,2.506,7140,5.444,7436,2.258,7653,2.639,7654,4.101,9126,2.591,11416,2.752,11485,2.693,11519,2.591,11532,2.818,11558,4.539,11561,2.693,11566,2.818,11707,2.984,11708,2.895,11709,4.662,11710,2.984,11712,6.916,11724,6.379,11727,2.895,11728,2.693,11729,4.805,11730,4.805,11731,4.805,11732,4.805,11733,4.805,11734,4.805,11735,5.853,11736,7.155,11737,4.805,11738,2.818,11739,4.432,11740,2.752,11741,4.539,11742,2.818,11743,4.539,11744,5.853,11745,2.639,11746,2.895,11747,2.693,11748,2.693,11749,2.984,11750,2.984,11751,2.752,11752,2.895,11753,2.984,11754,2.984,11755,2.984,11756,2.984,11757,2.984,11758,2.984,11759,2.984,11760,2.984,11761,8.102,11762,2.984,11763,2.984,11764,4.805,11765,2.984,11766,2.984,11767,4.805,11768,4.805,11769,4.805,11770,2.984,11771,2.984,11772,2.984,11773,2.984,11774,2.984,11775,2.984,11776,2.984,11777,4.805,11778,6.032,11779,2.895,11780,2.984,11781,4.805,11782,2.895,11783,2.984,11784,4.805,11785,2.984,11786,6.032,11787,6.032,11788,2.895,11789,5.853,11790,2.984,11791,2.984,11792,2.984,11793,2.984,11794,2.984,11795,2.984,11796,2.984,11797,2.895,11798,2.984,11799,2.984,11800,2.984,11801,2.984,11802,2.984,11803,2.984,11804,2.984,11805,2.984,11806,2.984]],["title/interfaces/FileRequestInfo.html",[159,0.713,7208,5.471]],["body/interfaces/FileRequestInfo.html",[3,0.019,4,0.019,5,0.009,7,0.14,26,2.911,30,0.001,32,0.161,95,0.137,99,2.034,101,0.013,103,0.001,104,0.001,112,0.939,159,1.019,161,2.356,193,4.312,3866,4.989,3901,6.331,4557,4.695,6622,6.331,7094,7.562,7102,4.709,7208,9.457,7216,8.707,9890,6.033,11400,9.19]],["title/classes/FileResponseBuilder.html",[0,0.24,11924,6.094]],["body/classes/FileResponseBuilder.html",[0,0.329,2,1.015,3,0.018,4,0.018,5,0.012,7,0.134,8,1.354,27,0.376,29,0.732,30,0.001,31,0.762,32,0.119,33,0.439,35,1.106,47,0.9,95,0.134,101,0.013,103,0.001,104,0.001,135,1.247,148,0.945,159,0.981,339,2.8,467,3.695,507,5.164,711,2.836,2815,3.819,7102,5.564,7182,8.376,7196,9.332,9337,8.841,11407,5.866,11409,7.52,11419,10.287,11924,10.287,11925,11.726,11926,8.399,11927,10.287]],["title/classes/FileSecurityCheckEntity.html",[0,0.24,11507,5.639]],["body/classes/FileSecurityCheckEntity.html",[0,0.256,2,0.79,3,0.014,4,0.014,5,0.007,7,0.104,27,0.51,29,0.57,30,0.001,31,0.416,32,0.15,33,0.518,47,0.891,83,3.506,95,0.129,96,1.967,101,0.013,103,0,104,0,112,0.78,125,2.686,129,3.761,130,3.436,153,1.986,159,0.763,190,2.255,223,4.225,224,2.168,232,2.703,402,4.31,430,4.633,431,4.831,433,0.916,435,2.522,620,7.484,886,3.544,1309,8.651,1882,2.833,2126,4.339,2127,6.803,2698,5.08,11507,8.1,11519,5.237,11521,9.898,11683,11.116,11736,8.212,11738,7.652,11739,7.471,11740,5.562,11741,7.652,11742,5.697,11928,6.878,11929,10.567,11930,9.977,11931,7.428,11932,7.428,11933,7.428,11934,11.154,11935,9.239,11936,7.428]],["title/interfaces/FileSecurityCheckEntityProps.html",[159,0.713,11929,6.094]],["body/interfaces/FileSecurityCheckEntityProps.html",[0,0.291,3,0.016,4,0.016,5,0.008,7,0.119,30,0.001,32,0.15,33,0.617,47,0.967,83,3.16,95,0.137,96,2.235,101,0.014,103,0.001,104,0.001,112,0.849,125,2.86,153,1.789,159,0.867,161,2.005,223,4.066,224,2.464,232,2.287,402,4.687,430,3.472,431,3.62,620,7.453,886,3.415,1309,9.407,1882,3.22,2126,4.932,2127,7.401,2698,5.526,11507,6.854,11519,5.953,11521,6.322,11683,7.1,11736,8.931,11738,6.475,11739,8.128,11740,6.322,11741,8.324,11742,6.475,11928,7.818,11929,10.524,11934,12.129,11935,7.818]],["title/controllers/FileSecurityController.html",[314,2.658,11937,6.094]],["body/controllers/FileSecurityController.html",[0,0.272,3,0.015,4,0.015,5,0.007,7,0.111,8,1.2,27,0.409,29,0.797,30,0.001,31,0.582,32,0.145,33,0.478,35,1.204,47,0.933,95,0.15,100,2.755,101,0.01,103,0.001,104,0.001,135,1.031,148,0.782,153,1.302,158,2.919,176,6.487,190,1.865,193,5.362,202,1.813,228,1.433,274,3.3,277,1.14,314,3.977,317,2.857,379,4.019,388,3.385,392,4.127,400,2.351,657,2.381,1316,7.311,1319,6.219,1447,5.785,3017,3.726,4370,5.086,5202,3.788,7102,5.511,7163,8.287,7527,5.225,7528,6.41,7529,4.749,7551,6.639,11521,5.912,11826,9.767,11937,9.116,11938,11.614,11939,7.895,11940,10.391,11941,10.391,11942,7.895,11943,9.395,11944,7.895,11945,7.895,11946,7.895,11947,7.895,11948,7.895,11949,11.614,11950,10.755,11951,7.895,11952,7.895,11953,7.895,11954,7.895,11955,6.926,11956,7.895,11957,7.895,11958,7.895,11959,7.895,11960,7.895,11961,7.895,11962,7.895]],["title/interfaces/FileStorageConfig.html",[159,0.713,11963,6.432]],["body/interfaces/FileStorageConfig.html",[3,0.016,4,0.016,5,0.008,7,0.115,30,0.001,32,0.147,47,0.943,55,2.803,95,0.135,101,0.017,103,0.001,104,0.001,112,0.832,122,2.61,135,1.694,159,0.841,161,1.943,231,1.847,1318,6.277,2087,3.54,2218,3.656,2219,4.115,2220,3.971,2221,5.145,2232,4.975,2562,5.273,2815,3.274,4887,5.581,7102,3.884,7190,7.429,7191,6.129,7192,5.581,7193,5.581,7194,5.581,7195,5.581,7365,9.939,11407,5.029,11963,12.012,11964,8.185,11965,12.971,11966,12.971,11967,12.971,11968,5.273,11969,10.945,11970,9.851,11971,6.447,11972,7.18,11973,6.447,11974,8.185,11975,6.883,11976,7.579,11977,10.638,11978,8.185,11979,7.18,11980,7.579,11981,8.185,11982,8.185,11983,8.185,11984,8.185,11985,8.185,11986,8.185,11987,8.185]],["title/injectables/FileSystemAdapter.html",[589,0.929,5175,5.841]],["body/injectables/FileSystemAdapter.html",[0,0.155,3,0.009,4,0.009,5,0.012,7,0.063,8,0.802,27,0.484,29,0.87,30,0.001,31,0.636,32,0.146,33,0.522,35,1.423,36,2.688,47,1,95,0.118,101,0.006,103,0,104,0,112,0.543,135,1.422,148,1.078,157,2.194,277,0.65,317,2.913,329,7.122,388,4.865,403,5.927,412,1.993,414,6.693,433,1.047,589,0.929,591,1.074,640,4.269,652,1.732,657,2.361,735,3.179,890,4.814,1476,4.269,1563,4.476,1783,4.269,1784,4.665,1834,5.091,1835,3.56,2342,6.848,2355,6.095,2392,3.636,2494,3.3,2505,4.317,2533,2.561,2788,3.454,2841,5.202,2894,5.962,3083,7.048,3090,6.722,3575,3.071,3800,6.434,4183,5.472,5168,7.741,5175,5.842,5183,3.985,5190,8.79,5198,10.85,5202,3.333,5215,3.454,5224,10.081,5268,5.842,5371,6.434,11988,11.572,11989,11.572,11990,4.503,11991,8.349,11992,6.948,11993,6.948,11994,6.948,11995,8.482,11996,8.482,11997,6.948,11998,8.482,11999,8.482,12000,6.948,12001,6.948,12002,4.503,12003,5.842,12004,6.948,12005,4.503,12006,8.365,12007,10.302,12008,6.948,12009,6.095,12010,8.83,12011,11.716,12012,6.948,12013,4.503,12014,8.482,12015,4.503,12016,6.434,12017,8.482,12018,4.503,12019,7.133,12020,7.133,12021,9.535,12022,6.948,12023,4.503,12024,6.434,12025,5.328,12026,8.482,12027,4.503,12028,6.948,12029,4.503,12030,4.503,12031,6.948,12032,4.503,12033,3.454,12034,6.434,12035,4.503,12036,4.503,12037,4.503,12038,8.482,12039,4.503,12040,4.503,12041,4.503,12042,4.503,12043,4.503,12044,6.948,12045,4.503,12046,4.503,12047,3.454,12048,4.503,12049,4.503,12050,4.503]],["title/modules/FileSystemModule.html",[252,1.835,12051,6.094]],["body/modules/FileSystemModule.html",[0,0.337,3,0.019,4,0.019,5,0.011,30,0.001,95,0.136,101,0.013,103,0.001,104,0.001,252,3.388,254,3.522,255,3.73,256,3.825,257,3.811,258,3.797,259,4.664,260,4.774,269,4.654,270,3.756,271,3.678,277,1.412,5175,12.212,11988,9.056,11989,9.056,12051,12.352,12052,9.78,12053,9.78,12054,9.78,12055,9.78,12056,9.78]],["title/classes/FileUrlParams.html",[0,0.24,7158,4.813]],["body/classes/FileUrlParams.html",[0,0.469,2,0.673,3,0.012,4,0.017,5,0.008,7,0.089,26,2.539,27,0.408,30,0.001,32,0.158,33,0.411,39,1.751,47,0.979,95,0.145,99,1.297,101,0.018,103,0,104,0,110,3.581,112,0.698,122,1.864,157,1.456,159,0.65,190,1.859,195,1.384,199,4.955,200,1.938,201,4.369,202,1.453,203,5.999,205,1.292,296,3.682,298,2.737,299,4.8,300,4.306,403,3.201,855,4.985,856,6.24,866,5.143,886,3.258,899,2.881,1078,3.917,1080,2.181,1169,5.994,1237,1.865,1290,5.756,1291,4.188,1292,4.188,2992,4.693,3182,4.837,3901,2.986,4557,2.215,5228,7.459,6622,2.986,6803,6.382,7094,6.344,7096,4.13,7097,7.645,7102,5.339,7116,7.447,7146,4.385,7147,4.461,7148,4.461,7153,4.385,7154,8.151,7155,7.933,7156,7.933,7157,4.461,7158,6.191,7159,4.385,7160,4.461,7161,4.314,7162,6.091,7163,4.249,7164,4.314,7165,4.385,7166,4.314,7167,4.076,7168,4.461,7169,4.461,7170,4.461,7171,4.076,7172,4.076,7173,4.188,7174,4.314,7175,4.461,12057,8.934,12058,6.327,12059,6.327,12060,6.327,12061,6.327]],["title/modules/FilesModule.html",[252,1.835,8919,5.841]],["body/modules/FilesModule.html",[0,0.295,3,0.016,4,0.016,5,0.008,30,0.001,95,0.156,101,0.011,103,0.001,104,0.001,252,3.191,254,3.086,255,3.268,256,3.352,257,3.339,258,3.327,259,4.393,260,4.497,265,6.221,269,4.286,270,3.291,271,3.223,276,4.286,277,1.237,610,3.377,1027,2.632,2624,4.206,3017,4.044,8822,9.613,8827,11.318,8831,7.518,8853,10.927,8854,11.318,8871,7.935,8919,12.15,12062,8.569,12063,8.569,12064,8.569,12065,8.569,12066,12.522,12067,8.569]],["title/injectables/FilesRepo.html",[589,0.929,8853,5.639]],["body/injectables/FilesRepo.html",[0,0.195,3,0.011,4,0.011,5,0.005,7,0.079,8,0.95,10,3.305,12,3.729,18,4.189,26,2.636,27,0.504,29,0.962,30,0.001,31,0.703,32,0.156,33,0.577,34,1.407,35,1.418,36,2.71,40,2.738,49,3.653,55,2.373,56,2.663,58,6.969,83,2.828,95,0.14,96,2.179,97,2.311,99,1.157,101,0.007,103,0,104,0,135,1.638,148,1.057,153,1.357,205,1.68,206,2.683,224,1.647,228,1.024,231,1.428,277,0.814,317,2.963,415,3.209,433,0.696,436,3.171,532,4.885,540,2.889,589,1.1,591,1.345,657,2.226,711,3.798,728,7.081,734,3.454,735,3.766,736,4.824,759,3.36,760,3.43,761,3.394,762,3.43,763,3.91,764,3.394,765,3.43,766,3.057,771,4.053,788,3.847,1019,7.822,1826,2.891,1882,2.152,2447,4.134,2448,5.969,2452,6.03,2490,3.91,3928,4.581,4672,6.422,5104,3.847,5202,5.685,5308,4.581,8830,9.366,8839,7.219,8853,6.681,8858,4.745,9510,4.134,10605,4.445,11482,4.328,11484,4.95,11494,4.225,11505,4.95,11685,4.95,12068,5.643,12069,8.229,12070,8.229,12071,8.229,12072,5.643,12073,8.229,12074,5.643,12075,5.643,12076,8.229,12077,5.643,12078,5.643,12079,8.229,12080,5.643,12081,5.643,12082,7.62,12083,8.229,12084,5.643,12085,5.643,12086,7.219,12087,5.225,12088,5.643,12089,5.643,12090,5.643,12091,5.643,12092,5.643,12093,5.643]],["title/injectables/FilesService.html",[589,0.929,12066,6.094]],["body/injectables/FilesService.html",[0,0.257,3,0.014,4,0.014,5,0.007,7,0.105,8,1.153,26,2.9,27,0.495,29,0.964,30,0.001,31,0.705,32,0.157,33,0.579,35,1.397,36,2.848,39,3.335,95,0.138,99,1.525,101,0.01,103,0,104,0,135,1.305,145,4.502,148,1.282,205,1.519,206,3.257,228,1.35,277,1.074,317,3.034,400,2.216,433,0.918,589,1.336,591,1.774,657,2.763,1019,5.452,2624,5.535,7710,6.258,8853,9.786,12066,8.764,12094,7.441,12095,9.99,12096,9.99,12097,9.99,12098,9.99,12099,7.441,12100,9.99,12101,7.441,12102,9.99,12103,7.441,12104,9.99,12105,7.441,12106,9.99,12107,7.441,12108,9.99,12109,11.162,12110,9.99,12111,7.441,12112,9.99,12113,9.99,12114,7.441]],["title/modules/FilesStorageAMQPModule.html",[252,1.835,12115,6.432]],["body/modules/FilesStorageAMQPModule.html",[0,0.313,3,0.017,4,0.017,5,0.008,30,0.001,95,0.153,101,0.012,103,0.001,104,0.001,252,3.277,254,3.267,255,3.46,256,3.549,257,3.536,258,3.523,259,4.511,260,3.377,265,6.313,269,4.444,270,3.485,271,3.412,276,4.444,277,1.309,314,3.472,1027,2.787,1318,6.958,3866,4.561,5202,4.352,7102,4.305,7344,8.799,11968,5.845,12115,13.32,12116,9.072,12117,9.072,12118,9.072,12119,11.484,12120,11.981,12121,8.401,12122,8.401]],["title/modules/FilesStorageApiModule.html",[252,1.835,12123,6.094]],["body/modules/FilesStorageApiModule.html",[0,0.292,3,0.016,4,0.016,5,0.008,30,0.001,95,0.158,101,0.011,103,0.001,104,0.001,252,3.172,254,3.047,255,3.227,256,3.309,257,3.297,258,3.285,259,4.367,260,3.149,269,4.251,270,3.25,271,3.182,273,5.318,274,4.543,276,4.251,277,1.221,314,3.238,1054,4.77,1318,6.489,1484,9.007,1902,9.828,3017,3.993,3866,4.253,3872,7.095,5202,4.059,7102,4.015,7344,8.642,11937,10.535,11950,12.422,11968,5.451,12119,11.28,12122,7.835,12123,12.612,12124,8.461,12125,8.461,12126,8.461,12127,12.008,12128,6.869,12129,6.489,12130,6.489]],["title/injectables/FilesStorageClientAdapterService.html",[589,0.929,7224,4.989]],["body/injectables/FilesStorageClientAdapterService.html",[0,0.247,3,0.018,4,0.014,5,0.009,7,0.101,8,1.124,26,2.447,27,0.467,29,0.91,30,0.001,31,0.665,32,0.148,33,0.546,35,1.282,36,2.713,95,0.152,99,1.468,100,2.499,101,0.009,103,0,104,0,135,1.672,148,1.095,161,1.701,193,3.112,228,1.3,277,1.034,317,2.932,388,4.174,400,2.133,433,0.884,589,1.302,591,1.708,652,1.462,657,2.535,675,3.647,871,4.048,1027,2.2,2449,4.069,2450,5.571,3262,4.81,3866,6.868,3901,3.381,5202,3.436,7102,5.889,7105,5.493,7208,9.347,7210,9.979,7211,6.633,7224,6.992,7248,5.364,11677,6.023,12131,11.492,12132,7.163,12133,7.904,12134,8.541,12135,9.015,12136,11.06,12137,9.979,12138,7.163,12139,9.735,12140,7.163,12141,9.735,12142,7.163,12143,9.735,12144,7.163,12145,6.633,12146,7.163,12147,7.163,12148,12.801,12149,7.163,12150,7.163,12151,9.735,12152,7.163]],["title/interfaces/FilesStorageClientConfig.html",[159,0.713,12153,5.841]],["body/interfaces/FilesStorageClientConfig.html",[3,0.02,4,0.02,5,0.01,7,0.149,30,0.001,32,0.133,55,2.662,101,0.014,103,0.001,104,0.001,112,0.978,159,1.092,161,2.525,311,6.942,2815,4.254,3866,6.29,7102,5.046,11975,11.539,12153,10.521,12154,10.634]],["title/classes/FilesStorageClientMapper.html",[0,0.24,11677,5.841]],["body/classes/FilesStorageClientMapper.html",[0,0.208,2,0.642,3,0.011,4,0.011,5,0.006,7,0.085,8,0.998,27,0.478,29,0.93,30,0.001,31,0.716,32,0.159,33,0.558,34,1.479,35,1.406,47,0.716,95,0.126,100,3.523,101,0.008,103,0,104,0,135,1.668,148,1.307,153,1.817,161,1.434,205,2.25,467,4.08,478,1.692,579,2.498,653,4.168,871,4.034,1622,6.209,2357,5.741,2938,4.65,2940,3.956,3140,3.898,3866,6.892,3901,2.852,6622,4.081,6839,4.634,7083,4.26,7094,7.202,7101,10.503,7102,5.927,7105,8.452,7115,4.759,7123,4.524,7145,4.524,7248,9.88,9890,3.673,10817,5.3,11399,10.742,11674,11.566,11676,10.205,11677,7.27,12155,6.042,12156,8.645,12157,8.645,12158,8.645,12159,8.645,12160,8.645,12161,8.645,12162,8.645,12163,6.042,12164,8.645,12165,6.042,12166,8.645,12167,6.042,12168,8.645,12169,6.042,12170,8.645,12171,6.042,12172,8.645,12173,6.042,12174,11.02,12175,6.042,12176,6.042,12177,6.042,12178,6.042,12179,6.042,12180,6.042,12181,6.042,12182,6.042,12183,6.042,12184,6.042,12185,6.042,12186,6.042,12187,8.645,12188,6.042,12189,6.042,12190,6.042]],["title/modules/FilesStorageClientModule.html",[252,1.835,3857,5.327]],["body/modules/FilesStorageClientModule.html",[0,0.289,3,0.016,4,0.016,5,0.008,30,0.001,95,0.153,101,0.011,103,0.001,104,0.001,252,3.156,254,3.015,255,3.193,256,3.275,257,3.263,258,3.251,259,4.345,260,4.448,265,6.183,269,4.223,270,3.216,271,3.149,276,4.223,277,1.208,1027,2.572,3298,5.144,3299,4.761,3857,11.087,3866,6.007,7102,3.973,7217,11.964,7224,10.218,7236,7.753,7262,10.017,7268,7.753,12137,11.249,12145,7.753,12191,8.372,12192,8.372,12193,8.372,12194,8.372,12195,8.372,12196,7.345,12197,7.753,12198,9.997]],["title/injectables/FilesStorageConsumer.html",[589,0.929,12120,6.094]],["body/injectables/FilesStorageConsumer.html",[0,0.196,3,0.011,4,0.019,5,0.005,7,0.08,8,0.954,26,2.207,27,0.422,29,0.821,30,0.001,31,0.6,32,0.133,33,0.493,35,1.129,36,2.516,39,1.57,95,0.151,96,1.503,99,1.163,100,1.98,101,0.007,103,0,104,0,125,2.323,135,1.551,148,0.965,190,1.749,224,1.656,228,1.768,277,0.819,317,2.779,433,1.02,571,2.244,589,1.105,591,1.353,652,2.185,657,2.607,675,2.889,711,3.804,813,3.173,863,5.89,871,3.918,1027,1.743,1086,2.707,1087,2.623,1088,2.664,1089,2.835,1090,3.098,1115,4.097,1197,5.28,1272,6.125,1274,7.751,1310,4.001,1311,3.704,1723,7.398,1938,3.052,2059,4.158,2060,4.076,2449,4.073,2450,5.025,2568,3.81,2820,9.639,2992,3.744,4131,6.999,5154,5.255,7080,4.607,7084,9.654,7086,4.772,7097,6.896,7098,4.607,7102,5.398,7166,7.298,7796,6.449,8722,8.209,9890,3.449,11438,6.948,11745,5.935,12120,7.249,12133,8.69,12134,8.549,12198,5.255,12199,11.376,12200,5.675,12201,9.744,12202,5.675,12203,9.985,12204,10.306,12205,5.675,12206,5.255,12207,9.024,12208,9.744,12209,5.675,12210,5.255,12211,5.675,12212,5.675,12213,5.675,12214,7.652,12215,9.912,12216,4.249,12217,5.255,12218,11.376,12219,4.978,12220,5.675,12221,5.675,12222,8.263,12223,5.675,12224,8.263,12225,5.675,12226,5.675,12227,8.263,12228,8.263,12229,5.675,12230,5.675,12231,5.675,12232,5.675]],["title/classes/FilesStorageMapper.html",[0,0.24,12219,6.094]],["body/classes/FilesStorageMapper.html",[0,0.296,2,0.636,3,0.011,4,0.011,5,0.006,7,0.084,8,0.992,27,0.476,29,0.927,30,0.001,31,0.678,32,0.159,33,0.556,35,1.401,55,2.599,56,5.18,59,2.666,70,5.587,95,0.138,101,0.008,103,0,104,0,134,2.115,135,1.627,148,1.198,153,1.916,159,0.615,205,1.223,277,0.864,326,2.276,467,4.075,579,1.73,837,2.956,863,6.039,871,3.144,1231,5.253,1232,3.466,1446,4.387,1952,7.082,2782,4.69,3519,5.465,3814,4.716,3901,2.826,4126,4.387,4557,2.096,6622,2.826,7094,6.188,7097,7.486,7102,5.911,7121,8.186,7123,7.522,7134,4.861,7139,4.861,7145,7.522,7161,7.483,7162,4.083,7164,7.923,7527,6.648,7528,9.434,7551,5.035,7621,5.035,11745,6.169,11822,9.302,11823,7.955,11827,5.545,11829,7.955,11831,5.545,11832,5.545,11833,5.253,11835,5.545,11926,7.263,11927,5.253,12219,7.536,12233,12.457,12234,5.988,12235,8.59,12236,7.223,12237,8.59,12238,8.59,12239,8.59,12240,5.988,12241,7.223,12242,5.988,12243,5.988,12244,5.988,12245,8.59,12246,5.988,12247,8.59,12248,5.988,12249,5.988,12250,5.545,12251,5.988,12252,5.988,12253,5.988,12254,5.988,12255,5.545,12256,5.988,12257,5.253,12258,5.988,12259,5.988,12260,5.988,12261,5.988,12262,4.861,12263,5.988,12264,5.988,12265,5.988,12266,5.988,12267,5.988,12268,5.988,12269,5.988,12270,5.988]],["title/modules/FilesStorageModule.html",[252,1.835,12119,5.841]],["body/modules/FilesStorageModule.html",[0,0.222,3,0.012,4,0.012,5,0.006,30,0.001,32,0.08,47,0.846,55,1.287,87,3.232,95,0.16,96,2.392,101,0.008,103,0,104,0,122,1.341,135,1.364,153,1.06,195,1.406,205,1.313,206,2.096,224,1.876,252,2.76,254,2.315,255,2.452,256,2.514,257,2.505,258,2.496,259,4.121,260,3.888,265,4.176,269,3.534,270,2.469,271,2.418,276,4.432,277,0.928,290,1.52,347,3.294,412,2.845,478,1.8,540,3.172,556,3.252,561,2.885,571,2.543,610,2.533,623,5.897,651,3.252,736,4.487,809,4.196,1011,8.441,1014,4.455,1015,4.383,1017,6.261,1021,4.142,1022,6.261,1023,6.37,1024,6.261,1025,4.142,1026,4.041,1027,1.975,1036,6.489,1040,4.455,1041,4.383,1042,4.255,1086,3.067,1087,2.972,1088,3.018,1089,3.212,1166,4.255,1167,3.95,1258,5.64,1268,3.95,1270,5.219,1272,4.041,1274,4.196,1283,4.533,1288,5.406,1318,4.93,1626,3.565,1829,2.733,2087,2.781,2218,2.871,2219,3.232,2220,3.119,2221,4.041,2624,3.155,2815,2.572,2845,4.142,2935,3.408,5091,5.953,5202,3.084,7102,3.051,7121,5.492,7153,4.455,7190,4.041,9890,3.908,11407,3.95,11530,4.617,11724,6.765,11728,4.71,11848,10.861,12119,11.642,12203,11.472,12204,11.472,12271,6.429,12272,6.429,12273,6.429,12274,6.429,12275,7.926,12276,4.617,12277,6.62,12278,6.62,12279,6.765,12280,5.64,12281,4.93,12282,6.429,12283,6.429,12284,6.429,12285,5.64,12286,6.429,12287,6.429,12288,6.429,12289,5.406,12290,4.71,12291,4.71,12292,5.219,12293,4.93,12294,5.064,12295,5.953]],["title/injectables/FilesStorageProducer.html",[589,0.929,12137,5.841]],["body/injectables/FilesStorageProducer.html",[0,0.205,3,0.011,4,0.011,5,0.005,7,0.084,8,0.987,26,2.256,27,0.49,29,0.994,30,0.001,31,0.697,32,0.162,33,0.572,35,1.399,36,2.558,47,0.856,55,1.192,95,0.142,99,1.22,101,0.008,103,0,104,0,113,5.071,135,1.307,148,0.991,158,3.163,161,1.413,193,3.716,228,1.817,231,1.485,277,0.859,317,2.889,433,1.055,436,2.974,532,3.173,569,1.853,589,1.144,591,1.419,634,7.197,651,3.011,652,1.215,657,2.295,871,4.552,1027,1.828,1197,6.54,1272,3.741,1274,3.885,1297,4.832,1298,9.038,1310,4.197,1311,3.885,1723,7.916,2449,4.185,2450,5.139,3866,5.828,4131,8.669,4274,6.944,4307,4.457,7080,4.832,7084,6.737,7086,5.005,7096,7.144,7097,7.051,7098,4.832,7102,5.501,9890,3.618,12131,10.736,12133,6.944,12134,7.504,12135,7.921,12137,7.193,12153,5.005,12206,7.921,12210,7.921,12216,6.405,12296,5.952,12297,10.15,12298,7.504,12299,7.504,12300,5.952,12301,5.952,12302,5.952,12303,8.553,12304,5.952,12305,5.222,12306,5.512,12307,5.222,12308,5.512,12309,5.222,12310,5.512,12311,5.512,12312,5.952,12313,5.952,12314,5.952,12315,5.952,12316,5.952,12317,5.952,12318,5.952,12319,5.952,12320,5.952,12321,5.952,12322,5.952]],["title/modules/FilesStorageTestModule.html",[252,1.835,12323,6.432]],["body/modules/FilesStorageTestModule.html",[0,0.251,3,0.014,4,0.014,5,0.007,8,0.842,27,0.287,29,0.559,30,0.001,31,0.409,32,0.091,33,0.336,35,0.845,59,2.264,95,0.157,101,0.01,103,0,104,0,135,1.458,148,0.722,205,1.489,206,2.378,252,3.158,254,2.626,255,2.781,256,2.852,257,2.842,258,2.832,259,4.348,260,2.715,265,5.949,269,3.855,270,2.801,271,2.743,274,4.665,276,4.884,277,1.053,467,2.869,478,2.042,540,3.46,1016,7.101,1017,6.829,1027,2.24,1028,8.285,1029,8.385,1031,9.073,1034,5.593,1043,6.829,1045,6.433,1048,5.054,1318,7.558,1484,8.641,1856,7.382,2666,3.371,3221,3.761,3866,5.612,5170,5.142,5202,3.499,7102,4.676,7121,5.99,7344,8.291,9890,4.433,11968,4.698,12123,11.29,12323,13.31,12324,7.293,12325,7.293,12326,5.921,12327,7.293]],["title/classes/FilterImportUserParams.html",[0,0.24,12328,5.841]],["body/classes/FilterImportUserParams.html",[0,0.322,2,1.337,3,0.013,4,0.013,5,0.006,7,0.095,27,0.508,30,0.001,32,0.164,33,0.642,47,0.957,95,0.156,101,0.014,103,0,104,0,112,0.731,122,1.95,190,2.313,195,2.045,199,5.186,200,2.069,201,5.102,202,1.551,298,2.921,299,4.737,300,5.029,331,4.745,415,6.099,700,5.174,701,5.174,856,6.741,886,3.642,899,3.075,1582,6.715,2009,6.188,2543,5.028,2554,5.877,3395,6.024,3396,5.363,4672,5.625,4938,6.013,5376,4.85,6134,5.514,6273,6.7,10814,5.925,12328,7.863,12329,12.168,12330,5.679,12331,7.562,12332,7.432,12333,6.753,12334,6.753,12335,9.932,12336,6.753,12337,6.753,12338,6.753,12339,6.753,12340,6.753,12341,11.256,12342,6.753,12343,6.753,12344,6.753,12345,11.256,12346,6.753,12347,6.753,12348,9.35,12349,6.59,12350,6.753,12351,6.753]],["title/classes/FilterNewsParams.html",[0,0.24,12352,5.639]],["body/classes/FilterNewsParams.html",[0,0.365,2,0.865,3,0.015,4,0.015,5,0.007,7,0.114,27,0.464,30,0.001,32,0.147,33,0.611,34,1.812,47,0.885,95,0.143,99,1.667,101,0.011,103,0.001,104,0.001,112,0.828,122,2.21,157,2.979,190,2.115,199,5.877,200,2.492,201,4.848,202,1.868,203,7.115,299,4.129,300,4.778,304,4.016,855,4.288,886,2.559,899,3.704,1083,5.974,2992,5.657,3026,7.013,3178,5.657,3179,5.657,4873,8.043,5232,7.471,7760,7.693,7768,7.788,7769,7.683,7957,8.464,7960,9.567,7963,7.137,7975,7.764,7981,7.533,12352,8.603,12353,12.485,12354,7.137,12355,8.346,12356,8.91,12357,8.135,12358,8.135,12359,8.135,12360,7.533,12361,7.471,12362,8.135,12363,8.135]],["title/classes/FilterUserParams.html",[0,0.24,12364,5.841]],["body/classes/FilterUserParams.html",[0,0.41,2,1.037,3,0.019,4,0.019,5,0.009,7,0.137,27,0.384,30,0.001,31,0.718,32,0.122,33,0.547,47,0.842,95,0.136,101,0.013,103,0.001,104,0.001,112,0.929,130,3.249,190,1.751,200,2.989,201,4.613,202,2.241,299,4.63,300,4.548,329,7.222,700,5.732,701,5.732,856,6.59,4672,7.148,4938,5.437,12329,11.003,12330,8.204,12335,9.034,12364,9.992,12365,9.756]],["title/classes/ForbiddenLoggableException.html",[0,0.24,1956,5.471]],["body/classes/ForbiddenLoggableException.html",[0,0.294,2,0.905,3,0.016,4,0.016,5,0.008,7,0.12,8,1.26,26,2.619,27,0.43,29,0.653,30,0.001,31,0.477,32,0.15,33,0.392,35,0.987,39,3.332,47,0.854,95,0.15,99,1.745,101,0.011,103,0.001,104,0.001,135,1.112,148,0.843,183,4.61,228,2.186,231,1.894,233,2.657,242,4.482,277,1.229,339,2.497,433,1.347,652,2.459,736,6.308,801,7.885,1115,4.177,1197,4.613,1237,3.217,1422,4.933,1426,5.7,1462,4.685,1468,5.995,1477,4.421,1478,4.613,1775,6.989,1778,5.352,1956,8.596,2667,7.172,12366,12.044,12367,6.239,12368,7.885,12369,8.514,12370,6.707,12371,6.913,12372,8.514,12373,8.514,12374,8.514]],["title/classes/ForbiddenOperationError.html",[0,0.24,343,5.841]],["body/classes/ForbiddenOperationError.html",[0,0.268,2,0.825,3,0.015,4,0.015,5,0.007,7,0.109,8,1.186,27,0.526,29,0.595,30,0.001,31,0.435,32,0.173,33,0.53,35,0.899,47,0.929,55,1.554,59,3.188,95,0.117,101,0.01,103,0,104,0,112,0.803,155,3.887,190,2.288,228,2.516,231,1.783,233,2.421,277,1.12,343,8.637,402,2.776,433,0.957,436,3.891,868,5.88,871,2.84,998,5.435,1078,5.373,1080,4.516,1115,4.879,1354,8.631,1355,7.665,1356,7.516,1360,5.134,1361,4.45,1362,5.134,1363,5.134,1364,5.134,1365,5.134,1366,5.134,1367,4.767,1368,4.374,1369,6.11,1374,4.998,1796,8.637,5063,6.806,9086,6.798,12375,10.271,12376,7.758,12377,7.758,12378,7.758,12379,8.338,12380,7.184]],["title/controllers/FwuLearningContentsController.html",[314,2.658,12381,5.841]],["body/controllers/FwuLearningContentsController.html",[0,0.262,3,0.014,4,0.014,5,0.007,7,0.107,8,1.169,27,0.299,29,0.583,30,0.001,31,0.426,32,0.126,33,0.35,35,0.88,36,2.146,95,0.152,101,0.01,103,0,104,0,135,1.488,148,0.752,153,1.67,189,4.667,190,1.363,193,5.281,195,1.662,202,1.745,228,1.379,274,3.175,277,1.096,314,2.907,316,3.665,317,2.473,326,4.33,388,4.343,392,3.971,395,4.085,398,4.116,400,2.262,414,3.843,579,2.195,657,1.741,871,4.634,1268,4.667,1312,3.624,1368,4.283,1446,5.566,2218,3.393,2219,3.819,2220,3.685,2392,3.863,3221,3.918,3814,5.983,4228,4.437,7527,8.379,7528,6.167,7529,4.57,7545,6.167,7551,6.388,11943,8.905,11955,6.664,12381,8.517,12382,7.978,12383,10.257,12384,10.128,12385,7.596,12386,8.517,12387,7.596,12388,10.663,12389,10.128,12390,7.596,12391,9.251,12392,6.664,12393,6.664,12394,7.596,12395,7.596,12396,7.596,12397,7.596,12398,7.596,12399,7.596,12400,8.739,12401,7.596,12402,7.596,12403,7.596,12404,7.034,12405,7.034,12406,7.034,12407,6.664,12408,7.596,12409,7.034,12410,7.034,12411,7.596,12412,7.596,12413,7.596,12414,7.596,12415,7.596]],["title/modules/FwuLearningContentsModule.html",[252,1.835,12416,6.432]],["body/modules/FwuLearningContentsModule.html",[0,0.226,3,0.012,4,0.012,5,0.006,30,0.001,32,0.082,47,0.465,87,3.295,94,4.633,95,0.16,96,2.425,101,0.009,103,0,104,0,135,0.856,153,1.081,195,1.434,206,2.137,224,1.913,252,2.789,254,2.36,255,2.5,256,2.564,257,2.554,258,2.545,259,3.839,260,2.44,265,5.758,269,3.582,270,2.518,271,2.465,274,3.828,276,3.582,277,0.946,290,2.496,331,4.052,347,3.359,412,2.9,478,1.835,540,3.215,561,2.942,571,2.592,623,5.978,651,3.316,692,4.323,736,4.548,809,4.279,1011,8.493,1014,4.542,1015,4.469,1021,4.223,1022,6.346,1023,6.457,1024,6.346,1025,4.223,1026,4.12,1027,2.013,1036,6.578,1040,4.542,1041,4.469,1042,4.338,1054,3.696,1086,3.127,1087,3.03,1088,3.077,1089,3.275,1166,4.338,1167,4.027,1484,8.364,1626,3.635,1829,2.786,1856,7.145,2087,2.835,2666,3.03,2815,2.622,2845,4.223,2935,3.474,3872,5.978,5178,5,7190,4.12,7344,8.025,9890,3.984,11407,4.027,11530,4.708,11968,4.223,12276,8.636,12277,6.71,12278,6.71,12279,6.858,12281,5.027,12289,5.512,12290,4.803,12291,4.803,12292,5.321,12293,5.027,12294,5.163,12295,6.07,12381,8.876,12382,5.163,12383,9.471,12386,5.512,12391,10.113,12392,5.75,12393,5.75,12416,13.109,12417,6.555,12418,6.555,12419,6.555,12420,6.07,12421,6.555,12422,6.149,12423,6.07,12424,6.07,12425,6.07,12426,5.75]],["title/modules/FwuLearningContentsTestModule.html",[252,1.835,12427,6.432]],["body/modules/FwuLearningContentsTestModule.html",[0,0.226,3,0.012,4,0.012,5,0.006,8,0.755,27,0.258,29,0.502,30,0.001,31,0.367,32,0.082,33,0.301,35,0.758,59,2.031,94,4.628,95,0.16,101,0.009,103,0,104,0,135,1.377,148,0.648,206,2.134,252,3.017,254,2.357,255,2.496,256,2.56,257,2.55,258,2.541,259,4.37,260,2.436,265,5.755,269,3.578,270,2.514,271,2.461,274,4.773,276,4.7,277,0.945,290,2.163,331,4.048,467,2.663,478,1.832,540,3.212,651,3.31,692,4.318,1016,6.71,1021,4.216,1025,4.216,1026,4.113,1027,2.01,1028,7.913,1029,8.069,1031,8.778,1043,6.339,1045,5.971,1048,4.535,1054,3.69,1484,8.36,1856,7.142,2087,2.831,2666,3.025,2815,2.618,3872,5.971,5170,4.614,5178,4.994,6169,6.237,7190,4.113,7344,8.021,9890,3.978,11407,4.021,11968,4.216,12128,5.313,12276,8.63,12281,5.019,12289,5.503,12326,5.313,12381,8.869,12382,7.205,12383,10.066,12386,5.503,12391,10.108,12392,5.741,12393,5.741,12420,8.471,12422,6.142,12424,6.06,12425,6.06,12426,5.741,12427,13.236,12428,6.544,12429,6.544,12430,6.544,12431,6.544,12432,5.741,12433,4.9,12434,5.741]],["title/injectables/FwuLearningContentsUc.html",[589,0.929,12391,5.639]],["body/injectables/FwuLearningContentsUc.html",[0,0.297,3,0.016,4,0.016,5,0.008,7,0.121,8,1.27,27,0.433,29,0.844,30,0.001,31,0.617,32,0.137,33,0.506,35,0.999,47,0.956,59,2.677,95,0.146,101,0.011,103,0.001,104,0.001,135,1.126,148,0.854,158,3.189,228,1.565,277,1.245,317,2.629,414,4.363,433,1.358,589,1.471,591,2.056,652,2.246,657,1.977,688,4.071,871,4.028,1027,2.649,1164,8.438,2449,4.599,2450,5.992,2815,3.45,3262,5.791,11407,5.299,12382,9.544,12383,10.792,12386,7.252,12391,8.933,12400,9.788,12426,7.566,12435,12.117,12436,8.624,12437,9.837,12438,9.351,12439,8.624,12440,8.624,12441,8.624,12442,8.624,12443,8.624,12444,8.624]],["title/interfaces/GetFile.html",[159,0.713,7196,4.897]],["body/interfaces/GetFile.html",[3,0.016,4,0.016,5,0.01,7,0.116,30,0.001,32,0.162,33,0.632,47,1.04,55,2.603,95,0.094,101,0.017,103,0.001,104,0.001,112,0.835,125,2.547,159,1.368,161,1.955,339,3.812,414,5.403,1302,7.208,1304,4.683,1444,4.567,2232,5.006,5202,5.124,6528,7.133,7185,6.167,7186,6.167,7187,6.486,7188,6.316,7189,6.316,7190,5.176,7191,6.167,7192,5.615,7193,5.615,7194,5.615,7195,5.615,7196,7.53,7197,7.794,7198,7.625,7199,7.625,7200,6.034,7201,8.192,7202,8.192,7203,6.167]],["title/interfaces/GetFileResponse.html",[159,0.713,11926,4.597]],["body/interfaces/GetFileResponse.html",[3,0.017,4,0.017,5,0.008,7,0.122,30,0.001,31,0.718,32,0.171,33,0.639,47,1.032,55,2.436,95,0.139,101,0.015,103,0.001,104,0.001,112,0.865,159,1.136,161,2.065,205,1.776,339,3.755,403,4.401,837,4.295,1302,7.101,1304,4.946,6528,7.28,7102,4.128,7121,7.395,7167,7.838,7197,7.955,7198,7.783,7199,7.783,11926,7.322,12400,6.672,12445,8.055,12446,7.062,12447,7.632,12448,6.514,12449,6.374]],["title/interfaces/GetFileResponse-1.html",[159,0.593,756,2.284,11926,3.822]],["body/interfaces/GetFileResponse-1.html",[0,0.396,3,0.013,4,0.013,5,0.006,7,0.093,30,0.001,31,0.677,32,0.16,33,0.602,34,1.136,47,1.022,55,2.302,95,0.121,101,0.016,103,0,104,0,112,0.723,131,6.151,155,2.106,158,2.456,159,1.092,161,1.577,202,1.525,231,1.153,296,3.553,326,4.04,339,3.544,374,3.998,1195,3.279,1215,6.395,1240,3.917,1302,6.7,1304,3.776,1925,5.618,1926,6.206,2084,4.602,2163,3.07,2373,4.866,2392,2.533,2434,4.528,3037,3.186,3390,5.451,4159,4.46,5202,4.434,6523,8.165,6528,6.87,6537,4.682,6544,4.77,6573,3.776,6580,4.77,6581,4.77,6637,6.638,7197,7.507,7198,7.344,7199,7.344,7968,5.399,11597,5.399,11926,6.117,12450,4.335,12451,5.094,12452,7.088,12453,8.153,12454,7.088,12455,6.772,12456,7.088,12457,5.094,12458,5.094,12459,5.094,12460,5.094,12461,5.094,12462,5.094,12463,4.973,12464,6.516,12465,4.682,12466,5.094,12467,5.094,12468,4.602,12469,6.921,12470,4.866,12471,5.094,12472,5.094,12473,5.094,12474,5.094,12475,5.094,12476,7.96,12477,4.866,12478,5.094]],["title/classes/GetFwuLearningContentParams.html",[0,0.24,12388,6.094]],["body/classes/GetFwuLearningContentParams.html",[0,0.412,2,1.047,3,0.019,4,0.019,5,0.009,7,0.138,27,0.388,30,0.001,32,0.123,47,0.847,95,0.136,101,0.013,103,0.001,104,0.001,112,0.934,190,1.768,200,3.018,202,2.263,296,3.122,299,4.658,301,7.7,856,6.629,12382,9.415,12383,10.538,12388,10.486,12479,11.953,12480,9.852,12481,12.867,12482,9.852,12483,11.068,12484,11.953,12485,9.852,12486,9.852,12487,9.852]],["title/classes/GetH5PContentParams.html",[0,0.24,12488,5.201]],["body/classes/GetH5PContentParams.html",[0,0.454,2,0.779,3,0.014,4,0.014,5,0.007,7,0.103,26,2.039,27,0.39,30,0.001,32,0.123,33,0.455,47,0.934,95,0.15,99,1.503,101,0.017,103,0,104,0,112,0.773,131,5.036,158,3.657,190,1.775,200,2.246,202,1.684,205,1.497,296,3.704,298,3.172,299,4.362,300,3.786,326,4.254,478,2.053,855,5.217,856,7.149,886,3.769,899,3.339,1195,5.526,1198,7.526,1240,7.602,2163,3.39,3181,4.367,3182,5.843,3901,3.461,4551,9.509,4554,8.585,6345,5.081,6523,7.307,6573,4.17,6619,8.17,6622,3.461,7979,6.744,11597,4.283,12450,7.307,12488,7.407,12489,5.776,12490,7.333,12491,7.333,12492,7.333,12493,6.974,12494,5.491,12495,5.491,12496,5.491,12497,5.624,12498,5.776,12499,5.491,12500,5.776]],["title/classes/GetH5PEditorParams.html",[0,0.24,12495,5.201]],["body/classes/GetH5PEditorParams.html",[0,0.455,2,0.782,3,0.014,4,0.014,5,0.007,7,0.103,26,2.044,27,0.391,30,0.001,32,0.124,47,0.935,95,0.151,99,1.508,101,0.017,103,0,104,0,112,0.775,131,5.048,158,3.666,190,1.78,200,2.255,202,1.69,205,1.503,296,3.706,298,3.183,299,4.37,300,3.795,326,4.262,478,2.061,855,5.222,856,7.156,886,3.775,899,3.351,1195,5.536,1198,7.535,1240,7.61,2163,3.402,3181,4.383,3182,5.85,3901,3.474,4551,9.515,4554,8.601,6345,5.1,6523,7.32,6573,4.185,6619,8.182,6622,3.474,7979,6.761,11597,4.299,12450,7.32,12488,5.511,12489,5.797,12493,6.991,12494,5.511,12495,7.425,12496,5.511,12497,5.644,12498,5.797,12499,5.511,12500,5.797,12501,7.36,12502,6.815,12503,7.36]],["title/classes/GetH5PEditorParamsCreate.html",[0,0.24,12494,5.201]],["body/classes/GetH5PEditorParamsCreate.html",[0,0.457,2,0.8,3,0.014,4,0.014,5,0.007,7,0.106,26,2.075,27,0.296,30,0.001,32,0.094,47,0.921,95,0.151,99,1.542,101,0.017,103,0,104,0,112,0.787,131,5.124,158,3.721,190,1.35,200,2.305,202,1.728,205,1.536,296,3.716,298,3.255,299,4.42,300,3.852,326,4.31,478,2.107,855,5.256,856,7.203,886,3.809,899,3.427,1195,4.969,1198,7.592,1240,7.141,2163,3.478,3181,4.481,3182,5.894,3901,3.552,4551,9.548,4554,8.698,6523,7.403,6573,4.279,6619,8.256,6622,3.552,7979,6.863,11597,4.396,12450,6.57,12488,5.635,12489,5.927,12493,7.096,12494,7.537,12495,5.635,12496,5.635,12497,5.771,12498,5.927,12499,5.635,12500,5.927,12502,6.968,12504,7.525]],["title/interfaces/GetH5PFileResponse.html",[159,0.713,12468,4.813]],["body/interfaces/GetH5PFileResponse.html",[0,0.396,3,0.013,4,0.013,5,0.006,7,0.093,30,0.001,31,0.677,32,0.16,33,0.602,34,1.136,47,1.022,55,2.302,95,0.121,101,0.016,103,0,104,0,112,0.723,131,6.151,155,2.106,158,2.456,159,1.092,161,1.577,202,1.525,231,1.153,296,3.553,326,4.04,339,3.544,374,3.998,1195,3.279,1215,6.395,1240,3.917,1302,6.7,1304,3.776,1925,5.618,1926,6.206,2084,4.602,2163,3.07,2373,4.866,2392,2.533,2434,4.528,3037,3.186,3390,5.451,4159,4.46,5202,4.434,6523,8.165,6528,6.87,6537,4.682,6544,4.77,6573,3.776,6580,4.77,6581,4.77,6637,6.638,7197,7.507,7198,7.344,7199,7.344,7968,5.399,11597,5.399,11926,4.395,12450,4.335,12451,5.094,12452,7.088,12453,8.153,12454,7.088,12455,6.772,12456,7.088,12457,5.094,12458,5.094,12459,5.094,12460,5.094,12461,5.094,12462,5.094,12463,4.973,12464,6.516,12465,4.682,12466,5.094,12467,5.094,12468,6.405,12469,6.921,12470,4.866,12471,5.094,12472,5.094,12473,5.094,12474,5.094,12475,5.094,12476,7.96,12477,4.866,12478,5.094]],["title/interfaces/GetH5pFileResponse.html",[159,0.713,12468,4.813]],["body/interfaces/GetH5pFileResponse.html",[0,0.287,3,0.016,4,0.016,5,0.011,7,0.117,30,0.001,31,0.731,32,0.167,33,0.634,47,1.021,55,2.674,95,0.123,101,0.016,103,0.001,104,0.001,112,0.841,159,1.104,161,1.975,339,3.917,876,4.32,881,4.543,1195,4.108,1237,2.453,1302,7.406,1304,4.731,1444,4.615,2183,3.279,2327,5.23,2815,3.329,6528,7.414,7107,6.997,7137,5.673,7197,7.824,7198,7.926,7199,7.926,11402,6.997,11407,5.112,11408,6.997,11409,6.554,11410,6.755,12450,5.431,12468,7.451,12505,8.729,12506,6.381]],["title/interfaces/GetLibraryFile.html",[159,0.713,12506,5.327]],["body/interfaces/GetLibraryFile.html",[0,0.298,3,0.016,4,0.016,5,0.011,7,0.122,30,0.001,31,0.618,32,0.168,33,0.507,47,0.993,55,2.701,95,0.126,101,0.016,103,0.001,104,0.001,112,0.861,159,1.132,161,2.052,172,4.683,339,3.956,876,4.487,881,4.719,1195,4.267,1237,2.548,1302,7.481,1304,4.915,1444,4.793,2183,3.406,2327,5.433,2815,3.458,6528,7.502,7107,7.268,7137,5.893,7197,5.37,7198,8.019,7199,8.019,11402,7.268,11407,5.31,11408,7.268,11409,6.808,11410,7.017,12450,5.642,12468,5.989,12505,8.945,12506,8.45]],["title/interfaces/GetLibraryFile-1.html",[159,0.593,756,2.284,12506,4.429]],["body/interfaces/GetLibraryFile-1.html",[3,0.018,4,0.018,5,0.009,7,0.136,30,0.001,32,0.173,33,0.543,47,0.904,55,2.73,95,0.11,101,0.013,103,0.001,104,0.001,112,0.923,159,0.992,161,2.294,172,5.021,339,3.898,876,5.017,1195,4.77,1302,7.371,1304,5.494,2327,6.073,6528,7.557,7198,8.079,7199,8.079,12506,9.059,12507,9.662,12508,9.662]],["title/classes/GetMetaTagDataBody.html",[0,0.24,12509,6.094]],["body/classes/GetMetaTagDataBody.html",[0,0.414,2,1.055,3,0.019,4,0.019,5,0.009,7,0.14,27,0.391,30,0.001,32,0.124,47,0.851,95,0.137,101,0.013,103,0.001,104,0.001,106,8.062,107,7.837,110,4.463,112,0.939,190,1.781,194,3.882,195,2.626,196,3.971,197,3.338,200,3.04,202,2.279,296,3.136,299,4.679,2369,6.713,12509,10.533,12510,12.006,12511,9.925,12512,9.19,12513,9.925]],["title/interfaces/GlobalConstants.html",[159,0.713,12514,6.432]],["body/interfaces/GlobalConstants.html",[3,0.018,4,0.018,5,0.009,7,0.133,30,0.001,32,0.164,33,0.607,47,1.025,95,0.108,101,0.012,103,0.001,104,0.001,110,3.262,112,0.91,135,1.52,159,0.969,161,2.24,1022,9.383,1023,9.546,1024,9.383,1927,5.564,12514,11.691,12515,9.435,12516,12.538,12517,11.641,12518,9.435,12519,11.641]],["title/classes/GlobalErrorFilter.html",[0,0.24,9902,5.841]],["body/classes/GlobalErrorFilter.html",[0,0.166,2,0.511,3,0.009,4,0.009,5,0.004,7,0.068,8,0.843,27,0.483,29,0.917,30,0.001,31,0.687,32,0.149,33,0.55,35,1.386,95,0.147,100,1.677,101,0.006,103,0,104,0,125,1.146,135,1.748,148,1.184,153,1.914,155,3.128,158,2.7,159,0.494,228,0.872,277,0.694,393,2.372,400,1.431,433,0.593,532,4.143,569,3.07,571,1.901,652,2.812,653,3.014,694,3.521,695,3.451,871,4.818,998,4.655,1027,1.476,1080,4.536,1086,2.293,1087,2.221,1088,2.256,1115,3.775,1237,2.152,1282,9.143,1312,3.484,1313,3.276,1328,5.228,1351,4.903,1354,6.199,1367,7.91,1376,4.216,1379,3.451,1422,5.116,1472,2.687,2098,7.385,2230,4.041,2449,3.052,3262,3.227,3635,3.785,4253,6.405,5063,4.216,5452,5.259,7529,2.891,9810,3.901,9857,8.294,9875,3.901,9887,3.901,9902,6.14,9927,8.294,11225,4.45,12216,6.612,12217,4.45,12520,12.492,12521,4.45,12522,8.83,12523,7.301,12524,7.301,12525,7.301,12526,7.301,12527,7.301,12528,9.863,12529,7.301,12530,4.805,12531,6.761,12532,11.608,12533,4.805,12534,7.301,12535,4.805,12536,7.301,12537,4.805,12538,7.301,12539,4.805,12540,7.301,12541,4.805,12542,7.301,12543,4.805,12544,4.805,12545,7.301,12546,4.805,12547,4.805,12548,6.14,12549,4.805,12550,4.805,12551,4.805,12552,4.805,12553,4.805,12554,4.805,12555,4.805,12556,4.805,12557,4.805,12558,4.805,12559,4.805,12560,4.805,12561,4.805,12562,4.805,12563,4.805,12564,4.805,12565,4.805,12566,4.805,12567,4.805,12568,4.805,12569,4.805,12570,7.301,12571,4.805,12572,4.805,12573,4.805,12574,7.301,12575,4.805,12576,4.805,12577,4.805,12578,4.805,12579,4.805,12580,4.805,12581,4.805,12582,4.805,12583,4.805]],["title/classes/GlobalValidationPipe.html",[0,0.24,12584,6.094]],["body/classes/GlobalValidationPipe.html",[0,0.401,2,0.841,3,0.015,4,0.015,5,0.007,27,0.312,30,0.001,32,0.145,95,0.119,100,4.477,101,0.01,103,0.001,104,0.001,112,0.618,129,3.114,130,2.845,131,4.027,153,1.304,157,1.821,190,1.867,194,3.094,195,2.881,197,2.199,200,3.187,231,1.806,233,2.469,277,1.142,296,2.066,326,3.006,338,7.143,339,2.32,365,3.533,393,3.905,412,4.603,433,1.434,525,5.439,561,3.55,567,3.006,628,4.711,807,6.067,813,4.423,875,5.235,1080,2.727,1172,7.791,1211,5.096,1214,6.94,1221,10.765,1223,5.924,1247,7.325,1268,6.393,1351,5.312,1373,7.718,1381,5.312,1388,4.711,1831,5.235,1938,4.254,2139,6.022,2233,5.394,2561,4.759,2868,5.682,2992,4.714,3576,5.033,3785,6.886,3792,5.924,5018,8.447,5883,4.915,7359,7.21,9810,6.422,10465,5.796,12584,9.127,12585,10.404,12586,7.911,12587,10.765,12588,7.911,12589,8.447,12590,7.911,12591,7.911,12592,7.911,12593,7.911,12594,6.94,12595,7.911,12596,6.94,12597,7.911,12598,7.325,12599,7.325,12600,7.911,12601,7.911]],["title/classes/GridElement.html",[0,0.24,8391,5.471]],["body/classes/GridElement.html",[0,0.177,2,0.328,3,0.006,4,0.006,5,0.003,7,0.12,8,0.592,26,2.545,27,0.491,29,0.811,30,0.001,31,0.593,32,0.157,33,0.537,34,1.866,35,1.352,39,1.419,47,0.9,55,2.443,83,0.898,95,0.075,99,0.632,101,0.013,103,0,104,0,112,0.401,122,1.916,125,2.321,129,0.923,130,1.8,135,1.732,141,3.288,145,2.864,146,2.103,148,1.314,153,1.68,155,3.631,159,0.317,172,2.18,232,1.389,242,2.699,243,1.939,277,0.445,433,0.381,435,1.741,458,3.405,459,2.699,467,3.333,569,3.693,579,1.902,595,1.164,652,2.459,756,2.603,896,1.725,1065,4.778,1170,4.82,1237,1.512,1660,4.929,1675,3.085,1842,4.433,2048,4.433,2434,2.103,2782,2.8,2893,7.291,2934,1.786,2935,1.635,2976,2.138,3037,3.679,3057,4.544,3527,2.31,3724,2.175,3874,8.891,3900,3.304,3993,7.157,4063,3.224,7287,2.594,7394,2.103,7437,3.758,7509,3.554,7740,5.314,8298,5.149,8321,2.26,8322,2.706,8324,2.706,8327,2.706,8328,2.594,8329,7.723,8331,2.43,8338,4.499,8344,2.706,8348,2.706,8351,2.706,8352,7.723,8354,9.175,8357,5.881,8359,2.706,8360,7.157,8363,2.706,8365,2.706,8367,2.706,8369,2.706,8371,2.706,8373,2.706,8376,2.706,8378,4.499,8379,2.31,8380,7.467,8381,6.727,8382,5.774,8383,7.467,8384,5.774,8385,4.499,8386,7.467,8387,4.499,8388,5.774,8389,2.706,8390,3.84,8391,9.722,8392,5.774,8393,4.499,8394,2.706,8395,4.499,8396,2.706,8397,4.499,8398,2.706,8399,4.499,8400,4.499,8401,4.499,8402,4.499,8403,4.499,8404,2.706,8405,4.499,8406,2.594,8407,4.499,8408,2.706,8409,4.499,8410,2.706,8411,2.706,8412,2.706,8413,4.499,8414,2.504,8415,2.706,8416,4.499,8417,2.706,8418,2.366,8419,2.706,8420,2.706,8421,2.706,8422,2.706,8423,2.706,8424,2.706,8425,2.706,8426,2.706,8427,2.706,8428,4.499,8429,4.499,8430,2.594,8431,5.774,8432,2.706,8433,4.499,8434,2.706,8435,2.706,8436,2.706,8437,2.706,8438,2.706,8439,2.706,8440,2.706,8441,2.706,8442,2.706,8443,2.706,8444,2.706,8445,2.706,8446,2.706,8447,2.706,8448,2.706,8449,2.706,8450,2.706,8451,2.706,8452,2.706,8453,2.706,8454,2.706,8455,2.706,8456,2.706,8457,4.499,8458,2.706,8459,2.706,8460,2.706,8461,4.499,8462,4.499,8463,2.706,8464,2.706,8465,2.706,8466,2.706,8467,2.706,8468,2.706,8469,2.706,8470,5.774,8471,2.706,8472,2.706,12602,4.749,12603,5.128,12604,5.128,12605,5.128,12606,5.128,12607,4.749,12608,4.749,12609,4.749,12610,3.085,12611,3.085,12612,3.085,12613,3.085,12614,3.085,12615,3.085,12616,2.857,12617,3.085,12618,3.085,12619,3.085,12620,3.085,12621,3.085,12622,3.085,12623,3.085,12624,3.085,12625,3.085,12626,3.085,12627,3.085,12628,3.085]],["title/classes/Group.html",[0,0.24,1065,3.409]],["body/classes/Group.html",[0,0.229,2,0.706,3,0.013,4,0.013,5,0.006,7,0.093,8,1.067,26,1.905,27,0.536,29,0.815,30,0.001,31,0.719,32,0.166,33,0.489,34,1.136,35,1.4,47,0.815,83,2.691,95,0.138,99,1.361,101,0.012,103,0,104,0,112,0.723,113,3.683,122,2.217,125,2.204,130,2.527,134,2.346,145,2.481,148,1.239,159,0.682,185,2.282,231,1.845,290,2.513,435,3.138,436,2.745,532,3.429,567,2.524,569,3.76,578,3.472,711,2.745,735,4.229,1065,5.641,1767,5.085,1770,4.909,1773,6.532,1849,3.844,1853,2.172,2674,5.827,3048,4.175,3066,4.175,3382,5.158,3383,6.15,3402,8.63,4556,8.559,4567,5.094,4594,5.585,5920,5.392,8002,6.227,9959,8.153,9997,8.749,12629,6.15,12630,9.242,12631,10.643,12632,8.815,12633,8.559,12634,10.323,12635,6.641,12636,6.641,12637,8.559,12638,6.641,12639,6.641,12640,6.641,12641,6.641,12642,6.641,12643,6.641,12644,6.641,12645,6.641,12646,6.641,12647,5.231,12648,6.641,12649,5.392,12650,5.585,12651,5.585,12652,6.15,12653,6.15,12654,6.15,12655,6.15,12656,5.827,12657,6.15,12658,6.15,12659,5.585,12660,6.15]],["title/modules/GroupApiModule.html",[252,1.835,12661,5.841]],["body/modules/GroupApiModule.html",[0,0.268,3,0.015,4,0.015,5,0.007,30,0.001,95,0.16,101,0.01,103,0,104,0,252,3.045,254,2.799,255,2.964,256,3.04,257,3.029,258,3.018,259,4.191,260,2.893,265,6.059,269,4.022,270,2.986,271,2.923,273,4.886,274,4.298,276,4.022,277,1.122,314,2.975,703,2.413,1027,2.387,1524,10.053,1525,9.604,1539,6.31,1540,5.583,1856,7.519,2069,4.629,2666,3.593,3017,3.669,3858,8.144,3868,4.091,4770,11.022,6033,8.801,8930,7.198,12661,12.244,12662,7.773,12663,7.773,12664,7.773,12665,11.022,12666,12.138,12667,7.773,12668,10.111,12669,7.773]],["title/controllers/GroupController.html",[314,2.658,12668,6.094]],["body/controllers/GroupController.html",[0,0.353,2,0.935,3,0.012,4,0.012,5,0.006,7,0.087,8,1.016,27,0.346,29,0.675,30,0.001,31,0.493,32,0.174,33,0.405,34,1.059,35,1.019,36,2.361,95,0.151,100,2.16,101,0.008,103,0,104,0,125,2.097,135,1.455,148,0.871,190,1.579,202,1.422,228,1.124,274,2.588,277,0.894,290,1.464,298,2.678,314,2.369,316,2.987,317,2.654,325,6.247,326,3.889,349,6.545,359,5.733,365,4.977,374,3.805,388,3.772,390,6.035,391,7.729,392,3.236,395,3.329,398,3.354,400,1.843,401,4.919,402,4.376,657,2.016,675,3.152,711,3.632,869,4.317,871,4.079,883,7.856,1065,5.022,1367,7.514,1368,3.49,1725,4.365,1853,2.024,2050,3.708,3017,2.922,3193,4.446,3221,3.193,4046,3.724,4670,9.775,4678,5.026,4720,8.605,4799,9.775,5070,6.096,7397,5.923,7525,5.292,8016,4.748,10741,8.308,10799,5.431,11247,9.476,12666,9.476,12668,7.718,12670,6.191,12671,10.233,12672,6.191,12673,9.476,12674,6.191,12675,11.142,12676,8.797,12677,11.142,12678,6.191,12679,6.191,12680,6.191,12681,9.775,12682,6.191,12683,6.191,12684,6.191,12685,6.191,12686,6.191,12687,7.142,12688,8.605,12689,5.431,12690,6.191,12691,6.191,12692,8.146,12693,6.191,12694,6.191,12695,6.191,12696,7.718,12697,7.718,12698,6.191,12699,6.191,12700,6.191,12701,6.191,12702,6.191,12703,6.191]],["title/classes/GroupDomainMapper.html",[0,0.24,12704,6.094]],["body/classes/GroupDomainMapper.html",[0,0.188,2,0.579,3,0.01,4,0.01,5,0.005,7,0.077,8,0.926,27,0.461,29,0.898,30,0.001,31,0.696,32,0.155,33,0.539,34,1.372,35,1.356,39,1.508,48,2.675,95,0.128,96,1.443,97,2.232,101,0.007,103,0,104,0,125,2.791,135,1.655,148,1.159,153,1.845,205,2.144,290,1.897,331,3.55,435,1.851,459,2.869,467,4.023,478,1.526,692,2.573,704,4.085,1065,5.493,1078,3.518,1853,1.783,1882,2.079,2448,7.207,3382,3.601,3394,2.495,3613,7.635,4633,2.446,4737,3.387,4738,4.294,4834,7.654,5111,4.082,5178,2.976,5762,3.717,7432,7.863,9522,3.349,9959,4.181,9997,8.911,10002,9.533,10520,7.039,12632,4.181,12634,9.885,12649,9.087,12650,4.584,12651,4.584,12656,4.782,12704,7.039,12705,12.103,12706,5.048,12707,7.43,12708,8.023,12709,9.521,12710,8.023,12711,8.023,12712,8.023,12713,5.451,12714,8.525,12715,7.43,12716,5.451,12717,8.023,12718,5.451,12719,5.451,12720,5.451,12721,8.023,12722,9.782,12723,5.451,12724,8.023,12725,5.451,12726,4.584,12727,7.499,12728,5.451,12729,7.43,12730,7.039,12731,5.451,12732,5.451,12733,8.353,12734,8.023,12735,8.023,12736,5.451,12737,4.782,12738,5.451,12739,5.451,12740,5.451,12741,8.023,12742,5.451,12743,5.451,12744,5.451,12745,8.023,12746,5.451,12747,5.451,12748,5.451,12749,5.451,12750,5.451,12751,5.451,12752,5.451,12753,5.451,12754,5.451,12755,4.584,12756,5.451,12757,5.451,12758,5.451,12759,5.451,12760,5.451,12761,5.451]],["title/entities/GroupEntity.html",[205,1.418,7432,5.201]],["body/entities/GroupEntity.html",[0,0.373,3,0.013,4,0.013,5,0.006,7,0.096,26,1.948,27,0.498,30,0.001,31,0.653,32,0.169,33,0.581,34,1.173,47,0.766,95,0.148,96,1.816,99,1.405,101,0.014,103,0,104,0,112,0.739,159,0.704,190,2.267,195,2.885,196,4.178,205,1.929,206,2.236,223,3.356,224,2.001,225,3.629,229,2.712,231,1.19,232,1.858,233,2.14,458,2.743,459,4.974,628,4.083,692,5.768,886,3.665,1065,4.637,1835,4.842,2108,2.993,2183,2.702,3382,5.229,4617,7.492,4623,6.221,4624,3.899,4633,3.077,4695,4.168,5685,4.436,5762,7.944,7397,3.969,7432,7.076,7440,3.866,7665,4.675,9808,4.834,9997,7.944,10002,9.626,12714,7.671,12722,9.626,12726,9.798,12727,9.626,12733,10.222,12737,6.016,12762,6.35,12763,6.857,12764,6.857,12765,6.857,12766,6.857,12767,6.857,12768,6.857,12769,6.35,12770,6.35,12771,6.35,12772,5.766,12773,6.35,12774,6.35,12775,5.567,12776,6.35,12777,6.35,12778,6.35]],["title/interfaces/GroupEntityProps.html",[159,0.713,12714,5.639]],["body/interfaces/GroupEntityProps.html",[0,0.379,3,0.013,4,0.013,5,0.007,7,0.099,26,2.432,30,0.001,31,0.692,32,0.173,33,0.611,34,2.018,47,0.836,95,0.149,96,1.87,99,1.447,101,0.014,103,0,104,0,112,0.754,159,0.725,161,1.677,195,2.581,196,3.631,205,1.969,223,2.993,224,2.061,225,3.703,229,2.793,231,1.226,232,1.913,233,2.204,458,2.825,459,5.075,628,4.206,692,6.016,886,3.454,1065,4.732,1835,3.618,2108,3.082,2183,2.783,3382,5.542,4623,6.298,4624,4.016,4633,3.169,4695,4.293,5685,4.527,5762,8.42,7397,4.087,7432,5.288,7440,3.982,9808,4.979,9997,8.42,10002,10.04,12714,8.913,12722,10.04,12726,10.384,12727,10.04,12733,10.834,12737,6.195,12762,6.54,12769,6.54,12770,6.54,12771,6.54,12772,5.938,12773,6.54,12774,6.54,12775,5.733,12776,6.54,12777,6.54,12778,6.54]],["title/classes/GroupIdParams.html",[0,0.24,12681,6.094]],["body/classes/GroupIdParams.html",[0,0.416,2,1.065,3,0.019,4,0.019,5,0.009,7,0.141,27,0.395,30,0.001,32,0.125,34,2.066,47,0.856,95,0.138,101,0.013,103,0.001,104,0.001,112,0.944,190,1.799,194,4.724,195,2.642,196,3.315,197,3.358,200,3.071,202,2.302,296,3.155,855,4.888,4673,8.429,6768,8.429,8390,9.708,12681,10.596,12779,12.078,12780,9.282]],["title/modules/GroupModule.html",[252,1.835,12665,5.841]],["body/modules/GroupModule.html",[0,0.329,3,0.018,4,0.018,5,0.009,30,0.001,95,0.145,101,0.013,103,0.001,104,0.001,252,3.353,254,3.438,255,3.641,256,3.734,257,3.72,258,3.707,259,4.615,260,4.724,269,4.586,270,3.667,271,3.591,277,1.378,610,3.762,2624,4.686,12665,11.988,12781,9.547,12782,9.547,12783,9.547,12784,12.176,12785,11.63,12786,9.547]],["title/interfaces/GroupNameIdTuple.html",[159,0.713,12787,5.841]],["body/interfaces/GroupNameIdTuple.html",[3,0.019,4,0.019,5,0.009,7,0.141,30,0.001,31,0.562,32,0.151,39,2.774,47,1.029,101,0.016,103,0.001,104,0.001,112,0.944,159,1.241,161,2.38,173,6.634,175,8.429,187,5.651,702,4.949,4557,3.508,6556,7.067,6642,6.896,7397,5.802,12787,10.902,12788,9.282,12789,11.807]],["title/interfaces/GroupProps.html",[159,0.713,12649,5.639]],["body/interfaces/GroupProps.html",[0,0.246,3,0.014,4,0.014,5,0.007,7,0.1,26,2.443,30,0.001,31,0.695,32,0.175,33,0.613,34,2.027,47,0.944,83,3.723,95,0.142,99,1.463,101,0.013,103,0,104,0,112,0.759,122,2.026,125,2.316,130,1.952,134,2.522,145,2.666,148,1.266,159,0.733,161,1.695,185,2.453,231,1.916,290,1.687,567,2.712,569,3.023,578,3.731,1065,5.418,1767,6.074,1770,3.946,1849,4.131,1853,2.334,2674,6.262,3382,5.562,3402,8.962,4594,6.002,5920,5.794,8002,5.262,9959,9.506,9997,9.308,12629,6.609,12631,6.609,12632,9.506,12633,6.609,12634,10.211,12637,6.609,12649,7.885,12650,9.964,12651,9.964,12652,6.609,12653,6.609,12654,6.609,12655,6.609,12656,6.262,12657,6.609,12658,6.609,12659,6.002,12660,6.609]],["title/injectables/GroupRepo.html",[589,0.929,12785,5.841]],["body/injectables/GroupRepo.html",[0,0.175,3,0.01,4,0.01,5,0.005,7,0.071,8,0.88,10,3.06,12,3.453,18,3.879,26,2.613,27,0.466,29,0.907,30,0.001,31,0.663,32,0.155,33,0.544,34,1.736,35,1.322,36,2.762,40,3.697,47,0.648,48,4.981,49,1.913,95,0.135,96,1.346,97,2.083,99,1.042,101,0.007,103,0,104,0,135,1.787,142,4.164,148,1.274,153,1.951,195,1.112,197,1.414,205,2.416,206,2.485,228,0.923,277,0.734,290,1.802,317,2.969,400,1.514,433,0.627,435,3.446,589,1.019,591,1.212,657,2.789,704,3.879,711,4.064,1065,6.315,1770,4.637,1853,1.663,1882,1.939,2448,5.675,2460,6.717,2496,5.372,2501,5.372,2503,8.462,2515,4.276,2531,6.186,3382,2.282,3394,2.327,3608,3.319,3613,4.451,3632,6.685,3674,3.9,4557,2.667,4780,6.685,4787,6.685,5762,3.467,7432,9.319,8002,5.499,9393,4.461,9997,3.467,10548,4.461,10555,6.685,12649,9.265,12704,4.461,12714,6.186,12726,4.276,12729,4.709,12785,6.408,12790,5.085,12791,7.056,12792,6.685,12793,5.085,12794,5.085,12795,7.056,12796,5.085,12797,5.085,12798,7.056,12799,5.085,12800,5.085,12801,5.085,12802,4.709,12803,10.149,12804,10.149,12805,10.149,12806,7.62,12807,5.085,12808,5.085,12809,5.085,12810,7.62,12811,9.138,12812,5.085,12813,5.085,12814,5.085,12815,5.085,12816,5.085]],["title/classes/GroupResponse.html",[0,0.24,12688,5.841]],["body/classes/GroupResponse.html",[0,0.271,2,0.834,3,0.015,4,0.015,5,0.007,7,0.11,27,0.528,29,0.602,30,0.001,31,0.69,32,0.175,33,0.589,34,1.981,47,0.932,95,0.141,101,0.01,103,0.001,104,0.001,112,0.809,125,1.871,190,2.359,201,4.969,202,1.803,296,3.501,433,0.968,458,3.14,614,2.423,866,3.898,886,2.469,1065,5.684,1148,6.02,2108,3.425,2183,3.093,3181,4.674,3382,5.197,9997,7.896,10011,9.738,12632,8.882,12688,10.762,12772,6.6,12775,6.372,12817,7.849,12818,9.08,12819,10.35,12820,7.849,12821,7.849,12822,7.849,12823,11.851,12824,7.849,12825,10.354,12826,7.849,12827,7.849,12828,7.849,12829,7.849,12830,6.886,12831,6.886,12832,6.886,12833,6.886,12834,7.268,12835,7.268]],["title/classes/GroupResponseMapper.html",[0,0.24,12689,6.094]],["body/classes/GroupResponseMapper.html",[0,0.237,2,0.731,3,0.013,4,0.013,5,0.006,7,0.097,8,1.093,27,0.427,29,0.831,30,0.001,31,0.686,32,0.153,33,0.498,34,1.852,35,1.255,47,0.488,48,3.377,55,2.533,56,5.507,59,2.94,70,5.94,95,0.133,100,2.401,101,0.009,103,0,104,0,125,1.64,135,1.598,148,1.073,153,2.017,290,1.627,331,3.044,467,3.899,652,2.211,700,3.319,701,3.319,704,3.503,829,4.058,869,5.727,871,3.467,1078,3.016,1725,4.851,1853,2.25,1882,2.624,3382,3.088,4678,9.473,4681,5.786,4682,5.786,4683,4.62,4684,5.786,4706,10.29,4708,4.433,4720,10.29,4834,6.754,9582,6.036,9959,5.277,9997,4.691,10011,7.965,10756,6.036,12632,5.277,12687,9.473,12688,10.29,12689,8.309,12730,6.036,12823,6.371,12825,7.965,12836,11.668,12837,10.831,12838,9.471,12839,9.471,12840,6.88,12841,9.471,12842,9.471,12843,6.88,12844,6.88,12845,9.471,12846,6.88,12847,6.88,12848,6.88,12849,9.471,12850,6.88,12851,6.88,12852,6.88,12853,6.88,12854,6.88,12855,6.88,12856,6.88,12857,6.88,12858,6.88,12859,6.88,12860,6.88,12861,6.88,12862,6.88,12863,6.88,12864,6.88,12865,6.88,12866,6.88,12867,6.88,12868,6.88,12869,6.88,12870,6.88,12871,6.88,12872,6.88]],["title/classes/GroupRoleUnknownLoggable.html",[0,0.24,12873,6.094]],["body/classes/GroupRoleUnknownLoggable.html",[0,0.314,2,0.967,3,0.017,4,0.017,5,0.008,7,0.128,8,1.313,27,0.448,29,0.697,30,0.001,31,0.51,32,0.113,33,0.418,35,1.054,95,0.13,101,0.012,103,0.001,104,0.001,148,0.9,158,3.362,228,1.65,290,2.15,331,5.494,339,2.667,400,2.708,433,1.122,1027,2.793,1065,4.463,1115,3.48,1237,3.354,1422,5.085,1423,5.86,1426,5.839,1468,5.86,1469,6.166,1626,5.043,3343,6.531,4921,6.018,9972,6.2,12873,9.981,12874,12.416,12875,9.093,12876,9.093,12877,10.563,12878,9.093,12879,9.981,12880,9.093,12881,9.093,12882,6.809,12883,9.093,12884,9.093,12885,9.093]],["title/injectables/GroupRule.html",[589,0.929,1870,5.841]],["body/injectables/GroupRule.html",[0,0.277,3,0.015,4,0.015,5,0.007,7,0.113,8,1.212,27,0.461,29,0.898,30,0.001,31,0.656,32,0.155,33,0.539,35,1.217,95,0.147,101,0.011,103,0.001,104,0.001,122,2.758,135,1.371,148,1.04,183,4.48,195,1.755,228,1.456,277,1.158,290,3.267,400,2.388,433,0.99,478,2.246,589,1.404,591,1.912,653,3.312,711,3.927,1065,6.707,1237,2.364,1770,5.474,1775,6.832,1801,8.216,1838,7.548,1870,8.829,1981,6.764,1985,6.524,1992,5.309,3678,6.949,3679,5.386,3682,6.854,3684,5.386,3685,7.05,3686,5.877,6885,5.761,12886,8.021,12887,8.021,12888,8.021,12889,8.021,12890,8.021,12891,10.499]],["title/injectables/GroupService.html",[589,0.929,12784,5.841]],["body/injectables/GroupService.html",[0,0.203,3,0.011,4,0.011,5,0.005,7,0.083,8,0.981,10,3.413,12,3.851,18,4.327,26,2.794,27,0.5,29,0.973,30,0.001,31,0.712,32,0.161,33,0.584,34,1.864,35,1.437,36,2.894,40,4.123,47,0.706,48,5.35,95,0.142,99,1.209,101,0.008,103,0,104,0,135,1.572,142,3.635,148,1.192,153,0.973,228,1.071,277,0.852,290,1.395,317,3.067,400,1.757,433,0.728,579,1.705,589,1.137,591,1.407,657,2.842,704,3.004,711,4.198,1065,6.997,1237,1.739,1472,3.299,1853,1.929,1854,7.147,1882,2.25,2624,2.895,2666,2.727,4557,2.065,4780,7.456,4787,7.456,4830,3.962,4831,4.023,7397,4.919,8002,5.906,12784,7.147,12785,10.119,12791,7.87,12792,7.456,12795,7.87,12798,7.87,12892,5.9,12893,8.499,12894,5.9,12895,5.9,12896,8.499,12897,5.9,12898,5.9,12899,5.9,12900,5.9,12901,5.9,12902,8.499,12903,5.9,12904,8.499,12905,5.9,12906,8.499,12907,5.9,12908,5.9,12909,5.9,12910,5.9,12911,8.499,12912,5.9,12913,5.9]],["title/classes/GroupUcMapper.html",[0,0.24,12914,6.432]],["body/classes/GroupUcMapper.html",[0,0.412,2,0.686,3,0.012,4,0.012,5,0.006,7,0.091,8,1.045,27,0.412,29,0.802,30,0.001,31,0.713,32,0.159,33,0.481,34,1.79,35,1.213,59,2.811,95,0.148,100,2.25,101,0.008,103,0,104,0,135,1.561,145,2.409,148,1.036,153,1.725,467,3.844,478,1.806,595,2.434,711,3.108,1065,6.566,1148,6.945,1540,4.632,1853,2.109,1882,2.46,2563,4.469,3382,2.894,3394,4.788,3434,4.21,3814,5.08,4629,5.423,4678,10.72,4681,7.614,4682,7.614,4683,7.619,4684,7.614,4685,8.385,4693,5.658,4708,6.741,4834,7.173,4838,5.972,4839,5.972,5024,3.577,8002,6.476,9997,4.397,11327,4.331,11328,4.331,12422,7.619,12687,9.703,12830,7.944,12831,5.658,12833,5.658,12914,8.385,12915,11.347,12916,6.449,12917,9.055,12918,10.464,12919,9.055,12920,9.055,12921,6.449,12922,6.449,12923,11.347,12924,11.25,12925,7.863,12926,6.449,12927,9.055,12928,11.347,12929,6.449,12930,6.449,12931,6.449,12932,6.449,12933,6.449,12934,6.449,12935,9.055,12936,6.449,12937,6.449,12938,6.449,12939,9.055,12940,6.449,12941,6.449,12942,6.449,12943,6.449,12944,6.449,12945,6.449,12946,6.449,12947,6.449,12948,6.449]],["title/classes/GroupUser.html",[0,0.24,12634,5.327]],["body/classes/GroupUser.html",[0,0.336,2,1.034,3,0.018,4,0.018,5,0.009,7,0.137,26,2.816,27,0.504,29,0.746,30,0.001,31,0.546,32,0.16,33,0.448,39,3.541,95,0.111,99,1.995,101,0.013,103,0.001,104,0.001,112,0.927,232,3.214,242,5.123,243,6.117,433,1.201,435,3.305,5111,9.584,12634,10.476,12949,13.324,12950,8.538,12951,11.864,12952,9.732,12953,8.538,12954,8.538]],["title/classes/GroupUserEntity.html",[0,0.24,12722,5.471]],["body/classes/GroupUserEntity.html",[0,0.313,2,0.964,3,0.017,4,0.017,5,0.008,7,0.128,27,0.489,29,0.696,30,0.001,31,0.509,32,0.155,33,0.417,95,0.13,96,2.402,101,0.015,103,0.001,104,0.001,112,0.888,159,0.932,190,2.039,224,2.648,232,3.078,290,3.342,331,6.254,433,1.119,435,3.081,478,2.54,2268,6.647,2698,5.784,5685,5.823,7665,7.746,8499,6.287,9964,6.516,12722,8.948,12955,10.932,12956,7.146,12957,11.405,12958,11.361,12959,9.072,12960,6.958]],["title/interfaces/GroupUserEntityProps.html",[159,0.713,12957,6.094]],["body/interfaces/GroupUserEntityProps.html",[0,0.328,3,0.018,4,0.018,5,0.009,7,0.134,30,0.001,32,0.146,95,0.134,96,2.522,101,0.015,103,0.001,104,0.001,112,0.915,159,0.978,161,2.261,224,2.78,232,2.58,290,3.408,331,6.377,478,2.667,2268,6.979,2698,5.961,5685,5.952,8499,6.6,9964,6.841,12722,7.502,12955,8.009,12956,7.502,12957,11.122,12960,7.305]],["title/classes/GroupUserResponse.html",[0,0.24,12825,5.841]],["body/classes/GroupUserResponse.html",[0,0.299,2,0.921,3,0.016,4,0.016,5,0.008,7,0.122,27,0.52,29,0.664,30,0.001,31,0.486,32,0.165,33,0.399,34,2.076,47,0.957,95,0.126,101,0.011,103,0.001,104,0.001,112,0.862,190,2.294,202,1.989,290,2.048,296,3.627,331,5.372,433,1.069,458,3.465,578,4.528,595,3.269,700,5.857,701,5.857,886,2.725,2268,6.346,3181,5.158,3433,5.816,3434,5.654,5024,7.322,11147,5.654,11149,5.654,12825,11.101,12961,13.496,12962,7.032,12963,9.278,12964,11.033,12965,8.661,12966,8.661,12967,8.661,12968,8.661]],["title/interfaces/GroupUsers.html",[159,0.713,12969,5.201]],["body/interfaces/GroupUsers.html",[3,0.018,4,0.018,5,0.009,7,0.131,30,0.001,32,0.116,34,1.591,47,0.998,55,2.512,101,0.018,103,0.001,104,0.001,112,0.902,122,1.941,159,1.431,161,2.209,339,2.729,402,3.329,532,3.452,1076,5.919,1081,6.343,1115,3.561,3382,5.886,4964,6.343,7397,5.385,12969,8.642,12970,7.135,12971,6.967,12972,6.967,12973,7.135,12974,8.554,12975,7.135,12976,7.135,12977,6.967,12978,7.135,12979,6.817,12980,6.967,12981,7.135,12982,6.967]],["title/classes/GroupValidPeriodEntity.html",[0,0.24,12727,5.471]],["body/classes/GroupValidPeriodEntity.html",[0,0.32,2,0.987,3,0.018,4,0.018,5,0.009,7,0.13,27,0.494,29,0.712,30,0.001,31,0.52,32,0.156,33,0.427,83,3.999,95,0.106,96,2.458,101,0.015,103,0.001,104,0.001,112,0.901,159,0.953,190,2.068,223,4.183,224,2.709,232,3.122,433,1.145,435,3.152,628,7.805,2698,5.867,9522,8.053,9967,8.143,9968,8.143,9969,8.143,9970,8.143,12727,9.077,12955,11.021,12983,8.596,12984,11.498,12985,11.524,12986,9.282]],["title/interfaces/GroupValidPeriodEntityProps.html",[159,0.713,12984,6.094]],["body/interfaces/GroupValidPeriodEntityProps.html",[0,0.34,3,0.019,4,0.019,5,0.009,7,0.138,30,0.001,32,0.149,83,4.142,95,0.112,96,2.608,101,0.016,103,0.001,104,0.001,112,0.934,159,1.012,161,2.339,223,3.994,224,2.875,232,2.669,628,5.867,2698,6.085,9522,8.422,9967,8.643,9968,8.643,9969,8.643,9970,8.643,12727,7.76,12955,8.284,12983,9.123,12984,11.289]],["title/interfaces/GroupfoldersCreated.html",[159,0.713,12982,5.201]],["body/interfaces/GroupfoldersCreated.html",[3,0.018,4,0.018,5,0.009,7,0.131,30,0.001,32,0.116,34,2.243,47,0.974,55,2.701,101,0.018,103,0.001,104,0.001,112,0.902,122,1.941,159,1.431,161,2.209,339,2.729,402,3.329,532,3.452,1076,5.919,1081,6.343,1115,3.561,3382,4.175,4964,6.343,7397,5.385,12969,6.967,12970,7.135,12971,6.967,12972,6.967,12973,7.135,12974,8.554,12975,7.135,12976,7.135,12977,6.967,12978,7.135,12979,6.817,12980,6.967,12981,7.135,12982,8.642]],["title/interfaces/GroupfoldersFolder.html",[159,0.713,12980,5.201]],["body/interfaces/GroupfoldersFolder.html",[3,0.018,4,0.018,5,0.009,7,0.131,30,0.001,32,0.116,34,1.591,47,0.974,55,2.701,101,0.018,103,0.001,104,0.001,112,0.902,122,1.941,159,1.431,161,2.209,339,2.729,402,3.329,532,3.452,1076,5.919,1081,6.343,1115,3.561,3382,4.175,4964,6.343,7397,5.385,12969,6.967,12970,7.135,12971,6.967,12972,6.967,12973,7.135,12974,8.554,12975,7.135,12976,7.135,12977,6.967,12978,7.135,12979,6.817,12980,8.642,12981,10.06,12982,6.967]],["title/classes/GuardAgainst.html",[0,0.24,12987,6.094]],["body/classes/GuardAgainst.html",[0,0.295,2,0.911,3,0.016,4,0.016,5,0.008,7,0.12,8,1.265,27,0.338,29,0.84,30,0.001,31,0.48,32,0.137,33,0.394,35,1.27,101,0.011,103,0.001,104,0.001,125,3.209,130,3.826,142,4.91,148,0.849,157,1.972,158,3.168,388,4.698,467,3.517,532,4.993,579,2.476,985,6.342,1461,8.205,1472,7.119,2388,10.337,2847,8.896,4935,8.631,9510,8.029,12987,9.613,12988,10.958,12989,8.569,12990,10.958,12991,10.958,12992,13.158,12993,8.569,12994,10.147,12995,8.404,12996,10.958]],["title/entities/H5PContent.html",[205,1.418,6623,5.201]],["body/entities/H5PContent.html",[0,0.261,3,0.01,4,0.014,5,0.005,7,0.142,26,2.43,27,0.448,30,0.001,32,0.142,47,0.963,49,4.433,95,0.13,96,2.001,97,2.059,99,1.031,101,0.013,103,0,104,0,112,0.591,131,5.785,148,0.899,153,1.496,155,1.595,158,2.794,159,0.516,190,2.039,195,2.951,196,4.461,205,1.543,206,1.639,223,4.398,224,1.467,225,2.902,229,1.989,231,0.873,233,1.569,433,0.62,478,1.408,703,2.345,886,2.855,1195,5.82,1198,3.025,1215,3.025,1237,1.482,1936,2.361,2163,2.324,2392,4.496,2698,3.846,2924,4.196,3037,2.412,3390,2.965,3633,3.822,3739,2.965,3901,4.284,4159,3.376,4557,3.177,4617,3.484,4623,4.034,4650,3.484,4833,4.082,5450,5.658,5744,2.859,6520,8.783,6521,9.57,6522,4.411,6523,5.925,6524,4.411,6525,4.411,6526,4.228,6527,3.376,6528,2.859,6529,4.228,6530,3.856,6531,3.856,6532,3.765,6533,3.856,6534,3.282,6535,4.411,6536,4.411,6537,3.545,6538,4.411,6539,4.411,6540,3.765,6541,3.856,6542,4.411,6543,4.411,6544,3.611,6548,6.628,6550,6.628,6553,7.74,6556,3.545,6557,3.856,6573,4.296,6574,3.684,6575,7.963,6576,3.856,6577,4.411,6578,3.856,6579,4.411,6580,3.611,6581,3.611,6582,4.411,6583,4.411,6584,3.545,6585,4.411,6586,3.856,6587,4.411,6588,3.856,6589,4.411,6590,3.856,6591,4.411,6592,3.856,6593,4.411,6594,4.411,6595,4.411,6596,4.411,6597,4.411,6598,3.856,6599,4.411,6600,4.411,6601,4.411,6602,4.411,6603,4.411,6604,4.411,6605,4.411,6606,4.411,6607,4.411,6608,4.411,6609,4.411,6610,4.411,6611,4.411,6612,4.411,6613,4.411,6614,4.411,6615,4.411,6616,4.411,6617,4.228,6618,4.411,6619,6.881,6620,6.134,6621,5.034,6622,5.364,6623,5.658,6624,4.063,6625,6.519,6626,3.611,6627,6.188,6628,3.611,6629,6.65,6630,3.765,6631,3.199,6632,3.484,6633,4.228,6634,3.611,6635,4.411,6636,3.765,6637,3.611,11714,4.656,11722,4.656,12997,5.028,12998,5.028,12999,5.028,13000,4.656,13001,5.028,13002,5.028,13003,5.028]],["title/classes/H5PContentFactory.html",[0,0.24,13004,6.432]],["body/classes/H5PContentFactory.html",[0,0.17,2,0.523,3,0.009,4,0.009,5,0.005,7,0.069,8,0.859,27,0.516,29,1.014,30,0.001,31,0.705,32,0.168,33,0.578,34,1.533,35,1.429,47,0.527,49,1.852,55,2.344,59,3.328,95,0.102,101,0.006,103,0,104,0,112,0.581,113,4.493,127,4.989,129,3.607,130,3.295,131,2.506,135,0.643,148,0.488,153,1.767,155,2.359,157,2.062,172,3.161,185,2.556,192,2.709,195,1.627,205,2.189,206,2.425,228,1.35,231,1.291,326,4.777,374,3.217,433,0.607,436,3.889,467,2.165,501,7.282,502,5.538,505,4.124,506,5.538,507,5.432,508,4.124,509,4.124,510,4.124,511,4.06,512,4.562,513,4.97,514,6.811,515,5.853,516,7.07,517,2.753,522,2.73,523,4.124,524,2.753,525,5.22,526,5.37,527,4.226,528,5.051,529,4.092,530,2.73,531,2.574,532,4.182,533,2.628,534,2.574,535,2.73,536,2.753,537,4.893,538,2.73,539,6.972,540,4.231,541,6.683,542,2.753,543,4.348,544,2.73,545,2.753,546,2.73,547,2.753,548,2.73,549,3.059,550,2.876,551,2.73,552,6.155,553,2.753,554,2.73,555,4.124,556,3.762,557,4.124,558,2.753,559,2.648,560,2.61,561,2.209,562,2.73,563,2.73,564,2.73,565,2.753,566,2.753,567,1.871,568,2.73,569,1.532,570,2.753,571,2.941,572,2.73,573,2.753,574,2.776,576,2.903,1198,2.962,2392,1.878,3901,2.324,4479,5.568,4557,1.723,5344,7.477,6520,6.037,6529,4.14,6532,3.687,6534,4.854,6537,3.471,6540,3.687,6556,3.471,6619,3.357,6620,3.997,6621,2.73,6622,2.324,6623,3.687,11597,2.876,12355,3.878,13004,8.299,13005,4.559,13006,4.923,13007,4.14,13008,4.559,13009,4.923,13010,4.923,13011,4.923,13012,4.923,13013,4.923,13014,4.923,13015,4.559,13016,4.923]],["title/classes/H5PContentMapper.html",[0,0.24,13017,6.432]],["body/classes/H5PContentMapper.html",[0,0.325,2,1.003,3,0.018,4,0.018,5,0.009,7,0.133,8,1.344,27,0.372,29,0.724,30,0.001,31,0.529,32,0.145,33,0.434,35,1.093,95,0.144,101,0.012,103,0.001,104,0.001,134,3.333,135,1.52,148,0.934,153,1.919,205,1.926,277,1.362,467,3.675,579,2.726,1195,5.747,1952,8.901,2782,5.151,3519,7.406,6619,8.988,7527,8.355,12236,9.789,12241,9.789,12257,8.277,12262,7.66,13017,10.78,13018,10.78,13019,9.435,13020,9.435,13021,9.435,13022,9.435]],["title/classes/H5PContentMetadata.html",[0,0.24,12476,5.201]],["body/classes/H5PContentMetadata.html",[0,0.4,2,0.72,3,0.013,4,0.013,5,0.006,7,0.095,27,0.423,29,0.52,30,0.001,31,0.602,32,0.145,33,0.312,34,1.159,47,1.008,55,1.877,95,0.123,101,0.017,103,0,104,0,112,0.733,131,6.408,155,3.408,158,2.505,159,1.104,190,1.682,202,1.556,231,1.176,296,3.622,326,4.083,339,2.749,374,4.054,433,0.836,1195,5.723,1215,6.463,1240,3.996,1302,5.959,1304,3.853,1925,5.697,1926,6.293,2084,4.695,2163,3.132,2373,4.965,2392,2.584,2434,4.62,3037,3.251,3390,5.527,4159,4.55,5202,4.496,6523,8.584,6528,5.329,6537,7.575,6544,6.731,6573,3.853,6580,4.867,6581,4.867,6637,6.731,7197,5.823,7198,5.697,7199,5.697,7968,5.475,11597,5.475,11926,4.484,12450,7.567,12451,5.197,12452,7.188,12453,8.24,12454,7.188,12455,6.867,12456,7.188,12457,5.197,12458,5.197,12459,5.197,12460,5.197,12461,5.197,12462,5.197,12463,5.074,12464,6.608,12465,4.777,12466,5.197,12467,5.197,12468,4.695,12469,7.018,12470,4.965,12471,5.197,12472,5.197,12473,5.197,12474,5.197,12475,5.197,12476,8.681,12477,4.965,12478,5.197,13023,6.776,13024,6.776,13025,6.776]],["title/interfaces/H5PContentParentParams.html",[159,0.713,13026,6.094]],["body/interfaces/H5PContentParentParams.html",[0,0.292,3,0.016,4,0.016,5,0.008,7,0.119,26,2.902,30,0.001,31,0.475,32,0.158,34,1.45,47,0.852,95,0.137,99,1.738,101,0.014,103,0.001,104,0.001,112,0.851,122,2.507,159,0.871,161,2.013,205,1.731,458,3.392,578,4.432,702,4.186,1195,4.186,1237,2.499,1619,5.21,2108,3.7,2163,3.919,2183,3.341,3901,5.986,4557,4.591,4634,5,6573,4.821,6619,8.942,6622,5.986,11151,5.781,12963,7.13,13026,10.545,13027,7.851,13028,7.851,13029,9.758,13030,7.438,13031,7.851,13032,7.851,13033,7.13,13034,7.13,13035,7.13,13036,7.13,13037,7.851,13038,7.851,13039,7.851,13040,7.851,13041,7.851,13042,7.851,13043,7.851,13044,7.851,13045,7.851,13046,7.851,13047,7.851,13048,6.349,13049,7.851,13050,7.851]],["title/interfaces/H5PContentProperties.html",[159,0.713,6620,5.639]],["body/interfaces/H5PContentProperties.html",[0,0.269,3,0.01,4,0.015,5,0.005,7,0.145,26,2.735,30,0.001,32,0.144,47,0.969,49,3.881,95,0.132,96,2.069,97,2.154,99,1.078,101,0.014,103,0,104,0,112,0.611,131,6.091,148,0.923,153,1.537,155,1.668,158,2.889,159,0.54,161,1.248,195,2.972,196,4.494,205,1.595,223,4.418,224,1.535,225,3.001,229,2.08,231,0.913,233,1.641,433,0.649,478,1.472,703,1.632,886,2.933,1195,2.596,1198,3.163,1215,3.163,1237,1.55,1936,2.469,2163,2.431,2392,4.687,2698,3.977,2924,4.309,3037,2.523,3390,3.101,3633,2.66,3739,3.101,3901,5.454,4159,3.531,4557,4.044,4623,4.171,4650,3.644,4833,4.269,5744,2.99,6520,9.381,6521,4.269,6522,4.613,6523,6.085,6524,4.613,6525,4.613,6526,4.422,6527,3.531,6528,2.99,6529,4.422,6530,4.033,6531,4.033,6532,3.938,6533,4.033,6534,3.433,6535,4.613,6536,4.613,6537,3.707,6538,4.613,6539,4.613,6540,3.938,6541,4.033,6542,4.613,6543,4.613,6544,3.777,6548,6.854,6550,6.854,6553,7.914,6556,3.707,6557,4.033,6573,4.443,6574,3.853,6575,6.854,6576,4.033,6577,4.613,6578,4.033,6579,4.613,6580,3.777,6581,3.777,6582,4.613,6583,4.613,6584,3.707,6585,4.613,6586,4.033,6587,4.613,6588,4.033,6589,4.613,6590,4.033,6591,4.613,6592,4.033,6593,4.613,6594,4.613,6595,4.613,6596,4.613,6597,4.613,6598,4.033,6599,4.613,6600,4.613,6601,4.613,6602,4.613,6603,4.613,6604,4.613,6605,4.613,6606,4.613,6607,4.613,6608,4.613,6609,4.613,6610,4.613,6611,4.613,6612,4.613,6613,4.613,6614,4.613,6615,4.613,6616,4.613,6617,4.422,6618,4.613,6619,7.518,6620,7.568,6621,6.408,6622,5.647,6623,3.938,6624,2.828,6625,3.777,6626,3.777,6627,3.585,6628,3.777,6629,3.853,6630,3.938,6631,3.345,6632,3.644,6633,4.422,6634,3.777,6635,4.613,6636,3.938,6637,3.777]],["title/injectables/H5PContentRepo.html",[589,0.929,13051,5.841]],["body/injectables/H5PContentRepo.html",[0,0.235,3,0.013,4,0.013,5,0.006,7,0.096,8,1.086,10,3.777,12,4.262,18,4.788,26,2.664,27,0.519,29,0.967,30,0.001,31,0.707,32,0.157,33,0.58,34,1.608,35,1.497,36,2.867,95,0.133,99,1.396,101,0.009,103,0,104,0,135,0.889,148,1.207,205,1.92,206,3.067,231,1.632,277,0.983,317,3.061,436,3.451,532,5.069,589,1.258,591,1.624,657,1.561,728,7.479,734,3.947,735,4.304,736,5.35,756,2.694,759,4.056,760,4.14,761,4.097,762,4.14,764,4.097,765,5.717,766,3.69,771,4.891,787,5.364,1195,6.019,1240,6.851,2392,2.597,2511,5.529,6623,9.129,13051,7.909,13052,12.192,13053,6.81,13054,9.405,13055,9.405,13056,11.618,13057,9.405,13058,6.81,13059,9.405,13060,6.81,13061,9.405,13062,6.81,13063,6.81,13064,9.405,13065,6.81,13066,6.81]],["title/interfaces/H5PContentResponse.html",[159,0.713,12469,5.201]],["body/interfaces/H5PContentResponse.html",[0,0.404,3,0.013,4,0.013,5,0.006,7,0.098,30,0.001,31,0.535,32,0.158,34,1.189,47,1.01,55,1.91,95,0.124,101,0.017,103,0,104,0,112,0.746,131,6.252,155,2.205,158,2.57,159,1.119,161,1.651,172,4.055,202,1.597,231,1.207,296,3.582,326,4.821,339,2.798,374,4.126,1195,3.432,1215,7.632,1240,4.1,1302,6.04,1304,3.953,1925,5.798,1926,6.405,2084,4.817,2163,3.213,2373,5.094,2392,2.651,2434,4.74,3037,3.335,3390,5.625,4159,4.668,5202,4.576,6523,8.637,6528,5.424,6537,4.901,6544,4.993,6573,3.953,6580,4.993,6581,4.993,6637,6.851,7197,5.927,7198,5.798,7199,5.798,7968,5.572,11597,7.174,11926,4.601,12450,4.538,12451,5.332,12452,7.316,12453,8.352,12454,7.316,12455,6.989,12456,7.316,12457,5.332,12458,5.332,12459,5.332,12460,5.332,12461,5.332,12462,5.332,12463,5.206,12464,6.725,12465,4.901,12466,5.332,12467,5.332,12468,4.817,12469,8.154,12470,5.094,12471,5.332,12472,5.332,12473,5.332,12474,5.332,12475,5.332,12476,8.154,12477,5.094,12478,5.332]],["title/controllers/H5PEditorController.html",[314,2.658,13067,5.841]],["body/controllers/H5PEditorController.html",[0,0.1,3,0.006,4,0.006,5,0.009,7,0.041,8,0.563,27,0.451,29,0.879,30,0.001,31,0.664,32,0.169,33,0.527,34,0.833,35,1.328,36,1.033,47,0.631,55,1.647,59,1.513,95,0.125,100,1.013,101,0.004,103,0,104,0,135,1.569,141,2.089,148,1.155,153,1.561,158,4.056,172,3.137,189,1.783,190,2.015,193,4.637,195,1.066,202,0.666,274,1.213,277,0.419,314,1.111,316,1.4,317,2.95,325,6.709,326,4.565,333,4.955,337,4.534,339,1.848,342,3.181,349,7.119,365,4.437,374,1.255,379,5.26,388,3.527,390,2.874,391,6.348,392,1.517,393,1.433,395,1.561,398,1.572,400,0.864,401,1.623,402,3.554,467,2.395,569,0.903,652,1.286,657,2.368,756,1.927,871,4.27,876,1.507,1172,2.173,1194,6.474,1195,5.758,1208,2.546,1215,4.948,1228,5.991,1250,6.474,1312,2.325,1351,3.272,1368,1.636,2232,1.764,2327,1.824,2392,3.137,2561,5.358,2667,2.902,2934,2.821,3193,2.084,3195,5.526,3197,2.173,3198,2.173,3221,1.497,3223,1.597,3390,4.851,3814,4.962,5202,3.946,5215,2.226,5773,3.571,6514,6.474,6528,5.064,7198,6.668,7199,4.486,7352,3.5,7527,7.063,7528,2.356,7529,2.932,7545,3.956,9894,3.737,11943,8.681,11955,5.527,12404,2.687,12405,2.687,12406,4.513,12407,7.216,12409,2.687,12410,2.687,12455,4.616,12470,4.616,12477,6.027,12488,7.088,12494,5.526,12495,5.526,12496,5.526,12499,7.088,12506,3.737,13067,4.098,13068,11.664,13069,2.902,13070,4.873,13071,6.299,13072,4.873,13073,7.379,13074,4.873,13075,4.873,13076,4.873,13077,4.873,13078,6.299,13079,6.299,13080,6.299,13081,4.873,13082,2.902,13083,2.902,13084,2.902,13085,2.902,13086,4.873,13087,2.902,13088,2.902,13089,4.873,13090,2.902,13091,2.902,13092,4.873,13093,2.902,13094,2.902,13095,4.873,13096,2.902,13097,2.902,13098,2.902,13099,2.902,13100,2.902,13101,6.474,13102,4.873,13103,2.902,13104,2.902,13105,2.902,13106,2.902,13107,2.902,13108,4.873,13109,2.902,13110,2.902,13111,2.902,13112,2.902,13113,2.902,13114,4.873,13115,4.873,13116,2.902,13117,2.902,13118,2.902,13119,2.902,13120,2.902,13121,2.902,13122,2.902,13123,4.873,13124,2.902,13125,2.902,13126,4.873,13127,4.873,13128,4.873,13129,2.687,13130,5.527,13131,2.546,13132,2.902,13133,2.902,13134,2.902,13135,2.902,13136,2.902,13137,2.084,13138,2.902,13139,2.902,13140,2.902,13141,7.379,13142,2.687,13143,2.902,13144,2.902,13145,2.902,13146,2.902,13147,2.902,13148,2.902,13149,2.902,13150,4.873,13151,2.902,13152,2.902,13153,2.902,13154,2.902,13155,6.299,13156,6.299,13157,2.902,13158,2.902,13159,2.902,13160,2.546,13161,2.902,13162,4.873,13163,2.902,13164,2.902,13165,2.902,13166,2.902,13167,2.902,13168,4.873,13169,2.902,13170,4.873,13171,4.873,13172,2.902,13173,4.873,13174,2.902,13175,2.902,13176,4.873,13177,2.902,13178,2.902,13179,2.902,13180,4.275,13181,2.902,13182,4.513,13183,2.902,13184,2.902,13185,2.902,13186,2.902,13187,2.902,13188,2.902,13189,2.902,13190,2.902,13191,4.873,13192,4.873,13193,4.873,13194,4.513,13195,4.513,13196,7.379,13197,4.873,13198,4.873,13199,2.902,13200,2.902,13201,4.873,13202,2.902,13203,2.902]],["title/classes/H5PEditorModelContentResponse.html",[0,0.24,12470,5.089]],["body/classes/H5PEditorModelContentResponse.html",[0,0.386,2,0.663,3,0.012,4,0.012,5,0.006,7,0.088,27,0.497,29,0.478,30,0.001,31,0.576,32,0.157,33,0.287,34,1.067,47,1.001,55,1.771,95,0.117,101,0.016,103,0,104,0,112,0.691,131,6.419,155,1.979,158,2.307,159,1.056,190,2.2,202,1.433,231,1.535,296,3.66,326,4.486,339,2.594,374,3.826,433,0.77,436,3.052,1195,5.828,1215,6.182,1240,3.679,1302,5.699,1304,3.548,1925,5.377,1926,5.94,2084,4.323,2163,2.884,2373,4.571,2392,3.919,2434,4.254,3037,2.993,3390,5.216,4159,4.189,5202,4.244,6523,8.23,6528,5.03,6537,4.399,6544,4.481,6573,3.548,6580,4.481,6581,4.481,6637,6.353,7197,5.496,7198,5.377,7199,5.377,7968,5.167,11597,6.532,11926,4.129,12450,7.706,12451,4.785,12452,6.784,12453,9.053,12454,7.882,12455,8.983,12456,7.882,12457,4.785,12458,4.785,12459,4.785,12460,4.785,12461,4.785,12462,4.785,12463,7.695,12464,6.236,12465,7.245,12466,4.785,12467,7.882,12468,4.323,12469,8.373,12470,6.481,12471,4.785,12472,4.785,12473,4.785,12474,4.785,12475,4.785,12476,7.695,12477,4.571,12478,4.785,13180,5.473,13204,6.239,13205,6.239,13206,6.239,13207,6.239,13208,6.239,13209,6.239,13210,6.239]],["title/classes/H5PEditorModelResponse.html",[0,0.24,12455,5.089]],["body/classes/H5PEditorModelResponse.html",[0,0.396,2,0.706,3,0.013,4,0.013,5,0.006,7,0.093,27,0.453,29,0.509,30,0.001,31,0.596,32,0.151,33,0.306,34,1.136,47,1.005,55,1.851,95,0.121,101,0.016,103,0,104,0,112,0.723,131,6.151,155,2.106,158,2.456,159,1.092,190,1.908,202,1.525,231,1.153,296,3.634,326,4.04,339,2.711,374,3.998,433,0.819,1195,5.964,1215,6.395,1240,3.917,1302,5.896,1304,3.776,1925,5.618,1926,6.206,2084,4.602,2163,3.07,2373,4.866,2392,2.533,2434,4.528,3037,3.186,3390,5.451,4159,4.46,5202,4.434,6523,8.165,6528,5.256,6537,4.682,6544,4.77,6573,3.776,6580,4.77,6581,4.77,6637,6.638,7197,5.743,7198,5.618,7199,5.618,7968,5.399,11597,5.399,11926,4.395,12450,7.886,12451,5.094,12452,7.088,12453,9.266,12454,8.153,12455,7.789,12456,8.153,12457,5.094,12458,5.094,12459,5.094,12460,5.094,12461,5.094,12462,5.094,12463,7.96,12464,6.516,12465,7.495,12466,5.094,12467,8.153,12468,4.602,12469,6.921,12470,4.866,12471,5.094,12472,5.094,12473,5.094,12474,5.094,12475,5.094,12476,7.96,12477,4.866,12478,5.094,13180,5.827,13211,6.641,13212,6.641,13213,6.641,13214,6.641]],["title/modules/H5PEditorModule.html",[252,1.835,13215,5.841]],["body/modules/H5PEditorModule.html",[0,0.193,3,0.011,4,0.011,5,0.005,30,0.001,32,0.07,47,0.397,87,2.817,95,0.16,96,2.168,101,0.007,103,0,104,0,135,1.39,153,0.924,195,1.226,205,1.144,206,1.827,224,1.635,252,2.556,254,2.018,255,2.137,256,2.192,257,2.184,258,2.176,259,3.869,260,3.601,269,3.202,270,2.152,271,2.107,274,4.043,276,3.784,277,0.809,290,1.325,347,2.871,478,1.569,540,2.875,561,2.515,571,2.216,610,2.208,623,5.344,651,2.835,736,4.066,809,3.658,1011,8.06,1014,3.883,1015,3.82,1017,6.704,1021,3.61,1022,5.673,1023,5.772,1024,5.673,1025,3.61,1026,3.522,1027,1.721,1036,5.88,1040,3.883,1041,3.82,1086,2.673,1087,2.59,1088,2.631,1089,2.8,1166,3.708,1167,3.443,1195,2.766,1215,3.371,1475,3.522,1484,7.938,1626,3.108,1829,2.382,1902,8.661,1925,3.406,2087,2.424,2449,4.941,2624,2.75,2815,2.242,2845,3.61,2935,2.97,3221,2.89,3858,7.345,3868,2.949,5042,2.853,6623,6.131,7344,7.616,9890,3.406,11407,3.443,11530,4.024,11592,6.279,11968,3.61,12129,4.297,12130,4.297,12276,8.129,12277,5.999,12278,5.999,12279,6.131,12281,4.297,12290,4.106,12291,4.106,12292,4.549,13051,9.94,13067,8.135,13130,10.371,13131,4.916,13215,12.163,13216,5.603,13217,5.603,13218,5.603,13219,5.603,13220,11.181,13221,11.181,13222,9.94,13223,9.597,13224,9.94,13225,5.189,13226,5.603,13227,5.603,13228,5.603,13229,6.279,13230,4.916,13231,7.183,13232,4.916,13233,7.581,13234,7.581,13235,7.581,13236,4.916,13237,4.916]],["title/modules/H5PEditorTestModule.html",[252,1.835,13238,6.432]],["body/modules/H5PEditorTestModule.html",[0,0.199,3,0.011,4,0.011,5,0.005,8,0.667,27,0.228,29,0.443,30,0.001,31,0.324,32,0.072,33,0.266,35,0.67,59,1.794,95,0.16,101,0.008,103,0,104,0,135,1.286,148,0.572,205,1.18,206,1.885,252,2.853,254,2.082,255,2.205,256,2.261,257,2.253,258,2.245,259,4.168,260,2.152,265,5.524,269,3.276,270,2.22,271,2.174,274,4.513,276,4.483,277,0.834,314,2.213,467,2.438,478,1.619,540,2.94,610,2.278,1016,6.265,1017,5.804,1027,1.776,1028,7.482,1029,7.696,1031,8.425,1034,4.434,1043,5.804,1045,5.467,1048,4.006,1195,4.135,1215,5.038,1480,9.413,1484,8.024,1902,8.756,2624,2.837,2815,2.313,3221,2.982,3390,4.939,3858,7.425,3868,3.043,5042,2.943,5170,4.076,6623,6.271,7344,7.699,9890,3.514,11407,3.552,11968,3.724,12129,4.434,12130,4.434,12276,8.231,12326,4.693,13051,10.049,13067,8.281,13130,10.484,13131,5.072,13215,10.049,13220,10.049,13221,10.049,13222,10.049,13223,9.702,13224,10.049,13225,7.755,13230,5.072,13231,7.347,13232,5.072,13233,7.755,13234,7.755,13235,7.755,13237,5.072,13238,13.505,13239,5.781,13240,5.781,13241,5.781,13242,5.781,13243,5.072,13244,5.781]],["title/classes/H5PErrorMapper.html",[0,0.24,13245,6.432]],["body/classes/H5PErrorMapper.html",[0,0.342,2,1.055,3,0.019,4,0.019,5,0.009,7,0.14,8,1.386,27,0.391,29,0.761,30,0.001,31,0.556,32,0.124,33,0.457,35,1.15,95,0.137,101,0.013,103,0.001,104,0.001,148,0.983,153,1.636,277,1.432,711,3.834,1080,3.421,1195,5.927,2098,7.432,2163,4.588,6573,5.643,13018,11.118,13245,11.118,13246,9.925,13247,12.006,13248,12.006,13249,13.413,13250,9.925,13251,9.925,13252,9.925]],["title/modules/H5PLibraryManagementModule.html",[252,1.835,13253,6.432]],["body/modules/H5PLibraryManagementModule.html",[0,0.277,3,0.015,4,0.015,5,0.007,30,0.001,95,0.158,101,0.011,103,0.001,104,0.001,135,1.529,252,3.092,254,2.889,255,3.059,256,3.137,257,3.126,258,3.114,259,4.516,260,3.908,269,4.107,270,3.081,271,3.017,274,4.388,276,4.578,277,1.158,610,3.161,651,4.058,1011,9.015,1021,5.168,1025,5.168,1026,5.042,1027,2.464,1195,3.96,2449,5.527,2815,3.209,3390,4.73,7344,8.518,8774,7.037,9890,4.876,11407,4.929,11597,6.133,11968,5.168,12276,9.256,13215,11.119,13230,7.037,13231,9.211,13237,7.037,13253,13.324,13254,8.021,13255,8.021,13256,8.021,13257,11.119,13258,8.021,13259,8.021,13260,7.428,13261,8.021]],["title/injectables/H5PLibraryManagementService.html",[589,0.929,13257,5.841]],["body/injectables/H5PLibraryManagementService.html",[0,0.15,3,0.008,4,0.008,5,0.004,7,0.061,8,0.78,27,0.488,29,0.717,30,0.001,31,0.568,32,0.154,33,0.43,34,0.743,35,1.174,36,2.273,47,0.843,74,3.331,95,0.139,101,0.009,103,0,104,0,112,0.528,125,2.557,135,1.684,142,1.584,145,3.096,148,1.003,153,1.96,158,2.497,159,0.446,185,3.848,195,1.813,197,1.878,228,1.504,277,0.627,290,2.211,317,2.581,412,1.922,433,0.833,527,1.838,543,2.107,569,2.102,579,1.952,589,0.903,591,1.035,634,6.48,651,2.197,652,2.482,657,2.725,702,2.144,711,3.532,756,2.672,810,3.182,1195,6.208,1215,2.612,1312,2.072,1563,2.798,1619,2.668,1675,2.612,1819,3.81,1928,4.949,1938,2.336,2163,2.007,2332,2.428,2357,2.469,2392,1.656,2566,3.526,2568,2.916,2935,2.302,3390,3.983,5168,3.526,5246,5.878,6528,4.714,6573,5.318,6574,3.182,7673,3.062,8776,3.526,8787,3.81,8789,4.022,11597,8.097,11612,6.376,11991,3.331,12019,3.652,12020,3.652,12033,3.331,13007,3.652,13029,7.592,13033,3.652,13034,3.652,13035,3.652,13220,9.415,13221,9.415,13257,5.68,13262,11.032,13263,9.933,13264,7.676,13265,9.933,13266,10.368,13267,7.676,13268,6.755,13269,8.66,13270,6.755,13271,7.676,13272,4.343,13273,6.255,13274,6.255,13275,8.66,13276,4.343,13277,4.343,13278,6.255,13279,4.343,13280,4.343,13281,4.343,13282,4.343,13283,7.676,13284,8.66,13285,4.343,13286,6.255,13287,7.676,13288,4.343,13289,4.343,13290,8.66,13291,4.022,13292,7.676,13293,4.022,13294,4.022,13295,4.022,13296,3.81,13297,4.022,13298,3.652,13299,4.022,13300,4.022,13301,4.022,13302,4.022,13303,4.022,13304,8.204,13305,6.255,13306,6.255,13307,6.255,13308,4.022,13309,4.022,13310,6.255,13311,4.022,13312,6.255,13313,4.022,13314,4.022,13315,4.022,13316,6.255,13317,4.022,13318,4.022,13319,4.022,13320,4.022,13321,4.022,13322,4.022,13323,4.022,13324,4.022,13325,4.022,13326,4.022,13327,6.255,13328,4.022,13329,6.255,13330,6.255,13331,4.022,13332,4.022,13333,3.81,13334,5.926,13335,4.022,13336,4.022,13337,4.022,13338,4.022,13339,4.022,13340,6.255,13341,6.255,13342,3.652,13343,4.022,13344,4.022,13345,4.022,13346,4.022,13347,4.022,13348,6.255,13349,4.022,13350,4.022,13351,4.022]],["title/classes/H5PSaveResponse.html",[0,0.24,12477,5.089]],["body/classes/H5PSaveResponse.html",[0,0.398,2,0.714,3,0.013,4,0.013,5,0.006,7,0.094,27,0.421,29,0.515,30,0.001,31,0.6,32,0.144,33,0.309,34,1.594,47,1.01,55,1.866,95,0.122,101,0.016,103,0,104,0,112,0.728,131,6.784,155,2.131,158,2.484,159,1.099,190,1.672,202,1.543,231,1.166,296,3.591,326,4.065,339,2.733,374,4.03,433,0.829,866,3.337,1195,5.702,1215,6.434,1240,6.308,1302,5.932,1304,3.821,1925,5.664,1926,6.257,2084,4.656,2163,3.106,2373,4.923,2392,2.563,2434,6.353,3037,3.224,3390,5.495,4159,4.512,5202,4.47,6523,8.567,6528,5.298,6537,4.737,6544,4.826,6573,3.821,6580,4.826,6581,4.826,6637,6.692,7197,5.789,7198,5.664,7199,5.664,7968,5.443,11597,5.443,11926,4.447,12450,7.54,12451,5.153,12452,7.146,12453,8.203,12454,7.146,12455,6.827,12456,7.146,12457,5.153,12458,5.153,12459,5.153,12460,5.153,12461,5.153,12462,5.153,12463,5.031,12464,6.569,12465,4.737,12466,5.153,12467,5.153,12468,4.656,12469,6.977,12470,4.923,12471,5.153,12472,5.153,12473,5.153,12474,5.153,12475,5.153,12476,9.085,12477,6.827,12478,5.153,13352,6.719,13353,6.719,13354,6.719]],["title/classes/H5PTemporaryFileFactory.html",[0,0.24,13355,6.432]],["body/classes/H5PTemporaryFileFactory.html",[0,0.165,2,0.508,3,0.009,4,0.009,5,0.007,7,0.067,8,0.84,27,0.518,29,1.008,30,0.001,31,0.699,32,0.167,33,0.574,34,1.506,35,1.418,47,0.516,55,2.321,59,3.286,95,0.101,101,0.006,103,0,104,0,112,0.569,113,4.443,127,4.916,129,3.574,130,3.266,135,1.382,146,3.261,148,0.72,153,1.622,157,2.026,172,3.092,185,2.5,192,2.631,205,2.161,206,2.372,210,5.672,228,1.32,231,1.263,290,1.131,326,4.82,357,5.579,374,3.147,433,0.59,436,3.865,467,2.118,501,7.246,502,5.457,505,4.035,506,5.457,507,5.388,508,4.035,509,4.035,510,4.035,511,3.972,512,4.482,513,4.883,514,6.629,515,5.779,516,7.033,517,2.674,522,2.652,523,4.035,524,2.674,525,5.143,526,5.291,527,4.164,528,4.977,529,4.003,530,2.652,531,2.5,532,4.136,533,2.553,534,2.5,535,2.652,536,2.674,537,4.807,538,2.652,539,7.132,540,4.193,541,6.624,542,2.674,543,4.272,544,2.652,545,2.674,546,2.652,547,2.674,548,2.652,549,2.971,550,2.794,551,2.652,552,6.086,553,2.674,554,2.652,555,4.035,556,3.68,557,4.035,558,2.674,559,2.572,560,2.535,561,2.146,562,2.652,563,2.652,564,2.652,565,2.674,566,2.674,567,1.818,568,2.652,569,1.488,570,2.674,571,2.877,572,2.652,573,2.674,575,2.743,576,2.82,577,2.848,870,2.611,1743,3.435,2505,2.971,2892,3.767,5228,3.006,7652,9.802,7653,3.435,7654,5.041,7655,7.987,8833,4.429,11576,6.752,11812,6.382,13005,6.737,13007,4.022,13008,4.429,13229,3.668,13355,8.153,13356,4.782,13357,9.839,13358,4.782,13359,4.022,13360,4.022,13361,4.022,13362,4.782,13363,4.782,13364,4.022,13365,4.782]],["title/entities/H5pEditorTempFile.html",[205,1.418,13229,5.327]],["body/entities/H5pEditorTempFile.html",[0,0.258,3,0.014,4,0.014,5,0.011,7,0.105,27,0.496,30,0.001,31,0.561,32,0.157,47,0.919,55,2.263,83,3.773,95,0.129,96,1.978,101,0.013,103,0,104,0,112,0.783,159,0.767,190,2.259,205,2.045,206,2.435,210,8.349,223,4.311,224,2.18,225,3.847,229,2.954,231,1.296,233,2.331,248,5.593,414,5.066,433,0.922,478,2.091,870,7.075,1195,6.398,1215,4.493,1237,2.202,2163,3.453,2561,6.024,3390,7.806,5228,8.146,6521,10.521,6573,4.247,7129,4.812,11575,7.888,11576,9.939,11590,5.883,12006,6.553,12025,7.681,13229,7.681,13359,8.422,13364,10.898,13366,6.917,13367,7.469,13368,7.469,13369,7.469,13370,8.786,13371,9.274,13372,9.274,13373,7.469,13374,7.469,13375,8.786,13376,6.917,13377,6.917]],["title/classes/H5pFileDto.html",[0,0.24,12505,5.639]],["body/classes/H5pFileDto.html",[0,0.291,2,0.897,3,0.016,4,0.016,5,0.012,7,0.119,27,0.499,29,0.647,30,0.001,31,0.734,32,0.158,33,0.388,47,0.989,55,2.536,95,0.124,101,0.016,103,0.001,104,0.001,112,0.849,159,1.115,339,3.842,433,1.042,876,4.384,881,4.609,1195,6.466,1237,3.2,1302,7.264,1304,4.801,1444,6.653,2183,3.327,2327,5.307,2815,3.378,6528,6.172,7107,7.1,7137,5.757,7197,5.246,7198,6.598,7199,6.598,11402,9.127,11407,5.188,11408,7.1,11409,6.65,11410,6.854,12450,8.55,12468,5.851,12505,10.634,12506,6.475,13378,8.443,13379,8.443,13380,8.443,13381,8.443]],["title/interfaces/HtmlMailContent.html",[159,0.713,1453,5.201]],["body/interfaces/HtmlMailContent.html",[3,0.017,4,0.017,5,0.008,7,0.125,30,0.001,31,0.497,32,0.14,33,0.515,47,1.036,77,5.716,101,0.012,103,0.001,104,0.001,112,0.876,159,1.416,161,2.106,231,2.308,1240,5.232,1439,8.388,1440,6.804,1441,9.193,1442,8.591,1443,6.804,1444,4.92,1445,8.388,1446,6.501,1447,6.501,1448,9.657,1449,6.804,1450,8.388,1451,10.199,1452,10.199,1453,9.193,1454,6.883,1455,6.643,1456,6.643,1457,6.804,1458,6.804]],["title/classes/HydraOauthFailedLoggableException.html",[0,0.24,13382,6.432]],["body/classes/HydraOauthFailedLoggableException.html",[0,0.33,2,1.017,3,0.018,4,0.018,5,0.009,7,0.135,8,1.356,27,0.463,29,0.734,30,0.001,31,0.536,32,0.119,33,0.44,35,1.109,95,0.134,101,0.013,103,0.001,104,0.001,162,8.137,231,2.038,433,1.181,436,2.842,644,7.138,1080,3.299,1422,4.809,1423,4.517,1426,5.701,1462,5.265,1465,6.632,1468,4.517,1469,4.753,1470,6.566,2081,11.139,2083,6.333,2095,11.139,9816,10.302,13382,10.874,13383,11.743,13384,8.862,13385,8.862,13386,8.862,13387,9.57]],["title/injectables/HydraOauthUc.html",[589,0.929,13388,5.841]],["body/injectables/HydraOauthUc.html",[0,0.19,3,0.01,4,0.01,5,0.005,7,0.078,8,0.935,27,0.463,29,0.81,30,0.001,31,0.592,32,0.14,33,0.486,35,1.111,36,2.491,47,0.981,55,1.92,56,2.605,59,2.513,95,0.145,100,2.825,101,0.007,103,0,104,0,112,0.633,113,3.822,122,1.151,129,2.423,130,2.214,135,1.587,145,3.024,148,0.95,153,1.581,159,0.567,195,1.207,228,2.041,277,0.797,317,2.759,333,3.706,402,3.431,433,0.999,478,1.545,571,2.183,579,2.34,589,1.083,591,1.316,610,2.175,652,2.596,657,2.856,758,5.611,837,2.724,871,2.964,998,5.309,1027,1.695,1080,3.641,1086,2.633,1087,2.551,1088,2.591,1169,3.194,1312,2.633,1422,2.26,1459,4.641,1585,6.838,1886,7.785,2083,3.652,2113,8.079,2449,4.008,2450,4.959,2833,4.48,4298,6.573,7053,4.841,7054,4.841,8058,7.587,10358,5.11,11438,4.641,13388,6.808,13389,12.15,13390,5.519,13391,9.589,13392,10.563,13393,8.096,13394,9.589,13395,8.096,13396,5.11,13397,9.261,13398,10.217,13399,5.519,13400,8.096,13401,5.519,13402,5.519,13403,5.519,13404,10.563,13405,8.096,13406,5.519,13407,5.519,13408,5.519,13409,6.808,13410,5.11,13411,6.645,13412,6.063,13413,5.519,13414,5.519,13415,9.782,13416,8.096,13417,7.497,13418,5.519,13419,5.519,13420,5.519,13421,8.096,13422,8.064,13423,5.519,13424,5.519,13425,5.519,13426,5.519,13427,5.519,13428,8.096,13429,5.11,13430,4.841,13431,4.641,13432,5.519,13433,5.519,13434,5.519,13435,5.519,13436,5.519,13437,8.096,13438,5.519,13439,5.519]],["title/classes/HydraRedirectDto.html",[0,0.24,13409,5.841]],["body/classes/HydraRedirectDto.html",[0,0.307,2,0.947,3,0.017,4,0.017,5,0.008,7,0.125,27,0.535,29,0.683,30,0.001,31,0.5,32,0.17,33,0.41,47,0.796,55,2.25,95,0.128,101,0.012,103,0.001,104,0.001,112,0.878,232,3.043,433,1.1,435,3.026,871,4.503,1104,7.235,2083,5.898,2113,8.836,4298,9.988,7051,10.345,13409,11.197,13422,10.345,13429,11.392,13430,10.793,13431,10.345,13440,8.911,13441,8.911,13442,8.911,13443,8.911,13444,8.911,13445,8.911,13446,8.911,13447,8.252,13448,8.911,13449,8.911,13450,8.911,13451,8.911,13452,8.911,13453,8.911,13454,8.911,13455,8.911,13456,8.911]],["title/injectables/HydraSsoService.html",[589,0.929,13398,5.841]],["body/injectables/HydraSsoService.html",[0,0.157,3,0.009,4,0.009,5,0.004,7,0.064,8,0.807,27,0.448,29,0.837,30,0.001,31,0.612,32,0.142,33,0.502,35,1.198,36,2.607,47,0.969,95,0.151,100,1.584,101,0.006,103,0,104,0,110,1.569,112,0.546,113,3.397,125,1.082,129,1.359,130,1.241,135,1.716,148,1.024,153,1.578,228,2.065,277,0.655,279,1.905,289,2.627,317,2.615,347,2.326,365,2.027,414,2.296,433,0.862,478,1.271,569,1.413,579,1.312,589,0.935,591,1.082,619,3.26,652,2.512,657,1.602,688,2.142,756,1.795,998,2.142,1027,1.394,1053,7.758,1054,2.559,1056,2.924,1282,6.714,1312,2.166,1495,3.26,1498,3.982,1566,3.982,1593,2.789,1622,3.26,1675,2.731,1886,3.685,1925,2.759,2083,3.004,2113,3.26,2218,2.027,2219,2.282,2220,2.202,2229,3.326,2381,3.575,2382,5.361,2411,4.203,2416,3.982,2449,3.563,2450,4.495,2684,2.266,4228,2.652,4298,9.237,4949,3.326,5037,7.015,5042,2.311,5171,3.399,5172,7.015,5174,3.2,5189,4.203,5191,6.091,5193,3.685,5550,7.478,6244,2.863,6325,2.282,7051,10.133,7053,6.132,7054,6.132,7527,6.337,8053,5.234,8058,3.26,8110,4.928,8206,2.731,10340,3.004,13398,5.878,13409,8.694,13410,4.203,13411,7.165,13415,6.473,13422,9.878,13430,3.982,13431,9.183,13447,4.203,13457,4.539,13458,6.99,13459,6.99,13460,6.99,13461,6.99,13462,4.539,13463,7.478,13464,4.539,13465,6.99,13466,6.99,13467,4.539,13468,6.99,13469,4.539,13470,6.99,13471,4.539,13472,2.853,13473,6.99,13474,4.539,13475,4.539,13476,6.99,13477,4.539,13478,4.539,13479,4.539,13480,3.481,13481,6.132,13482,3.817,13483,4.539,13484,4.539,13485,3.399,13486,3.399,13487,3.326,13488,3.399,13489,4.539,13490,4.539,13491,4.539,13492,4.539,13493,6.99,13494,4.539,13495,4.539,13496,4.539,13497,4.539,13498,6.99,13499,4.539,13500,4.539,13501,3.817,13502,4.539,13503,4.539,13504,8.051,13505,4.539,13506,4.539,13507,4.539,13508,6.99,13509,4.539,13510,4.539,13511,4.539,13512,6.99,13513,4.539,13514,4.539,13515,4.539,13516,4.539,13517,4.539,13518,4.539,13519,4.539,13520,4.539,13521,4.539,13522,4.539,13523,4.539,13524,4.539,13525,4.539,13526,6.99,13527,4.539,13528,4.539,13529,4.539,13530,6.99,13531,4.539,13532,3.048,13533,4.539,13534,4.539,13535,2.963,13536,3.817,13537,3.048,13538,4.539,13539,4.539,13540,3.048,13541,4.539,13542,4.539,13543,2.789,13544,4.539,13545,4.539,13546,3.575,13547,3.004,13548,4.539,13549,4.539,13550,4.539]],["title/interfaces/IBbbSettings.html",[159,0.713,2336,5.639]],["body/interfaces/IBbbSettings.html",[3,0.019,4,0.019,5,0.009,7,0.142,30,0.001,32,0.162,47,1.02,101,0.016,103,0.001,104,0.001,112,0.949,135,1.319,159,1.037,161,2.398,1282,10.627,2137,5.316,2333,10.953,2334,11.836,2336,9.85,2339,8.86,13551,10.099,13552,8.86,13553,10.099]],["title/interfaces/ICommonCartridgeFileBuilder.html",[159,0.713,5804,5.639]],["body/interfaces/ICommonCartridgeFileBuilder.html",[0,0.295,3,0.011,4,0.011,5,0.011,7,0.084,8,0.987,27,0.394,29,0.656,30,0.001,31,0.479,32,0.125,33,0.394,35,1.16,36,2.121,47,0.776,95,0.142,101,0.014,103,0,104,0,135,1.576,148,1.195,153,2.168,155,2.713,159,0.879,161,1.413,228,2.309,317,1.292,400,1.772,433,0.734,435,3.4,507,5.106,540,2.09,652,2.539,1211,3.835,1237,2.521,1396,5.51,1835,4.383,2048,4.068,2202,6.535,3485,5.51,5688,7.144,5689,7.144,5692,6.626,5693,8.145,5709,4.688,5710,4.411,5711,5.927,5721,9.537,5732,6.772,5737,6.737,5739,6.737,5747,6.944,5751,7.051,5753,4.832,5762,5.832,5803,5.005,5804,9.799,5805,7.886,5806,6.56,5807,7.193,5808,7.921,5809,7.921,5811,7.193,5815,8.419,5817,8.419,5818,9.799,5820,10.095,5821,8.419,5824,4.832,5825,4.832,5826,4.565,5827,4.058,5828,4.275,5829,6.737,5830,6.944,5831,4.688,5832,4.688,5833,6.143,5834,7.193,5835,4.832,5836,5.005,5837,5.005,5838,5.005,5839,9.204,5840,5.005,5841,7.193,5842,5.005,5843,5.005,5844,7.193,5845,5.005,5846,5.005,5847,5.005,5848,5.005,5849,5.005,5850,5.005,5851,5.005,5852,5.005,5853,5.005,5854,5.005,5855,5.005,5856,4.832,5857,5.005,5858,5.005,5859,5.005,5860,5.005,5861,5.005,5862,5.005,5863,5.005,5864,5.005,13554,5.952,13555,5.952,13556,5.952]],["title/interfaces/ICommonCartridgeOrganizationBuilder.html",[159,0.713,5820,5.639]],["body/interfaces/ICommonCartridgeOrganizationBuilder.html",[0,0.305,3,0.012,4,0.012,5,0.009,7,0.088,8,1.022,27,0.246,29,0.479,30,0.001,31,0.35,32,0.11,33,0.288,35,0.724,36,1.876,47,0.793,95,0.144,101,0.015,103,0,104,0,135,1.602,148,1.215,153,2.191,155,2.809,159,0.91,161,1.484,228,2.339,317,1.356,400,1.861,433,0.771,435,3.007,507,3.9,540,2.194,652,2.575,1211,4.026,1237,2.61,1396,5.705,1835,4.537,2048,4.179,2202,6.714,3485,5.705,5688,5.78,5689,5.78,5692,6.807,5693,7.929,5709,4.922,5710,4.567,5711,6.136,5721,9.674,5732,6.9,5737,6.975,5739,6.975,5747,7.189,5751,7.208,5753,5.073,5762,6.038,5803,5.255,5804,9.084,5805,8.101,5806,6.791,5807,7.446,5811,7.446,5815,8.649,5817,7.446,5818,9.084,5820,10.462,5821,7.446,5824,5.073,5825,5.073,5826,4.792,5827,4.26,5828,4.488,5829,6.975,5830,7.189,5831,4.922,5832,4.922,5833,6.36,5834,8.649,5835,5.073,5836,5.255,5837,5.255,5838,5.255,5839,9.409,5840,5.255,5841,7.446,5842,5.255,5843,5.255,5844,7.446,5845,5.255,5846,5.255,5847,5.255,5848,5.255,5849,5.255,5850,5.255,5851,5.255,5852,5.255,5853,5.255,5854,5.255,5855,5.255,5856,5.073,5857,5.255,5858,5.255,5859,5.255,5860,5.255,5861,5.255,5862,5.255,5863,5.255,5864,5.255,5967,8.2,13557,6.249]],["title/interfaces/ICurrentUser.html",[159,0.713,325,3.45]],["body/interfaces/ICurrentUser.html",[3,0.015,4,0.015,5,0.007,7,0.108,26,2.998,30,0.001,32,0.166,33,0.561,34,2.087,39,3.376,48,5.988,85,8.192,94,5.156,95,0.088,99,1.572,101,0.01,103,0,104,0,112,0.797,122,2.724,159,0.788,161,1.821,180,4.351,195,2.856,290,3.321,325,5.062,331,4.51,358,8.275,413,6.196,614,3.767,615,6.196,1092,6.844,1470,5.699,2542,7.186,2561,6.132,2818,6.746,3382,5.86,3394,4.664,3400,6.251,4557,4.57,5761,6.653,7945,10.259,7946,8.942,8026,11.298,13558,7.669,13559,10.193,13560,6.746]],["title/interfaces/IDashboardRepo.html",[159,0.713,8669,5.841]],["body/interfaces/IDashboardRepo.html",[0,0.33,3,0.013,4,0.013,5,0.006,7,0.098,8,1.104,9,3.241,26,2.802,27,0.43,29,0.837,30,0.001,31,0.612,32,0.136,33,0.502,34,1.635,35,1.264,36,2.88,39,3.247,49,2.624,95,0.14,96,1.847,97,2.857,99,1.43,101,0.013,103,0,104,0,113,2.78,135,1.754,148,1.258,153,1.15,159,0.717,161,1.656,205,1.424,228,1.735,277,1.007,290,1.649,317,2.547,478,1.953,561,3.131,589,1.279,657,2.981,675,3.551,728,4.038,1237,2.056,1829,2.965,2448,5.346,2490,4.834,3613,4.075,7740,4.834,8289,8.182,8321,9.305,8357,7.333,8485,5.224,8565,7.531,8587,8.388,8646,6.12,8650,5.495,8651,6.46,8652,8.854,8653,8.388,8654,8.854,8656,10.102,8658,9.571,8660,6.46,8662,10.102,8664,6.46,8665,6.46,8666,8.854,8667,6.46,8668,6.12,8669,9.174,8670,5.224,8671,8.854,8672,6.46,8673,8.854,8674,6.46,8675,10.102,8676,6.46,8677,8.854,8678,6.46,8679,6.46,13561,6.976,13562,6.976,13563,6.976]],["title/interfaces/IEntity.html",[159,0.713,2548,5.471]],["body/interfaces/IEntity.html",[3,0.018,4,0.018,5,0.009,7,0.137,30,0.001,32,0.148,34,2.279,47,0.907,49,5.011,83,3.454,95,0.135,96,2.577,97,3.986,101,0.017,103,0.001,104,0.001,112,0.927,159,1.315,161,2.311,231,2.059,430,4.002,431,4.173,692,5.6,703,3.021,789,7.274,2548,10.495,7436,5.98,9807,8.538,9808,6.862,9809,8.184]],["title/interfaces/IEntityWithTimestamps.html",[159,0.713,9809,5.841]],["body/interfaces/IEntityWithTimestamps.html",[3,0.018,4,0.018,5,0.009,7,0.136,30,0.001,32,0.147,34,1.656,47,0.687,49,4.449,83,4.04,95,0.135,96,2.564,97,3.967,101,0.017,103,0.001,104,0.001,112,0.925,159,1.312,161,2.3,231,2.217,430,5.47,431,5.703,692,5.583,703,3.006,789,5.288,2548,10.477,7436,5.951,9807,8.497,9808,6.828,9809,9.947]],["title/interfaces/IError.html",[159,0.713,9887,5.639]],["body/interfaces/IError.html",[3,0.019,4,0.019,5,0.009,7,0.142,30,0.001,32,0.151,33,0.558,47,0.922,55,2.605,101,0.016,103,0.001,104,0.001,112,0.949,159,1.246,161,2.398,231,2.106,402,4.827,532,3.747,1080,4.483,1115,5.282,9887,10.559,12216,7.563,13564,8.86,13565,9.352]],["title/interfaces/IFindOptions.html",[159,0.713,7811,4.268]],["body/interfaces/IFindOptions.html",[3,0.019,4,0.019,5,0.009,7,0.137,30,0.001,32,0.16,33,0.614,55,2.379,56,4.605,70,4.967,101,0.017,103,0.001,104,0.001,112,0.929,127,4.875,159,1.22,161,2.316,770,6.132,886,3.069,2231,7.583,3945,9.992,5308,9.646,7525,8.544,7811,7.301,10742,10.503,13566,9.034,13567,9.034]],["title/interfaces/IGridElement.html",[159,0.713,8354,5.841]],["body/interfaces/IGridElement.html",[0,0.196,3,0.007,4,0.007,5,0.003,7,0.128,8,0.655,26,2.4,27,0.404,29,0.633,30,0.001,31,0.463,32,0.145,33,0.38,34,1.666,35,1.19,39,1.569,47,0.88,55,2.515,83,1.015,95,0.082,99,0.715,101,0.014,103,0,104,0,112,0.443,122,2.032,125,1.969,130,1.551,135,1.765,141,3.542,145,3.085,146,2.377,148,1.338,153,1.764,155,3.257,159,0.358,161,0.828,232,0.945,242,2.985,243,2.192,277,0.503,435,1.184,458,3.636,459,2.985,467,2.405,527,3.496,569,3.814,579,2.072,595,1.316,652,2.424,756,2.836,896,1.95,1065,4.461,1170,5.192,1237,1.028,1660,5.369,1675,3.412,1842,3.761,2048,4.621,2434,2.377,2782,3.097,2893,6.989,2934,2.018,2935,1.848,2976,2.416,3037,3.963,3057,4.853,3527,2.611,3724,2.458,3874,8.743,3900,3.654,3993,7.643,4063,3.565,7287,2.932,7394,2.377,7437,4.156,7509,3.93,7740,5.724,8298,5.546,8321,2.555,8322,3.059,8324,3.059,8327,3.059,8328,2.932,8329,8.192,8331,2.746,8338,4.976,8344,3.059,8348,3.059,8351,3.059,8352,8.192,8354,9.565,8357,6.335,8359,3.059,8360,7.643,8363,3.059,8365,3.059,8367,3.059,8369,3.059,8371,3.059,8373,3.059,8376,3.059,8378,4.976,8379,2.611,8380,7.974,8381,7.246,8382,4.976,8383,7.974,8384,6.29,8385,4.976,8386,7.974,8387,4.976,8388,6.29,8389,3.059,8390,4.247,8391,9.351,8392,3.059,8393,4.976,8394,3.059,8395,4.976,8396,3.059,8397,4.976,8398,3.059,8399,3.059,8400,3.059,8401,3.059,8402,3.059,8403,4.976,8404,3.059,8405,4.976,8406,2.932,8407,4.976,8408,3.059,8409,4.976,8410,3.059,8411,3.059,8412,3.059,8413,4.976,8414,2.831,8415,3.059,8416,4.976,8417,3.059,8418,2.674,8419,3.059,8420,3.059,8421,3.059,8422,3.059,8423,3.059,8424,3.059,8425,3.059,8426,3.059,8427,3.059,8428,4.976,8429,4.976,8430,2.932,8431,6.29,8432,3.059,8433,4.976,8434,3.059,8435,3.059,8436,3.059,8437,3.059,8438,3.059,8439,3.059,8440,3.059,8441,3.059,8442,3.059,8443,3.059,8444,3.059,8445,3.059,8446,3.059,8447,3.059,8448,3.059,8449,3.059,8450,3.059,8451,3.059,8452,3.059,8453,3.059,8454,3.059,8455,3.059,8456,3.059,8457,4.976,8458,3.059,8459,3.059,8460,3.059,8461,4.976,8462,4.976,8463,3.059,8464,3.059,8465,3.059,8466,3.059,8467,3.059,8468,3.059,8469,3.059,8470,6.29,8471,3.059,8472,3.059,12602,5.252,12607,5.252,12608,5.252,12609,5.252,12616,3.229,13568,3.487,13569,3.487,13570,3.487,13571,3.487,13572,3.487,13573,3.487,13574,3.487]],["title/interfaces/IH5PLibraryManagementConfig.html",[159,0.713,13298,5.841]],["body/interfaces/IH5PLibraryManagementConfig.html",[3,0.019,4,0.019,5,0.009,7,0.141,30,0.001,32,0.125,47,0.954,95,0.114,101,0.017,103,0.001,104,0.001,112,0.944,135,1.577,159,1.03,161,2.38,1195,4.949,2087,5.225,2218,4.477,2219,5.039,2220,4.863,2221,6.301,11597,7.056,13260,9.282,13262,8.794,13298,10.902,13575,9.282,13576,13.772,13577,10.024]],["title/interfaces/IImportUserScope.html",[159,0.713,13578,5.639]],["body/interfaces/IImportUserScope.html",[2,1.346,3,0.016,4,0.016,5,0.008,7,0.119,30,0.001,31,0.473,32,0.172,33,0.661,47,1.015,95,0.096,101,0.016,103,0.001,104,0.001,112,0.849,122,2.502,159,1.115,161,2.005,301,8.157,331,5.603,415,4.801,700,6.319,701,6.319,886,2.656,1582,7.796,2009,7.183,4672,5.079,5376,6.064,7440,4.76,12331,8.927,12332,8.774,12349,5.188,13578,8.812,13579,7.818,13580,10.648,13581,9.973,13582,7.818,13583,6.854]],["title/interfaces/IKeycloakConfigurationInputFiles.html",[159,0.713,13584,5.841]],["body/interfaces/IKeycloakConfigurationInputFiles.html",[3,0.019,4,0.019,5,0.009,7,0.144,30,0.001,32,0.153,47,0.997,101,0.016,103,0.001,104,0.001,112,0.957,135,1.339,159,1.053,161,2.435,2218,4.58,2357,5.831,4855,5.99,4856,6.371,13584,10.296,13585,10.254,13586,10.254,13587,12.557,13588,12.557,13589,8.996,13590,10.254]],["title/interfaces/IKeycloakSettings.html",[159,0.713,13591,5.841]],["body/interfaces/IKeycloakSettings.html",[3,0.018,4,0.018,5,0.009,7,0.135,30,0.001,32,0.173,47,1.027,51,4.602,87,5.912,101,0.015,103,0.001,104,0.001,112,0.919,135,1.253,159,0.985,161,2.278,172,4.999,2332,7.413,4855,5.604,4856,5.96,6325,6.839,8902,9.928,13535,6.262,13552,8.416,13591,9.889,13592,9.593,13593,11.149,13594,8.067,13595,9.593]],["title/interfaces/ILegacyLogger.html",[159,0.713,13596,6.094]],["body/interfaces/ILegacyLogger.html",[3,0.014,4,0.014,5,0.007,7,0.106,8,1.161,27,0.497,29,0.967,30,0.001,31,0.707,32,0.162,33,0.58,35,1.462,39,2.078,47,1.027,59,4.029,72,4.6,101,0.013,102,5.328,103,0,104,0,110,2.597,125,1.791,153,1.657,158,4.901,159,0.771,161,1.783,183,5.444,193,3.263,326,2.855,365,3.355,569,4.29,641,4.271,1042,6.653,1080,3.905,1115,4.827,1379,7.22,2449,4.202,4923,6.854,13596,8.819,13597,12.98,13598,7.511,13599,8.819,13600,8.819,13601,9.309,13602,7.511,13603,9.309,13604,10.492,13605,7.511,13606,9.309,13607,10.615,13608,7.511,13609,9.309,13610,7.511,13611,9.309,13612,7.511]],["title/interfaces/INewsScope.html",[159,0.713,7959,5.639]],["body/interfaces/INewsScope.html",[3,0.016,4,0.016,5,0.008,7,0.116,26,2.444,30,0.001,32,0.173,33,0.613,34,1.408,47,0.757,83,2.397,95,0.143,101,0.017,103,0.001,104,0.001,112,0.835,122,2.473,127,4.115,155,2.612,157,1.895,159,1.368,161,1.955,172,4.54,205,1.681,692,5.041,703,2.556,886,2.591,2032,4.505,2392,3.141,2478,5.176,2992,5.889,3933,9.37,4986,5.176,5427,4.724,7095,5.376,7759,6.167,7760,7.738,7762,6.563,7765,5.53,7768,6.425,7769,7.708,7950,6.686,7951,7.626,7952,7.626,7953,7.626,7954,7.626,7955,7.626,7956,5.53,7957,9.009,7958,6.925,7959,8.671,7960,10.183]],["title/interfaces/ITask.html",[159,0.713,13613,5.471]],["body/interfaces/ITask.html",[3,0.015,4,0.015,5,0.007,7,0.114,30,0.001,31,0.699,32,0.168,33,0.63,47,0.99,55,2.355,83,3.86,95,0.121,99,1.661,101,0.016,103,0.001,104,0.001,112,0.826,122,2.766,157,2.869,159,1.328,161,1.924,231,2.041,290,2.781,478,2.269,652,1.654,692,4.988,703,2.515,1936,3.804,2026,5.157,2032,4.47,2938,5.684,3140,4.766,3553,6.472,3557,6.429,4009,4.733,4062,8.137,4081,5.44,4085,5.524,4086,5.712,4087,5.362,4088,5.362,4089,5.819,4090,5.524,5720,6.494,6624,4.357,8844,5.362,13613,10.184,13614,6.578,13615,9.134,13616,6.067,13617,6.067,13618,5.819,13619,6.067,13620,5.937]],["title/interfaces/IToolFeatures.html",[159,0.713,10062,5.089]],["body/interfaces/IToolFeatures.html",[0,0.291,3,0.016,4,0.016,5,0.008,7,0.118,30,0.001,32,0.167,47,0.897,55,2.534,80,8.117,95,0.096,101,0.016,103,0.001,104,0.001,112,0.847,122,3.018,129,2.522,135,1.1,159,0.865,161,2,311,5.5,467,2.453,1756,4.833,1829,4.608,1940,7.076,2218,3.763,2219,4.236,2220,4.088,4228,4.922,6059,9.115,7626,6.813,8670,8.117,10062,8.781,10064,7.942,10326,11.484,10359,11.484,12361,7.642,13621,12.122,13622,12.122,13623,12.122,13624,12.122,13625,7.802,13626,7.085,13627,7.802,13628,7.802,13629,7.802,13630,7.802,13631,7.802,13632,7.802]],["title/interfaces/IVideoConferenceSettings.html",[159,0.713,13633,6.094]],["body/interfaces/IVideoConferenceSettings.html",[3,0.019,4,0.019,5,0.009,7,0.14,30,0.001,32,0.161,47,0.916,95,0.114,101,0.016,103,0.001,104,0.001,112,0.94,122,2.696,135,1.299,159,1.022,161,2.362,1268,8.248,2137,5.237,2153,8.354,2336,10.898,9473,5.657,13552,8.728,13633,10.549,13634,9.949,13635,12.431,13636,9.213,13637,9.949]],["title/classes/IdParams.html",[0,0.24,13638,6.094]],["body/classes/IdParams.html",[0,0.413,2,1.05,3,0.019,4,0.019,5,0.009,7,0.139,27,0.389,30,0.001,32,0.123,34,2.346,47,0.849,95,0.137,101,0.013,103,0.001,104,0.001,112,0.936,157,2.273,187,6.749,190,1.772,194,4.682,195,2.618,196,3.959,197,3.328,200,3.025,202,2.268,296,3.127,299,4.665,308,7.236,1470,6.693,2815,4.789,13638,10.502,13639,9.876,13640,9.876]],["title/interfaces/IdToken.html",[159,0.713,173,4.597]],["body/interfaces/IdToken.html",[3,0.017,4,0.017,5,0.008,7,0.129,30,0.001,31,0.731,32,0.171,33,0.656,39,3.609,47,1.037,101,0.015,103,0.001,104,0.001,112,0.893,159,1.174,161,2.174,173,7.562,175,7.699,187,5.162,702,6.439,4557,4.565,6556,9.195,6642,4.691,7397,7.549,12787,10.968,12788,8.478,12789,8.032]],["title/classes/IdTokenCreationLoggableException.html",[0,0.24,13641,6.094]],["body/classes/IdTokenCreationLoggableException.html",[0,0.3,2,0.925,3,0.017,4,0.017,5,0.008,7,0.122,8,1.277,27,0.436,29,0.667,30,0.001,31,0.488,32,0.138,33,0.4,34,1.488,35,1.008,39,3.543,47,0.958,59,2.7,95,0.126,101,0.011,103,0.001,104,0.001,135,1.136,148,0.861,176,6.477,187,6.859,228,2.008,231,1.92,233,2.715,242,4.579,277,1.256,339,2.551,347,4.457,400,2.59,433,1.073,652,1.776,1027,2.672,1115,4.656,1237,3.261,1312,5.804,1422,4.982,1426,5.746,1468,5.742,1477,4.517,1478,4.713,2684,2.821,3792,9.587,6322,8.055,6325,6.116,8698,6.672,13641,9.706,13642,12.166,13643,8.699,13644,8.699,13645,8.699,13646,8.699,13647,7.315,13648,8.055,13649,5.931]],["title/classes/IdTokenExtractionFailureLoggableException.html",[0,0.24,13650,5.841]],["body/classes/IdTokenExtractionFailureLoggableException.html",[0,0.307,2,0.945,3,0.017,4,0.017,5,0.008,7,0.125,8,1.295,27,0.442,29,0.682,30,0.001,31,0.498,32,0.14,33,0.409,35,1.03,47,0.871,95,0.128,101,0.012,103,0.001,104,0.001,148,0.88,176,5.675,228,1.614,231,1.947,233,2.775,339,2.608,400,2.648,433,1.097,436,2.641,644,5.405,1027,2.731,1080,3.065,1115,3.403,1422,5.033,1423,5.801,1426,5.792,1461,8.4,1462,4.892,1463,9.664,1465,6.162,1467,7.477,1468,5.801,1469,6.103,1470,4.972,1471,6.515,1472,4.972,1476,5.463,1477,4.617,1478,4.818,2924,5.681,6344,6.162,13650,9.433,13651,9.841,13652,11.218,13653,8.892,13654,8.234,13655,7.477,13656,8.892]],["title/classes/IdTokenInvalidLoggableException.html",[0,0.24,13657,6.094]],["body/classes/IdTokenInvalidLoggableException.html",[0,0.328,2,1.012,3,0.018,4,0.018,5,0.009,7,0.134,8,1.352,27,0.375,30,0.001,32,0.119,35,1.104,95,0.134,101,0.012,103,0.001,104,0.001,148,0.943,173,6.303,176,4.818,231,2.032,340,6.136,436,2.829,644,5.789,1027,2.925,1080,3.283,1115,3.645,1213,6.059,1422,4.795,1423,5.984,1426,5.935,1462,5.24,1463,9.903,1468,5.984,1469,6.296,1470,5.325,1471,6.979,1472,5.325,1476,5.852,1477,4.945,1478,5.16,13651,8.356,13654,8.82,13657,10.272,13658,9.524]],["title/injectables/IdTokenService.html",[589,0.929,13659,5.841]],["body/injectables/IdTokenService.html",[0,0.201,3,0.011,4,0.011,5,0.005,7,0.082,8,0.973,27,0.427,29,0.831,30,0.001,31,0.693,32,0.135,33,0.499,34,0.997,35,1.147,36,2.297,39,2.332,47,0.973,95,0.149,101,0.008,103,0,104,0,125,2.742,135,1.614,148,1.074,153,0.961,159,0.599,173,3.859,176,4.263,187,6.484,228,1.968,277,0.842,279,2.447,290,1.993,317,2.601,433,1.04,478,1.633,578,4.405,579,1.685,589,1.127,591,1.39,652,2.673,657,2.747,702,2.879,1470,3.26,1829,2.479,1853,1.907,1915,8.564,1940,3.806,2007,2.914,2684,2.733,2752,7.59,2762,4.185,3792,4.366,3868,3.069,4557,2.041,5021,5.116,5023,5.116,5041,4.472,5416,7.434,5435,4.734,6325,6.213,6556,6.978,6642,2.988,7397,5.728,7762,7.364,7956,6.645,8002,6.231,8110,5.942,8199,3.665,8670,4.366,10088,4.904,10500,5.781,11256,8.564,11344,4.593,12787,9.671,12789,5.116,13048,4.366,13641,5.116,13659,7.087,13660,10.649,13661,5.4,13662,8.428,13663,8.428,13664,8.428,13665,5.831,13666,9.731,13667,5.831,13668,8.428,13669,5.4,13670,8.428,13671,5.831,13672,8.428,13673,5.831,13674,5.831,13675,5.831,13676,5.831,13677,4.734,13678,5.116,13679,8.428,13680,5.4,13681,5.116,13682,5.831,13683,5.831,13684,5.831,13685,5.831,13686,8.428,13687,5.831,13688,5.831,13689,5.831,13690,5.831,13691,5.831,13692,7.804]],["title/classes/IdTokenUserNotFoundLoggableException.html",[0,0.24,13693,6.094]],["body/classes/IdTokenUserNotFoundLoggableException.html",[0,0.297,2,0.917,3,0.016,4,0.016,5,0.008,7,0.121,8,1.27,27,0.433,29,0.661,30,0.001,31,0.483,32,0.137,33,0.397,34,1.475,35,0.999,47,0.956,59,2.677,95,0.126,101,0.011,103,0.001,104,0.001,148,0.854,176,6.13,228,1.997,231,1.91,233,2.691,290,2.865,339,2.53,347,5.638,400,2.568,433,1.064,436,2.562,620,7.93,644,5.242,652,1.761,1027,2.649,1080,2.973,1115,3.301,1422,4.962,1423,5.719,1426,5.727,1462,4.745,1463,9.557,1465,5.976,1467,7.252,1468,5.719,1469,6.018,1470,4.822,1471,6.319,1472,4.822,1476,5.299,1477,4.478,1478,4.673,5106,4.638,13651,9.653,13693,9.653,13694,8.624,13695,11.819,13696,8.624,13697,8.624,13698,8.624]],["title/interfaces/IdentityManagementConfig.html",[159,0.713,13699,5.841]],["body/interfaces/IdentityManagementConfig.html",[3,0.019,4,0.019,5,0.009,7,0.144,30,0.001,32,0.163,101,0.013,103,0.001,104,0.001,112,0.956,122,3.007,159,1.051,161,2.428,4855,5.975,13575,9.471,13699,10.281,13700,8.304,13701,12.546,13702,12.546,13703,12.546]],["title/modules/IdentityManagementModule.html",[252,1.835,665,5.639]],["body/modules/IdentityManagementModule.html",[0,0.28,3,0.015,4,0.015,5,0.007,30,0.001,95,0.158,101,0.011,103,0.001,104,0.001,252,3.11,254,2.924,255,3.096,256,3.175,257,3.164,258,3.152,259,3.848,260,4.383,269,4.139,270,3.118,271,3.053,276,4.139,277,1.172,618,5.23,633,11.123,648,6.652,665,11.499,685,6.182,1054,4.577,3089,8.143,3872,6.908,4855,4.743,8774,7.122,8775,8.899,9780,9.934,9905,8.116,13700,6.591,13704,8.119,13705,8.119,13706,8.119,13707,10.77,13708,11.156,13709,10.791,13710,7.518,13711,9.284,13712,6.591,13713,7.122,13714,8.119,13715,8.899,13716,10.582,13717,8.899]],["title/classes/IdentityManagementOauthService.html",[0,0.24,13709,5.471]],["body/classes/IdentityManagementOauthService.html",[0,0.258,2,0.795,3,0.014,4,0.014,5,0.007,7,0.105,8,1.158,9,6.4,27,0.445,29,0.574,30,0.001,31,0.419,32,0.093,33,0.344,35,1.596,36,2.748,47,0.954,51,5.796,78,9.472,87,6.519,94,6.112,95,0.085,101,0.01,103,0,104,0,125,2.391,157,1.722,195,2.193,197,2.788,329,6.095,388,4.299,648,7.594,985,6.992,1076,6.379,1080,2.579,1461,7.509,1470,7.622,1568,6.949,1585,7.343,2087,5.897,2388,6.075,2554,7.918,4855,7.057,4888,8.677,8902,7.509,13700,9.808,13709,7.898,13718,6.93,13719,11.187,13720,11.187,13721,9.286,13722,7.483,13723,7.483,13724,9.286,13725,7.483,13726,5.603,13727,6.93]],["title/classes/IdentityManagementService.html",[0,0.24,633,5.639]],["body/classes/IdentityManagementService.html",[0,0.128,2,0.395,3,0.007,4,0.007,5,0.003,7,0.052,8,0.689,9,6.47,27,0.467,29,0.926,30,0.001,31,0.698,32,0.153,33,0.556,34,2.217,35,1.535,36,2.823,39,2.774,47,0.998,51,4.111,55,1.195,56,1.752,59,1.852,70,1.89,85,7.357,87,6.256,94,7.221,95,0.068,98,2.233,99,0.761,101,0.008,103,0,104,0,122,0.774,125,1.784,130,3.303,142,2.177,153,1.413,157,2.671,230,7.252,290,2.744,318,5.235,319,5.235,328,4.468,335,5.671,339,1.75,347,3.057,360,6.231,385,7.471,388,5.511,533,3.186,540,3.52,567,3.81,593,3.014,595,1.401,633,4.844,648,5.386,734,2.504,860,4.207,1083,6.811,1355,4.915,1568,4.135,1834,6.278,1835,3.057,1926,7.357,2505,3.707,3083,5.154,3089,5.593,3090,7.725,3218,4.959,4410,6.462,4855,7.056,4970,5.235,5114,4.7,5253,5.235,5271,7.205,8776,3.014,8787,3.257,8794,3.438,13273,3.438,13700,9.807,13728,5.525,13729,5.525,13730,5.525,13731,5.525,13732,7.935,13733,6.928,13734,6.928,13735,5.525,13736,5.525,13737,5.525,13738,9.758,13739,3.712,13740,10.957,13741,5.967,13742,3.712,13743,5.525,13744,8.568,13745,5.525,13746,5.525,13747,5.525,13748,5.967,13749,5.525,13750,7.935,13751,3.712,13752,3.712,13753,3.438,13754,10.147,13755,3.712,13756,8.693,13757,11.79,13758,3.438,13759,7.935,13760,3.712,13761,5.967,13762,3.712,13763,5.967,13764,3.712,13765,2.924]],["title/entities/ImportUser.html",[205,1.418,13766,4.989]],["body/entities/ImportUser.html",[0,0.15,3,0.008,4,0.008,5,0.004,7,0.061,27,0.495,30,0.001,31,0.379,32,0.162,33,0.43,47,0.957,49,1.633,95,0.122,96,1.15,101,0.012,103,0,104,0,112,0.839,122,1.729,125,1.976,129,2.481,130,2.267,135,1.083,142,2.464,145,3.096,146,2.961,148,0.669,153,0.716,159,0.694,180,2.884,190,2.257,195,2.788,196,3.093,197,1.878,205,1.379,206,1.416,219,5.664,223,3.956,224,1.267,225,2.594,226,1.968,229,1.718,231,0.754,232,1.177,233,1.355,271,1.633,290,3.048,301,2.798,413,2.64,415,5.318,540,1.525,567,2.567,579,1.255,614,1.341,652,0.887,692,3.912,700,4.511,701,4.511,702,5.295,703,3.594,704,5.157,756,1.718,886,2.942,1065,2.131,1237,1.28,1783,6.225,1829,1.846,2009,4.47,2344,2.64,2372,3.81,2555,7.423,2556,3.652,2841,3.252,2893,5.093,2924,5.176,2925,7.172,2933,3.182,3000,3.81,3218,3.91,3394,4.279,3400,3.461,4557,2.364,4562,6.445,4645,3.421,4646,3.252,4661,4.851,5024,2.409,5178,4.526,5376,3.119,5450,3.252,5685,3.892,6344,6.48,6885,3.119,7422,3.81,7436,4.15,7439,2.698,7440,2.448,7460,2.73,7665,4.606,7775,4.409,7782,2.612,7783,2.698,8499,4.681,9964,3.119,10008,3.252,10009,3.421,11147,2.835,11148,3.062,11149,2.835,11150,3.062,11151,2.961,11152,3.182,11327,2.916,11328,2.916,12331,6.593,12332,5.744,12349,2.668,12356,5.68,12956,3.421,13000,4.022,13581,7.366,13655,3.652,13766,4.851,13767,11.801,13768,7.172,13769,8.879,13770,6.376,13771,4.343,13772,4.343,13773,5.68,13774,4.343,13775,4.343,13776,4.343,13777,4.343,13778,4.343,13779,8.225,13780,6.755,13781,6.255,13782,4.343,13783,7.172,13784,4.343,13785,7.592,13786,4.343,13787,4.343,13788,7.272,13789,4.343,13790,3.331,13791,5.68,13792,3.81,13793,3.81,13794,4.022,13795,3.652,13796,4.022,13797,4.022,13798,4.022,13799,4.022,13800,4.022,13801,4.022,13802,4.022,13803,4.022,13804,5.68,13805,4.022,13806,5.68,13807,3.652,13808,4.022,13809,4.022,13810,4.022,13811,3.331,13812,4.022,13813,4.022,13814,4.022,13815,4.022,13816,3.652,13817,4.022,13818,4.022,13819,3.331,13820,5.68,13821,4.022]],["title/controllers/ImportUserController.html",[314,2.658,13822,6.094]],["body/controllers/ImportUserController.html",[0,0.151,3,0.008,4,0.008,5,0.004,7,0.061,8,0.783,10,1.753,27,0.457,29,0.889,30,0.001,31,0.65,32,0.145,33,0.534,35,1.344,36,2.787,56,4.427,59,1.355,70,4.775,95,0.139,100,1.524,101,0.006,103,0,104,0,122,1.735,135,1.744,141,3.566,148,1.006,153,1.118,158,1.614,190,2.081,202,1.003,228,1.231,274,1.825,277,0.63,290,1.032,298,1.889,314,1.671,316,2.106,317,2.988,325,6.864,326,4.086,349,7.061,365,5.437,379,4.235,388,4.021,389,2.85,392,2.282,395,2.348,398,2.366,400,1.3,478,1.223,540,3.293,595,1.648,652,0.891,657,2.658,863,3.732,871,4.456,883,7.91,2920,3.926,3201,7.017,3221,2.252,3223,2.402,4938,5.451,6244,4.403,7525,7.323,7811,5.111,10741,6.753,12328,7.887,12364,7.887,13766,3.136,13822,5.951,13823,11.911,13824,4.366,13825,4.366,13826,6.783,13827,8.318,13828,8.318,13829,8.318,13830,6.783,13831,8.318,13832,8.318,13833,8.318,13834,4.366,13835,6.783,13836,4.366,13837,4.366,13838,7.887,13839,4.366,13840,4.366,13841,6.783,13842,4.366,13843,4.366,13844,10.68,13845,6.783,13846,4.366,13847,4.366,13848,6.281,13849,4.366,13850,4.366,13851,8.228,13852,6.783,13853,4.366,13854,4.366,13855,8.685,13856,6.783,13857,4.366,13858,4.366,13859,8.228,13860,6.783,13861,4.366,13862,3.831,13863,4.366,13864,4.366,13865,3.672,13866,4.366,13867,3.831,13868,8.685,13869,4.043,13870,4.043,13871,3.672,13872,3.545,13873,5.704,13874,4.366,13875,4.366,13876,3.545,13877,3.831,13878,4.366,13879,4.366,13880,4.366,13881,4.366,13882,5.704,13883,4.366,13884,4.366,13885,4.366,13886,4.366,13887,8.318,13888,4.366,13889,8.318,13890,4.366,13891,4.366,13892,4.366,13893,4.366,13894,4.366,13895,4.366,13896,4.366,13897,4.043,13898,4.366,13899,4.366,13900,4.366,13901,4.366,13902,4.366,13903,4.366,13904,4.366]],["title/classes/ImportUserFactory.html",[0,0.24,13905,6.432]],["body/classes/ImportUserFactory.html",[0,0.162,2,0.499,3,0.009,4,0.009,5,0.004,7,0.066,8,0.828,27,0.516,29,1.014,30,0.001,31,0.708,32,0.167,33,0.581,34,1.488,35,1.41,47,0.617,55,2.306,59,3.258,95,0.131,101,0.006,103,0,104,0,112,0.561,113,4.41,127,4.868,129,3.553,130,3.247,135,0.936,148,0.71,157,2.003,158,1.735,172,3.048,185,2.464,192,2.582,197,1.305,205,2.143,206,2.338,228,1.301,231,1.245,290,2.877,326,4.798,374,3.102,433,0.579,436,3.85,467,2.088,478,1.314,501,7.222,502,5.404,505,3.977,506,5.404,507,5.359,508,3.977,509,3.977,510,3.977,511,3.915,512,4.43,513,4.826,514,6.238,515,5.73,516,7.008,517,2.624,522,2.603,523,3.977,524,2.624,525,5.093,526,5.24,527,4.124,528,4.929,529,3.946,530,2.603,531,3.749,532,4.105,533,2.506,534,2.453,535,2.603,536,2.624,537,4.751,538,2.603,539,7.102,540,4.168,541,6.584,542,2.624,543,4.222,544,2.603,545,2.624,546,2.603,547,2.624,548,2.603,549,2.916,550,2.741,551,2.603,552,6.042,553,2.624,554,2.603,555,3.977,556,3.628,557,3.977,558,2.624,559,2.524,560,2.488,561,2.106,562,2.603,563,2.603,564,2.603,565,2.624,566,2.624,567,1.784,568,2.603,569,1.461,570,2.624,571,3.442,572,2.603,573,2.624,575,2.692,576,2.768,577,2.795,595,1.771,620,2.916,700,2.264,701,2.264,702,2.317,703,1.457,704,2.389,1086,2.239,1087,2.169,1088,2.203,1089,2.345,1090,2.562,1091,3.151,3394,2.148,4215,6.291,4562,2.986,5024,2.603,7650,3.696,7651,3.81,7660,3.696,11328,3.151,11519,3.309,12331,3.309,13581,5.648,13766,3.371,13768,3.599,13769,5.5,13770,3.2,13779,7.91,13791,3.946,13905,8.059,13906,7.171,13907,4.693,13908,7.171,13909,4.693,13910,6.64,13911,6.291,13912,4.693,13913,4.693,13914,4.693,13915,4.693,13916,4.693,13917,4.117,13918,4.693]],["title/classes/ImportUserListResponse.html",[0,0.24,13871,5.841]],["body/classes/ImportUserListResponse.html",[0,0.347,2,0.915,3,0.011,4,0.011,5,0.006,7,0.084,27,0.458,29,0.461,30,0.001,31,0.483,32,0.166,33,0.535,34,1.027,47,0.825,55,2.761,56,5.714,59,2.672,70,6.163,94,3.038,95,0.138,101,0.011,103,0,104,0,112,0.673,122,1.253,125,1.432,134,2.122,142,2.191,157,2.935,180,2.564,190,1.972,195,2.201,197,1.67,200,1.84,201,3.342,202,1.379,231,1.494,232,1.627,290,3.015,296,3.392,298,2.598,299,4.283,304,2.965,331,2.657,339,3.412,374,2.598,415,3.415,433,0.741,436,3.264,556,3.038,571,2.375,614,3.592,700,4.153,701,4.153,703,1.864,855,3.484,862,7.747,863,6.661,864,4.938,866,2.983,868,4.827,869,2.947,870,3.279,871,2.198,872,4.234,873,5.477,874,5.029,875,3.975,876,3.118,877,4.234,878,4.234,880,3.821,881,3.279,886,1.889,1086,2.865,1087,2.776,1088,2.82,1089,3.001,1090,3.279,1619,3.69,1842,2.735,1929,4.313,2134,4.234,3178,3.206,3179,3.206,3394,5.029,3395,3.869,3396,3.445,3400,3.077,4672,3.613,4938,3.939,5183,4.938,5213,3.69,5239,3.775,5376,4.313,6273,3.476,11147,3.92,11148,4.234,11149,3.92,11150,4.234,12331,4.234,12332,4.162,12349,3.69,12361,4.234,12962,4.876,13768,4.606,13770,4.095,13806,5.05,13807,5.05,13871,7.239,13872,10.354,13919,7.552,13920,6.006,13921,6.006,13922,7.925,13923,5.561,13924,7.717,13925,5.561,13926,5.561,13927,5.05,13928,5.05,13929,5.05,13930,5.05,13931,5.561,13932,5.561,13933,7.972,13934,5.561,13935,4.876,13936,5.561,13937,5.561,13938,4.73,13939,5.561]],["title/classes/ImportUserMapper.html",[0,0.24,13862,6.094]],["body/classes/ImportUserMapper.html",[0,0.223,2,0.689,3,0.012,4,0.012,5,0.006,7,0.091,8,1.049,27,0.413,29,0.805,30,0.001,31,0.588,32,0.131,33,0.483,35,1.216,95,0.151,99,1.328,100,3.968,101,0.009,103,0,104,0,125,2.501,129,1.94,135,1.564,141,3.896,142,3.828,148,1.126,153,1.498,195,1.987,277,0.935,290,2.148,331,2.867,365,2.894,393,3.199,467,3.848,478,1.815,579,1.873,595,2.446,700,3.126,701,3.126,830,5.039,837,3.199,1393,5.212,2037,4.175,2934,5.259,3309,8.046,4938,5.204,5909,4.289,7992,5.45,10709,8.414,10738,8.414,10741,7.376,10742,8.957,10799,5.685,12328,9.562,12331,4.569,12332,4.491,13578,9.232,13766,8.914,13768,4.97,13770,4.419,13838,9.562,13862,7.971,13865,5.45,13867,7.971,13872,9.232,13897,6.001,13935,5.261,13940,11.371,13941,9.086,13942,9.086,13943,6.481,13944,6.481,13945,9.086,13946,6.481,13947,5.105,13948,6.001,13949,5.45,13950,5.685,13951,6.481,13952,6.481,13953,6.481,13954,6.481,13955,6.481,13956,6.481,13957,6.481,13958,6.481,13959,6.481,13960,6.481,13961,6.481,13962,6.481,13963,6.001,13964,9.086,13965,6.481,13966,6.481,13967,6.001,13968,6.481,13969,6.481,13970,6.001,13971,6.481,13972,6.481,13973,6.481,13974,6.481,13975,6.481,13976,6.481,13977,6.481,13978,6.481,13979,6.481,13980,6.481,13981,6.481,13982,6.481,13983,6.481,13984,6.481,13985,6.481,13986,6.481]],["title/classes/ImportUserMatchMapper.html",[0,0.24,13949,5.841]],["body/classes/ImportUserMatchMapper.html",[0,0.299,2,0.921,3,0.016,4,0.016,5,0.008,7,0.122,8,1.274,27,0.435,29,0.846,30,0.001,31,0.618,32,0.138,33,0.508,35,1.278,95,0.139,99,1.775,101,0.011,103,0.001,104,0.001,129,2.592,148,1.307,365,3.869,415,7.507,467,3.929,478,2.425,579,2.503,837,4.276,1393,6.329,2037,5.58,4672,5.21,4938,5.556,12341,11.837,13580,10.21,13779,10.957,13949,9.278,13987,8.661,13988,11.033,13989,11.033,13990,11.033,13991,8.661,13992,11.033,13993,8.661,13994,10.651,13995,8.661,13996,8.021,13997,8.661,13998,8.021,13999,8.661,14000,8.021,14001,6.822,14002,8.661,14003,8.661,14004,8.661,14005,8.661]],["title/modules/ImportUserModule.html",[252,1.835,14006,5.841]],["body/modules/ImportUserModule.html",[0,0.263,3,0.015,4,0.015,5,0.007,30,0.001,52,3.865,94,3.865,95,0.154,101,0.01,103,0,104,0,252,3.218,254,2.751,255,2.914,256,2.988,257,2.977,258,2.966,259,4.155,260,3.785,264,9.368,265,6.029,268,7.929,269,3.977,270,2.934,271,2.873,274,4.249,276,3.977,277,1.103,279,3.206,290,1.806,614,2.359,671,9.557,685,4.463,703,2.371,1027,2.346,1475,4.802,1531,9.196,1856,7.482,1899,4.987,2069,4.55,2369,4.272,2893,4.694,3083,4.596,3382,3.428,4938,3.496,6033,8.758,8721,6.017,12589,6.202,13560,5.056,13822,10.025,13868,12.079,13869,7.075,13870,7.075,14006,12.226,14007,7.64,14008,7.64,14009,7.64,14010,11.443,14011,7.64,14012,7.64,14013,7.64,14014,7.64]],["title/interfaces/ImportUserProperties.html",[159,0.713,13791,5.841]],["body/interfaces/ImportUserProperties.html",[0,0.165,3,0.009,4,0.009,5,0.004,7,0.067,30,0.001,31,0.408,32,0.167,33,0.574,47,0.994,49,1.801,95,0.127,96,1.268,101,0.013,103,0,104,0,112,0.872,122,2.054,125,1.736,135,1.151,142,2.657,145,3.291,146,3.265,148,0.721,153,0.789,159,0.748,161,1.137,180,3.108,195,2.613,196,2.408,197,1.331,205,1.487,219,5.921,223,3.709,224,1.397,225,2.797,226,2.17,229,1.894,231,0.831,232,1.297,233,1.494,271,1.801,290,3.109,301,3.085,413,2.91,415,5.01,540,1.681,567,1.82,579,1.384,614,1.478,652,0.978,692,4.998,700,5.109,701,5.109,702,5.724,703,3.799,704,5.678,756,1.894,886,3.097,1065,2.35,1237,1.411,1783,5.414,1829,2.035,2009,4.819,2344,2.91,2372,4.201,2555,6.456,2556,4.026,2841,3.585,2893,4.474,2924,4.895,2925,5.584,2933,3.508,3000,4.201,3218,2.771,3394,4.846,3400,2.453,4557,1.676,4562,7.096,4645,3.771,4646,3.585,4661,5.23,5024,2.656,5178,5.782,5376,3.439,5685,4.137,6344,5.046,6885,3.439,7436,4.474,7439,2.975,7440,2.7,7460,3.01,7775,3.126,7782,2.88,7783,2.975,8499,5.046,9964,3.439,10008,3.585,10009,3.771,11147,3.126,11148,3.376,11149,3.126,11150,3.376,11151,3.265,11152,3.508,11327,3.215,11328,3.215,12331,7.467,12332,6.106,12349,2.942,12356,4.026,12956,3.771,13581,8.342,13655,4.026,13766,3.439,13767,4.434,13768,8.122,13769,9.163,13770,7.221,13773,4.026,13779,9.055,13781,4.434,13783,5.584,13785,5.911,13788,6.388,13790,3.672,13791,7.409,13792,4.201,13793,4.201,13794,4.434,13795,4.026,13796,4.434,13797,4.434,13798,4.434,13799,4.434,13800,4.434,13801,4.434,13802,4.434,13803,4.434,13804,6.123,13805,4.434,13806,6.123,13807,4.026,13808,4.434,13809,4.434,13810,4.434,13811,3.672,13812,4.434,13813,4.434,13814,4.434,13815,4.434,13816,4.026,13817,4.434,13818,4.434,13819,3.672,13820,6.123,13821,4.434]],["title/injectables/ImportUserRepo.html",[589,0.929,14010,6.094]],["body/injectables/ImportUserRepo.html",[0,0.173,3,0.01,4,0.01,5,0.005,7,0.071,8,0.872,10,3.034,12,3.424,18,3.846,26,2.081,27,0.489,29,0.93,30,0.001,31,0.68,32,0.151,33,0.558,34,1.552,35,1.405,36,2.755,40,3.666,49,1.891,56,2.373,58,3.282,59,2.345,94,3.822,95,0.138,96,2.001,97,2.059,98,3.025,99,1.031,101,0.007,103,0,104,0,129,1.505,130,1.375,135,1.62,142,4.425,148,1.071,153,1.496,195,1.1,205,1.027,206,2.464,224,1.467,231,1.311,277,0.726,290,2.933,317,2.98,331,2.225,365,4.054,436,2.998,478,1.408,532,4.761,540,4.258,579,1.453,589,1.01,591,1.199,595,1.898,652,1.853,654,4.656,657,2.702,692,5.564,703,3.133,728,6.823,734,3.171,735,3.457,736,4.508,759,2.994,760,3.056,761,3.025,762,3.056,764,3.025,765,3.056,766,2.724,771,3.611,788,3.428,1619,4.642,1926,3.376,2231,4.296,2487,6.01,2920,4.373,3382,2.256,3400,3.871,3718,3.428,4215,6.628,5213,3.089,5232,6.399,6244,3.094,7525,3.025,7811,7.243,7821,5.658,7839,6.628,7840,3.684,7841,3.684,7843,3.545,13578,8.193,13766,8.162,13795,6.353,13963,4.656,14001,3.96,14010,6.628,14015,5.028,14016,7.555,14017,9.076,14018,9.076,14019,7.555,14020,7.555,14021,5.028,14022,4.656,14023,5.028,14024,5.028,14025,5.028,14026,5.028,14027,7.555,14028,5.028,14029,6.628,14030,5.028,14031,7.963,14032,5.028,14033,5.028,14034,5.028,14035,5.028,14036,5.028,14037,5.028,14038,5.028,14039,5.028,14040,5.028,14041,5.028,14042,5.028,14043,5.028,14044,5.028,14045,5.028,14046,5.028,14047,5.028,14048,5.028,14049,5.028,14050,5.028,14051,5.028,14052,7.555,14053,5.028,14054,7.555,14055,5.028,14056,5.028,14057,5.028,14058,5.028,14059,5.028,14060,5.028]],["title/classes/ImportUserResponse.html",[0,0.24,13872,5.639]],["body/classes/ImportUserResponse.html",[0,0.329,2,1.015,3,0.01,4,0.01,5,0.005,7,0.077,27,0.5,29,0.42,30,0.001,31,0.535,32,0.167,33,0.439,34,1.378,47,0.915,55,1.913,56,3.802,70,4.101,94,4.075,95,0.138,101,0.011,103,0,104,0,112,0.63,122,1.68,129,1.64,130,1.499,134,1.936,142,2,157,2.921,180,3.439,190,2.232,195,2.303,197,2.24,200,1.679,201,3.128,202,1.259,231,0.951,232,2.183,290,3.189,296,3.316,298,2.371,299,4.103,304,2.706,308,6.998,331,2.425,339,2.363,374,3.484,415,5.431,433,0.676,435,1.861,556,2.773,571,2.168,614,3.985,700,5.412,701,5.412,703,1.701,855,3.26,862,5.005,863,3.016,864,3.144,868,4.582,880,3.487,881,2.992,886,2.534,1086,2.615,1087,2.534,1088,2.573,1089,2.739,1090,2.992,1361,3.144,1619,4.95,1842,3.668,1929,3.937,2134,3.864,3178,4.301,3179,4.301,3394,5.548,3395,5.19,3396,4.621,3400,4.128,4672,4.846,4938,5.906,5183,6.04,5213,4.95,5239,5.064,5376,5.786,6273,4.663,7972,5.076,11147,3.578,11148,3.864,11149,3.578,11150,3.864,12331,6.734,12332,6.619,12349,4.95,12361,5.68,12962,4.45,13768,7.325,13770,6.512,13806,4.609,13807,4.609,13871,4.609,13872,10.098,13919,11.322,13922,8.836,13923,5.076,13924,8.603,13925,5.076,13926,5.076,13927,4.609,13928,4.609,13929,4.609,13930,4.609,13931,5.076,13932,5.076,13933,7.46,13934,5.076,13935,7.754,13936,7.46,13937,7.46,13938,4.317,13939,5.076,14061,5.481,14062,5.481,14063,5.481,14064,5.481,14065,5.481,14066,5.481,14067,5.481,14068,5.481,14069,5.481]],["title/classes/ImportUserScope.html",[0,0.24,14031,6.094]],["body/classes/ImportUserScope.html",[0,0.149,2,0.717,3,0.008,4,0.008,5,0.004,7,0.061,8,0.778,27,0.508,29,0.949,30,0.001,31,0.722,32,0.159,33,0.569,34,1.153,35,1.434,39,1.199,47,0.891,49,1.63,95,0.132,96,1.785,97,1.775,99,0.888,101,0.006,103,0,104,0,112,0.527,122,1.727,129,2.478,130,1.844,135,1.461,142,3.02,145,1.619,148,1.261,153,1.365,180,2.879,195,2.531,224,1.265,231,1.17,290,2.645,301,4.344,331,1.917,365,1.935,393,2.139,415,5.755,436,3.006,478,1.213,540,3.28,569,1.349,579,2.392,595,1.635,624,6.995,652,2.188,692,4.409,700,3.253,701,3.253,703,2.57,1072,6.709,1393,5.805,1829,4.555,1831,6.182,1918,4.673,2009,2.868,2037,2.792,2477,5.678,2487,6.027,4557,1.517,4562,2.757,4661,4.843,4672,4.057,5024,5.944,5106,3.627,5232,4.754,5909,5.479,6134,3.977,6159,5.943,6244,4.975,6891,4.528,6892,4.528,6893,4.528,6898,4.528,6899,4.528,6900,2.955,6901,2.91,6902,2.955,6903,2.955,6912,2.91,6913,4.528,6914,2.955,6915,2.91,6916,2.955,6917,2.91,6918,8.309,11327,4.528,11328,4.528,12331,5.836,12332,3.003,12349,2.663,13580,7.855,13766,3.112,13768,3.323,13769,6.349,13770,5.644,13790,5.172,13947,3.413,13996,4.013,13998,4.013,14000,4.013,14001,5.311,14031,11.524,14070,4.333,14071,6.743,14072,6.743,14073,6.743,14074,6.743,14075,6.743,14076,6.743,14077,6.743,14078,6.743,14079,6.743,14080,6.743,14081,4.333,14082,6.743,14083,4.333,14084,6.743,14085,4.333,14086,6.743,14087,4.333,14088,6.245,14089,6.743,14090,4.333,14091,6.743,14092,4.333,14093,6.743,14094,4.333,14095,6.743,14096,4.333,14097,6.743,14098,4.333,14099,3.644,14100,4.013,14101,4.333,14102,4.013,14103,4.333,14104,4.333,14105,6.743,14106,4.333,14107,8.195,14108,8.65,14109,4.333,14110,6.743,14111,6.743,14112,6.743,14113,6.743,14114,4.333,14115,4.333,14116,4.333,14117,4.333,14118,4.333,14119,4.333,14120,4.333,14121,6.743,14122,4.333,14123,4.333,14124,5.475,14125,4.333,14126,4.333,14127,4.013]],["title/classes/ImportUserUrlParams.html",[0,0.24,13844,6.094]],["body/classes/ImportUserUrlParams.html",[0,0.406,2,1.02,3,0.018,4,0.018,5,0.009,7,0.135,27,0.378,30,0.001,32,0.12,34,2.011,47,0.834,95,0.134,101,0.013,103,0.001,104,0.001,112,0.919,157,2.208,185,4.041,190,1.722,194,4.6,195,2.572,196,3.89,197,3.269,200,2.939,202,2.203,290,3.135,296,3.072,301,7.576,613,6.87,614,3.631,855,4.759,4166,5.831,4938,5.382,13766,8.446,13844,10.317,13919,10.317,13935,10.325,14128,9.593,14129,9.593]],["title/interfaces/InlineAttachment.html",[159,0.713,1445,5.201]],["body/interfaces/InlineAttachment.html",[3,0.017,4,0.017,5,0.008,7,0.126,30,0.001,31,0.504,32,0.112,47,1.033,77,5.793,101,0.012,103,0.001,104,0.001,112,0.883,159,1.421,161,2.135,231,2.317,1240,7.642,1439,8.459,1440,6.896,1441,9.703,1442,10.239,1443,6.896,1444,4.987,1445,9.25,1446,6.588,1447,6.588,1448,9.25,1449,6.896,1450,8.459,1451,8.664,1452,8.664,1453,8.459,1454,6.941,1455,6.733,1456,6.733,1457,6.896,1458,6.896]],["title/entities/InstalledLibrary.html",[205,1.418,11592,5.327]],["body/entities/InstalledLibrary.html",[0,0.263,3,0.006,4,0.006,5,0.003,7,0.043,27,0.519,29,0.234,30,0.001,31,0.285,32,0.168,33,0.629,47,0.906,55,2.625,72,2.326,83,1.48,95,0.087,96,0.808,101,0.01,103,0,104,0,112,0.397,122,2.117,131,2.588,134,2.308,141,3.917,145,3.79,148,0.754,155,2.072,157,1.503,172,3.883,190,2.365,194,1.988,195,3.008,196,4.115,197,0.848,205,1.038,206,0.995,208,1.918,211,6.901,223,4.289,224,0.891,225,1.952,229,1.207,231,0.53,233,0.952,289,3.781,301,1.966,374,3.295,414,4.901,467,0.889,478,0.855,567,1.932,711,1.51,756,4.167,870,3.566,1087,1.411,1195,6.537,1199,7.007,1200,7.43,1201,7.43,1215,4.582,1224,3.651,1237,2.245,1372,2.675,1928,3.724,2163,3.019,2183,1.203,2392,2.905,2564,3.195,2631,3.466,2894,1.456,2897,6.104,2976,3.522,3037,1.464,3382,2.281,3390,2.998,3894,2.404,3940,3.364,5108,3.318,5202,4.059,5213,3.123,5374,4.004,5983,3.651,6134,2.998,6159,3.234,6530,5.009,6531,5.009,6532,4.891,6533,5.009,6534,4.264,6540,4.891,6541,5.009,6553,5.009,6556,3.584,6557,3.898,6573,2.89,6574,2.236,6576,2.341,6584,2.152,6586,2.341,6588,2.341,6590,2.341,6592,2.341,6598,2.341,6949,6.336,7129,1.966,7352,3.651,7459,1.818,9485,2.152,11573,6.184,11574,2.566,11575,4.004,11576,5.009,11577,2.478,11581,4.274,11582,4.274,11583,4.274,11584,2.566,11585,7.865,11586,2.566,11587,4.274,11588,4.274,11589,4.274,11590,2.404,11591,2.566,11592,3.898,11593,6.184,11594,6.406,11595,5.493,11596,5.493,11597,6.349,11598,4.127,11599,3.898,11600,4.274,11601,4.004,11602,4.274,11603,3.651,11604,4.274,11605,4.274,11606,4.127,11607,4.274,11608,4.274,11609,4.004,11610,4.274,11611,5.145,11612,3.466,11613,5.493,11614,5.493,11615,5.493,11616,5.493,11617,2.566,11618,5.493,11619,5.493,11620,5.493,11621,5.493,11622,2.566,11623,2.566,11624,2.566,11625,2.566,11626,2.566,11627,2.566,11628,2.566,11629,2.566,11630,2.566,11631,2.566,11632,2.566,11633,2.566,11634,2.566,11635,2.566,11636,2.566,11637,2.566,11638,2.566,11639,2.566,11640,2.566,11641,2.566,11642,2.566,11643,2.566,11644,2.566,11645,2.566,11646,2.566,11647,2.566,11648,2.566,11649,2.566,11650,2.566,11651,2.566,11652,2.566,11653,2.566,11654,2.566,11655,2.566,11656,2.566,11657,2.566,11658,2.566,11659,2.566,11660,2.566,11661,2.566,11662,2.566,11663,2.566,11664,2.566,11665,2.566,11666,2.566,11667,2.566,11668,2.566,11669,2.566,11670,2.566,11671,2.566,11672,2.566,11673,2.566,14130,3.052,14131,3.052,14132,3.052,14133,3.052,14134,3.052,14135,3.052,14136,3.052,14137,3.052,14138,3.052,14139,3.052,14140,3.052,14141,3.052,14142,3.052,14143,3.052,14144,3.052,14145,3.052,14146,3.052,14147,3.052,14148,3.052,14149,3.052,14150,3.052,14151,3.052,14152,3.052,14153,3.052,14154,3.052,14155,3.052]],["title/interfaces/InterceptorConfig.html",[159,0.713,7367,5.841]],["body/interfaces/InterceptorConfig.html",[3,0.02,4,0.02,5,0.01,7,0.148,30,0.001,32,0.155,55,2.831,101,0.014,103,0.001,104,0.001,112,0.97,159,1.078,161,2.492,311,6.851,7367,10.44,11973,10.762,11975,11.49,14156,10.495]],["title/modules/InterceptorModule.html",[252,1.835,7349,6.094]],["body/modules/InterceptorModule.html",[0,0.303,3,0.017,4,0.017,5,0.008,30,0.001,95,0.147,101,0.012,103,0.001,104,0.001,135,1.146,148,0.869,153,1.447,157,2.019,252,2.939,254,3.16,259,3.191,277,1.267,339,3.263,393,4.332,543,6.232,567,4.228,634,7.434,651,4.439,685,6.499,686,6.302,688,4.142,1213,7.077,1829,3.73,1938,4.719,2357,6.326,2564,6.993,3785,7.363,4307,9.147,5239,6.993,7349,9.76,7359,7.709,7360,10.716,7364,9.032,7367,7.379,9026,8.33,9901,6.73,9905,6.73,13137,6.302,14157,8.775,14158,9.032,14159,12.844,14160,10.716,14161,8.126,14162,8.775]],["title/interfaces/IntrospectResponse.html",[159,0.713,14163,6.094]],["body/interfaces/IntrospectResponse.html",[3,0.015,4,0.015,5,0.007,7,0.109,30,0.001,32,0.177,33,0.674,47,1.04,51,5.884,55,2.751,101,0.01,103,0,104,0,112,0.804,122,2.404,159,0.798,161,1.845,162,5.386,185,3.961,1495,8.809,4885,7.902,6244,5.023,7072,8.809,7911,9.661,7913,9.661,7935,9.661,7937,9.661,14163,9.022,14164,7.773,14165,11.358,14166,12.265,14167,12.265,14168,12.265,14169,12.265]],["title/classes/InvalidOriginForLogoutUrlLoggableException.html",[0,0.24,14170,6.094]],["body/classes/InvalidOriginForLogoutUrlLoggableException.html",[0,0.291,2,0.896,3,0.016,4,0.016,5,0.008,7,0.118,8,1.251,27,0.427,29,0.646,30,0.001,31,0.472,32,0.135,33,0.388,35,0.976,47,0.95,72,3.855,95,0.124,101,0.011,103,0.001,104,0.001,125,2.857,148,0.834,153,1.389,193,3.661,228,1.967,231,1.881,233,2.629,277,1.216,339,2.471,400,2.509,433,1.04,652,1.72,1027,2.588,1115,3.225,1237,3.195,1422,4.908,1423,5.656,1426,5.678,1462,4.636,1465,5.838,1468,5.656,1469,5.952,1477,4.374,1478,4.565,1882,3.213,2137,6.308,2160,7.931,2162,10.452,2818,5.576,2912,6.462,2914,7.391,2934,6.936,8698,6.462,9993,6.309,12464,5.94,14170,9.509,14171,11.984,14172,9.191,14173,11.984,14174,8.425,14175,8.425,14176,8.425,14177,8.425]],["title/classes/InvalidUserLoginMigrationLoggableException.html",[0,0.24,14178,6.094]],["body/classes/InvalidUserLoginMigrationLoggableException.html",[0,0.291,2,0.897,3,0.016,4,0.016,5,0.008,7,0.119,8,1.253,26,2.811,27,0.428,29,0.647,30,0.001,31,0.473,32,0.135,33,0.388,35,0.978,39,3.319,52,5.491,95,0.137,99,1.73,101,0.011,103,0.001,104,0.001,148,0.836,180,5.723,228,1.97,231,1.884,233,2.635,242,4.444,277,1.219,290,2.836,339,2.476,400,2.514,433,1.042,652,1.724,1027,2.593,1115,3.231,1237,3.2,1422,4.913,1423,5.662,1426,5.682,1434,5.439,1462,4.645,1468,5.662,1469,5.958,1477,4.384,1478,4.575,2992,3.826,3394,3.864,4938,5.49,6391,7.632,10281,5.669,12367,6.186,14178,9.522,14179,11.996,14180,11.109,14181,9.278,14182,6.854,14183,8.443,14184,7.1,14185,7.407]],["title/classes/IservMapper.html",[0,0.24,14186,6.094]],["body/classes/IservMapper.html",[0,0.297,2,0.917,3,0.016,4,0.016,5,0.008,7,0.121,8,1.27,27,0.433,29,0.844,30,0.001,31,0.679,32,0.137,33,0.506,35,1.275,95,0.138,100,3.009,101,0.011,103,0.001,104,0.001,148,1.09,153,1.814,467,3.925,595,3.255,700,4.161,701,4.161,702,4.258,704,5.601,1853,2.82,2070,7.526,3400,4.419,5024,7.078,8002,7.144,9979,9.351,9981,5.63,11141,9.351,13770,8.702,14186,9.653,14187,12.117,14188,8.624,14189,10.189,14190,10.189,14191,11.003,14192,8.624,14193,7.002,14194,11.003,14195,8.624,14196,8.624,14197,8.624,14198,7.986,14199,8.624,14200,8.624,14201,8.624,14202,7.986]],["title/injectables/IservProvisioningStrategy.html",[589,0.929,14203,5.841]],["body/injectables/IservProvisioningStrategy.html",[0,0.202,3,0.011,4,0.011,5,0.005,7,0.082,8,0.976,27,0.454,29,0.833,30,0.001,31,0.609,32,0.135,33,0.5,35,1.259,36,2.544,47,0.877,95,0.153,100,2.044,101,0.008,103,0,104,0,125,2.59,135,1.711,142,3.085,145,2.188,148,1.141,153,1.636,173,5.595,195,1.281,228,1.534,231,1.467,233,1.828,277,0.845,290,2.568,317,2.605,339,1.718,400,1.744,433,0.723,436,2.947,478,1.64,579,2.443,589,1.131,591,1.396,595,2.21,652,1.196,657,2.49,702,4.174,703,1.818,1476,5.195,1548,4.386,1585,3.56,1610,4.291,1719,6.195,1853,1.915,2064,5.138,2065,7.19,2067,5.859,2069,3.488,2070,4.986,2357,3.33,3394,2.68,3868,3.083,4557,2.05,5024,5.502,5239,5.314,5416,7.444,6885,4.206,8002,4.581,8008,5.764,9972,3.993,9979,6.195,11141,6.195,12647,8.557,13650,4.925,13693,5.138,13695,7.829,13770,5.764,14186,5.138,14203,7.109,14204,5.857,14205,7.375,14206,8.454,14207,6.659,14208,5.857,14209,6.864,14210,8.621,14211,5.857,14212,8.454,14213,5.857,14214,6.864,14215,8.135,14216,5.423,14217,5.857,14218,6.392,14219,3.823,14220,3.823,14221,5.423,14222,6.484,14223,5.138,14224,5.857,14225,5.857,14226,5.857,14227,5.423,14228,8.454,14229,5.857,14230,8.454,14231,5.857,14232,5.423,14233,5.857,14234,5.857,14235,5.857,14236,5.857,14237,5.857,14238,5.857,14239,6.864,14240,5.857,14241,7.109,14242,5.857,14243,7.109,14244,5.138,14245,5.423,14246,5.857,14247,5.857,14248,5.857,14249,5.857,14250,5.857,14251,5.857,14252,5.138]],["title/interfaces/JsonAccount.html",[159,0.713,14253,6.094]],["body/interfaces/JsonAccount.html",[3,0.018,4,0.018,5,0.009,7,0.133,30,0.001,32,0.178,33,0.537,39,3.653,47,1.021,48,6.48,51,6.334,87,6.638,101,0.012,103,0.001,104,0.001,112,0.913,159,0.974,161,2.251,172,5.612,789,7.208,4855,5.537,4856,5.89,14253,10.242,14254,8.778,14255,9.479,14256,10.811]],["title/interfaces/JsonUser.html",[159,0.713,14257,6.094]],["body/interfaces/JsonUser.html",[3,0.019,4,0.019,5,0.009,7,0.138,30,0.001,32,0.174,47,1.022,101,0.013,103,0.001,104,0.001,112,0.934,159,1.012,161,2.339,172,5.081,700,6.455,701,6.455,702,6.605,789,7.305,4855,5.755,4856,6.121,14254,9.123,14256,9.123,14257,10.486,14258,9.852]],["title/injectables/JwtAuthGuard.html",[589,0.929,14259,6.094]],["body/injectables/JwtAuthGuard.html",[0,0.369,3,0.02,4,0.02,5,0.01,30,0.001,95,0.143,101,0.014,103,0.001,104,0.001,231,2.178,277,1.543,589,1.678,591,2.549,1545,7.538,9077,8.99,14259,11.01,14260,10.691,14261,10.691,14262,12.55]],["title/interfaces/JwtConstants.html",[159,0.713,1549,5.841]],["body/interfaces/JwtConstants.html",[3,0.017,4,0.017,5,0.008,7,0.127,30,0.001,32,0.162,39,2.505,47,1.002,85,7.618,95,0.103,101,0.015,103,0.001,104,0.001,112,0.887,135,1.482,159,0.93,161,2.149,172,4.822,195,1.98,617,9.953,1546,7.13,1549,10.923,1589,6.942,1591,8.382,1593,5.562,1595,7.349,1598,7.889,1730,6.778,1829,3.848,1884,5.562,2542,6.382,3083,5.445,7072,6.501,7911,7.13,7913,7.13,7935,7.13,7937,7.13,14263,9.052,14264,13.378,14265,11.345,14266,9.052,14267,9.052,14268,7.349,14269,7.612,14270,7.612,14271,9.052,14272,9.052,14273,9.052,14274,8.382,14275,9.052,14276,9.052]],["title/classes/JwtExtractor.html",[0,0.24,14277,6.094]],["body/classes/JwtExtractor.html",[0,0.304,2,0.937,3,0.017,4,0.017,5,0.008,7,0.124,8,1.288,27,0.347,29,0.676,30,0.001,31,0.625,32,0.11,33,0.406,35,1.021,47,0.912,95,0.14,101,0.012,103,0.001,104,0.001,135,1.151,142,4.07,148,1.105,176,6.192,193,5.318,371,5.913,467,3.563,571,4.412,1086,5.322,1087,5.157,1088,5.237,1089,6.116,1090,6.682,1091,8.219,1092,7.491,1103,6.759,1585,5.357,7529,5.302,13431,9.381,13504,9.381,14277,9.787,14278,10.33,14279,8.814,14280,11.156,14281,11.156,14282,8.814,14283,12.24,14284,6.759,14285,8.814,14286,11.156]],["title/interfaces/JwtPayload.html",[159,0.713,1719,5.089]],["body/interfaces/JwtPayload.html",[3,0.016,4,0.016,5,0.008,7,0.117,30,0.001,32,0.167,39,2.983,47,1.028,48,4.101,55,2.677,85,5.61,101,0.014,103,0.001,104,0.001,112,0.843,122,2.249,159,1.107,161,1.984,180,3.567,231,1.871,290,1.975,413,5.079,561,3.749,812,5.454,1589,8.268,1593,6.624,1699,9.402,1719,7.899,1730,9.444,1829,5.361,1925,5.079,2542,7.601,3400,4.281,4557,2.924,4921,5.53,5761,5.454,7072,9.058,7911,9.934,7913,9.934,7935,9.934,7937,9.934,7943,7.737,7944,7.737,7945,7.026,7946,7.33,7947,7.737,7948,7.33,7949,9.458]],["title/injectables/JwtStrategy.html",[589,0.929,1527,6.094]],["body/injectables/JwtStrategy.html",[0,0.265,3,0.015,4,0.015,5,0.007,7,0.108,8,1.178,27,0.402,29,0.783,30,0.001,31,0.572,32,0.127,33,0.47,35,0.89,36,2.163,85,5.159,95,0.156,101,0.01,103,0,104,0,135,1.333,148,0.761,153,1.267,159,0.789,197,2.136,228,1.394,231,1.771,233,2.398,277,1.109,290,1.817,317,2.487,325,3.816,331,3.4,349,5.196,400,2.288,433,0.948,525,4.016,579,2.22,589,1.365,591,1.832,629,4.044,657,1.761,675,3.912,985,6.633,1080,2.648,1213,6.493,1328,4.073,1329,6.204,1527,8.953,1528,10.607,1545,5.417,1549,6.461,1550,6.741,1554,6.741,1585,7.422,1599,7.115,1719,8.946,1722,6.461,1723,6.516,1730,7.642,1829,3.266,1983,5.159,2105,6.052,3090,5.417,4885,4.95,4972,5.159,5246,4.83,6135,6.238,7990,5.754,12594,6.741,14277,6.741,14284,5.893,14287,7.684,14288,8.286,14289,7.684,14290,7.684,14291,10.206,14292,7.684,14293,6.238,14294,7.684,14295,6.238,14296,7.684,14297,7.684,14298,7.684,14299,7.684,14300,7.684,14301,7.684,14302,7.684,14303,7.684,14304,7.684,14305,7.684,14306,7.684,14307,7.684]],["title/classes/JwtTestFactory.html",[0,0.24,7926,6.094]],["body/classes/JwtTestFactory.html",[0,0.269,2,0.828,3,0.015,4,0.015,5,0.007,7,0.109,8,1.189,27,0.406,29,0.597,30,0.001,31,0.437,32,0.144,33,0.358,35,1.193,47,0.998,59,2.417,85,7.746,95,0.118,101,0.01,103,0,104,0,135,1.603,148,1.02,159,0.8,326,2.96,403,5.209,467,3.818,711,3.058,1546,6.134,1548,5.832,1573,6.549,1585,4.734,1589,5.973,1593,4.785,1718,7.545,1730,7.711,7072,7.396,7909,10.769,7910,7.212,7911,8.111,7912,8.659,7913,8.111,7914,10.683,7915,10.734,7916,9.536,7917,7.212,7918,7.212,7919,7.212,7920,7.212,7921,9.034,7922,7.212,7923,9.536,7924,9.536,7925,7.212,7926,9.034,7927,10.769,7928,9.536,7929,9.536,7930,7.212,7931,7.212,7932,7.212,7933,7.212,7934,7.212,7935,6.134,7936,8.659,7937,6.134,7938,6.832,7939,7.212,7940,7.212,7941,7.212,7942,7.212,14308,10.297,14309,7.788,14310,7.788]],["title/injectables/JwtValidationAdapter.html",[589,0.929,1528,5.639]],["body/injectables/JwtValidationAdapter.html",[0,0.22,3,0.012,4,0.012,5,0.006,7,0.09,8,1.037,27,0.445,29,0.866,30,0.001,31,0.633,32,0.141,33,0.52,34,1.931,35,1.205,36,2.617,47,1.004,85,7.992,94,4.545,95,0.141,101,0.008,103,0,104,0,135,1.173,157,1.468,194,3.514,197,1.773,228,1.63,277,0.921,317,2.858,388,3.852,433,1.109,531,5.902,571,3.553,589,1.201,591,1.521,652,1.834,657,2.384,688,3.01,985,5.2,1086,4.286,1087,4.153,1088,4.218,1089,4.489,1090,4.905,1091,6.033,1226,7.882,1507,4.891,1528,7.294,1536,5.595,1585,7.874,1730,10.283,1749,5.109,1831,5.946,1884,3.919,1986,7.294,2564,7.097,2897,5.404,3382,4.032,4183,7.076,4223,10.669,4227,5.595,4230,4.776,4232,5.595,4240,5.595,4241,9.375,4242,7.076,7949,7.882,12594,7.882,13792,7.882,14278,11.022,14311,6.378,14312,8.984,14313,8.984,14314,8.984,14315,6.378,14316,6.378,14317,8.984,14318,8.984,14319,6.378,14320,8.984,14321,6.378,14322,8.984,14323,8.984,14324,8.984,14325,6.378,14326,6.378,14327,6.378,14328,6.378,14329,6.378,14330,8.984,14331,6.378,14332,6.378,14333,6.378,14334,8.984,14335,8.984,14336,6.378,14337,6.378,14338,6.378]],["title/classes/KeycloakAdministration.html",[0,0.24,14339,6.432]],["body/classes/KeycloakAdministration.html",[0,0.301,2,0.929,3,0.017,4,0.017,5,0.008,7,0.123,27,0.344,30,0.001,47,1.015,51,5.322,87,6.447,95,0.127,101,0.011,103,0.001,104,0.001,112,0.867,122,2.314,129,3.32,130,2.389,311,5.703,467,3.549,2218,3.902,2219,4.392,2220,4.239,2332,6.203,2383,7.347,4228,5.104,4855,6.481,4856,6.893,6325,6.447,8902,8.307,13535,7.242,13591,11.131,13593,9.329,13594,10.251,13712,9.007,14339,10.273,14340,9.329,14341,11.094,14342,11.094,14343,11.094,14344,11.094,14345,11.094,14346,11.094,14347,8.737,14348,6.882]],["title/modules/KeycloakAdministrationModule.html",[252,1.835,13707,5.639]],["body/modules/KeycloakAdministrationModule.html",[0,0.313,3,0.017,4,0.017,5,0.008,7,0.128,30,0.001,95,0.153,101,0.012,103,0.001,104,0.001,252,3.277,254,3.267,255,3.46,256,3.549,257,3.536,258,3.523,259,4.511,260,4.617,269,4.444,270,3.485,271,3.412,274,3.792,277,1.309,618,5.845,685,5.3,1267,6.516,2087,3.924,2383,7.629,2815,4.545,4855,5.3,4856,5.637,12349,6.98,13594,9.553,13707,11.25,13712,7.365,14348,7.146,14349,9.072,14350,9.072,14351,9.072,14352,10.539,14353,9.072,14354,10.52,14355,6.794,14356,8.401,14357,8.401,14358,7.629,14359,7.629,14360,6.958,14361,9.072]],["title/injectables/KeycloakAdministrationService.html",[589,0.929,14352,5.089]],["body/injectables/KeycloakAdministrationService.html",[0,0.187,3,0.01,4,0.01,5,0.005,7,0.113,8,0.924,27,0.521,29,0.417,30,0.001,31,0.305,32,0.1,33,0.25,34,0.93,35,1.468,36,2.478,47,0.829,55,1.089,95,0.109,101,0.007,103,0,104,0,112,0.626,129,2.397,130,2.19,135,1.46,145,3.551,148,1.229,153,1.32,195,1.189,197,1.511,228,1.453,277,0.785,317,2.945,433,0.988,467,2.767,569,2.492,589,1.071,591,1.296,629,2.862,652,2.667,657,2.844,688,2.566,711,4.221,1328,2.882,1329,3.305,1741,7.415,1743,5.751,2218,2.428,2332,3.04,2383,4.572,2815,3.203,4855,7.798,4856,8.295,6325,2.733,8206,3.27,12349,4.92,13591,8.819,13593,4.572,13594,4.572,14348,4.282,14352,5.867,14354,9.712,14355,4.071,14356,5.034,14357,5.034,14362,10.238,14363,5.436,14364,9.506,14365,9.506,14366,10.487,14367,10.487,14368,10.487,14369,10.487,14370,10.487,14371,10.487,14372,10.487,14373,10.487,14374,10.487,14375,5.034,14376,9.506,14377,8.007,14378,7.415,14379,5.436,14380,5.436,14381,5.436,14382,5.436,14383,5.436,14384,5.436,14385,5.436,14386,5.436,14387,5.436,14388,8.007,14389,5.436,14390,5.436,14391,5.436,14392,5.436,14393,5.436,14394,5.436,14395,5.436,14396,8.007,14397,5.436,14398,5.436,14399,5.436,14400,8.007,14401,6.501,14402,8.007,14403,9.506,14404,5.034,14405,5.034,14406,5.436,14407,5.436,14408,5.034,14409,4.769,14410,5.436,14411,5.436,14412,5.436,14413,9.506,14414,8.007,14415,5.436]],["title/classes/KeycloakConfiguration.html",[0,0.24,14358,5.841]],["body/classes/KeycloakConfiguration.html",[0,0.341,2,1.05,3,0.019,4,0.019,5,0.009,7,0.139,27,0.389,30,0.001,32,0.123,95,0.113,101,0.013,103,0.001,104,0.001,112,0.936,129,3.583,130,2.701,311,6.447,467,3.75,2218,4.411,2357,5.616,4855,6.993,4856,7.438,13584,10.832,13587,11.085,13588,11.085,14348,7.779,14358,10.066,14416,10.502,14417,12.881,14418,11.97,14419,11.97,14420,8.664,14421,8.664]],["title/modules/KeycloakConfigurationModule.html",[252,1.835,14422,6.094]],["body/modules/KeycloakConfigurationModule.html",[0,0.234,3,0.013,4,0.013,5,0.006,30,0.001,95,0.161,101,0.009,103,0,104,0,252,2.841,254,2.444,255,2.589,256,2.655,257,2.645,258,2.635,259,3.911,260,4.003,264,9.045,265,5.821,269,3.67,270,2.607,271,2.553,274,3.922,276,3.67,277,0.98,618,6.045,685,3.965,1027,2.085,1267,4.875,1525,9.227,1537,5.082,1540,4.875,2087,2.936,2218,3.031,2357,3.859,3779,4.492,3855,9.658,4855,3.965,4856,4.217,4861,9.43,4862,5.346,4863,5.346,4875,10.363,5174,4.785,9780,9.43,13589,8.232,13707,10.224,13712,5.51,13713,5.955,14348,5.346,14358,5.708,14359,9.043,14416,5.955,14421,5.955,14422,12.7,14423,6.787,14424,6.787,14425,6.787,14426,6.787,14427,11.581,14428,11.063,14429,10.59,14430,6.787,14431,9.434,14432,6.787,14433,6.787,14434,7.89,14435,6.285,14436,6.285,14437,6.285,14438,6.285,14439,6.787,14440,6.787,14441,5.955,14442,6.787]],["title/injectables/KeycloakConfigurationService.html",[589,0.929,14427,5.841]],["body/injectables/KeycloakConfigurationService.html",[0,0.092,3,0.005,4,0.005,5,0.002,7,0.037,8,0.522,10,1.817,27,0.448,29,0.765,30,0.001,31,0.596,32,0.124,33,0.459,34,1.865,35,1.317,36,2.408,47,0.872,59,0.825,74,2.039,95,0.127,101,0.003,103,0,104,0,135,1.754,141,1.94,145,0.993,148,0.774,157,0.612,180,1.135,195,1.861,197,2.174,219,1.486,228,1.265,230,1.759,277,0.384,290,1.397,317,2.849,335,2.994,360,2.573,388,1.94,413,1.616,414,3.955,433,0.558,571,3.781,589,0.605,591,0.634,614,0.821,618,3.806,634,5.254,641,4.446,649,1.671,650,2.158,651,1.345,652,2.692,657,3.131,675,3.55,711,2.961,734,2.479,756,2.336,886,0.836,1086,4.56,1087,4.418,1088,4.488,1197,4.609,1268,1.633,1278,2.332,1925,2.75,2009,1.759,2087,3.68,2342,1.909,2369,1.486,2478,1.671,2543,2.433,2833,6.348,2897,2.722,2904,1.909,2920,4.525,3218,2.619,3223,2.489,3394,2.07,4370,1.712,4855,6.752,4856,7.182,5017,2.158,5042,1.353,6325,2.275,6949,4.423,7072,3.25,7912,4.967,7964,2.094,8208,3.315,8211,1.99,8838,2.461,9032,4.19,10054,2.461,10468,2.039,12349,5.227,13543,2.78,13593,8.682,13757,5.47,14352,5.109,14355,6.37,14360,2.039,14362,2.039,14401,8.382,14404,2.461,14405,2.461,14408,2.461,14409,2.332,14427,3.805,14434,7.633,14435,2.461,14436,2.461,14443,10.141,14444,4.524,14445,6.973,14446,6.973,14447,6.973,14448,6.973,14449,4.524,14450,4.524,14451,4.524,14452,6.973,14453,4.524,14454,4.524,14455,4.524,14456,4.524,14457,2.235,14458,7.633,14459,2.658,14460,3.805,14461,4.524,14462,2.658,14463,9.558,14464,2.658,14465,2.658,14466,2.658,14467,2.658,14468,4.524,14469,8.591,14470,2.658,14471,5.008,14472,4.524,14473,2.658,14474,9.077,14475,4.524,14476,2.658,14477,6.423,14478,2.658,14479,5.907,14480,4.524,14481,2.658,14482,5.907,14483,4.524,14484,8.507,14485,6.457,14486,2.658,14487,4.524,14488,5.907,14489,4.524,14490,2.658,14491,4.524,14492,2.658,14493,2.658,14494,2.658,14495,2.658,14496,2.658,14497,4.524,14498,2.658,14499,2.658,14500,2.461,14501,2.658,14502,2.332,14503,2.658,14504,2.461,14505,4.524,14506,9.847,14507,2.332,14508,3.969,14509,6.457,14510,5.907,14511,4.796,14512,5.907,14513,9.057,14514,4.524,14515,4.967,14516,4.524,14517,7.819,14518,4.524,14519,7.819,14520,2.658,14521,8.507,14522,2.658,14523,2.658,14524,2.658,14525,4.524,14526,4.524,14527,4.524,14528,4.524,14529,2.658,14530,4.524,14531,2.461,14532,2.332,14533,2.658,14534,2.658,14535,5.182,14536,4.524,14537,2.658,14538,2.332,14539,2.461,14540,4.19,14541,2.461,14542,2.658,14543,2.658,14544,4.524,14545,4.524,14546,4.524,14547,3.47,14548,2.658,14549,2.658,14550,2.658,14551,2.658,14552,2.658,14553,2.658,14554,4.524,14555,2.658,14556,5.907,14557,5.907,14558,2.658,14559,5.907,14560,2.658,14561,5.907,14562,2.658,14563,2.658,14564,4.524,14565,2.658,14566,4.524,14567,4.524,14568,4.524,14569,6.973,14570,2.658,14571,2.658,14572,4.524,14573,2.658,14574,4.19,14575,2.658,14576,2.658,14577,5.907,14578,4.524,14579,5.907,14580,4.524,14581,2.658,14582,2.658,14583,4.524,14584,2.658,14585,4.524,14586,2.658,14587,2.658,14588,1.99,14589,2.658,14590,2.658,14591,2.658,14592,2.658,14593,4.524,14594,4.524,14595,2.658,14596,2.658,14597,4.524,14598,2.658,14599,2.461,14600,2.658,14601,2.461,14602,4.524,14603,2.658,14604,2.658,14605,2.658,14606,2.658,14607,2.658,14608,2.658,14609,2.658,14610,2.658]],["title/injectables/KeycloakConfigurationUc.html",[589,0.929,4861,5.201]],["body/injectables/KeycloakConfigurationUc.html",[0,0.234,3,0.013,4,0.013,5,0.006,7,0.095,8,1.083,27,0.496,29,0.825,30,0.001,31,0.603,32,0.134,33,0.495,35,1.411,36,2.865,55,2.522,59,3.338,70,3.455,95,0.139,101,0.009,103,0,104,0,122,2.243,148,1.206,228,2.105,277,0.98,317,3.045,433,1.158,589,1.255,591,1.618,618,4.373,652,2.369,657,2.659,711,4.09,985,6.715,4855,7.541,4856,8.021,4859,5.346,4861,7.026,4871,8.897,4894,6.615,4907,8.179,4913,8.5,4920,6.875,10115,6.285,14352,8.5,14359,9.043,14360,5.205,14362,5.205,14427,9.755,14428,10.855,14429,10.855,14437,6.285,14438,6.285,14441,5.955,14457,5.708,14460,7.89,14611,12.909,14612,10.754,14613,6.787,14614,6.787,14615,8.689,14616,6.787,14617,6.787,14618,9.383,14619,6.787,14620,6.787,14621,6.787,14622,6.787,14623,6.787,14624,6.787,14625,6.787,14626,6.787,14627,6.787,14628,6.787,14629,6.787]],["title/classes/KeycloakConsole.html",[0,0.24,4875,5.471]],["body/classes/KeycloakConsole.html",[0,0.12,2,0.369,3,0.007,4,0.007,5,0.003,7,0.049,8,0.652,10,1.394,27,0.435,29,0.819,30,0.001,31,0.575,32,0.128,33,0.472,35,1.188,36,2.556,47,0.584,52,3.616,53,4.141,55,2.374,70,3.639,72,3.77,78,8.981,95,0.094,101,0.005,103,0,104,0,112,0.442,122,0.724,125,2.318,129,3.307,130,1.546,135,1.184,145,2.111,148,0.708,153,0.932,157,2.944,159,0.734,171,2.331,190,1.628,194,4.009,197,3.158,228,1.297,230,4.731,259,2.055,290,1.336,317,2.858,365,1.551,388,3.065,413,2.11,433,0.697,467,2.081,527,1.469,532,1.288,540,4.354,569,1.08,579,1.003,612,3.795,618,5.843,644,2.11,648,2.182,652,2.181,657,2.532,745,5.134,756,3.259,758,6.737,892,2.663,981,3.435,985,5.627,1027,1.066,1080,1.197,1372,1.827,1619,5.974,1626,4.569,1751,4.452,1899,2.266,1927,4.859,1938,3.04,2218,2.524,2234,4.452,2449,2.988,2450,3.868,2543,3.04,2843,8.702,2849,2.818,2920,7.336,3089,5.378,3382,5.321,3771,5.378,3776,6.955,3779,2.298,3780,8.511,3781,5.974,3782,2.028,4854,4.588,4855,6.635,4856,7.057,4857,9.551,4858,2.919,4859,2.734,4860,6.011,4861,7.675,4862,2.734,4863,2.734,4864,4.753,4865,2.919,4866,2.919,4867,8.969,4868,2.919,4869,2.919,4870,4.588,4871,4.335,4872,2.919,4873,2.237,4874,2.663,4875,4.452,4876,2.919,4877,6.011,4878,7.51,4879,4.753,4880,9.551,4881,4.141,4882,4.753,4883,7.861,4884,4.753,4885,3.641,4886,4.232,4887,6.629,4888,4.059,4889,5.532,4890,4.232,4891,2.919,4892,2.919,4893,4.753,4894,6.394,4895,6.928,4896,2.919,4897,2.919,4898,2.6,4899,4.753,4900,6.928,4901,2.919,4902,2.919,4903,2.919,4904,6.928,4905,6.928,4906,4.452,4907,7.226,4908,4.753,4909,2.919,4910,2.919,4911,4.141,4912,4.588,4913,6.645,4914,4.452,4915,4.753,4916,2.919,4917,2.919,4918,2.919,4919,4.753,4920,6.645,4921,2.298,4922,2.734,4923,2.367,4924,2.663,4925,4.753,4926,2.919,4927,2.919,4928,2.919,4929,2.919,4930,2.919,4931,2.919,4932,4.753,4933,2.919,4934,2.919,4935,2.734,4936,4.588,14630,5.652,14631,3.472,14632,3.472,14633,3.472,14634,3.472,14635,3.472,14636,3.472,14637,3.472,14638,3.472,14639,3.472,14640,3.472,14641,3.472,14642,3.472]],["title/injectables/KeycloakIdentityManagementOauthService.html",[589,0.929,13715,5.841]],["body/injectables/KeycloakIdentityManagementOauthService.html",[0,0.195,3,0.011,4,0.011,5,0.005,7,0.08,8,0.952,27,0.467,29,0.632,30,0.001,31,0.462,32,0.133,33,0.379,35,1.239,36,2.514,47,0.934,51,3.956,87,5.713,95,0.146,101,0.007,103,0,104,0,110,1.956,112,0.645,125,2.549,135,1.599,148,1.175,153,0.933,195,1.238,228,1.94,231,1.431,233,1.766,277,0.817,317,2.777,339,2.419,433,1.017,436,2.89,569,2.566,589,1.103,591,1.349,618,3.646,629,2.978,634,7.088,641,3.218,648,7.143,651,2.863,652,2.5,657,2.23,688,2.671,702,2.794,871,3.018,998,2.671,1053,8.349,1054,3.19,1055,6.324,1056,3.646,1169,3.275,1278,4.964,1328,2.999,1329,3.44,1470,3.164,1495,4.064,1496,4.594,1497,4.964,1593,3.477,2392,2.158,2823,4.758,3089,7.418,3223,3.113,4855,6.245,5042,2.881,5171,4.237,5172,7.833,5174,3.99,5193,4.594,6244,2.317,6325,4.891,8206,4.96,8208,4.146,10340,3.745,13463,8.535,13482,6.934,13532,3.8,13535,3.694,13536,4.758,13537,3.8,13540,3.8,13543,5.067,13547,6.439,13709,9.343,13711,4.964,13715,6.934,13718,5.24,13719,9.899,13720,9.899,13721,7.636,13724,7.636,13726,8.005,13727,5.24,14352,7.833,14360,4.34,14362,4.34,14540,7.636,14541,5.24,14643,9.378,14644,9.729,14645,10.69,14646,5.659,14647,8.246,14648,8.246,14649,5.659,14650,5.659,14651,5.659,14652,5.659,14653,11.862,14654,5.659,14655,5.659,14656,5.659,14657,5.659,14658,5.659,14659,5.659,14660,5.659,14661,5.659,14662,5.659,14663,5.659,14664,5.659,14665,5.659,14666,5.659,14667,5.659,14668,5.659,14669,5.659,14670,5.659,14671,5.659,14672,5.24,14673,5.24,14674,5.24,14675,5.659,14676,5.659]],["title/injectables/KeycloakIdentityManagementService.html",[589,0.929,13717,5.841]],["body/injectables/KeycloakIdentityManagementService.html",[0,0.117,3,0.006,4,0.006,5,0.003,7,0.048,8,0.639,27,0.479,29,0.945,30,0.001,31,0.671,32,0.155,33,0.551,34,2.228,35,1.388,36,2.778,39,3.028,47,0.996,51,4.606,59,1.717,87,5.797,94,4.103,95,0.116,98,2.034,99,0.693,101,0.004,103,0,104,0,125,0.806,130,2.626,135,1.629,142,2.018,145,2.066,148,1.204,153,1.743,158,1.25,195,1.21,197,1.538,228,0.614,230,5.367,231,0.96,233,1.055,277,0.488,290,2.27,317,2.981,318,4.852,319,4.852,346,2.477,347,4.583,357,4.242,393,1.669,400,1.007,413,2.055,433,0.417,436,3.425,484,3.973,540,2.464,578,1.767,579,3.056,589,0.74,591,0.806,593,8.228,595,1.276,600,2.966,602,3.131,603,2.966,604,2.966,618,2.178,629,1.78,633,9.871,652,1.96,657,3.07,700,3.386,701,3.386,702,3.465,711,1.643,756,2.188,863,3.043,1268,3.399,1328,1.792,1329,3.362,2344,3.362,3089,5.838,3433,2.27,3434,2.207,3816,2.745,4258,2.745,4855,4.737,8775,2.843,8776,2.745,12349,2.077,13048,2.532,13717,4.651,13728,5.122,13729,5.122,13730,5.122,13731,5.122,13732,7.51,13733,6.5,13734,6.5,13735,5.122,13736,5.122,13737,5.122,13738,7.51,13743,5.122,13745,5.122,13746,5.122,13747,5.122,13749,5.122,13750,7.51,13753,3.131,13754,9.385,13756,8.892,13758,3.131,13759,8.282,13765,2.663,14352,5.942,14355,2.532,14360,2.593,14362,2.593,14375,3.131,14378,5.122,14401,6.584,14643,7.115,14677,5.531,14678,5.531,14679,3.381,14680,3.381,14681,5.531,14682,3.381,14683,5.531,14684,7.846,14685,3.381,14686,5.531,14687,3.381,14688,3.381,14689,3.381,14690,5.531,14691,3.381,14692,3.381,14693,3.381,14694,3.381,14695,3.381,14696,5.531,14697,3.381,14698,5.531,14699,3.381,14700,2.966,14701,10.575,14702,3.381,14703,5.531,14704,5.531,14705,5.531,14706,2.966,14707,2.966,14708,2.966,14709,3.381,14710,5.531,14711,5.531,14712,3.381,14713,3.381,14714,3.381,14715,5.531,14716,3.381,14717,7.019,14718,3.381,14719,7.019,14720,5.531,14721,5.531,14722,3.381,14723,8.11,14724,5.122,14725,5.531,14726,3.381,14727,3.381,14728,2.966,14729,3.381,14730,3.381,14731,3.381,14732,3.381,14733,3.381,14734,3.381,14735,3.381,14736,3.381,14737,3.381,14738,5.531,14739,5.531,14740,7.019,14741,7.019,14742,3.381,14743,2.966,14744,5.122,14745,3.131,14746,3.381,14747,3.381,14748,3.381,14749,3.381,14750,3.381,14751,3.381,14752,3.381,14753,3.381,14754,3.381,14755,3.381]],["title/controllers/KeycloakManagementController.html",[314,2.658,14431,6.094]],["body/controllers/KeycloakManagementController.html",[0,0.281,3,0.015,4,0.015,5,0.008,7,0.115,8,1.225,27,0.321,30,0.001,35,1.229,36,2.248,55,2.125,72,4.855,78,8.043,95,0.135,101,0.011,103,0.001,104,0.001,148,1.051,153,1.344,190,1.463,228,1.926,259,3.858,274,3.407,277,1.177,314,3.12,316,3.933,317,2.56,400,2.427,579,2.356,629,4.291,652,1.664,657,2.704,756,3.224,981,6.449,1027,2.504,1328,4.321,1329,4.955,2009,7.022,2388,6.618,2449,3.407,2450,4.981,2821,7.022,3089,6.926,3223,4.485,3382,5.607,4855,6.198,4856,6.592,4861,7.945,4862,6.421,4863,6.421,4906,9.841,14431,9.308,14756,10.61,14757,7.549,14758,8.151,14759,12.494,14760,10.61,14761,8.151,14762,10.61,14763,10.61,14764,8.614,14765,8.614,14766,10.61,14767,9.825,14768,10.61,14769,11.796,14770,8.151,14771,8.151,14772,8.151,14773,8.151,14774,8.151,14775,8.151,14776,8.151,14777,8.151]],["title/injectables/KeycloakMigrationService.html",[589,0.929,14429,5.841]],["body/injectables/KeycloakMigrationService.html",[0,0.2,3,0.011,4,0.011,5,0.005,7,0.082,8,0.969,27,0.389,29,0.756,30,0.001,31,0.553,32,0.135,33,0.454,34,1.435,35,0.972,36,2.291,51,4.732,55,1.681,66,7.49,70,5.022,87,2.915,94,5.47,95,0.137,101,0.008,103,0,104,0,129,1.735,130,2.295,135,1.65,145,4.286,148,0.977,153,0.956,195,1.836,197,2.333,228,1.79,230,7.156,277,0.837,317,2.596,433,1.036,480,7.228,484,7.085,489,4.875,492,10.012,571,3.319,579,1.675,589,1.122,591,1.382,618,3.735,629,3.052,644,3.524,652,2.442,657,2.895,666,9.461,745,4.164,756,3.901,758,4.017,838,4.875,873,5.339,876,4.357,923,4.875,938,4.707,1027,1.781,1086,4.004,1087,3.879,1088,3.94,1268,3.562,1328,3.073,1329,5.101,1546,4.566,1712,4.341,2333,4.707,2449,4.123,2450,5.076,2833,6.813,3218,3.356,4258,4.707,4855,6.316,4856,6.718,4871,8.8,4920,6.149,8902,4.341,9086,3.837,9844,4.248,12349,3.562,13765,4.566,14352,7.922,14355,4.341,14360,4.446,14362,4.446,14401,4.707,14429,7.057,14443,9.486,14457,4.875,14460,7.057,14513,5.086,14684,7.363,14700,5.086,14706,5.086,14707,5.086,14708,5.086,14728,5.086,14743,5.086,14778,4.875,14779,7.772,14780,5.797,14781,7.772,14782,5.797,14783,8.392,14784,5.369,14785,4.875,14786,5.797,14787,9.864,14788,5.797,14789,5.797,14790,8.392,14791,5.369,14792,5.797,14793,5.797,14794,5.797,14795,7.772,14796,5.369,14797,7.772,14798,5.369,14799,5.369,14800,5.369,14801,7.772,14802,7.772,14803,9.864,14804,5.797,14805,5.369,14806,5.797,14807,5.797,14808,5.797]],["title/modules/KeycloakModule.html",[252,1.835,13708,5.841]],["body/modules/KeycloakModule.html",[0,0.286,3,0.016,4,0.016,5,0.008,30,0.001,95,0.155,101,0.011,103,0.001,104,0.001,252,3.141,254,2.984,255,3.16,256,3.241,257,3.229,258,3.217,259,4.324,260,4.426,265,6.166,269,4.194,270,3.183,271,3.116,276,4.194,277,1.196,618,5.338,648,5.208,1027,2.545,1054,4.672,3089,7,3872,7,4855,4.84,5174,5.842,8775,6.968,9780,9.989,13707,10.83,13708,12.143,13711,7.269,13712,6.727,13713,7.269,13715,11.946,13717,11.946,14359,9.018,14809,8.286,14810,8.286,14811,8.286,14812,8.286,14813,8.286]],["title/classes/KeycloakSeedService.html",[0,0.24,14428,5.841]],["body/classes/KeycloakSeedService.html",[0,0.164,2,0.506,3,0.009,4,0.009,5,0.004,7,0.067,8,0.837,10,1.911,27,0.438,29,0.673,30,0.001,31,0.492,32,0.122,33,0.404,34,1.24,35,1.224,36,2.641,51,4.212,55,1.452,87,2.393,94,4.441,95,0.136,101,0.006,103,0,104,0,129,1.425,130,1.982,135,1.678,145,3.945,148,1.146,195,2.147,197,1.323,219,2.661,228,1.593,230,4.797,277,0.687,290,2.631,317,2.877,339,2.126,347,2.439,433,0.894,484,5.206,489,4.003,571,4.178,578,2.488,618,3.066,652,2.623,657,3.084,688,2.247,700,2.296,701,2.296,702,2.35,711,2.607,725,5.111,745,5.206,756,3.472,758,3.298,923,4.003,938,3.864,979,9.781,986,4.408,1027,1.462,1086,5.039,1087,4.882,1088,4.959,1268,2.925,1546,3.749,2218,2.126,2233,3.245,2333,3.864,2344,2.893,2357,2.707,2449,3.669,2450,4.608,2833,7.968,3382,5.192,3433,3.196,3434,3.107,3816,3.864,4258,3.864,4855,6.759,4856,7.189,4859,5.709,4894,5.111,4907,6.92,6949,3.564,7488,4.003,8902,3.564,11991,5.559,12019,6.095,12020,6.095,12033,3.65,12349,2.925,13048,3.564,13584,8.253,13589,4.176,13765,3.749,14253,9.266,14257,9.266,14348,3.749,14352,7.191,14355,3.564,14360,3.65,14362,3.65,14401,7.127,14421,4.176,14428,6.095,14443,10.15,14457,4.003,14460,6.095,14513,7.702,14535,4.176,14615,6.712,14684,6.359,14700,4.176,14706,4.176,14707,4.176,14708,4.176,14728,6.359,14743,4.176,14745,4.408,14779,6.712,14781,6.712,14791,4.408,14795,6.712,14796,4.408,14797,6.712,14798,4.408,14799,4.408,14800,4.408,14801,6.712,14802,6.712,14805,4.408,14814,4.76,14815,9.815,14816,9.815,14817,8.779,14818,4.76,14819,4.76,14820,4.76,14821,4.76,14822,4.76,14823,4.76,14824,4.76,14825,7.249,14826,4.76,14827,4.76,14828,4.76,14829,8.779,14830,4.76,14831,4.76,14832,4.76,14833,4.76,14834,4.76,14835,9.815,14836,4.76,14837,4.76,14838,4.76,14839,4.76,14840,4.76,14841,4.76,14842,4.76,14843,4.76,14844,4.76,14845,4.76,14846,7.249,14847,4.76]],["title/classes/LdapAlreadyPersistedException.html",[0,0.24,14848,5.639]],["body/classes/LdapAlreadyPersistedException.html",[0,0.421,2,0.815,3,0.015,4,0.015,5,0.007,7,0.108,8,1.177,27,0.401,29,0.588,30,0.001,31,0.43,32,0.096,33,0.353,35,0.889,47,0.9,52,5.792,55,1.536,59,2.38,95,0.116,101,0.016,103,0,104,0,148,1.134,208,4.82,231,2.204,277,1.107,290,2.707,433,0.946,640,6.263,703,3.554,983,4.941,1027,2.355,1115,4.382,1237,3.596,1422,5.201,1423,5.995,1426,5.86,1468,5.995,1469,6.308,1472,5.699,2934,5.9,4938,5.239,9922,10.601,9995,5.619,13560,5.075,14848,8.275,14849,9.627,14850,6.449,14851,10.311,14852,10.259,14853,7.669,14854,10.259,14855,7.669,14856,6.449,14857,6.226,14858,6.226,14859,8.571,14860,6.226]],["title/classes/LdapAuthorizationBodyParams.html",[0,0.24,14861,5.841]],["body/classes/LdapAuthorizationBodyParams.html",[0,0.393,2,0.971,3,0.017,4,0.017,5,0.008,7,0.128,27,0.513,30,0.001,32,0.162,47,0.995,48,6.106,51,5.969,87,6.255,95,0.13,101,0.012,103,0.001,104,0.001,112,0.892,190,2.339,200,2.798,202,2.098,296,3.504,299,4.849,855,5.035,856,6.9,4557,4.355,6771,8.36,8254,9.263,14861,9.594,14862,13.413,14863,8.014,14864,8.459,14865,9.134,14866,9.134,14867,9.134]],["title/classes/LdapConfig.html",[0,0.24,14868,4.664]],["body/classes/LdapConfig.html",[0,0.328,2,1.01,3,0.018,4,0.018,5,0.009,7,0.134,27,0.52,29,0.729,30,0.001,31,0.533,32,0.165,33,0.583,47,0.937,101,0.012,103,0.001,104,0.001,110,4.379,112,0.914,122,2.439,232,3.168,311,6.202,433,1.172,435,3.226,4885,8.159,5042,6.447,7127,5.148,8064,5.973,14420,8.336,14868,9.11,14869,13.567,14870,10.257,14871,8.799,14872,7.484,14873,9.502,14874,6.962,14875,9.502]],["title/classes/LdapConfigEntity.html",[0,0.24,14876,5.201]],["body/classes/LdapConfigEntity.html",[0,0.31,2,0.429,3,0.008,4,0.008,5,0.004,7,0.057,26,1.63,27,0.493,29,0.31,30,0.001,31,0.226,32,0.162,33,0.624,47,1.03,83,3.028,95,0.103,96,1.069,101,0.013,103,0,104,0,110,3.383,112,0.499,122,1.331,134,1.426,157,0.929,159,0.415,172,1.716,185,1.387,190,2.216,195,3.067,196,4.464,197,1.122,205,1.615,211,6.734,223,4.431,224,1.178,225,2.45,226,1.829,228,1.435,229,1.597,231,0.701,232,1.094,233,1.26,331,1.786,433,0.498,561,1.812,620,2.508,628,2.404,886,2.488,997,2.538,1454,2.481,1561,2.846,1593,2.481,2108,1.762,2160,2.672,2185,3.096,2698,3.248,4623,3.406,4661,4.582,4695,2.454,4885,5.095,5042,4.574,5178,2.204,5183,2.316,6244,1.653,6325,3.207,6642,3.269,6662,2.601,6663,2.798,7127,3.456,8064,2.538,8150,2.711,8206,3.837,10340,2.672,11395,5.234,13411,6.227,13472,4.01,13485,3.023,13486,3.023,13487,2.958,13488,3.023,13532,2.711,13535,2.635,13537,2.711,13540,2.711,13543,2.481,13547,2.672,13649,4.349,13811,3.096,14205,3.92,14218,5.095,14219,2.635,14220,2.635,14471,4.582,14477,4.11,14588,3.023,14868,5.31,14872,3.18,14874,4.674,14876,7.327,14877,3.278,14878,6.42,14879,6.42,14880,6.42,14881,6.42,14882,6.42,14883,6.42,14884,6.42,14885,6.42,14886,5.179,14887,4.037,14888,4.037,14889,4.037,14890,4.037,14891,4.037,14892,4.037,14893,4.037,14894,4.037,14895,4.037,14896,4.037,14897,4.037,14898,4.037,14899,4.037,14900,4.892,14901,6.728,14902,4.283,14903,3.278,14904,4.674,14905,3.096,14906,4.674,14907,3.096,14908,3.023,14909,3.023,14910,3.023,14911,3.096,14912,3.023,14913,3.023,14914,3.023,14915,3.096,14916,3.096,14917,3.023,14918,3.096,14919,3.023,14920,3.023,14921,3.023,14922,3.096,14923,4.283,14924,3.18,14925,2.9,14926,3.278,14927,3.278,14928,3.278,14929,3.278,14930,3.278,14931,3.278,14932,3.278,14933,3.278,14934,3.278,14935,3.096,14936,3.278,14937,3.278,14938,3.278,14939,3.278,14940,3.278,14941,3.278,14942,3.18,14943,3.278,14944,3.278,14945,2.958,14946,3.278,14947,3.278,14948,3.278,14949,3.278,14950,3.278,14951,3.278,14952,3.278,14953,3.278,14954,3.278,14955,3.278,14956,3.278,14957,3.278,14958,3.278,14959,3.278,14960,3.096,14961,3.278,14962,3.18,14963,3.096,14964,3.18,14965,3.096,14966,3.096,14967,3.18,14968,3.096,14969,3.18,14970,3.096,14971,2.958,14972,2.958,14973,2.958,14974,3.023,14975,3.096,14976,3.278,14977,3.096,14978,3.278,14979,3.278,14980,3.278,14981,3.278,14982,3.278,14983,3.096,14984,3.18,14985,3.096,14986,3.18]],["title/classes/LdapConnectionError.html",[0,0.24,14987,6.094]],["body/classes/LdapConnectionError.html",[0,0.273,2,0.841,3,0.015,4,0.015,5,0.007,7,0.111,8,1.201,27,0.529,29,0.607,30,0.001,31,0.443,32,0.173,33,0.535,35,0.917,47,0.824,55,1.584,59,2.455,95,0.119,101,0.01,103,0.001,104,0.001,112,0.813,155,3.917,190,2.303,228,2.525,231,1.806,233,2.469,277,1.142,393,3.905,402,2.831,433,0.976,436,3.912,644,6.324,868,5.925,871,2.896,998,5.487,1078,5.415,1080,4.257,1115,4.449,1354,8.664,1355,7.36,1356,7.589,1360,5.235,1361,4.538,1362,5.235,1363,5.235,1364,5.235,1365,5.235,1366,5.235,1367,4.861,1368,4.46,1374,5.096,4889,6.986,13560,6.886,14987,9.127,14988,10.404,14989,7.911,14990,10.404,14991,7.911,14992,7.911,14993,7.911]],["title/injectables/LdapService.html",[589,0.929,1529,5.841]],["body/injectables/LdapService.html",[0,0.237,3,0.013,4,0.013,5,0.006,7,0.097,8,1.092,27,0.426,29,0.83,30,0.001,31,0.607,32,0.135,33,0.498,35,1.096,36,2.471,47,0.978,51,6.213,87,6.633,95,0.144,101,0.009,103,0,104,0,110,2.375,135,1.413,148,0.937,153,1.784,228,1.247,277,0.991,290,1.624,317,2.348,347,3.519,395,5.088,400,2.045,433,0.848,478,1.923,579,2.734,589,1.265,591,1.638,652,2.209,657,1.574,745,4.933,1027,2.11,1080,2.368,1313,4.683,1314,5.033,1329,7.088,1330,5.776,1529,7.955,1983,6.352,2087,2.971,2449,3.954,2450,5.474,2815,4.329,2836,5.41,2848,6.026,3262,4.612,3394,5.336,3830,5.576,4250,6.026,4252,6.026,4889,4.612,5178,7.07,8848,8.3,13560,4.546,14547,7.255,14868,6.352,14935,5.268,14987,8.3,14994,6.869,14995,9.46,14996,6.869,14997,9.46,14998,6.869,14999,9.46,15000,6.869,15001,6.361,15002,6.869,15003,6.869,15004,6.869,15005,6.869,15006,6.869,15007,6.869,15008,6.869,15009,6.869,15010,5.033,15011,6.869,15012,6.869,15013,6.869,15014,6.869,15015,6.869,15016,8.76,15017,6.869,15018,6.869,15019,6.869,15020,6.869,15021,6.361,15022,6.869,15023,6.869]],["title/injectables/LdapStrategy.html",[589,0.929,1530,6.094]],["body/injectables/LdapStrategy.html",[0,0.149,3,0.008,4,0.008,5,0.004,7,0.061,8,0.778,27,0.422,29,0.858,30,0.001,31,0.666,32,0.154,33,0.493,34,0.74,35,1.172,36,2.27,39,1.198,47,0.913,48,5.96,51,5.139,66,6.992,72,1.981,87,5.972,94,6.01,95,0.147,101,0.006,103,0,104,0,125,2.226,130,2.553,135,1.586,142,3.406,148,0.924,153,1.539,158,1.6,159,0.445,172,3.968,180,2.876,193,2.927,194,2.635,195,0.947,228,1.944,230,4.459,231,1.169,233,1.351,268,6.798,277,0.625,279,1.817,290,2.392,304,2.137,317,2.578,325,3.346,347,2.218,349,3.43,379,3.43,412,1.915,433,0.831,478,1.212,532,3.974,571,1.712,579,2.698,589,0.901,591,1.032,629,3.546,652,2.722,653,1.787,657,2.723,671,6.84,675,2.204,703,3.325,985,2.505,1027,1.33,1080,3.218,1213,4.287,1220,2.483,1328,3.571,1329,4.096,1396,5.329,1526,8.577,1529,9.404,1530,5.911,1531,6.582,1545,3.052,1551,3.64,1552,4.008,1561,3.052,1689,6.239,1701,6.239,1712,3.241,1829,1.84,1853,1.415,1983,5.555,1997,3.41,2070,5.965,2231,2.461,2449,4.674,2597,3.32,3394,5.292,3893,3.41,3940,2.865,4499,4.008,4557,3.267,4562,6.815,4972,2.907,5106,3.624,5178,5.523,6207,2.951,6344,3,6527,2.907,7990,3.241,9510,4.937,9810,5.47,9836,3.32,9992,7.66,12047,3.32,13360,3.64,13560,6.178,14184,3.64,14284,3.32,14288,5.47,14293,3.514,14861,6.956,15010,3.172,15024,4.329,15025,7.66,15026,6.738,15027,6.738,15028,3.64,15029,6.716,15030,4.329,15031,5.045,15032,4.329,15033,4.329,15034,6.738,15035,4.329,15036,6.738,15037,4.329,15038,4.329,15039,6.239,15040,4.329,15041,4.329,15042,4.008,15043,4.329,15044,4.329,15045,4.008,15046,3.514,15047,4.008,15048,4.329,15049,4.329,15050,4.329,15051,4.008,15052,4.329,15053,4.329,15054,4.008,15055,6.239,15056,4.008,15057,4.008,15058,4.329,15059,4.008,15060,4.329,15061,4.329,15062,4.329,15063,4.008,15064,6.738,15065,3.798,15066,4.329,15067,4.329,15068,6.239,15069,4.329,15070,2.951,15071,4.329,15072,4.329]],["title/classes/LdapUserMigrationException.html",[0,0.24,14851,5.639]],["body/classes/LdapUserMigrationException.html",[0,0.434,2,0.883,3,0.016,4,0.016,5,0.008,30,0.001,47,0.844,52,6.021,55,1.663,95,0.123,101,0.017,103,0.001,104,0.001,148,1.178,208,5.219,231,2.262,277,1.198,290,1.963,640,6.598,703,3.694,983,5.349,1027,2.55,1115,4.555,1237,3.508,1422,5.153,1423,5.939,1426,5.341,1468,5.939,1469,6.249,1472,6.004,2934,6.888,4938,3.8,9922,10.215,9995,6.084,13560,5.495,14848,6.741,14849,6.982,14850,6.982,14851,10.579,14852,10.008,14854,10.008,14856,6.982,14857,6.741,14858,6.741,14859,9.03,14860,6.741]],["title/interfaces/Learnroom.html",[159,0.713,3874,4.534]],["body/interfaces/Learnroom.html",[3,0.019,4,0.019,5,0.009,7,0.144,30,0.001,32,0.128,95,0.117,99,2.096,101,0.016,103,0.001,104,0.001,112,0.956,159,1.256,161,2.428,527,5.175,569,3.805,2936,6.589,3874,7.98,4143,9.098,5565,6.507,5566,6.676,7437,8.958,15073,9.471]],["title/modules/LearnroomApiModule.html",[252,1.835,15074,5.841]],["body/modules/LearnroomApiModule.html",[0,0.221,3,0.012,4,0.012,5,0.006,30,0.001,95,0.156,101,0.008,103,0,104,0,252,2.757,254,2.311,255,2.448,256,2.51,257,2.501,258,2.492,259,3.795,260,2.389,268,7.521,269,3.53,270,2.465,271,2.414,273,4.034,274,3.772,276,4.082,277,0.926,279,2.694,412,2.84,685,3.749,1856,7.098,1902,9.066,1907,8.724,1910,7.603,1938,3.452,2050,2.705,2666,2.967,2869,4.083,3017,3.029,3263,9.265,3298,3.944,3299,3.65,3998,4.31,4791,4.703,7262,9.265,7516,9.156,7532,10.405,7535,10.405,7609,10.405,8287,9.156,8304,10.405,8565,9.746,8650,7.108,8670,4.806,8920,8.724,8931,4.525,9594,9.746,9685,10.045,9905,4.923,12129,4.923,12130,4.923,15074,12.354,15075,6.418,15076,6.418,15077,6.418,15078,10.405,15079,10.405,15080,10.405,15081,6.418,15082,9.156,15083,6.418,15084,6.418,15085,6.418,15086,6.418,15087,5.944,15088,6.418,15089,5.944]],["title/interfaces/LearnroomElement.html",[159,0.713,2936,4.475]],["body/interfaces/LearnroomElement.html",[3,0.019,4,0.019,5,0.009,7,0.141,30,0.001,32,0.151,95,0.115,99,2.06,101,0.016,103,0.001,104,0.001,112,0.946,159,1.242,161,2.386,527,5.701,569,3.765,2936,7.793,3874,6.56,4143,6.748,5565,8.569,5566,8.792,7437,8.863,15073,9.305]],["title/modules/LearnroomModule.html",[252,1.835,8920,4.897]],["body/modules/LearnroomModule.html",[0,0.223,3,0.012,4,0.012,5,0.006,30,0.001,95,0.148,101,0.008,103,0,104,0,252,2.769,254,2.33,255,2.468,256,2.531,257,2.521,258,2.512,259,3.812,260,3.902,265,5.734,268,7.541,269,3.55,270,2.485,271,2.433,276,3.55,277,0.934,279,2.716,610,2.55,685,3.78,1027,1.987,1907,8.746,1909,9.514,1910,7.622,1931,9.289,1932,4.647,2017,9.039,3251,10.432,3263,9.289,3298,3.976,3299,3.679,5569,10.432,5696,11.485,7262,9.289,7553,11.089,7560,11.089,7706,11.982,8565,9.771,8650,7.148,8920,10.386,8931,4.562,9905,4.962,15089,5.992,15090,6.47,15091,6.47,15092,6.47,15093,6.47,15094,9.289,15095,6.47,15096,5.441]],["title/injectables/LegacyLogger.html",[589,0.929,2450,3.261]],["body/injectables/LegacyLogger.html",[0,0.317,3,0.01,4,0.01,5,0.005,7,0.072,8,1.176,27,0.5,29,0.956,30,0.001,31,0.723,32,0.155,33,0.574,35,1.413,47,0.992,59,3.682,72,2.345,95,0.131,101,0.007,102,2.716,103,0,104,0,112,0.599,125,2.189,129,2.294,130,1.401,135,1.001,141,2.197,148,0.759,153,0.845,158,4.386,161,1.217,183,5.457,228,0.93,277,0.74,339,2.988,412,3.391,433,0.632,515,2.798,525,2.679,569,4.012,589,1.025,591,1.222,610,3.02,622,6.036,652,2.592,688,2.419,1042,5.072,1080,2.642,1115,4.86,1212,3.301,1220,2.939,1237,2.706,1379,5.504,2163,2.369,2449,5.212,2450,3.598,2505,3.184,2818,3.391,2897,4.61,3262,3.441,4206,3.301,4923,8.316,4967,5.615,5883,3.184,6244,3.139,8968,6.444,9863,8.938,9873,4.495,9874,6.036,9877,4.495,11230,7.453,12047,3.93,12548,6.444,13596,9.568,13599,4.495,13600,6.723,13601,7.097,13603,7.097,13604,9.434,13606,7.097,13607,8.938,13609,7.097,13611,7.097,15097,12.89,15098,5.124,15099,7.664,15100,9.434,15101,9.434,15102,7.664,15103,7.664,15104,5.124,15105,5.124,15106,5.124,15107,5.124,15108,5.124,15109,7.097,15110,5.124,15111,7.664,15112,5.124,15113,5.124,15114,7.664,15115,7.664,15116,6.036,15117,7.664,15118,5.124,15119,5.124,15120,4.745,15121,4.16,15122,5.124,15123,4.16,15124,4.745,15125,4.16,15126,5.124,15127,5.124,15128,5.124,15129,5.124,15130,5.124,15131,6.444,15132,5.124,15133,4.745,15134,4.745]],["title/classes/LegacySchoolDo.html",[0,0.24,2070,4.096]],["body/classes/LegacySchoolDo.html",[0,0.227,2,0.7,3,0.013,4,0.013,5,0.006,7,0.093,26,2.483,27,0.544,29,0.505,30,0.001,31,0.642,32,0.172,33,0.658,34,1.572,47,0.941,83,2.675,95,0.121,99,1.35,101,0.009,102,6.07,103,0,104,0,112,0.718,122,1.917,231,1.988,233,2.056,326,2.503,433,0.813,436,1.956,458,2.635,478,1.844,704,5.388,734,3.857,1829,3.906,1852,7.357,1882,3.505,1940,5.999,2070,7.103,2183,2.596,4184,6.368,4683,8.088,4700,5.052,5183,6.071,6652,4.826,7388,7.334,7396,7.107,7474,4.932,7782,3.962,8108,5.052,9981,6.909,9986,4.932,10801,5.779,11393,7.728,11394,7.048,11395,7.972,12422,7.107,13160,5.779,14925,4.731,15070,7.216,15135,13.805,15136,6.587,15137,8.117,15138,7.755,15139,7.107,15140,9.19,15141,9.19,15142,6.587,15143,7.601,15144,6.587,15145,6.587,15146,6.587,15147,6.587,15148,6.587,15149,6.587,15150,6.587,15151,6.587,15152,6.587,15153,6.587,15154,6.587,15155,5.348,15156,6.587,15157,5.052,15158,6.587,15159,4.932,15160,6.587,15161,6.587,15162,6.587,15163,6.587,15164,6.587,15165,5.188,15166,6.587,15167,6.587]],["title/classes/LegacySchoolFactory.html",[0,0.24,15168,6.432]],["body/classes/LegacySchoolFactory.html",[0,0.174,2,0.536,3,0.01,4,0.01,5,0.005,7,0.071,8,0.874,27,0.518,29,1.019,30,0.001,31,0.72,32,0.168,33,0.582,34,1.295,35,1.439,47,0.537,55,2.363,59,3.362,95,0.115,101,0.007,103,0,104,0,112,0.592,113,4.533,127,5.049,129,3.633,130,3.319,135,0.658,148,0.499,153,1.666,157,2.092,172,3.218,185,2.601,192,2.773,195,1.103,205,1.856,206,2.468,228,1.374,231,1.314,326,4.806,374,3.274,433,0.622,436,3.907,467,2.204,501,7.127,502,5.604,505,4.198,506,5.604,507,5.346,508,4.198,509,4.198,510,4.198,511,4.133,512,4.628,513,5.041,514,6.576,515,5.913,516,7.04,517,2.818,522,2.796,523,4.198,524,2.818,525,5.282,526,5.434,527,4.277,528,5.112,529,4.165,530,2.796,531,2.635,532,4.22,533,2.691,534,2.635,535,2.796,536,2.818,537,4.963,538,2.796,539,7.013,540,4.261,541,6.731,542,2.818,543,3.673,544,2.796,545,2.818,546,2.796,547,2.818,548,2.796,551,2.796,552,6.21,553,2.818,554,2.796,555,4.198,556,3.829,557,4.198,558,2.818,559,2.711,560,2.672,561,2.262,562,2.796,563,2.796,564,2.796,565,2.818,566,2.818,567,1.916,568,2.796,569,1.569,570,2.818,571,2.994,572,2.796,573,2.818,576,2.973,704,2.566,756,3.997,1853,1.648,2070,2.973,4665,6.409,4667,3.62,4683,3.385,5183,2.891,7396,3.385,9981,3.29,11395,3.336,14945,3.693,15070,3.437,15137,3.866,15138,3.693,15168,7.01,15169,5.041,15170,5.041,15171,5.041,15172,4.092,15173,5.041,15174,5.041,15175,5.041,15176,5.041,15177,5.041,15178,5.041,15179,10.105,15180,5.041,15181,5.041,15182,5.041,15183,5.041,15184,5.041,15185,5.041,15186,5.041]],["title/modules/LegacySchoolModule.html",[252,1.835,6033,4.664]],["body/modules/LegacySchoolModule.html",[0,0.268,3,0.015,4,0.015,5,0.007,30,0.001,95,0.146,101,0.01,102,6.502,103,0,104,0,252,3.045,254,2.799,255,2.964,256,3.04,257,3.029,258,3.018,259,4.191,260,4.29,265,6.059,269,4.022,270,2.986,271,2.923,276,4.022,277,1.122,279,3.262,610,3.063,1027,2.387,1531,9.241,2065,9.314,2070,6.065,2624,3.815,6033,9.795,11378,11.022,11384,11.834,11385,5.961,15187,7.773,15188,7.773,15189,7.773,15190,7.773,15191,11.834,15192,11.022,15193,11.022,15194,7.773,15195,7.773,15196,7.701]],["title/injectables/LegacySchoolRepo.html",[589,0.929,1531,4.897]],["body/injectables/LegacySchoolRepo.html",[0,0.148,3,0.008,4,0.008,5,0.004,7,0.06,8,0.772,10,2.685,12,3.03,18,3.404,26,2.497,27,0.521,29,1.005,30,0.001,31,0.746,32,0.163,33,0.603,34,1.588,35,1.505,36,2.615,40,2.08,47,0.84,48,4.942,95,0.132,96,1.771,97,1.756,99,0.879,101,0.006,102,4.923,103,0,104,0,112,0.335,113,3.276,125,1.022,135,1.213,142,3.674,148,1.057,153,1.355,185,2.298,205,1.896,224,1.251,228,1.214,231,1.161,277,0.619,317,2.889,347,2.197,433,0.529,435,1.456,436,3.774,478,1.2,569,1.334,579,1.239,589,0.894,591,1.022,652,2.354,657,1.533,692,5.441,703,2.076,704,4.728,729,4.634,735,3.06,736,5.001,756,1.696,766,2.323,1027,1.317,1312,2.045,1531,4.715,1770,3.34,1853,1.402,2070,7.277,2139,2.481,2436,9.242,2438,4.9,2439,4.9,2440,4.9,2441,4.9,2442,4.803,2443,4.803,2444,4.9,2445,4.803,2446,4.9,2447,3.141,2448,5.193,2449,3.882,2450,4.36,2452,4.9,2453,3.141,2455,5.53,2456,3.141,2458,3.141,2460,2.837,2461,4.634,2462,3.141,2464,3.141,2466,4.9,2470,4.9,2472,4.634,2473,4.803,2475,3.141,2477,2.606,2478,2.695,2479,3.141,2481,3.141,2483,3.079,2484,3.141,2490,2.971,2920,3.871,4683,4.49,4737,2.664,4738,3.377,4952,2.695,5178,3.651,5183,4.716,7095,4.365,7396,4.49,9981,6.965,10589,5.007,10590,3.21,10591,3.21,10592,3.21,10593,3.21,10594,3.288,10595,3.21,10596,3.21,10597,3.21,10598,3.21,10605,3.377,10685,3.761,11395,4.426,12755,3.605,14193,7.539,15010,3.141,15070,4.56,15137,5.129,15138,4.9,15139,2.879,15196,5.007,15197,10.07,15198,4.287,15199,5.867,15200,6.687,15201,4.287,15202,8.404,15203,4.287,15204,5.867,15205,4.287,15206,6.687,15207,4.287,15208,4.287,15209,4.287,15210,3.21,15211,3.97,15212,4.287,15213,4.287,15214,4.287,15215,4.287,15216,4.287,15217,4.287,15218,4.287,15219,3.97,15220,4.287,15221,4.287,15222,3.97,15223,4.287,15224,4.287,15225,4.287,15226,4.287,15227,4.287,15228,4.287,15229,3.97,15230,4.287,15231,4.287,15232,4.287,15233,3.97,15234,4.287,15235,4.287,15236,4.287,15237,4.287,15238,3.97,15239,6.687,15240,4.287,15241,4.287]],["title/injectables/LegacySchoolRule.html",[589,0.929,1871,5.841]],["body/injectables/LegacySchoolRule.html",[0,0.265,3,0.015,4,0.015,5,0.007,7,0.108,8,1.178,27,0.451,29,0.879,30,0.001,31,0.642,32,0.152,33,0.527,35,1.183,95,0.149,101,0.01,102,6.472,103,0,104,0,122,2.547,135,1.333,148,1.011,183,4.386,185,4.367,205,2.34,228,1.394,277,1.109,290,3.24,400,2.288,433,0.948,478,2.151,589,1.365,591,1.832,653,3.172,711,3.88,1237,2.265,1767,6.718,1775,6.718,1801,8.118,1838,7.422,1849,4.447,1852,7.2,1853,2.512,1871,8.582,1981,6.575,1985,6.341,1992,5.085,2070,7.862,3678,6.754,3679,5.159,3682,6.662,3684,5.159,3685,6.853,3686,5.63,4737,4.774,6885,5.518,15196,7.642,15242,12.21,15243,7.684,15244,7.684,15245,7.684,15246,7.684]],["title/injectables/LegacySchoolService.html",[589,0.929,2065,4.597]],["body/injectables/LegacySchoolService.html",[0,0.2,3,0.011,4,0.011,5,0.005,7,0.081,8,0.968,18,4.268,26,2.542,27,0.486,29,0.946,30,0.001,31,0.691,32,0.154,33,0.567,34,0.99,35,1.385,36,2.836,47,0.949,48,5.303,95,0.137,99,1.187,101,0.008,102,5.727,103,0,104,0,129,1.733,130,1.583,135,1.561,142,3.059,148,1.136,197,2.74,205,1.182,228,1.521,277,0.836,279,2.43,317,3.024,433,1.034,478,1.621,552,3.161,589,1.121,591,1.38,652,1.712,657,2.894,703,2.602,704,2.947,1213,6.874,1373,3.483,1531,7.618,1853,1.893,2065,5.549,2070,7.891,4557,2.934,7626,7.751,11385,9.685,14193,9.706,14744,7.764,15029,6.806,15045,7.764,15143,9.07,15192,10.369,15196,6.278,15219,5.361,15247,12.629,15248,5.789,15249,8.384,15250,8.384,15251,8.384,15252,8.384,15253,8.384,15254,5.361,15255,5.789,15256,8.384,15257,5.789,15258,8.384,15259,5.789,15260,8.384,15261,5.789,15262,5.789,15263,8.384,15264,5.789,15265,8.384,15266,5.789,15267,8.384,15268,5.789,15269,5.789,15270,8.384,15271,5.789,15272,5.789,15273,8.384,15274,5.789,15275,5.789,15276,5.789,15277,5.789]],["title/injectables/LegacySystemRepo.html",[589,0.929,671,5.089]],["body/injectables/LegacySystemRepo.html",[0,0.229,3,0.013,4,0.013,5,0.006,7,0.093,8,1.066,10,3.707,12,4.183,18,4.7,26,1.903,27,0.505,29,0.926,30,0.001,31,0.677,32,0.166,33,0.556,34,1.134,35,1.449,36,2.718,40,3.217,49,3.472,95,0.138,99,1.359,101,0.009,102,4.894,103,0,104,0,129,1.984,135,0.866,148,1.052,153,1.522,158,2.452,185,3.173,205,1.354,206,3.01,231,1.602,252,1.752,277,0.957,317,2.977,412,2.934,436,3.411,478,1.857,532,5.044,571,2.622,579,1.916,589,1.235,591,1.581,610,2.613,671,6.764,728,7.424,734,3.875,735,4.225,736,5.275,759,3.949,760,4.03,761,3.989,762,4.03,763,4.595,764,3.989,765,4.03,766,3.592,771,4.762,809,4.328,1086,3.163,1087,3.065,1088,3.113,1089,3.313,1166,4.388,1167,4.074,1393,6.092,1829,2.818,1940,4.328,1994,4.858,2037,4.272,2369,3.707,2461,6.397,2533,3.77,3394,3.034,5178,5.04,5909,7.029,6244,3.781,7843,4.675,15031,4.965,15278,11.485,15279,6.63,15280,9.046,15281,8.549,15282,6.63,15283,8.549,15284,9.046,15285,6.63,15286,6.63,15287,8.099,15288,6.63,15289,6.14,15290,5.817,15291,4.858,15292,6.63,15293,6.63,15294,6.14,15295,6.63,15296,6.63,15297,6.63,15298,6.63,15299,9.232]],["title/injectables/LegacySystemService.html",[589,0.929,15300,5.327]],["body/injectables/LegacySystemService.html",[0,0.187,3,0.01,4,0.01,5,0.005,7,0.076,8,0.923,12,3.621,18,4.069,26,2.159,27,0.44,29,0.856,30,0.001,31,0.626,32,0.163,33,0.514,34,1.367,35,1.214,36,2.627,40,3.877,59,1.683,95,0.142,99,1.111,100,1.892,101,0.007,102,4.236,103,0,104,0,110,2.763,135,1.24,148,1.196,153,1.565,185,2.746,228,1.45,277,0.783,279,2.276,317,2.866,346,3.973,393,2.677,412,2.399,433,0.986,478,1.518,579,1.567,589,1.069,591,1.293,610,2.136,647,3.973,648,3.408,652,2.28,657,2.992,671,7.674,675,2.76,1829,2.305,1940,3.539,1994,3.973,2369,3.031,2461,3.757,3394,5.529,5178,6.911,5183,6.702,5362,7.476,5365,7.4,6642,4.095,12925,7.739,13472,3.408,13709,8.25,14205,4.91,14477,5.149,14902,5.366,15010,5.856,15028,4.559,15031,5.984,15284,8.25,15289,5.021,15290,4.757,15291,5.856,15294,7.4,15300,6.129,15301,11.683,15302,5.422,15303,7.992,15304,7.992,15305,8.789,15306,5.422,15307,5.422,15308,7.992,15309,5.422,15310,7.992,15311,5.422,15312,7.992,15313,5.422,15314,4.757,15315,4.757,15316,5.422,15317,4.757,15318,7.992,15319,7.4,15320,5.422,15321,7.992,15322,5.021,15323,5.422,15324,5.422,15325,5.422,15326,5.422,15327,5.422,15328,5.422,15329,4.559,15330,7.992,15331,7.705,15332,7.992,15333,7.981,15334,7.992,15335,7.992,15336,7.4,15337,7.992,15338,7.4,15339,7.992,15340,7.4,15341,7.992,15342,5.422,15343,5.422,15344,5.021,15345,7.992,15346,5.422,15347,9.491,15348,5.422,15349,5.422,15350,5.422,15351,5.422,15352,5.422,15353,5.422]],["title/modules/LessonApiModule.html",[252,1.835,15354,5.841]],["body/modules/LessonApiModule.html",[0,0.318,3,0.018,4,0.018,5,0.008,30,0.001,95,0.154,101,0.012,103,0.001,104,0.001,252,3.301,254,3.32,255,3.516,256,3.606,257,3.592,258,3.579,259,4.543,260,3.431,269,4.488,270,3.541,271,3.467,273,5.794,274,4.796,276,4.488,277,1.331,314,3.528,1856,7.865,1907,9.667,2666,4.261,3017,4.351,15354,11.998,15355,9.218,15356,9.218,15357,9.218,15358,11.53,15359,9.218,15360,10.961,15361,9.218]],["title/entities/LessonBoardElement.html",[205,1.418,2949,5.639]],["body/entities/LessonBoardElement.html",[0,0.333,3,0.018,4,0.018,5,0.009,7,0.136,27,0.381,30,0.001,32,0.12,95,0.146,96,2.558,101,0.013,103,0.001,104,0.001,112,0.923,190,1.734,205,2.412,206,3.15,224,2.82,231,1.677,232,2.618,457,5.359,2701,5.447,2921,9.304,2938,7.148,2939,6.812,2942,8.328,2944,8.125,2949,9.59,2992,6.022,3305,7.41,3335,9.933,5685,4.536,5686,8.476,15362,11.812,15363,8.947,15364,9.933,15365,9.662]],["title/controllers/LessonController.html",[314,2.658,15360,6.094]],["body/controllers/LessonController.html",[0,0.31,3,0.017,4,0.017,5,0.008,7,0.126,8,1.304,10,4.961,27,0.354,29,0.69,30,0.001,31,0.504,32,0.112,33,0.414,35,1.042,36,2.394,95,0.152,100,3.137,101,0.012,103,0.001,104,0.001,135,1.174,141,4.844,148,0.89,190,1.614,202,2.065,228,1.632,274,3.758,277,1.298,314,3.441,316,4.338,317,2.681,325,6.436,349,6.797,388,3.855,392,4.7,395,4.835,398,4.872,400,2.677,657,2.061,3017,4.244,3201,7.374,3221,4.637,5744,5.113,15358,10.388,15360,9.911,15366,8.991,15367,7.561,15368,10.207,15369,11.297,15370,8.991,15371,8.991,15372,8.991,15373,7.561,15374,8.991,15375,8.326]],["title/classes/LessonCopyApiParams.html",[0,0.24,7313,5.841]],["body/classes/LessonCopyApiParams.html",[0,0.401,2,1.001,3,0.018,4,0.018,5,0.009,7,0.132,27,0.371,30,0.001,32,0.117,33,0.535,34,1.988,47,0.824,95,0.133,100,4.056,101,0.012,103,0.001,104,0.001,112,0.909,157,2.902,190,1.689,200,2.883,201,4.513,202,2.162,300,4.449,304,4.647,855,4.704,1562,9.156,1936,5.457,2026,6.154,2032,4.418,2617,7.066,2940,5.319,3178,6.206,3179,6.206,3633,5.88,7068,10.198,7313,9.775,7964,9.156,12354,8.258,15376,11.624,15377,8.716,15378,8.716]],["title/injectables/LessonCopyUC.html",[589,0.929,15078,5.841]],["body/injectables/LessonCopyUC.html",[0,0.199,3,0.011,4,0.011,5,0.005,7,0.081,8,0.967,26,2.541,27,0.451,29,0.828,30,0.001,31,0.605,32,0.135,33,0.497,35,1.251,36,1.775,39,1.6,95,0.147,99,1.185,101,0.008,103,0,104,0,122,1.206,135,1.68,148,0.572,153,1.381,228,2.08,277,0.834,279,2.426,290,3.163,317,2.137,433,1.033,478,1.619,569,3.567,579,2.42,589,1.12,591,1.378,641,4.762,652,2.815,657,2.475,693,2.632,980,3.206,1080,1.993,1115,2.213,1268,6.051,1312,2.758,1780,3.514,1833,4.693,1862,5.765,1910,7.573,1936,2.714,2032,4.104,2037,3.724,2218,2.582,2219,2.906,2220,2.805,2221,3.634,2617,3.514,2666,2.672,2667,3.443,2938,6.164,3257,7.043,3265,10.365,3267,9.031,3273,9.709,3280,11.066,3285,6.428,3298,3.552,3299,3.287,3349,5.072,3350,5.072,3351,5.353,3877,6.597,5066,4.434,5106,3.109,5705,8.404,5720,6.051,7279,7.043,7315,9.999,7573,6.799,7611,5.072,7612,9.08,7618,5.072,7624,5.072,7625,5.072,7626,3.634,8931,4.076,13036,8.281,15078,7.043,15379,11.95,15380,8.375,15381,8.375,15382,5.781,15383,5.781,15384,8.375,15385,5.353,15386,5.781,15387,8.375,15388,5.781,15389,7.755,15390,5.781,15391,5.781,15392,5.353,15393,5.072,15394,5.781,15395,6.597,15396,5.353,15397,5.781,15398,5.781,15399,5.781,15400,5.781,15401,5.781,15402,5.781,15403,5.781,15404,5.781,15405,8.375,15406,5.781,15407,5.781,15408,5.781,15409,5.781,15410,5.781,15411,8.375,15412,4.861,15413,5.781]],["title/entities/LessonEntity.html",[205,1.418,2938,3.736]],["body/entities/LessonEntity.html",[0,0.145,3,0.008,4,0.008,5,0.004,7,0.129,26,2.054,27,0.451,30,0.001,31,0.514,32,0.143,33,0.302,47,0.952,55,2.117,95,0.137,96,1.11,101,0.016,103,0,104,0,110,3.172,112,0.514,122,1.371,125,1.933,129,2.426,130,2.216,134,1.481,135,1.628,145,1.566,148,1.235,153,1.743,155,2.91,157,1.865,158,1.55,159,1.175,190,2.053,195,2.18,196,2.174,197,2.253,205,1.342,206,1.367,223,3.551,224,1.224,225,2.524,226,1.9,229,1.658,231,0.728,232,1.136,233,1.309,277,0.605,290,0.991,371,3.484,527,1.775,579,1.899,595,1.582,613,3.839,652,1.342,653,1.731,711,1.245,789,2.289,886,1.319,1237,1.236,1312,2.001,1821,2.034,1842,2.993,1936,3.086,2026,3.207,2032,4.348,2050,1.767,2183,1.652,2392,4.032,2815,1.677,2894,3.867,2924,4.886,2927,5.089,2931,2.326,2936,4.234,2937,2.497,2938,4.934,2940,3.709,2941,4.131,2953,4.29,3057,4.899,3633,4.1,3742,6.264,3761,5.821,3898,2.956,3899,2.956,4410,3.876,4569,2.668,4633,1.882,5234,5.443,5565,2.668,5566,2.737,5685,1.969,5718,6.905,5728,3.012,5744,2.384,5751,4.234,5756,7.305,5769,3.012,5775,3.012,5780,3.012,6160,4.72,6161,3.072,6162,2.636,6163,6.813,6164,2.816,6165,5.222,6166,3.072,6167,4.181,6168,4.634,6169,6.256,6170,7.314,6171,4.72,6172,4.72,6173,3.012,6174,4.72,6175,4.72,6176,4.72,6177,3.072,6178,4.72,6179,2.816,6180,4.72,6181,4.72,6182,7.325,6183,3.072,6184,3.072,6185,3.072,6186,4.35,6187,4.234,6188,2.636,6189,4.634,6190,4.634,6191,4.816,6192,4.816,6193,4.816,6194,4.29,6195,4.816,6196,2.775,6197,5.715,6198,2.956,6199,4.816,6200,3.072,6201,3.072,6202,3.072,6203,2.906,6204,3.072,6205,3.072,6206,4.816,6207,4.481,6208,3.072,6209,3.072,6210,6.723,6211,5.939,6212,3.012,6213,5.821,6214,3.072,6215,3.072,6216,3.072,6217,3.072,6218,3.072,6219,3.072,6220,3.072,6221,3.072,6222,3.072,6223,3.072,6224,3.072,6225,2.906,6226,4.413,6227,3.072,6228,3.072,7662,3.679,15414,4.193,15415,4.193,15416,4.193,15417,4.193,15418,4.193,15419,4.193,15420,4.193,15421,4.193,15422,4.193]],["title/classes/LessonFactory.html",[0,0.24,15423,6.432]],["body/classes/LessonFactory.html",[0,0.171,2,0.528,3,0.009,4,0.009,5,0.005,7,0.07,8,0.864,27,0.517,29,1.016,30,0.001,31,0.717,32,0.168,33,0.58,34,1.541,35,1.433,47,0.531,55,2.351,59,3.34,95,0.103,101,0.007,103,0,104,0,112,0.585,113,4.507,127,5.011,129,3.616,130,3.304,135,1.176,148,0.492,157,2.073,172,3.182,185,2.572,192,2.732,197,1.381,205,2.197,206,2.441,228,1.358,231,1.299,326,4.863,374,3.238,433,0.613,436,3.895,467,2.179,478,1.39,501,7.293,502,5.562,505,4.151,506,5.562,507,5.445,508,4.151,509,4.151,510,4.151,511,4.087,512,4.586,513,4.996,514,6.546,515,5.875,516,7.081,517,2.777,522,2.754,523,4.151,524,2.777,525,5.243,526,5.394,527,4.245,528,5.074,529,4.118,530,2.754,531,2.596,532,4.196,533,2.651,534,2.596,535,2.754,536,2.777,537,4.918,538,2.754,539,6.987,540,4.242,541,6.701,542,2.777,543,4.371,544,2.754,545,2.777,546,2.754,547,2.777,548,2.754,549,3.085,550,2.901,551,2.754,552,6.175,553,2.777,554,2.754,555,4.151,556,3.787,557,4.151,558,2.777,559,2.671,560,2.632,561,2.228,562,2.754,563,2.754,564,2.754,565,2.777,566,2.777,567,1.887,568,2.754,569,1.546,570,2.777,571,2.96,572,2.754,573,2.777,576,2.928,1936,2.331,2032,4.461,2938,4.025,3742,4.705,5718,5.187,6168,3.501,6169,5.103,6170,3.286,7637,4.176,7683,4.598,7685,4.598,15423,8.342,15424,4.966,15425,4.966,15426,7.485,15427,4.966,15428,4.966,15429,4.966,15430,4.966]],["title/modules/LessonModule.html",[252,1.835,1907,4.897]],["body/modules/LessonModule.html",[0,0.263,3,0.014,4,0.014,5,0.007,30,0.001,95,0.154,101,0.01,103,0,104,0,252,3.016,254,2.746,255,2.908,256,2.982,257,2.972,258,2.961,259,4.151,260,4.25,265,6.026,269,3.972,270,2.929,271,2.868,276,3.972,277,1.101,610,3.005,1027,2.342,1317,4.793,1881,6.412,1907,10.318,2815,3.05,3265,11.8,3298,4.685,3299,4.336,3857,9.998,3866,3.833,5705,9.567,7262,9.762,9933,11.437,9937,9.552,15094,9.762,15096,6.412,15431,7.625,15432,7.625,15433,7.625,15434,7.625,15435,10.962,15436,11.437,15437,7.625,15438,5.284]],["title/interfaces/LessonParent.html",[159,0.713,6186,4.597]],["body/interfaces/LessonParent.html",[0,0.16,3,0.009,4,0.009,5,0.004,7,0.136,8,0.821,26,2.271,27,0.183,30,0.001,31,0.398,32,0.108,35,0.538,47,0.962,55,2.091,95,0.141,96,1.228,101,0.017,103,0,104,0,110,3.348,122,1.483,125,1.695,134,1.639,135,1.668,145,1.733,148,1.265,153,1.597,155,3.071,157,1.988,158,1.715,159,1.215,161,1.101,195,1.89,196,1.534,197,1.976,205,1.451,223,3.241,224,1.354,225,2.73,226,2.102,229,1.835,231,0.805,232,1.257,233,1.448,277,0.67,290,1.097,371,3.767,527,1.963,579,2.054,595,1.751,613,4.152,652,1.451,653,1.915,711,1.378,789,2.533,886,1.459,1237,1.367,1312,2.213,1821,2.251,1842,3.236,1936,2.178,2026,2.263,2032,3.968,2050,1.955,2183,1.828,2392,4.201,2815,1.856,2894,4.122,2924,3.994,2927,3.942,2931,2.573,2936,4.579,2937,2.762,2938,4.647,2940,3.954,2941,4.468,2953,4.639,3057,3.795,3633,4.371,3742,5.431,3761,6.205,3898,3.271,3899,3.271,4410,4.191,4569,2.951,4633,2.082,5234,5.802,5565,2.951,5566,3.028,5685,2.178,5718,6.711,5728,3.332,5744,2.638,5751,4.579,5756,7.222,5769,3.332,5775,3.332,5780,3.332,6160,5.105,6161,3.399,6162,2.916,6163,6.218,6164,3.115,6165,5.566,6166,3.399,6167,4.522,6168,5.011,6169,4.846,6170,6.91,6171,5.105,6172,5.105,6173,3.332,6174,5.105,6175,5.105,6176,5.105,6177,3.399,6178,5.105,6179,3.115,6180,5.105,6181,5.105,6182,7.634,6183,3.399,6184,3.399,6185,3.399,6186,5.718,6187,6.727,6188,2.916,6189,3.271,6190,3.271,6191,3.399,6192,3.399,6193,3.399,6194,3.028,6195,5.208,6196,3.07,6197,6.092,6198,3.271,6199,5.208,6200,3.399,6201,3.399,6202,3.399,6203,3.215,6204,3.399,6205,3.399,6206,5.208,6207,4.846,6208,3.399,6209,3.399,6210,7.096,6211,6.331,6212,3.332,6213,6.205,6214,3.399,6215,3.399,6216,3.399,6217,3.399,6218,3.399,6219,3.399,6220,3.399,6221,3.399,6222,3.399,6223,3.399,6224,3.399,6225,3.215,6226,4.772,6227,3.399,6228,3.399,15439,4.639]],["title/interfaces/LessonProperties.html",[159,0.713,6168,4.897]],["body/interfaces/LessonProperties.html",[0,0.151,3,0.008,4,0.008,5,0.004,7,0.132,26,2.099,30,0.001,31,0.571,32,0.152,33,0.496,47,0.964,55,2.251,95,0.139,96,1.162,101,0.017,103,0,104,0,110,3.252,112,0.533,122,1.962,125,1.624,134,1.551,135,1.646,145,1.64,148,1.248,153,1.551,155,2.983,157,1.921,158,1.623,159,1.193,161,1.042,195,1.826,196,1.452,197,1.894,205,1.391,223,3.161,224,1.281,225,2.616,226,1.989,229,1.736,231,0.762,232,1.189,233,1.37,277,0.634,290,1.038,371,3.611,527,1.858,579,1.968,595,1.657,613,3.979,652,1.391,653,1.813,711,1.304,789,2.397,886,1.381,1237,1.294,1312,2.095,1821,2.13,1842,3.102,1936,2.061,2026,2.142,2032,4.634,2050,1.85,2183,1.73,2392,4.109,2815,1.756,2894,3.982,2924,3.858,2927,3.778,2931,2.435,2936,4.389,2937,2.614,2938,4.489,2940,3.82,2941,4.282,2953,4.447,3057,5.436,3633,4.222,3742,6.772,3761,5.995,3898,3.095,3899,3.095,4410,4.017,4569,2.793,4633,1.97,5234,5.605,5565,2.793,5566,2.866,5685,2.061,5718,7.466,5728,3.153,5744,2.496,5751,4.389,5756,7.105,5769,3.153,5775,3.153,5780,3.153,6160,4.892,6161,3.217,6162,2.76,6163,7.261,6164,2.948,6165,6.56,6166,3.217,6167,4.334,6168,5.885,6169,6.942,6170,7.69,6171,4.892,6172,4.892,6173,3.153,6174,4.892,6175,4.892,6176,4.892,6177,3.217,6178,4.892,6179,2.948,6180,4.892,6181,4.892,6182,7.466,6183,3.217,6184,3.217,6185,3.217,6186,4.508,6187,4.389,6188,2.76,6189,3.095,6190,3.095,6191,3.217,6192,3.217,6193,3.217,6194,2.866,6195,4.991,6196,2.906,6197,5.885,6198,3.095,6199,4.991,6200,3.217,6201,3.217,6202,3.217,6203,3.042,6204,3.217,6205,3.217,6206,4.991,6207,4.645,6208,3.217,6209,3.217,6210,6.892,6211,6.116,6212,3.153,6213,5.995,6214,3.217,6215,3.217,6216,3.217,6217,3.217,6218,3.217,6219,3.217,6220,3.217,6221,3.217,6222,3.217,6223,3.217,6224,3.217,6225,3.042,6226,4.574,6227,3.217,6228,3.217]],["title/injectables/LessonRepo.html",[589,0.929,15435,5.841]],["body/injectables/LessonRepo.html",[0,0.2,3,0.011,4,0.011,5,0.005,7,0.082,8,0.969,10,3.37,12,3.803,13,5.917,18,4.273,26,2.695,27,0.498,29,0.946,30,0.001,31,0.692,32,0.161,33,0.568,34,0.992,35,1.43,36,2.77,39,1.604,40,4.072,42,5.917,49,2.18,59,1.8,95,0.144,96,2.222,97,2.374,98,3.488,99,1.188,101,0.008,103,0,104,0,122,1.209,125,1.382,135,1.611,148,1.136,153,1.384,172,3.567,205,1.184,206,2.737,224,1.692,231,1.457,277,0.837,279,2.433,290,1.371,317,2.994,415,3.297,436,3.211,478,1.623,532,4.913,589,1.122,591,1.382,595,2.188,657,2.63,711,2.93,728,7.14,734,3.522,735,3.841,736,4.899,759,3.453,760,3.524,761,3.488,762,3.524,764,3.488,765,3.524,766,3.141,770,3.644,773,4.164,788,3.953,790,3.953,1936,5.076,2032,3.189,2231,4.772,2920,4.858,2938,6.171,3057,3.095,3742,3.644,5232,6.955,5744,6.148,5756,4.998,6169,3.953,6170,5.554,6244,3.437,7690,4.446,7694,4.446,7843,4.087,12082,7.772,12086,7.363,12087,5.369,15435,7.057,15440,5.797,15441,8.392,15442,8.392,15443,8.392,15444,5.797,15445,8.392,15446,5.797,15447,5.369,15448,5.797,15449,5.797,15450,7.363,15451,5.797,15452,5.797,15453,5.797,15454,5.797,15455,5.797,15456,5.797,15457,5.797,15458,5.797,15459,5.797,15460,5.797,15461,5.797,15462,5.797,15463,5.797]],["title/injectables/LessonRule.html",[589,0.929,1872,5.639]],["body/injectables/LessonRule.html",[0,0.169,3,0.009,4,0.009,5,0.005,7,0.069,8,0.855,27,0.474,29,0.922,30,0.001,31,0.674,32,0.154,33,0.553,35,1.353,95,0.128,101,0.006,103,0,104,0,122,2.779,135,1.571,141,5.468,148,1.157,153,0.807,183,3.81,197,2.482,205,2.892,228,1.62,277,0.706,290,3.349,433,0.913,478,1.37,579,1.414,589,0.99,591,1.167,652,2.777,653,2.02,711,3.341,1197,7.615,1237,1.442,1622,3.514,1775,5.477,1778,6.257,1783,3.007,1784,3.286,1792,6.187,1793,4.899,1801,6.988,1838,4.499,1867,9.483,1868,8.746,1872,6.01,1981,4.769,1985,4.599,1992,3.238,2032,4.274,2938,7.27,3395,4.769,3396,2.807,3519,3.113,3678,4.899,3679,3.286,3682,4.832,3684,3.286,3685,4.97,6163,5.928,7072,3.514,7702,4.293,7704,4.115,7705,6.494,15464,4.893,15465,7.402,15466,7.402,15467,7.402,15468,7.402,15469,7.402,15470,4.893,15471,7.402,15472,4.893,15473,7.402,15474,4.893,15475,4.893,15476,4.893,15477,7.402,15478,4.893,15479,7.402,15480,4.893,15481,6.855,15482,4.893,15483,4.893,15484,9.218,15485,4.893,15486,4.893,15487,4.531,15488,7.402,15489,7.402,15490,4.893,15491,9.954,15492,8.268,15493,7.402,15494,7.402,15495,4.893,15496,4.893,15497,4.531,15498,4.893]],["title/classes/LessonScope.html",[0,0.24,15450,6.094]],["body/classes/LessonScope.html",[0,0.265,2,0.818,3,0.015,4,0.015,5,0.007,7,0.108,8,1.18,26,2.519,27,0.525,29,0.937,30,0.001,31,0.685,32,0.166,33,0.562,35,1.416,95,0.131,99,1.578,101,0.01,103,0,104,0,112,0.799,122,2.727,129,2.304,130,2.105,148,1.012,231,1.774,279,3.231,365,3.438,436,3.777,478,2.156,569,2.396,652,2.669,2032,2.926,2487,6.831,2938,4.14,3742,4.839,6244,5.615,6891,6.862,6892,6.862,6893,6.862,6898,6.862,6899,6.862,6900,5.249,6901,5.169,6902,5.249,6903,5.249,6912,5.169,6913,6.862,6914,5.249,6915,5.169,6916,5.249,6917,5.169,6918,6.862,7690,7.837,8063,6.211,9400,6.064,9404,7.129,10862,9.463,10866,9.463,15450,11.468,15499,11.47,15500,9.463,15501,9.463,15502,7.698,15503,6.754]],["title/injectables/LessonService.html",[589,0.929,5705,4.736]],["body/injectables/LessonService.html",[0,0.227,3,0.013,4,0.013,5,0.006,7,0.093,8,1.061,12,4.164,26,2.846,27,0.491,29,0.957,30,0.001,31,0.699,32,0.163,33,0.574,35,1.396,36,2.847,39,2.928,59,2.045,95,0.142,98,3.962,99,1.35,101,0.009,103,0,104,0,122,1.374,125,1.57,135,1.382,148,1.235,172,3.906,228,1.668,277,0.951,317,3.033,433,1.134,478,1.844,560,3.492,589,1.229,591,1.57,652,1.876,657,2.761,1237,1.942,1317,4.14,1845,7.238,1936,4.314,2815,2.635,2938,6.478,3742,4.14,3866,3.311,5232,8.074,5705,6.266,5718,6.368,5720,4.047,5744,6.018,7224,9.195,7687,8.51,7688,8.51,7690,5.052,15435,10.491,15438,4.565,15504,6.587,15505,9.19,15506,9.19,15507,9.19,15508,6.587,15509,6.587,15510,9.19,15511,6.587,15512,9.19,15513,6.587,15514,9.19,15515,6.587,15516,6.587,15517,9.19,15518,6.587,15519,6.587,15520,6.587,15521,6.587,15522,6.587,15523,6.587,15524,9.19,15525,6.587,15526,6.587,15527,6.587,15528,9.19,15529,6.587,15530,6.587]],["title/injectables/LessonUC.html",[589,0.929,15358,5.841]],["body/injectables/LessonUC.html",[0,0.293,3,0.016,4,0.016,5,0.008,7,0.119,8,1.258,10,4.377,26,2.815,27,0.429,29,0.836,30,0.001,31,0.611,32,0.136,33,0.501,35,0.985,39,2.351,95,0.15,99,1.741,101,0.011,103,0.001,104,0.001,135,1.11,148,0.841,158,3.141,194,3.323,195,1.859,228,1.978,277,1.226,290,2.009,317,2.611,433,1.345,589,1.457,591,2.026,595,3.207,610,3.348,652,2.225,657,2.498,693,3.869,980,4.712,985,4.918,1780,5.165,1862,7.169,1936,5.117,1961,5.111,2653,6.225,2666,3.927,2671,6.225,2909,6.692,3396,4.874,5705,9.311,5720,7.393,5744,4.831,6163,5.06,15358,9.164,15393,7.454,15531,8.496,15532,8.496,15533,9.164,15534,8.496,15535,8.496,15536,8.496,15537,8.496,15538,8.496]],["title/injectables/LessonUrlHandler.html",[589,0.929,15539,5.841]],["body/injectables/LessonUrlHandler.html",[0,0.24,3,0.013,4,0.013,5,0.006,7,0.098,8,1.101,9,3.23,27,0.5,29,0.942,30,0.001,31,0.688,32,0.165,33,0.565,34,1.631,35,1.358,36,2.021,47,0.963,95,0.14,101,0.009,103,0,104,0,105,10.234,106,7.312,107,7.108,108,8.841,110,4.575,111,5.476,112,0.746,113,3.801,114,8.841,115,7.513,116,7.744,117,7.513,118,7.513,120,5.476,122,1.45,123,5.644,125,2.596,126,5.476,127,5.856,129,2.855,130,2.609,131,5.966,134,2.456,135,1.422,148,0.945,228,1.262,231,1.656,233,2.169,277,1.003,317,2.363,400,2.07,433,0.858,436,3.481,589,1.276,591,1.658,657,1.593,1237,2.049,1936,5.113,4143,6.405,4146,7.513,4148,5.846,4149,5.846,4150,5.846,4153,7.316,4154,5.644,4155,7.316,4156,5.846,4157,5.644,4159,4.668,5705,8.65,5750,5.644,7887,6.099,7888,6.099,7890,8.369,7891,8.369,7892,6.099,8931,4.901,15539,8.021,15540,10.89,15541,6.952,15542,9.539,15543,6.952]],["title/classes/LessonUrlParams.html",[0,0.24,15368,5.471]],["body/classes/LessonUrlParams.html",[0,0.415,2,1.06,3,0.019,4,0.019,5,0.009,7,0.14,27,0.393,30,0.001,32,0.124,34,2.06,47,0.854,95,0.137,101,0.013,103,0.001,104,0.001,112,0.941,157,2.295,190,1.79,194,4.71,195,2.634,196,3.983,197,3.348,200,3.055,202,2.291,296,3.146,855,4.874,1936,5.654,4166,6.063,5720,7.949,15368,9.485,15544,9.974,15545,9.974]],["title/classes/LessonUrlParams-1.html",[0,0.199,756,2.284,15368,4.549]],["body/classes/LessonUrlParams-1.html",[0,0.415,2,1.06,3,0.019,4,0.019,5,0.009,7,0.14,27,0.393,30,0.001,32,0.124,34,2.06,47,0.854,95,0.137,101,0.013,103,0.001,104,0.001,112,0.941,157,2.295,190,1.79,194,4.71,195,2.634,196,3.983,197,3.348,200,3.055,202,2.291,296,3.146,855,4.874,1936,5.654,4166,6.063,5720,7.949,15368,9.485,15546,9.974,15547,9.974]],["title/classes/LibrariesBodyParams.html",[0,0.24,1233,5.639]],["body/classes/LibrariesBodyParams.html",[0,0.452,2,0.987,3,0.018,4,0.018,5,0.009,7,0.13,27,0.366,30,0.001,32,0.144,47,0.955,95,0.132,101,0.017,103,0.001,104,0.001,112,0.901,125,2.213,190,1.666,195,2.521,200,2.843,202,2.132,296,3.52,299,5.107,300,4.411,855,4.664,1195,5.689,1228,7.536,1233,10.175,1234,9.356,1235,9.356,1238,9.612,1240,5.474,1242,7.805,2543,4.992,6273,6.67,6343,8.143,6344,6.432,15548,9.282,15549,9.282]],["title/interfaces/LibrariesContentType.html",[159,0.713,13304,6.094]],["body/interfaces/LibrariesContentType.html",[0,0.185,3,0.01,4,0.01,5,0.005,7,0.076,30,0.001,31,0.301,32,0.118,34,0.92,36,2.002,47,0.826,74,4.125,95,0.147,101,0.01,103,0,104,0,112,0.621,125,2.778,135,1.755,142,1.962,145,3.528,148,1.102,153,2.082,158,2.937,159,0.552,161,1.277,185,4.141,195,2.066,197,2.209,228,1.714,277,0.776,290,2.467,317,2.05,412,2.38,433,0.664,527,2.276,543,2.609,569,1.674,579,2.296,589,1.062,634,5.468,651,2.721,652,2.378,657,2.895,702,2.655,711,2.806,756,3.142,810,3.941,1195,2.655,1215,3.235,1312,2.566,1563,3.465,1619,3.305,1675,3.235,1819,4.718,1928,5.821,1938,2.892,2163,2.486,2332,3.007,2357,3.058,2392,2.051,2566,4.366,2568,3.611,2935,2.851,3390,4.685,5168,4.366,5246,6.558,6528,4.517,6573,5.932,6574,3.941,7673,3.792,8776,4.366,11597,6.095,11612,3.667,11991,4.125,12019,4.523,12020,4.523,12033,4.125,13007,4.523,13029,7.669,13033,4.523,13034,4.523,13035,4.523,13220,7.944,13221,8.773,13257,4.523,13262,4.718,13263,8.748,13264,4.98,13265,8.748,13266,9.661,13267,4.98,13269,4.98,13271,4.98,13274,4.98,13275,7.356,13278,4.98,13283,4.98,13284,7.356,13286,4.98,13287,7.356,13290,9.661,13291,4.98,13292,8.748,13293,4.98,13294,4.98,13295,4.98,13296,4.718,13297,4.98,13298,4.523,13299,4.98,13300,4.98,13301,4.98,13302,4.98,13303,4.98,13304,9.765,13305,10.307,13306,7.356,13307,7.356,13308,4.98,13309,4.98,13310,7.356,13311,4.98,13312,7.356,13313,4.98,13314,4.98,13315,4.98,13316,7.356,13317,4.98,13318,4.98,13319,4.98,13320,4.98,13321,4.98,13322,4.98,13323,4.98,13324,4.98,13325,4.98,13326,4.98,13327,7.356,13328,4.98,13329,7.356,13330,7.356,13331,4.98,13332,4.98,13333,4.718,13334,6.969,13335,4.98,13336,4.98,13337,4.98,13338,4.98,13339,4.98,13340,7.356,13341,7.356,13342,4.523,13343,4.98,13344,4.98,13345,4.98,13346,4.98,13347,4.98,13348,7.356,13349,4.98,13350,4.98,13351,4.98]],["title/classes/LibraryFileUrlParams.html",[0,0.24,13101,6.094]],["body/classes/LibraryFileUrlParams.html",[0,0.41,2,1.037,3,0.019,4,0.019,5,0.012,7,0.137,27,0.468,30,0.001,32,0.148,47,0.945,95,0.136,101,0.013,103,0.001,104,0.001,112,0.929,190,2.132,200,2.989,202,2.241,296,3.347,299,4.993,856,7.106,1195,6.325,6516,9.034,6517,9.992,13101,10.424,15550,12.813,15551,12.813,15552,9.756,15553,9.756]],["title/classes/LibraryName.html",[0,0.24,11585,5.639]],["body/classes/LibraryName.html",[0,0.309,2,0.426,3,0.008,4,0.008,5,0.004,7,0.056,27,0.353,29,0.486,30,0.001,31,0.441,32,0.112,33,0.184,47,0.939,55,2.748,72,1.835,83,1.847,95,0.102,96,1.061,101,0.012,103,0,104,0,112,0.496,122,2.163,131,3.23,134,2.241,141,4.447,145,3.874,148,0.886,155,1.271,157,0.923,190,1.413,194,1.568,195,2.898,196,4.351,197,1.115,205,1.295,208,2.52,223,4.368,224,1.17,225,2.437,229,1.586,231,0.696,233,1.251,289,2.32,301,2.583,374,3.871,414,4.933,433,0.495,467,1.167,478,1.122,567,1.524,711,1.884,756,4.297,870,4.298,1087,1.853,1195,4.814,1199,8.331,1200,8.895,1201,8.895,1215,5.384,1224,4.556,1237,2.875,1372,2.11,1928,4.648,2163,3.639,2183,1.58,2392,3.002,2564,3.988,2631,4.325,2894,1.913,2897,6.535,2976,4.396,3037,1.923,3382,1.799,3390,3.741,3894,3.158,3940,4.198,5108,4.141,5202,3.777,5213,3.898,5374,4.997,5983,4.556,6134,3.741,6159,4.036,6530,3.075,6531,3.075,6532,3.002,6533,3.075,6534,2.617,6540,3.002,6541,3.075,6553,6.864,6556,2.826,6557,3.075,6573,3.607,6574,2.937,6576,3.075,6584,2.826,6586,3.075,6588,3.075,6590,3.075,6592,3.075,6598,3.075,6949,5.895,7129,2.583,7352,2.879,7459,2.387,9485,2.826,11573,6.391,11574,3.371,11575,4.997,11576,6.038,11577,3.255,11581,5.335,11582,5.335,11583,5.335,11584,3.371,11585,7.917,11586,5.335,11587,5.335,11588,5.335,11589,5.335,11590,3.158,11591,3.371,11592,3.075,11593,5.15,11594,6.62,11595,3.371,11596,6.62,11597,6.58,11598,5.15,11599,4.865,11600,5.335,11601,4.997,11602,5.335,11603,4.556,11604,5.335,11605,5.335,11606,5.15,11607,5.335,11608,5.335,11609,3.158,11610,3.371,11611,3.158,11612,2.733,11613,3.371,11614,3.371,11615,3.371,11616,3.371,11617,3.371,11618,3.371,11619,3.371,11620,3.371,11621,3.371,11622,3.371,11623,3.371,11624,3.371,11625,3.371,11626,3.371,11627,3.371,11628,3.371,11629,3.371,11630,3.371,11631,3.371,11632,3.371,11633,3.371,11634,3.371,11635,3.371,11636,3.371,11637,3.371,11638,3.371,11639,3.371,11640,3.371,11641,3.371,11642,3.371,11643,3.371,11644,3.371,11645,3.371,11646,3.371,11647,3.371,11648,3.371,11649,3.371,11650,3.371,11651,3.371,11652,3.371,11653,3.371,11654,3.371,11655,3.371,11656,3.371,11657,3.371,11658,3.371,11659,3.371,11660,3.371,11661,3.371,11662,3.371,11663,3.371,11664,3.371,11665,3.371,11666,3.371,11667,3.371,11668,3.371,11669,3.371,11670,3.371,11671,3.371,11672,3.371,11673,3.371,15554,6.344,15555,4.009,15556,4.009]],["title/classes/LibraryParametersBodyParams.html",[0,0.24,1235,5.639]],["body/classes/LibraryParametersBodyParams.html",[0,0.452,2,0.989,3,0.018,4,0.018,5,0.009,7,0.131,27,0.366,30,0.001,32,0.144,47,0.956,95,0.132,101,0.017,103,0.001,104,0.001,112,0.902,125,2.218,190,1.67,195,2.035,200,2.85,202,2.137,296,3.523,299,5.112,300,4.417,855,4.671,1195,5.697,1228,7.553,1233,9.369,1234,9.369,1235,10.185,1238,7.135,1240,5.487,1242,10.55,2543,5.003,6273,6.679,6343,8.162,6344,6.447,7149,7.824,15557,9.304]],["title/injectables/LibraryRepo.html",[589,0.929,13222,5.841]],["body/injectables/LibraryRepo.html",[0,0.174,3,0.01,4,0.01,5,0.005,7,0.071,8,0.876,10,3.049,12,3.44,18,3.865,26,1.565,27,0.506,29,0.953,30,0.001,31,0.72,32,0.155,33,0.572,34,0.865,35,1.467,36,2.84,40,2.455,47,0.923,49,2.855,55,2.778,95,0.104,101,0.007,103,0,104,0,135,1.417,142,3.694,145,1.89,148,1.17,153,1.502,205,1.86,206,2.475,231,1.318,277,0.73,317,3.043,347,3.89,436,3.007,532,4.768,579,2.633,589,1.015,591,1.206,657,2.32,728,6.837,734,3.186,735,3.474,736,4.525,756,3.603,759,3.013,760,3.076,761,3.044,762,3.076,763,3.506,764,3.044,765,3.076,766,2.741,771,3.634,787,7.974,1195,5.999,1199,9.857,1200,9.985,1201,9.985,1238,5.822,2344,4.614,2920,5.273,5710,3.915,10574,6.163,11592,8.736,11593,8.219,11597,2.956,13222,6.384,14724,4.685,15558,5.06,15559,7.591,15560,9.111,15561,9.111,15562,9.111,15563,10.124,15564,7.591,15565,5.06,15566,7.591,15567,5.06,15568,5.06,15569,5.06,15570,5.06,15571,5.06,15572,5.06,15573,5.06,15574,5.06,15575,5.06,15576,5.06,15577,5.06,15578,10.124,15579,7.591,15580,7.591,15581,5.06,15582,8.513,15583,7.591,15584,5.06,15585,5.06,15586,4.685,15587,5.06,15588,3.985]],["title/classes/LinkContentBody.html",[0,0.24,6463,4.534]],["body/classes/LinkContentBody.html",[0,0.467,2,0.55,3,0.01,4,0.01,5,0.005,7,0.073,9,2.402,27,0.403,30,0.001,31,0.667,32,0.174,33,0.528,47,0.937,83,1.505,95,0.125,99,1.06,101,0.018,103,0,104,0,110,3.191,112,0.603,130,3.254,155,2.927,157,2.643,190,1.837,195,1.131,200,1.584,201,3.584,202,1.187,223,1.605,231,1.993,296,3.672,299,4.871,300,4.395,339,1.516,360,2.94,854,4.85,855,3.122,886,1.627,899,2.354,1232,2.993,1749,2.94,1853,1.691,2048,4.666,2392,4.379,2707,3.583,2894,2.467,2900,6.53,3140,2.331,3182,2.415,3545,3.049,3547,3.049,3550,5.391,3553,4.792,3557,2.667,3562,2.891,4034,3.177,4055,3.177,4454,5.313,6365,5.801,6367,5.872,6369,5.801,6371,6.511,6373,5.872,6375,5.872,6423,3.331,6460,6.025,6461,6.025,6462,6.025,6463,6.68,6464,6.025,6465,6.025,6803,6.577,7898,3.375,7968,3.02,9513,7.352,9514,3.472,9516,8.094,9517,6.025,9518,6.025,9519,6.025,9520,3.472,9521,6.025,9522,3.177,9523,3.422,9524,6.025,9525,6.68,9526,3.375,9527,3.375,9528,3.375,9529,3.375,9530,3.472,9531,3.472,9532,3.472,9533,3.472,9534,3.472,9535,3.472,15589,9.229,15590,5.17,15591,5.17,15592,5.17,15593,5.17]],["title/classes/LinkElement.html",[0,0.24,3124,4.597]],["body/classes/LinkElement.html",[0,0.194,2,0.598,3,0.011,4,0.011,5,0.005,7,0.079,8,0.948,27,0.541,29,0.98,30,0.001,31,0.716,32,0.164,33,0.588,35,1.525,36,1.74,47,0.993,55,1.645,59,1.747,95,0.094,101,0.013,103,0,104,0,110,3.686,112,0.642,113,3.273,122,2.023,130,3.427,134,1.988,148,1.172,155,3.381,157,2.454,158,2.08,159,0.578,189,5.046,197,1.564,231,1.683,317,2.104,435,2.788,436,3.722,527,2.382,532,3.047,567,4.052,569,3.9,653,2.323,657,1.29,711,2.439,735,3.758,1295,4.732,1770,3.337,1773,5.958,1842,3.739,2050,2.372,2648,5.648,3039,7.687,3042,5.79,3043,5.79,3044,5.79,3045,6.959,3046,5.79,3048,3.537,3049,4.992,3050,6.228,3052,5.691,3053,4.992,3054,6.116,3056,3.899,3057,4.384,3059,6.096,3060,3.899,3064,3.899,3066,3.537,3093,4.94,3124,7.056,3550,6.228,4315,4.041,4316,4.041,4317,4.041,4318,4.732,4326,3.496,4327,5.691,5886,6.667,5888,6.906,9537,3.899,9541,5.211,9542,4.732,9543,5.211,9544,4.732,9545,4.732,11445,5.211,11447,5.211,15594,11.834,15595,5.627,15596,5.627,15597,5.627,15598,5.627,15599,5.627,15600,5.627,15601,5.627,15602,5.627,15603,5.627,15604,5.627,15605,5.627,15606,5.211,15607,5.211,15608,7.605,15609,5.211,15610,5.211,15611,5.211,15612,4.936,15613,5.211]],["title/classes/LinkElementContent.html",[0,0.24,15614,5.841]],["body/classes/LinkElementContent.html",[0,0.353,2,0.82,3,0.015,4,0.015,5,0.007,7,0.108,27,0.501,29,0.592,30,0.001,31,0.432,32,0.169,33,0.585,34,1.964,47,0.972,95,0.131,101,0.013,103,0,104,0,110,4.399,112,0.8,155,4.036,157,2.928,190,2.194,201,4.941,202,1.771,296,3.582,304,3.808,433,1.417,458,3.086,821,3.927,886,2.426,1853,2.522,2108,3.366,2392,4.379,2908,6.645,3037,3.7,3178,4.118,3179,4.118,3182,3.602,3550,7.433,3727,5.259,3734,7.142,3739,4.549,3988,5.869,3992,5.035,3994,5.035,4344,7.847,4454,5.961,6367,4.907,7127,4.179,7459,4.593,9563,6.486,9572,6.486,9574,6.767,15614,10.998,15615,12.111,15616,7.713,15617,6.262]],["title/classes/LinkElementContentBody.html",[0,0.24,9518,4.534]],["body/classes/LinkElementContentBody.html",[0,0.47,2,0.569,3,0.01,4,0.01,5,0.005,7,0.075,9,2.489,27,0.312,30,0.001,31,0.675,32,0.175,47,0.895,83,1.559,95,0.127,99,1.098,101,0.018,103,0,104,0,110,1.852,112,0.619,125,1.277,130,3.291,155,1.699,157,2.396,190,1.421,195,1.172,200,1.641,201,3.659,202,1.23,223,1.663,231,2.089,296,3.686,299,4.917,300,4.452,339,1.571,360,3.046,436,1.591,854,4.979,855,3.206,866,2.66,886,1.685,899,2.439,1232,3.1,1749,3.046,1853,1.752,2048,3.829,2392,4.713,2894,2.556,2900,6.615,3140,2.415,3182,2.502,3545,3.159,3547,3.159,3550,3.129,3553,4.893,3557,2.763,3562,2.995,4034,3.291,4055,3.291,4454,5.406,6365,5.924,6367,6.625,6369,5.924,6371,6.625,6373,5.996,6375,5.996,6423,3.451,6460,6.152,6461,6.152,6462,6.152,6463,6.797,6464,6.152,6465,6.152,6803,6.645,7898,3.497,7968,3.129,9513,5.319,9514,3.597,9516,8.495,9517,6.152,9518,6.797,9519,6.152,9520,3.597,9521,6.152,9522,3.291,9523,3.545,9524,6.152,9525,6.797,9526,3.497,9527,3.497,9528,3.497,9529,3.497,9530,3.597,9531,3.597,9532,3.597,9533,3.597,9534,3.597,9535,3.597,9565,4.108,15618,5.357,15619,5.357]],["title/entities/LinkElementNode.html",[205,1.418,3473,5.471]],["body/entities/LinkElementNode.html",[0,0.286,3,0.016,4,0.016,5,0.008,7,0.117,27,0.469,30,0.001,32,0.148,33,0.494,47,0.986,95,0.144,96,2.199,101,0.014,103,0.001,104,0.001,110,4.35,112,0.839,134,2.934,135,1.084,148,0.822,155,3.991,159,0.853,190,2.136,205,2.192,206,2.707,223,4.216,224,2.423,231,1.864,232,2.25,457,4.605,1770,4.836,2048,5.112,2108,3.624,2648,5.123,2701,4.681,3037,3.983,3431,5.733,3441,6.395,3473,8.458,3513,5.047,3537,9.42,3550,7.35,3889,6.527,3900,5.349,3910,5.102,4417,5.219,4419,5.219,7127,4.499,8064,5.219,9569,6.982,11465,7.689,15617,6.741,15620,11.652,15621,8.303,15622,9.42,15623,7.689,15624,7.689]],["title/interfaces/LinkElementNodeProps.html",[159,0.713,15622,6.094]],["body/interfaces/LinkElementNodeProps.html",[0,0.294,3,0.016,4,0.016,5,0.008,7,0.12,30,0.001,32,0.15,33,0.503,47,1.011,95,0.145,96,2.259,101,0.014,103,0.001,104,0.001,110,4.543,112,0.854,134,3.015,135,1.114,148,0.845,155,4.168,159,0.876,161,2.026,205,2.231,223,3.946,224,2.49,231,2.093,232,2.312,457,4.732,1770,4.898,2048,3.467,2108,3.724,2648,5.214,2701,4.811,3037,4.093,3431,5.834,3441,6.508,3473,6.721,3513,5.187,3537,9.587,3550,7.677,3889,7.328,3900,5.497,3910,5.243,4417,5.363,4419,5.363,7127,4.623,8064,5.363,15617,6.927,15620,7.901,15622,10.577,15623,7.901,15624,7.901]],["title/interfaces/LinkElementProps.html",[159,0.713,15612,6.094]],["body/interfaces/LinkElementProps.html",[0,0.262,3,0.014,4,0.014,5,0.007,7,0.107,30,0.001,32,0.158,33,0.56,36,1.613,47,1.026,95,0.116,101,0.015,103,0,104,0,110,4.38,112,0.793,122,1.588,130,3.326,134,2.689,148,1.29,155,4.018,157,2.915,158,2.814,159,0.782,161,1.807,197,2.116,231,1.98,317,1.652,527,3.221,567,4.623,569,2.369,653,3.142,657,1.744,1842,4.618,2050,3.208,3039,6.101,3045,4.968,3049,4.626,3050,5.924,3053,4.626,3054,5.817,3093,6.861,3124,7.548,3550,7.4,4326,4.729,4327,7.028,5886,8.233,5888,8.528,9537,5.274,9545,6.4,15594,7.048,15606,7.048,15607,7.048,15608,9.391,15609,7.048,15610,7.048,15611,7.048,15612,8.897,15613,7.048]],["title/classes/LinkElementResponse.html",[0,0.24,4344,5.327]],["body/classes/LinkElementResponse.html",[0,0.352,2,0.818,3,0.015,4,0.015,5,0.007,7,0.108,27,0.501,29,0.59,30,0.001,31,0.432,32,0.173,33,0.354,34,2.175,47,0.927,95,0.131,101,0.013,103,0,104,0,110,3.966,112,0.799,155,3.638,157,2.64,190,2.193,201,4.454,202,1.768,296,3.581,304,3.8,433,1.415,458,3.08,821,3.919,886,2.422,1853,2.517,2108,3.36,2392,4.85,2908,7.36,3037,3.693,3177,5.025,3178,5.456,3179,5.456,3181,4.584,3182,4.772,3550,6.701,3727,5.249,3739,4.54,3988,6.58,3992,5.025,3994,5.025,4344,9.753,4454,6.603,6367,6.501,7127,4.171,7459,4.584,9576,6.754,15614,10.275,15615,12.105,15617,6.25,15625,7.698,15626,7.698,15627,7.698,15628,7.698]],["title/classes/LinkElementResponseMapper.html",[0,0.24,6398,6.094]],["body/classes/LinkElementResponseMapper.html",[0,0.268,2,0.826,3,0.015,4,0.015,5,0.007,7,0.109,8,1.187,27,0.483,29,0.789,30,0.001,31,0.576,32,0.153,33,0.473,34,1.329,35,1.336,95,0.132,100,2.712,101,0.01,103,0,104,0,110,2.687,112,0.804,122,2.145,135,1.015,141,4.409,148,1.141,153,2.022,155,2.465,157,1.789,430,3.196,467,3.816,652,2.353,653,3.209,711,2.309,829,4.584,830,5.704,833,6.31,835,5.961,1237,3.032,1853,2.542,2048,5.515,2139,4.499,2392,2.964,2639,8.445,2642,7.887,2643,7.887,2645,7.701,2908,4.499,3124,8.983,3550,4.541,3988,5.899,4004,5.48,4344,9.407,4454,4.036,5883,7.161,6367,4.945,6394,5.961,6398,11.729,9578,9.185,9579,6.122,9586,6.122,9587,6.122,9588,6.122,9589,7.198,15614,8.648,15629,12.757,15630,6.819,15631,11.525,15632,7.773,15633,7.773,15634,7.773]],["title/interfaces/ListFiles.html",[159,0.713,7200,5.089]],["body/interfaces/ListFiles.html",[3,0.016,4,0.016,5,0.01,7,0.118,30,0.001,32,0.157,33,0.616,47,1.042,55,2.618,95,0.096,101,0.018,103,0.001,104,0.001,112,0.845,125,2.577,159,1.375,161,1.992,339,3.171,414,6.613,1302,6.633,1304,4.771,1444,4.653,2232,5.1,5202,6.272,6528,4.771,7185,6.283,7186,6.283,7187,6.608,7188,6.435,7189,6.435,7190,5.274,7191,6.283,7192,5.72,7193,5.72,7194,5.72,7195,5.72,7196,5.915,7197,5.213,7198,5.1,7199,5.1,7200,7.921,7201,10.026,7202,10.026,7203,6.283]],["title/classes/ListOauthClientsParams.html",[0,0.24,15635,6.094]],["body/classes/ListOauthClientsParams.html",[0,0.34,2,0.775,3,0.014,4,0.014,5,0.007,7,0.103,27,0.471,30,0.001,31,0.552,32,0.149,33,0.616,47,0.848,55,2.394,56,5.268,58,8.151,95,0.113,101,0.01,103,0,104,0,112,0.77,145,4.465,157,2.751,187,7.04,190,2.145,194,5.234,196,4.426,197,3.956,200,2.234,202,1.675,296,3.262,299,4.35,300,4.779,534,5.152,873,6.27,876,5.117,891,9.706,892,9.169,1470,6.982,3759,7.87,3760,5.054,3765,7.078,3816,5.921,4672,7.192,6252,7.762,6321,8.792,8897,10.863,9894,9.169,11494,9.351,15635,8.646,15636,12.487,15637,7.293,15638,7.293,15639,7.293,15640,9.855,15641,9.855,15642,7.293,15643,7.293,15644,9.855,15645,7.293,15646,7.293,15647,7.293]],["title/classes/LocalAuthorizationBodyParams.html",[0,0.24,15648,6.094]],["body/classes/LocalAuthorizationBodyParams.html",[0,0.412,2,1.045,3,0.019,4,0.019,5,0.009,7,0.138,27,0.47,30,0.001,32,0.149,47,0.948,51,6.166,87,6.462,95,0.136,101,0.013,103,0.001,104,0.001,112,0.933,190,2.142,200,3.01,202,2.257,296,3.357,299,5.009,856,7.129,8254,9.689,14863,8.622,15648,10.47,15649,12.854,15650,9.1,15651,9.1]],["title/injectables/LocalStrategy.html",[589,0.929,1532,6.094]],["body/injectables/LocalStrategy.html",[0,0.203,3,0.011,4,0.011,5,0.005,7,0.083,8,0.98,27,0.429,29,0.835,30,0.001,31,0.611,32,0.144,33,0.501,35,1.153,36,2.308,39,1.63,47,0.998,51,5.947,59,3.381,66,7.111,87,6.811,94,6.085,95,0.153,101,0.008,103,0,104,0,135,1.571,148,0.841,153,1.983,159,0.605,172,2.504,195,1.289,197,1.638,228,1.977,231,1.474,233,1.838,268,7.535,277,0.85,279,2.473,290,2.007,317,2.61,325,2.926,349,4.322,433,1.048,480,4.316,579,1.702,589,1.135,591,1.405,634,7.175,647,4.316,648,3.703,651,2.98,652,2.679,657,2.757,675,2.999,838,4.954,923,4.954,924,5.168,1213,5.401,1526,9.224,1532,7.448,1545,4.153,1551,4.954,1585,3.581,1619,3.62,1712,4.411,1983,8.076,4972,3.956,7990,4.411,12987,5.168,12995,4.518,13699,4.954,13709,8.58,14284,4.518,14288,6.893,14293,4.783,15025,9.218,15051,5.455,15054,5.455,15056,5.455,15057,5.455,15059,5.455,15305,9.218,15652,5.891,15653,8.49,15654,5.891,15655,5.891,15656,5.891,15657,10.893,15658,5.891,15659,8.49,15660,8.49,15661,5.891,15662,8.49,15663,5.891,15664,5.891,15665,5.891,15666,5.891,15667,5.891,15668,5.891,15669,5.891,15670,8.49,15671,5.891,15672,5.891,15673,5.891,15674,5.891,15675,5.891,15676,5.168,15677,5.891,15678,5.891,15679,5.891,15680,5.891]],["title/interfaces/Loggable.html",[159,0.713,1422,2.845]],["body/interfaces/Loggable.html",[3,0.02,4,0.02,5,0.01,7,0.145,8,1.42,27,0.407,30,0.001,35,1.197,95,0.118,101,0.014,103,0.001,104,0.001,134,3.651,159,1.061,161,2.453,1422,5.038,1423,6.199,1426,6.101,1468,6.199,1469,6.523,15681,10.333,15682,10.333]],["title/injectables/Logger.html",[589,0.929,2449,2.903]],["body/injectables/Logger.html",[0,0.239,3,0.021,4,0.013,5,0.006,7,0.097,8,1.099,27,0.511,29,0.972,30,0.001,31,0.741,32,0.162,33,0.583,35,1.421,47,0.83,95,0.14,101,0.009,103,0,104,0,112,0.744,129,2.073,130,1.895,135,1.528,161,1.645,183,4.16,228,1.257,277,1,433,0.855,569,4.175,589,1.273,591,1.652,652,2.389,688,3.27,711,4.18,1042,6.298,1115,4.479,1212,4.463,1422,5.814,2449,5.127,3262,4.652,6244,3.897,9863,10.267,9873,6.078,9874,7.496,9875,5.624,9876,6.415,9877,6.078,9878,10.837,15100,8.812,15109,8.812,15120,6.415,15131,10.315,15683,6.928,15684,8.349,15685,9.516,15686,9.516,15687,9.516,15688,6.928,15689,9.516,15690,6.928,15691,9.516,15692,6.928,15693,6.928,15694,9.516,15695,6.928,15696,6.928,15697,6.928,15698,6.928,15699,6.928]],["title/interfaces/LoggerConfig.html",[159,0.713,7368,5.841]],["body/interfaces/LoggerConfig.html",[3,0.02,4,0.02,5,0.01,7,0.151,30,0.001,32,0.134,47,0.947,101,0.014,103,0.001,104,0.001,112,0.984,159,1.104,161,2.552,311,7.016,7368,10.587,11971,10.846,15700,10.748]],["title/modules/LoggerModule.html",[252,1.835,265,3.211]],["body/modules/LoggerModule.html",[0,0.269,3,0.015,4,0.015,5,0.007,30,0.001,95,0.155,101,0.01,103,0,104,0,148,0.771,153,1.284,161,1.849,195,2.252,197,2.165,252,3.048,254,2.805,255,2.97,256,3.046,257,3.035,258,3.024,259,4.195,260,4.294,265,6.544,269,4.028,270,2.991,271,2.929,276,3.046,277,1.124,403,5.209,634,7.105,651,3.94,686,5.593,688,3.676,997,4.895,1080,2.684,1212,5.017,2449,5.946,2450,6.609,3879,5.832,7368,6.549,9857,11.838,9874,9.087,15701,7.788,15702,7.788,15703,7.788,15704,7.788,15705,7.212,15706,7.788,15707,7.788,15708,7.788,15709,6.549,15710,7.788,15711,7.788,15712,7.788,15713,7.788,15714,7.788,15715,7.788,15716,7.788,15717,7.788,15718,7.788,15719,7.788,15720,7.788,15721,7.788,15722,7.788,15723,7.788,15724,7.788]],["title/classes/LoggingUtils.html",[0,0.24,9875,5.639]],["body/classes/LoggingUtils.html",[0,0.283,2,0.874,3,0.016,4,0.016,5,0.008,7,0.116,8,1.231,27,0.466,29,0.908,30,0.001,31,0.664,32,0.133,33,0.545,35,1.372,47,0.921,59,2.551,95,0.135,101,0.011,103,0.001,104,0.001,125,2.824,134,2.904,135,1.637,148,1.173,158,3.039,161,1.951,183,4.797,185,4.07,467,4.042,652,2.418,1115,4.533,1422,5.549,1426,3.688,9875,8.66,12548,8.97,15101,11.606,15133,7.61,15134,7.61,15725,8.218,15726,10.667,15727,10.667,15728,10.667,15729,10.667,15730,8.218,15731,11.843,15732,10.667,15733,8.218,15734,10.667,15735,8.218,15736,8.218,15737,8.218,15738,10.667]],["title/controllers/LoginController.html",[314,2.658,1487,6.094]],["body/controllers/LoginController.html",[0,0.168,3,0.009,4,0.009,5,0.004,7,0.068,8,0.851,27,0.351,29,0.683,30,0.001,31,0.499,32,0.173,33,0.41,35,1.032,36,2.379,95,0.143,100,1.699,101,0.006,103,0,104,0,135,1.466,146,3.32,148,0.882,157,3.128,159,0.5,180,5.512,190,1.598,193,4.878,202,1.118,228,0.884,274,2.035,277,0.703,290,3.053,314,1.864,316,2.349,317,2.668,325,5.791,333,7.538,337,6.898,338,7.165,339,3.293,340,8.318,341,8.243,342,7.328,343,9.806,349,3.755,358,8.062,379,5.055,390,5.856,391,7.702,392,2.545,393,2.404,400,1.45,401,4.977,402,4.4,403,4.503,571,3.521,657,2.04,694,9.01,1086,4.247,1087,4.115,1088,4.179,1089,4.448,1090,4.86,1368,2.745,1470,4.124,1485,7.486,1487,6.47,1490,4.509,1545,3.433,1724,9.185,1725,3.433,1899,3.179,2059,6.523,2060,6.394,2821,6.572,2836,7.012,3222,3.27,3223,2.679,3382,5.038,3998,3.27,4834,6.498,7745,7.328,8005,7.821,8902,8.406,9076,4.272,9077,4.095,9845,4.095,12293,5.656,13560,3.223,14861,8.35,15648,8.711,15739,4.869,15740,7.375,15741,7.375,15742,8.902,15743,4.869,15744,4.869,15745,10.396,15746,4.869,15747,8.831,15748,8.902,15749,4.869,15750,4.869,15751,4.869,15752,4.869,15753,4.869,15754,4.869,15755,8.35,15756,4.869,15757,4.869,15758,4.869,15759,6.202,15760,4.272,15761,4.869,15762,4.869,15763,4.869,15764,4.869,15765,8.243,15766,4.869,15767,4.869,15768,8.902,15769,7.375,15770,4.869,15771,4.869,15772,4.869,15773,4.869,15774,4.869,15775,4.869,15776,4.869,15777,4.869]],["title/classes/LoginDto.html",[0,0.24,1724,5.471]],["body/classes/LoginDto.html",[0,0.354,2,1.09,3,0.019,4,0.019,5,0.009,7,0.144,27,0.482,29,0.786,30,0.001,31,0.575,32,0.153,33,0.472,47,0.868,101,0.013,103,0.001,104,0.001,112,0.957,232,3.317,433,1.265,435,3.482,1605,8.926,1724,10.915,15778,10.254,15779,12.244,15780,8.623,15781,8.623]],["title/classes/LoginRequestBody.html",[0,0.24,15782,5.639]],["body/classes/LoginRequestBody.html",[0,0.307,2,0.669,3,0.012,4,0.012,5,0.006,7,0.089,27,0.498,30,0.001,32,0.158,33,0.635,47,0.796,55,2.069,95,0.118,101,0.008,103,0,104,0,112,0.696,122,1.857,145,3.326,157,2.377,164,8.408,165,5.113,169,9.958,170,8.136,187,5.824,190,2.269,194,5.136,195,1.948,196,4.343,197,3.916,199,4.938,200,1.929,202,1.446,231,1.546,290,2.105,296,2.698,300,3.953,337,3.87,342,4.111,402,2.253,403,4.505,436,3.519,567,4.267,711,1.87,890,6.17,998,2.972,1042,4.168,1080,4.358,1302,3.493,1379,4.523,1390,3.913,1470,5.776,1475,7.73,1888,7.014,2163,2.911,2344,7.475,2561,5.356,2815,3.562,4886,6.668,5042,4.533,5114,7.014,5285,4.83,6134,3.714,6231,10.483,6232,7.488,6233,7.488,6234,7.014,6237,4.229,6239,5.525,6240,7.812,6241,7.812,6242,8.246,6243,7.812,6244,3.647,6246,5.832,6247,8.246,6248,6.524,6249,10.397,6250,8.246,6252,8.844,6253,4.83,6254,5.525,6255,5.525,6256,5.525,6257,5.832,6258,6.829,6259,6.17,6260,4.716,6261,5.113,6262,4.83,6263,5.296,6264,5.113,6265,5.832,6266,5.296,6267,5.832,6268,5.832,6269,5.525,6270,5.296,6271,5.296,6272,5.832,6274,7.014,6275,5.832,15782,7.229,15783,10.329,15784,6.298,15785,6.298]],["title/classes/LoginResponse.html",[0,0.24,15747,4.989]],["body/classes/LoginResponse.html",[0,0.346,2,1.065,3,0.019,4,0.019,5,0.009,7,0.141,27,0.476,29,0.769,30,0.001,31,0.562,32,0.151,33,0.461,47,0.856,95,0.114,101,0.013,103,0.001,104,0.001,112,0.944,190,1.799,202,2.302,232,3.272,296,3.386,433,1.237,435,3.404,1605,8.839,15747,9.891,15780,8.429,15781,8.429,15786,10.024,15787,12.078]],["title/classes/LoginResponse-1.html",[0,0.199,756,2.284,15747,4.148]],["body/classes/LoginResponse-1.html",[0,0.288,2,0.613,3,0.011,4,0.011,5,0.005,7,0.081,27,0.521,29,0.442,30,0.001,31,0.323,32,0.165,33,0.621,34,2.042,47,0.964,70,5.828,72,3.825,77,6.334,95,0.123,101,0.008,103,0,104,0,110,2.89,112,0.653,122,1.743,125,3.007,157,2.834,164,6.258,171,5.612,174,5.698,180,5.096,187,7.538,190,2.343,193,5.48,194,3.269,195,2.151,196,2.764,197,2.998,200,1.766,202,1.324,290,2.823,296,3.492,299,3.257,300,4.713,358,6.785,417,4.673,433,0.711,868,4.717,1475,5.253,1495,7.062,2327,5.253,2344,6.555,2543,3.1,2752,8.27,2815,5.143,2845,5.384,3597,6.003,3724,4.064,4409,4.68,4547,7.062,6273,4.837,6280,8.268,6281,8.268,6282,8.268,6283,7.982,6286,8.626,6288,5.057,6294,8.268,6295,7.739,6303,8.268,6310,7.739,6311,7.739,6314,5.057,6315,5.338,6316,5.338,6317,5.338,6326,7.739,14172,6.41,14511,6.785,15747,8.845,15788,5.764,15789,9.105,15790,8.358,15791,5.764,15792,5.764,15793,5.764,15794,7.332,15795,5.764,15796,5.764,15797,8.358,15798,5.764,15799,5.764,15800,5.764,15801,8.358,15802,8.358,15803,8.358,15804,5.764,15805,5.764,15806,5.764]],["title/classes/LoginResponseMapper.html",[0,0.24,15760,6.094]],["body/classes/LoginResponseMapper.html",[0,0.304,2,0.937,3,0.017,4,0.017,5,0.008,7,0.124,8,1.288,27,0.439,29,0.856,30,0.001,31,0.625,32,0.139,33,0.513,35,1.293,47,0.868,59,2.736,95,0.127,100,3.075,101,0.012,103,0.001,104,0.001,135,1.457,148,1.105,153,1.839,467,3.947,829,5.198,871,4.709,1605,7.606,1724,11.076,1725,6.214,8003,10.818,15747,9.532,15759,11.16,15760,9.787,15807,12.24,15808,11.156,15809,11.156,15810,11.156,15811,7.155,15812,11.156,15813,8.162,15814,11.156]],["title/injectables/LoginUc.html",[589,0.929,1485,5.841]],["body/injectables/LoginUc.html",[0,0.302,3,0.017,4,0.017,5,0.008,7,0.123,8,1.283,27,0.438,29,0.852,30,0.001,31,0.623,32,0.139,33,0.511,35,1.015,36,2.354,95,0.155,100,3.055,101,0.011,103,0.001,104,0.001,135,1.594,148,0.867,153,1.443,159,0.899,228,1.589,277,1.264,317,2.648,325,6.374,400,2.607,433,1.08,589,1.486,591,2.088,657,2.007,675,4.458,1485,9.342,1526,9.843,1551,7.363,1605,5.97,1699,9.611,1722,7.363,1723,4.979,1724,10.661,5099,10.287,7990,6.557,15815,8.756,15816,11.109,15817,8.756,15818,8.756,15819,11.109,15820,8.756,15821,8.108,15822,8.756,15823,8.756,15824,8.756,15825,8.756]],["title/injectables/Lti11EncryptionService.html",[589,0.929,15826,6.094]],["body/injectables/Lti11EncryptionService.html",[0,0.295,3,0.016,4,0.016,5,0.008,7,0.12,8,1.265,27,0.338,29,0.657,30,0.001,31,0.48,32,0.107,33,0.394,35,0.993,47,1.006,95,0.138,101,0.011,103,0.001,104,0.001,110,4.402,135,1.578,148,0.849,153,1.413,277,1.237,339,2.513,589,1.465,591,2.043,641,4.873,711,3.588,1078,5.296,1470,7.119,1475,8.46,1598,7.509,1718,6.279,1723,7.24,1756,6.286,2124,5.808,2354,7.935,3223,4.715,7445,6.154,15826,9.613,15827,10.958,15828,8.569,15829,10.147,15830,10.958,15831,8.569,15832,7.206,15833,10.958,15834,7.935,15835,8.569,15836,8.029,15837,8.569,15838,8.569,15839,8.569,15840,8.569,15841,8.569,15842,8.569,15843,8.569,15844,8.569]],["title/classes/Lti11ToolConfig.html",[0,0.24,8197,5.089]],["body/classes/Lti11ToolConfig.html",[0,0.266,2,0.821,3,0.015,4,0.015,5,0.007,7,0.109,27,0.54,29,0.593,30,0.001,31,0.433,32,0.175,33,0.529,47,0.973,95,0.117,101,0.01,103,0,104,0,112,0.801,231,1.778,232,2.776,233,2.412,433,0.954,435,2.624,436,3.043,614,2.386,1598,6.777,2035,3.793,2124,6.092,2332,6.426,2682,6.142,2684,4.449,2685,6.498,2686,9.535,2688,6.78,2689,5.776,2690,6.78,2691,6.78,2693,5.55,8040,7.606,8046,7.502,8048,7.502,8050,7.502,8065,5.662,8066,6.274,8067,6.087,8068,6.498,8071,5.927,8072,6.274,8075,5.927,8076,6.274,8079,5.927,8080,6.274,8194,8.421,8197,9.329,8220,5.355,8225,8.254,15845,13.556,15846,9.487,15847,7.156,15848,7.156,15849,7.156,15850,7.156,15851,7.156,15852,6.78,15853,6.78]],["title/classes/Lti11ToolConfigCreateParams.html",[0,0.24,10177,5.841]],["body/classes/Lti11ToolConfigCreateParams.html",[0,0.343,2,0.785,3,0.014,4,0.014,5,0.007,7,0.104,27,0.529,30,0.001,32,0.173,33,0.457,47,0.974,95,0.137,101,0.01,103,0,104,0,112,0.777,190,2.408,200,2.263,201,3.86,202,1.696,231,1.725,296,3.505,299,4.888,300,3.805,436,2.952,614,2.281,899,3.364,1598,6.626,2035,3.625,2087,5.71,2124,5.955,2332,6.282,2682,5.981,2684,4.351,2689,6.334,2706,9.19,2707,7.786,2708,5.997,2709,5.997,2710,5.997,2711,5.997,2712,5.997,6793,5.412,8040,7.436,8046,7.334,8048,7.334,8050,7.334,8194,8.232,8225,8.069,10176,5.997,10177,8.359,10184,6.48,15854,12.224,15855,6.84,15856,7.387,15857,6.84,15858,6.84,15859,6.84,15860,7.387,15861,7.387,15862,6.84,15863,9.205,15864,6.84,15865,6.84]],["title/classes/Lti11ToolConfigEntity.html",[0,0.24,10228,5.639]],["body/classes/Lti11ToolConfigEntity.html",[0,0.256,2,0.788,3,0.014,4,0.014,5,0.007,7,0.104,27,0.52,29,0.569,30,0.001,31,0.416,32,0.165,33,0.518,47,0.952,95,0.137,96,1.963,101,0.01,103,0,104,0,112,0.779,190,2.321,195,2.18,196,2.452,211,4.112,223,4.169,224,2.164,231,1.287,232,2.7,433,0.915,435,2.517,457,4.112,614,2.289,886,3.95,1598,6.638,2035,3.639,2108,3.236,2124,5.967,2682,6.086,2684,4.412,2689,4.18,2696,6.234,2698,5.073,2699,8.09,2700,6.504,2701,4.18,8040,7.449,8046,7.348,8048,7.348,8050,7.348,8065,5.432,8066,6.019,8067,5.84,8068,6.234,8071,5.686,8072,6.019,8075,5.686,8076,6.019,8079,5.686,8080,6.019,8107,6.504,8194,8.247,8220,6.905,8225,8.084,10228,10.195,15852,6.504,15853,6.504,15866,13.431,15867,9.965,15868,7.414,15869,7.414,15870,7.414,15871,7.414,15872,7.414]],["title/classes/Lti11ToolConfigResponse.html",[0,0.24,10806,5.841]],["body/classes/Lti11ToolConfigResponse.html",[0,0.255,2,0.785,3,0.014,4,0.014,5,0.007,7,0.104,27,0.529,29,0.566,30,0.001,31,0.414,32,0.173,33,0.517,47,0.951,95,0.128,101,0.01,103,0,104,0,112,0.777,190,2.369,201,4.362,202,1.696,231,1.725,232,2.693,233,2.305,296,3.67,433,0.911,435,2.508,436,2.952,614,2.281,2035,3.625,2108,3.224,2124,5.955,2332,6.282,2682,5.981,2684,4.351,2689,6.334,2693,5.305,2702,5.208,2715,5.997,2716,10.182,2718,6.48,2719,6.48,2720,5.997,8040,7.436,8046,7.334,8048,7.334,8050,7.334,8065,5.412,8066,5.997,8071,5.665,8072,5.997,8075,5.665,8076,5.997,8079,5.665,8080,5.997,8194,8.232,8220,5.119,8225,8.069,10806,10.547,15852,6.48,15853,6.48,15873,13.2,15874,9.205,15875,6.84,15876,6.84,15877,6.84,15878,6.48]],["title/classes/Lti11ToolConfigUpdateParams.html",[0,0.24,10728,5.841]],["body/classes/Lti11ToolConfigUpdateParams.html",[0,0.341,2,0.781,3,0.014,4,0.014,5,0.007,7,0.103,27,0.528,30,0.001,32,0.173,33,0.552,47,0.973,95,0.137,101,0.01,103,0,104,0,112,0.774,190,2.405,200,2.25,201,4.35,202,1.687,231,1.719,296,3.443,299,4.878,300,4.288,436,2.942,614,2.268,899,3.345,1598,6.607,2035,3.605,2087,5.702,2124,5.939,2332,6.264,2682,5.973,2684,4.346,2689,6.317,2706,9.172,2707,6.863,2708,5.964,2709,5.964,2710,5.964,2711,5.964,2712,5.964,6793,7.256,8040,7.415,8046,7.313,8048,7.313,8050,7.313,8194,8.209,8225,8.047,10728,8.328,11025,6.177,11027,6.445,11029,6.445,15854,12.206,15855,6.803,15857,6.803,15859,6.803,15863,9.171,15864,6.803,15865,6.803,15879,7.346,15880,7.346,15881,7.346,15882,6.803]],["title/classes/LtiRoleMapper.html",[0,0.24,15883,6.432]],["body/classes/LtiRoleMapper.html",[0,0.31,2,0.956,3,0.017,4,0.017,5,0.008,7,0.126,8,1.304,27,0.354,29,0.69,30,0.001,31,0.504,32,0.112,33,0.414,35,1.042,95,0.129,101,0.012,103,0.001,104,0.001,125,2.945,127,4.492,135,1.613,148,0.89,467,3.596,595,3.393,711,2.671,1756,6.48,2035,4.413,5024,7.405,11327,6.037,11328,6.037,13770,6.13,13790,6.896,15883,10.461,15884,11.297,15885,8.991,15886,11.297,15887,11.297,15888,8.991,15889,14.212,15890,8.326,15891,8.991,15892,11.297,15893,8.991,15894,11.297,15895,8.991,15896,8.991,15897,8.991,15898,8.991,15899,11.297,15900,8.991]],["title/entities/LtiTool.html",[205,1.418,8044,5.201]],["body/entities/LtiTool.html",[0,0.143,3,0.008,4,0.008,5,0.004,7,0.058,26,1.343,27,0.528,30,0.001,31,0.556,32,0.168,33,0.624,47,0.969,49,3.026,95,0.104,96,1.725,97,1.698,99,0.85,101,0.013,103,0,104,0,110,2.782,112,0.509,122,2.502,125,2.174,129,3.59,130,1.134,148,0.411,153,0.683,159,0.426,190,2.406,195,3.025,196,4.459,197,3.831,205,1.33,206,1.352,211,7.339,219,3.642,223,4.185,224,1.21,225,2.502,226,1.878,228,0.752,229,1.64,231,0.72,232,1.123,233,1.294,376,4.773,540,1.455,702,2.047,711,1.935,874,4.7,886,3.118,1454,2.547,1582,6.549,1598,4.745,1835,2.124,2124,4.833,2183,1.633,2455,2.469,2924,3.011,3400,4.123,4633,1.86,5311,3.366,7127,2.246,7422,3.637,7444,3.366,7457,3.366,8029,7.059,8030,3.839,8031,5.477,8032,7.403,8033,6.032,8034,6.032,8035,3.839,8036,3.839,8037,6.032,8038,3.839,8039,3.839,8040,6.559,8041,6.032,8042,6.032,8043,3.839,8044,4.878,8045,6.337,8046,5.252,8047,6.337,8048,5.252,8049,5.477,8050,5.252,8051,6.337,8052,6.337,8053,6.025,8054,6.032,8055,7.451,8056,3.265,8057,3.839,8058,5.779,8059,6.337,8060,5.183,8061,4.84,8062,6.025,8063,4.891,8064,2.606,8065,3.037,8066,3.366,8067,3.265,8068,3.486,8069,3.486,8070,3.839,8071,3.179,8072,3.366,8073,3.486,8074,3.839,8075,3.179,8076,3.366,8077,3.265,8078,3.366,8079,3.179,8080,3.366,8081,3.486,8082,3.839,8083,3.486,8084,3.839,8085,3.486,8086,3.839,8087,3.839,8088,3.839,8089,3.839,8090,3.486,8091,3.839,8092,3.486,8093,3.839,8094,3.179,8095,3.366,8096,2.923,8097,3.104,8098,3.486,8099,3.839,8100,3.104,8101,3.366,15901,4.145,15902,4.145,15903,4.145,15904,4.145,15905,4.145,15906,4.145,15907,4.145,15908,4.145,15909,4.145,15910,4.145,15911,4.145,15912,4.145,15913,4.145,15914,4.145,15915,4.145,15916,4.145,15917,4.145,15918,4.145,15919,4.145,15920,4.145,15921,4.145,15922,4.145,15923,4.145]],["title/classes/LtiToolDO.html",[0,0.24,8110,4.897]],["body/classes/LtiToolDO.html",[0,0.289,2,0.616,3,0.011,4,0.011,5,0.005,7,0.082,26,2.034,27,0.557,29,0.445,30,0.001,31,0.606,32,0.176,33,0.653,34,1.435,47,1.016,95,0.113,99,1.188,101,0.011,103,0,104,0,110,3.41,112,0.656,122,2.727,130,2.697,231,1.457,433,0.715,436,1.722,1598,5.817,1770,2.356,1852,6.376,2124,6.082,2183,2.284,3400,5.054,4753,5.086,6652,4.248,7127,3.141,8032,8.008,8040,6.528,8045,7.77,8046,6.439,8047,7.77,8048,6.439,8050,6.439,8051,7.77,8052,7.77,8053,7.386,8056,7.77,8058,7.085,8059,7.77,8060,6.355,8061,5.934,8062,7.386,8063,5.996,8065,6.149,8067,4.566,8069,4.875,8071,4.446,8073,4.875,8075,4.446,8077,4.566,8079,4.446,8081,4.875,8083,4.875,8085,4.875,8090,4.875,8092,4.875,8094,4.446,8096,4.087,8098,4.875,8100,4.341,8102,8.295,8103,5.369,8104,5.369,8107,5.086,8108,4.446,8109,4.341,8110,8.09,8111,6.61,8112,4.566,8113,5.369,8114,5.369,8115,5.369,8116,5.369,8117,5.369,8118,5.369,8119,5.369,8120,5.086,8121,5.369,8122,5.369,8123,5.369,8124,5.369,8125,5.369,8126,5.369,8127,5.369,8128,5.369,8129,5.369,8130,5.369,8131,5.369,8132,5.369,15924,8.392,15925,5.797,15926,5.797,15927,5.797,15928,5.797,15929,5.797,15930,5.797,15931,5.797,15932,5.797,15933,5.797,15934,5.797,15935,5.797,15936,5.797,15937,5.797,15938,5.797,15939,5.797,15940,5.797,15941,5.797,15942,5.797,15943,5.797]],["title/classes/LtiToolFactory.html",[0,0.24,15944,6.432]],["body/classes/LtiToolFactory.html",[0,0.16,2,0.493,3,0.009,4,0.009,5,0.004,7,0.065,8,0.82,27,0.519,29,1.02,30,0.001,31,0.739,32,0.168,33,0.587,34,1.477,35,1.405,47,0.838,55,2.295,59,3.239,95,0.111,101,0.006,103,0,104,0,110,2.455,112,0.555,113,4.388,127,4.836,129,3.539,130,3.315,135,1.128,148,0.855,153,0.764,157,1.987,172,3.019,185,2.44,192,2.549,195,1.553,197,2.4,205,2.131,206,2.315,228,1.289,231,1.233,326,4.852,374,3.072,433,0.572,436,3.839,467,2.067,478,1.297,501,7.205,502,5.368,505,3.938,506,5.368,507,5.339,508,3.938,509,3.938,510,3.938,511,3.877,512,4.396,513,4.788,514,6.407,515,5.698,516,6.991,517,2.591,522,2.57,523,3.938,524,2.591,525,5.059,526,5.205,527,4.097,528,4.896,529,3.907,530,2.57,531,2.422,532,4.085,533,2.474,534,2.422,535,2.57,536,2.591,537,4.714,538,2.57,539,7.169,540,4.152,541,6.558,542,2.591,543,4.189,544,2.57,545,2.591,546,2.57,547,2.591,548,2.57,549,2.879,550,2.707,551,2.57,552,6.011,553,2.591,554,2.57,555,3.938,556,3.592,557,3.938,558,2.591,559,2.492,560,2.456,561,2.079,562,2.57,563,2.57,564,2.57,565,2.591,566,2.591,567,1.761,568,2.57,569,1.442,570,2.591,571,2.809,572,2.57,573,2.591,575,2.658,577,4.229,1598,4.188,2124,3.764,3400,2.374,4659,3.896,6325,2.329,8031,3.896,8032,3.762,8040,3.066,8044,5.317,8045,5.593,8046,4.635,8047,5.593,8048,4.635,8050,3.025,8051,3.65,8052,3.65,8053,3.47,8056,5.593,8058,6.201,8059,5.593,8060,2.985,8061,2.787,8062,5.317,8063,2.816,8102,3.896,10248,6.576,10253,6.576,13480,3.554,15944,7.995,15945,4.633,15946,7.101,15947,4.633,15948,7.101,15949,4.633,15950,4.633,15951,4.633,15952,4.633,15953,4.633,15954,4.633]],["title/modules/LtiToolModule.html",[252,1.835,15955,6.094]],["body/modules/LtiToolModule.html",[0,0.318,3,0.018,4,0.018,5,0.008,30,0.001,95,0.149,101,0.012,103,0.001,104,0.001,252,3.301,254,3.32,255,3.516,256,3.606,257,3.592,258,3.579,259,4.543,260,4.651,269,4.488,270,3.541,271,3.467,277,1.331,279,3.869,610,3.632,1027,2.831,2450,6.437,5037,10.047,6038,7.484,15955,12.587,15956,9.218,15957,9.218,15958,9.218,15959,12.121,15960,8.536,15961,9.218]],["title/injectables/LtiToolRepo.html",[589,0.929,5037,5.089]],["body/injectables/LtiToolRepo.html",[0,0.149,3,0.008,4,0.008,5,0.004,7,0.061,8,0.778,10,2.706,12,3.053,18,3.43,26,2.384,27,0.521,29,1.007,30,0.001,31,0.761,32,0.164,33,0.604,34,1.597,35,1.522,36,2.698,40,2.1,47,0.842,95,0.115,96,1.146,101,0.006,103,0,104,0,110,2.329,112,0.338,113,4.609,122,1.726,135,1.321,142,2.458,145,1.617,148,1.145,153,1.364,185,2.315,205,2.283,206,1.411,224,1.263,231,1.169,277,0.625,317,2.945,347,2.218,435,1.47,436,3.782,478,1.212,569,1.347,579,1.251,589,0.901,591,1.032,652,2.361,657,1.896,729,4.669,735,3.083,736,5.024,766,2.345,1598,3.973,1770,4.11,2124,3.571,2139,2.505,2436,9.259,2438,4.937,2439,4.937,2440,4.937,2441,4.937,2442,4.839,2443,4.839,2444,4.937,2445,4.839,2446,4.937,2453,3.172,2455,5.559,2456,3.172,2458,3.172,2460,2.865,2461,4.669,2462,3.172,2464,3.172,2466,4.937,2470,4.937,2472,4.669,2473,4.839,2475,3.172,2477,2.631,2478,2.721,2479,3.172,2481,3.172,2483,3.109,2484,3.172,2501,3.052,2502,6.344,2524,5.911,3400,3.452,4737,2.69,4738,3.41,5037,4.937,8031,9.008,8040,2.865,8044,8.896,8045,5.307,8046,4.398,8047,5.307,8048,4.398,8049,3.64,8050,4.398,8051,5.307,8052,5.307,8053,8.021,8056,5.307,8058,7.694,8059,5.307,8060,4.341,8061,4.053,8062,5.045,8063,4.096,8110,8.376,10574,5.47,10583,5.666,10589,3.241,10590,3.241,10591,3.241,10592,3.241,10593,3.241,10594,3.32,10595,3.241,10596,3.241,10597,3.241,10598,3.241,10661,3.64,10665,4.008,10666,4.008,10685,3.798,10686,4.008,10690,4.008,10691,4.008,12109,4.008,13480,3.32,15962,4.329,15963,6.239,15964,6.738,15965,4.008,15966,6.738,15967,4.329,15968,4.329,15969,6.738,15970,4.329,15971,4.329,15972,4.329,15973,4.329,15974,4.329,15975,3.64,15976,4.329,15977,4.329,15978,4.329,15979,4.329,15980,4.329,15981,4.329,15982,4.329,15983,4.329,15984,4.329,15985,4.329,15986,4.329,15987,4.008,15988,4.329,15989,4.329,15990,4.329,15991,4.329,15992,4.329,15993,4.329,15994,4.329,15995,4.329,15996,4.329,15997,4.329,15998,4.329,15999,4.329,16000,4.329,16001,4.329,16002,4.329,16003,4.329,16004,4.329,16005,4.329,16006,4.329,16007,4.329,16008,4.329,16009,4.329,16010,4.329,16011,4.329,16012,4.329]],["title/injectables/LtiToolService.html",[589,0.929,15959,5.841]],["body/injectables/LtiToolService.html",[0,0.312,3,0.017,4,0.017,5,0.008,7,0.127,8,1.31,27,0.447,29,0.87,30,0.001,31,0.636,32,0.141,33,0.522,35,1.049,36,2.626,47,0.878,95,0.141,101,0.012,103,0.001,104,0.001,122,2.585,135,1.182,148,0.896,228,1.643,277,1.307,279,3.799,317,2.689,400,2.695,433,1.117,589,1.517,591,2.158,711,3.68,5037,10.001,6044,7.349,6325,4.551,8044,8.495,8053,9.727,8110,6.382,13480,6.942,15959,9.54,15960,11.474,15963,10.505,16013,12.391,16014,9.052,16015,9.052,16016,11.345,16017,9.052,16018,9.052]],["title/classes/LumiUserWithContentData.html",[0,0.24,13030,6.094]],["body/classes/LumiUserWithContentData.html",[0,0.245,2,0.756,3,0.014,4,0.014,5,0.007,7,0.1,26,2.781,27,0.542,29,0.545,30,0.001,31,0.663,32,0.175,33,0.327,34,1.885,47,0.906,95,0.126,99,1.458,101,0.013,103,0,104,0,112,0.757,122,2.665,159,0.73,205,1.452,290,1.681,433,0.878,458,2.845,578,3.718,702,5.44,1195,6.852,1237,2.856,1619,5.953,2108,3.104,2163,3.287,2183,2.802,3901,3.357,4557,4.141,4634,4.194,6573,4.044,6619,8.067,6622,3.357,11151,4.849,12963,8.147,13026,10.38,13027,12.852,13028,6.586,13029,10.37,13030,8.5,13031,10.204,13032,10.204,13033,9.266,13034,9.266,13035,9.266,13036,9.266,13037,6.586,13038,6.586,13039,6.586,13040,6.586,13041,6.586,13042,6.586,13043,6.586,13044,6.586,13045,6.586,13046,6.586,13047,6.586,13048,5.326,13049,6.586,13050,6.586,16019,9.688,16020,7.112,16021,7.112,16022,7.112,16023,7.112,16024,7.112,16025,7.112,16026,7.112,16027,7.112,16028,7.112]],["title/interfaces/Mail.html",[159,0.713,1454,4.268]],["body/interfaces/Mail.html",[3,0.016,4,0.016,5,0.008,7,0.116,30,0.001,31,0.464,32,0.166,33,0.633,47,1.041,77,5.327,101,0.011,103,0.001,104,0.001,112,0.837,159,1.394,161,1.963,231,2.181,1240,4.876,1439,8.019,1440,6.342,1441,8.894,1442,8.213,1443,6.342,1444,4.586,1445,8.019,1446,6.059,1447,6.059,1448,8.894,1449,6.342,1450,9.407,1451,8.213,1452,8.213,1453,9.407,1454,8.192,1455,9.407,1456,9.407,1457,9.635,1458,9.635]],["title/interfaces/MailAttachment.html",[159,0.713,1441,5.201]],["body/interfaces/MailAttachment.html",[3,0.017,4,0.017,5,0.008,7,0.124,30,0.001,31,0.721,32,0.153,47,1.039,77,5.678,101,0.012,103,0.001,104,0.001,112,0.872,159,1.414,161,2.093,231,2.233,1240,5.198,1439,8.353,1440,6.759,1441,9.633,1442,8.556,1443,9.867,1444,7.135,1445,8.353,1446,6.458,1447,6.458,1448,9.165,1449,6.759,1450,8.353,1451,8.556,1452,8.556,1453,8.353,1454,6.854,1455,6.6,1456,6.6,1457,6.759,1458,6.759]],["title/interfaces/MailConfig.html",[159,0.713,16029,5.327]],["body/interfaces/MailConfig.html",[3,0.02,4,0.02,5,0.01,7,0.151,30,0.001,32,0.134,47,0.947,101,0.014,103,0.001,104,0.001,112,0.984,159,1.104,161,2.552,311,7.016,16029,9.656,16030,10.748,16031,12.751]],["title/interfaces/MailContent.html",[159,0.713,1448,5.201]],["body/interfaces/MailContent.html",[3,0.017,4,0.017,5,0.008,7,0.124,30,0.001,31,0.495,32,0.139,33,0.514,47,1.031,77,8.295,101,0.012,103,0.001,104,0.001,112,0.873,159,1.415,161,2.097,231,2.235,1240,5.209,1439,9.641,1440,6.774,1441,9.175,1442,8.568,1443,6.774,1444,4.899,1445,9.641,1446,6.472,1447,6.472,1448,9.641,1449,9.874,1450,8.365,1451,8.568,1452,8.568,1453,8.365,1454,6.864,1455,6.614,1456,6.614,1457,6.774,1458,6.774]],["title/modules/MailModule.html",[252,1.835,16032,5.639]],["body/modules/MailModule.html",[0,0.316,3,0.017,4,0.017,5,0.008,8,1.059,27,0.361,29,0.704,30,0.001,31,0.514,32,0.114,33,0.422,35,1.063,47,0.811,95,0.149,101,0.012,103,0.001,104,0.001,148,0.909,159,0.943,252,3.294,254,3.305,259,3.337,260,3.416,277,1.324,467,3.331,540,3.222,634,6.622,651,4.642,685,5.36,1016,7.932,1045,7.469,1048,6.359,1267,6.59,1272,7.192,1273,8.05,1274,7.469,1275,8.05,2087,3.969,16029,7.038,16032,10.122,16033,8.497,16034,11.451,16035,9.176,16036,7.716,16037,10.122,16038,8.497,16039,8.497]],["title/interfaces/MailModuleOptions.html",[159,0.713,16034,6.094]],["body/interfaces/MailModuleOptions.html",[0,0.316,3,0.017,4,0.017,5,0.008,7,0.129,30,0.001,32,0.143,47,0.971,95,0.149,101,0.012,103,0.001,104,0.001,112,0.894,148,0.909,159,0.943,161,2.179,252,3.294,259,3.337,260,3.416,277,1.324,467,2.671,634,6.622,651,4.642,685,5.36,1016,7.279,1045,5.99,1267,6.59,1272,8.443,1273,8.05,1274,8.768,1275,8.05,2087,3.969,16029,7.038,16032,9.289,16033,8.497,16034,10.938,16036,7.716,16037,10.122,16038,8.497,16039,8.497]],["title/injectables/MailService.html",[589,0.929,16037,5.639]],["body/injectables/MailService.html",[0,0.227,3,0.013,4,0.013,5,0.006,7,0.093,8,1.061,27,0.474,29,0.878,30,0.001,31,0.642,32,0.15,33,0.527,35,1.226,36,1.947,47,0.991,95,0.138,101,0.009,103,0,104,0,112,0.718,125,2.975,135,1.382,142,2.403,145,3.432,148,1.134,159,0.677,195,1.441,228,2.264,277,0.951,317,2.297,339,2.695,433,1.134,540,3.716,589,1.229,591,1.57,634,7.41,651,3.332,652,2.797,657,1.51,688,3.109,711,3.143,1272,4.14,1274,4.3,1296,7.728,1297,5.348,1298,9.342,1310,4.644,1311,4.3,1339,5.779,1342,5.779,1454,7.666,1647,7.461,2087,2.849,16029,5.052,16036,5.539,16037,7.461,16040,6.1,16041,9.801,16042,9.19,16043,9.19,16044,10.047,16045,9.19,16046,8.51,16047,6.587,16048,11.154,16049,8.51,16050,6.587,16051,6.587,16052,6.1,16053,6.1,16054,6.1,16055,6.1,16056,6.1,16057,6.1,16058,6.1,16059,6.1,16060,6.1,16061,6.1,16062,6.1,16063,6.1,16064,6.1,16065,6.1,16066,6.1,16067,8.51,16068,8.51,16069,6.1,16070,6.1,16071,6.1,16072,6.1]],["title/interfaces/MailServiceOptions.html",[159,0.713,16044,6.094]],["body/interfaces/MailServiceOptions.html",[0,0.262,3,0.014,4,0.014,5,0.007,7,0.107,30,0.001,32,0.126,36,1.61,47,1,95,0.145,101,0.01,103,0,104,0,112,0.792,125,2.717,135,1.488,142,2.772,145,3.783,148,1.204,159,0.78,161,1.804,195,1.662,228,2.206,277,1.096,317,1.648,339,2.228,433,0.937,540,2.667,589,1.354,634,6.595,651,3.843,652,2.659,657,1.741,688,3.585,711,2.256,1272,7.64,1274,7.934,1298,8.532,1310,5.356,1311,4.959,1339,6.664,1342,6.664,1454,7.001,1647,6.167,2087,3.286,16029,5.826,16036,6.388,16037,6.167,16040,7.034,16041,7.034,16044,9.996,16046,7.034,16048,11.255,16049,7.034,16052,7.034,16053,7.034,16054,7.034,16055,7.034,16056,7.034,16057,7.034,16058,7.034,16059,7.034,16060,7.034,16061,7.034,16062,7.034,16063,7.034,16064,7.034,16065,7.034,16066,7.034,16067,9.379,16068,9.379,16069,7.034,16070,7.034,16071,7.034,16072,7.034]],["title/modules/ManagementModule.html",[252,1.835,16073,5.639]],["body/modules/ManagementModule.html",[0,0.248,3,0.014,4,0.014,5,0.007,30,0.001,95,0.163,101,0.009,103,0,104,0,122,1.502,135,1.553,252,2.93,254,2.593,255,2.746,256,2.817,257,2.806,258,2.796,259,4.521,260,2.681,265,4.517,269,3.822,270,2.766,271,2.708,274,4.635,276,4.338,277,1.039,647,5.276,649,4.527,651,3.643,1021,4.639,1025,4.639,1026,4.527,1027,2.212,1039,5.672,1716,6.318,2218,3.216,2219,3.62,2220,3.494,2869,4.581,3394,3.295,3766,8.572,3771,8.369,3772,10.782,3779,4.766,3781,4.425,3783,6.669,3784,7.696,4175,10.782,4228,4.207,4856,4.474,5169,10.409,5170,5.077,5174,5.077,5176,6.669,5179,6.669,5188,10.099,8712,8.217,8725,6.056,8740,9.73,8769,8.572,9780,7.317,12051,8.572,14340,6.056,14416,6.318,14422,8.572,16073,11.428,16074,7.201,16075,7.201,16076,7.201,16077,7.201,16078,7.201,16079,9.771,16080,7.201,16081,7.201,16082,7.201,16083,11.09,16084,7.201]],["title/modules/ManagementServerModule.html",[252,1.835,16085,6.094]],["body/modules/ManagementServerModule.html",[0,0.356,3,0.015,4,0.015,5,0.007,30,0.001,32,0.097,47,0.553,87,3.923,95,0.155,96,2.73,101,0.015,103,0,104,0,135,1.019,148,0.773,153,1.286,206,2.544,224,2.277,252,3.466,254,2.81,255,2.976,256,3.052,257,3.041,258,3.03,259,2.838,260,2.905,269,4.033,270,2.997,271,2.935,276,4.805,277,1.126,290,1.845,347,3.998,467,2.272,478,2.185,540,2.74,571,3.086,623,5.094,736,5.121,809,5.094,1014,5.407,1015,5.32,1016,6.56,1017,7.145,1022,7.145,1023,7.269,1024,7.145,1026,4.905,1028,7.145,1029,5.24,1036,8.823,1040,5.407,1041,5.32,1043,7.145,1045,5.094,1086,3.723,1087,3.607,1088,3.663,1089,3.899,1166,5.164,1167,4.794,1829,3.317,2163,3.607,2845,5.027,2935,4.136,5170,5.501,5316,5.843,12277,7.555,12278,7.555,12279,7.721,12290,5.717,12291,5.717,12432,6.846,12433,5.843,12434,6.846,16073,11.029,16085,11.512,16086,7.803,16087,7.803,16088,7.226,16089,7.226,16090,6.846,16091,6.846,16092,6.846]],["title/modules/ManagementServerTestModule.html",[252,1.835,16092,6.094]],["body/modules/ManagementServerTestModule.html",[0,0.344,3,0.014,4,0.014,5,0.007,8,0.857,27,0.293,29,0.57,30,0.001,31,0.416,32,0.124,33,0.342,35,0.861,47,0.527,59,2.306,87,3.734,95,0.153,96,2.642,101,0.015,103,0,104,0,135,0.97,148,0.736,153,1.225,206,2.422,224,2.168,252,3.418,254,2.675,255,2.833,256,2.905,257,2.895,258,2.884,259,2.701,260,2.765,269,3.902,270,2.853,271,2.793,276,4.711,277,1.072,290,1.756,347,3.806,467,2.905,478,2.08,540,3.503,571,2.938,623,4.849,736,4.955,809,4.849,1014,5.147,1015,5.064,1016,7.168,1017,6.914,1022,6.914,1023,7.035,1024,6.914,1026,4.669,1028,8.347,1029,8.437,1036,8.651,1040,5.147,1041,5.064,1043,6.914,1045,6.513,1048,5.147,1086,3.544,1087,3.433,1088,3.487,1089,3.711,1166,4.916,1167,4.564,1829,3.157,2163,3.433,2845,4.785,2935,3.937,5170,5.237,5316,5.562,12277,7.311,12278,7.311,12279,7.471,12290,5.442,12291,5.442,12432,6.516,12433,5.562,12434,6.516,16073,10.909,16085,6.516,16088,9.239,16089,6.878,16090,6.516,16091,6.516,16092,11.788,16093,7.428,16094,7.428,16095,7.428]],["title/entities/Material.html",[205,1.418,6165,4.475]],["body/entities/Material.html",[0,0.226,3,0.012,4,0.012,5,0.006,7,0.092,27,0.529,30,0.001,32,0.167,33,0.526,47,1.03,95,0.105,96,1.738,101,0.015,103,0,104,0,110,3.954,112,0.717,155,3.627,157,2.632,159,1.085,190,2.41,205,1.872,206,2.141,223,4.438,224,1.916,225,3.522,226,2.975,231,1.14,232,1.779,233,2.049,289,3.8,1821,3.185,2815,4.575,3037,3.15,3900,4.23,6165,5.907,6170,4.345,6179,7.679,6534,7.465,6584,4.629,7127,3.557,7458,4.345,7459,3.91,8064,4.127,16096,5.521,16097,9.284,16098,9.284,16099,9.008,16100,9.284,16101,6.565,16102,6.565,16103,6.565,16104,6.565,16105,9.284,16106,6.565,16107,6.565,16108,6.565,16109,9.284,16110,6.565,16111,6.565,16112,6.565,16113,5.521,16114,4.811,16115,5.521,16116,5.521,16117,7.222,16118,5.33,16119,5.521,16120,5.521,16121,5.521,16122,5.521,16123,5.521,16124,5.521,16125,5.521,16126,5.521,16127,5.521,16128,5.521,16129,5.521,16130,5.521]],["title/classes/MaterialFactory.html",[0,0.24,16131,6.432]],["body/classes/MaterialFactory.html",[0,0.176,2,0.544,3,0.01,4,0.01,5,0.005,7,0.072,8,0.884,27,0.52,29,1.021,30,0.001,31,0.712,32,0.169,33,0.584,34,1.569,35,1.445,47,0.543,55,2.375,59,3.384,95,0.087,101,0.007,103,0,104,0,110,2.647,112,0.599,113,4.559,127,5.087,129,3.649,130,3.334,135,0.668,148,0.507,155,1.623,157,2.509,172,3.254,185,2.631,192,2.816,205,2.226,206,2.497,228,1.389,231,1.329,326,4.824,374,3.312,433,0.631,436,3.919,467,2.229,501,7.33,502,5.647,505,4.246,506,5.647,507,5.49,508,4.246,509,4.246,510,4.246,511,4.18,512,4.67,513,5.087,514,6.606,515,5.951,516,7.119,517,2.861,522,2.838,523,4.246,524,2.861,525,5.322,526,5.476,527,4.31,528,5.151,529,4.213,530,2.838,531,2.675,532,4.244,533,2.732,534,2.675,535,2.838,536,2.861,537,5.008,538,2.838,539,7.04,540,4.281,541,6.762,542,2.861,543,4.45,544,2.838,545,2.861,546,2.838,547,2.861,548,2.838,549,3.18,550,2.99,551,2.838,552,6.245,553,2.861,554,2.838,555,4.246,556,3.873,557,4.246,558,2.861,559,2.752,560,2.713,561,2.297,562,2.838,563,2.838,564,2.838,565,2.861,566,2.861,567,1.945,568,2.838,569,1.593,570,2.861,571,3.028,572,2.838,573,2.861,576,3.018,981,5.576,2815,3.063,6165,7.023,6179,3.436,6534,3.341,16097,4.155,16098,4.155,16099,4.031,16100,4.155,16117,4.031,16131,8.495,16132,5.118,16133,4.739,16134,5.118]],["title/interfaces/MaterialProperties.html",[159,0.713,16117,5.471]],["body/interfaces/MaterialProperties.html",[0,0.24,3,0.013,4,0.013,5,0.006,7,0.098,30,0.001,32,0.169,33,0.539,47,1.044,95,0.109,96,1.841,101,0.015,103,0,104,0,110,4.246,112,0.746,155,3.895,157,2.826,159,1.119,161,1.651,205,1.948,223,4.257,224,2.029,225,3.664,226,3.15,231,1.207,232,1.883,233,2.169,289,4.024,1821,3.373,2815,4.913,3037,3.335,3900,4.479,6165,4.479,6170,4.601,6179,8.246,6534,8.017,6584,4.901,7127,3.767,7458,4.601,7459,4.14,8064,4.37,16096,5.846,16097,9.97,16098,9.97,16099,9.673,16100,9.97,16105,9.97,16109,9.97,16113,5.846,16114,5.094,16115,5.846,16116,5.846,16117,8.577,16118,5.644,16119,5.846,16120,5.846,16121,5.846,16122,5.846,16123,5.846,16124,5.846,16125,5.846,16126,5.846,16127,5.846,16128,5.846,16129,5.846,16130,5.846]],["title/injectables/MaterialsRepo.html",[589,0.929,16135,6.432]],["body/injectables/MaterialsRepo.html",[0,0.285,3,0.016,4,0.016,5,0.008,7,0.116,8,1.236,10,4.301,12,4.853,18,5.452,26,2.208,27,0.513,29,0.963,30,0.001,31,0.704,32,0.157,33,0.578,34,1.414,35,1.456,36,2.517,40,4.012,49,4.028,95,0.136,101,0.011,103,0.001,104,0.001,148,0.819,205,1.688,206,3.492,231,1.859,277,1.194,317,2.893,436,3.731,532,5.238,589,1.432,591,1.972,728,7.854,734,4.495,735,4.901,736,5.899,759,4.924,760,5.026,761,4.974,762,5.026,763,5.73,764,4.974,765,5.026,766,4.48,3966,5.83,6165,6.899,16133,7.657,16135,9.917,16136,8.269,16137,8.269]],["title/interfaces/Meta.html",[159,0.713,12974,4.736]],["body/interfaces/Meta.html",[3,0.017,4,0.017,5,0.008,7,0.123,30,0.001,32,0.165,34,1.494,47,1.023,55,2.651,101,0.018,103,0.001,104,0.001,112,0.867,122,1.822,159,1.411,161,2.074,339,2.563,402,4.589,532,3.241,1076,5.558,1081,8.744,1115,4.908,3382,3.921,4964,5.957,7397,5.057,12969,6.542,12970,6.701,12971,6.542,12972,6.542,12973,6.701,12974,8.744,12975,9.835,12976,9.835,12977,6.542,12978,6.701,12979,6.402,12980,6.542,12981,6.701,12982,6.542]],["title/modules/MetaTagExtractorApiModule.html",[252,1.835,16138,5.841]],["body/modules/MetaTagExtractorApiModule.html",[0,0.307,3,0.017,4,0.017,5,0.008,30,0.001,95,0.155,101,0.012,103,0.001,104,0.001,106,5.984,107,8.03,252,3.25,254,3.209,255,3.399,256,3.486,257,3.473,258,3.46,259,4.474,260,3.317,265,6.285,269,4.394,270,3.423,271,3.351,273,5.601,274,4.695,276,4.394,277,1.286,314,3.411,1027,2.737,1856,6.444,1935,7.543,2666,4.119,3017,4.206,12974,6.076,14295,7.235,16138,11.934,16139,8.911,16140,8.911,16141,8.911,16142,11.038,16143,11.433,16144,8.252,16145,10.793,16146,8.911]],["title/controllers/MetaTagExtractorController.html",[314,2.658,16145,6.094]],["body/controllers/MetaTagExtractorController.html",[0,0.264,3,0.015,4,0.015,5,0.007,7,0.108,8,1.177,27,0.302,29,0.588,30,0.001,31,0.43,32,0.166,33,0.353,35,0.889,36,2.16,95,0.149,100,2.676,101,0.01,103,0,104,0,106,6.844,107,8.698,135,1.495,141,4.37,148,1.134,153,1.264,190,1.376,202,1.761,228,1.392,274,3.205,277,1.107,314,2.935,316,3.7,317,2.484,325,6.059,349,6.211,379,5.189,390,6.011,391,7.496,392,4.009,395,4.124,398,4.155,400,2.284,401,4.288,402,4.096,657,1.758,871,3.731,1312,4.863,1983,6.844,2369,4.288,3017,3.62,3193,5.508,3195,7.632,3216,9.018,3221,3.955,3223,6.299,3550,5.954,6271,8.571,9894,7.817,12509,10.703,12974,7.806,13655,8.571,14295,9.295,16099,6.04,16143,9.627,16145,8.942,16147,10.193,16148,7.669,16149,11.449,16150,7.669,16151,7.669,16152,7.669,16153,7.669,16154,7.102,16155,7.669,16156,10.044,16157,7.669,16158,7.669,16159,7.669,16160,7.669,16161,7.669,16162,7.669]],["title/modules/MetaTagExtractorModule.html",[252,1.835,16142,5.639]],["body/modules/MetaTagExtractorModule.html",[0,0.23,3,0.013,4,0.013,5,0.006,30,0.001,95,0.161,101,0.009,103,0,104,0,106,4.482,107,7.518,252,2.816,254,2.404,255,2.546,256,2.611,257,2.601,258,2.592,259,3.876,260,3.968,265,5.791,269,3.628,270,2.564,271,2.51,276,3.628,277,0.963,290,1.578,610,2.63,613,3.899,651,3.377,1021,4.3,1025,4.3,1026,4.195,1027,2.05,1054,3.763,1484,8.412,1907,8.833,1931,9.381,1936,3.134,2050,2.813,2940,3.054,3779,4.417,3855,9.608,3858,7.784,3872,6.054,3874,4.357,4141,10.535,4155,5.119,7885,10.535,8920,8.833,12423,6.181,12974,4.551,15094,9.381,15539,10.535,16142,11.875,16144,6.181,16163,6.674,16164,6.674,16165,6.674,16166,6.674,16167,11.548,16168,10.535,16169,10.535,16170,6.674,16171,6.674,16172,6.674,16173,6.674,16174,6.181,16175,6.674,16176,6.674]],["title/classes/MetaTagExtractorResponse.html",[0,0.24,16156,6.094]],["body/classes/MetaTagExtractorResponse.html",[0,0.33,2,0.744,3,0.013,4,0.013,5,0.006,7,0.098,27,0.522,29,0.537,30,0.001,31,0.392,32,0.174,33,0.632,47,0.964,95,0.134,101,0.009,103,0,104,0,106,9.028,107,9.312,110,4.256,112,0.749,134,2.473,155,3.905,157,2.833,190,2.336,200,2.144,202,1.608,296,3.462,298,3.028,299,4.58,433,1.183,821,3.564,2108,3.055,3032,7.706,3035,7.303,3037,3.358,3550,7.192,6622,5.811,6631,4.454,7127,3.793,7149,9.191,7459,4.169,15617,5.683,16156,10.801,16177,13.444,16178,7,16179,12.311,16180,7,16181,7,16182,7,16183,7,16184,12.311,16185,7,16186,7,16187,7,16188,7,16189,7,16190,8.875,16191,7]],["title/injectables/MetaTagExtractorService.html",[589,0.929,16167,5.841]],["body/injectables/MetaTagExtractorService.html",[0,0.177,3,0.01,4,0.01,5,0.005,7,0.072,8,0.886,27,0.468,29,0.911,30,0.001,31,0.666,32,0.161,33,0.546,35,1.327,36,2.427,47,0.953,55,1.538,95,0.131,101,0.007,103,0,104,0,106,8.196,107,8.893,110,4.516,117,6.048,125,2.975,126,6.048,129,1.538,130,1.405,131,6.044,132,4.757,134,1.815,135,1.659,145,2.868,148,1.209,152,4.507,153,1.266,154,4.32,155,3.463,156,4.757,157,2.348,158,2.839,228,0.932,277,0.742,290,1.215,317,2.708,329,3.123,337,4.718,339,1.507,400,1.53,414,2.599,433,0.634,579,1.485,589,1.027,591,1.225,613,3.001,614,1.586,628,3.059,629,4.042,652,2.744,657,2.107,1080,2.647,1169,2.973,1328,4.07,2976,3.56,4143,5.156,4146,6.048,4157,4.171,10465,3.764,12974,3.503,16167,6.457,16168,8.578,16174,4.757,16192,11.303,16193,5.137,16194,7.678,16195,7.678,16196,7.678,16197,7.11,16198,5.137,16199,5.137,16200,7.678,16201,5.137,16202,5.137,16203,7.678,16204,11.456,16205,10.201,16206,5.137,16207,7.678,16208,7.678,16209,5.137,16210,7.678,16211,5.137,16212,7.11,16213,5.137,16214,7.678,16215,7.731,16216,8.066,16217,7.11,16218,5.137,16219,5.137,16220,5.137,16221,5.137,16222,5.137,16223,5.137,16224,5.137,16225,5.137,16226,5.137,16227,5.137,16228,5.137,16229,7.678,16230,5.137,16231,5.137,16232,5.137,16233,5.137,16234,5.137,16235,5.137,16236,5.137,16237,5.137,16238,7.678,16239,5.137,16240,7.678,16241,7.678,16242,7.678,16243,5.137]],["title/injectables/MetaTagExtractorUc.html",[589,0.929,16143,5.841]],["body/injectables/MetaTagExtractorUc.html",[0,0.289,3,0.016,4,0.016,5,0.008,7,0.118,8,1.248,26,2.604,27,0.426,29,0.829,30,0.001,31,0.606,32,0.135,33,0.497,35,0.972,36,2.291,39,2.321,47,0.848,95,0.149,99,1.72,101,0.011,103,0.001,104,0.001,106,8.031,107,8.737,110,4.135,131,4.271,134,2.964,135,1.096,141,4.635,148,0.831,153,1.383,228,1.962,277,1.211,317,2.595,433,1.334,579,2.424,589,1.446,591,2,610,3.306,629,4.416,652,2.207,657,2.478,1080,2.892,1328,4.447,1862,7.146,1961,5.047,1983,7.259,2653,6.147,2666,3.878,4143,7.259,16143,9.09,16167,11.45,16244,11.96,16245,8.39,16246,8.39,16247,10.81,16248,8.39,16249,8.39]],["title/injectables/MetaTagInternalUrlService.html",[589,0.929,16168,5.841]],["body/injectables/MetaTagInternalUrlService.html",[0,0.22,3,0.012,4,0.012,5,0.006,7,0.09,8,1.036,27,0.469,29,0.865,30,0.001,31,0.632,32,0.158,33,0.519,35,1.204,36,2.391,47,0.946,95,0.136,101,0.008,103,0,104,0,106,8.287,107,8.89,110,4.113,112,0.702,129,1.906,130,1.741,131,3.242,134,2.25,135,1.553,141,3.848,148,1.178,152,5.586,153,1.05,154,5.355,155,2.846,157,1.465,158,2.354,228,2.048,277,0.919,317,2.678,433,1.107,589,1.2,591,1.518,613,7.408,652,2.724,657,1.459,1882,4.303,2218,2.844,2219,3.201,2220,3.089,2228,5.586,2788,4.884,4141,10.664,4153,7.97,4154,5.17,4155,8.654,4228,3.72,7885,10.664,15539,10.664,16168,7.546,16169,10.378,16192,11.429,16197,8.31,16212,8.31,16250,6.368,16251,10.392,16252,8.974,16253,8.974,16254,6.368,16255,8.974,16256,8.974,16257,6.368,16258,8.974,16259,6.368,16260,6.368,16261,6.368,16262,6.368,16263,6.368,16264,6.368,16265,6.368,16266,6.368,16267,6.368,16268,6.368,16269,5.897,16270,5.355,16271,6.368,16272,8.974,16273,6.368,16274,6.368,16275,6.368,16276,6.368,16277,6.368]],["title/classes/MetadataTypeMapper.html",[0,0.24,16278,6.432]],["body/classes/MetadataTypeMapper.html",[0,0.325,2,1.003,3,0.018,4,0.018,5,0.009,7,0.133,8,1.344,27,0.372,29,0.724,30,0.001,31,0.529,32,0.145,33,0.434,35,1.093,95,0.144,99,1.934,101,0.012,103,0.001,104,0.001,134,3.333,135,1.52,148,0.934,153,1.919,277,1.362,467,3.675,579,2.726,2782,6.355,3519,7.406,7438,10.249,7508,7.66,7527,8.355,12262,7.66,16278,10.78,16279,11.641,16280,8.277,16281,11.641,16282,11.641,16283,9.134,16284,8.277,16285,6.335,16286,6.244,16287,8.737]],["title/classes/MigrationAlreadyActivatedException.html",[0,0.24,14860,5.639]],["body/classes/MigrationAlreadyActivatedException.html",[0,0.421,2,0.815,3,0.015,4,0.015,5,0.007,7,0.108,8,1.177,27,0.401,29,0.588,30,0.001,31,0.43,32,0.096,33,0.353,35,0.889,47,0.9,52,5.792,55,1.536,59,2.38,95,0.116,101,0.016,103,0,104,0,148,1.134,208,4.82,231,2.204,277,1.107,290,2.707,433,0.946,640,6.263,703,3.554,983,4.941,1027,2.355,1115,4.382,1237,3.596,1422,5.201,1423,5.995,1426,5.86,1468,5.995,1469,6.308,1472,5.699,2934,5.9,4938,5.239,9922,10.601,9995,5.619,13560,5.075,14848,6.226,14849,9.627,14850,6.449,14851,10.311,14852,10.259,14854,10.259,14856,6.449,14857,6.226,14858,6.226,14859,8.571,14860,8.275,16288,7.669,16289,7.669]],["title/injectables/MigrationCheckService.html",[589,0.929,16290,5.841]],["body/injectables/MigrationCheckService.html",[0,0.228,3,0.013,4,0.013,5,0.006,7,0.093,8,1.063,26,2.364,27,0.452,29,0.88,30,0.001,31,0.643,32,0.143,33,0.528,35,1.229,36,1.952,47,0.885,48,5.629,95,0.143,99,1.355,101,0.009,103,0,104,0,122,2.392,125,1.576,135,1.385,142,4.557,148,1.237,180,5.148,195,1.446,197,2.948,228,1.924,277,0.954,279,2.774,290,2.507,317,2.301,433,1.136,589,1.232,591,1.576,652,2.711,657,2.43,703,2.859,711,3.149,1853,2.161,2065,7.59,2067,7.347,2069,3.936,2070,5.432,3868,3.478,4938,5.519,4950,8.315,4952,8.055,5416,7.513,8002,6.534,9972,6.28,9981,6.921,11255,5.205,16290,7.745,16291,12.06,16292,6.609,16293,9.211,16294,9.211,16295,9.818,16296,10.094,16297,6.609,16298,9.211,16299,6.609,16300,9.211,16301,6.609,16302,6.609,16303,6.609,16304,6.12,16305,6.12,16306,6.609,16307,6.609,16308,5.798,16309,6.609,16310,8.529,16311,5.798,16312,5.365]],["title/classes/MigrationDto.html",[0,0.24,16313,6.094]],["body/classes/MigrationDto.html",[0,0.348,2,1.074,3,0.019,4,0.019,5,0.009,7,0.142,27,0.478,29,0.775,30,0.001,31,0.566,32,0.151,33,0.465,47,0.86,101,0.013,103,0.001,104,0.001,112,0.949,180,5.552,433,1.246,2257,9.341,2273,8.86,4938,5.952,16313,12.107,16314,10.099,16315,12.133,16316,12.133,16317,10.099,16318,10.099]],["title/classes/MigrationMayBeCompleted.html",[0,0.24,16319,6.432]],["body/classes/MigrationMayBeCompleted.html",[0,0.319,2,0.982,3,0.018,4,0.018,5,0.009,7,0.13,8,1.327,27,0.453,29,0.709,30,0.001,31,0.518,32,0.115,33,0.425,35,1.071,52,4.674,59,2.868,95,0.105,101,0.012,103,0.001,104,0.001,122,2.609,148,0.915,228,1.677,339,2.71,400,2.751,433,1.14,640,5.677,703,2.868,1027,2.838,1115,3.536,1237,3.387,1422,5.122,1423,5.903,1426,5.872,1468,5.903,1469,6.211,3559,5.677,4938,5.723,15138,9.164,15157,7.086,16319,10.641,16320,11.581,16321,8.556,16322,8.556,16323,8.556,16324,8.556,16325,8.556,16326,7.501]],["title/classes/MigrationMayNotBeCompleted.html",[0,0.24,16327,6.432]],["body/classes/MigrationMayNotBeCompleted.html",[0,0.319,2,0.984,3,0.018,4,0.018,5,0.009,7,0.13,8,1.328,27,0.453,29,0.71,30,0.001,31,0.519,32,0.115,33,0.426,35,1.073,52,4.685,59,2.875,95,0.106,101,0.012,103,0.001,104,0.001,122,2.612,148,0.917,228,1.681,339,2.716,400,2.758,433,1.143,703,2.875,1027,2.844,1115,3.544,1237,3.392,1422,5.127,1423,5.909,1426,5.877,1468,5.909,1469,6.218,4938,5.729,15138,9.173,15157,7.102,16320,11.593,16321,8.576,16322,8.576,16323,8.576,16324,8.576,16325,8.576,16326,7.518,16327,10.656,16328,7.518]],["title/interfaces/MigrationOptions.html",[159,0.713,4870,5.639]],["body/interfaces/MigrationOptions.html",[0,0.16,3,0.009,4,0.009,5,0.004,7,0.065,10,1.865,30,0.001,32,0.108,33,0.507,36,2.431,47,0.687,52,3.599,53,3.403,55,2.297,70,5.611,72,3.255,78,8.913,95,0.111,101,0.006,103,0,104,0,112,0.556,122,1.804,125,1.696,129,3.127,135,1.364,145,2.657,148,0.856,153,1.173,157,2.898,159,0.888,161,1.103,171,3.118,194,4.086,197,3.29,228,1.569,230,4.708,259,1.689,290,1.098,317,2.687,365,4.328,388,3.707,413,2.823,433,0.573,467,1.352,540,4.027,579,1.342,612,3.118,618,5.57,644,2.823,648,2.919,652,1.978,657,2.78,745,6.21,756,2.814,758,5.992,892,3.562,981,2.823,985,4.117,1027,1.426,1080,1.601,1372,2.444,1619,5.313,1626,3.945,1751,5.603,1899,3.032,1927,4.195,1938,2.498,2218,2.074,2234,3.658,2449,1.941,2450,3.34,2543,2.498,2843,6.81,2849,3.77,2920,7.566,3089,5.644,3382,5.31,3771,4.644,3779,3.074,3780,8.777,3781,6.419,3782,2.713,4854,5.775,4855,2.713,4856,2.886,4857,3.905,4858,3.905,4859,3.658,4860,5.982,4861,6.475,4862,3.658,4863,3.658,4864,5.982,4865,3.905,4866,3.905,4867,8.481,4868,3.905,4869,3.905,4870,7.02,4871,8.012,4872,3.905,4873,2.992,4874,3.562,4875,3.658,4876,3.905,4877,3.905,4878,7.655,4879,3.905,4880,8.785,4881,3.403,4882,3.905,4883,8.012,4884,3.905,4885,2.992,4886,3.478,4887,5.895,4888,3.335,4889,4.777,4890,3.478,4891,3.905,4892,3.905,4893,3.905,4894,5.015,4895,8.149,4896,3.905,4897,3.905,4898,3.478,4899,3.905,4900,8.149,4901,3.905,4902,3.905,4903,3.905,4904,8.149,4905,8.149,4906,3.658,4907,6.096,4908,3.905,4909,3.905,4910,3.905,4911,3.403,4912,3.77,4913,5.212,4914,3.658,4915,3.905,4916,3.905,4917,3.905,4918,3.905,4919,3.905,4920,5.212,4921,3.074,4922,3.658,4923,3.166,4924,3.562,4925,3.905,4926,3.905,4927,3.905,4928,3.905,4929,3.905,4930,3.905,4931,3.905,4932,3.905,4933,3.905,4934,3.905,4935,3.658,4936,3.77]],["title/classes/MissingSchoolNumberException.html",[0,0.24,14858,5.639]],["body/classes/MissingSchoolNumberException.html",[0,0.421,2,0.815,3,0.015,4,0.015,5,0.007,7,0.108,8,1.177,27,0.401,29,0.588,30,0.001,31,0.43,32,0.096,33,0.353,35,0.889,47,0.9,52,5.792,55,1.536,59,2.38,95,0.116,101,0.016,103,0,104,0,148,1.134,208,4.82,231,2.204,277,1.107,290,2.707,433,0.946,640,6.263,703,3.554,983,4.941,1027,2.355,1115,4.382,1237,3.596,1422,5.201,1423,5.995,1426,5.86,1468,5.995,1469,6.308,1472,5.699,2934,5.9,4938,5.239,9922,10.601,9995,5.619,13560,5.075,14848,6.226,14849,9.627,14850,6.449,14851,10.311,14852,10.259,14854,10.259,14856,6.449,14857,6.226,14858,8.275,14859,8.571,14860,6.226,16329,7.669,16330,7.669]],["title/classes/MissingToolParameterValueLoggableException.html",[0,0.24,16331,6.432]],["body/classes/MissingToolParameterValueLoggableException.html",[0,0.225,2,0.693,3,0.012,4,0.012,5,0.006,7,0.092,8,1.054,27,0.513,29,0.875,30,0.001,31,0.366,32,0.169,33,0.484,35,1.058,47,0.905,55,1.306,95,0.137,101,0.009,103,0,104,0,112,0.713,130,1.784,135,0.852,148,0.646,155,3.617,183,2.496,190,2.154,228,2.482,231,1.584,233,2.035,277,0.941,339,1.913,393,3.22,402,2.334,417,6.711,433,1.126,436,3.694,614,2.818,652,1.863,868,5.471,871,2.388,983,4.202,998,4.969,1027,2.003,1078,2.86,1080,3.931,1115,4.364,1237,2.69,1354,8.321,1355,6.039,1356,6.872,1360,4.317,1361,3.742,1362,4.317,1363,4.317,1364,4.317,1365,4.317,1366,4.317,1367,4.008,1368,3.678,1374,4.202,1422,4.312,1423,4.969,1426,5.117,1462,3.589,1468,4.969,1469,5.229,1477,3.387,1478,3.534,1756,6.039,2005,6.547,2007,3.259,2108,2.847,2684,3.892,2751,7.444,2786,4.447,3562,3.647,4003,5.722,4218,5.003,6142,7.41,6655,4.1,10478,5.722,12368,6.04,16270,5.485,16331,8.452,16332,10.528,16333,10.528,16334,6.523,16335,6.523,16336,6.523,16337,6.523,16338,6.523,16339,9.127,16340,10.528,16341,6.523,16342,6.523,16343,6.523]],["title/modules/MongoMemoryDatabaseModule.html",[252,1.835,1029,4.664]],["body/modules/MongoMemoryDatabaseModule.html",[0,0.261,3,0.014,4,0.014,5,0.007,8,0.875,27,0.398,29,0.581,30,0.001,31,0.425,32,0.126,33,0.349,35,1.172,36,2.144,59,2.353,95,0.149,96,2.678,101,0.01,103,0,104,0,134,2.679,135,1.652,148,1.127,195,1.659,206,2.472,224,2.213,252,3.007,254,2.73,260,2.822,276,2.966,277,1.094,317,2.195,467,2.945,478,2.123,540,4.442,571,2.999,623,4.949,652,1.548,657,1.738,686,5.446,688,3.579,694,5.555,695,5.446,809,4.949,1014,8.416,1015,5.17,1016,7.727,1017,7.01,1028,8.416,1029,7.644,1041,6.897,1045,6.603,1048,5.254,1086,3.617,1087,3.505,1088,3.56,1089,3.788,1166,5.018,1167,4.659,1237,2.235,7745,4.949,7796,5.018,8722,7.758,12433,9.746,13236,6.652,16344,11.384,16345,11.384,16346,7.582,16347,7.582,16348,11.1,16349,7.582,16350,10.116,16351,7.582,16352,7.582,16353,7.582,16354,10.116,16355,7.582,16356,6.155,16357,7.582,16358,7.582,16359,7.582,16360,10.116,16361,7.582]],["title/classes/MongoPatterns.html",[0,0.24,14099,5.841]],["body/classes/MongoPatterns.html",[0,0.33,2,1.017,3,0.018,4,0.018,5,0.009,7,0.135,27,0.377,30,0.001,72,5.374,101,0.013,103,0.001,104,0.001,112,0.918,129,2.864,130,2.617,409,7.471,412,5.196,467,3.699,622,9.249,1198,7.064,1927,6.925,1938,6.315,6159,8.428,6686,8.793,12009,10.302,12995,9.006,14099,9.875,16362,9.57,16363,12.704,16364,11.743,16365,11.743,16366,9.57,16367,11.743,16368,9.875,16369,11.743,16370,11.743,16371,10.874]],["title/classes/MoveCardBodyParams.html",[0,0.24,4360,6.094]],["body/classes/MoveCardBodyParams.html",[0,0.402,2,1.005,3,0.018,4,0.018,5,0.009,7,0.133,27,0.459,30,0.001,32,0.145,47,0.826,55,2.335,95,0.133,101,0.012,103,0.001,104,0.001,112,0.911,190,2.092,194,4.56,195,2.886,196,4.363,197,3.668,200,2.897,202,2.172,296,3.301,855,4.718,3759,8.219,3760,6.553,3765,6.792,4360,10.227,4403,9.692,7897,8.758,16372,11.703,16373,12.638,16374,8.758,16375,9.457,16376,8.297,16377,9.457]],["title/classes/MoveColumnBodyParams.html",[0,0.24,5607,6.094]],["body/classes/MoveColumnBodyParams.html",[0,0.397,2,0.987,3,0.018,4,0.018,5,0.009,7,0.13,27,0.454,30,0.001,32,0.144,34,1.971,47,0.817,55,2.308,95,0.132,101,0.012,103,0.001,104,0.001,112,0.901,157,2.136,190,2.068,194,4.902,195,2.867,196,4.335,197,3.644,200,2.843,202,2.132,296,3.274,855,4.664,2050,4.857,2992,5.222,3759,8.125,3760,6.432,3765,6.667,4166,5.642,4403,9.612,5607,10.11,16372,11.606,16376,8.143,16378,9.282,16379,12.533,16380,9.282,16381,9.282]],["title/classes/MoveContentElementBody.html",[0,0.24,9722,6.094]],["body/classes/MoveContentElementBody.html",[0,0.4,2,0.998,3,0.018,4,0.018,5,0.009,7,0.132,27,0.457,30,0.001,32,0.145,47,0.823,55,2.324,95,0.133,101,0.012,103,0.001,104,0.001,112,0.907,190,2.083,194,4.54,195,2.879,196,4.353,197,3.659,200,2.877,202,2.157,296,3.291,855,4.698,2392,4.805,3759,8.183,3760,6.507,3765,6.745,4403,9.662,7902,7.897,9722,10.183,16374,8.696,16376,8.239,16382,12.598,16383,12.598,16384,9.391,16385,9.391]],["title/classes/MoveElementParams.html",[0,0.24,8294,5.841]],["body/classes/MoveElementParams.html",[0,0.429,2,0.971,3,0.017,4,0.017,5,0.008,7,0.128,27,0.449,30,0.001,32,0.142,55,2.492,72,4.18,95,0.13,100,3.187,101,0.015,103,0.001,104,0.001,112,0.892,157,2.102,190,2.048,200,2.798,201,4.43,202,2.098,296,3.504,300,4.367,1065,4.483,1170,5.742,2048,3.711,2478,5.742,3057,6.091,3759,9.188,3760,6.33,3765,8.936,4204,6.33,6292,7.681,6803,6.691,7902,7.681,8289,5.885,8294,9.594,8298,6.134,8414,7.416,9565,8.75,16386,11.522,16387,11.768,16388,9.134,16389,9.134]],["title/classes/MoveElementPositionParams.html",[0,0.24,16387,6.094]],["body/classes/MoveElementPositionParams.html",[0,0.417,2,0.913,3,0.016,4,0.016,5,0.008,7,0.121,27,0.476,30,0.001,32,0.151,33,0.505,55,2.697,72,5.021,95,0.125,100,3.829,101,0.014,103,0.001,104,0.001,112,0.858,157,2.525,190,2.17,200,2.631,201,4.26,202,1.972,296,3.439,300,4.2,1065,5.385,1170,7.601,2048,4.458,2478,6.897,3057,6.803,3756,10.161,3759,8.984,3760,5.951,3765,8.685,4204,7.604,6292,9.227,6803,6.503,7902,7.221,8289,7.069,8294,7.221,8298,8.12,8414,9.817,16386,11.8,16387,11.179,16390,8.587,16391,8.587,16392,8.587,16393,8.587]],["title/interfaces/NameMatch.html",[159,0.713,13583,5.639]],["body/interfaces/NameMatch.html",[2,1.003,3,0.018,4,0.018,5,0.009,7,0.133,30,0.001,31,0.739,32,0.145,33,0.536,47,0.991,95,0.108,101,0.017,103,0.001,104,0.001,112,0.91,122,1.968,159,1.196,161,2.24,301,6.078,331,4.175,415,6.619,700,6.09,701,6.09,886,2.968,1582,8.361,2009,7.704,4672,7.003,5376,6.776,7440,5.319,12331,6.652,12332,6.538,12349,5.797,13578,7.66,13579,8.737,13580,9.789,13581,9.169,13582,8.737,13583,9.451]],["title/entities/News.html",[205,1.418,7769,4.02]],["body/entities/News.html",[0,0.322,3,0.008,4,0.019,5,0.004,7,0.151,9,3.138,26,1.928,27,0.495,30,0.001,31,0.524,32,0.162,33,0.533,34,1.155,47,0.914,83,2.413,95,0.132,96,2.195,101,0.013,103,0,104,0,112,0.792,129,1.3,130,1.188,134,1.534,148,0.43,153,1.367,155,3.402,159,0.446,190,2.181,195,2.659,196,3.703,205,2.068,206,1.416,211,4.597,221,3.252,223,3.691,224,1.267,225,2.594,226,1.968,231,1.623,232,2.534,233,1.355,290,2.647,409,5.274,412,3.668,435,1.475,457,4.597,467,1.264,512,4.22,571,3.279,613,4.842,692,5.285,693,3.076,703,3.475,704,4.761,886,2.608,1086,3.955,1087,4.323,1088,3.892,1089,4.142,1090,4.526,1373,4.063,1821,4.537,1826,4.247,1842,3.775,1920,4.47,1938,2.336,2032,2.567,2392,4.091,2701,4.674,2905,3.252,2924,4.958,2937,2.586,2992,5.774,3037,2.083,3718,4.606,3720,4.352,3721,4.762,3723,3.119,3724,3.062,3725,3.252,3739,2.561,3875,2.961,3900,2.798,4557,2.364,4649,3.331,4650,3.009,4791,3.182,5269,3.062,5685,3.892,5773,4.949,6188,2.73,6436,7.423,6621,3.746,6624,5.448,7439,2.698,7440,2.448,7461,2.64,7665,2.961,7756,3.252,7757,3.526,7759,7.003,7760,6.104,7761,3.526,7762,4.15,7763,3.526,7764,8.449,7765,6.279,7766,6.207,7767,7.003,7768,6.964,7769,7.817,7770,5.484,7771,6.717,7772,5.484,7773,5.18,7774,5.18,7775,6.104,7776,5.484,7777,3.331,7778,3.331,7779,3.526,7780,3.252,7781,3.526,7782,2.612,7783,2.698,7784,3.331,7785,3.526,7786,3.526,7787,6.529,7788,3.526,7789,6.73,7790,3.526,7791,3.526,7792,5.18,7793,3.331,7794,5.844,7795,3.421,7796,4.47,7797,3.182,7798,3.331,7799,3.526,16394,4.343,16395,4.343,16396,4.343,16397,4.343,16398,4.343,16399,4.343,16400,4.343,16401,4.343,16402,4.343,16403,4.343,16404,4.343,16405,4.343]],["title/controllers/NewsController.html",[314,2.658,16406,6.094]],["body/controllers/NewsController.html",[0,0.179,3,0.01,4,0.01,5,0.005,7,0.073,8,0.892,10,4.401,27,0.432,29,0.841,30,0.001,31,0.614,32,0.137,33,0.504,34,1.322,35,1.27,36,2.698,95,0.136,100,4.155,101,0.007,103,0,104,0,112,0.604,135,1.663,148,1.085,153,0.855,190,1.967,202,1.191,205,1.578,228,0.941,274,2.167,277,0.748,290,2.894,298,2.242,314,1.984,316,2.501,317,2.921,325,6.733,326,4.368,329,4.699,349,6.985,365,4.129,379,4.706,388,3.314,389,3.384,392,2.71,395,2.788,398,2.809,400,1.544,657,2.512,693,3.52,703,3.181,734,4.301,871,2.83,883,7.224,1083,4.358,1783,6.296,2752,5.928,2920,4.474,3201,7.503,3218,6.344,3221,2.674,3223,5.086,3720,4.98,4046,6.593,4986,4.859,5213,4.75,6135,6.276,6244,4.489,7525,6.164,7769,7.942,7808,7.158,7961,8.319,8016,3.976,12352,8.319,13882,4.359,15280,7.281,15367,4.359,15373,4.359,16406,6.782,16407,5.184,16408,5.184,16409,5.184,16410,11.172,16411,7.73,16412,5.184,16413,4.8,16414,5.184,16415,7.158,16416,5.184,16417,7.73,16418,5.184,16419,7.73,16420,5.184,16421,8.616,16422,7.73,16423,5.184,16424,4.208,16425,4.548,16426,7.504,16427,4.8,16428,4.208,16429,4.208,16430,4.8,16431,5.184,16432,4.8,16433,4.8,16434,4.8,16435,8.989,16436,4.548,16437,4.8,16438,4.8,16439,4.8,16440,4.8,16441,5.184,16442,5.184,16443,5.184,16444,5.184,16445,5.184,16446,7.73,16447,5.184]],["title/classes/NewsCrudOperationLoggable.html",[0,0.24,16448,6.094]],["body/classes/NewsCrudOperationLoggable.html",[0,0.299,2,0.921,3,0.016,4,0.016,5,0.008,7,0.122,8,1.274,26,2.635,27,0.435,29,0.664,30,0.001,31,0.486,32,0.108,33,0.399,35,1.004,39,3.537,95,0.151,99,1.775,101,0.011,103,0.001,104,0.001,148,0.858,228,2.203,242,4.559,339,2.54,433,1.361,478,2.425,652,2.479,1027,2.66,1115,3.315,1237,3.252,1422,4.972,1423,5.73,1426,5.737,2544,10.378,7769,8.114,9086,8.46,9131,7.032,16424,7.032,16425,7.599,16448,9.679,16449,12.141,16450,8.661,16451,8.661,16452,11.837,16453,8.661,16454,8.661,16455,8.021,16456,8.021,16457,8.661]],["title/classes/NewsListResponse.html",[0,0.24,16428,5.639]],["body/classes/NewsListResponse.html",[0,0.271,2,0.564,3,0.01,4,0.022,5,0.005,7,0.075,27,0.436,29,0.407,30,0.001,31,0.525,32,0.164,33,0.509,34,1.983,47,0.874,55,2.706,56,5.472,59,2.442,70,5.902,83,2.729,95,0.132,99,1.088,101,0.01,103,0,104,0,112,0.615,125,1.265,135,1.224,155,3.288,157,3.132,185,1.824,190,1.86,201,4.025,202,1.219,205,2.653,231,1.365,290,2.451,296,3.502,298,2.296,304,3.883,339,3.247,360,3.018,374,2.296,430,3.854,431,4.019,433,0.971,436,3.079,458,2.123,460,3.226,462,3.226,613,3.1,703,3.599,862,7.456,863,6.379,864,4.512,866,2.636,868,4.497,869,2.605,870,2.897,871,1.943,872,3.742,873,5.005,874,4.595,875,3.512,876,2.755,877,3.742,878,3.742,880,3.376,881,2.897,886,2.475,1083,2.992,1675,3.193,1749,3.018,1826,5.311,1842,3.582,2032,2.017,2392,3.953,2505,3.297,2992,5.437,3037,2.546,3178,4.2,3179,4.2,3182,2.479,3218,3.072,3739,3.13,3792,3.974,4650,3.678,4721,7.882,4873,5.068,4986,3.336,5070,3.678,6436,6.868,6624,5.041,7460,3.336,7760,5.135,7765,6.294,7766,3.974,7767,7.019,7768,5.638,7769,7.52,7778,4.07,7784,4.07,7794,3.742,7957,6.732,7968,3.1,7969,4.463,7970,4.18,7975,3.889,8988,6.615,11539,3.974,16428,6.386,16429,10.005,16458,4.914,16459,5.307,16460,5.307,16461,6.386,16462,6.386,16463,7.609,16464,7.284,16465,7.284,16466,4.656,16467,7.284,16468,4.914,16469,4.914,16470,4.18,16471,4.309,16472,4.914,16473,4.656]],["title/classes/NewsMapper.html",[0,0.24,16424,5.639]],["body/classes/NewsMapper.html",[0,0.212,2,0.653,3,0.012,4,0.017,5,0.006,7,0.086,8,1.01,27,0.462,29,0.9,30,0.001,31,0.658,32,0.146,33,0.54,34,1.496,35,1.36,95,0.143,99,1.259,100,4.477,101,0.008,103,0,104,0,135,1.676,148,1.162,153,1.013,155,3.232,290,1.453,326,3.325,339,2.566,365,3.908,430,2.526,431,2.634,467,4.027,478,1.72,703,3.163,830,4.852,837,3.033,1027,1.887,1424,8.939,1826,3.148,2392,3.886,2992,5.031,6624,4.705,7760,6.651,7765,6.842,7767,4.6,7768,6.68,7769,7.665,7950,8.272,7957,7.975,7958,8.569,7959,9.015,7960,4.988,7961,9.015,8320,8.102,12352,9.015,16421,9.337,16424,7.103,16429,9.015,16474,6.143,16475,8.749,16476,8.749,16477,8.749,16478,8.749,16479,8.749,16480,6.143,16481,8.749,16482,6.143,16483,8.749,16484,6.143,16485,8.749,16486,6.143,16487,8.749,16488,6.143,16489,5.39,16490,10.19,16491,5.39,16492,5.39,16493,6.143,16494,6.143,16495,6.143,16496,8.749,16497,6.143,16498,6.143,16499,5.689,16500,6.143,16501,6.143,16502,8.102,16503,8.102,16504,6.143,16505,6.143,16506,5.689,16507,6.143,16508,6.143,16509,6.143,16510,8.749,16511,6.143,16512,6.143,16513,6.143,16514,6.143,16515,8.749,16516,8.749,16517,6.143,16518,6.143,16519,6.143]],["title/modules/NewsModule.html",[252,1.835,16520,5.841]],["body/modules/NewsModule.html",[0,0.297,3,0.016,4,0.016,5,0.008,30,0.001,95,0.156,101,0.011,103,0.001,104,0.001,252,3.198,254,3.099,255,3.282,256,3.366,257,3.354,258,3.341,259,4.402,260,4.506,265,6.228,269,4.298,270,3.305,271,3.237,274,4.592,276,4.298,277,1.242,279,3.612,1027,2.643,1856,7.729,2666,3.978,16406,10.619,16426,11.595,16427,7.969,16520,12.065,16521,8.606,16522,8.606,16523,8.606,16524,8.606,16525,10.939,16526,8.606,16527,10.619,16528,8.606,16529,8.606,16530,8.606]],["title/interfaces/NewsProperties.html",[159,0.713,7764,5.471]],["body/interfaces/NewsProperties.html",[0,0.336,3,0.009,4,0.021,5,0.004,7,0.156,9,3.335,26,2.56,30,0.001,31,0.402,32,0.162,33,0.546,34,0.804,47,0.952,83,2.838,95,0.136,96,2.306,101,0.014,103,0,104,0,112,0.821,134,1.66,148,0.465,153,1.436,155,3.511,159,0.483,161,1.116,195,2.422,196,3.662,205,2.144,223,3.575,224,1.371,225,2.757,226,2.129,231,1.692,232,2.641,233,1.466,290,2.878,409,5.541,412,3.853,435,1.595,457,4.83,467,1.368,512,4.434,571,3.445,613,5.695,692,5.606,693,2.139,703,3.687,704,5.346,886,2.258,1086,4.155,1087,4.506,1088,4.089,1089,4.351,1090,4.755,1373,4.318,1821,3.482,1826,2.407,1842,3.268,1920,3.11,1938,2.527,2032,2.728,2392,4.222,2701,4.91,2905,3.518,2924,4.026,2937,2.798,2992,5.875,3037,2.254,3718,3.204,3720,3.027,3721,3.313,3723,3.375,3724,3.313,3725,3.518,3739,2.771,3875,3.204,3900,3.027,4557,1.645,4649,3.603,4650,3.256,4791,3.443,5269,3.313,5685,4.089,5773,3.443,6188,2.953,6436,8.112,6621,2.606,6624,5.954,7439,2.919,7440,2.649,7461,2.856,7756,3.518,7757,3.814,7759,7.864,7760,5.685,7761,3.814,7762,4.41,7763,3.814,7764,9.072,7765,7.052,7766,7.3,7767,7.864,7768,6.66,7769,7.654,7770,3.814,7771,5.155,7772,3.814,7773,3.603,7774,3.603,7775,4.685,7776,3.814,7777,3.603,7778,3.603,7779,3.814,7780,3.518,7781,3.814,7782,2.826,7783,2.919,7784,3.603,7785,3.814,7786,3.814,7787,6.86,7788,3.814,7789,7.07,7790,3.814,7791,3.814,7792,5.505,7793,3.603,7794,6.14,7795,3.701,7796,4.75,7797,3.443,7798,3.603,7799,3.814]],["title/injectables/NewsRepo.html",[589,0.929,16525,5.639]],["body/injectables/NewsRepo.html",[0,0.161,3,0.009,4,0.009,5,0.004,7,0.065,8,0.823,10,2.862,12,3.229,18,3.628,26,2.503,27,0.488,29,0.908,30,0.001,31,0.664,32,0.151,33,0.545,34,1.481,35,1.372,36,2.67,40,2.258,49,2.68,59,2.688,95,0.135,96,1.233,98,2.8,99,0.954,101,0.006,103,0,104,0,112,0.557,129,1.393,130,1.273,134,1.645,135,1.645,148,1.036,153,1.175,157,1.071,205,0.95,206,2.324,224,1.359,231,1.237,277,0.672,317,2.929,365,3.183,374,3.745,388,4.484,436,2.882,478,1.303,532,4.674,540,4.592,589,0.953,591,1.11,595,1.757,640,5.961,652,1.768,653,3.575,657,2.782,703,3.424,728,6.645,734,2.991,735,3.261,736,4.3,759,2.772,760,2.83,761,2.8,762,2.83,763,3.226,764,2.8,765,2.83,766,2.522,771,3.343,788,3.174,896,5.425,1218,3.039,2231,4.052,2487,5.778,2920,4.125,2992,5.501,3720,6.25,3723,6.968,4182,5.786,4672,2.8,5104,3.174,5106,5.218,6134,2.745,6244,3.546,6436,5.222,6621,6.118,6624,3.833,7065,4.785,7525,4.287,7756,6.484,7769,7.704,7793,6.641,7798,6.641,7811,7.612,7821,5.336,9510,5.222,11184,8.794,11855,6.599,11869,6.599,12355,3.666,14029,8.512,16525,5.786,16531,4.655,16532,8.659,16533,7.126,16534,8.659,16535,7.126,16536,7.126,16537,9.32,16538,4.655,16539,4.655,16540,4.655,16541,7.126,16542,4.655,16543,9.702,16544,4.655,16545,4.655,16546,4.655,16547,7.596,16548,7.126,16549,4.655,16550,9.702,16551,7.126,16552,4.655,16553,4.655,16554,7.126,16555,4.655,16556,4.655,16557,7.126,16558,7.126,16559,4.655,16560,4.655,16561,4.655,16562,8.659,16563,4.655,16564,4.655,16565,4.655]],["title/classes/NewsResponse.html",[0,0.24,16429,5.639]],["body/classes/NewsResponse.html",[0,0.237,2,0.472,3,0.008,4,0.023,5,0.004,7,0.062,27,0.52,29,0.34,30,0.001,31,0.574,32,0.17,33,0.519,34,2.129,47,0.935,55,1.683,56,3.243,70,3.498,83,3.151,95,0.124,99,0.91,101,0.009,103,0,104,0,112,0.537,135,1.098,155,3.58,157,3.119,185,2.361,190,2.347,201,3.674,202,1.019,205,2.794,231,0.77,290,2.668,296,3.383,298,1.92,304,4.149,339,2.015,360,3.907,374,2.972,430,4.208,431,4.388,433,0.848,458,1.776,460,2.698,462,2.698,613,2.593,703,3.796,821,2.26,862,4.269,863,2.442,864,2.546,868,5.867,880,2.824,881,2.423,886,2.644,1083,3.873,1361,3.941,1675,2.67,1749,3.907,1826,5.783,1842,4.308,2032,2.611,2392,4.304,2505,4.269,2992,5.728,3037,2.129,3177,2.897,3178,5.052,3179,5.052,3181,2.643,3182,3.209,3218,3.976,3739,2.618,3792,5.145,4650,3.076,4721,7.068,4873,6.096,4986,4.318,5070,4.761,6436,7.498,6624,5.504,7070,4.11,7460,2.79,7760,5.487,7765,6.872,7766,3.324,7767,7.663,7768,6.156,7769,7.921,7778,3.404,7784,3.404,7794,3.13,7957,7.35,7968,4.013,7969,5.777,7970,5.411,7975,5.034,8988,7.957,11539,3.324,16428,3.604,16429,9.467,16458,4.11,16461,6.824,16462,6.824,16463,8.308,16464,7.783,16465,7.783,16466,3.894,16467,7.783,16468,4.11,16469,4.11,16470,3.496,16471,3.604,16472,4.11,16473,6.027,16566,4.439,16567,4.439,16568,4.439,16569,4.439,16570,4.439,16571,4.439,16572,4.439,16573,4.439,16574,4.439,16575,4.439,16576,4.439,16577,4.439,16578,4.439,16579,4.439,16580,4.439,16581,4.439]],["title/classes/NewsScope.html",[0,0.24,16547,6.094]],["body/classes/NewsScope.html",[0,0.219,2,0.676,3,0.012,4,0.012,5,0.006,7,0.089,8,1.035,26,2.325,27,0.518,29,0.865,30,0.001,31,0.632,32,0.158,33,0.519,35,1.429,83,2.61,95,0.141,96,1.683,99,1.303,101,0.008,103,0,104,0,112,0.701,122,2.166,125,1.516,129,1.903,130,1.739,135,1.356,141,2.726,145,2.375,148,1.177,153,1.478,224,1.855,231,1.556,365,5.036,436,3.531,478,1.78,569,1.979,652,2.519,756,2.514,1834,4.658,1923,7.571,2487,7.08,2992,2.881,3926,5.887,3928,5.161,4672,3.824,6244,5.463,6621,5.758,6624,3.419,6891,6.019,6892,6.019,6893,6.019,6898,6.019,6899,6.019,6900,4.335,6901,4.269,6902,4.335,6903,4.335,6912,4.269,6913,6.019,6914,4.335,6915,4.269,6916,4.335,6917,4.269,6918,7.571,7765,6.019,7768,3.824,7769,5.188,9400,5.008,11184,5.346,11189,5.887,11200,4.876,14124,7.277,14127,8.301,16537,9.154,16547,11.702,16582,11.009,16583,8.964,16584,11.275,16585,8.964,16586,11.275,16587,8.964,16588,6.357,16589,6.357,16590,8.964,16591,6.357,16592,6.357,16593,5.887,16594,6.357,16595,6.357,16596,6.357,16597,6.357,16598,6.357,16599,6.357,16600,6.357]],["title/interfaces/NewsTargetFilter.html",[159,0.713,16537,5.639]],["body/interfaces/NewsTargetFilter.html",[3,0.02,4,0.02,5,0.01,7,0.145,26,2.8,30,0.001,32,0.153,95,0.118,99,2.113,101,0.014,103,0.001,104,0.001,112,0.96,159,1.059,161,2.447,2992,4.67,7760,8.866,7768,8.171,11188,11.916,16537,9.971,16582,9.544,16601,10.307]],["title/injectables/NewsUc.html",[589,0.929,16426,5.639]],["body/injectables/NewsUc.html",[0,0.113,3,0.006,4,0.006,5,0.003,7,0.046,8,0.624,10,2.172,25,4.745,26,2.853,27,0.439,29,0.856,30,0.001,31,0.625,32,0.143,33,0.513,34,1.713,35,1.399,36,2.558,39,3.707,47,0.488,59,1.679,83,2.322,95,0.124,98,1.979,99,0.674,101,0.004,103,0,104,0,122,1.437,125,1.642,129,2.638,130,1.883,135,1.652,142,2.513,145,1.229,148,1.105,153,0.892,157,0.757,158,1.216,277,0.475,279,1.381,290,1.279,317,2.865,326,4.118,388,5.176,413,4.186,433,0.667,435,1.836,467,2.005,478,0.921,540,3.516,567,2.617,571,1.301,589,0.723,591,0.784,595,1.241,652,2.499,657,2.99,693,3.136,703,1.021,711,3.635,734,2.27,770,2.068,980,2.999,1027,1.01,1083,1.855,1086,1.57,1087,1.521,1088,1.544,1778,3.399,1826,6.09,1862,3.677,1863,6.708,1920,3.579,2124,1.744,2449,4.186,2544,2.671,2666,1.521,2992,3.994,3026,5.279,3218,3.13,3382,2.427,3576,2.093,4557,3.085,4967,3.963,6244,4.284,6624,1.769,6949,2.463,7525,1.979,7760,5.207,7765,7.024,7768,6.711,7769,7.874,7811,4.901,7884,2.523,7950,6.476,7957,7.193,7958,6.708,7959,8.131,7960,7.156,7975,2.41,10342,5.046,11158,5.008,11165,5.008,11184,8.422,11188,4.745,13877,4.745,14535,2.886,15582,5.791,16426,4.391,16436,4.745,16448,2.886,16452,3.046,16455,3.046,16466,2.886,16499,3.046,16502,7.387,16503,7.387,16506,5.008,16525,7.694,16537,4.391,16602,3.29,16603,6.887,16604,5.408,16605,5.408,16606,5.408,16607,6.887,16608,3.29,16609,3.29,16610,5.008,16611,3.29,16612,3.29,16613,3.29,16614,3.29,16615,5.408,16616,6.042,16617,5.408,16618,3.29,16619,5.408,16620,3.29,16621,9.477,16622,3.29,16623,5.408,16624,3.29,16625,5.008,16626,3.29,16627,5.591,16628,3.29,16629,5.408,16630,3.29,16631,3.29,16632,3.29,16633,5.408,16634,6.887,16635,3.29,16636,3.29,16637,7.977,16638,3.29,16639,5.408,16640,3.29,16641,5.408,16642,3.29,16643,3.29,16644,3.29,16645,3.29,16646,5.408,16647,3.29,16648,3.29,16649,3.29,16650,5.408,16651,6.887,16652,2.591,16653,3.29,16654,3.29,16655,3.29,16656,3.29,16657,3.29,16658,3.29,16659,3.29,16660,3.29,16661,3.29,16662,3.29,16663,5.408,16664,3.29,16665,3.29,16666,3.29,16667,5.408,16668,3.29,16669,3.29,16670,3.29,16671,3.29,16672,3.29]],["title/classes/NewsUrlParams.html",[0,0.24,16410,6.094]],["body/classes/NewsUrlParams.html",[0,0.415,2,1.06,3,0.019,4,0.019,5,0.009,7,0.14,27,0.393,30,0.001,32,0.124,34,2.06,47,0.854,95,0.137,101,0.013,103,0.001,104,0.001,112,0.941,157,2.295,190,1.79,194,4.71,195,2.634,196,3.983,197,3.348,200,3.055,202,2.291,296,3.146,855,4.874,4166,6.063,7769,6.97,16410,10.565,16673,9.974,16674,12.936,16675,9.974]],["title/injectables/NexboardService.html",[589,0.929,15436,6.094]],["body/injectables/NexboardService.html",[0,0.276,3,0.015,4,0.015,5,0.007,7,0.113,8,1.211,26,2.558,27,0.413,29,0.804,30,0.001,31,0.588,32,0.146,33,0.482,34,1.369,35,0.928,36,2.222,39,3.235,47,0.968,94,4.05,95,0.142,99,1.641,101,0.014,103,0.001,104,0.001,110,2.768,135,1.527,148,1.038,153,1.32,155,3.935,157,2.855,197,2.226,228,1.453,277,1.155,317,2.537,339,2.348,400,2.384,433,0.988,589,1.402,591,1.909,610,3.154,629,4.214,652,1.634,657,1.835,734,3.36,1027,2.459,1080,3.614,1328,4.243,2050,3.374,2449,4.887,2450,5.825,6174,7.531,9936,7.023,9937,9.683,9946,7.413,9948,7.413,11235,7.413,15436,9.199,16676,8.005,16677,11.693,16678,8.005,16679,8.005,16680,8.005,16681,8.005,16682,10.485,16683,8.005,16684,8.005,16685,8.005,16686,8.005]],["title/interfaces/NextcloudGroups.html",[159,0.713,12971,5.201]],["body/interfaces/NextcloudGroups.html",[3,0.018,4,0.018,5,0.009,7,0.131,30,0.001,32,0.116,34,1.591,47,0.998,55,2.512,101,0.018,103,0.001,104,0.001,112,0.902,122,1.941,159,1.431,161,2.209,339,2.729,402,3.329,532,3.452,1076,5.919,1081,6.343,1115,3.561,3382,4.175,4964,6.343,7397,7.592,12969,6.967,12970,7.135,12971,8.642,12972,6.967,12973,7.135,12974,8.554,12975,7.135,12976,7.135,12977,6.967,12978,7.135,12979,6.817,12980,6.967,12981,7.135,12982,6.967]],["title/injectables/NextcloudStrategy.html",[589,0.929,5039,6.094]],["body/injectables/NextcloudStrategy.html",[0,0.105,3,0.006,4,0.006,5,0.003,7,0.043,8,0.588,27,0.428,29,0.779,30,0.001,31,0.652,32,0.127,33,0.467,34,1.803,35,1.222,36,2.579,39,1.408,47,0.934,55,1.696,62,3.031,72,1.399,95,0.133,100,2.66,101,0.004,103,0,104,0,112,0.398,113,4.549,135,1.641,142,1.115,145,1.142,148,0.96,153,0.504,157,2.104,228,1.659,277,0.441,290,2.002,317,2.773,328,3.811,331,1.352,335,3.368,356,3.417,360,1.738,388,4.52,433,0.628,467,2.662,526,2.737,567,1.162,579,0.883,589,0.681,591,0.729,612,5.12,614,0.944,629,1.609,652,2.331,657,2.969,703,1.58,756,1.209,812,1.995,980,2.823,983,1.969,985,1.769,1027,0.939,1065,5.712,1147,3.903,1237,1.5,1328,2.698,1396,1.969,1470,1.709,1568,2.118,1627,3.655,1826,1.566,1829,1.299,1853,1,1899,1.995,1925,1.858,1940,1.995,2007,1.527,2059,3.729,2342,3.655,2369,5.112,2449,2.127,2450,3.58,2455,1.82,2478,3.199,2505,3.162,2532,1.82,2564,3.199,2631,3.47,2684,2.472,2762,3.247,2815,2.616,2897,3.062,3083,1.839,3218,1.769,3262,2.052,3382,3.422,3696,2.195,3792,4.896,3866,3.287,3868,1.609,3875,2.084,4260,7.036,4269,4.713,4873,4.912,4964,7.611,4969,4.28,4972,3.417,4974,4.132,4975,4.132,4977,4.132,4978,4.132,4980,5.309,4983,4.132,4984,7.572,4986,8.241,4987,4.132,4991,4.132,4997,2.344,4999,2.408,5019,8.559,5020,2.482,5021,2.682,5022,8.505,5023,7.429,5037,7.103,5038,7.061,5039,4.465,5041,2.344,5043,2.831,5139,4.713,5183,1.753,5190,2.118,5246,3.199,5416,5.832,5866,2.57,6391,1.945,6624,2.737,6642,2.608,6750,1.858,6928,5.957,6947,1.899,7956,3.417,7964,2.408,8002,2.758,8110,4.61,8199,3.199,8390,8.996,8721,4.009,8837,2.682,9771,2.831,10500,4.947,11256,6.718,13480,2.344,13501,9.145,13546,10.137,16270,2.57,16687,3.057,16688,7.625,16689,7.625,16690,5.089,16691,5.089,16692,5.089,16693,3.057,16694,3.057,16695,7.688,16696,9.143,16697,6.699,16698,3.057,16699,3.811,16700,3.057,16701,3.057,16702,5.089,16703,3.057,16704,8.468,16705,7.625,16706,5.089,16707,3.057,16708,3.057,16709,5.499,16710,3.057,16711,4.465,16712,5.089,16713,7.87,16714,3.057,16715,4.28,16716,4.713,16717,4.713,16718,5.089,16719,3.057,16720,3.057,16721,3.057,16722,3.057,16723,10.154,16724,7.625,16725,3.057,16726,2.831,16727,3.057,16728,3.057,16729,3.057,16730,5.089,16731,3.057,16732,5.089,16733,6.539,16734,7.625,16735,5.089,16736,3.057,16737,2.682,16738,2.482,16739,3.057,16740,5.089,16741,3.057,16742,3.057,16743,3.057,16744,3.057,16745,3.057,16746,3.057,16747,5.089,16748,3.057,16749,5.089,16750,3.057,16751,3.057,16752,3.057,16753,2.831,16754,3.057,16755,3.057,16756,3.057,16757,3.057,16758,3.057,16759,3.057,16760,3.057,16761,3.057,16762,3.057,16763,3.057,16764,3.057,16765,3.057,16766,3.057,16767,3.057,16768,3.057,16769,3.057,16770,3.057,16771,3.057,16772,5.089,16773,5.089,16774,3.057,16775,3.057,16776,3.057,16777,3.057,16778,3.057,16779,3.057,16780,3.057,16781,3.057,16782,3.057]],["title/classes/NotFoundLoggableException.html",[0,0.24,4830,4.664]],["body/classes/NotFoundLoggableException.html",[0,0.299,2,0.921,3,0.016,4,0.016,5,0.008,7,0.122,8,1.274,27,0.435,29,0.664,30,0.001,31,0.486,32,0.138,33,0.399,35,1.004,47,0.994,95,0.139,101,0.011,103,0.001,104,0.001,135,1.131,148,0.858,228,2.203,231,1.915,233,2.703,277,1.25,339,2.54,433,1.361,652,2.479,1115,4.223,1237,3.252,1422,4.972,1426,5.737,1462,4.766,1468,6.033,1477,4.497,1478,4.693,2935,6.436,4830,7.408,10281,5.816,12370,6.822,12371,7.032,16783,11.243,16784,12.141,16785,11.243,16786,8.661,16787,12.141,16788,12.141,16789,12.141,16790,8.021,16791,8.661,16792,8.661,16793,8.661,16794,8.661]],["title/injectables/OAuth2ToolLaunchStrategy.html",[589,0.929,16795,5.841]],["body/injectables/OAuth2ToolLaunchStrategy.html",[0,0.165,3,0.009,4,0.009,5,0.004,7,0.067,8,0.838,9,2.217,26,2.296,27,0.518,29,0.997,30,0.001,31,0.729,32,0.167,33,0.598,35,1.507,36,2.454,39,2.433,47,0.884,95,0.121,99,0.978,101,0.006,103,0,104,0,110,3.397,112,0.871,125,2.343,130,1.986,134,1.686,142,3.208,148,0.871,172,3.087,228,1.318,231,1.26,277,0.689,317,2.706,326,2.76,339,3.267,436,3.903,569,2.26,571,3.887,589,0.971,591,1.138,652,2.766,711,3.863,1086,4.688,1087,4.542,1088,4.613,1089,4.91,1090,5.365,1476,5.402,1756,2.737,2004,6.813,2005,6.765,2059,7.2,2060,7.058,2684,2.355,2722,4.186,2724,4.418,2725,12.467,2726,6.725,2727,8.141,2728,6.725,2729,6.725,2730,6.725,2731,6.725,2732,6.725,2733,6.725,2734,6.725,2735,6.725,2736,6.371,2737,6.371,2738,6.725,2739,6.725,2740,4.418,2741,9.4,2742,4.418,2743,6.725,2744,10.999,2746,6.725,2748,7.393,2749,4.418,2750,6.725,2751,7.559,2752,5.569,2753,4.418,2754,4.418,2755,6.725,2756,6.928,2757,4.418,2758,4.418,2759,6.725,2760,4.418,2761,4.418,2762,4.366,2763,4.418,2764,8.542,2765,4.418,2766,4.418,2767,4.418,2768,4.418,2769,4.186,2770,4.186,2771,4.418,2772,4.418,2773,4.418,2774,3.496,2775,4.418,2776,6.725,2777,6.503,2778,4.418,2779,4.418,2780,6.725,2781,4.418,2782,2.605,2783,6.725,2785,4.418,2786,3.253,2787,4.186,2788,3.659,2800,4.186,16795,6.106,16796,4.771,16797,4.771]],["title/classes/OAuthProcessDto.html",[0,0.24,16798,6.432]],["body/classes/OAuthProcessDto.html",[0,0.338,2,1.042,3,0.019,4,0.019,5,0.009,7,0.138,27,0.506,29,0.752,30,0.001,31,0.55,32,0.16,33,0.591,47,0.947,101,0.013,103,0.001,104,0.001,112,0.932,433,1.21,871,3.589,1585,7.805,2257,9.222,2273,8.601,6829,9.14,16798,12.675,16799,12.369,16800,9.803,16801,11.917,16802,9.803,16803,9.803,16804,9.803,16805,9.803]],["title/classes/OAuthRejectableBody.html",[0,0.24,6231,5.639]],["body/classes/OAuthRejectableBody.html",[0,0.318,2,0.705,3,0.013,4,0.013,5,0.006,7,0.093,27,0.476,30,0.001,32,0.151,33,0.619,47,0.927,55,1.849,95,0.105,101,0.009,103,0,104,0,112,0.722,157,2.952,187,7.049,190,2.167,194,5.263,196,4.45,197,3.968,200,2.031,202,1.523,296,3.266,299,4.705,300,4.785,337,5.672,342,6.026,402,3.303,403,5.81,711,2.742,890,7.959,998,4.357,1042,6.11,1080,4.764,1302,5.12,1379,6.63,1390,5.736,1888,8.366,2163,4.267,2561,6.909,3759,6.509,5285,7.08,6134,5.444,6231,7.495,6232,8.931,6233,8.931,6234,8.366,6237,6.199,6252,9.046,6253,7.08,6254,8.099,6255,8.099,6256,8.099,6258,8.808,6259,7.959,6260,6.913,6261,7.495,6262,7.08,6263,7.763,6264,7.495,6266,7.763,6269,5.817,6270,7.763,6271,7.763,16806,11.577,16807,6.63,16808,6.63,16809,6.63,16810,6.63,16811,6.63,16812,6.63]],["title/injectables/OAuthService.html",[589,0.929,13397,5.471]],["body/injectables/OAuthService.html",[0,0.134,3,0.007,4,0.007,5,0.004,7,0.054,8,0.713,26,1.81,27,0.438,29,0.853,30,0.001,31,0.624,32,0.139,33,0.512,35,1.242,36,2.589,47,1.019,48,5.891,52,1.96,59,2.389,95,0.15,99,0.794,100,1.352,101,0.005,103,0,104,0,122,0.808,125,0.924,135,1.707,142,3.203,148,1.136,153,1.447,159,0.398,173,6.346,180,1.654,195,1.35,228,2.02,277,0.559,290,2.267,317,2.836,339,1.136,433,0.762,478,1.085,579,2.537,589,0.826,591,0.924,652,2.566,657,2.843,688,1.828,703,2.725,998,4.144,1027,1.19,1309,4.434,1422,1.586,1459,3.257,1466,8.13,1470,2.166,1491,7.785,1540,2.782,1548,2.901,1569,3.587,1573,3.257,1585,2.355,1589,2.971,1593,2.38,1605,5.986,1675,2.33,1719,4.523,1723,3.51,1735,7.127,1853,1.267,2065,5.81,2067,5.333,2069,2.307,2070,3.64,2449,3.217,2450,4.122,2568,2.601,2909,3.051,3394,2.825,3868,3.249,3871,3.257,4949,2.838,5171,2.901,5172,6.433,5174,2.731,5193,3.145,5362,3.051,5416,6.146,6237,4.145,7095,2.529,7626,2.435,7921,5.416,8002,4.757,9375,3.398,9972,5.986,9981,7.487,11255,3.051,12882,4.623,12925,4.278,13397,4.862,13411,8.147,13412,5.763,13417,5.716,13463,6.752,13472,7.797,13487,4.523,13543,7.507,13657,5.416,14210,4.434,14502,3.398,14909,2.901,14920,2.901,15143,2.782,15291,5.639,15300,6.733,16290,9.013,16295,5.716,16304,3.587,16308,5.416,16738,3.145,16813,3.874,16814,7.696,16815,7.696,16816,7.696,16817,6.173,16818,6.173,16819,6.173,16820,9.013,16821,8.702,16822,3.874,16823,3.874,16824,8.779,16825,3.874,16826,3.874,16827,3.874,16828,3.874,16829,3.874,16830,6.173,16831,3.874,16832,6.173,16833,3.874,16834,6.173,16835,3.874,16836,6.173,16837,3.874,16838,3.257,16839,3.398,16840,3.398,16841,3.398,16842,3.874,16843,5.012,16844,3.874,16845,3.874,16846,3.398,16847,3.874,16848,3.874,16849,3.874,16850,3.874,16851,3.257,16852,3.874,16853,7.696,16854,3.874,16855,3.874,16856,5.716,16857,3.874,16858,3.874,16859,3.587,16860,5.416,16861,3.874,16862,3.874,16863,3.874,16864,3.587,16865,3.874,16866,5.416,16867,3.874,16868,3.874,16869,3.874,16870,5.716,16871,3.874,16872,6.173,16873,3.874]],["title/classes/OAuthTokenDto.html",[0,0.24,13412,5.201]],["body/classes/OAuthTokenDto.html",[0,0.329,2,1.015,3,0.018,4,0.018,5,0.009,7,0.134,27,0.521,29,0.732,30,0.001,31,0.535,32,0.165,33,0.439,47,0.98,101,0.013,103,0.001,104,0.001,112,0.917,173,8.399,232,3.177,433,1.178,435,3.242,1605,8.653,13412,10.173,15780,8.028,15781,8.028,16874,13.586,16875,9.547,16876,11.752,16877,11.726,16878,9.547,16879,9.547,16880,8.841,16881,8.841,16882,9.547,16883,9.547]],["title/classes/Oauth2AuthorizationBodyParams.html",[0,0.24,15755,5.841]],["body/classes/Oauth2AuthorizationBodyParams.html",[0,0.402,2,1.005,3,0.018,4,0.018,5,0.009,7,0.133,27,0.498,30,0.001,32,0.158,47,0.978,48,6.202,95,0.133,101,0.012,103,0.001,104,0.001,112,0.911,190,2.268,200,2.897,202,2.172,296,3.446,299,4.925,855,4.718,856,7.009,998,5.965,6771,6.929,8254,9.464,13543,7.765,14863,8.297,14864,8.758,15650,8.758,15651,8.758,15755,9.803,16884,13.192]],["title/classes/Oauth2MigrationParams.html",[0,0.24,16885,6.094]],["body/classes/Oauth2MigrationParams.html",[0,0.397,2,0.987,3,0.018,4,0.018,5,0.009,7,0.13,27,0.494,30,0.001,32,0.156,47,0.974,48,6.151,95,0.132,101,0.012,103,0.001,104,0.001,112,0.901,180,5.595,190,2.249,200,2.843,202,2.132,296,3.423,299,4.884,855,4.664,856,6.951,998,5.915,4938,5.998,6771,6.801,8254,9.356,13543,7.701,16885,10.11,16886,13.106,16887,9.282,16888,9.282,16889,9.282,16890,9.282]],["title/injectables/Oauth2Strategy.html",[589,0.929,1533,6.094]],["body/injectables/Oauth2Strategy.html",[0,0.253,3,0.014,4,0.014,5,0.007,7,0.103,8,1.142,27,0.39,29,0.759,30,0.001,31,0.554,32,0.149,33,0.455,35,0.85,36,2.096,48,4.855,66,6.457,94,5.662,95,0.158,101,0.01,103,0,104,0,135,1.634,142,3.609,148,0.726,153,1.631,159,0.753,172,4.205,174,5,193,3.186,228,1.795,231,1.717,233,2.288,277,1.058,290,2.646,317,2.429,325,3.642,347,3.757,349,5.036,379,3.733,400,2.183,433,0.905,480,5.373,578,3.833,579,2.858,589,1.323,591,1.748,652,1.497,657,2.565,666,10.105,675,3.733,998,4.669,1213,6.293,1220,4.206,1422,3.003,1533,8.678,1545,5.17,1712,5.491,1983,4.924,4972,4.924,6237,6.642,7990,5.491,8002,5.359,8005,7.791,8009,5.953,13396,6.79,13397,10.153,13412,7.407,13543,6.078,14284,5.624,14288,8.03,14293,5.953,14785,6.166,15039,9.16,15042,6.79,15055,6.79,15755,8.318,16866,6.433,16891,7.333,16892,7.333,16893,7.333,16894,8.678,16895,7.333,16896,7.333,16897,9.16,16898,6.79,16899,7.333,16900,7.333,16901,7.333]],["title/classes/Oauth2ToolConfig.html",[0,0.24,8198,4.813]],["body/classes/Oauth2ToolConfig.html",[0,0.256,2,0.788,3,0.014,4,0.014,5,0.007,7,0.104,27,0.542,29,0.569,30,0.001,31,0.416,32,0.175,33,0.638,47,0.983,95,0.114,101,0.01,103,0,104,0,112,0.779,122,2.079,231,1.73,232,2.7,233,2.314,433,0.915,435,2.517,436,2.96,614,2.289,2035,3.639,2332,6.294,2682,6.165,2684,4.458,2685,6.234,2686,9.403,2688,6.504,2689,5.618,2690,6.504,2691,6.504,2693,5.325,6244,4.61,6325,5.659,8060,7.252,8094,5.686,8095,6.019,8150,4.978,8151,6.019,8195,9.683,8198,8.702,8206,6.771,8209,8.633,8211,8.429,8216,5.055,13649,5.055,14904,5.432,15846,6.866,15847,6.866,15848,6.866,15849,6.866,15850,6.866,15851,6.866,16902,13.606,16903,9.965,16904,6.504,16905,7.414,16906,6.866,16907,6.866,16908,6.866,16909,6.866,16910,6.866,16911,6.866]],["title/classes/Oauth2ToolConfigCreateParams.html",[0,0.24,10178,5.841]],["body/classes/Oauth2ToolConfigCreateParams.html",[0,0.334,2,0.756,3,0.014,4,0.014,5,0.007,7,0.1,27,0.531,30,0.001,32,0.173,33,0.544,47,0.984,95,0.135,101,0.009,103,0,104,0,112,0.757,122,2.021,190,2.421,199,5.373,200,2.179,201,4.279,202,1.633,231,1.682,296,3.475,299,4.978,300,4.217,436,2.878,614,2.196,899,3.238,2035,3.49,2087,5.754,2332,6.161,2682,6.028,2684,4.374,2689,6.213,2706,9.071,2707,7.636,2708,5.774,2709,5.774,2710,5.774,2711,5.774,2712,5.774,6244,4.513,6273,5.608,6325,5.54,6793,7.099,8060,7.099,8195,9.565,8206,6.629,8209,8.451,8211,8.251,8256,5.454,10176,5.774,10178,8.147,10184,6.239,15858,6.586,15862,6.586,16912,12.319,16913,6.586,16914,7.112,16915,7.112,16916,6.586,16917,6.586,16918,7.112,16919,6.586]],["title/classes/Oauth2ToolConfigEntity.html",[0,0.24,10227,5.639]],["body/classes/Oauth2ToolConfigEntity.html",[0,0.306,2,0.943,3,0.017,4,0.017,5,0.008,7,0.125,27,0.484,29,0.68,30,0.001,31,0.497,32,0.153,33,0.408,47,0.794,95,0.14,96,2.349,101,0.012,103,0.001,104,0.001,112,0.876,122,2.337,190,2.01,223,4.128,224,2.589,231,1.54,232,3.035,433,1.095,435,3.013,457,4.92,614,2.739,2035,4.354,2108,3.872,2682,5.843,2684,4.312,2689,5.002,2696,7.461,2698,5.703,2699,9.095,2700,7.783,2701,5.002,6325,6.172,8060,7.909,8094,6.804,8095,7.203,8216,7.638,10227,10.796,13649,6.049,16904,7.783,16920,12.896,16921,11.202,16922,8.872]],["title/classes/Oauth2ToolConfigFactory.html",[0,0.24,8204,5.841]],["body/classes/Oauth2ToolConfigFactory.html",[0,0.266,2,0.412,3,0.007,4,0.007,5,0.004,7,0.055,8,0.713,27,0.495,29,0.985,30,0.001,31,0.705,32,0.166,33,0.552,34,1.057,35,1.329,47,0.438,55,2.229,59,3.173,95,0.11,101,0.013,103,0,104,0,110,1.341,112,0.483,113,4.073,127,4.389,129,3.332,130,3.044,135,1.62,148,1.189,157,1.772,172,2.626,185,2.123,192,2.133,197,2.442,205,1.572,206,2.014,228,1.121,231,1.525,290,0.917,300,1.484,326,5.005,374,2.672,417,2.168,433,0.478,436,3.685,467,1.799,501,6.723,502,4.872,505,3.426,506,4.872,507,4.903,508,3.426,509,3.426,510,3.426,511,3.373,512,3.921,513,4.271,514,6.372,515,5.238,516,6.664,517,2.168,522,2.15,523,3.426,524,2.168,525,4.592,526,4.724,527,3.718,528,4.444,529,3.399,530,2.15,531,2.027,532,3.792,533,2.07,534,2.027,535,2.15,536,2.168,537,4.204,538,2.15,539,7.477,540,3.908,541,6.174,542,2.168,543,2.997,544,2.15,545,2.168,546,2.15,547,2.168,548,2.15,551,2.15,552,5.58,553,2.168,554,2.15,555,3.426,556,3.125,557,3.426,558,2.168,559,2.085,560,2.055,561,1.74,562,2.15,563,2.15,564,2.15,565,2.168,566,2.168,567,1.474,568,2.15,569,1.207,570,2.168,571,2.443,572,2.15,573,2.168,575,2.224,576,2.287,577,5.231,614,1.197,756,1.534,1220,2.224,1598,3.643,2007,1.937,2033,2.785,2084,2.687,2087,3.331,2124,3.275,2332,4.306,2681,2.841,2684,1.257,2689,2.186,2692,2.734,2751,4.033,2756,2.734,2762,1.926,4665,6.764,4667,2.785,5191,2.467,5344,4.626,5710,2,6106,2.974,6116,2.687,6122,4.626,6123,2.974,6244,3.929,6325,3.106,6642,1.987,6696,2.224,6759,3.148,6764,3.054,6765,2.644,8040,2.566,8046,2.531,8048,2.531,8050,2.531,8060,2.498,8061,2.332,8063,2.357,8189,5.195,8190,5.42,8192,3.402,8194,2.841,8195,4.626,8196,3.054,8197,2.841,8198,2.687,8199,2.437,8200,3.402,8201,3.402,8202,3.402,8203,6.756,8204,6.476,8205,5.42,8206,3.716,8207,3.148,8208,2.841,8209,2.974,8210,3.402,8211,2.903,8212,3.402,8213,3.402,8214,5.42,8215,3.402,8216,2.644,8217,3.402,8218,3.402,8219,3.402,8220,2.687,8221,3.402,8222,3.402,8223,3.26,8224,3.402,8225,2.785,8226,5.42,8227,6.756,8228,3.054,8229,5.42,8230,5.42,8231,3.402,8232,3.26,8233,3.054,8234,5.195,8235,3.402,8236,3.402,8237,3.402,8238,3.402,8239,3.402,8240,5.42,8241,3.402,8242,3.26,8243,2.566,8244,3.26,8245,3.402,8246,3.402,8247,3.402,8248,3.402,16923,6.178,16924,3.877]],["title/classes/Oauth2ToolConfigResponse.html",[0,0.24,10805,5.841]],["body/classes/Oauth2ToolConfigResponse.html",[0,0.244,2,0.752,3,0.013,4,0.013,5,0.007,7,0.099,27,0.531,29,0.543,30,0.001,31,0.397,32,0.173,33,0.62,47,0.966,95,0.125,101,0.009,103,0,104,0,112,0.755,122,2.014,190,2.384,201,5.232,202,1.625,231,1.676,232,2.615,233,2.208,296,3.52,433,0.873,435,2.402,436,2.867,614,2.184,2035,3.472,2108,3.088,2332,6.144,2682,6.021,2684,4.369,2689,6.196,2693,5.081,2702,4.988,2715,5.743,2716,10.032,2718,6.206,2719,6.206,2720,5.743,6244,4.501,6325,5.525,8060,7.08,8094,5.426,8095,5.743,8150,4.75,8151,5.743,8195,9.55,8209,8.428,8211,8.229,8216,4.823,10805,10.391,13649,4.823,15874,6.551,15875,6.551,15876,6.551,15877,6.551,15878,6.206,16904,6.206,16906,6.551,16907,6.551,16908,6.551,16909,6.551,16910,6.551,16911,6.551,16925,13.287,16926,9.654]],["title/classes/Oauth2ToolConfigUpdateParams.html",[0,0.24,10735,5.841]],["body/classes/Oauth2ToolConfigUpdateParams.html",[0,0.333,2,0.752,3,0.013,4,0.013,5,0.007,7,0.099,27,0.531,30,0.001,32,0.173,33,0.587,47,0.983,95,0.135,101,0.009,103,0,104,0,112,0.755,122,2.014,190,2.418,199,5.354,200,2.167,201,4.584,202,1.625,231,1.676,296,3.41,299,4.97,300,4.518,436,2.867,614,2.184,899,3.221,2035,3.472,2087,5.747,2332,6.144,2682,6.021,2684,4.369,2689,6.196,2706,9.054,2707,6.69,2708,5.743,2709,5.743,2710,5.743,2711,5.743,2712,5.743,6244,4.501,6273,5.587,6325,5.525,6793,8.052,8060,7.08,8195,9.55,8206,6.611,8209,8.428,8211,8.229,8256,5.426,10735,8.118,11025,5.949,11027,6.206,11029,6.206,11034,6.551,15882,6.551,16912,12.304,16913,6.551,16917,6.551,16919,6.551,16927,7.074,16928,7.074,16929,7.074]],["title/injectables/OauthAdapterService.html",[589,0.929,16820,5.841]],["body/injectables/OauthAdapterService.html",[0,0.238,3,0.013,4,0.013,5,0.006,7,0.097,8,1.097,27,0.461,29,0.897,30,0.001,31,0.655,32,0.153,33,0.538,35,1.258,36,2.749,47,0.92,95,0.151,100,2.413,101,0.009,103,0,104,0,135,1.601,148,1.075,153,1.14,158,2.557,195,1.513,228,1.255,317,2.749,400,2.059,433,0.853,579,2.747,589,1.271,591,1.649,629,3.64,652,2.217,657,2.178,711,3.226,1053,8.636,1054,3.899,1055,5.304,1056,4.456,1080,3.276,1169,4.003,1328,3.666,1422,2.832,1491,9.494,1723,6.175,2083,4.577,2088,6.404,2113,6.827,2124,3.666,2382,9.714,2392,2.638,2416,6.067,2815,2.767,2823,5.816,4241,5.447,4293,6.067,7927,8.339,9551,6.404,13482,5.816,13547,6.291,14672,6.404,14673,6.404,14674,6.404,16820,7.993,16843,5.615,16864,8.802,16930,12.259,16931,10.86,16932,10.86,16933,6.916,16934,9.505,16935,6.916,16936,9.505,16937,6.916,16938,6.916,16939,6.916,16940,6.916,16941,6.916,16942,9.505,16943,6.067,16944,6.404,16945,6.067,16946,6.916,16947,6.916,16948,6.916,16949,6.916,16950,9.505,16951,6.916,16952,6.916,16953,6.916,16954,9.505,16955,6.916,16956,6.916,16957,6.916,16958,6.916,16959,6.916]],["title/modules/OauthApiModule.html",[252,1.835,16960,5.841]],["body/modules/OauthApiModule.html",[0,0.317,3,0.017,4,0.017,5,0.008,30,0.001,95,0.153,101,0.012,103,0.001,104,0.001,252,3.297,254,3.312,255,3.508,256,3.597,257,3.584,258,3.571,259,4.539,260,3.424,265,6.335,269,4.482,270,3.533,271,3.459,273,5.781,274,4.789,276,4.482,277,1.327,1027,2.825,1523,11.125,3017,4.341,13388,11.524,16960,11.994,16961,9.197,16962,9.197,16963,9.197,16964,9.197,16965,10.949,16966,8.517,16967,9.197,16968,9.197]],["title/classes/OauthClientBody.html",[0,0.24,16969,6.094]],["body/classes/OauthClientBody.html",[0,0.249,2,0.504,3,0.009,4,0.009,5,0.004,7,0.067,27,0.49,30,0.001,31,0.405,32,0.155,33,0.63,34,1.235,47,0.959,95,0.112,101,0.006,103,0,104,0,112,0.565,134,3.924,157,2.864,174,4.924,176,3.654,187,7.134,190,2.234,194,5.352,195,1.915,196,4.526,197,4.003,200,1.451,202,1.088,296,3.305,299,4.755,300,4.843,371,3.828,374,4.235,412,3.196,417,4.038,540,2.536,586,6.688,628,4.301,641,4.107,711,2.145,871,2.644,899,2.157,1060,4.924,1171,3.633,1470,4.038,1493,5.864,1495,6.287,1496,7.106,1507,3.633,1561,6.903,1582,5.187,1598,4.259,1622,5.187,1899,4.715,2163,3.339,2232,4.39,2257,5.187,2543,4.707,2557,5.864,2558,6.073,2815,5.414,2845,6.308,4331,4.438,4409,7.106,6134,4.259,6237,8.617,6244,4.731,6252,8.302,6273,5.667,6288,7.679,6306,6.336,6321,6.895,8062,6.554,9242,5.864,10973,8.106,10975,7.679,10978,9.76,10979,6.688,12464,5.092,12979,5.292,14172,5.539,16806,11.718,16969,6.336,16970,4.737,16971,8.106,16972,8.106,16973,4.737,16974,4.737,16975,4.737,16976,7.222,16977,7.222,16978,4.737,16979,4.737,16980,4.737,16981,4.737,16982,5.864,16983,6.688,16984,6.073,16985,7.222,16986,7.222,16987,7.222,16988,7.222,16989,4.737,16990,8.753,16991,4.737,16992,7.222,16993,7.222,16994,4.737,16995,8.753,16996,4.737,16997,6.688,16998,7.222,16999,7.222,17000,4.737,17001,4.737,17002,4.737,17003,4.737,17004,4.737,17005,4.737]],["title/classes/OauthConfig.html",[0,0.24,13472,4.366]],["body/classes/OauthConfig.html",[0,0.241,2,0.742,3,0.013,4,0.013,5,0.006,7,0.098,27,0.552,29,0.535,30,0.001,31,0.391,32,0.175,33,0.566,47,1.03,72,4.376,101,0.009,103,0,104,0,112,0.747,180,4.082,290,2.261,311,4.554,433,0.861,567,3.634,1593,6.703,2232,5.812,2257,6.867,3089,6.242,5042,6.26,6244,4.468,6325,5.485,8150,4.684,8206,6.563,10340,7.22,13472,7.729,13532,7.325,13535,7.121,13537,7.325,13540,7.325,13543,6.703,13547,7.22,13649,4.756,13726,5.224,14172,7.333,14420,6.12,14870,6.12,14871,6.46,14874,5.111,14904,5.111,14906,5.111,14908,5.224,14910,5.224,14912,5.224,14913,5.224,14914,5.224,14917,5.224,14919,5.224,14921,5.224,14923,7.325,17006,14.087,17007,8.854,17008,9.562,17009,6.976,17010,6.976,17011,6.976,17012,6.976,17013,6.976,17014,6.976,17015,6.46,17016,6.976,17017,6.46,17018,6.12,17019,6.46,17020,6.12,17021,6.12,17022,6.12,17023,6.12,17024,6.12,17025,6.12,17026,6.12,17027,6.12,17028,6.12,17029,6.12,17030,6.12]],["title/classes/OauthConfigDto.html",[0,0.24,13726,5.201]],["body/classes/OauthConfigDto.html",[0,0.241,2,0.742,3,0.013,4,0.013,5,0.006,7,0.098,27,0.552,29,0.535,30,0.001,31,0.391,32,0.175,33,0.566,47,1.03,72,4.376,101,0.009,103,0,104,0,112,0.747,180,4.082,290,2.261,433,0.861,567,3.634,1593,6.703,2232,5.812,2257,6.867,3089,6.242,5042,6.26,6244,4.468,6325,5.485,8150,4.684,8206,6.563,10340,7.22,13532,7.325,13535,7.121,13537,7.325,13540,7.325,13543,6.703,13547,7.22,13649,4.756,13726,9.51,14172,7.333,14874,5.111,14904,5.111,14906,5.111,14908,5.224,14910,5.224,14912,5.224,14913,5.224,14914,5.224,14917,5.224,14919,5.224,14921,5.224,14923,7.325,17007,8.854,17018,6.12,17019,6.46,17020,6.12,17021,6.12,17022,6.12,17023,6.12,17024,6.12,17025,6.12,17026,6.12,17027,6.12,17028,6.12,17029,6.12,17030,6.12,17031,14.087,17032,6.46,17033,9.562,17034,6.46,17035,6.976,17036,6.976,17037,6.976,17038,6.976,17039,6.976,17040,6.976,17041,6.46,17042,6.976,17043,6.46,17044,6.46,17045,6.976]],["title/classes/OauthConfigEntity.html",[0,0.24,13411,4.813]],["body/classes/OauthConfigEntity.html",[0,0.313,2,0.437,3,0.008,4,0.008,5,0.004,7,0.058,26,1.334,27,0.502,29,0.315,30,0.001,31,0.23,32,0.162,33,0.454,47,1.036,83,2.33,95,0.104,96,1.089,101,0.013,103,0,104,0,110,2.767,112,0.506,122,0.858,134,1.453,157,0.946,159,0.422,185,1.413,190,2.258,195,2.988,196,4.477,197,1.143,205,1.634,211,3.589,223,4.488,224,1.2,225,2.486,226,1.863,228,0.746,229,1.626,231,0.714,232,1.114,233,1.283,331,1.819,433,0.507,561,1.845,620,2.555,628,2.448,886,2.518,997,2.584,1454,2.526,1561,2.899,1593,4.917,2108,1.794,2160,2.721,2185,3.153,2698,3.295,4623,3.455,4661,4.648,4695,2.499,4885,2.649,5042,4.621,5178,2.245,5183,2.358,6244,3.278,6325,4.563,6642,3.316,6662,2.649,6663,2.849,7127,3.506,8064,2.584,8150,2.761,8206,5.46,10340,5.297,11395,2.721,13411,7.601,13472,5.03,13485,3.079,13486,3.079,13487,3.013,13488,3.079,13532,5.374,13535,5.224,13537,5.374,13540,5.374,13543,4.917,13547,5.297,13649,4.413,13811,3.153,14205,3.976,14218,5.156,14219,2.684,14220,2.684,14471,4.648,14477,4.169,14588,3.079,14868,4.346,14872,3.238,14874,4.742,14876,6.797,14877,3.338,14878,3.338,14879,3.338,14880,3.338,14881,3.338,14882,3.338,14883,3.338,14884,3.338,14885,3.338,14886,3.338,14900,4.963,14901,6.797,14902,4.346,14903,5.254,14904,4.742,14905,3.153,14906,4.742,14907,3.153,14908,3.079,14909,3.079,14910,3.079,14911,3.153,14912,3.079,14913,3.079,14914,3.079,14915,3.153,14916,3.153,14917,3.079,14918,3.153,14919,3.079,14920,3.079,14921,3.079,14922,3.153,14923,6.095,14924,3.238,14925,2.953,14926,3.338,14927,3.338,14928,3.338,14929,3.338,14930,3.338,14931,3.338,14932,3.338,14933,3.338,14934,3.338,14935,3.153,14936,3.338,14937,3.338,14938,3.338,14939,3.338,14940,3.338,14941,3.338,14942,3.238,14943,3.338,14944,3.338,14945,3.013,14946,3.338,14947,3.338,14948,3.338,14949,3.338,14950,3.338,14951,3.338,14952,3.338,14953,3.338,14954,3.338,14955,3.338,14956,3.338,14957,3.338,14958,3.338,14959,3.338,14960,3.153,14961,3.338,14962,3.238,14963,3.153,14964,3.238,14965,3.153,14966,3.153,14967,3.238,14968,3.153,14969,3.238,14970,3.153,14971,3.013,14972,3.013,14973,3.013,14974,3.079,14975,3.153,14976,3.338,14977,3.153,14978,3.338,14979,3.338,14980,3.338,14981,3.338,14982,3.338,14983,3.153,14984,3.238,14985,3.153,14986,3.238,17046,4.111,17047,4.111,17048,4.111,17049,4.111,17050,4.111,17051,4.111,17052,4.111,17053,4.111,17054,4.111,17055,4.111,17056,4.111,17057,4.111,17058,4.111,17059,4.111]],["title/classes/OauthConfigMissingLoggableException.html",[0,0.24,16839,6.094]],["body/classes/OauthConfigMissingLoggableException.html",[0,0.307,2,0.947,3,0.017,4,0.017,5,0.008,7,0.125,8,1.297,27,0.442,29,0.683,30,0.001,31,0.5,32,0.14,33,0.41,35,1.033,47,0.872,48,6.038,95,0.128,101,0.012,103,0.001,104,0.001,148,0.882,228,1.617,231,1.95,233,2.781,244,6.529,339,2.614,400,2.654,433,1.1,436,2.647,983,7.237,1027,2.737,1080,3.072,1115,3.411,1422,5.038,1423,5.806,1426,5.797,1462,4.903,1463,9.672,1465,6.175,1467,7.494,1468,5.806,1469,6.11,1470,6.281,1471,6.529,1472,4.983,1476,5.475,1477,4.627,1478,4.828,2087,4.859,2845,5.741,3394,4.078,16270,7.494,16839,9.855,17060,10.403,17061,8.911,17062,8.911]],["title/classes/OauthConfigResponse.html",[0,0.24,17063,5.841]],["body/classes/OauthConfigResponse.html",[0,0.176,2,0.542,3,0.01,4,0.01,5,0.005,7,0.072,27,0.519,29,0.391,30,0.001,31,0.286,32,0.172,33,0.545,34,1.306,47,1.021,95,0.058,101,0.007,103,0,104,0,112,0.597,157,3.001,172,3.245,176,3.862,190,2.34,194,5.489,195,3.049,196,4.642,197,3.925,202,1.171,296,3.444,433,0.629,868,6.256,871,2.795,1060,5.205,1171,5.855,1493,6.198,1593,7.019,2232,7.403,2257,5.483,2715,4.139,2815,3.054,5042,5.815,5285,5.855,6244,4.678,6325,5.109,8150,3.423,10340,6.726,13532,6.824,13535,6.634,13537,6.824,13540,6.824,13543,6.244,13547,6.726,13649,3.476,14172,5.855,14515,6.42,14874,3.735,14906,3.735,14908,3.818,14910,3.818,14912,3.818,14913,3.818,14914,3.818,14917,3.818,14919,3.818,14921,3.818,14923,6.824,15878,4.473,16943,6.698,17063,7.696,17064,13.31,17065,7.634,17066,7.634,17067,5.098,17068,5.098,17069,5.098,17070,7.634,17071,5.098,17072,5.098,17073,5.098,17074,5.098,17075,5.098,17076,5.098,17077,5.098,17078,5.098,17079,5.098,17080,5.098,17081,5.098,17082,5.098,17083,5.098,17084,5.098,17085,5.098,17086,5.098,17087,5.098,17088,5.098,17089,5.098]],["title/interfaces/OauthCurrentUser.html",[159,0.713,8005,5.471]],["body/interfaces/OauthCurrentUser.html",[3,0.019,4,0.019,5,0.009,7,0.137,30,0.001,32,0.122,33,0.547,47,0.908,72,5.437,95,0.111,101,0.013,103,0.001,104,0.001,112,0.929,159,1.002,161,2.316,173,7.864,180,5.072,231,2.062,290,2.307,325,6.363,567,4.516,614,3.669,4921,7.864,5070,6.76,6134,7.007,6237,7.978,8003,11.213,8005,9.359,12950,8.559,14172,9.113,14515,9.992,17090,9.756,17091,11.882,17092,11.882]],["title/classes/OauthDataDto.html",[0,0.24,14210,4.989]],["body/classes/OauthDataDto.html",[0,0.3,2,0.925,3,0.017,4,0.017,5,0.008,7,0.122,27,0.521,29,0.667,30,0.001,31,0.488,32,0.165,33,0.608,95,0.146,101,0.011,103,0.001,104,0.001,112,0.865,232,2.997,433,1.073,435,2.954,614,3.756,3394,5.567,9949,9.33,9963,8.055,9979,8.914,10009,6.852,10010,7.315,11141,8.914,12882,6.514,14210,9.494,14239,9.877,14241,10.23,17093,12.512,17094,8.699,17095,10.673,17096,11.063,17097,8.699,17098,8.699,17099,9.582,17100,8.699,17101,8.699,17102,8.055,17103,8.699,17104,8.699,17105,8.699,17106,8.699,17107,8.699,17108,8.699,17109,8.699]],["title/classes/OauthDataStrategyInputDto.html",[0,0.24,14215,5.201]],["body/classes/OauthDataStrategyInputDto.html",[0,0.317,2,0.978,3,0.017,4,0.017,5,0.008,7,0.129,27,0.515,29,0.705,30,0.001,31,0.516,32,0.163,33,0.423,47,0.926,95,0.105,101,0.012,103,0.001,104,0.001,112,0.896,173,8.26,232,3.104,339,3.942,433,1.135,435,3.123,1605,8.51,3394,5.711,4972,9.025,10009,7.244,10010,7.734,12882,6.887,14215,10.064,15780,7.734,15781,7.734,16880,8.517,16881,8.517,17093,12.446,17099,9.831,17102,8.517,17110,9.197,17111,11.458,17112,9.197,17113,9.197]],["title/classes/OauthLoginResponse.html",[0,0.24,15759,5.841]],["body/classes/OauthLoginResponse.html",[0,0.308,2,0.949,3,0.017,4,0.017,5,0.008,7,0.126,27,0.485,29,0.685,30,0.001,31,0.501,32,0.154,33,0.567,34,1.924,47,0.873,95,0.128,101,0.012,103,0.001,104,0.001,112,0.879,157,2.055,176,5.691,190,2.019,201,4.368,202,2.051,231,1.953,232,3.048,296,2.333,433,1.102,435,3.033,436,2.653,457,4.953,567,4.275,614,3.991,1361,5.123,1470,6.29,1605,7.67,2554,7.071,3394,5.148,6244,4.607,8003,10.356,8208,8.242,15747,9.284,15759,11.205,17114,12.315,17115,8.931,17116,11.249,17117,8.931,17118,8.931,17119,8.931,17120,8.931]],["title/modules/OauthModule.html",[252,1.835,1523,5.639]],["body/modules/OauthModule.html",[0,0.236,3,0.013,4,0.013,5,0.006,30,0.001,52,3.463,95,0.16,101,0.009,103,0,104,0,180,2.922,252,2.854,254,2.465,255,2.611,256,2.677,257,2.668,258,2.658,259,3.928,260,4.021,265,5.837,269,3.691,270,2.629,271,2.574,276,3.691,277,0.988,279,2.873,703,2.125,1027,2.102,1054,3.859,1522,10.618,1523,11.881,1525,9.252,1536,6.005,1540,4.916,1856,7.243,2069,4.076,2666,3.164,3858,7.845,3868,4.968,3871,5.756,3872,6.161,5037,9.252,5174,4.826,6033,8.478,9780,9.455,13397,10.863,13398,11.597,16820,10.618,16838,5.756,17121,6.845,17122,6.845,17123,6.845,17124,6.845,17125,10.618,17126,10.618,17127,6.845,17128,6.845,17129,6.005,17130,6.845]],["title/modules/OauthProviderApiModule.html",[252,1.835,17131,5.841]],["body/modules/OauthProviderApiModule.html",[0,0.253,3,0.014,4,0.014,5,0.007,30,0.001,95,0.157,101,0.01,103,0,104,0,187,4.134,252,2.957,254,2.641,255,2.797,256,2.868,257,2.858,258,2.847,259,4.07,260,2.73,265,5.958,269,3.869,270,2.817,271,2.758,273,4.609,274,4.134,276,3.869,277,1.058,1027,2.252,1470,4.1,1856,7.394,2666,3.39,3017,3.461,3858,8.009,3868,3.86,3998,4.924,5036,9.652,5041,5.624,5042,5.699,10417,10.465,10424,5,16966,6.79,17131,12.305,17132,7.333,17133,7.333,17134,7.333,17135,11.308,17136,10.839,17137,10.839,17138,10.839,17139,10.839,17140,10.839,17141,10.839,17142,6.166,17143,9.82,17144,7.333,17145,6.79,17146,7.333]],["title/injectables/OauthProviderClientCrudUc.html",[589,0.929,17136,5.841]],["body/injectables/OauthProviderClientCrudUc.html",[0,0.178,3,0.01,4,0.01,5,0.005,7,0.072,8,0.888,27,0.468,29,0.879,30,0.001,31,0.643,32,0.148,33,0.528,34,2.136,35,1.267,36,2.694,47,0.953,55,2.296,56,4.821,58,6.667,59,3.17,95,0.136,101,0.007,103,0,104,0,112,0.601,129,1.541,130,1.408,135,1.685,148,1.082,176,3.892,178,6.246,187,6.887,228,1.984,277,0.743,290,3.051,317,2.918,325,6.726,339,3.583,349,6.05,433,0.949,478,1.442,589,1.029,591,1.228,595,1.944,652,2.232,657,2.862,693,2.345,998,3.631,1862,6.344,2666,2.381,2815,4.887,3221,2.656,6244,3.151,6321,8.045,8207,6.246,8208,5.637,10142,8.874,10424,5.245,10890,8.402,10912,10.068,10916,3.699,10975,6.749,11494,7.648,13536,6.469,16971,7.124,16972,7.124,17136,6.469,17147,9.917,17148,11.312,17149,5.15,17150,9.208,17151,6.749,17152,6.749,17153,6.749,17154,8.078,17155,8.078,17156,4.181,17157,5.15,17158,7.124,17159,5.15,17160,7.124,17161,5.15,17162,7.124,17163,5.15,17164,4.77,17165,5.15,17166,4.77,17167,5.15,17168,7.124,17169,5.15,17170,5.15,17171,10.93,17172,7.693,17173,5.15,17174,5.15,17175,9.208,17176,9.208,17177,7.693,17178,5.15,17179,5.15,17180,5.15]],["title/injectables/OauthProviderConsentFlowUc.html",[589,0.929,17137,5.841]],["body/injectables/OauthProviderConsentFlowUc.html",[0,0.186,3,0.01,4,0.01,5,0.005,7,0.076,8,0.919,27,0.459,29,0.894,30,0.001,31,0.654,32,0.145,33,0.537,35,1.291,36,2.724,39,2.618,47,0.991,95,0.138,101,0.007,103,0,104,0,125,2.78,135,1.455,148,1.034,153,0.889,160,8.785,164,4.038,173,7.374,174,6.451,175,4.535,176,2.728,178,4.378,186,8.481,187,6.8,228,1.445,277,0.778,317,2.743,325,5.99,349,5.318,365,4.226,379,6.786,389,3.52,433,0.982,569,2.477,579,1.558,589,1.064,591,1.286,652,2.662,657,2.394,871,4.415,1495,7.503,2667,3.211,3221,2.781,4046,4.788,4547,9.078,5042,2.745,5108,3.52,6229,8.785,6276,8.481,6283,8.481,10424,5.427,10890,8.544,10916,3.873,13659,10.143,13660,4.994,17137,6.694,17147,9.792,17156,4.378,17181,11.169,17182,4.731,17183,8.761,17184,6.983,17185,8.761,17186,7.371,17187,7.96,17188,5.393,17189,4.994,17190,5.393,17191,7.371,17192,5.393,17193,5.393,17194,4.994,17195,7.371,17196,8.481,17197,5.393,17198,7.96,17199,8.546,17200,5.393,17201,5.96,17202,4.535,17203,4.994,17204,7.96,17205,5.393,17206,4.994,17207,5.393,17208,5.393,17209,5.393,17210,5.393,17211,8.228,17212,5.393,17213,5.393,17214,5.393,17215,5.393,17216,5.393,17217,5.393,17218,4.248,17219,5.393]],["title/controllers/OauthProviderController.html",[314,2.658,17143,6.094]],["body/controllers/OauthProviderController.html",[0,0.116,3,0.006,4,0.006,5,0.003,7,0.047,8,0.638,10,1.357,27,0.472,29,0.902,30,0.001,31,0.659,32,0.147,33,0.541,35,1.387,36,2.902,47,0.239,95,0.141,100,1.179,101,0.004,103,0,104,0,135,1.712,148,1.186,171,2.268,186,8.225,187,6.854,190,2.149,202,0.776,228,1.742,274,1.412,277,0.488,314,1.293,316,1.63,317,2.953,325,6.707,326,5.065,349,6.902,365,5.149,379,6.63,388,4.533,389,2.205,392,1.766,395,1.817,398,6.246,433,0.417,652,1.96,657,2.58,871,2.023,1295,6.816,2218,1.509,2219,1.698,2220,1.639,2221,2.123,2257,2.426,2815,3.243,3221,1.742,3223,1.859,3998,2.268,4046,3.325,4370,2.176,4545,10.938,4834,7.363,5042,2.814,6229,6.816,6237,2.268,6276,4.487,6294,8.071,6318,5.899,8897,2.743,10424,3.769,10912,7.187,10916,2.426,13160,6.154,13638,9.875,13677,2.743,15635,7.111,15747,5.038,15782,6.581,16969,8.888,17136,4.648,17137,4.648,17138,5.899,17139,4.648,17140,5.899,17141,5.899,17143,4.849,17145,3.128,17148,3.128,17151,6.154,17152,4.849,17153,6.154,17154,6.154,17155,6.154,17158,3.128,17160,3.128,17162,3.128,17164,3.128,17166,3.128,17181,3.128,17184,4.849,17185,6.496,17199,4.239,17201,6.07,17211,7.56,17220,12.156,17221,3.378,17222,5.118,17223,4.849,17224,4.849,17225,6.496,17226,4.849,17227,3.378,17228,3.378,17229,3.378,17230,3.378,17231,3.378,17232,3.378,17233,3.378,17234,3.378,17235,3.378,17236,3.378,17237,3.378,17238,5.527,17239,3.378,17240,3.378,17241,3.378,17242,5.527,17243,3.378,17244,3.378,17245,3.378,17246,3.378,17247,3.378,17248,3.378,17249,3.378,17250,3.378,17251,3.378,17252,3.378,17253,3.378,17254,3.378,17255,3.378,17256,7.111,17257,3.378,17258,3.378,17259,3.378,17260,3.378,17261,5.525,17262,4.354,17263,8.94,17264,3.378,17265,7.015,17266,3.128,17267,3.378,17268,3.378,17269,3.378,17270,3.378,17271,3.378,17272,3.378,17273,3.378,17274,3.378,17275,3.378,17276,3.378,17277,8.106,17278,3.378,17279,3.378,17280,3.378,17281,3.378,17282,3.378,17283,3.378,17284,3.378,17285,3.378,17286,3.378,17287,3.378,17288,3.378,17289,3.378,17290,3.378,17291,3.378,17292,3.378,17293,3.378,17294,3.378,17295,3.378,17296,3.378,17297,5.527,17298,5.527,17299,3.378,17300,3.378,17301,3.378,17302,3.378,17303,3.378,17304,3.378,17305,3.378,17306,3.378,17307,3.378,17308,3.378,17309,3.378,17310,3.378,17311,3.378,17312,2.841,17313,3.378,17314,3.378,17315,3.378,17316,3.378,17317,3.378,17318,3.378,17319,3.378,17320,3.378]],["title/injectables/OauthProviderLoginFlowService.html",[589,0.929,13666,5.639]],["body/injectables/OauthProviderLoginFlowService.html",[0,0.242,3,0.013,4,0.013,5,0.006,7,0.099,8,1.109,27,0.431,29,0.84,30,0.001,31,0.614,32,0.137,33,0.504,35,1.113,36,2.036,47,0.776,95,0.151,101,0.009,103,0,104,0,122,2.284,135,1.43,142,3.505,148,1.084,153,1.158,187,6.637,195,1.537,228,1.987,277,1.014,317,2.376,433,1.185,579,2.03,589,1.285,591,1.675,622,5.533,652,2.235,657,2.202,688,3.316,711,3.78,1829,2.986,1940,4.586,2007,3.51,2087,3.039,2684,2.278,2762,6.682,2935,3.724,4949,5.147,5106,3.778,6325,5.918,6928,8.005,6947,5.969,8044,8.814,8110,8.691,8199,6.039,10062,8.625,10064,8.625,10083,5.533,10139,6.505,10140,6.505,10941,6.163,11336,5.533,13480,5.388,13666,7.8,13677,9.556,15959,10.702,17321,11.771,17322,7.025,17323,9.607,17324,9.607,17325,7.025,17326,7.025,17327,9.607,17328,7.025,17329,9.607,17330,7.025,17331,6.505,17332,5.907,17333,7.025,17334,7.025,17335,7.025,17336,7.025,17337,7.025,17338,7.025,17339,9.607,17340,7.025]],["title/injectables/OauthProviderLoginFlowUc.html",[589,0.929,17138,5.841]],["body/injectables/OauthProviderLoginFlowUc.html",[0,0.163,3,0.009,4,0.009,5,0.004,7,0.067,8,0.834,27,0.437,29,0.852,30,0.001,31,0.623,32,0.138,33,0.511,34,0.81,35,1.221,36,2.637,47,0.959,95,0.15,101,0.006,103,0,104,0,122,1.826,135,1.625,148,1.1,153,1.443,174,4.924,179,7.949,180,3.083,186,7.949,187,6.512,228,1.913,277,0.684,290,2.315,317,2.785,365,3.909,379,5.366,412,2.096,433,0.891,478,1.326,579,2.529,589,0.966,591,1.129,595,1.788,652,2.679,653,2.982,657,2.729,693,2.157,871,1.734,1312,2.26,1853,1.549,1862,6.167,2007,2.367,2666,2.19,2684,3.418,2762,5.516,3868,2.494,4547,9.328,5042,3.677,5106,2.548,5115,7.431,5416,6.948,6231,7.949,6237,4.85,6391,4.595,8002,3.913,8044,3.547,8058,3.402,8060,4.653,8110,7.831,8198,5.005,8199,2.978,9375,4.156,10088,3.984,10142,3.846,10424,4.924,10500,5.113,10890,8.138,10916,3.402,10941,4.156,11256,8.004,11325,3.731,11343,3.731,13480,3.633,13666,9.378,13677,9.667,13678,4.156,15747,6.287,15782,10.273,17129,4.156,17138,6.073,17147,9.378,17156,3.846,17182,4.156,17194,4.387,17196,7.949,17201,6.554,17202,3.984,17206,4.387,17211,9.379,17223,6.336,17225,8.106,17262,5.689,17341,8.106,17342,8.106,17343,7.222,17344,4.737,17345,4.737,17346,4.737,17347,6.688,17348,4.737,17349,4.737,17350,4.387,17351,4.737,17352,7.222,17353,4.737,17354,4.156,17355,4.156,17356,4.737,17357,7.222,17358,4.737,17359,4.737,17360,7.222,17361,4.737,17362,4.737,17363,4.737,17364,4.737,17365,4.737,17366,4.737,17367,3.731,17368,4.737,17369,4.737,17370,4.737,17371,4.737,17372,4.737,17373,4.737,17374,4.737,17375,4.737]],["title/injectables/OauthProviderLogoutFlowUc.html",[589,0.929,17139,5.841]],["body/injectables/OauthProviderLogoutFlowUc.html",[0,0.318,3,0.018,4,0.018,5,0.008,7,0.13,8,1.325,27,0.452,29,0.88,30,0.001,31,0.643,32,0.143,33,0.528,35,1.068,36,2.647,47,0.886,95,0.143,101,0.012,103,0.001,104,0.001,135,1.204,148,0.913,187,7.044,228,1.673,277,1.331,400,2.745,433,1.137,589,1.534,591,2.198,4547,6.621,5042,4.693,10424,7.824,10890,10.047,10916,6.621,17139,9.649,17147,10.143,17156,7.484,17182,8.087,17201,6.903,17266,11.569,17376,11.474,17377,9.218,17378,11.474,17379,9.218,17380,11.474,17381,9.218]],["title/modules/OauthProviderModule.html",[252,1.835,17135,6.094]],["body/modules/OauthProviderModule.html",[0,0.254,3,0.014,4,0.014,5,0.007,30,0.001,95,0.158,101,0.01,103,0,104,0,187,4.149,252,2.963,254,2.65,255,2.807,256,2.879,257,2.868,258,2.858,259,4.078,260,4.174,265,5.965,269,3.878,270,2.827,271,2.768,276,3.878,277,1.062,279,3.089,1027,2.26,1915,8.942,1933,9.896,1934,5.797,2684,2.386,3858,8.018,3868,3.874,5036,9.663,5041,5.644,5042,3.747,6779,9.663,6786,5.797,10417,10.476,10424,5.018,13659,11.735,13666,11.329,13677,5.975,13678,6.457,15955,11.32,17129,6.457,17135,12.804,17142,6.189,17203,6.815,17331,6.815,17332,6.189,17382,7.36,17383,7.36,17384,7.36,17385,7.36,17386,7.36,17387,7.36]],["title/classes/OauthProviderRequestMapper.html",[0,0.24,17354,6.094]],["body/classes/OauthProviderRequestMapper.html",[0,0.316,2,0.973,3,0.017,4,0.017,5,0.008,7,0.129,8,1.319,27,0.361,29,0.702,30,0.001,31,0.513,32,0.114,33,0.421,35,1.061,47,0.97,59,2.842,77,5.898,95,0.13,101,0.012,103,0.001,104,0.001,148,0.907,169,7.211,170,7.211,174,6.242,179,10.112,183,4.992,184,8.478,185,4.28,187,6.442,467,3.626,5042,5.817,5115,9.195,6807,7.211,9339,8.478,10424,6.242,10500,7.619,10916,6.575,15782,11.113,17202,7.699,17354,10.024,17355,10.024,17388,12.455,17389,9.155,17390,9.155,17391,9.155]],["title/injectables/OauthProviderResponseMapper.html",[589,0.929,17140,5.841]],["body/injectables/OauthProviderResponseMapper.html",[0,0.256,3,0.014,4,0.014,5,0.007,7,0.104,8,1.15,10,2.977,27,0.495,29,0.963,30,0.001,31,0.704,32,0.157,33,0.578,35,1.455,95,0.129,101,0.01,103,0,104,0,148,1.244,153,2.07,164,7.462,171,4.978,174,5.055,187,7.291,277,1.07,589,1.333,591,1.768,829,4.372,2257,7.157,5042,6.583,6276,9.771,6294,10.121,6318,10.121,10221,6.504,10424,5.055,10912,9.013,10916,5.325,10923,9.228,15630,6.504,15747,8.644,17140,8.38,17199,9.231,17201,9.013,17202,6.234,17211,9.48,17261,9.48,17262,10.186,17355,11.345,17392,9.965,17393,9.965,17394,9.965,17395,9.965,17396,9.965,17397,9.965,17398,7.414,17399,9.965,17400,9.965,17401,7.414,17402,9.965,17403,9.965,17404,7.414,17405,7.414,17406,7.414,17407,7.414,17408,7.414]],["title/classes/OauthProviderService.html",[0,0.24,10890,5.089]],["body/classes/OauthProviderService.html",[0,0.169,2,0.519,3,0.009,4,0.009,5,0.005,7,0.069,8,0.854,9,6.768,27,0.529,29,1.022,30,0.001,31,0.747,32,0.166,33,0.613,34,1.526,35,1.555,36,3.02,47,1.034,55,2.251,56,3.491,58,5.824,59,3.317,95,0.056,100,1.705,101,0.006,103,0,104,0,160,8.366,162,9.366,176,2.472,179,8.077,290,1.749,339,2.918,379,6.579,2815,3.569,4547,8.386,6244,3.654,6321,7.027,10890,5.419,10912,8.743,11494,6.681,14163,4.288,17142,11.366,17151,6.488,17152,6.488,17153,6.488,17154,7.827,17155,6.488,17183,6.848,17184,6.488,17186,6.848,17189,6.848,17191,6.848,17195,6.848,17196,9.479,17199,3.748,17201,3.66,17222,6.848,17223,6.488,17224,6.488,17226,6.488,17261,3.849,17262,3.849,17341,6.848,17342,6.848,17347,6.848,17350,6.848,17409,4.887,17410,7.395,17411,9.948,17412,4.887,17413,7.395,17414,4.887,17415,7.395,17416,4.887,17417,7.395,17418,4.887,17419,7.395,17420,4.887,17421,4.887,17422,4.887,17423,7.395,17424,4.887,17425,7.395,17426,4.887,17427,4.887,17428,7.395,17429,4.887,17430,4.887,17431,4.887,17432,4.887,17433,4.887,17434,7.395,17435,4.887,17436,7.395,17437,4.887]],["title/modules/OauthProviderServiceModule.html",[252,1.835,10417,5.639]],["body/modules/OauthProviderServiceModule.html",[0,0.33,3,0.018,4,0.018,5,0.009,30,0.001,95,0.151,101,0.013,103,0.001,104,0.001,162,6.632,252,3.356,254,3.446,255,3.65,256,3.743,257,3.729,258,3.716,259,4.27,260,4.729,269,4.593,270,3.676,271,3.599,276,3.743,277,1.381,685,5.59,1054,5.395,1470,5.351,3872,7.665,5042,4.872,9905,7.339,10417,11.037,10890,10.37,17142,8.047,17438,9.57,17439,9.57,17440,9.57,17441,9.57,17442,11.743,17443,9.57]],["title/injectables/OauthProviderUc.html",[589,0.929,17141,5.841]],["body/injectables/OauthProviderUc.html",[0,0.292,3,0.016,4,0.016,5,0.008,7,0.119,8,1.255,26,2.813,27,0.473,29,0.921,30,0.001,31,0.673,32,0.15,33,0.552,35,1.259,36,2.928,39,3.007,47,0.851,95,0.145,99,1.734,101,0.011,103,0.001,104,0.001,135,1.419,148,1.076,187,7.144,228,1.535,277,1.221,400,2.519,433,1.044,589,1.453,591,2.017,5042,4.307,6325,6.371,10424,7.411,10890,9.828,10916,6.077,17141,9.14,17147,10.288,17156,6.869,17224,9.535,17226,9.535,17261,6.664,17312,9.14,17444,8.461,17445,8.461,17446,10.869,17447,8.461,17448,10.869,17449,8.461,17450,8.461,17451,8.461]],["title/controllers/OauthSSOController.html",[314,2.658,16965,6.094]],["body/controllers/OauthSSOController.html",[0,0.246,3,0.014,4,0.014,5,0.007,7,0.1,8,1.12,27,0.382,29,0.744,30,0.001,31,0.544,32,0.121,33,0.446,35,1.124,36,2.509,47,0.943,95,0.154,100,2.486,101,0.009,103,0,104,0,125,1.699,135,1.267,148,0.961,153,1.175,159,0.732,176,3.604,190,1.741,193,5.144,202,1.636,228,1.76,274,2.978,277,1.028,290,1.684,314,2.727,316,3.437,317,2.773,325,5.88,349,6.028,365,5.288,388,3.055,392,3.724,395,3.832,398,5.256,400,2.121,579,2.059,652,1.455,1027,2.188,1470,3.984,1471,5.22,1475,4.478,1585,5.896,1595,5.784,1613,5.991,1886,5.784,1983,6.513,2449,2.978,2450,4.554,3017,3.363,3221,3.675,3394,3.26,4046,4.286,7529,4.286,7745,4.651,8058,9.559,11943,9.076,13388,8.157,13412,5.335,16965,8.51,17452,11.029,17453,7.125,17454,11.029,17455,11.029,17456,7.125,17457,10.388,17458,7.125,17459,7.125,17460,7.125,17461,7.125,17462,7.125,17463,7.125,17464,7.125,17465,7.125,17466,7.125,17467,7.125,17468,7.125,17469,7.125,17470,9.7,17471,9.7,17472,7.125,17473,7.125,17474,7.125,17475,7.125,17476,7.125,17477,7.125,17478,7.125,17479,7.125,17480,7.125]],["title/classes/OauthSsoErrorLoggableException.html",[0,0.24,1463,5.201]],["body/classes/OauthSsoErrorLoggableException.html",[0,0.328,2,1.012,3,0.018,4,0.018,5,0.009,7,0.134,8,1.352,27,0.375,30,0.001,32,0.119,35,1.104,95,0.134,101,0.012,103,0.001,104,0.001,148,0.943,231,2.032,277,1.375,1027,2.925,1080,4.036,1115,3.645,1237,3.451,1312,6.049,1422,5.56,1423,5.984,1426,5.935,1462,5.24,1463,8.768,1468,5.984,1469,6.296,1471,8.579,1477,4.945,1478,5.16,4218,7.305,10281,6.395,17060,10.842,17481,9.524]],["title/interfaces/OauthTokenResponse.html",[159,0.713,16843,5.639]],["body/interfaces/OauthTokenResponse.html",[3,0.019,4,0.019,5,0.009,7,0.144,30,0.001,32,0.163,47,1.022,101,0.013,103,0.001,104,0.001,112,0.957,159,1.053,161,2.435,177,11.896,178,11.009,16799,9.496,16843,9.94,17168,12.557,17482,9.496]],["title/interfaces/ObjectKeysRecursive.html",[159,0.713,7203,5.201]],["body/interfaces/ObjectKeysRecursive.html",[3,0.016,4,0.016,5,0.01,7,0.117,30,0.001,32,0.157,47,1.042,55,2.615,95,0.095,101,0.018,103,0.001,104,0.001,112,0.843,125,3.188,159,1.373,161,1.984,339,3.162,414,6.605,1302,6.62,1304,4.751,1444,4.634,2232,5.079,5202,6.263,6528,4.751,7185,6.256,7186,6.256,7187,6.581,7188,6.408,7189,6.408,7190,5.252,7191,6.256,7192,5.697,7193,5.697,7194,5.697,7195,5.697,7196,5.891,7197,5.191,7198,5.079,7199,5.079,7200,6.122,7201,10.013,7202,10.013,7203,8.073]],["title/interfaces/OcsResponse.html",[159,0.713,12972,5.201]],["body/interfaces/OcsResponse.html",[3,0.018,4,0.018,5,0.009,7,0.13,30,0.001,32,0.156,34,1.584,47,0.973,55,2.507,101,0.018,103,0.001,104,0.001,112,0.9,122,1.932,159,1.43,161,2.199,172,4.891,339,2.716,402,3.314,532,3.436,1076,5.892,1081,6.314,1115,3.544,3382,4.156,4964,6.314,7397,5.36,12969,6.935,12970,7.102,12971,6.935,12972,8.617,12973,10.044,12974,8.536,12975,7.102,12976,7.102,12977,6.935,12978,7.102,12979,6.785,12980,6.935,12981,7.102,12982,6.935]],["title/classes/OidcConfigDto.html",[0,0.24,14469,5.471]],["body/classes/OidcConfigDto.html",[0,0.278,2,0.856,3,0.015,4,0.015,5,0.007,7,0.113,27,0.55,29,0.618,30,0.001,31,0.451,32,0.174,33,0.371,47,1.026,101,0.011,103,0.001,104,0.001,112,0.823,433,0.994,2160,7.761,2185,6.176,6325,5.896,8206,7.055,13649,5.491,14469,10.426,14904,5.901,14906,5.901,14923,7.875,14962,6.343,14964,6.343,14967,6.343,14969,6.343,14971,8.593,14972,8.593,14973,8.593,14974,8.782,17032,7.458,17034,7.458,17041,7.458,17043,7.458,17044,7.458,17483,14.06,17484,10.86,17485,10.527,17486,8.053,17487,8.053,17488,8.053,17489,8.053,17490,8.053,17491,8.053,17492,8.053,17493,8.053,17494,8.053,17495,8.053,17496,8.053,17497,8.053,17498,8.053,17499,8.053,17500,8.053,17501,8.053]],["title/classes/OidcConfigEntity.html",[0,0.24,14901,5.201]],["body/classes/OidcConfigEntity.html",[0,0.323,2,0.464,3,0.008,4,0.008,5,0.004,7,0.061,26,1.397,27,0.469,29,0.334,30,0.001,31,0.244,32,0.155,33,0.201,47,1.036,83,2.42,95,0.107,96,1.155,101,0.013,103,0,104,0,110,2.874,112,0.53,122,0.91,134,1.541,157,1.004,159,0.448,185,1.499,190,2.081,195,2.986,196,4.515,197,1.213,205,1.697,223,4.493,224,1.273,225,2.603,226,1.976,228,0.792,229,1.725,231,0.757,232,1.182,233,1.361,331,1.93,433,0.538,561,1.957,620,2.71,628,2.597,886,2.615,997,2.742,1454,2.68,1561,3.075,1593,2.68,2108,1.904,2160,5.501,2185,3.345,2698,3.45,4623,3.618,4661,4.868,4695,2.651,4885,2.81,5042,3.45,5178,2.381,5183,2.502,6244,1.786,6325,4.712,6642,3.473,6662,2.81,6663,3.022,7127,3.672,8064,2.742,8150,2.929,8206,5.639,10340,2.887,11395,2.887,13411,6.496,13472,4.26,13485,3.266,13486,3.266,13487,3.196,13488,3.266,13532,2.929,13535,2.847,13537,2.929,13540,2.929,13543,2.68,13547,2.887,13649,4.621,13811,3.345,14205,4.164,14218,5.355,14219,2.847,14220,2.847,14471,5.97,14477,4.366,14588,3.266,14868,4.551,14872,3.435,14874,4.966,14876,7.019,14877,3.541,14878,3.541,14879,3.541,14880,3.541,14881,3.541,14882,3.541,14883,3.541,14884,3.541,14885,3.541,14886,3.541,14900,5.198,14901,8.397,14902,4.551,14903,3.541,14904,4.966,14905,3.345,14906,4.966,14907,3.345,14908,3.266,14909,3.266,14910,3.266,14911,3.345,14912,3.266,14913,3.266,14914,3.266,14915,3.345,14916,3.345,14917,3.266,14918,3.345,14919,3.266,14920,3.266,14921,3.266,14922,3.345,14923,6.294,14924,3.435,14925,3.133,14926,3.541,14927,3.541,14928,3.541,14929,3.541,14930,3.541,14931,3.541,14932,3.541,14933,3.541,14934,3.541,14935,3.345,14936,3.541,14937,3.541,14938,3.541,14939,3.541,14940,3.541,14941,3.541,14942,3.435,14943,3.541,14944,3.541,14945,3.196,14946,3.541,14947,3.541,14948,3.541,14949,3.541,14950,3.541,14951,3.541,14952,3.541,14953,3.541,14954,3.541,14955,3.541,14956,3.541,14957,3.541,14958,3.541,14959,5.502,14960,3.345,14961,3.541,14962,3.435,14963,3.345,14964,3.435,14965,3.345,14966,3.345,14967,3.435,14968,3.345,14969,3.435,14970,3.345,14971,6.09,14972,6.09,14973,6.09,14974,6.224,14975,3.345,14976,3.541,14977,3.345,14978,3.541,14979,3.541,14980,3.541,14981,3.541,14982,3.541,14983,3.345,14984,3.435,14985,3.345,14986,3.435,17502,4.362,17503,4.362,17504,4.362,17505,4.362,17506,4.362,17507,4.362,17508,4.362,17509,4.362,17510,4.362]],["title/classes/OidcContextResponse.html",[0,0.24,6303,5.841]],["body/classes/OidcContextResponse.html",[0,0.3,2,0.925,3,0.017,4,0.017,5,0.008,7,0.122,27,0.521,30,0.001,32,0.165,33,0.658,47,0.985,95,0.126,101,0.011,103,0.001,104,0.001,112,0.865,185,3.802,187,7.618,190,2.372,202,1.998,277,1.256,296,3.693,6303,9.303,6314,11.854,6729,8.055,11242,8.737,17511,11.266,17512,11.266,17513,11.266,17514,11.266,17515,8.699,17516,8.699,17517,8.699,17518,8.699,17519,8.699,17520,8.699]],["title/classes/OidcIdentityProviderMapper.html",[0,0.24,14434,5.841]],["body/classes/OidcIdentityProviderMapper.html",[0,0.287,2,0.886,3,0.016,4,0.016,5,0.008,7,0.117,8,1.243,27,0.424,29,0.826,30,0.001,31,0.604,32,0.134,33,0.495,35,0.966,47,0.845,95,0.153,101,0.011,103,0.001,104,0.001,148,0.826,180,3.559,195,2.355,228,1.513,277,1.203,433,1.029,652,1.702,688,3.935,711,3.542,1268,5.123,2087,3.606,2160,5.518,4855,6.966,4856,7.409,5171,8.929,5172,9.234,5174,5.878,6325,4.192,6642,4.272,8206,5.016,12349,5.123,14355,6.243,14434,9.054,14469,9.926,14471,5.988,14477,5.372,14485,11.043,14500,7.721,14502,7.315,14506,11.67,14511,6.769,14531,7.721,14588,8.062,14599,7.721,14960,6.395,14963,6.395,14965,6.395,14966,6.395,14968,6.395,14970,6.395,14971,6.109,14972,6.109,14973,6.109,16997,7.721,17521,11.925,17522,8.338,17523,10.767,17524,8.338,17525,8.338,17526,10.767,17527,8.338,17528,8.338,17529,8.338,17530,8.338,17531,8.338,17532,8.338,17533,8.338,17534,8.338,17535,8.338]],["title/injectables/OidcMockProvisioningStrategy.html",[589,0.929,17536,5.841]],["body/injectables/OidcMockProvisioningStrategy.html",[0,0.264,3,0.015,4,0.015,5,0.007,7,0.108,8,1.177,27,0.451,29,0.782,30,0.001,31,0.571,32,0.127,33,0.469,35,1.327,36,2.585,47,0.544,95,0.149,100,2.676,101,0.01,103,0,104,0,135,1.495,142,2.798,148,1.134,153,1.887,173,6.746,195,1.678,231,1.769,277,1.107,317,2.484,339,2.249,436,3.4,579,2.216,589,1.363,591,1.828,704,3.904,1476,6.263,1548,5.743,1585,4.662,1610,5.619,1719,7.468,2357,4.361,3394,3.509,5239,6.407,7912,6.449,9972,5.229,11141,8.389,12647,9.61,13650,6.449,14205,8.023,14207,8.028,14209,8.275,14210,9.378,14214,8.275,14215,9.136,14218,7.376,14219,5.006,14220,5.006,14221,7.102,14222,7.817,14223,6.728,14227,7.102,14239,8.275,14243,6.449,14244,6.728,14245,7.102,16851,6.449,17536,8.571,17537,7.669,17538,7.669,17539,7.669,17540,7.669,17541,6.728,17542,7.669,17543,7.102,17544,10.193,17545,7.669,17546,7.669]],["title/injectables/OidcProvisioningService.html",[589,0.929,17547,5.639]],["body/injectables/OidcProvisioningService.html",[0,0.106,3,0.006,4,0.006,5,0.003,7,0.043,8,0.591,26,2.514,27,0.401,29,0.781,30,0.001,31,0.627,32,0.132,33,0.469,34,0.875,35,1.127,36,2.471,39,1.416,47,0.827,48,6.64,49,1.158,51,1.477,59,0.955,64,4.032,95,0.142,99,0.631,100,1.074,101,0.004,103,0,104,0,125,2.187,135,1.694,142,3.977,148,1.047,153,1.886,195,1.437,197,0.856,208,1.935,228,1.848,277,0.444,290,2.299,317,2.731,433,0.632,478,0.862,574,1.735,578,1.609,579,1.899,589,0.685,591,0.734,614,0.95,652,2.519,657,2.932,666,7.458,700,1.485,701,1.485,702,1.519,703,2.639,704,4.328,734,2.148,756,1.217,812,2.009,980,2.839,1027,0.945,1065,5.615,1422,1.26,1472,1.721,1539,2.499,1712,2.305,1718,2.255,1829,1.308,1853,1.006,1882,1.174,1940,2.009,2065,5.068,2067,4.553,2069,3.048,2070,5.41,2072,2.588,2449,4.064,3343,2.211,3382,2.297,3400,3.367,3433,2.067,3434,2.009,3868,1.62,4184,2.133,4479,1.912,4557,3.211,4683,4.412,4830,2.067,4831,2.099,4994,5.5,5001,2.36,5025,2.211,5097,7.458,5111,2.305,5183,1.765,5416,5.519,5435,2.499,6391,3.256,7388,3.547,7396,2.067,7445,2.211,8002,5.269,8008,5.221,8011,2.499,9949,8.581,9952,4.491,9957,6.696,9962,2.588,9972,4.48,9979,7.988,9981,2.009,9997,4.48,10342,3.75,11141,5.611,11142,2.36,11255,2.424,11384,8.177,11393,2.588,11394,2.36,11395,4.349,12422,3.437,12632,5.04,12634,8.774,12650,2.588,12651,2.588,12784,8.177,12832,2.7,13048,2.305,14239,2.499,14241,8.177,14785,2.588,14945,3.75,15046,4.156,15047,2.85,15143,2.211,15191,8.177,15832,2.588,16308,2.7,16856,6.085,17095,5.765,17547,4.156,17548,10.57,17549,3.078,17550,5.119,17551,5.119,17552,5.119,17553,6.571,17554,5.119,17555,5.119,17556,6.571,17557,3.078,17558,5.119,17559,3.078,17560,7.091,17561,5.119,17562,3.078,17563,5.119,17564,5.119,17565,3.078,17566,3.078,17567,3.078,17568,5.119,17569,3.078,17570,5.119,17571,3.078,17572,3.078,17573,3.078,17574,3.078,17575,3.078,17576,2.7,17577,2.7,17578,7.872,17579,5.119,17580,6.571,17581,3.078,17582,5.119,17583,5.119,17584,3.078,17585,3.078,17586,3.078,17587,3.078,17588,3.078,17589,2.7,17590,5.119,17591,2.7,17592,5.119,17593,5.119,17594,7.657,17595,2.85,17596,3.078,17597,2.85,17598,3.078,17599,6.571,17600,5.119,17601,3.078,17602,5.119,17603,3.078,17604,5.119,17605,3.078,17606,2.85,17607,3.078,17608,3.078,17609,3.078,17610,5.119,17611,3.078,17612,5.119,17613,4.74,17614,3.078,17615,3.078,17616,3.078,17617,3.078,17618,3.078,17619,5.119,17620,3.078,17621,5.119,17622,3.078,17623,6.571,17624,3.078,17625,3.078,17626,3.078,17627,3.078,17628,3.078,17629,3.078,17630,3.078,17631,3.078,17632,4.74,17633,3.078,17634,5.119,17635,3.078,17636,3.078,17637,5.119,17638,3.078,17639,3.078,17640,3.078,17641,5.119,17642,3.078,17643,3.078,17644,3.078,17645,3.078,17646,3.078,17647,5.119,17648,3.078,17649,3.078,17650,3.078,17651,3.078,17652,3.078,17653,3.078,17654,3.078,17655,3.078,17656,5.119,17657,3.078,17658,3.078,17659,3.078,17660,3.078,17661,3.078,17662,3.078]],["title/injectables/OidcProvisioningStrategy.html",[589,0.929,17663,6.094]],["body/injectables/OidcProvisioningStrategy.html",[0,0.258,3,0.014,4,0.014,5,0.007,7,0.105,8,1.156,9,5.849,27,0.475,29,0.866,30,0.001,31,0.633,32,0.141,33,0.52,35,1.309,36,2.394,95,0.148,100,2.606,101,0.01,103,0,104,0,125,1.781,135,0.975,148,0.74,153,1.231,228,1.356,231,1.738,233,2.331,277,1.078,290,1.766,317,2.452,339,2.191,433,0.922,436,3.356,589,1.339,591,1.781,657,2.767,703,3.109,980,4.142,1476,4.589,1853,2.442,2070,5.906,2218,3.336,2219,3.755,2220,3.624,2357,4.247,2490,5.176,4228,4.363,5239,6.295,8002,5.426,9972,5.093,12647,8.899,14205,7.963,14207,7.888,14209,8.131,14210,8.67,14214,6.064,14215,7.499,14218,4.812,14222,7.681,14223,6.553,14252,6.553,16305,6.917,16851,8.422,17541,6.553,17547,10.521,17560,6.917,17663,8.786,17664,7.469,17665,7.469,17666,7.469,17667,7.469,17668,7.469,17669,7.469,17670,6.553,17671,9.274,17672,7.469,17673,12.072,17674,7.469,17675,7.469,17676,6.917,17677,7.469,17678,10.015,17679,7.469,17680,7.469]],["title/interfaces/Options.html",[159,0.713,540,2.439]],["body/interfaces/Options.html",[0,0.227,3,0.012,4,0.012,5,0.006,7,0.092,30,0.001,32,0.132,33,0.589,36,2.241,47,0.75,95,0.121,101,0.015,103,0,104,0,112,0.718,122,2.601,125,2.521,135,1.705,148,1.047,157,3.004,159,0.675,161,1.561,194,4.476,195,1.439,197,3.182,270,2.526,317,2.295,339,1.929,400,1.958,540,4.493,560,4.866,652,1.343,657,2.623,1212,4.237,1476,7.662,1821,6.05,1927,6.749,3083,3.956,3559,4.041,3576,5.84,3768,5.769,3771,5.992,3774,5.043,3780,8.766,3781,7.032,3782,3.842,3784,5.18,3785,6.075,4672,6.884,4878,8.385,4907,7.455,5188,8.329,5190,4.557,5202,3.155,5206,8.053,5217,10.08,5268,7.719,5315,7.918,5317,5.339,6336,5.339,6338,5.769,8712,5.53,8713,6.09,8717,6.09,8719,6.09,8721,8.329,8722,5.043,8724,5.769,8725,5.53,8726,11.148,8727,8.5,8728,5.769,8729,8.5,8730,8.5,8731,6.09,8732,6.09,8733,6.09,8734,9.623,8735,8.5,8736,9.792,8737,6.09,8738,6.09,8739,5.769]],["title/classes/Page.html",[0,0.24,869,3.409]],["body/classes/Page.html",[0,0.338,2,1.042,3,0.019,4,0.019,5,0.009,7,0.138,27,0.506,29,0.752,30,0.001,31,0.55,32,0.16,33,0.451,55,2.741,101,0.013,103,0.001,104,0.001,112,0.932,339,4.015,433,1.21,532,5.078,863,7.751,864,6.836,869,5.849,881,5.352,17681,9.803,17682,11.917,17683,9.803,17684,9.078]],["title/classes/PageContentDto.html",[0,0.24,17685,6.432]],["body/classes/PageContentDto.html",[0,0.333,2,1.027,3,0.018,4,0.018,5,0.009,7,0.136,27,0.503,29,0.741,30,0.001,31,0.542,32,0.159,33,0.445,47,0.942,101,0.013,103,0.001,104,0.001,112,0.923,180,5.674,232,3.2,433,1.192,435,3.281,4938,6.082,17685,12.624,17686,13.291,17687,9.662,17688,12.758,17689,12.758,17690,11.812,17691,9.662,17692,9.662,17693,9.662,17694,9.662,17695,9.662]],["title/interfaces/Pagination.html",[159,0.713,7525,4.178]],["body/interfaces/Pagination.html",[3,0.019,4,0.019,5,0.009,7,0.137,30,0.001,32,0.16,33,0.614,55,2.784,56,6.294,70,6.789,101,0.017,103,0.001,104,0.001,112,0.929,127,4.875,159,1.22,161,2.316,770,6.132,886,3.069,2231,5.547,3945,9.992,5308,9.646,7525,8.022,7811,5.994,10742,9.359,13566,9.034,13567,9.034]],["title/classes/PaginationParams.html",[0,0.24,883,4.897]],["body/classes/PaginationParams.html",[0,0.387,2,0.945,3,0.017,4,0.017,5,0.008,7,0.125,27,0.442,30,0.001,32,0.14,33,0.594,55,2.721,56,6.281,70,6.257,95,0.128,101,0.012,103,0.001,104,0.001,112,0.877,129,3.357,130,3.068,145,4.19,157,2.582,190,2.013,200,2.724,201,4.772,202,2.042,756,4.437,758,8.944,869,5.506,875,7.424,883,7.909,889,8.234,890,7.774,891,9.107,892,8.603,893,10.388,895,8.234,896,6.272,897,9.433,3760,6.162,3765,6.386,3816,7.219,6274,9.68,9044,8.234,17696,8.892,17697,8.892,17698,8.892,17699,8.892]],["title/classes/PaginationResponse.html",[0,0.24,862,4.316]],["body/classes/PaginationResponse.html",[0,0.27,2,0.831,3,0.015,4,0.015,5,0.007,7,0.11,9,5.712,27,0.503,29,0.6,30,0.001,31,0.438,32,0.174,33,0.588,55,2.912,56,6.319,59,3.205,70,6.816,95,0.089,101,0.01,103,0,104,0,112,0.807,157,2.829,190,2.206,202,1.796,296,3.339,339,3.39,433,0.965,532,3.83,862,6.415,863,7.367,868,5.898,869,6.034,870,5.636,871,3.779,873,7.821,874,7.669,875,6.832,876,5.36,5070,7.154,17684,7.24,17700,7.818,17701,10.324,17702,7.818,17703,7.818,17704,7.818,17705,7.818,17706,7.818,17707,7.818,17708,7.818]],["title/classes/ParameterTypeNotImplementedLoggableException.html",[0,0.24,2036,6.094]],["body/classes/ParameterTypeNotImplementedLoggableException.html",[0,0.305,2,0.939,3,0.017,4,0.017,5,0.008,7,0.124,8,1.29,27,0.44,29,0.677,30,0.001,31,0.495,32,0.169,33,0.406,35,1.024,47,0.869,95,0.128,101,0.012,103,0.001,104,0.001,148,0.875,228,1.603,231,1.939,233,2.756,277,1.275,339,2.591,400,2.63,417,4.939,433,1.09,614,2.727,1027,2.713,1115,3.381,1237,3.293,1422,5.018,1423,5.783,1426,5.778,1462,4.86,1465,6.121,1468,5.783,1469,6.085,1477,4.586,1478,4.786,1756,7.028,2036,9.8,2684,2.864,3519,7.795,9993,6.614,14270,7.428,17709,12.252,17710,12.252,17711,8.833,17712,12.252,17713,8.833,17714,8.833,17715,8.833]],["title/interfaces/ParentInfo.html",[159,0.713,11744,5.471]],["body/interfaces/ParentInfo.html",[0,0.257,3,0.007,4,0.007,5,0.005,7,0.148,26,2.648,30,0.001,31,0.561,32,0.107,34,1.017,39,1.022,47,0.869,49,3.522,55,1.19,83,2.913,95,0.129,96,1.574,97,1.513,99,0.757,101,0.014,103,0,104,0,112,0.583,122,2.194,125,2.508,135,1.601,141,2.549,145,1.38,148,1.325,153,1.952,159,0.766,161,0.877,185,2.043,195,1.869,196,2.467,197,1.027,205,1.912,223,3.805,224,1.078,225,2.283,229,1.462,231,0.641,232,1.611,233,1.153,277,0.533,290,0.874,402,2.669,412,1.635,414,3.007,430,1.519,431,1.584,478,1.035,540,2.618,556,1.869,569,2.66,579,1.068,615,2.246,620,4.634,703,1.845,711,3.847,756,1.462,794,2.708,802,2.446,870,4.666,886,3.309,1078,1.62,1080,2.571,1084,2.52,1154,4.053,1309,4.27,1444,4.739,1829,2.527,1924,2.561,1936,1.735,2032,1.404,2126,2.159,2127,4.053,2183,3.367,2533,2.101,2698,3.026,2782,2.017,2924,3.95,2934,2.139,2940,1.691,3140,1.666,3382,1.658,3431,1.973,3633,1.869,3647,2.654,3901,5.469,4009,2.159,4185,2.767,4557,4.056,4567,2.834,4569,2.351,4623,3.174,4633,1.658,4634,2.179,5427,2.12,5744,2.101,5756,2.201,6621,4.136,6622,5.469,6624,1.987,6625,2.654,6626,2.654,6627,4.053,6628,2.654,6629,4.356,6630,2.767,6631,2.351,6632,2.561,6634,2.654,6636,2.767,7090,5.827,7091,4.559,7092,4.559,7093,4.559,7094,5.641,7095,2.412,7100,4.053,7102,1.754,7121,4.533,7122,4.27,7129,2.381,7137,2.52,7140,5.464,7436,2.271,7653,2.654,7654,4.119,9126,2.605,11416,2.767,11485,2.708,11519,2.605,11532,2.834,11558,4.559,11561,2.708,11566,2.834,11707,3,11708,2.911,11709,4.682,11710,3,11712,6.938,11724,6.399,11727,2.911,11728,2.708,11729,4.826,11730,4.826,11731,4.826,11732,4.826,11733,4.826,11734,4.826,11735,4.682,11736,5.827,11737,4.826,11738,2.834,11739,4.451,11740,2.767,11741,4.559,11742,2.834,11743,4.559,11744,6.731,11745,2.654,11746,2.911,11747,2.708,11748,2.708,11749,3,11750,3,11751,2.767,11752,2.911,11753,3,11754,3,11755,3,11756,3,11757,3,11758,3,11759,3,11760,3,11761,8.122,11762,3,11763,3,11764,4.826,11765,3,11766,3,11767,4.826,11768,4.826,11769,4.826,11770,3,11771,3,11772,3,11773,3,11774,3,11775,3,11776,3,11777,4.826,11778,6.055,11779,2.911,11780,3,11781,4.826,11782,2.911,11783,3,11784,4.826,11785,3,11786,6.055,11787,6.055,11788,2.911,11789,5.874,11790,3,11791,3,11792,3,11793,3,11794,3,11795,3,11796,3,11797,2.911,11798,3,11799,3,11800,3,11801,3,11802,3,11803,3,11804,3,11805,3,11806,3]],["title/classes/PatchGroupParams.html",[0,0.24,8299,6.094]],["body/classes/PatchGroupParams.html",[0,0.403,2,1.01,3,0.018,4,0.018,5,0.009,7,0.134,27,0.374,30,0.001,31,0.655,32,0.118,47,0.829,95,0.145,100,4.08,101,0.012,103,0.001,104,0.001,112,0.914,155,4.303,157,2.691,190,1.705,200,2.911,202,2.182,296,3.054,298,4.11,299,4.556,1065,6.485,2048,5.369,7740,9.157,7977,7.714,7979,7.972,8299,10.257,17716,10.257,17717,9.502,17718,10.257,17719,9.502]],["title/classes/PatchMyAccountParams.html",[0,0.24,383,6.094]],["body/classes/PatchMyAccountParams.html",[0,0.329,2,0.738,3,0.013,4,0.013,5,0.006,7,0.098,27,0.483,30,0.001,31,0.656,32,0.153,33,0.609,47,0.963,87,6.17,95,0.134,101,0.009,103,0,104,0,112,0.745,153,2.181,157,2.825,190,2.203,194,5.311,195,2.97,196,4.491,197,3.775,200,2.126,202,1.594,290,3.21,296,3.312,297,7.735,298,3.002,299,4.783,300,4.698,301,4.471,302,8.823,303,5.836,304,3.426,305,5.836,308,5.085,383,8.359,413,5.791,700,5.249,701,5.249,702,6.059,1197,5.162,3218,5.515,5070,9.409,6252,7.505,7905,8.359,17720,11.742,17721,6.94,17722,10.88,17723,10.88,17724,6.94,17725,8.012,17726,6.94,17727,6.94,17728,6.94,17729,6.94,17730,6.94,17731,8.359,17732,6.94]],["title/classes/PatchMyPasswordParams.html",[0,0.24,354,6.094]],["body/classes/PatchMyPasswordParams.html",[0,0.381,2,0.925,3,0.017,4,0.017,5,0.008,7,0.122,27,0.436,30,0.001,32,0.138,47,0.908,87,7.107,95,0.146,101,0.011,103,0.001,104,0.001,112,0.865,153,2.111,157,2.546,190,1.985,194,5.008,195,2.801,196,4.235,197,3.559,200,2.665,202,1.998,290,3.027,296,3.178,297,9.877,298,3.763,299,4.741,301,5.604,303,7.315,304,4.295,305,9.303,354,9.706,415,6.291,6344,7.667,17720,11.266,17733,8.699,17734,12.166,17735,11.063,17736,11.063,17737,8.699,17738,8.699]],["title/classes/PatchOrderParams.html",[0,0.24,17739,6.094]],["body/classes/PatchOrderParams.html",[0,0.402,2,1.005,3,0.018,4,0.018,5,0.009,7,0.133,27,0.372,30,0.001,32,0.118,47,0.826,95,0.133,100,4.068,101,0.012,103,0.001,104,0.001,112,0.911,153,1.922,157,2.683,190,1.697,195,2.069,200,2.897,202,2.172,296,3.045,615,7.086,855,4.718,896,7.576,1835,5.973,2050,4.913,2231,7.502,2543,5.086,4204,8.078,4409,7.678,6273,6.747,17716,10.227,17718,10.227,17739,10.227,17740,9.457,17741,9.457,17742,10.795,17743,9.457]],["title/classes/PatchVisibilityParams.html",[0,0.24,17744,6.094]],["body/classes/PatchVisibilityParams.html",[0,0.407,2,1.025,3,0.018,4,0.018,5,0.009,7,0.136,27,0.38,30,0.001,32,0.12,95,0.135,100,4.116,101,0.013,103,0.001,104,0.001,112,0.922,122,2.46,157,2.714,190,1.73,195,2.58,197,3.279,199,6.541,200,2.953,202,2.214,296,3.081,2048,5.396,2050,4.971,4434,11.951,5565,7.504,5566,7.699,7986,8.456,17716,10.347,17718,10.347,17744,10.347,17745,9.639,17746,9.639]],["title/classes/Path.html",[0,0.24,414,3.514]],["body/classes/Path.html",[0,0.314,2,0.439,3,0.008,4,0.008,5,0.004,7,0.058,27,0.256,29,0.498,30,0.001,31,0.45,32,0.081,33,0.19,47,0.944,55,2.683,72,1.891,83,1.892,95,0.104,96,1.094,101,0.012,103,0,104,0,112,0.508,122,2.192,131,3.308,134,2.296,141,4.505,145,3.924,148,0.901,155,1.311,157,0.951,190,0.742,194,1.616,195,2.913,196,4.375,197,1.149,205,1.327,208,2.598,223,4.362,224,1.206,225,2.496,229,1.635,231,0.717,233,1.29,289,2.392,301,2.662,374,3.937,414,5.924,433,0.51,467,1.203,478,1.157,567,1.571,711,1.93,756,4.347,870,4.384,1087,1.91,1195,3.964,1199,6.981,1200,7.59,1201,7.59,1215,5.476,1224,4.667,1237,2.917,1372,2.175,1928,4.761,2163,3.712,2183,1.628,2392,3.062,2564,4.084,2631,4.43,2894,1.972,2897,6.612,2976,4.503,3037,1.983,3382,1.855,3390,3.832,3894,3.255,3940,4.3,5108,4.242,5202,3.852,5213,3.993,5374,5.118,5983,4.667,6134,3.832,6159,4.134,6530,3.17,6531,3.17,6532,3.095,6533,3.17,6534,2.698,6540,3.095,6541,3.17,6553,6.158,6556,2.914,6557,3.17,6573,3.695,6574,3.028,6576,3.17,6584,2.914,6586,3.17,6588,3.17,6590,3.17,6592,3.17,6598,3.17,6949,6.013,7129,2.662,7352,2.968,7459,2.461,9485,2.914,11573,6.519,11574,3.475,11575,5.118,11576,6.158,11577,3.355,11581,5.464,11582,5.464,11583,6.752,11584,5.464,11585,7.39,11586,3.475,11587,5.464,11588,5.464,11589,5.464,11590,3.255,11591,3.475,11592,3.17,11593,5.275,11594,6.752,11595,3.475,11596,6.752,11597,6.65,11598,5.275,11599,4.983,11600,5.464,11601,5.118,11602,5.464,11603,4.667,11604,5.464,11605,5.464,11606,5.275,11607,5.464,11608,5.464,11609,3.255,11610,3.475,11611,3.255,11612,2.818,11613,3.475,11614,3.475,11615,3.475,11616,3.475,11617,3.475,11618,3.475,11619,3.475,11620,3.475,11621,3.475,11622,3.475,11623,3.475,11624,3.475,11625,3.475,11626,3.475,11627,3.475,11628,3.475,11629,3.475,11630,3.475,11631,3.475,11632,3.475,11633,3.475,11634,3.475,11635,3.475,11636,3.475,11637,3.475,11638,3.475,11639,3.475,11640,3.475,11641,3.475,11642,3.475,11643,3.475,11644,3.475,11645,3.475,11646,3.475,11647,3.475,11648,3.475,11649,3.475,11650,3.475,11651,3.475,11652,3.475,11653,3.475,11654,3.475,11655,3.475,11656,3.475,11657,3.475,11658,3.475,11659,3.475,11660,3.475,11661,3.475,11662,3.475,11663,3.475,11664,3.475,11665,3.475,11666,3.475,11667,3.475,11668,3.475,11669,3.475,11670,3.475,11671,3.475,11672,3.475,11673,3.475,17747,6.498]],["title/injectables/PermissionService.html",[267,5.841,589,0.929]],["body/injectables/PermissionService.html",[0,0.239,3,0.013,4,0.013,5,0.006,7,0.098,8,1.256,27,0.429,29,0.834,30,0.001,31,0.61,32,0.136,33,0.501,35,1.357,47,0.938,95,0.124,101,0.009,102,5.05,103,0,104,0,122,1.987,135,1.529,145,4.064,148,1.16,153,1.571,197,1.929,267,9.149,277,1.002,290,3.311,331,5.61,388,2.976,407,6.602,409,6.061,412,4.216,579,2.005,589,1.274,591,1.655,610,2.735,641,5.418,652,2.221,874,4.054,1223,7.134,1778,6.839,1822,6.426,1824,6.426,1825,6.426,1826,6.654,1829,2.95,1831,6.306,1836,6.426,1837,6.426,1862,5.087,1938,3.732,2532,5.674,3400,6.001,4410,6.416,5104,6.496,5217,7.505,6259,6.602,11216,8.359,12024,8.823,13015,8.823,17748,6.94,17749,9.528,17750,7.735,17751,9.528,17752,9.528,17753,6.94,17754,9.528,17755,6.94,17756,9.528,17757,8.823,17758,9.528,17759,6.94,17760,6.94,17761,6.94,17762,6.94,17763,6.94,17764,6.94,17765,5.634,17766,9.528,17767,6.94,17768,9.528,17769,6.94,17770,5.634,17771,6.94]],["title/interfaces/PlainTextMailContent.html",[159,0.713,1450,5.201]],["body/interfaces/PlainTextMailContent.html",[3,0.017,4,0.017,5,0.008,7,0.125,30,0.001,31,0.497,32,0.14,33,0.515,47,1.036,77,5.716,101,0.012,103,0.001,104,0.001,112,0.876,159,1.416,161,2.106,231,2.308,1240,5.232,1439,8.388,1440,6.804,1441,9.193,1442,8.591,1443,6.804,1444,4.92,1445,8.388,1446,6.501,1447,6.501,1448,9.657,1449,6.804,1450,9.193,1451,10.199,1452,10.199,1453,8.388,1454,6.883,1455,6.643,1456,6.643,1457,6.804,1458,6.804]],["title/classes/PostH5PContentCreateParams.html",[0,0.24,12499,5.201]],["body/classes/PostH5PContentCreateParams.html",[0,0.449,2,0.748,3,0.013,4,0.013,5,0.006,7,0.099,26,2.259,27,0.464,30,0.001,32,0.154,47,0.924,95,0.149,99,1.442,101,0.017,103,0,104,0,112,0.752,131,4.897,158,3.556,172,2.991,190,2.114,200,2.156,202,1.616,205,1.437,296,3.684,298,3.044,299,4.271,300,3.681,326,4.687,478,1.97,855,5.153,856,7.062,886,3.706,899,3.204,1195,6.089,1198,6.593,1240,6.947,2163,3.253,3181,4.191,3182,5.76,3901,5.173,4551,9.283,4554,8.405,6345,4.877,6517,5.918,6523,7.154,6573,4.002,6619,8.682,6622,5.173,7979,6.558,11597,6.402,12450,8.051,12488,5.27,12489,5.543,12493,6.782,12494,5.27,12495,5.27,12496,5.27,12497,5.397,12498,5.543,12499,7.203,12500,5.543,17772,7.037,17773,7.037,17774,7.037,17775,7.037,17776,7.037,17777,7.037]],["title/classes/PostH5PContentParams.html",[0,0.24,12497,5.327]],["body/classes/PostH5PContentParams.html",[0,0.451,2,0.757,3,0.014,4,0.014,5,0.007,7,0.1,26,2,27,0.466,30,0.001,32,0.138,47,0.943,95,0.149,99,1.46,101,0.017,103,0,104,0,112,0.758,131,6.028,158,3.587,190,2.125,200,2.183,202,1.636,205,1.455,296,3.69,298,3.082,299,4.298,300,3.713,326,4.708,478,1.995,855,5.172,856,7.088,886,3.725,899,3.244,1195,6.115,1198,6.635,1240,7.537,2163,3.293,3182,5.53,3901,3.363,4551,9.305,4554,8.459,6345,4.937,6523,7.729,6573,4.051,6619,8.073,6622,3.363,7979,6.614,11597,4.162,12450,8.086,12488,5.335,12489,5.612,12493,6.839,12494,5.335,12495,5.335,12496,5.335,12497,7.439,12498,8.687,12499,5.335,12500,5.612,17778,7.125,17779,7.125,17780,7.125,17781,9.7,17782,7.125,17783,7.125]],["title/classes/PreviewActionsLoggable.html",[0,0.24,17784,5.639]],["body/classes/PreviewActionsLoggable.html",[0,0.312,2,0.962,3,0.017,4,0.017,5,0.008,7,0.127,8,1.31,27,0.447,29,0.694,30,0.001,31,0.507,32,0.113,33,0.416,35,1.049,47,0.878,95,0.13,101,0.012,103,0.001,104,0.001,135,1.182,148,0.896,159,0.93,228,2.059,339,2.655,400,2.695,403,4.579,433,1.117,652,1.848,1027,2.78,1115,4.742,1237,3.344,1422,5.075,1423,5.848,1426,5.829,1723,7.046,1796,7.612,4218,6.942,7171,5.832,12448,8.495,12449,8.312,17784,9.21,17785,8.586,17786,12.391,17787,9.052,17788,9.518,17789,9.052,17790,9.052,17791,6.778,17792,7.349,17793,9.052,17794,9.052]],["title/classes/PreviewBuilder.html",[0,0.24,17795,6.094]],["body/classes/PreviewBuilder.html",[0,0.259,2,0.8,3,0.014,4,0.014,5,0.007,7,0.106,8,1.162,27,0.396,29,0.772,30,0.001,31,0.564,32,0.125,33,0.463,34,1.94,35,1.166,47,0.804,95,0.144,101,0.01,103,0,104,0,125,2.704,135,1.76,148,0.997,159,0.773,205,1.536,326,3.825,403,6.125,467,3.781,556,3.807,711,2.989,837,3.715,1444,5.582,1723,5.723,3299,4.279,4557,2.634,7102,5.382,7121,8.192,7167,8.883,7171,4.848,11728,5.514,12400,9.286,12446,10.941,12447,9.949,12448,9.067,12449,8.872,17788,8.31,17791,5.635,17795,8.83,17796,7.525,17797,11.341,17798,10.065,17799,7.525,17800,7.525,17801,10.065,17802,7.525,17803,7.525,17804,7.525,17805,7.525,17806,7.525,17807,7.525,17808,7.525,17809,7.525,17810,7.525,17811,7.525]],["title/interfaces/PreviewConfig.html",[159,0.713,17812,5.841]],["body/interfaces/PreviewConfig.html",[3,0.019,4,0.019,5,0.009,7,0.141,30,0.001,32,0.151,47,0.712,55,2.012,95,0.115,101,0.016,103,0.001,104,0.001,112,0.946,159,1.242,161,2.386,311,6.56,649,8.466,2815,4.02,7190,8.466,11407,6.174,11971,7.915,11973,7.915,15836,7.363,17785,6.964,17812,10.172,17813,9.305,17814,11.326,17815,11.326]],["title/interfaces/PreviewFileOptions.html",[159,0.713,17788,5.089]],["body/interfaces/PreviewFileOptions.html",[3,0.019,4,0.019,5,0.009,7,0.138,30,0.001,32,0.16,47,1.008,55,1.963,101,0.017,103,0.001,104,0.001,112,0.932,122,2.045,159,1.319,161,2.328,402,3.508,403,4.959,7171,6.316,12448,10.002,12449,10.029,17785,6.793,17788,8.732,17791,10.645,17816,8.601,17817,7.722]],["title/interfaces/PreviewFileParams.html",[159,0.713,12446,5.639]],["body/interfaces/PreviewFileParams.html",[3,0.016,4,0.016,5,0.008,7,0.122,30,0.001,31,0.487,32,0.173,33,0.508,47,1.036,55,1.738,95,0.139,101,0.014,103,0.001,104,0.001,112,0.864,159,1.135,161,2.061,205,1.772,339,2.546,403,6.472,837,4.285,1302,6.127,1304,4.936,6528,4.936,7102,4.119,7121,8.443,7167,8.949,7197,5.393,7198,5.276,7199,5.276,11926,5.745,12400,9.812,12445,8.038,12446,8.969,12447,11.223,12448,9.58,12449,9.374]],["title/modules/PreviewGeneratorAMQPModule.html",[252,1.835,17818,6.432]],["body/modules/PreviewGeneratorAMQPModule.html",[0,0.324,3,0.018,4,0.018,5,0.009,30,0.001,95,0.15,101,0.012,103,0.001,104,0.001,252,3.328,254,3.382,255,3.581,256,3.673,257,3.66,258,3.646,259,3.415,260,3.496,269,4.54,270,3.607,271,3.532,276,4.54,277,1.355,556,4.751,649,5.903,1318,7.202,5202,4.505,7102,4.456,7172,6.05,7190,7.296,7344,8.874,11728,6.881,11968,6.05,11970,10.748,12121,8.696,12280,8.239,17814,7.897,17818,13.06,17819,9.391,17820,9.391,17821,11.863,17822,9.391]],["title/classes/PreviewGeneratorBuilder.html",[0,0.24,17823,6.094]],["body/classes/PreviewGeneratorBuilder.html",[0,0.321,2,0.989,3,0.018,4,0.018,5,0.013,7,0.131,8,1.332,27,0.366,29,0.713,30,0.001,31,0.522,32,0.116,33,0.428,35,1.078,95,0.143,101,0.012,103,0.001,104,0.001,135,1.507,148,0.921,159,0.956,339,2.729,403,5.838,467,3.652,711,2.763,1304,5.29,1444,5.16,2815,3.722,6353,10.687,7172,7.435,7545,10.649,11407,5.717,17785,7.997,17791,10.542,17823,10.124,17824,9.369,17825,9.304,17826,11.54,17827,9.304]],["title/injectables/PreviewGeneratorConsumer.html",[589,0.929,17828,6.094]],["body/injectables/PreviewGeneratorConsumer.html",[0,0.279,3,0.015,4,0.015,5,0.007,7,0.114,8,1.22,27,0.416,29,0.81,30,0.001,31,0.592,32,0.132,33,0.486,35,0.939,95,0.154,101,0.011,103,0.001,104,0.001,125,2.52,135,1.058,148,0.802,158,2.996,159,0.832,190,1.454,228,1.47,277,1.169,317,2.552,400,2.413,433,1,589,1.413,591,1.932,652,1.654,657,1.857,711,3.493,871,3.869,1027,2.489,1115,3.101,1272,5.093,1274,6.899,1310,5.712,1311,5.289,1723,7.088,2449,5.644,2820,8.58,7172,5.22,9890,4.925,10342,7.744,12207,7.503,12214,7.503,12215,9.787,17784,6.578,17785,8.15,17788,9.134,17824,9.549,17828,9.272,17829,8.102,17830,9.272,17831,8.102,17832,11.149,17833,8.102,17834,8.102,17835,9.891,17836,8.102,17837,7.503,17838,7.108,17839,7.108,17840,7.108,17841,8.102,17842,10.568,17843,8.102,17844,8.102,17845,8.102,17846,8.102]],["title/modules/PreviewGeneratorConsumerModule.html",[252,1.835,17821,6.094]],["body/modules/PreviewGeneratorConsumerModule.html",[0,0.284,3,0.016,4,0.016,5,0.008,8,0.951,27,0.324,29,0.632,30,0.001,31,0.462,32,0.103,33,0.379,35,0.954,95,0.159,101,0.011,103,0.001,104,0.001,135,1.395,148,0.815,153,1.358,252,3.132,254,2.966,259,3.884,265,4.937,276,3.221,277,1.189,467,3.109,556,5.403,649,6.714,651,4.166,685,4.811,686,5.915,688,3.887,1011,7.282,1016,7.542,1021,5.305,1025,5.305,1026,5.176,1027,2.529,2087,5.128,2449,5.432,2815,3.294,7172,6.881,9890,5.006,11407,5.06,12276,5.915,12437,6.686,12438,7.826,15836,6.034,17785,7.401,17812,10.548,17814,6.925,17821,10.4,17824,8.671,17828,9.37,17832,8.982,17840,7.225,17847,8.235,17848,7.225,17849,10.681,17850,8.235,17851,7.626,17852,8.235,17853,8.235,17854,8.235,17855,8.235,17856,8.235]],["title/modules/PreviewGeneratorProducerModule.html",[252,1.835,12275,6.094]],["body/modules/PreviewGeneratorProducerModule.html",[0,0.315,3,0.017,4,0.017,5,0.008,30,0.001,95,0.149,101,0.012,103,0.001,104,0.001,252,3.287,254,3.289,255,3.484,256,3.573,257,3.56,258,3.547,259,4.525,260,4.631,265,6.324,269,4.462,270,3.509,271,3.435,276,4.462,277,1.318,556,4.621,1011,9.328,1027,2.806,1311,5.963,12275,12.571,17785,6.33,17824,7.416,17857,9.134,17858,9.134,17859,9.134,17860,9.134,17861,12.107,17862,9.134,17863,9.134]],["title/injectables/PreviewGeneratorService.html",[589,0.929,17832,5.841]],["body/injectables/PreviewGeneratorService.html",[0,0.201,3,0.011,4,0.011,5,0.011,7,0.082,8,0.972,27,0.472,29,0.881,30,0.001,31,0.644,32,0.143,33,0.529,35,1.255,36,2.296,47,0.701,95,0.144,101,0.008,103,0,104,0,112,0.658,125,1.388,129,1.743,130,1.592,135,1.683,141,3.61,148,0.979,153,0.96,159,0.598,195,1.274,228,1.057,277,0.84,317,2.6,326,4.898,400,1.734,402,2.083,403,2.946,433,0.718,569,2.62,579,1.683,589,1.126,591,1.388,652,2.76,657,2.266,711,2.937,1027,1.788,1304,3.311,2449,5.163,2815,2.329,3597,7.102,6391,6.893,7167,6.98,7171,5.424,7172,6.371,7196,8.709,7545,8.028,10342,6.169,11407,3.578,11727,4.586,11751,6.304,11789,6.631,12437,6.835,12438,7.938,12448,4.36,12449,6.169,17784,4.727,17785,8.56,17788,9.051,17791,8.971,17817,4.586,17823,5.108,17824,10.029,17830,7.386,17832,7.08,17838,5.108,17839,5.108,17864,5.392,17865,11.494,17866,7.796,17867,8.419,17868,8.419,17869,5.392,17870,8.419,17871,8.419,17872,5.823,17873,8.419,17874,5.823,17875,5.823,17876,7.796,17877,5.823,17878,8.419,17879,5.823,17880,9.888,17881,5.392,17882,5.823,17883,5.823,17884,5.823,17885,5.823,17886,5.823,17887,5.823,17888,5.823,17889,5.823,17890,5.823,17891,5.823,17892,9.888,17893,5.823,17894,5.392,17895,5.823,17896,5.823,17897,5.823,17898,5.823,17899,5.823,17900,5.823,17901,5.823,17902,5.823,17903,5.823]],["title/interfaces/PreviewModuleConfig.html",[159,0.713,17815,5.841]],["body/interfaces/PreviewModuleConfig.html",[3,0.019,4,0.019,5,0.009,7,0.141,30,0.001,32,0.151,47,0.92,55,2.599,95,0.115,101,0.016,103,0.001,104,0.001,112,0.946,159,1.242,161,2.386,311,6.56,649,6.316,2815,4.02,7190,7.604,11407,6.174,11971,10.609,11973,10.609,15836,7.363,17785,6.964,17812,8.45,17813,9.305,17814,8.45,17815,10.914]],["title/interfaces/PreviewOptions.html",[159,0.713,17791,5.201]],["body/interfaces/PreviewOptions.html",[3,0.019,4,0.019,5,0.009,7,0.14,30,0.001,32,0.15,33,0.552,47,0.99,55,2.585,101,0.017,103,0.001,104,0.001,112,0.939,122,2.07,159,1.326,161,2.356,402,3.551,403,6.785,7171,8.641,12448,7.432,12449,8.797,17785,6.877,17788,7.272,17791,10.044,17816,8.707,17817,7.817]],["title/classes/PreviewParams.html",[0,0.24,7167,4.475]],["body/classes/PreviewParams.html",[0,0.468,2,0.661,3,0.012,4,0.017,5,0.008,7,0.087,26,2.525,27,0.404,30,0.001,32,0.157,33,0.564,39,1.721,47,0.961,95,0.144,99,1.275,101,0.018,103,0,104,0,110,2.15,112,0.69,122,2.14,157,1.431,159,0.639,190,1.841,195,1.931,199,4.895,200,1.905,201,4.335,202,1.428,203,5.926,205,1.27,296,3.674,298,2.69,299,4.773,300,4.273,403,3.146,855,4.957,856,6.192,886,3.227,899,2.832,1078,2.727,1080,2.144,1169,3.6,1237,1.833,1290,5.686,1291,4.116,1292,4.116,2992,4.649,3182,5.507,3901,2.936,4557,2.177,5228,6.449,6622,2.936,6803,6.341,7094,6.295,7096,4.06,7097,7.596,7102,5.298,7116,7.39,7146,4.31,7147,4.385,7148,4.385,7153,4.31,7154,8.106,7155,8.635,7156,8.635,7157,4.385,7158,4.31,7159,4.31,7160,4.385,7161,4.241,7162,6.018,7163,4.176,7164,4.241,7165,4.31,7166,4.241,7167,5.686,7168,4.385,7169,7.233,7170,4.385,7171,6.609,7172,5.686,7173,5.841,7174,6.018,7175,7.233,10814,7.743,12360,5.76,17904,6.22,17905,6.22,17906,6.22,17907,6.22,17908,6.22]],["title/injectables/PreviewProducer.html",[589,0.929,17861,5.841]],["body/injectables/PreviewProducer.html",[0,0.237,3,0.013,4,0.013,5,0.006,7,0.097,8,1.093,27,0.482,29,0.994,30,0.001,31,0.686,32,0.162,33,0.563,35,1.352,36,2.007,47,0.897,55,1.378,95,0.151,101,0.009,103,0,104,0,113,5.26,135,1.237,148,0.681,158,3.502,159,0.707,193,4.115,228,1.966,231,1.644,277,0.993,317,2.655,433,1.169,436,3.217,532,3.514,550,5.533,569,2.141,589,1.267,591,1.64,634,7.499,651,3.481,652,1.405,657,1.577,871,3.965,1027,2.113,1272,4.325,1274,4.491,1297,5.586,1298,9.47,1310,4.851,1311,4.491,1723,7.617,2087,2.976,2449,5.415,4274,7.689,4307,8.11,9890,4.182,10342,6.94,12216,7.092,12297,10.634,12298,8.309,12299,8.309,12305,6.036,12306,6.371,12307,6.036,12308,6.371,12309,6.036,12310,6.371,12311,6.371,14161,6.371,15836,5.041,17784,5.586,17785,7.506,17788,8.55,17815,5.786,17817,5.419,17835,7.965,17837,6.371,17838,6.036,17839,6.036,17851,6.371,17861,7.965,17909,6.88,17910,6.88,17911,9.471,17912,6.88,17913,6.88,17914,6.88,17915,6.88,17916,6.88]],["title/interfaces/PreviewResponseMessage.html",[159,0.713,17817,5.471]],["body/interfaces/PreviewResponseMessage.html",[3,0.019,4,0.019,5,0.009,7,0.14,30,0.001,32,0.15,47,0.991,55,1.997,101,0.017,103,0.001,104,0.001,112,0.941,122,2.698,159,1.329,161,2.368,402,4.807,403,5.046,7171,6.426,12448,7.469,12449,10.077,17785,6.912,17788,7.308,17791,9.687,17816,8.75,17817,9.485]],["title/injectables/PreviewService.html",[589,0.929,12204,5.841]],["body/injectables/PreviewService.html",[0,0.182,3,0.01,4,0.01,5,0.011,7,0.074,8,0.904,27,0.472,29,0.918,30,0.001,31,0.704,32,0.149,33,0.551,35,1.34,36,2.71,47,0.662,59,1.637,95,0.148,101,0.007,103,0,104,0,135,1.641,148,0.925,153,0.869,159,0.542,205,1.076,228,1.421,277,0.761,317,2.929,326,3.927,433,0.966,550,3.08,556,2.667,569,2.436,579,2.262,589,1.047,591,1.257,629,2.775,652,2.756,653,2.177,657,2.819,675,2.684,688,2.488,711,3.435,837,2.603,871,3.782,1027,1.619,1080,3.561,1084,3.595,1328,2.795,1723,2.998,2449,3.902,2450,4.851,2494,3.863,2499,4.153,2815,2.109,2935,4.149,3299,2.998,5202,2.529,5215,4.043,6391,5.94,7102,5.837,7121,8.141,7122,3.787,7125,6.355,7138,4.28,7143,4.28,7167,8.095,7172,3.397,11407,3.239,11728,3.863,11745,3.787,11797,4.153,11833,4.625,11924,4.625,11926,5.181,11969,4.882,12204,6.583,12280,4.625,12400,8.87,12437,6.355,12438,7.571,12446,10.533,12449,3.863,17795,4.625,17830,6.868,17861,10.069,17866,7.249,17869,4.882,17876,7.249,17917,5.272,17918,7.828,17919,9.337,17920,7.828,17921,7.828,17922,5.272,17923,7.828,17924,5.272,17925,7.828,17926,5.272,17927,5.272,17928,5.272,17929,5.272,17930,7.828,17931,5.272,17932,7.828,17933,5.272,17934,5.272,17935,5.272,17936,5.272,17937,5.272,17938,5.272,17939,5.272,17940,5.272,17941,5.272,17942,4.882,17943,5.272,17944,4.882,17945,5.272,17946,5.272,17947,7.828,17948,7.828,17949,5.272,17950,5.272,17951,5.272,17952,5.272,17953,5.272,17954,5.272]],["title/classes/PrometheusMetricsConfig.html",[0,0.24,17955,6.094]],["body/classes/PrometheusMetricsConfig.html",[0,0.236,2,0.728,3,0.013,4,0.013,5,0.006,7,0.096,8,1.09,27,0.55,30,0.001,32,0.157,35,0.793,47,0.825,55,2.332,95,0.078,101,0.009,103,0,104,0,112,0.738,122,2.877,125,1.632,148,1.25,153,1.556,228,2.55,433,1.333,467,3.767,569,2.13,652,2.924,711,2.803,735,4.319,1283,7.616,2218,3.057,2219,3.441,2220,3.321,2221,4.303,5883,6.712,9578,5.126,11181,8.508,17955,10.215,17956,6.845,17957,10.802,17958,10.802,17959,10.802,17960,10.802,17961,10.802,17962,10.802,17963,10.215,17964,10.802,17965,10.003,17966,10.003,17967,6.845,17968,6.845,17969,6.845,17970,6.845,17971,6.845,17972,6.845,17973,6.845,17974,6.845,17975,6.845,17976,6.845,17977,6.845,17978,6.845,17979,6.845,17980,6.845,17981,6.845,17982,6.845,17983,6.845,17984,6.845,17985,6.845,17986,9.438,17987,9.438,17988,9.438,17989,9.438,17990,9.438,17991,6.845,17992,6.845,17993,6.845,17994,6.845,17995,6.845,17996,11.643]],["title/classes/PrometheusMetricsSetupStateLoggable.html",[0,0.24,17997,6.432]],["body/classes/PrometheusMetricsSetupStateLoggable.html",[0,0.233,2,0.718,3,0.013,4,0.013,5,0.006,7,0.095,8,1.079,27,0.368,29,0.518,30,0.001,31,0.379,32,0.084,33,0.311,35,0.783,95,0.132,101,0.015,103,0,104,0,129,2.021,135,1.642,148,1.062,153,2.073,228,1.226,289,6.208,339,1.981,385,4.604,400,2.011,433,0.833,871,2.472,876,3.506,886,2.124,1027,2.074,1115,2.585,1220,3.874,1237,2.756,1283,4.761,1372,3.555,1419,5.925,1421,5.925,1422,4.741,1423,5.062,1425,7.863,1426,5.195,1627,9.031,1749,3.84,2163,3.122,2449,5.08,2505,4.196,2844,5.179,2897,6.452,2905,5.057,7529,6.452,7626,5.877,9485,4.761,11181,9.118,16860,10.156,17955,5.925,17965,9.932,17966,9.932,17997,10.72,17998,10.725,17999,6.753,18000,6.753,18001,11.576,18002,6.753,18003,6.753,18004,5.925,18005,6.753,18006,6.753,18007,6.753,18008,12.574,18009,13.86,18010,6.753,18011,6.753,18012,6.753,18013,5.319,18014,6.753,18015,6.753,18016,9.35,18017,6.753,18018,6.753,18019,5.179,18020,6.753,18021,9.35,18022,12.155,18023,6.753,18024,6.753,18025,6.753,18026,6.753,18027,6.753,18028,6.753,18029,6.753,18030,6.753,18031,9.35,18032,6.753,18033,6.753,18034,6.753,18035,6.753,18036,6.753]],["title/classes/PropertyData.html",[0,0.24,2744,5.639]],["body/classes/PropertyData.html",[0,0.319,2,0.984,3,0.018,4,0.018,5,0.009,7,0.13,27,0.516,29,0.71,30,0.001,31,0.734,32,0.163,33,0.576,47,0.928,95,0.106,101,0.012,103,0.001,104,0.001,112,0.9,130,3.424,223,2.875,232,3.118,433,1.143,435,3.145,1756,7.725,2183,3.649,2744,10.934,2784,10.983,4633,4.156,5191,8.331,8109,6.935,8148,7.518,8149,7.518,8175,7.294,18037,13.467,18038,8.576,18039,11.507,18040,9.261,18041,9.261]],["title/interfaces/ProviderConsentResponse.html",[159,0.713,17199,5.327]],["body/interfaces/ProviderConsentResponse.html",[3,0.015,4,0.015,5,0.007,7,0.109,30,0.001,32,0.176,33,0.672,47,1.04,70,6.24,77,7.896,95,0.117,101,0.01,103,0,104,0,112,0.803,122,2.402,159,0.797,161,1.842,162,5.376,181,10.752,182,10.752,183,4.691,185,3.957,1506,6.524,2815,4.903,4547,8.803,6278,11.35,6279,11.35,6280,10.306,6281,10.306,6282,10.306,6283,9.95,10912,9.178,17199,7.877,18042,7.758,18043,10.306,18044,7.184,18045,7.184,18046,6.806]],["title/interfaces/ProviderConsentSessionResponse.html",[159,0.713,17261,5.471]],["body/interfaces/ProviderConsentSessionResponse.html",[3,0.017,4,0.017,5,0.008,7,0.125,30,0.001,32,0.176,33,0.66,47,1.012,55,2.459,95,0.101,101,0.012,103,0.001,104,0.001,112,0.876,122,2.561,159,0.911,161,2.106,162,6.148,166,11.942,167,11.314,168,11.942,169,10.158,170,10.158,171,8.659,172,4.762,177,7.783,178,7.203,6320,8.216,17199,9.89,17261,8.824,18047,8.872,18048,12.896,18049,8.872]],["title/interfaces/ProviderLoginResponse.html",[159,0.713,17262,5.471]],["body/interfaces/ProviderLoginResponse.html",[3,0.017,4,0.017,5,0.008,7,0.122,30,0.001,32,0.175,33,0.589,47,1.034,70,6.518,77,8.248,95,0.126,101,0.011,103,0.001,104,0.001,112,0.865,122,2.538,159,0.893,161,2.065,162,6.028,1506,7.315,2815,5.122,4547,9.196,6280,10.766,6281,10.766,6282,10.766,6283,10.394,10912,9.587,15789,11.856,17262,8.714,18043,10.766,18044,8.055,18045,8.055,18046,7.632,18050,8.699]],["title/interfaces/ProviderOidcContext.html",[159,0.713,18043,5.841]],["body/interfaces/ProviderOidcContext.html",[3,0.018,4,0.018,5,0.009,7,0.134,30,0.001,32,0.169,33,0.66,47,1.026,101,0.013,103,0.001,104,0.001,112,0.917,159,0.981,161,2.267,162,6.616,185,4.361,1777,8.841,11242,9.506,17511,12.257,17512,12.257,17513,12.257,17514,12.257,18043,9.86,18051,9.547]],["title/interfaces/ProviderRedirectResponse.html",[159,0.713,17201,5.201]],["body/interfaces/ProviderRedirectResponse.html",[3,0.02,4,0.02,5,0.01,7,0.151,30,0.001,32,0.134,47,0.947,101,0.014,103,0.001,104,0.001,112,0.984,159,1.104,161,2.552,162,7.448,17201,9.427,18052,10.748,18053,12.751]],["title/classes/ProvisioningDto.html",[0,0.24,14222,5.327]],["body/classes/ProvisioningDto.html",[0,0.354,2,1.09,3,0.019,4,0.019,5,0.009,7,0.144,27,0.482,29,0.786,30,0.001,31,0.575,32,0.153,33,0.472,47,0.868,101,0.013,103,0.001,104,0.001,112,0.957,433,1.265,9972,8.926,9975,8.996,14222,10.786,18054,10.254,18055,12.244,18056,12.244,18057,10.254]],["title/modules/ProvisioningModule.html",[252,1.835,17125,5.841]],["body/modules/ProvisioningModule.html",[0,0.242,3,0.013,4,0.013,5,0.006,30,0.001,95,0.159,101,0.009,103,0,104,0,252,2.893,254,2.53,255,2.679,256,2.748,257,2.738,258,2.728,259,3.982,260,4.076,264,9.14,265,5.883,269,3.758,270,2.698,271,2.642,276,3.758,277,1.014,703,2.181,1027,2.158,1054,3.961,1524,9.76,1525,9.325,1539,5.703,2069,4.183,3858,7.907,3868,3.698,3872,6.271,3998,4.717,4972,4.717,6033,8.546,9962,5.907,12665,10.702,14203,10.702,16821,11.245,17125,12.314,17536,10.702,17547,10.332,17670,6.163,18058,7.025,18059,7.025,18060,7.025,18061,7.025,18062,10.702,18063,10.702,18064,7.025,18065,7.025,18066,7.025,18067,7.025,18068,7.025,18069,7.025]],["title/injectables/ProvisioningService.html",[589,0.929,16821,5.639]],["body/injectables/ProvisioningService.html",[0,0.203,3,0.011,4,0.011,5,0.005,7,0.083,8,0.979,27,0.5,29,0.922,30,0.001,31,0.674,32,0.154,33,0.553,35,1.337,36,2.626,47,0.952,48,4.162,95,0.141,100,2.053,101,0.008,103,0,104,0,112,0.663,113,3.964,125,1.403,129,1.761,130,1.609,135,1.687,148,1.078,153,1.795,173,7.204,228,1.976,277,0.849,317,2.804,339,2.488,433,1.046,569,1.831,579,1.7,589,1.134,591,1.403,652,2.678,657,2.279,1312,2.807,1540,4.225,1605,7.422,2357,3.345,2782,5.943,3394,4.551,4972,8.676,5135,8.725,12925,6.892,14203,9.154,14205,7.939,14207,6.68,14210,8.288,14215,7.447,14218,7.013,14219,3.84,14220,3.84,14222,7.628,14243,4.947,15291,6.214,15300,8.349,16821,6.885,16846,5.161,17099,7.834,17536,9.154,18062,9.154,18070,5.882,18071,8.481,18072,8.481,18073,8.481,18074,8.481,18075,5.882,18076,9.946,18077,9.946,18078,9.946,18079,5.882,18080,8.481,18081,5.882,18082,8.481,18083,5.882,18084,8.481,18085,5.882,18086,5.882,18087,8.481,18088,5.882,18089,8.481,18090,5.882,18091,5.882,18092,4.947,18093,5.161,18094,5.882,18095,5.882,18096,5.882,18097,5.882,18098,5.882,18099,5.882,18100,5.882,18101,5.882,18102,5.882,18103,8.481,18104,5.882,18105,5.882,18106,5.882,18107,5.882,18108,5.882]],["title/classes/ProvisioningStrategy.html",[0,0.24,14205,4.268]],["body/classes/ProvisioningStrategy.html",[0,0.319,2,0.982,3,0.018,4,0.018,5,0.009,7,0.13,8,1.327,9,6.632,27,0.493,29,0.881,30,0.001,31,0.644,32,0.143,33,0.529,35,1.449,36,2.773,95,0.131,100,3.224,101,0.012,103,0.001,104,0.001,339,2.71,2357,5.254,5239,7.223,12647,10.307,14205,7.06,14207,9.051,14209,9.329,14210,9.398,14214,9.329,14215,9.798,14218,8.057,14219,6.031,14220,6.031,14222,7.086,18109,9.239,18110,9.239,18111,9.239,18112,9.239]],["title/classes/ProvisioningSystemDto.html",[0,0.24,17099,5.471]],["body/classes/ProvisioningSystemDto.html",[0,0.319,2,0.984,3,0.018,4,0.018,5,0.009,7,0.13,26,2.581,27,0.516,29,0.71,30,0.001,31,0.519,32,0.163,33,0.576,47,0.816,48,6.144,95,0.131,99,1.898,101,0.012,103,0.001,104,0.001,112,0.9,232,3.118,244,6.785,245,7.518,433,1.143,435,3.145,14205,7.693,14218,8.066,14219,6.045,14220,6.045,14902,8.407,14983,7.102,14984,7.294,14985,7.102,14986,7.294,17099,10.608,18113,13.467,18114,9.261,18115,11.507,18116,9.261,18117,9.261]],["title/classes/ProvisioningSystemInputMapper.html",[0,0.24,18093,6.094]],["body/classes/ProvisioningSystemInputMapper.html",[0,0.328,2,1.012,3,0.018,4,0.018,5,0.009,7,0.134,8,1.352,27,0.375,29,0.73,30,0.001,31,0.534,32,0.119,33,0.438,35,1.104,48,4.674,95,0.145,100,4.086,101,0.012,103,0.001,104,0.001,125,2.271,148,0.943,153,1.57,467,3.691,3394,5.358,7332,8.009,12925,9.165,14205,5.852,14218,6.136,14219,6.217,14220,6.217,14902,6.395,17099,9.222,18092,8.009,18093,10.272,18118,11.709,18119,9.524,18120,11.709,18121,11.709,18122,9.524,18123,9.524,18124,9.524,18125,9.524]],["title/classes/Pseudonym.html",[0,0.24,10500,4.058]],["body/classes/Pseudonym.html",[0,0.289,2,0.892,3,0.016,4,0.016,5,0.008,7,0.118,8,1.248,26,2.695,27,0.536,30,0.001,32,0.105,35,0.972,39,3.495,47,0.766,83,3.677,95,0.123,99,1.72,101,0.014,103,0.001,104,0.001,112,0.845,113,4.308,148,1.295,159,0.862,185,2.883,231,2.076,430,5.194,431,5.416,435,3.671,436,3.211,532,4.01,711,3.211,735,4.947,1767,5.948,1770,5.312,1773,7.349,1882,3.2,3048,5.274,3066,5.274,3069,6.608,3071,6.608,3074,5.814,3075,5.814,8331,6.608,10312,6.95,10500,7.818,18126,7.769,18127,7.769,18128,8.39,18129,8.39,18130,8.39,18131,8.39,18132,8.39,18133,8.39,18134,7.361,18135,7.769,18136,7.769,18137,6.435]],["title/modules/PseudonymApiModule.html",[252,1.835,18138,5.841]],["body/modules/PseudonymApiModule.html",[0,0.308,3,0.017,4,0.017,5,0.008,30,0.001,95,0.155,101,0.012,103,0.001,104,0.001,252,3.253,254,3.216,255,3.406,256,3.493,257,3.48,258,3.468,259,4.478,260,3.325,269,4.4,270,3.43,271,3.359,273,5.614,274,4.702,276,4.4,277,1.289,703,2.772,1856,7.803,2069,5.319,2666,4.128,3017,4.215,5036,10.186,6033,9.134,18138,12.071,18139,8.931,18140,8.931,18141,8.931,18142,11.439,18143,8.931,18144,10.804,18145,8.931,18146,8.931]],["title/controllers/PseudonymController.html",[314,2.658,18144,6.094]],["body/controllers/PseudonymController.html",[0,0.276,3,0.015,4,0.015,5,0.007,7,0.113,8,1.211,27,0.315,29,0.614,30,0.001,31,0.449,32,0.146,33,0.368,35,1.355,36,2.222,95,0.156,100,2.793,101,0.011,103,0.001,104,0.001,135,1.369,148,0.793,157,1.842,190,1.437,202,1.839,228,1.453,274,3.346,277,1.155,290,2.479,314,3.064,316,3.862,317,2.537,325,6.162,326,4.444,347,5.373,349,6.557,388,4.496,390,6.184,392,4.185,395,4.305,398,4.337,400,2.384,401,4.476,657,1.835,1390,6.515,1853,2.618,2684,3.4,3017,3.778,3221,4.129,4873,6.755,10500,7.866,10506,5.375,18127,10.828,18142,9.833,18144,9.199,18147,8.005,18148,8.005,18149,10.885,18150,8.005,18151,8.005,18152,8.005,18153,7.683,18154,8.817,18155,7.683,18156,7.023,18157,8.005,18158,10.831,18159,8.005,18160,8.005,18161,8.005,18162,8.005,18163,8.005,18164,8.005,18165,8.005]],["title/entities/PseudonymEntity.html",[205,1.418,18166,5.841]],["body/entities/PseudonymEntity.html",[0,0.292,3,0.016,4,0.016,5,0.008,7,0.119,26,2.244,27,0.473,30,0.001,32,0.15,34,1.45,39,3.629,47,0.852,49,5.133,95,0.145,96,2.882,97,3.472,99,1.738,101,0.014,103,0.001,104,0.001,112,0.94,142,3.093,159,0.871,190,2.157,205,2.222,206,2.765,219,6.721,223,4.166,224,2.474,225,4.18,229,3.353,231,1.472,232,2.297,233,2.646,242,4.463,243,5.329,458,3.392,459,5.729,4624,4.821,10312,7.216,10500,7.408,10501,7.13,10506,5.693,10507,6.883,10508,7.13,10509,6.212,10510,6.678,18166,9.152,18167,7.851,18168,8.479,18169,8.479,18170,8.479,18171,9.152]],["title/interfaces/PseudonymEntityProps.html",[159,0.713,18171,5.841]],["body/interfaces/PseudonymEntityProps.html",[0,0.292,3,0.016,4,0.016,5,0.008,7,0.119,26,2.615,30,0.001,32,0.158,33,0.501,34,2.169,39,3.714,47,0.899,49,5.252,95,0.145,96,2.882,97,3.472,99,1.738,101,0.014,103,0.001,104,0.001,112,0.94,142,3.093,159,0.871,161,2.013,205,2.222,219,6.721,223,3.937,224,2.474,225,4.18,229,3.353,231,1.472,232,2.297,233,2.646,242,4.463,243,5.329,458,3.392,459,5.729,4624,4.821,10312,7.385,10500,7.662,10506,5.693,10507,6.883,10508,7.13,10509,6.212,10510,6.678,18166,7.13,18167,7.851,18171,10.108]],["title/classes/PseudonymMapper.html",[0,0.24,18156,6.094]],["body/classes/PseudonymMapper.html",[0,0.336,2,1.034,3,0.018,4,0.018,5,0.009,7,0.137,8,1.37,27,0.383,29,0.746,30,0.001,31,0.546,32,0.121,33,0.448,34,1.664,35,1.128,39,2.693,95,0.135,101,0.013,103,0.001,104,0.001,135,1.271,148,0.964,153,1.604,467,3.726,830,6.58,837,4.805,871,4.343,1853,3.182,10312,5.355,10500,7.98,18156,10.409,18158,11.487,18172,9.732,18173,11.864,18174,9.732,18175,9.732,18176,9.732,18177,9.732]],["title/modules/PseudonymModule.html",[252,1.835,5036,5.201]],["body/modules/PseudonymModule.html",[0,0.278,3,0.015,4,0.015,5,0.007,30,0.001,95,0.154,101,0.011,103,0.001,104,0.001,252,3.101,254,2.906,255,3.078,256,3.156,257,3.145,258,3.133,259,4.269,260,4.37,269,4.123,270,3.1,271,3.035,276,4.123,277,1.165,610,3.18,1027,2.478,1933,8.084,1934,6.356,1935,7.078,2028,6.043,2450,6.218,2624,3.96,3858,8.229,3868,4.248,5036,10.896,8920,9.338,10511,11.137,11236,10.854,11256,9.807,18178,8.07,18179,8.07,18180,8.07,18181,8.07,18182,11.137,18183,8.07]],["title/classes/PseudonymParams.html",[0,0.24,18149,6.094]],["body/classes/PseudonymParams.html",[0,0.418,2,1.071,3,0.019,4,0.019,5,0.009,7,0.142,27,0.397,30,0.001,32,0.126,47,0.859,95,0.138,101,0.013,103,0.001,104,0.001,112,0.947,190,1.808,194,4.738,195,2.65,196,3.332,197,3.368,200,3.086,202,2.314,296,3.165,299,4.721,4673,8.471,10500,7.59,12780,9.329,18149,10.628,18184,12.115,18185,10.074]],["title/interfaces/PseudonymProps.html",[159,0.713,18134,6.094]],["body/interfaces/PseudonymProps.html",[0,0.3,3,0.017,4,0.017,5,0.008,7,0.122,26,2.892,30,0.001,32,0.165,39,3.658,47,0.908,83,4.045,95,0.126,99,1.783,101,0.015,103,0.001,104,0.001,112,0.865,148,1.309,159,0.893,161,2.065,185,2.989,231,2.112,430,5.436,431,5.668,1767,6.694,1770,4.495,1882,3.318,3074,6.028,3075,6.028,10312,7.273,10500,7.893,18126,8.055,18134,9.706,18135,8.055,18136,8.055,18137,6.672]],["title/classes/PseudonymResponse.html",[0,0.24,18158,5.841]],["body/classes/PseudonymResponse.html",[0,0.32,2,0.987,3,0.018,4,0.018,5,0.009,7,0.13,27,0.516,29,0.712,30,0.001,31,0.52,32,0.163,33,0.427,34,2.143,39,3.468,47,0.974,95,0.106,101,0.012,103,0.001,104,0.001,112,0.901,190,2.249,202,2.132,242,4.886,296,3.638,433,1.145,458,3.713,871,3.398,6829,8.838,6839,7.119,10312,6.896,10509,6.801,18158,11.332,18186,9.282,18187,11.524,18188,9.282,18189,9.282,18190,8.596,18191,9.282]],["title/classes/PseudonymScope.html",[0,0.24,10541,6.094]],["body/classes/PseudonymScope.html",[0,0.248,2,0.765,3,0.014,4,0.014,5,0.007,7,0.101,8,1.128,27,0.525,29,0.953,30,0.001,31,0.697,32,0.166,33,0.572,35,1.132,39,3.069,47,0.959,49,2.708,95,0.127,101,0.009,103,0,104,0,112,0.764,122,2.313,125,3.225,129,2.155,130,1.969,148,1.098,153,1.611,231,1.696,279,3.022,365,3.216,436,3.693,569,2.241,574,4.06,614,2.223,652,2.618,773,5.172,2487,6.605,2684,2.335,6244,5.539,6891,6.561,6892,6.561,6893,6.561,6898,6.561,6899,6.561,6900,4.91,6901,4.835,6902,4.91,6903,4.91,6912,4.835,6913,6.561,6914,4.91,6915,4.835,6916,4.91,6917,4.835,6918,7.447,10312,6.102,10497,5.172,10500,6.478,10541,8.572,10544,6.318,18192,7.201,18193,9.771,18194,9.048,18195,9.771,18196,9.771,18197,7.201,18198,9.048,18199,7.201,18200,9.771,18201,7.201,18202,7.201]],["title/interfaces/PseudonymSearchQuery.html",[159,0.713,10533,5.841]],["body/interfaces/PseudonymSearchQuery.html",[3,0.019,4,0.019,5,0.009,7,0.142,30,0.001,32,0.162,33,0.644,39,3.73,47,1.019,101,0.013,103,0.001,104,0.001,112,0.947,159,1.035,161,2.392,860,7.103,10312,7.417,10500,7.875,10533,10.188,10879,8.838,18203,10.074]],["title/injectables/PseudonymService.html",[589,0.929,11256,4.813]],["body/injectables/PseudonymService.html",[0,0.14,3,0.008,4,0.008,5,0.004,7,0.057,8,0.738,11,5.037,13,4.508,27,0.494,29,0.962,30,0.001,31,0.703,32,0.156,33,0.577,34,1.676,35,1.432,36,2.9,37,5.037,39,3.219,42,4.508,47,0.974,49,1.523,83,1.862,95,0.133,96,1.072,97,1.658,101,0.005,103,0,104,0,125,1.525,135,1.587,141,3.859,142,2.333,148,1.242,153,1.864,228,1.16,277,0.584,290,1.512,317,3.02,365,1.809,430,1.665,431,1.736,433,0.789,540,3.16,578,4.142,579,2.601,589,0.855,591,0.965,595,1.528,620,2.516,652,2.67,653,1.672,657,2.387,711,3.671,869,3.138,980,3.546,983,5.799,1312,1.932,1853,1.324,1882,1.544,2007,2.023,2218,1.809,2219,2.036,2220,1.965,2624,1.987,2684,3.863,2762,6.035,4228,2.365,4479,2.516,4793,8.335,7811,5.53,8002,5.909,8110,8.4,8199,2.545,10088,8.24,10312,2.228,10500,7.219,10506,6.044,10511,10.019,10515,5.61,10518,5.921,10519,5.377,10525,5.61,10532,5.921,10533,7.569,10535,4.904,11256,4.431,11519,2.855,13692,5.921,13910,5.921,15438,2.806,16753,5.921,18182,9.17,18204,4.049,18205,6.394,18206,6.394,18207,6.394,18208,6.394,18209,6.394,18210,6.394,18211,6.394,18212,4.049,18213,4.049,18214,6.394,18215,4.049,18216,6.394,18217,4.049,18218,4.049,18219,4.049,18220,4.049,18221,6.394,18222,4.049,18223,6.394,18224,4.049,18225,4.049,18226,4.049,18227,6.394,18228,4.049,18229,6.394,18230,4.049,18231,6.394,18232,4.049,18233,10.416,18234,4.049,18235,9,18236,4.049,18237,4.049,18238,6.394,18239,4.049,18240,4.049,18241,4.049,18242,6.394,18243,6.394,18244,4.049,18245,4.049,18246,4.049,18247,9,18248,4.049,18249,4.049,18250,4.049,18251,4.049,18252,4.049,18253,4.049,18254,4.049]],["title/injectables/PseudonymUc.html",[589,0.929,18142,5.841]],["body/injectables/PseudonymUc.html",[0,0.266,3,0.015,4,0.015,5,0.007,7,0.109,8,1.183,26,2.523,27,0.404,29,0.786,30,0.001,31,0.574,32,0.128,33,0.471,35,0.895,36,2.171,39,2.138,47,0.868,95,0.155,99,1.584,101,0.01,103,0,104,0,135,1.663,142,3.738,148,0.765,153,1.274,228,2.086,277,1.115,290,2.893,317,2.494,433,1.264,478,2.164,579,2.233,589,1.37,591,1.843,610,3.045,652,2.346,657,2.805,703,2.399,1472,4.321,1780,4.697,1853,2.527,1862,7.128,1961,4.649,2065,8.099,2067,7.964,2069,4.602,2070,6.042,2666,3.572,2671,5.662,4830,5.189,4831,5.269,10500,7.799,10519,8.615,11256,9.068,11329,6.087,11330,6.087,18142,8.615,18255,7.728,18256,7.728,18257,7.728,18258,10.245,18259,7.728,18260,11.492,18261,7.728,18262,7.728,18263,7.728,18264,7.728,18265,10.245,18266,7.728,18267,6.498]],["title/injectables/PseudonymsRepo.html",[589,0.929,18182,5.841]],["body/injectables/PseudonymsRepo.html",[0,0.187,3,0.01,4,0.01,5,0.005,7,0.076,8,0.924,13,5.646,26,2.862,27,0.489,29,0.952,30,0.001,31,0.696,32,0.155,33,0.571,34,1.37,35,1.401,36,2.829,39,3.564,42,5.646,49,2.045,95,0.128,96,1.439,97,2.226,99,1.114,101,0.007,103,0,104,0,113,4.661,125,1.296,135,1.682,142,2.922,148,1.229,153,2.124,205,2.534,206,1.773,228,0.987,277,0.785,317,2.945,400,1.619,430,2.235,431,2.331,433,0.671,589,1.071,591,1.296,657,2.404,773,7.532,1770,4.543,1853,1.778,2448,5.864,2472,3.767,2496,3.833,2501,3.833,2515,4.572,3083,4.817,3608,3.549,3613,4.678,3674,4.169,4737,3.378,4751,4.169,4752,4.169,10312,7.087,10500,7.98,10506,5.377,10514,7.415,10515,7.025,10516,7.415,10517,7.415,10520,7.025,10521,7.415,10523,7.415,10525,7.025,10528,7.415,10530,7.415,10537,7.415,10539,7.415,10544,7.025,10545,9.712,10548,4.769,10549,5.034,10551,5.034,10553,4.769,10554,5.034,10555,7.025,10558,5.034,10559,5.034,10560,4.769,10561,5.034,10562,5.034,10563,5.034,18166,10.652,18171,8.819,18182,6.734,18268,5.436,18269,5.436,18270,5.436,18271,5.436,18272,5.436,18273,5.436,18274,5.436,18275,5.436,18276,5.436,18277,5.436,18278,5.436,18279,5.436,18280,5.436,18281,5.436,18282,5.436,18283,5.436]],["title/classes/PublicSystemListResponse.html",[0,0.24,18284,5.841]],["body/classes/PublicSystemListResponse.html",[0,0.332,2,1.022,3,0.018,4,0.018,5,0.009,7,0.135,27,0.464,29,0.737,30,0.001,31,0.539,32,0.159,33,0.442,95,0.134,101,0.013,103,0.001,104,0.001,112,0.921,125,2.293,190,1.726,202,2.208,296,3.076,339,3.734,433,1.186,711,2.856,861,6.663,866,4.775,871,3.52,881,5.25,3394,6.072,6692,9.032,18284,9.904,18285,11.79,18286,11.777,18287,11.39,18288,10.906]],["title/classes/PublicSystemResponse.html",[0,0.24,18287,5.639]],["body/classes/PublicSystemResponse.html",[0,0.241,2,0.743,3,0.013,4,0.013,5,0.006,7,0.098,27,0.5,29,0.536,30,0.001,31,0.612,32,0.171,33,0.599,34,2.104,47,0.939,95,0.109,101,0.009,103,0,104,0,112,0.748,157,2.832,190,2.208,193,4.159,194,5.318,195,2.974,196,4.497,197,3.78,202,1.605,296,3.319,433,0.862,458,2.796,868,5.903,1470,6.567,2087,5.08,2108,3.05,2720,5.673,3394,6.477,5183,5.491,5362,5.504,6642,5.595,6662,4.502,11242,6.876,12361,6.749,13472,6.864,14477,7.927,14975,5.359,14977,5.359,15010,5.12,15329,5.876,15331,5.673,15333,5.876,17063,10.346,18285,12.048,18287,9.989,18289,4.927,18290,8.865,18291,9.573,18292,6.471,18293,6.988,18294,5.876,18295,6.988,18296,6.471]],["title/classes/PushDeleteRequestsOptionsBuilder.html",[0,0.24,18297,6.432]],["body/classes/PushDeleteRequestsOptionsBuilder.html",[0,0.325,2,1.003,3,0.018,4,0.018,5,0.009,7,0.133,8,1.344,10,4.675,27,0.372,29,0.724,30,0.001,31,0.529,32,0.118,33,0.434,35,1.093,47,0.978,55,2.762,95,0.108,101,0.012,103,0.001,104,0.001,148,0.934,159,0.969,467,3.675,507,5.56,2881,8.19,2882,8.605,2884,10.616,9026,8.717,9238,10.616,9246,11.564,18297,10.78,18298,11.641,18299,8.737,18300,9.435,18301,8.737]],["title/interfaces/PushDeletionRequestsOptions.html",[159,0.713,9238,5.841]],["body/interfaces/PushDeletionRequestsOptions.html",[3,0.019,4,0.019,5,0.009,7,0.14,10,4.005,30,0.001,32,0.168,47,0.991,55,2.798,101,0.013,103,0.001,104,0.001,112,0.941,159,1.024,161,2.368,2881,8.348,2882,8.77,2884,11.298,9026,7.469,9238,10.126,9246,11.787,18302,9.974,18303,9.236]],["title/interfaces/QueueDeletionRequestInput.html",[159,0.713,2809,5.327]],["body/interfaces/QueueDeletionRequestInput.html",[3,0.019,4,0.019,5,0.009,7,0.143,30,0.001,32,0.163,47,0.996,55,2.616,101,0.013,103,0.001,104,0.001,112,0.954,159,1.048,161,2.422,193,4.433,2809,9.362,2819,5.96,2881,8.411,2882,8.837,9208,8.837,9313,8.95,18304,9.447]],["title/classes/QueueDeletionRequestInputBuilder.html",[0,0.24,2887,6.094]],["body/classes/QueueDeletionRequestInputBuilder.html",[0,0.332,2,1.025,3,0.018,4,0.018,5,0.009,7,0.136,8,1.362,27,0.38,29,0.739,30,0.001,31,0.54,32,0.12,33,0.443,35,1.117,47,0.983,55,2.552,95,0.11,101,0.013,103,0.001,104,0.001,148,0.954,159,0.99,193,5.125,467,3.71,507,5.195,2809,9.774,2819,6.89,2881,7.328,2882,8.669,2887,10.347,9208,8.669,9317,8.456,9318,10.347,9436,8.926,18305,10.922]],["title/interfaces/QueueDeletionRequestOutput.html",[159,0.713,2816,5.471]],["body/interfaces/QueueDeletionRequestOutput.html",[3,0.019,4,0.019,5,0.009,7,0.141,30,0.001,32,0.162,33,0.644,47,0.992,83,3.778,101,0.013,103,0.001,104,0.001,112,0.946,159,1.032,161,2.386,193,4.366,1080,4.643,2816,9.528,2819,5.87,2824,9.044,2825,8.914,9349,9.305,18304,9.305]],["title/classes/QueueDeletionRequestOutputBuilder.html",[0,0.24,2813,6.094]],["body/classes/QueueDeletionRequestOutputBuilder.html",[0,0.272,2,0.839,3,0.015,4,0.015,5,0.007,7,0.111,8,1.2,27,0.457,29,0.891,30,0.001,31,0.651,32,0.145,33,0.534,35,1.346,47,0.977,59,3.605,83,3.832,95,0.09,101,0.01,103,0.001,104,0.001,125,1.882,135,1.031,148,1.15,159,0.811,193,5.362,467,4.011,507,4.576,652,2.371,1080,4.626,1329,4.799,2813,9.116,2816,10.727,2819,7.209,2824,8.287,2825,9.118,2868,7.463,9051,9.622,9057,7.311,9060,7.311,9351,7.311,9352,9.622,9353,7.311,18305,11.428,18306,10.391,18307,10.391,18308,7.895,18309,10.391,18310,7.895,18311,7.895,18312,7.895,18313,7.895,18314,7.895,18315,7.895]],["title/modules/RabbitMQWrapperModule.html",[252,1.835,1011,4.736]],["body/modules/RabbitMQWrapperModule.html",[0,0.356,3,0.015,4,0.015,5,0.007,30,0.001,31,0.689,32,0.153,47,0.819,95,0.14,101,0.015,103,0,104,0,135,1.021,153,1.289,194,3.058,228,1.419,252,3.248,254,3.718,260,3.843,276,4.521,277,1.128,317,1.697,400,2.328,516,4.144,657,1.792,734,3.281,813,5.772,980,4.336,1011,7.039,1031,5.512,1060,5.331,1097,5.512,1237,2.305,1272,4.914,1298,8.655,1310,5.512,1311,5.103,2218,3.492,2219,3.93,2220,3.793,2221,4.914,2532,4.656,2554,4.914,2562,5.037,2568,5.25,2821,5.174,2920,4.525,3879,5.854,4967,5.728,5108,5.103,5761,6.739,7084,8.132,7359,8.857,7673,5.512,12285,6.859,14158,6.347,14507,10.785,16348,10.14,17835,8.681,18316,7.24,18317,10.703,18318,11.836,18319,7.24,18320,7.24,18321,6.859,18322,7.24,18323,7.24,18324,6.574,18325,7.24,18326,7.24,18327,7.24,18328,7.24,18329,7.24,18330,6.859,18331,7.24,18332,6.574,18333,7.24,18334,6.347,18335,6.574,18336,7.24,18337,7.24,18338,7.24]],["title/modules/RabbitMQWrapperTestModule.html",[252,1.835,1031,4.897]],["body/modules/RabbitMQWrapperTestModule.html",[0,0.352,3,0.015,4,0.015,5,0.007,8,0.889,27,0.303,30,0.001,31,0.685,32,0.152,35,0.892,47,0.813,95,0.14,101,0.015,103,0,104,0,135,1.005,153,1.269,194,3.011,228,1.397,252,3.228,254,3.68,260,3.804,276,4.486,277,1.111,317,2.217,400,2.292,516,4.081,657,1.764,734,3.231,813,5.714,980,4.27,1011,5.249,1031,7.205,1060,5.249,1097,5.428,1237,2.269,1272,4.839,1298,8.589,1310,5.428,1311,5.025,2218,3.438,2219,3.87,2220,3.735,2221,4.839,2532,4.584,2554,4.839,2562,4.96,2568,5.169,2821,5.095,2920,4.456,3879,5.765,4967,5.641,5108,5.025,5761,6.67,7084,8.049,7359,8.812,7673,5.428,12285,6.754,14158,6.25,14507,10.72,16348,11.156,17835,8.593,18316,7.129,18317,10.622,18318,11.776,18319,7.129,18320,7.129,18321,6.754,18322,7.129,18323,7.129,18324,6.474,18325,7.129,18326,7.129,18327,7.129,18328,7.129,18329,7.129,18330,6.754,18331,7.129,18332,6.474,18333,7.129,18334,6.25,18335,6.474,18336,7.129,18337,7.129,18338,7.129,18339,7.698]],["title/classes/ReadableStreamWithFileTypeImp.html",[0,0.24,18340,6.432]],["body/classes/ReadableStreamWithFileTypeImp.html",[0,0.295,2,0.911,3,0.016,4,0.016,5,0.012,7,0.12,27,0.432,29,0.657,30,0.001,31,0.48,32,0.159,33,0.556,95,0.138,101,0.011,103,0.001,104,0.001,112,0.857,135,1.431,148,0.849,231,1.902,232,2.969,233,2.674,433,1.057,435,2.91,501,4.643,571,3.389,576,5.053,1086,4.088,1087,3.961,1088,4.023,1089,4.282,1090,4.678,1237,3.23,1302,7.588,1304,7.24,2134,6.042,10323,7.935,10365,7.935,11752,6.749,14165,7.935,18340,10.147,18341,12.08,18342,8.569,18343,12.08,18344,13.158,18345,12.732,18346,10.958,18347,12.732,18348,8.569,18349,8.569,18350,8.569,18351,8.569,18352,8.569]],["title/classes/RecursiveCopyVisitor.html",[0,0.24,3592,6.094]],["body/classes/RecursiveCopyVisitor.html",[0,0.104,2,0.322,3,0.006,4,0.006,5,0.005,7,0.043,8,0.583,26,0.624,27,0.484,29,0.919,30,0.001,31,0.672,32,0.165,33,0.551,34,1.797,35,1.368,36,2.722,49,1.139,83,3.616,95,0.11,99,0.621,101,0.004,103,0,104,0,110,1.047,112,0.395,125,1.204,129,1.512,130,1.381,135,1.638,141,3.613,148,1.102,153,2.281,155,2.887,157,0.697,158,1.12,183,1.159,228,0.55,317,2.939,400,0.902,402,4.073,430,4.32,431,4.504,433,0.374,571,1.198,574,1.708,579,0.875,657,2.213,703,0.94,896,4.711,1083,1.708,1237,1.489,1562,2.386,1853,0.99,2031,5.018,2477,1.841,2617,8.508,2648,5.633,2661,4.515,2664,2.175,2782,4.139,2788,6.462,2894,1.445,2946,4.498,3047,7.28,3054,3.727,3108,4.833,3115,5.576,3118,5.576,3121,5.235,3124,5.576,3127,5.177,3130,5.36,3135,2.136,3153,4.247,3154,4.247,3155,4.247,3156,4.247,3157,4.247,3158,4.247,3159,4.247,3160,4.247,3161,4.247,3162,4.247,3285,4.241,3296,2.386,3297,2.268,3298,1.861,3299,1.722,3317,8.275,3325,4.247,3341,2.175,3405,9.527,3542,1.951,3545,1.786,3547,1.786,3550,1.769,3553,1.573,3557,1.562,3562,1.694,3592,4.431,3595,5.972,3596,2.547,3597,8.336,3598,4.431,4479,6.527,6459,2.547,6622,2.384,7094,1.708,7245,6.651,7255,4.677,7256,8.766,7257,4.101,7258,4.431,7290,2.547,9890,1.841,18353,12.421,18354,3.029,18355,6.497,18356,6.497,18357,5.051,18358,5.051,18359,5.051,18360,3.029,18361,5.051,18362,3.029,18363,5.051,18364,3.029,18365,5.051,18366,3.029,18367,5.051,18368,3.029,18369,5.051,18370,3.029,18371,5.051,18372,3.029,18373,5.051,18374,3.029,18375,5.051,18376,3.029,18377,5.051,18378,3.029,18379,5.051,18380,3.029,18381,5.051,18382,3.029,18383,5.051,18384,3.029,18385,5.051,18386,3.029,18387,5.051,18388,3.029,18389,5.051,18390,3.029,18391,3.029,18392,3.029,18393,3.029,18394,7.581,18395,7.581,18396,3.029,18397,6.497,18398,10.84,18399,3.029,18400,7.581,18401,10.505,18402,3.029,18403,3.029,18404,3.029,18405,3.029,18406,3.029,18407,5.051,18408,5.051,18409,4.677,18410,5.051,18411,4.677,18412,5.051,18413,5.051,18414,5.051,18415,7.581,18416,5.051,18417,5.051,18418,3.029,18419,3.029,18420,3.029,18421,3.029,18422,5.051,18423,3.029,18424,3.029,18425,3.029,18426,5.051,18427,3.029,18428,3.029,18429,3.029,18430,3.029,18431,3.029,18432,3.029,18433,3.029,18434,3.029,18435,3.029,18436,3.029,18437,2.805,18438,5.051,18439,5.051,18440,5.051,18441,3.029,18442,3.029,18443,4.677,18444,5.051,18445,3.029,18446,3.029]],["title/injectables/RecursiveDeleteVisitor.html",[589,0.929,3611,5.841]],["body/injectables/RecursiveDeleteVisitor.html",[0,0.165,3,0.009,4,0.009,5,0.004,7,0.067,8,0.839,27,0.512,29,0.998,30,0.001,31,0.729,32,0.162,33,0.599,35,1.49,36,2.929,95,0.142,96,1.265,97,1.956,101,0.006,103,0,104,0,135,0.624,142,1.743,228,1.784,277,0.689,317,3.093,433,0.897,478,1.337,569,2.262,589,0.972,591,1.139,614,2.244,652,2.008,657,3.064,1237,1.408,1317,3.003,1770,2.953,1853,1.562,2005,3.826,2007,2.387,2031,6.3,2048,1.941,2448,5.498,2496,3.368,2648,5.527,2661,5.856,2815,1.911,2946,5.648,3054,4.169,3059,3.003,3108,6.068,3115,7.001,3118,7.001,3121,6.573,3124,7.001,3127,6.5,3130,6.73,3135,5.124,3140,2.154,3143,6.112,3144,6.112,3145,6.112,3146,6.112,3147,6.112,3148,6.112,3149,6.112,3150,6.112,3152,6.112,3153,6.112,3154,6.112,3155,6.112,3156,6.112,3157,6.112,3158,6.112,3159,6.112,3160,6.112,3161,6.112,3162,6.112,3431,2.55,3520,3.663,3608,3.118,3611,6.112,3613,4.246,3863,9.405,3866,2.401,3867,4.956,3869,4.423,3870,4.191,3871,4.017,6456,6.731,6459,4.017,6505,6.376,6780,7.562,6947,2.968,7224,8.32,18437,4.423,18447,12.173,18448,4.777,18449,7.268,18450,7.268,18451,4.777,18452,7.268,18453,4.777,18454,4.777,18455,7.268,18456,4.777,18457,4.777,18458,4.777,18459,4.777,18460,4.777,18461,4.777,18462,4.777,18463,4.777,18464,4.777,18465,4.777,18466,4.777,18467,4.777,18468,4.777,18469,4.777,18470,4.777,18471,4.777,18472,4.777,18473,4.777,18474,4.777,18475,4.777,18476,4.777,18477,4.777,18478,4.777,18479,4.777,18480,4.777,18481,4.777,18482,4.777,18483,4.777,18484,4.777,18485,4.777,18486,4.777,18487,7.268,18488,4.777,18489,4.777,18490,4.777,18491,4.777,18492,4.777,18493,4.777]],["title/classes/RecursiveSaveVisitor.html",[0,0.24,3639,6.094]],["body/classes/RecursiveSaveVisitor.html",[0,0.116,2,0.358,3,0.006,4,0.006,5,0.003,7,0.047,8,0.636,18,2.804,26,0.694,27,0.496,29,0.955,30,0.001,31,0.698,32,0.158,33,0.573,34,1.922,35,1.426,36,1.167,39,0.931,55,0.674,59,1.044,95,0.131,96,1.458,97,1.378,99,0.69,101,0.004,103,0,104,0,110,1.163,112,0.431,125,1.313,129,1.007,130,0.92,135,1.731,153,1.971,155,2.564,157,0.774,183,1.288,224,0.982,228,1,317,1.518,400,1.002,433,0.415,478,0.942,569,4.165,579,0.972,614,1.039,652,2.479,657,0.771,756,1.331,1237,1.624,1770,1.367,1829,1.43,1831,2.226,1853,1.1,2005,1.771,2031,5.705,2048,2.238,2050,1.418,2448,4.521,2460,2.226,2562,2.167,2648,6.355,2661,5.705,2679,2.951,2782,4.414,2894,1.605,2946,5.114,3050,4.086,3057,6.571,3059,6.357,3083,3.314,3088,2.951,3092,2.951,3097,5.101,3098,5.101,3099,5.101,3100,5.101,3101,5.101,3102,5.101,3103,5.101,3104,5.101,3105,5.101,3106,5.101,3107,4.832,3108,5.495,3110,4.832,3112,4.832,3114,4.832,3115,6.34,3117,4.832,3118,5.903,3120,4.832,3121,5.952,3123,4.832,3124,5.903,3126,4.832,3127,5.886,3129,4.832,3130,6.094,3132,4.832,3135,3.884,3431,7.308,3455,4.339,3458,4.472,3461,4.225,3464,4.339,3467,5.509,3470,4.339,3473,4.339,3476,4.339,3479,4.339,3482,4.339,3484,4.832,3520,2.58,3521,3.115,3529,3.115,3542,2.167,3545,1.984,3547,1.984,3550,1.965,3553,1.747,3557,1.735,3559,2.067,3608,2.196,3609,8.21,3613,3.218,3632,4.832,3633,6.368,3635,2.65,3637,3.115,3639,4.832,3867,2.294,3923,3.115,4160,3.115,4441,2.951,4442,2.951,4443,2.829,4478,3.115,5639,3.115,5640,2.951,5761,2.196,6459,2.829,6469,3.115,6472,3.115,6475,3.115,6477,3.115,6489,3.115,6491,3.115,6494,3.115,6496,3.115,6499,3.115,6505,4.832,6507,3.115,6734,2.519,6748,2.09,10553,2.951,18447,11.77,18494,3.364,18495,6.995,18496,5.508,18497,5.508,18498,5.508,18499,5.508,18500,5.508,18501,5.508,18502,3.364,18503,5.508,18504,11.24,18505,3.364,18506,3.364,18507,5.508,18508,3.364,18509,3.364,18510,5.508,18511,3.364,18512,3.364,18513,3.364,18514,3.364,18515,3.364,18516,3.364,18517,3.364,18518,3.364,18519,3.364,18520,3.364,18521,3.364,18522,11.75,18523,3.364,18524,3.364,18525,5.508,18526,5.508,18527,5.508,18528,3.364,18529,3.364,18530,11.24,18531,11.24,18532,3.364,18533,10.554,18534,3.364,18535,3.364,18536,3.364,18537,3.364,18538,3.364,18539,3.364,18540,6.995,18541,3.364,18542,3.364,18543,3.364,18544,3.364,18545,3.364,18546,3.364,18547,3.364,18548,3.364,18549,3.115,18550,3.115,18551,3.364,18552,3.364,18553,3.364,18554,3.364,18555,3.364,18556,3.364,18557,3.364,18558,3.364,18559,3.364,18560,3.364]],["title/classes/RedirectResponse.html",[0,0.24,17211,5.471]],["body/classes/RedirectResponse.html",[0,0.328,2,1.012,3,0.018,4,0.018,5,0.009,7,0.134,27,0.461,29,0.73,30,0.001,31,0.534,32,0.146,33,0.438,47,0.83,95,0.109,101,0.012,103,0.001,104,0.001,110,4.048,112,0.915,157,2.192,187,7.148,190,1.709,202,2.187,290,2.768,296,3.058,433,1.175,868,4.569,1899,7.643,2257,8.409,3559,7.194,7745,7.643,17211,10.694,18053,11.74,18561,9.524,18562,11.709,18563,9.524,18564,9.524,18565,11.709,18566,9.846,18567,9.524,18568,9.524,18569,9.524]],["title/modules/RedisModule.html",[252,1.835,18570,5.841]],["body/modules/RedisModule.html",[0,0.299,3,0.016,4,0.016,5,0.008,30,0.001,47,0.783,95,0.151,101,0.011,103,0.001,104,0.001,110,3.001,125,2.07,135,1.443,148,1.094,252,3.211,254,3.126,255,3.31,256,3.395,257,3.383,258,3.37,259,4.018,260,4.113,265,6.242,269,4.321,270,3.334,271,3.265,276,4.321,277,1.253,685,5.071,686,6.234,688,4.097,1027,2.666,1080,2.992,2218,3.877,2219,4.364,2220,4.211,2449,3.628,2450,5.706,2815,4.42,4228,5.071,4231,8.038,4242,6.837,4243,9.29,4247,10.231,4248,8.038,4250,7.615,4251,8.038,4252,7.615,4253,7.615,4254,8.038,8848,9.693,18570,11.356,18571,8.68,18572,8.68,18573,8.68,18574,10.662,18575,8.68,18576,8.68]],["title/injectables/ReferenceLoader.html",[589,0.929,1911,5.639]],["body/injectables/ReferenceLoader.html",[0,0.191,3,0.011,4,0.011,5,0.005,7,0.078,8,0.938,26,2.184,27,0.417,29,0.738,30,0.001,31,0.539,32,0.152,33,0.443,35,0.942,36,1.723,49,3.618,95,0.145,99,1.137,101,0.007,103,0,104,0,112,0.635,122,1.158,129,1.661,130,1.517,135,1.062,148,0.805,153,1.586,159,0.57,185,3.874,195,1.778,228,2.381,268,7.398,277,0.801,279,2.329,317,2.088,433,1.003,579,1.604,589,1.087,591,1.323,652,2.814,657,1.863,1531,7.949,1767,4.473,1849,3.212,1852,4.794,1853,1.815,1909,9.572,1910,7.669,1911,6.6,1912,9.145,1913,9.572,1914,8.8,1915,8.649,1932,3.985,1934,4.371,1952,8.581,2624,6.682,2654,7.813,2782,5.782,3519,3.53,5104,5.543,5705,8.51,6042,8.09,6668,10.133,8931,3.912,15029,7.81,18577,5.139,18578,8.908,18579,8.129,18580,4.868,18581,8.908,18582,8.129,18583,5.549,18584,5.549,18585,7.528,18586,7.528,18587,5.549,18588,9.891,18589,7.528,18590,5.139,18591,5.139,18592,5.139,18593,5.139,18594,5.139,18595,5.139,18596,5.139,18597,5.139,18598,5.139,18599,5.139,18600,5.139,18601,5.139,18602,5.139,18603,5.139,18604,5.139,18605,5.139,18606,5.139,18607,5.139,18608,5.139,18609,5.139,18610,5.139,18611,5.139,18612,5.139,18613,5.139,18614,5.139,18615,5.139,18616,7.528]],["title/classes/ReferencedEntityNotFoundLoggable.html",[0,0.24,18617,6.432]],["body/classes/ReferencedEntityNotFoundLoggable.html",[0,0.293,2,0.903,3,0.016,4,0.016,5,0.008,7,0.119,8,1.258,26,2.815,27,0.429,29,0.652,30,0.001,31,0.476,32,0.106,33,0.391,35,0.985,47,0.952,95,0.124,101,0.011,103,0.001,104,0.001,148,0.841,205,2.591,228,2.303,339,2.492,347,6.503,433,1.345,652,2.591,1027,2.61,1115,3.252,1237,3.213,1418,7.145,1422,4.928,1423,5.679,1426,5.696,1468,5.679,1469,5.975,2845,5.474,3718,5.793,7746,5.99,9123,5.793,18617,10.092,18618,12.032,18619,8.496,18620,12.692,18621,12.692,18622,12.692,18623,8.496,18624,12.032,18625,8.496,18626,8.496,18627,8.496,18628,8.496,18629,8.496]],["title/classes/ReferencesService.html",[0,0.24,2886,6.094]],["body/classes/ReferencesService.html",[0,0.303,2,0.935,3,0.017,4,0.017,5,0.011,7,0.124,8,1.286,27,0.346,29,0.674,30,0.001,31,0.493,32,0.11,33,0.405,34,1.504,35,1.019,47,0.976,95,0.1,101,0.012,103,0.001,104,0.001,135,1.597,145,3.285,148,0.871,467,3.56,628,5.237,1088,4.129,1626,4.877,1834,6.444,1835,4.506,1842,5.073,1994,6.444,2392,3.354,2886,9.773,2893,7.513,4410,5.186,5168,7.14,5279,10.316,6134,5.186,6686,6.585,12033,8.544,16699,6.585,18630,8.794,18631,11.14,18632,11.14,18633,8.794,18634,8.794,18635,8.794,18636,8.794,18637,11.14,18638,8.794,18639,11.14,18640,7.715,18641,8.794,18642,8.794,18643,8.794,18644,8.794,18645,8.794,18646,6.927,18647,7.715,18648,8.794,18649,8.794,18650,8.794,18651,8.794,18652,8.794]],["title/entities/RegistrationPinEntity.html",[205,1.418,18653,5.841]],["body/entities/RegistrationPinEntity.html",[0,0.277,3,0.015,4,0.015,5,0.007,7,0.181,26,2.165,27,0.489,30,0.001,32,0.155,34,1.372,47,0.98,95,0.134,96,2.124,99,1.644,101,0.014,103,0.001,104,0.001,112,0.915,122,2.442,125,1.912,129,2.401,159,0.824,190,2.228,197,2.919,205,2.144,206,2.616,221,7.862,223,4.104,224,2.341,225,4.033,229,3.173,231,1.392,232,2.173,233,2.503,458,3.209,459,5.526,702,6.363,1154,8.466,4624,4.561,8935,11.307,11151,5.469,11152,5.877,18653,8.829,18654,10.463,18655,11.935,18656,7.428,18657,9.781,18658,8.021,18659,8.021,18660,8.021,18661,8.021,18662,8.021,18663,9.211,18664,7.428,18665,7.428,18666,7.428,18667,7.428,18668,7.428,18669,7.037,18670,7.428]],["title/interfaces/RegistrationPinEntityProps.html",[159,0.713,18663,6.094]],["body/interfaces/RegistrationPinEntityProps.html",[0,0.283,3,0.016,4,0.016,5,0.008,7,0.183,26,2.584,30,0.001,32,0.162,33,0.491,34,2.144,47,1.006,95,0.135,96,2.176,99,1.684,101,0.014,103,0.001,104,0.001,112,0.926,122,2.614,125,1.959,129,2.46,159,0.844,161,1.951,197,2.285,205,2.178,223,4.032,224,2.398,225,4.097,229,3.25,231,1.426,232,2.227,233,2.565,458,3.288,459,5.614,702,6.571,1154,8.856,4624,4.673,8935,11.677,11151,5.603,11152,6.022,18653,6.911,18654,6.672,18655,7.61,18656,7.61,18657,10.23,18663,10.39,18664,7.61,18665,7.61,18666,7.61,18667,7.61,18668,7.61,18669,7.21,18670,7.61]],["title/modules/RegistrationPinModule.html",[252,1.835,8921,6.094]],["body/modules/RegistrationPinModule.html",[0,0.316,3,0.017,4,0.017,5,0.008,30,0.001,95,0.149,101,0.012,103,0.001,104,0.001,252,3.29,254,3.297,255,3.492,256,3.581,257,3.568,258,3.555,259,4.529,260,4.636,265,6.327,269,4.469,270,3.517,271,3.443,276,4.469,277,1.321,610,3.608,1027,2.812,2624,4.493,8921,12.575,18654,7.433,18671,9.155,18672,9.155,18673,9.155,18674,9.155,18675,12.634,18676,11.511,18677,9.155,18678,9.155]],["title/injectables/RegistrationPinRepo.html",[589,0.929,18676,5.841]],["body/injectables/RegistrationPinRepo.html",[0,0.316,3,0.017,4,0.017,5,0.008,7,0.129,8,1.321,27,0.451,29,0.877,30,0.001,31,0.641,32,0.143,33,0.526,35,1.063,36,2.846,47,0.884,95,0.142,96,2.43,97,3.758,101,0.012,103,0.001,104,0.001,135,1.198,148,0.909,205,1.873,228,1.665,277,1.324,317,2.706,400,2.732,433,1.132,589,1.53,591,2.188,702,5.649,2448,7.298,3608,5.99,3613,6.684,18653,7.716,18654,10.122,18676,9.621,18679,12.468,18680,9.176,18681,10.595,18682,9.176,18683,10.595,18684,9.176,18685,9.176]],["title/injectables/RegistrationPinService.html",[589,0.929,18675,6.094]],["body/injectables/RegistrationPinService.html",[0,0.327,3,0.018,4,0.018,5,0.009,7,0.133,8,1.348,27,0.46,29,0.895,30,0.001,31,0.654,32,0.146,33,0.537,35,1.098,36,2.474,47,0.897,95,0.133,101,0.012,103,0.001,104,0.001,148,0.939,228,1.72,277,1.368,317,2.745,400,2.823,433,1.17,589,1.561,591,2.26,702,4.68,2624,4.652,18654,10.271,18675,10.242,18676,11.61,18681,10.811,18683,10.811,18686,12.651,18687,9.479,18688,9.479,18689,9.479,18690,9.479,18691,9.479]],["title/interfaces/RejectRequestBody.html",[159,0.713,17196,5.639]],["body/interfaces/RejectRequestBody.html",[3,0.018,4,0.018,5,0.009,7,0.134,30,0.001,32,0.169,33,0.66,47,1.026,55,2.542,101,0.013,103,0.001,104,0.001,112,0.917,159,0.981,161,2.267,162,6.616,165,7.751,1080,4.562,1888,10.425,6232,11.13,6233,11.13,6234,10.425,17196,9.52,18692,9.547]],["title/interfaces/RelatedResourceProperties.html",[159,0.713,16105,5.639]],["body/interfaces/RelatedResourceProperties.html",[0,0.265,3,0.015,4,0.015,5,0.007,7,0.108,30,0.001,32,0.127,33,0.562,47,1.037,95,0.117,96,2.038,101,0.016,103,0,104,0,110,3.533,112,0.799,155,3.241,157,2.352,159,1.178,161,1.828,205,2.086,223,4.332,224,2.247,225,3.925,226,3.488,231,1.336,232,2.086,233,2.402,289,4.456,1821,3.735,2815,4.088,3037,3.693,3900,4.96,6165,4.96,6170,5.095,6179,6.862,6534,6.67,6584,5.428,7127,4.171,7458,5.095,7459,4.584,8064,4.839,16096,6.474,16097,8.296,16098,8.296,16099,8.049,16100,8.296,16105,9.92,16109,9.312,16113,6.474,16114,5.641,16115,10.275,16116,10.275,16117,8.049,16118,6.25,16119,6.474,16120,6.474,16121,6.474,16122,6.474,16123,6.474,16124,6.474,16125,6.474,16126,6.474,16127,6.474,16128,6.474,16129,6.474,16130,6.474]],["title/classes/RenameBodyParams.html",[0,0.24,3217,5.639]],["body/classes/RenameBodyParams.html",[0,0.415,2,1.06,3,0.019,4,0.019,5,0.009,7,0.14,27,0.393,30,0.001,32,0.124,47,0.854,95,0.148,101,0.013,103,0.001,104,0.001,112,0.941,155,4.103,190,1.79,194,3.901,195,2.634,196,3.983,197,2.773,200,3.055,202,2.291,296,3.146,298,4.314,299,4.693,3217,9.776,7979,8.211,12512,9.236,18693,9.974,18694,9.974,18695,9.974]],["title/classes/RenameFileParams.html",[0,0.24,7165,4.813]],["body/classes/RenameFileParams.html",[0,0.473,2,0.705,3,0.013,4,0.018,5,0.009,7,0.093,26,2.577,27,0.261,30,0.001,32,0.151,39,1.835,47,0.98,95,0.146,99,1.359,101,0.018,103,0,104,0,110,2.292,112,0.722,122,1.926,157,1.526,159,0.681,190,1.19,195,1.45,199,5.12,200,2.031,201,4.459,202,1.523,203,6.199,205,1.354,296,3.703,298,2.868,299,4.872,300,4.396,403,3.354,855,5.06,856,6.37,886,3.341,899,3.019,1078,2.907,1080,2.285,1169,3.838,1237,1.954,1290,5.948,1291,4.388,1292,4.388,2992,4.813,3182,4.96,3901,3.129,4557,2.321,5228,7.59,6517,5.576,6622,3.129,6803,6.493,7094,6.475,7096,4.328,7097,7.779,7102,4.381,7116,6.11,7146,4.595,7147,4.675,7148,4.675,7153,4.595,7154,8.274,7155,8.097,7156,8.097,7157,4.675,7158,4.595,7159,4.595,7160,4.675,7161,4.521,7162,6.295,7163,4.452,7164,4.521,7165,6.397,7166,4.521,7167,4.272,7168,4.675,7169,4.675,7170,4.675,7171,4.272,7172,4.272,7173,4.388,7174,4.521,7175,4.675,18696,6.63]],["title/interfaces/RepoLoader.html",[159,0.713,18588,6.094]],["body/interfaces/RepoLoader.html",[0,0.219,3,0.012,4,0.012,5,0.006,7,0.089,26,1.848,30,0.001,32,0.141,33,0.412,36,1.347,49,2.391,95,0.15,99,1.303,101,0.008,103,0,104,0,112,0.701,122,2.166,135,1.171,148,0.888,153,1.478,159,0.653,161,1.509,185,4.085,195,1.961,228,2.448,268,6.854,277,0.918,279,2.668,317,1.38,433,0.784,579,1.837,589,1.199,652,2.802,657,2.054,1531,7.32,1767,4.932,1849,3.68,1852,5.286,1853,2.079,1909,8.647,1910,6.928,1911,5.161,1912,8.261,1913,8.647,1914,7.95,1915,7.813,1932,4.566,1934,5.008,1952,7.32,2624,6.922,2654,7.195,2782,4.894,3519,4.045,5104,8.106,5705,7.688,6042,5.346,6668,9.154,8931,4.482,15029,5.161,18577,5.887,18578,5.887,18581,5.887,18585,5.887,18586,5.887,18588,10.43,18589,10.441,18590,5.887,18591,5.887,18592,5.887,18593,5.887,18594,5.887,18595,5.887,18596,5.887,18597,5.887,18598,5.887,18599,5.887,18600,5.887,18601,5.887,18602,5.887,18603,5.887,18604,5.887,18605,5.887,18606,5.887,18607,5.887,18608,5.887,18609,5.887,18610,5.887,18611,5.887,18612,5.887,18613,5.887,18614,5.887,18615,5.887,18616,8.301]],["title/classes/RequestInfo.html",[0,0.24,18697,6.094]],["body/classes/RequestInfo.html",[0,0.322,2,0.717,3,0.013,4,0.013,5,0.006,7,0.095,8,1.078,27,0.495,29,0.716,30,0.001,31,0.601,32,0.157,33,0.43,35,0.781,47,0.931,55,1.87,95,0.122,101,0.014,103,0,104,0,112,0.73,125,1.607,129,2.018,130,1.844,135,1.683,142,2.46,148,0.925,153,1.767,158,2.493,172,2.866,185,2.317,193,5.46,414,4.725,433,0.832,641,6.907,652,2.188,871,4.6,1081,4.597,1101,5.31,1372,3.549,1675,4.056,1743,4.842,1749,6.578,2332,5.991,2702,6.585,2815,3.736,4259,5.171,4886,5.048,6234,7.356,6258,5.171,7527,7.092,7529,4.056,11943,6.843,18004,5.915,18697,8.193,18698,6.243,18699,9.923,18700,9.923,18701,9.339,18702,8.648,18703,6.742,18704,6.742,18705,6.742,18706,6.742,18707,6.742,18708,8.648,18709,6.742,18710,11.249,18711,5.915,18712,6.243,18713,8.648,18714,5.669,18715,5.915,18716,8.648,18717,8.648,18718,6.243,18719,8.648,18720,6.243,18721,5.915,18722,6.243,18723,6.243,18724,8.648,18725,8.648,18726,8.648,18727,8.648,18728,6.243,18729,6.243,18730,6.243,18731,6.243,18732,6.243,18733,6.243,18734,6.243,18735,6.243,18736,6.243,18737,6.243,18738,6.243,18739,6.243,18740,6.243,18741,6.243,18742,6.243,18743,6.243,18744,6.243,18745,6.243]],["title/injectables/RequestLoggingInterceptor.html",[589,0.929,18746,6.432]],["body/injectables/RequestLoggingInterceptor.html",[0,0.276,3,0.015,4,0.015,5,0.007,7,0.113,8,1.211,27,0.413,29,0.804,30,0.001,31,0.588,32,0.131,33,0.482,35,0.928,39,2.215,95,0.151,101,0.011,103,0.001,104,0.001,110,2.768,125,1.909,135,1.527,148,1.038,158,2.96,183,3.064,193,5.08,277,1.155,325,5.207,326,3.042,349,4.075,365,3.575,400,2.384,433,0.988,571,4.625,589,1.402,591,1.909,641,4.552,1027,2.459,1056,5.157,1057,6.305,1058,6.14,1080,2.759,1237,2.36,1329,6.374,2382,8.968,2449,4.383,2450,5.825,3262,5.375,4046,4.816,7357,5.994,7529,4.816,9691,7.413,9693,9.199,9695,9.199,9696,10.885,9697,10.885,9699,9.199,9700,9.71,11943,5.866,13607,9.199,18715,7.023,18746,9.71,18747,11.693,18748,8.005,18749,8.005,18750,8.005,18751,9.71,18752,8.005,18753,8.005,18754,8.005,18755,8.005,18756,8.005,18757,8.005,18758,7.413,18759,10.485,18760,7.413,18761,8.005]],["title/classes/ResolvedGroupDto.html",[0,0.24,12687,5.639]],["body/classes/ResolvedGroupDto.html",[0,0.288,2,0.888,3,0.016,4,0.016,5,0.008,7,0.117,27,0.536,29,0.641,30,0.001,31,0.707,32,0.175,33,0.601,34,2.041,47,0.948,95,0.136,101,0.011,103,0.001,104,0.001,112,0.843,290,1.975,433,1.031,458,3.342,1065,5.291,1148,6.408,1853,2.732,1882,3.186,2108,3.646,2183,3.292,3290,6.783,3382,5.357,9951,7.737,9959,9.155,9997,9.115,12632,9.155,12687,10.599,12772,7.026,12775,6.783,12818,9.458,12830,7.33,12831,7.33,12832,7.33,12833,7.33,12834,7.737,12835,7.737,12924,10.038,18762,12.763,18763,10.781,18764,8.355,18765,8.355,18766,8.355,18767,8.355,18768,8.355]],["title/classes/ResolvedGroupUser.html",[0,0.24,12924,5.841]],["body/classes/ResolvedGroupUser.html",[0,0.328,2,1.012,3,0.018,4,0.018,5,0.009,7,0.134,27,0.499,29,0.73,30,0.001,31,0.534,32,0.158,33,0.438,95,0.134,101,0.012,103,0.001,104,0.001,112,0.915,232,3.172,290,2.997,331,5.61,433,1.175,435,3.234,1065,6.491,1853,3.114,2268,6.979,4994,9.105,5001,7.305,8002,6.869,8499,6.6,9964,6.841,12924,11.417,12950,8.356,12960,7.305,18762,12.247,18769,11.709,18770,9.524]],["title/classes/ResolvedUserMapper.html",[0,0.24,18771,6.094]],["body/classes/ResolvedUserMapper.html",[0,0.3,2,0.925,3,0.017,4,0.017,5,0.008,7,0.122,8,1.277,27,0.343,29,0.667,30,0.001,31,0.62,32,0.108,33,0.4,34,1.488,35,1.008,47,0.862,95,0.126,100,3.86,101,0.011,103,0.001,104,0.001,129,2.604,130,2.379,135,1.136,148,1.096,153,1.434,290,3.125,331,5.665,467,3.542,478,2.436,578,4.547,830,6.136,837,4.295,1826,6.56,3400,6.234,3433,5.841,3434,5.678,5025,6.248,7332,7.315,7992,7.315,8011,7.062,13967,8.055,13970,8.055,16726,8.055,17597,8.055,18771,9.706,18772,11.063,18773,9.706,18774,8.699,18775,10.766,18776,8.699,18777,8.699,18778,8.699,18779,8.699,18780,8.699,18781,8.699,18782,8.699]],["title/classes/ResolvedUserResponse.html",[0,0.24,18775,5.841]],["body/classes/ResolvedUserResponse.html",[0,0.282,2,0.868,3,0.016,4,0.016,5,0.008,7,0.115,27,0.54,30,0.001,31,0.458,32,0.173,34,2.139,47,1.005,83,3.64,95,0.093,101,0.014,103,0.001,104,0.001,112,0.831,190,2.462,202,1.876,296,3.777,331,5.225,430,4.855,431,5.063,700,5.696,701,5.696,1826,6.05,3400,6.05,4557,4.133,12962,6.631,18775,8.934,18783,13.868,18784,8.168,18785,8.168,18786,8.168,18787,8.168,18788,8.168,18789,8.168,18790,8.168,18791,8.168]],["title/classes/ResponseInfo.html",[0,0.24,18721,6.094]],["body/classes/ResponseInfo.html",[0,0.339,2,0.772,3,0.014,4,0.014,5,0.007,7,0.102,27,0.387,29,0.557,30,0.001,31,0.551,32,0.123,33,0.334,47,0.846,55,2.231,95,0.127,101,0.015,103,0,104,0,112,0.769,125,1.733,135,1.717,142,2.651,148,0.973,153,1.837,158,2.687,185,2.497,193,5.187,414,4.973,433,0.897,641,6.335,652,1.484,871,4.894,1081,7.597,1101,5.723,1372,3.825,1675,4.371,1743,5.219,1749,6.788,2332,4.063,2702,6.931,2815,3.933,4259,5.573,4886,5.441,6234,7.743,6258,5.573,7527,7.9,7529,4.371,11943,5.324,18004,6.375,18697,6.375,18698,6.729,18699,6.729,18700,6.729,18702,6.729,18708,6.729,18710,11.054,18711,6.375,18712,6.729,18713,9.104,18714,6.11,18715,6.375,18716,9.104,18717,9.104,18718,6.729,18719,9.104,18720,6.729,18721,8.625,18722,9.104,18723,6.729,18724,9.104,18725,9.104,18726,9.104,18727,9.104,18728,6.729,18729,6.729,18730,6.729,18731,6.729,18732,6.729,18733,6.729,18734,6.729,18735,6.729,18736,6.729,18737,6.729,18738,6.729,18739,6.729,18740,6.729,18741,6.729,18742,6.729,18743,6.729,18744,6.729,18745,6.729,18792,9.831]],["title/injectables/RestartUserLoginMigrationUc.html",[589,0.929,18793,5.841]],["body/injectables/RestartUserLoginMigrationUc.html",[0,0.255,3,0.014,4,0.014,5,0.007,7,0.104,8,1.149,27,0.392,29,0.763,30,0.001,31,0.558,32,0.124,33,0.458,35,0.858,36,2.109,39,2.048,47,0.916,95,0.153,101,0.01,103,0,104,0,135,1.469,142,2.7,148,0.733,153,1.22,180,5.518,228,2.183,290,3.122,317,2.44,433,1.228,478,2.072,579,2.138,589,1.331,591,1.764,595,2.793,610,2.916,652,2.455,657,2.756,693,3.37,711,3.34,1027,2.273,1422,3.031,1780,4.498,1853,2.42,1862,7.051,1961,4.452,2449,5.52,2666,3.421,4557,4.21,4938,5.146,4940,6.008,4942,6.008,4943,9.47,4944,10.402,4946,6.853,4949,5.422,4950,7.154,4951,5.829,4952,7.56,4953,6.008,4954,6.492,4955,6.223,4956,6.223,4957,8.732,10342,5.422,18793,8.369,18794,11.246,18795,8.732,18796,9.953,18797,6.853,18798,6.223,18799,7.4,18800,7.4,18801,7.4,18802,6.853,18803,7.4]],["title/classes/RestrictedContextMismatchLoggable.html",[0,0.24,6948,6.094]],["body/classes/RestrictedContextMismatchLoggable.html",[0,0.284,2,0.875,3,0.016,4,0.016,5,0.008,7,0.116,8,1.233,27,0.421,29,0.632,30,0.001,31,0.462,32,0.133,33,0.379,35,0.954,47,0.84,95,0.143,101,0.011,103,0.001,104,0.001,135,1.075,148,0.815,183,5.316,228,1.938,231,1.854,233,2.57,277,1.189,339,2.415,400,2.452,433,1.016,614,3.66,652,1.681,734,3.456,1027,2.529,1115,4.537,1237,3.148,1422,4.855,1423,5.92,1426,5.629,1468,5.92,1469,6.229,1477,4.276,1478,4.462,2034,6.957,2035,4.042,2684,2.67,5883,5.117,6391,7.542,6638,6.861,6948,9.37,6950,10.977,12370,6.486,15131,8.982,18804,11.854,18805,8.235,18806,8.235,18807,8.235,18808,11.854,18809,8.235,18810,8.235,18811,10.681,18812,7.626]],["title/interfaces/RetryOptions.html",[159,0.713,4867,5.639]],["body/interfaces/RetryOptions.html",[0,0.162,3,0.009,4,0.009,5,0.004,7,0.066,10,1.885,30,0.001,32,0.089,33,0.448,36,2.44,47,0.508,52,3.628,53,3.439,55,2.437,70,4.43,72,3.282,78,8.931,95,0.111,101,0.006,103,0,104,0,112,0.561,122,0.979,125,1.71,129,3.141,135,1.371,145,2.678,148,0.862,153,1.182,157,2.905,159,0.894,161,1.114,171,3.151,194,4.105,197,3.301,228,1.579,230,4.746,259,1.707,290,1.11,317,2.694,365,2.096,388,3.731,413,2.853,433,0.579,467,1.366,540,4.042,579,1.356,612,3.151,618,5.607,644,2.853,648,2.95,652,1.989,657,2.789,745,6.25,756,2.836,758,6.031,892,3.599,981,2.853,985,4.15,1027,1.441,1080,1.618,1372,2.47,1619,5.347,1626,3.977,1751,5.648,1899,3.063,1927,4.229,1938,2.524,2218,2.096,2234,3.696,2449,1.962,2450,3.367,2543,2.524,2843,6.855,2849,3.81,2920,7.582,3089,5.681,3382,5.328,3771,4.681,3779,3.106,3780,8.796,3781,6.449,3782,2.741,4854,5.822,4855,2.741,4856,2.916,4857,3.946,4858,3.946,4859,3.696,4860,6.03,4861,6.517,4862,3.696,4863,3.696,4864,6.03,4865,3.946,4866,3.946,4867,8.984,4868,8.193,4869,8.193,4870,5.822,4871,5.5,4872,3.946,4873,3.023,4874,3.599,4875,3.696,4876,3.946,4877,3.946,4878,7.691,4879,3.946,4880,8.826,4881,3.439,4882,3.946,4883,8.05,4884,3.946,4885,3.023,4886,3.514,4887,5.934,4888,3.371,4889,4.815,4890,3.514,4891,3.946,4892,3.946,4893,3.946,4894,5.056,4895,8.193,4896,3.946,4897,3.946,4898,3.514,4899,3.946,4900,8.193,4901,3.946,4902,3.946,4903,3.946,4904,8.193,4905,8.193,4906,3.696,4907,6.136,4908,3.946,4909,3.946,4910,3.946,4911,3.439,4912,3.81,4913,5.254,4914,3.696,4915,3.946,4916,3.946,4917,3.946,4918,3.946,4919,3.946,4920,5.254,4921,3.106,4922,3.696,4923,3.2,4924,3.599,4925,3.946,4926,3.946,4927,3.946,4928,3.946,4929,3.946,4930,3.946,4931,3.946,4932,3.946,4933,3.946,4934,3.946,4935,3.696,4936,3.81]],["title/classes/RevokeConsentParams.html",[0,0.24,17256,6.094]],["body/classes/RevokeConsentParams.html",[0,0.412,2,1.045,3,0.019,4,0.019,5,0.009,7,0.138,27,0.387,30,0.001,32,0.123,34,2.041,47,0.846,95,0.136,101,0.013,103,0.001,104,0.001,112,0.933,157,2.262,187,6.729,190,1.764,194,4.668,195,2.611,196,3.947,197,3.318,200,3.01,202,2.257,296,3.117,299,4.651,308,7.201,2815,5.479,6237,8.014,17256,10.47,18813,11.935,18814,9.827,18815,9.827]],["title/classes/RichText.html",[0,0.24,18816,5.639]],["body/classes/RichText.html",[0,0.3,2,0.925,3,0.017,4,0.017,5,0.008,7,0.122,27,0.479,29,0.667,30,0.001,31,0.488,32,0.175,33,0.4,47,0.784,95,0.139,101,0.011,103,0.001,104,0.001,112,0.865,157,2.546,190,1.985,202,1.998,296,3.178,403,5.597,433,1.365,821,4.429,868,5.308,886,3.48,2048,5.202,2108,3.797,2357,6.918,2392,5.153,2894,6.109,3139,9.587,3553,6.863,3739,5.13,6458,8.055,18816,10.732,18817,12.803,18818,8.699,18819,8.699,18820,8.699,18821,8.699,18822,8.699,18823,8.699,18824,7.315,18825,8.699]],["title/classes/RichTextContentBody.html",[0,0.24,6464,4.534]],["body/classes/RichTextContentBody.html",[0,0.47,2,0.572,3,0.01,4,0.01,5,0.005,7,0.076,9,2.499,27,0.313,30,0.001,31,0.676,32,0.174,47,0.911,83,1.566,95,0.127,99,1.102,101,0.018,103,0,104,0,110,1.859,112,0.621,130,3.296,155,1.706,157,2.401,190,1.426,195,1.176,200,1.648,201,3.668,202,1.235,223,1.669,231,2.022,296,3.688,299,4.922,300,4.459,339,1.577,360,3.058,854,4.993,855,3.215,886,1.692,899,2.449,1232,3.113,1749,3.058,1853,1.759,2048,4.239,2392,4.443,2707,3.727,2894,4.507,2900,6.624,3140,2.425,3182,2.512,3545,3.172,3547,3.172,3550,3.142,3553,6.049,3557,2.774,3562,3.007,4034,3.305,4055,3.305,4454,5.417,6365,5.938,6367,6.01,6369,5.938,6371,6.637,6373,6.01,6375,6.01,6423,3.465,6460,6.166,6461,6.166,6462,6.166,6463,6.166,6464,6.81,6465,6.166,6803,6.653,7898,3.511,7968,3.142,9513,6.343,9514,3.611,9516,8.187,9517,6.166,9518,6.166,9519,6.166,9520,3.611,9521,6.166,9522,3.305,9523,3.559,9524,6.166,9525,6.81,9526,3.511,9527,3.511,9528,3.511,9529,3.511,9530,3.611,9531,3.611,9532,3.611,9533,3.611,9534,3.611,9535,3.611,18826,5.378,18827,5.378,18828,5.378]],["title/classes/RichTextElement.html",[0,0.24,3127,4.268]],["body/classes/RichTextElement.html",[0,0.216,2,0.667,3,0.012,4,0.012,5,0.006,7,0.088,8,1.026,27,0.535,29,0.969,30,0.001,31,0.708,32,0.164,33,0.581,35,1.521,36,1.883,47,0.839,55,1.779,59,1.949,95,0.118,99,1.287,101,0.014,103,0,104,0,112,0.695,113,3.541,122,2.151,130,3.066,134,2.218,148,1.11,158,2.321,159,0.645,189,5.459,197,1.745,231,1.79,317,2.238,435,3.017,436,3.832,527,2.657,532,3.296,567,3.376,569,3.824,653,2.592,657,1.439,711,2.639,735,4.066,1770,3.61,1773,6.336,1842,4.046,2050,2.646,2648,5.861,2894,6.261,3039,7.894,3042,6.264,3043,6.264,3044,6.264,3045,7.319,3046,6.264,3048,3.946,3049,5.401,3050,6.55,3052,6.157,3053,5.401,3054,6.432,3056,4.35,3057,4.743,3059,6.482,3060,4.35,3064,4.35,3066,3.946,3093,5.345,3127,6.889,3553,6.907,4315,4.509,4316,4.509,4317,4.509,4326,3.901,5402,5.814,9537,4.35,18829,10.957,18830,6.278,18831,6.278,18832,6.278,18833,5.814,18834,6.278,18835,5.814,18836,6.278,18837,6.278,18838,6.278,18839,6.278,18840,8.227,18841,5.814,18842,8.227,18843,5.814,18844,5.814,18845,5.814,18846,5.508,18847,5.814]],["title/classes/RichTextElementContent.html",[0,0.24,18848,5.841]],["body/classes/RichTextElementContent.html",[0,0.368,2,0.874,3,0.016,4,0.016,5,0.008,7,0.116,27,0.466,29,0.63,30,0.001,31,0.461,32,0.166,33,0.378,34,2.025,47,0.84,95,0.143,99,1.684,101,0.014,103,0.001,104,0.001,112,0.834,190,1.914,202,1.887,296,3.627,304,4.057,433,1.461,458,3.288,821,4.184,886,2.585,1853,2.687,2108,3.587,2392,4.517,2894,6.624,2908,6.854,3178,4.388,3179,4.388,3182,3.838,3553,7.132,3727,5.603,3739,4.847,3988,6.119,3992,5.365,3994,5.365,4036,7.661,4454,6.149,6369,5.166,11458,7.61,18848,11.193,18849,11.606,18850,8.218,18851,8.218,18852,6.911,18853,6.911]],["title/classes/RichTextElementContentBody.html",[0,0.24,9521,4.534]],["body/classes/RichTextElementContentBody.html",[0,0.47,2,0.569,3,0.01,4,0.01,5,0.005,7,0.075,9,2.489,27,0.312,30,0.001,31,0.675,32,0.175,47,0.895,83,1.559,95,0.127,99,1.098,101,0.018,103,0,104,0,110,1.852,112,0.619,125,1.277,130,3.291,155,1.699,157,2.396,190,1.421,195,1.172,200,1.641,201,3.659,202,1.23,223,1.663,231,2.089,296,3.686,299,4.917,300,4.452,339,1.571,360,3.046,436,1.591,854,4.979,855,3.206,866,2.66,886,1.685,899,2.439,1232,3.1,1749,3.046,1853,1.752,2048,3.829,2392,4.713,2894,2.556,2900,6.615,3140,2.415,3182,2.502,3545,3.159,3547,3.159,3550,3.129,3553,4.893,3557,2.763,3562,2.995,4034,3.291,4055,3.291,4454,5.406,6365,5.924,6367,5.996,6369,6.545,6371,6.625,6373,5.996,6375,5.996,6423,3.451,6460,6.152,6461,6.152,6462,6.152,6463,6.152,6464,6.797,6465,6.152,6803,6.645,7898,3.497,7968,3.129,9513,5.319,9514,3.597,9516,8.495,9517,6.152,9518,6.152,9519,6.152,9520,3.597,9521,6.797,9522,3.291,9523,3.545,9524,6.152,9525,6.797,9526,3.497,9527,3.497,9528,3.497,9529,3.497,9530,3.597,9531,3.597,9532,3.597,9533,3.597,9534,3.597,9535,3.597,9565,4.108,18854,5.357,18855,5.357]],["title/entities/RichTextElementNode.html",[205,1.418,3476,5.471]],["body/entities/RichTextElementNode.html",[0,0.295,3,0.016,4,0.016,5,0.008,7,0.12,27,0.431,30,0.001,32,0.136,47,0.856,95,0.15,96,2.264,99,1.753,101,0.014,103,0.001,104,0.001,112,0.855,134,3.021,135,1.117,148,0.847,159,0.878,190,1.964,205,2.234,206,2.788,223,4.082,224,2.495,231,1.899,232,2.317,457,4.742,1770,4.446,1853,2.796,2048,4.903,2108,3.732,2648,5.221,2701,4.821,2894,6.525,3431,5.842,3441,6.517,3476,8.619,3513,5.198,3538,9.6,3553,7.19,3889,6.652,3910,5.254,4417,5.375,4419,5.375,10214,7.502,18852,7.19,18853,7.19,18856,11.175,18857,8.551,18858,9.6,18859,7.918,18860,7.918,18861,7.918]],["title/interfaces/RichTextElementNodeProps.html",[159,0.713,18858,6.094]],["body/interfaces/RichTextElementNodeProps.html",[0,0.301,3,0.017,4,0.017,5,0.008,7,0.123,30,0.001,32,0.138,47,0.909,95,0.151,96,2.313,99,1.791,101,0.015,103,0.001,104,0.001,112,0.867,134,3.087,135,1.141,148,0.865,159,0.897,161,2.074,205,2.265,223,3.784,224,2.55,231,2.116,232,2.367,457,4.845,1770,4.508,1853,2.857,2048,3.55,2108,3.813,2648,5.293,2701,4.926,2894,6.454,3431,5.923,3441,6.607,3476,6.882,3513,5.311,3538,9.733,3553,7.345,3889,7.41,3910,5.368,4417,5.492,4419,5.492,18852,7.347,18853,7.347,18856,8.091,18858,10.694,18859,8.091,18860,8.091,18861,8.091]],["title/interfaces/RichTextElementProps.html",[159,0.713,18846,6.094]],["body/interfaces/RichTextElementProps.html",[0,0.292,3,0.016,4,0.016,5,0.008,7,0.119,30,0.001,32,0.15,36,1.797,47,0.93,95,0.137,99,1.738,101,0.016,103,0.001,104,0.001,112,0.851,122,1.769,130,2.976,134,2.996,148,1.256,158,3.135,159,0.871,161,2.013,197,2.357,231,2.086,317,1.84,527,3.589,567,4.136,569,2.639,653,3.5,657,1.943,1842,4.956,2050,3.574,2894,6.403,3039,6.547,3045,5.535,3049,5.154,3050,6.358,3053,5.154,3054,6.243,3093,7.231,3127,7.385,3553,7.358,4326,5.268,9537,5.875,18829,7.851,18840,10.078,18841,7.851,18842,10.078,18843,7.851,18844,7.851,18845,7.851,18846,9.548,18847,7.851]],["title/classes/RichTextElementResponse.html",[0,0.24,4036,4.989]],["body/classes/RichTextElementResponse.html",[0,0.354,2,0.825,3,0.015,4,0.015,5,0.007,7,0.109,27,0.502,29,0.595,30,0.001,31,0.435,32,0.173,33,0.357,34,2.18,47,0.816,95,0.14,99,1.59,101,0.013,103,0,104,0,112,0.803,190,2.2,202,1.782,296,3.587,304,3.83,433,1.421,458,3.103,821,3.949,886,2.441,1853,2.537,2108,3.386,2392,4.862,2894,6.551,2908,7.379,3177,5.064,3178,5.483,3179,5.483,3181,4.62,3182,4.797,3553,6.619,3727,5.289,3739,4.575,3988,6.605,3992,5.064,3994,5.064,4036,9.157,4454,6.619,6369,6.456,18848,10.306,18849,12.131,18852,6.524,18853,6.524,18862,7.758,18863,7.758,18864,7.758,18865,7.758,18866,7.758]],["title/classes/RichTextElementResponseMapper.html",[0,0.24,6399,6.094]],["body/classes/RichTextElementResponseMapper.html",[0,0.264,2,0.815,3,0.015,4,0.015,5,0.007,7,0.108,8,1.177,27,0.481,29,0.782,30,0.001,31,0.571,32,0.152,33,0.469,34,1.312,35,1.327,95,0.139,100,2.676,101,0.01,103,0,104,0,112,0.797,122,2.126,135,1.002,141,4.37,148,1.134,153,2.011,430,3.153,467,3.801,652,2.337,653,3.166,711,2.278,829,4.523,830,5.653,1237,3.005,1853,2.508,2048,5.499,2139,4.439,2392,2.925,2639,8.389,2642,7.817,2643,7.817,2645,7.632,2894,6.358,2908,4.439,3127,8.315,3553,3.982,3988,5.847,3997,6.728,4004,5.407,4036,8.762,4454,3.982,5555,7.102,5883,7.113,6369,4.82,6394,5.882,6399,11.69,9578,9.136,9584,6.728,9586,6.04,9587,6.04,9588,6.04,18848,8.571,18867,12.701,18868,7.669,18869,7.669,18870,7.669,18871,7.669,18872,11.449,18873,7.669]],["title/classes/RocketChatError.html",[0,0.24,1079,5.639]],["body/classes/RocketChatError.html",[0,0.195,2,0.37,3,0.007,4,0.007,5,0.003,7,0.049,27,0.325,29,0.267,30,0.001,31,0.509,32,0.128,33,0.16,34,1.552,36,2.808,39,3.571,47,1.015,51,3.957,55,1.652,72,2.59,83,1.648,87,3.598,95,0.094,101,0.011,103,0,104,0,112,0.442,122,2.03,135,1.396,148,1.326,153,1.496,159,0.735,176,4.592,185,1.195,195,0.761,228,1.027,231,0.982,277,0.502,290,1.692,317,2.876,371,3.794,379,4.199,402,2.025,433,0.698,532,1.29,540,1.221,559,1.87,567,2.72,569,1.082,571,4.495,579,2.623,589,0.757,652,2.635,657,2.23,688,1.641,702,1.717,711,3.766,725,3.99,789,3.09,809,4.672,871,3.562,890,2.41,1050,8.327,1051,7.369,1052,2.924,1053,4.88,1054,1.961,1055,6.325,1056,2.24,1057,2.739,1058,2.667,1059,4.458,1060,3.859,1061,4.341,1062,4.341,1063,4.341,1064,4.595,1065,1.707,1066,2.924,1067,2.924,1068,2.924,1069,2.924,1070,2.924,1071,2.924,1072,2.498,1073,2.924,1074,2.924,1075,2.924,1076,2.212,1077,8.182,1078,1.525,1079,4.595,1080,2.467,1081,4.88,1082,2.452,1083,1.961,1084,4.88,1085,4.759,1086,5.422,1087,5.253,1088,5.335,1089,5.678,1090,6.35,1091,7.81,1092,6.533,1093,6.018,1094,2.667,1095,2.924,1096,2.924,1097,2.452,1098,2.924,1099,2.924,1100,2.823,1101,2.739,1102,2.924,1103,5.489,1104,2.823,1105,2.924,1106,2.924,1107,2.924,1108,2.823,1109,2.924,1110,2.924,1111,2.924,1112,7.367,1113,2.924,1114,2.924,1115,1.331,1116,2.924,1117,2.924,1118,2.924,1119,2.924,1120,2.924,1121,2.924,1122,2.924,1123,2.924,1124,8.182,1125,8.182,1126,2.924,1127,2.924,1128,2.924,1129,2.924,1130,2.924,1131,2.924,1132,2.41,1133,2.924,1134,2.924,1135,2.924,1136,2.924,1137,2.924,1138,2.924,1139,2.924,1140,2.924,1141,2.924,1142,2.924,1143,2.924,1144,2.924,1145,2.924,1146,2.924,1147,4.341,1148,4.341,1149,2.924,1150,2.924,1151,2.924,1152,2.924,1153,2.924,1154,2.371,1155,2.924,1156,2.924,1157,2.924,1158,4.759,1159,2.924,1160,4.759,1161,4.759,1162,2.924,1163,2.924,1164,2.667,1165,6.018,1166,4.736,1167,4.397,1168,2.924,1169,3.276,1170,5.184,1171,4.341,1172,5.359,1173,6.018,1174,6.018,1175,6.018,1176,2.667,1177,2.924,1178,2.924,1179,2.924,1180,7.633,1181,6.018,1182,6.018,1183,6.018,1184,2.924,1185,4.759,1186,4.759,1187,2.924,1188,2.924,1189,2.924,1190,2.924,1191,2.924,1192,4.759,1193,3.746,2455,2.071,18874,5.66,18875,3.478,18876,3.478]],["title/interfaces/RocketChatGroupModel.html",[159,0.713,1064,5.639]],["body/interfaces/RocketChatGroupModel.html",[0,0.199,3,0.007,4,0.007,5,0.003,7,0.05,30,0.001,31,0.469,32,0.129,34,1.572,36,2.819,39,3.587,47,1.016,51,4.012,55,1.457,72,2.64,83,1.68,87,3.657,95,0.095,101,0.011,103,0,104,0,112,0.451,122,2.25,135,1.409,148,1.331,153,1.515,159,0.747,161,0.845,172,2.452,176,4.649,185,1.224,195,0.779,228,1.047,231,0.618,277,0.514,290,1.72,317,2.887,371,3.855,379,4.258,402,2.064,433,0.439,532,1.321,540,1.25,559,1.915,567,2.764,569,1.108,571,4.529,579,2.655,589,0.772,652,2.479,657,2.255,688,1.681,702,1.758,711,3.785,725,4.068,789,3.15,809,4.748,871,3.061,890,2.468,1050,8.41,1051,2.891,1052,2.994,1053,4.959,1054,2.008,1055,6.414,1056,2.294,1057,2.805,1058,2.731,1059,4.544,1060,3.934,1061,4.425,1062,4.425,1063,4.425,1064,5.905,1065,4.104,1066,2.994,1067,2.994,1068,2.994,1069,2.994,1070,2.994,1071,2.994,1072,2.558,1073,2.994,1074,2.994,1075,2.994,1076,5.321,1077,7.727,1078,1.561,1079,2.891,1080,1.989,1081,2.428,1082,2.511,1083,2.008,1084,2.428,1085,2.994,1086,5.464,1087,5.294,1088,5.377,1089,5.722,1090,6.395,1091,7.866,1092,6.605,1093,6.116,1094,2.731,1095,2.994,1096,2.994,1097,2.511,1098,2.994,1099,2.994,1100,2.891,1101,2.805,1102,2.994,1103,5.578,1104,2.891,1105,2.994,1106,2.994,1107,2.994,1108,2.891,1109,2.994,1110,2.994,1111,2.994,1112,7.44,1113,2.994,1114,2.994,1115,1.363,1116,2.994,1117,2.994,1118,2.994,1119,2.994,1120,2.994,1121,2.994,1122,2.994,1123,2.994,1124,8.272,1125,8.272,1126,2.994,1127,2.994,1128,2.994,1129,2.994,1130,2.994,1131,2.994,1132,2.468,1133,2.994,1134,2.994,1135,2.994,1136,2.994,1137,2.994,1138,2.994,1139,2.994,1140,2.994,1141,2.994,1142,2.994,1143,2.994,1144,2.994,1145,2.994,1146,2.994,1147,4.425,1148,4.425,1149,2.994,1150,2.994,1151,2.994,1152,2.994,1153,2.994,1154,2.428,1155,2.994,1156,2.994,1157,2.994,1158,4.852,1159,2.994,1160,4.852,1161,4.852,1162,2.994,1163,2.994,1164,2.731,1165,6.116,1166,4.814,1167,4.469,1168,2.994,1169,3.339,1170,5.257,1171,4.425,1172,5.446,1173,6.116,1174,6.116,1175,6.116,1176,2.731,1177,2.994,1178,2.994,1179,2.994,1180,7.727,1181,6.116,1182,6.116,1183,6.116,1184,2.994,1185,4.852,1186,4.852,1187,2.994,1188,2.994,1189,2.994,1190,2.994,1191,2.994,1192,4.852,1193,3.818]],["title/modules/RocketChatModule.html",[252,1.835,8922,5.639]],["body/modules/RocketChatModule.html",[0,0.327,3,0.018,4,0.018,5,0.009,8,1.094,27,0.373,29,0.727,30,0.001,31,0.531,32,0.118,33,0.436,35,1.098,95,0.144,101,0.012,103,0.001,104,0.001,148,0.939,252,3.342,254,3.414,259,3.447,260,3.529,276,3.708,277,1.368,467,3.399,540,4.099,685,5.537,1016,8.049,1045,7.621,1048,6.569,1051,9.478,1054,5.345,1059,10.4,1108,10.271,1267,6.808,3872,7.621,8922,10.271,18877,9.479,18878,9.479,18879,7.971,18880,9.479,18881,9.479]],["title/interfaces/RocketChatOptions.html",[159,0.713,1059,5.471]],["body/interfaces/RocketChatOptions.html",[0,0.195,3,0.007,4,0.007,5,0.003,7,0.049,30,0.001,31,0.462,32,0.133,33,0.523,34,1.551,36,2.807,39,3.569,47,1.023,51,3.952,55,1.431,72,2.586,83,1.645,87,3.594,95,0.094,101,0.011,103,0,104,0,112,0.442,122,2.028,135,1.395,148,1.325,153,1.495,159,0.734,161,0.824,176,4.588,185,1.193,195,0.759,228,1.026,231,0.603,277,0.501,290,1.69,317,2.875,371,3.789,379,4.194,402,2.022,433,0.428,532,1.288,540,1.219,559,1.867,567,2.717,569,1.08,571,4.492,579,2.621,589,0.756,652,2.462,657,2.228,688,1.639,702,1.714,711,3.765,725,6.394,789,3.086,809,4.666,871,3.016,890,2.406,1050,8.321,1051,2.818,1052,2.919,1053,4.874,1054,1.957,1055,6.319,1056,2.237,1057,2.734,1058,2.663,1059,5.63,1060,6.183,1061,6.955,1062,6.955,1063,6.955,1064,4.588,1065,1.704,1066,2.919,1067,2.919,1068,2.919,1069,2.919,1070,2.919,1071,2.919,1072,2.493,1073,2.919,1074,2.919,1075,2.919,1076,2.209,1077,7.626,1078,1.522,1079,2.818,1080,1.948,1081,2.367,1082,2.448,1083,1.957,1084,2.367,1085,2.919,1086,5.419,1087,5.25,1088,5.332,1089,5.675,1090,6.347,1091,7.806,1092,6.528,1093,6.011,1094,2.663,1095,2.919,1096,2.919,1097,2.448,1098,2.919,1099,2.919,1100,2.818,1101,2.734,1102,2.919,1103,5.482,1104,2.818,1105,2.919,1106,2.919,1107,2.919,1108,2.818,1109,2.919,1110,2.919,1111,2.919,1112,7.361,1113,2.919,1114,2.919,1115,1.329,1116,2.919,1117,2.919,1118,2.919,1119,2.919,1120,2.919,1121,2.919,1122,2.919,1123,2.919,1124,8.175,1125,8.175,1126,2.919,1127,2.919,1128,2.919,1129,2.919,1130,2.919,1131,2.919,1132,2.406,1133,2.919,1134,2.919,1135,2.919,1136,2.919,1137,2.919,1138,2.919,1139,2.919,1140,2.919,1141,2.919,1142,2.919,1143,2.919,1144,2.919,1145,2.919,1146,2.919,1147,4.335,1148,4.335,1149,2.919,1150,2.919,1151,2.919,1152,2.919,1153,2.919,1154,2.367,1155,2.919,1156,2.919,1157,2.919,1158,4.753,1159,2.919,1160,4.753,1161,4.753,1162,2.919,1163,2.919,1164,2.663,1165,6.011,1166,4.731,1167,4.392,1168,2.919,1169,3.271,1170,5.179,1171,4.335,1172,5.353,1173,6.011,1174,6.011,1175,6.011,1176,2.663,1177,2.919,1178,2.919,1179,2.919,1180,7.626,1181,6.011,1182,6.011,1183,6.011,1184,2.919,1185,4.753,1186,4.753,1187,2.919,1188,2.919,1189,2.919,1190,2.919,1191,2.919,1192,4.753,1193,3.74]],["title/classes/RocketChatUser.html",[0,0.24,18882,5.471]],["body/classes/RocketChatUser.html",[0,0.267,2,0.823,3,0.015,4,0.015,5,0.007,7,0.109,8,1.184,26,2.372,27,0.534,30,0.001,32,0.097,35,0.897,39,3.389,47,0.928,51,5.875,83,3.565,95,0.117,99,1.587,101,0.013,103,0,104,0,112,0.802,113,4.088,125,2.743,148,1.297,159,0.795,185,2.661,231,1.997,430,5.036,431,5.251,435,3.483,436,3.047,532,3.806,711,3.047,735,4.694,1112,8.796,1193,8.84,1767,5.644,1770,5.177,1773,7.068,1849,4.482,3048,4.867,3066,4.867,3069,6.099,3071,6.099,3074,5.366,3075,5.366,8331,6.099,18137,5.938,18882,8.08,18883,9.787,18884,12.369,18885,7.17,18886,9.646,18887,7.743,18888,7.743,18889,7.743,18890,7.743,18891,7.743,18892,7.743,18893,7.743,18894,7.743,18895,7.743,18896,6.793,18897,7.17,18898,7.17,18899,7.17]],["title/entities/RocketChatUserEntity.html",[205,1.418,18900,5.471]],["body/entities/RocketChatUserEntity.html",[0,0.259,3,0.014,4,0.014,5,0.007,7,0.159,26,2.07,27,0.476,30,0.001,32,0.151,33,0.462,34,1.282,39,3.345,47,0.967,49,4.547,51,5.8,83,2.923,95,0.138,96,2.658,97,3.07,99,1.537,101,0.013,103,0,104,0,112,0.785,125,2.883,159,0.77,190,2.17,195,2.196,196,2.48,205,2.05,206,2.445,211,4.158,219,6.329,221,5.614,223,3.913,224,2.188,225,3.856,229,2.965,231,1.301,232,2.031,233,2.34,234,5.75,235,6.304,242,3.946,243,4.712,430,3.083,431,3.214,458,2.999,459,5.285,460,4.557,461,6.845,462,4.557,463,6.845,1112,8.683,1193,8.342,4624,4.263,10501,8.443,12956,5.905,18883,9.236,18886,9.523,18900,7.908,18901,11.672,18902,7.497,18903,7.497,18904,7.497,18905,7.497,18906,8.443,18907,6.942,18908,6.942,18909,6.942,18910,9.297,18911,6.942]],["title/interfaces/RocketChatUserEntityProps.html",[159,0.713,18906,5.841]],["body/interfaces/RocketChatUserEntityProps.html",[0,0.258,3,0.014,4,0.014,5,0.007,7,0.159,26,2.489,30,0.001,32,0.165,33,0.619,34,2.065,39,3.483,47,0.992,49,4.735,51,6.04,83,3.773,95,0.138,96,2.652,97,3.059,99,1.531,101,0.013,103,0,104,0,112,0.783,125,2.878,159,0.767,161,1.773,195,1.634,196,2.47,205,2.045,219,6.317,223,3.908,224,2.18,225,3.847,229,2.954,231,1.296,232,2.024,233,2.331,234,5.728,235,6.281,242,3.931,243,4.695,430,4.964,431,5.176,458,2.988,459,5.271,460,4.54,461,6.828,462,4.54,463,6.828,1112,9.042,1193,4.943,4624,4.247,12956,5.883,18883,5.473,18886,9.916,18900,5.883,18901,6.917,18906,9.501,18907,6.917,18908,6.917,18909,6.917,18910,9.274,18911,6.917]],["title/classes/RocketChatUserFactory.html",[0,0.24,18912,6.432]],["body/classes/RocketChatUserFactory.html",[0,0.175,2,0.541,3,0.01,4,0.01,5,0.005,7,0.071,8,0.88,27,0.519,29,1.02,30,0.001,31,0.71,32,0.168,33,0.583,34,1.736,35,1.442,39,1.407,47,0.54,49,2.866,51,3.656,55,2.37,59,3.374,83,2.218,95,0.104,96,1.346,97,2.083,101,0.007,103,0,104,0,112,0.596,113,4.548,127,5.071,129,3.642,130,3.328,135,0.664,148,0.504,153,1.673,157,2.103,172,3.239,185,2.619,192,2.798,205,2.22,206,2.485,228,1.383,231,1.323,326,4.817,374,3.296,430,2.091,431,2.18,433,0.627,436,3.914,467,2.218,501,7.322,502,5.629,505,4.226,506,5.629,507,5.481,508,4.226,509,4.226,510,4.226,511,4.16,512,4.652,513,5.068,514,6.867,515,5.935,516,7.111,517,2.843,522,2.82,523,4.226,524,2.843,525,5.306,526,5.458,527,4.296,528,5.134,529,4.193,530,2.82,531,2.658,532,4.234,533,2.715,534,2.658,535,2.82,536,2.843,537,4.989,538,2.82,539,7.029,540,4.273,541,6.749,542,2.843,543,4.434,544,2.82,545,2.843,546,2.82,547,2.843,548,2.82,549,3.16,550,2.971,551,2.82,552,6.231,553,2.843,554,2.82,555,4.226,556,3.855,557,4.226,558,2.843,559,2.735,560,2.696,561,2.282,562,2.82,563,2.82,564,2.82,565,2.843,566,2.843,567,1.933,568,2.82,569,1.583,570,2.843,571,3.014,572,2.82,573,2.843,1112,3.652,1193,5.043,2080,4.128,4479,3.16,7440,2.867,18879,4.276,18883,3.726,18886,6.002,18900,4.005,18906,4.276,18912,7.056,18913,5.085,18914,5.085,18915,5.085,18916,5.085,18917,5.085]],["title/classes/RocketChatUserMapper.html",[0,0.24,18918,6.094]],["body/classes/RocketChatUserMapper.html",[0,0.291,2,0.897,3,0.016,4,0.016,5,0.008,7,0.119,8,1.253,27,0.428,29,0.832,30,0.001,31,0.608,32,0.135,33,0.499,34,1.856,35,1.258,39,3.003,49,3.175,51,5.207,95,0.137,96,2.235,97,3.458,101,0.011,103,0.001,104,0.001,148,1.075,153,1.978,205,2.216,430,4.463,431,4.654,467,3.903,1112,7.796,1193,8.38,1770,3.43,2496,5.953,4724,9.127,4727,9.127,4728,9.127,4734,9.127,4737,5.246,4751,6.475,4752,6.475,7992,7.1,9157,7.1,9158,7.1,10560,7.407,18882,10.74,18883,8.79,18886,8.549,18900,10.74,18918,9.522,18919,11.996,18920,8.443,18921,8.443,18922,7.818,18923,7.818,18924,8.443,18925,8.443,18926,8.443,18927,8.443,18928,8.443,18929,8.443,18930,8.443]],["title/modules/RocketChatUserModule.html",[252,1.835,8923,6.094]],["body/modules/RocketChatUserModule.html",[0,0.326,3,0.018,4,0.018,5,0.009,30,0.001,95,0.144,101,0.012,103,0.001,104,0.001,252,3.339,254,3.406,255,3.607,256,3.699,257,3.685,258,3.672,259,4.596,260,4.704,269,4.56,270,3.632,271,3.557,277,1.365,1193,6.259,2624,4.641,8923,12.487,18883,6.929,18931,9.457,18932,9.457,18933,9.457,18934,12.687,18935,11.603,18936,9.457,18937,9.457,18938,9.457,18939,9.457]],["title/interfaces/RocketChatUserProps.html",[159,0.713,18896,6.094]],["body/interfaces/RocketChatUserProps.html",[0,0.282,3,0.016,4,0.016,5,0.008,7,0.115,26,2.673,30,0.001,32,0.166,33,0.611,39,3.587,47,1.005,51,6.219,83,3.994,95,0.121,99,1.674,101,0.014,103,0.001,104,0.001,112,0.831,125,2.815,148,1.316,159,0.839,161,1.939,185,2.807,231,2.049,430,5.33,431,5.558,1112,9.31,1193,5.406,1767,6.497,1770,4.317,1849,4.728,3074,5.66,3075,5.66,18137,6.264,18882,6.434,18883,5.985,18884,7.564,18885,7.564,18886,10.21,18896,9.321,18897,7.564,18898,7.564,18899,7.564]],["title/injectables/RocketChatUserRepo.html",[589,0.929,18935,5.841]],["body/injectables/RocketChatUserRepo.html",[0,0.266,3,0.015,4,0.015,5,0.007,7,0.108,8,1.181,11,8.059,13,7.214,26,2.751,27,0.482,29,0.88,30,0.001,31,0.644,32,0.143,33,0.528,35,1.186,36,2.828,37,8.059,39,3.383,42,7.214,49,2.901,95,0.149,96,2.042,97,3.159,99,1.581,101,0.01,103,0,104,0,135,1.499,148,1.137,153,1.687,205,2.089,228,1.4,277,1.113,317,2.838,400,2.297,433,0.952,589,1.368,591,1.839,657,1.768,675,3.927,735,4.682,736,5.702,766,4.179,773,7.349,1193,8.656,2448,6.837,3608,5.035,3613,5.977,4834,5.922,18882,8.059,18883,9.324,18900,9.043,18918,6.767,18922,7.142,18923,7.142,18935,8.604,18940,12.725,18941,7.142,18942,7.713,18943,7.713,18944,7.713,18945,7.713,18946,7.713,18947,7.713,18948,7.713]],["title/injectables/RocketChatUserService.html",[589,0.929,18934,6.094]],["body/injectables/RocketChatUserService.html",[0,0.292,3,0.016,4,0.016,5,0.008,7,0.119,8,1.255,11,8.561,13,7.663,26,2.813,27,0.473,29,0.921,30,0.001,31,0.673,32,0.15,33,0.552,35,1.259,36,2.685,37,8.561,39,3.007,42,7.663,95,0.145,99,1.734,101,0.011,103,0.001,104,0.001,135,1.105,148,1.076,228,1.535,277,1.221,290,2.57,317,2.606,400,2.519,433,1.044,589,1.453,591,2.017,657,1.939,711,3.984,1193,8.387,1882,3.227,2624,4.152,18882,8.561,18883,9.285,18934,9.535,18935,11.28,18949,12.672,18950,8.461,18951,8.461,18952,8.461,18953,8.461,18954,8.461,18955,8.461,18956,8.461]],["title/entities/Role.html",[205,1.418,331,3.073]],["body/entities/Role.html",[0,0.272,3,0.015,4,0.015,5,0.007,7,0.111,27,0.457,30,0.001,31,0.691,32,0.129,47,0.736,95,0.132,96,2.086,101,0.014,103,0.001,104,0.001,112,0.811,129,3.106,130,2.838,135,1.515,148,0.78,153,2.033,159,1.066,190,2.082,205,2.369,206,2.569,219,5.802,223,3.828,224,2.3,225,3.986,226,3.57,229,3.117,231,1.368,232,2.135,233,2.459,331,5.67,579,2.277,693,5.615,711,2.34,874,4.603,1821,3.823,1826,6.873,2183,3.105,2927,5.755,2931,5.755,3400,6.566,4410,4.647,4633,3.536,5024,6.839,8078,6.397,10501,6.626,11539,7.771,11567,8.174,17750,6.397,17765,6.397,17770,6.397,18957,7.297,18958,7.88,18959,7.88,18960,7.88,18961,7.88,18962,9.104,18963,6.626,18964,6.626,18965,7.297,18966,6.626,18967,7.297,18968,9.609,18969,7.297,18970,8.726]],["title/classes/RoleDto.html",[0,0.24,4994,4.989]],["body/classes/RoleDto.html",[0,0.322,2,0.991,3,0.018,4,0.018,5,0.009,7,0.131,26,2.589,27,0.517,29,0.715,30,0.001,31,0.736,32,0.164,33,0.621,34,2.148,95,0.132,99,1.911,101,0.012,103,0.001,104,0.001,112,0.903,232,3.131,433,1.151,435,3.166,458,3.731,459,4.908,595,3.519,693,5.719,1826,6.435,2183,3.675,4633,4.185,4994,9.692,5024,6.965,11539,6.983,11567,7.345,18971,9.325,18972,11.557,18973,9.325,18974,9.325]],["title/classes/RoleMapper.html",[0,0.24,18975,6.094]],["body/classes/RoleMapper.html",[0,0.318,2,0.98,3,0.018,4,0.018,5,0.008,7,0.13,8,1.325,27,0.452,29,0.88,30,0.001,31,0.7,32,0.143,33,0.528,34,1.577,35,1.33,95,0.131,101,0.012,103,0.001,104,0.001,148,1.136,153,1.52,205,1.882,331,6.153,467,3.992,478,2.581,1826,4.723,4737,5.728,4738,7.261,4994,9.848,5001,7.07,18975,10.066,18976,9.218,18977,10.066,18978,9.649,18979,11.474,18980,9.218,18981,9.218,18982,9.649,18983,9.218,18984,9.218,18985,9.218,18986,8.087]],["title/modules/RoleModule.html",[252,1.835,1524,5.327]],["body/modules/RoleModule.html",[0,0.308,3,0.017,4,0.017,5,0.008,30,0.001,95,0.148,101,0.012,103,0.001,104,0.001,252,3.253,254,3.216,255,3.406,256,3.493,257,3.48,258,3.468,259,4.478,260,4.584,269,4.4,270,3.43,271,3.359,277,1.289,279,3.749,1524,11.056,5097,11.009,5118,7.51,18987,8.931,18988,8.931,18989,8.931,18990,12.071,18991,12.593,18992,8.931,18993,8.931]],["title/classes/RoleNameMapper.html",[0,0.24,13950,6.094]],["body/classes/RoleNameMapper.html",[0,0.292,2,0.901,3,0.016,4,0.016,5,0.008,7,0.119,8,1.256,27,0.429,29,0.835,30,0.001,31,0.711,32,0.136,33,0.501,35,1.261,95,0.137,101,0.011,103,0.001,104,0.001,148,1.329,331,4.816,365,3.787,467,3.907,478,2.374,579,3.145,595,3.2,830,6.036,837,4.186,1882,3.234,4938,5.5,5024,7.745,11327,7.308,11328,7.308,12345,11.744,13581,10.571,13790,8.347,13924,9.219,13950,9.548,14001,8.572,18994,12.02,18995,8.479,18996,10.078,18997,10.883,18998,8.479,18999,10.883,19000,8.479,19001,7.851,19002,7.851,19003,7.851,19004,8.479,19005,8.479,19006,8.479]],["title/interfaces/RoleProperties.html",[159,0.713,18962,6.094]],["body/interfaces/RoleProperties.html",[0,0.278,3,0.015,4,0.015,5,0.007,7,0.113,30,0.001,31,0.724,32,0.146,33,0.573,47,0.747,95,0.134,96,2.137,101,0.014,103,0.001,104,0.001,112,0.824,135,1.533,148,0.799,153,1.935,159,1.083,161,1.916,205,2.397,219,5.894,223,3.644,224,2.355,225,4.049,226,3.657,229,3.192,231,1.401,232,2.186,233,2.518,331,5.714,579,2.332,693,5.88,711,2.397,874,4.714,1821,3.915,1826,7.011,2183,3.18,2927,4.475,2931,5.846,3400,6.786,4410,4.759,4633,3.621,5024,7.162,8078,6.551,11539,7.893,11567,8.302,17750,6.551,17765,6.551,17770,6.551,18957,7.473,18962,10.298,18963,6.786,18964,6.786,18965,7.473,18966,6.786,18967,7.473,18968,9.761,18969,7.473,18970,8.864]],["title/classes/RoleReference.html",[0,0.24,8008,4.736]],["body/classes/RoleReference.html",[0,0.332,2,1.022,3,0.018,4,0.018,5,0.009,7,0.135,26,2.625,27,0.501,29,0.737,30,0.001,31,0.744,32,0.159,33,0.442,34,2.177,95,0.134,101,0.013,103,0.001,104,0.001,112,0.921,134,3.397,159,0.988,232,3.191,433,1.186,435,3.265,458,3.847,459,5.061,2183,3.789,3740,8.436,4633,4.315,5024,7.061,8008,9.282,19007,13.269,19008,11.777,19009,9.616]],["title/injectables/RoleRepo.html",[589,0.929,18990,5.841]],["body/injectables/RoleRepo.html",[0,0.214,3,0.012,4,0.012,5,0.006,7,0.087,8,1.017,10,3.537,12,3.99,18,4.483,26,2.299,27,0.515,29,0.965,30,0.001,31,0.744,32,0.16,33,0.579,34,1.752,35,1.458,36,3.02,40,4.273,47,0.726,55,1.242,95,0.134,99,1.271,101,0.008,103,0,104,0,112,0.688,129,1.856,130,1.696,135,1.456,148,1.166,205,1.266,206,2.872,231,1.529,277,0.895,317,3.023,331,3.897,436,3.312,478,1.736,532,4.98,589,1.178,591,1.478,595,2.34,615,5.353,728,7.284,734,3.696,735,4.03,736,5.086,759,3.692,760,3.769,761,3.73,762,3.769,764,3.73,765,3.769,766,3.359,3603,7.406,3620,7.726,3966,4.372,4241,8.782,5024,6.98,5213,5.411,10574,7.15,10583,7.406,15447,5.742,18990,7.406,19010,6.2,19011,9.484,19012,7.726,19013,6.2,19014,6.2,19015,7.726,19016,6.2,19017,8.155,19018,6.2,19019,6.2,19020,8.807,19021,10.325,19022,8.807]],["title/injectables/RoleService.html",[589,0.929,5097,5.327]],["body/injectables/RoleService.html",[0,0.251,3,0.014,4,0.014,5,0.007,7,0.102,8,1.136,12,4.46,26,2.711,27,0.492,29,0.916,30,0.001,31,0.67,32,0.149,33,0.55,34,1.245,35,1.384,36,2.834,40,4.775,95,0.15,99,1.492,101,0.01,103,0,104,0,135,1.717,148,1.183,205,1.486,206,2.374,228,1.321,277,1.051,279,3.055,317,3.023,331,5.286,400,2.168,433,0.898,478,2.038,589,1.316,591,1.736,595,2.747,615,4.425,657,2.738,3400,3.73,3603,8.277,3620,8.635,4994,9.445,5024,6.625,5097,7.549,5213,4.473,11327,4.888,18975,6.386,18990,10.816,19012,8.635,19015,8.635,19023,7.28,19024,11.946,19025,7.28,19026,7.28,19027,7.28,19028,7.28,19029,7.28,19030,7.28,19031,7.28,19032,7.28,19033,12.862,19034,7.28,19035,7.28,19036,7.28,19037,7.28,19038,7.28,19039,7.28,19040,7.28]],["title/injectables/RoleUc.html",[589,0.929,18991,6.094]],["body/injectables/RoleUc.html",[0,0.32,3,0.018,4,0.018,5,0.009,7,0.13,8,1.33,27,0.454,29,0.884,30,0.001,31,0.646,32,0.144,33,0.53,35,1.076,36,2.856,95,0.15,101,0.012,103,0.001,104,0.001,135,1.212,148,0.919,228,1.685,277,1.34,317,2.72,400,2.764,433,1.145,589,1.541,591,2.213,595,3.503,4994,6.667,5001,7.119,5024,7.269,5097,10.534,5118,7.805,5213,5.703,18991,10.11,19012,10.11,19015,10.11,19041,9.282,19042,9.282,19043,9.282,19044,9.282,19045,9.282]],["title/injectables/RoomBoardDTOFactory.html",[589,0.929,9685,5.639]],["body/injectables/RoomBoardDTOFactory.html",[0,0.245,3,0.009,4,0.009,5,0.004,7,0.065,8,0.821,27,0.28,29,0.546,30,0.001,31,0.485,32,0.151,33,0.327,34,1.217,35,0.538,95,0.135,99,0.952,100,3.381,101,0.006,103,0,104,0,122,1.484,135,1.798,141,4.918,148,1.281,153,1.173,155,2.256,172,3.024,195,1.556,197,1.978,228,1.291,277,0.67,290,2.977,402,3.943,430,2.925,431,3.05,433,1.067,478,1.3,589,0.951,591,1.107,595,1.753,652,2.571,653,1.917,693,2.115,896,3.978,1132,3.218,1197,3.854,1778,2.919,1793,3.074,1862,5.884,1936,2.18,2032,3.683,2048,1.887,2050,5.509,2054,3.218,2218,2.074,2219,2.335,2220,2.253,2392,4.203,2666,2.147,2938,4.65,2940,4.781,2942,7.77,2945,5.456,2947,6.21,2957,8.785,3025,3.562,3026,3.074,3305,3.562,3330,9.165,3331,5.982,3335,5.982,3338,3.905,3357,4.074,3732,3.905,3742,2.919,3745,3.905,4063,2.919,4081,5.806,4228,2.713,4834,5.004,5234,5.806,5750,3.77,7825,3.905,8346,8.589,8499,3.218,8639,4.074,9590,6.241,9591,8.007,9592,4.301,9593,10.063,9594,10.296,9598,4.301,9599,4.301,9609,4.301,9610,10.205,9612,8.785,9613,4.301,9615,4.301,9620,4.301,9622,4.301,9624,4.301,9626,4.301,9628,3.403,9629,6.241,9630,6.241,9631,4.301,9632,4.301,9633,4.074,9634,6.587,9635,4.301,9636,6.587,9637,6.587,9638,4.301,9639,4.301,9640,4.301,9641,4.301,9642,4.301,9643,4.301,9644,4.301,9645,4.301,9646,4.301,9647,4.301,9648,6.587,9649,4.074,9650,4.301,9651,4.301,9652,4.301,9653,4.301,9654,8.007,9655,4.301,9656,4.301,9657,4.301,9658,4.074,9659,4.074,9660,6.587,9661,4.301,9662,4.301,9663,4.074,9664,4.074,9665,3.905,9666,4.074,9667,4.074,9668,4.301,9669,4.301,9670,4.301,9671,4.301,9672,4.301,9673,4.301,9674,4.074,9675,4.301,9676,4.301,9677,4.301,9678,4.301,9679,4.301,9680,4.301,9681,4.301,9682,4.301,9683,3.905,9684,4.301,9685,5.775,9686,8.007,9687,4.301,9688,4.301,19046,4.644,19047,4.644,19048,4.644,19049,4.644]],["title/injectables/RoomBoardResponseMapper.html",[589,0.929,15079,5.841]],["body/injectables/RoomBoardResponseMapper.html",[0,0.195,3,0.011,4,0.011,5,0.005,7,0.08,8,0.953,27,0.448,29,0.435,30,0.001,31,0.546,32,0.133,33,0.261,34,1.665,35,0.657,95,0.135,101,0.007,103,0,104,0,112,0.645,129,3.202,130,2.925,134,2.002,135,1.757,148,1.126,153,2.02,155,2.618,277,0.818,402,2.954,430,4.004,431,4.175,478,1.587,589,1.104,591,1.351,652,2.721,829,3.342,830,4.578,837,2.797,896,5.981,1132,3.927,1936,2.66,2032,3.137,2050,5.396,2054,3.927,2392,3.713,2940,2.593,2946,4.407,3021,6.941,3023,4.463,3025,4.346,3026,3.75,3726,11.488,3729,6.941,3730,6.941,3732,4.765,3736,5.247,3742,3.562,3743,5.247,3744,5.247,3745,4.765,3996,7.644,3999,4.971,4063,3.562,4077,4.971,4834,4.778,5750,4.6,9580,4.971,9612,9.561,9628,7.134,9629,8.542,9630,8.542,9659,7.242,9663,7.242,9664,4.971,9665,4.765,9666,4.971,9667,4.971,9674,7.242,9683,4.765,15079,6.941,19050,11.868,19051,9.737,19052,9.737,19053,9.737,19054,9.737,19055,5.667,19056,8.995,19057,5.667,19058,5.667,19059,5.667,19060,5.667,19061,5.667,19062,5.667,19063,5.667,19064,5.667,19065,5.667,19066,5.667,19067,9.737,19068,5.667,19069,5.667,19070,5.667,19071,7.644,19072,5.667,19073,5.667,19074,5.667,19075,8.254,19076,5.667,19077,8.254,19078,5.667,19079,5.667,19080,5.667,19081,5.667,19082,5.667,19083,5.667,19084,5.667,19085,5.667,19086,5.667,19087,5.667,19088,5.667,19089,5.667,19090,5.667,19091,5.667,19092,5.667,19093,5.667,19094,8.254,19095,5.667,19096,5.667,19097,5.667,19098,5.667,19099,5.667,19100,8.254,19101,5.667,19102,5.667,19103,5.667,19104,5.667,19105,5.667,19106,5.667]],["title/classes/RoomElementUrlParams.html",[0,0.24,19107,6.094]],["body/classes/RoomElementUrlParams.html",[0,0.395,2,0.975,3,0.017,4,0.017,5,0.008,7,0.129,27,0.451,30,0.001,32,0.143,34,2.232,47,0.925,95,0.131,101,0.012,103,0.001,104,0.001,112,0.894,157,2.633,190,2.053,194,5.105,195,2.855,196,4.317,197,3.629,200,2.811,202,2.107,296,3.257,855,5.046,1132,8.64,2023,9.82,2048,4.649,4166,6.955,4204,7.929,6511,8.497,6513,8.497,8346,9.774,19107,10.038,19108,12.468,19109,9.176]],["title/classes/RoomUrlParams.html",[0,0.24,19110,6.094]],["body/classes/RoomUrlParams.html",[0,0.415,2,1.06,3,0.019,4,0.019,5,0.009,7,0.14,27,0.393,30,0.001,32,0.124,34,2.06,47,0.854,95,0.137,101,0.013,103,0.001,104,0.001,112,0.941,157,2.295,190,1.79,194,4.71,195,2.634,196,3.983,197,3.348,200,3.055,202,2.291,296,3.146,855,4.874,1132,8.965,4166,6.063,8346,9.017,19110,10.565,19111,9.974,19112,9.974]],["title/injectables/RoomsAuthorisationService.html",[589,0.929,9594,5.471]],["body/injectables/RoomsAuthorisationService.html",[0,0.244,3,0.013,4,0.013,5,0.007,7,0.099,8,1.113,27,0.465,29,0.905,30,0.001,31,0.661,32,0.147,33,0.543,35,1.367,95,0.11,101,0.013,103,0,104,0,122,2.77,135,1.541,148,1.168,153,1.164,197,2.681,277,1.019,290,3.376,478,1.977,579,2.041,589,1.289,591,1.684,886,2.222,1783,4.339,1784,4.742,1838,7.748,1936,5.155,2032,5.304,2542,4.979,2938,6.344,2940,5.97,3519,4.493,5744,4.016,5756,4.206,6212,5.072,9594,7.595,9665,5.938,19113,7.062,19114,9.642,19115,9.642,19116,9.642,19117,9.642,19118,9.642,19119,7.062,19120,9.642,19121,7.062,19122,9.642,19123,7.062,19124,9.642,19125,7.062,19126,7.062,19127,9.642,19128,9.642,19129,7.062,19130,8.459,19131,7.062,19132,12.299,19133,7.062,19134,7.062,19135,7.062,19136,10.167,19137,9.642,19138,9.642,19139,8.929]],["title/controllers/RoomsController.html",[314,2.658,15082,6.094]],["body/controllers/RoomsController.html",[0,0.191,3,0.011,4,0.011,5,0.005,7,0.078,8,0.938,27,0.444,29,0.864,30,0.001,31,0.632,32,0.14,33,0.518,35,1.306,36,2.742,95,0.15,100,3.932,101,0.007,103,0,104,0,135,1.538,148,0.952,190,2.022,202,1.273,228,1.921,274,2.316,277,0.8,314,2.121,316,2.673,317,2.954,325,6.805,326,4.838,349,7.085,379,5.388,388,5.049,389,3.617,392,2.897,393,2.736,395,2.98,398,3.002,433,0.684,649,3.483,650,4.499,652,2.161,657,2.582,675,2.821,2050,3.423,3201,8.66,3221,2.858,3223,3.049,3257,8.083,3285,5.301,3298,3.405,3299,3.151,3998,3.721,4046,6.778,4834,4.7,7061,4.365,7308,4.499,7313,8.9,7533,5.132,7555,8.083,7609,8.083,8350,5.132,15078,8.083,15079,6.829,15080,8.083,15082,7.124,15087,5.132,15368,8.337,15375,5.132,17739,9.286,17744,9.286,19056,4.66,19107,9.286,19110,11.352,19140,5.541,19141,9.612,19142,9.612,19143,9.612,19144,5.541,19145,5.541,19146,5.541,19147,5.541,19148,5.541,19149,5.541,19150,5.541,19151,8.121,19152,5.541,19153,5.541,19154,8.121,19155,5.541,19156,5.541,19157,8.121,19158,5.541,19159,4.66,19160,7.52,19161,5.541,19162,5.541,19163,5.541,19164,5.541,19165,5.541,19166,5.541,19167,5.541,19168,8.121,19169,5.541,19170,5.541,19171,5.541,19172,5.541,19173,5.541,19174,7.124,19175,5.541,19176,7.124,19177,5.541,19178,5.541,19179,5.541]],["title/injectables/RoomsService.html",[589,0.929,7560,5.639]],["body/injectables/RoomsService.html",[0,0.23,3,0.013,4,0.013,5,0.006,7,0.094,8,1.071,26,2.778,27,0.42,29,0.817,30,0.001,31,0.597,32,0.144,33,0.49,34,1.142,35,1.075,36,2.441,39,2.949,95,0.154,99,1.368,101,0.009,103,0,104,0,122,1.392,135,1.678,145,2.493,148,0.918,195,1.46,228,2.197,277,0.963,279,2.801,317,2.719,433,1.144,478,1.869,589,1.24,591,1.591,652,2.675,657,2.945,1132,8.681,1853,2.183,1932,4.794,2019,9.622,2030,4.625,2031,3.975,2050,5.416,2053,4.998,2218,2.981,2219,3.356,2220,3.238,2946,3.563,2947,6.661,3263,9.622,4228,3.899,5474,6.181,5569,10.806,5577,6.181,5705,8.761,5706,9.381,5760,6.181,7560,7.53,8931,4.706,9649,5.856,15096,5.613,19180,6.674,19181,9.274,19182,9.274,19183,6.181,19184,6.674,19185,9.274,19186,6.674,19187,9.274,19188,6.674,19189,6.674,19190,9.274,19191,6.674,19192,9.274,19193,12.103,19194,6.674,19195,6.674,19196,6.674,19197,6.181,19198,6.674,19199,6.674,19200,6.674,19201,6.674,19202,6.674]],["title/injectables/RoomsUc.html",[589,0.929,15080,5.841]],["body/injectables/RoomsUc.html",[0,0.206,3,0.011,4,0.011,5,0.006,7,0.084,8,0.991,26,2.95,27,0.432,29,0.841,30,0.001,31,0.615,32,0.137,33,0.505,35,1.163,36,2.561,39,3.758,95,0.142,99,1.225,101,0.008,103,0,104,0,122,2.094,134,2.112,135,1.74,148,0.592,153,1.415,195,1.308,228,2.194,268,7.569,277,0.863,279,2.509,290,2.593,317,2.815,433,1.059,516,5.32,579,2.48,589,1.147,591,1.426,652,2.468,657,3.086,1132,8.048,1910,7.427,1997,7.906,2023,7.906,2032,4.594,2048,2.429,2050,4.895,2667,3.561,3263,9.324,4331,5.272,4434,9.622,7559,5.028,7560,10.109,7773,6.581,8346,6.425,9593,8.805,9594,8.639,9612,8.44,9633,5.245,9685,8.904,15080,7.216,19197,7.946,19203,5.979,19204,8.581,19205,8.581,19206,10.037,19207,5.979,19208,8.581,19209,5.979,19210,8.581,19211,10.037,19212,5.979,19213,5.979,19214,5.979,19215,5.979,19216,5.979,19217,10.037,19218,5.979,19219,5.979,19220,5.979,19221,8.581,19222,7.946,19223,8.581,19224,5.979,19225,5.979,19226,5.979,19227,5.979]],["title/interfaces/RpcMessage.html",[159,0.713,12216,5.201]],["body/interfaces/RpcMessage.html",[3,0.019,4,0.019,5,0.009,7,0.143,30,0.001,32,0.152,33,0.56,47,0.72,55,2.033,101,0.016,103,0.001,104,0.001,112,0.951,159,1.25,161,2.41,231,1.762,402,3.632,532,4.836,1080,4.764,1115,5.289,9887,10.972,12216,9.113,13564,8.905,13565,9.4]],["title/classes/RpcMessageProducer.html",[0,0.24,12297,5.841]],["body/classes/RpcMessageProducer.html",[0,0.244,2,0.753,3,0.013,4,0.013,5,0.007,7,0.1,8,1.116,9,3.293,27,0.465,29,0.979,30,0.001,31,0.662,32,0.159,33,0.544,35,1.275,47,0.976,55,2.366,80,5.307,95,0.126,101,0.009,103,0,104,0,113,5.528,135,1.436,148,0.957,158,4.368,193,4.199,228,1.996,317,2.387,433,1.193,532,3.586,569,2.206,579,2.048,657,1.624,813,3.962,871,4.026,1080,3.331,1115,4.884,1272,7.772,1274,6.309,1297,5.753,1298,9.555,1310,4.997,1311,4.626,1723,7.665,1944,5.753,4274,8.93,4307,9.259,7797,5.193,9883,6.217,9885,6.563,12216,8.847,12297,8.128,12298,8.479,12299,8.479,12305,8.479,12307,8.479,12309,8.479,13564,10.847,19228,7.087,19229,7.087,19230,7.087,19231,7.087,19232,7.087,19233,7.087,19234,7.087,19235,7.087,19236,7.087,19237,7.087,19238,7.087,19239,7.087,19240,9.665,19241,7.087,19242,7.087,19243,6.563]],["title/interfaces/Rule.html",[159,0.713,1985,4.316]],["body/interfaces/Rule.html",[3,0.017,4,0.017,5,0.008,7,0.125,8,1.293,27,0.441,29,0.859,30,0.001,31,0.628,32,0.14,33,0.515,35,1.298,59,2.754,95,0.152,101,0.012,103,0.001,104,0.001,122,2.69,159,0.911,161,2.106,183,5.198,185,4.739,290,3.329,478,2.484,532,5.038,1475,5.577,1767,4.882,1775,7.587,1838,6.809,1849,5.135,1850,6.255,1851,6.804,1852,5.232,1853,2.901,1981,7.217,1985,6.96,3678,7.414,3682,7.312,18046,7.783,19244,8.872,19245,8.872,19246,8.872]],["title/injectables/RuleManager.html",[589,0.929,1873,5.841]],["body/injectables/RuleManager.html",[0,0.205,3,0.011,4,0.011,5,0.005,7,0.083,8,0.985,27,0.43,29,0.767,30,0.001,31,0.56,32,0.15,33,0.46,35,0.989,95,0.142,101,0.008,103,0,104,0,112,0.667,135,1.115,145,2.217,148,0.845,153,1.407,183,4.183,185,3.979,228,2.525,277,0.857,290,2.738,433,1.053,478,1.662,579,2.466,589,1.141,591,1.415,652,2.877,711,2.969,756,2.347,1312,2.831,1767,6.014,1775,6.014,1849,3.435,1850,4.184,1851,4.551,1852,6.446,1853,1.941,1864,10.447,1865,10.447,1866,10.447,1867,10.086,1868,9.029,1870,10.447,1871,9.191,1872,10.086,1873,7.177,1874,10.447,1875,10.447,1876,10.086,1877,10.447,1878,10.447,1879,10.447,1885,9.121,1985,8.166,3519,5.43,19247,11.58,19248,5.935,19249,8.535,19250,8.535,19251,5.935,19252,9.995,19253,8.535,19254,8.535,19255,5.935,19256,8.535,19257,5.935,19258,5.935,19259,5.935,19260,5.935,19261,5.935,19262,5.935,19263,5.935,19264,5.935,19265,5.935,19266,5.935,19267,5.935,19268,5.935,19269,5.935,19270,5.935,19271,5.935,19272,5.935,19273,5.935,19274,5.935,19275,5.935,19276,5.935,19277,8.535,19278,5.935,19279,5.935]],["title/injectables/S3ClientAdapter.html",[589,0.929,12438,5.089]],["body/injectables/S3ClientAdapter.html",[0,0.089,3,0.005,4,0.005,5,0.009,7,0.036,8,0.511,10,2.753,27,0.444,29,0.829,30,0.001,31,0.606,32,0.138,33,0.497,34,0.757,35,1.253,36,2.343,47,0.927,59,0.804,72,1.186,95,0.108,101,0.003,103,0,104,0,112,0.346,125,0.618,129,0.776,130,0.709,135,1.722,141,4.383,145,0.968,148,1.117,153,2.015,158,1.637,159,0.266,183,2.624,185,0.89,228,0.803,277,0.374,316,2.136,317,2.862,326,4.202,339,2.461,371,3.634,374,2.507,379,1.319,414,6.241,433,0.546,569,0.806,571,3.319,579,3.124,589,0.592,591,0.618,615,1.575,629,5.935,652,2.087,653,1.07,657,2.707,688,1.223,711,3.883,734,2.878,1027,0.796,1080,0.893,1086,3.675,1087,3.56,1088,3.616,1089,3.848,1090,4.205,1091,5.171,1092,4.604,1094,1.987,1164,3.395,1197,5.344,1302,4.271,1304,3.899,1312,2.765,1313,1.767,1314,1.899,1328,5.731,1329,6.404,1330,9.091,1343,2.179,1476,2.72,1550,2.273,1743,1.861,1929,3.18,2087,2.507,2124,4.448,2449,2.423,2450,3.219,2467,4.566,2477,1.575,2617,3.523,2815,2.319,2819,2.586,2935,1.373,2974,4.1,3083,2.663,3341,1.861,3866,1.303,4131,7.084,4184,1.796,4672,1.559,5106,3.117,5190,3.068,5202,4.301,5215,6.875,5246,2.783,6528,2.517,7185,5.134,7186,8.591,7188,3.395,7189,3.395,7190,4.31,7193,8.055,7196,1.827,7197,1.61,7198,1.575,7199,1.575,7200,6.568,7201,6.875,7202,4.445,7203,3.315,7527,1.715,7654,1.796,8859,5.766,8868,3.723,8869,2.273,8870,3.594,8886,2.273,11409,2.041,11410,2.104,11943,7.227,12400,5.258,12407,2.273,12438,3.244,16118,2.104,17942,4.1,17944,5.368,19280,10.624,19281,2.591,19282,5.796,19283,4.427,19284,6.856,19285,5.796,19286,6.856,19287,4.427,19288,4.427,19289,5.085,19290,2.591,19291,4.427,19292,4.427,19293,2.591,19294,4.427,19295,2.591,19296,4.427,19297,2.591,19298,2.591,19299,4.427,19300,2.591,19301,4.427,19302,2.591,19303,2.591,19304,2.591,19305,2.591,19306,4.427,19307,2.591,19308,4.427,19309,2.591,19310,4.427,19311,2.591,19312,4.427,19313,2.591,19314,6.856,19315,4.427,19316,2.591,19317,4.427,19318,4.427,19319,4.427,19320,4.427,19321,2.591,19322,5.796,19323,2.591,19324,5.368,19325,2.399,19326,2.591,19327,2.591,19328,2.591,19329,2.591,19330,2.591,19331,2.273,19332,11.813,19333,8.965,19334,2.591,19335,2.591,19336,2.591,19337,2.591,19338,2.591,19339,2.591,19340,2.591,19341,2.591,19342,4.427,19343,6.856,19344,2.591,19345,2.591,19346,4.427,19347,2.591,19348,2.591,19349,2.591,19350,2.591,19351,2.591,19352,4.427,19353,4.427,19354,4.427,19355,3.594,19356,4.427,19357,2.591,19358,2.591,19359,2.591,19360,4.427,19361,2.591,19362,2.591,19363,2.591,19364,2.591,19365,2.591,19366,2.591,19367,2.591,19368,2.591,19369,2.591,19370,2.591,19371,2.591,19372,2.591,19373,5.796,19374,2.591,19375,2.591,19376,4.427,19377,2.591,19378,4.427,19379,2.591,19380,2.591,19381,2.591,19382,4.427,19383,2.591,19384,2.041,19385,2.591,19386,2.591,19387,2.591,19388,2.591,19389,2.591,19390,2.591,19391,4.427,19392,4.427,19393,2.591,19394,4.427,19395,2.591,19396,2.591,19397,2.591,19398,2.591,19399,2.591,19400,2.591,19401,5.796,19402,2.591,19403,4.427,19404,2.591,19405,2.591,19406,2.591,19407,2.591,19408,2.591,19409,2.591]],["title/modules/S3ClientModule.html",[252,1.835,12276,4.989]],["body/modules/S3ClientModule.html",[0,0.283,3,0.016,4,0.016,5,0.008,8,0.949,27,0.324,29,0.63,30,0.001,31,0.461,32,0.102,33,0.378,35,0.952,95,0.148,101,0.011,103,0.001,104,0.001,135,1.637,148,1.056,153,1.758,159,0.844,195,2.333,252,3.129,254,2.96,259,4.307,260,3.059,265,4.931,276,3.214,277,1.186,467,3.105,685,4.801,686,5.902,688,3.879,1016,7.534,1027,2.524,2087,5.123,2232,6.484,2449,4.458,2450,6.249,7186,7.987,7190,8.164,7192,7.273,7194,7.273,7195,7.273,8859,9.959,8868,6.911,8869,7.21,8870,8.66,8899,7.61,8901,7.61,8902,6.154,12196,7.21,12276,8.506,12438,6.022,14574,7.61,17848,7.21,19280,9.878,19410,10.667,19411,8.218,19412,8.218,19413,8.218,19414,8.218,19415,8.218,19416,8.218,19417,8.218]],["title/interfaces/S3Config.html",[159,0.713,7190,4.366]],["body/interfaces/S3Config.html",[3,0.016,4,0.016,5,0.01,7,0.116,30,0.001,32,0.166,47,1.048,55,2.376,95,0.094,101,0.017,103,0.001,104,0.001,112,0.836,125,2.55,159,1.369,161,1.959,339,3.137,414,5.41,1302,6.581,1304,4.692,1444,4.577,2232,7.63,5202,5.131,6528,4.692,7185,6.179,7186,6.179,7187,6.5,7188,6.329,7189,6.329,7190,6.723,7191,9.4,7192,8.559,7193,8.559,7194,8.559,7195,8.559,7196,5.818,7197,5.127,7198,5.016,7199,5.016,7200,6.046,7201,8.202,7202,8.202,7203,6.179]],["title/interfaces/S3Config-1.html",[159,0.593,756,2.284,7190,3.63]],["body/interfaces/S3Config-1.html",[3,0.019,4,0.019,5,0.009,7,0.137,30,0.001,32,0.171,47,1.039,101,0.013,103,0.001,104,0.001,112,0.93,159,1.004,161,2.322,2232,8.112,7190,7.48,7192,9.1,7193,9.1,7194,9.1,7195,9.1,12382,7.703,12383,7.703,19418,9.78]],["title/classes/SanisAnschriftResponse.html",[0,0.24,19419,6.094]],["body/classes/SanisAnschriftResponse.html",[0,0.423,2,1.093,3,0.02,4,0.02,5,0.009,7,0.145,27,0.405,30,0.001,32,0.128,33,0.564,47,0.869,95,0.117,101,0.013,103,0.001,104,0.001,112,0.959,190,1.845,200,3.149,299,4.779,300,4.693,1203,9.019,18289,7.248,19419,10.758,19420,8.807,19421,11.356,19422,13.105,19423,8.645]],["title/classes/SanisGeburtResponse.html",[0,0.24,19424,6.094]],["body/classes/SanisGeburtResponse.html",[0,0.423,2,1.093,3,0.02,4,0.02,5,0.009,7,0.145,27,0.405,30,0.001,32,0.128,33,0.564,47,0.869,95,0.117,101,0.013,103,0.001,104,0.001,112,0.959,190,1.845,200,3.149,299,4.779,300,4.693,442,8.346,18289,7.248,19420,8.807,19423,8.645,19424,10.758,19425,11.356,19426,13.105]],["title/classes/SanisGruppeResponse.html",[0,0.24,19427,6.094]],["body/classes/SanisGruppeResponse.html",[0,0.402,2,1.005,3,0.018,4,0.018,5,0.009,7,0.133,27,0.498,30,0.001,32,0.164,34,2.161,47,0.935,95,0.133,101,0.012,103,0.001,104,0.001,112,0.911,190,2.268,200,2.897,299,5.28,899,4.306,1065,4.641,14274,11.703,18289,6.668,19420,9.475,19423,7.953,19427,10.227,19428,12.217,19429,12.638,19430,9.457,19431,11.703,19432,11.658,19433,9.457,19434,6.668]],["title/classes/SanisGruppenResponse.html",[0,0.24,19435,5.639]],["body/classes/SanisGruppenResponse.html",[0,0.417,2,0.915,3,0.016,4,0.016,5,0.008,7,0.121,27,0.477,30,0.001,32,0.171,33,0.506,95,0.15,101,0.011,103,0.001,104,0.001,112,0.859,190,2.172,195,1.882,200,2.636,300,4.205,871,4.431,1232,4.981,2543,4.628,6273,6.36,6803,6.858,12493,8.534,12877,10.353,18289,6.067,19420,9.159,19427,11.188,19428,11.809,19434,8.534,19435,8.92,19436,11.809,19437,11.809,19438,12.104,19439,10.175,19440,7.969,19441,11.188,19442,7.969,19443,8.606,19444,7.969,19445,8.606,19446,7.969,19447,7.969]],["title/classes/SanisGruppenzugehoerigkeitResponse.html",[0,0.24,19441,6.094]],["body/classes/SanisGruppenzugehoerigkeitResponse.html",[0,0.413,2,1.052,3,0.019,4,0.019,5,0.009,7,0.139,27,0.39,30,0.001,32,0.123,33,0.552,95,0.137,101,0.013,103,0.001,104,0.001,112,0.937,190,1.777,195,2.622,200,3.033,300,4.588,331,4.381,899,4.508,1065,4.859,2543,6.447,6273,6.939,18289,6.98,19420,8.61,19434,6.98,19437,11.101,19441,10.517,19448,11.313,19449,11.313,19450,9.168,19451,9.168,19452,9.168]],["title/classes/SanisNameResponse.html",[0,0.24,19453,6.094]],["body/classes/SanisNameResponse.html",[0,0.416,2,1.063,3,0.019,4,0.019,5,0.009,7,0.141,27,0.475,30,0.001,31,0.726,32,0.15,47,0.953,95,0.114,101,0.013,103,0.001,104,0.001,112,0.943,190,2.164,200,3.063,299,5.363,18289,7.05,19420,9.301,19451,9.259,19453,10.581,19454,12.95,19455,12.95,19456,9.999]],["title/classes/SanisOrganisationResponse.html",[0,0.24,19457,6.094]],["body/classes/SanisOrganisationResponse.html",[0,0.422,2,0.939,3,0.017,4,0.017,5,0.008,7,0.124,27,0.507,30,0.001,31,0.687,32,0.169,33,0.514,34,2.095,47,0.962,95,0.14,101,0.012,103,0.001,104,0.001,112,0.873,190,2.311,200,2.706,299,5.368,300,4.276,871,3.233,1232,5.112,6803,6.008,12493,7.876,18289,6.228,18294,7.428,19419,11.295,19420,9.538,19421,11.923,19434,6.228,19457,9.8,19458,12.298,19459,12.252,19460,8.18,19461,8.833,19462,8.833,19463,8.18]],["title/classes/SanisPersonResponse.html",[0,0.24,19464,6.094]],["body/classes/SanisPersonResponse.html",[0,0.431,2,0.982,3,0.018,4,0.018,5,0.009,7,0.13,27,0.453,30,0.001,31,0.733,32,0.168,33,0.529,95,0.149,101,0.012,103,0.001,104,0.001,112,0.898,190,2.062,200,2.83,300,4.398,871,4.206,1232,5.348,6803,6.726,12493,8.818,18289,6.514,18294,7.77,19420,8.982,19424,11.479,19425,12.117,19434,8.102,19439,8.556,19442,8.556,19453,11.479,19460,8.556,19464,10.081,19465,10.972]],["title/classes/SanisPersonenkontextResponse.html",[0,0.24,19466,6.094]],["body/classes/SanisPersonenkontextResponse.html",[0,0.397,2,0.826,3,0.015,4,0.015,5,0.007,7,0.109,27,0.483,30,0.001,32,0.167,33,0.473,34,1.971,47,0.729,95,0.15,101,0.01,103,0,104,0,112,0.804,125,2.452,190,2.201,195,2.25,200,2.381,299,4.008,300,3.936,331,3.439,871,4.219,899,3.539,1232,4.499,1373,4.676,2543,4.18,6273,5.952,6798,8.1,6803,6.198,7397,8.027,12493,7.251,18289,5.48,18292,7.198,18294,6.536,19420,9.162,19434,8.648,19435,9.958,19436,11.358,19457,10.761,19458,11.358,19463,7.198,19466,9.022,19467,11.813,19468,11.525,19469,7.773,19470,7.773,19471,7.773,19472,7.198,19473,7.198,19474,7.198,19475,7.773,19476,10.673,19477,10.284,19478,6.819,19479,9.022,19480,11.358,19481,9.523]],["title/injectables/SanisProvisioningStrategy.html",[589,0.929,18062,5.841]],["body/injectables/SanisProvisioningStrategy.html",[0,0.302,3,0.009,4,0.009,5,0.004,7,0.067,8,0.835,27,0.469,29,0.886,30,0.001,31,0.648,32,0.139,33,0.532,34,0.811,35,1.339,36,1.856,95,0.151,100,1.655,101,0.006,103,0,104,0,110,1.64,113,1.89,122,1.508,125,2.336,135,1.653,148,0.97,153,1.444,158,1.754,185,1.63,189,2.914,195,1.037,197,1.319,200,1.453,228,1.59,231,1.255,277,0.685,317,2.585,338,4.442,339,1.391,357,3.638,411,3.552,433,0.892,436,2.602,569,2.25,579,2.089,589,0.967,591,1.131,595,1.79,652,2.68,657,2.245,871,3.86,983,3.056,1053,7.879,1054,2.674,1056,3.056,1065,2.328,1169,2.745,1213,3.017,1231,4.161,1232,2.745,1312,3.449,1359,3.851,1472,2.652,1475,2.981,1476,2.914,1613,3.988,1675,2.853,1850,3.344,2083,3.139,2113,6.291,2218,2.118,2219,2.384,2220,2.301,2357,2.697,2381,5.694,3290,3.851,3394,3.308,3998,3.185,4228,2.771,4298,5.869,4831,3.234,5024,2.63,5239,4.544,6260,3.552,7397,6.432,9949,5.544,9979,5.297,11141,7.727,11991,3.638,12599,4.392,12647,7.716,12879,4.161,12882,3.552,13422,6.079,14205,5.382,14207,5.694,14209,3.851,14210,7.574,14214,5.869,14215,7.336,14216,4.392,14218,5.643,14219,3.096,14220,3.096,14232,4.392,14239,7.111,14241,6.079,14243,6.079,14244,4.161,17095,7.685,17541,4.161,17547,9.381,17595,4.392,17663,7.685,17670,4.161,17676,4.392,18062,6.079,18063,8.238,19434,5.097,19435,5.869,19478,8.595,19479,4.161,19480,4.392,19481,4.392,19482,4.743,19483,7.229,19484,7.229,19485,7.229,19486,7.229,19487,4.743,19488,4.743,19489,6.694,19490,7.229,19491,4.743,19492,7.229,19493,10.794,19494,4.743,19495,4.743,19496,7.229,19497,4.743,19498,8.759,19499,7.229,19500,4.743,19501,4.161,19502,4.743,19503,4.743,19504,4.743,19505,4.743,19506,4.743,19507,4.743,19508,4.743,19509,4.743,19510,7.229,19511,4.743,19512,4.743,19513,7.229,19514,4.743,19515,4.743,19516,4.743,19517,4.743,19518,4.743,19519,4.743,19520,7.229,19521,4.743,19522,9.797,19523,6.694,19524,4.743,19525,4.743,19526,4.743,19527,4.743,19528,4.743,19529,4.743,19530,4.743,19531,4.743,19532,4.743,19533,4.743,19534,4.743,19535,4.743,19536,4.743]],["title/classes/SanisResponse.html",[0,0.24,19493,5.841]],["body/classes/SanisResponse.html",[0,0.418,2,0.917,3,0.016,4,0.016,5,0.008,7,0.121,27,0.477,30,0.001,32,0.168,47,0.78,95,0.151,101,0.011,103,0.001,104,0.001,112,0.86,125,2.056,190,2.174,195,1.887,200,2.642,299,4.288,871,4.435,1232,4.992,1373,5.188,2543,4.638,6273,6.368,6798,6.793,6803,6.516,7397,7.387,12493,7.757,19434,8.543,19444,7.986,19464,11.197,19465,11.197,19466,11.197,19467,7.986,19472,7.986,19473,7.986,19474,7.986,19478,7.566,19479,10.63,19493,9.252,19537,8.624,19538,12.117,19539,12.117,19540,8.624,19541,8.624,19542,8.624,19543,8.624,19544,8.624,19545,8.624]],["title/injectables/SanisResponseMapper.html",[589,0.929,18063,5.841]],["body/injectables/SanisResponseMapper.html",[0,0.17,3,0.009,4,0.021,5,0.005,7,0.069,8,0.861,27,0.475,29,0.899,30,0.001,31,0.692,32,0.15,33,0.539,35,1.308,47,0.35,95,0.134,100,1.724,101,0.006,103,0,104,0,112,0.583,125,2.876,127,3.726,129,1.479,130,1.351,135,1.692,142,4.78,148,1.266,153,1.77,228,0.897,277,0.713,290,2.124,400,1.471,433,0.61,589,0.997,591,1.178,595,1.865,652,2.521,700,2.384,701,2.384,704,4.573,711,2.668,829,2.914,871,1.809,1027,1.518,1065,5.541,1078,2.166,1422,2.024,2449,4.719,3262,3.318,3400,2.532,4834,6.983,5024,5.955,5191,3.144,6859,4.576,7397,5.199,9949,8.988,9952,7.88,9957,9.725,9959,5.719,9962,4.155,9972,3.369,9979,7.33,9981,4.868,10342,3.621,10834,4.576,11141,7.33,11142,3.79,11327,5.007,11328,5.007,12730,4.335,12873,4.335,12877,8.717,12879,4.335,13790,5.719,13924,6.888,14189,6.906,14190,6.906,15890,4.576,18063,6.271,19431,4.576,19435,8.717,19448,4.335,19449,4.335,19476,4.576,19493,11.309,19523,6.906,19546,12.347,19547,8.982,19548,7.457,19549,7.457,19550,7.457,19551,7.457,19552,6.906,19553,7.457,19554,7.457,19555,4.941,19556,7.457,19557,4.941,19558,7.457,19559,4.941,19560,7.457,19561,7.457,19562,4.941,19563,7.457,19564,4.941,19565,4.941,19566,4.941,19567,4.941,19568,4.941,19569,4.941,19570,4.941,19571,4.941,19572,4.941,19573,4.941,19574,4.941,19575,4.941,19576,4.941,19577,4.941,19578,4.941,19579,4.941,19580,4.941,19581,4.941,19582,4.941,19583,4.941,19584,4.941,19585,4.941,19586,4.941,19587,4.941,19588,4.941,19589,8.982,19590,4.941,19591,4.941,19592,4.576,19593,4.941,19594,4.941,19595,4.941,19596,4.941,19597,4.941,19598,7.457,19599,4.941,19600,4.941,19601,4.941,19602,4.941,19603,4.941,19604,4.941]],["title/classes/SanisSonstigeGruppenzugehoerigeResponse.html",[0,0.24,12877,5.639]],["body/classes/SanisSonstigeGruppenzugehoerigeResponse.html",[0,0.402,2,1.005,3,0.018,4,0.018,5,0.009,7,0.133,27,0.459,30,0.001,32,0.145,33,0.536,47,0.826,95,0.133,101,0.012,103,0.001,104,0.001,112,0.911,190,2.092,195,2.55,200,2.897,299,4.925,300,4.462,331,4.184,899,4.306,1065,4.641,2543,6.269,6273,6.747,12877,9.464,18289,6.668,19420,9.077,19423,7.953,19434,6.668,19440,8.758,19446,11.703,19447,11.703,19448,11.087,19449,11.087,19450,8.758,19452,8.758,19592,11.703]],["title/classes/SaveH5PEditorParams.html",[0,0.24,12496,5.201]],["body/classes/SaveH5PEditorParams.html",[0,0.458,2,0.804,3,0.014,4,0.014,5,0.007,7,0.106,26,2.083,27,0.298,30,0.001,32,0.094,47,0.942,95,0.152,99,1.551,101,0.017,103,0,104,0,112,0.79,131,5.143,158,3.735,190,1.358,200,2.318,202,1.738,205,1.545,296,3.719,298,3.273,299,4.432,300,3.867,326,4.322,478,2.119,855,5.265,856,7.214,886,3.818,899,3.446,1195,4.988,1198,6.842,1240,7.671,2163,3.498,3182,5.668,3901,3.572,4551,9.411,4554,8.722,6345,5.244,6523,7.424,6573,4.303,6619,8.274,6622,3.572,7979,6.888,11597,4.421,12450,6.595,12488,5.667,12489,5.961,12493,7.123,12494,5.667,12495,5.667,12496,7.565,12497,5.804,12498,5.961,12499,5.667,12500,5.961,19605,7.568]],["title/interfaces/ScanResult.html",[159,0.713,1290,4.475]],["body/interfaces/ScanResult.html",[3,0.018,4,0.018,5,0.009,7,0.132,30,0.001,32,0.157,33,0.634,47,1.028,55,1.885,101,0.017,103,0.001,104,0.001,112,0.909,122,2.822,159,1.295,161,2.235,1080,4.54,1260,7.642,1268,7.142,1270,9.437,1272,7.306,1274,7.588,1283,6.636,1287,8.258,1288,7.915,1289,7.642,1290,7.489,1291,8.717,1292,8.717]],["title/classes/ScanResultDto.html",[0,0.24,11826,5.841]],["body/classes/ScanResultDto.html",[0,0.332,2,1.025,3,0.018,4,0.018,5,0.009,7,0.136,27,0.502,29,0.739,30,0.001,31,0.54,32,0.159,33,0.443,47,0.836,95,0.11,101,0.013,103,0.001,104,0.001,112,0.922,205,1.968,232,3.195,402,4.56,433,1.189,435,3.273,2126,5.631,2127,6.572,7090,8.69,7102,6.302,11736,8.69,11739,7.218,11740,7.218,11826,11.456,19606,13.28,19607,9.639,19608,11.795,19609,9.639]],["title/classes/ScanResultParams.html",[0,0.24,7163,4.664]],["body/classes/ScanResultParams.html",[0,0.469,2,0.669,3,0.012,4,0.017,5,0.008,7,0.089,26,2.535,27,0.407,30,0.001,32,0.158,33,0.566,39,1.743,47,0.978,95,0.144,99,1.291,101,0.018,103,0,104,0,110,2.177,112,0.696,122,2.155,157,1.449,159,0.647,190,1.854,195,1.378,199,4.938,200,1.929,201,4.36,202,1.446,203,5.979,205,1.286,296,3.68,298,2.724,299,4.792,300,4.297,403,3.186,855,4.977,856,6.227,886,3.25,899,2.868,1078,2.761,1080,3.56,1169,3.645,1237,2.625,1290,6.655,1291,6.836,1292,6.836,2992,4.681,3182,4.824,3901,2.972,4557,2.204,5228,6.493,6622,2.972,6803,6.371,7094,6.33,7096,4.111,7097,7.632,7102,5.328,7116,7.431,7146,4.364,7147,4.44,7148,4.44,7153,4.364,7154,8.139,7155,7.916,7156,7.916,7157,4.44,7158,4.364,7159,4.364,7160,4.44,7161,4.294,7162,6.071,7163,5.979,7164,4.294,7165,4.364,7166,4.294,7167,4.057,7168,4.44,7169,4.44,7170,4.44,7171,4.057,7172,4.057,7173,4.168,7174,4.294,7175,4.44,19610,10.329,19611,6.298,19612,6.298,19613,6.298]],["title/entities/SchoolEntity.html",[205,1.418,692,3.278]],["body/entities/SchoolEntity.html",[0,0.299,3,0.009,4,0.009,5,0.004,7,0.122,27,0.504,30,0.001,31,0.545,32,0.157,33,0.621,47,0.918,83,2.526,95,0.126,96,1.237,101,0.014,102,2.476,103,0,104,0,112,0.678,122,2.185,125,1.704,129,1.398,130,1.277,142,1.704,153,1.178,159,0.48,180,1.994,185,2.455,190,2.296,195,3.058,196,4.466,197,2.702,205,1.459,206,1.523,211,6.126,223,4.019,224,1.363,226,2.117,229,1.848,231,0.811,232,1.266,233,1.458,316,3.447,692,3.373,704,5.332,789,2.55,886,1.469,1082,3.293,1821,2.266,1826,4.446,2183,1.841,2488,4.872,2698,4.418,2924,5.913,2927,3.963,2931,3.963,2932,5.628,3395,4.603,3396,4.099,4617,3.237,4623,3.815,4633,2.096,4683,6.526,4700,3.582,4701,5.628,4952,6.943,5178,4.738,5183,6.593,5685,4.074,6194,4.664,7095,3.049,7388,7.258,7396,6.526,7403,4.326,7454,4.44,7473,5.48,7474,3.498,7665,4.872,7782,2.81,7783,4.44,9981,6.345,9986,3.498,9987,5.801,10008,3.498,11395,7.31,12422,7.033,13546,5.628,14925,3.355,15070,6.627,15137,7.454,15138,7.122,15139,4.798,15143,6.981,15155,3.792,15157,3.582,15159,3.498,15172,3.792,15202,5.628,15210,8.271,19614,3.928,19615,6.009,19616,4.671,19617,4.671,19618,4.671,19619,4.671,19620,4.671,19621,4.671,19622,4.671,19623,7.891,19624,4.671,19625,4.671,19626,6.009,19627,4.671,19628,4.671,19629,4.326,19630,6.009,19631,4.671,19632,3.792,19633,3.792,19634,3.928,19635,3.928,19636,3.928,19637,6.009,19638,3.928,19639,3.928,19640,3.928,19641,3.928,19642,3.928,19643,3.928,19644,3.928,19645,3.928,19646,7.045,19647,3.928,19648,3.928,19649,5.628,19650,3.928,19651,6.009,19652,3.928,19653,3.928,19654,6.009,19655,3.928,19656,3.928]],["title/classes/SchoolExternalTool.html",[0,0.24,2004,3.682]],["body/classes/SchoolExternalTool.html",[0,0.244,2,0.753,3,0.013,4,0.013,5,0.007,7,0.1,8,1.116,27,0.531,29,0.948,30,0.001,31,0.693,32,0.166,33,0.601,34,1.881,35,0.821,47,0.976,55,2.476,95,0.135,101,0.013,103,0,104,0,112,0.756,148,0.702,159,0.728,231,1.678,232,2.619,402,4.227,433,0.874,435,2.406,436,2.105,614,4.411,837,3.499,1237,2.849,1852,6.967,2004,5.123,2126,4.14,2127,4.832,2183,2.793,2777,7.819,4557,4.135,4633,3.18,4634,4.179,4635,5.307,6055,7.856,6640,5.582,6644,9.061,6652,5.193,6654,5.582,6655,4.455,6656,5.09,6657,5.435,6664,4.759,6665,5.193,6666,6.942,6667,5.307,8180,7.874,10312,6.5,10509,5.193,10510,5.582,19657,11.335,19658,9.935,19659,9.665,19660,7.087,19661,7.087,19662,7.087,19663,9.306,19664,7.087,19665,7.087,19666,7.087]],["title/classes/SchoolExternalToolConfigurationStatus.html",[0,0.24,19663,5.471]],["body/classes/SchoolExternalToolConfigurationStatus.html",[0,0.338,2,1.042,3,0.019,4,0.019,5,0.009,7,0.138,27,0.469,29,0.752,30,0.001,31,0.55,32,0.149,33,0.451,101,0.013,103,0.001,104,0.001,112,0.932,122,2.486,232,3.229,433,1.21,435,3.329,614,4.297,2218,5.735,2684,4.163,6063,9.053,6675,9.078,6677,11.036,6678,7.959,6679,8.244,8180,7.501,19663,10.781,19667,12.84]],["title/classes/SchoolExternalToolConfigurationStatusResponse.html",[0,0.24,19668,5.841]],["body/classes/SchoolExternalToolConfigurationStatusResponse.html",[0,0.312,2,0.962,3,0.017,4,0.017,5,0.008,7,0.127,27,0.447,29,0.694,30,0.001,31,0.507,32,0.154,33,0.416,95,0.103,101,0.012,103,0.001,104,0.001,112,0.887,122,2.71,157,2.611,190,1.624,194,4.437,202,2.079,232,3.074,296,2.963,417,6.343,433,1.117,435,3.074,614,4.214,703,3.521,866,4.496,2684,4.338,2762,5.634,6063,8.736,6244,4.646,6527,7.618,6678,7.349,6679,7.612,6685,9.21,6686,8.495,6687,9.953,8180,7.238,19668,11.249,19669,9.503,19670,9.052,19671,11.345]],["title/classes/SchoolExternalToolConfigurationTemplateListResponse.html",[0,0.24,19672,5.841]],["body/classes/SchoolExternalToolConfigurationTemplateListResponse.html",[0,0.321,2,0.989,3,0.018,4,0.018,5,0.009,7,0.131,27,0.455,29,0.713,30,0.001,31,0.522,32,0.156,33,0.428,95,0.132,101,0.012,103,0.001,104,0.001,112,0.902,125,2.218,190,1.67,202,2.137,296,3.014,339,3.955,433,1.148,614,4.05,703,2.888,861,6.447,864,6.62,866,4.621,881,5.079,1167,7.709,2218,5.859,2682,5.685,2684,4.253,6692,8.851,6693,8.615,19672,9.704,19673,11.618,19674,11.311]],["title/classes/SchoolExternalToolConfigurationTemplateResponse.html",[0,0.24,19674,5.639]],["body/classes/SchoolExternalToolConfigurationTemplateResponse.html",[0,0.268,2,0.825,3,0.015,4,0.015,5,0.007,7,0.109,26,2.374,27,0.516,29,0.94,30,0.001,31,0.687,32,0.167,33,0.53,47,0.869,55,2.057,95,0.131,99,1.59,101,0.01,103,0,104,0,112,0.803,125,1.85,190,2.288,201,4.471,202,1.782,296,3.544,433,0.957,614,4.126,866,3.853,1220,4.45,2183,3.057,2218,6.06,2682,6.055,2684,4.333,5710,5.939,6664,5.209,6694,7.184,6695,8.118,6696,6.605,6698,9.511,6700,7.184,6701,7.184,6702,7.184,6703,9.654,6704,9.511,6705,7.184,6706,6.806,6707,6.524,6708,7.184,6711,7.184,6712,5.134,6713,7.184,6714,7.184,6715,5.809,6716,7.184,19673,12.375,19674,10.35]],["title/entities/SchoolExternalToolEntity.html",[205,1.418,6744,5.201]],["body/entities/SchoolExternalToolEntity.html",[0,0.265,3,0.015,4,0.015,5,0.007,7,0.108,27,0.481,30,0.001,32,0.152,55,2.297,95,0.145,96,2.038,101,0.013,103,0,104,0,112,0.799,159,0.791,190,2.193,195,2.673,205,2.086,206,2.51,223,3.56,224,2.247,225,3.925,229,3.045,231,1.336,232,2.086,233,2.402,614,4.339,692,6.002,703,3.947,1835,5.236,2684,3.962,4617,5.335,4623,5.456,4624,4.377,5685,5.737,6055,7.35,6666,5.529,6667,5.765,6736,6.25,6742,9.753,6744,7.652,6747,6.474,6748,4.783,6750,4.679,7460,4.839,7461,4.679,7665,5.249,8180,7.429,9808,5.428,10224,8.776,10229,7.129,10231,7.129,10232,7.129,10238,7.129,13785,8.296,19675,11.776,19676,10.72,19677,8.593,19678,7.129,19679,7.129,19680,7.129,19681,7.129]],["title/classes/SchoolExternalToolFactory.html",[0,0.24,19682,6.432]],["body/classes/SchoolExternalToolFactory.html",[0,0.168,2,0.518,3,0.009,4,0.009,5,0.004,7,0.068,8,0.851,27,0.52,29,1.029,30,0.001,31,0.74,32,0.168,33,0.586,34,1.261,35,1.425,47,0.756,55,2.335,59,3.312,95,0.122,101,0.006,103,0,104,0,112,0.577,113,4.474,127,4.961,129,3.594,130,3.428,135,0.963,148,0.73,153,0.803,157,2.049,172,3.135,185,2.534,192,2.679,205,1.818,206,2.405,228,1.338,231,1.28,326,4.841,374,3.19,402,1.742,433,0.601,436,3.88,467,2.147,501,7.078,502,5.507,505,4.09,506,5.507,507,5.29,508,4.09,509,4.09,510,4.09,511,4.026,512,4.532,513,4.937,514,6.662,515,5.825,516,6.994,517,2.723,522,2.701,523,4.09,524,2.723,525,5.191,526,5.34,527,4.203,528,5.023,529,4.058,530,2.701,531,2.545,532,4.165,533,2.6,534,2.545,535,2.701,536,2.723,537,4.86,538,2.701,539,7.161,540,4.217,541,6.661,542,2.723,543,3.578,544,2.701,545,2.723,546,2.701,547,2.723,548,2.701,551,2.701,552,6.129,553,2.723,554,2.701,555,4.09,556,3.731,557,4.09,558,2.723,559,2.619,560,2.581,561,2.185,562,2.701,563,2.701,564,2.701,565,2.723,566,2.723,567,1.851,568,2.701,569,1.516,570,2.723,571,2.917,572,2.701,573,2.723,575,2.793,576,2.872,577,2.9,614,3.066,703,1.511,756,1.926,2004,2.581,2007,2.433,2218,2.175,2684,1.579,2777,4.881,4557,3.476,4665,6.276,4667,3.497,6055,2.929,6759,3.953,6764,3.835,10312,4.058,11284,3.568,19658,4.095,19682,8.243,19683,7.375,19684,7.375,19685,7.375,19686,4.869,19687,4.869,19688,4.869,19689,4.869,19690,4.869,19691,4.869]],["title/classes/SchoolExternalToolIdParams.html",[0,0.24,19692,5.471]],["body/classes/SchoolExternalToolIdParams.html",[0,0.413,2,1.05,3,0.019,4,0.019,5,0.009,7,0.139,27,0.389,30,0.001,32,0.123,47,0.849,95,0.137,101,0.013,103,0.001,104,0.001,112,0.936,190,1.772,194,4.682,195,2.618,196,3.266,197,3.328,200,3.025,202,2.268,296,3.127,307,7.236,614,4.134,855,4.845,2684,3.881,6697,9.251,6768,8.305,6769,8.664,8180,6.993,19669,9.181,19692,9.429]],["title/classes/SchoolExternalToolIdParams-1.html",[0,0.199,756,2.284,19692,4.549]],["body/classes/SchoolExternalToolIdParams-1.html",[0,0.416,2,1.063,3,0.019,4,0.019,5,0.009,7,0.141,26,2.67,27,0.394,30,0.001,32,0.125,95,0.148,99,2.049,101,0.013,103,0.001,104,0.001,112,0.943,190,1.794,200,3.063,202,2.296,296,3.15,307,7.326,614,3.724,855,4.881,2682,5.465,2684,3.911,6697,9.301,6771,7.326,6772,8.118,19692,9.499,19693,11.168]],["title/classes/SchoolExternalToolMetadata.html",[0,0.24,19694,5.471]],["body/classes/SchoolExternalToolMetadata.html",[0,0.335,2,1.032,3,0.018,4,0.018,5,0.009,7,0.136,27,0.467,29,0.745,30,0.001,31,0.544,32,0.148,33,0.447,95,0.111,101,0.013,103,0.001,104,0.001,112,0.926,183,3.716,433,1.198,614,4.341,1078,5.194,2684,4.146,6739,7.446,6748,6.032,8180,7.469,10367,8.99,10368,9.574,10372,10.97,10375,8.164,19657,10.751,19694,10.937,19695,11.847,19696,8.99]],["title/classes/SchoolExternalToolMetadataMapper.html",[0,0.24,19697,6.094]],["body/classes/SchoolExternalToolMetadataMapper.html",[0,0.323,2,0.996,3,0.018,4,0.018,5,0.009,7,0.132,8,1.338,27,0.369,29,0.718,30,0.001,31,0.525,32,0.117,33,0.431,35,1.086,95,0.144,101,0.012,103,0.001,104,0.001,135,1.224,148,0.928,153,1.911,467,3.664,614,4.06,837,4.625,1882,3.573,2684,3.758,6728,9.129,8180,6.771,10368,7.016,10379,8.676,10382,8.676,10383,9.41,10384,7.606,19694,10.843,19696,8.676,19697,10.168,19698,9.746,19699,12.585,19700,9.369,19701,11.363]],["title/classes/SchoolExternalToolMetadataResponse.html",[0,0.24,19701,5.841]],["body/classes/SchoolExternalToolMetadataResponse.html",[0,0.329,2,1.015,3,0.018,4,0.018,5,0.009,7,0.134,27,0.462,29,0.732,30,0.001,31,0.535,32,0.146,33,0.439,95,0.134,101,0.013,103,0.001,104,0.001,112,0.917,190,1.713,202,2.193,296,3.315,433,1.178,614,4.27,2684,4.115,6728,9.996,7735,8.028,8180,7.414,10368,9.503,10375,8.028,10384,7.751,10388,10.858,19669,9.733,19701,11.63,19702,11.726,19703,9.547]],["title/injectables/SchoolExternalToolMetadataService.html",[589,0.929,19704,5.841]],["body/injectables/SchoolExternalToolMetadataService.html",[0,0.274,3,0.015,4,0.015,5,0.007,7,0.112,8,1.204,26,2.55,27,0.411,29,0.8,30,0.001,31,0.585,32,0.145,33,0.48,35,0.92,36,1.683,55,1.59,95,0.153,99,1.628,101,0.01,103,0.001,104,0.001,135,1.615,145,3.896,148,0.786,153,1.309,158,2.936,183,3.04,228,1.441,277,1.146,279,3.333,317,2.528,400,2.365,433,0.98,589,1.395,591,1.894,614,4.15,657,2.391,980,4.405,1078,3.482,1882,3.029,2034,5.785,2035,3.898,2684,3.777,4143,7.004,5452,4.73,6036,9.743,6697,7.492,6739,8,6748,4.935,6862,6.678,8180,6.804,10368,5.947,10392,7.354,10394,9.659,10399,6.448,10400,6.967,10404,9.659,10405,6.967,10406,6.967,10408,7.354,10409,7.354,10410,9.659,10412,7.354,19694,10.119,19704,8.772,19705,10.219,19706,7.942,19707,7.942,19708,10.431,19709,7.942,19710,7.942]],["title/modules/SchoolExternalToolModule.html",[252,1.835,6778,5.639]],["body/modules/SchoolExternalToolModule.html",[0,0.283,3,0.016,4,0.016,5,0.008,30,0.001,95,0.148,101,0.011,103,0.001,104,0.001,252,3.125,254,2.954,255,3.128,256,3.208,257,3.196,258,3.184,259,4.302,260,4.404,269,4.166,270,3.15,271,3.084,276,4.166,277,1.184,610,3.232,614,3.653,2684,3.454,5732,4.791,6028,9.961,6038,6.658,6777,10.478,6778,11.805,6779,9.961,6786,6.46,6929,9.388,8180,4.791,19704,11.928,19711,8.201,19712,8.201,19713,8.201,19714,8.201,19715,11.173,19716,8.201]],["title/classes/SchoolExternalToolPostParams.html",[0,0.24,19717,5.841]],["body/classes/SchoolExternalToolPostParams.html",[0,0.407,2,0.868,3,0.016,4,0.016,5,0.008,7,0.115,27,0.493,29,0.906,30,0.001,32,0.169,33,0.489,47,0.886,55,2.128,95,0.143,101,0.011,103,0.001,104,0.001,112,0.831,190,2.244,195,1.787,200,2.502,201,4.125,202,1.876,296,3.266,299,4.601,300,4.066,417,4.567,614,4.319,855,4.779,1220,4.685,1232,4.728,2543,4.393,2684,4.203,3759,7.491,4557,4.133,5710,6.09,6273,6.149,6789,7.564,6795,9.942,6796,6.869,6797,6.869,6798,6.434,6800,7.564,6801,7.564,6803,5.714,8180,7.572,10312,6.497,19669,9.942,19717,8.934,19718,8.168,19719,9.838,19720,8.168,19721,8.168,19722,8.168]],["title/interfaces/SchoolExternalToolProperties.html",[159,0.713,19677,5.841]],["body/interfaces/SchoolExternalToolProperties.html",[0,0.282,3,0.016,4,0.016,5,0.008,7,0.115,30,0.001,32,0.156,33,0.489,55,2.504,95,0.148,96,2.163,101,0.014,103,0.001,104,0.001,112,0.831,159,0.839,161,1.939,195,2.324,205,2.169,223,3.298,224,2.384,225,4.081,229,3.231,231,1.418,232,2.213,233,2.549,614,3.861,692,6.272,703,4.125,1835,4.185,2684,4.203,4623,5.672,4624,4.645,5685,5.544,6055,7.798,6666,5.866,6667,6.116,6736,6.631,6742,10.191,6744,6.116,6747,6.869,6748,5.075,6750,4.965,7460,5.134,7461,4.965,8180,4.771,9808,5.759,10224,9.31,13785,6.631,19675,7.564,19676,11.373,19677,9.929,19678,7.564,19679,7.564,19680,7.564,19681,7.564]],["title/interfaces/SchoolExternalToolProps.html",[159,0.713,19658,5.841]],["body/interfaces/SchoolExternalToolProps.html",[0,0.273,3,0.015,4,0.015,5,0.007,7,0.111,29,0.985,30,0.001,31,0.72,32,0.167,33,0.606,34,2.114,47,1.015,55,2.571,95,0.141,101,0.014,103,0.001,104,0.001,112,0.814,148,0.785,159,0.814,161,1.882,231,1.376,232,2.147,402,4.594,614,3.217,837,3.913,1237,2.336,1852,6.144,2004,4.201,2126,4.63,2127,5.404,2183,3.123,2777,8.497,4557,4.494,4633,3.557,4634,4.674,4635,5.935,6055,8.081,6640,6.243,6644,6.079,6654,6.243,6655,4.982,6656,5.693,6657,6.079,6664,5.322,6665,5.808,6666,7.482,6667,5.935,8180,4.63,10312,7.064,10509,5.808,10510,6.243,19657,6.665,19658,9.785,19663,10.113]],["title/classes/SchoolExternalToolRefDO.html",[0,0.24,6650,5.841]],["body/classes/SchoolExternalToolRefDO.html",[0,0.325,2,1.003,3,0.018,4,0.018,5,0.009,7,0.133,27,0.497,29,0.724,30,0.001,31,0.529,32,0.157,33,0.581,47,0.934,101,0.012,103,0.001,104,0.001,112,0.91,232,3.154,433,1.164,435,3.204,614,4.358,2684,4.274,4557,4.419,4634,5.564,4635,7.065,6650,11.386,6763,9.453,6840,8.737,8180,7.7,19657,11.085,19723,9.435,19724,11.641,19725,9.435,19726,9.435]],["title/injectables/SchoolExternalToolRepo.html",[589,0.929,1912,5.089]],["body/injectables/SchoolExternalToolRepo.html",[0,0.135,3,0.007,4,0.007,5,0.004,7,0.055,8,0.718,10,2.498,12,2.819,18,3.167,26,2.302,27,0.523,29,1.018,30,0.001,31,0.739,32,0.164,33,0.607,34,1.51,35,1.517,36,2.728,40,1.898,47,0.816,95,0.14,96,1.647,97,1.602,101,0.005,103,0,104,0,112,0.306,113,3.087,135,1.572,148,1.192,153,1.277,185,2.138,205,1.802,206,2.526,224,1.141,228,1.129,231,1.08,317,2.943,365,2.779,433,0.483,435,1.328,436,3.693,478,1.095,569,1.217,589,0.832,591,0.933,614,3.839,652,2.458,657,1.775,692,1.846,703,2.404,729,4.311,735,2.847,736,4.785,766,2.119,787,6.101,1027,1.201,1770,4.372,1912,4.558,2004,6.677,2007,1.954,2139,2.264,2436,9.075,2438,4.558,2439,4.558,2440,4.558,2441,4.558,2442,4.468,2443,4.468,2444,4.558,2445,4.468,2446,4.558,2447,2.866,2448,4.936,2449,3.69,2450,4.144,2452,4.558,2453,2.866,2455,5.257,2456,2.866,2458,2.866,2460,6.376,2461,4.311,2462,2.866,2464,2.866,2466,4.558,2470,4.558,2472,4.311,2473,4.468,2475,2.866,2477,2.377,2478,2.459,2479,2.866,2481,2.866,2483,2.809,2484,2.866,2490,2.71,2501,5.461,2502,5.94,2524,5.458,2537,3.622,2684,2.511,2762,1.942,2920,3.601,4557,2.711,4737,2.43,4949,2.866,5106,3.346,6055,3.742,6244,3.172,6744,9.311,6748,3.865,6817,2.866,7843,2.758,8199,2.459,10224,2.809,10312,5.301,10572,3.622,10578,5.458,10588,3.622,10589,2.929,10590,2.929,10591,2.929,10592,2.929,10593,2.929,10594,3,10595,2.929,10596,2.929,10597,2.929,10598,2.929,10601,3.289,10604,3.622,10605,3.081,11284,5.675,15975,3.289,19676,3.431,19677,8.628,19727,10.341,19728,6.221,19729,6.221,19730,6.221,19731,5.761,19732,3.911,19733,6.221,19734,9.963,19735,3.911,19736,9.001,19737,6.221,19738,3.911,19739,3.911,19740,3.911,19741,6.221,19742,3.911,19743,5.761,19744,3.911,19745,3.911,19746,3.911,19747,3.911,19748,3.911,19749,3.911,19750,3.911,19751,3.911,19752,3.911,19753,3.911,19754,3.175,19755,3.911,19756,3.911,19757,3.431,19758,3.431,19759,3.911,19760,3.911,19761,3.911,19762,3.911]],["title/injectables/SchoolExternalToolRequestMapper.html",[589,0.929,19763,5.841]],["body/injectables/SchoolExternalToolRequestMapper.html",[0,0.29,3,0.016,4,0.016,5,0.008,7,0.118,8,1.25,27,0.426,29,0.918,30,0.001,31,0.671,32,0.135,33,0.498,35,1.254,95,0.144,101,0.011,103,0.001,104,0.001,125,2.005,130,2.299,148,1.186,193,3.653,277,1.214,589,1.448,591,2.005,614,4.206,652,2.444,837,4.151,2684,3.882,2777,7.923,4557,2.943,6055,5.058,6655,5.285,6795,10.033,6807,6.622,6809,10.503,6813,7.376,6815,9.103,6817,6.16,6823,7.786,6824,7.376,6825,7.07,6826,7.376,8180,6.994,9340,7.786,10312,4.626,19698,10.067,19717,10.631,19763,9.103,19764,10.825,19765,10.825,19766,8.408,19767,10.503,19768,7.376,19769,8.408,19770,8.408,19771,8.408]],["title/classes/SchoolExternalToolResponse.html",[0,0.24,19772,5.639]],["body/classes/SchoolExternalToolResponse.html",[0,0.239,2,0.738,3,0.013,4,0.013,5,0.006,7,0.098,27,0.529,29,0.898,30,0.001,31,0.656,32,0.171,33,0.501,34,1.861,47,0.963,55,1.908,95,0.124,101,0.009,103,0,104,0,112,0.745,125,1.655,190,2.374,201,4.224,202,1.594,296,3.636,402,3.893,417,3.88,433,0.856,458,2.776,614,4.44,703,2.154,866,4.732,871,2.54,1220,3.981,2126,4.054,2183,2.735,2684,2.25,4557,3.808,4634,4.093,6055,6.545,6664,4.66,6666,4.984,6696,6.241,6712,4.593,6828,6.088,6829,7.307,6830,8.823,6831,6.426,6832,6.426,6833,6.426,6834,6.426,6835,9.224,6836,6.426,6837,6.426,6838,6.426,6839,5.322,6845,6.088,6846,6.426,6847,6.088,8180,7.932,10312,5.986,10509,5.085,10817,6.088,18190,6.426,19668,10.321,19669,10.414,19772,9.964,19773,6.94,19774,6.426,19775,6.94,19776,6.94]],["title/injectables/SchoolExternalToolResponseMapper.html",[589,0.929,19777,5.841]],["body/injectables/SchoolExternalToolResponseMapper.html",[0,0.259,3,0.014,4,0.014,5,0.007,7,0.105,8,1.159,27,0.446,29,0.927,30,0.001,31,0.707,32,0.141,33,0.521,34,1.282,35,1.312,95,0.144,101,0.01,103,0,104,0,130,2.05,135,0.979,148,1.121,153,1.655,197,2.084,277,1.082,402,3.592,589,1.343,591,1.787,614,4.211,652,2.311,703,2.327,829,4.421,837,3.701,1882,2.859,2004,7.229,2061,6.577,2684,4.087,2777,8.586,3998,5.034,4557,2.624,6055,4.51,6063,5.286,6135,6.086,6139,6.577,6655,4.712,6835,9.523,8180,7.063,10068,6.086,10094,6.086,10098,6.577,10312,4.125,10637,6.942,10698,6.942,10699,6.942,12979,5.493,15813,6.942,19552,6.942,19698,10.167,19772,9.815,19777,8.443,19778,10.04,19779,10.04,19780,10.04,19781,10.04,19782,10.04,19783,7.497,19784,10.04,19785,9.519,19786,6.577,19787,7.497,19788,7.497,19789,7.497,19790,7.497,19791,7.497,19792,7.497,19793,7.497,19794,7.497]],["title/injectables/SchoolExternalToolRule.html",[589,0.929,1874,5.841]],["body/injectables/SchoolExternalToolRule.html",[0,0.253,3,0.014,4,0.014,5,0.007,7,0.103,8,1.143,27,0.441,29,0.859,30,0.001,31,0.628,32,0.15,33,0.515,35,1.148,95,0.147,101,0.01,103,0,104,0,122,2.69,135,0.959,148,0.981,183,4.288,205,2.773,228,1.333,277,1.06,290,3.245,400,2.187,433,0.906,478,2.057,589,1.324,591,1.752,614,3.982,653,4.626,711,3.831,1237,2.165,1775,6.598,1801,8.013,1838,8.012,1874,8.328,1981,4.733,1985,6.153,1992,6.554,2004,7.105,2007,3.671,3678,6.554,3679,4.933,3682,6.465,3684,4.933,3685,6.65,3686,7.256,6744,10.17,6748,4.564,6881,6.803,6882,6.803,6883,6.803,6884,6.803,6885,7.113,11284,7.256,19754,5.964,19795,11.991,19796,6.803]],["title/classes/SchoolExternalToolScope.html",[0,0.24,19736,6.094]],["body/classes/SchoolExternalToolScope.html",[0,0.259,2,0.797,3,0.014,4,0.014,5,0.007,7,0.105,8,1.159,26,2.732,27,0.522,29,0.927,30,0.001,31,0.678,32,0.165,33,0.556,35,1.163,95,0.129,99,1.537,101,0.01,103,0,104,0,112,0.785,122,2.361,125,3.21,129,2.244,130,2.05,148,0.994,231,1.743,365,3.348,436,3.744,569,2.333,614,3.733,652,2.649,703,2.327,2487,6.741,2684,2.431,4557,3.962,6244,5.585,6744,5.614,6748,4.658,6890,6.577,6891,6.741,6892,6.741,6893,6.741,6898,6.741,6899,6.741,6900,5.112,6901,5.034,6902,5.112,6903,5.112,6912,5.034,6913,6.741,6914,5.112,6915,5.034,6916,5.112,6917,5.034,6918,6.741,10312,6.228,10870,6.942,11284,5.493,11904,8.808,11913,8.808,18194,9.297,18198,9.297,19727,10.482,19736,8.808,19797,7.497,19798,7.497]],["title/classes/SchoolExternalToolSearchListResponse.html",[0,0.24,19785,5.841]],["body/classes/SchoolExternalToolSearchListResponse.html",[0,0.322,2,0.994,3,0.018,4,0.018,5,0.009,7,0.131,27,0.456,29,0.717,30,0.001,31,0.524,32,0.157,33,0.43,95,0.132,101,0.012,103,0.001,104,0.001,112,0.905,125,2.229,190,1.677,202,2.147,296,3.023,339,3.961,433,1.153,614,4.306,703,2.901,860,8.864,861,6.477,864,6.639,866,4.642,881,5.103,2684,4.076,6692,8.876,6920,8.2,8180,7.344,19669,9.642,19772,11.323,19785,9.732]],["title/classes/SchoolExternalToolSearchParams.html",[0,0.24,19799,6.094]],["body/classes/SchoolExternalToolSearchParams.html",[0,0.416,2,1.065,3,0.019,4,0.019,5,0.009,7,0.141,27,0.395,30,0.001,32,0.125,47,0.856,95,0.138,101,0.013,103,0.001,104,0.001,112,0.944,190,1.799,200,3.071,202,2.302,296,3.155,299,4.707,614,4.155,855,4.888,2684,3.916,4557,4.538,8180,7.056,10874,8.794,10877,8.794,19669,9.263,19719,9.282,19799,10.596]],["title/injectables/SchoolExternalToolService.html",[589,0.929,6929,4.597]],["body/injectables/SchoolExternalToolService.html",[0,0.175,3,0.01,4,0.01,5,0.005,7,0.071,8,0.88,12,3.453,26,2.353,27,0.479,29,0.933,30,0.001,31,0.698,32,0.152,33,0.56,35,1.371,36,2.819,95,0.145,99,1.042,101,0.007,103,0,104,0,135,1.49,148,1.172,153,1.256,195,1.112,197,1.414,228,1.842,277,0.734,279,2.134,317,2.999,365,2.271,402,3.89,433,0.94,589,1.019,591,1.212,614,4.302,629,2.677,652,2.691,657,2.905,688,2.4,703,1.578,837,2.511,980,2.82,1328,2.696,1329,3.091,1882,1.939,1912,8.362,2004,7.46,2007,2.541,2087,2.2,2684,3.837,2762,6.294,4557,1.78,6044,4.128,6053,4.709,6063,3.585,6697,5.473,6750,3.091,6785,4.128,6817,3.726,6928,7.271,6929,5.043,6936,4.709,6947,3.16,8180,7.27,10062,7.437,10064,7.437,10073,6.443,10083,4.005,10171,4.461,10458,3.9,10848,4.461,19663,7.994,19705,10.918,19715,9.32,19734,9.399,19768,4.461,19800,7.62,19801,9.138,19802,7.62,19803,7.62,19804,7.056,19805,7.62,19806,5.085,19807,5.085,19808,5.085,19809,5.085,19810,5.085,19811,7.62,19812,7.62,19813,5.085,19814,7.62,19815,5.085,19816,7.62,19817,5.085,19818,7.62,19819,5.085,19820,5.085,19821,5.085,19822,4.709,19823,5.085,19824,7.62,19825,5.085,19826,5.085,19827,5.085,19828,4.461,19829,5.085,19830,4.276,19831,5.085,19832,8.462,19833,5.085,19834,5.085]],["title/injectables/SchoolExternalToolUc.html",[589,0.929,19835,5.841]],["body/injectables/SchoolExternalToolUc.html",[0,0.154,3,0.008,4,0.008,5,0.004,7,0.063,8,0.795,26,2.906,27,0.46,29,0.895,30,0.001,31,0.654,32,0.146,33,0.537,34,0.762,35,1.309,36,2.746,39,3.448,47,0.597,95,0.137,99,0.913,101,0.006,103,0,104,0,131,3.507,135,1.709,148,1.015,153,1.389,183,5.092,228,1.86,277,0.643,317,2.957,360,2.532,365,3.762,433,0.85,589,0.921,591,1.062,595,1.681,610,1.755,614,4.186,652,2.383,657,3.049,693,3.136,980,3.82,1775,6.735,1780,2.707,1882,1.698,2004,7.37,2666,2.059,2684,2.233,3299,2.532,4557,1.559,6697,9.308,6750,6.869,6780,7.376,6817,3.263,6929,7.172,6947,2.767,6968,3.907,6975,8.462,6989,3.508,8180,7,10117,7.389,10127,3.907,10147,3.416,10148,10.036,10149,4.124,10167,7.389,10168,10.036,10171,3.907,11018,6.378,19694,5.425,19704,9.502,19715,8.901,19767,11.583,19804,6.378,19822,6.378,19832,6.378,19835,5.792,19836,11.982,19837,7.8,19838,6.378,19839,8.423,19840,6.378,19841,7.8,19842,4.124,19843,4.454,19844,4.454,19845,4.454,19846,6.888,19847,4.454,19848,4.454,19849,6.888,19850,9.479,19851,4.454,19852,4.454,19853,4.454,19854,6.888,19855,4.454,19856,4.454,19857,4.454,19858,4.454,19859,6.378,19860,4.454,19861,4.454,19862,4.454,19863,4.454,19864,4.454]],["title/injectables/SchoolExternalToolValidationService.html",[589,0.929,19715,5.471]],["body/injectables/SchoolExternalToolValidationService.html",[0,0.254,3,0.014,4,0.014,5,0.007,7,0.103,8,1.145,27,0.442,29,0.86,30,0.001,31,0.629,32,0.14,33,0.516,35,1.149,36,2.101,55,2.584,95,0.151,101,0.01,103,0,104,0,135,0.961,153,1.213,228,2.035,277,1.062,317,2.434,329,4.474,338,6.093,393,3.633,415,4.185,433,1.224,569,3.086,579,2.127,589,1.326,591,1.755,614,4.24,652,2.635,657,1.687,688,3.474,1213,6.308,1882,2.807,2004,6.99,2007,3.677,2087,3.183,2684,4.062,2762,5.569,5710,5.114,6035,10.387,6072,5.797,6086,6.457,6928,7.929,6947,4.573,6952,5.644,6963,5.286,7022,6.815,8180,7.01,10062,8.792,10064,8.792,10083,5.797,10122,5.797,10435,6.457,19705,10.527,19715,7.81,19828,6.457,19865,9.916,19866,9.916,19867,12.526,19868,7.36,19869,11.214,19870,9.916,19871,7.36,19872,7.36,19873,7.36,19874,7.36]],["title/classes/SchoolForGroupNotFoundLoggable.html",[0,0.24,17576,6.094]],["body/classes/SchoolForGroupNotFoundLoggable.html",[0,0.308,2,0.949,3,0.017,4,0.017,5,0.008,7,0.126,8,1.299,27,0.443,29,0.685,30,0.001,31,0.501,32,0.111,33,0.411,35,1.035,95,0.128,100,3.116,101,0.012,103,0.001,104,0.001,148,0.884,228,2.042,339,2.62,347,4.576,400,2.659,433,1.102,652,1.823,703,4.013,1027,2.743,1065,6.676,1115,3.418,1237,3.316,1422,5.043,1423,5.812,1426,5.801,1468,5.812,1469,6.116,3343,6.415,9949,9.914,9979,9.472,12818,7.835,17576,9.869,19875,12.315,19876,8.271,19877,8.271,19878,8.271,19879,8.271,19880,7.835,19881,8.931,19882,8.931,19883,8.931,19884,8.271]],["title/classes/SchoolIdDoesNotMatchWithUserSchoolId.html",[0,0.24,19885,6.432]],["body/classes/SchoolIdDoesNotMatchWithUserSchoolId.html",[0,0.29,2,0.894,3,0.016,4,0.016,5,0.008,7,0.118,8,1.25,26,2.606,27,0.426,29,0.645,30,0.001,31,0.471,32,0.105,33,0.387,34,2.29,35,0.974,47,0.949,59,2.61,95,0.124,99,1.723,101,0.011,103,0.001,104,0.001,148,0.833,228,2.173,290,3.093,339,2.466,415,7.189,433,1.336,652,2.444,703,4.157,1027,2.582,1115,3.218,1237,3.191,1422,4.903,1423,5.651,1426,5.673,1468,5.651,1469,5.946,4557,4.425,4634,4.958,4938,5.479,5293,7.07,13935,6.826,19885,10.024,19886,10.503,19887,8.408,19888,8.408,19889,11.972,19890,8.408,19891,11.972,19892,8.408,19893,8.408,19894,8.408]],["title/classes/SchoolIdParams.html",[0,0.24,19895,5.471]],["body/classes/SchoolIdParams.html",[0,0.417,2,1.068,3,0.019,4,0.019,5,0.009,7,0.141,26,2.676,27,0.396,30,0.001,32,0.125,95,0.148,99,2.06,101,0.013,103,0.001,104,0.001,112,0.946,180,5.164,190,1.803,200,3.078,202,2.308,296,3.16,307,7.363,855,4.896,4557,4.543,4938,5.536,6345,6.964,6772,8.158,19895,9.528,19896,12.097]],["title/classes/SchoolIdParams-1.html",[0,0.199,756,2.284,19895,4.549]],["body/classes/SchoolIdParams-1.html",[0,0.418,2,1.074,3,0.019,4,0.019,5,0.009,7,0.142,26,2.681,27,0.398,30,0.001,32,0.126,95,0.148,99,2.07,101,0.013,103,0.001,104,0.001,112,0.949,190,1.812,200,3.094,202,2.319,296,3.169,307,7.4,855,4.91,2682,5.498,4557,4.552,6771,7.4,6772,8.199,19693,11.236,19895,9.557]],["title/classes/SchoolInMigrationLoggableException.html",[0,0.24,16894,6.094]],["body/classes/SchoolInMigrationLoggableException.html",[0,0.259,2,0.798,3,0.014,4,0.014,5,0.007,7,0.106,8,1.161,27,0.531,30,0.001,32,0.172,33,0.463,35,1.165,47,0.803,52,5.085,55,1.504,95,0.129,101,0.01,103,0,104,0,112,0.786,148,0.744,155,3.837,180,4.291,190,2.264,228,2.501,231,1.745,233,2.344,277,1.084,290,1.776,393,3.708,402,2.688,433,1.398,436,3.855,644,6.11,703,2.331,868,5.805,871,2.749,998,5.348,1027,2.307,1078,3.293,1080,4.17,1115,4.336,1237,2.963,1354,8.575,1355,6.499,1356,7.396,1360,4.971,1361,4.309,1362,4.971,1363,4.971,1364,4.971,1365,4.971,1366,4.971,1367,4.615,1368,4.235,1374,4.839,1422,4.64,1426,5.43,1462,4.133,1468,5.348,1477,3.9,1478,4.07,1800,6.955,2108,3.278,2630,5.121,3792,5.624,4921,4.971,10281,5.044,10282,6.589,14180,10.492,16894,8.819,19897,11.33,19898,7.511]],["title/classes/SchoolInUserMigrationEndLoggable.html",[0,0.24,19899,6.432]],["body/classes/SchoolInUserMigrationEndLoggable.html",[0,0.317,2,0.978,3,0.017,4,0.017,5,0.008,7,0.129,8,1.323,27,0.451,29,0.705,30,0.001,31,0.516,32,0.115,33,0.423,35,1.066,47,0.885,52,6.609,95,0.105,101,0.012,103,0.001,104,0.001,148,0.911,228,1.669,290,2.951,339,2.698,400,2.739,433,1.135,703,2.855,1027,2.825,1115,3.52,1237,3.378,1422,5.111,1423,5.891,1426,5.863,1468,5.891,1469,6.198,3559,5.651,4938,5.711,14945,9.145,19886,10.949,19899,10.61,19900,9.197,19901,9.197,19902,9.197,19903,9.197,19904,8.517]],["title/classes/SchoolInUserMigrationStartLoggable.html",[0,0.24,19905,6.432]],["body/classes/SchoolInUserMigrationStartLoggable.html",[0,0.297,2,0.917,3,0.016,4,0.016,5,0.008,7,0.121,8,1.27,26,2.631,27,0.433,29,0.661,30,0.001,31,0.483,32,0.108,33,0.397,35,0.999,39,3.044,47,0.859,52,6.456,95,0.126,99,1.768,101,0.011,103,0.001,104,0.001,122,2.527,148,0.854,228,2.199,242,4.539,290,2.865,339,2.53,376,6.319,433,1.358,652,2.474,703,3.415,1027,2.649,1115,3.301,1237,3.243,1422,4.962,1423,5.719,1426,5.727,1434,5.556,1468,5.719,1469,6.018,4938,5.545,5115,6.08,12367,6.319,13855,11.22,14945,9.351,19886,10.63,19904,7.986,19905,10.189,19906,7.986,19907,7.986,19908,8.624,19909,8.624,19910,8.624]],["title/classes/SchoolInfoMapper.html",[0,0.24,16489,6.094]],["body/classes/SchoolInfoMapper.html",[0,0.336,2,1.037,3,0.019,4,0.019,5,0.009,7,0.137,8,1.372,27,0.384,29,0.748,30,0.001,31,0.666,32,0.122,33,0.449,34,1.669,35,1.13,95,0.136,100,4.146,101,0.013,103,0.001,104,0.001,135,1.274,148,0.966,153,1.608,467,3.73,478,2.732,692,6.294,830,6.59,837,4.816,16461,10.826,16489,10.424,19911,11.882,19912,8.559,19913,11.882,19914,8.559,19915,9.756,19916,9.756,19917,9.756]],["title/classes/SchoolInfoResponse.html",[0,0.24,16461,5.639]],["body/classes/SchoolInfoResponse.html",[0,0.311,2,0.96,3,0.017,4,0.017,5,0.008,7,0.127,27,0.488,29,0.693,30,0.001,31,0.785,32,0.154,33,0.416,34,2.368,47,0.92,95,0.103,101,0.012,103,0.001,104,0.001,112,0.886,157,2.849,190,2.033,202,2.074,205,2.65,296,3.233,304,4.459,433,1.398,458,3.613,703,4.029,821,4.598,868,4.333,2183,3.559,2300,7.114,3177,5.896,3178,6.048,3179,6.048,4715,7.923,16461,10.853,19918,12.979,19919,7.923,19920,8.364]],["title/classes/SchoolMigrationDatabaseOperationFailedLoggableException.html",[0,0.24,19921,6.094]],["body/classes/SchoolMigrationDatabaseOperationFailedLoggableException.html",[0,0.282,2,0.87,3,0.016,4,0.016,5,0.008,7,0.115,8,1.228,27,0.419,29,0.628,30,0.001,31,0.459,32,0.147,33,0.377,35,0.948,52,6.726,95,0.143,101,0.011,103,0.001,104,0.001,125,1.951,148,0.81,153,1.349,158,3.026,180,5.046,228,1.931,231,1.847,277,1.181,339,2.401,433,1.313,543,3.971,652,2.172,703,3.669,711,3.511,1027,2.514,1080,4.074,1237,3.136,1312,5.639,1313,5.581,1314,5.997,1422,4.841,1426,5.616,1462,4.503,1468,5.579,1477,4.25,1478,4.435,1829,3.479,1853,2.676,1927,6.97,1938,4.402,2070,7.38,4557,3.724,4938,5.409,9086,8.959,9131,6.645,9993,6.129,13819,6.277,19355,9.596,19921,9.333,19922,10.369,19923,10.945,19924,7.579,19925,8.185,19926,7.579,19927,8.185]],["title/injectables/SchoolMigrationService.html",[589,0.929,4944,5.471]],["body/injectables/SchoolMigrationService.html",[0,0.136,3,0.007,4,0.007,5,0.004,7,0.056,8,0.724,27,0.466,29,0.907,30,0.001,31,0.663,32,0.147,33,0.544,35,1.337,36,2.675,39,1.735,47,0.992,52,1.998,55,1.778,95,0.128,101,0.005,103,0,104,0,122,1.852,125,2.116,135,1.628,142,2.287,145,1.475,148,1.02,153,1.463,158,2.318,180,5.153,195,0.864,197,2.167,228,1.757,277,0.57,279,1.658,290,0.934,317,2.903,433,0.774,569,1.951,579,1.812,589,0.838,591,0.942,629,3.3,652,2.657,657,2.814,703,3.198,704,5.876,711,3.793,869,4.356,1027,1.213,1080,3.06,1328,3.323,1422,1.618,1853,1.292,2064,3.465,2065,5.874,2067,4.345,2069,2.352,2070,7.606,2304,7.787,2313,7.787,2449,4.514,2450,5.071,2906,8.22,3382,1.773,3868,2.079,4557,3.389,4938,5.523,4944,4.938,4950,7.129,4952,5.579,4959,5.806,5416,6.497,8002,4.809,9247,5.806,9981,5.794,13681,3.465,14181,7.914,14193,3.207,14198,5.806,14778,3.321,15046,5.09,15068,3.658,16296,8.507,16311,5.5,16312,5.09,17578,8.22,17591,3.465,19355,3.207,19921,3.465,19928,12.069,19929,6.27,19930,5.806,19931,7.796,19932,6.27,19933,7.796,19934,7.796,19935,5.806,19936,7.796,19937,3.95,19938,6.27,19939,9.681,19940,3.95,19941,6.27,19942,3.95,19943,3.95,19944,3.95,19945,6.27,19946,8.876,19947,3.95,19948,6.27,19949,6.27,19950,3.95,19951,6.27,19952,3.658,19953,3.95,19954,3.95,19955,6.27,19956,3.658,19957,3.95,19958,6.27,19959,3.95,19960,3.465,19961,3.95,19962,5.5,19963,3.95,19964,3.95,19965,3.95,19966,3.95,19967,6.27,19968,3.95,19969,3.95,19970,3.95,19971,3.95,19972,3.95,19973,3.95,19974,3.95,19975,6.27,19976,3.95,19977,6.27,19978,3.95,19979,7.796,19980,8.22,19981,3.658,19982,3.95,19983,3.95,19984,5.806,19985,3.95,19986,6.27,19987,6.27,19988,3.95,19989,2.958,19990,3.658,19991,3.95,19992,3.95,19993,3.658,19994,3.95,19995,3.95,19996,3.95]],["title/classes/SchoolMigrationSuccessfulLoggable.html",[0,0.24,19997,6.094]],["body/classes/SchoolMigrationSuccessfulLoggable.html",[0,0.31,2,0.956,3,0.017,4,0.017,5,0.008,7,0.126,8,1.304,27,0.445,29,0.69,30,0.001,31,0.504,32,0.112,33,0.414,35,1.042,52,6.249,95,0.129,101,0.012,103,0.001,104,0.001,148,0.89,180,5.273,228,2.05,339,2.637,385,6.13,400,2.677,433,1.109,652,1.836,703,3.834,704,4.577,1027,2.762,1115,3.441,1237,3.33,1422,5.059,1423,5.83,1426,5.815,1853,2.94,2070,7.642,4557,3.147,4938,5.653,4950,8.244,4952,7.765,13819,6.896,15070,6.13,15139,6.037,16738,7.3,19884,8.326,19924,8.326,19997,9.911,19998,12.353,19999,8.326,20000,8.991,20001,8.991,20002,8.991,20003,7.888]],["title/entities/SchoolNews.html",[205,1.418,7793,5.327]],["body/entities/SchoolNews.html",[0,0.354,3,0.01,4,0.018,5,0.005,7,0.162,9,3.605,26,2.118,27,0.205,30,0.001,31,0.435,32,0.128,34,0.891,47,0.888,83,2.259,95,0.14,96,2.455,101,0.014,103,0,104,0,112,0.859,134,1.841,148,0.516,153,1.529,155,2.941,159,0.535,190,0.935,195,2.519,196,3.809,205,2.243,206,1.699,223,3.703,224,1.521,225,2.981,226,2.361,231,1.783,232,2.783,233,1.626,290,2.597,409,5.899,412,4.103,435,1.769,457,5.142,467,1.517,512,4.72,571,3.667,613,4.533,692,5.63,693,2.373,703,3.41,704,3.951,886,2.441,1086,4.424,1087,4.749,1088,4.353,1089,4.633,1090,5.062,1373,4.668,1821,3.765,1826,2.67,1842,3.533,1920,3.449,1938,2.802,2032,2.949,2392,3.536,2701,5.228,2905,3.902,2924,4.286,2937,3.103,2992,5.936,3037,2.5,3718,3.553,3720,3.357,3721,3.674,3723,3.742,3724,3.674,3725,3.902,3739,3.073,3875,3.553,3900,3.357,4557,1.824,4649,3.996,4650,3.611,4791,3.818,5269,3.674,5685,4.353,5773,3.818,6188,3.275,6436,6.794,6621,2.89,6624,4.986,7439,3.238,7440,2.938,7461,3.167,7665,3.553,7756,3.902,7757,4.23,7759,6.943,7760,6.052,7761,4.23,7762,4.768,7763,4.23,7764,9.071,7765,5.211,7766,5.811,7767,5.811,7768,6.927,7769,7.798,7770,4.23,7771,5.573,7772,4.23,7773,3.996,7774,3.996,7775,5.065,7776,4.23,7777,3.996,7778,3.996,7779,4.23,7780,3.902,7781,4.23,7782,3.135,7783,3.238,7784,3.996,7785,4.23,7786,4.23,7787,7.303,7788,4.23,7789,7.527,7790,4.23,7791,4.23,7792,5.951,7793,5.951,7794,6.537,7795,4.104,7796,5.136,7797,3.818,7798,3.996,7799,4.23,20004,5.211]],["title/classes/SchoolNumberDuplicateLoggableException.html",[0,0.24,20005,6.094]],["body/classes/SchoolNumberDuplicateLoggableException.html",[0,0.303,2,0.933,3,0.017,4,0.017,5,0.008,7,0.123,8,1.284,18,4.467,27,0.438,29,0.673,30,0.001,31,0.492,32,0.139,33,0.404,35,1.017,47,0.866,55,2.572,95,0.127,101,0.012,103,0.001,104,0.001,148,0.869,228,1.592,231,1.931,233,2.738,277,1.267,339,2.574,400,2.613,433,1.083,640,5.392,703,3.792,1027,2.695,1115,3.359,1237,3.279,1422,5.003,1423,5.765,1426,5.764,1462,4.828,1465,6.081,1468,5.765,1469,6.066,1477,4.556,1478,4.754,1563,5.653,3343,6.302,6391,7.771,9981,7.973,9986,6.571,9993,6.571,9995,6.43,11385,9.368,20005,9.76,20006,12.215,20007,12.215,20008,8.775,20009,8.775]],["title/classes/SchoolNumberMismatchLoggableException.html",[0,0.24,19962,6.094]],["body/classes/SchoolNumberMismatchLoggableException.html",[0,0.237,2,0.731,3,0.013,4,0.013,5,0.006,7,0.097,8,1.093,27,0.52,29,0.528,30,0.001,31,0.386,32,0.171,33,0.498,35,1.098,47,0.95,52,4.791,55,2.337,95,0.124,101,0.009,103,0,104,0,112,0.74,148,0.681,155,3.701,180,4.624,190,2.196,228,2.505,231,1.644,233,2.147,277,0.993,290,1.627,339,2.018,393,3.397,400,2.049,402,2.462,433,0.849,436,3.756,644,4.182,652,1.405,703,2.94,868,5.598,871,2.519,998,5.112,1027,2.113,1078,3.016,1080,4.022,1115,4.466,1237,2.792,1354,8.42,1355,6.213,1356,7.07,1360,4.554,1361,3.947,1362,4.554,1363,4.554,1364,4.554,1365,4.554,1366,4.554,1367,4.228,1368,3.879,1374,4.433,1422,4.436,1423,5.112,1426,5.236,1462,3.786,1468,5.112,1469,5.379,1477,3.572,1478,3.728,2104,5.786,2108,3.003,4218,5.277,4920,5.041,4921,4.554,4938,4.956,7745,4.491,10281,4.62,19922,9.502,19962,8.309,20010,10.831,20011,6.88,20012,12.236,20013,11.668,20014,6.88,20015,6.88,20016,6.88,20017,6.88]],["title/classes/SchoolNumberMissingLoggableException.html",[0,0.24,20018,5.841]],["body/classes/SchoolNumberMissingLoggableException.html",[0,0.3,2,0.925,3,0.017,4,0.017,5,0.008,7,0.122,8,1.277,26,2.64,27,0.436,29,0.667,30,0.001,31,0.488,32,0.138,33,0.4,35,1.008,55,2.564,95,0.139,99,1.783,101,0.011,103,0.001,104,0.001,148,0.861,180,5.194,228,1.579,231,1.92,233,2.715,277,1.256,339,2.551,400,2.59,433,1.073,703,3.434,983,5.604,1027,2.672,1115,3.329,1237,3.261,1422,4.982,1423,5.742,1426,5.746,1462,4.786,1468,5.742,1469,6.042,1477,4.517,1478,4.713,4557,4.258,4634,5.13,4938,5.567,6391,7.74,9990,11.266,9995,6.374,10281,5.841,14182,7.062,19922,10.673,20018,9.303,20019,8.055,20020,8.699]],["title/interfaces/SchoolProperties.html",[159,0.713,15202,5.471]],["body/interfaces/SchoolProperties.html",[0,0.315,3,0.01,4,0.01,5,0.005,7,0.128,30,0.001,31,0.609,32,0.163,33,0.636,47,0.975,83,2.955,95,0.13,96,1.346,101,0.014,102,2.696,103,0,104,0,112,0.714,122,2.381,125,1.212,142,1.855,153,0.838,159,0.522,161,1.207,180,2.171,185,1.748,195,2.935,196,4.4,197,2.118,205,1.556,223,4.046,224,1.484,226,2.304,229,2.011,231,0.883,232,1.378,233,1.587,316,2.453,692,2.4,704,5.81,789,5.541,886,1.6,1082,3.585,1821,2.467,1826,2.606,2183,2.004,2488,5.196,2698,4.652,2924,5.47,2927,2.82,2931,4.226,2932,6.002,3395,4.909,3396,4.371,4623,4.068,4633,2.282,4683,7.3,4700,3.9,4701,6.002,4952,7.173,5178,5.935,5183,6.788,5685,4.29,6194,3.319,7095,3.319,7388,7.908,7396,7.3,7454,4.735,7473,5.844,7474,3.808,7782,3.059,7783,4.735,9981,7.096,9986,3.808,9987,6.186,10008,3.808,11395,7.553,12422,7.663,13546,6.002,14925,3.652,15070,7.412,15137,8.338,15138,7.965,15139,3.415,15143,7.808,15155,4.128,15157,3.9,15159,3.808,15172,4.128,15202,7.198,15210,8.861,19614,4.276,19615,4.276,19623,7.419,19626,4.276,19630,4.276,19632,4.128,19633,4.128,19634,4.276,19635,4.276,19636,4.276,19637,6.408,19638,4.276,19639,4.276,19640,4.276,19641,4.276,19642,4.276,19643,4.276,19644,4.276,19645,4.276,19646,7.419,19647,4.276,19648,4.276,19649,6.002,19650,4.276,19651,6.408,19652,4.276,19653,4.276,19654,6.408,19655,4.276,19656,4.276]],["title/classes/SchoolRolePermission.html",[0,0.24,19646,5.639]],["body/classes/SchoolRolePermission.html",[0,0.335,2,0.6,3,0.011,4,0.011,5,0.005,7,0.137,27,0.324,30,0.001,31,0.461,32,0.103,33,0.491,47,0.907,83,2.396,95,0.135,96,1.494,101,0.015,102,2.991,103,0,104,0,112,0.759,122,2.472,125,1.345,142,2.059,153,0.93,159,0.58,180,2.409,185,1.939,190,1.477,195,3.022,196,4.483,197,2.288,205,1.68,211,4.564,223,4.133,224,1.647,226,2.557,229,2.232,231,0.979,232,1.529,233,1.761,316,2.722,692,2.663,704,4.945,789,3.081,886,1.775,1082,3.978,1821,2.738,1826,2.891,2183,2.223,2488,5.611,2698,4.945,2924,5.655,2927,3.129,2931,4.564,2932,6.482,3395,5.302,3396,4.72,4623,4.393,4633,2.532,4683,5.526,4700,4.328,4701,6.482,4952,6.105,5178,5.303,5183,6.124,5685,4.56,6194,3.683,7095,3.683,7388,7.398,7396,5.526,7454,5.113,7473,6.311,7474,4.225,7782,3.394,7783,5.113,9981,5.372,9986,4.225,9987,6.681,10008,4.225,11395,6.428,12422,7.168,13546,6.482,14925,4.053,15070,5.611,15137,6.311,15138,6.03,15139,3.789,15143,6.976,15155,4.581,15157,4.328,15159,4.225,15172,4.581,15202,6.482,15210,8.5,19614,4.745,19615,4.745,19623,7.886,19626,4.745,19630,4.745,19632,4.581,19633,4.581,19634,4.745,19635,4.745,19636,4.745,19637,6.92,19638,4.745,19639,4.745,19640,4.745,19641,4.745,19642,4.745,19643,4.745,19644,4.745,19645,4.745,19646,8.667,19647,8.168,19648,8.168,19649,6.482,19650,4.745,19651,6.92,19652,4.745,19653,4.745,19654,6.92,19655,4.745,19656,4.745,20021,5.643,20022,5.643]],["title/classes/SchoolRoles.html",[0,0.24,19623,5.639]],["body/classes/SchoolRoles.html",[0,0.334,2,0.596,3,0.011,4,0.011,5,0.005,7,0.136,27,0.323,30,0.001,31,0.459,32,0.102,33,0.49,47,0.905,83,2.386,95,0.135,96,1.486,101,0.015,102,2.974,103,0,104,0,112,0.757,122,2.221,125,1.338,142,2.047,153,0.925,159,0.576,180,2.395,185,1.928,190,1.471,195,3.02,196,4.479,197,2.278,205,1.673,211,4.545,223,4.128,224,1.638,226,2.543,229,2.219,231,0.974,232,1.52,233,1.751,316,2.707,692,2.648,704,4.929,789,3.063,886,1.765,1082,3.956,1821,2.722,1826,2.875,2183,2.211,2488,5.588,2698,4.929,2924,5.903,2927,3.112,2931,4.545,2932,6.455,3395,7.296,3396,6.496,4623,4.375,4633,2.518,4683,5.503,4700,4.303,4701,6.455,4952,6.086,5178,5.286,5183,6.108,5685,4.546,6194,3.663,7095,3.663,7388,7.378,7396,5.503,7454,5.092,7473,6.285,7474,4.202,7782,3.375,7783,5.092,9981,5.35,9986,4.202,9987,6.654,10008,4.202,11395,6.408,12422,7.149,13546,6.455,14925,4.03,15070,5.588,15137,6.285,15138,6.005,15139,3.768,15143,6.954,15155,4.555,15157,4.303,15159,4.202,15172,4.555,15202,6.455,15210,8.48,19614,4.718,19615,4.718,19623,8.644,19626,4.718,19630,4.718,19632,4.555,19633,4.555,19634,4.718,19635,4.718,19636,4.718,19637,6.892,19638,4.718,19639,4.718,19640,4.718,19641,4.718,19642,4.718,19643,4.718,19644,4.718,19645,4.718,19646,9.194,19647,4.718,19648,4.718,19649,6.455,19650,4.718,19651,6.892,19652,4.718,19653,4.718,19654,6.892,19655,4.718,19656,4.718,20023,5.611,20024,5.611]],["title/interfaces/SchoolSpecificFileCopyService.html",[159,0.713,3595,5.471]],["body/interfaces/SchoolSpecificFileCopyService.html",[3,0.018,4,0.018,5,0.012,7,0.13,8,1.327,26,2.828,27,0.364,29,0.709,30,0.001,31,0.518,32,0.156,33,0.425,35,1.071,36,2.435,39,2.557,95,0.143,99,1.894,101,0.016,103,0.001,104,0.001,159,0.949,161,2.194,326,3.511,1083,6.479,1317,7.223,2617,6.985,3405,8.813,3595,9.051,3866,4.645,5432,8.556,5434,8.556,6622,4.361,7094,6.479,7105,7.086,11811,8.106,12133,9.329,18409,8.556,18411,8.556,20025,10.081,20026,9.239,20027,10.641,20028,12.117,20029,9.239,20030,8.556,20031,8.106]],["title/injectables/SchoolSpecificFileCopyServiceFactory.html",[589,0.929,3864,5.841]],["body/injectables/SchoolSpecificFileCopyServiceFactory.html",[0,0.305,3,0.017,4,0.017,5,0.013,7,0.124,8,1.291,27,0.441,29,0.858,30,0.001,31,0.627,32,0.139,33,0.515,35,1.026,95,0.147,101,0.012,103,0.001,104,0.001,148,0.877,153,1.459,228,1.607,277,1.278,400,2.636,433,1.092,435,3.798,507,4.927,589,1.496,591,2.111,703,3.472,1083,7.492,1317,5.564,2617,8.25,2815,3.541,3295,7.444,3405,9.406,3595,9.66,3596,7.444,3864,9.407,3866,4.45,7224,9.748,20025,10.76,20031,11.304,20032,8.852,20033,8.198,20034,8.852,20035,11.187,20036,8.852,20037,7.766,20038,8.852]],["title/classes/SchoolSpecificFileCopyServiceImpl.html",[0,0.24,20037,6.094]],["body/classes/SchoolSpecificFileCopyServiceImpl.html",[0,0.286,2,0.883,3,0.016,4,0.02,5,0.012,7,0.117,8,1.24,27,0.423,29,0.823,30,0.001,31,0.602,32,0.134,33,0.494,35,0.962,36,2.275,39,2.297,95,0.136,101,0.011,103,0.001,104,0.001,148,0.822,228,1.949,317,2.583,326,3.156,433,1.325,435,4.041,652,2.192,703,2.577,711,3.535,1083,7.094,1237,3.165,1317,6.75,2617,7.234,2815,3.322,2992,3.762,3253,6.54,3405,9.127,3595,9.374,3596,6.982,3866,5.398,3901,5.068,4557,3.758,6622,5.068,7105,6.368,7224,9.586,12133,8.718,18137,6.368,20025,10.441,20027,9.944,20028,11.652,20030,7.689,20031,11.039,20033,7.689,20037,9.42,20039,8.303,20040,8.303,20041,8.303,20042,8.303,20043,10.738,20044,8.303,20045,8.303,20046,8.303]],["title/classes/SchoolToolConfigurationStatusResponseMapper.html",[0,0.24,19786,6.094]],["body/classes/SchoolToolConfigurationStatusResponseMapper.html",[0,0.327,2,1.008,3,0.018,4,0.018,5,0.009,7,0.133,8,1.348,27,0.373,29,0.727,30,0.001,31,0.531,32,0.118,33,0.436,35,1.098,95,0.133,101,0.012,103,0.001,104,0.001,135,1.238,148,0.939,153,1.563,402,4.527,467,3.683,614,4.186,829,5.59,830,6.475,837,4.68,2684,4.102,4080,9.817,6061,9.817,6063,6.683,8180,6.82,15811,7.696,19663,10.4,19668,11.401,19698,9.817,19774,8.778,19786,10.242,19830,7.971,20047,9.479]],["title/injectables/SchoolValidationService.html",[589,0.929,15192,5.841]],["body/injectables/SchoolValidationService.html",[0,0.281,3,0.015,4,0.015,5,0.008,7,0.115,8,1.225,27,0.465,29,0.905,30,0.001,31,0.661,32,0.147,33,0.543,35,1.229,36,2.648,47,0.578,95,0.143,101,0.011,103,0.001,104,0.001,135,1.065,142,3.871,148,1.051,153,1.344,195,1.783,228,1.479,277,1.177,279,3.421,317,2.882,400,2.427,433,1.006,579,2.356,589,1.419,591,1.944,652,2.408,657,2.432,703,3.293,711,3.504,1213,6.75,1422,3.338,1531,8.809,1853,2.666,2070,8.086,2072,6.855,6072,6.421,10435,7.151,10454,7.151,11385,9.583,15029,8.614,15192,8.922,15254,7.549,20005,7.151,20048,12.494,20049,10.61,20050,8.151,20051,10.61,20052,10.61,20053,8.151,20054,8.151,20055,10.61,20056,8.151,20057,8.151,20058,7.549]],["title/entities/SchoolYearEntity.html",[205,1.418,12422,4.664]],["body/entities/SchoolYearEntity.html",[0,0.309,3,0.017,4,0.017,5,0.008,7,0.126,27,0.486,30,0.001,31,0.726,32,0.154,47,0.875,83,3.965,95,0.129,96,2.375,101,0.015,103,0.001,104,0.001,112,0.882,159,0.921,190,2.215,205,2.303,206,2.925,223,4.291,224,2.618,226,4.065,229,3.548,231,1.557,232,2.431,233,2.8,1237,2.644,2183,3.535,2488,7.692,4633,4.026,7399,9.299,7469,7.283,7470,6.88,12422,7.575,20059,8.307,20060,10.888,20061,8.971,20062,8.971,20063,8.971,20064,10.826,20065,7.544,20066,8.307,20067,8.307]],["title/interfaces/SchoolYearProperties.html",[159,0.713,20064,6.094]],["body/interfaces/SchoolYearProperties.html",[0,0.316,3,0.017,4,0.017,5,0.008,7,0.129,30,0.001,31,0.752,32,0.155,47,0.925,83,4.086,95,0.13,96,2.424,101,0.015,103,0.001,104,0.001,112,0.893,159,0.94,161,2.174,205,2.333,223,4.048,224,2.672,226,4.148,229,3.621,231,1.589,232,2.48,233,2.857,1237,2.699,2183,3.608,2488,7.79,4633,4.109,7399,9.64,7469,7.433,7470,7.021,12422,6.147,20059,8.478,20060,11.287,20064,11.442,20065,7.699,20066,8.478,20067,8.478]],["title/injectables/SchoolYearRepo.html",[589,0.929,15193,5.841]],["body/injectables/SchoolYearRepo.html",[0,0.259,3,0.014,4,0.014,5,0.007,7,0.106,8,1.161,10,4.037,12,4.555,18,5.118,26,2.072,27,0.511,29,0.928,30,0.001,31,0.678,32,0.151,33,0.557,34,1.285,35,1.462,36,2.673,40,3.644,49,3.781,83,2.187,95,0.129,101,0.01,103,0,104,0,135,1.313,142,2.74,148,0.995,153,1.238,205,1.534,206,3.278,231,1.745,277,1.084,317,2.96,436,3.594,478,2.103,532,5.157,589,1.344,591,1.791,657,1.721,728,7.673,734,4.219,735,4.6,736,5.627,759,4.473,760,4.566,761,4.518,762,4.566,763,5.205,764,4.518,765,4.566,766,4.07,771,5.395,3928,6.098,4560,7.365,7399,5.395,7831,6.098,9380,9.94,11385,8.69,12422,7.608,15193,8.453,20060,6.316,20068,7.511,20069,12.099,20070,7.511,20071,7.511,20072,7.511]],["title/injectables/SchoolYearService.html",[589,0.929,15191,5.841]],["body/injectables/SchoolYearService.html",[0,0.292,3,0.016,4,0.016,5,0.008,7,0.119,8,1.255,12,4.925,26,2.613,27,0.473,29,0.834,30,0.001,31,0.609,32,0.136,33,0.5,34,1.447,35,1.259,36,2.685,40,5.273,95,0.145,99,1.734,101,0.011,103,0.001,104,0.001,135,1.419,148,1.076,228,1.535,277,1.221,317,2.911,400,2.519,433,1.044,478,2.369,589,1.453,591,2.017,657,2.491,734,3.551,1829,3.596,1882,3.227,1940,5.523,2624,4.152,4184,5.863,4560,7.964,4683,5.681,5070,7.532,11385,9.719,11393,7.115,11394,6.489,11395,5.599,12422,8.063,15191,9.14,15193,11.28,20073,12.672,20074,8.461,20075,12.672,20076,8.461,20077,8.461,20078,8.461,20079,8.461,20080,8.461,20081,8.461]],["title/classes/Scope.html",[0,0.24,6244,2.845]],["body/classes/Scope.html",[0,0.254,2,0.782,3,0.014,4,0.014,5,0.007,7,0.103,8,1.145,27,0.519,29,0.86,30,0.001,31,0.629,32,0.167,33,0.516,35,1.149,95,0.113,96,1.949,101,0.01,103,0,104,0,112,0.775,122,2.613,129,2.203,130,2.013,135,0.961,145,2.749,148,1.188,197,2.046,224,2.148,365,5.763,433,0.908,569,3.086,652,2.774,735,4.538,756,2.911,815,8.699,1675,4.427,2487,8.177,6244,4.914,6891,7.53,6892,7.53,6893,7.53,6898,6.658,6899,6.658,6901,8.665,6912,6.658,6913,8.058,6915,6.658,6917,6.658,16593,10.385,20082,7.36,20083,9.916,20084,9.916,20085,7.36,20086,7.36,20087,7.36,20088,7.36,20089,7.36,20090,7.36,20091,7.36,20092,7.36,20093,9.916,20094,11.214,20095,9.916,20096,7.36,20097,7.36,20098,7.36]],["title/interfaces/ScopeInfo.html",[159,0.713,20099,5.639]],["body/interfaces/ScopeInfo.html",[3,0.019,4,0.019,5,0.009,7,0.139,26,2.761,30,0.001,32,0.167,47,1.016,95,0.113,99,2.024,101,0.013,103,0.001,104,0.001,112,0.936,155,4.247,159,1.014,161,2.345,2137,5.198,2160,8.862,11182,10.871,20099,9.718,20100,9.145,20101,9.876,20102,13.39]],["title/classes/ScopeRef.html",[0,0.24,20103,5.327]],["body/classes/ScopeRef.html",[0,0.324,2,0.998,3,0.018,4,0.018,5,0.009,7,0.132,26,2.84,27,0.496,29,0.72,30,0.001,31,0.526,32,0.157,33,0.432,34,2.313,95,0.133,99,1.925,101,0.012,103,0.001,104,0.001,112,0.907,433,1.159,458,3.757,595,3.544,2137,6.927,2434,7.914,6244,5.717,7035,8.696,8150,6.306,20100,12.187,20103,8.902,20104,10.85,20105,11.607,20106,9.391]],["title/interfaces/ServerConfig.html",[159,0.713,649,4.366]],["body/interfaces/ServerConfig.html",[3,0.014,4,0.014,5,0.007,7,0.105,30,0.001,32,0.168,47,0.975,52,5.054,55,2.258,95,0.155,101,0.015,103,0,104,0,112,0.781,122,2.623,135,1.305,159,0.764,161,1.767,231,1.734,310,9.893,312,6.528,313,9.251,647,5.452,648,4.678,649,7.577,886,2.341,981,6.072,1317,4.678,1537,5.572,2087,4.878,2218,3.324,2219,3.741,2220,3.61,2221,4.678,2228,6.528,2815,2.977,3221,3.838,3866,3.741,3868,3.917,4887,6.811,4911,7.32,5687,9.893,5691,6.891,5693,4.678,7365,9.483,9230,9.155,11968,4.794,11971,5.861,11972,6.528,11973,5.861,11975,6.258,11976,6.891,12153,9.483,13699,9.483,13701,6.891,13702,6.891,13703,6.891,14340,6.258,16029,8.649,16031,6.891,18640,8.764,20107,7.441,20108,9.155,20109,12.573,20110,12.573,20111,7.441,20112,7.441,20113,9.99,20114,6.891,20115,6.891,20116,7.441,20117,7.441,20118,7.441,20119,7.441,20120,6.891,20121,7.441,20122,7.441,20123,7.441,20124,6.891,20125,7.441,20126,7.441,20127,7.441,20128,7.441,20129,7.441,20130,7.441]],["title/classes/ServerConsole.html",[0,0.24,20131,6.094]],["body/classes/ServerConsole.html",[0,0.282,2,0.868,3,0.016,4,0.016,5,0.008,7,0.115,8,1.227,27,0.465,29,0.815,30,0.001,31,0.596,32,0.132,33,0.489,35,1.231,47,0.837,95,0.121,101,0.011,103,0.001,104,0.001,148,1.052,157,2.983,190,1.907,271,3.996,400,2.432,433,1.008,569,3.892,641,7.11,981,8.339,1372,4.299,2163,5.458,2357,7.11,2868,8.981,3770,6.434,3771,8.162,3774,8.148,3776,8.148,3779,5.406,3780,8.923,3781,8.429,3782,4.771,11365,9.301,20131,9.321,20132,8.168,20133,11.579,20134,10.624,20135,8.168,20136,8.168,20137,10.624,20138,9.321,20139,8.168,20140,9.838,20141,8.168,20142,8.168]],["title/modules/ServerConsoleModule.html",[252,1.835,20143,6.432]],["body/modules/ServerConsoleModule.html",[0,0.251,3,0.014,4,0.014,5,0.007,30,0.001,32,0.091,47,0.516,87,3.66,95,0.162,96,2.606,101,0.01,103,0,104,0,122,1.518,153,1.2,195,1.592,206,2.374,224,2.124,252,3.156,254,2.622,255,2.776,256,2.847,257,2.837,258,2.826,259,4.055,260,2.71,269,3.85,270,2.796,271,2.738,276,3.85,277,1.051,290,1.721,347,3.73,478,2.038,623,4.752,647,5.334,649,4.576,651,3.683,736,4.888,1014,5.045,1015,4.963,1017,6.821,1019,7.212,1020,6.386,1021,4.69,1022,6.821,1023,6.94,1024,6.821,1025,4.69,1026,4.576,1039,5.734,1040,5.045,1041,4.963,1317,6.187,1626,4.037,1716,6.386,1829,3.094,2163,3.365,2218,3.251,2219,3.66,2220,3.532,2845,4.69,2869,4.631,2935,3.859,3781,6.048,3782,4.252,3855,9.865,4228,4.252,5316,5.451,6336,5.91,7121,5.983,8724,6.386,8919,10.816,9012,9.115,11811,6.386,12277,7.212,12278,7.212,12290,5.334,12291,5.334,13236,6.386,13708,8.277,14340,6.121,16073,10.442,16091,6.386,20131,8.635,20143,12.689,20144,7.28,20145,7.28,20146,7.28,20147,7.28,20148,7.28,20149,7.28,20150,7.28,20151,7.28]],["title/controllers/ServerController.html",[314,2.658,20152,5.841]],["body/controllers/ServerController.html",[0,0.346,3,0.019,4,0.019,5,0.009,7,0.141,8,1.397,27,0.396,30,0.001,35,1.164,47,0.858,95,0.115,101,0.013,103,0.001,104,0.001,129,3.62,148,0.995,190,1.803,274,4.2,277,1.45,314,4.63,371,6.412,711,3.593,981,7.353,1372,5.289,2163,4.645,11181,9.528,13501,8.45,20133,12.473,20152,10.172,20153,10.049,20154,10.049]],["title/modules/ServerModule.html",[252,1.835,20155,6.094]],["body/modules/ServerModule.html",[0,0.211,3,0.007,4,0.007,5,0.004,8,0.443,27,0.241,29,0.294,30,0.001,31,0.344,32,0.076,33,0.177,35,0.445,47,0.831,52,1.943,55,1.228,72,3.998,87,1.931,95,0.162,96,1.623,101,0.01,103,0,104,0,107,2.507,122,1.822,125,2.547,135,1.247,148,0.38,153,1.011,157,0.884,171,5.138,174,2.618,180,2.617,195,0.84,197,1.704,206,1.252,224,1.121,228,1.585,252,2.931,253,5.155,254,3.146,255,1.465,256,1.502,257,1.497,258,1.491,259,1.396,260,1.429,265,4.938,269,2.398,270,1.475,271,1.444,274,3.651,276,3.417,277,0.554,290,0.908,347,1.968,412,2.713,433,0.756,467,1.118,478,1.075,507,1.691,540,2.687,543,1.863,561,1.723,569,1.195,571,1.519,614,1.186,623,4.002,649,2.414,651,1.943,652,1.784,688,1.813,725,2.707,736,3.045,809,2.507,1010,6.881,1011,6.94,1014,2.661,1015,2.618,1016,3.9,1017,4.248,1021,2.474,1022,4.248,1023,4.322,1024,4.248,1025,2.474,1026,2.414,1027,1.179,1028,4.248,1029,2.579,1031,5.395,1034,9.734,1035,3.229,1036,6.274,1038,7.346,1039,3.025,1040,2.661,1041,2.618,1042,2.542,1043,4.248,1045,2.507,1060,2.618,1061,2.945,1062,2.945,1063,2.945,1082,2.707,1086,1.832,1087,1.775,1088,1.803,1089,1.919,1166,2.542,1167,2.36,1218,2.507,1220,2.203,1237,1.807,1272,2.414,1274,2.507,1311,2.507,1317,2.414,1454,2.36,1480,4.829,1582,2.758,1598,2.265,1626,3.4,1743,2.758,1829,3.253,1927,2.265,2163,3.537,2218,1.715,2219,1.931,2220,1.863,2221,2.414,2344,2.334,2449,3.198,2450,4.102,2533,3.486,2815,2.453,2845,2.474,2935,2.036,3001,5.155,3785,2.542,3857,4.702,3866,3.082,3868,3.227,4230,5.73,4242,4.829,4243,9.617,4889,2.579,4911,5.607,4913,2.814,4997,2.945,5042,1.955,5083,5.155,5170,2.707,5239,2.414,7344,3.95,7529,2.31,8922,3.118,8933,3.369,8939,3.369,8940,3.369,8941,3.369,8942,3.369,8943,3.369,8944,3.369,9473,2.184,9890,2.334,11530,2.758,11968,2.474,12277,4.492,12278,4.492,12279,4.591,12290,2.814,12291,2.814,12292,3.118,12293,2.945,12294,3.025,12433,2.876,12661,5.155,13137,2.758,13243,3.369,13504,3.229,14006,5.155,14124,3.118,14295,3.118,14547,2.945,14765,3.118,15074,5.155,15354,5.155,15836,5.607,16032,3.118,16138,5.155,16142,4.977,16520,5.155,16960,5.155,17131,5.155,17312,5.155,17332,3.229,18138,5.155,18332,3.229,18570,8.982,18574,3.369,20152,8.029,20155,11.005,20156,3.84,20157,3.84,20158,3.556,20159,7.086,20160,9.425,20161,3.84,20162,3.556,20163,3.556,20164,3.556,20165,3.556,20166,3.556,20167,3.556,20168,3.556,20169,3.556,20170,3.556,20171,3.556,20172,3.556,20173,4.977,20174,3.556,20175,5.155,20176,3.556,20177,5.155,20178,3.556,20179,5.155,20180,3.556,20181,5.155,20182,5.155,20183,3.229,20184,5.155,20185,3.556,20186,5.155,20187,3.118,20188,3.118,20189,7.086,20190,3.556,20191,3.556,20192,3.556,20193,3.556,20194,3.556,20195,7.086,20196,3.556,20197,5.677,20198,7.086,20199,3.556,20200,3.556,20201,3.556,20202,3.556,20203,3.556,20204,3.556,20205,3.556,20206,3.556,20207,3.556,20208,3.556,20209,3.556,20210,3.369,20211,3.556,20212,3.556,20213,3.556,20214,3.556,20215,3.556,20216,3.556,20217,3.556,20218,3.556,20219,3.556,20220,3.556,20221,3.556,20222,3.556,20223,5.677,20224,3.556,20225,5.677,20226,3.556,20227,5.677,20228,3.556,20229,3.556,20230,3.556,20231,5.379,20232,3.556]],["title/modules/ServerTestModule.html",[252,1.835,20231,6.094]],["body/modules/ServerTestModule.html",[0,0.204,3,0.007,4,0.007,5,0.003,8,0.423,27,0.292,29,0.453,30,0.001,31,0.416,32,0.092,33,0.272,35,0.684,47,0.819,52,1.854,55,1.183,59,1.138,72,3.892,87,1.842,95,0.161,96,1.564,101,0.01,103,0,104,0,107,2.392,122,1.774,125,2.499,135,1.218,148,0.363,153,0.974,157,0.843,171,4.98,174,2.499,180,2.521,195,0.802,197,1.642,206,1.195,224,1.07,228,1.543,252,2.881,253,4.966,254,3.775,255,1.398,256,1.433,257,1.428,258,1.423,259,1.333,260,1.364,265,4.845,269,2.31,270,1.408,271,1.378,274,3.555,276,3.327,277,0.529,290,0.867,347,1.878,412,3.282,433,0.729,467,1.719,478,1.026,507,1.614,540,2.986,543,1.778,561,1.645,569,1.141,571,1.45,614,1.823,623,3.855,649,2.304,651,1.854,652,1.736,688,1.73,725,2.584,736,2.933,809,2.392,1010,6.699,1011,4.026,1014,2.54,1015,2.499,1016,4.718,1017,4.092,1021,2.361,1022,4.092,1023,4.163,1024,4.092,1025,2.361,1026,2.304,1027,1.126,1028,5.894,1029,6.262,1031,7.391,1034,9.632,1035,3.082,1036,6.108,1038,7.152,1039,2.887,1040,2.54,1041,2.499,1042,2.426,1043,4.092,1045,3.855,1048,2.54,1060,2.499,1061,2.811,1062,2.811,1063,2.811,1082,4.163,1086,1.749,1087,1.694,1088,1.721,1089,1.831,1166,2.426,1167,2.252,1218,3.855,1220,3.387,1237,1.741,1272,2.304,1274,2.392,1311,3.855,1317,2.304,1454,3.628,1480,4.651,1582,2.632,1598,2.161,1626,4.113,1743,2.632,1829,3.964,1927,3.483,2163,3.428,2218,1.637,2219,1.842,2220,1.778,2221,2.304,2344,3.59,2449,3.1,2450,3.993,2533,4.836,2815,2.362,2845,2.361,2935,1.943,3001,4.966,3785,2.426,3857,4.529,3866,2.969,3868,3.108,4230,5.554,4242,4.651,4243,9.467,4889,3.965,4911,4.327,4913,2.685,4997,2.811,5042,1.866,5083,4.966,5170,2.584,5239,2.304,7344,3.804,7529,2.205,8922,2.975,8933,3.215,8939,3.215,8940,3.215,8941,3.215,8942,3.215,8943,3.215,8944,3.215,9473,2.084,9890,2.228,11530,2.632,11968,2.361,12277,4.327,12278,4.327,12279,4.422,12290,2.685,12291,2.685,12292,2.975,12293,2.811,12294,2.887,12433,4.422,12661,4.966,13137,4.241,13243,3.215,13504,3.082,14006,4.966,14124,2.975,14295,2.975,14547,2.811,14765,2.975,15074,4.966,15354,4.966,15836,5.434,16032,2.975,16138,4.966,16142,4.794,16520,4.966,16960,4.966,17131,4.966,17312,4.966,17332,3.082,18138,4.966,18332,3.082,18570,8.815,18574,3.215,20152,7.842,20155,8.182,20158,3.394,20159,6.868,20160,9.23,20162,3.394,20163,3.394,20164,3.394,20165,3.394,20166,3.394,20167,3.394,20168,3.394,20169,3.394,20170,3.394,20171,3.394,20172,3.394,20173,4.794,20174,3.394,20175,4.966,20176,3.394,20177,4.966,20178,3.394,20179,4.966,20180,3.394,20181,4.966,20182,4.966,20183,3.082,20184,4.966,20185,3.394,20186,4.966,20187,2.975,20188,2.975,20189,6.868,20190,3.394,20191,3.394,20192,3.394,20193,3.394,20194,3.394,20195,6.868,20196,3.394,20197,5.468,20198,6.868,20199,3.394,20200,3.394,20201,3.394,20202,3.394,20203,3.394,20204,3.394,20205,3.394,20206,3.394,20207,3.394,20208,3.394,20209,3.394,20210,3.215,20211,3.394,20212,3.394,20213,3.394,20214,3.394,20215,3.394,20216,3.394,20217,3.394,20218,3.394,20219,3.394,20220,3.394,20221,3.394,20222,3.394,20223,5.468,20224,3.394,20225,5.468,20226,3.394,20227,5.468,20228,5.468,20229,5.468,20230,5.468,20231,11.018,20232,3.394,20233,3.665,20234,3.665,20235,3.665,20236,3.665]],["title/classes/SetHeightBodyParams.html",[0,0.24,4364,6.094]],["body/classes/SetHeightBodyParams.html",[0,0.418,2,1.071,3,0.019,4,0.019,5,0.009,7,0.142,27,0.397,30,0.001,32,0.126,55,2.426,95,0.138,101,0.013,103,0.001,104,0.001,112,0.947,190,1.808,194,3.94,195,2.65,196,4.007,197,3.368,200,3.086,202,2.314,296,3.165,3542,8.37,4364,10.628,20237,12.115,20238,10.074,20239,10.074,20240,10.074,20241,11.219]],["title/entities/ShareToken.html",[205,1.418,7398,4.813]],["body/entities/ShareToken.html",[0,0.236,3,0.013,4,0.013,5,0.006,7,0.152,26,2.517,27,0.497,30,0.001,32,0.157,33,0.581,34,1.169,49,4.864,83,3.142,95,0.139,96,2.496,97,2.799,101,0.012,103,0,104,0,112,0.737,125,2.248,145,2.552,148,0.933,153,1.554,159,0.702,176,5.886,183,3.608,190,2.265,195,2.761,196,3.848,205,1.925,206,2.228,210,7.496,223,3.917,224,1.994,225,3.621,229,2.703,231,1.186,232,1.851,233,2.132,238,5.241,239,5.746,248,5.117,249,5.746,540,2.399,886,3.66,2924,4.358,3633,4.769,3659,8.762,3901,4.449,4624,3.886,5450,7.059,5452,6.929,5458,5.746,6622,5.491,6627,7.358,6628,4.908,6631,4.347,6632,4.735,6720,6.073,6754,5.746,6755,5.548,6756,5.746,7398,6.533,7414,5.746,9126,4.818,11416,5.117,11486,5.746,11561,5.007,11717,6.328,11718,6.328,16283,8.062,16285,4.589,16286,4.523,20242,11.976,20243,6.328,20244,6.834,20245,6.834,20246,9.446,20247,6.834,20248,6.834,20249,6.834,20250,9.164,20251,6.834,20252,6.328,20253,7.927,20254,6.328,20255,6.328]],["title/classes/ShareTokenBodyParams.html",[0,0.24,20256,6.094]],["body/classes/ShareTokenBodyParams.html",[0,0.343,2,0.785,3,0.014,4,0.014,5,0.007,7,0.104,27,0.529,30,0.001,32,0.161,33,0.553,34,1.7,47,0.705,55,2.407,95,0.128,101,0.01,103,0,104,0,112,0.777,122,2.074,157,2.766,185,4.13,190,2.157,194,5.249,195,2.936,196,4.439,197,3.731,199,5.513,200,2.263,202,1.696,296,3.276,300,4.3,329,6.042,703,3.086,756,3.932,855,4.023,886,3.127,891,8.07,899,3.364,1147,7.624,2597,9.217,2892,7.83,3382,4.461,3901,5.303,4166,4.49,6239,6.48,6274,7.83,6622,5.303,7398,8.328,16283,8.691,16285,4.96,16286,4.889,20241,9.205,20256,8.721,20257,9.879,20258,7.387,20259,9.857,20260,9.857,20261,7.387,20262,9.94,20263,7.387,20264,8.631,20265,7.387,20266,7.387,20267,7.387,20268,9.94,20269,8.359,20270,7.387,20271,7.387]],["title/classes/ShareTokenContextTypeMapper.html",[0,0.24,20272,6.094]],["body/classes/ShareTokenContextTypeMapper.html",[0,0.325,2,1.003,3,0.018,4,0.018,5,0.009,7,0.133,8,1.344,27,0.372,29,0.724,30,0.001,31,0.529,32,0.145,33,0.434,35,1.093,95,0.144,101,0.012,103,0.001,104,0.001,134,3.333,135,1.52,148,0.934,153,1.919,277,1.362,467,3.675,579,2.726,1952,8.901,2782,6.355,3519,7.406,4126,6.913,7527,8.355,12236,9.789,12241,9.789,12255,8.737,12262,7.66,16280,8.277,16284,8.277,16285,6.335,16286,6.244,20246,10.702,20272,10.212,20273,11.641,20274,9.435]],["title/controllers/ShareTokenController.html",[314,2.658,20275,5.841]],["body/controllers/ShareTokenController.html",[0,0.18,3,0.01,4,0.01,5,0.005,7,0.073,8,0.896,27,0.365,29,0.711,30,0.001,31,0.52,32,0.178,33,0.427,35,1.074,36,2.44,95,0.15,100,1.818,101,0.007,103,0,104,0,135,1.504,148,0.918,176,5.197,190,1.664,202,1.197,228,0.946,274,2.178,277,0.752,314,1.994,316,2.514,317,2.718,325,6.332,333,5.211,337,4.768,340,3.357,342,7.517,345,7.378,349,6.491,379,6.377,388,3.975,390,6.058,391,8.211,392,2.724,393,2.572,395,2.802,398,2.823,400,1.552,401,5.184,402,4.738,649,3.275,650,4.23,657,2.125,675,2.653,734,3.257,871,4.021,1312,4.901,1351,5.211,1713,4.23,1714,3.902,1715,4.571,1723,2.963,2667,6.118,2935,4.915,3017,2.459,3193,6.659,3195,7.692,3197,3.902,3198,6.943,3201,7.517,3221,2.687,3223,4.27,3285,3.401,3298,3.202,3299,2.963,3519,4.937,3901,2.459,4046,4.668,6622,2.459,7061,6.112,7308,4.23,7398,5.377,9894,8.832,13194,4.825,13195,4.825,14268,6.3,16154,4.825,18019,5.951,19159,4.382,19174,4.571,19176,4.571,20256,9.012,20259,4.571,20260,4.571,20275,6.525,20276,10.273,20277,5.211,20278,8.586,20279,8.586,20280,8.586,20281,5.211,20282,8.832,20283,7.76,20284,5.211,20285,5.211,20286,5.211,20287,10.465,20288,9.012,20289,5.211,20290,5.211,20291,7.76,20292,5.211,20293,7.76,20294,5.211,20295,5.211,20296,5.211,20297,5.211,20298,5.211,20299,5.211,20300,4.571,20301,4.571,20302,7.527,20303,6.525,20304,6.525,20305,5.211,20306,5.211,20307,5.211,20308,5.211,20309,5.211,20310,5.211,20311,5.211,20312,5.211,20313,4.571,20314,5.211,20315,7.76,20316,5.211,20317,5.211,20318,5.211,20319,5.211,20320,5.211]],["title/classes/ShareTokenDO.html",[0,0.24,20321,5.327]],["body/classes/ShareTokenDO.html",[0,0.271,2,0.836,3,0.015,4,0.015,5,0.007,7,0.111,26,2.39,27,0.518,29,0.603,30,0.001,31,0.441,32,0.172,33,0.617,34,1.772,47,0.735,83,3.017,95,0.118,99,1.612,101,0.017,103,0.001,104,0.001,112,0.81,176,5.864,183,4.437,210,7.468,231,1.799,238,6.031,248,5.889,433,0.97,436,2.336,703,2.441,886,3.26,1723,6.591,1770,3.195,1852,7.267,1853,2.572,1936,3.692,2032,2.989,2940,3.599,3901,3.712,5427,4.511,5452,4.683,5744,4.472,5756,4.683,6622,3.712,6652,5.762,6720,5.066,7095,5.133,8111,8.163,8112,6.194,15131,6.613,16283,7.182,17792,6.385,20246,8.414,20250,9.13,20321,9.821,20322,13.15,20323,7.864,20324,10.364,20325,9.748,20326,7.864,20327,9.411,20328,7.864,20329,7.864,20330,7.282,20331,7.864,20332,7.864,20333,7.282]],["title/classes/ShareTokenFactory.html",[0,0.24,20334,6.432]],["body/classes/ShareTokenFactory.html",[0,0.31,2,0.956,3,0.017,4,0.017,5,0.008,7,0.126,8,1.304,26,2.672,27,0.354,29,0.69,30,0.001,31,0.504,32,0.112,33,0.414,34,1.932,35,1.042,49,3.381,59,2.791,95,0.148,99,1.843,101,0.012,103,0.001,104,0.001,135,1.174,148,1.119,153,1.862,176,5.715,231,1.961,514,6.121,516,6.548,571,3.556,574,5.069,575,5.158,1723,5.113,2084,6.231,2477,5.465,3341,6.458,3901,4.244,4479,5.587,6622,4.244,16283,6.231,16286,5.951,20282,6.896,20321,6.896,20334,11.439,20335,11.297,20336,8.991,20337,11.297,20338,11.297,20339,8.991,20340,8.991,20341,8.991,20342,8.991,20343,7.888]],["title/classes/ShareTokenImportBodyParams.html",[0,0.24,20288,6.094]],["body/classes/ShareTokenImportBodyParams.html",[0,0.385,2,0.939,3,0.017,4,0.017,5,0.008,7,0.124,27,0.44,30,0.001,31,0.626,32,0.139,33,0.514,34,1.911,47,0.913,95,0.14,101,0.012,103,0.001,104,0.001,112,0.873,153,1.842,157,2.571,176,6.198,185,3.839,190,2.005,194,5.036,195,2.816,196,4.258,197,3.579,200,2.706,202,2.029,296,3.2,298,3.821,299,4.775,300,4.276,2032,4.245,2897,6.72,5293,9.394,7066,10.749,7574,10.749,7977,7.171,7979,7.617,20257,9.651,20288,9.8,20344,8.833,20345,8.833,20346,11.171,20347,8.833,20348,8.833]],["title/interfaces/ShareTokenInfoDto.html",[159,0.713,20349,5.841]],["body/interfaces/ShareTokenInfoDto.html",[3,0.019,4,0.019,5,0.009,7,0.142,30,0.001,32,0.162,47,0.993,95,0.115,101,0.013,103,0.001,104,0.001,112,0.947,159,1.035,161,2.392,176,6.977,4680,9.329,6622,6.363,16283,9.341,16285,6.764,16286,6.667,20349,10.188,20350,10.074,20351,10.944]],["title/classes/ShareTokenInfoResponse.html",[0,0.24,20303,5.841]],["body/classes/ShareTokenInfoResponse.html",[0,0.3,2,0.925,3,0.017,4,0.017,5,0.008,7,0.122,27,0.504,29,0.667,30,0.001,31,0.488,32,0.16,33,0.4,47,0.908,95,0.139,101,0.011,103,0.001,104,0.001,112,0.865,176,7.152,190,2.183,202,1.998,238,6.672,296,3.453,298,3.763,433,1.365,821,4.429,886,2.737,3032,6.133,3035,6.874,3181,5.18,6622,6.239,6631,5.534,16283,9.16,16285,5.841,16286,5.757,20257,10.412,20303,11.116,20351,10.732,20352,8.699,20353,8.699,20354,8.699,20355,8.699,20356,8.699,20357,8.699]],["title/classes/ShareTokenInfoResponseMapper.html",[0,0.24,20300,6.094]],["body/classes/ShareTokenInfoResponseMapper.html",[0,0.332,2,1.022,3,0.024,4,0.018,5,0.009,7,0.135,8,1.36,27,0.379,29,0.737,30,0.001,31,0.539,32,0.12,33,0.442,35,1.114,95,0.134,100,4.109,101,0.013,103,0.001,104,0.001,135,1.256,148,0.952,153,1.585,176,6.441,467,3.706,829,5.671,830,6.532,837,4.747,1725,6.779,6622,4.538,15811,7.806,20300,10.332,20303,11.158,20313,8.436,20349,11.158,20351,7.806,20358,10.906,20359,11.777,20360,9.616,20361,9.616,20362,9.616]],["title/classes/ShareTokenParentTypeMapper.html",[0,0.24,20363,6.094]],["body/classes/ShareTokenParentTypeMapper.html",[0,0.322,2,0.994,3,0.018,4,0.018,5,0.009,7,0.131,8,1.336,27,0.368,29,0.717,30,0.001,31,0.524,32,0.144,33,0.43,35,1.083,95,0.144,101,0.012,103,0.001,104,0.001,134,3.302,135,1.511,148,0.926,153,1.908,277,1.349,467,3.66,579,2.701,1952,8.864,2782,6.319,3519,7.363,4126,6.849,7527,8.32,7621,7.86,12236,9.732,12241,9.732,12250,8.656,12257,8.2,12262,7.588,16280,8.2,16283,9.105,16284,8.2,16285,6.276,16286,6.186,16287,8.656,20363,10.154,20364,11.574,20365,9.347,20366,9.347]],["title/classes/ShareTokenPayloadResponse.html",[0,0.24,20367,6.094]],["body/classes/ShareTokenPayloadResponse.html",[0,0.318,2,0.98,3,0.018,4,0.018,5,0.008,7,0.13,27,0.492,29,0.707,30,0.001,31,0.517,32,0.156,33,0.424,47,0.813,95,0.131,101,0.012,103,0.001,104,0.001,112,0.897,176,6.614,190,2.059,202,2.117,296,3.415,433,1.137,886,2.9,1723,5.242,3181,5.49,3901,5.897,6622,5.897,6631,5.865,7133,7.261,16283,9.32,16285,6.19,16286,6.101,20257,10.298,20327,10.614,20367,10.066,20368,9.218,20369,11.474,20370,9.218,20371,9.218,20372,9.218,20373,8.536,20374,8.536]],["title/interfaces/ShareTokenProperties.html",[159,0.713,20253,5.841]],["body/interfaces/ShareTokenProperties.html",[0,0.245,3,0.014,4,0.014,5,0.007,7,0.155,26,2.781,30,0.001,32,0.159,33,0.588,34,1.216,49,5.073,83,3.444,95,0.141,96,2.565,97,2.913,101,0.013,103,0,104,0,112,0.757,125,2.31,145,2.656,148,0.959,153,1.597,159,0.73,161,1.689,176,6.263,183,2.722,195,2.41,196,3.645,205,1.978,210,7.975,223,3.843,224,2.076,225,3.721,229,2.813,231,1.234,232,1.927,233,2.219,238,5.454,239,5.981,248,5.326,249,5.981,540,2.497,886,3.467,2924,4.479,3633,3.598,3659,5.774,3901,5.843,4624,4.044,5452,7.372,5458,5.981,6622,5.843,6627,4.849,6628,5.108,6631,4.525,6632,4.928,6720,7.975,6754,5.981,6755,5.774,6756,5.981,7398,4.928,9126,5.014,11416,5.326,11486,5.981,11561,5.211,16283,8.579,16285,4.776,16286,4.707,20242,6.586,20243,6.586,20246,10.05,20250,9.751,20252,6.586,20253,9.266,20254,6.586,20255,6.586]],["title/injectables/ShareTokenRepo.html",[589,0.929,20375,5.639]],["body/injectables/ShareTokenRepo.html",[0,0.173,3,0.01,4,0.01,5,0.005,7,0.071,8,0.871,10,3.028,12,3.417,18,3.839,26,2.498,27,0.527,29,1.018,30,0.001,31,0.744,32,0.165,33,0.611,34,1.55,35,1.538,36,2.627,40,2.433,95,0.123,96,1.328,101,0.007,103,0,104,0,112,0.708,113,4.83,125,1.798,135,1.483,148,1.07,153,1.243,176,5.099,183,2.886,185,2.592,205,2.206,210,4.858,224,1.464,231,1.309,277,0.724,317,2.904,435,1.703,436,3.903,569,1.561,589,1.008,591,1.196,652,2.474,657,1.149,729,5.226,735,3.451,736,5.367,766,2.717,1723,4.288,1770,4.613,2139,2.903,2436,9.506,2438,5.526,2439,5.526,2440,5.526,2441,5.526,2442,5.416,2443,5.416,2444,5.526,2445,5.416,2446,5.526,2453,3.675,2455,6.003,2456,3.675,2458,3.675,2460,3.319,2461,5.226,2462,3.675,2464,3.675,2466,5.526,2472,3.476,2473,5.416,2475,3.675,2477,3.049,2478,3.153,2479,3.675,2481,3.675,2483,3.602,2484,3.675,2502,3.847,3901,3.559,5452,4.491,6622,3.559,6720,4.858,7398,8.591,10589,3.756,10590,3.756,10591,3.756,10592,3.756,10593,3.756,10594,3.847,10595,3.756,10596,3.756,10597,3.756,10598,3.756,15965,4.644,15975,4.218,16285,3.368,16286,3.319,20250,7.939,20253,9.905,20321,9.033,20325,6.342,20327,6.122,20330,4.644,20333,4.644,20375,6.122,20376,9.063,20377,5.015,20378,7.541,20379,7.541,20380,5.015,20381,7.541,20382,5.015,20383,4.4,20384,5.015,20385,5.015,20386,5.015,20387,5.015,20388,5.015,20389,5.015,20390,5.015,20391,7.541,20392,7.541,20393,5.015,20394,5.015,20395,5.015,20396,5.015,20397,5.015,20398,5.015]],["title/classes/ShareTokenResponse.html",[0,0.24,20304,5.841]],["body/classes/ShareTokenResponse.html",[0,0.307,2,0.945,3,0.017,4,0.017,5,0.008,7,0.125,27,0.508,29,0.682,30,0.001,31,0.498,32,0.161,33,0.565,47,0.795,83,3.266,95,0.128,101,0.012,103,0.001,104,0.001,112,0.877,153,1.466,176,6.874,190,2.206,201,4.772,202,2.042,210,8.573,238,6.819,248,6.658,296,3.476,433,1.384,821,4.527,1723,7.339,17482,8.234,17792,7.219,20257,10.481,20282,6.819,20304,11.19,20367,10.782,20399,8.892,20400,8.892,20401,8.892,20402,8.892,20403,8.892,20404,8.892]],["title/classes/ShareTokenResponseMapper.html",[0,0.24,20301,6.094]],["body/classes/ShareTokenResponseMapper.html",[0,0.332,2,1.025,3,0.018,4,0.018,5,0.009,7,0.136,8,1.362,27,0.38,29,0.739,30,0.001,31,0.54,32,0.12,33,0.443,35,1.117,95,0.135,100,4.116,101,0.013,103,0.001,104,0.001,135,1.259,148,0.954,153,1.589,176,6.447,210,6.21,467,3.71,829,5.684,830,6.541,837,4.758,1723,5.481,7398,6.679,15811,7.825,16285,6.472,16286,6.379,20301,10.347,20304,11.167,20321,10.185,20358,10.922,20405,11.795,20406,9.639,20407,9.639,20408,8.926]],["title/injectables/ShareTokenService.html",[589,0.929,20409,5.639]],["body/injectables/ShareTokenService.html",[0,0.215,3,0.012,4,0.012,5,0.006,7,0.088,8,1.02,27,0.465,29,0.905,30,0.001,31,0.661,32,0.157,33,0.543,35,1.295,36,2.597,59,1.934,83,1.813,95,0.144,101,0.008,103,0,104,0,129,1.864,135,1.459,142,2.273,148,1.017,153,1.027,172,3.756,176,5.968,183,3.382,210,5.692,228,2.141,277,0.899,317,2.842,433,1.09,540,3.605,569,1.939,589,1.182,591,1.485,652,2.629,657,2.808,1393,5.89,1723,5.839,2017,8.34,2037,4.013,3302,5.238,3303,5.238,5705,8.592,5706,9.437,5909,6.795,7398,8.733,11283,4.777,13661,5.768,13669,5.768,16283,4.317,16285,4.183,16286,4.123,17840,5.465,20250,9.926,20321,9.048,20325,7.43,20327,9.071,20343,5.465,20351,9.578,20375,10.231,20408,8.182,20409,7.173,20410,12.254,20411,8.836,20412,10.268,20413,8.836,20414,8.836,20415,6.229,20416,9.948,20417,6.229,20418,8.836,20419,6.229,20420,6.229,20421,6.229,20422,8.836,20423,8.836,20424,6.229,20425,5.465,20426,5.465,20427,6.229,20428,6.229,20429,6.229,20430,6.229,20431,6.229,20432,6.229,20433,6.229,20434,5.768,20435,6.229,20436,5.768,20437,6.229,20438,5.768,20439,6.229]],["title/injectables/ShareTokenUC.html",[589,0.929,20302,5.639]],["body/injectables/ShareTokenUC.html",[0,0.103,3,0.006,4,0.006,5,0.003,7,0.042,8,0.575,26,2.64,27,0.446,29,0.868,30,0.001,31,0.635,32,0.149,33,0.521,34,0.852,35,1.283,36,2.4,39,3.424,47,0.981,55,1.503,59,2.329,83,2.184,95,0.138,99,0.611,100,1.04,101,0.004,102,3.403,103,0,104,0,122,1.565,125,1.188,129,2.246,135,1.579,141,3.58,148,0.949,153,1.656,172,2.118,176,5.281,183,2.872,194,1.949,210,1.92,228,1.823,277,0.43,290,2.134,317,2.862,433,0.615,540,2.635,569,0.927,571,1.971,579,2.769,589,0.666,591,0.71,595,1.124,610,1.174,652,2.75,657,2.89,675,1.517,693,2.924,1027,0.915,1086,2.377,1087,2.303,1088,2.339,1197,3.479,1268,3.945,1312,1.422,1393,6.741,1622,2.14,1723,5.712,1775,4.129,1778,6.561,1780,1.811,1783,3.945,1862,5.116,1908,7.547,1936,2.339,1961,4.514,2017,6.341,2026,5.258,2028,2.231,2032,2.44,2037,4.834,2046,3.731,2218,1.331,2219,1.498,2220,1.446,2449,2.683,2450,3.523,2617,3.028,2666,1.377,2892,3.924,2934,1.725,2940,2.28,3257,4.189,3258,5.212,3264,7.547,3265,8.058,3273,5.91,3285,3.252,3298,1.831,3299,1.694,3302,2.506,3303,2.506,3349,2.614,3350,2.614,3352,2.614,3353,6.31,3519,1.896,3633,1.507,3940,4.249,4126,2.183,4131,4.611,4228,1.741,4888,2.14,5452,1.774,5720,4.61,5909,7.132,6622,4.523,6720,1.92,6885,2.14,7066,8.406,7398,5.2,7553,7.779,7555,4.189,7573,8.156,7574,9.71,7612,4.189,7616,4.614,7622,2.759,7626,4.717,10142,2.419,11283,2.285,14270,4.189,15389,4.614,16283,6.64,16285,2.001,16286,1.972,18267,2.506,20120,5.945,20246,2.419,20259,2.614,20260,2.614,20272,2.614,20278,6.948,20279,6.948,20280,5.945,20302,4.045,20313,4.371,20321,2.285,20325,7.02,20327,7.779,20343,6.583,20349,4.189,20351,4.045,20363,2.614,20373,2.759,20374,2.759,20409,7.328,20434,6.948,20436,6.948,20438,6.948,20440,11.551,20441,2.98,20442,4.982,20443,4.982,20444,4.982,20445,4.982,20446,2.98,20447,2.98,20448,4.982,20449,2.98,20450,4.982,20451,2.98,20452,4.982,20453,2.98,20454,4.982,20455,2.98,20456,2.98,20457,2.98,20458,2.759,20459,2.98,20460,2.98,20461,2.98,20462,2.98,20463,2.98,20464,4.982,20465,2.98,20466,4.982,20467,2.98,20468,2.98,20469,2.98,20470,2.98,20471,4.982,20472,2.98,20473,4.982,20474,2.98,20475,6.42,20476,2.98,20477,2.98,20478,2.98,20479,2.98,20480,2.98,20481,4.982,20482,4.982,20483,7.504,20484,2.98,20485,2.98,20486,6.42,20487,4.982,20488,2.98,20489,2.98,20490,2.98,20491,4.982,20492,2.98,20493,4.614,20494,4.982,20495,4.982,20496,2.98,20497,4.982,20498,4.982,20499,2.98,20500,2.98,20501,2.98,20502,2.98,20503,6.42,20504,5.633,20505,2.98,20506,6.42,20507,2.98,20508,2.98,20509,2.98]],["title/classes/ShareTokenUrlParams.html",[0,0.24,20287,6.094]],["body/classes/ShareTokenUrlParams.html",[0,0.412,2,1.045,3,0.019,4,0.019,5,0.009,7,0.138,27,0.387,30,0.001,32,0.123,47,0.846,95,0.136,101,0.013,103,0.001,104,0.001,112,0.933,157,2.262,176,6.929,185,4.101,190,1.764,194,4.668,195,2.611,196,3.947,197,3.318,200,3.01,202,2.257,296,3.117,299,4.651,308,7.201,20257,9.401,20264,8.572,20287,10.47,20510,9.827,20511,11.935,20512,9.827]],["title/modules/SharingApiModule.html",[252,1.835,20173,5.639]],["body/modules/SharingApiModule.html",[0,0.348,3,0.014,4,0.014,5,0.007,30,0.001,95,0.159,101,0.013,103,0,104,0,252,3.204,254,2.72,255,2.881,256,2.954,257,2.944,258,2.933,259,4.41,260,3.756,265,6.136,269,3.947,270,2.901,271,2.841,274,4.749,276,4.444,277,1.09,610,2.976,1027,2.32,1856,7.615,1902,9.727,1907,9.359,1936,3.546,2666,3.492,2940,3.457,3017,3.565,3874,4.931,8920,9.359,12129,5.793,12130,5.793,15094,9.94,20173,11.741,20275,9.555,20302,10.555,20375,8.192,20409,9.224,20416,8.192,20425,6.627,20426,6.627,20513,7.553,20514,7.553,20515,7.553,20516,11.406,20517,6.995,20518,6.995,20519,6.995]],["title/modules/SharingModule.html",[252,1.835,20516,6.094]],["body/modules/SharingModule.html",[0,0.342,3,0.014,4,0.014,5,0.007,30,0.001,95,0.158,101,0.013,103,0,104,0,252,3.17,254,2.65,255,2.807,256,2.879,257,2.868,258,2.858,259,4.364,260,4.174,265,6.096,269,3.878,270,2.827,271,2.768,274,4.144,276,4.386,277,1.062,610,2.9,1027,2.26,1856,7.565,1902,9.663,1907,9.298,1936,3.455,2666,3.402,2940,3.368,3017,3.474,3874,4.804,8920,9.298,12129,5.644,12130,5.644,15094,9.875,20173,5.975,20275,8.338,20302,8.05,20375,10.476,20409,11.329,20416,10.476,20425,6.457,20426,6.457,20516,12.763,20517,6.815,20518,6.815,20519,6.815,20520,7.36,20521,7.36,20522,7.36,20523,7.36]],["title/classes/SingleColumnBoardResponse.html",[0,0.24,19056,5.841]],["body/classes/SingleColumnBoardResponse.html",[0,0.247,2,0.76,3,0.014,4,0.014,5,0.007,7,0.101,27,0.504,29,0.548,30,0.001,31,0.401,32,0.168,33,0.329,34,1.663,47,0.907,95,0.126,101,0.009,103,0,104,0.001,112,0.76,122,2.474,125,1.705,155,4.151,157,2.944,190,2.226,202,1.642,223,3.018,296,3.342,298,3.093,304,4.8,433,1.2,821,3.64,866,3.551,868,5.301,896,6.935,1083,5.482,1132,8.595,1829,3.039,1835,4.982,2050,5.809,2946,6.988,3022,10.31,3035,6.042,3037,3.43,3178,5.191,3179,5.191,3726,9.972,4063,7.796,4436,6.273,5744,5.529,5756,5.791,6299,10.403,7393,6.529,7739,5.632,7743,7.659,8306,5.484,8346,8.879,8519,6.273,9584,6.273,9683,10.429,19056,10.429,20524,7.15,20525,7.15,20526,7.15,20527,7.15,20528,7.15,20529,7.15,20530,7.15,20531,5.484,20532,7.15,20533,7.15]],["title/classes/SingleFileParams.html",[0,0.24,7164,4.736]],["body/classes/SingleFileParams.html",[0,0.473,2,0.705,3,0.013,4,0.018,5,0.009,7,0.093,26,2.644,27,0.261,30,0.001,32,0.151,39,1.835,47,0.972,95,0.146,99,1.359,101,0.018,103,0,104,0,110,2.292,112,0.722,122,1.926,157,1.526,159,0.681,190,1.19,195,1.45,199,5.12,200,2.031,201,4.459,202,1.523,203,6.199,205,1.354,296,3.703,298,2.868,299,4.872,300,4.396,403,3.354,855,5.06,856,6.37,886,3.341,899,3.019,1078,2.907,1080,2.285,1169,3.838,1237,1.954,1290,5.948,1291,4.388,1292,4.388,2992,4.813,3182,4.96,3901,3.129,4557,2.321,5228,6.676,6345,4.595,6622,3.129,6803,6.493,7094,6.475,7096,4.328,7097,7.779,7102,4.381,7116,6.11,7146,4.595,7147,4.675,7148,4.675,7153,4.595,7154,8.274,7155,8.097,7156,8.097,7157,4.675,7158,4.595,7159,4.595,7160,4.675,7161,4.521,7162,7.831,7163,4.452,7164,6.295,7165,4.595,7166,4.521,7167,4.272,7168,4.675,7169,4.675,7170,4.675,7171,4.272,7172,4.272,7173,4.388,7174,4.521,7175,4.675,20534,6.63]],["title/classes/SortExternalToolParams.html",[0,0.24,10739,5.841]],["body/classes/SortExternalToolParams.html",[0,0.394,2,0.973,3,0.017,4,0.017,5,0.008,7,0.129,27,0.45,30,0.001,31,0.64,32,0.142,33,0.526,34,1.954,95,0.142,101,0.015,103,0.001,104,0.001,112,0.893,129,2.74,130,2.504,190,2.05,200,2.805,201,4.436,202,2.103,231,1.983,298,3.96,300,4.373,436,3.394,770,8.198,790,6.242,886,3.594,899,4.169,2682,4.148,2684,2.969,3309,9.552,4801,10.897,4805,7.699,4806,8.032,10175,7.433,10739,9.608,20535,9.155,20536,13.422,20537,9.155,20538,8.478,20539,9.155]],["title/classes/SortHelper.html",[0,0.24,20540,6.432]],["body/classes/SortHelper.html",[0,0.29,2,0.894,3,0.016,4,0.016,5,0.008,7,0.118,8,1.25,27,0.331,29,0.83,30,0.001,31,0.471,32,0.135,33,0.387,35,0.974,47,0.767,55,2.62,95,0.096,101,0.011,103,0.001,104,0.001,125,3.014,145,3.14,148,0.833,467,3.485,532,5.054,595,3.173,711,2.497,756,4.281,770,8.675,1675,8.302,2231,7.847,2976,9.563,7884,6.448,20540,10.024,20541,10.825,20542,7.376,20543,10.825,20544,10.825,20545,8.408,20546,8.408]],["title/classes/SortImportUserParams.html",[0,0.24,13838,5.841]],["body/classes/SortImportUserParams.html",[0,0.394,2,0.973,3,0.017,4,0.017,5,0.008,7,0.129,27,0.45,30,0.001,32,0.142,33,0.526,95,0.149,101,0.015,103,0.001,104,0.001,112,0.893,129,2.74,130,2.504,190,2.05,200,2.805,201,4.436,202,2.103,231,1.983,298,3.96,300,4.373,436,3.394,700,5.512,701,5.512,770,8.198,790,6.242,886,3.594,899,4.169,3309,9.552,4801,10.897,4805,7.699,4806,8.032,4938,4.19,12330,7.699,13838,9.608,13948,12.429,20538,8.478,20547,9.155,20548,9.155,20549,9.155]],["title/classes/SortingParams.html",[0,0.24,4801,5.639]],["body/classes/SortingParams.html",[0,0.394,2,1.324,3,0.017,4,0.017,5,0.008,7,0.129,9,6.06,27,0.45,30,0.001,32,0.163,33,0.526,95,0.13,101,0.012,103,0.001,104,0.001,112,0.893,129,2.74,130,2.504,190,2.235,200,2.805,201,4.436,202,2.103,300,4.373,532,4.239,567,4.342,770,8.823,790,7.79,886,3.594,899,4.169,3309,9.552,3945,9.608,4801,9.276,4805,7.699,5308,9.276,20550,9.155,20551,9.155,20552,11.425,20553,9.155,20554,9.155]],["title/injectables/StartUserLoginMigrationUc.html",[589,0.929,20555,5.841]],["body/injectables/StartUserLoginMigrationUc.html",[0,0.229,3,0.013,4,0.013,5,0.006,7,0.093,8,1.066,26,2.644,27,0.418,29,0.815,30,0.001,31,0.595,32,0.132,33,0.489,35,1.07,36,2.434,39,2.554,47,0.886,95,0.154,99,1.359,101,0.009,103,0,104,0,135,1.387,142,2.419,148,0.657,153,1.522,180,5.584,183,3.533,228,2.084,290,3.033,317,2.713,433,1.139,478,1.857,579,2.668,589,1.235,591,1.581,595,2.502,610,2.613,652,2.619,657,2.767,693,3.019,703,3.297,1027,2.036,1422,2.715,1775,5.08,1780,4.03,1853,2.168,1862,6.848,1961,3.989,2065,7.601,2067,7.36,2069,3.949,2070,5.444,2072,5.576,2449,5.361,2666,3.065,2671,4.858,4557,4.579,4938,5.256,4940,5.383,4942,5.383,4943,9.16,4949,4.858,4950,5.873,4952,7.219,4953,5.383,4956,5.576,10342,4.858,16312,5.383,18798,5.576,18802,6.14,20018,5.576,20555,7.763,20556,11.485,20557,9.232,20558,8.099,20559,6.63,20560,9.232,20561,6.63,20562,9.232,20563,6.63,20564,5.383,20565,6.63,20566,6.63,20567,6.63,20568,8.099,20569,6.14,20570,5.817,20571,6.63]],["title/classes/StatelessAuthorizationParams.html",[0,0.24,17457,6.094]],["body/classes/StatelessAuthorizationParams.html",[0,0.388,2,0.949,3,0.017,4,0.017,5,0.008,7,0.126,27,0.509,30,0.001,32,0.161,33,0.643,47,0.964,95,0.128,101,0.012,103,0.001,104,0.001,112,0.879,190,2.32,200,2.736,299,5.038,300,5.1,442,9.133,856,6.239,899,4.067,998,5.812,1080,4.245,1888,9.7,1889,11.404,1890,8.271,1892,11.404,1893,8.271,1898,8.271,1899,5.83,1900,8.271,1901,8.271,17457,9.869,20572,13.324,20573,8.931,20574,8.931,20575,8.931,20576,8.931,20577,8.931]],["title/classes/StorageProviderEncryptedStringType.html",[0,0.24,20578,5.841]],["body/classes/StorageProviderEncryptedStringType.html",[0,0.241,2,0.743,3,0.013,4,0.013,5,0.006,7,0.098,8,1.105,27,0.463,29,0.837,30,0.001,31,0.612,32,0.168,33,0.502,35,1.109,47,1.02,59,2.169,95,0.125,96,1.85,101,0.009,103,0,104,0,112,0.748,125,3.03,130,3.475,135,1.25,142,3.493,145,3.576,148,1.258,157,1.608,158,3.54,224,2.039,231,1.662,233,2.181,433,0.862,610,2.754,622,8.601,652,2.229,1561,8.281,1718,5.12,1829,2.97,1834,8.001,1927,5.645,2124,5.788,2218,3.121,2219,3.513,2220,3.39,2221,4.393,5292,7.014,6686,8.177,7445,5.019,8065,7.014,9794,8.398,9795,9.182,15832,5.876,20578,8.05,20579,6.988,20580,8.865,20581,9.573,20582,9.573,20583,9.573,20584,9.573,20585,9.573,20586,10.919,20587,9.573,20588,6.988,20589,9.573,20590,6.988,20591,6.988,20592,6.988,20593,9.573,20594,8.865,20595,9.573,20596,6.988,20597,6.471,20598,9.573,20599,6.988,20600,6.471]],["title/entities/StorageProviderEntity.html",[205,1.418,5177,5.201]],["body/entities/StorageProviderEntity.html",[0,0.287,3,0.016,4,0.016,5,0.008,7,0.117,27,0.496,30,0.001,32,0.167,33,0.495,47,1.008,95,0.136,96,2.203,101,0.014,103,0.001,104,0.001,112,0.841,159,0.855,190,2.26,195,2.352,196,2.752,205,2.195,206,2.713,211,4.615,223,4.218,224,2.428,225,4.13,226,3.77,229,3.291,231,1.444,232,2.254,233,2.597,2924,3.846,5177,8.051,5185,7.3,5450,6.23,7192,8.586,7194,8.586,7195,9.105,20578,10.018,20601,7.705,20602,11.661,20603,8.32,20604,8.32,20605,8.32,20606,8.32,20607,7.705,20608,9.433,20609,7.705,20610,7.705,20611,7.705,20612,7.705,20613,7.705,20614,7.705,20615,7.705,20616,7.705]],["title/interfaces/StorageProviderProperties.html",[159,0.713,20608,6.094]],["body/interfaces/StorageProviderProperties.html",[0,0.297,3,0.016,4,0.016,5,0.008,7,0.121,30,0.001,32,0.164,33,0.506,47,1.028,95,0.138,96,2.279,101,0.014,103,0.001,104,0.001,112,0.859,159,0.884,161,2.043,195,1.882,196,2.846,205,2.243,223,4.09,224,2.512,225,4.22,226,3.899,229,3.404,231,1.494,232,2.332,233,2.686,2924,3.978,5177,6.444,5185,7.55,7192,8.984,7194,8.984,7195,9.187,20578,9.24,20601,7.969,20602,12.201,20607,7.969,20608,10.619,20609,7.969,20610,7.969,20611,7.969,20612,7.969,20613,7.969,20614,7.969,20615,7.969,20616,7.969]],["title/injectables/StorageProviderRepo.html",[589,0.929,8854,5.841]],["body/injectables/StorageProviderRepo.html",[0,0.26,3,0.014,4,0.014,5,0.007,7,0.106,8,1.163,10,4.047,12,4.566,18,5.131,26,2.078,27,0.523,29,0.968,30,0.001,31,0.708,32,0.157,33,0.581,34,1.289,35,1.463,36,2.676,40,3.658,49,3.79,95,0.138,96,1.996,97,3.088,101,0.01,103,0,104,0,135,0.985,148,0.998,205,1.539,206,3.286,228,1.368,231,1.749,259,3.665,277,1.088,317,2.963,433,0.93,436,3.599,478,2.111,532,5.16,589,1.348,591,1.798,728,7.68,734,4.23,735,4.612,736,5.638,759,4.49,760,4.583,761,4.535,762,4.583,763,5.224,764,4.535,765,4.583,766,4.085,2447,5.524,2448,6.775,2452,7.384,2490,5.224,3966,5.316,5177,7.546,8854,8.474,10605,5.938,15280,9.544,20617,7.539,20618,7.539,20619,7.539,20620,7.539,20621,7.539]],["title/classes/StringValidator.html",[0,0.24,13947,5.471]],["body/classes/StringValidator.html",[0,0.3,2,0.925,3,0.017,4,0.017,5,0.008,7,0.122,8,1.277,27,0.436,29,0.848,30,0.001,31,0.62,32,0.138,33,0.509,35,1.282,47,0.995,59,3.434,101,0.011,103,0.001,104,0.001,122,2.308,129,2.604,130,3.695,135,1.445,141,5.49,142,3.174,145,4.132,148,1.268,195,2.42,197,3.559,299,4.311,467,3.934,1675,5.233,13947,8.714,14107,11.232,20594,8.055,20622,8.699,20623,11.063,20624,11.063,20625,8.699,20626,11.063,20627,8.699,20628,8.699,20629,8.699]],["title/entities/Submission.html",[205,1.418,3140,3.132]],["body/entities/Submission.html",[0,0.161,3,0.009,4,0.009,5,0.004,7,0.147,26,2.157,27,0.488,30,0.001,32,0.159,33,0.545,34,0.797,47,0.814,55,1.735,62,2.775,72,2.133,95,0.135,96,1.234,101,0.009,103,0,104,0,112,0.759,122,2.629,125,2.315,129,1.395,130,1.274,134,1.647,135,1.724,148,1.173,153,1.6,159,0.479,190,2.224,195,2.591,196,3.461,197,1.983,205,1.456,206,1.52,211,4.806,219,3.988,223,3.677,224,1.36,225,2.74,226,2.112,229,1.843,231,0.809,232,1.263,233,1.454,277,0.673,290,2.801,578,2.436,579,1.347,652,1.456,692,4.939,703,3.013,711,3.278,813,2.606,962,3.286,985,2.697,998,2.2,1312,3.403,1821,2.261,1921,3.229,1923,3.129,1929,3.347,1938,2.506,2090,3.919,2924,5.728,2927,3.956,2931,2.585,2940,5.671,2941,2.929,3140,3.907,3396,6.33,3720,3.002,3721,3.286,4009,2.722,4085,6.619,4090,6.619,4098,5.998,4100,5.998,4557,1.631,4873,3.002,5685,3.349,6163,7.055,6164,3.129,6189,5.029,6190,5.029,6197,5.029,6198,3.286,6621,3.956,7439,2.896,7440,2.627,7456,5.123,7460,2.929,7461,2.833,7665,3.178,7666,4.316,7775,4.656,10472,7.269,16114,7.113,20630,4.316,20631,8.99,20632,9.658,20633,4.66,20634,4.66,20635,4.66,20636,4.66,20637,4.66,20638,4.66,20639,6.605,20640,4.66,20641,4.66,20642,6.258,20643,4.66,20644,4.66,20645,4.66,20646,5.998,20647,4.316,20648,4.316,20649,4.316,20650,4.316,20651,4.316,20652,3.783,20653,4.316,20654,4.316,20655,4.316,20656,3.919,20657,4.316,20658,4.316,20659,4.316,20660,4.316,20661,4.316,20662,4.316,20663,9.689,20664,4.316,20665,4.316,20666,4.316,20667,4.316,20668,4.316,20669,4.316,20670,8.99,20671,4.316,20672,6.488,20673,3.783,20674,10.219,20675,6.605,20676,3.919,20677,6.605,20678,3.574,20679,3.671,20680,4.316,20681,4.316,20682,4.316,20683,4.316,20684,6.605,20685,6.605,20686,4.316,20687,4.316,20688,4.316,20689,4.316,20690,6.488,20691,3.783,20692,3.919,20693,6.605]],["title/classes/SubmissionContainerContentBody.html",[0,0.24,6465,4.534]],["body/classes/SubmissionContainerContentBody.html",[0,0.471,2,0.576,3,0.01,4,0.01,5,0.005,7,0.076,9,2.516,27,0.213,30,0.001,31,0.677,32,0.173,33,0.367,47,0.897,83,2.324,95,0.127,99,1.11,101,0.018,103,0,104,0,110,1.872,112,0.624,130,3.303,155,1.717,157,2.409,190,0.972,195,1.184,200,1.659,201,3.682,202,1.243,223,1.681,231,2.027,296,3.691,299,4.931,300,4.469,339,1.588,360,3.079,854,5.018,855,3.231,886,1.703,899,2.465,1232,3.134,1749,4.54,1853,1.77,2048,3.853,2392,4.454,2894,2.583,2900,6.64,3140,3.6,3182,2.529,3545,3.193,3547,3.193,3550,3.163,3553,4.924,3557,4.891,3562,3.027,4034,3.327,4055,3.327,4454,5.435,6365,5.961,6367,6.033,6369,5.961,6371,6.659,6373,6.033,6375,6.033,6423,3.488,6460,6.191,6461,6.191,6462,6.191,6463,6.191,6464,6.191,6465,6.832,6803,6.666,7898,3.534,7967,4.553,7968,4.664,9513,5.361,9514,3.636,9516,8.203,9517,6.191,9518,6.191,9519,6.191,9520,3.636,9521,6.191,9522,4.905,9523,5.284,9524,6.191,9525,6.832,9526,3.534,9527,3.534,9528,3.534,9529,3.534,9530,3.636,9531,3.636,9532,3.636,9533,3.636,9534,3.636,9535,3.636,20694,5.414]],["title/classes/SubmissionContainerElement.html",[0,0.24,3130,4.419]],["body/classes/SubmissionContainerElement.html",[0,0.221,2,0.68,3,0.012,4,0.012,5,0.006,7,0.09,8,1.039,27,0.526,29,0.974,30,0.001,31,0.712,32,0.164,33,0.584,35,1.502,36,1.908,55,1.803,59,1.986,83,3.469,95,0.119,101,0.014,103,0,104,0,112,0.704,113,3.588,122,2.173,130,2.462,134,2.26,135,0.836,142,4.348,148,1.032,158,2.366,159,0.657,189,5.532,231,1.808,317,2.261,435,3.057,436,3.851,527,2.708,532,3.34,567,2.431,569,3.709,653,3.717,657,1.466,711,2.674,735,4.12,1770,4.594,1773,6.402,1842,4.1,2050,2.697,2648,6.373,2661,5.362,3039,7.928,3042,6.348,3043,6.348,3044,6.348,3045,5.878,3046,6.348,3048,4.022,3049,5.473,3050,6.605,3052,6.24,3053,5.473,3054,6.486,3056,4.434,3057,4.807,3059,6.549,3060,4.434,3062,6.467,3064,4.434,3066,4.022,3093,5.416,3130,7.194,3140,2.885,3141,6.333,3142,5.194,3557,5.832,4315,6.467,4316,4.595,4317,4.595,4326,3.975,4331,5.532,5391,5.613,5392,5.925,9537,4.434,18833,5.925,18835,5.925,20695,8.459,20696,6.398,20697,6.398,20698,8.338,20699,5.925,20700,5.925,20701,5.925,20702,5.613,20703,5.925]],["title/classes/SubmissionContainerElementContent.html",[0,0.24,20704,5.841]],["body/classes/SubmissionContainerElementContent.html",[0,0.366,2,0.866,3,0.015,4,0.015,5,0.008,7,0.115,27,0.418,29,0.625,30,0.001,31,0.457,32,0.166,33,0.375,34,2.017,47,0.836,83,3.866,95,0.135,101,0.014,103,0.001,104,0.001,112,0.829,142,4.559,157,2.442,190,1.463,202,1.872,296,3.469,304,4.024,433,1.456,458,3.261,567,4.032,821,4.15,866,4.048,886,2.564,1853,2.666,2108,3.558,2392,4.499,2629,6.449,2908,6.828,3141,7.17,3178,4.352,3179,4.352,3182,3.807,3557,6.975,3727,5.558,3739,4.807,3988,6.086,3992,5.321,3994,5.321,4374,8.137,4454,6.125,6373,5.186,9563,6.855,20704,11.168,20705,10.924,20706,9.308,20707,9.825,20708,9.825,20709,8.151,20710,6.252]],["title/classes/SubmissionContainerElementContentBody.html",[0,0.24,9524,4.534]],["body/classes/SubmissionContainerElementContentBody.html",[0,0.47,2,0.569,3,0.01,4,0.01,5,0.005,7,0.075,9,2.489,27,0.312,30,0.001,31,0.675,32,0.175,47,0.895,83,1.559,95,0.127,99,1.098,101,0.018,103,0,104,0,110,1.852,112,0.619,125,1.277,130,3.291,155,1.699,157,2.396,190,1.421,195,1.172,200,1.641,201,3.659,202,1.23,223,1.663,231,2.089,296,3.686,299,4.917,300,4.452,339,1.571,360,3.046,436,1.591,854,4.979,855,3.206,866,2.66,886,1.685,899,2.439,1232,3.1,1749,3.046,1853,1.752,2048,3.829,2392,4.713,2894,2.556,2900,6.615,3140,2.415,3182,2.502,3545,3.159,3547,3.159,3550,3.129,3553,4.893,3557,2.763,3562,2.995,4034,3.291,4055,3.291,4454,5.406,6365,5.924,6367,5.996,6369,5.924,6371,6.625,6373,6.625,6375,5.996,6423,3.451,6460,6.152,6461,6.152,6462,6.152,6463,6.152,6464,6.152,6465,6.797,6803,6.645,7898,3.497,7968,3.129,9513,5.319,9514,3.597,9516,8.495,9517,6.152,9518,6.152,9519,6.152,9520,3.597,9521,6.152,9522,3.291,9523,3.545,9524,6.797,9525,6.797,9526,3.497,9527,3.497,9528,3.497,9529,3.497,9530,3.597,9531,3.597,9532,3.597,9533,3.597,9534,3.597,9535,3.597,9565,4.108,20711,5.357,20712,5.357]],["title/entities/SubmissionContainerElementNode.html",[205,1.418,3479,5.471]],["body/entities/SubmissionContainerElementNode.html",[0,0.305,3,0.017,4,0.017,5,0.008,7,0.124,27,0.349,30,0.001,32,0.11,83,3.57,95,0.147,96,2.344,101,0.015,103,0.001,104,0.001,112,0.875,134,3.128,135,1.156,142,4.475,148,0.877,159,0.909,190,1.589,195,2.447,196,2.928,205,2.284,206,2.887,211,4.91,223,3.472,224,2.584,231,1.942,232,2.398,457,4.91,1770,4.983,2048,4.545,2108,3.864,2648,5.337,2701,4.991,3141,6.8,3431,5.972,3441,6.662,3479,8.811,3513,5.381,3540,9.814,3557,6.646,3889,6.8,3910,5.439,4417,5.564,4419,5.564,9569,7.444,20710,6.789,20713,9.407,20714,9.814,20715,7.187,20716,8.198]],["title/interfaces/SubmissionContainerElementProps.html",[159,0.713,20702,6.094]],["body/interfaces/SubmissionContainerElementProps.html",[0,0.295,3,0.016,4,0.016,5,0.008,7,0.12,30,0.001,32,0.136,36,1.812,83,3.828,95,0.138,101,0.016,103,0.001,104,0.001,112,0.855,122,1.784,130,2.338,134,3.021,135,1.117,142,4.798,148,1.195,158,3.162,159,0.878,161,2.03,231,2.095,317,1.856,527,3.619,567,3.25,569,2.661,653,4.518,657,1.96,1770,3.474,1842,4.983,2050,3.604,2648,5.221,2661,6.517,3039,6.583,3049,5.198,3050,6.392,3053,5.198,3054,6.277,3062,6.141,3093,7.26,3130,7.678,3140,3.856,3141,5.198,3142,6.942,3557,6.782,4326,5.313,4331,6.724,9537,5.925,20695,6.942,20698,10.133,20699,7.918,20700,7.918,20701,7.918,20702,9.6,20703,7.918]],["title/classes/SubmissionContainerElementResponse.html",[0,0.24,4374,5.327]],["body/classes/SubmissionContainerElementResponse.html",[0,0.353,2,0.82,3,0.015,4,0.015,5,0.007,7,0.108,27,0.501,29,0.592,30,0.001,31,0.432,32,0.174,33,0.355,34,2.176,47,0.814,83,3.342,95,0.131,101,0.013,103,0,104,0,112,0.8,142,3.733,157,1.775,190,2.194,202,1.771,296,3.539,304,3.808,433,1.417,458,3.086,567,2.931,821,3.927,886,2.426,1853,2.522,2108,3.366,2392,4.853,2629,4.688,2908,7.365,3141,7.95,3177,5.035,3178,5.463,3179,5.463,3181,4.593,3182,4.779,3557,6.307,3727,5.259,3739,4.549,3988,6.586,3992,5.035,3994,5.035,4374,9.759,4454,6.607,6373,6.509,11459,7.142,11471,7.142,11472,7.142,11474,7.142,20704,10.283,20705,12.111,20706,6.767,20707,7.142,20708,7.142,20710,5.915,20717,7.713]],["title/classes/SubmissionContainerElementResponseMapper.html",[0,0.24,6400,6.094]],["body/classes/SubmissionContainerElementResponseMapper.html",[0,0.263,2,0.812,3,0.015,4,0.015,5,0.007,7,0.107,8,1.174,27,0.48,29,0.78,30,0.001,31,0.57,32,0.152,33,0.468,34,1.307,35,1.324,95,0.13,100,2.666,101,0.01,103,0,104,0,112,0.795,122,2.121,135,0.998,141,4.359,148,1.132,153,2.091,430,3.141,467,3.797,652,2.333,653,3.154,711,2.269,829,4.505,830,5.639,833,6.202,835,5.859,1237,2.997,1853,2.498,2048,5.494,2139,4.422,2392,2.914,2639,8.373,2642,7.797,2643,7.797,2645,7.613,2908,4.422,3130,8.602,3141,7.71,3557,5.244,3988,5.832,4004,5.386,4374,9.343,4454,3.967,5883,7.1,6373,4.86,6394,5.859,6400,11.679,9578,9.122,9579,6.017,9586,6.017,9587,6.017,9588,6.017,20704,9.609,20718,11.746,20719,7.075,20720,11.427,20721,11.427,20722,7.64]],["title/interfaces/SubmissionContainerNodeProps.html",[159,0.713,20714,6.094]],["body/interfaces/SubmissionContainerNodeProps.html",[0,0.307,3,0.017,4,0.017,5,0.008,7,0.125,30,0.001,32,0.111,83,3.76,95,0.147,96,2.36,101,0.015,103,0.001,104,0.001,112,0.878,134,3.148,135,1.164,142,4.713,148,0.882,159,0.915,161,2.116,195,1.949,196,2.947,205,2.294,223,3.487,224,2.601,231,2.135,232,2.414,457,4.942,1770,4.998,2048,3.621,2108,3.889,2648,5.36,2701,5.024,3141,5.417,3431,5.997,3441,6.69,3479,7.019,3513,5.417,3540,9.855,3557,6.868,3889,7.478,3910,5.475,4417,5.601,4419,5.601,20710,6.834,20713,7.494,20714,10.793,20715,7.235,20716,8.252]],["title/classes/SubmissionContainerUrlParams.html",[0,0.24,4023,6.094]],["body/classes/SubmissionContainerUrlParams.html",[0,0.412,2,1.045,3,0.019,4,0.019,5,0.009,7,0.138,27,0.387,30,0.001,32,0.123,34,2.041,47,0.846,95,0.136,101,0.013,103,0.001,104,0.001,112,0.933,157,2.262,190,1.764,194,4.668,195,2.611,196,3.947,197,3.318,200,3.01,202,2.257,296,3.117,855,4.83,3140,5.382,3141,7.255,4023,10.47,4166,5.974,7983,9.401,20723,10.47,20724,9.827,20725,11.903,20726,9.827]],["title/controllers/SubmissionController.html",[314,2.658,20727,6.094]],["body/controllers/SubmissionController.html",[0,0.271,3,0.015,4,0.015,5,0.007,7,0.111,8,1.196,10,4.655,27,0.408,29,0.795,30,0.001,31,0.581,32,0.129,33,0.477,35,1.201,36,2.611,95,0.15,100,2.744,101,0.01,103,0.001,104,0.001,135,1.609,141,4.444,148,1.026,153,1.296,190,1.86,202,1.806,228,1.427,274,3.287,277,1.135,314,3.01,316,3.794,317,2.854,325,6.659,326,4.405,349,6.928,388,4.444,392,4.111,395,4.229,398,4.261,400,2.342,657,2.375,675,4.004,3017,3.712,3201,6.765,3221,4.056,4009,6.054,15367,6.613,15373,6.613,20727,9.092,20728,7.864,20729,11.592,20730,10.81,20731,10.364,20732,7.864,20733,7.864,20734,10.362,20735,10.364,20736,7.864,20737,6.899,20738,9.748,20739,6.613,20740,7.864,20741,7.864,20742,7.864,20743,7.864,20744,7.864,20745,7.282,20746,7.864,20747,10.364,20748,7.864,20749,7.864,20750,7.864]],["title/classes/SubmissionFactory.html",[0,0.24,20751,6.432]],["body/classes/SubmissionFactory.html",[0,0.159,2,0.489,3,0.009,4,0.009,5,0.004,7,0.065,8,0.815,27,0.527,29,1.01,30,0.001,31,0.704,32,0.167,33,0.578,34,1.47,35,1.402,47,0.501,55,2.473,59,3.229,95,0.125,101,0.006,103,0,104,0,112,0.552,113,4.376,127,4.818,129,3.531,130,3.226,135,1.434,148,1.03,157,1.978,172,3.003,185,2.427,192,2.532,195,1.545,205,2.124,206,2.303,228,1.282,231,1.226,326,4.959,374,3.055,433,0.568,436,3.834,467,2.056,478,1.288,501,7.196,502,5.348,505,3.918,506,5.348,507,5.329,508,3.918,509,3.918,510,3.918,511,3.856,512,4.377,513,4.768,514,6.393,515,5.68,516,6.982,517,2.573,522,2.552,523,3.918,524,2.573,525,5.041,526,5.186,527,4.082,528,4.879,529,3.887,530,2.552,531,2.405,532,4.074,533,2.457,534,2.405,535,2.552,536,2.573,537,4.694,538,2.552,539,7.305,540,4.142,541,6.543,542,2.573,543,4.171,544,2.552,545,2.573,546,2.552,547,2.573,548,2.552,549,2.859,550,2.688,551,2.552,552,5.995,553,2.573,554,2.552,555,3.918,556,3.573,557,3.918,558,2.573,559,2.475,560,2.439,561,2.065,562,2.552,563,2.552,564,2.552,565,2.573,566,2.573,567,1.749,568,2.552,569,1.432,570,2.573,571,2.794,572,2.552,573,2.573,575,2.64,576,2.714,577,5.743,697,3.305,698,3.529,703,1.428,2940,2.106,3140,3.185,3396,4.052,4085,7.093,4090,7.093,7650,3.624,7651,3.736,7660,3.624,10472,5.289,20632,5.94,20646,3.869,20751,7.961,20752,4.602,20753,9.644,20754,7.064,20755,4.602,20756,4.602,20757,4.602,20758,7.064,20759,4.602,20760,4.602,20761,4.037,20762,4.602,20763,4.037,20764,4.602,20765,4.602,20766,4.602,20767,4.261]],["title/classes/SubmissionItem.html",[0,0.24,2661,4.137]],["body/classes/SubmissionItem.html",[0,0.206,2,0.635,3,0.011,4,0.011,5,0.006,7,0.084,8,0.99,26,2.491,27,0.53,29,0.977,30,0.001,31,0.714,32,0.164,33,0.586,35,1.503,36,1.816,39,3.033,55,1.717,59,1.853,95,0.125,99,1.224,101,0.014,103,0,104,0,112,0.67,113,3.416,122,2.656,130,2.997,134,2.109,135,1.119,148,1.085,158,2.207,159,0.613,189,5.267,231,1.741,317,2.176,435,2.911,436,3.782,527,2.527,532,3.18,567,3.258,569,3.76,653,2.465,657,1.368,711,2.546,735,3.922,1770,3.483,1773,6.162,1842,3.903,1853,1.952,2048,3.483,2050,2.516,2648,6.356,2661,6.527,3039,7.8,3042,6.043,3043,6.043,3044,6.043,3045,5.595,3046,6.043,3048,3.753,3049,5.21,3050,6.402,3052,5.94,3053,5.21,3054,6.287,3056,4.137,3057,4.576,3059,6.889,3060,4.137,3064,4.137,3066,3.753,3093,5.156,3121,5.326,3127,5.267,3559,6.734,4315,4.288,4316,4.288,4317,4.288,4326,3.709,4331,5.267,5391,5.237,8331,4.702,11441,5.528,18137,6.574,20695,9.423,20768,5.528,20769,5.97,20770,7.938,20771,5.97,20772,5.97,20773,5.97,20774,5.97,20775,5.97,20776,5.97,20777,5.97,20778,5.237,20779,5.237,20780,7.938,20781,5.528,20782,5.528,20783,5.528,20784,5.528,20785,5.528,20786,5.528,20787,5.237,20788,5.528,20789,5.237,20790,5.237,20791,5.237]],["title/injectables/SubmissionItemFactory.html",[589,0.929,20792,6.432]],["body/injectables/SubmissionItemFactory.html",[0,0.336,3,0.018,4,0.018,5,0.009,7,0.137,8,1.37,27,0.383,30,0.001,34,1.664,35,1.128,39,2.693,49,3.66,83,3.454,95,0.146,101,0.013,103,0.001,104,0.001,148,0.964,153,2.252,197,2.706,277,1.405,430,4.002,431,4.173,507,5.868,574,5.487,589,1.587,591,2.32,2661,7.935,3140,4.389,3142,7.901,3559,5.98,4479,7.372,20695,9.632,20792,10.987,20793,9.732,20794,9.732]],["title/entities/SubmissionItemNode.html",[205,1.418,3482,5.471]],["body/entities/SubmissionItemNode.html",[0,0.279,3,0.015,4,0.015,5,0.007,7,0.149,26,2.57,27,0.416,30,0.001,32,0.132,39,3.449,95,0.148,96,2.145,99,1.661,101,0.014,103,0.001,104,0.001,112,0.826,122,2.453,134,2.863,135,1.058,148,0.802,159,0.832,190,1.897,205,2.158,206,2.642,223,3.869,224,2.365,231,1.834,232,2.195,242,4.265,243,5.093,290,2.499,457,4.494,644,4.925,648,5.093,734,3.401,816,7.324,1080,2.793,1268,4.978,1770,4.779,1829,3.444,2108,3.536,2562,5.22,2648,5.042,2701,4.568,3140,4.766,3396,6.062,3431,5.642,3441,6.294,3482,8.324,3485,7.577,3513,4.925,3556,9.272,3559,7.659,3889,6.424,3910,4.978,4417,5.093,4418,7.503,4419,5.093,4881,5.937,5315,6.067,6262,8.105,10214,7.108,10472,6.067,20713,9.891,20795,8.102,20796,9.787,20797,9.787,20798,7.503,20799,9.272,20800,7.108,20801,7.503,20802,7.503]],["title/interfaces/SubmissionItemNodeProps.html",[159,0.713,20799,6.094]],["body/interfaces/SubmissionItemNodeProps.html",[0,0.288,3,0.016,4,0.016,5,0.008,7,0.152,26,2.692,30,0.001,32,0.134,39,3.612,95,0.149,96,2.212,99,1.712,101,0.014,103,0.001,104,0.001,112,0.843,122,2.631,134,2.952,135,1.091,148,0.827,159,0.858,161,1.984,205,2.201,223,3.705,224,2.438,231,2.072,232,2.264,242,4.398,243,5.252,290,1.975,457,4.634,644,5.079,648,5.252,734,3.507,816,5.79,1080,2.88,1268,5.134,1770,4.85,1829,3.552,2108,3.646,2562,5.383,2648,5.144,2701,4.711,3140,3.768,3396,4.793,3431,5.756,3441,6.42,3482,6.581,3485,5.383,3513,5.079,3556,9.458,3559,8.022,3889,7.256,3910,5.134,4417,5.252,4419,5.252,4881,6.122,5315,6.256,6262,6.408,10472,6.256,20713,7.026,20796,7.737,20797,7.737,20798,7.737,20799,10.472,20800,7.33,20801,7.737,20802,7.737]],["title/interfaces/SubmissionItemProps.html",[159,0.713,20787,6.094]],["body/interfaces/SubmissionItemProps.html",[0,0.275,3,0.015,4,0.015,5,0.007,7,0.112,26,2.723,30,0.001,32,0.146,36,1.693,39,3.562,95,0.142,99,1.638,101,0.016,103,0.001,104,0.001,112,0.819,122,2.755,130,2.864,134,2.823,135,1.368,148,1.228,158,2.954,159,0.821,161,1.897,231,2.028,317,1.734,527,3.382,567,3.98,569,2.487,653,3.298,657,1.831,1842,4.768,1853,2.612,2048,4.255,2050,3.367,2648,5.574,2661,6.957,3039,6.299,3049,4.856,3050,6.117,3053,4.856,3054,6.007,3093,7.027,3121,6.507,3127,6.434,3559,7.909,4326,4.964,4331,6.434,18137,8.031,20695,6.486,20768,7.398,20770,7.398,20778,7.009,20779,7.009,20780,9.697,20781,7.398,20782,7.398,20783,7.398,20784,7.398,20785,7.398,20786,7.398,20787,9.187,20788,7.398,20789,7.009,20790,7.009,20791,7.009]],["title/classes/SubmissionItemResponse.html",[0,0.24,9730,5.639]],["body/classes/SubmissionItemResponse.html",[0,0.26,2,0.801,3,0.014,4,0.014,5,0.007,7,0.106,27,0.512,29,0.578,30,0.001,31,0.423,32,0.165,33,0.347,34,2.16,39,3.494,47,0.859,95,0.13,101,0.01,103,0,104,0,112,0.788,122,2.102,125,1.798,190,2.266,202,1.731,242,3.968,296,3.522,304,4.975,433,1.243,458,3.016,821,3.838,866,3.744,874,5.887,896,7.061,1835,5.164,2048,3.063,2900,5.73,2908,7.309,3177,6.578,3178,6.469,3179,6.469,3559,7.76,3988,6.512,3992,4.921,3994,4.921,4033,5.782,4034,4.632,4035,8.153,4036,8.703,4055,4.632,4056,6.121,4057,6.121,4436,6.614,7983,10.451,9730,10.253,20723,11.64,20800,6.614,20803,7.539,20804,7.539,20805,7.539,20806,7.539,20807,7.539,20808,7.539,20809,7.539,20810,7.539]],["title/classes/SubmissionItemResponseMapper.html",[0,0.24,4041,5.841]],["body/classes/SubmissionItemResponseMapper.html",[0,0.234,2,0.721,3,0.013,4,0.013,5,0.006,7,0.095,8,1.083,27,0.48,29,0.825,30,0.001,31,0.603,32,0.145,33,0.495,34,1.161,35,1.344,39,2.596,95,0.123,100,2.368,101,0.009,103,0,104,0,112,0.734,135,1.645,141,4.974,148,1.149,153,2.007,290,1.605,430,2.791,467,3.666,652,2.571,700,3.274,701,3.274,711,3.834,829,4.003,830,5.204,871,3.435,896,3.795,1853,2.219,2048,2.758,2392,2.589,2661,7.835,2679,5.955,2908,3.928,3047,4.703,3121,5.83,3127,5.765,3382,4.826,3399,9.9,3433,4.558,3434,4.431,3485,8.113,3559,4.17,3988,5.382,4004,4.785,4037,9.043,4040,5.205,4041,10.855,4044,5.955,4060,6.285,4440,6.285,5883,6.682,7495,4.973,9578,8.687,9730,9.886,12659,5.708,18549,6.285,18550,6.285,20718,11.662,20719,6.285,20789,5.955,20811,9.383,20812,9.383,20813,6.787,20814,6.285,20815,9.383,20816,9.383,20817,6.787,20818,9.383,20819,6.787,20820,9.043,20821,10.754,20822,6.285,20823,6.787,20824,6.787,20825,9.383,20826,6.787,20827,6.787,20828,6.787,20829,6.787,20830,6.787,20831,6.787]],["title/injectables/SubmissionItemService.html",[589,0.929,3861,5.639]],["body/injectables/SubmissionItemService.html",[0,0.235,3,0.013,4,0.013,5,0.006,7,0.096,8,1.086,12,4.262,26,2.664,27,0.458,29,0.891,30,0.001,31,0.651,32,0.157,33,0.535,34,1.842,35,1.248,36,2.671,39,2.981,40,4.563,49,2.561,83,3.136,95,0.148,99,1.396,101,0.009,103,0,104,0,122,2.423,135,1.517,148,0.931,153,2.13,172,3.998,228,1.707,277,0.983,317,2.9,338,4.185,393,3.362,400,2.028,430,2.8,431,2.92,433,0.84,574,3.84,579,2.718,589,1.258,591,1.624,652,1.39,653,2.812,657,2.469,734,4.521,1723,6.126,1853,2.227,1923,4.573,2048,4.377,2050,2.87,2624,3.342,2661,7.959,2935,3.61,3130,7.391,3218,5.443,3409,5.1,3410,8.888,3418,6.307,3559,7.491,3645,5.975,3693,9.675,3861,7.635,4472,5.529,4479,4.232,6391,5.983,6405,5.975,9758,5.975,16610,6.307,20832,12.192,20833,6.81,20834,6.81,20835,11.618,20836,6.81,20837,6.81,20838,9.405,20839,6.81,20840,6.81,20841,6.81,20842,6.81,20843,6.81,20844,6.81,20845,6.81,20846,9.405]],["title/injectables/SubmissionItemUc.html",[589,0.929,3009,5.841]],["body/injectables/SubmissionItemUc.html",[0,0.18,3,0.01,4,0.01,5,0.005,7,0.073,8,0.896,26,2.909,27,0.47,29,0.915,30,0.001,31,0.669,32,0.165,33,0.549,34,0.891,35,1.334,36,2.597,39,3.528,59,1.617,95,0.131,99,1.068,101,0.007,103,0,104,0,113,5.081,122,1.934,135,1.504,148,0.918,153,1.529,228,1.864,231,1.347,277,0.752,317,2.924,433,0.957,436,2.754,579,2.679,589,1.038,591,1.242,610,2.053,657,2.922,688,2.459,1197,5.951,1793,3.449,1853,1.704,1862,6.368,1935,3.499,1967,5.686,2018,7.527,2048,3.153,2648,5.494,2649,8.832,2651,6.112,2652,8.092,2653,3.818,2654,8.494,2656,3.996,2657,5.686,2658,6.659,2660,4.104,2661,7.593,2663,4.104,2664,5.573,2666,2.409,2678,4.382,2680,3.996,2934,4.491,2935,2.762,3009,6.525,3121,3.238,3127,3.202,3130,5.899,3140,2.35,3141,3.167,3382,4.161,3399,3.996,3417,3.902,3559,6.312,3861,9.684,4010,7.797,4012,8.586,4044,8.134,4123,4.23,4124,4.23,4125,4.23,4128,4.23,4129,4.23,4454,5.334,4507,8.134,4509,4.825,5106,2.802,6365,3.275,6369,3.275,6391,4.937,9758,4.571,9759,4.825,9768,7.186,9770,4.825,9778,4.825,10170,4.571,20725,8.586,20778,4.571,20779,4.571,20790,4.571,20791,4.571,20847,10.984,20848,5.211,20849,9.272,20850,5.211,20851,10.664,20852,5.211,20853,5.211,20854,5.211,20855,5.211,20856,5.211,20857,5.211,20858,5.211,20859,5.211,20860,5.211,20861,5.211,20862,5.211,20863,5.211,20864,5.211,20865,7.76,20866,5.211,20867,5.211]],["title/classes/SubmissionItemUrlParams.html",[0,0.24,4014,6.094]],["body/classes/SubmissionItemUrlParams.html",[0,0.412,2,1.045,3,0.019,4,0.019,5,0.009,7,0.138,27,0.387,30,0.001,32,0.123,34,2.041,47,0.846,95,0.136,101,0.013,103,0.001,104,0.001,112,0.933,157,2.262,190,1.764,194,4.668,195,2.611,196,3.947,197,3.318,200,3.01,202,2.257,296,3.117,855,4.83,3140,5.382,3485,7.689,4014,10.47,4166,5.974,7983,9.401,20723,10.47,20851,11.903,20868,9.827,20869,9.827]],["title/classes/SubmissionMapper.html",[0,0.24,20737,6.094]],["body/classes/SubmissionMapper.html",[0,0.332,2,1.022,3,0.018,4,0.018,5,0.009,7,0.135,8,1.36,27,0.379,29,0.737,30,0.001,31,0.539,32,0.12,33,0.442,34,1.645,35,1.114,95,0.134,100,4.109,101,0.013,103,0.001,104,0.001,135,1.256,148,0.952,153,1.585,467,3.706,478,2.692,837,4.747,3140,6.139,16114,7.045,20672,7.2,20690,7.2,20737,10.332,20870,9.616,20871,11.777,20872,11.777,20873,9.616,20874,11.158,20875,9.616,20876,8.436,20877,8.086,20878,7.806,20879,9.616,20880,8.086,20881,8.436,20882,9.616]],["title/interfaces/SubmissionProperties.html",[159,0.713,20646,5.841]],["body/interfaces/SubmissionProperties.html",[0,0.169,3,0.009,4,0.009,5,0.005,7,0.151,26,2.208,30,0.001,32,0.163,33,0.595,34,0.84,47,0.874,55,1.997,62,2.925,72,2.247,95,0.137,96,1.3,101,0.01,103,0,104,0,112,0.78,122,2.73,125,2.133,134,1.735,135,1.741,148,1.192,153,1.475,159,0.504,161,1.166,195,2.182,196,3.299,197,2.064,205,1.516,219,4.15,223,3.496,224,1.433,225,2.851,226,2.225,229,1.942,231,0.852,232,1.331,233,1.533,277,0.709,290,3.018,578,2.567,579,1.419,652,1.516,692,5.316,703,3.324,711,3.345,813,2.746,962,3.463,985,2.843,998,2.318,1312,3.542,1821,2.383,1921,3.403,1923,3.298,1929,3.527,1938,2.641,2090,4.13,2924,4.95,2927,2.724,2931,2.724,2940,5.92,2941,3.087,3140,3.347,3396,6.709,3720,3.164,3721,3.463,4009,2.869,4085,7.302,4090,7.302,4098,6.242,4100,6.242,4557,1.719,4873,3.164,5685,3.485,6163,7.481,6164,3.298,6189,3.463,6190,3.463,6197,5.233,6198,3.463,6621,4.117,7439,3.051,7440,2.769,7456,3.527,7460,3.087,7461,2.985,7775,3.206,10472,8.019,16114,7.846,20630,4.548,20631,9.917,20632,9.834,20639,4.548,20642,4.309,20646,7.525,20647,4.548,20648,4.548,20649,4.548,20650,4.548,20651,4.548,20652,3.987,20653,4.548,20654,4.548,20655,4.548,20656,4.13,20657,4.548,20658,4.548,20659,4.548,20660,4.548,20661,4.548,20662,4.548,20663,9.917,20664,4.548,20665,4.548,20666,4.548,20667,4.548,20668,4.548,20669,4.548,20670,9.235,20671,4.548,20672,6.701,20673,3.987,20674,10.43,20675,6.874,20676,4.13,20677,6.874,20678,3.767,20679,3.868,20680,4.548,20681,4.548,20682,4.548,20683,4.548,20684,6.874,20685,6.874,20686,4.548,20687,4.548,20688,4.548,20689,4.548,20690,6.701,20691,3.987,20692,4.13,20693,6.874]],["title/injectables/SubmissionRepo.html",[589,0.929,1913,5.327]],["body/injectables/SubmissionRepo.html",[0,0.203,3,0.011,4,0.011,5,0.005,7,0.083,8,0.981,10,3.413,12,3.851,18,4.327,26,2.706,27,0.509,29,0.973,30,0.001,31,0.712,32,0.158,33,0.584,34,1.009,35,1.471,36,2.846,39,3.197,40,4.123,47,0.706,95,0.132,96,1.562,98,3.549,99,1.209,101,0.008,103,0,104,0,135,1.509,141,3.644,148,1.144,205,1.205,206,2.771,224,1.722,231,1.475,277,0.852,317,3.044,365,3.796,436,3.238,478,1.652,532,4.93,589,1.137,591,1.407,652,2.457,657,2.909,728,7.178,734,3.567,735,3.889,736,4.948,759,3.513,760,3.586,761,3.549,762,3.586,764,3.549,765,3.586,766,3.197,1626,3.272,1829,2.508,1913,6.518,2487,3.513,2920,4.919,2940,2.7,3140,5.592,3299,3.355,3396,3.384,3966,4.16,4009,5.819,4779,6.694,4785,6.9,6163,5.933,6244,2.416,7400,3.753,7694,4.525,15586,7.87,19136,5.463,20632,4.961,20883,5.9,20884,8.499,20885,8.499,20886,8.499,20887,8.499,20888,5.9,20889,8.499,20890,5.9,20891,8.499,20892,5.9,20893,5.463,20894,8.499,20895,5.9,20896,5.9,20897,5.9,20898,5.9,20899,5.9,20900,8.499,20901,5.9,20902,5.9,20903,5.9,20904,5.9]],["title/injectables/SubmissionRule.html",[589,0.929,1875,5.841]],["body/injectables/SubmissionRule.html",[0,0.185,3,0.01,4,0.01,5,0.005,7,0.076,8,0.916,27,0.487,29,0.948,30,0.001,31,0.693,32,0.157,33,0.569,35,1.396,95,0.127,101,0.007,103,0,104,0,122,2.513,135,1.521,141,3.403,148,1.193,153,0.885,183,3.99,197,2.206,205,2.129,228,1.44,277,0.775,290,3.379,400,1.599,433,0.663,478,1.504,579,1.552,589,1.061,591,1.281,652,2.784,653,2.217,711,3.458,1197,7.217,1237,1.583,1622,3.858,1775,5.737,1778,6.554,1792,5.5,1793,5.252,1801,7.235,1838,4.824,1875,6.674,1876,9.779,1981,5.113,1985,4.931,1992,3.555,3140,6.594,3519,3.417,3678,5.252,3679,3.606,3682,5.181,3684,3.606,3685,5.329,15487,4.974,20878,4.36,20905,5.371,20906,11.644,20907,10.426,20908,10.426,20909,11.644,20910,10.426,20911,5.371,20912,7.936,20913,5.371,20914,7.936,20915,5.371,20916,7.936,20917,5.371,20918,5.371,20919,7.936,20920,5.371,20921,7.936,20922,5.371,20923,5.371,20924,5.371,20925,5.371,20926,7.936,20927,5.371,20928,7.936,20929,5.371,20930,5.371,20931,5.371,20932,7.936,20933,7.936]],["title/injectables/SubmissionService.html",[589,0.929,20934,5.639]],["body/injectables/SubmissionService.html",[0,0.275,3,0.015,4,0.015,5,0.007,7,0.112,8,1.207,10,4.2,12,4.739,26,2.773,27,0.488,29,0.95,30,0.001,31,0.694,32,0.154,33,0.57,35,1.352,36,2.797,95,0.147,98,4.796,99,1.634,101,0.01,103,0.001,104,0.001,135,1.041,148,1.036,228,1.898,277,1.151,279,3.347,317,2.996,433,1.29,478,2.233,589,1.399,591,1.901,652,2.135,657,2.397,1317,5.012,1913,10.124,2815,3.19,3140,5.8,3866,4.009,4009,6.109,7224,9.662,20934,8.491,20935,7.973,20936,9.685,20937,7.973,20938,7.973,20939,10.458,20940,7.973,20941,10.458,20942,7.973,20943,6.28,20944,10.458,20945,7.973,20946,6.995,20947,7.973,20948,7.973,20949,7.973,20950,7.973]],["title/classes/SubmissionStatusListResponse.html",[0,0.24,20739,5.841]],["body/classes/SubmissionStatusListResponse.html",[0,0.384,2,0.933,3,0.017,4,0.017,5,0.008,7,0.123,27,0.438,29,0.673,30,0.001,31,0.492,32,0.152,33,0.404,34,2.089,47,0.866,55,1.757,95,0.1,101,0.015,103,0.001,104,0.001,112,0.87,122,2.321,125,2.092,190,1.575,201,4.743,202,2.015,296,3.537,339,3.887,433,1.373,458,3.51,864,6.381,866,4.358,881,4.791,16114,8.95,20656,7.379,20672,9.147,20676,7.379,20690,9.147,20692,7.379,20739,9.355,20874,11.706,20876,10.716,20881,10.716,20951,8.126,20952,8.775,20953,8.775,20954,8.126,20955,8.126]],["title/classes/SubmissionStatusResponse.html",[0,0.24,20874,5.841]],["body/classes/SubmissionStatusResponse.html",[0,0.358,2,0.838,3,0.015,4,0.015,5,0.007,7,0.111,27,0.528,29,0.604,30,0.001,31,0.442,32,0.17,33,0.59,34,2.192,47,0.933,55,2.078,95,0.09,101,0.014,103,0.001,104,0.001,112,0.811,122,2.572,190,2.361,201,4.975,202,1.81,296,3.631,339,3.044,433,1.28,458,3.152,821,4.011,864,4.52,881,4.302,16114,9.389,20656,6.626,20672,9.595,20676,6.626,20690,9.595,20692,6.626,20739,6.626,20874,11.448,20876,11.242,20881,11.242,20951,7.297,20954,7.297,20955,7.297,20956,7.88,20957,7.88,20958,7.88,20959,7.88,20960,7.88,20961,7.88,20962,7.88]],["title/injectables/SubmissionUc.html",[589,0.929,20738,5.841]],["body/injectables/SubmissionUc.html",[0,0.244,3,0.013,4,0.013,5,0.007,7,0.099,8,1.113,10,3.872,26,2.877,27,0.465,29,0.905,30,0.001,31,0.661,32,0.147,33,0.543,35,1.272,36,2.043,39,2.668,95,0.146,99,1.447,101,0.009,103,0,104,0,135,1.704,148,1.168,158,2.611,195,1.545,228,1.75,277,1.019,290,3.252,317,2.766,433,1.19,478,1.977,589,1.289,591,1.684,595,2.665,610,2.783,652,2.521,657,2.704,693,3.216,980,3.917,1780,4.293,1838,5.861,1862,6.965,1961,5.8,1963,5.562,2666,3.264,3140,6.074,4009,5.632,4955,5.938,15533,8.108,20738,8.108,20934,10.348,20936,8.929,20943,8.648,20946,9.632,20963,7.062,20964,9.642,20965,7.062,20966,7.062,20967,7.062,20968,9.642,20969,7.062,20970,9.642,20971,7.062,20972,7.062,20973,11.797,20974,7.062,20975,7.062,20976,7.062,20977,6.54,20978,9.642,20979,7.062,20980,5.938]],["title/classes/SubmissionUrlParams.html",[0,0.24,20730,6.094]],["body/classes/SubmissionUrlParams.html",[0,0.415,2,1.06,3,0.019,4,0.019,5,0.009,7,0.14,27,0.393,30,0.001,32,0.124,34,2.06,47,0.854,95,0.137,101,0.013,103,0.001,104,0.001,112,0.941,157,2.295,190,1.79,194,4.71,195,2.634,196,3.983,197,3.348,200,3.055,202,2.291,296,3.146,855,4.874,3140,5.43,4166,6.063,20730,10.565,20946,11.349,20981,9.974,20982,9.974]],["title/classes/SubmissionsResponse.html",[0,0.24,4037,5.841]],["body/classes/SubmissionsResponse.html",[0,0.31,2,0.956,3,0.017,4,0.017,5,0.008,7,0.126,27,0.487,29,0.69,30,0.001,31,0.504,32,0.166,33,0.414,95,0.141,101,0.012,103,0.001,104,0.001,112,0.883,125,2.693,190,2.027,202,2.065,290,2.126,296,3.227,433,1.109,866,5.61,3140,4.054,3382,6.206,4037,9.5,7983,10.207,9730,11.228,12775,7.3,20820,11.63,20822,12.363,20983,8.991,20984,11.297,20985,8.991,20986,8.991,20987,8.991,20988,8.991,20989,8.991,20990,8.991]],["title/interfaces/SuccessfulRes.html",[159,0.713,12977,5.201]],["body/interfaces/SuccessfulRes.html",[3,0.018,4,0.018,5,0.009,7,0.131,30,0.001,32,0.116,34,1.591,47,0.974,55,2.512,101,0.018,103,0.001,104,0.001,112,0.902,122,2.617,159,1.431,161,2.209,339,2.729,402,3.329,532,3.452,1076,8.345,1081,6.343,1115,3.561,3382,4.175,4964,6.343,7397,5.385,12969,6.967,12970,7.135,12971,6.967,12972,6.967,12973,7.135,12974,8.554,12975,7.135,12976,7.135,12977,8.642,12978,7.135,12979,6.817,12980,6.967,12981,7.135,12982,6.967]],["title/classes/SuccessfulResponse.html",[0,0.24,20991,6.094]],["body/classes/SuccessfulResponse.html",[0,0.346,2,1.065,3,0.019,4,0.019,5,0.009,7,0.141,27,0.476,29,0.769,30,0.001,31,0.562,32,0.151,33,0.461,95,0.114,101,0.013,103,0.001,104,0.001,112,0.944,122,2.873,190,1.799,202,2.302,296,3.386,433,1.237,2836,10.848,20991,10.596,20992,10.024,20993,12.078,20994,10.024,20995,10.024,20996,10.024]],["title/injectables/SymetricKeyEncryptionService.html",[589,0.929,9785,6.094]],["body/injectables/SymetricKeyEncryptionService.html",[0,0.278,3,0.015,4,0.015,5,0.007,7,0.113,8,1.217,27,0.522,29,0.9,30,0.001,31,0.658,32,0.146,33,0.54,35,1.221,47,1.009,59,2.505,95,0.142,101,0.011,103,0.001,104,0.001,148,1.311,277,1.165,339,3.65,400,2.403,433,0.996,589,1.41,591,1.924,652,1.648,711,3.934,816,5.592,1027,2.478,1237,2.379,1718,5.913,2124,7.02,2449,4.406,2450,5.843,2894,5.029,3262,5.419,4185,7.893,5172,7.723,7445,5.796,8065,8.601,9784,7.473,9785,9.247,9794,9.247,9795,8.864,9796,9.761,9798,9.761,13710,7.473,15832,6.786,20597,7.473,20600,7.473,20997,8.07,20998,8.07,20999,8.07,21000,8.07,21001,11.739,21002,11.739,21003,8.07,21004,8.07]],["title/classes/System.html",[0,0.24,3394,3.179]],["body/classes/System.html",[0,0.304,2,0.937,3,0.017,4,0.017,5,0.008,7,0.124,8,1.288,27,0.482,30,0.001,32,0.139,35,1.021,47,0.941,95,0.147,101,0.015,103,0.001,104,0.001,110,3.047,112,0.872,113,4.446,125,2.101,148,0.873,159,0.905,185,3.029,231,2.124,435,3.788,436,3.313,532,4.139,711,3.313,735,5.105,1470,4.928,1767,6.138,1770,5.392,1773,7.521,1849,5.101,2087,4.825,3048,5.54,3066,5.54,3394,5.105,6642,4.516,13472,7.694,13560,5.833,14205,5.415,14218,7.187,14219,5.753,14220,5.753,14477,5.678,14868,9.246,14902,5.918,21005,8.162,21006,8.814,21007,8.814,21008,7.155,21009,8.162]],["title/modules/SystemApiModule.html",[252,1.835,20175,5.841]],["body/modules/SystemApiModule.html",[0,0.318,3,0.018,4,0.018,5,0.008,30,0.001,95,0.154,101,0.012,103,0.001,104,0.001,252,3.301,254,3.32,255,3.516,256,3.606,257,3.592,258,3.579,259,4.543,260,3.431,269,4.488,270,3.541,271,3.467,273,5.794,274,4.796,276,4.488,277,1.331,1525,10.047,1856,7.865,2666,4.261,20175,11.998,21010,9.218,21011,9.218,21012,9.218,21013,11.53,21014,9.218,21015,10.961,21016,9.218,21017,9.218,21018,9.218]],["title/controllers/SystemController.html",[314,2.658,21015,6.094]],["body/controllers/SystemController.html",[0,0.21,3,0.012,4,0.012,5,0.006,7,0.086,8,1.003,10,2.445,27,0.399,29,0.777,30,0.001,31,0.568,32,0.156,33,0.466,35,1.451,36,2.577,72,5.06,95,0.143,100,2.124,101,0.008,103,0,104,0,135,1.444,148,0.861,157,2.545,180,4.721,190,1.819,202,1.398,228,1.105,274,2.544,277,0.879,314,2.33,316,2.937,317,2.827,325,5.492,326,4.444,328,6.509,333,7.425,339,3.243,349,5.161,365,2.719,374,3.76,388,3.727,390,6.521,391,6.229,392,3.182,395,3.274,398,3.298,400,1.813,401,5.669,402,3.11,534,5.78,610,2.399,657,2.324,741,9.701,1368,3.432,1390,5.401,1563,5.6,2232,6.722,2554,6.951,2630,7.54,3221,3.14,3222,4.088,3382,3.901,3394,5.06,3998,4.088,4834,6.4,5106,4.675,5183,7.342,12673,8.049,12925,7.663,16616,7.626,18153,6.369,18155,6.369,18284,9.299,18287,8.977,21013,8.525,21015,7.626,21019,6.088,21020,8.692,21021,8.692,21022,6.088,21023,10.982,21024,6.088,21025,6.088,21026,6.088,21027,6.088,21028,9.701,21029,6.088,21030,10.24,21031,6.088,21032,6.088,21033,11.058,21034,6.088,21035,6.088,21036,6.088,21037,6.088,21038,6.088,21039,5.341,21040,6.088,21041,6.088,21042,6.088,21043,6.088,21044,6.088,21045,6.088,21046,6.088,21047,6.088,21048,6.088,21049,6.088,21050,6.088,21051,6.088,21052,6.088,21053,6.088,21054,5.119,21055,6.088,21056,6.088,21057,6.088]],["title/classes/SystemDomainMapper.html",[0,0.24,21058,6.094]],["body/classes/SystemDomainMapper.html",[0,0.254,2,0.784,3,0.014,4,0.014,5,0.007,7,0.104,8,1.146,27,0.442,29,0.861,30,0.001,31,0.629,32,0.15,33,0.516,34,1.261,35,1.301,95,0.113,101,0.01,103,0,104,0,110,3.433,125,2.367,135,1.466,148,1.112,153,1.637,205,1.505,467,3.957,478,2.064,652,2.636,711,2.19,1593,4.53,1882,2.812,4737,4.581,4834,7.473,4885,4.75,5042,5.054,5178,6.556,6244,3.02,6325,3.707,6642,3.778,8206,4.435,10340,4.88,10661,6.2,12706,6.828,12707,9.194,12715,9.194,13411,8.322,13472,8.293,13485,5.521,13486,5.521,13487,5.402,13488,5.521,13532,4.951,13535,4.813,13537,4.951,13540,4.951,13543,4.53,13547,4.88,14205,4.53,14477,4.75,14868,8.859,14876,8.992,14902,4.951,14905,5.655,14907,5.655,14909,5.521,14911,5.655,14915,5.655,14916,5.655,14918,5.655,14920,5.521,14922,5.655,14923,4.951,14924,5.808,14935,5.655,14942,5.808,21008,9.749,21058,8.71,21059,12.009,21060,9.928,21061,9.928,21062,7.373,21063,9.928,21064,7.373,21065,9.928,21066,7.373,21067,6.828,21068,6.828,21069,6.828,21070,6.828,21071,6.828,21072,7.373,21073,7.373,21074,7.373,21075,7.373]],["title/classes/SystemDto.html",[0,0.24,12925,4.813]],["body/classes/SystemDto.html",[0,0.266,2,0.82,3,0.015,4,0.015,5,0.007,7,0.108,26,2.367,27,0.545,29,0.592,30,0.001,31,0.432,32,0.176,33,0.661,34,1.964,47,0.982,95,0.131,99,1.581,101,0.01,103,0,104,0,110,3.97,112,0.8,122,2.134,433,0.952,458,3.086,2108,3.366,3394,3.53,5362,6.075,6642,5.883,6662,4.969,7127,4.179,12925,8.818,13472,7.217,13726,8.597,14205,7.055,14218,7.397,14219,5.035,14220,5.035,14477,7.397,14902,7.709,14975,5.915,14977,5.915,14983,5.915,14985,5.915,15010,5.651,15329,6.486,15331,6.262,15333,6.486,15336,7.142,15338,7.142,15340,7.142,18290,9.475,21076,7.713,21077,10.632,21078,10.232,21079,7.713,21080,7.713,21081,7.713,21082,7.713,21083,7.713,21084,7.713,21085,7.713,21086,7.713,21087,6.767,21088,6.486,21089,7.713,21090,7.142]],["title/entities/SystemEntity.html",[205,1.418,5178,3.792]],["body/entities/SystemEntity.html",[0,0.318,3,0.008,4,0.008,5,0.004,7,0.059,26,1.364,27,0.465,30,0.001,32,0.158,33,0.602,47,1.032,83,2.372,95,0.105,96,1.12,101,0.013,103,0,104,0,110,3.459,112,0.517,122,0.882,134,1.494,157,0.973,159,0.434,185,2.273,190,2.117,195,3.059,196,4.516,197,1.839,205,1.664,206,1.379,211,6.363,223,4.442,224,1.234,225,2.541,226,1.916,228,0.767,229,1.672,231,0.734,232,1.146,233,1.32,331,1.871,561,1.898,620,2.627,628,2.518,886,2.564,997,2.658,1454,2.598,1561,2.981,1593,2.598,2108,1.845,2160,2.798,2185,3.243,2698,3.368,4623,3.532,4661,4.751,4695,2.57,4885,2.724,5042,3.368,5178,3.612,5183,2.426,6244,1.732,6325,3.326,6642,4.723,6662,2.724,6663,2.93,7127,3.584,8064,2.658,8150,2.839,8206,3.98,10340,2.798,11395,2.798,13411,6.933,13472,5.794,13485,3.166,13486,3.166,13487,3.098,13488,3.166,13532,2.839,13535,2.76,13537,2.839,13540,2.839,13543,2.598,13547,2.798,13649,4.511,13811,3.243,14205,5.664,14218,5.938,14219,2.76,14220,2.76,14471,6.62,14477,5.938,14588,3.166,14868,6.189,14872,3.331,14874,4.847,14876,7.944,14877,3.433,14878,3.433,14879,3.433,14880,3.433,14881,3.433,14882,3.433,14883,3.433,14884,3.433,14885,3.433,14886,3.433,14900,5.074,14901,7.491,14902,6.189,14903,3.433,14904,4.847,14905,3.243,14906,4.847,14907,3.243,14908,3.166,14909,3.166,14910,3.166,14911,3.243,14912,3.166,14913,3.166,14914,3.166,14915,3.243,14916,3.243,14917,3.166,14918,3.243,14919,3.166,14920,3.166,14921,3.166,14922,3.243,14923,4.442,14924,3.331,14925,3.037,14926,3.433,14927,3.433,14928,3.433,14929,3.433,14930,3.433,14931,3.433,14932,3.433,14933,3.433,14934,3.433,14935,3.243,14936,3.433,14937,3.433,14938,3.433,14939,3.433,14940,3.433,14941,3.433,14942,3.331,14943,3.433,14944,3.433,14945,3.098,14946,3.433,14947,3.433,14948,3.433,14949,3.433,14950,3.433,14951,3.433,14952,3.433,14953,3.433,14954,3.433,14955,3.433,14956,3.433,14957,3.433,14958,3.433,14959,3.433,14960,3.243,14961,3.433,14962,3.331,14963,3.243,14964,3.331,14965,3.243,14966,3.243,14967,3.331,14968,3.243,14969,3.331,14970,3.243,14971,3.098,14972,3.098,14973,3.098,14974,3.166,14975,3.243,14976,3.433,14977,3.243,14978,3.433,14979,3.433,14980,3.433,14981,3.433,14982,3.433,14983,3.243,14984,3.331,14985,3.243,14986,3.331,21091,4.228,21092,4.228,21093,4.228,21094,4.228,21095,4.228,21096,4.228,21097,4.228,21098,4.228,21099,4.228,21100,4.228,21101,4.228]],["title/classes/SystemEntityFactory.html",[0,0.24,13911,6.094]],["body/classes/SystemEntityFactory.html",[0,0.151,2,0.467,3,0.008,4,0.008,5,0.004,7,0.062,8,0.786,27,0.519,29,1.001,30,0.001,31,0.696,32,0.167,33,0.571,34,1.609,35,1.383,47,0.483,55,2.251,59,3.344,95,0.107,101,0.009,103,0,104,0,110,2.355,112,0.533,113,4.294,127,4.7,129,3.477,130,3.177,135,1.228,148,0.931,153,1.376,157,1.921,172,2.896,185,2.341,192,2.416,195,0.96,205,2.079,206,2.221,228,1.236,231,1.182,326,4.855,374,2.947,433,0.542,436,3.794,467,1.983,478,1.229,501,7.135,502,5.217,505,3.778,506,5.217,507,5.255,508,3.778,509,3.778,510,3.778,511,3.719,512,4.249,513,4.629,514,6.295,515,5.559,516,6.918,517,2.455,522,2.435,523,3.778,524,2.455,525,4.917,526,5.059,527,3.981,528,4.759,529,3.748,530,2.435,531,2.295,532,3.997,533,2.344,534,2.295,535,2.435,536,2.455,537,4.557,538,2.435,539,7.303,540,4.079,541,6.444,542,2.455,543,4.05,544,2.435,545,2.455,546,2.435,547,2.455,548,2.435,549,2.728,550,2.565,551,2.435,552,5.882,553,2.455,554,2.435,555,3.778,556,3.446,557,3.778,558,2.455,559,2.361,560,2.327,561,1.97,562,2.435,563,2.435,564,2.435,565,2.455,566,2.455,567,1.668,568,2.435,569,1.366,570,2.455,571,2.694,572,2.435,573,2.455,575,2.518,576,2.589,577,4.971,620,2.728,702,2.167,998,2.072,1470,3.809,1593,2.698,1598,2.589,2160,2.906,2815,2.725,3394,3.117,4885,2.828,5042,2.235,5178,2.397,6244,1.798,6325,3.425,6642,2.25,8206,4.098,8208,4.991,10260,7.637,10340,2.906,13411,4.721,13472,2.76,13532,2.948,13535,2.866,13536,3.692,13537,2.948,13540,2.948,13543,2.698,13547,2.906,13911,7.323,14205,2.698,14218,2.828,14219,2.866,14220,2.866,14471,3.153,14477,2.828,14511,3.564,14868,2.948,14876,5.101,14900,3.367,14901,5.101,14902,2.948,14923,6.316,14971,3.217,14972,3.217,14973,3.217,14974,3.287,15821,4.065,17543,4.065,21102,4.39,21103,6.308,21104,8.711,21105,8.711,21106,6.812,21107,4.39,21108,6.812,21109,4.39,21110,4.39,21111,4.39,21112,4.39,21113,4.39,21114,4.39,21115,4.39,21116,4.39,21117,4.39,21118,4.39,21119,4.39,21120,4.39,21121,4.39,21122,4.39,21123,4.39,21124,4.39,21125,4.39,21126,4.39,21127,4.39,21128,4.39]],["title/interfaces/SystemEntityProps.html",[159,0.713,14900,5.327]],["body/interfaces/SystemEntityProps.html",[0,0.326,3,0.008,4,0.008,5,0.004,7,0.062,26,1.413,30,0.001,32,0.161,33,0.607,47,1.038,83,2.442,95,0.108,96,1.171,101,0.013,103,0,104,0,110,3.737,112,0.536,122,0.923,134,1.563,157,1.018,159,0.454,161,1.05,185,1.52,195,2.992,196,4.524,197,1.23,205,1.712,223,4.458,224,1.291,225,2.632,226,2.005,228,0.803,229,1.75,231,0.768,232,1.199,233,1.381,331,1.958,561,1.985,620,2.749,628,2.635,886,2.639,997,2.781,1454,2.718,1561,3.119,1593,2.718,2108,1.931,2160,2.928,2185,3.393,2698,3.489,4623,3.659,4661,4.922,4695,2.689,4885,2.85,5042,3.489,5178,2.415,5183,2.538,6244,1.812,6325,3.445,6642,5.236,6662,2.85,6663,3.066,7127,3.713,8064,2.781,8150,2.971,8206,4.122,10340,2.928,11395,2.928,13411,7.49,13472,6.423,13485,3.313,13486,3.313,13487,3.242,13488,3.313,13532,2.971,13535,2.888,13537,2.971,13540,2.971,13543,2.718,13547,2.928,13649,4.672,13811,3.393,14205,6.278,14218,6.583,14219,2.888,14220,2.888,14471,7.339,14477,6.583,14588,3.313,14868,6.861,14872,3.485,14874,5.021,14876,8.093,14877,3.592,14878,3.592,14879,3.592,14880,3.592,14881,3.592,14882,3.592,14883,3.592,14884,3.592,14885,3.592,14886,3.592,14900,6.433,14901,8.093,14902,6.861,14903,3.592,14904,5.021,14905,3.393,14906,5.021,14907,3.393,14908,3.313,14909,3.313,14910,3.313,14911,3.393,14912,3.313,14913,3.313,14914,3.313,14915,3.393,14916,3.393,14917,3.313,14918,3.393,14919,3.313,14920,3.313,14921,3.313,14922,3.393,14923,4.601,14924,3.485,14925,3.177,14926,3.592,14927,3.592,14928,3.592,14929,3.592,14930,3.592,14931,3.592,14932,3.592,14933,3.592,14934,3.592,14935,3.393,14936,3.592,14937,3.592,14938,3.592,14939,3.592,14940,3.592,14941,3.592,14942,3.485,14943,3.592,14944,3.592,14945,3.242,14946,3.592,14947,3.592,14948,3.592,14949,3.592,14950,3.592,14951,3.592,14952,3.592,14953,3.592,14954,3.592,14955,3.592,14956,3.592,14957,3.592,14958,3.592,14959,3.592,14960,3.393,14961,3.592,14962,3.485,14963,3.393,14964,3.485,14965,3.393,14966,3.393,14967,3.485,14968,3.393,14969,3.485,14970,3.393,14971,3.242,14972,3.242,14973,3.242,14974,3.313,14975,3.393,14976,3.592,14977,3.393,14978,3.592,14979,3.592,14980,3.592,14981,3.592,14982,3.592,14983,3.393,14984,3.485,14985,3.393,14986,3.485]],["title/classes/SystemFilterParams.html",[0,0.24,21028,6.094]],["body/classes/SystemFilterParams.html",[0,0.393,2,0.971,3,0.017,4,0.017,5,0.008,7,0.128,27,0.449,30,0.001,32,0.173,33,0.6,95,0.149,99,1.872,101,0.012,103,0.001,104,0.001,112,0.892,122,2.38,157,2.626,190,2.048,193,4.957,199,6.328,200,2.798,201,4.831,202,2.098,203,7.661,298,3.951,300,4.762,899,4.159,1361,6.545,1470,6.379,2087,3.951,3394,4.18,5183,6.545,12361,8.044,15284,9.8,21028,10.009,21129,9.134,21130,11.522,21131,9.134,21132,9.134,21133,9.134,21134,9.134,21135,9.134]],["title/classes/SystemIdParams.html",[0,0.24,21023,6.094]],["body/classes/SystemIdParams.html",[0,0.42,2,1.079,3,0.019,4,0.019,5,0.009,7,0.143,26,2.687,27,0.4,30,0.001,32,0.127,48,6.397,95,0.149,99,2.08,101,0.013,103,0.001,104,0.001,112,0.951,190,1.822,200,3.109,202,2.331,296,3.179,307,7.437,855,4.925,6771,7.437,6772,8.241,21023,10.677,21136,12.17]],["title/classes/SystemMapper.html",[0,0.24,15314,6.094]],["body/classes/SystemMapper.html",[0,0.264,2,0.815,3,0.015,4,0.015,5,0.007,7,0.108,8,1.177,27,0.451,29,0.878,30,0.001,31,0.642,32,0.152,33,0.527,34,1.312,35,1.327,95,0.131,101,0.01,103,0,104,0,110,2.651,125,3.113,148,1.208,153,1.68,205,1.566,206,2.501,467,3.988,478,2.147,1593,4.712,2501,5.407,4737,4.765,5042,3.904,5178,7.275,6244,3.141,6325,3.855,6642,3.929,8206,4.613,10340,5.075,10661,6.449,12925,9.049,13411,8.454,13472,7.196,13485,5.743,13486,5.743,13487,5.619,13488,5.743,13532,5.149,13535,5.006,13537,5.149,13540,5.149,13543,4.712,13547,5.075,13726,9.136,14205,4.712,14477,4.941,14902,5.149,14905,5.882,14907,5.882,14909,5.743,14911,5.882,14915,5.882,14916,5.882,14918,5.882,14920,5.743,14922,5.882,14923,5.149,15314,8.942,18092,6.449,18977,8.942,18978,8.571,18982,8.571,18986,6.728,21067,7.102,21068,7.102,21069,7.102,21070,7.102,21071,9.439,21077,7.102,21087,6.728,21088,6.449,21137,7.669,21138,10.193,21139,9.439,21140,7.669,21141,7.669,21142,10.193,21143,7.669,21144,7.669,21145,7.669]],["title/modules/SystemModule.html",[252,1.835,1525,5.089]],["body/modules/SystemModule.html",[0,0.282,3,0.016,4,0.016,5,0.008,30,0.001,95,0.152,101,0.011,103,0.001,104,0.001,252,3.122,254,2.947,255,3.122,256,3.201,257,3.19,258,3.178,259,4.298,260,4.4,269,4.161,270,3.144,271,3.078,276,4.161,277,1.181,279,3.435,610,3.225,647,5.997,665,10.794,671,9.742,1525,10.652,2624,4.017,13700,6.645,14458,11.925,14504,7.579,15031,9.956,15291,10.39,15300,10.876,16090,7.18,21146,8.185,21147,8.185,21148,8.185,21149,8.185,21150,8.185,21151,8.185]],["title/classes/SystemOidcMapper.html",[0,0.24,21152,6.094]],["body/classes/SystemOidcMapper.html",[0,0.275,2,0.848,3,0.015,4,0.015,5,0.007,7,0.112,8,1.207,27,0.46,29,0.895,30,0.001,31,0.654,32,0.146,33,0.537,35,1.352,47,0.827,48,5.133,95,0.119,101,0.01,103,0.001,104,0.001,125,2.954,148,1.227,153,1.314,205,2.383,206,3.41,467,4.019,478,2.233,2160,5.277,5178,7.345,6325,4.009,8206,4.796,14469,10.873,14471,8.382,14588,5.971,14901,9.277,14923,5.354,14960,6.115,14963,6.115,14965,6.115,14966,6.115,14968,6.115,14970,6.115,14971,5.842,14972,5.842,14973,5.842,14974,5.971,17484,7.384,18977,9.175,18978,8.794,18982,8.794,18986,6.995,21088,6.705,21139,9.685,21152,9.175,21153,12.388,21154,7.973,21155,10.458,21156,7.973,21157,7.973,21158,10.458,21159,7.973,21160,7.973,21161,10.458,21162,7.973,21163,7.973,21164,7.973,21165,7.973]],["title/injectables/SystemOidcService.html",[589,0.929,14458,5.841]],["body/injectables/SystemOidcService.html",[0,0.284,3,0.016,4,0.016,5,0.008,7,0.116,8,1.233,12,4.84,26,2.586,27,0.467,29,0.819,30,0.001,31,0.599,32,0.133,33,0.491,34,1.827,35,1.238,36,2.658,40,5.182,95,0.155,99,1.688,100,2.874,101,0.011,103,0.001,104,0.001,135,1.548,148,1.058,153,1.358,228,1.495,277,1.189,279,3.456,317,2.89,346,6.034,393,4.066,400,2.452,433,1.016,478,2.306,579,2.38,589,1.428,591,1.963,657,2.448,671,9.191,675,4.192,3394,4.888,5178,4.496,14458,8.982,14469,6.486,15028,6.925,15031,7.998,15280,9.88,15284,6.486,15315,7.225,15317,7.225,15322,7.626,21152,7.225,21166,12.543,21167,8.235,21168,8.235,21169,8.235,21170,8.235,21171,11.854,21172,8.235,21173,8.235]],["title/interfaces/SystemProps.html",[159,0.713,21008,5.639]],["body/interfaces/SystemProps.html",[0,0.281,3,0.015,4,0.015,5,0.007,7,0.114,30,0.001,32,0.177,33,0.658,47,1.018,95,0.143,101,0.014,103,0.001,104,0.001,110,4.316,112,0.828,125,1.94,148,0.806,159,0.836,161,1.931,185,2.796,231,2.045,1470,4.549,1767,6.484,1770,4.305,1849,4.708,2087,4.583,3394,3.723,6642,6.397,13472,8.615,13560,5.384,14205,7.671,14218,8.043,14219,5.31,14220,5.31,14477,8.043,14868,9.387,14902,8.383,21005,7.533,21008,8.603,21009,7.533]],["title/injectables/SystemRepo.html",[589,0.929,15031,5.201]],["body/injectables/SystemRepo.html",[0,0.267,3,0.015,4,0.015,5,0.007,7,0.109,8,1.184,10,4.119,12,4.648,26,2.525,27,0.453,29,0.882,30,0.001,31,0.645,32,0.143,33,0.529,34,1.967,35,1.189,36,2.595,40,4.977,95,0.149,96,2.05,97,3.171,99,1.587,101,0.01,103,0,104,0,135,1.599,142,4.197,148,1.213,153,1.276,195,1.694,197,2.153,205,2.5,228,1.405,277,1.118,317,2.841,400,2.306,433,0.955,435,2.629,478,2.168,589,1.372,591,1.846,657,2.636,711,3.889,1770,4.674,1882,2.953,2448,6.848,2496,5.459,2531,8.328,3394,5.992,3608,5.054,3613,5.992,5178,6.28,9393,6.793,12802,7.17,15031,7.681,21008,8.328,21058,6.793,21174,7.743,21175,7.743,21176,7.743,21177,7.743,21178,10.258,21179,7.743,21180,7.743]],["title/classes/SystemResponseMapper.html",[0,0.24,21039,6.094]],["body/classes/SystemResponseMapper.html",[0,0.251,2,0.772,3,0.014,4,0.014,5,0.007,7,0.102,8,1.135,27,0.439,29,0.854,30,0.001,31,0.625,32,0.149,33,0.513,34,1.243,35,1.291,95,0.142,101,0.01,103,0,104,0,125,1.733,135,1.559,148,1.103,153,1.837,467,3.945,829,4.285,871,2.66,1593,4.465,2720,5.899,3394,5.463,4834,4.206,5042,3.699,5183,4.168,5362,5.723,6244,2.976,6325,3.653,6642,3.723,8206,4.371,9579,5.723,9582,6.375,10340,4.809,11521,5.441,12925,9.265,13472,4.567,13532,4.879,13535,4.743,13537,4.879,13540,4.879,13543,4.465,13547,4.809,13726,9.339,14477,4.681,14923,4.879,15010,5.324,15329,6.11,15331,5.899,15333,6.11,15630,6.375,17018,6.375,17020,6.375,17021,6.375,17022,6.375,17023,6.375,17024,6.375,17025,6.375,17026,6.375,17027,6.375,17028,6.375,17029,6.375,17030,6.375,17063,11.053,18092,6.11,18284,10.038,18287,10.671,18288,6.729,18296,6.729,21039,8.625,21087,6.375,21088,6.11,21181,11.937,21182,9.831,21183,9.831,21184,9.831,21185,9.831,21186,9.831,21187,9.831,21188,9.831,21189,7.266,21190,7.266,21191,7.266,21192,9.831,21193,7.266,21194,9.831,21195,7.266,21196,6.729]],["title/injectables/SystemRule.html",[589,0.929,1864,5.841]],["body/injectables/SystemRule.html",[0,0.245,3,0.014,4,0.014,5,0.007,7,0.1,8,1.119,27,0.466,29,0.907,30,0.001,31,0.663,32,0.148,33,0.544,35,1.277,95,0.141,101,0.009,103,0,104,0,122,2.872,135,1.545,148,1.091,158,2.63,183,4.217,185,3.329,228,1.291,277,1.027,290,3.189,400,2.118,433,0.878,478,1.991,589,1.296,591,1.696,653,2.936,711,4.007,1197,3.853,1237,2.096,1540,5.108,1675,5.828,1770,5.311,1775,6.51,1792,4.928,1801,7.937,1838,5.889,1864,8.147,1981,6.242,1985,6.02,1992,4.707,3394,6.351,3678,6.412,3679,4.776,3682,6.324,3684,4.776,3685,6.506,3686,5.211,3690,6.586,5042,3.621,5368,10.204,11216,8.5,11603,5.108,14868,4.776,21197,7.112,21198,11.832,21199,7.112,21200,9.688,21201,7.112,21202,7.112,21203,7.112,21204,9.688,21205,7.112,21206,11.832,21207,7.112,21208,7.112]],["title/classes/SystemScope.html",[0,0.24,15287,6.094]],["body/classes/SystemScope.html",[0,0.266,2,0.82,3,0.015,4,0.015,5,0.007,7,0.108,8,1.181,27,0.534,29,0.785,30,0.001,31,0.574,32,0.159,33,0.471,35,1.475,95,0.117,101,0.01,103,0,104,0,112,0.8,122,2.395,129,2.308,130,2.109,142,4.189,148,1.137,231,1.776,365,3.445,436,3.779,478,2.16,569,2.401,652,2.67,2487,6.837,5178,4.211,6244,5.672,6891,6.87,6892,6.87,6893,6.87,6898,6.87,6899,6.87,6900,5.259,6901,5.179,6902,5.259,6903,5.259,6912,5.179,6913,6.87,6914,5.259,6915,5.179,6916,5.259,6917,5.179,6918,7.709,9400,6.075,11917,10.073,13472,4.848,14471,5.54,14868,5.179,15287,11.888,21103,11.324,21104,11.324,21105,11.324,21209,12.228,21210,7.713,21211,7.713,21212,7.713]],["title/injectables/SystemService.html",[589,0.929,15291,5.089]],["body/injectables/SystemService.html",[0,0.292,3,0.016,4,0.016,5,0.008,7,0.119,8,1.256,10,4.371,12,4.932,26,2.615,27,0.473,29,0.922,30,0.001,31,0.674,32,0.15,33,0.553,34,1.45,35,1.261,36,2.687,40,5.28,95,0.145,99,1.738,101,0.011,103,0.001,104,0.001,122,1.769,135,1.421,142,3.093,148,1.078,228,1.539,277,1.224,317,2.912,335,7.203,400,2.525,433,1.046,589,1.455,591,2.022,657,2.494,711,3.986,1770,3.445,1882,3.234,2531,8.836,2624,4.161,3394,6.246,15028,7.13,15031,10.05,15291,7.974,15315,7.438,21213,8.479,21214,8.479,21215,8.479,21216,8.479,21217,8.479]],["title/injectables/SystemUc.html",[589,0.929,21013,5.841]],["body/injectables/SystemUc.html",[0,0.226,3,0.012,4,0.012,5,0.006,7,0.092,8,1.058,10,3.682,12,4.155,26,2.768,27,0.45,29,0.877,30,0.001,31,0.641,32,0.15,33,0.526,34,1.807,35,1.224,36,2.641,39,1.817,40,4.448,48,5.613,59,2.038,95,0.151,99,1.346,101,0.009,103,0,104,0,129,1.965,130,1.795,135,1.38,142,2.395,148,0.908,153,1.512,197,3.179,228,1.917,277,0.948,290,2.704,317,2.877,346,4.811,393,3.241,433,1.131,478,1.838,579,2.649,589,1.226,591,1.565,595,2.478,610,2.587,652,2.157,657,2.856,693,2.99,1472,3.671,1780,3.991,1862,6.829,1882,2.504,1961,3.949,2666,3.035,3394,5.854,4830,4.408,4831,4.476,4955,5.521,5178,3.584,5183,6.901,12925,7.925,15281,8.49,15283,8.49,15284,5.171,15291,9.372,15300,9.558,15317,5.76,15344,6.08,15533,7.71,16846,5.76,21013,7.71,21090,8.49,21130,10.59,21218,6.565,21219,6.565,21220,6.565,21221,6.565,21222,11.436,21223,6.565,21224,6.565,21225,6.565,21226,6.565,21227,6.565,21228,6.565,21229,6.565,21230,6.565]],["title/interfaces/TargetGroupProperties.html",[159,0.713,16109,5.639]],["body/interfaces/TargetGroupProperties.html",[0,0.261,3,0.014,4,0.014,5,0.007,7,0.106,30,0.001,32,0.142,33,0.599,47,1.038,95,0.115,96,2.004,101,0.016,103,0,104,0,110,3.493,112,0.79,155,3.204,157,2.325,159,1.168,161,1.797,205,2.063,223,4.32,224,2.209,225,3.881,226,3.429,231,1.314,232,2.05,233,2.362,289,7.024,1821,3.672,2815,4.042,3037,3.631,3900,4.875,6165,4.875,6170,5.008,6179,6.784,6534,6.595,6584,5.336,7127,4.1,7458,5.008,7459,4.507,8064,4.757,16096,6.364,16097,8.202,16098,8.202,16099,7.958,16100,8.202,16105,9.233,16109,9.852,16113,10.205,16114,8.892,16115,6.364,16116,6.364,16117,7.958,16118,6.144,16119,6.364,16120,6.364,16121,6.364,16122,6.364,16123,6.364,16124,6.364,16125,6.364,16126,6.364,16127,6.364,16128,6.364,16129,6.364,16130,6.364]],["title/classes/TargetInfoMapper.html",[0,0.24,16491,6.094]],["body/classes/TargetInfoMapper.html",[0,0.336,2,1.034,3,0.018,4,0.018,5,0.009,7,0.137,8,1.37,27,0.383,29,0.746,30,0.001,31,0.665,32,0.121,33,0.448,34,1.664,35,1.128,95,0.135,99,1.995,100,4.14,101,0.013,103,0.001,104,0.001,135,1.271,148,0.964,153,1.604,467,3.726,830,6.58,2992,4.41,4721,8.184,7759,9.977,16462,10.817,16491,10.409,19912,8.538,19914,8.538,21231,11.864,21232,11.864,21233,9.732,21234,9.732,21235,9.732]],["title/classes/TargetInfoResponse.html",[0,0.24,16462,5.639]],["body/classes/TargetInfoResponse.html",[0,0.311,2,0.96,3,0.017,4,0.017,5,0.008,7,0.127,27,0.488,29,0.693,30,0.001,31,0.785,32,0.154,33,0.416,34,2.368,47,0.92,95,0.103,101,0.012,103,0.001,104,0.001,112,0.886,157,2.849,190,2.033,202,2.074,205,2.65,296,3.233,304,4.459,433,1.398,458,3.613,821,4.598,868,4.333,2183,3.559,2300,7.114,2992,5.881,3177,5.896,3178,6.048,3179,6.048,4715,7.923,16462,10.853,19919,7.923,19920,8.364,21236,12.979]],["title/entities/Task.html",[205,1.418,2940,3.179]],["body/entities/Task.html",[0,0.168,3,0.006,4,0.006,5,0.003,7,0.158,26,1.696,27,0.459,30,0.001,31,0.353,32,0.155,33,0.517,34,0.833,47,0.732,55,0.976,83,2.756,95,0.131,96,0.768,101,0.011,103,0,104,0,112,0.696,122,2.39,125,1.961,129,1.885,130,1.723,135,1.79,141,1.244,142,1.059,145,1.82,148,1.279,153,1.759,157,1.45,158,1.073,159,0.501,190,2.093,195,2.628,196,3.286,197,3.122,205,0.995,206,0.946,211,4.093,223,3.557,224,0.847,225,1.872,226,1.315,229,1.148,231,0.504,232,0.786,233,0.906,277,0.419,290,2.801,402,3.387,527,1.228,567,1.103,569,2.297,578,1.517,579,1.408,628,1.728,652,2.483,653,2.012,692,3.483,703,1.955,711,3.335,756,2.919,813,1.623,874,1.695,962,2.046,1237,0.855,1312,1.385,1563,1.87,1821,1.408,1829,1.234,1842,2.219,1927,2.874,1936,2.958,2026,4.014,2032,3.775,2054,4.365,2126,1.695,2183,1.144,2580,1.87,2924,4.933,2927,4.093,2931,1.609,2936,3.14,2937,1.728,2938,3.388,2939,2.046,2940,5.02,2953,5.369,3140,3.709,3396,1.665,3553,3.271,3557,3.806,3633,4.505,3720,1.87,4009,6.035,4011,2.44,4062,4.112,4081,5.523,4085,3.323,4086,5.799,4087,4.884,4088,5.894,4089,6.397,4090,3.323,4101,5.991,4410,1.711,4557,1.706,4569,1.846,4614,2.44,4633,1.302,5246,1.824,5565,1.846,5566,1.894,5685,2.288,5720,2.994,6162,1.824,6167,3.1,6187,1.87,6188,1.824,6196,1.921,6203,2.011,6225,2.011,6624,3.388,7393,4.23,7420,2.546,7425,2.687,7436,2.994,7440,1.636,7452,2.286,7456,2.084,7458,1.921,7459,1.728,7460,1.824,7461,1.764,7662,2.546,7743,3.838,7775,1.894,7780,2.173,8563,2.687,8844,5.894,9628,2.126,9808,2.046,13615,4.616,13618,3.5,13619,4.717,13620,4.616,13819,2.226,15364,2.44,16471,3.956,16652,2.286,18824,2.44,20652,2.356,20672,5.526,20673,2.356,20690,5.526,20691,2.356,20710,2.226,20715,2.356,20877,2.44,20878,2.356,20880,2.44,20980,4.098,21237,2.546,21238,2.902,21239,2.902,21240,4.275,21241,2.902,21242,2.902,21243,2.902,21244,2.902,21245,2.902,21246,2.902,21247,2.902,21248,2.902,21249,2.902,21250,2.902,21251,2.902,21252,4.275,21253,2.902,21254,2.902,21255,2.546,21256,2.546,21257,2.546,21258,2.546,21259,2.546,21260,2.546,21261,5.527,21262,5.114,21263,4.962,21264,2.546,21265,2.546,21266,2.546,21267,2.44,21268,7.813,21269,2.546,21270,4.275,21271,6.474,21272,6.474,21273,2.546,21274,2.546,21275,2.546,21276,4.275,21277,2.546,21278,2.546,21279,2.546,21280,2.546,21281,2.546,21282,2.546,21283,2.546,21284,2.546,21285,2.546,21286,2.546,21287,2.546,21288,2.546,21289,4.275,21290,2.546,21291,2.546,21292,2.226,21293,2.546,21294,2.546,21295,2.546,21296,2.546,21297,2.546,21298,2.546,21299,4.275,21300,2.546,21301,2.546,21302,4.275,21303,2.546,21304,4.275,21305,2.44,21306,2.546,21307,6.474,21308,5.527,21309,5.527,21310,2.546,21311,5.527,21312,4.275,21313,2.546,21314,2.546,21315,2.546,21316,5.527,21317,2.546,21318,4.275,21319,2.546,21320,2.546,21321,6.474,21322,2.546,21323,2.546,21324,2.546,21325,2.546,21326,2.546,21327,2.546,21328,2.546,21329,4.275,21330,2.546,21331,2.546,21332,4.275,21333,2.546,21334,2.546,21335,2.546,21336,2.546,21337,2.44,21338,2.546,21339,6.474,21340,2.546,21341,2.546,21342,2.546,21343,2.546,21344,2.546,21345,2.546,21346,2.546,21347,2.546,21348,2.546,21349,2.546]],["title/modules/TaskApiModule.html",[252,1.835,20177,5.841]],["body/modules/TaskApiModule.html",[0,0.273,3,0.015,4,0.015,5,0.007,30,0.001,95,0.156,101,0.01,103,0.001,104,0.001,252,3.074,254,2.854,255,3.023,256,3.1,257,3.089,258,3.078,259,4.232,260,2.951,269,4.075,270,3.044,271,2.981,273,4.982,274,4.354,276,4.075,277,1.144,279,3.327,314,3.034,1856,7.56,1907,9.292,1910,8.098,1914,9.292,2666,3.664,3017,3.741,3298,4.87,7262,9.869,7266,7.34,8931,5.588,15094,9.869,20177,12.265,20727,10.209,20738,11.082,21350,7.926,21351,7.926,21352,7.926,21353,11.082,21354,11.082,21355,7.926,21356,10.209,21357,7.926,21358,7.926]],["title/entities/TaskBoardElement.html",[205,1.418,2950,5.639]],["body/entities/TaskBoardElement.html",[0,0.314,3,0.017,4,0.017,5,0.008,7,0.128,27,0.359,30,0.001,32,0.114,95,0.142,96,3.291,101,0.012,103,0.001,104,0.001,112,0.891,190,1.636,195,2.492,196,4.111,205,2.326,206,2.972,224,2.66,231,1.582,232,2.469,457,5.054,1087,4.213,1373,6.854,1842,4.15,1938,4.901,2701,5.138,2905,6.824,2921,8.974,2940,5.959,2941,5.729,2942,8.033,2944,7.664,2950,9.249,2992,5.9,3305,6.99,3331,9.58,3875,6.214,4791,6.678,5269,6.426,5685,4.279,5686,7.995,7795,7.178,7796,7.54,7797,6.678,15363,8.439,20642,9.995,21359,11.393,21360,9.114]],["title/controllers/TaskController.html",[314,2.658,21356,6.094]],["body/controllers/TaskController.html",[0,0.158,3,0.009,4,0.009,5,0.004,7,0.065,8,0.815,10,3.45,27,0.465,29,0.904,30,0.001,31,0.661,32,0.147,33,0.543,35,1.367,36,2.814,56,3.331,70,3.593,95,0.147,100,2.998,101,0.006,103,0,104,0,129,1.376,130,1.257,135,1.685,141,4.132,148,1.168,153,0.758,190,2.051,195,1.544,197,2.388,202,1.056,228,1.281,274,1.921,277,0.663,298,1.988,314,1.759,316,2.217,317,3.008,325,6.908,326,3.265,340,2.961,349,7.165,365,4.305,379,3.593,388,3.683,389,3,392,2.403,393,2.269,395,2.472,398,2.49,400,1.369,649,2.889,650,3.732,652,1.968,657,2.619,675,2.34,863,3.883,871,4.018,883,8.705,1713,3.732,1714,3.442,1715,4.032,2940,3.931,3201,8.199,3221,2.371,3223,2.529,3258,6.974,3285,3,3298,2.824,3299,2.614,4046,4.245,5756,2.737,7061,3.62,7308,3.732,7317,8.105,7323,4.256,7525,7.847,8844,6.379,15280,6.767,15367,3.865,15373,3.865,16413,4.256,19159,3.865,19160,4.256,19174,4.032,19176,4.032,19289,6.192,20734,11.167,21353,7.224,21354,7.224,21356,6.192,21361,4.596,21362,7.955,21363,8.591,21364,7.057,21365,7.955,21366,4.596,21367,4.596,21368,4.596,21369,7.057,21370,4.596,21371,4.596,21372,4.596,21373,7.057,21374,4.596,21375,4.596,21376,4.596,21377,4.596,21378,7.057,21379,4.596,21380,4.596,21381,7.057,21382,4.596,21383,4.596,21384,7.057,21385,4.596,21386,4.032,21387,4.596,21388,4.596,21389,3.865,21390,3.732,21391,4.596,21392,4.596,21393,4.596,21394,7.057,21395,4.596,21396,4.596,21397,4.596,21398,4.596,21399,4.596,21400,9.638,21401,4.596,21402,4.596,21403,7.057,21404,10.398,21405,4.596,21406,4.596,21407,4.596,21408,4.596,21409,4.596,21410,4.596]],["title/classes/TaskCopyApiParams.html",[0,0.24,7317,5.841]],["body/classes/TaskCopyApiParams.html",[0,0.38,2,0.919,3,0.016,4,0.016,5,0.008,7,0.122,27,0.434,30,0.001,32,0.137,33,0.588,34,2.184,47,0.905,95,0.126,100,3.844,101,0.011,103,0.001,104,0.001,112,0.861,157,3.036,190,1.977,200,2.648,201,4.709,202,1.985,300,4.642,304,5.439,855,4.909,1562,10.061,1936,5.173,2026,5.918,2032,4.187,2617,6.697,2940,6.173,3178,6.819,3179,6.819,3633,6.462,5720,7.452,7068,11.206,7317,9.265,7964,8.678,12354,9.666,15377,8.003,15378,8.003,21411,10.199,21412,8.643]],["title/injectables/TaskCopyService.html",[589,0.929,3264,5.471]],["body/injectables/TaskCopyService.html",[0,0.185,3,0.01,4,0.01,5,0.005,7,0.076,8,0.917,26,1.638,27,0.438,29,0.854,30,0.001,31,0.653,32,0.16,33,0.512,35,1.209,36,1.683,47,0.381,95,0.138,99,1.102,101,0.007,103,0,104,0,125,2.778,135,1.574,148,0.935,153,0.887,155,1.706,157,1.238,158,1.989,228,1.714,277,0.776,279,2.257,290,3.118,317,2.741,326,3.965,402,4.168,433,0.98,478,1.506,578,2.811,589,1.062,591,1.282,652,2.692,657,2.67,703,1.669,896,4.442,1317,4.993,1914,8.213,1936,2.525,2032,4.427,2815,2.152,2938,5.986,2940,6.198,3253,4.236,3258,6.449,3264,6.257,3267,8.83,3273,9.492,3283,11.432,3285,7.604,3296,4.236,3297,4.027,3298,3.305,3299,3.058,3316,4.718,3317,4.236,3318,4.523,3353,4.523,3866,3.994,5377,6.969,5420,4.98,6159,3.422,6624,2.892,7217,10.134,7218,4.98,7222,7.356,7231,9.661,7243,10.307,7245,8.287,7256,6.257,7290,4.523,7573,4.366,7591,4.523,7598,4.98,12197,4.98,13615,3.941,13620,3.941,21413,11.649,21414,9.446,21415,7.944,21416,4.718,21417,5.378,21418,7.944,21419,12.051,21420,5.378,21421,11.16,21422,5.378,21423,7.944,21424,12.631,21425,5.378,21426,7.944,21427,5.378,21428,5.378,21429,5.378,21430,5.378,21431,5.378,21432,5.378,21433,5.378,21434,5.378,21435,5.378,21436,5.378,21437,5.378,21438,5.378,21439,5.378,21440,4.98,21441,5.378,21442,4.98,21443,5.378,21444,5.378,21445,5.378,21446,5.378]],["title/injectables/TaskCopyUC.html",[589,0.929,21353,5.841]],["body/injectables/TaskCopyUC.html",[0,0.145,3,0.008,4,0.008,5,0.004,7,0.059,8,0.761,26,2.484,27,0.464,29,0.878,30,0.001,31,0.642,32,0.147,33,0.527,35,1.327,36,2.345,39,1.164,47,0.87,95,0.138,99,0.862,101,0.006,102,2.23,103,0,104,0,122,0.877,125,3.114,134,1.486,135,1.573,148,1.048,153,1.339,158,1.555,183,4.051,228,1.921,277,0.607,279,1.765,290,2.95,317,2.708,339,1.234,340,2.71,402,2.357,433,0.813,478,1.178,528,2.128,569,3.444,579,2.656,589,0.881,591,1.003,610,1.657,612,2.824,629,2.214,652,2.828,657,2.426,693,1.915,813,2.352,980,4.504,981,2.557,1080,1.45,1115,1.61,1268,4.99,1312,2.007,1328,2.23,1381,2.824,1390,2.613,1626,3.654,1780,2.557,1783,2.584,1829,1.788,1832,2.676,1862,4.907,1910,6.504,1914,7.801,1936,1.975,2026,3.215,2032,3.793,2091,3.895,2218,1.879,2219,2.115,2220,2.041,2221,2.644,2617,2.557,2666,1.944,2667,2.505,2935,2.23,2938,5.367,2940,5.063,3258,5.349,3264,8.715,3267,8.107,3273,9.67,3283,9.286,3285,2.746,3298,2.584,3299,2.392,3352,3.69,3353,3.537,3354,3.895,3877,6.397,3940,2.784,4370,4.245,5066,3.226,5106,2.262,5705,7.544,5720,4.048,6621,2.333,7279,6.83,7319,8.511,7442,3.415,7449,3.15,7559,3.537,7573,5.349,7575,3.895,7611,3.69,7612,7.729,7618,3.69,7624,3.69,7625,3.69,7626,2.644,8931,2.966,10170,3.69,13036,6.83,14268,3.415,15385,3.895,15392,3.895,15393,3.69,15396,3.895,15412,5.54,18267,3.537,18646,3.313,19222,3.895,20458,6.101,20504,3.69,20679,3.313,20943,6.397,21353,5.54,21421,11.155,21447,12.046,21448,6.588,21449,6.588,21450,6.588,21451,8.122,21452,6.588,21453,8.122,21454,4.206,21455,6.588,21456,4.206,21457,8.102,21458,6.588,21459,4.206,21460,4.206,21461,6.588,21462,4.206,21463,6.588,21464,9.98,21465,4.206,21466,4.206,21467,6.588,21468,4.206,21469,6.588,21470,4.206,21471,3.895,21472,3.895,21473,3.69,21474,4.206,21475,4.206,21476,4.206,21477,3.537,21478,3.895,21479,4.206,21480,4.206,21481,4.206,21482,6.588,21483,4.206,21484,4.206,21485,3.895,21486,4.206,21487,4.206,21488,4.206,21489,4.206,21490,4.206,21491,4.206]],["title/interfaces/TaskCreate.html",[159,0.713,13617,5.201]],["body/interfaces/TaskCreate.html",[3,0.016,4,0.016,5,0.008,7,0.119,30,0.001,31,0.476,32,0.158,33,0.584,47,0.998,55,2.41,83,3.173,95,0.124,99,1.741,101,0.017,103,0.001,104,0.001,112,0.852,122,2.801,157,1.955,159,1.348,161,2.017,231,2.203,290,2.845,478,2.379,652,1.735,692,5.144,703,2.637,1936,3.989,2026,6.404,2032,4.573,2938,5.861,3140,4.914,3553,5.658,3557,4.382,4009,4.963,4062,5.546,4081,5.705,4085,5.793,4086,5.99,4087,5.623,4088,5.623,4089,6.102,4090,5.793,5720,8.064,6624,4.569,8844,5.623,13613,10.337,13614,6.898,13615,6.225,13616,6.362,13617,8.161,13618,6.102,13619,6.362,13620,6.225]],["title/classes/TaskCreateParams.html",[0,0.24,21492,6.094]],["body/classes/TaskCreateParams.html",[0,0.327,2,0.731,3,0.013,4,0.013,5,0.006,7,0.097,27,0.498,30,0.001,31,0.607,32,0.169,33,0.624,34,1.996,47,0.936,83,4.018,95,0.133,99,1.41,101,0.009,103,0,104,0,112,0.74,155,3.004,157,3.15,185,4.01,190,2.27,194,4.564,195,2.552,196,3.133,197,2.633,200,2.108,201,4.91,202,1.58,296,2.474,298,2.976,299,4.768,300,4.84,304,5.76,854,6.808,855,4.383,1216,8.309,1237,2.792,1936,4.447,2026,5.285,2032,3.6,2940,6.04,3026,6.268,3178,6.23,3179,6.23,3553,3.572,3557,5.586,4009,5.533,4062,7.07,5720,6.655,7967,7.965,7977,5.586,7979,6.458,9522,5.82,10176,5.586,13617,8.11,16916,6.371,21411,10.895,21492,8.309,21493,6.88,21494,8.771,21495,6.88,21496,6.371,21497,6.88,21498,6.88,21499,6.88,21500,6.371]],["title/classes/TaskFactory.html",[0,0.24,20761,6.094]],["body/classes/TaskFactory.html",[0,0.153,2,0.472,3,0.008,4,0.008,5,0.004,7,0.062,8,0.794,27,0.524,29,1.003,30,0.001,31,0.709,32,0.166,33,0.573,34,1.438,35,1.388,47,0.487,55,2.261,59,3.178,95,0.124,99,0.911,101,0.006,103,0,104,0,112,0.538,113,4.315,127,4.73,129,3.584,130,3.19,135,1.523,148,1.014,153,1.387,157,1.936,172,2.923,185,2.363,192,2.445,195,1.504,197,2.632,205,2.091,206,2.242,228,1.248,231,1.194,290,2.56,326,4.923,374,2.974,433,0.848,436,3.805,467,2.002,478,1.244,501,7.151,502,5.251,505,3.814,506,5.251,507,5.274,508,3.814,509,3.814,510,3.814,511,3.754,512,4.282,513,4.665,514,6.321,515,5.59,516,6.935,517,2.485,522,2.464,523,3.814,524,2.485,525,4.949,526,5.092,527,4.007,528,4.789,529,3.783,530,2.464,531,2.323,532,4.017,533,2.372,534,2.323,535,2.464,536,2.485,537,4.592,538,2.464,539,7.256,540,4.096,541,6.47,542,2.485,543,4.081,544,2.464,545,2.485,546,2.464,547,2.485,548,2.464,549,2.761,550,2.596,551,2.464,552,5.911,553,2.485,554,2.464,555,3.814,556,3.479,557,3.814,558,2.485,559,2.39,560,2.355,561,1.994,562,2.464,563,2.464,564,2.464,565,2.485,566,2.485,567,1.689,568,2.464,569,1.383,570,2.485,571,2.72,572,2.464,573,2.485,575,2.549,576,2.621,577,5.638,652,2.211,697,3.192,698,3.408,703,2.611,813,2.485,981,2.701,1224,3.192,2940,3.147,4062,5.49,6624,3.698,7650,3.5,7651,3.608,7655,6.828,7660,3.5,8844,5.566,11812,6.032,11813,4.115,13618,3.192,16652,7.457,20761,7.379,20767,4.115,21292,7.261,21305,7.961,21501,4.444,21502,4.444,21503,6.876,21504,4.444,21505,4.444,21506,4.444,21507,6.876,21508,4.444]],["title/classes/TaskListResponse.html",[0,0.24,21389,5.841]],["body/classes/TaskListResponse.html",[0,0.313,2,0.689,3,0.012,4,0.012,5,0.006,7,0.091,27,0.472,29,0.497,30,0.001,31,0.637,32,0.169,33,0.551,34,1.794,47,0.937,55,2.792,56,5.858,59,2.82,70,6.319,83,3.31,95,0.13,99,1.328,100,2.261,101,0.012,103,0,104,0,112,0.71,122,1.352,125,1.545,134,2.29,157,2.414,185,2.227,190,2.041,197,1.802,201,4.819,202,1.488,231,1.577,296,3.498,298,2.803,339,3.512,402,3.754,403,3.278,430,4.314,431,4.498,433,1.121,435,2.201,436,3.377,458,2.593,460,3.939,462,3.939,862,7.919,863,6.829,864,5.212,866,3.218,868,5.033,869,3.181,870,3.538,871,2.372,872,4.569,873,5.78,874,5.307,875,4.289,876,3.365,877,4.569,878,4.569,880,4.123,881,3.538,1372,3.411,2026,5.119,2054,7.27,2126,3.786,2183,2.554,2357,3.685,2392,2.472,2821,4.289,2940,4.801,3035,7.065,3557,3.342,4062,4.23,4063,4.074,4076,5.45,7064,5.105,7065,4.352,18816,8.517,21262,5.261,21263,5.105,21389,7.64,21390,10.56,21509,6.001,21510,6.481,21511,6.481,21512,7.376,21513,6.001,21514,6.001,21515,6.001]],["title/classes/TaskMapper.html",[0,0.24,21386,6.094]],["body/classes/TaskMapper.html",[0,0.236,2,0.728,3,0.013,4,0.013,5,0.006,7,0.096,8,1.09,27,0.425,29,0.828,30,0.001,31,0.708,32,0.145,33,0.497,34,1.171,35,1.252,95,0.133,99,1.403,100,4.406,101,0.009,103,0,104,0,135,1.649,148,1.07,153,1.556,157,2.172,197,1.903,326,3.587,402,3.377,430,2.815,431,2.935,467,3.895,478,1.917,830,5.234,837,3.379,2026,5.271,2054,4.744,2392,2.611,2940,4.319,3553,3.554,3557,4.868,3845,8.28,4062,6.161,5720,5.799,5794,6.005,7342,8.74,7343,8.74,9628,8.531,10801,8.28,13616,8.719,13617,8.719,18816,7.662,19071,8.74,21263,5.392,21267,5.756,21292,5.25,21386,8.28,21390,9.452,21440,8.74,21492,10.215,21516,6.845,21517,9.438,21518,9.438,21519,9.438,21520,6.845,21521,9.438,21522,10.215,21523,6.845,21524,9.438,21525,6.845,21526,6.005,21527,6.845,21528,6.845,21529,6.845,21530,9.438,21531,6.845,21532,6.845,21533,6.845,21534,6.845,21535,6.845,21536,6.845,21537,6.845,21538,6.845,21539,6.845,21540,6.845,21541,6.845,21542,6.845,21543,6.845,21544,6.845,21545,9.438,21546,6.845,21547,6.845,21548,6.845,21549,10.782,21550,9.438,21551,9.438,21552,9.438]],["title/modules/TaskModule.html",[252,1.835,15094,5.201]],["body/modules/TaskModule.html",[0,0.274,3,0.015,4,0.015,5,0.007,30,0.001,95,0.147,101,0.01,103,0.001,104,0.001,252,3.08,254,2.866,255,3.035,256,3.112,257,3.101,258,3.09,259,4.24,260,4.34,269,4.085,270,3.057,271,2.993,276,4.085,277,1.149,279,3.34,610,3.136,1317,5.002,1910,8.107,1913,10.119,1914,9.302,2815,3.183,3264,11.124,3298,4.889,3299,4.525,3857,10.119,3866,4.001,5706,10.575,7262,9.879,15094,10.944,20934,11.466,21553,7.958,21554,7.958,21555,7.958,21556,7.958,21557,7.958]],["title/interfaces/TaskParent.html",[159,0.713,6167,4.419]],["body/interfaces/TaskParent.html",[0,0.187,3,0.006,4,0.006,5,0.003,7,0.164,8,0.627,26,1.958,27,0.13,30,0.001,31,0.185,32,0.131,34,0.929,35,0.383,47,0.712,55,1.087,83,2.573,95,0.136,96,0.875,101,0.012,103,0,104,0,112,0.625,122,2.388,125,1.908,135,1.817,141,1.417,142,1.206,145,2.028,148,1.308,153,1.728,157,0.761,158,1.222,159,0.558,161,0.785,195,2.444,196,3.142,197,3.25,205,1.109,223,3.37,224,0.965,225,2.086,226,1.498,229,1.308,231,0.574,232,0.896,233,1.032,277,0.477,290,2.858,402,3.591,527,1.399,567,1.256,569,2.49,578,1.728,579,1.569,628,1.969,652,2.502,653,2.242,692,3.262,703,1.026,711,3.472,756,3.164,813,1.848,874,1.931,962,2.331,1237,0.974,1312,1.577,1563,2.13,1821,1.604,1829,1.405,1842,2.473,1927,3.202,1936,1.552,2026,3.904,2032,3.359,2054,4.789,2126,1.931,2183,1.303,2580,2.13,2924,4.085,2927,3.012,2931,1.833,2936,3.498,2937,1.969,2938,2.92,2939,2.331,2940,4.968,2953,5.769,3140,3.985,3396,1.896,3553,2.819,3557,2.801,3633,4.806,3720,2.13,4009,5.863,4011,2.78,4062,2.158,4081,5.934,4085,3.702,4086,6.231,4087,5.295,4088,6.287,4089,6.823,4090,3.702,4101,6.495,4410,1.95,4557,1.157,4569,2.103,4633,1.484,5246,2.078,5565,2.103,5566,2.158,5685,2.549,5720,2.031,6162,2.078,6167,4.396,6187,5.154,6188,2.078,6196,2.188,6203,2.291,6225,2.291,6624,1.778,7393,4.64,7436,3.336,7440,1.864,7452,2.604,7456,2.374,7458,2.188,7459,1.969,7460,2.078,7461,2.009,7743,2.604,7775,2.158,7780,2.475,8844,5.295,9628,2.422,9808,2.331,13615,2.422,13618,3.9,13619,2.475,13620,2.422,13819,2.535,15364,2.78,16471,4.408,16652,2.604,18824,2.78,20652,2.684,20672,5.991,20673,2.684,20690,5.991,20691,2.684,20710,2.535,20715,2.684,20877,2.78,20878,2.684,20880,2.78,20980,4.566,21237,2.9,21240,2.9,21252,2.9,21255,2.9,21256,2.9,21257,2.9,21258,2.9,21259,2.9,21260,2.9,21261,6.062,21262,5.61,21263,5.443,21264,2.9,21265,2.9,21266,2.9,21267,2.78,21268,8.334,21269,2.9,21270,4.764,21271,7.019,21272,7.019,21273,2.9,21274,2.9,21275,2.9,21276,4.764,21277,2.9,21278,2.9,21279,2.9,21280,2.9,21281,2.9,21282,2.9,21283,2.9,21284,2.9,21285,2.9,21286,2.9,21287,2.9,21288,2.9,21289,4.764,21290,2.9,21291,2.9,21292,2.535,21293,2.9,21294,2.9,21295,2.9,21296,2.9,21297,2.9,21298,2.9,21299,4.764,21300,2.9,21301,2.9,21302,4.764,21303,2.9,21304,4.764,21305,2.78,21306,2.9,21307,7.019,21308,6.062,21309,6.062,21310,2.9,21311,6.062,21312,4.764,21313,2.9,21314,2.9,21315,2.9,21316,6.062,21317,2.9,21318,4.764,21319,2.9,21320,2.9,21321,7.019,21322,2.9,21323,2.9,21324,2.9,21325,2.9,21326,2.9,21327,2.9,21328,2.9,21329,4.764,21330,2.9,21331,2.9,21332,4.764,21333,2.9,21334,2.9,21335,2.9,21336,2.9,21337,2.78,21338,2.9,21339,7.019,21340,2.9,21341,2.9,21342,2.9,21343,2.9,21344,2.9,21345,2.9,21346,2.9,21347,2.9,21348,2.9,21349,2.9,21558,3.306]],["title/interfaces/TaskProperties.html",[159,0.713,13618,4.989]],["body/interfaces/TaskProperties.html",[3,0.014,4,0.014,5,0.007,7,0.106,30,0.001,31,0.423,32,0.173,33,0.652,47,0.922,55,2.275,83,2.937,95,0.115,99,1.548,101,0.016,103,0,104,0,112,0.789,122,2.923,157,1.738,159,1.298,161,1.793,231,2.105,290,3.139,478,2.115,652,2.476,692,5.724,703,3.764,1936,5.693,2026,4.923,2032,5.126,2938,6.522,3140,5.468,3553,5.239,3557,3.896,4009,7.084,4062,4.931,4081,5.072,4085,5.15,4086,5.326,4087,4.999,4088,4.999,4089,5.425,4090,5.15,5720,6.2,6624,6.522,8844,8.026,13613,9.953,13614,6.132,13615,5.534,13616,5.656,13617,5.656,13618,7.247,13619,9.081,13620,8.885]],["title/injectables/TaskRepo.html",[589,0.929,1914,4.897]],["body/injectables/TaskRepo.html",[0,0.126,3,0.007,4,0.007,5,0.003,7,0.104,8,0.681,10,2.37,12,2.674,18,3.004,26,2.687,27,0.465,29,0.886,30,0.001,31,0.648,32,0.161,33,0.532,34,0.626,35,1.369,36,2.69,39,1.013,40,2.863,53,2.683,56,1.728,58,2.39,59,3.093,72,1.676,83,1.718,95,0.12,96,0.97,98,2.203,99,0.75,101,0.005,103,0,104,0,122,1.546,125,2.027,129,1.096,130,1.001,135,1.702,142,2.153,148,1.038,153,1.984,157,0.843,172,4.634,195,1.859,205,0.748,206,1.924,224,1.069,231,1.024,277,0.529,317,2.928,365,2.636,374,3.677,388,3.178,436,2.525,478,1.025,532,4.382,540,4.457,589,0.789,591,0.873,595,1.382,652,2.034,657,2.498,728,6.065,734,2.477,735,2.7,736,3.681,759,2.181,760,2.226,761,2.203,762,2.226,763,2.537,764,2.203,765,2.226,766,1.984,770,2.302,788,2.497,789,3.222,790,2.497,802,2.423,812,2.39,869,1.797,1563,2.359,1914,4.16,1936,3.991,2026,3.617,2032,2.243,2229,2.683,2231,4.834,2487,5.062,2564,2.302,2920,3.415,2940,5.676,3395,5.476,3557,3.043,3633,1.852,3904,9.193,3966,2.582,4009,2.139,5104,4.023,5106,3.986,5232,7.935,5239,2.302,5315,2.742,5427,4.876,5428,4.962,5744,3.355,5756,5.551,6244,3.481,6621,4.714,7525,5.607,7690,2.808,7694,2.808,7811,7.515,7840,2.683,7841,2.683,8844,2.423,10564,3.079,10609,3.391,10613,5.177,19139,3.391,20531,4.526,21292,2.808,21559,3.662,21560,5.901,21561,7.412,21562,7.412,21563,6.864,21564,5.901,21565,5.901,21566,3.662,21567,3.662,21568,3.662,21569,5.464,21570,7.412,21571,3.662,21572,3.662,21573,3.391,21574,3.662,21575,5.901,21576,3.662,21577,5.901,21578,3.662,21579,3.662,21580,9.564,21581,3.662,21582,3.662,21583,3.662,21584,3.662,21585,3.662,21586,3.391,21587,3.391,21588,3.391,21589,3.391,21590,9.322,21591,3.662,21592,3.662,21593,3.662,21594,3.662,21595,3.662,21596,3.662,21597,3.662,21598,3.662,21599,3.662,21600,3.662,21601,3.662,21602,3.662,21603,3.662,21604,2.808,21605,3.662,21606,3.662,21607,3.662,21608,3.662,21609,3.662,21610,3.662,21611,3.662,21612,3.662,21613,3.662,21614,3.662,21615,3.662,21616,3.662,21617,3.662,21618,3.662,21619,3.662,21620,3.662,21621,3.662,21622,9.963,21623,7.412,21624,3.212,21625,3.212,21626,3.212,21627,3.662,21628,7.412,21629,3.662,21630,3.662,21631,3.662,21632,3.662,21633,3.662,21634,3.662,21635,3.662,21636,3.662,21637,3.662,21638,3.662,21639,5.901,21640,3.662,21641,3.662,21642,3.662,21643,3.662,21644,3.662,21645,3.662,21646,3.212,21647,3.662,21648,5.901,21649,3.662,21650,3.662,21651,3.662,21652,3.212,21653,3.662,21654,3.212,21655,3.662,21656,3.391,21657,2.973,21658,3.662,21659,3.212,21660,3.662,21661,3.662,21662,3.391,21663,3.662,21664,3.391,21665,3.662,21666,3.662]],["title/classes/TaskResponse.html",[0,0.24,21390,5.639]],["body/classes/TaskResponse.html",[0,0.286,2,0.607,3,0.011,4,0.011,5,0.005,7,0.08,27,0.535,29,0.438,30,0.001,31,0.667,32,0.174,33,0.607,34,1.951,47,0.986,55,1.959,56,3.92,70,4.228,83,3.663,95,0.123,99,1.171,100,2.898,101,0.011,103,0,104,0,112,0.649,122,1.733,129,2.486,130,2.271,134,2.934,157,2.827,185,2.854,190,2.418,197,1.589,201,5.06,202,1.313,231,0.992,296,3.596,298,2.472,339,2.436,402,4.082,403,4.202,430,4.691,431,4.892,433,1.025,435,2.82,458,2.286,460,3.474,462,3.474,821,2.91,862,5.161,863,3.144,864,3.278,880,3.636,881,3.12,1361,3.278,1372,4.372,2026,5.567,2054,7.906,2126,3.338,2183,2.252,2357,4.723,2392,3.168,2821,5.497,2940,5.221,3032,5.856,3035,6.673,3557,5.046,4062,6.387,4063,6.15,4076,4.806,7064,6.542,7065,5.577,18816,8.719,21262,7.943,21263,7.707,21389,4.806,21390,10.216,21509,5.292,21512,7.943,21513,5.292,21514,5.292,21515,5.292,21667,5.715,21668,5.715,21669,5.715,21670,5.715,21671,5.715,21672,5.715,21673,5.715,21674,5.715,21675,5.715,21676,5.715,21677,5.715,21678,5.715,21679,5.715,21680,5.715,21681,5.715]],["title/injectables/TaskRule.html",[589,0.929,1876,5.639]],["body/injectables/TaskRule.html",[0,0.22,3,0.012,4,0.012,5,0.006,7,0.09,8,1.038,27,0.445,29,0.867,30,0.001,31,0.633,32,0.148,33,0.52,35,1.206,95,0.141,101,0.008,103,0,104,0,122,2.577,135,1.692,141,3.856,148,1.223,183,4.558,195,1.397,197,1.776,205,2.782,228,1.889,277,0.922,290,3.248,433,1.11,478,1.789,589,1.203,591,1.523,652,2.522,653,2.637,693,2.909,711,3.669,1197,7.384,1237,1.883,1775,6.217,1778,7.102,1792,4.427,1801,7.676,1829,2.715,1838,5.467,1868,9.505,1872,10.305,1876,7.302,1981,5.794,1985,5.588,1992,4.228,2940,6.178,3633,3.231,3678,5.952,3679,4.289,3682,5.871,3684,4.289,3685,6.039,6624,3.435,7702,5.604,7703,5.604,7704,5.372,7705,7.891,15484,8.329,19130,7.891,19132,8.329,21682,6.388,21683,10.463,21684,6.388,21685,8.994,21686,6.388,21687,6.388,21688,6.388,21689,6.388,21690,8.994,21691,6.388,21692,6.388,21693,6.388,21694,8.994,21695,6.388]],["title/classes/TaskScope.html",[0,0.24,21580,6.094]],["body/classes/TaskScope.html",[0,0.149,2,0.46,3,0.008,4,0.008,5,0.004,7,0.061,8,0.778,26,2.846,27,0.525,29,0.988,30,0.001,31,0.722,32,0.165,33,0.593,35,1.508,39,2.289,83,3.458,95,0.107,96,1.146,99,0.887,101,0.006,103,0,104,0,112,0.527,122,2.621,129,1.296,130,2.766,135,1.219,142,3.406,148,1.261,153,0.714,195,1.81,224,1.263,231,1.169,365,4.995,436,3.004,478,1.212,569,1.347,652,2.63,1936,3.884,2032,2.561,2487,6.887,2940,1.981,3557,4.815,3928,6.716,4062,6.603,4086,5.832,6244,4.974,6621,6.736,6624,5.44,6891,4.524,6892,4.524,6893,4.524,6898,4.524,6899,4.524,6900,2.951,6901,2.907,6902,2.951,6903,2.951,6912,2.907,6913,4.524,6914,2.951,6915,2.907,6916,2.951,6917,2.907,6918,8.155,7655,3.514,7690,5.167,7831,3.514,8844,4.459,9400,3.41,11909,4.008,11912,4.008,11916,4.008,11917,7.257,11918,6.239,15500,6.239,15501,6.239,15503,3.798,21580,12.067,21624,5.911,21625,5.911,21626,8.19,21646,8.19,21696,12.883,21697,6.738,21698,6.738,21699,6.738,21700,6.738,21701,6.738,21702,6.738,21703,6.738,21704,6.738,21705,6.738,21706,6.738,21707,6.738,21708,4.329,21709,6.738,21710,4.329,21711,6.738,21712,6.738,21713,4.329,21714,6.738,21715,6.738,21716,4.329,21717,6.738,21718,4.329,21719,6.738,21720,4.329,21721,6.738,21722,4.329,21723,6.738,21724,4.329,21725,6.738,21726,4.329,21727,4.329,21728,4.329,21729,4.329,21730,4.329,21731,4.329]],["title/injectables/TaskService.html",[589,0.929,5706,5.201]],["body/injectables/TaskService.html",[0,0.234,3,0.013,4,0.013,5,0.006,7,0.096,8,1.084,10,3.772,12,4.257,26,2.788,27,0.48,29,0.934,30,0.001,31,0.683,32,0.161,33,0.561,35,1.345,36,2.789,59,2.916,95,0.147,98,4.09,99,1.394,101,0.009,103,0,104,0,122,1.96,135,1.227,148,0.93,172,3.993,228,1.953,277,0.981,279,2.854,317,2.989,433,1.159,478,1.904,540,4.076,589,1.256,591,1.621,595,2.566,652,2.573,657,2.661,1317,4.274,1914,8.884,2026,5.665,2494,4.982,2499,5.355,2815,2.72,2940,6.114,3866,3.418,4009,3.972,5232,8.185,5706,7.034,6621,5.21,7224,9.276,7811,7.133,20745,6.296,20934,10.485,20943,5.355,20977,6.296,21292,5.214,21416,5.965,21473,5.965,21563,9.967,21573,6.296,21646,5.965,21732,6.799,21733,9.394,21734,6.799,21735,9.394,21736,6.799,21737,9.394,21738,6.799,21739,9.394,21740,6.799,21741,6.799,21742,6.799,21743,6.799,21744,6.799,21745,6.799,21746,6.799,21747,6.799]],["title/interfaces/TaskStatus.html",[159,0.713,4081,4.664]],["body/interfaces/TaskStatus.html",[3,0.015,4,0.015,5,0.007,7,0.114,30,0.001,31,0.455,32,0.171,47,0.94,55,2.774,83,3.081,95,0.121,99,1.664,101,0.016,103,0.001,104,0.001,112,0.827,122,2.955,157,1.868,159,1.329,161,1.928,231,2.043,290,2.784,478,2.273,652,1.658,692,4.995,703,2.52,1936,3.812,2026,5.164,2032,4.474,2938,5.691,3140,4.772,3553,5.494,3557,4.187,4009,4.743,4062,5.3,4081,7.106,4085,8.506,4086,8.796,4087,8.256,4088,8.256,4089,8.96,4090,8.506,5720,6.502,6624,4.366,8844,5.373,13613,9.826,13614,6.591,13615,5.949,13616,6.079,13617,6.079,13618,5.831,13619,6.079,13620,5.949]],["title/classes/TaskStatusMapper.html",[0,0.24,21526,6.094]],["body/classes/TaskStatusMapper.html",[0,0.34,2,1.047,3,0.019,4,0.019,5,0.009,7,0.138,8,1.38,27,0.388,29,0.755,30,0.001,31,0.552,32,0.123,33,0.453,35,1.142,95,0.136,99,2.019,100,4.171,101,0.013,103,0.001,104,0.001,135,1.287,148,0.976,153,1.624,402,3.525,467,3.746,830,6.629,4076,8.284,4080,10.051,4081,8.984,21512,10.446,21526,10.486,21748,11.953,21749,9.852,21750,9.852,21751,9.852,21752,9.852]],["title/classes/TaskStatusResponse.html",[0,0.24,21512,5.639]],["body/classes/TaskStatusResponse.html",[0,0.28,2,0.863,3,0.015,4,0.015,5,0.007,7,0.114,27,0.532,29,0.623,30,0.001,31,0.455,32,0.168,33,0.374,55,2.657,95,0.093,101,0.011,103,0.001,104,0.001,112,0.827,122,2.767,190,2.381,202,1.865,296,3.719,433,1.306,821,4.133,4084,7.122,4085,8.821,4086,9.122,4087,8.563,4088,8.563,4089,9.292,4090,8.821,4091,7.518,4098,6.827,4099,7.518,4100,6.827,4101,6.591,4102,7.518,4103,7.518,21411,11.521,21512,10.504,21753,8.119,21754,8.119,21755,8.119,21756,8.119,21757,8.119,21758,8.119]],["title/injectables/TaskUC.html",[589,0.929,21354,5.841]],["body/injectables/TaskUC.html",[0,0.107,3,0.006,4,0.006,5,0.003,7,0.044,8,0.596,10,2.073,26,2.711,27,0.442,29,0.839,30,0.001,31,0.613,32,0.136,33,0.503,35,1.268,36,2.648,39,2.936,59,0.965,83,2.488,95,0.117,98,3.105,99,0.637,101,0.004,103,0,104,0,122,1.783,130,1.411,135,1.816,141,3.304,148,1.178,153,1.749,195,0.68,197,2.142,205,0.635,228,1.551,277,0.449,279,1.305,290,3.073,317,2.882,365,1.388,402,4.185,412,1.376,433,0.637,478,0.87,560,1.648,578,4.028,579,0.898,589,0.69,591,0.741,595,1.173,610,1.225,652,2.597,657,3.013,693,2.35,770,1.954,790,2.12,807,2.384,863,5.073,871,2.821,980,1.724,1197,4.175,1213,1.978,1393,1.783,1626,1.724,1780,1.89,1783,3.171,1784,3.466,1792,3.577,1793,4.38,1829,1.321,1850,2.192,1862,5.215,1910,6.002,1914,6.5,1961,5.142,1963,4.065,1983,3.466,2032,3.248,2231,3.763,2533,1.768,2541,2.879,2580,2.003,2666,1.437,2671,4.849,2897,1.87,2938,1.672,2940,4.47,3396,2.961,3557,4.409,3742,3.244,4081,3.466,4087,5.099,4672,1.87,5427,5.865,5705,6.66,5706,7.315,5744,3.763,5756,3.941,6621,3.67,7154,2.057,7525,8.091,7690,5.909,7806,4.528,7884,3.958,8844,3.416,8931,2.192,9628,2.278,9658,7.499,11751,2.328,15280,4.065,15412,6.479,15533,4.34,18267,2.614,20531,2.384,20943,8.357,21354,4.34,21362,4.78,21365,4.78,21416,2.727,21442,4.78,21473,5.806,21586,4.78,21587,4.78,21588,4.78,21589,4.78,21624,4.528,21625,2.727,21626,4.528,21759,3.109,21760,5.161,21761,5.161,21762,7.705,21763,5.161,21764,5.161,21765,3.109,21766,5.161,21767,3.109,21768,3.109,21769,5.161,21770,3.109,21771,5.161,21772,3.109,21773,5.161,21774,3.109,21775,5.161,21776,3.109,21777,3.109,21778,5.161,21779,8.548,21780,3.109,21781,5.161,21782,3.109,21783,5.161,21784,3.109,21785,3.109,21786,6.618,21787,5.161,21788,6.618,21789,6.618,21790,9.22,21791,5.161,21792,9.22,21793,5.161,21794,5.161,21795,7.705,21796,3.109,21797,9.22,21798,6.618,21799,7.705,21800,6.618,21801,4.78,21802,3.109,21803,3.109,21804,3.109,21805,3.109,21806,3.109,21807,3.109,21808,3.109,21809,3.109,21810,7.705,21811,5.161,21812,3.109,21813,7.705,21814,5.161,21815,5.161,21816,5.161,21817,3.109,21818,5.161,21819,3.109,21820,3.109,21821,7.705,21822,3.109,21823,3.109,21824,3.109,21825,3.109,21826,3.109,21827,3.109,21828,3.109,21829,3.109,21830,3.109,21831,3.109,21832,3.109,21833,5.161,21834,5.161,21835,3.109,21836,3.109,21837,5.161,21838,5.161,21839,3.109,21840,3.109]],["title/interfaces/TaskUpdate.html",[159,0.713,13616,5.201]],["body/interfaces/TaskUpdate.html",[3,0.016,4,0.016,5,0.008,7,0.119,30,0.001,31,0.476,32,0.158,33,0.584,47,0.998,55,2.41,83,3.173,95,0.124,99,1.741,101,0.017,103,0.001,104,0.001,112,0.852,122,2.801,157,1.955,159,1.348,161,2.017,231,2.203,290,2.845,478,2.379,652,1.735,692,5.144,703,2.637,1936,3.989,2026,6.404,2032,4.573,2938,5.861,3140,4.914,3553,5.658,3557,4.382,4009,4.963,4062,5.546,4081,5.705,4085,5.793,4086,5.99,4087,5.623,4088,5.623,4089,6.102,4090,5.793,5720,8.064,6624,4.569,8844,5.623,13613,10.337,13614,6.898,13615,6.225,13616,8.161,13617,6.362,13618,6.102,13619,6.362,13620,6.225]],["title/classes/TaskUpdateParams.html",[0,0.24,21522,6.094]],["body/classes/TaskUpdateParams.html",[0,0.327,2,0.731,3,0.013,4,0.013,5,0.006,7,0.097,27,0.498,30,0.001,31,0.607,32,0.169,33,0.624,34,1.996,47,0.936,83,4.018,95,0.133,99,1.41,101,0.009,103,0,104,0,112,0.74,155,3.004,157,3.15,185,4.01,190,2.27,194,4.564,195,2.552,196,3.133,197,2.633,200,2.108,201,4.91,202,1.58,296,2.474,298,2.976,299,4.768,300,4.84,304,5.76,854,6.808,855,4.383,1216,8.309,1237,2.792,1936,4.447,2026,5.285,2032,3.6,2940,6.04,3026,6.268,3178,6.23,3179,6.23,3553,3.572,3557,5.586,4009,5.533,4062,7.07,5720,6.655,7967,7.965,7977,5.586,7979,6.458,9522,5.82,11025,5.786,13616,8.11,21411,10.895,21494,8.771,21496,6.371,21500,6.371,21522,8.309,21841,6.88,21842,6.88,21843,6.88,21844,6.88,21845,6.88,21846,6.88]],["title/injectables/TaskUrlHandler.html",[589,0.929,16169,5.841]],["body/injectables/TaskUrlHandler.html",[0,0.24,3,0.013,4,0.013,5,0.006,7,0.098,8,1.101,9,3.23,27,0.5,29,0.942,30,0.001,31,0.688,32,0.165,33,0.565,34,1.631,35,1.358,36,2.021,47,0.963,95,0.14,101,0.009,103,0,104,0,105,10.234,106,7.312,107,7.108,108,8.841,110,4.575,111,5.476,112,0.746,113,3.801,114,8.841,115,7.513,116,7.744,117,7.513,118,7.513,120,5.476,122,1.45,123,5.644,125,2.596,126,5.476,127,5.856,129,2.855,130,2.609,131,5.966,134,2.456,135,1.422,148,0.945,228,1.262,231,1.656,233,2.169,277,1.003,317,2.363,400,2.07,433,0.858,436,3.481,589,1.276,591,1.658,657,1.593,1237,2.049,2940,4.983,4143,6.405,4146,7.513,4148,5.846,4149,5.846,4150,5.846,4153,7.316,4154,5.644,4155,7.316,4156,5.846,4157,5.644,4159,4.668,5706,9.5,5794,6.099,7887,6.099,7888,6.099,7890,8.369,7891,8.369,7892,6.099,15096,5.846,16169,8.021,19183,6.438,21847,10.89,21848,9.539,21849,6.952]],["title/classes/TaskUrlParams.html",[0,0.24,20734,5.841]],["body/classes/TaskUrlParams.html",[0,0.415,2,1.06,3,0.019,4,0.019,5,0.009,7,0.14,27,0.393,30,0.001,32,0.124,34,2.06,47,0.854,95,0.137,101,0.013,103,0.001,104,0.001,112,0.941,157,2.295,190,1.79,194,4.71,195,2.634,196,3.983,197,3.348,200,3.055,202,2.291,296,3.146,855,4.874,2940,5.511,4166,6.063,20734,10.126,20943,10.19,21850,9.974,21851,9.974]],["title/classes/TaskWithStatusVo.html",[0,0.24,9628,5.089]],["body/classes/TaskWithStatusVo.html",[0,0.184,2,0.345,3,0.006,4,0.006,5,0.003,7,0.163,26,1.804,27,0.269,29,0.249,30,0.001,31,0.3,32,0.142,33,0.149,34,0.915,47,0.706,55,1.072,83,2.548,95,0.135,96,0.86,101,0.011,103,0,104,0,112,0.736,122,2.375,125,1.887,135,1.813,141,1.392,142,1.185,145,1.999,148,1.304,153,1.716,157,0.747,158,1.201,159,0.55,195,2.43,196,3.115,197,3.233,205,1.092,223,3.348,224,0.948,225,2.055,226,1.471,229,1.284,231,0.564,232,0.88,233,1.013,277,0.469,290,2.845,402,4.074,433,0.401,527,1.374,567,1.234,569,2.463,578,1.697,579,1.546,628,1.934,652,2.491,653,2.209,692,3.221,703,1.008,711,3.454,756,3.13,813,1.816,874,1.897,962,2.289,1237,0.957,1312,1.549,1563,2.092,1821,1.575,1829,1.38,1842,2.436,1927,3.155,1936,1.524,2026,3.862,2032,3.326,2054,4.729,2126,1.897,2183,1.279,2580,2.092,2924,4.046,2927,2.967,2931,1.801,2936,3.447,2937,1.934,2938,2.877,2939,2.289,2940,5.583,2953,5.713,3140,3.947,3396,1.863,3553,2.778,3557,2.76,3633,4.764,3720,2.092,4009,5.817,4011,2.73,4062,2.12,4081,6.988,4085,3.648,4086,6.171,4087,5.238,4088,6.233,4089,6.764,4090,3.648,4101,6.425,4410,1.915,4557,1.137,4569,2.066,4633,1.457,5246,2.041,5565,2.066,5566,2.12,5685,2.512,5720,1.995,6162,2.041,6167,3.404,6187,2.092,6188,2.041,6196,2.149,6203,2.25,6225,2.25,6624,1.746,7393,4.582,7436,3.288,7440,1.831,7452,2.558,7456,2.332,7458,2.149,7459,1.934,7460,2.041,7461,1.974,7743,2.558,7775,2.12,7780,2.431,8844,5.238,9628,3.92,9808,2.289,13615,2.379,13618,3.843,13619,2.431,13620,2.379,13819,2.49,15364,2.73,16471,4.344,16652,2.558,18824,2.73,20652,2.636,20672,5.926,20673,2.636,20690,5.926,20691,2.636,20710,2.49,20715,2.636,20877,2.73,20878,2.636,20880,2.73,20980,4.499,21237,2.849,21240,2.849,21252,2.849,21255,2.849,21256,2.849,21257,2.849,21258,2.849,21259,2.849,21260,4.694,21261,5.987,21262,5.54,21263,5.375,21264,2.849,21265,2.849,21266,2.849,21267,2.73,21268,8.262,21269,2.849,21270,4.694,21271,6.943,21272,6.943,21273,2.849,21274,2.849,21275,2.849,21276,4.694,21277,2.849,21278,2.849,21279,2.849,21280,2.849,21281,2.849,21282,2.849,21283,2.849,21284,2.849,21285,2.849,21286,2.849,21287,2.849,21288,2.849,21289,4.694,21290,2.849,21291,2.849,21292,2.49,21293,2.849,21294,2.849,21295,2.849,21296,2.849,21297,2.849,21298,2.849,21299,4.694,21300,2.849,21301,2.849,21302,4.694,21303,2.849,21304,4.694,21305,2.73,21306,2.849,21307,6.943,21308,5.987,21309,5.987,21310,2.849,21311,5.987,21312,4.694,21313,2.849,21314,2.849,21315,2.849,21316,5.987,21317,2.849,21318,4.694,21319,2.849,21320,2.849,21321,6.943,21322,2.849,21323,2.849,21324,2.849,21325,2.849,21326,2.849,21327,2.849,21328,2.849,21329,4.694,21330,2.849,21331,2.849,21332,4.694,21333,2.849,21334,2.849,21335,2.849,21336,2.849,21337,2.73,21338,2.849,21339,6.943,21340,2.849,21341,2.849,21342,2.849,21343,2.849,21344,2.849,21345,2.849,21346,2.849,21347,2.849,21348,2.849,21349,2.849,21852,5.351,21853,3.247]],["title/classes/TeamDto.html",[0,0.24,4984,4.989]],["body/classes/TeamDto.html",[0,0.375,2,0.899,3,0.016,4,0.016,5,0.008,7,0.119,26,2.476,27,0.499,29,0.649,30,0.001,31,0.71,32,0.158,33,0.389,34,2.054,39,2.341,47,0.929,95,0.097,99,1.734,100,3.792,101,0.014,103,0.001,104,0.001,112,0.85,157,1.947,232,3.253,242,4.453,243,5.318,252,2.871,433,1.044,435,2.873,458,3.385,459,4.453,1829,4.62,2183,3.334,2505,6.753,4557,2.961,4633,3.797,4634,4.99,4635,6.335,4984,9.414,5052,9.241,5111,6.335,7956,7.298,11603,7.806,12953,7.423,12954,7.423,16697,8.798,16713,10.288,18566,9.14,21854,7.835,21855,9.535,21856,9.14,21857,10.065,21858,10.869,21859,8.461,21860,8.461,21861,7.835,21862,6.664]],["title/entities/TeamEntity.html",[205,1.418,7762,4.268]],["body/entities/TeamEntity.html",[0,0.336,3,0.014,4,0.014,5,0.007,7,0.101,27,0.383,30,0.001,31,0.665,32,0.121,39,1.982,47,0.784,62,6.586,72,3.278,95,0.142,96,2.578,101,0.016,103,0,104,0,112,0.761,130,3.024,148,1.095,153,1.181,159,1,190,1.747,195,2.13,205,1.988,206,2.336,223,3.433,224,2.09,225,3.739,226,3.246,229,2.833,231,1.243,232,2.638,233,2.235,242,5.821,290,3.151,331,5.664,567,4.203,652,1.462,692,6.042,703,3.022,1835,4.988,2183,2.822,2268,5.248,2698,5.631,2924,3.311,3875,4.884,4557,2.507,4617,4.964,4623,5.198,4633,3.214,4634,6.522,4637,8.711,5685,5.826,7439,4.45,7440,4.038,7461,4.354,7762,5.982,7796,4.74,7956,4.81,9964,5.144,11747,5.248,11748,5.248,12960,5.493,16697,7.133,21862,5.642,21863,6.023,21864,7.163,21865,9.405,21866,7.163,21867,5.642,21868,7.668,21869,7.904,21870,6.023,21871,6.023,21872,6.023,21873,6.023,21874,6.023,21875,6.023,21876,6.023]],["title/classes/TeamFactory.html",[0,0.24,21877,6.432]],["body/classes/TeamFactory.html",[0,0.165,2,0.51,3,0.009,4,0.009,5,0.004,7,0.067,8,0.842,27,0.523,29,1.026,30,0.001,31,0.73,32,0.169,33,0.592,34,1.509,35,1.419,39,2.441,47,0.752,55,2.324,59,3.291,95,0.113,101,0.006,103,0,104,0,112,0.57,113,4.449,127,4.925,129,3.578,130,3.27,135,1.152,148,0.874,157,2.031,172,3.101,185,2.507,192,2.641,205,2.164,206,2.379,228,1.324,231,1.266,326,4.891,331,4.691,374,3.155,433,0.592,436,3.868,467,2.124,478,1.344,501,7.25,502,5.467,505,4.046,506,5.467,507,5.394,508,4.046,509,4.046,510,4.046,511,3.983,512,4.492,513,4.894,514,6.478,515,5.788,516,7.037,517,2.684,522,2.662,523,4.046,524,2.684,525,5.152,526,5.301,527,4.172,528,4.986,529,4.014,530,2.662,531,2.509,532,4.142,533,2.562,534,2.509,535,2.662,536,2.684,537,4.817,538,2.662,539,7.223,540,4.198,541,6.631,542,2.684,543,4.281,544,2.662,545,2.684,546,2.662,547,2.684,548,2.662,549,2.982,550,2.804,551,2.662,552,6.095,553,2.684,554,2.662,555,4.046,556,3.69,557,4.046,558,2.684,559,2.581,560,2.544,561,2.154,562,2.662,563,2.662,564,2.662,565,2.684,566,2.684,567,1.824,568,2.662,569,1.494,570,2.684,571,2.885,572,2.662,573,2.684,575,2.753,577,4.344,4659,4.036,4986,3.017,7762,2.949,16697,6.465,16709,6.134,21865,7.079,21868,3.78,21877,8.171,21878,4.8,21879,6.755,21880,7.295,21881,6.755,21882,4.8,21883,7.295,21884,4.8,21885,4.211,21886,4.8,21887,4.8,21888,4.8,21889,4.8,21890,4.8]],["title/injectables/TeamMapper.html",[589,0.929,5089,5.841]],["body/injectables/TeamMapper.html",[0,0.304,3,0.017,4,0.017,5,0.008,7,0.124,8,1.288,27,0.347,29,0.676,30,0.001,31,0.625,32,0.11,33,0.406,34,1.507,35,1.021,39,2.439,95,0.14,100,3.893,101,0.012,103,0.001,104,0.001,135,1.151,148,1.105,153,1.839,157,2.028,205,2.627,277,1.272,388,3.779,478,2.468,589,1.492,591,2.101,711,3.635,4557,3.085,4984,9.24,4986,7.012,5017,9.057,5052,7.865,5089,9.381,5111,6.6,7762,8.33,16697,8.174,16709,7.411,16713,9.937,21865,8.012,21891,8.814,21892,11.156,21893,11.156,21894,8.814,21895,10.33,21896,8.814,21897,8.814,21898,8.162,21899,8.814,21900,8.814,21901,8.814,21902,8.814]],["title/entities/TeamNews.html",[205,1.418,7798,5.327]],["body/entities/TeamNews.html",[0,0.354,3,0.01,4,0.018,5,0.005,7,0.162,9,3.605,26,2.118,27,0.205,30,0.001,31,0.435,32,0.128,34,0.891,47,0.888,83,2.259,95,0.14,96,2.455,101,0.014,103,0,104,0,112,0.859,134,1.841,148,0.516,153,1.529,155,2.941,159,0.535,190,0.935,195,2.519,196,3.809,205,2.243,206,1.699,223,3.703,224,1.521,225,2.981,226,2.361,231,1.783,232,2.783,233,1.626,290,2.597,409,5.899,412,4.103,435,1.769,457,5.142,467,1.517,512,4.72,571,3.667,613,4.533,692,5.435,693,2.373,703,3.41,704,3.951,886,2.441,1086,4.424,1087,4.749,1088,4.353,1089,4.633,1090,5.062,1373,4.668,1821,3.765,1826,2.67,1842,3.533,1920,3.449,1938,2.802,2032,2.949,2392,3.536,2701,5.228,2905,3.902,2924,4.286,2937,3.103,2992,5.936,3037,2.5,3718,3.553,3720,3.357,3721,3.674,3723,3.742,3724,3.674,3725,3.902,3739,3.073,3875,3.553,3900,3.357,4557,1.824,4649,3.996,4650,3.611,4791,3.818,5269,3.674,5685,4.353,5773,3.818,6188,3.275,6436,6.794,6621,2.89,6624,4.986,7439,3.238,7440,2.938,7461,3.167,7756,3.902,7757,4.23,7759,6.943,7760,6.052,7761,4.23,7762,5.697,7763,4.23,7764,9.071,7765,5.211,7766,5.811,7767,5.811,7768,6.927,7769,7.798,7770,4.23,7771,5.573,7772,4.23,7773,3.996,7774,3.996,7775,5.065,7776,4.23,7777,3.996,7778,3.996,7779,4.23,7780,3.902,7781,4.23,7782,3.135,7783,3.238,7784,3.996,7785,4.23,7786,4.23,7787,7.303,7788,4.23,7789,7.527,7790,4.23,7791,4.23,7792,5.951,7793,3.996,7794,6.537,7795,4.104,7796,5.136,7797,3.818,7798,5.951,7799,6.3,21903,5.211]],["title/controllers/TeamNewsController.html",[314,2.658,16527,6.094]],["body/controllers/TeamNewsController.html",[0,0.265,3,0.015,4,0.015,5,0.007,7,0.108,8,1.18,27,0.303,29,0.59,30,0.001,31,0.432,32,0.096,33,0.354,35,0.892,36,2.165,72,3.523,95,0.152,100,2.686,101,0.01,103,0,104,0,135,1.498,148,0.762,153,1.269,190,1.382,202,1.768,228,1.397,274,3.218,277,1.111,290,2.416,298,3.33,314,2.946,316,3.714,317,2.489,325,6.068,329,6.972,349,6.474,365,5.123,388,4.381,392,4.024,395,4.14,398,4.171,400,2.292,657,1.764,871,3.741,883,8.615,2920,5.915,3017,3.633,3201,6.67,3221,3.97,4046,4.631,4672,4.631,4986,7.993,5309,6.25,6244,4.698,7525,7.35,7769,5.915,7956,5.169,12352,9.92,13882,6.474,16415,9.463,16424,6.25,16425,6.754,16426,9.312,16428,6.25,16430,7.129,16435,6.754,16436,6.754,16437,7.129,16438,7.129,16439,7.129,16440,7.129,16527,8.965,21904,10.219,21905,7.698,21906,11.47,21907,7.698,21908,10.72,21909,10.219,21910,7.698,21911,7.698,21912,7.129,21913,7.698,21914,7.698,21915,7.698]],["title/classes/TeamPermissionsBody.html",[0,0.24,5060,5.639]],["body/classes/TeamPermissionsBody.html",[0,0.384,2,0.935,3,0.017,4,0.017,5,0.008,7,0.124,10,4.91,27,0.522,30,0.001,32,0.165,95,0.127,101,0.012,103,0.001,104,0.001,112,0.871,122,2.954,190,2.38,199,7.515,200,2.694,202,2.02,296,3.539,734,5.132,1783,7.513,1784,8.21,5052,9.553,5060,9.044,8256,10.172,20282,9.378,21916,12.547,21917,8.794,21918,8.794,21919,8.794,21920,8.794,21921,8.794,21922,8.794]],["title/classes/TeamPermissionsDto.html",[0,0.24,4995,5.471]],["body/classes/TeamPermissionsDto.html",[0,0.299,2,0.921,3,0.016,4,0.016,5,0.008,7,0.122,10,4.876,27,0.532,29,0.664,30,0.001,31,0.486,32,0.168,33,0.654,101,0.011,103,0.001,104,0.001,112,0.862,122,2.947,232,2.989,433,1.069,435,2.941,734,5.096,1783,7.46,1784,8.152,4995,10.398,4998,12.032,5052,9.67,11699,7.599,11700,7.599,11701,7.599,11702,7.599,11703,7.599,11704,7.599,11705,7.599,11706,7.599,20282,9.311,21923,8.021,21924,11.033,21925,8.021,21926,8.021,21927,8.021,21928,8.021,21929,8.661,21930,8.661]],["title/injectables/TeamPermissionsMapper.html",[589,0.929,5090,5.841]],["body/injectables/TeamPermissionsMapper.html",[0,0.309,3,0.017,4,0.017,5,0.008,7,0.126,8,1.301,10,3.595,27,0.353,29,0.686,30,0.001,31,0.502,32,0.112,33,0.412,35,1.037,95,0.141,100,3.931,101,0.012,103,0.001,104,0.001,148,1.116,153,1.476,157,2.06,277,1.292,379,6.929,388,3.838,589,1.506,591,2.134,711,3.661,734,3.757,1783,5.5,1784,6.01,4834,6.52,4995,10.19,4999,7.05,5017,9.146,5052,7.942,5060,10.503,5075,7.853,5090,9.473,5112,11.98,5155,10.432,5157,8.289,20282,6.865,21895,10.432,21931,8.951,21932,11.265,21933,11.265,21934,8.951,21935,8.951,21936,8.951,21937,8.951,21938,8.951,21939,8.951,21940,8.951]],["title/interfaces/TeamProperties.html",[159,0.713,21868,5.471]],["body/interfaces/TeamProperties.html",[0,0.338,3,0.014,4,0.014,5,0.007,7,0.102,30,0.001,31,0.698,32,0.122,33,0.451,39,2.003,47,0.845,62,4.312,72,3.313,95,0.142,96,2.597,101,0.016,103,0,104,0,112,0.767,130,3.041,148,1.101,153,1.194,159,1.007,161,1.719,195,1.584,205,2.002,223,3.044,224,2.113,225,3.767,226,3.281,229,2.864,231,1.257,232,2.657,233,2.259,242,5.854,290,3.158,331,5.682,567,4.226,652,1.478,692,6.061,703,3.044,1835,3.71,2183,2.853,2268,5.305,2698,5.662,2924,3.347,3875,4.937,4557,2.534,4623,5.236,4633,3.249,4634,6.558,4637,8.76,5685,5.848,7439,4.499,7440,4.082,7461,4.401,7762,4.449,7796,4.792,7956,4.862,9964,5.2,11747,5.305,11748,5.305,12960,5.553,16697,9.127,21862,5.703,21863,6.088,21865,9.594,21867,5.703,21868,8.76,21869,7.962,21870,6.088,21871,6.088,21872,6.088,21873,6.088,21874,6.088,21875,6.088,21876,6.088]],["title/classes/TeamRoleDto.html",[0,0.24,5058,5.841]],["body/classes/TeamRoleDto.html",[0,0.412,2,1.045,3,0.019,4,0.019,5,0.009,7,0.138,27,0.47,30,0.001,32,0.149,47,0.948,95,0.136,101,0.013,103,0.001,104,0.001,112,0.933,190,2.142,200,3.01,202,2.257,296,3.357,855,5.202,4260,8.907,5052,9.062,5058,10.036,5111,9.625,6771,8.745,21916,11.903,21941,9.827,21942,9.827,21943,9.827]],["title/classes/TeamRolePermissionsDto.html",[0,0.24,5019,5.639]],["body/classes/TeamRolePermissionsDto.html",[0,0.311,2,0.958,3,0.017,4,0.017,5,0.008,7,0.127,27,0.526,29,0.691,30,0.001,31,0.505,32,0.167,33,0.415,47,0.967,101,0.012,103,0.001,104,0.001,112,0.884,122,2.36,232,3.065,331,6.033,433,1.112,435,3.06,1826,6.336,4260,8.569,4268,8.345,4964,9.296,5019,10.846,5022,10.848,5024,6.858,9977,8.345,9978,8.345,11539,6.748,11567,7.098,21923,8.345,21925,8.345,21926,10.476,21927,8.345,21928,8.345,21944,13.634,21945,9.011,21946,9.011,21947,9.011]],["title/injectables/TeamRule.html",[589,0.929,1877,5.841]],["body/injectables/TeamRule.html",[0,0.278,3,0.015,4,0.015,5,0.007,7,0.113,8,1.217,27,0.462,29,0.9,30,0.001,31,0.658,32,0.155,33,0.54,35,1.221,95,0.142,101,0.011,103,0.001,104,0.001,122,2.596,135,1.054,148,1.044,183,4.493,197,2.243,205,2.755,228,1.464,277,1.165,290,3.271,400,2.403,433,0.996,478,2.259,578,4.218,589,1.41,591,1.924,653,3.332,711,3.934,1237,2.379,1775,6.848,1801,8.229,1838,7.849,1877,8.864,1981,6.791,1985,6.549,3678,6.976,3679,5.419,3682,6.881,3684,5.419,3686,5.913,7762,8.407,21865,7.57,21898,7.473,21948,8.07,21949,8.07,21950,8.07,21951,8.07,21952,10.541,21953,8.07,21954,8.07]],["title/injectables/TeamService.html",[589,0.929,21955,6.094]],["body/injectables/TeamService.html",[0,0.287,3,0.016,4,0.016,5,0.008,7,0.117,8,1.241,26,2.802,27,0.469,29,0.914,30,0.001,31,0.668,32,0.149,33,0.548,35,1.246,36,2.668,39,3.296,95,0.144,99,1.705,101,0.011,103,0.001,104,0.001,135,1.404,148,1.065,228,1.51,277,1.201,279,3.492,317,2.898,400,2.478,433,1.027,478,2.33,589,1.438,591,1.984,657,2.73,711,3.966,1915,9.254,7762,5.112,7956,7.999,13680,9.957,21955,9.433,21956,8.32,21957,10.752,21958,10.752,21959,8.32,21960,8.32,21961,10.752,21962,8.32,21963,10.752,21964,8.32,21965,8.32,21966,8.32,21967,8.32,21968,8.32,21969,8.32,21970,8.32]],["title/classes/TeamUrlParams.html",[0,0.24,21908,6.094]],["body/classes/TeamUrlParams.html",[0,0.415,2,1.06,3,0.019,4,0.019,5,0.009,7,0.14,27,0.393,30,0.001,32,0.124,34,2.06,47,0.854,95,0.137,101,0.013,103,0.001,104,0.001,112,0.941,157,2.295,190,1.79,194,4.71,195,2.634,196,3.983,197,3.348,200,3.055,202,2.291,296,3.146,855,4.874,4166,6.063,4260,8.965,4986,7.569,21908,10.565,21971,9.974,21972,9.974]],["title/classes/TeamUserDto.html",[0,0.24,16713,5.639]],["body/classes/TeamUserDto.html",[0,0.38,2,0.921,3,0.016,4,0.016,5,0.008,7,0.122,26,2.275,27,0.503,29,0.664,30,0.001,31,0.618,32,0.159,33,0.399,34,1.481,39,3.359,47,0.972,95,0.099,99,1.775,100,3.022,101,0.014,103,0.001,104,0.001,112,0.862,232,3.289,242,4.559,243,5.444,252,2.288,433,1.069,435,2.941,458,3.465,459,4.559,1829,3.682,2183,3.413,2505,5.382,4557,4.25,4633,3.887,4634,5.108,4635,6.486,4984,7.924,5052,9.308,5111,9.091,7956,5.816,11603,6.221,12953,7.599,12954,7.599,16697,6.346,16713,10.957,18566,7.284,21854,8.021,21855,7.599,21856,7.284,21857,8.021,21861,8.021,21862,6.822,21973,11.033,21974,8.661,21975,8.661]],["title/classes/TeamUserEntity.html",[0,0.24,21865,4.989]],["body/classes/TeamUserEntity.html",[0,0.312,2,0.686,3,0.012,4,0.012,5,0.006,7,0.091,27,0.512,29,0.802,30,0.001,31,0.67,32,0.155,33,0.481,35,1.049,39,2.895,47,0.642,62,3.841,72,2.951,95,0.136,96,2.398,101,0.015,103,0,104,0,112,0.708,130,3.268,148,1.036,153,1.063,159,0.93,190,1.878,195,1.411,205,1.849,223,2.811,224,1.882,225,3.478,226,2.922,229,2.551,231,1.119,232,2.835,233,2.013,242,5.508,290,3.253,331,5.842,433,0.796,435,2.19,567,3.977,569,2.818,652,2.136,692,6.232,703,3.522,735,4.144,1835,3.305,2183,2.541,2268,4.726,2698,5.327,2924,2.981,3875,4.397,4557,3.663,4623,4.834,4633,2.894,4634,6.171,4637,8.242,5685,5.611,7439,4.007,7440,3.636,7461,3.92,7665,7.135,7762,3.963,7796,4.268,7956,4.331,9964,4.632,11159,5.658,11747,4.726,11748,4.726,12960,4.946,16697,6.635,21862,5.08,21863,5.423,21865,9.141,21867,5.08,21868,7.132,21869,9.212,21870,5.423,21871,5.423,21872,5.423,21873,5.423,21874,5.423,21875,5.423,21876,5.423,21976,6.449,21977,6.449,21978,6.449,21979,6.449,21980,6.449,21981,6.449,21982,6.449,21983,6.449,21984,6.449,21985,6.449,21986,6.449]],["title/classes/TeamUserFactory.html",[0,0.24,21885,6.094]],["body/classes/TeamUserFactory.html",[0,0.158,2,0.486,3,0.009,4,0.009,5,0.004,7,0.064,8,0.812,27,0.518,29,1.018,30,0.001,31,0.714,32,0.168,33,0.586,34,1.465,35,1.4,39,3.031,47,0.835,55,2.285,59,3.221,95,0.125,101,0.006,103,0,104,0,112,0.55,113,4.366,127,4.804,129,3.525,130,3.22,135,1.538,148,0.848,153,0.754,157,1.971,172,2.989,185,2.417,192,2.517,205,2.119,206,2.293,228,1.276,231,1.221,290,2.273,326,4.838,331,5.456,374,3.042,433,0.565,436,3.829,467,2.047,478,1.281,501,7.189,502,5.332,505,3.9,506,5.332,507,5.32,508,3.9,509,3.9,510,3.9,511,3.84,512,4.361,513,4.751,514,5.936,515,5.665,516,6.974,517,2.558,522,2.538,523,3.9,524,2.558,525,5.026,526,5.171,527,4.07,528,4.864,529,3.87,530,2.538,531,2.392,532,4.064,533,2.443,534,2.392,535,2.538,536,2.558,537,4.677,538,2.538,539,7.15,540,4.135,541,6.531,542,2.558,543,4.156,544,2.538,545,2.558,546,2.538,547,2.558,548,2.538,549,2.843,550,2.673,551,2.538,552,5.981,553,2.558,554,2.538,555,3.9,556,3.558,557,3.9,558,2.558,559,2.461,560,2.425,561,2.053,562,2.538,563,2.538,564,2.538,565,2.558,566,2.558,567,1.739,568,2.538,569,1.424,570,2.558,571,2.782,572,2.538,573,2.558,575,2.625,577,4.188,697,3.286,703,3.656,2279,6.513,3400,4.389,4659,3.847,7650,3.604,7660,5.539,20763,7.515,21865,5.051,21879,6.513,21881,6.513,21885,7.515,21987,4.575,21988,4.575,21989,7.033,21990,4.575,21991,4.237,21992,4.575,21993,4.575,21994,4.575,21995,4.575,21996,4.575,21997,4.237,21998,4.575]],["title/interfaces/TeamUserProperties.html",[159,0.713,21869,5.639]],["body/interfaces/TeamUserProperties.html",[0,0.336,3,0.014,4,0.014,5,0.007,7,0.101,30,0.001,31,0.546,32,0.138,39,1.985,47,0.691,62,4.273,72,3.284,95,0.142,96,2.581,101,0.016,103,0,104,0,112,0.762,130,3.027,148,1.096,153,1.183,159,1.001,161,1.704,195,1.57,205,1.99,223,3.026,224,2.094,225,3.744,226,3.251,229,2.838,231,1.245,232,2.641,233,2.239,242,5.827,290,3.308,331,6.102,567,4.207,652,1.465,692,6.292,703,3.855,1835,3.677,2183,2.827,2268,5.258,2698,5.636,2924,3.317,3875,4.892,4557,2.512,4623,5.204,4633,3.22,4634,6.528,4637,8.719,5685,5.83,7439,4.458,7440,4.046,7461,4.362,7762,4.409,7796,4.749,7956,4.818,9964,5.154,11747,5.258,11748,5.258,12960,5.503,16697,7.142,21862,5.652,21863,6.034,21865,9.199,21867,5.652,21868,7.678,21869,8.987,21870,6.034,21871,6.034,21872,6.034,21873,6.034,21874,6.034,21875,6.034,21876,6.034]],["title/modules/TeamsApiModule.html",[252,1.835,20179,5.841]],["body/modules/TeamsApiModule.html",[0,0.343,3,0.019,4,0.019,5,0.009,30,0.001,95,0.137,101,0.013,103,0.001,104,0.001,252,3.414,254,3.583,255,3.794,256,3.891,257,3.877,258,3.863,259,4.373,260,4.476,269,4.703,270,3.821,271,3.742,273,6.254,274,4.158,276,4.703,277,1.436,8924,11.744,20179,11.744,21999,9.949,22000,9.949,22001,9.949,22002,9.949]],["title/modules/TeamsModule.html",[252,1.835,8924,5.841]],["body/modules/TeamsModule.html",[0,0.329,3,0.018,4,0.018,5,0.009,30,0.001,95,0.145,101,0.013,103,0.001,104,0.001,252,3.353,254,3.438,255,3.641,256,3.734,257,3.72,258,3.707,259,4.615,260,4.724,269,4.586,270,3.667,271,3.591,277,1.378,279,4.007,610,3.762,1915,9.584,8924,11.988,21955,12.703,22003,9.547,22004,9.547,22005,9.547,22006,9.547]],["title/injectables/TeamsRepo.html",[589,0.929,1915,4.813]],["body/injectables/TeamsRepo.html",[0,0.209,3,0.012,4,0.012,5,0.006,7,0.085,8,1,10,3.479,12,3.926,13,6.109,18,4.411,26,2.577,27,0.504,29,0.931,30,0.001,31,0.681,32,0.156,33,0.559,34,1.482,35,1.407,36,2.798,39,2.798,40,4.203,42,6.109,49,2.279,55,1.214,62,3.609,95,0.133,96,1.605,97,2.482,99,1.242,101,0.008,103,0,104,0,112,0.677,129,2.593,130,2.369,135,1.131,148,1.156,153,0.999,197,2.409,205,1.237,206,2.825,231,1.504,277,0.875,290,2.048,317,2.954,331,5.531,388,2.598,436,3.278,478,1.697,532,4.957,589,1.159,591,1.445,652,2.065,657,2.865,728,7.236,734,3.636,735,3.965,736,5.022,741,7.601,759,3.609,760,3.684,761,3.645,762,3.684,764,3.645,765,3.684,766,3.283,773,4.352,980,4.805,1092,5.818,1835,4.439,1915,6.004,3400,4.439,3966,4.273,4241,4.773,4986,5.446,5104,7.524,7762,6.214,7956,8.154,16709,5.096,19011,9.365,19017,8.023,19021,5.612,20893,5.612,21865,6.223,22007,6.06,22008,7.601,22009,6.06,22010,7.601,22011,6.06,22012,6.06,22013,6.06,22014,6.06,22015,6.06,22016,6.06,22017,6.06,22018,6.06,22019,6.06,22020,6.06,22021,6.06,22022,6.06]],["title/interfaces/TemporaryFileProperties.html",[159,0.713,13359,5.841]],["body/interfaces/TemporaryFileProperties.html",[0,0.277,3,0.015,4,0.015,5,0.011,7,0.113,30,0.001,31,0.451,32,0.161,47,0.969,55,2.489,83,3.98,95,0.134,96,2.128,101,0.014,103,0.001,104,0.001,112,0.822,159,0.826,161,1.908,205,2.146,210,8.683,223,4.107,224,2.346,225,4.038,229,3.179,231,1.395,233,2.508,248,6.018,414,4.066,433,0.992,478,2.25,870,7.359,1195,3.968,1215,4.835,1237,2.369,2163,3.715,2561,4.835,3390,6.2,5228,8.472,6521,6.525,6573,4.57,7129,5.178,11575,8.281,11576,10.337,11590,6.331,12006,7.051,12025,6.164,13229,6.164,13359,9.852,13364,11.334,13366,7.443,13370,7.051,13371,7.443,13372,7.443,13375,9.223,13376,7.443,13377,7.443]],["title/injectables/TemporaryFileRepo.html",[589,0.929,13223,5.639]],["body/injectables/TemporaryFileRepo.html",[0,0.203,3,0.011,4,0.011,5,0.005,7,0.083,8,0.98,10,3.409,12,3.847,18,4.322,26,2.834,27,0.517,29,0.973,30,0.001,31,0.711,32,0.158,33,0.584,34,1.008,35,1.498,36,2.871,39,3.511,40,2.858,47,0.853,49,3.193,83,2.472,95,0.124,99,1.207,101,0.008,103,0,104,0,135,1.109,148,1.191,153,1.4,205,1.733,206,2.768,210,5.47,231,1.474,277,0.85,317,3.066,436,3.235,532,4.929,589,1.135,591,1.405,728,7.175,734,3.563,735,3.885,736,4.943,759,3.508,760,3.581,761,3.544,762,3.581,763,4.082,764,3.544,765,3.581,766,3.192,771,4.231,787,8.58,1195,6.12,1923,7.314,2511,4.783,5228,7.976,9406,7.448,12792,7.448,13223,6.893,13229,6.511,13364,9.16,22023,12.396,22024,5.891,22025,8.49,22026,8.49,22027,10.893,22028,8.49,22029,8.49,22030,5.891,22031,8.49,22032,5.891,22033,8.49,22034,5.891,22035,5.891,22036,8.49,22037,5.891,22038,5.891]],["title/injectables/TemporaryFileStorage.html",[589,0.929,13224,5.841]],["body/injectables/TemporaryFileStorage.html",[0,0.151,3,0.008,4,0.008,5,0.012,7,0.062,8,0.785,27,0.48,29,0.934,30,0.001,31,0.683,32,0.152,33,0.561,35,1.382,36,2.737,39,3.108,47,1,55,2.037,59,2.111,83,2.735,95,0.136,101,0.006,103,0,104,0,125,2.24,129,1.311,130,1.198,135,1.467,145,3.509,148,1.066,153,1.121,228,1.234,277,0.632,290,3.085,317,2.899,414,2.216,433,0.839,569,2.117,578,2.29,579,1.266,589,0.909,591,1.044,641,2.491,652,2.488,657,2.661,688,2.068,711,3.968,756,1.733,812,2.86,860,3.089,871,1.604,1195,6.126,1215,2.635,1237,1.291,1302,2.43,1304,2.491,1834,3.21,1923,2.942,1927,2.583,2163,2.025,2542,3.089,2624,3.338,2815,1.752,2912,3.36,3090,4.795,3390,2.583,5094,4.057,5101,4.057,5113,4.057,5202,5.389,5228,8.398,6134,2.583,6573,2.491,7200,4.983,7710,3.684,8849,6.297,8859,7.009,8886,3.843,11407,2.692,11438,3.684,12009,3.843,12033,3.36,12379,3.556,12438,6.884,12483,4.057,12505,3.556,12974,2.987,13029,10.686,13223,7.628,13224,5.719,13229,3.36,13232,3.843,13361,3.684,13375,5.966,15196,3.28,22039,12.408,22040,6.8,22041,6.8,22042,6.8,22043,6.8,22044,6.8,22045,8.335,22046,8.335,22047,4.381,22048,6.8,22049,4.381,22050,6.8,22051,4.381,22052,6.8,22053,4.381,22054,6.8,22055,4.381,22056,4.381,22057,4.381,22058,6.8,22059,4.381,22060,9.395,22061,9.395,22062,4.381,22063,6.8,22064,4.381,22065,8.335,22066,9.395,22067,9.395,22068,4.381,22069,6.8,22070,4.381,22071,4.381,22072,4.381,22073,4.381,22074,4.381,22075,4.381,22076,4.381,22077,4.381,22078,4.381,22079,4.381,22080,4.381,22081,4.381,22082,4.381,22083,4.381,22084,4.381,22085,10.172,22086,6.8,22087,4.381,22088,4.381,22089,4.381,22090,4.381,22091,4.381,22092,4.381,22093,4.381,22094,8.335,22095,4.381,22096,4.381,22097,4.381,22098,4.381,22099,4.381,22100,3.684,22101,4.381,22102,4.381]],["title/classes/TestApiClient.html",[0,0.24,1617,6.094]],["body/classes/TestApiClient.html",[0,0.126,2,0.387,3,0.007,4,0.007,5,0.003,7,0.051,8,0.679,10,2.361,27,0.499,29,0.937,30,0.001,31,0.685,32,0.156,33,0.562,35,1.393,36,1.246,47,1.01,51,2.821,55,1.48,59,3.086,87,2.956,94,4.705,95,0.097,101,0.005,103,0,104,0,112,0.46,122,1.226,129,2.783,130,2.543,135,1.753,142,1.33,145,2.196,148,1.19,153,1.398,157,0.839,158,1.348,159,0.374,180,2.51,185,3.594,189,3.613,228,2.039,277,0.526,316,1.758,317,1.604,326,1.385,339,3.296,379,5.325,389,3.838,414,6.345,433,0.45,478,1.021,484,2.618,579,1.699,581,5.158,652,2.776,657,0.835,711,3.837,756,1.442,802,3.891,871,3.64,1080,1.256,1176,4.509,1372,6.741,1585,6.358,1602,7.438,1603,11.235,1604,3.198,1605,5.038,1606,9.176,1607,4.944,1608,3.375,1609,3.375,1610,2.671,1611,2.959,1612,3.375,1613,3.065,1614,3.375,1615,3.375,1616,3.198,1617,6.483,1618,3.375,1619,2.24,1620,3.375,1621,5.444,1622,4.223,1623,5.158,1624,4.944,1625,4.773,1626,3.261,1627,7.141,1628,9.176,1629,6.843,1630,5.158,1631,5.158,1632,5.158,1633,3.198,1634,9.207,1635,3.375,1636,5.158,1637,10.122,1638,8.159,1639,10.122,1640,3.375,1641,5.158,1642,8.159,1643,3.375,1644,7.851,1645,5.444,1646,3.375,1647,5.999,1648,5.444,1649,3.375,1650,5.158,1651,5.444,1652,3.375,1653,3.375,1654,3.375,1655,3.375,1656,5.444,1657,3.375,1658,3.198,1659,5.158,1660,5.533,1661,7.438,1662,3.198,1663,5.158,1664,3.198,1665,8.159,1666,5.158,1667,5.158,1668,3.198,1669,5.158,1670,5.158,1671,3.198,1672,3.198,1673,5.444,1674,7.851,1675,2.193,1676,3.375,1677,5.444,1678,3.375,1679,3.375,1680,3.375,1681,3.375,1682,3.375,1683,3.375,1684,3.375,1685,3.375,3223,3.235,4370,3.788,22103,5.444,22104,5.444,22105,5.879,22106,5.444,22107,5.879,22108,3.645,22109,3.375,22110,3.645,22111,3.645,22112,3.645,22113,8.612,22114,3.375,22115,3.645,22116,3.645,22117,3.375,22118,3.645,22119,3.645,22120,3.645,22121,3.645,22122,3.645,22123,3.375]],["title/classes/TestBootstrapConsole.html",[0,0.24,22124,6.432]],["body/classes/TestBootstrapConsole.html",[0,0.305,2,0.939,3,0.017,4,0.017,5,0.008,7,0.124,8,1.29,27,0.348,30,0.001,35,1.024,36,2.596,47,0.626,95,0.152,101,0.015,103,0.001,104,0.001,135,1.459,148,1.106,231,1.939,258,3.43,276,3.455,317,1.917,571,3.494,657,2.024,734,5.404,981,5.369,1086,4.214,1087,4.083,1088,4.147,1089,4.413,1090,4.822,2059,6.472,2060,6.344,2788,6.774,3771,5.766,3779,5.846,3781,6.864,3782,5.16,3784,6.957,5188,6.957,9072,6.472,20138,9.8,22124,10.345,22125,11.171,22126,11.171,22127,8.833,22128,12.252,22129,8.833,22130,8.18,22131,8.833,22132,6.774,22133,8.18,22134,8.833,22135,8.833,22136,11.171,22137,8.18,22138,8.833,22139,8.833,22140,11.171,22141,8.833,22142,7.749,22143,8.833,22144,8.833]],["title/classes/TestConnection.html",[0,0.24,22145,6.432]],["body/classes/TestConnection.html",[0,0.309,2,0.954,3,0.017,4,0.017,5,0.008,7,0.126,27,0.444,30,0.001,36,1.901,47,0.875,55,1.797,95,0.102,101,0.012,103,0.001,104,0.001,112,0.882,129,3.376,130,3.085,135,1.172,148,1.117,153,2.034,317,1.947,467,3.965,657,2.056,711,3.351,2848,7.87,6259,6.217,9556,7.954,22145,10.446,22146,12.34,22147,8.971,22148,12.34,22149,12.34,22150,8.971,22151,8.971,22152,9.158,22153,10.233,22154,8.971,22155,12.34,22156,8.971,22157,8.971,22158,8.971,22159,8.971]],["title/classes/TestHelper.html",[0,0.24,22160,6.432]],["body/classes/TestHelper.html",[0,0.294,2,0.907,3,0.016,4,0.016,5,0.011,7,0.12,27,0.43,30,0.001,31,0.613,47,0.775,95,0.138,101,0.011,103,0.001,104,0.001,112,0.854,129,3.271,130,2.988,135,1.756,148,1.082,159,0.876,339,2.503,467,3.914,711,3.246,1302,6.686,1304,4.852,2815,3.413,2894,4.071,6528,4.852,7102,5.721,7196,7.705,7197,5.302,7198,5.187,7199,7.328,11407,5.243,11926,7.232,11927,11.152,20542,7.486,22160,10.119,22161,12.056,22162,12.056,22163,12.056,22164,8.533,22165,8.533,22166,8.533,22167,8.533,22168,8.533,22169,8.533,22170,8.533,22171,8.533,22172,8.533]],["title/classes/TestXApiKeyClient.html",[0,0.24,22173,6.432]],["body/classes/TestXApiKeyClient.html",[0,0.189,2,0.583,3,0.01,4,0.01,5,0.005,7,0.077,8,0.93,10,3.235,27,0.508,29,0.954,30,0.001,31,0.697,32,0.161,33,0.572,35,1.405,47,1.017,55,1.913,59,2.965,95,0.092,101,0.007,103,0,104,0,112,0.63,122,1.68,129,2.859,130,2.612,135,1.658,145,3.009,148,1.201,185,2.768,228,2.129,277,0.791,339,2.801,414,6.697,433,0.676,652,2.824,711,3.77,756,2.168,1176,4.204,1603,11.479,1604,4.808,1606,10.29,1607,6.774,1611,7.754,1627,8.057,1628,10.29,1630,7.067,1631,4.808,1632,4.808,1633,4.808,1636,7.067,1637,10.29,1638,8.379,1639,10.29,1641,7.067,1642,4.808,1647,4.45,1650,7.067,1659,7.067,1660,7.152,1661,9.237,1662,4.808,1663,7.067,1664,4.808,1665,9.841,1666,7.067,1667,7.067,1668,4.808,1669,7.067,1670,7.067,1671,4.808,1672,4.808,3223,4.432,22103,7.46,22104,7.46,22106,7.46,22109,5.076,22113,8.845,22114,5.076,22117,5.076,22123,5.076,22173,7.46,22174,13.085,22175,8.056,22176,5.481,22177,5.481,22178,5.481,22179,5.481,22180,5.481,22181,5.481,22182,5.481,22183,5.481]],["title/injectables/TimeoutInterceptor.html",[589,0.929,14160,6.094]],["body/injectables/TimeoutInterceptor.html",[0,0.274,3,0.015,4,0.015,5,0.007,7,0.112,8,1.206,27,0.411,29,0.801,30,0.001,31,0.585,32,0.13,33,0.481,35,0.922,55,2.335,95,0.141,101,0.01,103,0.001,104,0.001,135,1.364,148,1.155,153,1.722,157,1.831,183,3.046,193,4.538,228,1.444,277,1.149,314,3.998,329,6.349,400,2.37,433,0.982,571,4.611,589,1.397,591,1.897,653,3.285,1056,5.127,1057,6.268,1058,6.103,1080,2.743,1237,2.346,1329,6.349,2312,7.653,2382,8.942,2869,6.645,2904,7.501,4307,8.731,4936,8.479,5340,9.672,7364,8.479,9693,9.163,9695,9.163,9696,10.86,9697,10.86,9699,9.163,9901,6.103,14160,9.163,18751,10.797,18758,7.369,18760,7.369,19159,8.783,22184,7.958,22185,10.445,22186,9.672,22187,7.958,22188,7.958,22189,7.958,22190,10.445,22191,11.659,22192,10.445,22193,7.958,22194,10.445,22195,7.958,22196,7.958,22197,7.958,22198,7.958]],["title/classes/TimestampsResponse.html",[0,0.24,3988,3.984]],["body/classes/TimestampsResponse.html",[0,0.316,2,0.973,3,0.017,4,0.017,5,0.008,7,0.129,27,0.514,29,0.702,30,0.001,31,0.513,32,0.163,33,0.573,83,3.985,95,0.105,101,0.012,103,0.001,104,0.001,112,0.893,190,2.235,201,4.836,202,2.103,296,3.506,430,5.519,433,1.41,460,5.565,821,4.661,3988,7.699,4004,9.463,11482,10.294,11543,7.433,22199,9.155,22200,9.155,22201,9.155,22202,9.155,22203,9.155,22204,9.155]],["title/injectables/TldrawBoardRepo.html",[589,0.929,22205,5.327]],["body/injectables/TldrawBoardRepo.html",[0,0.18,3,0.01,4,0.01,5,0.005,7,0.073,8,0.898,27,0.51,29,0.843,30,0.001,31,0.616,32,0.161,33,0.506,35,1.192,36,2.443,47,0.962,55,1.557,95,0.136,101,0.007,103,0,104,0,112,0.608,122,1.622,135,1.436,145,1.951,148,0.77,153,0.861,228,1.685,277,0.754,317,2.72,337,3.21,371,4.121,433,0.645,569,3.201,571,4.349,589,1.04,591,1.246,634,7.255,651,2.643,653,2.157,657,2.128,711,4.234,804,3.912,1072,5.584,1086,5.246,1087,5.083,1088,5.163,1089,5.139,1090,6.518,1091,8.016,1092,5.221,1100,4.241,1103,4.007,2087,2.26,2230,4.393,2477,3.176,3218,4.5,3635,4.115,5042,2.66,5167,8.65,8298,3.508,9556,7.252,10472,3.912,20264,3.752,22205,5.963,22206,13.108,22207,5.224,22208,9.286,22209,10.286,22210,9.286,22211,10.286,22212,7.2,22213,7.775,22214,7.2,22215,7.775,22216,4.393,22217,7.775,22218,7.2,22219,5.224,22220,7.775,22221,5.224,22222,7.2,22223,10.113,22224,8.351,22225,5.224,22226,7.775,22227,11.527,22228,9.024,22229,5.224,22230,5.224,22231,5.224,22232,5.224,22233,5.224,22234,9.286,22235,5.224,22236,5.224,22237,6.821,22238,5.224,22239,5.224,22240,4.583,22241,4.241,22242,5.224,22243,4.838,22244,4.583,22245,5.224,22246,5.224,22247,5.224,22248,7.775,22249,5.224,22250,4.393,22251,7.775,22252,5.224,22253,7.775,22254,5.224,22255,8.599,22256,5.224,22257,5.224,22258,4.838,22259,5.224,22260,7.775,22261,5.224,22262,7.775,22263,5.224,22264,5.224,22265,7.775,22266,5.224,22267,5.224,22268,5.224,22269,5.224,22270,5.224,22271,5.224,22272,5.224,22273,5.224]],["title/modules/TldrawClientModule.html",[252,1.835,22274,6.432]],["body/modules/TldrawClientModule.html",[0,0.332,3,0.018,4,0.018,5,0.009,30,0.001,95,0.146,101,0.013,103,0.001,104,0.001,252,3.367,254,3.471,255,3.676,256,3.77,257,3.756,258,3.742,259,4.635,260,4.39,265,6.407,269,4.613,270,3.702,271,3.625,276,4.613,277,1.391,610,3.798,1027,2.96,3863,11.253,9550,8.926,12196,8.456,22274,13.124,22275,9.639,22276,9.639,22277,9.639,22278,9.639]],["title/interfaces/TldrawConfig.html",[159,0.713,22241,5.639]],["body/interfaces/TldrawConfig.html",[3,0.015,4,0.015,5,0.007,7,0.113,30,0.001,32,0.172,47,1.02,55,2.846,95,0.091,101,0.015,103,0.001,104,0.001,112,0.82,122,2.882,135,1.62,159,0.822,161,1.901,2087,3.463,2218,3.575,2219,4.025,2220,3.884,2221,5.032,11971,10.145,11972,7.023,11973,10.145,20114,7.413,22241,10.073,22279,8.005,22280,12.88,22281,12.88,22282,12.88,22283,12.88,22284,12.88,22285,12.88,22286,12.88,22287,10.485,22288,8.005,22289,8.005,22290,8.005,22291,8.005,22292,8.005,22293,8.005,22294,8.005,22295,7.413,22296,8.005]],["title/controllers/TldrawController.html",[314,2.658,22297,6.094]],["body/controllers/TldrawController.html",[0,0.287,3,0.016,4,0.016,5,0.008,7,0.117,8,1.241,10,4.784,27,0.328,29,0.638,30,0.001,31,0.466,32,0.169,33,0.383,35,0.964,95,0.149,101,0.011,103,0.001,104,0.001,190,1.493,202,1.911,228,1.51,274,3.478,277,1.201,314,3.185,316,4.014,317,2.585,337,6.607,342,7.019,345,7.722,388,3.567,390,6.341,391,8.012,392,4.349,393,4.108,400,2.478,401,4.652,402,4.506,657,1.907,1351,7.22,2048,4.369,2667,6.403,2935,5.699,3134,8.246,3193,5.976,3197,6.23,3198,6.23,3201,7.019,3203,6.554,3222,5.587,3240,6.096,3241,6.23,7065,7.999,9556,5.866,22297,9.433,22298,8.32,22299,10.451,22300,9.957,22301,8.32,22302,11.047,22303,8.32,22304,8.32,22305,8.32,22306,9.672,22307,7.705,22308,8.32,22309,8.32,22310,8.32,22311,8.32,22312,8.32,22313,8.32]],["title/classes/TldrawDeleteParams.html",[0,0.24,22302,6.094]],["body/classes/TldrawDeleteParams.html",[0,0.414,2,1.055,3,0.019,4,0.019,5,0.009,7,0.14,27,0.391,30,0.001,31,0.673,32,0.124,47,0.851,95,0.137,101,0.013,103,0.001,104,0.001,112,0.939,157,2.284,190,1.781,194,4.696,195,2.626,196,3.971,197,3.338,200,3.04,202,2.279,296,3.136,299,4.679,308,7.272,335,7.946,3134,9.208,9556,9.101,22302,10.533,22314,9.925,22315,9.925]],["title/entities/TldrawDrawing.html",[205,1.418,22316,5.639]],["body/entities/TldrawDrawing.html",[0,0.253,3,0.014,4,0.014,5,0.007,7,0.103,27,0.508,30,0.001,31,0.412,32,0.161,33,0.552,47,0.995,49,4.214,55,2.401,95,0.128,96,2.622,97,3.009,101,0.013,103,0,104,0,112,0.774,130,3.279,153,1.211,159,0.755,190,2.314,195,2.623,196,4.14,197,3.585,205,2.022,206,2.395,211,6.943,223,4.003,224,2.144,229,2.906,232,1.99,277,1.06,579,2.123,789,6.546,1197,6.497,1675,4.419,2048,2.985,2549,9.421,2934,4.252,5710,6.184,6715,5.501,8109,5.501,8175,5.786,9556,8.454,10037,5.964,22250,6.177,22316,8.04,22317,12.206,22318,6.803,22319,11.104,22320,7.346,22321,7.346,22322,7.346,22323,7.346,22324,7.346,22325,7.346,22326,8.688,22327,9.171,22328,6.803,22329,6.803,22330,9.171,22331,6.803,22332,9.171,22333,6.803]],["title/interfaces/TldrawDrawingProps.html",[159,0.713,22326,6.094]],["body/interfaces/TldrawDrawingProps.html",[0,0.266,3,0.015,4,0.015,5,0.007,7,0.109,30,0.001,31,0.433,32,0.163,33,0.602,47,1.025,49,3.853,55,2.55,95,0.131,96,2.713,97,3.165,101,0.013,103,0,104,0,112,0.801,130,3.482,153,1.274,159,0.794,161,1.835,195,2.241,196,4.211,197,3.195,205,2.092,223,4.062,224,2.255,229,3.057,232,2.094,277,1.115,579,2.233,789,6.952,1197,6.899,1675,4.649,2048,3.14,2549,8.615,2934,4.473,5710,6.567,6715,5.787,8109,5.787,8175,6.087,9556,8.977,10037,6.274,22250,6.498,22316,6.274,22317,7.156,22318,7.156,22319,11.791,22326,10.082,22327,9.487,22328,7.156,22329,7.156,22330,9.487,22331,7.156,22332,9.487,22333,7.156]],["title/modules/TldrawModule.html",[252,1.835,22334,6.432]],["body/modules/TldrawModule.html",[0,0.238,3,0.013,4,0.013,5,0.006,30,0.001,32,0.086,47,0.49,87,3.477,95,0.161,96,2.517,101,0.009,103,0,104,0,135,0.903,153,1.14,206,3.099,224,2.018,252,2.869,254,2.491,255,2.638,256,2.705,257,2.695,258,2.685,259,3.949,260,2.574,269,3.718,270,2.656,271,2.601,274,3.973,276,3.718,277,0.998,290,1.635,347,3.544,571,2.735,623,4.514,651,3.499,736,4.721,809,4.514,1014,4.793,1015,4.715,1021,4.456,1022,6.587,1024,6.587,1025,4.456,1026,4.347,1027,2.124,1031,8.93,1036,6.827,1040,4.793,1041,4.715,1086,3.3,1087,3.197,1088,3.247,1089,3.456,1166,4.577,1167,4.249,1484,8.505,1856,7.266,2087,4.111,2449,5.294,2624,3.394,2666,3.197,2845,4.456,2935,3.666,7344,8.16,9890,4.204,11968,4.456,12128,5.615,12277,6.964,12278,6.964,12279,7.118,12281,5.304,12290,5.067,12291,5.067,12516,8.802,22205,9.714,22297,9.528,22306,10.283,22307,6.404,22316,7.717,22334,13.275,22335,6.916,22336,6.916,22337,6.916,22338,10.651,22339,6.916,22340,6.916,22341,6.404]],["title/injectables/TldrawRepo.html",[589,0.929,22338,5.841]],["body/injectables/TldrawRepo.html",[0,0.286,3,0.016,4,0.016,5,0.008,7,0.116,8,1.238,10,4.306,27,0.495,29,0.964,30,0.001,31,0.705,32,0.157,33,0.578,35,1.378,36,2.827,47,0.843,95,0.136,96,2.194,97,3.394,101,0.011,103,0.001,104,0.001,148,0.821,205,2.189,206,2.702,228,1.504,277,1.196,317,3.017,400,2.467,433,1.022,589,1.434,591,1.976,657,2.458,734,4.501,759,6.386,2447,6.071,2448,7.03,2452,7.857,9556,7.561,22316,11.385,22338,9.018,22342,8.286,22343,10.724,22344,8.286,22345,8.286,22346,10.724,22347,8.286,22348,10.724,22349,8.286,22350,8.286,22351,8.286,22352,8.286]],["title/injectables/TldrawService.html",[589,0.929,22306,5.639]],["body/injectables/TldrawService.html",[0,0.328,3,0.018,4,0.018,5,0.009,7,0.134,8,1.35,27,0.46,29,0.897,30,0.001,31,0.655,32,0.146,33,0.538,35,1.101,36,2.477,47,0.898,95,0.133,101,0.012,103,0.001,104,0.001,135,1.241,228,1.724,277,1.371,317,2.748,400,2.829,433,1.172,589,1.563,591,2.265,657,2.68,9556,6.699,22250,7.99,22300,10.827,22306,9.492,22338,11.616,22341,8.799,22353,9.502,22354,9.502,22355,9.502,22356,11.692,22357,9.502,22358,9.502,22359,9.502]],["title/modules/TldrawTestModule.html",[252,1.835,22360,6.432]],["body/modules/TldrawTestModule.html",[0,0.243,3,0.013,4,0.013,5,0.006,8,0.814,27,0.278,29,0.541,30,0.001,31,0.395,32,0.088,33,0.324,35,0.817,59,2.188,95,0.158,101,0.009,103,0,104,0,135,1.258,148,0.698,206,2.299,252,3.114,254,2.539,255,2.689,256,2.757,257,2.747,258,2.737,259,4.488,260,2.624,265,5.889,269,3.767,270,2.708,271,2.651,276,4.827,277,1.018,290,2.277,314,2.698,467,2.804,478,1.974,540,3.381,610,2.778,1016,6.979,1027,2.165,1028,8.169,1029,8.287,1034,5.407,1043,6.674,1045,6.286,1048,4.885,1480,10.035,1484,8.555,1856,7.308,2032,3.66,2624,3.46,2666,3.259,5170,4.97,7344,8.208,11968,4.542,12128,5.723,12326,5.723,22205,9.771,22299,6.185,22360,13.396,22361,7.049,22362,7.049,22363,7.049,22364,11.177,22365,9.771,22366,8.449,22367,7.049,22368,7.049,22369,7.049,22370,7.818]],["title/classes/TldrawWs.html",[0,0.24,22370,5.639]],["body/classes/TldrawWs.html",[0,0.236,2,0.726,3,0.013,4,0.013,5,0.006,7,0.096,8,1.088,27,0.481,29,0.828,30,0.001,31,0.652,32,0.145,33,0.497,35,1.251,47,0.668,95,0.144,101,0.009,103,0,104,0,110,2.363,112,0.737,134,2.414,135,1.231,145,2.552,148,0.677,190,1.226,193,5.881,228,1.711,317,2.046,371,3.622,433,1.163,528,3.457,569,3.621,571,2.703,610,2.693,634,7.304,651,3.457,652,2.492,657,2.161,711,3.748,1086,3.26,1087,3.159,1088,3.208,1089,3.414,1090,5.147,1091,6.33,1092,4.589,1237,2.779,2087,2.956,2163,5.833,2684,2.216,2815,2.734,5380,5.241,7065,6.33,9556,8.203,18335,5.746,21604,5.241,22152,9.446,22153,5.241,22216,5.746,22223,8.27,22241,5.548,22255,6.328,22295,6.328,22299,5.995,22365,9.919,22370,7.653,22371,6.834,22372,10.792,22373,10.792,22374,11.635,22375,9.427,22376,9.427,22377,9.427,22378,10.792,22379,6.834,22380,9.427,22381,6.834,22382,9.427,22383,6.834,22384,6.834,22385,6.328,22386,6.834,22387,6.834,22388,6.834,22389,6.834,22390,6.834,22391,6.834,22392,6.834,22393,6.834,22394,6.834,22395,6.834,22396,6.834,22397,6.834,22398,6.834,22399,6.834,22400,9.427,22401,6.834,22402,6.834]],["title/classes/TldrawWsFactory.html",[0,0.24,22403,6.432]],["body/classes/TldrawWsFactory.html",[0,0.319,2,0.982,3,0.018,4,0.018,5,0.009,7,0.13,8,1.327,27,0.453,29,0.709,30,0.001,31,0.518,32,0.115,33,0.425,35,1.332,55,2.505,95,0.131,101,0.012,103,0.001,104,0.001,148,1.138,153,1.523,467,3.994,711,3.413,2782,5.044,18334,7.501,20264,6.636,22152,10.623,22153,7.086,22224,10.623,22244,8.106,22403,10.641,22404,9.239,22405,11.491,22406,13.085,22407,11.491,22408,9.239,22409,11.491,22410,9.239,22411,9.239,22412,8.556,22413,8.556]],["title/modules/TldrawWsModule.html",[252,1.835,22364,6.094]],["body/modules/TldrawWsModule.html",[0,0.3,3,0.017,4,0.017,5,0.008,30,0.001,95,0.16,101,0.011,103,0.001,104,0.001,252,3.214,254,3.133,255,3.318,256,3.402,257,3.39,258,3.378,259,4.424,260,3.238,269,4.327,270,3.341,271,3.272,276,4.327,277,1.256,314,3.329,610,3.428,651,4.401,1021,5.604,1025,5.604,1026,5.468,1027,2.672,2087,4.785,2449,5.647,2624,4.269,7344,8.705,11968,5.604,12281,6.672,22205,10.363,22364,12.548,22365,10.363,22366,7.632,22370,8.982,22414,8.699,22415,8.699,22416,8.699,22417,8.699]],["title/injectables/TldrawWsService.html",[589,0.929,22365,5.327]],["body/injectables/TldrawWsService.html",[0,0.113,3,0.006,4,0.006,5,0.003,7,0.046,8,0.624,27,0.468,29,0.855,30,0.001,31,0.677,32,0.15,33,0.513,35,1.255,36,1.689,47,0.842,55,1.082,95,0.127,101,0.004,103,0,104,0,112,0.422,122,0.686,125,0.784,129,2.637,130,2.18,134,1.161,135,1.524,142,3.952,145,2.019,148,0.938,153,1.562,157,0.756,195,1.927,197,0.914,228,0.981,277,0.474,289,1.902,317,2.056,388,5.004,433,0.667,533,2.885,567,2.054,569,3.632,579,0.95,589,0.723,591,0.784,629,4.197,634,5.483,640,2.02,651,1.663,652,1.103,657,1.239,711,4.066,734,2.268,756,2.138,813,1.838,985,1.902,1080,1.133,1115,4.548,1296,5.788,1328,4.67,1329,5.355,1393,3.1,1563,2.118,2037,2.118,2087,1.422,2162,6.115,2455,3.219,2505,3.358,2624,1.613,2630,2.241,2782,3.758,3218,3.984,3814,2.589,4230,2.461,4889,4.622,4924,2.521,4973,4.545,5106,2.907,5909,4.555,6134,3.187,7154,3.577,7359,3.745,7746,2.317,7988,6.28,8298,3.629,9556,7.638,10341,3.044,11991,2.521,12433,4.047,14857,2.668,18334,2.668,20264,2.361,21604,2.521,22152,10.057,22153,8.95,22205,7.679,22212,5.005,22214,5.005,22216,2.764,22218,5.005,22222,5.005,22223,6.995,22224,10.591,22228,10.027,22237,11.444,22241,2.668,22243,3.044,22244,2.884,22365,4.145,22413,3.044,22418,3.287,22419,6.373,22420,6.883,22421,6.883,22422,5.405,22423,5.405,22424,5.405,22425,5.405,22426,5.405,22427,5.405,22428,5.405,22429,5.405,22430,3.287,22431,3.287,22432,5.405,22433,9.271,22434,3.287,22435,7.973,22436,5.405,22437,5.405,22438,3.287,22439,11.882,22440,5.405,22441,3.287,22442,5.405,22443,9.474,22444,3.287,22445,5.405,22446,5.405,22447,3.287,22448,3.287,22449,5.405,22450,3.287,22451,3.287,22452,3.287,22453,3.287,22454,3.044,22455,3.287,22456,3.044,22457,3.287,22458,3.044,22459,3.287,22460,3.287,22461,3.287,22462,3.287,22463,3.287,22464,3.044,22465,5.405,22466,3.287,22467,7.973,22468,5.405,22469,3.287,22470,3.287,22471,3.287,22472,3.287,22473,3.287,22474,3.287,22475,3.287,22476,3.287,22477,3.287,22478,3.287,22479,3.287,22480,3.287,22481,5.405,22482,3.287,22483,3.287,22484,9.474,22485,3.287,22486,8.773,22487,6.373,22488,7.383,22489,7.973,22490,3.287,22491,7.383,22492,3.287,22493,7.973,22494,3.287,22495,3.287,22496,3.287,22497,3.287,22498,3.287,22499,3.287,22500,3.287,22501,5.405,22502,3.287,22503,3.287,22504,6.883,22505,3.287,22506,5.005,22507,3.287,22508,3.287,22509,3.287,22510,3.287,22511,3.287,22512,3.287,22513,3.287,22514,3.287,22515,3.287,22516,3.287,22517,3.287,22518,3.287,22519,3.287,22520,7.973,22521,3.287,22522,3.287,22523,6.883,22524,3.287,22525,6.883,22526,3.287,22527,3.287,22528,3.287,22529,3.287,22530,3.287,22531,3.287,22532,3.044,22533,3.287,22534,3.287,22535,3.287,22536,3.287]],["title/modules/TldrawWsTestModule.html",[252,1.835,22537,6.432]],["body/modules/TldrawWsTestModule.html",[0,0.277,3,0.015,4,0.015,5,0.007,8,0.926,27,0.316,29,0.615,30,0.001,31,0.45,32,0.1,33,0.369,35,0.929,59,2.49,95,0.158,101,0.011,103,0.001,104,0.001,135,1.371,148,0.794,252,3.28,254,2.889,255,3.059,256,3.137,257,3.126,258,3.114,259,4.687,260,2.986,269,4.107,270,3.081,271,3.017,276,5.041,277,1.158,314,3.07,467,3.057,540,3.686,610,3.161,651,4.058,1016,7.446,1021,5.168,1025,5.168,1026,5.042,1028,8.605,1029,5.386,1043,5.558,1045,6.854,1048,5.558,2087,4.541,2624,3.937,5170,5.655,7344,8.518,11968,5.168,12281,6.152,12326,6.512,22153,8.052,22205,10.141,22365,10.141,22366,9.211,22370,8.524,22537,13.011,22538,8.021,22539,8.021,22540,8.021,22541,8.021]],["title/injectables/ToggleUserLoginMigrationUc.html",[589,0.929,22542,5.841]],["body/injectables/ToggleUserLoginMigrationUc.html",[0,0.231,3,0.013,4,0.013,5,0.006,7,0.094,8,1.072,26,2.65,27,0.42,29,0.818,30,0.001,31,0.598,32,0.133,33,0.491,35,1.076,36,2.442,39,2.569,47,0.889,95,0.154,99,1.37,101,0.009,103,0,104,0,122,2.225,135,1.393,142,2.439,148,0.662,153,1.102,180,5.596,183,3.554,228,2.092,277,0.965,290,3.04,317,2.72,433,1.146,478,1.872,579,1.932,589,1.242,591,1.594,595,2.523,610,2.634,652,2.625,657,2.776,693,3.044,703,3.311,1027,2.053,1422,2.738,1775,5.109,1780,4.064,1853,2.186,1862,6.863,1961,4.022,1967,6.803,2065,7.628,2067,7.393,2069,3.981,2070,5.476,2449,5.373,2656,7.121,2666,3.09,2671,4.899,2680,5.127,4557,4.588,4938,5.275,4940,5.428,4942,5.428,4943,9.184,4950,5.907,4951,5.266,4952,7.245,4953,5.428,4954,5.865,4956,5.622,5380,9.288,18797,6.191,20568,5.865,20570,5.865,22542,7.808,22543,11.526,22544,8.146,22545,6.686,22546,6.686,22547,9.285,22548,5.865,22549,6.686,22550,6.191,22551,6.686]],["title/injectables/TokenGenerator.html",[589,0.929,20416,5.639]],["body/injectables/TokenGenerator.html",[0,0.346,3,0.019,4,0.019,5,0.009,7,0.141,8,1.394,27,0.395,30,0.001,35,1.162,95,0.148,101,0.013,103,0.001,104,0.001,135,1.309,148,0.993,176,6.11,277,1.447,589,1.615,591,2.39,13481,10.596,16285,6.731,16286,6.634,17864,9.282,20250,10.211,20416,9.806,22552,12.078,22553,13.458,22554,10.024,22555,10.024]],["title/classes/TokenRequestLoggableException.html",[0,0.24,16945,6.094]],["body/classes/TokenRequestLoggableException.html",[0,0.333,2,1.027,3,0.018,4,0.018,5,0.009,7,0.136,8,1.364,27,0.465,29,0.741,30,0.001,31,0.542,32,0.12,33,0.445,35,1.12,95,0.135,101,0.013,103,0.001,104,0.001,193,5.132,231,2.05,433,1.192,436,2.87,1080,3.33,1422,4.837,1423,4.56,1426,5.726,1462,5.316,1465,6.695,1468,4.56,1469,4.798,2081,11.176,2083,6.394,2095,11.176,9816,10.363,13384,8.947,13385,8.947,13386,8.947,16945,10.363,22556,11.812,22557,9.662]],["title/classes/TokenRequestMapper.html",[0,0.24,16841,6.094]],["body/classes/TokenRequestMapper.html",[0,0.291,2,0.897,3,0.016,4,0.016,5,0.008,7,0.119,8,1.253,27,0.428,29,0.832,30,0.001,31,0.608,32,0.135,33,0.499,35,1.258,47,1.01,95,0.137,101,0.011,103,0.001,104,0.001,148,1.075,153,1.789,159,0.867,173,5.588,467,3.903,871,3.091,998,5.976,1491,10.28,1493,6.854,1495,6.064,1496,6.854,1497,7.407,1498,7.407,1502,7.818,1505,7.818,1506,7.1,1507,6.475,1605,5.757,6325,6.031,6807,6.65,13412,9.482,13543,7.78,16841,9.522,16843,10.28,16870,11.725,16876,7.818,22558,11.996,22559,11.996,22560,10.854,22561,8.443,22562,8.443,22563,10.854,22564,8.443,22565,8.443,22566,8.443,22567,8.443,22568,8.443]],["title/classes/TooManyPseudonymsLoggableException.html",[0,0.24,22569,6.432]],["body/classes/TooManyPseudonymsLoggableException.html",[0,0.244,2,0.753,3,0.013,4,0.013,5,0.007,7,0.1,8,1.116,27,0.524,29,0.543,30,0.001,31,0.397,32,0.172,33,0.506,35,1.12,47,0.905,55,1.419,95,0.135,101,0.009,103,0,104,0,112,0.756,148,0.702,155,3.747,190,2.219,228,2.497,231,1.678,233,2.212,277,1.023,339,2.079,347,5.636,393,3.499,400,2.11,402,2.536,433,0.874,436,3.79,868,5.668,871,2.594,998,5.191,1078,3.107,1080,4.072,1115,4.522,1237,2.849,1354,8.473,1355,6.309,1356,7.18,1360,4.69,1361,4.065,1362,4.69,1363,4.69,1364,4.69,1365,4.69,1366,4.69,1367,4.354,1368,3.996,1374,4.566,1375,5.435,1422,4.505,1423,5.191,1426,5.302,1462,3.899,1468,5.191,1469,5.463,1477,3.68,1478,3.84,10500,6.425,10506,7.386,10507,5.753,12370,5.582,12371,5.753,15588,10.051,22569,8.95,22570,10.999,22571,10.999,22572,7.087,22573,6.563,22574,7.087,22575,9.665]],["title/modules/ToolApiModule.html",[252,1.835,20181,5.841]],["body/modules/ToolApiModule.html",[0,0.19,3,0.01,4,0.01,5,0.005,30,0.001,95,0.162,101,0.007,103,0,104,0,183,3.67,252,2.533,254,1.987,255,2.105,256,2.159,257,2.151,258,2.143,259,3.487,260,2.054,265,5.435,269,3.167,270,2.12,271,2.075,273,3.469,274,3.384,276,3.167,277,0.797,279,2.316,614,3.991,693,2.513,703,3.279,1027,1.695,1756,3.166,1856,6.744,1931,8.804,1933,9.017,2050,2.326,2069,3.286,2666,2.551,2684,3.109,3299,3.138,3858,7.305,3868,2.905,3874,3.602,5037,8.615,5732,3.224,6028,8.804,6033,7.895,6779,8.804,6786,4.347,6947,3.429,6966,9.887,6975,8.804,6989,4.347,8920,8.29,10052,9.545,10113,9.887,10700,9.887,10824,9.545,10990,9.887,19763,9.887,19777,9.887,19835,9.887,20181,12.326,22576,5.519,22577,5.519,22578,5.519,22579,9.887,22580,9.887,22581,8.413,22582,8.413,22583,8.413,22584,8.413,22585,8.413,22586,8.413,22587,9.589,22588,4.48,22589,5.519,22590,9.589,22591,8.096,22592,5.11,22593,5.519,22594,5.519,22595,5.519]],["title/modules/ToolConfigModule.html",[252,1.835,6779,5.201]],["body/modules/ToolConfigModule.html",[0,0.359,3,0.02,4,0.02,5,0.01,30,0.001,95,0.141,101,0.014,103,0.001,104,0.001,252,3.264,254,3.75,259,3.787,260,3.876,277,1.503,685,6.083,1267,7.479,1756,5.974,2087,4.504,2684,3.377,6779,9.253,10064,9.655,13626,8.757,22596,10.414,22597,10.414]],["title/classes/ToolConfiguration.html",[0,0.24,13626,5.841]],["body/classes/ToolConfiguration.html",[0,0.291,2,0.897,3,0.016,4,0.016,5,0.008,7,0.119,27,0.333,30,0.001,32,0.105,47,0.85,55,2.402,80,8.983,95,0.096,101,0.016,103,0.001,104,0.001,112,0.849,122,2.971,129,3.248,130,2.309,135,1.103,159,0.867,311,5.511,467,3.492,1756,6.226,1829,5.099,1940,7.831,2218,3.771,2219,4.245,2220,4.096,4228,4.932,6059,10.088,7626,7.54,8670,8.983,10062,8.79,10064,9.278,10326,10.524,10359,10.524,12361,8.458,13621,11.109,13622,11.109,13623,11.109,13624,11.109,13625,7.818,13626,9.127,13627,10.051,13628,10.051,13629,10.051,13630,10.051,13631,10.051,13632,10.051,17015,7.818]],["title/controllers/ToolConfigurationController.html",[314,2.658,22582,6.094]],["body/controllers/ToolConfigurationController.html",[0,0.154,3,0.008,4,0.008,5,0.004,7,0.063,8,0.798,27,0.405,29,0.788,30,0.001,31,0.576,32,0.163,33,0.473,35,1.19,36,2.597,95,0.133,100,1.561,101,0.006,103,0,104,0,134,3.629,135,1.601,148,1.017,157,2.364,183,4.775,190,1.843,202,1.027,228,0.812,274,1.87,277,0.646,314,1.712,316,2.158,317,2.843,325,6.562,326,4.813,329,5.775,349,6.669,374,4.696,388,4.404,390,6.403,392,2.338,395,2.406,398,2.424,400,1.332,401,5.743,614,3.91,657,2.354,703,3.513,711,3.891,1167,7.53,1882,1.706,2034,3.833,2035,2.195,2218,5.222,2554,7.96,2682,4.919,2684,3.791,2762,4.195,2897,5.715,3017,2.111,3221,2.307,4046,6.178,4834,7.094,6689,7.99,6691,7.713,6750,7.583,6767,7.287,7038,8.335,8016,3.431,10060,6.064,10069,7.103,10079,6.064,10111,3.762,10113,7.103,10118,7.821,10119,7.821,12016,10.054,14757,4.142,15582,7.99,18153,7.955,18154,7.103,18155,6.189,19672,7.99,19674,7.713,19692,7.484,19895,7.484,22582,6.064,22588,8.814,22598,8.446,22599,8.446,22600,4.473,22601,6.912,22602,6.912,22603,4.142,22604,4.473,22605,4.473,22606,6.912,22607,4.473,22608,4.473,22609,4.473,22610,8.798,22611,6.912,22612,6.912,22613,6.912,22614,4.473,22615,4.473,22616,6.912,22617,6.912,22618,4.473,22619,4.473,22620,4.473,22621,4.473,22622,7.99,22623,4.473,22624,7.287,22625,3.925,22626,4.473,22627,4.473,22628,3.524,22629,4.142,22630,4.473,22631,4.473,22632,4.473,22633,4.473,22634,4.473,22635,4.142,22636,4.473,22637,4.473,22638,3.925,22639,3.925,22640,4.473,22641,4.473,22642,4.142,22643,4.473,22644,4.473,22645,3.762,22646,4.473]],["title/classes/ToolConfigurationMapper.html",[0,0.24,22625,6.094]],["body/classes/ToolConfigurationMapper.html",[0,0.219,2,0.675,3,0.012,4,0.012,5,0.006,7,0.089,8,1.034,27,0.468,29,0.972,30,0.001,31,0.71,32,0.148,33,0.547,35,1.377,95,0.136,101,0.008,103,0,104,0,135,1.69,148,1.177,153,1.959,467,4.047,614,1.96,837,3.134,1882,2.421,2004,3.365,2034,6.249,2035,3.115,2682,5.587,2684,3.364,2762,6.622,3017,2.996,3998,4.262,4834,7.489,5710,4.618,6689,8.724,6691,9.646,6695,6.313,6696,5.136,6697,4.559,10068,7.269,10069,10.655,10094,5.153,10108,7.529,10111,5.338,10154,7.269,10336,6.431,10458,6.867,10824,5.153,10848,7.855,19672,8.724,19674,9.646,22622,8.724,22625,7.855,22647,11.417,22648,6.347,22649,10.374,22650,10.374,22651,10.374,22652,10.374,22653,8.954,22654,6.347,22655,6.347,22656,8.954,22657,6.347,22658,6.347,22659,10.374,22660,6.347,22661,6.347,22662,6.347,22663,6.347,22664,8.954,22665,6.347,22666,8.954,22667,8.292,22668,6.347,22669,6.347,22670,6.347,22671,6.347,22672,6.347,22673,6.347,22674,8.954,22675,6.347]],["title/controllers/ToolContextController.html",[314,2.658,22584,6.094]],["body/controllers/ToolContextController.html",[0,0.149,3,0.008,4,0.008,5,0.004,7,0.061,8,0.778,10,1.74,27,0.399,29,0.776,30,0.001,31,0.567,32,0.162,33,0.466,34,2.032,35,1.434,36,2.574,95,0.139,100,1.512,101,0.006,103,0,104,0,135,1.616,148,0.925,153,0.714,157,2.466,183,3.575,190,1.816,193,2.93,202,0.995,228,1.224,274,1.811,277,0.625,290,1.957,314,1.659,316,2.091,317,2.825,325,6.524,326,4.776,328,5.05,329,7.032,335,2.868,337,4.143,338,5.086,339,1.978,340,4.344,349,6.687,356,4.528,360,3.834,374,4.04,379,6.05,385,6.369,388,4.339,390,6.32,391,4.143,392,2.265,393,2.139,395,2.33,398,2.348,400,1.29,401,5.659,402,1.551,403,2.192,614,3.669,652,0.885,657,2.32,675,2.206,871,4.235,1027,1.331,1368,2.443,1882,1.653,2005,7.268,2342,4.843,2449,1.811,2450,3.166,2505,5.143,2684,1.405,3017,2.045,3221,2.235,3222,2.91,3223,3.71,4046,6.73,4131,4.843,4370,2.792,5452,2.581,6638,6.203,6717,7.855,6720,2.792,6750,4.099,6767,9.317,6788,9.408,6805,3.802,6812,7.262,6816,3.802,6817,3.175,6827,9.648,6839,3.323,6848,3.644,6919,7.262,6923,7.262,6953,8.025,6966,6.961,6969,7.666,6971,7.666,6972,7.666,6973,7.666,6999,4.013,7003,4.013,8016,5.172,10284,3.413,18153,7.852,18155,7.852,21054,3.644,22584,5.916,22588,8.7,22624,7.164,22628,3.413,22638,5.916,22639,5.916,22645,7.855,22667,4.013,22676,4.333,22677,4.333,22678,4.333,22679,3.802,22680,4.333,22681,3.802,22682,4.333,22683,4.333,22684,4.333,22685,4.333,22686,4.333,22687,4.333,22688,4.333,22689,4.333,22690,6.743,22691,4.333,22692,4.333,22693,4.333,22694,4.333,22695,4.333,22696,4.333,22697,4.333,22698,4.333,22699,4.333,22700,5.916,22701,6.245,22702,6.961,22703,4.333,22704,6.743,22705,4.333,22706,4.333,22707,4.333,22708,4.333,22709,4.333,22710,4.333,22711,4.333,22712,4.013,22713,4.333,22714,4.333,22715,4.333,22716,4.333,22717,4.333,22718,4.333,22719,4.333,22720,4.333]],["title/classes/ToolContextMapper.html",[0,0.24,10399,5.639]],["body/classes/ToolContextMapper.html",[0,0.341,2,1.052,3,0.019,4,0.019,5,0.009,7,0.139,27,0.39,30,0.001,32,0.123,95,0.137,101,0.013,103,0.001,104,0.001,112,0.937,129,2.963,130,2.707,183,3.789,467,3.754,614,3.057,886,3.114,1078,5.256,2034,5.491,2039,8.61,2042,10.517,6739,7.593,6748,6.151,10399,9.733,10405,10.517,10406,10.517,22721,11.101,22722,9.9,22723,12.895,22724,9.9]],["title/classes/ToolContextTypesListResponse.html",[0,0.24,22622,5.841]],["body/classes/ToolContextTypesListResponse.html",[0,0.322,2,0.994,3,0.018,4,0.018,5,0.009,7,0.131,27,0.456,29,0.717,30,0.001,31,0.524,32,0.144,33,0.43,95,0.132,101,0.012,103,0.001,104,0.001,112,0.905,134,4.442,183,4.812,190,1.677,195,2.532,202,2.147,296,3.023,339,3.961,433,1.153,861,6.477,864,6.639,881,5.103,886,2.94,2034,7.93,2035,4.587,2682,5.697,3181,5.566,3182,5.405,6273,6.699,6692,8.876,22622,9.732,22725,12.572]],["title/controllers/ToolController.html",[314,2.658,22586,6.094]],["body/controllers/ToolController.html",[0,0.118,3,0.007,4,0.007,5,0.003,7,0.048,8,0.647,10,1.38,27,0.402,29,0.783,30,0.001,31,0.572,32,0.162,33,0.47,34,1.82,35,1.343,36,2.68,95,0.143,100,1.199,101,0.005,103,0,104,0,131,4.169,135,1.652,148,0.958,153,0.566,157,2.768,190,1.831,193,3.558,202,0.789,228,1.486,274,1.436,277,0.496,290,2.74,298,1.486,314,1.315,316,1.658,317,2.835,325,6.394,326,4.64,328,4.197,329,3.407,335,2.274,337,5.031,338,5.542,339,2.402,340,5.275,347,2.872,349,6.554,356,3.763,360,4.656,365,4.321,371,2.971,374,2.424,379,3.613,385,6.958,388,3.867,390,6.276,391,4.361,392,1.796,393,1.696,395,1.848,398,1.862,401,5.706,402,2.005,403,2.835,433,0.424,533,4.372,540,1.968,595,1.297,610,1.354,614,3.286,652,1.672,657,2.217,675,1.749,869,2.751,871,3.542,883,5.773,1027,1.055,1368,1.937,1853,1.124,1882,1.31,2342,4.025,2449,1.436,2450,2.631,2487,4.227,2505,5.088,2682,4.822,2684,3.833,2762,6.34,3017,1.622,3221,1.772,3222,2.307,3223,3.084,4046,5.82,4131,2.468,4331,3.444,4834,6.159,5833,2.468,6656,2.468,6750,5.483,7525,4.926,7527,5.97,7529,2.067,7811,3.444,8243,5.97,10068,4.55,10123,5.315,10174,6.886,10270,10.98,10271,5.968,10277,3.182,10284,6.45,10315,3.182,10366,5.59,10377,2.889,10383,5.762,10579,4.298,10700,4.713,10713,4.917,10715,6.886,10739,6.886,10741,5.762,10744,6.886,10746,4.917,10803,8.639,10824,2.79,10871,6.886,10881,6.227,10882,6.227,10886,6.227,10990,5.968,10992,6.573,10993,6.573,10994,6.227,12696,3.014,12697,3.014,13877,3.014,13882,4.713,18153,6.609,18154,4.713,18155,7.477,21054,2.889,22586,4.917,22624,6.28,22628,2.706,22679,3.014,22681,4.917,22700,4.917,22702,4.713,22726,3.436,22727,3.436,22728,5.604,22729,3.436,22730,9.675,22731,3.436,22732,3.436,22733,3.436,22734,3.436,22735,3.182,22736,7.42,22737,3.436,22738,3.436,22739,3.436,22740,3.436,22741,3.182,22742,3.436,22743,3.436,22744,3.436,22745,3.436,22746,3.436,22747,3.436,22748,3.436,22749,5.19,22750,3.436,22751,3.436,22752,3.182,22753,3.436,22754,3.436,22755,3.436,22756,3.436,22757,3.436,22758,3.436,22759,3.436,22760,3.436,22761,3.436,22762,3.436,22763,3.436,22764,3.436,22765,5.604,22766,5.19,22767,3.436,22768,3.436,22769,3.436,22770,3.436,22771,3.436,22772,3.436,22773,3.436,22774,3.436,22775,9.675,22776,3.436,22777,3.436,22778,3.436,22779,3.436,22780,3.436,22781,3.436,22782,3.436,22783,3.436,22784,3.436,22785,3.436,22786,3.436,22787,3.436,22788,3.014,22789,3.436,22790,3.436,22791,3.436,22792,3.436,22793,3.436]],["title/controllers/ToolLaunchController.html",[314,2.658,22581,6.094]],["body/controllers/ToolLaunchController.html",[0,0.264,3,0.015,4,0.015,5,0.007,7,0.108,8,1.175,27,0.301,29,0.587,30,0.001,31,0.429,32,0.143,33,0.352,34,1.309,35,0.887,36,2.157,95,0.152,100,2.671,101,0.01,103,0,104,0,134,2.704,135,1.329,148,0.758,157,2.806,183,3.896,190,1.374,193,5.297,202,1.758,228,1.389,274,3.199,277,1.105,314,2.93,316,3.693,317,2.482,325,6.055,326,4.347,349,6.206,388,4.365,390,6.003,392,4.001,395,4.116,398,4.147,400,2.279,401,4.28,614,3.143,657,1.754,675,3.897,871,3.726,1756,5.839,2684,4.232,2741,9.602,2774,8.381,2786,8.312,3017,3.613,3221,3.948,4046,4.604,6685,8.264,6750,6.953,12379,6.214,18153,7.459,18155,7.459,22579,9.618,22581,8.931,22592,9.427,22624,7.807,22628,6.029,22629,7.088,22645,6.437,22794,7.654,22795,10.592,22796,7.654,22797,7.654,22798,7.654,22799,7.654,22800,7.654,22801,7.654,22802,8.931,22803,7.654,22804,9.427,22805,6.437,22806,9.618,22807,7.654,22808,7.654,22809,7.654,22810,7.654]],["title/classes/ToolLaunchData.html",[0,0.24,2764,5.327]],["body/classes/ToolLaunchData.html",[0,0.301,2,0.929,3,0.017,4,0.017,5,0.008,7,0.123,27,0.521,29,0.67,30,0.001,31,0.49,32,0.175,33,0.402,47,0.786,95,0.127,101,0.011,103,0.001,104,0.001,112,1.035,122,2.314,223,2.712,232,3.006,339,3.254,433,1.078,435,2.967,1756,7.759,2108,3.813,2332,6.816,2684,2.833,2693,6.275,2702,6.16,2744,9.897,2764,10.152,2786,9.37,4695,5.311,8061,7.333,8096,6.16,8097,6.542,18038,8.091,22811,12.526,22812,11.094,22813,8.737,22814,8.737,22815,11.288,22816,8.737,22817,8.737,22818,8.737]],["title/classes/ToolLaunchMapper.html",[0,0.24,22805,5.841]],["body/classes/ToolLaunchMapper.html",[0,0.246,2,0.759,3,0.014,4,0.014,5,0.007,7,0.1,8,1.121,27,0.467,29,0.909,30,0.001,31,0.664,32,0.148,33,0.545,35,1.373,95,0.126,101,0.009,103,0,104,0,110,3.358,134,2.522,135,1.739,148,1.173,153,1.177,467,4.043,641,5.523,837,3.524,871,3.555,1078,4.84,1723,5.523,1756,7.11,2035,3.503,2689,7.21,2692,6.847,2756,8.354,2774,9.369,2784,9.685,2792,6.609,5191,4.541,8061,5.842,8216,6.622,8220,6.73,8233,5.622,10261,6.002,10754,6.262,22805,8.167,22806,9.964,22815,11.841,22819,12.395,22820,7.137,22821,9.712,22822,9.712,22823,9.712,22824,9.712,22825,9.712,22826,7.137,22827,9.712,22828,7.137,22829,7.137,22830,9.712,22831,7.137,22832,7.137,22833,9.712,22834,7.137,22835,7.137,22836,7.137,22837,7.137,22838,7.137,22839,9.712,22840,9.712,22841,9.712,22842,7.137,22843,9.712,22844,7.137,22845,11.849,22846,7.137,22847,7.137]],["title/modules/ToolLaunchModule.html",[252,1.835,22848,6.094]],["body/modules/ToolLaunchModule.html",[0,0.222,3,0.012,4,0.012,5,0.006,30,0.001,95,0.157,101,0.008,103,0,104,0,183,2.46,252,2.76,254,2.315,255,2.452,256,2.514,257,2.505,258,2.496,259,3.799,260,3.888,269,3.534,270,2.469,271,2.418,276,3.534,277,0.928,417,3.594,610,2.533,614,3.225,703,2.804,1756,3.688,1931,9.27,1932,4.617,1935,6.066,1998,10.861,2012,10.861,2028,4.814,2058,10.861,2062,10.861,2069,3.828,2563,4.455,2684,3.387,2721,10.41,3392,5.219,3856,10.051,3858,7.692,3868,3.384,4972,6.066,5036,6.765,5041,4.93,5732,3.755,6028,9.27,6033,8.313,6260,4.814,6777,9.751,6778,10.051,8920,8.728,15826,10.861,16795,10.41,21657,5.219,22848,12.878,22849,6.429,22850,6.429,22851,6.429,22852,6.429,22853,11.472,22854,11.464,22855,6.429,22856,6.429,22857,6.429,22858,6.429,22859,6.429]],["title/classes/ToolLaunchParams.html",[0,0.24,2741,5.471]],["body/classes/ToolLaunchParams.html",[0,0.41,2,1.04,3,0.019,4,0.019,5,0.009,7,0.137,27,0.385,30,0.001,32,0.122,34,2.035,47,0.844,95,0.136,101,0.013,103,0.001,104,0.001,112,0.93,157,2.251,183,4.554,190,1.755,194,4.654,195,2.603,196,3.936,197,3.308,200,2.996,202,2.246,296,3.108,614,3.674,855,4.816,1756,6.826,2684,3.858,2741,9.373,3562,7.172,4166,5.945,22860,11.019,22861,9.78,22862,9.78]],["title/classes/ToolLaunchRequest.html",[0,0.24,2774,5.089]],["body/classes/ToolLaunchRequest.html",[0,0.305,2,0.939,3,0.017,4,0.017,5,0.008,7,0.124,27,0.523,29,0.677,30,0.001,31,0.495,32,0.166,33,0.564,47,0.913,95,0.101,101,0.012,103,0.001,104,0.001,110,4.236,112,0.873,122,2.33,193,3.838,232,3.027,433,1.09,435,2.999,641,7.321,1723,6.967,1756,7.781,2748,10.303,2774,9.731,2786,9.393,7127,4.786,8061,7.37,8064,5.552,8096,6.228,8097,6.614,17792,7.171,18714,7.428,22811,12.561,22863,8.833,22864,11.171,22865,8.833,22866,8.833,22867,8.833,22868,8.18,22869,8.18]],["title/classes/ToolLaunchRequestResponse.html",[0,0.24,22806,5.841]],["body/classes/ToolLaunchRequestResponse.html",[0,0.248,2,0.765,3,0.014,4,0.014,5,0.007,7,0.101,27,0.49,29,0.552,30,0.001,31,0.404,32,0.155,33,0.603,47,0.843,95,0.112,101,0.009,103,0,104,0,110,4.299,112,0.764,122,2.038,125,1.717,130,2.672,134,2.544,153,1.611,157,2.737,190,2.134,193,5.571,194,4.652,195,2.137,197,3.306,202,1.654,232,2.647,296,3.248,433,0.889,435,2.445,641,7.07,868,5.706,886,3.074,1723,7.07,1756,7.355,2124,5.179,2629,8.11,2684,4.157,2748,10.455,2786,9.598,2800,6.318,3223,5.376,5309,7.933,7127,3.902,7988,7.696,8061,6.671,8064,4.527,8096,5.077,8097,5.392,9395,6.669,17792,5.846,18714,6.056,22802,8.572,22806,10.455,22860,11.873,22868,6.669,22869,6.669,22870,9.771,22871,7.201,22872,9.048,22873,7.201,22874,9.771,22875,7.201]],["title/injectables/ToolLaunchService.html",[589,0.929,22853,5.841]],["body/injectables/ToolLaunchService.html",[0,0.174,3,0.01,4,0.01,5,0.005,7,0.071,8,0.875,26,2.503,27,0.448,29,0.831,30,0.001,31,0.607,32,0.151,33,0.499,35,1.172,36,2.411,39,2.798,47,0.645,95,0.152,99,1.034,101,0.007,103,0,104,0,112,0.592,125,1.807,134,1.783,135,1.652,148,0.901,153,1.667,183,2.9,228,2.065,277,0.728,317,2.695,339,1.48,402,1.806,433,0.935,579,2.629,589,1.013,591,1.203,610,1.989,614,3.514,652,2.735,657,2.608,675,2.569,703,2.352,1080,1.74,1312,2.408,1756,6.771,2004,7.042,2005,7.104,2007,4.545,2035,2.477,2087,2.183,2684,2.457,2689,5.129,2721,10.21,2762,6.598,2764,8.728,2774,7.409,2782,4.967,2786,5.166,4972,7.276,5135,7.981,5710,2.603,6048,9.297,6051,5.552,6655,3.172,6697,6.534,6863,3.975,6864,3.497,6928,7.252,6929,7.531,6947,4.708,6963,3.625,8618,7.016,10167,4.428,16795,10.21,19830,6.371,19842,4.674,22805,4.244,22853,6.371,22854,11.244,22876,11.803,22877,5.047,22878,7.577,22879,7.577,22880,9.097,22881,9.097,22882,7.577,22883,7.577,22884,5.047,22885,7.577,22886,5.047,22887,5.047,22888,5.047,22889,5.047,22890,5.047,22891,4.428,22892,6.647,22893,7.981,22894,5.047,22895,5.047,22896,5.047,22897,5.047,22898,5.047,22899,5.047,22900,7.016,22901,5.047,22902,5.047,22903,5.047,22904,5.047,22905,7.577,22906,5.047,22907,4.674,22908,7.016]],["title/interfaces/ToolLaunchStrategy.html",[159,0.713,22893,6.094]],["body/interfaces/ToolLaunchStrategy.html",[3,0.017,4,0.017,5,0.008,7,0.129,8,1.321,26,2.691,27,0.451,29,0.877,30,0.001,31,0.641,32,0.143,33,0.526,35,1.326,36,2.424,39,2.539,95,0.142,99,1.881,101,0.012,103,0.001,104,0.001,134,3.242,159,0.943,161,2.179,326,4.738,1756,7.152,2684,2.975,2722,10.938,2736,10.038,2737,10.038,2741,10.281,2764,10.011,2769,8.05,2770,10.038,2774,9.135,2786,8.9,2787,8.05,22893,10.038,22909,12.468,22910,9.176,22911,9.176,22912,11.442,22913,9.176]],["title/injectables/ToolLaunchUc.html",[589,0.929,22579,5.841]],["body/injectables/ToolLaunchUc.html",[0,0.266,3,0.015,4,0.015,5,0.007,7,0.109,8,1.183,26,2.752,27,0.404,29,0.786,30,0.001,31,0.574,32,0.128,33,0.471,35,0.895,36,2.171,39,2.138,95,0.157,99,1.584,101,0.01,103,0,104,0,134,2.73,135,1.598,148,0.765,183,4.684,228,2.086,277,1.115,317,2.494,433,1.264,589,1.37,591,1.843,595,2.916,610,3.045,614,3.163,652,2.346,657,2.634,693,4.665,1756,6.592,1775,5.637,1780,4.697,2005,6.702,2007,3.861,2666,3.572,2764,8.814,2774,7.506,3299,4.394,3562,6.842,6780,8.715,6947,4.802,6975,9.997,6989,6.087,6996,6.78,7001,6.274,22579,8.615,22795,9.487,22853,11.004,22900,9.487,22914,11.492,22915,7.728,22916,7.728,22917,7.728,22918,10.245,22919,7.728,22920,7.156,22921,7.728,22922,7.728]],["title/modules/ToolModule.html",[252,1.835,1933,5.327]],["body/modules/ToolModule.html",[0,0.258,3,0.014,4,0.014,5,0.007,30,0.001,95,0.154,101,0.01,103,0,104,0,183,2.864,252,2.988,254,2.695,255,2.854,256,2.927,257,2.916,258,2.906,259,4.113,260,4.21,269,3.922,270,2.874,271,2.814,276,3.922,277,1.08,543,3.63,610,2.949,614,3.492,703,2.323,1829,3.181,1842,3.407,1846,5.894,1933,11.107,1935,6.733,1938,4.024,2533,4.255,2624,3.673,2684,4.085,2786,5.102,3856,11.359,5732,4.371,6028,7.509,6034,10.731,6777,11.021,6778,11.359,6779,9.709,6786,5.894,6952,5.739,22848,12.275,22923,7.483,22924,7.483,22925,7.483,22926,7.483,22927,7.483]],["title/injectables/ToolPermissionHelper.html",[589,0.929,6975,5.201]],["body/injectables/ToolPermissionHelper.html",[0,0.201,3,0.011,4,0.011,5,0.005,7,0.082,8,0.974,26,2.549,27,0.39,29,0.76,30,0.001,31,0.555,32,0.123,33,0.456,35,0.978,36,2.299,39,3.002,95,0.153,99,1.197,101,0.008,103,0,104,0,135,1.503,153,0.963,159,0.6,183,5.13,193,2.537,228,2.088,252,1.543,277,0.843,290,2.342,317,2.602,340,3.762,412,2.584,433,1.041,478,1.635,507,2.572,579,1.687,589,1.128,591,1.392,610,3.324,614,2.605,652,2.349,657,2.637,688,2.756,693,4.94,703,3.367,711,3.562,886,1.837,980,3.239,1218,3.812,1714,4.373,1775,6.803,1829,2.482,1853,1.91,1862,6.601,1918,6.864,1932,4.194,1935,3.921,1952,4.117,1956,4.6,1960,5.123,1961,5.075,2004,6.554,2005,6.663,2007,4.215,2017,8.183,2018,7.949,2028,4.373,2032,4.123,2034,3.239,2038,7.094,2039,4.194,2042,5.123,2050,3.556,2065,7.18,2067,6.864,2069,3.478,2070,4.975,2071,5.408,2580,3.762,2653,4.279,2654,7.518,2666,2.699,2668,6.182,2671,4.279,2897,3.513,2942,4.117,3017,5.12,3417,4.373,4126,4.279,5452,3.478,6259,4.047,6975,6.317,6993,5.408,10116,9.172,10117,8.689,10125,5.408,10127,5.123,20542,5.123,21457,4.741,21657,4.741,22928,10.849,22929,9.905,22930,9.905,22931,5.84,22932,5.84,22933,5.84,22934,6.645,22935,9.172,22936,9.172,22937,5.84,22938,5.84,22939,9.905,22940,8.437,22941,7.812,22942,5.84,22943,5.84,22944,5.84]],["title/classes/ToolReference.html",[0,0.24,6855,5.327]],["body/classes/ToolReference.html",[0,0.296,2,0.913,3,0.016,4,0.016,5,0.008,7,0.121,27,0.53,29,0.659,30,0.001,31,0.481,32,0.168,33,0.556,47,0.955,95,0.098,101,0.011,103,0.001,104,0.001,112,0.858,122,2.289,402,4.327,433,1.06,614,4.227,2126,5.016,3740,7.534,6051,8.86,6638,7.923,6642,6.196,6655,5.398,6662,5.532,6696,6.936,6712,5.683,6855,10.328,6873,9.817,6874,7.952,6875,7.952,6876,7.534,6877,10.169,6878,7.952,22945,13.688,22946,10.973,22947,10.973,22948,8.587,22949,8.587,22950,8.587,22951,8.587,22952,7.952,22953,7.952,22954,8.587]],["title/controllers/ToolReferenceController.html",[314,2.658,22585,6.094]],["body/controllers/ToolReferenceController.html",[0,0.216,3,0.012,4,0.012,5,0.006,7,0.088,8,1.025,27,0.35,29,0.681,30,0.001,31,0.497,32,0.153,33,0.408,35,1.028,36,2.374,95,0.144,100,2.187,101,0.008,103,0,104,0,135,1.544,148,0.879,153,1.033,157,2.826,183,3.943,190,1.593,202,1.44,228,1.138,274,2.62,277,0.905,290,3.049,314,2.399,316,3.024,317,2.665,325,6.27,326,4.666,329,6.811,349,6.427,371,5.939,385,7.639,388,4.418,390,6.076,392,3.277,395,3.371,398,3.396,400,1.866,401,4.962,614,3.898,657,2.034,675,3.191,1842,5.102,1882,2.391,2684,3.834,2762,5.565,2893,7.545,3017,2.958,3221,3.233,4046,5.339,4331,6.884,5833,6.374,6638,5.963,6717,9.422,6767,8.593,6848,5.271,6855,8.593,6857,9.969,6860,5.804,6870,5.804,10284,8.825,18153,7.549,18155,7.549,22580,8.664,22585,7.786,22588,8.364,22603,5.804,22610,8.218,22624,7.902,22628,4.937,22638,5.499,22639,5.499,22645,5.271,22735,8.218,22736,8.593,22955,6.268,22956,6.268,22957,9.039,22958,9.541,22959,6.268,22960,6.268,22961,6.268,22962,6.268,22963,6.268,22964,6.268,22965,6.268,22966,6.268,22967,6.268,22968,10.374,22969,6.268,22970,6.268,22971,6.268,22972,6.268,22973,6.268,22974,6.268,22975,6.268,22976,6.268]],["title/classes/ToolReferenceListResponse.html",[0,0.24,22968,6.094]],["body/classes/ToolReferenceListResponse.html",[0,0.328,2,1.01,3,0.018,4,0.018,5,0.009,7,0.134,27,0.46,29,0.729,30,0.001,31,0.533,32,0.158,33,0.437,95,0.133,101,0.012,103,0.001,104,0.001,112,0.914,125,2.265,190,1.705,202,2.182,296,3.054,339,3.979,433,1.172,614,3.91,861,6.584,864,6.707,866,4.719,881,5.188,1842,5.767,2684,3.081,6638,7.33,6692,8.967,6857,11.362,22968,10.257,22977,11.728,22978,9.502]],["title/classes/ToolReferenceMapper.html",[0,0.24,22979,6.094]],["body/classes/ToolReferenceMapper.html",[0,0.311,2,0.958,3,0.017,4,0.017,5,0.008,7,0.127,8,1.306,27,0.355,29,0.691,30,0.001,31,0.505,32,0.112,33,0.415,35,1.044,95,0.141,101,0.012,103,0.001,104,0.001,135,1.177,148,0.892,153,1.486,402,4.64,467,3.6,614,3.818,1882,3.437,2005,7.283,2007,4.503,2762,6.771,6051,9.502,6638,6.548,6642,4.617,6655,5.664,6696,5.169,6855,10.456,6863,7.098,6865,7.906,6873,7.316,6877,7.578,10154,7.316,10458,6.911,10847,8.345,22647,10.476,22979,9.925,22980,9.011,22981,12.365,22982,9.011,22983,9.011]],["title/classes/ToolReferenceResponse.html",[0,0.24,6857,5.639]],["body/classes/ToolReferenceResponse.html",[0,0.238,2,0.734,3,0.013,4,0.013,5,0.006,7,0.097,27,0.499,29,0.529,30,0.001,31,0.608,32,0.162,33,0.499,34,1.624,47,0.897,95,0.108,101,0.009,103,0,104,0,110,3.282,112,0.742,122,1.98,153,1.565,157,3.122,183,3.634,190,2.199,194,5.305,195,2.89,196,4.187,197,3.84,201,3.686,202,1.586,296,3.2,402,4.384,433,0.852,614,4.004,624,7.109,866,3.429,2126,4.033,2684,4.283,5309,7.708,6638,7.506,6642,5.56,6662,4.448,6682,10.302,6696,6.224,6712,4.569,6721,9.519,6857,10.278,6873,8.809,6877,9.124,7988,7.478,8243,6.283,10384,5.605,11242,6.819,22952,6.393,22953,6.393,22977,12.009,22984,6.904,22985,9.494,22986,9.494,22987,6.904,22988,6.904,22989,6.904,22990,9.494,22991,6.904,22992,8.792,22993,6.904,22994,6.904,22995,6.904,22996,6.904,22997,6.904,22998,6.904]],["title/injectables/ToolReferenceService.html",[589,0.929,6782,5.841]],["body/injectables/ToolReferenceService.html",[0,0.245,3,0.013,4,0.013,5,0.007,7,0.1,8,1.117,26,2.438,27,0.381,29,0.742,30,0.001,31,0.542,32,0.121,33,0.445,35,0.823,36,2.051,95,0.157,99,1.455,101,0.009,103,0,104,0,135,1.616,148,0.703,183,2.717,228,2.245,277,1.025,317,2.389,402,3.463,433,1.194,589,1.294,591,1.693,610,2.797,614,4.106,652,2.526,657,2.71,675,3.614,703,3.004,1882,2.708,1943,6.574,2004,6.267,2005,6.512,2007,4.835,2684,2.302,2762,6.341,3562,5.411,5710,3.662,6048,10.291,6051,7.09,6638,6.372,6655,4.462,6780,8.528,6782,8.137,6855,9.068,6864,4.92,6876,6.228,6928,7.844,6929,8.647,6947,6.013,6962,5.099,6963,5.099,7001,5.764,7018,5.764,10122,5.592,10123,9.783,10155,6.574,10156,6.574,10157,6.574,22891,9.658,22907,6.574,22957,8.49,22979,6.228,22999,7.099,23000,9.677,23001,7.099,23002,7.099]],["title/injectables/ToolReferenceUc.html",[589,0.929,22580,5.841]],["body/injectables/ToolReferenceUc.html",[0,0.193,3,0.011,4,0.011,5,0.005,7,0.079,8,0.944,26,2.873,27,0.446,29,0.868,30,0.001,31,0.634,32,0.147,33,0.52,34,0.957,35,1.232,36,2.817,39,3.376,47,0.58,95,0.143,99,1.147,101,0.007,103,0,104,0,135,1.694,142,3.88,148,1.12,153,0.922,158,2.069,183,3.13,228,1.754,277,0.808,317,2.913,433,1.009,589,1.094,591,1.334,595,2.112,610,2.205,614,3.648,629,2.945,652,2.605,657,2.797,693,3.724,1328,2.966,1775,4.5,1780,3.401,1882,2.134,2005,7.418,2034,5.897,2035,2.746,2455,3.332,2666,2.587,3299,3.182,3562,5.945,5452,6.332,6638,6.839,6641,7.14,6720,6.85,6780,7.713,6782,10.261,6855,10.38,6863,6.442,6953,4.19,6975,9.138,6989,4.407,7001,4.543,7006,4.291,7013,5.182,22580,6.878,22712,5.182,22920,5.182,22957,7.175,22958,8.951,23003,11.815,23004,5.596,23005,8.179,23006,9.666,23007,5.596,23008,8.179,23009,5.596,23010,8.179,23011,5.596,23012,5.596,23013,5.596,23014,5.596,23015,5.596,23016,5.596,23017,5.596,23018,5.596,23019,5.596,23020,8.179,23021,5.596,23022,8.179,23023,8.179,23024,5.596]],["title/controllers/ToolSchoolController.html",[314,2.658,22583,6.094]],["body/controllers/ToolSchoolController.html",[0,0.136,3,0.008,4,0.008,5,0.004,7,0.056,8,0.725,10,1.589,27,0.406,29,0.791,30,0.001,31,0.578,32,0.162,33,0.475,34,1.918,35,1.371,36,2.603,95,0.138,100,1.381,101,0.005,103,0,104,0,131,4.524,135,1.605,148,0.96,157,2.658,190,1.851,193,3.861,202,0.909,228,1.613,274,1.654,277,0.571,290,2.291,314,1.515,316,1.909,317,2.848,325,6.564,326,4.669,328,4.702,329,5.401,335,2.619,337,3.858,338,5.954,339,2.606,340,5.725,347,4,349,6.729,356,4.216,360,5.053,365,2.805,374,2.716,379,5.88,385,7.032,388,4.155,390,6.374,391,3.858,392,2.069,393,1.954,395,2.128,398,2.144,401,5.766,402,1.416,403,3.177,433,0.488,533,3.352,614,3.944,652,1.814,657,2.364,675,2.015,703,3.201,871,3.253,1027,1.216,1368,2.231,1882,1.509,2004,6.84,2342,4.51,2449,1.654,2450,2.948,2505,4.85,2684,3.142,3017,1.868,3221,2.041,3222,2.657,3223,3.455,4046,6.204,4131,2.842,4370,2.55,4557,1.385,4834,5.969,6750,3.817,6804,3.213,6817,2.9,6839,3.035,8180,6.314,10073,6.265,10284,4.946,10871,5.28,10994,6.848,18153,7.556,18154,5.28,18155,7.92,19489,3.665,19692,9.822,19694,6.148,19697,3.472,19701,6.564,19717,9.089,19763,5.28,19767,9.483,19768,3.472,19772,8.373,19777,5.28,19785,5.28,19799,7.796,19835,6.564,19837,7.228,19838,7.228,19840,7.228,19841,7.228,21054,3.328,22583,5.509,22588,8.775,22624,5.987,22628,3.117,22642,8.974,22679,3.472,22681,5.509,22700,5.509,22702,5.28,22736,4.816,22741,3.665,22749,3.665,22752,3.665,22766,3.665,22804,5.815,23025,3.958,23026,3.958,23027,7.806,23028,3.958,23029,3.958,23030,3.958,23031,3.958,23032,3.958,23033,3.958,23034,3.958,23035,3.958,23036,3.958,23037,3.958,23038,3.958,23039,3.958,23040,3.958,23041,3.958,23042,7.806,23043,3.958,23044,3.958,23045,3.958,23046,3.958,23047,3.958,23048,3.958,23049,3.958,23050,3.958,23051,3.958,23052,3.958,23053,3.958,23054,3.958,23055,3.958,23056,3.958,23057,3.958,23058,6.279,23059,3.958,23060,3.958,23061,6.279,23062,3.958,23063,3.958,23064,3.958,23065,3.958,23066,3.958,23067,3.958,23068,3.958,23069,3.958]],["title/classes/ToolStatusOutdatedLoggableException.html",[0,0.24,22892,6.094]],["body/classes/ToolStatusOutdatedLoggableException.html",[0,0.282,2,0.87,3,0.016,4,0.016,5,0.008,7,0.115,8,1.228,26,2.791,27,0.419,29,0.628,30,0.001,31,0.459,32,0.133,33,0.377,35,0.948,39,3.27,95,0.135,99,1.678,101,0.011,103,0.001,104,0.001,122,2.773,148,0.81,228,2.271,231,1.847,233,2.554,242,4.308,277,1.181,290,1.935,339,2.401,402,4.478,433,1.313,652,2.555,1027,2.514,1115,3.133,1237,3.136,1422,4.841,1423,5.579,1426,5.616,1462,4.503,1468,5.579,1469,5.87,1477,4.25,1478,4.435,1756,6.78,2684,2.654,2934,6.841,6062,9.857,6063,8.823,6678,6.645,6680,7.18,6685,6.645,10281,5.496,10312,6.885,10509,5.997,12367,5.997,22802,7.18,22892,9.333,23070,11.819,23071,11.819,23072,8.185,23073,8.185]],["title/classes/ToolStatusResponseMapper.html",[0,0.24,6861,6.094]],["body/classes/ToolStatusResponseMapper.html",[0,0.334,2,1.029,3,0.018,4,0.018,5,0.009,7,0.136,8,1.366,27,0.381,29,0.743,30,0.001,31,0.543,32,0.121,33,0.446,35,1.122,95,0.135,101,0.013,103,0.001,104,0.001,135,1.265,148,0.959,153,1.597,402,4.57,467,3.718,829,5.712,830,6.561,837,4.781,1882,3.694,4080,9.947,6051,9.746,6061,9.947,6062,7.629,6063,6.828,6682,11.471,6861,10.378,15811,7.863,19830,8.144,22721,10.954,22908,8.969]],["title/interfaces/ToolVersion.html",[159,0.713,6055,4.178]],["body/interfaces/ToolVersion.html",[3,0.02,4,0.02,5,0.01,7,0.15,8,1.449,27,0.421,30,0.001,35,1.239,55,2.513,101,0.014,103,0.001,104,0.001,159,1.098,161,2.538,6055,7.55,6644,10.542,23074,12.55,23075,10.691,23076,10.691]],["title/injectables/ToolVersionService.html",[589,0.929,6048,5.471]],["body/injectables/ToolVersionService.html",[0,0.239,3,0.013,4,0.013,5,0.006,7,0.098,8,1.1,27,0.375,29,0.731,30,0.001,31,0.534,32,0.119,33,0.438,35,0.804,36,2.019,80,5.197,95,0.155,101,0.009,103,0,104,0,135,1.244,148,0.943,153,1.144,183,2.656,195,2.084,197,2.649,228,2.125,277,1.002,317,2.361,402,3.409,433,1.176,589,1.274,591,1.655,614,4.01,629,5.015,652,2.391,657,2.184,688,3.276,703,2.957,1328,5.05,1329,5.791,1829,2.95,1847,5.836,1882,2.647,1938,3.732,1940,4.53,2004,7.011,2005,6.962,2007,4.76,2087,3.002,2684,3.089,2762,6.45,4949,5.085,5710,5.611,6034,9.96,6045,10.075,6048,7.505,6049,6.426,6051,8.581,6059,5.836,6061,8.012,6062,5.466,6063,4.893,6066,6.426,6067,6.426,6638,6.297,6655,4.362,6781,10.294,6785,5.634,6947,4.312,6952,5.322,6998,6.426,7626,4.362,10062,8.581,10064,8.581,10083,5.466,12361,4.893,19715,10.229,19828,6.088,19859,6.426,22891,9.545,23077,6.94,23078,6.94,23079,6.94,23080,6.088,23081,6.94]],["title/interfaces/TriggerDeletionExecutionOptions.html",[159,0.713,9025,5.841]],["body/interfaces/TriggerDeletionExecutionOptions.html",[3,0.02,4,0.02,5,0.01,7,0.15,30,0.001,32,0.133,55,2.668,56,6.488,101,0.014,103,0.001,104,0.001,112,0.981,159,1.098,161,2.538,2819,6.245,2904,7.678,9025,10.554,18303,9.9,23082,10.691]],["title/classes/TriggerDeletionExecutionOptionsBuilder.html",[0,0.24,23083,6.432]],["body/classes/TriggerDeletionExecutionOptionsBuilder.html",[0,0.344,2,1.06,3,0.019,4,0.019,5,0.009,7,0.14,8,1.39,27,0.393,29,0.765,30,0.001,31,0.559,32,0.124,33,0.459,35,1.156,55,2.591,56,5.684,95,0.114,101,0.013,103,0.001,104,0.001,148,0.988,159,1.024,467,3.766,507,5.304,2819,7.035,2904,8.649,9025,10.878,18299,9.236,18301,9.236,23083,11.151,23084,12.042,23085,12.042]],["title/classes/UnauthorizedLoggableException.html",[0,0.24,1721,5.841]],["body/classes/UnauthorizedLoggableException.html",[0,0.309,2,0.951,3,0.017,4,0.017,5,0.008,7,0.126,8,1.301,27,0.444,29,0.686,30,0.001,31,0.502,32,0.14,33,0.412,35,1.037,47,0.965,48,6.349,51,5.914,59,2.778,95,0.141,101,0.012,103,0.001,104,0.001,135,1.169,148,0.886,228,2.044,231,1.955,233,2.793,234,6.865,244,6.559,277,1.292,339,2.625,400,2.665,433,1.104,652,1.828,1115,4.312,1237,3.321,1422,5.049,1426,5.806,1462,4.925,1468,6.106,1477,4.647,1478,4.85,1721,9.473,1983,8.278,10281,6.01,12370,7.05,12371,7.267,14182,7.267,23086,12.327,23087,8.951,23088,8.289]],["title/classes/UnknownQueryTypeLoggableException.html",[0,0.24,23089,6.432]],["body/classes/UnknownQueryTypeLoggableException.html",[0,0.385,2,0.937,3,0.017,4,0.017,5,0.008,7,0.124,8,1.288,27,0.439,29,0.676,30,0.001,31,0.494,32,0.169,33,0.406,35,1.021,47,0.868,95,0.127,101,0.012,103,0.001,104,0.001,148,0.873,158,3.259,228,1.599,231,1.936,233,2.75,277,1.272,339,2.585,365,5.746,400,2.624,433,1.087,1027,2.707,1115,3.373,1237,3.288,1312,5.84,1422,5.552,1423,5.777,1426,5.773,1462,4.849,1465,6.108,1468,5.777,1469,6.079,1477,4.576,1478,4.775,3343,6.33,7745,5.753,9993,6.6,20065,7.411,23089,10.33,23090,12.24,23091,8.814,23092,12.24,23093,8.814,23094,8.814]],["title/classes/UpdateElementContentBodyParams.html",[0,0.24,9526,4.534]],["body/classes/UpdateElementContentBodyParams.html",[0,0.47,2,0.569,3,0.01,4,0.01,5,0.005,7,0.075,9,2.489,27,0.211,30,0.001,31,0.675,32,0.173,47,0.895,83,1.559,95,0.127,99,1.098,101,0.018,103,0,104,0,110,1.852,112,0.619,125,1.888,130,3.291,155,1.699,157,2.396,190,0.961,195,1.172,200,1.641,201,3.659,202,1.23,223,1.663,231,2.019,296,3.686,299,4.917,300,4.452,339,2.764,360,3.046,854,4.979,855,3.206,886,1.685,899,2.439,1232,3.1,1749,3.046,1853,1.752,2048,3.829,2392,4.436,2894,2.556,2900,6.615,3140,2.415,3182,2.502,3545,3.159,3547,3.159,3550,3.129,3553,4.893,3557,2.763,3562,2.995,4034,3.291,4055,3.291,4454,5.406,6365,5.924,6367,5.996,6369,5.924,6371,6.625,6373,5.996,6375,5.996,6423,3.451,6460,6.152,6461,6.152,6462,6.152,6463,6.152,6464,6.152,6465,6.152,6803,6.645,7898,3.497,7968,3.129,9513,5.319,9514,3.597,9516,8.178,9517,6.797,9518,6.797,9519,6.797,9520,3.597,9521,6.797,9522,3.291,9523,3.545,9524,6.797,9525,7.253,9526,5.17,9527,5.17,9528,3.497,9529,5.17,9530,3.597,9531,3.597,9532,3.597,9533,3.597,9534,3.597,9535,3.597,10179,4.699,23095,5.357,23096,5.357]],["title/classes/UpdateFlagParams.html",[0,0.24,13859,6.094]],["body/classes/UpdateFlagParams.html",[0,0.415,2,1.06,3,0.019,4,0.019,5,0.009,7,0.14,27,0.393,30,0.001,32,0.124,95,0.153,101,0.013,103,0.001,104,0.001,112,0.941,122,2.512,157,2.295,190,1.79,199,6.679,200,3.055,202,2.291,290,2.358,296,3.146,356,8.086,868,4.785,4938,5.511,12331,9.121,12361,8.49,13859,10.565,23097,11.151,23098,9.974,23099,9.974,23100,9.974]],["title/classes/UpdateMatchParams.html",[0,0.24,13851,6.094]],["body/classes/UpdateMatchParams.html",[0,0.413,2,1.05,3,0.019,4,0.019,5,0.009,7,0.139,27,0.389,30,0.001,32,0.123,39,3.564,47,0.849,95,0.153,101,0.013,103,0.001,104,0.001,112,0.936,157,2.273,190,1.772,200,3.025,202,2.268,290,3.046,296,3.127,356,8.038,855,4.845,868,4.738,1619,7.355,1842,5.451,4938,5.478,13851,10.502,23097,11.085,23101,9.876,23102,9.876,23103,9.876]],["title/classes/UpdateNewsParams.html",[0,0.24,16421,5.841]],["body/classes/UpdateNewsParams.html",[0,0.429,2,0.856,3,0.015,4,0.015,5,0.007,7,0.113,27,0.462,30,0.001,32,0.146,33,0.484,47,0.882,83,3.065,95,0.142,99,1.651,100,3.673,101,0.011,103,0.001,104,0.001,112,0.972,155,4.093,157,2.862,190,2.105,200,2.467,201,4.829,202,1.85,205,2.703,298,3.483,299,4.57,300,4.76,525,5.503,806,8.073,854,6.617,1749,5.986,2392,4.922,2478,6.617,3083,6.332,3553,4.181,7065,7.068,7765,7.875,7769,7.916,7963,7.065,7968,6.149,7969,8.852,7970,8.292,7979,7.177,7980,7.458,16421,8.852,23104,12.436,23105,10.527,23106,10.527,23107,9.235,23108,8.053,23109,8.053,23110,8.053,23111,8.053,23112,8.053,23113,8.053]],["title/classes/UpdateSubmissionItemBodyParams.html",[0,0.24,4029,6.094]],["body/classes/UpdateSubmissionItemBodyParams.html",[0,0.41,2,1.04,3,0.019,4,0.019,5,0.009,7,0.137,27,0.385,30,0.001,32,0.122,95,0.136,101,0.013,103,0.001,104,0.001,112,0.93,122,2.784,157,2.251,190,1.755,194,4.654,195,2.603,199,6.599,200,2.996,202,2.246,296,3.108,3140,6.018,3559,8.405,4029,10.439,7983,9.373,7985,9.056,7986,8.58,7987,10.439,7988,9.373,7989,9.056,23114,11.899]],["title/interfaces/UrlHandler.html",[159,0.713,4153,5.327]],["body/interfaces/UrlHandler.html",[3,0.018,4,0.018,5,0.009,7,0.136,8,1.364,27,0.465,29,0.906,30,0.001,31,0.662,32,0.147,33,0.543,35,1.369,36,2.503,47,0.983,95,0.11,101,0.013,103,0.001,104,0.001,106,8.567,107,8.328,110,4.084,111,7.61,115,9.304,119,8.947,120,9.304,122,2.464,131,4.919,134,3.414,159,0.992,161,2.294,4143,7.931,4146,9.304,4153,9.059,23115,12.758,23116,9.662]],["title/entities/User.html",[205,1.418,290,1.642]],["body/entities/User.html",[0,0.142,3,0.008,4,0.008,5,0.004,7,0.177,27,0.527,30,0.001,32,0.166,33,0.641,34,0.704,47,0.983,83,3.613,95,0.12,96,1.09,101,0.011,103,0,104,0,112,0.858,122,1.67,129,1.232,130,1.125,135,1.046,148,0.408,153,1.497,159,0.665,190,2.403,195,3.041,196,4.301,205,1.854,206,1.342,211,7.067,219,2.301,221,3.082,223,4.157,224,1.201,225,2.488,226,1.865,229,1.628,231,0.714,232,1.115,233,1.284,290,1.893,331,4.019,579,1.189,692,4.662,700,4.765,701,4.765,702,4.876,703,3.406,704,5.028,711,1.222,874,2.404,886,1.295,1078,3.511,1198,5.463,1237,1.213,1821,1.997,1826,4.103,1827,3.611,1835,3.319,2924,4.565,2927,3.592,2931,3.592,3382,1.847,3400,5.825,4410,2.427,4551,6.192,4557,2.267,4562,6.283,4614,6.734,4617,2.852,4623,3.458,4645,3.242,4646,3.082,5334,6.502,5335,6.502,5336,6.502,5344,4.85,5428,7.637,5685,3.041,6578,3.157,7420,3.611,7436,3.98,7439,2.557,7460,2.587,7461,2.502,7782,2.476,7783,2.557,11142,6.965,11147,2.687,11148,2.902,11149,2.687,11150,2.902,11151,2.806,11152,3.016,11153,3.461,11154,3.611,11482,6.965,11543,3.341,11547,3.461,13773,5.446,15070,6.192,15159,3.082,17750,3.341,17765,3.341,17770,3.341,18657,6.308,18963,3.461,18964,3.461,18966,3.461,18970,5.446,19649,3.242,19989,6.801,21867,3.242,23117,3.811,23118,7.154,23119,6.965,23120,7.154,23121,4.116,23122,4.116,23123,4.116,23124,4.116,23125,4.116,23126,4.116,23127,4.116,23128,4.116,23129,4.116,23130,4.116,23131,4.116,23132,4.116,23133,4.116,23134,4.116,23135,4.116,23136,8.018,23137,4.116,23138,4.116,23139,4.116,23140,4.116,23141,4.116,23142,4.116,23143,3.811,23144,5.998,23145,5.998,23146,5.998,23147,5.258,23148,3.461,23149,3.811,23150,3.811,23151,3.461,23152,3.811,23153,3.461,23154,3.811,23155,3.461,23156,3.811,23157,3.811,23158,3.811,23159,3.811,23160,5.998]],["title/classes/UserAlreadyAssignedToImportUserError.html",[0,0.24,23161,6.432]],["body/classes/UserAlreadyAssignedToImportUserError.html",[0,0.276,2,0.851,3,0.015,4,0.015,5,0.007,7,0.113,8,1.211,27,0.53,30,0.001,32,0.172,33,0.482,35,0.928,47,0.829,55,1.603,95,0.142,101,0.011,103,0.001,104,0.001,112,0.82,155,3.935,190,2.311,228,2.53,231,1.82,233,2.498,290,2.479,402,2.864,433,1.443,436,3.925,640,7.185,868,5.953,871,2.93,998,5.519,1078,3.51,1080,4.277,1115,4.475,1218,5.226,1354,8.683,1355,6.707,1356,7.633,1360,5.298,1361,4.592,1362,5.298,1363,5.298,1364,5.298,1365,5.298,1366,5.298,1367,4.919,1369,6.305,1374,5.157,1842,3.645,3718,5.458,3788,8.817,4331,4.919,5246,5.032,14184,6.732,23161,9.71,23162,10.485,23163,10.485,23164,8.005,23165,8.005,23166,10.485]],["title/interfaces/UserAndAccountParams.html",[159,0.713,705,5.841]],["body/interfaces/UserAndAccountParams.html",[0,0.236,3,0.013,4,0.013,5,0.006,26,1.948,30,0.001,47,0.866,48,4.637,49,3.554,51,4.533,94,7.028,95,0.148,99,1.405,101,0.012,103,0,104,0,135,1.748,148,1.21,159,1.11,161,1.628,231,1.64,290,3.235,326,4.919,467,3.558,478,1.92,499,5.567,574,3.866,595,2.588,652,1.929,689,9.798,690,6.016,691,6.016,692,4.46,693,5.306,694,5.024,695,4.925,696,6.016,697,8.368,698,5.259,699,10.256,700,4.559,701,4.559,702,4.665,703,2.933,704,4.811,705,10.885,706,5.766,707,6.016,708,8.29,709,6.016,710,6.016,711,3.211,712,6.016,713,9.092,714,8.29,715,8.29,716,5.766,717,9.485,718,9.485,719,6.016,720,8.29,721,8.29,722,5.766,723,6.016,724,8.29,725,6.662,726,5.766]],["title/classes/UserAndAccountTestFactory.html",[0,0.24,706,5.841]],["body/classes/UserAndAccountTestFactory.html",[0,0.193,2,0.594,3,0.011,4,0.011,5,0.005,7,0.079,8,0.943,26,1.684,27,0.445,29,0.867,30,0.001,31,0.634,32,0.156,33,0.52,35,1.31,47,0.801,48,4.01,49,3.073,51,3.92,94,6.845,95,0.139,99,1.145,101,0.011,103,0,104,0,129,3.18,130,2.906,135,1.666,148,1.12,159,0.992,172,4.106,231,0.97,290,3.199,326,5.1,467,3.968,478,1.565,499,4.536,574,3.15,595,2.109,652,2.411,689,8.122,690,10.36,691,4.902,692,3.856,693,5.903,694,4.094,695,4.013,696,4.902,697,7.632,698,4.285,699,9.588,700,3.942,701,3.942,702,4.034,703,2.536,704,4.16,705,11.536,706,6.871,707,7.168,708,7.168,709,7.168,710,4.902,711,2.869,712,8.473,713,10.727,714,7.168,715,7.168,716,4.699,717,8.473,718,8.473,719,8.473,720,7.168,721,7.168,722,4.699,723,8.473,724,7.168,725,5.761,726,4.699,23167,8.17,23168,8.17,23169,5.588,23170,5.588,23171,5.588,23172,5.588,23173,5.588,23174,5.588,23175,5.588,23176,5.588]],["title/modules/UserApiModule.html",[252,1.835,20184,5.841]],["body/modules/UserApiModule.html",[0,0.328,3,0.018,4,0.018,5,0.009,30,0.001,95,0.151,101,0.012,103,0.001,104,0.001,252,3.346,254,3.422,255,3.624,256,3.716,257,3.703,258,3.689,259,4.605,260,3.537,269,4.573,270,3.65,271,3.574,273,5.973,274,4.887,276,4.573,277,1.371,314,3.637,3017,4.485,3858,8.583,13876,11.215,20184,11.886,23177,9.502,23178,9.502,23179,9.502,23180,9.502,23181,11.11,23182,9.502]],["title/interfaces/UserBoardRoles.html",[159,0.713,3399,5.327]],["body/interfaces/UserBoardRoles.html",[0,0.274,3,0.015,4,0.015,5,0.007,7,0.112,26,2.649,30,0.001,32,0.16,33,0.569,34,1.358,39,3.423,47,0.935,95,0.119,99,1.628,101,0.017,102,4.21,103,0.001,104,0.001,112,0.815,125,2.487,148,1.033,159,1.071,161,1.886,185,2.729,231,1.811,357,6.091,567,3.018,693,3.616,700,5.967,701,5.967,886,3.281,1767,5.739,1770,4.238,1832,5.053,1849,4.597,1921,5.503,2657,7.643,2658,10.14,2668,5.819,3094,6.256,3381,6.967,3382,4.681,3389,10.042,3390,6.151,3391,9.151,3392,6.448,3393,6.678,3394,3.634,3395,7.504,3396,5.983,3397,6.967,3398,6.967,3399,9.487,3400,6.338,3401,6.678,3402,6.448,3403,9.151,3404,6.967]],["title/interfaces/UserConfig.html",[159,0.713,20108,5.639]],["body/interfaces/UserConfig.html",[3,0.02,4,0.02,5,0.01,7,0.151,30,0.001,32,0.134,47,0.947,101,0.014,103,0.001,104,0.001,112,0.984,159,1.104,161,2.552,311,7.016,20108,10.221,20115,12.751,23183,10.748]],["title/controllers/UserController.html",[314,2.658,23181,6.094]],["body/controllers/UserController.html",[0,0.273,3,0.015,4,0.015,5,0.007,7,0.111,8,1.203,27,0.41,29,0.799,30,0.001,31,0.584,32,0.13,33,0.479,35,1.207,36,2.619,95,0.15,100,2.766,101,0.01,103,0.001,104,0.001,135,1.614,141,3.398,148,1.032,153,1.307,190,1.87,202,1.82,228,1.438,274,3.313,277,1.144,290,2.751,314,3.034,316,3.824,317,2.86,325,6.671,326,4.422,349,6.839,379,5.304,389,5.174,392,4.143,395,4.263,398,4.295,400,2.36,657,2.388,675,4.035,1826,5.338,2563,5.493,3017,3.741,3026,5.246,3221,4.088,3400,4.061,4549,10.394,13876,9.447,18771,6.954,18775,6.665,20991,10.209,23181,9.139,23184,7.926,23185,11.637,23186,7.926,23187,10.417,23188,7.926,23189,7.926,23190,10.417,23191,7.926,23192,7.926,23193,7.34,23194,7.926,23195,7.926,23196,9.647,23197,7.926,23198,7.926,23199,7.926,23200,7.926]],["title/classes/UserDO.html",[0,0.24,8002,3.763]],["body/classes/UserDO.html",[0,0.202,2,0.622,3,0.011,4,0.011,5,0.005,7,0.082,26,2.044,27,0.558,29,0.448,30,0.001,31,0.328,32,0.177,33,0.667,34,1.444,47,1.001,83,3.814,95,0.124,99,1.199,101,0.008,103,0,104,0,112,0.66,122,1.762,231,1.466,331,2.588,430,4.076,431,4.25,433,0.722,436,1.737,460,3.555,462,3.555,478,1.637,700,4.782,701,4.782,702,4.894,704,5.047,1078,3.703,1198,5.963,1770,2.376,1842,2.663,1852,6.402,3400,5.079,4551,6.759,4557,3.47,4562,6.307,4634,3.449,4646,4.379,4762,5.416,5334,8.048,5335,8.048,5336,8.048,6578,4.485,6652,4.285,7782,3.518,8002,6.238,8008,6.759,8077,4.606,8108,4.485,8111,6.652,8112,4.606,8120,5.131,9157,4.918,9158,4.918,11142,7.603,11147,3.817,11149,3.817,11151,3.987,11153,4.918,15070,6.759,15159,4.379,18657,7.808,18669,5.131,19989,7.423,23118,7.808,23119,7.603,23120,7.808,23148,4.918,23151,4.918,23153,4.918,23155,4.918,23201,5.848,23202,8.445,23203,5.848,23204,5.848,23205,5.848,23206,5.848,23207,5.848,23208,5.848,23209,5.848,23210,5.848,23211,5.848,23212,5.848,23213,5.848,23214,5.848,23215,5.848,23216,5.848,23217,5.848,23218,5.848,23219,5.848,23220,5.848,23221,5.848,23222,5.848,23223,5.848,23224,5.848,23225,5.848,23226,5.848,23227,5.848,23228,5.848,23229,5.848,23230,5.848,23231,5.848,23232,5.848,23233,5.848,23234,5.848,23235,5.848,23236,5.848,23237,5.848,23238,5.848,23239,5.848,23240,5.848]],["title/injectables/UserDORepo.html",[589,0.929,23241,5.841]],["body/injectables/UserDORepo.html",[0,0.112,3,0.006,4,0.006,5,0.003,7,0.046,8,0.617,10,2.739,12,2.423,18,2.722,26,2.441,27,0.505,29,0.976,30,0.001,31,0.719,32,0.159,33,0.586,34,1.779,35,1.475,36,2.617,40,2.594,47,0.824,48,5.106,55,0.65,56,1.531,58,2.118,59,1.007,95,0.13,96,0.859,99,0.665,101,0.004,103,0,104,0,112,0.254,113,2.131,122,1.115,125,1.275,129,1.6,130,1.462,135,1.613,142,3.192,145,1.212,148,1.151,153,1.552,158,1.2,185,1.837,197,2.199,205,1.615,206,1.058,224,0.947,231,0.928,277,0.468,279,1.362,290,2.952,317,2.914,331,3.871,346,2.377,365,1.449,393,1.602,430,1.334,431,1.391,435,1.102,436,3.516,478,0.908,540,2.395,569,1.01,579,0.938,589,0.715,591,0.774,595,1.224,652,2.456,657,2.471,692,1.531,700,2.58,701,2.58,702,2.64,703,1.007,704,4.454,729,3.705,735,2.447,736,4.345,766,1.758,770,2.039,788,2.212,789,1.771,790,2.212,863,2.942,869,3.882,1198,3.217,1770,3.555,1853,1.061,2139,1.878,2231,3.04,2436,8.707,2438,3.918,2439,3.918,2440,3.918,2441,3.918,2442,3.84,2443,3.84,2444,3.918,2445,3.84,2446,3.918,2453,2.377,2455,4.711,2456,2.377,2458,2.377,2460,2.147,2461,3.705,2462,2.377,2464,2.377,2466,3.918,2470,3.918,2472,3.705,2473,3.84,2475,2.377,2477,1.972,2478,2.039,2479,2.377,2481,2.377,2483,3.84,2484,2.377,2487,4.062,2501,2.287,2502,2.488,2511,2.634,3400,4.483,3601,3.004,4557,1.136,4562,3.402,4737,2.016,4747,2.846,4751,2.488,4752,2.488,4800,2.634,5025,2.33,5104,7.351,5106,2.876,5178,2.919,5183,3.067,5334,2.634,5335,2.634,5336,2.634,6244,2.793,7525,4.103,7591,2.728,7811,4.86,7821,7.455,7840,2.377,7841,2.377,7843,2.287,8002,6.766,8008,5.393,8009,2.634,8011,2.634,8014,2.846,10564,2.728,10568,2.846,10570,2.846,10578,4.691,10589,2.429,10590,2.429,10591,2.429,10592,2.429,10593,2.429,10595,2.429,10596,2.429,10597,2.429,10598,2.429,10607,3.004,10613,4.691,10742,6.23,10984,3.004,10986,3.004,10987,3.004,10988,4.951,10989,3.004,11142,4.101,12755,2.728,15010,2.377,15046,5.537,15070,3.646,15199,4.691,15204,4.691,15222,3.004,15229,3.004,15233,3.004,15987,3.004,17606,3.004,18657,2.555,19754,2.634,19757,2.846,19758,2.846,19989,4.004,22008,4.691,22010,4.691,23118,4.212,23119,4.101,23120,4.212,23147,7.643,23241,4.496,23242,10.403,23243,5.347,23244,4.951,23245,4.951,23246,5.347,23247,3.244,23248,3.244,23249,7.325,23250,3.244,23251,3.244,23252,4.951,23253,3.244,23254,3.244,23255,4.951,23256,3.244,23257,3.244,23258,3.244,23259,3.244,23260,3.244,23261,3.244,23262,3.004,23263,4.691,23264,3.244,23265,3.244,23266,3.244,23267,3.244,23268,3.244,23269,3.244,23270,3.004,23271,3.244,23272,3.244,23273,3.244,23274,3.004,23275,6.316,23276,3.244,23277,4.951,23278,3.244,23279,5.347,23280,3.004,23281,3.004,23282,3.244,23283,3.244,23284,3.244,23285,3.244,23286,3.004,23287,3.244,23288,3.004,23289,3.004,23290,3.004,23291,3.004,23292,3.244,23293,3.244,23294,3.244,23295,3.244,23296,3.004,23297,3.004,23298,3.004,23299,3.004,23300,3.004,23301,3.244,23302,3.244,23303,3.244,23304,3.244,23305,3.244,23306,3.244,23307,3.244,23308,3.244,23309,3.244,23310,3.244,23311,3.244,23312,3.244,23313,3.244,23314,3.244,23315,3.244,23316,3.244]],["title/interfaces/UserData.html",[159,0.713,11276,5.471]],["body/interfaces/UserData.html",[0,0.135,3,0.007,4,0.007,5,0.004,7,0.055,26,1.822,30,0.001,31,0.349,32,0.128,34,1.066,36,2.5,47,0.957,51,5.166,55,0.785,72,1.793,95,0.147,99,0.803,101,0.005,103,0,104,0,112,0.487,122,0.817,135,1.793,142,2.273,145,2.327,148,1.193,153,1.693,159,0.991,161,0.93,228,1.864,254,1.411,277,0.566,290,0.927,317,2.56,339,3.277,412,1.734,433,0.484,478,1.097,528,1.982,578,2.049,579,2.554,589,0.833,595,1.479,610,2.455,614,2.729,652,2.603,657,3.109,980,5.349,1065,4.337,1212,2.525,1472,2.191,1853,1.281,1884,2.408,2004,4.684,2005,4.651,2007,3.875,2017,5.133,2026,3.04,2032,4.375,2034,2.173,2039,4.475,2046,2.935,2047,2.815,2297,8.481,2369,2.191,2532,2.334,2561,2.357,2762,6.453,3867,4.248,3868,2.063,4557,1.372,4708,4.997,4830,2.631,4831,2.672,5024,4.301,5025,2.815,5416,4.665,5427,5.069,5909,2.594,6259,2.716,6641,5.208,6695,4.393,6765,2.672,6780,5.063,6864,2.716,6928,4.765,6929,5.133,6947,4.819,6953,5.808,6962,2.815,6963,2.815,7006,4.779,7397,3.606,7400,4.934,7401,2.763,7495,2.871,7542,3.087,8002,5.225,8008,4.248,8199,3.916,10073,2.763,10147,3.006,10312,4.862,10336,6.347,10407,3.087,10497,2.815,10500,7.159,10506,5.208,10535,3.006,11236,3.006,11237,3.182,11238,3.182,11239,3.182,11240,3.182,11241,3.182,11242,2.815,11243,3.182,11256,5.374,11258,3.182,11261,3.182,11263,3.182,11265,3.182,11266,7.174,11268,3.182,11270,3.182,11272,3.182,11274,3.182,11276,8.802,11277,3.182,11279,3.182,11281,3.182,11283,3.006,11284,4.565,11285,3.182,11286,4.908,11287,6.961,11288,4.908,11289,5.058,11290,5.058,11291,7.829,11292,5.058,11293,3.182,11294,5.058,11295,3.182,11296,3.182,11297,5.058,11298,3.182,11299,3.182,11300,5.058,11301,3.182,11302,3.182,11303,3.182,11304,3.182,11305,3.182,11306,3.182,11307,3.182,11308,3.182,11309,3.182,11310,3.182,11311,6.296,11312,3.182,11313,3.182,11314,3.182,11315,3.182,11316,3.182,11317,3.182,11318,3.182,11319,3.182,11320,3.182,11321,3.182,11322,3.182,11323,5.058,11324,3.182,11325,3.087,11326,3.182,11327,4.184,11328,2.631,11329,3.087,11330,3.087,11331,3.182,11332,5.058,11333,3.182,11334,5.058,11335,3.182,11336,3.087,11337,3.182,11338,3.182,11339,3.182,11340,3.182,11341,3.182,11342,3.182,11343,3.087,11344,3.087]],["title/classes/UserDataResponse.html",[0,0.24,20820,5.841]],["body/classes/UserDataResponse.html",[0,0.314,2,0.969,3,0.017,4,0.017,5,0.008,7,0.128,27,0.513,29,0.699,30,0.001,31,0.511,32,0.162,33,0.419,39,3.709,47,0.969,95,0.104,101,0.012,103,0.001,104,0.001,112,0.891,190,2.231,202,2.093,242,4.797,296,3.623,433,1.406,700,6.467,701,6.467,821,4.64,11147,5.949,11149,5.949,20820,11.272,23317,13.404,23318,9.114,23319,9.114,23320,9.114,23321,9.114,23322,9.114]],["title/classes/UserDoFactory.html",[0,0.24,23323,6.432]],["body/classes/UserDoFactory.html",[0,0.169,2,0.521,3,0.009,4,0.009,5,0.005,7,0.069,8,0.856,26,1.529,27,0.52,29,1.022,30,0.001,31,0.725,32,0.171,33,0.587,34,1.529,35,1.455,47,0.526,49,1.845,55,2.341,59,3.322,95,0.129,99,1.005,101,0.006,103,0,104,0,112,0.58,113,4.486,127,4.98,129,3.603,130,3.292,135,0.968,148,0.734,153,0.809,157,2.058,172,4.237,185,2.548,192,2.699,205,1.826,206,2.418,228,1.346,231,1.287,290,1.16,326,4.849,374,3.208,433,0.605,436,3.886,467,2.159,501,7.088,502,5.528,505,4.113,506,5.528,507,5.301,508,4.113,509,4.113,510,4.113,511,4.049,512,4.552,513,4.959,514,6.522,515,5.843,516,7.004,517,2.743,522,2.72,523,4.113,524,2.743,525,5.21,526,5.36,527,4.219,528,5.042,529,4.08,530,2.72,531,2.564,532,4.176,533,2.619,534,2.564,535,2.72,536,2.743,537,4.882,538,2.72,539,7.172,540,4.226,541,6.676,542,2.743,543,3.598,544,2.72,545,2.743,546,2.72,547,2.743,548,2.72,551,2.72,552,6.146,553,2.743,554,2.72,555,4.113,556,3.752,557,4.113,558,2.743,559,2.638,560,2.6,561,2.201,562,2.72,563,2.72,564,2.72,565,2.743,566,2.743,567,1.864,568,2.72,569,1.527,570,2.743,571,2.933,572,2.72,573,2.743,574,2.766,575,2.814,577,2.921,595,1.851,700,2.366,701,2.366,702,2.422,1770,1.993,3400,4.582,4557,1.717,4665,6.304,4667,3.523,5024,4.113,8002,2.658,8009,3.982,8668,4.303,13917,4.303,23323,8.28,23324,4.905,23325,7.416,23326,7.416,23327,4.905,23328,4.905,23329,4.542,23330,4.542]],["title/classes/UserDto.html",[0,0.24,23331,5.841]],["body/classes/UserDto.html",[0,0.24,2,0.739,3,0.013,4,0.013,5,0.006,7,0.098,26,2.532,27,0.552,29,0.533,30,0.001,31,0.39,32,0.175,33,0.653,34,1.862,47,0.98,83,3.412,95,0.109,99,1.425,101,0.009,103,0,104,0,112,0.746,122,1.99,129,2.855,130,2.609,205,1.419,290,2.255,433,0.858,458,2.781,478,1.947,561,3.12,578,3.634,700,5.254,701,5.254,702,5.376,704,5.544,1078,4.182,1198,6.551,3433,4.668,3434,4.538,4551,7.425,4557,3.812,4562,6.928,4634,4.1,4646,5.206,5435,5.644,6578,5.332,7782,4.182,11147,4.538,11149,4.538,11151,4.74,12963,8.021,13048,5.206,14252,6.099,16310,6.438,19984,6.438,19989,8.154,23118,8.577,23119,8.352,23120,8.577,23148,5.846,23151,5.846,23153,5.846,23155,5.846,23331,10.327,23332,6.952,23333,10.084,23334,6.952,23335,6.952,23336,6.952,23337,6.952,23338,6.952,23339,6.952,23340,6.952,23341,6.952,23342,6.952,23343,6.952,23344,6.952,23345,6.952,23346,6.952,23347,6.952,23348,6.952,23349,6.952,23350,6.952,23351,6.099,23352,6.952,23353,6.952]],["title/classes/UserFactory.html",[0,0.24,697,4.989]],["body/classes/UserFactory.html",[0,0.139,2,0.427,3,0.008,4,0.008,5,0.004,7,0.056,8,0.734,27,0.518,29,1.016,30,0.001,31,0.748,32,0.167,33,0.59,34,1.348,35,1.345,47,0.45,55,2.177,59,3.03,95,0.129,101,0.005,103,0,104,0,112,0.497,113,4.137,127,4.477,129,3.629,130,3.316,135,1.611,148,1.028,157,1.814,172,2.701,185,2.183,192,2.21,205,1.993,206,2.072,228,1.153,231,1.103,290,1.864,326,4.87,331,5.537,374,2.748,433,0.496,436,3.717,467,1.85,478,1.125,501,7.012,502,4.969,505,3.524,506,4.969,507,5.111,508,3.524,509,3.524,510,3.524,511,3.469,512,4.013,513,4.372,514,6.108,515,5.329,516,6.793,517,2.246,522,2.228,523,3.524,524,2.246,525,4.684,526,4.819,527,3.793,528,4.533,529,3.496,530,2.228,531,2.1,532,3.851,533,2.145,534,2.1,535,2.228,536,2.246,537,4.304,538,2.228,539,7.178,540,3.958,541,6.252,542,2.246,543,3.824,544,2.228,545,2.246,546,2.228,547,2.246,548,2.228,549,2.496,550,2.347,551,2.228,552,5.667,553,2.246,554,2.228,555,3.524,556,3.214,557,3.524,558,2.246,559,2.16,560,2.129,561,1.803,562,2.228,563,2.228,564,2.228,565,2.246,566,2.246,567,1.527,568,2.228,569,1.25,570,2.246,571,2.513,572,2.228,573,2.246,575,2.304,576,2.369,577,5.813,595,1.516,693,5.412,694,2.943,695,2.885,697,5.661,700,1.938,701,1.938,702,1.983,703,1.247,713,8.728,716,5.343,722,5.343,726,5.343,1826,5.571,2278,5.884,3400,5.318,5024,4.969,7650,3.164,7651,3.261,7660,3.164,11327,2.697,11328,2.697,13790,3.081,13917,3.524,21991,3.72,21997,8.298,23147,3.261,23329,3.72,23330,3.72,23354,4.017,23355,6.354,23356,6.354,23357,6.354,23358,6.354,23359,4.017,23360,4.017,23361,4.017,23362,6.354,23363,4.017,23364,6.354,23365,4.017,23366,6.354,23367,6.354,23368,6.354,23369,4.017,23370,4.017,23371,7.882,23372,4.017]],["title/classes/UserForGroupNotFoundLoggable.html",[0,0.24,17577,6.094]],["body/classes/UserForGroupNotFoundLoggable.html",[0,0.314,2,0.967,3,0.017,4,0.017,5,0.008,7,0.128,8,1.313,27,0.448,29,0.697,30,0.001,31,0.51,32,0.113,33,0.418,35,1.054,95,0.13,100,3.173,101,0.012,103,0.001,104,0.001,148,0.9,158,3.362,228,1.65,290,2.15,339,2.667,400,2.708,433,1.122,1027,2.793,1065,6.385,1115,3.48,1237,3.354,1422,5.085,1423,5.86,1426,5.839,1468,5.86,1469,6.166,1626,5.043,3343,6.531,4921,6.018,5024,5.043,9957,10.248,9972,6.2,12634,8.725,12882,6.809,17577,9.981,19876,8.42,19877,8.42,19878,8.42,23373,12.416,23374,9.093,23375,9.093,23376,9.093]],["title/interfaces/UserGroup.html",[159,0.713,11288,5.471]],["body/interfaces/UserGroup.html",[0,0.134,3,0.007,4,0.007,5,0.004,7,0.055,26,1.815,30,0.001,31,0.539,32,0.134,34,1.06,36,2.495,47,0.956,51,4.223,55,1.546,72,1.781,95,0.147,99,0.798,101,0.005,103,0,104,0,112,0.484,122,0.812,135,1.791,142,2.261,145,2.315,148,1.19,153,1.688,159,0.987,161,0.924,228,1.858,254,1.402,277,0.562,290,0.92,317,2.555,339,3.27,412,1.722,433,0.48,478,1.09,528,1.969,578,2.035,579,2.544,589,0.829,595,1.469,610,2.442,614,2.718,652,2.599,657,3.106,980,5.331,1065,4.32,1212,2.508,1472,2.176,1853,1.273,1884,2.392,2004,4.666,2005,4.634,2007,3.858,2017,5.11,2026,3.024,2032,4.366,2034,2.159,2039,4.451,2046,2.915,2047,2.796,2297,6.934,2369,2.176,2532,2.318,2561,2.341,2762,6.445,3867,4.225,3868,2.049,4557,1.362,4708,4.974,4830,2.614,4831,2.654,5024,4.282,5025,2.796,5416,4.645,5427,5.05,5909,2.576,6259,2.697,6641,5.184,6695,4.369,6765,2.654,6780,5.04,6864,2.697,6928,4.744,6929,5.11,6947,4.797,6953,5.781,6962,2.796,6963,2.796,7006,4.753,7397,3.587,7400,4.912,7401,2.744,7495,2.852,7542,3.066,8002,5.208,8008,4.225,8199,3.895,10073,2.744,10147,2.985,10312,4.844,10336,6.323,10407,3.066,10497,2.796,10500,7.146,10506,5.184,10535,2.985,11236,2.985,11237,3.16,11238,3.16,11239,3.16,11240,3.16,11241,3.16,11242,2.796,11243,3.16,11256,5.35,11258,3.16,11261,3.16,11263,3.16,11265,3.16,11266,7.147,11268,3.16,11270,3.16,11272,3.16,11274,3.16,11276,8.459,11277,3.16,11279,3.16,11281,3.16,11283,2.985,11284,4.541,11285,3.16,11286,4.881,11287,6.934,11288,6.081,11289,7.803,11290,7.803,11291,7.803,11292,5.031,11293,3.16,11294,5.031,11295,3.16,11296,3.16,11297,5.031,11298,3.16,11299,3.16,11300,5.031,11301,3.16,11302,3.16,11303,3.16,11304,3.16,11305,3.16,11306,3.16,11307,3.16,11308,3.16,11309,3.16,11310,3.16,11311,6.268,11312,3.16,11313,3.16,11314,3.16,11315,3.16,11316,3.16,11317,3.16,11318,3.16,11319,3.16,11320,3.16,11321,3.16,11322,3.16,11323,5.031,11324,3.16,11325,3.066,11326,3.16,11327,4.161,11328,2.614,11329,3.066,11330,3.066,11331,3.16,11332,5.031,11333,3.16,11334,5.031,11335,3.16,11336,3.066,11337,3.16,11338,3.16,11339,3.16,11340,3.16,11341,3.16,11342,3.16,11343,3.066,11344,3.066]],["title/interfaces/UserGroups.html",[159,0.713,11287,5.471]],["body/interfaces/UserGroups.html",[0,0.136,3,0.007,4,0.007,5,0.004,7,0.055,26,1.827,30,0.001,31,0.351,32,0.135,34,1.07,36,2.504,47,0.936,51,4.251,55,0.789,72,1.802,95,0.147,99,0.807,101,0.005,103,0,104,0,112,0.489,122,0.821,135,1.794,142,2.282,145,2.336,148,1.194,153,1.697,159,0.993,161,0.935,172,2.659,228,1.868,254,1.418,277,0.568,290,0.931,317,2.564,339,3.537,412,1.742,433,0.486,478,1.103,528,1.992,578,2.059,579,2.561,589,0.836,595,1.486,610,2.465,614,2.736,652,2.605,657,3.112,980,5.361,1065,4.349,1212,2.537,1472,2.202,1853,1.288,1884,2.42,2004,4.697,2005,4.664,2007,3.888,2017,5.149,2026,3.052,2032,4.382,2034,2.184,2039,4.492,2046,2.949,2047,2.828,2297,6.98,2369,2.202,2532,2.345,2561,2.369,2762,6.459,3867,4.265,3868,2.073,4557,1.378,4708,5.013,4830,2.644,4831,2.685,5024,4.315,5025,2.828,5416,4.681,5427,5.083,5909,2.606,6259,2.729,6641,5.225,6695,4.41,6765,2.685,6780,5.079,6864,2.729,6928,4.781,6929,5.149,6947,4.834,6953,5.826,6962,2.828,6963,2.828,7006,4.797,7397,3.62,7400,4.95,7401,2.777,7495,2.885,7542,3.102,8002,5.238,8008,4.265,8199,3.932,10073,2.777,10147,3.02,10312,4.876,10336,6.364,10407,3.102,10497,2.828,10500,7.168,10506,5.225,10535,3.02,11236,3.02,11237,3.197,11238,3.197,11239,3.197,11240,3.197,11241,3.197,11242,2.828,11243,3.197,11256,5.392,11258,3.197,11261,3.197,11263,3.197,11265,3.197,11266,7.194,11268,3.197,11270,3.197,11272,3.197,11274,3.197,11276,8.497,11277,3.197,11279,3.197,11281,3.197,11283,3.02,11284,4.583,11285,3.197,11286,4.927,11287,7.614,11288,4.927,11289,5.078,11290,5.078,11291,7.848,11292,5.078,11293,3.197,11294,5.078,11295,3.197,11296,3.197,11297,5.078,11298,3.197,11299,3.197,11300,5.078,11301,3.197,11302,3.197,11303,3.197,11304,3.197,11305,3.197,11306,3.197,11307,3.197,11308,3.197,11309,3.197,11310,3.197,11311,6.317,11312,3.197,11313,3.197,11314,3.197,11315,3.197,11316,3.197,11317,3.197,11318,3.197,11319,3.197,11320,3.197,11321,3.197,11322,3.197,11323,5.078,11324,3.197,11325,3.102,11326,3.197,11327,4.2,11328,2.644,11329,3.102,11330,3.102,11331,3.197,11332,5.078,11333,3.197,11334,5.078,11335,3.197,11336,3.102,11337,3.197,11338,3.197,11339,3.197,11340,3.197,11341,3.197,11342,3.197,11343,3.102,11344,3.102]],["title/classes/UserInfoMapper.html",[0,0.24,16492,6.094]],["body/classes/UserInfoMapper.html",[0,0.335,2,1.032,3,0.018,4,0.018,5,0.009,7,0.136,8,1.368,27,0.382,29,0.745,30,0.001,31,0.544,32,0.121,33,0.447,34,1.66,35,1.125,95,0.135,100,4.134,101,0.013,103,0.001,104,0.001,135,1.268,148,0.961,153,1.601,290,3.227,467,3.722,478,2.718,578,5.075,700,4.684,701,4.684,830,6.57,837,4.793,3433,6.519,3434,6.337,16463,10.808,16492,10.393,18773,10.393,19912,8.517,19914,8.517,23377,11.847]],["title/classes/UserInfoResponse.html",[0,0.24,16463,5.639]],["body/classes/UserInfoResponse.html",[0,0.291,2,0.897,3,0.016,4,0.016,5,0.008,7,0.119,27,0.499,29,0.647,30,0.001,31,0.734,32,0.158,33,0.603,34,2.332,47,0.95,95,0.096,101,0.011,103,0.001,104,0.001,112,0.849,157,2.914,190,2.153,201,4.658,202,1.939,205,2.216,290,3.17,296,2.835,304,4.168,413,6.598,433,1.339,458,3.378,700,6.319,701,6.319,821,4.298,1361,6.226,2300,6.65,3177,5.511,3178,5.795,3179,5.795,4712,7.818,7905,9.522,11147,5.511,11149,5.511,16463,10.634,19919,7.407,23378,13.098,23379,8.443,23380,7.818]],["title/classes/UserLoginMigrationAlreadyClosedLoggableException.html",[0,0.24,20564,5.639]],["body/classes/UserLoginMigrationAlreadyClosedLoggableException.html",[0,0.289,2,0.89,3,0.016,4,0.016,5,0.008,7,0.118,8,1.246,26,2.602,27,0.425,29,0.642,30,0.001,31,0.469,32,0.135,33,0.385,35,0.97,52,6.385,59,2.599,83,3.478,95,0.136,99,1.716,101,0.011,103,0.001,104,0.001,148,0.829,180,5.711,228,1.959,231,1.874,233,2.613,277,1.208,339,2.456,400,2.493,433,1.033,640,7.756,652,1.709,703,2.599,1027,2.572,1115,3.204,1237,3.182,1422,4.893,1423,5.639,1426,5.664,1434,5.394,1462,4.607,1468,5.639,1469,5.934,1477,4.347,1478,4.536,4938,5.468,6391,7.602,10281,5.622,12047,6.421,14182,6.797,15139,8.476,15165,6.595,20564,8.764,21604,6.421,23381,9.411,23382,11.948,23383,8.372,23384,9.411,23385,8.372,23386,8.372]],["title/modules/UserLoginMigrationApiModule.html",[252,1.835,20182,5.841]],["body/modules/UserLoginMigrationApiModule.html",[0,0.252,3,0.014,4,0.014,5,0.007,30,0.001,52,3.696,95,0.157,101,0.01,103,0,104,0,174,4.981,180,5.108,252,2.952,254,2.631,255,2.786,256,2.858,257,2.847,258,2.837,259,4.063,260,2.72,265,5.952,269,3.859,270,2.806,271,2.748,273,4.592,274,4.124,276,3.859,277,1.055,290,1.727,703,2.268,1027,2.244,1484,8.646,1523,10.454,1856,7.386,2069,4.351,2666,3.377,3017,3.448,4937,10.828,4938,3.343,6033,8.646,12128,5.931,16838,6.144,17125,10.828,17126,10.828,18793,10.828,20182,12.301,20183,6.144,20555,10.828,22542,10.828,23387,7.306,23388,7.306,23389,7.306,23390,10.828,23391,9.802,23392,7.306,23393,7.306,23394,7.306]],["title/controllers/UserLoginMigrationController.html",[314,2.658,23391,6.094]],["body/controllers/UserLoginMigrationController.html",[0,0.111,3,0.006,4,0.006,5,0.003,7,0.045,8,0.614,27,0.391,29,0.761,30,0.001,31,0.556,32,0.173,33,0.457,35,1.15,36,2.544,47,0.481,52,6.948,55,1.064,95,0.13,100,1.124,101,0.004,103,0,104,0,125,1.878,135,1.568,148,0.983,153,0.531,157,3.01,180,6.011,190,1.781,202,0.74,228,1.582,274,1.346,277,0.465,290,3.28,314,1.233,316,1.554,317,2.801,325,6.455,326,3.565,333,2.163,347,5.315,349,6.277,365,2.374,379,5.474,385,3.624,388,2.279,390,3.134,392,1.684,395,1.732,398,1.745,401,1.801,402,1.902,433,0.397,534,1.684,567,2.02,619,3.817,640,6.374,652,1.779,657,2.274,675,1.64,703,2.444,869,2.609,871,2.883,1368,1.816,1390,3.302,1422,1.319,1434,5.074,1563,3.424,1585,4.787,1853,1.053,2630,5.369,2992,2.408,3017,1.52,3221,1.661,3222,2.163,3223,1.772,3394,2.432,4046,5.242,4370,2.075,4937,5.706,4938,4.747,4941,4.663,4950,6.313,4951,6.203,4952,5.897,5106,4.235,5246,4.95,6237,2.163,7673,3.747,8016,6.04,9995,3.894,12659,4.47,13361,6.622,13848,4.922,15765,2.983,16313,5.953,16738,4.315,16885,6.909,18153,7.271,18155,5.77,18793,5.706,18795,4.663,19895,6.203,20018,4.47,20555,5.706,20558,4.663,20564,6.393,21604,8.495,22542,5.706,22544,5.953,22624,7.956,22635,2.983,22701,8.07,22702,8.723,23193,2.983,23390,5.706,23391,4.663,23395,10.373,23396,3.221,23397,4.922,23398,6.284,23399,6.284,23400,6.786,23401,3.221,23402,3.221,23403,9.606,23404,5.315,23405,5.315,23406,4.922,23407,3.221,23408,3.221,23409,3.221,23410,5.315,23411,3.221,23412,3.221,23413,3.221,23414,9.381,23415,3.221,23416,3.221,23417,3.221,23418,6.622,23419,3.221,23420,3.221,23421,3.221,23422,3.221,23423,3.221,23424,3.221,23425,3.221,23426,3.221,23427,3.221,23428,3.221,23429,5.315,23430,6.909,23431,6.909,23432,6.622,23433,3.221,23434,5.315,23435,3.221,23436,3.221,23437,6.909,23438,3.221,23439,3.221,23440,3.221,23441,4.922,23442,3.221,23443,3.221,23444,3.221,23445,3.221,23446,3.221,23447,3.221,23448,6.786,23449,5.315,23450,6.622,23451,2.826,23452,6.393,23453,9.417,23454,6.909,23455,3.221,23456,3.221,23457,3.221,23458,3.221,23459,3.221,23460,3.221,23461,3.221,23462,3.221,23463,3.221,23464,3.221,23465,5.315,23466,3.221,23467,6.786,23468,3.221,23469,3.221,23470,3.221,23471,3.221,23472,3.221,23473,3.221,23474,10.373,23475,6.786,23476,3.221,23477,3.221,23478,3.221,23479,3.221,23480,3.221,23481,3.221,23482,3.221,23483,3.221,23484,3.221,23485,3.221,23486,3.221,23487,3.221,23488,3.221]],["title/classes/UserLoginMigrationDO.html",[0,0.24,4950,4.419]],["body/classes/UserLoginMigrationDO.html",[0,0.269,2,0.828,3,0.015,4,0.015,5,0.007,7,0.109,26,2.758,27,0.541,29,0.597,30,0.001,31,0.437,32,0.171,33,0.643,34,1.761,47,0.552,83,3.953,95,0.118,101,0.01,103,0,104,0,112,0.805,134,2.751,180,5.866,231,1.787,232,2.79,433,0.961,435,2.644,436,2.313,1852,7.239,4557,4.038,4634,4.593,4635,5.832,4950,8.121,6652,5.706,6657,5.973,8108,5.973,14181,8.453,14185,6.832,23384,9.087,23489,13.741,23490,7.788,23491,9.087,23492,9.366,23493,9.366,23494,9.087,23495,10.297,23496,7.788,23497,7.788,23498,7.788,23499,7.788,23500,7.788,23501,7.788,23502,7.212,23503,7.212,23504,7.212,23505,6.832,23506,6.832,23507,6.832,23508,6.832,23509,6.832,23510,6.832,23511,6.832,23512,6.832]],["title/entities/UserLoginMigrationEntity.html",[205,1.418,15210,5.201]],["body/entities/UserLoginMigrationEntity.html",[0,0.24,3,0.013,4,0.013,5,0.006,7,0.098,27,0.512,30,0.001,32,0.165,33,0.609,83,3.852,95,0.134,96,1.841,101,0.013,103,0,104,0,112,0.746,125,2.596,180,5.731,190,2.332,195,2.894,196,4.297,197,2.652,205,1.948,206,2.267,211,6.04,223,3.938,224,2.029,225,3.664,226,3.15,228,1.262,229,2.75,231,1.207,232,1.883,233,2.169,290,1.644,692,5.531,703,3.38,1619,4.271,2932,7.513,5178,7.093,5685,5.113,7460,4.37,7461,4.226,7665,6.504,9808,4.901,15210,7.143,19629,6.438,23384,8.577,23397,6.438,23491,8.577,23492,8.841,23494,8.577,23505,6.099,23506,6.099,23507,6.099,23508,6.099,23509,6.099,23510,6.099,23511,6.099,23512,6.099,23513,11.608,23514,6.952,23515,10.084,23516,10.084,23517,6.952,23518,6.952,23519,6.952,23520,6.952,23521,6.952,23522,6.952,23523,6.952,23524,6.952,23525,8.833,23526,6.952,23527,6.952,23528,6.952,23529,6.952,23530,6.952]],["title/classes/UserLoginMigrationGracePeriodExpiredLoggableException.html",[0,0.24,23450,5.841]],["body/classes/UserLoginMigrationGracePeriodExpiredLoggableException.html",[0,0.286,2,0.883,3,0.016,4,0.016,5,0.008,7,0.117,8,1.24,26,2.594,27,0.423,29,0.637,30,0.001,31,0.465,32,0.134,33,0.382,35,0.962,52,6.365,83,3.465,95,0.136,99,1.702,101,0.011,103,0.001,104,0.001,148,0.822,180,5.799,228,1.949,231,1.864,233,2.591,277,1.198,290,1.963,339,2.435,400,2.472,433,1.025,652,1.695,1027,2.55,1115,3.178,1237,3.165,1422,4.874,1423,5.617,1426,5.647,1468,5.617,1469,5.911,1477,4.311,1478,4.499,4938,5.446,6391,7.571,13361,10.581,15139,7.991,15165,6.54,23381,9.374,23406,7.689,23430,11.039,23431,11.039,23450,9.03,23491,9.911,23531,8.303,23532,8.303,23533,8.303,23534,8.303,23535,8.303,23536,8.303,23537,8.303]],["title/classes/UserLoginMigrationMandatoryLoggable.html",[0,0.24,22548,6.094]],["body/classes/UserLoginMigrationMandatoryLoggable.html",[0,0.289,2,0.892,3,0.016,4,0.016,5,0.008,7,0.118,8,1.248,26,2.807,27,0.426,29,0.643,30,0.001,31,0.47,32,0.105,33,0.386,35,0.972,39,3.309,52,6.39,95,0.123,99,1.72,101,0.011,103,0.001,104,0.001,122,2.495,125,2.852,148,0.831,180,5.813,228,2.171,242,4.416,290,1.984,339,2.461,376,6.147,402,3.002,433,1.334,652,2.442,703,3.356,1027,2.577,1115,3.211,1237,3.187,1422,4.898,1423,5.645,1426,5.669,1468,5.645,1469,5.94,4938,5.473,5380,9.688,12047,6.435,12367,6.147,14538,7.361,15139,8.482,15165,6.608,22548,9.484,23381,9.421,23538,8.39,23539,8.39,23540,8.39,23541,8.39]],["title/classes/UserLoginMigrationMandatoryParams.html",[0,0.24,23437,6.094]],["body/classes/UserLoginMigrationMandatoryParams.html",[0,0.418,2,1.071,3,0.019,4,0.019,5,0.009,7,0.142,27,0.397,30,0.001,32,0.126,52,6.129,95,0.138,101,0.013,103,0.001,104,0.001,112,0.947,122,2.527,180,5.755,190,1.808,199,6.719,200,3.086,202,2.314,296,3.165,4938,5.544,5380,9.964,8256,7.726,23437,10.628,23542,11.219,23543,10.074,23544,10.074]],["title/classes/UserLoginMigrationMapper.html",[0,0.24,23451,6.094]],["body/classes/UserLoginMigrationMapper.html",[0,0.292,2,0.901,3,0.016,4,0.016,5,0.008,7,0.119,8,1.256,27,0.429,29,0.835,30,0.001,31,0.61,32,0.136,33,0.501,34,1.45,35,1.261,39,2.346,47,0.601,95,0.137,101,0.011,103,0.001,104,0.001,135,1.421,148,1.078,153,1.398,180,5.73,365,4.861,467,3.907,837,4.186,871,3.984,1770,3.445,1853,2.772,2496,5.978,3017,4.002,4938,5.5,4950,8.068,14181,6.212,23384,6.678,23418,10.664,23451,9.548,23452,10.296,23453,10.648,23491,6.678,23492,6.883,23493,6.883,23494,6.678,23545,12.02,23546,8.479,23547,10.883,23548,10.883,23549,10.883,23550,8.479,23551,8.479,23552,10.883,23553,8.479,23554,8.479,23555,8.479,23556,8.479,23557,8.479,23558,8.479,23559,8.479,23560,8.479]],["title/modules/UserLoginMigrationModule.html",[252,1.835,17126,5.841]],["body/modules/UserLoginMigrationModule.html",[0,0.245,3,0.013,4,0.013,5,0.007,30,0.001,95,0.152,101,0.009,103,0,104,0,180,4.131,252,2.908,254,2.557,255,2.708,256,2.777,257,2.767,258,2.757,259,4.004,260,4.098,264,9.169,265,5.902,269,3.785,270,2.727,271,2.67,276,3.785,277,1.025,279,2.98,610,2.797,703,2.204,1027,2.181,1525,9.354,1537,5.316,1540,5.099,2069,4.228,3858,7.933,3868,3.737,4938,3.249,4943,10.166,4944,10.928,4945,11.667,6033,8.573,16290,11.667,16296,10.056,17126,12.323,20183,5.97,23561,7.099,23562,7.099,23563,7.099,23564,7.099,23565,11.667,23566,7.099]],["title/classes/UserLoginMigrationNotFoundLoggableException.html",[0,0.24,4951,5.471]],["body/classes/UserLoginMigrationNotFoundLoggableException.html",[0,0.291,2,0.896,3,0.016,4,0.016,5,0.008,7,0.118,8,1.251,26,2.81,27,0.427,29,0.646,30,0.001,31,0.472,32,0.135,33,0.388,35,0.976,52,6.4,59,2.615,95,0.137,99,1.727,101,0.011,103,0.001,104,0.001,148,0.834,180,5.818,228,1.967,231,1.881,233,2.629,277,1.216,290,1.992,339,2.471,400,2.509,433,1.04,652,1.72,703,2.615,1027,2.588,1115,3.225,1237,3.195,1422,4.908,1423,5.656,1426,5.678,1462,4.636,1468,5.656,1469,5.952,1477,4.374,1478,4.565,2845,5.428,2935,6.352,4557,4.195,4634,4.969,4938,5.484,4951,8.538,5106,4.531,10281,5.657,14182,6.84,15139,8.496,15165,6.636,16785,11.097,20019,7.802,23381,9.439,23567,8.425]],["title/interfaces/UserLoginMigrationQuery.html",[159,0.713,23452,5.639]],["body/interfaces/UserLoginMigrationQuery.html",[3,0.02,4,0.02,5,0.01,7,0.149,30,0.001,32,0.132,33,0.574,39,3.79,47,0.94,52,5.351,101,0.014,103,0.001,104,0.001,112,0.975,159,1.087,161,2.512,180,5.325,4938,4.841,10879,9.28,23452,10.126,23568,10.578]],["title/injectables/UserLoginMigrationRepo.html",[589,0.929,16296,5.471]],["body/injectables/UserLoginMigrationRepo.html",[0,0.163,3,0.009,4,0.009,5,0.004,7,0.067,8,0.834,10,2.9,12,3.273,18,3.677,26,2.646,27,0.526,29,1.016,30,0.001,31,0.742,32,0.165,33,0.609,34,1.674,35,1.521,36,2.585,40,2.298,95,0.139,96,1.912,97,1.94,99,0.971,101,0.006,103,0,104,0,112,0.37,113,3.488,125,1.129,135,1.279,142,2.635,148,1.1,153,1.191,180,4.5,185,2.482,205,1.999,224,1.383,228,1.311,231,1.254,277,0.684,317,2.874,433,0.585,435,1.609,436,3.858,478,1.326,569,1.474,589,0.966,591,1.129,652,2.431,657,1.086,692,2.236,703,2.242,729,5.005,735,3.305,736,5.235,766,2.567,1027,1.455,1770,3.556,1853,1.549,2139,2.742,2436,9.413,2438,5.292,2439,5.292,2440,5.292,2441,5.292,2442,5.187,2443,5.187,2444,5.292,2445,5.187,2446,5.292,2447,3.471,2448,5.474,2449,4.092,2450,4.597,2452,5.292,2453,3.471,2455,5.831,2456,3.471,2458,3.471,2460,3.135,2461,5.005,2462,3.471,2464,3.471,2466,5.292,2470,5.292,2472,5.005,2473,5.187,2475,3.471,2477,2.88,2478,2.978,2479,3.471,2481,3.471,2483,3.402,2484,3.471,2490,3.283,4557,3.064,4737,2.943,4950,8.164,4952,4.54,5178,2.586,10589,3.547,10590,3.547,10591,3.547,10592,3.547,10593,3.547,10594,3.633,10595,3.547,10596,3.547,10597,3.547,10598,3.547,10605,3.731,14181,3.471,15210,8.917,15211,4.387,15238,6.688,16296,5.689,19632,3.846,19633,3.846,19731,6.688,19743,6.688,19754,3.846,19757,4.156,19758,4.156,20383,4.156,23384,5.689,23491,5.689,23492,5.864,23493,3.846,23494,5.689,23515,4.387,23516,4.387,23525,10.696,23569,9.791,23570,4.737,23571,4.737,23572,4.737,23573,4.737,23574,4.737,23575,4.737,23576,4.737,23577,4.737,23578,4.737,23579,4.737,23580,4.737,23581,4.737,23582,4.737,23583,4.737,23584,4.737,23585,7.222,23586,7.222,23587,4.737,23588,4.737,23589,4.737,23590,4.737,23591,4.737]],["title/classes/UserLoginMigrationResponse.html",[0,0.24,23453,5.639]],["body/classes/UserLoginMigrationResponse.html",[0,0.23,2,0.709,3,0.013,4,0.013,5,0.006,7,0.094,27,0.516,29,0.512,30,0.001,31,0.374,32,0.163,33,0.612,34,2.198,47,0.888,52,6.947,83,4.096,95,0.076,101,0.009,103,0,104,0,112,0.725,157,2.883,180,6.056,190,2.306,194,3.628,201,4.699,202,1.533,232,2.513,296,3.162,433,0.824,435,2.266,458,2.67,459,3.513,868,4.449,1361,6.607,1434,5.975,2162,7.113,2992,4.202,3394,5.271,3559,7.077,4938,6.089,8832,8.137,12025,7.113,14181,7.81,14185,5.856,23384,8.395,23430,8.137,23431,8.137,23453,9.826,23491,8.395,23492,8.653,23493,8.653,23494,8.395,23502,6.181,23503,6.181,23504,6.181,23505,5.856,23506,5.856,23507,5.856,23508,5.856,23509,5.856,23510,5.856,23511,5.856,23512,5.856,23592,12.322,23593,6.674,23594,9.274,23595,6.674,23596,6.674,23597,6.674,23598,6.674,23599,6.674,23600,6.674]],["title/injectables/UserLoginMigrationRevertService.html",[589,0.929,4945,5.841]],["body/injectables/UserLoginMigrationRevertService.html",[0,0.299,3,0.016,4,0.016,5,0.008,7,0.122,8,1.274,27,0.435,29,0.846,30,0.001,31,0.618,32,0.138,33,0.508,35,1.004,36,2.338,52,6.142,95,0.151,101,0.011,103,0.001,104,0.001,180,5.855,228,2.002,277,1.25,290,2.048,317,2.635,433,1.361,478,2.425,589,1.475,591,2.065,652,2.253,657,2.529,703,2.689,1853,2.832,2065,8.46,2067,8.413,2069,5.158,4938,5.556,4942,7.032,4943,9.889,4945,9.278,4950,8.132,4952,5.444,14441,7.599,15143,6.221,17589,7.599,23601,10.651,23602,8.661,23603,11.033,23604,8.661,23605,11.033,23606,8.661,23607,8.661,23608,8.661]],["title/injectables/UserLoginMigrationRule.html",[589,0.929,1878,5.841]],["body/injectables/UserLoginMigrationRule.html",[0,0.274,3,0.015,4,0.015,5,0.007,7,0.112,8,1.206,27,0.459,29,0.894,30,0.001,31,0.654,32,0.154,33,0.536,35,1.21,95,0.147,101,0.01,103,0.001,104,0.001,122,2.752,135,1.364,148,1.034,180,5.285,183,4.462,205,2.745,228,1.444,277,1.149,290,3.262,400,2.37,433,0.982,478,2.228,589,1.397,591,1.897,653,3.285,711,3.919,1237,2.346,1775,6.811,1801,8.198,1838,7.525,1853,2.602,1878,8.783,1981,6.729,1985,6.49,1992,5.267,3678,6.912,3679,5.343,3682,6.818,3684,5.343,3685,7.013,3686,5.831,4950,8.679,6885,5.715,19796,7.369,23609,12.379,23610,7.958,23611,7.958,23612,7.958,23613,7.958]],["title/classes/UserLoginMigrationSearchListResponse.html",[0,0.24,23454,6.094]],["body/classes/UserLoginMigrationSearchListResponse.html",[0,0.27,2,0.831,3,0.015,4,0.015,5,0.007,7,0.11,27,0.503,29,0.6,30,0.001,31,0.438,32,0.171,33,0.588,52,5.223,55,2.863,56,6.197,59,3.205,70,6.684,95,0.132,101,0.01,103,0,104,0,112,0.807,125,1.864,180,5.456,190,2.206,202,1.796,231,1.792,290,1.848,296,2.697,298,3.382,339,3.749,433,0.965,436,3.651,860,7.279,861,5.418,862,8.319,863,7.224,864,5.922,866,3.883,868,5.545,869,3.837,870,4.268,871,2.862,872,5.512,873,6.568,874,6.031,875,5.174,876,4.059,877,5.512,878,5.512,880,4.974,881,4.268,4938,4.724,10872,7.24,10873,7.24,23453,10.87,23454,9.057,23592,9.56,23614,7.818]],["title/classes/UserLoginMigrationSearchParams.html",[0,0.24,23418,5.841]],["body/classes/UserLoginMigrationSearchParams.html",[0,0.415,2,1.06,3,0.019,4,0.019,5,0.009,7,0.14,27,0.393,30,0.001,32,0.124,33,0.554,39,3.579,47,0.854,52,6.092,95,0.137,101,0.013,103,0.001,104,0.001,112,0.941,180,5.736,190,1.79,200,3.055,201,4.676,202,2.291,299,4.693,300,4.609,4938,5.511,10874,8.75,10877,8.75,23418,10.126,23542,11.151,23615,9.974]],["title/injectables/UserLoginMigrationService.html",[589,0.929,4943,5.089]],["body/injectables/UserLoginMigrationService.html",[0,0.129,3,0.007,4,0.007,5,0.003,7,0.053,8,0.693,26,2.074,27,0.477,29,0.928,30,0.001,31,0.678,32,0.151,33,0.557,35,1.377,36,2.702,39,1.035,47,0.825,48,1.836,55,1.202,83,2.505,95,0.133,99,0.767,101,0.005,103,0,104,0,122,2.205,125,2.052,135,1.681,142,3.14,148,1.199,153,1.811,180,5.802,228,1.562,277,0.54,279,1.57,317,2.924,433,0.741,478,1.047,569,1.868,579,2.173,589,0.803,591,0.892,652,2.604,657,2.818,703,1.863,711,3.938,1312,1.784,1422,1.532,1540,2.686,1853,1.223,1923,4.03,2065,5.695,2067,5.21,2069,2.227,2070,6.479,2218,1.67,2219,1.88,2220,1.815,3394,1.711,3868,1.969,3892,3.281,4228,2.185,4557,3.012,4938,5.627,4941,5.266,4943,4.398,4950,8.742,4952,8.282,4957,5.266,5106,2.011,5380,6.6,5416,6.051,7936,3.145,8002,4.662,11255,2.946,12925,5.963,13681,3.281,14181,2.74,14193,4.873,14778,3.145,15143,2.686,15284,2.946,15291,5.509,15300,6.6,15319,3.463,15331,3.036,16296,8.325,16311,3.281,16312,7.649,17589,3.281,18795,5.266,19434,4.232,19952,3.463,19956,3.463,19980,3.463,19990,9.315,19993,3.463,20058,3.463,20558,5.266,20564,3.036,20568,5.266,20569,3.463,20570,3.281,22544,6.596,23450,5.047,23493,4.873,23494,2.946,23601,10.788,23616,6.002,23617,6.002,23618,6.002,23619,6.002,23620,6.002,23621,6.002,23622,8.605,23623,3.74,23624,6.002,23625,6.002,23626,3.74,23627,6.002,23628,3.74,23629,6.002,23630,3.74,23631,6.002,23632,3.74,23633,6.002,23634,3.74,23635,6.002,23636,3.74,23637,6.002,23638,3.74,23639,6.002,23640,3.74,23641,3.74,23642,6.002,23643,3.74,23644,3.74,23645,3.74,23646,3.74,23647,3.74,23648,7.518,23649,7.518,23650,7.518,23651,3.74,23652,3.74,23653,6.002,23654,3.74,23655,3.74,23656,3.74,23657,3.74,23658,3.74,23659,6.002,23660,3.74,23661,3.74,23662,3.74,23663,6.002,23664,3.74,23665,6.002,23666,3.74,23667,3.74,23668,3.74,23669,6.002,23670,5.558,23671,3.74]],["title/classes/UserLoginMigrationStartLoggable.html",[0,0.24,18798,5.841]],["body/classes/UserLoginMigrationStartLoggable.html",[0,0.299,2,0.923,3,0.016,4,0.016,5,0.008,7,0.122,8,1.275,26,2.829,27,0.435,29,0.666,30,0.001,31,0.487,32,0.108,33,0.399,35,1.006,39,3.363,52,6.472,95,0.126,99,1.779,101,0.011,103,0.001,104,0.001,125,2.898,148,0.86,180,5.765,228,2.005,242,4.569,339,2.546,376,6.36,400,2.585,433,1.071,652,1.772,703,3.429,1027,2.666,1115,3.322,1237,3.257,1422,4.977,1423,5.736,1426,5.741,1434,5.592,1468,5.736,1469,6.036,4938,5.562,12367,6.36,15139,8.59,15165,6.837,18798,9.29,19906,8.038,19907,8.038,23381,9.573,23672,8.68]],["title/injectables/UserLoginMigrationUc.html",[589,0.929,23390,5.841]],["body/injectables/UserLoginMigrationUc.html",[0,0.17,3,0.009,4,0.009,5,0.005,7,0.069,8,0.86,26,2.772,27,0.394,29,0.767,30,0.001,31,0.56,32,0.125,33,0.46,35,1.04,36,2.391,39,2.483,47,0.875,52,2.497,95,0.151,99,1.012,100,1.722,101,0.006,103,0,104,0,135,1.53,142,3.648,145,1.843,148,0.738,153,1.86,174,3.365,180,5.37,228,2.189,277,0.712,290,2.364,317,2.678,339,1.448,365,4.009,402,1.766,433,0.919,478,1.382,579,2.889,589,0.996,591,1.177,595,1.863,610,1.945,652,2.462,657,2.883,693,2.247,756,1.952,869,5.267,998,4.719,1027,1.516,1197,4.037,1422,2.021,1472,2.759,1526,8.984,1778,3.102,1793,3.266,1853,1.614,1862,6.254,1961,2.969,2070,4.394,2449,4.896,2666,2.281,2667,2.939,2671,3.616,3221,2.545,4557,3.95,4830,3.314,4831,3.365,4920,6.576,4938,4.911,4940,4.007,4943,8.583,4944,9.227,4950,6.361,4952,8.032,4953,4.007,5115,7.566,9988,4.33,12379,4.007,13397,9.227,13412,5.579,13543,6.143,14178,4.33,14181,8.836,14210,5.351,16312,4.007,16821,9.51,16838,4.15,16851,4.15,16866,4.33,16897,4.57,16898,4.57,17218,3.887,17671,4.57,19997,4.33,22550,8.311,23390,6.265,23398,6.899,23399,6.899,23452,8.117,23565,9.489,23673,10.732,23674,4.935,23675,4.935,23676,7.45,23677,4.935,23678,7.45,23679,4.935,23680,4.935,23681,4.935,23682,7.45,23683,4.33,23684,4.33,23685,8.975,23686,4.935,23687,7.45,23688,4.935,23689,4.935,23690,4.935,23691,4.935,23692,4.935,23693,4.935,23694,4.935,23695,4.935,23696,7.45,23697,4.935,23698,8.975,23699,4.935,23700,7.45,23701,4.935,23702,4.935,23703,4.935,23704,4.935,23705,4.935]],["title/classes/UserMapper.html",[0,0.24,23706,6.094]],["body/classes/UserMapper.html",[0,0.321,2,0.989,3,0.018,4,0.018,5,0.009,7,0.131,8,1.332,27,0.366,29,0.713,30,0.001,31,0.522,32,0.116,33,0.428,34,1.591,35,1.078,95,0.132,101,0.012,103,0.001,104,0.001,148,0.921,153,1.534,205,1.9,290,3.101,331,5.106,467,3.652,478,2.605,700,4.488,701,4.488,702,4.593,704,4.737,1198,5.597,4557,3.256,4562,5.919,4737,5.781,4747,8.162,8011,7.553,12755,7.824,18978,9.704,18982,9.704,19754,7.553,19989,6.967,23118,7.328,23119,7.135,23120,7.328,23289,8.615,23290,8.615,23291,8.615,23296,8.615,23297,8.615,23298,8.615,23299,8.615,23300,8.615,23331,11.03,23333,8.615,23706,10.124,23707,9.304,23708,9.304,23709,9.304,23710,9.304]],["title/classes/UserMatchListResponse.html",[0,0.24,13873,5.841]],["body/classes/UserMatchListResponse.html",[0,0.363,2,0.692,3,0.012,4,0.012,5,0.006,7,0.092,27,0.472,29,0.499,30,0.001,31,0.511,32,0.169,33,0.552,34,1.114,39,1.802,47,0.808,55,2.794,56,5.867,59,2.83,70,6.329,95,0.137,101,0.012,103,0,104,0,112,0.713,125,1.553,142,2.376,157,2.861,180,2.78,190,2.045,195,1.425,200,1.995,201,3.54,202,1.496,231,1.582,232,1.764,242,3.428,243,4.093,290,3.017,296,3.334,298,2.817,331,2.881,339,3.518,374,2.817,415,5.981,433,0.804,436,3.385,567,2.475,614,2.011,700,4.398,701,4.398,855,3.69,862,7.93,863,6.84,864,5.229,866,3.234,868,5.046,869,3.196,870,3.555,871,2.384,872,4.591,873,5.8,874,5.326,875,4.31,876,3.381,877,4.591,878,4.591,880,4.143,881,3.555,886,2.868,1619,7.002,2009,4.31,3394,2.98,3395,4.195,3396,3.736,3400,3.337,3576,4.143,4938,4.172,5213,4.001,5376,4.677,6273,3.769,11147,4.251,11148,4.591,11149,4.251,11150,4.591,12332,4.513,12349,5.602,13769,4.994,13770,4.44,13804,7.666,13820,5.476,13873,7.666,13922,10.258,13924,8.067,13927,5.476,13928,5.476,13929,5.476,13930,5.476,13994,9.228,23711,8.442,23712,6.03,23713,6.512,23714,6.512,23715,5.713]],["title/classes/UserMatchMapper.html",[0,0.24,13865,5.841]],["body/classes/UserMatchMapper.html",[0,0.25,2,0.771,3,0.014,4,0.014,5,0.007,7,0.102,8,1.134,27,0.387,29,0.753,30,0.001,31,0.624,32,0.122,33,0.452,35,1.138,39,2.007,59,2.251,95,0.147,99,1.487,100,3.426,101,0.01,103,0,104,0,129,2.171,135,1.678,142,4.061,148,1.272,153,1.196,195,1.587,290,2.947,365,4.385,376,5.315,393,3.581,467,3.74,478,2.031,578,3.792,579,2.096,700,3.499,701,3.499,830,5.446,837,3.581,1393,6.385,2037,4.673,3395,4.673,3396,4.161,3433,4.87,3434,4.735,4938,5.094,5024,5.446,5025,5.209,6244,4.021,12332,5.026,12364,10.031,13048,5.431,13583,9.684,13769,7.53,13770,6.695,13779,10.85,13865,8.257,13867,6.363,13922,9.396,13924,8.537,13947,5.713,13949,6.099,14001,5.713,18773,8.614,18996,9.092,19001,6.717,19002,6.717,19003,6.717,23716,11.131,23717,7.253,23718,9.819,23719,7.253,23720,7.253,23721,7.253,23722,7.253,23723,9.819,23724,7.253,23725,7.253,23726,7.253,23727,7.253,23728,9.819,23729,7.253,23730,7.253,23731,7.253,23732,7.253,23733,7.253]],["title/classes/UserMatchResponse.html",[0,0.24,13922,5.471]],["body/classes/UserMatchResponse.html",[0,0.354,2,0.663,3,0.012,4,0.012,5,0.006,7,0.088,27,0.497,29,0.478,30,0.001,31,0.576,32,0.168,33,0.473,34,1.513,39,2.843,47,0.913,55,2.058,56,4.175,70,4.503,95,0.135,101,0.012,103,0,104,0,112,0.691,142,2.276,157,2.822,180,3.776,190,2.2,195,1.935,200,1.911,201,3.434,202,1.433,231,1.083,232,2.396,242,3.284,243,3.922,290,3.235,296,3.293,298,2.699,331,2.761,339,2.594,374,3.826,415,6.712,433,0.77,435,2.118,567,3.362,614,2.731,700,5.695,701,5.695,855,3.58,862,5.496,863,3.433,864,3.579,868,5.364,880,3.969,881,3.406,886,3.517,1361,3.579,1619,7.915,2009,5.854,3394,4.048,3395,5.699,3396,5.074,3400,4.532,3576,5.627,4166,3.792,4938,5.895,5213,5.435,5376,6.353,6273,5.12,11147,4.073,11148,4.399,11149,4.073,11150,4.399,12332,7.121,12349,6.87,13769,7.882,13770,7.007,13804,7.438,13820,5.246,13873,5.246,13922,10.146,13924,9.053,13927,5.246,13928,5.246,13929,5.246,13930,5.246,13994,10.356,23711,11.929,23712,5.777,23715,7.76,23734,6.239,23735,6.239,23736,6.239,23737,6.239,23738,6.239,23739,6.239,23740,6.239]],["title/interfaces/UserMetdata.html",[159,0.713,11286,5.471]],["body/interfaces/UserMetdata.html",[0,0.136,3,0.007,4,0.007,5,0.004,7,0.055,26,1.827,30,0.001,31,0.351,32,0.135,34,1.07,36,2.504,47,0.936,51,4.251,55,0.789,72,1.802,95,0.147,99,0.807,101,0.005,103,0,104,0,112,0.489,122,0.821,135,1.794,142,2.282,145,2.336,148,1.194,153,1.697,159,0.993,161,0.935,172,2.659,228,1.868,254,1.418,277,0.568,290,0.931,317,2.564,339,3.537,412,1.742,433,0.486,478,1.103,528,1.992,578,2.059,579,2.561,589,0.836,595,1.486,610,2.465,614,2.736,652,2.605,657,3.112,980,5.361,1065,4.349,1212,2.537,1472,2.202,1853,1.288,1884,2.42,2004,4.697,2005,4.664,2007,3.888,2017,5.149,2026,3.052,2032,4.382,2034,2.184,2039,4.492,2046,2.949,2047,2.828,2297,6.98,2369,2.202,2532,2.345,2561,2.369,2762,6.459,3867,4.265,3868,2.073,4557,1.378,4708,5.013,4830,2.644,4831,2.685,5024,4.315,5025,2.828,5416,4.681,5427,5.083,5909,2.606,6259,2.729,6641,5.225,6695,4.41,6765,2.685,6780,5.079,6864,2.729,6928,4.781,6929,5.149,6947,4.834,6953,5.826,6962,2.828,6963,2.828,7006,4.797,7397,3.62,7400,4.95,7401,2.777,7495,2.885,7542,3.102,8002,5.238,8008,4.265,8199,3.932,10073,2.777,10147,3.02,10312,4.876,10336,6.364,10407,3.102,10497,2.828,10500,7.168,10506,5.225,10535,3.02,11236,3.02,11237,3.197,11238,3.197,11239,3.197,11240,3.197,11241,3.197,11242,2.828,11243,3.197,11256,5.392,11258,3.197,11261,3.197,11263,3.197,11265,3.197,11266,7.194,11268,3.197,11270,3.197,11272,3.197,11274,3.197,11276,8.497,11277,3.197,11279,3.197,11281,3.197,11283,3.02,11284,4.583,11285,3.197,11286,6.129,11287,6.98,11288,4.927,11289,5.078,11290,5.078,11291,7.848,11292,5.078,11293,3.197,11294,5.078,11295,3.197,11296,3.197,11297,5.078,11298,3.197,11299,3.197,11300,5.078,11301,3.197,11302,3.197,11303,3.197,11304,3.197,11305,3.197,11306,3.197,11307,3.197,11308,3.197,11309,3.197,11310,3.197,11311,6.317,11312,3.197,11313,3.197,11314,3.197,11315,3.197,11316,3.197,11317,3.197,11318,3.197,11319,3.197,11320,3.197,11321,3.197,11322,3.197,11323,5.078,11324,3.197,11325,3.102,11326,3.197,11327,4.2,11328,2.644,11329,3.102,11330,3.102,11331,3.197,11332,5.078,11333,3.197,11334,5.078,11335,3.197,11336,3.102,11337,3.197,11338,3.197,11339,3.197,11340,3.197,11341,3.197,11342,3.197,11343,3.102,11344,3.102]],["title/classes/UserMigrationDatabaseOperationFailedLoggableException.html",[0,0.24,23741,6.094]],["body/classes/UserMigrationDatabaseOperationFailedLoggableException.html",[0,0.289,2,0.89,3,0.016,4,0.016,5,0.008,7,0.118,8,1.246,26,2.602,27,0.425,29,0.642,30,0.001,31,0.469,32,0.135,33,0.385,35,0.97,39,3.306,52,6.767,95,0.144,99,1.716,101,0.011,103,0.001,104,0.001,148,0.829,158,3.096,180,5.101,228,1.959,231,1.874,242,4.407,277,1.208,339,2.456,400,2.493,433,1.033,652,1.709,711,3.549,1027,2.572,1080,4.118,1237,3.182,1312,5.701,1313,5.709,1314,6.135,1422,4.893,1426,5.664,1462,4.607,1468,5.639,1477,4.347,1478,4.536,1927,7.046,4938,5.468,9086,9.007,9131,6.797,9993,6.269,12367,6.135,16790,7.753,19355,9.7,19923,11.064,19926,7.753,23381,9.411,23741,9.471,23742,8.372]],["title/classes/UserMigrationIsNotEnabled.html",[0,0.24,23743,6.432]],["body/classes/UserMigrationIsNotEnabled.html",[0,0.335,2,1.032,3,0.018,4,0.018,5,0.009,7,0.136,8,1.368,27,0.382,30,0.001,35,1.125,52,6.468,95,0.111,101,0.013,103,0.001,104,0.001,148,0.961,290,2.295,703,3.014,1027,2.982,1087,4.488,1115,3.716,1237,3.492,1422,5.236,1423,6.035,1426,5.974,1468,6.035,1469,6.35,4938,5.421,7626,6.103,12361,6.845,13560,6.425,23743,10.97,23744,11.847,23745,9.709,23746,9.709,23747,9.709]],["title/injectables/UserMigrationService.html",[589,0.929,23565,5.841]],["body/injectables/UserMigrationService.html",[0,0.209,3,0.012,4,0.012,5,0.006,7,0.085,8,1.001,26,2.723,27,0.435,29,0.847,30,0.001,31,0.619,32,0.138,33,0.508,35,1.173,36,2.574,47,0.923,52,3.07,66,8.621,83,1.767,94,6.146,95,0.146,99,1.244,101,0.008,103,0,104,0,135,1.442,153,1.82,158,3.207,180,4.987,228,1.837,277,0.876,317,2.825,433,1.07,579,1.754,589,1.16,591,1.447,629,4.565,652,2.658,657,2.931,666,9.592,938,4.927,1027,1.864,1080,3.806,1328,4.598,1422,2.486,1712,4.545,2449,5.227,3868,3.195,4938,5.345,5115,7.136,5416,7.308,8002,7.434,8009,4.927,9972,8.72,11255,4.78,14181,9.371,14202,8.032,14778,5.104,14784,5.62,14785,5.104,17367,4.78,17894,5.62,19355,4.927,19930,9.372,19935,9.372,23565,7.294,23601,10.248,23670,5.62,23741,5.325,23748,8.673,23749,6.069,23750,6.069,23751,6.069,23752,8.673,23753,6.069,23754,11.681,23755,11.681,23756,6.069,23757,6.069,23758,6.069,23759,6.069,23760,8.673,23761,6.069,23762,6.069,23763,6.069,23764,6.069,23765,6.069]],["title/classes/UserMigrationStartedLoggable.html",[0,0.24,23683,6.094]],["body/classes/UserMigrationStartedLoggable.html",[0,0.309,2,0.951,3,0.017,4,0.017,5,0.008,7,0.126,8,1.301,26,2.667,27,0.444,29,0.686,30,0.001,31,0.502,32,0.112,33,0.412,35,1.037,39,3.411,52,6.545,95,0.141,99,1.835,101,0.012,103,0.001,104,0.001,148,0.886,180,5.523,228,2.044,242,4.711,290,2.663,339,2.625,400,2.665,433,1.104,652,1.828,1027,2.749,1115,3.426,1237,3.321,1422,5.049,1423,5.818,1426,5.806,1434,5.767,1853,2.927,4938,5.641,4950,8.231,4952,7.749,12367,6.559,15139,6.01,20003,7.853,23683,9.883,23766,11.415,23767,8.951,23768,8.951,23769,8.951]],["title/classes/UserMigrationSuccessfulLoggable.html",[0,0.24,23684,6.094]],["body/classes/UserMigrationSuccessfulLoggable.html",[0,0.31,2,0.956,3,0.017,4,0.017,5,0.008,7,0.126,8,1.304,26,2.672,27,0.445,29,0.69,30,0.001,31,0.504,32,0.112,33,0.414,35,1.042,39,3.418,52,6.249,95,0.141,99,1.843,101,0.012,103,0.001,104,0.001,148,0.89,180,5.273,228,2.05,242,4.733,290,2.126,339,2.637,385,6.13,400,2.677,433,1.109,652,1.836,1027,2.762,1115,3.441,1237,3.33,1422,5.059,1423,5.83,1426,5.815,1853,2.94,4938,5.653,4950,8.244,4952,7.765,12367,6.588,15139,6.037,16738,7.3,19999,8.326,20003,7.888,23684,9.911,23766,11.439,23770,8.991,23771,8.991]],["title/modules/UserModule.html",[252,1.835,3858,4.316]],["body/modules/UserModule.html",[0,0.278,3,0.015,4,0.015,5,0.007,30,0.001,95,0.156,101,0.011,103,0.001,104,0.001,252,3.098,254,2.9,255,3.071,256,3.15,257,3.138,258,3.127,259,4.265,260,4.365,264,9.507,265,6.119,268,8.6,269,4.117,270,3.093,271,3.029,276,4.117,277,1.162,279,3.38,703,2.5,1027,2.474,1524,10.152,1537,6.031,2069,4.796,3858,9.039,5416,8.511,6033,8.888,23241,11.131,23772,8.053,23773,8.053,23774,8.053,23775,8.053,23776,8.053,23777,7.458,23778,7.458,23779,8.053,23780,8.053]],["title/classes/UserNotFoundAfterProvisioningLoggableException.html",[0,0.24,16840,6.094]],["body/classes/UserNotFoundAfterProvisioningLoggableException.html",[0,0.284,2,0.875,3,0.016,4,0.016,5,0.008,7,0.116,8,1.233,26,2.586,27,0.421,29,0.632,30,0.001,31,0.462,32,0.103,33,0.379,35,0.954,47,0.944,48,6.156,59,2.556,95,0.135,99,1.688,101,0.011,103,0.001,104,0.001,148,0.815,228,2.151,231,1.854,233,2.57,244,6.034,290,1.947,339,2.415,347,5.473,433,1.318,436,2.446,652,2.42,703,2.556,1027,2.529,1080,2.839,1115,3.152,1237,3.148,1422,5.137,1423,5.595,1426,5.629,1462,4.531,1463,9.393,1468,5.595,1469,5.887,1470,4.604,1471,6.034,1472,4.604,1476,5.06,1477,4.276,1478,4.462,3343,5.915,4218,6.316,5106,4.429,6237,5.53,7626,5.176,9972,8.083,9975,7.225,9981,8.188,9986,6.167,10281,5.53,12882,7.998,16840,9.37,16860,7.225,23781,10.681,23782,10.681,23783,8.235,23784,8.235,23785,8.235]],["title/classes/UserParams.html",[0,0.24,699,5.639]],["body/classes/UserParams.html",[0,0.414,2,1.055,3,0.019,4,0.019,5,0.009,7,0.14,27,0.391,30,0.001,32,0.124,34,2.053,39,3.572,47,0.851,95,0.137,101,0.013,103,0.001,104,0.001,112,0.939,157,2.284,187,6.769,190,1.781,194,4.696,195,2.626,196,3.971,197,3.338,200,3.04,202,2.279,290,2.839,296,3.136,699,9.747,855,4.859,4166,6.033,23786,9.925,23787,9.925]],["title/classes/UserParentsEntity.html",[0,0.24,23136,5.639]],["body/classes/UserParentsEntity.html",[0,0.307,2,0.945,3,0.017,4,0.017,5,0.008,7,0.125,27,0.508,29,0.682,30,0.001,31,0.498,32,0.161,33,0.409,47,0.998,95,0.102,96,2.354,101,0.015,103,0.001,104,0.001,112,0.877,159,0.913,190,2.206,223,4.282,224,2.595,232,3.039,433,1.097,435,3.019,700,6.226,701,6.226,702,6.372,2698,5.711,11147,5.804,11148,6.269,11149,5.804,11150,6.269,11151,6.063,11152,6.515,23136,9.107,23513,11.674,23788,8.234,23789,11.323,23790,11.218,23791,8.892,23792,8.892]],["title/interfaces/UserParentsEntityProps.html",[159,0.713,23789,6.094]],["body/interfaces/UserParentsEntityProps.html",[0,0.325,3,0.018,4,0.018,5,0.009,7,0.132,30,0.001,32,0.157,47,1.025,95,0.107,96,2.492,101,0.015,103,0.001,104,0.001,112,0.909,159,0.967,161,2.235,223,4.088,224,2.747,232,2.55,700,6.528,701,6.528,702,6.68,2698,5.918,11147,6.144,11148,6.636,11149,6.144,11150,6.636,11151,6.418,11152,6.897,23136,7.642,23513,8.258,23788,8.716,23789,11.064]],["title/interfaces/UserProperties.html",[159,0.713,23147,5.639]],["body/interfaces/UserProperties.html",[0,0.163,3,0.009,4,0.009,5,0.004,7,0.182,30,0.001,32,0.166,33,0.635,34,0.807,47,1.003,83,3.884,95,0.127,96,1.25,101,0.011,103,0,104,0,112,0.902,122,2.039,135,1.141,148,0.467,153,1.44,159,0.74,161,1.121,195,2.919,196,4.378,205,1.783,219,2.639,223,4.198,224,1.378,225,2.767,226,2.139,229,1.867,231,0.819,232,1.279,233,1.473,290,1.703,331,4.656,579,1.364,692,5.235,700,5.351,701,5.351,702,5.476,703,3.692,704,5.647,711,1.402,874,2.758,886,1.485,1078,4.285,1198,6.331,1237,1.392,1821,2.29,1826,4.475,1827,4.141,1835,2.419,2924,4.037,2927,2.618,2931,3.995,3382,2.118,3400,6.095,4410,2.784,4551,7.175,4557,1.652,4562,7.057,4623,3.846,4645,3.718,4646,3.535,5334,3.832,5335,3.832,5336,3.832,5344,5.394,5428,8.849,5685,3.382,6578,3.62,7436,4.426,7439,2.933,7460,2.967,7461,2.869,7782,2.84,7783,2.933,11142,8.071,11147,3.081,11148,3.328,11149,3.081,11150,3.328,11151,3.219,11152,3.459,11153,3.97,11154,4.141,11482,8.071,11543,3.832,11547,3.97,13773,3.97,15070,7.175,15159,3.535,17750,3.832,17765,3.832,17770,3.832,18657,3.718,18963,3.97,18964,3.97,18966,3.97,18970,6.057,19649,3.718,19989,7.88,21867,3.718,23117,4.371,23118,8.289,23119,8.071,23120,8.289,23136,9.005,23143,4.371,23144,6.67,23145,6.67,23146,6.67,23147,7.091,23148,3.97,23149,4.371,23150,4.371,23151,3.97,23152,4.371,23153,3.97,23154,4.371,23155,3.97,23156,4.371,23157,4.371,23158,4.371,23159,4.371,23160,6.67]],["title/injectables/UserRepo.html",[268,4.222,589,0.929]],["body/injectables/UserRepo.html",[0,0.122,3,0.007,4,0.007,5,0.003,7,0.05,8,0.662,10,2.302,12,2.598,18,2.918,26,2.355,27,0.477,29,0.896,30,0.001,31,0.655,32,0.146,33,0.538,34,1.424,35,1.381,36,2.782,39,2.303,40,2.781,47,0.788,48,4.085,49,1.329,55,0.707,56,1.667,59,1.779,70,1.799,72,2.623,95,0.127,96,1.518,97,1.447,98,2.125,99,0.724,101,0.005,103,0,104,0,129,2.165,130,0.966,135,1.715,142,2.091,145,3.418,148,1.065,153,0.945,158,2.12,193,2.491,195,1.254,197,1.594,205,0.721,206,1.869,224,1.031,231,0.995,252,1.514,268,3.485,277,0.51,290,2.543,317,2.938,331,3.683,393,1.744,415,4.733,436,2.472,478,0.989,532,4.335,540,3.441,569,1.099,571,2.861,579,1.021,589,0.767,591,0.842,595,1.333,624,2.645,652,1.477,657,2.548,692,3.929,700,1.704,701,1.704,702,2.83,703,2.584,704,2.918,728,5.976,730,6.699,732,5.308,734,2.406,735,2.623,736,3.593,756,1.397,759,2.104,760,2.147,761,2.125,762,2.147,764,2.125,765,2.147,766,1.914,770,2.221,771,2.537,781,3.099,789,3.949,790,3.909,863,1.944,870,1.929,1065,1.734,1072,5.979,1086,3.451,1087,3.344,1088,3.396,1089,3.614,1090,1.929,1091,2.372,1094,2.709,1393,5.25,1454,2.171,1829,1.502,1831,2.338,2037,3.693,2231,3.26,2477,3.485,2920,4.818,3382,4.107,3400,3.707,3718,3.909,4557,2.006,4800,2.868,5104,6.24,5106,1.9,5183,3.288,5232,5.1,5909,5.509,6159,4.602,7525,2.125,7591,2.971,7694,2.709,7811,5.115,7821,4.293,7840,2.588,7841,2.588,7884,4.396,10472,4.293,11482,2.709,11980,3.271,12086,6.346,12696,3.099,12697,3.099,13583,6.758,13766,2.537,13788,3.099,13795,9.044,13947,2.783,14001,2.783,14022,3.271,14088,3.271,14099,2.971,14100,3.271,14102,3.271,14107,3.099,14108,3.271,15010,2.588,15046,4.654,22008,5.029,22010,5.029,22258,5.308,23244,5.308,23252,5.308,23274,3.271,23277,3.271,23280,3.271,23281,3.271,23286,3.271,23288,3.271,23793,3.533,23794,5.308,23795,5.308,23796,7.234,23797,5.308,23798,5.308,23799,3.533,23800,5.308,23801,3.533,23802,3.533,23803,3.533,23804,3.533,23805,3.533,23806,5.308,23807,3.533,23808,3.533,23809,3.533,23810,3.533,23811,3.533,23812,3.533,23813,5.308,23814,3.533,23815,3.533,23816,5.732,23817,5.732,23818,5.732,23819,3.533,23820,3.533,23821,7.234,23822,3.533,23823,3.533,23824,3.533,23825,3.533,23826,3.533,23827,2.971,23828,5.732,23829,3.533,23830,3.533,23831,5.732,23832,3.533,23833,3.533,23834,5.732,23835,5.732,23836,5.732,23837,5.732,23838,5.732,23839,5.732,23840,5.732,23841,7.234,23842,3.533,23843,3.533,23844,3.533,23845,3.533,23846,3.533,23847,3.533,23848,5.308,23849,3.533,23850,3.533,23851,5.732,23852,3.533,23853,3.533]],["title/injectables/UserRule.html",[589,0.929,1879,5.841]],["body/injectables/UserRule.html",[0,0.281,3,0.015,4,0.015,5,0.007,7,0.114,8,1.223,27,0.464,29,0.904,30,0.001,31,0.661,32,0.156,33,0.542,35,1.228,95,0.143,101,0.011,103,0.001,104,0.001,122,2.604,135,1.539,148,1.049,183,4.51,205,2.798,228,1.476,277,1.174,290,3.418,400,2.422,433,1.004,478,2.278,589,1.417,591,1.94,653,3.359,711,3.942,1237,2.398,1775,6.869,1801,8.247,1838,7.589,1879,8.91,1981,6.827,1985,6.584,1992,5.384,3678,7.013,3679,5.462,3682,6.917,3684,5.462,3685,7.115,3686,5.961,23854,8.135,23855,8.135,23856,8.135,23857,8.135,23858,10.596]],["title/classes/UserScope.html",[0,0.24,23263,6.094]],["body/classes/UserScope.html",[0,0.212,2,0.654,3,0.012,4,0.012,5,0.006,7,0.086,8,1.011,26,2.291,27,0.522,29,0.963,30,0.001,31,0.704,32,0.165,33,0.578,35,1.455,59,3.645,83,4.089,95,0.116,99,1.261,101,0.008,103,0,104,0,112,0.685,122,2.546,125,2.8,129,1.841,130,1.683,148,1.163,197,1.711,231,1.52,279,2.582,290,1.455,365,2.748,436,3.488,478,1.723,569,1.915,652,2.492,703,1.91,2487,6.073,3090,6.175,4557,3.57,6244,5.349,6891,5.881,6892,5.881,6893,5.881,6898,5.881,6899,5.881,6900,4.195,6901,4.132,6902,4.195,6903,4.195,6912,4.132,6913,5.881,6914,4.195,6915,4.132,6916,4.195,6917,4.132,6918,7.885,7399,7.325,7831,4.995,9406,7.684,11904,7.684,11913,7.684,15503,5.398,19981,10.874,19989,6.559,20060,9.874,23119,7.821,23263,11.875,23270,8.111,23859,6.153,23860,8.759,23861,8.759,23862,6.153,23863,8.759,23864,6.153,23865,8.759,23866,6.153,23867,8.759,23868,6.153,23869,8.759,23870,6.153]],["title/injectables/UserService.html",[589,0.929,5416,4.178]],["body/injectables/UserService.html",[0,0.128,3,0.007,4,0.007,5,0.003,7,0.052,8,0.689,12,2.704,18,3.038,26,2.694,27,0.501,29,0.976,30,0.001,31,0.714,32,0.159,33,0.586,34,1.279,35,1.46,36,2.943,39,2.597,40,2.895,47,0.903,48,4.205,59,1.152,66,3.895,94,1.878,95,0.149,99,0.761,101,0.005,102,1.968,103,0,104,0,122,1.561,135,1.718,142,1.354,148,1.232,153,0.612,161,0.881,185,2.05,195,2.053,208,2.333,228,1.704,268,6.094,277,0.536,279,1.558,290,2.902,317,3.071,340,2.392,365,1.658,412,1.643,433,0.736,478,1.039,540,3.008,569,1.857,579,1.073,589,0.798,591,0.885,595,1.401,634,6.099,651,1.878,652,2.237,657,2.66,666,8.082,702,1.833,704,1.89,711,2.222,869,2.928,938,3.014,987,3.438,1198,2.233,1537,2.78,1712,2.78,1823,3.257,1826,3.057,1853,1.214,1997,4.7,2369,2.076,2445,4.285,2461,4.135,2533,2.111,2934,4.33,3382,3.357,3433,2.493,3434,3.895,4551,7.185,4994,5.373,5001,2.847,5097,8.082,5118,3.122,5416,3.589,6642,3.057,7811,5.265,7990,2.78,8002,6.898,8005,4.7,8008,4.068,8014,3.257,11159,5.235,15199,5.235,15204,5.235,17613,5.525,18580,3.257,20108,3.014,23196,5.525,23241,8.861,23245,5.525,23249,7.935,23255,5.525,23262,3.438,23275,3.438,23331,6.291,23351,3.257,23706,3.257,23777,3.438,23778,3.438,23794,5.525,23795,5.525,23797,5.525,23798,5.525,23800,5.525,23806,5.525,23848,5.525,23871,3.712,23872,5.967,23873,5.967,23874,5.967,23875,5.967,23876,5.525,23877,3.712,23878,5.967,23879,3.712,23880,3.712,23881,3.712,23882,3.712,23883,3.712,23884,3.712,23885,5.967,23886,3.712,23887,5.967,23888,3.712,23889,3.712,23890,5.967,23891,3.712,23892,5.967,23893,3.712,23894,5.525,23895,3.712,23896,5.525,23897,8.568,23898,3.712,23899,5.967,23900,3.712,23901,5.967,23902,3.712,23903,3.712,23904,3.712,23905,3.712,23906,3.712,23907,3.712,23908,3.712,23909,3.712,23910,3.712,23911,3.712,23912,3.712,23913,3.712,23914,3.712,23915,3.712,23916,5.967,23917,3.712,23918,3.712,23919,3.712,23920,3.712,23921,3.712,23922,5.967,23923,3.712,23924,3.712,23925,3.712,23926,3.712,23927,3.712,23928,3.438,23929,3.712,23930,3.438,23931,3.712,23932,5.967,23933,3.712]],["title/injectables/UserUc.html",[589,0.929,13876,5.639]],["body/injectables/UserUc.html",[0,0.257,3,0.014,4,0.014,5,0.007,7,0.105,8,1.153,26,2.726,27,0.475,29,0.924,30,0.001,31,0.676,32,0.15,33,0.555,35,1.307,36,2.554,39,2.764,95,0.151,99,1.525,101,0.01,103,0,104,0,135,1.473,148,0.989,153,1.227,161,1.767,195,2.185,208,4.678,228,1.813,268,7.869,277,1.074,279,3.123,290,2.85,317,2.809,326,4.286,400,2.216,433,0.918,478,2.084,569,3.109,579,2.15,589,1.336,591,1.774,634,7.654,651,3.764,652,2.461,657,2.585,837,3.674,1080,3.443,1823,6.528,1826,5.119,1997,7.869,2934,4.307,4549,10.136,4551,8.219,13182,6.891,13876,8.11,18580,6.528,20108,6.041,23351,6.528,23876,9.251,23894,9.251,23896,9.251,23928,6.891,23930,6.891,23934,7.441,23935,9.99,23936,7.441,23937,9.99,23938,7.441,23939,7.441,23940,7.441,23941,7.441,23942,7.441,23943,7.441]],["title/classes/UsersList.html",[0,0.24,7455,5.841]],["body/classes/UsersList.html",[0,0.215,2,0.824,3,0.007,4,0.007,5,0.004,7,0.151,26,2.219,27,0.305,30,0.001,31,0.434,32,0.134,34,1.649,39,2.145,47,0.913,62,2.332,83,2.988,95,0.14,96,1.037,101,0.01,103,0,104,0,112,0.487,122,1.299,125,2.447,129,2.32,134,1.383,135,1.723,148,1.306,153,1.842,155,1.242,157,1.784,159,0.402,195,2.444,196,3.188,197,1.088,205,1.271,219,3.481,223,3.467,224,1.143,225,2.391,226,1.774,229,1.548,231,0.68,232,1.061,233,1.222,290,2.427,304,1.933,371,2.075,403,3.15,433,0.483,458,1.566,467,1.812,526,2.106,540,1.375,569,1.938,578,2.047,579,1.799,595,1.478,615,3.784,652,1.803,692,4.169,700,4.261,701,4.261,703,1.933,711,3.503,756,1.548,774,3.292,886,2.438,962,2.76,1237,1.154,1312,2.97,1821,3.021,1829,2.646,1835,2.006,1925,2.38,2032,3.357,2163,1.81,2183,3.48,2924,4.745,2927,5.693,2931,4.299,2939,2.76,2941,2.461,3382,3.964,3433,2.629,3434,2.556,3613,2.287,3720,2.522,3874,4.064,4018,2.812,4063,2.461,4087,4.12,4088,4.12,4143,2.629,4410,2.309,4557,1.37,4558,5.465,4573,3.292,4607,5.679,4633,2.794,4708,4.993,5427,2.246,5685,2.923,6162,2.461,6163,3.708,6164,2.629,6167,3.961,6186,4.12,6187,2.522,6194,2.556,6207,2.669,6226,4.18,7297,2.932,7356,2.812,7392,3.435,7393,6.473,7394,5.285,7395,5.567,7396,4.18,7397,4.486,7398,2.713,7399,5.567,7400,4.931,7401,4.389,7402,5.679,7404,3.435,7406,3.435,7409,3.435,7411,3.435,7413,6.8,7416,3.435,7418,3.435,7427,3.435,7431,3.435,7432,5.804,7433,3.435,7434,3.435,7435,3.435,7436,3.825,7437,4.562,7438,3.178,7439,2.433,7440,2.207,7441,5.054,7442,5.054,7443,3.435,7444,3.178,7445,2.812,7446,3.435,7447,3.435,7448,3.292,7449,2.932,7450,3.435,7451,3.435,7452,3.084,7453,3.435,7454,3.868,7455,10.718,7456,5.567,7457,3.178,7458,4.12,7459,2.332,7460,2.461,7461,2.38,7462,3.178,7463,3.435,7464,3.435,7465,5.462,7466,5.462,7467,5.462,7468,7.17,7469,5.054,7470,4.775,7471,5.462,7472,4.662,7473,4.775,7474,2.932,7475,3.435,7476,3.435,7477,3.435,7478,3.435,7479,3.435,7480,5.462,7481,3.435,7482,3.435,7483,3.435,7484,3.435,7485,3.435,7486,3.435,7487,3.435,7488,6.518,7489,6.8,7490,3.435,7491,3.435,7492,3.435,7493,3.435,7494,3.435,7495,2.869,7496,3.435,7497,3.435,7498,3.435,7499,3.435,7500,3.435,7501,3.435,7502,3.292,7503,3.435,7504,6.8,7505,5.462,7506,3.435,7507,3.435,7508,3.178,7509,2.713,7510,3.435,7511,6.292,7512,3.435,7513,3.435,7514,3.435,7515,3.435,23944,3.915,23945,3.915,23946,3.915]],["title/classes/ValidationError.html",[0,0.24,338,4.268]],["body/classes/ValidationError.html",[0,0.272,2,0.838,3,0.015,4,0.015,5,0.007,7,0.111,8,1.198,27,0.528,29,0.604,30,0.001,31,0.442,32,0.173,33,0.534,35,0.913,47,0.933,55,1.578,59,2.446,95,0.118,101,0.01,103,0.001,104,0.001,112,0.811,155,3.911,190,2.3,228,2.523,231,1.801,233,2.459,277,1.137,338,6.376,402,2.819,433,0.972,436,3.908,868,5.916,871,2.884,998,5.476,1078,5.406,1080,4.417,1115,5.036,1354,8.657,1355,7.695,1356,7.574,1360,5.215,1361,4.52,1362,5.215,1363,5.215,1364,5.215,1365,5.215,1366,5.215,1367,4.841,1368,4.443,1369,6.206,1370,6.626,1373,4.74,1374,5.076,1375,6.043,1796,6.626,23947,7.88,23948,7.88,23949,7.297]],["title/classes/ValidationErrorDetailResponse.html",[0,0.24,1385,6.094]],["body/classes/ValidationErrorDetailResponse.html",[0,0.357,2,1.101,3,0.02,4,0.02,5,0.01,27,0.408,29,0.794,30,0.001,31,0.581,32,0.129,33,0.477,47,0.999,101,0.014,103,0.001,104,0.001,228,1.88,433,1.278,1080,4.246,1370,8.712,1381,8.829,1385,10.808,6344,8.537,23950,12.319,23951,10.36,23952,10.36,23953,10.36]],["title/classes/ValidationErrorLoggableException.html",[0,0.24,19501,6.094]],["body/classes/ValidationErrorLoggableException.html",[0,0.375,2,0.899,3,0.016,4,0.016,5,0.008,7,0.119,8,1.255,27,0.428,29,0.649,30,0.001,31,0.474,32,0.136,33,0.389,35,0.98,47,0.6,55,1.694,95,0.145,101,0.011,103,0.001,104,0.001,125,2.591,135,1.419,148,1.076,195,1.851,200,2.592,228,1.535,231,1.886,233,2.64,277,1.221,338,7.786,339,2.482,400,2.519,433,1.044,1115,4.16,1237,3.204,1312,5.729,1357,7.835,1359,8.824,1422,4.918,1426,5.687,1462,4.655,1468,5.981,1477,4.393,1478,4.584,2124,4.485,12370,6.664,12371,6.869,16783,11.12,19501,9.535,22573,7.835,23949,7.835,23954,12.008,23955,12.008,23956,8.461,23957,10.869,23958,8.461,23959,10.869,23960,8.461,23961,10.869,23962,8.461]],["title/modules/ValidationModule.html",[252,1.835,7350,6.094]],["body/modules/ValidationModule.html",[0,0.358,3,0.02,4,0.02,5,0.01,30,0.001,95,0.15,101,0.014,103,0.001,104,0.001,252,3.259,254,3.74,259,3.777,277,1.499,685,6.068,7350,10.824,7361,11.426,9901,7.966,9905,7.966,12584,10.824,23963,10.387,23964,10.387,23965,10.387]],["title/entities/VideoConference.html",[205,1.418,7454,4.316]],["body/entities/VideoConference.html",[0,0.366,3,0.016,4,0.016,5,0.008,7,0.176,27,0.465,30,0.001,32,0.156,47,0.753,95,0.121,96,2.163,101,0.016,103,0.001,104,0.001,112,0.923,122,2.463,190,2.119,205,2.169,206,2.663,221,6.116,223,4.125,224,2.384,225,4.081,226,3.701,228,1.482,229,3.231,231,1.418,232,2.213,233,2.549,540,4.39,886,2.57,2992,5.666,3725,6.116,4924,8.148,5427,6.094,5810,6.631,7454,6.601,7768,7.522,7794,5.759,9473,4.645,9475,5.406,9493,5.66,9494,5.66,9495,5.985,16470,6.434,16627,9.586,23966,11.579,23967,7.564,23968,9.363,23969,8.168,23970,8.168,23971,8.168,23972,7.166,23973,7.564,23974,7.564,23975,6.631,23976,6.869,23977,6.631,23978,6.434,23979,9.321,23980,7.564,23981,7.564,23982,7.564,23983,7.564,23984,7.564]],["title/classes/VideoConference-1.html",[0,0.199,756,2.284,7454,3.588]],["body/classes/VideoConference-1.html",[0,0.311,2,0.958,3,0.017,4,0.017,5,0.008,7,0.127,27,0.511,29,0.691,30,0.001,31,0.505,32,0.162,33,0.569,95,0.141,100,3.144,101,0.012,103,0.001,104,0.001,112,0.884,289,7.157,433,1.112,595,3.401,693,6.208,2137,7.032,2147,6.353,2153,5.478,2323,10.456,4264,9.513,7454,8.301,9473,5.124,9475,5.964,9485,6.353,9487,7.316,23985,11.721,23986,9.011,23987,11.313,23988,9.011,23989,9.483,23990,9.011,23991,8.345,23992,8.345,23993,9.011,23994,9.011,23995,8.345]],["title/modules/VideoConferenceApiModule.html",[252,1.835,20186,5.841]],["body/modules/VideoConferenceApiModule.html",[0,0.289,3,0.016,4,0.016,5,0.008,30,0.001,95,0.153,101,0.011,103,0.001,104,0.001,252,3.16,254,3.021,255,3.2,256,3.282,257,3.27,258,3.258,259,4.349,260,3.123,269,4.228,270,3.223,271,3.155,273,5.274,274,4.518,276,4.228,277,1.211,314,3.211,1856,7.677,2137,4.416,2666,3.878,3017,3.96,3858,8.316,3868,4.416,9473,4.771,9475,5.553,20186,12.225,20188,6.811,23996,8.39,23997,8.39,23998,8.39,23999,11.742,24000,11.255,24001,11.255,24002,11.255,24003,11.255,24004,10.057,24005,8.39]],["title/classes/VideoConferenceBaseResponse.html",[0,0.24,9476,5.471]],["body/classes/VideoConferenceBaseResponse.html",[0,0.394,2,1.347,3,0.014,4,0.014,5,0.007,7,0.107,27,0.479,29,0.585,30,0.001,31,0.427,32,0.152,33,0.525,47,0.809,95,0.116,101,0.015,102,6.452,103,0,104,0,110,2.636,112,0.794,122,2.381,153,2.007,231,1.762,289,6.608,402,4.085,412,5.386,433,0.941,540,2.677,595,2.878,693,5.936,871,4.456,1076,4.851,2126,4.454,2137,6.672,2532,7.249,7127,4.131,8978,5.71,9471,7.998,9472,9.985,9473,7.859,9474,6.69,9475,8.39,9476,10.481,9477,9.588,9481,9.268,9484,6.412,9485,5.376,9486,6.412,9487,6.191,9488,6.69,9489,8.244,9490,8.908,9491,6.412,9492,5.477,9493,5.284,9494,5.284,9495,5.587,9496,6.412,24006,10.154,24007,7.625,24008,7.625]],["title/classes/VideoConferenceConfiguration.html",[0,0.24,24009,6.094]],["body/classes/VideoConferenceConfiguration.html",[0,0.298,2,0.919,3,0.016,4,0.016,5,0.008,7,0.122,27,0.434,30,0.001,32,0.137,47,0.984,95,0.138,101,0.011,103,0.001,104,0.001,112,0.861,122,2.298,129,3.63,130,3.013,159,0.888,311,5.642,467,3.927,1268,6.77,1282,8.678,2137,6.384,2153,8.199,2218,3.86,2219,4.345,2220,4.193,2333,8.945,2334,9.666,2336,9.847,4228,5.049,5550,9.666,7454,7.536,9473,6.897,13633,10.641,13635,10.203,14870,7.582,17017,8.003,20188,9.847,24009,9.666,24010,11.018,24011,11.018,24012,11.018,24013,11.018,24014,10.203]],["title/controllers/VideoConferenceController.html",[314,2.658,24004,5.841]],["body/controllers/VideoConferenceController.html",[0,0.132,3,0.017,4,0.007,5,0.004,7,0.054,8,0.705,27,0.343,29,0.849,30,0.001,31,0.488,32,0.138,33,0.401,35,1.41,36,2.346,95,0.134,100,2.66,101,0.005,103,0,104,0,125,3.054,135,1.491,148,0.604,153,1.674,157,3.254,159,0.392,190,1.563,193,3.783,194,4.33,202,0.877,228,1.58,274,1.596,277,0.551,290,2.617,314,1.461,316,1.842,317,2.641,325,6.139,326,2.897,339,3.247,340,7.132,349,6.293,374,2.64,379,3.107,388,4.082,390,5.615,391,7.943,392,1.996,395,2.053,398,2.069,401,4.869,402,4.664,412,4.898,433,0.471,579,1.103,652,1.778,657,1.996,693,5.041,734,2.561,876,4.943,1080,1.316,1368,2.153,1375,6.678,1390,7.273,1434,5.61,1725,2.692,2104,7.322,2137,5.011,2232,6.729,2276,8.754,2312,8.76,2327,6.381,2342,6.254,2349,5.354,2369,4.869,2505,3.792,2971,8.988,3017,1.802,3083,3.671,3221,1.969,3343,7.951,4370,2.46,7529,2.297,8978,6.52,9086,2.527,9473,7.808,9475,8.751,11943,6.38,12380,8.064,12692,8.064,14170,3.35,20103,8.754,23968,6.52,24000,6.41,24001,6.41,24002,6.41,24003,6.41,24004,5.132,24015,8.816,24016,3.818,24017,3.818,24018,3.536,24019,12.171,24020,10.844,24021,3.818,24022,9.401,24023,3.818,24024,8.064,24025,3.818,24026,3.536,24027,3.818,24028,3.818,24029,3.818,24030,3.818,24031,3.818,24032,3.818,24033,6.103,24034,3.818,24035,3.818,24036,3.818,24037,7.069,24038,3.818,24039,6.103,24040,3.818,24041,3.211,24042,3.211,24043,3.1,24044,4.68,24045,4.68,24046,6.41,24047,6.41,24048,3.536,24049,3.818,24050,3.818,24051,3.536,24052,3.818,24053,6.103,24054,3.818,24055,8.708,24056,8.708,24057,3.818,24058,3.818,24059,3.818,24060,3.818,24061,3.818,24062,3.818,24063,3.818,24064,3.818,24065,3.818,24066,3.818,24067,3.818]],["title/classes/VideoConferenceCreateParams.html",[0,0.24,24037,5.639]],["body/classes/VideoConferenceCreateParams.html",[0,0.353,2,0.821,3,0.015,4,0.015,5,0.007,7,0.109,27,0.482,30,0.001,32,0.153,33,0.624,47,0.726,95,0.131,101,0.01,103,0,104,0,110,4.231,112,0.801,122,2.73,129,3.44,157,1.778,159,0.794,171,6.879,190,2.196,197,2.148,199,6.787,200,2.367,201,4.944,202,1.775,271,3.853,300,4.873,1115,3.921,1361,4.433,1434,6.6,1882,3.907,2137,6.702,2160,7.606,2344,6.227,2815,4.098,2916,8.615,3382,4.598,9473,7.591,9492,8.254,9493,7.964,9494,7.964,10176,6.274,10183,7.156,16190,9.487,22736,7.857,24037,8.317,24068,11.791,24069,11.492,24070,11.492,24071,7.728,24072,7.728,24073,10.245,24074,10.245,24075,10.245,24076,10.245,24077,10.245,24078,7.728,24079,7.728,24080,7.728,24081,6.498,24082,6.78,24083,6.78,24084,6.78,24085,7.728]],["title/injectables/VideoConferenceCreateUc.html",[589,0.929,24000,5.841]],["body/injectables/VideoConferenceCreateUc.html",[0,0.178,3,0.01,4,0.01,5,0.005,7,0.073,8,0.89,26,2.452,27,0.452,29,0.88,30,0.001,31,0.667,32,0.143,33,0.528,35,1.268,36,2.432,47,0.814,95,0.143,99,1.058,100,1.802,101,0.007,103,0,104,0,125,2.199,135,1.499,148,0.511,153,1.271,159,0.53,228,1.674,277,0.745,290,1.822,317,2.712,331,3.41,433,0.951,540,4.591,569,1.607,579,1.492,589,1.031,591,1.231,610,2.035,629,4.057,652,2.746,657,2.916,734,3.235,803,4.782,813,2.887,876,2.681,980,2.864,997,3.246,1328,4.086,1616,8.972,1853,1.689,1961,3.106,1994,3.784,2032,1.962,2136,5.772,2137,6.26,2141,5.536,2153,3.139,2154,4.067,2159,4.53,2199,10.069,2222,8.595,2236,4.192,2264,4.53,2298,8.619,2323,5.911,2325,8.803,2455,3.075,2580,3.327,2667,3.075,3868,2.718,4331,3.173,4557,1.807,5115,6.502,5416,7.154,6244,5.21,7454,3.208,7762,3.173,8002,4.176,9473,6.763,15497,4.782,17367,4.067,20099,10.328,20103,9.757,21457,4.192,23968,9.526,23978,4.067,24000,6.482,24086,10.001,24087,5.164,24088,7.708,24089,9.222,24090,7.708,24091,7.708,24092,4.342,24093,9.655,24094,5.164,24095,7.708,24096,5.164,24097,7.708,24098,5.164,24099,5.164,24100,5.164,24101,7.708,24102,5.164,24103,7.708,24104,5.164,24105,4.342,24106,5.164,24107,5.164,24108,7.755,24109,5.164,24110,4.53,24111,4.53,24112,5.164,24113,4.782,24114,7.755,24115,4.782,24116,4.53,24117,5.164,24118,5.164,24119,9.222,24120,5.164,24121,5.164,24122,5.164,24123,5.164,24124,5.164,24125,5.164,24126,4.53,24127,5.164,24128,5.164,24129,4.782]],["title/classes/VideoConferenceDO.html",[0,0.24,24130,5.471]],["body/classes/VideoConferenceDO.html",[0,0.376,2,0.903,3,0.016,4,0.016,5,0.008,7,0.119,27,0.517,29,0.652,30,0.001,31,0.476,32,0.164,33,0.554,34,1.864,47,0.853,95,0.124,101,0.014,103,0.001,104,0.001,112,0.852,122,2.51,231,1.892,433,1.048,436,2.524,540,4.224,1770,3.452,1852,7.485,2992,5.452,5810,6.898,6652,6.225,7768,7.238,7794,5.99,8108,6.516,8111,8.584,8112,6.692,9473,4.831,9492,6.102,9493,5.888,9494,5.888,9495,6.225,16470,6.692,20104,9.477,23975,6.898,23976,7.145,23977,6.898,23978,6.692,24126,7.454,24130,10.337,24131,12.153,24132,7.868,24133,10.898,24134,10.673,24135,8.496,24136,8.496,24137,7.868,24138,7.868,24139,7.454,24140,7.868,24141,7.868,24142,7.868]],["title/controllers/VideoConferenceDeprecatedController.html",[314,2.658,24143,6.094]],["body/controllers/VideoConferenceDeprecatedController.html",[0,0.153,3,0.018,4,0.008,5,0.004,7,0.062,8,0.792,10,1.781,27,0.331,29,0.83,30,0.001,31,0.471,32,0.171,33,0.386,35,1.307,36,2.292,47,0.848,95,0.142,100,3.3,101,0.006,102,4.452,103,0,104,0,135,1.235,148,0.832,157,3.134,159,0.455,190,1.507,194,4.231,202,1.018,228,0.805,274,1.853,277,0.64,290,2.558,314,3.215,316,2.139,317,2.597,325,6.072,326,3.192,333,4.609,337,6.647,339,3.173,340,6.969,342,7.061,349,6.224,374,2.969,379,3.495,388,1.901,390,5.577,391,7.648,392,2.318,395,2.385,398,2.402,400,1.32,401,4.696,402,4.375,412,3.037,595,1.673,657,2.344,693,4.926,734,2.881,1312,5.383,1390,7.243,1434,4.422,1725,3.126,2137,4.977,2147,3.126,2153,2.695,2276,5.265,2312,6.929,2327,5.28,2342,6.792,2349,6.022,2369,4.696,2532,4.088,2533,3.903,2667,6.719,2934,6.53,2971,8.782,3017,2.093,3221,2.287,3223,2.44,3343,7.77,3998,2.977,6244,5.303,7454,5.219,9471,6.616,9473,7.436,9475,8.091,9476,3.492,9492,3.184,9493,3.073,9494,3.073,9894,8.297,11182,10.512,20104,9.63,23989,3.401,24004,5.772,24015,8.757,24018,4.106,24022,10.018,24024,7.778,24026,4.106,24037,7.677,24044,6.442,24045,5.265,24048,4.106,24081,3.728,24082,3.89,24083,3.89,24084,3.89,24143,6.022,24144,4.434,24145,8.399,24146,4.434,24147,4.434,24148,4.434,24149,4.434,24150,4.434,24151,4.434,24152,4.434,24153,4.434,24154,3.89,24155,4.434,24156,6.357,24157,4.434,24158,4.106,24159,4.434,24160,4.434,24161,4.434,24162,8.399,24163,8.399,24164,4.434,24165,6.864,24166,4.434,24167,3.728,24168,4.434,24169,4.106,24170,4.106,24171,4.106,24172,4.434,24173,4.434,24174,4.434,24175,4.434,24176,4.434,24177,4.434,24178,4.434]],["title/injectables/VideoConferenceEndUc.html",[589,0.929,24001,5.841]],["body/injectables/VideoConferenceEndUc.html",[0,0.239,3,0.013,4,0.013,5,0.006,7,0.098,8,1.1,26,2.414,27,0.375,29,0.731,30,0.001,31,0.534,32,0.119,33,0.438,35,0.804,36,2.019,39,1.92,47,0.675,95,0.153,99,1.422,100,2.422,101,0.009,103,0,104,0,135,1.727,148,0.687,153,1.794,228,1.974,277,1.002,289,4.017,290,2.253,317,2.361,433,1.176,578,3.628,579,2.005,589,1.274,591,1.655,610,2.735,652,2.221,657,2.906,693,3.16,813,3.88,980,3.849,1853,2.269,1961,4.175,1994,5.085,2032,2.637,2087,3.002,2136,8.147,2137,5.727,2141,4.984,2147,4.893,2153,4.218,2154,5.466,2222,8.769,2236,5.634,2323,8.982,2325,9.724,2327,5.989,2667,4.133,3868,3.653,5115,4.893,5416,7.812,6244,4.796,7454,7.276,7762,4.264,8002,5.162,9473,6.187,17367,5.466,20099,8.833,20103,8.982,20187,5.634,21457,5.634,23989,5.322,24001,8.012,24042,5.836,24043,5.634,24086,9.149,24092,5.836,24093,10.543,24105,5.836,24108,8.012,24110,6.088,24111,6.088,24114,8.012,24116,6.088,24129,6.426,24179,6.94,24180,6.94,24181,9.528,24182,6.94,24183,6.088,24184,5.836,24185,6.088,24186,6.94,24187,6.94,24188,6.94,24189,6.426,24190,6.426]],["title/classes/VideoConferenceInfo.html",[0,0.24,24044,5.327]],["body/classes/VideoConferenceInfo.html",[0,0.311,2,0.96,3,0.017,4,0.017,5,0.008,7,0.127,27,0.511,29,0.693,30,0.001,31,0.506,32,0.162,33,0.416,47,0.64,95,0.141,100,3.151,101,0.012,103,0.001,104,0.001,112,0.886,159,0.928,190,2.033,221,6.763,223,2.803,231,1.966,433,1.114,436,3.676,540,4.346,2137,5.963,2153,5.49,2298,7.114,2992,5.133,4264,9.526,7216,7.923,7454,8.476,7768,6.815,9473,7.039,9475,5.977,9495,6.618,16627,7.332,23968,9.269,23985,9.939,24044,10.253,24191,9.032,24192,9.032,24193,9.032,24194,9.032,24195,9.032,24196,9.032]],["title/classes/VideoConferenceInfoResponse.html",[0,0.24,24046,5.841]],["body/classes/VideoConferenceInfoResponse.html",[0,0.297,2,0.915,3,0.016,4,0.016,5,0.008,7,0.121,27,0.477,29,0.66,30,0.001,31,0.482,32,0.151,33,0.396,95,0.138,101,0.011,103,0.001,104,0.001,112,0.859,157,2.786,190,1.972,202,1.976,289,7.626,296,3.162,433,1.062,540,4.626,868,4.129,886,2.707,2137,6.712,2300,6.778,3181,5.125,3182,5.132,8978,6.444,9472,10.045,9473,8.025,9475,8.917,9477,8.655,9481,11.118,9484,7.237,9485,6.067,9486,7.237,9495,6.306,9496,7.237,23380,10.175,24046,11.08,24197,10.179,24198,8.606,24199,7.969]],["title/injectables/VideoConferenceInfoUc.html",[589,0.929,24002,5.841]],["body/injectables/VideoConferenceInfoUc.html",[0,0.201,3,0.011,4,0.011,5,0.005,7,0.082,8,0.974,26,2.237,27,0.39,29,0.76,30,0.001,31,0.555,32,0.123,33,0.456,35,0.978,36,2.299,95,0.15,99,1.197,100,2.038,101,0.008,103,0,104,0,122,1.218,135,1.684,148,0.835,153,1.789,159,0.6,228,1.798,277,0.843,289,4.883,290,1.995,317,2.602,433,1.041,540,4.528,579,1.687,589,1.128,591,1.392,610,2.301,629,4.441,652,2.448,657,2.956,693,3.842,813,3.265,871,3.971,980,3.239,1328,4.472,1853,1.91,1961,3.513,1994,4.279,2032,2.219,2087,2.526,2136,7.417,2137,5.71,2141,4.194,2153,3.55,2154,4.6,2222,8.616,2236,6.849,2298,4.6,2323,8.32,2325,9.197,2330,7.812,2667,3.478,3868,3.074,5115,6.983,5416,7.438,6244,4.713,7762,3.588,8002,4.571,9473,6.169,17367,4.6,20099,8.041,20103,9.482,20187,4.741,21457,4.741,23968,7.417,23978,4.6,23989,4.479,24002,7.094,24042,4.911,24043,4.741,24044,8.32,24081,7.094,24086,9.123,24092,4.911,24093,10.038,24105,4.911,24108,8.329,24110,5.123,24111,5.123,24113,5.408,24114,9.123,24115,5.408,24116,7.401,24130,6.645,24134,8.329,24167,4.911,24183,5.123,24184,4.911,24185,5.123,24190,7.812,24200,5.84,24201,8.437,24202,5.84,24203,8.437,24204,5.84,24205,8.437,24206,5.84,24207,5.84,24208,5.84,24209,5.408,24210,5.408,24211,5.84,24212,5.84,24213,5.84,24214,5.84,24215,5.84,24216,5.408,24217,5.84]],["title/classes/VideoConferenceJoin.html",[0,0.24,24045,5.327]],["body/classes/VideoConferenceJoin.html",[0,0.313,2,0.964,3,0.017,4,0.017,5,0.008,7,0.128,27,0.512,29,0.696,30,0.001,31,0.509,32,0.162,33,0.417,47,0.805,95,0.13,100,3.166,101,0.012,103,0.001,104,0.001,110,4.288,112,0.888,289,7.179,433,1.119,595,3.424,693,6.219,2137,7.046,4264,9.553,7127,4.916,9473,7.766,9475,6.004,9485,6.396,9487,7.365,23985,11.744,23989,9.513,23991,8.401,23992,8.401,23995,8.401,24045,10.267,24218,9.072,24219,11.361,24220,9.072,24221,9.072,24222,9.072]],["title/classes/VideoConferenceJoinResponse.html",[0,0.24,24047,5.841]],["body/classes/VideoConferenceJoinResponse.html",[0,0.33,2,1.017,3,0.018,4,0.018,5,0.009,7,0.135,27,0.463,29,0.734,30,0.001,31,0.536,32,0.146,33,0.44,47,0.832,95,0.109,101,0.013,103,0.001,104,0.001,110,4.7,112,0.918,157,2.202,190,1.717,202,2.198,296,3.067,433,1.181,868,4.591,2137,6.687,2276,9.006,2293,8.862,7127,5.185,8978,7.166,9472,10.007,9473,7.731,9475,7.772,9477,9.249,9491,8.047,24047,11.432,24223,11.743]],["title/injectables/VideoConferenceJoinUc.html",[589,0.929,24003,5.841]],["body/injectables/VideoConferenceJoinUc.html",[0,0.236,3,0.013,4,0.013,5,0.006,7,0.096,8,1.09,26,2.4,27,0.372,29,0.724,30,0.001,31,0.529,32,0.118,33,0.434,35,0.793,36,2,47,0.485,95,0.153,99,1.403,100,2.389,101,0.009,103,0,104,0,110,3.263,135,1.649,148,0.678,153,1.781,228,1.96,277,0.988,289,3.962,290,1.618,317,2.344,331,4.176,433,1.165,579,1.978,589,1.262,591,1.632,610,2.697,652,2.205,657,2.799,693,3.117,1268,4.206,1853,2.238,2137,5.686,2141,4.916,2153,4.161,2154,5.392,2222,5.126,2255,6.005,2275,9.476,2276,8.284,2325,9.684,2667,5.621,3434,4.468,3868,3.603,5115,6.654,5416,7.783,6244,4.424,7454,4.253,8002,5.114,8346,5.126,9473,6.621,17367,5.392,20103,8.93,20187,5.557,23989,5.25,24003,7.937,24042,5.756,24043,5.557,24045,9.367,24086,9.083,24092,5.756,24093,10.504,24105,5.756,24108,9.083,24114,7.937,24130,7.434,24167,5.756,24183,6.005,24184,5.756,24185,6.005,24210,10.003,24216,6.339,24224,6.845,24225,6.845,24226,9.438,24227,6.845,24228,6.845,24229,6.845,24230,6.845,24231,6.845,24232,6.845,24233,9.438,24234,6.845,24235,9.438,24236,6.845,24237,6.845,24238,6.845,24239,6.845,24240,6.845,24241,6.845]],["title/classes/VideoConferenceMapper.html",[0,0.24,24041,5.841]],["body/classes/VideoConferenceMapper.html",[0,0.246,2,0.759,3,0.014,4,0.014,5,0.007,7,0.1,8,1.121,27,0.467,29,0.909,30,0.001,31,0.664,32,0.148,33,0.545,35,1.373,95,0.146,101,0.013,103,0,104,0,110,2.468,135,1.268,148,1.173,153,1.82,159,0.733,289,5.621,326,2.712,467,4.043,540,2.506,595,2.694,693,3.25,837,3.524,1725,5.032,2137,6.524,2153,4.338,2160,4.724,2222,5.344,2236,5.794,2238,6.609,9473,4.058,9481,8.962,9492,5.126,9493,4.946,9494,4.946,23968,8.267,23989,9.088,24037,9.62,24041,8.167,24044,9.506,24045,9.506,24046,9.964,24047,9.964,24051,6.609,24081,6.002,24082,6.262,24083,6.262,24084,6.262,24167,6.002,24169,6.609,24170,6.609,24171,6.609,24184,6.002,24189,6.609,24197,6.002,24199,6.609,24209,6.609,24242,12.395,24243,7.137,24244,9.712,24245,9.712,24246,9.712,24247,9.712,24248,9.712,24249,7.137,24250,9.712,24251,7.137,24252,9.712,24253,7.137,24254,9.712,24255,7.137,24256,6.609,24257,7.137,24258,7.137,24259,7.137,24260,7.137,24261,7.137,24262,7.137,24263,7.137,24264,7.137,24265,7.137,24266,7.137]],["title/modules/VideoConferenceModule.html",[252,1.835,23999,6.094]],["body/modules/VideoConferenceModule.html",[0,0.21,3,0.012,4,0.012,5,0.006,30,0.001,80,6.516,95,0.16,101,0.008,102,3.232,103,0,104,0,159,0.626,252,2.681,254,2.196,255,2.325,256,2.385,257,2.376,258,2.367,259,4.024,260,4.119,265,5.624,269,3.403,270,2.342,271,2.293,274,3.637,276,3.403,277,0.88,279,2.559,314,2.333,393,3.01,610,2.402,685,5.083,703,1.892,1027,1.873,1054,3.437,1267,6.25,1829,4.313,1856,6.979,1902,8.915,1915,8.432,1938,5.457,1940,6.623,2069,3.631,2087,2.637,2137,3.209,2153,3.706,2325,10.363,2337,10.232,2339,7.634,2666,2.818,3017,2.878,3858,8.097,3868,3.209,3872,5.68,3874,3.98,4282,10.674,4894,4.299,6033,8.17,6042,5.127,8920,8.578,9473,4.948,9475,6.715,12129,4.676,12130,4.676,13636,8.058,18019,4.676,20188,4.95,23999,12.768,24009,5.349,24014,5.646,24093,10.97,24143,9.708,24156,11.597,24267,6.097,24268,6.097,24269,6.097,24270,6.097,24271,10.674,24272,6.097,24273,6.097,24274,6.097,24275,6.097,24276,6.097,24277,6.097,24278,6.097,24279,6.097,24280,8.702]],["title/classes/VideoConferenceOptions.html",[0,0.24,23968,5.201]],["body/classes/VideoConferenceOptions.html",[0,0.364,2,0.861,3,0.015,4,0.015,5,0.007,7,0.175,27,0.491,29,0.621,30,0.001,31,0.454,32,0.161,33,0.373,47,0.574,95,0.121,96,2.145,101,0.016,103,0.001,104,0.001,112,0.919,122,2.766,205,2.158,223,3.869,224,2.365,225,4.059,226,3.671,228,1.47,229,3.205,231,1.406,232,2.195,233,2.528,433,1,540,4.13,886,2.549,2992,4.789,3725,6.067,4924,8.105,5427,6.062,5810,8.58,7454,5.034,7768,6.357,7794,5.712,9473,4.607,9475,5.362,9493,8.15,9494,8.15,9495,5.937,16470,6.382,16627,8.58,23966,11.973,23967,7.503,23968,9.928,23972,10.319,23973,7.503,23974,7.503,23975,6.578,23976,6.813,23977,6.578,23978,6.382,23979,9.272,23980,7.503,23981,7.503,23982,7.503,23983,7.503,23984,7.503,24281,10.568,24282,8.102,24283,8.102]],["title/classes/VideoConferenceOptionsDO.html",[0,0.24,24134,5.841]],["body/classes/VideoConferenceOptionsDO.html",[0,0.383,2,0.929,3,0.017,4,0.017,5,0.008,7,0.123,27,0.505,29,0.67,30,0.001,31,0.49,32,0.16,33,0.402,47,0.619,95,0.127,101,0.015,103,0.001,104,0.001,112,0.867,122,2.822,231,1.516,433,1.078,540,3.895,1852,6.542,2992,3.959,5810,9.007,7768,5.256,7794,6.16,8108,6.701,8111,6.882,8112,6.882,9473,4.968,9492,8.755,9493,8.447,9494,8.447,9495,6.402,16470,6.882,20104,8.738,23975,7.093,23976,7.347,23977,7.093,23978,6.882,24126,7.665,24130,8.738,24131,12.257,24132,8.091,24134,11.375,24137,8.091,24138,8.091,24139,7.665,24140,8.091,24141,8.091,24142,8.091,24284,11.094,24285,8.737,24286,8.737]],["title/classes/VideoConferenceOptionsResponse.html",[0,0.24,24197,5.841]],["body/classes/VideoConferenceOptionsResponse.html",[0,0.285,2,0.879,3,0.016,4,0.016,5,0.008,7,0.116,27,0.495,29,0.634,30,0.001,31,0.464,32,0.157,33,0.38,95,0.094,101,0.011,103,0.001,104,0.001,112,0.837,122,2.781,157,2.733,190,2.132,195,2.343,197,3.493,202,1.899,296,3.282,433,1.02,868,5.698,2137,6.85,2264,11.022,2276,8.213,2316,11.634,2629,8.104,8978,6.192,9026,8.019,9472,10.25,9473,7.4,9477,8.435,9492,8.531,9493,8.231,9494,8.231,23975,6.713,23977,6.713,24139,7.254,24197,10.943,24287,8.269,24288,10.709,24289,12.563,24290,10.709,24291,8.269,24292,8.269,24293,10.709,24294,8.269,24295,8.269,24296,8.269]],["title/injectables/VideoConferenceRepo.html",[589,0.929,24271,6.094]],["body/injectables/VideoConferenceRepo.html",[0,0.172,3,0.009,4,0.009,5,0.005,7,0.07,8,0.867,10,3.017,12,3.404,18,3.825,26,2.495,27,0.527,29,1.017,30,0.001,31,0.743,32,0.165,33,0.61,34,1.72,35,1.536,36,2.623,40,2.421,47,0.641,95,0.134,96,1.321,101,0.007,103,0,104,0,112,0.39,113,4.822,135,1.18,148,1.068,153,1.239,185,2.582,205,2.202,224,1.456,231,1.304,277,0.72,317,2.901,435,1.695,436,3.899,478,1.397,540,2.638,569,1.553,589,1.005,591,1.19,595,1.883,652,2.471,657,1.144,729,5.206,735,3.438,736,5.356,766,2.704,1770,3.671,1853,1.632,2139,2.888,2436,9.498,2438,5.505,2439,5.505,2440,5.505,2441,5.505,2442,5.396,2443,5.396,2444,5.505,2445,5.396,2446,5.505,2453,3.657,2455,5.987,2456,3.657,2458,3.657,2460,3.303,2461,5.206,2462,3.657,2464,3.657,2466,5.505,2470,5.505,2472,5.206,2473,5.396,2475,3.657,2477,3.033,2478,3.137,2479,3.657,2481,3.657,2483,3.584,2484,3.657,2502,3.827,2992,4.094,4410,4.431,4737,3.101,7454,7.306,7768,5.435,9492,3.584,9493,5.206,9494,5.206,10589,3.737,10590,3.737,10591,3.737,10592,3.737,10593,3.737,10594,3.827,10595,3.737,10596,3.737,10597,3.737,10598,3.737,11182,6.099,15975,4.197,16627,4.052,20104,9.262,20383,4.378,23972,4.378,23979,9.941,24130,9.262,24271,6.591,24297,9.035,24298,4.99,24299,7.513,24300,7.513,24301,4.99,24302,4.99,24303,4.99,24304,4.99,24305,4.99,24306,4.99,24307,4.99,24308,7.513,24309,7.513,24310,7.513,24311,7.513,24312,4.99,24313,4.99,24314,4.99,24315,4.99,24316,4.621,24317,4.99,24318,4.99,24319,4.99,24320,4.99,24321,4.99,24322,4.99,24323,4.99,24324,4.99,24325,4.99]],["title/classes/VideoConferenceResponseDeprecatedMapper.html",[0,0.24,24154,6.094]],["body/classes/VideoConferenceResponseDeprecatedMapper.html",[0,0.27,2,0.833,3,0.015,4,0.015,5,0.007,7,0.11,8,1.193,27,0.456,29,0.887,30,0.001,31,0.649,32,0.144,33,0.532,35,1.341,95,0.14,101,0.01,102,6.963,103,0.001,104,0.001,110,2.708,148,1.146,153,1.907,289,6.696,412,4.574,467,4.005,540,2.75,693,5.268,829,4.62,1725,5.523,2137,6.476,2147,5.523,2153,4.762,2532,6.156,2533,5.878,6853,7.254,7454,7.644,9471,9.691,9473,4.454,9475,5.184,9476,9.691,9489,9.988,9580,6.872,20814,7.254,24041,6.587,24043,6.36,24044,9.436,24045,9.436,24154,9.069,24158,7.254,24256,7.254,24326,12.303,24327,10.337,24328,10.337,24329,10.337,24330,10.337,24331,10.337,24332,10.337,24333,10.337,24334,11.57,24335,11.57,24336,7.833,24337,7.833]],["title/classes/VideoConferenceScopeParams.html",[0,0.24,24020,6.094]],["body/classes/VideoConferenceScopeParams.html",[0,0.392,2,0.967,3,0.017,4,0.017,5,0.008,7,0.128,27,0.448,30,0.001,32,0.142,47,0.807,95,0.142,101,0.012,103,0.001,104,0.001,112,0.889,190,2.042,194,5.089,195,2.716,196,3.763,197,3.617,200,2.786,202,2.088,296,3.243,595,3.432,855,4.604,886,3.579,899,4.141,2137,6.535,3182,5.313,6244,5.085,6721,9.981,9473,7.06,11182,10.08,20104,10.763,24020,9.981,24068,11.498,24338,9.093,24339,9.093,24340,9.093,24341,9.093,24342,9.093,24343,9.093]],["title/classes/VisibilitySettingsResponse.html",[0,0.24,4432,5.841]],["body/classes/VisibilitySettingsResponse.html",[0,0.341,2,1.05,3,0.019,4,0.019,5,0.009,7,0.139,27,0.471,29,0.757,30,0.001,31,0.554,32,0.149,33,0.593,47,0.849,95,0.113,101,0.013,103,0.001,104,0.001,112,0.936,190,1.772,201,5.001,202,2.268,433,1.477,821,5.028,4432,11.534,24344,12.881,24345,9.876,24346,13.716,24347,9.876,24348,9.876,24349,9.876]],["title/classes/WsSharedDocDo.html",[0,0.24,22224,5.639]],["body/classes/WsSharedDocDo.html",[0,0.169,2,0.521,3,0.009,4,0.009,5,0.005,7,0.069,8,0.856,27,0.474,29,0.821,30,0.001,31,0.715,32,0.154,33,0.459,35,1.036,47,0.798,55,2.143,80,9.014,95,0.129,101,0.006,103,0,104,0,112,0.58,122,1.023,125,1.17,129,1.468,130,1.341,135,1.47,142,4.265,148,0.734,153,1.223,157,2.294,172,3.152,195,1.073,231,1.287,233,1.531,360,6.647,388,5.283,433,0.605,560,3.931,569,2.783,652,2.564,711,3.841,886,1.543,1115,3.815,1835,6.77,2162,8.634,2183,1.933,2355,6.506,2782,4.882,2897,7.032,3218,2.839,4889,6.692,5761,6.506,6527,7.187,8298,3.294,8897,6.021,11577,6.021,11599,7.644,11991,3.762,12047,5.688,20264,8.849,22152,9.491,22153,3.762,22224,7.259,22228,10.256,22237,9.39,22240,4.303,22306,8.092,22365,8.209,22412,8.28,22433,4.542,22454,4.542,22456,4.542,22458,4.542,22464,4.542,22486,4.542,22487,4.542,22488,4.542,22491,4.542,22506,4.542,22532,4.542,24350,12.321,24351,4.905,24352,11.258,24353,8.942,24354,8.942,24355,7.416,24356,7.416,24357,10.703,24358,7.416,24359,4.905,24360,12.321,24361,4.905,24362,4.905,24363,4.905,24364,4.905,24365,7.416,24366,4.905,24367,11.258,24368,7.416,24369,4.905,24370,9.967,24371,4.905,24372,4.905,24373,4.905,24374,4.905,24375,4.905,24376,4.905,24377,4.905,24378,4.905,24379,4.905,24380,4.905,24381,4.905,24382,4.905,24383,4.905,24384,4.905,24385,7.416,24386,4.905,24387,4.905,24388,4.905,24389,4.905,24390,4.905,24391,4.905,24392,4.905,24393,4.905]],["title/interfaces/XApiKeyConfig.html",[159,0.713,9230,5.639]],["body/interfaces/XApiKeyConfig.html",[3,0.02,4,0.02,5,0.01,7,0.151,30,0.001,32,0.134,47,0.946,101,0.014,103,0.001,104,0.001,112,0.983,159,1.101,161,2.545,1372,5.642,9230,10.205,20124,12.74,24394,10.719,24395,10.719]],["title/injectables/XApiKeyStrategy.html",[589,0.929,1534,6.094]],["body/injectables/XApiKeyStrategy.html",[0,0.283,3,0.016,4,0.016,5,0.008,7,0.115,27,0.466,29,0.629,30,0.001,31,0.46,32,0.133,33,0.377,47,0.839,95,0.148,101,0.011,103,0.001,104,0.001,112,0.833,122,1.711,129,2.455,130,2.243,142,4.317,195,1.794,197,2.28,228,2.273,231,1.849,233,2.559,277,1.184,339,2.406,400,2.442,433,1.012,569,2.553,589,1.425,591,1.955,634,7.7,651,4.149,652,2.416,711,3.514,1080,3.672,1170,5.155,1213,7.527,1372,7.227,1534,9.345,1545,5.782,1595,6.658,1983,7.153,2124,6.271,4972,5.507,8946,7.595,9230,6.658,9232,7.595,9844,6.009,14284,6.29,14288,8.648,14293,6.658,22216,6.897,24396,12.524,24397,8.201,24398,11.831,24399,10.652,24400,8.201,24401,7.595,24402,8.201,24403,8.201,24404,8.201,24405,8.201,24406,8.201,24407,8.201]],["title/dependencies.html",[255,3.192,24408,5.066]],["body/dependencies.html",[0,0.249,4,0.009,5,0.007,10,1.9,30,0.001,32,0.059,34,0.809,36,1.853,56,2.233,96,2.316,97,1.938,103,0,104,0,131,2.409,171,3.177,193,3.135,200,2.679,202,1.087,206,1.543,224,1.381,255,1.805,277,0.683,317,1.898,379,2.409,574,2.668,610,1.864,620,2.94,651,2.394,695,3.398,702,2.336,804,5.403,871,1.732,924,4.151,1015,3.226,1054,2.668,1056,3.048,1060,3.226,1212,3.048,1220,2.714,1232,2.739,1263,4.151,1310,3.336,1311,3.089,1470,2.646,1543,4.151,1545,3.336,1548,3.543,1585,2.876,1619,4.434,1718,3.467,1749,2.691,1783,2.907,1884,5.374,1986,8.553,2083,4.776,2153,2.876,2163,2.187,2219,2.379,2220,3.501,2221,2.974,2467,3.727,2542,3.336,2782,2.583,2815,3.914,3781,2.907,3782,2.764,3866,2.379,4230,5.403,4240,4.151,4241,5.684,4242,8.298,4889,3.177,4920,3.467,4968,3.841,5042,2.409,5732,2.764,5773,5.287,5824,3.841,5825,3.841,6237,3.177,6573,2.691,7049,4.382,7352,3.398,7353,3.979,7445,3.398,7529,6.337,7766,3.543,8298,4.845,8697,4.382,8868,6.068,9874,5.684,9901,3.629,10260,3.841,10333,4.382,11356,4.151,11430,4.382,11530,8.293,12033,3.629,12034,4.382,12349,2.907,13129,6.682,13481,4.151,13482,3.979,13938,3.727,14284,8.079,14355,3.543,14547,3.629,15001,4.382,15834,4.382,16215,3.979,16216,4.151,16217,4.382,16356,3.841,16711,4.151,16943,4.151,16944,4.382,17881,4.382,18711,4.151,19324,4.382,19325,4.382,20138,4.151,22153,3.629,22240,4.151,22385,4.382,24401,4.382,24409,4.732,24410,7.216,24411,4.732,24412,10.535,24413,4.732,24414,4.732,24415,8.747,24416,7.216,24417,4.732,24418,4.732,24419,4.732,24420,7.216,24421,4.732,24422,9.785,24423,7.216,24424,11.102,24425,4.732,24426,4.732,24427,4.732,24428,4.732,24429,4.732,24430,4.732,24431,4.732,24432,4.732,24433,4.732,24434,4.732,24435,4.732,24436,4.732,24437,4.732,24438,4.732,24439,4.732,24440,4.732,24441,4.732,24442,4.732,24443,4.732,24444,4.732,24445,4.732,24446,7.216,24447,4.732,24448,4.732,24449,4.732,24450,7.216,24451,4.732,24452,4.732,24453,7.216,24454,4.732,24455,4.732,24456,4.732,24457,4.732,24458,7.216,24459,7.216,24460,4.732,24461,4.732,24462,4.732,24463,4.732,24464,4.732,24465,4.732,24466,4.732,24467,4.732,24468,4.732,24469,4.732,24470,4.732,24471,4.732,24472,4.732,24473,4.732,24474,4.732,24475,4.732,24476,4.732,24477,4.732,24478,7.216,24479,4.732,24480,4.732,24481,4.732,24482,4.732,24483,4.732,24484,4.732,24485,4.732,24486,4.732,24487,4.732,24488,4.151,24489,4.732,24490,4.732,24491,8.1,24492,4.732,24493,4.732,24494,7.216,24495,4.732,24496,8.747,24497,7.216,24498,4.732,24499,4.382,24500,4.732,24501,4.732,24502,4.732,24503,7.216,24504,4.732,24505,4.732,24506,4.732,24507,4.732,24508,4.732,24509,4.732,24510,4.732,24511,4.732,24512,4.732,24513,4.732,24514,4.732,24515,7.216,24516,4.382,24517,4.732,24518,4.732,24519,7.216,24520,4.732,24521,4.732,24522,4.732,24523,4.732,24524,4.732,24525,4.732,24526,4.732,24527,4.732,24528,4.732,24529,4.732,24530,4.732,24531,4.732,24532,4.732,24533,4.732,24534,4.732,24535,7.216,24536,4.732,24537,4.732,24538,4.732,24539,4.382,24540,4.732,24541,4.732,24542,4.732,24543,4.732,24544,4.732,24545,4.732,24546,4.732,24547,4.382,24548,4.732,24549,4.732,24550,4.732,24551,4.732,24552,4.732,24553,4.732,24554,4.732,24555,6.682,24556,4.382,24557,4.732,24558,4.732,24559,4.732,24560,4.732,24561,4.732,24562,4.732,24563,4.732,24564,4.732,24565,4.732,24566,4.732,24567,4.732,24568,4.382,24569,4.732]],["title/index.html",[7,0.081,1434,3.72,24570,5.066]],["body/index.html",[30,0.001,31,0.488,34,1.044,55,2.034,102,3.237,103,0,104,0,129,1.827,153,1.007,155,1.937,157,1.405,183,2.337,193,3.785,255,2.329,316,4.899,347,3.129,409,5.542,412,2.702,413,3.712,414,6.48,415,3.472,511,3.334,528,3.089,561,3.909,567,2.321,613,3.567,614,2.69,734,4.262,802,4.041,807,4.683,812,3.986,876,3.17,897,5.135,981,3.712,982,4.81,984,10.536,997,3.838,998,4.793,1080,3.003,1115,2.337,1218,3.986,1355,3.503,1372,4.585,1390,5.413,1477,3.17,1627,6.256,1749,3.472,1783,3.752,1832,3.885,1884,7.194,1899,3.986,1918,4.231,1938,3.284,1944,8.99,2163,4.027,2218,2.727,2220,2.962,2231,3.472,2543,5.955,2561,6.661,2562,5.612,2563,6.037,2568,4.1,2580,5.612,2629,3.712,2630,4.163,2818,4.041,2844,6.681,2897,5.24,2909,4.81,2916,5.135,2919,5.135,3059,6.383,3394,2.794,3782,6.839,3785,7.328,4018,4.385,4205,6.681,4206,8.782,4259,4.683,4887,4.163,4971,4.957,5106,3.284,5190,4.231,5215,8.492,5287,4.81,5292,6.383,5341,5.357,5732,3.567,5883,5.413,5989,5.135,6134,5.137,6248,4.474,6260,4.572,6504,4.957,6527,4.1,6750,3.712,7065,4.1,7173,5.765,7257,4.957,7356,4.385,7357,4.572,7529,6.661,7626,5.476,7769,5.042,7774,4.683,8379,4.572,9242,4.957,10468,6.681,11181,4.81,11612,6.924,12355,4.81,12464,7.16,13137,4.385,13783,6.681,14764,8.245,15395,6.861,15438,4.231,16328,4.957,16699,4.572,16715,5.135,16982,4.957,18013,4.81,18019,4.683,19384,6.861,19880,5.357,22736,4.683,23827,5.135,24571,7.325,24572,4.683,24573,5.357,24574,5.135,24575,5.357,24576,4.957,24577,7.325,24578,7.072,24579,5.357,24580,5.357,24581,5.357,24582,8.067,24583,7.325,24584,5.654,24585,5.654,24586,5.654,24587,5.135,24588,5.357,24589,8.067,24590,5.135,24591,5.135,24592,8.067,24593,5.357,24594,4.683,24595,5.135,24596,5.357,24597,5.357,24598,4.957,24599,5.654,24600,5.357,24601,5.654,24602,5.135,24603,4.81,24604,5.357,24605,8.067,24606,8.067,24607,8.909,24608,10.272,24609,5.357,24610,5.654,24611,8.067,24612,5.357,24613,5.654,24614,5.654,24615,5.654,24616,8.067,24617,8.067,24618,5.654,24619,5.654,24620,5.654,24621,5.135,24622,5.654,24623,4.957,24624,5.654,24625,7.325,24626,5.654,24627,5.135,24628,5.654,24629,5.357,24630,5.654,24631,5.135]],["title/license.html",[1434,3.72,6534,3.77,24570,5.066]],["body/license.html",[0,0.042,4,0.024,5,0.002,8,0.14,27,0.048,30,0,53,2.871,55,0.45,56,1.062,72,3.549,74,0.932,76,1.125,77,0.783,79,1.973,83,0.354,87,0.611,95,0.014,103,0,104,0,141,0.964,146,3.138,148,0.12,153,1.027,159,0.59,161,0.746,183,0.465,185,3.373,189,1.382,194,1.533,205,0.459,223,0.377,271,0.457,289,0.703,290,2.033,329,1.91,339,0.921,347,0.622,356,0.816,370,1.125,371,3.303,374,0.973,379,0.618,402,0.435,403,0.614,412,4.343,413,0.738,416,1.125,525,0.635,528,1.982,540,0.426,543,1.901,550,0.71,552,0.663,560,2.439,561,1.759,569,0.378,571,0.48,585,0.89,610,0.886,612,0.816,617,1.066,627,1.066,628,2.334,640,0.746,652,0.248,685,3.042,693,3.217,703,0.377,711,3.261,756,1.82,758,2.177,810,1.648,812,4.067,813,2.191,815,1.066,816,9.401,876,0.631,982,1.772,998,5.504,1083,2.209,1088,0.57,1097,1.586,1198,1.353,1218,3.399,1222,0.957,1223,2.353,1224,2.256,1238,2.409,1302,0.674,1355,0.697,1380,1.684,1388,4.966,1390,3.871,1393,2.248,1454,0.746,1455,3.899,1461,0.91,1475,0.764,1493,3.736,1568,3.608,1619,1.382,1625,7.174,1626,2.173,1713,1.826,1749,2.228,1799,1.066,1826,3.619,1831,5.133,1832,3.312,1885,0.957,1918,4.895,1920,0.804,1924,0.842,1929,1.616,1930,1.125,1938,1.21,2105,1.772,2124,0.644,2162,0.932,2163,3.432,2203,8.253,2230,1.892,2231,1.279,2312,2.871,2327,0.764,2344,2.382,2369,1.258,2392,0.463,2455,1.34,2542,2.215,2543,3.799,2554,4.667,2557,4.665,2580,3.354,2596,2.083,2597,1.725,2617,6.324,2629,4.899,2630,0.828,2631,1.534,2818,5.334,2823,6.244,2841,0.91,2847,1.826,2868,1.616,2891,1.066,2892,1.772,2897,1.89,2901,1.125,2912,0.932,2913,6.174,2914,5.041,2917,4.227,2976,3.608,2978,7.957,3026,2.594,3290,0.986,3382,3.332,3394,2.106,3485,0.783,3576,1.431,3597,1.616,3721,3.244,3830,4.665,3866,0.611,3893,1.772,3940,3.803,4183,0.957,4202,0.986,4204,1.559,4206,0.783,4274,0.986,4331,1.93,4495,1.066,4497,2.756,4500,1.125,4629,1.021,4874,0.932,4881,0.89,4889,2.631,4890,0.91,4912,0.986,4967,0.89,4971,4.665,4973,1.021,5055,0.957,5106,1.21,5107,1.021,5108,1.468,5196,1.125,5202,1.88,5213,1.382,5239,4.875,5246,3.273,5253,1.066,5292,2.302,5316,0.91,5331,4.037,5338,2.083,5381,1.125,5565,1.431,5710,5.897,5732,0.71,5761,2.558,5762,1.534,5805,1.772,5995,0.986,6134,1.327,6165,5.192,6169,0.828,6182,3.189,6240,1.066,6244,0.497,6248,2.302,6253,2.409,6526,2.642,6534,8.929,6686,4.665,6687,6.514,6750,0.738,7065,2.11,7071,2.909,7297,2.353,7353,1.021,7448,1.021,7529,1.353,7626,0.764,7654,0.842,7673,2.215,7744,3.625,7771,0.872,7797,1.648,7970,0.957,7975,0.89,7987,1.066,7988,3.087,8379,2.353,8418,0.932,8832,1.066,8889,2.934,8985,2.409,9072,0.89,9086,1.489,9242,0.986,9522,0.746,9995,0.89,10465,0.89,10468,3.005,11200,3.005,11206,2.909,11242,2.256,11597,0.71,11599,2.409,11601,0.957,11603,7.273,11606,0.986,11609,1.772,11611,1.772,11612,3.918,11736,0.828,11751,2.353,12025,4.778,12355,6.109,12465,0.856,12589,0.986,12596,1.973,12995,1.725,13333,1.066,13342,2.642,13360,1.021,13765,0.957,13783,0.932,14509,1.125,14532,1.066,14538,4.037,14539,1.125,14601,2.083,14764,0.986,15121,0.986,15125,0.986,15196,2.353,15588,1.772,15684,5.041,15794,9.345,15829,1.125,15836,2.871,16269,2.083,16326,0.986,16368,3.295,16456,2.083,16625,1.125,16695,3.295,16699,2.353,16984,7.229,17725,1.021,17742,1.125,18321,4.568,18330,1.066,18443,7.182,18812,2.083,19384,2.475,19879,2.909,19960,1.066,20065,1.021,20140,1.125,20210,1.066,20264,0.872,20269,1.892,20282,1.725,20531,2.409,21030,2.909,21337,1.021,21654,1.973,21657,3.736,21659,1.066,21664,6.541,21855,1.066,21912,2.083,22100,6.244,22788,4.568,22872,2.083,23080,1.973,23107,5.849,23403,8.39,23432,1.021,24568,1.125,24581,1.066,24583,10.127,24594,7.257,24595,9.317,24596,2.756,24627,1.892,24632,9.06,24633,8.837,24634,1.215,24635,1.215,24636,3.142,24637,10.877,24638,8.635,24639,4.602,24640,1.215,24641,1.215,24642,2.249,24643,4.602,24644,3.142,24645,3.142,24646,1.215,24647,1.215,24648,2.249,24649,4.261,24650,5.321,24651,2.249,24652,2.249,24653,7.722,24654,6.23,24655,1.215,24656,1.125,24657,5.207,24658,1.125,24659,11.985,24660,3.142,24661,1.215,24662,1.215,24663,3.919,24664,6.667,24665,1.215,24666,1.215,24667,4.602,24668,0.986,24669,1.021,24670,3.629,24671,1.125,24672,8.597,24673,0.986,24674,1.125,24675,7.064,24676,7.425,24677,4.602,24678,7.755,24679,1.215,24680,2.249,24681,1.215,24682,1.215,24683,1.215,24684,1.215,24685,1.215,24686,1.215,24687,1.215,24688,3.629,24689,1.125,24690,1.066,24691,1.125,24692,3.142,24693,1.215,24694,1.215,24695,1.215,24696,2.249,24697,1.215,24698,1.215,24699,2.642,24700,1.125,24701,2.249,24702,2.249,24703,3.142,24704,6.777,24705,4.602,24706,4.821,24707,3.142,24708,2.249,24709,1.215,24710,1.215,24711,1.215,24712,3.142,24713,1.215,24714,1.215,24715,2.249,24716,1.215,24717,1.215,24718,1.215,24719,3.919,24720,2.249,24721,10.462,24722,3.142,24723,6.667,24724,3.438,24725,1.215,24726,2.249,24727,3.142,24728,6.667,24729,7.064,24730,1.125,24731,3.919,24732,2.249,24733,3.919,24734,1.215,24735,3.142,24736,0.986,24737,10.531,24738,2.249,24739,1.125,24740,6.23,24741,1.215,24742,3.142,24743,8.597,24744,3.142,24745,2.249,24746,7.425,24747,5.207,24748,1.215,24749,2.249,24750,8.059,24751,2.249,24752,1.215,24753,1.215,24754,2.909,24755,1.215,24756,1.215,24757,1.066,24758,3.142,24759,3.919,24760,1.125,24761,1.215,24762,1.215,24763,1.066,24764,3.142,24765,1.215,24766,4.602,24767,1.125,24768,2.909,24769,1.215,24770,1.125,24771,1.215,24772,1.215,24773,1.215,24774,2.249,24775,1.066,24776,1.215,24777,1.215,24778,2.249,24779,1.215,24780,1.973,24781,4.037,24782,1.215,24783,5.746,24784,3.629,24785,1.215,24786,4.602,24787,1.215,24788,1.215,24789,1.215,24790,1.215,24791,1.215,24792,3.142,24793,1.215,24794,2.249,24795,1.215,24796,1.215,24797,1.215,24798,1.125,24799,1.215,24800,1.215,24801,3.142,24802,0.957,24803,1.215,24804,1.215,24805,1.215,24806,1.215,24807,4.602,24808,1.215,24809,1.215,24810,3.142,24811,1.215,24812,3.919,24813,1.215,24814,2.249,24815,1.215,24816,1.215,24817,1.215,24818,1.215,24819,1.215,24820,1.215,24821,2.249,24822,1.215,24823,1.215,24824,1.215,24825,2.249,24826,1.215,24827,1.215,24828,1.215,24829,1.215,24830,1.215,24831,2.083,24832,6.174,24833,1.215,24834,5.207,24835,1.215,24836,1.215,24837,3.142,24838,3.919,24839,3.919,24840,3.919,24841,1.215,24842,4.602,24843,4.037,24844,1.125,24845,3.142,24846,1.215,24847,2.249,24848,1.215,24849,1.973,24850,2.249,24851,3.629,24852,3.919,24853,1.215,24854,3.142,24855,4.602,24856,1.215,24857,1.215,24858,2.909,24859,2.249,24860,1.125,24861,1.215,24862,1.125,24863,1.215,24864,1.215,24865,2.909,24866,1.215,24867,1.215,24868,2.249,24869,1.215,24870,1.215,24871,1.215,24872,3.142,24873,3.142,24874,2.249,24875,5.207,24876,3.142,24877,2.249,24878,2.249,24879,2.249,24880,3.438,24881,1.973,24882,1.215,24883,1.215,24884,1.215,24885,5.207,24886,2.249,24887,1.215,24888,1.215,24889,1.215,24890,2.249,24891,1.215,24892,2.249,24893,1.215,24894,1.215,24895,5.058,24896,1.215,24897,6.876,24898,1.215,24899,1.215,24900,1.215,24901,1.215,24902,2.249,24903,1.215,24904,4.037,24905,3.919,24906,2.249,24907,1.215,24908,1.215,24909,1.215,24910,1.215,24911,1.215,24912,2.249,24913,1.215,24914,1.215,24915,1.215,24916,2.249,24917,2.249,24918,1.215,24919,1.215,24920,1.215,24921,1.215,24922,1.215,24923,1.215,24924,1.215,24925,1.215,24926,1.125,24927,1.215,24928,1.215,24929,1.215,24930,1.215,24931,4.602,24932,1.215,24933,1.215,24934,3.919,24935,1.215,24936,1.215,24937,1.215,24938,1.215,24939,1.215,24940,1.215,24941,1.215,24942,5.746,24943,2.909,24944,1.215,24945,3.919,24946,1.215,24947,1.215,24948,3.142,24949,1.215,24950,1.215,24951,3.142,24952,1.215,24953,2.249,24954,1.215,24955,1.215,24956,1.215,24957,1.215,24958,1.066,24959,1.215,24960,1.066,24961,2.249,24962,2.083,24963,1.215,24964,3.919,24965,1.215,24966,2.909,24967,2.083,24968,3.142,24969,2.249,24970,1.215,24971,3.142,24972,5.746,24973,1.215,24974,2.249,24975,1.215,24976,1.215,24977,1.215,24978,1.215,24979,3.919,24980,1.215,24981,1.215,24982,1.215,24983,1.215,24984,1.215,24985,1.215,24986,2.249,24987,2.249,24988,2.249,24989,3.142,24990,1.215,24991,1.125,24992,3.142,24993,1.215,24994,2.249,24995,1.215,24996,1.215,24997,2.249,24998,10.126,24999,3.142,25000,1.215,25001,4.602,25002,7.064,25003,3.142,25004,1.215,25005,1.215,25006,1.215,25007,3.919,25008,1.215,25009,3.142,25010,1.215,25011,1.215,25012,1.215,25013,1.215,25014,1.215,25015,1.215,25016,1.215,25017,3.919,25018,1.215,25019,1.215,25020,3.142,25021,1.215,25022,3.142,25023,1.066,25024,2.249,25025,1.215,25026,1.215,25027,1.215,25028,1.215,25029,2.249,25030,3.142,25031,1.125,25032,1.215,25033,1.215,25034,1.215,25035,1.125,25036,1.215,25037,1.215,25038,1.215,25039,3.142,25040,2.249,25041,1.125,25042,1.215,25043,1.215,25044,3.919,25045,1.215,25046,3.142,25047,1.215,25048,1.215,25049,1.215,25050,1.215,25051,1.215,25052,3.142,25053,2.249,25054,2.249,25055,1.215,25056,2.249,25057,5.746,25058,2.249,25059,3.142,25060,3.919,25061,1.125,25062,1.125,25063,2.249,25064,1.215,25065,3.142,25066,1.215,25067,1.215,25068,1.215,25069,1.215,25070,1.215,25071,3.142,25072,2.249,25073,1.215,25074,1.215,25075,1.215,25076,1.215,25077,2.249,25078,2.249,25079,1.215,25080,2.083,25081,1.215,25082,1.125,25083,1.125,25084,1.215,25085,3.142,25086,1.215,25087,1.215,25088,1.215,25089,2.249,25090,3.142,25091,1.215,25092,1.215,25093,1.215,25094,1.215,25095,2.249,25096,1.215,25097,1.215,25098,1.215,25099,1.215,25100,1.215,25101,1.215,25102,1.215,25103,1.215,25104,1.215,25105,1.215,25106,1.215,25107,1.215,25108,1.215,25109,3.919,25110,1.215,25111,1.215,25112,2.249,25113,1.215,25114,1.125,25115,1.215,25116,1.215,25117,1.215,25118,1.215,25119,1.215,25120,1.215,25121,1.125,25122,1.215,25123,1.215,25124,1.215,25125,1.215,25126,2.249,25127,1.215,25128,1.215,25129,1.215,25130,1.215,25131,1.066,25132,2.249,25133,1.215,25134,1.215,25135,1.215,25136,1.125,25137,1.125,25138,1.021,25139,1.215,25140,2.249,25141,2.083,25142,1.215,25143,1.215,25144,3.142,25145,2.083,25146,1.215,25147,2.083,25148,2.249,25149,2.249,25150,1.125,25151,1.066,25152,1.215,25153,1.215,25154,1.125,25155,1.215,25156,1.215,25157,1.215,25158,2.249,25159,1.215,25160,3.142,25161,1.215,25162,1.215,25163,1.215,25164,1.215,25165,1.215,25166,1.215,25167,1.215,25168,1.215,25169,1.215,25170,1.215,25171,1.215,25172,1.021,25173,1.215,25174,1.215,25175,1.215,25176,1.215,25177,1.215,25178,1.215,25179,1.215,25180,1.215,25181,1.215,25182,1.215,25183,1.215,25184,1.215,25185,1.066,25186,1.125,25187,2.249,25188,2.083,25189,1.215,25190,1.215,25191,1.215,25192,1.215,25193,1.215,25194,1.215,25195,1.215,25196,1.215,25197,1.215,25198,1.021,25199,1.215,25200,1.125,25201,0.986,25202,1.215,25203,1.215,25204,1.125,25205,1.215]],["title/properties.html",[112,0.654,24408,5.066]],["body/properties.html",[30,0.001,103,0.001,104,0.001,112,0.831,157,2.447,1212,6.851,1882,4.056,1884,6.534,2163,4.916,2625,9.848,4986,6.684,6534,6.942,11611,8.376,15438,7.369,22132,8.156,25204,9.848,25206,10.976,25207,9.848,25208,8.943,25209,10.634,25210,10.634,25211,10.634,25212,10.634]],["title/todo.html",[1434,3.72,1829,2.455,24570,5.066]],["body/todo.html",[0,0.195,5,0.005,30,0.001,31,0.463,32,0.103,34,1.412,36,1.201,47,0.402,72,2.593,100,2.88,103,0,104,0,110,1.959,112,0.443,129,3.202,131,2.885,141,2.43,161,1.345,183,3.159,185,1.947,193,3.586,194,2.216,205,2.563,206,1.848,252,3.004,260,2.109,271,3.104,276,2.216,290,1.952,314,2.169,316,2.734,317,2.113,345,4.07,360,3.222,409,3.605,412,4.733,414,4.926,433,0.699,507,2.496,525,2.962,540,3.419,543,2.749,561,5.102,623,3.699,624,7.291,644,3.444,688,2.675,876,2.942,981,7.447,985,5.636,997,6.12,1018,4.971,1072,4.07,1080,2.845,1083,3.195,1087,3.816,1171,4.346,1212,7.325,1218,3.699,1220,4.735,1372,5.63,1373,3.409,1381,3.805,1472,3.168,1585,3.444,1610,6.048,1627,5.928,1829,2.409,1850,8.016,1882,4.08,1884,5.072,1921,3.927,1927,3.342,1938,6.995,2139,4.778,2163,2.619,2218,2.531,2220,4.005,2229,4.152,2233,3.864,2449,2.368,2533,3.222,2542,3.995,2558,8.188,2561,4.966,2562,8.088,2624,2.781,3017,2.675,3575,3.864,3576,3.605,3613,4.822,3785,3.75,3940,3.75,4155,4.346,4307,4.243,4370,5.318,4672,3.409,4881,4.152,4887,3.864,4889,3.805,4890,4.243,4911,4.152,4921,3.75,4923,5.628,4972,3.805,5018,9.231,5042,2.885,5106,5.236,5107,6.941,5108,3.699,5202,5.455,5213,3.482,5239,3.562,5246,3.562,5292,6.048,5315,4.243,5565,3.605,5761,3.699,6264,4.6,6624,3.047,6685,4.6,6686,4.243,7027,4.971,7065,5.543,7352,5.928,7356,5.928,7359,3.927,7360,4.971,7363,4.765,7449,7.291,7769,3.28,7796,3.75,8721,4.463,8722,7.467,8981,5.247,9072,4.152,9836,4.346,9844,4.152,11364,6.941,11530,6.993,11597,3.31,12003,4.765,12465,3.995,12521,5.247,12589,4.6,13560,3.75,14184,4.765,14269,4.765,15121,4.6,15438,3.927,16368,4.765,16982,4.6,17963,4.971,18013,4.463,19243,5.247,20264,6.993,20580,5.247,20679,6.502,21472,5.247,22132,4.346,22419,5.247,23441,5.247,24408,4.971,24539,5.247,24572,6.331,24588,4.971,24591,4.765,24631,4.765,24668,4.6,24770,5.247,24798,5.247,25185,7.242,25201,4.6,25213,5.667,25214,5.247,25215,4.765,25216,4.971,25217,5.247,25218,5.667,25219,5.667,25220,5.667,25221,4.765,25222,5.667,25223,5.667,25224,4.765,25225,5.667,25226,5.667,25227,5.247,25228,5.667,25229,5.667,25230,5.667,25231,5.667,25232,5.667,25233,4.765,25234,4.971,25235,5.667,25236,5.667,25237,5.667,25238,5.667,25239,5.247,25240,5.667,25241,5.247,25242,5.667,25243,5.667,25244,5.667,25245,5.667,25246,5.667,25247,5.667,25248,4.971,25249,5.667,25250,5.667,25251,5.247,25252,5.667,25253,5.667,25254,5.667,25255,5.667,25256,5.667,25257,5.667,25258,5.667,25259,5.667,25260,9.737,25261,5.667,25262,5.667,25263,5.667,25264,5.667,25265,5.667,25266,5.667,25267,4.765,25268,8.254,25269,5.667,25270,5.667]],["title/additional-documentation/nestjs-application.html",[869,2.425,1388,2.943,3782,2.887,4206,3.184]],["body/additional-documentation/nestjs-application.html",[5,0.009,18,1.911,30,0.001,31,0.422,33,0.277,72,1.718,78,6.436,87,1.887,95,0.043,103,0,104,0,129,1.124,161,0.891,180,1.603,185,2.069,193,1.631,194,1.468,223,1.165,231,0.652,252,2.278,254,2.168,270,2.312,304,1.853,326,1.427,339,3.105,347,3.862,360,2.135,412,5.022,415,2.135,467,2.194,507,4.158,543,2.921,561,4.236,585,2.751,610,1.479,619,4.324,624,5.644,626,3.293,629,1.976,648,3.784,694,2.751,804,4.508,807,4.617,812,3.93,813,3.366,869,2.955,876,4.901,981,5.738,982,7.435,985,3.485,997,3.784,998,4.756,1042,3.984,1083,3.394,1086,4.114,1089,3.008,1212,6.082,1220,2.153,1283,7.463,1296,3.157,1311,5.629,1355,3.453,1372,4.539,1388,2.236,1390,4.683,1434,5.556,1477,1.949,1563,2.419,1598,3.55,1610,5.523,1624,3.157,1625,3.048,1626,5.588,1714,2.811,1832,2.388,1850,2.647,1884,3.699,1918,2.601,1920,2.484,1921,4.172,1927,3.55,1929,2.696,1938,2.019,2009,2.484,2060,2.696,2163,4.658,2218,1.677,2219,1.887,2220,4.184,2312,4.411,2365,5.282,2392,1.432,2455,3.585,2467,7.936,2533,2.135,2554,2.36,2561,3.622,2562,8.038,2563,2.601,2564,2.36,2580,2.419,2629,4.582,2631,2.56,2786,2.56,2815,1.502,2818,2.484,2821,2.484,2841,2.811,2897,2.258,3026,3.984,3083,5.188,3089,2.45,3141,2.282,3394,1.718,3576,3.83,3780,5.061,3781,6.191,3782,6.802,3785,4.988,3866,5.706,3877,2.957,4203,3.048,4204,2.601,4206,7.665,4230,2.811,4873,2.419,4874,2.879,4887,2.56,4888,4.324,4907,6.656,4911,5.523,4913,2.751,4922,2.957,5106,3.238,5183,4.947,5190,5.976,5201,3.293,5202,1.801,5228,2.36,5239,5.421,5346,3.293,5373,9.33,5379,3.476,5380,2.879,5710,1.936,5761,2.45,5995,3.048,6243,3.293,6325,1.887,6527,2.521,7173,2.484,7174,2.56,7251,5.575,7297,2.811,7354,3.476,7396,4.043,7445,2.696,7529,2.258,7626,2.36,8734,5.063,8870,4.888,8889,6.457,8970,5.575,9072,6.917,9301,4.742,9791,3.476,9795,3.157,10465,4.411,11200,4.617,11612,9.192,11709,4.742,11979,3.293,12003,3.157,12047,2.879,12293,4.617,12294,4.742,12349,2.307,12465,5.314,12995,2.879,13137,4.324,13342,3.157,13501,3.157,13938,2.957,14158,3.048,14268,3.048,14477,2.419,14508,3.293,14764,3.048,15123,3.048,15125,3.048,15745,6.98,16326,8.18,16356,6.119,16699,2.811,16715,3.157,16982,3.048,16984,3.157,17725,3.157,17963,8.282,19434,2.647,22100,5.063,22132,6.614,22142,3.293,22936,3.476,22992,5.575,23080,3.293,23432,3.157,24491,3.476,24547,3.476,24555,3.476,24556,3.476,24571,3.157,24572,9.569,24573,5.282,24574,3.157,24576,3.048,24579,3.293,24587,6.338,24607,3.293,24690,3.293,24736,3.048,24767,5.575,24880,3.293,24895,3.048,24904,5.282,24960,3.293,25035,3.476,25041,3.476,25151,5.282,25172,3.157,25221,9.544,25233,5.063,25234,5.282,25248,5.282,25251,8.742,25271,3.754,25272,3.754,25273,7.938,25274,3.754,25275,3.754,25276,3.754,25277,3.754,25278,3.754,25279,6.02,25280,3.754,25281,6.612,25282,3.754,25283,3.754,25284,3.754,25285,3.754,25286,3.754,25287,3.754,25288,3.754,25289,3.754,25290,3.754,25291,3.754,25292,3.754,25293,3.754,25294,3.754,25295,3.754,25296,8.742,25297,3.476,25298,3.476,25299,3.476,25300,3.476,25301,3.476,25302,3.476,25303,3.476,25304,3.476,25305,3.754,25306,3.476,25307,3.754,25308,3.754,25309,3.754,25310,6.02,25311,3.293,25312,3.476,25313,3.293,25314,3.293,25315,3.754,25316,9.44,25317,3.476,25318,3.754,25319,3.754,25320,10.076,25321,3.754,25322,3.754,25323,3.754,25324,3.754,25325,6.02,25326,8.624,25327,3.754,25328,6.02,25329,3.754,25330,6.02,25331,3.754,25332,3.754,25333,8.624,25334,3.754,25335,3.754,25336,3.754,25337,3.754,25338,6.02,25339,3.754,25340,3.754,25341,3.754,25342,3.754,25343,6.02,25344,3.754,25345,3.754,25346,3.754,25347,3.476,25348,3.754,25349,3.754,25350,3.754,25351,6.02,25352,3.754,25353,3.754,25354,3.754,25355,3.754,25356,3.754,25357,3.754,25358,3.754,25359,6.02,25360,7.537,25361,3.754,25362,3.754,25363,7.537,25364,6.02,25365,3.754,25366,3.754,25367,3.754,25368,3.754,25369,3.754,25370,3.754,25371,3.754,25372,3.754,25373,6.02,25374,3.754,25375,6.02,25376,6.02,25377,3.476,25378,3.754,25379,3.754,25380,6.98,25381,3.754,25382,3.754,25383,3.754,25384,3.476,25385,3.476,25386,3.754,25387,3.754,25388,3.754,25389,3.754,25390,3.754,25391,3.754,25392,3.754,25393,3.754]],["title/additional-documentation/nestjs-application/software-architecture.html",[869,2.425,1388,2.943,24578,4.012,24638,4.155]],["body/additional-documentation/nestjs-application/software-architecture.html",[0,0.334,2,0.668,5,0.004,7,0.056,8,0.457,27,0.382,30,0.001,72,4.721,95,0.045,101,0.012,103,0,104,0,134,2.76,153,0.653,159,1.152,161,2.743,206,2.049,252,3.467,254,4.648,255,1.511,259,2.84,260,1.475,274,3.265,276,2.458,290,0.937,314,1.516,371,3.331,403,2.004,407,2.745,409,2.52,411,2.966,412,2.781,507,2.768,512,4.526,527,1.677,534,2.071,550,2.314,585,2.903,589,0.53,591,0.945,610,1.561,612,5.245,614,2.994,629,3.308,711,2.32,734,1.663,802,2.622,806,3.038,812,5.099,813,4.367,816,2.745,998,5.294,1083,3.543,1097,4.431,1198,2.383,1214,5.513,1218,6.735,1272,2.49,1302,2.197,1372,6.23,1373,2.383,1390,2.461,1626,2.197,1714,7.26,1829,1.684,1831,2.622,1832,5.656,1882,5.042,1918,6.161,1920,2.622,1924,4.355,1925,5.893,1926,2.66,1927,2.336,1929,2.845,2134,2.793,2163,3.611,2231,3.573,2233,4.285,2327,3.95,2344,5.404,2357,3.573,2533,3.573,2543,5.815,2553,3.331,2554,2.49,2557,3.216,2562,2.552,2563,2.745,2580,4.049,2597,3.038,2628,3.668,2629,6.271,2630,4.285,2631,2.701,2782,3.431,2818,2.622,2821,4.159,2868,2.845,2869,7.136,2893,2.434,2917,3.216,3017,1.87,3026,2.622,3394,4.948,3576,4.969,3782,2.314,3879,4.706,3893,3.12,3940,4.159,4184,4.355,4202,3.216,4204,6.161,4206,4.049,4331,2.434,4370,2.552,4834,2.293,4885,2.552,4887,4.285,4894,2.793,4921,2.622,4967,2.903,5018,5.102,5055,3.12,5183,3.605,5202,1.9,5239,3.95,5246,4.91,5269,2.793,5272,8.153,5292,4.605,5293,5.284,5311,3.216,5316,4.706,5761,5.804,5985,3.668,6134,4.606,6248,2.903,6253,3.038,6263,3.331,6379,5.819,6527,4.22,7064,3.12,7075,3.668,7745,2.586,7746,4.431,8418,4.82,8722,3.038,8889,2.966,8993,3.668,9026,5.849,9086,2.622,9836,3.038,9844,4.605,10468,3.038,11200,3.038,11394,3.038,11521,2.966,11598,3.216,11736,2.701,12025,3.038,13647,3.331,13765,4.95,13938,3.12,14268,3.216,15116,3.12,15121,5.102,15123,3.216,15395,6.152,15438,6.718,15588,3.12,15684,3.475,15794,3.475,16215,6.568,16216,3.475,16717,3.668,17218,3.12,17731,3.475,18640,5.513,18646,3.12,18647,3.475,19331,5.513,19384,4.95,20264,4.513,20269,3.331,20531,3.038,20678,6.819,20679,3.12,21196,3.668,21604,3.038,21652,3.475,21856,3.331,22934,10.413,23107,3.475,23432,3.331,23715,3.475,24572,3.038,24578,8.376,24580,5.513,24590,3.331,24591,3.331,24594,3.038,24603,4.95,24627,3.331,24638,5.284,24668,3.216,24669,8.153,24699,3.331,24700,7.233,24706,3.668,24721,3.475,24724,5.513,24736,3.216,24754,3.668,24757,3.475,24775,3.475,24781,6.853,24802,3.12,24831,3.668,24843,3.475,24851,3.668,24880,3.475,24881,3.475,24904,5.513,25031,7.233,25082,3.668,25121,3.668,25136,3.668,25138,6.568,25186,5.819,25198,3.331,25208,3.331,25215,6.568,25224,8.153,25314,3.475,25394,3.961,25395,3.961,25396,9.695,25397,3.961,25398,3.961,25399,3.961,25400,3.961,25401,3.961,25402,8.891,25403,3.961,25404,3.961,25405,3.961,25406,7.811,25407,3.961,25408,3.961,25409,7.233,25410,3.961,25411,3.961,25412,3.475,25413,3.668,25414,3.961,25415,3.331,25416,3.961,25417,7.811,25418,8.506,25419,5.284,25420,3.961,25421,3.961,25422,7.8,25423,3.961,25424,6.284,25425,3.475,25426,3.961,25427,6.284,25428,3.961,25429,3.961,25430,3.961,25431,3.961,25432,3.961,25433,3.961,25434,3.961,25435,3.668,25436,3.961,25437,3.961,25438,3.668,25439,3.961,25440,6.284,25441,3.668,25442,3.961,25443,3.961,25444,3.961,25445,8.233,25446,3.961,25447,3.668,25448,3.961,25449,3.961,25450,3.961,25451,3.668,25452,3.961,25453,3.961,25454,6.284,25455,3.961,25456,3.961,25457,3.961,25458,3.475,25459,3.961,25460,3.668,25461,3.961,25462,3.961,25463,3.961,25464,3.668,25465,3.961,25466,3.961,25467,3.961,25468,3.961,25469,3.961,25470,5.819,25471,3.961,25472,3.961,25473,6.284,25474,6.284,25475,7.811,25476,7.811,25477,6.284,25478,6.284,25479,3.668,25480,3.961,25481,3.961,25482,3.331,25483,6.284,25484,3.961,25485,3.961,25486,3.961,25487,3.961,25488,3.475,25489,3.961,25490,3.961,25491,3.961,25492,3.961,25493,3.961,25494,6.284,25495,3.961,25496,3.668,25497,3.961]],["title/additional-documentation/nestjs-application/file-structure.html",[5,0.005,869,2.425,1388,2.943,5983,3.549]],["body/additional-documentation/nestjs-application/file-structure.html",[0,0.387,2,0.355,3,0.006,5,0.011,9,2.542,27,0.376,30,0.001,31,0.565,32,0.068,34,0.571,36,1.159,72,4.064,95,0.062,100,3.516,101,0.013,103,0,104,0,112,0.544,127,1.667,129,0.998,134,2.457,135,1.051,141,2.982,148,0.689,153,1.146,159,0.343,161,1.299,180,1.424,185,1.88,190,1.444,194,1.305,200,2.13,205,2.057,206,3.111,223,1.036,252,3.381,254,4.135,255,1.272,258,1.295,259,1.989,260,3.552,268,2.028,274,2.907,276,2.14,290,1.644,314,4.026,317,1.509,325,2.717,326,1.268,329,2.028,339,2.36,349,2.785,371,5.576,379,1.698,400,0.993,407,2.312,409,2.122,412,5.614,413,2.028,415,1.897,433,0.412,507,1.469,512,4.521,527,1.412,543,3.903,561,1.497,585,4.009,589,0.732,610,4.84,612,4.67,613,3.196,627,2.927,641,1.897,657,1.254,675,4.521,688,2.582,694,2.444,703,2.159,734,3.376,796,5.066,807,2.559,810,2.444,812,3.571,813,1.865,871,1.221,876,1.732,981,3.325,997,5.997,998,2.582,1072,4.995,1083,3.084,1089,1.667,1172,5.207,1193,3.621,1211,2.149,1213,2.122,1218,2.178,1220,1.914,1222,2.628,1226,2.927,1238,2.559,1372,5.304,1373,4.183,1380,6.024,1381,2.24,1388,4.141,1393,5.094,1472,1.865,1563,2.149,1585,2.028,1626,1.85,1627,4.995,1821,1.619,1831,2.208,1832,3.481,1833,2.708,1847,4.6,1856,1.914,1861,5.848,1862,2.921,1869,6.531,1882,2.652,1884,7.202,1885,2.628,1899,3.571,1918,2.312,1921,2.312,2087,1.443,2139,1.931,2163,1.542,2233,3.73,2327,3.439,2344,2.028,2357,3.111,2392,2.086,2543,1.794,2562,4.48,2564,5.057,2569,2.805,2570,2.927,2624,3.413,2629,5.398,2631,2.275,2782,1.821,2821,2.208,2869,6.692,2893,2.05,2894,1.592,2897,4.183,2917,2.708,3017,1.575,3026,4.602,3223,1.836,3344,2.559,3576,3.481,3635,2.628,3696,2.396,3742,2.097,3782,6.362,3940,2.208,4018,3.929,4046,2.007,4183,4.309,4184,2.312,4185,2.498,4204,3.791,4205,4.196,4206,2.149,4331,2.05,4370,2.149,4495,2.927,4792,2.805,4834,3.166,4873,3.525,4898,2.498,5018,4.441,5042,1.698,5066,2.559,5106,1.794,5108,2.178,5190,4.819,5191,2.122,5202,3.336,5213,4.943,5246,3.439,5271,2.805,5272,5.848,5316,5.207,5331,2.927,5372,6.101,5983,2.396,6134,4.101,6248,2.444,6258,2.559,6750,2.028,7028,3.089,7065,2.24,7072,2.396,7352,4.995,7359,3.791,7364,2.708,7396,4.67,7769,4.025,7961,4.441,8016,2.559,8418,2.559,8670,2.498,8985,2.559,9510,2.444,9692,6.44,9836,2.559,9845,2.805,9937,6.991,10468,2.559,11156,3.089,11161,3.089,11200,2.559,11230,5.646,11231,2.708,11232,2.805,11233,2.805,11347,2.927,11364,4.6,11365,2.628,11521,2.498,11530,2.396,12330,2.805,12379,2.708,12548,2.805,12962,2.708,12994,5.066,12995,2.559,13296,2.927,13334,2.927,13783,2.559,13816,4.6,13938,6.995,14259,2.927,15116,4.309,15438,2.312,16328,2.708,16371,3.089,16432,3.089,16433,3.089,16434,3.089,16435,2.927,16473,2.927,16699,2.498,16737,6.101,17218,2.628,18013,2.628,18879,4.6,18941,3.089,19384,6.337,20264,6.853,20504,2.927,20678,5.333,21477,4.6,21569,3.089,22934,7.515,24578,4.441,24587,2.805,24602,2.805,24603,5.478,24612,2.927,24621,5.848,24623,2.708,24629,2.927,24631,2.805,24671,3.089,24673,2.708,24757,2.927,24763,2.927,24780,2.927,24784,3.089,24858,3.089,24895,2.708,24960,2.927,25061,6.44,25131,2.927,25138,2.805,25154,3.089,25172,2.805,25200,3.089,25201,4.441,25208,2.805,25215,6.765,25216,6.101,25224,2.805,25267,5.848,25273,4.6,25312,3.089,25313,6.101,25314,2.927,25317,3.089,25412,2.927,25418,2.927,25419,2.805,25422,2.927,25479,3.089,25498,7.45,25499,4.8,25500,6.44,25501,3.089,25502,3.336,25503,5.471,25504,9.541,25505,8.045,25506,3.336,25507,3.336,25508,3.336,25509,5.471,25510,8.045,25511,3.336,25512,3.336,25513,3.336,25514,3.336,25515,5.471,25516,2.927,25517,3.336,25518,3.336,25519,3.336,25520,3.336,25521,3.336,25522,3.336,25523,3.336,25524,3.336,25525,3.336,25526,3.336,25527,3.336,25528,3.336,25529,3.336,25530,3.089,25531,3.336,25532,3.336,25533,3.336,25534,3.336,25535,3.336,25536,3.336,25537,3.336,25538,3.336,25539,3.336,25540,3.336,25541,3.336,25542,3.336,25543,3.089,25544,3.336,25545,3.089,25546,5.066,25547,3.336,25548,3.336,25549,3.336,25550,3.336,25551,3.336,25552,3.336,25553,3.336,25554,3.336,25555,3.336,25556,3.336,25557,3.336,25558,3.336,25559,3.336,25560,3.336,25561,3.336,25562,3.336,25563,3.336,25564,3.089,25565,3.336,25566,3.336,25567,3.336,25568,3.336,25569,3.336,25570,3.089,25571,3.336,25572,3.336,25573,3.336,25574,3.336,25575,3.336,25576,3.336,25577,6.44,25578,2.927,25579,5.471,25580,3.336,25581,3.336,25582,3.336,25583,3.336,25584,3.336,25585,3.336]],["title/additional-documentation/nestjs-application/api-design.html",[869,2.425,1372,2.601,1388,2.943,25208,4.155]],["body/additional-documentation/nestjs-application/api-design.html",[30,0.001,103,0.001,104,0.001,24958,10.048]],["title/additional-documentation/nestjs-application/logging.html",[869,2.834,1388,3.439,7357,4.324]],["body/additional-documentation/nestjs-application/logging.html",[0,0.36,3,0.015,8,0.919,26,1.641,30,0.001,39,3.226,95,0.091,101,0.014,103,0.001,104,0.001,148,0.788,153,1.312,159,0.817,183,3.046,228,1.444,242,4.189,252,2.102,339,3.631,400,3.11,412,4.621,515,4.345,528,4.026,567,3.024,578,4.16,622,8.227,641,4.525,688,3.756,711,2.364,734,3.34,997,5.002,1027,2.444,1042,5.267,1080,3.6,1115,4.92,1237,3.079,1381,7.013,1422,5.07,1423,4.93,1426,3.571,1472,4.449,2449,5.865,2450,3.736,2543,4.28,2554,5.002,2568,5.343,2629,7.525,2868,5.715,4370,5.127,4672,4.787,4871,6.103,4923,9.168,5071,6.981,5108,7.611,5272,6.692,6244,3.259,6264,6.46,6344,5.514,7257,6.46,7357,9.27,7746,5.61,7797,5.831,9843,7.369,9874,6.268,13599,9.163,13600,6.981,13647,6.692,15123,6.46,15709,6.692,20679,6.268,20706,6.981,22736,8.01,24802,6.268,24844,7.369,24895,6.46,25201,6.46,25586,7.958,25587,7.958,25588,7.958,25589,10.445,25590,7.958,25591,7.958,25592,7.958,25593,7.958,25594,7.958,25595,7.958,25596,7.958,25597,7.958,25598,7.958,25599,7.958,25600,7.369,25601,7.369,25602,7.958]],["title/additional-documentation/nestjs-application/exception-handling.html",[869,2.425,1388,2.943,1472,2.763,7356,3.549]],["body/additional-documentation/nestjs-application/exception-handling.html",[0,0.317,9,3.065,30,0.001,31,0.37,32,0.15,47,0.812,48,5.625,51,4.414,72,4.21,101,0.012,103,0,104,0,129,3.17,135,0.862,148,0.653,153,1.889,155,2.093,159,0.678,193,2.867,223,2.856,228,1.67,231,1.145,233,2.059,234,5.06,244,4.834,252,1.743,338,5.653,339,3.107,400,1.965,403,4.654,409,4.197,412,4.687,512,4.684,516,3.497,525,3.449,529,3.63,561,4.129,579,3.061,585,4.834,629,3.473,652,1.347,711,1.96,734,2.769,810,4.834,871,3.368,998,5,1080,4.682,1115,4.777,1220,6.076,1237,2.712,1302,3.659,1328,3.497,1355,3.785,1371,6.11,1372,4.843,1373,6.372,1379,6.608,1381,8.382,1388,5.479,1390,4.099,1396,4.251,1422,5.112,1426,2.961,1468,3.114,1472,7.516,1477,3.426,1478,3.575,1713,5.356,1721,5.548,1729,6.11,1832,4.197,1983,4.43,2105,8.344,2357,3.752,2559,5.548,2561,3.969,2568,4.43,2629,7.588,2815,2.639,2818,4.367,3344,5.06,3597,4.739,3782,6.188,4183,5.197,4202,9.785,4203,5.356,4370,6.824,4923,4.499,5066,5.06,5108,4.307,5246,5.783,6266,5.548,6344,4.572,7356,4.739,7357,6.889,7363,5.548,8897,5.356,9836,8.124,9894,5.06,9900,6.11,9902,5.548,11365,5.197,12531,6.11,13370,5.788,15125,5.356,16368,5.548,23088,6.11,24571,5.548,24649,6.11,24802,5.197,24962,12.29,25419,5.548,25482,5.548,25530,6.11,25603,6.11,25604,6.598,25605,9.2,25606,6.598,25607,6.598,25608,6.598,25609,6.598,25610,6.598,25611,6.598,25612,6.598,25613,6.598,25614,6.598,25615,6.598,25616,6.598,25617,6.598,25618,6.11,25619,6.598,25620,6.598,25621,6.598,25622,6.598,25623,6.11,25624,6.598]],["title/additional-documentation/nestjs-application/domain-object-validation.html",[185,1.484,869,2.119,1373,2.598,1388,2.572,1882,1.647]],["body/additional-documentation/nestjs-application/domain-object-validation.html",[0,0.315,30,0.001,103,0.001,104,0.001,122,1.905,159,1.172,185,4.609,304,5.632,412,4.042,507,4.023,525,4.775,532,3.389,543,4.432,628,5.44,711,2.713,813,6.379,1213,5.811,1373,5.495,1784,6.134,1832,5.811,1882,5.116,1924,6.33,2032,3.471,2233,6.228,2532,6.794,2553,7.681,2561,6.863,2568,7.661,2624,4.483,2629,5.552,2841,8.543,2869,5.811,2940,5.221,3140,4.119,3396,5.24,3788,7.681,4888,6.56,6241,8.014,6248,6.693,8889,6.84,9523,6.045,11494,6.84,11601,8.987,15116,7.195,20531,7.006,20678,7.006,24598,7.416,24704,9.594,24736,7.416,24860,8.459,25131,8.014,25413,8.459,25577,13.103,25625,9.134,25626,9.134,25627,9.134,25628,9.134,25629,11.409,25630,9.134,25631,9.134,25632,9.134,25633,9.134,25634,11.409,25635,9.134]],["title/additional-documentation/nestjs-application/testing.html",[869,2.834,1388,3.439,13137,4.148]],["body/additional-documentation/nestjs-application/testing.html",[0,0.184,27,0.158,29,0.409,30,0.001,31,0.299,32,0.098,35,0.466,36,1.672,51,1.112,72,4.47,79,3.53,94,1.173,95,0.026,96,0.614,100,0.809,103,0,104,0,110,1.391,129,1.204,130,1.74,131,1.181,135,1.421,141,3.383,146,1.581,148,0.781,153,0.382,157,0.926,183,0.887,205,0.821,206,1.738,219,2.25,252,2.369,255,2.426,259,1.938,270,0.891,271,0.872,274,1.682,276,0.907,289,3.085,290,0.951,304,1.145,314,0.887,317,2.406,335,1.535,339,2.961,347,1.188,371,3.372,407,1.607,409,2.56,411,1.736,412,4.813,413,1.409,417,1.297,512,1.181,527,4.396,528,3.218,531,4.125,537,1.266,543,4.351,550,1.355,567,2.736,585,1.699,610,2.507,612,2.702,614,1.646,619,1.665,624,4.764,629,1.221,640,1.425,641,3.618,657,2.314,685,2.35,688,1.094,734,3.312,756,0.917,804,3.013,810,1.699,873,1.475,981,7.939,982,1.826,985,2.329,998,4.233,1029,2.702,1040,1.607,1042,1.535,1043,1.607,1072,1.665,1080,3.58,1083,3.587,1088,1.089,1089,1.159,1094,1.778,1212,3.434,1213,1.475,1218,2.626,1220,1.33,1222,1.826,1223,1.736,1224,3.828,1225,5.892,1267,1.665,1328,2.133,1372,4.721,1380,1.736,1381,1.557,1390,1.441,1392,3.53,1393,4.526,1434,1.494,1561,4.486,1564,2.147,1607,1.95,1626,1.286,1627,1.665,1714,3.013,1783,1.425,1784,2.702,1831,1.535,1832,1.475,1834,1.699,1846,1.826,1918,3.693,1921,2.788,1924,1.607,1925,1.409,1927,5.761,1928,2.948,2032,1.529,2139,1.342,2163,1.86,2229,1.699,2231,1.319,2232,2.446,2312,1.699,2365,2.034,2448,2.98,2494,4.662,2505,2.5,2532,1.381,2533,3.618,2543,4.557,2554,3.35,2561,2.42,2562,8.378,2564,1.458,2569,1.95,2572,2.034,2597,1.778,2617,1.409,2624,4.158,2629,5.938,2630,5.38,2631,4.338,2684,0.752,2782,1.266,2818,1.535,2821,2.663,2841,1.736,2844,1.778,2869,1.475,2893,1.425,2897,2.42,2904,4.569,2912,4.879,2917,1.883,2933,1.699,2978,3.383,3223,1.276,3299,2.288,3382,1.041,3394,1.061,3396,1.33,3400,1.188,3597,1.665,3613,2.35,3721,1.635,3782,2.35,3785,7.046,3877,1.826,3940,1.535,4184,2.788,4204,1.607,4205,1.778,4206,1.494,4307,3.013,4497,2.034,4881,1.699,4887,2.743,4888,1.665,4898,1.736,4921,1.535,4935,1.826,4967,4.662,5042,2.048,5066,3.086,5106,1.247,5108,3.479,5114,1.826,5190,2.788,5213,1.425,5246,4.525,5269,1.635,5285,1.778,5287,1.826,5288,2.147,5292,1.699,5372,2.034,5751,1.494,5761,1.514,5883,3.311,5983,5.17,5989,1.95,6134,2.373,6182,2.788,6248,2.948,6258,1.778,6260,1.736,6261,1.883,6262,1.778,6292,1.95,6504,1.883,7023,1.95,7154,1.535,7356,2.89,7396,1.557,7445,1.665,7449,1.736,7673,4.486,7745,1.514,7746,1.635,7756,1.736,7769,1.342,7796,3.527,7845,6.316,7964,1.826,8418,3.086,8698,3.086,8721,1.826,8728,3.53,8734,3.383,8831,2.034,8968,3.383,8985,3.086,8988,1.95,9072,2.948,9301,3.169,9510,2.948,9844,6.571,10260,7.628,11200,5.521,11201,2.147,11365,7.064,11394,1.778,11597,1.355,11603,1.665,11612,1.581,11708,1.826,12010,2.147,12025,3.086,12294,3.169,12356,1.95,12433,5.909,12463,5.909,12589,1.883,12598,2.147,12995,1.778,13137,7.964,13360,1.95,13648,2.147,13783,3.086,14124,4.327,14158,1.883,14269,1.95,14532,2.034,14765,1.883,15016,2.147,15065,2.034,15116,1.826,15123,1.883,15124,2.147,15125,1.883,15196,1.736,15395,1.826,15438,3.693,15705,3.726,15709,3.383,16215,1.95,16525,3.267,16695,3.383,16859,2.147,17218,1.826,18019,4.087,18324,1.95,18334,1.883,18566,1.95,18646,1.826,19289,2.034,19331,2.034,19465,3.53,20269,1.95,20531,1.778,20678,3.086,20763,2.034,21477,1.95,21604,3.086,21654,3.53,21656,2.147,21662,2.147,21856,1.95,22100,1.95,22130,3.726,22132,4.879,22133,5.892,22137,5.892,22142,5.582,22788,3.53,22934,3.169,23813,4.935,24488,2.034,24516,2.147,24572,3.086,24574,3.383,24583,3.383,24594,1.778,24598,1.883,24600,2.034,24603,5.011,24623,1.883,24638,1.95,24650,2.147,24653,2.147,24656,2.147,24658,2.147,24668,1.883,24669,1.95,24673,1.883,24674,2.147,24688,2.147,24689,2.147,24704,3.383,24721,3.53,24736,4.327,24760,2.147,24763,2.034,24768,2.147,24775,2.034,24781,2.034,24843,2.034,24849,2.034,24881,2.034,24895,1.883,24958,2.034,25062,2.147,25080,2.147,25114,2.147,25141,2.147,25145,2.147,25151,2.034,25185,2.034,25198,1.95,25215,1.95,25216,2.034,25224,4.482,25239,4.935,25241,3.726,25267,1.95,25273,7.542,25311,2.034,25377,2.147,25409,2.147,25418,2.034,25419,1.95,25422,3.53,25425,2.034,25438,2.147,25445,2.147,25447,2.147,25458,3.53,25460,2.147,25464,9.046,25482,3.383,25488,3.53,25496,3.726,25498,4.935,25499,2.034,25500,3.726,25501,2.147,25516,3.53,25545,2.147,25546,2.147,25570,2.147,25601,2.147,25603,2.147,25618,2.147,25636,2.319,25637,2.319,25638,2.319,25639,2.034,25640,2.319,25641,5.33,25642,8.473,25643,2.319,25644,4.024,25645,2.319,25646,2.319,25647,4.024,25648,2.319,25649,2.319,25650,2.319,25651,2.034,25652,2.319,25653,2.319,25654,2.319,25655,2.319,25656,2.319,25657,2.319,25658,2.319,25659,2.319,25660,2.319,25661,2.319,25662,2.319,25663,2.319,25664,6.362,25665,2.319,25666,2.147,25667,2.319,25668,2.319,25669,2.147,25670,2.319,25671,2.319,25672,7.891,25673,2.319,25674,2.319,25675,2.319,25676,2.319,25677,2.319,25678,2.147,25679,3.726,25680,4.024,25681,7.199,25682,4.024,25683,2.319,25684,2.319,25685,2.034,25686,2.319,25687,5.33,25688,4.024,25689,4.024,25690,7.891,25691,4.024,25692,2.319,25693,2.319,25694,2.147,25695,2.034,25696,5.33,25697,2.319,25698,5.33,25699,4.024,25700,7.199,25701,4.024,25702,5.33,25703,2.319,25704,2.319,25705,2.319,25706,4.024,25707,8.473,25708,2.319,25709,2.319,25710,2.319,25711,2.319,25712,2.319,25713,2.319,25714,2.319,25715,2.319,25716,2.319,25717,2.319,25718,2.319,25719,2.319,25720,2.319,25721,2.319,25722,2.319,25723,2.319,25724,2.319,25725,4.024,25726,2.319,25727,2.147,25728,5.33,25729,2.319,25730,2.319,25731,2.319,25732,2.319,25733,5.33,25734,2.319,25735,4.024,25736,4.024,25737,2.319,25738,2.319,25739,2.319,25740,2.319,25741,2.319,25742,4.024,25743,4.024,25744,4.024,25745,5.33,25746,2.319,25747,2.319,25748,4.024,25749,4.024,25750,4.024,25751,5.33,25752,2.319,25753,2.319,25754,2.319,25755,4.024,25756,2.319,25757,4.024,25758,2.319,25759,2.319,25760,2.319,25761,2.319,25762,4.024,25763,4.024,25764,2.319,25765,2.319,25766,2.319,25767,2.319,25768,7.199,25769,2.319,25770,5.33,25771,2.147,25772,2.034,25773,2.319,25774,2.319,25775,2.319,25776,2.319,25777,2.319,25778,2.319,25779,2.319,25780,2.319,25781,6.362,25782,2.319,25783,2.319,25784,4.024,25785,4.024,25786,2.319,25787,4.024,25788,2.319,25789,2.319,25790,2.319,25791,2.319,25792,2.319,25793,2.319,25794,2.319,25795,2.147,25796,2.319,25797,2.319,25798,2.319,25799,2.319,25800,2.319,25801,2.319,25802,4.024,25803,2.319,25804,2.319,25805,2.319,25806,2.319,25807,2.319,25808,2.319,25809,2.319,25810,2.319,25811,2.319,25812,2.319,25813,2.319]],["title/additional-documentation/nestjs-application/vscode.html",[869,2.834,1388,3.439,24576,4.688]],["body/additional-documentation/nestjs-application/vscode.html",[5,0.011,30,0.001,72,4.486,103,0.001,104,0.001,561,5.348,640,6.024,806,7.519,876,5.09,981,5.959,2312,7.183,2562,7.678,2786,6.684,2821,6.488,3782,6.961,4205,7.519,4206,7.678,5106,6.409,5202,5.717,5309,7.959,5316,7.341,7154,6.488,7353,8.244,8889,7.341,12465,6.912,15676,8.601,22132,9.14,24576,9.675,24604,10.455,24862,9.078,25023,8.601,25137,9.078,25188,11.89,25214,9.078,25221,8.244,25273,8.244,25313,8.601,25347,9.078,25384,9.078,25415,8.244,25516,8.601,25578,10.455,25814,9.803,25815,9.803,25816,9.803,25817,9.803,25818,9.803,25819,9.803,25820,9.803]],["title/additional-documentation/nestjs-application/git.html",[869,2.834,1388,3.439,24577,4.856]],["body/additional-documentation/nestjs-application/git.html",[30,0.001,31,0.425,55,2.28,72,3.47,77,4.885,103,0,104,0.001,129,2.269,155,2.405,157,1.745,271,2.852,379,3.86,407,5.254,412,3.355,561,3.403,567,2.881,813,6.365,876,3.937,984,6.376,998,5.373,1088,3.56,1115,2.902,1222,5.972,1223,5.678,1393,4.349,1624,6.376,1625,6.155,1626,5.61,1784,6.792,1831,7.534,1850,7.132,1920,5.018,1925,4.609,1936,3.56,1938,4.078,1944,10.272,1945,9.987,2087,3.28,2090,6.376,2231,4.311,2327,4.766,2357,4.311,2532,4.515,2543,4.078,2562,6.517,2564,4.766,2617,4.609,2629,6.92,2894,4.826,3083,4.561,3721,5.346,4873,4.885,4885,4.885,4890,5.678,4894,5.346,5106,4.078,5190,5.254,5287,5.972,5761,7.431,6134,4.471,6172,5.446,6173,5.446,6262,5.815,6527,8.155,7027,8.875,7359,5.254,7626,4.766,7741,5.972,8670,5.678,9844,5.555,11599,7.758,13793,6.652,13816,6.376,15065,6.652,16616,6.652,18019,5.815,18647,6.652,21485,7.021,24577,10.213,24593,6.652,24598,6.155,24608,6.652,24609,6.652,24621,9.573,24625,8.506,24669,10.213,24670,7.021,24802,7.968,24849,9.987,24926,7.021,25083,7.021,25201,9.242,25227,7.021,25248,8.875,25415,8.506,25435,7.021,25499,8.875,25543,7.021,25771,7.021,25772,6.652,25821,7.582,25822,7.582,25823,7.582,25824,7.582,25825,7.582,25826,7.582,25827,7.582,25828,7.582,25829,7.582,25830,7.582,25831,7.582,25832,7.582,25833,7.582,25834,7.582,25835,10.116,25836,7.582,25837,7.582,25838,10.116,25839,7.582,25840,7.582,25841,7.582,25842,7.582,25843,7.582,25844,7.582,25845,7.582,25846,7.582,25847,7.582,25848,7.582,25849,7.582,25850,7.582]],["title/additional-documentation/nestjs-application/keycloak.html",[618,3.72,869,2.834,1388,3.439]],["body/additional-documentation/nestjs-application/keycloak.html",[5,0.004,18,2.3,30,0.001,31,0.611,51,3.342,53,6.228,78,8.205,87,3.502,95,0.109,101,0.013,103,0,104,0,157,1.603,180,1.929,189,4.28,259,1.643,270,1.736,271,1.699,290,1.647,339,3.197,374,1.955,376,5.104,407,3.131,411,3.384,412,4.226,561,3.126,567,2.647,618,8.839,619,3.245,641,2.569,648,2.84,734,1.897,794,3.311,810,3.311,814,5.857,816,3.131,876,5.357,981,4.234,1060,3.081,1083,2.548,1169,2.615,1170,5.343,1283,3.186,1355,3.996,1372,3.666,1381,3.034,1471,3.311,1595,5.655,1619,5.223,1626,3.863,1826,3.569,1831,4.61,1899,2.95,1920,2.991,2060,3.245,2124,3.692,2163,5.422,2220,4.634,2231,2.569,2312,3.311,2344,2.747,2455,6.985,2467,9.239,2478,2.84,2554,2.84,2563,5.89,2564,2.84,2568,3.034,2629,7.13,2815,1.808,2821,2.991,2869,2.875,2902,4.184,3089,8.022,3141,7.13,3223,3.833,3382,3.814,3394,2.068,3576,5.408,3780,5.707,3785,4.61,3875,3.081,4206,2.911,4259,6.519,4873,2.911,4874,7.913,4885,2.911,4887,5.795,4906,3.559,4907,5.993,4914,3.559,4921,4.61,4922,7.524,4923,4.749,4967,3.311,5042,4.327,5108,2.95,5201,8.38,5239,4.378,5271,3.8,5346,3.964,6134,2.665,6253,3.466,6306,3.964,6527,5.707,7297,3.384,7397,2.615,7626,4.378,7673,3.186,7745,4.547,8208,6.999,8889,5.216,8998,5.655,9072,5.104,9301,3.559,9844,3.311,10260,8.85,11612,8.655,11746,3.559,12003,3.8,12293,3.466,12349,2.776,12882,6.365,13137,6.105,13560,6.322,14409,7.457,14508,7.457,14511,7.755,14515,3.8,14547,7.326,14643,3.964,14765,3.669,14767,4.184,15438,5.89,15676,3.964,16326,3.669,16356,6.901,16716,4.184,16984,3.8,21659,3.964,22132,3.466,24572,3.466,24575,3.964,24597,3.964,24625,3.8,24673,3.669,24690,3.964,24730,4.184,24802,5.487,24832,4.184,24865,4.184,24897,4.184,24966,4.184,25206,9.052,25221,8.032,25281,10.972,25296,9.555,25297,7.871,25298,6.45,25299,6.45,25300,6.45,25301,8.845,25302,6.45,25303,6.45,25304,8.845,25306,4.184,25380,6.45,25669,4.184,25678,4.184,25685,3.964,25727,4.184,25851,4.519,25852,4.519,25853,4.519,25854,4.519,25855,9.552,25856,4.519,25857,4.519,25858,4.519,25859,6.966,25860,4.519,25861,4.519,25862,6.966,25863,4.519,25864,4.519,25865,4.519,25866,4.519,25867,4.519,25868,6.966,25869,6.966,25870,6.966,25871,6.966,25872,11.359,25873,6.966,25874,6.966,25875,6.966,25876,6.966,25877,4.519,25878,4.519,25879,4.519,25880,10.318,25881,6.966,25882,6.966,25883,4.519,25884,4.519,25885,6.966,25886,4.519,25887,4.519,25888,4.519,25889,4.519,25890,4.519,25891,4.519,25892,4.519,25893,4.519,25894,6.966,25895,4.519,25896,4.519,25897,6.966,25898,6.966,25899,4.519,25900,4.519,25901,4.519,25902,4.519,25903,4.519,25904,4.519,25905,4.519,25906,4.519,25907,4.519,25908,4.519]],["title/additional-documentation/nestjs-application/rocket.chat.html",[869,2.834,1388,3.439,25909,5.348]],["body/additional-documentation/nestjs-application/rocket.chat.html",[5,0.007,30,0.001,31,0.422,103,0,104,0,145,2.811,412,3.33,789,4.108,804,9.931,876,3.907,985,4.356,997,6.327,1082,5.306,1147,5.771,1193,6.661,1222,5.927,1282,5.927,1833,6.109,2163,4.653,2220,3.651,2455,8.719,2467,5.927,2532,4.481,2629,7.672,2786,5.131,2815,4.026,3141,4.574,3394,3.444,3780,5.053,3781,4.624,3785,4.98,4206,4.848,4913,5.514,7297,5.635,7970,5.927,9072,5.514,10465,5.514,11612,6.863,11736,5.131,15582,6.328,16356,6.109,16737,6.602,17725,6.328,18646,5.927,18879,8.464,21478,6.968,23827,6.328,24499,6.968,25206,6.602,25233,6.328,25281,11.072,25578,6.602,25909,10.502,25910,7.525,25911,7.525,25912,7.525,25913,7.525,25914,7.525,25915,10.065,25916,7.525,25917,7.525,25918,7.525,25919,7.525,25920,7.525,25921,7.525,25922,10.065,25923,7.525,25924,7.525,25925,7.525,25926,7.525,25927,7.525,25928,7.525,25929,7.525,25930,7.525,25931,7.525,25932,7.525,25933,7.525,25934,7.525,25935,7.525,25936,7.525,25937,7.525,25938,7.525,25939,7.525,25940,7.525,25941,7.525,25942,7.525,25943,7.525,25944,7.525,25945,7.525,25946,7.525,25947,7.525,25948,7.525,25949,7.525,25950,7.525,25951,7.525,25952,7.525,25953,7.525,25954,7.525,25955,7.525,25956,10.065,25957,10.065,25958,7.525,25959,7.525]],["title/additional-documentation/nestjs-application/configuration.html",[869,2.834,1388,3.439,2218,2.579]],["body/additional-documentation/nestjs-application/configuration.html",[30,0.001,31,0.488,34,1.044,55,2.034,102,3.237,103,0,104,0,129,1.827,153,1.007,155,1.937,157,1.405,183,2.337,193,3.785,255,2.329,316,4.899,347,3.129,409,5.542,412,2.702,413,3.712,414,6.48,415,3.472,511,3.334,528,3.089,561,3.909,567,2.321,613,3.567,614,2.69,734,4.262,802,4.041,807,4.683,812,3.986,876,3.17,897,5.135,981,3.712,982,4.81,984,10.536,997,3.838,998,4.793,1080,3.003,1115,2.337,1218,3.986,1355,3.503,1372,4.585,1390,5.413,1477,3.17,1627,6.256,1749,3.472,1783,3.752,1832,3.885,1884,7.194,1899,3.986,1918,4.231,1938,3.284,1944,8.99,2163,4.027,2218,2.727,2220,2.962,2231,3.472,2543,5.955,2561,6.661,2562,5.612,2563,6.037,2568,4.1,2580,5.612,2629,3.712,2630,4.163,2818,4.041,2844,6.681,2897,5.24,2909,4.81,2916,5.135,2919,5.135,3059,6.383,3394,2.794,3782,6.839,3785,7.328,4018,4.385,4205,6.681,4206,8.782,4259,4.683,4887,4.163,4971,4.957,5106,3.284,5190,4.231,5215,8.492,5287,4.81,5292,6.383,5341,5.357,5732,3.567,5883,5.413,5989,5.135,6134,5.137,6248,4.474,6260,4.572,6504,4.957,6527,4.1,6750,3.712,7065,4.1,7173,5.765,7257,4.957,7356,4.385,7357,4.572,7529,6.661,7626,5.476,7769,5.042,7774,4.683,8379,4.572,9242,4.957,10468,6.681,11181,4.81,11612,6.924,12355,4.81,12464,7.16,13137,4.385,13783,6.681,14764,8.245,15395,6.861,15438,4.231,16328,4.957,16699,4.572,16715,5.135,16982,4.957,18013,4.81,18019,4.683,19384,6.861,19880,5.357,22736,4.683,23827,5.135,24571,7.325,24572,4.683,24573,5.357,24574,5.135,24575,5.357,24576,4.957,24577,7.325,24578,7.072,24579,5.357,24580,5.357,24581,5.357,24582,8.067,24583,7.325,24584,5.654,24585,5.654,24586,5.654,24587,5.135,24588,5.357,24589,8.067,24590,5.135,24591,5.135,24592,8.067,24593,5.357,24594,4.683,24595,5.135,24596,5.357,24597,5.357,24598,4.957,24599,5.654,24600,5.357,24601,5.654,24602,5.135,24603,4.81,24604,5.357,24605,8.067,24606,8.067,24607,8.909,24608,10.272,24609,5.357,24610,5.654,24611,8.067,24612,5.357,24613,5.654,24614,5.654,24615,5.654,24616,8.067,24617,8.067,24618,5.654,24619,5.654,24620,5.654,24621,5.135,24622,5.654,24623,4.957,24624,5.654,24625,7.325,24626,5.654,24627,5.135,24628,5.654,24629,5.357,24630,5.654,24631,5.135]],["title/additional-documentation/nestjs-application/authorisation.html",[869,2.834,1388,3.439,3877,4.549]],["body/additional-documentation/nestjs-application/authorisation.html",[0,0.076,5,0.005,8,0.445,9,1.026,10,1.549,26,1.895,27,0.087,30,0.001,31,0.345,32,0.048,33,0.102,34,0.878,47,0.621,72,4.379,74,1.694,94,1.118,101,0.007,103,0,104,0,122,1.071,134,1.363,135,1.566,141,1.654,146,1.506,148,0.867,153,1.151,157,0.508,159,0.227,183,3.79,185,2.637,193,0.96,194,2.406,195,1.346,197,1.072,205,1.876,206,1.674,223,0.686,228,0.932,231,0.383,233,0.689,252,2.528,254,1.389,260,1.436,290,3.063,304,1.904,316,1.066,317,1.515,326,2.654,330,5.697,331,4.512,371,2.045,376,3.762,400,0.658,409,3.914,412,4.629,413,1.343,417,1.235,512,1.964,527,0.935,528,2.597,531,3.651,537,1.206,561,0.991,567,1.466,571,2.433,585,1.619,589,0.295,595,0.834,610,4.627,612,4.689,613,3.594,614,0.682,626,1.938,640,3.78,641,2.193,652,1.256,653,0.912,657,1.893,693,3.18,700,1.066,701,1.066,702,1.091,703,3.504,711,1.146,734,3.676,756,0.874,806,1.694,810,3.762,812,3.351,813,5.139,816,1.531,876,1.147,886,1.615,983,1.423,985,5.069,997,1.389,998,1.043,1083,3.937,1092,2.59,1097,1.558,1197,5.798,1213,2.454,1218,5.999,1224,3.687,1237,0.651,1311,4.016,1328,1.171,1372,3.238,1381,1.483,1388,3.664,1390,1.373,1393,2.945,1475,8.299,1477,1.147,1563,3.308,1567,2.046,1568,1.531,1585,1.343,1623,1.938,1626,3.873,1775,1.215,1778,4.824,1783,3.155,1784,3.447,1799,6.127,1801,2.397,1821,2.491,1826,6.509,1831,2.553,1832,4.443,1833,1.793,1834,1.619,1835,1.976,1838,3.121,1842,1.006,1846,1.74,1851,2.958,1868,3.845,1882,4.238,1884,1.357,1885,6.045,1920,5.079,1921,1.531,1923,4.131,1924,2.673,1926,1.483,1927,1.303,1928,4.508,1929,5.016,1936,2.41,1938,3.756,1958,2.046,1961,4.201,1963,1.74,1981,1.423,1985,5.945,1986,1.793,1992,1.462,2026,2.505,2032,4.41,2037,2.485,2048,0.898,2134,2.72,2139,2.972,2163,2.373,2202,1.442,2220,1.072,2231,1.256,2233,2.63,2344,1.343,2345,2.046,2532,3.664,2533,1.256,2543,4.127,2544,4.168,2545,2.046,2554,1.389,2559,3.244,2561,1.329,2564,1.389,2580,6.57,2617,3.121,2629,7.053,2630,2.63,2631,5.233,2671,4.508,2752,6.334,2782,1.206,2815,0.884,2820,1.793,2836,1.74,2844,1.694,2869,4.883,2897,1.329,2909,1.74,2940,1.011,2992,2.326,3017,3.622,3083,1.329,3090,5.823,3218,1.279,3344,3.938,3382,1.731,3392,1.793,3394,3.779,3395,2.485,3396,3.529,3400,4.903,3485,1.423,3576,5.254,3682,1.442,3685,2.59,3696,3.687,3720,1.423,3781,1.357,3782,2.253,3866,3.093,3879,1.654,3940,4.622,4182,1.793,4184,4.839,4203,1.793,4205,1.694,4206,4.499,4557,1.35,4792,1.858,4878,3.762,4888,1.587,4890,1.654,4894,1.558,4968,1.793,4972,2.59,4973,1.858,4986,5.191,5070,1.531,5104,1.506,5106,1.188,5108,6.464,5202,3.35,5213,2.37,5214,2.046,5217,1.74,5239,1.389,5246,3.867,5269,1.558,5292,5.117,5374,1.74,5761,2.518,5883,4.769,5983,2.77,6244,5.203,6253,1.694,6261,1.793,6344,1.531,6504,1.793,6527,1.483,6624,2.074,7065,1.483,7174,1.506,7352,1.587,7359,1.531,7395,1.587,7442,1.793,7449,2.888,7529,1.329,7626,3.867,7673,1.558,7703,1.938,7704,1.858,7746,1.558,7769,5.069,7771,1.587,7773,3.938,7787,1.74,7792,1.694,7904,2.046,7948,5.398,7956,2.59,7968,1.29,7975,2.826,8207,1.793,8289,1.423,8379,1.654,8698,1.694,8968,1.858,9026,2.888,9072,2.826,9086,5.079,9301,4.846,9510,1.619,9836,1.694,9844,3.762,9845,1.858,10465,1.619,11231,4.168,11394,1.694,11494,1.654,11603,1.587,11609,1.74,11736,1.506,12203,1.858,12349,3.155,12361,1.558,12596,1.938,13142,4.754,13647,4.317,13785,1.793,14029,1.938,14269,1.858,14270,4.317,15021,3.572,15063,2.046,15116,3.038,15121,1.793,15196,1.654,15290,1.938,15395,3.038,15412,3.244,15438,2.673,15481,2.046,15492,2.046,15588,3.038,15709,1.858,15836,2.826,16328,3.132,16695,3.244,16699,1.654,16711,1.938,17218,1.74,17591,1.938,17632,3.572,17731,1.938,17757,2.046,17848,1.938,18013,1.74,18324,1.858,18646,3.038,19130,3.384,19960,1.938,20493,2.046,20678,5.886,21471,2.046,21477,1.858,21549,2.046,21652,6.733,21657,4.168,21683,5.697,21801,2.046,22186,2.046,22934,3.038,22935,2.046,24316,3.572,24488,8.063,24590,1.858,24594,3.938,24595,1.858,24602,1.858,24603,1.74,24623,1.793,24668,3.132,24673,5.67,24691,2.046,24699,1.858,24704,3.244,24724,1.938,24739,2.046,24780,3.384,24943,2.046,25023,5.398,25138,1.858,25147,2.046,25150,2.046,25172,1.858,25198,1.858,25217,2.046,25233,1.858,25234,1.938,25311,4.504,25385,2.046,25412,1.938,25415,3.244,25425,1.938,25441,4.754,25451,2.046,25458,1.938,25470,3.572,25488,4.504,25564,3.572,25600,2.046,25639,1.938,25651,1.938,25666,2.046,25679,2.046,25685,1.938,25694,2.046,25772,1.938,25795,3.572,25960,2.209,25961,2.209,25962,3.857,25963,2.209,25964,5.134,25965,2.209,25966,2.209,25967,2.046,25968,6.153,25969,3.857,25970,2.209,25971,2.209,25972,3.857,25973,3.857,25974,3.857,25975,2.209,25976,2.209,25977,3.857,25978,8.758,25979,2.209,25980,2.209,25981,2.209,25982,2.209,25983,2.209,25984,2.209,25985,2.209,25986,2.209,25987,2.209,25988,3.857,25989,2.209,25990,2.209,25991,2.209,25992,2.209,25993,5.134,25994,2.209,25995,3.857,25996,3.857,25997,2.209,25998,3.857,25999,2.209,26000,2.209,26001,2.209,26002,2.209,26003,2.209,26004,2.209,26005,2.209,26006,2.209,26007,2.209,26008,2.209,26009,2.209,26010,2.209,26011,3.857,26012,3.857,26013,2.209,26014,2.209,26015,2.209,26016,2.209,26017,3.857,26018,2.209,26019,2.209,26020,2.209,26021,2.209,26022,2.209,26023,2.209,26024,5.134,26025,2.209,26026,2.209,26027,2.209,26028,2.209,26029,2.209,26030,2.209,26031,2.209,26032,2.209,26033,5.134,26034,2.209,26035,6.153,26036,2.209,26037,2.209,26038,3.857,26039,2.209,26040,2.209,26041,2.209,26042,2.209,26043,2.209,26044,2.209,26045,2.209,26046,2.209,26047,2.209,26048,2.209,26049,2.209,26050,2.209,26051,3.857,26052,2.209,26053,2.209,26054,3.857,26055,2.209,26056,2.209,26057,2.209,26058,2.046,26059,2.209,26060,2.209,26061,2.209,26062,3.857,26063,2.209,26064,2.209,26065,2.209,26066,2.209,26067,2.209,26068,2.209,26069,2.209,26070,2.209,26071,2.209,26072,2.209,26073,2.209,26074,2.209,26075,2.209,26076,2.209,26077,2.209,26078,2.209]],["title/additional-documentation/nestjs-application/code-style.html",[869,2.425,998,2.332,1388,2.943,25695,4.335]],["body/additional-documentation/nestjs-application/code-style.html",[0,0.301,2,1.179,8,1.407,30,0.001,31,0.719,35,1.012,47,0.864,101,0.011,103,0.001,104,0.001,112,0.953,122,2.314,146,5.957,148,0.865,232,2.367,257,3.405,316,5.881,369,7.665,412,3.866,433,1.369,527,5.817,579,2.525,756,3.456,813,4.885,985,6.421,998,4.124,1080,3.824,1083,6.255,1783,5.368,1832,7.058,1838,5.311,1967,6.402,2032,3.32,2231,6.308,2357,4.968,2629,6.743,2631,5.957,3308,8.091,3578,7.347,3830,7.093,4216,8.091,5239,5.492,6299,7.665,7502,7.347,8889,6.542,12587,11.288,16652,6.882,16983,8.091,24594,6.701,24699,7.347,24967,8.091,24991,8.091,25207,8.091,25267,7.347,25482,7.347,25639,7.665,25651,9.733,25695,7.665,26058,8.091,26079,8.737,26080,8.737,26081,8.737,26082,8.737,26083,8.737,26084,8.737,26085,8.737,26086,8.737]],["title/additional-documentation/nestjs-application/s3clientmodule.html",[869,2.834,1388,3.439,12276,4.148]],["body/additional-documentation/nestjs-application/s3clientmodule.html",[0,0.385,30,0.001,31,0.494,101,0.016,103,0.001,104,0.001,135,1.457,176,5.643,219,4.928,228,1.599,252,3.233,254,3.174,259,4.057,276,3.447,407,8.482,412,5.416,433,1.087,567,3.349,589,1.179,610,3.473,641,5.012,652,1.799,734,4.682,806,6.759,813,4.928,1218,7.282,1835,4.516,2218,3.936,2232,5.357,2233,6.009,2629,5.357,2815,4.896,3866,4.431,4889,7.491,5287,6.942,7190,7.012,7191,6.6,7192,6.009,7193,6.009,7194,6.009,7195,6.009,8870,11.178,11979,9.787,12203,7.411,12289,7.411,12437,7.155,12438,6.458,14547,6.759,15588,6.942,18335,7.411,22934,6.942,22941,8.162,25623,8.162,25967,8.162,26087,8.814,26088,8.814,26089,8.814,26090,8.814,26091,8.814,26092,12.24,26093,8.814,26094,8.814,26095,8.814,26096,8.814]]],"invertedIndex":[["",{"_index":30,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"modules/AccountApiModule.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"interfaces/AccountConfig.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthCodeFailureLoggableException.html":{},"modules/AuthenticationApiModule.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"modules/AuthorizationModule.html":{},"classes/AuthorizationParams.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"modules/BoardApiModule.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"modules/ClassModule.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"modules/CoreModule.html":{},"interfaces/CoreModuleConfig.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"modules/ErrorModule.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FeathersError.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{},"classes/FileUrlParams.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"modules/GroupModule.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"interfaces/IdentityManagementConfig.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/InterceptorConfig.html":{},"modules/InterceptorModule.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"injectables/JwtAuthGuard.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Learnroom.html":{},"modules/LearnroomApiModule.html":{},"interfaces/LearnroomElement.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/LessonApiModule.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"modules/LessonModule.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"modules/NewsModule.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthApiModule.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"classes/ProvisioningDto.html":{},"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"modules/PseudonymModule.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"modules/RocketChatUserModule.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"modules/RoleModule.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"modules/TaskApiModule.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"modules/TaskModule.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawClientModule.html":{},"interfaces/TldrawConfig.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"interfaces/ToolVersion.html":{},"injectables/ToolVersionService.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"modules/UserApiModule.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"modules/ValidationModule.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"properties.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/api-design.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["0",{"_index":145,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthorizationHelper.html":{},"injectables/BaseDORepo.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"interfaces/CleanOptions.html":{},"interfaces/CollectionFilePath.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/CopyHelperService.html":{},"injectables/CourseCopyService.html":{},"classes/DashboardEntity.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"injectables/FilesService.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"classes/GroupUcMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"interfaces/IGridElement.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/ListOauthClientsParams.html":{},"classes/LoginRequestBody.html":{},"injectables/LtiToolRepo.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/MetaTagExtractorService.html":{},"interfaces/MigrationOptions.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"classes/PaginationParams.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"classes/ReferencesService.html":{},"interfaces/RetryOptions.html":{},"injectables/RoomsService.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolMigrationService.html":{},"classes/Scope.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"classes/SortHelper.html":{},"classes/StorageProviderEncryptedStringType.html":{},"classes/StringValidator.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TldrawBoardRepo.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["0.0.19",{"_index":24433,"title":{},"body":{"dependencies.html":{}}}],["0.1.1",{"_index":24510,"title":{},"body":{"dependencies.html":{}}}],["0.1.13",{"_index":24540,"title":{},"body":{"dependencies.html":{}}}],["0.1.4",{"_index":24549,"title":{},"body":{"dependencies.html":{}}}],["0.1.7",{"_index":24567,"title":{},"body":{"dependencies.html":{}}}],["0.14.0",{"_index":24467,"title":{},"body":{"dependencies.html":{}}}],["0.4.0",{"_index":24453,"title":{},"body":{"dependencies.html":{}}}],["0.4.11",{"_index":24441,"title":{},"body":{"dependencies.html":{}}}],["0.5.1",{"_index":24563,"title":{},"body":{"dependencies.html":{}}}],["0.5.19",{"_index":24552,"title":{},"body":{"dependencies.html":{}}}],["0.5.2",{"_index":24524,"title":{},"body":{"dependencies.html":{}}}],["0.5.4",{"_index":24514,"title":{},"body":{"dependencies.html":{}}}],["0.5.9",{"_index":24442,"title":{},"body":{"dependencies.html":{}}}],["0.6.0",{"_index":24515,"title":{},"body":{"dependencies.html":{}}}],["0.7.0",{"_index":24551,"title":{},"body":{"dependencies.html":{}}}],["0.8.0",{"_index":24448,"title":{},"body":{"dependencies.html":{}}}],["0.8.1",{"_index":24518,"title":{},"body":{"dependencies.html":{}}}],["0.9.7",{"_index":24512,"title":{},"body":{"dependencies.html":{}}}],["0000d231816abba584714c9e",{"_index":25599,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["0000dcfbfb5c7a3f00bf21ab",{"_index":6726,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{}}}],["0000dcfbfb5c7a3f00bf21ab'})@ismongoid",{"_index":6722,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{}}}],["05",{"_index":25596,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["08",{"_index":20707,"title":{},"body":{"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["0]?.id",{"_index":14405,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["1",{"_index":756,"title":{"classes/ContextExternalToolIdParams-1.html":{},"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/FileDto-1.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/LessonUrlParams-1.html":{},"classes/LoginResponse-1.html":{},"interfaces/S3Config-1.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolIdParams-1.html":{},"classes/VideoConference-1.html":{}},"body":{"injectables/AccountRepo.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountValidationService.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"interfaces/CleanOptions.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardService.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/CopyHelperService.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/CustomParameterFactory.html":{},"classes/DashboardEntity.html":{},"injectables/DeleteFilesUc.html":{},"classes/DeletionExecutionParams.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/GridElement.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraSsoService.html":{},"interfaces/IGridElement.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/InstalledLibrary.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"interfaces/MigrationOptions.html":{},"classes/NewsScope.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OidcProvisioningService.html":{},"classes/PaginationParams.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/RecursiveSaveVisitor.html":{},"interfaces/RetryOptions.html":{},"injectables/RuleManager.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/Scope.html":{},"classes/ShareTokenBodyParams.html":{},"classes/SortHelper.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TldrawWsService.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserRepo.html":{},"classes/UsersList.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["1.0.0",{"_index":24535,"title":{},"body":{"dependencies.html":{}}}],["1.0.3",{"_index":24416,"title":{},"body":{"dependencies.html":{}}}],["1.0.5",{"_index":24494,"title":{},"body":{"dependencies.html":{}}}],["1.0.56",{"_index":24482,"title":{},"body":{"dependencies.html":{}}}],["1.0a",{"_index":15834,"title":{},"body":{"injectables/Lti11EncryptionService.html":{},"dependencies.html":{}}}],["1.1",{"_index":25784,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["1.1.1",{"_index":24532,"title":{},"body":{"dependencies.html":{}}}],["1.1.4",{"_index":24541,"title":{},"body":{"dependencies.html":{}}}],["1.15.2",{"_index":24460,"title":{},"body":{"dependencies.html":{}}}],["1.17.3",{"_index":24487,"title":{},"body":{"dependencies.html":{}}}],["1.2",{"_index":25785,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["1.2.0",{"_index":24458,"title":{},"body":{"dependencies.html":{}}}],["1.2.2",{"_index":24533,"title":{},"body":{"dependencies.html":{}}}],["1.21.2",{"_index":24457,"title":{},"body":{"dependencies.html":{}}}],["1.25.0",{"_index":24495,"title":{},"body":{"dependencies.html":{}}}],["1.25.1",{"_index":24435,"title":{},"body":{"dependencies.html":{}}}],["1.28.1",{"_index":24502,"title":{},"body":{"dependencies.html":{}}}],["1.3.4",{"_index":24417,"title":{},"body":{"dependencies.html":{}}}],["1.5.0",{"_index":24456,"title":{},"body":{"dependencies.html":{}}}],["1.6.0",{"_index":24462,"title":{},"body":{"dependencies.html":{}}}],["1.6.2",{"_index":24472,"title":{},"body":{"dependencies.html":{}}}],["1.9.4",{"_index":24526,"title":{},"body":{"dependencies.html":{}}}],["10",{"_index":758,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"interfaces/CleanOptions.html":{},"injectables/HydraOauthUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"interfaces/MigrationOptions.html":{},"classes/PaginationParams.html":{},"interfaces/RetryOptions.html":{},"license.html":{}}}],["10.0.1",{"_index":24428,"title":{},"body":{"dependencies.html":{}}}],["10.1.1",{"_index":24426,"title":{},"body":{"dependencies.html":{}}}],["10.2.4",{"_index":24424,"title":{},"body":{"dependencies.html":{}}}],["100",{"_index":745,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"interfaces/CleanOptions.html":{},"classes/DeletionExecutionParams.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapService.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["1000",{"_index":1743,"title":{},"body":{"injectables/AuthenticationService.html":{},"classes/CourseFactory.html":{},"classes/DeleteFilesConsole.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"injectables/S3ClientAdapter.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["10000",{"_index":21507,"title":{},"body":{"classes/TaskFactory.html":{}}}],["100000",{"_index":7938,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/FileRecordFactory.html":{},"classes/JwtTestFactory.html":{}}}],["1010",{"_index":24278,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["1055",{"_index":1941,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["10start",{"_index":25917,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["11",{"_index":24814,"title":{},"body":{"license.html":{}}}],["12.12.23",{"_index":19519,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["123",{"_index":15178,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["1234",{"_index":25828,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["12345",{"_index":21111,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["124",{"_index":16736,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["13",{"_index":4629,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/GroupUcMapper.html":{},"license.html":{}}}],["13.1.0",{"_index":24536,"title":{},"body":{"dependencies.html":{}}}],["13.6.7",{"_index":24569,"title":{},"body":{"dependencies.html":{}}}],["1337",{"_index":6059,"title":{},"body":{"injectables/CommonToolService.html":{},"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{},"injectables/ToolVersionService.html":{}}}],["14.14",{"_index":12048,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["1496",{"_index":11022,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["15",{"_index":5338,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"license.html":{}}}],["150",{"_index":4480,"title":{},"body":{"injectables/CardService.html":{},"injectables/ColumnBoardService.html":{}}}],["1547",{"_index":15289,"title":{},"body":{"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{}}}],["15672:15672",{"_index":25283,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["15:20:30.888",{"_index":25598,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["16",{"_index":24974,"title":{},"body":{"license.html":{}}}],["172.29.173.128",{"_index":25921,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["173",{"_index":2530,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["17t14:17:51.958+00:00",{"_index":20708,"title":{},"body":{"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["18.5.0",{"_index":24492,"title":{},"body":{"dependencies.html":{}}}],["19",{"_index":24634,"title":{},"body":{"license.html":{}}}],["1993",{"_index":25841,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["1996",{"_index":24820,"title":{},"body":{"license.html":{}}}],["2",{"_index":146,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"interfaces/CollectionFilePath.html":{},"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/IGridElement.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"controllers/LoginController.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["2.'})@apiresponse({status",{"_index":15757,"title":{},"body":{"controllers/LoginController.html":{}}}],["2.0",{"_index":6306,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/OauthClientBody.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["2.0.0",{"_index":24464,"title":{},"body":{"dependencies.html":{}}}],["2.0.1",{"_index":24431,"title":{},"body":{"dependencies.html":{}}}],["2.0.5",{"_index":24504,"title":{},"body":{"dependencies.html":{}}}],["2.1.0",{"_index":24423,"title":{},"body":{"dependencies.html":{}}}],["2.1.2",{"_index":24466,"title":{},"body":{"dependencies.html":{}}}],["2.1.5",{"_index":24500,"title":{},"body":{"dependencies.html":{}}}],["2.1375.0",{"_index":24455,"title":{},"body":{"dependencies.html":{}}}],["2.19.2",{"_index":24511,"title":{},"body":{"dependencies.html":{}}}],["2.2.5",{"_index":24437,"title":{},"body":{"dependencies.html":{}}}],["2.2.6",{"_index":24527,"title":{},"body":{"dependencies.html":{}}}],["2.3.2",{"_index":24496,"title":{},"body":{"dependencies.html":{}}}],["2.8.1",{"_index":24477,"title":{},"body":{"dependencies.html":{}}}],["2.8.32",{"_index":24439,"title":{},"body":{"dependencies.html":{}}}],["2.9.0",{"_index":24463,"title":{},"body":{"dependencies.html":{}}}],["20",{"_index":24818,"title":{},"body":{"license.html":{}}}],["200",{"_index":333,"title":{},"body":{"controllers/AccountController.html":{},"classes/AxiosResponseImp.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/H5PEditorController.html":{},"injectables/HydraOauthUc.html":{},"controllers/LoginController.html":{},"controllers/ShareTokenController.html":{},"controllers/SystemController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["2007",{"_index":24636,"title":{},"body":{"license.html":{}}}],["200})@apiinternalservererrorresponse({description",{"_index":23425,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["201",{"_index":3195,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/H5PEditorController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/ShareTokenController.html":{}}}],["202",{"_index":8980,"title":{},"body":{"injectables/DeletionClient.html":{},"controllers/DeletionRequestsController.html":{}}}],["2023",{"_index":20706,"title":{},"body":{"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["204",{"_index":3240,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"injectables/DeletionClient.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/TldrawController.html":{}}}],["204})@apiresponse({status",{"_index":3203,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/TldrawController.html":{}}}],["21.1.2",{"_index":24418,"title":{},"body":{"dependencies.html":{}}}],["23.3.0",{"_index":24498,"title":{},"body":{"dependencies.html":{}}}],["24",{"_index":7653,"title":{},"body":{"classes/CourseFactory.html":{},"classes/DeletionRequestBodyProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/ParentInfo.html":{}}}],["250",{"_index":3843,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["28",{"_index":25105,"title":{},"body":{"license.html":{}}}],["2984",{"_index":19239,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["2a$10$/dsztv5o6p5piw2ewjsxw.4nhovmjgba.qnwitmuz/uvuc40b.uhu",{"_index":584,"title":{},"body":{"classes/AccountFactory.html":{}}}],["2auth",{"_index":25243,"title":{},"body":{"todo.html":{}}}],["3",{"_index":3830,"title":{},"body":{"injectables/BoardManagementUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/LdapService.html":{},"license.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["3.0",{"_index":25212,"title":{},"body":{"properties.html":{}}}],["3.0.0",{"_index":24422,"title":{},"body":{"dependencies.html":{}}}],["3.0.1",{"_index":24425,"title":{},"body":{"dependencies.html":{}}}],["3.0.2",{"_index":24543,"title":{},"body":{"dependencies.html":{}}}],["3.1.0",{"_index":24529,"title":{},"body":{"dependencies.html":{}}}],["3.100.0",{"_index":24409,"title":{},"body":{"dependencies.html":{}}}],["3.13.0",{"_index":24544,"title":{},"body":{"dependencies.html":{}}}],["3.2.2",{"_index":24446,"title":{},"body":{"dependencies.html":{}}}],["3.3",{"_index":16985,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["3.3.4",{"_index":24525,"title":{},"body":{"dependencies.html":{}}}],["3.8.2",{"_index":24566,"title":{},"body":{"dependencies.html":{}}}],["30",{"_index":2891,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"classes/DeletionRequestBodyProps.html":{},"license.html":{}}}],["300",{"_index":15014,"title":{},"body":{"injectables/LdapService.html":{}}}],["3000:3000",{"_index":25954,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["302",{"_index":13421,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["3030/api/v3/docs",{"_index":25369,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["3030/docs",{"_index":25374,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["31",{"_index":25597,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["335",{"_index":13688,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["3532",{"_index":25842,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["389:389",{"_index":25881,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["3990",{"_index":1946,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["4",{"_index":8379,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/ExternalToolLogoService.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["4.0.0",{"_index":24415,"title":{},"body":{"dependencies.html":{}}}],["4.0.1",{"_index":24534,"title":{},"body":{"dependencies.html":{}}}],["4.1.6",{"_index":24558,"title":{},"body":{"dependencies.html":{}}}],["4.13.2",{"_index":24486,"title":{},"body":{"dependencies.html":{}}}],["4.14.0",{"_index":24485,"title":{},"body":{"dependencies.html":{}}}],["4.17.19",{"_index":24508,"title":{},"body":{"dependencies.html":{}}}],["4.18.2",{"_index":24557,"title":{},"body":{"dependencies.html":{}}}],["4.2.0",{"_index":24479,"title":{},"body":{"dependencies.html":{}}}],["4.2.5",{"_index":24468,"title":{},"body":{"dependencies.html":{}}}],["4.5.11",{"_index":24412,"title":{},"body":{"dependencies.html":{}}}],["4.5.16",{"_index":24411,"title":{},"body":{"dependencies.html":{}}}],["4.6.0",{"_index":24461,"title":{},"body":{"dependencies.html":{}}}],["4.x",{"_index":25276,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["400",{"_index":337,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"classes/ConsentRequestBody.html":{},"controllers/ElementController.html":{},"classes/ErrorMapper.html":{},"controllers/H5PEditorController.html":{},"controllers/LoginController.html":{},"classes/LoginRequestBody.html":{},"injectables/MetaTagExtractorService.html":{},"classes/OAuthRejectableBody.html":{},"controllers/ShareTokenController.html":{},"injectables/TldrawBoardRepo.html":{},"controllers/TldrawController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["400/bad",{"_index":25613,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["401",{"_index":6271,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"controllers/MetaTagExtractorController.html":{},"classes/OAuthRejectableBody.html":{}}}],["4011:80",{"_index":25869,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["403",{"_index":342,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"classes/ConsentRequestBody.html":{},"controllers/ElementController.html":{},"classes/ErrorMapper.html":{},"controllers/H5PEditorController.html":{},"controllers/LoginController.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"controllers/ShareTokenController.html":{},"controllers/TldrawController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["404",{"_index":345,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/ShareTokenController.html":{},"controllers/TldrawController.html":{},"todo.html":{}}}],["409/conflict",{"_index":25612,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["4096",{"_index":7920,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["43200",{"_index":2885,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"injectables/DeletionRequestService.html":{}}}],["4444",{"_index":25332,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["456",{"_index":15183,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["47494638",{"_index":10324,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["4xx",{"_index":12675,"title":{},"body":{"controllers/GroupController.html":{}}}],["5",{"_index":18330,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"license.html":{}}}],["5.0.0",{"_index":24450,"title":{},"body":{"dependencies.html":{}}}],["5.0.1",{"_index":24451,"title":{},"body":{"dependencies.html":{}}}],["5.0.3",{"_index":24489,"title":{},"body":{"dependencies.html":{}}}],["5.1.1",{"_index":24531,"title":{},"body":{"dependencies.html":{}}}],["5.13.20",{"_index":24513,"title":{},"body":{"dependencies.html":{}}}],["5.2.1",{"_index":24421,"title":{},"body":{"dependencies.html":{}}}],["5.4.2",{"_index":24420,"title":{},"body":{"dependencies.html":{}}}],["500",{"_index":9894,"title":{},"body":{"classes/ErrorMapper.html":{},"controllers/H5PEditorController.html":{},"classes/ListOauthClientsParams.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/ShareTokenController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["501",{"_index":20293,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["5069",{"_index":1995,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["5672",{"_index":25285,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["5672:5672",{"_index":25282,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["59",{"_index":14388,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["5xx",{"_index":12677,"title":{},"body":{"controllers/GroupController.html":{}}}],["6.0.0",{"_index":24474,"title":{},"body":{"dependencies.html":{}}}],["6.1.3",{"_index":24475,"title":{},"body":{"dependencies.html":{}}}],["6.2.2",{"_index":24528,"title":{},"body":{"dependencies.html":{}}}],["6.3.0",{"_index":24490,"title":{},"body":{"dependencies.html":{}}}],["6.9.7",{"_index":24537,"title":{},"body":{"dependencies.html":{}}}],["60",{"_index":7654,"title":{},"body":{"classes/CourseFactory.html":{},"classes/DeletionRequestBodyProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/ParentInfo.html":{},"injectables/S3ClientAdapter.html":{},"license.html":{}}}],["60000",{"_index":19017,"title":{},"body":{"injectables/RoleRepo.html":{},"injectables/TeamsRepo.html":{}}}],["64",{"_index":25825,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["699615164",{"_index":25236,"title":{},"body":{"todo.html":{}}}],["6b",{"_index":24891,"title":{},"body":{"license.html":{}}}],["6d",{"_index":24910,"title":{},"body":{"license.html":{}}}],["7",{"_index":11751,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/TaskUC.html":{},"license.html":{}}}],["7.0.0",{"_index":24478,"title":{},"body":{"dependencies.html":{}}}],["7.1.10",{"_index":24429,"title":{},"body":{"dependencies.html":{}}}],["7.3.1",{"_index":24545,"title":{},"body":{"dependencies.html":{}}}],["720",{"_index":2889,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["7776000",{"_index":9127,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["789",{"_index":15184,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["8",{"_index":12020,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/KeycloakSeedService.html":{},"interfaces/LibrariesContentType.html":{}}}],["8.1.0",{"_index":24470,"title":{},"body":{"dependencies.html":{}}}],["8.3.0",{"_index":24565,"title":{},"body":{"dependencies.html":{}}}],["8.8.2",{"_index":24444,"title":{},"body":{"dependencies.html":{}}}],["80",{"_index":25367,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["8080",{"_index":25339,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["8080:8080",{"_index":25298,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["8443:8443",{"_index":25299,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["86400000",{"_index":11813,"title":{},"body":{"classes/FileRecordFactory.html":{},"classes/TaskFactory.html":{}}}],["885",{"_index":24280,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["89504e47",{"_index":10322,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["9.0.0",{"_index":24503,"title":{},"body":{"dependencies.html":{}}}],["9.2.0",{"_index":24419,"title":{},"body":{"dependencies.html":{}}}],["9/._",{"_index":22080,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["90",{"_index":9293,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["9000:9000",{"_index":25290,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["9001",{"_index":25295,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["9001:9001",{"_index":25291,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["91",{"_index":17336,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["9229",{"_index":25328,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["99",{"_index":893,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"classes/PaginationParams.html":{}}}],["990",{"_index":11393,"title":{},"body":{"injectables/FederalStateService.html":{},"classes/LegacySchoolDo.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SchoolYearService.html":{}}}],["999",{"_index":24611,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["9])+(.html|.css|.mp4|.pdf|.doc|.png|.jpg|.gif|.min.js|.js|.ico|.txt|.min.css|.ttf|.svg|.woff|.ui.l|.mf.l",{"_index":12487,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{}}}],["9])+(.html|.css|.mp4|.pdf|.doc|.png|.jpg|.gif|.min.js|.js|.ico|.txt|.min.css|.ttf|.svg|.woff|.ui.l|.mf.l)')@isstring()@isnotempty",{"_index":12485,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{}}}],["9]{24",{"_index":3179,"title":{},"body":{"classes/BoardContextResponse.html":{},"classes/BoardResponse.html":{},"classes/CardResponse.html":{},"classes/CardSkeletonResponse.html":{},"classes/ColumnResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/CreateNewsParams.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FilterNewsParams.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/LessonCopyApiParams.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/SchoolInfoResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionItemResponse.html":{},"classes/TargetInfoResponse.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/UserInfoResponse.html":{}}}],["9a",{"_index":7890,"title":{},"body":{"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["_",{"_index":694,"title":{},"body":{"interfaces/AccountParams.html":{},"classes/GlobalErrorFilter.html":{},"controllers/LoginController.html":{},"modules/MongoMemoryDatabaseModule.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserFactory.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["_${now.getdate()}_${now.gethours()}_${now.getminutes()}_${now.getseconds",{"_index":5212,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["_.pick(params",{"_index":708,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["_.random(35).tostring(36)).join",{"_index":16353,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["_.snakecase(classname).touppercase",{"_index":12572,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["_.snakecase(exceptionname).touppercase",{"_index":12582,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["_.spec.ts",{"_index":25502,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["_.startcase(exceptionname",{"_index":12583,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["_.startcase(name",{"_index":12573,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["_.test.[ts|js",{"_index":25346,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["_.times(20",{"_index":16352,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["_.union(userpermissions",{"_index":23371,"title":{},"body":{"classes/UserFactory.html":{}}}],["_\\w\\d",{"_index":16364,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["__v",{"_index":11517,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["_allowemptyquery",{"_index":6891,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/ImportUserScope.html":{},"classes/LessonScope.html":{},"classes/NewsScope.html":{},"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/Scope.html":{},"classes/SystemScope.html":{},"classes/TaskScope.html":{},"classes/UserScope.html":{}}}],["_collectdefaultmetrics",{"_index":17957,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["_collectmetricsroutemetrics",{"_index":17958,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["_columnboardid",{"_index":5558,"title":{},"body":{"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{}}}],["_contextid",{"_index":3659,"title":{},"body":{"injectables/BoardDoRepo.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["_contexttype",{"_index":3661,"title":{},"body":{"injectables/BoardDoRepo.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["_creatorid",{"_index":6625,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ParentInfo.html":{}}}],["_em",{"_index":2452,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FilesRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/TldrawRepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["_id",{"_index":789,"title":{},"body":{"injectables/AccountRepo.html":{},"interfaces/AdminIdAndToken.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"interfaces/EntityWithSchool.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/FeathersAuthProvider.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/TaskRepo.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["_id.$oid",{"_index":5306,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["_instance",{"_index":17959,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["_iscopyfrom",{"_index":11710,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["_isenabled",{"_index":17960,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["_lockid",{"_index":11480,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["_oauthconfigcache",{"_index":14644,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["_operator",{"_index":6892,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/ImportUserScope.html":{},"classes/LessonScope.html":{},"classes/NewsScope.html":{},"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/Scope.html":{},"classes/SystemScope.html":{},"classes/TaskScope.html":{},"classes/UserScope.html":{}}}],["_origintoolid",{"_index":8055,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["_ownerid",{"_index":11481,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["_parentid",{"_index":6627,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ParentInfo.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["_port",{"_index":17961,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["_queries",{"_index":6893,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/ImportUserScope.html":{},"classes/LessonScope.html":{},"classes/NewsScope.html":{},"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/Scope.html":{},"classes/SystemScope.html":{},"classes/TaskScope.html":{},"classes/UserScope.html":{}}}],["_route",{"_index":17962,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["_schoolid",{"_index":6629,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ParentInfo.html":{}}}],["_self",{"_index":6019,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["_updatedat",{"_index":1075,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["a.getmetadata().title",{"_index":8394,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["a.localecompare(b",{"_index":20546,"title":{},"body":{"classes/SortHelper.html":{}}}],["a.m",{"_index":24628,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["a.position",{"_index":3569,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["a.userid.$oid",{"_index":14833,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["a.width",{"_index":16234,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["a11ytitle",{"_index":6524,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["a@b.de",{"_index":13339,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["aaa",{"_index":25670,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["abbreviation",{"_index":7380,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["ability",{"_index":24950,"title":{},"body":{"license.html":{}}}],["aborted",{"_index":14808,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["above",{"_index":19384,"title":{},"body":{"injectables/S3ClientAdapter.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["absence",{"_index":24841,"title":{},"body":{"license.html":{}}}],["absolute",{"_index":5196,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"license.html":{}}}],["abstract",{"_index":9,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"injectables/AccountIdmToDtoMapper.html":{},"interfaces/AuthorizableObject.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"entities/BoardElement.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardUrlHandler.html":{},"classes/BusinessError.html":{},"entities/CourseNews.html":{},"injectables/CourseUrlHandler.html":{},"injectables/DashboardRepo.html":{},"classes/DomainObject.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"interfaces/IDashboardRepo.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"injectables/LessonUrlHandler.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OauthProviderService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/PaginationResponse.html":{},"classes/ProvisioningStrategy.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/RpcMessageProducer.html":{},"entities/SchoolNews.html":{},"classes/SortingParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"injectables/TaskUrlHandler.html":{},"entities/TeamNews.html":{},"classes/UpdateElementContentBodyParams.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["abstractaccountservice",{"_index":1,"title":{"classes/AbstractAccountService.html":{}},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:100",{"_index":920,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:109",{"_index":905,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:114",{"_index":906,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:118",{"_index":918,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:123",{"_index":917,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:128",{"_index":922,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:147",{"_index":913,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:19",{"_index":909,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:25",{"_index":914,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:30",{"_index":910,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:35",{"_index":911,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:43",{"_index":912,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:48",{"_index":916,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:84",{"_index":921,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:92",{"_index":919,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractbootstrapconsole",{"_index":22128,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["abstraction",{"_index":25967,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["abstraction/detail",{"_index":25407,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["abstractions",{"_index":25443,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["abstractlaunchstrategy",{"_index":2725,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:105",{"_index":2760,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:128",{"_index":2763,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:139",{"_index":2766,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:155",{"_index":2753,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:18",{"_index":2745,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:181",{"_index":2781,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:19",{"_index":16797,"title":{},"body":{"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:218",{"_index":2778,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:24",{"_index":2783,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:249",{"_index":2757,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:33",{"_index":2747,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:40",{"_index":2771,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:64",{"_index":2773,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:79",{"_index":2768,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:9",{"_index":2742,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstracturlhandler",{"_index":105,"title":{"classes/AbstractUrlHandler.html":{}},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["abstracturlhandler:11",{"_index":4152,"title":{},"body":{"injectables/BoardUrlHandler.html":{}}}],["abstracturlhandler:19",{"_index":4148,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["abstracturlhandler:24",{"_index":4150,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["abstracturlhandler:7",{"_index":4149,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["abstracturlhandler:9",{"_index":7892,"title":{},"body":{"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["acacac",{"_index":7452,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["accept",{"_index":189,"title":{},"body":{"classes/AcceptQuery.html":{},"interfaces/AuthenticationResponse.html":{},"classes/BoardComposite.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{},"classes/TestApiClient.html":{},"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["accept(visitor",{"_index":3049,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["acceptance",{"_index":25017,"title":{},"body":{"license.html":{}}}],["acceptasync",{"_index":3042,"title":{},"body":{"classes/BoardComposite.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["acceptasync(visitor",{"_index":3053,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["acceptconsentrequest",{"_index":17183,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["acceptconsentrequest(challenge",{"_index":17189,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["acceptconsentrequestbody",{"_index":160,"title":{"interfaces/AcceptConsentRequestBody.html":{}},"body":{"interfaces/AcceptConsentRequestBody.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["accepted",{"_index":8981,"title":{},"body":{"injectables/DeletionClient.html":{},"todo.html":{}}}],["acceptloginrequest",{"_index":17341,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["acceptloginrequest(challenge",{"_index":17413,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["acceptloginrequest(currentuserid",{"_index":17345,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["acceptloginrequestbody",{"_index":179,"title":{"interfaces/AcceptLoginRequestBody.html":{}},"body":{"interfaces/AcceptLoginRequestBody.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/OauthProviderService.html":{}}}],["acceptlogoutrequest",{"_index":17222,"title":{},"body":{"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{}}}],["acceptlogoutrequest(@param",{"_index":17300,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["acceptlogoutrequest(challenge",{"_index":17415,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["acceptlogoutrequest(params",{"_index":17227,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["acceptquery",{"_index":186,"title":{"classes/AcceptQuery.html":{}},"body":{"classes/AcceptQuery.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["accepts",{"_index":192,"title":{},"body":{"classes/AcceptQuery.html":{},"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["access",{"_index":371,"title":{},"body":{"controllers/AccountController.html":{},"interfaces/AdminIdAndToken.html":{},"controllers/CollaborativeStorageController.html":{},"interfaces/CollectionFilePath.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"classes/ErrorLoggable.html":{},"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/JwtExtractor.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/OauthClientBody.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"controllers/ServerController.html":{},"injectables/TldrawBoardRepo.html":{},"classes/TldrawWs.html":{},"controllers/ToolController.html":{},"controllers/ToolReferenceController.html":{},"classes/UsersList.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["access,@typescript",{"_index":1093,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["access.token.claim",{"_index":14609,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["access_token",{"_index":177,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["accessed",{"_index":7774,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["accessible",{"_index":24696,"title":{},"body":{"license.html":{}}}],["accessing",{"_index":25460,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["accesskeyid",{"_index":7194,"title":{},"body":{"interfaces/CopyFiles.html":{},"injectables/DeleteFilesUc.html":{},"interfaces/File.html":{},"interfaces/FileStorageConfig.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["accessors",{"_index":735,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"classes/BoardComposite.html":{},"classes/BoardDoAuthorizable.html":{},"injectables/BoardRepo.html":{},"classes/Card.html":{},"classes/Class.html":{},"classes/ClassSourceOptions.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeletionLog.html":{},"injectables/DeletionLogRepo.html":{},"classes/DeletionRequest.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DomainObject.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FederalStateRepo.html":{},"classes/FileElement.html":{},"injectables/FileRecordRepo.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"classes/Group.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElement.html":{},"injectables/LtiToolRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/Pseudonym.html":{},"classes/RichTextElement.html":{},"classes/RocketChatUser.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolYearRepo.html":{},"classes/Scope.html":{},"injectables/ShareTokenRepo.html":{},"injectables/StorageProviderRepo.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionRepo.html":{},"classes/System.html":{},"injectables/TaskRepo.html":{},"classes/TeamUserEntity.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["accesstoken",{"_index":1605,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/LoginDto.html":{},"classes/LoginResponse.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"injectables/ProvisioningService.html":{},"classes/TestApiClient.html":{},"classes/TokenRequestMapper.html":{}}}],["accesstokendto",{"_index":15823,"title":{},"body":{"injectables/LoginUc.html":{}}}],["accesstokendto.accesstoken",{"_index":15825,"title":{},"body":{"injectables/LoginUc.html":{}}}],["accompanied",{"_index":24876,"title":{},"body":{"license.html":{}}}],["accompanies",{"_index":25183,"title":{},"body":{"license.html":{}}}],["accomplish",{"_index":24698,"title":{},"body":{"license.html":{}}}],["accord",{"_index":24840,"title":{},"body":{"license.html":{}}}],["according",{"_index":25175,"title":{},"body":{"license.html":{}}}],["account",{"_index":94,"title":{"entities/Account.html":{}},"body":{"classes/AbstractAccountService.html":{},"entities/Account.html":{},"classes/AccountByIdParams.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"injectables/EtherpadService.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"interfaces/ICurrentUser.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserListResponse.html":{},"modules/ImportUserModule.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/NexboardService.html":{},"injectables/Oauth2Strategy.html":{},"classes/TestApiClient.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"injectables/UserMigrationService.html":{},"injectables/UserService.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["account${sequence",{"_index":588,"title":{},"body":{"classes/AccountFactory.html":{}}}],["account's",{"_index":13740,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["account.'})@apiresponse({status",{"_index":336,"title":{},"body":{"controllers/AccountController.html":{}}}],["account._id.$oid",{"_index":14843,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["account.activated",{"_index":485,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"classes/AccountResponseMapper.html":{},"injectables/AccountServiceDb.html":{}}}],["account.attdbcaccountid",{"_index":602,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["account.attdbcsystemid",{"_index":604,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["account.attdbcuserid",{"_index":603,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["account.createdat",{"_index":481,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["account.createddate",{"_index":601,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{}}}],["account.credentialhash",{"_index":486,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{}}}],["account.email",{"_index":14703,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["account.expiresat",{"_index":487,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{}}}],["account.factory",{"_index":696,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["account.firstname",{"_index":14704,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["account.id",{"_index":480,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"classes/AccountResponseMapper.html":{},"injectables/AccountValidationService.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LocalStrategy.html":{},"injectables/Oauth2Strategy.html":{}}}],["account.interface",{"_index":14826,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["account.interface.ts",{"_index":14255,"title":{},"body":{"interfaces/JsonAccount.html":{}}}],["account.lastname",{"_index":14705,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["account.lasttriedfailedlogin",{"_index":488,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{},"injectables/AuthenticationService.html":{}}}],["account.lasttriedfailedlogin.gettime",{"_index":1742,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["account.module",{"_index":281,"title":{},"body":{"modules/AccountApiModule.html":{}}}],["account.params.ts",{"_index":17721,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["account.params.ts:13",{"_index":17732,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["account.params.ts:24",{"_index":17730,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["account.params.ts:33",{"_index":17726,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["account.params.ts:42",{"_index":17727,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["account.params.ts:51",{"_index":17728,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["account.password",{"_index":489,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["account.response",{"_index":879,"title":{},"body":{"classes/AccountSearchListResponse.html":{}}}],["account.service.abstract",{"_index":925,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["account.systemid",{"_index":938,"title":{},"body":{"injectables/AccountServiceDb.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/UserMigrationService.html":{},"injectables/UserService.html":{}}}],["account.systemid?.tostring",{"_index":490,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["account.test.factory.ts",{"_index":691,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["account.test.factory.ts:25",{"_index":23176,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["account.test.factory.ts:30",{"_index":23169,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["account.test.factory.ts:36",{"_index":23173,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["account.test.factory.ts:51",{"_index":23175,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["account.test.factory.ts:63",{"_index":23171,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["account.token",{"_index":491,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{}}}],["account.updatedat",{"_index":482,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"classes/AccountResponseMapper.html":{}}}],["account.userid",{"_index":838,"title":{},"body":{"classes/AccountResponseMapper.html":{},"injectables/AccountServiceDb.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LocalStrategy.html":{}}}],["account.userid.$oid",{"_index":14844,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["account.userid?.tostring",{"_index":483,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"classes/AccountResponseMapper.html":{},"injectables/AccountValidationService.html":{}}}],["account.username",{"_index":484,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/AccountResponseMapper.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/TestApiClient.html":{}}}],["account?.id",{"_index":1004,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["account?.systemid?.tostring",{"_index":1005,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["accountapimodule",{"_index":253,"title":{"modules/AccountApiModule.html":{}},"body":{"modules/AccountApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["accountbyidbodyparams",{"_index":284,"title":{"classes/AccountByIdBodyParams.html":{}},"body":{"classes/AccountByIdBodyParams.html":{},"controllers/AccountController.html":{}}}],["accountbyidparams",{"_index":306,"title":{"classes/AccountByIdParams.html":{}},"body":{"classes/AccountByIdParams.html":{},"controllers/AccountController.html":{}}}],["accountconfig",{"_index":310,"title":{"interfaces/AccountConfig.html":{}},"body":{"interfaces/AccountConfig.html":{},"interfaces/ServerConfig.html":{}}}],["accountcontroller",{"_index":275,"title":{"controllers/AccountController.html":{}},"body":{"modules/AccountApiModule.html":{},"controllers/AccountController.html":{}}}],["accountcopy",{"_index":23755,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["accountdbcaccountid",{"_index":13745,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["accountdbcuserid",{"_index":13747,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["accountdto",{"_index":66,"title":{"classes/AccountDto.html":{}},"body":{"classes/AbstractAccountService.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/AccountResponseMapper.html":{},"injectables/AccountServiceDb.html":{},"injectables/AuthenticationService.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/Oauth2Strategy.html":{},"injectables/UserMigrationService.html":{},"injectables/UserService.html":{}}}],["accountdto.activated",{"_index":942,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.credentialhash",{"_index":947,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.expiresat",{"_index":943,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.id",{"_index":935,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.lasttriedfailedlogin",{"_index":944,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.password",{"_index":945,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.systemid",{"_index":939,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.token",{"_index":948,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.username",{"_index":941,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdtos",{"_index":494,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["accountentities",{"_index":475,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{}}}],["accountentities[0",{"_index":493,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["accountentities[1",{"_index":496,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["accountentity",{"_index":928,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountentitytodtomapper",{"_index":464,"title":{"classes/AccountEntityToDtoMapper.html":{}},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{}}}],["accountentitytodtomapper.mapaccountstodto(accountentities",{"_index":931,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountentitytodtomapper.mapaccountstodto(await",{"_index":964,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountentitytodtomapper.mapaccountstodto(foundaccounts",{"_index":495,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["accountentitytodtomapper.mapsearchresult(accountentities",{"_index":956,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountentitytodtomapper.mapsearchresult(await",{"_index":988,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["accountentitytodtomapper.maptodto(account",{"_index":950,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountentitytodtomapper.maptodto(accountentity",{"_index":498,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{}}}],["accountfactory",{"_index":499,"title":{"classes/AccountFactory.html":{}},"body":{"classes/AccountFactory.html":{},"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["accountfactory.define(account",{"_index":587,"title":{},"body":{"classes/AccountFactory.html":{}}}],["accountfactory.withuser(user).build(accountparams",{"_index":710,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["accountid",{"_index":85,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"interfaces/ICurrentUser.html":{},"classes/IdentityManagementService.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{}}}],["accountid?.tostring",{"_index":1002,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["accountidmtodtomapper",{"_index":590,"title":{"injectables/AccountIdmToDtoMapper.html":{}},"body":{"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"modules/AccountModule.html":{}}}],["accountidmtodtomapper:6",{"_index":598,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{}}}],["accountidmtodtomapperdb",{"_index":596,"title":{"classes/AccountIdmToDtoMapperDb.html":{}},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"modules/AccountModule.html":{}}}],["accountidmtodtomapperfactory",{"_index":687,"title":{},"body":{"modules/AccountModule.html":{}}}],["accountidmtodtomapperfactory(configservice",{"_index":683,"title":{},"body":{"modules/AccountModule.html":{}}}],["accountidmtodtomapperidm",{"_index":605,"title":{"classes/AccountIdmToDtoMapperIdm.html":{}},"body":{"classes/AccountIdmToDtoMapperIdm.html":{},"modules/AccountModule.html":{}}}],["accountlookupservice",{"_index":607,"title":{"injectables/AccountLookupService.html":{}},"body":{"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"injectables/AccountServiceDb.html":{}}}],["accountmodule",{"_index":264,"title":{"modules/AccountModule.html":{}},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AuthenticationModule.html":{},"modules/DeletionApiModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/ProvisioningModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{}}}],["accountparams",{"_index":689,"title":{"interfaces/AccountParams.html":{}},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["accountpassword",{"_index":15670,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["accountrepo",{"_index":668,"title":{"injectables/AccountRepo.html":{}},"body":{"modules/AccountModule.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{}}}],["accountresponse",{"_index":334,"title":{"classes/AccountResponse.html":{}},"body":{"controllers/AccountController.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSearchListResponse.html":{}}}],["accountresponsemapper",{"_index":828,"title":{"classes/AccountResponseMapper.html":{}},"body":{"classes/AccountResponseMapper.html":{}}}],["accounts",{"_index":230,"title":{},"body":{"entities/Account.html":{},"controllers/AccountController.html":{},"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountValidationService.html":{},"injectables/AuthenticationService.html":{},"interfaces/CleanOptions.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapStrategy.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["accounts.'})@apiresponse({status",{"_index":375,"title":{},"body":{"controllers/AccountController.html":{}}}],["accounts.filter((foundaccount",{"_index":991,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["accounts.find((a",{"_index":14832,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["accounts.find((foundaccount",{"_index":1728,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["accounts.length",{"_index":14789,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["accounts.map((accountentity",{"_index":497,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["accounts_allowanonymousread=false",{"_index":25937,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_allowemailchange=false",{"_index":25936,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_allowrealnamechange=false",{"_index":25934,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_allowusernamechange=false",{"_index":25935,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_iframe_api_method=get",{"_index":25952,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_iframe_api_url=http://localhost:4000/rocketchat/authget",{"_index":25933,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_iframe_enabled=true",{"_index":25931,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_iframe_url=http://localhost:4000/rocketchat/iframe",{"_index":25932,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_send_email_when_activating=false",{"_index":25938,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_send_email_when_deactivating=false",{"_index":25939,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_setdefaultavatar=false",{"_index":25950,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_usedefaultblockeddomainslist=false",{"_index":25940,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accountsavedto",{"_index":64,"title":{"classes/AccountSaveDto.html":{}},"body":{"classes/AbstractAccountService.html":{},"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"injectables/OidcProvisioningService.html":{}}}],["accountsavedto:21",{"_index":455,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:26",{"_index":449,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:30",{"_index":452,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:34",{"_index":443,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:38",{"_index":453,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:42",{"_index":451,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:46",{"_index":447,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:5",{"_index":438,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:50",{"_index":445,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:54",{"_index":441,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:57",{"_index":446,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:7",{"_index":437,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:9",{"_index":439,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsearchlistresponse",{"_index":372,"title":{"classes/AccountSearchListResponse.html":{}},"body":{"controllers/AccountController.html":{},"classes/AccountSearchListResponse.html":{}}}],["accountsearchqueryparams",{"_index":366,"title":{"classes/AccountSearchQueryParams.html":{}},"body":{"controllers/AccountController.html":{},"classes/AccountSearchQueryParams.html":{}}}],["accountsearchtype",{"_index":884,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["accountservice",{"_index":666,"title":{},"body":{"modules/AccountModule.html":{},"injectables/AuthenticationService.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/UserMigrationService.html":{},"injectables/UserService.html":{}}}],["accountservicedb",{"_index":669,"title":{"injectables/AccountServiceDb.html":{}},"body":{"modules/AccountModule.html":{},"injectables/AccountServiceDb.html":{}}}],["accountserviceidm",{"_index":670,"title":{},"body":{"modules/AccountModule.html":{}}}],["accountsfile",{"_index":13587,"title":{},"body":{"interfaces/IKeycloakConfigurationInputFiles.html":{},"classes/KeycloakConfiguration.html":{}}}],["accountuc",{"_index":266,"title":{},"body":{"modules/AccountApiModule.html":{},"controllers/AccountController.html":{}}}],["accountuserid",{"_index":15673,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["accountvalidationservice",{"_index":667,"title":{"injectables/AccountValidationService.html":{}},"body":{"modules/AccountModule.html":{},"injectables/AccountValidationService.html":{}}}],["accumulator",{"_index":23959,"title":{},"body":{"classes/ValidationErrorLoggableException.html":{}}}],["achieve",{"_index":25186,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["achieved",{"_index":25769,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["acknowledges",{"_index":24790,"title":{},"body":{"license.html":{}}}],["acquired",{"_index":25063,"title":{},"body":{"license.html":{}}}],["acr",{"_index":181,"title":{},"body":{"interfaces/AcceptLoginRequestBody.html":{},"classes/ConsentResponse.html":{},"interfaces/ProviderConsentResponse.html":{}}}],["acr_values",{"_index":17511,"title":{},"body":{"classes/OidcContextResponse.html":{},"interfaces/ProviderOidcContext.html":{}}}],["act",{"_index":25669,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["action",{"_index":1197,"title":{},"body":{"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"classes/BaseDomainObject.html":{},"classes/BaseUc.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"classes/DtoCreator.html":{},"injectables/ElementUc.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"classes/ForbiddenLoggableException.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LessonRule.html":{},"classes/PatchMyAccountParams.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/S3ClientAdapter.html":{},"injectables/ShareTokenUC.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/TaskUC.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/UserLoginMigrationUc.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["action.enum",{"_index":1779,"title":{},"body":{"interfaces/AuthorizationContext.html":{}}}],["action.read",{"_index":1793,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{},"classes/BaseUc.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/CourseRule.html":{},"classes/DtoCreator.html":{},"injectables/ElementUc.html":{},"injectables/LessonRule.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRule.html":{},"injectables/TaskUC.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["action.write",{"_index":1792,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/CourseGroupRule.html":{},"injectables/ElementUc.html":{},"injectables/LessonRule.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/TaskUC.html":{}}}],["actions",{"_index":25023,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["actions.loggable",{"_index":17839,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{}}}],["actions.loggable.ts",{"_index":17787,"title":{},"body":{"classes/PreviewActionsLoggable.html":{}}}],["actions.loggable.ts:4",{"_index":17789,"title":{},"body":{"classes/PreviewActionsLoggable.html":{}}}],["actions.loggable.ts:7",{"_index":17790,"title":{},"body":{"classes/PreviewActionsLoggable.html":{}}}],["actions.read",{"_index":2545,"title":{},"body":{"classes/BaseDomainObject.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["actions.write",{"_index":26024,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["activated",{"_index":208,"title":{},"body":{"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/LibraryName.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{},"injectables/OidcProvisioningService.html":{},"classes/Path.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["activation",{"_index":288,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["active",{"_index":4885,"title":{},"body":{"interfaces/CleanOptions.html":{},"interfaces/IntrospectResponse.html":{},"injectables/JwtStrategy.html":{},"classes/KeycloakConsole.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"interfaces/MigrationOptions.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/RetryOptions.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["activities",{"_index":24735,"title":{},"body":{"license.html":{}}}],["activity",{"_index":25100,"title":{},"body":{"license.html":{}}}],["actor",{"_index":25446,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["actual",{"_index":25083,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["actually",{"_index":24926,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["adapt",{"_index":24717,"title":{},"body":{"license.html":{}}}],["adapter",{"_index":4968,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["adapter.mapper",{"_index":5003,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["adapter.mapper.ts",{"_index":5013,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["adapter.mapper.ts:16",{"_index":5016,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["adapter.module.ts",{"_index":5040,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["adapter.service",{"_index":3871,"title":{},"body":{"modules/BoardModule.html":{},"injectables/OAuthService.html":{},"modules/OauthModule.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["adapter.service.ts",{"_index":9551,"title":{},"body":{"injectables/DrawingElementAdapterService.html":{},"injectables/OauthAdapterService.html":{}}}],["adapter.service.ts:11",{"_index":16933,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["adapter.service.ts:13",{"_index":9555,"title":{},"body":{"injectables/DrawingElementAdapterService.html":{}}}],["adapter.service.ts:14",{"_index":16935,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["adapter.service.ts:23",{"_index":16940,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["adapter.service.ts:37",{"_index":16938,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["adapter.service.ts:8",{"_index":9553,"title":{},"body":{"injectables/DrawingElementAdapterService.html":{}}}],["adapters",{"_index":25809,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["add",{"_index":1626,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/CleanOptions.html":{},"classes/CreateNewsParams.html":{},"injectables/FileRecordRepo.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GroupRoleUnknownLoggable.html":{},"modules/H5PEditorModule.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"classes/ReferencesService.html":{},"interfaces/RetryOptions.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{},"classes/TestApiClient.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["addchild",{"_index":3043,"title":{},"body":{"classes/BoardComposite.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["addchild(child",{"_index":3056,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["addclientprotocolmappers",{"_index":14444,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["addclientprotocolmappers(defaultclientinternalid",{"_index":14461,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["added",{"_index":2897,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LegacyLogger.html":{},"classes/LibraryName.html":{},"injectables/NextcloudStrategy.html":{},"classes/Path.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/ShareTokenImportBodyParams.html":{},"injectables/TaskUC.html":{},"controllers/ToolConfigurationController.html":{},"injectables/ToolPermissionHelper.html":{},"classes/WsSharedDocDo.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["added.concat(updated",{"_index":24384,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["added.foreach((clientid",{"_index":24387,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["addexecutionrequest",{"_index":14528,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["addexternaloauth2datatoconfig",{"_index":10880,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["addexternaloauth2datatoconfig(config",{"_index":10893,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["addgroupmoderator(groupname",{"_index":1136,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["adding",{"_index":526,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseProperties.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UsersList.html":{}}}],["additional",{"_index":1388,"title":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/api-design.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}},"body":{"classes/ApiValidationErrorResponse.html":{},"classes/ErrorResponse.html":{},"classes/GlobalValidationPipe.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["additional_blacklisted_email_domains",{"_index":16031,"title":{},"body":{"interfaces/MailConfig.html":{},"interfaces/ServerConfig.html":{}}}],["additionalinfo",{"_index":13695,"title":{},"body":{"classes/IdTokenUserNotFoundLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{}}}],["additionally",{"_index":24602,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["additionalparameters",{"_index":14797,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["additionalpermissions",{"_index":713,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserFactory.html":{}}}],["additionaly",{"_index":25321,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["addlessons",{"_index":5699,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["addlessons(builder",{"_index":5708,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["addon",{"_index":11596,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["addons",{"_index":11594,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["addorganization",{"_index":5808,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{}}}],["addorganization(props",{"_index":5817,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["addparameters",{"_index":2730,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["addparameters(propertydata",{"_index":2749,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["addprometheusmetricsmiddlewaresifenabled",{"_index":18020,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["addproperty",{"_index":2731,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["addproperty(propertydata",{"_index":2754,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["addquery",{"_index":6898,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/ImportUserScope.html":{},"classes/LessonScope.html":{},"classes/NewsScope.html":{},"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/Scope.html":{},"classes/SystemScope.html":{},"classes/TaskScope.html":{},"classes/UserScope.html":{}}}],["addquery(query",{"_index":6912,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/ImportUserScope.html":{},"classes/LessonScope.html":{},"classes/NewsScope.html":{},"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/Scope.html":{},"classes/SystemScope.html":{},"classes/TaskScope.html":{},"classes/UserScope.html":{}}}],["addreferences",{"_index":12602,"title":{},"body":{"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["addreferences(anotherreference",{"_index":8387,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["addresourcetofile",{"_index":5809,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{}}}],["addresourcetofile(props",{"_index":5821,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["addresourcetoorganization",{"_index":5967,"title":{},"body":{"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["addresourcetoorganization(props",{"_index":5834,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["address",{"_index":17725,"title":{},"body":{"classes/PatchMyAccountParams.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["addressed",{"_index":24714,"title":{},"body":{"license.html":{}}}],["addroom",{"_index":8323,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["addroom(room",{"_index":8344,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["adds",{"_index":5214,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["addtasks",{"_index":5700,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["addtasks(builder",{"_index":5713,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["addteacherroleifadmin",{"_index":19483,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["addteacherroleifadmin(externaluser",{"_index":19490,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["addto",{"_index":11595,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["addtokentowhitelist",{"_index":14328,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["addtokentowhitelist(redisidentifier",{"_index":14336,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["addtowhitelist",{"_index":14312,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["addtowhitelist(accountid",{"_index":14318,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["adduser",{"_index":12630,"title":{},"body":{"classes/Group.html":{}}}],["adduser(user",{"_index":12633,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["adduserids",{"_index":16762,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["adduserids.tostring",{"_index":16766,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["adjust",{"_index":6040,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["adm",{"_index":5824,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"dependencies.html":{}}}],["admin",{"_index":12349,"title":{},"body":{"classes/FilterImportUserParams.html":{},"interfaces/IImportUserScope.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"interfaces/NameMatch.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["admin_api__allowed_api_keys",{"_index":20124,"title":{},"body":{"interfaces/ServerConfig.html":{},"interfaces/XApiKeyConfig.html":{}}}],["admin_api_client_api_key",{"_index":9003,"title":{},"body":{"interfaces/DeletionClientConfig.html":{}}}],["admin_api_client_base_url",{"_index":9004,"title":{},"body":{"interfaces/DeletionClientConfig.html":{}}}],["admin_pass=huhu",{"_index":25929,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["adminaccount",{"_index":724,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["adminapiservermodule",{"_index":1007,"title":{"modules/AdminApiServerModule.html":{}},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{}}}],["adminapiservertestmodule",{"_index":1044,"title":{"modules/AdminApiServerTestModule.html":{}},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{}}}],["adminid",{"_index":1062,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"modules/DeletionApiModule.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["adminidandtoken",{"_index":1050,"title":{"interfaces/AdminIdAndToken.html":{}},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["adminidandtoken.id",{"_index":1161,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["adminidandtoken.token",{"_index":1160,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["administration.module",{"_index":13713,"title":{},"body":{"modules/IdentityManagementModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{}}}],["administration.module.ts",{"_index":14353,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{}}}],["administration.service",{"_index":14360,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["administration.service.ts",{"_index":14363,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:21",{"_index":14380,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:26",{"_index":14387,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:35",{"_index":14384,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:39",{"_index":14381,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:43",{"_index":14382,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:47",{"_index":14383,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:57",{"_index":14386,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:62",{"_index":14385,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:66",{"_index":14379,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:7",{"_index":14389,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:9",{"_index":14377,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration/interface/keycloak",{"_index":13592,"title":{},"body":{"interfaces/IKeycloakSettings.html":{}}}],["administration/keycloak",{"_index":13712,"title":{},"body":{"modules/IdentityManagementModule.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{}}}],["administration/service/keycloak",{"_index":14362,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["administrator",{"_index":376,"title":{},"body":{"controllers/AccountController.html":{},"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMatchMapper.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["adminpassword",{"_index":1061,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"modules/DeletionApiModule.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["adminpermissions",{"_index":23366,"title":{},"body":{"classes/UserFactory.html":{}}}],["adminstrator",{"_index":25991,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["admintoken",{"_index":1063,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"modules/DeletionApiModule.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["adminuser",{"_index":725,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/AdminIdAndToken.html":{},"modules/DeletionApiModule.html":{},"classes/KeycloakSeedService.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["admzip",{"_index":5815,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["adopted",{"_index":24817,"title":{},"body":{"license.html":{}}}],["adversely",{"_index":24956,"title":{},"body":{"license.html":{}}}],["advised",{"_index":25171,"title":{},"body":{"license.html":{}}}],["aes",{"_index":21002,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["aes_key",{"_index":9791,"title":{},"body":{"modules/EncryptionModule.html":{},"additional-documentation/nestjs-application.html":{}}}],["aeskey",{"_index":9788,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["affected",{"_index":25622,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["affects",{"_index":5381,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"license.html":{}}}],["affero",{"_index":24633,"title":{},"body":{"license.html":{}}}],["affirmed",{"_index":25045,"title":{},"body":{"license.html":{}}}],["affirms",{"_index":24788,"title":{},"body":{"license.html":{}}}],["afterall",{"_index":25757,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["afterall(async",{"_index":25748,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["afterbuild",{"_index":505,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["afterbuild(afterbuildfn",{"_index":522,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["afterbuildfn",{"_index":530,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["afterduedateornone",{"_index":21625,"title":{},"body":{"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{}}}],["afterduedateornone(duedate",{"_index":21707,"title":{},"body":{"classes/TaskScope.html":{}}}],["aftereach",{"_index":25664,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["afterinit",{"_index":22374,"title":{},"body":{"classes/TldrawWs.html":{}}}],["afterwards",{"_index":25570,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["again",{"_index":7174,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["against",{"_index":12995,"title":{},"body":{"classes/GuardAgainst.html":{},"injectables/LocalStrategy.html":{},"classes/MongoPatterns.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["against.ts",{"_index":12989,"title":{},"body":{"classes/GuardAgainst.html":{}}}],["against.ts:8",{"_index":12993,"title":{},"body":{"classes/GuardAgainst.html":{}}}],["age",{"_index":25983,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["agent",{"_index":16226,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["aggregate",{"_index":24865,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["aggregate.attrs",{"_index":14605,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["agility",{"_index":25398,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["agnostic",{"_index":14108,"title":{},"body":{"classes/ImportUserScope.html":{},"injectables/UserRepo.html":{}}}],["ago",{"_index":8833,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"classes/H5PTemporaryFileFactory.html":{}}}],["agpl",{"_index":25204,"title":{},"body":{"license.html":{},"properties.html":{}}}],["agree",{"_index":25118,"title":{},"body":{"license.html":{}}}],["agreed",{"_index":25159,"title":{},"body":{"license.html":{}}}],["agreement",{"_index":25071,"title":{},"body":{"license.html":{}}}],["aims",{"_index":25394,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["aint",{"_index":25431,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["ajax",{"_index":13150,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["ajaxgetqueryparams",{"_index":1194,"title":{"classes/AjaxGetQueryParams.html":{}},"body":{"classes/AjaxGetQueryParams.html":{},"controllers/H5PEditorController.html":{}}}],["ajaxpostbodyparams",{"_index":1228,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ContentBodyParams.html":{},"controllers/H5PEditorController.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{}}}],["ajaxpostbodyparamstransformpipe",{"_index":1208,"title":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"controllers/H5PEditorController.html":{}}}],["ajaxpostqueryparams",{"_index":1250,"title":{"classes/AjaxPostQueryParams.html":{}},"body":{"classes/AjaxPostQueryParams.html":{},"controllers/H5PEditorController.html":{}}}],["ajv",{"_index":24443,"title":{},"body":{"dependencies.html":{}}}],["aktuelle",{"_index":5513,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["alert",{"_index":9860,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["alert(loggable",{"_index":9865,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["alg",{"_index":1597,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["algorithm",{"_index":1546,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/JwtConstants.html":{},"classes/JwtTestFactory.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["algorithms",{"_index":1569,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/OAuthService.html":{}}}],["algorithms.includes(jwtconstants.jwtoptions.algorithm",{"_index":1583,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["alias",{"_index":14477,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/LdapConfigEntity.html":{},"injectables/LegacySystemService.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/PublicSystemResponse.html":{},"classes/System.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"interfaces/SystemProps.html":{},"classes/SystemResponseMapper.html":{},"additional-documentation/nestjs-application.html":{}}}],["alive",{"_index":22519,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["all('seed",{"_index":8756,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["all_entities",{"_index":1017,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["allcollectionswithfilepaths",{"_index":5236,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["allcollectionswithfilepaths.filter",{"_index":5243,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["allcollectionswithfilepaths.map((file",{"_index":5248,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["alleging",{"_index":25051,"title":{},"body":{"license.html":{}}}],["allforcreator",{"_index":21615,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforcreator.addquery(allforfinishedcoursesandlessonsforcreator.query",{"_index":21618,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforcreator.addquery(closeddraftsforcreator.query",{"_index":21617,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforcreator.addquery(closedwithoutparentforcreator.query",{"_index":21616,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforfinishedcoursesandlessons",{"_index":21601,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforfinishedcoursesandlessons.addquery(parentsfinished.query",{"_index":21602,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforfinishedcoursesandlessons.bydraft(false",{"_index":21603,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforfinishedcoursesandlessonsforcreator",{"_index":21612,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforfinishedcoursesandlessonsforcreator.addquery(parentsfinished.query",{"_index":21613,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforfinishedcoursesandlessonsforcreator.bycreatorid(parentids.creatorid",{"_index":21614,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allmappers",{"_index":14564,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["allmappers.find((mapper",{"_index":14567,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["allow",{"_index":7154,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{},"injectables/TaskUC.html":{},"injectables/TldrawWsService.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["allowed",{"_index":4331,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/CardUc.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"injectables/ElementUc.html":{},"classes/OauthClientBody.html":{},"injectables/RoomsUc.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"controllers/ToolController.html":{},"controllers/ToolReferenceController.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"injectables/VideoConferenceCreateUc.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["allowedapikeys",{"_index":24398,"title":{},"body":{"injectables/XApiKeyStrategy.html":{}}}],["allowedcards",{"_index":4527,"title":{},"body":{"injectables/CardUc.html":{}}}],["allowedcontexttype",{"_index":20498,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["alloweddos",{"_index":4542,"title":{},"body":{"injectables/CardUc.html":{}}}],["alloweddos.push(boarddo",{"_index":4541,"title":{},"body":{"injectables/CardUc.html":{}}}],["allowedparenttype",{"_index":20491,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["allowedstrings",{"_index":12184,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["allowedstrings.includes(input",{"_index":12186,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["allowemptyquery",{"_index":6899,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/ImportUserScope.html":{},"classes/LessonScope.html":{},"classes/NewsScope.html":{},"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/Scope.html":{},"classes/SystemScope.html":{},"classes/TaskScope.html":{},"classes/UserScope.html":{}}}],["allowemptyquery(isemptyqueryallowed",{"_index":6915,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/ImportUserScope.html":{},"classes/LessonScope.html":{},"classes/NewsScope.html":{},"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/Scope.html":{},"classes/SystemScope.html":{},"classes/TaskScope.html":{},"classes/UserScope.html":{}}}],["allowemptyquery(true",{"_index":10568,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/UserDORepo.html":{}}}],["allowglobalcontext",{"_index":13236,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/ServerConsoleModule.html":{}}}],["allowmodstounmuteusers",{"_index":2157,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["allows",{"_index":806,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/UpdateNewsParams.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["allpseudonyms",{"_index":18238,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["allrooms",{"_index":8324,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["allteacherpseudonyms",{"_index":11320,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["allteacherpseudonyms.map((pseudonym",{"_index":11324,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["alone",{"_index":25661,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["along",{"_index":24843,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["already",{"_index":640,"title":{},"body":{"injectables/AccountLookupService.html":{},"classes/BusinessError.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FileSystemAdapter.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"injectables/NewsRepo.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"injectables/TldrawWsService.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["altered",{"_index":5153,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["alternate",{"_index":24683,"title":{},"body":{"license.html":{}}}],["alternative",{"_index":14539,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"license.html":{}}}],["alternativetext",{"_index":3547,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/ContentElementFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["alternativetext(value",{"_index":11451,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["although",{"_index":25567,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["always",{"_index":411,"title":{},"body":{"controllers/AccountController.html":{},"classes/DomainObjectFactory.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/SanisProvisioningStrategy.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["always_accept",{"_index":2179,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["always_deny",{"_index":2180,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["ambiguous",{"_index":21658,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["amount",{"_index":873,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"injectables/BoardManagementUc.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/ImportUserListResponse.html":{},"injectables/KeycloakMigrationService.html":{},"classes/ListOauthClientsParams.html":{},"classes/NewsListResponse.html":{},"classes/PaginationResponse.html":{},"classes/TaskListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["amqp",{"_index":24445,"title":{},"body":{"dependencies.html":{}}}],["amqp.module.ts",{"_index":12121,"title":{},"body":{"modules/FilesStorageAMQPModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{}}}],["amqpconnection",{"_index":1298,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/FilesStorageProducer.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/PreviewProducer.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RpcMessageProducer.html":{}}}],["amqpconnectionmanager",{"_index":18317,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["amqplib",{"_index":24447,"title":{},"body":{"dependencies.html":{}}}],["amr",{"_index":182,"title":{},"body":{"interfaces/AcceptLoginRequestBody.html":{},"classes/ConsentResponse.html":{},"interfaces/ProviderConsentResponse.html":{}}}],["analysis",{"_index":25364,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["analytics",{"_index":24562,"title":{},"body":{"dependencies.html":{}}}],["analytics_features_messages=false",{"_index":25941,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["analytics_features_rooms=false",{"_index":25942,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["analytics_features_users=false",{"_index":25943,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["ancestor",{"_index":3937,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["ancestorids",{"_index":3420,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/ColumnBoardService.html":{}}}],["ancestornodes",{"_index":3946,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["ancestornodes.foreach((node",{"_index":3948,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["ancestors",{"_index":3935,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["ancillary",{"_index":25018,"title":{},"body":{"license.html":{}}}],["and/opr",{"_index":25705,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["and/or",{"_index":24677,"title":{},"body":{"license.html":{}}}],["annotations",{"_index":25512,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["anonymous",{"_index":8041,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["another",{"_index":17218,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"injectables/UserLoginMigrationUc.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["anotherreference",{"_index":12616,"title":{},"body":{"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["anschrift",{"_index":19421,"title":{},"body":{"classes/SanisAnschriftResponse.html":{},"classes/SanisOrganisationResponse.html":{}}}],["antareskey",{"_index":7372,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["anti",{"_index":24806,"title":{},"body":{"license.html":{}}}],["antivirus.service",{"_index":1265,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["antivirus_service_options",{"_index":1266,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["antivirusmodule",{"_index":1258,"title":{"modules/AntivirusModule.html":{}},"body":{"modules/AntivirusModule.html":{},"modules/FilesStorageModule.html":{}}}],["antivirusmodule.forroot",{"_index":12282,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["antivirusmoduleoptions",{"_index":1260,"title":{"interfaces/AntivirusModuleOptions.html":{}},"body":{"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"interfaces/ScanResult.html":{}}}],["antivirusservice",{"_index":1264,"title":{"injectables/AntivirusService.html":{}},"body":{"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{}}}],["antivirusservice:checkstream",{"_index":1331,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["antivirusservice:send",{"_index":1344,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["antivirusserviceoptions",{"_index":1289,"title":{"interfaces/AntivirusServiceOptions.html":{}},"body":{"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"interfaces/ScanResult.html":{}}}],["anyboarddo",{"_index":2648,"title":{},"body":{"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoService.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardUc.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/CardUc.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"injectables/ColumnUc.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingElement.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"injectables/ElementUc.html":{},"classes/ExternalToolElement.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"classes/FileElement.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"classes/LinkElement.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextElement.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"classes/SubmissionContainerElement.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionItem.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemUc.html":{}}}],["anycontentelementdo",{"_index":2029,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/CardUc.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ElementUc.html":{}}}],["anycontentelementresponse",{"_index":2647,"title":{},"body":{"interfaces/BaseResponseMapper.html":{},"controllers/CardController.html":{},"classes/CardResponse.html":{},"classes/ContentElementResponseFactory.html":{},"controllers/ElementController.html":{}}}],["anyelementcontentbody",{"_index":6423,"title":{},"body":{"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"injectables/ElementUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["anyentity",{"_index":768,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["anymore",{"_index":1567,"title":{},"body":{"modules/AuthenticationModule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["anyone",{"_index":24852,"title":{},"body":{"license.html":{}}}],["anything",{"_index":24724,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["anywhere",{"_index":25479,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["api",{"_index":1372,"title":{"additional-documentation/nestjs-application/api-design.html":{}},"body":{"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/BBBService.html":{},"interfaces/CleanOptions.html":{},"classes/CopyApiResponse.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"modules/DeletionModule.html":{},"classes/ErrorLoggable.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/KeycloakConsole.html":{},"classes/LibraryName.html":{},"interfaces/MigrationOptions.html":{},"classes/Path.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"interfaces/RetryOptions.html":{},"classes/ServerConsole.html":{},"controllers/ServerController.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TestApiClient.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["api.module",{"_index":1034,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawTestModule.html":{}}}],["api.module.ts",{"_index":273,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/BoardApiModule.html":{},"modules/DeletionApiModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/GroupApiModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LessonApiModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/PseudonymApiModule.html":{},"modules/SystemApiModule.html":{},"modules/TaskApiModule.html":{},"modules/TeamsApiModule.html":{},"modules/ToolApiModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/VideoConferenceApiModule.html":{}}}],["api.server.module.ts",{"_index":1013,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{}}}],["api.server.module.ts:44",{"_index":1049,"title":{},"body":{"modules/AdminApiServerTestModule.html":{}}}],["api.spec.ts",{"_index":25348,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["api/v1",{"_index":24584,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["api/v3",{"_index":24585,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["api/v3/docs",{"_index":25370,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["api/v3/h5p",{"_index":13301,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["api/v3/news",{"_index":24592,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["api_enable_cors=true",{"_index":25945,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["api_enable_rate_limiter_limit_calls_default=255",{"_index":25930,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["api_keys",{"_index":25986,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["api_response_time_metric_middleware_successfully_added",{"_index":18011,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["api_validation_error",{"_index":1371,"title":{},"body":{"classes/ApiValidationError.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["api_version_path",{"_index":1315,"title":{},"body":{"injectables/AntivirusService.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["api_version_path}/file/download/${filerecord.id}/${encodeuricomponent(filerecord.name",{"_index":7128,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["apibadrequestresponse",{"_index":22804,"title":{},"body":{"controllers/ToolLaunchController.html":{},"controllers/ToolSchoolController.html":{}}}],["apibody",{"_index":5613,"title":{},"body":{"controllers/ColumnController.html":{},"controllers/ElementController.html":{}}}],["apicreatedresponse",{"_index":22700,"title":{},"body":{"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["apiexcludeendpoint",{"_index":11949,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["apiexcludeendpoint()@get(filesstorageinternalactions.downloadbysecuritytoken",{"_index":11944,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["apiexcludeendpoint()@put(filesstorageinternalactions.updatesecuritystatus",{"_index":11947,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["apiextramodels",{"_index":4033,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CardResponse.html":{},"controllers/ElementController.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/SubmissionItemResponse.html":{}}}],["apiextramodels(fileelementresponse",{"_index":20810,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["apiextramodels(lti11toolconfigcreateparams",{"_index":10192,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["apiextramodels(lti11toolconfigupdateparams",{"_index":11035,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["apiextramodels(richtextelementresponse",{"_index":4054,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["apiextramodels(submissionitemresponse",{"_index":9742,"title":{},"body":{"controllers/ElementController.html":{}}}],["apiforbiddenresponse",{"_index":18153,"title":{},"body":{"controllers/PseudonymController.html":{},"controllers/SystemController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["apifoundresponse",{"_index":18154,"title":{},"body":{"controllers/PseudonymController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["apiinternalservererrorresponse",{"_index":23448,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["apikey",{"_index":8946,"title":{},"body":{"injectables/DeletionClient.html":{},"injectables/XApiKeyStrategy.html":{}}}],["apikey.trim",{"_index":20127,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["apikeyheader",{"_index":8949,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["apinocontentresponse",{"_index":23449,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["apinotfoundresponse",{"_index":22701,"title":{},"body":{"controllers/ToolContextController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["apiokresponse",{"_index":22624,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["apioperation",{"_index":390,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/LoginController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/PseudonymController.html":{},"controllers/ShareTokenController.html":{},"controllers/SystemController.html":{},"controllers/TldrawController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["apioperation({summary",{"_index":3193,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/ShareTokenController.html":{},"controllers/TldrawController.html":{}}}],["apiproperty",{"_index":296,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"classes/AccountResponse.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardContextResponse.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusResponse.html":{},"classes/BoardUrlParams.html":{},"classes/BusinessError.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"classes/CardSkeletonResponse.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ColumnResponse.html":{},"classes/ColumnUrlParams.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/ContextRefParams.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/CourseQueryParams.html":{},"classes/CourseUrlParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DashboardUrlParams.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestResponse.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"classes/DrawingElementResponse.html":{},"classes/ElementContentBody.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolMetadataResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"classes/FileElementResponse.html":{},"classes/FileParams.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"classes/FileUrlParams.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/GetMetaTagDataBody.html":{},"classes/GlobalValidationPipe.html":{},"classes/GroupIdParams.html":{},"classes/GroupResponse.html":{},"classes/GroupUserResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/IdParams.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/NewsUrlParams.html":{},"classes/OAuthRejectableBody.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthLoginResponse.html":{},"classes/OidcContextResponse.html":{},"classes/PaginationResponse.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/PseudonymParams.html":{},"classes/PseudonymResponse.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/RedirectResponse.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"classes/ResolvedUserResponse.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"classes/RichTextElementResponse.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInfoResponse.html":{},"classes/SetHeightBodyParams.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenPayloadResponse.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"classes/SuccessfulResponse.html":{},"classes/SystemIdParams.html":{},"classes/TargetInfoResponse.html":{},"classes/TaskCreateParams.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskStatusResponse.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamRoleDto.html":{},"classes/TeamUrlParams.html":{},"classes/TimestampsResponse.html":{},"classes/TldrawDeleteParams.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceResponse.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"classes/UserDataResponse.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParams.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["apiproperty()@allow",{"_index":19610,"title":{},"body":{"classes/ScanResultParams.html":{}}}],["apiproperty()@apipropertyoptional",{"_index":8188,"title":{},"body":{"classes/CustomParameterEntryResponse.html":{}}}],["apiproperty()@decodehtmlentities",{"_index":3032,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/ColumnResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileElementContent.html":{},"classes/FileRecordResponse.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/TaskResponse.html":{}}}],["apiproperty()@isarray()@isstring({each",{"_index":15548,"title":{},"body":{"classes/LibrariesBodyParams.html":{}}}],["apiproperty()@ismongoid",{"_index":6345,"title":{},"body":{"classes/ContentBodyParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/DownloadFileParams.html":{},"classes/FileRecordParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{},"classes/SchoolIdParams.html":{},"classes/SingleFileParams.html":{}}}],["apiproperty()@isnotempty",{"_index":17781,"title":{},"body":{"classes/PostH5PContentParams.html":{}}}],["apiproperty()@isnotempty()@isobject",{"_index":17773,"title":{},"body":{"classes/PostH5PContentCreateParams.html":{}}}],["apiproperty()@isnumber",{"_index":6801,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/SchoolExternalToolPostParams.html":{}}}],["apiproperty()@isoptional",{"_index":9327,"title":{},"body":{"classes/DeletionRequestLogResponse.html":{}}}],["apiproperty()@isstring",{"_index":7149,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/DownloadFileParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/MetaTagExtractorResponse.html":{}}}],["apiproperty()@isstring()@ismongoid",{"_index":19719,"title":{},"body":{"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolSearchParams.html":{}}}],["apiproperty()@isstring()@isnotempty",{"_index":6517,"title":{},"body":{"classes/ContentFileUrlParams.html":{},"classes/LibraryFileUrlParams.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/RenameFileParams.html":{}}}],["apiproperty()@isstring()@isoptional",{"_index":6347,"title":{},"body":{"classes/ContentBodyParams.html":{}}}],["apiproperty()@isstring()@sanitizehtml()@isnotempty",{"_index":17779,"title":{},"body":{"classes/PostH5PContentParams.html":{}}}],["apiproperty()@isurl",{"_index":16188,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["apiproperty()@matches('([a",{"_index":12482,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{}}}],["apiproperty()@validatenested",{"_index":7151,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{}}}],["apiproperty({description",{"_index":868,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BoardElementResponse.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/CardSkeletonResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/ForbiddenOperationError.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/LdapConnectionError.html":{},"classes/LoginResponse-1.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/OauthConfigResponse.html":{},"classes/PaginationResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/RedirectResponse.html":{},"classes/RichText.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/TargetInfoResponse.html":{},"classes/TaskListResponse.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/ValidationError.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["apiproperty({enum",{"_index":3181,"title":{},"body":{"classes/BoardContextResponse.html":{},"classes/ChangeLanguageParams.html":{},"classes/ClassInfoResponse.html":{},"classes/ContextExternalToolResponse.html":{},"classes/CustomParameterResponse.html":{},"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementResponse.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GroupResponse.html":{},"classes/GroupUserResponse.html":{},"classes/LinkElementResponse.html":{},"classes/NewsResponse.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/RichTextElementResponse.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenPayloadResponse.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/VideoConferenceInfoResponse.html":{}}}],["apiproperty({nullable",{"_index":6721,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{},"classes/ToolReferenceResponse.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["apiproperty({pattern",{"_index":3177,"title":{},"body":{"classes/BoardContextResponse.html":{},"classes/BoardResponse.html":{},"classes/CardResponse.html":{},"classes/CardSkeletonResponse.html":{},"classes/ColumnResponse.html":{},"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementResponse.html":{},"classes/LinkElementResponse.html":{},"classes/NewsResponse.html":{},"classes/RichTextElementResponse.html":{},"classes/SchoolInfoResponse.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionItemResponse.html":{},"classes/TargetInfoResponse.html":{},"classes/UserInfoResponse.html":{}}}],["apiproperty({required",{"_index":9279,"title":{},"body":{"classes/DeletionRequestBodyProps.html":{}}}],["apiproperty({type",{"_index":866,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/BoardResponse.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ColumnResponse.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DrawingElementContentBody.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileElementContentBody.html":{},"classes/FileParams.html":{},"classes/FileRecordListResponse.html":{},"classes/FileUrlParams.html":{},"classes/GroupResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/ImportUserListResponse.html":{},"classes/LinkElementContentBody.html":{},"classes/NewsListResponse.html":{},"classes/PublicSystemListResponse.html":{},"classes/RichTextElementContentBody.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionsResponse.html":{},"classes/TaskListResponse.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{}}}],["apipropertyoptional",{"_index":201,"title":{},"body":{"classes/AcceptQuery.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/BusinessError.html":{},"classes/CardResponse.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassSortParams.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolResponse.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/DeletionExecutionParams.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolSearchParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileParams.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"classes/FileUrlParams.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/GroupResponse.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/LessonCopyApiParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthLoginResponse.html":{},"classes/PaginationParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/ShareTokenResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/SystemFilterParams.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskUpdateParams.html":{},"classes/TimestampsResponse.html":{},"classes/ToolReferenceResponse.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/VisibilitySettingsResponse.html":{}}}],["apipropertyoptional()@decodehtmlentities",{"_index":3747,"title":{},"body":{"classes/BoardLessonResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/CardResponse.html":{}}}],["apipropertyoptional()@isoptional()@isboolean",{"_index":12337,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["apipropertyoptional()@isoptional()@isstring()@isnotempty",{"_index":12335,"title":{},"body":{"classes/FilterImportUserParams.html":{},"classes/FilterUserParams.html":{}}}],["apipropertyoptional()@isstring()@isoptional",{"_index":23615,"title":{},"body":{"classes/UserLoginMigrationSearchParams.html":{}}}],["apipropertyoptional({default",{"_index":24069,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["apipropertyoptional({description",{"_index":1361,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/CopyApiResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolSearchParams.html":{},"classes/ForbiddenOperationError.html":{},"classes/ImportUserResponse.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NewsResponse.html":{},"classes/OauthLoginResponse.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SystemFilterParams.html":{},"classes/TaskResponse.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserMatchResponse.html":{},"classes/ValidationError.html":{},"classes/VideoConferenceCreateParams.html":{}}}],["apipropertyoptional({enum",{"_index":10814,"title":{},"body":{"classes/ExternalToolResponse.html":{},"classes/FilterImportUserParams.html":{},"classes/PreviewParams.html":{}}}],["apipropertyoptional({nullable",{"_index":22989,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["apipropertyoptional({type",{"_index":7070,"title":{},"body":{"classes/CopyApiResponse.html":{},"classes/NewsResponse.html":{}}}],["apiresponse",{"_index":391,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/LoginController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/ShareTokenController.html":{},"controllers/SystemController.html":{},"controllers/TldrawController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["apiresponsetimemetrichistogram",{"_index":18738,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["apiresponsetimemetrichistogram.observe(labels",{"_index":18745,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["apiresponsetimemetriclabelnames",{"_index":18724,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["apitags",{"_index":392,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"controllers/DashboardController.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/FileSecurityController.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/ImportUserController.html":{},"controllers/LessonController.html":{},"controllers/LoginController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/NewsController.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"controllers/PseudonymController.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"controllers/SystemController.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"controllers/TldrawController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["apitags('account",{"_index":397,"title":{},"body":{"controllers/AccountController.html":{}}}],["apitags('authentication",{"_index":15762,"title":{},"body":{"controllers/LoginController.html":{}}}],["apitags('board",{"_index":3230,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{}}}],["apitags('collaborative",{"_index":5077,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["apitags('courses",{"_index":7538,"title":{},"body":{"controllers/CourseController.html":{}}}],["apitags('dashboard",{"_index":8307,"title":{},"body":{"controllers/DashboardController.html":{}}}],["apitags('deletionexecutions",{"_index":9078,"title":{},"body":{"controllers/DeletionExecutionsController.html":{}}}],["apitags('deletionrequests",{"_index":9455,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["apitags('file",{"_index":11951,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["apitags('fwu",{"_index":12396,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["apitags('group",{"_index":12690,"title":{},"body":{"controllers/GroupController.html":{}}}],["apitags('h5p",{"_index":13135,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["apitags('lesson",{"_index":15371,"title":{},"body":{"controllers/LessonController.html":{}}}],["apitags('meta",{"_index":16158,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["apitags('news",{"_index":16430,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{}}}],["apitags('oauth2",{"_index":17271,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["apitags('pseudonym",{"_index":18160,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["apitags('rooms",{"_index":19163,"title":{},"body":{"controllers/RoomsController.html":{}}}],["apitags('sharetoken",{"_index":20305,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["apitags('sso",{"_index":17465,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["apitags('submission",{"_index":20740,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["apitags('systems",{"_index":21041,"title":{},"body":{"controllers/SystemController.html":{}}}],["apitags('task",{"_index":21392,"title":{},"body":{"controllers/TaskController.html":{}}}],["apitags('tldraw",{"_index":22309,"title":{},"body":{"controllers/TldrawController.html":{}}}],["apitags('tool",{"_index":22628,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{}}}],["apitags('user",{"_index":23192,"title":{},"body":{"controllers/UserController.html":{}}}],["apitags('userimport",{"_index":13874,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["apitags('userloginmigration",{"_index":23461,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["apitags('videoconference",{"_index":24048,"title":{},"body":{"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["apiunauthorizedresponse",{"_index":18155,"title":{},"body":{"controllers/PseudonymController.html":{},"controllers/SystemController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["apiunprocessableentityresponse",{"_index":22702,"title":{},"body":{"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["apivalidationerror",{"_index":1351,"title":{"classes/ApiValidationError.html":{}},"body":{"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"classes/ErrorLoggable.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"controllers/H5PEditorController.html":{},"controllers/ShareTokenController.html":{},"controllers/TldrawController.html":{}}}],["apivalidationerror(errors",{"_index":12600,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["apivalidationerror.validationerrors.foreach((validationerror",{"_index":1404,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["apivalidationerrorresponse",{"_index":1376,"title":{"classes/ApiValidationErrorResponse.html":{}},"body":{"classes/ApiValidationErrorResponse.html":{},"classes/GlobalErrorFilter.html":{}}}],["apivalidationerrorresponse(error",{"_index":12575,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["apivalidationerror})@apiresponse({status",{"_index":3197,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/H5PEditorController.html":{},"controllers/ShareTokenController.html":{},"controllers/TldrawController.html":{}}}],["app",{"_index":1627,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/NextcloudStrategy.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["app.service('/nest",{"_index":25571,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["app.use(createapiresponsetimemetricmiddleware",{"_index":18024,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["app_filter",{"_index":7363,"title":{},"body":{"modules/CoreModule.html":{},"modules/ErrorModule.html":{},"todo.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["app_guard",{"_index":7362,"title":{},"body":{"modules/CoreModule.html":{}}}],["app_interceptor",{"_index":7360,"title":{},"body":{"modules/CoreModule.html":{},"modules/InterceptorModule.html":{},"todo.html":{}}}],["app_pipe",{"_index":7361,"title":{},"body":{"modules/CoreModule.html":{},"modules/ValidationModule.html":{}}}],["append",{"_index":25270,"title":{},"body":{"todo.html":{}}}],["appendedattachment",{"_index":1439,"title":{"interfaces/AppendedAttachment.html":{}},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["appendnotcontainedboardelements(boardelementtargets",{"_index":2987,"title":{},"body":{"entities/Board.html":{}}}],["applicable",{"_index":24728,"title":{},"body":{"license.html":{}}}],["applicaiton",{"_index":25330,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["application",{"_index":4206,"title":{"additional-documentation/nestjs-application.html":{}},"body":{"classes/BusinessError.html":{},"modules/CoreModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/LegacyLogger.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["application/json",{"_index":1611,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/CalendarService.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["application/octet",{"_index":11436,"title":{},"body":{"classes/FileDtoBuilder.html":{},"classes/FileRecordFactory.html":{}}}],["application/x",{"_index":14672,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthAdapterService.html":{}}}],["application/xml",{"_index":2393,"title":{},"body":{"injectables/BBBService.html":{}}}],["application/zip",{"_index":7550,"title":{},"body":{"controllers/CourseController.html":{}}}],["applications",{"_index":24571,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["applied",{"_index":5271,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/IdentityManagementService.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["applies",{"_index":4973,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/TldrawWsService.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["apply",{"_index":5239,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"modules/InterceptorModule.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/TaskRepo.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["apply(data",{"_index":14209,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["applyawarenessupdate",{"_index":22453,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["applyawarenessupdate(doc.awareness",{"_index":22507,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["applypropertiestopathparams",{"_index":2732,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["applypropertiestopathparams(url",{"_index":2758,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["applyupdate",{"_index":22236,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["applyupdate(ydoc",{"_index":22269,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["appname",{"_index":1419,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["approach",{"_index":25767,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["appropriate",{"_index":4971,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["appropriately",{"_index":24836,"title":{},"body":{"license.html":{}}}],["approve",{"_index":24293,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["approximate",{"_index":4494,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["approximates",{"_index":25179,"title":{},"body":{"license.html":{}}}],["apps/server",{"_index":25317,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["apps/server/doc",{"_index":25379,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["apps/server/src",{"_index":25383,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["apps/server/src/apps/helpers/app",{"_index":1417,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["apps/server/src/apps/helpers/prometheus",{"_index":17998,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["apps/server/src/config/database.config.ts",{"_index":12515,"title":{},"body":{"interfaces/GlobalConstants.html":{}}}],["apps/server/src/console/api",{"_index":22125,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["apps/server/src/console/console.module.ts",{"_index":20146,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["apps/server/src/console/server.console.ts",{"_index":20132,"title":{},"body":{"classes/ServerConsole.html":{}}}],["apps/server/src/console/server.console.ts:11",{"_index":20136,"title":{},"body":{"classes/ServerConsole.html":{}}}],["apps/server/src/console/server.console.ts:17",{"_index":20139,"title":{},"body":{"classes/ServerConsole.html":{}}}],["apps/server/src/console/server.console.ts:6",{"_index":20135,"title":{},"body":{"classes/ServerConsole.html":{}}}],["apps/server/src/core/core.module.ts",{"_index":7351,"title":{},"body":{"modules/CoreModule.html":{}}}],["apps/server/src/core/error/dto/api",{"_index":1377,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["apps/server/src/core/error/dto/error.response.ts",{"_index":9906,"title":{},"body":{"classes/ErrorResponse.html":{}}}],["apps/server/src/core/error/dto/error.response.ts:10",{"_index":9912,"title":{},"body":{"classes/ErrorResponse.html":{}}}],["apps/server/src/core/error/dto/error.response.ts:15",{"_index":9911,"title":{},"body":{"classes/ErrorResponse.html":{}}}],["apps/server/src/core/error/dto/error.response.ts:20",{"_index":9910,"title":{},"body":{"classes/ErrorResponse.html":{}}}],["apps/server/src/core/error/dto/error.response.ts:25",{"_index":9909,"title":{},"body":{"classes/ErrorResponse.html":{}}}],["apps/server/src/core/error/dto/error.response.ts:30",{"_index":9908,"title":{},"body":{"classes/ErrorResponse.html":{}}}],["apps/server/src/core/error/dto/validation",{"_index":23950,"title":{},"body":{"classes/ValidationErrorDetailResponse.html":{}}}],["apps/server/src/core/error/error.module.ts",{"_index":9899,"title":{},"body":{"modules/ErrorModule.html":{}}}],["apps/server/src/core/error/filter/global",{"_index":12520,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["apps/server/src/core/error/interface/error",{"_index":9913,"title":{},"body":{"interfaces/ErrorType.html":{}}}],["apps/server/src/core/error/interface/feathers",{"_index":11223,"title":{},"body":{"interfaces/FeathersError.html":{}}}],["apps/server/src/core/error/loggable/axios",{"_index":2096,"title":{},"body":{"classes/AxiosErrorLoggable.html":{}}}],["apps/server/src/core/error/loggable/error.loggable.ts",{"_index":9811,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["apps/server/src/core/error/loggable/error.loggable.ts:11",{"_index":9819,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["apps/server/src/core/error/loggable/error.loggable.ts:13",{"_index":9822,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["apps/server/src/core/error/loggable/error.loggable.ts:34",{"_index":9821,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["apps/server/src/core/error/loggable/error.loggable.ts:47",{"_index":9824,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["apps/server/src/core/error/loggable/error.loggable.ts:56",{"_index":9826,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["apps/server/src/core/error/loggable/error.loggable.ts:8",{"_index":9817,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["apps/server/src/core/error/utils/error.utils.ts",{"_index":9915,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["apps/server/src/core/error/utils/error.utils.ts:16",{"_index":9924,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["apps/server/src/core/error/utils/error.utils.ts:20",{"_index":9929,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["apps/server/src/core/error/utils/error.utils.ts:24",{"_index":9921,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["apps/server/src/core/error/utils/error.utils.ts:6",{"_index":9926,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["apps/server/src/core/interceptor/interceptor.module.ts",{"_index":14157,"title":{},"body":{"modules/InterceptorModule.html":{}}}],["apps/server/src/core/interfaces/core",{"_index":7366,"title":{},"body":{"interfaces/CoreModuleConfig.html":{}}}],["apps/server/src/core/logger/error",{"_index":9858,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["apps/server/src/core/logger/interfaces/legacy",{"_index":13597,"title":{},"body":{"interfaces/ILegacyLogger.html":{}}}],["apps/server/src/core/logger/interfaces/loggable.ts",{"_index":15681,"title":{},"body":{"interfaces/Loggable.html":{}}}],["apps/server/src/core/logger/interfaces/loggable.ts:4",{"_index":15682,"title":{},"body":{"interfaces/Loggable.html":{}}}],["apps/server/src/core/logger/interfaces/logger",{"_index":15700,"title":{},"body":{"interfaces/LoggerConfig.html":{}}}],["apps/server/src/core/logger/legacy",{"_index":15097,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["apps/server/src/core/logger/logger.module.ts",{"_index":15704,"title":{},"body":{"modules/LoggerModule.html":{}}}],["apps/server/src/core/logger/logger.ts",{"_index":15683,"title":{},"body":{"injectables/Logger.html":{}}}],["apps/server/src/core/logger/logger.ts:13",{"_index":15695,"title":{},"body":{"injectables/Logger.html":{}}}],["apps/server/src/core/logger/logger.ts:18",{"_index":15692,"title":{},"body":{"injectables/Logger.html":{}}}],["apps/server/src/core/logger/logger.ts:23",{"_index":15690,"title":{},"body":{"injectables/Logger.html":{}}}],["apps/server/src/core/logger/logger.ts:28",{"_index":15688,"title":{},"body":{"injectables/Logger.html":{}}}],["apps/server/src/core/logger/logger.ts:33",{"_index":15693,"title":{},"body":{"injectables/Logger.html":{}}}],["apps/server/src/core/logger/logger.ts:9",{"_index":15686,"title":{},"body":{"injectables/Logger.html":{}}}],["apps/server/src/core/logger/logging.utils.ts",{"_index":15725,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["apps/server/src/core/logger/logging.utils.ts:13",{"_index":15735,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["apps/server/src/core/logger/logging.utils.ts:18",{"_index":15733,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["apps/server/src/core/logger/logging.utils.ts:6",{"_index":15730,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["apps/server/src/core/validation/pipe/global",{"_index":12585,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["apps/server/src/core/validation/validation.module.ts",{"_index":23963,"title":{},"body":{"modules/ValidationModule.html":{}}}],["apps/server/src/infra/antivirus/antivirus.module.ts",{"_index":1259,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["apps/server/src/infra/antivirus/antivirus.module.ts:8",{"_index":1261,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["apps/server/src/infra/antivirus/antivirus.service.ts",{"_index":1293,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["apps/server/src/infra/antivirus/antivirus.service.ts:10",{"_index":1300,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["apps/server/src/infra/antivirus/antivirus.service.ts:17",{"_index":1303,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["apps/server/src/infra/antivirus/antivirus.service.ts:44",{"_index":1308,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["apps/server/src/infra/antivirus/antivirus.service.ts:62",{"_index":1306,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["apps/server/src/infra/antivirus/interfaces/antivirus.ts",{"_index":1287,"title":{},"body":{"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"interfaces/ScanResult.html":{}}}],["apps/server/src/infra/cache/cache.module.ts",{"_index":4237,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["apps/server/src/infra/cache/service/cache.service.ts",{"_index":4224,"title":{},"body":{"injectables/CacheService.html":{}}}],["apps/server/src/infra/cache/service/cache.service.ts:7",{"_index":4226,"title":{},"body":{"injectables/CacheService.html":{}}}],["apps/server/src/infra/calendar/calendar.module.ts",{"_index":4287,"title":{},"body":{"modules/CalendarModule.html":{}}}],["apps/server/src/infra/calendar/dto/calendar",{"_index":4262,"title":{},"body":{"classes/CalendarEventDto.html":{}}}],["apps/server/src/infra/calendar/interface/calendar",{"_index":4256,"title":{},"body":{"interfaces/CalendarEvent.html":{}}}],["apps/server/src/infra/calendar/mapper/calendar.mapper.ts",{"_index":4271,"title":{},"body":{"injectables/CalendarMapper.html":{}}}],["apps/server/src/infra/calendar/mapper/calendar.mapper.ts:7",{"_index":4273,"title":{},"body":{"injectables/CalendarMapper.html":{}}}],["apps/server/src/infra/calendar/service/calendar.service.ts",{"_index":4290,"title":{},"body":{"injectables/CalendarService.html":{}}}],["apps/server/src/infra/calendar/service/calendar.service.ts:15",{"_index":4300,"title":{},"body":{"injectables/CalendarService.html":{}}}],["apps/server/src/infra/calendar/service/calendar.service.ts:17",{"_index":4294,"title":{},"body":{"injectables/CalendarService.html":{}}}],["apps/server/src/infra/calendar/service/calendar.service.ts:24",{"_index":4297,"title":{},"body":{"injectables/CalendarService.html":{}}}],["apps/server/src/infra/calendar/service/calendar.service.ts:46",{"_index":4299,"title":{},"body":{"injectables/CalendarService.html":{}}}],["apps/server/src/infra/collaborative",{"_index":4964,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/Meta.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"interfaces/OcsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["apps/server/src/infra/console/console",{"_index":6335,"title":{},"body":{"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{}}}],["apps/server/src/infra/database/management/database",{"_index":8773,"title":{},"body":{"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{}}}],["apps/server/src/infra/database/mongo",{"_index":16344,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["apps/server/src/infra/encryption/encryption.interface.ts",{"_index":9793,"title":{},"body":{"interfaces/EncryptionService.html":{}}}],["apps/server/src/infra/encryption/encryption.interface.ts:5",{"_index":9799,"title":{},"body":{"interfaces/EncryptionService.html":{}}}],["apps/server/src/infra/encryption/encryption.interface.ts:6",{"_index":9797,"title":{},"body":{"interfaces/EncryptionService.html":{}}}],["apps/server/src/infra/encryption/encryption.module.ts",{"_index":9783,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["apps/server/src/infra/encryption/encryption.service.ts",{"_index":20997,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["apps/server/src/infra/encryption/encryption.service.ts:15",{"_index":21000,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["apps/server/src/infra/encryption/encryption.service.ts:23",{"_index":20999,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["apps/server/src/infra/encryption/encryption.service.ts:8",{"_index":20998,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["apps/server/src/infra/feathers/feathers",{"_index":11346,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["apps/server/src/infra/feathers/feathers.module.ts",{"_index":11229,"title":{},"body":{"modules/FeathersModule.html":{}}}],["apps/server/src/infra/file",{"_index":11988,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{}}}],["apps/server/src/infra/identity",{"_index":4855,"title":{},"body":{"interfaces/CleanOptions.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/IdentityManagementConfig.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"interfaces/MigrationOptions.html":{},"classes/OidcIdentityProviderMapper.html":{},"interfaces/RetryOptions.html":{}}}],["apps/server/src/infra/mail/interfaces/mail",{"_index":16030,"title":{},"body":{"interfaces/MailConfig.html":{}}}],["apps/server/src/infra/mail/mail.interface.ts",{"_index":1440,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["apps/server/src/infra/mail/mail.module.ts",{"_index":16033,"title":{},"body":{"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{}}}],["apps/server/src/infra/mail/mail.module.ts:13",{"_index":16035,"title":{},"body":{"modules/MailModule.html":{}}}],["apps/server/src/infra/mail/mail.service.ts",{"_index":16040,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["apps/server/src/infra/mail/mail.service.ts:14",{"_index":16045,"title":{},"body":{"injectables/MailService.html":{}}}],["apps/server/src/infra/mail/mail.service.ts:24",{"_index":16051,"title":{},"body":{"injectables/MailService.html":{}}}],["apps/server/src/infra/mail/mail.service.ts:39",{"_index":16047,"title":{},"body":{"injectables/MailService.html":{}}}],["apps/server/src/infra/mail/mail.service.ts:54",{"_index":16050,"title":{},"body":{"injectables/MailService.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts",{"_index":17956,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:12",{"_index":17973,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:14",{"_index":17978,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:18",{"_index":17972,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:20",{"_index":17980,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:24",{"_index":17968,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:26",{"_index":17982,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:30",{"_index":17969,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:32",{"_index":17984,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:34",{"_index":17967,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:4",{"_index":17970,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:44",{"_index":17985,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:52",{"_index":17974,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:6",{"_index":17971,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:8",{"_index":17976,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts",{"_index":18698,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts:10",{"_index":18705,"title":{},"body":{"classes/RequestInfo.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts:12",{"_index":18707,"title":{},"body":{"classes/RequestInfo.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts:14",{"_index":18709,"title":{},"body":{"classes/RequestInfo.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts:16",{"_index":18703,"title":{},"body":{"classes/RequestInfo.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts:32",{"_index":18792,"title":{},"body":{"classes/ResponseInfo.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts:6",{"_index":18706,"title":{},"body":{"classes/RequestInfo.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts:8",{"_index":18704,"title":{},"body":{"classes/RequestInfo.html":{}}}],["apps/server/src/infra/oauth",{"_index":162,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/HydraOauthFailedLoggableException.html":{},"interfaces/IntrospectResponse.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"interfaces/RejectRequestBody.html":{}}}],["apps/server/src/infra/preview",{"_index":17785,"title":{},"body":{"classes/PreviewActionsLoggable.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{}}}],["apps/server/src/infra/rabbitmq/error.mapper.ts",{"_index":9884,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["apps/server/src/infra/rabbitmq/error.mapper.ts:6",{"_index":9888,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["apps/server/src/infra/rabbitmq/exchange/files",{"_index":7081,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{}}}],["apps/server/src/infra/rabbitmq/rabbitmq.module.ts",{"_index":18316,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["apps/server/src/infra/rabbitmq/rabbitmq.module.ts:55",{"_index":18339,"title":{},"body":{"modules/RabbitMQWrapperTestModule.html":{}}}],["apps/server/src/infra/rabbitmq/rpc",{"_index":13564,"title":{},"body":{"interfaces/IError.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{}}}],["apps/server/src/infra/redis/redis.module.ts",{"_index":18573,"title":{},"body":{"modules/RedisModule.html":{}}}],["apps/server/src/infra/s3",{"_index":7186,"title":{},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{}}}],["apps/server/src/modules/account/account",{"_index":272,"title":{},"body":{"modules/AccountApiModule.html":{},"interfaces/AccountConfig.html":{}}}],["apps/server/src/modules/account/account.module.ts",{"_index":672,"title":{},"body":{"modules/AccountModule.html":{}}}],["apps/server/src/modules/account/controller/account.controller.ts",{"_index":315,"title":{},"body":{"controllers/AccountController.html":{}}}],["apps/server/src/modules/account/controller/account.controller.ts:31",{"_index":377,"title":{},"body":{"controllers/AccountController.html":{}}}],["apps/server/src/modules/account/controller/account.controller.ts:44",{"_index":352,"title":{},"body":{"controllers/AccountController.html":{}}}],["apps/server/src/modules/account/controller/account.controller.ts:60",{"_index":387,"title":{},"body":{"controllers/AccountController.html":{}}}],["apps/server/src/modules/account/controller/account.controller.ts:70",{"_index":381,"title":{},"body":{"controllers/AccountController.html":{}}}],["apps/server/src/modules/account/controller/account.controller.ts:84",{"_index":348,"title":{},"body":{"controllers/AccountController.html":{}}}],["apps/server/src/modules/account/controller/account.controller.ts:97",{"_index":363,"title":{},"body":{"controllers/AccountController.html":{}}}],["apps/server/src/modules/account/controller/dto/account",{"_index":285,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{}}}],["apps/server/src/modules/account/controller/dto/account.response.ts",{"_index":820,"title":{},"body":{"classes/AccountResponse.html":{}}}],["apps/server/src/modules/account/controller/dto/account.response.ts:13",{"_index":824,"title":{},"body":{"classes/AccountResponse.html":{}}}],["apps/server/src/modules/account/controller/dto/account.response.ts:16",{"_index":827,"title":{},"body":{"classes/AccountResponse.html":{}}}],["apps/server/src/modules/account/controller/dto/account.response.ts:19",{"_index":826,"title":{},"body":{"classes/AccountResponse.html":{}}}],["apps/server/src/modules/account/controller/dto/account.response.ts:22",{"_index":823,"title":{},"body":{"classes/AccountResponse.html":{}}}],["apps/server/src/modules/account/controller/dto/account.response.ts:25",{"_index":825,"title":{},"body":{"classes/AccountResponse.html":{}}}],["apps/server/src/modules/account/controller/dto/account.response.ts:3",{"_index":822,"title":{},"body":{"classes/AccountResponse.html":{}}}],["apps/server/src/modules/account/controller/dto/patch",{"_index":17720,"title":{},"body":{"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{}}}],["apps/server/src/modules/account/mapper/account",{"_index":465,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/AccountResponseMapper.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts",{"_index":727,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:11",{"_index":767,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:19",{"_index":740,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:23",{"_index":746,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:28",{"_index":742,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:32",{"_index":743,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:36",{"_index":749,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:43",{"_index":751,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:47",{"_index":747,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:51",{"_index":755,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:55",{"_index":757,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:59",{"_index":738,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:64",{"_index":739,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:74",{"_index":744,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:80",{"_index":754,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/services/account",{"_index":608,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AccountServiceDb.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts",{"_index":6,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:10",{"_index":43,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:12",{"_index":45,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:14",{"_index":50,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:16",{"_index":65,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:18",{"_index":90,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:23",{"_index":84,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:25",{"_index":88,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:27",{"_index":28,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:29",{"_index":38,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:31",{"_index":71,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:33",{"_index":68,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:35",{"_index":93,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:39",{"_index":57,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:6",{"_index":41,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:8",{"_index":61,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.validation.service.ts",{"_index":966,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["apps/server/src/modules/account/services/account.validation.service.ts:11",{"_index":972,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["apps/server/src/modules/account/services/account.validation.service.ts:29",{"_index":976,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["apps/server/src/modules/account/services/account.validation.service.ts:34",{"_index":974,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["apps/server/src/modules/account/services/account.validation.service.ts:8",{"_index":970,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["apps/server/src/modules/account/services/dto/account",{"_index":839,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["apps/server/src/modules/account/services/dto/account.dto.ts",{"_index":429,"title":{},"body":{"classes/AccountDto.html":{}}}],["apps/server/src/modules/account/services/dto/account.dto.ts:9",{"_index":434,"title":{},"body":{"classes/AccountDto.html":{}}}],["apps/server/src/modules/authentication/authentication",{"_index":1486,"title":{},"body":{"modules/AuthenticationApiModule.html":{}}}],["apps/server/src/modules/authentication/authentication.module.ts",{"_index":1535,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["apps/server/src/modules/authentication/config/x",{"_index":24394,"title":{},"body":{"interfaces/XApiKeyConfig.html":{}}}],["apps/server/src/modules/authentication/constants.ts",{"_index":14263,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["apps/server/src/modules/authentication/controllers/dto/ldap",{"_index":14862,"title":{},"body":{"classes/LdapAuthorizationBodyParams.html":{}}}],["apps/server/src/modules/authentication/controllers/dto/local",{"_index":15649,"title":{},"body":{"classes/LocalAuthorizationBodyParams.html":{}}}],["apps/server/src/modules/authentication/controllers/dto/login.response.ts",{"_index":15786,"title":{},"body":{"classes/LoginResponse.html":{}}}],["apps/server/src/modules/authentication/controllers/dto/login.response.ts:5",{"_index":15787,"title":{},"body":{"classes/LoginResponse.html":{}}}],["apps/server/src/modules/authentication/controllers/dto/oauth",{"_index":17114,"title":{},"body":{"classes/OauthLoginResponse.html":{}}}],["apps/server/src/modules/authentication/controllers/dto/oauth2",{"_index":16884,"title":{},"body":{"classes/Oauth2AuthorizationBodyParams.html":{}}}],["apps/server/src/modules/authentication/controllers/login.controller.ts",{"_index":15739,"title":{},"body":{"controllers/LoginController.html":{}}}],["apps/server/src/modules/authentication/controllers/login.controller.ts:31",{"_index":15749,"title":{},"body":{"controllers/LoginController.html":{}}}],["apps/server/src/modules/authentication/controllers/login.controller.ts:47",{"_index":15753,"title":{},"body":{"controllers/LoginController.html":{}}}],["apps/server/src/modules/authentication/controllers/login.controller.ts:62",{"_index":15758,"title":{},"body":{"controllers/LoginController.html":{}}}],["apps/server/src/modules/authentication/controllers/mapper/login",{"_index":15807,"title":{},"body":{"classes/LoginResponseMapper.html":{}}}],["apps/server/src/modules/authentication/errors/brute",{"_index":4168,"title":{},"body":{"classes/BruteForceError.html":{}}}],["apps/server/src/modules/authentication/errors/ldap",{"_index":14988,"title":{},"body":{"classes/LdapConnectionError.html":{}}}],["apps/server/src/modules/authentication/errors/unauthorized.loggable",{"_index":23086,"title":{},"body":{"classes/UnauthorizedLoggableException.html":{}}}],["apps/server/src/modules/authentication/guard/jwt",{"_index":14260,"title":{},"body":{"injectables/JwtAuthGuard.html":{}}}],["apps/server/src/modules/authentication/interface/jwt",{"_index":7943,"title":{},"body":{"interfaces/CreateJwtPayload.html":{},"interfaces/JwtPayload.html":{}}}],["apps/server/src/modules/authentication/interface/oauth",{"_index":17090,"title":{},"body":{"interfaces/OauthCurrentUser.html":{}}}],["apps/server/src/modules/authentication/interface/user.ts",{"_index":13558,"title":{},"body":{"interfaces/ICurrentUser.html":{}}}],["apps/server/src/modules/authentication/loggable/school",{"_index":19897,"title":{},"body":{"classes/SchoolInMigrationLoggableException.html":{}}}],["apps/server/src/modules/authentication/mapper/current",{"_index":7991,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts",{"_index":1686,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:17",{"_index":1695,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:25",{"_index":1702,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:42",{"_index":1700,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:57",{"_index":1708,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:65",{"_index":1697,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:76",{"_index":1711,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:80",{"_index":1706,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:84",{"_index":1704,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/ldap.service.ts",{"_index":14994,"title":{},"body":{"injectables/LdapService.html":{}}}],["apps/server/src/modules/authentication/services/ldap.service.ts:14",{"_index":14998,"title":{},"body":{"injectables/LdapService.html":{}}}],["apps/server/src/modules/authentication/services/ldap.service.ts:23",{"_index":15000,"title":{},"body":{"injectables/LdapService.html":{}}}],["apps/server/src/modules/authentication/services/ldap.service.ts:9",{"_index":14996,"title":{},"body":{"injectables/LdapService.html":{}}}],["apps/server/src/modules/authentication/strategy/jwt",{"_index":14278,"title":{},"body":{"classes/JwtExtractor.html":{},"injectables/JwtValidationAdapter.html":{}}}],["apps/server/src/modules/authentication/strategy/jwt.strategy.ts",{"_index":14287,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/jwt.strategy.ts:12",{"_index":14290,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/jwt.strategy.ts:25",{"_index":14292,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/ldap.strategy.ts",{"_index":15024,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/ldap.strategy.ts:17",{"_index":15030,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/ldap.strategy.ts:29",{"_index":15040,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/ldap.strategy.ts:57",{"_index":15037,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/ldap.strategy.ts:69",{"_index":15035,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/ldap.strategy.ts:76",{"_index":15033,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/ldap.strategy.ts:92",{"_index":15038,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/local.strategy.ts",{"_index":15652,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/local.strategy.ts:15",{"_index":15655,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/local.strategy.ts:25",{"_index":15663,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/local.strategy.ts:46",{"_index":15661,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/local.strategy.ts:54",{"_index":15658,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/oauth2.strategy.ts",{"_index":16891,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["apps/server/src/modules/authentication/strategy/oauth2.strategy.ts:14",{"_index":16892,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["apps/server/src/modules/authentication/strategy/oauth2.strategy.ts:19",{"_index":16893,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["apps/server/src/modules/authentication/strategy/x",{"_index":24396,"title":{},"body":{"injectables/XApiKeyStrategy.html":{}}}],["apps/server/src/modules/authentication/uc/dto/login.dto.ts",{"_index":15778,"title":{},"body":{"classes/LoginDto.html":{}}}],["apps/server/src/modules/authentication/uc/dto/login.dto.ts:2",{"_index":15779,"title":{},"body":{"classes/LoginDto.html":{}}}],["apps/server/src/modules/authentication/uc/login.uc.ts",{"_index":15815,"title":{},"body":{"injectables/LoginUc.html":{}}}],["apps/server/src/modules/authentication/uc/login.uc.ts:12",{"_index":15820,"title":{},"body":{"injectables/LoginUc.html":{}}}],["apps/server/src/modules/authentication/uc/login.uc.ts:9",{"_index":15818,"title":{},"body":{"injectables/LoginUc.html":{}}}],["apps/server/src/modules/authorization/authorization",{"_index":1916,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["apps/server/src/modules/authorization/authorization.module.ts",{"_index":1880,"title":{},"body":{"modules/AuthorizationModule.html":{}}}],["apps/server/src/modules/authorization/domain/error/forbidden.loggable",{"_index":12366,"title":{},"body":{"classes/ForbiddenLoggableException.html":{}}}],["apps/server/src/modules/authorization/domain/mapper/authorization",{"_index":1781,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["apps/server/src/modules/authorization/domain/rules/board",{"_index":3676,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/context",{"_index":6880,"title":{},"body":{"injectables/ContextExternalToolRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/course",{"_index":7697,"title":{},"body":{"injectables/CourseGroupRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/course.rule.ts",{"_index":7849,"title":{},"body":{"injectables/CourseRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/course.rule.ts:10",{"_index":7852,"title":{},"body":{"injectables/CourseRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/course.rule.ts:16",{"_index":7851,"title":{},"body":{"injectables/CourseRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/course.rule.ts:7",{"_index":7850,"title":{},"body":{"injectables/CourseRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/group.rule.ts",{"_index":12886,"title":{},"body":{"injectables/GroupRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/group.rule.ts:11",{"_index":12889,"title":{},"body":{"injectables/GroupRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/group.rule.ts:17",{"_index":12888,"title":{},"body":{"injectables/GroupRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/group.rule.ts:8",{"_index":12887,"title":{},"body":{"injectables/GroupRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/legacy",{"_index":15242,"title":{},"body":{"injectables/LegacySchoolRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts",{"_index":15464,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:16",{"_index":15476,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:22",{"_index":15475,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:40",{"_index":15478,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:53",{"_index":15480,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:59",{"_index":15482,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:73",{"_index":15474,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:79",{"_index":15472,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:9",{"_index":15470,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/school",{"_index":19795,"title":{},"body":{"injectables/SchoolExternalToolRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts",{"_index":20905,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:11",{"_index":20923,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:17",{"_index":20918,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:27",{"_index":20913,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:41",{"_index":20922,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:47",{"_index":20920,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:61",{"_index":20917,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:70",{"_index":20915,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:8",{"_index":20911,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/system.rule.ts",{"_index":21197,"title":{},"body":{"injectables/SystemRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/system.rule.ts:11",{"_index":21203,"title":{},"body":{"injectables/SystemRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/system.rule.ts:17",{"_index":21202,"title":{},"body":{"injectables/SystemRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/system.rule.ts:31",{"_index":21201,"title":{},"body":{"injectables/SystemRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/system.rule.ts:8",{"_index":21199,"title":{},"body":{"injectables/SystemRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/task.rule.ts",{"_index":21682,"title":{},"body":{"injectables/TaskRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/task.rule.ts:16",{"_index":21688,"title":{},"body":{"injectables/TaskRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/task.rule.ts:22",{"_index":21687,"title":{},"body":{"injectables/TaskRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/task.rule.ts:43",{"_index":21686,"title":{},"body":{"injectables/TaskRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/task.rule.ts:9",{"_index":21684,"title":{},"body":{"injectables/TaskRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/team.rule.ts",{"_index":21948,"title":{},"body":{"injectables/TeamRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/team.rule.ts:10",{"_index":21951,"title":{},"body":{"injectables/TeamRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/team.rule.ts:14",{"_index":21950,"title":{},"body":{"injectables/TeamRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/team.rule.ts:7",{"_index":21949,"title":{},"body":{"injectables/TeamRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/user",{"_index":23609,"title":{},"body":{"injectables/UserLoginMigrationRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/user.rule.ts",{"_index":23854,"title":{},"body":{"injectables/UserRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/user.rule.ts:10",{"_index":23857,"title":{},"body":{"injectables/UserRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/user.rule.ts:16",{"_index":23856,"title":{},"body":{"injectables/UserRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/user.rule.ts:7",{"_index":23855,"title":{},"body":{"injectables/UserRule.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization",{"_index":1942,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.helper.ts",{"_index":1802,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.helper.ts:14",{"_index":1815,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.helper.ts:21",{"_index":1817,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.helper.ts:32",{"_index":1811,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.helper.ts:38",{"_index":1820,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.helper.ts:7",{"_index":1813,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts",{"_index":1964,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:13",{"_index":1970,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:20",{"_index":1976,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:26",{"_index":1982,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:33",{"_index":1972,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:40",{"_index":1979,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:44",{"_index":1974,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:51",{"_index":1980,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:55",{"_index":1978,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/reference.loader.ts",{"_index":18577,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["apps/server/src/modules/authorization/domain/service/reference.loader.ts:41",{"_index":18582,"title":{},"body":{"injectables/ReferenceLoader.html":{}}}],["apps/server/src/modules/authorization/domain/service/reference.loader.ts:71",{"_index":18587,"title":{},"body":{"injectables/ReferenceLoader.html":{}}}],["apps/server/src/modules/authorization/domain/service/reference.loader.ts:79",{"_index":18584,"title":{},"body":{"injectables/ReferenceLoader.html":{}}}],["apps/server/src/modules/authorization/domain/service/rule",{"_index":19247,"title":{},"body":{"injectables/RuleManager.html":{}}}],["apps/server/src/modules/authorization/domain/type/authorization",{"_index":1776,"title":{},"body":{"interfaces/AuthorizationContext.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{}}}],["apps/server/src/modules/authorization/domain/type/rule.interface.ts",{"_index":19244,"title":{},"body":{"interfaces/Rule.html":{}}}],["apps/server/src/modules/authorization/domain/type/rule.interface.ts:7",{"_index":19246,"title":{},"body":{"interfaces/Rule.html":{}}}],["apps/server/src/modules/authorization/domain/type/rule.interface.ts:8",{"_index":19245,"title":{},"body":{"interfaces/Rule.html":{}}}],["apps/server/src/modules/authorization/feathers/feathers",{"_index":11155,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{}}}],["apps/server/src/modules/board/board",{"_index":3010,"title":{},"body":{"modules/BoardApiModule.html":{}}}],["apps/server/src/modules/board/board.module.ts",{"_index":3865,"title":{},"body":{"modules/BoardModule.html":{}}}],["apps/server/src/modules/board/controller/board",{"_index":4007,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["apps/server/src/modules/board/controller/board.controller.ts",{"_index":3184,"title":{},"body":{"controllers/BoardController.html":{}}}],["apps/server/src/modules/board/controller/board.controller.ts:33",{"_index":3214,"title":{},"body":{"controllers/BoardController.html":{}}}],["apps/server/src/modules/board/controller/board.controller.ts:50",{"_index":3209,"title":{},"body":{"controllers/BoardController.html":{}}}],["apps/server/src/modules/board/controller/board.controller.ts:68",{"_index":3220,"title":{},"body":{"controllers/BoardController.html":{}}}],["apps/server/src/modules/board/controller/board.controller.ts:83",{"_index":3205,"title":{},"body":{"controllers/BoardController.html":{}}}],["apps/server/src/modules/board/controller/board.controller.ts:93",{"_index":3200,"title":{},"body":{"controllers/BoardController.html":{}}}],["apps/server/src/modules/board/controller/card.controller.ts",{"_index":4336,"title":{},"body":{"controllers/CardController.html":{}}}],["apps/server/src/modules/board/controller/card.controller.ts:114",{"_index":4351,"title":{},"body":{"controllers/CardController.html":{}}}],["apps/server/src/modules/board/controller/card.controller.ts:143",{"_index":4347,"title":{},"body":{"controllers/CardController.html":{}}}],["apps/server/src/modules/board/controller/card.controller.ts:48",{"_index":4358,"title":{},"body":{"controllers/CardController.html":{}}}],["apps/server/src/modules/board/controller/card.controller.ts:69",{"_index":4362,"title":{},"body":{"controllers/CardController.html":{}}}],["apps/server/src/modules/board/controller/card.controller.ts:84",{"_index":4366,"title":{},"body":{"controllers/CardController.html":{}}}],["apps/server/src/modules/board/controller/card.controller.ts:99",{"_index":4369,"title":{},"body":{"controllers/CardController.html":{}}}],["apps/server/src/modules/board/controller/column.controller.ts",{"_index":5591,"title":{},"body":{"controllers/ColumnController.html":{}}}],["apps/server/src/modules/board/controller/column.controller.ts:34",{"_index":5609,"title":{},"body":{"controllers/ColumnController.html":{}}}],["apps/server/src/modules/board/controller/column.controller.ts:49",{"_index":5612,"title":{},"body":{"controllers/ColumnController.html":{}}}],["apps/server/src/modules/board/controller/column.controller.ts:64",{"_index":5605,"title":{},"body":{"controllers/ColumnController.html":{}}}],["apps/server/src/modules/board/controller/column.controller.ts:75",{"_index":5602,"title":{},"body":{"controllers/ColumnController.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board",{"_index":3174,"title":{},"body":{"classes/BoardContextResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.response.ts",{"_index":3984,"title":{},"body":{"classes/BoardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.response.ts:17",{"_index":3987,"title":{},"body":{"classes/BoardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.response.ts:21",{"_index":3990,"title":{},"body":{"classes/BoardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.response.ts:26",{"_index":3986,"title":{},"body":{"classes/BoardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.response.ts:29",{"_index":3989,"title":{},"body":{"classes/BoardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.response.ts:6",{"_index":3985,"title":{},"body":{"classes/BoardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.url.params.ts",{"_index":4165,"title":{},"body":{"classes/BoardUrlParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.url.params.ts:11",{"_index":4167,"title":{},"body":{"classes/BoardUrlParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/card",{"_index":4490,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.response.ts",{"_index":5629,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.response.ts:17",{"_index":5632,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.response.ts:21",{"_index":5634,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.response.ts:26",{"_index":5631,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.response.ts:29",{"_index":5633,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.response.ts:6",{"_index":5630,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.url.params.ts",{"_index":5680,"title":{},"body":{"classes/ColumnUrlParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.url.params.ts:11",{"_index":5681,"title":{},"body":{"classes/ColumnUrlParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/content",{"_index":6510,"title":{},"body":{"classes/ContentElementUrlParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/move",{"_index":16372,"title":{},"body":{"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/rename.body.params.ts",{"_index":18693,"title":{},"body":{"classes/RenameBodyParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/rename.body.params.ts:12",{"_index":18695,"title":{},"body":{"classes/RenameBodyParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/set",{"_index":20237,"title":{},"body":{"classes/SetHeightBodyParams.html":{}}}],["apps/server/src/modules/board/controller/dto/card.url.params.ts",{"_index":4543,"title":{},"body":{"classes/CardUrlParams.html":{}}}],["apps/server/src/modules/board/controller/dto/card.url.params.ts:11",{"_index":4544,"title":{},"body":{"classes/CardUrlParams.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card",{"_index":4406,"title":{},"body":{"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts",{"_index":4424,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts:23",{"_index":4426,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts:36",{"_index":4429,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts:40",{"_index":4431,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts:43",{"_index":4428,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts:58",{"_index":4427,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts:61",{"_index":4433,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts:64",{"_index":4430,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/create",{"_index":7896,"title":{},"body":{"classes/CreateCardBodyParams.html":{}}}],["apps/server/src/modules/board/controller/dto/card/move",{"_index":16382,"title":{},"body":{"classes/MoveContentElementBody.html":{}}}],["apps/server/src/modules/board/controller/dto/card/visibility",{"_index":24344,"title":{},"body":{"classes/VisibilitySettingsResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/element/create",{"_index":7901,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{}}}],["apps/server/src/modules/board/controller/dto/element/drawing",{"_index":9562,"title":{},"body":{"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/element/external",{"_index":10206,"title":{},"body":{"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/element/file",{"_index":11457,"title":{},"body":{"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/element/link",{"_index":15615,"title":{},"body":{"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/element/rich",{"_index":18849,"title":{},"body":{"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/element/submission",{"_index":20705,"title":{},"body":{"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/element/update",{"_index":9513,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["apps/server/src/modules/board/controller/dto/submission",{"_index":7983,"title":{},"body":{"classes/CreateSubmissionItemBodyParams.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionsResponse.html":{},"classes/UpdateSubmissionItemBodyParams.html":{}}}],["apps/server/src/modules/board/controller/dto/timestamps.response.ts",{"_index":22199,"title":{},"body":{"classes/TimestampsResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/timestamps.response.ts:11",{"_index":22203,"title":{},"body":{"classes/TimestampsResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/timestamps.response.ts:14",{"_index":22201,"title":{},"body":{"classes/TimestampsResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/timestamps.response.ts:17",{"_index":22202,"title":{},"body":{"classes/TimestampsResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/timestamps.response.ts:3",{"_index":22200,"title":{},"body":{"classes/TimestampsResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/user",{"_index":23317,"title":{},"body":{"classes/UserDataResponse.html":{}}}],["apps/server/src/modules/board/controller/element.controller.ts",{"_index":9708,"title":{},"body":{"controllers/ElementController.html":{}}}],["apps/server/src/modules/board/controller/element.controller.ts:114",{"_index":9720,"title":{},"body":{"controllers/ElementController.html":{}}}],["apps/server/src/modules/board/controller/element.controller.ts:129",{"_index":9716,"title":{},"body":{"controllers/ElementController.html":{}}}],["apps/server/src/modules/board/controller/element.controller.ts:53",{"_index":9724,"title":{},"body":{"controllers/ElementController.html":{}}}],["apps/server/src/modules/board/controller/element.controller.ts:93",{"_index":9729,"title":{},"body":{"controllers/ElementController.html":{}}}],["apps/server/src/modules/board/controller/mapper/base",{"_index":2640,"title":{},"body":{"interfaces/BaseResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/board",{"_index":3995,"title":{},"body":{"classes/BoardResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/card",{"_index":4438,"title":{},"body":{"classes/CardResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/column",{"_index":5637,"title":{},"body":{"classes/ColumnResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/content",{"_index":6378,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["apps/server/src/modules/board/controller/mapper/drawing",{"_index":9577,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/external",{"_index":10220,"title":{},"body":{"classes/ExternalToolElementResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/file",{"_index":11475,"title":{},"body":{"classes/FileElementResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/link",{"_index":15629,"title":{},"body":{"classes/LinkElementResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/rich",{"_index":18867,"title":{},"body":{"classes/RichTextElementResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/submission",{"_index":20718,"title":{},"body":{"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["apps/server/src/modules/board/repo/board",{"_index":3487,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardNodeRepo.html":{}}}],["apps/server/src/modules/board/repo/recursive",{"_index":18447,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["apps/server/src/modules/board/service/board",{"_index":3405,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoService.html":{},"classes/RecursiveCopyVisitor.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["apps/server/src/modules/board/service/card.service.ts",{"_index":4447,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:10",{"_index":4451,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:17",{"_index":4461,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:21",{"_index":4464,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:30",{"_index":4455,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:51",{"_index":4459,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:55",{"_index":4467,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:59",{"_index":4469,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:65",{"_index":4471,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:71",{"_index":4457,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/column",{"_index":5415,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{}}}],["apps/server/src/modules/board/service/column.service.ts",{"_index":5646,"title":{},"body":{"injectables/ColumnService.html":{}}}],["apps/server/src/modules/board/service/column.service.ts:12",{"_index":5652,"title":{},"body":{"injectables/ColumnService.html":{}}}],["apps/server/src/modules/board/service/column.service.ts:17",{"_index":5648,"title":{},"body":{"injectables/ColumnService.html":{}}}],["apps/server/src/modules/board/service/column.service.ts:33",{"_index":5650,"title":{},"body":{"injectables/ColumnService.html":{}}}],["apps/server/src/modules/board/service/column.service.ts:37",{"_index":5654,"title":{},"body":{"injectables/ColumnService.html":{}}}],["apps/server/src/modules/board/service/column.service.ts:41",{"_index":5656,"title":{},"body":{"injectables/ColumnService.html":{}}}],["apps/server/src/modules/board/service/column.service.ts:9",{"_index":5647,"title":{},"body":{"injectables/ColumnService.html":{}}}],["apps/server/src/modules/board/service/content",{"_index":6410,"title":{},"body":{"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{}}}],["apps/server/src/modules/board/service/submission",{"_index":20832,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["apps/server/src/modules/board/uc/base.uc.ts",{"_index":2650,"title":{},"body":{"classes/BaseUc.html":{}}}],["apps/server/src/modules/board/uc/base.uc.ts:13",{"_index":2659,"title":{},"body":{"classes/BaseUc.html":{}}}],["apps/server/src/modules/board/uc/base.uc.ts:29",{"_index":2665,"title":{},"body":{"classes/BaseUc.html":{}}}],["apps/server/src/modules/board/uc/base.uc.ts:45",{"_index":2662,"title":{},"body":{"classes/BaseUc.html":{}}}],["apps/server/src/modules/board/uc/base.uc.ts:7",{"_index":2655,"title":{},"body":{"classes/BaseUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts",{"_index":4104,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts:12",{"_index":4108,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts:26",{"_index":4114,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts:35",{"_index":4116,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts:44",{"_index":4112,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts:53",{"_index":4122,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts:62",{"_index":4110,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts:72",{"_index":4120,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts",{"_index":4503,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:10",{"_index":4508,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:23",{"_index":4517,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:32",{"_index":4522,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:41",{"_index":4524,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:50",{"_index":4512,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:61",{"_index":4510,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:80",{"_index":4520,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:97",{"_index":4515,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/column.uc.ts",{"_index":5663,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["apps/server/src/modules/board/uc/column.uc.ts:10",{"_index":5664,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["apps/server/src/modules/board/uc/column.uc.ts:23",{"_index":5668,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["apps/server/src/modules/board/uc/column.uc.ts:32",{"_index":5673,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["apps/server/src/modules/board/uc/column.uc.ts:41",{"_index":5666,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["apps/server/src/modules/board/uc/column.uc.ts:52",{"_index":5671,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["apps/server/src/modules/board/uc/element.uc.ts",{"_index":9746,"title":{},"body":{"injectables/ElementUc.html":{}}}],["apps/server/src/modules/board/uc/element.uc.ts:19",{"_index":9749,"title":{},"body":{"injectables/ElementUc.html":{}}}],["apps/server/src/modules/board/uc/element.uc.ts:32",{"_index":9757,"title":{},"body":{"injectables/ElementUc.html":{}}}],["apps/server/src/modules/board/uc/element.uc.ts:43",{"_index":9753,"title":{},"body":{"injectables/ElementUc.html":{}}}],["apps/server/src/modules/board/uc/element.uc.ts:49",{"_index":9755,"title":{},"body":{"injectables/ElementUc.html":{}}}],["apps/server/src/modules/board/uc/element.uc.ts:63",{"_index":9751,"title":{},"body":{"injectables/ElementUc.html":{}}}],["apps/server/src/modules/board/uc/submission",{"_index":20847,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["apps/server/src/modules/class/class.module.ts",{"_index":4776,"title":{},"body":{"modules/ClassModule.html":{}}}],["apps/server/src/modules/class/domain/class",{"_index":4808,"title":{},"body":{"classes/ClassSourceOptions.html":{},"interfaces/ClassSourceOptionsProps.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts",{"_index":4555,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:22",{"_index":4568,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:26",{"_index":4570,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:30",{"_index":4572,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:34",{"_index":4574,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:38",{"_index":4576,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:42",{"_index":4578,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:46",{"_index":4580,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:50",{"_index":4582,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:54",{"_index":4584,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:58",{"_index":4586,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:62",{"_index":4588,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:66",{"_index":4589,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:70",{"_index":4590,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:74",{"_index":4566,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/testing/factory/class.factory.ts",{"_index":4664,"title":{},"body":{"classes/ClassFactory.html":{}}}],["apps/server/src/modules/class/domain/testing/factory/class.factory.ts:8",{"_index":4666,"title":{},"body":{"classes/ClassFactory.html":{}}}],["apps/server/src/modules/class/entity/class",{"_index":4815,"title":{},"body":{"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts",{"_index":4608,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:26",{"_index":4612,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:30",{"_index":4613,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:34",{"_index":4621,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:38",{"_index":4620,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:41",{"_index":4610,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:44",{"_index":4622,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:47",{"_index":4609,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:50",{"_index":4611,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:53",{"_index":4619,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:57",{"_index":4615,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:60",{"_index":4618,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/testing/factory/class.entity.factory.ts",{"_index":4654,"title":{},"body":{"classes/ClassEntityFactory.html":{}}}],["apps/server/src/modules/class/entity/testing/factory/class.entity.factory.ts:7",{"_index":4657,"title":{},"body":{"classes/ClassEntityFactory.html":{}}}],["apps/server/src/modules/class/repo/classes.repo.ts",{"_index":4821,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["apps/server/src/modules/class/repo/classes.repo.ts:10",{"_index":4824,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["apps/server/src/modules/class/repo/classes.repo.ts:13",{"_index":4826,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["apps/server/src/modules/class/repo/classes.repo.ts:21",{"_index":4827,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["apps/server/src/modules/class/repo/classes.repo.ts:31",{"_index":4829,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["apps/server/src/modules/class/repo/mapper/class.mapper.ts",{"_index":4723,"title":{},"body":{"classes/ClassMapper.html":{}}}],["apps/server/src/modules/class/repo/mapper/class.mapper.ts:26",{"_index":4735,"title":{},"body":{"classes/ClassMapper.html":{}}}],["apps/server/src/modules/class/repo/mapper/class.mapper.ts:43",{"_index":4731,"title":{},"body":{"classes/ClassMapper.html":{}}}],["apps/server/src/modules/class/repo/mapper/class.mapper.ts:47",{"_index":4733,"title":{},"body":{"classes/ClassMapper.html":{}}}],["apps/server/src/modules/class/repo/mapper/class.mapper.ts:7",{"_index":4729,"title":{},"body":{"classes/ClassMapper.html":{}}}],["apps/server/src/modules/class/service/class.service.ts",{"_index":4777,"title":{},"body":{"injectables/ClassService.html":{}}}],["apps/server/src/modules/class/service/class.service.ts:10",{"_index":4788,"title":{},"body":{"injectables/ClassService.html":{}}}],["apps/server/src/modules/class/service/class.service.ts:16",{"_index":4786,"title":{},"body":{"injectables/ClassService.html":{}}}],["apps/server/src/modules/class/service/class.service.ts:23",{"_index":4784,"title":{},"body":{"injectables/ClassService.html":{}}}],["apps/server/src/modules/class/service/class.service.ts:7",{"_index":4782,"title":{},"body":{"injectables/ClassService.html":{}}}],["apps/server/src/modules/collaborative",{"_index":5052,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"classes/TeamDto.html":{},"injectables/TeamMapper.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"classes/TeamRoleDto.html":{},"classes/TeamUserDto.html":{}}}],["apps/server/src/modules/copy",{"_index":7062,"title":{},"body":{"classes/CopyApiResponse.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{}}}],["apps/server/src/modules/deletion/builder/batch",{"_index":2861,"title":{},"body":{"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{}}}],["apps/server/src/modules/deletion/builder/deletion",{"_index":9216,"title":{},"body":{"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionTargetRefBuilder.html":{}}}],["apps/server/src/modules/deletion/client/builder/deletion",{"_index":9316,"title":{},"body":{"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestOutputBuilder.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{}}}],["apps/server/src/modules/deletion/client/deletion.client.ts",{"_index":8945,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["apps/server/src/modules/deletion/client/deletion.client.ts:10",{"_index":8961,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["apps/server/src/modules/deletion/client/deletion.client.ts:12",{"_index":8960,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["apps/server/src/modules/deletion/client/deletion.client.ts:14",{"_index":8962,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["apps/server/src/modules/deletion/client/deletion.client.ts:16",{"_index":8953,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["apps/server/src/modules/deletion/client/deletion.client.ts:30",{"_index":8959,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["apps/server/src/modules/deletion/client/deletion.client.ts:64",{"_index":8957,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["apps/server/src/modules/deletion/client/deletion.client.ts:88",{"_index":8954,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["apps/server/src/modules/deletion/client/deletion.client.ts:92",{"_index":8955,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["apps/server/src/modules/deletion/client/interface/deletion",{"_index":9001,"title":{},"body":{"interfaces/DeletionClientConfig.html":{},"interfaces/DeletionRequestInput.html":{},"interfaces/DeletionRequestOutput.html":{},"interfaces/DeletionRequestTargetRefInput.html":{}}}],["apps/server/src/modules/deletion/console/builder/deletion",{"_index":9048,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["apps/server/src/modules/deletion/console/builder/push",{"_index":18298,"title":{},"body":{"classes/PushDeleteRequestsOptionsBuilder.html":{}}}],["apps/server/src/modules/deletion/console/builder/trigger",{"_index":23084,"title":{},"body":{"classes/TriggerDeletionExecutionOptionsBuilder.html":{}}}],["apps/server/src/modules/deletion/console/deletion",{"_index":9010,"title":{},"body":{"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{}}}],["apps/server/src/modules/deletion/console/interface/deletion",{"_index":9045,"title":{},"body":{"interfaces/DeletionExecutionTriggerResult.html":{}}}],["apps/server/src/modules/deletion/console/interface/push",{"_index":18302,"title":{},"body":{"interfaces/PushDeletionRequestsOptions.html":{}}}],["apps/server/src/modules/deletion/console/interface/trigger",{"_index":23082,"title":{},"body":{"interfaces/TriggerDeletionExecutionOptions.html":{}}}],["apps/server/src/modules/deletion/controller/deletion",{"_index":9067,"title":{},"body":{"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{}}}],["apps/server/src/modules/deletion/controller/dto/deletion",{"_index":9040,"title":{},"body":{"classes/DeletionExecutionParams.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestResponse.html":{}}}],["apps/server/src/modules/deletion/deletion",{"_index":8926,"title":{},"body":{"modules/DeletionApiModule.html":{}}}],["apps/server/src/modules/deletion/deletion.module.ts",{"_index":9225,"title":{},"body":{"modules/DeletionModule.html":{}}}],["apps/server/src/modules/deletion/domain/deletion",{"_index":9084,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{}}}],["apps/server/src/modules/deletion/domain/testing/factory/deletion",{"_index":9305,"title":{},"body":{"classes/DeletionRequestFactory.html":{}}}],["apps/server/src/modules/deletion/entity/deletion",{"_index":9114,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["apps/server/src/modules/deletion/interface/batch",{"_index":2851,"title":{},"body":{"interfaces/BatchDeletionSummary.html":{},"interfaces/BatchDeletionSummaryDetail.html":{}}}],["apps/server/src/modules/deletion/interface/interfaces.ts",{"_index":9203,"title":{},"body":{"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionTargetRef.html":{}}}],["apps/server/src/modules/deletion/repo/deletion",{"_index":9166,"title":{},"body":{"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{}}}],["apps/server/src/modules/deletion/repo/mapper/deletion",{"_index":9141,"title":{},"body":{"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{}}}],["apps/server/src/modules/deletion/services/batch",{"_index":2802,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["apps/server/src/modules/deletion/services/builder/queue",{"_index":18305,"title":{},"body":{"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["apps/server/src/modules/deletion/services/deletion",{"_index":9189,"title":{},"body":{"injectables/DeletionLogService.html":{},"injectables/DeletionRequestService.html":{}}}],["apps/server/src/modules/deletion/services/interface/queue",{"_index":18304,"title":{},"body":{"interfaces/QueueDeletionRequestInput.html":{},"interfaces/QueueDeletionRequestOutput.html":{}}}],["apps/server/src/modules/deletion/services/references.service.ts",{"_index":18630,"title":{},"body":{"classes/ReferencesService.html":{}}}],["apps/server/src/modules/deletion/services/references.service.ts:4",{"_index":18633,"title":{},"body":{"classes/ReferencesService.html":{}}}],["apps/server/src/modules/deletion/uc/batch",{"_index":2875,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["apps/server/src/modules/deletion/uc/builder/deletion",{"_index":9469,"title":{},"body":{"classes/DeletionTargetRefBuilder-1.html":{}}}],["apps/server/src/modules/deletion/uc/deletion",{"_index":9061,"title":{},"body":{"injectables/DeletionExecutionUc.html":{}}}],["apps/server/src/modules/deletion/uc/interface/interfaces.ts",{"_index":9205,"title":{},"body":{"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef-1.html":{}}}],["apps/server/src/modules/files",{"_index":7102,"title":{},"body":{"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"classes/DownloadFileParams.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"classes/FileUrlParams.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"interfaces/GetFileResponse.html":{},"interfaces/ParentInfo.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileParams.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"classes/PreviewParams.html":{},"injectables/PreviewService.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{},"classes/TestHelper.html":{}}}],["apps/server/src/modules/files/entity/file",{"_index":11683,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts",{"_index":11479,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:100",{"_index":11491,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:107",{"_index":11504,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:110",{"_index":11493,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:117",{"_index":11518,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:40",{"_index":11500,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:43",{"_index":11499,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:46",{"_index":11501,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:49",{"_index":11502,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:52",{"_index":11510,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:55",{"_index":11516,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:58",{"_index":11511,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:61",{"_index":11498,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:64",{"_index":11513,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:67",{"_index":11514,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:70",{"_index":11515,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:73",{"_index":11508,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:77",{"_index":11509,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:81",{"_index":11497,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:89",{"_index":11496,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:96",{"_index":11506,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/files.module.ts",{"_index":12067,"title":{},"body":{"modules/FilesModule.html":{}}}],["apps/server/src/modules/files/job/delete",{"_index":8823,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["apps/server/src/modules/files/repo/files.repo.ts",{"_index":12068,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["apps/server/src/modules/files/repo/files.repo.ts:10",{"_index":12072,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["apps/server/src/modules/files/repo/files.repo.ts:15",{"_index":12081,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["apps/server/src/modules/files/repo/files.repo.ts:19",{"_index":12080,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["apps/server/src/modules/files/repo/files.repo.ts:33",{"_index":12074,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["apps/server/src/modules/files/repo/files.repo.ts:44",{"_index":12077,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["apps/server/src/modules/files/service/files.service.ts",{"_index":12094,"title":{},"body":{"injectables/FilesService.html":{}}}],["apps/server/src/modules/files/service/files.service.ts:10",{"_index":12101,"title":{},"body":{"injectables/FilesService.html":{}}}],["apps/server/src/modules/files/service/files.service.ts:14",{"_index":12107,"title":{},"body":{"injectables/FilesService.html":{}}}],["apps/server/src/modules/files/service/files.service.ts:28",{"_index":12103,"title":{},"body":{"injectables/FilesService.html":{}}}],["apps/server/src/modules/files/service/files.service.ts:32",{"_index":12105,"title":{},"body":{"injectables/FilesService.html":{}}}],["apps/server/src/modules/files/service/files.service.ts:7",{"_index":12099,"title":{},"body":{"injectables/FilesService.html":{}}}],["apps/server/src/modules/files/uc/delete",{"_index":8845,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["apps/server/src/modules/fwu",{"_index":12382,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GetFwuLearningContentParams.html":{},"interfaces/S3Config-1.html":{}}}],["apps/server/src/modules/group/controller/dto/request/class",{"_index":4671,"title":{},"body":{"classes/ClassFilterParams.html":{},"classes/ClassSortParams.html":{}}}],["apps/server/src/modules/group/controller/dto/request/group",{"_index":12779,"title":{},"body":{"classes/GroupIdParams.html":{}}}],["apps/server/src/modules/group/controller/dto/response/class",{"_index":4707,"title":{},"body":{"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/external",{"_index":10012,"title":{},"body":{"classes/ExternalSourceResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group",{"_index":12961,"title":{},"body":{"classes/GroupUserResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group.response.ts",{"_index":12817,"title":{},"body":{"classes/GroupResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group.response.ts:11",{"_index":12822,"title":{},"body":{"classes/GroupResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group.response.ts:14",{"_index":12824,"title":{},"body":{"classes/GroupResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group.response.ts:17",{"_index":12826,"title":{},"body":{"classes/GroupResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group.response.ts:20",{"_index":12820,"title":{},"body":{"classes/GroupResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group.response.ts:23",{"_index":12819,"title":{},"body":{"classes/GroupResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group.response.ts:8",{"_index":12821,"title":{},"body":{"classes/GroupResponse.html":{}}}],["apps/server/src/modules/group/controller/group.controller.ts",{"_index":12670,"title":{},"body":{"controllers/GroupController.html":{}}}],["apps/server/src/modules/group/controller/group.controller.ts:23",{"_index":12679,"title":{},"body":{"controllers/GroupController.html":{}}}],["apps/server/src/modules/group/controller/group.controller.ts:53",{"_index":12685,"title":{},"body":{"controllers/GroupController.html":{}}}],["apps/server/src/modules/group/controller/mapper/group",{"_index":12836,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["apps/server/src/modules/group/domain/group",{"_index":12949,"title":{},"body":{"classes/GroupUser.html":{}}}],["apps/server/src/modules/group/domain/group.ts",{"_index":12629,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["apps/server/src/modules/group/domain/group.ts:26",{"_index":12639,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:30",{"_index":12640,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:34",{"_index":12642,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:38",{"_index":12644,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:42",{"_index":12646,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:46",{"_index":12648,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:50",{"_index":12638,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:54",{"_index":12636,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:58",{"_index":12635,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/entity/group",{"_index":12955,"title":{},"body":{"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["apps/server/src/modules/group/entity/group.entity.ts",{"_index":12762,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["apps/server/src/modules/group/entity/group.entity.ts:32",{"_index":12764,"title":{},"body":{"entities/GroupEntity.html":{}}}],["apps/server/src/modules/group/entity/group.entity.ts:35",{"_index":12766,"title":{},"body":{"entities/GroupEntity.html":{}}}],["apps/server/src/modules/group/entity/group.entity.ts:38",{"_index":12763,"title":{},"body":{"entities/GroupEntity.html":{}}}],["apps/server/src/modules/group/entity/group.entity.ts:41",{"_index":12768,"title":{},"body":{"entities/GroupEntity.html":{}}}],["apps/server/src/modules/group/entity/group.entity.ts:44",{"_index":12767,"title":{},"body":{"entities/GroupEntity.html":{}}}],["apps/server/src/modules/group/entity/group.entity.ts:47",{"_index":12765,"title":{},"body":{"entities/GroupEntity.html":{}}}],["apps/server/src/modules/group/group",{"_index":12667,"title":{},"body":{"modules/GroupApiModule.html":{}}}],["apps/server/src/modules/group/group.module.ts",{"_index":12786,"title":{},"body":{"modules/GroupModule.html":{}}}],["apps/server/src/modules/group/loggable/unknown",{"_index":23090,"title":{},"body":{"classes/UnknownQueryTypeLoggableException.html":{}}}],["apps/server/src/modules/group/repo/group",{"_index":12705,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts",{"_index":12790,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts:10",{"_index":12793,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts:100",{"_index":12794,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts:13",{"_index":12797,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts:27",{"_index":12796,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts:46",{"_index":12799,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts:60",{"_index":12800,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts:75",{"_index":12801,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/service/group.service.ts",{"_index":12892,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:10",{"_index":12895,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:13",{"_index":12899,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:23",{"_index":12905,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:29",{"_index":12898,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:35",{"_index":12900,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:41",{"_index":12901,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:47",{"_index":12903,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:53",{"_index":12897,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/uc/dto/class",{"_index":4679,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["apps/server/src/modules/group/uc/dto/resolved",{"_index":18762,"title":{},"body":{"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{}}}],["apps/server/src/modules/group/uc/mapper/group",{"_index":12915,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["apps/server/src/modules/group/util/sort",{"_index":20541,"title":{},"body":{"classes/SortHelper.html":{}}}],["apps/server/src/modules/h5p",{"_index":1195,"title":{},"body":{"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"classes/ContentBodyParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"entities/H5PContent.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"entities/InstalledLibrary.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LumiUserWithContentData.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{}}}],["apps/server/src/modules/learnroom/common",{"_index":5688,"title":{},"body":{"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["apps/server/src/modules/learnroom/controller/course.controller.ts",{"_index":7517,"title":{},"body":{"controllers/CourseController.html":{}}}],["apps/server/src/modules/learnroom/controller/course.controller.ts:23",{"_index":7526,"title":{},"body":{"controllers/CourseController.html":{}}}],["apps/server/src/modules/learnroom/controller/course.controller.ts:36",{"_index":7523,"title":{},"body":{"controllers/CourseController.html":{}}}],["apps/server/src/modules/learnroom/controller/dashboard.controller.ts",{"_index":8288,"title":{},"body":{"controllers/DashboardController.html":{}}}],["apps/server/src/modules/learnroom/controller/dashboard.controller.ts:15",{"_index":8291,"title":{},"body":{"controllers/DashboardController.html":{}}}],["apps/server/src/modules/learnroom/controller/dashboard.controller.ts:22",{"_index":8296,"title":{},"body":{"controllers/DashboardController.html":{}}}],["apps/server/src/modules/learnroom/controller/dashboard.controller.ts:38",{"_index":8301,"title":{},"body":{"controllers/DashboardController.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/course",{"_index":7734,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/course.query.params.ts",{"_index":7800,"title":{},"body":{"classes/CourseQueryParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/course.query.params.ts:14",{"_index":7802,"title":{},"body":{"classes/CourseQueryParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/course.url.params.ts",{"_index":7894,"title":{},"body":{"classes/CourseUrlParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/course.url.params.ts:11",{"_index":7895,"title":{},"body":{"classes/CourseUrlParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts",{"_index":8506,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:100",{"_index":8515,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:105",{"_index":8511,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:108",{"_index":8680,"title":{},"body":{"classes/DashboardResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:118",{"_index":8682,"title":{},"body":{"classes/DashboardResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:124",{"_index":8681,"title":{},"body":{"classes/DashboardResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:16",{"_index":8530,"title":{},"body":{"classes/DashboardGridSubElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:22",{"_index":8532,"title":{},"body":{"classes/DashboardGridSubElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:27",{"_index":8531,"title":{},"body":{"classes/DashboardGridSubElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:32",{"_index":8529,"title":{},"body":{"classes/DashboardGridSubElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:35",{"_index":8510,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:4",{"_index":8528,"title":{},"body":{"classes/DashboardGridSubElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:62",{"_index":8517,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:68",{"_index":8520,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:73",{"_index":8518,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:78",{"_index":8512,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:83",{"_index":8521,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:88",{"_index":8522,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:94",{"_index":8516,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.url.params.ts",{"_index":8710,"title":{},"body":{"classes/DashboardUrlParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.url.params.ts:11",{"_index":8711,"title":{},"body":{"classes/DashboardUrlParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/lesson/lesson",{"_index":15376,"title":{},"body":{"classes/LessonCopyApiParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/lesson/lesson.url.params.ts",{"_index":15546,"title":{},"body":{"classes/LessonUrlParams-1.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/lesson/lesson.url.params.ts:11",{"_index":15547,"title":{},"body":{"classes/LessonUrlParams-1.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/move",{"_index":16386,"title":{},"body":{"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/patch",{"_index":17716,"title":{},"body":{"classes/PatchGroupParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/room",{"_index":19108,"title":{},"body":{"classes/RoomElementUrlParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/room.url.params.ts",{"_index":19111,"title":{},"body":{"classes/RoomUrlParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/room.url.params.ts:11",{"_index":19112,"title":{},"body":{"classes/RoomUrlParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/single",{"_index":3022,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusResponse.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/rooms.controller.ts",{"_index":19140,"title":{},"body":{"controllers/RoomsController.html":{}}}],["apps/server/src/modules/learnroom/controller/rooms.controller.ts:33",{"_index":19152,"title":{},"body":{"controllers/RoomsController.html":{}}}],["apps/server/src/modules/learnroom/controller/rooms.controller.ts:43",{"_index":19155,"title":{},"body":{"controllers/RoomsController.html":{}}}],["apps/server/src/modules/learnroom/controller/rooms.controller.ts:57",{"_index":19158,"title":{},"body":{"controllers/RoomsController.html":{}}}],["apps/server/src/modules/learnroom/controller/rooms.controller.ts:67",{"_index":19146,"title":{},"body":{"controllers/RoomsController.html":{}}}],["apps/server/src/modules/learnroom/controller/rooms.controller.ts:78",{"_index":19149,"title":{},"body":{"controllers/RoomsController.html":{}}}],["apps/server/src/modules/learnroom/learnroom",{"_index":15081,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["apps/server/src/modules/learnroom/learnroom.module.ts",{"_index":15095,"title":{},"body":{"modules/LearnroomModule.html":{}}}],["apps/server/src/modules/learnroom/mapper/board",{"_index":4078,"title":{},"body":{"classes/BoardTaskStatusMapper.html":{}}}],["apps/server/src/modules/learnroom/mapper/course.mapper.ts",{"_index":7720,"title":{},"body":{"classes/CourseMapper.html":{}}}],["apps/server/src/modules/learnroom/mapper/course.mapper.ts:5",{"_index":7723,"title":{},"body":{"classes/CourseMapper.html":{}}}],["apps/server/src/modules/learnroom/mapper/dashboard.mapper.ts",{"_index":8533,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["apps/server/src/modules/learnroom/mapper/dashboard.mapper.ts:16",{"_index":8537,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["apps/server/src/modules/learnroom/mapper/dashboard.mapper.ts:37",{"_index":8539,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["apps/server/src/modules/learnroom/mapper/dashboard.mapper.ts:6",{"_index":8541,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["apps/server/src/modules/learnroom/mapper/room",{"_index":19050,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["apps/server/src/modules/learnroom/service/board",{"_index":3252,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["apps/server/src/modules/learnroom/service/column",{"_index":5570,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["apps/server/src/modules/learnroom/service/common",{"_index":5697,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["apps/server/src/modules/learnroom/service/course",{"_index":7554,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["apps/server/src/modules/learnroom/service/course.service.ts",{"_index":7863,"title":{},"body":{"injectables/CourseService.html":{}}}],["apps/server/src/modules/learnroom/service/course.service.ts:10",{"_index":7873,"title":{},"body":{"injectables/CourseService.html":{}}}],["apps/server/src/modules/learnroom/service/course.service.ts:14",{"_index":7871,"title":{},"body":{"injectables/CourseService.html":{}}}],["apps/server/src/modules/learnroom/service/course.service.ts:20",{"_index":7868,"title":{},"body":{"injectables/CourseService.html":{}}}],["apps/server/src/modules/learnroom/service/course.service.ts:30",{"_index":7869,"title":{},"body":{"injectables/CourseService.html":{}}}],["apps/server/src/modules/learnroom/service/course.service.ts:7",{"_index":7866,"title":{},"body":{"injectables/CourseService.html":{}}}],["apps/server/src/modules/learnroom/service/coursegroup.service.ts",{"_index":7707,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["apps/server/src/modules/learnroom/service/coursegroup.service.ts:10",{"_index":7715,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["apps/server/src/modules/learnroom/service/coursegroup.service.ts:16",{"_index":7713,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["apps/server/src/modules/learnroom/service/coursegroup.service.ts:7",{"_index":7711,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["apps/server/src/modules/learnroom/service/rooms.service.ts",{"_index":19180,"title":{},"body":{"injectables/RoomsService.html":{}}}],["apps/server/src/modules/learnroom/service/rooms.service.ts:13",{"_index":19184,"title":{},"body":{"injectables/RoomsService.html":{}}}],["apps/server/src/modules/learnroom/service/rooms.service.ts:22",{"_index":19188,"title":{},"body":{"injectables/RoomsService.html":{}}}],["apps/server/src/modules/learnroom/service/rooms.service.ts:36",{"_index":19186,"title":{},"body":{"injectables/RoomsService.html":{}}}],["apps/server/src/modules/learnroom/uc/course",{"_index":7610,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{}}}],["apps/server/src/modules/learnroom/uc/course.uc.ts",{"_index":7879,"title":{},"body":{"injectables/CourseUc.html":{}}}],["apps/server/src/modules/learnroom/uc/course.uc.ts:12",{"_index":7883,"title":{},"body":{"injectables/CourseUc.html":{}}}],["apps/server/src/modules/learnroom/uc/course.uc.ts:9",{"_index":7881,"title":{},"body":{"injectables/CourseUc.html":{}}}],["apps/server/src/modules/learnroom/uc/dashboard.uc.ts",{"_index":8683,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["apps/server/src/modules/learnroom/uc/dashboard.uc.ts:15",{"_index":8689,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["apps/server/src/modules/learnroom/uc/dashboard.uc.ts:28",{"_index":8691,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["apps/server/src/modules/learnroom/uc/dashboard.uc.ts:43",{"_index":8693,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["apps/server/src/modules/learnroom/uc/dashboard.uc.ts:59",{"_index":8695,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["apps/server/src/modules/learnroom/uc/dashboard.uc.ts:9",{"_index":8688,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["apps/server/src/modules/learnroom/uc/lesson",{"_index":15379,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["apps/server/src/modules/learnroom/uc/room",{"_index":9591,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts",{"_index":19113,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts:11",{"_index":19121,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts:17",{"_index":19119,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts:24",{"_index":19125,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts:45",{"_index":19123,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.uc.ts",{"_index":19203,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.uc.ts:10",{"_index":19207,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.uc.ts:20",{"_index":19209,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.uc.ts:31",{"_index":19214,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.uc.ts:52",{"_index":19212,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["apps/server/src/modules/legacy",{"_index":11385,"title":{},"body":{"injectables/FederalStateService.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolService.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{}}}],["apps/server/src/modules/lesson/controller/dto/lesson.url.params.ts",{"_index":15544,"title":{},"body":{"classes/LessonUrlParams.html":{}}}],["apps/server/src/modules/lesson/controller/dto/lesson.url.params.ts:11",{"_index":15545,"title":{},"body":{"classes/LessonUrlParams.html":{}}}],["apps/server/src/modules/lesson/controller/lesson.controller.ts",{"_index":15366,"title":{},"body":{"controllers/LessonController.html":{}}}],["apps/server/src/modules/lesson/controller/lesson.controller.ts:14",{"_index":15370,"title":{},"body":{"controllers/LessonController.html":{}}}],["apps/server/src/modules/lesson/lesson",{"_index":15359,"title":{},"body":{"modules/LessonApiModule.html":{}}}],["apps/server/src/modules/lesson/lesson.module.ts",{"_index":15437,"title":{},"body":{"modules/LessonModule.html":{}}}],["apps/server/src/modules/lesson/repository/lesson",{"_index":15499,"title":{},"body":{"classes/LessonScope.html":{}}}],["apps/server/src/modules/lesson/repository/lesson.repo.ts",{"_index":15440,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["apps/server/src/modules/lesson/repository/lesson.repo.ts:12",{"_index":15449,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["apps/server/src/modules/lesson/repository/lesson.repo.ts:16",{"_index":15444,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["apps/server/src/modules/lesson/repository/lesson.repo.ts:26",{"_index":15446,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["apps/server/src/modules/lesson/repository/lesson.repo.ts:44",{"_index":15448,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["apps/server/src/modules/lesson/service/etherpad.service.ts",{"_index":9934,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["apps/server/src/modules/lesson/service/etherpad.service.ts:12",{"_index":9940,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["apps/server/src/modules/lesson/service/etherpad.service.ts:9",{"_index":9938,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["apps/server/src/modules/lesson/service/lesson.service.ts",{"_index":15504,"title":{},"body":{"injectables/LessonService.html":{}}}],["apps/server/src/modules/lesson/service/lesson.service.ts:15",{"_index":15511,"title":{},"body":{"injectables/LessonService.html":{}}}],["apps/server/src/modules/lesson/service/lesson.service.ts:21",{"_index":15518,"title":{},"body":{"injectables/LessonService.html":{}}}],["apps/server/src/modules/lesson/service/lesson.service.ts:25",{"_index":15516,"title":{},"body":{"injectables/LessonService.html":{}}}],["apps/server/src/modules/lesson/service/lesson.service.ts:29",{"_index":15515,"title":{},"body":{"injectables/LessonService.html":{}}}],["apps/server/src/modules/lesson/service/lesson.service.ts:35",{"_index":15513,"title":{},"body":{"injectables/LessonService.html":{}}}],["apps/server/src/modules/lesson/service/lesson.service.ts:9",{"_index":15509,"title":{},"body":{"injectables/LessonService.html":{}}}],["apps/server/src/modules/lesson/service/nexboard.service.ts",{"_index":16676,"title":{},"body":{"injectables/NexboardService.html":{}}}],["apps/server/src/modules/lesson/service/nexboard.service.ts:12",{"_index":16680,"title":{},"body":{"injectables/NexboardService.html":{}}}],["apps/server/src/modules/lesson/service/nexboard.service.ts:9",{"_index":16678,"title":{},"body":{"injectables/NexboardService.html":{}}}],["apps/server/src/modules/lesson/uc/lesson.uc.ts",{"_index":15531,"title":{},"body":{"injectables/LessonUC.html":{}}}],["apps/server/src/modules/lesson/uc/lesson.uc.ts:14",{"_index":15534,"title":{},"body":{"injectables/LessonUC.html":{}}}],["apps/server/src/modules/lesson/uc/lesson.uc.ts:8",{"_index":15532,"title":{},"body":{"injectables/LessonUC.html":{}}}],["apps/server/src/modules/lti",{"_index":15960,"title":{},"body":{"modules/LtiToolModule.html":{},"injectables/LtiToolService.html":{}}}],["apps/server/src/modules/management/console/board",{"_index":3767,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["apps/server/src/modules/management/console/database",{"_index":8713,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["apps/server/src/modules/management/controller/database",{"_index":8741,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["apps/server/src/modules/management/converter/bson.converter.ts",{"_index":4176,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["apps/server/src/modules/management/converter/bson.converter.ts:11",{"_index":4189,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["apps/server/src/modules/management/converter/bson.converter.ts:21",{"_index":4180,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["apps/server/src/modules/management/management",{"_index":16088,"title":{},"body":{"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{}}}],["apps/server/src/modules/management/management.module.ts",{"_index":16076,"title":{},"body":{"modules/ManagementModule.html":{}}}],["apps/server/src/modules/management/uc/board",{"_index":3793,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["apps/server/src/modules/management/uc/database",{"_index":5166,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["apps/server/src/modules/meta",{"_index":106,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"classes/GetMetaTagDataBody.html":{},"injectables/LessonUrlHandler.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/TaskUrlHandler.html":{},"interfaces/UrlHandler.html":{}}}],["apps/server/src/modules/news/controller/dto/create",{"_index":7962,"title":{},"body":{"classes/CreateNewsParams.html":{}}}],["apps/server/src/modules/news/controller/dto/filter",{"_index":12353,"title":{},"body":{"classes/FilterNewsParams.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts",{"_index":16458,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:101",{"_index":16573,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:106",{"_index":16569,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:111",{"_index":16581,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:116",{"_index":16568,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:12",{"_index":16566,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:121",{"_index":16580,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:126",{"_index":16572,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:129",{"_index":16459,"title":{},"body":{"classes/NewsListResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:51",{"_index":16571,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:56",{"_index":16579,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:61",{"_index":16567,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:66",{"_index":16570,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:73",{"_index":16574,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:78",{"_index":16575,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:85",{"_index":16578,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:91",{"_index":16577,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:96",{"_index":16576,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.url.params.ts",{"_index":16673,"title":{},"body":{"classes/NewsUrlParams.html":{}}}],["apps/server/src/modules/news/controller/dto/news.url.params.ts:11",{"_index":16675,"title":{},"body":{"classes/NewsUrlParams.html":{}}}],["apps/server/src/modules/news/controller/dto/school",{"_index":19918,"title":{},"body":{"classes/SchoolInfoResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/target",{"_index":21236,"title":{},"body":{"classes/TargetInfoResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/team.url.params.ts",{"_index":21971,"title":{},"body":{"classes/TeamUrlParams.html":{}}}],["apps/server/src/modules/news/controller/dto/team.url.params.ts:11",{"_index":21972,"title":{},"body":{"classes/TeamUrlParams.html":{}}}],["apps/server/src/modules/news/controller/dto/update",{"_index":23104,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["apps/server/src/modules/news/controller/dto/user",{"_index":23378,"title":{},"body":{"classes/UserInfoResponse.html":{}}}],["apps/server/src/modules/news/controller/news.controller.ts",{"_index":16407,"title":{},"body":{"controllers/NewsController.html":{}}}],["apps/server/src/modules/news/controller/news.controller.ts:26",{"_index":16409,"title":{},"body":{"controllers/NewsController.html":{}}}],["apps/server/src/modules/news/controller/news.controller.ts:40",{"_index":16414,"title":{},"body":{"controllers/NewsController.html":{}}}],["apps/server/src/modules/news/controller/news.controller.ts:61",{"_index":16418,"title":{},"body":{"controllers/NewsController.html":{}}}],["apps/server/src/modules/news/controller/news.controller.ts:71",{"_index":16423,"title":{},"body":{"controllers/NewsController.html":{}}}],["apps/server/src/modules/news/controller/news.controller.ts:89",{"_index":16412,"title":{},"body":{"controllers/NewsController.html":{}}}],["apps/server/src/modules/news/controller/team",{"_index":21904,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["apps/server/src/modules/news/loggable/news",{"_index":16449,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{}}}],["apps/server/src/modules/news/mapper/news.mapper.ts",{"_index":16474,"title":{},"body":{"classes/NewsMapper.html":{}}}],["apps/server/src/modules/news/mapper/news.mapper.ts:10",{"_index":16486,"title":{},"body":{"classes/NewsMapper.html":{}}}],["apps/server/src/modules/news/mapper/news.mapper.ts:39",{"_index":16482,"title":{},"body":{"classes/NewsMapper.html":{}}}],["apps/server/src/modules/news/mapper/news.mapper.ts:53",{"_index":16480,"title":{},"body":{"classes/NewsMapper.html":{}}}],["apps/server/src/modules/news/mapper/news.mapper.ts:66",{"_index":16488,"title":{},"body":{"classes/NewsMapper.html":{}}}],["apps/server/src/modules/news/mapper/news.mapper.ts:75",{"_index":16484,"title":{},"body":{"classes/NewsMapper.html":{}}}],["apps/server/src/modules/news/mapper/school",{"_index":19911,"title":{},"body":{"classes/SchoolInfoMapper.html":{}}}],["apps/server/src/modules/news/mapper/target",{"_index":21231,"title":{},"body":{"classes/TargetInfoMapper.html":{}}}],["apps/server/src/modules/news/mapper/user",{"_index":23377,"title":{},"body":{"classes/UserInfoMapper.html":{}}}],["apps/server/src/modules/news/news.module.ts",{"_index":16526,"title":{},"body":{"modules/NewsModule.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts",{"_index":16602,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:113",{"_index":16630,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:139",{"_index":16612,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:14",{"_index":16609,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:150",{"_index":16622,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:170",{"_index":16628,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:188",{"_index":16620,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:198",{"_index":16624,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:30",{"_index":16611,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:58",{"_index":16614,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:91",{"_index":16618,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/oauth",{"_index":187,"title":{},"body":{"classes/AcceptQuery.html":{},"classes/ChallengeParams.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"interfaces/GroupNameIdTuple.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/ListOauthClientsParams.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"classes/OAuthRejectableBody.html":{},"classes/OauthClientBody.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"injectables/OauthProviderUc.html":{},"classes/OidcContextResponse.html":{},"classes/RedirectResponse.html":{},"classes/RevokeConsentParams.html":{},"classes/UserParams.html":{}}}],["apps/server/src/modules/oauth/controller/dto/authorization.params.ts",{"_index":1887,"title":{},"body":{"classes/AuthorizationParams.html":{}}}],["apps/server/src/modules/oauth/controller/dto/authorization.params.ts:12",{"_index":1894,"title":{},"body":{"classes/AuthorizationParams.html":{}}}],["apps/server/src/modules/oauth/controller/dto/authorization.params.ts:16",{"_index":1895,"title":{},"body":{"classes/AuthorizationParams.html":{}}}],["apps/server/src/modules/oauth/controller/dto/authorization.params.ts:20",{"_index":1896,"title":{},"body":{"classes/AuthorizationParams.html":{}}}],["apps/server/src/modules/oauth/controller/dto/authorization.params.ts:24",{"_index":1897,"title":{},"body":{"classes/AuthorizationParams.html":{}}}],["apps/server/src/modules/oauth/controller/dto/authorization.params.ts:8",{"_index":1891,"title":{},"body":{"classes/AuthorizationParams.html":{}}}],["apps/server/src/modules/oauth/controller/dto/stateless",{"_index":20572,"title":{},"body":{"classes/StatelessAuthorizationParams.html":{}}}],["apps/server/src/modules/oauth/controller/oauth",{"_index":17452,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["apps/server/src/modules/oauth/interface/oauth",{"_index":16874,"title":{},"body":{"classes/OAuthTokenDto.html":{}}}],["apps/server/src/modules/oauth/loggable/auth",{"_index":1460,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{}}}],["apps/server/src/modules/oauth/loggable/id",{"_index":13651,"title":{},"body":{"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{}}}],["apps/server/src/modules/oauth/loggable/oauth",{"_index":17060,"title":{},"body":{"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{}}}],["apps/server/src/modules/oauth/loggable/token",{"_index":22556,"title":{},"body":{"classes/TokenRequestLoggableException.html":{}}}],["apps/server/src/modules/oauth/loggable/user",{"_index":23781,"title":{},"body":{"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["apps/server/src/modules/oauth/mapper/token",{"_index":22558,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["apps/server/src/modules/oauth/oauth",{"_index":16964,"title":{},"body":{"modules/OauthApiModule.html":{}}}],["apps/server/src/modules/oauth/oauth.module.ts",{"_index":17127,"title":{},"body":{"modules/OauthModule.html":{}}}],["apps/server/src/modules/oauth/service/dto/authentication",{"_index":1492,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["apps/server/src/modules/oauth/service/dto/cookies.dto.ts",{"_index":7052,"title":{},"body":{"classes/CookiesDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/cookies.dto.ts:2",{"_index":7056,"title":{},"body":{"classes/CookiesDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/cookies.dto.ts:4",{"_index":7055,"title":{},"body":{"classes/CookiesDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts",{"_index":13440,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:13",{"_index":13444,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:15",{"_index":13445,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:17",{"_index":13443,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:19",{"_index":13446,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:21",{"_index":13442,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:4",{"_index":13441,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/oauth",{"_index":16799,"title":{},"body":{"classes/OAuthProcessDto.html":{},"interfaces/OauthTokenResponse.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts",{"_index":13457,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts:126",{"_index":13469,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts:19",{"_index":13464,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts:27",{"_index":13478,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts:29",{"_index":13471,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts:43",{"_index":13477,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts:79",{"_index":13474,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts:99",{"_index":13467,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/oauth",{"_index":16930,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts",{"_index":16813,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:115",{"_index":16831,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:125",{"_index":16835,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:137",{"_index":16837,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:152",{"_index":16827,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:27",{"_index":16822,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:41",{"_index":16825,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:64",{"_index":16833,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:99",{"_index":16829,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/uc/hydra",{"_index":13389,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["apps/server/src/modules/provisioning/dto/external",{"_index":9950,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalUserDto.html":{}}}],["apps/server/src/modules/provisioning/dto/oauth",{"_index":17093,"title":{},"body":{"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{}}}],["apps/server/src/modules/provisioning/dto/provisioning",{"_index":18113,"title":{},"body":{"classes/ProvisioningSystemDto.html":{}}}],["apps/server/src/modules/provisioning/dto/provisioning.dto.ts",{"_index":18054,"title":{},"body":{"classes/ProvisioningDto.html":{}}}],["apps/server/src/modules/provisioning/dto/provisioning.dto.ts:2",{"_index":18056,"title":{},"body":{"classes/ProvisioningDto.html":{}}}],["apps/server/src/modules/provisioning/loggable/group",{"_index":12874,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["apps/server/src/modules/provisioning/loggable/school",{"_index":19875,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["apps/server/src/modules/provisioning/loggable/user",{"_index":23373,"title":{},"body":{"classes/UserForGroupNotFoundLoggable.html":{}}}],["apps/server/src/modules/provisioning/mapper/provisioning",{"_index":18118,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["apps/server/src/modules/provisioning/provisioning.module.ts",{"_index":18064,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts",{"_index":18070,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts:16",{"_index":18091,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts:19",{"_index":18079,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts:32",{"_index":18090,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts:36",{"_index":18083,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts:50",{"_index":18081,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts:56",{"_index":18088,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts:62",{"_index":18085,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/strategy/base.strategy.ts",{"_index":18109,"title":{},"body":{"classes/ProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/base.strategy.ts:5",{"_index":18112,"title":{},"body":{"classes/ProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/base.strategy.ts:7",{"_index":18111,"title":{},"body":{"classes/ProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/base.strategy.ts:9",{"_index":18110,"title":{},"body":{"classes/ProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/iserv/iserv",{"_index":14187,"title":{},"body":{"classes/IservMapper.html":{}}}],["apps/server/src/modules/provisioning/strategy/iserv/iserv.strategy.ts",{"_index":14204,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/iserv/iserv.strategy.ts:24",{"_index":14208,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/iserv/iserv.strategy.ts:67",{"_index":14213,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/oidc",{"_index":17537,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/oidc/oidc.strategy.ts",{"_index":17664,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/oidc/oidc.strategy.ts:9",{"_index":17666,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/oidc/service/oidc",{"_index":17548,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/response/sanis",{"_index":19420,"title":{},"body":{"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/response/sanis.response.ts",{"_index":19537,"title":{},"body":{"classes/SanisResponse.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/response/sanis.response.ts:14",{"_index":19540,"title":{},"body":{"classes/SanisResponse.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/response/sanis.response.ts:20",{"_index":19542,"title":{},"body":{"classes/SanisResponse.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/response/sanis.response.ts:9",{"_index":19543,"title":{},"body":{"classes/SanisResponse.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/sanis",{"_index":19546,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts",{"_index":19482,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts:113",{"_index":19497,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts:117",{"_index":19494,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts:129",{"_index":19491,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts:24",{"_index":19488,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts:87",{"_index":19500,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["apps/server/src/modules/pseudonym/controller/dto/pseudonym",{"_index":18184,"title":{},"body":{"classes/PseudonymParams.html":{}}}],["apps/server/src/modules/pseudonym/controller/dto/pseudonym.response.ts",{"_index":18186,"title":{},"body":{"classes/PseudonymResponse.html":{}}}],["apps/server/src/modules/pseudonym/controller/dto/pseudonym.response.ts:11",{"_index":18187,"title":{},"body":{"classes/PseudonymResponse.html":{}}}],["apps/server/src/modules/pseudonym/controller/dto/pseudonym.response.ts:5",{"_index":18188,"title":{},"body":{"classes/PseudonymResponse.html":{}}}],["apps/server/src/modules/pseudonym/controller/dto/pseudonym.response.ts:8",{"_index":18189,"title":{},"body":{"classes/PseudonymResponse.html":{}}}],["apps/server/src/modules/pseudonym/controller/pseudonym.controller.ts",{"_index":18147,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["apps/server/src/modules/pseudonym/controller/pseudonym.controller.ts:27",{"_index":18152,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["apps/server/src/modules/pseudonym/domain/pseudonym",{"_index":18203,"title":{},"body":{"interfaces/PseudonymSearchQuery.html":{}}}],["apps/server/src/modules/pseudonym/entity/external",{"_index":10498,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.entity.ts",{"_index":18167,"title":{},"body":{"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.entity.ts:18",{"_index":18168,"title":{},"body":{"entities/PseudonymEntity.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.entity.ts:21",{"_index":18169,"title":{},"body":{"entities/PseudonymEntity.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.entity.ts:24",{"_index":18170,"title":{},"body":{"entities/PseudonymEntity.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.scope.ts",{"_index":18192,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.scope.ts:13",{"_index":18201,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.scope.ts:20",{"_index":18199,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.scope.ts:6",{"_index":18197,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["apps/server/src/modules/pseudonym/loggable/too",{"_index":22570,"title":{},"body":{"classes/TooManyPseudonymsLoggableException.html":{}}}],["apps/server/src/modules/pseudonym/mapper/pseudonym.mapper.ts",{"_index":18172,"title":{},"body":{"classes/PseudonymMapper.html":{}}}],["apps/server/src/modules/pseudonym/mapper/pseudonym.mapper.ts:5",{"_index":18174,"title":{},"body":{"classes/PseudonymMapper.html":{}}}],["apps/server/src/modules/pseudonym/pseudonym",{"_index":18143,"title":{},"body":{"modules/PseudonymApiModule.html":{}}}],["apps/server/src/modules/pseudonym/pseudonym.module.ts",{"_index":18183,"title":{},"body":{"modules/PseudonymModule.html":{}}}],["apps/server/src/modules/pseudonym/repo/external",{"_index":10512,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts",{"_index":18268,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:11",{"_index":18274,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:22",{"_index":18273,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:37",{"_index":18272,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:45",{"_index":18270,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:66",{"_index":18271,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:72",{"_index":18276,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:8",{"_index":18269,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:83",{"_index":18275,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/service/feathers",{"_index":11237,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts",{"_index":18204,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:100",{"_index":18218,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:106",{"_index":18217,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:113",{"_index":18232,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:12",{"_index":18213,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:121",{"_index":18226,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:127",{"_index":18225,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:133",{"_index":18230,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:18",{"_index":18219,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:28",{"_index":18220,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:51",{"_index":18224,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:75",{"_index":18215,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:88",{"_index":18228,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:94",{"_index":18222,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/uc/pseudonym.uc.ts",{"_index":18255,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["apps/server/src/modules/pseudonym/uc/pseudonym.uc.ts:11",{"_index":18257,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["apps/server/src/modules/pseudonym/uc/pseudonym.uc.ts:18",{"_index":18259,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["apps/server/src/modules/registration",{"_index":18654,"title":{},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{}}}],["apps/server/src/modules/rocketchat",{"_index":18883,"title":{},"body":{"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"modules/RocketChatUserModule.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{}}}],["apps/server/src/modules/rocketchat/rocket",{"_index":1051,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{}}}],["apps/server/src/modules/role/mapper/role.mapper.ts",{"_index":18976,"title":{},"body":{"classes/RoleMapper.html":{}}}],["apps/server/src/modules/role/mapper/role.mapper.ts:13",{"_index":18980,"title":{},"body":{"classes/RoleMapper.html":{}}}],["apps/server/src/modules/role/mapper/role.mapper.ts:5",{"_index":18983,"title":{},"body":{"classes/RoleMapper.html":{}}}],["apps/server/src/modules/role/role.module.ts",{"_index":18992,"title":{},"body":{"modules/RoleModule.html":{}}}],["apps/server/src/modules/role/service/dto/role.dto.ts",{"_index":18971,"title":{},"body":{"classes/RoleDto.html":{}}}],["apps/server/src/modules/role/service/dto/role.dto.ts:5",{"_index":18973,"title":{},"body":{"classes/RoleDto.html":{}}}],["apps/server/src/modules/role/service/dto/role.dto.ts:7",{"_index":18974,"title":{},"body":{"classes/RoleDto.html":{}}}],["apps/server/src/modules/role/service/dto/role.dto.ts:9",{"_index":18972,"title":{},"body":{"classes/RoleDto.html":{}}}],["apps/server/src/modules/role/service/role.service.ts",{"_index":19023,"title":{},"body":{"injectables/RoleService.html":{}}}],["apps/server/src/modules/role/service/role.service.ts:10",{"_index":19026,"title":{},"body":{"injectables/RoleService.html":{}}}],["apps/server/src/modules/role/service/role.service.ts:13",{"_index":19030,"title":{},"body":{"injectables/RoleService.html":{}}}],["apps/server/src/modules/role/service/role.service.ts:18",{"_index":19027,"title":{},"body":{"injectables/RoleService.html":{}}}],["apps/server/src/modules/role/service/role.service.ts:24",{"_index":19028,"title":{},"body":{"injectables/RoleService.html":{}}}],["apps/server/src/modules/role/service/role.service.ts:30",{"_index":19029,"title":{},"body":{"injectables/RoleService.html":{}}}],["apps/server/src/modules/role/uc/role.uc.ts",{"_index":19041,"title":{},"body":{"injectables/RoleUc.html":{}}}],["apps/server/src/modules/role/uc/role.uc.ts:10",{"_index":19044,"title":{},"body":{"injectables/RoleUc.html":{}}}],["apps/server/src/modules/role/uc/role.uc.ts:7",{"_index":19043,"title":{},"body":{"injectables/RoleUc.html":{}}}],["apps/server/src/modules/server/admin",{"_index":1012,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{}}}],["apps/server/src/modules/server/controller/server.controller.ts",{"_index":20153,"title":{},"body":{"controllers/ServerController.html":{}}}],["apps/server/src/modules/server/controller/server.controller.ts:7",{"_index":20154,"title":{},"body":{"controllers/ServerController.html":{}}}],["apps/server/src/modules/server/server.config.ts",{"_index":20107,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["apps/server/src/modules/server/server.module.ts",{"_index":20158,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["apps/server/src/modules/server/server.module.ts:155",{"_index":20161,"title":{},"body":{"modules/ServerModule.html":{}}}],["apps/server/src/modules/server/server.module.ts:186",{"_index":20235,"title":{},"body":{"modules/ServerTestModule.html":{}}}],["apps/server/src/modules/server/server.module.ts:190",{"_index":20236,"title":{},"body":{"modules/ServerTestModule.html":{}}}],["apps/server/src/modules/sharing/controller/dto/share",{"_index":20257,"title":{},"body":{"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenPayloadResponse.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenUrlParams.html":{}}}],["apps/server/src/modules/sharing/controller/share",{"_index":20276,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["apps/server/src/modules/sharing/domainobject/share",{"_index":20322,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["apps/server/src/modules/sharing/entity/share",{"_index":20242,"title":{},"body":{"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["apps/server/src/modules/sharing/mapper/context",{"_index":20273,"title":{},"body":{"classes/ShareTokenContextTypeMapper.html":{}}}],["apps/server/src/modules/sharing/mapper/metadata",{"_index":16279,"title":{},"body":{"classes/MetadataTypeMapper.html":{}}}],["apps/server/src/modules/sharing/mapper/parent",{"_index":20364,"title":{},"body":{"classes/ShareTokenParentTypeMapper.html":{}}}],["apps/server/src/modules/sharing/mapper/share",{"_index":20358,"title":{},"body":{"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenResponseMapper.html":{}}}],["apps/server/src/modules/sharing/repo/share",{"_index":20376,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["apps/server/src/modules/sharing/service/share",{"_index":20410,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["apps/server/src/modules/sharing/service/token",{"_index":22552,"title":{},"body":{"injectables/TokenGenerator.html":{}}}],["apps/server/src/modules/sharing/sharing.module.ts",{"_index":20517,"title":{},"body":{"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["apps/server/src/modules/sharing/uc/dto/share",{"_index":20350,"title":{},"body":{"interfaces/ShareTokenInfoDto.html":{}}}],["apps/server/src/modules/sharing/uc/share",{"_index":20440,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["apps/server/src/modules/system/controller/dto/oauth",{"_index":17064,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["apps/server/src/modules/system/controller/dto/public",{"_index":18285,"title":{},"body":{"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{}}}],["apps/server/src/modules/system/controller/dto/system",{"_index":21136,"title":{},"body":{"classes/SystemIdParams.html":{}}}],["apps/server/src/modules/system/controller/dto/system.filter.params.ts",{"_index":21129,"title":{},"body":{"classes/SystemFilterParams.html":{}}}],["apps/server/src/modules/system/controller/dto/system.filter.params.ts:10",{"_index":21134,"title":{},"body":{"classes/SystemFilterParams.html":{}}}],["apps/server/src/modules/system/controller/dto/system.filter.params.ts:16",{"_index":21132,"title":{},"body":{"classes/SystemFilterParams.html":{}}}],["apps/server/src/modules/system/controller/mapper/system",{"_index":21181,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["apps/server/src/modules/system/controller/system.controller.ts",{"_index":21019,"title":{},"body":{"controllers/SystemController.html":{}}}],["apps/server/src/modules/system/controller/system.controller.ts:21",{"_index":21032,"title":{},"body":{"controllers/SystemController.html":{}}}],["apps/server/src/modules/system/controller/system.controller.ts:36",{"_index":21037,"title":{},"body":{"controllers/SystemController.html":{}}}],["apps/server/src/modules/system/controller/system.controller.ts:50",{"_index":21026,"title":{},"body":{"controllers/SystemController.html":{}}}],["apps/server/src/modules/system/domain/ldap",{"_index":14869,"title":{},"body":{"classes/LdapConfig.html":{}}}],["apps/server/src/modules/system/domain/oauth",{"_index":17006,"title":{},"body":{"classes/OauthConfig.html":{}}}],["apps/server/src/modules/system/domain/system.do.ts",{"_index":21005,"title":{},"body":{"classes/System.html":{},"interfaces/SystemProps.html":{}}}],["apps/server/src/modules/system/domain/system.do.ts:25",{"_index":21007,"title":{},"body":{"classes/System.html":{}}}],["apps/server/src/modules/system/mapper/system",{"_index":21153,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["apps/server/src/modules/system/mapper/system.mapper.ts",{"_index":21137,"title":{},"body":{"classes/SystemMapper.html":{}}}],["apps/server/src/modules/system/mapper/system.mapper.ts:20",{"_index":21143,"title":{},"body":{"classes/SystemMapper.html":{}}}],["apps/server/src/modules/system/mapper/system.mapper.ts:39",{"_index":21140,"title":{},"body":{"classes/SystemMapper.html":{}}}],["apps/server/src/modules/system/mapper/system.mapper.ts:6",{"_index":21141,"title":{},"body":{"classes/SystemMapper.html":{}}}],["apps/server/src/modules/system/repo/system",{"_index":21059,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["apps/server/src/modules/system/repo/system.repo.ts",{"_index":21174,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["apps/server/src/modules/system/repo/system.repo.ts:12",{"_index":21177,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["apps/server/src/modules/system/repo/system.repo.ts:26",{"_index":21176,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["apps/server/src/modules/system/repo/system.repo.ts:9",{"_index":21175,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["apps/server/src/modules/system/service/dto/oauth",{"_index":17031,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["apps/server/src/modules/system/service/dto/oidc",{"_index":17483,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts",{"_index":21076,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:10",{"_index":21086,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:12",{"_index":21079,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:14",{"_index":21080,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:16",{"_index":21083,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:18",{"_index":21084,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:20",{"_index":21082,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:22",{"_index":21078,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:6",{"_index":21081,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:8",{"_index":21085,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/legacy",{"_index":15301,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["apps/server/src/modules/system/service/system",{"_index":21166,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["apps/server/src/modules/system/service/system.service.ts",{"_index":21213,"title":{},"body":{"injectables/SystemService.html":{}}}],["apps/server/src/modules/system/service/system.service.ts:10",{"_index":21216,"title":{},"body":{"injectables/SystemService.html":{}}}],["apps/server/src/modules/system/service/system.service.ts:16",{"_index":21215,"title":{},"body":{"injectables/SystemService.html":{}}}],["apps/server/src/modules/system/service/system.service.ts:7",{"_index":21214,"title":{},"body":{"injectables/SystemService.html":{}}}],["apps/server/src/modules/system/system",{"_index":21014,"title":{},"body":{"modules/SystemApiModule.html":{}}}],["apps/server/src/modules/system/system.module.ts",{"_index":21150,"title":{},"body":{"modules/SystemModule.html":{}}}],["apps/server/src/modules/system/uc/system.uc.ts",{"_index":21218,"title":{},"body":{"injectables/SystemUc.html":{}}}],["apps/server/src/modules/system/uc/system.uc.ts:12",{"_index":21220,"title":{},"body":{"injectables/SystemUc.html":{}}}],["apps/server/src/modules/system/uc/system.uc.ts:19",{"_index":21223,"title":{},"body":{"injectables/SystemUc.html":{}}}],["apps/server/src/modules/system/uc/system.uc.ts:33",{"_index":21224,"title":{},"body":{"injectables/SystemUc.html":{}}}],["apps/server/src/modules/system/uc/system.uc.ts:43",{"_index":21221,"title":{},"body":{"injectables/SystemUc.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts",{"_index":20951,"title":{},"body":{"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:14",{"_index":20958,"title":{},"body":{"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:17",{"_index":20961,"title":{},"body":{"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:20",{"_index":20960,"title":{},"body":{"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:23",{"_index":20957,"title":{},"body":{"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:26",{"_index":20959,"title":{},"body":{"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:29",{"_index":20962,"title":{},"body":{"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:3",{"_index":20956,"title":{},"body":{"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:32",{"_index":20952,"title":{},"body":{"classes/SubmissionStatusListResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:38",{"_index":20953,"title":{},"body":{"classes/SubmissionStatusListResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.url.params.ts",{"_index":20981,"title":{},"body":{"classes/SubmissionUrlParams.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.url.params.ts:11",{"_index":20982,"title":{},"body":{"classes/SubmissionUrlParams.html":{}}}],["apps/server/src/modules/task/controller/dto/task",{"_index":21411,"title":{},"body":{"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskStatusResponse.html":{},"classes/TaskUpdateParams.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts",{"_index":21509,"title":{},"body":{"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:22",{"_index":21676,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:26",{"_index":21679,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:29",{"_index":21668,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:32",{"_index":21675,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:36",{"_index":21670,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:39",{"_index":21678,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:42",{"_index":21669,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:49",{"_index":21673,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:52",{"_index":21677,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:55",{"_index":21674,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:58",{"_index":21671,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:61",{"_index":21681,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:64",{"_index":21680,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:67",{"_index":21510,"title":{},"body":{"classes/TaskListResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:9",{"_index":21667,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.url.params.ts",{"_index":21850,"title":{},"body":{"classes/TaskUrlParams.html":{}}}],["apps/server/src/modules/task/controller/dto/task.url.params.ts:11",{"_index":21851,"title":{},"body":{"classes/TaskUrlParams.html":{}}}],["apps/server/src/modules/task/controller/submission.controller.ts",{"_index":20728,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["apps/server/src/modules/task/controller/submission.controller.ts:15",{"_index":20736,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["apps/server/src/modules/task/controller/submission.controller.ts:29",{"_index":20732,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts",{"_index":21361,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:100",{"_index":21370,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:22",{"_index":21371,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:30",{"_index":21374,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:37",{"_index":21376,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:54",{"_index":21379,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:63",{"_index":21382,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:72",{"_index":21385,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:85",{"_index":21368,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/mapper/submission.mapper.ts",{"_index":20870,"title":{},"body":{"classes/SubmissionMapper.html":{}}}],["apps/server/src/modules/task/mapper/submission.mapper.ts:5",{"_index":20873,"title":{},"body":{"classes/SubmissionMapper.html":{}}}],["apps/server/src/modules/task/mapper/task",{"_index":21748,"title":{},"body":{"classes/TaskStatusMapper.html":{}}}],["apps/server/src/modules/task/mapper/task.mapper.ts",{"_index":21516,"title":{},"body":{"classes/TaskMapper.html":{}}}],["apps/server/src/modules/task/mapper/task.mapper.ts:40",{"_index":21523,"title":{},"body":{"classes/TaskMapper.html":{}}}],["apps/server/src/modules/task/mapper/task.mapper.ts:55",{"_index":21520,"title":{},"body":{"classes/TaskMapper.html":{}}}],["apps/server/src/modules/task/mapper/task.mapper.ts:7",{"_index":21525,"title":{},"body":{"classes/TaskMapper.html":{}}}],["apps/server/src/modules/task/service/submission.service.ts",{"_index":20935,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["apps/server/src/modules/task/service/submission.service.ts:14",{"_index":20945,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["apps/server/src/modules/task/service/submission.service.ts:18",{"_index":20942,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["apps/server/src/modules/task/service/submission.service.ts:24",{"_index":20940,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["apps/server/src/modules/task/service/submission.service.ts:8",{"_index":20938,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["apps/server/src/modules/task/service/task",{"_index":21413,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["apps/server/src/modules/task/service/task.service.ts",{"_index":21732,"title":{},"body":{"injectables/TaskService.html":{}}}],["apps/server/src/modules/task/service/task.service.ts:10",{"_index":21734,"title":{},"body":{"injectables/TaskService.html":{}}}],["apps/server/src/modules/task/service/task.service.ts:17",{"_index":21741,"title":{},"body":{"injectables/TaskService.html":{}}}],["apps/server/src/modules/task/service/task.service.ts:26",{"_index":21736,"title":{},"body":{"injectables/TaskService.html":{}}}],["apps/server/src/modules/task/service/task.service.ts:34",{"_index":21738,"title":{},"body":{"injectables/TaskService.html":{}}}],["apps/server/src/modules/task/service/task.service.ts:41",{"_index":21740,"title":{},"body":{"injectables/TaskService.html":{}}}],["apps/server/src/modules/task/task",{"_index":21355,"title":{},"body":{"modules/TaskApiModule.html":{}}}],["apps/server/src/modules/task/task.module.ts",{"_index":21557,"title":{},"body":{"modules/TaskModule.html":{}}}],["apps/server/src/modules/task/uc/submission.uc.ts",{"_index":20963,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["apps/server/src/modules/task/uc/submission.uc.ts:15",{"_index":20971,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["apps/server/src/modules/task/uc/submission.uc.ts:24",{"_index":20967,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["apps/server/src/modules/task/uc/submission.uc.ts:41",{"_index":20969,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["apps/server/src/modules/task/uc/submission.uc.ts:9",{"_index":20966,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["apps/server/src/modules/task/uc/task",{"_index":21447,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts",{"_index":21759,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:102",{"_index":21784,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:11",{"_index":21765,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:118",{"_index":21774,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:147",{"_index":21776,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:177",{"_index":21780,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:189",{"_index":21782,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:20",{"_index":21772,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:210",{"_index":21777,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:217",{"_index":21768,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:61",{"_index":21770,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:77",{"_index":21767,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/teams/service/team.service.ts",{"_index":21956,"title":{},"body":{"injectables/TeamService.html":{}}}],["apps/server/src/modules/teams/service/team.service.ts:10",{"_index":21964,"title":{},"body":{"injectables/TeamService.html":{}}}],["apps/server/src/modules/teams/service/team.service.ts:16",{"_index":21962,"title":{},"body":{"injectables/TeamService.html":{}}}],["apps/server/src/modules/teams/service/team.service.ts:7",{"_index":21960,"title":{},"body":{"injectables/TeamService.html":{}}}],["apps/server/src/modules/teams/teams",{"_index":22001,"title":{},"body":{"modules/TeamsApiModule.html":{}}}],["apps/server/src/modules/teams/teams.module.ts",{"_index":22006,"title":{},"body":{"modules/TeamsModule.html":{}}}],["apps/server/src/modules/tldraw",{"_index":9550,"title":{},"body":{"injectables/DrawingElementAdapterService.html":{},"modules/TldrawClientModule.html":{}}}],["apps/server/src/modules/tldraw/config.ts",{"_index":22279,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["apps/server/src/modules/tldraw/controller/tldraw.controller.ts",{"_index":22298,"title":{},"body":{"controllers/TldrawController.html":{}}}],["apps/server/src/modules/tldraw/controller/tldraw.controller.ts:19",{"_index":22305,"title":{},"body":{"controllers/TldrawController.html":{}}}],["apps/server/src/modules/tldraw/controller/tldraw.params.ts",{"_index":22314,"title":{},"body":{"classes/TldrawDeleteParams.html":{}}}],["apps/server/src/modules/tldraw/controller/tldraw.params.ts:11",{"_index":22315,"title":{},"body":{"classes/TldrawDeleteParams.html":{}}}],["apps/server/src/modules/tldraw/controller/tldraw.ws.ts",{"_index":22371,"title":{},"body":{"classes/TldrawWs.html":{}}}],["apps/server/src/modules/tldraw/controller/tldraw.ws.ts:11",{"_index":22377,"title":{},"body":{"classes/TldrawWs.html":{}}}],["apps/server/src/modules/tldraw/controller/tldraw.ws.ts:18",{"_index":22383,"title":{},"body":{"classes/TldrawWs.html":{}}}],["apps/server/src/modules/tldraw/controller/tldraw.ws.ts:31",{"_index":22379,"title":{},"body":{"classes/TldrawWs.html":{}}}],["apps/server/src/modules/tldraw/controller/tldraw.ws.ts:44",{"_index":22381,"title":{},"body":{"classes/TldrawWs.html":{}}}],["apps/server/src/modules/tldraw/domain/ws",{"_index":24350,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["apps/server/src/modules/tldraw/entities/tldraw",{"_index":22317,"title":{},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["apps/server/src/modules/tldraw/repo/tldraw",{"_index":22206,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["apps/server/src/modules/tldraw/repo/tldraw.repo.ts",{"_index":22342,"title":{},"body":{"injectables/TldrawRepo.html":{}}}],["apps/server/src/modules/tldraw/repo/tldraw.repo.ts:13",{"_index":22349,"title":{},"body":{"injectables/TldrawRepo.html":{}}}],["apps/server/src/modules/tldraw/repo/tldraw.repo.ts:17",{"_index":22347,"title":{},"body":{"injectables/TldrawRepo.html":{}}}],["apps/server/src/modules/tldraw/repo/tldraw.repo.ts:6",{"_index":22344,"title":{},"body":{"injectables/TldrawRepo.html":{}}}],["apps/server/src/modules/tldraw/repo/tldraw.repo.ts:9",{"_index":22345,"title":{},"body":{"injectables/TldrawRepo.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.service.ts",{"_index":22353,"title":{},"body":{"injectables/TldrawService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.service.ts:5",{"_index":22355,"title":{},"body":{"injectables/TldrawService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.service.ts:8",{"_index":22357,"title":{},"body":{"injectables/TldrawService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts",{"_index":22418,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:102",{"_index":22434,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:113",{"_index":22438,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:14",{"_index":22452,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:146",{"_index":22447,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:16",{"_index":22451,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:18",{"_index":22428,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:202",{"_index":22448,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:206",{"_index":22431,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:27",{"_index":22444,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:35",{"_index":22430,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:65",{"_index":22441,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:85",{"_index":22450,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/testing/test",{"_index":22146,"title":{},"body":{"classes/TestConnection.html":{}}}],["apps/server/src/modules/tldraw/tldraw",{"_index":22366,"title":{},"body":{"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["apps/server/src/modules/tldraw/tldraw.module.ts",{"_index":22339,"title":{},"body":{"modules/TldrawModule.html":{}}}],["apps/server/src/modules/tool/common/common",{"_index":6037,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["apps/server/src/modules/tool/common/controller/dto/context",{"_index":6683,"title":{},"body":{"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{}}}],["apps/server/src/modules/tool/common/domain/context",{"_index":6674,"title":{},"body":{"classes/ContextExternalToolConfigurationStatus.html":{}}}],["apps/server/src/modules/tool/common/domain/custom",{"_index":8133,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntry.html":{}}}],["apps/server/src/modules/tool/common/entity/custom",{"_index":8176,"title":{},"body":{"classes/CustomParameterEntryEntity.html":{}}}],["apps/server/src/modules/tool/common/interface/external",{"_index":10878,"title":{},"body":{"interfaces/ExternalToolSearchQuery.html":{}}}],["apps/server/src/modules/tool/common/interface/tool",{"_index":23074,"title":{},"body":{"interfaces/ToolVersion.html":{}}}],["apps/server/src/modules/tool/common/mapper/tool",{"_index":22721,"title":{},"body":{"classes/ToolContextMapper.html":{},"classes/ToolStatusResponseMapper.html":{}}}],["apps/server/src/modules/tool/common/service/common",{"_index":6043,"title":{},"body":{"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{}}}],["apps/server/src/modules/tool/common/uc/tool",{"_index":22928,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["apps/server/src/modules/tool/context",{"_index":6638,"title":{},"body":{"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolIdParams.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"controllers/ToolContextController.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"injectables/ToolVersionService.html":{}}}],["apps/server/src/modules/tool/external",{"_index":2682,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextRefParams.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolCreateParams.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolIdParams-1.html":{},"classes/SortExternalToolParams.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{}}}],["apps/server/src/modules/tool/school",{"_index":8180,"title":{},"body":{"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"controllers/ToolSchoolController.html":{}}}],["apps/server/src/modules/tool/tool",{"_index":1756,"title":{},"body":{"classes/AuthenticationValues.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BasicToolLaunchStrategy.html":{},"interfaces/IToolFeatures.html":{},"injectables/Lti11EncryptionService.html":{},"classes/LtiRoleMapper.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PropertyData.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"classes/ToolStatusOutdatedLoggableException.html":{}}}],["apps/server/src/modules/tool/tool.module.ts",{"_index":22927,"title":{},"body":{"modules/ToolModule.html":{}}}],["apps/server/src/modules/user",{"_index":4938,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterUserParams.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"modules/ImportUserModule.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/Oauth2MigrationParams.html":{},"classes/PageContentDto.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RoleNameMapper.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SortImportUserParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["apps/server/src/modules/user/controller/dto/resolved",{"_index":18783,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["apps/server/src/modules/user/controller/dto/user.params.ts",{"_index":4550,"title":{},"body":{"classes/ChangeLanguageParams.html":{}}}],["apps/server/src/modules/user/controller/dto/user.params.ts:8",{"_index":4553,"title":{},"body":{"classes/ChangeLanguageParams.html":{}}}],["apps/server/src/modules/user/controller/dto/user.response.ts",{"_index":20992,"title":{},"body":{"classes/SuccessfulResponse.html":{}}}],["apps/server/src/modules/user/controller/dto/user.response.ts:3",{"_index":20994,"title":{},"body":{"classes/SuccessfulResponse.html":{}}}],["apps/server/src/modules/user/controller/dto/user.response.ts:9",{"_index":20995,"title":{},"body":{"classes/SuccessfulResponse.html":{}}}],["apps/server/src/modules/user/controller/user.controller.ts",{"_index":23184,"title":{},"body":{"controllers/UserController.html":{}}}],["apps/server/src/modules/user/controller/user.controller.ts:15",{"_index":23191,"title":{},"body":{"controllers/UserController.html":{}}}],["apps/server/src/modules/user/controller/user.controller.ts:25",{"_index":23188,"title":{},"body":{"controllers/UserController.html":{}}}],["apps/server/src/modules/user/interfaces/user",{"_index":23183,"title":{},"body":{"interfaces/UserConfig.html":{}}}],["apps/server/src/modules/user/mapper/resolved",{"_index":18772,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["apps/server/src/modules/user/mapper/user.mapper.ts",{"_index":23707,"title":{},"body":{"classes/UserMapper.html":{}}}],["apps/server/src/modules/user/mapper/user.mapper.ts:5",{"_index":23708,"title":{},"body":{"classes/UserMapper.html":{}}}],["apps/server/src/modules/user/service/user.service.ts",{"_index":23871,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:111",{"_index":23898,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:120",{"_index":23879,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:126",{"_index":23880,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:132",{"_index":23889,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:22",{"_index":23877,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:31",{"_index":23895,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:41",{"_index":23893,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:48",{"_index":23891,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:57",{"_index":23883,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:63",{"_index":23884,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:69",{"_index":23900,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:75",{"_index":23902,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:81",{"_index":23886,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:87",{"_index":23882,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:93",{"_index":23881,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:99",{"_index":23888,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts",{"_index":23332,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:21",{"_index":23339,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:23",{"_index":23335,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:25",{"_index":23337,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:27",{"_index":23342,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:29",{"_index":23346,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:31",{"_index":23347,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:33",{"_index":23343,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:35",{"_index":23336,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:37",{"_index":23340,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:39",{"_index":23338,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:4",{"_index":23334,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:42",{"_index":23345,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:44",{"_index":23341,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:46",{"_index":23344,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/user.uc.ts",{"_index":23934,"title":{},"body":{"injectables/UserUc.html":{}}}],["apps/server/src/modules/user/uc/user.uc.ts:10",{"_index":23936,"title":{},"body":{"injectables/UserUc.html":{}}}],["apps/server/src/modules/user/uc/user.uc.ts:13",{"_index":23940,"title":{},"body":{"injectables/UserUc.html":{}}}],["apps/server/src/modules/user/uc/user.uc.ts:20",{"_index":23938,"title":{},"body":{"injectables/UserUc.html":{}}}],["apps/server/src/modules/user/uc/user.uc.ts:26",{"_index":23941,"title":{},"body":{"injectables/UserUc.html":{}}}],["apps/server/src/modules/user/user",{"_index":23180,"title":{},"body":{"modules/UserApiModule.html":{}}}],["apps/server/src/modules/user/user.module.ts",{"_index":23776,"title":{},"body":{"modules/UserModule.html":{}}}],["apps/server/src/modules/video",{"_index":2137,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"classes/Builder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"interfaces/IBbbSettings.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"classes/VideoConference-1.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["apps/server/src/shared/common/error/api",{"_index":1352,"title":{},"body":{"classes/ApiValidationError.html":{}}}],["apps/server/src/shared/common/error/authorization.error.ts",{"_index":1795,"title":{},"body":{"classes/AuthorizationError.html":{}}}],["apps/server/src/shared/common/error/authorization.error.ts:4",{"_index":1797,"title":{},"body":{"classes/AuthorizationError.html":{}}}],["apps/server/src/shared/common/error/business.error.ts",{"_index":4201,"title":{},"body":{"classes/BusinessError.html":{}}}],["apps/server/src/shared/common/error/business.error.ts:12",{"_index":4208,"title":{},"body":{"classes/BusinessError.html":{}}}],["apps/server/src/shared/common/error/business.error.ts:15",{"_index":4211,"title":{},"body":{"classes/BusinessError.html":{}}}],["apps/server/src/shared/common/error/business.error.ts:18",{"_index":4210,"title":{},"body":{"classes/BusinessError.html":{}}}],["apps/server/src/shared/common/error/business.error.ts:21",{"_index":4209,"title":{},"body":{"classes/BusinessError.html":{}}}],["apps/server/src/shared/common/error/business.error.ts:25",{"_index":4207,"title":{},"body":{"classes/BusinessError.html":{}}}],["apps/server/src/shared/common/error/business.error.ts:47",{"_index":4212,"title":{},"body":{"classes/BusinessError.html":{}}}],["apps/server/src/shared/common/error/entity",{"_index":9802,"title":{},"body":{"classes/EntityNotFoundError.html":{}}}],["apps/server/src/shared/common/error/forbidden",{"_index":12375,"title":{},"body":{"classes/ForbiddenOperationError.html":{}}}],["apps/server/src/shared/common/error/user",{"_index":23162,"title":{},"body":{"classes/UserAlreadyAssignedToImportUserError.html":{}}}],["apps/server/src/shared/common/error/validation.error.ts",{"_index":23947,"title":{},"body":{"classes/ValidationError.html":{}}}],["apps/server/src/shared/common/error/validation.error.ts:4",{"_index":23948,"title":{},"body":{"classes/ValidationError.html":{}}}],["apps/server/src/shared/common/interceptor/duration",{"_index":9690,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["apps/server/src/shared/common/interceptor/interfaces/interceptor",{"_index":14156,"title":{},"body":{"interfaces/InterceptorConfig.html":{}}}],["apps/server/src/shared/common/interceptor/request",{"_index":18747,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["apps/server/src/shared/common/interceptor/timeout.interceptor.ts",{"_index":22184,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["apps/server/src/shared/common/interceptor/timeout.interceptor.ts:11",{"_index":22188,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["apps/server/src/shared/common/interceptor/timeout.interceptor.ts:14",{"_index":22189,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["apps/server/src/shared/common/loggable",{"_index":16783,"title":{},"body":{"classes/NotFoundLoggableException.html":{},"classes/ValidationErrorLoggableException.html":{}}}],["apps/server/src/shared/common/loggable/referenced",{"_index":18618,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["apps/server/src/shared/common/utils/converter.util.ts",{"_index":7043,"title":{},"body":{"injectables/ConverterUtil.html":{}}}],["apps/server/src/shared/common/utils/converter.util.ts:9",{"_index":7046,"title":{},"body":{"injectables/ConverterUtil.html":{}}}],["apps/server/src/shared/common/utils/guard",{"_index":12988,"title":{},"body":{"classes/GuardAgainst.html":{}}}],["apps/server/src/shared/common/validator/string.validator.ts",{"_index":20622,"title":{},"body":{"classes/StringValidator.html":{}}}],["apps/server/src/shared/common/validator/string.validator.ts:10",{"_index":20625,"title":{},"body":{"classes/StringValidator.html":{}}}],["apps/server/src/shared/common/validator/string.validator.ts:2",{"_index":20627,"title":{},"body":{"classes/StringValidator.html":{}}}],["apps/server/src/shared/controller/dto/pagination.params.ts",{"_index":17696,"title":{},"body":{"classes/PaginationParams.html":{}}}],["apps/server/src/shared/controller/dto/pagination.params.ts:14",{"_index":17697,"title":{},"body":{"classes/PaginationParams.html":{}}}],["apps/server/src/shared/controller/dto/pagination.params.ts:8",{"_index":17698,"title":{},"body":{"classes/PaginationParams.html":{}}}],["apps/server/src/shared/controller/dto/pagination.response.ts",{"_index":17700,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["apps/server/src/shared/controller/dto/pagination.response.ts:11",{"_index":17703,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["apps/server/src/shared/controller/dto/pagination.response.ts:14",{"_index":17706,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["apps/server/src/shared/controller/dto/pagination.response.ts:17",{"_index":17705,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["apps/server/src/shared/controller/dto/pagination.response.ts:20",{"_index":17704,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["apps/server/src/shared/controller/dto/pagination.response.ts:3",{"_index":17702,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["apps/server/src/shared/controller/dto/sorting.params.ts",{"_index":20550,"title":{},"body":{"classes/SortingParams.html":{}}}],["apps/server/src/shared/controller/dto/sorting.params.ts:13",{"_index":20551,"title":{},"body":{"classes/SortingParams.html":{}}}],["apps/server/src/shared/controller/dto/sorting.params.ts:18",{"_index":20553,"title":{},"body":{"classes/SortingParams.html":{}}}],["apps/server/src/shared/domain/domain",{"_index":1768,"title":{},"body":{"interfaces/AuthorizableObject.html":{},"classes/DomainObject.html":{}}}],["apps/server/src/shared/domain/domainobject/base.do.ts",{"_index":2433,"title":{},"body":{"classes/BaseDO.html":{}}}],["apps/server/src/shared/domain/domainobject/base.do.ts:5",{"_index":2435,"title":{},"body":{"classes/BaseDO.html":{}}}],["apps/server/src/shared/domain/domainobject/board/board",{"_index":3040,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/card.do.ts",{"_index":4311,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/card.do.ts:11",{"_index":4319,"title":{},"body":{"classes/Card.html":{}}}],["apps/server/src/shared/domain/domainobject/board/card.do.ts:15",{"_index":4321,"title":{},"body":{"classes/Card.html":{}}}],["apps/server/src/shared/domain/domainobject/board/card.do.ts:19",{"_index":4323,"title":{},"body":{"classes/Card.html":{}}}],["apps/server/src/shared/domain/domainobject/board/card.do.ts:23",{"_index":4325,"title":{},"body":{"classes/Card.html":{}}}],["apps/server/src/shared/domain/domainobject/board/column",{"_index":5399,"title":{},"body":{"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/column.do.ts",{"_index":5390,"title":{},"body":{"classes/Column.html":{},"interfaces/ColumnProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/column.do.ts:10",{"_index":5394,"title":{},"body":{"classes/Column.html":{}}}],["apps/server/src/shared/domain/domainobject/board/column.do.ts:6",{"_index":5393,"title":{},"body":{"classes/Column.html":{}}}],["apps/server/src/shared/domain/domainobject/board/content",{"_index":6349,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["apps/server/src/shared/domain/domainobject/board/drawing",{"_index":9536,"title":{},"body":{"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/external",{"_index":10196,"title":{},"body":{"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/file",{"_index":11439,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/link",{"_index":15594,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/rich",{"_index":18829,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/submission",{"_index":20695,"title":{},"body":{"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"interfaces/SubmissionItemProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/types/board",{"_index":3094,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/BoardExternalReference.html":{},"interfaces/UserBoardRoles.html":{}}}],["apps/server/src/shared/domain/domainobject/external",{"_index":9998,"title":{},"body":{"classes/ExternalSource.html":{}}}],["apps/server/src/shared/domain/domainobject/legacy",{"_index":15135,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts",{"_index":8103,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:17",{"_index":15934,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:19",{"_index":15943,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:21",{"_index":15930,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:23",{"_index":15941,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:25",{"_index":15931,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:27",{"_index":15932,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:29",{"_index":15933,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:31",{"_index":15939,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:33",{"_index":15940,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:35",{"_index":15938,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:37",{"_index":15925,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:39",{"_index":15929,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:41",{"_index":15928,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:43",{"_index":15937,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:45",{"_index":15935,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:47",{"_index":15926,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:49",{"_index":15942,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:51",{"_index":15936,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:53",{"_index":15927,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:55",{"_index":15924,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:6",{"_index":8106,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:8",{"_index":8105,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{}}}],["apps/server/src/shared/domain/domainobject/page.ts",{"_index":17681,"title":{},"body":{"classes/Page.html":{}}}],["apps/server/src/shared/domain/domainobject/page.ts:2",{"_index":17683,"title":{},"body":{"classes/Page.html":{}}}],["apps/server/src/shared/domain/domainobject/page.ts:4",{"_index":17682,"title":{},"body":{"classes/Page.html":{}}}],["apps/server/src/shared/domain/domainobject/pseudonym.do.ts",{"_index":18126,"title":{},"body":{"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{}}}],["apps/server/src/shared/domain/domainobject/pseudonym.do.ts:13",{"_index":18128,"title":{},"body":{"classes/Pseudonym.html":{}}}],["apps/server/src/shared/domain/domainobject/pseudonym.do.ts:17",{"_index":18130,"title":{},"body":{"classes/Pseudonym.html":{}}}],["apps/server/src/shared/domain/domainobject/pseudonym.do.ts:21",{"_index":18131,"title":{},"body":{"classes/Pseudonym.html":{}}}],["apps/server/src/shared/domain/domainobject/pseudonym.do.ts:25",{"_index":18132,"title":{},"body":{"classes/Pseudonym.html":{}}}],["apps/server/src/shared/domain/domainobject/pseudonym.do.ts:29",{"_index":18133,"title":{},"body":{"classes/Pseudonym.html":{}}}],["apps/server/src/shared/domain/domainobject/role",{"_index":19007,"title":{},"body":{"classes/RoleReference.html":{}}}],["apps/server/src/shared/domain/domainobject/user",{"_index":23489,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts",{"_index":23201,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:11",{"_index":23204,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:13",{"_index":23207,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:15",{"_index":23213,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:17",{"_index":23219,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:19",{"_index":23220,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:21",{"_index":23215,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:23",{"_index":23206,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:25",{"_index":23210,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:27",{"_index":23208,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:29",{"_index":23214,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:31",{"_index":23205,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:33",{"_index":23211,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:35",{"_index":23209,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:37",{"_index":23217,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:39",{"_index":23212,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:41",{"_index":23216,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:43",{"_index":23218,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:45",{"_index":23202,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:7",{"_index":23203,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:9",{"_index":23221,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/video",{"_index":24131,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts",{"_index":207,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:12",{"_index":222,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:15",{"_index":216,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:18",{"_index":218,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:21",{"_index":213,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:24",{"_index":220,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:27",{"_index":217,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:30",{"_index":215,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:33",{"_index":214,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:36",{"_index":212,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/base.entity.ts",{"_index":2547,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["apps/server/src/shared/domain/entity/base.entity.ts:11",{"_index":2552,"title":{},"body":{"classes/BaseEntity.html":{}}}],["apps/server/src/shared/domain/entity/base.entity.ts:25",{"_index":2574,"title":{},"body":{"classes/BaseEntityWithTimestamps.html":{}}}],["apps/server/src/shared/domain/entity/base.entity.ts:28",{"_index":2576,"title":{},"body":{"classes/BaseEntityWithTimestamps.html":{}}}],["apps/server/src/shared/domain/entity/base.entity.ts:31",{"_index":2575,"title":{},"body":{"classes/BaseEntityWithTimestamps.html":{}}}],["apps/server/src/shared/domain/entity/base.entity.ts:34",{"_index":2578,"title":{},"body":{"classes/BaseEntityWithTimestamps.html":{}}}],["apps/server/src/shared/domain/entity/base.entity.ts:8",{"_index":2550,"title":{},"body":{"classes/BaseEntity.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts",{"_index":3878,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:29",{"_index":3882,"title":{},"body":{"entities/BoardNode.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:32",{"_index":3880,"title":{},"body":{"entities/BoardNode.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:35",{"_index":3883,"title":{},"body":{"entities/BoardNode.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:39",{"_index":3886,"title":{},"body":{"entities/BoardNode.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:42",{"_index":3884,"title":{},"body":{"entities/BoardNode.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/card",{"_index":4416,"title":{},"body":{"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/column",{"_index":5449,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/drawing",{"_index":9568,"title":{},"body":{"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/external",{"_index":10212,"title":{},"body":{"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/file",{"_index":11464,"title":{},"body":{"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/link",{"_index":15620,"title":{},"body":{"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/rich",{"_index":18856,"title":{},"body":{"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/submission",{"_index":20713,"title":{},"body":{"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/types/board",{"_index":3442,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts",{"_index":7392,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:100",{"_index":7405,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:103",{"_index":7417,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:44",{"_index":23945,"title":{},"body":{"classes/UsersList.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:46",{"_index":23944,"title":{},"body":{"classes/UsersList.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:48",{"_index":23946,"title":{},"body":{"classes/UsersList.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:54",{"_index":7419,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:57",{"_index":7412,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:61",{"_index":7421,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:65",{"_index":7426,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:69",{"_index":7429,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:73",{"_index":7428,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:76",{"_index":7410,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:80",{"_index":7407,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:83",{"_index":7424,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:87",{"_index":7430,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:90",{"_index":7408,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:94",{"_index":7423,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:97",{"_index":7415,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/coursegroup.entity.ts",{"_index":7661,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{}}}],["apps/server/src/shared/domain/entity/coursegroup.entity.ts:21",{"_index":7664,"title":{},"body":{"entities/CourseGroup.html":{}}}],["apps/server/src/shared/domain/entity/coursegroup.entity.ts:25",{"_index":7669,"title":{},"body":{"entities/CourseGroup.html":{}}}],["apps/server/src/shared/domain/entity/coursegroup.entity.ts:29",{"_index":7663,"title":{},"body":{"entities/CourseGroup.html":{}}}],["apps/server/src/shared/domain/entity/coursegroup.entity.ts:33",{"_index":7667,"title":{},"body":{"entities/CourseGroup.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts",{"_index":8322,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:100",{"_index":12626,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:108",{"_index":12615,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:117",{"_index":12621,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:138",{"_index":12625,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:14",{"_index":13571,"title":{},"body":{"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:142",{"_index":12628,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:16",{"_index":13573,"title":{},"body":{"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:161",{"_index":8342,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:163",{"_index":8340,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:165",{"_index":8341,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:167",{"_index":8343,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:169",{"_index":8364,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:176",{"_index":8370,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:18",{"_index":13572,"title":{},"body":{"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:180",{"_index":8339,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:193",{"_index":8358,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:197",{"_index":8362,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:20",{"_index":13569,"title":{},"body":{"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:201",{"_index":8356,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:213",{"_index":8353,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:22",{"_index":13568,"title":{},"body":{"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:221",{"_index":8368,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:231",{"_index":8377,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:24",{"_index":13574,"title":{},"body":{"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:240",{"_index":8374,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:255",{"_index":8349,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:266",{"_index":8347,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:272",{"_index":8345,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:278",{"_index":8355,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:286",{"_index":8361,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:298",{"_index":8372,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:307",{"_index":8366,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:38",{"_index":12611,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:40",{"_index":12614,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:42",{"_index":12613,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:52",{"_index":12610,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:60",{"_index":12619,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:64",{"_index":12618,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:68",{"_index":12620,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:72",{"_index":12617,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:76",{"_index":12612,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:78",{"_index":12624,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:8",{"_index":13570,"title":{},"body":{"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:82",{"_index":12622,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:86",{"_index":12623,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:90",{"_index":12627,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts",{"_index":8474,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts:42",{"_index":8481,"title":{},"body":{"entities/DashboardGridElementModel.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts:45",{"_index":8482,"title":{},"body":{"entities/DashboardGridElementModel.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts:48",{"_index":8483,"title":{},"body":{"entities/DashboardGridElementModel.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts:52",{"_index":8480,"title":{},"body":{"entities/DashboardGridElementModel.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts:56",{"_index":8478,"title":{},"body":{"entities/DashboardGridElementModel.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts:76",{"_index":8562,"title":{},"body":{"entities/DashboardModelEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts:81",{"_index":8564,"title":{},"body":{"entities/DashboardModelEntity.html":{}}}],["apps/server/src/shared/domain/entity/external",{"_index":10003,"title":{},"body":{"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{}}}],["apps/server/src/shared/domain/entity/federal",{"_index":7370,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["apps/server/src/shared/domain/entity/import",{"_index":13767,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["apps/server/src/shared/domain/entity/legacy",{"_index":2921,"title":{},"body":{"entities/Board.html":{},"entities/BoardElement.html":{},"entities/ColumnBoardTarget.html":{},"entities/ColumnboardBoardElement.html":{},"entities/LessonBoardElement.html":{},"entities/TaskBoardElement.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts",{"_index":6161,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:101",{"_index":15421,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:104",{"_index":15414,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:107",{"_index":15419,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:110",{"_index":15422,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:81",{"_index":15439,"title":{},"body":{"interfaces/LessonParent.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:87",{"_index":15420,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:91",{"_index":15418,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:95",{"_index":15415,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:98",{"_index":15416,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts",{"_index":8030,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:101",{"_index":15905,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:33",{"_index":15912,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:36",{"_index":15923,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:39",{"_index":15908,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:42",{"_index":15921,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:45",{"_index":15909,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:48",{"_index":15910,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:51",{"_index":15911,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:54",{"_index":15917,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:58",{"_index":15920,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:65",{"_index":15916,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:68",{"_index":15902,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:71",{"_index":15907,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:74",{"_index":15906,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:77",{"_index":15901,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:85",{"_index":15913,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:89",{"_index":15903,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:92",{"_index":15922,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:95",{"_index":15914,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:98",{"_index":15904,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts",{"_index":16096,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:31",{"_index":16101,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:34",{"_index":16102,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:37",{"_index":16103,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:40",{"_index":16104,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:43",{"_index":16106,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:46",{"_index":16107,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:49",{"_index":16108,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:52",{"_index":16110,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:55",{"_index":16111,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:58",{"_index":16112,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts",{"_index":7757,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:102",{"_index":20004,"title":{},"body":{"entities/SchoolNews.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:116",{"_index":7758,"title":{},"body":{"entities/CourseNews.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:127",{"_index":21903,"title":{},"body":{"entities/TeamNews.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:34",{"_index":16404,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:38",{"_index":16394,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:43",{"_index":16396,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:46",{"_index":16397,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:49",{"_index":16400,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:52",{"_index":16401,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:55",{"_index":16402,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:59",{"_index":16403,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:62",{"_index":16399,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:65",{"_index":16395,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:68",{"_index":16405,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:70",{"_index":16398,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/role.entity.ts",{"_index":18957,"title":{},"body":{"entities/Role.html":{},"interfaces/RoleProperties.html":{}}}],["apps/server/src/shared/domain/entity/role.entity.ts:15",{"_index":18958,"title":{},"body":{"entities/Role.html":{}}}],["apps/server/src/shared/domain/entity/role.entity.ts:18",{"_index":18959,"title":{},"body":{"entities/Role.html":{}}}],["apps/server/src/shared/domain/entity/role.entity.ts:21",{"_index":18961,"title":{},"body":{"entities/Role.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts",{"_index":19614,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:104",{"_index":19631,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:107",{"_index":19618,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:47",{"_index":20022,"title":{},"body":{"classes/SchoolRolePermission.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:50",{"_index":20021,"title":{},"body":{"classes/SchoolRolePermission.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:56",{"_index":20023,"title":{},"body":{"classes/SchoolRoles.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:59",{"_index":20024,"title":{},"body":{"classes/SchoolRoles.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:66",{"_index":19617,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:69",{"_index":19619,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:72",{"_index":19620,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:75",{"_index":19616,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:78",{"_index":19625,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:81",{"_index":19621,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:84",{"_index":19622,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:87",{"_index":19628,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:90",{"_index":19624,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:93",{"_index":19627,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/schoolyear.entity.ts",{"_index":20059,"title":{},"body":{"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{}}}],["apps/server/src/shared/domain/entity/schoolyear.entity.ts:13",{"_index":20062,"title":{},"body":{"entities/SchoolYearEntity.html":{}}}],["apps/server/src/shared/domain/entity/schoolyear.entity.ts:16",{"_index":20063,"title":{},"body":{"entities/SchoolYearEntity.html":{}}}],["apps/server/src/shared/domain/entity/schoolyear.entity.ts:19",{"_index":20061,"title":{},"body":{"entities/SchoolYearEntity.html":{}}}],["apps/server/src/shared/domain/entity/storageprovider.entity.ts",{"_index":20601,"title":{},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["apps/server/src/shared/domain/entity/storageprovider.entity.ts:15",{"_index":20604,"title":{},"body":{"entities/StorageProviderEntity.html":{}}}],["apps/server/src/shared/domain/entity/storageprovider.entity.ts:18",{"_index":20603,"title":{},"body":{"entities/StorageProviderEntity.html":{}}}],["apps/server/src/shared/domain/entity/storageprovider.entity.ts:21",{"_index":20606,"title":{},"body":{"entities/StorageProviderEntity.html":{}}}],["apps/server/src/shared/domain/entity/storageprovider.entity.ts:24",{"_index":20605,"title":{},"body":{"entities/StorageProviderEntity.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts",{"_index":20630,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:30",{"_index":20638,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:34",{"_index":20644,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:37",{"_index":20640,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:40",{"_index":20634,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:43",{"_index":20645,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:46",{"_index":20633,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:49",{"_index":20641,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:52",{"_index":20637,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:55",{"_index":20635,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:58",{"_index":20636,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts",{"_index":14877,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:102",{"_index":14891,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:105",{"_index":14892,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:108",{"_index":14890,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:111",{"_index":14899,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:114",{"_index":14896,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:117",{"_index":14897,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:120",{"_index":14898,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:123",{"_index":14894,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:126",{"_index":14895,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:153",{"_index":17502,"title":{},"body":{"classes/OidcConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:166",{"_index":17504,"title":{},"body":{"classes/OidcConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:169",{"_index":17505,"title":{},"body":{"classes/OidcConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:172",{"_index":17507,"title":{},"body":{"classes/OidcConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:175",{"_index":17503,"title":{},"body":{"classes/OidcConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:178",{"_index":17509,"title":{},"body":{"classes/OidcConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:18",{"_index":17046,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:181",{"_index":17508,"title":{},"body":{"classes/OidcConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:184",{"_index":17510,"title":{},"body":{"classes/OidcConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:187",{"_index":17506,"title":{},"body":{"classes/OidcConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:206",{"_index":21100,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:209",{"_index":21101,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:212",{"_index":21091,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:215",{"_index":21092,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:218",{"_index":21095,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:222",{"_index":21098,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:225",{"_index":21096,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:228",{"_index":21094,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:231",{"_index":21099,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:36",{"_index":17048,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:39",{"_index":17049,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:42",{"_index":17051,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:45",{"_index":17056,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:48",{"_index":17050,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:51",{"_index":17059,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:54",{"_index":17047,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:57",{"_index":17057,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:60",{"_index":17058,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:63",{"_index":17055,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:66",{"_index":17054,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:69",{"_index":17052,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:72",{"_index":17053,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:76",{"_index":14887,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:93",{"_index":14888,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:96",{"_index":14889,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:99",{"_index":14893,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts",{"_index":21237,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:16",{"_index":21853,"title":{},"body":{"classes/TaskWithStatusVo.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:18",{"_index":21852,"title":{},"body":{"classes/TaskWithStatusVo.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:35",{"_index":21558,"title":{},"body":{"interfaces/TaskParent.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:45",{"_index":21248,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:48",{"_index":21242,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:51",{"_index":21243,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:54",{"_index":21238,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:58",{"_index":21244,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:61",{"_index":21249,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:64",{"_index":21250,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:67",{"_index":21254,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:71",{"_index":21241,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:75",{"_index":21239,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:79",{"_index":21251,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:83",{"_index":21247,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:86",{"_index":21253,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:90",{"_index":21245,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts",{"_index":21863,"title":{},"body":{"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:19",{"_index":21976,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:27",{"_index":21979,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:30",{"_index":21977,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:33",{"_index":21978,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:36",{"_index":21980,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:40",{"_index":21982,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:44",{"_index":21984,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:48",{"_index":21986,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:56",{"_index":21864,"title":{},"body":{"entities/TeamEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:59",{"_index":21866,"title":{},"body":{"entities/TeamEntity.html":{}}}],["apps/server/src/shared/domain/entity/user",{"_index":23513,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts",{"_index":23117,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:100",{"_index":23135,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:103",{"_index":23121,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:106",{"_index":23137,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:44",{"_index":23123,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:47",{"_index":23126,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:50",{"_index":23132,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:54",{"_index":23141,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:58",{"_index":23142,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:62",{"_index":23134,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:65",{"_index":23125,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:68",{"_index":23139,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:72",{"_index":23129,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:75",{"_index":23127,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:78",{"_index":23133,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:81",{"_index":23124,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:84",{"_index":23130,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:87",{"_index":23128,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:90",{"_index":23138,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:94",{"_index":23122,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:97",{"_index":23131,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/video",{"_index":23966,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["apps/server/src/shared/domain/interface/base",{"_index":2539,"title":{},"body":{"classes/BaseDomainObject.html":{}}}],["apps/server/src/shared/domain/interface/entity.ts",{"_index":9807,"title":{},"body":{"interfaces/EntityWithSchool.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{}}}],["apps/server/src/shared/domain/interface/find",{"_index":13566,"title":{},"body":{"interfaces/IFindOptions.html":{},"interfaces/Pagination.html":{}}}],["apps/server/src/shared/domain/interface/learnroom.ts",{"_index":15073,"title":{},"body":{"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{}}}],["apps/server/src/shared/domain/service/permission.service.ts",{"_index":17748,"title":{},"body":{"injectables/PermissionService.html":{}}}],["apps/server/src/shared/domain/service/permission.service.ts:17",{"_index":17755,"title":{},"body":{"injectables/PermissionService.html":{}}}],["apps/server/src/shared/domain/service/permission.service.ts:26",{"_index":17759,"title":{},"body":{"injectables/PermissionService.html":{}}}],["apps/server/src/shared/domain/service/permission.service.ts:51",{"_index":17753,"title":{},"body":{"injectables/PermissionService.html":{}}}],["apps/server/src/shared/domain/types/importuser.types.ts",{"_index":13579,"title":{},"body":{"interfaces/IImportUserScope.html":{},"interfaces/NameMatch.html":{}}}],["apps/server/src/shared/domain/types/news.types.ts",{"_index":7951,"title":{},"body":{"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{}}}],["apps/server/src/shared/domain/types/rich",{"_index":18817,"title":{},"body":{"classes/RichText.html":{}}}],["apps/server/src/shared/domain/types/task.types.ts",{"_index":13614,"title":{},"body":{"interfaces/ITask.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{}}}],["apps/server/src/shared/infra/identity",{"_index":25892,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts",{"_index":2437,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:10",{"_index":2451,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:100",{"_index":2463,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:113",{"_index":2465,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:118",{"_index":2469,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:13",{"_index":2486,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:15",{"_index":2468,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:17",{"_index":2474,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:19",{"_index":2471,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:21",{"_index":2480,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:26",{"_index":2482,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:44",{"_index":2454,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:52",{"_index":2485,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:65",{"_index":2457,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:79",{"_index":2476,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:87",{"_index":2459,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.repo.ts",{"_index":2623,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["apps/server/src/shared/repo/base.repo.ts:13",{"_index":2632,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["apps/server/src/shared/repo/base.repo.ts:16",{"_index":2637,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["apps/server/src/shared/repo/base.repo.ts:18",{"_index":2633,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["apps/server/src/shared/repo/base.repo.ts:22",{"_index":2636,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["apps/server/src/shared/repo/base.repo.ts:26",{"_index":2634,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["apps/server/src/shared/repo/base.repo.ts:30",{"_index":2635,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["apps/server/src/shared/repo/board/board.repo.ts",{"_index":3951,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["apps/server/src/shared/repo/board/board.repo.ts:12",{"_index":3959,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["apps/server/src/shared/repo/board/board.repo.ts:18",{"_index":3962,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["apps/server/src/shared/repo/board/board.repo.ts:26",{"_index":3957,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["apps/server/src/shared/repo/board/board.repo.ts:39",{"_index":3964,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["apps/server/src/shared/repo/board/board.repo.ts:8",{"_index":3965,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["apps/server/src/shared/repo/contextexternaltool/context",{"_index":6889,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts",{"_index":7804,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:11",{"_index":7859,"title":{},"body":{"classes/CourseScope.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:122",{"_index":7816,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:131",{"_index":7819,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:23",{"_index":7862,"title":{},"body":{"classes/CourseScope.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:34",{"_index":7861,"title":{},"body":{"classes/CourseScope.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:39",{"_index":7858,"title":{},"body":{"classes/CourseScope.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:49",{"_index":7860,"title":{},"body":{"classes/CourseScope.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:57",{"_index":7820,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:61",{"_index":7810,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:73",{"_index":7812,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:97",{"_index":7814,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["apps/server/src/shared/repo/coursegroup/coursegroup.repo.ts",{"_index":7686,"title":{},"body":{"injectables/CourseGroupRepo.html":{}}}],["apps/server/src/shared/repo/coursegroup/coursegroup.repo.ts:10",{"_index":7693,"title":{},"body":{"injectables/CourseGroupRepo.html":{}}}],["apps/server/src/shared/repo/coursegroup/coursegroup.repo.ts:20",{"_index":7689,"title":{},"body":{"injectables/CourseGroupRepo.html":{}}}],["apps/server/src/shared/repo/coursegroup/coursegroup.repo.ts:27",{"_index":7692,"title":{},"body":{"injectables/CourseGroupRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts",{"_index":8566,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:112",{"_index":8589,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:128",{"_index":8584,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:16",{"_index":8577,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:19",{"_index":8595,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:24",{"_index":8591,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:34",{"_index":8586,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:42",{"_index":8597,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:51",{"_index":8593,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:64",{"_index":8582,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:75",{"_index":8599,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:95",{"_index":8579,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts",{"_index":8651,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:15",{"_index":13562,"title":{},"body":{"interfaces/IDashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:16",{"_index":13561,"title":{},"body":{"interfaces/IDashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:17",{"_index":13563,"title":{},"body":{"interfaces/IDashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:21",{"_index":8655,"title":{},"body":{"injectables/DashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:25",{"_index":8661,"title":{},"body":{"injectables/DashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:31",{"_index":8663,"title":{},"body":{"injectables/DashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:37",{"_index":8657,"title":{},"body":{"injectables/DashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:43",{"_index":8659,"title":{},"body":{"injectables/DashboardRepo.html":{}}}],["apps/server/src/shared/repo/externaltool/external",{"_index":10571,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSortingMapper.html":{}}}],["apps/server/src/shared/repo/federalstate/federal",{"_index":11379,"title":{},"body":{"injectables/FederalStateRepo.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.repo.ts",{"_index":14015,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.repo.ts:13",{"_index":14030,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.repo.ts:29",{"_index":14028,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.repo.ts:36",{"_index":14024,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.repo.ts:54",{"_index":14026,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.repo.ts:71",{"_index":14021,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts",{"_index":14070,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:102",{"_index":14090,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:115",{"_index":14098,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:12",{"_index":14094,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:19",{"_index":14096,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:26",{"_index":14083,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:40",{"_index":14085,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:56",{"_index":14087,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:71",{"_index":14092,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:88",{"_index":14081,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/ltitool/ltitool.repo.ts",{"_index":15962,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["apps/server/src/shared/repo/ltitool/ltitool.repo.ts:17",{"_index":15968,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["apps/server/src/shared/repo/ltitool/ltitool.repo.ts:26",{"_index":15970,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["apps/server/src/shared/repo/ltitool/ltitool.repo.ts:31",{"_index":15967,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["apps/server/src/shared/repo/ltitool/ltitool.repo.ts:9",{"_index":15973,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["apps/server/src/shared/repo/materials/materials.repo.ts",{"_index":16136,"title":{},"body":{"injectables/MaterialsRepo.html":{}}}],["apps/server/src/shared/repo/materials/materials.repo.ts:7",{"_index":16137,"title":{},"body":{"injectables/MaterialsRepo.html":{}}}],["apps/server/src/shared/repo/mongo.patterns.ts",{"_index":16362,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["apps/server/src/shared/repo/mongo.patterns.ts:6",{"_index":16366,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["apps/server/src/shared/repo/news/news",{"_index":16582,"title":{},"body":{"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{}}}],["apps/server/src/shared/repo/news/news.repo.ts",{"_index":16531,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["apps/server/src/shared/repo/news/news.repo.ts:12",{"_index":16545,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["apps/server/src/shared/repo/news/news.repo.ts:14",{"_index":16546,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["apps/server/src/shared/repo/news/news.repo.ts:23",{"_index":16538,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["apps/server/src/shared/repo/news/news.repo.ts:38",{"_index":16540,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["apps/server/src/shared/repo/news/news.repo.ts:53",{"_index":16544,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["apps/server/src/shared/repo/news/news.repo.ts:60",{"_index":16542,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["apps/server/src/shared/repo/role/role.repo.ts",{"_index":19010,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["apps/server/src/shared/repo/role/role.repo.ts:13",{"_index":19018,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["apps/server/src/shared/repo/role/role.repo.ts:15",{"_index":19014,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["apps/server/src/shared/repo/role/role.repo.ts:25",{"_index":19016,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["apps/server/src/shared/repo/role/role.repo.ts:30",{"_index":19013,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["apps/server/src/shared/repo/role/role.repo.ts:9",{"_index":19019,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["apps/server/src/shared/repo/school/legacy",{"_index":15197,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["apps/server/src/shared/repo/schoolexternaltool/school",{"_index":19727,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolScope.html":{}}}],["apps/server/src/shared/repo/scope.ts",{"_index":20082,"title":{},"body":{"classes/Scope.html":{}}}],["apps/server/src/shared/repo/scope.ts:11",{"_index":20085,"title":{},"body":{"classes/Scope.html":{}}}],["apps/server/src/shared/repo/scope.ts:13",{"_index":20084,"title":{},"body":{"classes/Scope.html":{}}}],["apps/server/src/shared/repo/scope.ts:20",{"_index":20090,"title":{},"body":{"classes/Scope.html":{}}}],["apps/server/src/shared/repo/scope.ts:31",{"_index":20087,"title":{},"body":{"classes/Scope.html":{}}}],["apps/server/src/shared/repo/scope.ts:35",{"_index":20088,"title":{},"body":{"classes/Scope.html":{}}}],["apps/server/src/shared/repo/scope.ts:9",{"_index":20086,"title":{},"body":{"classes/Scope.html":{}}}],["apps/server/src/shared/repo/storageprovider/storageprovider.repo.ts",{"_index":20617,"title":{},"body":{"injectables/StorageProviderRepo.html":{}}}],["apps/server/src/shared/repo/storageprovider/storageprovider.repo.ts:12",{"_index":20620,"title":{},"body":{"injectables/StorageProviderRepo.html":{}}}],["apps/server/src/shared/repo/storageprovider/storageprovider.repo.ts:16",{"_index":20619,"title":{},"body":{"injectables/StorageProviderRepo.html":{}}}],["apps/server/src/shared/repo/storageprovider/storageprovider.repo.ts:7",{"_index":20618,"title":{},"body":{"injectables/StorageProviderRepo.html":{}}}],["apps/server/src/shared/repo/submission/submission.repo.ts",{"_index":20883,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["apps/server/src/shared/repo/submission/submission.repo.ts:11",{"_index":20896,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["apps/server/src/shared/repo/submission/submission.repo.ts:22",{"_index":20890,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["apps/server/src/shared/repo/submission/submission.repo.ts:31",{"_index":20892,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["apps/server/src/shared/repo/submission/submission.repo.ts:36",{"_index":20888,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["apps/server/src/shared/repo/submission/submission.repo.ts:42",{"_index":20895,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["apps/server/src/shared/repo/system/legacy",{"_index":15278,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["apps/server/src/shared/repo/system/system",{"_index":21209,"title":{},"body":{"classes/SystemScope.html":{}}}],["apps/server/src/shared/repo/task/task",{"_index":21696,"title":{},"body":{"classes/TaskScope.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts",{"_index":21559,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts:106",{"_index":21568,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts:11",{"_index":21579,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts:15",{"_index":21578,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts:164",{"_index":21574,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts:190",{"_index":21576,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts:26",{"_index":21566,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts:38",{"_index":21572,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/teams/teams.repo.ts",{"_index":22007,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["apps/server/src/shared/repo/teams/teams.repo.ts:13",{"_index":22012,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["apps/server/src/shared/repo/teams/teams.repo.ts:36",{"_index":22009,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["apps/server/src/shared/repo/teams/teams.repo.ts:43",{"_index":22011,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["apps/server/src/shared/repo/teams/teams.repo.ts:9",{"_index":22013,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["apps/server/src/shared/repo/types/storageproviderencryptedstring.type.ts",{"_index":20579,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["apps/server/src/shared/repo/types/storageproviderencryptedstring.type.ts:10",{"_index":20585,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["apps/server/src/shared/repo/types/storageproviderencryptedstring.type.ts:21",{"_index":20588,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["apps/server/src/shared/repo/types/storageproviderencryptedstring.type.ts:36",{"_index":20590,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["apps/server/src/shared/repo/user/user",{"_index":23242,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts",{"_index":23793,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:13",{"_index":23811,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:150",{"_index":23801,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:158",{"_index":23799,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:165",{"_index":23807,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:172",{"_index":23808,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:184",{"_index":23810,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:188",{"_index":23805,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:28",{"_index":23802,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:40",{"_index":23804,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.scope.ts",{"_index":23859,"title":{},"body":{"classes/UserScope.html":{}}}],["apps/server/src/shared/repo/user/user.scope.ts:13",{"_index":23868,"title":{},"body":{"classes/UserScope.html":{}}}],["apps/server/src/shared/repo/user/user.scope.ts:20",{"_index":23866,"title":{},"body":{"classes/UserScope.html":{}}}],["apps/server/src/shared/repo/user/user.scope.ts:29",{"_index":23870,"title":{},"body":{"classes/UserScope.html":{}}}],["apps/server/src/shared/repo/user/user.scope.ts:36",{"_index":23862,"title":{},"body":{"classes/UserScope.html":{}}}],["apps/server/src/shared/repo/user/user.scope.ts:6",{"_index":23864,"title":{},"body":{"classes/UserScope.html":{}}}],["apps/server/src/shared/repo/userloginmigration/user",{"_index":23569,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["apps/server/src/shared/repo/videoconference/video",{"_index":24297,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["apps/server/src/shared/testing/factory/account.factory.ts",{"_index":500,"title":{},"body":{"classes/AccountFactory.html":{}}}],["apps/server/src/shared/testing/factory/account.factory.ts:10",{"_index":519,"title":{},"body":{"classes/AccountFactory.html":{}}}],["apps/server/src/shared/testing/factory/account.factory.ts:16",{"_index":521,"title":{},"body":{"classes/AccountFactory.html":{}}}],["apps/server/src/shared/testing/factory/axios",{"_index":2074,"title":{},"body":{"classes/AxiosErrorFactory.html":{},"classes/AxiosResponseImp.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts",{"_index":2579,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:110",{"_index":2585,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:122",{"_index":2592,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:134",{"_index":2595,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:144",{"_index":2593,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:148",{"_index":2590,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:15",{"_index":2583,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:160",{"_index":2594,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:32",{"_index":2591,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:47",{"_index":2586,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:60",{"_index":2589,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:75",{"_index":2587,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:84",{"_index":2588,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:98",{"_index":2584,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/course.factory.ts",{"_index":7638,"title":{},"body":{"classes/CourseFactory.html":{}}}],["apps/server/src/shared/testing/factory/course.factory.ts:12",{"_index":7642,"title":{},"body":{"classes/CourseFactory.html":{}}}],["apps/server/src/shared/testing/factory/course.factory.ts:19",{"_index":7643,"title":{},"body":{"classes/CourseFactory.html":{}}}],["apps/server/src/shared/testing/factory/course.factory.ts:26",{"_index":7645,"title":{},"body":{"classes/CourseFactory.html":{}}}],["apps/server/src/shared/testing/factory/course.factory.ts:33",{"_index":7648,"title":{},"body":{"classes/CourseFactory.html":{}}}],["apps/server/src/shared/testing/factory/coursegroup.factory.ts",{"_index":7681,"title":{},"body":{"classes/CourseGroupFactory.html":{}}}],["apps/server/src/shared/testing/factory/coursegroup.factory.ts:8",{"_index":7682,"title":{},"body":{"classes/CourseGroupFactory.html":{}}}],["apps/server/src/shared/testing/factory/domainobject/board/column",{"_index":5443,"title":{},"body":{"classes/ColumnBoardFactory.html":{}}}],["apps/server/src/shared/testing/factory/domainobject/do",{"_index":9498,"title":{},"body":{"classes/DoBaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/domainobject/domain",{"_index":9506,"title":{},"body":{"classes/DomainObjectFactory.html":{}}}],["apps/server/src/shared/testing/factory/domainobject/legacy",{"_index":15169,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["apps/server/src/shared/testing/factory/domainobject/tool/context",{"_index":6758,"title":{},"body":{"classes/ContextExternalToolFactory.html":{}}}],["apps/server/src/shared/testing/factory/domainobject/tool/external",{"_index":8190,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["apps/server/src/shared/testing/factory/domainobject/tool/school",{"_index":19683,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["apps/server/src/shared/testing/factory/external",{"_index":10244,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["apps/server/src/shared/testing/factory/filerecord.factory.ts",{"_index":11808,"title":{},"body":{"classes/FileRecordFactory.html":{}}}],["apps/server/src/shared/testing/factory/filerecord.factory.ts:10",{"_index":11810,"title":{},"body":{"classes/FileRecordFactory.html":{}}}],["apps/server/src/shared/testing/factory/h5p",{"_index":13005,"title":{},"body":{"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{}}}],["apps/server/src/shared/testing/factory/import",{"_index":13906,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["apps/server/src/shared/testing/factory/jwt.test.factory.ts",{"_index":7910,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["apps/server/src/shared/testing/factory/jwt.test.factory.ts:18",{"_index":14310,"title":{},"body":{"classes/JwtTestFactory.html":{}}}],["apps/server/src/shared/testing/factory/jwt.test.factory.ts:22",{"_index":14309,"title":{},"body":{"classes/JwtTestFactory.html":{}}}],["apps/server/src/shared/testing/factory/lesson.factory.ts",{"_index":15424,"title":{},"body":{"classes/LessonFactory.html":{}}}],["apps/server/src/shared/testing/factory/ltitool.factory.ts",{"_index":15945,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["apps/server/src/shared/testing/factory/ltitool.factory.ts:14",{"_index":15949,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["apps/server/src/shared/testing/factory/ltitool.factory.ts:7",{"_index":15947,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["apps/server/src/shared/testing/factory/material.factory.ts",{"_index":16132,"title":{},"body":{"classes/MaterialFactory.html":{}}}],["apps/server/src/shared/testing/factory/readable",{"_index":18341,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["apps/server/src/shared/testing/factory/share",{"_index":20335,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["apps/server/src/shared/testing/factory/submission.factory.ts",{"_index":20752,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["apps/server/src/shared/testing/factory/submission.factory.ts:15",{"_index":20757,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["apps/server/src/shared/testing/factory/submission.factory.ts:21",{"_index":20756,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["apps/server/src/shared/testing/factory/submission.factory.ts:27",{"_index":20759,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["apps/server/src/shared/testing/factory/submission.factory.ts:9",{"_index":20755,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["apps/server/src/shared/testing/factory/systementityfactory.ts",{"_index":21102,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["apps/server/src/shared/testing/factory/systementityfactory.ts:13",{"_index":21109,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["apps/server/src/shared/testing/factory/systementityfactory.ts:34",{"_index":21107,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["apps/server/src/shared/testing/factory/systementityfactory.ts:46",{"_index":21110,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["apps/server/src/shared/testing/factory/task.factory.ts",{"_index":21501,"title":{},"body":{"classes/TaskFactory.html":{}}}],["apps/server/src/shared/testing/factory/task.factory.ts:11",{"_index":21502,"title":{},"body":{"classes/TaskFactory.html":{}}}],["apps/server/src/shared/testing/factory/task.factory.ts:17",{"_index":21505,"title":{},"body":{"classes/TaskFactory.html":{}}}],["apps/server/src/shared/testing/factory/task.factory.ts:23",{"_index":21506,"title":{},"body":{"classes/TaskFactory.html":{}}}],["apps/server/src/shared/testing/factory/task.factory.ts:29",{"_index":21504,"title":{},"body":{"classes/TaskFactory.html":{}}}],["apps/server/src/shared/testing/factory/team.factory.ts",{"_index":21878,"title":{},"body":{"classes/TeamFactory.html":{}}}],["apps/server/src/shared/testing/factory/team.factory.ts:14",{"_index":21884,"title":{},"body":{"classes/TeamFactory.html":{}}}],["apps/server/src/shared/testing/factory/team.factory.ts:7",{"_index":21882,"title":{},"body":{"classes/TeamFactory.html":{}}}],["apps/server/src/shared/testing/factory/teamuser.factory.ts",{"_index":21987,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["apps/server/src/shared/testing/factory/teamuser.factory.ts:19",{"_index":21990,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["apps/server/src/shared/testing/factory/teamuser.factory.ts:9",{"_index":21988,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["apps/server/src/shared/testing/factory/tldraw.ws.factory.ts",{"_index":22404,"title":{},"body":{"classes/TldrawWsFactory.html":{}}}],["apps/server/src/shared/testing/factory/tldraw.ws.factory.ts:5",{"_index":22410,"title":{},"body":{"classes/TldrawWsFactory.html":{}}}],["apps/server/src/shared/testing/factory/tldraw.ws.factory.ts:9",{"_index":22408,"title":{},"body":{"classes/TldrawWsFactory.html":{}}}],["apps/server/src/shared/testing/factory/user",{"_index":690,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.do.factory.ts",{"_index":23324,"title":{},"body":{"classes/UserDoFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.do.factory.ts:9",{"_index":23327,"title":{},"body":{"classes/UserDoFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.factory.ts",{"_index":23354,"title":{},"body":{"classes/UserFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.factory.ts:12",{"_index":23365,"title":{},"body":{"classes/UserFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.factory.ts:18",{"_index":23363,"title":{},"body":{"classes/UserFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.factory.ts:24",{"_index":23360,"title":{},"body":{"classes/UserFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.factory.ts:33",{"_index":23361,"title":{},"body":{"classes/UserFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.factory.ts:42",{"_index":23359,"title":{},"body":{"classes/UserFactory.html":{}}}],["apps/server/src/shared/testing/test",{"_index":1603,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["apps\\server\\src\\shared\\testing\\factory",{"_index":25797,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["appstartinfo",{"_index":1416,"title":{"interfaces/AppStartInfo.html":{}},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["appstartloggable",{"_index":1425,"title":{"classes/AppStartLoggable.html":{}},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["appthis",{"_index":24586,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["arbitrary",{"_index":25587,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["arc",{"_index":2627,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["architectural",{"_index":25404,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["architecture",{"_index":24578,"title":{"additional-documentation/nestjs-application/software-architecture.html":{}},"body":{"index.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["architecture/organizing",{"_index":25575,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["archive",{"_index":25199,"title":{},"body":{"license.html":{}}}],["archived",{"_index":7743,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["archivegroup(groupname",{"_index":1126,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["are.claim.values.regex",{"_index":14600,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["area",{"_index":25976,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["areas",{"_index":25666,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["aresubmissionspublic",{"_index":21309,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["arg",{"_index":24449,"title":{},"body":{"dependencies.html":{}}}],["args",{"_index":20138,"title":{},"body":{"classes/ServerConsole.html":{},"classes/TestBootstrapConsole.html":{},"dependencies.html":{}}}],["argument",{"_index":1094,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["argumentshost",{"_index":12532,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["arising",{"_index":25163,"title":{},"body":{"license.html":{}}}],["around",{"_index":21472,"title":{},"body":{"injectables/TaskCopyUC.html":{},"todo.html":{}}}],["arrange",{"_index":25080,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["arrangement",{"_index":25090,"title":{},"body":{"license.html":{}}}],["array",{"_index":1835,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/BatchDeletionUc.html":{},"injectables/BoardCopyService.html":{},"classes/CardIdsParams.html":{},"classes/CardResponse.html":{},"classes/ClassEntityFactory.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/County.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"entities/ExternalToolEntity.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FileSystemAdapter.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"classes/IdentityManagementService.html":{},"entities/LtiTool.html":{},"classes/PatchOrderParams.html":{},"classes/ReferencesService.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SubmissionItemResponse.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"classes/WsSharedDocDo.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["array(length).keys()].map((_",{"_index":3846,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["array.from(awarenessstates.keys",{"_index":22534,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["array.from(classmap.keys",{"_index":4841,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["array.from(controlledids",{"_index":22473,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["array.from(modelentity.gridelements).foreach((el",{"_index":8642,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["array.isarray(boardnode",{"_index":3583,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["array.isarray(cardidparams.ids",{"_index":4380,"title":{},"body":{"controllers/CardController.html":{}}}],["array.isarray(collectionnamefilter",{"_index":5240,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["array.isarray(domainobjects",{"_index":2525,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["array.isarray(id",{"_index":2534,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["array.isarray(matches",{"_index":13813,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["array.isarray(object",{"_index":13308,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["array.isarray(object.h5p_libraries",{"_index":13309,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["array.isarray(permissions",{"_index":11211,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["array.isarray(props.classnames",{"_index":13801,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["array.isarray(props.rolenames",{"_index":13798,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["array.isarray(requiredpermissions",{"_index":1836,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/PermissionService.html":{}}}],["array.isarray(t",{"_index":3579,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["array.isarray(user.attributes[attributename",{"_index":14742,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["array.isarray(user.permissions",{"_index":11176,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["array.isarray(value",{"_index":14754,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["arraybuffer",{"_index":10341,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"injectables/TldrawWsService.html":{}}}],["arraybufferlike",{"_index":22516,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["arrayminsize",{"_index":19544,"title":{},"body":{"classes/SanisResponse.html":{}}}],["arrayminsize(1",{"_index":19545,"title":{},"body":{"classes/SanisResponse.html":{}}}],["article",{"_index":24813,"title":{},"body":{"license.html":{}}}],["asadmin",{"_index":23355,"title":{},"body":{"classes/UserFactory.html":{}}}],["asadmin(additionalpermissions",{"_index":726,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserFactory.html":{}}}],["asc",{"_index":5308,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/FilesRepo.html":{},"interfaces/IFindOptions.html":{},"interfaces/Pagination.html":{},"classes/SortingParams.html":{}}}],["asguest",{"_index":2277,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["asguest(isguest",{"_index":24232,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["asguest(value",{"_index":2280,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["ask",{"_index":15497,"title":{},"body":{"injectables/LessonRule.html":{},"injectables/VideoConferenceCreateUc.html":{}}}],["ask_moderator",{"_index":2181,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["asks",{"_index":6242,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["aspnetcore_environment='development",{"_index":25870,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["assert",{"_index":24674,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["assets",{"_index":25035,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{}}}],["assigned",{"_index":3788,"title":{},"body":{"classes/BoardManagementConsole.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["assignemnt",{"_index":13937,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["assigning",{"_index":25545,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["assignment",{"_index":1103,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/BaseFactory.html":{},"classes/JwtExtractor.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/TldrawBoardRepo.html":{}}}],["assignment,@typescript",{"_index":1100,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/TldrawBoardRepo.html":{}}}],["associated",{"_index":21855,"title":{},"body":{"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"license.html":{}}}],["associations",{"_index":506,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["associations(associations",{"_index":535,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["asstudent",{"_index":23356,"title":{},"body":{"classes/UserFactory.html":{}}}],["asstudent(additionalpermissions",{"_index":716,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserFactory.html":{}}}],["assume",{"_index":25154,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["assumption",{"_index":25182,"title":{},"body":{"license.html":{}}}],["assumptions",{"_index":24988,"title":{},"body":{"license.html":{}}}],["asteacher",{"_index":23357,"title":{},"body":{"classes/UserFactory.html":{}}}],["asteacher(additionalpermissions",{"_index":722,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserFactory.html":{}}}],["async",{"_index":317,"title":{},"body":{"controllers/AccountController.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/AntivirusService.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoService.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"controllers/BoardSubmissionController.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"interfaces/CardProps.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"interfaces/ColumnProps.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/CopyFilesService.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUrlHandler.html":{},"controllers/DashboardController.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionQueueConsole.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"controllers/DeletionRequestsController.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"interfaces/DrawingElementProps.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"injectables/FileRecordRepo.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/FwuLearningContentsUc.html":{},"controllers/GroupController.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"injectables/IdTokenService.html":{},"controllers/ImportUserController.html":{},"injectables/ImportUserRepo.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"injectables/LocalStrategy.html":{},"controllers/LoginController.html":{},"injectables/LoginUc.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/MaterialsRepo.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/MigrationCheckService.html":{},"interfaces/MigrationOptions.html":{},"modules/MongoMemoryDatabaseModule.html":{},"controllers/NewsController.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"controllers/OauthSSOController.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"injectables/ProvisioningService.html":{},"controllers/PseudonymController.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RepoLoader.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"interfaces/RetryOptions.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/StorageProviderRepo.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"controllers/SystemController.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamService.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"injectables/TldrawBoardRepo.html":{},"controllers/TldrawController.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"injectables/ToolVersionService.html":{},"controllers/UserController.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"injectables/VideoConferenceRepo.html":{},"dependencies.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["asynchronous",{"_index":25704,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["atm",{"_index":1623,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["attach",{"_index":25188,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["attachment",{"_index":1447,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"controllers/CourseController.html":{},"controllers/FileSecurityController.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["attachments",{"_index":1449,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["attempt",{"_index":24996,"title":{},"body":{"license.html":{}}}],["attempted",{"_index":16337,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["attendee",{"_index":2316,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["attendeepw",{"_index":2158,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["attendees",{"_index":2301,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["attends",{"_index":13936,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["attention",{"_index":26030,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["attribute",{"_index":13757,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["attributename",{"_index":13754,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["attributes",{"_index":4258,"title":{},"body":{"interfaces/CalendarEvent.html":{},"injectables/CalendarMapper.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["attributes.summary",{"_index":4281,"title":{},"body":{"injectables/CalendarMapper.html":{}}}],["attributes['x",{"_index":4280,"title":{},"body":{"injectables/CalendarMapper.html":{}}}],["attributevalue",{"_index":13759,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["attributions",{"_index":24976,"title":{},"body":{"license.html":{}}}],["aud",{"_index":7911,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"classes/JwtTestFactory.html":{}}}],["audience",{"_index":1589,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"classes/JwtTestFactory.html":{},"injectables/OAuthService.html":{}}}],["auf",{"_index":5498,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["autenticationresponse",{"_index":1620,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["auth",{"_index":1171,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigResponse.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"todo.html":{}}}],["auth.guard.ts",{"_index":14261,"title":{},"body":{"injectables/JwtAuthGuard.html":{}}}],["auth.provider",{"_index":11207,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["auth.provider.ts",{"_index":11156,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["auth.provider.ts:14",{"_index":11162,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["auth.provider.ts:17",{"_index":11170,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["auth.provider.ts:27",{"_index":11172,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["auth.provider.ts:39",{"_index":11166,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["auth.provider.ts:56",{"_index":11164,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["auth.provider.ts:61",{"_index":11168,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["auth_token",{"_index":2294,"title":{},"body":{"interfaces/BBBJoinResponse.html":{}}}],["authcode",{"_index":16824,"title":{},"body":{"injectables/OAuthService.html":{}}}],["authcodefailureloggableexception",{"_index":1459,"title":{"classes/AuthCodeFailureLoggableException.html":{}},"body":{"classes/AuthCodeFailureLoggableException.html":{},"injectables/HydraOauthUc.html":{},"injectables/OAuthService.html":{}}}],["authcodefailureloggableexception(error",{"_index":13414,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["authcodefailureloggableexception(errorcode",{"_index":16845,"title":{},"body":{"injectables/OAuthService.html":{}}}],["authconfig",{"_index":14267,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["authconfig.jwtoptions",{"_index":14276,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["authconfig.secret",{"_index":14275,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["authendpoint",{"_index":13532,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["authenticate",{"_index":395,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"controllers/DashboardController.html":{},"controllers/ElementController.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/ImportUserController.html":{},"injectables/LdapService.html":{},"controllers/LessonController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/NewsController.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"controllers/PseudonymController.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"controllers/SystemController.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["authenticate('jwt",{"_index":398,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"controllers/DashboardController.html":{},"controllers/ElementController.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/ImportUserController.html":{},"controllers/LessonController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/NewsController.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"controllers/PseudonymController.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"controllers/SystemController.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["authenticate('jwt')@delete(':systemid')@apiforbiddenresponse()@apiunauthorizedresponse()@apioperation({summary",{"_index":21024,"title":{},"body":{"controllers/SystemController.html":{}}}],["authenticate('jwt')@delete('auth/sessions/consent",{"_index":17257,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@delete('clients/:id",{"_index":17232,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@get('auth/sessions/consent",{"_index":17245,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@get('clients",{"_index":17247,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@get('clients/:id",{"_index":17240,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@get('consentrequest/:challenge",{"_index":17235,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@patch('consentrequest/:challenge",{"_index":17250,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@patch('loginrequest/:challenge",{"_index":17253,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@patch('logoutrequest/:challenge",{"_index":17228,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@post('clients",{"_index":17230,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@put('clients/:id",{"_index":17259,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticated",{"_index":358,"title":{},"body":{"controllers/AccountController.html":{},"classes/ConsentResponse.html":{},"interfaces/ICurrentUser.html":{},"controllers/LoginController.html":{},"classes/LoginResponse-1.html":{}}}],["authenticateuser",{"_index":16814,"title":{},"body":{"injectables/OAuthService.html":{}}}],["authenticateuser(systemid",{"_index":16823,"title":{},"body":{"injectables/OAuthService.html":{}}}],["authenticating",{"_index":25457,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["authentication",{"_index":1899,"title":{},"body":{"classes/AuthorizationParams.html":{},"interfaces/CleanOptions.html":{},"classes/ConsentResponse.html":{},"modules/ImportUserModule.html":{},"classes/KeycloakConsole.html":{},"controllers/LoginController.html":{},"interfaces/MigrationOptions.html":{},"injectables/NextcloudStrategy.html":{},"classes/OauthClientBody.html":{},"classes/RedirectResponse.html":{},"interfaces/RetryOptions.html":{},"classes/StatelessAuthorizationParams.html":{},"index.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["authentication.module",{"_index":1488,"title":{},"body":{"modules/AuthenticationApiModule.html":{}}}],["authentication/authentication",{"_index":22368,"title":{},"body":{"modules/TldrawTestModule.html":{}}}],["authentication/authentication.module",{"_index":12423,"title":{},"body":{"modules/FwuLearningContentsModule.html":{},"modules/MetaTagExtractorModule.html":{}}}],["authentication/config/x",{"_index":9231,"title":{},"body":{"modules/DeletionModule.html":{}}}],["authentication/local",{"_index":1615,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["authenticationapimodule",{"_index":1480,"title":{"modules/AuthenticationApiModule.html":{}},"body":{"modules/AuthenticationApiModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawTestModule.html":{}}}],["authenticationcodegranttokenrequest",{"_index":1491,"title":{"classes/AuthenticationCodeGrantTokenRequest.html":{}},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{},"classes/TokenRequestMapper.html":{}}}],["authenticationexecutioninforepresentation",{"_index":14493,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["authenticationflowrepresentation",{"_index":14495,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["authenticationmodule",{"_index":1484,"title":{"modules/AuthenticationModule.html":{}},"body":{"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/DeletionApiModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/UserLoginMigrationApiModule.html":{}}}],["authenticationresponse",{"_index":1602,"title":{"interfaces/AuthenticationResponse.html":{}},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["authenticationresponse.accesstoken",{"_index":1685,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["authenticationservice",{"_index":1526,"title":{"injectables/AuthenticationService.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/AuthenticationService.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/LoginUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["authenticationvalues",{"_index":1755,"title":{"classes/AuthenticationValues.html":{}},"body":{"classes/AuthenticationValues.html":{}}}],["authguard",{"_index":9077,"title":{},"body":{"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"injectables/JwtAuthGuard.html":{},"controllers/LoginController.html":{}}}],["authguard('jwt",{"_index":14262,"title":{},"body":{"injectables/JwtAuthGuard.html":{}}}],["authheader",{"_index":17476,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["authheader.split",{"_index":17479,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["authheader?.tolowercase()?.startswith('bearer",{"_index":17478,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["author",{"_index":11611,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"license.html":{},"properties.html":{}}}],["authorcomments",{"_index":6525,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["authoriation",{"_index":26043,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorisation",{"_index":3877,"title":{"additional-documentation/nestjs-application/authorisation.html":{}},"body":{"modules/BoardModule.html":{},"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["authorisation.checkpermission",{"_index":15408,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["authorisationservice",{"_index":9593,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsUc.html":{}}}],["authorizable",{"_index":2677,"title":{},"body":{"classes/BaseUc.html":{}}}],["authorizable.service",{"_index":4127,"title":{},"body":{"injectables/BoardUc.html":{}}}],["authorizable.service.ts",{"_index":3406,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/ContextExternalToolAuthorizableService.html":{}}}],["authorizable.service.ts:11",{"_index":6672,"title":{},"body":{"injectables/ContextExternalToolAuthorizableService.html":{}}}],["authorizable.service.ts:18",{"_index":3411,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["authorizable.service.ts:24",{"_index":3412,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["authorizable.service.ts:32",{"_index":3414,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["authorizable.service.ts:50",{"_index":3416,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["authorizable.service.ts:8",{"_index":6671,"title":{},"body":{"injectables/ContextExternalToolAuthorizableService.html":{}}}],["authorizable.ts",{"_index":3381,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["authorizable.ts:32",{"_index":3384,"title":{},"body":{"classes/BoardDoAuthorizable.html":{}}}],["authorizable.ts:36",{"_index":3386,"title":{},"body":{"classes/BoardDoAuthorizable.html":{}}}],["authorizable.ts:40",{"_index":3388,"title":{},"body":{"classes/BoardDoAuthorizable.html":{}}}],["authorizableobject",{"_index":1767,"title":{"interfaces/AuthorizableObject.html":{}},"body":{"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationService.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/Class.html":{},"interfaces/ClassProps.html":{},"injectables/CopyHelperService.html":{},"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"injectables/LegacySchoolRule.html":{},"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"classes/System.html":{},"interfaces/SystemProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["authorizablereferencetype",{"_index":1952,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/FilesStorageMapper.html":{},"classes/H5PContentMapper.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"injectables/ToolPermissionHelper.html":{}}}],["authorizablereferencetype.boardnode",{"_index":12261,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["authorizablereferencetype.contextexternaltoolentity",{"_index":6993,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["authorizablereferencetype.course",{"_index":7621,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/FilesStorageMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["authorizablereferencetype.lesson",{"_index":12257,"title":{},"body":{"classes/FilesStorageMapper.html":{},"classes/H5PContentMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["authorizablereferencetype.school",{"_index":12255,"title":{},"body":{"classes/FilesStorageMapper.html":{},"classes/ShareTokenContextTypeMapper.html":{}}}],["authorizablereferencetype.submission",{"_index":12259,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["authorizablereferencetype.task",{"_index":12250,"title":{},"body":{"classes/FilesStorageMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["authorizablereferencetype.user",{"_index":12253,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["authorizableuser",{"_index":21457,"title":{},"body":{"injectables/TaskCopyUC.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["authorization",{"_index":1475,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthorizationError.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/CalendarService.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/CourseCopyUC.html":{},"modules/H5PEditorModule.html":{},"modules/ImportUserModule.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"injectables/Lti11EncryptionService.html":{},"controllers/OauthSSOController.html":{},"interfaces/Rule.html":{},"injectables/SanisProvisioningStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorization.body.params.ts",{"_index":14863,"title":{},"body":{"classes/LdapAuthorizationBodyParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"classes/Oauth2AuthorizationBodyParams.html":{}}}],["authorization.body.params.ts:12",{"_index":14867,"title":{},"body":{"classes/LdapAuthorizationBodyParams.html":{}}}],["authorization.body.params.ts:13",{"_index":15650,"title":{},"body":{"classes/LocalAuthorizationBodyParams.html":{},"classes/Oauth2AuthorizationBodyParams.html":{}}}],["authorization.body.params.ts:17",{"_index":14864,"title":{},"body":{"classes/LdapAuthorizationBodyParams.html":{},"classes/Oauth2AuthorizationBodyParams.html":{}}}],["authorization.body.params.ts:21",{"_index":14865,"title":{},"body":{"classes/LdapAuthorizationBodyParams.html":{}}}],["authorization.body.params.ts:7",{"_index":14866,"title":{},"body":{"classes/LdapAuthorizationBodyParams.html":{}}}],["authorization.body.params.ts:8",{"_index":15651,"title":{},"body":{"classes/LocalAuthorizationBodyParams.html":{},"classes/Oauth2AuthorizationBodyParams.html":{}}}],["authorization.helper",{"_index":1984,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["authorization.module",{"_index":1937,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["authorization.params",{"_index":17464,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["authorization.params.ts",{"_index":20573,"title":{},"body":{"classes/StatelessAuthorizationParams.html":{}}}],["authorization.params.ts:12",{"_index":20575,"title":{},"body":{"classes/StatelessAuthorizationParams.html":{}}}],["authorization.params.ts:16",{"_index":20576,"title":{},"body":{"classes/StatelessAuthorizationParams.html":{}}}],["authorization.params.ts:20",{"_index":20577,"title":{},"body":{"classes/StatelessAuthorizationParams.html":{}}}],["authorization.params.ts:8",{"_index":20574,"title":{},"body":{"classes/StatelessAuthorizationParams.html":{}}}],["authorization.service",{"_index":1957,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["authorization.service.ts",{"_index":11192,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["authorization.service.ts:16",{"_index":11203,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["authorization.service.ts:32",{"_index":11199,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["authorization.service.ts:54",{"_index":11205,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["authorization.service.ts:6",{"_index":11197,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["authorization_code",{"_index":13536,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/SystemEntityFactory.html":{}}}],["authorization_operation",{"_index":1798,"title":{},"body":{"classes/AuthorizationError.html":{}}}],["authorization_timebox_ms",{"_index":14364,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["authorizationapimodule",{"_index":1922,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["authorizationcontext",{"_index":1775,"title":{"interfaces/AuthorizationContext.html":{}},"body":{"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/BoardDoRule.html":{},"classes/ConsentResponse.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ForbiddenLoggableException.html":{},"injectables/GroupRule.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LessonRule.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceUc.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder",{"_index":1780,"title":{"classes/AuthorizationContextBuilder.html":{}},"body":{"classes/AuthorizationContextBuilder.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonUC.html":{},"injectables/PseudonymUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SubmissionUc.html":{},"injectables/SystemUc.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolReferenceUc.html":{}}}],["authorizationcontextbuilder.read",{"_index":18267,"title":{},"body":{"injectables/PseudonymUc.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{}}}],["authorizationcontextbuilder.read([permission.context_tool_admin",{"_index":7010,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ExternalToolConfigurationUc.html":{}}}],["authorizationcontextbuilder.read([permission.context_tool_user",{"_index":22920,"title":{},"body":{"injectables/ToolLaunchUc.html":{},"injectables/ToolReferenceUc.html":{}}}],["authorizationcontextbuilder.read([permission.course_edit",{"_index":7634,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["authorizationcontextbuilder.read([permission.filestorage_view",{"_index":26002,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder.read([permission.school_tool_admin",{"_index":10148,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["authorizationcontextbuilder.read([permission.submissions_view",{"_index":20979,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["authorizationcontextbuilder.read([permission.topic_create",{"_index":15406,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["authorizationcontextbuilder.read([permissions.course_view",{"_index":25999,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder.write",{"_index":15412,"title":{},"body":{"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder.write([permission.change_team_roles",{"_index":5126,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["authorizationcontextbuilder.write([permission.context_tool_admin",{"_index":6991,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["authorizationcontextbuilder.write([permission.course_create",{"_index":7619,"title":{},"body":{"injectables/CourseCopyUC.html":{}}}],["authorizationcontextbuilder.write([permission.filestorage_create",{"_index":26001,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder.write([permission.filestorage_edit",{"_index":26003,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder.write([permission.filestorage_remove",{"_index":26004,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder.write([permission.instance",{"_index":26011,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder.write([permission.submissions_edit",{"_index":20976,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["authorizationcontextbuilder.write([permission.system_create",{"_index":21229,"title":{},"body":{"injectables/SystemUc.html":{}}}],["authorizationcontextbuilder.write([permission.topic_view",{"_index":15537,"title":{},"body":{"injectables/LessonUC.html":{}}}],["authorizationcontextbuilder.write([permission.user_login_migration_admin",{"_index":4956,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{}}}],["authorizationcontextbuilder.write(requiredpermissions",{"_index":20496,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["authorizationerror",{"_index":1794,"title":{"classes/AuthorizationError.html":{}},"body":{"classes/AuthorizationError.html":{}}}],["authorizationhelper",{"_index":1801,"title":{"injectables/AuthorizationHelper.html":{}},"body":{"injectables/AuthorizationHelper.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationService.html":{},"injectables/BoardDoRule.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"injectables/GroupRule.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LessonRule.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationloaderservice",{"_index":1845,"title":{"interfaces/AuthorizationLoaderService.html":{}},"body":{"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/LessonService.html":{}}}],["authorizationloaderservicegeneric",{"_index":1854,"title":{"interfaces/AuthorizationLoaderServiceGeneric.html":{}},"body":{"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/GroupService.html":{}}}],["authorizationmodule",{"_index":1856,"title":{"modules/AuthorizationModule.html":{}},"body":{"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/ImportUserModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LessonApiModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/NewsModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/PseudonymApiModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/TaskApiModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/ToolApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["authorizationparams",{"_index":1886,"title":{"classes/AuthorizationParams.html":{}},"body":{"classes/AuthorizationParams.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"controllers/OauthSSOController.html":{}}}],["authorizationreferencemodule",{"_index":1902,"title":{"modules/AuthorizationReferenceModule.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/LearnroomApiModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/VideoConferenceModule.html":{}}}],["authorizationreferenceservice",{"_index":1908,"title":{"injectables/AuthorizationReferenceService.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/ShareTokenUC.html":{}}}],["authorizations",{"_index":21471,"title":{},"body":{"injectables/TaskCopyUC.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationservice",{"_index":1862,"title":{"injectables/AuthorizationService.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/ColumnUc.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/CourseExportUc.html":{},"classes/DtoCreator.html":{},"injectables/ElementUc.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolUc.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonUC.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/NewsUc.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/PermissionService.html":{},"injectables/PseudonymUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionUc.html":{},"injectables/SystemUc.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/UserLoginMigrationUc.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["authorizationservice.checkpermission",{"_index":11023,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["authorizationurl",{"_index":14971,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["authorize",{"_index":17731,"title":{},"body":{"classes/PatchMyAccountParams.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizeaccess",{"_index":14366,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["authorized",{"_index":1799,"title":{},"body":{"classes/AuthorizationError.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizes",{"_index":25058,"title":{},"body":{"license.html":{}}}],["authorizing",{"_index":25094,"title":{},"body":{"license.html":{}}}],["authors",{"_index":6526,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"license.html":{}}}],["authparams",{"_index":13428,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["authservice",{"_index":5099,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/LoginUc.html":{}}}],["authtoken",{"_index":1112,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{}}}],["auto",{"_index":2009,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/FilterImportUserParams.html":{},"interfaces/IImportUserScope.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"injectables/KeycloakConfigurationService.html":{},"controllers/KeycloakManagementController.html":{},"interfaces/NameMatch.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"additional-documentation/nestjs-application.html":{}}}],["autocontextidstrategy",{"_index":1998,"title":{"injectables/AutoContextIdStrategy.html":{}},"body":{"injectables/AutoContextIdStrategy.html":{},"modules/ToolLaunchModule.html":{}}}],["autocontextnamestrategy",{"_index":2012,"title":{"injectables/AutoContextNameStrategy.html":{}},"body":{"injectables/AutoContextNameStrategy.html":{},"modules/ToolLaunchModule.html":{}}}],["automated",{"_index":25636,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["automatic",{"_index":25027,"title":{},"body":{"license.html":{}}}],["automatically",{"_index":10468,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"injectables/KeycloakConfigurationService.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["autoparameters",{"_index":10455,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["autoparameters.includes(customparameter.type",{"_index":10494,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["autoparameterstrategy",{"_index":2008,"title":{"interfaces/AutoParameterStrategy.html":{}},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{}}}],["autoparameterstrategymap",{"_index":2726,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["autoschoolidstrategy",{"_index":2058,"title":{"injectables/AutoSchoolIdStrategy.html":{}},"body":{"injectables/AutoSchoolIdStrategy.html":{},"modules/ToolLaunchModule.html":{}}}],["autoschoolnumberstrategy",{"_index":2062,"title":{"injectables/AutoSchoolNumberStrategy.html":{}},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"modules/ToolLaunchModule.html":{}}}],["avaible",{"_index":1851,"title":{},"body":{"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["available",{"_index":2554,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"interfaces/CollectionFilePath.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FilterImportUserParams.html":{},"classes/IdentityManagementOauthService.html":{},"classes/OauthLoginResponse.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"controllers/SystemController.html":{},"controllers/ToolConfigurationController.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["available_languages",{"_index":20115,"title":{},"body":{"interfaces/ServerConfig.html":{},"interfaces/UserConfig.html":{}}}],["availabledate",{"_index":4062,"title":{},"body":{"classes/BoardTaskResponse.html":{},"interfaces/ITask.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{}}}],["availableon",{"_index":21626,"title":{},"body":{"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{}}}],["availableschoolexternaltools",{"_index":10066,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{}}}],["availableschoolexternaltools.map",{"_index":10096,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["availabletool",{"_index":10106,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["availabletools",{"_index":10079,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"controllers/ToolConfigurationController.html":{}}}],["availabletools.filter",{"_index":10105,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["availabletools.foreach((externaltool",{"_index":10152,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["availabletoolsforcontext",{"_index":10104,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{}}}],["availabletoolsforcontext.foreach((tooltemplateinfo",{"_index":10163,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["avoid",{"_index":1928,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"classes/FileMetadata.html":{},"injectables/H5PLibraryManagementService.html":{},"entities/InstalledLibrary.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["await",{"_index":657,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/AntivirusService.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoService.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"controllers/BoardSubmissionController.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"interfaces/CardProps.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"interfaces/ColumnProps.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/ContentElementService.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/CopyFilesService.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUrlHandler.html":{},"controllers/DashboardController.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"injectables/DeletionExecutionUc.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionQueueConsole.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"interfaces/DrawingElementProps.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"injectables/FederalStateService.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"injectables/FileRecordRepo.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/FwuLearningContentsUc.html":{},"controllers/GroupController.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IDashboardRepo.html":{},"injectables/IdTokenService.html":{},"controllers/ImportUserController.html":{},"injectables/ImportUserRepo.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"injectables/LocalStrategy.html":{},"controllers/LoginController.html":{},"injectables/LoginUc.html":{},"injectables/LtiToolRepo.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/MigrationCheckService.html":{},"interfaces/MigrationOptions.html":{},"modules/MongoMemoryDatabaseModule.html":{},"controllers/NewsController.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"injectables/ProvisioningService.html":{},"controllers/PseudonymController.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"interfaces/RetryOptions.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"injectables/RoleService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"controllers/SystemController.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamService.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"injectables/TldrawBoardRepo.html":{},"controllers/TldrawController.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"injectables/ToolVersionService.html":{},"controllers/UserController.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"injectables/VideoConferenceRepo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["awaited",{"_index":25706,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["awaiting_scan_status",{"_index":11730,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["awaits",{"_index":22941,"title":{},"body":{"injectables/ToolPermissionHelper.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["aware",{"_index":8989,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["awareness",{"_index":24352,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["awareness(this",{"_index":24375,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["awarenesschangehandler",{"_index":24353,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["awarenessstates",{"_index":22529,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["awarenessstates.size",{"_index":22531,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["away",{"_index":24656,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["aws",{"_index":8868,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"dependencies.html":{}}}],["axios",{"_index":2083,"title":{},"body":{"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"classes/ExternalToolLogoService.html":{},"classes/FileDtoBuilder.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"injectables/OauthAdapterService.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/TokenRequestLoggableException.html":{},"dependencies.html":{}}}],["axiosconfig",{"_index":13422,"title":{},"body":{"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["axioserror",{"_index":2081,"title":{},"body":{"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/TokenRequestLoggableException.html":{}}}],["axioserror.cause",{"_index":2106,"title":{},"body":{"classes/AxiosErrorLoggable.html":{}}}],["axioserror.status",{"_index":2103,"title":{},"body":{"classes/AxiosErrorLoggable.html":{}}}],["axioserrorfactory",{"_index":2073,"title":{"classes/AxiosErrorFactory.html":{}},"body":{"classes/AxiosErrorFactory.html":{}}}],["axioserrorfactory.define",{"_index":2086,"title":{},"body":{"classes/AxiosErrorFactory.html":{}}}],["axioserrorloggable",{"_index":2095,"title":{"classes/AxiosErrorLoggable.html":{}},"body":{"classes/AxiosErrorLoggable.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/TokenRequestLoggableException.html":{}}}],["axioserrorloggable:12",{"_index":13384,"title":{},"body":{"classes/HydraOauthFailedLoggableException.html":{},"classes/TokenRequestLoggableException.html":{}}}],["axiosheaders",{"_index":2082,"title":{},"body":{"classes/AxiosErrorFactory.html":{},"classes/AxiosResponseImp.html":{}}}],["axiosheaders(props.headers",{"_index":2131,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["axiosheaderskeyvalue",{"_index":2123,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["axiosheadervalue",{"_index":2122,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["axiosrequestconfig",{"_index":4298,"title":{},"body":{"injectables/CalendarService.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["axiosresponse",{"_index":2113,"title":{},"body":{"classes/AxiosResponseImp.html":{},"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"classes/ExternalToolLogoService.html":{},"classes/FileDtoBuilder.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"injectables/OauthAdapterService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["axiosresponsefactory",{"_index":2079,"title":{},"body":{"classes/AxiosErrorFactory.html":{},"classes/AxiosResponseImp.html":{}}}],["axiosresponsefactory.build",{"_index":2085,"title":{},"body":{"classes/AxiosErrorFactory.html":{}}}],["axiosresponseimp",{"_index":2111,"title":{"classes/AxiosResponseImp.html":{}},"body":{"classes/AxiosResponseImp.html":{}}}],["axiosresponseprops",{"_index":2115,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["aythtoken",{"_index":18917,"title":{},"body":{"classes/RocketChatUserFactory.html":{}}}],["b",{"_index":2976,"title":{},"body":{"entities/Board.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/DashboardEntity.html":{},"classes/FileMetadata.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"injectables/MetaTagExtractorService.html":{},"classes/Path.html":{},"classes/SortHelper.html":{},"license.html":{}}}],["b.getmetadata().title",{"_index":8396,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["b.position",{"_index":3570,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["b.width",{"_index":16235,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["back",{"_index":568,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["backchannel",{"_index":15803,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["backchannelsupported",{"_index":17534,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["backend",{"_index":24499,"title":{},"body":{"dependencies.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["backendurl",{"_index":10326,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["backendurl}${filledtemplate",{"_index":10330,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["background",{"_index":11746,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["backup",{"_index":5192,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["backup/idm/keycloak",{"_index":25905,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["backup/setup/accounts.json",{"_index":14418,"title":{},"body":{"classes/KeycloakConfiguration.html":{}}}],["backup/setup/users.json",{"_index":14419,"title":{},"body":{"classes/KeycloakConfiguration.html":{}}}],["bad",{"_index":2090,"title":{},"body":{"classes/AxiosErrorFactory.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["badgatewayexception",{"_index":8963,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["badgatewayexception('deletionclient:executedeletions",{"_index":8999,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["badgatewayexception('deletionclient:queuedeletionrequest",{"_index":8994,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["badrequest",{"_index":2091,"title":{},"body":{"classes/AxiosErrorFactory.html":{},"injectables/TaskCopyUC.html":{}}}],["badrequestexception",{"_index":2934,"title":{},"body":{"entities/Board.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/DashboardEntity.html":{},"classes/ErrorMapper.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/GridElement.html":{},"controllers/H5PEditorController.html":{},"interfaces/IGridElement.html":{},"classes/ImportUserMapper.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{},"interfaces/ParentInfo.html":{},"injectables/ShareTokenUC.html":{},"injectables/SubmissionItemUc.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["badrequestexception('dashboard",{"_index":8417,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["badrequestexception('destination",{"_index":20487,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["badrequestexception('elements",{"_index":2970,"title":{},"body":{"entities/Board.html":{}}}],["badrequestexception('language",{"_index":23930,"title":{},"body":{"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["badrequestexception('this",{"_index":8404,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["badrequestexception('tldraw",{"_index":22328,"title":{},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["badrequestexception(`cannot",{"_index":3082,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["badrequestexception(`invalid",{"_index":3080,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["badrequestexception(errorobj.message",{"_index":9892,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["badrequestexception(errortype.file_name_empty",{"_index":11775,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["badrequestexception})@apiresponse({status",{"_index":13110,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["badrequestloggableexception",{"_index":25620,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["base",{"_index":2139,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{},"injectables/BaseDORepo.html":{},"classes/BusinessError.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"interfaces/CollectionFilePath.html":{},"classes/ContentElementResponseFactory.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"injectables/ExternalToolRepo.html":{},"classes/FileElementResponseMapper.html":{},"classes/GlobalValidationPipe.html":{},"injectables/LegacySchoolRepo.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/LtiToolRepo.html":{},"classes/RichTextElementResponseMapper.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["base.do",{"_index":8108,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LegacySchoolDo.html":{},"classes/LtiToolDO.html":{},"classes/UserDO.html":{},"classes/UserLoginMigrationDO.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["base.do.repo",{"_index":15211,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["base.do.repo.ts",{"_index":2573,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["base.entity",{"_index":226,"title":{},"body":{"entities/Account.html":{},"entities/Board.html":{},"entities/BoardElement.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/LdapConfigEntity.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/LtiTool.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/RelatedResourceProperties.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["base.factory",{"_index":576,"title":{},"body":{"classes/AccountFactory.html":{},"classes/AxiosResponseImp.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/UserFactory.html":{}}}],["base.factory.ts",{"_index":9499,"title":{},"body":{"classes/DoBaseFactory.html":{}}}],["base.interface.strategy",{"_index":16719,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["base.repo",{"_index":3966,"title":{},"body":{"injectables/BoardRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/FederalStateRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{}}}],["base.response",{"_index":2252,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{}}}],["base.response.ts",{"_index":2149,"title":{},"body":{"interfaces/BBBBaseResponse.html":{}}}],["base.strategy",{"_index":14223,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{}}}],["base.uc",{"_index":4128,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["base64",{"_index":10333,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"dependencies.html":{}}}],["base64content",{"_index":1443,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["base64logo",{"_index":10337,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["base_string",{"_index":15840,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["base_url",{"_index":18725,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["based",{"_index":2580,"title":{},"body":{"classes/BaseFactory.html":{},"interfaces/CollectionFilePath.html":{},"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/VideoConferenceCreateUc.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["basedir",{"_index":5197,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["basedo",{"_index":1852,"title":{"classes/BaseDO.html":{}},"body":{"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{},"classes/LegacySchoolDo.html":{},"injectables/LegacySchoolRule.html":{},"classes/LtiToolDO.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/ShareTokenDO.html":{},"classes/UserDO.html":{},"classes/UserLoginMigrationDO.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["basedo:5",{"_index":6652,"title":{},"body":{"classes/ContextExternalTool.html":{},"classes/ExternalTool.html":{},"classes/LegacySchoolDo.html":{},"classes/LtiToolDO.html":{},"classes/SchoolExternalTool.html":{},"classes/ShareTokenDO.html":{},"classes/UserDO.html":{},"classes/UserLoginMigrationDO.html":{},"classes/VideoConferenceDO.html":{}}}],["basedomainobject",{"_index":2538,"title":{"classes/BaseDomainObject.html":{}},"body":{"classes/BaseDomainObject.html":{}}}],["basedorepo",{"_index":2436,"title":{"injectables/BaseDORepo.html":{}},"body":{"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["basedorepo:100",{"_index":10592,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["basedorepo:113",{"_index":10593,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["basedorepo:118",{"_index":10594,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["basedorepo:13",{"_index":15965,"title":{},"body":{"injectables/LtiToolRepo.html":{},"injectables/ShareTokenRepo.html":{}}}],["basedorepo:131",{"_index":23257,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["basedorepo:19",{"_index":23248,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["basedorepo:21",{"_index":10596,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["basedorepo:24",{"_index":10577,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["basedorepo:25",{"_index":20383,"title":{},"body":{"injectables/ShareTokenRepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["basedorepo:26",{"_index":10597,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["basedorepo:28",{"_index":19739,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["basedorepo:38",{"_index":24303,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["basedorepo:40",{"_index":15203,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["basedorepo:42",{"_index":23574,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["basedorepo:43",{"_index":15972,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["basedorepo:44",{"_index":10589,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["basedorepo:46",{"_index":20382,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["basedorepo:50",{"_index":23254,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["basedorepo:51",{"_index":24302,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["basedorepo:52",{"_index":10598,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["basedorepo:57",{"_index":23573,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["basedorepo:61",{"_index":15208,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["basedorepo:65",{"_index":10590,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["basedorepo:69",{"_index":15971,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["basedorepo:75",{"_index":19745,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["basedorepo:79",{"_index":10595,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["basedorepo:85",{"_index":10588,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["basedorepo:87",{"_index":10591,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["basedorepo:91",{"_index":10587,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["basedorepo:97",{"_index":23258,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["baseentity",{"_index":2488,"title":{"classes/BaseEntity.html":{}},"body":{"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/BaseRepo.html":{},"injectables/DatabaseManagementService.html":{},"injectables/FeathersAuthProvider.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{}}}],["baseentityproperties",{"_index":2489,"title":{},"body":{"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["baseentityproperties.includes(key",{"_index":2522,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["baseentityreference",{"_index":2556,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["baseentitywithtimestamps",{"_index":225,"title":{"classes/BaseEntityWithTimestamps.html":{}},"body":{"entities/Account.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"entities/Board.html":{},"entities/BoardElement.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/ExternalToolEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/H5pEditorTempFile.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfigEntity.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LibraryName.html":{},"entities/LtiTool.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"interfaces/RelatedResourceProperties.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"entities/SchoolNews.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"interfaces/TemporaryFileProperties.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["basefactory",{"_index":501,"title":{"classes/BaseFactory.html":{}},"body":{"classes/AccountFactory.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory.define",{"_index":2135,"title":{},"body":{"classes/AxiosResponseImp.html":{},"classes/ExternalToolEntityFactory.html":{}}}],["basefactory.define(readablestreamwithfiletypeimp",{"_index":18351,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["basefactory:110",{"_index":536,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:122",{"_index":565,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:134",{"_index":573,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:14",{"_index":9508,"title":{},"body":{"classes/DomainObjectFactory.html":{}}}],["basefactory:144",{"_index":566,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:148",{"_index":553,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:15",{"_index":517,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:160",{"_index":570,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:32",{"_index":558,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:47",{"_index":542,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:60",{"_index":549,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:7",{"_index":4667,"title":{},"body":{"classes/ClassFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/UserDoFactory.html":{}}}],["basefactory:75",{"_index":545,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:84",{"_index":547,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:98",{"_index":524,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["baseimports",{"_index":16083,"title":{},"body":{"modules/ManagementModule.html":{}}}],["basename",{"_index":132,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/MetaTagExtractorService.html":{}}}],["basename(urlobject.pathname",{"_index":156,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/MetaTagExtractorService.html":{}}}],["basepath",{"_index":1420,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/CollectionFilePath.html":{}}}],["basepermission",{"_index":26032,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["baserepo",{"_index":728,"title":{"injectables/BaseRepo.html":{}},"body":{"injectables/AccountRepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/DashboardRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/H5PContentRepo.html":{},"interfaces/IDashboardRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserRepo.html":{}}}],["baserepo:14",{"_index":7691,"title":{},"body":{"injectables/CourseGroupRepo.html":{}}}],["baserepo:15",{"_index":20893,"title":{},"body":{"injectables/SubmissionRepo.html":{},"injectables/TeamsRepo.html":{}}}],["baserepo:17",{"_index":14022,"title":{},"body":{"injectables/ImportUserRepo.html":{},"injectables/UserRepo.html":{}}}],["baserepo:18",{"_index":760,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BoardRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserRepo.html":{}}}],["baserepo:20",{"_index":15447,"title":{},"body":{"injectables/LessonRepo.html":{},"injectables/RoleRepo.html":{}}}],["baserepo:22",{"_index":765,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BoardRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserRepo.html":{}}}],["baserepo:26",{"_index":762,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BoardRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserRepo.html":{}}}],["baserepo:30",{"_index":763,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TemporaryFileRepo.html":{}}}],["baserepo:33",{"_index":3960,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["baserepo:65",{"_index":7817,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["baseresponsemapper",{"_index":2639,"title":{"interfaces/BaseResponseMapper.html":{}},"body":{"interfaces/BaseResponseMapper.html":{},"classes/ContentElementResponseFactory.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["baseroute",{"_index":1628,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["baseuc",{"_index":2649,"title":{"classes/BaseUc.html":{}},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["baseuc:13",{"_index":4123,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["baseuc:29",{"_index":4125,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["baseuc:45",{"_index":4124,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["baseurl",{"_index":2332,"title":{},"body":{"injectables/BBBService.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/CalendarService.html":{},"classes/CustomParameterFactory.html":{},"injectables/DeletionClient.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/IKeycloakSettings.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{},"interfaces/LibrariesContentType.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/ToolLaunchData.html":{}}}],["baseurl.com",{"_index":8203,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["bash",{"_index":25855,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["basic",{"_index":14532,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["basically",{"_index":18648,"title":{},"body":{"classes/ReferencesService.html":{}}}],["basictoolconfig",{"_index":2681,"title":{"classes/BasicToolConfig.html":{}},"body":{"classes/BasicToolConfig.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolFactory.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["basictoolconfigdto",{"_index":10720,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["basictoolconfigentity",{"_index":2694,"title":{"classes/BasicToolConfigEntity.html":{}},"body":{"classes/BasicToolConfigEntity.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolRepoMapper.html":{}}}],["basictoolconfigfactory",{"_index":8200,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["basictoolconfigfactory.build",{"_index":8247,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["basictoolconfigparams",{"_index":2703,"title":{"classes/BasicToolConfigParams.html":{}},"body":{"classes/BasicToolConfigParams.html":{},"classes/ExternalToolCreateParams.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["basictoolconfigresponse",{"_index":2713,"title":{"classes/BasicToolConfigResponse.html":{}},"body":{"classes/BasicToolConfigResponse.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["basictoollaunchstrategy",{"_index":2721,"title":{"injectables/BasicToolLaunchStrategy.html":{}},"body":{"injectables/BasicToolLaunchStrategy.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolLaunchService.html":{}}}],["batch",{"_index":2858,"title":{},"body":{"interfaces/BatchDeletionSummary.html":{},"injectables/BatchDeletionUc.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{}}}],["batchcounter",{"_index":8874,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["batchdeletionservice",{"_index":2801,"title":{"injectables/BatchDeletionService.html":{}},"body":{"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"modules/DeletionConsoleModule.html":{}}}],["batchdeletionsummary",{"_index":2850,"title":{"interfaces/BatchDeletionSummary.html":{}},"body":{"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"injectables/BatchDeletionUc.html":{}}}],["batchdeletionsummarybuilder",{"_index":2860,"title":{"classes/BatchDeletionSummaryBuilder.html":{}},"body":{"classes/BatchDeletionSummaryBuilder.html":{},"injectables/BatchDeletionUc.html":{}}}],["batchdeletionsummarybuilder.build(endtime",{"_index":2915,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["batchdeletionsummarydetail",{"_index":2857,"title":{"interfaces/BatchDeletionSummaryDetail.html":{}},"body":{"interfaces/BatchDeletionSummary.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{}}}],["batchdeletionsummarydetailbuilder",{"_index":2870,"title":{"classes/BatchDeletionSummaryDetailBuilder.html":{}},"body":{"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{}}}],["batchdeletionsummaryoverallstatus",{"_index":2865,"title":{},"body":{"classes/BatchDeletionSummaryBuilder.html":{},"injectables/BatchDeletionUc.html":{}}}],["batchdeletionsummaryoverallstatus.failure",{"_index":2866,"title":{},"body":{"classes/BatchDeletionSummaryBuilder.html":{}}}],["batchdeletionuc",{"_index":2874,"title":{"injectables/BatchDeletionUc.html":{}},"body":{"injectables/BatchDeletionUc.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionQueueConsole.html":{}}}],["batchsize",{"_index":8830,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/FilesRepo.html":{}}}],["bbb",{"_index":2153,"title":{},"body":{"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceConfiguration.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"dependencies.html":{}}}],["bbbbasemeetingconfig",{"_index":2136,"title":{"classes/BBBBaseMeetingConfig.html":{}},"body":{"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{},"injectables/BBBService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["bbbbasemeetingconfig:6",{"_index":2177,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{}}}],["bbbbaseresponse",{"_index":2147,"title":{"interfaces/BBBBaseResponse.html":{}},"body":{"interfaces/BBBBaseResponse.html":{},"interfaces/BBBCreateResponse.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"classes/VideoConference-1.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["bbbcreateconfig",{"_index":2155,"title":{"classes/BBBCreateConfig.html":{}},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{}}}],["bbbcreateconfigbuilder",{"_index":2199,"title":{"classes/BBBCreateConfigBuilder.html":{}},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/VideoConferenceCreateUc.html":{}}}],["bbbcreateresponse",{"_index":2241,"title":{"interfaces/BBBCreateResponse.html":{}},"body":{"interfaces/BBBCreateResponse.html":{},"injectables/BBBService.html":{}}}],["bbbjoinconfig",{"_index":2253,"title":{"classes/BBBJoinConfig.html":{}},"body":{"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BBBService.html":{}}}],["bbbjoinconfigbuilder",{"_index":2275,"title":{"classes/BBBJoinConfigBuilder.html":{}},"body":{"classes/BBBJoinConfigBuilder.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["bbbjoinresponse",{"_index":2292,"title":{"interfaces/BBBJoinResponse.html":{}},"body":{"interfaces/BBBJoinResponse.html":{}}}],["bbbmeetinginforesponse",{"_index":2298,"title":{"interfaces/BBBMeetingInfoResponse.html":{}},"body":{"interfaces/BBBMeetingInfoResponse.html":{},"injectables/BBBService.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceInfo.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["bbbresp",{"_index":2398,"title":{},"body":{"injectables/BBBService.html":{}}}],["bbbresp.response.message",{"_index":2404,"title":{},"body":{"injectables/BBBService.html":{}}}],["bbbresp.response.returncode",{"_index":2401,"title":{},"body":{"injectables/BBBService.html":{}}}],["bbbresponse",{"_index":2323,"title":{"interfaces/BBBResponse.html":{}},"body":{"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"classes/VideoConference-1.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["bbbrole",{"_index":2222,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["bbbrole.moderator",{"_index":2236,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["bbbrole.viewer",{"_index":2238,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"classes/VideoConferenceMapper.html":{}}}],["bbbservice",{"_index":2325,"title":{"injectables/BBBService.html":{}},"body":{"injectables/BBBService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"modules/VideoConferenceModule.html":{}}}],["bbbservice:create",{"_index":2407,"title":{},"body":{"injectables/BBBService.html":{}}}],["bbbservice:end",{"_index":2413,"title":{},"body":{"injectables/BBBService.html":{}}}],["bbbservice:getmeetinginfo",{"_index":2415,"title":{},"body":{"injectables/BBBService.html":{}}}],["bbbsettings",{"_index":2339,"title":{},"body":{"injectables/BBBService.html":{},"interfaces/IBbbSettings.html":{},"modules/VideoConferenceModule.html":{}}}],["bbbstatus",{"_index":2152,"title":{},"body":{"interfaces/BBBBaseResponse.html":{},"injectables/BBBService.html":{}}}],["bbbstatus.success",{"_index":2402,"title":{},"body":{"injectables/BBBService.html":{}}}],["bc",{"_index":1945,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["bcc",{"_index":1457,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["bcrypt",{"_index":923,"title":{},"body":{"injectables/AccountServiceDb.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LocalStrategy.html":{}}}],["bcrypt.compare(comparepassword",{"_index":959,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["bcrypt.compare(enteredpassword",{"_index":15680,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["bcrypt.hash(password",{"_index":963,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["bcryptjs",{"_index":924,"title":{},"body":{"injectables/AccountServiceDb.html":{},"injectables/LocalStrategy.html":{},"dependencies.html":{}}}],["bearer",{"_index":1613,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"controllers/OauthSSOController.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/TestApiClient.html":{}}}],["become",{"_index":76,"title":{},"body":{"classes/AbstractAccountService.html":{},"license.html":{}}}],["becomes",{"_index":24695,"title":{},"body":{"license.html":{}}}],["becoming",{"_index":25970,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["beetween",{"_index":4631,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["before",{"_index":409,"title":{},"body":{"controllers/AccountController.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"entities/CourseNews.html":{},"classes/MongoPatterns.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/PermissionService.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["beforeall",{"_index":25755,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["beforeall(async",{"_index":25733,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["beforeeach",{"_index":25756,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["beforehand",{"_index":8970,"title":{},"body":{"injectables/DeletionClient.html":{},"additional-documentation/nestjs-application.html":{}}}],["begin",{"_index":8991,"title":{},"body":{"injectables/DeletionClient.html":{},"classes/DeletionQueueConsole.html":{}}}],["beginning",{"_index":24612,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["behalf",{"_index":24796,"title":{},"body":{"license.html":{}}}],["behaves",{"_index":25621,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["behavior",{"_index":803,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/VideoConferenceCreateUc.html":{}}}],["behaviour",{"_index":5269,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"modules/CoreModule.html":{},"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["behind",{"_index":22186,"title":{},"body":{"injectables/TimeoutInterceptor.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["being",{"_index":2597,"title":{},"body":{"classes/BaseFactory.html":{},"classes/CardSkeletonResponse.html":{},"injectables/LdapStrategy.html":{},"classes/ShareTokenBodyParams.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["believe",{"_index":25088,"title":{},"body":{"license.html":{}}}],["belong",{"_index":4478,"title":{},"body":{"injectables/CardService.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["belongs",{"_index":6299,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["below",{"_index":24802,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["benefit",{"_index":24680,"title":{},"body":{"license.html":{}}}],["ber",{"_index":5543,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["berechtigungen",{"_index":5526,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["beside",{"_index":25313,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["best",{"_index":25185,"title":{},"body":{"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["better",{"_index":25201,"title":{},"body":{"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["bettermarks",{"_index":11241,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["between",{"_index":612,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/BatchDeletionService.html":{},"interfaces/CleanOptions.html":{},"classes/DeletionQueueConsole.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"injectables/NextcloudStrategy.html":{},"interfaces/RetryOptions.html":{},"injectables/TaskCopyUC.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["beware",{"_index":25427,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["beyond",{"_index":24867,"title":{},"body":{"license.html":{}}}],["bezeichnung",{"_index":19429,"title":{},"body":{"classes/SanisGruppeResponse.html":{}}}],["big",{"_index":25416,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["bigbluebutton",{"_index":24073,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["bigbluebutton/api/${callname",{"_index":2430,"title":{},"body":{"injectables/BBBService.html":{}}}],["binary",{"_index":7160,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["binary'})@allow",{"_index":11681,"title":{},"body":{"classes/FileParams.html":{}}}],["bind",{"_index":15021,"title":{},"body":{"injectables/LdapService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["binding",{"_index":15066,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["bindstate",{"_index":22396,"title":{},"body":{"classes/TldrawWs.html":{}}}],["birthday",{"_index":11142,"title":{},"body":{"classes/ExternalUserDto.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisResponseMapper.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserProperties.html":{}}}],["birthtime",{"_index":11576,"title":{},"body":{"classes/FileMetadata.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["blackbox",{"_index":25644,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["block",{"_index":25678,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["blocked",{"_index":7092,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["blocks",{"_index":25647,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["blti",{"_index":5885,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["blti001_bundle",{"_index":5892,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["blti001_icon",{"_index":5894,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["bn",{"_index":3577,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["bn.type",{"_index":3581,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["board",{"_index":2050,"title":{"entities/Board.html":{}},"body":{"injectables/AutoContextNameStrategy.html":{},"classes/BaseUc.html":{},"entities/Board.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"interfaces/BoardDoBuilder.html":{},"injectables/BoardDoRepo.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/CardService.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"interfaces/ColumnProps.html":{},"injectables/ColumnService.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementService.html":{},"injectables/CourseCopyService.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/DtoCreator.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"controllers/GroupController.html":{},"modules/LearnroomApiModule.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MoveColumnBodyParams.html":{},"injectables/NexboardService.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemService.html":{},"modules/ToolApiModule.html":{},"injectables/ToolPermissionHelper.html":{}}}],["board.'})@apiresponse({status",{"_index":3194,"title":{},"body":{"controllers/BoardController.html":{}}}],["board.children.map((column",{"_index":4000,"title":{},"body":{"classes/BoardResponseMapper.html":{}}}],["board.context",{"_index":4133,"title":{},"body":{"injectables/BoardUc.html":{}}}],["board.context.type",{"_index":2052,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["board.createdat",{"_index":4006,"title":{},"body":{"classes/BoardResponseMapper.html":{}}}],["board.displaycolor",{"_index":19064,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["board.do",{"_index":3137,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{}}}],["board.do.factory.ts",{"_index":5444,"title":{},"body":{"classes/ColumnBoardFactory.html":{}}}],["board.do.factory.ts:10",{"_index":5446,"title":{},"body":{"classes/ColumnBoardFactory.html":{}}}],["board.do.ts",{"_index":5400,"title":{},"body":{"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["board.do.ts:10",{"_index":5404,"title":{},"body":{"classes/ColumnBoard.html":{}}}],["board.do.ts:14",{"_index":5406,"title":{},"body":{"classes/ColumnBoard.html":{}}}],["board.do.ts:18",{"_index":5408,"title":{},"body":{"classes/ColumnBoard.html":{}}}],["board.do.ts:6",{"_index":5403,"title":{},"body":{"classes/ColumnBoard.html":{}}}],["board.elements.foreach((element",{"_index":19066,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["board.getbytargetid(elementid",{"_index":19224,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["board.id",{"_index":3838,"title":{},"body":{"injectables/BoardManagementUc.html":{},"classes/BoardResponseMapper.html":{}}}],["board.isarchived",{"_index":19065,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["board.module",{"_index":3016,"title":{},"body":{"modules/BoardApiModule.html":{}}}],["board.references.getitems",{"_index":3975,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["board.references.init",{"_index":3974,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["board.reorderelements(orderedlist",{"_index":19227,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["board.repo.ts",{"_index":22207,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["board.repo.ts:11",{"_index":22232,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["board.repo.ts:13",{"_index":22230,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["board.repo.ts:15",{"_index":22233,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["board.repo.ts:17",{"_index":22235,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["board.repo.ts:19",{"_index":22217,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["board.repo.ts:21",{"_index":22231,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["board.repo.ts:38",{"_index":22221,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["board.repo.ts:46",{"_index":22229,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["board.repo.ts:53",{"_index":22225,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["board.repo.ts:68",{"_index":22219,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["board.response",{"_index":3736,"title":{},"body":{"classes/BoardElementResponse.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["board.response.ts",{"_index":3024,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.response.ts:15",{"_index":3030,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.response.ts:19",{"_index":3033,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.response.ts:22",{"_index":3031,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.response.ts:25",{"_index":3029,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.response.ts:28",{"_index":3034,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.response.ts:31",{"_index":3028,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.response.ts:4",{"_index":3027,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.roomid",{"_index":19063,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["board.service.ts",{"_index":5462,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:145",{"_index":5471,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:20",{"_index":5467,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:27",{"_index":5480,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:33",{"_index":5481,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:39",{"_index":5478,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:52",{"_index":5483,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:57",{"_index":5469,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:72",{"_index":5476,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:76",{"_index":5486,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:81",{"_index":5473,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.syncboardelementreferences(boardelementtargets",{"_index":19196,"title":{},"body":{"injectables/RoomsService.html":{}}}],["board.title",{"_index":3999,"title":{},"body":{"classes/BoardResponseMapper.html":{},"injectables/ColumnBoardService.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["board.types",{"_index":9632,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["board.updatedat",{"_index":4005,"title":{},"body":{"classes/BoardResponseMapper.html":{}}}],["board/board",{"_index":3023,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["board/board.entity.ts",{"_index":2922,"title":{},"body":{"entities/Board.html":{}}}],["board/board.entity.ts:29",{"_index":2926,"title":{},"body":{"entities/Board.html":{}}}],["board/board.entity.ts:32",{"_index":2930,"title":{},"body":{"entities/Board.html":{}}}],["board/board.response.ts",{"_index":20524,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["board/board.response.ts:19",{"_index":20529,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["board/board.response.ts:25",{"_index":20530,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["board/board.response.ts:30",{"_index":20526,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["board/board.response.ts:36",{"_index":20527,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["board/board.response.ts:41",{"_index":20528,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["board/board.response.ts:6",{"_index":20525,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["board/boardelement.entity.ts",{"_index":3716,"title":{},"body":{"entities/BoardElement.html":{}}}],["board/boardelement.entity.ts:26",{"_index":3719,"title":{},"body":{"entities/BoardElement.html":{}}}],["board/boardelement.entity.ts:30",{"_index":3717,"title":{},"body":{"entities/BoardElement.html":{}}}],["board/column",{"_index":5556,"title":{},"body":{"entities/ColumnBoardTarget.html":{},"entities/ColumnboardBoardElement.html":{}}}],["board/lesson",{"_index":15362,"title":{},"body":{"entities/LessonBoardElement.html":{}}}],["board/task",{"_index":21359,"title":{},"body":{"entities/TaskBoardElement.html":{}}}],["boardapimodule",{"_index":3001,"title":{"modules/BoardApiModule.html":{}},"body":{"modules/BoardApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["boardauthorizable",{"_index":20859,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["boardauthorizable.users.filter((user",{"_index":20861,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["boardcolumnboardresponse",{"_index":3021,"title":{"classes/BoardColumnBoardResponse.html":{}},"body":{"classes/BoardColumnBoardResponse.html":{},"classes/BoardElementResponse.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["boardcomposite",{"_index":3039,"title":{"classes/BoardComposite.html":{}},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["boardcomposite:13",{"_index":9540,"title":{},"body":{"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{}}}],["boardcomposite:14",{"_index":5392,"title":{},"body":{"classes/Column.html":{},"classes/SubmissionContainerElement.html":{}}}],["boardcomposite:17",{"_index":9538,"title":{},"body":{"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{}}}],["boardcomposite:19",{"_index":4315,"title":{},"body":{"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["boardcomposite:21",{"_index":9539,"title":{},"body":{"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{}}}],["boardcomposite:22",{"_index":5402,"title":{},"body":{"classes/ColumnBoard.html":{},"classes/RichTextElement.html":{}}}],["boardcomposite:23",{"_index":5391,"title":{},"body":{"classes/Column.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["boardcomposite:25",{"_index":11440,"title":{},"body":{"classes/FileElement.html":{}}}],["boardcomposite:26",{"_index":18830,"title":{},"body":{"classes/RichTextElement.html":{}}}],["boardcomposite:27",{"_index":4314,"title":{},"body":{"classes/Card.html":{},"classes/ColumnBoard.html":{}}}],["boardcomposite:29",{"_index":11441,"title":{},"body":{"classes/FileElement.html":{},"classes/SubmissionItem.html":{}}}],["boardcomposite:30",{"_index":18831,"title":{},"body":{"classes/RichTextElement.html":{}}}],["boardcomposite:31",{"_index":5401,"title":{},"body":{"classes/ColumnBoard.html":{}}}],["boardcomposite:33",{"_index":20769,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["boardcomposite:35",{"_index":4317,"title":{},"body":{"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["boardcomposite:37",{"_index":15597,"title":{},"body":{"classes/LinkElement.html":{}}}],["boardcomposite:38",{"_index":4312,"title":{},"body":{"classes/Card.html":{}}}],["boardcomposite:39",{"_index":4316,"title":{},"body":{"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["boardcomposite:41",{"_index":15595,"title":{},"body":{"classes/LinkElement.html":{}}}],["boardcomposite:42",{"_index":4313,"title":{},"body":{"classes/Card.html":{}}}],["boardcomposite:45",{"_index":15596,"title":{},"body":{"classes/LinkElement.html":{}}}],["boardcompositeprops",{"_index":3093,"title":{"interfaces/BoardCompositeProps.html":{}},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["boardcompositevisitor",{"_index":3050,"title":{"interfaces/BoardCompositeVisitor.html":{}},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["boardcompositevisitorasync",{"_index":3054,"title":{"interfaces/BoardCompositeVisitorAsync.html":{}},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["boardcontext",{"_index":3237,"title":{},"body":{"controllers/BoardController.html":{}}}],["boardcontextresponse",{"_index":3173,"title":{"classes/BoardContextResponse.html":{}},"body":{"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{}}}],["boardcontextresponse(boardcontext",{"_index":3239,"title":{},"body":{"controllers/BoardController.html":{}}}],["boardcontextresponse})@apiresponse({status",{"_index":3207,"title":{},"body":{"controllers/BoardController.html":{}}}],["boardcontroller",{"_index":3011,"title":{"controllers/BoardController.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/BoardController.html":{}}}],["boardcopy",{"_index":3314,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["boardcopyparams",{"_index":3270,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["boardcopyservice",{"_index":3251,"title":{"injectables/BoardCopyService.html":{}},"body":{"injectables/BoardCopyService.html":{},"injectables/CourseCopyService.html":{},"modules/LearnroomModule.html":{}}}],["boarddo",{"_index":2664,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/SubmissionItemUc.html":{}}}],["boarddo.id",{"_index":3422,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/ColumnBoardService.html":{}}}],["boarddoauthorizable",{"_index":2668,"title":{"classes/BoardDoAuthorizable.html":{}},"body":{"classes/BaseUc.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRule.html":{},"injectables/CardUc.html":{},"injectables/ToolPermissionHelper.html":{},"interfaces/UserBoardRoles.html":{}}}],["boarddoauthorizable.requireduserrole",{"_index":2670,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardDoRule.html":{}}}],["boarddoauthorizable.users.find",{"_index":3688,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["boarddoauthorizable.users.find((u",{"_index":2673,"title":{},"body":{"classes/BaseUc.html":{}}}],["boarddoauthorizableprops",{"_index":3401,"title":{"interfaces/BoardDoAuthorizableProps.html":{}},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["boarddoauthorizableservice",{"_index":2654,"title":{"injectables/BoardDoAuthorizableService.html":{}},"body":{"classes/BaseUc.html":{},"injectables/BoardDoAuthorizableService.html":{},"modules/BoardModule.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/SubmissionItemUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["boarddobuilder",{"_index":3441,"title":{"interfaces/BoardDoBuilder.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["boarddobuilderimpl",{"_index":3486,"title":{"classes/BoardDoBuilderImpl.html":{}},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{}}}],["boarddobuilderimpl(children).builddomainobject(boardnode",{"_index":3652,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["boarddobuilderimpl(descendants).builddomainobject(boardnode",{"_index":3643,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["boarddocopyparams",{"_index":3590,"title":{},"body":{"injectables/BoardDoCopyService.html":{}}}],["boarddocopyservice",{"_index":3587,"title":{"injectables/BoardDoCopyService.html":{}},"body":{"injectables/BoardDoCopyService.html":{},"modules/BoardModule.html":{},"injectables/ColumnBoardCopyService.html":{}}}],["boarddorepo",{"_index":3410,"title":{"injectables/BoardDoRepo.html":{}},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoService.html":{},"modules/BoardModule.html":{},"injectables/CardService.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{},"injectables/SubmissionItemService.html":{}}}],["boarddorule",{"_index":1865,"title":{"injectables/BoardDoRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/BoardDoRule.html":{},"injectables/RuleManager.html":{}}}],["boarddos",{"_index":4514,"title":{},"body":{"injectables/CardUc.html":{}}}],["boarddos.map((boarddo",{"_index":4538,"title":{},"body":{"injectables/CardUc.html":{}}}],["boarddoservice",{"_index":3693,"title":{"injectables/BoardDoService.html":{}},"body":{"injectables/BoardDoService.html":{},"modules/BoardModule.html":{},"injectables/CardService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{},"injectables/SubmissionItemService.html":{}}}],["boardelement",{"_index":2942,"title":{"entities/BoardElement.html":{}},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"entities/BoardElement.html":{},"entities/ColumnboardBoardElement.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"classes/DtoCreator.html":{},"entities/LessonBoardElement.html":{},"injectables/RoomBoardDTOFactory.html":{},"entities/TaskBoardElement.html":{},"injectables/ToolPermissionHelper.html":{}}}],["boardelement.entity",{"_index":2944,"title":{},"body":{"entities/Board.html":{},"entities/ColumnboardBoardElement.html":{},"entities/LessonBoardElement.html":{},"entities/TaskBoardElement.html":{}}}],["boardelement.entity.ts",{"_index":15363,"title":{},"body":{"entities/LessonBoardElement.html":{},"entities/TaskBoardElement.html":{}}}],["boardelement.entity.ts:13",{"_index":15365,"title":{},"body":{"entities/LessonBoardElement.html":{}}}],["boardelement.entity.ts:16",{"_index":21360,"title":{},"body":{"entities/TaskBoardElement.html":{}}}],["boardelement.ts",{"_index":5682,"title":{},"body":{"entities/ColumnboardBoardElement.html":{}}}],["boardelement.ts:13",{"_index":5684,"title":{},"body":{"entities/ColumnboardBoardElement.html":{}}}],["boardelementprops",{"_index":3722,"title":{},"body":{"entities/BoardElement.html":{}}}],["boardelementreference",{"_index":2943,"title":{},"body":{"entities/Board.html":{},"entities/BoardElement.html":{}}}],["boardelementresponse",{"_index":3726,"title":{"classes/BoardElementResponse.html":{}},"body":{"classes/BoardElementResponse.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["boardelements",{"_index":3275,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["boardelements.map((element",{"_index":3326,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["boardelementservice",{"_index":22929,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["boardelementtarget",{"_index":2999,"title":{},"body":{"entities/Board.html":{}}}],["boardelementtargets",{"_index":19195,"title":{},"body":{"injectables/RoomsService.html":{}}}],["boardelementtargets.filter(isnotcontained).map(maptoboardelement",{"_index":2995,"title":{},"body":{"entities/Board.html":{}}}],["boardelementtargets.includes(ref.target",{"_index":2985,"title":{},"body":{"entities/Board.html":{}}}],["boardelementtype",{"_index":3305,"title":{},"body":{"injectables/BoardCopyService.html":{},"entities/BoardElement.html":{},"entities/ColumnboardBoardElement.html":{},"classes/DtoCreator.html":{},"entities/LessonBoardElement.html":{},"injectables/RoomBoardDTOFactory.html":{},"entities/TaskBoardElement.html":{}}}],["boardelementtype.columnboard",{"_index":3338,"title":{},"body":{"injectables/BoardCopyService.html":{},"entities/ColumnboardBoardElement.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["boardelementtype.lesson",{"_index":3335,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/DtoCreator.html":{},"entities/LessonBoardElement.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["boardelementtype.task",{"_index":3331,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"entities/TaskBoardElement.html":{}}}],["boardexternalreference",{"_index":3623,"title":{"interfaces/BoardExternalReference.html":{}},"body":{"injectables/BoardDoRepo.html":{},"interfaces/BoardExternalReference.html":{},"injectables/BoardUc.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{}}}],["boardexternalreferencetype",{"_index":2030,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"classes/BoardContextResponse.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardExternalReference.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardUrlHandler.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"injectables/RoomsService.html":{}}}],["boardexternalreferencetype.course",{"_index":2053,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardUrlHandler.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/RoomsService.html":{}}}],["boardid",{"_index":3789,"title":{},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardUc.html":{},"classes/BoardUrlParams.html":{},"injectables/ColumnBoardService.html":{}}}],["boardids",{"_index":5484,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["boardlessonresponse",{"_index":3730,"title":{"classes/BoardLessonResponse.html":{}},"body":{"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["boardmanagementconsole",{"_index":3766,"title":{"classes/BoardManagementConsole.html":{}},"body":{"classes/BoardManagementConsole.html":{},"modules/ManagementModule.html":{}}}],["boardmanagementuc",{"_index":3772,"title":{"injectables/BoardManagementUc.html":{}},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/ManagementModule.html":{}}}],["boardmodule",{"_index":1931,"title":{"modules/BoardModule.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/LearnroomModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{}}}],["boardnode",{"_index":3431,"title":{"entities/BoardNode.html":{}},"body":{"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{},"interfaces/CopyFileDO.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/FileDO.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/ParentInfo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["boardnode.alternativetext",{"_index":3548,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.ancestorids",{"_index":3669,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["boardnode.caption",{"_index":3546,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.completed",{"_index":3560,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.context",{"_index":3533,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.contextexternaltool?.id",{"_index":3563,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.createdat",{"_index":3531,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.description",{"_index":3555,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.duedate",{"_index":3558,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.entity",{"_index":4419,"title":{},"body":{"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["boardnode.foreach((bn",{"_index":3584,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.height",{"_index":3543,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.id",{"_index":3529,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["boardnode.imageurl",{"_index":3551,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.inputformat",{"_index":3554,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.joinpath(props.parent.path",{"_index":3895,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["boardnode.joinpath(this.path",{"_index":3907,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["boardnode.parentid",{"_index":3666,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["boardnode.text",{"_index":3552,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.title",{"_index":3530,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.updatedat",{"_index":3532,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.url",{"_index":3549,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.usedobuilder(this",{"_index":3524,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.userid",{"_index":3561,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnodeauthorizableservice",{"_index":18581,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["boardnodeprops",{"_index":3889,"title":{"interfaces/BoardNodeProps.html":{}},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["boardnoderepo",{"_index":3609,"title":{"injectables/BoardNodeRepo.html":{}},"body":{"injectables/BoardDoRepo.html":{},"modules/BoardModule.html":{},"injectables/BoardNodeRepo.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["boardnodes",{"_index":3647,"title":{},"body":{"injectables/BoardDoRepo.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["boardnodes.map((boardnode",{"_index":3650,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["boardnodes.map((o",{"_index":3663,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["boardnodes.reduce((map",{"_index":3655,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["boardnodetype",{"_index":3513,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["boardnodetype.card",{"_index":3534,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{}}}],["boardnodetype.column",{"_index":3526,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/ColumnNode.html":{}}}],["boardnodetype.column_board",{"_index":5454,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["boardnodetype.drawing_element",{"_index":3539,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{}}}],["boardnodetype.external_tool",{"_index":3541,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["boardnodetype.file_element",{"_index":3536,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{}}}],["boardnodetype.link_element",{"_index":3537,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{}}}],["boardnodetype.rich_text_element",{"_index":3538,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{}}}],["boardnodetype.submission_container_element",{"_index":3540,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{}}}],["boardnodetype.submission_item",{"_index":3556,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["boardprops",{"_index":2951,"title":{},"body":{"entities/Board.html":{}}}],["boardrepo",{"_index":3263,"title":{"injectables/BoardRepo.html":{}},"body":{"injectables/BoardCopyService.html":{},"injectables/BoardRepo.html":{},"injectables/CourseCopyService.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{}}}],["boardresponse",{"_index":3224,"title":{"classes/BoardResponse.html":{}},"body":{"controllers/BoardController.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{}}}],["boardresponsemapper",{"_index":3228,"title":{"classes/BoardResponseMapper.html":{}},"body":{"controllers/BoardController.html":{},"classes/BoardResponseMapper.html":{}}}],["boardresponsemapper.maptoresponse(board",{"_index":3235,"title":{},"body":{"controllers/BoardController.html":{}}}],["boardresponse})@apiresponse({status",{"_index":3212,"title":{},"body":{"controllers/BoardController.html":{}}}],["boardroles",{"_index":3389,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRule.html":{},"interfaces/UserBoardRoles.html":{}}}],["boardroles.editor",{"_index":3435,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["boardroles.reader",{"_index":3440,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["boards",{"_index":3185,"title":{},"body":{"controllers/BoardController.html":{},"injectables/ColumnBoardService.html":{}}}],["boardservice",{"_index":22930,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["boardstatus",{"_index":3293,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CourseCopyService.html":{}}}],["boardstatus.elements",{"_index":3371,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["boardsubmissioncontroller",{"_index":3015,"title":{"controllers/BoardSubmissionController.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/BoardSubmissionController.html":{}}}],["boardtask",{"_index":19072,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.availabledate",{"_index":19087,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.course",{"_index":19083,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.createdat",{"_index":19080,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.description",{"_index":19093,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.duedate",{"_index":19089,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.getparentdata",{"_index":19074,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.id",{"_index":19078,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.name",{"_index":19079,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.updatedat",{"_index":19081,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtaskdesc",{"_index":19073,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtaskdesc.color",{"_index":19091,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtaskresponse",{"_index":3729,"title":{"classes/BoardTaskResponse.html":{}},"body":{"classes/BoardElementResponse.html":{},"classes/BoardTaskResponse.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["boardtaskstatus",{"_index":19075,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtaskstatusmapper",{"_index":4077,"title":{"classes/BoardTaskStatusMapper.html":{}},"body":{"classes/BoardTaskStatusMapper.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["boardtaskstatusmapper.maptoresponse(status",{"_index":19076,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtaskstatusresponse",{"_index":4073,"title":{"classes/BoardTaskStatusResponse.html":{}},"body":{"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{}}}],["boardtaskstatusresponse(status",{"_index":4083,"title":{},"body":{"classes/BoardTaskStatusMapper.html":{}}}],["boarduc",{"_index":3005,"title":{"injectables/BoardUc.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/BoardController.html":{},"injectables/BoardUc.html":{},"controllers/ColumnController.html":{}}}],["boardurlhandler",{"_index":4141,"title":{"injectables/BoardUrlHandler.html":{}},"body":{"injectables/BoardUrlHandler.html":{},"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagInternalUrlService.html":{}}}],["boardurlparams",{"_index":3192,"title":{"classes/BoardUrlParams.html":{}},"body":{"controllers/BoardController.html":{},"classes/BoardUrlParams.html":{}}}],["boardvalue",{"_index":2043,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["bodies",{"_index":1217,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["body",{"_index":379,"title":{},"body":{"controllers/AccountController.html":{},"interfaces/AdminIdAndToken.html":{},"interfaces/AuthenticationResponse.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/DashboardController.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/FileSecurityController.html":{},"controllers/H5PEditorController.html":{},"controllers/ImportUserController.html":{},"injectables/LdapStrategy.html":{},"controllers/LoginController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/NewsController.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"controllers/RoomsController.html":{},"injectables/S3ClientAdapter.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{},"injectables/TeamPermissionsMapper.html":{},"classes/TestApiClient.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"dependencies.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["body(ajaxpostbodyparamstransformpipe",{"_index":13169,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["body.code",{"_index":23487,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["body.create",{"_index":21936,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["body.delete",{"_index":21937,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["body.destinationcourseid",{"_index":20320,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["body.expiresindays",{"_index":20309,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["body.library",{"_index":13193,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["body.mandatory",{"_index":23481,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["body.newname",{"_index":20319,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["body.params.metadata",{"_index":13192,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["body.params.params",{"_index":13191,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["body.parentid",{"_index":13195,"title":{},"body":{"controllers/H5PEditorController.html":{},"controllers/ShareTokenController.html":{}}}],["body.parenttype",{"_index":13194,"title":{},"body":{"controllers/H5PEditorController.html":{},"controllers/ShareTokenController.html":{}}}],["body.read",{"_index":21938,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["body.redirecturi",{"_index":23488,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["body.schoolexclusive",{"_index":20308,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["body.session",{"_index":17214,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["body.share",{"_index":21939,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["body.systemid",{"_index":23486,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["body.write",{"_index":21940,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["bodyparams",{"_index":3216,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/MetaTagExtractorController.html":{}}}],["bodyparams.completed",{"_index":4053,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/ElementController.html":{}}}],["bodyparams.data.content",{"_index":9739,"title":{},"body":{"controllers/ElementController.html":{}}}],["bodyparams.height",{"_index":4392,"title":{},"body":{"controllers/CardController.html":{}}}],["bodyparams.title",{"_index":3244,"title":{},"body":{"controllers/BoardController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{}}}],["bodyparams.toboardid",{"_index":5620,"title":{},"body":{"controllers/ColumnController.html":{}}}],["bodyparams.tocardid",{"_index":9735,"title":{},"body":{"controllers/ElementController.html":{}}}],["bodyparams.tocolumnid",{"_index":4388,"title":{},"body":{"controllers/CardController.html":{}}}],["bodyparams.toposition",{"_index":4389,"title":{},"body":{"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{}}}],["bodyparams.url",{"_index":16161,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["bodyproperties",{"_index":2789,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["bom",{"_index":24554,"title":{},"body":{"dependencies.html":{}}}],["boolean",{"_index":122,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"interfaces/AccountConfig.html":{},"classes/AccountDto.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{},"interfaces/AdminIdAndToken.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationService.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BaseResponseMapper.html":{},"injectables/BasicToolLaunchStrategy.html":{},"entities/Board.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"injectables/BoardDoRule.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUrlHandler.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"entities/Course.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseGroupRule.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseUrlHandler.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/DashboardEntity.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"classes/DeletionRequestScope.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/ElementUc.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolScope.html":{},"interfaces/ExternalToolSearchQuery.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FeathersRosterService.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileStorageConfig.html":{},"classes/FileUrlParams.html":{},"modules/FilesStorageModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRule.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/H5PContentParentParams.html":{},"injectables/HydraOauthUc.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IGridElement.html":{},"interfaces/IImportUserScope.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"interfaces/IdentityManagementConfig.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JwtPayload.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LegacySchoolDo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUrlHandler.html":{},"classes/LibraryName.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponseMapper.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"modules/ManagementModule.html":{},"interfaces/Meta.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"interfaces/NameMatch.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"interfaces/NextcloudGroups.html":{},"injectables/OAuthService.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthConfigEntity.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigEntity.html":{},"interfaces/Options.html":{},"interfaces/ParentInfo.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"interfaces/PreviewResponseMessage.html":{},"classes/PrometheusMetricsConfig.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"classes/PseudonymScope.html":{},"injectables/ReferenceLoader.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"interfaces/RetryOptions.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/Rule.html":{},"injectables/SanisProvisioningStrategy.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"injectables/SchoolMigrationService.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/Scope.html":{},"interfaces/ServerConfig.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenBodyParams.html":{},"injectables/ShareTokenUC.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItem.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRule.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"entities/Task.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskListResponse.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TldrawBoardRepo.html":{},"interfaces/TldrawConfig.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/ToolConfiguration.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceResponse.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDto.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"interfaces/UserMetdata.html":{},"interfaces/UserProperties.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceDO.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["boolean(options.verbose",{"_index":4930,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["bootstrap",{"_index":258,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"modules/DatabaseManagementModule.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FeathersModule.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolModule.html":{},"modules/LessonApiModule.html":{},"modules/LessonModule.html":{},"modules/LoggerModule.html":{},"modules/LtiToolModule.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/NewsModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/OauthProviderServiceModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"modules/PseudonymModule.html":{},"modules/RedisModule.html":{},"modules/RegistrationPinModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"classes/TestBootstrapConsole.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["bootstrap.boot([process.argv0",{"_index":22144,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["bootstrap.console.ts",{"_index":22127,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["bootstrap.console.ts:8",{"_index":22129,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["bootstrapconsole",{"_index":22136,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["bootstraps",{"_index":25731,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["both",{"_index":25121,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["bound",{"_index":15641,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["box",{"_index":25727,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["branch",{"_index":984,"title":{},"body":{"injectables/AccountValidationService.html":{},"index.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["break",{"_index":5909,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"injectables/ContentElementFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/FeathersRosterService.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserScope.html":{},"injectables/LegacySystemRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TldrawWsService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"injectables/UserRepo.html":{}}}],["breaking",{"_index":25961,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["breakout",{"_index":2302,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["breakoutrooms",{"_index":2303,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["bring",{"_index":7904,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["broadcast",{"_index":1070,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["broken",{"_index":25424,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["broker",{"_index":14508,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["brokerconfig",{"_index":15345,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["brokering",{"_index":25862,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["browse",{"_index":25378,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["brute",{"_index":73,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AuthenticationService.html":{}}}],["bruteforceerror",{"_index":1720,"title":{"classes/BruteForceError.html":{}},"body":{"injectables/AuthenticationService.html":{},"classes/BruteForceError.html":{}}}],["bruteforceerror(timetowait",{"_index":1747,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["bson",{"_index":574,"title":{},"body":{"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"interfaces/AccountParams.html":{},"injectables/BaseRepo.html":{},"classes/BoardManagementConsole.html":{},"injectables/BsonConverter.html":{},"injectables/CardService.html":{},"classes/ClassEntityFactory.html":{},"interfaces/CollectionFilePath.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementFactory.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"injectables/OidcProvisioningService.html":{},"classes/PseudonymScope.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/ShareTokenFactory.html":{},"injectables/SubmissionItemFactory.html":{},"injectables/SubmissionItemService.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserDoFactory.html":{},"dependencies.html":{}}}],["bson/ejson",{"_index":4187,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["bsonconverter",{"_index":4175,"title":{"injectables/BsonConverter.html":{}},"body":{"injectables/BsonConverter.html":{},"interfaces/CollectionFilePath.html":{},"modules/ManagementModule.html":{}}}],["bsondocuments",{"_index":4186,"title":{},"body":{"injectables/BsonConverter.html":{},"interfaces/CollectionFilePath.html":{}}}],["btw",{"_index":2570,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["bucket",{"_index":7193,"title":{},"body":{"interfaces/CopyFiles.html":{},"injectables/DeleteFilesUc.html":{},"interfaces/File.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"interfaces/FileStorageConfig.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["buckets",{"_index":26090,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["buff",{"_index":24370,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["buffer",{"_index":7915,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoService.html":{},"classes/JwtTestFactory.html":{}}}],["buffer.from(externaltool.logo",{"_index":10332,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["buffer.from(manifest",{"_index":5863,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["buffer.from(newresource.content",{"_index":5845,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["buffer.from(resource.content",{"_index":5850,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["buffer.from(response.data",{"_index":10344,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["buffer.from(tool.logo",{"_index":10353,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["buffer.length",{"_index":10334,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["buffer.tostring('base64",{"_index":10346,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["bufferencoding",{"_index":12028,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["bug",{"_index":21870,"title":{},"body":{"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["bugs",{"_index":25211,"title":{},"body":{"properties.html":{}}}],["build",{"_index":507,"title":{},"body":{"classes/AccountFactory.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"classes/BaseFactory.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"classes/Builder.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"injectables/ContentElementFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestOutputBuilder.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileDtoBuilder.html":{},"classes/FileParamBuilder.html":{},"classes/FileRecordFactory.html":{},"classes/FileResponseBuilder.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SubmissionFactory.html":{},"injectables/SubmissionItemFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"injectables/ToolPermissionHelper.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["build(domain",{"_index":9218,"title":{},"body":{"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"classes/DeletionTargetRefBuilder.html":{}}}],["build(executiontimemilliseconds",{"_index":2863,"title":{},"body":{"classes/BatchDeletionSummaryBuilder.html":{}}}],["build(file",{"_index":11925,"title":{},"body":{"classes/FileResponseBuilder.html":{}}}],["build(id",{"_index":7183,"title":{},"body":{"classes/CopyFileResponseBuilder.html":{}}}],["build(input",{"_index":2872,"title":{},"body":{"classes/BatchDeletionSummaryDetailBuilder.html":{}}}],["build(limit",{"_index":23085,"title":{},"body":{"classes/TriggerDeletionExecutionOptionsBuilder.html":{}}}],["build(name",{"_index":11423,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["build(params",{"_index":538,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["build(props",{"_index":20035,"title":{},"body":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{}}}],["build(refsfilepath",{"_index":18300,"title":{},"body":{"classes/PushDeleteRequestsOptionsBuilder.html":{}}}],["build(requestid",{"_index":9352,"title":{},"body":{"classes/DeletionRequestOutputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["build(requiredpermissions",{"_index":1785,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["build(schoolid",{"_index":11675,"title":{},"body":{"classes/FileParamBuilder.html":{}}}],["build(status",{"_index":9052,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["build(targetref",{"_index":9336,"title":{},"body":{"classes/DeletionRequestLogResponseBuilder.html":{}}}],["build(targetrefdomain",{"_index":9318,"title":{},"body":{"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/QueueDeletionRequestInputBuilder.html":{}}}],["build(type",{"_index":6357,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["build(userid",{"_index":7207,"title":{},"body":{"classes/CopyFilesOfParentParamBuilder.html":{}}}],["buildaccount",{"_index":23167,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["buildaccount(user",{"_index":709,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["buildadmin",{"_index":723,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["buildadmin(params",{"_index":23170,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["buildcard",{"_index":3444,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildcard(boardnode",{"_index":3454,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildchildren",{"_index":3491,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["buildchildren(boardnode",{"_index":3499,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["buildcolumn",{"_index":3445,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildcolumn(boardnode",{"_index":3457,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildcolumnboard",{"_index":3446,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildcolumnboard(boardnode",{"_index":3460,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildcopyentitydict",{"_index":7272,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["buildcopyentitydict(status",{"_index":7275,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["builddomainobject",{"_index":3492,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["builddomainobject(boardnode",{"_index":3503,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["builddrawing",{"_index":6351,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["builddrawingelement",{"_index":3447,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["builddrawingelement(boardnode",{"_index":3463,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["builddtowithelements",{"_index":9595,"title":{},"body":{"classes/DtoCreator.html":{}}}],["builddtowithelements(elements",{"_index":9609,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["builder",{"_index":2202,"title":{"classes/Builder.html":{}},"body":{"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"classes/Builder.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/DeletionExecutionConsole.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["builder.addorganization",{"_index":5748,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["builder.build",{"_index":5743,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["builder.buildcard(this",{"_index":4423,"title":{},"body":{"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{}}}],["builder.buildcolumn(this",{"_index":5628,"title":{},"body":{"entities/ColumnNode.html":{}}}],["builder.buildcolumnboard(this",{"_index":5461,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["builder.builddrawingelement(this",{"_index":9571,"title":{},"body":{"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{}}}],["builder.buildexternaltoolelement(this",{"_index":10219,"title":{},"body":{"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["builder.buildfileelement(this",{"_index":11469,"title":{},"body":{"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{}}}],["builder.buildlinkelement(this",{"_index":15624,"title":{},"body":{"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{}}}],["builder.buildrichtextelement(this",{"_index":18861,"title":{},"body":{"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{}}}],["builder.buildsubmissioncontainerelement(this",{"_index":20716,"title":{},"body":{"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{}}}],["builder.buildsubmissionitem(this",{"_index":20802,"title":{},"body":{"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["builder.ts",{"_index":5803,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["builder.ts:24",{"_index":13557,"title":{},"body":{"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["builder.ts:28",{"_index":13554,"title":{},"body":{"interfaces/ICommonCartridgeFileBuilder.html":{}}}],["builder.ts:30",{"_index":13555,"title":{},"body":{"interfaces/ICommonCartridgeFileBuilder.html":{}}}],["builder.ts:32",{"_index":13556,"title":{},"body":{"interfaces/ICommonCartridgeFileBuilder.html":{}}}],["builder.ts:35",{"_index":5968,"title":{},"body":{"classes/CommonCartridgeOrganizationBuilder.html":{}}}],["builder.ts:42",{"_index":5971,"title":{},"body":{"classes/CommonCartridgeOrganizationBuilder.html":{}}}],["builder.ts:46",{"_index":5973,"title":{},"body":{"classes/CommonCartridgeOrganizationBuilder.html":{}}}],["builder.ts:52",{"_index":5969,"title":{},"body":{"classes/CommonCartridgeOrganizationBuilder.html":{}}}],["builder.ts:63",{"_index":5814,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{}}}],["builder.ts:65",{"_index":5816,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{}}}],["builder.ts:67",{"_index":5813,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{}}}],["builder.ts:69",{"_index":5812,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{}}}],["builder.ts:73",{"_index":5819,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{}}}],["builder.ts:79",{"_index":5822,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{}}}],["builder.ts:88",{"_index":5823,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{}}}],["builder:2",{"_index":2208,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{}}}],["builder:26",{"_index":2209,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["builder:8",{"_index":2286,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["builderror",{"_index":18306,"title":{},"body":{"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["builderror(err",{"_index":18307,"title":{},"body":{"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["buildexternaltool",{"_index":6352,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["buildexternaltoolelement",{"_index":3448,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildexternaltoolelement(boardnode",{"_index":3466,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildfailure",{"_index":9050,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["buildfailure(err",{"_index":9054,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["buildfile",{"_index":6353,"title":{},"body":{"injectables/ContentElementFactory.html":{},"classes/PreviewGeneratorBuilder.html":{}}}],["buildfile(preview",{"_index":17826,"title":{},"body":{"classes/PreviewGeneratorBuilder.html":{}}}],["buildfileelement",{"_index":3449,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildfileelement(boardnode",{"_index":3469,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildfromaxiosresponse",{"_index":11421,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["buildfromaxiosresponse(name",{"_index":11425,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["buildfromrequest",{"_index":11422,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["buildfromrequest(fileinfo",{"_index":11427,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["buildgroupsclaim",{"_index":13662,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["buildgroupsclaim(teams",{"_index":13668,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["buildlink",{"_index":6354,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["buildlinkelement",{"_index":3450,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildlinkelement(boardnode",{"_index":3472,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildlist",{"_index":508,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["buildlist(number",{"_index":544,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["buildlistwitheachtype",{"_index":8191,"title":{},"body":{"classes/CustomParameterFactory.html":{}}}],["buildlistwitheachtype(params",{"_index":8192,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["buildlistwithid",{"_index":509,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["buildlistwithid(number",{"_index":546,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["buildlogourl",{"_index":10294,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["buildlogourl(template",{"_index":10301,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["buildoptions",{"_index":541,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["buildparams",{"_index":17797,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["buildparams(filerecord",{"_index":17799,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["buildpayload",{"_index":17798,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["buildpayload(params",{"_index":17801,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["buildrichtext",{"_index":6355,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["buildrichtextelement",{"_index":3451,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildrichtextelement(boardnode",{"_index":3475,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["builds",{"_index":2365,"title":{},"body":{"injectables/BBBService.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["buildscope",{"_index":19728,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["buildscope(query",{"_index":19733,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["buildstudent",{"_index":712,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["buildstudent(params",{"_index":23172,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["buildsubmissioncontainer",{"_index":6356,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["buildsubmissioncontainerelement",{"_index":3452,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildsubmissioncontainerelement(boardnode",{"_index":3478,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildsubmissionitem",{"_index":3453,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildsubmissionitem(boardnode",{"_index":3481,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildsuccess",{"_index":9051,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["buildsuccess(requestid",{"_index":18309,"title":{},"body":{"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["buildteacher",{"_index":719,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["buildteacher(params",{"_index":23174,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["buildtokenrequestpayload",{"_index":16815,"title":{},"body":{"injectables/OAuthService.html":{}}}],["buildtokenrequestpayload(code",{"_index":16826,"title":{},"body":{"injectables/OAuthService.html":{}}}],["buildtoollaunchdatafromconcreteconfig",{"_index":2727,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildtoollaunchdatafromconcreteconfig(userid",{"_index":2740,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildtoollaunchdatafromexternaltool",{"_index":2733,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildtoollaunchdatafromexternaltool(externaltool",{"_index":2761,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildtoollaunchdatafromtools",{"_index":2734,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildtoollaunchdatafromtools(data",{"_index":2765,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildtoollaunchrequestpayload",{"_index":2728,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildtoollaunchrequestpayload(url",{"_index":2743,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildurl",{"_index":2735,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildurl(toollaunchdatado",{"_index":2767,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildwithid",{"_index":510,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["buildwithid(params",{"_index":548,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["buildwithid(userandaccounttestfactory.getuserparams(params",{"_index":717,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["built",{"_index":529,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["builtin",{"_index":14534,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["bundle",{"_index":25217,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["busboy",{"_index":11430,"title":{},"body":{"classes/FileDtoBuilder.html":{},"dependencies.html":{}}}],["business",{"_index":4202,"title":{},"body":{"classes/BusinessError.html":{},"classes/ErrorLoggable.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["business.error",{"_index":1369,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/EntityNotFoundError.html":{},"classes/ForbiddenOperationError.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["businesserror",{"_index":1354,"title":{"classes/BusinessError.html":{}},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorUtils.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/GlobalErrorFilter.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["businesserror:12",{"_index":1360,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BruteForceError.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["businesserror:15",{"_index":1365,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BruteForceError.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["businesserror:18",{"_index":1364,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BruteForceError.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["businesserror:21",{"_index":1363,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BruteForceError.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["businesserror:25",{"_index":1362,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BruteForceError.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["businesserror:47",{"_index":1366,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BruteForceError.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["businessexception",{"_index":25605,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["businesslogic",{"_index":25469,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["button",{"_index":24076,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["byavailable",{"_index":21697,"title":{},"body":{"classes/TaskScope.html":{}}}],["byavailable(availabledate",{"_index":21709,"title":{},"body":{"classes/TaskScope.html":{}}}],["byclasses",{"_index":14071,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byclasses(classes",{"_index":14080,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byclientid",{"_index":10861,"title":{},"body":{"classes/ExternalToolScope.html":{}}}],["byclientid(clientid",{"_index":10864,"title":{},"body":{"classes/ExternalToolScope.html":{}}}],["byclientid(query.clientid",{"_index":10611,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["bycontextid",{"_index":6894,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["bycontextid(contextid",{"_index":6904,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["bycontexttype",{"_index":6895,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["bycontexttype(contexttype",{"_index":6906,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["bycourseids",{"_index":15500,"title":{},"body":{"classes/LessonScope.html":{},"classes/TaskScope.html":{}}}],["bycourseids(courseids",{"_index":15501,"title":{},"body":{"classes/LessonScope.html":{},"classes/TaskScope.html":{}}}],["bycreator",{"_index":16583,"title":{},"body":{"classes/NewsScope.html":{}}}],["bycreator(creatorid",{"_index":16587,"title":{},"body":{"classes/NewsScope.html":{}}}],["bycreatorid",{"_index":21698,"title":{},"body":{"classes/TaskScope.html":{}}}],["bycreatorid(creatorid",{"_index":21711,"title":{},"body":{"classes/TaskScope.html":{}}}],["bydeleteafter",{"_index":9401,"title":{},"body":{"classes/DeletionRequestScope.html":{}}}],["bydeleteafter(currentdate",{"_index":9403,"title":{},"body":{"classes/DeletionRequestScope.html":{}}}],["bydraft",{"_index":21699,"title":{},"body":{"classes/TaskScope.html":{}}}],["bydraft(isdraft",{"_index":21712,"title":{},"body":{"classes/TaskScope.html":{}}}],["byexpires",{"_index":11884,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["byfilerecordid",{"_index":11901,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["byfilerecordid(filerecordid",{"_index":11906,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["byfinished",{"_index":21700,"title":{},"body":{"classes/TaskScope.html":{}}}],["byfinished(userid",{"_index":21714,"title":{},"body":{"classes/TaskScope.html":{}}}],["byfirstname",{"_index":14072,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byfirstname(firstname",{"_index":14082,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byhidden",{"_index":10862,"title":{},"body":{"classes/ExternalToolScope.html":{},"classes/LessonScope.html":{}}}],["byhidden(ishidden",{"_index":10866,"title":{},"body":{"classes/ExternalToolScope.html":{},"classes/LessonScope.html":{}}}],["byhidden(query.ishidden",{"_index":10612,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["byid",{"_index":6896,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["byid(id",{"_index":6908,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["bylastname",{"_index":14073,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["bylastname(lastname",{"_index":14084,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["bylessonids",{"_index":21701,"title":{},"body":{"classes/TaskScope.html":{}}}],["bylessonids(lessonids",{"_index":21715,"title":{},"body":{"classes/TaskScope.html":{}}}],["byloginname",{"_index":14074,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byloginname(loginname",{"_index":14086,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["bymarkedfordelete",{"_index":11902,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["bymarkedfordelete(ismarked",{"_index":11908,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["bymatches",{"_index":14075,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["bymatches(matches",{"_index":14089,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byname",{"_index":10863,"title":{},"body":{"classes/ExternalToolScope.html":{}}}],["byname(name",{"_index":10868,"title":{},"body":{"classes/ExternalToolScope.html":{}}}],["byname(query.name",{"_index":10610,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["byonlycreatorid",{"_index":21702,"title":{},"body":{"classes/TaskScope.html":{}}}],["byonlycreatorid(creatorid",{"_index":21717,"title":{},"body":{"classes/TaskScope.html":{}}}],["byparentid",{"_index":11903,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["byparentid(parentid",{"_index":11911,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["bypassdocumentvalidation",{"_index":8808,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["bypasstest",{"_index":1285,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["bypseudonym",{"_index":18193,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["bypseudonym(pseudonym",{"_index":18196,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["bypseudonym(query.pseudonym",{"_index":10565,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["bypublished",{"_index":16584,"title":{},"body":{"classes/NewsScope.html":{}}}],["byrole",{"_index":14076,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byrole(rolename",{"_index":14091,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byschool",{"_index":14077,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byschool(school",{"_index":14093,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byschoolid",{"_index":11904,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/UserScope.html":{}}}],["byschoolid(query.schoolid",{"_index":23267,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["byschoolid(schoolid",{"_index":11913,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/UserScope.html":{}}}],["byschooltoolid",{"_index":6897,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["byschooltoolid(schooltoolid",{"_index":6910,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["bysecuritycheckrequesttoken",{"_index":11905,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["bysecuritycheckrequesttoken(token",{"_index":11915,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["bystatus",{"_index":9402,"title":{},"body":{"classes/DeletionRequestScope.html":{}}}],["bytargets",{"_index":16585,"title":{},"body":{"classes/NewsScope.html":{}}}],["bytargets(targets",{"_index":16590,"title":{},"body":{"classes/NewsScope.html":{}}}],["bytes",{"_index":12406,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{}}}],["bytesrange",{"_index":12400,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFileResponse.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileParams.html":{},"injectables/PreviewService.html":{},"injectables/S3ClientAdapter.html":{}}}],["bytoolid",{"_index":18194,"title":{},"body":{"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{}}}],["bytoolid(query.toolid",{"_index":10566,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["bytoolid(toolid",{"_index":18198,"title":{},"body":{"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{}}}],["byunpublished",{"_index":16586,"title":{},"body":{"classes/NewsScope.html":{}}}],["byuserid",{"_index":18195,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["byuserid(query.userid",{"_index":10567,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["byuserid(userid",{"_index":18200,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["byuseridquery",{"_index":20884,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["byuseridquery(userid",{"_index":20887,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["byusermatch",{"_index":14078,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byusermatch(user",{"_index":14095,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["c",{"_index":560,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"injectables/LessonService.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"interfaces/Options.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"injectables/TaskUC.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/WsSharedDocDo.html":{},"license.html":{}}}],["c.id",{"_index":21792,"title":{},"body":{"injectables/TaskUC.html":{}}}],["c.isfinished",{"_index":21811,"title":{},"body":{"injectables/TaskUC.html":{}}}],["c.isfinished()).map((c",{"_index":21791,"title":{},"body":{"injectables/TaskUC.html":{}}}],["c.user",{"_index":15528,"title":{},"body":{"injectables/LessonService.html":{}}}],["cache",{"_index":4241,"title":{},"body":{"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/OauthAdapterService.html":{},"injectables/RoleRepo.html":{},"injectables/TeamsRepo.html":{},"dependencies.html":{}}}],["cache_manager",{"_index":14326,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["cacheexpiration",{"_index":19011,"title":{},"body":{"injectables/RoleRepo.html":{},"injectables/TeamsRepo.html":{}}}],["cacheimplementations",{"_index":13291,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["cacheimplementations.cachedkeyvaluestorage('kvcache",{"_index":13313,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["cachemanager",{"_index":14317,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["cachemodule",{"_index":4238,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["cachemodule.registerasync",{"_index":4245,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["cachemoduleoptions",{"_index":4239,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["cacheservice",{"_index":4223,"title":{"injectables/CacheService.html":{}},"body":{"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{}}}],["cacheservice.getstoretype",{"_index":4246,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["cachestoretype",{"_index":4227,"title":{},"body":{"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{}}}],["cachestoretype.memory",{"_index":4233,"title":{},"body":{"injectables/CacheService.html":{}}}],["cachestoretype.redis",{"_index":4232,"title":{},"body":{"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{}}}],["cachewrappermodule",{"_index":1522,"title":{"modules/CacheWrapperModule.html":{}},"body":{"modules/AuthenticationModule.html":{},"modules/CacheWrapperModule.html":{},"modules/OauthModule.html":{}}}],["caf",{"_index":14110,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["cafe",{"_index":14112,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["calc",{"_index":22260,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["calculatediff",{"_index":22242,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["calculatediff(diff",{"_index":22261,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["calculatenumberofsubmitters(submissions",{"_index":21315,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["calculations",{"_index":25450,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["calendarevent",{"_index":4255,"title":{"interfaces/CalendarEvent.html":{}},"body":{"interfaces/CalendarEvent.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{}}}],["calendareventdto",{"_index":4261,"title":{"classes/CalendarEventDto.html":{}},"body":{"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{}}}],["calendarmapper",{"_index":4270,"title":{"injectables/CalendarMapper.html":{}},"body":{"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{}}}],["calendarmodule",{"_index":4282,"title":{"modules/CalendarModule.html":{}},"body":{"modules/CalendarModule.html":{},"modules/VideoConferenceModule.html":{}}}],["calendarservice",{"_index":4286,"title":{"injectables/CalendarService.html":{}},"body":{"modules/CalendarModule.html":{},"injectables/CalendarService.html":{}}}],["calendarservice:findevent",{"_index":4309,"title":{},"body":{"injectables/CalendarService.html":{}}}],["call",{"_index":531,"title":{},"body":{"classes/AccountFactory.html":{},"injectables/AccountValidationService.html":{},"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"injectables/DeletionClient.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["call,@typescript",{"_index":22255,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"classes/TldrawWs.html":{}}}],["callable",{"_index":2366,"title":{},"body":{"injectables/BBBService.html":{}}}],["callback",{"_index":25709,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["callback_uri",{"_index":1341,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["callbackuri",{"_index":1335,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["calld",{"_index":25754,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["called",{"_index":528,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/FeathersRosterService.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/TldrawWs.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["callhandler",{"_index":9697,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["calling",{"_index":17757,"title":{},"body":{"injectables/PermissionService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["callkcadminclient",{"_index":14367,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["callname",{"_index":2358,"title":{},"body":{"injectables/BBBService.html":{}}}],["calls",{"_index":2844,"title":{},"body":{"injectables/BatchDeletionService.html":{},"classes/DeletionQueueConsole.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"index.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["callsdelaymilliseconds",{"_index":2810,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{}}}],["callsdelayms",{"_index":9246,"title":{},"body":{"classes/DeletionQueueConsole.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{}}}],["camelcase",{"_index":25544,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["can't",{"_index":1565,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["cancelbuttonurl",{"_index":17688,"title":{},"body":{"classes/PageContentDto.html":{}}}],["canceldeletionrequest",{"_index":9438,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["canceldeletionrequest(@param('requestid",{"_index":9464,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["canceldeletionrequest(requestid",{"_index":9441,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["canceling",{"_index":9443,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["cancreaterestricted",{"_index":13033,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"classes/LumiUserWithContentData.html":{}}}],["canedit",{"_index":21198,"title":{},"body":{"injectables/SystemRule.html":{}}}],["canedit(system",{"_index":21200,"title":{},"body":{"injectables/SystemRule.html":{}}}],["caninline",{"_index":5800,"title":{},"body":{"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["caninstallrecommended",{"_index":13034,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"classes/LumiUserWithContentData.html":{}}}],["canmap",{"_index":2642,"title":{},"body":{"interfaces/BaseResponseMapper.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["canmap(element",{"_index":2643,"title":{},"body":{"interfaces/BaseResponseMapper.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["cant",{"_index":25481,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["canupdateandinstalllibraries",{"_index":13035,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"classes/LumiUserWithContentData.html":{}}}],["capabilities",{"_index":25341,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["caption",{"_index":3545,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/ContentElementFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["caption(value",{"_index":11449,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["card",{"_index":3108,"title":{"classes/Card.html":{}},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardManagementUc.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/Column.html":{},"injectables/ColumnBoardService.html":{},"controllers/ColumnController.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnUc.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["card.'})@apiextramodels(externaltoolelementresponse",{"_index":4343,"title":{},"body":{"controllers/CardController.html":{}}}],["card.'})@apiresponse({status",{"_index":4349,"title":{},"body":{"controllers/CardController.html":{}}}],["card.addchild(text1",{"_index":5519,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["card.addchild(text2",{"_index":5535,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["card.addchild(text3",{"_index":5547,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["card.addchild(text4",{"_index":5553,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["card.body.params",{"_index":5615,"title":{},"body":{"controllers/ColumnController.html":{}}}],["card.body.params.ts",{"_index":7897,"title":{},"body":{"classes/CreateCardBodyParams.html":{},"classes/MoveCardBodyParams.html":{}}}],["card.body.params.ts:10",{"_index":16375,"title":{},"body":{"classes/MoveCardBodyParams.html":{}}}],["card.body.params.ts:13",{"_index":7900,"title":{},"body":{"classes/CreateCardBodyParams.html":{}}}],["card.body.params.ts:18",{"_index":16377,"title":{},"body":{"classes/MoveCardBodyParams.html":{}}}],["card.children.map((element",{"_index":4444,"title":{},"body":{"classes/CardResponseMapper.html":{}}}],["card.constructor.name",{"_index":5643,"title":{},"body":{"classes/ColumnResponseMapper.html":{}}}],["card.createdat",{"_index":4446,"title":{},"body":{"classes/CardResponseMapper.html":{}}}],["card.do",{"_index":3136,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/Column.html":{},"interfaces/ColumnProps.html":{}}}],["card.height",{"_index":4443,"title":{},"body":{"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/ColumnResponseMapper.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["card.id",{"_index":4441,"title":{},"body":{"classes/CardResponseMapper.html":{},"classes/ColumnResponseMapper.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["card.response",{"_index":4415,"title":{},"body":{"classes/CardListResponse.html":{}}}],["card.title",{"_index":4442,"title":{},"body":{"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["card.updatedat",{"_index":4445,"title":{},"body":{"classes/CardResponseMapper.html":{}}}],["cardcontroller",{"_index":3013,"title":{"controllers/CardController.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/CardController.html":{}}}],["cardid",{"_index":4462,"title":{},"body":{"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnUc.html":{}}}],["cardidparams",{"_index":4353,"title":{},"body":{"controllers/CardController.html":{}}}],["cardidparams.ids",{"_index":4381,"title":{},"body":{"controllers/CardController.html":{}}}],["cardids",{"_index":4379,"title":{},"body":{"controllers/CardController.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{}}}],["cardidsparams",{"_index":4354,"title":{"classes/CardIdsParams.html":{}},"body":{"controllers/CardController.html":{},"classes/CardIdsParams.html":{}}}],["cardlistresponse",{"_index":4371,"title":{"classes/CardListResponse.html":{}},"body":{"controllers/CardController.html":{},"classes/CardListResponse.html":{}}}],["cardlistresponse})@apiresponse({status",{"_index":4356,"title":{},"body":{"controllers/CardController.html":{}}}],["cardnode",{"_index":3455,"title":{"entities/CardNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["cardnodefactory",{"_index":3818,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["cardnodefactory.build",{"_index":3841,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["cardnodeprops",{"_index":4420,"title":{"interfaces/CardNodeProps.html":{}},"body":{"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{}}}],["cardprops",{"_index":4334,"title":{"interfaces/CardProps.html":{}},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{}}}],["cardresponse",{"_index":4413,"title":{"classes/CardResponse.html":{}},"body":{"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"controllers/ColumnController.html":{}}}],["cardresponsemapper",{"_index":4377,"title":{"classes/CardResponseMapper.html":{}},"body":{"controllers/CardController.html":{},"classes/CardResponseMapper.html":{},"controllers/ColumnController.html":{}}}],["cardresponsemapper.maptoresponse(card",{"_index":4384,"title":{},"body":{"controllers/CardController.html":{},"controllers/ColumnController.html":{}}}],["cardresponses",{"_index":4383,"title":{},"body":{"controllers/CardController.html":{}}}],["cardresponse})@apiresponse({status",{"_index":5599,"title":{},"body":{"controllers/ColumnController.html":{}}}],["cards",{"_index":3535,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/BoardManagementUc.html":{},"controllers/CardController.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{}}}],["cards.map((card",{"_index":3834,"title":{},"body":{"injectables/BoardManagementUc.html":{},"controllers/CardController.html":{}}}],["cards.some((card",{"_index":4476,"title":{},"body":{"injectables/CardService.html":{}}}],["cardservice",{"_index":3859,"title":{"injectables/CardService.html":{}},"body":{"modules/BoardModule.html":{},"injectables/BoardUc.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{}}}],["cardskeletonresponse",{"_index":4489,"title":{"classes/CardSkeletonResponse.html":{}},"body":{"classes/CardSkeletonResponse.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{}}}],["cardspercolumn",{"_index":3827,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["cardspercolumn.flat",{"_index":3831,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["carduc",{"_index":3006,"title":{"injectables/CardUc.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"injectables/CardUc.html":{},"controllers/ElementController.html":{}}}],["cardurlparams",{"_index":4342,"title":{"classes/CardUrlParams.html":{}},"body":{"controllers/CardController.html":{},"classes/CardUrlParams.html":{}}}],["care",{"_index":25516,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["careful",{"_index":25829,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["carefully",{"_index":25777,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["cares",{"_index":25608,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["carry",{"_index":24847,"title":{},"body":{"license.html":{}}}],["cartridge",{"_index":5693,"title":{},"body":{"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CourseExportUc.html":{},"classes/CourseQueryParams.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ServerConfig.html":{}}}],["cartridge.config.ts",{"_index":5690,"title":{},"body":{"interfaces/CommonCartridgeConfig.html":{}}}],["cartridge/common",{"_index":5689,"title":{},"body":{"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["cartridge/utils",{"_index":5734,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["cartridge_basiclti_link",{"_index":5876,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["cartridge_bundle",{"_index":5890,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["cartridge_icon",{"_index":5893,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["cascading",{"_index":6039,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["case",{"_index":1393,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/ContentElementFactory.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"classes/DeletionExecutionConsole.html":{},"classes/ErrorResponse.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"classes/ImportUserScope.html":{},"injectables/LegacySystemRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskUC.html":{},"injectables/TldrawWsService.html":{},"classes/UserMatchMapper.html":{},"injectables/UserRepo.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["caseinsensitivenames",{"_index":6126,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["cases",{"_index":1224,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"modules/AuthorizationReferenceModule.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"classes/TaskFactory.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["cast",{"_index":1618,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["casttolibrariescontenttype",{"_index":13310,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["casttolibrariescontenttype(parse(librariesyamlcontent",{"_index":13326,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["catch",{"_index":1328,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/BatchDeletionService.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardManagementUc.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"injectables/EtherpadService.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolService.html":{},"classes/GlobalErrorFilter.html":{},"injectables/JwtStrategy.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LdapStrategy.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthAdapterService.html":{},"injectables/PreviewService.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/TaskCopyUC.html":{},"injectables/TldrawWsService.html":{},"injectables/ToolReferenceUc.html":{},"injectables/ToolVersionService.html":{},"injectables/UserMigrationService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["catch((error",{"_index":2405,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["catch(error",{"_index":12531,"title":{},"body":{"classes/GlobalErrorFilter.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["catcherror",{"_index":1057,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/TimeoutInterceptor.html":{}}}],["catcherror((e",{"_index":1173,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["catcherror((err",{"_index":18760,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["cause",{"_index":2105,"title":{},"body":{"classes/AxiosErrorLoggable.html":{},"classes/BusinessError.html":{},"classes/ErrorUtils.html":{},"injectables/JwtStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["causeerror",{"_index":9931,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["caution",{"_index":15115,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["cc",{"_index":1456,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"classes/CourseQueryParams.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["cdm",{"_index":9245,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["cease",{"_index":25000,"title":{},"body":{"license.html":{}}}],["ceating",{"_index":7952,"title":{},"body":{"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{}}}],["centralldap",{"_index":19909,"title":{},"body":{"classes/SchoolInUserMigrationStartLoggable.html":{}}}],["certain",{"_index":24967,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["cessation",{"_index":25010,"title":{},"body":{"license.html":{}}}],["ch.id",{"_index":3087,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["chaining",{"_index":25615,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["chains",{"_index":25239,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["chalk",{"_index":24465,"title":{},"body":{"dependencies.html":{}}}],["challenge",{"_index":4547,"title":{},"body":{"classes/ChallengeParams.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/LoginResponse-1.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderService.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["challengeparams",{"_index":4545,"title":{"classes/ChallengeParams.html":{}},"body":{"classes/ChallengeParams.html":{},"controllers/OauthProviderController.html":{}}}],["change",{"_index":5761,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"interfaces/CreateJwtPayload.html":{},"injectables/ExternalToolUc.html":{},"interfaces/ICurrentUser.html":{},"interfaces/JwtPayload.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/WsSharedDocDo.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["changed",{"_index":12047,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/WsSharedDocDo.html":{},"additional-documentation/nestjs-application.html":{}}}],["changedclients",{"_index":24367,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["changefinishedforuser",{"_index":21760,"title":{},"body":{"injectables/TaskUC.html":{}}}],["changefinishedforuser(userid",{"_index":21766,"title":{},"body":{"injectables/TaskUC.html":{}}}],["changelanguage",{"_index":23185,"title":{},"body":{"controllers/UserController.html":{}}}],["changelanguage(params",{"_index":23186,"title":{},"body":{"controllers/UserController.html":{}}}],["changelanguageparams",{"_index":4549,"title":{"classes/ChangeLanguageParams.html":{}},"body":{"classes/ChangeLanguageParams.html":{},"controllers/UserController.html":{},"injectables/UserUc.html":{}}}],["changes",{"_index":6527,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"injectables/LdapStrategy.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/WsSharedDocDo.html":{},"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["changing",{"_index":23432,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["channel",{"_index":18328,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["chapter",{"_index":2628,"title":{},"body":{"injectables/BaseRepo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["char",{"_index":18642,"title":{},"body":{"classes/ReferencesService.html":{}}}],["character",{"_index":793,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["characterized",{"_index":24947,"title":{},"body":{"license.html":{}}}],["characters",{"_index":12009,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"classes/MongoPatterns.html":{},"injectables/TemporaryFileStorage.html":{}}}],["charge",{"_index":24664,"title":{},"body":{"license.html":{}}}],["chat",{"_index":1193,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"modules/RocketChatUserModule.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["chat.module.ts",{"_index":18877,"title":{},"body":{"modules/RocketChatModule.html":{}}}],["chat.module.ts:7",{"_index":18878,"title":{},"body":{"modules/RocketChatModule.html":{}}}],["chat.service",{"_index":18880,"title":{},"body":{"modules/RocketChatModule.html":{}}}],["chat.service.ts",{"_index":1052,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["chat.service.ts:42",{"_index":18876,"title":{},"body":{"classes/RocketChatError.html":{}}}],["chat.service.ts:44",{"_index":18875,"title":{},"body":{"classes/RocketChatError.html":{}}}],["chat.service.ts:47",{"_index":18874,"title":{},"body":{"classes/RocketChatError.html":{}}}],["check",{"_index":985,"title":{},"body":{"injectables/AccountValidationService.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/CleanOptions.html":{},"interfaces/CollectionFilePath.html":{},"classes/GuardAgainst.html":{},"classes/IdentityManagementOauthService.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/LdapStrategy.html":{},"injectables/LessonUC.html":{},"interfaces/MigrationOptions.html":{},"injectables/NextcloudStrategy.html":{},"interfaces/RetryOptions.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"injectables/TldrawWsService.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["check.entity",{"_index":11522,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["check.entity.ts",{"_index":11928,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{}}}],["check.entity.ts:14",{"_index":11936,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{}}}],["check.entity.ts:17",{"_index":11932,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{}}}],["check.entity.ts:20",{"_index":11933,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{}}}],["check.entity.ts:23",{"_index":11931,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{}}}],["check.entity.ts:26",{"_index":11930,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{}}}],["check.service.ts",{"_index":16292,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["check.service.ts:16",{"_index":16303,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["check.service.ts:42",{"_index":16301,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["check.service.ts:48",{"_index":16299,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["check.service.ts:9",{"_index":16297,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["checkallpermissions",{"_index":1965,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["checkallpermissions(user",{"_index":1971,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["checkandaddprefix",{"_index":22103,"title":{},"body":{"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["checkandaddprefix(inputpath",{"_index":1663,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["checkavaiblelanguages",{"_index":23935,"title":{},"body":{"injectables/UserUc.html":{}}}],["checkavaiblelanguages(settedlanguage",{"_index":23937,"title":{},"body":{"injectables/UserUc.html":{}}}],["checkavailablelanguages",{"_index":23872,"title":{},"body":{"injectables/UserService.html":{}}}],["checkavailablelanguages(language",{"_index":23878,"title":{},"body":{"injectables/UserService.html":{}}}],["checkbrutforce",{"_index":1687,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["checkbrutforce(account",{"_index":1696,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["checkcontenttypeexists",{"_index":13268,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["checkcontenttypeexists(contenttype",{"_index":13274,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["checkcontextreadpermission",{"_index":20442,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["checkcontextreadpermission(userid",{"_index":20448,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["checkcontextrestrictions",{"_index":6921,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["checkcontextrestrictions(contextexternaltool",{"_index":6931,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["checkcreatepermission",{"_index":20443,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["checkcreatepermission(userid",{"_index":20450,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["checkcredentials",{"_index":15025,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{}}}],["checkcredentials(account",{"_index":15032,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["checkcredentials(enteredpassword",{"_index":15656,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["checkcustomparameterentries",{"_index":6074,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkcustomparameterentries(loadedexternaltool",{"_index":6083,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkdestinationcourseauthorisation",{"_index":21448,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["checkdestinationcourseauthorisation(authorizableuser",{"_index":21455,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["checkdestinationcourseauthorization",{"_index":15380,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["checkdestinationcourseauthorization(user",{"_index":15384,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["checkdestinationlessonauthorization",{"_index":21449,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["checkdestinationlessonauthorization(authorizableuser",{"_index":21458,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["checkduplicateusesincontext",{"_index":7012,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["checkduplicateusesincontext(contextexternaltool",{"_index":7015,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["checked",{"_index":1566,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/HydraSsoService.html":{}}}],["checkentitypermissions",{"_index":11193,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["checkentitypermissions(userid",{"_index":11198,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["checkerror",{"_index":12298,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{}}}],["checkerror(response",{"_index":12305,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{}}}],["checkexpired",{"_index":20411,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["checkexpired(sharetoken",{"_index":20418,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["checkfeatureenabled",{"_index":7612,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/LessonCopyUC.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{}}}],["checkfeatureenabled(parenttype",{"_index":20452,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["checkfilename",{"_index":22040,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["checkfilename(filename",{"_index":22048,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["checkforduplicateparameters",{"_index":6075,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkforduplicateparameters(validatabletool",{"_index":6087,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkforunknownparameters",{"_index":6076,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkforunknownparameters(validatabletool",{"_index":6089,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkgraceperiod",{"_index":23616,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["checkgraceperiod(userloginmigration",{"_index":23624,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["checkifpreviewpossible",{"_index":17866,"title":{},"body":{"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{}}}],["checkifpreviewpossible(filerecord",{"_index":17923,"title":{},"body":{"injectables/PreviewService.html":{}}}],["checkifpreviewpossible(original",{"_index":17871,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["checking",{"_index":12587,"title":{},"body":{"classes/GlobalValidationPipe.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["checkinputisvalid",{"_index":26085,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["checkldapcredentials",{"_index":14995,"title":{},"body":{"injectables/LdapService.html":{}}}],["checkldapcredentials(system",{"_index":14997,"title":{},"body":{"injectables/LdapService.html":{}}}],["checklist",{"_index":24618,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["checklistscontainingequalentities(first",{"_index":2973,"title":{},"body":{"entities/Board.html":{}}}],["checkofficialschoolnumbersmatch",{"_index":19929,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["checkofficialschoolnumbersmatch(schooldo",{"_index":19938,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["checkoneofpermissions",{"_index":1966,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["checkoneofpermissions(user",{"_index":1973,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["checkoptionalparameter",{"_index":6077,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkoptionalparameter(param",{"_index":6092,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkoriginallessonauthorization",{"_index":15381,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["checkoriginallessonauthorization(user",{"_index":15387,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["checkoriginaltaskauthorization",{"_index":21450,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["checkoriginaltaskauthorization(authorizableuser",{"_index":21461,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["checkout",{"_index":24622,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["checkparameterregex",{"_index":6078,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkparameterregex(foundentry",{"_index":6095,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkparametertype",{"_index":6079,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkparametertype(foundentry",{"_index":6097,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkparentwritepermission",{"_index":20444,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["checkparentwritepermission(userid",{"_index":20454,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["checkpermission",{"_index":1967,"title":{},"body":{"injectables/AuthorizationService.html":{},"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["checkpermission(user",{"_index":1975,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["checkpermission(userid",{"_index":2656,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{}}}],["checkpermissionbyreferences",{"_index":1947,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["checkpermissionbyreferences(userid",{"_index":1951,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["checkpreconditions",{"_index":20557,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["checkpreconditions(userid",{"_index":20560,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["checkresponsevalidation",{"_index":19484,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["checkresponsevalidation(response",{"_index":19492,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["checks",{"_index":4888,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/IdentityManagementOauthService.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"injectables/ShareTokenUC.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["checkshorttitle",{"_index":8407,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["checkstream",{"_index":1294,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["checkstream(stream",{"_index":1301,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["checkstreamresponsive",{"_index":19283,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["checkstreamresponsive(stream",{"_index":19292,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["checksubmissionitemwritepermission",{"_index":2651,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["checksubmissionitemwritepermission(userid",{"_index":2660,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["checksum",{"_index":2356,"title":{},"body":{"injectables/BBBService.html":{}}}],["checkvalidityofparameters",{"_index":6080,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkvalidityofparameters(validatabletool",{"_index":6099,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkvalue",{"_index":15026,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["checkvalue(value",{"_index":15034,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["checkversionmatch",{"_index":19865,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["checkversionmatch(schoolexternaltoolversion",{"_index":19866,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["child",{"_index":3059,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"injectables/BoardDoService.html":{},"classes/BoardResponseMapper.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnResponseMapper.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["child.accept(this",{"_index":18527,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["child.acceptasync(this",{"_index":18437,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["child.constructor.name",{"_index":3078,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["child.id",{"_index":3088,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["childcopy",{"_index":18444,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["childid",{"_index":3627,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["children",{"_index":3047,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"injectables/CardService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementFactory.html":{},"injectables/ElementUc.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["children.length",{"_index":3572,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["children.map((element",{"_index":20831,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["children.sort((a",{"_index":3568,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["childrenmap",{"_index":3490,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{}}}],["childrenmap[boardnode.pathofchildren",{"_index":3651,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["childstatus",{"_index":18440,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["childstatusses",{"_index":18438,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["childstatusses.push(childstatus",{"_index":18442,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["choose",{"_index":25141,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["choosing",{"_index":25143,"title":{},"body":{"license.html":{}}}],["chunk",{"_index":24538,"title":{},"body":{"dependencies.html":{}}}],["circumstances",{"_index":24800,"title":{},"body":{"license.html":{}}}],["circumvention",{"_index":24807,"title":{},"body":{"license.html":{}}}],["civil",{"_index":25181,"title":{},"body":{"license.html":{}}}],["cjs",{"_index":14357,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{}}}],["cjs/keycloak",{"_index":14356,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{}}}],["claim",{"_index":14601,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"license.html":{}}}],["claim.name",{"_index":14610,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["claims",{"_index":25060,"title":{},"body":{"license.html":{}}}],["clamconnection",{"_index":1299,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["clamdscan",{"_index":1281,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["clamscan",{"_index":1263,"title":{},"body":{"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"dependencies.html":{}}}],["class",{"_index":0,"title":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"classes/AcceptQuery.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/AuthenticationValues.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"classes/AuthorizationParams.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"classes/BaseDO.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"classes/BoardContextResponse.html":{},"classes/BoardDoAuthorizable.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"classes/CalendarEventDto.html":{},"classes/Card.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"classes/CardSkeletonResponse.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"classes/ColumnUrlParams.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContentElementResponseFactory.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CopyMapper.html":{},"classes/County.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/CourseQueryParams.html":{},"classes/CourseScope.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeleteFilesConsole.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/DeletionLog.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"classes/ElementContentBody.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorMapper.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"classes/ExternalToolSortingMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/ExternalUserDto.html":{},"classes/FileContentBody.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"classes/FileUrlParams.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilesStorageMapper.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GetMetaTagDataBody.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"classes/GroupIdParams.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"classes/GroupUserResponse.html":{},"classes/GroupValidPeriodEntity.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PErrorMapper.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/H5pFileDto.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/HydraRedirectDto.html":{},"classes/IdParams.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"classes/JwtExtractor.html":{},"classes/JwtTestFactory.html":{},"classes/KeycloakAdministration.html":{},"classes/KeycloakConfiguration.html":{},"classes/KeycloakConsole.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"classes/LdapUserMigrationException.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonCopyApiParams.html":{},"classes/LessonFactory.html":{},"classes/LessonScope.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"classes/LoggingUtils.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"classes/LumiUserWithContentData.html":{},"classes/MaterialFactory.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"classes/NewsUrlParams.html":{},"classes/NotFoundLoggableException.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/OauthProviderService.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"classes/PreviewParams.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"classes/ProvisioningDto.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymParams.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"classes/RequestInfo.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"classes/RocketChatUser.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"classes/RoleReference.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"classes/RpcMessageProducer.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolRefDO.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"classes/Scope.html":{},"classes/ScopeRef.html":{},"classes/ServerConsole.html":{},"classes/SetHeightBodyParams.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"classes/StringValidator.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"classes/SuccessfulResponse.html":{},"classes/System.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/SystemResponseMapper.html":{},"classes/SystemScope.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"classes/TeamFactory.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"classes/TimestampsResponse.html":{},"classes/TldrawDeleteParams.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolConfiguration.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserDO.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{}},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"modules/AccountApiModule.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"modules/AuthenticationApiModule.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizableObject.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"modules/AuthorizationModule.html":{},"classes/AuthorizationParams.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"modules/BoardApiModule.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"modules/ClassModule.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"injectables/CopyFilesService.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"modules/CoreModule.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"modules/ErrorModule.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/FileContentBody.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{},"classes/FileUrlParams.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/GetMetaTagDataBody.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"modules/GroupModule.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/IToolFeatures.html":{},"classes/IdParams.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtAuthGuard.html":{},"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/LessonApiModule.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"modules/LessonModule.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"modules/NewsModule.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthApiModule.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"classes/ProvisioningDto.html":{},"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"modules/PseudonymModule.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"modules/RocketChatUserModule.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"modules/RoleModule.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.html":{},"classes/ScopeRef.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"classes/SuccessfulResponse.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"modules/TaskApiModule.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"modules/TaskModule.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawClientModule.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"modules/UserApiModule.html":{},"interfaces/UserBoardRoles.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"modules/ValidationModule.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"dependencies.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["class.do",{"_index":4668,"title":{},"body":{"classes/ClassFactory.html":{}}}],["classattributenamemapping",{"_index":14957,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["classentity",{"_index":4607,"title":{"entities/ClassEntity.html":{}},"body":{"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassMapper.html":{},"injectables/ClassesRepo.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["classentityfactory",{"_index":4653,"title":{"classes/ClassEntityFactory.html":{}},"body":{"classes/ClassEntityFactory.html":{}}}],["classentityfactory.define(classentity",{"_index":4660,"title":{},"body":{"classes/ClassEntityFactory.html":{}}}],["classentityprops",{"_index":4626,"title":{"interfaces/ClassEntityProps.html":{}},"body":{"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{}}}],["classes",{"_index":2,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"classes/AcceptQuery.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/AuthenticationValues.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"classes/AuthorizationParams.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"classes/BaseDO.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"classes/BoardContextResponse.html":{},"classes/BoardDoAuthorizable.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"classes/CalendarEventDto.html":{},"classes/Card.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"classes/CardSkeletonResponse.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"injectables/ClassesRepo.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"classes/ColumnUrlParams.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContentElementResponseFactory.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CopyMapper.html":{},"classes/County.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"classes/CourseScope.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeleteFilesConsole.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/DeletionLog.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"classes/ElementContentBody.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorMapper.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"classes/ExternalToolSortingMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/ExternalUserDto.html":{},"classes/FileContentBody.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"classes/FileUrlParams.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilesStorageMapper.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GetMetaTagDataBody.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"classes/GroupIdParams.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"classes/GroupUserResponse.html":{},"classes/GroupValidPeriodEntity.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PErrorMapper.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/H5pFileDto.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/HydraRedirectDto.html":{},"interfaces/IImportUserScope.html":{},"classes/IdParams.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"classes/JwtExtractor.html":{},"classes/JwtTestFactory.html":{},"classes/KeycloakAdministration.html":{},"classes/KeycloakConfiguration.html":{},"classes/KeycloakConsole.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"classes/LdapUserMigrationException.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonCopyApiParams.html":{},"classes/LessonFactory.html":{},"classes/LessonScope.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"classes/LoggingUtils.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"classes/LumiUserWithContentData.html":{},"classes/MaterialFactory.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"classes/NewsUrlParams.html":{},"classes/NotFoundLoggableException.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/OauthProviderService.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"classes/PreviewParams.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"classes/ProvisioningDto.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymParams.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"classes/RequestInfo.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"classes/RocketChatUser.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"classes/RoleReference.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"classes/RpcMessageProducer.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolRefDO.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"classes/Scope.html":{},"classes/ScopeRef.html":{},"classes/ServerConsole.html":{},"classes/SetHeightBodyParams.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"classes/StringValidator.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"classes/SuccessfulResponse.html":{},"classes/System.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/SystemResponseMapper.html":{},"classes/SystemScope.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"classes/TeamFactory.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"classes/TimestampsResponse.html":{},"classes/TldrawDeleteParams.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolConfiguration.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserDO.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["classes.map((clazz",{"_index":4837,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["classes.replace(mongopatterns.regex_mongo_language_pattern_whitelist",{"_index":14122,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["classesrepo",{"_index":4775,"title":{"injectables/ClassesRepo.html":{}},"body":{"modules/ClassModule.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{}}}],["classfactory",{"_index":4663,"title":{"classes/ClassFactory.html":{}},"body":{"classes/ClassFactory.html":{}}}],["classfactory.define(class",{"_index":4669,"title":{},"body":{"classes/ClassFactory.html":{}}}],["classfilterparams",{"_index":4670,"title":{"classes/ClassFilterParams.html":{}},"body":{"classes/ClassFilterParams.html":{},"controllers/GroupController.html":{}}}],["classid",{"_index":4844,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["classids",{"_index":7404,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["classinfo",{"_index":12844,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.externalsourcename",{"_index":12856,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.id",{"_index":12853,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.isupgradable",{"_index":12859,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.name",{"_index":12855,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.schoolyear",{"_index":12858,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.studentcount",{"_index":12860,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.teachernames",{"_index":12857,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.type",{"_index":12854,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfodto",{"_index":4678,"title":{"classes/ClassInfoDto.html":{}},"body":{"classes/ClassInfoDto.html":{},"controllers/GroupController.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{}}}],["classinforesponse",{"_index":4706,"title":{"classes/ClassInfoResponse.html":{}},"body":{"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/GroupResponseMapper.html":{}}}],["classinfos",{"_index":12841,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfos.data.map((classinfo",{"_index":12850,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfos.total",{"_index":12852,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfosearchlistresponse",{"_index":4720,"title":{"classes/ClassInfoSearchListResponse.html":{}},"body":{"classes/ClassInfoSearchListResponse.html":{},"controllers/GroupController.html":{},"classes/GroupResponseMapper.html":{}}}],["classinfosearchlistresponse})@apiresponse({status",{"_index":12674,"title":{},"body":{"controllers/GroupController.html":{}}}],["classmap",{"_index":4836,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["classmap.get(entity.id",{"_index":4849,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["classmapper",{"_index":4722,"title":{"classes/ClassMapper.html":{}},"body":{"classes/ClassMapper.html":{},"injectables/ClassesRepo.html":{}}}],["classmapper.maptodos(classes",{"_index":4835,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["classmapper.maptoentity(updateddomainobject",{"_index":4851,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["classmodule",{"_index":4770,"title":{"modules/ClassModule.html":{}},"body":{"modules/ClassModule.html":{},"modules/DeletionApiModule.html":{},"modules/GroupApiModule.html":{}}}],["classname",{"_index":11225,"title":{},"body":{"interfaces/FeathersError.html":{},"classes/GlobalErrorFilter.html":{}}}],["classnames",{"_index":13768,"title":{},"body":{"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{}}}],["classpathadditions",{"_index":14947,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["classprops",{"_index":4593,"title":{"interfaces/ClassProps.html":{}},"body":{"classes/Class.html":{},"classes/ClassFactory.html":{},"interfaces/ClassProps.html":{}}}],["classroottype",{"_index":4693,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/GroupUcMapper.html":{}}}],["classroottype.class",{"_index":12943,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["classroottype.group",{"_index":12932,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["classserializerinterceptor",{"_index":14159,"title":{},"body":{"modules/InterceptorModule.html":{}}}],["classservice",{"_index":4774,"title":{"injectables/ClassService.html":{}},"body":{"modules/ClassModule.html":{},"injectables/ClassService.html":{}}}],["classsortby",{"_index":4802,"title":{},"body":{"classes/ClassSortParams.html":{}}}],["classsortparams",{"_index":4799,"title":{"classes/ClassSortParams.html":{}},"body":{"classes/ClassSortParams.html":{},"controllers/GroupController.html":{}}}],["classsourceoptions",{"_index":4591,"title":{"classes/ClassSourceOptions.html":{}},"body":{"classes/Class.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"classes/ClassSourceOptions.html":{},"interfaces/ClassSourceOptionsProps.html":{}}}],["classsourceoptionsentity",{"_index":4616,"title":{"classes/ClassSourceOptionsEntity.html":{}},"body":{"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{}}}],["classsourceoptionsentityprops",{"_index":4817,"title":{"interfaces/ClassSourceOptionsEntityProps.html":{}},"body":{"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{}}}],["classsourceoptionsprops",{"_index":4810,"title":{"interfaces/ClassSourceOptionsProps.html":{}},"body":{"classes/ClassSourceOptions.html":{},"interfaces/ClassSourceOptionsProps.html":{}}}],["classvalidatormetadatastorage",{"_index":9812,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["clause",{"_index":811,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["clazz",{"_index":4839,"title":{},"body":{"injectables/ClassesRepo.html":{},"classes/GroupUcMapper.html":{}}}],["clazz.gradelevel",{"_index":12939,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["clazz.gradelevel}${clazz.name",{"_index":12940,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["clazz.id",{"_index":4838,"title":{},"body":{"injectables/ClassesRepo.html":{},"classes/GroupUcMapper.html":{}}}],["clazz.name",{"_index":12941,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["clazz.source",{"_index":12944,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["clazz.successor",{"_index":12942,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["clazz.userids",{"_index":12947,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["clazz.userids.length",{"_index":12948,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["clean",{"_index":4894,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/FileRecordMapper.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"classes/KeycloakSeedService.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["clean(options",{"_index":4899,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["clean(pagesize",{"_index":14615,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakSeedService.html":{}}}],["cleanoptions",{"_index":4854,"title":{"interfaces/CleanOptions.html":{}},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["cleans",{"_index":4893,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["cleanup",{"_index":7449,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/DeleteFilesConsole.html":{},"injectables/TaskCopyUC.html":{},"classes/UsersList.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["cleanupinput",{"_index":15653,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["cleanupinput(username",{"_index":15660,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["cleanuppath",{"_index":22104,"title":{},"body":{"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["cleanuppath(inputpath",{"_index":1666,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["clear",{"_index":5253,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/IdentityManagementService.html":{},"license.html":{}}}],["clearcollection",{"_index":8777,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["clearcollection(collectionname",{"_index":8784,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["clearinterval(pinginterval",{"_index":22525,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["clearly",{"_index":25482,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["cleartimeout(timer",{"_index":19404,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["cli",{"_index":25380,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["click",{"_index":24074,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["client",{"_index":2815,"title":{},"body":{"injectables/BatchDeletionService.html":{},"modules/BoardModule.html":{},"classes/BusinessError.html":{},"modules/CacheWrapperModule.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"injectables/DeletionExecutionUc.html":{},"classes/DeletionQueueConsole.html":{},"classes/ExternalToolSearchParams.html":{},"injectables/ExternalToolValidationService.html":{},"classes/FileDto.html":{},"classes/FileResponseBuilder.html":{},"interfaces/FileStorageConfig.html":{},"interfaces/FilesStorageClientConfig.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"classes/H5pFileDto.html":{},"classes/IdParams.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/LdapService.html":{},"entities/LessonEntity.html":{},"modules/LessonModule.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonService.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{},"interfaces/PreviewConfig.html":{},"classes/PreviewGeneratorBuilder.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"injectables/PreviewService.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"injectables/RecursiveDeleteVisitor.html":{},"modules/RedisModule.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/RevokeConsentParams.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"interfaces/ServerConfig.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/SubmissionService.html":{},"classes/SystemEntityFactory.html":{},"interfaces/TargetGroupProperties.html":{},"injectables/TaskCopyService.html":{},"modules/TaskModule.html":{},"injectables/TaskService.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestHelper.html":{},"classes/TldrawWs.html":{},"classes/VideoConferenceCreateParams.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["client.adapter",{"_index":19412,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["client.adapter.ts",{"_index":19281,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:113",{"_index":19311,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:136",{"_index":19313,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:157",{"_index":19295,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:181",{"_index":19300,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:201",{"_index":19307,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:213",{"_index":19309,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:23",{"_index":19291,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:243",{"_index":19305,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:265",{"_index":19302,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:292",{"_index":19293,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:34",{"_index":19298,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:51",{"_index":19303,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:84",{"_index":19297,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.bind(username",{"_index":15017,"title":{},"body":{"injectables/LdapService.html":{}}}],["client.body.ts",{"_index":16970,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:10",{"_index":16973,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:15",{"_index":16974,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:20",{"_index":16975,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:26",{"_index":16980,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:36",{"_index":17000,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:46",{"_index":16994,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:56",{"_index":16989,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:65",{"_index":16978,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:71",{"_index":16979,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:77",{"_index":16981,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.close",{"_index":22392,"title":{},"body":{"classes/TldrawWs.html":{}}}],["client.config",{"_index":9015,"title":{},"body":{"modules/DeletionConsoleModule.html":{}}}],["client.getsigningkey",{"_index":16948,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["client.histogram",{"_index":18739,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["client.interface",{"_index":18044,"title":{},"body":{"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["client.mapper",{"_index":11678,"title":{},"body":{"classes/FileParamBuilder.html":{}}}],["client.mapper.ts",{"_index":12155,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["client.mapper.ts:17",{"_index":12163,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["client.mapper.ts:27",{"_index":12171,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["client.mapper.ts:39",{"_index":12165,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["client.mapper.ts:49",{"_index":12173,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["client.mapper.ts:62",{"_index":12167,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["client.mapper.ts:7",{"_index":12169,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["client.module.ts",{"_index":12196,"title":{},"body":{"modules/FilesStorageClientModule.html":{},"modules/S3ClientModule.html":{},"modules/TldrawClientModule.html":{}}}],["client.module.ts:25",{"_index":19411,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["client.on('connect",{"_index":4252,"title":{},"body":{"modules/CacheWrapperModule.html":{},"injectables/LdapService.html":{},"modules/RedisModule.html":{}}}],["client.on('error",{"_index":4250,"title":{},"body":{"modules/CacheWrapperModule.html":{},"injectables/LdapService.html":{},"modules/RedisModule.html":{}}}],["client.response",{"_index":6317,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{}}}],["client.send(deletioncommand",{"_index":8914,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["client.service",{"_index":7236,"title":{},"body":{"injectables/CopyFilesService.html":{},"modules/FilesStorageClientModule.html":{}}}],["client.service.ts",{"_index":12132,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["client.service.ts:11",{"_index":12138,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["client.service.ts:16",{"_index":12140,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["client.service.ts:23",{"_index":12144,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["client.service.ts:31",{"_index":12142,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["client.ts",{"_index":1604,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["client.ts:104",{"_index":22119,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:110",{"_index":22110,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:120",{"_index":22111,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:129",{"_index":22116,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:136",{"_index":22118,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:14",{"_index":22179,"title":{},"body":{"classes/TestXApiKeyClient.html":{}}}],["client.ts:142",{"_index":22115,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:21",{"_index":22178,"title":{},"body":{"classes/TestXApiKeyClient.html":{}}}],["client.ts:26",{"_index":22108,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:28",{"_index":22109,"title":{},"body":{"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["client.ts:30",{"_index":22107,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:38",{"_index":22114,"title":{},"body":{"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["client.ts:44",{"_index":22177,"title":{},"body":{"classes/TestXApiKeyClient.html":{}}}],["client.ts:45",{"_index":22112,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:5",{"_index":22176,"title":{},"body":{"classes/TestXApiKeyClient.html":{}}}],["client.ts:54",{"_index":22123,"title":{},"body":{"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["client.ts:63",{"_index":22180,"title":{},"body":{"classes/TestXApiKeyClient.html":{}}}],["client.ts:64",{"_index":22121,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:7",{"_index":22175,"title":{},"body":{"classes/TestXApiKeyClient.html":{}}}],["client.ts:74",{"_index":22122,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:84",{"_index":22120,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client/deletion",{"_index":9014,"title":{},"body":{"modules/DeletionConsoleModule.html":{}}}],["client/dto",{"_index":20030,"title":{},"body":{"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["client/dto/copy",{"_index":7106,"title":{},"body":{"classes/CopyFileDto.html":{}}}],["client/dto/file.dto.ts",{"_index":11411,"title":{},"body":{"classes/FileDto-1.html":{}}}],["client/dto/file.dto.ts:10",{"_index":11415,"title":{},"body":{"classes/FileDto-1.html":{}}}],["client/dto/file.dto.ts:12",{"_index":11412,"title":{},"body":{"classes/FileDto-1.html":{}}}],["client/dto/file.dto.ts:6",{"_index":11413,"title":{},"body":{"classes/FileDto-1.html":{}}}],["client/dto/file.dto.ts:8",{"_index":11414,"title":{},"body":{"classes/FileDto-1.html":{}}}],["client/files",{"_index":12195,"title":{},"body":{"modules/FilesStorageClientModule.html":{}}}],["client/interface/index.ts",{"_index":7187,"title":{},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/S3Config.html":{}}}],["client/interfaces/copy",{"_index":7103,"title":{},"body":{"interfaces/CopyFileDomainObjectProps.html":{},"interfaces/CopyFilesRequestInfo.html":{}}}],["client/interfaces/file",{"_index":11400,"title":{},"body":{"interfaces/FileDomainObjectProps.html":{},"interfaces/FileRequestInfo.html":{}}}],["client/interfaces/files",{"_index":12154,"title":{},"body":{"interfaces/FilesStorageClientConfig.html":{}}}],["client/lib/defs/authenticationexecutioninforepresentation",{"_index":14494,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["client/lib/defs/authenticationflowrepresentation",{"_index":14496,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["client/lib/defs/clientrepresentation",{"_index":14498,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["client/lib/defs/identityprovidermapperrepresentation",{"_index":14499,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["client/lib/defs/identityproviderrepresentation",{"_index":14500,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["client/lib/defs/protocolmapperrepresentation",{"_index":14501,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["client/lib/defs/userrepresentation",{"_index":14700,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["client/mapper/copy",{"_index":7205,"title":{},"body":{"classes/CopyFilesOfParentParamBuilder.html":{}}}],["client/mapper/files",{"_index":11674,"title":{},"body":{"classes/FileParamBuilder.html":{},"classes/FilesStorageClientMapper.html":{}}}],["client/s3",{"_index":19280,"title":{},"body":{"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{}}}],["client/service/copy",{"_index":7218,"title":{},"body":{"injectables/CopyFilesService.html":{},"injectables/TaskCopyService.html":{}}}],["client/service/drawing",{"_index":3870,"title":{},"body":{"modules/BoardModule.html":{},"injectables/DrawingElementAdapterService.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["client/service/files",{"_index":12131,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageProducer.html":{}}}],["client/tldraw",{"_index":22278,"title":{},"body":{"modules/TldrawClientModule.html":{}}}],["client_id",{"_index":1495,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/ConsentSessionResponse.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/HydraSsoService.html":{},"interfaces/IntrospectResponse.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LoginResponse-1.html":{},"classes/OauthClientBody.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"classes/TokenRequestMapper.html":{}}}],["client_name",{"_index":6321,"title":{},"body":{"classes/ConsentSessionResponse.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ListOauthClientsParams.html":{},"classes/OauthClientBody.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/OauthProviderService.html":{}}}],["client_secret",{"_index":1496,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/OauthClientBody.html":{},"classes/TokenRequestMapper.html":{}}}],["client_secret_basic",{"_index":16998,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client_secret_post",{"_index":16997,"title":{},"body":{"classes/OauthClientBody.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["clientauthmethod",{"_index":17533,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["clientid",{"_index":6325,"title":{},"body":{"classes/ConsentSessionResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/HydraSsoService.html":{},"interfaces/IKeycloakSettings.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfigEntity.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolService.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderUc.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/SystemResponseMapper.html":{},"classes/TokenRequestMapper.html":{},"additional-documentation/nestjs-application.html":{}}}],["clientinternalid",{"_index":14403,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["clientname",{"_index":6323,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["clientrepresentation",{"_index":14497,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["clients",{"_index":8897,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"classes/ListOauthClientsParams.html":{},"controllers/OauthProviderController.html":{},"classes/WsSharedDocDo.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["clients.map",{"_index":17284,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["clients.params.ts",{"_index":15637,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["clients.params.ts:16",{"_index":15642,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["clients.params.ts:27",{"_index":15645,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["clients.params.ts:36",{"_index":15638,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["clients.params.ts:45",{"_index":15646,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["clients_configuration_path='/tmp/config/clients",{"_index":25874,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["clientsecret",{"_index":8206,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/HydraSsoService.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfigEntity.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["clientsecret.value",{"_index":14407,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["clienttype",{"_index":2321,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["clienturl",{"_index":1041,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"injectables/ColumnBoardService.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["clock",{"_index":22319,"title":{},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["clone",{"_index":511,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["clone(this",{"_index":551,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["clone>(this",{"_index":2616,"title":{},"body":{"classes/BaseFactory.html":{}}}],["close",{"_index":18334,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["closeconn",{"_index":22422,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["closeconn(doc",{"_index":22429,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["closed",{"_index":21604,"title":{},"body":{"injectables/TaskRepo.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["closed.loggable",{"_index":23382,"title":{},"body":{"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{}}}],["closedat",{"_index":23384,"title":{},"body":{"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["closeddraftsforcreator",{"_index":21608,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closeddraftsforcreator.addquery(parentsopen.query",{"_index":21609,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closeddraftsforcreator.bycreatorid(parentids.creatorid",{"_index":21611,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closeddraftsforcreator.byfinished(parentids.creatorid",{"_index":21610,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closedforopencoursesandlessons",{"_index":21597,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closedforopencoursesandlessons.addquery(parentsopen.query",{"_index":21598,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closedforopencoursesandlessons.bydraft(false",{"_index":21599,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closedforopencoursesandlessons.byfinished(parentids.creatorid",{"_index":21600,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closedwithoutparentforcreator",{"_index":21605,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closedwithoutparentforcreator.byfinished(parentids.creatorid",{"_index":21606,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closedwithoutparentforcreator.byonlycreatorid(parentids.creatorid",{"_index":21607,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closely",{"_index":25178,"title":{},"body":{"license.html":{}}}],["closemigration",{"_index":4941,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationService.html":{}}}],["closemigration(@currentuser",{"_index":23483,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["closemigration(currentuser",{"_index":23401,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["closemigration(userid",{"_index":4947,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{}}}],["closemigration(userloginmigration",{"_index":23625,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["closeuserloginmigrationuc",{"_index":4937,"title":{"injectables/CloseUserLoginMigrationUc.html":{}},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{}}}],["closing",{"_index":25792,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["cloud",{"_index":16715,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["cloud.github.io/schulcloud",{"_index":25255,"title":{},"body":{"todo.html":{}}}],["cloud/commons",{"_index":2221,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"interfaces/CollectionFilePath.html":{},"injectables/CourseCopyUC.html":{},"modules/DeletionApiModule.html":{},"interfaces/FileStorageConfig.html":{},"modules/FilesStorageModule.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"injectables/LessonCopyUC.html":{},"controllers/OauthProviderController.html":{},"classes/PrometheusMetricsConfig.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"interfaces/ServerConfig.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TldrawConfig.html":{},"dependencies.html":{}}}],["cloud/commons/lib",{"_index":4228,"title":{},"body":{"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarService.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"injectables/ColumnBoardService.html":{},"interfaces/CopyFileDO.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DtoCreator.html":{},"interfaces/FileDO.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/HydraSsoService.html":{},"interfaces/IToolFeatures.html":{},"classes/KeycloakAdministration.html":{},"modules/ManagementModule.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PseudonymService.html":{},"modules/RedisModule.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsService.html":{},"injectables/SanisProvisioningStrategy.html":{},"modules/ServerConsoleModule.html":{},"injectables/ShareTokenUC.html":{},"classes/ToolConfiguration.html":{},"injectables/UserLoginMigrationService.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["cloud/dof_app_deploy/blob/main/ansible/roles/rocketchat/templates/configmap.yml.j2#l9",{"_index":25920,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["cloud/erwin",{"_index":25302,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["cloud/node",{"_index":24506,"title":{},"body":{"dependencies.html":{}}}],["cloud/sc",{"_index":25882,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["cloud/schulcloud",{"_index":25234,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["cluster_accountapimodule",{"_index":261,"title":{},"body":{"modules/AccountApiModule.html":{}}}],["cluster_accountapimodule_imports",{"_index":262,"title":{},"body":{"modules/AccountApiModule.html":{}}}],["cluster_accountapimodule_providers",{"_index":263,"title":{},"body":{"modules/AccountApiModule.html":{}}}],["cluster_accountmodule",{"_index":661,"title":{},"body":{"modules/AccountModule.html":{}}}],["cluster_accountmodule_exports",{"_index":662,"title":{},"body":{"modules/AccountModule.html":{}}}],["cluster_accountmodule_imports",{"_index":663,"title":{},"body":{"modules/AccountModule.html":{}}}],["cluster_accountmodule_providers",{"_index":664,"title":{},"body":{"modules/AccountModule.html":{}}}],["cluster_adminapiservermodule",{"_index":1008,"title":{},"body":{"modules/AdminApiServerModule.html":{}}}],["cluster_adminapiservermodule_imports",{"_index":1009,"title":{},"body":{"modules/AdminApiServerModule.html":{}}}],["cluster_adminapiservertestmodule",{"_index":1046,"title":{},"body":{"modules/AdminApiServerTestModule.html":{}}}],["cluster_adminapiservertestmodule_imports",{"_index":1047,"title":{},"body":{"modules/AdminApiServerTestModule.html":{}}}],["cluster_authenticationapimodule",{"_index":1481,"title":{},"body":{"modules/AuthenticationApiModule.html":{}}}],["cluster_authenticationapimodule_imports",{"_index":1483,"title":{},"body":{"modules/AuthenticationApiModule.html":{}}}],["cluster_authenticationapimodule_providers",{"_index":1482,"title":{},"body":{"modules/AuthenticationApiModule.html":{}}}],["cluster_authenticationmodule",{"_index":1518,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["cluster_authenticationmodule_exports",{"_index":1521,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["cluster_authenticationmodule_imports",{"_index":1520,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["cluster_authenticationmodule_providers",{"_index":1519,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["cluster_authorizationmodule",{"_index":1857,"title":{},"body":{"modules/AuthorizationModule.html":{}}}],["cluster_authorizationmodule_exports",{"_index":1860,"title":{},"body":{"modules/AuthorizationModule.html":{}}}],["cluster_authorizationmodule_imports",{"_index":1859,"title":{},"body":{"modules/AuthorizationModule.html":{}}}],["cluster_authorizationmodule_providers",{"_index":1858,"title":{},"body":{"modules/AuthorizationModule.html":{}}}],["cluster_authorizationreferencemodule",{"_index":1903,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["cluster_authorizationreferencemodule_exports",{"_index":1905,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["cluster_authorizationreferencemodule_imports",{"_index":1904,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["cluster_authorizationreferencemodule_providers",{"_index":1906,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["cluster_boardapimodule",{"_index":3002,"title":{},"body":{"modules/BoardApiModule.html":{}}}],["cluster_boardapimodule_imports",{"_index":3003,"title":{},"body":{"modules/BoardApiModule.html":{}}}],["cluster_boardapimodule_providers",{"_index":3004,"title":{},"body":{"modules/BoardApiModule.html":{}}}],["cluster_boardmodule",{"_index":3851,"title":{},"body":{"modules/BoardModule.html":{}}}],["cluster_boardmodule_exports",{"_index":3854,"title":{},"body":{"modules/BoardModule.html":{}}}],["cluster_boardmodule_imports",{"_index":3853,"title":{},"body":{"modules/BoardModule.html":{}}}],["cluster_boardmodule_providers",{"_index":3852,"title":{},"body":{"modules/BoardModule.html":{}}}],["cluster_cachewrappermodule",{"_index":4234,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["cluster_cachewrappermodule_exports",{"_index":4235,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["cluster_cachewrappermodule_providers",{"_index":4236,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["cluster_calendarmodule",{"_index":4283,"title":{},"body":{"modules/CalendarModule.html":{}}}],["cluster_calendarmodule_exports",{"_index":4284,"title":{},"body":{"modules/CalendarModule.html":{}}}],["cluster_calendarmodule_providers",{"_index":4285,"title":{},"body":{"modules/CalendarModule.html":{}}}],["cluster_classmodule",{"_index":4771,"title":{},"body":{"modules/ClassModule.html":{}}}],["cluster_classmodule_exports",{"_index":4772,"title":{},"body":{"modules/ClassModule.html":{}}}],["cluster_classmodule_providers",{"_index":4773,"title":{},"body":{"modules/ClassModule.html":{}}}],["cluster_collaborativestorageadaptermodule",{"_index":5032,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["cluster_collaborativestorageadaptermodule_exports",{"_index":5033,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["cluster_collaborativestorageadaptermodule_imports",{"_index":5035,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["cluster_collaborativestorageadaptermodule_providers",{"_index":5034,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["cluster_collaborativestoragemodule",{"_index":5084,"title":{},"body":{"modules/CollaborativeStorageModule.html":{}}}],["cluster_collaborativestoragemodule_exports",{"_index":5086,"title":{},"body":{"modules/CollaborativeStorageModule.html":{}}}],["cluster_collaborativestoragemodule_imports",{"_index":5087,"title":{},"body":{"modules/CollaborativeStorageModule.html":{}}}],["cluster_collaborativestoragemodule_providers",{"_index":5085,"title":{},"body":{"modules/CollaborativeStorageModule.html":{}}}],["cluster_commontoolmodule",{"_index":6029,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["cluster_commontoolmodule_exports",{"_index":6030,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["cluster_commontoolmodule_imports",{"_index":6032,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["cluster_commontoolmodule_providers",{"_index":6031,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["cluster_consolewritermodule",{"_index":6332,"title":{},"body":{"modules/ConsoleWriterModule.html":{}}}],["cluster_consolewritermodule_exports",{"_index":6334,"title":{},"body":{"modules/ConsoleWriterModule.html":{}}}],["cluster_consolewritermodule_providers",{"_index":6333,"title":{},"body":{"modules/ConsoleWriterModule.html":{}}}],["cluster_contextexternaltoolmodule",{"_index":6773,"title":{},"body":{"modules/ContextExternalToolModule.html":{}}}],["cluster_contextexternaltoolmodule_exports",{"_index":6776,"title":{},"body":{"modules/ContextExternalToolModule.html":{}}}],["cluster_contextexternaltoolmodule_imports",{"_index":6775,"title":{},"body":{"modules/ContextExternalToolModule.html":{}}}],["cluster_contextexternaltoolmodule_providers",{"_index":6774,"title":{},"body":{"modules/ContextExternalToolModule.html":{}}}],["cluster_copyhelpermodule",{"_index":7263,"title":{},"body":{"modules/CopyHelperModule.html":{}}}],["cluster_copyhelpermodule_exports",{"_index":7264,"title":{},"body":{"modules/CopyHelperModule.html":{}}}],["cluster_copyhelpermodule_providers",{"_index":7265,"title":{},"body":{"modules/CopyHelperModule.html":{}}}],["cluster_coremodule",{"_index":7345,"title":{},"body":{"modules/CoreModule.html":{}}}],["cluster_coremodule_exports",{"_index":7347,"title":{},"body":{"modules/CoreModule.html":{}}}],["cluster_coremodule_imports",{"_index":7346,"title":{},"body":{"modules/CoreModule.html":{}}}],["cluster_databasemanagementmodule",{"_index":8770,"title":{},"body":{"modules/DatabaseManagementModule.html":{}}}],["cluster_databasemanagementmodule_exports",{"_index":8771,"title":{},"body":{"modules/DatabaseManagementModule.html":{}}}],["cluster_databasemanagementmodule_providers",{"_index":8772,"title":{},"body":{"modules/DatabaseManagementModule.html":{}}}],["cluster_deletionapimodule",{"_index":8915,"title":{},"body":{"modules/DeletionApiModule.html":{}}}],["cluster_deletionapimodule_imports",{"_index":8916,"title":{},"body":{"modules/DeletionApiModule.html":{}}}],["cluster_deletionapimodule_providers",{"_index":8917,"title":{},"body":{"modules/DeletionApiModule.html":{}}}],["cluster_deletionconsolemodule",{"_index":9006,"title":{},"body":{"modules/DeletionConsoleModule.html":{}}}],["cluster_deletionconsolemodule_imports",{"_index":9007,"title":{},"body":{"modules/DeletionConsoleModule.html":{}}}],["cluster_deletionconsolemodule_providers",{"_index":9008,"title":{},"body":{"modules/DeletionConsoleModule.html":{}}}],["cluster_deletionmodule",{"_index":9220,"title":{},"body":{"modules/DeletionModule.html":{}}}],["cluster_deletionmodule_exports",{"_index":9221,"title":{},"body":{"modules/DeletionModule.html":{}}}],["cluster_deletionmodule_providers",{"_index":9222,"title":{},"body":{"modules/DeletionModule.html":{}}}],["cluster_encryptionmodule",{"_index":9781,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["cluster_encryptionmodule_imports",{"_index":9782,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["cluster_errormodule",{"_index":9897,"title":{},"body":{"modules/ErrorModule.html":{}}}],["cluster_errormodule_imports",{"_index":9898,"title":{},"body":{"modules/ErrorModule.html":{}}}],["cluster_externaltoolmodule",{"_index":10413,"title":{},"body":{"modules/ExternalToolModule.html":{}}}],["cluster_externaltoolmodule_exports",{"_index":10414,"title":{},"body":{"modules/ExternalToolModule.html":{}}}],["cluster_externaltoolmodule_imports",{"_index":10416,"title":{},"body":{"modules/ExternalToolModule.html":{}}}],["cluster_externaltoolmodule_providers",{"_index":10415,"title":{},"body":{"modules/ExternalToolModule.html":{}}}],["cluster_feathersmodule",{"_index":11226,"title":{},"body":{"modules/FeathersModule.html":{}}}],["cluster_feathersmodule_exports",{"_index":11227,"title":{},"body":{"modules/FeathersModule.html":{}}}],["cluster_feathersmodule_providers",{"_index":11228,"title":{},"body":{"modules/FeathersModule.html":{}}}],["cluster_filesmodule",{"_index":12062,"title":{},"body":{"modules/FilesModule.html":{}}}],["cluster_filesmodule_exports",{"_index":12064,"title":{},"body":{"modules/FilesModule.html":{}}}],["cluster_filesmodule_imports",{"_index":12063,"title":{},"body":{"modules/FilesModule.html":{}}}],["cluster_filesmodule_providers",{"_index":12065,"title":{},"body":{"modules/FilesModule.html":{}}}],["cluster_filesstorageamqpmodule",{"_index":12116,"title":{},"body":{"modules/FilesStorageAMQPModule.html":{}}}],["cluster_filesstorageamqpmodule_imports",{"_index":12117,"title":{},"body":{"modules/FilesStorageAMQPModule.html":{}}}],["cluster_filesstorageamqpmodule_providers",{"_index":12118,"title":{},"body":{"modules/FilesStorageAMQPModule.html":{}}}],["cluster_filesstorageapimodule",{"_index":12124,"title":{},"body":{"modules/FilesStorageApiModule.html":{}}}],["cluster_filesstorageapimodule_imports",{"_index":12126,"title":{},"body":{"modules/FilesStorageApiModule.html":{}}}],["cluster_filesstorageapimodule_providers",{"_index":12125,"title":{},"body":{"modules/FilesStorageApiModule.html":{}}}],["cluster_filesstorageclientmodule",{"_index":12191,"title":{},"body":{"modules/FilesStorageClientModule.html":{}}}],["cluster_filesstorageclientmodule_exports",{"_index":12194,"title":{},"body":{"modules/FilesStorageClientModule.html":{}}}],["cluster_filesstorageclientmodule_imports",{"_index":12192,"title":{},"body":{"modules/FilesStorageClientModule.html":{}}}],["cluster_filesstorageclientmodule_providers",{"_index":12193,"title":{},"body":{"modules/FilesStorageClientModule.html":{}}}],["cluster_filesstoragemodule",{"_index":12271,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["cluster_filesstoragemodule_exports",{"_index":12272,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["cluster_filesstoragemodule_imports",{"_index":12273,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["cluster_filesstoragemodule_providers",{"_index":12274,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["cluster_filesstoragetestmodule",{"_index":12324,"title":{},"body":{"modules/FilesStorageTestModule.html":{}}}],["cluster_filesstoragetestmodule_imports",{"_index":12325,"title":{},"body":{"modules/FilesStorageTestModule.html":{}}}],["cluster_filesystemmodule",{"_index":12052,"title":{},"body":{"modules/FileSystemModule.html":{}}}],["cluster_filesystemmodule_exports",{"_index":12054,"title":{},"body":{"modules/FileSystemModule.html":{}}}],["cluster_filesystemmodule_providers",{"_index":12053,"title":{},"body":{"modules/FileSystemModule.html":{}}}],["cluster_fwulearningcontentsmodule",{"_index":12417,"title":{},"body":{"modules/FwuLearningContentsModule.html":{}}}],["cluster_fwulearningcontentsmodule_imports",{"_index":12419,"title":{},"body":{"modules/FwuLearningContentsModule.html":{}}}],["cluster_fwulearningcontentsmodule_providers",{"_index":12418,"title":{},"body":{"modules/FwuLearningContentsModule.html":{}}}],["cluster_fwulearningcontentstestmodule",{"_index":12428,"title":{},"body":{"modules/FwuLearningContentsTestModule.html":{}}}],["cluster_fwulearningcontentstestmodule_imports",{"_index":12430,"title":{},"body":{"modules/FwuLearningContentsTestModule.html":{}}}],["cluster_fwulearningcontentstestmodule_providers",{"_index":12429,"title":{},"body":{"modules/FwuLearningContentsTestModule.html":{}}}],["cluster_groupapimodule",{"_index":12662,"title":{},"body":{"modules/GroupApiModule.html":{}}}],["cluster_groupapimodule_imports",{"_index":12664,"title":{},"body":{"modules/GroupApiModule.html":{}}}],["cluster_groupapimodule_providers",{"_index":12663,"title":{},"body":{"modules/GroupApiModule.html":{}}}],["cluster_groupmodule",{"_index":12781,"title":{},"body":{"modules/GroupModule.html":{}}}],["cluster_groupmodule_exports",{"_index":12783,"title":{},"body":{"modules/GroupModule.html":{}}}],["cluster_groupmodule_providers",{"_index":12782,"title":{},"body":{"modules/GroupModule.html":{}}}],["cluster_h5peditormodule",{"_index":13216,"title":{},"body":{"modules/H5PEditorModule.html":{}}}],["cluster_h5peditormodule_exports",{"_index":13217,"title":{},"body":{"modules/H5PEditorModule.html":{}}}],["cluster_h5peditormodule_imports",{"_index":13218,"title":{},"body":{"modules/H5PEditorModule.html":{}}}],["cluster_h5peditormodule_providers",{"_index":13219,"title":{},"body":{"modules/H5PEditorModule.html":{}}}],["cluster_h5peditortestmodule",{"_index":13239,"title":{},"body":{"modules/H5PEditorTestModule.html":{}}}],["cluster_h5peditortestmodule_imports",{"_index":13241,"title":{},"body":{"modules/H5PEditorTestModule.html":{}}}],["cluster_h5peditortestmodule_providers",{"_index":13240,"title":{},"body":{"modules/H5PEditorTestModule.html":{}}}],["cluster_h5plibrarymanagementmodule",{"_index":13254,"title":{},"body":{"modules/H5PLibraryManagementModule.html":{}}}],["cluster_h5plibrarymanagementmodule_imports",{"_index":13256,"title":{},"body":{"modules/H5PLibraryManagementModule.html":{}}}],["cluster_h5plibrarymanagementmodule_providers",{"_index":13255,"title":{},"body":{"modules/H5PLibraryManagementModule.html":{}}}],["cluster_identitymanagementmodule",{"_index":13704,"title":{},"body":{"modules/IdentityManagementModule.html":{}}}],["cluster_identitymanagementmodule_exports",{"_index":13706,"title":{},"body":{"modules/IdentityManagementModule.html":{}}}],["cluster_identitymanagementmodule_imports",{"_index":13705,"title":{},"body":{"modules/IdentityManagementModule.html":{}}}],["cluster_importusermodule",{"_index":14007,"title":{},"body":{"modules/ImportUserModule.html":{}}}],["cluster_importusermodule_imports",{"_index":14009,"title":{},"body":{"modules/ImportUserModule.html":{}}}],["cluster_importusermodule_providers",{"_index":14008,"title":{},"body":{"modules/ImportUserModule.html":{}}}],["cluster_keycloakadministrationmodule",{"_index":14349,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{}}}],["cluster_keycloakadministrationmodule_exports",{"_index":14351,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{}}}],["cluster_keycloakadministrationmodule_providers",{"_index":14350,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{}}}],["cluster_keycloakconfigurationmodule",{"_index":14423,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["cluster_keycloakconfigurationmodule_exports",{"_index":14424,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["cluster_keycloakconfigurationmodule_imports",{"_index":14425,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["cluster_keycloakconfigurationmodule_providers",{"_index":14426,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["cluster_keycloakmodule",{"_index":14809,"title":{},"body":{"modules/KeycloakModule.html":{}}}],["cluster_keycloakmodule_exports",{"_index":14810,"title":{},"body":{"modules/KeycloakModule.html":{}}}],["cluster_keycloakmodule_imports",{"_index":14811,"title":{},"body":{"modules/KeycloakModule.html":{}}}],["cluster_keycloakmodule_providers",{"_index":14812,"title":{},"body":{"modules/KeycloakModule.html":{}}}],["cluster_learnroomapimodule",{"_index":15075,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["cluster_learnroomapimodule_imports",{"_index":15076,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["cluster_learnroomapimodule_providers",{"_index":15077,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["cluster_learnroommodule",{"_index":15090,"title":{},"body":{"modules/LearnroomModule.html":{}}}],["cluster_learnroommodule_exports",{"_index":15093,"title":{},"body":{"modules/LearnroomModule.html":{}}}],["cluster_learnroommodule_imports",{"_index":15092,"title":{},"body":{"modules/LearnroomModule.html":{}}}],["cluster_learnroommodule_providers",{"_index":15091,"title":{},"body":{"modules/LearnroomModule.html":{}}}],["cluster_legacyschoolmodule",{"_index":15187,"title":{},"body":{"modules/LegacySchoolModule.html":{}}}],["cluster_legacyschoolmodule_exports",{"_index":15190,"title":{},"body":{"modules/LegacySchoolModule.html":{}}}],["cluster_legacyschoolmodule_imports",{"_index":15189,"title":{},"body":{"modules/LegacySchoolModule.html":{}}}],["cluster_legacyschoolmodule_providers",{"_index":15188,"title":{},"body":{"modules/LegacySchoolModule.html":{}}}],["cluster_lessonapimodule",{"_index":15355,"title":{},"body":{"modules/LessonApiModule.html":{}}}],["cluster_lessonapimodule_imports",{"_index":15356,"title":{},"body":{"modules/LessonApiModule.html":{}}}],["cluster_lessonapimodule_providers",{"_index":15357,"title":{},"body":{"modules/LessonApiModule.html":{}}}],["cluster_lessonmodule",{"_index":15431,"title":{},"body":{"modules/LessonModule.html":{}}}],["cluster_lessonmodule_exports",{"_index":15434,"title":{},"body":{"modules/LessonModule.html":{}}}],["cluster_lessonmodule_imports",{"_index":15433,"title":{},"body":{"modules/LessonModule.html":{}}}],["cluster_lessonmodule_providers",{"_index":15432,"title":{},"body":{"modules/LessonModule.html":{}}}],["cluster_loggermodule",{"_index":15701,"title":{},"body":{"modules/LoggerModule.html":{}}}],["cluster_loggermodule_exports",{"_index":15703,"title":{},"body":{"modules/LoggerModule.html":{}}}],["cluster_loggermodule_providers",{"_index":15702,"title":{},"body":{"modules/LoggerModule.html":{}}}],["cluster_ltitoolmodule",{"_index":15956,"title":{},"body":{"modules/LtiToolModule.html":{}}}],["cluster_ltitoolmodule_exports",{"_index":15958,"title":{},"body":{"modules/LtiToolModule.html":{}}}],["cluster_ltitoolmodule_providers",{"_index":15957,"title":{},"body":{"modules/LtiToolModule.html":{}}}],["cluster_managementmodule",{"_index":16074,"title":{},"body":{"modules/ManagementModule.html":{}}}],["cluster_managementmodule_providers",{"_index":16075,"title":{},"body":{"modules/ManagementModule.html":{}}}],["cluster_managementservermodule",{"_index":16086,"title":{},"body":{"modules/ManagementServerModule.html":{}}}],["cluster_managementservermodule_imports",{"_index":16087,"title":{},"body":{"modules/ManagementServerModule.html":{}}}],["cluster_managementservertestmodule",{"_index":16093,"title":{},"body":{"modules/ManagementServerTestModule.html":{}}}],["cluster_managementservertestmodule_imports",{"_index":16094,"title":{},"body":{"modules/ManagementServerTestModule.html":{}}}],["cluster_metatagextractorapimodule",{"_index":16139,"title":{},"body":{"modules/MetaTagExtractorApiModule.html":{}}}],["cluster_metatagextractorapimodule_imports",{"_index":16140,"title":{},"body":{"modules/MetaTagExtractorApiModule.html":{}}}],["cluster_metatagextractorapimodule_providers",{"_index":16141,"title":{},"body":{"modules/MetaTagExtractorApiModule.html":{}}}],["cluster_metatagextractormodule",{"_index":16163,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["cluster_metatagextractormodule_exports",{"_index":16165,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["cluster_metatagextractormodule_imports",{"_index":16166,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["cluster_metatagextractormodule_providers",{"_index":16164,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["cluster_newsmodule",{"_index":16521,"title":{},"body":{"modules/NewsModule.html":{}}}],["cluster_newsmodule_exports",{"_index":16523,"title":{},"body":{"modules/NewsModule.html":{}}}],["cluster_newsmodule_imports",{"_index":16522,"title":{},"body":{"modules/NewsModule.html":{}}}],["cluster_newsmodule_providers",{"_index":16524,"title":{},"body":{"modules/NewsModule.html":{}}}],["cluster_oauthapimodule",{"_index":16961,"title":{},"body":{"modules/OauthApiModule.html":{}}}],["cluster_oauthapimodule_imports",{"_index":16962,"title":{},"body":{"modules/OauthApiModule.html":{}}}],["cluster_oauthapimodule_providers",{"_index":16963,"title":{},"body":{"modules/OauthApiModule.html":{}}}],["cluster_oauthmodule",{"_index":17121,"title":{},"body":{"modules/OauthModule.html":{}}}],["cluster_oauthmodule_exports",{"_index":17124,"title":{},"body":{"modules/OauthModule.html":{}}}],["cluster_oauthmodule_imports",{"_index":17123,"title":{},"body":{"modules/OauthModule.html":{}}}],["cluster_oauthmodule_providers",{"_index":17122,"title":{},"body":{"modules/OauthModule.html":{}}}],["cluster_oauthproviderapimodule",{"_index":17132,"title":{},"body":{"modules/OauthProviderApiModule.html":{}}}],["cluster_oauthproviderapimodule_imports",{"_index":17133,"title":{},"body":{"modules/OauthProviderApiModule.html":{}}}],["cluster_oauthproviderapimodule_providers",{"_index":17134,"title":{},"body":{"modules/OauthProviderApiModule.html":{}}}],["cluster_oauthprovidermodule",{"_index":17382,"title":{},"body":{"modules/OauthProviderModule.html":{}}}],["cluster_oauthprovidermodule_exports",{"_index":17383,"title":{},"body":{"modules/OauthProviderModule.html":{}}}],["cluster_oauthprovidermodule_imports",{"_index":17384,"title":{},"body":{"modules/OauthProviderModule.html":{}}}],["cluster_oauthprovidermodule_providers",{"_index":17385,"title":{},"body":{"modules/OauthProviderModule.html":{}}}],["cluster_oauthproviderservicemodule",{"_index":17438,"title":{},"body":{"modules/OauthProviderServiceModule.html":{}}}],["cluster_oauthproviderservicemodule_exports",{"_index":17439,"title":{},"body":{"modules/OauthProviderServiceModule.html":{}}}],["cluster_previewgeneratoramqpmodule",{"_index":17819,"title":{},"body":{"modules/PreviewGeneratorAMQPModule.html":{}}}],["cluster_previewgeneratoramqpmodule_imports",{"_index":17820,"title":{},"body":{"modules/PreviewGeneratorAMQPModule.html":{}}}],["cluster_previewgeneratorproducermodule",{"_index":17857,"title":{},"body":{"modules/PreviewGeneratorProducerModule.html":{}}}],["cluster_previewgeneratorproducermodule_exports",{"_index":17859,"title":{},"body":{"modules/PreviewGeneratorProducerModule.html":{}}}],["cluster_previewgeneratorproducermodule_imports",{"_index":17860,"title":{},"body":{"modules/PreviewGeneratorProducerModule.html":{}}}],["cluster_previewgeneratorproducermodule_providers",{"_index":17858,"title":{},"body":{"modules/PreviewGeneratorProducerModule.html":{}}}],["cluster_provisioningmodule",{"_index":18058,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["cluster_provisioningmodule_exports",{"_index":18060,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["cluster_provisioningmodule_imports",{"_index":18061,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["cluster_provisioningmodule_providers",{"_index":18059,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["cluster_pseudonymapimodule",{"_index":18139,"title":{},"body":{"modules/PseudonymApiModule.html":{}}}],["cluster_pseudonymapimodule_imports",{"_index":18141,"title":{},"body":{"modules/PseudonymApiModule.html":{}}}],["cluster_pseudonymapimodule_providers",{"_index":18140,"title":{},"body":{"modules/PseudonymApiModule.html":{}}}],["cluster_pseudonymmodule",{"_index":18178,"title":{},"body":{"modules/PseudonymModule.html":{}}}],["cluster_pseudonymmodule_exports",{"_index":18179,"title":{},"body":{"modules/PseudonymModule.html":{}}}],["cluster_pseudonymmodule_imports",{"_index":18180,"title":{},"body":{"modules/PseudonymModule.html":{}}}],["cluster_pseudonymmodule_providers",{"_index":18181,"title":{},"body":{"modules/PseudonymModule.html":{}}}],["cluster_redismodule",{"_index":18571,"title":{},"body":{"modules/RedisModule.html":{}}}],["cluster_redismodule_imports",{"_index":18572,"title":{},"body":{"modules/RedisModule.html":{}}}],["cluster_registrationpinmodule",{"_index":18671,"title":{},"body":{"modules/RegistrationPinModule.html":{}}}],["cluster_registrationpinmodule_exports",{"_index":18674,"title":{},"body":{"modules/RegistrationPinModule.html":{}}}],["cluster_registrationpinmodule_imports",{"_index":18672,"title":{},"body":{"modules/RegistrationPinModule.html":{}}}],["cluster_registrationpinmodule_providers",{"_index":18673,"title":{},"body":{"modules/RegistrationPinModule.html":{}}}],["cluster_rocketchatusermodule",{"_index":18931,"title":{},"body":{"modules/RocketChatUserModule.html":{}}}],["cluster_rocketchatusermodule_exports",{"_index":18932,"title":{},"body":{"modules/RocketChatUserModule.html":{}}}],["cluster_rocketchatusermodule_providers",{"_index":18933,"title":{},"body":{"modules/RocketChatUserModule.html":{}}}],["cluster_rolemodule",{"_index":18987,"title":{},"body":{"modules/RoleModule.html":{}}}],["cluster_rolemodule_exports",{"_index":18988,"title":{},"body":{"modules/RoleModule.html":{}}}],["cluster_rolemodule_providers",{"_index":18989,"title":{},"body":{"modules/RoleModule.html":{}}}],["cluster_schoolexternaltoolmodule",{"_index":19711,"title":{},"body":{"modules/SchoolExternalToolModule.html":{}}}],["cluster_schoolexternaltoolmodule_exports",{"_index":19714,"title":{},"body":{"modules/SchoolExternalToolModule.html":{}}}],["cluster_schoolexternaltoolmodule_imports",{"_index":19713,"title":{},"body":{"modules/SchoolExternalToolModule.html":{}}}],["cluster_schoolexternaltoolmodule_providers",{"_index":19712,"title":{},"body":{"modules/SchoolExternalToolModule.html":{}}}],["cluster_serverconsolemodule",{"_index":20144,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["cluster_serverconsolemodule_imports",{"_index":20145,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["cluster_servermodule",{"_index":20156,"title":{},"body":{"modules/ServerModule.html":{}}}],["cluster_servermodule_imports",{"_index":20157,"title":{},"body":{"modules/ServerModule.html":{}}}],["cluster_servertestmodule",{"_index":20233,"title":{},"body":{"modules/ServerTestModule.html":{}}}],["cluster_servertestmodule_imports",{"_index":20234,"title":{},"body":{"modules/ServerTestModule.html":{}}}],["cluster_sharingapimodule",{"_index":20513,"title":{},"body":{"modules/SharingApiModule.html":{}}}],["cluster_sharingapimodule_imports",{"_index":20514,"title":{},"body":{"modules/SharingApiModule.html":{}}}],["cluster_sharingapimodule_providers",{"_index":20515,"title":{},"body":{"modules/SharingApiModule.html":{}}}],["cluster_sharingmodule",{"_index":20520,"title":{},"body":{"modules/SharingModule.html":{}}}],["cluster_sharingmodule_exports",{"_index":20521,"title":{},"body":{"modules/SharingModule.html":{}}}],["cluster_sharingmodule_imports",{"_index":20522,"title":{},"body":{"modules/SharingModule.html":{}}}],["cluster_sharingmodule_providers",{"_index":20523,"title":{},"body":{"modules/SharingModule.html":{}}}],["cluster_systemapimodule",{"_index":21010,"title":{},"body":{"modules/SystemApiModule.html":{}}}],["cluster_systemapimodule_imports",{"_index":21011,"title":{},"body":{"modules/SystemApiModule.html":{}}}],["cluster_systemapimodule_providers",{"_index":21012,"title":{},"body":{"modules/SystemApiModule.html":{}}}],["cluster_systemmodule",{"_index":21146,"title":{},"body":{"modules/SystemModule.html":{}}}],["cluster_systemmodule_exports",{"_index":21147,"title":{},"body":{"modules/SystemModule.html":{}}}],["cluster_systemmodule_imports",{"_index":21148,"title":{},"body":{"modules/SystemModule.html":{}}}],["cluster_systemmodule_providers",{"_index":21149,"title":{},"body":{"modules/SystemModule.html":{}}}],["cluster_taskapimodule",{"_index":21350,"title":{},"body":{"modules/TaskApiModule.html":{}}}],["cluster_taskapimodule_imports",{"_index":21352,"title":{},"body":{"modules/TaskApiModule.html":{}}}],["cluster_taskapimodule_providers",{"_index":21351,"title":{},"body":{"modules/TaskApiModule.html":{}}}],["cluster_taskmodule",{"_index":21553,"title":{},"body":{"modules/TaskModule.html":{}}}],["cluster_taskmodule_exports",{"_index":21554,"title":{},"body":{"modules/TaskModule.html":{}}}],["cluster_taskmodule_imports",{"_index":21555,"title":{},"body":{"modules/TaskModule.html":{}}}],["cluster_taskmodule_providers",{"_index":21556,"title":{},"body":{"modules/TaskModule.html":{}}}],["cluster_teamsapimodule",{"_index":21999,"title":{},"body":{"modules/TeamsApiModule.html":{}}}],["cluster_teamsapimodule_imports",{"_index":22000,"title":{},"body":{"modules/TeamsApiModule.html":{}}}],["cluster_teamsmodule",{"_index":22003,"title":{},"body":{"modules/TeamsModule.html":{}}}],["cluster_teamsmodule_exports",{"_index":22005,"title":{},"body":{"modules/TeamsModule.html":{}}}],["cluster_teamsmodule_providers",{"_index":22004,"title":{},"body":{"modules/TeamsModule.html":{}}}],["cluster_tldrawclientmodule",{"_index":22275,"title":{},"body":{"modules/TldrawClientModule.html":{}}}],["cluster_tldrawclientmodule_imports",{"_index":22277,"title":{},"body":{"modules/TldrawClientModule.html":{}}}],["cluster_tldrawclientmodule_providers",{"_index":22276,"title":{},"body":{"modules/TldrawClientModule.html":{}}}],["cluster_tldrawmodule",{"_index":22335,"title":{},"body":{"modules/TldrawModule.html":{}}}],["cluster_tldrawmodule_imports",{"_index":22336,"title":{},"body":{"modules/TldrawModule.html":{}}}],["cluster_tldrawmodule_providers",{"_index":22337,"title":{},"body":{"modules/TldrawModule.html":{}}}],["cluster_tldrawtestmodule",{"_index":22361,"title":{},"body":{"modules/TldrawTestModule.html":{}}}],["cluster_tldrawtestmodule_imports",{"_index":22362,"title":{},"body":{"modules/TldrawTestModule.html":{}}}],["cluster_tldrawtestmodule_providers",{"_index":22363,"title":{},"body":{"modules/TldrawTestModule.html":{}}}],["cluster_tldrawwsmodule",{"_index":22414,"title":{},"body":{"modules/TldrawWsModule.html":{}}}],["cluster_tldrawwsmodule_imports",{"_index":22415,"title":{},"body":{"modules/TldrawWsModule.html":{}}}],["cluster_tldrawwsmodule_providers",{"_index":22416,"title":{},"body":{"modules/TldrawWsModule.html":{}}}],["cluster_tldrawwstestmodule",{"_index":22538,"title":{},"body":{"modules/TldrawWsTestModule.html":{}}}],["cluster_tldrawwstestmodule_imports",{"_index":22539,"title":{},"body":{"modules/TldrawWsTestModule.html":{}}}],["cluster_tldrawwstestmodule_providers",{"_index":22540,"title":{},"body":{"modules/TldrawWsTestModule.html":{}}}],["cluster_toolapimodule",{"_index":22576,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["cluster_toolapimodule_imports",{"_index":22577,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["cluster_toolapimodule_providers",{"_index":22578,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["cluster_toollaunchmodule",{"_index":22849,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["cluster_toollaunchmodule_exports",{"_index":22850,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["cluster_toollaunchmodule_imports",{"_index":22852,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["cluster_toollaunchmodule_providers",{"_index":22851,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["cluster_toolmodule",{"_index":22923,"title":{},"body":{"modules/ToolModule.html":{}}}],["cluster_toolmodule_exports",{"_index":22925,"title":{},"body":{"modules/ToolModule.html":{}}}],["cluster_toolmodule_imports",{"_index":22926,"title":{},"body":{"modules/ToolModule.html":{}}}],["cluster_toolmodule_providers",{"_index":22924,"title":{},"body":{"modules/ToolModule.html":{}}}],["cluster_userapimodule",{"_index":23177,"title":{},"body":{"modules/UserApiModule.html":{}}}],["cluster_userapimodule_imports",{"_index":23178,"title":{},"body":{"modules/UserApiModule.html":{}}}],["cluster_userapimodule_providers",{"_index":23179,"title":{},"body":{"modules/UserApiModule.html":{}}}],["cluster_userloginmigrationapimodule",{"_index":23387,"title":{},"body":{"modules/UserLoginMigrationApiModule.html":{}}}],["cluster_userloginmigrationapimodule_imports",{"_index":23389,"title":{},"body":{"modules/UserLoginMigrationApiModule.html":{}}}],["cluster_userloginmigrationapimodule_providers",{"_index":23388,"title":{},"body":{"modules/UserLoginMigrationApiModule.html":{}}}],["cluster_userloginmigrationmodule",{"_index":23561,"title":{},"body":{"modules/UserLoginMigrationModule.html":{}}}],["cluster_userloginmigrationmodule_exports",{"_index":23563,"title":{},"body":{"modules/UserLoginMigrationModule.html":{}}}],["cluster_userloginmigrationmodule_imports",{"_index":23564,"title":{},"body":{"modules/UserLoginMigrationModule.html":{}}}],["cluster_userloginmigrationmodule_providers",{"_index":23562,"title":{},"body":{"modules/UserLoginMigrationModule.html":{}}}],["cluster_usermodule",{"_index":23772,"title":{},"body":{"modules/UserModule.html":{}}}],["cluster_usermodule_exports",{"_index":23774,"title":{},"body":{"modules/UserModule.html":{}}}],["cluster_usermodule_imports",{"_index":23773,"title":{},"body":{"modules/UserModule.html":{}}}],["cluster_usermodule_providers",{"_index":23775,"title":{},"body":{"modules/UserModule.html":{}}}],["cluster_videoconferenceapimodule",{"_index":23996,"title":{},"body":{"modules/VideoConferenceApiModule.html":{}}}],["cluster_videoconferenceapimodule_imports",{"_index":23998,"title":{},"body":{"modules/VideoConferenceApiModule.html":{}}}],["cluster_videoconferenceapimodule_providers",{"_index":23997,"title":{},"body":{"modules/VideoConferenceApiModule.html":{}}}],["cluster_videoconferencemodule",{"_index":24267,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["cluster_videoconferencemodule_exports",{"_index":24268,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["cluster_videoconferencemodule_imports",{"_index":24269,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["cluster_videoconferencemodule_providers",{"_index":24270,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["code",{"_index":998,"title":{"additional-documentation/nestjs-application/code-style.html":{}},"body":{"injectables/AccountValidationService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/AuthorizationError.html":{},"classes/AuthorizationParams.html":{},"classes/AxiosErrorFactory.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/ConsentRequestBody.html":{},"injectables/DeletionClient.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorResponse.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"interfaces/FeathersError.html":{},"classes/ForbiddenOperationError.html":{},"classes/GlobalErrorFilter.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConnectionError.html":{},"classes/LoginRequestBody.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/StatelessAuthorizationParams.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"classes/SystemEntityFactory.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/ValidationError.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["codebase",{"_index":25467,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["coded",{"_index":5375,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["codes",{"_index":11605,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["coersion",{"_index":12591,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["cohesion",{"_index":25493,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["collaborative",{"_index":4969,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/NextcloudStrategy.html":{}}}],["collaborativestorage",{"_index":5134,"title":{},"body":{"interfaces/CollaborativeStorageStrategy.html":{}}}],["collaborativestorageadapter",{"_index":4963,"title":{"injectables/CollaborativeStorageAdapter.html":{}},"body":{"injectables/CollaborativeStorageAdapter.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"injectables/CollaborativeStorageService.html":{}}}],["collaborativestorageadaptermapper",{"_index":4981,"title":{"injectables/CollaborativeStorageAdapterMapper.html":{}},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{}}}],["collaborativestorageadaptermodule",{"_index":5031,"title":{"modules/CollaborativeStorageAdapterModule.html":{}},"body":{"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{}}}],["collaborativestoragecontroller",{"_index":5051,"title":{"controllers/CollaborativeStorageController.html":{}},"body":{"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{}}}],["collaborativestoragemodule",{"_index":5083,"title":{"modules/CollaborativeStorageModule.html":{}},"body":{"modules/CollaborativeStorageModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["collaborativestorageservice",{"_index":5088,"title":{"injectables/CollaborativeStorageService.html":{}},"body":{"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["collaborativestoragestrategy",{"_index":4980,"title":{"interfaces/CollaborativeStorageStrategy.html":{}},"body":{"injectables/CollaborativeStorageAdapter.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{}}}],["collaborativestorageuc",{"_index":5072,"title":{"injectables/CollaborativeStorageUc.html":{}},"body":{"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["collect",{"_index":25120,"title":{},"body":{"license.html":{}}}],["collectdefaultmetrics",{"_index":17965,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["collected",{"_index":18017,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["collecting",{"_index":18016,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["collecting_default_metrics_disabled",{"_index":18015,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["collecting_metrics_route_metrics_disabled",{"_index":18018,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["collection",{"_index":1821,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"entities/Board.html":{},"entities/BoardElement.html":{},"interfaces/CollectionFilePath.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/DatabaseManagementService.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"interfaces/Options.html":{},"interfaces/RelatedResourceProperties.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["collection(this",{"_index":2927,"title":{},"body":{"entities/Board.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{}}}],["collection.deletemany",{"_index":8811,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collection.find({}).toarray",{"_index":8809,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collection.insertmany(jsondocuments",{"_index":8806,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collection.name",{"_index":8816,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collectionexists",{"_index":5251,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/DatabaseManagementService.html":{}}}],["collectionexists(collectionname",{"_index":8786,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collectionfilepath",{"_index":5165,"title":{"interfaces/CollectionFilePath.html":{}},"body":{"interfaces/CollectionFilePath.html":{}}}],["collectionname",{"_index":5167,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"injectables/TldrawBoardRepo.html":{}}}],["collectionnamefilter",{"_index":5233,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collectionnamefilter.length",{"_index":5241,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collectionnamefilter?.includes(collectionname",{"_index":5244,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collectionnames",{"_index":8814,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collectionname}.json",{"_index":5222,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collectionname}:${data.length",{"_index":5266,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collections",{"_index":5217,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/DatabaseManagementService.html":{},"interfaces/Options.html":{},"injectables/PermissionService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["collections.includes(collectionname",{"_index":8818,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collections.includes(data.collectionname",{"_index":5261,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collections.length",{"_index":5260,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collections.map((collection",{"_index":8815,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collections.map((collectionname",{"_index":5220,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collectionstoexport",{"_index":5298,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collectionstoexport.map(async",{"_index":5300,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collectionstoseed",{"_index":5276,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collectionstoseed.map(async",{"_index":5278,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collectionswithfilepaths",{"_index":5219,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collectmetricsroutemetrics",{"_index":17966,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["collects",{"_index":26042,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["color",{"_index":7393,"title":{},"body":{"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["column",{"_index":2946,"title":{"classes/Column.html":{}},"body":{"entities/Board.html":{},"classes/BoardColumnBoardResponse.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"controllers/BoardController.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"classes/BoardResponseMapper.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/CardService.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"controllers/ColumnController.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsService.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["column.'})@apiresponse({status",{"_index":5598,"title":{},"body":{"controllers/ColumnController.html":{}}}],["column.addchild(card",{"_index":5502,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["column.body.params.ts",{"_index":16378,"title":{},"body":{"classes/MoveColumnBodyParams.html":{}}}],["column.body.params.ts:11",{"_index":16380,"title":{},"body":{"classes/MoveColumnBodyParams.html":{}}}],["column.body.params.ts:19",{"_index":16381,"title":{},"body":{"classes/MoveColumnBodyParams.html":{}}}],["column.children.map((card",{"_index":5641,"title":{},"body":{"classes/ColumnResponseMapper.html":{}}}],["column.constructor.name",{"_index":4002,"title":{},"body":{"classes/BoardResponseMapper.html":{}}}],["column.createdat",{"_index":5645,"title":{},"body":{"classes/ColumnResponseMapper.html":{}}}],["column.do",{"_index":3138,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["column.id",{"_index":5639,"title":{},"body":{"classes/ColumnResponseMapper.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["column.response",{"_index":3991,"title":{},"body":{"classes/BoardResponse.html":{}}}],["column.title",{"_index":5640,"title":{},"body":{"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["column.updatedat",{"_index":5644,"title":{},"body":{"classes/ColumnResponseMapper.html":{}}}],["columnboard",{"_index":2031,"title":{"classes/ColumnBoard.html":{}},"body":{"injectables/AutoContextNameStrategy.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/BoardElement.html":{},"classes/BoardResponseMapper.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/RoomsService.html":{}}}],["columnboard.addchild(column",{"_index":5496,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["columnboard.context",{"_index":18532,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["columnboard.context.type",{"_index":4161,"title":{},"body":{"injectables/BoardUrlHandler.html":{}}}],["columnboard.id",{"_index":18529,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["columnboard.title",{"_index":4160,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["columnboardboardelement",{"_index":2945,"title":{"entities/ColumnboardBoardElement.html":{}},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardRepo.html":{},"entities/ColumnboardBoardElement.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["columnboardcopyservice",{"_index":3266,"title":{"injectables/ColumnBoardCopyService.html":{}},"body":{"injectables/BoardCopyService.html":{},"modules/BoardModule.html":{},"injectables/ColumnBoardCopyService.html":{}}}],["columnboardelement",{"_index":3365,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["columnboardelements",{"_index":3982,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["columnboardfactory",{"_index":5442,"title":{"classes/ColumnBoardFactory.html":{}},"body":{"classes/ColumnBoardFactory.html":{}}}],["columnboardfactory.define(columnboard",{"_index":5448,"title":{},"body":{"classes/ColumnBoardFactory.html":{}}}],["columnboardid",{"_index":3025,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{},"injectables/BoardCopyService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardids",{"_index":5577,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{},"injectables/RoomsService.html":{}}}],["columnboardids.length",{"_index":19199,"title":{},"body":{"injectables/RoomsService.html":{}}}],["columnboardids.map((id",{"_index":5584,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["columnboardids.push(columnboard.id",{"_index":19201,"title":{},"body":{"injectables/RoomsService.html":{}}}],["columnboardinfo",{"_index":19099,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardinfo.columnboardid",{"_index":19102,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardinfo.createdat",{"_index":19105,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardinfo.id",{"_index":19101,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardinfo.published",{"_index":19104,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardinfo.title",{"_index":19103,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardinfo.updatedat",{"_index":19106,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardmetadata",{"_index":9629,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardnode",{"_index":3461,"title":{"entities/ColumnBoardNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["columnboardnodefactory",{"_index":3819,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["columnboardnodefactory.build",{"_index":3823,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["columnboardnodeprops",{"_index":5455,"title":{"interfaces/ColumnBoardNodeProps.html":{}},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["columnboardprops",{"_index":5413,"title":{"interfaces/ColumnBoardProps.html":{}},"body":{"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"interfaces/ColumnBoardProps.html":{}}}],["columnboardservice",{"_index":2019,"title":{"injectables/ColumnBoardService.html":{}},"body":{"injectables/AutoContextNameStrategy.html":{},"modules/BoardModule.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"injectables/RoomsService.html":{}}}],["columnboardtarget",{"_index":2947,"title":{"entities/ColumnBoardTarget.html":{}},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"entities/BoardElement.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"entities/ColumnboardBoardElement.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsService.html":{}}}],["columnboardtarget.columnboardid",{"_index":3357,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["columnboardtarget.createdat",{"_index":9677,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["columnboardtarget.id",{"_index":9675,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["columnboardtarget.published",{"_index":9679,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["columnboardtarget.title",{"_index":9676,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["columnboardtarget.updatedat",{"_index":9678,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["columnboardtargetprops",{"_index":5562,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["columnboardtargets",{"_index":5583,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["columnboardtargetservice",{"_index":5569,"title":{"injectables/ColumnBoardTargetService.html":{}},"body":{"injectables/ColumnBoardTargetService.html":{},"modules/LearnroomModule.html":{},"injectables/RoomsService.html":{}}}],["columncontroller",{"_index":3012,"title":{"controllers/ColumnController.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/ColumnController.html":{}}}],["columnid",{"_index":4118,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{}}}],["columnnode",{"_index":3458,"title":{"entities/ColumnNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/ColumnNode.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["columnnodefactory",{"_index":3820,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["columnnodefactory.build",{"_index":3840,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["columnprops",{"_index":5397,"title":{"interfaces/ColumnProps.html":{}},"body":{"classes/Column.html":{},"interfaces/ColumnProps.html":{}}}],["columnresponse",{"_index":3225,"title":{"classes/ColumnResponse.html":{}},"body":{"controllers/BoardController.html":{},"classes/BoardResponse.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{}}}],["columnresponsemapper",{"_index":3229,"title":{"classes/ColumnResponseMapper.html":{}},"body":{"controllers/BoardController.html":{},"classes/BoardResponseMapper.html":{},"classes/ColumnResponseMapper.html":{}}}],["columnresponsemapper.maptoresponse(column",{"_index":3250,"title":{},"body":{"controllers/BoardController.html":{},"classes/BoardResponseMapper.html":{}}}],["columnresponse})@apiresponse({status",{"_index":3196,"title":{},"body":{"controllers/BoardController.html":{}}}],["columns",{"_index":3527,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/BoardManagementUc.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/ColumnController.html":{},"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["columns.map((column",{"_index":3828,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["columnservice",{"_index":3860,"title":{"injectables/ColumnService.html":{}},"body":{"modules/BoardModule.html":{},"injectables/BoardUc.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{}}}],["columnuc",{"_index":3007,"title":{"injectables/ColumnUc.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"injectables/ColumnUc.html":{}}}],["columnurlparams",{"_index":5596,"title":{"classes/ColumnUrlParams.html":{}},"body":{"controllers/ColumnController.html":{},"classes/ColumnUrlParams.html":{}}}],["colums",{"_index":8415,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["combination",{"_index":18324,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["combinations",{"_index":25896,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["combine",{"_index":25131,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["combined",{"_index":20531,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{},"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["combines",{"_index":26076,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["come",{"_index":24691,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["comes",{"_index":24853,"title":{},"body":{"license.html":{}}}],["coming",{"_index":25994,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["command",{"_index":3780,"title":{},"body":{"classes/BoardManagementConsole.html":{},"interfaces/CleanOptions.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeleteFilesConsole.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/Options.html":{},"interfaces/RetryOptions.html":{},"classes/ServerConsole.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["command({command",{"_index":3776,"title":{},"body":{"classes/BoardManagementConsole.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeleteFilesConsole.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"classes/KeycloakConsole.html":{},"classes/ServerConsole.html":{}}}],["commander",{"_index":24469,"title":{},"body":{"dependencies.html":{}}}],["commandname",{"_index":14641,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["commandoption",{"_index":4860,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["commandoutput",{"_index":19346,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["commandresponse",{"_index":22143,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["commands",{"_index":4874,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["comment",{"_index":10472,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionProperties.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/UserRepo.html":{}}}],["comments",{"_index":25838,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["commercial",{"_index":24929,"title":{},"body":{"license.html":{}}}],["commit",{"_index":24625,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["commitment",{"_index":25072,"title":{},"body":{"license.html":{}}}],["commits",{"_index":25835,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["committing",{"_index":24620,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["common",{"_index":5732,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"modules/ContextExternalToolModule.html":{},"injectables/CourseExportUc.html":{},"classes/CourseQueryParams.html":{},"modules/ExternalToolModule.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["common/controller/dto",{"_index":10384,"title":{},"body":{"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"classes/ToolReferenceResponse.html":{}}}],["common/domain",{"_index":6655,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/ToolLaunchService.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolVersionService.html":{}}}],["common/entity",{"_index":6747,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{}}}],["common/enum",{"_index":2035,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolResponse.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolCreateParams.html":{},"entities/ExternalToolEntity.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/ToolLaunchMapper.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolReferenceUc.html":{}}}],["common/interface",{"_index":6656,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"controllers/ToolController.html":{}}}],["common/mapper/tool",{"_index":6862,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/SchoolExternalToolMetadataService.html":{}}}],["common/service",{"_index":6952,"title":{},"body":{"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"modules/ToolModule.html":{},"injectables/ToolVersionService.html":{}}}],["common/uc/tool",{"_index":6989,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolUc.html":{},"modules/ToolApiModule.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolReferenceUc.html":{}}}],["commoncartridgeconfig",{"_index":5687,"title":{"interfaces/CommonCartridgeConfig.html":{}},"body":{"interfaces/CommonCartridgeConfig.html":{},"interfaces/ServerConfig.html":{}}}],["commoncartridgeelement",{"_index":5692,"title":{"interfaces/CommonCartridgeElement.html":{}},"body":{"interfaces/CommonCartridgeElement.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeexportservice",{"_index":5696,"title":{"injectables/CommonCartridgeExportService.html":{}},"body":{"injectables/CommonCartridgeExportService.html":{},"injectables/CourseExportUc.html":{},"modules/LearnroomModule.html":{}}}],["commoncartridgefile",{"_index":5798,"title":{"interfaces/CommonCartridgeFile.html":{}},"body":{"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["commoncartridgefilebuilder",{"_index":5709,"title":{"classes/CommonCartridgeFileBuilder.html":{}},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgefilebuilderoptions",{"_index":5811,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeintendedusetype",{"_index":5730,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeWebContentResource.html":{}}}],["commoncartridgeintendedusetype.assignment",{"_index":5797,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["commoncartridgeintendedusetype.unspecified",{"_index":5772,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeWebContentResource.html":{}}}],["commoncartridgeltiresource",{"_index":5865,"title":{"classes/CommonCartridgeLtiResource.html":{}},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{}}}],["commoncartridgeltiresource(props",{"_index":5999,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["commoncartridgemanifestelement",{"_index":5829,"title":{"classes/CommonCartridgeManifestElement.html":{}},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgemetadataelement",{"_index":5928,"title":{"classes/CommonCartridgeMetadataElement.html":{}},"body":{"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{}}}],["commoncartridgemetadataelement(this.metadataprops).transform",{"_index":5945,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["commoncartridgeorganizationbuilder",{"_index":5835,"title":{"classes/CommonCartridgeOrganizationBuilder.html":{}},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeorganizationbuilder(props",{"_index":5846,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeorganizationitemelement",{"_index":5831,"title":{"classes/CommonCartridgeOrganizationItemElement.html":{}},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeorganizationitemelement(this.props",{"_index":5836,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeorganizationwrapperelement",{"_index":5929,"title":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}},"body":{"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["commoncartridgeorganizationwrapperelement(this.organizations).transform",{"_index":5946,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["commoncartridgeresourceitemelement",{"_index":5832,"title":{"classes/CommonCartridgeResourceItemElement.html":{}},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeresourceitemelement(props",{"_index":5841,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeresourceitemelement(resourceprops",{"_index":5838,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeresourcetype",{"_index":5731,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["commoncartridgeresourcetype.lti",{"_index":5874,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{}}}],["commoncartridgeresourcetype.web_content",{"_index":5770,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{}}}],["commoncartridgeresourcetype.web_link_v1",{"_index":5779,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["commoncartridgeresourcetype.web_link_v3",{"_index":5778,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["commoncartridgeresourcewrapperelement",{"_index":5931,"title":{"classes/CommonCartridgeResourceWrapperElement.html":{}},"body":{"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["commoncartridgeresourcewrapperelement(this.resources).transform",{"_index":5947,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["commoncartridgeversion",{"_index":5711,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CourseExportUc.html":{},"classes/CourseQueryParams.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeversion.v_1_1_0",{"_index":5796,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["commoncartridgeversion.v_1_3_0",{"_index":5777,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["commoncartridgewebcontentresource",{"_index":5994,"title":{"classes/CommonCartridgeWebContentResource.html":{}},"body":{"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{}}}],["commoncartridgewebcontentresource(props",{"_index":6000,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["commoncartridgeweblinkresourceelement",{"_index":5996,"title":{"classes/CommonCartridgeWebLinkResourceElement.html":{}},"body":{"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["commoncartridgeweblinkresourceelement(props",{"_index":6001,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["commonobject",{"_index":5875,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["commonobject.cartridge_basiclti_link.$.xmlns",{"_index":5896,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["commonobject.cartridge_basiclti_link.$['xmlns:blti",{"_index":5898,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["commonobject.cartridge_basiclti_link.$['xmlns:lticm",{"_index":5900,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["commonobject.cartridge_basiclti_link.$['xmlns:lticp",{"_index":5902,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["commonobject.cartridge_basiclti_link.$['xsi:schemalocation",{"_index":5904,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["commonprops",{"_index":5763,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["commontags",{"_index":6018,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["commontoolmodule",{"_index":6028,"title":{"modules/CommonToolModule.html":{}},"body":{"modules/CommonToolModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/ExternalToolModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{}}}],["commontoolservice",{"_index":6034,"title":{"injectables/CommonToolService.html":{}},"body":{"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ExternalToolConfigurationService.html":{},"modules/ToolModule.html":{},"injectables/ToolVersionService.html":{}}}],["commontoolvalidationservice",{"_index":6035,"title":{"injectables/CommonToolValidationService.html":{}},"body":{"modules/CommonToolModule.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/SchoolExternalToolValidationService.html":{}}}],["commontoolvalidationservice.typecheckers[type",{"_index":6117,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["communicate",{"_index":26058,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["communication",{"_index":24780,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["community",{"_index":24652,"title":{},"body":{"license.html":{}}}],["comparator",{"_index":25548,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["comparealphabetic",{"_index":2975,"title":{},"body":{"entities/Board.html":{}}}],["compared",{"_index":25847,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["compareparameters",{"_index":11073,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["compareparameters(oldparams",{"_index":11081,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["comparepassword",{"_index":92,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountServiceDb.html":{}}}],["compareversions(otherlibrary",{"_index":11629,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["compass",{"_index":25800,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["compatible",{"_index":25288,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["compilation",{"_index":24859,"title":{},"body":{"license.html":{}}}],["compilation's",{"_index":24866,"title":{},"body":{"license.html":{}}}],["compilations",{"_index":25103,"title":{},"body":{"license.html":{}}}],["compile",{"_index":22142,"title":{},"body":{"classes/TestBootstrapConsole.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["compiler",{"_index":24772,"title":{},"body":{"license.html":{}}}],["complete",{"_index":16328,"title":{},"body":{"classes/MigrationMayNotBeCompleted.html":{},"index.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["completed",{"_index":3559,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"classes/BoardManagementConsole.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/ElementUc.html":{},"classes/MigrationMayBeCompleted.html":{},"interfaces/Options.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["completed(value",{"_index":20781,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["completed.loggable.ts",{"_index":16321,"title":{},"body":{"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{}}}],["completed.loggable.ts:3",{"_index":16323,"title":{},"body":{"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{}}}],["completed.loggable.ts:6",{"_index":16324,"title":{},"body":{"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{}}}],["completion",{"_index":25752,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["completly",{"_index":26041,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["complex",{"_index":15116,"title":{},"body":{"injectables/LegacyLogger.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["complexity",{"_index":25962,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["compliance",{"_index":25032,"title":{},"body":{"license.html":{}}}],["comply",{"_index":24795,"title":{},"body":{"license.html":{}}}],["compodoc",{"_index":25376,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["component",{"_index":6182,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementUpdateVisitor.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["component.constructor.name",{"_index":6508,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["componentetherpadproperties",{"_index":6160,"title":{"interfaces/ComponentEtherpadProperties.html":{}},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componentgeogebraproperties",{"_index":6176,"title":{"interfaces/ComponentGeogebraProperties.html":{}},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componentinternalproperties",{"_index":6181,"title":{"interfaces/ComponentInternalProperties.html":{}},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componentlernstoreproperties",{"_index":6178,"title":{"interfaces/ComponentLernstoreProperties.html":{}},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componentnexboardproperties",{"_index":6180,"title":{"interfaces/ComponentNexboardProperties.html":{}},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componentproperties",{"_index":5718,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonService.html":{}}}],["components",{"_index":24603,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["componenttextproperties",{"_index":6175,"title":{"interfaces/ComponentTextProperties.html":{}},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componenttype",{"_index":5728,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componenttype.etherpad",{"_index":5780,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componenttype.geogebra",{"_index":5775,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componenttype.internal",{"_index":6183,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componenttype.lernstore",{"_index":6184,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componenttype.nexboard",{"_index":6185,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componenttype.text",{"_index":5769,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["composedname",{"_index":7300,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["composemetatags",{"_index":16252,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["composemetatags(url",{"_index":16256,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["composite",{"_index":3095,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{}}}],["composite.do",{"_index":4326,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["composite.do.ts",{"_index":3041,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["composite.do.ts:11",{"_index":3070,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:15",{"_index":3072,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:19",{"_index":3058,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:33",{"_index":3063,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:35",{"_index":3065,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:39",{"_index":3061,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:45",{"_index":3051,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:47",{"_index":3055,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:7",{"_index":3068,"title":{},"body":{"classes/BoardComposite.html":{}}}],["compression",{"_index":24471,"title":{},"body":{"dependencies.html":{}}}],["computer",{"_index":24731,"title":{},"body":{"license.html":{}}}],["concatenating",{"_index":16705,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["concept",{"_index":25505,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["concepts",{"_index":25504,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["concern",{"_index":25440,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["concerns",{"_index":25138,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["concrete",{"_index":25566,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["concurrently",{"_index":24473,"title":{},"body":{"dependencies.html":{}}}],["cond",{"_index":21693,"title":{},"body":{"injectables/TaskRule.html":{}}}],["condition",{"_index":25651,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["conditioned",{"_index":25097,"title":{},"body":{"license.html":{}}}],["conditions",{"_index":24704,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["conf",{"_index":2391,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference",{"_index":9473,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"interfaces/IVideoConferenceSettings.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["conference.'})@apiresponse({status",{"_index":24022,"title":{},"body":{"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["conference.controller.ts",{"_index":24016,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["conference.controller.ts:105",{"_index":24029,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["conference.controller.ts:132",{"_index":24025,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["conference.controller.ts:44",{"_index":24040,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["conference.controller.ts:77",{"_index":24035,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["conference.do.ts",{"_index":24132,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["conference.do.ts:19",{"_index":24135,"title":{},"body":{"classes/VideoConferenceDO.html":{}}}],["conference.do.ts:21",{"_index":24136,"title":{},"body":{"classes/VideoConferenceDO.html":{}}}],["conference.do.ts:23",{"_index":24133,"title":{},"body":{"classes/VideoConferenceDO.html":{}}}],["conference.do.ts:5",{"_index":24285,"title":{},"body":{"classes/VideoConferenceOptionsDO.html":{}}}],["conference.do.ts:7",{"_index":24286,"title":{},"body":{"classes/VideoConferenceOptionsDO.html":{}}}],["conference.do.ts:9",{"_index":24284,"title":{},"body":{"classes/VideoConferenceOptionsDO.html":{}}}],["conference.entity",{"_index":24306,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["conference.entity.ts",{"_index":23967,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["conference.entity.ts:10",{"_index":24282,"title":{},"body":{"classes/VideoConferenceOptions.html":{}}}],["conference.entity.ts:12",{"_index":24283,"title":{},"body":{"classes/VideoConferenceOptions.html":{}}}],["conference.entity.ts:14",{"_index":24281,"title":{},"body":{"classes/VideoConferenceOptions.html":{}}}],["conference.entity.ts:31",{"_index":23970,"title":{},"body":{"entities/VideoConference.html":{}}}],["conference.entity.ts:34",{"_index":23971,"title":{},"body":{"entities/VideoConference.html":{}}}],["conference.entity.ts:37",{"_index":23969,"title":{},"body":{"entities/VideoConference.html":{}}}],["conference.mapper",{"_index":24043,"title":{},"body":{"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["conference.mapper.ts",{"_index":24243,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["conference.mapper.ts:25",{"_index":24249,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["conference.mapper.ts:32",{"_index":24251,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["conference.mapper.ts:38",{"_index":24255,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["conference.mapper.ts:42",{"_index":24253,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["conference.module",{"_index":24005,"title":{},"body":{"modules/VideoConferenceApiModule.html":{}}}],["conference.module.ts",{"_index":24272,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["conference.repo",{"_index":24275,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["conference.repo.ts",{"_index":24298,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["conference.repo.ts:21",{"_index":24304,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["conference.repo.ts:29",{"_index":24301,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["conference.ts",{"_index":23986,"title":{},"body":{"classes/VideoConference-1.html":{}}}],["conference.ts:10",{"_index":23987,"title":{},"body":{"classes/VideoConference-1.html":{}}}],["conference.ts:6",{"_index":23990,"title":{},"body":{"classes/VideoConference-1.html":{}}}],["conference.ts:8",{"_index":23988,"title":{},"body":{"classes/VideoConference-1.html":{}}}],["conference/bbb/bbb",{"_index":13551,"title":{},"body":{"interfaces/IBbbSettings.html":{}}}],["conference/bbb/bbb.service.ts",{"_index":2326,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:107",{"_index":2362,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:136",{"_index":2353,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:14",{"_index":2338,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:150",{"_index":2371,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:167",{"_index":2364,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:21",{"_index":2375,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:25",{"_index":2377,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:29",{"_index":2379,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:39",{"_index":2341,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:61",{"_index":2360,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:72",{"_index":2368,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:84",{"_index":2348,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/builder/bbb",{"_index":2200,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{}}}],["conference/bbb/builder/builder.ts",{"_index":4195,"title":{},"body":{"classes/Builder.html":{}}}],["conference/bbb/builder/builder.ts:2",{"_index":4197,"title":{},"body":{"classes/Builder.html":{}}}],["conference/bbb/builder/builder.ts:8",{"_index":4199,"title":{},"body":{"classes/Builder.html":{}}}],["conference/bbb/request/bbb",{"_index":2138,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{}}}],["conference/bbb/response/bbb",{"_index":2148,"title":{},"body":{"interfaces/BBBBaseResponse.html":{},"interfaces/BBBCreateResponse.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["conference/bbb/response/bbb.response.ts",{"_index":2324,"title":{},"body":{"interfaces/BBBResponse.html":{}}}],["conference/controller/dto/request/video",{"_index":24068,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["conference/controller/dto/response/video",{"_index":9472,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["conference/controller/video",{"_index":24015,"title":{},"body":{"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["conference/error/error",{"_index":24183,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["conference/error/invalid",{"_index":14171,"title":{},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{}}}],["conference/interface/video",{"_index":13634,"title":{},"body":{"interfaces/IVideoConferenceSettings.html":{}}}],["conference/mapper/vc",{"_index":24326,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["conference/mapper/video",{"_index":24242,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["conference/uc/dto/scope",{"_index":20100,"title":{},"body":{"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{}}}],["conference/uc/dto/video",{"_index":23985,"title":{},"body":{"classes/VideoConference-1.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceJoin.html":{}}}],["conference/uc/video",{"_index":24086,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["conference/video",{"_index":20188,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceConfiguration.html":{},"modules/VideoConferenceModule.html":{}}}],["conferences",{"_index":24279,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["config",{"_index":2087,"title":{},"body":{"classes/AxiosErrorFactory.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{},"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolCreateParams.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoService.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"interfaces/FileStorageConfig.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"classes/IdentityManagementOauthService.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LdapService.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthConfigMissingLoggableException.html":{},"injectables/OauthProviderLoginFlowService.html":{},"classes/OidcIdentityProviderMapper.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewProducer.html":{},"classes/PublicSystemResponse.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"interfaces/ServerConfig.html":{},"classes/System.html":{},"classes/SystemFilterParams.html":{},"interfaces/SystemProps.html":{},"injectables/TldrawBoardRepo.html":{},"interfaces/TldrawConfig.html":{},"modules/TldrawModule.html":{},"classes/TldrawWs.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolConfigModule.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolVersionService.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["config.'})@isoptional()@isboolean()@stringtoboolean",{"_index":21131,"title":{},"body":{"classes/SystemFilterParams.html":{}}}],["config.allowmodstounmuteusers",{"_index":2196,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["config.attendeepw",{"_index":2194,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["config.builder.ts",{"_index":2201,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{}}}],["config.builder.ts:10",{"_index":2283,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["config.builder.ts:11",{"_index":2217,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["config.builder.ts:15",{"_index":2285,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["config.builder.ts:16",{"_index":2211,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["config.builder.ts:21",{"_index":2215,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["config.builder.ts:5",{"_index":2281,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["config.builder.ts:6",{"_index":2213,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["config.clientid",{"_index":11338,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["config.connectionname",{"_index":19416,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["config.do",{"_index":2691,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts",{"_index":2685,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/ExternalToolConfig.html":{},"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts:11",{"_index":15848,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts:13",{"_index":15849,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts:15",{"_index":15846,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts:17",{"_index":16903,"title":{},"body":{"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts:4",{"_index":2687,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/ExternalToolConfig.html":{}}}],["config.do.ts:5",{"_index":15847,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts:6",{"_index":10042,"title":{},"body":{"classes/ExternalToolConfig.html":{}}}],["config.do.ts:7",{"_index":15851,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts:9",{"_index":15850,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.dto",{"_index":21088,"title":{},"body":{"classes/SystemDto.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["config.dto.ts",{"_index":17032,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/OidcConfigDto.html":{}}}],["config.dto.ts:1",{"_index":17486,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["config.dto.ts:10",{"_index":17037,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:12",{"_index":17045,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:14",{"_index":17034,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/OidcConfigDto.html":{}}}],["config.dto.ts:16",{"_index":17043,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/OidcConfigDto.html":{}}}],["config.dto.ts:18",{"_index":17044,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/OidcConfigDto.html":{}}}],["config.dto.ts:2",{"_index":17035,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:20",{"_index":17041,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/OidcConfigDto.html":{}}}],["config.dto.ts:22",{"_index":17487,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["config.dto.ts:24",{"_index":17490,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["config.dto.ts:25",{"_index":17040,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:26",{"_index":17489,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["config.dto.ts:27",{"_index":17039,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:28",{"_index":17491,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["config.dto.ts:29",{"_index":17033,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:30",{"_index":17488,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["config.dto.ts:4",{"_index":17036,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:6",{"_index":17038,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:8",{"_index":17042,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.entity",{"_index":2700,"title":{},"body":{"classes/BasicToolConfigEntity.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Oauth2ToolConfigEntity.html":{}}}],["config.entity.ts",{"_index":2696,"title":{},"body":{"classes/BasicToolConfigEntity.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Oauth2ToolConfigEntity.html":{}}}],["config.entity.ts:10",{"_index":10047,"title":{},"body":{"classes/ExternalToolConfigEntity.html":{}}}],["config.entity.ts:11",{"_index":16921,"title":{},"body":{"classes/Oauth2ToolConfigEntity.html":{}}}],["config.entity.ts:12",{"_index":15872,"title":{},"body":{"classes/Lti11ToolConfigEntity.html":{}}}],["config.entity.ts:15",{"_index":15871,"title":{},"body":{"classes/Lti11ToolConfigEntity.html":{}}}],["config.entity.ts:18",{"_index":15869,"title":{},"body":{"classes/Lti11ToolConfigEntity.html":{}}}],["config.entity.ts:21",{"_index":15870,"title":{},"body":{"classes/Lti11ToolConfigEntity.html":{}}}],["config.entity.ts:24",{"_index":15867,"title":{},"body":{"classes/Lti11ToolConfigEntity.html":{}}}],["config.entity.ts:6",{"_index":2697,"title":{},"body":{"classes/BasicToolConfigEntity.html":{}}}],["config.entity.ts:7",{"_index":10048,"title":{},"body":{"classes/ExternalToolConfigEntity.html":{}}}],["config.entity.ts:8",{"_index":16922,"title":{},"body":{"classes/Oauth2ToolConfigEntity.html":{}}}],["config.entity.ts:9",{"_index":15868,"title":{},"body":{"classes/Lti11ToolConfigEntity.html":{}}}],["config.frontchannellogouturi",{"_index":10965,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["config.fullname",{"_index":2267,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["config.guest",{"_index":2272,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["config.guestpolicy",{"_index":2190,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["config.interface.ts",{"_index":9002,"title":{},"body":{"interfaces/DeletionClientConfig.html":{}}}],["config.json",{"_index":25872,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["config.logouturl",{"_index":2186,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["config.meetingid",{"_index":2146,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"injectables/BBBService.html":{}}}],["config.moderatorpw",{"_index":2192,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["config.module",{"_index":6786,"title":{},"body":{"modules/ContextExternalToolModule.html":{},"modules/ExternalToolModule.html":{},"modules/OauthProviderModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolModule.html":{}}}],["config.module.ts",{"_index":22596,"title":{},"body":{"modules/ToolConfigModule.html":{}}}],["config.name",{"_index":2184,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["config.params",{"_index":2711,"title":{},"body":{"classes/BasicToolConfigParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["config.params.ts",{"_index":2705,"title":{},"body":{"classes/BasicToolConfigParams.html":{},"classes/ExternalToolConfigCreateParams.html":{}}}],["config.params.ts:4",{"_index":10045,"title":{},"body":{"classes/ExternalToolConfigCreateParams.html":{}}}],["config.params.ts:6",{"_index":10044,"title":{},"body":{"classes/ExternalToolConfigCreateParams.html":{}}}],["config.redirect",{"_index":2274,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["config.redirecturis",{"_index":10963,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["config.response",{"_index":2720,"title":{},"body":{"classes/BasicToolConfigResponse.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemResponseMapper.html":{}}}],["config.response.ts",{"_index":2715,"title":{},"body":{"classes/BasicToolConfigResponse.html":{},"classes/ExternalToolConfigResponse.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthConfigResponse.html":{}}}],["config.response.ts:10",{"_index":2717,"title":{},"body":{"classes/BasicToolConfigResponse.html":{}}}],["config.response.ts:13",{"_index":15875,"title":{},"body":{"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["config.response.ts:16",{"_index":15878,"title":{},"body":{"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthConfigResponse.html":{}}}],["config.response.ts:19",{"_index":15876,"title":{},"body":{"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["config.response.ts:22",{"_index":15877,"title":{},"body":{"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["config.response.ts:23",{"_index":17074,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:25",{"_index":15874,"title":{},"body":{"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["config.response.ts:28",{"_index":16926,"title":{},"body":{"classes/Oauth2ToolConfigResponse.html":{}}}],["config.response.ts:30",{"_index":17069,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:37",{"_index":17077,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:4",{"_index":10051,"title":{},"body":{"classes/ExternalToolConfigResponse.html":{}}}],["config.response.ts:44",{"_index":17067,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:51",{"_index":17075,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:58",{"_index":17076,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:6",{"_index":10050,"title":{},"body":{"classes/ExternalToolConfigResponse.html":{}}}],["config.response.ts:65",{"_index":17073,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:72",{"_index":17072,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:79",{"_index":17071,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:86",{"_index":17066,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:9",{"_index":17068,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.role",{"_index":2269,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["config.scope",{"_index":10959,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["config.tokenendpointauthmethod",{"_index":10961,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["config.ts",{"_index":311,"title":{},"body":{"interfaces/AccountConfig.html":{},"interfaces/CoreModuleConfig.html":{},"interfaces/FilesStorageClientConfig.html":{},"interfaces/IToolFeatures.html":{},"interfaces/InterceptorConfig.html":{},"classes/KeycloakAdministration.html":{},"classes/KeycloakConfiguration.html":{},"classes/LdapConfig.html":{},"interfaces/LoggerConfig.html":{},"interfaces/MailConfig.html":{},"classes/OauthConfig.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewModuleConfig.html":{},"classes/ToolConfiguration.html":{},"interfaces/UserConfig.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["config.ts:10",{"_index":17010,"title":{},"body":{"classes/OauthConfig.html":{}}}],["config.ts:12",{"_index":17017,"title":{},"body":{"classes/OauthConfig.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["config.ts:14",{"_index":17009,"title":{},"body":{"classes/OauthConfig.html":{}}}],["config.ts:16",{"_index":17015,"title":{},"body":{"classes/OauthConfig.html":{},"classes/ToolConfiguration.html":{}}}],["config.ts:18",{"_index":17016,"title":{},"body":{"classes/OauthConfig.html":{}}}],["config.ts:2",{"_index":14871,"title":{},"body":{"classes/LdapConfig.html":{},"classes/OauthConfig.html":{}}}],["config.ts:20",{"_index":17013,"title":{},"body":{"classes/OauthConfig.html":{}}}],["config.ts:25",{"_index":17012,"title":{},"body":{"classes/OauthConfig.html":{}}}],["config.ts:27",{"_index":17011,"title":{},"body":{"classes/OauthConfig.html":{}}}],["config.ts:29",{"_index":17008,"title":{},"body":{"classes/OauthConfig.html":{}}}],["config.ts:4",{"_index":14420,"title":{},"body":{"classes/KeycloakConfiguration.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{}}}],["config.ts:5",{"_index":14347,"title":{},"body":{"classes/KeycloakAdministration.html":{}}}],["config.ts:6",{"_index":14870,"title":{},"body":{"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["config.ts:8",{"_index":17014,"title":{},"body":{"classes/OauthConfig.html":{}}}],["config.type",{"_index":10040,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["config.userid",{"_index":2270,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["config.welcome",{"_index":2188,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["config/development.json",{"_index":11981,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["config/test.json",{"_index":11982,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["config/x",{"_index":24402,"title":{},"body":{"injectables/XApiKeyStrategy.html":{}}}],["config['meta_bbb",{"_index":2198,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["configbuilder",{"_index":24119,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["configbuilder.withguestpolicy(guestpolicy.ask_moderator",{"_index":24125,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["configbuilder.withmuteonstart(true",{"_index":24127,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["configmodule",{"_index":1021,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/ManagementModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["configmodule.forroot(createconfigmoduleoptions",{"_index":17856,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["configmodule.forroot(createconfigmoduleoptions(config",{"_index":12281,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["configmodule.forroot(createconfigmoduleoptions(getdeletionclientconfig",{"_index":9020,"title":{},"body":{"modules/DeletionConsoleModule.html":{}}}],["configmodule.forroot(createconfigmoduleoptions(h5plibrarymanagementconfig",{"_index":13261,"title":{},"body":{"modules/H5PLibraryManagementModule.html":{}}}],["configmodule.forroot(createconfigmoduleoptions(metatagextractorconfig",{"_index":16176,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["configmodule.forroot(createconfigmoduleoptions(serverconfig",{"_index":1039,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/ManagementModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configs",{"_index":14574,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"modules/S3ClientModule.html":{}}}],["configs.flatmap((config",{"_index":19415,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["configservice",{"_index":634,"title":{},"body":{"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"injectables/AuthenticationService.html":{},"interfaces/CollectionFilePath.html":{},"controllers/CourseController.html":{},"injectables/DeletionClient.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"injectables/FilesStorageProducer.html":{},"injectables/H5PLibraryManagementService.html":{},"modules/InterceptorModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LocalStrategy.html":{},"modules/LoggerModule.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/PreviewProducer.html":{},"injectables/TldrawBoardRepo.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"injectables/XApiKeyStrategy.html":{}}}],["configservice.get('feature_identity_management_login_enabled",{"_index":684,"title":{},"body":{"modules/AccountModule.html":{}}}],["configservice.get('incoming_request_timeout",{"_index":14161,"title":{},"body":{"modules/InterceptorModule.html":{},"injectables/PreviewProducer.html":{}}}],["configservice.get('incoming_request_timeout_copy_api",{"_index":12312,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["configservice.get('nest_log_level",{"_index":15711,"title":{},"body":{"modules/LoggerModule.html":{}}}],["configservice.get(aeskey",{"_index":9789,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["configtoupdate",{"_index":11015,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["configtype",{"_index":22832,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["configuration",{"_index":2218,"title":{"additional-documentation/nestjs-application/configuration.html":{}},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarService.html":{},"interfaces/CleanOptions.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"interfaces/CopyFileDO.html":{},"injectables/CourseCopyUC.html":{},"modules/DeletionApiModule.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DtoCreator.html":{},"interfaces/FileDO.html":{},"interfaces/FileStorageConfig.html":{},"modules/FilesStorageModule.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/HydraSsoService.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IToolFeatures.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakConsole.html":{},"classes/KeycloakSeedService.html":{},"injectables/LessonCopyUC.html":{},"modules/ManagementModule.html":{},"injectables/MetaTagInternalUrlService.html":{},"interfaces/MigrationOptions.html":{},"controllers/OauthProviderController.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/PrometheusMetricsConfig.html":{},"injectables/PseudonymService.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/RedisModule.html":{},"interfaces/RetryOptions.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsService.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/ServerConfig.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TldrawConfig.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"injectables/UserLoginMigrationService.html":{},"classes/VideoConferenceConfiguration.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["configuration.console",{"_index":14433,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["configuration.console.ts",{"_index":4858,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["configuration.console.ts:121",{"_index":14636,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:156",{"_index":14639,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:172",{"_index":14640,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:201",{"_index":14638,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:23",{"_index":14632,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:32",{"_index":14633,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:51",{"_index":14634,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:77",{"_index":14635,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:99",{"_index":14642,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.controller",{"_index":14440,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["configuration.controller.ts",{"_index":14757,"title":{},"body":{"controllers/KeycloakManagementController.html":{},"controllers/ToolConfigurationController.html":{}}}],["configuration.controller.ts:106",{"_index":22618,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["configuration.controller.ts:129",{"_index":22614,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["configuration.controller.ts:19",{"_index":14761,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["configuration.controller.ts:40",{"_index":22623,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["configuration.controller.ts:58",{"_index":22608,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["configuration.controller.ts:80",{"_index":22604,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["configuration.externaltoolid",{"_index":6708,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["configuration.get",{"_index":20120,"title":{},"body":{"interfaces/ServerConfig.html":{},"injectables/ShareTokenUC.html":{}}}],["configuration.get('additional_blacklisted_email_domains",{"_index":20128,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["configuration.get('admin_api__allowed_api_keys",{"_index":20125,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["configuration.get('antivirus_exchange",{"_index":12285,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["configuration.get('antivirus_routing_key",{"_index":12286,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["configuration.get('calendar_uri",{"_index":4302,"title":{},"body":{"injectables/CalendarService.html":{}}}],["configuration.get('clamav__service_hostname",{"_index":12287,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["configuration.get('clamav__service_port",{"_index":12288,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["configuration.get('column_board_feedback_link",{"_index":5538,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["configuration.get('column_board_help_link",{"_index":5522,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["configuration.get('ctl_tools__external_tool_max_logo_size_in_bytes",{"_index":13631,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["configuration.get('enable_file_security_check",{"_index":12283,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["configuration.get('feature_column_board_enabled",{"_index":9649,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsService.html":{}}}],["configuration.get('feature_compute_tool_status_without_versions_enabled",{"_index":13630,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["configuration.get('feature_copy_service_enabled",{"_index":7624,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["configuration.get('feature_course_share_new",{"_index":20505,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["configuration.get('feature_ctl_context_configuration_enabled",{"_index":13629,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["configuration.get('feature_ctl_tools_tab_enabled",{"_index":13627,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["configuration.get('feature_fwu_content_enabled",{"_index":12398,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["configuration.get('feature_identity_management_enabled",{"_index":14340,"title":{},"body":{"classes/KeycloakAdministration.html":{},"modules/ManagementModule.html":{},"interfaces/ServerConfig.html":{},"modules/ServerConsoleModule.html":{}}}],["configuration.get('feature_identity_management_login_enabled",{"_index":20123,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["configuration.get('feature_identity_management_store_enabled",{"_index":20122,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["configuration.get('feature_imscc_course_export_enabled",{"_index":20121,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["configuration.get('feature_lesson_share",{"_index":20507,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["configuration.get('feature_lti_tools_tab_enabled",{"_index":13628,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["configuration.get('feature_prometheus_metrics_enabled",{"_index":17991,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["configuration.get('feature_sanis_group_provisioning_enabled",{"_index":17676,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["configuration.get('feature_task_share",{"_index":20508,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["configuration.get('feature_tldraw_enabled",{"_index":22292,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["configuration.get('feature_videoconference_enabled",{"_index":24013,"title":{},"body":{"classes/VideoConferenceConfiguration.html":{}}}],["configuration.get('files_storage__exchange",{"_index":7085,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{}}}],["configuration.get('files_storage__incoming_request_timeout",{"_index":11974,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["configuration.get('files_storage__max_file_size",{"_index":11977,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["configuration.get('files_storage__s3_access_key_id",{"_index":11986,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["configuration.get('files_storage__s3_bucket",{"_index":11985,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["configuration.get('files_storage__s3_endpoint",{"_index":11983,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["configuration.get('files_storage__s3_region",{"_index":11984,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["configuration.get('files_storage__s3_secret_access_key",{"_index":11987,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["configuration.get('files_storage__service_base_url",{"_index":12284,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["configuration.get('files_storage__use_stream_to_antivirus",{"_index":11978,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["configuration.get('h5p_editor__library_list_path",{"_index":13577,"title":{},"body":{"interfaces/IH5PLibraryManagementConfig.html":{}}}],["configuration.get('host",{"_index":5550,"title":{},"body":{"injectables/ColumnBoardService.html":{},"injectables/HydraSsoService.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["configuration.get('hydra_public_uri",{"_index":13531,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["configuration.get('i18n__available_languages",{"_index":20116,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["configuration.get('identity_management__admin_clientid",{"_index":14346,"title":{},"body":{"classes/KeycloakAdministration.html":{}}}],["configuration.get('identity_management__admin_password",{"_index":14345,"title":{},"body":{"classes/KeycloakAdministration.html":{}}}],["configuration.get('identity_management__admin_user",{"_index":14344,"title":{},"body":{"classes/KeycloakAdministration.html":{}}}],["configuration.get('identity_management__clientid",{"_index":14343,"title":{},"body":{"classes/KeycloakAdministration.html":{}}}],["configuration.get('identity_management__tenant",{"_index":14342,"title":{},"body":{"classes/KeycloakAdministration.html":{}}}],["configuration.get('identity_management__uri",{"_index":14341,"title":{},"body":{"classes/KeycloakAdministration.html":{}}}],["configuration.get('incoming_request_timeout_api",{"_index":20114,"title":{},"body":{"interfaces/ServerConfig.html":{},"interfaces/TldrawConfig.html":{}}}],["configuration.get('incoming_request_timeout_copy_api",{"_index":11976,"title":{},"body":{"interfaces/FileStorageConfig.html":{},"interfaces/ServerConfig.html":{}}}],["configuration.get('login_block_time",{"_index":20119,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["configuration.get('mail_send_exchange",{"_index":18332,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('mail_send_routing_key",{"_index":20193,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('migration_end_grace_period_ms",{"_index":23654,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["configuration.get('nest_log_level",{"_index":11972,"title":{},"body":{"interfaces/FileStorageConfig.html":{},"interfaces/ServerConfig.html":{},"interfaces/TldrawConfig.html":{}}}],["configuration.get('nextcloud_scopes",{"_index":13545,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["configuration.get('nextcloud_sociallogin_oidc_internal_name",{"_index":5050,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["configuration.get('node_env",{"_index":20118,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["configuration.get('prometheus_metrics_collect_default_metrics",{"_index":17994,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["configuration.get('prometheus_metrics_collect_metrics_route_metrics",{"_index":17995,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["configuration.get('prometheus_metrics_port",{"_index":17993,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["configuration.get('prometheus_metrics_route",{"_index":17992,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["configuration.get('public_backend_url",{"_index":13632,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["configuration.get('rabbitmq_uri",{"_index":18333,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["configuration.get('redis_uri",{"_index":4248,"title":{},"body":{"modules/CacheWrapperModule.html":{},"modules/RedisModule.html":{}}}],["configuration.get('request_option__timeout_ms",{"_index":4304,"title":{},"body":{"injectables/CalendarService.html":{}}}],["configuration.get('rocket_chat_admin_id",{"_index":8941,"title":{},"body":{"modules/DeletionApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('rocket_chat_admin_password",{"_index":8944,"title":{},"body":{"modules/DeletionApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('rocket_chat_admin_token",{"_index":8942,"title":{},"body":{"modules/DeletionApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('rocket_chat_admin_user",{"_index":8943,"title":{},"body":{"modules/DeletionApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('rocket_chat_uri",{"_index":8940,"title":{},"body":{"modules/DeletionApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('s3_key",{"_index":20592,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["configuration.get('sc_domain",{"_index":2228,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/MetaTagInternalUrlService.html":{},"interfaces/ServerConfig.html":{}}}],["configuration.get('sc_theme",{"_index":5549,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["configuration.get('session__expires_seconds",{"_index":20196,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('session__http_only",{"_index":20220,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('session__name",{"_index":20209,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('session__proxy",{"_index":20212,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('session__same_site",{"_index":20216,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('session__secret",{"_index":20205,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('session__secure",{"_index":20214,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('tldraw__db_collection_name",{"_index":22289,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["configuration.get('tldraw__db_flush_size",{"_index":22290,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["configuration.get('tldraw__db_multiple_collections",{"_index":22291,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["configuration.get('tldraw__gc_enabled",{"_index":22294,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["configuration.get('tldraw__ping_timeout",{"_index":22293,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["configuration.get('tldraw__socket_port",{"_index":22296,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["configuration.get('tldraw_db_url",{"_index":22288,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["configuration.get('videoconference_default_presentation",{"_index":24012,"title":{},"body":{"classes/VideoConferenceConfiguration.html":{}}}],["configuration.get('videoconference_host",{"_index":24010,"title":{},"body":{"classes/VideoConferenceConfiguration.html":{}}}],["configuration.get('videoconference_salt",{"_index":24011,"title":{},"body":{"classes/VideoConferenceConfiguration.html":{}}}],["configuration.get(placeholder",{"_index":5354,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["configuration.has('column_board_feedback_link",{"_index":5536,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["configuration.has('column_board_help_link",{"_index":5520,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["configuration.has('redis_uri",{"_index":4231,"title":{},"body":{"injectables/CacheService.html":{},"modules/RedisModule.html":{}}}],["configuration.has('session__name",{"_index":20208,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.has('session__proxy",{"_index":20211,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.has(placeholder",{"_index":5353,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["configuration.logourl",{"_index":6713,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["configuration.mapper",{"_index":22627,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["configuration.mapper.ts",{"_index":22648,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["configuration.mapper.ts:14",{"_index":22663,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["configuration.mapper.ts:30",{"_index":22661,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["configuration.mapper.ts:43",{"_index":22658,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["configuration.mapper.ts:62",{"_index":22655,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["configuration.mapper.ts:75",{"_index":22665,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["configuration.module",{"_index":16077,"title":{},"body":{"modules/ManagementModule.html":{}}}],["configuration.module.ts",{"_index":14430,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["configuration.name",{"_index":6711,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["configuration.parameters",{"_index":6714,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["configuration.response",{"_index":19774,"title":{},"body":{"classes/SchoolExternalToolResponse.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{}}}],["configuration.response.ts",{"_index":19670,"title":{},"body":{"classes/SchoolExternalToolConfigurationStatusResponse.html":{}}}],["configuration.response.ts:9",{"_index":19671,"title":{},"body":{"classes/SchoolExternalToolConfigurationStatusResponse.html":{}}}],["configuration.schoolexternaltoolid",{"_index":6710,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{}}}],["configuration.service",{"_index":14437,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.service.ts",{"_index":10054,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:100",{"_index":10082,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["configuration.service.ts:108",{"_index":14465,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:128",{"_index":14466,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:14",{"_index":10063,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["configuration.service.ts:155",{"_index":14467,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:167",{"_index":14462,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:191",{"_index":14486,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:20",{"_index":10076,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["configuration.service.ts:214",{"_index":14470,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:224",{"_index":14490,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:235",{"_index":14476,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:240",{"_index":14492,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:254",{"_index":14473,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:26",{"_index":14459,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:262",{"_index":14481,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:277",{"_index":14478,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:29",{"_index":10072,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["configuration.service.ts:34",{"_index":14464,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:51",{"_index":10067,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["configuration.service.ts:82",{"_index":10078,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["configuration.service.ts:92",{"_index":10081,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["configuration.uc",{"_index":4863,"title":{},"body":{"interfaces/CleanOptions.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["configuration.uc.ts",{"_index":10115,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.uc.ts:133",{"_index":10136,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["configuration.uc.ts:153",{"_index":10134,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["configuration.uc.ts:16",{"_index":14614,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.uc.ts:182",{"_index":10128,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["configuration.uc.ts:19",{"_index":10124,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["configuration.uc.ts:194",{"_index":10126,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["configuration.uc.ts:20",{"_index":14616,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.uc.ts:24",{"_index":14620,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.uc.ts:28",{"_index":14619,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.uc.ts:31",{"_index":10138,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["configuration.uc.ts:32",{"_index":14617,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.uc.ts:40",{"_index":10132,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["configuration.uc.ts:76",{"_index":10130,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["configuration.uc.ts:8",{"_index":14613,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.version",{"_index":6716,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["configuration/console/keycloak",{"_index":4857,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["configuration/controller/keycloak",{"_index":14756,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["configuration/interface/json",{"_index":14254,"title":{},"body":{"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{}}}],["configuration/interface/keycloak",{"_index":13585,"title":{},"body":{"interfaces/IKeycloakConfigurationInputFiles.html":{}}}],["configuration/keycloak",{"_index":14416,"title":{},"body":{"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/ManagementModule.html":{}}}],["configuration/mapper/identity",{"_index":17521,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["configuration/service/keycloak",{"_index":14443,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["configuration/uc/keycloak",{"_index":14611,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["configurations",{"_index":11979,"title":{},"body":{"interfaces/FileStorageConfig.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["configurationstatus",{"_index":6061,"title":{},"body":{"injectables/CommonToolService.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{}}}],["configurationstatus.isoutdatedonscopecontext",{"_index":6066,"title":{},"body":{"injectables/CommonToolService.html":{},"injectables/ToolVersionService.html":{}}}],["configurationstatus.isoutdatedonscopeschool",{"_index":6067,"title":{},"body":{"injectables/CommonToolService.html":{},"injectables/ToolVersionService.html":{}}}],["configure",{"_index":4913,"title":{},"body":{"interfaces/CleanOptions.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["configure(consumer",{"_index":20159,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configure(options",{"_index":4915,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["configureaction",{"_index":14505,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configureaction.action",{"_index":14556,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configureaction.create",{"_index":14557,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configureaction.delete",{"_index":14561,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configureaction.update",{"_index":14559,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configureactions",{"_index":14554,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configurebrokerflows",{"_index":14445,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configureclient",{"_index":14446,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configured",{"_index":16270,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/NextcloudStrategy.html":{},"classes/OauthConfigMissingLoggableException.html":{}}}],["configureidentityproviders",{"_index":14447,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configurerealm",{"_index":14448,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configures",{"_index":4914,"title":{},"body":{"interfaces/CleanOptions.html":{},"modules/CoreModule.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["confirmed",{"_index":17736,"title":{},"body":{"classes/PatchMyPasswordParams.html":{}}}],["confirmpassword",{"_index":17734,"title":{},"body":{"classes/PatchMyPasswordParams.html":{}}}],["conflict",{"_index":7579,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["conflicts",{"_index":13334,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["conjunction",{"_index":25879,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["conn",{"_index":22439,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["conn.readystate",{"_index":22481,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["conn.send(message",{"_index":22485,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["conncontrolledids",{"_index":24385,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["conncontrolledids.add(clientid",{"_index":24388,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["conncontrolledids.delete(clientid",{"_index":24390,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["connect",{"_index":14547,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/LdapService.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["connect(system",{"_index":14999,"title":{},"body":{"injectables/LdapService.html":{}}}],["connected",{"_index":19880,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["connecting",{"_index":25308,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["connection",{"_index":4889,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{},"dependencies.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["connection.connected",{"_index":15006,"title":{},"body":{"injectables/LdapService.html":{}}}],["connection.error",{"_index":15003,"title":{},"body":{"injectables/LdapService.html":{}}}],["connection.error.ts",{"_index":14989,"title":{},"body":{"classes/LdapConnectionError.html":{}}}],["connection.error.ts:4",{"_index":14991,"title":{},"body":{"classes/LdapConnectionError.html":{}}}],["connection.managedconnection.close",{"_index":18338,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["connection.ts",{"_index":22147,"title":{},"body":{"classes/TestConnection.html":{}}}],["connection.ts:4",{"_index":22150,"title":{},"body":{"classes/TestConnection.html":{}}}],["connection.ts:9",{"_index":22151,"title":{},"body":{"classes/TestConnection.html":{}}}],["connection.unbind",{"_index":15007,"title":{},"body":{"injectables/LdapService.html":{}}}],["connection_string",{"_index":22280,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["connectionname",{"_index":7191,"title":{},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/FileStorageConfig.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/S3Config.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["connections",{"_index":18335,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/TldrawWs.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["connectionstring",{"_index":22208,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["connectredis",{"_index":20190,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["connectredis(session",{"_index":20199,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["connectredis.redisstore",{"_index":20197,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["connects",{"_index":14762,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["conns",{"_index":22412,"title":{},"body":{"classes/TldrawWsFactory.html":{},"classes/WsSharedDocDo.html":{}}}],["consent",{"_index":164,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["consent.params.ts",{"_index":18814,"title":{},"body":{"classes/RevokeConsentParams.html":{}}}],["consent.params.ts:7",{"_index":18815,"title":{},"body":{"classes/RevokeConsentParams.html":{}}}],["consent.response",{"_index":18049,"title":{},"body":{"interfaces/ProviderConsentSessionResponse.html":{}}}],["consent_request",{"_index":18048,"title":{},"body":{"interfaces/ProviderConsentSessionResponse.html":{}}}],["consentflowuc",{"_index":17272,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["consentrequest",{"_index":17305,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["consentrequestbody",{"_index":6229,"title":{"classes/ConsentRequestBody.html":{}},"body":{"classes/ConsentRequestBody.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{}}}],["consentresponse",{"_index":6276,"title":{"classes/ConsentResponse.html":{}},"body":{"classes/ConsentResponse.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["consentresponse.client?.client_id",{"_index":17209,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["consentresponse.requested_scope",{"_index":17208,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["consentsessionresponse",{"_index":6318,"title":{"classes/ConsentSessionResponse.html":{}},"body":{"classes/ConsentSessionResponse.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["consequence",{"_index":25020,"title":{},"body":{"license.html":{}}}],["consequential",{"_index":25162,"title":{},"body":{"license.html":{}}}],["considerations",{"_index":25491,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["considered",{"_index":24990,"title":{},"body":{"license.html":{}}}],["consistent",{"_index":2230,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"classes/GlobalErrorFilter.html":{},"injectables/TldrawBoardRepo.html":{},"license.html":{}}}],["console",{"_index":3781,"title":{},"body":{"classes/BoardManagementConsole.html":{},"interfaces/CleanOptions.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeleteFilesConsole.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"classes/KeycloakConsole.html":{},"modules/ManagementModule.html":{},"interfaces/MigrationOptions.html":{},"interfaces/Options.html":{},"interfaces/RetryOptions.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"classes/TestBootstrapConsole.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["console.info('info",{"_index":6342,"title":{},"body":{"injectables/ConsoleWriterService.html":{}}}],["console.module.ts",{"_index":9011,"title":{},"body":{"modules/DeletionConsoleModule.html":{}}}],["console/board",{"_index":16078,"title":{},"body":{"modules/ManagementModule.html":{}}}],["console/database",{"_index":16080,"title":{},"body":{"modules/ManagementModule.html":{}}}],["console/keycloak",{"_index":14432,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["consolelogger",{"_index":15122,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["consolemodule",{"_index":9012,"title":{},"body":{"modules/DeletionConsoleModule.html":{},"modules/ServerConsoleModule.html":{}}}],["consolewriter",{"_index":3774,"title":{},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"interfaces/Options.html":{},"classes/ServerConsole.html":{}}}],["consolewritermodule",{"_index":3855,"title":{"modules/ConsoleWriterModule.html":{}},"body":{"modules/BoardModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/ServerConsoleModule.html":{}}}],["consolewriterservice",{"_index":3771,"title":{"injectables/ConsoleWriterService.html":{}},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"interfaces/CleanOptions.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"classes/KeycloakConsole.html":{},"modules/ManagementModule.html":{},"interfaces/MigrationOptions.html":{},"interfaces/Options.html":{},"interfaces/RetryOptions.html":{},"classes/ServerConsole.html":{},"classes/TestBootstrapConsole.html":{}}}],["conspicuously",{"_index":24835,"title":{},"body":{"license.html":{}}}],["const",{"_index":135,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"interfaces/AuthorizableObject.html":{},"classes/AuthorizationContextBuilder.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosResponseImp.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskStatusMapper.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"injectables/BsonConverter.html":{},"classes/BusinessError.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUrlHandler.html":{},"interfaces/CreateJwtParams.html":{},"classes/CustomParameterFactory.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"interfaces/EncryptionService.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolMetadataMapper.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateService.html":{},"interfaces/FileDO.html":{},"classes/FileDtoBuilder.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParamBuilder.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileResponseBuilder.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/ForbiddenLoggableException.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"modules/InterceptorModule.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LibraryRepo.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/LtiRoleMapper.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"injectables/MigrationCheckService.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthAdapterService.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"interfaces/ParentInfo.html":{},"injectables/PermissionService.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"injectables/ProvisioningService.html":{},"controllers/PseudonymController.html":{},"classes/PseudonymMapper.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencesService.html":{},"injectables/RegistrationPinRepo.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUserFactory.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolInfoMapper.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.html":{},"interfaces/ServerConfig.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerElement.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemEntityFactory.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoMapper.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"interfaces/TldrawConfig.html":{},"modules/TldrawModule.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchMapper.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{},"classes/UnauthorizedLoggableException.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"controllers/UserController.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchMapper.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationErrorLoggableException.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"injectables/VideoConferenceRepo.html":{},"classes/WsSharedDocDo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["constants",{"_index":1550,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/JwtStrategy.html":{},"injectables/S3ClientAdapter.html":{}}}],["constitutes",{"_index":24789,"title":{},"body":{"license.html":{}}}],["constraint",{"_index":18327,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["constructor",{"_index":433,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardContextResponse.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"classes/BoardResponse.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BruteForceError.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarService.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"injectables/ClassService.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"classes/ColumnResponse.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolResponse.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"injectables/CopyFilesService.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRule.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterResponse.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"injectables/DeletionExecutionUc.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestLogResponse.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"injectables/DeletionRequestService.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/ElementUc.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorResponse.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigEntity.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateService.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileMetadata.html":{},"classes/FilePermissionEntity.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"classes/GroupUserResponse.html":{},"classes/GroupValidPeriodEntity.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonCopyUC.html":{},"classes/LessonFactory.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"classes/LoginDto.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"injectables/LoginUc.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"classes/MaterialFactory.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"classes/OAuthProcessDto.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderUc.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/Path.html":{},"classes/PreviewActionsLoggable.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"classes/ProvisioningDto.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemDto.html":{},"classes/PseudonymResponse.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RichText.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUserFactory.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"classes/RoleDto.html":{},"classes/RoleReference.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/ScanResultDto.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.html":{},"classes/ScopeRef.html":{},"classes/ServerConsole.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenPayloadResponse.html":{},"classes/ShareTokenResponse.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/SingleColumnBoardResponse.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/StorageProviderRepo.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItemResponse.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionsResponse.html":{},"classes/SuccessfulResponse.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/SystemDto.html":{},"classes/SystemEntityFactory.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemRule.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoResponse.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"injectables/TaskService.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"classes/TeamFactory.html":{},"classes/TeamPermissionsDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"injectables/ToolVersionService.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserDO.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParentsEntity.html":{},"injectables/UserRule.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["constructor(@inject(defaultencryptionservice",{"_index":17528,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["constructor(@inject(mikroorm",{"_index":16359,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["constructor(@inject(request",{"_index":11360,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["constructor(@inject(winston_module_provider",{"_index":9877,"title":{},"body":{"injectables/ErrorLogger.html":{},"injectables/LegacyLogger.html":{},"injectables/Logger.html":{}}}],["constructor(_em",{"_index":2447,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FilesRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/TldrawRepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["constructor(accountrepo",{"_index":903,"title":{},"body":{"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{}}}],["constructor(adapter",{"_index":5096,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["constructor(amqpconnection",{"_index":1297,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/FilesStorageProducer.html":{},"injectables/MailService.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{}}}],["constructor(apivalidationerror",{"_index":1383,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["constructor(app",{"_index":1630,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["constructor(authenticationservice",{"_index":15654,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["constructor(authorisation",{"_index":15382,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["constructor(authorisationservice",{"_index":19046,"title":{},"body":{"injectables/RoomBoardDTOFactory.html":{}}}],["constructor(authorization",{"_index":7613,"title":{},"body":{"injectables/CourseCopyUC.html":{}}}],["constructor(authorizationhelper",{"_index":3679,"title":{},"body":{"injectables/BoardDoRule.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"injectables/GroupRule.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LessonRule.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{}}}],["constructor(authorizationservice",{"_index":2653,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/LessonUC.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/SubmissionItemUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["constructor(authservice",{"_index":15817,"title":{},"body":{"injectables/LoginUc.html":{}}}],["constructor(axioserror",{"_index":2099,"title":{},"body":{"classes/AxiosErrorLoggable.html":{}}}],["constructor(batchdeletionservice",{"_index":2878,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["constructor(bbbservice",{"_index":24092,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["constructor(bbbsettings",{"_index":2335,"title":{},"body":{"injectables/BBBService.html":{}}}],["constructor(boarddorepo",{"_index":3409,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoService.html":{},"injectables/CardService.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{},"injectables/SubmissionItemService.html":{}}}],["constructor(cachemanager",{"_index":14315,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["constructor(classesrepo",{"_index":4781,"title":{},"body":{"injectables/ClassService.html":{}}}],["constructor(client",{"_index":19290,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["constructor(clientid",{"_index":6322,"title":{},"body":{"classes/ConsentSessionResponse.html":{},"classes/IdTokenCreationLoggableException.html":{}}}],["constructor(closedat",{"_index":23383,"title":{},"body":{"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{}}}],["constructor(columnboardservice",{"_index":4144,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"injectables/ColumnBoardTargetService.html":{}}}],["constructor(config",{"_index":2142,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{}}}],["constructor(configservice",{"_index":22216,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"injectables/XApiKeyStrategy.html":{}}}],["constructor(configuration",{"_index":6698,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["constructor(consentresponse",{"_index":6284,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["constructor(console",{"_index":14631,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["constructor(consolewriter",{"_index":3770,"title":{},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"classes/ServerConsole.html":{}}}],["constructor(content",{"_index":6443,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["constructor(contextexternaltool",{"_index":16334,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["constructor(contextexternaltoolrepo",{"_index":6670,"title":{},"body":{"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolService.html":{}}}],["constructor(contextexternaltoolservice",{"_index":7013,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{},"injectables/ToolReferenceUc.html":{}}}],["constructor(contextexternaltoolvalidationservice",{"_index":23077,"title":{},"body":{"injectables/ToolVersionService.html":{}}}],["constructor(contexttoolrepo",{"_index":19706,"title":{},"body":{"injectables/SchoolExternalToolMetadataService.html":{}}}],["constructor(copyhelperservice",{"_index":7223,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["constructor(county",{"_index":7374,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["constructor(courseexportservice",{"_index":7628,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["constructor(courserepo",{"_index":7559,"title":{},"body":{"injectables/CourseCopyService.html":{},"injectables/CourseUc.html":{},"injectables/RoomsUc.html":{},"injectables/TaskCopyUC.html":{}}}],["constructor(courserule",{"_index":19251,"title":{},"body":{"injectables/RuleManager.html":{}}}],["constructor(courseservice",{"_index":2016,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/CourseUrlHandler.html":{}}}],["constructor(customkey",{"_index":20584,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["constructor(dashboardrepo",{"_index":8687,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["constructor(data",{"_index":864,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/Page.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/ToolReferenceListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["constructor(defaultencryptionservice",{"_index":17524,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["constructor(deletefilesuc",{"_index":8826,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["constructor(deletionclient",{"_index":2805,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/DeletionExecutionUc.html":{}}}],["constructor(deletionlogrepo",{"_index":9193,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["constructor(deletionrequestrepo",{"_index":9410,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["constructor(descendants",{"_index":3495,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["constructor(descriptionoroptions",{"_index":14852,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["constructor(details",{"_index":14990,"title":{},"body":{"classes/LdapConnectionError.html":{}}}],["constructor(domainobject",{"_index":8111,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{},"classes/ShareTokenDO.html":{},"classes/UserDO.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["constructor(dto",{"_index":4264,"title":{},"body":{"classes/CalendarEventDto.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceJoin.html":{}}}],["constructor(e",{"_index":1085,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["constructor(editormodel",{"_index":12456,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["constructor(em",{"_index":3608,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/BoardNodeRepo.html":{},"injectables/ClassesRepo.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/GroupRepo.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/SystemRepo.html":{}}}],["constructor(entityclass",{"_index":2582,"title":{},"body":{"classes/BaseFactory.html":{}}}],["constructor(entityname",{"_index":9804,"title":{},"body":{"classes/EntityNotFoundError.html":{}}}],["constructor(error",{"_index":9816,"title":{},"body":{"classes/ErrorLoggable.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/TokenRequestLoggableException.html":{}}}],["constructor(errorcode",{"_index":1464,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{}}}],["constructor(externalschoolid",{"_index":9991,"title":{},"body":{"classes/ExternalSchoolNumberMissingLoggableException.html":{}}}],["constructor(externaltoolid",{"_index":10291,"title":{},"body":{"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{}}}],["constructor(externaltoollogo",{"_index":10273,"title":{},"body":{"classes/ExternalToolLogo.html":{}}}],["constructor(externaltoolmetadata",{"_index":10370,"title":{},"body":{"classes/ExternalToolMetadata.html":{}}}],["constructor(externaltoolmetadataresponse",{"_index":10386,"title":{},"body":{"classes/ExternalToolMetadataResponse.html":{}}}],["constructor(externaltoolname",{"_index":18806,"title":{},"body":{"classes/RestrictedContextMismatchLoggable.html":{}}}],["constructor(externaltoolrepo",{"_index":10889,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["constructor(externaltoolservice",{"_index":10122,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/ToolReferenceService.html":{}}}],["constructor(externaluserid",{"_index":23783,"title":{},"body":{"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["constructor(feathersauthprovider",{"_index":11196,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["constructor(feathersserviceprovider",{"_index":9936,"title":{},"body":{"injectables/EtherpadService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/NexboardService.html":{}}}],["constructor(federalstaterepo",{"_index":11389,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["constructor(field",{"_index":23952,"title":{},"body":{"classes/ValidationErrorDetailResponse.html":{}}}],["constructor(fieldname",{"_index":13653,"title":{},"body":{"classes/IdTokenExtractionFailureLoggableException.html":{}}}],["constructor(file",{"_index":11402,"title":{},"body":{"classes/FileDto.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{}}}],["constructor(filecopyservice",{"_index":18360,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["constructor(filerecord",{"_index":7124,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["constructor(filesrepo",{"_index":8852,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["constructor(filesstorageclientadapterservice",{"_index":20033,"title":{},"body":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["constructor(filesstorageservice",{"_index":12202,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["constructor(group",{"_index":12818,"title":{},"body":{"classes/GroupResponse.html":{},"classes/ResolvedGroupDto.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["constructor(grouprepo",{"_index":12894,"title":{},"body":{"injectables/GroupService.html":{}}}],["constructor(groupuser",{"_index":23374,"title":{},"body":{"classes/UserForGroupNotFoundLoggable.html":{}}}],["constructor(httpservice",{"_index":4293,"title":{},"body":{"injectables/CalendarService.html":{},"injectables/DeletionClient.html":{},"injectables/OauthAdapterService.html":{}}}],["constructor(id",{"_index":2434,"title":{},"body":{"classes/BaseDO.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardEntity.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/GridElement.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"interfaces/IGridElement.html":{},"classes/ScopeRef.html":{}}}],["constructor(idmservice",{"_index":632,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["constructor(info",{"_index":1436,"title":{},"body":{"classes/AppStartLoggable.html":{}}}],["constructor(init",{"_index":4196,"title":{},"body":{"classes/Builder.html":{}}}],["constructor(internallinkmatatagservice",{"_index":16198,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["constructor(inusermigration",{"_index":16322,"title":{},"body":{"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{}}}],["constructor(jwtservice",{"_index":1693,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["constructor(jwtvalidationadapter",{"_index":14289,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["constructor(kcadmin",{"_index":14457,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["constructor(kcadminclient",{"_index":14375,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["constructor(kcadminservice",{"_index":14646,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["constructor(key",{"_index":8104,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["constructor(ldapconfig",{"_index":14886,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["constructor(legacysystemservice",{"_index":21219,"title":{},"body":{"injectables/SystemUc.html":{}}}],["constructor(lessonrepo",{"_index":15508,"title":{},"body":{"injectables/LessonService.html":{}}}],["constructor(lessonservice",{"_index":15541,"title":{},"body":{"injectables/LessonUrlHandler.html":{}}}],["constructor(librarymetadata",{"_index":11636,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["constructor(librarystorage",{"_index":13272,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["constructor(loader",{"_index":1949,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["constructor(logger",{"_index":3262,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/DrawingElementAdapterService.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/ErrorLogger.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"injectables/LdapService.html":{},"injectables/LegacyLogger.html":{},"injectables/Logger.html":{},"injectables/NextcloudStrategy.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["constructor(loginresponse",{"_index":15790,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["constructor(logourl",{"_index":10280,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{}}}],["constructor(logouturl",{"_index":14174,"title":{},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{}}}],["constructor(ltirepo",{"_index":13462,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["constructor(ltitoolrepo",{"_index":16014,"title":{},"body":{"injectables/LtiToolService.html":{}}}],["constructor(ltitoolservice",{"_index":17325,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["constructor(machinename",{"_index":11586,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["constructor(message",{"_index":1796,"title":{},"body":{"classes/AuthorizationError.html":{},"classes/ForbiddenOperationError.html":{},"classes/PreviewActionsLoggable.html":{},"classes/ValidationError.html":{}}}],["constructor(metadata",{"_index":6544,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["constructor(name",{"_index":11577,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"classes/WsSharedDocDo.html":{}}}],["constructor(newsrepo",{"_index":16608,"title":{},"body":{"injectables/NewsUc.html":{}}}],["constructor(oauthconfig",{"_index":14903,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["constructor(oauthconfigdto",{"_index":17007,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{}}}],["constructor(oauthconfigresponse",{"_index":17065,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["constructor(oauthproviderloginflowservice",{"_index":13665,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["constructor(oauthproviderservice",{"_index":17156,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderUc.html":{}}}],["constructor(oauthservice",{"_index":13396,"title":{},"body":{"injectables/HydraOauthUc.html":{},"injectables/Oauth2Strategy.html":{}}}],["constructor(officialschoolnumber",{"_index":20008,"title":{},"body":{"classes/SchoolNumberDuplicateLoggableException.html":{}}}],["constructor(oidcconfig",{"_index":14959,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["constructor(oidcconfigdto",{"_index":17485,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["constructor(oidcprovisioningservice",{"_index":17665,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["constructor(operation",{"_index":16451,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{}}}],["constructor(operator",{"_index":20083,"title":{},"body":{"classes/Scope.html":{}}}],["constructor(options",{"_index":5810,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["constructor(organizationelements",{"_index":5978,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["constructor(parametertype",{"_index":17711,"title":{},"body":{"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["constructor(params",{"_index":15140,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["constructor(path",{"_index":11584,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["constructor(payload",{"_index":20369,"title":{},"body":{"classes/ShareTokenPayloadResponse.html":{}}}],["constructor(previewgeneratorservice",{"_index":17831,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["constructor(private",{"_index":400,"title":{},"body":{"controllers/AccountController.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorLoggable.html":{},"classes/BaseFactory.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"controllers/BoardController.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CalendarService.html":{},"controllers/CardController.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"injectables/ColumnService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRule.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"controllers/DashboardController.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"classes/DeletionExecutionConsole.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionQueueConsole.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"controllers/DeletionRequestsController.html":{},"injectables/DrawingElementAdapterService.html":{},"injectables/DurationLoggingInterceptor.html":{},"controllers/ElementController.html":{},"classes/ErrorLoggable.html":{},"injectables/EtherpadService.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FederalStateService.html":{},"controllers/FileSecurityController.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"controllers/FwuLearningContentsController.html":{},"classes/GlobalErrorFilter.html":{},"controllers/GroupController.html":{},"injectables/GroupRepo.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"controllers/H5PEditorController.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"controllers/ImportUserController.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtStrategy.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/LdapService.html":{},"injectables/LegacySchoolRule.html":{},"controllers/LessonController.html":{},"injectables/LessonUrlHandler.html":{},"controllers/LoginController.html":{},"injectables/LoginUc.html":{},"injectables/LtiToolService.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorService.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"controllers/NewsController.html":{},"injectables/NexboardService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfigMissingLoggableException.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"interfaces/Options.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PreviewActionsLoggable.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"controllers/PseudonymController.html":{},"injectables/PseudonymsRepo.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearService.html":{},"classes/ServerConsole.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionRule.html":{},"injectables/SymetricKeyEncryptionService.html":{},"controllers/SystemController.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemRule.html":{},"injectables/SystemService.html":{},"controllers/TaskController.html":{},"injectables/TaskUrlHandler.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"injectables/TimeoutInterceptor.html":{},"controllers/TldrawController.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"controllers/UserController.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"injectables/UserRule.html":{},"injectables/UserUc.html":{},"classes/ValidationErrorLoggableException.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["constructor(props",{"_index":232,"title":{},"body":{"entities/Account.html":{},"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizableObject.html":{},"classes/AxiosResponseImp.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigResponse.html":{},"entities/Board.html":{},"entities/BoardElement.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnBoardTarget.html":{},"entities/ColumnNode.html":{},"entities/ColumnboardBoardElement.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextRef.html":{},"classes/CookiesDto.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterResponse.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DomainObject.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolElementContent.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"classes/ExternalToolElementResponse.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"classes/ExternalUserDto.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/FileDto-1.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"classes/GridElement.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"classes/HydraRedirectDto.html":{},"interfaces/IGridElement.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"entities/LessonBoardElement.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/LoginDto.html":{},"classes/LoginResponse.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"entities/LtiTool.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OidcConfigEntity.html":{},"classes/PageContentDto.html":{},"interfaces/ParentInfo.html":{},"classes/PropertyData.html":{},"classes/ProvisioningSystemDto.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/ResolvedGroupUser.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"classes/ScanResultDto.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"entities/Submission.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionProperties.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"classes/TeamPermissionsDto.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRolePermissionsDto.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"entities/User.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["constructor(protected",{"_index":2490,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FilesRepo.html":{},"interfaces/IDashboardRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["constructor(provisioningdto",{"_index":18055,"title":{},"body":{"classes/ProvisioningDto.html":{}}}],["constructor(pseudonym",{"_index":22572,"title":{},"body":{"classes/TooManyPseudonymsLoggableException.html":{}}}],["constructor(pseudonymrepo",{"_index":18212,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["constructor(pseudonymservice",{"_index":18256,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["constructor(public",{"_index":22245,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["constructor(readonly",{"_index":1370,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/EntityNotFoundError.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{}}}],["constructor(redirectreponse",{"_index":18562,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["constructor(registrationpinrepo",{"_index":18688,"title":{},"body":{"injectables/RegistrationPinService.html":{}}}],["constructor(relation",{"_index":12876,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["constructor(repo",{"_index":7710,"title":{},"body":{"injectables/CourseGroupService.html":{},"injectables/CourseService.html":{},"injectables/FilesService.html":{},"injectables/TemporaryFileStorage.html":{}}}],["constructor(req",{"_index":18702,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["constructor(request",{"_index":11371,"title":{},"body":{"injectables/FeathersServiceProvider.html":{}}}],["constructor(requesttimeout",{"_index":22187,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["constructor(res",{"_index":18722,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["constructor(resourceelements",{"_index":6006,"title":{},"body":{"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["constructor(resourcename",{"_index":16786,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["constructor(resp",{"_index":9477,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["constructor(response",{"_index":6829,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/OAuthProcessDto.html":{},"classes/PseudonymResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["constructor(responsemapper",{"_index":19487,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["constructor(rocketchatuserrepo",{"_index":18951,"title":{},"body":{"injectables/RocketChatUserService.html":{}}}],["constructor(rolerepo",{"_index":19025,"title":{},"body":{"injectables/RoleService.html":{}}}],["constructor(roleservice",{"_index":19042,"title":{},"body":{"injectables/RoleUc.html":{}}}],["constructor(rulemanager",{"_index":1969,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["constructor(school",{"_index":19924,"title":{},"body":{"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{}}}],["constructor(schoolexternaltoolmetadata",{"_index":19695,"title":{},"body":{"classes/SchoolExternalToolMetadata.html":{}}}],["constructor(schoolexternaltoolmetadataresponse",{"_index":19702,"title":{},"body":{"classes/SchoolExternalToolMetadataResponse.html":{}}}],["constructor(schoolexternaltoolrepo",{"_index":19806,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["constructor(schoolexternaltoolservice",{"_index":19842,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{},"injectables/ToolLaunchService.html":{}}}],["constructor(schoolid",{"_index":20019,"title":{},"body":{"classes/SchoolNumberMissingLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{}}}],["constructor(schoolname",{"_index":19901,"title":{},"body":{"classes/SchoolInUserMigrationEndLoggable.html":{}}}],["constructor(schoolrepo",{"_index":15254,"title":{},"body":{"injectables/LegacySchoolService.html":{},"injectables/SchoolValidationService.html":{}}}],["constructor(schoolservice",{"_index":2064,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/SchoolMigrationService.html":{}}}],["constructor(schooltoolrepo",{"_index":10393,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{}}}],["constructor(schoolyearrepo",{"_index":20076,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["constructor(service",{"_index":5144,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["constructor(sharetokenservice",{"_index":20446,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["constructor(sourceentityname",{"_index":18619,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["constructor(sourceschoolnumber",{"_index":20011,"title":{},"body":{"classes/SchoolNumberMismatchLoggableException.html":{}}}],["constructor(state",{"_index":18000,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["constructor(storageclient",{"_index":17869,"title":{},"body":{"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{}}}],["constructor(strategy",{"_index":4979,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["constructor(submissionitemsresponse",{"_index":20984,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["constructor(submissionrepo",{"_index":20937,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["constructor(submissionservice",{"_index":20965,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["constructor(successful",{"_index":20993,"title":{},"body":{"classes/SuccessfulResponse.html":{}}}],["constructor(system",{"_index":18290,"title":{},"body":{"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{}}}],["constructor(systemid",{"_index":17061,"title":{},"body":{"classes/OauthConfigMissingLoggableException.html":{}}}],["constructor(systemrepo",{"_index":15028,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LegacySystemService.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemService.html":{}}}],["constructor(systemresponses",{"_index":18286,"title":{},"body":{"classes/PublicSystemListResponse.html":{}}}],["constructor(systemservice",{"_index":18075,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["constructor(task",{"_index":21260,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["constructor(taskrepo",{"_index":21416,"title":{},"body":{"injectables/TaskCopyService.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{}}}],["constructor(taskservice",{"_index":19183,"title":{},"body":{"injectables/RoomsService.html":{},"injectables/TaskUrlHandler.html":{}}}],["constructor(taskurlhandler",{"_index":16254,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["constructor(teamsrepo",{"_index":21959,"title":{},"body":{"injectables/TeamService.html":{}}}],["constructor(timetowait",{"_index":4170,"title":{},"body":{"classes/BruteForceError.html":{}}}],["constructor(tldrawrepo",{"_index":22354,"title":{},"body":{"injectables/TldrawService.html":{}}}],["constructor(tokengenerator",{"_index":20415,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["constructor(toolfeatures",{"_index":10061,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolLogoService.html":{}}}],["constructor(toollaunchservice",{"_index":22916,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["constructor(toolpermissionhelper",{"_index":6974,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["constructor(toolreference",{"_index":22946,"title":{},"body":{"classes/ToolReference.html":{}}}],["constructor(toolreferenceresponse",{"_index":22985,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["constructor(total",{"_index":17701,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["constructor(type",{"_index":9907,"title":{},"body":{"classes/ErrorResponse.html":{}}}],["constructor(undefined",{"_index":821,"title":{},"body":{"classes/AccountResponse.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardContextResponse.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusResponse.html":{},"classes/BusinessError.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"classes/CardSkeletonResponse.html":{},"classes/ColumnResponse.html":{},"classes/CopyApiResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/DtoCreator.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/NewsResponse.html":{},"classes/RichText.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/SchoolInfoResponse.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/TargetInfoResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskStatusResponse.html":{},"classes/TimestampsResponse.html":{},"classes/UserDataResponse.html":{},"classes/UserInfoResponse.html":{},"classes/VisibilitySettingsResponse.html":{}}}],["constructor(unknownquerytype",{"_index":23091,"title":{},"body":{"classes/UnknownQueryTypeLoggableException.html":{}}}],["constructor(user",{"_index":12963,"title":{},"body":{"classes/GroupUserResponse.html":{},"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{},"classes/UserDto.html":{}}}],["constructor(userid",{"_index":12367,"title":{},"body":{"classes/ForbiddenLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["constructor(userloginmigrationid",{"_index":23532,"title":{},"body":{"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["constructor(userloginmigrationservice",{"_index":4942,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationRevertService.html":{}}}],["constructor(usermatchschoolid",{"_index":19888,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["constructor(usermigrationdto",{"_index":16315,"title":{},"body":{"classes/MigrationDto.html":{}}}],["constructor(usermigrationservice",{"_index":23674,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["constructor(username",{"_index":23087,"title":{},"body":{"classes/UnauthorizedLoggableException.html":{}}}],["constructor(userrepo",{"_index":18580,"title":{},"body":{"injectables/ReferenceLoader.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["constructor(userservice",{"_index":11255,"title":{},"body":{"injectables/FeathersRosterService.html":{},"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"injectables/OidcProvisioningService.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["constructor(uuid",{"_index":13694,"title":{},"body":{"classes/IdTokenUserNotFoundLoggableException.html":{}}}],["constructor(validationerrors",{"_index":1357,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/ValidationErrorLoggableException.html":{}}}],["construed",{"_index":25107,"title":{},"body":{"license.html":{}}}],["consumer",{"_index":15836,"title":{},"body":{"injectables/Lti11EncryptionService.html":{},"interfaces/PreviewConfig.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"interfaces/PreviewModuleConfig.html":{},"injectables/PreviewProducer.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["consumer.authorize(requestdata",{"_index":15844,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["consumer.module.ts",{"_index":17847,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["consumer.module.ts:13",{"_index":17850,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["contact",{"_index":25195,"title":{},"body":{"license.html":{}}}],["contain",{"_index":585,"title":{},"body":{"classes/AccountFactory.html":{},"entities/Board.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["contained",{"_index":5724,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["container",{"_index":3141,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"controllers/BoardSubmissionController.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"injectables/SubmissionItemUc.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["container.'})@apiresponse({status",{"_index":4024,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["container.url.params.ts",{"_index":20724,"title":{},"body":{"classes/SubmissionContainerUrlParams.html":{}}}],["container.url.params.ts:11",{"_index":20726,"title":{},"body":{"classes/SubmissionContainerUrlParams.html":{}}}],["containing",{"_index":9242,"title":{},"body":{"classes/DeletionQueueConsole.html":{},"classes/OauthClientBody.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["contains",{"_index":6134,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"classes/ConsentRequestBody.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/FileMetadata.html":{},"classes/FilterImportUserParams.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/LoginRequestBody.html":{},"injectables/NewsRepo.html":{},"classes/OAuthRejectableBody.html":{},"classes/OauthClientBody.html":{},"interfaces/OauthCurrentUser.html":{},"classes/Path.html":{},"classes/ReferencesService.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/TldrawWsService.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["content",{"_index":2392,"title":{},"body":{"injectables/BBBService.html":{},"classes/BoardElementResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"interfaces/CollectionFilePath.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentMetadata.html":{},"controllers/CourseController.html":{},"entities/CourseNews.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"injectables/DeletionClient.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileContentBody.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/FileMetadata.html":{},"injectables/FileSystemAdapter.html":{},"controllers/FwuLearningContentsController.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"interfaces/INewsScope.html":{},"entities/InstalledLibrary.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/MoveContentElementBody.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"injectables/OauthAdapterService.html":{},"classes/Path.html":{},"classes/ReferencesService.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"entities/SchoolNews.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"classes/TaskResponse.html":{},"entities/TeamNews.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["content.body.params.ts",{"_index":9514,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["content.body.params.ts:106",{"_index":20694,"title":{},"body":{"classes/SubmissionContainerContentBody.html":{}}}],["content.body.params.ts:115",{"_index":20711,"title":{},"body":{"classes/SubmissionContainerElementContentBody.html":{}}}],["content.body.params.ts:122",{"_index":10173,"title":{},"body":{"classes/ExternalToolContentBody.html":{}}}],["content.body.params.ts:131",{"_index":10210,"title":{},"body":{"classes/ExternalToolElementContentBody.html":{}}}],["content.body.params.ts:14",{"_index":9707,"title":{},"body":{"classes/ElementContentBody.html":{}}}],["content.body.params.ts:169",{"_index":23096,"title":{},"body":{"classes/UpdateElementContentBodyParams.html":{}}}],["content.body.params.ts:20",{"_index":11398,"title":{},"body":{"classes/FileContentBody.html":{}}}],["content.body.params.ts:24",{"_index":11397,"title":{},"body":{"classes/FileContentBody.html":{}}}],["content.body.params.ts:33",{"_index":11462,"title":{},"body":{"classes/FileElementContentBody.html":{}}}],["content.body.params.ts:39",{"_index":15593,"title":{},"body":{"classes/LinkContentBody.html":{}}}],["content.body.params.ts:44",{"_index":15592,"title":{},"body":{"classes/LinkContentBody.html":{}}}],["content.body.params.ts:49",{"_index":15590,"title":{},"body":{"classes/LinkContentBody.html":{}}}],["content.body.params.ts:54",{"_index":15591,"title":{},"body":{"classes/LinkContentBody.html":{}}}],["content.body.params.ts:63",{"_index":15618,"title":{},"body":{"classes/LinkElementContentBody.html":{}}}],["content.body.params.ts:69",{"_index":9515,"title":{},"body":{"classes/DrawingContentBody.html":{}}}],["content.body.params.ts:78",{"_index":9566,"title":{},"body":{"classes/DrawingElementContentBody.html":{}}}],["content.body.params.ts:84",{"_index":18828,"title":{},"body":{"classes/RichTextContentBody.html":{}}}],["content.body.params.ts:88",{"_index":18827,"title":{},"body":{"classes/RichTextContentBody.html":{}}}],["content.body.params.ts:97",{"_index":18854,"title":{},"body":{"classes/RichTextElementContentBody.html":{}}}],["content.component",{"_index":5768,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["content.content.description",{"_index":5782,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["content.content.url",{"_index":5781,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["content.dto.ts",{"_index":17687,"title":{},"body":{"classes/PageContentDto.html":{}}}],["content.dto.ts:2",{"_index":17691,"title":{},"body":{"classes/PageContentDto.html":{}}}],["content.dto.ts:4",{"_index":17690,"title":{},"body":{"classes/PageContentDto.html":{}}}],["content.entity.ts",{"_index":6522,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["content.entity.ts:11",{"_index":6554,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:122",{"_index":12997,"title":{},"body":{"entities/H5PContent.html":{}}}],["content.entity.ts:130",{"_index":13003,"title":{},"body":{"entities/H5PContent.html":{}}}],["content.entity.ts:134",{"_index":12998,"title":{},"body":{"entities/H5PContent.html":{}}}],["content.entity.ts:14",{"_index":6555,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:141",{"_index":12999,"title":{},"body":{"entities/H5PContent.html":{}}}],["content.entity.ts:148",{"_index":13002,"title":{},"body":{"entities/H5PContent.html":{}}}],["content.entity.ts:151",{"_index":13001,"title":{},"body":{"entities/H5PContent.html":{}}}],["content.entity.ts:17",{"_index":6558,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:20",{"_index":6559,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:23",{"_index":6560,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:26",{"_index":6564,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:29",{"_index":6565,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:32",{"_index":6566,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:35",{"_index":6567,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:38",{"_index":6570,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:41",{"_index":6552,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:44",{"_index":6546,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:47",{"_index":6561,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:50",{"_index":6563,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:53",{"_index":6571,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:56",{"_index":6572,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:59",{"_index":6568,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:62",{"_index":6569,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:65",{"_index":6549,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:68",{"_index":6562,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:71",{"_index":6551,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:74",{"_index":6547,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:77",{"_index":6545,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.factory.ts",{"_index":13006,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["content.identifier",{"_index":5977,"title":{},"body":{"classes/CommonCartridgeOrganizationItemElement.html":{}}}],["content.library",{"_index":12473,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["content.mapper.ts",{"_index":13019,"title":{},"body":{"classes/H5PContentMapper.html":{}}}],["content.mapper.ts:6",{"_index":13020,"title":{},"body":{"classes/H5PContentMapper.html":{}}}],["content.numberofdrafttasks",{"_index":9670,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["content.numberofplannedtasks",{"_index":9672,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["content.params.metadata",{"_index":12474,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["content.params.params",{"_index":12475,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["content.repo.ts",{"_index":13053,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["content.repo.ts:12",{"_index":13060,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["content.repo.ts:18",{"_index":13058,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["content.repo.ts:26",{"_index":13062,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["content.repo.ts:8",{"_index":13063,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["content.title",{"_index":5767,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{}}}],["content.title}${content.content.text",{"_index":5774,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["content/:contentid/:file",{"_index":13147,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["content_developer",{"_index":8035,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["contentbodyparams",{"_index":1234,"title":{"classes/ContentBodyParams.html":{}},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ContentBodyParams.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{}}}],["contentdeveloper",{"_index":8036,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["contentdisposition",{"_index":1442,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["contentelementfactory",{"_index":3862,"title":{"injectables/ContentElementFactory.html":{}},"body":{"modules/BoardModule.html":{},"injectables/ColumnBoardService.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementService.html":{}}}],["contentelementid",{"_index":6512,"title":{},"body":{"classes/ContentElementUrlParams.html":{},"injectables/ElementUc.html":{}}}],["contentelementresponsefactory",{"_index":4040,"title":{"classes/ContentElementResponseFactory.html":{}},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CardResponseMapper.html":{},"classes/ContentElementResponseFactory.html":{},"controllers/ElementController.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["contentelementresponsefactory.mapsubmissioncontenttoresponse(element",{"_index":4060,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["contentelementresponsefactory.maptoresponse(element",{"_index":4405,"title":{},"body":{"controllers/CardController.html":{},"classes/CardResponseMapper.html":{},"controllers/ElementController.html":{}}}],["contentelementservice",{"_index":2018,"title":{"injectables/ContentElementService.html":{}},"body":{"injectables/AutoContextNameStrategy.html":{},"modules/BoardModule.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/ContentElementService.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["contentelementtype",{"_index":4454,"title":{},"body":{"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnUc.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementService.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileContentBody.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"injectables/SubmissionItemUc.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["contentelementtype.drawing",{"_index":6371,"title":{},"body":{"injectables/ContentElementFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["contentelementtype.external_tool",{"_index":6375,"title":{},"body":{"injectables/ContentElementFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["contentelementtype.file",{"_index":6365,"title":{},"body":{"injectables/ContentElementFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"injectables/SubmissionItemUc.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["contentelementtype.link",{"_index":6367,"title":{},"body":{"injectables/ContentElementFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["contentelementtype.rich_text",{"_index":6369,"title":{},"body":{"injectables/ContentElementFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"injectables/SubmissionItemUc.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["contentelementtype.submission_container",{"_index":6373,"title":{},"body":{"injectables/ContentElementFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["contentelementupdatevisitor",{"_index":6426,"title":{"injectables/ContentElementUpdateVisitor.html":{}},"body":{"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{}}}],["contentelementupdatevisitor(content",{"_index":6437,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["contentelementurlparams",{"_index":6509,"title":{"classes/ContentElementUrlParams.html":{}},"body":{"classes/ContentElementUrlParams.html":{},"controllers/ElementController.html":{}}}],["contentfile",{"_index":13171,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["contentfileurlparams",{"_index":6514,"title":{"classes/ContentFileUrlParams.html":{}},"body":{"classes/ContentFileUrlParams.html":{},"controllers/H5PEditorController.html":{}}}],["contentid",{"_index":1240,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"interfaces/AppendedAttachment.html":{},"classes/ContentBodyParams.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["contentlength",{"_index":7198,"title":{},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5pFileDto.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/PreviewFileParams.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"classes/TestHelper.html":{}}}],["contentmanager",{"_index":13292,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["contentmanager(this.contentstorage",{"_index":13320,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["contentmetadata",{"_index":6520,"title":{"classes/ContentMetadata.html":{}},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{}}}],["contentparameters",{"_index":12452,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["contentparentid",{"_index":13032,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["contentparenttype",{"_index":13031,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["contentrange",{"_index":7199,"title":{},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5pFileDto.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/PreviewFileParams.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"classes/TestHelper.html":{}}}],["contentrangeheader",{"_index":13201,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["contents",{"_index":6169,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"modules/FwuLearningContentsTestModule.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"license.html":{}}}],["contents.config",{"_index":12426,"title":{},"body":{"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{}}}],["contents.controller",{"_index":12425,"title":{},"body":{"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{}}}],["contents.controller.ts",{"_index":12385,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["contents.controller.ts:25",{"_index":12390,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["contents.module.ts",{"_index":12421,"title":{},"body":{"modules/FwuLearningContentsModule.html":{}}}],["contents.params",{"_index":12395,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["contents.params.ts",{"_index":12480,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{}}}],["contents.params.ts:11",{"_index":12486,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{}}}],["contents.push(element",{"_index":15429,"title":{},"body":{"classes/LessonFactory.html":{}}}],["contents.uc",{"_index":12393,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{}}}],["contents.uc.ts",{"_index":12436,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["contents.uc.ts:15",{"_index":12440,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["contents.uc.ts:7",{"_index":12439,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["contents/controller/dto/fwu",{"_index":12479,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{}}}],["contents/controller/fwu",{"_index":12384,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["contents/fwu",{"_index":12420,"title":{},"body":{"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{}}}],["contents/interface/config.ts",{"_index":19418,"title":{},"body":{"interfaces/S3Config-1.html":{}}}],["contents/uc/fwu",{"_index":12435,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["contentstorage",{"_index":13220,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["contenttype",{"_index":6528,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/CopyFiles.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoService.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5pFileDto.html":{},"interfaces/LibrariesContentType.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/PreviewFileParams.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"classes/TestHelper.html":{}}}],["contenttypecache",{"_index":13263,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["contenttypecache(h5pconfig",{"_index":13315,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["contenttypedetector",{"_index":10318,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["contenttypedetector[imagesignature",{"_index":10357,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["contenttypeinformationrepository",{"_index":13287,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["contenttypeinformationrepository(this.contenttypecache",{"_index":13319,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["contenttyperepo",{"_index":13264,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["contentuserstatesaveinterval",{"_index":13302,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["context",{"_index":183,"title":{},"body":{"interfaces/AcceptLoginRequestBody.html":{},"classes/AuthorizationContextBuilder.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/BaseUc.html":{},"controllers/BoardController.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardManagementUc.html":{},"injectables/CardUc.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ConsentResponse.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolMetadata.html":{},"injectables/ExternalToolMetadataService.html":{},"classes/ForbiddenLoggableException.html":{},"injectables/GroupRule.html":{},"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LessonRule.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/OauthProviderRequestMapper.html":{},"interfaces/ProviderConsentResponse.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"classes/SchoolExternalToolMetadata.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolUc.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"modules/ToolApiModule.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolLaunchController.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"injectables/ToolVersionService.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"index.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["context'})@apiokresponse({description",{"_index":22603,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolReferenceController.html":{}}}],["context(context",{"_index":5410,"title":{},"body":{"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["context.action",{"_index":3690,"title":{},"body":{"injectables/BoardDoRule.html":{},"injectables/SystemRule.html":{}}}],["context.builder",{"_index":26051,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["context.builder.ts",{"_index":1782,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["context.builder.ts:11",{"_index":1790,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["context.builder.ts:17",{"_index":1788,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["context.builder.ts:5",{"_index":1786,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["context.contextid",{"_index":20500,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["context.controller.ts",{"_index":22676,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["context.controller.ts:122",{"_index":22691,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["context.controller.ts:146",{"_index":22699,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["context.controller.ts:44",{"_index":22682,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["context.controller.ts:70",{"_index":22686,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["context.controller.ts:89",{"_index":22695,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["context.getclass",{"_index":22196,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["context.gethandler",{"_index":22195,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["context.interface",{"_index":18046,"title":{},"body":{"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/Rule.html":{}}}],["context.interface.ts",{"_index":1777,"title":{},"body":{"interfaces/AuthorizationContext.html":{},"interfaces/ProviderOidcContext.html":{}}}],["context.mapper",{"_index":10400,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/SchoolExternalToolMetadataService.html":{}}}],["context.mapper.ts",{"_index":22722,"title":{},"body":{"classes/ToolContextMapper.html":{}}}],["context.mapper.ts:5",{"_index":22724,"title":{},"body":{"classes/ToolContextMapper.html":{}}}],["context.params.ts",{"_index":6719,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{}}}],["context.params.ts:18",{"_index":6725,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{}}}],["context.params.ts:8",{"_index":6723,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{}}}],["context.reponse",{"_index":3227,"title":{},"body":{"controllers/BoardController.html":{}}}],["context.reponse.ts",{"_index":3175,"title":{},"body":{"classes/BoardContextResponse.html":{}}}],["context.reponse.ts:13",{"_index":3180,"title":{},"body":{"classes/BoardContextResponse.html":{}}}],["context.reponse.ts:16",{"_index":3183,"title":{},"body":{"classes/BoardContextResponse.html":{}}}],["context.reponse.ts:4",{"_index":3176,"title":{},"body":{"classes/BoardContextResponse.html":{}}}],["context.requiredpermissions",{"_index":3686,"title":{},"body":{"injectables/BoardDoRule.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/GroupRule.html":{},"injectables/LegacySchoolRule.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SystemRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{}}}],["context.response",{"_index":6315,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{}}}],["context.response.ts",{"_index":6729,"title":{},"body":{"classes/ContextExternalToolCountPerContextResponse.html":{},"classes/OidcContextResponse.html":{}}}],["context.response.ts:12",{"_index":17517,"title":{},"body":{"classes/OidcContextResponse.html":{}}}],["context.response.ts:15",{"_index":17518,"title":{},"body":{"classes/OidcContextResponse.html":{}}}],["context.response.ts:19",{"_index":17520,"title":{},"body":{"classes/OidcContextResponse.html":{}}}],["context.response.ts:5",{"_index":6731,"title":{},"body":{"classes/ContextExternalToolCountPerContextResponse.html":{}}}],["context.response.ts:6",{"_index":17515,"title":{},"body":{"classes/OidcContextResponse.html":{}}}],["context.response.ts:8",{"_index":6730,"title":{},"body":{"classes/ContextExternalToolCountPerContextResponse.html":{}}}],["context.response.ts:9",{"_index":17516,"title":{},"body":{"classes/OidcContextResponse.html":{}}}],["context.switchtohttp().getrequest",{"_index":18753,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["contextcanwrite",{"_index":15411,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["contextconfigurationenabled",{"_index":13621,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["contextdo",{"_index":22938,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["contextexternaltool",{"_index":2005,"title":{"classes/ContextExternalTool.html":{}},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"injectables/FeathersRosterService.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"controllers/ToolContextController.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"injectables/ToolVersionService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["contextexternaltool'})@httpcode(httpstatus.no_content",{"_index":22685,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltool(contextexternaltooldto",{"_index":6995,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["contextexternaltool.contextref",{"_index":7026,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["contextexternaltool.contextref.id",{"_index":2011,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"classes/ContextExternalToolResponseMapper.html":{}}}],["contextexternaltool.contextref.type",{"_index":2038,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ToolPermissionHelper.html":{}}}],["contextexternaltool.displayname",{"_index":6865,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ToolReferenceMapper.html":{}}}],["contextexternaltool.id",{"_index":6863,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ToolLaunchService.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceUc.html":{}}}],["contextexternaltool.schooltoolref",{"_index":7025,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["contextexternaltool.schooltoolref.schoolid",{"_index":7002,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["contextexternaltool.schooltoolref.schooltoolid",{"_index":6864,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/FeathersRosterService.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolReferenceService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["contextexternaltool.toolversion",{"_index":6866,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["contextexternaltoolauthorizableservice",{"_index":6668,"title":{"injectables/ContextExternalToolAuthorizableService.html":{}},"body":{"injectables/ContextExternalToolAuthorizableService.html":{},"modules/ContextExternalToolModule.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["contextexternaltoolconfigurationstatus",{"_index":6051,"title":{"classes/ContextExternalToolConfigurationStatus.html":{}},"body":{"injectables/CommonToolService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"injectables/ToolLaunchService.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{}}}],["contextexternaltoolconfigurationstatusresponse",{"_index":6682,"title":{"classes/ContextExternalToolConfigurationStatusResponse.html":{}},"body":{"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ToolReferenceResponse.html":{},"classes/ToolStatusResponseMapper.html":{}}}],["contextexternaltoolconfigurationtemplatelistresponse",{"_index":6689,"title":{"classes/ContextExternalToolConfigurationTemplateListResponse.html":{}},"body":{"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{}}}],["contextexternaltoolconfigurationtemplatelistresponse(mappedtools",{"_index":22673,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["contextexternaltoolconfigurationtemplateresponse",{"_index":6691,"title":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{}},"body":{"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{}}}],["contextexternaltoolcontextparams",{"_index":6717,"title":{"classes/ContextExternalToolContextParams.html":{}},"body":{"classes/ContextExternalToolContextParams.html":{},"controllers/ToolContextController.html":{},"controllers/ToolReferenceController.html":{}}}],["contextexternaltoolcount",{"_index":10404,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{},"injectables/SchoolExternalToolMetadataService.html":{}}}],["contextexternaltoolcount[type",{"_index":10412,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{},"injectables/SchoolExternalToolMetadataService.html":{}}}],["contextexternaltoolcountpercontext",{"_index":10368,"title":{},"body":{"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{}}}],["contextexternaltoolcountpercontextresponse",{"_index":6728,"title":{"classes/ContextExternalToolCountPerContextResponse.html":{}},"body":{"classes/ContextExternalToolCountPerContextResponse.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{}}}],["contextexternaltooldto",{"_index":6812,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["contextexternaltooldto.schooltoolref.schoolid",{"_index":6994,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["contextexternaltooldto.schooltoolref.schooltoolid",{"_index":6992,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["contextexternaltoolentity",{"_index":6734,"title":{"entities/ContextExternalToolEntity.html":{}},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["contextexternaltoolfactory",{"_index":6757,"title":{"classes/ContextExternalToolFactory.html":{}},"body":{"classes/ContextExternalToolFactory.html":{}}}],["contextexternaltoolfactory.define(contextexternaltool",{"_index":6766,"title":{},"body":{"classes/ContextExternalToolFactory.html":{}}}],["contextexternaltoolid",{"_index":3562,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/ToolLaunchParams.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["contextexternaltoolid(value",{"_index":10200,"title":{},"body":{"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{}}}],["contextexternaltoolidparams",{"_index":6767,"title":{"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{}},"body":{"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolReferenceController.html":{}}}],["contextexternaltoolmodule",{"_index":3856,"title":{"modules/ContextExternalToolModule.html":{}},"body":{"modules/BoardModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{}}}],["contextexternaltoolpostparams",{"_index":6788,"title":{"classes/ContextExternalToolPostParams.html":{}},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolRequestMapper.html":{},"controllers/ToolContextController.html":{}}}],["contextexternaltoolproperties",{"_index":6749,"title":{"interfaces/ContextExternalToolProperties.html":{}},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{}}}],["contextexternaltoolprops",{"_index":6645,"title":{"interfaces/ContextExternalToolProps.html":{}},"body":{"classes/ContextExternalTool.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProps.html":{}}}],["contextexternaltoolquery",{"_index":6944,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["contextexternaltoolrepo",{"_index":6036,"title":{},"body":{"modules/CommonToolModule.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolService.html":{},"injectables/SchoolExternalToolMetadataService.html":{}}}],["contextexternaltoolrequestmapper",{"_index":6805,"title":{"classes/ContextExternalToolRequestMapper.html":{}},"body":{"classes/ContextExternalToolRequestMapper.html":{},"controllers/ToolContextController.html":{}}}],["contextexternaltoolrequestmapper.mapcontextexternaltoolrequest(body",{"_index":22704,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponse",{"_index":6827,"title":{"classes/ContextExternalToolResponse.html":{}},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponsemapper",{"_index":6848,"title":{"classes/ContextExternalToolResponseMapper.html":{}},"body":{"classes/ContextExternalToolResponseMapper.html":{},"controllers/ToolContextController.html":{},"controllers/ToolReferenceController.html":{}}}],["contextexternaltoolresponsemapper.mapcontextexternaltoolresponse(contextexternaltool",{"_index":22717,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponsemapper.mapcontextexternaltoolresponse(createdtool",{"_index":22706,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponsemapper.mapcontextexternaltoolresponse(tool",{"_index":22713,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponsemapper.mapcontextexternaltoolresponse(updatedtool",{"_index":22720,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponsemapper.maptotoolreferenceresponse(toolreference",{"_index":22972,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["contextexternaltoolresponsemapper.maptotoolreferenceresponses(toolreferences",{"_index":22975,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["contextexternaltoolresponse})@apiforbiddenresponse()@apiunauthorizedresponse()@apiunprocessableentityresponse()@apioperation({summary",{"_index":22698,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponse})@apiforbiddenresponse()@apiunprocessableentityresponse()@apiunauthorizedresponse()@apiresponse({status",{"_index":22680,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponse})@apioperation({summary",{"_index":22689,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolrule",{"_index":1866,"title":{"injectables/ContextExternalToolRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/RuleManager.html":{}}}],["contextexternaltools",{"_index":6953,"title":{},"body":{"injectables/ContextExternalToolService.html":{},"injectables/FeathersRosterService.html":{},"controllers/ToolContextController.html":{},"injectables/ToolReferenceUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["contextexternaltools.length",{"_index":11340,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["contextexternaltools.map",{"_index":22712,"title":{},"body":{"controllers/ToolContextController.html":{},"injectables/ToolReferenceUc.html":{}}}],["contextexternaltoolscope",{"_index":6888,"title":{"classes/ContextExternalToolScope.html":{}},"body":{"classes/ContextExternalToolScope.html":{}}}],["contextexternaltoolsearchlistresponse",{"_index":6919,"title":{"classes/ContextExternalToolSearchListResponse.html":{}},"body":{"classes/ContextExternalToolSearchListResponse.html":{},"controllers/ToolContextController.html":{}}}],["contextexternaltoolsearchlistresponse(mappedtools",{"_index":22714,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolsearchlistresponse})@apioperation({summary",{"_index":22694,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolservice",{"_index":6780,"title":{"injectables/ContextExternalToolService.html":{}},"body":{"modules/ContextExternalToolModule.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/FeathersRosterService.html":{},"injectables/RecursiveDeleteVisitor.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["contextexternaltoolsinuse",{"_index":10071,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{}}}],["contextexternaltoolsinuse.some",{"_index":10093,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["contextexternaltooltemplateinfo",{"_index":10069,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{}}}],["contextexternaltooltype",{"_index":6739,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/ExternalToolMetadata.html":{},"injectables/ExternalToolMetadataService.html":{},"classes/SchoolExternalToolMetadata.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/ToolContextMapper.html":{}}}],["contextexternaltooltype.board_element",{"_index":10405,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/ToolContextMapper.html":{}}}],["contextexternaltooltype.course",{"_index":10406,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/ToolContextMapper.html":{}}}],["contextexternaltooluc",{"_index":6966,"title":{"injectables/ContextExternalToolUc.html":{}},"body":{"injectables/ContextExternalToolUc.html":{},"modules/ToolApiModule.html":{},"controllers/ToolContextController.html":{}}}],["contextexternaltoolvalidationservice",{"_index":6781,"title":{"injectables/ContextExternalToolValidationService.html":{}},"body":{"modules/ContextExternalToolModule.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ToolVersionService.html":{}}}],["contextid",{"_index":6720,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ContextRefParams.html":{},"injectables/ExternalToolConfigurationUc.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenUC.html":{},"controllers/ToolContextController.html":{},"injectables/ToolReferenceUc.html":{}}}],["contextmapping",{"_index":22723,"title":{},"body":{"classes/ToolContextMapper.html":{}}}],["contextparameter",{"_index":8230,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["contextreadwithtopiccreate",{"_index":15405,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["contextref",{"_index":6641,"title":{"classes/ContextRef.html":{}},"body":{"classes/ContextExternalTool.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolRequestMapper.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ContextRef.html":{},"injectables/FeathersRosterService.html":{},"injectables/ToolReferenceUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["contextref.id",{"_index":11342,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["contextrefparams",{"_index":7038,"title":{"classes/ContextRefParams.html":{}},"body":{"classes/ContextRefParams.html":{},"controllers/ToolConfigurationController.html":{}}}],["contexttoolid",{"_index":6873,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{}}}],["contexttoolrepo",{"_index":10394,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{},"injectables/SchoolExternalToolMetadataService.html":{}}}],["contexttype",{"_index":5452,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ContextRefParams.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolMetadataService.html":{},"classes/GlobalErrorFilter.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenUC.html":{},"controllers/ToolContextController.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceUc.html":{}}}],["continuationtoken",{"_index":19379,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["continue",{"_index":24953,"title":{},"body":{"license.html":{}}}],["continued",{"_index":24937,"title":{},"body":{"license.html":{}}}],["contractual",{"_index":24987,"title":{},"body":{"license.html":{}}}],["contradict",{"_index":25114,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["contrast",{"_index":24658,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["contributor",{"_index":25057,"title":{},"body":{"license.html":{}}}],["contributor's",{"_index":25059,"title":{},"body":{"license.html":{}}}],["control",{"_index":22788,"title":{},"body":{"controllers/ToolController.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["controlled",{"_index":25062,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["controlledids",{"_index":22469,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["controller",{"_index":314,"title":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"controllers/DashboardController.html":{},"controllers/DatabaseManagementController.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/FileSecurityController.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/ImportUserController.html":{},"controllers/KeycloakManagementController.html":{},"controllers/LessonController.html":{},"controllers/LoginController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/NewsController.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"controllers/PseudonymController.html":{},"controllers/RoomsController.html":{},"controllers/ServerController.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"controllers/SystemController.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"controllers/TldrawController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}},"body":{"controllers/AccountController.html":{},"modules/BoardApiModule.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"controllers/DashboardController.html":{},"controllers/DatabaseManagementController.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/FileSecurityController.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"controllers/FwuLearningContentsController.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorTestModule.html":{},"controllers/ImportUserController.html":{},"controllers/KeycloakManagementController.html":{},"modules/LessonApiModule.html":{},"controllers/LessonController.html":{},"controllers/LoginController.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/NewsController.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"controllers/PseudonymController.html":{},"controllers/RoomsController.html":{},"controllers/ServerController.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"controllers/SystemController.html":{},"modules/TaskApiModule.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"injectables/TimeoutInterceptor.html":{},"controllers/TldrawController.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"modules/UserApiModule.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"modules/VideoConferenceModule.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["controller('account",{"_index":399,"title":{},"body":{"controllers/AccountController.html":{}}}],["controller('authentication",{"_index":15763,"title":{},"body":{"controllers/LoginController.html":{}}}],["controller('board",{"_index":4042,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["controller('boards",{"_index":3231,"title":{},"body":{"controllers/BoardController.html":{}}}],["controller('cards",{"_index":4378,"title":{},"body":{"controllers/CardController.html":{}}}],["controller('collaborative",{"_index":5078,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["controller('columns",{"_index":5616,"title":{},"body":{"controllers/ColumnController.html":{}}}],["controller('courses",{"_index":7539,"title":{},"body":{"controllers/CourseController.html":{}}}],["controller('dashboard",{"_index":8308,"title":{},"body":{"controllers/DashboardController.html":{}}}],["controller('deletionexecutions",{"_index":9080,"title":{},"body":{"controllers/DeletionExecutionsController.html":{}}}],["controller('deletionrequests",{"_index":9456,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["controller('elements",{"_index":9731,"title":{},"body":{"controllers/ElementController.html":{}}}],["controller('fwu",{"_index":12397,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["controller('groups",{"_index":12691,"title":{},"body":{"controllers/GroupController.html":{}}}],["controller('h5p",{"_index":13136,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["controller('lessons",{"_index":15372,"title":{},"body":{"controllers/LessonController.html":{}}}],["controller('management/database",{"_index":8761,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["controller('management/idm",{"_index":14770,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["controller('meta",{"_index":16159,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["controller('news",{"_index":16431,"title":{},"body":{"controllers/NewsController.html":{}}}],["controller('oauth2",{"_index":17270,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["controller('pseudonyms",{"_index":18161,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["controller('rooms",{"_index":19164,"title":{},"body":{"controllers/RoomsController.html":{}}}],["controller('sharetoken",{"_index":20306,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["controller('sso",{"_index":17466,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["controller('submissions",{"_index":20741,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["controller('systems",{"_index":21042,"title":{},"body":{"controllers/SystemController.html":{}}}],["controller('tasks",{"_index":21393,"title":{},"body":{"controllers/TaskController.html":{}}}],["controller('team",{"_index":21911,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["controller('tldraw",{"_index":22310,"title":{},"body":{"controllers/TldrawController.html":{}}}],["controller('tools",{"_index":22629,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolLaunchController.html":{}}}],["controller('tools/context",{"_index":22703,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["controller('tools/external",{"_index":22760,"title":{},"body":{"controllers/ToolController.html":{}}}],["controller('tools/school",{"_index":23049,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["controller('tools/tool",{"_index":22969,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["controller('user",{"_index":23193,"title":{},"body":{"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["controller('user/import",{"_index":13875,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["controller('videoconference",{"_index":24159,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["controller('videoconference2",{"_index":24049,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["controller.ts",{"_index":25515,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["controller/account.controller",{"_index":282,"title":{},"body":{"modules/AccountApiModule.html":{}}}],["controller/api",{"_index":25807,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["controller/course.controller",{"_index":15083,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["controller/dashboard.controller",{"_index":15084,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["controller/database",{"_index":16081,"title":{},"body":{"modules/ManagementModule.html":{}}}],["controller/deletion",{"_index":8936,"title":{},"body":{"modules/DeletionApiModule.html":{}}}],["controller/dto",{"_index":837,"title":{},"body":{"classes/AccountResponseMapper.html":{},"classes/BoardTaskStatusMapper.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CourseMapper.html":{},"classes/DashboardMapper.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"injectables/ElementUc.html":{},"classes/ExternalToolMetadataMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{},"interfaces/GetFileResponse.html":{},"injectables/HydraOauthUc.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"classes/NewsMapper.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileParams.html":{},"injectables/PreviewService.html":{},"classes/PseudonymMapper.html":{},"classes/ResolvedUserMapper.html":{},"classes/RoleNameMapper.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolService.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenResponseMapper.html":{},"classes/SubmissionMapper.html":{},"classes/TaskMapper.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolStatusResponseMapper.html":{},"classes/UserInfoMapper.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserMatchMapper.html":{},"injectables/UserUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["controller/dto/filter",{"_index":23721,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["controller/dto/h5p",{"_index":22071,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["controller/dto/password",{"_index":857,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["controller/dto/response/video",{"_index":24256,"title":{},"body":{"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["controller/dto/school",{"_index":20047,"title":{},"body":{"classes/SchoolToolConfigurationStatusResponseMapper.html":{}}}],["controller/dto/single",{"_index":19060,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["controller/dto/target",{"_index":21233,"title":{},"body":{"classes/TargetInfoMapper.html":{}}}],["controller/dto/task",{"_index":21751,"title":{},"body":{"classes/TaskStatusMapper.html":{}}}],["controller/dto/team",{"_index":5157,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["controller/fwu",{"_index":12424,"title":{},"body":{"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{}}}],["controller/h5p",{"_index":13227,"title":{},"body":{"modules/H5PEditorModule.html":{}}}],["controller/import",{"_index":14013,"title":{},"body":{"modules/ImportUserModule.html":{}}}],["controller/keycloak",{"_index":14439,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["controller/news.controller",{"_index":16528,"title":{},"body":{"modules/NewsModule.html":{}}}],["controller/oauth",{"_index":16966,"title":{},"body":{"modules/OauthApiModule.html":{},"modules/OauthProviderApiModule.html":{}}}],["controller/pseudonym.controller",{"_index":18146,"title":{},"body":{"modules/PseudonymApiModule.html":{}}}],["controller/rooms.controller",{"_index":15085,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["controller/server.controller",{"_index":20191,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["controller/share",{"_index":20518,"title":{},"body":{"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["controller/team",{"_index":16529,"title":{},"body":{"modules/NewsModule.html":{}}}],["controller/tldraw.controller",{"_index":22340,"title":{},"body":{"modules/TldrawModule.html":{}}}],["controller/transformer/sanitize",{"_index":18822,"title":{},"body":{"classes/RichText.html":{}}}],["controller/user",{"_index":23392,"title":{},"body":{"modules/UserLoginMigrationApiModule.html":{}}}],["controllers",{"_index":274,"title":{},"body":{"modules/AccountApiModule.html":{},"controllers/AccountController.html":{},"modules/AuthenticationApiModule.html":{},"modules/BoardApiModule.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"controllers/DashboardController.html":{},"controllers/DatabaseManagementController.html":{},"modules/DeletionApiModule.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/FileSecurityController.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageTestModule.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"controllers/ImportUserController.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"controllers/KeycloakManagementController.html":{},"modules/LearnroomApiModule.html":{},"modules/LessonApiModule.html":{},"controllers/LessonController.html":{},"controllers/LoginController.html":{},"modules/ManagementModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/NewsController.html":{},"modules/NewsModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthProviderApiModule.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"controllers/RoomsController.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"controllers/ShareTokenController.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"controllers/SubmissionController.html":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"modules/TaskApiModule.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"modules/TeamsApiModule.html":{},"controllers/TldrawController.html":{},"modules/TldrawModule.html":{},"modules/ToolApiModule.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"modules/UserApiModule.html":{},"controllers/UserController.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["controllers/dto",{"_index":15042,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/Oauth2Strategy.html":{}}}],["controllers/login.controller",{"_index":1489,"title":{},"body":{"modules/AuthenticationApiModule.html":{}}}],["convenient",{"_index":24748,"title":{},"body":{"license.html":{}}}],["convention",{"_index":25646,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["conventions",{"_index":25499,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["conversion",{"_index":643,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["convert",{"_index":611,"title":{},"body":{"injectables/AccountLookupService.html":{},"interfaces/CollectionFilePath.html":{}}}],["converted",{"_index":642,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["convertedteamuserids",{"_index":16749,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["convertedteamuserids.filter((userid",{"_index":16763,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["convertedteamuserids.filter(boolean",{"_index":16756,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["convertedteamuserids.includes(userid",{"_index":16759,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["converter/bson.converter",{"_index":5179,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"modules/ManagementModule.html":{}}}],["converterutil",{"_index":2337,"title":{"injectables/ConverterUtil.html":{}},"body":{"injectables/BBBService.html":{},"injectables/ConverterUtil.html":{},"modules/VideoConferenceModule.html":{}}}],["converts",{"_index":639,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["converttodatabasevalue",{"_index":20582,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["converttodatabasevalue(value",{"_index":20587,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["converttojsvalue",{"_index":20583,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["converttojsvalue(value",{"_index":20589,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["convey",{"_index":24737,"title":{},"body":{"license.html":{}}}],["conveyance",{"_index":25092,"title":{},"body":{"license.html":{}}}],["conveyed",{"_index":24948,"title":{},"body":{"license.html":{}}}],["conveying",{"_index":24743,"title":{},"body":{"license.html":{}}}],["conveys",{"_index":24986,"title":{},"body":{"license.html":{}}}],["cookie",{"_index":13504,"title":{},"body":{"injectables/HydraSsoService.html":{},"classes/JwtExtractor.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["cookie.parse(request.headers.cookie",{"_index":14285,"title":{},"body":{"classes/JwtExtractor.html":{}}}],["cookie.startswith('oauth2",{"_index":13520,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["cookies",{"_index":13431,"title":{},"body":{"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"classes/JwtExtractor.html":{}}}],["cookies[name",{"_index":14286,"title":{},"body":{"classes/JwtExtractor.html":{}}}],["cookiesdto",{"_index":7051,"title":{"classes/CookiesDto.html":{}},"body":{"classes/CookiesDto.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{}}}],["cooperation",{"_index":24651,"title":{},"body":{"license.html":{}}}],["copied",{"_index":1562,"title":{},"body":{"modules/AuthenticationModule.html":{},"classes/CopyApiResponse.html":{},"injectables/CopyFilesService.html":{},"classes/LessonCopyApiParams.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/TaskCopyApiParams.html":{}}}],["copies",{"_index":18443,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{},"license.html":{}}}],["copies.push(childcopy",{"_index":18446,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy",{"_index":2617,"title":{},"body":{"classes/BaseFactory.html":{},"injectables/BoardDoCopyService.html":{},"modules/BoardModule.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"injectables/CourseCopyService.html":{},"interfaces/FileDO.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/ShareTokenUC.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyUC.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["copy(original",{"_index":18363,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy(params",{"_index":3589,"title":{},"body":{"injectables/BoardDoCopyService.html":{}}}],["copy(paths",{"_index":19294,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copy(userid",{"_index":11766,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["copy.id",{"_index":18412,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.imageurl",{"_index":18426,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.imageurl.includes(copyfiledto.sourceid",{"_index":18425,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.imageurl.replace(copyfiledto.sourceid",{"_index":18427,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.interface",{"_index":3596,"title":{},"body":{"injectables/BoardDoCopyService.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["copy.interface.ts",{"_index":20026,"title":{},"body":{"interfaces/SchoolSpecificFileCopyService.html":{}}}],["copy.interface.ts:18",{"_index":20029,"title":{},"body":{"interfaces/SchoolSpecificFileCopyService.html":{}}}],["copy.params",{"_index":7323,"title":{},"body":{"classes/CopyMapper.html":{},"controllers/TaskController.html":{}}}],["copy.params.ts",{"_index":15377,"title":{},"body":{"classes/LessonCopyApiParams.html":{},"classes/TaskCopyApiParams.html":{}}}],["copy.params.ts:14",{"_index":15378,"title":{},"body":{"classes/LessonCopyApiParams.html":{},"classes/TaskCopyApiParams.html":{}}}],["copy.params.ts:22",{"_index":21412,"title":{},"body":{"classes/TaskCopyApiParams.html":{}}}],["copy.service",{"_index":3295,"title":{},"body":{"injectables/BoardCopyService.html":{},"modules/BoardModule.html":{},"injectables/CourseCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{}}}],["copy.service.ts",{"_index":3253,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/BoardDoCopyService.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/CourseCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/TaskCopyService.html":{}}}],["copy.service.ts:112",{"_index":3279,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:120",{"_index":3282,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:128",{"_index":3277,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:14",{"_index":3591,"title":{},"body":{"injectables/BoardDoCopyService.html":{}}}],["copy.service.ts:143",{"_index":3286,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:15",{"_index":20040,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["copy.service.ts:16",{"_index":5418,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"injectables/CourseCopyService.html":{}}}],["copy.service.ts:164",{"_index":3292,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:177",{"_index":3289,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:18",{"_index":21417,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copy.service.ts:25",{"_index":5420,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"injectables/TaskCopyService.html":{}}}],["copy.service.ts:26",{"_index":7562,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copy.service.ts:36",{"_index":3268,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:42",{"_index":21422,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copy.service.ts:46",{"_index":3271,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:57",{"_index":7565,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copy.service.ts:63",{"_index":21427,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copy.service.ts:70",{"_index":21425,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copy.service.ts:73",{"_index":7571,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copy.service.ts:78",{"_index":3274,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:79",{"_index":7568,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copy.service.ts:9",{"_index":20039,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["copy.uc",{"_index":19160,"title":{},"body":{"controllers/RoomsController.html":{},"controllers/TaskController.html":{}}}],["copy.uc.ts",{"_index":7611,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:104",{"_index":21470,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:11",{"_index":7614,"title":{},"body":{"injectables/CourseCopyUC.html":{}}}],["copy.uc.ts:114",{"_index":21460,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:12",{"_index":15383,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["copy.uc.ts:13",{"_index":21454,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:17",{"_index":7617,"title":{},"body":{"injectables/CourseCopyUC.html":{}}}],["copy.uc.ts:21",{"_index":15390,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["copy.uc.ts:23",{"_index":21462,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:28",{"_index":7615,"title":{},"body":{"injectables/CourseCopyUC.html":{}}}],["copy.uc.ts:55",{"_index":15388,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["copy.uc.ts:63",{"_index":15385,"title":{},"body":{"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:68",{"_index":15386,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["copy.uc.ts:71",{"_index":21456,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:76",{"_index":21459,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:83",{"_index":21465,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:94",{"_index":21468,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.visitor",{"_index":3594,"title":{},"body":{"injectables/BoardDoCopyService.html":{}}}],["copy.visitor.ts",{"_index":18354,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:127",{"_index":18378,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:145",{"_index":18384,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:192",{"_index":18386,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:211",{"_index":18388,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:22",{"_index":18362,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:229",{"_index":18390,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:238",{"_index":18380,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:24",{"_index":18361,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:256",{"_index":18372,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:260",{"_index":18368,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:273",{"_index":18366,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:28",{"_index":18364,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:39",{"_index":18376,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:60",{"_index":18374,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:78",{"_index":18370,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:97",{"_index":18382,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy_files_of_parent",{"_index":7087,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{}}}],["copyapiresponse",{"_index":7061,"title":{"classes/CopyApiResponse.html":{}},"body":{"classes/CopyApiResponse.html":{},"classes/CopyMapper.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{}}}],["copyapiresponse})@apiresponse({status",{"_index":20290,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["copyboard",{"_index":3254,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copyboard(params",{"_index":3269,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copyboardelements",{"_index":3255,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copyboardelements(boardelements",{"_index":3272,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copycolumnboard",{"_index":3256,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ColumnBoardCopyService.html":{}}}],["copycolumnboard(columnboardtarget",{"_index":3276,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copycolumnboard(props",{"_index":5419,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["copycourse",{"_index":7555,"title":{},"body":{"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"controllers/RoomsController.html":{},"injectables/ShareTokenUC.html":{}}}],["copycourse(currentuser",{"_index":19144,"title":{},"body":{"controllers/RoomsController.html":{}}}],["copycourse(undefined",{"_index":7561,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copycourse(userid",{"_index":7616,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/ShareTokenUC.html":{}}}],["copycourseentity",{"_index":7556,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copycourseentity(params",{"_index":7563,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copydict",{"_index":3369,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copydictionary",{"_index":7277,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["copyelementtype",{"_index":3296,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/CopyApiResponse.html":{},"injectables/CopyFilesService.html":{},"injectables/CourseCopyService.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/TaskCopyService.html":{}}}],["copyelementtype.board",{"_index":3315,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copyelementtype.card",{"_index":18404,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.column",{"_index":18402,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.columnboard",{"_index":18399,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.content",{"_index":21443,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copyelementtype.course",{"_index":7608,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copyelementtype.coursegroup_group",{"_index":7605,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copyelementtype.drawing_element",{"_index":18420,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.external_tool_element",{"_index":18435,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.file",{"_index":7255,"title":{},"body":{"injectables/CopyFilesService.html":{},"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.file_element",{"_index":18418,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.file_group",{"_index":7260,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["copyelementtype.lesson",{"_index":3375,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copyelementtype.link_element",{"_index":18423,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.ltitool_group",{"_index":7600,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copyelementtype.metadata",{"_index":7598,"title":{},"body":{"injectables/CourseCopyService.html":{},"injectables/TaskCopyService.html":{}}}],["copyelementtype.richtext_element",{"_index":18431,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.submission_container_element",{"_index":18433,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.submission_group",{"_index":21444,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copyelementtype.submission_item",{"_index":18434,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.task",{"_index":21446,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copyelementtype.time_group",{"_index":7601,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copyelementtype.user_group",{"_index":7599,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copyentity",{"_index":3317,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CopyFilesService.html":{},"classes/CopyMapper.html":{},"injectables/CourseCopyService.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/TaskCopyService.html":{}}}],["copyentity.course?.id",{"_index":7335,"title":{},"body":{"classes/CopyMapper.html":{}}}],["copyentity.id",{"_index":7333,"title":{},"body":{"classes/CopyMapper.html":{}}}],["copyfiledo",{"_index":7080,"title":{"interfaces/CopyFileDO.html":{}},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{}}}],["copyfiledomainobjectprops",{"_index":7101,"title":{"interfaces/CopyFileDomainObjectProps.html":{}},"body":{"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/FilesStorageClientMapper.html":{}}}],["copyfiledto",{"_index":7105,"title":{"classes/CopyFileDto.html":{}},"body":{"classes/CopyFileDto.html":{},"injectables/CopyFilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["copyfiledto.id",{"_index":18415,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyfiledto.name",{"_index":18416,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyfiledto.sourceid",{"_index":18417,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyfilelistresponse",{"_index":7115,"title":{"classes/CopyFileListResponse.html":{}},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FilesStorageClientMapper.html":{}}}],["copyfilelistresponse.map((response",{"_index":12177,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["copyfileparams",{"_index":7146,"title":{"classes/CopyFileParams.html":{}},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["copyfileresponse",{"_index":7118,"title":{"classes/CopyFileResponse.html":{}},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["copyfileresponsebuilder",{"_index":7180,"title":{"classes/CopyFileResponseBuilder.html":{}},"body":{"classes/CopyFileResponseBuilder.html":{}}}],["copyfiles",{"_index":7185,"title":{"interfaces/CopyFiles.html":{}},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{}}}],["copyfilesofentity",{"_index":7220,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["copyfilesofentity(originalentity",{"_index":7226,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["copyfilesofparent",{"_index":12133,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["copyfilesofparent(param",{"_index":12139,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["copyfilesofparent(params",{"_index":20027,"title":{},"body":{"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["copyfilesofparent(payload",{"_index":12206,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{}}}],["copyfilesofparent:finished",{"_index":12316,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["copyfilesofparent:started",{"_index":12314,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["copyfilesofparentparambuilder",{"_index":7204,"title":{"classes/CopyFilesOfParentParamBuilder.html":{}},"body":{"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/CopyFilesService.html":{}}}],["copyfilesofparentparambuilder.build(userid",{"_index":7241,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["copyfilesofparentparams",{"_index":7096,"title":{"classes/CopyFilesOfParentParams.html":{}},"body":{"interfaces/CopyFileDO.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"injectables/CopyFilesService.html":{},"classes/DownloadFileParams.html":{},"interfaces/FileDO.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"injectables/FilesStorageProducer.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["copyfilesofparentpayload",{"_index":7166,"title":{"classes/CopyFilesOfParentPayload.html":{}},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"injectables/FilesStorageConsumer.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["copyfilesrequestinfo",{"_index":7210,"title":{"interfaces/CopyFilesRequestInfo.html":{}},"body":{"classes/CopyFilesOfParentParamBuilder.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/FilesStorageClientAdapterService.html":{}}}],["copyfilesservice",{"_index":7217,"title":{"injectables/CopyFilesService.html":{}},"body":{"injectables/CopyFilesService.html":{},"modules/FilesStorageClientModule.html":{},"injectables/TaskCopyService.html":{}}}],["copyhelpermodule",{"_index":7262,"title":{"modules/CopyHelperModule.html":{}},"body":{"modules/CopyHelperModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LessonModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{}}}],["copyhelperservice",{"_index":3267,"title":{"injectables/CopyHelperService.html":{}},"body":{"injectables/BoardCopyService.html":{},"injectables/CopyFilesService.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"injectables/CourseCopyService.html":{},"injectables/LessonCopyUC.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["copying",{"_index":7744,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"license.html":{}}}],["copyingsince",{"_index":7394,"title":{},"body":{"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"classes/UsersList.html":{}}}],["copyleft",{"_index":24647,"title":{},"body":{"license.html":{}}}],["copylesson",{"_index":3257,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/LessonCopyUC.html":{},"controllers/RoomsController.html":{},"injectables/ShareTokenUC.html":{}}}],["copylesson(currentuser",{"_index":19147,"title":{},"body":{"controllers/RoomsController.html":{}}}],["copylesson(originallesson",{"_index":3278,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copylesson(userid",{"_index":15389,"title":{},"body":{"injectables/LessonCopyUC.html":{},"injectables/ShareTokenUC.html":{}}}],["copymap",{"_index":18355,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copymapper",{"_index":7308,"title":{"classes/CopyMapper.html":{}},"body":{"classes/CopyMapper.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{}}}],["copymapper.maplessoncopytodomain(params",{"_index":19179,"title":{},"body":{"controllers/RoomsController.html":{}}}],["copymapper.maptaskcopytodomain(params",{"_index":21409,"title":{},"body":{"controllers/TaskController.html":{}}}],["copymapper.maptoresponse(copystatus",{"_index":19176,"title":{},"body":{"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{}}}],["copymapper.maptoresponse(element",{"_index":7339,"title":{},"body":{"classes/CopyMapper.html":{}}}],["copyname",{"_index":7573,"title":{},"body":{"injectables/CourseCopyService.html":{},"injectables/LessonCopyUC.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["copyobjectcommand",{"_index":19315,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copyobjectcommandoutput",{"_index":19316,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copypaths",{"_index":19352,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copypaths.map((p",{"_index":19362,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copyprops",{"_index":1774,"title":{},"body":{"interfaces/AuthorizableObject.html":{},"classes/DomainObject.html":{}}}],["copyrequest",{"_index":19356,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copyrequests",{"_index":19366,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copyright",{"_index":24637,"title":{},"body":{"license.html":{}}}],["copyrightable",{"_index":24711,"title":{},"body":{"license.html":{}}}],["copyrighted",{"_index":24799,"title":{},"body":{"license.html":{}}}],["copyrightowners",{"_index":5737,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["copysource",{"_index":19368,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copystatus",{"_index":3285,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/BoardDoCopyService.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/LessonCopyUC.html":{},"classes/RecursiveCopyVisitor.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["copystatus.copyentity",{"_index":7331,"title":{},"body":{"classes/CopyMapper.html":{}}}],["copystatus.copyentity.context",{"_index":5439,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["copystatus.elements",{"_index":7336,"title":{},"body":{"classes/CopyMapper.html":{}}}],["copystatus.status",{"_index":7330,"title":{},"body":{"classes/CopyMapper.html":{}}}],["copystatus.title",{"_index":7328,"title":{},"body":{"classes/CopyMapper.html":{}}}],["copystatus.type",{"_index":7329,"title":{},"body":{"classes/CopyMapper.html":{}}}],["copystatusenum",{"_index":3297,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/CopyApiResponse.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"injectables/CourseCopyService.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/TaskCopyService.html":{}}}],["copystatusenum.fail",{"_index":3325,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/RecursiveCopyVisitor.html":{}}}],["copystatusenum.not_doing",{"_index":7290,"title":{},"body":{"injectables/CopyHelperService.html":{},"injectables/CourseCopyService.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/TaskCopyService.html":{}}}],["copystatusenum.not_implemented",{"_index":7606,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copystatusenum.partial",{"_index":7285,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["copystatusenum.success",{"_index":7256,"title":{},"body":{"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"injectables/CourseCopyService.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/TaskCopyService.html":{}}}],["copytask",{"_index":3258,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ShareTokenUC.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["copytask(currentuser",{"_index":21366,"title":{},"body":{"controllers/TaskController.html":{}}}],["copytask(originaltask",{"_index":3281,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copytask(params",{"_index":21418,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copytask(userid",{"_index":20458,"title":{},"body":{"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{}}}],["copytaskentity",{"_index":21414,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copytaskentity(params",{"_index":21420,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["core",{"_index":7352,"title":{},"body":{"modules/CoreModule.html":{},"classes/FileMetadata.html":{},"controllers/H5PEditorController.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"dependencies.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["core.autocrlf",{"_index":25850,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["core/error",{"_index":25609,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["core/logger/logger.module",{"_index":280,"title":{},"body":{"modules/AccountApiModule.html":{}}}],["coreapi",{"_index":11613,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["coremodule",{"_index":7344,"title":{"modules/CoreModule.html":{}},"body":{"modules/CoreModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["coremoduleconfig",{"_index":7365,"title":{"interfaces/CoreModuleConfig.html":{}},"body":{"interfaces/CoreModuleConfig.html":{},"interfaces/FileStorageConfig.html":{},"interfaces/ServerConfig.html":{}}}],["correct",{"_index":5066,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"classes/CreateNewsParams.html":{},"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["correction",{"_index":25157,"title":{},"body":{"license.html":{}}}],["correctly",{"_index":1225,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["correctness",{"_index":25401,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["corresponding",{"_index":15794,"title":{},"body":{"classes/LoginResponse-1.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["cors",{"_index":24476,"title":{},"body":{"dependencies.html":{}}}],["cost",{"_index":24886,"title":{},"body":{"license.html":{}}}],["count",{"_index":2920,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"interfaces/CleanOptions.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/FileRecordRepo.html":{},"controllers/ImportUserController.html":{},"injectables/ImportUserRepo.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"interfaces/MigrationOptions.html":{},"controllers/NewsController.html":{},"injectables/NewsRepo.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"interfaces/RetryOptions.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"controllers/TeamNewsController.html":{},"injectables/UserRepo.html":{}}}],["counted",{"_index":98,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/FileRecordRepo.html":{},"classes/IdentityManagementService.html":{},"injectables/ImportUserRepo.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/UserRepo.html":{}}}],["countedimportusers",{"_index":14052,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["countednewslist",{"_index":16550,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["countedtasklist",{"_index":21622,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["counterclaim",{"_index":25049,"title":{},"body":{"license.html":{}}}],["counties",{"_index":7381,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["countpercontext",{"_index":10410,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{},"injectables/SchoolExternalToolMetadataService.html":{}}}],["countpipeline",{"_index":23828,"title":{},"body":{"injectables/UserRepo.html":{}}}],["countpipeline.push",{"_index":23829,"title":{},"body":{"injectables/UserRepo.html":{}}}],["countries",{"_index":24734,"title":{},"body":{"license.html":{}}}],["country",{"_index":25085,"title":{},"body":{"license.html":{}}}],["counts",{"_index":7742,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{}}}],["county",{"_index":7369,"title":{"classes/County.html":{}},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["county.antareskey",{"_index":7386,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["county.countyid",{"_index":7384,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["county.name",{"_index":7382,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["countyid",{"_index":7373,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["coupling",{"_index":25494,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["course",{"_index":2032,"title":{"entities/Course.html":{}},"body":{"injectables/AutoContextNameStrategy.html":{},"entities/Board.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardExternalReference.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardRepo.html":{},"injectables/BoardUrlHandler.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"interfaces/CreateNews.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DtoCreator.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"interfaces/ParentInfo.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RoomsUc.html":{},"entities/SchoolNews.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenImportBodyParams.html":{},"injectables/ShareTokenUC.html":{},"entities/Task.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"interfaces/TaskStatus.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{},"modules/TldrawTestModule.html":{},"injectables/ToolPermissionHelper.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"classes/UsersList.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["course.createdat.getfullyear().tostring",{"_index":5740,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["course.description",{"_index":26020,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["course.entity",{"_index":2937,"title":{},"body":{"entities/Board.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{}}}],["course.extractids(this.students",{"_index":7477,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["course.extractids(this.substitutionteachers",{"_index":7481,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["course.extractids(this.teachers",{"_index":7478,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["course.extractuserlist(users",{"_index":7489,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["course.factory",{"_index":7683,"title":{},"body":{"classes/CourseGroupFactory.html":{},"classes/LessonFactory.html":{}}}],["course.getmetadata",{"_index":7726,"title":{},"body":{"classes/CourseMapper.html":{}}}],["course.getstudentslist().map((user",{"_index":3439,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["course.getsubstitutionteacherslist().map((user",{"_index":3437,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["course.getteacherslist().map((user",{"_index":3432,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["course.id",{"_index":11300,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["course.name",{"_index":2047,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseUrlHandler.html":{},"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["course.removeuser(userid",{"_index":7877,"title":{},"body":{"injectables/CourseService.html":{}}}],["course.rule",{"_index":7702,"title":{},"body":{"injectables/CourseGroupRule.html":{},"injectables/LessonRule.html":{},"injectables/TaskRule.html":{}}}],["course.school",{"_index":26018,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["course.school.id",{"_index":5433,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["course.service",{"_index":5735,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["course.students.contains(user",{"_index":19129,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["course.students.length",{"_index":11301,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["course.students.loaditems",{"_index":11307,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["course.substitutionteachers.contains(user",{"_index":19127,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["course.substitutionteachers.loaditems",{"_index":11309,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["course.teachers",{"_index":5783,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["course.teachers.contains(user",{"_index":19128,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["course.teachers.loaditems",{"_index":11308,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["coursecolumnboardtargets",{"_index":19193,"title":{},"body":{"injectables/RoomsService.html":{}}}],["coursecontroller",{"_index":7516,"title":{"controllers/CourseController.html":{}},"body":{"controllers/CourseController.html":{},"modules/LearnroomApiModule.html":{}}}],["coursecopy",{"_index":7567,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["coursecopy.copyingsince",{"_index":7596,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["coursecopy.name",{"_index":7607,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["coursecopyparams",{"_index":7564,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["coursecopyservice",{"_index":7553,"title":{"injectables/CourseCopyService.html":{}},"body":{"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"modules/LearnroomModule.html":{},"injectables/ShareTokenUC.html":{}}}],["coursecopyuc",{"_index":7609,"title":{"injectables/CourseCopyUC.html":{}},"body":{"injectables/CourseCopyUC.html":{},"modules/LearnroomApiModule.html":{},"controllers/RoomsController.html":{}}}],["courseexportservice",{"_index":7630,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["courseexportuc",{"_index":7532,"title":{"injectables/CourseExportUc.html":{}},"body":{"controllers/CourseController.html":{},"injectables/CourseExportUc.html":{},"modules/LearnroomApiModule.html":{}}}],["coursefactory",{"_index":7637,"title":{"classes/CourseFactory.html":{}},"body":{"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/LessonFactory.html":{}}}],["coursefactory.build",{"_index":7685,"title":{},"body":{"classes/CourseGroupFactory.html":{},"classes/LessonFactory.html":{}}}],["coursefactory.define(course",{"_index":7658,"title":{},"body":{"classes/CourseFactory.html":{}}}],["coursefeatures",{"_index":7413,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["coursegroup",{"_index":6163,"title":{"entities/CourseGroup.html":{}},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"interfaces/CourseProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRule.html":{},"injectables/LessonUC.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"classes/UsersList.html":{}}}],["coursegroup.course",{"_index":15453,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["coursegroup.entity",{"_index":6164,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"classes/UsersList.html":{}}}],["coursegroup.removestudent(userid",{"_index":7718,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["coursegroupfactory",{"_index":7680,"title":{"classes/CourseGroupFactory.html":{}},"body":{"classes/CourseGroupFactory.html":{}}}],["coursegroupfactory.define(coursegroup",{"_index":7684,"title":{},"body":{"classes/CourseGroupFactory.html":{}}}],["coursegroupid",{"_index":6190,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["coursegroupmemberids",{"_index":20663,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["coursegrouppermission",{"_index":15465,"title":{},"body":{"injectables/LessonRule.html":{}}}],["coursegrouppermission(user",{"_index":15471,"title":{},"body":{"injectables/LessonRule.html":{}}}],["coursegroupproperties",{"_index":7670,"title":{"interfaces/CourseGroupProperties.html":{}},"body":{"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{}}}],["coursegrouprepo",{"_index":1909,"title":{"injectables/CourseGroupRepo.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"modules/LearnroomModule.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["coursegrouprule",{"_index":1867,"title":{"injectables/CourseGroupRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/CourseGroupRule.html":{},"injectables/LessonRule.html":{},"injectables/RuleManager.html":{}}}],["coursegroups",{"_index":7395,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["coursegroups.foreach((coursegroup",{"_index":7717,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["coursegroupservice",{"_index":7706,"title":{"injectables/CourseGroupService.html":{}},"body":{"injectables/CourseGroupService.html":{},"modules/LearnroomModule.html":{}}}],["coursegroupsexist",{"_index":7602,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["coursegroupsofuser",{"_index":20900,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["courseid",{"_index":2026,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"entities/Board.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardRepo.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/CopyMapper.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"classes/CourseUrlParams.html":{},"injectables/EtherpadService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/ITask.html":{},"classes/LessonCopyApiParams.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/ShareTokenUC.html":{},"entities/Task.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["courseids",{"_index":7690,"title":{},"body":{"injectables/CourseGroupRepo.html":{},"injectables/LessonRepo.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{}}}],["courselessons",{"_index":19190,"title":{},"body":{"injectables/RoomsService.html":{}}}],["coursemapper",{"_index":7530,"title":{"classes/CourseMapper.html":{}},"body":{"controllers/CourseController.html":{},"classes/CourseMapper.html":{}}}],["coursemapper.maptometadataresponse(course",{"_index":7543,"title":{},"body":{"controllers/CourseController.html":{}}}],["coursemetadata",{"_index":7725,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadata.copyingsince",{"_index":7733,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadata.displaycolor",{"_index":7730,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadata.id",{"_index":7727,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadata.shorttitle",{"_index":7729,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadata.startdate",{"_index":7731,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadata.title",{"_index":7728,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadata.untildate",{"_index":7732,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadatalistresponse",{"_index":7537,"title":{"classes/CourseMetadataListResponse.html":{}},"body":{"controllers/CourseController.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{}}}],["coursemetadatalistresponse(courseresponses",{"_index":7544,"title":{},"body":{"controllers/CourseController.html":{}}}],["coursemetadataresponse",{"_index":7724,"title":{"classes/CourseMetadataResponse.html":{}},"body":{"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{}}}],["coursename",{"_index":2054,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"entities/Task.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"classes/TaskResponse.html":{},"classes/TaskWithStatusVo.html":{}}}],["coursenews",{"_index":7756,"title":{"entities/CourseNews.html":{}},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["coursenews(props",{"_index":7788,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["coursepermission",{"_index":15466,"title":{},"body":{"injectables/LessonRule.html":{}}}],["coursepermission(user",{"_index":15473,"title":{},"body":{"injectables/LessonRule.html":{}}}],["courseproperties",{"_index":7441,"title":{"interfaces/CourseProperties.html":{}},"body":{"entities/Course.html":{},"classes/CourseFactory.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["coursequeryparams",{"_index":7521,"title":{"classes/CourseQueryParams.html":{}},"body":{"controllers/CourseController.html":{},"classes/CourseQueryParams.html":{}}}],["coursereference",{"_index":5474,"title":{},"body":{"injectables/ColumnBoardService.html":{},"injectables/RoomsService.html":{}}}],["courserepo",{"_index":1910,"title":{"injectables/CourseRepo.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/BoardDoAuthorizableService.html":{},"modules/BoardModule.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/DashboardUc.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LessonCopyUC.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/RoomsUc.html":{},"modules/TaskApiModule.html":{},"injectables/TaskCopyUC.html":{},"modules/TaskModule.html":{},"injectables/TaskUC.html":{}}}],["courseresponses",{"_index":7541,"title":{},"body":{"controllers/CourseController.html":{}}}],["courserule",{"_index":1868,"title":{"injectables/CourseRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"injectables/LessonRule.html":{},"injectables/RuleManager.html":{},"injectables/TaskRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["courses",{"_index":5427,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"interfaces/CopyFileDO.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"interfaces/CreateNews.html":{},"injectables/DashboardUc.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/ParentInfo.html":{},"classes/ShareTokenDO.html":{},"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["courses.filter((c",{"_index":21790,"title":{},"body":{"injectables/TaskUC.html":{}}}],["courses.foreach((course",{"_index":7876,"title":{},"body":{"injectables/CourseService.html":{}}}],["courses.map((course",{"_index":7542,"title":{},"body":{"controllers/CourseController.html":{},"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["courses.map(async",{"_index":11333,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["coursescope",{"_index":7822,"title":{"classes/CourseScope.html":{}},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["courseservice",{"_index":2017,"title":{"injectables/CourseService.html":{}},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/CourseService.html":{},"injectables/CourseUrlHandler.html":{},"injectables/FeathersRosterService.html":{},"modules/LearnroomModule.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/ToolPermissionHelper.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["coursestatus",{"_index":7589,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["coursetasks",{"_index":19192,"title":{},"body":{"injectables/RoomsService.html":{}}}],["courseuc",{"_index":7535,"title":{"injectables/CourseUc.html":{}},"body":{"controllers/CourseController.html":{},"injectables/CourseUc.html":{},"modules/LearnroomApiModule.html":{}}}],["courseurlhandler",{"_index":7885,"title":{"injectables/CourseUrlHandler.html":{}},"body":{"injectables/CourseUrlHandler.html":{},"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagInternalUrlService.html":{}}}],["courseurlparams",{"_index":7520,"title":{"classes/CourseUrlParams.html":{}},"body":{"controllers/CourseController.html":{},"classes/CourseUrlParams.html":{}}}],["coursevalue",{"_index":2040,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["court",{"_index":25113,"title":{},"body":{"license.html":{}}}],["courts",{"_index":25177,"title":{},"body":{"license.html":{}}}],["covenant",{"_index":25075,"title":{},"body":{"license.html":{}}}],["cover",{"_index":25641,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["coverage",{"_index":982,"title":{},"body":{"injectables/AccountValidationService.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["covered",{"_index":24721,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["cp",{"_index":25904,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["cr",{"_index":14544,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["create",{"_index":734,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{},"injectables/BaseRepo.html":{},"controllers/BoardController.html":{},"classes/BoardManagementConsole.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardRepo.html":{},"controllers/BoardSubmissionController.html":{},"modules/CacheWrapperModule.html":{},"controllers/CardController.html":{},"injectables/CardService.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardService.html":{},"controllers/ColumnController.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"injectables/EtherpadService.html":{},"interfaces/FeathersService.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/H5PContentRepo.html":{},"classes/IdentityManagementService.html":{},"injectables/ImportUserRepo.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/LegacySchoolDo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"controllers/NewsController.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/OidcProvisioningService.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"injectables/RoleRepo.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"controllers/ShareTokenController.html":{},"injectables/StorageProviderRepo.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"classes/TestBootstrapConsole.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawWsService.html":{},"injectables/UserRepo.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"index.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["create(@currentuser",{"_index":16432,"title":{},"body":{"controllers/NewsController.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["create(config",{"_index":2340,"title":{},"body":{"injectables/BBBService.html":{}}}],["create(context",{"_index":5468,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["create(currentuser",{"_index":16408,"title":{},"body":{"controllers/NewsController.html":{}}}],["create(currentuserid",{"_index":24095,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create(data",{"_index":11348,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["create(deletionlog",{"_index":9170,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["create(deletionrequest",{"_index":9359,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["create(entity",{"_index":759,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TldrawRepo.html":{},"injectables/UserRepo.html":{}}}],["create(parent",{"_index":4452,"title":{},"body":{"injectables/CardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{}}}],["create(path",{"_index":19296,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["create(userid",{"_index":16610,"title":{},"body":{"injectables/NewsUc.html":{},"injectables/SubmissionItemService.html":{}}}],["create.config.ts",{"_index":2156,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:23",{"_index":2175,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:25",{"_index":2169,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:27",{"_index":2173,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:29",{"_index":2171,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:31",{"_index":2176,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:33",{"_index":2170,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:35",{"_index":2174,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:37",{"_index":2168,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:39",{"_index":2172,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:9",{"_index":2167,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.params.ts",{"_index":10176,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/TaskCreateParams.html":{},"classes/VideoConferenceCreateParams.html":{}}}],["create.params.ts:14",{"_index":24072,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["create.params.ts:16",{"_index":21495,"title":{},"body":{"classes/TaskCreateParams.html":{}}}],["create.params.ts:17",{"_index":10184,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{}}}],["create.params.ts:19",{"_index":24080,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["create.params.ts:21",{"_index":15862,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{}}}],["create.params.ts:22",{"_index":10190,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["create.params.ts:25",{"_index":16916,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{},"classes/TaskCreateParams.html":{}}}],["create.params.ts:26",{"_index":15861,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{}}}],["create.params.ts:27",{"_index":10183,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/VideoConferenceCreateParams.html":{}}}],["create.params.ts:30",{"_index":15858,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{}}}],["create.params.ts:33",{"_index":21499,"title":{},"body":{"classes/TaskCreateParams.html":{}}}],["create.params.ts:34",{"_index":15860,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{}}}],["create.params.ts:35",{"_index":16915,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{}}}],["create.params.ts:38",{"_index":15856,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{}}}],["create.params.ts:39",{"_index":16914,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{}}}],["create.params.ts:41",{"_index":21497,"title":{},"body":{"classes/TaskCreateParams.html":{}}}],["create.params.ts:43",{"_index":16918,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{}}}],["create.params.ts:48",{"_index":10181,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["create.params.ts:49",{"_index":21493,"title":{},"body":{"classes/TaskCreateParams.html":{}}}],["create.params.ts:55",{"_index":10186,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["create.params.ts:57",{"_index":21498,"title":{},"body":{"classes/TaskCreateParams.html":{}}}],["create.params.ts:59",{"_index":10182,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["create.params.ts:63",{"_index":10185,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["create.params.ts:69",{"_index":10189,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["create.params.ts:9",{"_index":24071,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["create.response.ts",{"_index":2242,"title":{},"body":{"interfaces/BBBCreateResponse.html":{}}}],["create.uc.ts",{"_index":24087,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create.uc.ts:20",{"_index":24094,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create.uc.ts:27",{"_index":24098,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create.uc.ts:41",{"_index":24096,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create.uc.ts:68",{"_index":24100,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create.uc.ts:89",{"_index":24104,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create.uc.ts:93",{"_index":24102,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create_tokens_for_users=true",{"_index":25927,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["createaccount",{"_index":13728,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["createaccount(account",{"_index":13737,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["createandjoin",{"_index":24145,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["createandjoin(currentuser",{"_index":24146,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["createandstartprometheusmetricsappifenabled",{"_index":18026,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["createapiresponsetimemetricmiddleware",{"_index":18004,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["createauthenticationcodegranttokenrequestpayload",{"_index":22559,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["createauthenticationcodegranttokenrequestpayload(clientid",{"_index":22561,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["createboard",{"_index":3769,"title":{},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{}}}],["createboard(courseid",{"_index":3775,"title":{},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{}}}],["createboardelementfor(boardelementtarget",{"_index":2998,"title":{},"body":{"entities/Board.html":{}}}],["createboardforcourse",{"_index":3952,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["createboardforcourse(courseid",{"_index":3956,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["createbucket",{"_index":19284,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["createbucketcommand",{"_index":19317,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["createcard",{"_index":5592,"title":{},"body":{"controllers/ColumnController.html":{},"injectables/ColumnUc.html":{}}}],["createcard(urlparams",{"_index":5595,"title":{},"body":{"controllers/ColumnController.html":{}}}],["createcard(userid",{"_index":5665,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["createcardbodyparams",{"_index":5597,"title":{"classes/CreateCardBodyParams.html":{}},"body":{"controllers/ColumnController.html":{},"classes/CreateCardBodyParams.html":{}}}],["createcardbodyparams})@post(':columnid/cards",{"_index":5601,"title":{},"body":{"controllers/ColumnController.html":{}}}],["createcards",{"_index":3795,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["createcards(amount",{"_index":3803,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["createclient",{"_index":8848,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"injectables/LdapService.html":{},"modules/RedisModule.html":{}}}],["createclient(storageprovider",{"_index":8856,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["createcollection",{"_index":8778,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["createcollection(collectionname",{"_index":8788,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["createcolumn",{"_index":3186,"title":{},"body":{"controllers/BoardController.html":{},"injectables/BoardUc.html":{}}}],["createcolumn(urlparams",{"_index":3191,"title":{},"body":{"controllers/BoardController.html":{}}}],["createcolumn(userid",{"_index":4109,"title":{},"body":{"injectables/BoardUc.html":{}}}],["createcolumns",{"_index":3796,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["createcolumns(amount",{"_index":3805,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["createconfigmoduleoptions",{"_index":1025,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/ManagementModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["createcontentelementbodyparams",{"_index":4015,"title":{"classes/CreateContentElementBodyParams.html":{}},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CreateContentElementBodyParams.html":{}}}],["createcontextexternaltool",{"_index":6969,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["createcontextexternaltool(currentuser",{"_index":22678,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["createcontextexternaltool(userid",{"_index":6977,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["createcourse",{"_index":7805,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["createcourse(course",{"_index":7809,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["createcourse(userid",{"_index":26022,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["created",{"_index":2505,"title":{},"body":{"injectables/BaseDORepo.html":{},"classes/BaseFactory.html":{},"injectables/DeletionClient.html":{},"injectables/ExternalToolService.html":{},"injectables/FileSystemAdapter.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/IdentityManagementService.html":{},"injectables/LegacyLogger.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/NextcloudStrategy.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"injectables/TldrawWsService.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/VideoConferenceController.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["created.'})@apiresponse({status",{"_index":24039,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["created.id",{"_index":2508,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["createdaccountid",{"_index":14804,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["createdaccountid.id",{"_index":14806,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["createdat",{"_index":430,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/AccountSaveDto.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardResponseMapper.html":{},"classes/BoardTaskResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/Class.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementFactory.html":{},"classes/County.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"interfaces/EntityWithSchool.html":{},"classes/ExternalToolElementResponseMapper.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"classes/LinkElementResponseMapper.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.html":{},"interfaces/ParentInfo.html":{},"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/ResolvedUserResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"injectables/SubmissionItemFactory.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"classes/TaskResponse.html":{},"classes/TimestampsResponse.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{}}}],["createdat.$date",{"_index":5307,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["createdate",{"_index":2243,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["createddate",{"_index":600,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["createdefaultiuser",{"_index":13269,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["createdeletionlog",{"_index":9191,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["createdeletionlog(deletionrequestid",{"_index":9195,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["createdeletionrequest",{"_index":9408,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["createdeletionrequest(targetrefid",{"_index":9412,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["createdeletionrequests",{"_index":9439,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["createdeletionrequests(deletionrequestbody",{"_index":9445,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["createdir",{"_index":11992,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["createdir(folderpath",{"_index":12001,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["createdmodel",{"_index":8622,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["createdschoolexternaltool",{"_index":19832,"title":{},"body":{"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["createdschoolexternaltooldo",{"_index":23064,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["createdto",{"_index":9686,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["createdto(undefined",{"_index":19048,"title":{},"body":{"injectables/RoomBoardDTOFactory.html":{}}}],["createdtool",{"_index":6999,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["createelement",{"_index":4010,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"injectables/CardUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["createelement(urlparams",{"_index":4013,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{}}}],["createelement(userid",{"_index":4509,"title":{},"body":{"injectables/CardUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["createelements",{"_index":3797,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["createelements(amount",{"_index":3807,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["createemptyelements",{"_index":4448,"title":{},"body":{"injectables/CardService.html":{}}}],["createemptyelements(card",{"_index":4456,"title":{},"body":{"injectables/CardService.html":{}}}],["createentity",{"_index":2438,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["createentity(domainobject",{"_index":2453,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["createerrorloggable",{"_index":12523,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorloggable(error",{"_index":12534,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponse",{"_index":12524,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponse(error",{"_index":12536,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponseforbusinesserror",{"_index":12525,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponseforbusinesserror(error",{"_index":12538,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponseforfeatherserror",{"_index":12526,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponseforfeatherserror(error",{"_index":12540,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponsefornesthttpexception",{"_index":12527,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponsefornesthttpexception(exception",{"_index":12542,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponseforunknownerror",{"_index":12528,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createetherpad",{"_index":9935,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["createetherpad(userid",{"_index":9939,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["createexternaltool",{"_index":10881,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["createexternaltool(currentuser",{"_index":22729,"title":{},"body":{"controllers/ToolController.html":{}}}],["createexternaltool(externaltool",{"_index":10895,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["createexternaltool(userid",{"_index":10997,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["createfile",{"_index":22162,"title":{},"body":{"classes/TestHelper.html":{}}}],["createfileresponse",{"_index":22163,"title":{},"body":{"classes/TestHelper.html":{}}}],["createfileurlreplacements",{"_index":7221,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["createfileurlreplacements(filedtos",{"_index":7228,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["createflowrequest",{"_index":14525,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["creategridelement",{"_index":8567,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["creategridelement(elementwithposition",{"_index":8578,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["creategroup(name",{"_index":1146,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["createh5pcontent",{"_index":13070,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["createh5pcontent(@body",{"_index":13189,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["createh5pcontent(body",{"_index":13082,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["createhttpexceptionoptions",{"_index":9916,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["createhttpexceptionoptions(error",{"_index":9920,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["createidentifier",{"_index":5733,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{}}}],["createidentifier(content._id",{"_index":5764,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["createidentifier(courseid",{"_index":5736,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["createidentifier(lesson.id",{"_index":5749,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["createidentifier(lessonid)}/${createidentifier(content._id)}.html",{"_index":5766,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["createidentifier(task.id",{"_index":5792,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["createidentityprovider",{"_index":14449,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["createidentityprovider(oidcconfig",{"_index":14468,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["createidpdefaultmapper",{"_index":14450,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["createidpdefaultmapper(idpalias",{"_index":14472,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["createidtoken",{"_index":13663,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["createidtoken(userid",{"_index":13670,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["createifnotrunning",{"_index":24088,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["createifnotrunning(currentuserid",{"_index":24097,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["createiframesubject",{"_index":13664,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["createiframesubject(user",{"_index":13672,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["createinstance(targetmodel",{"_index":7786,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["createjwt",{"_index":14308,"title":{},"body":{"classes/JwtTestFactory.html":{}}}],["createjwt(params",{"_index":7928,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["createjwtparams",{"_index":7909,"title":{"interfaces/CreateJwtParams.html":{}},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["createjwtpayload",{"_index":1699,"title":{"interfaces/CreateJwtPayload.html":{}},"body":{"injectables/AuthenticationService.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"interfaces/JwtPayload.html":{},"injectables/LoginUc.html":{}}}],["createlaunchdata",{"_index":2736,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"interfaces/ToolLaunchStrategy.html":{}}}],["createlaunchdata(userid",{"_index":2770,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"interfaces/ToolLaunchStrategy.html":{}}}],["createlaunchrequest",{"_index":2737,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"interfaces/ToolLaunchStrategy.html":{}}}],["createlaunchrequest(toollaunchdata",{"_index":2772,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["createlaunchrequest(toollaunchdatado",{"_index":22912,"title":{},"body":{"interfaces/ToolLaunchStrategy.html":{}}}],["createlesson",{"_index":15441,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["createlesson(lesson",{"_index":15443,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["createlesson(userid",{"_index":26026,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["createlibrary",{"_index":15559,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["createlibrary(library",{"_index":15564,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["createlogmessageforvalidationerrors",{"_index":9813,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["createlogmessageforvalidationerrors(error",{"_index":9820,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["createmessage",{"_index":15099,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["createmessage(message",{"_index":15103,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["createmessagewithcontext",{"_index":15726,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["createmessagewithcontext(loggable",{"_index":15729,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["createmikroormmodule",{"_index":16354,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["createmock",{"_index":22130,"title":{},"body":{"classes/TestBootstrapConsole.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["createnewaccount",{"_index":17599,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["createnewentityfromdo",{"_index":2439,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["createnewentityfromdo(domainobject",{"_index":2456,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["createnewmigration",{"_index":23617,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["createnewmigration(school",{"_index":23627,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["createnews",{"_index":7950,"title":{"interfaces/CreateNews.html":{}},"body":{"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{},"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["createnewsparams",{"_index":7961,"title":{"classes/CreateNewsParams.html":{}},"body":{"classes/CreateNewsParams.html":{},"controllers/NewsController.html":{},"classes/NewsMapper.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["createnexboard",{"_index":16677,"title":{},"body":{"injectables/NexboardService.html":{}}}],["createnexboard(userid",{"_index":16679,"title":{},"body":{"injectables/NexboardService.html":{}}}],["createoauth2client",{"_index":17151,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{}}}],["createoauth2client(currentuser",{"_index":17158,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{}}}],["createoauth2client(data",{"_index":17417,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["createorupdate",{"_index":10514,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["createorupdate(domainobject",{"_index":10523,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["createorupdateboardnode",{"_index":18496,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["createorupdateboardnode(boardnode",{"_index":18501,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["createorupdateidmaccount",{"_index":14779,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["createorupdateidmaccount(account",{"_index":14781,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["createpath",{"_index":17803,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["createpath(schoolid",{"_index":17807,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["createpreviewdirectorypath",{"_index":17934,"title":{},"body":{"injectables/PreviewService.html":{}}}],["createpreviewdirectorypath(filerecord.getschoolid",{"_index":17941,"title":{},"body":{"injectables/PreviewService.html":{}}}],["createpreviewfilepath",{"_index":17804,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["createpreviewfilepath(schoolid",{"_index":17810,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["createpreviewnamehash",{"_index":17805,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["createpreviewnamehash(id",{"_index":17809,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["createprometheusmetricsapp",{"_index":18005,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["createprometheusmetricsapp(route",{"_index":18034,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["createqueryordermap",{"_index":23243,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["createqueryordermap(sort",{"_index":23246,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["createredisidentifierfromjwtdata",{"_index":14329,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["createredisidentifierfromjwtdata(accountid",{"_index":14335,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["createrequest",{"_index":12299,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{}}}],["createrequest(event",{"_index":12307,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{}}}],["createrichtextelement",{"_index":5463,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["createrichtextelement(text",{"_index":5470,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["creates",{"_index":2342,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/FileSystemAdapter.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/NextcloudStrategy.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["creates3clientadapter",{"_index":19413,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["creates3clientadapter(config",{"_index":19417,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["createschoolbysuperhero(userid",{"_index":26007,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["createschoolexternaltool",{"_index":19837,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{},"controllers/ToolSchoolController.html":{}}}],["createschoolexternaltool(currentuser",{"_index":23028,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["createschoolexternaltool(userid",{"_index":19844,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["createsharetoken",{"_index":20278,"title":{},"body":{"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{}}}],["createsharetoken(currentuser",{"_index":20281,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["createsharetoken(userid",{"_index":20460,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["createstudentstatusforuser(user",{"_index":21334,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["createsubmissionitem",{"_index":9709,"title":{},"body":{"controllers/ElementController.html":{},"injectables/ElementUc.html":{}}}],["createsubmissionitem(urlparams",{"_index":9712,"title":{},"body":{"controllers/ElementController.html":{}}}],["createsubmissionitem(userid",{"_index":9750,"title":{},"body":{"injectables/ElementUc.html":{}}}],["createsubmissionitembodyparams",{"_index":7982,"title":{"classes/CreateSubmissionItemBodyParams.html":{}},"body":{"classes/CreateSubmissionItemBodyParams.html":{},"controllers/ElementController.html":{}}}],["createsubmissionitembodyparams})@post(':contentelementid/submissions",{"_index":9715,"title":{},"body":{"controllers/ElementController.html":{}}}],["createtask",{"_index":21560,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["createtask(task",{"_index":21565,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["createtaskstatus",{"_index":9596,"title":{},"body":{"classes/DtoCreator.html":{}}}],["createtaskstatus(task",{"_index":9613,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["createteacherstatusforuser(user",{"_index":21325,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["createteam",{"_index":4974,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/NextcloudStrategy.html":{}}}],["createteam(team",{"_index":4983,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/NextcloudStrategy.html":{}}}],["createtestingmodule",{"_index":25753,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["createtime",{"_index":2244,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["createtmpdir",{"_index":11993,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["createtmpdir(dirnameprefix",{"_index":12004,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["createtoken",{"_index":20412,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["createtoken(payload",{"_index":20420,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["createuser(email",{"_index":1152,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["createuserbyadmin(userid",{"_index":26010,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["createusersearchindex",{"_index":5320,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["createusertoken(userid",{"_index":1116,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["createwebsocket",{"_index":22405,"title":{},"body":{"classes/TldrawWsFactory.html":{}}}],["createwebsocket(readystate",{"_index":22407,"title":{},"body":{"classes/TldrawWsFactory.html":{}}}],["createwelcomecolumnboard",{"_index":5464,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["createwelcomecolumnboard(coursereference",{"_index":5472,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["createwsshareddocdo",{"_index":22406,"title":{},"body":{"classes/TldrawWsFactory.html":{}}}],["creating",{"_index":7964,"title":{},"body":{"classes/CreateNewsParams.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/LessonCopyApiParams.html":{},"injectables/NextcloudStrategy.html":{},"classes/TaskCopyApiParams.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["creation",{"_index":3792,"title":{},"body":{"classes/BoardManagementConsole.html":{},"classes/GlobalValidationPipe.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/NextcloudStrategy.html":{},"classes/SchoolInMigrationLoggableException.html":{}}}],["creationyear",{"_index":5739,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["creator",{"_index":6624,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/CourseNews.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ITask.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"interfaces/ParentInfo.html":{},"entities/SchoolNews.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"interfaces/TaskCreate.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{},"todo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["creator'})@index",{"_index":11490,"title":{},"body":{"entities/FileEntity.html":{}}}],["creatorid",{"_index":6621,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"entities/CourseNews.html":{},"interfaces/FileDO.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"interfaces/ParentInfo.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"entities/TeamNews.html":{}}}],["credential",{"_index":14711,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["credentialdata",{"_index":14798,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["credentialhash",{"_index":209,"title":{},"body":{"entities/Account.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{}}}],["credentials",{"_index":8902,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"interfaces/IKeycloakSettings.html":{},"classes/IdentityManagementOauthService.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"controllers/LoginController.html":{},"modules/S3ClientModule.html":{}}}],["crit",{"_index":9861,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["crit(loggable",{"_index":9867,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["criteria",{"_index":369,"title":{},"body":{"controllers/AccountController.html":{},"classes/AccountSearchQueryParams.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["criterion",{"_index":24756,"title":{},"body":{"license.html":{}}}],["crlf",{"_index":18635,"title":{},"body":{"classes/ReferencesService.html":{}}}],["cross",{"_index":7353,"title":{},"body":{"modules/CoreModule.html":{},"dependencies.html":{},"license.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["crossing",{"_index":25573,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["crud",{"_index":2544,"title":{},"body":{"classes/BaseDomainObject.html":{},"controllers/CollaborativeStorageController.html":{},"classes/NewsCrudOperationLoggable.html":{},"injectables/NewsUc.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["crud.uc",{"_index":17264,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["crud.uc.ts",{"_index":17149,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crud.uc.ts:10",{"_index":17157,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crud.uc.ts:16",{"_index":17169,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crud.uc.ts:23",{"_index":17165,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crud.uc.ts:42",{"_index":17163,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crud.uc.ts:51",{"_index":17159,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crud.uc.ts:60",{"_index":17167,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crud.uc.ts:73",{"_index":17161,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crudoperation",{"_index":16452,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{},"injectables/NewsUc.html":{}}}],["cruduc",{"_index":17274,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["crypto",{"_index":1718,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/BBBService.html":{},"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{},"injectables/Lti11EncryptionService.html":{},"injectables/OidcProvisioningService.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/SymetricKeyEncryptionService.html":{},"dependencies.html":{}}}],["crypto.createhash('sha1",{"_index":2419,"title":{},"body":{"injectables/BBBService.html":{}}}],["crypto.generatekeypairsync('rsa",{"_index":7918,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["cryptojs",{"_index":15832,"title":{},"body":{"injectables/Lti11EncryptionService.html":{},"injectables/OidcProvisioningService.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["cryptojs.aes.decrypt(data",{"_index":21004,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["cryptojs.aes.decrypt(value",{"_index":20599,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["cryptojs.aes.encrypt(data",{"_index":21003,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["cryptojs.aes.encrypt(value",{"_index":20596,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["cryptojs.hmacsha1(base_string",{"_index":15842,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["cryptojs.sha256(saveduser.id",{"_index":17617,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["css",{"_index":12466,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["ctl",{"_index":11240,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["ctltoolstabenabled",{"_index":13622,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["cumbersome",{"_index":2560,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["cure",{"_index":25013,"title":{},"body":{"license.html":{}}}],["curl",{"_index":14767,"title":{},"body":{"controllers/KeycloakManagementController.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["currenlty",{"_index":19135,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["current",{"_index":5070,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"controllers/GroupController.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/PaginationResponse.html":{},"classes/PatchMyAccountParams.html":{},"injectables/SchoolYearService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["currentdate",{"_index":9380,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/SchoolYearRepo.html":{}}}],["currentdatetime",{"_index":5209,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["currentindex",{"_index":23961,"title":{},"body":{"classes/ValidationErrorLoggableException.html":{}}}],["currentldapid",{"_index":14251,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["currently",{"_index":619,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/BaseRepo.html":{},"modules/BoardModule.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/HydraSsoService.html":{},"controllers/UserLoginMigrationController.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["currentredirect",{"_index":13429,"title":{},"body":{"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{}}}],["currentrooms",{"_index":8442,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["currentrooms.foreach((room",{"_index":8444,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["currentteacher",{"_index":5789,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["currentuser",{"_index":349,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"classes/CurrentUserMapper.html":{},"controllers/DashboardController.html":{},"controllers/ElementController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/ImportUserController.html":{},"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"controllers/LessonController.html":{},"injectables/LocalStrategy.html":{},"controllers/LoginController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/NewsController.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"controllers/PseudonymController.html":{},"injectables/RequestLoggingInterceptor.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"controllers/SystemController.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["currentuser.accountid",{"_index":8015,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["currentuser.impersonated",{"_index":8019,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["currentuser.isexternaluser",{"_index":8020,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["currentuser.roles",{"_index":8017,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["currentuser.schoolid",{"_index":8016,"title":{},"body":{"classes/CurrentUserMapper.html":{},"controllers/GroupController.html":{},"controllers/NewsController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/UserLoginMigrationController.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["currentuser.systemid",{"_index":8018,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["currentuser.userid",{"_index":4046,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CourseController.html":{},"classes/CurrentUserMapper.html":{},"controllers/DashboardController.html":{},"controllers/ElementController.html":{},"controllers/GroupController.html":{},"controllers/NewsController.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"injectables/RequestLoggingInterceptor.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["currentuserid",{"_index":5115,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["currentusermapper",{"_index":7990,"title":{"classes/CurrentUserMapper.html":{}},"body":{"classes/CurrentUserMapper.html":{},"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/LoginUc.html":{},"injectables/Oauth2Strategy.html":{},"injectables/UserService.html":{}}}],["currentusermapper.jwttoicurrentuser(payload",{"_index":14306,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["currentusermapper.mapcurrentusertocreatejwtpayload(userinfo",{"_index":15822,"title":{},"body":{"injectables/LoginUc.html":{}}}],["currentusermapper.maptooauthcurrentuser",{"_index":16901,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["currentusermapper.maptooauthcurrentuser(account.id",{"_index":23912,"title":{},"body":{"injectables/UserService.html":{}}}],["currentusermapper.usertoicurrentuser(account.id",{"_index":15054,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{}}}],["currentvalue",{"_index":23960,"title":{},"body":{"classes/ValidationErrorLoggableException.html":{}}}],["currentvalue.tostring(false",{"_index":23962,"title":{},"body":{"classes/ValidationErrorLoggableException.html":{}}}],["currentyear",{"_index":19626,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["custom",{"_index":1220,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ApiValidationErrorResponse.html":{},"injectables/CommonToolValidationService.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/ErrorResponse.html":{},"classes/ExternalToolCreateParams.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolResponse.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"dependencies.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["custom_error_type",{"_index":25606,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["customarily",{"_index":24878,"title":{},"body":{"license.html":{}}}],["customary",{"_index":25128,"title":{},"body":{"license.html":{}}}],["customer",{"_index":24883,"title":{},"body":{"license.html":{}}}],["customfields",{"_index":1069,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["customizations",{"_index":20229,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["customizing",{"_index":7355,"title":{},"body":{"modules/CoreModule.html":{}}}],["customkey",{"_index":20586,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["customltiproperty",{"_index":8029,"title":{"interfaces/CustomLtiProperty.html":{}},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["customltipropertydo",{"_index":8102,"title":{"classes/CustomLtiPropertyDO.html":{}},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{}}}],["customltipropertydo('key",{"_index":15951,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["customparam",{"_index":8240,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparameter",{"_index":2751,"title":{"classes/CustomParameter.html":{}},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/CommonToolValidationService.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparameter.default",{"_index":10495,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["customparameter.regex",{"_index":10491,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["customparameter.regexcomment",{"_index":10492,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["customparameter.scope",{"_index":10493,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["customparameter.some",{"_index":10483,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["customparameter.some((item",{"_index":10481,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["customparameterdo.default",{"_index":10854,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterdo.description",{"_index":10853,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterdo.displayname",{"_index":10852,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterdo.isoptional",{"_index":10860,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterdo.name",{"_index":10851,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterdo.regex",{"_index":10855,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterdo.regexcomment",{"_index":10856,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterdos",{"_index":2750,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["customparameterdto",{"_index":10723,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["customparameterentity",{"_index":8158,"title":{"classes/CustomParameterEntity.html":{}},"body":{"classes/CustomParameterEntity.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolRepoMapper.html":{}}}],["customparameterentityfactory",{"_index":10258,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["customparameterentityfactory.build",{"_index":10264,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["customparameterentry",{"_index":2777,"title":{"classes/CustomParameterEntry.html":{}},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/CommonToolValidationService.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/CustomParameterEntry.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["customparameterentryentity",{"_index":6742,"title":{"classes/CustomParameterEntryEntity.html":{}},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/ExternalToolRepoMapper.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{}}}],["customparameterentryparam",{"_index":6795,"title":{"classes/CustomParameterEntryParam.html":{}},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/CustomParameterEntryParam.html":{},"classes/SchoolExternalToolPostParams.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["customparameterentryresponse",{"_index":6835,"title":{"classes/CustomParameterEntryResponse.html":{}},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["customparameterfactory",{"_index":8189,"title":{"classes/CustomParameterFactory.html":{}},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparameterfactory.buildlist(number",{"_index":8241,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparameterfactory.define(customparameter",{"_index":8231,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparameterlocation",{"_index":2756,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/ToolLaunchMapper.html":{}}}],["customparameterlocation.body",{"_index":8233,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/ToolLaunchMapper.html":{}}}],["customparameterlocation.path",{"_index":10261,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ToolLaunchMapper.html":{}}}],["customparameterlocation.query",{"_index":10754,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ToolLaunchMapper.html":{}}}],["customparameterlocationparams",{"_index":8258,"title":{},"body":{"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterlocationparams.body",{"_index":10755,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterlocationparams.path",{"_index":10752,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterlocationparams.query",{"_index":10753,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterparam",{"_index":6869,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["customparameterparam.defaultvalue",{"_index":10792,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["customparameterparam.description",{"_index":10791,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["customparameterparam.displayname",{"_index":10790,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["customparameterparam.isoptional",{"_index":10798,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["customparameterparam.name",{"_index":6825,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["customparameterparam.regex",{"_index":10793,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["customparameterparam.regexcomment",{"_index":10794,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["customparameterparam.value",{"_index":6826,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["customparameterparams",{"_index":6815,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["customparameterparams.map",{"_index":6868,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["customparameterparams.map((customparameterparam",{"_index":6824,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["customparameterpostparams",{"_index":8249,"title":{"classes/CustomParameterPostParams.html":{}},"body":{"classes/CustomParameterPostParams.html":{},"classes/ExternalToolCreateParams.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["customparameterresponse",{"_index":6703,"title":{"classes/CustomParameterResponse.html":{}},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["customparameters",{"_index":10634,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameters.map",{"_index":10694,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["customparameters.map((customparameterdo",{"_index":10850,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterscope",{"_index":6116,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterFactory.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparameterscope.context",{"_index":6123,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"classes/CustomParameterFactory.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparameterscope.global",{"_index":8228,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparameterscope.school",{"_index":6122,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"classes/CustomParameterFactory.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparameterscopetypeparams",{"_index":8264,"title":{},"body":{"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterscopetypeparams.context",{"_index":10750,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterscopetypeparams.global",{"_index":10748,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterscopetypeparams.school",{"_index":10749,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertype",{"_index":2033,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/CommonToolValidationService.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparametertype.auto_contextid",{"_index":6110,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertype.auto_contextname",{"_index":6111,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertype.auto_contextname}/${contextexternaltool.contextref.type",{"_index":2045,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["customparametertype.auto_schoolid",{"_index":6112,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertype.auto_schoolnumber",{"_index":6113,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertype.boolean",{"_index":6109,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertype.number",{"_index":6107,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertype.string",{"_index":6106,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparametertypeparams",{"_index":8267,"title":{},"body":{"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertypeparams.auto_contextid",{"_index":10760,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertypeparams.auto_contextname",{"_index":10761,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertypeparams.auto_schoolid",{"_index":10762,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertypeparams.auto_schoolnumber",{"_index":10763,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertypeparams.boolean",{"_index":10758,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertypeparams.number",{"_index":10759,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertypeparams.string",{"_index":10757,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customproviderclass.name",{"_index":15114,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["customs",{"_index":8051,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{}}}],["customtoparameterlocationmapping",{"_index":22835,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["customtoparameterlocationmapping[location",{"_index":22844,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["cycle",{"_index":3876,"title":{},"body":{"modules/BoardModule.html":{}}}],["cycles",{"_index":1715,"title":{},"body":{"injectables/AuthenticationService.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{}}}],["d",{"_index":7297,"title":{},"body":{"injectables/CopyHelperService.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["damages",{"_index":25160,"title":{},"body":{"license.html":{}}}],["das",{"_index":5507,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["dash",{"_index":24613,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["dashboard",{"_index":8289,"title":{},"body":{"controllers/DashboardController.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"interfaces/IDashboardRepo.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["dashboard.getelement(position",{"_index":8707,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["dashboard.getid",{"_index":8542,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["dashboard.getuserid",{"_index":8709,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["dashboard.model.mapper",{"_index":8664,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["dashboard.moveelement(from",{"_index":8706,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["dashboard.setlearnrooms(courses",{"_index":8702,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["dashboard_repo",{"_index":15089,"title":{},"body":{"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{}}}],["dashboardcontroller",{"_index":8287,"title":{"controllers/DashboardController.html":{}},"body":{"controllers/DashboardController.html":{},"modules/LearnroomApiModule.html":{}}}],["dashboardelement",{"_index":8486,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["dashboardentity",{"_index":8321,"title":{"classes/DashboardEntity.html":{}},"body":{"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"classes/GridElement.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{}}}],["dashboardentity(modelentity.id",{"_index":8615,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["dashboardentity(new",{"_index":8667,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["dashboardgridelementmodel",{"_index":8473,"title":{"entities/DashboardGridElementModel.html":{}},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{}}}],["dashboardgridelementmodelproperties",{"_index":8484,"title":{"interfaces/DashboardGridElementModelProperties.html":{}},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["dashboardgridelementresponse",{"_index":8505,"title":{"classes/DashboardGridElementResponse.html":{}},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{}}}],["dashboardgridsubelementresponse",{"_index":8513,"title":{"classes/DashboardGridSubElementResponse.html":{}},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{}}}],["dashboardgridsubelementresponse(metadata",{"_index":8561,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["dashboardid",{"_index":8312,"title":{},"body":{"controllers/DashboardController.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{}}}],["dashboardmapper",{"_index":8302,"title":{"classes/DashboardMapper.html":{}},"body":{"controllers/DashboardController.html":{},"classes/DashboardMapper.html":{}}}],["dashboardmapper.mapgridelement(elementwithposition",{"_index":8544,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["dashboardmapper.maplearnroom(groupmetadata",{"_index":8560,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["dashboardmapper.maptoresponse(dashboard",{"_index":8311,"title":{},"body":{"controllers/DashboardController.html":{}}}],["dashboardmodel",{"_index":8675,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["dashboardmodelentity",{"_index":8485,"title":{"entities/DashboardModelEntity.html":{}},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["dashboardmodelmapper",{"_index":8565,"title":{"injectables/DashboardModelMapper.html":{}},"body":{"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{}}}],["dashboardmodelproperties",{"_index":8496,"title":{"interfaces/DashboardModelProperties.html":{}},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["dashboardprops",{"_index":8338,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["dashboardrepo",{"_index":8650,"title":{"injectables/DashboardRepo.html":{}},"body":{"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"interfaces/IDashboardRepo.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{}}}],["dashboardresponse",{"_index":8306,"title":{"classes/DashboardResponse.html":{}},"body":{"controllers/DashboardController.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["dashboarduc",{"_index":8304,"title":{"injectables/DashboardUc.html":{}},"body":{"controllers/DashboardController.html":{},"injectables/DashboardUc.html":{},"modules/LearnroomApiModule.html":{}}}],["dashboardurlparams",{"_index":8293,"title":{"classes/DashboardUrlParams.html":{}},"body":{"controllers/DashboardController.html":{},"classes/DashboardUrlParams.html":{}}}],["data",{"_index":339,"title":{},"body":{"controllers/AccountController.html":{},"classes/AccountSearchListResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"interfaces/AuthenticationResponse.html":{},"modules/AuthorizationReferenceModule.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"injectables/BBBService.html":{},"injectables/BasicToolLaunchStrategy.html":{},"interfaces/CalendarEvent.html":{},"controllers/CardController.html":{},"classes/CardListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"injectables/CollaborativeStorageAdapter.html":{},"interfaces/CollectionFilePath.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"interfaces/CopyFiles.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardMapper.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeletionQueueConsole.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"interfaces/EncryptionService.html":{},"injectables/EtherpadService.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolSearchListResponse.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"classes/FileDto.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElementContentBody.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FileResponseBuilder.html":{},"classes/ForbiddenLoggableException.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GlobalValidationPipe.html":{},"classes/GroupRoleUnknownLoggable.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5pFileDto.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"modules/InterceptorModule.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LegacyLogger.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"interfaces/ListFiles.html":{},"controllers/LoginController.html":{},"injectables/Lti11EncryptionService.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"interfaces/Meta.html":{},"injectables/MetaTagExtractorService.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthDataStrategyInputDto.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/OauthProviderService.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PreviewActionsLoggable.html":{},"interfaces/PreviewFileParams.html":{},"classes/PreviewGeneratorBuilder.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/PublicSystemListResponse.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"interfaces/SuccessfulRes.html":{},"injectables/SymetricKeyEncryptionService.html":{},"controllers/SystemController.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TestApiClient.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"classes/ToolLaunchData.html":{},"injectables/ToolLaunchService.html":{},"classes/ToolReferenceListResponse.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"interfaces/UserData.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/ValidationErrorLoggableException.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/XApiKeyStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["data.basepath",{"_index":1431,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["data.bcc",{"_index":16061,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["data.body",{"_index":19336,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data.cc",{"_index":16059,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["data.contentlength",{"_index":19339,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data.contentrange",{"_index":19340,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data.contents.map((p",{"_index":19395,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data.contents?.length",{"_index":19394,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data.contenttype",{"_index":19338,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data.destroy",{"_index":13155,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["data.dto.ts",{"_index":17094,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["data.dto.ts:11",{"_index":17097,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["data.dto.ts:13",{"_index":17096,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["data.dto.ts:7",{"_index":17100,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["data.dto.ts:9",{"_index":17098,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["data.etag",{"_index":19341,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data.externalgroups",{"_index":17678,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["data.externalgroups.map((externalgroup",{"_index":17679,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["data.externalschool",{"_index":17671,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["data.externalschool.externalid",{"_index":23700,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["data.externalschool.officialschoolnumber",{"_index":23696,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["data.externalschool?.officialschoolnumber",{"_index":16852,"title":{},"body":{"injectables/OAuthService.html":{}}}],["data.externaluser",{"_index":17675,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["data.externaluser.externalid",{"_index":16851,"title":{},"body":{"injectables/OAuthService.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["data.externaluser?.externalid",{"_index":14246,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["data.gridelement.getcontent",{"_index":8546,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["data.id",{"_index":7111,"title":{},"body":{"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["data.mountsdescription",{"_index":1433,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["data.name",{"_index":7114,"title":{},"body":{"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["data.port",{"_index":1429,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["data.pos",{"_index":8547,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["data.recipients",{"_index":16057,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["data.recipients.length",{"_index":16065,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["data.replyto",{"_index":16063,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["data.response",{"_index":20988,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["data.response.ts",{"_index":23318,"title":{},"body":{"classes/UserDataResponse.html":{}}}],["data.response.ts:11",{"_index":23320,"title":{},"body":{"classes/UserDataResponse.html":{}}}],["data.response.ts:14",{"_index":23321,"title":{},"body":{"classes/UserDataResponse.html":{}}}],["data.response.ts:17",{"_index":23322,"title":{},"body":{"classes/UserDataResponse.html":{}}}],["data.response.ts:3",{"_index":23319,"title":{},"body":{"classes/UserDataResponse.html":{}}}],["data.result?.ogdescription",{"_index":16228,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["data.result?.ogimage",{"_index":16230,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["data.result?.ogtitle",{"_index":16227,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["data.sourceid",{"_index":7113,"title":{},"body":{"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["data.system.systemid",{"_index":17673,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["data.ts",{"_index":18038,"title":{},"body":{"classes/PropertyData.html":{},"classes/ToolLaunchData.html":{}}}],["data.ts:11",{"_index":22812,"title":{},"body":{"classes/ToolLaunchData.html":{}}}],["data.ts:4",{"_index":18040,"title":{},"body":{"classes/PropertyData.html":{}}}],["data.ts:5",{"_index":22813,"title":{},"body":{"classes/ToolLaunchData.html":{}}}],["data.ts:6",{"_index":18041,"title":{},"body":{"classes/PropertyData.html":{}}}],["data.ts:7",{"_index":22816,"title":{},"body":{"classes/ToolLaunchData.html":{}}}],["data.ts:8",{"_index":18039,"title":{},"body":{"classes/PropertyData.html":{}}}],["data.ts:9",{"_index":22814,"title":{},"body":{"classes/ToolLaunchData.html":{}}}],["data/generateseeddata",{"_index":5181,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["data?.contents?.filter((o",{"_index":19381,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data?.continuationtoken",{"_index":19388,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data?.istruncated",{"_index":19389,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["database",{"_index":1927,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"interfaces/CleanOptions.html":{},"interfaces/CollectionFilePath.html":{},"classes/DatabaseManagementConsole.html":{},"modules/DatabaseManagementModule.html":{},"interfaces/GlobalConstants.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"classes/MongoPatterns.html":{},"interfaces/Options.html":{},"interfaces/RetryOptions.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["database.js",{"_index":12292,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["database.module.ts",{"_index":16346,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["database.module.ts:31",{"_index":16347,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["database.module.ts:42",{"_index":16349,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["database/mongo",{"_index":16345,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["database/types",{"_index":12434,"title":{},"body":{"modules/FwuLearningContentsTestModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{}}}],["databasemanagementconsole",{"_index":8712,"title":{"classes/DatabaseManagementConsole.html":{}},"body":{"classes/DatabaseManagementConsole.html":{},"modules/ManagementModule.html":{},"interfaces/Options.html":{}}}],["databasemanagementcontroller",{"_index":8740,"title":{"controllers/DatabaseManagementController.html":{}},"body":{"controllers/DatabaseManagementController.html":{},"modules/ManagementModule.html":{}}}],["databasemanagementmodule",{"_index":8769,"title":{"modules/DatabaseManagementModule.html":{}},"body":{"modules/DatabaseManagementModule.html":{},"modules/ManagementModule.html":{}}}],["databasemanagementservice",{"_index":5169,"title":{"injectables/DatabaseManagementService.html":{}},"body":{"interfaces/CollectionFilePath.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"modules/ManagementModule.html":{}}}],["databasemanagementuc",{"_index":5188,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/ManagementModule.html":{},"interfaces/Options.html":{},"classes/TestBootstrapConsole.html":{}}}],["dataformats",{"_index":25803,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["datamodel",{"_index":25466,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["datastream",{"_index":22065,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["datawithdefaults",{"_index":17176,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["date",{"_index":83,"title":{},"body":{"classes/AbstractAccountService.html":{},"entities/Account.html":{},"classes/AccountDto.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AuthenticationService.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardTaskResponse.html":{},"injectables/CardService.html":{},"classes/Class.html":{},"classes/ClassFactory.html":{},"interfaces/ClassProps.html":{},"interfaces/CollectionFilePath.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementFactory.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/County.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"interfaces/EntityWithSchool.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalUserDto.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"classes/FileElementContentBody.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"injectables/FilesRepo.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IGridElement.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfigEntity.html":{},"classes/LegacySchoolDo.html":{},"classes/LibraryName.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"injectables/PseudonymService.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/ResolvedUserResponse.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"interfaces/RocketChatUserProps.html":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"interfaces/ShareTokenProperties.html":{},"classes/ShareTokenResponse.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"injectables/SubmissionItemFactory.html":{},"injectables/SubmissionItemService.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskListResponse.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"interfaces/TaskStatus.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TimestampsResponse.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.html":{},"interfaces/UserProperties.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"license.html":{}}}],["date().gettime",{"_index":1741,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/KeycloakAdministrationService.html":{}}}],["date(2020",{"_index":15179,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["date(date.now",{"_index":7655,"title":{},"body":{"classes/CourseFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/TaskFactory.html":{},"classes/TaskScope.html":{}}}],["date(now.gettime",{"_index":23655,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["date(sequence",{"_index":13013,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["date(source.person.geburt?.datum",{"_index":19583,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["date(user.createdtimestamp",{"_index":14747,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["date.now",{"_index":7936,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/JwtTestFactory.html":{},"injectables/UserLoginMigrationService.html":{}}}],["date.setdate(date.getdate",{"_index":20502,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["datefield",{"_index":13012,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["dateofdeletion",{"_index":9423,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["dateofdeletion.setminutes(dateofdeletion.getminutes",{"_index":9424,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["datum",{"_index":19426,"title":{},"body":{"classes/SanisGeburtResponse.html":{}}}],["days",{"_index":2892,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"classes/DeleteFilesConsole.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ShareTokenBodyParams.html":{},"injectables/ShareTokenUC.html":{},"license.html":{}}}],["dayssincedeletion",{"_index":8835,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["db",{"_index":624,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/DatabaseManagementService.html":{},"classes/ImportUserScope.html":{},"classes/ToolReferenceResponse.html":{},"injectables/UserRepo.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["db.service",{"_index":678,"title":{},"body":{"modules/AccountModule.html":{}}}],["db.service.ts",{"_index":901,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["db.service.ts:135",{"_index":915,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["db.service.ts:14",{"_index":904,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["db.service.ts:143",{"_index":908,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["db_password",{"_index":1022,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"interfaces/GlobalConstants.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["db_url",{"_index":1023,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"interfaces/GlobalConstants.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["db_username",{"_index":1024,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"interfaces/GlobalConstants.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["dbc",{"_index":13744,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["dbcaccountid",{"_index":14706,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["dbcaccountid:${accountdbcaccountid",{"_index":14722,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["dbcsystemid",{"_index":14708,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["dbcuserid",{"_index":14707,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["dbcuserid:${accountdbcuserid",{"_index":14726,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["dbildungscloud",{"_index":25206,"title":{},"body":{"properties.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["dbname",{"_index":16351,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["dd",{"_index":15721,"title":{},"body":{"modules/LoggerModule.html":{}}}],["de",{"_index":5344,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/H5PContentFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["dealing",{"_index":25468,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["debug",{"_index":1042,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"classes/ConsentRequestBody.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{},"injectables/Logger.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["debug(loggable",{"_index":15687,"title":{},"body":{"injectables/Logger.html":{}}}],["debug(message",{"_index":13601,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{}}}],["debugger",{"_index":24604,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["debugging",{"_index":12294,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["debugmode",{"_index":1280,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["december",{"_index":24819,"title":{},"body":{"license.html":{}}}],["decide",{"_index":5107,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"classes/ErrorLoggable.html":{},"license.html":{},"todo.html":{}}}],["decides",{"_index":14487,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["decisions",{"_index":25434,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["declarations",{"_index":257,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"modules/DatabaseManagementModule.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FeathersModule.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolModule.html":{},"modules/LessonApiModule.html":{},"modules/LessonModule.html":{},"modules/LoggerModule.html":{},"modules/LtiToolModule.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/NewsModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/OauthProviderServiceModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"modules/PseudonymModule.html":{},"modules/RedisModule.html":{},"modules/RegistrationPinModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["declare",{"_index":18322,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["declared",{"_index":4216,"title":{},"body":{"classes/BusinessError.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["declining",{"_index":24980,"title":{},"body":{"license.html":{}}}],["decodedjwt",{"_index":1735,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/OAuthService.html":{}}}],["decodedjwt.accountid",{"_index":1738,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["decodedjwt.jti",{"_index":1737,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["decodehtmlentities",{"_index":3035,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/CardResponse.html":{},"classes/ColumnResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{}}}],["decodehtmlentities()@apiproperty({description",{"_index":8519,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["decoder",{"_index":22499,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["decoding",{"_index":22457,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["decoding.createdecoder(message",{"_index":22500,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["decoding.readvaruint(decoder",{"_index":22502,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["decoding.readvaruint8array(decoder",{"_index":22508,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["decorated",{"_index":12595,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["decorator",{"_index":9845,"title":{},"body":{"classes/ErrorLoggable.html":{},"controllers/LoginController.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["decorators",{"_index":190,"title":{},"body":{"classes/AcceptQuery.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/AuthorizationParams.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"entities/Board.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"entities/BoardNode.html":{},"classes/BoardResponse.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusResponse.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"classes/CardResponse.html":{},"classes/CardSkeletonResponse.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"entities/ClassEntity.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptionsEntity.html":{},"controllers/CollaborativeStorageController.html":{},"entities/ColumnBoardNode.html":{},"entities/ColumnBoardTarget.html":{},"controllers/ColumnController.html":{},"classes/ColumnResponse.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/ContextRefParams.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"entities/CourseGroup.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"classes/CourseQueryParams.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"entities/DashboardGridElementModel.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"entities/DashboardModelEntity.html":{},"classes/DashboardResponse.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"classes/DeleteFilesConsole.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"controllers/DeletionExecutionsController.html":{},"entities/DeletionLogEntity.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestBodyProps.html":{},"entities/DeletionRequestEntity.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestResponse.html":{},"controllers/DeletionRequestsController.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"classes/DrawingElementResponse.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalSourceEntity.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"classes/ExternalToolElementResponse.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadataResponse.html":{},"entities/ExternalToolPseudonymEntity.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"classes/ExternalToolUpdateParams.html":{},"entities/FederalStateEntity.html":{},"classes/FileContentBody.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"classes/FileElementResponse.html":{},"entities/FileEntity.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"controllers/FileSecurityController.html":{},"classes/FileUrlParams.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GetMetaTagDataBody.html":{},"classes/GlobalValidationPipe.html":{},"controllers/GroupController.html":{},"entities/GroupEntity.html":{},"classes/GroupIdParams.html":{},"classes/GroupResponse.html":{},"classes/GroupUserEntity.html":{},"classes/GroupUserResponse.html":{},"classes/GroupValidPeriodEntity.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"entities/H5pEditorTempFile.html":{},"classes/IdParams.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"entities/LessonEntity.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"classes/LinkElementResponse.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"controllers/LoginController.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"entities/LtiTool.html":{},"entities/Material.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/NewsUrlParams.html":{},"classes/OAuthRejectableBody.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthLoginResponse.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"injectables/PreviewGeneratorConsumer.html":{},"classes/PreviewParams.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"classes/PseudonymParams.html":{},"classes/PseudonymResponse.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/RedirectResponse.html":{},"entities/RegistrationPinEntity.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"classes/ResolvedUserResponse.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"classes/RichTextElementResponse.html":{},"entities/RocketChatUserEntity.html":{},"entities/Role.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"controllers/RoomsController.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInfoResponse.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"classes/ServerConsole.html":{},"controllers/ServerController.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenPayloadResponse.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"classes/StatelessAuthorizationParams.html":{},"entities/StorageProviderEntity.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"entities/SubmissionItemNode.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"classes/SuccessfulResponse.html":{},"controllers/SystemController.html":{},"entities/SystemEntity.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskStatusResponse.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamRoleDto.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserEntity.html":{},"classes/TimestampsResponse.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"classes/TldrawWs.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequestResponse.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceResponse.html":{},"controllers/ToolSchoolController.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"controllers/UserController.html":{},"classes/UserDataResponse.html":{},"classes/UserInfoResponse.html":{},"controllers/UserLoginMigrationController.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"classes/ValidationError.html":{},"entities/VideoConference.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["decoupled",{"_index":25801,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["decrypt",{"_index":9794,"title":{},"body":{"interfaces/EncryptionService.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["decrypt(data",{"_index":9796,"title":{},"body":{"interfaces/EncryptionService.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["decryptedclientsecret",{"_index":16870,"title":{},"body":{"injectables/OAuthService.html":{},"classes/TokenRequestMapper.html":{}}}],["decryptedstring",{"_index":20598,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["deemed",{"_index":24808,"title":{},"body":{"license.html":{}}}],["deepmocked",{"_index":25742,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["deeppartial",{"_index":539,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["default",{"_index":129,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"classes/AccountFactory.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"classes/ApiValidationErrorResponse.html":{},"injectables/AutoContextNameStrategy.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassSortParams.html":{},"interfaces/CleanOptions.html":{},"injectables/CollaborativeStorageService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolScope.html":{},"injectables/CopyHelperService.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseUrlHandler.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterFactory.html":{},"entities/DashboardGridElementModel.html":{},"entities/DashboardModelEntity.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"classes/DeletionExecutionParams.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ErrorLoggable.html":{},"modules/ErrorModule.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolScope.html":{},"entities/FileEntity.html":{},"classes/FilePermissionEntity.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IToolFeatures.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"classes/LessonScope.html":{},"injectables/LessonUrlHandler.html":{},"injectables/Logger.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{},"interfaces/MigrationOptions.html":{},"classes/MongoPatterns.html":{},"entities/News.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/PaginationParams.html":{},"injectables/PreviewGeneratorService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"injectables/ProvisioningService.html":{},"classes/PseudonymScope.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"classes/RequestInfo.html":{},"classes/ResolvedUserMapper.html":{},"interfaces/RetryOptions.html":{},"classes/RocketChatUserFactory.html":{},"entities/Role.html":{},"injectables/RoleRepo.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisResponseMapper.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolScope.html":{},"classes/Scope.html":{},"controllers/ServerController.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemScope.html":{},"injectables/SystemUc.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"classes/TaskFactory.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"injectables/TaskUrlHandler.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TldrawWsService.html":{},"classes/ToolConfiguration.html":{},"classes/ToolContextMapper.html":{},"entities/User.html":{},"classes/UserAndAccountTestFactory.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserMatchMapper.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"classes/VideoConferenceConfiguration.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["default...what",{"_index":7446,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["default.color",{"_index":7406,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["default.description",{"_index":7411,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["default.name",{"_index":7418,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["default.schema.json",{"_index":25278,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["default_language",{"_index":5339,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["defaultclientinternalid",{"_index":14463,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["defaultcolumns",{"_index":8378,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["defaultconfig",{"_index":11970,"title":{},"body":{"interfaces/FileStorageConfig.html":{},"modules/PreviewGeneratorAMQPModule.html":{}}}],["defaultencryptionservice",{"_index":5171,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"modules/EncryptionModule.html":{},"interfaces/EncryptionService.html":{},"injectables/ExternalToolService.html":{},"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OAuthService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["defaulterror",{"_index":4864,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["defaultheaders",{"_index":8950,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["defaultlanguage",{"_index":6529,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{}}}],["defaultmapper",{"_index":14566,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["defaultmapper.id",{"_index":14593,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["defaultmapper?.id",{"_index":14569,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["defaultmessage",{"_index":1374,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/EntityNotFoundError.html":{},"interfaces/ErrorType.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["defaultmikroormoptions",{"_index":1036,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["defaultoauthclientbody",{"_index":17150,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["defaultoptions",{"_index":16360,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["defaults",{"_index":890,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"interfaces/AdminIdAndToken.html":{},"classes/ConsentRequestBody.html":{},"classes/CreateNewsParams.html":{},"classes/DeletionExecutionParams.html":{},"injectables/FileSystemAdapter.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"classes/PaginationParams.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["defaultscope",{"_index":17531,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["defaultscopes",{"_index":14974,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["defaultsecretreplacementhinttext",{"_index":5186,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["defaulttestpassword",{"_index":581,"title":{},"body":{"classes/AccountFactory.html":{},"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["defaulttestpasswordhash",{"_index":583,"title":{},"body":{"classes/AccountFactory.html":{}}}],["defaultvalue",{"_index":4883,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["defaultvideoconferenceoptions",{"_index":24081,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["defaultvideoconferenceoptions.everyattendeejoinsmuted",{"_index":24082,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{}}}],["defaultvideoconferenceoptions.everybodyjoinsasmoderator",{"_index":24083,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{}}}],["defaultvideoconferenceoptions.moderatormustapprovejoinrequests",{"_index":24084,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{}}}],["defective",{"_index":25153,"title":{},"body":{"license.html":{}}}],["defending",{"_index":24681,"title":{},"body":{"license.html":{}}}],["defenses",{"_index":25110,"title":{},"body":{"license.html":{}}}],["define",{"_index":512,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"entities/CourseNews.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"entities/SchoolNews.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"entities/TeamNews.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["define(this",{"_index":554,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["defined",{"_index":27,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerTestModule.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"classes/AuthorizationParams.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"entities/DeletionRequestEntity.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"entities/ExternalToolPseudonymEntity.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/FileContentBody.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"classes/FileUrlParams.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GetMetaTagDataBody.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"classes/GroupIdParams.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"classes/GroupUserResponse.html":{},"classes/GroupValidPeriodEntity.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/ILegacyLogger.html":{},"classes/IdParams.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"modules/MailModule.html":{},"injectables/MailService.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"classes/ProvisioningDto.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymParams.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"modules/RocketChatModule.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.html":{},"classes/ScopeRef.html":{},"classes/ServerConsole.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"classes/SuccessfulResponse.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"interfaces/ToolVersion.html":{},"injectables/ToolVersionService.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserAndAccountTestFactory.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["defines",{"_index":25314,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["defining",{"_index":2569,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["definition",{"_index":1380,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"modules/AuthenticationModule.html":{},"classes/ErrorResponse.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["definitions",{"_index":5316,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["delay",{"_index":2843,"title":{},"body":{"injectables/BatchDeletionService.html":{},"interfaces/CleanOptions.html":{},"classes/DeletionQueueConsole.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["delay(ms",{"_index":14637,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["delete",{"_index":10,"title":{},"body":{"classes/AbstractAccountService.html":{},"controllers/AccountController.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"controllers/BoardController.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardRepo.html":{},"controllers/CardController.html":{},"injectables/CardService.html":{},"interfaces/CleanOptions.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardService.html":{},"controllers/ColumnController.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{},"interfaces/CopyFileDO.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/FederalStateRepo.html":{},"interfaces/FileDO.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"injectables/H5PContentRepo.html":{},"controllers/ImportUserController.html":{},"injectables/ImportUserRepo.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"classes/KeycloakSeedService.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"controllers/LessonController.html":{},"injectables/LessonRepo.html":{},"injectables/LessonUC.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/MaterialsRepo.html":{},"interfaces/MigrationOptions.html":{},"controllers/NewsController.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/RetryOptions.html":{},"injectables/RoleRepo.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/StorageProviderRepo.html":{},"controllers/SubmissionController.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"controllers/SystemController.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"controllers/TaskController.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"controllers/TldrawController.html":{},"injectables/TldrawRepo.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceRepo.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["delete(':boardid",{"_index":3245,"title":{},"body":{"controllers/BoardController.html":{}}}],["delete(':cardid",{"_index":4395,"title":{},"body":{"controllers/CardController.html":{}}}],["delete(':columnid",{"_index":5623,"title":{},"body":{"controllers/ColumnController.html":{}}}],["delete(':contentelementid",{"_index":9740,"title":{},"body":{"controllers/ElementController.html":{}}}],["delete(':contextexternaltoolid",{"_index":22708,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["delete(':contextexternaltoolid')@apiforbiddenresponse()@apiunauthorizedresponse()@apioperation({summary",{"_index":22684,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["delete(':docname",{"_index":22311,"title":{},"body":{"controllers/TldrawController.html":{}}}],["delete(':externaltoolid",{"_index":22781,"title":{},"body":{"controllers/ToolController.html":{}}}],["delete(':externaltoolid')@apiforbiddenresponse({description",{"_index":22734,"title":{},"body":{"controllers/ToolController.html":{}}}],["delete(':id",{"_index":423,"title":{},"body":{"controllers/AccountController.html":{}}}],["delete(':id')@apioperation({summary",{"_index":327,"title":{},"body":{"controllers/AccountController.html":{}}}],["delete(':importuserid/match",{"_index":13845,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["delete(':lessonid",{"_index":15369,"title":{},"body":{"controllers/LessonController.html":{}}}],["delete(':newsid",{"_index":16411,"title":{},"body":{"controllers/NewsController.html":{}}}],["delete(':requestid",{"_index":9463,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["delete(':requestid')@httpcode(204)@apioperation({summary",{"_index":9442,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["delete(':schoolexternaltoolid",{"_index":23062,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["delete(':schoolexternaltoolid')@apiforbiddenresponse()@apiunauthorizedresponse()@apioperation({summary",{"_index":23032,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["delete(':scope/:scopeid",{"_index":24176,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["delete(':scope/:scopeid')@apioperation({summary",{"_index":24150,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["delete(':submissionid",{"_index":20731,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["delete(':systemid",{"_index":21053,"title":{},"body":{"controllers/SystemController.html":{}}}],["delete(':taskid",{"_index":21369,"title":{},"body":{"controllers/TaskController.html":{}}}],["delete('auth/sessions/consent",{"_index":17316,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["delete('clients/:id",{"_index":17289,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["delete(@param",{"_index":15373,"title":{},"body":{"controllers/LessonController.html":{},"controllers/NewsController.html":{},"controllers/SubmissionController.html":{},"controllers/TaskController.html":{}}}],["delete(board",{"_index":5475,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["delete(card",{"_index":4458,"title":{},"body":{"injectables/CardService.html":{}}}],["delete(column",{"_index":5649,"title":{},"body":{"injectables/ColumnService.html":{}}}],["delete(domainobject",{"_index":2531,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BoardDoRepo.html":{},"injectables/GroupRepo.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{}}}],["delete(domainobjects",{"_index":2458,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["delete(element",{"_index":6414,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["delete(entities",{"_index":761,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserRepo.html":{}}}],["delete(entity",{"_index":22346,"title":{},"body":{"injectables/TldrawRepo.html":{}}}],["delete(group",{"_index":12896,"title":{},"body":{"injectables/GroupService.html":{}}}],["delete(id",{"_index":25,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountServiceDb.html":{},"injectables/NewsUc.html":{}}}],["delete(path",{"_index":1643,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["delete(paths",{"_index":19299,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["delete(submission",{"_index":20939,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["delete(subpath",{"_index":1641,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["delete(task",{"_index":21735,"title":{},"body":{"injectables/TaskService.html":{}}}],["delete(urlparams",{"_index":15367,"title":{},"body":{"controllers/LessonController.html":{},"controllers/NewsController.html":{},"controllers/SubmissionController.html":{},"controllers/TaskController.html":{}}}],["delete(userid",{"_index":15533,"title":{},"body":{"injectables/LessonUC.html":{},"injectables/SubmissionUc.html":{},"injectables/SystemUc.html":{},"injectables/TaskUC.html":{}}}],["delete.vistor",{"_index":3638,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["delete.vistor.ts",{"_index":18448,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:103",{"_index":18456,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:24",{"_index":18451,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:32",{"_index":18458,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:37",{"_index":18457,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:42",{"_index":18454,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:47",{"_index":18461,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:54",{"_index":18462,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:61",{"_index":18463,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:66",{"_index":18459,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:73",{"_index":18464,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:78",{"_index":18465,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:83",{"_index":18460,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:99",{"_index":18453,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete_files_of_parent",{"_index":7089,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{}}}],["deleteaccountbyid",{"_index":318,"title":{},"body":{"controllers/AccountController.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["deleteaccountbyid(accountid",{"_index":13741,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["deleteaccountbyid(currentuser",{"_index":324,"title":{},"body":{"controllers/AccountController.html":{}}}],["deleteaccountbyid(id",{"_index":14681,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["deleteafter",{"_index":9258,"title":{},"body":{"classes/DeletionRequest.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{}}}],["deleteboard",{"_index":3187,"title":{},"body":{"controllers/BoardController.html":{},"injectables/BoardUc.html":{}}}],["deleteboard(@param",{"_index":3246,"title":{},"body":{"controllers/BoardController.html":{}}}],["deleteboard(urlparams",{"_index":3202,"title":{},"body":{"controllers/BoardController.html":{}}}],["deleteboard(userid",{"_index":4111,"title":{},"body":{"injectables/BoardUc.html":{}}}],["deletebydocname",{"_index":22300,"title":{},"body":{"controllers/TldrawController.html":{},"injectables/TldrawService.html":{}}}],["deletebydocname(@param",{"_index":22312,"title":{},"body":{"controllers/TldrawController.html":{}}}],["deletebydocname(docname",{"_index":22356,"title":{},"body":{"injectables/TldrawService.html":{}}}],["deletebydocname(urlparams",{"_index":22301,"title":{},"body":{"controllers/TldrawController.html":{}}}],["deletebyexternaltoolid",{"_index":19729,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["deletebyexternaltoolid(toolid",{"_index":19737,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["deletebyid",{"_index":729,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BaseDORepo.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["deletebyid(accountid",{"_index":737,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["deletebyid(deletionrequestid",{"_index":9361,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["deletebyid(id",{"_index":2462,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["deletebyschoolexternaltoolid",{"_index":6922,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["deletebyschoolexternaltoolid(schoolexternaltoolid",{"_index":6933,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["deletebyuserid",{"_index":11,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/PseudonymService.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{}}}],["deletebyuserid(userid",{"_index":37,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/PseudonymService.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{}}}],["deletecard",{"_index":4337,"title":{},"body":{"controllers/CardController.html":{},"injectables/CardUc.html":{}}}],["deletecard(@param",{"_index":4396,"title":{},"body":{"controllers/CardController.html":{}}}],["deletecard(urlparams",{"_index":4348,"title":{},"body":{"controllers/CardController.html":{}}}],["deletecard(userid",{"_index":4511,"title":{},"body":{"injectables/CardUc.html":{}}}],["deletecolumn",{"_index":5593,"title":{},"body":{"controllers/ColumnController.html":{},"injectables/ColumnUc.html":{}}}],["deletecolumn(@param",{"_index":5624,"title":{},"body":{"controllers/ColumnController.html":{}}}],["deletecolumn(urlparams",{"_index":5603,"title":{},"body":{"controllers/ColumnController.html":{}}}],["deletecolumn(userid",{"_index":5667,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["deletecontent",{"_index":13054,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["deletecontent(content",{"_index":13057,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["deletecontextexternaltool",{"_index":6923,"title":{},"body":{"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["deletecontextexternaltool(contextexternaltool",{"_index":6935,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["deletecontextexternaltool(currentuser",{"_index":22683,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["deletecontextexternaltool(userid",{"_index":6979,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["deleted",{"_index":335,"title":{},"body":{"controllers/AccountController.html":{},"injectables/BaseDORepo.html":{},"injectables/DeleteFilesUc.html":{},"classes/DeletionQueueConsole.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/SystemService.html":{},"classes/TldrawDeleteParams.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["deletedat",{"_index":11482,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesRepo.html":{},"classes/TimestampsResponse.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{}}}],["deletedcount",{"_index":8810,"title":{},"body":{"injectables/DatabaseManagementService.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{}}}],["deletedexternaltoolpseudonyms",{"_index":18243,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["deletedfoldername",{"_index":19282,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["deletedid",{"_index":16446,"title":{},"body":{"controllers/NewsController.html":{}}}],["deletedirectory",{"_index":19285,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["deletedirectory(path",{"_index":19301,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["deletedpseudonyms",{"_index":18242,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["deletedrawingbindata",{"_index":9552,"title":{},"body":{"injectables/DrawingElementAdapterService.html":{}}}],["deletedrawingbindata(docname",{"_index":9554,"title":{},"body":{"injectables/DrawingElementAdapterService.html":{}}}],["deletedsince",{"_index":7100,"title":{},"body":{"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["deletedusernumber",{"_index":23848,"title":{},"body":{"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["deletedusers",{"_index":14835,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["deleteelement",{"_index":9710,"title":{},"body":{"controllers/ElementController.html":{},"injectables/ElementUc.html":{}}}],["deleteelement(urlparams",{"_index":9717,"title":{},"body":{"controllers/ElementController.html":{}}}],["deleteelement(userid",{"_index":9752,"title":{},"body":{"injectables/ElementUc.html":{}}}],["deleteentitybyid",{"_index":2440,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["deleteentitybyid(id",{"_index":2464,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["deleteexternaltool",{"_index":10882,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["deleteexternaltool(currentuser",{"_index":22733,"title":{},"body":{"controllers/ToolController.html":{}}}],["deleteexternaltool(toolid",{"_index":10897,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["deleteexternaltool(userid",{"_index":10999,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["deleteexternaltoolpseudonymsbyuserid",{"_index":18205,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["deleteexternaltoolpseudonymsbyuserid(userid",{"_index":18216,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["deletefile",{"_index":8849,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"injectables/TemporaryFileStorage.html":{}}}],["deletefile(file",{"_index":8860,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["deletefile(filename",{"_index":22050,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["deletefileinstorage",{"_index":8850,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["deletefileinstorage(file",{"_index":8862,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["deletefilesconsole",{"_index":8822,"title":{"classes/DeleteFilesConsole.html":{}},"body":{"classes/DeleteFilesConsole.html":{},"modules/FilesModule.html":{}}}],["deletefilesofparent",{"_index":12134,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{}}}],["deletefilesofparent(@rabbitpayload",{"_index":12229,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["deletefilesofparent(parentid",{"_index":12141,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["deletefilesofparent(payload",{"_index":12210,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{}}}],["deletefilesofparent:finished",{"_index":12322,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["deletefilesofparent:started",{"_index":12320,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["deletefilesuc",{"_index":8827,"title":{"injectables/DeleteFilesUc.html":{}},"body":{"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/FilesModule.html":{}}}],["deletegroup(groupname",{"_index":1150,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["deleteh5pcontent",{"_index":13071,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["deleteh5pcontent(params",{"_index":13085,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["deleteidentityprovider",{"_index":14451,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["deleteidentityprovider(alias",{"_index":14475,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["deleteimportusersbyschool",{"_index":14016,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["deleteimportusersbyschool(school",{"_index":14020,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["deleteinminutes",{"_index":2882,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{}}}],["deletelesson",{"_index":15505,"title":{},"body":{"injectables/LessonService.html":{}}}],["deletelesson(lesson",{"_index":15510,"title":{},"body":{"injectables/LessonService.html":{}}}],["deletemarkedfiles",{"_index":8825,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{}}}],["deletemarkedfiles(dayssincedeletion",{"_index":8829,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["deletemarkedfiles(thresholddate",{"_index":8864,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["deletenode",{"_index":18449,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["deletenode(domainobject",{"_index":18452,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["deleteoauth2client",{"_index":17152,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{}}}],["deleteoauth2client(@currentuser",{"_index":17290,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["deleteoauth2client(currentuser",{"_index":17160,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{}}}],["deleteoauth2client(id",{"_index":17419,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["deleteobjectcommand",{"_index":8867,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["deleteobjects",{"_index":19361,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["deleteobjectscommand",{"_index":19318,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["deletepreviews",{"_index":17918,"title":{},"body":{"injectables/PreviewService.html":{}}}],["deletepreviews(filerecords",{"_index":17925,"title":{},"body":{"injectables/PreviewService.html":{}}}],["deletepseudonymsbyuserid",{"_index":10515,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{}}}],["deletepseudonymsbyuserid(userid",{"_index":10525,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{}}}],["deleterefsfromtxtfile",{"_index":2877,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["deleterefsfromtxtfile(refsfilepath",{"_index":2880,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["deleteregistrationpinbyemail",{"_index":18681,"title":{},"body":{"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{}}}],["deleteregistrationpinbyemail(email",{"_index":18683,"title":{},"body":{"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{}}}],["deletes",{"_index":328,"title":{},"body":{"controllers/AccountController.html":{},"injectables/CollaborativeStorageAdapter.html":{},"classes/IdentityManagementService.html":{},"injectables/NextcloudStrategy.html":{},"controllers/SystemController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["deleteschoolexternaltool",{"_index":19838,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{},"controllers/ToolSchoolController.html":{}}}],["deleteschoolexternaltool(currentuser",{"_index":23031,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["deleteschoolexternaltool(userid",{"_index":19846,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["deleteschoolexternaltoolbyid",{"_index":19800,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["deleteschoolexternaltoolbyid(schoolexternaltoolid",{"_index":19808,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["deletesubmissions",{"_index":21733,"title":{},"body":{"injectables/TaskService.html":{}}}],["deletesubmissions(task",{"_index":21737,"title":{},"body":{"injectables/TaskService.html":{}}}],["deletesuccessfull",{"_index":13176,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["deletesystem",{"_index":21020,"title":{},"body":{"controllers/SystemController.html":{}}}],["deletesystem(@currentuser",{"_index":21055,"title":{},"body":{"controllers/SystemController.html":{}}}],["deletesystem(currentuser",{"_index":21022,"title":{},"body":{"controllers/SystemController.html":{}}}],["deleteteam",{"_index":4975,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/NextcloudStrategy.html":{}}}],["deleteteam(teamid",{"_index":4987,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/NextcloudStrategy.html":{}}}],["deleteuser",{"_index":23794,"title":{},"body":{"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["deleteuser(userid",{"_index":23798,"title":{},"body":{"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["deleteuser(username",{"_index":1155,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["deleteuserdatafromclasses",{"_index":4778,"title":{},"body":{"injectables/ClassService.html":{}}}],["deleteuserdatafromclasses(userid",{"_index":4783,"title":{},"body":{"injectables/ClassService.html":{}}}],["deleteuserdatafromcourse",{"_index":7864,"title":{},"body":{"injectables/CourseService.html":{}}}],["deleteuserdatafromcourse(userid",{"_index":7867,"title":{},"body":{"injectables/CourseService.html":{}}}],["deleteuserdatafromcoursegroup",{"_index":7708,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["deleteuserdatafromcoursegroup(userid",{"_index":7712,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["deleteuserdatafromlessons",{"_index":15506,"title":{},"body":{"injectables/LessonService.html":{}}}],["deleteuserdatafromlessons(userid",{"_index":15512,"title":{},"body":{"injectables/LessonService.html":{}}}],["deleteuserdatafromteams",{"_index":21957,"title":{},"body":{"injectables/TeamService.html":{}}}],["deleteuserdatafromteams(userid",{"_index":21961,"title":{},"body":{"injectables/TeamService.html":{}}}],["deleteuserloginmigration",{"_index":23618,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["deleteuserloginmigration(userloginmigration",{"_index":23629,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["deletevisitor",{"_index":3610,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["deletewithdescendants",{"_index":3695,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["deletewithdescendants(domainobject",{"_index":3698,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["deleting",{"_index":8838,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["deletion",{"_index":2819,"title":{},"body":{"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"modules/CommonToolModule.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeletionClient.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"injectables/DeletionRequestRepo.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{}}}],["deletion'})@apiresponse({status",{"_index":9453,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["deletion.service.ts",{"_index":2803,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["deletion.service.ts:10",{"_index":2811,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["deletion.service.ts:7",{"_index":2807,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["deletion.uc.ts",{"_index":2876,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["deletion.uc.ts:12",{"_index":2879,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["deletion.uc.ts:15",{"_index":2883,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["deletion/deletion",{"_index":1033,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{}}}],["deletionapimodule",{"_index":1010,"title":{"modules/DeletionApiModule.html":{}},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/DeletionApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["deletionclient",{"_index":2806,"title":{"injectables/DeletionClient.html":{}},"body":{"injectables/BatchDeletionService.html":{},"injectables/DeletionClient.html":{},"modules/DeletionConsoleModule.html":{},"injectables/DeletionExecutionUc.html":{}}}],["deletionclientconfig",{"_index":8964,"title":{"interfaces/DeletionClientConfig.html":{}},"body":{"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{}}}],["deletioncommand",{"_index":8911,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["deletionconsolemodule",{"_index":9005,"title":{"modules/DeletionConsoleModule.html":{}},"body":{"modules/DeletionConsoleModule.html":{}}}],["deletiondomainmodel",{"_index":9104,"title":{},"body":{"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{}}}],["deletiondomainmodel.user",{"_index":9311,"title":{},"body":{"classes/DeletionRequestFactory.html":{}}}],["deletionexecutionconsole",{"_index":9018,"title":{"classes/DeletionExecutionConsole.html":{}},"body":{"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{}}}],["deletionexecutionparams",{"_index":9039,"title":{"classes/DeletionExecutionParams.html":{}},"body":{"classes/DeletionExecutionParams.html":{},"controllers/DeletionExecutionsController.html":{}}}],["deletionexecutionquery",{"_index":9075,"title":{},"body":{"controllers/DeletionExecutionsController.html":{}}}],["deletionexecutions",{"_index":9069,"title":{},"body":{"controllers/DeletionExecutionsController.html":{}}}],["deletionexecutionscontroller",{"_index":8928,"title":{"controllers/DeletionExecutionsController.html":{}},"body":{"modules/DeletionApiModule.html":{},"controllers/DeletionExecutionsController.html":{}}}],["deletionexecutiontriggerresult",{"_index":9029,"title":{"interfaces/DeletionExecutionTriggerResult.html":{}},"body":{"classes/DeletionExecutionConsole.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["deletionexecutiontriggerresultbuilder",{"_index":9028,"title":{"classes/DeletionExecutionTriggerResultBuilder.html":{}},"body":{"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["deletionexecutiontriggerresultbuilder.buildfailure(err",{"_index":9037,"title":{},"body":{"classes/DeletionExecutionConsole.html":{}}}],["deletionexecutiontriggerresultbuilder.buildsuccess",{"_index":9036,"title":{},"body":{"classes/DeletionExecutionConsole.html":{}}}],["deletionexecutiontriggerstatus",{"_index":9047,"title":{},"body":{"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["deletionexecutionuc",{"_index":9009,"title":{"injectables/DeletionExecutionUc.html":{}},"body":{"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"injectables/DeletionExecutionUc.html":{}}}],["deletionlog",{"_index":9083,"title":{"classes/DeletionLog.html":{}},"body":{"classes/DeletionLog.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{}}}],["deletionlogentities",{"_index":9182,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["deletionlogentity",{"_index":9113,"title":{"entities/DeletionLogEntity.html":{}},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{}}}],["deletionlogentityprops",{"_index":9124,"title":{"interfaces/DeletionLogEntityProps.html":{}},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["deletionlogid",{"_index":9176,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["deletionlogmapper",{"_index":9140,"title":{"classes/DeletionLogMapper.html":{}},"body":{"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{}}}],["deletionlogmapper.maptodo(deletionlog",{"_index":9181,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["deletionlogmapper.maptodos(deletionlogentities",{"_index":9185,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["deletionlogmapper.maptoentity(deletionlog",{"_index":9186,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["deletionlogprops",{"_index":9106,"title":{"interfaces/DeletionLogProps.html":{}},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["deletionlogrepo",{"_index":9165,"title":{"injectables/DeletionLogRepo.html":{}},"body":{"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"modules/DeletionModule.html":{}}}],["deletionlogs",{"_index":9125,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"injectables/DeletionLogService.html":{}}}],["deletionlogservice",{"_index":9188,"title":{"injectables/DeletionLogService.html":{}},"body":{"injectables/DeletionLogService.html":{},"modules/DeletionModule.html":{}}}],["deletionlogstatistic",{"_index":9202,"title":{"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{}},"body":{"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{}}}],["deletionlogstatisticbuilder",{"_index":9215,"title":{"classes/DeletionLogStatisticBuilder.html":{}},"body":{"classes/DeletionLogStatisticBuilder.html":{}}}],["deletionmodule",{"_index":8918,"title":{"modules/DeletionModule.html":{}},"body":{"modules/DeletionApiModule.html":{},"modules/DeletionModule.html":{}}}],["deletionoperationmodel",{"_index":9105,"title":{},"body":{"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{}}}],["deletionplannedat",{"_index":2825,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps-1.html":{},"classes/DeletionRequestResponse.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef-1.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["deletionqueueconsole",{"_index":9016,"title":{"classes/DeletionQueueConsole.html":{}},"body":{"modules/DeletionConsoleModule.html":{},"classes/DeletionQueueConsole.html":{}}}],["deletionrequest",{"_index":9256,"title":{"classes/DeletionRequest.html":{}},"body":{"classes/DeletionRequest.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["deletionrequest.executed",{"_index":9390,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequest.failed",{"_index":9392,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestbody",{"_index":9449,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["deletionrequestbodyprops",{"_index":9274,"title":{"classes/DeletionRequestBodyProps.html":{}},"body":{"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"controllers/DeletionRequestsController.html":{}}}],["deletionrequestbodypropsbuilder",{"_index":9281,"title":{"classes/DeletionRequestBodyPropsBuilder.html":{}},"body":{"classes/DeletionRequestBodyPropsBuilder.html":{}}}],["deletionrequestcreateanswer",{"_index":9214,"title":{"interfaces/DeletionRequestCreateAnswer.html":{}},"body":{"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef-1.html":{}}}],["deletionrequestentities",{"_index":9382,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestentities.map((entity",{"_index":9384,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestentity",{"_index":9285,"title":{"entities/DeletionRequestEntity.html":{}},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{}}}],["deletionrequestentity.id",{"_index":9388,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestentityprops",{"_index":9294,"title":{"interfaces/DeletionRequestEntityProps.html":{}},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["deletionrequestfactory",{"_index":9304,"title":{"classes/DeletionRequestFactory.html":{}},"body":{"classes/DeletionRequestFactory.html":{}}}],["deletionrequestfactory.define(deletionrequest",{"_index":9310,"title":{},"body":{"classes/DeletionRequestFactory.html":{}}}],["deletionrequestid",{"_index":9088,"title":{},"body":{"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["deletionrequestinput",{"_index":2828,"title":{"interfaces/DeletionRequestInput.html":{}},"body":{"injectables/BatchDeletionService.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{}}}],["deletionrequestinputbuilder",{"_index":2814,"title":{"classes/DeletionRequestInputBuilder.html":{}},"body":{"injectables/BatchDeletionService.html":{},"classes/DeletionRequestInputBuilder.html":{}}}],["deletionrequestinputbuilder.build",{"_index":2829,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["deletionrequestitem",{"_index":9284,"title":{},"body":{"classes/DeletionRequestBodyPropsBuilder.html":{}}}],["deletionrequestlog",{"_index":9209,"title":{"interfaces/DeletionRequestLog.html":{}},"body":{"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef-1.html":{}}}],["deletionrequestlogresponse",{"_index":9323,"title":{"classes/DeletionRequestLogResponse.html":{}},"body":{"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"controllers/DeletionRequestsController.html":{}}}],["deletionrequestlogresponsebuilder",{"_index":9335,"title":{"classes/DeletionRequestLogResponseBuilder.html":{}},"body":{"classes/DeletionRequestLogResponseBuilder.html":{}}}],["deletionrequestmapper",{"_index":9338,"title":{"classes/DeletionRequestMapper.html":{}},"body":{"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestmapper.maptodo(deletionrequest",{"_index":9377,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestmapper.maptodo(entity",{"_index":9385,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestmapper.maptoentity(deletionrequest",{"_index":9378,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestoutput",{"_index":2834,"title":{"interfaces/DeletionRequestOutput.html":{}},"body":{"injectables/BatchDeletionService.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{}}}],["deletionrequestoutput.deletionplannedat",{"_index":2840,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["deletionrequestoutput.requestid",{"_index":2839,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["deletionrequestoutputbuilder",{"_index":9350,"title":{"classes/DeletionRequestOutputBuilder.html":{}},"body":{"classes/DeletionRequestOutputBuilder.html":{}}}],["deletionrequestprops",{"_index":9212,"title":{"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{}},"body":{"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef-1.html":{}}}],["deletionrequestrepo",{"_index":9224,"title":{"injectables/DeletionRequestRepo.html":{}},"body":{"modules/DeletionModule.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["deletionrequestresponse",{"_index":9394,"title":{"classes/DeletionRequestResponse.html":{}},"body":{"classes/DeletionRequestResponse.html":{},"controllers/DeletionRequestsController.html":{}}}],["deletionrequests",{"_index":8969,"title":{},"body":{"injectables/DeletionClient.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"controllers/DeletionRequestsController.html":{}}}],["deletionrequestscontroller",{"_index":8927,"title":{"controllers/DeletionRequestsController.html":{}},"body":{"modules/DeletionApiModule.html":{},"controllers/DeletionRequestsController.html":{}}}],["deletionrequestscope",{"_index":9374,"title":{"classes/DeletionRequestScope.html":{}},"body":{"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{}}}],["deletionrequestscope().bydeleteafter(currentdate).bystatus",{"_index":9381,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestservice",{"_index":9223,"title":{"injectables/DeletionRequestService.html":{}},"body":{"modules/DeletionModule.html":{},"injectables/DeletionRequestService.html":{}}}],["deletionrequesttargetrefinput",{"_index":9314,"title":{"interfaces/DeletionRequestTargetRefInput.html":{}},"body":{"interfaces/DeletionRequestInput.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{}}}],["deletionrequesttargetrefinputbuilder",{"_index":9320,"title":{"classes/DeletionRequestTargetRefInputBuilder.html":{}},"body":{"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{}}}],["deletionrequesttargetrefinputbuilder.build(targetrefdomain",{"_index":9322,"title":{},"body":{"classes/DeletionRequestInputBuilder.html":{}}}],["deletionrequesttoupdate",{"_index":9422,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["deletionrequestuc",{"_index":8925,"title":{},"body":{"modules/DeletionApiModule.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{}}}],["deletions",{"_index":8887,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["deletionstatusmodel",{"_index":9269,"title":{},"body":{"classes/DeletionRequest.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestProps.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{}}}],["deletionstatusmodel.failed",{"_index":9303,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestScope.html":{}}}],["deletionstatusmodel.registered",{"_index":9312,"title":{},"body":{"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{}}}],["deletionstatusmodel.success",{"_index":9302,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["deletiontargetref",{"_index":9204,"title":{"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{}},"body":{"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionRequestBodyProps.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{}}}],["deletiontargetrefbuilder",{"_index":9466,"title":{"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{}},"body":{"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{}}}],["dem",{"_index":5499,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["demand",{"_index":16779,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["denied",{"_index":24954,"title":{},"body":{"license.html":{}}}],["denominated",{"_index":25073,"title":{},"body":{"license.html":{}}}],["depend",{"_index":25418,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["dependencies",{"_index":255,"title":{"dependencies.html":{}},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"modules/DatabaseManagementModule.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FeathersModule.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolModule.html":{},"modules/LessonApiModule.html":{},"modules/LessonModule.html":{},"modules/LoggerModule.html":{},"modules/LtiToolModule.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/NewsModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/OauthProviderServiceModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"modules/PseudonymModule.html":{},"modules/RedisModule.html":{},"modules/RegistrationPinModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{},"dependencies.html":{},"index.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["dependency",{"_index":1714,"title":{},"body":{"injectables/AuthenticationService.html":{},"modules/BoardModule.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{},"injectables/ToolPermissionHelper.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["dependent",{"_index":25926,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["depending",{"_index":12021,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["depends",{"_index":12010,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["deployment",{"_index":14763,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["deployments",{"_index":25487,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["deprecated",{"_index":102,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/CommonToolService.html":{},"injectables/CourseCopyUC.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/PermissionService.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{},"interfaces/UserBoardRoles.html":{},"injectables/UserService.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["deprecated.controller.ts",{"_index":24144,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["deprecated.controller.ts:106",{"_index":24151,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["deprecated.controller.ts:46",{"_index":24149,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["deprecated.controller.ts:86",{"_index":24153,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["deprecated.response",{"_index":24158,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["deprecated.response.ts",{"_index":9474,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{}}}],["deprecated.response.ts:10",{"_index":24007,"title":{},"body":{"classes/VideoConferenceBaseResponse.html":{}}}],["deprecated.response.ts:12",{"_index":24006,"title":{},"body":{"classes/VideoConferenceBaseResponse.html":{}}}],["deprecated.response.ts:25",{"_index":9497,"title":{},"body":{"classes/DeprecatedVideoConferenceJoinResponse.html":{}}}],["deprecated.response.ts:37",{"_index":9479,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{}}}],["deprecated.response.ts:43",{"_index":9478,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{}}}],["deprecated.response.ts:8",{"_index":24008,"title":{},"body":{"classes/VideoConferenceBaseResponse.html":{}}}],["deprecatedvideoconferenceinforesponse",{"_index":9471,"title":{"classes/DeprecatedVideoConferenceInfoResponse.html":{}},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["deprecatedvideoconferencejoinresponse",{"_index":9489,"title":{"classes/DeprecatedVideoConferenceJoinResponse.html":{}},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["deprive",{"_index":25081,"title":{},"body":{"license.html":{}}}],["depth",{"_index":3616,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/BoardNodeRepo.html":{}}}],["der",{"_index":5512,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["derivecopyname",{"_index":7273,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["derivecopyname(name",{"_index":7278,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["derivecopystatus",{"_index":7222,"title":{},"body":{"injectables/CopyFilesService.html":{},"injectables/TaskCopyService.html":{}}}],["derivecopystatus(filecopystatus",{"_index":21423,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["derivecopystatus(filedtos",{"_index":7232,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["derivecoursestatus",{"_index":7557,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["derivecoursestatus(originalcourse",{"_index":7566,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["derivestatusfromelements",{"_index":7274,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["derivestatusfromelements(elements",{"_index":7281,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["des",{"_index":5530,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["desc",{"_index":3945,"title":{},"body":{"injectables/BoardNodeRepo.html":{},"interfaces/IFindOptions.html":{},"interfaces/Pagination.html":{},"classes/SortingParams.html":{}}}],["descendant",{"_index":3936,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["descendant.path.match(`^${n.pathofchildren",{"_index":3944,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["descendants",{"_index":3497,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardNodeRepo.html":{}}}],["describe",{"_index":25464,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["describe(\"course",{"_index":25655,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["describe(\"when",{"_index":25657,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["describe('[method",{"_index":25686,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["describe('createcourse",{"_index":25656,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["describe('somefunction",{"_index":25760,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["describe('when",{"_index":25687,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["described",{"_index":16983,"title":{},"body":{"classes/OauthClientBody.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["describes",{"_index":2553,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["description",{"_index":157,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"classes/AcceptQuery.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"controllers/AccountController.html":{},"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ApiValidationErrorResponse.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/BBBService.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/BoardElementResponse.html":{},"classes/BoardManagementConsole.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardUrlParams.html":{},"injectables/BsonConverter.html":{},"classes/BusinessError.html":{},"classes/CardIdsParams.html":{},"classes/CardSkeletonResponse.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"interfaces/CleanOptions.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"classes/ColumnBoardFactory.html":{},"classes/ColumnUrlParams.html":{},"classes/CommonCartridgeLtiResource.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ConverterUtil.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"modules/CoreModule.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"classes/CourseUrlParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeleteFilesConsole.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestFactory.html":{},"controllers/DeletionRequestsController.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"modules/ErrorModule.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolSearchParams.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileMetadata.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordParams.html":{},"injectables/FileSystemAdapter.html":{},"classes/FileUrlParams.html":{},"classes/FilterNewsParams.html":{},"classes/GlobalValidationPipe.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"classes/IdParams.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"classes/LdapConfigEntity.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonCopyApiParams.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibraryName.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/ListOauthClientsParams.html":{},"controllers/LoginController.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"classes/LtiToolFactory.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{},"interfaces/MigrationOptions.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/NewsListResponse.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/OAuthRejectableBody.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthLoginResponse.html":{},"classes/OidcConfigEntity.html":{},"interfaces/Options.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"classes/PreviewParams.html":{},"controllers/PseudonymController.html":{},"classes/PublicSystemResponse.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameFileParams.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/RocketChatUserFactory.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolInfoResponse.html":{},"classes/ServerConsole.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionUrlParams.html":{},"controllers/SystemController.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"injectables/TeamPermissionsMapper.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserFactory.html":{},"classes/TestApiClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TldrawDeleteParams.html":{},"injectables/TldrawWsService.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequestResponse.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceResponse.html":{},"controllers/ToolSchoolController.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserInfoResponse.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParams.html":{},"classes/UsersList.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/WsSharedDocDo.html":{},"index.html":{},"properties.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["description(value",{"_index":9545,"title":{},"body":{"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["description.a",{"_index":25631,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["descriptioncommit",{"_index":25833,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["descriptioninputformat",{"_index":13615,"title":{},"body":{"interfaces/ITask.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{}}}],["descriptionoroptions",{"_index":14854,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["descriptions",{"_index":21339,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["descriptive",{"_index":13793,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["deserialize",{"_index":4177,"title":{},"body":{"injectables/BsonConverter.html":{},"interfaces/CollectionFilePath.html":{}}}],["deserialize(bsondocuments",{"_index":4179,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["deserializes",{"_index":4181,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["design",{"_index":25208,"title":{"additional-documentation/nestjs-application/api-design.html":{}},"body":{"properties.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["designated",{"_index":24893,"title":{},"body":{"license.html":{}}}],["designed",{"_index":24650,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["desireable",{"_index":17338,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["desired",{"_index":25685,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["destination",{"_index":7068,"title":{},"body":{"classes/CopyApiResponse.html":{},"classes/LessonCopyApiParams.html":{},"classes/TaskCopyApiParams.html":{}}}],["destinationcourse",{"_index":3273,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CourseCopyService.html":{},"injectables/LessonCopyUC.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["destinationcourse).then((status",{"_index":3334,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["destinationcourse.id",{"_index":3359,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["destinationcourseid",{"_index":7066,"title":{},"body":{"classes/CopyApiResponse.html":{},"classes/ShareTokenImportBodyParams.html":{},"injectables/ShareTokenUC.html":{}}}],["destinationexternalreference",{"_index":3358,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ColumnBoardCopyService.html":{}}}],["destinationlesson",{"_index":21421,"title":{},"body":{"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["destroy",{"_index":22413,"title":{},"body":{"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{}}}],["destroyed",{"_index":18336,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["detail",{"_index":25136,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["detail.builder.ts",{"_index":2871,"title":{},"body":{"classes/BatchDeletionSummaryDetailBuilder.html":{}}}],["detail.builder.ts:5",{"_index":2873,"title":{},"body":{"classes/BatchDeletionSummaryDetailBuilder.html":{}}}],["detail.interface",{"_index":2859,"title":{},"body":{"interfaces/BatchDeletionSummary.html":{}}}],["detail.interface.ts",{"_index":2867,"title":{},"body":{"interfaces/BatchDeletionSummaryDetail.html":{}}}],["detail.response",{"_index":1402,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["detail.response.ts",{"_index":23951,"title":{},"body":{"classes/ValidationErrorDetailResponse.html":{}}}],["detail.response.ts:1",{"_index":23953,"title":{},"body":{"classes/ValidationErrorDetailResponse.html":{}}}],["detailed",{"_index":25403,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["details",{"_index":1355,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AuthorizationError.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"controllers/DeletionRequestsController.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorResponse.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/IdentityManagementService.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["detect",{"_index":5274,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["detectable",{"_index":22859,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["detectcontenttypeorthrow",{"_index":10295,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["detectcontenttypeorthrow(imagebuffer",{"_index":10303,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["detected",{"_index":11841,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["detection",{"_index":75,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["determine",{"_index":25400,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["determineinput",{"_index":18071,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["determineinput(systemid",{"_index":18080,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["determinelaunchrequestmethod",{"_index":2729,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["determinelaunchrequestmethod(properties",{"_index":2746,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["determinenewroomsin",{"_index":8325,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["determinenewroomsin(rooms",{"_index":8348,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["determineschooltoolstatus",{"_index":19801,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["determineschooltoolstatus(tool",{"_index":19810,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["determinetoolconfigurationstatus",{"_index":6045,"title":{},"body":{"injectables/CommonToolService.html":{},"injectables/ToolVersionService.html":{}}}],["determinetoolconfigurationstatus(externaltool",{"_index":6049,"title":{},"body":{"injectables/CommonToolService.html":{},"injectables/ToolVersionService.html":{}}}],["determining",{"_index":17742,"title":{},"body":{"classes/PatchOrderParams.html":{},"license.html":{}}}],["deubg",{"_index":25814,"title":{},"body":{"additional-documentation/nestjs-application/vscode.html":{}}}],["dev",{"_index":25326,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["develop",{"_index":14764,"title":{},"body":{"controllers/KeycloakManagementController.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["developer",{"_index":6261,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["developers",{"_index":24670,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["development",{"_index":4887,"title":{},"body":{"interfaces/CleanOptions.html":{},"interfaces/FileStorageConfig.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"interfaces/ServerConfig.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["devices",{"_index":4498,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["dfsdfsf",{"_index":24630,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["di",{"_index":25527,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["dialnumber",{"_index":2245,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["dictionary",{"_index":12277,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["didn't",{"_index":8984,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["didnt",{"_index":25845,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["diff",{"_index":22227,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["diffenrent",{"_index":25262,"title":{},"body":{"todo.html":{}}}],["differ",{"_index":25135,"title":{},"body":{"license.html":{}}}],["different",{"_index":1218,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/CardSkeletonResponse.html":{},"injectables/NewsRepo.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ToolPermissionHelper.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"index.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["differentiation",{"_index":25980,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["differently",{"_index":24973,"title":{},"body":{"license.html":{}}}],["differs",{"_index":25675,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["dim",{"_index":9244,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["dir",{"_index":5201,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["direct",{"_index":14507,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["direction",{"_index":24797,"title":{},"body":{"license.html":{}}}],["directions",{"_index":24899,"title":{},"body":{"license.html":{}}}],["directly",{"_index":810,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["directories",{"_index":11526,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["directory",{"_index":12003,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["dirnameprefix",{"_index":12007,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["dirpath",{"_index":12042,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["disable",{"_index":1087,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ConsoleWriterService.html":{},"entities/CourseNews.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ErrorLoggable.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileMetadata.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GlobalErrorFilter.html":{},"modules/H5PEditorModule.html":{},"injectables/HydraOauthUc.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"entities/InstalledLibrary.html":{},"classes/JwtExtractor.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LegacySystemRepo.html":{},"classes/LibraryName.html":{},"controllers/LoginController.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsUc.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Path.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"entities/SchoolNews.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{},"classes/TestBootstrapConsole.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawModule.html":{},"classes/TldrawWs.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserRepo.html":{},"todo.html":{}}}],["disabled",{"_index":16860,"title":{},"body":{"injectables/OAuthService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["disableextratitlefield",{"_index":11617,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["disallow",{"_index":25982,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["disclaim",{"_index":24829,"title":{},"body":{"license.html":{}}}],["disclaimer",{"_index":25144,"title":{},"body":{"license.html":{}}}],["disclaiming",{"_index":24970,"title":{},"body":{"license.html":{}}}],["discovery",{"_index":2558,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/OauthClientBody.html":{},"todo.html":{}}}],["discriminator",{"_index":9527,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["discriminatorcolumn",{"_index":3723,"title":{},"body":{"entities/BoardElement.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/CourseNews.html":{},"classes/ExternalToolConfigEntity.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["discriminatorvalue",{"_index":2701,"title":{},"body":{"classes/BasicToolConfigEntity.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{},"entities/ColumnboardBoardElement.html":{},"entities/CourseNews.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/LessonBoardElement.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/Oauth2ToolConfigEntity.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/SchoolNews.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{}}}],["discriminatory",{"_index":25095,"title":{},"body":{"license.html":{}}}],["discussed",{"_index":2626,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["discussion",{"_index":25452,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["discussion_enabled=false",{"_index":25946,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["disk",{"_index":22436,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["display",{"_index":11242,"title":{},"body":{"injectables/FeathersRosterService.html":{},"classes/OidcContextResponse.html":{},"interfaces/ProviderOidcContext.html":{},"classes/PublicSystemResponse.html":{},"classes/ToolReferenceResponse.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"license.html":{}}}],["displayat",{"_index":7765,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"interfaces/INewsScope.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"classes/UpdateNewsParams.html":{}}}],["displaycolor",{"_index":4063,"title":{},"body":{"classes/BoardTaskResponse.html":{},"entities/Course.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{},"classes/DtoCreator.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/UsersList.html":{}}}],["displayed",{"_index":7970,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/UpdateNewsParams.html":{},"license.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["displayname",{"_index":6642,"title":{},"body":{"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{},"classes/LdapConfigEntity.html":{},"injectables/LegacySystemService.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/PublicSystemResponse.html":{},"classes/System.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"interfaces/SystemProps.html":{},"classes/SystemResponseMapper.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/UserService.html":{}}}],["displays",{"_index":24745,"title":{},"body":{"license.html":{}}}],["disposable",{"_index":24480,"title":{},"body":{"dependencies.html":{}}}],["disposition",{"_index":7551,"title":{},"body":{"controllers/CourseController.html":{},"controllers/FileSecurityController.html":{},"classes/FilesStorageMapper.html":{},"controllers/FwuLearningContentsController.html":{}}}],["dist",{"_index":24556,"title":{},"body":{"dependencies.html":{},"additional-documentation/nestjs-application.html":{}}}],["distinguish",{"_index":16717,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["distinguished",{"_index":25667,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["distinguishing",{"_index":25139,"title":{},"body":{"license.html":{}}}],["distingush",{"_index":25984,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["distribute",{"_index":24644,"title":{},"body":{"license.html":{}}}],["distributed",{"_index":25193,"title":{},"body":{"license.html":{}}}],["distributing",{"_index":25098,"title":{},"body":{"license.html":{}}}],["distribution",{"_index":24705,"title":{},"body":{"license.html":{}}}],["div",{"_index":6557,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["dn",{"_index":4661,"title":{},"body":{"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["do.builder",{"_index":3488,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{}}}],["do.builder.ts",{"_index":3443,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:25",{"_index":3462,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:26",{"_index":3459,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:27",{"_index":3456,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:28",{"_index":3465,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:29",{"_index":3471,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:30",{"_index":3474,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:31",{"_index":3477,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:32",{"_index":3480,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:33",{"_index":3483,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:34",{"_index":3468,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.mapper",{"_index":14225,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["do.mapper.ts",{"_index":14188,"title":{},"body":{"classes/IservMapper.html":{}}}],["do.mapper.ts:14",{"_index":14195,"title":{},"body":{"classes/IservMapper.html":{}}}],["do.mapper.ts:6",{"_index":14192,"title":{},"body":{"classes/IservMapper.html":{}}}],["do.repo",{"_index":23778,"title":{},"body":{"modules/UserModule.html":{},"injectables/UserService.html":{}}}],["do.repo.ts",{"_index":3601,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/UserDORepo.html":{}}}],["do.repo.ts:13",{"_index":3612,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:15",{"_index":23260,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["do.repo.ts:150",{"_index":23247,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["do.repo.ts:160",{"_index":23259,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["do.repo.ts:20",{"_index":3619,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:23",{"_index":23250,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["do.repo.ts:28",{"_index":3617,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:41",{"_index":3621,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:55",{"_index":3631,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:61",{"_index":23256,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["do.repo.ts:67",{"_index":3624,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:77",{"_index":3626,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:78",{"_index":23253,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["do.repo.ts:84",{"_index":3629,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:86",{"_index":23251,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["do.repo.ts:89",{"_index":3634,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:95",{"_index":3614,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.rule.ts",{"_index":3677,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["do.rule.ts:11",{"_index":3683,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["do.rule.ts:17",{"_index":3681,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["do.rule.ts:8",{"_index":3680,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["do.service",{"_index":4472,"title":{},"body":{"injectables/CardService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{},"injectables/SubmissionItemService.html":{}}}],["do.service.ts",{"_index":3694,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["do.service.ts:20",{"_index":3703,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["do.service.ts:6",{"_index":3697,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["do.service.ts:9",{"_index":3699,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["dobasefactory",{"_index":4665,"title":{"classes/DoBaseFactory.html":{}},"body":{"classes/ClassFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/UserDoFactory.html":{}}}],["dobasefactory.define(basictoolconfig",{"_index":8201,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["dobasefactory.define(lti11toolconfig",{"_index":8219,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["doc",{"_index":22237,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["doc).catch",{"_index":22497,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["doc.awareness.getstates",{"_index":22530,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["doc.conns.delete(ws",{"_index":22471,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["doc.conns.foreach((_",{"_index":22492,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["doc.conns.get(ws",{"_index":22470,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["doc.conns.has(ws",{"_index":22468,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["doc.conns.set(ws",{"_index":22513,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["doc.conns.size",{"_index":22474,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["doc.destroy",{"_index":22477,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["doc.do",{"_index":22244,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{}}}],["doc.do.ts",{"_index":24351,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["doc.do.ts:11",{"_index":24361,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["doc.do.ts:13",{"_index":24358,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["doc.do.ts:37",{"_index":24359,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["doc.do.ts:50",{"_index":24364,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["doc.do.ts:72",{"_index":24366,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["doc.do.ts:83",{"_index":24369,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["doc.do.ts:9",{"_index":24362,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["doc.emit('error",{"_index":22509,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["docker",{"_index":25281,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["docker.io/mongo",{"_index":25913,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["docker.io/rocketchat/rocket.chat:4.7.2envs",{"_index":25955,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["doclass",{"_index":3618,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["doclass.name",{"_index":3646,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["docname",{"_index":9556,"title":{},"body":{"injectables/DrawingElementAdapterService.html":{},"classes/TestConnection.html":{},"injectables/TldrawBoardRepo.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{}}}],["docname.'})@apiresponse({status",{"_index":22303,"title":{},"body":{"controllers/TldrawController.html":{}}}],["docname.length",{"_index":22389,"title":{},"body":{"classes/TldrawWs.html":{}}}],["docs",{"_index":22419,"title":{},"body":{"injectables/TldrawWsService.html":{},"todo.html":{}}}],["document",{"_index":7065,"title":{},"body":{"classes/CopyApiResponse.html":{},"classes/CreateNewsParams.html":{},"injectables/NewsRepo.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"controllers/TldrawController.html":{},"classes/TldrawWs.html":{},"classes/UpdateNewsParams.html":{},"index.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["document/${docname",{"_index":9560,"title":{},"body":{"injectables/DrawingElementAdapterService.html":{}}}],["documentation",{"_index":24572,"title":{},"body":{"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["documented",{"_index":24958,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/api-design.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["documents",{"_index":4182,"title":{},"body":{"injectables/BsonConverter.html":{},"interfaces/CollectionFilePath.html":{},"injectables/DatabaseManagementService.html":{},"injectables/NewsRepo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["doe",{"_index":23330,"title":{},"body":{"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["doe${sequence",{"_index":13916,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["doescourseexist",{"_index":3798,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["doescourseexist(courseid",{"_index":3809,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["doesmatch",{"_index":149,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["doesn't",{"_index":2909,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"injectables/LessonUC.html":{},"injectables/OAuthService.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["doesnt",{"_index":18557,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["doesurlmatch",{"_index":115,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{},"interfaces/UrlHandler.html":{}}}],["doesurlmatch(url",{"_index":120,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{},"interfaces/UrlHandler.html":{}}}],["doing",{"_index":25449,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["domain",{"_index":1882,"title":{"additional-documentation/nestjs-application/domain-object-validation.html":{}},"body":{"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/BaseRepo.html":{},"classes/ClassMapper.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DomainObjectFactory.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolMetadataMapper.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FederalStateService.html":{},"interfaces/FileDomainObjectProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"injectables/FilesRepo.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/LegacySchoolDo.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/OidcProvisioningService.html":{},"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"injectables/PseudonymService.html":{},"classes/ResolvedGroupDto.html":{},"injectables/RocketChatUserService.html":{},"classes/RoleNameMapper.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolYearService.html":{},"classes/SystemDomainMapper.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{},"classes/VideoConferenceCreateParams.html":{},"properties.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["domain)scopes",{"_index":25990,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["domain.mapper",{"_index":12802,"title":{},"body":{"injectables/GroupRepo.html":{},"injectables/SystemRepo.html":{}}}],["domain.mapper.ts",{"_index":12706,"title":{},"body":{"classes/GroupDomainMapper.html":{},"classes/SystemDomainMapper.html":{}}}],["domain.mapper.ts:16",{"_index":12713,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["domain.mapper.ts:21",{"_index":21066,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["domain.mapper.ts:41",{"_index":21064,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["domain.mapper.ts:44",{"_index":12716,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["domain.mapper.ts:5",{"_index":21062,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["domain.mapper.ts:61",{"_index":12720,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["domain.mapper.ts:73",{"_index":12718,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["domain.mapper.ts:82",{"_index":12725,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["domain.mapper.ts:91",{"_index":12723,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["domain.trim",{"_index":20130,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["domain/class",{"_index":4736,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domain/deletion",{"_index":9149,"title":{},"body":{"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["domain/external",{"_index":10315,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"controllers/ToolController.html":{}}}],["domain/rocket",{"_index":18922,"title":{},"body":{"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{}}}],["domain/rules",{"_index":1883,"title":{},"body":{"modules/AuthorizationModule.html":{}}}],["domain/types",{"_index":9123,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["domain/types/deletion",{"_index":9206,"title":{},"body":{"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder-1.html":{}}}],["domain/ws",{"_index":22243,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"injectables/TldrawWsService.html":{}}}],["domainblacklist",{"_index":16041,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["domainentity",{"_index":8601,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["domainerror",{"_index":19240,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["domainobject",{"_index":1770,"title":{"classes/DomainObject.html":{}},"body":{"interfaces/AuthorizableObject.html":{},"injectables/BaseDORepo.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/BoardDoBuilder.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoService.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/Card.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/Class.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/DeletionLog.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"classes/ExternalToolElement.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/FileElement.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"injectables/GroupRule.html":{},"injectables/LegacySchoolRepo.html":{},"classes/LinkElement.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/LtiToolDO.html":{},"injectables/LtiToolRepo.html":{},"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextElement.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"classes/RocketChatUser.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/ShareTokenDO.html":{},"injectables/ShareTokenRepo.html":{},"classes/SubmissionContainerElement.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionItem.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"classes/System.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"injectables/SystemRule.html":{},"injectables/SystemService.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/VideoConferenceDO.html":{},"injectables/VideoConferenceRepo.html":{}}}],["domainobject.acceptasync(this.deletevisitor",{"_index":3675,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["domainobject.authtoken",{"_index":18930,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["domainobject.birthday",{"_index":23240,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.closedat",{"_index":23558,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["domainobject.context",{"_index":20332,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["domainobject.context?.contextid",{"_index":20398,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["domainobject.context?.contexttype",{"_index":20397,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["domainobject.createdat",{"_index":9157,"title":{},"body":{"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{},"classes/RocketChatUserMapper.html":{},"classes/UserDO.html":{}}}],["domainobject.customs",{"_index":8122,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.deleteafter",{"_index":9346,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["domainobject.deletedcount",{"_index":9162,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["domainobject.domain",{"_index":9159,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["domainobject.email",{"_index":23222,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.emailsearchvalues",{"_index":23233,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.expiresat",{"_index":20333,"title":{},"body":{"classes/ShareTokenDO.html":{},"injectables/ShareTokenRepo.html":{}}}],["domainobject.externalid",{"_index":23226,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.finishedat",{"_index":23559,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["domainobject.firstname",{"_index":23223,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.firstnamesearchvalues",{"_index":23229,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.forcepasswordchange",{"_index":23235,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.friendlyurl",{"_index":8128,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.frontchannel_logout_uri",{"_index":8131,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.gradelevel",{"_index":4761,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject.id",{"_index":2496,"title":{},"body":{"injectables/BaseDORepo.html":{},"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/GroupRepo.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RocketChatUserMapper.html":{},"injectables/SystemRepo.html":{},"classes/UserLoginMigrationMapper.html":{}}}],["domainobject.importhash",{"_index":23227,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.invitationlink",{"_index":4758,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject.ishidden",{"_index":8132,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.islocal",{"_index":8124,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.istemplate",{"_index":8123,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.key",{"_index":8114,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.language",{"_index":23234,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.lastloginsystemchange",{"_index":23237,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.lastname",{"_index":23224,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.lastnamesearchvalues",{"_index":23231,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.ldapdn",{"_index":4762,"title":{},"body":{"classes/ClassMapper.html":{},"classes/UserDO.html":{}}}],["domainobject.logo_url",{"_index":8116,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.lti_message_type",{"_index":8117,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.lti_version",{"_index":8118,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.mandatorysince",{"_index":23560,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["domainobject.modifiedcount",{"_index":9161,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["domainobject.name",{"_index":4753,"title":{},"body":{"classes/ClassMapper.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.oauthclientid",{"_index":8127,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.opennewtab",{"_index":8130,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.operation",{"_index":9160,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["domainobject.options",{"_index":24142,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["domainobject.organizationid",{"_index":12891,"title":{},"body":{"injectables/GroupRule.html":{}}}],["domainobject.origintoolid",{"_index":8126,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.outdatedsince",{"_index":23238,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.payload",{"_index":20331,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["domainobject.payload.parentid",{"_index":20396,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["domainobject.payload.parenttype",{"_index":20395,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["domainobject.performedat",{"_index":9164,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["domainobject.preferences",{"_index":23236,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.previousexternalid",{"_index":23239,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.privacy_permission",{"_index":8121,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.rcid",{"_index":18929,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["domainobject.removeuser(userid",{"_index":4796,"title":{},"body":{"injectables/ClassService.html":{}}}],["domainobject.resource_link_id",{"_index":8119,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.roles",{"_index":8120,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{},"classes/UserDO.html":{}}}],["domainobject.schoolid",{"_index":23225,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.secret",{"_index":8115,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.skipconsent",{"_index":8129,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.source",{"_index":4765,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject.sourceoptions",{"_index":4766,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject.sourcesystemid",{"_index":23555,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["domainobject.startedat",{"_index":23557,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["domainobject.status",{"_index":9348,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["domainobject.successor",{"_index":4763,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject.target",{"_index":24140,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["domainobject.targetmodel",{"_index":24141,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["domainobject.targetrefdomain",{"_index":9345,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["domainobject.targetrefid",{"_index":9347,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["domainobject.targetsystemid",{"_index":23556,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["domainobject.teacherids.map((teacherid",{"_index":4755,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject.token",{"_index":20330,"title":{},"body":{"classes/ShareTokenDO.html":{},"injectables/ShareTokenRepo.html":{}}}],["domainobject.updatedat",{"_index":9158,"title":{},"body":{"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{},"classes/RocketChatUserMapper.html":{},"classes/UserDO.html":{}}}],["domainobject.url",{"_index":8113,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.userids",{"_index":4795,"title":{},"body":{"injectables/ClassService.html":{}}}],["domainobject.userids?.map((userid",{"_index":4757,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject.username",{"_index":18928,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["domainobject.year",{"_index":4759,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject/share",{"_index":16285,"title":{},"body":{"classes/MetadataTypeMapper.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TokenGenerator.html":{}}}],["domainobject:18",{"_index":3066,"title":{},"body":{"classes/BoardComposite.html":{},"classes/BoardDoAuthorizable.html":{},"classes/Card.html":{},"classes/Class.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/Group.html":{},"classes/LinkElement.html":{},"classes/Pseudonym.html":{},"classes/RichTextElement.html":{},"classes/RocketChatUser.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{},"classes/System.html":{}}}],["domainobject:8",{"_index":3048,"title":{},"body":{"classes/BoardComposite.html":{},"classes/BoardDoAuthorizable.html":{},"classes/Card.html":{},"classes/Class.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/Group.html":{},"classes/LinkElement.html":{},"classes/Pseudonym.html":{},"classes/RichTextElement.html":{},"classes/RocketChatUser.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{},"classes/System.html":{}}}],["domainobjectfactory",{"_index":9505,"title":{"classes/DomainObjectFactory.html":{}},"body":{"classes/DomainObjectFactory.html":{}}}],["domainobjects",{"_index":2460,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BoardDoRepo.html":{},"classes/ClassMapper.html":{},"injectables/ClassService.html":{},"classes/DeletionLogMapper.html":{},"injectables/ExternalToolRepo.html":{},"injectables/GroupRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["domainobjects.foreach((child",{"_index":18525,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["domainobjects.map((domainobject",{"_index":4768,"title":{},"body":{"classes/ClassMapper.html":{},"injectables/ClassService.html":{},"classes/DeletionLogMapper.html":{}}}],["domainrolenames",{"_index":23728,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["domainroles",{"_index":23726,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["domainroles.map((role",{"_index":23729,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["domains",{"_index":24481,"title":{},"body":{"dependencies.html":{}}}],["domigration",{"_index":19930,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["domigration(externalid",{"_index":19941,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["domigration(userdo",{"_index":23750,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["don't",{"_index":2568,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"injectables/OAuthService.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"index.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["done",{"_index":9844,"title":{},"body":{"classes/ErrorLoggable.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/XApiKeyStrategy.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["done(new",{"_index":24407,"title":{},"body":{"injectables/XApiKeyStrategy.html":{}}}],["done(null",{"_index":24406,"title":{},"body":{"injectables/XApiKeyStrategy.html":{}}}],["dont",{"_index":21485,"title":{},"body":{"injectables/TaskCopyUC.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["dos",{"_index":2524,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["dos.map((domainobj",{"_index":2526,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["dosomethingcrazy",{"_index":25696,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["dosomethingcrazy(x,y,z",{"_index":25701,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["dosomethingcrazy(x,y,z).catch(err",{"_index":25716,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["dosomethingcrazy(x,y,z).then(result",{"_index":25711,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["dosomethingcrazysync(wrong",{"_index":25719,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["doubtful",{"_index":24923,"title":{},"body":{"license.html":{}}}],["down",{"_index":25425,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["download",{"_index":17919,"title":{},"body":{"injectables/PreviewService.html":{}}}],["download(filerecord",{"_index":17927,"title":{},"body":{"injectables/PreviewService.html":{}}}],["download_uri",{"_index":1340,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["downloadbysecuritytoken",{"_index":11940,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["downloadbysecuritytoken(@param('token",{"_index":11953,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["downloadbysecuritytoken(token",{"_index":11942,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["downloadfileparams",{"_index":7161,"title":{"classes/DownloadFileParams.html":{}},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/FilesStorageMapper.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["downloadoriginfile",{"_index":17867,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["downloadoriginfile(pathtofile",{"_index":17873,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["downloaduri",{"_index":1333,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["downstream",{"_index":25029,"title":{},"body":{"license.html":{}}}],["draft",{"_index":21292,"title":{},"body":{"entities/Task.html":{},"classes/TaskFactory.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"classes/TaskWithStatusVo.html":{}}}],["drawing",{"_index":3134,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{}}}],["drawing.entity.ts",{"_index":22318,"title":{},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["drawing.entity.ts:21",{"_index":22320,"title":{},"body":{"entities/TldrawDrawing.html":{}}}],["drawing.entity.ts:24",{"_index":22323,"title":{},"body":{"entities/TldrawDrawing.html":{}}}],["drawing.entity.ts:27",{"_index":22325,"title":{},"body":{"entities/TldrawDrawing.html":{}}}],["drawing.entity.ts:30",{"_index":22324,"title":{},"body":{"entities/TldrawDrawing.html":{}}}],["drawing.entity.ts:33",{"_index":22322,"title":{},"body":{"entities/TldrawDrawing.html":{}}}],["drawing.entity.ts:36",{"_index":22321,"title":{},"body":{"entities/TldrawDrawing.html":{}}}],["drawingcontentbody",{"_index":6460,"title":{"classes/DrawingContentBody.html":{}},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["drawingelement",{"_index":3115,"title":{"classes/DrawingElement.html":{}},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["drawingelement.description",{"_index":6496,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["drawingelement.id",{"_index":18545,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["drawingelementadapterservice",{"_index":3863,"title":{"injectables/DrawingElementAdapterService.html":{}},"body":{"modules/BoardModule.html":{},"injectables/DrawingElementAdapterService.html":{},"injectables/RecursiveDeleteVisitor.html":{},"modules/TldrawClientModule.html":{}}}],["drawingelementcontent",{"_index":9561,"title":{"classes/DrawingElementContent.html":{}},"body":{"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{}}}],["drawingelementcontentbody",{"_index":9519,"title":{"classes/DrawingElementContentBody.html":{}},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["drawingelementcontentbody)@apiresponse({status",{"_index":9727,"title":{},"body":{"controllers/ElementController.html":{}}}],["drawingelementnode",{"_index":3464,"title":{"entities/DrawingElementNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["drawingelementnodeprops",{"_index":9570,"title":{"interfaces/DrawingElementNodeProps.html":{}},"body":{"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{}}}],["drawingelementprops",{"_index":9548,"title":{"interfaces/DrawingElementProps.html":{}},"body":{"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{}}}],["drawingelementresponse",{"_index":4372,"title":{"classes/DrawingElementResponse.html":{}},"body":{"controllers/CardController.html":{},"classes/CardResponse.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"controllers/ElementController.html":{}}}],["drawingelementresponsemapper",{"_index":6395,"title":{"classes/DrawingElementResponseMapper.html":{}},"body":{"classes/ContentElementResponseFactory.html":{},"classes/DrawingElementResponseMapper.html":{}}}],["drawingelementresponsemapper.getinstance",{"_index":6384,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["drawingelementresponsemapper.instance",{"_index":9585,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{}}}],["drawings",{"_index":22250,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/TldrawService.html":{}}}],["driven",{"_index":2625,"title":{},"body":{"injectables/BaseRepo.html":{},"properties.html":{}}}],["driver",{"_index":805,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["drivers",{"_index":818,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["drop/create",{"_index":5286,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["dropcollection",{"_index":8779,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["dropcollection(collectionname",{"_index":8790,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["dropcollectionifexists(collectionname",{"_index":5250,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["droplibrarycss",{"_index":11614,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["dry",{"_index":25438,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["dto",{"_index":100,"title":{},"body":{"classes/AbstractAccountService.html":{},"controllers/AccountController.html":{},"injectables/AccountServiceDb.html":{},"interfaces/BaseResponseMapper.html":{},"controllers/BoardController.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/CalendarEventDto.html":{},"controllers/CardController.html":{},"classes/CardResponseMapper.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"controllers/ColumnController.html":{},"classes/ColumnResponseMapper.html":{},"classes/ContentElementResponseFactory.html":{},"classes/CopyApiResponse.html":{},"injectables/CopyFilesService.html":{},"classes/CopyMapper.html":{},"controllers/CourseController.html":{},"classes/CourseMapper.html":{},"classes/CreateNewsParams.html":{},"controllers/DashboardController.html":{},"classes/DashboardMapper.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"controllers/ElementController.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElementResponseMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/FileElementResponseMapper.html":{},"controllers/FileSecurityController.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"controllers/GroupController.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{},"controllers/H5PEditorController.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"classes/LinkElementResponseMapper.html":{},"controllers/LoginController.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"controllers/NewsController.html":{},"classes/NewsMapper.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{},"controllers/OauthSSOController.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/PatchGroupParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemInputMapper.html":{},"controllers/PseudonymController.html":{},"classes/ResolvedUserMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"injectables/RoomBoardDTOFactory.html":{},"controllers/RoomsController.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolInfoMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenUC.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/SubmissionMapper.html":{},"controllers/SystemController.html":{},"injectables/SystemOidcService.html":{},"classes/TargetInfoMapper.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"classes/TaskResponse.html":{},"classes/TaskStatusMapper.html":{},"classes/TeamDto.html":{},"injectables/TeamMapper.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamPermissionsMapper.html":{},"classes/TeamUserDto.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"classes/UpdateNewsParams.html":{},"controllers/UserController.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserInfoMapper.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchMapper.html":{},"classes/VideoConference-1.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"injectables/VideoConferenceJoinUc.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["dto's",{"_index":25510,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["dto.availabledate",{"_index":21539,"title":{},"body":{"classes/TaskMapper.html":{}}}],["dto.bbbresponse",{"_index":23994,"title":{},"body":{"classes/VideoConference-1.html":{}}}],["dto.builder.ts",{"_index":11420,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["dto.builder.ts:13",{"_index":11429,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["dto.builder.ts:19",{"_index":11426,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["dto.builder.ts:7",{"_index":11424,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["dto.classes",{"_index":13979,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["dto.cookies",{"_index":13507,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["dto.createdat",{"_index":18776,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["dto.currentredirect",{"_index":13436,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["dto.description",{"_index":21537,"title":{},"body":{"classes/TaskMapper.html":{}}}],["dto.descriptioninputformat",{"_index":21552,"title":{},"body":{"classes/TaskMapper.html":{}}}],["dto.destinationcourseid",{"_index":7334,"title":{},"body":{"classes/CopyMapper.html":{}}}],["dto.displaycolor",{"_index":21543,"title":{},"body":{"classes/TaskMapper.html":{}}}],["dto.duedate",{"_index":21541,"title":{},"body":{"classes/TaskMapper.html":{}}}],["dto.elements",{"_index":7337,"title":{},"body":{"classes/CopyMapper.html":{}}}],["dto.factory",{"_index":19216,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["dto.factory.ts",{"_index":9592,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["dto.factory.ts:102",{"_index":9627,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:121",{"_index":9625,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:129",{"_index":9614,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:139",{"_index":9623,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:158",{"_index":9621,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:173",{"_index":9611,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:186",{"_index":19047,"title":{},"body":{"injectables/RoomBoardDTOFactory.html":{}}}],["dto.factory.ts:192",{"_index":19049,"title":{},"body":{"injectables/RoomBoardDTOFactory.html":{}}}],["dto.factory.ts:28",{"_index":9607,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:30",{"_index":9606,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:32",{"_index":9608,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:34",{"_index":9605,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:36",{"_index":9604,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:58",{"_index":9619,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:67",{"_index":9616,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:89",{"_index":9617,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:95",{"_index":9618,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.firstname",{"_index":13967,"title":{},"body":{"classes/ImportUserMapper.html":{},"classes/ResolvedUserMapper.html":{}}}],["dto.flagged",{"_index":13986,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["dto.groupelements",{"_index":8558,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["dto.groupid",{"_index":8557,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["dto.id",{"_index":7332,"title":{},"body":{"classes/CopyMapper.html":{},"classes/DashboardMapper.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/ResolvedUserMapper.html":{}}}],["dto.lastname",{"_index":13970,"title":{},"body":{"classes/ImportUserMapper.html":{},"classes/ResolvedUserMapper.html":{}}}],["dto.lessonhidden",{"_index":21547,"title":{},"body":{"classes/TaskMapper.html":{}}}],["dto.lessonname",{"_index":21546,"title":{},"body":{"classes/TaskMapper.html":{}}}],["dto.loginname",{"_index":13973,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["dto.mapper",{"_index":978,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["dto.mapper.abstract",{"_index":599,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{}}}],["dto.mapper.abstract.ts",{"_index":592,"title":{},"body":{"injectables/AccountIdmToDtoMapper.html":{}}}],["dto.mapper.abstract.ts:7",{"_index":594,"title":{},"body":{"injectables/AccountIdmToDtoMapper.html":{}}}],["dto.mapper.db.ts",{"_index":597,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{}}}],["dto.mapper.idm.ts",{"_index":606,"title":{},"body":{"classes/AccountIdmToDtoMapperIdm.html":{}}}],["dto.mapper.ts",{"_index":466,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["dto.mapper.ts:23",{"_index":474,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["dto.mapper.ts:29",{"_index":472,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["dto.mapper.ts:6",{"_index":477,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["dto.match",{"_index":13965,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["dto.matchedby",{"_index":23733,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["dto.matches",{"_index":13982,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["dto.options",{"_index":24196,"title":{},"body":{"classes/VideoConferenceInfo.html":{}}}],["dto.permission",{"_index":23995,"title":{},"body":{"classes/VideoConference-1.html":{},"classes/VideoConferenceJoin.html":{}}}],["dto.permissions",{"_index":16726,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"classes/ResolvedUserMapper.html":{}}}],["dto.provisioningstrategy",{"_index":18123,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["dto.provisioningurl",{"_index":18125,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["dto.response",{"_index":13439,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["dto.response.status",{"_index":13435,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["dto.role",{"_index":13976,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["dto.rolename",{"_index":16782,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["dto.roles",{"_index":18782,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["dto.schoolid",{"_index":18780,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["dto.state",{"_index":23992,"title":{},"body":{"classes/VideoConference-1.html":{},"classes/VideoConferenceJoin.html":{}}}],["dto.target",{"_index":16511,"title":{},"body":{"classes/NewsMapper.html":{}}}],["dto.teamid",{"_index":4269,"title":{},"body":{"classes/CalendarEventDto.html":{},"injectables/NextcloudStrategy.html":{}}}],["dto.teamname",{"_index":16781,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["dto.title",{"_index":4267,"title":{},"body":{"classes/CalendarEventDto.html":{}}}],["dto.unpublished",{"_index":16513,"title":{},"body":{"classes/NewsMapper.html":{}}}],["dto.updatedat",{"_index":18778,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["dto.updater",{"_index":16508,"title":{},"body":{"classes/NewsMapper.html":{}}}],["dto.url",{"_index":24222,"title":{},"body":{"classes/VideoConferenceJoin.html":{}}}],["dto/ajax/post.body.params.transform",{"_index":13132,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["dto/board/board",{"_index":3226,"title":{},"body":{"controllers/BoardController.html":{}}}],["dto/board/set",{"_index":4375,"title":{},"body":{"controllers/CardController.html":{}}}],["dto/calendar",{"_index":4277,"title":{},"body":{"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{}}}],["dto/card/create",{"_index":5614,"title":{},"body":{"controllers/ColumnController.html":{}}}],["dto/class",{"_index":12931,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["dto/context",{"_index":6990,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["dto/copy.response",{"_index":7327,"title":{},"body":{"classes/CopyMapper.html":{}}}],["dto/element/drawing",{"_index":9583,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{}}}],["dto/element/rich",{"_index":18871,"title":{},"body":{"classes/RichTextElementResponseMapper.html":{}}}],["dto/file.dto",{"_index":11431,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["dto/fwu",{"_index":12394,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["dto/h5p",{"_index":13133,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["dto/oauth2",{"_index":23455,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["dto/pseudonym",{"_index":18159,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["dto/public",{"_index":21188,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["dto/request/school",{"_index":23457,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["dto/request/user",{"_index":23459,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["dto/response/consent.response",{"_index":17268,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["dto/response/redirect.response",{"_index":17269,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["dto/response/video",{"_index":24157,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["dto/role.dto",{"_index":19032,"title":{},"body":{"injectables/RoleService.html":{}}}],["dto/school",{"_index":19858,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["dto/stateless",{"_index":17463,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["dto/submission",{"_index":4038,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["dto/task",{"_index":21391,"title":{},"body":{"controllers/TaskController.html":{}}}],["dto/team",{"_index":5020,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{}}}],["dto/team.dto",{"_index":5120,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["dtocreator",{"_index":9590,"title":{"classes/DtoCreator.html":{}},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["dtolist",{"_index":13882,"title":{},"body":{"controllers/ImportUserController.html":{},"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolController.html":{}}}],["dtos",{"_index":5018,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"classes/GlobalValidationPipe.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["due",{"_index":3875,"title":{},"body":{"modules/BoardModule.html":{},"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NextcloudStrategy.html":{},"entities/SchoolNews.html":{},"entities/TaskBoardElement.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["duedate",{"_index":3557,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"classes/BoardTaskResponse.html":{},"injectables/ContentElementFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"interfaces/ITask.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"interfaces/TaskStatus.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["duedate(value",{"_index":20699,"title":{},"body":{"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{}}}],["dummy",{"_index":13108,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["dummypasswd!1",{"_index":582,"title":{},"body":{"classes/AccountFactory.html":{}}}],["duplicate",{"_index":7023,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["duplicate.filter",{"_index":7029,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["duplicate.id",{"_index":10480,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{}}}],["duplicate.length",{"_index":7033,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["duplicate.loggable",{"_index":20007,"title":{},"body":{"classes/SchoolNumberDuplicateLoggableException.html":{}}}],["duplicates",{"_index":17763,"title":{},"body":{"injectables/PermissionService.html":{}}}],["duplicatetool",{"_index":7030,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["duplicatetool.displayname",{"_index":7032,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["duplicatetool.id",{"_index":7031,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["duplication",{"_index":2567,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["durable",{"_index":24877,"title":{},"body":{"license.html":{}}}],["duration",{"_index":2246,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"injectables/DurationLoggingInterceptor.html":{}}}],["durationlogginginterceptor",{"_index":9689,"title":{"injectables/DurationLoggingInterceptor.html":{}},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["during",{"_index":4921,"title":{},"body":{"interfaces/CleanOptions.html":{},"interfaces/CreateJwtPayload.html":{},"classes/GroupRoleUnknownLoggable.html":{},"interfaces/JwtPayload.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/OauthCurrentUser.html":{},"interfaces/RetryOptions.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["dwelling",{"_index":24922,"title":{},"body":{"license.html":{}}}],["dynamically",{"_index":24776,"title":{},"body":{"license.html":{}}}],["dynamicdependencies",{"_index":6530,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["dynamicmodule",{"_index":1016,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AntivirusModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/RocketChatModule.html":{},"modules/S3ClientModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["e",{"_index":2455,"title":{},"body":{"injectables/BaseDORepo.html":{},"interfaces/CustomLtiProperty.html":{},"injectables/DashboardModelMapper.html":{},"classes/ErrorLoggable.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/LegacySchoolRepo.html":{},"entities/LtiTool.html":{},"injectables/LtiToolRepo.html":{},"injectables/NextcloudStrategy.html":{},"classes/RocketChatError.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/TldrawWsService.html":{},"injectables/ToolReferenceUc.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceRepo.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["e.g",{"_index":2561,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/ConsentRequestBody.html":{},"injectables/FeathersRosterService.html":{},"classes/GlobalValidationPipe.html":{},"controllers/H5PEditorController.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/ICurrentUser.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"interfaces/TemporaryFileProperties.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["e.property",{"_index":9841,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["e.response.data",{"_index":1105,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["e.response.data.errortype",{"_index":1107,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["e.response.statuscode",{"_index":1102,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["e.target",{"_index":9846,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["e.value",{"_index":9848,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["each",{"_index":2543,"title":{},"body":{"classes/BaseDomainObject.html":{},"injectables/BatchDeletionUc.html":{},"classes/CardIdsParams.html":{},"interfaces/CleanOptions.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FilterImportUserParams.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LoginResponse-1.html":{},"interfaces/MigrationOptions.html":{},"classes/OauthClientBody.html":{},"classes/PatchOrderParams.html":{},"interfaces/RetryOptions.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["eager",{"_index":13785,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["earlier",{"_index":24720,"title":{},"body":{"license.html":{}}}],["ease",{"_index":26050,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["easier",{"_index":25776,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["easily",{"_index":25679,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["easy",{"_index":25396,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["eathers",{"_index":11351,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["edit",{"_index":7773,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/RoomsUc.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["editcoursebyadmin(userid",{"_index":26016,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["editor",{"_index":3390,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"entities/H5pEditorTempFile.html":{},"entities/InstalledLibrary.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileStorage.html":{},"interfaces/UserBoardRoles.html":{}}}],["editor.config",{"_index":13232,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/TemporaryFileStorage.html":{}}}],["editor.controller",{"_index":13228,"title":{},"body":{"modules/H5PEditorModule.html":{}}}],["editor.controller.ts",{"_index":13069,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:103",{"_index":13116,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:123",{"_index":13090,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:136",{"_index":13119,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:151",{"_index":13087,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:162",{"_index":13106,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:170",{"_index":13099,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:182",{"_index":13084,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:199",{"_index":13122,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:219",{"_index":13124,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:53",{"_index":13112,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:66",{"_index":13103,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:75",{"_index":13096,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:82",{"_index":13093,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.module",{"_index":13244,"title":{},"body":{"modules/H5PEditorTestModule.html":{}}}],["editor.module.ts",{"_index":13226,"title":{},"body":{"modules/H5PEditorModule.html":{}}}],["editor.params.ts",{"_index":12489,"title":{},"body":{"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["editor.params.ts:14",{"_index":12492,"title":{},"body":{"classes/GetH5PContentParams.html":{}}}],["editor.params.ts:18",{"_index":12490,"title":{},"body":{"classes/GetH5PContentParams.html":{}}}],["editor.params.ts:24",{"_index":12504,"title":{},"body":{"classes/GetH5PEditorParamsCreate.html":{}}}],["editor.params.ts:30",{"_index":12501,"title":{},"body":{"classes/GetH5PEditorParams.html":{}}}],["editor.params.ts:34",{"_index":12503,"title":{},"body":{"classes/GetH5PEditorParams.html":{}}}],["editor.params.ts:40",{"_index":19605,"title":{},"body":{"classes/SaveH5PEditorParams.html":{}}}],["editor.params.ts:46",{"_index":17778,"title":{},"body":{"classes/PostH5PContentParams.html":{}}}],["editor.params.ts:50",{"_index":17783,"title":{},"body":{"classes/PostH5PContentParams.html":{}}}],["editor.params.ts:54",{"_index":17782,"title":{},"body":{"classes/PostH5PContentParams.html":{}}}],["editor.params.ts:60",{"_index":17780,"title":{},"body":{"classes/PostH5PContentParams.html":{}}}],["editor.params.ts:66",{"_index":17777,"title":{},"body":{"classes/PostH5PContentCreateParams.html":{}}}],["editor.params.ts:70",{"_index":17775,"title":{},"body":{"classes/PostH5PContentCreateParams.html":{}}}],["editor.params.ts:75",{"_index":17774,"title":{},"body":{"classes/PostH5PContentCreateParams.html":{}}}],["editor.params.ts:83",{"_index":17772,"title":{},"body":{"classes/PostH5PContentCreateParams.html":{}}}],["editor.response",{"_index":13134,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.response.ts",{"_index":12451,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["editor.response.ts:13",{"_index":13212,"title":{},"body":{"classes/H5PEditorModelResponse.html":{}}}],["editor.response.ts:17",{"_index":13213,"title":{},"body":{"classes/H5PEditorModelResponse.html":{}}}],["editor.response.ts:21",{"_index":13214,"title":{},"body":{"classes/H5PEditorModelResponse.html":{}}}],["editor.response.ts:42",{"_index":13204,"title":{},"body":{"classes/H5PEditorModelContentResponse.html":{}}}],["editor.response.ts:5",{"_index":13211,"title":{},"body":{"classes/H5PEditorModelResponse.html":{}}}],["editor.response.ts:52",{"_index":13205,"title":{},"body":{"classes/H5PEditorModelContentResponse.html":{}}}],["editor.response.ts:55",{"_index":13206,"title":{},"body":{"classes/H5PEditorModelContentResponse.html":{}}}],["editor.response.ts:58",{"_index":13207,"title":{},"body":{"classes/H5PEditorModelContentResponse.html":{}}}],["editor.response.ts:61",{"_index":13023,"title":{},"body":{"classes/H5PContentMetadata.html":{}}}],["editor.response.ts:68",{"_index":13025,"title":{},"body":{"classes/H5PContentMetadata.html":{}}}],["editor.response.ts:71",{"_index":13024,"title":{},"body":{"classes/H5PContentMetadata.html":{}}}],["editor.response.ts:74",{"_index":13352,"title":{},"body":{"classes/H5PSaveResponse.html":{}}}],["editor.response.ts:81",{"_index":13353,"title":{},"body":{"classes/H5PSaveResponse.html":{}}}],["editor.response.ts:84",{"_index":13354,"title":{},"body":{"classes/H5PSaveResponse.html":{}}}],["editor/controller/dto/ajax/get.params.ts",{"_index":1196,"title":{},"body":{"classes/AjaxGetQueryParams.html":{}}}],["editor/controller/dto/ajax/get.params.ts:10",{"_index":1205,"title":{},"body":{"classes/AjaxGetQueryParams.html":{}}}],["editor/controller/dto/ajax/get.params.ts:14",{"_index":1206,"title":{},"body":{"classes/AjaxGetQueryParams.html":{}}}],["editor/controller/dto/ajax/get.params.ts:18",{"_index":1207,"title":{},"body":{"classes/AjaxGetQueryParams.html":{}}}],["editor/controller/dto/ajax/get.params.ts:22",{"_index":1204,"title":{},"body":{"classes/AjaxGetQueryParams.html":{}}}],["editor/controller/dto/ajax/get.params.ts:6",{"_index":1202,"title":{},"body":{"classes/AjaxGetQueryParams.html":{}}}],["editor/controller/dto/ajax/post.body.params.transform",{"_index":1209,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["editor/controller/dto/ajax/post.body.params.ts",{"_index":6343,"title":{},"body":{"classes/ContentBodyParams.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{}}}],["editor/controller/dto/ajax/post.body.params.ts:14",{"_index":6346,"title":{},"body":{"classes/ContentBodyParams.html":{}}}],["editor/controller/dto/ajax/post.body.params.ts:19",{"_index":6348,"title":{},"body":{"classes/ContentBodyParams.html":{}}}],["editor/controller/dto/ajax/post.body.params.ts:25",{"_index":15557,"title":{},"body":{"classes/LibraryParametersBodyParams.html":{}}}],["editor/controller/dto/ajax/post.body.params.ts:8",{"_index":15549,"title":{},"body":{"classes/LibrariesBodyParams.html":{}}}],["editor/controller/dto/ajax/post.params.ts",{"_index":1251,"title":{},"body":{"classes/AjaxPostQueryParams.html":{}}}],["editor/controller/dto/ajax/post.params.ts:10",{"_index":1255,"title":{},"body":{"classes/AjaxPostQueryParams.html":{}}}],["editor/controller/dto/ajax/post.params.ts:14",{"_index":1256,"title":{},"body":{"classes/AjaxPostQueryParams.html":{}}}],["editor/controller/dto/ajax/post.params.ts:18",{"_index":1257,"title":{},"body":{"classes/AjaxPostQueryParams.html":{}}}],["editor/controller/dto/ajax/post.params.ts:22",{"_index":1254,"title":{},"body":{"classes/AjaxPostQueryParams.html":{}}}],["editor/controller/dto/ajax/post.params.ts:26",{"_index":1253,"title":{},"body":{"classes/AjaxPostQueryParams.html":{}}}],["editor/controller/dto/ajax/post.params.ts:6",{"_index":1252,"title":{},"body":{"classes/AjaxPostQueryParams.html":{}}}],["editor/controller/dto/content",{"_index":6515,"title":{},"body":{"classes/ContentFileUrlParams.html":{}}}],["editor/controller/dto/h5p",{"_index":12450,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5pFileDto.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["editor/controller/dto/library",{"_index":15550,"title":{},"body":{"classes/LibraryFileUrlParams.html":{}}}],["editor/controller/h5p",{"_index":13068,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor/entity",{"_index":13008,"title":{},"body":{"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{}}}],["editor/entity/h5p",{"_index":6521,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["editor/entity/library.entity.ts",{"_index":11574,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["editor/entity/library.entity.ts:111",{"_index":14151,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:114",{"_index":14131,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:120",{"_index":14132,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:126",{"_index":14133,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:129",{"_index":14134,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:134",{"_index":14135,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:137",{"_index":14136,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:140",{"_index":14137,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:143",{"_index":14139,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:146",{"_index":14140,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:149",{"_index":14141,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:152",{"_index":14144,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:158",{"_index":14147,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:161",{"_index":14148,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:164",{"_index":14149,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:167",{"_index":14152,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:17",{"_index":15555,"title":{},"body":{"classes/LibraryName.html":{}}}],["editor/entity/library.entity.ts:170",{"_index":14154,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:173",{"_index":14155,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:176",{"_index":14150,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:181",{"_index":14153,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:189",{"_index":14138,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:20",{"_index":15556,"title":{},"body":{"classes/LibraryName.html":{}}}],["editor/entity/library.entity.ts:23",{"_index":15554,"title":{},"body":{"classes/LibraryName.html":{}}}],["editor/entity/library.entity.ts:33",{"_index":11580,"title":{},"body":{"classes/FileMetadata.html":{}}}],["editor/entity/library.entity.ts:35",{"_index":11579,"title":{},"body":{"classes/FileMetadata.html":{}}}],["editor/entity/library.entity.ts:37",{"_index":11578,"title":{},"body":{"classes/FileMetadata.html":{}}}],["editor/entity/library.entity.ts:49",{"_index":14142,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:52",{"_index":14143,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:55",{"_index":14145,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:58",{"_index":14146,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:64",{"_index":14130,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:8",{"_index":17747,"title":{},"body":{"classes/Path.html":{}}}],["editor/h5p",{"_index":13225,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["editor/mapper/h5p",{"_index":13018,"title":{},"body":{"classes/H5PContentMapper.html":{},"classes/H5PErrorMapper.html":{}}}],["editor/repo/h5p",{"_index":13052,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["editor/repo/library.repo.ts",{"_index":15558,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/library.repo.ts:11",{"_index":15565,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/library.repo.ts:16",{"_index":15574,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/library.repo.ts:20",{"_index":15573,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/library.repo.ts:35",{"_index":15567,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/library.repo.ts:39",{"_index":15571,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/library.repo.ts:58",{"_index":15569,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/library.repo.ts:7",{"_index":15575,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/temporary",{"_index":22023,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["editor/service/temporary",{"_index":22039,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["editor/types/lumi",{"_index":13027,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["editor/uc/dto/h5p",{"_index":12507,"title":{},"body":{"interfaces/GetLibraryFile-1.html":{}}}],["editordependencies",{"_index":6531,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["editormodel",{"_index":13180,"title":{},"body":{"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{}}}],["editormodel.integration",{"_index":12458,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["editormodel.scripts",{"_index":12460,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["editormodel.styles",{"_index":12462,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["editors",{"_index":11602,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["editusernameallowed",{"_index":14563,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["effect",{"_index":25174,"title":{},"body":{"license.html":{}}}],["effected",{"_index":24826,"title":{},"body":{"license.html":{}}}],["effective",{"_index":24809,"title":{},"body":{"license.html":{}}}],["effectively",{"_index":25190,"title":{},"body":{"license.html":{}}}],["effects",{"_index":2346,"title":{},"body":{"injectables/BBBService.html":{}}}],["efficient",{"_index":3939,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["effortless",{"_index":25640,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["efforts",{"_index":25043,"title":{},"body":{"license.html":{}}}],["einsatz",{"_index":5529,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["ejson",{"_index":4191,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["ejson.deserialize(bsondocuments",{"_index":4194,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["ejson.serialize(documents",{"_index":4192,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["el",{"_index":3978,"title":{},"body":{"injectables/BoardRepo.html":{},"injectables/CopyHelperService.html":{}}}],["el.getreferences()).flat",{"_index":8455,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["el.status",{"_index":7288,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["el.target.id",{"_index":2967,"title":{},"body":{"entities/Board.html":{}}}],["elapsedtimemilliseconds",{"_index":14414,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["electronic",{"_index":25196,"title":{},"body":{"license.html":{}}}],["element",{"_index":2048,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"interfaces/BaseResponseMapper.html":{},"entities/Board.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/BoardElementResponse.html":{},"modules/BoardModule.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardUc.html":{},"injectables/ColumnBoardService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/CopyApiResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DrawingContentBody.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"classes/FileElementResponseMapper.html":{},"classes/GridElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IGridElement.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/LinkElementResponseMapper.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/PatchGroupParams.html":{},"classes/PatchVisibilityParams.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"classes/RichTextElementResponseMapper.html":{},"injectables/RoomBoardDTOFactory.html":{},"classes/RoomElementUrlParams.html":{},"injectables/RoomsUc.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"controllers/TldrawController.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"classes/UpdateElementContentBodyParams.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["element.'})@apiextramodels(fileelementcontentbody",{"_index":9726,"title":{},"body":{"controllers/ElementController.html":{}}}],["element.'})@apiextramodels(submissionitemresponse)@apiresponse({status",{"_index":9713,"title":{},"body":{"controllers/ElementController.html":{}}}],["element.'})@apiresponse({status",{"_index":9718,"title":{},"body":{"controllers/ElementController.html":{}}}],["element.acceptasync(updater",{"_index":6438,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.alternativetext",{"_index":11478,"title":{},"body":{"classes/FileElementResponseMapper.html":{}}}],["element.boardelementtype",{"_index":3330,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["element.body.params.ts",{"_index":7902,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{}}}],["element.body.params.ts:10",{"_index":16384,"title":{},"body":{"classes/MoveContentElementBody.html":{}}}],["element.body.params.ts:12",{"_index":16392,"title":{},"body":{"classes/MoveElementPositionParams.html":{}}}],["element.body.params.ts:14",{"_index":7908,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{}}}],["element.body.params.ts:17",{"_index":16393,"title":{},"body":{"classes/MoveElementPositionParams.html":{}}}],["element.body.params.ts:18",{"_index":16385,"title":{},"body":{"classes/MoveContentElementBody.html":{}}}],["element.body.params.ts:23",{"_index":16391,"title":{},"body":{"classes/MoveElementPositionParams.html":{}}}],["element.body.params.ts:25",{"_index":7906,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{}}}],["element.body.params.ts:29",{"_index":16388,"title":{},"body":{"classes/MoveElementParams.html":{}}}],["element.body.params.ts:33",{"_index":16389,"title":{},"body":{"classes/MoveElementParams.html":{}}}],["element.caption",{"_index":11477,"title":{},"body":{"classes/FileElementResponseMapper.html":{}}}],["element.constructor.name",{"_index":6405,"title":{},"body":{"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/SubmissionItemService.html":{}}}],["element.contextexternaltoolid",{"_index":10223,"title":{},"body":{"classes/ExternalToolElementResponseMapper.html":{}}}],["element.createdat",{"_index":9588,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["element.description",{"_index":9589,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{}}}],["element.do",{"_index":3135,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["element.do.ts",{"_index":9537,"title":{},"body":{"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{}}}],["element.do.ts:10",{"_index":18835,"title":{},"body":{"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{}}}],["element.do.ts:13",{"_index":11445,"title":{},"body":{"classes/FileElement.html":{},"classes/LinkElement.html":{}}}],["element.do.ts:14",{"_index":18837,"title":{},"body":{"classes/RichTextElement.html":{}}}],["element.do.ts:17",{"_index":11447,"title":{},"body":{"classes/FileElement.html":{},"classes/LinkElement.html":{}}}],["element.do.ts:18",{"_index":18839,"title":{},"body":{"classes/RichTextElement.html":{}}}],["element.do.ts:21",{"_index":15600,"title":{},"body":{"classes/LinkElement.html":{}}}],["element.do.ts:25",{"_index":15601,"title":{},"body":{"classes/LinkElement.html":{}}}],["element.do.ts:29",{"_index":15603,"title":{},"body":{"classes/LinkElement.html":{}}}],["element.do.ts:33",{"_index":15605,"title":{},"body":{"classes/LinkElement.html":{}}}],["element.do.ts:5",{"_index":9542,"title":{},"body":{"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{}}}],["element.do.ts:6",{"_index":18833,"title":{},"body":{"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{}}}],["element.do.ts:9",{"_index":9544,"title":{},"body":{"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{}}}],["element.duedate",{"_index":20721,"title":{},"body":{"classes/SubmissionContainerElementResponseMapper.html":{}}}],["element.factory.ts",{"_index":6350,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.factory.ts:109",{"_index":6360,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.factory.ts:14",{"_index":6358,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.factory.ts:47",{"_index":6361,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.factory.ts:60",{"_index":6362,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.factory.ts:72",{"_index":6363,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.factory.ts:85",{"_index":6359,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.factory.ts:97",{"_index":6364,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.getreferences",{"_index":8443,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["element.getreferences().length",{"_index":8447,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["element.gridelement",{"_index":8425,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["element.id",{"_index":9586,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["element.imageurl",{"_index":15634,"title":{},"body":{"classes/LinkElementResponseMapper.html":{}}}],["element.inputformat",{"_index":18873,"title":{},"body":{"classes/RichTextElementResponseMapper.html":{}}}],["element.interface",{"_index":5827,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["element.interface.ts",{"_index":5694,"title":{},"body":{"interfaces/CommonCartridgeElement.html":{}}}],["element.interface.ts:2",{"_index":5695,"title":{},"body":{"interfaces/CommonCartridgeElement.html":{}}}],["element.publish",{"_index":19225,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["element.removereference(room",{"_index":8446,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["element.removereferencebyindex(position.groupindex",{"_index":8468,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["element.response",{"_index":9584,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["element.response.ts",{"_index":3727,"title":{},"body":{"classes/BoardElementResponse.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["element.response.ts:11",{"_index":9564,"title":{},"body":{"classes/DrawingElementContent.html":{},"classes/ExternalToolElementContent.html":{}}}],["element.response.ts:13",{"_index":18851,"title":{},"body":{"classes/RichTextElementContent.html":{}}}],["element.response.ts:14",{"_index":9572,"title":{},"body":{"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementContent.html":{},"classes/LinkElementContent.html":{}}}],["element.response.ts:15",{"_index":20709,"title":{},"body":{"classes/SubmissionContainerElementContent.html":{}}}],["element.response.ts:16",{"_index":18850,"title":{},"body":{"classes/RichTextElementContent.html":{}}}],["element.response.ts:17",{"_index":3734,"title":{},"body":{"classes/BoardElementResponse.html":{},"classes/LinkElementContent.html":{}}}],["element.response.ts:18",{"_index":11459,"title":{},"body":{"classes/FileElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["element.response.ts:19",{"_index":18862,"title":{},"body":{"classes/RichTextElementResponse.html":{}}}],["element.response.ts:20",{"_index":15616,"title":{},"body":{"classes/LinkElementContent.html":{}}}],["element.response.ts:21",{"_index":11470,"title":{},"body":{"classes/FileElementResponse.html":{}}}],["element.response.ts:22",{"_index":3731,"title":{},"body":{"classes/BoardElementResponse.html":{}}}],["element.response.ts:23",{"_index":9574,"title":{},"body":{"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementResponse.html":{},"classes/LinkElementContent.html":{}}}],["element.response.ts:26",{"_index":9576,"title":{},"body":{"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementResponse.html":{},"classes/LinkElementResponse.html":{}}}],["element.response.ts:27",{"_index":20717,"title":{},"body":{"classes/SubmissionContainerElementResponse.html":{}}}],["element.response.ts:28",{"_index":18864,"title":{},"body":{"classes/RichTextElementResponse.html":{}}}],["element.response.ts:29",{"_index":9575,"title":{},"body":{"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementResponse.html":{}}}],["element.response.ts:30",{"_index":11472,"title":{},"body":{"classes/FileElementResponse.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["element.response.ts:31",{"_index":18866,"title":{},"body":{"classes/RichTextElementResponse.html":{}}}],["element.response.ts:32",{"_index":9573,"title":{},"body":{"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementResponse.html":{}}}],["element.response.ts:33",{"_index":11474,"title":{},"body":{"classes/FileElementResponse.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["element.response.ts:34",{"_index":18863,"title":{},"body":{"classes/RichTextElementResponse.html":{}}}],["element.response.ts:35",{"_index":15626,"title":{},"body":{"classes/LinkElementResponse.html":{}}}],["element.response.ts:36",{"_index":11471,"title":{},"body":{"classes/FileElementResponse.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["element.response.ts:37",{"_index":18865,"title":{},"body":{"classes/RichTextElementResponse.html":{}}}],["element.response.ts:38",{"_index":15628,"title":{},"body":{"classes/LinkElementResponse.html":{}}}],["element.response.ts:39",{"_index":11473,"title":{},"body":{"classes/FileElementResponse.html":{}}}],["element.response.ts:41",{"_index":15625,"title":{},"body":{"classes/LinkElementResponse.html":{}}}],["element.response.ts:44",{"_index":15627,"title":{},"body":{"classes/LinkElementResponse.html":{}}}],["element.response.ts:5",{"_index":9563,"title":{},"body":{"classes/DrawingElementContent.html":{},"classes/ExternalToolElementContent.html":{},"classes/LinkElementContent.html":{},"classes/SubmissionContainerElementContent.html":{}}}],["element.response.ts:6",{"_index":11458,"title":{},"body":{"classes/FileElementContent.html":{},"classes/RichTextElementContent.html":{}}}],["element.response.ts:7",{"_index":3728,"title":{},"body":{"classes/BoardElementResponse.html":{}}}],["element.service",{"_index":4473,"title":{},"body":{"injectables/CardService.html":{}}}],["element.service.ts",{"_index":6411,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.service.ts:18",{"_index":6412,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.service.ts:25",{"_index":6417,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.service.ts:35",{"_index":6419,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.service.ts:43",{"_index":6413,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.service.ts:50",{"_index":6415,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.service.ts:54",{"_index":6421,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.service.ts:58",{"_index":6424,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.status",{"_index":7341,"title":{},"body":{"classes/CopyMapper.html":{}}}],["element.target",{"_index":2957,"title":{},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["element.text",{"_index":5555,"title":{},"body":{"injectables/ColumnBoardService.html":{},"classes/RichTextElementResponseMapper.html":{}}}],["element.title",{"_index":15633,"title":{},"body":{"classes/LinkElementResponseMapper.html":{}}}],["element.ts",{"_index":5922,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["element.ts:11",{"_index":5926,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{}}}],["element.ts:12",{"_index":5974,"title":{},"body":{"classes/CommonCartridgeOrganizationItemElement.html":{}}}],["element.ts:14",{"_index":5954,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["element.ts:15",{"_index":5975,"title":{},"body":{"classes/CommonCartridgeOrganizationItemElement.html":{}}}],["element.ts:19",{"_index":5927,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["element.ts:21",{"_index":5990,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["element.ts:3",{"_index":5979,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["element.ts:38",{"_index":5991,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["element.ts:42",{"_index":5992,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["element.ts:46",{"_index":5993,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["element.ts:6",{"_index":5981,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["element.type",{"_index":19067,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["element.unpublish",{"_index":19226,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["element.updatedat",{"_index":9587,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["element.url",{"_index":15632,"title":{},"body":{"classes/LinkElementResponseMapper.html":{}}}],["element.url.params.ts",{"_index":6511,"title":{},"body":{"classes/ContentElementUrlParams.html":{},"classes/RoomElementUrlParams.html":{}}}],["element.url.params.ts:11",{"_index":6513,"title":{},"body":{"classes/ContentElementUrlParams.html":{},"classes/RoomElementUrlParams.html":{}}}],["element.url.params.ts:19",{"_index":19109,"title":{},"body":{"classes/RoomElementUrlParams.html":{}}}],["elementcontentbody",{"_index":9516,"title":{"classes/ElementContentBody.html":{}},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["elementcontentbody:111",{"_index":20712,"title":{},"body":{"classes/SubmissionContainerElementContentBody.html":{}}}],["elementcontentbody:127",{"_index":10211,"title":{},"body":{"classes/ExternalToolElementContentBody.html":{}}}],["elementcontentbody:29",{"_index":11463,"title":{},"body":{"classes/FileElementContentBody.html":{}}}],["elementcontentbody:59",{"_index":15619,"title":{},"body":{"classes/LinkElementContentBody.html":{}}}],["elementcontentbody:74",{"_index":9567,"title":{},"body":{"classes/DrawingElementContentBody.html":{}}}],["elementcontentbody:93",{"_index":18855,"title":{},"body":{"classes/RichTextElementContentBody.html":{}}}],["elementcontroller",{"_index":3014,"title":{"controllers/ElementController.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/ElementController.html":{}}}],["elementcopystatus",{"_index":3377,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["elementcopystatus.type",{"_index":3374,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["elementdata",{"_index":8545,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.copyingsince",{"_index":8553,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.displaycolor",{"_index":8550,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.group",{"_index":8555,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.group.map((groupmetadata",{"_index":8559,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.groupid",{"_index":8556,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.referencedid",{"_index":8554,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.shorttitle",{"_index":8549,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.title",{"_index":8548,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementid",{"_index":2023,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/CardUc.html":{},"injectables/ContentElementService.html":{},"injectables/ElementUc.html":{},"classes/RoomElementUrlParams.html":{},"injectables/RoomsUc.html":{}}}],["elementmapper",{"_index":6401,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["elementmapper.maptoresponse(element",{"_index":6406,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["elementmodel",{"_index":8600,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elementmodel.dashboard",{"_index":8637,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elementmodel.references.set(references",{"_index":8636,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elementmodel.title",{"_index":8632,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elementmodel.xpos",{"_index":8627,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elementmodel.ypos",{"_index":8629,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elements",{"_index":896,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"entities/Board.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardRepo.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardUc.html":{},"classes/CopyApiResponse.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"injectables/CourseCopyService.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DtoCreator.html":{},"controllers/ElementController.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"injectables/NewsRepo.html":{},"classes/PaginationParams.html":{},"classes/PatchOrderParams.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/TaskCopyService.html":{}}}],["elements.filter((el",{"_index":3977,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["elements.filter((element",{"_index":9642,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["elements.foreach((element",{"_index":9652,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["elements.map((el",{"_index":7287,"title":{},"body":{"injectables/CopyHelperService.html":{},"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["elements.map((elementcopystatus",{"_index":3373,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["elements.push",{"_index":7604,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["elements.push(this.mapcolumnboard(element.content",{"_index":19070,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["elements.push(this.maplesson(element.content",{"_index":19069,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["elements.push(this.maptask(element.content",{"_index":19068,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["elementservice",{"_index":4507,"title":{},"body":{"injectables/CardUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["elementspercard",{"_index":3833,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["elementspercard.flat",{"_index":3836,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["elementsstatuses",{"_index":7286,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["elementsstatuses.filter((status",{"_index":7289,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["elementstoadd",{"_index":2994,"title":{},"body":{"entities/Board.html":{}}}],["elementtomove",{"_index":8431,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["elementtomove.getreferences",{"_index":8464,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["elementtomove.isgroup",{"_index":8463,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["elementuc",{"_index":3008,"title":{"injectables/ElementUc.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/BoardSubmissionController.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{}}}],["elementwithposition",{"_index":8580,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elementwithposition.pos.x",{"_index":8628,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elementwithposition.pos.y",{"_index":8630,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elemmatch",{"_index":12087,"title":{},"body":{"injectables/FilesRepo.html":{},"injectables/LessonRepo.html":{}}}],["em",{"_index":3613,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/ClassesRepo.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardTargetService.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"interfaces/IDashboardRepo.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/SystemRepo.html":{},"classes/UsersList.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["em.config.options.clienturl",{"_index":25798,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["em.getreference(role",{"_index":12758,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["em.getreference(schoolentity",{"_index":12742,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["em.getreference(systementity",{"_index":12753,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["em.getreference(user",{"_index":12757,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["email",{"_index":702,"title":{},"body":{"interfaces/AccountParams.html":{},"injectables/AccountValidationService.html":{},"interfaces/AdminIdAndToken.html":{},"interfaces/CollectionFilePath.html":{},"interfaces/CustomLtiProperty.html":{},"classes/ExternalUserDto.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/H5PContentParentParams.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"interfaces/ImportUserProperties.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonUser.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"interfaces/LibrariesContentType.html":{},"entities/LtiTool.html":{},"classes/LumiUserWithContentData.html":{},"injectables/OidcProvisioningService.html":{},"classes/PatchMyAccountParams.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/SystemEntityFactory.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserMapper.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["emails",{"_index":25461,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["emailsearchvalues",{"_index":5336,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserProperties.html":{}}}],["embeddable",{"_index":2698,"title":{},"body":{"classes/BasicToolConfigEntity.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"classes/ContentMetadata.html":{},"classes/County.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalToolConfigEntity.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"classes/LdapConfigEntity.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/ParentInfo.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{}}}],["embedded",{"_index":4623,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/County.html":{},"entities/ExternalToolEntity.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/ParentInfo.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["embedded(undefined",{"_index":4617,"title":{},"body":{"entities/ClassEntity.html":{},"entities/ContextExternalToolEntity.html":{},"entities/ExternalToolEntity.html":{},"entities/FederalStateEntity.html":{},"entities/FileEntity.html":{},"entities/FileRecord.html":{},"entities/GroupEntity.html":{},"entities/H5PContent.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"entities/TeamEntity.html":{},"entities/User.html":{}}}],["embedded({entity",{"_index":21093,"title":{},"body":{"entities/SystemEntity.html":{}}}],["embedtypes",{"_index":6532,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["embodied",{"_index":24874,"title":{},"body":{"license.html":{}}}],["emerg",{"_index":9862,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["emerg(loggable",{"_index":9869,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["employer",{"_index":25202,"title":{},"body":{"license.html":{}}}],["empty",{"_index":1834,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/FileSystemAdapter.html":{},"classes/IdentityManagementService.html":{},"classes/NewsScope.html":{},"classes/ReferencesService.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/TemporaryFileStorage.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["emptyresultquery",{"_index":16593,"title":{},"body":{"classes/NewsScope.html":{},"classes/Scope.html":{}}}],["emptyresultquerytype",{"_index":6913,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/ImportUserScope.html":{},"classes/LessonScope.html":{},"classes/NewsScope.html":{},"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/Scope.html":{},"classes/SystemScope.html":{},"classes/TaskScope.html":{},"classes/UserScope.html":{}}}],["en",{"_index":23144,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["enable",{"_index":12589,"title":{},"body":{"classes/GlobalValidationPipe.html":{},"modules/ImportUserModule.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["enable.loggable.ts",{"_index":23745,"title":{},"body":{"classes/UserMigrationIsNotEnabled.html":{}}}],["enable.loggable.ts:4",{"_index":23746,"title":{},"body":{"classes/UserMigrationIsNotEnabled.html":{}}}],["enable_ldap_sync_during_migration",{"_index":19644,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["enabled",{"_index":1268,"title":{},"body":{"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"injectables/CourseCopyUC.html":{},"modules/FilesStorageModule.html":{},"controllers/FwuLearningContentsController.html":{},"classes/GlobalValidationPipe.html":{},"interfaces/IVideoConferenceSettings.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LessonCopyUC.html":{},"classes/OidcIdentityProviderMapper.html":{},"interfaces/ScanResult.html":{},"injectables/ShareTokenUC.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"injectables/TaskCopyUC.html":{},"classes/VideoConferenceConfiguration.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["enableimplicitconversion",{"_index":12593,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["enableldapsyncduringmigration",{"_index":19645,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["enableoauthmigrationfeature",{"_index":23619,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["enableoauthmigrationfeature(schooldo",{"_index":23631,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["enables",{"_index":24739,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["encapsulates",{"_index":5071,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/ConverterUtil.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["encodeawarenessupdate",{"_index":22454,"title":{},"body":{"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["encodeawarenessupdate(doc.awareness",{"_index":22533,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["encodeawarenessupdate(this.awareness",{"_index":24391,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["encoded",{"_index":2355,"title":{},"body":{"injectables/BBBService.html":{},"injectables/FileSystemAdapter.html":{},"classes/WsSharedDocDo.html":{}}}],["encoder",{"_index":22486,"title":{},"body":{"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["encodestateasupdate",{"_index":22238,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["encodestateasupdate(persistedydoc",{"_index":22270,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["encodestateasupdate(ydoc",{"_index":22267,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["encodestatevector",{"_index":22239,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["encodestatevector(persistedydoc",{"_index":22266,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["encodeuricomponent(token",{"_index":1347,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["encoding",{"_index":11991,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/KeycloakSeedService.html":{},"interfaces/LibrariesContentType.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["encoding.createencoder",{"_index":22487,"title":{},"body":{"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["encoding.length(encoder",{"_index":22505,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["encoding.touint8array(encoder",{"_index":22491,"title":{},"body":{"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["encoding.writevaruint(encoder",{"_index":22488,"title":{},"body":{"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["encoding.writevaruint8array(encoder",{"_index":22532,"title":{},"body":{"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["encouraged",{"_index":24687,"title":{},"body":{"license.html":{}}}],["encrypt",{"_index":9795,"title":{},"body":{"interfaces/EncryptionService.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/SymetricKeyEncryptionService.html":{},"additional-documentation/nestjs-application.html":{}}}],["encrypt(data",{"_index":9798,"title":{},"body":{"interfaces/EncryptionService.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["encrypted",{"_index":1071,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["encryptedstring",{"_index":20595,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["encryption",{"_index":13710,"title":{},"body":{"modules/IdentityManagementModule.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["encryption.interface",{"_index":9784,"title":{},"body":{"modules/EncryptionModule.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["encryption.service",{"_index":9786,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["encryption.service.ts",{"_index":15828,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["encryption.service.ts:7",{"_index":15831,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["encryptionmodule",{"_index":9780,"title":{"modules/EncryptionModule.html":{}},"body":{"modules/EncryptionModule.html":{},"modules/ExternalToolModule.html":{},"modules/IdentityManagementModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/ManagementModule.html":{},"modules/OauthModule.html":{}}}],["encryptionproviderfactory(configservice",{"_index":9787,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["encryptionservice",{"_index":5172,"title":{"interfaces/EncryptionService.html":{}},"body":{"interfaces/CollectionFilePath.html":{},"interfaces/EncryptionService.html":{},"injectables/ExternalToolService.html":{},"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OAuthService.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["encryptpassword",{"_index":902,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["encryptpassword(password",{"_index":907,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["encryptsecrets(collectionname",{"_index":5358,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["encryptsecretsinsystems(systems",{"_index":5360,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["end",{"_index":2327,"title":{},"body":{"injectables/BBBService.html":{},"injectables/BatchDeletionUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/ConsentResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"controllers/H5PEditorController.html":{},"classes/H5pFileDto.html":{},"classes/LoginResponse-1.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["end(@currentuser",{"_index":24066,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["end(config",{"_index":2347,"title":{},"body":{"injectables/BBBService.html":{}}}],["end(currentuser",{"_index":24018,"title":{},"body":{"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["end(currentuserid",{"_index":24181,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{}}}],["end.loggable.ts",{"_index":19900,"title":{},"body":{"classes/SchoolInUserMigrationEndLoggable.html":{}}}],["end.loggable.ts:3",{"_index":19902,"title":{},"body":{"classes/SchoolInUserMigrationEndLoggable.html":{}}}],["end.loggable.ts:6",{"_index":19903,"title":{},"body":{"classes/SchoolInUserMigrationEndLoggable.html":{}}}],["end.uc.ts",{"_index":24179,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{}}}],["end.uc.ts:12",{"_index":24180,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{}}}],["end.uc.ts:19",{"_index":24182,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{}}}],["end2end",{"_index":25819,"title":{},"body":{"additional-documentation/nestjs-application/vscode.html":{}}}],["enddate",{"_index":20060,"title":{},"body":{"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"classes/UserScope.html":{}}}],["ended",{"_index":24077,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["endings",{"_index":25849,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["endpoint",{"_index":2232,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{},"interfaces/CopyFiles.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"interfaces/File.html":{},"interfaces/FileStorageConfig.html":{},"interfaces/GetFile.html":{},"controllers/H5PEditorController.html":{},"interfaces/ListFiles.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"controllers/SystemController.html":{},"controllers/VideoConferenceController.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["endpoints",{"_index":13142,"title":{},"body":{"controllers/H5PEditorController.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["endpointurl",{"_index":20602,"title":{},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["ends",{"_index":2349,"title":{},"body":{"injectables/BBBService.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["endschoolinmaintenance",{"_index":13826,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["endschoolinmaintenance(@currentuser",{"_index":13903,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["endschoolinmaintenance(currentuser",{"_index":13834,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["endtime",{"_index":2304,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{},"injectables/BatchDeletionUc.html":{},"injectables/SchoolMigrationService.html":{}}}],["enforce",{"_index":21912,"title":{},"body":{"controllers/TeamNewsController.html":{},"license.html":{}}}],["enforces",{"_index":25676,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["enforcing",{"_index":24831,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["enities",{"_index":18981,"title":{},"body":{"classes/RoleMapper.html":{}}}],["enities.map((entity",{"_index":18985,"title":{},"body":{"classes/RoleMapper.html":{}}}],["enrichdatafromexternaltool",{"_index":19802,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["enrichdatafromexternaltool(tool",{"_index":19811,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["enrichedtools",{"_index":19824,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["enrichwithdatafromexternaltools",{"_index":19803,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["enrichwithdatafromexternaltools(tools",{"_index":19812,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["ensure",{"_index":11200,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{},"classes/NewsScope.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["ensureboardnodetype",{"_index":3493,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["ensureboardnodetype(boardnode",{"_index":3512,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["ensurecontextpermissions",{"_index":10116,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["ensurecontextpermissions(userid",{"_index":10125,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["ensureleafnode",{"_index":3494,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["ensureleafnode(boardnode",{"_index":3515,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["ensurepermission",{"_index":10991,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["ensurepermission(userid",{"_index":11001,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["ensures",{"_index":24587,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["ensureschoolpermissions",{"_index":10117,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["ensureschoolpermissions(userid",{"_index":10127,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["ensuretokeniswhitelisted",{"_index":14330,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["ensuretoolpermissions",{"_index":23005,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["ensuretoolpermissions(userid",{"_index":23008,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["entered",{"_index":25104,"title":{},"body":{"license.html":{}}}],["enteredpassword",{"_index":15659,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["entire",{"_index":24851,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["entirely",{"_index":25123,"title":{},"body":{"license.html":{}}}],["entities",{"_index":206,"title":{},"body":{"entities/Account.html":{},"classes/AccountFactory.html":{},"injectables/AccountRepo.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"entities/Board.html":{},"entities/BoardElement.html":{},"entities/BoardNode.html":{},"injectables/BoardRepo.html":{},"entities/CardNode.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/CollectionFilePath.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"entities/ColumnBoardTarget.html":{},"entities/ColumnNode.html":{},"entities/ColumnboardBoardElement.html":{},"modules/CommonToolModule.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"entities/CourseNews.html":{},"injectables/CourseRepo.html":{},"classes/CustomParameterFactory.html":{},"entities/DashboardGridElementModel.html":{},"entities/DashboardModelEntity.html":{},"entities/DeletionLogEntity.html":{},"classes/DeletionLogMapper.html":{},"entities/DeletionRequestEntity.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"entities/DrawingElementNode.html":{},"entities/ExternalToolElementNodeEntity.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"entities/ExternalToolPseudonymEntity.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FeathersAuthorizationService.html":{},"entities/FederalStateEntity.html":{},"injectables/FederalStateRepo.html":{},"entities/FileElementNode.html":{},"entities/FileEntity.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"entities/GroupEntity.html":{},"injectables/GroupRepo.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"injectables/H5PContentRepo.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"injectables/ImportUserRepo.html":{},"entities/InstalledLibrary.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySystemRepo.html":{},"entities/LessonBoardElement.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"entities/LinkElementNode.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"injectables/NewsRepo.html":{},"classes/Oauth2ToolConfigFactory.html":{},"entities/PseudonymEntity.html":{},"injectables/PseudonymsRepo.html":{},"entities/RegistrationPinEntity.html":{},"entities/RichTextElementNode.html":{},"entities/RocketChatUserEntity.html":{},"classes/RocketChatUserFactory.html":{},"entities/Role.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolExternalToolRepo.html":{},"entities/SchoolNews.html":{},"entities/SchoolYearEntity.html":{},"injectables/SchoolYearRepo.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/ShareToken.html":{},"entities/StorageProviderEntity.html":{},"injectables/StorageProviderRepo.html":{},"entities/Submission.html":{},"entities/SubmissionContainerElementNode.html":{},"classes/SubmissionFactory.html":{},"entities/SubmissionItemNode.html":{},"injectables/SubmissionRepo.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"classes/TaskFactory.html":{},"injectables/TaskRepo.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"entities/TeamNews.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"entities/TldrawDrawing.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"modules/TldrawTestModule.html":{},"entities/User.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"entities/UserLoginMigrationEntity.html":{},"injectables/UserRepo.html":{},"entities/VideoConference.html":{},"dependencies.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["entities.foreach((entity",{"_index":12110,"title":{},"body":{"injectables/FilesService.html":{}}}],["entities.length",{"_index":12109,"title":{},"body":{"injectables/FilesService.html":{},"injectables/LtiToolRepo.html":{}}}],["entities.map((entity",{"_index":2501,"title":{},"body":{"injectables/BaseDORepo.html":{},"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/GroupRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/PseudonymsRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SystemMapper.html":{},"injectables/UserDORepo.html":{}}}],["entitieswithfiles",{"_index":11676,"title":{},"body":{"classes/FileParamBuilder.html":{},"classes/FilesStorageClientMapper.html":{}}}],["entitiyids",{"_index":11220,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["entity",{"_index":205,"title":{"entities/Account.html":{},"entities/Board.html":{},"entities/BoardElement.html":{},"entities/BoardNode.html":{},"entities/CardNode.html":{},"entities/ClassEntity.html":{},"entities/ColumnBoardNode.html":{},"entities/ColumnBoardTarget.html":{},"entities/ColumnNode.html":{},"entities/ColumnboardBoardElement.html":{},"entities/ContextExternalToolEntity.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"entities/CourseNews.html":{},"entities/DashboardGridElementModel.html":{},"entities/DashboardModelEntity.html":{},"entities/DeletionLogEntity.html":{},"entities/DeletionRequestEntity.html":{},"entities/DrawingElementNode.html":{},"entities/ExternalToolElementNodeEntity.html":{},"entities/ExternalToolEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"entities/FederalStateEntity.html":{},"entities/FileElementNode.html":{},"entities/FileEntity.html":{},"entities/FileRecord.html":{},"entities/GroupEntity.html":{},"entities/H5PContent.html":{},"entities/H5pEditorTempFile.html":{},"entities/ImportUser.html":{},"entities/InstalledLibrary.html":{},"entities/LessonBoardElement.html":{},"entities/LessonEntity.html":{},"entities/LinkElementNode.html":{},"entities/LtiTool.html":{},"entities/Material.html":{},"entities/News.html":{},"entities/PseudonymEntity.html":{},"entities/RegistrationPinEntity.html":{},"entities/RichTextElementNode.html":{},"entities/RocketChatUserEntity.html":{},"entities/Role.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"entities/SchoolNews.html":{},"entities/SchoolYearEntity.html":{},"entities/ShareToken.html":{},"entities/StorageProviderEntity.html":{},"entities/Submission.html":{},"entities/SubmissionContainerElementNode.html":{},"entities/SubmissionItemNode.html":{},"entities/SystemEntity.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"entities/TldrawDrawing.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"entities/VideoConference.html":{}},"body":{"entities/Account.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountRepo.html":{},"injectables/AccountValidationService.html":{},"injectables/AuthorizationHelper.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"entities/Board.html":{},"injectables/BoardCopyService.html":{},"entities/BoardElement.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BruteForceError.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"injectables/ClassesRepo.html":{},"injectables/CollaborativeStorageService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnBoardTarget.html":{},"entities/ColumnNode.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProperties.html":{},"injectables/ContextExternalToolRule.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/County.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameterFactory.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DeleteFilesUc.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"classes/EntityNotFoundError.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/FeathersAuthorizationService.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileUrlParams.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"interfaces/GetFileResponse.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"injectables/GroupRepo.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/INewsScope.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfigEntity.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"entities/LessonBoardElement.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/LumiUserWithContentData.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileParams.html":{},"classes/PreviewParams.html":{},"injectables/PreviewService.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"injectables/PseudonymsRepo.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"injectables/RegistrationPinRepo.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameFileParams.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{},"entities/Role.html":{},"classes/RoleMapper.html":{},"interfaces/RoleProperties.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolExternalToolProperties.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolInfoResponse.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/SingleFileParams.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"entities/Submission.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemRepo.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"injectables/TeamRule.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/TldrawRepo.html":{},"classes/UpdateNewsParams.html":{},"entities/User.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserInfoResponse.html":{},"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserMapper.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{},"injectables/VideoConferenceRepo.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["entity.alias",{"_index":21071,"title":{},"body":{"classes/SystemDomainMapper.html":{},"classes/SystemMapper.html":{}}}],["entity.authtoken",{"_index":18926,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["entity.birthday",{"_index":23301,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entity.closedat",{"_index":23583,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entity.config.type",{"_index":10656,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entity.contextid",{"_index":20392,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["entity.contexttype",{"_index":20391,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["entity.course",{"_index":7705,"title":{},"body":{"injectables/CourseGroupRule.html":{},"injectables/LessonRule.html":{},"injectables/TaskRule.html":{}}}],["entity.coursegroup",{"_index":15494,"title":{},"body":{"injectables/LessonRule.html":{}}}],["entity.createdat",{"_index":4751,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{},"classes/RocketChatUserMapper.html":{},"injectables/UserDORepo.html":{}}}],["entity.customs",{"_index":15989,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.deleteafter",{"_index":9342,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["entity.deletedcount",{"_index":9154,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["entity.deletionrequestid?.tohexstring",{"_index":9155,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["entity.displayname",{"_index":21070,"title":{},"body":{"classes/SystemDomainMapper.html":{},"classes/SystemMapper.html":{}}}],["entity.domain",{"_index":9151,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["entity.email",{"_index":23289,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.emailsearchvalues",{"_index":23295,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entity.expiresat",{"_index":20394,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["entity.externalid",{"_index":12755,"title":{},"body":{"classes/GroupDomainMapper.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.externalsource",{"_index":12748,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.factory.ts",{"_index":10245,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["entity.factory.ts:21",{"_index":10254,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["entity.factory.ts:28",{"_index":10251,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["entity.factory.ts:38",{"_index":10256,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["entity.factory.ts:50",{"_index":10252,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["entity.factory.ts:66",{"_index":10250,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["entity.features",{"_index":15219,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{}}}],["entity.features.includes(feature",{"_index":15269,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["entity.federalstate",{"_index":15228,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.finishedat",{"_index":23584,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entity.firstname",{"_index":23290,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.firstnamesearchvalues",{"_index":23293,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entity.forcepasswordchange",{"_index":23297,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.friendlyurl",{"_index":15994,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.frontchannel_logout_uri",{"_index":15996,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.getgrid().map((elementwithposition",{"_index":8640,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["entity.getid",{"_index":8647,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["entity.getuserid",{"_index":8649,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["entity.gradelevel",{"_index":4746,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.hidden",{"_index":15490,"title":{},"body":{"injectables/LessonRule.html":{}}}],["entity.id",{"_index":4737,"title":{},"body":{"classes/ClassMapper.html":{},"injectables/ClassesRepo.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/GroupDomainMapper.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LtiToolRepo.html":{},"injectables/PseudonymsRepo.html":{},"classes/RocketChatUserMapper.html":{},"classes/RoleMapper.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemMapper.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserMapper.html":{},"injectables/VideoConferenceRepo.html":{}}}],["entity.importhash",{"_index":23292,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entity.inmaintenancesince",{"_index":15220,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.inusermigration",{"_index":15221,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.invitationlink",{"_index":4744,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.isdraft",{"_index":21691,"title":{},"body":{"injectables/TaskRule.html":{}}}],["entity.ishidden",{"_index":10665,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/LtiToolRepo.html":{}}}],["entity.islocal",{"_index":15991,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.istemplate",{"_index":15990,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.key",{"_index":15981,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.language",{"_index":23296,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.lastloginsystemchange",{"_index":23299,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.lastname",{"_index":23291,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.lastnamesearchvalues",{"_index":23294,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entity.ldapconfig",{"_index":21074,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["entity.ldapconfig?.active",{"_index":21145,"title":{},"body":{"classes/SystemMapper.html":{}}}],["entity.ldapdn",{"_index":4747,"title":{},"body":{"classes/ClassMapper.html":{},"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.lesson",{"_index":21694,"title":{},"body":{"injectables/TaskRule.html":{}}}],["entity.logo_url",{"_index":15983,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.logobase64",{"_index":10663,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entity.logourl",{"_index":10662,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entity.lti_message_type",{"_index":15984,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.lti_version",{"_index":15985,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.mandatorysince",{"_index":23581,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entity.markfordeletion",{"_index":12114,"title":{},"body":{"injectables/FilesService.html":{}}}],["entity.modifiedcount",{"_index":9153,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["entity.name",{"_index":4738,"title":{},"body":{"classes/ClassMapper.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/GroupDomainMapper.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"classes/RoleMapper.html":{}}}],["entity.oauthclientid",{"_index":15993,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.oauthconfig",{"_index":21072,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["entity.officialschoolnumber",{"_index":15223,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.oidcconfig",{"_index":21161,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["entity.opennewtab",{"_index":10666,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/LtiToolRepo.html":{}}}],["entity.operation",{"_index":9152,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["entity.options.everyattendejoinsmuted",{"_index":24319,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["entity.options.everybodyjoinsasmoderator",{"_index":24318,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["entity.options.moderatormustapprovejoinrequests",{"_index":24320,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["entity.organization?.id",{"_index":12751,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.origintoolid",{"_index":15992,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.outdatedsince",{"_index":23300,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.parentid",{"_index":20390,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["entity.parenttype",{"_index":20389,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["entity.performedat",{"_index":9156,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["entity.permissions",{"_index":18984,"title":{},"body":{"classes/RoleMapper.html":{}}}],["entity.preferences",{"_index":23298,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.previousexternalid",{"_index":15222,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/UserDORepo.html":{}}}],["entity.privacy_permission",{"_index":15988,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.provisioningstrategy",{"_index":21069,"title":{},"body":{"classes/SystemDomainMapper.html":{},"classes/SystemMapper.html":{}}}],["entity.provisioningurl",{"_index":21068,"title":{},"body":{"classes/SystemDomainMapper.html":{},"classes/SystemMapper.html":{}}}],["entity.pseudonym",{"_index":10558,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["entity.rcid",{"_index":18925,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["entity.removepermissionsbyrefid(userid",{"_index":12111,"title":{},"body":{"injectables/FilesService.html":{}}}],["entity.resource_link_id",{"_index":15986,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.restricttocontexts",{"_index":10668,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entity.role.id",{"_index":12761,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.roles",{"_index":15987,"title":{},"body":{"injectables/LtiToolRepo.html":{},"injectables/UserDORepo.html":{}}}],["entity.roles.getitems().map((role",{"_index":23710,"title":{},"body":{"classes/UserMapper.html":{}}}],["entity.roles.isinitialized",{"_index":23302,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entity.school.id",{"_index":19754,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserMapper.html":{}}}],["entity.schoolid",{"_index":19796,"title":{},"body":{"injectables/SchoolExternalToolRule.html":{},"injectables/UserLoginMigrationRule.html":{}}}],["entity.schoolid.tohexstring",{"_index":4739,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.schooltool.school.id",{"_index":6886,"title":{},"body":{"injectables/ContextExternalToolRule.html":{}}}],["entity.schooltoolref.schoolid",{"_index":6887,"title":{},"body":{"injectables/ContextExternalToolRule.html":{}}}],["entity.schoolyear",{"_index":15224,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.secret",{"_index":15982,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.skipconsent",{"_index":15995,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.source",{"_index":4749,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.sourceoptions?.tspuid",{"_index":4750,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.sourcesystem?.id",{"_index":23579,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entity.startedat",{"_index":23582,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entity.status",{"_index":9344,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["entity.successor?.tohexstring",{"_index":4748,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.system.id",{"_index":12756,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.systems.getitems().map((system",{"_index":15226,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.systems.isinitialized",{"_index":15225,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.target",{"_index":24316,"title":{},"body":{"injectables/VideoConferenceRepo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["entity.targetmodel",{"_index":26038,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["entity.targetrefdomain",{"_index":9341,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["entity.targetrefid",{"_index":9343,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["entity.targetsystem.id",{"_index":23580,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entity.teacherids.map((teacherid",{"_index":4742,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.teamusers.find((teamuser",{"_index":21953,"title":{},"body":{"injectables/TeamRule.html":{}}}],["entity.token",{"_index":20393,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["entity.tool.id",{"_index":19753,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["entity.toolid.tohexstring",{"_index":10559,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["entity.toolversion",{"_index":19755,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["entity.ts",{"_index":25509,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["entity.type",{"_index":21067,"title":{},"body":{"classes/SystemDomainMapper.html":{},"classes/SystemMapper.html":{}}}],["entity.updatedat",{"_index":4752,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{},"classes/RocketChatUserMapper.html":{},"injectables/UserDORepo.html":{}}}],["entity.url",{"_index":10661,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/LtiToolRepo.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemMapper.html":{}}}],["entity.user.id",{"_index":12760,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.userid.tohexstring",{"_index":10560,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{},"classes/RocketChatUserMapper.html":{}}}],["entity.userids?.map((userid",{"_index":4740,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.userloginmigration?.id",{"_index":15227,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.username",{"_index":18924,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["entity.users.map((groupuser",{"_index":12743,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.validperiod",{"_index":12745,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.validperiod.from",{"_index":12746,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.validperiod.until",{"_index":12747,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.version",{"_index":10667,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entity.year?.tohexstring",{"_index":4745,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity/course.entity",{"_index":7953,"title":{},"body":{"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{}}}],["entity/deletion",{"_index":9147,"title":{},"body":{"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{}}}],["entity/h5p",{"_index":22073,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["entity/import",{"_index":13582,"title":{},"body":{"interfaces/IImportUserScope.html":{},"interfaces/NameMatch.html":{}}}],["entity/pseudonym.scope",{"_index":10542,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["entity/role.entity",{"_index":17761,"title":{},"body":{"injectables/PermissionService.html":{}}}],["entity/school.entity",{"_index":7954,"title":{},"body":{"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{}}}],["entity/share",{"_index":20385,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["entity/team.entity",{"_index":7955,"title":{},"body":{"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{}}}],["entity/user.entity",{"_index":17762,"title":{},"body":{"injectables/PermissionService.html":{}}}],["entity[key",{"_index":2523,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["entity[prop",{"_index":1843,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["entity_not_found",{"_index":4172,"title":{},"body":{"classes/BruteForceError.html":{},"classes/EntityNotFoundError.html":{}}}],["entityclass",{"_index":555,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["entitycount",{"_index":13064,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["entitydictionary",{"_index":12082,"title":{},"body":{"injectables/FilesRepo.html":{},"injectables/LessonRepo.html":{}}}],["entitydo",{"_index":2472,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/PseudonymsRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["entitydo.birthday",{"_index":23316,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.closedat",{"_index":23590,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entitydo.config.type",{"_index":10681,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entitydo.customs",{"_index":16005,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.email",{"_index":23305,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.externalid",{"_index":15229,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/UserDORepo.html":{}}}],["entitydo.features",{"_index":15230,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.federalstate",{"_index":15241,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.finishedat",{"_index":23591,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entitydo.firstname",{"_index":23306,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.forcepasswordchange",{"_index":23312,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.friendlyurl",{"_index":16010,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.frontchannel_logout_uri",{"_index":16012,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.id",{"_index":18283,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["entitydo.inmaintenancesince",{"_index":15231,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.inusermigration",{"_index":15232,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.ishidden",{"_index":10690,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/LtiToolRepo.html":{}}}],["entitydo.islocal",{"_index":16007,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.istemplate",{"_index":16006,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.key",{"_index":15997,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.language",{"_index":23311,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.lastloginsystemchange",{"_index":23314,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.lastname",{"_index":23307,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.ldapdn",{"_index":23310,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.logo",{"_index":10688,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entitydo.logo_url",{"_index":15999,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.logourl",{"_index":10687,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entitydo.lti_message_type",{"_index":16000,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.lti_version",{"_index":16001,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.mandatorysince",{"_index":23588,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entitydo.name",{"_index":10685,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{}}}],["entitydo.oauthclientid",{"_index":16009,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.officialschoolnumber",{"_index":15234,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.opennewtab",{"_index":10691,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/LtiToolRepo.html":{}}}],["entitydo.options.everyattendeejoinsmuted",{"_index":24324,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["entitydo.options.everybodyjoinsasmoderator",{"_index":24323,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["entitydo.options.moderatormustapprovejoinrequests",{"_index":24325,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["entitydo.origintoolid",{"_index":16008,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.outdatedsince",{"_index":23315,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.preferences",{"_index":23313,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.previousexternalid",{"_index":15233,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/UserDORepo.html":{}}}],["entitydo.privacy_permission",{"_index":16004,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.pseudonym",{"_index":10561,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["entitydo.resource_link_id",{"_index":16002,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.restricttocontexts",{"_index":10693,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entitydo.roles",{"_index":16003,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.roles.map((roleref",{"_index":23308,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.schoolid",{"_index":19758,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["entitydo.schoolyear",{"_index":15235,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.secret",{"_index":15998,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.skipconsent",{"_index":16011,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.sourcesystemid",{"_index":23586,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entitydo.startedat",{"_index":23589,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entitydo.systems",{"_index":15236,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.systems.map((systemid",{"_index":15237,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.target",{"_index":24321,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["entitydo.targetsystemid",{"_index":23587,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entitydo.toolid",{"_index":19760,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["entitydo.toolversion",{"_index":19761,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["entitydo.url",{"_index":10686,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/LtiToolRepo.html":{}}}],["entitydo.userloginmigrationid",{"_index":15239,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.version",{"_index":10692,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entitydos",{"_index":2483,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["entitydos.map(async",{"_index":2495,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["entityfactory",{"_index":2441,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["entityfactory(props",{"_index":2466,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["entityid",{"_index":26,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AccountDto.html":{},"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"entities/Board.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRepo.html":{},"entities/BoardElement.html":{},"interfaces/BoardExternalReference.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"injectables/BoardUc.html":{},"injectables/CalendarService.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementService.html":{},"classes/ContentMetadata.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ContextRefParams.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"interfaces/CreateNews.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DomainObject.html":{},"classes/DownloadFileParams.html":{},"injectables/ElementUc.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolMetadataService.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"injectables/FederalStateRepo.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto-1.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileUrlParams.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"classes/ForbiddenLoggableException.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"classes/GroupUser.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/INewsScope.html":{},"injectables/ImportUserRepo.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/LdapConfigEntity.html":{},"classes/LegacySchoolDo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LibraryRepo.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"injectables/LtiToolRepo.html":{},"classes/LumiUserWithContentData.html":{},"injectables/MaterialsRepo.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MigrationCheckService.html":{},"entities/News.html":{},"classes/NewsCrudOperationLoggable.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"classes/OauthConfigEntity.html":{},"injectables/OauthProviderUc.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/ParentInfo.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/ProvisioningSystemDto.html":{},"classes/Pseudonym.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"interfaces/PseudonymProps.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"classes/RoleDto.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolScope.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenUC.html":{},"classes/SingleFileParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/StorageProviderRepo.html":{},"entities/Submission.html":{},"classes/SubmissionItem.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemIdParams.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamNews.html":{},"injectables/TeamService.html":{},"classes/TeamUserDto.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"injectables/VideoConferenceRepo.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["entitymanager",{"_index":2448,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/ClassesRepo.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardTargetService.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FilesRepo.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"interfaces/IDashboardRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SystemRepo.html":{},"injectables/TldrawRepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["entityname",{"_index":736,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{},"classes/EntityNotFoundError.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"modules/FilesStorageModule.html":{},"classes/ForbiddenLoggableException.html":{},"modules/FwuLearningContentsModule.html":{},"injectables/H5PContentRepo.html":{},"modules/H5PEditorModule.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolYearRepo.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"modules/TldrawModule.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["entitynotfounderror",{"_index":346,"title":{"classes/EntityNotFoundError.html":{}},"body":{"controllers/AccountController.html":{},"injectables/AccountServiceDb.html":{},"classes/EntityNotFoundError.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/LegacySystemService.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemUc.html":{},"injectables/UserDORepo.html":{}}}],["entitynotfounderror('account",{"_index":933,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["entitynotfounderror('user",{"_index":23284,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitynotfounderror(`account",{"_index":961,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["entitynotfounderror(`user",{"_index":14739,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["entitynotfounderror(systementity.name",{"_index":15317,"title":{},"body":{"injectables/LegacySystemService.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemUc.html":{}}}],["entitypermissions",{"_index":11214,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["entitypermissions.includes(p",{"_index":11218,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["entityprops",{"_index":2515,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/GroupRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["entityschema",{"_index":2565,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["entitytype",{"_index":16519,"title":{},"body":{"classes/NewsMapper.html":{}}}],["entitywithembeddedfiles",{"_index":7234,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["entitywithid",{"_index":2605,"title":{},"body":{"classes/BaseFactory.html":{}}}],["entitywithschool",{"_index":7436,"title":{"interfaces/EntityWithSchool.html":{}},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"interfaces/EntityWithSchool.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"interfaces/ParentInfo.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{}}}],["entries",{"_index":10637,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["entries.map",{"_index":10698,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["entry",{"_index":6135,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/JwtStrategy.html":{},"controllers/NewsController.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["entry.do.ts",{"_index":8172,"title":{},"body":{"classes/CustomParameterEntry.html":{}}}],["entry.do.ts:2",{"_index":8174,"title":{},"body":{"classes/CustomParameterEntry.html":{}}}],["entry.do.ts:4",{"_index":8173,"title":{},"body":{"classes/CustomParameterEntry.html":{}}}],["entry.entity.ts",{"_index":8177,"title":{},"body":{"classes/CustomParameterEntryEntity.html":{}}}],["entry.entity.ts:6",{"_index":8179,"title":{},"body":{"classes/CustomParameterEntryEntity.html":{}}}],["entry.entity.ts:9",{"_index":8178,"title":{},"body":{"classes/CustomParameterEntryEntity.html":{}}}],["entry.name",{"_index":6139,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["entry.params",{"_index":19722,"title":{},"body":{"classes/SchoolExternalToolPostParams.html":{}}}],["entry.params.ts",{"_index":8182,"title":{},"body":{"classes/CustomParameterEntryParam.html":{}}}],["entry.params.ts:12",{"_index":8184,"title":{},"body":{"classes/CustomParameterEntryParam.html":{}}}],["entry.params.ts:7",{"_index":8183,"title":{},"body":{"classes/CustomParameterEntryParam.html":{}}}],["entry.response",{"_index":19773,"title":{},"body":{"classes/SchoolExternalToolResponse.html":{}}}],["entry.response.ts",{"_index":8185,"title":{},"body":{"classes/CustomParameterEntryResponse.html":{}}}],["entry.response.ts:5",{"_index":8187,"title":{},"body":{"classes/CustomParameterEntryResponse.html":{}}}],["entry.response.ts:9",{"_index":8186,"title":{},"body":{"classes/CustomParameterEntryResponse.html":{}}}],["entry.value",{"_index":10699,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["enum",{"_index":886,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{},"classes/BoardContextResponse.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/ChangeLanguageParams.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassSortParams.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolResponse.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"entities/Course.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"classes/DrawingElementResponse.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"classes/FileElementResponse.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"classes/FileUrlParams.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupResponse.html":{},"classes/GroupUserResponse.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/IFindOptions.html":{},"interfaces/IImportUserScope.html":{},"interfaces/INewsScope.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/LdapConfigEntity.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/LtiTool.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/Pagination.html":{},"interfaces/ParentInfo.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/RenameFileParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"classes/RichTextElementResponse.html":{},"injectables/RoomsAuthorisationService.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/ServerConfig.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"entities/TeamNews.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolPermissionHelper.html":{},"classes/UpdateElementContentBodyParams.html":{},"entities/User.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/WsSharedDocDo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["enum({array",{"_index":15918,"title":{},"body":{"entities/LtiTool.html":{}}}],["enum({fieldname",{"_index":13780,"title":{},"body":{"entities/ImportUser.html":{}}}],["enum({items",{"_index":15915,"title":{},"body":{"entities/LtiTool.html":{}}}],["enum({nullable",{"_index":7414,"title":{},"body":{"entities/Course.html":{},"entities/FileEntity.html":{},"classes/FilePermissionEntity.html":{},"entities/ShareToken.html":{}}}],["enumname",{"_index":3182,"title":{},"body":{"classes/BoardContextResponse.html":{},"classes/ClassFilterParams.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"classes/DrawingElementResponse.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"classes/FileElementResponse.html":{},"classes/FileParams.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"classes/FileUrlParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"classes/RichTextElementResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["enums",{"_index":5828,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["env",{"_index":16356,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["env/config",{"_index":25226,"title":{},"body":{"todo.html":{}}}],["envirement",{"_index":21491,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["envirements",{"_index":7623,"title":{},"body":{"injectables/CourseCopyUC.html":{}}}],["envirment",{"_index":20503,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["environment",{"_index":14765,"title":{},"body":{"controllers/KeycloakManagementController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["eol",{"_index":11999,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["eq",{"_index":15503,"title":{},"body":{"classes/LessonScope.html":{},"classes/TaskScope.html":{},"classes/UserScope.html":{}}}],["equal",{"_index":21655,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["equivalent",{"_index":24792,"title":{},"body":{"license.html":{}}}],["eric",{"_index":25625,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["erorr",{"_index":21483,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["err",{"_index":1329,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/BatchDeletionService.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardManagementUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/JwtStrategy.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawWsService.html":{},"injectables/ToolVersionService.html":{}}}],["err.code",{"_index":25717,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["err.message",{"_index":19392,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["err.tostring",{"_index":9060,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["err?.cause?.name",{"_index":19358,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["err?.code",{"_index":19342,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["error",{"_index":1080,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AuthCodeFailureLoggableException.html":{},"interfaces/AuthenticationResponse.html":{},"classes/AuthorizationError.html":{},"classes/AuthorizationParams.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/BBBCreateConfigBuilder.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"modules/CacheWrapperModule.html":{},"interfaces/CleanOptions.html":{},"controllers/CollaborativeStorageController.html":{},"interfaces/CollectionFilePath.html":{},"classes/ConsentRequestBody.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"modules/CoreModule.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/DownloadFileParams.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"interfaces/FeathersError.html":{},"interfaces/FileDO.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileUrlParams.html":{},"classes/ForbiddenOperationError.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/H5PErrorMapper.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"interfaces/IError.html":{},"interfaces/ILegacyLogger.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"injectables/JwtStrategy.html":{},"classes/KeycloakConsole.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"injectables/LessonCopyUC.html":{},"modules/LoggerModule.html":{},"classes/LoginRequestBody.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/NexboardService.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PreviewParams.html":{},"injectables/PreviewService.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RedisModule.html":{},"interfaces/RejectRequestBody.html":{},"classes/RenameFileParams.html":{},"injectables/RequestLoggingInterceptor.html":{},"interfaces/RetryOptions.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultParams.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SingleFileParams.html":{},"classes/StatelessAuthorizationParams.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"injectables/TaskCopyUC.html":{},"classes/TestApiClient.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawWsService.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"injectables/ToolLaunchService.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserUc.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"controllers/VideoConferenceController.html":{},"injectables/XApiKeyStrategy.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["error('boardnode",{"_index":3573,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["error('broken",{"_index":3328,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["error('cannot",{"_index":22480,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["error('error",{"_index":4934,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["error('gradelevel",{"_index":4630,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["error('idm",{"_index":4865,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["error('invalid",{"_index":14001,"title":{},"body":{"classes/ImportUserMatchMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/RoleNameMapper.html":{},"classes/UserMatchMapper.html":{},"injectables/UserRepo.html":{}}}],["error('library",{"_index":15581,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["error('multiple",{"_index":14724,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/LibraryRepo.html":{}}}],["error('no",{"_index":8987,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["error('not",{"_index":3000,"title":{},"body":{"entities/Board.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["error('nothing",{"_index":18393,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["error('resource",{"_index":6002,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["error('rocket",{"_index":1192,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["error('roles",{"_index":17765,"title":{},"body":{"injectables/PermissionService.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["error('root",{"_index":3430,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["error('too",{"_index":15587,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["error('unexpected",{"_index":14120,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["error('user",{"_index":580,"title":{},"body":{"classes/AccountFactory.html":{}}}],["error(`${jwtconstants.jwtoptions.algorithm",{"_index":1584,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["error(`${testreqestconst.errormessage",{"_index":1683,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["error(`account",{"_index":14717,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["error(`boardcopyservice",{"_index":3345,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["error(`cannot",{"_index":6507,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["error(`duplicate",{"_index":14807,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["error(`invalid",{"_index":8983,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["error(`login",{"_index":15675,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["error(`mapping",{"_index":12187,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["error(`metatagextractorservice",{"_index":16220,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["error(`no",{"_index":15009,"title":{},"body":{"injectables/LdapService.html":{}}}],["error(`system",{"_index":15298,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["error(error",{"_index":1680,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["error(json.stringify(cause",{"_index":4221,"title":{},"body":{"classes/BusinessError.html":{}}}],["error(json.stringify(error",{"_index":9932,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["error(loggable",{"_index":9871,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["error(message",{"_index":13603,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{}}}],["error(string(cause",{"_index":4222,"title":{},"body":{"classes/BusinessError.html":{}}}],["error(util.inspect(error",{"_index":12558,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.enum",{"_index":1900,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["error.exception",{"_index":7435,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["error.factory.ts",{"_index":2075,"title":{},"body":{"classes/AxiosErrorFactory.html":{}}}],["error.factory.ts:7",{"_index":2078,"title":{},"body":{"classes/AxiosErrorFactory.html":{}}}],["error.filter",{"_index":9904,"title":{},"body":{"modules/ErrorModule.html":{}}}],["error.filter.ts",{"_index":12521,"title":{},"body":{"classes/GlobalErrorFilter.html":{},"todo.html":{}}}],["error.filter.ts:102",{"_index":12544,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:15",{"_index":12530,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:19",{"_index":12533,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:34",{"_index":12535,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:49",{"_index":12546,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:56",{"_index":12537,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:72",{"_index":12541,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:80",{"_index":12539,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:92",{"_index":12543,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.getresponse",{"_index":12576,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.getstatus",{"_index":10348,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["error.httpstatuscode",{"_index":13252,"title":{},"body":{"classes/H5PErrorMapper.html":{}}}],["error.interface.ts",{"_index":11224,"title":{},"body":{"interfaces/FeathersError.html":{}}}],["error.loggable",{"_index":23955,"title":{},"body":{"classes/ValidationErrorLoggableException.html":{}}}],["error.loggable.ts",{"_index":2097,"title":{},"body":{"classes/AxiosErrorLoggable.html":{}}}],["error.loggable.ts:12",{"_index":2101,"title":{},"body":{"classes/AxiosErrorLoggable.html":{}}}],["error.loggable.ts:5",{"_index":2100,"title":{},"body":{"classes/AxiosErrorLoggable.html":{}}}],["error.mapper",{"_index":19233,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["error.mapper.ts",{"_index":13246,"title":{},"body":{"classes/H5PErrorMapper.html":{}}}],["error.mapper.ts:5",{"_index":13250,"title":{},"body":{"classes/H5PErrorMapper.html":{}}}],["error.response",{"_index":1401,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["error.response.ts",{"_index":1378,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["error.response.ts:10",{"_index":1384,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["error.response.ts:21",{"_index":1400,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["error.tostring",{"_index":18313,"title":{},"body":{"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["error.ts",{"_index":23164,"title":{},"body":{"classes/UserAlreadyAssignedToImportUserError.html":{}}}],["error.ts:3",{"_index":23165,"title":{},"body":{"classes/UserAlreadyAssignedToImportUserError.html":{}}}],["error.validationerrors.map((e",{"_index":9839,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["error/error",{"_index":24106,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["error/id",{"_index":13674,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["error_debug",{"_index":6232,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"interfaces/RejectRequestBody.html":{}}}],["error_description",{"_index":1888,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"interfaces/RejectRequestBody.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["error_hint",{"_index":6233,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"interfaces/RejectRequestBody.html":{}}}],["error_uri",{"_index":1889,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["errorcode",{"_index":1466,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"injectables/OAuthService.html":{}}}],["errorloggable",{"_index":9810,"title":{"classes/ErrorLoggable.html":{}},"body":{"classes/ErrorLoggable.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"injectables/LdapStrategy.html":{}}}],["errorloggable(error",{"_index":12556,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["errorloggable(unknownerror",{"_index":12559,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["errorlogger",{"_index":9857,"title":{"injectables/ErrorLogger.html":{}},"body":{"injectables/ErrorLogger.html":{},"classes/GlobalErrorFilter.html":{},"modules/LoggerModule.html":{}}}],["errorlogmessage",{"_index":1468,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/AxiosErrorLoggable.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenLoggableException.html":{},"classes/GroupRoleUnknownLoggable.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Loggable.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NotFoundLoggableException.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/ValidationErrorLoggableException.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["errormapper",{"_index":9883,"title":{"classes/ErrorMapper.html":{}},"body":{"classes/ErrorMapper.html":{},"classes/RpcMessageProducer.html":{}}}],["errormapper.maprpcerrorresponsetodomainerror(error",{"_index":19241,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["errormessage",{"_index":1616,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"injectables/VideoConferenceCreateUc.html":{}}}],["errormessages",{"_index":9838,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["errormodule",{"_index":7348,"title":{"modules/ErrorModule.html":{}},"body":{"modules/CoreModule.html":{},"injectables/ErrorLogger.html":{},"modules/ErrorModule.html":{}}}],["errorobj",{"_index":9889,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["errorobj.status",{"_index":9891,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["errorresponse",{"_index":1367,"title":{"classes/ErrorResponse.html":{}},"body":{"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AuthorizationError.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorResponse.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/GlobalErrorFilter.html":{},"controllers/GroupController.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["errorresponse(type",{"_index":12574,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["errorresponse:10",{"_index":1394,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["errorresponse:15",{"_index":1391,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["errorresponse:20",{"_index":1389,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["errorresponse:25",{"_index":1386,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["errorresponse:30",{"_index":1387,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["errorresponse})@apiresponse({status",{"_index":12676,"title":{},"body":{"controllers/GroupController.html":{}}}],["errorresponse})@get('/class",{"_index":12678,"title":{},"body":{"controllers/GroupController.html":{}}}],["errors",{"_index":1381,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"injectables/AuthenticationService.html":{},"classes/BusinessError.html":{},"classes/ErrorResponse.html":{},"classes/GlobalValidationPipe.html":{},"injectables/TaskCopyUC.html":{},"classes/ValidationErrorDetailResponse.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["errors/ldap",{"_index":15002,"title":{},"body":{"injectables/LdapService.html":{}}}],["errorstatus",{"_index":24105,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["errorstatus.guests_cannot_join_conference",{"_index":24237,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["errortype",{"_index":1084,"title":{"interfaces/ErrorType.html":{}},"body":{"interfaces/AdminIdAndToken.html":{},"classes/BusinessError.html":{},"interfaces/ErrorType.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"injectables/PreviewService.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["errorutils",{"_index":1313,"title":{"classes/ErrorUtils.html":{}},"body":{"injectables/AntivirusService.html":{},"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"injectables/DeletionClient.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorMapper.html":{},"classes/ErrorUtils.html":{},"classes/GlobalErrorFilter.html":{},"injectables/LdapService.html":{},"injectables/S3ClientAdapter.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{}}}],["errorutils.createhttpexceptionoptions(err",{"_index":1330,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/DeletionClient.html":{},"injectables/LdapService.html":{},"injectables/S3ClientAdapter.html":{}}}],["errorutils.createhttpexceptionoptions(error",{"_index":2406,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["errorutils.createhttpexceptionoptions(errorobj",{"_index":9896,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["errorutils.isbusinesserror(error",{"_index":12567,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["errorutils.isbusinesserror(this.error",{"_index":9834,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["errorutils.isfeatherserror(error",{"_index":12565,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["errorutils.isfeatherserror(this.error",{"_index":9832,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["errorutils.isnesthttpexception(error",{"_index":12569,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["errorutils.isnesthttpexception(this.error",{"_index":9835,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["erweitern",{"_index":5506,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["erwin",{"_index":25296,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["erwinidm",{"_index":25297,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["es",{"_index":23145,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["es256",{"_index":1576,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["es384",{"_index":1577,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["es512",{"_index":1578,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["es6",{"_index":24483,"title":{},"body":{"dependencies.html":{}}}],["escape",{"_index":16367,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["escaped",{"_index":5350,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["escapedclasses",{"_index":14121,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["escapedfirstname",{"_index":14105,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["escapedlastname",{"_index":14113,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["escapedloginname",{"_index":14116,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["escapedname",{"_index":23821,"title":{},"body":{"injectables/UserRepo.html":{}}}],["escapedusername",{"_index":797,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["escapes",{"_index":792,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["eslint",{"_index":1086,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ConsoleWriterService.html":{},"entities/CourseNews.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ErrorLoggable.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GlobalErrorFilter.html":{},"modules/H5PEditorModule.html":{},"injectables/HydraOauthUc.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/JwtExtractor.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LegacySystemRepo.html":{},"controllers/LoginController.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsUc.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"entities/SchoolNews.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"entities/TeamNews.html":{},"classes/TestBootstrapConsole.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawModule.html":{},"classes/TldrawWs.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application.html":{}}}],["eslint/ban",{"_index":22258,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"injectables/UserRepo.html":{}}}],["eslint/dot",{"_index":2620,"title":{},"body":{"classes/BaseFactory.html":{}}}],["eslint/no",{"_index":1090,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"interfaces/CollectionFilePath.html":{},"entities/CourseNews.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ErrorLoggable.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FilesStorageConsumer.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/JwtExtractor.html":{},"injectables/JwtValidationAdapter.html":{},"controllers/LoginController.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"classes/TestBootstrapConsole.html":{},"injectables/TldrawBoardRepo.html":{},"classes/TldrawWs.html":{},"injectables/UserRepo.html":{}}}],["eslint/restrict",{"_index":1166,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/ErrorLoggable.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"injectables/LegacySystemRepo.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["eslintrc.js",{"_index":25366,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["especially",{"_index":25496,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["essential",{"_index":24768,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["etag",{"_index":7197,"title":{},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5pFileDto.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/PreviewFileParams.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"classes/TestHelper.html":{}}}],["etc",{"_index":24588,"title":{},"body":{"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["etherpad",{"_index":6171,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/EtherpadService.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["etherpadservice",{"_index":9933,"title":{"injectables/EtherpadService.html":{}},"body":{"injectables/EtherpadService.html":{},"modules/LessonModule.html":{}}}],["evaluate",{"_index":25610,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["evaluated",{"_index":25611,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["evans",{"_index":25626,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["even",{"_index":24627,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["event",{"_index":4274,"title":{},"body":{"injectables/CalendarMapper.html":{},"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{},"license.html":{}}}],["event.data[0",{"_index":4279,"title":{},"body":{"injectables/CalendarMapper.html":{}}}],["event.dto",{"_index":4278,"title":{},"body":{"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{}}}],["event.dto.ts",{"_index":4263,"title":{},"body":{"classes/CalendarEventDto.html":{}}}],["event.dto.ts:2",{"_index":4266,"title":{},"body":{"classes/CalendarEventDto.html":{}}}],["event.dto.ts:4",{"_index":4265,"title":{},"body":{"classes/CalendarEventDto.html":{}}}],["event.interface",{"_index":4276,"title":{},"body":{"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{}}}],["event.interface.ts",{"_index":4257,"title":{},"body":{"interfaces/CalendarEvent.html":{}}}],["eventid",{"_index":4296,"title":{},"body":{"injectables/CalendarService.html":{}}}],["events",{"_index":4924,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"injectables/TldrawWsService.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["everyattendeejoinsmuted",{"_index":9492,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{}}}],["everyattendejoinsmuted",{"_index":23972,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{},"injectables/VideoConferenceRepo.html":{}}}],["everybodyjoinsasmoderator",{"_index":9493,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{}}}],["everyone",{"_index":24642,"title":{},"body":{"license.html":{}}}],["everything",{"_index":25975,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["exact",{"_index":13765,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["exactly",{"_index":23715,"title":{},"body":{"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["exactmatch",{"_index":753,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["example",{"_index":2629,"title":{},"body":{"injectables/BaseRepo.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["example'example",{"_index":25886,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["exampleapimodule",{"_index":25486,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["examplecolor",{"_index":8411,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["examplecontroller",{"_index":25485,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["examplemodule",{"_index":25476,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["examples",{"_index":25966,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["exampleuc",{"_index":25484,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["exceeded",{"_index":10358,"title":{},"body":{"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"injectables/HydraOauthUc.html":{}}}],["except",{"_index":16368,"title":{},"body":{"classes/MongoPatterns.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["exception",{"_index":1472,"title":{"additional-documentation/nestjs-application/exception-handling.html":{}},"body":{"classes/AuthCodeFailureLoggableException.html":{},"injectables/ClassesRepo.html":{},"injectables/ColumnBoardService.html":{},"modules/ErrorModule.html":{},"injectables/FeathersRosterService.html":{},"classes/GlobalErrorFilter.html":{},"injectables/GroupService.html":{},"classes/GuardAgainst.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{},"classes/OauthConfigMissingLoggableException.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PseudonymUc.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SystemUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["exception.constructor.name.replace('loggable",{"_index":12580,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["exception.getstatus",{"_index":12577,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["exception.loggable",{"_index":13675,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["exception.loggable.ts",{"_index":13643,"title":{},"body":{"classes/IdTokenCreationLoggableException.html":{}}}],["exception.loggable.ts:4",{"_index":13644,"title":{},"body":{"classes/IdTokenCreationLoggableException.html":{}}}],["exception.loggable.ts:9",{"_index":13645,"title":{},"body":{"classes/IdTokenCreationLoggableException.html":{}}}],["exception.message",{"_index":12578,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["exception.ts",{"_index":1462,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenLoggableException.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NotFoundLoggableException.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/ValidationErrorLoggableException.html":{}}}],["exception.ts:10",{"_index":14182,"title":{},"body":{"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{}}}],["exception.ts:11",{"_index":23956,"title":{},"body":{"classes/ValidationErrorLoggableException.html":{}}}],["exception.ts:14",{"_index":16790,"title":{},"body":{"classes/NotFoundLoggableException.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{}}}],["exception.ts:15",{"_index":23072,"title":{},"body":{"classes/ToolStatusOutdatedLoggableException.html":{}}}],["exception.ts:16",{"_index":12369,"title":{},"body":{"classes/ForbiddenLoggableException.html":{}}}],["exception.ts:17",{"_index":10282,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{}}}],["exception.ts:18",{"_index":22574,"title":{},"body":{"classes/TooManyPseudonymsLoggableException.html":{}}}],["exception.ts:19",{"_index":19925,"title":{},"body":{"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{}}}],["exception.ts:20",{"_index":10360,"title":{},"body":{"classes/ExternalToolLogoSizeExceededLoggableException.html":{}}}],["exception.ts:21",{"_index":20014,"title":{},"body":{"classes/SchoolNumberMismatchLoggableException.html":{}}}],["exception.ts:26",{"_index":16335,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["exception.ts:4",{"_index":1465,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/TokenRequestLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{}}}],["exception.ts:5",{"_index":10281,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/NotFoundLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["exception.ts:6",{"_index":22573,"title":{},"body":{"classes/TooManyPseudonymsLoggableException.html":{},"classes/ValidationErrorLoggableException.html":{}}}],["exception.ts:7",{"_index":12368,"title":{},"body":{"classes/ForbiddenLoggableException.html":{},"classes/MissingToolParameterValueLoggableException.html":{}}}],["exception.ts:9",{"_index":9993,"title":{},"body":{"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{}}}],["exception/not",{"_index":16784,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["exception/validation",{"_index":23954,"title":{},"body":{"classes/ValidationErrorLoggableException.html":{}}}],["exceptionfactory",{"_index":1247,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/GlobalValidationPipe.html":{}}}],["exceptionfactory(validationresult",{"_index":1249,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["exceptionfilter",{"_index":12522,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["exceptionname",{"_index":12579,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["exceptions",{"_index":24962,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["exceptionshandler",{"_index":20798,"title":{},"body":{"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["exchange",{"_index":1272,"title":{},"body":{"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewProducer.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RpcMessageProducer.html":{},"interfaces/ScanResult.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["exchanges",{"_index":18331,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["excluded",{"_index":24914,"title":{},"body":{"license.html":{}}}],["excludedraftsofothers",{"_index":21703,"title":{},"body":{"classes/TaskScope.html":{}}}],["excludedraftsofothers(creatorid",{"_index":21719,"title":{},"body":{"classes/TaskScope.html":{}}}],["excludeunavailableofothers",{"_index":21704,"title":{},"body":{"classes/TaskScope.html":{}}}],["excludeunavailableofothers(creatorid",{"_index":21721,"title":{},"body":{"classes/TaskScope.html":{}}}],["excluding",{"_index":25108,"title":{},"body":{"license.html":{}}}],["exclusion",{"_index":25191,"title":{},"body":{"license.html":{}}}],["exclusive",{"_index":25067,"title":{},"body":{"license.html":{}}}],["exclusively",{"_index":20269,"title":{},"body":{"classes/ShareTokenBodyParams.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["excuse",{"_index":25115,"title":{},"body":{"license.html":{}}}],["exec",{"_index":25897,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["executable",{"_index":24764,"title":{},"body":{"license.html":{}}}],["execute",{"_index":9072,"title":{},"body":{"controllers/DeletionExecutionsController.html":{},"classes/TestBootstrapConsole.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["executed",{"_index":9301,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["executedeletions",{"_index":8951,"title":{},"body":{"injectables/DeletionClient.html":{},"controllers/DeletionExecutionsController.html":{}}}],["executedeletions(@query",{"_index":9081,"title":{},"body":{"controllers/DeletionExecutionsController.html":{}}}],["executedeletions(deletionexecutionquery",{"_index":9070,"title":{},"body":{"controllers/DeletionExecutionsController.html":{}}}],["executedeletions(limit",{"_index":8956,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["executes",{"_index":25320,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["executing",{"_index":24730,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["execution",{"_index":2904,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/TimeoutInterceptor.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["execution(s",{"_index":9030,"title":{},"body":{"classes/DeletionExecutionConsole.html":{}}}],["execution.console",{"_index":9019,"title":{},"body":{"modules/DeletionConsoleModule.html":{}}}],["execution.console.ts",{"_index":9021,"title":{},"body":{"classes/DeletionExecutionConsole.html":{}}}],["execution.console.ts:22",{"_index":9027,"title":{},"body":{"classes/DeletionExecutionConsole.html":{}}}],["execution.console.ts:8",{"_index":9023,"title":{},"body":{"classes/DeletionExecutionConsole.html":{}}}],["execution.id",{"_index":14537,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["execution.params.ts",{"_index":9041,"title":{},"body":{"classes/DeletionExecutionParams.html":{}}}],["execution.params.ts:9",{"_index":9043,"title":{},"body":{"classes/DeletionExecutionParams.html":{}}}],["execution.uc.ts",{"_index":9062,"title":{},"body":{"injectables/DeletionExecutionUc.html":{}}}],["execution.uc.ts:5",{"_index":9063,"title":{},"body":{"injectables/DeletionExecutionUc.html":{}}}],["execution.uc.ts:8",{"_index":9065,"title":{},"body":{"injectables/DeletionExecutionUc.html":{}}}],["executioncontext",{"_index":9696,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["executionprovider",{"_index":14536,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["executionproviders",{"_index":14514,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["executions",{"_index":9032,"title":{},"body":{"classes/DeletionExecutionConsole.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["executions.controller",{"_index":8938,"title":{},"body":{"modules/DeletionApiModule.html":{}}}],["executions.controller.ts",{"_index":9068,"title":{},"body":{"controllers/DeletionExecutionsController.html":{}}}],["executions.controller.ts:21",{"_index":9074,"title":{},"body":{"controllers/DeletionExecutionsController.html":{}}}],["executiontimemilliseconds",{"_index":2853,"title":{},"body":{"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{}}}],["exercise",{"_index":25044,"title":{},"body":{"license.html":{}}}],["exercising",{"_index":24827,"title":{},"body":{"license.html":{}}}],["exist",{"_index":1563,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/BoardManagementUc.html":{},"injectables/ExternalToolService.html":{},"injectables/FileSystemAdapter.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"controllers/SystemController.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TldrawWsService.html":{},"controllers/UserLoginMigrationController.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["existing",{"_index":3083,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ContentElementUpdateVisitor.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/DashboardModelMapper.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/FileSystemAdapter.html":{},"classes/IdentityManagementService.html":{},"modules/ImportUserModule.html":{},"interfaces/JwtConstants.html":{},"injectables/NextcloudStrategy.html":{},"interfaces/Options.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/S3ClientAdapter.html":{},"classes/UpdateNewsParams.html":{},"controllers/VideoConferenceController.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["existingaccountid",{"_index":14803,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["existingaccounts",{"_index":14800,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["existingaccounts.length",{"_index":14801,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["existingaccounts[0].id",{"_index":14802,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["existingcourses",{"_index":7580,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["existingcourses.map((course",{"_index":7582,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["existingelements",{"_index":2965,"title":{},"body":{"entities/Board.html":{}}}],["existingentities",{"_index":4840,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["existingentities.find((entity",{"_index":4843,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["existingentities.foreach((entity",{"_index":4847,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["existingentities.length",{"_index":4842,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["existingentity",{"_index":12810,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["existinggroup",{"_index":17621,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinggroup.externalsource?.systemid",{"_index":17653,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinggroup?.id",{"_index":17624,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinggroup?.users",{"_index":17629,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinggroupfromsystem.externalsource?.externalid",{"_index":17658,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinggroupsofuser",{"_index":17649,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinggroupsofuser.filter",{"_index":17652,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinglessons",{"_index":15400,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["existinglessons.map((l",{"_index":15402,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["existingmatch",{"_index":23816,"title":{},"body":{"injectables/UserRepo.html":{}}}],["existingnames",{"_index":7279,"title":{},"body":{"injectables/CopyHelperService.html":{},"injectables/CourseCopyService.html":{},"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["existingnames.includes(composedname",{"_index":7301,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["existingnames.includes(name",{"_index":7294,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["existingrooms",{"_index":8449,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["existingrooms.includes(room",{"_index":8452,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["existingschool",{"_index":17578,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"injectables/SchoolMigrationService.html":{}}}],["existingschool.id",{"_index":17619,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existingschool.officialschoolnumber",{"_index":17584,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existingtargets",{"_index":5580,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["existingtargets.find((item",{"_index":5586,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["existingtasks",{"_index":21486,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["existingtasks.map((t",{"_index":21488,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["existinguser",{"_index":16856,"title":{},"body":{"injectables/OAuthService.html":{},"injectables/OidcProvisioningService.html":{}}}],["existinguser.birthday",{"_index":17611,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinguser.email",{"_index":17605,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinguser.firstname",{"_index":17601,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinguser.lastname",{"_index":17603,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinguser.roles",{"_index":17607,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinguser.schoolid",{"_index":17608,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["exists",{"_index":3090,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/CollectionFilePath.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/FileSystemAdapter.html":{},"classes/IdentityManagementService.html":{},"injectables/JwtStrategy.html":{},"injectables/TemporaryFileStorage.html":{},"classes/UserScope.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["existsone",{"_index":13055,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["existsone(contentid",{"_index":13059,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["existssync",{"_index":12032,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["existssync(folderpath",{"_index":12040,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["exitonerror",{"_index":15712,"title":{},"body":{"modules/LoggerModule.html":{}}}],["exp",{"_index":7937,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"classes/JwtTestFactory.html":{}}}],["expect",{"_index":25458,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["expect(code).to",{"_index":25718,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expect(dosomethingcrazy(x,y,z)).to",{"_index":25699,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expect(dosomethingcrazysync(wrong",{"_index":25721,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expect(mockservice.getuser).tohavebeencalled",{"_index":25764,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expect(result).to",{"_index":25702,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expect(result).toequal(resultuser",{"_index":25765,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expectation",{"_index":25691,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expected",{"_index":2912,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/DeletionClient.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"injectables/TemporaryFileStorage.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["expecting",{"_index":25707,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expects",{"_index":24927,"title":{},"body":{"license.html":{}}}],["expensive",{"_index":21663,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["expert",{"_index":25973,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["expiration",{"_index":7949,"title":{},"body":{"interfaces/CreateJwtPayload.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtValidationAdapter.html":{}}}],["expirationtime",{"_index":22067,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["expire",{"_index":20262,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["expireafterseconds",{"_index":9126,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["expired",{"_index":13361,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{},"injectables/TemporaryFileStorage.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["expires",{"_index":11883,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["expiresat",{"_index":210,"title":{},"body":{"entities/Account.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{}}}],["expiresin",{"_index":1591,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/JwtConstants.html":{}}}],["expiresindays",{"_index":20259,"title":{},"body":{"classes/ShareTokenBodyParams.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{}}}],["explains",{"_index":25843,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["explanation",{"_index":25965,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["explicit",{"_index":2134,"title":{},"body":{"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["explicitly",{"_index":1097,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["export",{"_index":101,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"modules/AccountApiModule.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"interfaces/AccountConfig.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthCodeFailureLoggableException.html":{},"modules/AuthenticationApiModule.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"modules/AuthorizationModule.html":{},"classes/AuthorizationParams.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"modules/BoardApiModule.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"modules/ClassModule.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"modules/CoreModule.html":{},"interfaces/CoreModuleConfig.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"modules/ErrorModule.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FeathersError.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{},"classes/FileUrlParams.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"modules/GroupModule.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"interfaces/IdentityManagementConfig.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/InterceptorConfig.html":{},"modules/InterceptorModule.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"injectables/JwtAuthGuard.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Learnroom.html":{},"modules/LearnroomApiModule.html":{},"interfaces/LearnroomElement.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/LessonApiModule.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"modules/LessonModule.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"modules/NewsModule.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthApiModule.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"classes/ProvisioningDto.html":{},"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"modules/PseudonymModule.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"modules/RocketChatUserModule.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"modules/RoleModule.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"modules/TaskApiModule.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"modules/TaskModule.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawClientModule.html":{},"interfaces/TldrawConfig.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"interfaces/ToolVersion.html":{},"injectables/ToolVersionService.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"modules/UserApiModule.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"modules/ValidationModule.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["export.service",{"_index":7633,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["export.service.ts",{"_index":5698,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.service.ts:146",{"_index":5723,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.service.ts:154",{"_index":5726,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.service.ts:19",{"_index":5707,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.service.ts:26",{"_index":5716,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.service.ts:42",{"_index":5712,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.service.ts:71",{"_index":5714,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.service.ts:91",{"_index":5719,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.uc",{"_index":7534,"title":{},"body":{"controllers/CourseController.html":{}}}],["export.uc.ts",{"_index":7627,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["export.uc.ts:10",{"_index":7629,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["export.uc.ts:16",{"_index":7631,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["exportcollection",{"_index":8744,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["exportcollection(@param('collectionname",{"_index":8767,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["exportcollection(collectionname",{"_index":8747,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["exportcollections",{"_index":8714,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{}}}],["exportcollections(options",{"_index":8717,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["exportcollectionstofilesystem(collections",{"_index":5295,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["exportcourse",{"_index":5701,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"controllers/CourseController.html":{},"injectables/CourseExportUc.html":{}}}],["exportcourse(courseid",{"_index":5715,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"injectables/CourseExportUc.html":{}}}],["exportcourse(currentuser",{"_index":7519,"title":{},"body":{"controllers/CourseController.html":{}}}],["exported",{"_index":5272,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["exportedcollections",{"_index":5299,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["exportedcollections.push(`${collectionname}:${sortedbsondocuments.length",{"_index":5314,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["exporting",{"_index":25312,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["exports",{"_index":260,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AntivirusModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"interfaces/CollectionFilePath.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"modules/DatabaseManagementModule.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FeathersModule.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolModule.html":{},"modules/LessonApiModule.html":{},"modules/LessonModule.html":{},"modules/LoggerModule.html":{},"modules/LtiToolModule.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/NewsModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/OauthProviderServiceModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"modules/PseudonymModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/RedisModule.html":{},"modules/RegistrationPinModule.html":{},"modules/RocketChatModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/S3ClientModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["expose",{"_index":20679,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"injectables/TaskCopyUC.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["exposed",{"_index":6263,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["exposes",{"_index":25600,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["express",{"_index":7529,"title":{},"body":{"controllers/CourseController.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"controllers/FileSecurityController.html":{},"controllers/FwuLearningContentsController.html":{},"classes/GlobalErrorFilter.html":{},"controllers/H5PEditorController.html":{},"classes/JwtExtractor.html":{},"controllers/OauthSSOController.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResponseInfo.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"controllers/ToolController.html":{},"controllers/VideoConferenceController.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["express.multer.file",{"_index":13170,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["expressed",{"_index":25146,"title":{},"body":{"license.html":{}}}],["expressions",{"_index":809,"title":{},"body":{"injectables/AccountRepo.html":{},"interfaces/AdminIdAndToken.html":{},"classes/ErrorLoggable.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"injectables/LegacySystemRepo.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["expressly",{"_index":24995,"title":{},"body":{"license.html":{}}}],["ext",{"_index":14165,"title":{},"body":{"interfaces/IntrospectResponse.html":{},"classes/ReadableStreamWithFileTypeImp.html":{}}}],["extend",{"_index":525,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/GlobalValidationPipe.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"injectables/JwtStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UpdateNewsParams.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["extendability",{"_index":25397,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["extended",{"_index":4183,"title":{},"body":{"injectables/BsonConverter.html":{},"injectables/FileSystemAdapter.html":{},"injectables/JwtValidationAdapter.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["extending",{"_index":20552,"title":{},"body":{"classes/SortingParams.html":{}}}],["extends",{"_index":231,"title":{},"body":{"entities/Account.html":{},"classes/AccountDto.html":{},"classes/AccountFactory.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AdminIdAndToken.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthorizationError.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"entities/Board.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"entities/BoardElement.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardRepo.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/Card.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassInfoSearchListResponse.html":{},"interfaces/ClassProps.html":{},"classes/ClassSortParams.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"entities/ColumnBoardTarget.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"injectables/ColumnUc.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolScope.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"interfaces/CoreModuleConfig.html":{},"classes/County.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseUrlHandler.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterFactory.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestProps.html":{},"classes/DeletionRequestScope.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/ElementContentBody.html":{},"injectables/ElementUc.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"interfaces/FeathersError.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"classes/FileContentBody.html":{},"classes/FileElement.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FilesRepo.html":{},"injectables/FilesStorageProducer.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/GlobalValidationPipe.html":{},"classes/Group.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/GroupProps.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/ITask.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtAuthGuard.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"entities/LessonBoardElement.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"classes/LessonScope.html":{},"injectables/LessonUrlHandler.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"injectables/LocalStrategy.html":{},"classes/LoginRequestBody.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"interfaces/PlainTextMailContent.html":{},"injectables/PreviewProducer.html":{},"classes/Pseudonym.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymScope.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"interfaces/RocketChatUserProps.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"injectables/RoleRepo.html":{},"interfaces/RpcMessage.html":{},"injectables/SanisProvisioningStrategy.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"interfaces/ServerConfig.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemUc.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"classes/System.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/SystemProps.html":{},"classes/SystemScope.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"interfaces/TaskCreate.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"classes/TestBootstrapConsole.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorLoggableException.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"injectables/VideoConferenceRepo.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["extension",{"_index":11598,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["extensions",{"_index":24862,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["extent",{"_index":24747,"title":{},"body":{"license.html":{}}}],["external",{"_index":614,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"interfaces/BoardExternalReference.html":{},"modules/BoardModule.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/CollaborativeStorageAdapter.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersRosterService.html":{},"classes/GroupResponse.html":{},"interfaces/ICurrentUser.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"injectables/MetaTagExtractorService.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthLoginResponse.html":{},"injectables/OidcProvisioningService.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PseudonymScope.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/ToolApiModule.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"injectables/ToolVersionService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"index.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["external_school_number_missing",{"_index":9994,"title":{},"body":{"classes/ExternalSchoolNumberMissingLoggableException.html":{}}}],["external_sub",{"_index":7912,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/OidcMockProvisioningStrategy.html":{}}}],["external_tool_logo_fetch_failed",{"_index":10283,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{}}}],["external_tool_logo_fetched",{"_index":10289,"title":{},"body":{"classes/ExternalToolLogoFetchedLoggable.html":{}}}],["external_tool_logo_not_found",{"_index":10292,"title":{},"body":{"classes/ExternalToolLogoNotFoundLoggableException.html":{}}}],["external_tool_logo_size_exceeded",{"_index":10361,"title":{},"body":{"classes/ExternalToolLogoSizeExceededLoggableException.html":{}}}],["external_tool_logo_wrong_file_type",{"_index":10363,"title":{},"body":{"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{}}}],["externalauthconfig",{"_index":14265,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["externalgroup",{"_index":17560,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{}}}],["externalgroup.externalid",{"_index":17623,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.from",{"_index":17627,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.name",{"_index":17625,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.otherusers",{"_index":17630,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.otherusers.map",{"_index":17639,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.otherusers?.length",{"_index":17638,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.type",{"_index":17626,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.until",{"_index":17628,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.user.externaluserid",{"_index":17635,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroupdto",{"_index":9949,"title":{"classes/ExternalGroupDto.html":{}},"body":{"classes/ExternalGroupDto.html":{},"classes/OauthDataDto.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["externalgroupid",{"_index":19881,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["externalgroups",{"_index":17095,"title":{},"body":{"classes/OauthDataDto.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["externalgroups.some",{"_index":17657,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroupuser",{"_index":17563,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroupuserdto",{"_index":9957,"title":{"classes/ExternalGroupUserDto.html":{}},"body":{"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisResponseMapper.html":{},"classes/UserForGroupNotFoundLoggable.html":{}}}],["externalid",{"_index":704,"title":{},"body":{"interfaces/AccountParams.html":{},"entities/CourseNews.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalUserDto.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"injectables/GroupService.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"interfaces/ImportUserProperties.html":{},"classes/IservMapper.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisResponseMapper.html":{},"entities/SchoolEntity.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/TeamNews.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDto.html":{},"classes/UserMapper.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["externalidtoken",{"_index":8003,"title":{},"body":{"classes/CurrentUserMapper.html":{},"classes/LoginResponseMapper.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthLoginResponse.html":{}}}],["externalorganizationid",{"_index":19883,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["externalrolename",{"_index":12884,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["externalschool",{"_index":14241,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"classes/OauthDataDto.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["externalschool.externalid",{"_index":17580,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalschool.location",{"_index":17592,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalschool.name",{"_index":17593,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalschool.officialschoolnumber",{"_index":17583,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalschooldto",{"_index":9979,"title":{"classes/ExternalSchoolDto.html":{}},"body":{"classes/ExternalSchoolDto.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/OauthDataDto.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["externalschoolid",{"_index":9992,"title":{},"body":{"classes/ExternalSchoolNumberMissingLoggableException.html":{},"injectables/LdapStrategy.html":{}}}],["externalschoolnumbermissingloggableexception",{"_index":9988,"title":{"classes/ExternalSchoolNumberMissingLoggableException.html":{}},"body":{"classes/ExternalSchoolNumberMissingLoggableException.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["externalschoolnumbermissingloggableexception(data.externalschool.externalid",{"_index":23697,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["externalsource",{"_index":9997,"title":{"classes/ExternalSource.html":{}},"body":{"classes/ExternalSource.html":{},"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{},"injectables/OidcProvisioningService.html":{},"classes/ResolvedGroupDto.html":{}}}],["externalsource.externalid",{"_index":12752,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["externalsource.systemid",{"_index":12754,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["externalsourceentity",{"_index":10002,"title":{"classes/ExternalSourceEntity.html":{}},"body":{"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["externalsourceentityprops",{"_index":10005,"title":{"interfaces/ExternalSourceEntityProps.html":{}},"body":{"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{}}}],["externalsourcename",{"_index":4681,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{}}}],["externalsourceresponse",{"_index":10011,"title":{"classes/ExternalSourceResponse.html":{}},"body":{"classes/ExternalSourceResponse.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{}}}],["externalsub",{"_index":7941,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["externaltool",{"_index":2762,"title":{"classes/ExternalTool.html":{}},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FeathersRosterService.html":{},"injectables/IdTokenService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/PseudonymService.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolController.html":{},"injectables/ToolLaunchService.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolVersionService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["externaltool'})@httpcode(httpstatus.no_content",{"_index":22738,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltool.config",{"_index":10841,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{}}}],["externaltool.config.clientid",{"_index":11063,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["externaltool.config.clientsecret",{"_index":11066,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["externaltool.config.secret",{"_index":10920,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolValidationService.html":{}}}],["externaltool.config.type",{"_index":11059,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["externaltool.id",{"_index":10336,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersRosterService.html":{},"classes/ToolConfigurationMapper.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["externaltool.ishidden",{"_index":10169,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["externaltool.islti11config(externaltool.config",{"_index":10919,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolValidationService.html":{}}}],["externaltool.isoauth2config(externaltool.config",{"_index":10922,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolValidationService.html":{}}}],["externaltool.isoauth2config(loadedtool.config",{"_index":11058,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["externaltool.isoauth2config(tool.config",{"_index":10933,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["externaltool.isoauth2config(toupdate.config",{"_index":10948,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["externaltool.logo",{"_index":10331,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolUc.html":{}}}],["externaltool.logourl",{"_index":10154,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolReferenceMapper.html":{}}}],["externaltool.name",{"_index":10458,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/SchoolExternalToolService.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolReferenceMapper.html":{}}}],["externaltool.opennewtab",{"_index":10847,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{},"classes/ToolReferenceMapper.html":{}}}],["externaltool.parameters",{"_index":10108,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ToolConfigurationMapper.html":{}}}],["externaltool.parameters.filter",{"_index":10109,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["externaltool.parameters.foreach((param",{"_index":10460,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["externaltool.restricttocontexts",{"_index":10849,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["externaltool.restricttocontexts.includes(context",{"_index":6071,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["externaltool.restricttocontexts?.length",{"_index":6070,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["externaltool.url",{"_index":10846,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["externaltool.version",{"_index":10848,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolService.html":{},"classes/ToolConfigurationMapper.html":{}}}],["externaltoolconfig",{"_index":2686,"title":{"classes/ExternalToolConfig.html":{}},"body":{"classes/BasicToolConfig.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolUc.html":{},"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["externaltoolconfig:4",{"_index":2690,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["externaltoolconfig:6",{"_index":2688,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["externaltoolconfigcreateparams",{"_index":2706,"title":{"classes/ExternalToolConfigCreateParams.html":{}},"body":{"classes/BasicToolConfigParams.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["externaltoolconfigcreateparams:13",{"_index":2708,"title":{},"body":{"classes/BasicToolConfigParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["externaltoolconfigcreateparams:9",{"_index":2710,"title":{},"body":{"classes/BasicToolConfigParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["externaltoolconfigdo",{"_index":10832,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["externaltoolconfigentity",{"_index":2699,"title":{"classes/ExternalToolConfigEntity.html":{}},"body":{"classes/BasicToolConfigEntity.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Oauth2ToolConfigEntity.html":{}}}],["externaltoolconfigparams",{"_index":10719,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolconfigresponse",{"_index":2716,"title":{"classes/ExternalToolConfigResponse.html":{}},"body":{"classes/BasicToolConfigResponse.html":{},"classes/ExternalToolConfigResponse.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["externaltoolconfigresponse:10",{"_index":2718,"title":{},"body":{"classes/BasicToolConfigResponse.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["externaltoolconfigresponse:7",{"_index":2719,"title":{},"body":{"classes/BasicToolConfigResponse.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["externaltoolconfigurationservice",{"_index":10052,"title":{"injectables/ExternalToolConfigurationService.html":{}},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"modules/ExternalToolModule.html":{},"modules/ToolApiModule.html":{}}}],["externaltoolconfigurationuc",{"_index":10113,"title":{"injectables/ExternalToolConfigurationUc.html":{}},"body":{"injectables/ExternalToolConfigurationUc.html":{},"modules/ToolApiModule.html":{},"controllers/ToolConfigurationController.html":{}}}],["externaltoolcontentbody",{"_index":6461,"title":{"classes/ExternalToolContentBody.html":{}},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["externaltoolcreate",{"_index":10713,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["externaltoolcreateparams",{"_index":10174,"title":{"classes/ExternalToolCreateParams.html":{}},"body":{"classes/ExternalToolCreateParams.html":{},"injectables/ExternalToolRequestMapper.html":{},"controllers/ToolController.html":{}}}],["externaltoolcreateparams.config",{"_index":10779,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolcreateparams.ishidden",{"_index":10787,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolcreateparams.logourl",{"_index":10786,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolcreateparams.name",{"_index":10784,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolcreateparams.opennewtab",{"_index":10788,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolcreateparams.parameters",{"_index":10783,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolcreateparams.restricttocontexts",{"_index":10789,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolcreateparams.url",{"_index":10785,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltooldomapper",{"_index":22761,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolelement",{"_index":3118,"title":{"classes/ExternalToolElement.html":{}},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["externaltoolelement.contextexternaltoolid",{"_index":6505,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["externaltoolelement.id",{"_index":18552,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["externaltoolelementcontent",{"_index":10205,"title":{"classes/ExternalToolElementContent.html":{}},"body":{"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{}}}],["externaltoolelementcontentbody",{"_index":9525,"title":{"classes/ExternalToolElementContentBody.html":{}},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["externaltoolelementnodeentity",{"_index":3467,"title":{"entities/ExternalToolElementNodeEntity.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["externaltoolelementnodeentityprops",{"_index":10216,"title":{"interfaces/ExternalToolElementNodeEntityProps.html":{}},"body":{"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["externaltoolelementprops",{"_index":10203,"title":{"interfaces/ExternalToolElementProps.html":{}},"body":{"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{}}}],["externaltoolelementresponse",{"_index":4373,"title":{"classes/ExternalToolElementResponse.html":{}},"body":{"controllers/CardController.html":{},"classes/CardResponse.html":{},"controllers/ElementController.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{}}}],["externaltoolelementresponsemapper",{"_index":6396,"title":{"classes/ExternalToolElementResponseMapper.html":{}},"body":{"classes/ContentElementResponseFactory.html":{},"classes/ExternalToolElementResponseMapper.html":{}}}],["externaltoolelementresponsemapper.getinstance",{"_index":6386,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["externaltoolelementresponsemapper.instance",{"_index":10222,"title":{},"body":{"classes/ExternalToolElementResponseMapper.html":{}}}],["externaltoolentity",{"_index":10224,"title":{"entities/ExternalToolEntity.html":{}},"body":{"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSortingMapper.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["externaltoolentity(props",{"_index":10606,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["externaltoolentityfactory",{"_index":10243,"title":{"classes/ExternalToolEntityFactory.html":{}},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["externaltoolentityfactory.define",{"_index":10262,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["externaltoolfactory",{"_index":8234,"title":{"classes/ExternalToolFactory.html":{}},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["externaltoolfactory.define(externaltool",{"_index":8245,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["externaltoolid",{"_index":6695,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"injectables/FeathersRosterService.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/ToolConfigurationMapper.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["externaltoolidparams",{"_index":10270,"title":{"classes/ExternalToolIdParams.html":{}},"body":{"classes/ExternalToolIdParams.html":{},"controllers/ToolController.html":{}}}],["externaltoollogo",{"_index":10271,"title":{"classes/ExternalToolLogo.html":{}},"body":{"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoService.html":{},"controllers/ToolController.html":{}}}],["externaltoollogo.contenttype",{"_index":10277,"title":{},"body":{"classes/ExternalToolLogo.html":{},"controllers/ToolController.html":{}}}],["externaltoollogo.logo",{"_index":10276,"title":{},"body":{"classes/ExternalToolLogo.html":{}}}],["externaltoollogofetchedloggable",{"_index":10286,"title":{"classes/ExternalToolLogoFetchedLoggable.html":{}},"body":{"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoService.html":{}}}],["externaltoollogofetchedloggable(logourl",{"_index":10343,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["externaltoollogofetchfailedloggableexception",{"_index":10278,"title":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{}},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoService.html":{}}}],["externaltoollogofetchfailedloggableexception(logourl",{"_index":10347,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["externaltoollogonotfoundloggableexception",{"_index":10290,"title":{"classes/ExternalToolLogoNotFoundLoggableException.html":{}},"body":{"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{}}}],["externaltoollogonotfoundloggableexception(toolid",{"_index":10351,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["externaltoollogoservice",{"_index":10123,"title":{"classes/ExternalToolLogoService.html":{}},"body":{"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"controllers/ToolController.html":{},"injectables/ToolReferenceService.html":{}}}],["externaltoollogosizeexceededloggableexception",{"_index":10316,"title":{"classes/ExternalToolLogoSizeExceededLoggableException.html":{}},"body":{"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{}}}],["externaltoollogowrongfiletypeloggableexception",{"_index":10317,"title":{"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{}},"body":{"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{}}}],["externaltoolmetadata",{"_index":10366,"title":{"classes/ExternalToolMetadata.html":{}},"body":{"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["externaltoolmetadata.contextexternaltoolcountpercontext",{"_index":10376,"title":{},"body":{"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{}}}],["externaltoolmetadata.schoolexternaltoolcount",{"_index":10374,"title":{},"body":{"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{}}}],["externaltoolmetadatamapper",{"_index":10377,"title":{"classes/ExternalToolMetadataMapper.html":{}},"body":{"classes/ExternalToolMetadataMapper.html":{},"modules/ExternalToolModule.html":{},"controllers/ToolController.html":{}}}],["externaltoolmetadatamapper.maptoexternaltoolmetadataresponse(externaltoolmetadata",{"_index":22793,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolmetadataresponse",{"_index":10383,"title":{"classes/ExternalToolMetadataResponse.html":{}},"body":{"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"controllers/ToolController.html":{}}}],["externaltoolmetadataresponse.contextexternaltoolcountpercontext",{"_index":10390,"title":{},"body":{"classes/ExternalToolMetadataResponse.html":{}}}],["externaltoolmetadataresponse.schoolexternaltoolcount",{"_index":10389,"title":{},"body":{"classes/ExternalToolMetadataResponse.html":{}}}],["externaltoolmetadataresponse})@apiunauthorizedresponse({description",{"_index":22754,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolmetadataservice",{"_index":10391,"title":{"injectables/ExternalToolMetadataService.html":{}},"body":{"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolUc.html":{}}}],["externaltoolmodule",{"_index":6777,"title":{"modules/ExternalToolModule.html":{}},"body":{"modules/ContextExternalToolModule.html":{},"modules/ExternalToolModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{}}}],["externaltoolname",{"_index":18808,"title":{},"body":{"classes/RestrictedContextMismatchLoggable.html":{}}}],["externaltoolparametervalidationservice",{"_index":10420,"title":{"injectables/ExternalToolParameterValidationService.html":{}},"body":{"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{}}}],["externaltoolparams",{"_index":22730,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolprops",{"_index":8196,"title":{"interfaces/ExternalToolProps.html":{}},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolFactory.html":{},"interfaces/ExternalToolProps.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["externaltoolpseudonymentity",{"_index":10497,"title":{"entities/ExternalToolPseudonymEntity.html":{}},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/FeathersRosterService.html":{},"classes/PseudonymScope.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["externaltoolpseudonymentity(entityprops",{"_index":10552,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["externaltoolpseudonymentityprops",{"_index":10505,"title":{"interfaces/ExternalToolPseudonymEntityProps.html":{}},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{}}}],["externaltoolpseudonympromise",{"_index":18247,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["externaltoolpseudonymrepo",{"_index":10511,"title":{"injectables/ExternalToolPseudonymRepo.html":{}},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"modules/PseudonymModule.html":{},"injectables/PseudonymService.html":{}}}],["externaltoolpseudonyms",{"_index":18235,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["externaltoolrepo",{"_index":10421,"title":{"injectables/ExternalToolRepo.html":{}},"body":{"modules/ExternalToolModule.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{}}}],["externaltoolrepomapper",{"_index":10601,"title":{"classes/ExternalToolRepoMapper.html":{}},"body":{"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["externaltoolrepomapper.mapcustomparameterentrydostoentities(entitydo.parameters",{"_index":19762,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["externaltoolrepomapper.mapcustomparameterentryentitiestodos(entity.schoolparameters",{"_index":19756,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["externaltoolrepomapper.mapdotoentityproperties(entitydo",{"_index":10615,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["externaltoolrepomapper.mapentitytodo(entity",{"_index":10614,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["externaltoolrequestmapper",{"_index":10700,"title":{"injectables/ExternalToolRequestMapper.html":{}},"body":{"injectables/ExternalToolRequestMapper.html":{},"modules/ToolApiModule.html":{},"controllers/ToolController.html":{}}}],["externaltoolresponse",{"_index":10803,"title":{"classes/ExternalToolResponse.html":{}},"body":{"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolSearchListResponse.html":{},"controllers/ToolController.html":{}}}],["externaltoolresponsemapper",{"_index":10824,"title":{"injectables/ExternalToolResponseMapper.html":{}},"body":{"injectables/ExternalToolResponseMapper.html":{},"modules/ToolApiModule.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolController.html":{}}}],["externaltoolresponsemapper.mapcustomparametertoresponse(externaltool.parameters",{"_index":22666,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["externaltoolresponsemapper.maptoexternaltoolresponse(created",{"_index":22764,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolresponsemapper.maptoexternaltoolresponse(externaltool",{"_index":22776,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolresponsemapper.maptoexternaltoolresponse(tool",{"_index":22771,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolresponsemapper.maptoexternaltoolresponse(updated",{"_index":22780,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolresponse})@apiforbiddenresponse()@apiunauthorizedresponse()@apiresponse({status",{"_index":22758,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolresponse})@apiforbiddenresponse()@apiunprocessableentityresponse()@apiunauthorizedresponse()@apiresponse({status",{"_index":22731,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltools",{"_index":10068,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolController.html":{}}}],["externaltools.data",{"_index":10161,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["externaltools.data.filter((tool",{"_index":10085,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["externaltools.find",{"_index":10097,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["externaltools.map",{"_index":22668,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["externaltools.map((tooldo",{"_index":19787,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["externaltoolscope",{"_index":10603,"title":{"classes/ExternalToolScope.html":{}},"body":{"injectables/ExternalToolRepo.html":{},"classes/ExternalToolScope.html":{}}}],["externaltoolsearchlistresponse",{"_index":10871,"title":{"classes/ExternalToolSearchListResponse.html":{}},"body":{"classes/ExternalToolSearchListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["externaltoolsearchlistresponse})@apiforbiddenresponse()@apiunauthorizedresponse()@apioperation({summary",{"_index":23043,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["externaltoolsearchlistresponse})@apiunauthorizedresponse()@apiforbiddenresponse()@apioperation({summary",{"_index":22742,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolsearchparams",{"_index":10715,"title":{"classes/ExternalToolSearchParams.html":{}},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolSearchParams.html":{},"controllers/ToolController.html":{}}}],["externaltoolsearchquery",{"_index":10579,"title":{"interfaces/ExternalToolSearchQuery.html":{}},"body":{"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["externaltoolservice",{"_index":6928,"title":{"injectables/ExternalToolService.html":{}},"body":{"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersRosterService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolReferenceService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["externaltoolservice.deleteexternaltool",{"_index":6041,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["externaltoolservicemapper",{"_index":10422,"title":{"injectables/ExternalToolServiceMapper.html":{}},"body":{"modules/ExternalToolModule.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{}}}],["externaltoolsortby",{"_index":20536,"title":{},"body":{"classes/SortExternalToolParams.html":{}}}],["externaltoolsortingmapper",{"_index":10602,"title":{"classes/ExternalToolSortingMapper.html":{}},"body":{"injectables/ExternalToolRepo.html":{},"classes/ExternalToolSortingMapper.html":{}}}],["externaltoolsortingmapper.mapdosortordertoqueryorder",{"_index":10608,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["externaltooluc",{"_index":10990,"title":{"injectables/ExternalToolUc.html":{}},"body":{"injectables/ExternalToolUc.html":{},"modules/ToolApiModule.html":{},"controllers/ToolController.html":{}}}],["externaltoolupdate",{"_index":10746,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["externaltoolupdateparams",{"_index":10744,"title":{"classes/ExternalToolUpdateParams.html":{}},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"controllers/ToolController.html":{}}}],["externaltoolupdateparams.config",{"_index":10765,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.id",{"_index":10772,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.ishidden",{"_index":10776,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.logourl",{"_index":10775,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.name",{"_index":10773,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.opennewtab",{"_index":10777,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.parameters",{"_index":10771,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.restricttocontexts",{"_index":10778,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.url",{"_index":10774,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolvalidationservice",{"_index":10418,"title":{"injectables/ExternalToolValidationService.html":{}},"body":{"modules/ExternalToolModule.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{}}}],["externaltoolversion",{"_index":19867,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["externaltoolversionincrementservice",{"_index":10419,"title":{"injectables/ExternalToolVersionIncrementService.html":{}},"body":{"modules/ExternalToolModule.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolVersionIncrementService.html":{}}}],["externaltoolversionservice",{"_index":10891,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["externaluser",{"_index":14239,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"classes/OauthDataDto.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["externaluser.birthday",{"_index":17610,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externaluser.email",{"_index":17604,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externaluser.externalid",{"_index":17612,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externaluser.firstname",{"_index":17600,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externaluser.lastname",{"_index":17602,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externaluser.roles",{"_index":17595,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["externaluser.roles.includes(rolename.administrator",{"_index":19535,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["externaluser.roles.push(rolename.teacher",{"_index":19536,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["externaluserdto",{"_index":11141,"title":{"classes/ExternalUserDto.html":{}},"body":{"classes/ExternalUserDto.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/OauthDataDto.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{}}}],["externaluserid",{"_index":9972,"title":{},"body":{"classes/ExternalGroupUserDto.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ProvisioningDto.html":{},"injectables/SanisResponseMapper.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["extra",{"_index":26037,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["extract",{"_index":13655,"title":{},"body":{"classes/IdTokenExtractionFailureLoggableException.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"controllers/MetaTagExtractorController.html":{}}}],["extractaccount",{"_index":14677,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["extractaccount(user",{"_index":14683,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["extractattributevalue",{"_index":14678,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["extractattributevalue(value",{"_index":14686,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["extractid",{"_index":116,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["extractid(url",{"_index":123,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["extractids(users",{"_index":7482,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["extracting",{"_index":12598,"title":{},"body":{"classes/GlobalValidationPipe.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["extraction",{"_index":13652,"title":{},"body":{"classes/IdTokenExtractionFailureLoggableException.html":{}}}],["extractjwt",{"_index":14294,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["extractjwt.fromauthheaderasbearertoken",{"_index":14298,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["extractjwt.fromextractors",{"_index":14297,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["extractor",{"_index":14295,"title":{},"body":{"injectables/JwtStrategy.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["extractor.config",{"_index":16172,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["extractor.controller.ts",{"_index":16148,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["extractor.controller.ts:19",{"_index":16155,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["extractor.module",{"_index":16146,"title":{},"body":{"modules/MetaTagExtractorApiModule.html":{}}}],["extractor.module.ts",{"_index":16170,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["extractor.response.ts",{"_index":16178,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.response.ts:19",{"_index":16189,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.response.ts:23",{"_index":16186,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.response.ts:27",{"_index":16181,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.response.ts:31",{"_index":16182,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.response.ts:35",{"_index":16187,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.response.ts:39",{"_index":16183,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.response.ts:43",{"_index":16185,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.response.ts:6",{"_index":16180,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.service.ts",{"_index":16193,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["extractor.service.ts:12",{"_index":16202,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["extractor.service.ts:26",{"_index":16213,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["extractor.service.ts:30",{"_index":16209,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["extractor.service.ts:50",{"_index":16211,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["extractor.service.ts:65",{"_index":16201,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["extractor.service.ts:69",{"_index":16206,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["extractor.service.ts:9",{"_index":16199,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["extractor.ts",{"_index":14279,"title":{},"body":{"classes/JwtExtractor.html":{}}}],["extractor.ts:6",{"_index":14282,"title":{},"body":{"classes/JwtExtractor.html":{}}}],["extractor.uc.ts",{"_index":16245,"title":{},"body":{"injectables/MetaTagExtractorUc.html":{}}}],["extractor.uc.ts:14",{"_index":16248,"title":{},"body":{"injectables/MetaTagExtractorUc.html":{}}}],["extractor.uc.ts:8",{"_index":16246,"title":{},"body":{"injectables/MetaTagExtractorUc.html":{}}}],["extractor/controller/dto/meta",{"_index":16177,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor/controller/meta",{"_index":16147,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["extractor/controller/post",{"_index":12510,"title":{},"body":{"classes/GetMetaTagDataBody.html":{}}}],["extractor/interface/url",{"_index":23115,"title":{},"body":{"interfaces/UrlHandler.html":{}}}],["extractor/meta",{"_index":16144,"title":{},"body":{"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{}}}],["extractor/service/meta",{"_index":16192,"title":{},"body":{"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{}}}],["extractor/service/url",{"_index":108,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["extractor/uc/meta",{"_index":16244,"title":{},"body":{"injectables/MetaTagExtractorUc.html":{}}}],["extractparamsfromrequest",{"_index":15027,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["extractparamsfromrequest(request",{"_index":15036,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["extractreferences",{"_index":3259,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["extractreferences(statuses",{"_index":3284,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["extracts",{"_index":2372,"title":{},"body":{"injectables/BBBService.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["extractuserlist(users",{"_index":7494,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["extractvalidationerrordetails",{"_index":1382,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["extractvalidationerrordetails(validationerror",{"_index":1398,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["f",{"_index":552,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolService.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"license.html":{}}}],["f0",{"_index":3178,"title":{},"body":{"classes/BoardContextResponse.html":{},"classes/BoardResponse.html":{},"classes/CardResponse.html":{},"classes/CardSkeletonResponse.html":{},"classes/ColumnResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/CreateNewsParams.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FilterNewsParams.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/LessonCopyApiParams.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/SchoolInfoResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionItemResponse.html":{},"classes/TargetInfoResponse.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/UserInfoResponse.html":{}}}],["facilitate",{"_index":25653,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["facilitating",{"_index":25129,"title":{},"body":{"license.html":{}}}],["facilities",{"_index":24794,"title":{},"body":{"license.html":{}}}],["factories",{"_index":8728,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["factory",{"_index":516,"title":{},"body":{"classes/AccountFactory.html":{},"classes/AxiosErrorFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RocketChatUserFactory.html":{},"injectables/RoomsUc.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/ShareTokenFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["factory.define",{"_index":562,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["factory.define(generator",{"_index":2599,"title":{},"body":{"classes/BaseFactory.html":{}}}],["factory/account.factory",{"_index":1608,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["fail",{"_index":24690,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["failafter",{"_index":15015,"title":{},"body":{"injectables/LdapService.html":{}}}],["failed",{"_index":644,"title":{},"body":{"injectables/AccountLookupService.html":{},"classes/ApiValidationError.html":{},"interfaces/CleanOptions.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakMigrationService.html":{},"classes/LdapConnectionError.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"todo.html":{}}}],["failed.loggable",{"_index":19923,"title":{},"body":{"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{}}}],["failing",{"_index":15676,"title":{},"body":{"injectables/LocalStrategy.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["failingfileids",{"_index":8877,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["failingfileids.length",{"_index":8878,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["failingfileids.push(result.fileid",{"_index":8885,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["failingfileids.tostring",{"_index":8890,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["fails",{"_index":4881,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["failure",{"_index":1461,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"classes/DeletionExecutionConsole.html":{},"classes/GuardAgainst.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"license.html":{}}}],["failurecount",{"_index":2854,"title":{},"body":{"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{}}}],["fair",{"_index":24791,"title":{},"body":{"license.html":{}}}],["fallback",{"_index":21806,"title":{},"body":{"injectables/TaskUC.html":{}}}],["fallbackhostname",{"_index":6483,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["fallbackimage",{"_index":16241,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["false",{"_index":197,"title":{},"body":{"classes/AcceptQuery.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchQueryParams.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"injectables/AuthorizationHelper.html":{},"classes/BaseUc.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/BoardUrlParams.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"interfaces/CleanOptions.html":{},"injectables/CollaborativeStorageService.html":{},"entities/ColumnBoardTarget.html":{},"controllers/ColumnController.html":{},"classes/ColumnUrlParams.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/County.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameterFactory.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/DeleteFilesUc.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/DtoCreator.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/FeathersAuthProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/GetMetaTagDataBody.html":{},"classes/GlobalValidationPipe.html":{},"classes/GroupIdParams.html":{},"injectables/GroupRepo.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/IdParams.html":{},"classes/IdentityManagementOauthService.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapConfigEntity.html":{},"injectables/LegacySchoolService.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRule.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/ListOauthClientsParams.html":{},"injectables/LocalStrategy.html":{},"modules/LoggerModule.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"injectables/MigrationCheckService.html":{},"interfaces/MigrationOptions.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"classes/OAuthRejectableBody.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/Options.html":{},"interfaces/ParentInfo.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"classes/PseudonymParams.html":{},"classes/PublicSystemResponse.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"classes/RenameBodyParams.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"injectables/RoomBoardDTOFactory.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/SanisProvisioningStrategy.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolIdParams.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolMigrationService.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/Scope.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenUrlParams.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerUrlParams.html":{},"injectables/SubmissionItemFactory.html":{},"classes/SubmissionItemUrlParams.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRule.html":{},"classes/SubmissionUrlParams.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"injectables/SystemRepo.html":{},"injectables/SystemUc.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"injectables/TaskUC.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TeamRule.html":{},"classes/TeamUrlParams.html":{},"injectables/TeamsRepo.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/TldrawWsService.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolVersionService.html":{},"injectables/UserDORepo.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserParams.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/VideoConferenceScopeParams.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["false})@index",{"_index":11495,"title":{},"body":{"entities/FileEntity.html":{}}}],["false})@isoptional",{"_index":24079,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["false})@sanitizehtml",{"_index":18694,"title":{},"body":{"classes/RenameBodyParams.html":{}}}],["familiar",{"_index":25971,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["familienname",{"_index":19454,"title":{},"body":{"classes/SanisNameResponse.html":{}}}],["family",{"_index":24918,"title":{},"body":{"license.html":{}}}],["fantasy",{"_index":24615,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["far",{"_index":14842,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["fashion",{"_index":24718,"title":{},"body":{"license.html":{}}}],["fast",{"_index":25650,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["favicon",{"_index":24548,"title":{},"body":{"dependencies.html":{}}}],["favor",{"_index":24924,"title":{},"body":{"license.html":{}}}],["featherjs",{"_index":7948,"title":{},"body":{"interfaces/CreateJwtPayload.html":{},"interfaces/JwtPayload.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["feathers",{"_index":1884,"title":{},"body":{"modules/AuthorizationModule.html":{},"classes/ErrorLoggable.html":{},"injectables/FeathersAuthorizationService.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"interfaces/JwtConstants.html":{},"injectables/JwtValidationAdapter.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"dependencies.html":{},"index.html":{},"properties.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["feathersapp",{"_index":11362,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["feathersapp.service(path",{"_index":11369,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["feathersauthorizationservice",{"_index":1863,"title":{"injectables/FeathersAuthorizationService.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/NewsUc.html":{}}}],["feathersauthprovider",{"_index":1869,"title":{"injectables/FeathersAuthProvider.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["featherserror",{"_index":9927,"title":{"interfaces/FeathersError.html":{}},"body":{"classes/ErrorUtils.html":{},"interfaces/FeathersError.html":{},"classes/GlobalErrorFilter.html":{}}}],["featherserror)?.type",{"_index":9930,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["feathersexpress",{"_index":11367,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["feathersexpress.services['nest",{"_index":25568,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["feathersjs/authentication",{"_index":24410,"title":{},"body":{"dependencies.html":{}}}],["feathersjs/configuration",{"_index":24413,"title":{},"body":{"dependencies.html":{}}}],["feathersjs/errors",{"_index":8697,"title":{},"body":{"injectables/DashboardUc.html":{},"dependencies.html":{}}}],["feathersjs/express",{"_index":11356,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"dependencies.html":{}}}],["feathersjs/feathers",{"_index":24414,"title":{},"body":{"dependencies.html":{}}}],["feathersmodule",{"_index":1861,"title":{"modules/FeathersModule.html":{}},"body":{"modules/AuthorizationModule.html":{},"modules/FeathersModule.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["feathersrosterservice",{"_index":11236,"title":{"injectables/FeathersRosterService.html":{}},"body":{"injectables/FeathersRosterService.html":{},"modules/PseudonymModule.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["feathersservice",{"_index":11345,"title":{"interfaces/FeathersService.html":{}},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["feathersserviceparams",{"_index":11349,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["feathersserviceprovider",{"_index":9937,"title":{"injectables/FeathersServiceProvider.html":{}},"body":{"injectables/EtherpadService.html":{},"injectables/FeathersAuthProvider.html":{},"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"modules/LessonModule.html":{},"injectables/NexboardService.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["feathersserviceresponse",{"_index":11358,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["feature",{"_index":7626,"title":{},"body":{"injectables/CourseCopyUC.html":{},"interfaces/IToolFeatures.html":{},"injectables/LegacySchoolService.html":{},"injectables/LessonCopyUC.html":{},"injectables/OAuthService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{},"classes/ToolConfiguration.html":{},"injectables/ToolVersionService.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["feature/bc",{"_index":24624,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["feature/sc",{"_index":24614,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["feature_disabled_app_will_not_be_created",{"_index":18014,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["feature_disabled_middlewares_will_not_be_created",{"_index":18007,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["feature_identity_management_enabled",{"_index":13701,"title":{},"body":{"interfaces/IdentityManagementConfig.html":{},"interfaces/ServerConfig.html":{}}}],["feature_identity_management_login_enabled",{"_index":13702,"title":{},"body":{"interfaces/IdentityManagementConfig.html":{},"interfaces/ServerConfig.html":{}}}],["feature_identity_management_store_enabled",{"_index":13703,"title":{},"body":{"interfaces/IdentityManagementConfig.html":{},"interfaces/ServerConfig.html":{}}}],["feature_imscc_course_export_enabled",{"_index":5691,"title":{},"body":{"interfaces/CommonCartridgeConfig.html":{},"interfaces/ServerConfig.html":{}}}],["feature_tldraw_enabled",{"_index":22281,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["features",{"_index":7396,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/OidcProvisioningService.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["featureundertest",{"_index":25744,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["federal",{"_index":15172,"title":{},"body":{"classes/LegacySchoolFactory.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["federalstate",{"_index":11395,"title":{},"body":{"injectables/FederalStateService.html":{},"classes/LdapConfigEntity.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcProvisioningService.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/SchoolYearService.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["federalstateentity",{"_index":7388,"title":{"entities/FederalStateEntity.html":{}},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/LegacySchoolDo.html":{},"injectables/OidcProvisioningService.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["federalstatefactory",{"_index":15171,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["federalstatefactory.build",{"_index":15185,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["federalstatenames",{"_index":17574,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["federalstatenames.niedersachen",{"_index":17588,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["federalstateproperties",{"_index":7379,"title":{"interfaces/FederalStateProperties.html":{}},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["federalstaterepo",{"_index":11378,"title":{"injectables/FederalStateRepo.html":{}},"body":{"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"modules/LegacySchoolModule.html":{}}}],["federalstates",{"_index":7387,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["federalstateservice",{"_index":11384,"title":{"injectables/FederalStateService.html":{}},"body":{"injectables/FederalStateService.html":{},"modules/LegacySchoolModule.html":{},"injectables/OidcProvisioningService.html":{}}}],["fee",{"_index":24845,"title":{},"body":{"license.html":{}}}],["feed",{"_index":18641,"title":{},"body":{"classes/ReferencesService.html":{}}}],["feedback",{"_index":5544,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["feedbacklink",{"_index":5537,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["feel",{"_index":1624,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["fetch",{"_index":2971,"title":{},"body":{"entities/Board.html":{},"injectables/CourseCopyService.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["fetchbase64logo",{"_index":10296,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["fetchbase64logo(logourl",{"_index":10306,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["fetched",{"_index":10284,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{}}}],["fetchedentity",{"_index":2510,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["fetchlogo",{"_index":10297,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["fetchlogo(externaltool",{"_index":10308,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["fetchoptions",{"_index":16225,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["few",{"_index":26079,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["ffd8ffe0",{"_index":10319,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["ffd8ffe1",{"_index":10321,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["ffffff",{"_index":7659,"title":{},"body":{"classes/CourseFactory.html":{}}}],["field",{"_index":6344,"title":{},"body":{"classes/ContentBodyParams.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/LdapStrategy.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/ValidationErrorDetailResponse.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["field${sequence",{"_index":13011,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["fieldname",{"_index":2924,"title":{},"body":{"entities/Board.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/LtiTool.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"interfaces/ParentInfo.html":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{}}}],["fields",{"_index":2229,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/BatchDeletionUc.html":{},"injectables/HydraSsoService.html":{},"injectables/TaskRepo.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["file",{"_index":5,"title":{"interfaces/File.html":{},"additional-documentation/nestjs-application/file-structure.html":{}},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"modules/AccountApiModule.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"interfaces/AccountConfig.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthCodeFailureLoggableException.html":{},"modules/AuthenticationApiModule.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"modules/AuthorizationModule.html":{},"classes/AuthorizationParams.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"modules/BoardApiModule.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"modules/ClassModule.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"modules/CoreModule.html":{},"interfaces/CoreModuleConfig.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"modules/ErrorModule.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FeathersError.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{},"classes/FileUrlParams.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"modules/GroupModule.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"interfaces/IdentityManagementConfig.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/InterceptorConfig.html":{},"modules/InterceptorModule.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"injectables/JwtAuthGuard.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Learnroom.html":{},"modules/LearnroomApiModule.html":{},"interfaces/LearnroomElement.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/LessonApiModule.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"modules/LessonModule.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"modules/NewsModule.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthApiModule.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"classes/ProvisioningDto.html":{},"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"modules/PseudonymModule.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"modules/RocketChatUserModule.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"modules/RoleModule.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"modules/TaskApiModule.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"modules/TaskModule.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawClientModule.html":{},"interfaces/TldrawConfig.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"interfaces/ToolVersion.html":{},"injectables/ToolVersionService.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"modules/UserApiModule.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"modules/ValidationModule.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"dependencies.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["file.bucket",{"_index":8908,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["file.collectionname",{"_index":5249,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["file.data",{"_index":11409,"title":{},"body":{"classes/FileDto.html":{},"classes/FileResponseBuilder.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{},"injectables/S3ClientAdapter.html":{}}}],["file.dto",{"_index":22072,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["file.dto.ts",{"_index":7107,"title":{},"body":{"classes/CopyFileDto.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{}}}],["file.dto.ts:11",{"_index":13381,"title":{},"body":{"classes/H5pFileDto.html":{}}}],["file.dto.ts:13",{"_index":13379,"title":{},"body":{"classes/H5pFileDto.html":{}}}],["file.dto.ts:15",{"_index":13380,"title":{},"body":{"classes/H5pFileDto.html":{}}}],["file.dto.ts:4",{"_index":13378,"title":{},"body":{"classes/H5pFileDto.html":{}}}],["file.dto.ts:5",{"_index":7109,"title":{},"body":{"classes/CopyFileDto.html":{}}}],["file.dto.ts:7",{"_index":7110,"title":{},"body":{"classes/CopyFileDto.html":{}}}],["file.dto.ts:9",{"_index":7108,"title":{},"body":{"classes/CopyFileDto.html":{}}}],["file.factory.ts",{"_index":13356,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{}}}],["file.factory.ts:8",{"_index":13358,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{}}}],["file.id",{"_index":8906,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["file.interface",{"_index":5873,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["file.interface.ts",{"_index":5799,"title":{},"body":{"interfaces/CommonCartridgeFile.html":{}}}],["file.interface.ts:2",{"_index":5801,"title":{},"body":{"interfaces/CommonCartridgeFile.html":{}}}],["file.interface.ts:3",{"_index":5802,"title":{},"body":{"interfaces/CommonCartridgeFile.html":{}}}],["file.isdirectory",{"_index":8903,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["file.mimetype",{"_index":11410,"title":{},"body":{"classes/FileDto.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{},"injectables/S3ClientAdapter.html":{}}}],["file.name",{"_index":11408,"title":{},"body":{"classes/FileDto.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{}}}],["file.repo",{"_index":22077,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["file.repo.ts",{"_index":22024,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["file.repo.ts:12",{"_index":22034,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["file.repo.ts:16",{"_index":22030,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["file.repo.ts:20",{"_index":22035,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["file.repo.ts:25",{"_index":22032,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["file.repo.ts:29",{"_index":22037,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["file.repo.ts:8",{"_index":22038,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["file.storagefilename",{"_index":8910,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["file.storageprovider",{"_index":8912,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["file.url.params.ts",{"_index":6516,"title":{},"body":{"classes/ContentFileUrlParams.html":{},"classes/LibraryFileUrlParams.html":{}}}],["file.url.params.ts:12",{"_index":6518,"title":{},"body":{"classes/ContentFileUrlParams.html":{}}}],["file.url.params.ts:13",{"_index":15552,"title":{},"body":{"classes/LibraryFileUrlParams.html":{}}}],["file.url.params.ts:7",{"_index":6519,"title":{},"body":{"classes/ContentFileUrlParams.html":{}}}],["file.url.params.ts:8",{"_index":15553,"title":{},"body":{"classes/LibraryFileUrlParams.html":{}}}],["file_could_not_be_copied_hint",{"_index":7237,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["filecontent",{"_index":5279,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/ReferencesService.html":{}}}],["filecontent.replace(/\\r\\n?/g",{"_index":18638,"title":{},"body":{"classes/ReferencesService.html":{}}}],["filecontent.split('\\n",{"_index":18644,"title":{},"body":{"classes/ReferencesService.html":{}}}],["filecontentbody",{"_index":6462,"title":{"classes/FileContentBody.html":{}},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["filecopy",{"_index":18407,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["filecopy.foreach((copyfiledto",{"_index":18424,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["filecopy.map((copyfiledto",{"_index":18414,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["filecopyservice",{"_index":3598,"title":{},"body":{"injectables/BoardDoCopyService.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/RecursiveCopyVisitor.html":{}}}],["filecopyservicefactory",{"_index":5417,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["filecopystatus",{"_index":7245,"title":{},"body":{"injectables/CopyFilesService.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/TaskCopyService.html":{}}}],["filecouldnotbecopied",{"_index":7238,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["filedo",{"_index":7098,"title":{"interfaces/FileDO.html":{}},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{}}}],["filedomainobjectprops",{"_index":11399,"title":{"interfaces/FileDomainObjectProps.html":{}},"body":{"interfaces/FileDomainObjectProps.html":{},"classes/FileDto-1.html":{},"classes/FilesStorageClientMapper.html":{}}}],["filedto",{"_index":7248,"title":{"classes/FileDto.html":{},"classes/FileDto-1.html":{}},"body":{"injectables/CopyFilesService.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{}}}],["filedtobuilder",{"_index":11418,"title":{"classes/FileDtoBuilder.html":{}},"body":{"classes/FileDtoBuilder.html":{}}}],["filedtobuilder.build(fileinfo.filename",{"_index":11432,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["filedtobuilder.build(name",{"_index":11437,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["filedtos",{"_index":7230,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["filedtos.map",{"_index":7254,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["filedtos.map((filedto",{"_index":7247,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["fileelement",{"_index":3121,"title":{"classes/FileElement.html":{}},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponseMapper.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemUc.html":{}}}],["fileelement.alternativetext",{"_index":6472,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["fileelement.caption",{"_index":6469,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["fileelement.id",{"_index":18537,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["fileelementcontent",{"_index":11456,"title":{"classes/FileElementContent.html":{}},"body":{"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{}}}],["fileelementcontentbody",{"_index":9517,"title":{"classes/FileElementContentBody.html":{}},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["fileelementnode",{"_index":3470,"title":{"entities/FileElementNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["fileelementnodeprops",{"_index":11466,"title":{"interfaces/FileElementNodeProps.html":{}},"body":{"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{}}}],["fileelementprops",{"_index":11454,"title":{"interfaces/FileElementProps.html":{}},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["fileelementresponse",{"_index":4035,"title":{"classes/FileElementResponse.html":{}},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CardResponse.html":{},"classes/ContentElementResponseFactory.html":{},"controllers/ElementController.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/SubmissionItemResponse.html":{}}}],["fileelementresponse)@apiresponse({status",{"_index":4017,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["fileelementresponsemapper",{"_index":6397,"title":{"classes/FileElementResponseMapper.html":{}},"body":{"classes/ContentElementResponseFactory.html":{},"classes/FileElementResponseMapper.html":{}}}],["fileelementresponsemapper.getinstance",{"_index":6381,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["fileelementresponsemapper.instance",{"_index":11476,"title":{},"body":{"classes/FileElementResponseMapper.html":{}}}],["fileentity",{"_index":1019,"title":{"entities/FileEntity.html":{}},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"injectables/DeleteFilesUc.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/ServerConsoleModule.html":{}}}],["fileentityprops",{"_index":11523,"title":{"interfaces/FileEntityProps.html":{}},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["fileexists",{"_index":22041,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["fileexists(filename",{"_index":22052,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["filefieldsinterceptor",{"_index":13128,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["filegroupstatus",{"_index":7259,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["fileid",{"_index":7258,"title":{},"body":{"injectables/CopyFilesService.html":{},"injectables/DeleteFilesUc.html":{},"classes/RecursiveCopyVisitor.html":{}}}],["fileinfo",{"_index":11428,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["fileinfo.mimetype",{"_index":11433,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["fileinfos",{"_index":12148,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["fileline.trim",{"_index":18650,"title":{},"body":{"classes/ReferencesService.html":{}}}],["filelines",{"_index":18643,"title":{},"body":{"classes/ReferencesService.html":{}}}],["filelines.foreach((fileline",{"_index":18649,"title":{},"body":{"classes/ReferencesService.html":{}}}],["filemetadata",{"_index":11573,"title":{"classes/FileMetadata.html":{}},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["filename",{"_index":5228,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/ContentFileUrlParams.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"additional-documentation/nestjs-application.html":{}}}],["filename.includes",{"_index":22082,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["filename.split('.')[0",{"_index":5229,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["filename.startswith",{"_index":22083,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["filename=\"${encodeuri(fileresponse.name",{"_index":12269,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["filename=\"${encodeuri(params.fwulearningcontent",{"_index":12414,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["filenameobj",{"_index":11804,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["filenameobj.name",{"_index":11806,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["filenameprefix",{"_index":7148,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["filenames",{"_index":5224,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/FileSystemAdapter.html":{}}}],["filenames.map((filename",{"_index":5226,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["filenamewithoutextension",{"_index":11803,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["fileownermodel",{"_index":11505,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesRepo.html":{}}}],["fileownermodel.user",{"_index":12085,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["fileparambuilder",{"_index":7235,"title":{"classes/FileParamBuilder.html":{}},"body":{"injectables/CopyFilesService.html":{},"classes/FileParamBuilder.html":{}}}],["fileparambuilder.build(copyentity.getschoolid",{"_index":7240,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["fileparambuilder.build(originalentity.getschoolid",{"_index":7239,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["fileparams",{"_index":7159,"title":{"classes/FileParams.html":{}},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["filepath",{"_index":5168,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/FileSystemAdapter.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"classes/ReferencesService.html":{}}}],["filepermissionentity",{"_index":11503,"title":{"classes/FilePermissionEntity.html":{}},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["filepermissionentityprops",{"_index":11687,"title":{"interfaces/FilePermissionEntityProps.html":{}},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["filepermissionreferencemodel",{"_index":11692,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["filerecord",{"_index":7121,"title":{"entities/FileRecord.html":{}},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"interfaces/GetFileResponse.html":{},"interfaces/ParentInfo.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileParams.html":{},"injectables/PreviewService.html":{},"modules/ServerConsoleModule.html":{}}}],["filerecord.creatorid",{"_index":7136,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["filerecord.deletedsince",{"_index":7141,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["filerecord.getpreviewstatus",{"_index":7143,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"injectables/PreviewService.html":{}}}],["filerecord.id",{"_index":7125,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"injectables/PreviewService.html":{}}}],["filerecord.mimetype",{"_index":7138,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"injectables/PreviewService.html":{}}}],["filerecord.name",{"_index":7126,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["filerecord.parentid",{"_index":7134,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FilesStorageMapper.html":{}}}],["filerecord.parenttype",{"_index":7139,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FilesStorageMapper.html":{}}}],["filerecord.schoolid",{"_index":12265,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["filerecord.securitycheck.status",{"_index":7132,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["filerecord.size",{"_index":7130,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["filerecordcopy",{"_index":11768,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["filerecordcopy.securitycheck",{"_index":11770,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["filerecordfactory",{"_index":11807,"title":{"classes/FileRecordFactory.html":{}},"body":{"classes/FileRecordFactory.html":{}}}],["filerecordfactory.define(filerecord",{"_index":11814,"title":{},"body":{"classes/FileRecordFactory.html":{}}}],["filerecordid",{"_index":7162,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordScope.html":{},"classes/FileUrlParams.html":{},"classes/FilesStorageMapper.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["filerecordlistresponse",{"_index":7145,"title":{"classes/FileRecordListResponse.html":{}},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordResponse.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["filerecordlistresponse(responsefilerecords",{"_index":11835,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["filerecordlistresponse.map((record",{"_index":12175,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filerecordmapper",{"_index":11819,"title":{"classes/FileRecordMapper.html":{}},"body":{"classes/FileRecordMapper.html":{}}}],["filerecordmapper.maptofilerecordresponse(filerecord",{"_index":11834,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["filerecordparams",{"_index":7097,"title":{"classes/FileRecordParams.html":{}},"body":{"interfaces/CopyFileDO.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"interfaces/FileDO.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"injectables/FilesStorageProducer.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["filerecordparenttype",{"_index":7094,"title":{},"body":{"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto-1.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileUrlParams.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilesStorageMapper.html":{},"interfaces/ParentInfo.html":{},"classes/PreviewParams.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SingleFileParams.html":{}}}],["filerecordparenttype'})@isenum(filerecordparenttype",{"_index":11845,"title":{},"body":{"classes/FileRecordParams.html":{}}}],["filerecordparenttype.boardnode",{"_index":18413,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["filerecordparenttype.course",{"_index":11816,"title":{},"body":{"classes/FileRecordFactory.html":{}}}],["filerecordparenttype.lesson",{"_index":12188,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filerecordparenttype.submission",{"_index":12190,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filerecordparenttype.task",{"_index":12189,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filerecordproperties",{"_index":11743,"title":{"interfaces/FileRecordProperties.html":{}},"body":{"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["filerecordrepo",{"_index":11848,"title":{"injectables/FileRecordRepo.html":{}},"body":{"injectables/FileRecordRepo.html":{},"modules/FilesStorageModule.html":{}}}],["filerecordresponse",{"_index":7123,"title":{"classes/FileRecordResponse.html":{}},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordResponse.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["filerecordresponse(filerecord",{"_index":11831,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["filerecordresponse.id",{"_index":12180,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filerecordresponse.name",{"_index":12181,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filerecordresponse.parentid",{"_index":12182,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filerecords",{"_index":11745,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"interfaces/ParentInfo.html":{},"injectables/PreviewService.html":{}}}],["filerecords.map((filerecord",{"_index":11833,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{},"injectables/PreviewService.html":{}}}],["filerecordscanstatus",{"_index":7144,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["filerecordscope",{"_index":11859,"title":{"classes/FileRecordScope.html":{}},"body":{"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{}}}],["filerecordscope().byfilerecordid(id).bymarkedfordelete(false",{"_index":11876,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["filerecordscope().byfilerecordid(id).bymarkedfordelete(true",{"_index":11878,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["filerecordscope().byparentid(parentid).bymarkedfordelete(false",{"_index":11879,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["filerecordscope().byschoolid(schoolid).byparentid(parentid).bymarkedfordelete(false",{"_index":11881,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["filerecordscope().byschoolid(schoolid).byparentid(parentid).bymarkedfordelete(true",{"_index":11882,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["filerecordscope().bysecuritycheckrequesttoken(token",{"_index":11885,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["filerecordsecuritycheck",{"_index":11724,"title":{"classes/FileRecordSecurityCheck.html":{}},"body":{"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"modules/FilesStorageModule.html":{},"interfaces/ParentInfo.html":{}}}],["filerecordsecuritycheckproperties",{"_index":11735,"title":{"interfaces/FileRecordSecurityCheckProperties.html":{}},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["filerequestinfo",{"_index":7208,"title":{"interfaces/FileRequestInfo.html":{}},"body":{"classes/CopyFilesOfParentParamBuilder.html":{},"interfaces/CopyFilesRequestInfo.html":{},"classes/FileParamBuilder.html":{},"interfaces/FileRequestInfo.html":{},"injectables/FilesStorageClientAdapterService.html":{}}}],["fileresponse",{"_index":11927,"title":{},"body":{"classes/FileResponseBuilder.html":{},"classes/FilesStorageMapper.html":{},"classes/TestHelper.html":{}}}],["fileresponse.contentlength",{"_index":12270,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["fileresponse.contenttype",{"_index":12268,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["fileresponsebuilder",{"_index":11924,"title":{"classes/FileResponseBuilder.html":{}},"body":{"classes/FileResponseBuilder.html":{},"injectables/PreviewService.html":{}}}],["fileresponsebuilder.build(file",{"_index":17952,"title":{},"body":{"injectables/PreviewService.html":{}}}],["files",{"_index":5202,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/CopyFilesService.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"interfaces/File.html":{},"interfaces/FileDO.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/Options.html":{},"classes/Path.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"injectables/PreviewService.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"injectables/TemporaryFileStorage.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["files.concat(returnedfiles",{"_index":19387,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["files.console.ts",{"_index":8824,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["files.console.ts:15",{"_index":8834,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["files.console.ts:6",{"_index":8828,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["files.interface",{"_index":14421,"title":{},"body":{"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakSeedService.html":{}}}],["files.interface.ts",{"_index":13586,"title":{},"body":{"interfaces/IKeycloakConfigurationInputFiles.html":{}}}],["files.length",{"_index":8886,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"injectables/S3ClientAdapter.html":{},"injectables/TemporaryFileStorage.html":{}}}],["files.map((file",{"_index":8880,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files.service",{"_index":12197,"title":{},"body":{"modules/FilesStorageClientModule.html":{},"injectables/TaskCopyService.html":{}}}],["files.service.ts",{"_index":7219,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["files.service.ts:17",{"_index":7225,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["files.service.ts:23",{"_index":7227,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["files.service.ts:42",{"_index":7229,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["files.service.ts:58",{"_index":7233,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["files.uc.ts",{"_index":8846,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files.uc.ts:106",{"_index":8863,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files.uc.ts:12",{"_index":8855,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files.uc.ts:22",{"_index":8865,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files.uc.ts:66",{"_index":8866,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files.uc.ts:76",{"_index":8857,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files.uc.ts:91",{"_index":8861,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files/:file",{"_index":13115,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["files?.file?.[0",{"_index":13172,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["files?.h5p?.[0",{"_index":13174,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["files_storage_s3_connection",{"_index":11969,"title":{},"body":{"interfaces/FileStorageConfig.html":{},"injectables/PreviewService.html":{}}}],["filesdto",{"_index":12174,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filesecuritycheckentity",{"_index":11507,"title":{"classes/FileSecurityCheckEntity.html":{}},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{}}}],["filesecuritycheckentityprops",{"_index":11929,"title":{"interfaces/FileSecurityCheckEntityProps.html":{}},"body":{"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{}}}],["filesecuritycheckstatus",{"_index":11934,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{}}}],["filesecuritycheckstatus.pending",{"_index":11935,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{}}}],["filesecuritycontroller",{"_index":11937,"title":{"controllers/FileSecurityController.html":{}},"body":{"controllers/FileSecurityController.html":{},"modules/FilesStorageApiModule.html":{}}}],["filesmodule",{"_index":8919,"title":{"modules/FilesModule.html":{}},"body":{"modules/DeletionApiModule.html":{},"modules/FilesModule.html":{},"modules/ServerConsoleModule.html":{}}}],["filespreviewevents",{"_index":17837,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewProducer.html":{}}}],["filespreviewevents.generate_preview",{"_index":17842,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["filespreviewexchange",{"_index":17835,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewProducer.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["filesrepo",{"_index":8853,"title":{"injectables/FilesRepo.html":{}},"body":{"injectables/DeleteFilesUc.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{}}}],["filesservice",{"_index":12066,"title":{"injectables/FilesService.html":{}},"body":{"modules/FilesModule.html":{},"injectables/FilesService.html":{}}}],["filesservicebaseurl",{"_index":1270,"title":{},"body":{"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"modules/FilesStorageModule.html":{},"interfaces/ScanResult.html":{}}}],["filesstorageamqpmodule",{"_index":12115,"title":{"modules/FilesStorageAMQPModule.html":{}},"body":{"modules/FilesStorageAMQPModule.html":{}}}],["filesstorageapimodule",{"_index":12123,"title":{"modules/FilesStorageApiModule.html":{}},"body":{"modules/FilesStorageApiModule.html":{},"modules/FilesStorageTestModule.html":{}}}],["filesstorageclientadapterservice",{"_index":7224,"title":{"injectables/FilesStorageClientAdapterService.html":{}},"body":{"injectables/CopyFilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"modules/FilesStorageClientModule.html":{},"injectables/LessonService.html":{},"injectables/RecursiveDeleteVisitor.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SubmissionService.html":{},"injectables/TaskService.html":{}}}],["filesstorageclientconfig",{"_index":12153,"title":{"interfaces/FilesStorageClientConfig.html":{}},"body":{"interfaces/FilesStorageClientConfig.html":{},"injectables/FilesStorageProducer.html":{},"interfaces/ServerConfig.html":{}}}],["filesstorageclientmapper",{"_index":11677,"title":{"classes/FilesStorageClientMapper.html":{}},"body":{"classes/FileParamBuilder.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{}}}],["filesstorageclientmapper.mapcopyfilelistresponsetocopyfilesdto(response",{"_index":12149,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["filesstorageclientmapper.mapcopyfileresponsetocopyfiledto(response",{"_index":12178,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filesstorageclientmapper.mapentitytoparenttype(parent",{"_index":11679,"title":{},"body":{"classes/FileParamBuilder.html":{}}}],["filesstorageclientmapper.mapfilerecordlistresponsetodomainfilesdto(response",{"_index":12151,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["filesstorageclientmapper.mapfilerecordresponsetofiledto(record",{"_index":12176,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filesstorageclientmapper.mapstringtoparenttype(filerecordresponse.parenttype",{"_index":12179,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filesstorageclientmodule",{"_index":3857,"title":{"modules/FilesStorageClientModule.html":{}},"body":{"modules/BoardModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/LessonModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TaskModule.html":{}}}],["filesstorageconsumer",{"_index":12120,"title":{"injectables/FilesStorageConsumer.html":{}},"body":{"modules/FilesStorageAMQPModule.html":{},"injectables/FilesStorageConsumer.html":{}}}],["filesstoragecontroller",{"_index":12127,"title":{},"body":{"modules/FilesStorageApiModule.html":{}}}],["filesstorageevents",{"_index":7086,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{}}}],["filesstorageevents.copy_files_of_parent",{"_index":12222,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["filesstorageevents.delete_files_of_parent",{"_index":12228,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["filesstorageevents.list_files_of_parent",{"_index":12224,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["filesstorageexchange",{"_index":7084,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["filesstorageinternalactions",{"_index":1316,"title":{},"body":{"injectables/AntivirusService.html":{},"controllers/FileSecurityController.html":{}}}],["filesstoragemapper",{"_index":12219,"title":{"classes/FilesStorageMapper.html":{}},"body":{"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{}}}],["filesstoragemapper.maptofilerecordlistresponse(filerecords",{"_index":12227,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["filesstoragemapper.maptofilerecordresponse(filerecord",{"_index":12266,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["filesstoragemodule",{"_index":12119,"title":{"modules/FilesStorageModule.html":{}},"body":{"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageModule.html":{}}}],["filesstorageproducer",{"_index":12137,"title":{"injectables/FilesStorageProducer.html":{}},"body":{"injectables/FilesStorageClientAdapterService.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageProducer.html":{}}}],["filesstorageservice",{"_index":12203,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["filesstoragetestmodule",{"_index":12323,"title":{"modules/FilesStorageTestModule.html":{}},"body":{"modules/FilesStorageTestModule.html":{}}}],["filesstorageuc",{"_index":11950,"title":{},"body":{"controllers/FileSecurityController.html":{},"modules/FilesStorageApiModule.html":{}}}],["filestatuses",{"_index":7253,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["filestorageauthorizationcontext",{"_index":26000,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["filestorageconfig",{"_index":11963,"title":{"interfaces/FileStorageConfig.html":{}},"body":{"interfaces/FileStorageConfig.html":{}}}],["filestoragemqproducer",{"_index":12136,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["filesystem",{"_index":5268,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/FileSystemAdapter.html":{},"interfaces/Options.html":{}}}],["filesystemadapter",{"_index":5175,"title":{"injectables/FileSystemAdapter.html":{}},"body":{"interfaces/CollectionFilePath.html":{},"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{}}}],["filesystemmodule",{"_index":12051,"title":{"modules/FileSystemModule.html":{}},"body":{"modules/FileSystemModule.html":{},"modules/ManagementModule.html":{}}}],["filetype",{"_index":18344,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["filetyperesult",{"_index":18347,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["fileupload_enabled=false",{"_index":25947,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["fileurlparams",{"_index":7158,"title":{"classes/FileUrlParams.html":{}},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["fileurlreplacement",{"_index":7231,"title":{},"body":{"injectables/CopyFilesService.html":{},"injectables/TaskCopyService.html":{}}}],["fileurlreplacements",{"_index":7243,"title":{},"body":{"injectables/CopyFilesService.html":{},"injectables/TaskCopyService.html":{}}}],["fileurlreplacements.foreach",{"_index":21439,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["fill",{"_index":25796,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["filled",{"_index":10469,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["filledtemplate",{"_index":10328,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["filter",{"_index":4672,"title":{},"body":{"classes/ClassFilterParams.html":{},"interfaces/CollectionFilePath.html":{},"injectables/CommonToolValidationService.html":{},"classes/DatabaseManagementConsole.html":{},"modules/ErrorModule.html":{},"injectables/FilesRepo.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterUserParams.html":{},"interfaces/IImportUserScope.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMatchMapper.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ListOauthClientsParams.html":{},"interfaces/NameMatch.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"interfaces/Options.html":{},"injectables/S3ClientAdapter.html":{},"injectables/TaskUC.html":{},"controllers/TeamNewsController.html":{},"todo.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["filter((data",{"_index":5259,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["filter((element",{"_index":7340,"title":{},"body":{"classes/CopyMapper.html":{}}}],["filter((entity",{"_index":21165,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["filter((group",{"_index":19588,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["filter((groupuser",{"_index":12934,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["filter((key",{"_index":10987,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{},"injectables/UserDORepo.html":{}}}],["filter((match",{"_index":14126,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["filter((otheruser",{"_index":19597,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["filter((result",{"_index":140,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["filter((rolename",{"_index":23731,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["filter((user",{"_index":14838,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["filter(issubmissionitem",{"_index":9776,"title":{},"body":{"injectables/ElementUc.html":{}}}],["filter.ts",{"_index":16601,"title":{},"body":{"interfaces/NewsTargetFilter.html":{}}}],["filter/global",{"_index":9903,"title":{},"body":{"modules/ErrorModule.html":{}}}],["filterallowed",{"_index":4504,"title":{},"body":{"injectables/CardUc.html":{}}}],["filterallowed(userid",{"_index":4513,"title":{},"body":{"injectables/CardUc.html":{}}}],["filterbypermission",{"_index":9597,"title":{},"body":{"classes/DtoCreator.html":{}}}],["filterbypermission(elements",{"_index":9615,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["filtercoursesbytoolavailability",{"_index":11244,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["filtercoursesbytoolavailability(courses",{"_index":11258,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["filtered",{"_index":5234,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/CopyHelperService.html":{},"classes/DtoCreator.html":{},"injectables/ExternalToolService.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["filtered.every((status",{"_index":7291,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["filtered.length",{"_index":6213,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/CopyHelperService.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["filtered.some((status",{"_index":7293,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["filteredaccounts",{"_index":990,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["filteredaccounts.length",{"_index":994,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["filteredaccounts[0].id.tostring",{"_index":1001,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["filteredcollectionswithfilepaths",{"_index":5242,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["filteredcollectionswithfilepaths.length",{"_index":5245,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["filteredpathobjects",{"_index":19397,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["filteredtoolreferences",{"_index":23020,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["filteredusers",{"_index":17641,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["filteremailadresses",{"_index":16042,"title":{},"body":{"injectables/MailService.html":{}}}],["filteremailadresses(mails",{"_index":16046,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["filterforavailableexternaltools",{"_index":10055,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterforavailableexternaltools(externaltools",{"_index":10065,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterforavailableschoolexternaltools",{"_index":10056,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterforavailableschoolexternaltools(schoolexternaltools",{"_index":10070,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterforavailabletools",{"_index":10057,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterforavailabletools(externaltools",{"_index":10074,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterforcontextrestrictions",{"_index":10058,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterforcontextrestrictions(availabletools",{"_index":10077,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterimportuserparams",{"_index":12328,"title":{"classes/FilterImportUserParams.html":{}},"body":{"classes/FilterImportUserParams.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{}}}],["filtermatchtype",{"_index":12341,"title":{},"body":{"classes/FilterImportUserParams.html":{},"classes/ImportUserMatchMapper.html":{}}}],["filtermatchtype.auto",{"_index":13995,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["filtermatchtype.manual",{"_index":13997,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["filtermatchtype.none",{"_index":13999,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["filternewsparams",{"_index":12352,"title":{"classes/FilterNewsParams.html":{}},"body":{"classes/FilterNewsParams.html":{},"controllers/NewsController.html":{},"classes/NewsMapper.html":{},"controllers/TeamNewsController.html":{}}}],["filterparametersforscope",{"_index":10059,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterparametersforscope(externaltool",{"_index":10080,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterparams",{"_index":12673,"title":{},"body":{"controllers/GroupController.html":{},"controllers/SystemController.html":{}}}],["filterparams.onlyoauth",{"_index":21047,"title":{},"body":{"controllers/SystemController.html":{}}}],["filterparams.type",{"_index":12695,"title":{},"body":{"controllers/GroupController.html":{}}}],["filterquery",{"_index":2487,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/ColumnBoardTargetService.html":{},"classes/ContextExternalToolScope.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/LessonScope.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/Scope.html":{},"injectables/SubmissionRepo.html":{},"classes/SystemScope.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"controllers/ToolController.html":{},"injectables/UserDORepo.html":{},"classes/UserScope.html":{}}}],["filterroletype",{"_index":12345,"title":{},"body":{"classes/FilterImportUserParams.html":{},"classes/RoleNameMapper.html":{}}}],["filterroletype.admin",{"_index":19004,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["filterroletype.student",{"_index":19006,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["filterroletype.teacher",{"_index":19005,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["filters",{"_index":5232,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/FilterNewsParams.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/UserRepo.html":{}}}],["filters.availableon",{"_index":21644,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["filters.classes",{"_index":14046,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["filters.finished.value",{"_index":21637,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["filters.firstname",{"_index":14038,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["filters.flagged",{"_index":14050,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["filters.lastname",{"_index":14040,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["filters.loginname",{"_index":14042,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["filters.matches",{"_index":14048,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["filters.name.replace(mongopatterns.regex_mongo_language_pattern_whitelist",{"_index":23822,"title":{},"body":{"injectables/UserRepo.html":{}}}],["filters.role",{"_index":14044,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["filters?.afterduedateornone",{"_index":21640,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["filters?.availableon",{"_index":21642,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["filters?.draft",{"_index":21648,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["filters?.finished",{"_index":21635,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["filters?.hidden",{"_index":15455,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["filters?.name",{"_index":23819,"title":{},"body":{"injectables/UserRepo.html":{}}}],["filters?.nofutureavailabledate",{"_index":21650,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["filters?.onlyactivecourses",{"_index":7837,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["filtersubmissionsbypermission",{"_index":20964,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["filtersubmissionsbypermission(submissions",{"_index":20968,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["filtertoolswithpermissions",{"_index":6970,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["filtertoolswithpermissions(userid",{"_index":6981,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["filterundefined",{"_index":15899,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["filteruserparams",{"_index":12364,"title":{"classes/FilterUserParams.html":{}},"body":{"classes/FilterUserParams.html":{},"controllers/ImportUserController.html":{},"classes/UserMatchMapper.html":{}}}],["final",{"_index":13144,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["finally",{"_index":25005,"title":{},"body":{"license.html":{}}}],["find",{"_index":5106,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolRepo.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FileRecordRepo.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/ImportUserScope.html":{},"injectables/LdapStrategy.html":{},"injectables/LessonCopyUC.html":{},"injectables/NewsRepo.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SubmissionItemUc.html":{},"controllers/SystemController.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"injectables/TldrawWsService.html":{},"injectables/UserDORepo.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"index.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["find((item",{"_index":9777,"title":{},"body":{"injectables/ElementUc.html":{}}}],["find((result",{"_index":143,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["find(@query",{"_index":21044,"title":{},"body":{"controllers/SystemController.html":{}}}],["find(filterparams",{"_index":21027,"title":{},"body":{"controllers/SystemController.html":{}}}],["find(params",{"_index":11352,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["find(query",{"_index":10578,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/UserDORepo.html":{}}}],["findaccountbydbcaccountid",{"_index":13729,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["findaccountbydbcaccountid(accountdbcaccountid",{"_index":13743,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["findaccountbydbcuserid",{"_index":13730,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["findaccountbydbcuserid(accountdbcuserid",{"_index":13746,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["findaccountbyid",{"_index":319,"title":{},"body":{"controllers/AccountController.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["findaccountbyid(accountid",{"_index":13748,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["findaccountbyid(currentuser",{"_index":350,"title":{},"body":{"controllers/AccountController.html":{}}}],["findaccountbyid(id",{"_index":14690,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["findaccountsbyusername",{"_index":13731,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["findaccountsbyusername(username",{"_index":13749,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["findall",{"_index":15280,"title":{},"body":{"injectables/LegacySystemRepo.html":{},"controllers/NewsController.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SystemOidcService.html":{},"controllers/TaskController.html":{},"injectables/TaskUC.html":{}}}],["findall(currentuser",{"_index":16413,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TaskController.html":{}}}],["findall(userid",{"_index":21769,"title":{},"body":{"injectables/TaskUC.html":{}}}],["findallbyconfigtype",{"_index":10573,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["findallbyconfigtype(type",{"_index":10581,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["findallbycontext",{"_index":6924,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["findallbycontext(contextref",{"_index":6937,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["findallbycourseids",{"_index":15442,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["findallbycourseids(courseids",{"_index":15445,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["findallbydeletionrequestid",{"_index":9168,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["findallbydeletionrequestid(deletionrequestid",{"_index":9172,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["findallbyparentids",{"_index":21561,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["findallbyparentids(parentids",{"_index":21567,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["findallbyschoolid",{"_index":4822,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["findallbyschoolid(schoolid",{"_index":4825,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["findallbytask",{"_index":20936,"title":{},"body":{"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{}}}],["findallbytask(taskid",{"_index":20941,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["findallbytask(userid",{"_index":20970,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["findallbytaskids",{"_index":20885,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["findallbytaskids(taskids",{"_index":20889,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["findallbyuser",{"_index":7880,"title":{},"body":{"injectables/CourseUc.html":{}}}],["findallbyuser(userid",{"_index":7882,"title":{},"body":{"injectables/CourseUc.html":{}}}],["findallbyuserandfilename",{"_index":22025,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findallbyuserandfilename(userid",{"_index":22029,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findallbyuserid",{"_index":4779,"title":{},"body":{"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/SubmissionRepo.html":{}}}],["findallbyuserid(userid",{"_index":4785,"title":{},"body":{"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CourseRepo.html":{},"injectables/CourseService.html":{},"injectables/SubmissionRepo.html":{}}}],["findallcoursegroupsbyuserid",{"_index":7709,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["findallcoursegroupsbyuserid(userid",{"_index":7714,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["findallcoursesbyuserid",{"_index":7865,"title":{},"body":{"injectables/CourseService.html":{}}}],["findallcoursesbyuserid(userid",{"_index":7870,"title":{},"body":{"injectables/CourseService.html":{}}}],["findallfinished",{"_index":21362,"title":{},"body":{"controllers/TaskController.html":{},"injectables/TaskUC.html":{}}}],["findallfinished(currentuser",{"_index":21372,"title":{},"body":{"controllers/TaskController.html":{}}}],["findallfinished(userid",{"_index":21771,"title":{},"body":{"injectables/TaskUC.html":{}}}],["findallfinishedbyparentids",{"_index":21562,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["findallfinishedbyparentids(parentids",{"_index":21571,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["findallforstudent",{"_index":21761,"title":{},"body":{"injectables/TaskUC.html":{}}}],["findallforstudent(user",{"_index":21773,"title":{},"body":{"injectables/TaskUC.html":{}}}],["findallforteacher",{"_index":7806,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/TaskUC.html":{}}}],["findallforteacher(user",{"_index":21775,"title":{},"body":{"injectables/TaskUC.html":{}}}],["findallforteacher(userid",{"_index":7813,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["findallforteacherorsubstituteteacher",{"_index":7807,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["findallforteacherorsubstituteteacher(userid",{"_index":7815,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["findallforteam",{"_index":21906,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["findallforteam(urlparams",{"_index":21907,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["findallforuser",{"_index":16603,"title":{},"body":{"injectables/NewsUc.html":{}}}],["findallforuser(userid",{"_index":16613,"title":{},"body":{"injectables/NewsUc.html":{}}}],["findallimportusers",{"_index":13827,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["findallimportusers(currentuser",{"_index":13837,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["findallitemstoexecute",{"_index":9409,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["findallitemstoexecute(limit",{"_index":9415,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["findallitemstoexecution",{"_index":9355,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["findallitemstoexecution(limit",{"_index":9363,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["findalllessonsbyuserid",{"_index":15507,"title":{},"body":{"injectables/LessonService.html":{}}}],["findalllessonsbyuserid(userid",{"_index":15514,"title":{},"body":{"injectables/LessonService.html":{}}}],["findallpublished",{"_index":16533,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["findallpublished(targets",{"_index":16536,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["findalltasks",{"_index":21363,"title":{},"body":{"controllers/TaskController.html":{}}}],["findalltasks(currentuser",{"_index":21375,"title":{},"body":{"controllers/TaskController.html":{}}}],["findallunmatchedusers",{"_index":13828,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["findallunmatchedusers(currentuser",{"_index":13840,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["findallunpublishedbyuser",{"_index":16534,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["findallunpublishedbyuser(targets",{"_index":16539,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["findandcount",{"_index":11850,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findandcount(scope",{"_index":11858,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findboard",{"_index":4105,"title":{},"body":{"injectables/BoardUc.html":{}}}],["findboard(userid",{"_index":4113,"title":{},"body":{"injectables/BoardUc.html":{}}}],["findboardcontext",{"_index":4106,"title":{},"body":{"injectables/BoardUc.html":{}}}],["findboardcontext(userid",{"_index":4115,"title":{},"body":{"injectables/BoardUc.html":{}}}],["findbyclassandid",{"_index":3602,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["findbyclassandid(doclass",{"_index":3615,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["findbyclientidandislocal",{"_index":15963,"title":{},"body":{"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{}}}],["findbyclientidandislocal(clientid",{"_index":16016,"title":{},"body":{"injectables/LtiToolService.html":{}}}],["findbyclientidandislocal(oauthclientid",{"_index":15966,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["findbycourseid",{"_index":3953,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["findbycourseid(courseid",{"_index":3958,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["findbycourseids",{"_index":7687,"title":{},"body":{"injectables/CourseGroupRepo.html":{},"injectables/LessonService.html":{}}}],["findbycourseids(courseids",{"_index":7688,"title":{},"body":{"injectables/CourseGroupRepo.html":{},"injectables/LessonService.html":{}}}],["findbydeletionrequestid",{"_index":9192,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["findbydeletionrequestid(deletionrequestid",{"_index":9197,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["findbydescendant",{"_index":5465,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["findbydescendant(boarddo",{"_index":5477,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["findbydocname",{"_index":22343,"title":{},"body":{"injectables/TldrawRepo.html":{}}}],["findbydocname(docname",{"_index":22348,"title":{},"body":{"injectables/TldrawRepo.html":{}}}],["findbyemail",{"_index":23795,"title":{},"body":{"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["findbyemail(email",{"_index":23800,"title":{},"body":{"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["findbyexternalid",{"_index":15199,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserService.html":{}}}],["findbyexternalid(externalid",{"_index":15204,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserService.html":{}}}],["findbyexternalidorfail",{"_index":23244,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["findbyexternalidorfail(externalid",{"_index":23252,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["findbyexternalsource",{"_index":12791,"title":{},"body":{"injectables/GroupRepo.html":{},"injectables/GroupService.html":{}}}],["findbyexternalsource(externalid",{"_index":12795,"title":{},"body":{"injectables/GroupRepo.html":{},"injectables/GroupService.html":{}}}],["findbyexternaltoolid",{"_index":19730,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["findbyexternaltoolid(toolid",{"_index":19741,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["findbyfilter",{"_index":15281,"title":{},"body":{"injectables/LegacySystemRepo.html":{},"injectables/SystemUc.html":{}}}],["findbyfilter(type",{"_index":15283,"title":{},"body":{"injectables/LegacySystemRepo.html":{},"injectables/SystemUc.html":{}}}],["findbyid",{"_index":12,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"injectables/CardService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolService.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"injectables/CourseService.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"injectables/ShareTokenRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/VideoConferenceRepo.html":{}}}],["findbyid(boardid",{"_index":5479,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["findbyid(cardid",{"_index":4460,"title":{},"body":{"injectables/CardService.html":{}}}],["findbyid(columnid",{"_index":5651,"title":{},"body":{"injectables/ColumnService.html":{}}}],["findbyid(contentid",{"_index":13061,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["findbyid(contextexternaltoolid",{"_index":6939,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["findbyid(courseid",{"_index":7872,"title":{},"body":{"injectables/CourseService.html":{}}}],["findbyid(deletionlogid",{"_index":9174,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["findbyid(deletionrequestid",{"_index":9365,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["findbyid(elementid",{"_index":6416,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["findbyid(id",{"_index":40,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"injectables/ShareTokenRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionRepo.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/VideoConferenceRepo.html":{}}}],["findbyid(lessonid",{"_index":15517,"title":{},"body":{"injectables/LessonService.html":{}}}],["findbyid(schoolexternaltoolid",{"_index":19814,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["findbyid(submissionid",{"_index":20944,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["findbyid(taskid",{"_index":21739,"title":{},"body":{"injectables/TaskService.html":{}}}],["findbyidorfail",{"_index":6925,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["findbyidorfail(contextexternaltoolid",{"_index":6941,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["findbyidornull",{"_index":23245,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserService.html":{}}}],["findbyidornull(id",{"_index":23255,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserService.html":{}}}],["findbyids",{"_index":3603,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/CardService.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{}}}],["findbyids(cardids",{"_index":4463,"title":{},"body":{"injectables/CardService.html":{}}}],["findbyids(ids",{"_index":3620,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{}}}],["findbyname",{"_index":10574,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/RoleRepo.html":{}}}],["findbyname(machinename",{"_index":15566,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["findbyname(name",{"_index":10583,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/RoleRepo.html":{}}}],["findbynameandexactversion",{"_index":15560,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["findbynameandexactversion(machinename",{"_index":15568,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["findbynames",{"_index":19012,"title":{},"body":{"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{}}}],["findbynames(names",{"_index":19015,"title":{},"body":{"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{}}}],["findbyoauth2configclientid",{"_index":10575,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["findbyoauth2configclientid(clientid",{"_index":10585,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["findbyoauthclientid",{"_index":15964,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["findbyoauthclientid(oauthclientid",{"_index":15969,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["findbyowneruserid",{"_index":12069,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["findbyowneruserid(owneruserid",{"_index":12073,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["findbyparentid",{"_index":11851,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbyparentid(parentid",{"_index":11861,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbypermissionrefid",{"_index":12070,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["findbypermissionrefid(permissionrefid",{"_index":12076,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["findbyschoolid",{"_index":19731,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["findbyschoolid(schoolid",{"_index":19743,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["findbyschoolidandparentid",{"_index":11852,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbyschoolidandparentid(schoolid",{"_index":11863,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbyschoolidandparentidandmarkedfordelete",{"_index":11853,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbyschoolidandparentidandmarkedfordelete(schoolid",{"_index":11865,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbyschoolnumber",{"_index":15200,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["findbyschoolnumber(officialschoolnumber",{"_index":15206,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["findbyscopeandscopeid",{"_index":24299,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["findbyscopeandscopeid(scopeid",{"_index":24300,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["findbysecuritycheckrequesttoken",{"_index":11854,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbysecuritycheckrequesttoken(token",{"_index":11867,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbysingleparent",{"_index":21563,"title":{},"body":{"injectables/TaskRepo.html":{},"injectables/TaskService.html":{}}}],["findbysingleparent(creatorid",{"_index":21573,"title":{},"body":{"injectables/TaskRepo.html":{},"injectables/TaskService.html":{}}}],["findbytype",{"_index":15303,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["findbytype(type",{"_index":15308,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["findbyuser",{"_index":12792,"title":{},"body":{"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"injectables/TemporaryFileRepo.html":{}}}],["findbyuser(user",{"_index":12798,"title":{},"body":{"injectables/GroupRepo.html":{},"injectables/GroupService.html":{}}}],["findbyuser(userid",{"_index":22031,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findbyuserandfilename",{"_index":22026,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findbyuserandfilename(userid",{"_index":22033,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findbyuserandtoolorthrow",{"_index":18206,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["findbyuserandtoolorthrow(user",{"_index":16753,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"injectables/PseudonymService.html":{}}}],["findbyuserid",{"_index":13,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/CourseGroupRepo.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/LessonRepo.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"injectables/TeamsRepo.html":{}}}],["findbyuserid(userid",{"_index":42,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/CourseGroupRepo.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/LessonRepo.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"injectables/TeamsRepo.html":{}}}],["findbyuseridandtoolid",{"_index":10516,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["findbyuseridandtoolid(userid",{"_index":10528,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["findbyuseridandtoolidorfail",{"_index":10517,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["findbyuseridandtoolidorfail(userid",{"_index":10530,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["findbyuseridorfail",{"_index":14,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{}}}],["findbyuseridorfail(userid",{"_index":44,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{}}}],["findbyusernameandsystemid",{"_index":15,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{}}}],["findbyusernameandsystemid(username",{"_index":46,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{}}}],["findcards",{"_index":4505,"title":{},"body":{"injectables/CardUc.html":{}}}],["findcards(userid",{"_index":4516,"title":{},"body":{"injectables/CardUc.html":{}}}],["findclasses",{"_index":12671,"title":{},"body":{"controllers/GroupController.html":{}}}],["findclasses(pagination",{"_index":12672,"title":{},"body":{"controllers/GroupController.html":{}}}],["findclassesforschool",{"_index":4780,"title":{},"body":{"injectables/ClassService.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{}}}],["findclassesforschool(schoolid",{"_index":4787,"title":{},"body":{"injectables/ClassService.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{}}}],["findcontextexternaltools",{"_index":6926,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["findcontextexternaltools(query",{"_index":6943,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["findcurrentyear",{"_index":20069,"title":{},"body":{"injectables/SchoolYearRepo.html":{}}}],["finddescendants",{"_index":3914,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["finddescendants(node",{"_index":3918,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["finddescendantsofmany",{"_index":3915,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["finddescendantsofmany(nodes",{"_index":3920,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["finddocumentsofcollection",{"_index":8780,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["finddocumentsofcollection(collectionname",{"_index":8792,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["findevent",{"_index":4292,"title":{},"body":{"injectables/CalendarService.html":{}}}],["findevent(userid",{"_index":4295,"title":{},"body":{"injectables/CalendarService.html":{}}}],["findexistinggridelement",{"_index":8568,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["findexistinggridelement(elementwithposition",{"_index":8581,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["findexistingtargets",{"_index":5572,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["findexistingtargets(columnboardids",{"_index":5575,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["findexpired",{"_index":22027,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findexpiredbyuser",{"_index":22028,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findexpiredbyuser(userid",{"_index":22036,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findexternaltool",{"_index":10992,"title":{},"body":{"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["findexternaltool(currentuser",{"_index":22740,"title":{},"body":{"controllers/ToolController.html":{}}}],["findexternaltool(userid",{"_index":11003,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["findexternaltoolbyname",{"_index":10883,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["findexternaltoolbyname(name",{"_index":10900,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["findexternaltoolbyoauth2configclientid",{"_index":10884,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["findexternaltoolbyoauth2configclientid(clientid",{"_index":10902,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["findexternaltoolpseudonymsbyuserid",{"_index":18207,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["findexternaltoolpseudonymsbyuserid(userid",{"_index":18221,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["findexternaltools",{"_index":10885,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["findexternaltools(query",{"_index":10904,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["findfederalstatebyname",{"_index":11388,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["findfederalstatebyname(name",{"_index":11391,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["findfilesaccessiblebyuser",{"_index":12095,"title":{},"body":{"injectables/FilesService.html":{}}}],["findfilesaccessiblebyuser(userid",{"_index":12100,"title":{},"body":{"injectables/FilesService.html":{}}}],["findfilesownedbyuser",{"_index":12096,"title":{},"body":{"injectables/FilesService.html":{}}}],["findfilesownedbyuser(userid",{"_index":12102,"title":{},"body":{"injectables/FilesService.html":{}}}],["findforcleanup",{"_index":12071,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["findforcleanup(thresholddate",{"_index":12079,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["findforuser",{"_index":7518,"title":{},"body":{"controllers/CourseController.html":{},"controllers/DashboardController.html":{}}}],["findforuser(@currentuser",{"_index":8309,"title":{},"body":{"controllers/DashboardController.html":{}}}],["findforuser(currentuser",{"_index":7524,"title":{},"body":{"controllers/CourseController.html":{},"controllers/DashboardController.html":{}}}],["findidsbyexternalreference",{"_index":3604,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/ColumnBoardService.html":{}}}],["findidsbyexternalreference(reference",{"_index":3622,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/ColumnBoardService.html":{}}}],["findimportusers",{"_index":14017,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["findimportusers(school",{"_index":14023,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["findimportusersandcount",{"_index":14018,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["findimportusersandcount(query",{"_index":14025,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["finding",{"_index":3933,"title":{},"body":{"injectables/BoardNodeRepo.html":{},"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{}}}],["findlegacyltitool",{"_index":16688,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["findmany",{"_index":16,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{}}}],["findmany(offset",{"_index":54,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{}}}],["findmigrationbyschool",{"_index":23620,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["findmigrationbyschool(schoolid",{"_index":23633,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["findmigrationbyuser",{"_index":23621,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["findmigrationbyuser(userid",{"_index":23635,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["findmultiplebyuserid",{"_index":17,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{}}}],["findmultiplebyuserid(userids",{"_index":60,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{}}}],["findnewestbynameandversion",{"_index":15561,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["findnewestbynameandversion(machinename",{"_index":15570,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["findnewsandcount",{"_index":16535,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["findnewsandcount(query",{"_index":16541,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["findnextcloudtool",{"_index":16689,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["findone",{"_index":7808,"title":{},"body":{"injectables/CourseRepo.html":{},"controllers/NewsController.html":{}}}],["findone(@param",{"_index":16441,"title":{},"body":{"controllers/NewsController.html":{}}}],["findone(courseid",{"_index":7818,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["findone(urlparams",{"_index":16416,"title":{},"body":{"controllers/NewsController.html":{}}}],["findonebyid",{"_index":11855,"title":{},"body":{"injectables/FileRecordRepo.html":{},"injectables/NewsRepo.html":{}}}],["findonebyid(id",{"_index":11869,"title":{},"body":{"injectables/FileRecordRepo.html":{},"injectables/NewsRepo.html":{}}}],["findonebyidforuser",{"_index":16604,"title":{},"body":{"injectables/NewsUc.html":{}}}],["findonebyidforuser(id",{"_index":16617,"title":{},"body":{"injectables/NewsUc.html":{}}}],["findonebyidmarkedfordelete",{"_index":11856,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findonebyidmarkedfordelete(id",{"_index":11871,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findonebynameandversionorfail",{"_index":15562,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["findonebynameandversionorfail(machinename",{"_index":15572,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["findonebytoken",{"_index":20378,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["findonebytoken(token",{"_index":20379,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["findoneorfail",{"_index":11857,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findoneorfail(scope",{"_index":11873,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findoneorfailhandler",{"_index":12290,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["findorcreatepseudonym",{"_index":18208,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["findorcreatepseudonym(user",{"_index":18223,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["findorcreatetargets",{"_index":5573,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["findorcreatetargets(columnboardids",{"_index":5578,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["findparentofid",{"_index":3605,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/ContentElementService.html":{}}}],["findparentofid(childid",{"_index":3625,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["findparentofid(elementid",{"_index":6418,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["findpseudonym",{"_index":10518,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymService.html":{}}}],["findpseudonym(query",{"_index":10532,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymService.html":{}}}],["findpseudonymbypseudonym",{"_index":10519,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/FeathersRosterService.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{}}}],["findpseudonymbypseudonym(pseudonym",{"_index":10535,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/FeathersRosterService.html":{},"injectables/PseudonymService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["findpseudonymbypseudonym(userid",{"_index":18258,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["findpseudonymsbyuserid",{"_index":18209,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["findpseudonymsbyuserid(userid",{"_index":18227,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["finds",{"_index":741,"title":{},"body":{"injectables/AccountRepo.html":{},"controllers/SystemController.html":{},"injectables/TeamsRepo.html":{}}}],["findschoolexternaltools",{"_index":19804,"title":{},"body":{"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["findschoolexternaltools(query",{"_index":19816,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["findschoolexternaltools(userid",{"_index":19849,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["findstatusesbytask",{"_index":20729,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["findstatusesbytask(currentuser",{"_index":20733,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["findsubmissionitems",{"_index":20849,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["findsubmissionitems(userid",{"_index":20853,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["findtasksandcount",{"_index":21564,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["findtasksandcount(query",{"_index":21575,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["findteambyid",{"_index":5095,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["findteambyid(teamid",{"_index":5103,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["findtoolbyclientid",{"_index":17323,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["findtoolbyclientid(clientid",{"_index":17327,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["finduserafterprovisioningorthrow",{"_index":16816,"title":{},"body":{"injectables/OAuthService.html":{}}}],["finduserafterprovisioningorthrow(externaluserid",{"_index":16828,"title":{},"body":{"injectables/OAuthService.html":{}}}],["finduserdatafromteams",{"_index":21958,"title":{},"body":{"injectables/TeamService.html":{}}}],["finduserdatafromteams(userid",{"_index":21963,"title":{},"body":{"injectables/TeamService.html":{}}}],["finduserloginmigrationbyschool",{"_index":23398,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["finduserloginmigrationbyschool(user",{"_index":23412,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["finduserloginmigrationbyschool(userid",{"_index":23676,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["findusers",{"_index":23873,"title":{},"body":{"injectables/UserService.html":{}}}],["findusers(query",{"_index":23885,"title":{},"body":{"injectables/UserService.html":{}}}],["findwithoutimportuser",{"_index":23796,"title":{},"body":{"injectables/UserRepo.html":{}}}],["findwithoutimportuser(school",{"_index":23803,"title":{},"body":{"injectables/UserRepo.html":{}}}],["fine",{"_index":25684,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["finish",{"_index":21364,"title":{},"body":{"controllers/TaskController.html":{}}}],["finish(@param",{"_index":21402,"title":{},"body":{"controllers/TaskController.html":{}}}],["finish(urlparams",{"_index":21377,"title":{},"body":{"controllers/TaskController.html":{}}}],["finishcoursecopying",{"_index":7558,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["finishcoursecopying(coursecopy",{"_index":7570,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["finished",{"_index":8844,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"interfaces/ITask.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"interfaces/TaskCreate.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"interfaces/TaskStatus.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{}}}],["finished(user",{"_index":21503,"title":{},"body":{"classes/TaskFactory.html":{}}}],["finishedat",{"_index":23491,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["finishedcoursecopy",{"_index":7587,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["finishedcourseids",{"_index":21588,"title":{},"body":{"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{}}}],["finishedids",{"_index":21289,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["finishedobjectids",{"_index":21287,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["finishedobjectids.map((id",{"_index":21290,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["finisheduserid",{"_index":21301,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["finisheduserids",{"_index":21297,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["finisheduserids.some((finisheduserid",{"_index":21300,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["finishforuser(user",{"_index":21345,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["finishing",{"_index":23536,"title":{},"body":{"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["first",{"_index":413,"title":{},"body":{"controllers/AccountController.html":{},"injectables/BatchDeletionUc.html":{},"interfaces/CleanOptions.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/ICurrentUser.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"interfaces/JwtPayload.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementService.html":{},"interfaces/MigrationOptions.html":{},"injectables/NewsUc.html":{},"classes/PatchMyAccountParams.html":{},"interfaces/RetryOptions.html":{},"classes/UserInfoResponse.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["firstbrokerloginflowalias",{"_index":17529,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["firstchar",{"_index":7504,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["firstclass",{"_index":13918,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["firstname",{"_index":700,"title":{},"body":{"interfaces/AccountParams.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/CollectionFilePath.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/ExternalUserDto.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterUserParams.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUserResponse.html":{},"interfaces/IImportUserScope.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/IservMapper.html":{},"interfaces/JsonUser.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"interfaces/NameMatch.html":{},"injectables/OidcProvisioningService.html":{},"classes/PatchMyAccountParams.html":{},"classes/ResolvedUserResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SortImportUserParams.html":{},"classes/SubmissionItemResponseMapper.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["firstname.replace(mongopatterns.regex_mongo_language_pattern_whitelist",{"_index":14106,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["firstnamesearchvalues",{"_index":5334,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserProperties.html":{}}}],["firstvaluefrom",{"_index":2381,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"injectables/DeletionClient.html":{},"injectables/DrawingElementAdapterService.html":{},"injectables/HydraSsoService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["firstvaluefrom(observable",{"_index":2396,"title":{},"body":{"injectables/BBBService.html":{}}}],["firstvaluefrom(request",{"_index":8979,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["firstvaluefrom(respobservable",{"_index":13550,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["fishery",{"_index":575,"title":{},"body":{"classes/AccountFactory.html":{},"classes/AxiosErrorFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LtiToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/ShareTokenFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["fit",{"_index":6158,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["fitness",{"_index":25149,"title":{},"body":{"license.html":{}}}],["fix",{"_index":1850,"title":{},"body":{"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/TaskUC.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["fixable",{"_index":25362,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["fixed",{"_index":7797,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/RpcMessageProducer.html":{},"entities/SchoolNews.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{},"license.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["fixeddata",{"_index":19510,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["fixedresponse",{"_index":19520,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["fixedresponse.personenkontexte[0].gruppen",{"_index":19522,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["fixedresponse.personenkontexte[0].gruppen.length",{"_index":19529,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["fixedresponse?.personenkontexte?.length",{"_index":19521,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["fixes",{"_index":25237,"title":{},"body":{"todo.html":{}}}],["fixing",{"_index":26070,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["fixme",{"_index":4791,"title":{},"body":{"injectables/ClassService.html":{},"injectables/CommonCartridgeExportService.html":{},"entities/CourseNews.html":{},"modules/LearnroomApiModule.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{}}}],["fixtures",{"_index":25779,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["fixups",{"_index":25846,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["flag",{"_index":12361,"title":{},"body":{"classes/FilterNewsParams.html":{},"interfaces/IToolFeatures.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemFilterParams.html":{},"classes/ToolConfiguration.html":{},"injectables/ToolVersionService.html":{},"classes/UpdateFlagParams.html":{},"classes/UserMigrationIsNotEnabled.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["flag.params.ts",{"_index":23098,"title":{},"body":{"classes/UpdateFlagParams.html":{}}}],["flag.params.ts:7",{"_index":23100,"title":{},"body":{"classes/UpdateFlagParams.html":{}}}],["flagged",{"_index":12331,"title":{},"body":{"classes/FilterImportUserParams.html":{},"interfaces/IImportUserScope.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"interfaces/NameMatch.html":{},"classes/UpdateFlagParams.html":{}}}],["flags",{"_index":4878,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/Options.html":{},"interfaces/RetryOptions.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["flexible",{"_index":25436,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["flow",{"_index":14509,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"license.html":{}}}],["flow.id",{"_index":14524,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["flow.service",{"_index":13678,"title":{},"body":{"injectables/IdTokenService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"modules/OauthProviderModule.html":{}}}],["flow.service.ts",{"_index":17322,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["flow.service.ts:11",{"_index":17326,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["flow.service.ts:18",{"_index":17328,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["flow.service.ts:39",{"_index":17330,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["flow.uc",{"_index":17265,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["flow.uc.ts",{"_index":17182,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{}}}],["flow.uc.ts:104",{"_index":17351,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["flow.uc.ts:15",{"_index":17188,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["flow.uc.ts:17",{"_index":17344,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["flow.uc.ts:21",{"_index":17192,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["flow.uc.ts:26",{"_index":17194,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["flow.uc.ts:31",{"_index":17349,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["flow.uc.ts:46",{"_index":17346,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["flow.uc.ts:50",{"_index":17197,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["flow.uc.ts:58",{"_index":17190,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["flow.uc.ts:6",{"_index":17377,"title":{},"body":{"injectables/OauthProviderLogoutFlowUc.html":{}}}],["flow.uc.ts:80",{"_index":17200,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["flow.uc.ts:9",{"_index":17379,"title":{},"body":{"injectables/OauthProviderLogoutFlowUc.html":{}}}],["flow.uc.ts:92",{"_index":17353,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["flowalias",{"_index":14506,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["flows",{"_index":14520,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["flows.find((tempflow",{"_index":14522,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["flush",{"_index":730,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/UserRepo.html":{}}}],["flushdocument",{"_index":22212,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"injectables/TldrawWsService.html":{}}}],["flushdocument(docname",{"_index":22218,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"injectables/TldrawWsService.html":{}}}],["flushsize",{"_index":22209,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["fn",{"_index":3812,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["fn(i",{"_index":3847,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["fname",{"_index":1066,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["folder",{"_index":5190,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/FileSystemAdapter.html":{},"injectables/NextcloudStrategy.html":{},"interfaces/Options.html":{},"injectables/S3ClientAdapter.html":{},"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["folder_id",{"_index":12981,"title":{},"body":{"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/Meta.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OcsResponse.html":{},"interfaces/SuccessfulRes.html":{}}}],["folderid",{"_index":16723,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["foldername",{"_index":16734,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["folderpath",{"_index":5198,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/FileSystemAdapter.html":{}}}],["folders",{"_index":16737,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["folgendem",{"_index":5546,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["follow",{"_index":6253,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["following",{"_index":8889,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["follows",{"_index":25868,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["foo",{"_index":25382,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["foractivecourses",{"_index":7828,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["forallgrouptypes",{"_index":7854,"title":{},"body":{"classes/CourseScope.html":{}}}],["forallgrouptypes(userid",{"_index":7823,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["forbid",{"_index":24825,"title":{},"body":{"license.html":{}}}],["forbidden",{"_index":12379,"title":{},"body":{"classes/ForbiddenOperationError.html":{},"injectables/TemporaryFileStorage.html":{},"controllers/ToolLaunchController.html":{},"injectables/UserLoginMigrationUc.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["forbidden'})@apibadrequestresponse({description",{"_index":22801,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["forbidden_exception",{"_index":12372,"title":{},"body":{"classes/ForbiddenLoggableException.html":{}}}],["forbidden_operation",{"_index":12378,"title":{},"body":{"classes/ForbiddenOperationError.html":{}}}],["forbiddenexception",{"_index":2667,"title":{},"body":{"classes/BaseUc.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"classes/ErrorMapper.html":{},"classes/ForbiddenLoggableException.html":{},"controllers/H5PEditorController.html":{},"injectables/LessonCopyUC.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/RoomsUc.html":{},"controllers/ShareTokenController.html":{},"injectables/TaskCopyUC.html":{},"controllers/TldrawController.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["forbiddenexception(\"you",{"_index":17217,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["forbiddenexception('accessing",{"_index":23686,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["forbiddenexception('could",{"_index":15410,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["forbiddenexception('some",{"_index":25617,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["forbiddenexception('user",{"_index":2676,"title":{},"body":{"classes/BaseUc.html":{}}}],["forbiddenexception('you",{"_index":19222,"title":{},"body":{"injectables/RoomsUc.html":{},"injectables/TaskCopyUC.html":{}}}],["forbiddenexception(`cannot",{"_index":3077,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["forbiddenexception(errorobj.message",{"_index":9893,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["forbiddenexception(errorstatus.guests_cannot_join_conference",{"_index":24214,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["forbiddenexception(errorstatus.insufficient_permission",{"_index":24129,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{}}}],["forbiddenexception})@apiresponse({status",{"_index":3198,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/H5PEditorController.html":{},"controllers/ShareTokenController.html":{},"controllers/TldrawController.html":{}}}],["forbiddenexception})@get",{"_index":4357,"title":{},"body":{"controllers/CardController.html":{}}}],["forbiddenexception})@get(':submissioncontainerid",{"_index":4026,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["forbiddenloggableexception",{"_index":1956,"title":{"classes/ForbiddenLoggableException.html":{}},"body":{"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ForbiddenLoggableException.html":{},"injectables/ToolPermissionHelper.html":{}}}],["forbiddenloggableexception(user.id",{"_index":1988,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["forbiddenloggableexception(userid",{"_index":1960,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["forbiddenoperationerror",{"_index":343,"title":{"classes/ForbiddenOperationError.html":{}},"body":{"controllers/AccountController.html":{},"classes/ForbiddenOperationError.html":{},"controllers/LoginController.html":{}}}],["forbidnonwhitelisted",{"_index":12597,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["forbidunknownvalues",{"_index":12599,"title":{},"body":{"classes/GlobalValidationPipe.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["force",{"_index":74,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AuthenticationService.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/KeycloakConfigurationService.html":{},"interfaces/LibrariesContentType.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["force.error.ts",{"_index":4169,"title":{},"body":{"classes/BruteForceError.html":{}}}],["force.error.ts:5",{"_index":4171,"title":{},"body":{"classes/BruteForceError.html":{}}}],["force_subject_identifier",{"_index":184,"title":{},"body":{"interfaces/AcceptLoginRequestBody.html":{},"classes/OauthProviderRequestMapper.html":{}}}],["forcepasswordchange",{"_index":23118,"title":{},"body":{"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDto.html":{},"classes/UserMapper.html":{},"interfaces/UserProperties.html":{}}}],["forcepathstyle",{"_index":8899,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"modules/S3ClientModule.html":{}}}],["forceserverobjectid",{"_index":8807,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["forceupdate",{"_index":7175,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["forcourseid",{"_index":7855,"title":{},"body":{"classes/CourseScope.html":{}}}],["forcourseid(courseid",{"_index":7832,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["foreach((key",{"_index":10989,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{},"injectables/UserDORepo.html":{}}}],["foreign",{"_index":15064,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["foreignfield",{"_index":23826,"title":{},"body":{"injectables/UserRepo.html":{}}}],["form",{"_index":2823,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthAdapterService.html":{},"license.html":{}}}],["format",{"_index":403,"title":{},"body":{"controllers/AccountController.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/CollectionFilePath.html":{},"classes/ConsentRequestBody.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"interfaces/CreateJwtParams.html":{},"classes/CreateNewsParams.html":{},"classes/DownloadFileParams.html":{},"classes/ErrorResponse.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"injectables/FileSystemAdapter.html":{},"classes/FileUrlParams.html":{},"interfaces/GetFileResponse.html":{},"classes/JwtTestFactory.html":{},"modules/LoggerModule.html":{},"controllers/LoginController.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"interfaces/PreviewResponseMessage.html":{},"classes/RenameFileParams.html":{},"classes/RichText.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"classes/UsersList.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["format.'})@apioperation({summary",{"_index":22681,"title":{},"body":{"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["format.'})@apiresponse({status",{"_index":341,"title":{},"body":{"controllers/AccountController.html":{},"controllers/LoginController.html":{}}}],["format.types",{"_index":18824,"title":{},"body":{"classes/RichText.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["formatted",{"_index":621,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["formattedjwt",{"_index":1629,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["formatting",{"_index":25360,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["forms",{"_index":24871,"title":{},"body":{"license.html":{}}}],["forroot",{"_index":1048,"title":{},"body":{"modules/AdminApiServerTestModule.html":{},"modules/AntivirusModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/MailModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/RocketChatModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["forroot(options",{"_index":1045,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AntivirusModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/RocketChatModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["forroutes",{"_index":20222,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["forteacher",{"_index":7856,"title":{},"body":{"classes/CourseScope.html":{}}}],["forteacher(userid",{"_index":7827,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["forteacherorsubstituteteacher",{"_index":7857,"title":{},"body":{"classes/CourseScope.html":{}}}],["forteacherorsubstituteteacher(userid",{"_index":7826,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["forwardref",{"_index":1935,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/ExternalToolConfigurationUc.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/PseudonymModule.html":{},"injectables/SubmissionItemUc.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{}}}],["found",{"_index":347,"title":{},"body":{"controllers/AccountController.html":{},"injectables/AccountServiceDb.html":{},"injectables/BatchDeletionUc.html":{},"classes/BruteForceError.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CommonToolValidationService.html":{},"injectables/DashboardUc.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"injectables/HydraSsoService.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"injectables/Oauth2Strategy.html":{},"controllers/PseudonymController.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["found.error.ts",{"_index":9803,"title":{},"body":{"classes/EntityNotFoundError.html":{}}}],["found.error.ts:4",{"_index":9805,"title":{},"body":{"classes/EntityNotFoundError.html":{}}}],["found.exception",{"_index":10140,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/OauthProviderLoginFlowService.html":{}}}],["found.loggable",{"_index":16785,"title":{},"body":{"classes/NotFoundLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{}}}],["found.loggable.ts",{"_index":19876,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/UserForGroupNotFoundLoggable.html":{}}}],["found.loggable.ts:4",{"_index":19877,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/UserForGroupNotFoundLoggable.html":{}}}],["found.loggable.ts:7",{"_index":19878,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/UserForGroupNotFoundLoggable.html":{}}}],["foundaccount.systemid",{"_index":992,"title":{},"body":{"injectables/AccountValidationService.html":{},"injectables/AuthenticationService.html":{}}}],["foundaccounts",{"_index":492,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/KeycloakMigrationService.html":{}}}],["foundation",{"_index":24639,"title":{},"body":{"license.html":{}}}],["foundentry",{"_index":6093,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["foundentry.name",{"_index":6153,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["foundentry.value",{"_index":6150,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["foundentry?.value",{"_index":6147,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["foundparameter",{"_index":6137,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["foundpseudonym",{"_index":18260,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["foundpseudonym.userid",{"_index":18262,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["foundschool",{"_index":20055,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["foundschool.id",{"_index":20057,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["foundtools",{"_index":16775,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["foundtools.length",{"_index":16777,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["foundtools[0",{"_index":16780,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["foundusers",{"_index":979,"title":{},"body":{"injectables/AccountValidationService.html":{},"classes/KeycloakSeedService.html":{}}}],["foundusers.length",{"_index":993,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["foundusers[0].id.tostring",{"_index":999,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["free",{"_index":1625,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["freedom",{"_index":24657,"title":{},"body":{"license.html":{}}}],["freejoin",{"_index":2322,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["freeport",{"_index":24493,"title":{},"body":{"dependencies.html":{}}}],["freuen",{"_index":5540,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["friendly",{"_index":8232,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["friendlyurl",{"_index":8059,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{}}}],["from.'})@isurl({require_tld",{"_index":24078,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["from.options",{"_index":24337,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["from.permission",{"_index":24335,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["from.url",{"_index":24336,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["fromcookie",{"_index":14280,"title":{},"body":{"classes/JwtExtractor.html":{}}}],["fromcookie(name",{"_index":14281,"title":{},"body":{"classes/JwtExtractor.html":{}}}],["fromgroup",{"_index":12603,"title":{},"body":{"classes/GridElement.html":{}}}],["fromgroup(title",{"_index":8402,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["frompersistedgroup",{"_index":12604,"title":{},"body":{"classes/GridElement.html":{}}}],["frompersistedgroup(id",{"_index":8400,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["frompersistedreference",{"_index":12605,"title":{},"body":{"classes/GridElement.html":{}}}],["frompersistedreference(id",{"_index":8399,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["fromsinglereference",{"_index":12606,"title":{},"body":{"classes/GridElement.html":{}}}],["fromsinglereference(reference",{"_index":8401,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["front",{"_index":15802,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["frontchannel",{"_index":16977,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["frontchannel_logout_uri",{"_index":8062,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"injectables/ExternalToolServiceMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/OauthClientBody.html":{}}}],["frontchannellogouturi",{"_index":8209,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["fs",{"_index":12033,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/KeycloakSeedService.html":{},"interfaces/LibrariesContentType.html":{},"classes/ReferencesService.html":{},"injectables/TemporaryFileStorage.html":{},"dependencies.html":{}}}],["fs.readfile(this.inputfiles.accountsfile",{"_index":14845,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["fs.readfile(this.inputfiles.usersfile",{"_index":14847,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["fs.readfilesync(filepath).tostring",{"_index":18634,"title":{},"body":{"classes/ReferencesService.html":{}}}],["fs.rm",{"_index":12046,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["fsp",{"_index":12031,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["fulfil",{"_index":25806,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["fulfill",{"_index":25447,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["fulfilling",{"_index":24811,"title":{},"body":{"license.html":{}}}],["fulfills",{"_index":25629,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["fulfils",{"_index":26083,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["full",{"_index":2841,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/FileSystemAdapter.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["full_path",{"_index":18726,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["fullname",{"_index":2255,"title":{},"body":{"classes/BBBJoinConfig.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["fullpath",{"_index":18699,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["fullscreen",{"_index":11615,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["fully",{"_index":15290,"title":{},"body":{"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["function",{"_index":527,"title":{},"body":{"classes/AccountFactory.html":{},"modules/AccountModule.html":{},"injectables/BBBService.html":{},"classes/BaseFactory.html":{},"injectables/BoardManagementUc.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"interfaces/ColumnBoardProps.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ColumnProps.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"modules/EncryptionModule.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/IGridElement.html":{},"classes/ImportUserFactory.html":{},"classes/KeycloakConsole.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"classes/LegacySchoolFactory.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"interfaces/LibrariesContentType.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SystemEntityFactory.html":{},"entities/Task.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["functional",{"_index":7354,"title":{},"body":{"modules/CoreModule.html":{},"additional-documentation/nestjs-application.html":{}}}],["functionalities",{"_index":25853,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["functionality",{"_index":21856,"title":{},"body":{"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["functioning",{"_index":24938,"title":{},"body":{"license.html":{}}}],["functions",{"_index":25642,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["funktionen",{"_index":5511,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["further",{"_index":24895,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["fut",{"_index":25743,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["fut.somefunction",{"_index":25763,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["future",{"_index":1920,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/BaseRepo.html":{},"entities/CourseNews.html":{},"injectables/FileRecordRepo.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsUc.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["fwu",{"_index":12386,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{}}}],["fwu_content_s3_connection",{"_index":12441,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["fwulearningcontent",{"_index":12481,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{}}}],["fwulearningcontentscontroller",{"_index":12381,"title":{"controllers/FwuLearningContentsController.html":{}},"body":{"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{}}}],["fwulearningcontentsmodule",{"_index":12416,"title":{"modules/FwuLearningContentsModule.html":{}},"body":{"modules/FwuLearningContentsModule.html":{}}}],["fwulearningcontentstestmodule",{"_index":12427,"title":{"modules/FwuLearningContentsTestModule.html":{}},"body":{"modules/FwuLearningContentsTestModule.html":{}}}],["fwulearningcontentsuc",{"_index":12391,"title":{"injectables/FwuLearningContentsUc.html":{}},"body":{"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{}}}],["g",{"_index":7251,"title":{},"body":{"injectables/CopyFilesService.html":{},"additional-documentation/nestjs-application.html":{}}}],["g.test(filename",{"_index":22081,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["gates",{"_index":25363,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["gatewayport",{"_index":22154,"title":{},"body":{"classes/TestConnection.html":{}}}],["gc",{"_index":22433,"title":{},"body":{"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["gcenabled",{"_index":24357,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["geburt",{"_index":19425,"title":{},"body":{"classes/SanisGeburtResponse.html":{},"classes/SanisPersonResponse.html":{}}}],["general",{"_index":11603,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"injectables/SystemRule.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["generall",{"_index":2546,"title":{},"body":{"classes/BaseDomainObject.html":{}}}],["generally",{"_index":24775,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["generate",{"_index":550,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/RocketChatUserFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserFactory.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["generate(payload",{"_index":17911,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["generatearray",{"_index":3799,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["generatearray(length",{"_index":3811,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["generatebrokersystems",{"_index":15304,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["generatebrokersystems(systems",{"_index":15310,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["generatechecksum",{"_index":2328,"title":{},"body":{"injectables/BBBService.html":{}}}],["generatechecksum(callname",{"_index":2350,"title":{},"body":{"injectables/BBBService.html":{}}}],["generateconfig",{"_index":13458,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["generateconfig(oauthclientid",{"_index":13466,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["generated",{"_index":7173,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{},"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["generatedid",{"_index":2604,"title":{},"body":{"classes/BaseFactory.html":{}}}],["generatedid.tohexstring",{"_index":2607,"title":{},"body":{"classes/BaseFactory.html":{}}}],["generatedsystem",{"_index":15347,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["generatedsystem.id",{"_index":15349,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["generatedsystem.oauthconfig",{"_index":15350,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["generatedsystem.oauthconfig.idphint",{"_index":15351,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["generatedsystem.oauthconfig.redirecturi",{"_index":15353,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["generateemptydashboard",{"_index":8665,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["generateemptydashboard(userid",{"_index":8678,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["generategroupfoldername",{"_index":16690,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["generategroupfoldername(teamid",{"_index":16702,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["generategroupid",{"_index":16691,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["generategroupid(dto",{"_index":16706,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["generatejwt",{"_index":1688,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["generatejwt(user",{"_index":1698,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["generatelaunchrequest",{"_index":22878,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["generatelaunchrequest(toollaunchdata",{"_index":22883,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["generatepreview",{"_index":17830,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{}}}],["generatepreview(@rabbitpayload",{"_index":17843,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["generatepreview(params",{"_index":17876,"title":{},"body":{"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{}}}],["generatepreview(payload",{"_index":17834,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["generates",{"_index":16704,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["generateseeddata",{"_index":5180,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["generateseeddata((s",{"_index":5257,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["generatesharetoken",{"_index":22553,"title":{},"body":{"injectables/TokenGenerator.html":{}}}],["generating",{"_index":25371,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["generator",{"_index":556,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"modules/FilesStorageModule.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"interfaces/ParentInfo.html":{},"classes/PreviewBuilder.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewService.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["generator.builder",{"_index":17882,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["generator.builder.ts",{"_index":17825,"title":{},"body":{"classes/PreviewGeneratorBuilder.html":{}}}],["generator.builder.ts:6",{"_index":17827,"title":{},"body":{"classes/PreviewGeneratorBuilder.html":{}}}],["generator.consumer",{"_index":17852,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["generator.consumer.ts",{"_index":17829,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["generator.consumer.ts:10",{"_index":17833,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["generator.consumer.ts:20",{"_index":17836,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["generator.service",{"_index":17840,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/ShareTokenService.html":{}}}],["generator.service.ts",{"_index":17864,"title":{},"body":{"injectables/PreviewGeneratorService.html":{},"injectables/TokenGenerator.html":{}}}],["generator.service.ts:12",{"_index":17870,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["generator.service.ts:18",{"_index":17877,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["generator.service.ts:40",{"_index":17872,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["generator.service.ts:50",{"_index":17874,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["generator.service.ts:56",{"_index":17879,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["generator.service.ts:7",{"_index":22554,"title":{},"body":{"injectables/TokenGenerator.html":{}}}],["generator/interface/preview",{"_index":17813,"title":{},"body":{"interfaces/PreviewConfig.html":{},"interfaces/PreviewModuleConfig.html":{}}}],["generator/interface/preview.ts",{"_index":17816,"title":{},"body":{"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewOptions.html":{},"interfaces/PreviewResponseMessage.html":{}}}],["generator/loggable/preview",{"_index":17786,"title":{},"body":{"classes/PreviewActionsLoggable.html":{}}}],["generator/preview",{"_index":17824,"title":{},"body":{"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{}}}],["generator/preview.producer.ts",{"_index":17909,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["generator/preview.producer.ts:11",{"_index":17910,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["generator/preview.producer.ts:23",{"_index":17912,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["generatorfn",{"_index":557,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["generell",{"_index":26066,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["generic",{"_index":25412,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["genericdata",{"_index":1077,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["genericsortfunction",{"_index":20543,"title":{},"body":{"classes/SortHelper.html":{}}}],["genericsortfunction(a",{"_index":20544,"title":{},"body":{"classes/SortHelper.html":{}}}],["geogebra",{"_index":6172,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["get('*/:fwulearningcontent",{"_index":12389,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["get('/:contexttype/:contextid",{"_index":22973,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["get('/:contexttype/:contextid')@apioperation({summary",{"_index":22965,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["get('/:externaltoolid/logo",{"_index":22783,"title":{},"body":{"controllers/ToolController.html":{}}}],["get('/:externaltoolid/logo')@apioperation({summary",{"_index":22748,"title":{},"body":{"controllers/ToolController.html":{}}}],["get('/:externaltoolid/metadata",{"_index":22791,"title":{},"body":{"controllers/ToolController.html":{}}}],["get('/:externaltoolid/metadata')@apioperation({summary",{"_index":22753,"title":{},"body":{"controllers/ToolController.html":{}}}],["get('/:groupid",{"_index":12700,"title":{},"body":{"controllers/GroupController.html":{}}}],["get('/:groupid')@apioperation({summary",{"_index":12682,"title":{},"body":{"controllers/GroupController.html":{}}}],["get('/:schoolexternaltoolid/metadata",{"_index":23067,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["get('/:schoolexternaltoolid/metadata')@apioperation({summary",{"_index":23035,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["get('/class",{"_index":12693,"title":{},"body":{"controllers/GroupController.html":{}}}],["get('/edit/:contentid/:language",{"_index":13184,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('/edit/:contentid/:language')@apiresponse({status",{"_index":13098,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('/edit/:language",{"_index":13178,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('/edit/:language')@apiresponse({status",{"_index":13105,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('/play/:contentid",{"_index":13138,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get(':boardid",{"_index":3232,"title":{},"body":{"controllers/BoardController.html":{}}}],["get(':boardid/context",{"_index":3236,"title":{},"body":{"controllers/BoardController.html":{}}}],["get(':contextexternaltoolid",{"_index":22715,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["get(':contextexternaltoolid')@apiforbiddenresponse()@apiunauthorizedresponse()@apinotfoundresponse()@apiokresponse({description",{"_index":22688,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["get(':contexttype/:contextid",{"_index":22710,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["get(':contexttype/:contextid')@apiforbiddenresponse()@apiunauthorizedresponse()@apiokresponse({description",{"_index":22693,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["get(':contexttype/:contextid/available",{"_index":22601,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["get(':courseid/export",{"_index":7522,"title":{},"body":{"controllers/CourseController.html":{}}}],["get(':externaltoolid",{"_index":22773,"title":{},"body":{"controllers/ToolController.html":{}}}],["get(':externaltoolid')@apioperation({summary",{"_index":22745,"title":{},"body":{"controllers/ToolController.html":{}}}],["get(':id",{"_index":405,"title":{},"body":{"controllers/AccountController.html":{}}}],["get(':id')@apioperation({summary",{"_index":351,"title":{},"body":{"controllers/AccountController.html":{}}}],["get(':newsid",{"_index":16417,"title":{},"body":{"controllers/NewsController.html":{}}}],["get(':pseudonym",{"_index":18162,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["get(':pseudonym')@apifoundresponse({description",{"_index":18150,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["get(':requestid",{"_index":9459,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["get(':requestid')@httpcode(200)@apioperation({summary",{"_index":9451,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["get(':roomid/board",{"_index":19151,"title":{},"body":{"controllers/RoomsController.html":{}}}],["get(':schoolexternaltoolid",{"_index":23054,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["get(':schoolexternaltoolid')@apiforbiddenresponse()@apiunauthorizedresponse()@apioperation({summary",{"_index":23039,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["get(':scope/:scopeid",{"_index":24174,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["get(':scope/:scopeid')@apioperation({summary",{"_index":24152,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["get(':scope/:scopeid/end",{"_index":24065,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["get(':scope/:scopeid/end')@apioperation({summary",{"_index":24021,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["get(':scope/:scopeid/info",{"_index":24062,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["get(':scope/:scopeid/info')@apioperation({summary",{"_index":24027,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["get(':scope/:scopeid/join",{"_index":24059,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["get(':scope/:scopeid/join')@apioperation({summary",{"_index":24031,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["get(':submissioncontainerid",{"_index":4043,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["get(':teamid/news",{"_index":21909,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["get(':token",{"_index":20312,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["get('ajax",{"_index":13089,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('auth/:oauthclientid",{"_index":17475,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["get('auth/:oauthclientid')@authenticate('jwt",{"_index":17461,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["get('auth/sessions/consent",{"_index":17310,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["get('baseurl",{"_index":17242,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["get('clients",{"_index":17278,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["get('clients/:id",{"_index":17275,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["get('consentrequest/:challenge",{"_index":17303,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["get('content/:id/:filename",{"_index":13092,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('context",{"_index":22610,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolReferenceController.html":{}}}],["get('context/:contextexternaltoolid/launch",{"_index":22807,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["get('context/:contextexternaltoolid/launch')@apioperation({summary",{"_index":22797,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["get('finished",{"_index":21373,"title":{},"body":{"controllers/TaskController.html":{}}}],["get('hydra/:oauthclientid",{"_index":17469,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["get('hydra/:oauthclientid')@authenticate('jwt",{"_index":17458,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["get('libraries/:ubername/:file",{"_index":13102,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('loginrequest/:challenge",{"_index":17238,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["get('me",{"_index":23190,"title":{},"body":{"controllers/UserController.html":{}}}],["get('params/:id",{"_index":13095,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('public",{"_index":21043,"title":{},"body":{"controllers/SystemController.html":{}}}],["get('public')@apioperation({summary",{"_index":21029,"title":{},"body":{"controllers/SystemController.html":{}}}],["get('public/:systemid",{"_index":21049,"title":{},"body":{"controllers/SystemController.html":{}}}],["get('public/:systemid')@apioperation({summary",{"_index":21035,"title":{},"body":{"controllers/SystemController.html":{}}}],["get('school",{"_index":22616,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["get('school/:schoolid/available",{"_index":22606,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["get('schools/:schoolid",{"_index":23469,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["get('schools/:schoolid')@apiforbiddenresponse()@apiokresponse({description",{"_index":23413,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["get('status/task/:taskid",{"_index":20735,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["get('temp",{"_index":13114,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('unassigned",{"_index":13841,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["get()@apiforbiddenresponse()@apioperation({summary",{"_index":23419,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["get()@apifoundresponse({description",{"_index":22741,"title":{},"body":{"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["get()@apioperation({summary",{"_index":367,"title":{},"body":{"controllers/AccountController.html":{}}}],["get(`${this.options.uri}${path",{"_index":1168,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["get(filesstorageinternalactions.downloadbysecuritytoken",{"_index":11952,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["get(id",{"_index":11354,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["get(path",{"_index":1164,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/CalendarService.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{}}}],["get(req",{"_index":12387,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["get(subpath",{"_index":1636,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["get(url",{"_index":13468,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["get/post",{"_index":13151,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getadditionalerrorinfo",{"_index":14206,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["getadditionalerrorinfo(email",{"_index":14212,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["getadminidandtoken",{"_index":1178,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["getadminuser",{"_index":14368,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["getajax",{"_index":13072,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getajax(@query",{"_index":13165,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getajax(query",{"_index":13088,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getall",{"_index":15563,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["getallaccounts",{"_index":13732,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["getallcontents",{"_index":13056,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["getalternativetext",{"_index":11444,"title":{},"body":{"classes/FileElement.html":{}}}],["getancestorids",{"_index":3606,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["getancestorids(boarddo",{"_index":3628,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["getandpseudonyms",{"_index":11245,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["getandpseudonyms(users",{"_index":11261,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["getapiresponsetimemetriclabels",{"_index":18728,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["getapiresponsetimemetriclabels(req",{"_index":18744,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["getasadmin(path",{"_index":1162,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["getauthtoken",{"_index":18892,"title":{},"body":{"classes/RocketChatUser.html":{}}}],["getavailabletoolsforcontext",{"_index":10118,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"controllers/ToolConfigurationController.html":{}}}],["getavailabletoolsforcontext(currentuser",{"_index":22600,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["getavailabletoolsforcontext(userid",{"_index":10129,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["getavailabletoolsforschool",{"_index":10119,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"controllers/ToolConfigurationController.html":{}}}],["getavailabletoolsforschool(currentuser",{"_index":22605,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["getavailabletoolsforschool(userid",{"_index":10131,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["getbaseurl",{"_index":2374,"title":{},"body":{"injectables/BBBService.html":{}}}],["getbbbrequestconfig",{"_index":2329,"title":{},"body":{"injectables/BBBService.html":{}}}],["getbbbrequestconfig(presentationurl",{"_index":2359,"title":{},"body":{"injectables/BBBService.html":{}}}],["getboard",{"_index":19204,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["getboard(roomid",{"_index":19208,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["getboardauthorizable",{"_index":3407,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["getboardauthorizable(boarddo",{"_index":3413,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["getboardcontext",{"_index":3188,"title":{},"body":{"controllers/BoardController.html":{}}}],["getboardcontext(urlparams",{"_index":3206,"title":{},"body":{"controllers/BoardController.html":{}}}],["getboardobjecttitlesbyid",{"_index":5466,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["getboardobjecttitlesbyid(boardids",{"_index":5482,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["getboardskeleton",{"_index":3189,"title":{},"body":{"controllers/BoardController.html":{}}}],["getboardskeleton(urlparams",{"_index":3210,"title":{},"body":{"controllers/BoardController.html":{}}}],["getboardvalue",{"_index":2014,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["getboardvalue(elementid",{"_index":2021,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["getbydraftforcreatorquery",{"_index":21705,"title":{},"body":{"classes/TaskScope.html":{}}}],["getbydraftforcreatorquery(creatorid",{"_index":21723,"title":{},"body":{"classes/TaskScope.html":{}}}],["getbydraftquery",{"_index":21706,"title":{},"body":{"classes/TaskScope.html":{}}}],["getbydraftquery(isdraft",{"_index":21725,"title":{},"body":{"classes/TaskScope.html":{}}}],["getbyid(externaltoolpseudonymentity.name",{"_index":10550,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["getbyid(pseudonymentity.name",{"_index":18280,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["getbytargetid(id",{"_index":2955,"title":{},"body":{"entities/Board.html":{}}}],["getcaption",{"_index":11442,"title":{},"body":{"classes/FileElement.html":{}}}],["getcards",{"_index":4338,"title":{},"body":{"controllers/CardController.html":{}}}],["getcards(currentuser",{"_index":4352,"title":{},"body":{"controllers/CardController.html":{}}}],["getchildren",{"_index":3067,"title":{},"body":{"classes/BoardComposite.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["getchildren(boardnode",{"_index":3517,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["getclientid",{"_index":14369,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["getclientsecret",{"_index":14370,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["getcollectdefaultmetrics",{"_index":17981,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["getcollectionnames",{"_index":8781,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["getcollectmetricsroutemetrics",{"_index":17983,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["getcompleted",{"_index":20771,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["getconfigurationtemplateforcontext",{"_index":22598,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["getconfigurationtemplateforcontext(currentuser",{"_index":22609,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["getconfigurationtemplateforschool",{"_index":22599,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["getconfigurationtemplateforschool(currentuser",{"_index":22615,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["getconsentrequest",{"_index":17184,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{}}}],["getconsentrequest(@param",{"_index":17304,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["getconsentrequest(challenge",{"_index":17191,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["getconsentrequest(params",{"_index":17234,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["getcontent",{"_index":8381,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["getcontentfile",{"_index":13073,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getcontentfile(params",{"_index":13091,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getcontentparameters",{"_index":13074,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getcontentparameters(@param('id",{"_index":13157,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getcontentparameters(id",{"_index":13094,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getcontext",{"_index":5405,"title":{},"body":{"classes/ColumnBoard.html":{}}}],["getcontextexternaltool",{"_index":6971,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["getcontextexternaltool(currentuser",{"_index":22687,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["getcontextexternaltool(userid",{"_index":6983,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["getcontextexternaltoolid",{"_index":10197,"title":{},"body":{"classes/ExternalToolElement.html":{}}}],["getcontextexternaltoolsforcontext",{"_index":6972,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["getcontextexternaltoolsforcontext(currentuser",{"_index":22692,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["getcontextexternaltoolsforcontext(userid",{"_index":6985,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["getcopiesforchildrenof",{"_index":18357,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["getcopiesforchildrenof(original",{"_index":18365,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["getcopyname",{"_index":21451,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["getcopyname(originaltaskname",{"_index":21463,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["getcopystatusesforchildrenof",{"_index":18358,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["getcopystatusesforchildrenof(original",{"_index":18367,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["getcoursegroupitems",{"_index":7498,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["getcoursegroupstudentids",{"_index":20662,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["getcoursesfromuserspseudonym",{"_index":11246,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["getcoursesfromuserspseudonym(pseudonym",{"_index":11263,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["getcoursevalue",{"_index":2015,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["getcoursevalue(courseid",{"_index":2024,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["getcreatedat",{"_index":3069,"title":{},"body":{"classes/BoardComposite.html":{},"classes/Class.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"classes/Pseudonym.html":{},"classes/RocketChatUser.html":{}}}],["getcurrentschoolyear",{"_index":20075,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["getdashboardbyid",{"_index":8652,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["getdashboardbyid(id",{"_index":8656,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["getdata",{"_index":14207,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["getdata(input",{"_index":14214,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["getdata(systemid",{"_index":18082,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["getdatabasecollection",{"_index":8782,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["getdatabasecollection(collectionname",{"_index":8795,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["getdb",{"_index":8799,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["getdefaultmaxduedate",{"_index":21762,"title":{},"body":{"injectables/TaskUC.html":{}}}],["getdefaultmetadata",{"_index":117,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/TaskUrlHandler.html":{}}}],["getdefaultmetadata(url",{"_index":126,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/TaskUrlHandler.html":{}}}],["getdeleteafter",{"_index":9263,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["getdeletedcount",{"_index":9098,"title":{},"body":{"classes/DeletionLog.html":{}}}],["getdeletionclientconfig",{"_index":9013,"title":{},"body":{"modules/DeletionConsoleModule.html":{}}}],["getdeletionrequestid",{"_index":9100,"title":{},"body":{"classes/DeletionLog.html":{}}}],["getdescription",{"_index":9541,"title":{},"body":{"classes/DrawingElement.html":{},"classes/LinkElement.html":{}}}],["getdestinationcourse",{"_index":21452,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["getdestinationcourse(courseid",{"_index":21467,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["getdestinationlesson",{"_index":21453,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["getdestinationlesson(lessonid",{"_index":21469,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["getdisplayname",{"_index":23874,"title":{},"body":{"injectables/UserService.html":{}}}],["getdisplayname(user",{"_index":23887,"title":{},"body":{"injectables/UserService.html":{}}}],["getdocnamefromrequest",{"_index":22375,"title":{},"body":{"classes/TldrawWs.html":{}}}],["getdocnamefromrequest(request",{"_index":22380,"title":{},"body":{"classes/TldrawWs.html":{}}}],["getdomain",{"_index":9092,"title":{},"body":{"classes/DeletionLog.html":{}}}],["getduedate",{"_index":20696,"title":{},"body":{"classes/SubmissionContainerElement.html":{}}}],["getelement",{"_index":8326,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["getelement(position",{"_index":8351,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["getelements",{"_index":2958,"title":{},"body":{"entities/Board.html":{}}}],["getelementwithwritepermission",{"_index":9747,"title":{},"body":{"injectables/ElementUc.html":{}}}],["getelementwithwritepermission(userid",{"_index":9754,"title":{},"body":{"injectables/ElementUc.html":{}}}],["getentityname",{"_index":766,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["getentitypermissions",{"_index":11194,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["getentitypermissions(userid",{"_index":11202,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["geteol",{"_index":12029,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["getestet",{"_index":5517,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["getexternalid",{"_index":630,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["getexternalid(id",{"_index":637,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["getexternalsource",{"_index":12643,"title":{},"body":{"classes/Group.html":{}}}],["getexternalsubclientmapperconfiguration",{"_index":14452,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["getexternaltool",{"_index":10993,"title":{},"body":{"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["getexternaltool(currentuser",{"_index":22744,"title":{},"body":{"controllers/ToolController.html":{}}}],["getexternaltool(userid",{"_index":11004,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["getexternaltoolbinarylogo",{"_index":10298,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["getexternaltoolbinarylogo(toolid",{"_index":10310,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["getexternaltoollogo",{"_index":22728,"title":{},"body":{"controllers/ToolController.html":{}}}],["getexternaltoollogo(@param",{"_index":22784,"title":{},"body":{"controllers/ToolController.html":{}}}],["getexternaltoollogo(params",{"_index":22747,"title":{},"body":{"controllers/ToolController.html":{}}}],["getfile",{"_index":7196,"title":{"interfaces/GetFile.html":{}},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"classes/FileResponseBuilder.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"classes/TestHelper.html":{}}}],["getfileinfo",{"_index":22042,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfileinfo(filename",{"_index":22054,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfilepath",{"_index":22043,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfilepath(userid",{"_index":22056,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfileresponse",{"_index":11926,"title":{"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{}},"body":{"classes/FileResponseBuilder.html":{},"classes/FilesStorageMapper.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"interfaces/PreviewFileParams.html":{},"injectables/PreviewService.html":{},"classes/TestHelper.html":{}}}],["getfilesofparent",{"_index":12201,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["getfilesofparent(@rabbitpayload",{"_index":12225,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["getfilesofparent(payload",{"_index":12212,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["getfilestats",{"_index":22044,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfilestats(filename",{"_index":22058,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfilestream",{"_index":22045,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfilestream(filename",{"_index":22059,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfilteredgroupusers",{"_index":17550,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["getfilteredgroupusers(externalgroup",{"_index":17558,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["getfinisheduserids",{"_index":21284,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["getfirstopenindex",{"_index":8327,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["getflowexecutionsrequest",{"_index":14526,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["getflowsrequest",{"_index":14516,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["getformat",{"_index":17806,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["getformat(previewparams.outputformat",{"_index":17808,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["getfwulearningcontentparams",{"_index":12388,"title":{"classes/GetFwuLearningContentParams.html":{}},"body":{"controllers/FwuLearningContentsController.html":{},"classes/GetFwuLearningContentParams.html":{}}}],["getgradedsubmissions",{"_index":21310,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["getgradelevel",{"_index":4579,"title":{},"body":{"classes/Class.html":{}}}],["getgrid",{"_index":8328,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["getgroup",{"_index":11247,"title":{},"body":{"injectables/FeathersRosterService.html":{},"controllers/GroupController.html":{}}}],["getgroup(courseid",{"_index":11265,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["getgroup(currentuser",{"_index":12680,"title":{},"body":{"controllers/GroupController.html":{}}}],["getgroupdata(groupname",{"_index":1144,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["getgroupmembers(groupname",{"_index":1142,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["getgroupmoderators(groupname",{"_index":1140,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["getgroupuser",{"_index":17551,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["getgroupuser(externalgroupuser",{"_index":17561,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["geth5pcontentparams",{"_index":12488,"title":{"classes/GetH5PContentParams.html":{}},"body":{"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"controllers/H5PEditorController.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["geth5peditor",{"_index":13075,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["geth5peditor(@param",{"_index":13185,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["geth5peditor(params",{"_index":13097,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["geth5peditorparams",{"_index":12495,"title":{"classes/GetH5PEditorParams.html":{}},"body":{"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"controllers/H5PEditorController.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["geth5peditorparamscreate",{"_index":12494,"title":{"classes/GetH5PEditorParamsCreate.html":{}},"body":{"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"controllers/H5PEditorController.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["geth5pfileresponse",{"_index":12468,"title":{"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{}},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5pFileDto.html":{}}}],["getheight",{"_index":4322,"title":{},"body":{"classes/Card.html":{}}}],["gethello",{"_index":20133,"title":{},"body":{"classes/ServerConsole.html":{},"controllers/ServerController.html":{}}}],["gethydraoauthtoken",{"_index":17454,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["gethydraoauthtoken(query",{"_index":17456,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["getid",{"_index":8329,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/DomainObject.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["getidpmapperconfiguration",{"_index":14453,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["getidpmapperconfiguration(idpalias",{"_index":14480,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["getiframesubject",{"_index":18210,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["getiframesubject(pseudonym",{"_index":18229,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["getimageurl",{"_index":15602,"title":{},"body":{"classes/LinkElement.html":{}}}],["getinout",{"_index":20134,"title":{},"body":{"classes/ServerConsole.html":{}}}],["getinout(whatever",{"_index":20137,"title":{},"body":{"classes/ServerConsole.html":{}}}],["getinputformat",{"_index":18836,"title":{},"body":{"classes/RichTextElement.html":{}}}],["getinstance",{"_index":9578,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["getinternalid",{"_index":631,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AccountServiceDb.html":{}}}],["getinternalid(id",{"_index":645,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AccountServiceDb.html":{}}}],["getinvitationlink",{"_index":4575,"title":{},"body":{"classes/Class.html":{}}}],["getisenabled",{"_index":17975,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["getitems",{"_index":23303,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["getjwtfromresponse",{"_index":22105,"title":{},"body":{"classes/TestApiClient.html":{}}}],["getjwtfromresponse(response",{"_index":1677,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["getlaunchdata",{"_index":22879,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["getlaunchdata(userid",{"_index":22885,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["getldapconfig",{"_index":21006,"title":{},"body":{"classes/System.html":{}}}],["getldapdn",{"_index":4581,"title":{},"body":{"classes/Class.html":{}}}],["getlessoncomponents",{"_index":6218,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["getlessonlinkedtasks",{"_index":6219,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["getlessonmaterials",{"_index":6220,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["getlibrary",{"_index":13145,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getlibraryfile",{"_index":12506,"title":{"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{}},"body":{"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"controllers/H5PEditorController.html":{},"classes/H5pFileDto.html":{}}}],["getlibraryfile(@param",{"_index":13152,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getlibraryfile(params",{"_index":13100,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getlibraryfile.ts",{"_index":12508,"title":{},"body":{"interfaces/GetLibraryFile-1.html":{}}}],["getlogindata",{"_index":15816,"title":{},"body":{"injectables/LoginUc.html":{}}}],["getlogindata(userinfo",{"_index":15819,"title":{},"body":{"injectables/LoginUc.html":{}}}],["getloginrequest",{"_index":17223,"title":{},"body":{"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["getloginrequest(@param",{"_index":17292,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["getloginrequest(challenge",{"_index":17347,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["getloginrequest(params",{"_index":17237,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["getlogmessage",{"_index":1426,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AxiosErrorLoggable.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenLoggableException.html":{},"classes/GroupRoleUnknownLoggable.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Loggable.html":{},"classes/LoggingUtils.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NotFoundLoggableException.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/ValidationErrorLoggableException.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["getmaildomain",{"_index":16043,"title":{},"body":{"injectables/MailService.html":{}}}],["getmaildomain(mail",{"_index":16049,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["getmaxsubmissions",{"_index":21291,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["getmeetinginfo",{"_index":2330,"title":{},"body":{"injectables/BBBService.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["getmeetinginfo(config",{"_index":2361,"title":{},"body":{"injectables/BBBService.html":{}}}],["getmeetinginfo(currentuserid",{"_index":24203,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["getmetadata",{"_index":4143,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseUrlHandler.html":{},"injectables/ExternalToolMetadataService.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"injectables/LessonUrlHandler.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/TaskUrlHandler.html":{},"interfaces/UrlHandler.html":{},"classes/UsersList.html":{}}}],["getmetadata(schoolexternaltoolid",{"_index":19708,"title":{},"body":{"injectables/SchoolExternalToolMetadataService.html":{}}}],["getmetadata(toolid",{"_index":10397,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{}}}],["getmetadata(url",{"_index":4146,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/TaskUrlHandler.html":{},"interfaces/UrlHandler.html":{}}}],["getmetadata(userid",{"_index":16247,"title":{},"body":{"injectables/MetaTagExtractorUc.html":{}}}],["getmetadataforexternaltool",{"_index":10994,"title":{},"body":{"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["getmetadataforexternaltool(currentuser",{"_index":22752,"title":{},"body":{"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["getmetadataforexternaltool(userid",{"_index":11006,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["getmetadataforschoolexternaltool",{"_index":19839,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["getmetadataforschoolexternaltool(userid",{"_index":19852,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["getmetadatastorage",{"_index":9818,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["getmetatagdatabody",{"_index":12509,"title":{"classes/GetMetaTagDataBody.html":{}},"body":{"classes/GetMetaTagDataBody.html":{},"controllers/MetaTagExtractorController.html":{}}}],["getmetatags",{"_index":16149,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["getmetatags(currentuser",{"_index":16150,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["getmigrations",{"_index":23399,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["getmigrations(user",{"_index":23417,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["getmigrations(userid",{"_index":23678,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["getmodifiedcount",{"_index":9096,"title":{},"body":{"classes/DeletionLog.html":{}}}],["getname",{"_index":4567,"title":{},"body":{"classes/Class.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/Group.html":{},"interfaces/ParentInfo.html":{}}}],["getnewh5peditor",{"_index":13076,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getnewh5peditor(@param",{"_index":13179,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getnewh5peditor(params",{"_index":13104,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getnewspermissions",{"_index":16605,"title":{},"body":{"injectables/NewsUc.html":{}}}],["getnewspermissions(userid",{"_index":16619,"title":{},"body":{"injectables/NewsUc.html":{}}}],["getnumberofdrafttasks",{"_index":6214,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["getnumberofplannedtasks",{"_index":6216,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["getnumberofpublishedtasks",{"_index":6209,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["getoauth2client",{"_index":17153,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{}}}],["getoauth2client(currentuser",{"_index":17162,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{}}}],["getoauth2client(id",{"_index":17423,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["getoauthconfig",{"_index":13719,"title":{},"body":{"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["getoauthtoken",{"_index":13393,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["getoauthtoken(oauthclientid",{"_index":13400,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["getobjectcommand",{"_index":19319,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["getobjectreference",{"_index":731,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["getobjectreference(entityname",{"_index":748,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["getoperation",{"_index":9094,"title":{},"body":{"classes/DeletionLog.html":{}}}],["getorconstructdashboardmodelentity",{"_index":8569,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["getorconstructdashboardmodelentity(entity",{"_index":8583,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["getorcreatecourseboard",{"_index":3954,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["getorcreatecourseboard(courseid",{"_index":3961,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["getorganization",{"_index":5970,"title":{},"body":{"classes/CommonCartridgeOrganizationBuilder.html":{}}}],["getorganizationid",{"_index":12645,"title":{},"body":{"classes/Group.html":{}}}],["getparametervalue",{"_index":2738,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["getparametervalue(customparameter",{"_index":2775,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["getparent",{"_index":6203,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["getparentdata",{"_index":21338,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["getparentemailsfromuser",{"_index":23797,"title":{},"body":{"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["getparentemailsfromuser(userid",{"_index":23806,"title":{},"body":{"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["getparentinfo",{"_index":11791,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["getpath",{"_index":22106,"title":{},"body":{"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["getpath(routenameinput",{"_index":1669,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["getperformedat",{"_index":9102,"title":{},"body":{"classes/DeletionLog.html":{}}}],["getperformeddeletiondetails",{"_index":9440,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["getperformeddeletiondetails(@param('requestid",{"_index":9461,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["getperformeddeletiondetails(requestid",{"_index":9450,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["getpermittedcourses",{"_index":21763,"title":{},"body":{"injectables/TaskUC.html":{}}}],["getpermittedcourses(user",{"_index":21778,"title":{},"body":{"injectables/TaskUC.html":{}}}],["getpermittedentities",{"_index":11195,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["getpermittedentities(userid",{"_index":11204,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["getpermittedlessonids",{"_index":21820,"title":{},"body":{"injectables/TaskUC.html":{}}}],["getpermittedlessons",{"_index":21764,"title":{},"body":{"injectables/TaskUC.html":{}}}],["getpermittedlessons(user",{"_index":21781,"title":{},"body":{"injectables/TaskUC.html":{}}}],["getpermittedschools",{"_index":11157,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["getpermittedschools(userid",{"_index":11163,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["getpermittedtargets",{"_index":11158,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"injectables/NewsUc.html":{}}}],["getpermittedtargets(userid",{"_index":11165,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"injectables/NewsUc.html":{}}}],["getplayer",{"_index":13077,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getplayer(@currentuser",{"_index":13139,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getplayer(currentuser",{"_index":13107,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getport",{"_index":17979,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["getpresentationurl",{"_index":2378,"title":{},"body":{"injectables/BBBService.html":{}}}],["getpreviewfile",{"_index":17920,"title":{},"body":{"injectables/PreviewService.html":{}}}],["getpreviewfile(params",{"_index":17930,"title":{},"body":{"injectables/PreviewService.html":{}}}],["getpreviewname",{"_index":17935,"title":{},"body":{"injectables/PreviewService.html":{}}}],["getpreviewname(filerecord",{"_index":17949,"title":{},"body":{"injectables/PreviewService.html":{}}}],["getpreviewstatus",{"_index":11792,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["getpropertyvalue",{"_index":9814,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["getpropertyvalue(e",{"_index":9823,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["getprops",{"_index":1773,"title":{},"body":{"interfaces/AuthorizableObject.html":{},"classes/BoardComposite.html":{},"classes/BoardDoAuthorizable.html":{},"classes/Card.html":{},"classes/Class.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"classes/DomainObject.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/Group.html":{},"classes/LinkElement.html":{},"classes/Pseudonym.html":{},"classes/RichTextElement.html":{},"classes/RocketChatUser.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{},"classes/System.html":{}}}],["getprotectedroles",{"_index":19024,"title":{},"body":{"injectables/RoleService.html":{}}}],["getprovisioningstrategy",{"_index":18072,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["getprovisioningstrategy(systemstrategy",{"_index":18084,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["getpseudonym",{"_index":18127,"title":{},"body":{"classes/Pseudonym.html":{},"controllers/PseudonymController.html":{}}}],["getpseudonym(params",{"_index":18148,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["getpublickey",{"_index":7927,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{},"injectables/OauthAdapterService.html":{}}}],["getpublickey(jwksuri",{"_index":16934,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["getquery",{"_index":20089,"title":{},"body":{"classes/Scope.html":{}}}],["getrcid",{"_index":18890,"title":{},"body":{"classes/RocketChatUser.html":{}}}],["getreferences",{"_index":8386,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["getreferencesfromposition",{"_index":8330,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["getreferencesfromposition(position",{"_index":8359,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["getrepository",{"_index":18211,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["getrepository(tool",{"_index":18231,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["getrequiredpermissions",{"_index":16606,"title":{},"body":{"injectables/NewsUc.html":{}}}],["getrequiredpermissions(unpublished",{"_index":16623,"title":{},"body":{"injectables/NewsUc.html":{}}}],["getrequireduserrole",{"_index":3385,"title":{},"body":{"classes/BoardDoAuthorizable.html":{}}}],["getresolveduser",{"_index":23875,"title":{},"body":{"injectables/UserService.html":{}}}],["getresolveduser(userid",{"_index":23890,"title":{},"body":{"injectables/UserService.html":{}}}],["getresolvedvalues",{"_index":3300,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["getresolvedvalues(results",{"_index":3347,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["getresources",{"_index":5972,"title":{},"body":{"classes/CommonCartridgeOrganizationBuilder.html":{}}}],["getresponse",{"_index":1356,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["getroomboard",{"_index":19141,"title":{},"body":{"controllers/RoomsController.html":{}}}],["getroomboard(urlparams",{"_index":19150,"title":{},"body":{"controllers/RoomsController.html":{}}}],["getroute",{"_index":17977,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["gets",{"_index":533,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"injectables/TldrawWsService.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["getsalt",{"_index":2376,"title":{},"body":{"injectables/BBBService.html":{}}}],["getschemapath",{"_index":4034,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CardResponse.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionItemResponse.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["getschemapath(basictoolconfigparams",{"_index":10193,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["getschemapath(drawingelementcontentbody",{"_index":9535,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["getschemapath(drawingelementresponse",{"_index":4401,"title":{},"body":{"controllers/CardController.html":{},"classes/CardResponse.html":{},"controllers/ElementController.html":{}}}],["getschemapath(externaltoolelementcontentbody",{"_index":9534,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["getschemapath(externaltoolelementresponse",{"_index":4398,"title":{},"body":{"controllers/CardController.html":{},"classes/CardResponse.html":{},"controllers/ElementController.html":{}}}],["getschemapath(fileelementcontentbody",{"_index":9530,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["getschemapath(fileelementresponse",{"_index":4057,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CardResponse.html":{},"controllers/ElementController.html":{},"classes/SubmissionItemResponse.html":{}}}],["getschemapath(linkelementcontentbody",{"_index":9531,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["getschemapath(linkelementresponse",{"_index":4399,"title":{},"body":{"controllers/CardController.html":{},"classes/CardResponse.html":{},"controllers/ElementController.html":{}}}],["getschemapath(lti11toolconfigcreateparams",{"_index":10194,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["getschemapath(lti11toolconfigupdateparams",{"_index":11036,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["getschemapath(oauth2toolconfigcreateparams",{"_index":10195,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["getschemapath(oauth2toolconfigupdateparams",{"_index":11037,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["getschemapath(richtextelementcontentbody",{"_index":9532,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["getschemapath(richtextelementresponse",{"_index":4056,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CardResponse.html":{},"controllers/ElementController.html":{},"classes/SubmissionItemResponse.html":{}}}],["getschemapath(submissioncontainerelementcontentbody",{"_index":9533,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["getschemapath(submissioncontainerelementresponse",{"_index":4400,"title":{},"body":{"controllers/CardController.html":{},"classes/CardResponse.html":{},"controllers/ElementController.html":{}}}],["getschool",{"_index":21983,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["getschoolbyexternalid",{"_index":15249,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["getschoolbyexternalid(externalid",{"_index":15256,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["getschoolbyid",{"_index":15250,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["getschoolbyid(id",{"_index":15258,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["getschoolbyschoolnumber",{"_index":15251,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["getschoolbyschoolnumber(schoolnumber",{"_index":15260,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["getschoolexternaltool",{"_index":19840,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{},"controllers/ToolSchoolController.html":{}}}],["getschoolexternaltool(currentuser",{"_index":23038,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["getschoolexternaltool(userid",{"_index":19854,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["getschoolexternaltools",{"_index":23027,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["getschoolexternaltools(currentuser",{"_index":23041,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["getschoolformigration",{"_index":19931,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["getschoolformigration(userid",{"_index":19943,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["getschoolid",{"_index":4569,"title":{},"body":{"classes/Class.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"interfaces/ParentInfo.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["getschoolname",{"_index":17552,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["getschoolname(externalschool",{"_index":17564,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["getsecuritytoken",{"_index":11765,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["getseedfolder",{"_index":5203,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["getservice",{"_index":11370,"title":{},"body":{"injectables/FeathersServiceProvider.html":{}}}],["getservice(path",{"_index":11361,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["getshorttitle",{"_index":7502,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["getsource",{"_index":4585,"title":{},"body":{"classes/Class.html":{}}}],["getsourceoptions",{"_index":4587,"title":{},"body":{"classes/Class.html":{}}}],["getstatus",{"_index":9267,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["getstoretype",{"_index":4225,"title":{},"body":{"injectables/CacheService.html":{}}}],["getstudentids",{"_index":6187,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["getstudentslist",{"_index":7486,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["getsubmissionitems",{"_index":4011,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["getsubmissionitems(currentuser",{"_index":4022,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["getsubmittedsubmissions",{"_index":21306,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["getsubmitterids",{"_index":20680,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["getsubstitutionteacherids",{"_index":7479,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["getsubstitutionteacherslist",{"_index":7492,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["getsuccessor",{"_index":4583,"title":{},"body":{"classes/Class.html":{}}}],["getsystem",{"_index":21021,"title":{},"body":{"controllers/SystemController.html":{}}}],["getsystem(@param",{"_index":21050,"title":{},"body":{"controllers/SystemController.html":{}}}],["getsystem(params",{"_index":21034,"title":{},"body":{"controllers/SystemController.html":{}}}],["gettargetfilters",{"_index":16607,"title":{},"body":{"injectables/NewsUc.html":{}}}],["gettargetfilters(userid",{"_index":16626,"title":{},"body":{"injectables/NewsUc.html":{}}}],["gettargetfolder(toseedfolder",{"_index":5205,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["gettargetrefdomain",{"_index":9261,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["gettargetrefid",{"_index":9265,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["gettasksitems",{"_index":6204,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["getteacherids",{"_index":4573,"title":{},"body":{"classes/Class.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["getteacherslist",{"_index":7490,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["getteammemberids",{"_index":20665,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["gettempfile",{"_index":13148,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["gettemplateforcontextexternaltool",{"_index":10120,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["gettemplateforcontextexternaltool(userid",{"_index":10133,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["gettemplateforschoolexternaltool",{"_index":10121,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["gettemplateforschoolexternaltool(userid",{"_index":10135,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["gettemporaryfile",{"_index":13078,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["gettemporaryfile(currentuser",{"_index":13113,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getter",{"_index":7444,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{},"classes/UsersList.html":{}}}],["gettext",{"_index":18832,"title":{},"body":{"classes/RichTextElement.html":{}}}],["getting",{"_index":24570,"title":{"index.html":{},"license.html":{},"todo.html":{}},"body":{}}],["gettitle",{"_index":4318,"title":{},"body":{"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/LinkElement.html":{}}}],["gettitlesbyids",{"_index":3607,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["gettitlesbyids(id",{"_index":3630,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["gettoolcontexttypes",{"_index":10060,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"controllers/ToolConfigurationController.html":{}}}],["gettoolcontexttypes(@currentuser",{"_index":22631,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["gettoolcontexttypes(currentuser",{"_index":22619,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["gettoolcontexttypes(userid",{"_index":10137,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["gettoolid",{"_index":18129,"title":{},"body":{"classes/Pseudonym.html":{}}}],["gettoollaunchrequest",{"_index":22795,"title":{},"body":{"controllers/ToolLaunchController.html":{},"injectables/ToolLaunchUc.html":{}}}],["gettoollaunchrequest(currentuser",{"_index":22796,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["gettoollaunchrequest(userid",{"_index":22918,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["gettoolreference",{"_index":22957,"title":{},"body":{"controllers/ToolReferenceController.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{}}}],["gettoolreference(contextexternaltoolid",{"_index":23000,"title":{},"body":{"injectables/ToolReferenceService.html":{}}}],["gettoolreference(currentuser",{"_index":22959,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["gettoolreference(userid",{"_index":23010,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["gettoolreferencesforcontext",{"_index":22958,"title":{},"body":{"controllers/ToolReferenceController.html":{},"injectables/ToolReferenceUc.html":{}}}],["gettoolreferencesforcontext(currentuser",{"_index":22964,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["gettoolreferencesforcontext(userid",{"_index":23012,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["gettspuid",{"_index":4812,"title":{},"body":{"classes/ClassSourceOptions.html":{}}}],["gettype",{"_index":12647,"title":{},"body":{"classes/Group.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["getunitofwork",{"_index":10549,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["getupdatedat",{"_index":3071,"title":{},"body":{"classes/BoardComposite.html":{},"classes/Class.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"classes/Pseudonym.html":{},"classes/RocketChatUser.html":{}}}],["geturl",{"_index":1295,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/BBBService.html":{},"classes/LinkElement.html":{},"controllers/OauthProviderController.html":{}}}],["geturl(callname",{"_index":2363,"title":{},"body":{"injectables/BBBService.html":{}}}],["geturl(path",{"_index":1305,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["getuser",{"_index":11159,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"classes/TeamUserEntity.html":{},"injectables/UserService.html":{}}}],["getuser(id",{"_index":23892,"title":{},"body":{"injectables/UserService.html":{}}}],["getuser(userid",{"_index":11167,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["getuserattribute",{"_index":13733,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["getuserattribute(userid",{"_index":13753,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["getusergroups",{"_index":11248,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["getusergroups(pseudonym",{"_index":11268,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["getuserid",{"_index":8331,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"classes/Pseudonym.html":{},"classes/RocketChatUser.html":{},"classes/SubmissionItem.html":{}}}],["getuserids",{"_index":4571,"title":{},"body":{"classes/Class.html":{}}}],["getuserlist(querystring",{"_index":1120,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["getusername",{"_index":18888,"title":{},"body":{"classes/RocketChatUser.html":{}}}],["getuserparams",{"_index":23168,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["getuserparams(params",{"_index":707,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["getuserrole",{"_index":11249,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["getuserrole(user",{"_index":11270,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["getusers",{"_index":3383,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"classes/Group.html":{}}}],["getuserschoolpermissions",{"_index":11160,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["getuserschoolpermissions(userid",{"_index":11169,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["getusersdashboard",{"_index":8653,"title":{},"body":{"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"interfaces/IDashboardRepo.html":{}}}],["getusersdashboard(userid",{"_index":8658,"title":{},"body":{"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"interfaces/IDashboardRepo.html":{}}}],["getusersmetadata",{"_index":11250,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["getusersmetadata(pseudonym",{"_index":11272,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["getusertargetpermissions",{"_index":11161,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["getusertargetpermissions(userid",{"_index":11171,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["getuserwithpermissions",{"_index":1968,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["getuserwithpermissions(userid",{"_index":1977,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["getvalue",{"_index":2002,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{}}}],["getvalue(schoolexternaltool",{"_index":2003,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{}}}],["getversion",{"_index":6644,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"interfaces/ToolVersion.html":{}}}],["getvideoconferenceoptions",{"_index":24201,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["getvideoconferenceoptions(scope",{"_index":24205,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["getwellknownurl",{"_index":14371,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["getwsurl",{"_index":22148,"title":{},"body":{"classes/TestConnection.html":{}}}],["getydoc",{"_index":22423,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["getydoc(docname",{"_index":22432,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["getydocfrommdb",{"_index":22213,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["getydocfrommdb(docname",{"_index":22220,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["getyear",{"_index":4577,"title":{},"body":{"classes/Class.html":{}}}],["ghcr.io/hpi",{"_index":25301,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["ghcr.io/soluto/oidc",{"_index":25876,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["gi",{"_index":16365,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["gid",{"_index":12789,"title":{},"body":{"interfaces/GroupNameIdTuple.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{}}}],["git",{"_index":24577,"title":{"additional-documentation/nestjs-application/git.html":{}},"body":{"index.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["git://github.com/hpi",{"_index":24505,"title":{},"body":{"dependencies.html":{}}}],["git://github.com/leeroybrun/mongoose",{"_index":24521,"title":{},"body":{"dependencies.html":{}}}],["github",{"_index":24573,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["give",{"_index":24842,"title":{},"body":{"license.html":{}}}],["given",{"_index":329,"title":{},"body":{"controllers/AccountController.html":{},"injectables/BatchDeletionUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"interfaces/CollectionFilePath.html":{},"injectables/CommonToolValidationService.html":{},"injectables/FileSystemAdapter.html":{},"classes/FilterUserParams.html":{},"classes/IdentityManagementOauthService.html":{},"injectables/MetaTagExtractorService.html":{},"controllers/NewsController.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/ShareTokenBodyParams.html":{},"controllers/TeamNewsController.html":{},"injectables/TimeoutInterceptor.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["givenname",{"_index":14950,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["gives",{"_index":8985,"title":{},"body":{"injectables/DeletionClient.html":{},"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["giving",{"_index":24848,"title":{},"body":{"license.html":{}}}],["global",{"_index":7359,"title":{},"body":{"modules/CoreModule.html":{},"modules/ErrorModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/GlobalValidationPipe.html":{},"modules/InterceptorModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"injectables/TldrawWsService.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["globalconstants",{"_index":12514,"title":{"interfaces/GlobalConstants.html":{}},"body":{"interfaces/GlobalConstants.html":{}}}],["globalerrorfilter",{"_index":9902,"title":{"classes/GlobalErrorFilter.html":{}},"body":{"modules/ErrorModule.html":{},"classes/GlobalErrorFilter.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["globally",{"_index":14158,"title":{},"body":{"modules/InterceptorModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["globalparameter",{"_index":8226,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["globals",{"_index":12517,"title":{},"body":{"interfaces/GlobalConstants.html":{}}}],["globalsetup",{"_index":25532,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["globalteardown",{"_index":25533,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["globalvalidationpipe",{"_index":12584,"title":{"classes/GlobalValidationPipe.html":{}},"body":{"classes/GlobalValidationPipe.html":{},"modules/ValidationModule.html":{}}}],["gm",{"_index":17881,"title":{},"body":{"injectables/PreviewGeneratorService.html":{},"dependencies.html":{}}}],["gnu",{"_index":24632,"title":{},"body":{"license.html":{}}}],["go",{"_index":2916,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"classes/VideoConferenceCreateParams.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["goal",{"_index":25258,"title":{},"body":{"todo.html":{}}}],["goals",{"_index":24700,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["golevelup",{"_index":25740,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["golevelup/nestjs",{"_index":1310,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewProducer.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RpcMessageProducer.html":{},"dependencies.html":{}}}],["golevelup/ts",{"_index":22131,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["gonna",{"_index":25432,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["good",{"_index":15065,"title":{},"body":{"injectables/LdapStrategy.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["governed",{"_index":24964,"title":{},"body":{"license.html":{}}}],["gpl",{"_index":24701,"title":{},"body":{"license.html":{}}}],["grace",{"_index":23430,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["graceperiodduration",{"_index":23653,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["grade",{"_index":16114,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"entities/Submission.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"interfaces/TargetGroupProperties.html":{}}}],["gradecomment",{"_index":20631,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["graded",{"_index":4085,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"interfaces/ITask.html":{},"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusResponse.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{}}}],["gradedsubmissions",{"_index":21311,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["gradelevel",{"_index":4561,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{}}}],["grant",{"_index":1493,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigResponse.html":{},"classes/TokenRequestMapper.html":{},"license.html":{}}}],["grant_access_token_audience",{"_index":166,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["grant_scope",{"_index":167,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"classes/ConsentRequestBody.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["grant_type",{"_index":1497,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/TokenRequestMapper.html":{}}}],["grant_types",{"_index":16971,"title":{},"body":{"classes/OauthClientBody.html":{},"injectables/OauthProviderClientCrudUc.html":{}}}],["granted",{"_index":24783,"title":{},"body":{"license.html":{}}}],["grants",{"_index":25022,"title":{},"body":{"license.html":{}}}],["granttype",{"_index":13535,"title":{},"body":{"injectables/HydraSsoService.html":{},"interfaces/IKeycloakSettings.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["graph",{"_index":16216,"title":{},"body":{"injectables/MetaTagExtractorService.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["gratis",{"_index":24894,"title":{},"body":{"license.html":{}}}],["greatest",{"_index":25184,"title":{},"body":{"license.html":{}}}],["grep",{"_index":25924,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["grid",{"_index":7740,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"classes/GridElement.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"classes/PatchGroupParams.html":{}}}],["gridarray",{"_index":8666,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["gridelement",{"_index":8391,"title":{"classes/GridElement.html":{}},"body":{"classes/DashboardEntity.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardUc.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["gridelement.frompersistedgroup(modelentity.id",{"_index":8609,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["gridelement.fromsinglereference(referenceforindex",{"_index":8467,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["gridelement.fromsinglereference(room",{"_index":8458,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["gridelement.getcontent().title",{"_index":8633,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["gridelement.getid",{"_index":8626,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["gridelement.hasid",{"_index":8624,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["gridelement.isgroup",{"_index":8631,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["gridelement.setgroupname(params",{"_index":8708,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["gridelementcontent",{"_index":8382,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["gridelements",{"_index":8497,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DashboardResponse.html":{}}}],["gridelementwithposition",{"_index":8357,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"classes/GridElement.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{}}}],["gridindexfromposition",{"_index":8332,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["gridindexfromposition(pos",{"_index":8363,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["gridposition",{"_index":8352,"title":{},"body":{"classes/DashboardEntity.html":{},"injectables/DashboardUc.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["gridpositionwithgroupindex",{"_index":8360,"title":{},"body":{"classes/DashboardEntity.html":{},"injectables/DashboardUc.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["group",{"_index":1065,"title":{"classes/Group.html":{}},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/BoardNodeRepo.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"injectables/FeathersRosterService.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"interfaces/IGridElement.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OidcProvisioningService.html":{},"classes/PatchGroupParams.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"interfaces/UserData.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"injectables/UserRepo.html":{}}}],["group(props",{"_index":12805,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["group(savedprops",{"_index":12816,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["group.adduser(self",{"_index":17636,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["group.dto",{"_index":17103,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["group.dto.ts",{"_index":9951,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/ResolvedGroupDto.html":{}}}],["group.dto.ts:10",{"_index":18767,"title":{},"body":{"classes/ResolvedGroupDto.html":{}}}],["group.dto.ts:11",{"_index":9958,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["group.dto.ts:12",{"_index":18768,"title":{},"body":{"classes/ResolvedGroupDto.html":{}}}],["group.dto.ts:13",{"_index":9955,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["group.dto.ts:14",{"_index":18764,"title":{},"body":{"classes/ResolvedGroupDto.html":{}}}],["group.dto.ts:15",{"_index":9960,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["group.dto.ts:16",{"_index":18763,"title":{},"body":{"classes/ResolvedGroupDto.html":{}}}],["group.dto.ts:17",{"_index":9953,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["group.dto.ts:5",{"_index":9954,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["group.dto.ts:6",{"_index":18765,"title":{},"body":{"classes/ResolvedGroupDto.html":{}}}],["group.dto.ts:7",{"_index":9956,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["group.dto.ts:8",{"_index":18766,"title":{},"body":{"classes/ResolvedGroupDto.html":{}}}],["group.dto.ts:9",{"_index":9961,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["group.externalsource",{"_index":12833,"title":{},"body":{"classes/GroupResponse.html":{},"classes/GroupUcMapper.html":{},"classes/ResolvedGroupDto.html":{}}}],["group.getprops",{"_index":12732,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["group.gruppe.bezeichnung",{"_index":19599,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["group.gruppe.id",{"_index":19600,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["group.gruppenzugehoerigkeit.rollen",{"_index":19594,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["group.id",{"_index":12830,"title":{},"body":{"classes/GroupResponse.html":{},"classes/GroupUcMapper.html":{},"classes/ResolvedGroupDto.html":{}}}],["group.isempty",{"_index":17661,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["group.module",{"_index":12669,"title":{},"body":{"modules/GroupApiModule.html":{}}}],["group.name",{"_index":1148,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/GroupResponse.html":{},"classes/GroupUcMapper.html":{},"classes/ResolvedGroupDto.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["group.organizationid",{"_index":12835,"title":{},"body":{"classes/GroupResponse.html":{},"classes/ResolvedGroupDto.html":{}}}],["group.params.ts",{"_index":17717,"title":{},"body":{"classes/PatchGroupParams.html":{}}}],["group.params.ts:14",{"_index":17719,"title":{},"body":{"classes/PatchGroupParams.html":{}}}],["group.removeuser(user",{"_index":17660,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["group.rule",{"_index":15483,"title":{},"body":{"injectables/LessonRule.html":{}}}],["group.rule.ts",{"_index":7698,"title":{},"body":{"injectables/CourseGroupRule.html":{}}}],["group.rule.ts:11",{"_index":7701,"title":{},"body":{"injectables/CourseGroupRule.html":{}}}],["group.rule.ts:17",{"_index":7700,"title":{},"body":{"injectables/CourseGroupRule.html":{}}}],["group.rule.ts:8",{"_index":7699,"title":{},"body":{"injectables/CourseGroupRule.html":{}}}],["group.sonstige_gruppenzugehoerige",{"_index":19523,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{}}}],["group.sonstige_gruppenzugehoerige?.filter",{"_index":19524,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["group.sonstige_gruppenzugehoerige?.length",{"_index":19526,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["group.type",{"_index":12831,"title":{},"body":{"classes/GroupResponse.html":{},"classes/GroupUcMapper.html":{},"classes/ResolvedGroupDto.html":{}}}],["group.users",{"_index":12832,"title":{},"body":{"classes/GroupResponse.html":{},"injectables/OidcProvisioningService.html":{},"classes/ResolvedGroupDto.html":{}}}],["group_id",{"_index":11289,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["groupapimodule",{"_index":12661,"title":{"modules/GroupApiModule.html":{}},"body":{"modules/GroupApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["groupcontroller",{"_index":12668,"title":{"controllers/GroupController.html":{}},"body":{"modules/GroupApiModule.html":{},"controllers/GroupController.html":{}}}],["groupdata",{"_index":8412,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["groupdomainmapper",{"_index":12704,"title":{"classes/GroupDomainMapper.html":{}},"body":{"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{}}}],["groupdomainmapper.mapdomainobjecttoentityproperties(domainobject",{"_index":12808,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["groupdomainmapper.mapentitytodomainobjectproperties(entity",{"_index":12804,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["groupdomainmapper.mapentitytodomainobjectproperties(savedentity",{"_index":12815,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["groupdomainmapper.mapgroupusertogroupuserentity(groupuser",{"_index":12740,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["groupelements",{"_index":8507,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["groupentity",{"_index":7432,"title":{"entities/GroupEntity.html":{}},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"injectables/GroupRepo.html":{},"classes/UsersList.html":{}}}],["groupentity(entityprops",{"_index":12809,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["groupentityprops",{"_index":12714,"title":{"interfaces/GroupEntityProps.html":{}},"body":{"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"injectables/GroupRepo.html":{}}}],["groupentitytypes",{"_index":12726,"title":{},"body":{"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"injectables/GroupRepo.html":{}}}],["groupentitytypes.class",{"_index":12729,"title":{},"body":{"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{}}}],["groupentitytypestogrouptypesmapping",{"_index":12728,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["groupentitytypestogrouptypesmapping[entity.type",{"_index":12750,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["groupfolder",{"_index":16696,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["groupfolders",{"_index":12978,"title":{},"body":{"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/Meta.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OcsResponse.html":{},"interfaces/SuccessfulRes.html":{}}}],["groupfolderscreated",{"_index":12982,"title":{"interfaces/GroupfoldersCreated.html":{}},"body":{"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/Meta.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OcsResponse.html":{},"interfaces/SuccessfulRes.html":{}}}],["groupfoldersfolder",{"_index":12980,"title":{"interfaces/GroupfoldersFolder.html":{}},"body":{"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/Meta.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OcsResponse.html":{},"interfaces/SuccessfulRes.html":{}}}],["groupid",{"_index":8390,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/GridElement.html":{},"classes/GroupIdParams.html":{},"interfaces/IGridElement.html":{},"injectables/NextcloudStrategy.html":{}}}],["groupidparams",{"_index":12681,"title":{"classes/GroupIdParams.html":{}},"body":{"controllers/GroupController.html":{},"classes/GroupIdParams.html":{}}}],["groupids",{"_index":7416,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["groupindex",{"_index":8414,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{}}}],["groupinfo",{"_index":1129,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["groupinfo.group._id",{"_index":1133,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["grouping",{"_index":3941,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["groupmetadata",{"_index":8409,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["groupmodule",{"_index":12665,"title":{"modules/GroupModule.html":{}},"body":{"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/ProvisioningModule.html":{}}}],["groupname",{"_index":1125,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["groupnameidtuple",{"_index":12787,"title":{"interfaces/GroupNameIdTuple.html":{}},"body":{"interfaces/GroupNameIdTuple.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{}}}],["groupprops",{"_index":12649,"title":{"interfaces/GroupProps.html":{}},"body":{"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{}}}],["grouprepo",{"_index":12785,"title":{"injectables/GroupRepo.html":{}},"body":{"modules/GroupModule.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{}}}],["groupresponse",{"_index":12688,"title":{"classes/GroupResponse.html":{}},"body":{"controllers/GroupController.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{}}}],["groupresponsemapper",{"_index":12689,"title":{"classes/GroupResponseMapper.html":{}},"body":{"controllers/GroupController.html":{},"classes/GroupResponseMapper.html":{}}}],["groupresponsemapper.maptoclassinfostolistresponse",{"_index":12699,"title":{},"body":{"controllers/GroupController.html":{}}}],["groupresponsemapper.maptogroupresponse(group",{"_index":12703,"title":{},"body":{"controllers/GroupController.html":{}}}],["groupresponse})@apiresponse({status",{"_index":12684,"title":{},"body":{"controllers/GroupController.html":{}}}],["grouprolemapping",{"_index":19568,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["grouprolemapping[relation.rollen[0",{"_index":19602,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["grouproleunknownloggable",{"_index":12873,"title":{"classes/GroupRoleUnknownLoggable.html":{}},"body":{"classes/GroupRoleUnknownLoggable.html":{},"injectables/SanisResponseMapper.html":{}}}],["grouproleunknownloggable(relation",{"_index":19603,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["grouprule",{"_index":1870,"title":{"injectables/GroupRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/GroupRule.html":{},"injectables/RuleManager.html":{}}}],["groups",{"_index":7397,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/FeathersRosterService.html":{},"controllers/GroupController.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/GroupNameIdTuple.html":{},"injectables/GroupService.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{},"interfaces/Meta.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OcsResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/SuccessfulRes.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["groups.filter((group",{"_index":19527,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["groupservice",{"_index":12784,"title":{"injectables/GroupService.html":{}},"body":{"modules/GroupModule.html":{},"injectables/GroupService.html":{},"injectables/OidcProvisioningService.html":{}}}],["groupsfromsystem",{"_index":17651,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["groupsfromsystem.filter((existinggroupfromsystem",{"_index":17655,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["groupswithoutuser",{"_index":17654,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["groupswithoutuser.map(async",{"_index":17659,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["grouptype",{"_index":19589,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["grouptypemapping",{"_index":19571,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["grouptypemapping[group.gruppe.typ",{"_index":19590,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["grouptyperesponse",{"_index":12823,"title":{},"body":{"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{}}}],["grouptyperesponse.class",{"_index":12848,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["grouptypes",{"_index":9959,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{},"classes/GroupResponseMapper.html":{},"classes/ResolvedGroupDto.html":{},"injectables/SanisResponseMapper.html":{}}}],["grouptypes.class",{"_index":12730,"title":{},"body":{"classes/GroupDomainMapper.html":{},"classes/GroupResponseMapper.html":{},"injectables/SanisResponseMapper.html":{}}}],["grouptypestogroupentitytypesmapping",{"_index":12731,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["grouptypestogroupentitytypesmapping[props.type",{"_index":12736,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["groupuc",{"_index":12666,"title":{},"body":{"modules/GroupApiModule.html":{},"controllers/GroupController.html":{}}}],["groupucmapper",{"_index":12914,"title":{"classes/GroupUcMapper.html":{}},"body":{"classes/GroupUcMapper.html":{}}}],["groupuser",{"_index":12634,"title":{"classes/GroupUser.html":{}},"body":{"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{},"classes/GroupUser.html":{},"injectables/OidcProvisioningService.html":{},"classes/UserForGroupNotFoundLoggable.html":{}}}],["groupuser.role.name",{"_index":12935,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["groupuser.roleid",{"_index":12759,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["groupuser.user.lastname",{"_index":12937,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["groupuser.userid",{"_index":12656,"title":{},"body":{"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{}}}],["groupuserentity",{"_index":12722,"title":{"classes/GroupUserEntity.html":{}},"body":{"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{}}}],["groupuserentityprops",{"_index":12957,"title":{"interfaces/GroupUserEntityProps.html":{}},"body":{"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{}}}],["groupuserids",{"_index":16745,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["groupuserids.filter((userid",{"_index":16758,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["groupuserids.includes(userid",{"_index":16764,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["groupuserresponse",{"_index":12825,"title":{"classes/GroupUserResponse.html":{}},"body":{"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUserResponse.html":{}}}],["groupusers",{"_index":12969,"title":{"interfaces/GroupUsers.html":{}},"body":{"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/Meta.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OcsResponse.html":{},"interfaces/SuccessfulRes.html":{}}}],["groupvalidperiodentity",{"_index":12727,"title":{"classes/GroupValidPeriodEntity.html":{}},"body":{"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["groupvalidperiodentityprops",{"_index":12984,"title":{"interfaces/GroupValidPeriodEntityProps.html":{}},"body":{"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["gruppe",{"_index":19428,"title":{},"body":{"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{}}}],["gruppen",{"_index":19436,"title":{},"body":{"classes/SanisGruppenResponse.html":{},"classes/SanisPersonenkontextResponse.html":{}}}],["gruppenzugehoerige",{"_index":19447,"title":{},"body":{"classes/SanisGruppenResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["gruppenzugehoerigkeit",{"_index":19437,"title":{},"body":{"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{}}}],["gt",{"_index":3926,"title":{},"body":{"injectables/BoardNodeRepo.html":{},"classes/NewsScope.html":{}}}],["gte",{"_index":7831,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/SchoolYearRepo.html":{},"classes/TaskScope.html":{},"classes/UserScope.html":{}}}],["guarantee",{"_index":627,"title":{},"body":{"injectables/AccountLookupService.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["guard",{"_index":25547,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["guardagainst",{"_index":12987,"title":{"classes/GuardAgainst.html":{}},"body":{"classes/GuardAgainst.html":{},"injectables/LocalStrategy.html":{}}}],["guardagainst.nullorundefined",{"_index":15674,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["guardagainst.nullorundefined(account.password",{"_index":15671,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["guardagainst.nullorundefined(jwt",{"_index":15669,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["guardagainst.nullorundefined(password",{"_index":15679,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["guardagainst.nullorundefined(username",{"_index":15678,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["guards",{"_index":12994,"title":{},"body":{"classes/GuardAgainst.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["guest",{"_index":2256,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["guest:guest",{"_index":25287,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["guestpolicy",{"_index":2159,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"injectables/VideoConferenceCreateUc.html":{}}}],["guests",{"_index":24238,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["guide",{"_index":25810,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["gzip",{"_index":19508,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["h",{"_index":6533,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["h.doesurlmatch(url",{"_index":16275,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["h5p",{"_index":1215,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"entities/H5pEditorTempFile.html":{},"entities/InstalledLibrary.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileStorage.html":{}}}],["h5p_content_s3_connection",{"_index":22075,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["h5p_editor__library_list_path",{"_index":13576,"title":{},"body":{"interfaces/IH5PLibraryManagementConfig.html":{}}}],["h5p_libraries",{"_index":13305,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["h5p_library",{"_index":11591,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["h5pajaxendpointprovider",{"_index":13233,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["h5pconfig",{"_index":13290,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["h5pconfig(undefined",{"_index":13300,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["h5pcontent",{"_index":6623,"title":{"entities/H5PContent.html":{}},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["h5pcontentfactory",{"_index":13004,"title":{"classes/H5PContentFactory.html":{}},"body":{"classes/H5PContentFactory.html":{}}}],["h5pcontentfactory.define(h5pcontent",{"_index":13009,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["h5pcontentmapper",{"_index":13017,"title":{"classes/H5PContentMapper.html":{}},"body":{"classes/H5PContentMapper.html":{}}}],["h5pcontentmetadata",{"_index":12476,"title":{"classes/H5PContentMetadata.html":{}},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["h5pcontentparentparams",{"_index":13026,"title":{"interfaces/H5PContentParentParams.html":{}},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["h5pcontentparenttype",{"_index":6619,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"classes/LumiUserWithContentData.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["h5pcontentparenttype'})@isenum(h5pcontentparenttype",{"_index":17776,"title":{},"body":{"classes/PostH5PContentCreateParams.html":{}}}],["h5pcontentparenttype.lesson",{"_index":13010,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["h5pcontentproperties",{"_index":6620,"title":{"interfaces/H5PContentProperties.html":{}},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{}}}],["h5pcontentrepo",{"_index":13051,"title":{"injectables/H5PContentRepo.html":{}},"body":{"injectables/H5PContentRepo.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["h5pcontentresponse",{"_index":12469,"title":{"interfaces/H5PContentResponse.html":{}},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["h5peditorcontroller",{"_index":13067,"title":{"controllers/H5PEditorController.html":{}},"body":{"controllers/H5PEditorController.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["h5peditorcontroller.setrangeresponseheaders(res",{"_index":13162,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["h5peditormodelcontentresponse",{"_index":12470,"title":{"classes/H5PEditorModelContentResponse.html":{}},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["h5peditormodelcontentresponse(editormodel",{"_index":13187,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["h5peditormodelresponse",{"_index":12455,"title":{"classes/H5PEditorModelResponse.html":{}},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["h5peditormodelresponse(editormodel",{"_index":13183,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["h5peditormodelresponse:13",{"_index":13208,"title":{},"body":{"classes/H5PEditorModelContentResponse.html":{}}}],["h5peditormodelresponse:17",{"_index":13209,"title":{},"body":{"classes/H5PEditorModelContentResponse.html":{}}}],["h5peditormodelresponse:21",{"_index":13210,"title":{},"body":{"classes/H5PEditorModelContentResponse.html":{}}}],["h5peditormodule",{"_index":13215,"title":{"modules/H5PEditorModule.html":{}},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{}}}],["h5peditorprovider",{"_index":13234,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["h5peditortempfile",{"_index":13229,"title":{"entities/H5pEditorTempFile.html":{}},"body":{"modules/H5PEditorModule.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{}}}],["h5peditortestmodule",{"_index":13238,"title":{"modules/H5PEditorTestModule.html":{}},"body":{"modules/H5PEditorTestModule.html":{}}}],["h5peditoruc",{"_index":13130,"title":{},"body":{"controllers/H5PEditorController.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["h5perror",{"_index":13249,"title":{},"body":{"classes/H5PErrorMapper.html":{}}}],["h5perrormapper",{"_index":13245,"title":{"classes/H5PErrorMapper.html":{}},"body":{"classes/H5PErrorMapper.html":{}}}],["h5pfile",{"_index":13173,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["h5pfiledto",{"_index":12505,"title":{"classes/H5pFileDto.html":{}},"body":{"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{},"injectables/TemporaryFileStorage.html":{}}}],["h5plibrarymanagementconfig",{"_index":13260,"title":{},"body":{"modules/H5PLibraryManagementModule.html":{},"interfaces/IH5PLibraryManagementConfig.html":{}}}],["h5plibrarymanagementmodule",{"_index":13253,"title":{"modules/H5PLibraryManagementModule.html":{}},"body":{"modules/H5PLibraryManagementModule.html":{}}}],["h5plibrarymanagementservice",{"_index":13257,"title":{"injectables/H5PLibraryManagementService.html":{}},"body":{"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["h5pplayerprovider",{"_index":13235,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["h5psaveresponse",{"_index":12477,"title":{"classes/H5PSaveResponse.html":{}},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["h5psaveresponse(response.id",{"_index":13197,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["h5ptemporaryfilefactory",{"_index":13355,"title":{"classes/H5PTemporaryFileFactory.html":{}},"body":{"classes/H5PTemporaryFileFactory.html":{}}}],["h5ptemporaryfilefactory.define(h5peditortempfile",{"_index":13362,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{}}}],["halper",{"_index":23106,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["handed",{"_index":9523,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["handle",{"_index":3344,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CourseCopyService.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["handlecolumnboardintegration",{"_index":19181,"title":{},"body":{"injectables/RoomsService.html":{}}}],["handlecolumnboardintegration(roomid",{"_index":19185,"title":{},"body":{"injectables/RoomsService.html":{}}}],["handleconnection",{"_index":22376,"title":{},"body":{"classes/TldrawWs.html":{}}}],["handleconnection(client",{"_index":22382,"title":{},"body":{"classes/TldrawWs.html":{}}}],["handled",{"_index":4203,"title":{},"body":{"classes/BusinessError.html":{},"injectables/ContextExternalToolValidationService.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["handled_at",{"_index":168,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["handleexceptions",{"_index":15715,"title":{},"body":{"modules/LoggerModule.html":{}}}],["handleparameterstoinclude",{"_index":2739,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["handleparameterstoinclude(propertydata",{"_index":2779,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["handler",{"_index":4155,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/TaskUrlHandler.html":{},"todo.html":{}}}],["handler.getmetadata(url",{"_index":16276,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["handler.ts",{"_index":111,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{},"interfaces/UrlHandler.html":{}}}],["handler.ts:11",{"_index":4145,"title":{},"body":{"injectables/BoardUrlHandler.html":{}}}],["handler.ts:15",{"_index":7888,"title":{},"body":{"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["handler.ts:17",{"_index":4147,"title":{},"body":{"injectables/BoardUrlHandler.html":{}}}],["handler.ts:19",{"_index":121,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["handler.ts:24",{"_index":128,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["handler.ts:4",{"_index":23116,"title":{},"body":{"interfaces/UrlHandler.html":{}}}],["handler.ts:5",{"_index":119,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"interfaces/UrlHandler.html":{}}}],["handler.ts:7",{"_index":124,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["handler.ts:9",{"_index":7887,"title":{},"body":{"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["handler/abstract",{"_index":109,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["handler/board",{"_index":4142,"title":{},"body":{"injectables/BoardUrlHandler.html":{}}}],["handler/course",{"_index":7886,"title":{},"body":{"injectables/CourseUrlHandler.html":{}}}],["handler/lesson",{"_index":15540,"title":{},"body":{"injectables/LessonUrlHandler.html":{}}}],["handler/task",{"_index":21847,"title":{},"body":{"injectables/TaskUrlHandler.html":{}}}],["handlerejections",{"_index":15716,"title":{},"body":{"modules/LoggerModule.html":{}}}],["handlers",{"_index":16251,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["handles",{"_index":25795,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["handling",{"_index":7356,"title":{"additional-documentation/nestjs-application/exception-handling.html":{}},"body":{"modules/CoreModule.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["happen",{"_index":16859,"title":{},"body":{"injectables/OAuthService.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["happened",{"_index":25565,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["hard",{"_index":5374,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["hasaccess",{"_index":21204,"title":{},"body":{"injectables/SystemRule.html":{}}}],["hasaccesstoentity",{"_index":1803,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["hasaccesstoentity(user",{"_index":1808,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["hasaccesstosubmission",{"_index":20906,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasaccesstosubmission(user",{"_index":20912,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasallpermissions",{"_index":1804,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationService.html":{},"injectables/CourseGroupRule.html":{}}}],["hasallpermissions(user",{"_index":1812,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationService.html":{}}}],["hasallpermissionsbyrole",{"_index":1805,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["hasallpermissionsbyrole(role",{"_index":1814,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["hasbeenforciblyended",{"_index":2247,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["hasbodyproperty",{"_index":2797,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["haschangedparameternames",{"_index":11074,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["haschangedparameternames(oldparams",{"_index":11085,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["haschangedparameterregex",{"_index":11075,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["haschangedparameterregex(newparams",{"_index":11087,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["haschangedparameterscope",{"_index":11076,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["haschangedparameterscope(newparams",{"_index":11090,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["haschangedparametertypes",{"_index":11077,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["haschangedparametertypes(newparams",{"_index":11092,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["haschangedrequiredparameters",{"_index":11078,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["haschangedrequiredparameters(newparams",{"_index":11094,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["haschild",{"_index":3044,"title":{},"body":{"classes/BoardComposite.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["haschild(child",{"_index":3060,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["hasconn",{"_index":22523,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["hascontextexternaltool",{"_index":10092,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["hascoursepermission",{"_index":19132,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{},"injectables/TaskRule.html":{}}}],["hascoursereadpermission",{"_index":19114,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["hascoursereadpermission(user",{"_index":19118,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["hascoursewritepermission",{"_index":19115,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["hascoursewritepermission(user",{"_index":19120,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["hasduplicateattributes",{"_index":10425,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["hasduplicateattributes(customparameter",{"_index":10436,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["haserror",{"_index":11781,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["hasfeature",{"_index":15252,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["hasfeature(schoolid",{"_index":15263,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["hash",{"_index":12447,"title":{},"body":{"interfaces/GetFileResponse.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileParams.html":{}}}],["hash_function",{"_index":15839,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["hashiterations",{"_index":14799,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["hashiterations(310000",{"_index":14412,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["hashkey",{"_index":15841,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["hashkey).tostring(cryptojs.enc.base64",{"_index":15843,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["hasid",{"_index":8380,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["hasjoinedvoice",{"_index":2319,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["haslessonpermission",{"_index":15484,"title":{},"body":{"injectables/LessonRule.html":{},"injectables/TaskRule.html":{}}}],["haslessonreadpermission",{"_index":19116,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["haslessonreadpermission(user",{"_index":19122,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["hasmatch",{"_index":14019,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["hasmatch(user",{"_index":14027,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["hasname",{"_index":11777,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["hasname(name",{"_index":11776,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["hasnewrequiredparameter",{"_index":11079,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["hasnewrequiredparameter(oldparams",{"_index":11096,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["hasnewspermission",{"_index":26035,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["hasoneofpermissions",{"_index":1806,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationService.html":{}}}],["hasoneofpermissions(user",{"_index":1816,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationService.html":{}}}],["hasparent",{"_index":3908,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["hasparentpermission",{"_index":21683,"title":{},"body":{"injectables/TaskRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["hasparentpermission(user",{"_index":21685,"title":{},"body":{"injectables/TaskRule.html":{}}}],["hasparentreadpermission",{"_index":15491,"title":{},"body":{"injectables/LessonRule.html":{}}}],["hasparenttaskreadaccess",{"_index":20907,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasparenttaskreadaccess(user",{"_index":20914,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasparenttaskwriteaccess",{"_index":20908,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasparenttaskwriteaccess(user",{"_index":20916,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasparentwritepermission",{"_index":15493,"title":{},"body":{"injectables/LessonRule.html":{}}}],["haspath",{"_index":18701,"title":{},"body":{"classes/RequestInfo.html":{}}}],["haspath(reqroute",{"_index":18708,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["haspermission",{"_index":1838,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/BoardDoRule.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"injectables/GroupRule.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LessonRule.html":{},"injectables/RoomsAuthorisationService.html":{},"interfaces/Rule.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionUc.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["haspermission(user",{"_index":1981,"title":{},"body":{"injectables/AuthorizationService.html":{},"injectables/BoardDoRule.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"injectables/GroupRule.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LessonRule.html":{},"interfaces/Rule.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["haspermissionbyreferences",{"_index":1948,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["haspermissionbyreferences(userid",{"_index":1954,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["haspermissions",{"_index":11216,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{},"injectables/PermissionService.html":{},"injectables/SystemRule.html":{}}}],["hasreadaccess",{"_index":20909,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasreadaccess(user",{"_index":20919,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasrequiredpermission",{"_index":21690,"title":{},"body":{"injectables/TaskRule.html":{}}}],["hasscanstatuserror",{"_index":11780,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["hasscanstatuswontcheck",{"_index":11783,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["hasschoolmigrated",{"_index":19932,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["hasschoolmigrated(sourceexternalid",{"_index":19945,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["hasschoolmigrateduser",{"_index":4959,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/SchoolMigrationService.html":{}}}],["hasschoolmigrateduser(schoolid",{"_index":19949,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["hastaskreadpermission",{"_index":19117,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["hastaskreadpermission(user",{"_index":19124,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["hasuserallschoolpermissions",{"_index":17749,"title":{},"body":{"injectables/PermissionService.html":{}}}],["hasuserallschoolpermissions(user",{"_index":17752,"title":{},"body":{"injectables/PermissionService.html":{}}}],["hasuserjoined",{"_index":2248,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["hasusermigrated",{"_index":23669,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["hasuserpermission",{"_index":15488,"title":{},"body":{"injectables/LessonRule.html":{}}}],["hasvideo",{"_index":2320,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["haswontcheckstatus",{"_index":11784,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["haswriteaccess",{"_index":20910,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["haswriteaccess(user",{"_index":20921,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["having",{"_index":3893,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"controllers/ElementController.html":{},"injectables/LdapStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["head",{"_index":19286,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["head(path",{"_index":19304,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["header",{"_index":1595,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/JwtConstants.html":{},"controllers/OauthSSOController.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["headerapikey",{"_index":24401,"title":{},"body":{"injectables/XApiKeyStrategy.html":{},"dependencies.html":{}}}],["headerconst",{"_index":1609,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["headerconst.json",{"_index":1654,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["headercookies",{"_index":13508,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["headers",{"_index":1169,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosResponseImp.html":{},"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"injectables/DeletionClient.html":{},"classes/DownloadFileParams.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"injectables/HydraOauthUc.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/OauthAdapterService.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["headobjectcommand",{"_index":19320,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["headobjectcommandoutput",{"_index":19321,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["headresponse",{"_index":19391,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["heartened",{"_index":24686,"title":{},"body":{"license.html":{}}}],["height",{"_index":3542,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/BoardManagementUc.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"injectables/ColumnBoardService.html":{},"classes/ColumnResponseMapper.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SetHeightBodyParams.html":{}}}],["height(height",{"_index":4330,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{}}}],["height.body.params",{"_index":4376,"title":{},"body":{"controllers/CardController.html":{}}}],["height.body.params.ts",{"_index":20238,"title":{},"body":{"classes/SetHeightBodyParams.html":{}}}],["height.body.params.ts:10",{"_index":20240,"title":{},"body":{"classes/SetHeightBodyParams.html":{}}}],["height=100",{"_index":6022,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["hell",{"_index":7447,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["help",{"_index":6258,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["helper",{"_index":3299,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/BoardDoCopyService.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/CopyFilesService.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/ExternalToolConfigurationUc.html":{},"modules/FilesStorageClientModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LessonCopyUC.html":{},"modules/LessonModule.html":{},"classes/PreviewBuilder.html":{},"injectables/PreviewService.html":{},"classes/RecursiveCopyVisitor.html":{},"controllers/RoomsController.html":{},"injectables/SchoolExternalToolUc.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{},"injectables/SubmissionRepo.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"modules/TaskModule.html":{},"modules/ToolApiModule.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolReferenceUc.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["helper.module",{"_index":21357,"title":{},"body":{"modules/TaskApiModule.html":{}}}],["helper.module.ts",{"_index":7267,"title":{},"body":{"modules/CopyHelperModule.html":{}}}],["helper.service",{"_index":7269,"title":{},"body":{"modules/CopyHelperModule.html":{}}}],["helper.service.ts",{"_index":7271,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["helper.service.ts:10",{"_index":7282,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["helper.service.ts:28",{"_index":7280,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["helper.service.ts:45",{"_index":7276,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["helper.ts",{"_index":20542,"title":{},"body":{"classes/SortHelper.html":{},"classes/TestHelper.html":{},"injectables/ToolPermissionHelper.html":{}}}],["helper.ts:15",{"_index":22931,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["helper.ts:21",{"_index":22165,"title":{},"body":{"classes/TestHelper.html":{}}}],["helper.ts:28",{"_index":22932,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["helper.ts:4",{"_index":20545,"title":{},"body":{"classes/SortHelper.html":{}}}],["helper.ts:53",{"_index":22933,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["helper.ts:6",{"_index":22164,"title":{},"body":{"classes/TestHelper.html":{}}}],["helper/copy",{"_index":7266,"title":{},"body":{"modules/CopyHelperModule.html":{},"modules/TaskApiModule.html":{}}}],["helper/dto/copy.response.ts",{"_index":7063,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/dto/copy.response.ts:17",{"_index":7074,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/dto/copy.response.ts:22",{"_index":7077,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/dto/copy.response.ts:29",{"_index":7078,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/dto/copy.response.ts:34",{"_index":7069,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/dto/copy.response.ts:41",{"_index":7076,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/dto/copy.response.ts:47",{"_index":7073,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/dto/copy.response.ts:7",{"_index":7067,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/mapper/copy.mapper.ts",{"_index":7309,"title":{},"body":{"classes/CopyMapper.html":{}}}],["helper/mapper/copy.mapper.ts:11",{"_index":7321,"title":{},"body":{"classes/CopyMapper.html":{}}}],["helper/mapper/copy.mapper.ts:31",{"_index":7314,"title":{},"body":{"classes/CopyMapper.html":{}}}],["helper/mapper/copy.mapper.ts:40",{"_index":7318,"title":{},"body":{"classes/CopyMapper.html":{}}}],["helper/service/copy",{"_index":7270,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["helper/types/copy.types",{"_index":7079,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helpers",{"_index":25531,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["helpful",{"_index":25708,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["helplink",{"_index":5521,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["helps",{"_index":25693,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["helpto",{"_index":25344,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["hendt/xml2json",{"_index":7049,"title":{},"body":{"injectables/ConverterUtil.html":{},"dependencies.html":{}}}],["here",{"_index":2564,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"modules/CommonToolModule.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"injectables/JwtValidationAdapter.html":{},"classes/LibraryName.html":{},"injectables/NextcloudStrategy.html":{},"classes/Path.html":{},"injectables/TaskRepo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["hereafter",{"_index":25064,"title":{},"body":{"license.html":{}}}],["hex",{"_index":625,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["hh:mm:ss.sss",{"_index":15722,"title":{},"body":{"modules/LoggerModule.html":{}}}],["hidden",{"_index":3742,"title":{},"body":{"classes/BoardLessonResponse.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/DtoCreator.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/TaskUC.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["hier",{"_index":5516,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["hierarchy",{"_index":5985,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["high",{"_index":25492,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["higher",{"_index":25420,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["highly",{"_index":25977,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["hilfebereich",{"_index":5533,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["hint",{"_index":5285,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/ConsentRequestBody.html":{},"injectables/CopyFilesService.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"classes/OauthConfigResponse.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["history",{"_index":25220,"title":{},"body":{"todo.html":{}}}],["historywindows",{"_index":25848,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["hmac",{"_index":15838,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["holder",{"_index":25002,"title":{},"body":{"license.html":{}}}],["holders",{"_index":24969,"title":{},"body":{"license.html":{}}}],["holds",{"_index":26054,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["homepage",{"_index":25209,"title":{},"body":{"properties.html":{}}}],["homework",{"_index":25508,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["homework\\/([0",{"_index":21848,"title":{},"body":{"injectables/TaskUrlHandler.html":{}}}],["homeworkid",{"_index":20647,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["homeworkid'})@index",{"_index":20643,"title":{},"body":{"entities/Submission.html":{}}}],["homeworks",{"_index":21264,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["hook",{"_index":26064,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["hookfn",{"_index":523,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["hooks",{"_index":24488,"title":{},"body":{"dependencies.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["hope",{"_index":7448,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{},"license.html":{}}}],["horizontal",{"_index":25489,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["host",{"_index":1282,"title":{},"body":{"modules/AntivirusModule.html":{},"classes/GlobalErrorFilter.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"classes/VideoConferenceConfiguration.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["host.gettype",{"_index":12552,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["host.switchtohttp",{"_index":12562,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["host=http://localhost:4000",{"_index":25866,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["hostname",{"_index":1288,"title":{},"body":{"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"modules/FilesStorageModule.html":{},"interfaces/ScanResult.html":{}}}],["hosts",{"_index":24901,"title":{},"body":{"license.html":{}}}],["hosturl",{"_index":13635,"title":{},"body":{"interfaces/IVideoConferenceSettings.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["hot",{"_index":25251,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application.html":{}}}],["hours",{"_index":2890,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["household",{"_index":24919,"title":{},"body":{"license.html":{}}}],["hpi",{"_index":2219,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarService.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardService.html":{},"interfaces/CopyFileDO.html":{},"injectables/CourseCopyUC.html":{},"modules/DeletionApiModule.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DtoCreator.html":{},"interfaces/FileDO.html":{},"interfaces/FileStorageConfig.html":{},"modules/FilesStorageModule.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/HydraSsoService.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IToolFeatures.html":{},"classes/KeycloakAdministration.html":{},"injectables/LessonCopyUC.html":{},"modules/ManagementModule.html":{},"injectables/MetaTagInternalUrlService.html":{},"controllers/OauthProviderController.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/PrometheusMetricsConfig.html":{},"injectables/PseudonymService.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/RedisModule.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsService.html":{},"injectables/SanisProvisioningStrategy.html":{},"interfaces/ServerConfig.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TldrawConfig.html":{},"classes/ToolConfiguration.html":{},"injectables/UserLoginMigrationService.html":{},"classes/VideoConferenceConfiguration.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{}}}],["href",{"_index":5765,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["hs256",{"_index":1570,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["hs384",{"_index":1571,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["hs512",{"_index":1572,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["html",{"_index":5773,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeWebContentResource.html":{},"entities/CourseNews.html":{},"controllers/H5PEditorController.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"dependencies.html":{}}}],["html.transformer",{"_index":18823,"title":{},"body":{"classes/RichText.html":{}}}],["htmlcontent",{"_index":1451,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["htmlmailcontent",{"_index":1453,"title":{"interfaces/HtmlMailContent.html":{}},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["http",{"_index":1379,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"classes/ConsentRequestBody.html":{},"injectables/DeletionClient.html":{},"classes/ErrorResponse.html":{},"classes/GlobalErrorFilter.html":{},"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["http(message",{"_index":13606,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{}}}],["http(s",{"_index":26062,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["http://:4011",{"_index":25864,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["http://fsf.org",{"_index":24641,"title":{},"body":{"license.html":{}}}],["http://localhost:3030",{"_index":14542,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["http://localhost:3030/api/v1/sync?target=ldap",{"_index":25885,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["http://localhost:3030/api/v3/sso/oauth",{"_index":14657,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["http://localhost:8080",{"_index":25857,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["http://ltsc.ieee.org/xsd/imsccv1p1/lom/manifest",{"_index":5949,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://ltsc.ieee.org/xsd/imsccv1p1/lom/resource",{"_index":5950,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://ltsc.ieee.org/xsd/imsccv1p3/lom/manifest",{"_index":5936,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://ltsc.ieee.org/xsd/imsccv1p3/lom/resource",{"_index":5938,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.gnu.org/licenses",{"_index":25205,"title":{},"body":{"license.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p1/ccv1p1_imscp_v1p2_v1p0.xsd",{"_index":5952,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p1/lom/ccv1p1_lommanifest_v1p0.xsd",{"_index":5953,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p1/lom/ccv1p1_lomresource_v1p0.xsd",{"_index":5951,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p3/ccv1p3_cpextensionv1p2_v1p0.xsd",{"_index":5944,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p3/ccv1p3_imscp_v1p2_v1p0.xsd",{"_index":5942,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p3/ccv1p3_imswl_v1p3.xsd",{"_index":6025,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p3/lom/ccv1p3_lommanifest_v1p0.xsd",{"_index":5943,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p3/lom/ccv1p3_lomresource_v1p0.xsd",{"_index":5941,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/xsd/imsbasiclti_v1p0",{"_index":5899,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["http://www.imsglobal.org/xsd/imsccv1p1/imscp_v1p1",{"_index":5948,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/xsd/imsccv1p1/imswl_v1p1",{"_index":6026,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["http://www.imsglobal.org/xsd/imsccv1p3/imscp_extensionv1p2",{"_index":5940,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/xsd/imsccv1p3/imscp_v1p1",{"_index":5934,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/xsd/imsccv1p3/imswl_v1p3",{"_index":6024,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["http://www.imsglobal.org/xsd/imslticc_v1p3",{"_index":5897,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["http://www.imsglobal.org/xsd/imslticc_v1p3.xsd",{"_index":5905,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["http://www.imsglobal.org/xsd/imslticm_v1p0",{"_index":5901,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["http://www.imsglobal.org/xsd/imslticp_v1p0",{"_index":5903,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["http://www.w3.org/2001/xmlschema",{"_index":5882,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["httpargumenthost",{"_index":12561,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["httpargumenthost.getresponse",{"_index":12563,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["httpcode",{"_index":3222,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/LoginController.html":{},"controllers/SystemController.html":{},"controllers/TldrawController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["httpcode(200",{"_index":9460,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["httpcode(201",{"_index":9736,"title":{},"body":{"controllers/ElementController.html":{}}}],["httpcode(202",{"_index":9457,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["httpcode(204",{"_index":3241,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/TldrawController.html":{}}}],["httpcode(httpstatus.no_content",{"_index":21054,"title":{},"body":{"controllers/SystemController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["httpcode(httpstatus.ok",{"_index":15765,"title":{},"body":{"controllers/LoginController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["httpexception",{"_index":2098,"title":{},"body":{"classes/AxiosErrorLoggable.html":{},"classes/BoardResponseMapper.html":{},"classes/BusinessError.html":{},"classes/ColumnResponseMapper.html":{},"classes/ErrorUtils.html":{},"classes/ExternalToolLogoService.html":{},"classes/GlobalErrorFilter.html":{},"classes/H5PErrorMapper.html":{}}}],["httpexception(`unsupported",{"_index":5642,"title":{},"body":{"classes/ColumnResponseMapper.html":{}}}],["httpexception(error.message",{"_index":13251,"title":{},"body":{"classes/H5PErrorMapper.html":{}}}],["httpexceptionoptions",{"_index":9922,"title":{},"body":{"classes/ErrorUtils.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["httpexceptions",{"_index":25604,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["httpmodule",{"_index":3872,"title":{},"body":{"modules/BoardModule.html":{},"modules/CalendarModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/ExternalToolModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/IdentityManagementModule.html":{},"modules/KeycloakModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderServiceModule.html":{},"modules/ProvisioningModule.html":{},"modules/RocketChatModule.html":{},"modules/VideoConferenceModule.html":{}}}],["httponly",{"_index":20219,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["https://${scdomain",{"_index":14543,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["https://${scdomain}/api/v3/sso/oauth",{"_index":14658,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["https://dbildungscloud.de",{"_index":25210,"title":{},"body":{"properties.html":{}}}],["https://docs.nestjs.com/first",{"_index":25535,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["https://example.com/tool",{"_index":22874,"title":{},"body":{"classes/ToolLaunchRequestResponse.html":{}}}],["https://github.com/goldbergyoni/javascript",{"_index":25812,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["https://github.com/hpi",{"_index":25233,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["https://github.com/mikro",{"_index":11747,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["https://github.com/thoughtbot/fishery",{"_index":2581,"title":{},"body":{"classes/BaseFactory.html":{}}}],["https://hpi",{"_index":25254,"title":{},"body":{"todo.html":{}}}],["https://jestjs.io",{"_index":25387,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["https://khalilstemmler.com/articles/software",{"_index":25574,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["https://logo.com",{"_index":8248,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["https://logourl.com",{"_index":10263,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["https://mikro",{"_index":25388,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["https://min.io",{"_index":25390,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["https://mock.de",{"_index":21126,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["https://mock.de/auth",{"_index":21115,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["https://mock.de/jwks",{"_index":21119,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["https://mock.de/logout",{"_index":21117,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["https://mock.de/mock/auth/public/mocktoken",{"_index":21113,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["https://mock.tld/auth",{"_index":21121,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["https://mock.tld/logout",{"_index":21124,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["https://mock.tld/token",{"_index":21122,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["https://mock.tld/userinfo",{"_index":21123,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["https://mockhost:3030/api/v3/sso/oauth",{"_index":21114,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["https://nestjs.com",{"_index":25386,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["https://provisioningurl.de",{"_index":21128,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["https://stackoverflow.com/a/61909588",{"_index":25219,"title":{},"body":{"todo.html":{}}}],["https://ticketsystem.dbildungscloud.de/browse/arc",{"_index":2529,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["https://ticketsystem.dbildungscloud.de/browse/bc",{"_index":19238,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["https://url.com",{"_index":8246,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["https://www.basic",{"_index":8202,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["https://www.fallback",{"_index":6484,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["https://www.frontchannel.com",{"_index":8210,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["https://www.geogebra.org/m/${content.content.materialid",{"_index":5776,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["https://www.imsglobal.org/sites/default/files/profile/cc/ccv1p1/ccv1p1_imswl_v1p1.xsd",{"_index":6027,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["https://www.lti11",{"_index":8221,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["https://www.npmjs.com/package/@golevelup/nestjs",{"_index":18319,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["https://www.oauth2",{"_index":8217,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["https://www.rabbitmq.com",{"_index":25391,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["https://www.redirect.com",{"_index":8212,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["httpservice",{"_index":1053,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"injectables/DeletionClient.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/ExternalToolLogoService.html":{},"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthAdapterService.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["httpstatus",{"_index":1368,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/BoardResponseMapper.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/ColumnResponseMapper.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorResponse.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"classes/LdapConnectionError.html":{},"controllers/LoginController.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"controllers/SystemController.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{},"classes/ValidationError.html":{},"controllers/VideoConferenceController.html":{}}}],["httpstatus.bad_gateway",{"_index":14993,"title":{},"body":{"classes/LdapConnectionError.html":{}}}],["httpstatus.bad_request",{"_index":1375,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AxiosErrorFactory.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ValidationError.html":{},"controllers/VideoConferenceController.html":{}}}],["httpstatus.bad_request.tostring",{"_index":2089,"title":{},"body":{"classes/AxiosErrorFactory.html":{}}}],["httpstatus.conflict",{"_index":4217,"title":{},"body":{"classes/BusinessError.html":{},"classes/ErrorResponse.html":{}}}],["httpstatus.forbidden",{"_index":12380,"title":{},"body":{"classes/ForbiddenOperationError.html":{},"controllers/VideoConferenceController.html":{}}}],["httpstatus.internal_server_error",{"_index":2104,"title":{},"body":{"classes/AxiosErrorLoggable.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"controllers/VideoConferenceController.html":{}}}],["httpstatus.not_found",{"_index":9806,"title":{},"body":{"classes/EntityNotFoundError.html":{}}}],["httpstatus.ok",{"_index":12692,"title":{},"body":{"controllers/GroupController.html":{},"controllers/VideoConferenceController.html":{}}}],["httpstatus.too_many_requests",{"_index":4173,"title":{},"body":{"classes/BruteForceError.html":{}}}],["httpstatus.unauthorized",{"_index":1800,"title":{},"body":{"classes/AuthorizationError.html":{},"classes/SchoolInMigrationLoggableException.html":{}}}],["httpstatus.unprocessable_entity",{"_index":4003,"title":{},"body":{"classes/BoardResponseMapper.html":{},"classes/ColumnResponseMapper.html":{},"classes/MissingToolParameterValueLoggableException.html":{}}}],["human",{"_index":6266,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["hydra",{"_index":13542,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydra/hydra.adapter",{"_index":17443,"title":{},"body":{"modules/OauthProviderServiceModule.html":{}}}],["hydra_oauth_failed",{"_index":13387,"title":{},"body":{"classes/HydraOauthFailedLoggableException.html":{}}}],["hydraadapter",{"_index":17442,"title":{},"body":{"modules/OauthProviderServiceModule.html":{}}}],["hydracookies",{"_index":7053,"title":{},"body":{"classes/CookiesDto.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{}}}],["hydracookies.includes(cookie",{"_index":13521,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydracookies.push(cookie",{"_index":13522,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydraoauthconfig",{"_index":13415,"title":{},"body":{"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{}}}],["hydraoauthconfig.redirecturi",{"_index":13419,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["hydraoauthfailedloggableexception",{"_index":13382,"title":{"classes/HydraOauthFailedLoggableException.html":{}},"body":{"classes/HydraOauthFailedLoggableException.html":{}}}],["hydraoauthuc",{"_index":13388,"title":{"injectables/HydraOauthUc.html":{}},"body":{"injectables/HydraOauthUc.html":{},"modules/OauthApiModule.html":{},"controllers/OauthSSOController.html":{}}}],["hydraredirectdto",{"_index":13409,"title":{"classes/HydraRedirectDto.html":{}},"body":{"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{}}}],["hydraredirectdto(dto",{"_index":13494,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydrassoservice",{"_index":13398,"title":{"injectables/HydraSsoService.html":{}},"body":{"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"modules/OauthModule.html":{}}}],["hydrauc",{"_index":17467,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["hydrauri",{"_index":13530,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydrauri}/.well",{"_index":13538,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydrauri}/oauth2/auth",{"_index":13533,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydrauri}/oauth2/sessions/logout",{"_index":13541,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydrauri}/oauth2/token",{"_index":13548,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["i...properties",{"_index":7451,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["i.name",{"_index":5328,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["i.width",{"_index":16240,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["i18next",{"_index":24497,"title":{},"body":{"dependencies.html":{}}}],["iat",{"_index":7935,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"classes/JwtTestFactory.html":{}}}],["ibbbsettings",{"_index":2336,"title":{"interfaces/IBbbSettings.html":{}},"body":{"injectables/BBBService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["icolumnboardproperties",{"_index":5447,"title":{},"body":{"classes/ColumnBoardFactory.html":{}}}],["icommoncartridgefilebuilder",{"_index":5804,"title":{"interfaces/ICommonCartridgeFileBuilder.html":{}},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["icommoncartridgeltiresourceprops",{"_index":5868,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{}}}],["icommoncartridgemanifestprops",{"_index":5923,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["icommoncartridgemetadataprops",{"_index":5925,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{}}}],["icommoncartridgeorganizationbuilder",{"_index":5820,"title":{"interfaces/ICommonCartridgeOrganizationBuilder.html":{}},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["icommoncartridgeorganizationprops",{"_index":5818,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["icommoncartridgeresourceprops",{"_index":5721,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["icommoncartridgewebcontentresourceprops",{"_index":5727,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{}}}],["icommoncartridgeweblinkresourceprops",{"_index":5997,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["icons",{"_index":25820,"title":{},"body":{"additional-documentation/nestjs-application/vscode.html":{}}}],["icontentauthor",{"_index":6548,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["icontentchange",{"_index":6550,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["icontentmetadata",{"_index":6523,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["icurrentuser",{"_index":325,"title":{"interfaces/ICurrentUser.html":{}},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"classes/CurrentUserMapper.html":{},"controllers/DashboardController.html":{},"controllers/ElementController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"interfaces/ICurrentUser.html":{},"controllers/ImportUserController.html":{},"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"controllers/LessonController.html":{},"injectables/LocalStrategy.html":{},"controllers/LoginController.html":{},"injectables/LoginUc.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/NewsController.html":{},"injectables/Oauth2Strategy.html":{},"interfaces/OauthCurrentUser.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"controllers/PseudonymController.html":{},"injectables/RequestLoggingInterceptor.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"controllers/SystemController.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["id",{"_index":34,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AccountByIdParams.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxPostQueryParams.html":{},"injectables/AuthenticationService.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"entities/Board.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardContextResponse.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"entities/BoardElement.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"classes/BoardTaskResponse.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"injectables/CalendarService.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardUrlParams.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassMapper.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"classes/ColumnUrlParams.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementService.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ContextRef.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"injectables/CopyFilesService.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomParameterFactory.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"classes/DashboardUrlParams.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"interfaces/EntityWithSchool.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolMetadataService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolSearchParams.html":{},"injectables/ExternalToolService.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateRepo.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto-1.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"injectables/FilesRepo.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilterNewsParams.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IGridElement.html":{},"interfaces/INewsScope.html":{},"classes/IdParams.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"classes/LessonCopyApiParams.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/LoginResponse-1.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/LumiUserWithContentData.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"classes/MoveColumnBodyParams.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{},"interfaces/OcsResponse.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/ParentInfo.html":{},"classes/PreviewBuilder.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymResponse.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemResponse.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/RevokeConsentParams.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsService.html":{},"injectables/S3ClientAdapter.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolUc.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"entities/SchoolNews.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/ScopeRef.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenUC.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SortExternalToolParams.html":{},"injectables/StorageProviderRepo.html":{},"entities/Submission.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionFactory.html":{},"injectables/SubmissionItemFactory.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/SubmissionUrlParams.html":{},"interfaces/SuccessfulRes.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"entities/User.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserParams.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"classes/UsersList.html":{},"classes/VideoConferenceDO.html":{},"injectables/VideoConferenceRepo.html":{},"dependencies.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["id'})@apiokresponse({description",{"_index":22798,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["id.'})@apiresponse({status",{"_index":12683,"title":{},"body":{"controllers/GroupController.html":{}}}],["id.body.params.ts",{"_index":286,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["id.body.params.ts:15",{"_index":295,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["id.body.params.ts:26",{"_index":293,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["id.body.params.ts:35",{"_index":291,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["id.id",{"_index":14710,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["id.loggable.ts",{"_index":19887,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["id.loggable.ts:11",{"_index":19892,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["id.loggable.ts:4",{"_index":19890,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["id.params",{"_index":23458,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["id.params.ts",{"_index":307,"title":{},"body":{"classes/AccountByIdParams.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SystemIdParams.html":{}}}],["id.params.ts:11",{"_index":309,"title":{},"body":{"classes/AccountByIdParams.html":{}}}],["id.params.ts:7",{"_index":6769,"title":{},"body":{"classes/ContextExternalToolIdParams.html":{},"classes/ExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams.html":{}}}],["id.params.ts:8",{"_index":6772,"title":{},"body":{"classes/ContextExternalToolIdParams-1.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SystemIdParams.html":{}}}],["id.pipe.ts",{"_index":25556,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["id.strategy.ts",{"_index":2001,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{}}}],["id.strategy.ts:8",{"_index":2006,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{}}}],["id.token.claim",{"_index":14608,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["id.tostring",{"_index":962,"title":{},"body":{"injectables/AccountServiceDb.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["id/authorization",{"_index":6291,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["id/challenge",{"_index":6326,"title":{},"body":{"classes/ConsentSessionResponse.html":{},"classes/LoginResponse-1.html":{}}}],["id='${child.id",{"_index":3084,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["id_token",{"_index":178,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["id_token_hint_claims",{"_index":17512,"title":{},"body":{"classes/OidcContextResponse.html":{},"interfaces/ProviderOidcContext.html":{}}}],["idashboardrepo",{"_index":8669,"title":{"interfaces/IDashboardRepo.html":{}},"body":{"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"interfaces/IDashboardRepo.html":{}}}],["idea",{"_index":2541,"title":{},"body":{"classes/BaseDomainObject.html":{},"injectables/TaskUC.html":{}}}],["idempotent",{"_index":2343,"title":{},"body":{"injectables/BBBService.html":{}}}],["identical",{"_index":14323,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["identifiable",{"_index":25087,"title":{},"body":{"license.html":{}}}],["identified",{"_index":13370,"title":{},"body":{"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["identifiedreference",{"_index":2555,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"entities/Board.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["identifier",{"_index":1396,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"controllers/DeletionRequestsController.html":{},"classes/ErrorResponse.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"injectables/LdapStrategy.html":{},"injectables/NextcloudStrategy.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["identifiername",{"_index":16787,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["identifierref",{"_index":5891,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{}}}],["identifiers",{"_index":13792,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/JwtValidationAdapter.html":{}}}],["identifies",{"_index":20511,"title":{},"body":{"classes/ShareTokenUrlParams.html":{}}}],["identify",{"_index":6292,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["identities",{"_index":25854,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["identity",{"_index":3089,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/CleanOptions.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"modules/KeycloakModule.html":{},"interfaces/MigrationOptions.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"interfaces/RetryOptions.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["identitymanagementconfig",{"_index":13699,"title":{"interfaces/IdentityManagementConfig.html":{}},"body":{"interfaces/IdentityManagementConfig.html":{},"injectables/LocalStrategy.html":{},"interfaces/ServerConfig.html":{}}}],["identitymanagementmodule",{"_index":665,"title":{"modules/IdentityManagementModule.html":{}},"body":{"modules/AccountModule.html":{},"modules/AuthenticationModule.html":{},"modules/IdentityManagementModule.html":{},"modules/SystemModule.html":{}}}],["identitymanagementoauthservice",{"_index":13709,"title":{"classes/IdentityManagementOauthService.html":{}},"body":{"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/LegacySystemService.html":{},"injectables/LocalStrategy.html":{}}}],["identitymanagementoauthservice:24",{"_index":14649,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["identitymanagementoauthservice:54",{"_index":14650,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["identitymanagementoauthservice:61",{"_index":14652,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["identitymanagementservice",{"_index":633,"title":{"classes/IdentityManagementService.html":{}},"body":{"injectables/AccountLookupService.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:114",{"_index":14692,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:127",{"_index":14693,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:132",{"_index":14682,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:137",{"_index":14694,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:15",{"_index":14680,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:153",{"_index":14695,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:47",{"_index":14697,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:63",{"_index":14699,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:77",{"_index":14691,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:85",{"_index":14688,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:99",{"_index":14689,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identityprovideralias",{"_index":14598,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["identityprovidermapper",{"_index":14597,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["identityprovidermapperrepresentation",{"_index":14482,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["identityproviderrepresentation",{"_index":14485,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["idhierarchy",{"_index":5488,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["idhierarchy[0",{"_index":5489,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["idm",{"_index":78,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"interfaces/CleanOptions.html":{},"classes/IdentityManagementOauthService.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["idm.service",{"_index":679,"title":{},"body":{"modules/AccountModule.html":{}}}],["idm/dev:latest",{"_index":25303,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["idmaccount",{"_index":593,"title":{},"body":{"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["idmaccountproperties",{"_index":227,"title":{},"body":{"entities/Account.html":{},"classes/AccountFactory.html":{}}}],["idmaccountupdate",{"_index":13738,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["idmoauthservice",{"_index":15305,"title":{},"body":{"injectables/LegacySystemService.html":{},"injectables/LocalStrategy.html":{}}}],["idmreferenceid",{"_index":432,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/AccountSaveDto.html":{}}}],["idmservice",{"_index":636,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["idmuserrepresentation",{"_index":14795,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["idp",{"_index":14515,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["idpalias",{"_index":14474,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["idparams",{"_index":13638,"title":{"classes/IdParams.html":{}},"body":{"classes/IdParams.html":{},"controllers/OauthProviderController.html":{}}}],["idphint",{"_index":14923,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["ids",{"_index":615,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/BaseDORepo.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRepo.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"injectables/CardService.html":{},"injectables/ColumnBoardService.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/FeathersAuthorizationService.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ICurrentUser.html":{},"interfaces/ParentInfo.html":{},"classes/PatchOrderParams.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/S3ClientAdapter.html":{},"classes/UsersList.html":{}}}],["ids.'})@apiresponse({status",{"_index":4355,"title":{},"body":{"controllers/CardController.html":{}}}],["ids.map((id",{"_index":2962,"title":{},"body":{"entities/Board.html":{}}}],["ids.map(async",{"_index":2535,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["ids.params.ts",{"_index":4407,"title":{},"body":{"classes/CardIdsParams.html":{}}}],["ids.params.ts:10",{"_index":4411,"title":{},"body":{"classes/CardIdsParams.html":{}}}],["ids[0",{"_index":3424,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["idtoken",{"_index":173,"title":{"interfaces/IdToken.html":{}},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/IdToken.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataStrategyInputDto.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/TokenRequestMapper.html":{}}}],["idtoken.external_sub",{"_index":17544,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["idtoken.uuid",{"_index":14228,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["idtokencreationloggableexception",{"_index":13641,"title":{"classes/IdTokenCreationLoggableException.html":{}},"body":{"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{}}}],["idtokencreationloggableexception(clientid",{"_index":13690,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["idtokenextractionfailureloggableexception",{"_index":13650,"title":{"classes/IdTokenExtractionFailureLoggableException.html":{}},"body":{"classes/IdTokenExtractionFailureLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{}}}],["idtokenextractionfailureloggableexception('external_sub",{"_index":17545,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["idtokenextractionfailureloggableexception('uuid",{"_index":14229,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["idtokeninvalidloggableexception",{"_index":13657,"title":{"classes/IdTokenInvalidLoggableException.html":{}},"body":{"classes/IdTokenInvalidLoggableException.html":{},"injectables/OAuthService.html":{}}}],["idtokenservice",{"_index":13659,"title":{"injectables/IdTokenService.html":{}},"body":{"injectables/IdTokenService.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"modules/OauthProviderModule.html":{}}}],["idtokenusernotfoundloggableexception",{"_index":13693,"title":{"classes/IdTokenUserNotFoundLoggableException.html":{}},"body":{"classes/IdTokenUserNotFoundLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{}}}],["idtokenusernotfoundloggableexception(idtoken?.uuid",{"_index":14234,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["ieditormodel",{"_index":12453,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["ientity",{"_index":2548,"title":{"interfaces/IEntity.html":{}},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"interfaces/EntityWithSchool.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{}}}],["ientitywithtimestamps",{"_index":9809,"title":{"interfaces/IEntityWithTimestamps.html":{}},"body":{"interfaces/EntityWithSchool.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{}}}],["ierror",{"_index":9887,"title":{"interfaces/IError.html":{}},"body":{"classes/ErrorMapper.html":{},"classes/GlobalErrorFilter.html":{},"interfaces/IError.html":{},"interfaces/RpcMessage.html":{}}}],["iexternaltoolproperties",{"_index":10240,"title":{},"body":{"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{}}}],["if/else",{"_index":25677,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["ifilestats",{"_index":11575,"title":{},"body":{"classes/FileMetadata.html":{},"entities/H5pEditorTempFile.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["ifindoptions",{"_index":7811,"title":{"interfaces/IFindOptions.html":{}},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/FileRecordRepo.html":{},"interfaces/IFindOptions.html":{},"controllers/ImportUserController.html":{},"injectables/ImportUserRepo.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"interfaces/Pagination.html":{},"injectables/PseudonymService.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"controllers/ToolController.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["iframe",{"_index":6556,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"interfaces/GroupNameIdTuple.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["iframe_restrict_access=false",{"_index":25951,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["iframesubject",{"_index":13692,"title":{},"body":{"injectables/IdTokenService.html":{},"injectables/PseudonymService.html":{}}}],["ignore",{"_index":2477,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BoardCopyService.html":{},"classes/BoardResponseMapper.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnResponseMapper.html":{},"classes/ExternalToolCreateParams.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/ImportUserScope.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/ShareTokenFactory.html":{},"injectables/ShareTokenRepo.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["ignored",{"_index":2572,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["ignoreexpiration",{"_index":14300,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["igridelement",{"_index":8354,"title":{"interfaces/IGridElement.html":{}},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["ih5plibrarymanagementconfig",{"_index":13298,"title":{"interfaces/IH5PLibraryManagementConfig.html":{}},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/LibrariesContentType.html":{}}}],["ihubcontenttype",{"_index":13275,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["iimportuserrolename",{"_index":13581,"title":{},"body":{"interfaces/IImportUserScope.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"interfaces/ImportUserProperties.html":{},"interfaces/NameMatch.html":{},"classes/RoleNameMapper.html":{}}}],["iimportuserscope",{"_index":13578,"title":{"interfaces/IImportUserScope.html":{}},"body":{"interfaces/IImportUserScope.html":{},"classes/ImportUserMapper.html":{},"injectables/ImportUserRepo.html":{},"interfaces/NameMatch.html":{}}}],["iinstalledlibrary",{"_index":11581,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["iintegration",{"_index":12454,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["ikeycloakconfigurationinputfiles",{"_index":13584,"title":{"interfaces/IKeycloakConfigurationInputFiles.html":{}},"body":{"interfaces/IKeycloakConfigurationInputFiles.html":{},"classes/KeycloakConfiguration.html":{},"classes/KeycloakSeedService.html":{}}}],["ikeycloaksettings",{"_index":13591,"title":{"interfaces/IKeycloakSettings.html":{}},"body":{"interfaces/IKeycloakSettings.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{}}}],["ilegacylogger",{"_index":13596,"title":{"interfaces/ILegacyLogger.html":{}},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{}}}],["ilibraryadministrationoverviewitem",{"_index":13284,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["ilibrarymetadata",{"_index":11582,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["ilibraryname",{"_index":6553,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["iltitoolproperties",{"_index":8031,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{}}}],["im",{"_index":5532,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["image",{"_index":16229,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["image/gif",{"_index":10325,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["image/jpeg",{"_index":10320,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["image/png",{"_index":10323,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"classes/ReadableStreamWithFileTypeImp.html":{}}}],["image/webp",{"_index":22168,"title":{},"body":{"classes/TestHelper.html":{}}}],["imagebuffer",{"_index":10305,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["imagebuffer.tostring('hex",{"_index":10356,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["imagemagick",{"_index":17865,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["imageobject",{"_index":16204,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["images",{"_index":16207,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["images/xyz.png",{"_index":13372,"title":{},"body":{"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["images[0",{"_index":16242,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["images[0].width",{"_index":16243,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["imagesignature",{"_index":10355,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["imageurl",{"_index":3550,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["imageurl(value",{"_index":15609,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["imageurlobject",{"_index":6486,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["imageurlobject.origin",{"_index":6487,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["imateapotexception",{"_index":11357,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["imateapotexception('this",{"_index":11368,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["immediately",{"_index":11234,"title":{},"body":{"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["immutable",{"_index":11062,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["impact",{"_index":24590,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["imperative",{"_index":25840,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["impersonated",{"_index":8026,"title":{},"body":{"classes/CurrentUserMapper.html":{},"interfaces/ICurrentUser.html":{}}}],["impersonates",{"_index":13559,"title":{},"body":{"interfaces/ICurrentUser.html":{}}}],["impl",{"_index":3636,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["impl.ts",{"_index":3489,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:102",{"_index":3507,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:116",{"_index":3508,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:131",{"_index":3509,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:145",{"_index":3505,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:158",{"_index":3510,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:173",{"_index":3511,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:191",{"_index":3506,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:205",{"_index":3500,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:210",{"_index":3518,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:216",{"_index":3516,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:221",{"_index":3514,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:32",{"_index":3496,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:41",{"_index":3504,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:45",{"_index":3502,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:62",{"_index":3501,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:77",{"_index":3498,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["implemenation",{"_index":26072,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["implement",{"_index":15121,"title":{},"body":{"injectables/LegacyLogger.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["implementation",{"_index":2631,"title":{},"body":{"injectables/BaseRepo.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"injectables/NextcloudStrategy.html":{},"classes/Path.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["implementations",{"_index":25419,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["implemented",{"_index":14270,"title":{},"body":{"interfaces/JwtConstants.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"injectables/ShareTokenUC.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["implemented.loggable",{"_index":17710,"title":{},"body":{"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["implementing",{"_index":25451,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["implements",{"_index":1237,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AuthorizableObject.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardUrlHandler.html":{},"entities/ColumnBoardTarget.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRule.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRule.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRule.html":{},"injectables/CourseUrlHandler.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardRepo.html":{},"classes/DomainObject.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingElementResponseMapper.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"interfaces/ExternalToolProps.html":{},"classes/FileDto.html":{},"classes/FileElementResponseMapper.html":{},"classes/FileMetadata.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/ForbiddenLoggableException.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"classes/IdTokenCreationLoggableException.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/InstalledLibrary.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySchoolRule.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUrlHandler.html":{},"classes/LibraryName.html":{},"classes/LinkElementResponseMapper.html":{},"classes/LumiUserWithContentData.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/NewsCrudOperationLoggable.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/Path.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewParams.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/RenameFileParams.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SingleFileParams.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"injectables/SubmissionRule.html":{},"injectables/SymetricKeyEncryptionService.html":{},"injectables/SystemRule.html":{},"entities/Task.html":{},"classes/TaskCreateParams.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRule.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TeamRule.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TldrawWs.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"entities/User.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"interfaces/UserProperties.html":{},"injectables/UserRule.html":{},"classes/UsersList.html":{},"classes/ValidationErrorLoggableException.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["implications",{"_index":25585,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["implicit",{"_index":25968,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["implicitly",{"_index":25988,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["implied",{"_index":25109,"title":{},"body":{"license.html":{}}}],["implies",{"_index":6310,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{}}}],["import",{"_index":95,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"modules/AccountApiModule.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"modules/AuthenticationApiModule.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"modules/AuthorizationModule.html":{},"classes/AuthorizationParams.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"modules/BoardApiModule.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"modules/ClassModule.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"modules/CoreModule.html":{},"interfaces/CoreModuleConfig.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"modules/ErrorModule.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{},"classes/FileUrlParams.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"modules/GroupModule.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtAuthGuard.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Learnroom.html":{},"modules/LearnroomApiModule.html":{},"interfaces/LearnroomElement.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/LessonApiModule.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"modules/LessonModule.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"modules/NewsModule.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthApiModule.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/ObjectKeysRecursive.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileParams.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"modules/PseudonymModule.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"modules/RocketChatUserModule.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"modules/RoleModule.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"classes/SuccessfulResponse.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"modules/TaskApiModule.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"modules/TaskModule.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawClientModule.html":{},"interfaces/TldrawConfig.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"modules/UserApiModule.html":{},"interfaces/UserBoardRoles.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorLoggableException.html":{},"modules/ValidationModule.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["import.body.params.ts",{"_index":20344,"title":{},"body":{"classes/ShareTokenImportBodyParams.html":{}}}],["import.body.params.ts:13",{"_index":20348,"title":{},"body":{"classes/ShareTokenImportBodyParams.html":{}}}],["import.body.params.ts:22",{"_index":20347,"title":{},"body":{"classes/ShareTokenImportBodyParams.html":{}}}],["import.module.ts",{"_index":14012,"title":{},"body":{"modules/ImportUserModule.html":{}}}],["import.uc",{"_index":13870,"title":{},"body":{"controllers/ImportUserController.html":{},"modules/ImportUserModule.html":{}}}],["import/controller/dto/filter",{"_index":12329,"title":{},"body":{"classes/FilterImportUserParams.html":{},"classes/FilterUserParams.html":{}}}],["import/controller/dto/import",{"_index":13919,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{}}}],["import/controller/dto/sort",{"_index":20547,"title":{},"body":{"classes/SortImportUserParams.html":{}}}],["import/controller/dto/update",{"_index":23097,"title":{},"body":{"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{}}}],["import/controller/dto/user",{"_index":23711,"title":{},"body":{"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["import/controller/import",{"_index":13823,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["import/export",{"_index":25899,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["import/loggable/migration",{"_index":16320,"title":{},"body":{"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{}}}],["import/loggable/school",{"_index":19886,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{}}}],["import/loggable/user",{"_index":23744,"title":{},"body":{"classes/UserMigrationIsNotEnabled.html":{}}}],["import/mapper/import",{"_index":13940,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["import/mapper/match.mapper.ts",{"_index":13987,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["import/mapper/match.mapper.ts:13",{"_index":13993,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["import/mapper/match.mapper.ts:6",{"_index":13991,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["import/mapper/role",{"_index":18994,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["import/mapper/user",{"_index":23716,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["import/uc/ldap",{"_index":14849,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["import/user",{"_index":14011,"title":{},"body":{"modules/ImportUserModule.html":{}}}],["important",{"_index":407,"title":{},"body":{"controllers/AccountController.html":{},"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/PermissionService.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["importcollection",{"_index":8745,"title":{},"body":{"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{}}}],["importcollection(@param('collectionname",{"_index":8764,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["importcollection(collectionname",{"_index":8752,"title":{},"body":{"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{}}}],["importcollections",{"_index":8746,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["importcollections(@query('with",{"_index":8762,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["importcollections(withindexes",{"_index":8755,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["imported",{"_index":5293,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/ShareTokenImportBodyParams.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["importeddocumentsamount",{"_index":5290,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["importhash",{"_index":18657,"title":{},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserProperties.html":{}}}],["importing",{"_index":25055,"title":{},"body":{"license.html":{}}}],["imports",{"_index":276,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"interfaces/CollectionFilePath.html":{},"modules/CommonToolModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CoreModule.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolModule.html":{},"modules/LessonApiModule.html":{},"modules/LessonModule.html":{},"modules/LoggerModule.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/NewsModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/OauthProviderServiceModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"modules/PseudonymModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/RedisModule.html":{},"modules/RegistrationPinModule.html":{},"modules/RocketChatModule.html":{},"modules/S3ClientModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"classes/TestBootstrapConsole.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["importseeddata",{"_index":14759,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["importsharetoken",{"_index":20279,"title":{},"body":{"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{}}}],["importsharetoken(currentuser",{"_index":20286,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["importsharetoken(userid",{"_index":20462,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["importuser",{"_index":13766,"title":{"entities/ImportUser.html":{}},"body":{"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"injectables/UserRepo.html":{}}}],["importuser.classnames",{"_index":13961,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.firstname",{"_index":13957,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.flagged",{"_index":13962,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.id",{"_index":13955,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.lastname",{"_index":13958,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.loginname",{"_index":13956,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.matchedby",{"_index":13964,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.rolenames.map((role",{"_index":13959,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.scope",{"_index":14032,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["importuser.user",{"_index":13963,"title":{},"body":{"classes/ImportUserMapper.html":{},"injectables/ImportUserRepo.html":{}}}],["importuser.user).filter((user",{"_index":14058,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["importusercontroller",{"_index":13822,"title":{"controllers/ImportUserController.html":{}},"body":{"controllers/ImportUserController.html":{},"modules/ImportUserModule.html":{}}}],["importuserentities",{"_index":14054,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["importuserentities.map((importuser",{"_index":14057,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["importuserfactory",{"_index":13905,"title":{"classes/ImportUserFactory.html":{}},"body":{"classes/ImportUserFactory.html":{}}}],["importuserfactory.define(importuser",{"_index":13912,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["importuserid",{"_index":13935,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["importuserlist",{"_index":13880,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["importuserlist.map((importuser",{"_index":13883,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["importuserlistresponse",{"_index":13871,"title":{"classes/ImportUserListResponse.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["importuserlistresponse(dtolist",{"_index":13885,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["importusermapper",{"_index":13862,"title":{"classes/ImportUserMapper.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{}}}],["importusermapper.mapimportuserfilterquerytodomain(scope",{"_index":13879,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["importusermapper.mapsortingquerytodomain(sortingquery",{"_index":13878,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["importusermapper.maptoresponse(importuser",{"_index":13884,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["importusermapper.maptoresponse(result",{"_index":13889,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["importusermatchmapper",{"_index":13949,"title":{"classes/ImportUserMatchMapper.html":{}},"body":{"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"classes/UserMatchMapper.html":{}}}],["importusermatchmapper.mapimportusermatchscopetodomain(match",{"_index":13984,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importusermatchmapper.mapmatchcreatortoresponse(matchcreator",{"_index":23732,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["importusermodule",{"_index":14006,"title":{"modules/ImportUserModule.html":{}},"body":{"modules/ImportUserModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["importuserproperties",{"_index":13791,"title":{"interfaces/ImportUserProperties.html":{}},"body":{"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"interfaces/ImportUserProperties.html":{}}}],["importuserrepo",{"_index":14010,"title":{"injectables/ImportUserRepo.html":{}},"body":{"modules/ImportUserModule.html":{},"injectables/ImportUserRepo.html":{}}}],["importuserresponse",{"_index":13872,"title":{"classes/ImportUserResponse.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserResponse.html":{}}}],["importusers",{"_index":13795,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"injectables/UserRepo.html":{}}}],["importuserschoolid",{"_index":19889,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["importuserscope",{"_index":14031,"title":{"classes/ImportUserScope.html":{}},"body":{"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{}}}],["importusersortorder",{"_index":13948,"title":{},"body":{"classes/ImportUserMapper.html":{},"classes/SortImportUserParams.html":{}}}],["importusersortorder.firstname",{"_index":13952,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importusersortorder.lastname",{"_index":13953,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuserurlparams",{"_index":13844,"title":{"classes/ImportUserUrlParams.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserUrlParams.html":{}}}],["impose",{"_index":24989,"title":{},"body":{"license.html":{}}}],["imposed",{"_index":25112,"title":{},"body":{"license.html":{}}}],["impossile",{"_index":16598,"title":{},"body":{"classes/NewsScope.html":{}}}],["improvements",{"_index":24682,"title":{},"body":{"license.html":{}}}],["improves",{"_index":25637,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["ims",{"_index":5955,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["imsbasiclti_v1p0p1.xsd",{"_index":5908,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["imslticm_v1p0.xsd",{"_index":5907,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["imslticp_v1p0.xsd",{"_index":5906,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["in.'})@apioperation({summary",{"_index":22737,"title":{},"body":{"controllers/ToolController.html":{}}}],["in/out",{"_index":25511,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["inability",{"_index":25164,"title":{},"body":{"license.html":{}}}],["inaccurate",{"_index":25167,"title":{},"body":{"license.html":{}}}],["inc",{"_index":24640,"title":{},"body":{"license.html":{}}}],["incidental",{"_index":25161,"title":{},"body":{"license.html":{}}}],["include",{"_index":2557,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/OauthClientBody.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["included",{"_index":7071,"title":{},"body":{"classes/CopyApiResponse.html":{},"license.html":{}}}],["includes",{"_index":16695,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["including",{"_index":12025,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{},"classes/UserLoginMigrationResponse.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["inclusion",{"_index":24870,"title":{},"body":{"license.html":{}}}],["incoming",{"_index":1214,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/GlobalValidationPipe.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["incoming_request_timeout",{"_index":11973,"title":{},"body":{"interfaces/FileStorageConfig.html":{},"interfaces/InterceptorConfig.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/ServerConfig.html":{},"interfaces/TldrawConfig.html":{}}}],["incoming_request_timeout_copy_api",{"_index":11975,"title":{},"body":{"interfaces/FileStorageConfig.html":{},"interfaces/FilesStorageClientConfig.html":{},"interfaces/InterceptorConfig.html":{},"interfaces/ServerConfig.html":{}}}],["incomplete",{"_index":13143,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["incorporate",{"_index":24685,"title":{},"body":{"license.html":{}}}],["incorporated",{"_index":25130,"title":{},"body":{"license.html":{}}}],["incorporation",{"_index":24921,"title":{},"body":{"license.html":{}}}],["increase",{"_index":2919,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["increaseversionofnewtoolifnecessary",{"_index":11080,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["increaseversionofnewtoolifnecessary(oldtool",{"_index":11098,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["increment.service",{"_index":10918,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["increment.service.ts",{"_index":11072,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["increment.service.ts:16",{"_index":11083,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["increment.service.ts:32",{"_index":11097,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["increment.service.ts:39",{"_index":11086,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["increment.service.ts:52",{"_index":11095,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["increment.service.ts:60",{"_index":11089,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["increment.service.ts:68",{"_index":11093,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["increment.service.ts:7",{"_index":11100,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["increment.service.ts:76",{"_index":11091,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["indefinitely",{"_index":6250,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["indemnification",{"_index":24985,"title":{},"body":{"license.html":{}}}],["independent",{"_index":24860,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["index",{"_index":7,"title":{"index.html":{}},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"interfaces/AccountConfig.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"classes/AuthorizationParams.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FeathersError.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"classes/FileUrlParams.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"injectables/FilesStorageProducer.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"interfaces/IdentityManagementConfig.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/InterceptorConfig.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"classes/ProvisioningDto.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"controllers/ServerController.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"interfaces/TldrawConfig.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"interfaces/ToolVersion.html":{},"injectables/ToolVersionService.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorLoggableException.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["index()@enum",{"_index":11722,"title":{},"body":{"entities/FileRecord.html":{},"entities/H5PContent.html":{}}}],["index()@enum(undefined",{"_index":3885,"title":{},"body":{"entities/BoardNode.html":{}}}],["index()@manytomany('course",{"_index":8479,"title":{},"body":{"entities/DashboardGridElementModel.html":{}}}],["index()@manytomany('user",{"_index":7425,"title":{},"body":{"entities/Course.html":{},"entities/Task.html":{}}}],["index()@manytomany({fieldname",{"_index":23140,"title":{},"body":{"entities/User.html":{}}}],["index()@manytoone('course",{"_index":7662,"title":{},"body":{"entities/CourseGroup.html":{},"entities/LessonEntity.html":{},"entities/Task.html":{}}}],["index()@manytoone('dashboardmodelentity",{"_index":8477,"title":{},"body":{"entities/DashboardGridElementModel.html":{}}}],["index()@manytoone('lessonentity",{"_index":21246,"title":{},"body":{"entities/Task.html":{}}}],["index()@manytoone('user",{"_index":8563,"title":{},"body":{"entities/DashboardModelEntity.html":{},"entities/Task.html":{}}}],["index()@manytoone(undefined",{"_index":7420,"title":{},"body":{"entities/Course.html":{},"entities/Task.html":{},"entities/User.html":{}}}],["index()@property",{"_index":15417,"title":{},"body":{"entities/LessonEntity.html":{}}}],["index()@property({fieldname",{"_index":11714,"title":{},"body":{"entities/FileRecord.html":{},"entities/H5PContent.html":{}}}],["index()@property({nullable",{"_index":3881,"title":{},"body":{"entities/BoardNode.html":{},"entities/Course.html":{}}}],["index({options",{"_index":11717,"title":{},"body":{"entities/FileRecord.html":{},"entities/ShareToken.html":{}}}],["index.ts",{"_index":25216,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["indexes",{"_index":5315,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"interfaces/Options.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"injectables/TaskRepo.html":{},"todo.html":{}}}],["indexes.filter((i",{"_index":5327,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["indicate",{"_index":25026,"title":{},"body":{"license.html":{}}}],["indicating",{"_index":7987,"title":{},"body":{"classes/CreateSubmissionItemBodyParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"license.html":{}}}],["individual",{"_index":24868,"title":{},"body":{"license.html":{}}}],["individuals",{"_index":24716,"title":{},"body":{"license.html":{}}}],["industrial",{"_index":24930,"title":{},"body":{"license.html":{}}}],["inestapplication",{"_index":1606,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["inewsscope",{"_index":7959,"title":{"interfaces/INewsScope.html":{}},"body":{"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{},"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["inferrable",{"_index":13939,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["info",{"_index":3,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"modules/AccountApiModule.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"interfaces/AccountConfig.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthCodeFailureLoggableException.html":{},"modules/AuthenticationApiModule.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"modules/AuthorizationModule.html":{},"classes/AuthorizationParams.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"modules/BoardApiModule.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"modules/ClassModule.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"modules/CoreModule.html":{},"interfaces/CoreModuleConfig.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"modules/ErrorModule.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FeathersError.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{},"classes/FileUrlParams.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"modules/GroupModule.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"interfaces/IdentityManagementConfig.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/InterceptorConfig.html":{},"modules/InterceptorModule.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"injectables/JwtAuthGuard.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Learnroom.html":{},"modules/LearnroomApiModule.html":{},"interfaces/LearnroomElement.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/LessonApiModule.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"modules/LessonModule.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"modules/NewsModule.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthApiModule.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"classes/ProvisioningDto.html":{},"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"modules/PseudonymModule.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"modules/RocketChatUserModule.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"modules/RoleModule.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"modules/TaskApiModule.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"modules/TaskModule.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawClientModule.html":{},"interfaces/TldrawConfig.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"interfaces/ToolVersion.html":{},"injectables/ToolVersionService.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"modules/UserApiModule.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"modules/ValidationModule.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["info(currentuser",{"_index":24026,"title":{},"body":{"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["info(loggable",{"_index":15689,"title":{},"body":{"injectables/Logger.html":{}}}],["info(text",{"_index":6340,"title":{},"body":{"injectables/ConsoleWriterService.html":{}}}],["info.dto.ts",{"_index":4680,"title":{},"body":{"classes/ClassInfoDto.html":{},"interfaces/ShareTokenInfoDto.html":{}}}],["info.dto.ts:10",{"_index":4687,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.dto.ts:12",{"_index":4692,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.dto.ts:14",{"_index":4691,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.dto.ts:16",{"_index":4689,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.dto.ts:18",{"_index":4686,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.dto.ts:4",{"_index":4688,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.dto.ts:6",{"_index":4694,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.dto.ts:8",{"_index":4690,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.interface.ts",{"_index":20101,"title":{},"body":{"interfaces/ScopeInfo.html":{}}}],["info.mapper",{"_index":16490,"title":{},"body":{"classes/NewsMapper.html":{}}}],["info.mapper.ts",{"_index":19912,"title":{},"body":{"classes/SchoolInfoMapper.html":{},"classes/TargetInfoMapper.html":{},"classes/UserInfoMapper.html":{}}}],["info.mapper.ts:5",{"_index":19914,"title":{},"body":{"classes/SchoolInfoMapper.html":{},"classes/TargetInfoMapper.html":{},"classes/UserInfoMapper.html":{}}}],["info.reponse.ts",{"_index":20352,"title":{},"body":{"classes/ShareTokenInfoResponse.html":{}}}],["info.reponse.ts:13",{"_index":20356,"title":{},"body":{"classes/ShareTokenInfoResponse.html":{}}}],["info.reponse.ts:16",{"_index":20355,"title":{},"body":{"classes/ShareTokenInfoResponse.html":{}}}],["info.reponse.ts:20",{"_index":20354,"title":{},"body":{"classes/ShareTokenInfoResponse.html":{}}}],["info.reponse.ts:5",{"_index":20353,"title":{},"body":{"classes/ShareTokenInfoResponse.html":{}}}],["info.response",{"_index":4721,"title":{},"body":{"classes/ClassInfoSearchListResponse.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/TargetInfoMapper.html":{}}}],["info.response.ts",{"_index":2300,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{},"classes/ClassInfoResponse.html":{},"classes/SchoolInfoResponse.html":{},"classes/TargetInfoResponse.html":{},"classes/UserInfoResponse.html":{},"classes/VideoConferenceInfoResponse.html":{}}}],["info.response.ts:11",{"_index":24198,"title":{},"body":{"classes/VideoConferenceInfoResponse.html":{}}}],["info.response.ts:12",{"_index":4713,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["info.response.ts:13",{"_index":19920,"title":{},"body":{"classes/SchoolInfoResponse.html":{},"classes/TargetInfoResponse.html":{}}}],["info.response.ts:14",{"_index":23380,"title":{},"body":{"classes/UserInfoResponse.html":{},"classes/VideoConferenceInfoResponse.html":{}}}],["info.response.ts:15",{"_index":4710,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["info.response.ts:18",{"_index":4715,"title":{},"body":{"classes/ClassInfoResponse.html":{},"classes/SchoolInfoResponse.html":{},"classes/TargetInfoResponse.html":{}}}],["info.response.ts:19",{"_index":23379,"title":{},"body":{"classes/UserInfoResponse.html":{}}}],["info.response.ts:21",{"_index":4714,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["info.response.ts:24",{"_index":4712,"title":{},"body":{"classes/ClassInfoResponse.html":{},"classes/UserInfoResponse.html":{}}}],["info.response.ts:27",{"_index":4709,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["info.response.ts:3",{"_index":19919,"title":{},"body":{"classes/SchoolInfoResponse.html":{},"classes/TargetInfoResponse.html":{},"classes/UserInfoResponse.html":{}}}],["info.response.ts:6",{"_index":4711,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["info.response.ts:9",{"_index":4716,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["info.ts",{"_index":7216,"title":{},"body":{"interfaces/CopyFilesRequestInfo.html":{},"interfaces/FileRequestInfo.html":{},"classes/VideoConferenceInfo.html":{}}}],["info.ts:6",{"_index":24191,"title":{},"body":{"classes/VideoConferenceInfo.html":{}}}],["info.uc.ts",{"_index":24200,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["info.uc.ts:13",{"_index":24202,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["info.uc.ts:20",{"_index":24204,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["info.uc.ts:75",{"_index":24206,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["infodto",{"_index":24164,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["infodto.state",{"_index":24166,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["inform",{"_index":24907,"title":{},"body":{"license.html":{}}}],["information",{"_index":1390,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"injectables/BBBService.html":{},"classes/ConsentRequestBody.html":{},"classes/ErrorResponse.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"controllers/PseudonymController.html":{},"controllers/SystemController.html":{},"injectables/TaskCopyUC.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["informationen",{"_index":5524,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["infra",{"_index":16084,"title":{},"body":{"modules/ManagementModule.html":{}}}],["infra/antivirus",{"_index":7153,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"modules/FilesStorageModule.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["infra/cache",{"_index":1536,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/JwtValidationAdapter.html":{},"modules/OauthModule.html":{}}}],["infra/cache/interface/cache",{"_index":14327,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["infra/calendar",{"_index":24273,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["infra/calendar/interface/calendar",{"_index":4275,"title":{},"body":{"injectables/CalendarMapper.html":{}}}],["infra/collaborative",{"_index":5092,"title":{},"body":{"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{}}}],["infra/console",{"_index":3779,"title":{},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"interfaces/CleanOptions.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakConsole.html":{},"modules/ManagementModule.html":{},"modules/MetaTagExtractorModule.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"classes/ServerConsole.html":{},"classes/TestBootstrapConsole.html":{}}}],["infra/console/console",{"_index":8724,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{},"modules/ServerConsoleModule.html":{}}}],["infra/database",{"_index":5170,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["infra/database/mongo",{"_index":12432,"title":{},"body":{"modules/FwuLearningContentsTestModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{}}}],["infra/encryption",{"_index":5174,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolService.html":{},"injectables/HydraSsoService.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"modules/KeycloakModule.html":{},"modules/ManagementModule.html":{},"injectables/OAuthService.html":{},"modules/OauthModule.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["infra/feathers",{"_index":1881,"title":{},"body":{"modules/AuthorizationModule.html":{},"injectables/EtherpadService.html":{},"injectables/FeathersAuthProvider.html":{},"modules/LessonModule.html":{}}}],["infra/feathers/feathers",{"_index":16681,"title":{},"body":{"injectables/NexboardService.html":{}}}],["infra/file",{"_index":5176,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"modules/ManagementModule.html":{}}}],["infra/identity",{"_index":647,"title":{},"body":{"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"modules/AuthenticationModule.html":{},"injectables/LegacySystemService.html":{},"injectables/LocalStrategy.html":{},"modules/ManagementModule.html":{},"interfaces/ServerConfig.html":{},"modules/ServerConsoleModule.html":{},"modules/SystemModule.html":{}}}],["infra/mail",{"_index":20162,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["infra/metrics",{"_index":18006,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["infra/oauth",{"_index":10424,"title":{},"body":{"modules/ExternalToolModule.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"injectables/OauthProviderUc.html":{}}}],["infra/preview",{"_index":11728,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"modules/FilesStorageModule.html":{},"interfaces/ParentInfo.html":{},"classes/PreviewBuilder.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"injectables/PreviewService.html":{}}}],["infra/rabbitmq",{"_index":9890,"title":{},"body":{"classes/ErrorMapper.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto-1.html":{},"classes/FileRecordFactory.html":{},"interfaces/FileRequestInfo.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewProducer.html":{},"classes/RecursiveCopyVisitor.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["infra/rabbitmq/rpc",{"_index":12217,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"classes/GlobalErrorFilter.html":{}}}],["infra/redis",{"_index":20163,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["infra/s3",{"_index":11407,"title":{},"body":{"classes/FileDto.html":{},"classes/FileResponseBuilder.html":{},"interfaces/FileStorageConfig.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"classes/H5pFileDto.html":{},"interfaces/PreviewConfig.html":{},"classes/PreviewGeneratorBuilder.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"injectables/PreviewService.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestHelper.html":{}}}],["infrastructure",{"_index":25521,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["infrastucture",{"_index":20228,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["infringe",{"_index":25024,"title":{},"body":{"license.html":{}}}],["infringed",{"_index":25052,"title":{},"body":{"license.html":{}}}],["infringement",{"_index":24727,"title":{},"body":{"license.html":{}}}],["inherit",{"_index":2559,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["inheritance",{"_index":25972,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["inheritances",{"_index":16561,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["inherited",{"_index":436,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountFactory.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthorizationError.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"classes/BoardComposite.html":{},"classes/BoardDoAuthorizable.html":{},"injectables/BoardRepo.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BruteForceError.html":{},"classes/Card.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassSortParams.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnUc.html":{},"classes/ConsentRequestBody.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolScope.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"classes/CourseMetadataListResponse.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseUrlHandler.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestScope.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"classes/DrawingElementContentBody.html":{},"injectables/ElementUc.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"injectables/FederalStateRepo.html":{},"classes/FileElement.html":{},"classes/FileElementContentBody.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"injectables/FilesRepo.html":{},"injectables/FilesStorageProducer.html":{},"classes/ForbiddenOperationError.html":{},"classes/Group.html":{},"classes/H5PContentFactory.html":{},"injectables/H5PContentRepo.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/LdapConnectionError.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"classes/LessonScope.html":{},"injectables/LessonUrlHandler.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElement.html":{},"classes/LinkElementContentBody.html":{},"classes/LoginRequestBody.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NewsListResponse.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthLoginResponse.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PreviewProducer.html":{},"classes/Pseudonym.html":{},"classes/PseudonymScope.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContentBody.html":{},"classes/RocketChatUser.html":{},"classes/RocketChatUserFactory.html":{},"injectables/RoleRepo.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"injectables/SchoolYearRepo.html":{},"classes/ShareTokenDO.html":{},"injectables/ShareTokenRepo.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"injectables/StorageProviderRepo.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRepo.html":{},"classes/System.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemScope.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskUrlHandler.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserLoginMigrationDO.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"classes/ValidationError.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceInfo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["init",{"_index":4198,"title":{},"body":{"classes/Builder.html":{}}}],["initauth",{"_index":13459,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["initauth(oauthconfig",{"_index":13470,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["initialdelay",{"_index":15012,"title":{},"body":{"injectables/LdapService.html":{}}}],["initialize",{"_index":22511,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["initialized",{"_index":18323,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["initializes3clientmap",{"_index":8851,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["initiate",{"_index":25047,"title":{},"body":{"license.html":{}}}],["initiated",{"_index":17092,"title":{},"body":{"interfaces/OauthCurrentUser.html":{}}}],["initresponse",{"_index":13404,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["initresponse.config",{"_index":13433,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["inject",{"_index":688,"title":{},"body":{"modules/AccountModule.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AntivirusService.html":{},"injectables/BBBService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardUc.html":{},"modules/CacheWrapperModule.html":{},"injectables/CardUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnUc.html":{},"injectables/DashboardUc.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"injectables/ErrorLogger.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FwuLearningContentsUc.html":{},"injectables/HydraSsoService.html":{},"modules/InterceptorModule.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LegacyLogger.html":{},"injectables/Logger.html":{},"modules/LoggerModule.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/MongoMemoryDatabaseModule.html":{},"injectables/OAuthService.html":{},"injectables/OauthProviderLoginFlowService.html":{},"classes/OidcIdentityProviderMapper.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewService.html":{},"modules/RedisModule.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/SubmissionItemUc.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolVersionService.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["inject('antivirus_service_options",{"_index":1320,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["inject('collaborativestoragestrategy",{"_index":5005,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["inject('dashboard_repo",{"_index":8699,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["inject('mail_service_options",{"_index":16053,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["inject('rocket_chat_options",{"_index":1109,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["inject(bbbsettings",{"_index":2384,"title":{},"body":{"injectables/BBBService.html":{}}}],["inject(cache_manager",{"_index":14332,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["inject(defaultencryptionservice",{"_index":5193,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/ExternalToolService.html":{},"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OAuthService.html":{}}}],["inject(files_storage_s3_connection",{"_index":17936,"title":{},"body":{"injectables/PreviewService.html":{}}}],["inject(forwardref",{"_index":3417,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/SubmissionItemUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["inject(fwu_content_s3_connection",{"_index":12442,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["inject(h5p_content_s3_connection",{"_index":22078,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["inject(keycloakconfigurationinputfiles",{"_index":14828,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["inject(keycloaksettings",{"_index":14390,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["inject(ldapencryptionservice",{"_index":5194,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["inject(redis_client",{"_index":20223,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["inject(s3_client",{"_index":19328,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["inject(s3_config",{"_index":19329,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["inject(toolfeatures",{"_index":10083,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolLogoService.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/ToolVersionService.html":{}}}],["inject(your_s3_uniq_connection_token",{"_index":26094,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["injectable",{"_index":589,"title":{"injectables/AccountIdmToDtoMapper.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/AntivirusService.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"injectables/BsonConverter.html":{},"injectables/CacheService.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ConsoleWriterService.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ConverterUtil.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"injectables/DeletionExecutionUc.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"injectables/DrawingElementAdapterService.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/ElementUc.html":{},"injectables/ErrorLogger.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"injectables/FileRecordRepo.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"injectables/FwuLearningContentsUc.html":{},"injectables/GroupRepo.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"injectables/H5PContentRepo.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"injectables/IdTokenService.html":{},"injectables/ImportUserRepo.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtAuthGuard.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"injectables/LibraryRepo.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"injectables/MailService.html":{},"injectables/MaterialsRepo.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/MigrationCheckService.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderResponseMapper.html":{},"injectables/OauthProviderUc.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PermissionService.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"injectables/ProvisioningService.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"injectables/ReferenceLoader.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionItemFactory.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"injectables/SymetricKeyEncryptionService.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemRule.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"injectables/TeamMapper.html":{},"injectables/TeamPermissionsMapper.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"injectables/ToolVersionService.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"injectables/VideoConferenceRepo.html":{},"injectables/XApiKeyStrategy.html":{}},"body":{"injectables/AccountIdmToDtoMapper.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/AntivirusService.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"injectables/BsonConverter.html":{},"injectables/CacheService.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ConsoleWriterService.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ConverterUtil.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"injectables/DeletionExecutionUc.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/ElementUc.html":{},"injectables/ErrorLogger.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"injectables/FileRecordRepo.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"injectables/FwuLearningContentsUc.html":{},"injectables/GroupRepo.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"injectables/H5PContentRepo.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IDashboardRepo.html":{},"injectables/IdTokenService.html":{},"injectables/ImportUserRepo.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtAuthGuard.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LibraryRepo.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/MaterialsRepo.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/MigrationCheckService.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderResponseMapper.html":{},"injectables/OauthProviderUc.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PermissionService.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"injectables/ProvisioningService.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"injectables/ReferenceLoader.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RepoLoader.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionItemFactory.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"injectables/SymetricKeyEncryptionService.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemRule.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"injectables/TeamMapper.html":{},"injectables/TeamPermissionsMapper.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"injectables/ToolVersionService.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"injectables/VideoConferenceRepo.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["injectables",{"_index":591,"title":{},"body":{"injectables/AccountIdmToDtoMapper.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/AntivirusService.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"injectables/BsonConverter.html":{},"injectables/CacheService.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ConsoleWriterService.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ConverterUtil.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"injectables/DeletionExecutionUc.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"injectables/DrawingElementAdapterService.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/ElementUc.html":{},"injectables/ErrorLogger.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"injectables/FileRecordRepo.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"injectables/FwuLearningContentsUc.html":{},"injectables/GroupRepo.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"injectables/H5PContentRepo.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"injectables/IdTokenService.html":{},"injectables/ImportUserRepo.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtAuthGuard.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"injectables/LibraryRepo.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"injectables/MailService.html":{},"injectables/MaterialsRepo.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/MigrationCheckService.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderResponseMapper.html":{},"injectables/OauthProviderUc.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PermissionService.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"injectables/ProvisioningService.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"injectables/ReferenceLoader.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionItemFactory.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"injectables/SymetricKeyEncryptionService.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemRule.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"injectables/TeamMapper.html":{},"injectables/TeamPermissionsMapper.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"injectables/ToolVersionService.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"injectables/VideoConferenceRepo.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["injected",{"_index":11230,"title":{},"body":{"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/LegacyLogger.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["injectenvvars(json",{"_index":5345,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["injecting",{"_index":26087,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["injection",{"_index":15123,"title":{},"body":{"injectables/LegacyLogger.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["injections",{"_index":26044,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["inline",{"_index":1446,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"classes/FilesStorageMapper.html":{},"controllers/FwuLearningContentsController.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["inlineattachment",{"_index":1445,"title":{"interfaces/InlineAttachment.html":{}},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["inmaintenancesince",{"_index":15137,"title":{},"body":{"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["inner",{"_index":5989,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{},"index.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["innerpermissions",{"_index":18968,"title":{},"body":{"entities/Role.html":{},"interfaces/RoleProperties.html":{}}}],["innerrole.resolvepermissions",{"_index":18969,"title":{},"body":{"entities/Role.html":{},"interfaces/RoleProperties.html":{}}}],["innerroles",{"_index":18965,"title":{},"body":{"entities/Role.html":{},"interfaces/RoleProperties.html":{}}}],["innerroles.foreach((innerrole",{"_index":18967,"title":{},"body":{"entities/Role.html":{},"interfaces/RoleProperties.html":{}}}],["input",{"_index":2357,"title":{},"body":{"injectables/BBBService.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"classes/CreateNewsParams.html":{},"injectables/DeletionClient.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"modules/InterceptorModule.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakSeedService.html":{},"interfaces/LibrariesContentType.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/RichText.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/ServerConsole.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["input.accesstoken",{"_index":19507,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["input.builder",{"_index":9321,"title":{},"body":{"classes/DeletionRequestInputBuilder.html":{}}}],["input.builder.ts",{"_index":9317,"title":{},"body":{"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{}}}],["input.builder.ts:4",{"_index":9436,"title":{},"body":{"classes/DeletionRequestTargetRefInputBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{}}}],["input.builder.ts:5",{"_index":9319,"title":{},"body":{"classes/DeletionRequestInputBuilder.html":{}}}],["input.deleteinminutes",{"_index":2832,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["input.dto.ts",{"_index":17110,"title":{},"body":{"classes/OauthDataStrategyInputDto.html":{}}}],["input.dto.ts:4",{"_index":17112,"title":{},"body":{"classes/OauthDataStrategyInputDto.html":{}}}],["input.dto.ts:6",{"_index":17113,"title":{},"body":{"classes/OauthDataStrategyInputDto.html":{}}}],["input.dto.ts:8",{"_index":17111,"title":{},"body":{"classes/OauthDataStrategyInputDto.html":{}}}],["input.interface",{"_index":9315,"title":{},"body":{"interfaces/DeletionRequestInput.html":{}}}],["input.interface.ts",{"_index":9313,"title":{},"body":{"interfaces/DeletionRequestInput.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"interfaces/QueueDeletionRequestInput.html":{}}}],["input.mapper",{"_index":18095,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["input.mapper.ts",{"_index":18119,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["input.mapper.ts:6",{"_index":18122,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["input.system",{"_index":14244,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["input.system.provisioningurl",{"_index":19506,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["input.system.systemid",{"_index":14232,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["input.targetrefdomain",{"_index":2830,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["input.targetrefid",{"_index":2831,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["inputdto",{"_index":18103,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["inputfiles",{"_index":14817,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["inputformat",{"_index":3553,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/BoardManagementUc.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/CreateNewsParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"interfaces/ITask.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{}}}],["inputformat(value",{"_index":18843,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["inputformat.plain_text",{"_index":6471,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["inputformat.rich_text_ck4",{"_index":21267,"title":{},"body":{"entities/Task.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["inputformat.rich_text_ck5",{"_index":3845,"title":{},"body":{"injectables/BoardManagementUc.html":{},"injectables/ContentElementFactory.html":{},"classes/TaskMapper.html":{}}}],["inputpath",{"_index":1665,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["inputpath.charat(pos",{"_index":1662,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["inputroles",{"_index":17760,"title":{},"body":{"injectables/PermissionService.html":{}}}],["inputs",{"_index":2812,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{}}}],["inputs.length",{"_index":2911,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["inputs.push(queuedeletionrequestinputbuilder.build(targetrefdomain",{"_index":2899,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["insensitive",{"_index":14088,"title":{},"body":{"classes/ImportUserScope.html":{},"injectables/UserRepo.html":{}}}],["insertedcount",{"_index":8805,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["inside",{"_index":4205,"title":{},"body":{"classes/BusinessError.html":{},"index.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["inspect",{"_index":25923,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["inspired",{"_index":25811,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["install",{"_index":13342,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{}}}],["installation",{"_index":24934,"title":{},"body":{"license.html":{}}}],["installed",{"_index":24951,"title":{},"body":{"license.html":{}}}],["installedlibraries",{"_index":13348,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["installedlibrary",{"_index":11592,"title":{"entities/InstalledLibrary.html":{}},"body":{"classes/FileMetadata.html":{},"modules/H5PEditorModule.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/Path.html":{}}}],["installedlibrary.simple_compare(this.majorversion",{"_index":11630,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["installedlibrary.simple_compare(this.minorversion",{"_index":11632,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["installedlibrary.simple_compare(this.patchversion",{"_index":11634,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["installlibraries",{"_index":13270,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["installlibraries(librariestoinstall",{"_index":13278,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["instance",{"_index":5883,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileElementResponseMapper.html":{},"classes/GlobalValidationPipe.html":{},"injectables/LegacyLogger.html":{},"classes/LinkElementResponseMapper.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{},"index.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["instanceof",{"_index":653,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AuthorizationHelper.html":{},"entities/Board.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponseMapper.html":{},"classes/BusinessError.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/CardService.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponseMapper.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorUtils.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponseMapper.html":{},"classes/FilesStorageClientMapper.html":{},"classes/GlobalErrorFilter.html":{},"injectables/GroupRule.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRule.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRule.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/NewsRepo.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/PreviewService.html":{},"injectables/PseudonymService.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponseMapper.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRule.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TeamRule.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["instances",{"_index":6504,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"index.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["instant",{"_index":7450,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["instead",{"_index":2533,"title":{},"body":{"injectables/BaseDORepo.html":{},"classes/BaseUc.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"modules/BoardModule.html":{},"interfaces/CollectionFilePath.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/DeletionClient.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"injectables/FileSystemAdapter.html":{},"injectables/LegacySystemRepo.html":{},"interfaces/ParentInfo.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/TaskUC.html":{},"modules/ToolModule.html":{},"injectables/UserService.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["instructions",{"_index":25528,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["instructor",{"_index":8034,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["intact",{"_index":24837,"title":{},"body":{"license.html":{}}}],["integration",{"_index":12463,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["intend",{"_index":5378,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["intended",{"_index":4495,"title":{},"body":{"classes/CardSkeletonResponse.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["intendeduse",{"_index":5771,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeWebContentResource.html":{}}}],["intention",{"_index":24830,"title":{},"body":{"license.html":{}}}],["interact",{"_index":25198,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["interacting",{"_index":25125,"title":{},"body":{"license.html":{}}}],["interaction",{"_index":24742,"title":{},"body":{"license.html":{}}}],["interactions",{"_index":25462,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["interactive",{"_index":24744,"title":{},"body":{"license.html":{}}}],["intercept",{"_index":9693,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["intercept(context",{"_index":9695,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["interceptor",{"_index":7364,"title":{},"body":{"modules/CoreModule.html":{},"injectables/DurationLoggingInterceptor.html":{},"modules/InterceptorModule.html":{},"injectables/TimeoutInterceptor.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["interceptorconfig",{"_index":7367,"title":{"interfaces/InterceptorConfig.html":{}},"body":{"interfaces/CoreModuleConfig.html":{},"interfaces/InterceptorConfig.html":{},"modules/InterceptorModule.html":{}}}],["interceptormodule",{"_index":7349,"title":{"modules/InterceptorModule.html":{}},"body":{"modules/CoreModule.html":{},"modules/InterceptorModule.html":{}}}],["interchange",{"_index":24879,"title":{},"body":{"license.html":{}}}],["interest",{"_index":25040,"title":{},"body":{"license.html":{}}}],["interface",{"_index":159,"title":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"interfaces/AccountConfig.html":{},"interfaces/AccountParams.html":{},"interfaces/AdminIdAndToken.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"interfaces/AppStartInfo.html":{},"interfaces/AppendedAttachment.html":{},"interfaces/AuthenticationResponse.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationContext.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"interfaces/AutoParameterStrategy.html":{},"interfaces/BBBBaseResponse.html":{},"interfaces/BBBCreateResponse.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"interfaces/BaseResponseMapper.html":{},"interfaces/BatchDeletionSummary.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/BoardDoBuilder.html":{},"interfaces/BoardExternalReference.html":{},"interfaces/BoardNodeProps.html":{},"interfaces/CalendarEvent.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"interfaces/ClassEntityProps.html":{},"interfaces/ClassProps.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"interfaces/CleanOptions.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"interfaces/CollectionFilePath.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"interfaces/CommonCartridgeFile.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"interfaces/CopyFiles.html":{},"interfaces/CopyFilesRequestInfo.html":{},"interfaces/CoreModuleConfig.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"interfaces/CustomLtiProperty.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"interfaces/DashboardModelProperties.html":{},"interfaces/DeletionClientConfig.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestEntityProps.html":{},"interfaces/DeletionRequestInput.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestOutput.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"interfaces/EncryptionService.html":{},"interfaces/EntityWithSchool.html":{},"interfaces/ErrorType.html":{},"interfaces/ExternalSourceEntityProps.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"interfaces/ExternalToolProps.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"interfaces/ExternalToolSearchQuery.html":{},"interfaces/FeathersError.html":{},"interfaces/FeathersService.html":{},"interfaces/FederalStateProperties.html":{},"interfaces/File.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"interfaces/FileEntityProps.html":{},"interfaces/FilePermissionEntityProps.html":{},"interfaces/FileRecordProperties.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/FileStorageConfig.html":{},"interfaces/FilesStorageClientConfig.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"interfaces/GlobalConstants.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/GroupProps.html":{},"interfaces/GroupUserEntityProps.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"interfaces/IdToken.html":{},"interfaces/IdentityManagementConfig.html":{},"interfaces/ImportUserProperties.html":{},"interfaces/InlineAttachment.html":{},"interfaces/InterceptorConfig.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"interfaces/LibrariesContentType.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"interfaces/ListFiles.html":{},"interfaces/Loggable.html":{},"interfaces/LoggerConfig.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"interfaces/MailModuleOptions.html":{},"interfaces/MailServiceOptions.html":{},"interfaces/MaterialProperties.html":{},"interfaces/Meta.html":{},"interfaces/MigrationOptions.html":{},"interfaces/NameMatch.html":{},"interfaces/NewsProperties.html":{},"interfaces/NewsTargetFilter.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OauthCurrentUser.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"interfaces/Options.html":{},"interfaces/Pagination.html":{},"interfaces/ParentInfo.html":{},"interfaces/PlainTextMailContent.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"interfaces/PreviewResponseMessage.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"interfaces/PseudonymEntityProps.html":{},"interfaces/PseudonymProps.html":{},"interfaces/PseudonymSearchQuery.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"interfaces/RegistrationPinEntityProps.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/RepoLoader.html":{},"interfaces/RetryOptions.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"interfaces/RocketChatUserEntityProps.html":{},"interfaces/RocketChatUserProps.html":{},"interfaces/RoleProperties.html":{},"interfaces/RpcMessage.html":{},"interfaces/Rule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"interfaces/ScanResult.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"interfaces/SchoolProperties.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"interfaces/SchoolYearProperties.html":{},"interfaces/ScopeInfo.html":{},"interfaces/ServerConfig.html":{},"interfaces/ShareTokenInfoDto.html":{},"interfaces/ShareTokenProperties.html":{},"interfaces/StorageProviderProperties.html":{},"interfaces/SubmissionContainerElementProps.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"interfaces/SubmissionProperties.html":{},"interfaces/SuccessfulRes.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/SystemProps.html":{},"interfaces/TargetGroupProperties.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"interfaces/TeamProperties.html":{},"interfaces/TeamUserProperties.html":{},"interfaces/TemporaryFileProperties.html":{},"interfaces/TldrawConfig.html":{},"interfaces/TldrawDrawingProps.html":{},"interfaces/ToolLaunchStrategy.html":{},"interfaces/ToolVersion.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"interfaces/UrlHandler.html":{},"interfaces/UserAndAccountParams.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserLoginMigrationQuery.html":{},"interfaces/UserMetdata.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"interfaces/XApiKeyConfig.html":{}},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"interfaces/AccountConfig.html":{},"interfaces/AccountParams.html":{},"interfaces/AdminIdAndToken.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AppendedAttachment.html":{},"interfaces/AuthenticationResponse.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationContext.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"interfaces/AutoParameterStrategy.html":{},"interfaces/BBBBaseResponse.html":{},"interfaces/BBBCreateResponse.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"interfaces/BaseResponseMapper.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/BoardDoBuilder.html":{},"interfaces/BoardExternalReference.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"modules/CacheWrapperModule.html":{},"interfaces/CalendarEvent.html":{},"classes/Card.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFilterParams.html":{},"interfaces/ClassProps.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"interfaces/CleanOptions.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"injectables/CommonToolService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileParams.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"interfaces/CoreModuleConfig.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"classes/DeletionExecutionConsole.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DomainObject.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingElement.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"interfaces/EncryptionService.html":{},"interfaces/EntityWithSchool.html":{},"interfaces/ErrorType.html":{},"classes/ErrorUtils.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolElement.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/FeathersAuthProvider.html":{},"interfaces/FeathersError.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"interfaces/File.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileElement.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/FileStorageConfig.html":{},"classes/FileUrlParams.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageMapper.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/GroupProps.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"interfaces/GroupUsers.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"injectables/HydraOauthUc.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{},"interfaces/IdentityManagementConfig.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"interfaces/InlineAttachment.html":{},"interfaces/InterceptorConfig.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"classes/KeycloakConsole.html":{},"classes/LdapConfigEntity.html":{},"injectables/LdapStrategy.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"interfaces/LibrariesContentType.html":{},"classes/LinkElement.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"interfaces/ListFiles.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"interfaces/LoggerConfig.html":{},"controllers/LoginController.html":{},"injectables/LoginUc.html":{},"entities/LtiTool.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/Meta.html":{},"interfaces/MigrationOptions.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"interfaces/NewsTargetFilter.html":{},"interfaces/NextcloudGroups.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"classes/OauthConfigEntity.html":{},"interfaces/OauthCurrentUser.html":{},"controllers/OauthSSOController.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigEntity.html":{},"interfaces/Options.html":{},"interfaces/Pagination.html":{},"interfaces/ParentInfo.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"classes/Pseudonym.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"interfaces/PseudonymProps.html":{},"interfaces/PseudonymSearchQuery.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"injectables/ReferenceLoader.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"interfaces/RetryOptions.html":{},"classes/RichTextElement.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"interfaces/RocketChatUserProps.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"interfaces/RpcMessage.html":{},"interfaces/Rule.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"interfaces/ScopeInfo.html":{},"interfaces/ServerConfig.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenInfoDto.html":{},"interfaces/ShareTokenProperties.html":{},"classes/SingleFileParams.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"entities/Submission.html":{},"classes/SubmissionContainerElement.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionItem.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"interfaces/SubmissionProperties.html":{},"interfaces/SuccessfulRes.html":{},"classes/System.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/SystemProps.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"interfaces/TemporaryFileProperties.html":{},"classes/TestApiClient.html":{},"classes/TestHelper.html":{},"interfaces/TldrawConfig.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"classes/TokenRequestMapper.html":{},"classes/ToolConfiguration.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolPermissionHelper.html":{},"interfaces/ToolVersion.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserLoginMigrationQuery.html":{},"interfaces/UserMetdata.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceInfo.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"interfaces/XApiKeyConfig.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["interface/cache",{"_index":4229,"title":{},"body":{"injectables/CacheService.html":{}}}],["interface/calendar",{"_index":4301,"title":{},"body":{"injectables/CalendarService.html":{}}}],["interface/interfaces",{"_index":9470,"title":{},"body":{"classes/DeletionTargetRefBuilder-1.html":{}}}],["interface/json",{"_index":14825,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["interface/jwt",{"_index":1722,"title":{},"body":{"injectables/AuthenticationService.html":{},"classes/CurrentUserMapper.html":{},"injectables/JwtStrategy.html":{},"injectables/LoginUc.html":{}}}],["interface/keycloak",{"_index":14348,"title":{},"body":{"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakSeedService.html":{}}}],["interface/learnroom",{"_index":21256,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["interface/oauth",{"_index":1506,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"classes/TokenRequestMapper.html":{}}}],["interface/oidc",{"_index":18045,"title":{},"body":{"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["interface/preview",{"_index":17851,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewProducer.html":{}}}],["interface/redis.constants",{"_index":18575,"title":{},"body":{"modules/RedisModule.html":{}}}],["interface/sso",{"_index":1898,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["interface/url",{"_index":4154,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/TaskUrlHandler.html":{}}}],["interfaces",{"_index":161,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"interfaces/AccountConfig.html":{},"interfaces/AccountParams.html":{},"interfaces/AdminIdAndToken.html":{},"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"interfaces/AppStartInfo.html":{},"interfaces/AppendedAttachment.html":{},"interfaces/AuthenticationResponse.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationContext.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"interfaces/AutoParameterStrategy.html":{},"interfaces/BBBBaseResponse.html":{},"interfaces/BBBCreateResponse.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"interfaces/BaseResponseMapper.html":{},"interfaces/BatchDeletionSummary.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/BoardDoBuilder.html":{},"interfaces/BoardExternalReference.html":{},"interfaces/BoardNodeProps.html":{},"interfaces/CalendarEvent.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"interfaces/ClassEntityProps.html":{},"interfaces/ClassProps.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"interfaces/CleanOptions.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"interfaces/CollectionFilePath.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"interfaces/CommonCartridgeFile.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"interfaces/CoreModuleConfig.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"interfaces/CustomLtiProperty.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"interfaces/DashboardModelProperties.html":{},"interfaces/DeletionClientConfig.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestEntityProps.html":{},"interfaces/DeletionRequestInput.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestOutput.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"interfaces/EncryptionService.html":{},"interfaces/EntityWithSchool.html":{},"injectables/ErrorLogger.html":{},"interfaces/ErrorType.html":{},"interfaces/ExternalSourceEntityProps.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"interfaces/ExternalToolProps.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"interfaces/ExternalToolSearchQuery.html":{},"interfaces/FeathersError.html":{},"interfaces/FeathersService.html":{},"interfaces/FederalStateProperties.html":{},"interfaces/File.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto-1.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParamBuilder.html":{},"interfaces/FilePermissionEntityProps.html":{},"interfaces/FileRecordProperties.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageProducer.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"interfaces/GlobalConstants.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/GroupProps.html":{},"interfaces/GroupUserEntityProps.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"interfaces/IdToken.html":{},"interfaces/IdentityManagementConfig.html":{},"interfaces/ImportUserProperties.html":{},"interfaces/InlineAttachment.html":{},"interfaces/InterceptorConfig.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"injectables/LegacyLogger.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"interfaces/LibrariesContentType.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"interfaces/ListFiles.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"interfaces/MailModuleOptions.html":{},"interfaces/MailServiceOptions.html":{},"interfaces/MaterialProperties.html":{},"interfaces/Meta.html":{},"interfaces/MigrationOptions.html":{},"interfaces/NameMatch.html":{},"interfaces/NewsProperties.html":{},"interfaces/NewsTargetFilter.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OauthCurrentUser.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"interfaces/Options.html":{},"interfaces/Pagination.html":{},"interfaces/ParentInfo.html":{},"interfaces/PlainTextMailContent.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"interfaces/PreviewResponseMessage.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"interfaces/PseudonymEntityProps.html":{},"interfaces/PseudonymProps.html":{},"interfaces/PseudonymSearchQuery.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"interfaces/RegistrationPinEntityProps.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/RepoLoader.html":{},"interfaces/RetryOptions.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"interfaces/RocketChatUserEntityProps.html":{},"interfaces/RocketChatUserProps.html":{},"interfaces/RoleProperties.html":{},"interfaces/RpcMessage.html":{},"interfaces/Rule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"interfaces/ScanResult.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"interfaces/SchoolProperties.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"interfaces/SchoolYearProperties.html":{},"interfaces/ScopeInfo.html":{},"interfaces/ServerConfig.html":{},"interfaces/ShareTokenInfoDto.html":{},"interfaces/ShareTokenProperties.html":{},"interfaces/StorageProviderProperties.html":{},"interfaces/SubmissionContainerElementProps.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"interfaces/SubmissionProperties.html":{},"interfaces/SuccessfulRes.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/SystemProps.html":{},"interfaces/TargetGroupProperties.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"interfaces/TeamProperties.html":{},"interfaces/TeamUserProperties.html":{},"interfaces/TemporaryFileProperties.html":{},"interfaces/TldrawConfig.html":{},"interfaces/TldrawDrawingProps.html":{},"interfaces/ToolLaunchStrategy.html":{},"interfaces/ToolVersion.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"interfaces/UrlHandler.html":{},"interfaces/UserAndAccountParams.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserLoginMigrationQuery.html":{},"interfaces/UserMetdata.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"interfaces/XApiKeyConfig.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["interfaces/copy",{"_index":7211,"title":{},"body":{"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/FilesStorageClientAdapterService.html":{}}}],["interfaces/legacy",{"_index":15118,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["interfaces/mail",{"_index":16036,"title":{},"body":{"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["interfered",{"_index":24940,"title":{},"body":{"license.html":{}}}],["intermediate",{"_index":1919,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["internal",{"_index":613,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AuthorizationReferenceService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/CourseNews.html":{},"classes/ImportUserUrlParams.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"index.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["internal_server_error",{"_index":23093,"title":{},"body":{"classes/UnknownQueryTypeLoggableException.html":{}}}],["internal_server_error_exception",{"_index":13646,"title":{},"body":{"classes/IdTokenCreationLoggableException.html":{}}}],["internalaxiosrequestconfig",{"_index":2117,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["internalid",{"_index":926,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["internallinkmatatagservice",{"_index":16200,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["internally",{"_index":19331,"title":{},"body":{"injectables/S3ClientAdapter.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["internalmeetingid",{"_index":2249,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["internalrepo",{"_index":25473,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["internalservererrorexception",{"_index":1312,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/BBBService.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/CalendarService.html":{},"injectables/ClassService.html":{},"injectables/ColumnBoardCopyService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"injectables/CourseCopyUC.html":{},"interfaces/CourseProperties.html":{},"injectables/DashboardModelMapper.html":{},"classes/ErrorMapper.html":{},"controllers/FwuLearningContentsController.html":{},"classes/GlobalErrorFilter.html":{},"controllers/H5PEditorController.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"interfaces/LibrariesContentType.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthSsoErrorLoggableException.html":{},"injectables/ProvisioningService.html":{},"injectables/PseudonymService.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"injectables/ToolLaunchService.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UsersList.html":{},"classes/ValidationErrorLoggableException.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["internalservererrorexception('cannot",{"_index":3892,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/UserLoginMigrationService.html":{}}}],["internalservererrorexception('copy",{"_index":7625,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["internalservererrorexception('courses",{"_index":7500,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["internalservererrorexception('expected",{"_index":5438,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["internalservererrorexception('feature",{"_index":12399,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["internalservererrorexception('import",{"_index":20506,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["internalservererrorexception('invalid",{"_index":13311,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["internalservererrorexception('lessons",{"_index":6206,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["internalservererrorexception('multiple_matches_are_not_allowed",{"_index":19278,"title":{},"body":{"injectables/RuleManager.html":{}}}],["internalservererrorexception('provisioning",{"_index":18108,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["internalservererrorexception('s3clientadapter:copy",{"_index":19372,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["internalservererrorexception('s3clientadapter:create",{"_index":19351,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["internalservererrorexception('s3clientadapter:delete",{"_index":19360,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["internalservererrorexception('s3clientadapter:get",{"_index":19345,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["internalservererrorexception('s3clientadapter:restore",{"_index":19365,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["internalservererrorexception('submissions",{"_index":21282,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["internalservererrorexception('task.finished",{"_index":21286,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["internalservererrorexception('tool",{"_index":17363,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["internalservererrorexception('unknown",{"_index":8618,"title":{},"body":{"injectables/DashboardModelMapper.html":{},"injectables/ToolLaunchService.html":{}}}],["internalservererrorexception('user",{"_index":4793,"title":{},"body":{"injectables/ClassService.html":{},"injectables/PseudonymService.html":{}}}],["internalservererrorexception(`${bbbresp.response.messagekey",{"_index":2403,"title":{},"body":{"injectables/BBBService.html":{}}}],["internalservererrorexception(`cannot",{"_index":17361,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["internalservererrorexception(`multiple",{"_index":15215,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["internalservererrorexception(`redirect",{"_index":13438,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["internalservererrorexception(errorobj.message",{"_index":9895,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["internalservererrorexception(null",{"_index":1343,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/BBBService.html":{},"classes/ErrorMapper.html":{},"injectables/S3ClientAdapter.html":{}}}],["internalservererrorexception(oauthclientid",{"_index":13528,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["internalservererrorexception})@apiresponse({status",{"_index":20292,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["internalservererrorexception})@get('/play/:contentid",{"_index":13111,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["internalservererrorexception})@get(':token",{"_index":20298,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["internalservererrorexception})@post",{"_index":16154,"title":{},"body":{"controllers/MetaTagExtractorController.html":{},"controllers/ShareTokenController.html":{}}}],["internalservice",{"_index":25474,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["interpretation",{"_index":25173,"title":{},"body":{"license.html":{}}}],["interpreter",{"_index":24773,"title":{},"body":{"license.html":{}}}],["intimate",{"_index":24779,"title":{},"body":{"license.html":{}}}],["introduce",{"_index":11231,"title":{},"body":{"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["introduced",{"_index":25564,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["introducing",{"_index":25271,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["introduction",{"_index":25213,"title":{},"body":{"todo.html":{}}}],["introspectoauth2token",{"_index":17410,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["introspectoauth2token(token",{"_index":17425,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["introspectresponse",{"_index":14163,"title":{"interfaces/IntrospectResponse.html":{}},"body":{"interfaces/IntrospectResponse.html":{},"classes/OauthProviderService.html":{}}}],["inusermigration",{"_index":15138,"title":{},"body":{"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["invalid",{"_index":340,"title":{},"body":{"controllers/AccountController.html":{},"injectables/AuthenticationService.html":{},"injectables/BatchDeletionUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/IdTokenInvalidLoggableException.html":{},"controllers/LoginController.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyUC.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolSchoolController.html":{},"injectables/UserService.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["invalid_origin_for_logout_url",{"_index":14175,"title":{},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{}}}],["invalid_request",{"_index":6254,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{}}}],["invalid_user_login_migration",{"_index":14183,"title":{},"body":{"classes/InvalidUserLoginMigrationLoggableException.html":{}}}],["invalidate",{"_index":24857,"title":{},"body":{"license.html":{}}}],["invalidoriginforlogouturlloggableexception",{"_index":14170,"title":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{}},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"controllers/VideoConferenceController.html":{}}}],["invalidoriginforlogouturlloggableexception(params.logouturl",{"_index":24054,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["invaliduserloginmigrationloggableexception",{"_index":14178,"title":{"classes/InvalidUserLoginMigrationLoggableException.html":{}},"body":{"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["invaliduserloginmigrationloggableexception(currentuserid",{"_index":23692,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["inversion",{"_index":25417,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["invitationlink",{"_index":4559,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{}}}],["inviteusertogroup(groupname",{"_index":1134,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["invoke",{"_index":25887,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["ip",{"_index":25922,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["ipaddress",{"_index":25925,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["ipath",{"_index":11583,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["iprimarykey",{"_index":12278,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["irrevocable",{"_index":24785,"title":{},"body":{"license.html":{}}}],["isactive",{"_index":9648,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["isallowedaschild",{"_index":3045,"title":{},"body":{"classes/BoardComposite.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["isallowedaschild(child",{"_index":20770,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["isallowedaschild(domainobject",{"_index":3062,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{}}}],["isanycontentelement",{"_index":6425,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["isanycontentelement(element",{"_index":6429,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["isapplicable",{"_index":3678,"title":{},"body":{"injectables/BoardDoRule.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"injectables/GroupRule.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LessonRule.html":{},"interfaces/Rule.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{}}}],["isapplicable(user",{"_index":3682,"title":{},"body":{"injectables/BoardDoRule.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"injectables/GroupRule.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LessonRule.html":{},"interfaces/Rule.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["isarchived",{"_index":9683,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["isarray",{"_index":6273,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FilterImportUserParams.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LoginResponse-1.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/PatchOrderParams.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["isarray()@apiproperty",{"_index":16913,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["isarray()@arrayminsize(1)@validatenested({each",{"_index":19541,"title":{},"body":{"classes/SanisResponse.html":{}}}],["isarray()@ismongoid({each",{"_index":17741,"title":{},"body":{"classes/PatchOrderParams.html":{}}}],["isarray()@isoptional()@isenum(toolcontexttype",{"_index":10187,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["isarray()@isoptional()@isstring({each",{"_index":6288,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"classes/OauthClientBody.html":{}}}],["isarray()@isstring({each",{"_index":6235,"title":{},"body":{"classes/ConsentRequestBody.html":{}}}],["isatleastpartialsuccessfull",{"_index":7284,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["isatleastpartialsuccessfull(status",{"_index":7292,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["isauthenticated",{"_index":26080,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["isauthenticationresponse",{"_index":1674,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["isauthenticationresponse(body",{"_index":1673,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["isauthorized",{"_index":21206,"title":{},"body":{"injectables/SystemRule.html":{}}}],["isauthorizedstudent",{"_index":2652,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["isauthorizedstudent(userid",{"_index":2663,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["isautoparameterglobal",{"_index":10426,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isautoparameterglobal(customparameter",{"_index":10438,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isaxioserror",{"_index":2088,"title":{},"body":{"classes/AxiosErrorFactory.html":{},"injectables/OauthAdapterService.html":{}}}],["isaxioserror(error",{"_index":16957,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["isblocked",{"_index":11778,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["isboolean",{"_index":199,"title":{},"body":{"classes/AcceptQuery.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountSaveDto.html":{},"classes/ConsentRequestBody.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CustomParameterPostParams.html":{},"classes/DownloadFileParams.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/LoginRequestBody.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/ShareTokenBodyParams.html":{},"classes/SingleFileParams.html":{},"classes/SystemFilterParams.html":{},"classes/TeamPermissionsBody.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/VideoConferenceCreateParams.html":{}}}],["isboolean()@apiproperty",{"_index":8256,"title":{},"body":{"classes/CustomParameterPostParams.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/TeamPermissionsBody.html":{},"classes/UserLoginMigrationMandatoryParams.html":{}}}],["isboolean()@apiproperty({description",{"_index":7986,"title":{},"body":{"classes/CreateSubmissionItemBodyParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{}}}],["isboolean()@isoptional()@apiproperty({description",{"_index":6239,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/ShareTokenBodyParams.html":{}}}],["isboolean()@stringtoboolean()@apipropertyoptional({description",{"_index":191,"title":{},"body":{"classes/AcceptQuery.html":{}}}],["isbreakout",{"_index":2305,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["isbusinesserror",{"_index":9917,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["isbusinesserror(error",{"_index":9923,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["iscard(reference",{"_index":4335,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{}}}],["isclientidunique",{"_index":11038,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["isclientidunique(externaltool",{"_index":11044,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["iscolumn(reference",{"_index":5398,"title":{},"body":{"classes/Column.html":{},"interfaces/ColumnProps.html":{}}}],["iscolumnboard",{"_index":5421,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["iscolumnboard(copystatus.copyentity",{"_index":5437,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["iscolumnboard(reference",{"_index":5414,"title":{},"body":{"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["iscolumnboardfeatureflagactive",{"_index":9598,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["iscolumnboardtarget",{"_index":3306,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["iscolumnboardtarget(element.target",{"_index":3339,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["iscolumnboardtarget(reference",{"_index":5568,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["iscontextrestricted",{"_index":6046,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["iscontextrestricted(externaltool",{"_index":6052,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["iscopyfrom",{"_index":11712,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["iscoursefinished",{"_index":21302,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["iscreator",{"_index":19130,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{},"injectables/TaskRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["iscustomparameternameempty",{"_index":10427,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["iscustomparameternameempty(param",{"_index":10440,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isdate",{"_index":854,"title":{},"body":{"classes/AccountSaveDto.html":{},"classes/CreateNewsParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{}}}],["isdate()@isoptional()@apipropertyoptional({description",{"_index":7967,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{}}}],["isdefaultvalueofvalidregex",{"_index":10428,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isdefaultvalueofvalidregex(param",{"_index":10441,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isdefaultvalueofvalidtype",{"_index":10429,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isdefaultvalueofvalidtype(param",{"_index":10443,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isdirectory",{"_index":11483,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["isdraft",{"_index":4086,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"interfaces/ITask.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"classes/TaskScope.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusResponse.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{}}}],["isdrawingelement(reference",{"_index":9549,"title":{},"body":{"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{}}}],["isemail",{"_index":302,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/PatchMyAccountParams.html":{}}}],["isemail()@isoptional()@apiproperty({description",{"_index":17724,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["isempty",{"_index":12631,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["isemptyqueryallowed",{"_index":6917,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/ImportUserScope.html":{},"classes/LessonScope.html":{},"classes/NewsScope.html":{},"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/Scope.html":{},"classes/SystemScope.html":{},"classes/TaskScope.html":{},"classes/UserScope.html":{}}}],["isenabled",{"_index":17964,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["isenum",{"_index":899,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"classes/AuthorizationParams.html":{},"classes/BasicToolConfigParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/ClassFilterParams.html":{},"classes/ClassSortParams.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextRefParams.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"classes/CustomParameterPostParams.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/ShareTokenBodyParams.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SystemFilterParams.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["isenum(accountsearchtype",{"_index":900,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["isenum(accountsearchtype)@apiproperty({description",{"_index":885,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["isenum(classsortby",{"_index":4807,"title":{},"body":{"classes/ClassSortParams.html":{}}}],["isenum(contentelementtype",{"_index":7898,"title":{},"body":{"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["isenum(contentelementtype)@apiproperty({description",{"_index":7907,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{}}}],["isenum(contentelementtype)@apiproperty({enum",{"_index":9706,"title":{},"body":{"classes/ElementContentBody.html":{}}}],["isenum(customparameterlocationparams",{"_index":8271,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["isenum(customparameterlocationparams)@apiproperty",{"_index":8259,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["isenum(customparameterscopetypeparams",{"_index":8270,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["isenum(customparameterscopetypeparams)@apiproperty",{"_index":8265,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["isenum(customparametertypeparams",{"_index":8272,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["isenum(customparametertypeparams)@apiproperty",{"_index":8268,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["isenum(externaltoolsortby",{"_index":20539,"title":{},"body":{"classes/SortExternalToolParams.html":{}}}],["isenum(filerecordparenttype",{"_index":7157,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["isenum(filtermatchtype",{"_index":12350,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["isenum(filterroletype",{"_index":12351,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["isenum(h5pcontentparenttype",{"_index":12500,"title":{},"body":{"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["isenum(importusersortorder",{"_index":20549,"title":{},"body":{"classes/SortImportUserParams.html":{}}}],["isenum(inputformat",{"_index":9520,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["isenum(inputformat)@apiproperty",{"_index":18826,"title":{},"body":{"classes/RichTextContentBody.html":{}}}],["isenum(languagetype",{"_index":4554,"title":{},"body":{"classes/ChangeLanguageParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["isenum(ltimessagetype",{"_index":15864,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["isenum(ltimessagetype)@apiproperty",{"_index":15857,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["isenum(ltiprivacypermission",{"_index":15865,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["isenum(ltiprivacypermission)@apiproperty",{"_index":15859,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["isenum(newstargetmodel",{"_index":7981,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/FilterNewsParams.html":{}}}],["isenum(newstargetmodel)@apiproperty({enum",{"_index":7974,"title":{},"body":{"classes/CreateNewsParams.html":{}}}],["isenum(previewoutputmimetypes",{"_index":7168,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["isenum(previewwidth",{"_index":7170,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["isenum(sanisgrouprole",{"_index":19452,"title":{},"body":{"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["isenum(sanisgrouptype",{"_index":19432,"title":{},"body":{"classes/SanisGruppeResponse.html":{}}}],["isenum(sanisrole",{"_index":19477,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{}}}],["isenum(schoolyearquerytype",{"_index":4677,"title":{},"body":{"classes/ClassFilterParams.html":{}}}],["isenum(sharetokenparenttype",{"_index":20271,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["isenum(sharetokenparenttype)@apiproperty({description",{"_index":20266,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["isenum(sortorder",{"_index":20554,"title":{},"body":{"classes/SortingParams.html":{}}}],["isenum(ssoauthenticationerror",{"_index":1901,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["isenum(subjecttypeenum",{"_index":17005,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["isenum(subjecttypeenum)@isoptional()@apiproperty({description",{"_index":16991,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["isenum(systemtypeenum",{"_index":21135,"title":{},"body":{"classes/SystemFilterParams.html":{}}}],["isenum(tokenauthmethod",{"_index":17004,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["isenum(tokenauthmethod)@isoptional()@apiproperty({description",{"_index":16996,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["isenum(tokenendpointauthmethod",{"_index":16919,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["isenum(tokenendpointauthmethod)@apiproperty",{"_index":16917,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["isenum(toolconfigtype",{"_index":2712,"title":{},"body":{"classes/BasicToolConfigParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["isenum(toolconfigtype)@apiproperty",{"_index":2709,"title":{},"body":{"classes/BasicToolConfigParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["isenum(toolcontexttype",{"_index":6727,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextRefParams.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["isenum(toolcontexttype)@apiproperty",{"_index":6791,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{}}}],["isenum(toolcontexttype)@apiproperty({enum",{"_index":6724,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{}}}],["isenum(toolcontexttype)@apiproperty({type",{"_index":7041,"title":{},"body":{"classes/ContextRefParams.html":{}}}],["isenum(videoconferencescope",{"_index":24343,"title":{},"body":{"classes/VideoConferenceScopeParams.html":{}}}],["iserv",{"_index":14224,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["iservmapper",{"_index":14186,"title":{"classes/IservMapper.html":{}},"body":{"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{}}}],["iservmapper.maptoexternalschooldto(ldapschool",{"_index":14242,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["iservmapper.maptoexternaluserdto(ldapuser",{"_index":14240,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["iservprovisioningstrategy",{"_index":14203,"title":{"injectables/IservProvisioningStrategy.html":{}},"body":{"injectables/IservProvisioningStrategy.html":{},"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{}}}],["iservstrategy",{"_index":18077,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["isexpired",{"_index":13357,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{}}}],["isexternalidequivalent",{"_index":19977,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["isexternaltoolelement(reference",{"_index":10204,"title":{},"body":{"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{}}}],["isexternaluser",{"_index":7945,"title":{},"body":{"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"interfaces/ICurrentUser.html":{},"interfaces/JwtPayload.html":{}}}],["isfeatherserror",{"_index":9918,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["isfeatherserror(error",{"_index":9925,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["isfileelement",{"_index":20778,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemUc.html":{}}}],["isfileelement(child",{"_index":20783,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["isfileelement(element",{"_index":20791,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemUc.html":{}}}],["isfileelement(reference",{"_index":11455,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["isfileelementresponse",{"_index":6392,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["isfileelementresponse(result",{"_index":6408,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["isfinished",{"_index":4087,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"interfaces/CourseProperties.html":{},"interfaces/ITask.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["isfinishedforuser",{"_index":21304,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["isfinishedforuser(user",{"_index":21296,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["isflagged",{"_index":14079,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["isflagged(flagged",{"_index":14097,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["isglobal",{"_index":10496,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isglobalparametervalid",{"_index":10430,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isglobalparametervalid(customparameter",{"_index":10445,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isgraceperiodexpired",{"_index":23622,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["isgraceperiodexpired(userloginmigration",{"_index":23637,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["isgraded",{"_index":20690,"title":{},"body":{"entities/Submission.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["isgradedforuser",{"_index":20693,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["isgradedforuser(user",{"_index":20691,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["isgroup",{"_index":8383,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["isguest",{"_index":24210,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["ishidden",{"_index":8063,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolCreateParams.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"interfaces/ExternalToolSearchQuery.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/LessonScope.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["ishydra",{"_index":13498,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["isinfected",{"_index":1321,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["isinstancealive",{"_index":17411,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["isinstanceofloggable",{"_index":15727,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["isinstanceofloggable(object",{"_index":15732,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["isint",{"_index":6274,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/DeletionExecutionParams.html":{},"classes/LoginRequestBody.html":{},"classes/PaginationParams.html":{},"classes/ShareTokenBodyParams.html":{}}}],["isint()@isoptional()@apiproperty({description",{"_index":6246,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["isint()@isoptional()@ispositive()@apiproperty({description",{"_index":20261,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["isint()@min(0)@apipropertyoptional({description",{"_index":895,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"classes/PaginationParams.html":{}}}],["isint()@min(1)@isoptional()@apipropertyoptional({description",{"_index":9042,"title":{},"body":{"classes/DeletionExecutionParams.html":{}}}],["isint()@min(1)@max(100)@apipropertyoptional({description",{"_index":889,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"classes/PaginationParams.html":{}}}],["isinternal",{"_index":16272,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["isinternalurl",{"_index":16253,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["isinternalurl(url",{"_index":16258,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["islatest",{"_index":6047,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["islatest(tool1",{"_index":6054,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["islesson",{"_index":3307,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["islesson(element.target",{"_index":3336,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["islesson(reference",{"_index":6228,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["islibrariescontenttype(object",{"_index":13306,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["islinkelement(reference",{"_index":15613,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["islisteningonly",{"_index":2318,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["islocal",{"_index":8053,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"injectables/HydraSsoService.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{}}}],["islocale",{"_index":15863,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["islocale()@apiproperty",{"_index":15855,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["islocalhost",{"_index":1276,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["islti11config",{"_index":10018,"title":{},"body":{"classes/ExternalTool.html":{}}}],["islti11config(config",{"_index":10031,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["ismarked",{"_index":11910,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["ismarkedfordeletion",{"_index":11545,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["ismatched",{"_index":3685,"title":{},"body":{"injectables/BoardDoRule.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"injectables/GroupRule.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LessonRule.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["ismember",{"_index":20674,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["ismigrationactive",{"_index":16293,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["ismigrationactive(userloginmigration",{"_index":16298,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["ismongoid",{"_index":855,"title":{},"body":{"classes/AccountSaveDto.html":{},"classes/BoardUrlParams.html":{},"classes/CardIdsParams.html":{},"classes/CardUrlParams.html":{},"classes/ColumnUrlParams.html":{},"classes/ContentBodyParams.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextRefParams.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CourseUrlParams.html":{},"classes/CreateNewsParams.html":{},"classes/DashboardUrlParams.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolIdParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/FilterNewsParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GroupIdParams.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LessonCopyApiParams.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/NewsUrlParams.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/PatchOrderParams.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/ShareTokenBodyParams.html":{},"classes/SingleFileParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionUrlParams.html":{},"classes/SystemIdParams.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TeamRoleDto.html":{},"classes/TeamUrlParams.html":{},"classes/ToolLaunchParams.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParams.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["ismongoid()@apiproperty",{"_index":6771,"title":{},"body":{"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextRefParams.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolIdParams-1.html":{},"classes/SystemIdParams.html":{},"classes/TeamRoleDto.html":{}}}],["ismongoid()@apiproperty({description",{"_index":4166,"title":{},"body":{"classes/BoardUrlParams.html":{},"classes/CardUrlParams.html":{},"classes/ColumnUrlParams.html":{},"classes/ContentElementUrlParams.html":{},"classes/CourseUrlParams.html":{},"classes/DashboardUrlParams.html":{},"classes/ImportUserUrlParams.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/MoveColumnBodyParams.html":{},"classes/NewsUrlParams.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"classes/ShareTokenBodyParams.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionUrlParams.html":{},"classes/TaskUrlParams.html":{},"classes/TeamUrlParams.html":{},"classes/ToolLaunchParams.html":{},"classes/UserMatchResponse.html":{},"classes/UserParams.html":{}}}],["ismongoid()@apiproperty({nullable",{"_index":6768,"title":{},"body":{"classes/ContextExternalToolIdParams.html":{},"classes/ExternalToolIdParams.html":{},"classes/GroupIdParams.html":{},"classes/SchoolExternalToolIdParams.html":{}}}],["ismongoid()@apiproperty({pattern",{"_index":7972,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/ImportUserResponse.html":{}}}],["ismongoid()@apiproperty({required",{"_index":16374,"title":{},"body":{"classes/MoveCardBodyParams.html":{},"classes/MoveContentElementBody.html":{}}}],["ismongoid()@isoptional()@apipropertyoptional",{"_index":10172,"title":{},"body":{"classes/ExternalToolContentBody.html":{}}}],["ismongoid({each",{"_index":4408,"title":{},"body":{"classes/CardIdsParams.html":{}}}],["isnameunique",{"_index":10431,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isnameunique(externaltool",{"_index":10447,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isnan",{"_index":6115,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["isnan(number(val",{"_index":6108,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["isnesthttpexception",{"_index":9919,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["isnesthttpexception(error",{"_index":9928,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["isnextcloud",{"_index":17339,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["isnextcloudtool",{"_index":17324,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["isnextcloudtool(tool",{"_index":17329,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["isnotcontained",{"_index":2988,"title":{},"body":{"entities/Board.html":{}}}],["isnotempty",{"_index":856,"title":{},"body":{"classes/AccountSaveDto.html":{},"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/AuthorizationParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CustomParameterPostParams.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterUserParams.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["isnotemptystring",{"_index":20623,"title":{},"body":{"classes/StringValidator.html":{}}}],["isnotemptystring(value",{"_index":20624,"title":{},"body":{"classes/StringValidator.html":{}}}],["isnumber",{"_index":3759,"title":{},"body":{"classes/BoardLessonResponse.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/ListOauthClientsParams.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/OAuthRejectableBody.html":{},"classes/SchoolExternalToolPostParams.html":{}}}],["isnumber()@isoptional()@apiproperty({description",{"_index":6269,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{}}}],["isnumber()@min(0)@apiproperty",{"_index":3756,"title":{},"body":{"classes/BoardLessonResponse.html":{},"classes/MoveElementPositionParams.html":{}}}],["isnumber()@min(0)@apiproperty({required",{"_index":16376,"title":{},"body":{"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{}}}],["isnumber()@min(0)@isoptional()@apiproperty",{"_index":3753,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["isnumber()@min(0)@isoptional()@apiproperty({description",{"_index":15643,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["isnumber()@min(0)@isoptional()@apipropertyoptional({description",{"_index":16390,"title":{},"body":{"classes/MoveElementPositionParams.html":{}}}],["isnumber()@min(0)@isoptional()@apipropertyoptional({required",{"_index":9277,"title":{},"body":{"classes/DeletionRequestBodyProps.html":{}}}],["isnumber()@min(0)@max(500)@isoptional()@apiproperty({description",{"_index":15639,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["isoauth2config",{"_index":10019,"title":{},"body":{"classes/ExternalTool.html":{}}}],["isoauth2config(config",{"_index":10033,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["isoauthconfigavailable",{"_index":13720,"title":{},"body":{"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["isoauthprovisioningenabledforschool",{"_index":16817,"title":{},"body":{"injectables/OAuthService.html":{}}}],["isoauthprovisioningenabledforschool(officialschoolnumber",{"_index":16830,"title":{},"body":{"injectables/OAuthService.html":{}}}],["isobject",{"_index":12493,"title":{},"body":{"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"classes/SaveH5PEditorParams.html":{}}}],["isobject()@validatenested()@type(undefined",{"_index":19439,"title":{},"body":{"classes/SanisGruppenResponse.html":{},"classes/SanisPersonResponse.html":{}}}],["isobject({groups",{"_index":19473,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{}}}],["isobjectempty",{"_index":19485,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["isobjectempty(obj",{"_index":19496,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["isolate",{"_index":25963,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["isolated",{"_index":25725,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["isolation",{"_index":25660,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["isopen",{"_index":7639,"title":{},"body":{"classes/CourseFactory.html":{}}}],["isoptional",{"_index":300,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/AuthorizationParams.html":{},"classes/BoardLessonResponse.html":{},"classes/ClassFilterParams.html":{},"classes/ClassSortParams.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/DeletionExecutionParams.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolSearchParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/LessonCopyApiParams.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/ListOauthClientsParams.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/OAuthRejectableBody.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/PatchMyAccountParams.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SystemFilterParams.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UserLoginMigrationSearchParams.html":{},"classes/VideoConferenceCreateParams.html":{}}}],["isoptional()@apiproperty",{"_index":6295,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{}}}],["isoptional()@apiproperty({description",{"_index":6286,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/LoginResponse-1.html":{}}}],["isoptional()@isarray()@isenum(sanisgrouprole",{"_index":19450,"title":{},"body":{"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["isoptional()@isarray()@validatenested({each",{"_index":19443,"title":{},"body":{"classes/SanisGruppenResponse.html":{}}}],["isoptional()@isboolean",{"_index":440,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{}}}],["isoptional()@isboolean()@apiproperty({description",{"_index":287,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["isoptional()@isboolean()@stringtoboolean()@apipropertyoptional({description",{"_index":12360,"title":{},"body":{"classes/FilterNewsParams.html":{},"classes/PreviewParams.html":{}}}],["isoptional()@isdate",{"_index":444,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{}}}],["isoptional()@isdate()@apipropertyoptional({description",{"_index":23110,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["isoptional()@isenum(classsortby)@apipropertyoptional({enum",{"_index":4803,"title":{},"body":{"classes/ClassSortParams.html":{}}}],["isoptional()@isenum(externaltoolsortby)@apipropertyoptional({enum",{"_index":20537,"title":{},"body":{"classes/SortExternalToolParams.html":{}}}],["isoptional()@isenum(filterroletype)@apipropertyoptional({enum",{"_index":12346,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["isoptional()@isenum(importusersortorder)@apipropertyoptional({enum",{"_index":20548,"title":{},"body":{"classes/SortImportUserParams.html":{}}}],["isoptional()@isenum(schoolyearquerytype)@apipropertyoptional({enum",{"_index":4675,"title":{},"body":{"classes/ClassFilterParams.html":{}}}],["isoptional()@isenum(sortorder)@apipropertyoptional({enum",{"_index":4805,"title":{},"body":{"classes/ClassSortParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{}}}],["isoptional()@isenum(ssoauthenticationerror",{"_index":1893,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["isoptional()@isint()@min(0)@apipropertyoptional({description",{"_index":7903,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{}}}],["isoptional()@ismongoid",{"_index":450,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{}}}],["isoptional()@ismongoid()@apipropertyoptional({pattern",{"_index":12354,"title":{},"body":{"classes/FilterNewsParams.html":{},"classes/LessonCopyApiParams.html":{},"classes/TaskCopyApiParams.html":{}}}],["isoptional()@isobject()@validatenested()@type(undefined",{"_index":19460,"title":{},"body":{"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{}}}],["isoptional()@isstring",{"_index":442,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"classes/AuthorizationParams.html":{},"classes/SanisGeburtResponse.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["isoptional()@isstring()@apiproperty({description",{"_index":20345,"title":{},"body":{"classes/ShareTokenImportBodyParams.html":{}}}],["isoptional()@isstring()@isemail()@apiproperty({description",{"_index":294,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["isoptional()@isstring()@isenum(newstargetmodel)@apipropertyoptional({enum",{"_index":12358,"title":{},"body":{"classes/FilterNewsParams.html":{}}}],["isoptional()@isstring()@isnotempty",{"_index":1890,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["isoptional()@isstring()@isnotempty()@apipropertyoptional({type",{"_index":12333,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["isoptional()@isstring()@sanitizehtml()@apipropertyoptional({description",{"_index":23112,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["isoptional()@isstring()@sanitizehtml(inputformat.rich_text)@apipropertyoptional({description",{"_index":23108,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["isoptional({groups",{"_index":19469,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{}}}],["isoutdated",{"_index":19981,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"classes/UserScope.html":{}}}],["isoutdated(isoutdated",{"_index":23863,"title":{},"body":{"classes/UserScope.html":{}}}],["isoutdated(query.isoutdated",{"_index":23268,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["isoutdatedonscopecontext",{"_index":6062,"title":{},"body":{"injectables/CommonToolService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{}}}],["isoutdatedonscopeschool",{"_index":6063,"title":{},"body":{"injectables/CommonToolService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolService.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{}}}],["isowner",{"_index":23858,"title":{},"body":{"injectables/UserRule.html":{}}}],["ispending",{"_index":11786,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["isplanned",{"_index":21305,"title":{},"body":{"entities/Task.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["ispositive",{"_index":20241,"title":{},"body":{"classes/SetHeightBodyParams.html":{},"classes/ShareTokenBodyParams.html":{}}}],["ispositive()@apiproperty({required",{"_index":20239,"title":{},"body":{"classes/SetHeightBodyParams.html":{}}}],["ispresenter",{"_index":2317,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["ispreviewpossible",{"_index":11789,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"injectables/PreviewGeneratorService.html":{}}}],["ispropertyprivacyprotected",{"_index":9815,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["ispropertyprivacyprotected(target",{"_index":9825,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["isprotecteduser",{"_index":23922,"title":{},"body":{"injectables/UserService.html":{}}}],["isprovisioningenabled",{"_index":16853,"title":{},"body":{"injectables/OAuthService.html":{}}}],["ispublished",{"_index":16652,"title":{},"body":{"injectables/NewsUc.html":{},"entities/Task.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["isregexcommentmandatoryandfilled",{"_index":10432,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isregexcommentmandatoryandfilled(customparameter",{"_index":10449,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isregexvalid",{"_index":10433,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isregexvalid(param",{"_index":10451,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isrelativeurl",{"_index":6482,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["isrelativeurl(this.content.imageurl",{"_index":6488,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["isrequiredtool",{"_index":11334,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["isrichtextelement",{"_index":20779,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemUc.html":{}}}],["isrichtextelement(child",{"_index":20784,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["isrichtextelement(element",{"_index":20790,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemUc.html":{}}}],["isrichtextelement(reference",{"_index":18847,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["isrichtextelementresponse",{"_index":6393,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["isrichtextelementresponse(result",{"_index":6409,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["iss",{"_index":7913,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"classes/JwtTestFactory.html":{}}}],["issatisfiedby(t",{"_index":25630,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["isschoolnumberunique",{"_index":20049,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["isschoolnumberunique(school",{"_index":20051,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["isslash",{"_index":1661,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["isslash(inputpath",{"_index":1659,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["isstring",{"_index":299,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchQueryParams.html":{},"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/AuthorizationParams.html":{},"classes/BasicToolConfigParams.html":{},"classes/ChallengeParams.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CourseQueryParams.html":{},"classes/CreateNewsParams.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterPostParams.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolSearchParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GetMetaTagDataBody.html":{},"classes/IdParams.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"classes/LoginResponse-1.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/OAuthRejectableBody.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/PseudonymParams.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"classes/RevokeConsentParams.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleFileParams.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StringValidator.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/TldrawDeleteParams.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UserLoginMigrationSearchParams.html":{}}}],["isstring()@apiproperty",{"_index":2707,"title":{},"body":{"classes/BasicToolConfigParams.html":{},"classes/CustomParameterEntryParam.html":{},"classes/DrawingContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/LinkContentBody.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/RichTextContentBody.html":{}}}],["isstring()@apiproperty({description",{"_index":308,"title":{},"body":{"classes/AccountByIdParams.html":{},"classes/AccountSearchQueryParams.html":{},"classes/ChallengeParams.html":{},"classes/IdParams.html":{},"classes/ImportUserResponse.html":{},"classes/PatchMyAccountParams.html":{},"classes/RevokeConsentParams.html":{},"classes/ShareTokenUrlParams.html":{},"classes/TldrawDeleteParams.html":{}}}],["isstring()@apiproperty({nullable",{"_index":18185,"title":{},"body":{"classes/PseudonymParams.html":{}}}],["isstring()@apiproperty({required",{"_index":12512,"title":{},"body":{"classes/GetMetaTagDataBody.html":{},"classes/RenameBodyParams.html":{}}}],["isstring()@ismongoid()@isoptional()@apipropertyoptional({description",{"_index":21494,"title":{},"body":{"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{}}}],["isstring()@isnotempty",{"_index":454,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/AuthorizationParams.html":{}}}],["isstring()@isnotempty()@apiproperty",{"_index":8254,"title":{},"body":{"classes/CustomParameterPostParams.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{}}}],["isstring()@isoptional",{"_index":1203,"title":{},"body":{"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/SanisAnschriftResponse.html":{}}}],["isstring()@isoptional()@apiproperty",{"_index":15589,"title":{},"body":{"classes/LinkContentBody.html":{}}}],["isstring()@isoptional()@apiproperty({description",{"_index":6252,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/ListOauthClientsParams.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"classes/OauthClientBody.html":{},"classes/PatchMyAccountParams.html":{}}}],["isstring()@isoptional()@apipropertyoptional",{"_index":6793,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterPostParams.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["isstring()@isoptional()@sanitizehtml(inputformat.rich_text_ck5)@apipropertyoptional({description",{"_index":21496,"title":{},"body":{"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{}}}],["isstring()@matches(undefined)@apiproperty({description",{"_index":7801,"title":{},"body":{"classes/CourseQueryParams.html":{}}}],["isstring()@sanitizehtml()@apiproperty({description",{"_index":7977,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/PatchGroupParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{}}}],["isstring()@sanitizehtml(inputformat.rich_text)@apiproperty({description",{"_index":7965,"title":{},"body":{"classes/CreateNewsParams.html":{}}}],["isstring(value",{"_index":20626,"title":{},"body":{"classes/StringValidator.html":{}}}],["isstring({groups",{"_index":19472,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{}}}],["isstudent",{"_index":7824,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["issubmissioncontainerelement",{"_index":9758,"title":{},"body":{"injectables/ElementUc.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{}}}],["issubmissioncontainerelement(reference",{"_index":20703,"title":{},"body":{"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{}}}],["issubmissioncontainerelement(submissioncontainerelement",{"_index":9770,"title":{},"body":{"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["issubmissioncontainerelement(submissioncontainterelement",{"_index":20845,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["issubmissionitem",{"_index":9759,"title":{},"body":{"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["issubmissionitem(child",{"_index":9773,"title":{},"body":{"injectables/ElementUc.html":{}}}],["issubmissionitem(parent",{"_index":9767,"title":{},"body":{"injectables/ElementUc.html":{}}}],["issubmissionitem(reference",{"_index":20788,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["issubmissionitemcontent",{"_index":20789,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["issubmitted",{"_index":20672,"title":{},"body":{"entities/Submission.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["issubmittedforuser",{"_index":20677,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["issubmittedforuser(user",{"_index":20673,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["issubstitutionteacher",{"_index":4088,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"interfaces/ITask.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusResponse.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["issuer",{"_index":1593,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"injectables/HydraSsoService.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"classes/JwtTestFactory.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfigEntity.html":{},"injectables/OAuthService.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["issues",{"_index":25359,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["istanbul",{"_index":3341,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/BoardResponseMapper.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnResponseMapper.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/S3ClientAdapter.html":{},"classes/ShareTokenFactory.html":{}}}],["istask",{"_index":3308,"title":{},"body":{"injectables/BoardCopyService.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["istask(element.target",{"_index":3332,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["istask(reference",{"_index":21349,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["isteacher",{"_index":7825,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["isteamuser",{"_index":21952,"title":{},"body":{"injectables/TeamRule.html":{}}}],["istemplate",{"_index":8052,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{}}}],["istoolstatuslatestorthrow",{"_index":22880,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["istoolstatuslatestorthrow(userid",{"_index":22887,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["istype",{"_index":13307,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["isuniqueemail",{"_index":967,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["isuniqueemail(email",{"_index":971,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["isuniqueemailforaccount",{"_index":968,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["isuniqueemailforaccount(email",{"_index":973,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["isuniqueemailforuser",{"_index":969,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["isuniqueemailforuser(email",{"_index":975,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["isupgradable",{"_index":4682,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{}}}],["isurl",{"_index":16190,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{},"classes/VideoConferenceCreateParams.html":{}}}],["isuserinfinisheduser",{"_index":21299,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["isuseringroup",{"_index":17656,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["isusermigrated",{"_index":16294,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["isusermigrated(user",{"_index":16300,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["isuserreferenced",{"_index":1807,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["isuserreferenced(user",{"_index":1818,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["isusersubmitter(user",{"_index":20687,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["isusersubstitutionteacher(user",{"_index":7496,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["isusersubstitutionteacherincourse(user",{"_index":21323,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["isvalid",{"_index":3578,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["isvaluevalidfortype",{"_index":6081,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["isvaluevalidfortype(type",{"_index":6101,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["isverified",{"_index":11787,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["isvisible",{"_index":15489,"title":{},"body":{"injectables/LessonRule.html":{}}}],["iswhitelisted",{"_index":14313,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["iswhitelisted(accountid",{"_index":14320,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["it's",{"_index":25694,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["it(\"should",{"_index":25659,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["it('bad",{"_index":25698,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["it('good",{"_index":25700,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["it('should",{"_index":25762,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["itask",{"_index":13613,"title":{"interfaces/ITask.html":{}},"body":{"interfaces/ITask.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{}}}],["item",{"_index":3485,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"controllers/BoardSubmissionController.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/SubmissionItemUrlParams.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["item.'})@apiextramodels(richtextelementresponse",{"_index":4016,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["item.'})@apiresponse({status",{"_index":4030,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["item.body.params.ts",{"_index":7985,"title":{},"body":{"classes/CreateSubmissionItemBodyParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{}}}],["item.body.params.ts:10",{"_index":7989,"title":{},"body":{"classes/CreateSubmissionItemBodyParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{}}}],["item.columnboardid",{"_index":5587,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["item.do",{"_index":3142,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"injectables/SubmissionItemFactory.html":{}}}],["item.do.ts",{"_index":20768,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["item.do.ts:11",{"_index":20774,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["item.do.ts:15",{"_index":20775,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["item.do.ts:19",{"_index":20777,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["item.do.ts:7",{"_index":20772,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["item.factory.ts",{"_index":20793,"title":{},"body":{"injectables/SubmissionItemFactory.html":{}}}],["item.factory.ts:7",{"_index":20794,"title":{},"body":{"injectables/SubmissionItemFactory.html":{}}}],["item.name.tolocalelowercase",{"_index":10485,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["item.response",{"_index":20989,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["item.response.ts",{"_index":20803,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["item.response.ts:16",{"_index":20807,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["item.response.ts:19",{"_index":20808,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["item.response.ts:22",{"_index":20805,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["item.response.ts:25",{"_index":20809,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["item.response.ts:33",{"_index":20806,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["item.response.ts:6",{"_index":20804,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["item.service",{"_index":9761,"title":{},"body":{"injectables/ElementUc.html":{}}}],["item.service.ts",{"_index":20833,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["item.service.ts:12",{"_index":20834,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["item.service.ts:15",{"_index":20837,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["item.service.ts:25",{"_index":20836,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["item.service.ts:45",{"_index":20839,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["item.split(';')[0",{"_index":13519,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["item.uc",{"_index":3020,"title":{},"body":{"modules/BoardApiModule.html":{},"controllers/BoardSubmissionController.html":{}}}],["item.uc.ts",{"_index":20848,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["item.uc.ts:27",{"_index":20850,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["item.uc.ts:38",{"_index":20854,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["item.uc.ts:64",{"_index":20856,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["item.uc.ts:76",{"_index":20852,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["item.url.params.ts",{"_index":20868,"title":{},"body":{"classes/SubmissionItemUrlParams.html":{}}}],["item.url.params.ts:11",{"_index":20869,"title":{},"body":{"classes/SubmissionItemUrlParams.html":{}}}],["item.userid",{"_index":9778,"title":{},"body":{"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["item/create",{"_index":7984,"title":{},"body":{"classes/CreateSubmissionItemBodyParams.html":{}}}],["item/submission",{"_index":20723,"title":{},"body":{"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemUrlParams.html":{}}}],["item/submissions.response",{"_index":4039,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["item/submissions.response.ts",{"_index":20983,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["item/submissions.response.ts:14",{"_index":20986,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["item/submissions.response.ts:19",{"_index":20987,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["item/submissions.response.ts:5",{"_index":20985,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["item/update",{"_index":23114,"title":{},"body":{"classes/UpdateSubmissionItemBodyParams.html":{}}}],["itemindex",{"_index":10482,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["itemporaryfile",{"_index":13375,"title":{},"body":{"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileStorage.html":{}}}],["itemporaryfilestorage",{"_index":22069,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["items",{"_index":874,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"controllers/BoardSubmissionController.html":{},"classes/CardResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseMetadataListResponse.html":{},"interfaces/CustomLtiProperty.html":{},"injectables/ElementUc.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/ImportUserListResponse.html":{},"entities/LtiTool.html":{},"classes/NewsListResponse.html":{},"classes/PaginationResponse.html":{},"injectables/PermissionService.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"classes/SubmissionItemResponse.html":{},"entities/Task.html":{},"classes/TaskListResponse.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/User.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"interfaces/UserProperties.html":{}}}],["itemsperpage",{"_index":12976,"title":{},"body":{"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/Meta.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OcsResponse.html":{},"interfaces/SuccessfulRes.html":{}}}],["itemstodelete",{"_index":9430,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["iterate",{"_index":18645,"title":{},"body":{"classes/ReferencesService.html":{}}}],["itoolfeatures",{"_index":10062,"title":{"interfaces/IToolFeatures.html":{}},"body":{"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolLogoService.html":{},"interfaces/IToolFeatures.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/ToolConfiguration.html":{},"injectables/ToolVersionService.html":{}}}],["itself",{"_index":1924,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/ContextExternalToolValidationService.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["iupdatenews",{"_index":7958,"title":{},"body":{"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{},"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["iuser",{"_index":13029,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"classes/LumiUserWithContentData.html":{},"injectables/TemporaryFileStorage.html":{}}}],["iuserloginmigration",{"_index":23525,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["ivborw0kggoaaaansuheugaaafqaaadicayaaaaegrpoaaaagxrfwhrtb2z0d2fyzqbbzg9izsbjbwfnzvjlywr5ccllpaaaaynpvfh0we1momnvbs5hzg9izs54bxaaaaaaadw/ehbhy2tldcbizwdpbj0i77u/iibpzd0ivzvnme1wq2voauh6cmvtek5uy3pryzlkij8+idx4onhtcg1ldgegeg1sbnm6ed0iywrvymu6bnm6bwv0ys8iihg6eg1wdgs9ikfkb2jlifhnucbdb3jliduuni1jmtqwidc5lje2mdq1mswgmjaxny8wns8wni0wmtowodoymsagicagicagij4gphjkzjpsreygeg1sbnm6cmrmpsjodhrwoi8vd3d3lnczlm9yzy8xotk5lzaylziylxjkzi1zew50yxgtbnmjij4gphjkzjpezxnjcmlwdglvbibyzgy6ywjvdxq9iiigeg1sbnm6eg1wpsjodhrwoi8vbnmuywrvymuuy29tl3hhcc8xljaviib4bwxuczp4bxbntt0iahr0cdovl25zlmfkb2jllmnvbs94yxavms4wl21tlyigeg1sbnm6c3rszwy9imh0dha6ly9ucy5hzg9izs5jb20vegfwlzeumc9zvhlwzs9szxnvdxjjzvjlzimiihhtcdpdcmvhdg9yvg9vbd0iqwrvymugughvdg9zag9wiendichnywnpbnrvc2gpiib4bxbnttpjbnn0yw5jzulepsj4bxauawlkojq2muq2q0y5rtqxmtexrtdbmtg3qkq2mdvgmufemuiwiib4bxbnttpeb2n1bwvudelepsj4bxauzglkojq2muq2q0zbrtqxmtexrtdbmtg3qkq2mdvgmufemuiwij4gphhtce1nokrlcml2zwrgcm9tihn0umvmomluc3rhbmnlsuq9inhtcc5pawq6ndyxrdzdrjdfndexmtffn0exoddcrdywnuyxquqxqjaiihn0umvmomrvy3vtzw50suq9inhtcc5kawq6ndyxrdzdrjhfndexmtffn0exoddcrdywnuyxquqxqjailz4gpc9yzgy6rgvzy3jpchrpb24+idwvcmrmoljerj4gpc94onhtcg1ldge+idw/ehbhy2tldcblbmq9iniipz45ejsraaalfuleqvr42uzdgxwjoaigyhlvgsiv4cnbu4jtgqeepis4hksepis4blseu4rjcemscmhgzpplkycmago+7z3ezs3tysus+beicfx29lyaaop2hz8baah0aecgawachqaq6aag0aeagq4achqaqkadgeahaaq6acdqaqcbdgachqaq6acaqacabdoachqaqkadaaidabdoacdqaqcbdgaidabaoaoaqacabdoainabaieoaaidabdoaibabwaeogaidabaoamaah0aeogainabaieoaah0aecga4babwaeogag0aeagq4achqaeogageahaaq6acdqaucgawachqaq6acaqacagq4achqaqkadaaidaaq6acdqaqcbdgaidaaq6acaqacabdoainabqkadaaidabdoaibabwcbdgaidabaoamaah0abdoainabgn79109abldxv9flpxblnov/doblfv7+ug77+hfvn39vb29vb78emdpg1faup2idwwvcgm3883ambbas6/yorpp414ujf+w4z+2r/12wdasol6zdl4ufa4fdvgu0gyp/x6styjd0jx8a/03gogn1cvtuyxn3eq4267cv3+t16u2jhz701lfb6dealngbt2ydz+ccddheq7lottznizy11pvahv6aeohj3erhgp12ltujzrj6e28y1cw8g/p4cgeqkbephvpq522jp3lmynvjwwe/2rbbjsq66kht/wwn4+pw3jt76lq9o76nb5jco+gw35/l/p/ijxx43/auy+2+cqpmu7+o+9zfzzihsj511nf+bmr5gt/jltz1oeicnbzh/lt8c0+rc1wwl/3ivlvkvcu3h44/krtth/lzdvfy8bblxxquej8f+6b8zieut6snviccnxm/oc5jmpchdmixqzxlk3qiustov3d8inkc6c0hkoum45pmj9zhyj+pq4hozr9qr08i8zbrzru3u4rjcs9+fwhe44nkryewu/gd+ijr04blrrzu4xh4bi1t3camgmkb4lh4m4n2/0gnrh5jqwbr1u3vzmntwrxhefszuep7ez1+tcu2v9lr+2syagv3mvcfteumzb0vml1ifz0q6/74kzf3za3km/lb/cjd56zuh4oyyuy/1nnpzhknfe9fnd/9jqr0g/1vk1d+frk/hym2d+3vx7o7g83ybtggm86ydn1g1lfzlw3lumy4/9df7mv68vwdjrbpc3sbnrlt7lru//2bztekuwv0y2t/myb+jr6kh9q0lzjk2yv+1q6jx7dsy3qf4xe9/2c/t+rqy2tmq91lrcewv4zcf/8txmzzqz2ish+sirsvvzv2ei/bhgv1uuzrzduyqjls1upyenu+doj7+f78s+lay/l3z+pwnaq6wqm9x4pt8udzi3tki7vhrdn7rovee753uyiotr+7xec4zzutpd45kvim+e3old1ih/sew3yldgu609hb4zpnvty0vugzpd11maqmgbbp6a+5rngpiwxdd1dwqxdhpse6fohc1ijkqm7khnnvjvjxhv0iroqrrxwxf2/btvty1tnazvwhap2jqesyvnqjl5s2toryc8thv1luvbd9rvk2od+t1ofz16faz3tqll89xpjktpq2srtociphtm/lswyeeaz1n7psukzpfzrvhqp0pqwuu4rovlnulzjotfue7c9drsfvu/dz8xytq5yzpl8ddluhap1rspmo9ntp2pjmpnv31tlb3vwefc8j1nwg7/yz2zmvvr0kdkygph+aelyddlrh5u6vmtq3mdxdjidhgkx7bvchepyj7x30zvwhap38fmx4vxwwbtj8t3a/quncd4sy7uhfcchgx2laz1q1n7sxl0d3a3ynbcvvpkayqsmr8niwtjrtlym4zew99y1j1wszsivjdnwljdywkihrejegd2mqa3inezhpenlzl2/uoudnckp9utxgfewe1ycguxpy2cgm2eogp4/tevvysbktm9a95bqtzcujzv10wnb5ucpokdxhoxhjnvahxqqt2td0ifrnqpnm+zszrkkoeegmeorhunl4mcoqc7chuxu4z/5kljyaqkefud8cvsutbhvos2nhefanugcevbvqhqp0livyyy0e+++3nxv5zrkgy/avfuhjtkpatq4gevyx9nnxcyqrohtozlqto8vvb9tntx16h99rhil9f8wfe+1tan5xse8tpvmdcxeuj1rwdsjq4dor+/oo4mmiprzwsonceladm9ajbc3/p8tobthyo5/6381o7hc3qsf6rtcvsjlshqp0jhvwr2ggfln9ikp31al1ks974dkc1ys04onkouv3hkvz1afahzaj92pcxcqz55aonybajtp7vgebej7bjso61pegtkkobtq8c/a7hfc3vow0pnyo6fonfnwfty3votjf9szkqg4fomrrdy9v4seaxgleqidc9jfyja8c7uxfi4kvdbkd2yh9snuo0ohzg8dwl0hiafapyy8q77vwpv1xknqhqd2vqfa9htthwdehqgecqiejz73q1cldomdwtvlq+nhgekj1i8jhtpdq4zlkdftyjq3ptakobtpjfl7d+htf6jtbv4+mervbtkq8tvxqrdcfzyel+vuuhyjtmmekx8syztxh2dahqgd0o/pqsaqdsng2fjprpljcz1chrfc1mllresotmkeco7zeimg6sotpe9s173cyu+ngxuvzdsjqmv6y337qscjetv2mzlh3p80ifxruirr1csio76xn4kphhdkcocygwtagco6y1gnle8nr38jop5z3qq4fotmk88uxgxsdo2n47elt0w4z78m/fpwz2ndqynkj9dbqtv3jlartaionvhwmiracclekpukrwulhb2uni9nugpnb307py3eem1pedtigy3t5q08tldzfvxzcbrgv7zl4j59a3njfblm0wwv5oy6ow7ru+y/2u4xn03x73na9fv05ty9lbn+n/i7xyn10zsa6aooxhr6qe8jiz2xmamsyqg37upmstweqm5ctvlnv1tfjl6mclbw6nbuogq7nkkvdt6kobbpap+dav46b3uze26h455l5rgi+smz3rjugqd/fqi/fofw+afd6cyjm/s2xci95lbfsk6jdibjktuob+bbfrnlmflo1lnljeujpdykdkmbtmnylxq308b0fqryfhqtrq86+/n1jomeyt6kobtpjokcu4ogmz9nmz5c0cyxwbfaxtse+zyahs9jf+gyco+wqhwi/dszvwh0kdc77gbo6xvci/s1pbaziqq3et8huf/q0hdhdxverhgyqaxv+fqtraxzb/ui6vfoqq4hour9qj9+stupgxl6pbxyjc+pgsddf/uwcd7fdf4urua1+ahnved0v3vwdc79fcpfvxxpq1og4mbt37wzmutzp5vng3zb889tnsmmlvnvxl/rg1d4uuf118tvgryluy/ubtwh/29ggd2dcdzn62j6w9tk+vnyo5zpmhqp0xhqw1amk1+8csvrz69fiyxv/vj1ab6ttykgmx87ftb3j9lc9etha9hf7wlxw2qdl3cdyjqqsu6pdgq4a/oueogaidabaoamaah0aeogainabaieoaah0aecga4babwaeogag0aeagq4aah0aeogageahaaq6aah0aecgawachqaq6aag0aeagq4achqaqkadgeahaaq6acdqaqcbdgachqaq6acaqacabdoachqaqkadaaidabdoacdqaqcbdgaidabaoaoaqacabdoainabaieoaah0abdoaibabwaeogag0afaoamaah0aeogageahaieoaah0aecgawachqaeogag0aeagq4achqaeogageahaaq6acdqaucgawachqaq6acaqacagq4achqaqkadaaidaaq6acdqayd+/v+aaqadxuxs75wqpqaaaabjru5erkjggg",{"_index":8244,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["ivideoconferenceproperties",{"_index":23979,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{},"injectables/VideoConferenceRepo.html":{}}}],["ivideoconferencesettings",{"_index":13633,"title":{"interfaces/IVideoConferenceSettings.html":{}},"body":{"interfaces/IVideoConferenceSettings.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["javascript",{"_index":2373,"title":{},"body":{"injectables/BBBService.html":{},"injectables/BsonConverter.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["jest",{"_index":22132,"title":{},"body":{"classes/TestBootstrapConsole.html":{},"properties.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["jest.config.ts",{"_index":25368,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["jest.fn",{"_index":25773,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["jest.resetallmocks",{"_index":25750,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["jest.restoreallmocks",{"_index":25758,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["jest.spyon",{"_index":25770,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["jira",{"_index":24609,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["job",{"_index":8831,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"modules/FilesModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["job_init_idm.yml.j2",{"_index":14766,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["john",{"_index":23329,"title":{},"body":{"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["john${sequence",{"_index":13915,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["join",{"_index":2276,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{},"injectables/BBBService.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["join(config",{"_index":2367,"title":{},"body":{"injectables/BBBService.html":{}}}],["join(currentuser",{"_index":24030,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["join(currentuserid",{"_index":24226,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["join.config",{"_index":2288,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["join.config.ts",{"_index":2254,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["join.config.ts:18",{"_index":2259,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["join.config.ts:20",{"_index":2262,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["join.config.ts:22",{"_index":2263,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["join.config.ts:24",{"_index":2260,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["join.config.ts:26",{"_index":2261,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["join.config.ts:8",{"_index":2258,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["join.response.ts",{"_index":2293,"title":{},"body":{"interfaces/BBBJoinResponse.html":{},"classes/VideoConferenceJoinResponse.html":{}}}],["join.response.ts:5",{"_index":24223,"title":{},"body":{"classes/VideoConferenceJoinResponse.html":{}}}],["join.ts",{"_index":24218,"title":{},"body":{"classes/VideoConferenceJoin.html":{}}}],["join.ts:5",{"_index":24221,"title":{},"body":{"classes/VideoConferenceJoin.html":{}}}],["join.ts:7",{"_index":24220,"title":{},"body":{"classes/VideoConferenceJoin.html":{}}}],["join.ts:9",{"_index":24219,"title":{},"body":{"classes/VideoConferenceJoin.html":{}}}],["join.uc.ts",{"_index":24224,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["join.uc.ts:12",{"_index":24225,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["join.uc.ts:19",{"_index":24227,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["joinbuilder",{"_index":24229,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["joinbuilder.asguest(true",{"_index":24236,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["joinbuilder.withrole(bbbrole.moderator",{"_index":24234,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["joining",{"_index":24033,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["joinpath",{"_index":11994,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["joinpath(...paths",{"_index":12012,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["joinpath(path",{"_index":3911,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["joins",{"_index":24289,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["jose",{"_index":24501,"title":{},"body":{"dependencies.html":{}}}],["jpeg",{"_index":10364,"title":{},"body":{"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{}}}],["js",{"_index":7445,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/Lti11EncryptionService.html":{},"injectables/OidcProvisioningService.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/UsersList.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["json",{"_index":1610,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"injectables/BsonConverter.html":{},"interfaces/CollectionFilePath.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"classes/TestApiClient.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{}}}],["json.parse(data",{"_index":14846,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["json.parse(filecontent",{"_index":5282,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["json.replace",{"_index":5347,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["json.replace(/\\\\\\$/g",{"_index":5351,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["json.stringify",{"_index":5247,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["json.stringify(collections",{"_index":8735,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["json.stringify(e.constraints",{"_index":9842,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["json.stringify(payload",{"_index":2796,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["json.stringify(response.body",{"_index":1682,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["json.stringify(response.error",{"_index":1679,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["json.stringify(sortedbsondocuments",{"_index":5310,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["json.stringify(this.axioserror.response?.data",{"_index":2109,"title":{},"body":{"classes/AxiosErrorLoggable.html":{}}}],["json.stringify(where",{"_index":20151,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["jsonaccount",{"_index":14253,"title":{"interfaces/JsonAccount.html":{}},"body":{"interfaces/JsonAccount.html":{},"classes/KeycloakSeedService.html":{}}}],["jsondocuments",{"_index":4193,"title":{},"body":{"injectables/BsonConverter.html":{},"interfaces/CollectionFilePath.html":{},"injectables/DatabaseManagementService.html":{}}}],["jsondocuments.length",{"_index":8803,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["jsontype",{"_index":6575,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["jsonuser",{"_index":14257,"title":{"interfaces/JsonUser.html":{}},"body":{"interfaces/JsonUser.html":{},"classes/KeycloakSeedService.html":{}}}],["jsonwebtoken",{"_index":1548,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/AuthenticationService.html":{},"interfaces/CreateJwtParams.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/OAuthService.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"dependencies.html":{}}}],["jti",{"_index":1730,"title":{},"body":{"injectables/AuthenticationService.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{}}}],["jwks",{"_index":16943,"title":{},"body":{"injectables/OauthAdapterService.html":{},"classes/OauthConfigResponse.html":{},"dependencies.html":{}}}],["jwksendpoint",{"_index":13537,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["jwksrsa",{"_index":16942,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["jwksrsa.jwksclient",{"_index":16946,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["jwksrsa.signingkey",{"_index":16947,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["jwksuri",{"_index":16936,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["jwt",{"_index":1585,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"interfaces/CreateJwtParams.html":{},"injectables/HydraOauthUc.html":{},"classes/IdentityManagementOauthService.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/LocalStrategy.html":{},"classes/OAuthProcessDto.html":{},"injectables/OAuthService.html":{},"controllers/OauthSSOController.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"classes/TestApiClient.html":{},"controllers/UserLoginMigrationController.html":{},"dependencies.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["jwt.decode(input.idtoken",{"_index":14227,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{}}}],["jwt.decode(jwttoken",{"_index":1736,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["jwt.sign",{"_index":7930,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["jwt.verify(idtoken",{"_index":16869,"title":{},"body":{"injectables/OAuthService.html":{}}}],["jwt=${jwt",{"_index":13432,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["jwtauthguard",{"_index":14259,"title":{"injectables/JwtAuthGuard.html":{}},"body":{"injectables/JwtAuthGuard.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["jwtconstants",{"_index":1549,"title":{"interfaces/JwtConstants.html":{}},"body":{"modules/AuthenticationModule.html":{},"interfaces/JwtConstants.html":{},"injectables/JwtStrategy.html":{}}}],["jwtconstants.jwtoptions",{"_index":14302,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["jwtconstants.jwtoptions.algorithm",{"_index":1588,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtconstants.jwtoptions.audience",{"_index":1590,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtconstants.jwtoptions.expiresin",{"_index":1592,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtconstants.jwtoptions.header",{"_index":1596,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtconstants.jwtoptions.issuer",{"_index":1594,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtconstants.secret",{"_index":1599,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/JwtStrategy.html":{}}}],["jwtextractor",{"_index":14277,"title":{"classes/JwtExtractor.html":{}},"body":{"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{}}}],["jwtextractor.fromcookie('jwt",{"_index":14299,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["jwtfromrequest",{"_index":14296,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["jwtfromrequestfunction",{"_index":14283,"title":{},"body":{"classes/JwtExtractor.html":{}}}],["jwtfromresponse",{"_index":1656,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["jwtid",{"_index":1733,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["jwtmodule",{"_index":1541,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtmodule.register(jwtmoduleoptions",{"_index":1601,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtmoduleoptions",{"_index":1542,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtoptions",{"_index":14264,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["jwtpayload",{"_index":1719,"title":{"interfaces/JwtPayload.html":{}},"body":{"injectables/AuthenticationService.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"injectables/OAuthService.html":{},"injectables/OidcMockProvisioningStrategy.html":{}}}],["jwtpayload.accountid",{"_index":8021,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwtpayload.isexternaluser",{"_index":8028,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwtpayload.roles",{"_index":8023,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwtpayload.schoolid",{"_index":8024,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwtpayload.support",{"_index":8027,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwtpayload.systemid",{"_index":8022,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwtpayload.userid",{"_index":8025,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwtservice",{"_index":1694,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["jwtstrategy",{"_index":1527,"title":{"injectables/JwtStrategy.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/JwtStrategy.html":{}}}],["jwttestfactory",{"_index":7926,"title":{"classes/JwtTestFactory.html":{}},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["jwttoicurrentuser",{"_index":7993,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwttoicurrentuser(jwtpayload",{"_index":7997,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwttoken",{"_index":1709,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["jwtvalidationadapter",{"_index":1528,"title":{"injectables/JwtValidationAdapter.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/AuthenticationService.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{}}}],["k",{"_index":1810,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["kann",{"_index":5515,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["kc",{"_index":14401,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["kc.clients.addprotocolmapper",{"_index":14573,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.clients.create(cr",{"_index":14549,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.clients.find",{"_index":14404,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["kc.clients.getclientsecret",{"_index":14406,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["kc.clients.listprotocolmappers",{"_index":14565,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.clients.update",{"_index":14550,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.clients.updateprotocolmapper",{"_index":14570,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.identityproviders.create",{"_index":14584,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.identityproviders.createmapper",{"_index":14596,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.identityproviders.del",{"_index":14590,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.identityproviders.find",{"_index":14552,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.identityproviders.findmappers",{"_index":14591,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.identityproviders.update",{"_index":14587,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.identityproviders.updatemapper",{"_index":14592,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.realmname",{"_index":14521,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.realms.makerequest",{"_index":14517,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.realms.update",{"_index":14408,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["kc.users.count",{"_index":14727,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["kc.users.create",{"_index":14702,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["kc.users.create(idmuserrepresentation",{"_index":14805,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["kc.users.del",{"_index":14840,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["kc.users.del(id",{"_index":14712,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["kc.users.find",{"_index":14728,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["kc.users.findone",{"_index":14738,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["kc.users.resetpassword",{"_index":14709,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["kc.users.update",{"_index":14743,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["kcadmin",{"_index":14460,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["kcadminclient",{"_index":14378,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["kcadminservice",{"_index":14648,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["kcsettings",{"_index":14376,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["kcsettings.baseurl",{"_index":14392,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["kcsettings.realmname",{"_index":14393,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["kebab",{"_index":25832,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["keep",{"_index":5292,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/StorageProviderEncryptedStringType.html":{},"index.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["keepdiscriminatorproperty",{"_index":9529,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["keeps",{"_index":25318,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["kennung",{"_index":19459,"title":{},"body":{"classes/SanisOrganisationResponse.html":{}}}],["kernel",{"_index":24769,"title":{},"body":{"license.html":{}}}],["key",{"_index":2124,"title":{},"body":{"classes/AxiosResponseImp.html":{},"injectables/BBBService.html":{},"injectables/CommonToolValidationService.html":{},"injectables/CopyHelperService.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterFactory.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"modules/EncryptionModule.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/NewsUc.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthAdapterService.html":{},"injectables/S3ClientAdapter.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"injectables/XApiKeyStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["key.config",{"_index":9232,"title":{},"body":{"modules/DeletionModule.html":{},"injectables/XApiKeyStrategy.html":{}}}],["key.config.ts",{"_index":24395,"title":{},"body":{"interfaces/XApiKeyConfig.html":{}}}],["key.getpublickey",{"_index":16949,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["key.strategy",{"_index":1560,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["key.strategy.ts",{"_index":24397,"title":{},"body":{"injectables/XApiKeyStrategy.html":{}}}],["key.strategy.ts:16",{"_index":24400,"title":{},"body":{"injectables/XApiKeyStrategy.html":{}}}],["key.strategy.ts:9",{"_index":24399,"title":{},"body":{"injectables/XApiKeyStrategy.html":{}}}],["key.substring(path.length",{"_index":19386,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["keycloak",{"_index":618,"title":{"additional-documentation/nestjs-application/keycloak.html":{}},"body":{"injectables/AccountLookupService.html":{},"interfaces/CleanOptions.html":{},"modules/IdentityManagementModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["keycloak/keycloak",{"_index":14355,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/OidcIdentityProviderMapper.html":{},"dependencies.html":{}}}],["keycloak/keycloak.module",{"_index":13714,"title":{},"body":{"modules/IdentityManagementModule.html":{}}}],["keycloak/service/keycloak",{"_index":13716,"title":{},"body":{"modules/IdentityManagementModule.html":{}}}],["keycloak:/tmp/realms",{"_index":25906,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["keycloakadminclient",{"_index":14354,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{}}}],["keycloakadministration",{"_index":14339,"title":{"classes/KeycloakAdministration.html":{}},"body":{"classes/KeycloakAdministration.html":{}}}],["keycloakadministrationmodule",{"_index":13707,"title":{"modules/KeycloakAdministrationModule.html":{}},"body":{"modules/IdentityManagementModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{}}}],["keycloakadministrationservice",{"_index":14352,"title":{"injectables/KeycloakAdministrationService.html":{}},"body":{"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["keycloakadministrationservice.authorization_timebox_ms",{"_index":14415,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["keycloakconfigservice",{"_index":14612,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["keycloakconfiguration",{"_index":14358,"title":{"classes/KeycloakConfiguration.html":{}},"body":{"modules/KeycloakAdministrationModule.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{}}}],["keycloakconfiguration.keycloakinputfiles",{"_index":14442,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["keycloakconfiguration.keycloaksettings",{"_index":14361,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{}}}],["keycloakconfigurationinputfiles",{"_index":13589,"title":{},"body":{"interfaces/IKeycloakConfigurationInputFiles.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakSeedService.html":{}}}],["keycloakconfigurationmodule",{"_index":14422,"title":{"modules/KeycloakConfigurationModule.html":{}},"body":{"modules/KeycloakConfigurationModule.html":{},"modules/ManagementModule.html":{}}}],["keycloakconfigurationservice",{"_index":14427,"title":{"injectables/KeycloakConfigurationService.html":{}},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{}}}],["keycloakconfigurationuc",{"_index":4861,"title":{"injectables/KeycloakConfigurationUc.html":{}},"body":{"interfaces/CleanOptions.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["keycloakconsole",{"_index":4875,"title":{"classes/KeycloakConsole.html":{}},"body":{"interfaces/CleanOptions.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["keycloakconsole.retryflags",{"_index":4895,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["keycloakidentitymanagementoauthservice",{"_index":13715,"title":{"injectables/KeycloakIdentityManagementOauthService.html":{}},"body":{"modules/IdentityManagementModule.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"modules/KeycloakModule.html":{}}}],["keycloakidentitymanagementservice",{"_index":13717,"title":{"injectables/KeycloakIdentityManagementService.html":{}},"body":{"modules/IdentityManagementModule.html":{},"injectables/KeycloakIdentityManagementService.html":{},"modules/KeycloakModule.html":{}}}],["keycloakinputfiles",{"_index":14417,"title":{},"body":{"classes/KeycloakConfiguration.html":{}}}],["keycloakmanagementcontroller",{"_index":14431,"title":{"controllers/KeycloakManagementController.html":{}},"body":{"modules/KeycloakConfigurationModule.html":{},"controllers/KeycloakManagementController.html":{}}}],["keycloakmanagementuc",{"_index":14771,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["keycloakmigrationservice",{"_index":14429,"title":{"injectables/KeycloakMigrationService.html":{}},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakMigrationService.html":{}}}],["keycloakmodule",{"_index":13708,"title":{"modules/KeycloakModule.html":{}},"body":{"modules/IdentityManagementModule.html":{},"modules/KeycloakModule.html":{},"modules/ServerConsoleModule.html":{}}}],["keycloakseedservice",{"_index":14428,"title":{"classes/KeycloakSeedService.html":{}},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakSeedService.html":{}}}],["keycloaksettings",{"_index":13594,"title":{},"body":{"interfaces/IKeycloakSettings.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{}}}],["keycloakuser",{"_index":14715,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["keycloakusers",{"_index":14719,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["keycloakusers.length",{"_index":14723,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["keycloakusers.map((user",{"_index":14735,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["keypair",{"_index":7917,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["keypair.privatekey.export",{"_index":7925,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["keypair.publickey.export",{"_index":7922,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["keypairkeyobjectresult",{"_index":7916,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["keys",{"_index":617,"title":{},"body":{"injectables/AccountLookupService.html":{},"interfaces/JwtConstants.html":{},"license.html":{}}}],["keyvalue",{"_index":1759,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["keywords",{"_index":25207,"title":{},"body":{"properties.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["kickuserfromgroup(groupname",{"_index":1128,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["kind",{"_index":24738,"title":{},"body":{"license.html":{}}}],["kinds",{"_index":24648,"title":{},"body":{"license.html":{}}}],["kiss",{"_index":25423,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["know",{"_index":24668,"title":{},"body":{"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["knowing",{"_index":25463,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["knowingly",{"_index":25077,"title":{},"body":{"license.html":{}}}],["knowledge",{"_index":25084,"title":{},"body":{"license.html":{}}}],["known",{"_index":5372,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["known/jwks.json",{"_index":13539,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["known/openid",{"_index":14398,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["kontinuierlich",{"_index":5508,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["ktid",{"_index":19592,"title":{},"body":{"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["kurse",{"_index":7453,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["kvcache",{"_index":13312,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["l",{"_index":9031,"title":{},"body":{"classes/DeletionExecutionConsole.html":{}}}],["l.course.isfinished()).map((l",{"_index":21794,"title":{},"body":{"injectables/TaskUC.html":{}}}],["l.id",{"_index":21795,"title":{},"body":{"injectables/TaskUC.html":{}}}],["l.name",{"_index":15403,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["label",{"_index":24617,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["labelnames",{"_index":18741,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["labels",{"_index":18743,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["language",{"_index":1198,"title":{},"body":{"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/ContentMetadata.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{},"classes/MongoPatterns.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDto.html":{},"classes/UserMapper.html":{},"interfaces/UserProperties.html":{},"injectables/UserService.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["language_override",{"_index":5343,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["languagetype",{"_index":4551,"title":{},"body":{"classes/ChangeLanguageParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"interfaces/UserProperties.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["languagetype'})@isenum(languagetype",{"_index":12502,"title":{},"body":{"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{}}}],["languagetype'})@isenum(languagetype)@isoptional",{"_index":12491,"title":{},"body":{"classes/GetH5PContentParams.html":{}}}],["languagetype})@isenum(languagetype",{"_index":4552,"title":{},"body":{"classes/ChangeLanguageParams.html":{}}}],["largely",{"_index":25674,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["larger",{"_index":24863,"title":{},"body":{"license.html":{}}}],["last",{"_index":7905,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/UserInfoResponse.html":{}}}],["lastauthorizationtime",{"_index":14365,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["lastloginsystemchange",{"_index":23119,"title":{},"body":{"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDto.html":{},"classes/UserMapper.html":{},"interfaces/UserProperties.html":{},"classes/UserScope.html":{}}}],["lastloginsystemchangebetweenend",{"_index":19995,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["lastloginsystemchangebetweenstart",{"_index":19994,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["lastloginsystemchangesmallerthan",{"_index":19982,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["lastmodifytimestamp",{"_index":14878,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["lastname",{"_index":701,"title":{},"body":{"interfaces/AccountParams.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/CollectionFilePath.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/ExternalUserDto.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterUserParams.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUserResponse.html":{},"interfaces/IImportUserScope.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/IservMapper.html":{},"interfaces/JsonUser.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"interfaces/NameMatch.html":{},"injectables/OidcProvisioningService.html":{},"classes/PatchMyAccountParams.html":{},"classes/ResolvedUserResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SortImportUserParams.html":{},"classes/SubmissionItemResponseMapper.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["lastname.replace(mongopatterns.regex_mongo_language_pattern_whitelist",{"_index":14114,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["lastnamesearchvalues",{"_index":5335,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserProperties.html":{}}}],["lastpositionlibrariestocheckarray",{"_index":13330,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["lastpositionlibrariestoinstallarray",{"_index":13341,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["lastsuccessfulfullsync",{"_index":14879,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["lastsuccessfulpartialsync",{"_index":14880,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["lastsyncattempt",{"_index":14881,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["lasttriedfailedlogin",{"_index":82,"title":{},"body":{"classes/AbstractAccountService.html":{},"entities/Account.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{}}}],["lastupdatedat",{"_index":4004,"title":{},"body":{"classes/BoardResponseMapper.html":{},"classes/CardResponseMapper.html":{},"classes/ColumnResponseMapper.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/TimestampsResponse.html":{}}}],["lastvaluefrom",{"_index":1055,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/ExternalToolLogoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthAdapterService.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["lastvaluefrom(observable",{"_index":16956,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["lastvaluefrom(this.httpservice.get>(wellknownurl))).data",{"_index":14656,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["later",{"_index":3721,"title":{},"body":{"entities/BoardElement.html":{},"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/TeamNews.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["latest",{"_index":15582,"title":{},"body":{"injectables/LibraryRepo.html":{},"injectables/NewsUc.html":{},"controllers/ToolConfigurationController.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["latest.patchversion",{"_index":15585,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["launch",{"_index":2786,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"modules/ToolModule.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["launch.controller",{"_index":22593,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["launch.controller.ts",{"_index":22794,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["launch.controller.ts:28",{"_index":22803,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["launch.mapper.ts",{"_index":22820,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["launch.mapper.ts:24",{"_index":22826,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["launch.mapper.ts:29",{"_index":22831,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["launch.mapper.ts:34",{"_index":22828,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["launch.mapper.ts:39",{"_index":22834,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["launch.module.ts",{"_index":22856,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["launch.params.ts",{"_index":22861,"title":{},"body":{"classes/ToolLaunchParams.html":{}}}],["launch.params.ts:7",{"_index":22862,"title":{},"body":{"classes/ToolLaunchParams.html":{}}}],["launch.service.ts",{"_index":22877,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launch.service.ts:23",{"_index":22882,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launch.service.ts:39",{"_index":22884,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launch.service.ts:52",{"_index":22886,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launch.service.ts:74",{"_index":22890,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launch.service.ts:87",{"_index":22888,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launch.strategy",{"_index":2785,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["launch.strategy.ts",{"_index":2724,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["launch.uc.ts",{"_index":22915,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["launch.uc.ts:12",{"_index":22917,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["launch.uc.ts:19",{"_index":22919,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["launch/controller/dto/tool",{"_index":22860,"title":{},"body":{"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["launch/controller/tool",{"_index":22592,"title":{},"body":{"modules/ToolApiModule.html":{},"controllers/ToolLaunchController.html":{}}}],["launch/error/missing",{"_index":16332,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["launch/error/parameter",{"_index":17709,"title":{},"body":{"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["launch/error/tool",{"_index":23070,"title":{},"body":{"classes/ToolStatusOutdatedLoggableException.html":{}}}],["launch/mapper/lti",{"_index":15884,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["launch/mapper/tool",{"_index":22819,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["launch/service/auto",{"_index":1999,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{}}}],["launch/service/launch",{"_index":2722,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"interfaces/ToolLaunchStrategy.html":{}}}],["launch/service/lti11",{"_index":15827,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["launch/service/tool",{"_index":22876,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launch/settings",{"_index":25232,"title":{},"body":{"todo.html":{}}}],["launch/tool",{"_index":22855,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["launch/types/authentication",{"_index":1757,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["launch/types/property",{"_index":18037,"title":{},"body":{"classes/PropertyData.html":{}}}],["launch/types/tool",{"_index":22811,"title":{},"body":{"classes/ToolLaunchData.html":{},"classes/ToolLaunchRequest.html":{}}}],["launch/uc",{"_index":22594,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["launch/uc/tool",{"_index":22914,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["launch_presentation_locale",{"_index":8225,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["launch_url",{"_index":5887,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["launchdata",{"_index":22905,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launchdatatype",{"_index":22829,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["launched",{"_index":22802,"title":{},"body":{"controllers/ToolLaunchController.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolStatusOutdatedLoggableException.html":{}}}],["launching",{"_index":17714,"title":{},"body":{"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["launchrequest",{"_index":22900,"title":{},"body":{"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{}}}],["launchrequestmethod",{"_index":2748,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["launchrequestmethod.get",{"_index":2800,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["launchrequestmethod.post",{"_index":2799,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["law",{"_index":24729,"title":{},"body":{"license.html":{}}}],["laws",{"_index":24708,"title":{},"body":{"license.html":{}}}],["lawsuit",{"_index":25050,"title":{},"body":{"license.html":{}}}],["lax",{"_index":20217,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["layer",{"_index":22934,"title":{},"body":{"injectables/ToolPermissionHelper.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["layered",{"_index":25572,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["layers",{"_index":25215,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["lazily",{"_index":17756,"title":{},"body":{"injectables/PermissionService.html":{}}}],["ldap",{"_index":13560,"title":{},"body":{"interfaces/ICurrentUser.html":{},"modules/ImportUserModule.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"controllers/LoginController.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{},"classes/System.html":{},"interfaces/SystemProps.html":{},"classes/UserMigrationIsNotEnabled.html":{},"todo.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["ldap'})@apiresponse({status",{"_index":15746,"title":{},"body":{"controllers/LoginController.html":{}}}],["ldap_connection_failed",{"_index":14992,"title":{},"body":{"classes/LdapConnectionError.html":{}}}],["ldap_password_encryption_key",{"_index":9792,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["ldap_univention_migration",{"_index":19638,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["ldapactive",{"_index":21077,"title":{},"body":{"classes/SystemDto.html":{},"classes/SystemMapper.html":{}}}],["ldapalreadypersistedexception",{"_index":14848,"title":{"classes/LdapAlreadyPersistedException.html":{}},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["ldapauthorizationbodyparams",{"_index":14861,"title":{"classes/LdapAuthorizationBodyParams.html":{}},"body":{"classes/LdapAuthorizationBodyParams.html":{},"injectables/LdapStrategy.html":{},"controllers/LoginController.html":{}}}],["ldapconfig",{"_index":14868,"title":{"classes/LdapConfig.html":{}},"body":{"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"injectables/LdapService.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/System.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{}}}],["ldapconfig.active",{"_index":14924,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfig.federalstate",{"_index":14926,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfig.lastmodifytimestamp",{"_index":14934,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfig.lastsuccessfulfullsync",{"_index":14930,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfig.lastsuccessfulpartialsync",{"_index":14932,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfig.lastsyncattempt",{"_index":14928,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfig.provider",{"_index":14942,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfig.provideroptions",{"_index":14944,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfig.rootpath",{"_index":14937,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfig.searchuser",{"_index":14939,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfig.searchuserpassword",{"_index":14941,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfig.url",{"_index":14935,"title":{},"body":{"classes/LdapConfigEntity.html":{},"injectables/LdapService.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfigentity",{"_index":14876,"title":{"classes/LdapConfigEntity.html":{}},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconnectionerror",{"_index":14987,"title":{"classes/LdapConnectionError.html":{}},"body":{"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{}}}],["ldapdn",{"_index":4562,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"injectables/LdapStrategy.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDto.html":{},"classes/UserMapper.html":{},"interfaces/UserProperties.html":{}}}],["ldapencryptionservice",{"_index":5173,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"modules/EncryptionModule.html":{},"interfaces/EncryptionService.html":{}}}],["ldapid",{"_index":13773,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["ldapjs",{"_index":15001,"title":{},"body":{"injectables/LdapService.html":{},"dependencies.html":{}}}],["ldapjs.git",{"_index":24507,"title":{},"body":{"dependencies.html":{}}}],["ldaps:mock.de:389",{"_index":21120,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["ldapschool",{"_index":14235,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["ldapschoolidentifier",{"_index":19615,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["ldapservice",{"_index":1529,"title":{"injectables/LdapService.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{}}}],["ldapservice:connect",{"_index":15019,"title":{},"body":{"injectables/LdapService.html":{}}}],["ldapstrategy",{"_index":1530,"title":{"injectables/LdapStrategy.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/LdapStrategy.html":{}}}],["ldapuniventionmigrationschool",{"_index":19639,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["ldapuser",{"_index":14230,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["ldapuser.roles.map((roleref",{"_index":14237,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["ldapusermigrationexception",{"_index":14851,"title":{"classes/LdapUserMigrationException.html":{}},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["lead",{"_index":4499,"title":{},"body":{"classes/CardSkeletonResponse.html":{},"injectables/LdapStrategy.html":{}}}],["leads",{"_index":21659,"title":{},"body":{"injectables/TaskRepo.html":{},"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["leaf",{"_index":3574,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["lean",{"_index":24516,"title":{},"body":{"dependencies.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["learn",{"_index":25307,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["learner",{"_index":8033,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["learning",{"_index":12383,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GetFwuLearningContentParams.html":{},"interfaces/S3Config-1.html":{}}}],["learningmodules",{"_index":5986,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["learnroom",{"_index":3874,"title":{"interfaces/Learnroom.html":{}},"body":{"modules/BoardModule.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardModelMapper.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"modules/MetaTagExtractorModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/ToolApiModule.html":{},"classes/UsersList.html":{},"modules/VideoConferenceModule.html":{}}}],["learnroom.module",{"_index":15086,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["learnroomapimodule",{"_index":15074,"title":{"modules/LearnroomApiModule.html":{}},"body":{"modules/LearnroomApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["learnroomelement",{"_index":2936,"title":{"interfaces/LearnroomElement.html":{}},"body":{"entities/Board.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["learnroommetadata",{"_index":7437,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"classes/UsersList.html":{}}}],["learnroommodule",{"_index":8920,"title":{"modules/LearnroomModule.html":{}},"body":{"modules/DeletionApiModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/PseudonymModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/VideoConferenceModule.html":{}}}],["learnroomtypes",{"_index":7438,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/DashboardModelMapper.html":{},"classes/MetadataTypeMapper.html":{},"classes/UsersList.html":{}}}],["learnroomtypes.course",{"_index":7508,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/DashboardModelMapper.html":{},"classes/MetadataTypeMapper.html":{},"classes/UsersList.html":{}}}],["leave",{"_index":7027,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{},"todo.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["leaves",{"_index":22185,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["left",{"_index":25490,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["legacy",{"_index":997,"title":{},"body":{"injectables/AccountValidationService.html":{},"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/LdapConfigEntity.html":{},"modules/LoggerModule.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"injectables/VideoConferenceCreateUc.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["legacy/deprecated",{"_index":26040,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["legacy/feathers",{"_index":25372,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["legacy/feathers/mocha",{"_index":25349,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["legacy/nest",{"_index":25259,"title":{},"body":{"todo.html":{}}}],["legacylogger",{"_index":2450,"title":{"injectables/LegacyLogger.html":{}},"body":{"injectables/BaseDORepo.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardUc.html":{},"modules/CacheWrapperModule.html":{},"injectables/CardUc.html":{},"interfaces/CleanOptions.html":{},"injectables/CollaborativeStorageAdapter.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnUc.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DrawingElementAdapterService.html":{},"injectables/DurationLoggingInterceptor.html":{},"modules/EncryptionModule.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"injectables/FwuLearningContentsUc.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapService.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySchoolRepo.html":{},"modules/LoggerModule.html":{},"modules/LtiToolModule.html":{},"interfaces/MigrationOptions.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"controllers/OauthSSOController.html":{},"injectables/PreviewService.html":{},"modules/PseudonymModule.html":{},"modules/RedisModule.html":{},"injectables/RequestLoggingInterceptor.html":{},"interfaces/RetryOptions.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolMigrationService.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"injectables/SymetricKeyEncryptionService.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"injectables/UserLoginMigrationRepo.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["legacyschooldo",{"_index":2070,"title":{"classes/LegacySchoolDo.html":{}},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PseudonymUc.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"injectables/SchoolValidationService.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["legacyschooldofactory",{"_index":15176,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["legacyschoolfactory",{"_index":15168,"title":{"classes/LegacySchoolFactory.html":{}},"body":{"classes/LegacySchoolFactory.html":{}}}],["legacyschoolfactory.define(legacyschooldo",{"_index":15177,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["legacyschoolmodule",{"_index":6033,"title":{"modules/LegacySchoolModule.html":{}},"body":{"modules/CommonToolModule.html":{},"modules/GroupApiModule.html":{},"modules/ImportUserModule.html":{},"modules/LegacySchoolModule.html":{},"modules/OauthModule.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceModule.html":{}}}],["legacyschoolrepo",{"_index":1531,"title":{"injectables/LegacySchoolRepo.html":{}},"body":{"modules/AuthenticationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/ImportUserModule.html":{},"injectables/LdapStrategy.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/SchoolValidationService.html":{}}}],["legacyschoolrule",{"_index":1871,"title":{"injectables/LegacySchoolRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/LegacySchoolRule.html":{},"injectables/RuleManager.html":{}}}],["legacyschoolservice",{"_index":2065,"title":{"injectables/LegacySchoolService.html":{}},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"injectables/IservProvisioningStrategy.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolService.html":{},"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PseudonymUc.html":{},"injectables/SchoolMigrationService.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["legacysystemrepo",{"_index":671,"title":{"injectables/LegacySystemRepo.html":{}},"body":{"modules/AccountModule.html":{},"modules/AuthenticationModule.html":{},"modules/ImportUserModule.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/SystemModule.html":{},"injectables/SystemOidcService.html":{}}}],["legacysystemservice",{"_index":15300,"title":{"injectables/LegacySystemService.html":{}},"body":{"injectables/LegacySystemService.html":{},"injectables/OAuthService.html":{},"injectables/ProvisioningService.html":{},"modules/SystemModule.html":{},"injectables/SystemUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["legal",{"_index":24676,"title":{},"body":{"license.html":{}}}],["legayschoolrule",{"_index":19252,"title":{},"body":{"injectables/RuleManager.html":{}}}],["legend",{"_index":256,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"modules/DatabaseManagementModule.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FeathersModule.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolModule.html":{},"modules/LessonApiModule.html":{},"modules/LessonModule.html":{},"modules/LoggerModule.html":{},"modules/LtiToolModule.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/NewsModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/OauthProviderServiceModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"modules/PseudonymModule.html":{},"modules/RedisModule.html":{},"modules/RegistrationPinModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{}}}],["length",{"_index":3814,"title":{},"body":{"injectables/BoardManagementUc.html":{},"classes/FilesStorageMapper.html":{},"controllers/FwuLearningContentsController.html":{},"classes/GroupUcMapper.html":{},"controllers/H5PEditorController.html":{},"injectables/TldrawWsService.html":{}}}],["lernstore",{"_index":6173,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["lernstore_view",{"_index":19648,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["lesson",{"_index":1936,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"entities/Board.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"interfaces/CopyFileDO.html":{},"classes/DtoCreator.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ITask.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"modules/MetaTagExtractorModule.html":{},"interfaces/ParentInfo.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"classes/ShareTokenDO.html":{},"injectables/ShareTokenUC.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"entities/Task.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["lesson({course",{"_index":26028,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["lesson.contents.foreach((content",{"_index":5752,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["lesson.contents.map((c",{"_index":15527,"title":{},"body":{"injectables/LessonService.html":{}}}],["lesson.course",{"_index":19139,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{},"injectables/TaskRepo.html":{}}}],["lesson.course.name",{"_index":9668,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["lesson.coursegroup",{"_index":21582,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["lesson.coursename",{"_index":19098,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["lesson.createdat",{"_index":9666,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["lesson.entity",{"_index":2939,"title":{},"body":{"entities/Board.html":{},"entities/BoardElement.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"entities/LessonBoardElement.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["lesson.getnumberofdrafttasks",{"_index":9671,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["lesson.getnumberofplannedtasks",{"_index":9673,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["lesson.getnumberofpublishedtasks",{"_index":9669,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["lesson.hidden",{"_index":9665,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{}}}],["lesson.id",{"_index":9664,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["lesson.module",{"_index":15361,"title":{},"body":{"modules/LessonApiModule.html":{}}}],["lesson.name",{"_index":5750,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/DtoCreator.html":{},"injectables/LessonUrlHandler.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["lesson.numberofdrafttasks",{"_index":19096,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["lesson.numberofplannedtasks",{"_index":19097,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["lesson.numberofpublishedtasks",{"_index":19095,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["lesson.response",{"_index":3737,"title":{},"body":{"classes/BoardElementResponse.html":{}}}],["lesson.response.ts",{"_index":3741,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:27",{"_index":3751,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:31",{"_index":3752,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:35",{"_index":3748,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:40",{"_index":3757,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:46",{"_index":3754,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:5",{"_index":3746,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:52",{"_index":3755,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:55",{"_index":3749,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:58",{"_index":3758,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:61",{"_index":3750,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.rule",{"_index":21689,"title":{},"body":{"injectables/TaskRule.html":{}}}],["lesson.tasks.getitems",{"_index":5757,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["lesson.updatedat",{"_index":9667,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["lesson/task",{"_index":20346,"title":{},"body":{"classes/ShareTokenImportBodyParams.html":{}}}],["lessonapimodule",{"_index":15354,"title":{"modules/LessonApiModule.html":{}},"body":{"modules/LessonApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["lessonboardelement",{"_index":2949,"title":{"entities/LessonBoardElement.html":{}},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardRepo.html":{},"entities/LessonBoardElement.html":{}}}],["lessoncontroller",{"_index":15360,"title":{"controllers/LessonController.html":{}},"body":{"modules/LessonApiModule.html":{},"controllers/LessonController.html":{}}}],["lessoncopyapiparams",{"_index":7313,"title":{"classes/LessonCopyApiParams.html":{}},"body":{"classes/CopyMapper.html":{},"classes/LessonCopyApiParams.html":{},"controllers/RoomsController.html":{}}}],["lessoncopyparentparams",{"_index":7315,"title":{},"body":{"classes/CopyMapper.html":{},"injectables/LessonCopyUC.html":{}}}],["lessoncopyservice",{"_index":3265,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/LessonCopyUC.html":{},"modules/LessonModule.html":{},"injectables/ShareTokenUC.html":{}}}],["lessoncopyuc",{"_index":15078,"title":{"injectables/LessonCopyUC.html":{}},"body":{"modules/LearnroomApiModule.html":{},"injectables/LessonCopyUC.html":{},"controllers/RoomsController.html":{}}}],["lessonelement",{"_index":3363,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["lessonelements",{"_index":3980,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["lessonentity",{"_index":2938,"title":{"entities/LessonEntity.html":{}},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"entities/BoardElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/CopyMapper.html":{},"classes/DtoCreator.html":{},"classes/FilesStorageClientMapper.html":{},"interfaces/ITask.html":{},"entities/LessonBoardElement.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsAuthorisationService.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{}}}],["lessonfactory",{"_index":15423,"title":{"classes/LessonFactory.html":{}},"body":{"classes/LessonFactory.html":{}}}],["lessonfactory.define",{"_index":15425,"title":{},"body":{"classes/LessonFactory.html":{}}}],["lessonhidden",{"_index":21263,"title":{},"body":{"entities/Task.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"classes/TaskResponse.html":{},"classes/TaskWithStatusVo.html":{}}}],["lessonid",{"_index":5720,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CopyMapper.html":{},"interfaces/ITask.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"injectables/ShareTokenUC.html":{},"entities/Task.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{}}}],["lessonids",{"_index":21624,"title":{},"body":{"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{}}}],["lessonidsoffinishedcourses",{"_index":21589,"title":{},"body":{"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{}}}],["lessonidsofopencourses",{"_index":21587,"title":{},"body":{"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{}}}],["lessonmetadata",{"_index":9630,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["lessonmodule",{"_index":1907,"title":{"modules/LessonModule.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"modules/DeletionApiModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LessonApiModule.html":{},"modules/LessonModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/TaskApiModule.html":{}}}],["lessonname",{"_index":21262,"title":{},"body":{"entities/Task.html":{},"classes/TaskListResponse.html":{},"interfaces/TaskParent.html":{},"classes/TaskResponse.html":{},"classes/TaskWithStatusVo.html":{}}}],["lessonparent",{"_index":6186,"title":{"interfaces/LessonParent.html":{}},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/UsersList.html":{}}}],["lessonproperties",{"_index":6168,"title":{"interfaces/LessonProperties.html":{}},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["lessonreadpermission",{"_index":15467,"title":{},"body":{"injectables/LessonRule.html":{}}}],["lessonreadpermission(user",{"_index":15477,"title":{},"body":{"injectables/LessonRule.html":{}}}],["lessonrepo",{"_index":15435,"title":{"injectables/LessonRepo.html":{}},"body":{"modules/LessonModule.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{}}}],["lessonrule",{"_index":1872,"title":{"injectables/LessonRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/LessonRule.html":{},"injectables/RuleManager.html":{},"injectables/TaskRule.html":{}}}],["lessons",{"_index":5744,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"controllers/LessonController.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"interfaces/ParentInfo.html":{},"injectables/RoomsAuthorisationService.html":{},"classes/ShareTokenDO.html":{},"classes/SingleColumnBoardResponse.html":{},"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{}}}],["lessons.filter((l",{"_index":21793,"title":{},"body":{"injectables/TaskUC.html":{}}}],["lessons.foreach((lesson",{"_index":5746,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["lessons.map((l",{"_index":21816,"title":{},"body":{"injectables/TaskUC.html":{}}}],["lessons.map((lesson",{"_index":15526,"title":{},"body":{"injectables/LessonService.html":{}}}],["lessonscope",{"_index":15450,"title":{"classes/LessonScope.html":{}},"body":{"injectables/LessonRepo.html":{},"classes/LessonScope.html":{}}}],["lessonservice",{"_index":5705,"title":{"injectables/LessonService.html":{}},"body":{"injectables/CommonCartridgeExportService.html":{},"injectables/LessonCopyUC.html":{},"modules/LessonModule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/RoomsService.html":{},"injectables/ShareTokenService.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{}}}],["lessonuc",{"_index":15358,"title":{"injectables/LessonUC.html":{}},"body":{"modules/LessonApiModule.html":{},"controllers/LessonController.html":{},"injectables/LessonUC.html":{}}}],["lessonurlhandler",{"_index":15539,"title":{"injectables/LessonUrlHandler.html":{}},"body":{"injectables/LessonUrlHandler.html":{},"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagInternalUrlService.html":{}}}],["lessonurlparams",{"_index":15368,"title":{"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{}},"body":{"controllers/LessonController.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"controllers/RoomsController.html":{}}}],["lessonwritepermission",{"_index":15468,"title":{},"body":{"injectables/LessonRule.html":{}}}],["lessonwritepermission(user",{"_index":15479,"title":{},"body":{"injectables/LessonRule.html":{}}}],["letter",{"_index":796,"title":{},"body":{"injectables/AccountRepo.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["letters",{"_index":25826,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["letting",{"_index":24693,"title":{},"body":{"license.html":{}}}],["level",{"_index":3879,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"modules/LoggerModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["levelquery",{"_index":3925,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["levels",{"_index":15709,"title":{},"body":{"modules/LoggerModule.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["lf",{"_index":18637,"title":{},"body":{"classes/ReferencesService.html":{}}}],["liability",{"_index":24972,"title":{},"body":{"license.html":{}}}],["liable",{"_index":24726,"title":{},"body":{"license.html":{}}}],["lib",{"_index":15583,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["lib.patchversion",{"_index":15584,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["lib0",{"_index":22458,"title":{},"body":{"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["libraries",{"_index":1238,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ContentBodyParams.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["libraries/:ubername/:file",{"_index":13146,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["librariesbodyparams",{"_index":1233,"title":{"classes/LibrariesBodyParams.html":{}},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ContentBodyParams.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{}}}],["librariescontenttype",{"_index":13304,"title":{"interfaces/LibrariesContentType.html":{}},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["librariescontenttype.h5p_libraries",{"_index":13328,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["librariestocheck",{"_index":13283,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["librariestocheck.length",{"_index":13329,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["librariestocheck.slice(0",{"_index":13337,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["librariestocheck[lastpositionlibrariestocheckarray].dependentscount",{"_index":13332,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["librariestoinstall",{"_index":13280,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["librariestoinstall.length",{"_index":13340,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["librariesyamlcontent",{"_index":13324,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["library",{"_index":11597,"title":{},"body":{"classes/FileMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"entities/InstalledLibrary.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["libraryadministration",{"_index":13265,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["libraryadministration(this.librarymanager",{"_index":13322,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["libraryfileurlparams",{"_index":13101,"title":{"classes/LibraryFileUrlParams.html":{}},"body":{"controllers/H5PEditorController.html":{},"classes/LibraryFileUrlParams.html":{}}}],["librarymanager",{"_index":13266,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["librarymetadata.addto",{"_index":11646,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.author",{"_index":11648,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.coreapi",{"_index":11650,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.description",{"_index":11651,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.droplibrarycss",{"_index":11653,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.dynamicdependencies",{"_index":11654,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.editordependencies",{"_index":11655,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.embedtypes",{"_index":11656,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.fullscreen",{"_index":11658,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.h",{"_index":11659,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.license",{"_index":11660,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.machinename",{"_index":11637,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.majorversion",{"_index":11638,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.metadatasettings",{"_index":11662,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.minorversion",{"_index":11639,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.patchversion",{"_index":11641,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.preloadedcss",{"_index":11664,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.preloadeddependencies",{"_index":11665,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.preloadedjs",{"_index":11667,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.requiredextensions",{"_index":11670,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.runnable",{"_index":11643,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.state",{"_index":11671,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.title",{"_index":11644,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.w",{"_index":11668,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["libraryname",{"_index":11585,"title":{"classes/LibraryName.html":{}},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["libraryparameters",{"_index":1242,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ContentBodyParams.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{}}}],["libraryparametersbodyparams",{"_index":1235,"title":{"classes/LibraryParametersBodyParams.html":{}},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ContentBodyParams.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{}}}],["libraryrepo",{"_index":13222,"title":{"injectables/LibraryRepo.html":{}},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/LibraryRepo.html":{}}}],["librarystorage",{"_index":13221,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["librarywishlist",{"_index":13267,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["libs",{"_index":15578,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["libs.length",{"_index":15579,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["libs[0",{"_index":15580,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["license",{"_index":6534,"title":{"license.html":{}},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"classes/Path.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{},"license.html":{},"properties.html":{}}}],["licensed",{"_index":24712,"title":{},"body":{"license.html":{}}}],["licensee",{"_index":24713,"title":{},"body":{"license.html":{}}}],["licensees",{"_index":24715,"title":{},"body":{"license.html":{}}}],["licenseextras",{"_index":6535,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["licenses",{"_index":24654,"title":{},"body":{"license.html":{}}}],["licenseversion",{"_index":6536,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["licensing",{"_index":25028,"title":{},"body":{"license.html":{}}}],["licensors",{"_index":24979,"title":{},"body":{"license.html":{}}}],["likes",{"_index":25836,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["likewise",{"_index":25021,"title":{},"body":{"license.html":{}}}],["limit",{"_index":56,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"controllers/CourseController.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"injectables/DeletionExecutionUc.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"injectables/FilesRepo.html":{},"classes/FilesStorageMapper.html":{},"classes/GroupResponseMapper.html":{},"injectables/HydraOauthUc.html":{},"interfaces/IFindOptions.html":{},"classes/IdentityManagementService.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ListOauthClientsParams.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/OauthProviderService.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"controllers/TaskController.html":{},"classes/TaskListResponse.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"injectables/UserDORepo.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"injectables/UserRepo.html":{},"dependencies.html":{},"license.html":{}}}],["limitation",{"_index":25158,"title":{},"body":{"license.html":{}}}],["limited",{"_index":25147,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["limiting",{"_index":24971,"title":{},"body":{"license.html":{}}}],["line",{"_index":1088,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ConsoleWriterService.html":{},"entities/CourseNews.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ErrorLoggable.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GlobalErrorFilter.html":{},"modules/H5PEditorModule.html":{},"injectables/HydraOauthUc.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/JwtExtractor.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LegacySystemRepo.html":{},"controllers/LoginController.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsUc.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/ReferencesService.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"entities/SchoolNews.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"entities/TeamNews.html":{},"classes/TestBootstrapConsole.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawModule.html":{},"classes/TldrawWs.html":{},"injectables/UserRepo.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["lines",{"_index":18647,"title":{},"body":{"classes/ReferencesService.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["link",{"_index":2369,"title":{},"body":{"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"injectables/ColumnBoardService.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/FeathersRosterService.html":{},"classes/GetMetaTagDataBody.html":{},"modules/ImportUserModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/NextcloudStrategy.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"injectables/UserService.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"license.html":{}}}],["linkcontentbody",{"_index":6463,"title":{"classes/LinkContentBody.html":{}},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["linked",{"_index":24777,"title":{},"body":{"license.html":{}}}],["linkedtool",{"_index":18487,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["linkelement",{"_index":3124,"title":{"classes/LinkElement.html":{}},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["linkelement.description",{"_index":6479,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["linkelement.id",{"_index":18539,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["linkelement.imageurl",{"_index":6489,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["linkelement.title",{"_index":6477,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["linkelement.url",{"_index":6475,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["linkelementcontent",{"_index":15614,"title":{"classes/LinkElementContent.html":{}},"body":{"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{}}}],["linkelementcontentbody",{"_index":9518,"title":{"classes/LinkElementContentBody.html":{}},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["linkelementnode",{"_index":3473,"title":{"entities/LinkElementNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["linkelementnodeprops",{"_index":15622,"title":{"interfaces/LinkElementNodeProps.html":{}},"body":{"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{}}}],["linkelementprops",{"_index":15612,"title":{"interfaces/LinkElementProps.html":{}},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["linkelementresponse",{"_index":4344,"title":{"classes/LinkElementResponse.html":{}},"body":{"controllers/CardController.html":{},"classes/CardResponse.html":{},"controllers/ElementController.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{}}}],["linkelementresponsemapper",{"_index":6398,"title":{"classes/LinkElementResponseMapper.html":{}},"body":{"classes/ContentElementResponseFactory.html":{},"classes/LinkElementResponseMapper.html":{}}}],["linkelementresponsemapper.getinstance",{"_index":6382,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["linkelementresponsemapper.instance",{"_index":15631,"title":{},"body":{"classes/LinkElementResponseMapper.html":{}}}],["linkid",{"_index":8224,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["linter",{"_index":25248,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["liskov",{"_index":25410,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["list",{"_index":374,"title":{},"body":{"controllers/AccountController.html":{},"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"interfaces/CollectionFilePath.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FileDO.html":{},"classes/FileMetadata.html":{},"classes/FileRecordFactory.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"controllers/GroupController.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"entities/InstalledLibrary.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LibraryName.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/NewsListResponse.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthClientBody.html":{},"classes/Path.html":{},"classes/RocketChatUserFactory.html":{},"injectables/S3ClientAdapter.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"controllers/SystemController.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"injectables/TaskRepo.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["list(params",{"_index":19306,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["list.response",{"_index":21189,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["list.response.ts",{"_index":861,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/CardListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/PublicSystemListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/ToolReferenceListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{}}}],["list.response.ts:10",{"_index":4414,"title":{},"body":{"classes/CardListResponse.html":{}}}],["list.response.ts:4",{"_index":4412,"title":{},"body":{"classes/CardListResponse.html":{}}}],["list.response.ts:5",{"_index":865,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{}}}],["list.response.ts:6",{"_index":6692,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/PublicSystemListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/ToolReferenceListResponse.html":{}}}],["list.response.ts:7",{"_index":10872,"title":{},"body":{"classes/ExternalToolSearchListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{}}}],["list_files_of_parent",{"_index":7088,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{}}}],["listconsentsessions",{"_index":17224,"title":{},"body":{"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{}}}],["listconsentsessions(@currentuser",{"_index":17311,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["listconsentsessions(currentuser",{"_index":17244,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["listconsentsessions(user",{"_index":17428,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["listconsentsessions(userid",{"_index":17446,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["listen",{"_index":22514,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["listenercount",{"_index":2306,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["listening",{"_index":1435,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["listfiles",{"_index":7200,"title":{"interfaces/ListFiles.html":{}},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"injectables/TemporaryFileStorage.html":{}}}],["listfiles(user",{"_index":22063,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["listfilesofparent",{"_index":12135,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageProducer.html":{}}}],["listfilesofparent(param",{"_index":12143,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["listfilesofparent(payload",{"_index":12303,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["listfilesofparent:finished",{"_index":12319,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["listfilesofparent:started",{"_index":12317,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["listing",{"_index":22097,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["listoauth2clients",{"_index":17154,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{}}}],["listoauth2clients(currentuser",{"_index":17164,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{}}}],["listoauth2clients(limit",{"_index":17430,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["listoauthclientsparams",{"_index":15635,"title":{"classes/ListOauthClientsParams.html":{}},"body":{"classes/ListOauthClientsParams.html":{},"controllers/OauthProviderController.html":{}}}],["listobjectkeysrecursive",{"_index":19287,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["listobjectkeysrecursive(params",{"_index":19308,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["listobjectsv2command",{"_index":19322,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["listresponse",{"_index":20747,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["lists",{"_index":12016,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"controllers/ToolConfigurationController.html":{}}}],["listsequal",{"_index":2968,"title":{},"body":{"entities/Board.html":{}}}],["literal",{"_index":172,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"classes/AccountFactory.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BoardDoRepo.html":{},"interfaces/CalendarEvent.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"interfaces/ComponentLernstoreProperties.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseRepo.html":{},"interfaces/CreateNews.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestProps-1.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DtoCreator.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GridElement.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/INewsScope.html":{},"classes/ImportUserFactory.html":{},"entities/InstalledLibrary.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"interfaces/JwtConstants.html":{},"classes/LdapConfigEntity.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/LocalStrategy.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OcsResponse.html":{},"classes/PostH5PContentCreateParams.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"classes/RequestInfo.html":{},"interfaces/RocketChatGroupModel.html":{},"classes/RocketChatUserFactory.html":{},"injectables/RoomBoardDTOFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/SubmissionFactory.html":{},"injectables/SubmissionItemService.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"classes/WsSharedDocDo.html":{}}}],["litigation",{"_index":25048,"title":{},"body":{"license.html":{}}}],["load",{"_index":1926,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/BatchDeletionUc.html":{},"interfaces/CollectionFilePath.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/IdentityManagementService.html":{},"injectables/ImportUserRepo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["load/perf",{"_index":25225,"title":{},"body":{"todo.html":{}}}],["load/persist",{"_index":25517,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["loadaccount",{"_index":1689,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/LdapStrategy.html":{}}}],["loadaccount(username",{"_index":1701,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/LdapStrategy.html":{}}}],["loadaccounts",{"_index":14815,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["loadallcollectionsfromdatabase(targetfolder",{"_index":5216,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["loadallcollectionsfromfilesystem(basedir",{"_index":5223,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["loadauthorizableobject",{"_index":18578,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["loadauthorizableobject(objectname",{"_index":18583,"title":{},"body":{"injectables/ReferenceLoader.html":{}}}],["loadcollectionsavailablefromsourceandfilterbycollectionnames",{"_index":5235,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["loaded",{"_index":4410,"title":{},"body":{"classes/CardIdsParams.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/ExternalToolUc.html":{},"classes/IdentityManagementService.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/PermissionService.html":{},"classes/ReferencesService.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"injectables/VideoConferenceRepo.html":{}}}],["loaded.config",{"_index":11016,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["loaded.version",{"_index":11017,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["loadedexternaltool",{"_index":6086,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/SchoolExternalToolValidationService.html":{}}}],["loadedexternaltool.parameters",{"_index":6120,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["loadedexternaltool.version",{"_index":19873,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["loadedoauthclient",{"_index":10915,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["loadedoauthclient.client_id",{"_index":10954,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["loadedpseudonym",{"_index":11291,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["loadedschoolexternaltool",{"_index":7020,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["loadedtool",{"_index":10907,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolValidationService.html":{}}}],["loadedtool.config.clientid",{"_index":11064,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["loadedtool.config.type",{"_index":11060,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["loader",{"_index":1846,"title":{},"body":{"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationReferenceService.html":{},"modules/ToolModule.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["loadfromtxtfile",{"_index":18631,"title":{},"body":{"classes/ReferencesService.html":{}}}],["loadfromtxtfile(filepath",{"_index":18632,"title":{},"body":{"classes/ReferencesService.html":{}}}],["loading",{"_index":22935,"title":{},"body":{"injectables/ToolPermissionHelper.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["loadings",{"_index":22937,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["loads",{"_index":4970,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"interfaces/CollectionFilePath.html":{},"classes/IdentityManagementService.html":{}}}],["loadtoolhierarchy",{"_index":22881,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["loadtoolhierarchy(schoolexternaltoolid",{"_index":22889,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["loadusers",{"_index":14816,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["local",{"_index":1619,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"interfaces/CleanOptions.html":{},"interfaces/H5PContentParentParams.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/ImportUserListResponse.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/KeycloakConsole.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LocalStrategy.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"classes/TestApiClient.html":{},"classes/UpdateMatchParams.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"dependencies.html":{},"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["localauthorizationbodyparams",{"_index":15648,"title":{"classes/LocalAuthorizationBodyParams.html":{}},"body":{"classes/LocalAuthorizationBodyParams.html":{},"controllers/LoginController.html":{}}}],["localcookies",{"_index":7054,"title":{},"body":{"classes/CookiesDto.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{}}}],["localcookies.includes(cookie",{"_index":13523,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localcookies.push(cookie",{"_index":13524,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto",{"_index":13493,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.axiosconfig",{"_index":13516,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.axiosconfig.headers",{"_index":13511,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.cookies",{"_index":13505,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.cookies.hydracookies.join",{"_index":13509,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.cookies.localcookies.join",{"_index":13510,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.currentredirect",{"_index":13517,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.referer",{"_index":13512,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.response",{"_index":13514,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.response.headers",{"_index":13496,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.response.headers.location",{"_index":13495,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.response.headers['set",{"_index":13503,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localfallback",{"_index":1286,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["localfield",{"_index":23825,"title":{},"body":{"injectables/UserRepo.html":{}}}],["localhost",{"_index":1278,"title":{},"body":{"modules/AntivirusModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["localhost:15672",{"_index":25286,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["localhost:27017\"}]})start",{"_index":25919,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["localhost:3030",{"_index":25323,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["locally",{"_index":12293,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"controllers/LoginController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["localstrategy",{"_index":1532,"title":{"injectables/LocalStrategy.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/LocalStrategy.html":{}}}],["locate",{"_index":25583,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["located",{"_index":25500,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["location",{"_index":5191,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/HydraSsoService.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/PropertyData.html":{},"injectables/SanisResponseMapper.html":{},"classes/ToolLaunchMapper.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["location.startswith('http",{"_index":13497,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["location.startswith(configuration.get('hydra_public_uri",{"_index":13499,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["locationmapping",{"_index":10751,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["locationmapping[customparameterdo.location",{"_index":10858,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["locationmapping[customparameterparam.location",{"_index":10796,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["locations",{"_index":13500,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["lockid",{"_index":11492,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["lodash",{"_index":695,"title":{},"body":{"interfaces/AccountParams.html":{},"injectables/BoardCopyService.html":{},"interfaces/CollectionFilePath.html":{},"injectables/CommonToolValidationService.html":{},"classes/GlobalErrorFilter.html":{},"modules/MongoMemoryDatabaseModule.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserFactory.html":{},"dependencies.html":{}}}],["log",{"_index":4923,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/ErrorLoggable.html":{},"interfaces/ILegacyLogger.html":{},"classes/KeycloakConsole.html":{},"injectables/LegacyLogger.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"todo.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["log(message",{"_index":13609,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{}}}],["log.do",{"_index":9150,"title":{},"body":{"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{}}}],["log.do.ts",{"_index":9085,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["log.do.ts:17",{"_index":9090,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.do.ts:21",{"_index":9091,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.do.ts:25",{"_index":9093,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.do.ts:29",{"_index":9095,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.do.ts:33",{"_index":9097,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.do.ts:37",{"_index":9099,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.do.ts:41",{"_index":9101,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.do.ts:45",{"_index":9103,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.entity",{"_index":9148,"title":{},"body":{"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{}}}],["log.entity.ts",{"_index":9115,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["log.entity.ts:22",{"_index":9118,"title":{},"body":{"entities/DeletionLogEntity.html":{}}}],["log.entity.ts:25",{"_index":9120,"title":{},"body":{"entities/DeletionLogEntity.html":{}}}],["log.entity.ts:28",{"_index":9119,"title":{},"body":{"entities/DeletionLogEntity.html":{}}}],["log.entity.ts:31",{"_index":9116,"title":{},"body":{"entities/DeletionLogEntity.html":{}}}],["log.entity.ts:34",{"_index":9117,"title":{},"body":{"entities/DeletionLogEntity.html":{}}}],["log.entity.ts:38",{"_index":9122,"title":{},"body":{"entities/DeletionLogEntity.html":{}}}],["log.mapper",{"_index":9179,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["log.mapper.ts",{"_index":9142,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["log.mapper.ts:20",{"_index":9146,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["log.mapper.ts:34",{"_index":9144,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["log.mapper.ts:38",{"_index":9145,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["log.mapper.ts:6",{"_index":9143,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["log.repo.ts",{"_index":9167,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["log.repo.ts:12",{"_index":9177,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["log.repo.ts:16",{"_index":9175,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["log.repo.ts:26",{"_index":9173,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["log.repo.ts:36",{"_index":9171,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["log.repo.ts:9",{"_index":9169,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["log.response.ts",{"_index":9324,"title":{},"body":{"classes/DeletionRequestLogResponse.html":{}}}],["log.response.ts:10",{"_index":9326,"title":{},"body":{"classes/DeletionRequestLogResponse.html":{}}}],["log.response.ts:14",{"_index":9325,"title":{},"body":{"classes/DeletionRequestLogResponse.html":{}}}],["log.response.ts:7",{"_index":9328,"title":{},"body":{"classes/DeletionRequestLogResponse.html":{}}}],["log.service",{"_index":9233,"title":{},"body":{"modules/DeletionModule.html":{}}}],["log.service.ts",{"_index":9190,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["log.service.ts:12",{"_index":9196,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["log.service.ts:32",{"_index":9198,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["log.service.ts:9",{"_index":9194,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["log/response",{"_index":25249,"title":{},"body":{"todo.html":{}}}],["loggabble",{"_index":6951,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["loggabble.ts",{"_index":18805,"title":{},"body":{"classes/RestrictedContextMismatchLoggable.html":{}}}],["loggabble.ts:11",{"_index":18809,"title":{},"body":{"classes/RestrictedContextMismatchLoggable.html":{}}}],["loggabble.ts:6",{"_index":18807,"title":{},"body":{"classes/RestrictedContextMismatchLoggable.html":{}}}],["loggable",{"_index":1422,"title":{"interfaces/Loggable.html":{}},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AxiosErrorLoggable.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenLoggableException.html":{},"classes/GlobalErrorFilter.html":{},"classes/GroupRoleUnknownLoggable.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"injectables/OidcProvisioningService.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"injectables/SanisResponseMapper.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"injectables/SchoolValidationService.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/ValidationErrorLoggableException.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["loggable.exception.ts",{"_index":23531,"title":{},"body":{"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["loggable.exception.ts:13",{"_index":23534,"title":{},"body":{"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["loggable.exception.ts:8",{"_index":23533,"title":{},"body":{"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["loggable.getlogmessage",{"_index":15736,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["loggable.ts",{"_index":1418,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["loggable.ts:10",{"_index":1437,"title":{},"body":{"classes/AppStartLoggable.html":{}}}],["loggable.ts:12",{"_index":18625,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["loggable.ts:13",{"_index":1438,"title":{},"body":{"classes/AppStartLoggable.html":{}}}],["loggable.ts:3",{"_index":10287,"title":{},"body":{"classes/ExternalToolLogoFetchedLoggable.html":{}}}],["loggable.ts:4",{"_index":18623,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["loggable.ts:6",{"_index":10288,"title":{},"body":{"classes/ExternalToolLogoFetchedLoggable.html":{}}}],["loggable/error.loggable",{"_index":12549,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["loggable/news",{"_index":16631,"title":{},"body":{"injectables/NewsUc.html":{}}}],["loggable/preview",{"_index":17838,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{}}}],["loggables",{"_index":13599,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["logged",{"_index":22736,"title":{},"body":{"controllers/ToolController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"classes/VideoConferenceCreateParams.html":{},"index.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["logger",{"_index":2449,"title":{"injectables/Logger.html":{}},"body":{"injectables/BaseDORepo.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardUc.html":{},"modules/CacheWrapperModule.html":{},"injectables/CardUc.html":{},"interfaces/CleanOptions.html":{},"injectables/CollaborativeStorageAdapter.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnUc.html":{},"modules/CoreModule.html":{},"interfaces/CoreModuleConfig.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DrawingElementAdapterService.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"injectables/ErrorLogger.html":{},"modules/ErrorModule.html":{},"injectables/EtherpadService.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"modules/H5PEditorModule.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ILegacyLogger.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/Logger.html":{},"modules/LoggerModule.html":{},"interfaces/MigrationOptions.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"controllers/OauthSSOController.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"modules/RedisModule.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"interfaces/RetryOptions.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolMigrationService.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SymetricKeyEncryptionService.html":{},"modules/TldrawModule.html":{},"modules/TldrawWsModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{},"todo.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["logger.debug",{"_index":18022,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["logger.error(error",{"_index":4251,"title":{},"body":{"modules/CacheWrapperModule.html":{},"modules/RedisModule.html":{}}}],["logger.info",{"_index":18036,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["logger.info(`could",{"_index":25712,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["logger.interface",{"_index":15119,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.interface.ts",{"_index":13598,"title":{},"body":{"interfaces/ILegacyLogger.html":{}}}],["logger.interface.ts:11",{"_index":13608,"title":{},"body":{"interfaces/ILegacyLogger.html":{}}}],["logger.interface.ts:12",{"_index":13610,"title":{},"body":{"interfaces/ILegacyLogger.html":{}}}],["logger.interface.ts:13",{"_index":13605,"title":{},"body":{"interfaces/ILegacyLogger.html":{}}}],["logger.interface.ts:14",{"_index":13612,"title":{},"body":{"interfaces/ILegacyLogger.html":{}}}],["logger.interface.ts:15",{"_index":13602,"title":{},"body":{"interfaces/ILegacyLogger.html":{}}}],["logger.log(msg",{"_index":4254,"title":{},"body":{"modules/CacheWrapperModule.html":{},"modules/RedisModule.html":{}}}],["logger.service",{"_index":15707,"title":{},"body":{"modules/LoggerModule.html":{}}}],["logger.service.ts",{"_index":15098,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:22",{"_index":15102,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:26",{"_index":15108,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:30",{"_index":15113,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:34",{"_index":15105,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:38",{"_index":15107,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:42",{"_index":15106,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:50",{"_index":15110,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:54",{"_index":15104,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:58",{"_index":15112,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.setcontext(durationlogginginterceptor.name",{"_index":9701,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["logger.setcontext(redismodule.name",{"_index":18576,"title":{},"body":{"modules/RedisModule.html":{}}}],["logger.setcontext(servermodule.name",{"_index":20224,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["logger.setcontext(servertestmodule.name",{"_index":20232,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["logger.ts",{"_index":9859,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["logger.ts:12",{"_index":9870,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["logger.ts:17",{"_index":9866,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["logger.ts:22",{"_index":9868,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["logger.ts:27",{"_index":9872,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["logger.ts:9",{"_index":9864,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["logger.warn",{"_index":20201,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["logger/interfaces",{"_index":9827,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["logger/types",{"_index":9828,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["loggerconfig",{"_index":7368,"title":{"interfaces/LoggerConfig.html":{}},"body":{"interfaces/CoreModuleConfig.html":{},"interfaces/LoggerConfig.html":{},"modules/LoggerModule.html":{}}}],["loggermodule",{"_index":265,"title":{"modules/LoggerModule.html":{}},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CoreModule.html":{},"modules/DeletionApiModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolModule.html":{},"modules/LessonModule.html":{},"modules/LoggerModule.html":{},"modules/ManagementModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/NewsModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"modules/ProvisioningModule.html":{},"modules/RedisModule.html":{},"modules/RegistrationPinModule.html":{},"modules/S3ClientModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawTestModule.html":{},"modules/ToolApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceModule.html":{}}}],["logging",{"_index":7357,"title":{"additional-documentation/nestjs-application/logging.html":{}},"body":{"modules/CoreModule.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{},"index.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["logging.error",{"_index":18761,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["logging.interceptor.ts",{"_index":9691,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{}}}],["logging.interceptor.ts:10",{"_index":9694,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["logging.interceptor.ts:12",{"_index":18749,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["logging.interceptor.ts:15",{"_index":9698,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["logging.interceptor.ts:9",{"_index":18748,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["logging.utils",{"_index":9876,"title":{},"body":{"injectables/ErrorLogger.html":{},"injectables/Logger.html":{}}}],["loggingutils",{"_index":9875,"title":{"classes/LoggingUtils.html":{}},"body":{"injectables/ErrorLogger.html":{},"classes/GlobalErrorFilter.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{}}}],["loggingutils.createmessagewithcontext(loggable",{"_index":9878,"title":{},"body":{"injectables/ErrorLogger.html":{},"injectables/Logger.html":{}}}],["loggingutils.isinstanceofloggable(error",{"_index":12555,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["logic",{"_index":20678,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["login",{"_index":180,"title":{},"body":{"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"classes/ChallengeParams.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"classes/ConsentResponse.html":{},"interfaces/CreateJwtPayload.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"interfaces/ICurrentUser.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"interfaces/JwtPayload.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LdapStrategy.html":{},"controllers/LoginController.html":{},"classes/LoginResponse-1.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"injectables/OAuthService.html":{},"classes/Oauth2MigrationParams.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"interfaces/OauthCurrentUser.html":{},"modules/OauthModule.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/PageContentDto.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"entities/SchoolEntity.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/StartUserLoginMigrationUc.html":{},"controllers/SystemController.html":{},"classes/TestApiClient.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["login(account",{"_index":1651,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["login.response",{"_index":17118,"title":{},"body":{"classes/OauthLoginResponse.html":{}}}],["login.response.ts",{"_index":17115,"title":{},"body":{"classes/OauthLoginResponse.html":{}}}],["login.response.ts:9",{"_index":17116,"title":{},"body":{"classes/OauthLoginResponse.html":{}}}],["login_block_time",{"_index":312,"title":{},"body":{"interfaces/AccountConfig.html":{},"injectables/AuthenticationService.html":{},"interfaces/ServerConfig.html":{}}}],["login_challenge",{"_index":6278,"title":{},"body":{"classes/ConsentResponse.html":{},"interfaces/ProviderConsentResponse.html":{}}}],["login_hint",{"_index":17513,"title":{},"body":{"classes/OidcContextResponse.html":{},"interfaces/ProviderOidcContext.html":{}}}],["login_required",{"_index":6255,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{}}}],["login_session_id",{"_index":6279,"title":{},"body":{"classes/ConsentResponse.html":{},"interfaces/ProviderConsentResponse.html":{}}}],["loginchallenge",{"_index":6298,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["logincontroller",{"_index":1487,"title":{"controllers/LoginController.html":{}},"body":{"modules/AuthenticationApiModule.html":{},"controllers/LoginController.html":{}}}],["logindto",{"_index":1724,"title":{"classes/LoginDto.html":{}},"body":{"injectables/AuthenticationService.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{}}}],["logindto.accesstoken",{"_index":15814,"title":{},"body":{"classes/LoginResponseMapper.html":{}}}],["loginldap",{"_index":15740,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginldap(@currentuser",{"_index":15767,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginldap(user",{"_index":15743,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginlocal",{"_index":15741,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginlocal(@currentuser",{"_index":15773,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginlocal(user",{"_index":15750,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginname",{"_index":12332,"title":{},"body":{"classes/FilterImportUserParams.html":{},"interfaces/IImportUserScope.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"interfaces/NameMatch.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{}}}],["loginname.replace(mongopatterns.regex_mongo_language_pattern_whitelist",{"_index":14117,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["loginoauth2",{"_index":15742,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginoauth2(user",{"_index":15754,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginpath",{"_index":1614,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["loginrequestbody",{"_index":15782,"title":{"classes/LoginRequestBody.html":{}},"body":{"classes/LoginRequestBody.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{}}}],["loginrequestbody.remember",{"_index":17390,"title":{},"body":{"classes/OauthProviderRequestMapper.html":{}}}],["loginrequestbody.remember_for",{"_index":17391,"title":{},"body":{"classes/OauthProviderRequestMapper.html":{}}}],["loginresponse",{"_index":15747,"title":{"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{}},"body":{"controllers/LoginController.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"classes/OauthLoginResponse.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["loginresponse.challenge",{"_index":17371,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["loginresponse.client.client_id",{"_index":17360,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["loginresponse:5",{"_index":17117,"title":{},"body":{"classes/OauthLoginResponse.html":{}}}],["loginresponsemapper",{"_index":15760,"title":{"classes/LoginResponseMapper.html":{}},"body":{"controllers/LoginController.html":{},"classes/LoginResponseMapper.html":{}}}],["loginresponsemapper.maptologinresponse(logindto",{"_index":15769,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginresponsemapper.maptooauthloginresponse(logindto",{"_index":15776,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginsessionid",{"_index":6301,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["loginuc",{"_index":1485,"title":{"injectables/LoginUc.html":{}},"body":{"modules/AuthenticationApiModule.html":{},"controllers/LoginController.html":{},"injectables/LoginUc.html":{}}}],["loginuseruc",{"_index":25550,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["logmessage",{"_index":1423,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AxiosErrorLoggable.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/GroupRoleUnknownLoggable.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Loggable.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["logmessage.type",{"_index":9833,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["logmessagedata",{"_index":1424,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/NewsMapper.html":{}}}],["logmessagewithcontext",{"_index":15731,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["logo",{"_index":8243,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/Oauth2ToolConfigFactory.html":{},"controllers/ToolController.html":{},"classes/ToolReferenceResponse.html":{}}}],["logo.service",{"_index":11052,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["logo.service.ts",{"_index":10293,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.service.ts:114",{"_index":10304,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.service.ts:26",{"_index":10300,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.service.ts:34",{"_index":10302,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.service.ts:46",{"_index":10314,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.service.ts:61",{"_index":10309,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.service.ts:73",{"_index":10307,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.service.ts:97",{"_index":10311,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.ts",{"_index":10272,"title":{},"body":{"classes/ExternalToolLogo.html":{}}}],["logo.ts:2",{"_index":10275,"title":{},"body":{"classes/ExternalToolLogo.html":{}}}],["logo.ts:4",{"_index":10274,"title":{},"body":{"classes/ExternalToolLogo.html":{}}}],["logo_url",{"_index":8045,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{}}}],["logobase64",{"_index":10226,"title":{},"body":{"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolRepoMapper.html":{}}}],["logobinarydata",{"_index":10352,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logourl",{"_index":6696,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/County.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolCreateParams.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoService.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{}}}],["logout",{"_index":14172,"title":{},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/LoginResponse-1.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{}}}],["logoutendpoint",{"_index":13540,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["logoutflow",{"_index":17376,"title":{},"body":{"injectables/OauthProviderLogoutFlowUc.html":{}}}],["logoutflow(challenge",{"_index":17378,"title":{},"body":{"injectables/OauthProviderLogoutFlowUc.html":{}}}],["logoutflowuc",{"_index":17273,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["logoutresponse",{"_index":17380,"title":{},"body":{"injectables/OauthProviderLogoutFlowUc.html":{}}}],["logouturl",{"_index":2160,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"interfaces/ScopeInfo.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceMapper.html":{}}}],["logoutuser(authtoken",{"_index":1118,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["logs",{"_index":6264,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"todo.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["long",{"_index":6248,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["longer",{"_index":25824,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["look",{"_index":14268,"title":{},"body":{"interfaces/JwtConstants.html":{},"controllers/ShareTokenController.html":{},"injectables/TaskCopyUC.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["looking",{"_index":15644,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["looks",{"_index":25442,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["lookup",{"_index":11980,"title":{},"body":{"interfaces/FileStorageConfig.html":{},"injectables/UserRepo.html":{}}}],["lookup.service",{"_index":680,"title":{},"body":{"modules/AccountModule.html":{},"injectables/AccountServiceDb.html":{}}}],["lookup.service.ts",{"_index":609,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["lookup.service.ts:15",{"_index":635,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["lookup.service.ts:27",{"_index":646,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["lookup.service.ts:44",{"_index":638,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["lookupsharetoken",{"_index":20280,"title":{},"body":{"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{}}}],["lookupsharetoken(currentuser",{"_index":20296,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["lookupsharetoken(userid",{"_index":20464,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["lookuptoken",{"_index":20413,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["lookuptoken(token",{"_index":20422,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["lookuptokenwithparentname",{"_index":20414,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["lookuptokenwithparentname(token",{"_index":20423,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["loop",{"_index":2833,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/HydraOauthUc.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["loss",{"_index":25165,"title":{},"body":{"license.html":{}}}],["losses",{"_index":25168,"title":{},"body":{"license.html":{}}}],["lot",{"_index":25775,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["low",{"_index":25495,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["lower",{"_index":25421,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["lowercase",{"_index":13816,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["lt",{"_index":9406,"title":{},"body":{"classes/DeletionRequestScope.html":{},"injectables/TemporaryFileRepo.html":{},"classes/UserScope.html":{}}}],["lte",{"_index":3928,"title":{},"body":{"injectables/BoardNodeRepo.html":{},"injectables/FilesRepo.html":{},"classes/NewsScope.html":{},"injectables/SchoolYearRepo.html":{},"classes/TaskScope.html":{}}}],["lti",{"_index":5866,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/NextcloudStrategy.html":{}}}],["lti11config",{"_index":10629,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.baseurl",{"_index":10670,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.key",{"_index":10675,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.launch_presentation_locale",{"_index":10680,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.lti_message_type",{"_index":10677,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.privacy_permission",{"_index":10679,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.resource_link_id",{"_index":10678,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.secret",{"_index":10676,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.type",{"_index":10669,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11encryptionservice",{"_index":15826,"title":{"injectables/Lti11EncryptionService.html":{}},"body":{"injectables/Lti11EncryptionService.html":{},"modules/ToolLaunchModule.html":{}}}],["lti11toolconfig",{"_index":8197,"title":{"classes/Lti11ToolConfig.html":{}},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolFactory.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["lti11toolconfigcreate",{"_index":10726,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["lti11toolconfigcreateparams",{"_index":10177,"title":{"classes/Lti11ToolConfigCreateParams.html":{}},"body":{"classes/ExternalToolCreateParams.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/Lti11ToolConfigCreateParams.html":{}}}],["lti11toolconfigentity",{"_index":10228,"title":{"classes/Lti11ToolConfigEntity.html":{}},"body":{"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/Lti11ToolConfigEntity.html":{}}}],["lti11toolconfigfactory",{"_index":8218,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["lti11toolconfigfactory.build(customparam",{"_index":8238,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["lti11toolconfigresponse",{"_index":10806,"title":{"classes/Lti11ToolConfigResponse.html":{}},"body":{"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/Lti11ToolConfigResponse.html":{}}}],["lti11toolconfigupdate",{"_index":10730,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["lti11toolconfigupdateparams",{"_index":10728,"title":{"classes/Lti11ToolConfigUpdateParams.html":{}},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["lti11toollaunchstrategy",{"_index":22854,"title":{},"body":{"modules/ToolLaunchModule.html":{},"injectables/ToolLaunchService.html":{}}}],["lti_message_type",{"_index":8046,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["lti_version",{"_index":8047,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{}}}],["ltimessagetype",{"_index":8194,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["ltimessagetype.basic_lti_launch_request",{"_index":8223,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["ltiprivacypermission",{"_index":8040,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["ltiprivacypermission.anonymous",{"_index":8049,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/ExternalToolEntityFactory.html":{},"entities/LtiTool.html":{},"injectables/LtiToolRepo.html":{}}}],["ltiprivacypermission.name",{"_index":15952,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["ltiprivacypermission.pseudonymous",{"_index":8222,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["ltirepo",{"_index":13465,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["ltirole",{"_index":15889,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["ltirole.administrator",{"_index":15894,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["ltirole.instructor",{"_index":15893,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["ltirole.learner",{"_index":15892,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["ltirolemapper",{"_index":15883,"title":{"classes/LtiRoleMapper.html":{}},"body":{"classes/LtiRoleMapper.html":{}}}],["ltiroles",{"_index":15896,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["ltiroles.filter",{"_index":15900,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["ltiroletype",{"_index":8032,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{}}}],["ltiroletype.instructor",{"_index":15953,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["ltiroletype.learner",{"_index":15954,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["ltiroletype})@property({nullable",{"_index":15919,"title":{},"body":{"entities/LtiTool.html":{}}}],["ltitool",{"_index":8044,"title":{"entities/LtiTool.html":{}},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["ltitool(props",{"_index":15976,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["ltitooldo",{"_index":8110,"title":{"classes/LtiToolDO.html":{}},"body":{"classes/CustomLtiPropertyDO.html":{},"injectables/HydraSsoService.html":{},"injectables/IdTokenService.html":{},"classes/LtiToolDO.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/PseudonymService.html":{}}}],["ltitoolfactory",{"_index":15944,"title":{"classes/LtiToolFactory.html":{}},"body":{"classes/LtiToolFactory.html":{}}}],["ltitoolfactory.define(ltitool",{"_index":15950,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["ltitoolmodule",{"_index":15955,"title":{"modules/LtiToolModule.html":{}},"body":{"modules/LtiToolModule.html":{},"modules/OauthProviderModule.html":{}}}],["ltitoolpromise",{"_index":16773,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["ltitoolrepo",{"_index":5037,"title":{"injectables/LtiToolRepo.html":{}},"body":{"modules/CollaborativeStorageAdapterModule.html":{},"injectables/HydraSsoService.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"injectables/NextcloudStrategy.html":{},"modules/OauthModule.html":{},"modules/ToolApiModule.html":{}}}],["ltitools",{"_index":8043,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["ltitoolservice",{"_index":15959,"title":{"injectables/LtiToolService.html":{}},"body":{"modules/LtiToolModule.html":{},"injectables/LtiToolService.html":{},"injectables/OauthProviderLoginFlowService.html":{}}}],["ltitoolstabenabled",{"_index":13623,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["lumi",{"_index":22098,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["lumieducation/h5p",{"_index":6573,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"entities/H5pEditorTempFile.html":{},"entities/InstalledLibrary.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/LumiUserWithContentData.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileStorage.html":{},"dependencies.html":{}}}],["lumiuserwithcontentdata",{"_index":13030,"title":{"classes/LumiUserWithContentData.html":{}},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["m=256m",{"_index":25911,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["machine",{"_index":11606,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"license.html":{}}}],["machinename",{"_index":1199,"title":{},"body":{"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/Path.html":{}}}],["machinenames",{"_index":11607,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["made",{"_index":11599,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"classes/WsSharedDocDo.html":{},"license.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["magic",{"_index":17337,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["mail",{"_index":1454,"title":{"interfaces/Mail.html":{}},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/CustomLtiProperty.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"classes/LdapConfigEntity.html":{},"entities/LtiTool.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/PlainTextMailContent.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"injectables/UserRepo.html":{},"license.html":{}}}],["mail.interface",{"_index":16052,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["mail.service",{"_index":16038,"title":{},"body":{"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{}}}],["mail.split('@')[1",{"_index":16072,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["mail_service_options",{"_index":16039,"title":{},"body":{"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{}}}],["mailattachment",{"_index":1441,"title":{"interfaces/MailAttachment.html":{}},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["mailconfig",{"_index":16029,"title":{"interfaces/MailConfig.html":{}},"body":{"interfaces/MailConfig.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"interfaces/ServerConfig.html":{}}}],["mailcontent",{"_index":1448,"title":{"interfaces/MailContent.html":{}},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["maildomain",{"_index":16068,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["mailmodule",{"_index":16032,"title":{"modules/MailModule.html":{}},"body":{"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["mailmodule.forroot",{"_index":20192,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["mailmoduleoptions",{"_index":16034,"title":{"interfaces/MailModuleOptions.html":{}},"body":{"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{}}}],["mails",{"_index":16048,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["mailservice",{"_index":16037,"title":{"injectables/MailService.html":{}},"body":{"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["mailserviceoptions",{"_index":16044,"title":{"interfaces/MailServiceOptions.html":{}},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["mailwhitelist",{"_index":16067,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["mailwhitelist.push(mail",{"_index":16071,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["main",{"_index":24621,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["main.ts",{"_index":11364,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["mainlibrary",{"_index":6537,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["mainlibraryubername",{"_index":12498,"title":{},"body":{"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["maintain",{"_index":24898,"title":{},"body":{"license.html":{}}}],["maintainability",{"_index":25395,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["maintenance",{"_index":16325,"title":{},"body":{"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{}}}],["major",{"_index":24766,"title":{},"body":{"license.html":{}}}],["majorversion",{"_index":1200,"title":{},"body":{"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/Path.html":{}}}],["make",{"_index":1831,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"modules/CommonToolModule.html":{},"classes/GlobalValidationPipe.html":{},"classes/ImportUserScope.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/PermissionService.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/UserRepo.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["makes",{"_index":1222,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["making",{"_index":23107,"title":{},"body":{"classes/UpdateNewsParams.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["makse",{"_index":15409,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["manage",{"_index":11708,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["manageclientsconnections",{"_index":24354,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["manageclientsconnections(undefined",{"_index":24363,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["managed",{"_index":15772,"title":{},"body":{"controllers/LoginController.html":{}}}],["managed.'})@apiresponse({status",{"_index":15752,"title":{},"body":{"controllers/LoginController.html":{}}}],["management",{"_index":648,"title":{},"body":{"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"modules/AuthenticationModule.html":{},"interfaces/CleanOptions.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"modules/KeycloakModule.html":{},"injectables/LegacySystemService.html":{},"injectables/LocalStrategy.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"interfaces/ServerConfig.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["management.config",{"_index":13299,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["management.config.ts",{"_index":13575,"title":{},"body":{"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IdentityManagementConfig.html":{}}}],["management.console",{"_index":16079,"title":{},"body":{"modules/ManagementModule.html":{}}}],["management.console.ts",{"_index":3768,"title":{},"body":{"classes/BoardManagementConsole.html":{},"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["management.console.ts:12",{"_index":8716,"title":{},"body":{"classes/DatabaseManagementConsole.html":{}}}],["management.console.ts:14",{"_index":3778,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["management.console.ts:31",{"_index":8720,"title":{},"body":{"classes/DatabaseManagementConsole.html":{}}}],["management.console.ts:58",{"_index":8718,"title":{},"body":{"classes/DatabaseManagementConsole.html":{}}}],["management.console.ts:7",{"_index":3773,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["management.console.ts:72",{"_index":8723,"title":{},"body":{"classes/DatabaseManagementConsole.html":{}}}],["management.controller",{"_index":16082,"title":{},"body":{"modules/ManagementModule.html":{}}}],["management.controller.ts",{"_index":8742,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["management.controller.ts:18",{"_index":8754,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["management.controller.ts:23",{"_index":8751,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["management.controller.ts:28",{"_index":8749,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["management.controller.ts:33",{"_index":8760,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["management.controller.ts:9",{"_index":8757,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["management.integration.spec.ts",{"_index":25890,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["management.module",{"_index":16090,"title":{},"body":{"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/SystemModule.html":{}}}],["management.module.ts",{"_index":8774,"title":{},"body":{"modules/DatabaseManagementModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{}}}],["management.service",{"_index":8775,"title":{},"body":{"modules/DatabaseManagementModule.html":{},"modules/IdentityManagementModule.html":{},"injectables/KeycloakIdentityManagementService.html":{},"modules/KeycloakModule.html":{}}}],["management.service.integration.spec.tsseeding",{"_index":25893,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["management.service.ts",{"_index":8776,"title":{},"body":{"injectables/DatabaseManagementService.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["management.service.ts:10",{"_index":14679,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["management.service.ts:101",{"_index":13760,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:11",{"_index":8800,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:110",{"_index":13276,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["management.service.ts:116",{"_index":13277,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["management.service.ts:130",{"_index":13279,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["management.service.ts:145",{"_index":13281,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["management.service.ts:15",{"_index":8796,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:171",{"_index":14685,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["management.service.ts:18",{"_index":13739,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:187",{"_index":14687,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["management.service.ts:20",{"_index":8797,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:27",{"_index":13762,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:32",{"_index":8793,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:36",{"_index":13764,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:38",{"_index":8785,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:44",{"_index":8794,"title":{},"body":{"injectables/DatabaseManagementService.html":{},"classes/IdentityManagementService.html":{}}}],["management.service.ts:52",{"_index":8787,"title":{},"body":{"injectables/DatabaseManagementService.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/IdentityManagementService.html":{}}}],["management.service.ts:54",{"_index":13288,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["management.service.ts:56",{"_index":13289,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["management.service.ts:58",{"_index":8789,"title":{},"body":{"injectables/DatabaseManagementService.html":{},"injectables/H5PLibraryManagementService.html":{}}}],["management.service.ts:60",{"_index":13273,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"classes/IdentityManagementService.html":{}}}],["management.service.ts:62",{"_index":8791,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:66",{"_index":8798,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:68",{"_index":13751,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:75",{"_index":13752,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:8",{"_index":8783,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:82",{"_index":13742,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:88",{"_index":13285,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["management.service.ts:90",{"_index":13755,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.uc",{"_index":3784,"title":{},"body":{"classes/BoardManagementConsole.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/ManagementModule.html":{},"interfaces/Options.html":{},"classes/TestBootstrapConsole.html":{}}}],["management.uc.ts",{"_index":3794,"title":{},"body":{"injectables/BoardManagementUc.html":{},"interfaces/CollectionFilePath.html":{}}}],["management.uc.ts:15",{"_index":3801,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management.uc.ts:18",{"_index":3802,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management.uc.ts:41",{"_index":3806,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management.uc.ts:51",{"_index":3804,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management.uc.ts:62",{"_index":3808,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management.uc.ts:73",{"_index":3813,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management.uc.ts:77",{"_index":3817,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management.uc.ts:81",{"_index":3810,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management/database",{"_index":8743,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["management/h5p",{"_index":13258,"title":{},"body":{"modules/H5PLibraryManagementModule.html":{}}}],["management/identity",{"_index":13700,"title":{},"body":{"interfaces/IdentityManagementConfig.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"modules/SystemModule.html":{}}}],["management/idm",{"_index":14758,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["management/keycloak",{"_index":4856,"title":{},"body":{"interfaces/CleanOptions.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"modules/ManagementModule.html":{},"interfaces/MigrationOptions.html":{},"classes/OidcIdentityProviderMapper.html":{},"interfaces/RetryOptions.html":{}}}],["management/keycloak/keycloak.module",{"_index":20148,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["management/keycloak/keycloak.module.ts",{"_index":14813,"title":{},"body":{"modules/KeycloakModule.html":{}}}],["management/keycloak/service/keycloak",{"_index":14643,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["management/service/h5p",{"_index":13262,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/LibrariesContentType.html":{}}}],["managementmodule",{"_index":16073,"title":{"modules/ManagementModule.html":{}},"body":{"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{}}}],["managementservermodule",{"_index":16085,"title":{"modules/ManagementServerModule.html":{}},"body":{"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{}}}],["managementservertestmodule",{"_index":16092,"title":{"modules/ManagementServerTestModule.html":{}},"body":{"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{}}}],["manager",{"_index":1986,"title":{},"body":{"injectables/AuthorizationService.html":{},"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["manager.ts",{"_index":19248,"title":{},"body":{"injectables/RuleManager.html":{}}}],["manager.ts:25",{"_index":19253,"title":{},"body":{"injectables/RuleManager.html":{}}}],["manager.ts:61",{"_index":19257,"title":{},"body":{"injectables/RuleManager.html":{}}}],["manager.ts:68",{"_index":19255,"title":{},"body":{"injectables/RuleManager.html":{}}}],["mandatory",{"_index":5380,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/TldrawWs.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"injectables/UserLoginMigrationService.html":{},"additional-documentation/nestjs-application.html":{}}}],["mandatory.loggable.ts",{"_index":23538,"title":{},"body":{"classes/UserLoginMigrationMandatoryLoggable.html":{}}}],["mandatory.loggable.ts:11",{"_index":23540,"title":{},"body":{"classes/UserLoginMigrationMandatoryLoggable.html":{}}}],["mandatory.loggable.ts:4",{"_index":23539,"title":{},"body":{"classes/UserLoginMigrationMandatoryLoggable.html":{}}}],["mandatory.params",{"_index":23460,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["mandatory.params.ts",{"_index":23543,"title":{},"body":{"classes/UserLoginMigrationMandatoryParams.html":{}}}],["mandatory.params.ts:7",{"_index":23544,"title":{},"body":{"classes/UserLoginMigrationMandatoryParams.html":{}}}],["mandatory/optional",{"_index":23441,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"todo.html":{}}}],["mandatorysince",{"_index":23492,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["manifest",{"_index":5830,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["manner",{"_index":25065,"title":{},"body":{"license.html":{}}}],["manual",{"_index":5376,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/FilterImportUserParams.html":{},"interfaces/IImportUserScope.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"interfaces/NameMatch.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["manually",{"_index":25601,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["manufacture",{"_index":9599,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["many",{"_index":15588,"title":{},"body":{"injectables/LibraryRepo.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["manytomany",{"_index":2931,"title":{},"body":{"entities/Board.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{}}}],["manytomany('boardelement",{"_index":2928,"title":{},"body":{"entities/Board.html":{}}}],["manytomany('course",{"_index":8494,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["manytomany('material",{"_index":6191,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["manytomany('user",{"_index":7456,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["manytomany(undefined",{"_index":7403,"title":{},"body":{"entities/Course.html":{},"entities/SchoolEntity.html":{}}}],["manytomany({entity",{"_index":18960,"title":{},"body":{"entities/Role.html":{}}}],["manytoone",{"_index":5685,"title":{},"body":{"entities/ColumnboardBoardElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/LessonBoardElement.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{}}}],["manytoone('columnboardtarget",{"_index":5683,"title":{},"body":{"entities/ColumnboardBoardElement.html":{}}}],["manytoone('course",{"_index":6188,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{}}}],["manytoone('coursegroup",{"_index":6189,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["manytoone('dashboardmodelentity",{"_index":8495,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["manytoone('lessonentity",{"_index":15364,"title":{},"body":{"entities/LessonBoardElement.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["manytoone('task",{"_index":20642,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/TaskBoardElement.html":{}}}],["manytoone('teamentity",{"_index":7799,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["manytoone('user",{"_index":7775,"title":{},"body":{"entities/CourseNews.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{}}}],["manytoone(undefined",{"_index":7665,"title":{},"body":{"entities/CourseGroup.html":{},"classes/ExternalSourceEntity.html":{},"entities/FileEntity.html":{},"entities/GroupEntity.html":{},"classes/GroupUserEntity.html":{},"entities/ImportUser.html":{},"entities/News.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"classes/TeamUserEntity.html":{},"entities/UserLoginMigrationEntity.html":{}}}],["manytoone({nullable",{"_index":10213,"title":{},"body":{"entities/ExternalToolElementNodeEntity.html":{}}}],["map",{"_index":2782,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardNodeRepo.html":{},"injectables/ClassesRepo.html":{},"injectables/CopyHelperService.html":{},"classes/DashboardEntity.html":{},"injectables/DeleteFilesUc.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FilesStorageMapper.html":{},"classes/GridElement.html":{},"classes/H5PContentMapper.html":{},"interfaces/IGridElement.html":{},"classes/MetadataTypeMapper.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"interfaces/ParentInfo.html":{},"injectables/ProvisioningService.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"injectables/ToolLaunchService.html":{},"classes/WsSharedDocDo.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["map((apikey",{"_index":20126,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["map((domain",{"_index":20129,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["map((element",{"_index":7338,"title":{},"body":{"classes/CopyMapper.html":{}}}],["map((elementwithposition",{"_index":8543,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["map((entity",{"_index":21164,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["map((group",{"_index":19586,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["map((groupuser",{"_index":12936,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["map((key",{"_index":19385,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["map((match",{"_index":14125,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["map((o",{"_index":19383,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["map((pattern",{"_index":138,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["map((relation",{"_index":19595,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["map((role",{"_index":23304,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["map((rolename",{"_index":23730,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["map((teacher",{"_index":5785,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["map(async",{"_index":5262,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["map.set(key",{"_index":7305,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["map.set(status.originalentity.id",{"_index":7307,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["map.setifundefined(this.docs",{"_index":22494,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["map[node.id",{"_index":3656,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["map[node.pathofchildren",{"_index":3949,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["map[node.pathofchildren].push(desc",{"_index":3950,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["mapaccountstodto",{"_index":468,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["mapaccountstodto(accounts",{"_index":471,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["mapbasictoolconfigdotoentity",{"_index":10617,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapbasictoolconfigdotoentity(lti11config",{"_index":10627,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapbasictoolconfigdotoresponse",{"_index":10825,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["mapbasictoolconfigdotoresponse(externaltoolconfigdo",{"_index":10830,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["mapbasictoolconfigtodo",{"_index":10618,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapbasictoolconfigtodo(lti11config",{"_index":10630,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapboardelements",{"_index":19051,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mapbodytodto",{"_index":21932,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["mapbodytodto(body",{"_index":21933,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["mapclasstoclassinfodto",{"_index":12917,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["mapclasstoclassinfodto(clazz",{"_index":12920,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["mapcolumnboard",{"_index":19052,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mapcolumnboardelement",{"_index":9600,"title":{},"body":{"classes/DtoCreator.html":{}}}],["mapcolumnboardelement(element",{"_index":9620,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["mapconsentresponse",{"_index":17392,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapconsentresponse(consent",{"_index":17397,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapconsentsessionstoresponse",{"_index":17393,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapconsentsessionstoresponse(session",{"_index":17399,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapcontenttoresource",{"_index":5702,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["mapcontenttoresource(lessonid",{"_index":5717,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["mapcontextexternaltoolrequest",{"_index":6808,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["mapcontextexternaltoolrequest(request",{"_index":6810,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["mapcontextexternaltoolresponse",{"_index":6849,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["mapcontextexternaltoolresponse(contextexternaltool",{"_index":6852,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["mapcopyfilelistresponsetocopyfilesdto",{"_index":12156,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapcopyfilelistresponsetocopyfilesdto(copyfilelistresponse",{"_index":12162,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapcopyfileresponsetocopyfiledto",{"_index":12157,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapcopyfileresponsetocopyfiledto(response",{"_index":12164,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapcourseteacherstocopyrightowners",{"_index":5703,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["mapcourseteacherstocopyrightowners(course",{"_index":5722,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["mapcourseuserstousergroup",{"_index":3408,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["mapcourseuserstousergroup(course",{"_index":3415,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["mapcreateacceptloginrequestbody",{"_index":17388,"title":{},"body":{"classes/OauthProviderRequestMapper.html":{}}}],["mapcreateacceptloginrequestbody(loginrequestbody",{"_index":17389,"title":{},"body":{"classes/OauthProviderRequestMapper.html":{}}}],["mapcreatenewstodomain",{"_index":16475,"title":{},"body":{"classes/NewsMapper.html":{}}}],["mapcreatenewstodomain(params",{"_index":16479,"title":{},"body":{"classes/NewsMapper.html":{}}}],["mapcreaterequest",{"_index":10701,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["mapcreaterequest(externaltoolcreateparams",{"_index":10711,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["mapcurrentusertocreatejwtpayload",{"_index":7994,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["mapcurrentusertocreatejwtpayload(currentuser",{"_index":7999,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["mapcustomparameterdostoentities",{"_index":10619,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparameterdostoentities(customparameters",{"_index":10632,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparameterentrydostoentities",{"_index":10620,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparameterentrydostoentities(entries",{"_index":10635,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparameterentryentitiestodos",{"_index":10621,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparameterentryentitiestodos(entries",{"_index":10638,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparameterstodos",{"_index":10622,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparameterstodos(customparameters",{"_index":10640,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparametertoresponse",{"_index":10826,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["mapcustomparametertoresponse(customparameters",{"_index":10833,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["mapdashboardtoentity",{"_index":8570,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapdashboardtoentity(modelentity",{"_index":8585,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapdashboardtomodel",{"_index":8571,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapdashboardtomodel(entity",{"_index":8588,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapdomainobjecttoentityproperties",{"_index":10520,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"classes/GroupDomainMapper.html":{},"injectables/PseudonymsRepo.html":{}}}],["mapdomainobjecttoentityproperties(entitydo",{"_index":10537,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["mapdomainobjecttoentityproperties(group",{"_index":12712,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapdomaintoadapter",{"_index":5014,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["mapdomaintoadapter(team",{"_index":5015,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["mapdomaintoresponse",{"_index":25523,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["mapdosortordertoqueryorder",{"_index":10981,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{}}}],["mapdosortordertoqueryorder(sort",{"_index":10982,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{}}}],["mapdotoentityproperties",{"_index":2442,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["mapdotoentityproperties(domainobject",{"_index":20381,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["mapdotoentityproperties(entitydo",{"_index":2470,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["mapdotoprovideroauthclient",{"_index":10968,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["mapdotoprovideroauthclient(name",{"_index":10969,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["mapelementtoentity",{"_index":8572,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapelementtoentity(modelentity",{"_index":8590,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapentitytodo",{"_index":2443,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["mapentitytodo(entity",{"_index":2473,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["mapentitytodomainobject",{"_index":10521,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["mapentitytodomainobject(entity",{"_index":10539,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["mapentitytodomainobjectproperties",{"_index":12707,"title":{},"body":{"classes/GroupDomainMapper.html":{},"classes/SystemDomainMapper.html":{}}}],["mapentitytodomainobjectproperties(entity",{"_index":12715,"title":{},"body":{"classes/GroupDomainMapper.html":{},"classes/SystemDomainMapper.html":{}}}],["mapentitytodto",{"_index":21892,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["mapentitytodto(teamentity",{"_index":21893,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["mapentitytoparenttype",{"_index":12158,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapentitytoparenttype(entity",{"_index":12166,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapexternalgroup",{"_index":19548,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["mapexternalgroup(source",{"_index":19553,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["mapexternalsourceentitytoexternalsource",{"_index":12708,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapexternalsourceentitytoexternalsource(entity",{"_index":12717,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapexternalsourcetoexternalsourceentity",{"_index":12709,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapexternalsourcetoexternalsourceentity(externalsource",{"_index":12719,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapexternaltoolfilterquerytoexternaltoolsearchquery",{"_index":10702,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["mapexternaltoolfilterquerytoexternaltoolsearchquery(params",{"_index":10714,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["mapfilerecordlistresponsetodomainfilesdto",{"_index":12159,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapfilerecordlistresponsetodomainfilesdto(filerecordlistresponse",{"_index":12168,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapfilerecordresponsetofiledto",{"_index":12160,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapfilerecordresponsetofiledto(filerecordresponse",{"_index":12170,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapfilerecordtofilerecordparams",{"_index":12235,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["mapfilerecordtofilerecordparams(filerecord",{"_index":12239,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["mapfootodomain",{"_index":25524,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["mapfromdtotolistresponse",{"_index":21182,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["mapfromdtotolistresponse(systems",{"_index":21185,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["mapfromdtotoresponse",{"_index":21183,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["mapfromdtotoresponse(system",{"_index":21186,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["mapfromentitiestodtos",{"_index":18977,"title":{},"body":{"classes/RoleMapper.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{}}}],["mapfromentitiestodtos(enities",{"_index":18979,"title":{},"body":{"classes/RoleMapper.html":{}}}],["mapfromentitiestodtos(entities",{"_index":21139,"title":{},"body":{"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{}}}],["mapfromentitytodto",{"_index":18978,"title":{},"body":{"classes/RoleMapper.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/UserMapper.html":{}}}],["mapfromentitytodto(entity",{"_index":18982,"title":{},"body":{"classes/RoleMapper.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/UserMapper.html":{}}}],["mapfromoauthconfigdtotoresponse",{"_index":21184,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["mapfromoauthconfigdtotoresponse(oauthconfigdto",{"_index":21187,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["mapfromoauthconfigentitytodto",{"_index":21138,"title":{},"body":{"classes/SystemMapper.html":{}}}],["mapfromoauthconfigentitytodto(oauthconfig",{"_index":21142,"title":{},"body":{"classes/SystemMapper.html":{}}}],["mapfromoidcconfigentitytodto",{"_index":21155,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["mapfromoidcconfigentitytodto(systemid",{"_index":21158,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["mapgridelement",{"_index":8534,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["mapgridelement(data",{"_index":8536,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["mapgridelementtomodel",{"_index":8573,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapgridelementtomodel(elementwithposition",{"_index":8592,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapgrouptoclassinfodto",{"_index":12918,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["mapgrouptoclassinfodto(group",{"_index":12922,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["mapgroupuserentitytogroupuser",{"_index":12710,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapgroupuserentitytogroupuser(entity",{"_index":12721,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapgroupusertogroupuserentity",{"_index":12711,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapgroupusertogroupuserentity(groupuser",{"_index":12724,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["maph5perror",{"_index":13247,"title":{},"body":{"classes/H5PErrorMapper.html":{}}}],["maph5perror(error",{"_index":13248,"title":{},"body":{"classes/H5PErrorMapper.html":{}}}],["mapimportuserfilterquerytodomain",{"_index":13941,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["mapimportuserfilterquerytodomain(query",{"_index":13942,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["mapimportusermatchscopetodomain",{"_index":13988,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["mapimportusermatchscopetodomain(match",{"_index":13990,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["mapldapconfigentitytodomainobject",{"_index":21060,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["mapldapconfigentitytodomainobject(ldapconfig",{"_index":21063,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["maplearnroom",{"_index":8535,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["maplearnroom(metadata",{"_index":8538,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["maplesson",{"_index":19053,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["maplessoncopytodomain",{"_index":7310,"title":{},"body":{"classes/CopyMapper.html":{}}}],["maplessoncopytodomain(params",{"_index":7312,"title":{},"body":{"classes/CopyMapper.html":{}}}],["maplessonelement",{"_index":9601,"title":{},"body":{"classes/DtoCreator.html":{}}}],["maplessonelement(element",{"_index":9622,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["maploginresponse",{"_index":17394,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["maploginresponse(providerloginresponse",{"_index":17400,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["maplti11toolconfigdotoentity",{"_index":10623,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["maplti11toolconfigdotoentity(lti11config",{"_index":10644,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["maplti11toolconfigdotoresponse",{"_index":10827,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["maplti11toolconfigdotoresponse(externaltoolconfigdo",{"_index":10835,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["maplti11toolconfigtodo",{"_index":10624,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["maplti11toolconfigtodo(lti11config",{"_index":10646,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapmatchcreatortoresponse",{"_index":13989,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["mapmatchcreatortoresponse(matchcreator",{"_index":13992,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["mapnewsscopetodomain",{"_index":16476,"title":{},"body":{"classes/NewsMapper.html":{}}}],["mapnewsscopetodomain(query",{"_index":16481,"title":{},"body":{"classes/NewsMapper.html":{}}}],["mapoauth2configdotoentity",{"_index":10625,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapoauth2configdotoentity(oauth2config",{"_index":10648,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapoauth2configtodo",{"_index":10626,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapoauth2configtodo(oauth2config",{"_index":10651,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapoauth2toolconfigdotoresponse",{"_index":10828,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["mapoauth2toolconfigdotoresponse(externaltoolconfigdo",{"_index":10837,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["mapoauthclientresponse",{"_index":17395,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapoauthclientresponse(oauthclient",{"_index":17402,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapoauthconfigentitytodomainobject",{"_index":21061,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["mapoauthconfigentitytodomainobject(oauthconfig",{"_index":21065,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["mapped",{"_index":4834,"title":{},"body":{"injectables/ClassesRepo.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DtoCreator.html":{},"classes/GroupDomainMapper.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{},"controllers/LoginController.html":{},"controllers/OauthProviderController.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"controllers/RoomsController.html":{},"injectables/SanisResponseMapper.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemResponseMapper.html":{},"injectables/TeamPermissionsMapper.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["mapped.id",{"_index":22766,"title":{},"body":{"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["mappedcolumnboard",{"_index":19100,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedconfig",{"_index":10764,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["mappedcustomparameter",{"_index":10769,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["mappeddata",{"_index":12849,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["mappedelements",{"_index":8639,"title":{},"body":{"injectables/DashboardModelMapper.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["mappedelements.includes(el",{"_index":8643,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mappedentity",{"_index":21171,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["mappedlesson",{"_index":19094,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedlocation",{"_index":22843,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["mappedtask",{"_index":19077,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedtask.availabledate",{"_index":19086,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedtask.coursename",{"_index":19084,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedtask.description",{"_index":19092,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedtask.displaycolor",{"_index":19090,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedtask.duedate",{"_index":19088,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedtools",{"_index":22667,"title":{},"body":{"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{}}}],["mappedtype",{"_index":22845,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["mappedtypes",{"_index":22674,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["mapper",{"_index":675,"title":{},"body":{"modules/AccountModule.html":{},"injectables/AccountServiceDb.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"injectables/ClassesRepo.html":{},"injectables/CollaborativeStorageAdapter.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"controllers/ColumnController.html":{},"injectables/CopyFilesService.html":{},"injectables/DashboardRepo.html":{},"controllers/ElementController.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"controllers/GroupController.html":{},"interfaces/IDashboardRepo.html":{},"injectables/JwtStrategy.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySystemService.html":{},"injectables/LocalStrategy.html":{},"injectables/LoginUc.html":{},"injectables/Oauth2Strategy.html":{},"injectables/PreviewService.html":{},"injectables/RocketChatUserRepo.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{},"controllers/SubmissionController.html":{},"injectables/SystemOidcService.html":{},"controllers/TaskController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"injectables/ToolLaunchService.html":{},"controllers/ToolReferenceController.html":{},"injectables/ToolReferenceService.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["mapper.canmap(element",{"_index":6403,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["mapper.interface",{"_index":6394,"title":{},"body":{"classes/ContentElementResponseFactory.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["mapper.interface.ts",{"_index":2641,"title":{},"body":{"interfaces/BaseResponseMapper.html":{}}}],["mapper.interface.ts:5",{"_index":2646,"title":{},"body":{"interfaces/BaseResponseMapper.html":{}}}],["mapper.interface.ts:7",{"_index":2644,"title":{},"body":{"interfaces/BaseResponseMapper.html":{}}}],["mapper.mapsubmissionitemtoresponse(submissionitem",{"_index":9745,"title":{},"body":{"controllers/ElementController.html":{}}}],["mapper.maptoresponse(submissionitems",{"_index":4049,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["mapper.name",{"_index":14568,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["mapper.ts",{"_index":25522,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["mapper/account",{"_index":977,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["mapper/calendar.mapper",{"_index":4289,"title":{},"body":{"modules/CalendarModule.html":{},"injectables/CalendarService.html":{}}}],["mapper/collaborative",{"_index":5002,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["mapper/course.mapper",{"_index":7531,"title":{},"body":{"controllers/CourseController.html":{}}}],["mapper/dashboard.mapper",{"_index":8303,"title":{},"body":{"controllers/DashboardController.html":{}}}],["mapper/deletion",{"_index":9178,"title":{},"body":{"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{}}}],["mapper/identity",{"_index":14435,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["mapper/import",{"_index":13863,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["mapper/login",{"_index":15761,"title":{},"body":{"controllers/LoginController.html":{}}}],["mapper/news.mapper",{"_index":16425,"title":{},"body":{"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"controllers/TeamNewsController.html":{}}}],["mapper/oauth",{"_index":17145,"title":{},"body":{"modules/OauthProviderApiModule.html":{},"controllers/OauthProviderController.html":{}}}],["mapper/provisioning",{"_index":18094,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["mapper/pseudonym.mapper",{"_index":18157,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["mapper/role.mapper",{"_index":19031,"title":{},"body":{"injectables/RoleService.html":{}}}],["mapper/room",{"_index":15087,"title":{},"body":{"modules/LearnroomApiModule.html":{},"controllers/RoomsController.html":{}}}],["mapper/system",{"_index":21040,"title":{},"body":{"controllers/SystemController.html":{}}}],["mapper/team.mapper",{"_index":5119,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["mapper/token",{"_index":16842,"title":{},"body":{"injectables/OAuthService.html":{}}}],["mapper/tool",{"_index":22626,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["mapper/user",{"_index":13866,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["mapper/user.mapper",{"_index":23905,"title":{},"body":{"injectables/UserService.html":{}}}],["mapper/vc",{"_index":24155,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["mapper/video",{"_index":24042,"title":{},"body":{"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["mapperid",{"_index":14571,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["mappers",{"_index":6379,"title":{},"body":{"classes/ContentElementResponseFactory.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["mapping",{"_index":25498,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["mappseudonymtouserdata",{"_index":11251,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["mappseudonymtouserdata(pseudonym",{"_index":11274,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["mapredirectresponse",{"_index":17396,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapredirectresponse(redirect",{"_index":17403,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapreferencetoentity",{"_index":8574,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapreferencetoentity(modelentity",{"_index":8594,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapreferencetomodel",{"_index":8575,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapreferencetomodel(reference",{"_index":8596,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["maprequesttobasictoolconfig",{"_index":10703,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttobasictoolconfig(externaltoolconfigparams",{"_index":10717,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttocustomparameterdo",{"_index":10704,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttocustomparameterdo(customparameterparams",{"_index":10721,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttocustomparameterentrydo",{"_index":6809,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["maprequesttocustomparameterentrydo(customparameterparams",{"_index":6813,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["maprequesttolti11toolconfigcreate",{"_index":10705,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttolti11toolconfigcreate(externaltoolconfigparams",{"_index":10724,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttolti11toolconfigupdate",{"_index":10706,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttolti11toolconfigupdate(externaltoolconfigparams",{"_index":10727,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttooauth2toolconfigcreate",{"_index":10707,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttooauth2toolconfigcreate(externaltoolconfigparams",{"_index":10731,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttooauth2toolconfigupdate",{"_index":10708,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttooauth2toolconfigupdate(externaltoolconfigparams",{"_index":10734,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprolestoltiroles",{"_index":15886,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["maprolestoltiroles(rolenames",{"_index":15887,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["maprpcerrorresponsetodomainerror",{"_index":9885,"title":{},"body":{"classes/ErrorMapper.html":{},"classes/RpcMessageProducer.html":{}}}],["maprpcerrorresponsetodomainerror(errorobj",{"_index":9886,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["maps",{"_index":5017,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/TeamMapper.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["mapsanisroletorolename",{"_index":19549,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["mapsanisroletorolename(source",{"_index":19554,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["mapscanresultparamstodto",{"_index":11821,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["mapscanresultparamstodto(scanresultparams",{"_index":11824,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["mapschoolexternaltoolrequest",{"_index":19764,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{}}}],["mapschoolexternaltoolrequest(request",{"_index":19765,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{}}}],["mapsearchparamstoquery",{"_index":23547,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["mapsearchparamstoquery(searchparams",{"_index":23549,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["mapsearchresult",{"_index":469,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["mapsearchresult(accountentities",{"_index":473,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["mapsortingquerytodomain",{"_index":10709,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/ImportUserMapper.html":{}}}],["mapsortingquerytodomain(sortingquery",{"_index":10738,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/ImportUserMapper.html":{}}}],["mapstringtoparenttype",{"_index":12161,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapstringtoparenttype(input",{"_index":12172,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapsubmissioncontenttoresponse",{"_index":6380,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["mapsubmissioncontenttoresponse(element",{"_index":6388,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["mapsubmissionitemtoresponse",{"_index":20811,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["mapsubmissionitemtoresponse(submissionitem",{"_index":20815,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["maptask",{"_index":19054,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["maptaskcopytodomain",{"_index":7311,"title":{},"body":{"classes/CopyMapper.html":{}}}],["maptaskcopytodomain(params",{"_index":7316,"title":{},"body":{"classes/CopyMapper.html":{}}}],["maptaskcreatetodomain",{"_index":21517,"title":{},"body":{"classes/TaskMapper.html":{}}}],["maptaskcreatetodomain(params",{"_index":21519,"title":{},"body":{"classes/TaskMapper.html":{}}}],["maptaskelement",{"_index":9602,"title":{},"body":{"classes/DtoCreator.html":{}}}],["maptaskelement(element",{"_index":9624,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["maptasktowebcontentresource",{"_index":5704,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["maptasktowebcontentresource(task",{"_index":5725,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["maptaskupdatetodomain",{"_index":21518,"title":{},"body":{"classes/TaskMapper.html":{}}}],["maptaskupdatetodomain(params",{"_index":21521,"title":{},"body":{"classes/TaskMapper.html":{}}}],["maptoallowedauthorizationentitytype",{"_index":12236,"title":{},"body":{"classes/FilesStorageMapper.html":{},"classes/H5PContentMapper.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["maptoallowedauthorizationentitytype(type",{"_index":12241,"title":{},"body":{"classes/FilesStorageMapper.html":{},"classes/H5PContentMapper.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["maptoallowemetadatatype",{"_index":16281,"title":{},"body":{"classes/MetadataTypeMapper.html":{}}}],["maptoallowemetadatatype(type",{"_index":16282,"title":{},"body":{"classes/MetadataTypeMapper.html":{}}}],["maptobaseresponse",{"_index":24328,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["maptobaseresponse(from",{"_index":24331,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["maptoboardelement",{"_index":2991,"title":{},"body":{"entities/Board.html":{}}}],["maptoclassinfostolistresponse",{"_index":12837,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["maptoclassinfostolistresponse(classinfos",{"_index":12840,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["maptoclassinfotoresponse",{"_index":12838,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["maptoclassinfotoresponse(classinfo",{"_index":12842,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["maptocontextexternaltoolconfigurationtemplatelistresponse",{"_index":22649,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptocontextexternaltoolconfigurationtemplatelistresponse(toolinfos",{"_index":22654,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptocontextexternaltoolconfigurationtemplateresponse",{"_index":22650,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptocontextexternaltoolconfigurationtemplateresponse(toolinfo",{"_index":22657,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptocustomparameterentryresponse",{"_index":19778,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["maptocustomparameterentryresponse(entries",{"_index":19781,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["maptodo",{"_index":4724,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{},"classes/RocketChatUserMapper.html":{}}}],["maptodo(entity",{"_index":4728,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{},"classes/RocketChatUserMapper.html":{}}}],["maptodomain",{"_index":18996,"title":{},"body":{"classes/RoleNameMapper.html":{},"classes/UserMatchMapper.html":{}}}],["maptodomain(query",{"_index":23718,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["maptodomain(rolename",{"_index":18997,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["maptodos",{"_index":4725,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{}}}],["maptodos(entities",{"_index":4730,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{}}}],["maptodto",{"_index":470,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/CalendarMapper.html":{}}}],["maptodto(account",{"_index":476,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{}}}],["maptodto(event",{"_index":4272,"title":{},"body":{"injectables/CalendarMapper.html":{}}}],["maptoelementdtos",{"_index":9603,"title":{},"body":{"classes/DtoCreator.html":{}}}],["maptoelementdtos(elements",{"_index":9626,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["maptoentities",{"_index":4726,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{}}}],["maptoentities(domainobjects",{"_index":4732,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{}}}],["maptoentity",{"_index":4727,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{},"classes/RocketChatUserMapper.html":{}}}],["maptoentity(domainobject",{"_index":4734,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{},"classes/RocketChatUserMapper.html":{}}}],["maptoexternalgroupdtos",{"_index":19550,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["maptoexternalgroupdtos(source",{"_index":19556,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["maptoexternalgroupuser",{"_index":19551,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["maptoexternalgroupuser(relation",{"_index":19558,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["maptoexternalschooldto",{"_index":14189,"title":{},"body":{"classes/IservMapper.html":{},"injectables/SanisResponseMapper.html":{}}}],["maptoexternalschooldto(schooldo",{"_index":14191,"title":{},"body":{"classes/IservMapper.html":{}}}],["maptoexternalschooldto(source",{"_index":19560,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["maptoexternaltoolmetadataresponse",{"_index":10380,"title":{},"body":{"classes/ExternalToolMetadataMapper.html":{}}}],["maptoexternaltoolmetadataresponse(externaltoolmetadata",{"_index":10381,"title":{},"body":{"classes/ExternalToolMetadataMapper.html":{}}}],["maptoexternaltoolresponse",{"_index":10829,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["maptoexternaltoolresponse(externaltool",{"_index":10839,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["maptoexternaluserdto",{"_index":14190,"title":{},"body":{"classes/IservMapper.html":{},"injectables/SanisResponseMapper.html":{}}}],["maptoexternaluserdto(source",{"_index":19561,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["maptoexternaluserdto(userdo",{"_index":14194,"title":{},"body":{"classes/IservMapper.html":{}}}],["maptofilerecordlistresponse",{"_index":11822,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["maptofilerecordlistresponse(filerecords",{"_index":11827,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["maptofilerecordresponse",{"_index":11823,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["maptofilerecordresponse(filerecord",{"_index":11829,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["maptogroupresponse",{"_index":12839,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["maptogroupresponse(resolvedgroup",{"_index":12845,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["maptoinforesponse",{"_index":24329,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["maptoinforesponse(from",{"_index":24332,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["maptointernal",{"_index":18120,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["maptointernal(dto",{"_index":18121,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["maptojoinresponse",{"_index":24330,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["maptojoinresponse(from",{"_index":24333,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["maptokenresponsetodto",{"_index":22560,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["maptokenresponsetodto(response",{"_index":22563,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["maptokeycloakidentityprovider",{"_index":17523,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["maptokeycloakidentityprovider(oidcconfig",{"_index":17526,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["maptologinresponse",{"_index":15808,"title":{},"body":{"classes/LoginResponseMapper.html":{}}}],["maptologinresponse(logindto",{"_index":15810,"title":{},"body":{"classes/LoginResponseMapper.html":{}}}],["maptologmessagedata",{"_index":16477,"title":{},"body":{"classes/NewsMapper.html":{}}}],["maptologmessagedata(news",{"_index":16483,"title":{},"body":{"classes/NewsMapper.html":{}}}],["maptometadataresponse",{"_index":7721,"title":{},"body":{"classes/CourseMapper.html":{}}}],["maptometadataresponse(course",{"_index":7722,"title":{},"body":{"classes/CourseMapper.html":{}}}],["maptooauthcurrentuser",{"_index":7995,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["maptooauthcurrentuser(accountid",{"_index":8001,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["maptooauthloginresponse",{"_index":15809,"title":{},"body":{"classes/LoginResponseMapper.html":{}}}],["maptooauthloginresponse(logindto",{"_index":15812,"title":{},"body":{"classes/LoginResponseMapper.html":{}}}],["maptoparameterlocation",{"_index":22821,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptoparameterlocation(location",{"_index":22825,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptoresolvedgroupdto",{"_index":12919,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["maptoresolvedgroupdto(group",{"_index":12927,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["maptoresponse",{"_index":830,"title":{},"body":{"classes/AccountResponseMapper.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BoardResponseMapper.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/CardResponseMapper.html":{},"classes/ColumnResponseMapper.html":{},"classes/ContentElementResponseFactory.html":{},"classes/CopyMapper.html":{},"classes/DashboardMapper.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/ImportUserMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/NewsMapper.html":{},"classes/PseudonymMapper.html":{},"classes/ResolvedUserMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RoleNameMapper.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/TargetInfoMapper.html":{},"classes/TaskMapper.html":{},"classes/TaskStatusMapper.html":{},"classes/ToolStatusResponseMapper.html":{},"classes/UserInfoMapper.html":{},"classes/UserMatchMapper.html":{}}}],["maptoresponse(account",{"_index":832,"title":{},"body":{"classes/AccountResponseMapper.html":{}}}],["maptoresponse(board",{"_index":3996,"title":{},"body":{"classes/BoardResponseMapper.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["maptoresponse(card",{"_index":4439,"title":{},"body":{"classes/CardResponseMapper.html":{}}}],["maptoresponse(column",{"_index":5638,"title":{},"body":{"classes/ColumnResponseMapper.html":{}}}],["maptoresponse(copystatus",{"_index":7320,"title":{},"body":{"classes/CopyMapper.html":{}}}],["maptoresponse(dashboard",{"_index":8540,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["maptoresponse(element",{"_index":2645,"title":{},"body":{"interfaces/BaseResponseMapper.html":{},"classes/ContentElementResponseFactory.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["maptoresponse(importuser",{"_index":13945,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["maptoresponse(news",{"_index":16485,"title":{},"body":{"classes/NewsMapper.html":{}}}],["maptoresponse(pseudonym",{"_index":18173,"title":{},"body":{"classes/PseudonymMapper.html":{}}}],["maptoresponse(rolename",{"_index":18999,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["maptoresponse(schoolinfo",{"_index":19913,"title":{},"body":{"classes/SchoolInfoMapper.html":{}}}],["maptoresponse(sharetoken",{"_index":20405,"title":{},"body":{"classes/ShareTokenResponseMapper.html":{}}}],["maptoresponse(sharetokeninfo",{"_index":20359,"title":{},"body":{"classes/ShareTokenInfoResponseMapper.html":{}}}],["maptoresponse(status",{"_index":4080,"title":{},"body":{"classes/BoardTaskStatusMapper.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"classes/TaskStatusMapper.html":{},"classes/ToolStatusResponseMapper.html":{}}}],["maptoresponse(submissionitems",{"_index":20816,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["maptoresponse(target",{"_index":21232,"title":{},"body":{"classes/TargetInfoMapper.html":{}}}],["maptoresponse(taskwithstatus",{"_index":21524,"title":{},"body":{"classes/TaskMapper.html":{}}}],["maptoresponse(user",{"_index":18773,"title":{},"body":{"classes/ResolvedUserMapper.html":{},"classes/UserInfoMapper.html":{},"classes/UserMatchMapper.html":{}}}],["maptoresponsefromentity",{"_index":831,"title":{},"body":{"classes/AccountResponseMapper.html":{}}}],["maptoresponsefromentity(account",{"_index":834,"title":{},"body":{"classes/AccountResponseMapper.html":{}}}],["maptoschoolexternaltoolconfigurationtemplatelistresponse",{"_index":22651,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptoschoolexternaltoolconfigurationtemplatelistresponse(externaltools",{"_index":22660,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptoschoolexternaltoolconfigurationtemplateresponse",{"_index":22652,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptoschoolexternaltoolconfigurationtemplateresponse(externaltool",{"_index":22662,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptoschoolexternaltoolmetadataresponse",{"_index":19699,"title":{},"body":{"classes/SchoolExternalToolMetadataMapper.html":{}}}],["maptoschoolexternaltoolmetadataresponse(schoolexternaltoolmetadata",{"_index":19700,"title":{},"body":{"classes/SchoolExternalToolMetadataMapper.html":{}}}],["maptoschoolexternaltoolresponse",{"_index":19779,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["maptoschoolexternaltoolresponse(schoolexternaltool",{"_index":19782,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["maptosearchlistresponse",{"_index":19780,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["maptosearchlistresponse(externaltools",{"_index":19784,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["maptosinglefileparams",{"_index":12237,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["maptosinglefileparams(params",{"_index":12245,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["maptostatusresponse",{"_index":20871,"title":{},"body":{"classes/SubmissionMapper.html":{}}}],["maptostatusresponse(submission",{"_index":20872,"title":{},"body":{"classes/SubmissionMapper.html":{}}}],["maptostreamablefile",{"_index":12238,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["maptostreamablefile(fileresponse",{"_index":12247,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["maptotoolconfigtype",{"_index":22822,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptotoolconfigtype(launchdatatype",{"_index":22827,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptotoolcontexttypeslistresponse",{"_index":22653,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptotoolcontexttypeslistresponse(toolcontexttypes",{"_index":22664,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptotoollaunchdatatype",{"_index":22823,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptotoollaunchdatatype(configtype",{"_index":22830,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptotoollaunchrequestresponse",{"_index":22824,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptotoollaunchrequestresponse(toollaunchrequest",{"_index":22833,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptotoolreference",{"_index":22981,"title":{},"body":{"classes/ToolReferenceMapper.html":{}}}],["maptotoolreference(externaltool",{"_index":22982,"title":{},"body":{"classes/ToolReferenceMapper.html":{}}}],["maptotoolreferenceresponse",{"_index":6850,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["maptotoolreferenceresponse(toolreference",{"_index":6854,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["maptotoolreferenceresponses",{"_index":6851,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["maptotoolreferenceresponses(toolreferences",{"_index":6858,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["mapupdatenewstodomain",{"_index":16478,"title":{},"body":{"classes/NewsMapper.html":{}}}],["mapupdatenewstodomain(params",{"_index":16487,"title":{},"body":{"classes/NewsMapper.html":{}}}],["mapupdaterequest",{"_index":10710,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["mapupdaterequest(externaltoolupdateparams",{"_index":10743,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["mapuserloginmigrationdotoresponse",{"_index":23548,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["mapuserloginmigrationdotoresponse(domainobject",{"_index":23552,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["mapuserstoresponse",{"_index":20812,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["mapuserstoresponse(user",{"_index":20818,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["march",{"_index":25106,"title":{},"body":{"license.html":{}}}],["markdeletionrequestasexecuted",{"_index":9356,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["markdeletionrequestasexecuted(deletionrequestid",{"_index":9367,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["markdeletionrequestasfailed",{"_index":9357,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["markdeletionrequestasfailed(deletionrequestid",{"_index":9369,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["marked",{"_index":8832,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"classes/UserLoginMigrationResponse.html":{},"license.html":{}}}],["markedfordelete",{"_index":11809,"title":{},"body":{"classes/FileRecordFactory.html":{}}}],["markfilesownedbyuserfordeletion",{"_index":12097,"title":{},"body":{"injectables/FilesService.html":{}}}],["markfilesownedbyuserfordeletion(userid",{"_index":12104,"title":{},"body":{"injectables/FilesService.html":{}}}],["markfordelete",{"_index":11771,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["markfordeletion",{"_index":11542,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["marks",{"_index":24984,"title":{},"body":{"license.html":{}}}],["markunmigratedusersasoutdated",{"_index":19933,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["markunmigratedusersasoutdated(userloginmigration",{"_index":19951,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["masks",{"_index":24710,"title":{},"body":{"license.html":{}}}],["master",{"_index":25895,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["match",{"_index":415,"title":{},"body":{"controllers/AccountController.html":{},"classes/ApiValidationErrorResponse.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"interfaces/CollectionFilePath.html":{},"classes/ErrorResponse.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FilesRepo.html":{},"classes/FilterImportUserParams.html":{},"interfaces/IImportUserScope.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMatchMapper.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"injectables/LessonRepo.html":{},"interfaces/NameMatch.html":{},"classes/PatchMyPasswordParams.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"injectables/UserRepo.html":{},"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["match.mapper",{"_index":13867,"title":{},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"classes/UserMatchMapper.html":{}}}],["match.mapper.ts",{"_index":23717,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["match.mapper.ts:21",{"_index":23720,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["match.mapper.ts:9",{"_index":23719,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["match.params.ts",{"_index":23101,"title":{},"body":{"classes/UpdateMatchParams.html":{}}}],["match.params.ts:7",{"_index":23103,"title":{},"body":{"classes/UpdateMatchParams.html":{}}}],["match.response",{"_index":13923,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["match.response.ts",{"_index":23712,"title":{},"body":{"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["match.response.ts:19",{"_index":23740,"title":{},"body":{"classes/UserMatchResponse.html":{}}}],["match.response.ts:22",{"_index":23737,"title":{},"body":{"classes/UserMatchResponse.html":{}}}],["match.response.ts:25",{"_index":23735,"title":{},"body":{"classes/UserMatchResponse.html":{}}}],["match.response.ts:28",{"_index":23736,"title":{},"body":{"classes/UserMatchResponse.html":{}}}],["match.response.ts:35",{"_index":23739,"title":{},"body":{"classes/UserMatchResponse.html":{}}}],["match.response.ts:41",{"_index":23738,"title":{},"body":{"classes/UserMatchResponse.html":{}}}],["match.response.ts:44",{"_index":23713,"title":{},"body":{"classes/UserMatchListResponse.html":{}}}],["match.response.ts:7",{"_index":23734,"title":{},"body":{"classes/UserMatchResponse.html":{}}}],["match_matchedby",{"_index":13781,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["match_userid",{"_index":13788,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/UserRepo.html":{}}}],["matchancestors",{"_index":3942,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["matchancestors(desc",{"_index":3947,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["matchcreator",{"_index":13779,"title":{},"body":{"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMatchMapper.html":{},"interfaces/ImportUserProperties.html":{},"classes/UserMatchMapper.html":{}}}],["matchcreator.auto",{"_index":14004,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["matchcreator.manual",{"_index":14002,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["matchcreatorscope",{"_index":13580,"title":{},"body":{"interfaces/IImportUserScope.html":{},"classes/ImportUserMatchMapper.html":{},"classes/ImportUserScope.html":{},"interfaces/NameMatch.html":{}}}],["matchcreatorscope.auto",{"_index":13996,"title":{},"body":{"classes/ImportUserMatchMapper.html":{},"classes/ImportUserScope.html":{}}}],["matchcreatorscope.manual",{"_index":13998,"title":{},"body":{"classes/ImportUserMatchMapper.html":{},"classes/ImportUserScope.html":{}}}],["matchcreatorscope.none",{"_index":14000,"title":{},"body":{"classes/ImportUserMatchMapper.html":{},"classes/ImportUserScope.html":{}}}],["matched",{"_index":4215,"title":{},"body":{"classes/BusinessError.html":{},"classes/ImportUserFactory.html":{},"injectables/ImportUserRepo.html":{}}}],["matched(matchedby",{"_index":13908,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["matchedby",{"_index":13769,"title":{},"body":{"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{}}}],["matches",{"_index":301,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountSaveDto.html":{},"injectables/CopyHelperService.html":{},"classes/CourseQueryParams.html":{},"classes/FileMetadata.html":{},"classes/GetFwuLearningContentParams.html":{},"interfaces/IImportUserScope.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"interfaces/NameMatch.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/Path.html":{}}}],["matches(object.values(commoncartridgeversion).join",{"_index":7803,"title":{},"body":{"classes/CourseQueryParams.html":{}}}],["matches(passwordpattern",{"_index":305,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountSaveDto.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{}}}],["matches.groups",{"_index":7298,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["matches.length",{"_index":13814,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["matches[1",{"_index":13815,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["matching",{"_index":104,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"modules/AccountApiModule.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"interfaces/AccountConfig.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthCodeFailureLoggableException.html":{},"modules/AuthenticationApiModule.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"modules/AuthorizationModule.html":{},"classes/AuthorizationParams.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"modules/BoardApiModule.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"modules/ClassModule.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"modules/CoreModule.html":{},"interfaces/CoreModuleConfig.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"modules/ErrorModule.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FeathersError.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{},"classes/FileUrlParams.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"modules/GroupModule.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"interfaces/IdentityManagementConfig.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/InterceptorConfig.html":{},"modules/InterceptorModule.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"injectables/JwtAuthGuard.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Learnroom.html":{},"modules/LearnroomApiModule.html":{},"interfaces/LearnroomElement.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/LessonApiModule.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"modules/LessonModule.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"modules/NewsModule.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthApiModule.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"classes/ProvisioningDto.html":{},"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"modules/PseudonymModule.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"modules/RocketChatUserModule.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"modules/RoleModule.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"modules/TaskApiModule.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"modules/TaskModule.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawClientModule.html":{},"interfaces/TldrawConfig.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"interfaces/ToolVersion.html":{},"injectables/ToolVersionService.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"modules/UserApiModule.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"modules/ValidationModule.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"properties.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/api-design.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["matchingparameterentry",{"_index":2776,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["matchingparams",{"_index":11088,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["matchingparams.some((param",{"_index":11135,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["matchsinglerule",{"_index":19249,"title":{},"body":{"injectables/RuleManager.html":{}}}],["matchsinglerule(rules",{"_index":19254,"title":{},"body":{"injectables/RuleManager.html":{}}}],["matchtype",{"_index":13994,"title":{},"body":{"classes/ImportUserMatchMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["matchtype.auto",{"_index":14005,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["matchtype.manual",{"_index":14003,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["material",{"_index":6165,"title":{"entities/Material.html":{}},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{},"license.html":{}}}],["materialfactory",{"_index":16131,"title":{"classes/MaterialFactory.html":{}},"body":{"classes/MaterialFactory.html":{}}}],["materialfactory.define(material",{"_index":16134,"title":{},"body":{"classes/MaterialFactory.html":{}}}],["materialid",{"_index":6177,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["materialids",{"_index":6192,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["materially",{"_index":24955,"title":{},"body":{"license.html":{}}}],["materialproperties",{"_index":16117,"title":{"interfaces/MaterialProperties.html":{}},"body":{"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["materials",{"_index":6170,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["materials.entity",{"_index":6166,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["materialsrepo",{"_index":16135,"title":{"injectables/MaterialsRepo.html":{}},"body":{"injectables/MaterialsRepo.html":{}}}],["math.ceil(timedifference",{"_index":1746,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["math.floor(index",{"_index":8420,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["math.floor(math.random",{"_index":3848,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["math.round(math.random",{"_index":11815,"title":{},"body":{"classes/FileRecordFactory.html":{}}}],["matter",{"_index":25821,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["max",{"_index":3816,"title":{},"body":{"injectables/BoardManagementUc.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"classes/ListOauthClientsParams.html":{},"classes/PaginationParams.html":{}}}],["max(100",{"_index":17699,"title":{},"body":{"classes/PaginationParams.html":{}}}],["max(500",{"_index":15647,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["max_file_size",{"_index":11965,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["max_redirects",{"_index":13391,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["max_security_check_file_size",{"_index":11966,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["maxage",{"_index":20221,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["maxcount",{"_index":13168,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["maxdelay",{"_index":15013,"title":{},"body":{"injectables/LdapService.html":{}}}],["maxexternaltoollogosizeinbytes",{"_index":10359,"title":{},"body":{"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["maximum",{"_index":892,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"classes/ListOauthClientsParams.html":{},"interfaces/MigrationOptions.html":{},"classes/PaginationParams.html":{},"interfaces/RetryOptions.html":{}}}],["maxkeys",{"_index":7201,"title":{},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{}}}],["maxpagesize",{"_index":4897,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["maxredirects",{"_index":13424,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["maxsubmission",{"_index":21294,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["maxsubmissions",{"_index":4089,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"interfaces/ITask.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusResponse.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{}}}],["maxusers",{"_index":2307,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["maybe",{"_index":10654,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["md",{"_index":25252,"title":{},"body":{"todo.html":{}}}],["mdb",{"_index":22210,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["me(@currentuser",{"_index":23194,"title":{},"body":{"controllers/UserController.html":{}}}],["me(authtoken",{"_index":1110,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["me(currentuser",{"_index":23189,"title":{},"body":{"controllers/UserController.html":{}}}],["me(userid",{"_index":23894,"title":{},"body":{"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["meaning",{"_index":24991,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["meaningful",{"_index":24626,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["means",{"_index":24594,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["measure",{"_index":2901,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"license.html":{}}}],["measures",{"_index":24596,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["mechanism",{"_index":25472,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["medium",{"_index":24834,"title":{},"body":{"license.html":{}}}],["meet",{"_index":24846,"title":{},"body":{"license.html":{}}}],["meeting",{"_index":2299,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{},"injectables/BBBService.html":{}}}],["meeting.config",{"_index":2178,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{}}}],["meeting.config.ts",{"_index":2140,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{}}}],["meeting.config.ts:1",{"_index":2143,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{}}}],["meeting.config.ts:6",{"_index":2144,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{}}}],["meeting_id",{"_index":2295,"title":{},"body":{"interfaces/BBBJoinResponse.html":{}}}],["meetingid",{"_index":2141,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"injectables/BBBService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["meetingname",{"_index":2308,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["meets",{"_index":24755,"title":{},"body":{"license.html":{}}}],["member",{"_index":1092,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"interfaces/CollectionFilePath.html":{},"classes/ErrorLoggable.html":{},"injectables/FeathersAuthProvider.html":{},"interfaces/ICurrentUser.html":{},"classes/JwtExtractor.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"injectables/TeamsRepo.html":{},"injectables/TldrawBoardRepo.html":{},"classes/TldrawWs.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["memberids",{"_index":20684,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["memberids.some((id",{"_index":20689,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["members",{"_index":1147,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/NextcloudStrategy.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/ShareTokenBodyParams.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["memory",{"_index":12433,"title":{},"body":{"modules/FwuLearningContentsTestModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/TldrawWsService.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["memorystore",{"_index":20204,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["mention",{"_index":25844,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["mentioned",{"_index":25444,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["mentor",{"_index":8037,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["menu",{"_index":24753,"title":{},"body":{"license.html":{}}}],["merchantability",{"_index":25148,"title":{},"body":{"license.html":{}}}],["mere",{"_index":24741,"title":{},"body":{"license.html":{}}}],["merge",{"_index":24631,"title":{},"body":{"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["mergeelementintoposition",{"_index":8333,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["mergeelementintoposition(element",{"_index":8365,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["merging",{"_index":25037,"title":{},"body":{"license.html":{}}}],["merlinreference",{"_index":6179,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["message",{"_index":1115,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthorizationError.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"interfaces/BBBBaseResponse.html":{},"injectables/BatchDeletionService.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/DeletionExecutionConsole.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorResponse.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"injectables/FilesStorageConsumer.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/GlobalErrorFilter.html":{},"classes/GroupRoleUnknownLoggable.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/IError.html":{},"interfaces/ILegacyLogger.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConnectionError.html":{},"classes/LdapUserMigrationException.html":{},"injectables/LegacyLogger.html":{},"injectables/LessonCopyUC.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{},"interfaces/Meta.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NewsCrudOperationLoggable.html":{},"interfaces/NextcloudGroups.html":{},"classes/NotFoundLoggableException.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/OcsResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PreviewActionsLoggable.html":{},"injectables/PreviewGeneratorConsumer.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SuccessfulRes.html":{},"injectables/TaskCopyUC.html":{},"injectables/TldrawWsService.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorLoggableException.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/WsSharedDocDo.html":{},"index.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["message.ts",{"_index":13565,"title":{},"body":{"interfaces/IError.html":{},"interfaces/RpcMessage.html":{}}}],["messagehandler",{"_index":22424,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["messagehandler(conn",{"_index":22437,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["messagekey",{"_index":2150,"title":{},"body":{"interfaces/BBBBaseResponse.html":{}}}],["messages",{"_index":25839,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["messagetype",{"_index":22501,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["messagewithcontext",{"_index":15738,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["met",{"_index":24787,"title":{},"body":{"license.html":{}}}],["meta",{"_index":12974,"title":{"interfaces/Meta.html":{}},"body":{"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagExtractorService.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OcsResponse.html":{},"interfaces/SuccessfulRes.html":{},"injectables/TemporaryFileStorage.html":{}}}],["meta_bbb",{"_index":2161,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["metadata",{"_index":131,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"injectables/BoardUrlHandler.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/ContentMetadata.html":{},"injectables/CourseUrlHandler.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"classes/ErrorLoggable.html":{},"injectables/ExternalToolUc.html":{},"classes/FileMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/GlobalValidationPipe.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"entities/InstalledLibrary.html":{},"injectables/LessonUrlHandler.html":{},"classes/LibraryName.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/TaskUrlHandler.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"interfaces/UrlHandler.html":{},"dependencies.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["metadata.a11ytitle",{"_index":6601,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.authorcomments",{"_index":6616,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.authors",{"_index":6610,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.changes",{"_index":6614,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.contenttype",{"_index":6618,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.defaultlanguage",{"_index":6583,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.dynamicdependencies",{"_index":6589,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.editordependencies",{"_index":6591,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.embedtypes",{"_index":6577,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.h",{"_index":6593,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.language",{"_index":6579,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.license",{"_index":6585,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.licenseextras",{"_index":6612,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.licenseversion",{"_index":6603,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.mainlibrary",{"_index":6581,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["metadata.mapper.ts",{"_index":10379,"title":{},"body":{"classes/ExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataMapper.html":{}}}],["metadata.mapper.ts:6",{"_index":10382,"title":{},"body":{"classes/ExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataMapper.html":{}}}],["metadata.metadescription",{"_index":6595,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.metakeywords",{"_index":6597,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.parenttitle",{"_index":4164,"title":{},"body":{"injectables/BoardUrlHandler.html":{}}}],["metadata.parenttype",{"_index":4163,"title":{},"body":{"injectables/BoardUrlHandler.html":{}}}],["metadata.preloadeddependencies",{"_index":6587,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.response.ts",{"_index":7735,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/ExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolMetadataResponse.html":{}}}],["metadata.response.ts:28",{"_index":7751,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:33",{"_index":7754,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:38",{"_index":7752,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:43",{"_index":7750,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:48",{"_index":7753,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:5",{"_index":7748,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:53",{"_index":7755,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:58",{"_index":7749,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:6",{"_index":10388,"title":{},"body":{"classes/ExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolMetadataResponse.html":{}}}],["metadata.response.ts:61",{"_index":7736,"title":{},"body":{"classes/CourseMetadataListResponse.html":{}}}],["metadata.response.ts:9",{"_index":10387,"title":{},"body":{"classes/ExternalToolMetadataResponse.html":{}}}],["metadata.service.ts",{"_index":10392,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{},"injectables/SchoolExternalToolMetadataService.html":{}}}],["metadata.service.ts:10",{"_index":19707,"title":{},"body":{"injectables/SchoolExternalToolMetadataService.html":{}}}],["metadata.service.ts:11",{"_index":10395,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{}}}],["metadata.service.ts:13",{"_index":19709,"title":{},"body":{"injectables/SchoolExternalToolMetadataService.html":{}}}],["metadata.service.ts:17",{"_index":10398,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{}}}],["metadata.source",{"_index":6608,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.title",{"_index":4159,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"classes/ContentMetadata.html":{},"injectables/CourseUrlHandler.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["metadata.ts",{"_index":10367,"title":{},"body":{"classes/ExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadata.html":{}}}],["metadata.ts:4",{"_index":10372,"title":{},"body":{"classes/ExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadata.html":{}}}],["metadata.ts:6",{"_index":10371,"title":{},"body":{"classes/ExternalToolMetadata.html":{}}}],["metadata.type",{"_index":8617,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["metadata.w",{"_index":6599,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.yearfrom",{"_index":6605,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.yearto",{"_index":6607,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadataentitytype",{"_index":16184,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["metadataprops",{"_index":5924,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["metadatas",{"_index":9849,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["metadatas.some",{"_index":9853,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["metadatasettings",{"_index":11616,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["metadatatypemapper",{"_index":16278,"title":{"classes/MetadataTypeMapper.html":{}},"body":{"classes/MetadataTypeMapper.html":{}}}],["metadescription",{"_index":6538,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metakeywords",{"_index":6539,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metatagextractorapimodule",{"_index":16138,"title":{"modules/MetaTagExtractorApiModule.html":{}},"body":{"modules/MetaTagExtractorApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["metatagextractorconfig",{"_index":16171,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["metatagextractorcontroller",{"_index":16145,"title":{"controllers/MetaTagExtractorController.html":{}},"body":{"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{}}}],["metatagextractormodule",{"_index":16142,"title":{"modules/MetaTagExtractorModule.html":{}},"body":{"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["metatagextractorresponse",{"_index":16156,"title":{"classes/MetaTagExtractorResponse.html":{}},"body":{"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{}}}],["metatagextractorresponse})@apiresponse({status",{"_index":16152,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["metatagextractorservice",{"_index":16167,"title":{"injectables/MetaTagExtractorService.html":{}},"body":{"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{}}}],["metatagextractoruc",{"_index":16143,"title":{"injectables/MetaTagExtractorUc.html":{}},"body":{"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorUc.html":{}}}],["metataginternalurlservice",{"_index":16168,"title":{"injectables/MetaTagInternalUrlService.html":{}},"body":{"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{}}}],["method",{"_index":641,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AuthorizationService.html":{},"injectables/BBBService.html":{},"injectables/BatchDeletionUc.html":{},"injectables/ClassService.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"interfaces/ILegacyLogger.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/LessonCopyUC.html":{},"injectables/Lti11EncryptionService.html":{},"classes/OauthClientBody.html":{},"injectables/PermissionService.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResponseInfo.html":{},"classes/ServerConsole.html":{},"injectables/TemporaryFileStorage.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["method.enum",{"_index":17003,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["methodes",{"_index":26063,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["methodnotallowedexception",{"_index":9509,"title":{},"body":{"classes/DomainObjectFactory.html":{}}}],["methods",{"_index":8,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"controllers/AccountController.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponseMapper.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerTestModule.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"injectables/AuthenticationService.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskStatusMapper.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ConsoleWriterService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ConverterUtil.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomParameterFactory.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadataMapper.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementResponseMapper.html":{},"classes/FileParamBuilder.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordMapper.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileResponseBuilder.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/ILegacyLogger.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElement.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/LtiRoleMapper.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"modules/MailModule.html":{},"injectables/MailService.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsMapper.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfigMissingLoggableException.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"injectables/PermissionService.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"controllers/PseudonymController.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedUserMapper.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementResponseMapper.html":{},"modules/RocketChatModule.html":{},"classes/RocketChatUser.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.html":{},"classes/ServerConsole.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/SortHelper.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionMapper.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoMapper.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamPermissionsMapper.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"controllers/TldrawController.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchMapper.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"interfaces/ToolVersion.html":{},"injectables/ToolVersionService.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"interfaces/UrlHandler.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserAndAccountTestFactory.html":{},"controllers/UserController.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserInfoMapper.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchMapper.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorLoggableException.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/WsSharedDocDo.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["metric",{"_index":18012,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["metrics",{"_index":18009,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["metrics.ts",{"_index":17999,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["metrics.ts:19",{"_index":18002,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["metrics.ts:22",{"_index":18003,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["micro",{"_index":25993,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["microservice",{"_index":25331,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["microservices",{"_index":26056,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["middleware",{"_index":18013,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["middlewareconsumer",{"_index":20160,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["middlewares",{"_index":18010,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["migrate",{"_index":4920,"title":{},"body":{"interfaces/CleanOptions.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakMigrationService.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"injectables/UserLoginMigrationUc.html":{},"dependencies.html":{}}}],["migrate(options",{"_index":4925,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["migrate(skip",{"_index":14618,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["migrate(start",{"_index":14783,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["migrate(userjwt",{"_index":23680,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["migrated",{"_index":16738,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["migratedaccounts",{"_index":14787,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["migratedusers",{"_index":19988,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migratedusers.data.foreach((user",{"_index":19991,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migrateschool",{"_index":19934,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migrateschool(existingschool",{"_index":19953,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migrateuser",{"_index":23748,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migrateuser(currentuserid",{"_index":23752,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migrateuserlogin",{"_index":23400,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migrateuserlogin(jwt",{"_index":23423,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migrating",{"_index":23526,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration",{"_index":52,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"interfaces/CleanOptions.html":{},"modules/ImportUserModule.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/KeycloakConsole.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"injectables/OAuthService.html":{},"modules/OauthModule.html":{},"interfaces/RetryOptions.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"interfaces/ServerConfig.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["migration.controller",{"_index":23393,"title":{},"body":{"modules/UserLoginMigrationApiModule.html":{}}}],["migration.controller.ts",{"_index":23396,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.controller.ts:115",{"_index":23447,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.controller.ts:139",{"_index":23435,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.controller.ts:167",{"_index":23442,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.controller.ts:201",{"_index":23411,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.controller.ts:218",{"_index":23426,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.controller.ts:59",{"_index":23422,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.controller.ts:89",{"_index":23416,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.do.ts",{"_index":23490,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.do.ts:11",{"_index":23497,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.do.ts:13",{"_index":23500,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.do.ts:15",{"_index":23496,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.do.ts:17",{"_index":23495,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.do.ts:5",{"_index":23498,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.do.ts:7",{"_index":23499,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.do.ts:9",{"_index":23501,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.entity",{"_index":19633,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["migration.entity.ts",{"_index":23514,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.entity.ts:11",{"_index":23520,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.entity.ts:15",{"_index":23521,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.entity.ts:18",{"_index":23523,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.entity.ts:21",{"_index":23519,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.entity.ts:24",{"_index":23522,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.entity.ts:27",{"_index":23517,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.entity.ts:30",{"_index":23518,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.error.ts",{"_index":14850,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["migration.error.ts:11",{"_index":14855,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{}}}],["migration.error.ts:17",{"_index":16329,"title":{},"body":{"classes/MissingSchoolNumberException.html":{}}}],["migration.error.ts:22",{"_index":16330,"title":{},"body":{"classes/MissingSchoolNumberException.html":{}}}],["migration.error.ts:28",{"_index":16288,"title":{},"body":{"classes/MigrationAlreadyActivatedException.html":{}}}],["migration.error.ts:33",{"_index":16289,"title":{},"body":{"classes/MigrationAlreadyActivatedException.html":{}}}],["migration.error.ts:6",{"_index":14853,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{}}}],["migration.loggable",{"_index":14180,"title":{},"body":{"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{}}}],["migration.mapper.ts",{"_index":23546,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["migration.mapper.ts:14",{"_index":23553,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["migration.mapper.ts:6",{"_index":23550,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["migration.module",{"_index":23394,"title":{},"body":{"modules/UserLoginMigrationApiModule.html":{}}}],["migration.module.ts",{"_index":23566,"title":{},"body":{"modules/UserLoginMigrationModule.html":{}}}],["migration.params",{"_index":23456,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.params.ts",{"_index":16887,"title":{},"body":{"classes/Oauth2MigrationParams.html":{}}}],["migration.params.ts:13",{"_index":16888,"title":{},"body":{"classes/Oauth2MigrationParams.html":{}}}],["migration.params.ts:17",{"_index":16890,"title":{},"body":{"classes/Oauth2MigrationParams.html":{}}}],["migration.params.ts:8",{"_index":16889,"title":{},"body":{"classes/Oauth2MigrationParams.html":{}}}],["migration.repo.ts",{"_index":23570,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["migration.repo.ts:16",{"_index":23571,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["migration.repo.ts:21",{"_index":23575,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["migration.repo.ts:29",{"_index":23572,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["migration.response",{"_index":23614,"title":{},"body":{"classes/UserLoginMigrationSearchListResponse.html":{}}}],["migration.response.ts",{"_index":23593,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.response.ts:10",{"_index":23598,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.response.ts:15",{"_index":23600,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.response.ts:20",{"_index":23597,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.response.ts:25",{"_index":23599,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.response.ts:30",{"_index":23595,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.response.ts:35",{"_index":23594,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.response.ts:5",{"_index":23596,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.rule.ts",{"_index":23610,"title":{},"body":{"injectables/UserLoginMigrationRule.html":{}}}],["migration.rule.ts:11",{"_index":23613,"title":{},"body":{"injectables/UserLoginMigrationRule.html":{}}}],["migration.rule.ts:17",{"_index":23612,"title":{},"body":{"injectables/UserLoginMigrationRule.html":{}}}],["migration.rule.ts:8",{"_index":23611,"title":{},"body":{"injectables/UserLoginMigrationRule.html":{}}}],["migration.service",{"_index":14441,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/UserLoginMigrationRevertService.html":{}}}],["migration.service.ts",{"_index":14778,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["migration.service.ts:105",{"_index":23638,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:11",{"_index":23749,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migration.service.ts:112",{"_index":23628,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:119",{"_index":19959,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:134",{"_index":23632,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:139",{"_index":19950,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:14",{"_index":19937,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:142",{"_index":23634,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:148",{"_index":23636,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:16",{"_index":23623,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:168",{"_index":23630,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:18",{"_index":14784,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["migration.service.ts:23",{"_index":19954,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:24",{"_index":23643,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:34",{"_index":23751,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migration.service.ts:37",{"_index":23640,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:39",{"_index":19942,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:48",{"_index":14782,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["migration.service.ts:49",{"_index":23756,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migration.service.ts:52",{"_index":19956,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:62",{"_index":19944,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:73",{"_index":23626,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:81",{"_index":19940,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:9",{"_index":14780,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["migration.service.ts:90",{"_index":19947,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:96",{"_index":19952,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["migration.uc.ts",{"_index":4940,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["migration.uc.ts:11",{"_index":4946,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{}}}],["migration.uc.ts:13",{"_index":22545,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{}}}],["migration.uc.ts:17",{"_index":20559,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["migration.uc.ts:19",{"_index":4948,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{}}}],["migration.uc.ts:21",{"_index":18797,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{}}}],["migration.uc.ts:23",{"_index":23675,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["migration.uc.ts:27",{"_index":20563,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["migration.uc.ts:35",{"_index":23679,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["migration.uc.ts:39",{"_index":22546,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{}}}],["migration.uc.ts:45",{"_index":20561,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["migration.uc.ts:55",{"_index":23677,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["migration.uc.ts:73",{"_index":23681,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["migration/controller/dto/oauth2",{"_index":16886,"title":{},"body":{"classes/Oauth2MigrationParams.html":{}}}],["migration/controller/dto/request/school",{"_index":19896,"title":{},"body":{"classes/SchoolIdParams.html":{}}}],["migration/controller/dto/request/user",{"_index":23542,"title":{},"body":{"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationSearchParams.html":{}}}],["migration/controller/dto/response/user",{"_index":23592,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{}}}],["migration/controller/user",{"_index":23395,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration/loggable/debug/school",{"_index":19998,"title":{},"body":{"classes/SchoolMigrationSuccessfulLoggable.html":{}}}],["migration/loggable/debug/user",{"_index":23766,"title":{},"body":{"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["migration/loggable/external",{"_index":9989,"title":{},"body":{"classes/ExternalSchoolNumberMissingLoggableException.html":{}}}],["migration/loggable/invalid",{"_index":14179,"title":{},"body":{"classes/InvalidUserLoginMigrationLoggableException.html":{}}}],["migration/loggable/school",{"_index":19922,"title":{},"body":{"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{}}}],["migration/loggable/user",{"_index":23381,"title":{},"body":{"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{}}}],["migration/mapper/user",{"_index":23545,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["migration/service/dto/migration.dto.ts",{"_index":16314,"title":{},"body":{"classes/MigrationDto.html":{}}}],["migration/service/dto/migration.dto.ts:2",{"_index":16316,"title":{},"body":{"classes/MigrationDto.html":{}}}],["migration/service/dto/page",{"_index":17686,"title":{},"body":{"classes/PageContentDto.html":{}}}],["migration/service/migration",{"_index":16291,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["migration/service/school",{"_index":19928,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration/service/user",{"_index":23601,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["migration/uc/close",{"_index":4939,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{}}}],["migration/uc/dto/user",{"_index":23568,"title":{},"body":{"interfaces/UserLoginMigrationQuery.html":{}}}],["migration/uc/restart",{"_index":18794,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{}}}],["migration/uc/start",{"_index":20556,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["migration/uc/toggle",{"_index":22543,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{}}}],["migration/uc/user",{"_index":23673,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["migration/user",{"_index":20183,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{}}}],["migrationalreadyactivatedexception",{"_index":14860,"title":{"classes/MigrationAlreadyActivatedException.html":{}},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["migrationcheckservice",{"_index":16290,"title":{"injectables/MigrationCheckService.html":{}},"body":{"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"modules/UserLoginMigrationModule.html":{}}}],["migrationdto",{"_index":16313,"title":{"classes/MigrationDto.html":{}},"body":{"classes/MigrationDto.html":{},"controllers/UserLoginMigrationController.html":{}}}],["migrationmaybecompleted",{"_index":16319,"title":{"classes/MigrationMayBeCompleted.html":{}},"body":{"classes/MigrationMayBeCompleted.html":{}}}],["migrationmaynotbecompleted",{"_index":16327,"title":{"classes/MigrationMayNotBeCompleted.html":{}},"body":{"classes/MigrationMayNotBeCompleted.html":{}}}],["migrationoptions",{"_index":4870,"title":{"interfaces/MigrationOptions.html":{}},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["migrationpage",{"_index":23463,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migrationpage.data.map",{"_index":23466,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migrationpage.total",{"_index":23468,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migrationresponse",{"_index":23474,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migrationresponses",{"_index":23465,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migrations",{"_index":23397,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"entities/UserLoginMigrationEntity.html":{}}}],["mikro",{"_index":96,"title":{},"body":{"classes/AbstractAccountService.html":{},"entities/Account.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"injectables/AuthorizationHelper.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/BaseRepo.html":{},"classes/BasicToolConfigEntity.html":{},"entities/Board.html":{},"injectables/BoardDoRepo.html":{},"entities/BoardElement.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CollectionFilePath.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"entities/ColumnNode.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntryEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"injectables/DatabaseManagementService.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"classes/DoBaseFactory.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/EntityWithSchool.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalToolConfigEntity.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/ExternalToolEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/FeathersAuthProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"injectables/FilesRepo.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"modules/H5PEditorModule.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfigEntity.html":{},"injectables/LegacySchoolRepo.html":{},"entities/LessonBoardElement.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"classes/LibraryName.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/LtiTool.html":{},"injectables/LtiToolRepo.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"injectables/RegistrationPinRepo.html":{},"interfaces/RelatedResourceProperties.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"injectables/SchoolExternalToolRepo.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"classes/Scope.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"entities/Submission.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"injectables/SystemRepo.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"entities/User.html":{},"injectables/UserDORepo.html":{},"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{},"injectables/VideoConferenceRepo.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["mikroorm",{"_index":8722,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"injectables/DatabaseManagementService.html":{},"injectables/FilesStorageConsumer.html":{},"modules/MongoMemoryDatabaseModule.html":{},"interfaces/Options.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["mikroorm/asynclocalstorage",{"_index":25246,"title":{},"body":{"todo.html":{}}}],["mikroormmodule",{"_index":1014,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["mikroormmodule.forroot",{"_index":1040,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["mikroormmodule.forrootasync",{"_index":16355,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["mikroormmoduleasyncoptions",{"_index":16350,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["mikroormmodulesyncoptions",{"_index":12279,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["mikroservice",{"_index":25497,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["milliseconds",{"_index":9247,"title":{},"body":{"classes/DeletionQueueConsole.html":{},"injectables/SchoolMigrationService.html":{}}}],["mime",{"_index":11752,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"classes/ReadableStreamWithFileTypeImp.html":{}}}],["mimetype",{"_index":1444,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/FileDO.html":{},"classes/FileDto.html":{},"classes/FileDtoBuilder.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/GetFile.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/ListFiles.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/ParentInfo.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"interfaces/S3Config.html":{}}}],["min",{"_index":3760,"title":{},"body":{"classes/BoardLessonResponse.html":{},"injectables/BoardManagementUc.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/DeletionExecutionParams.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/ListOauthClientsParams.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/PaginationParams.html":{}}}],["min(0",{"_index":3765,"title":{},"body":{"classes/BoardLessonResponse.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/ListOauthClientsParams.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/PaginationParams.html":{}}}],["min(1",{"_index":9044,"title":{},"body":{"classes/DeletionExecutionParams.html":{},"classes/PaginationParams.html":{}}}],["mind",{"_index":25969,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["minimum",{"_index":891,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"classes/DeletionExecutionParams.html":{},"classes/ListOauthClientsParams.html":{},"classes/PaginationParams.html":{},"classes/ShareTokenBodyParams.html":{}}}],["minio",{"_index":25279,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["minio_root_password=miniouser",{"_index":25293,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["minio_root_user=`miniouser",{"_index":25292,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["minios3storage",{"_index":25289,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["minorversion",{"_index":1201,"title":{},"body":{"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/Path.html":{}}}],["minus",{"_index":16371,"title":{},"body":{"classes/MongoPatterns.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["minutes",{"_index":2888,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"classes/DeletionQueueConsole.html":{}}}],["minutes_of_30_days",{"_index":9276,"title":{},"body":{"classes/DeletionRequestBodyProps.html":{}}}],["minwidth",{"_index":16205,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["mismatch",{"_index":6950,"title":{},"body":{"injectables/ContextExternalToolService.html":{},"classes/RestrictedContextMismatchLoggable.html":{}}}],["mismatch.loggable",{"_index":20010,"title":{},"body":{"classes/SchoolNumberMismatchLoggableException.html":{}}}],["misrepresentation",{"_index":24977,"title":{},"body":{"license.html":{}}}],["missed",{"_index":7947,"title":{},"body":{"interfaces/CreateJwtPayload.html":{},"interfaces/JwtPayload.html":{}}}],["missing",{"_index":983,"title":{},"body":{"injectables/AccountValidationService.html":{},"injectables/ClassService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/NextcloudStrategy.html":{},"classes/OauthConfigMissingLoggableException.html":{},"injectables/PseudonymService.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["missing.loggable",{"_index":9990,"title":{},"body":{"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{}}}],["missing_tool_parameter_value",{"_index":16336,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["missingentityids.tostring",{"_index":4846,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["missingschoolnumberexception",{"_index":14858,"title":{"classes/MissingSchoolNumberException.html":{}},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["missingtoolparametervalueloggableexception",{"_index":16331,"title":{"classes/MissingToolParameterValueLoggableException.html":{}},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["mission",{"_index":16597,"title":{},"body":{"classes/NewsScope.html":{}}}],["missmatches",{"_index":21653,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["mixing",{"_index":15063,"title":{},"body":{"injectables/LdapStrategy.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["mixwith",{"_index":24509,"title":{},"body":{"dependencies.html":{}}}],["mkdir",{"_index":12036,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["mkdir(folderpath",{"_index":12041,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["mkdtemp",{"_index":12037,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["mkdtemp(dirpath",{"_index":12045,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["mm",{"_index":15720,"title":{},"body":{"modules/LoggerModule.html":{}}}],["mnf:copyrightandotherrestrictions",{"_index":5962,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mnf:description",{"_index":5964,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mnf:general",{"_index":5958,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mnf:lom",{"_index":5957,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mnf:rights",{"_index":5961,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mnf:string",{"_index":5960,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mnf:title",{"_index":5959,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mnf:value",{"_index":5963,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mocha",{"_index":25375,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["mocha's",{"_index":25663,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["mock",{"_index":10260,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{},"classes/SystemEntityFactory.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["mock.strategy.ts",{"_index":17539,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["mock/oidc",{"_index":17538,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["mock:0.6.0powershell",{"_index":25877,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["mock:0.6.0setup",{"_index":25878,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["mock_issuer",{"_index":21118,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["mock_type",{"_index":21116,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["mockbaseurl",{"_index":10257,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["mocked",{"_index":25768,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["mocking",{"_index":25728,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["mockreturnvalueonce",{"_index":25766,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["mocks",{"_index":25690,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["mocksecret",{"_index":21112,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["mockservice",{"_index":25745,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["mockservice.getuser.mockreturnvalueonce(resultuser",{"_index":25761,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["mockstack",{"_index":2092,"title":{},"body":{"classes/AxiosErrorFactory.html":{}}}],["mode",{"_index":16326,"title":{},"body":{"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["model",{"_index":7975,"title":{},"body":{"classes/CreateNewsParams.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FilterNewsParams.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["model.enum",{"_index":9207,"title":{},"body":{"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder-1.html":{}}}],["modelentity",{"_index":8587,"title":{},"body":{"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["modelentity.gridelements.init",{"_index":8612,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["modelentity.gridelements.isinitialized",{"_index":8611,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["modelentity.gridelements.remove(el",{"_index":8644,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["modelentity.references.loaditems",{"_index":8604,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["modelentity.title",{"_index":8610,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["modelentity.user.id",{"_index":8616,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["modelentity.xpos",{"_index":8607,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["modelentity.ypos",{"_index":8608,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["models",{"_index":16662,"title":{},"body":{"injectables/NewsUc.html":{}}}],["moderator",{"_index":2264,"title":{},"body":{"classes/BBBJoinConfig.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["moderatorcount",{"_index":2309,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["moderatormustapprovejoinrequests",{"_index":9494,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{}}}],["moderatorpw",{"_index":2164,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["modification",{"_index":24706,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["modifications",{"_index":24758,"title":{},"body":{"license.html":{}}}],["modified",{"_index":23403,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"license.html":{}}}],["modifiedcount",{"_index":9087,"title":{},"body":{"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{}}}],["modifies",{"_index":24850,"title":{},"body":{"license.html":{}}}],["modify",{"_index":24678,"title":{},"body":{"license.html":{}}}],["modifying",{"_index":24732,"title":{},"body":{"license.html":{}}}],["modularization",{"_index":25274,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["modularize",{"_index":20591,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["module",{"_index":252,"title":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AntivirusModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"modules/DatabaseManagementModule.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FeathersModule.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/InterceptorModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolModule.html":{},"modules/LessonApiModule.html":{},"modules/LessonModule.html":{},"modules/LoggerModule.html":{},"modules/LtiToolModule.html":{},"modules/MailModule.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/NewsModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/OauthProviderServiceModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"modules/PseudonymModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/RedisModule.html":{},"modules/RegistrationPinModule.html":{},"modules/RocketChatModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/S3ClientModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/ValidationModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{}},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AntivirusModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"interfaces/CoreModuleConfig.html":{},"modules/DatabaseManagementModule.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/InterceptorModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySystemRepo.html":{},"modules/LessonApiModule.html":{},"modules/LessonModule.html":{},"modules/LoggerModule.html":{},"modules/LtiToolModule.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/NewsModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/OauthProviderServiceModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"modules/PseudonymModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/RedisModule.html":{},"modules/RegistrationPinModule.html":{},"modules/RocketChatModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/S3ClientModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"injectables/UserRepo.html":{},"modules/ValidationModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["module.close",{"_index":25749,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["module.get(featureundertest",{"_index":25746,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["module.get(mockservice",{"_index":25747,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["module.ts",{"_index":25526,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["module/application",{"_index":25726,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["module/repo",{"_index":25555,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["module/uc",{"_index":25551,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["moduleref",{"_index":25734,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["moduleref.get(catscontroller",{"_index":25738,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["moduleref.get(sampleservice",{"_index":25737,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["modules",{"_index":254,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AntivirusModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"modules/DatabaseManagementModule.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"injectables/ErrorLogger.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/InterceptorModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolModule.html":{},"modules/LessonApiModule.html":{},"modules/LessonModule.html":{},"modules/LoggerModule.html":{},"modules/LtiToolModule.html":{},"modules/MailModule.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/NewsModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/OauthProviderServiceModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"modules/PseudonymModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/RedisModule.html":{},"modules/RegistrationPinModule.html":{},"modules/RocketChatModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/S3ClientModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"interfaces/UserMetdata.html":{},"modules/UserModule.html":{},"modules/ValidationModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["modules/account",{"_index":1537,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/AuthenticationService.html":{},"modules/DeletionApiModule.html":{},"modules/KeycloakConfigurationModule.html":{},"interfaces/ServerConfig.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"injectables/UserService.html":{}}}],["modules/account/account",{"_index":20164,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/account/account.module",{"_index":18065,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["modules/account/services/account.service",{"_index":14785,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/UserMigrationService.html":{}}}],["modules/account/services/dto",{"_index":1712,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/UserMigrationService.html":{},"injectables/UserService.html":{}}}],["modules/account/services/dto/account.dto",{"_index":836,"title":{},"body":{"classes/AccountResponseMapper.html":{}}}],["modules/authentication",{"_index":3221,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"controllers/DashboardController.html":{},"modules/DeletionApiModule.html":{},"controllers/ElementController.html":{},"modules/FilesStorageTestModule.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"controllers/ImportUserController.html":{},"controllers/LessonController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/NewsController.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"controllers/PseudonymController.html":{},"controllers/RoomsController.html":{},"interfaces/ServerConfig.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"controllers/SystemController.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationUc.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["modules/authentication/authentication",{"_index":13243,"title":{},"body":{"modules/H5PEditorTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/authentication/authentication.module",{"_index":12128,"title":{},"body":{"modules/FilesStorageApiModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/UserLoginMigrationApiModule.html":{}}}],["modules/authentication/decorator/auth.decorator",{"_index":13125,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["modules/authentication/interface",{"_index":23903,"title":{},"body":{"injectables/UserService.html":{}}}],["modules/authentication/interface/user",{"_index":18750,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["modules/authentication/mapper",{"_index":23904,"title":{},"body":{"injectables/UserService.html":{}}}],["modules/authorization",{"_index":2666,"title":{},"body":{"classes/BaseUc.html":{},"modules/BoardApiModule.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/ColumnUc.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/DtoCreator.html":{},"injectables/ElementUc.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolUc.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"injectables/GroupService.html":{},"modules/LearnroomApiModule.html":{},"modules/LessonApiModule.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonUC.html":{},"modules/MetaTagExtractorApiModule.html":{},"injectables/MetaTagExtractorUc.html":{},"modules/NewsModule.html":{},"injectables/NewsUc.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"modules/PseudonymApiModule.html":{},"injectables/PseudonymUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/ShareTokenUC.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionUc.html":{},"modules/SystemApiModule.html":{},"injectables/SystemUc.html":{},"modules/TaskApiModule.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"modules/ToolApiModule.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceUc.html":{},"modules/UserLoginMigrationApiModule.html":{},"injectables/UserLoginMigrationUc.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{}}}],["modules/authorization/authorization",{"_index":12129,"title":{},"body":{"modules/FilesStorageApiModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/LearnroomApiModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/VideoConferenceModule.html":{}}}],["modules/authorization/authorization.module.ts",{"_index":25561,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["modules/authorization/domain",{"_index":4126,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/FilesStorageMapper.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"injectables/ShareTokenUC.html":{},"injectables/ToolPermissionHelper.html":{}}}],["modules/board",{"_index":1932,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/BoardUrlHandler.html":{},"injectables/ColumnBoardTargetService.html":{},"modules/LearnroomModule.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/RoomsService.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolPermissionHelper.html":{}}}],["modules/board/board",{"_index":20165,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/board/service/column",{"_index":3294,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["modules/class",{"_index":8930,"title":{},"body":{"modules/DeletionApiModule.html":{},"modules/GroupApiModule.html":{}}}],["modules/class/domain",{"_index":12930,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["modules/class/entity",{"_index":4658,"title":{},"body":{"classes/ClassEntityFactory.html":{}}}],["modules/class/entity/class.entity",{"_index":7431,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["modules/collaborative",{"_index":4997,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/NextcloudStrategy.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/copy",{"_index":3298,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/BoardDoCopyService.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/CopyApiResponse.html":{},"injectables/CopyFilesService.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"modules/FilesStorageClientModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LessonCopyUC.html":{},"modules/LessonModule.html":{},"classes/RecursiveCopyVisitor.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{},"modules/TaskApiModule.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"modules/TaskModule.html":{}}}],["modules/deletion",{"_index":8929,"title":{},"body":{"modules/DeletionApiModule.html":{}}}],["modules/feathers/feathers",{"_index":25559,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["modules/feathers/feathers.module.ts",{"_index":25560,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["modules/files",{"_index":1317,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/BoardCopyService.html":{},"modules/BoardModule.html":{},"modules/DeletionApiModule.html":{},"classes/FileRecordFactory.html":{},"modules/LessonModule.html":{},"injectables/LessonService.html":{},"injectables/RecursiveDeleteVisitor.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"interfaces/ServerConfig.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/SubmissionService.html":{},"injectables/TaskCopyService.html":{},"modules/TaskModule.html":{},"injectables/TaskService.html":{}}}],["modules/files/entity",{"_index":1020,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/ServerConsoleModule.html":{}}}],["modules/group",{"_index":9962,"title":{},"body":{"classes/ExternalGroupDto.html":{},"injectables/OidcProvisioningService.html":{},"modules/ProvisioningModule.html":{},"injectables/SanisResponseMapper.html":{}}}],["modules/group/entity/group.entity",{"_index":7433,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["modules/group/group",{"_index":20166,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/h5p",{"_index":13259,"title":{},"body":{"modules/H5PLibraryManagementModule.html":{}}}],["modules/learnroom",{"_index":2028,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"modules/DeletionApiModule.html":{},"modules/PseudonymModule.html":{},"injectables/ShareTokenUC.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolPermissionHelper.html":{}}}],["modules/learnroom/common",{"_index":20111,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["modules/learnroom/controller/dto/lesson/lesson",{"_index":7322,"title":{},"body":{"classes/CopyMapper.html":{}}}],["modules/learnroom/learnroom",{"_index":20167,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/learnroom/service",{"_index":11283,"title":{},"body":{"injectables/FeathersRosterService.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["modules/learnroom/types",{"_index":3735,"title":{},"body":{"classes/BoardElementResponse.html":{}}}],["modules/legacy",{"_index":2069,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"modules/CommonToolModule.html":{},"modules/GroupApiModule.html":{},"modules/ImportUserModule.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"modules/OauthModule.html":{},"injectables/OidcProvisioningService.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"injectables/PseudonymUc.html":{},"injectables/SchoolMigrationService.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolPermissionHelper.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"modules/UserModule.html":{},"modules/VideoConferenceModule.html":{}}}],["modules/lesson",{"_index":8931,"title":{},"body":{"modules/DeletionApiModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonUrlHandler.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/RoomsService.html":{},"modules/TaskApiModule.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{}}}],["modules/lesson/lesson",{"_index":20168,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/lesson/service",{"_index":3302,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["modules/lesson/types",{"_index":7324,"title":{},"body":{"classes/CopyMapper.html":{}}}],["modules/lti",{"_index":17331,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{},"modules/OauthProviderModule.html":{}}}],["modules/management/management.module",{"_index":20149,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["modules/management/uc/database",{"_index":22135,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["modules/meta",{"_index":20169,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/news",{"_index":20170,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/oauth",{"_index":174,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"injectables/Oauth2Strategy.html":{},"classes/OauthClientBody.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["modules/oauth/controller/dto/authorization.params",{"_index":13479,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["modules/oauth/loggable",{"_index":14221,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{}}}],["modules/oauth/oauth",{"_index":20171,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/oauth/oauth.module",{"_index":1538,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["modules/oauth/service/dto/cookies.dto",{"_index":13447,"title":{},"body":{"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{}}}],["modules/oauth/service/dto/hydra.redirect.dto",{"_index":13410,"title":{},"body":{"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{}}}],["modules/provisioning",{"_index":16838,"title":{},"body":{"injectables/OAuthService.html":{},"modules/OauthModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["modules/pseudonym",{"_index":5041,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{},"modules/DeletionApiModule.html":{},"injectables/IdTokenService.html":{},"injectables/NextcloudStrategy.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/ToolLaunchModule.html":{}}}],["modules/pseudonym/pseudonym",{"_index":20172,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/pseudonym/service",{"_index":17356,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["modules/registration",{"_index":8934,"title":{},"body":{"modules/DeletionApiModule.html":{}}}],["modules/rocketchat",{"_index":8933,"title":{},"body":{"modules/DeletionApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/role",{"_index":1539,"title":{},"body":{"modules/AuthenticationModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/GroupApiModule.html":{},"injectables/OidcProvisioningService.html":{},"modules/ProvisioningModule.html":{}}}],["modules/role/role.module",{"_index":23779,"title":{},"body":{"modules/UserModule.html":{}}}],["modules/role/service/dto/role.dto",{"_index":5001,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/OidcProvisioningService.html":{},"classes/ResolvedGroupUser.html":{},"classes/RoleMapper.html":{},"injectables/RoleUc.html":{},"injectables/UserService.html":{}}}],["modules/role/service/role.service",{"_index":5118,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"modules/RoleModule.html":{},"injectables/RoleUc.html":{},"injectables/UserService.html":{}}}],["modules/role/uc/role.uc",{"_index":18993,"title":{},"body":{"modules/RoleModule.html":{}}}],["modules/server",{"_index":1716,"title":{},"body":{"injectables/AuthenticationService.html":{},"modules/ManagementModule.html":{},"modules/ServerConsoleModule.html":{}}}],["modules/server/server.config",{"_index":650,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/KeycloakConfigurationService.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{}}}],["modules/sharing/domainobject/share",{"_index":20340,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["modules/sharing/sharing.module",{"_index":20174,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/system",{"_index":1540,"title":{},"body":{"modules/AuthenticationModule.html":{},"modules/GroupApiModule.html":{},"classes/GroupUcMapper.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/OAuthService.html":{},"modules/OauthModule.html":{},"injectables/ProvisioningService.html":{},"injectables/SystemRule.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationService.html":{}}}],["modules/system/controller/dto/oauth",{"_index":18296,"title":{},"body":{"classes/PublicSystemResponse.html":{},"classes/SystemResponseMapper.html":{}}}],["modules/system/controller/system.controller",{"_index":21016,"title":{},"body":{"modules/SystemApiModule.html":{}}}],["modules/system/service",{"_index":14502,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/OAuthService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["modules/system/service/dto",{"_index":13727,"title":{},"body":{"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["modules/system/service/dto/oauth",{"_index":21087,"title":{},"body":{"classes/SystemDto.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["modules/system/service/dto/oidc",{"_index":21160,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["modules/system/service/dto/system.dto",{"_index":18092,"title":{},"body":{"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["modules/system/service/system",{"_index":14503,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["modules/system/system",{"_index":20176,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/system/system.module",{"_index":18066,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["modules/system/uc/system.uc",{"_index":21017,"title":{},"body":{"modules/SystemApiModule.html":{}}}],["modules/task",{"_index":15096,"title":{},"body":{"modules/LearnroomModule.html":{},"modules/LessonModule.html":{},"injectables/RoomsService.html":{},"injectables/TaskUrlHandler.html":{}}}],["modules/task/controller/dto/task",{"_index":7325,"title":{},"body":{"classes/CopyMapper.html":{}}}],["modules/task/service",{"_index":3303,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["modules/task/task",{"_index":20178,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/task/types",{"_index":7326,"title":{},"body":{"classes/CopyMapper.html":{}}}],["modules/teams",{"_index":8932,"title":{},"body":{"modules/DeletionApiModule.html":{}}}],["modules/teams/teams",{"_index":20180,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/teams/teams.module",{"_index":22002,"title":{},"body":{"modules/TeamsApiModule.html":{}}}],["modules/tldraw",{"_index":3869,"title":{},"body":{"modules/BoardModule.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["modules/tldraw/domain/ws",{"_index":22411,"title":{},"body":{"classes/TldrawWsFactory.html":{}}}],["modules/tldraw/service",{"_index":24371,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["modules/tool",{"_index":1934,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/OauthProviderModule.html":{},"modules/PseudonymModule.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["modules/tool/common/domain",{"_index":6764,"title":{},"body":{"classes/ContextExternalToolFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/SchoolExternalToolFactory.html":{}}}],["modules/tool/common/entity",{"_index":10653,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["modules/tool/common/enum",{"_index":6765,"title":{},"body":{"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolScope.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/FeathersRosterService.html":{},"classes/Oauth2ToolConfigFactory.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["modules/tool/common/interface",{"_index":10600,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["modules/tool/context",{"_index":3867,"title":{},"body":{"modules/BoardModule.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"injectables/FeathersRosterService.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["modules/tool/external",{"_index":8199,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/FeathersRosterService.html":{},"injectables/IdTokenService.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/PseudonymService.html":{},"injectables/SchoolExternalToolRepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["modules/tool/school",{"_index":11284,"title":{},"body":{"injectables/FeathersRosterService.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["modules/tool/tool",{"_index":17332,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{},"modules/OauthProviderModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/user",{"_index":3868,"title":{},"body":{"modules/BoardModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"injectables/ColumnBoardCopyService.html":{},"modules/DeletionApiModule.html":{},"injectables/FeathersRosterService.html":{},"modules/GroupApiModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/IdTokenService.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/MigrationCheckService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"modules/OauthProviderModule.html":{},"injectables/OidcProvisioningService.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymModule.html":{},"injectables/SchoolMigrationService.html":{},"interfaces/ServerConfig.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationService.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"modules/VideoConferenceApiModule.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"modules/VideoConferenceModule.html":{}}}],["modules/user/service/user",{"_index":23261,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["modules/user/uc/dto/user.dto",{"_index":23709,"title":{},"body":{"classes/UserMapper.html":{}}}],["modules/user/user",{"_index":20185,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/video",{"_index":20187,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["moduluslength",{"_index":7919,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["moin.schule",{"_index":19518,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["moment",{"_index":16711,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["mongo",{"_index":623,"title":{},"body":{"injectables/AccountLookupService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"injectables/BsonConverter.html":{},"interfaces/CollectionFilePath.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{},"todo.html":{}}}],["mongo.patterns",{"_index":14100,"title":{},"body":{"classes/ImportUserScope.html":{},"injectables/UserRepo.html":{}}}],["mongo_url=mongodb://172.29.173.128:27030/rocketchat",{"_index":25928,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["mongod",{"_index":25280,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["mongodatabasemoduleoptions",{"_index":1028,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["mongodb",{"_index":804,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/BaseFactory.html":{},"injectables/DatabaseManagementService.html":{},"injectables/TldrawBoardRepo.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["mongodbpersistence",{"_index":22234,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["mongodbpersistence(this.connectionstring",{"_index":22257,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["mongoexport",{"_index":5283,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["mongoimport",{"_index":5270,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["mongomemorydatabasemodule",{"_index":1029,"title":{"modules/MongoMemoryDatabaseModule.html":{}},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsTestModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["mongomemorydatabasemodule.forroot",{"_index":1043,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsTestModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["mongomemoryserver",{"_index":25534,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["mongoose",{"_index":11530,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"dependencies.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["mongopatterns",{"_index":14099,"title":{"classes/MongoPatterns.html":{}},"body":{"classes/ImportUserScope.html":{},"classes/MongoPatterns.html":{},"injectables/UserRepo.html":{}}}],["moodle",{"_index":24523,"title":{},"body":{"dependencies.html":{}}}],["more",{"_index":1832,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/BaseRepo.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/TaskCopyUC.html":{},"interfaces/UserBoardRoles.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["moreover",{"_index":25011,"title":{},"body":{"license.html":{}}}],["mostly",{"_index":26059,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["mount",{"_index":24589,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["mounted",{"_index":24582,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["mounts",{"_index":25228,"title":{},"body":{"todo.html":{}}}],["mountsdescription",{"_index":1421,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["move",{"_index":3696,"title":{},"body":{"injectables/BoardDoService.html":{},"controllers/CardController.html":{},"injectables/CardService.html":{},"controllers/ColumnController.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{},"controllers/ElementController.html":{},"injectables/NextcloudStrategy.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["move(card",{"_index":4465,"title":{},"body":{"injectables/CardService.html":{}}}],["move(child",{"_index":3700,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["move(column",{"_index":5653,"title":{},"body":{"injectables/ColumnService.html":{}}}],["move(element",{"_index":6420,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["moveable",{"_index":25987,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["movecard",{"_index":4339,"title":{},"body":{"controllers/CardController.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{}}}],["movecard(urlparams",{"_index":4359,"title":{},"body":{"controllers/CardController.html":{}}}],["movecard(userid",{"_index":5669,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["movecardbodyparams",{"_index":4360,"title":{"classes/MoveCardBodyParams.html":{}},"body":{"controllers/CardController.html":{},"classes/MoveCardBodyParams.html":{}}}],["movecolumn",{"_index":4107,"title":{},"body":{"injectables/BoardUc.html":{},"controllers/ColumnController.html":{}}}],["movecolumn(urlparams",{"_index":5606,"title":{},"body":{"controllers/ColumnController.html":{}}}],["movecolumn(userid",{"_index":4117,"title":{},"body":{"injectables/BoardUc.html":{}}}],["movecolumnbodyparams",{"_index":5607,"title":{"classes/MoveColumnBodyParams.html":{}},"body":{"controllers/ColumnController.html":{},"classes/MoveColumnBodyParams.html":{}}}],["movecontentelementbody",{"_index":9722,"title":{"classes/MoveContentElementBody.html":{}},"body":{"controllers/ElementController.html":{},"classes/MoveContentElementBody.html":{}}}],["moved",{"_index":21857,"title":{},"body":{"classes/TeamDto.html":{},"classes/TeamUserDto.html":{}}}],["moveelement",{"_index":4506,"title":{},"body":{"injectables/CardUc.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"controllers/ElementController.html":{}}}],["moveelement(from",{"_index":8367,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["moveelement(undefined",{"_index":8292,"title":{},"body":{"controllers/DashboardController.html":{}}}],["moveelement(urlparams",{"_index":9721,"title":{},"body":{"controllers/ElementController.html":{}}}],["moveelement(userid",{"_index":4518,"title":{},"body":{"injectables/CardUc.html":{}}}],["moveelementondashboard",{"_index":8684,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["moveelementondashboard(dashboardid",{"_index":8690,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["moveelementparams",{"_index":8294,"title":{"classes/MoveElementParams.html":{}},"body":{"controllers/DashboardController.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{}}}],["moveelementpositionparams",{"_index":16387,"title":{"classes/MoveElementPositionParams.html":{}},"body":{"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{}}}],["moves",{"_index":4919,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["movetotrash",{"_index":19288,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["movetotrash(paths",{"_index":19310,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["moving",{"_index":26069,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["mps",{"_index":4896,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["ms",{"_index":4936,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"injectables/TimeoutInterceptor.html":{}}}],["msg",{"_index":4253,"title":{},"body":{"modules/CacheWrapperModule.html":{},"classes/GlobalErrorFilter.html":{},"modules/RedisModule.html":{}}}],["msgs",{"_index":1067,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["much",{"_index":25671,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["multi",{"_index":3777,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["multiple",{"_index":2233,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ElementUc.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/GlobalValidationPipe.html":{},"classes/KeycloakSeedService.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["multiplecollections",{"_index":22211,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["multivalued",{"_index":14607,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["muted",{"_index":24290,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["muteonstart",{"_index":2165,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["mutex",{"_index":24452,"title":{},"body":{"dependencies.html":{}}}],["n",{"_index":18639,"title":{},"body":{"classes/ReferencesService.html":{}}}],["n21",{"_index":1940,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/CommonToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/FederalStateService.html":{},"interfaces/IToolFeatures.html":{},"injectables/IdTokenService.html":{},"classes/LegacySchoolDo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SchoolYearService.html":{},"classes/ToolConfiguration.html":{},"injectables/ToolVersionService.html":{},"modules/VideoConferenceModule.html":{}}}],["name",{"_index":31,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"classes/AccountByIdBodyParams.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AppStartLoggable.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/ConsoleWriterService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigEntity.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FilePermissionEntity.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"classes/GroupUserResponse.html":{},"classes/GroupValidPeriodEntity.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/IImportUserScope.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ITask.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/ListOauthClientsParams.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"injectables/MailService.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileParams.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"classes/ProvisioningDto.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"controllers/PseudonymController.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/ScanResultDto.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.html":{},"classes/ScopeRef.html":{},"classes/ServerConsole.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionMapper.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionsResponse.html":{},"classes/SuccessfulResponse.html":{},"injectables/SymetricKeyEncryptionService.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"interfaces/UrlHandler.html":{},"classes/UserAndAccountTestFactory.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParentsEntity.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["name${sequence",{"_index":10259,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["name.length",{"_index":11774,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["name.mapper",{"_index":13951,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["name.mapper.ts",{"_index":18995,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["name.mapper.ts:13",{"_index":18998,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["name.mapper.ts:6",{"_index":19000,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["name.match",{"_index":7296,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["name.strategy.ts",{"_index":2013,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["name.strategy.ts:15",{"_index":2020,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["name.strategy.ts:22",{"_index":2027,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["name.strategy.ts:45",{"_index":2025,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["name.strategy.ts:51",{"_index":2022,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["named",{"_index":24623,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["namely",{"_index":25851,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["namematch",{"_index":13583,"title":{"interfaces/NameMatch.html":{}},"body":{"interfaces/IImportUserScope.html":{},"interfaces/NameMatch.html":{},"classes/UserMatchMapper.html":{},"injectables/UserRepo.html":{}}}],["nameonly",{"_index":8813,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["names",{"_index":5213,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/FileMetadata.html":{},"classes/ImportUserListResponse.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"controllers/NewsController.html":{},"classes/Path.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["namespace",{"_index":25830,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["naming",{"_index":25267,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["nanoid",{"_index":13481,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/TokenGenerator.html":{},"dependencies.html":{}}}],["nanoid(12",{"_index":22555,"title":{},"body":{"injectables/TokenGenerator.html":{}}}],["nanoid(15",{"_index":13489,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["narrowed",{"_index":12996,"title":{},"body":{"classes/GuardAgainst.html":{}}}],["native",{"_index":24542,"title":{},"body":{"dependencies.html":{}}}],["nature",{"_index":24861,"title":{},"body":{"license.html":{}}}],["nbf",{"_index":14166,"title":{},"body":{"interfaces/IntrospectResponse.html":{}}}],["ne",{"_index":11917,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/SystemScope.html":{},"classes/TaskScope.html":{}}}],["necessary",{"_index":21654,"title":{},"body":{"injectables/TaskRepo.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["need",{"_index":813,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BoardNodeRepo.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesStorageConsumer.html":{},"classes/GlobalValidationPipe.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RpcMessageProducer.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TldrawWsService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["needed",{"_index":1929,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"injectables/S3ClientAdapter.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["neededpermission",{"_index":21779,"title":{},"body":{"injectables/TaskUC.html":{}}}],["needs",{"_index":1925,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"classes/H5PSaveResponse.html":{},"injectables/HydraSsoService.html":{},"interfaces/JwtPayload.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/NextcloudStrategy.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["nest",{"_index":1212,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/ErrorLogger.html":{},"injectables/FeathersRosterService.html":{},"injectables/LegacyLogger.html":{},"injectables/Logger.html":{},"modules/LoggerModule.html":{},"interfaces/Options.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"dependencies.html":{},"properties.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["nest.js",{"_index":410,"title":{},"body":{"controllers/AccountController.html":{}}}],["nest/legacy",{"_index":25257,"title":{},"body":{"todo.html":{}}}],["nest:build",{"_index":25316,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:build:all",{"_index":25319,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:console",{"_index":25342,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:console:dev",{"_index":25343,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:docs:build",{"_index":25337,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:docs:serve",{"_index":25338,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:lint",{"_index":25358,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:lint:fix",{"_index":25361,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:prebuild",{"_index":25315,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:start",{"_index":25322,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:start:debug",{"_index":25327,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:start:dev",{"_index":25324,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:start:files",{"_index":25333,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:start:prod",{"_index":25329,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:test",{"_index":25351,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:test:all",{"_index":25352,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:test:api",{"_index":25353,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:test:cov",{"_index":25355,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:test:debug",{"_index":25357,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:test:unit",{"_index":25354,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:test:watch",{"_index":25356,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest_log_level",{"_index":11971,"title":{},"body":{"interfaces/FileStorageConfig.html":{},"interfaces/LoggerConfig.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/ServerConfig.html":{},"interfaces/TldrawConfig.html":{}}}],["nestapp.get(rocketchatservice",{"_index":25569,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["nested",{"_index":13015,"title":{},"body":{"classes/H5PContentFactory.html":{},"injectables/PermissionService.html":{}}}],["nestexpress.set('feathersapp",{"_index":11366,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["nestinterceptor",{"_index":9699,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["nestjs",{"_index":3782,"title":{"additional-documentation/nestjs-application.html":{}},"body":{"classes/BoardManagementConsole.html":{},"interfaces/CleanOptions.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeleteFilesConsole.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"modules/ErrorModule.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/Options.html":{},"interfaces/RetryOptions.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"classes/TestBootstrapConsole.html":{},"dependencies.html":{},"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["nestjs/axios",{"_index":1054,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/BBBService.html":{},"modules/BoardModule.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"injectables/DeletionClient.html":{},"modules/DeletionConsoleModule.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/ExternalToolLogoService.html":{},"modules/ExternalToolModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/HydraSsoService.html":{},"modules/IdentityManagementModule.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"modules/KeycloakModule.html":{},"modules/MetaTagExtractorModule.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthModule.html":{},"modules/OauthProviderServiceModule.html":{},"modules/ProvisioningModule.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"injectables/SanisProvisioningStrategy.html":{},"modules/VideoConferenceModule.html":{},"dependencies.html":{}}}],["nestjs/cache",{"_index":4240,"title":{},"body":{"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{},"dependencies.html":{}}}],["nestjs/clithen",{"_index":25381,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nestjs/common",{"_index":277,"title":{},"body":{"modules/AccountApiModule.html":{},"controllers/AccountController.html":{},"injectables/AccountIdmToDtoMapper.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"modules/BoardApiModule.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"controllers/CardController.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"modules/ClassModule.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"modules/ContextExternalToolModule.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ConverterUtil.html":{},"injectables/CopyFilesService.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"modules/CoreModule.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"controllers/DatabaseManagementController.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"modules/DeletionConsoleModule.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"modules/DeletionModule.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"controllers/DeletionRequestsController.html":{},"classes/DomainObjectFactory.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"modules/ErrorModule.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"modules/GroupModule.html":{},"injectables/GroupRepo.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/H5PContentMapper.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"modules/IdentityManagementModule.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"modules/ImportUserModule.html":{},"injectables/ImportUserRepo.html":{},"modules/InterceptorModule.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtAuthGuard.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/LessonApiModule.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"modules/LessonModule.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LibraryRepo.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"modules/LoggerModule.html":{},"controllers/LoginController.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"injectables/MaterialsRepo.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"controllers/NewsController.html":{},"modules/NewsModule.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"injectables/OauthProviderResponseMapper.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"injectables/PermissionService.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{},"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"modules/PseudonymModule.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"injectables/RecursiveDeleteVisitor.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RepoLoader.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"modules/RocketChatUserModule.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"modules/RoleModule.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenParentTypeMapper.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"injectables/StorageProviderRepo.html":{},"entities/Submission.html":{},"controllers/SubmissionController.html":{},"injectables/SubmissionItemFactory.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"injectables/SymetricKeyEncryptionService.html":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"modules/SystemModule.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemRule.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"entities/Task.html":{},"modules/TaskApiModule.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"modules/TaskModule.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TeamMapper.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamPermissionsMapper.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawClientModule.html":{},"controllers/TldrawController.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"injectables/ToolVersionService.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"modules/UserApiModule.html":{},"controllers/UserController.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"modules/UserModule.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorLoggableException.html":{},"modules/ValidationModule.html":{},"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"modules/VideoConferenceModule.html":{},"injectables/VideoConferenceRepo.html":{},"injectables/XApiKeyStrategy.html":{},"dependencies.html":{}}}],["nestjs/common/decorators",{"_index":16941,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["nestjs/common/decorators/core/injectable.decorator",{"_index":4949,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/ExternalToolRepo.html":{},"injectables/HydraSsoService.html":{},"injectables/OAuthService.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToolVersionService.html":{}}}],["nestjs/common/exceptions/internal",{"_index":7434,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["nestjs/common/exceptions/not",{"_index":10139,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/OauthProviderLoginFlowService.html":{}}}],["nestjs/config",{"_index":651,"title":{},"body":{"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"injectables/AuthenticationService.html":{},"interfaces/CollectionFilePath.html":{},"controllers/CourseController.html":{},"injectables/DeletionClient.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"modules/InterceptorModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LocalStrategy.html":{},"modules/LoggerModule.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewProducer.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawModule.html":{},"classes/TldrawWs.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"injectables/XApiKeyStrategy.html":{},"dependencies.html":{}}}],["nestjs/core",{"_index":9901,"title":{},"body":{"modules/ErrorModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"modules/InterceptorModule.html":{},"injectables/TimeoutInterceptor.html":{},"modules/ValidationModule.html":{},"dependencies.html":{}}}],["nestjs/jwt",{"_index":1543,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/AuthenticationService.html":{},"dependencies.html":{}}}],["nestjs/microservices",{"_index":24427,"title":{},"body":{"dependencies.html":{}}}],["nestjs/passport",{"_index":1545,"title":{},"body":{"modules/AuthenticationModule.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"injectables/JwtAuthGuard.html":{},"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"controllers/LoginController.html":{},"injectables/Oauth2Strategy.html":{},"injectables/XApiKeyStrategy.html":{},"dependencies.html":{}}}],["nestjs/platform",{"_index":13129,"title":{},"body":{"controllers/H5PEditorController.html":{},"dependencies.html":{}}}],["nestjs/swagger",{"_index":202,"title":{},"body":{"classes/AcceptQuery.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"controllers/AccountController.html":{},"classes/AccountResponse.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardResponse.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusResponse.html":{},"classes/BoardUrlParams.html":{},"classes/BusinessError.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"classes/CardSkeletonResponse.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassSortParams.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"classes/ColumnResponse.html":{},"classes/ColumnUrlParams.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/ContextRefParams.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"controllers/CourseController.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/CourseQueryParams.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DashboardUrlParams.html":{},"classes/DeletionExecutionParams.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestResponse.html":{},"controllers/DeletionRequestsController.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"classes/DrawingElementResponse.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolMetadataResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"classes/FileElementResponse.html":{},"classes/FileParams.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"controllers/FileSecurityController.html":{},"classes/FileUrlParams.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"controllers/FwuLearningContentsController.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/GetMetaTagDataBody.html":{},"controllers/GroupController.html":{},"classes/GroupIdParams.html":{},"classes/GroupResponse.html":{},"classes/GroupUserResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/IdParams.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{},"classes/LdapAuthorizationBodyParams.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"controllers/LoginController.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/NewsUrlParams.html":{},"classes/OAuthRejectableBody.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthLoginResponse.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"classes/OidcContextResponse.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"controllers/PseudonymController.html":{},"classes/PseudonymParams.html":{},"classes/PseudonymResponse.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/RedirectResponse.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"classes/ResolvedUserResponse.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"classes/RichTextElementResponse.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"controllers/RoomsController.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInfoResponse.html":{},"classes/SetHeightBodyParams.html":{},"classes/ShareTokenBodyParams.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenPayloadResponse.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"classes/SuccessfulResponse.html":{},"controllers/SystemController.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/TargetInfoResponse.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskStatusResponse.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamRoleDto.html":{},"classes/TeamUrlParams.html":{},"classes/TimestampsResponse.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequestResponse.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceResponse.html":{},"controllers/ToolSchoolController.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"controllers/UserController.html":{},"classes/UserDataResponse.html":{},"classes/UserInfoResponse.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParams.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"dependencies.html":{}}}],["nestjs/testing",{"_index":22134,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["nestjs/testing.test",{"_index":25729,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["nestjs/websockets",{"_index":22385,"title":{},"body":{"classes/TldrawWs.html":{},"dependencies.html":{}}}],["nestmodule",{"_index":20189,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["nestwinston",{"_index":25595,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["net",{"_index":24601,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["network",{"_index":24653,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["neuen",{"_index":5500,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["never",{"_index":9510,"title":{},"body":{"classes/DomainObjectFactory.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FilesRepo.html":{},"classes/GuardAgainst.html":{},"injectables/LdapStrategy.html":{},"injectables/NewsRepo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["new",{"_index":153,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponseMapper.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosResponseImp.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseUc.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"classes/BoardManagementConsole.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BusinessError.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"controllers/CardController.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/CopyFileResponseBuilder.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"classes/CourseMapper.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"classes/ErrorMapper.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolMetadataMapper.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"injectables/FilesRepo.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"interfaces/H5PContentProperties.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorModule.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/ILegacyLogger.html":{},"injectables/IdTokenService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"modules/InterceptorModule.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtStrategy.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/LocalStrategy.html":{},"modules/LoggerModule.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"interfaces/MigrationOptions.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderResponseMapper.html":{},"controllers/OauthSSOController.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/ParentInfo.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"injectables/PermissionService.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"interfaces/RetryOptions.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{},"entities/Role.html":{},"classes/RoleMapper.html":{},"interfaces/RoleProperties.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RoomsUc.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/ShareToken.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"entities/Submission.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"controllers/SubmissionController.html":{},"injectables/SubmissionItemFactory.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRule.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoMapper.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestConnection.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TokenRequestMapper.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceUc.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{},"entities/User.html":{},"controllers/UserController.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchMapper.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/WsSharedDocDo.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["newconfig",{"_index":14580,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["newconfig.idphint",{"_index":14578,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["newconfigs",{"_index":14488,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["newconfigs.foreach((newconfig",{"_index":14575,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["newconfigs.some((newconfig",{"_index":14582,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["newdeletionlog",{"_index":9199,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["newdeletionrequest",{"_index":9425,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["newdeletionrequest.deleteafter",{"_index":9428,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["newdeletionrequest.id",{"_index":9427,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["newelement",{"_index":8457,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["newentity",{"_index":2503,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/GroupRepo.html":{}}}],["newentity._id",{"_index":2519,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["newentity.id",{"_index":2518,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["newfactory",{"_index":2610,"title":{},"body":{"classes/BaseFactory.html":{}}}],["newgroupname",{"_index":8413,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["newid",{"_index":7249,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["newid}/${name",{"_index":7252,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["newlanguage",{"_index":23897,"title":{},"body":{"injectables/UserService.html":{}}}],["newlist",{"_index":2996,"title":{},"body":{"entities/Board.html":{}}}],["newname",{"_index":7574,"title":{},"body":{"injectables/CourseCopyService.html":{},"classes/ShareTokenImportBodyParams.html":{},"injectables/ShareTokenUC.html":{}}}],["newnonoptionalparamnames",{"_index":11129,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newnonoptionalparamnames.includes(name",{"_index":11132,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newnonoptionalparamnames.some((name",{"_index":11133,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newnonoptionalparams",{"_index":11127,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newnonoptionalparams.map((parameter",{"_index":11130,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newparam",{"_index":11118,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newparam.isoptional",{"_index":11119,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newparam.name",{"_index":11109,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newparam.regex",{"_index":11138,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newparam.scope",{"_index":11140,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newparam.type",{"_index":11139,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newparams",{"_index":11082,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newparams.filter((parameter",{"_index":11128,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newparams.find((p",{"_index":11136,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newparams.some",{"_index":11117,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newparams.some((newparam",{"_index":11107,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newpath",{"_index":1345,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["newpropsfactory",{"_index":2608,"title":{},"body":{"classes/BaseFactory.html":{}}}],["newresource",{"_index":5840,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["newresource.caninline",{"_index":5843,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["newrooms",{"_index":8437,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["newrooms.foreach((room",{"_index":8439,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["news",{"_index":7769,"title":{"entities/News.html":{}},"body":{"entities/CourseNews.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/FilterNewsParams.html":{},"interfaces/INewsScope.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/UpdateNewsParams.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["news.content",{"_index":16498,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news.controller",{"_index":16530,"title":{},"body":{"modules/NewsModule.html":{}}}],["news.controller.ts",{"_index":21905,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["news.controller.ts:19",{"_index":21910,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["news.createdat",{"_index":16504,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news.createinstance(targetmodel",{"_index":16640,"title":{},"body":{"injectables/NewsUc.html":{}}}],["news.displayat",{"_index":16499,"title":{},"body":{"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["news.id",{"_index":16496,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news.params.ts",{"_index":7963,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/FilterNewsParams.html":{},"classes/UpdateNewsParams.html":{}}}],["news.params.ts:14",{"_index":12359,"title":{},"body":{"classes/FilterNewsParams.html":{}}}],["news.params.ts:15",{"_index":7978,"title":{},"body":{"classes/CreateNewsParams.html":{}}}],["news.params.ts:17",{"_index":23113,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["news.params.ts:22",{"_index":12357,"title":{},"body":{"classes/FilterNewsParams.html":{}}}],["news.params.ts:23",{"_index":7966,"title":{},"body":{"classes/CreateNewsParams.html":{}}}],["news.params.ts:25",{"_index":23109,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["news.params.ts:30",{"_index":12362,"title":{},"body":{"classes/FilterNewsParams.html":{}}}],["news.params.ts:31",{"_index":7971,"title":{},"body":{"classes/CreateNewsParams.html":{}}}],["news.params.ts:32",{"_index":23111,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["news.params.ts:38",{"_index":7976,"title":{},"body":{"classes/CreateNewsParams.html":{}}}],["news.params.ts:45",{"_index":7973,"title":{},"body":{"classes/CreateNewsParams.html":{}}}],["news.permissions",{"_index":16506,"title":{},"body":{"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["news.source",{"_index":16500,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news.sourcedescription",{"_index":16501,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news.target.id",{"_index":16502,"title":{},"body":{"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["news.targetmodel",{"_index":16503,"title":{},"body":{"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["news.title",{"_index":16497,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news.updatedat",{"_index":16505,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news.updater",{"_index":16507,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news[key",{"_index":16656,"title":{},"body":{"injectables/NewsUc.html":{}}}],["news].params.ts",{"_index":25582,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["news].response.dto",{"_index":25584,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["news_edit",{"_index":16658,"title":{},"body":{"injectables/NewsUc.html":{}}}],["news_sources",{"_index":16464,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{}}}],["news_sources[number",{"_index":16468,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{}}}],["newscontroller",{"_index":16406,"title":{"controllers/NewsController.html":{}},"body":{"controllers/NewsController.html":{},"modules/NewsModule.html":{}}}],["newscount",{"_index":16646,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newscrudoperationloggable",{"_index":16448,"title":{"classes/NewsCrudOperationLoggable.html":{}},"body":{"classes/NewsCrudOperationLoggable.html":{},"injectables/NewsUc.html":{}}}],["newscrudoperationloggable(crudoperation.create",{"_index":16642,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newscrudoperationloggable(crudoperation.delete",{"_index":16660,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newscrudoperationloggable(crudoperation.update",{"_index":16657,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newsentities",{"_index":16558,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["newsentities.filter((news",{"_index":16562,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["newsentity",{"_index":16554,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["newsid",{"_index":16674,"title":{},"body":{"classes/NewsUrlParams.html":{}}}],["newslist",{"_index":16436,"title":{},"body":{"controllers/NewsController.html":{},"injectables/NewsUc.html":{},"controllers/TeamNewsController.html":{}}}],["newslist.map((news",{"_index":16439,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{}}}],["newslist.map(async",{"_index":16649,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newslistresponse",{"_index":16428,"title":{"classes/NewsListResponse.html":{}},"body":{"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"controllers/TeamNewsController.html":{}}}],["newslistresponse(dtolist",{"_index":16440,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{}}}],["newsmapper",{"_index":16424,"title":{"classes/NewsMapper.html":{}},"body":{"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsMapper.html":{},"controllers/TeamNewsController.html":{}}}],["newsmapper.mapcreatenewstodomain(params",{"_index":16434,"title":{},"body":{"controllers/NewsController.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["newsmapper.mapnewsscopetodomain(scope",{"_index":16438,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{}}}],["newsmapper.maptologmessagedata(this.news",{"_index":16457,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{}}}],["newsmapper.maptoresponse(news",{"_index":16435,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["newsmapper.mapupdatenewstodomain(params",{"_index":16445,"title":{},"body":{"controllers/NewsController.html":{}}}],["newsmodule",{"_index":16520,"title":{"modules/NewsModule.html":{}},"body":{"modules/NewsModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["newspermission",{"_index":16621,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newsproperties",{"_index":7764,"title":{"interfaces/NewsProperties.html":{}},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["newsrepo",{"_index":16525,"title":{"injectables/NewsRepo.html":{}},"body":{"modules/NewsModule.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["newsresponse",{"_index":16429,"title":{"classes/NewsResponse.html":{}},"body":{"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.html":{}}}],["newsrule",{"_index":26031,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["newsscope",{"_index":16547,"title":{"classes/NewsScope.html":{}},"body":{"injectables/NewsRepo.html":{},"classes/NewsScope.html":{}}}],["newstarget",{"_index":7759,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"classes/TargetInfoMapper.html":{},"entities/TeamNews.html":{}}}],["newstargetfilter",{"_index":16537,"title":{"interfaces/NewsTargetFilter.html":{}},"body":{"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{}}}],["newstargetmodel",{"_index":7760,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"classes/FilterNewsParams.html":{},"interfaces/INewsScope.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["newstargetmodel.course",{"_index":7787,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["newstargetmodel.school",{"_index":7792,"title":{},"body":{"entities/CourseNews.html":{},"injectables/FeathersAuthorizationService.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["newstargetmodel.team",{"_index":7789,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["newsuc",{"_index":16426,"title":{"injectables/NewsUc.html":{}},"body":{"controllers/NewsController.html":{},"modules/NewsModule.html":{},"injectables/NewsUc.html":{},"controllers/TeamNewsController.html":{}}}],["newsuc.getrequiredpermissions(ispublished",{"_index":16653,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newsuc.getrequiredpermissions(unpublished",{"_index":16644,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newsurlparams",{"_index":16410,"title":{"classes/NewsUrlParams.html":{}},"body":{"controllers/NewsController.html":{},"classes/NewsUrlParams.html":{}}}],["newtool",{"_index":11099,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newtool.parameters",{"_index":11103,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newtool.version",{"_index":11105,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newuser",{"_index":26013,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["newvar",{"_index":1183,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["nexboard",{"_index":6174,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/NexboardService.html":{}}}],["nexboard.id",{"_index":16685,"title":{},"body":{"injectables/NexboardService.html":{}}}],["nexboard.publiclink",{"_index":16686,"title":{},"body":{"injectables/NexboardService.html":{}}}],["nexboardresponse",{"_index":16682,"title":{},"body":{"injectables/NexboardService.html":{}}}],["nexboardservice",{"_index":15436,"title":{"injectables/NexboardService.html":{}},"body":{"modules/LessonModule.html":{},"injectables/NexboardService.html":{}}}],["next",{"_index":571,"title":{},"body":{"classes/AccountFactory.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"injectables/BoardCopyService.html":{},"classes/BoardResponseMapper.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"entities/CourseNews.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileRecordFactory.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GlobalErrorFilter.html":{},"classes/H5PContentFactory.html":{},"modules/H5PEditorModule.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/JwtExtractor.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySystemRepo.html":{},"classes/LessonFactory.html":{},"controllers/LoginController.html":{},"classes/LtiToolFactory.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsUc.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUserFactory.html":{},"injectables/S3ClientAdapter.html":{},"classes/SchoolExternalToolFactory.html":{},"entities/SchoolNews.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenFactory.html":{},"injectables/ShareTokenUC.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"entities/TeamNews.html":{},"classes/TeamUserFactory.html":{},"classes/TestBootstrapConsole.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawModule.html":{},"classes/TldrawWs.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"injectables/UserRepo.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["next.handle().pipe",{"_index":18758,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["next.handle().pipe(tap",{"_index":9703,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["nextcloud",{"_index":13546,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/NextcloudStrategy.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["nextcloud.client",{"_index":16720,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["nextcloudclient",{"_index":5038,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{},"injectables/NextcloudStrategy.html":{}}}],["nextcloudgroups",{"_index":12971,"title":{"interfaces/NextcloudGroups.html":{}},"body":{"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/Meta.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OcsResponse.html":{},"interfaces/SuccessfulRes.html":{}}}],["nextclouds",{"_index":16718,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["nextcloudstrategy",{"_index":5039,"title":{"injectables/NextcloudStrategy.html":{}},"body":{"modules/CollaborativeStorageAdapterModule.html":{},"injectables/NextcloudStrategy.html":{}}}],["nextcloudstrategy.generategroupfoldername(team.id",{"_index":16735,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["nextcloudtool",{"_index":16747,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["nextmarker",{"_index":7202,"title":{},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{}}}],["ni_",{"_index":19563,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["node",{"_index":3575,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{},"injectables/ContentElementService.html":{},"injectables/FileSystemAdapter.html":{},"todo.html":{}}}],["node.entity",{"_index":3484,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["node.entity.ts",{"_index":4417,"title":{},"body":{"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["node.entity.ts:10",{"_index":10214,"title":{},"body":{"entities/ExternalToolElementNodeEntity.html":{},"entities/RichTextElementNode.html":{},"entities/SubmissionItemNode.html":{}}}],["node.entity.ts:12",{"_index":11465,"title":{},"body":{"entities/FileElementNode.html":{},"entities/LinkElementNode.html":{}}}],["node.entity.ts:13",{"_index":18857,"title":{},"body":{"entities/RichTextElementNode.html":{}}}],["node.entity.ts:15",{"_index":15621,"title":{},"body":{"entities/LinkElementNode.html":{}}}],["node.entity.ts:16",{"_index":4418,"title":{},"body":{"entities/CardNode.html":{},"entities/SubmissionItemNode.html":{}}}],["node.entity.ts:23",{"_index":5453,"title":{},"body":{"entities/ColumnBoardNode.html":{}}}],["node.entity.ts:26",{"_index":5451,"title":{},"body":{"entities/ColumnBoardNode.html":{}}}],["node.entity.ts:9",{"_index":9569,"title":{},"body":{"entities/DrawingElementNode.html":{},"entities/FileElementNode.html":{},"entities/LinkElementNode.html":{},"entities/SubmissionContainerElementNode.html":{}}}],["node.js",{"_index":24579,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["node.level",{"_index":3927,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["node.pathofchildren",{"_index":3929,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["node.repo",{"_index":3637,"title":{},"body":{"injectables/BoardDoRepo.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["node.repo.ts",{"_index":3913,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["node.repo.ts:10",{"_index":3917,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["node.repo.ts:20",{"_index":3919,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["node.repo.ts:31",{"_index":3921,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["node.repo.ts:7",{"_index":3916,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["node.title",{"_index":3657,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["node.usedobuilder(this",{"_index":3565,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["node:fs/promises",{"_index":14824,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["node:path",{"_index":133,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["node_env",{"_index":20109,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["node_env=test",{"_index":20230,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["nodeclam",{"_index":1262,"title":{},"body":{"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{}}}],["nodeclam().init",{"_index":1279,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["nodeenvtype",{"_index":20113,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["nodejs",{"_index":11600,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["nodejs.timeout",{"_index":19402,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["nodeps",{"_index":24520,"title":{},"body":{"dependencies.html":{}}}],["nodeps.git",{"_index":24522,"title":{},"body":{"dependencies.html":{}}}],["nodes",{"_index":3922,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["nodes.filter((n",{"_index":3943,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["nodes.map((node",{"_index":3931,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["nofutureavailabledate",{"_index":21646,"title":{},"body":{"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{}}}],["non",{"_index":6686,"title":{},"body":{"classes/ContextExternalToolConfigurationStatusResponse.html":{},"injectables/ElementUc.html":{},"classes/MongoPatterns.html":{},"classes/ReferencesService.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/StorageProviderEncryptedStringType.html":{},"license.html":{},"todo.html":{}}}],["noncommercially",{"_index":24889,"title":{},"body":{"license.html":{}}}],["none",{"_index":1582,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/CollectionFilePath.html":{},"interfaces/CustomLtiProperty.html":{},"classes/FilterImportUserParams.html":{},"interfaces/IImportUserScope.html":{},"entities/LtiTool.html":{},"interfaces/NameMatch.html":{},"classes/OauthClientBody.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["nonemptytargets",{"_index":16667,"title":{},"body":{"injectables/NewsUc.html":{}}}],["nonoptionalparamnames",{"_index":11124,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["nonoptionalparamnames.includes(name",{"_index":11134,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["nonoptionalparamnames.some((name",{"_index":11131,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["nonoptionalparams",{"_index":11121,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["nonoptionalparams.map((parameter",{"_index":11125,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["normal",{"_index":1930,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"license.html":{}}}],["normalizepassword",{"_index":1690,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["normalizepassword(password",{"_index":1703,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["normalizeusername",{"_index":1691,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["normalizeusername(username",{"_index":1705,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["normally",{"_index":24917,"title":{},"body":{"license.html":{}}}],["nosuchbucket",{"_index":19348,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["nosuchkey",{"_index":19343,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["not_found",{"_index":16791,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["notacceptableexception",{"_index":22070,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["notacceptableexception(`filename",{"_index":22084,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["notation",{"_index":2621,"title":{},"body":{"classes/BaseFactory.html":{}}}],["note",{"_index":802,"title":{},"body":{"injectables/AccountRepo.html":{},"interfaces/AuthenticationResponse.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/CardSkeletonResponse.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"injectables/TaskRepo.html":{},"classes/TestApiClient.html":{},"index.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["notfinished",{"_index":21813,"title":{},"body":{"injectables/TaskUC.html":{}}}],["notfound",{"_index":8696,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["notfounderror",{"_index":15974,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["notfounderror(`ltitool",{"_index":15978,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["notfoundexception",{"_index":2935,"title":{},"body":{"entities/Board.html":{},"controllers/BoardController.html":{},"injectables/BoardDoRepo.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"injectables/CardService.html":{},"controllers/ColumnController.html":{},"injectables/ContentElementService.html":{},"controllers/CourseController.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardUc.html":{},"controllers/ElementController.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"injectables/FeathersAuthProvider.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GridElement.html":{},"modules/H5PEditorModule.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/IGridElement.html":{},"interfaces/LibrariesContentType.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/PreviewService.html":{},"injectables/S3ClientAdapter.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"controllers/ShareTokenController.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"injectables/TaskCopyUC.html":{},"controllers/TldrawController.html":{},"modules/TldrawModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{}}}],["notfoundexception('board",{"_index":2977,"title":{},"body":{"entities/Board.html":{}}}],["notfoundexception('could",{"_index":10170,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SubmissionItemUc.html":{},"injectables/TaskCopyUC.html":{}}}],["notfoundexception('no",{"_index":8430,"title":{},"body":{"classes/DashboardEntity.html":{},"injectables/DashboardUc.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["notfoundexception('nosuchkey",{"_index":19344,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["notfoundexception('some",{"_index":4477,"title":{},"body":{"injectables/CardService.html":{}}}],["notfoundexception('there",{"_index":6431,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["notfoundexception('this",{"_index":13338,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["notfoundexception(`the",{"_index":12291,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["notfoundexception(`there",{"_index":3645,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/ContentElementService.html":{},"injectables/SubmissionItemService.html":{}}}],["notfoundexception(`unable",{"_index":17335,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["notfoundexception(null",{"_index":19376,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["notfoundexception})@apibody({required",{"_index":5600,"title":{},"body":{"controllers/ColumnController.html":{},"controllers/ElementController.html":{}}}],["notfoundexception})@apiresponse({status",{"_index":20291,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["notfoundexception})@get(':boardid",{"_index":3213,"title":{},"body":{"controllers/BoardController.html":{}}}],["notfoundexception})@get(':boardid/context",{"_index":3208,"title":{},"body":{"controllers/BoardController.html":{}}}],["notfoundexception})@httpcode(201)@patch(':contentelementid/content",{"_index":9728,"title":{},"body":{"controllers/ElementController.html":{}}}],["notfoundexception})@httpcode(204)@delete(':boardid",{"_index":3204,"title":{},"body":{"controllers/BoardController.html":{}}}],["notfoundexception})@httpcode(204)@delete(':cardid",{"_index":4350,"title":{},"body":{"controllers/CardController.html":{}}}],["notfoundexception})@httpcode(204)@delete(':columnid",{"_index":5604,"title":{},"body":{"controllers/ColumnController.html":{}}}],["notfoundexception})@httpcode(204)@delete(':contentelementid",{"_index":9719,"title":{},"body":{"controllers/ElementController.html":{}}}],["notfoundexception})@httpcode(204)@delete(':docname",{"_index":22304,"title":{},"body":{"controllers/TldrawController.html":{}}}],["notfoundexception})@httpcode(204)@patch(':boardid/title",{"_index":3219,"title":{},"body":{"controllers/BoardController.html":{}}}],["notfoundexception})@httpcode(204)@patch(':cardid/height",{"_index":4365,"title":{},"body":{"controllers/CardController.html":{}}}],["notfoundexception})@httpcode(204)@patch(':cardid/title",{"_index":4368,"title":{},"body":{"controllers/CardController.html":{}}}],["notfoundexception})@httpcode(204)@patch(':columnid/title",{"_index":5611,"title":{},"body":{"controllers/ColumnController.html":{}}}],["notfoundexception})@httpcode(204)@patch(':submissionitemid",{"_index":4031,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["notfoundexception})@httpcode(204)@put(':cardid/position",{"_index":4361,"title":{},"body":{"controllers/CardController.html":{}}}],["notfoundexception})@httpcode(204)@put(':columnid/position",{"_index":5608,"title":{},"body":{"controllers/ColumnController.html":{}}}],["notfoundexception})@httpcode(204)@put(':contentelementid/position",{"_index":9723,"title":{},"body":{"controllers/ElementController.html":{}}}],["notfoundexception})@post(':boardid/columns",{"_index":3199,"title":{},"body":{"controllers/BoardController.html":{}}}],["notfoundexception})@post(':cardid/elements",{"_index":4346,"title":{},"body":{"controllers/CardController.html":{}}}],["notfoundexception})@post(':submissionitemid/elements",{"_index":4020,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["notfoundloggableexception",{"_index":4830,"title":{"classes/NotFoundLoggableException.html":{}},"body":{"injectables/ClassesRepo.html":{},"injectables/ColumnBoardService.html":{},"injectables/FeathersRosterService.html":{},"injectables/GroupService.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PseudonymUc.html":{},"injectables/SystemUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{}}}],["notfoundloggableexception('userloginmigration",{"_index":23689,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["notfoundloggableexception(class.name",{"_index":4845,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["notfoundloggableexception(columnboard.name",{"_index":5490,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["notfoundloggableexception(contextexternaltool.name",{"_index":11341,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["notfoundloggableexception(externaltool.name",{"_index":11337,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["notfoundloggableexception(group.name",{"_index":12907,"title":{},"body":{"injectables/GroupService.html":{}}}],["notfoundloggableexception(pseudonym.name",{"_index":11330,"title":{},"body":{"injectables/FeathersRosterService.html":{},"injectables/PseudonymUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["notfoundloggableexception(schoolexternaltool.name",{"_index":11339,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["notfoundloggableexception(system.name",{"_index":21228,"title":{},"body":{"injectables/SystemUc.html":{}}}],["notfoundloggableexception(userdo.name",{"_index":17634,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["nothing",{"_index":16269,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{},"license.html":{}}}],["notice",{"_index":15684,"title":{},"body":{"injectables/Logger.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["notice(loggable",{"_index":15691,"title":{},"body":{"injectables/Logger.html":{}}}],["notices",{"_index":24746,"title":{},"body":{"license.html":{}}}],["notifies",{"_index":25012,"title":{},"body":{"license.html":{}}}],["notify",{"_index":25008,"title":{},"body":{"license.html":{}}}],["notimplementedexception",{"_index":3519,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"classes/FilesStorageMapper.html":{},"classes/H5PContentMapper.html":{},"injectables/LessonRule.html":{},"classes/MetadataTypeMapper.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RuleManager.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenParentTypeMapper.html":{},"injectables/ShareTokenUC.html":{},"injectables/SubmissionRule.html":{}}}],["notimplementedexception('action",{"_index":15487,"title":{},"body":{"injectables/LessonRule.html":{},"injectables/SubmissionRule.html":{}}}],["notimplementedexception('copy",{"_index":20490,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["notimplementedexception('import",{"_index":20509,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["notimplementedexception('only",{"_index":5426,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["notimplementedexception('repo_or_service_not_implement",{"_index":18613,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["notimplementedexception('rooms",{"_index":19134,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["notimplementedexception(`invalid",{"_index":3582,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["notimplementedexception(`unknown",{"_index":6377,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["notimplementedexception(`unsupported",{"_index":6404,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["notimplementedexception})@post(':token/import')@requesttimeout(undefined.incoming_request_timeout_copy_api",{"_index":20294,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["notmigratedusers",{"_index":19978,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["notmigratedusers.data.foreach((user",{"_index":19983,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["notwithstanding",{"_index":24968,"title":{},"body":{"license.html":{}}}],["nountildate",{"_index":7829,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["november",{"_index":24635,"title":{},"body":{"license.html":{}}}],["now",{"_index":1923,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"interfaces/CollectionFilePath.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/CreateNewsParams.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/NewsScope.html":{},"entities/Submission.html":{},"injectables/SubmissionItemService.html":{},"interfaces/SubmissionProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/UserLoginMigrationService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["now.getfullyear()}_",{"_index":5210,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["now.getmonth",{"_index":5211,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["nowplusdays",{"_index":20445,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["nowplusdays(days",{"_index":20466,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["now}ms",{"_index":9705,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["npm",{"_index":25221,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["npx",{"_index":25891,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["null",{"_index":142,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"injectables/AntivirusService.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"injectables/BBBService.html":{},"injectables/BasicToolLaunchStrategy.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/CalendarService.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContextExternalToolService.html":{},"injectables/DeletionClient.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"injectables/ExternalToolParameterValidationService.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileRecordScope.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"classes/GuardAgainst.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/JwtExtractor.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/MigrationCheckService.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SanisResponseMapper.html":{},"entities/SchoolEntity.html":{},"injectables/SchoolMigrationService.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StorageProviderEncryptedStringType.html":{},"classes/StringValidator.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"classes/TaskWithStatusVo.html":{},"classes/TestApiClient.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolReferenceUc.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{}}}],["nullable",{"_index":196,"title":{},"body":{"classes/AcceptQuery.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"classes/AccountSearchQueryParams.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/BoardUrlParams.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"classes/ColumnUrlParams.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolIdParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"classes/CourseUrlParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameterEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DashboardUrlParams.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/ExternalToolElementContent.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"classes/ExternalToolElementResponse.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolIdParams.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/GetMetaTagDataBody.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"classes/IdParams.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfigEntity.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibraryName.html":{},"classes/ListOauthClientsParams.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/LtiTool.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/NewsUrlParams.html":{},"classes/OAuthRejectableBody.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"interfaces/ParentInfo.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/Path.html":{},"classes/PseudonymParams.html":{},"classes/PublicSystemResponse.html":{},"classes/RenameBodyParams.html":{},"classes/RevokeConsentParams.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolIdParams.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenProperties.html":{},"classes/ShareTokenUrlParams.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"entities/Submission.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionItemUrlParams.html":{},"interfaces/SubmissionProperties.html":{},"classes/SubmissionUrlParams.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"classes/TaskCreateParams.html":{},"interfaces/TaskParent.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{},"classes/TeamUrlParams.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolReferenceResponse.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserParams.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["nullish",{"_index":20593,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["nullorundefined",{"_index":12990,"title":{},"body":{"classes/GuardAgainst.html":{}}}],["nullorundefined(value",{"_index":12991,"title":{},"body":{"classes/GuardAgainst.html":{}}}],["num",{"_index":7295,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["number",{"_index":55,"title":{},"body":{"classes/AbstractAccountService.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"interfaces/AccountConfig.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AdminIdAndToken.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AuthenticationResponse.html":{},"classes/AuthorizationError.html":{},"classes/AxiosResponseImp.html":{},"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"injectables/BaseDORepo.html":{},"classes/BaseFactory.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoService.html":{},"classes/BoardLessonResponse.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"interfaces/ClassProps.html":{},"interfaces/CleanOptions.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"injectables/ContentElementService.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolResponse.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"interfaces/CopyFiles.html":{},"classes/County.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CustomParameterFactory.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DashboardResponse.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionParams.html":{},"injectables/DeletionExecutionUc.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorResponse.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolElement.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"interfaces/FeathersError.html":{},"injectables/FeathersRosterService.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"interfaces/File.html":{},"interfaces/FileDO.html":{},"classes/FileElement.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FilesRepo.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"classes/ForbiddenOperationError.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GridElement.html":{},"classes/GroupResponseMapper.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"entities/InstalledLibrary.html":{},"interfaces/InterceptorConfig.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JwtPayload.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConnectionError.html":{},"classes/LdapUserMigrationException.html":{},"classes/LegacySchoolFactory.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElement.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LoginRequestBody.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"interfaces/Meta.html":{},"injectables/MetaTagExtractorService.html":{},"classes/MigrationAlreadyActivatedException.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/OAuthRejectableBody.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/OauthProviderService.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/Page.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"classes/PrometheusMetricsConfig.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/RecursiveSaveVisitor.html":{},"interfaces/RejectRequestBody.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"interfaces/RetryOptions.html":{},"classes/RichTextElement.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUserFactory.html":{},"injectables/RoleRepo.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/S3Config.html":{},"interfaces/ScanResult.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolInMigrationLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/ServerConfig.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"classes/ShareTokenBodyParams.html":{},"injectables/ShareTokenUC.html":{},"classes/SortHelper.html":{},"entities/Submission.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionProperties.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SystemEntityFactory.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"classes/TaskResponse.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusResponse.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestConnection.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"interfaces/TldrawConfig.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolConfiguration.html":{},"interfaces/ToolVersion.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"injectables/UserRepo.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorLoggableException.html":{},"classes/WsSharedDocDo.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["number(a.width",{"_index":16236,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["number(b.width",{"_index":16237,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["number(batchsize",{"_index":8842,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["number(matches.groups.number",{"_index":7299,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["number(options.callsdelayms",{"_index":9254,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["number(options.deleteinminutes",{"_index":9252,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["number(options.limit",{"_index":9035,"title":{},"body":{"classes/DeletionExecutionConsole.html":{}}}],["number(options.pagesize",{"_index":4902,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["number(options.skip",{"_index":4928,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["number.isnan(this.deletedat.gettime",{"_index":11546,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["number.strategy.ts",{"_index":2063,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{}}}],["number.strategy.ts:12",{"_index":2068,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{}}}],["number.strategy.ts:9",{"_index":2066,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{}}}],["numbered",{"_index":25140,"title":{},"body":{"license.html":{}}}],["numberofdrafttasks",{"_index":3743,"title":{},"body":{"classes/BoardLessonResponse.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["numberoffailingfilesinbatch",{"_index":8882,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["numberoffilesinbatch",{"_index":8875,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["numberofplannedtasks",{"_index":3744,"title":{},"body":{"classes/BoardLessonResponse.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["numberofprocessedfiles",{"_index":8876,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["numberofpublishedtasks",{"_index":3745,"title":{},"body":{"classes/BoardLessonResponse.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["numberofstudents",{"_index":7646,"title":{},"body":{"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{}}}],["numberofsubmitters",{"_index":21321,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["numberofsubmitterswithgrade",{"_index":21329,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["numberofteachers",{"_index":7649,"title":{},"body":{"classes/CourseFactory.html":{}}}],["numberofteammembers",{"_index":20760,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["numbers",{"_index":16369,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["numerous",{"_index":25673,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["nuxt",{"_index":25865,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["nvmrc",{"_index":25275,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["o",{"_index":8727,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["o.id",{"_index":3664,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["o.key",{"_index":19382,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["oauth",{"_index":1470,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/HydraOauthFailedLoggableException.html":{},"interfaces/ICurrentUser.html":{},"classes/IdParams.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/ListOauthClientsParams.html":{},"controllers/LoginController.html":{},"classes/LoginRequestBody.html":{},"injectables/Lti11EncryptionService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthLoginResponse.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderServiceModule.html":{},"controllers/OauthSSOController.html":{},"classes/PublicSystemResponse.html":{},"classes/System.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemFilterParams.html":{},"interfaces/SystemProps.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"dependencies.html":{}}}],["oauth.module",{"_index":16968,"title":{},"body":{"modules/OauthApiModule.html":{}}}],["oauth.service",{"_index":13711,"title":{},"body":{"modules/IdentityManagementModule.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"modules/KeycloakModule.html":{}}}],["oauth.service.ts",{"_index":13718,"title":{},"body":{"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["oauth.service.ts:13",{"_index":14647,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["oauth.service.ts:15",{"_index":13723,"title":{},"body":{"classes/IdentityManagementOauthService.html":{}}}],["oauth.service.ts:23",{"_index":13725,"title":{},"body":{"classes/IdentityManagementOauthService.html":{}}}],["oauth.service.ts:50",{"_index":14651,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["oauth.service.ts:9",{"_index":13722,"title":{},"body":{"classes/IdentityManagementOauthService.html":{}}}],["oauth.uc.ts",{"_index":13390,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["oauth.uc.ts:12",{"_index":13399,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["oauth.uc.ts:21",{"_index":13407,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["oauth.uc.ts:23",{"_index":13401,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["oauth.uc.ts:40",{"_index":13408,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["oauth.uc.ts:42",{"_index":13406,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["oauth.uc.ts:59",{"_index":13403,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["oauth2",{"_index":6237,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/ExternalToolSearchParams.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"classes/OauthClientBody.html":{},"interfaces/OauthCurrentUser.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/RevokeConsentParams.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"dependencies.html":{}}}],["oauth2')@apiokresponse({description",{"_index":23424,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["oauth2.0",{"_index":15797,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["oauth2authorizationbodyparams",{"_index":15755,"title":{"classes/Oauth2AuthorizationBodyParams.html":{}},"body":{"controllers/LoginController.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"injectables/Oauth2Strategy.html":{}}}],["oauth2clientid",{"_index":11266,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["oauth2config",{"_index":10650,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{}}}],["oauth2config.baseurl",{"_index":10672,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["oauth2config.clientid",{"_index":10673,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolServiceMapper.html":{}}}],["oauth2config.clientsecret",{"_index":10971,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["oauth2config.frontchannellogouturi",{"_index":10977,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["oauth2config.redirecturis",{"_index":10976,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["oauth2config.scope",{"_index":10972,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["oauth2config.skipconsent",{"_index":10674,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["oauth2config.tokenendpointauthmethod",{"_index":10974,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["oauth2config.type",{"_index":10671,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["oauth2migrationparams",{"_index":16885,"title":{"classes/Oauth2MigrationParams.html":{}},"body":{"classes/Oauth2MigrationParams.html":{},"controllers/UserLoginMigrationController.html":{}}}],["oauth2params",{"_index":8214,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["oauth2strategy",{"_index":1533,"title":{"injectables/Oauth2Strategy.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/Oauth2Strategy.html":{}}}],["oauth2toolconfig",{"_index":8198,"title":{"classes/Oauth2ToolConfig.html":{}},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolFactory.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["oauth2toolconfigcreate",{"_index":10733,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["oauth2toolconfigcreateparams",{"_index":10178,"title":{"classes/Oauth2ToolConfigCreateParams.html":{}},"body":{"classes/ExternalToolCreateParams.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/Oauth2ToolConfigCreateParams.html":{}}}],["oauth2toolconfigentity",{"_index":10227,"title":{"classes/Oauth2ToolConfigEntity.html":{}},"body":{"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/Oauth2ToolConfigEntity.html":{}}}],["oauth2toolconfigfactory",{"_index":8204,"title":{"classes/Oauth2ToolConfigFactory.html":{}},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["oauth2toolconfigfactory.build(customparam",{"_index":8236,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["oauth2toolconfigfactory.define(oauth2toolconfig",{"_index":8215,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["oauth2toolconfigresponse",{"_index":10805,"title":{"classes/Oauth2ToolConfigResponse.html":{}},"body":{"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["oauth2toolconfigupdate",{"_index":10737,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["oauth2toolconfigupdateparams",{"_index":10735,"title":{"classes/Oauth2ToolConfigUpdateParams.html":{}},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["oauth2toollaunchstrategy",{"_index":16795,"title":{"injectables/OAuth2ToolLaunchStrategy.html":{}},"body":{"injectables/OAuth2ToolLaunchStrategy.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolLaunchService.html":{}}}],["oauth_provisioning_enabled",{"_index":19640,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["oauth_token_request_error",{"_index":22557,"title":{},"body":{"classes/TokenRequestLoggableException.html":{}}}],["oauthadapterservice",{"_index":16820,"title":{"injectables/OauthAdapterService.html":{}},"body":{"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthModule.html":{}}}],["oauthapimodule",{"_index":16960,"title":{"modules/OauthApiModule.html":{}},"body":{"modules/OauthApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["oauthclient",{"_index":10923,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["oauthclient.client_secret",{"_index":17405,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["oauthclient.frontchannel_logout_uri",{"_index":10966,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["oauthclient.redirect_uris",{"_index":10964,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["oauthclient.scope",{"_index":10960,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["oauthclient.token_endpoint_auth_method",{"_index":10962,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["oauthclientbody",{"_index":16969,"title":{"classes/OauthClientBody.html":{}},"body":{"classes/OauthClientBody.html":{},"controllers/OauthProviderController.html":{}}}],["oauthclientid",{"_index":8058,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"controllers/OauthSSOController.html":{}}}],["oauthclientresponse",{"_index":6294,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["oauthconfig",{"_index":13472,"title":{"classes/OauthConfig.html":{}},"body":{"injectables/HydraSsoService.html":{},"classes/LdapConfigEntity.html":{},"injectables/LegacySystemService.html":{},"injectables/OAuthService.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/PublicSystemResponse.html":{},"classes/System.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"interfaces/SystemProps.html":{},"classes/SystemResponseMapper.html":{},"classes/SystemScope.html":{}}}],["oauthconfig.authendpoint",{"_index":14915,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.clientid",{"_index":13487,"title":{},"body":{"injectables/HydraSsoService.html":{},"classes/LdapConfigEntity.html":{},"injectables/OAuthService.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.clientsecret",{"_index":14905,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.granttype",{"_index":14911,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.idphint",{"_index":14907,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.issuer",{"_index":14920,"title":{},"body":{"classes/LdapConfigEntity.html":{},"injectables/OAuthService.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.jwksendpoint",{"_index":14922,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.logoutendpoint",{"_index":14918,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.provider",{"_index":14916,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.redirecturi",{"_index":13488,"title":{},"body":{"injectables/HydraSsoService.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.responsetype",{"_index":13485,"title":{},"body":{"injectables/HydraSsoService.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.scope",{"_index":13486,"title":{},"body":{"injectables/HydraSsoService.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.tokenendpoint",{"_index":14909,"title":{},"body":{"classes/LdapConfigEntity.html":{},"injectables/OAuthService.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfigdto",{"_index":13726,"title":{"classes/OauthConfigDto.html":{}},"body":{"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemDto.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.authendpoint",{"_index":17024,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.clientid",{"_index":17018,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.clientsecret",{"_index":17019,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{}}}],["oauthconfigdto.granttype",{"_index":17022,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.idphint",{"_index":17020,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.issuer",{"_index":17029,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.jwksendpoint",{"_index":17030,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.logoutendpoint",{"_index":17028,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.provider",{"_index":17027,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.redirecturi",{"_index":17021,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.responsetype",{"_index":17025,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.scope",{"_index":17026,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.tokenendpoint",{"_index":17023,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigentity",{"_index":13411,"title":{"classes/OauthConfigEntity.html":{}},"body":{"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"classes/LdapConfigEntity.html":{},"injectables/OAuthService.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfigmissingloggableexception",{"_index":16839,"title":{"classes/OauthConfigMissingLoggableException.html":{}},"body":{"injectables/OAuthService.html":{},"classes/OauthConfigMissingLoggableException.html":{}}}],["oauthconfigmissingloggableexception(systemid",{"_index":16847,"title":{},"body":{"injectables/OAuthService.html":{}}}],["oauthconfigresponse",{"_index":17063,"title":{"classes/OauthConfigResponse.html":{}},"body":{"classes/OauthConfigResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigresponse.authendpoint",{"_index":17083,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.clientid",{"_index":17078,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.granttype",{"_index":17081,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.idphint",{"_index":17079,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.issuer",{"_index":17088,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.jwksendpoint",{"_index":17089,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.logoutendpoint",{"_index":17087,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.provider",{"_index":17086,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.redirecturi",{"_index":17080,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.responsetype",{"_index":17084,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.scope",{"_index":17085,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.tokenendpoint",{"_index":17082,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigs",{"_index":10957,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["oauthcurrentuser",{"_index":8005,"title":{"interfaces/OauthCurrentUser.html":{}},"body":{"classes/CurrentUserMapper.html":{},"controllers/LoginController.html":{},"injectables/Oauth2Strategy.html":{},"interfaces/OauthCurrentUser.html":{},"injectables/UserService.html":{}}}],["oauthdata",{"_index":14243,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["oauthdatadto",{"_index":14210,"title":{"classes/OauthDataDto.html":{}},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OAuthService.html":{},"classes/OauthDataDto.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["oauthdatastrategyinputdto",{"_index":14215,"title":{"classes/OauthDataStrategyInputDto.html":{}},"body":{"injectables/IservProvisioningStrategy.html":{},"classes/OauthDataStrategyInputDto.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["oauthencryptionservice",{"_index":13463,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OAuthService.html":{}}}],["oauthgranttype",{"_index":1505,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/TokenRequestMapper.html":{}}}],["oauthgranttype.authorization_code_grant",{"_index":1502,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/TokenRequestMapper.html":{}}}],["oauthloginresponse",{"_index":15759,"title":{"classes/OauthLoginResponse.html":{}},"body":{"controllers/LoginController.html":{},"classes/LoginResponseMapper.html":{},"classes/OauthLoginResponse.html":{}}}],["oauthmigrationfinished",{"_index":15182,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["oauthmigrationmandatory",{"_index":15180,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["oauthmigrationpossible",{"_index":15181,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["oauthmodule",{"_index":1523,"title":{"modules/OauthModule.html":{}},"body":{"modules/AuthenticationModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/UserLoginMigrationApiModule.html":{}}}],["oauthprocessdto",{"_index":16798,"title":{"classes/OAuthProcessDto.html":{}},"body":{"classes/OAuthProcessDto.html":{}}}],["oauthproviderapimodule",{"_index":17131,"title":{"modules/OauthProviderApiModule.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["oauthproviderclientcruduc",{"_index":17136,"title":{"injectables/OauthProviderClientCrudUc.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{}}}],["oauthproviderconsentflowuc",{"_index":17137,"title":{"injectables/OauthProviderConsentFlowUc.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{}}}],["oauthprovidercontroller",{"_index":17143,"title":{"controllers/OauthProviderController.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"controllers/OauthProviderController.html":{}}}],["oauthproviderloginflowservice",{"_index":13666,"title":{"injectables/OauthProviderLoginFlowService.html":{}},"body":{"injectables/IdTokenService.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"modules/OauthProviderModule.html":{}}}],["oauthproviderloginflowuc",{"_index":17138,"title":{"injectables/OauthProviderLoginFlowUc.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["oauthproviderlogoutflowuc",{"_index":17139,"title":{"injectables/OauthProviderLogoutFlowUc.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLogoutFlowUc.html":{}}}],["oauthprovidermodule",{"_index":17135,"title":{"modules/OauthProviderModule.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{}}}],["oauthproviderrequestmapper",{"_index":17354,"title":{"classes/OauthProviderRequestMapper.html":{}},"body":{"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{}}}],["oauthproviderrequestmapper.mapcreateacceptloginrequestbody",{"_index":17369,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["oauthproviderresponsemapper",{"_index":17140,"title":{"injectables/OauthProviderResponseMapper.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["oauthproviderservice",{"_index":10890,"title":{"classes/OauthProviderService.html":{}},"body":{"injectables/ExternalToolService.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{}}}],["oauthproviderservicemodule",{"_index":10417,"title":{"modules/OauthProviderServiceModule.html":{}},"body":{"modules/ExternalToolModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/OauthProviderServiceModule.html":{}}}],["oauthprovideruc",{"_index":17141,"title":{"injectables/OauthProviderUc.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderUc.html":{}}}],["oauthprovisioningenabled",{"_index":19641,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["oauthrejectablebody",{"_index":6231,"title":{"classes/OAuthRejectableBody.html":{}},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["oauthrejectablebody:13",{"_index":6257,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["oauthrejectablebody:23",{"_index":6265,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["oauthrejectablebody:32",{"_index":6267,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["oauthrejectablebody:41",{"_index":6268,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["oauthrejectablebody:50",{"_index":6272,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["oauthscope",{"_index":13676,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["oauthservice",{"_index":13397,"title":{"injectables/OAuthService.html":{}},"body":{"injectables/HydraOauthUc.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"modules/OauthModule.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["oauthssocontroller",{"_index":16965,"title":{"controllers/OauthSSOController.html":{}},"body":{"modules/OauthApiModule.html":{},"controllers/OauthSSOController.html":{}}}],["oauthssoerrorloggableexception",{"_index":1463,"title":{"classes/OauthSsoErrorLoggableException.html":{}},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["oauthssoerrorloggableexception:17",{"_index":23784,"title":{},"body":{"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["oauthssoerrorloggableexception:5",{"_index":13658,"title":{},"body":{"classes/IdTokenInvalidLoggableException.html":{}}}],["oauthssoerrorloggableexception:9",{"_index":1467,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/OauthConfigMissingLoggableException.html":{}}}],["oauthsystems",{"_index":15319,"title":{},"body":{"injectables/LegacySystemService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["oauthsystems.find((system",{"_index":23660,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["oauthtoken",{"_index":17471,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["oauthtokendto",{"_index":13412,"title":{"classes/OAuthTokenDto.html":{}},"body":{"injectables/HydraOauthUc.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"injectables/Oauth2Strategy.html":{},"controllers/OauthSSOController.html":{},"classes/TokenRequestMapper.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["oauthtokenresponse",{"_index":16843,"title":{"interfaces/OauthTokenResponse.html":{}},"body":{"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{},"interfaces/OauthTokenResponse.html":{},"classes/TokenRequestMapper.html":{}}}],["oauthtokens",{"_index":13417,"title":{},"body":{"injectables/HydraOauthUc.html":{},"injectables/OAuthService.html":{}}}],["obfuscated",{"_index":12601,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["obfuscated_subject",{"_index":14167,"title":{},"body":{"interfaces/IntrospectResponse.html":{}}}],["obj",{"_index":19498,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["obj.id",{"_index":3092,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["obj[key",{"_index":19531,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["object",{"_index":185,"title":{"additional-documentation/nestjs-application/domain-object-validation.html":{}},"body":{"interfaces/AcceptLoginRequestBody.html":{},"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AuthCodeFailureLoggableException.html":{},"interfaces/AuthenticationResponse.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/BusinessError.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"interfaces/ClassProps.html":{},"classes/ColumnBoardFactory.html":{},"classes/ConsentResponse.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"injectables/CopyHelperService.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestProps.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolRepo.html":{},"interfaces/FileDomainObjectProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"classes/H5PContentFactory.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/IntrospectResponse.html":{},"classes/LdapConfigEntity.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"classes/LessonFactory.html":{},"interfaces/LibrariesContentType.html":{},"classes/LoggingUtils.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/MaterialFactory.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"interfaces/ParentInfo.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderOidcContext.html":{},"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"classes/RocketChatUserFactory.html":{},"interfaces/RocketChatUserProps.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolExternalToolRepo.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SubmissionFactory.html":{},"classes/System.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRule.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskUpdateParams.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"interfaces/UserBoardRoles.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserService.html":{},"injectables/VideoConferenceRepo.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["object.assign(entity",{"_index":2606,"title":{},"body":{"classes/BaseFactory.html":{}}}],["object.assign(this",{"_index":3724,"title":{},"body":{"entities/BoardElement.html":{},"classes/ConsentResponse.html":{},"entities/CourseNews.html":{},"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"classes/LoginResponse-1.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["object.constructor.name",{"_index":1989,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["object.defineproperty(entity",{"_index":9500,"title":{},"body":{"classes/DoBaseFactory.html":{}}}],["object.entries(params",{"_index":16655,"title":{},"body":{"injectables/NewsUc.html":{}}}],["object.factory.ts",{"_index":9507,"title":{},"body":{"classes/DomainObjectFactory.html":{}}}],["object.keys(entity).foreach((key",{"_index":2521,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["object.keys(obj).some((key",{"_index":19530,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["object.keys(object).foreach((key",{"_index":2423,"title":{},"body":{"injectables/BBBService.html":{}}}],["object.keys(payload).length",{"_index":2795,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["object.keys(queryordermap",{"_index":10986,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{},"injectables/UserDORepo.html":{}}}],["object.setprototypeof(this",{"_index":1098,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["object.ts",{"_index":1769,"title":{},"body":{"interfaces/AuthorizableObject.html":{},"classes/BaseDomainObject.html":{},"classes/DomainObject.html":{}}}],["object.ts:14",{"_index":9504,"title":{},"body":{"classes/DomainObject.html":{}}}],["object.ts:18",{"_index":9503,"title":{},"body":{"classes/DomainObject.html":{}}}],["object.ts:8",{"_index":9502,"title":{},"body":{"classes/DomainObject.html":{}}}],["object.ts:9",{"_index":2540,"title":{},"body":{"classes/BaseDomainObject.html":{}}}],["object.values(filerecordparenttype",{"_index":12185,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["object.values(newstargetmodel",{"_index":16466,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{}}}],["object.values(previewinputmimetypes).includes(original.contenttype",{"_index":17893,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["object.values(previewinputmimetypes).includes(this.mimetype",{"_index":11790,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["object.values(toolcontexttype",{"_index":10112,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["object.values(toolcontexttype).map(async",{"_index":10408,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{},"injectables/SchoolExternalToolMetadataService.html":{}}}],["object.values(validationerror.constraints",{"_index":1410,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["object],[object",{"_index":2461,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserService.html":{},"injectables/VideoConferenceRepo.html":{}}}],["objectid",{"_index":49,"title":{},"body":{"classes/AbstractAccountService.html":{},"entities/Account.html":{},"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"injectables/BoardDoRepo.html":{},"classes/BoardManagementConsole.html":{},"injectables/CardService.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"injectables/ClassesRepo.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/CourseGroupRepo.html":{},"interfaces/CustomLtiProperty.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionRequestFactory.html":{},"injectables/DeletionRequestService.html":{},"classes/DoBaseFactory.html":{},"interfaces/EntityWithSchool.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FederalStateRepo.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"injectables/FilesRepo.html":{},"injectables/GroupRepo.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"entities/LtiTool.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/ParentInfo.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/SchoolYearRepo.html":{},"entities/ShareToken.html":{},"classes/ShareTokenFactory.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionItemFactory.html":{},"injectables/SubmissionItemService.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserDoFactory.html":{},"injectables/UserRepo.html":{}}}],["objectid().tohexstring",{"_index":4479,"title":{},"body":{"injectables/CardService.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionRequestFactory.html":{},"injectables/DeletionRequestService.html":{},"classes/DoBaseFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PseudonymService.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RocketChatUserFactory.html":{},"classes/ShareTokenFactory.html":{},"injectables/SubmissionItemFactory.html":{},"injectables/SubmissionItemService.html":{}}}],["objectid().tostring",{"_index":8668,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{},"classes/UserDoFactory.html":{}}}],["objectid(account.attdbcaccountid",{"_index":659,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["objectid(accountdto.systemid",{"_index":940,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["objectid(accountdto.userid",{"_index":937,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["objectid(creatorid",{"_index":6635,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["objectid(deletionrequestid",{"_index":9184,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["objectid(domainobject.deletionrequestid",{"_index":9163,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["objectid(domainobject.id",{"_index":2520,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["objectid(domainobject.schoolid",{"_index":4754,"title":{},"body":{"classes/ClassMapper.html":{}}}],["objectid(domainobject.successor",{"_index":4764,"title":{},"body":{"classes/ClassMapper.html":{}}}],["objectid(domainobject.userid",{"_index":18927,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["objectid(domainobject.year",{"_index":4760,"title":{},"body":{"classes/ClassMapper.html":{}}}],["objectid(entitydo.toolid",{"_index":10562,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["objectid(entitydo.userid",{"_index":10563,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["objectid(id",{"_index":655,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"classes/BaseFactory.html":{}}}],["objectid(id).tohexstring",{"_index":20341,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["objectid(owneruserid",{"_index":12084,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["objectid(parentid",{"_index":6633,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileRecordScope.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["objectid(permissionrefid",{"_index":12088,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["objectid(props.columnboardid",{"_index":5564,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["objectid(props.context.id",{"_index":5459,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["objectid(props.contextid",{"_index":20255,"title":{},"body":{"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["objectid(props.creatorid",{"_index":11566,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["objectid(props.iscopyfrom",{"_index":11758,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["objectid(props.lockid",{"_index":11570,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["objectid(props.origintoolid",{"_index":8089,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["objectid(props.ownerid",{"_index":11563,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["objectid(props.parentid",{"_index":11561,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["objectid(props.refid",{"_index":11696,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["objectid(props.schoolid",{"_index":11755,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["objectid(reference.id",{"_index":3660,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["objectid(refid",{"_index":11538,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["objectid(schoolid",{"_index":4833,"title":{},"body":{"injectables/ClassesRepo.html":{},"classes/ContentMetadata.html":{},"classes/FileRecordScope.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["objectid(systemid",{"_index":778,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["objectid(teacherid",{"_index":4756,"title":{},"body":{"classes/ClassMapper.html":{}}}],["objectid(toolid",{"_index":10544,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymsRepo.html":{}}}],["objectid(user.id",{"_index":12807,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["objectid(userid",{"_index":773,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/ClassMapper.html":{},"injectables/ClassesRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/LessonRepo.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/TeamsRepo.html":{}}}],["objectid.createfromhexstring(id",{"_index":8488,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["objectid.createfromhexstring(props.id",{"_index":8498,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["objectid.isvalid(courseid",{"_index":3786,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["objectid.isvalid(id",{"_index":654,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/ImportUserRepo.html":{}}}],["objectid.isvalid(schoolid",{"_index":14102,"title":{},"body":{"classes/ImportUserScope.html":{},"injectables/UserRepo.html":{}}}],["objectid.isvalid(userid",{"_index":14104,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["objectids",{"_index":774,"title":{},"body":{"injectables/AccountRepo.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["objectids.map((id",{"_index":7485,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["objectives",{"_index":25960,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["objectkeysrecursive",{"_index":7203,"title":{"interfaces/ObjectKeysRecursive.html":{}},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{}}}],["objectname",{"_index":18585,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["objects",{"_index":4184,"title":{},"body":{"injectables/BsonConverter.html":{},"interfaces/CollectionFilePath.html":{},"classes/DomainObjectFactory.html":{},"injectables/FederalStateService.html":{},"classes/LegacySchoolDo.html":{},"injectables/OidcProvisioningService.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolYearService.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["obligate",{"_index":25119,"title":{},"body":{"license.html":{}}}],["obligated",{"_index":24903,"title":{},"body":{"license.html":{}}}],["obligations",{"_index":24812,"title":{},"body":{"license.html":{}}}],["observable",{"_index":2382,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/HydraSsoService.html":{},"injectables/OauthAdapterService.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["occasionally",{"_index":24888,"title":{},"body":{"license.html":{}}}],["occur",{"_index":408,"title":{},"body":{"controllers/AccountController.html":{}}}],["occurred",{"_index":5063,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"classes/ForbiddenOperationError.html":{},"classes/GlobalErrorFilter.html":{}}}],["occurrences",{"_index":18636,"title":{},"body":{"classes/ReferencesService.html":{}}}],["occurring",{"_index":25019,"title":{},"body":{"license.html":{}}}],["occurs",{"_index":24941,"title":{},"body":{"license.html":{}}}],["ocs",{"_index":12973,"title":{},"body":{"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/Meta.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OcsResponse.html":{},"interfaces/SuccessfulRes.html":{}}}],["ocsresponse",{"_index":12972,"title":{"interfaces/OcsResponse.html":{}},"body":{"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/Meta.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OcsResponse.html":{},"interfaces/SuccessfulRes.html":{}}}],["odered",{"_index":16615,"title":{},"body":{"injectables/NewsUc.html":{}}}],["offer",{"_index":24675,"title":{},"body":{"license.html":{}}}],["offered",{"_index":24909,"title":{},"body":{"license.html":{}}}],["offering",{"_index":24892,"title":{},"body":{"license.html":{}}}],["offers",{"_index":25340,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["official",{"_index":9995,"title":{},"body":{"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"license.html":{}}}],["officialexternalschoolnumber",{"_index":19939,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["officialschoolnumber",{"_index":9981,"title":{},"body":{"classes/ExternalSchoolDto.html":{},"classes/IservMapper.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisResponseMapper.html":{},"entities/SchoolEntity.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["offline",{"_index":8207,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthProviderClientCrudUc.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["offset",{"_index":58,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/DeleteFilesUc.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/ImportUserRepo.html":{},"classes/ListOauthClientsParams.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/OauthProviderService.html":{},"injectables/TaskRepo.html":{},"injectables/UserDORepo.html":{}}}],["ogs",{"_index":16214,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["oid",{"_index":14256,"title":{},"body":{"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{}}}],["oidc",{"_index":14511,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/LoginResponse-1.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/SystemEntityFactory.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["oidc.mapper.ts",{"_index":21154,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["oidc.mapper.ts:12",{"_index":21159,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["oidc.mapper.ts:26",{"_index":21156,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["oidc.mapper.ts:5",{"_index":21157,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["oidc.service",{"_index":14504,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"modules/SystemModule.html":{}}}],["oidc.service.ts",{"_index":21167,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["oidc.service.ts:10",{"_index":21168,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["oidc.service.ts:13",{"_index":21170,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["oidc.service.ts:22",{"_index":21169,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["oidc/oidc.strategy",{"_index":19502,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["oidc/service/oidc",{"_index":19503,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["oidc_context",{"_index":6280,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["oidcconfig",{"_index":14471,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{},"classes/SystemScope.html":{}}}],["oidcconfig.authorizationurl",{"_index":14963,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["oidcconfig.clientid",{"_index":14960,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["oidcconfig.clientsecret",{"_index":14961,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["oidcconfig.defaultscopes",{"_index":14970,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["oidcconfig.idphint",{"_index":14588,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["oidcconfig.logouturl",{"_index":14966,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["oidcconfig.tokenurl",{"_index":14965,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["oidcconfig.userinfourl",{"_index":14968,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["oidcconfig?.clientsecret",{"_index":21163,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["oidcconfig?.idphint",{"_index":14583,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["oidcconfigdto",{"_index":14469,"title":{"classes/OidcConfigDto.html":{}},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/OidcConfigDto.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{}}}],["oidcconfigdto.authorizationurl",{"_index":17497,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.clientid",{"_index":17494,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.clientsecret",{"_index":17495,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.defaultscopes",{"_index":17501,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.idphint",{"_index":17496,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.logouturl",{"_index":17500,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.parentsystemid",{"_index":17493,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.tokenurl",{"_index":17498,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.userinfourl",{"_index":17499,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigentity",{"_index":14901,"title":{"classes/OidcConfigEntity.html":{}},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["oidccontextresponse",{"_index":6303,"title":{"classes/OidcContextResponse.html":{}},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"classes/OidcContextResponse.html":{}}}],["oidcexternalsubmappername",{"_index":14512,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["oidcidentityprovidermapper",{"_index":14434,"title":{"classes/OidcIdentityProviderMapper.html":{}},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["oidcinternalname",{"_index":5049,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["oidcmock__base_url",{"_index":25863,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["oidcmockprovisioningstrategy",{"_index":17536,"title":{"injectables/OidcMockProvisioningStrategy.html":{}},"body":{"injectables/OidcMockProvisioningStrategy.html":{},"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{}}}],["oidcmockstrategy",{"_index":18078,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["oidcprovisioningservice",{"_index":17547,"title":{"injectables/OidcProvisioningService.html":{}},"body":{"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"modules/ProvisioningModule.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["oidcprovisioningstrategy",{"_index":17663,"title":{"injectables/OidcProvisioningStrategy.html":{}},"body":{"injectables/OidcProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["oidcsystems",{"_index":15321,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["oidcuserattributemappername",{"_index":14510,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["ok",{"_index":24075,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["okay",{"_index":21662,"title":{},"body":{"injectables/TaskRepo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["old",{"_index":7257,"title":{},"body":{"injectables/CopyFilesService.html":{},"classes/RecursiveCopyVisitor.html":{},"index.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["oldconfig.alias",{"_index":14577,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["oldconfigs",{"_index":14484,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["oldconfigs.foreach((oldconfig",{"_index":14581,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["oldconfigs.some((oldconfig",{"_index":14576,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["older",{"_index":24697,"title":{},"body":{"license.html":{}}}],["oldparam.name",{"_index":11108,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["oldparams",{"_index":11084,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["oldparams.every((oldparam",{"_index":11120,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["oldparams.filter((oldparam",{"_index":11106,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["oldparams.filter((parameter",{"_index":11122,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["oldtool",{"_index":11101,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["oldtool.parameters",{"_index":11102,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["once",{"_index":18566,"title":{},"body":{"classes/RedirectResponse.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["one",{"_index":5246,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/JwtStrategy.html":{},"interfaces/LibrariesContentType.html":{},"injectables/NextcloudStrategy.html":{},"injectables/S3ClientAdapter.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"controllers/UserLoginMigrationController.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["oneday",{"_index":7652,"title":{},"body":{"classes/CourseFactory.html":{},"classes/H5PTemporaryFileFactory.html":{}}}],["oneof",{"_index":4055,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CardResponse.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionItemResponse.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["ones",{"_index":7028,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["onetomany",{"_index":6162,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["onetomany('coursegroup",{"_index":7409,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["onetomany('dashboardgridelementmodel",{"_index":8503,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["onetomany('submission",{"_index":21252,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["onetomany('task",{"_index":6193,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["onetoone",{"_index":2932,"title":{},"body":{"entities/Board.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/UserLoginMigrationEntity.html":{}}}],["onetoone(undefined",{"_index":19629,"title":{},"body":{"entities/SchoolEntity.html":{},"entities/UserLoginMigrationEntity.html":{}}}],["onetoone({type",{"_index":2923,"title":{},"body":{"entities/Board.html":{}}}],["oneweekago",{"_index":21838,"title":{},"body":{"injectables/TaskUC.html":{}}}],["oneweekago.setdate(oneweekago.getdate",{"_index":21839,"title":{},"body":{"injectables/TaskUC.html":{}}}],["ongatewayconnection",{"_index":22373,"title":{},"body":{"classes/TldrawWs.html":{}}}],["ongatewayinit",{"_index":22372,"title":{},"body":{"classes/TldrawWs.html":{}}}],["ongoing",{"_index":7747,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["onlyactivecourses",{"_index":7835,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/DashboardUc.html":{}}}],["onlyexistingreferences",{"_index":2983,"title":{},"body":{"entities/Board.html":{}}}],["onlyfactories",{"_index":8726,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["onlyoauth",{"_index":21130,"title":{},"body":{"classes/SystemFilterParams.html":{},"injectables/SystemUc.html":{}}}],["onlyreadcourses",{"_index":21832,"title":{},"body":{"injectables/TaskUC.html":{}}}],["onlywritecoursesids",{"_index":21831,"title":{},"body":{"injectables/TaskUC.html":{}}}],["onmoduledestroy",{"_index":16348,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["onupdate",{"_index":2571,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["open",{"_index":16215,"title":{},"body":{"injectables/MetaTagExtractorService.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["open/closed",{"_index":25408,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["openapi",{"_index":13938,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["opencourseids",{"_index":21586,"title":{},"body":{"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{}}}],["opencourses",{"_index":21810,"title":{},"body":{"injectables/TaskUC.html":{}}}],["opencourses.map((c",{"_index":21815,"title":{},"body":{"injectables/TaskUC.html":{}}}],["opened",{"_index":22992,"title":{},"body":{"classes/ToolReferenceResponse.html":{},"additional-documentation/nestjs-application.html":{}}}],["openid",{"_index":8208,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/SystemEntityFactory.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["opening",{"_index":23981,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["openinnewtab",{"_index":6877,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{}}}],["openldap",{"_index":25880,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["opennewtab",{"_index":8061,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolCreateParams.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["operate",{"_index":25170,"title":{},"body":{"license.html":{}}}],["operated",{"_index":24896,"title":{},"body":{"license.html":{}}}],["operates",{"_index":25638,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["operating",{"_index":24771,"title":{},"body":{"license.html":{}}}],["operation",{"_index":9086,"title":{},"body":{"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{},"classes/ForbiddenOperationError.html":{},"injectables/KeycloakMigrationService.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"controllers/VideoConferenceController.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["operation.'})@apiresponse({status",{"_index":24023,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["operation.error.ts",{"_index":12376,"title":{},"body":{"classes/ForbiddenOperationError.html":{}}}],["operation.error.ts:4",{"_index":12377,"title":{},"body":{"classes/ForbiddenOperationError.html":{}}}],["operation.loggable",{"_index":16632,"title":{},"body":{"injectables/NewsUc.html":{}}}],["operation.loggable.ts",{"_index":16450,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{}}}],["operation.loggable.ts:14",{"_index":16454,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{}}}],["operation.loggable.ts:7",{"_index":16453,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{}}}],["operations",{"_index":25978,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["operator",{"_index":815,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/Scope.html":{},"license.html":{}}}],["operators",{"_index":25633,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["oplogicchecks",{"_index":11626,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["oplogsize",{"_index":25916,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["opportunity",{"_index":25127,"title":{},"body":{"license.html":{}}}],["ops",{"_index":25247,"title":{},"body":{"todo.html":{}}}],["opschema",{"_index":11624,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["opt/keycloak/bin/kc.sh",{"_index":25304,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["optimal",{"_index":15061,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["optimisation",{"_index":25430,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["option",{"_index":24966,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["optional",{"_index":33,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerTestModule.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"classes/AuthorizationParams.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/ConsoleWriterService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigEntity.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/FileDO.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"classes/FileUrlParams.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetH5PContentParams.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"classes/GroupUserResponse.html":{},"classes/GroupValidPeriodEntity.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IImportUserScope.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonAccount.html":{},"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"injectables/MailService.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PatchMyAccountParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileParams.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"classes/ProvisioningDto.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"controllers/PseudonymController.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"interfaces/RegistrationPinEntityProps.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RichText.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.html":{},"classes/ScopeRef.html":{},"classes/ServerConsole.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionsResponse.html":{},"classes/SuccessfulResponse.html":{},"injectables/SymetricKeyEncryptionService.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"controllers/TldrawController.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateNewsParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["optional()@apiproperty",{"_index":17519,"title":{},"body":{"classes/OidcContextResponse.html":{}}}],["optionaldatathere",{"_index":25607,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["optionally",{"_index":5231,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["options",{"_index":540,"title":{"interfaces/Options.html":{}},"body":{"classes/AccountFactory.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"interfaces/CleanOptions.html":{},"classes/ColumnBoardFactory.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/ContextExternalToolFactory.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseUc.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameterFactory.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeletionExecutionConsole.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionQueueConsole.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"injectables/FilesRepo.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"classes/H5PContentFactory.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"modules/MailModule.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"interfaces/MigrationOptions.html":{},"modules/MongoMemoryDatabaseModule.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthClientBody.html":{},"interfaces/Options.html":{},"interfaces/ParentInfo.html":{},"injectables/PseudonymService.html":{},"interfaces/RetryOptions.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsTestModule.html":{},"controllers/ToolController.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceBaseResponse.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"license.html":{},"todo.html":{}}}],["options.builder.ts",{"_index":18299,"title":{},"body":{"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{}}}],["options.builder.ts:4",{"_index":18301,"title":{},"body":{"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{}}}],["options.callsdelayms",{"_index":9253,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["options.collection",{"_index":8730,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["options.deleteinminutes",{"_index":9251,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["options.do",{"_index":4592,"title":{},"body":{"classes/Class.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{}}}],["options.do.ts",{"_index":4809,"title":{},"body":{"classes/ClassSourceOptions.html":{},"interfaces/ClassSourceOptionsProps.html":{}}}],["options.do.ts:12",{"_index":4813,"title":{},"body":{"classes/ClassSourceOptions.html":{}}}],["options.do.ts:6",{"_index":4811,"title":{},"body":{"classes/ClassSourceOptions.html":{}}}],["options.enabled",{"_index":1269,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["options.entity",{"_index":4625,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["options.entity.ts",{"_index":4816,"title":{},"body":{"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{}}}],["options.entity.ts:10",{"_index":4818,"title":{},"body":{"classes/ClassSourceOptionsEntity.html":{}}}],["options.everyattendeejoinsmuted",{"_index":24126,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["options.everyattendejoinsmuted",{"_index":23974,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["options.everybodyjoinsasmoderator",{"_index":23976,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["options.exchange",{"_index":1273,"title":{},"body":{"modules/AntivirusModule.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{}}}],["options.filesservicebaseurl",{"_index":1271,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["options.hostname",{"_index":1277,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["options.interface.ts",{"_index":18303,"title":{},"body":{"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{}}}],["options.moderatormustapprovejoinrequests",{"_index":23978,"title":{},"body":{"entities/VideoConference.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["options.onlyfactories",{"_index":8731,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["options.order",{"_index":13877,"title":{},"body":{"controllers/ImportUserController.html":{},"injectables/NewsUc.html":{},"controllers/ToolController.html":{}}}],["options.port",{"_index":1284,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["options.refsfilepath",{"_index":9249,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["options.response",{"_index":24199,"title":{},"body":{"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceMapper.html":{}}}],["options.response.ts",{"_index":24287,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["options.response.ts:14",{"_index":24292,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["options.response.ts:20",{"_index":24288,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["options.response.ts:8",{"_index":24291,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["options.retrycount",{"_index":4904,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["options.retrydelay",{"_index":4905,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["options.routingkey",{"_index":1275,"title":{},"body":{"modules/AntivirusModule.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{}}}],["options.skip",{"_index":4927,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["options.targetrefdomain",{"_index":9250,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["options.ts",{"_index":13567,"title":{},"body":{"interfaces/IFindOptions.html":{},"interfaces/Pagination.html":{}}}],["options.verbose",{"_index":4929,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["options?.collection",{"_index":8729,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["options?.context",{"_index":20428,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["options?.exact",{"_index":14729,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["options?.expiresat",{"_index":20429,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["options?.expiresindays",{"_index":20476,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["options?.limit",{"_index":14731,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["options?.order",{"_index":10609,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/TaskRepo.html":{}}}],["options?.override",{"_index":8737,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["options?.pagination",{"_index":10564,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/TaskRepo.html":{},"injectables/UserDORepo.html":{}}}],["options?.schoolexclusive",{"_index":20472,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["options?.skip",{"_index":14730,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["orchestrate",{"_index":25992,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["orchestrates",{"_index":25448,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["orchestration",{"_index":25488,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["order",{"_index":2231,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseUc.html":{},"injectables/DashboardUc.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FileRecordRepo.html":{},"interfaces/IFindOptions.html":{},"injectables/ImportUserRepo.html":{},"injectables/LdapStrategy.html":{},"injectables/LessonRepo.html":{},"injectables/NewsRepo.html":{},"interfaces/Pagination.html":{},"classes/PatchOrderParams.html":{},"classes/SortHelper.html":{},"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["order._id",{"_index":10613,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/TaskRepo.html":{},"injectables/UserDORepo.html":{}}}],["order.firstname",{"_index":23835,"title":{},"body":{"injectables/UserRepo.html":{}}}],["order.lastname",{"_index":23839,"title":{},"body":{"injectables/UserRepo.html":{}}}],["order.params.ts",{"_index":17740,"title":{},"body":{"classes/PatchOrderParams.html":{}}}],["order.params.ts:13",{"_index":17743,"title":{},"body":{"classes/PatchOrderParams.html":{}}}],["orderby",{"_index":788,"title":{},"body":{"injectables/AccountRepo.html":{},"interfaces/CollectionFilePath.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LessonRepo.html":{},"injectables/NewsRepo.html":{},"injectables/TaskRepo.html":{},"injectables/UserDORepo.html":{}}}],["orderby(bsondocuments",{"_index":5305,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["orderedlist",{"_index":19211,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["orderquery",{"_index":23834,"title":{},"body":{"injectables/UserRepo.html":{}}}],["orderquery.firstname",{"_index":23836,"title":{},"body":{"injectables/UserRepo.html":{}}}],["orderquery.lastname",{"_index":23840,"title":{},"body":{"injectables/UserRepo.html":{}}}],["org",{"_index":5982,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["organisation",{"_index":19458,"title":{},"body":{"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonenkontextResponse.html":{}}}],["organization",{"_index":5762,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"injectables/GroupRepo.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"license.html":{}}}],["organization.organization",{"_index":5853,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["organization.resources).concat(this.resources",{"_index":5855,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["organizationbuilder",{"_index":5747,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["organizationbuilder.addresourcetoorganization(resourceprops",{"_index":5755,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["organizationbuilder.addresourcetoorganization(this.maptasktowebcontentresource(task",{"_index":5759,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["organizationelement.transform",{"_index":5988,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["organizationelements",{"_index":5980,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["organizationid",{"_index":12632,"title":{},"body":{"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"injectables/OidcProvisioningService.html":{},"classes/ResolvedGroupDto.html":{}}}],["organizations",{"_index":5805,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"license.html":{}}}],["origin",{"_index":2162,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"injectables/TldrawWsService.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/WsSharedDocDo.html":{},"license.html":{}}}],["original",{"_index":3597,"title":{},"body":{"injectables/BoardDoCopyService.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ConsentResponse.html":{},"injectables/CourseCopyService.html":{},"classes/LoginResponse-1.html":{},"injectables/PreviewGeneratorService.html":{},"classes/RecursiveCopyVisitor.html":{},"license.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["original.acceptasync(this",{"_index":18391,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.alternativetext",{"_index":18406,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.caption",{"_index":18405,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.children.foreach((child",{"_index":18439,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.contenttype",{"_index":17892,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["original.context",{"_index":18396,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.description",{"_index":18419,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.duedate",{"_index":18432,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.height",{"_index":18403,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.id",{"_index":18410,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.imageurl",{"_index":18422,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.inputformat",{"_index":18430,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.text",{"_index":18429,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.title",{"_index":18395,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.url",{"_index":18421,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["originalboard",{"_index":3310,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/CourseCopyService.html":{}}}],["originalboard.context.type",{"_index":5425,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["originalboard.getelements",{"_index":3311,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["originalcolumnboardid",{"_index":3356,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ColumnBoardCopyService.html":{}}}],["originalcourse",{"_index":7569,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["originalcourse.color",{"_index":7592,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["originalcourse.getcoursegroupitems().length",{"_index":7603,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["originalcourse.name",{"_index":7584,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["originalentity",{"_index":3318,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CopyFilesService.html":{},"injectables/CourseCopyService.html":{},"injectables/TaskCopyService.html":{}}}],["originallesson",{"_index":3280,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/LessonCopyUC.html":{}}}],["originallesson.course",{"_index":15398,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["originallesson.id",{"_index":3351,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/LessonCopyUC.html":{}}}],["originallessonid",{"_index":3350,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/LessonCopyUC.html":{},"injectables/ShareTokenUC.html":{}}}],["originalschooldo",{"_index":19957,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["originaltask",{"_index":3283,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["originaltask.description",{"_index":21435,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["originaltask.descriptioninputformat",{"_index":21436,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["originaltask.id",{"_index":3354,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["originaltask.name",{"_index":21434,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["originaltask.teamsubmissions",{"_index":21437,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["originaltaskid",{"_index":3353,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["originaltaskname",{"_index":21466,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["originfilepath",{"_index":12448,"title":{},"body":{"interfaces/GetFileResponse.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewOptions.html":{},"interfaces/PreviewResponseMessage.html":{}}}],["originid",{"_index":16115,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["origintool",{"_index":8054,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["origintoolid",{"_index":8056,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{}}}],["orm",{"_index":7796,"title":{},"body":{"entities/CourseNews.html":{},"injectables/DatabaseManagementService.html":{},"injectables/FilesStorageConsumer.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TaskBoardElement.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["orm.io",{"_index":25389,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["orm/core",{"_index":224,"title":{},"body":{"entities/Account.html":{},"injectables/AccountRepo.html":{},"injectables/AuthorizationHelper.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/BaseRepo.html":{},"classes/BasicToolConfigEntity.html":{},"entities/Board.html":{},"injectables/BoardDoRepo.html":{},"entities/BoardElement.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"entities/ColumnNode.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntryEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DatabaseManagementService.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalToolConfigEntity.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/ExternalToolEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolSortingMapper.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"injectables/FilesRepo.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"modules/H5PEditorModule.html":{},"entities/H5pEditorTempFile.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfigEntity.html":{},"injectables/LegacySchoolRepo.html":{},"entities/LessonBoardElement.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"classes/LibraryName.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/LtiTool.html":{},"injectables/LtiToolRepo.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"interfaces/RelatedResourceProperties.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"injectables/SchoolExternalToolRepo.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"classes/Scope.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"entities/Submission.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"interfaces/TemporaryFileProperties.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"entities/User.html":{},"injectables/UserDORepo.html":{},"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{},"injectables/VideoConferenceRepo.html":{},"dependencies.html":{}}}],["orm/entitymanager",{"_index":25780,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["orm/issues/1230",{"_index":11749,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["orm/issues/2165",{"_index":21871,"title":{},"body":{"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["orm/mikro",{"_index":11748,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["orm/mongodb",{"_index":97,"title":{},"body":{"classes/AbstractAccountService.html":{},"entities/Account.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/BaseRepo.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"injectables/ClassesRepo.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardTargetService.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/CourseGroupRepo.html":{},"interfaces/CustomLtiProperty.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionRequestFactory.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"classes/DoBaseFactory.html":{},"interfaces/EntityWithSchool.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FeathersAuthProvider.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"injectables/FilesRepo.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LessonRepo.html":{},"entities/LtiTool.html":{},"interfaces/ParentInfo.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/RegistrationPinRepo.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SystemRepo.html":{},"injectables/TeamsRepo.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/TldrawRepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"dependencies.html":{}}}],["orm/nestjs",{"_index":1015,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{},"dependencies.html":{}}}],["orphan",{"_index":6503,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["orphanremoval",{"_index":6194,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/UsersList.html":{}}}],["ort",{"_index":19422,"title":{},"body":{"classes/SanisAnschriftResponse.html":{}}}],["os",{"_index":12011,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["os.eol",{"_index":12039,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["other.name.tolocalelowercase",{"_index":10486,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["otherindex",{"_index":10484,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["otherlibrary.machinename",{"_index":11628,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["otherlibrary.majorversion",{"_index":11631,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["otherlibrary.minorversion",{"_index":11633,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["otherlibrary.patchversion",{"_index":11635,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["othermodule",{"_index":25478,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["otherparams",{"_index":21108,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["others",{"_index":12596,"title":{},"body":{"classes/GlobalValidationPipe.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["otheruser",{"_index":19598,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["otherusers",{"_index":9952,"title":{},"body":{"classes/ExternalGroupDto.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisResponseMapper.html":{}}}],["otherwise",{"_index":1568,"title":{},"body":{"modules/AuthenticationModule.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DeletionExecutionConsole.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"injectables/NextcloudStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["ours",{"_index":25541,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["out",{"_index":271,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolService.html":{},"modules/FeathersModule.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"entities/ImportUser.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolModule.html":{},"modules/LessonApiModule.html":{},"modules/LessonModule.html":{},"modules/LoggerModule.html":{},"modules/LtiToolModule.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/NewsModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/OauthProviderServiceModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"modules/PseudonymModule.html":{},"modules/RedisModule.html":{},"modules/RegistrationPinModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/SchoolExternalToolModule.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceCreateParams.html":{},"modules/VideoConferenceModule.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["outcome",{"_index":25652,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["outdated",{"_index":6685,"title":{},"body":{"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"todo.html":{}}}],["outdated.loggable",{"_index":23071,"title":{},"body":{"classes/ToolStatusOutdatedLoggableException.html":{}}}],["outdatedsince",{"_index":19989,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDto.html":{},"classes/UserMapper.html":{},"interfaces/UserProperties.html":{},"classes/UserScope.html":{}}}],["outer",{"_index":25680,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["outgoing",{"_index":25459,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["output",{"_index":2868,"title":{},"body":{"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/GlobalValidationPipe.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/ServerConsole.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["output.builder.ts",{"_index":9351,"title":{},"body":{"classes/DeletionRequestOutputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["output.builder.ts:22",{"_index":18310,"title":{},"body":{"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["output.builder.ts:26",{"_index":18308,"title":{},"body":{"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["output.builder.ts:4",{"_index":9353,"title":{},"body":{"classes/DeletionRequestOutputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["output.deletionplannedat",{"_index":18312,"title":{},"body":{"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["output.error",{"_index":9057,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["output.interface.ts",{"_index":9349,"title":{},"body":{"interfaces/DeletionRequestOutput.html":{},"interfaces/QueueDeletionRequestOutput.html":{}}}],["output.requestid",{"_index":18311,"title":{},"body":{"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["outputformat",{"_index":7169,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["outputs",{"_index":2817,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{}}}],["outputs.length",{"_index":2910,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["outputs.push",{"_index":2837,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["outputs.push(queuedeletionrequestoutputbuilder.builderror(err",{"_index":2842,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["outside",{"_index":8418,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["over",{"_index":18646,"title":{},"body":{"classes/ReferencesService.html":{},"injectables/TaskCopyUC.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["overall",{"_index":2902,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["overallstatus",{"_index":2855,"title":{},"body":{"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{}}}],["overenginiering",{"_index":25428,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["overridden",{"_index":16358,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["override",{"_index":1476,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/BBBCreateConfigBuilder.html":{},"injectables/BasicToolLaunchStrategy.html":{},"classes/BusinessError.html":{},"interfaces/CollectionFilePath.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"injectables/FileSystemAdapter.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OauthConfigMissingLoggableException.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["overrideprovider(consolewriterservice",{"_index":22141,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["overrideprovider(databasemanagementuc",{"_index":22139,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["overrides",{"_index":9900,"title":{},"body":{"modules/ErrorModule.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["overrides/configures",{"_index":7358,"title":{},"body":{"modules/CoreModule.html":{}}}],["overriding",{"_index":25730,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["overview",{"_index":25345,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["overwrite_setting_show_setup_wizard='completed",{"_index":25953,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["overwritten",{"_index":25732,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["owned",{"_index":25061,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["ownedbyuserid",{"_index":13364,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{}}}],["owner",{"_index":11494,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesRepo.html":{},"classes/ListOauthClientsParams.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/OauthProviderService.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["ownerid",{"_index":11524,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["ownership",{"_index":16473,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["owneruserid",{"_index":12075,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["owns",{"_index":21569,"title":{},"body":{"injectables/TaskRepo.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["p",{"_index":2467,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/S3ClientAdapter.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["p.key",{"_index":19396,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["p.name",{"_index":11137,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["p.sourcepath",{"_index":19363,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["p27030:27017",{"_index":25912,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["package",{"_index":24408,"title":{"dependencies.html":{},"properties.html":{}},"body":{"todo.html":{}}}],["packaged",{"_index":24856,"title":{},"body":{"license.html":{}}}],["packages",{"_index":25222,"title":{},"body":{"todo.html":{}}}],["packaging",{"_index":24765,"title":{},"body":{"license.html":{}}}],["pad",{"_index":9945,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["pad.data.padid",{"_index":9947,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["padid",{"_index":9942,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["padname",{"_index":9943,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["padresponse",{"_index":9941,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["page",{"_index":869,"title":{"classes/Page.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/api-design.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}},"body":{"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/DeletionExecutionParams.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolSearchListResponse.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"classes/FileRecordListResponse.html":{},"controllers/GroupController.html":{},"classes/GroupResponseMapper.html":{},"classes/ImportUserListResponse.html":{},"classes/NewsListResponse.html":{},"classes/Page.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"injectables/PseudonymService.html":{},"injectables/SchoolMigrationService.html":{},"classes/TaskListResponse.html":{},"injectables/TaskRepo.html":{},"controllers/ToolController.html":{},"injectables/UserDORepo.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchListResponse.html":{},"injectables/UserService.html":{},"additional-documentation/nestjs-application.html":{}}}],["page([userloginmigration",{"_index":23688,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["page(entitydos",{"_index":10570,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/UserDORepo.html":{}}}],["pagecontentdto",{"_index":17685,"title":{"classes/PageContentDto.html":{}},"body":{"classes/PageContentDto.html":{}}}],["paged",{"_index":373,"title":{},"body":{"controllers/AccountController.html":{}}}],["pages",{"_index":897,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"classes/PaginationParams.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["pagesize",{"_index":4859,"title":{},"body":{"interfaces/CleanOptions.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"classes/KeycloakSeedService.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["paginate",{"_index":11187,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["pagination",{"_index":7525,"title":{"interfaces/Pagination.html":{}},"body":{"controllers/CourseController.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseUc.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FileRecordRepo.html":{},"controllers/GroupController.html":{},"interfaces/IFindOptions.html":{},"controllers/ImportUserController.html":{},"injectables/ImportUserRepo.html":{},"controllers/NewsController.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"interfaces/Pagination.html":{},"controllers/TaskController.html":{},"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolController.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["pagination.limit",{"_index":12697,"title":{},"body":{"controllers/GroupController.html":{},"controllers/ToolController.html":{},"injectables/UserRepo.html":{}}}],["pagination.skip",{"_index":12696,"title":{},"body":{"controllers/GroupController.html":{},"controllers/ToolController.html":{},"injectables/UserRepo.html":{}}}],["pagination?.limit",{"_index":7841,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/TaskRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["pagination?.skip",{"_index":7840,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/TaskRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["paginationparams",{"_index":883,"title":{"classes/PaginationParams.html":{}},"body":{"classes/AccountSearchQueryParams.html":{},"controllers/CourseController.html":{},"injectables/CourseUc.html":{},"controllers/GroupController.html":{},"controllers/ImportUserController.html":{},"controllers/NewsController.html":{},"classes/PaginationParams.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolController.html":{}}}],["paginationparams:14",{"_index":894,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["paginationparams:8",{"_index":898,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["paginationresponse",{"_index":862,"title":{"classes/PaginationResponse.html":{}},"body":{"classes/AccountSearchListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/PaginationResponse.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["paginationresponse:12",{"_index":867,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{}}}],["paginationresponse:136",{"_index":16460,"title":{},"body":{"classes/NewsListResponse.html":{}}}],["paginationresponse:14",{"_index":878,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/ImportUserListResponse.html":{},"classes/NewsListResponse.html":{},"classes/TaskListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{}}}],["paginationresponse:17",{"_index":877,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/ImportUserListResponse.html":{},"classes/NewsListResponse.html":{},"classes/TaskListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{}}}],["paginationresponse:20",{"_index":872,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/ImportUserListResponse.html":{},"classes/NewsListResponse.html":{},"classes/TaskListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{}}}],["paginationresponse:51",{"_index":23714,"title":{},"body":{"classes/UserMatchListResponse.html":{}}}],["paginationresponse:63",{"_index":11818,"title":{},"body":{"classes/FileRecordListResponse.html":{}}}],["paginationresponse:68",{"_index":7737,"title":{},"body":{"classes/CourseMetadataListResponse.html":{}}}],["paginationresponse:7",{"_index":10873,"title":{},"body":{"classes/ExternalToolSearchListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{}}}],["paginationresponse:71",{"_index":13921,"title":{},"body":{"classes/ImportUserListResponse.html":{}}}],["paginationresponse:74",{"_index":21511,"title":{},"body":{"classes/TaskListResponse.html":{}}}],["paginationresponse:91",{"_index":7120,"title":{},"body":{"classes/CopyFileListResponse.html":{}}}],["pair",{"_index":2826,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["pairwise",{"_index":10979,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{},"classes/OauthClientBody.html":{}}}],["papaparse",{"_index":24530,"title":{},"body":{"dependencies.html":{}}}],["paper",{"_index":25197,"title":{},"body":{"license.html":{}}}],["paragraph",{"_index":24999,"title":{},"body":{"license.html":{}}}],["paragraphs",{"_index":25070,"title":{},"body":{"license.html":{}}}],["parallel",{"_index":25778,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["param",{"_index":388,"title":{},"body":{"controllers/AccountController.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"injectables/BBBService.html":{},"classes/BaseFactory.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"injectables/BsonConverter.html":{},"controllers/CardController.html":{},"interfaces/CleanOptions.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"controllers/ColumnController.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ContextExternalToolFactory.html":{},"controllers/CourseController.html":{},"controllers/DashboardController.html":{},"controllers/DatabaseManagementController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesStorageClientAdapterService.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/GroupController.html":{},"classes/GuardAgainst.html":{},"controllers/H5PEditorController.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"controllers/ImportUserController.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"controllers/LessonController.html":{},"interfaces/MigrationOptions.html":{},"controllers/NewsController.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"injectables/PermissionService.html":{},"controllers/PseudonymController.html":{},"interfaces/RetryOptions.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"controllers/SystemController.html":{},"controllers/TaskController.html":{},"injectables/TaskRepo.html":{},"injectables/TeamMapper.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamPermissionsMapper.html":{},"injectables/TeamsRepo.html":{},"controllers/TldrawController.html":{},"injectables/TldrawWsService.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/WsSharedDocDo.html":{}}}],["param('file",{"_index":13163,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["param('oauthclientid",{"_index":17470,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["param('scope",{"_index":24162,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["param('scopeid",{"_index":24163,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["param('token",{"_index":11961,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["param)).rejects.tothrow(badrequestexception",{"_index":25722,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["param)).tothrow(badrequestexception",{"_index":25720,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["param.builder.ts",{"_index":7206,"title":{},"body":{"classes/CopyFilesOfParentParamBuilder.html":{},"classes/FileParamBuilder.html":{}}}],["param.builder.ts:6",{"_index":7209,"title":{},"body":{"classes/CopyFilesOfParentParamBuilder.html":{},"classes/FileParamBuilder.html":{}}}],["param.default",{"_index":10488,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{}}}],["param.description",{"_index":10695,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["param.displayname",{"_index":10478,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/MissingToolParameterValueLoggableException.html":{}}}],["param.isoptional",{"_index":6148,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolVersionIncrementService.html":{}}}],["param.location",{"_index":10697,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["param.name",{"_index":6142,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/MissingToolParameterValueLoggableException.html":{}}}],["param.regex",{"_index":6155,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolVersionIncrementService.html":{}}}],["param.regexcomment",{"_index":10696,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["param.scope",{"_index":6121,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolVersionIncrementService.html":{}}}],["param.type",{"_index":6154,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolVersionIncrementService.html":{}}}],["paramdisplayat",{"_index":16639,"title":{},"body":{"injectables/NewsUc.html":{}}}],["parameter",{"_index":417,"title":{},"body":{"controllers/AccountController.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"injectables/ExternalToolConfigurationService.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"classes/LoginResponse-1.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthClientBody.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolResponse.html":{},"modules/ToolLaunchModule.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["parameter.do.ts",{"_index":8134,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:10",{"_index":8137,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:12",{"_index":8142,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:14",{"_index":8143,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:16",{"_index":8144,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:18",{"_index":8140,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:20",{"_index":8145,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:22",{"_index":8136,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:4",{"_index":8141,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:6",{"_index":8139,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:8",{"_index":8138,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.entity.ts",{"_index":8161,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:10",{"_index":8165,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:13",{"_index":8164,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:16",{"_index":8163,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:19",{"_index":8168,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:22",{"_index":8169,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:25",{"_index":8170,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:28",{"_index":8166,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:31",{"_index":8171,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:34",{"_index":8162,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:7",{"_index":8167,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.isoptional",{"_index":11123,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["parameter.name",{"_index":11126,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["parameter.params",{"_index":10191,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["parameter.params.ts",{"_index":8251,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:13",{"_index":8261,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:18",{"_index":8255,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:23",{"_index":8253,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:28",{"_index":8252,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:33",{"_index":8262,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:38",{"_index":8263,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:42",{"_index":8266,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:46",{"_index":8260,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:50",{"_index":8269,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:54",{"_index":8257,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.response",{"_index":6706,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["parameter.response.ts",{"_index":8274,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:10",{"_index":8280,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:13",{"_index":8278,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:16",{"_index":8277,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:19",{"_index":8276,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:22",{"_index":8281,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:25",{"_index":8282,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:28",{"_index":8283,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:31",{"_index":8279,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:34",{"_index":8284,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:37",{"_index":8275,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.scope",{"_index":10110,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["parameter.strategy",{"_index":2010,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{}}}],["parameter.strategy.ts",{"_index":2056,"title":{},"body":{"interfaces/AutoParameterStrategy.html":{}}}],["parameter.strategy.ts:5",{"_index":2057,"title":{},"body":{"interfaces/AutoParameterStrategy.html":{}}}],["parameter/custom",{"_index":8160,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter_type_not_implemented",{"_index":17713,"title":{},"body":{"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["parameterkeys",{"_index":16338,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["parameternames",{"_index":16340,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["parameternames.join",{"_index":16343,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["parameters",{"_index":29,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerTestModule.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"injectables/ClassService.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/ConsoleWriterService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"classes/County.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigEntity.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FilePermissionEntity.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"classes/GroupUserResponse.html":{},"classes/GroupValidPeriodEntity.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/H5pFileDto.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/ILegacyLogger.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/LtiRoleMapper.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"modules/MailModule.html":{},"injectables/MailService.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"classes/ProvisioningDto.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"controllers/PseudonymController.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RichText.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"modules/RocketChatModule.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/ScanResultDto.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.html":{},"classes/ScopeRef.html":{},"classes/ServerConsole.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SortHelper.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionMapper.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionsResponse.html":{},"classes/SuccessfulResponse.html":{},"injectables/SymetricKeyEncryptionService.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"controllers/TldrawController.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"interfaces/UrlHandler.html":{},"classes/UserAndAccountTestFactory.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParentsEntity.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["parameters.'})@apiresponse({status",{"_index":24024,"title":{},"body":{"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["parameters.map((param",{"_index":16339,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["parametersforscope",{"_index":6090,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["parametersforscope.find",{"_index":6138,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["parameterstoinclude",{"_index":2780,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["parametertype",{"_index":17712,"title":{},"body":{"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["parametertypenotimplementedloggableexception",{"_index":2036,"title":{"classes/ParameterTypeNotImplementedLoggableException.html":{}},"body":{"injectables/AutoContextNameStrategy.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["params",{"_index":326,"title":{},"body":{"controllers/AccountController.html":{},"classes/AccountFactory.html":{},"interfaces/AccountParams.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/BBBService.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoCopyService.html":{},"injectables/CalendarService.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CopyMapper.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"controllers/DashboardController.html":{},"injectables/DashboardUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolRequestMapper.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileRecordFactory.html":{},"classes/FilesStorageMapper.html":{},"controllers/FwuLearningContentsController.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/GlobalValidationPipe.html":{},"controllers/GroupController.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/ILegacyLogger.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/JwtTestFactory.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"controllers/NewsController.html":{},"classes/NewsMapper.html":{},"injectables/NewsUc.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"controllers/OauthProviderController.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewBuilder.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{},"controllers/PseudonymController.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/RocketChatUserFactory.html":{},"controllers/RoomsController.html":{},"injectables/S3ClientAdapter.html":{},"classes/SaveH5PEditorParams.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"controllers/SystemController.html":{},"classes/SystemEntityFactory.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"classes/TaskFactory.html":{},"classes/TaskMapper.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/TestApiClient.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"interfaces/ToolLaunchStrategy.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"controllers/UserController.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserUc.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["params(params",{"_index":564,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["params.append('event",{"_index":4305,"title":{},"body":{"injectables/CalendarService.html":{}}}],["params.append(key",{"_index":2424,"title":{},"body":{"injectables/BBBService.html":{}}}],["params.availabledate",{"_index":21550,"title":{},"body":{"classes/TaskMapper.html":{}}}],["params.challenge",{"_index":17297,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["params.client",{"_index":17319,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["params.client_name",{"_index":17282,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["params.clientid",{"_index":10802,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["params.confirmpassword",{"_index":428,"title":{},"body":{"controllers/AccountController.html":{}}}],["params.content",{"_index":16515,"title":{},"body":{"classes/NewsMapper.html":{}}}],["params.contentid",{"_index":13141,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["params.contents",{"_index":15427,"title":{},"body":{"classes/LessonFactory.html":{}}}],["params.contents.foreach((element",{"_index":15428,"title":{},"body":{"classes/LessonFactory.html":{}}}],["params.contextexternaltoolid",{"_index":22645,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{}}}],["params.contextid",{"_index":22638,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolReferenceController.html":{}}}],["params.contexttype",{"_index":22639,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolReferenceController.html":{}}}],["params.copyname",{"_index":21433,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["params.course",{"_index":15426,"title":{},"body":{"classes/LessonFactory.html":{}}}],["params.courseid",{"_index":7342,"title":{},"body":{"classes/CopyMapper.html":{},"classes/TaskMapper.html":{}}}],["params.description",{"_index":21549,"title":{},"body":{"classes/TaskMapper.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["params.displayat",{"_index":16516,"title":{},"body":{"classes/NewsMapper.html":{}}}],["params.dto",{"_index":25454,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["params.duedate",{"_index":21551,"title":{},"body":{"classes/TaskMapper.html":{}}}],["params.elements",{"_index":19172,"title":{},"body":{"controllers/RoomsController.html":{}}}],["params.everyattendeejoinsmuted",{"_index":24169,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{}}}],["params.everybodyjoinsasmoderator",{"_index":24170,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{}}}],["params.externalid",{"_index":15153,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.externaltoolid",{"_index":22775,"title":{},"body":{"controllers/ToolController.html":{}}}],["params.features",{"_index":15154,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.federalstate",{"_index":15167,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.file",{"_index":13154,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["params.filename",{"_index":13161,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["params.filerecordid",{"_index":12263,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["params.files",{"_index":19378,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["params.flagged",{"_index":13892,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["params.from",{"_index":8314,"title":{},"body":{"controllers/DashboardController.html":{}}}],["params.groupid",{"_index":12702,"title":{},"body":{"controllers/GroupController.html":{}}}],["params.hidden",{"_index":15430,"title":{},"body":{"classes/LessonFactory.html":{}}}],["params.id",{"_index":13160,"title":{},"body":{"controllers/H5PEditorController.html":{},"classes/LegacySchoolDo.html":{},"controllers/OauthProviderController.html":{}}}],["params.inmaintenancesince",{"_index":15156,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.interface",{"_index":2787,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"interfaces/ToolLaunchStrategy.html":{}}}],["params.inusermigration",{"_index":15158,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.language",{"_index":13182,"title":{},"body":{"controllers/H5PEditorController.html":{},"injectables/UserUc.html":{}}}],["params.lessonid",{"_index":7343,"title":{},"body":{"classes/CopyMapper.html":{},"classes/TaskMapper.html":{}}}],["params.limit",{"_index":17280,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["params.logouturl",{"_index":24051,"title":{},"body":{"controllers/VideoConferenceController.html":{},"classes/VideoConferenceMapper.html":{}}}],["params.moderatormustapprovejoinrequests",{"_index":24171,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{}}}],["params.name",{"_index":10801,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/LegacySchoolDo.html":{},"classes/TaskMapper.html":{}}}],["params.officialschoolnumber",{"_index":15161,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.offset",{"_index":17281,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["params.originalboard",{"_index":3319,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["params.owner",{"_index":17283,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["params.parenttype",{"_index":20043,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["params.password",{"_index":427,"title":{},"body":{"controllers/AccountController.html":{}}}],["params.previewoptions",{"_index":17889,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["params.previewparams.forceupdate",{"_index":17946,"title":{},"body":{"injectables/PreviewService.html":{}}}],["params.previousexternalid",{"_index":15160,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.pseudonym",{"_index":18164,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["params.schoolexternaltoolid",{"_index":22642,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolSchoolController.html":{}}}],["params.schoolid",{"_index":22635,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["params.schoolyear",{"_index":15162,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.sourceparentid",{"_index":20042,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["params.systemid",{"_index":21057,"title":{},"body":{"controllers/SystemController.html":{}}}],["params.systems",{"_index":15164,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.target",{"_index":16636,"title":{},"body":{"injectables/NewsUc.html":{}}}],["params.targetid",{"_index":16518,"title":{},"body":{"classes/NewsMapper.html":{}}}],["params.targetmodel",{"_index":16517,"title":{},"body":{"classes/NewsMapper.html":{}}}],["params.targetparentid",{"_index":20045,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["params.taskid",{"_index":20743,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["params.title",{"_index":8320,"title":{},"body":{"controllers/DashboardController.html":{},"classes/NewsMapper.html":{}}}],["params.to",{"_index":8315,"title":{},"body":{"controllers/DashboardController.html":{}}}],["params.ts",{"_index":4673,"title":{},"body":{"classes/ClassFilterParams.html":{},"classes/ClassSortParams.html":{},"classes/GroupIdParams.html":{},"classes/PseudonymParams.html":{}}}],["params.ts:7",{"_index":12780,"title":{},"body":{"classes/GroupIdParams.html":{},"classes/PseudonymParams.html":{}}}],["params.ts:9",{"_index":4676,"title":{},"body":{"classes/ClassFilterParams.html":{}}}],["params.userid",{"_index":13888,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["params.userloginmigrationid",{"_index":15166,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.visibility",{"_index":19170,"title":{},"body":{"controllers/RoomsController.html":{}}}],["params?.accountid",{"_index":7939,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["params?.aud",{"_index":7934,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["params?.external_sub",{"_index":7940,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["params?.iss",{"_index":7933,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["params?.privatekey",{"_index":7942,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["params?.sub",{"_index":7931,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["params].ts",{"_index":25513,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["paranoid",{"_index":995,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["parent",{"_index":3633,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/BoardDoService.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"controllers/BoardSubmissionController.html":{},"injectables/CardService.html":{},"injectables/ColumnService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementService.html":{},"classes/ContentMetadata.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"interfaces/FileDO.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParamBuilder.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"classes/LessonCopyApiParams.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"interfaces/ParentInfo.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenUC.html":{},"entities/Task.html":{},"classes/TaskCopyApiParams.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskWithStatusVo.html":{}}}],["parent.addchild(card",{"_index":4481,"title":{},"body":{"injectables/CardService.html":{}}}],["parent.addchild(column",{"_index":5658,"title":{},"body":{"injectables/ColumnService.html":{}}}],["parent.addchild(element",{"_index":6433,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["parent.children.findindex((obj",{"_index":18556,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["parent.children.foreach((child",{"_index":18555,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["parent.email",{"_index":23853,"title":{},"body":{"injectables/UserRepo.html":{}}}],["parent.getstudentids",{"_index":6227,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["parent.getstudentids().length",{"_index":21295,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["parent.id",{"_index":11680,"title":{},"body":{"classes/FileParamBuilder.html":{}}}],["parent.removechild(domainobject",{"_index":3705,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["parentcourseid",{"_index":21464,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["parentdata",{"_index":18522,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["parentdata?.boardnode",{"_index":18530,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["parentdata?.position",{"_index":18531,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["parentemails",{"_index":23932,"title":{},"body":{"injectables/UserService.html":{}}}],["parentid",{"_index":3901,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/ContentMetadata.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto-1.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileUrlParams.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilesStorageMapper.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/ParentInfo.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/SingleFileParams.html":{}}}],["parentids",{"_index":3904,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/TaskRepo.html":{}}}],["parentids.courseids",{"_index":21630,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentids.creatorid",{"_index":21628,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentids.lessonids",{"_index":21632,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentidscope",{"_index":21627,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentidscope.bycourseids(parentids.courseids",{"_index":21631,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentidscope.bylessonids(parentids.lessonids",{"_index":21633,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentidscope.byonlycreatorid(parentids.creatorid",{"_index":21629,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentinfo",{"_index":11744,"title":{"interfaces/ParentInfo.html":{}},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["parentmeetingid",{"_index":2250,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["parentname",{"_index":20351,"title":{},"body":{"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["parentnode",{"_index":18504,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["parentparams",{"_index":13036,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"injectables/LessonCopyUC.html":{},"classes/LumiUserWithContentData.html":{},"injectables/TaskCopyUC.html":{}}}],["parentparams.courseid",{"_index":15396,"title":{},"body":{"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["parentparams.parentid",{"_index":13040,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["parentparams.parenttype",{"_index":13038,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["parentparams.schoolid",{"_index":13041,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["parentpermission",{"_index":15469,"title":{},"body":{"injectables/LessonRule.html":{}}}],["parentpermission(user",{"_index":15481,"title":{},"body":{"injectables/LessonRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["parentpropertypath",{"_index":1399,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["parentrule",{"_index":26036,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["parents",{"_index":5428,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"injectables/TaskRepo.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["parents.entity",{"_index":23143,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["parents.entity.ts",{"_index":23788,"title":{},"body":{"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{}}}],["parents.entity.ts:12",{"_index":23791,"title":{},"body":{"classes/UserParentsEntity.html":{}}}],["parents.entity.ts:15",{"_index":23792,"title":{},"body":{"classes/UserParentsEntity.html":{}}}],["parents.entity.ts:18",{"_index":23790,"title":{},"body":{"classes/UserParentsEntity.html":{}}}],["parentsemails",{"_index":23851,"title":{},"body":{"injectables/UserRepo.html":{}}}],["parentsfinished",{"_index":21594,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentsfinished.bycourseids(parentids.finishedcourseids",{"_index":21595,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentsfinished.bylessonids(parentids.lessonidsoffinishedcourses",{"_index":21596,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentsmap",{"_index":18495,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["parentsopen",{"_index":21591,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentsopen.bycourseids(parentids.opencourseids",{"_index":21592,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentsopen.bylessonids(parentids.lessonidsofopencourses",{"_index":21593,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentsystemid",{"_index":17484,"title":{},"body":{"classes/OidcConfigDto.html":{},"classes/SystemOidcMapper.html":{}}}],["parenttitle",{"_index":16179,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["parenttype",{"_index":6622,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto-1.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileUrlParams.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilesStorageMapper.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"classes/LumiUserWithContentData.html":{},"classes/MetaTagExtractorResponse.html":{},"interfaces/ParentInfo.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RenameFileParams.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenUC.html":{},"classes/SingleFileParams.html":{}}}],["parse",{"_index":13296,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["parsed",{"_index":25581,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["parseobjectidpipe",{"_index":25557,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["parser",{"_index":24459,"title":{},"body":{"dependencies.html":{}}}],["part",{"_index":1918,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"classes/BaseUc.html":{},"injectables/CommonToolValidationService.html":{},"classes/ImportUserScope.html":{},"injectables/ToolPermissionHelper.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["partial",{"_index":127,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"injectables/BoardUrlHandler.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseUrlHandler.html":{},"interfaces/CreateNews.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/IFindOptions.html":{},"interfaces/INewsScope.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"injectables/LessonUrlHandler.html":{},"classes/LtiRoleMapper.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"interfaces/Pagination.html":{},"classes/RocketChatUserFactory.html":{},"injectables/SanisResponseMapper.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"injectables/TaskUrlHandler.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["partialfilterexpression",{"_index":13817,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["partialtype",{"_index":23105,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["participantcount",{"_index":2310,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["particular",{"_index":21664,"title":{},"body":{"injectables/TaskRepo.html":{},"license.html":{}}}],["parties",{"_index":24740,"title":{},"body":{"license.html":{}}}],["parts",{"_index":24781,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["party",{"_index":24897,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["party's",{"_index":25038,"title":{},"body":{"license.html":{}}}],["pascalcase",{"_index":25542,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["pass",{"_index":807,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/GlobalValidationPipe.html":{},"injectables/TaskUC.html":{},"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["passed",{"_index":537,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["passing",{"_index":25995,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["passport",{"_index":14284,"title":{},"body":{"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/Oauth2Strategy.html":{},"injectables/XApiKeyStrategy.html":{},"dependencies.html":{}}}],["passportmodule",{"_index":1544,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["passportstrategy",{"_index":14293,"title":{},"body":{"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/Oauth2Strategy.html":{},"injectables/XApiKeyStrategy.html":{}}}],["passportstrategy(strategy",{"_index":14288,"title":{},"body":{"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/Oauth2Strategy.html":{},"injectables/XApiKeyStrategy.html":{}}}],["passthrough",{"_index":7545,"title":{},"body":{"controllers/CourseController.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorService.html":{}}}],["password",{"_index":87,"title":{},"body":{"classes/AbstractAccountService.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"interfaces/IKeycloakSettings.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"interfaces/JsonAccount.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAuthorizationBodyParams.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/TestApiClient.html":{},"modules/TldrawModule.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["password.'})@apiresponse({status",{"_index":362,"title":{},"body":{"controllers/AccountController.html":{}}}],["password.params.ts",{"_index":17733,"title":{},"body":{"classes/PatchMyPasswordParams.html":{}}}],["password.params.ts:15",{"_index":17738,"title":{},"body":{"classes/PatchMyPasswordParams.html":{}}}],["password.params.ts:25",{"_index":17737,"title":{},"body":{"classes/PatchMyPasswordParams.html":{}}}],["password.trim",{"_index":1754,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["passwordnew",{"_index":17722,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["passwordold",{"_index":17723,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["passwordpattern",{"_index":303,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountSaveDto.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{}}}],["passwordpolicy",{"_index":14411,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["past",{"_index":7770,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["paste",{"_index":25799,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["patch",{"_index":389,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/DashboardController.html":{},"controllers/ElementController.html":{},"controllers/ImportUserController.html":{},"controllers/NewsController.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"controllers/RoomsController.html":{},"controllers/TaskController.html":{},"classes/TestApiClient.html":{},"controllers/UserController.html":{}}}],["patch('/language",{"_index":23187,"title":{},"body":{"controllers/UserController.html":{}}}],["patch(':boardid/title",{"_index":3242,"title":{},"body":{"controllers/BoardController.html":{}}}],["patch(':cardid/height",{"_index":4390,"title":{},"body":{"controllers/CardController.html":{}}}],["patch(':cardid/title",{"_index":4393,"title":{},"body":{"controllers/CardController.html":{}}}],["patch(':columnid/title",{"_index":5621,"title":{},"body":{"controllers/ColumnController.html":{}}}],["patch(':contentelementid/content",{"_index":9737,"title":{},"body":{"controllers/ElementController.html":{}}}],["patch(':dashboardid/element",{"_index":8300,"title":{},"body":{"controllers/DashboardController.html":{}}}],["patch(':dashboardid/moveelement",{"_index":8295,"title":{},"body":{"controllers/DashboardController.html":{}}}],["patch(':id",{"_index":421,"title":{},"body":{"controllers/AccountController.html":{}}}],["patch(':id')@apioperation({summary",{"_index":380,"title":{},"body":{"controllers/AccountController.html":{}}}],["patch(':importuserid/flag",{"_index":13860,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["patch(':importuserid/match",{"_index":13852,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["patch(':newsid",{"_index":16422,"title":{},"body":{"controllers/NewsController.html":{}}}],["patch(':roomid/board/order",{"_index":19157,"title":{},"body":{"controllers/RoomsController.html":{}}}],["patch(':roomid/elements/:elementid/visibility",{"_index":19154,"title":{},"body":{"controllers/RoomsController.html":{}}}],["patch(':submissionitemid",{"_index":4050,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["patch(':taskid/finish",{"_index":21378,"title":{},"body":{"controllers/TaskController.html":{}}}],["patch(':taskid/restore",{"_index":21381,"title":{},"body":{"controllers/TaskController.html":{}}}],["patch(':taskid/revertpublished",{"_index":21384,"title":{},"body":{"controllers/TaskController.html":{}}}],["patch('consentrequest/:challenge",{"_index":17308,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["patch('loginrequest/:challenge",{"_index":17295,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["patch('logoutrequest/:challenge",{"_index":17299,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["patch('me",{"_index":418,"title":{},"body":{"controllers/AccountController.html":{}}}],["patch('me')@apioperation({summary",{"_index":384,"title":{},"body":{"controllers/AccountController.html":{}}}],["patch('me/password",{"_index":425,"title":{},"body":{"controllers/AccountController.html":{}}}],["patch('me/password')@apioperation({summary",{"_index":355,"title":{},"body":{"controllers/AccountController.html":{}}}],["patch('team/:teamid/role/:roleid/permissions",{"_index":5081,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["patch('team/:teamid/role/:roleid/permissions')@apiresponse({status",{"_index":5061,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["patch(path",{"_index":1649,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["patch(subpath",{"_index":1648,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["patchconsentrequest",{"_index":17185,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{}}}],["patchconsentrequest(challenge",{"_index":17193,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["patchconsentrequest(params",{"_index":17249,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["patchelementvisibility",{"_index":19142,"title":{},"body":{"controllers/RoomsController.html":{}}}],["patchelementvisibility(urlparams",{"_index":19153,"title":{},"body":{"controllers/RoomsController.html":{}}}],["patchgroup",{"_index":8290,"title":{},"body":{"controllers/DashboardController.html":{}}}],["patchgroup(urlparams",{"_index":8297,"title":{},"body":{"controllers/DashboardController.html":{}}}],["patchgroupparams",{"_index":8299,"title":{"classes/PatchGroupParams.html":{}},"body":{"controllers/DashboardController.html":{},"classes/PatchGroupParams.html":{}}}],["patching",{"_index":17718,"title":{},"body":{"classes/PatchGroupParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{}}}],["patchlanguage",{"_index":23876,"title":{},"body":{"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["patchlanguage(userid",{"_index":23896,"title":{},"body":{"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["patchloginrequest",{"_index":17225,"title":{},"body":{"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["patchloginrequest(currentuserid",{"_index":17348,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["patchloginrequest(params",{"_index":17252,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["patchmyaccountparams",{"_index":383,"title":{"classes/PatchMyAccountParams.html":{}},"body":{"controllers/AccountController.html":{},"classes/PatchMyAccountParams.html":{}}}],["patchmypasswordparams",{"_index":354,"title":{"classes/PatchMyPasswordParams.html":{}},"body":{"controllers/AccountController.html":{},"classes/PatchMyPasswordParams.html":{}}}],["patchorderingofelements",{"_index":19143,"title":{},"body":{"controllers/RoomsController.html":{}}}],["patchorderingofelements(urlparams",{"_index":19156,"title":{},"body":{"controllers/RoomsController.html":{}}}],["patchorderparams",{"_index":17739,"title":{"classes/PatchOrderParams.html":{}},"body":{"classes/PatchOrderParams.html":{},"controllers/RoomsController.html":{}}}],["patchversion",{"_index":11593,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/Path.html":{}}}],["patchvisibilityparams",{"_index":17744,"title":{"classes/PatchVisibilityParams.html":{}},"body":{"classes/PatchVisibilityParams.html":{},"controllers/RoomsController.html":{}}}],["patent",{"_index":24998,"title":{},"body":{"license.html":{}}}],["patents",{"_index":25056,"title":{},"body":{"license.html":{}}}],["path",{"_index":414,"title":{"classes/Path.html":{}},"body":{"controllers/AccountController.html":{},"injectables/AntivirusService.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/BatchDeletionUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/CalendarService.html":{},"interfaces/CollectionFilePath.html":{},"interfaces/CopyFiles.html":{},"classes/DeletionQueueConsole.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersServiceProvider.html":{},"interfaces/File.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"injectables/FileSystemAdapter.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"entities/H5pEditorTempFile.html":{},"injectables/HydraSsoService.html":{},"entities/InstalledLibrary.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/LibraryName.html":{},"interfaces/ListFiles.html":{},"injectables/MetaTagExtractorService.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["path.join(...paths",{"_index":12050,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["path.parse(this.name",{"_index":11805,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["path.replace(':token",{"_index":1346,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["path.slice(1",{"_index":1668,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["path.targetpath",{"_index":19370,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["path_separator",{"_index":3888,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["pathobjects",{"_index":19373,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["pathobjects.filter((p",{"_index":19398,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["pathofchildren",{"_index":3906,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["pathproperties",{"_index":2759,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["pathqueries",{"_index":3930,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["pathqueries.length",{"_index":3932,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["paths",{"_index":5215,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/FileSystemAdapter.html":{},"controllers/H5PEditorController.html":{},"injectables/PreviewService.html":{},"injectables/S3ClientAdapter.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["paths.join",{"_index":19359,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["paths.map((p",{"_index":19374,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["paths.map((path",{"_index":17942,"title":{},"body":{"injectables/PreviewService.html":{},"injectables/S3ClientAdapter.html":{}}}],["paths.map(async",{"_index":19367,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["pathtofile",{"_index":17875,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["path}${id}${path_separator",{"_index":3912,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["pattern",{"_index":304,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountSaveDto.html":{},"classes/BoardContextResponse.html":{},"classes/BoardResponse.html":{},"classes/CardResponse.html":{},"classes/CardSkeletonResponse.html":{},"classes/ColumnResponse.html":{},"entities/Course.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"classes/CreateNewsParams.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FilterNewsParams.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"injectables/LdapStrategy.html":{},"classes/LessonCopyApiParams.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/SchoolInfoResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionItemResponse.html":{},"classes/TargetInfoResponse.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/UserInfoResponse.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["pattern.a",{"_index":25628,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["pattern.exec(url",{"_index":139,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["pattern.test(firstchar",{"_index":7507,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["pattern.test(url",{"_index":151,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["pattern_login_from_dn",{"_index":13809,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["patterns",{"_index":114,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["payload",{"_index":1723,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/BasicToolLaunchStrategy.html":{},"classes/CurrentUserMapper.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"injectables/JwtStrategy.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/RpcMessageProducer.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenPayloadResponse.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/SubmissionItemService.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["payload.'})@apiresponse({status",{"_index":20289,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["payload.completed",{"_index":20840,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["payload.parentid",{"_index":20374,"title":{},"body":{"classes/ShareTokenPayloadResponse.html":{},"injectables/ShareTokenUC.html":{}}}],["payload.parenttype",{"_index":20373,"title":{},"body":{"classes/ShareTokenPayloadResponse.html":{},"injectables/ShareTokenUC.html":{}}}],["payload.response",{"_index":20403,"title":{},"body":{"classes/ShareTokenResponse.html":{}}}],["payload.response.ts",{"_index":20368,"title":{},"body":{"classes/ShareTokenPayloadResponse.html":{}}}],["payload.response.ts:11",{"_index":20372,"title":{},"body":{"classes/ShareTokenPayloadResponse.html":{}}}],["payload.response.ts:14",{"_index":20371,"title":{},"body":{"classes/ShareTokenPayloadResponse.html":{}}}],["payload.response.ts:4",{"_index":20370,"title":{},"body":{"classes/ShareTokenPayloadResponse.html":{}}}],["payload.ts",{"_index":7944,"title":{},"body":{"interfaces/CreateJwtPayload.html":{},"interfaces/JwtPayload.html":{}}}],["payload[property.name",{"_index":2793,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["payment",{"_index":25099,"title":{},"body":{"license.html":{}}}],["peer",{"_index":24905,"title":{},"body":{"license.html":{}}}],["peers",{"_index":24908,"title":{},"body":{"license.html":{}}}],["pem",{"_index":7924,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["pending",{"_index":7091,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["per",{"_index":4898,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"injectables/ElementUc.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["perf_hooks",{"_index":19961,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["perfectly",{"_index":25683,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["performance",{"_index":19960,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["performance.now",{"_index":2906,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"injectables/SchoolMigrationService.html":{}}}],["performed",{"_index":9033,"title":{},"body":{"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"controllers/DeletionRequestsController.html":{}}}],["performedat",{"_index":9089,"title":{},"body":{"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{}}}],["performing",{"_index":16456,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{},"license.html":{}}}],["period",{"_index":23431,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["period.entity",{"_index":12771,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["period.entity.ts",{"_index":12983,"title":{},"body":{"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["period.entity.ts:12",{"_index":12986,"title":{},"body":{"classes/GroupValidPeriodEntity.html":{}}}],["period.entity.ts:15",{"_index":12985,"title":{},"body":{"classes/GroupValidPeriodEntity.html":{}}}],["permanently",{"_index":25007,"title":{},"body":{"license.html":{}}}],["permission",{"_index":693,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/BaseUc.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"entities/CourseNews.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DtoCreator.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolUc.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonUC.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsUc.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"interfaces/RoleProperties.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/SchoolExternalToolUc.html":{},"entities/SchoolNews.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SubmissionUc.html":{},"injectables/SystemUc.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRule.html":{},"injectables/TaskUC.html":{},"entities/TeamNews.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"modules/ToolApiModule.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceUc.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserFactory.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["permission'})@apiresponse({status",{"_index":5067,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["permission(s",{"_index":25997,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["permission.course_create",{"_index":20493,"title":{},"body":{"injectables/ShareTokenUC.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["permission.course_edit",{"_index":26027,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["permission.course_view",{"_index":9647,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["permission.create_user",{"_index":26012,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["permission.entity",{"_index":11520,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["permission.entity.ts",{"_index":11684,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["permission.entity.ts:18",{"_index":11691,"title":{},"body":{"classes/FilePermissionEntity.html":{}}}],["permission.entity.ts:21",{"_index":11693,"title":{},"body":{"classes/FilePermissionEntity.html":{}}}],["permission.entity.ts:24",{"_index":11694,"title":{},"body":{"classes/FilePermissionEntity.html":{}}}],["permission.entity.ts:27",{"_index":11690,"title":{},"body":{"classes/FilePermissionEntity.html":{}}}],["permission.entity.ts:30",{"_index":11689,"title":{},"body":{"classes/FilePermissionEntity.html":{}}}],["permission.entity.ts:33",{"_index":11688,"title":{},"body":{"classes/FilePermissionEntity.html":{}}}],["permission.enum",{"_index":26055,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["permission.homework_create",{"_index":20495,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["permission.includes('news",{"_index":16672,"title":{},"body":{"injectables/NewsUc.html":{}}}],["permission.join_meeting",{"_index":24258,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["permission.news_create",{"_index":16638,"title":{},"body":{"injectables/NewsUc.html":{}}}],["permission.news_edit",{"_index":16634,"title":{},"body":{"injectables/NewsUc.html":{}}}],["permission.news_view",{"_index":16633,"title":{},"body":{"injectables/NewsUc.html":{}}}],["permission.nextcloud_user",{"_index":17366,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["permission.oauth_client_edit",{"_index":17175,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["permission.oauth_client_view",{"_index":17172,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["permission.refid.equals(refobjectid",{"_index":11541,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["permission.school_create",{"_index":26008,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["permission.start_meeting",{"_index":24257,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["permission.task_dashboard_teacher_view_v3",{"_index":21786,"title":{},"body":{"injectables/TaskUC.html":{}}}],["permission.task_dashboard_view_v3",{"_index":21787,"title":{},"body":{"injectables/TaskUC.html":{}}}],["permission.tool_admin",{"_index":10143,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolUc.html":{}}}],["permission.topic_create",{"_index":20494,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["permission.topic_edit",{"_index":15536,"title":{},"body":{"injectables/LessonUC.html":{}}}],["permission.topic_view",{"_index":15535,"title":{},"body":{"injectables/LessonUC.html":{}}}],["permission.user_login_migration_admin",{"_index":23690,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["permissioncontext",{"_index":20978,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["permissioncontexts.create",{"_index":26005,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["permissionmapper",{"_index":5145,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["permissionmapping",{"_index":24184,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["permissionmapping[bbbrole",{"_index":24190,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["permissionmapping[role",{"_index":24241,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["permissionrefid",{"_index":12078,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["permissions",{"_index":1826,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"entities/CourseNews.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesRepo.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"injectables/PermissionService.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/TeamNews.html":{},"classes/TeamRolePermissionsDto.html":{},"entities/User.html":{},"controllers/UserController.html":{},"classes/UserFactory.html":{},"interfaces/UserProperties.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["permissions(+share",{"_index":5069,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["permissions.body.params",{"_index":5075,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["permissions.body.params.ts",{"_index":21917,"title":{},"body":{"classes/TeamPermissionsBody.html":{}}}],["permissions.body.params.ts:11",{"_index":21922,"title":{},"body":{"classes/TeamPermissionsBody.html":{}}}],["permissions.body.params.ts:15",{"_index":21918,"title":{},"body":{"classes/TeamPermissionsBody.html":{}}}],["permissions.body.params.ts:19",{"_index":21919,"title":{},"body":{"classes/TeamPermissionsBody.html":{}}}],["permissions.body.params.ts:23",{"_index":21921,"title":{},"body":{"classes/TeamPermissionsBody.html":{}}}],["permissions.body.params.ts:7",{"_index":21920,"title":{},"body":{"classes/TeamPermissionsBody.html":{}}}],["permissions.create",{"_index":5028,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["permissions.delete",{"_index":5029,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["permissions.dto",{"_index":4999,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["permissions.dto.ts",{"_index":21923,"title":{},"body":{"classes/TeamPermissionsDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["permissions.dto.ts:10",{"_index":21924,"title":{},"body":{"classes/TeamPermissionsDto.html":{}}}],["permissions.dto.ts:2",{"_index":21927,"title":{},"body":{"classes/TeamPermissionsDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["permissions.dto.ts:4",{"_index":21928,"title":{},"body":{"classes/TeamPermissionsDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["permissions.dto.ts:6",{"_index":21925,"title":{},"body":{"classes/TeamPermissionsDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["permissions.dto.ts:8",{"_index":21926,"title":{},"body":{"classes/TeamPermissionsDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["permissions.every((p",{"_index":11217,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["permissions.filter((permission",{"_index":16671,"title":{},"body":{"injectables/NewsUc.html":{}}}],["permissions.includes(p",{"_index":1828,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["permissions.length",{"_index":11212,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["permissions.mapper",{"_index":5156,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["permissions.mapper.ts",{"_index":21931,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["permissions.mapper.ts:12",{"_index":21934,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["permissions.read",{"_index":5026,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["permissions.refid",{"_index":11525,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["permissions.share",{"_index":5030,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["permissions.write",{"_index":5027,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["permissionsbody",{"_index":5059,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["permissionsdto",{"_index":5151,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["permissionservice",{"_index":267,"title":{"injectables/PermissionService.html":{}},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"injectables/PermissionService.html":{}}}],["permissive",{"_index":24839,"title":{},"body":{"license.html":{}}}],["permit",{"_index":24869,"title":{},"body":{"license.html":{}}}],["permits",{"_index":24692,"title":{},"body":{"license.html":{}}}],["permitted",{"_index":24643,"title":{},"body":{"license.html":{}}}],["permittedcourses",{"_index":21821,"title":{},"body":{"injectables/TaskUC.html":{}}}],["permittedlessons",{"_index":21837,"title":{},"body":{"injectables/TaskUC.html":{}}}],["permittedmatch",{"_index":23817,"title":{},"body":{"injectables/UserRepo.html":{}}}],["permittedsubmissions",{"_index":20973,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["perpetuity",{"_index":24946,"title":{},"body":{"license.html":{}}}],["persist",{"_index":5311,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"interfaces/CustomLtiProperty.html":{},"injectables/DashboardRepo.html":{},"entities/LtiTool.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["persist(entity",{"_index":8660,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["persistandflush",{"_index":8654,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["persistandflush(entity",{"_index":8662,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["persisted",{"_index":14857,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{},"injectables/TldrawWsService.html":{}}}],["persistedstatevector",{"_index":22265,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["persistedydoc",{"_index":22263,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["persistedydoc.destroy",{"_index":22272,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["persistence",{"_index":22420,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["persistence_",{"_index":22445,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["persistent",{"_index":1342,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["persitence",{"_index":22443,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["person",{"_index":19465,"title":{},"body":{"classes/SanisPersonResponse.html":{},"classes/SanisResponse.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["personal",{"_index":24916,"title":{},"body":{"license.html":{}}}],["personenkontext",{"_index":19467,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{}}}],["personenkontexte",{"_index":19538,"title":{},"body":{"classes/SanisResponse.html":{}}}],["perspective",{"_index":25979,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["pertinent",{"_index":25117,"title":{},"body":{"license.html":{}}}],["php",{"_index":11604,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["physical",{"_index":24875,"title":{},"body":{"license.html":{}}}],["physically",{"_index":24887,"title":{},"body":{"license.html":{}}}],["pickimage",{"_index":16194,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["pickimage(images",{"_index":16203,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["pid",{"_index":19539,"title":{},"body":{"classes/SanisResponse.html":{}}}],["piece",{"_index":25406,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["pieces",{"_index":24666,"title":{},"body":{"license.html":{}}}],["pilot",{"_index":23747,"title":{},"body":{"classes/UserMigrationIsNotEnabled.html":{}}}],["pin",{"_index":8935,"title":{},"body":{"modules/DeletionApiModule.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{}}}],["pin.entity.ts",{"_index":18656,"title":{},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{}}}],["pin.entity.ts:18",{"_index":18658,"title":{},"body":{"entities/RegistrationPinEntity.html":{}}}],["pin.entity.ts:21",{"_index":18660,"title":{},"body":{"entities/RegistrationPinEntity.html":{}}}],["pin.entity.ts:24",{"_index":18662,"title":{},"body":{"entities/RegistrationPinEntity.html":{}}}],["pin.entity.ts:28",{"_index":18659,"title":{},"body":{"entities/RegistrationPinEntity.html":{}}}],["pin.module.ts",{"_index":18678,"title":{},"body":{"modules/RegistrationPinModule.html":{}}}],["pin.repo.ts",{"_index":18680,"title":{},"body":{"injectables/RegistrationPinRepo.html":{}}}],["pin.repo.ts:6",{"_index":18682,"title":{},"body":{"injectables/RegistrationPinRepo.html":{}}}],["pin.repo.ts:9",{"_index":18684,"title":{},"body":{"injectables/RegistrationPinRepo.html":{}}}],["pin.service.ts",{"_index":18687,"title":{},"body":{"injectables/RegistrationPinService.html":{}}}],["pin.service.ts:5",{"_index":18689,"title":{},"body":{"injectables/RegistrationPinService.html":{}}}],["pin.service.ts:8",{"_index":18690,"title":{},"body":{"injectables/RegistrationPinService.html":{}}}],["pin/entity/registration",{"_index":18655,"title":{},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{}}}],["pin/registration",{"_index":18677,"title":{},"body":{"modules/RegistrationPinModule.html":{}}}],["pin/repo/registration",{"_index":18679,"title":{},"body":{"injectables/RegistrationPinRepo.html":{}}}],["pin/service/registration",{"_index":18686,"title":{},"body":{"injectables/RegistrationPinService.html":{}}}],["pinginterval",{"_index":22521,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["pingtimeout",{"_index":22421,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["pipe",{"_index":1172,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/GlobalValidationPipe.html":{},"controllers/H5PEditorController.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["pipe.ts",{"_index":1210,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["pipe.ts:18",{"_index":1229,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["pipe/global",{"_index":23964,"title":{},"body":{"modules/ValidationModule.html":{}}}],["pipeline",{"_index":12086,"title":{},"body":{"injectables/FilesRepo.html":{},"injectables/LessonRepo.html":{},"injectables/UserRepo.html":{}}}],["pipeline.push",{"_index":23841,"title":{},"body":{"injectables/UserRepo.html":{}}}],["pipes",{"_index":25530,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["pipetransform",{"_index":1230,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["pkcs1",{"_index":7923,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["place",{"_index":21657,"title":{},"body":{"injectables/TaskRepo.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolPermissionHelper.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["placeholder",{"_index":5187,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["placeholder.length",{"_index":5349,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["placeholders",{"_index":5379,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"additional-documentation/nestjs-application.html":{}}}],["placeholdervalue",{"_index":5355,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["places",{"_index":25441,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["plain",{"_index":4185,"title":{},"body":{"injectables/BsonConverter.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"injectables/SymetricKeyEncryptionService.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["plaintextcontent",{"_index":1452,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["plaintextmailcontent",{"_index":1450,"title":{"interfaces/PlainTextMailContent.html":{}},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["plaintoclass",{"_index":1231,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/FilesStorageMapper.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["plaintoclass(contentbodyparams",{"_index":1241,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["plaintoclass(filerecordparams",{"_index":12264,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["plaintoclass(librariesbodyparams",{"_index":1239,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["plaintoclass(libraryparametersbodyparams",{"_index":1243,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["plaintoclass(sanisresponse",{"_index":19512,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["planned",{"_index":9447,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["player",{"_index":11608,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["please",{"_index":2532,"title":{},"body":{"injectables/BaseDORepo.html":{},"entities/Board.html":{},"classes/BoardElementResponse.html":{},"classes/BoardManagementConsole.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"injectables/FeathersRosterService.html":{},"injectables/FileRecordRepo.html":{},"injectables/NextcloudStrategy.html":{},"injectables/PermissionService.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["plumbing",{"_index":25804,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["plus",{"_index":25042,"title":{},"body":{"license.html":{}}}],["png",{"_index":10365,"title":{},"body":{"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ReadableStreamWithFileTypeImp.html":{}}}],["point",{"_index":7968,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["pointer",{"_index":25192,"title":{},"body":{"license.html":{}}}],["pointing",{"_index":3329,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["policy",{"_index":26075,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["pongreceived",{"_index":22520,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["pool",{"_index":24560,"title":{},"body":{"dependencies.html":{}}}],["populate",{"_index":5104,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/FilesRepo.html":{},"injectables/NewsRepo.html":{},"injectables/PermissionService.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["populate(tasks",{"_index":21577,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["populateboard",{"_index":3955,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["populateboard(board",{"_index":3963,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["populated",{"_index":3720,"title":{},"body":{"entities/BoardElement.html":{},"entities/Course.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["populatereferences",{"_index":20886,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["populatereferences(submissions",{"_index":20894,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["populateroles",{"_index":22008,"title":{},"body":{"injectables/TeamsRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["populateroles(roles",{"_index":22010,"title":{},"body":{"injectables/TeamsRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["port",{"_index":1283,"title":{},"body":{"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"modules/FilesStorageModule.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"interfaces/ScanResult.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["portion",{"_index":24912,"title":{},"body":{"license.html":{}}}],["pos",{"_index":1660,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/BoardCopyService.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardModelMapper.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["pos.x",{"_index":8416,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["pos.y",{"_index":8419,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["position",{"_index":3057,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"classes/LinkElement.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["position.groupindex",{"_index":8462,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["position.x",{"_index":8551,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["position.y",{"_index":8552,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["positionfromgridindex",{"_index":8334,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["positionfromgridindex(index",{"_index":8369,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["possesses",{"_index":24884,"title":{},"body":{"license.html":{}}}],["possession",{"_index":24854,"title":{},"body":{"license.html":{}}}],["possibility",{"_index":25172,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["possible",{"_index":2630,"title":{},"body":{"injectables/BaseRepo.html":{},"classes/BoardElementResponse.html":{},"modules/BoardModule.html":{},"classes/SchoolInMigrationLoggableException.html":{},"controllers/SystemController.html":{},"injectables/TldrawWsService.html":{},"controllers/UserLoginMigrationController.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["post",{"_index":3223,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DeletionClient.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/H5PEditorController.html":{},"controllers/ImportUserController.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"controllers/KeycloakManagementController.html":{},"controllers/LoginController.html":{},"injectables/Lti11EncryptionService.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/NewsController.html":{},"controllers/OauthProviderController.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"classes/ToolLaunchRequestResponse.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["post('/:externaltoolid",{"_index":22777,"title":{},"body":{"controllers/ToolController.html":{}}}],["post('/:externaltoolid')@apiokresponse({description",{"_index":22757,"title":{},"body":{"controllers/ToolController.html":{}}}],["post('/delete/:contentid",{"_index":13086,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["post('/edit",{"_index":13188,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["post('/edit')@apiresponse({status",{"_index":13083,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["post('/edit/:contentid",{"_index":13199,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["post('/edit/:contentid')@apiresponse({status",{"_index":13121,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["post(':boardid/columns",{"_index":3248,"title":{},"body":{"controllers/BoardController.html":{}}}],["post(':cardid/elements",{"_index":4402,"title":{},"body":{"controllers/CardController.html":{}}}],["post(':columnid/cards",{"_index":5626,"title":{},"body":{"controllers/ColumnController.html":{}}}],["post(':contentelementid/submissions",{"_index":9743,"title":{},"body":{"controllers/ElementController.html":{}}}],["post(':roomid/copy",{"_index":19173,"title":{},"body":{"controllers/RoomsController.html":{}}}],["post(':roomid/copy')@requesttimeout(undefined.incoming_request_timeout_copy_api",{"_index":19145,"title":{},"body":{"controllers/RoomsController.html":{}}}],["post(':scope/:scopeid",{"_index":24161,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["post(':scope/:scopeid')@apioperation({summary",{"_index":24147,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["post(':submissionitemid/elements",{"_index":4058,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["post(':taskid/copy",{"_index":21407,"title":{},"body":{"controllers/TaskController.html":{}}}],["post(':taskid/copy')@requesttimeout(undefined.incoming_request_timeout_copy_api",{"_index":21367,"title":{},"body":{"controllers/TaskController.html":{}}}],["post(':token/import",{"_index":20317,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["post('ajax",{"_index":13167,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["post('ajax')@useinterceptors(undefined",{"_index":13118,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["post('clients",{"_index":17285,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["post('close",{"_index":23482,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["post('close')@httpcode(httpstatus.ok)@apiunprocessableentityresponse({description",{"_index":23402,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["post('export",{"_index":8750,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["post('export/:collectionname",{"_index":8748,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["post('ldap",{"_index":15766,"title":{},"body":{"controllers/LoginController.html":{}}}],["post('lessons/:lessonid/copy",{"_index":19177,"title":{},"body":{"controllers/RoomsController.html":{}}}],["post('lessons/:lessonid/copy')@requesttimeout(undefined.incoming_request_timeout_copy_api",{"_index":19148,"title":{},"body":{"controllers/RoomsController.html":{}}}],["post('local",{"_index":15771,"title":{},"body":{"controllers/LoginController.html":{}}}],["post('migrate",{"_index":13848,"title":{},"body":{"controllers/ImportUserController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["post('oauth2",{"_index":15775,"title":{},"body":{"controllers/LoginController.html":{}}}],["post('seed",{"_index":14760,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["post('seed/:collectionname",{"_index":8753,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["post('start",{"_index":23471,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["post('start')@apiunprocessableentityresponse({description",{"_index":23444,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["post('startsync",{"_index":13835,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["post('startusermigration",{"_index":13856,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["post('sync",{"_index":8759,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["post()@apicreatedresponse({description",{"_index":22679,"title":{},"body":{"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["post()@httpcode(202)@apioperation({summary",{"_index":9446,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["post()@httpcode(204)@apioperation({summary",{"_index":9071,"title":{},"body":{"controllers/DeletionExecutionsController.html":{}}}],["post(`${this.options.uri}${path",{"_index":1177,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["post(`${this.options.uri}/api/v1/login",{"_index":1184,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["post(path",{"_index":1176,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"interfaces/AuthenticationResponse.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["post(subpath",{"_index":1650,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["post.body.params",{"_index":1236,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["post.params.ts",{"_index":6789,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/SchoolExternalToolPostParams.html":{}}}],["post.params.ts:10",{"_index":6800,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/SchoolExternalToolPostParams.html":{}}}],["post.params.ts:14",{"_index":6790,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{}}}],["post.params.ts:15",{"_index":19720,"title":{},"body":{"classes/SchoolExternalToolPostParams.html":{}}}],["post.params.ts:18",{"_index":6792,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{}}}],["post.params.ts:22",{"_index":19718,"title":{},"body":{"classes/SchoolExternalToolPostParams.html":{}}}],["post.params.ts:23",{"_index":6794,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{}}}],["post.params.ts:26",{"_index":19721,"title":{},"body":{"classes/SchoolExternalToolPostParams.html":{}}}],["post.params.ts:30",{"_index":6799,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{}}}],["post.params.ts:34",{"_index":6802,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{}}}],["postajax",{"_index":13079,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["postajax(body",{"_index":13117,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["postasadmin(path",{"_index":1157,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["postdeletionexecutionsendpoint",{"_index":8947,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["postdeletionrequestsendpoint",{"_index":8948,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["posth5pcontentcreateparams",{"_index":12499,"title":{"classes/PostH5PContentCreateParams.html":{}},"body":{"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"controllers/H5PEditorController.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["posth5pcontentparams",{"_index":12497,"title":{"classes/PostH5PContentParams.html":{}},"body":{"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["potential",{"_index":7578,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["potentially",{"_index":26088,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["povider",{"_index":25240,"title":{},"body":{"todo.html":{}}}],["power",{"_index":24824,"title":{},"body":{"license.html":{}}}],["powershell",{"_index":25856,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["pr",{"_index":24608,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["practical",{"_index":24655,"title":{},"body":{"license.html":{}}}],["practice",{"_index":25074,"title":{},"body":{"license.html":{}}}],["practices",{"_index":25813,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["practices/layers/orm",{"_index":25245,"title":{},"body":{"todo.html":{}}}],["preamble",{"_index":24646,"title":{},"body":{"license.html":{}}}],["precise",{"_index":4500,"title":{},"body":{"classes/CardSkeletonResponse.html":{},"license.html":{}}}],["preconditions",{"_index":24574,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["predecessor",{"_index":25039,"title":{},"body":{"license.html":{}}}],["predefined",{"_index":25603,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["preexisting",{"_index":25662,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["preferences",{"_index":23120,"title":{},"body":{"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDto.html":{},"classes/UserMapper.html":{},"interfaces/UserProperties.html":{}}}],["preferred",{"_index":24757,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["prefetch",{"_index":18326,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["prefetchcount",{"_index":18329,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["prefix",{"_index":316,"title":{},"body":{"controllers/AccountController.html":{},"interfaces/AuthenticationResponse.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"controllers/DashboardController.html":{},"controllers/DatabaseManagementController.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/ImportUserController.html":{},"controllers/KeycloakManagementController.html":{},"controllers/LessonController.html":{},"controllers/LoginController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/NewsController.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"controllers/PseudonymController.html":{},"controllers/RoomsController.html":{},"injectables/S3ClientAdapter.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"controllers/SystemController.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"classes/TestApiClient.html":{},"controllers/TldrawController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["prefixes",{"_index":4872,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["preloadedcss",{"_index":11618,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["preloadeddependencies",{"_index":6540,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["preloadedjs",{"_index":11619,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["premature",{"_index":25429,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["preparation",{"_index":25682,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["prepare",{"_index":8968,"title":{},"body":{"injectables/DeletionClient.html":{},"injectables/LegacyLogger.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["prepareawarenessmessage",{"_index":24355,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["prepareawarenessmessage(changedclients",{"_index":24365,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["preparebbbcreateconfigbuilder",{"_index":24089,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["preparebbbcreateconfigbuilder(scope",{"_index":24099,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["prepared",{"_index":25689,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["prepended",{"_index":24599,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["prerendering",{"_index":4496,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["presence",{"_index":2918,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["present",{"_index":25134,"title":{},"body":{"license.html":{}}}],["presentationurl",{"_index":2334,"title":{},"body":{"injectables/BBBService.html":{},"interfaces/IBbbSettings.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["presents",{"_index":24752,"title":{},"body":{"license.html":{}}}],["preservation",{"_index":24975,"title":{},"body":{"license.html":{}}}],["preset",{"_index":23980,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["prettier",{"_index":25365,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["prevent",{"_index":2566,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["prevented",{"_index":24939,"title":{},"body":{"license.html":{}}}],["prevention",{"_index":1748,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["preview",{"_index":7172,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"classes/PreviewParams.html":{},"injectables/PreviewService.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["preview.coalesce",{"_index":17901,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["preview.producer",{"_index":17863,"title":{},"body":{"modules/PreviewGeneratorProducerModule.html":{}}}],["preview.resize(width",{"_index":17902,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["preview.selectframe(0",{"_index":17899,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["preview.stream(format",{"_index":17903,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["preview_not_possible_scan_status_blocked",{"_index":11733,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["preview_not_possible_scan_status_error",{"_index":11731,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["preview_not_possible_scan_status_wont_check",{"_index":11732,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["preview_not_possible_wrong_mime_type",{"_index":11734,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["preview_possible",{"_index":11729,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["previewactionsloggable",{"_index":17784,"title":{"classes/PreviewActionsLoggable.html":{}},"body":{"classes/PreviewActionsLoggable.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{}}}],["previewactionsloggable('previewgeneratorconsumer.generatepreview:end",{"_index":17846,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["previewactionsloggable('previewgeneratorconsumer.generatepreview:start",{"_index":17844,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["previewactionsloggable('previewgeneratorservice.generatepreview:end",{"_index":17891,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["previewactionsloggable('previewgeneratorservice.generatepreview:start",{"_index":17884,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["previewactionsloggable('previewgeneratorservice.previewnotpossible",{"_index":17895,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["previewactionsloggable('previewproducer.generate:finished",{"_index":17916,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["previewactionsloggable('previewproducer.generate:started",{"_index":17914,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["previewbuilder",{"_index":17795,"title":{"classes/PreviewBuilder.html":{}},"body":{"classes/PreviewBuilder.html":{},"injectables/PreviewService.html":{}}}],["previewbuilder.buildparams(filerecord",{"_index":17939,"title":{},"body":{"injectables/PreviewService.html":{}}}],["previewbuilder.buildpayload(params",{"_index":17953,"title":{},"body":{"injectables/PreviewService.html":{}}}],["previewconfig",{"_index":17812,"title":{"interfaces/PreviewConfig.html":{}},"body":{"interfaces/PreviewConfig.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"interfaces/PreviewModuleConfig.html":{}}}],["previewfileoptions",{"_index":17788,"title":{"interfaces/PreviewFileOptions.html":{}},"body":{"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileOptions.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewOptions.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{}}}],["previewfileparams",{"_index":12446,"title":{"interfaces/PreviewFileParams.html":{}},"body":{"interfaces/GetFileResponse.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileParams.html":{},"injectables/PreviewService.html":{}}}],["previewfilepath",{"_index":12449,"title":{},"body":{"interfaces/GetFileResponse.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewOptions.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{}}}],["previewgeneratoramqpmodule",{"_index":17818,"title":{"modules/PreviewGeneratorAMQPModule.html":{}},"body":{"modules/PreviewGeneratorAMQPModule.html":{}}}],["previewgeneratorbuilder",{"_index":17823,"title":{"classes/PreviewGeneratorBuilder.html":{}},"body":{"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorService.html":{}}}],["previewgeneratorbuilder.buildfile(preview",{"_index":17888,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["previewgeneratorconsumer",{"_index":17828,"title":{"injectables/PreviewGeneratorConsumer.html":{}},"body":{"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{}}}],["previewgeneratorconsumermodule",{"_index":17821,"title":{"modules/PreviewGeneratorConsumerModule.html":{}},"body":{"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{}}}],["previewgeneratorconsumermodule.register",{"_index":17822,"title":{},"body":{"modules/PreviewGeneratorAMQPModule.html":{}}}],["previewgeneratorproducermodule",{"_index":12275,"title":{"modules/PreviewGeneratorProducerModule.html":{}},"body":{"modules/FilesStorageModule.html":{},"modules/PreviewGeneratorProducerModule.html":{}}}],["previewgeneratorservice",{"_index":17832,"title":{"injectables/PreviewGeneratorService.html":{}},"body":{"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{}}}],["previewgeneratorservice(storageclient",{"_index":17853,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["previewinputmimetypes",{"_index":11727,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"injectables/PreviewGeneratorService.html":{}}}],["previewinputmimetypes.application_pdf",{"_index":17898,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["previewinputmimetypes.image_gif",{"_index":17900,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["previewmoduleconfig",{"_index":17815,"title":{"interfaces/PreviewModuleConfig.html":{}},"body":{"interfaces/PreviewConfig.html":{},"interfaces/PreviewModuleConfig.html":{},"injectables/PreviewProducer.html":{}}}],["previewoptions",{"_index":17791,"title":{"interfaces/PreviewOptions.html":{}},"body":{"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileOptions.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewOptions.html":{},"interfaces/PreviewResponseMessage.html":{}}}],["previewoptions.format",{"_index":17793,"title":{},"body":{"classes/PreviewActionsLoggable.html":{}}}],["previewoptions.width",{"_index":17794,"title":{},"body":{"classes/PreviewActionsLoggable.html":{}}}],["previewoutputmimetypes",{"_index":7155,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["previewoutputmimetypes'})@isoptional()@isenum(previewoutputmimetypes",{"_index":17905,"title":{},"body":{"classes/PreviewParams.html":{}}}],["previewparams",{"_index":7167,"title":{"classes/PreviewParams.html":{}},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"interfaces/GetFileResponse.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileParams.html":{},"injectables/PreviewGeneratorService.html":{},"classes/PreviewParams.html":{},"injectables/PreviewService.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["previewparams.outputformat",{"_index":17950,"title":{},"body":{"injectables/PreviewService.html":{}}}],["previewparams.width",{"_index":17811,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["previewproducer",{"_index":17861,"title":{"injectables/PreviewProducer.html":{}},"body":{"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{}}}],["previewresponsemessage",{"_index":17817,"title":{"interfaces/PreviewResponseMessage.html":{}},"body":{"interfaces/PreviewFileOptions.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewOptions.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{}}}],["previewservice",{"_index":12204,"title":{"injectables/PreviewService.html":{}},"body":{"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"injectables/PreviewService.html":{}}}],["previewstatus",{"_index":7122,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"injectables/PreviewService.html":{}}}],["previewstatus.awaiting_scan_status",{"_index":11799,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["previewstatus.preview_not_possible_scan_status_blocked",{"_index":11794,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["previewstatus.preview_not_possible_scan_status_error",{"_index":11802,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["previewstatus.preview_not_possible_scan_status_wont_check",{"_index":11801,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["previewstatus.preview_not_possible_wrong_mime_type",{"_index":11796,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["previewstatus.preview_possible",{"_index":11797,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"injectables/PreviewService.html":{}}}],["previewwidth",{"_index":7156,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["previewwidth'})@isoptional()@isenum(previewwidth",{"_index":17907,"title":{},"body":{"classes/PreviewParams.html":{}}}],["previous",{"_index":25041,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{}}}],["previousexternalid",{"_index":15070,"title":{},"body":{"injectables/LdapStrategy.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"entities/SchoolEntity.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserProperties.html":{}}}],["previously",{"_index":6311,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{}}}],["previousteachers",{"_index":5790,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["price",{"_index":24663,"title":{},"body":{"license.html":{}}}],["primarily",{"_index":25101,"title":{},"body":{"license.html":{}}}],["primary",{"_index":616,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{}}}],["primarykey",{"_index":2549,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["principle",{"_index":25409,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["principles",{"_index":25402,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["prior",{"_index":25009,"title":{},"body":{"license.html":{}}}],["privacy",{"_index":9843,"title":{},"body":{"classes/ErrorLoggable.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["privacy_permission",{"_index":8050,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["privacyprotect",{"_index":297,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountSaveDto.html":{},"classes/ErrorLoggable.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{}}}],["privacyprotect()@isoptional()@isstring()@matches(passwordpattern)@apiproperty({description",{"_index":292,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["privacyprotect()@isoptional()@matches(passwordpattern",{"_index":448,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{}}}],["privacyprotect()@isstring()@isoptional()@matches(passwordpattern)@apiproperty({description",{"_index":17729,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["privacyprotect()@isstring()@matches(passwordpattern)@apiproperty({description",{"_index":17735,"title":{},"body":{"classes/PatchMyPasswordParams.html":{}}}],["privacyprotected",{"_index":9852,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["private",{"_index":652,"title":{},"body":{"injectables/AccountLookupService.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthorizationContextBuilder.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"injectables/BasicToolLaunchStrategy.html":{},"entities/Board.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardRepo.html":{},"controllers/BoardSubmissionController.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CalendarService.html":{},"controllers/CardController.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassMapper.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/CopyFilesService.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/CourseGroupRule.html":{},"interfaces/CourseProperties.html":{},"classes/CourseScope.html":{},"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestScope.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"classes/ForbiddenLoggableException.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/GroupResponseMapper.html":{},"controllers/H5PEditorController.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IGridElement.html":{},"interfaces/ITask.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"interfaces/LibrariesContentType.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{},"injectables/LtiToolRepo.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/MigrationCheckService.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/NewsCrudOperationLoggable.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"controllers/OauthSSOController.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/Options.html":{},"injectables/PermissionService.html":{},"classes/PreviewActionsLoggable.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"injectables/ProvisioningService.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolExternalToolScope.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolValidationService.html":{},"classes/Scope.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/Submission.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemScope.html":{},"injectables/SystemUc.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"injectables/ToolVersionService.html":{},"classes/UnauthorizedLoggableException.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"injectables/VideoConferenceRepo.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["private_key_jwt",{"_index":16999,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["privatedevice",{"_index":14333,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["privatekey",{"_index":7914,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["privilege",{"_index":11610,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["probably",{"_index":3938,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["problem",{"_index":6260,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"injectables/SanisProvisioningStrategy.html":{},"modules/ToolLaunchModule.html":{},"index.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["problems",{"_index":25137,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["procedures",{"_index":24935,"title":{},"body":{"license.html":{}}}],["proceedbuttonurl",{"_index":17689,"title":{},"body":{"classes/PageContentDto.html":{}}}],["process",{"_index":7745,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionQueueConsole.html":{},"controllers/LoginController.html":{},"modules/MongoMemoryDatabaseModule.html":{},"controllers/OauthSSOController.html":{},"classes/RedirectResponse.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["process'})@apiresponse({status",{"_index":9073,"title":{},"body":{"controllers/DeletionExecutionsController.html":{}}}],["process.dto.ts",{"_index":16800,"title":{},"body":{"classes/OAuthProcessDto.html":{}}}],["process.dto.ts:2",{"_index":16802,"title":{},"body":{"classes/OAuthProcessDto.html":{}}}],["process.dto.ts:4",{"_index":16801,"title":{},"body":{"classes/OAuthProcessDto.html":{}}}],["process.env.mongo_test_uri}/${dbname",{"_index":16357,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["processcookies",{"_index":13460,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["processcookies(setcookies",{"_index":13473,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["processed",{"_index":2827,"title":{},"body":{"injectables/BatchDeletionService.html":{},"interfaces/CollaborativeStorageStrategy.html":{}}}],["processing",{"_index":5064,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["processredirect",{"_index":13461,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["processredirect(dto",{"_index":13476,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["processredirectcascade",{"_index":13394,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["processredirectcascade(initresponse",{"_index":13402,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["procuring",{"_index":25091,"title":{},"body":{"license.html":{}}}],["produce",{"_index":1713,"title":{},"body":{"injectables/AuthenticationService.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{},"license.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["producer.module.ts",{"_index":17862,"title":{},"body":{"modules/PreviewGeneratorProducerModule.html":{}}}],["producer.ts",{"_index":19228,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["producer.ts:12",{"_index":19232,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["producer.ts:21",{"_index":19230,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["producer.ts:29",{"_index":19231,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["producer.ts:5",{"_index":19229,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["produces",{"_index":25594,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["product",{"_index":2203,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"classes/Builder.html":{},"license.html":{}}}],["production",{"_index":4911,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"interfaces/ServerConfig.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{}}}],["products",{"_index":25102,"title":{},"body":{"license.html":{}}}],["profile",{"_index":14662,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["program",{"_index":24659,"title":{},"body":{"license.html":{}}}],["program's",{"_index":24833,"title":{},"body":{"license.html":{}}}],["programmer",{"_index":25203,"title":{},"body":{"license.html":{}}}],["programming",{"_index":24762,"title":{},"body":{"license.html":{}}}],["programs",{"_index":24667,"title":{},"body":{"license.html":{}}}],["progress",{"_index":7075,"title":{},"body":{"classes/CopyApiResponse.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["prohibit",{"_index":24798,"title":{},"body":{"license.html":{},"todo.html":{}}}],["prohibiting",{"_index":24821,"title":{},"body":{"license.html":{}}}],["prohibits",{"_index":25096,"title":{},"body":{"license.html":{}}}],["project",{"_index":23827,"title":{},"body":{"injectables/UserRepo.html":{},"index.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["prom",{"_index":18711,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"dependencies.html":{}}}],["prometheus",{"_index":18008,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricsapp",{"_index":18033,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricsapp.listen(prometheusmetricsappport",{"_index":18035,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricsappport",{"_index":18031,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricsconfig",{"_index":17955,"title":{"classes/PrometheusMetricsConfig.html":{}},"body":{"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricsconfig.instance",{"_index":18028,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricsconfig.instance.isenabled",{"_index":18021,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricsconfig.instance.port",{"_index":18032,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricssetupstate",{"_index":18001,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricssetupstate.api_response_time_metric_middleware_successfully_added",{"_index":18025,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricssetupstate.feature_disabled_middlewares_will_not_be_created",{"_index":18023,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricssetupstateloggable",{"_index":17997,"title":{"classes/PrometheusMetricsSetupStateLoggable.html":{}},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricssetupstateloggable(prometheusmetricssetupstate.collecting_default_metrics_disabled",{"_index":18029,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricssetupstateloggable(prometheusmetricssetupstate.collecting_metrics_route_metrics_disabled",{"_index":18030,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricssetupstateloggable(prometheusmetricssetupstate.feature_disabled_app_will_not_be_created",{"_index":18027,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prominent",{"_index":24754,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["prominently",{"_index":24749,"title":{},"body":{"license.html":{}}}],["promise",{"_index":36,"title":{},"body":{"classes/AbstractAccountService.html":{},"controllers/AccountController.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/AntivirusService.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoService.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"controllers/BoardSubmissionController.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"interfaces/CardProps.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"interfaces/ColumnProps.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/CopyFilesService.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"controllers/DashboardController.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"injectables/DeletionExecutionUc.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionQueueConsole.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"controllers/DeletionRequestsController.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"interfaces/DrawingElementProps.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"injectables/FileRecordRepo.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/GroupController.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"injectables/IdTokenService.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"controllers/ImportUserController.html":{},"injectables/ImportUserRepo.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/LessonUrlHandler.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"injectables/LocalStrategy.html":{},"controllers/LoginController.html":{},"injectables/LoginUc.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/MaterialsRepo.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/MigrationCheckService.html":{},"interfaces/MigrationOptions.html":{},"modules/MongoMemoryDatabaseModule.html":{},"controllers/NewsController.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"controllers/PseudonymController.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RepoLoader.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"interfaces/RetryOptions.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolMigrationService.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/StorageProviderRepo.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"controllers/SystemController.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamService.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"injectables/ToolVersionService.html":{},"interfaces/UrlHandler.html":{},"controllers/UserController.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"injectables/VideoConferenceRepo.html":{},"dependencies.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["promise((resolve",{"_index":2848,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/LdapService.html":{},"classes/TestConnection.html":{}}}],["promise.all",{"_index":980,"title":{},"body":{"injectables/AccountValidationService.html":{},"injectables/AuthorizationReferenceService.html":{},"interfaces/CollectionFilePath.html":{},"injectables/DashboardModelMapper.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolService.html":{},"injectables/FeathersRosterService.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonUC.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PseudonymService.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SubmissionUc.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{},"injectables/TeamsRepo.html":{},"injectables/ToolPermissionHelper.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["promise.all(adduserids.map((nextclouduserid",{"_index":16769,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["promise.all(array.from(modelentity.gridelements).map(async",{"_index":8613,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["promise.all(copyrequests",{"_index":19371,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["promise.all(domainobject.children.map(async",{"_index":18493,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["promise.all(gridelement.getreferences().map((ref",{"_index":8634,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["promise.all(promises",{"_index":2499,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/CardUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/DeleteFilesUc.html":{},"injectables/PreviewService.html":{},"injectables/TaskService.html":{}}}],["promise.all(referencemodels.map((ref",{"_index":8605,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["promise.all(removeuserids.map((nextclouduserid",{"_index":16767,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["promise.all(studententities.map((user",{"_index":11310,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["promise.all(substitutionteacherentities.map((user",{"_index":11313,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["promise.all(teacherentities.map((user",{"_index":11312,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["promise.all(toolreferencespromises",{"_index":23019,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["promise.allsettled(boarddo.children.map((child",{"_index":18436,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["promise.allsettled(promises",{"_index":3346,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["promise.reject",{"_index":23815,"title":{},"body":{"injectables/UserRepo.html":{}}}],["promise.reject(new",{"_index":3327,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ContentElementUpdateVisitor.html":{}}}],["promise.resolve",{"_index":2788,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/FileSystemAdapter.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/TestBootstrapConsole.html":{}}}],["promise.resolve(configuration.get('hydra_uri",{"_index":17320,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["promise.resolve(false",{"_index":958,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["promise.resolve(new",{"_index":14245,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{}}}],["promise.resolve(oauthdata",{"_index":17546,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["promise.resolve(response",{"_index":20311,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["promise.resolve(undefined",{"_index":16268,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["promises",{"_index":2494,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BoardCopyService.html":{},"injectables/CardUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/DeleteFilesUc.html":{},"injectables/FileSystemAdapter.html":{},"injectables/PreviewService.html":{},"injectables/TaskService.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["promisify",{"_index":24484,"title":{},"body":{"dependencies.html":{}}}],["prompt",{"_index":17535,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["prop",{"_index":1819,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["propagate",{"_index":24723,"title":{},"body":{"license.html":{}}}],["propagating",{"_index":25025,"title":{},"body":{"license.html":{}}}],["propagation",{"_index":24733,"title":{},"body":{"license.html":{}}}],["propaly",{"_index":21293,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["proper",{"_index":3393,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/DeletionExecutionConsole.html":{},"interfaces/UserBoardRoles.html":{}}}],["properly",{"_index":25759,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["properties",{"_index":112,"title":{"properties.html":{}},"body":{"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"interfaces/AccountConfig.html":{},"classes/AccountDto.html":{},"classes/AccountFactory.html":{},"interfaces/AccountParams.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"interfaces/AuthenticationResponse.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationError.html":{},"classes/AuthorizationParams.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"interfaces/BatchDeletionSummary.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"entities/Board.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardContextResponse.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/BoardResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardSkeletonResponse.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"interfaces/ClassProps.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"interfaces/CleanOptions.html":{},"injectables/CollaborativeStorageAdapter.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/CommonCartridgeConfig.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"classes/County.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"classes/CourseScope.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DashboardResponse.html":{},"classes/DashboardUrlParams.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"interfaces/DeletionRequestOutput.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"classes/ElementContentBody.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataResponse.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/ExternalUserDto.html":{},"interfaces/FeathersError.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"classes/FileUrlParams.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenOperationError.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/GroupProps.html":{},"classes/GroupResponse.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"interfaces/IdentityManagementConfig.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/InterceptorConfig.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"entities/LessonBoardElement.html":{},"classes/LessonCopyApiParams.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonProperties.html":{},"classes/LessonScope.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"interfaces/Meta.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MigrationDto.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"classes/NewsUrlParams.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"interfaces/PreviewResponseMessage.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"classes/ProvisioningDto.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemDto.html":{},"classes/Pseudonym.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"injectables/ReferenceLoader.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"interfaces/RocketChatUserProps.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"interfaces/RpcMessage.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInfoResponse.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"classes/Scope.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"interfaces/ServerConfig.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/SubmissionItemUrlParams.html":{},"interfaces/SubmissionProperties.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"classes/System.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"interfaces/SystemProps.html":{},"classes/SystemScope.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"classes/TaskCopyApiParams.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusResponse.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"entities/TeamNews.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"classes/TestApiClient.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"interfaces/TldrawConfig.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolConfiguration.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceResponse.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"properties.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["properties.filter((property",{"_index":2790,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["properties.some",{"_index":2798,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["propertiestopopulate",{"_index":16532,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["property",{"_index":223,"title":{},"body":{"entities/Account.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/BasicToolLaunchStrategy.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntryEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DashboardResponse.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"classes/ElementContentBody.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"classes/ExternalToolUpdateParams.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/H5pEditorTempFile.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfigEntity.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LibraryName.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/LtiTool.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/PropertyData.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"classes/SingleColumnBoardResponse.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionProperties.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"interfaces/TemporaryFileProperties.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"classes/ToolLaunchData.html":{},"classes/UpdateElementContentBodyParams.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceOptions.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["property()@index",{"_index":221,"title":{},"body":{"entities/Account.html":{},"entities/ClassEntity.html":{},"entities/News.html":{},"entities/RegistrationPinEntity.html":{},"entities/RocketChatUserEntity.html":{},"entities/User.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceInfo.html":{}}}],["property()@index({options",{"_index":9287,"title":{},"body":{"entities/DeletionRequestEntity.html":{}}}],["property()@unique",{"_index":10501,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"entities/PseudonymEntity.html":{},"entities/RocketChatUserEntity.html":{},"entities/Role.html":{}}}],["property({comment",{"_index":20795,"title":{},"body":{"entities/SubmissionItemNode.html":{}}}],["property({default",{"_index":18661,"title":{},"body":{"entities/RegistrationPinEntity.html":{}}}],["property({fieldname",{"_index":5450,"title":{},"body":{"entities/ColumnBoardNode.html":{},"entities/ColumnBoardTarget.html":{},"entities/FileEntity.html":{},"entities/FileRecord.html":{},"entities/H5PContent.html":{},"entities/ImportUser.html":{},"entities/ShareToken.html":{},"entities/StorageProviderEntity.html":{}}}],["property({nullable",{"_index":211,"title":{},"body":{"entities/Account.html":{},"entities/BoardNode.html":{},"entities/ClassEntity.html":{},"classes/ClassSourceOptionsEntity.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"entities/Course.html":{},"classes/CustomParameterEntity.html":{},"entities/DashboardGridElementModel.html":{},"entities/DeletionLogEntity.html":{},"entities/ExternalToolEntity.html":{},"entities/FederalStateEntity.html":{},"entities/FileEntity.html":{},"classes/FilePermissionEntity.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfigEntity.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/LtiTool.html":{},"entities/News.html":{},"classes/OauthConfigEntity.html":{},"entities/RocketChatUserEntity.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/StorageProviderEntity.html":{},"entities/Submission.html":{},"entities/SubmissionContainerElementNode.html":{},"entities/SystemEntity.html":{},"entities/Task.html":{},"entities/TldrawDrawing.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{}}}],["property({onupdate",{"_index":2577,"title":{},"body":{"classes/BaseEntityWithTimestamps.html":{}}}],["property({type",{"_index":13000,"title":{},"body":{"entities/H5PContent.html":{},"entities/ImportUser.html":{}}}],["property.location",{"_index":2791,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["property.value",{"_index":2794,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["propertydata",{"_index":2744,"title":{"classes/PropertyData.html":{}},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/PropertyData.html":{},"classes/ToolLaunchData.html":{}}}],["propertylocation",{"_index":2784,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"classes/PropertyData.html":{},"classes/ToolLaunchMapper.html":{}}}],["propertylocation.body",{"_index":2792,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"classes/ToolLaunchMapper.html":{}}}],["propertylocation.path",{"_index":22836,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["propertylocation.query",{"_index":22837,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["propertyname",{"_index":2755,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["propertypath",{"_index":1406,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["propertypath.push(validationerror.property",{"_index":1408,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["props",{"_index":435,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizableObject.html":{},"classes/AxiosResponseImp.html":{},"injectables/BaseDORepo.html":{},"classes/BaseFactory.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigResponse.html":{},"classes/BoardComposite.html":{},"classes/BoardDoAuthorizable.html":{},"injectables/BoardDoRepo.html":{},"classes/Card.html":{},"classes/Class.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"classes/ContextRef.html":{},"classes/CookiesDto.html":{},"entities/CourseNews.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterResponse.html":{},"classes/DashboardEntity.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"classes/DomainObject.html":{},"classes/DrawingElement.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalUserDto.html":{},"classes/FileDto-1.html":{},"classes/FileElement.html":{},"classes/FilePermissionEntity.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"classes/GroupValidPeriodEntity.html":{},"classes/HydraRedirectDto.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IGridElement.html":{},"classes/ImportUserResponse.html":{},"classes/LdapConfig.html":{},"injectables/LegacySchoolRepo.html":{},"classes/LinkElement.html":{},"classes/LoginDto.html":{},"classes/LoginResponse.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"injectables/LtiToolRepo.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsUc.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/PageContentDto.html":{},"classes/PropertyData.html":{},"classes/ProvisioningSystemDto.html":{},"classes/Pseudonym.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/ResolvedGroupUser.html":{},"classes/RichTextElement.html":{},"classes/RocketChatUser.html":{},"classes/RoleDto.html":{},"classes/RoleReference.html":{},"classes/ScanResultDto.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"entities/SchoolNews.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/ShareTokenRepo.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{},"classes/System.html":{},"injectables/SystemRepo.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TeamDto.html":{},"entities/TeamNews.html":{},"classes/TeamPermissionsDto.html":{},"classes/TeamRolePermissionsDto.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/UserDORepo.html":{},"classes/UserLoginMigrationDO.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParentsEntity.html":{},"injectables/VideoConferenceRepo.html":{}}}],["props.abbreviation",{"_index":7390,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["props.accesskeyid",{"_index":20612,"title":{},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["props.accesstoken",{"_index":15781,"title":{},"body":{"classes/LoginDto.html":{},"classes/LoginResponse.html":{},"classes/OAuthTokenDto.html":{},"classes/OauthDataStrategyInputDto.html":{}}}],["props.action",{"_index":22332,"title":{},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["props.activated",{"_index":251,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{}}}],["props.active",{"_index":14873,"title":{},"body":{"classes/LdapConfig.html":{}}}],["props.alias",{"_index":14976,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["props.alternativetext",{"_index":11468,"title":{},"body":{"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{}}}],["props.authtoken",{"_index":18910,"title":{},"body":{"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["props.availabledate",{"_index":21269,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.axiosconfig",{"_index":13456,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["props.baseurl",{"_index":2693,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigResponse.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/ToolLaunchData.html":{}}}],["props.birthday",{"_index":11154,"title":{},"body":{"classes/ExternalUserDto.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["props.boardelement",{"_index":6733,"title":{},"body":{"classes/ContextExternalToolCountPerContextResponse.html":{}}}],["props.bucket",{"_index":11534,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.builder.ts",{"_index":9282,"title":{},"body":{"classes/DeletionRequestBodyPropsBuilder.html":{}}}],["props.builder.ts:6",{"_index":9283,"title":{},"body":{"classes/DeletionRequestBodyPropsBuilder.html":{}}}],["props.cancelbuttonurl",{"_index":17695,"title":{},"body":{"classes/PageContentDto.html":{}}}],["props.caption",{"_index":11467,"title":{},"body":{"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{}}}],["props.classnames",{"_index":13932,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["props.classnames.length",{"_index":13802,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["props.client",{"_index":16119,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["props.client_id",{"_index":1509,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["props.client_secret",{"_index":1511,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["props.clientid",{"_index":16904,"title":{},"body":{"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["props.clientsecret",{"_index":16905,"title":{},"body":{"classes/Oauth2ToolConfig.html":{}}}],["props.clock",{"_index":22330,"title":{},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["props.closedat",{"_index":23510,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["props.code",{"_index":1517,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["props.color",{"_index":7465,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["props.colums",{"_index":8421,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["props.comment",{"_index":20651,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["props.completed",{"_index":20801,"title":{},"body":{"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["props.config",{"_index":2133,"title":{},"body":{"classes/AxiosResponseImp.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{}}}],["props.content",{"_index":7777,"title":{},"body":{"entities/CourseNews.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["props.contents",{"_index":6200,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["props.context.type",{"_index":5457,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["props.contextexternaltool",{"_index":10218,"title":{},"body":{"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["props.contextexternaltoolid",{"_index":10208,"title":{},"body":{"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{}}}],["props.contextid",{"_index":6754,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["props.contextref",{"_index":6661,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{}}}],["props.contexttype",{"_index":6756,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["props.cookies",{"_index":13453,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["props.copyingsince",{"_index":7471,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["props.course",{"_index":6196,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.course.school",{"_index":7671,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{}}}],["props.coursegroup",{"_index":6198,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["props.create",{"_index":11703,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["props.createdat",{"_index":461,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"classes/County.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["props.creator",{"_index":7780,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{}}}],["props.credentialhash",{"_index":241,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{}}}],["props.currentredirect",{"_index":13449,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["props.customs",{"_index":8082,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.data",{"_index":2125,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["props.default",{"_index":8147,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{}}}],["props.defaultvalue",{"_index":8286,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["props.delete",{"_index":11705,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["props.deleteafter",{"_index":9298,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["props.deleted",{"_index":11548,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.deletedat",{"_index":11547,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["props.deletedcount",{"_index":9134,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["props.deletedsince",{"_index":11759,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["props.deletionrequestid",{"_index":9136,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["props.description",{"_index":7458,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["props.descriptioninputformat",{"_index":21266,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.destinationexternalreference",{"_index":5440,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["props.displayat",{"_index":7779,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["props.displayname",{"_index":6663,"title":{},"body":{"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["props.docname",{"_index":22327,"title":{},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["props.domain",{"_index":9129,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["props.duedate",{"_index":20715,"title":{},"body":{"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.email",{"_index":11152,"title":{},"body":{"classes/ExternalUserDto.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"entities/User.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{}}}],["props.enddate",{"_index":20067,"title":{},"body":{"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{}}}],["props.endpointurl",{"_index":20610,"title":{},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["props.expiresat",{"_index":249,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["props.externalgroups",{"_index":17109,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["props.externalid",{"_index":7783,"title":{},"body":{"entities/CourseNews.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalUserDto.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/TeamNews.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["props.externalidtoken",{"_index":17120,"title":{},"body":{"classes/OauthLoginResponse.html":{}}}],["props.externalschool",{"_index":17107,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["props.externalsource",{"_index":12737,"title":{},"body":{"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["props.externalsourcename",{"_index":4697,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{}}}],["props.externaluser",{"_index":17105,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["props.externaluserid",{"_index":9976,"title":{},"body":{"classes/ExternalGroupUserDto.html":{}}}],["props.features",{"_index":7473,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/UsersList.html":{}}}],["props.federalstate",{"_index":19656,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["props.filetype",{"_index":18349,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["props.finishedat",{"_index":23512,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["props.firstname",{"_index":11148,"title":{},"body":{"classes/ExternalUserDto.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"entities/User.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{}}}],["props.flagged",{"_index":13806,"title":{},"body":{"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{}}}],["props.forcepasswordchange",{"_index":23149,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["props.friendlyurl",{"_index":8093,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.from",{"_index":9968,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["props.frontchannel_logout_uri",{"_index":8099,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.frontchannellogouturi",{"_index":16911,"title":{},"body":{"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["props.grade",{"_index":20657,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["props.gradecomment",{"_index":20659,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["props.graded",{"_index":20655,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["props.gradelevel",{"_index":4628,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["props.grant_type",{"_index":1515,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["props.grid.foreach((element",{"_index":8423,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["props.gridelements",{"_index":8501,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["props.height",{"_index":4422,"title":{},"body":{"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{}}}],["props.hidden",{"_index":6195,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["props.hydracookies",{"_index":7060,"title":{},"body":{"classes/CookiesDto.html":{}}}],["props.id",{"_index":459,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ContextRef.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"classes/FileDto-1.html":{},"classes/GridElement.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/IGridElement.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RoleDto.html":{},"classes/RoleReference.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["props.idmreferenceid",{"_index":859,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["props.idtoken",{"_index":16881,"title":{},"body":{"classes/OAuthTokenDto.html":{},"classes/OauthDataStrategyInputDto.html":{}}}],["props.imageurl",{"_index":15623,"title":{},"body":{"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{}}}],["props.importhash",{"_index":18670,"title":{},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{}}}],["props.importuserid",{"_index":13926,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["props.inmaintenancesince",{"_index":19650,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["props.inputformat",{"_index":18860,"title":{},"body":{"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{}}}],["props.inusermigration",{"_index":19651,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["props.invitationlink",{"_index":4640,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["props.iscopyfrom",{"_index":11756,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["props.isdirectory",{"_index":11531,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.ishidden",{"_index":8101,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"entities/LtiTool.html":{}}}],["props.islocal",{"_index":8086,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.isoptional",{"_index":8157,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{}}}],["props.isoutdatedonscopecontext",{"_index":6681,"title":{},"body":{"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{}}}],["props.isoutdatedonscopeschool",{"_index":6679,"title":{},"body":{"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{}}}],["props.istemplate",{"_index":8084,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.isupgradable",{"_index":4703,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{}}}],["props.key",{"_index":8066,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"entities/LtiTool.html":{}}}],["props.keyvalue",{"_index":1764,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["props.language",{"_index":23150,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["props.lastloginsystemchange",{"_index":23154,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["props.lastname",{"_index":11150,"title":{},"body":{"classes/ExternalUserDto.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"entities/User.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{}}}],["props.lasttriedfailedlogin",{"_index":247,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{}}}],["props.launch_presentation_locale",{"_index":15853,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{}}}],["props.ldapconfig",{"_index":14982,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["props.ldapdn",{"_index":4645,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["props.lesson",{"_index":21273,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.license",{"_index":16120,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["props.localcookies",{"_index":7058,"title":{},"body":{"classes/CookiesDto.html":{}}}],["props.location",{"_index":8149,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalSchoolDto.html":{},"classes/PropertyData.html":{}}}],["props.lockid",{"_index":11568,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.loginname",{"_index":13928,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["props.logo",{"_index":10036,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["props.logo_url",{"_index":8070,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.logobase64",{"_index":10242,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["props.logourl",{"_index":7391,"title":{},"body":{"classes/County.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["props.lti_message_type",{"_index":8072,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"entities/LtiTool.html":{}}}],["props.lti_version",{"_index":8074,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.mandatorysince",{"_index":23506,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["props.match",{"_index":13933,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["props.matchedby",{"_index":13804,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["props.materials",{"_index":6201,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["props.merlinreference",{"_index":16122,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["props.method",{"_index":22868,"title":{},"body":{"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["props.mimetype",{"_index":11754,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["props.modifiedcount",{"_index":9132,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["props.name",{"_index":4633,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/FileDto-1.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/LtiTool.html":{},"interfaces/ParentInfo.html":{},"classes/PropertyData.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"classes/UsersList.html":{}}}],["props.oauthclientid",{"_index":8091,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.oauthconfig",{"_index":14978,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["props.officialschoolnumber",{"_index":9987,"title":{},"body":{"classes/ExternalSchoolDto.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["props.oidcconfig",{"_index":14980,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["props.opennewtab",{"_index":8097,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"entities/LtiTool.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["props.operation",{"_index":9130,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["props.options",{"_index":23984,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["props.organization",{"_index":12778,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["props.organizationid",{"_index":12741,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["props.originalcolumnboardid",{"_index":5423,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["props.origintoolid",{"_index":8087,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.otherusers",{"_index":9966,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["props.outdatedsince",{"_index":23156,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["props.parameters",{"_index":6665,"title":{},"body":{"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{}}}],["props.parent",{"_index":3890,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["props.parent.id",{"_index":3891,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["props.parent.level",{"_index":3897,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["props.parentid",{"_index":11417,"title":{},"body":{"classes/FileDto-1.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.parents",{"_index":23158,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["props.parenttype",{"_index":11416,"title":{},"body":{"classes/FileDto-1.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["props.password",{"_index":237,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{}}}],["props.payload",{"_index":22869,"title":{},"body":{"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["props.performedat",{"_index":9138,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["props.permissions",{"_index":11567,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"interfaces/RoleProperties.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["props.pin",{"_index":18666,"title":{},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{}}}],["props.position",{"_index":3899,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["props.preferences",{"_index":23152,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["props.previousexternalid",{"_index":19649,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["props.privacy_permission",{"_index":8080,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"entities/LtiTool.html":{}}}],["props.private",{"_index":21270,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.proceedbuttonurl",{"_index":17693,"title":{},"body":{"classes/PageContentDto.html":{}}}],["props.properties",{"_index":22818,"title":{},"body":{"classes/ToolLaunchData.html":{}}}],["props.provider",{"_index":14875,"title":{},"body":{"classes/LdapConfig.html":{}}}],["props.provisioningstrategy",{"_index":14984,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/ProvisioningSystemDto.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["props.provisioningurl",{"_index":14986,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/ProvisioningSystemDto.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["props.pseudonym",{"_index":10508,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{}}}],["props.publicsubmissions",{"_index":21277,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.rcid",{"_index":18909,"title":{},"body":{"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["props.read",{"_index":11701,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["props.reason",{"_index":11739,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/ParentInfo.html":{},"classes/ScanResultDto.html":{}}}],["props.redirect_uri",{"_index":1513,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["props.redirecturis",{"_index":16907,"title":{},"body":{"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["props.references.sort(this.sortreferences",{"_index":8398,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["props.referer",{"_index":13451,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["props.refownermodel",{"_index":11565,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.refpermmodel",{"_index":11698,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["props.refreshtoken",{"_index":16883,"title":{},"body":{"classes/OAuthTokenDto.html":{}}}],["props.regex",{"_index":8153,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{}}}],["props.regexcomment",{"_index":8155,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{}}}],["props.region",{"_index":20616,"title":{},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["props.relatedresources",{"_index":16124,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["props.requesttoken",{"_index":11741,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/ParentInfo.html":{}}}],["props.resource_link_id",{"_index":8076,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"entities/LtiTool.html":{}}}],["props.response",{"_index":13454,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["props.restricttocontexts",{"_index":10039,"title":{},"body":{"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{}}}],["props.role",{"_index":12960,"title":{},"body":{"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/ResolvedGroupUser.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["props.roleid",{"_index":12954,"title":{},"body":{"classes/GroupUser.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{}}}],["props.rolename",{"_index":9978,"title":{},"body":{"classes/ExternalGroupUserDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["props.rolenames",{"_index":13930,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["props.rolenames.length",{"_index":13799,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["props.roles",{"_index":8078,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/ExternalUserDto.html":{},"entities/LtiTool.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{}}}],["props.school",{"_index":7461,"title":{},"body":{"entities/Course.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{}}}],["props.schoolid",{"_index":4635,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"classes/UserLoginMigrationDO.html":{}}}],["props.schoolparameters",{"_index":19681,"title":{},"body":{"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{}}}],["props.schooltool",{"_index":6752,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{}}}],["props.schooltoolid",{"_index":19726,"title":{},"body":{"classes/SchoolExternalToolRefDO.html":{}}}],["props.schooltoolref",{"_index":6659,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{}}}],["props.schoolyear",{"_index":4701,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["props.scope",{"_index":8151,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["props.secret",{"_index":8068,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/LtiTool.html":{}}}],["props.secretaccesskey",{"_index":20614,"title":{},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["props.secretvalue",{"_index":1766,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["props.securitycheck",{"_index":11557,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.share",{"_index":21930,"title":{},"body":{"classes/TeamPermissionsDto.html":{}}}],["props.sharetokens",{"_index":11559,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.size",{"_index":11532,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["props.skipconsent",{"_index":8095,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["props.source",{"_index":4649,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["props.sourcedescription",{"_index":7785,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["props.sourceoptions",{"_index":4651,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["props.sourcesystem",{"_index":23528,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["props.sourcesystemid",{"_index":23503,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["props.startdate",{"_index":7469,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"classes/UsersList.html":{}}}],["props.startedat",{"_index":23508,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["props.status",{"_index":2127,"title":{},"body":{"classes/AxiosResponseImp.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/ParentInfo.html":{},"classes/ScanResultDto.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{}}}],["props.statustext",{"_index":2129,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["props.storagefilename",{"_index":11533,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.storageprovider",{"_index":11535,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.student",{"_index":20649,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["props.studentcount",{"_index":4705,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{}}}],["props.students",{"_index":7672,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{}}}],["props.subjects",{"_index":16126,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["props.submitted",{"_index":20654,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["props.successor",{"_index":4647,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["props.system",{"_index":10010,"title":{},"body":{"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{}}}],["props.systemid",{"_index":245,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceResponse.html":{},"classes/ProvisioningSystemDto.html":{}}}],["props.systems",{"_index":19652,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["props.tags",{"_index":16128,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["props.target",{"_index":3725,"title":{},"body":{"entities/BoardElement.html":{},"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["props.targetgroups",{"_index":16130,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["props.targetmodel",{"_index":23983,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["props.targetrefdomain",{"_index":9296,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["props.targetrefid",{"_index":9300,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["props.targetsystem",{"_index":23530,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["props.targetsystemid",{"_index":23504,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["props.task",{"_index":20653,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["props.teacherids",{"_index":4639,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["props.teachernames",{"_index":4699,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["props.teachers",{"_index":4719,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["props.teamid",{"_index":21945,"title":{},"body":{"classes/TeamRolePermissionsDto.html":{}}}],["props.teammembers",{"_index":20660,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["props.teamname",{"_index":21947,"title":{},"body":{"classes/TeamRolePermissionsDto.html":{}}}],["props.teamsubmissions",{"_index":21279,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.teamusers",{"_index":21862,"title":{},"body":{"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["props.teamusers.map((teamuser",{"_index":21875,"title":{},"body":{"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["props.text",{"_index":18859,"title":{},"body":{"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{}}}],["props.thumbnail",{"_index":11554,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.thumbnailrequesttoken",{"_index":11555,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.timestamps",{"_index":10209,"title":{},"body":{"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{}}}],["props.title",{"_index":3900,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/ColumnBoardTarget.html":{},"entities/CourseNews.html":{},"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"entities/SchoolNews.html":{},"interfaces/TargetGroupProperties.html":{},"entities/TeamNews.html":{}}}],["props.token",{"_index":239,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["props.tokenendpointauthmethod",{"_index":16909,"title":{},"body":{"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["props.tool",{"_index":19679,"title":{},"body":{"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{}}}],["props.toolid",{"_index":10510,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{}}}],["props.toolversion",{"_index":6667,"title":{},"body":{"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/SchoolExternalTool.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{}}}],["props.ts",{"_index":7104,"title":{},"body":{"interfaces/CopyFileDomainObjectProps.html":{},"interfaces/FileDomainObjectProps.html":{}}}],["props.tspuid",{"_index":4819,"title":{},"body":{"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{}}}],["props.type",{"_index":4695,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/ContextRef.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/ToolLaunchData.html":{}}}],["props.until",{"_index":9970,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["props.untildate",{"_index":7467,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["props.updatedat",{"_index":463,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"classes/County.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["props.updater",{"_index":7781,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["props.url",{"_index":8064,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"entities/LtiTool.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/RelatedResourceProperties.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/TargetGroupProperties.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["props.user",{"_index":9964,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/ResolvedGroupUser.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["props.userid",{"_index":243,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/DashboardEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"classes/GridElement.html":{},"classes/GroupUser.html":{},"interfaces/IGridElement.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["props.userids",{"_index":4636,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["props.userloginmigration",{"_index":19654,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["props.username",{"_index":235,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["props.users",{"_index":12776,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["props.users.map",{"_index":12739,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["props.validfrom",{"_index":12734,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["props.validperiod",{"_index":12774,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["props.validuntil",{"_index":12735,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["props.value",{"_index":8175,"title":{},"body":{"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/PropertyData.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["props.verified",{"_index":18668,"title":{},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{}}}],["props.version",{"_index":10037,"title":{},"body":{"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["props.versionkey",{"_index":11571,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.write",{"_index":11699,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["props.year",{"_index":4642,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["propsfactory",{"_index":502,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["propsoffactory",{"_index":2618,"title":{},"body":{"classes/BaseFactory.html":{}}}],["protect",{"_index":24671,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["protected",{"_index":113,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"classes/AccountFactory.html":{},"interfaces/AuthorizableObject.html":{},"classes/AxiosErrorLoggable.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseFactory.html":{},"classes/BaseUc.html":{},"classes/BoardComposite.html":{},"classes/BoardDoAuthorizable.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"classes/Card.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassSourceOptions.html":{},"interfaces/ClassSourceOptionsProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnUc.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseUrlHandler.html":{},"classes/CustomParameterFactory.html":{},"injectables/DashboardRepo.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"injectables/ElementUc.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/FileElement.html":{},"classes/FileRecordFactory.html":{},"injectables/FilesStorageProducer.html":{},"classes/Group.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IDashboardRepo.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"classes/LessonFactory.html":{},"injectables/LessonUrlHandler.html":{},"classes/LinkElement.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/MaterialFactory.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/PreviewProducer.html":{},"injectables/ProvisioningService.html":{},"classes/Pseudonym.html":{},"injectables/PseudonymsRepo.html":{},"classes/RichTextElement.html":{},"classes/RocketChatUser.html":{},"classes/RocketChatUserFactory.html":{},"classes/RpcMessageProducer.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemUc.html":{},"classes/System.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"injectables/TaskUrlHandler.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["protectedrole.id",{"_index":23926,"title":{},"body":{"injectables/UserService.html":{}}}],["protectedroles",{"_index":23920,"title":{},"body":{"injectables/UserService.html":{}}}],["protectedroles.find((protectedrole",{"_index":23925,"title":{},"body":{"injectables/UserService.html":{}}}],["protecting",{"_index":24805,"title":{},"body":{"license.html":{}}}],["protection",{"_index":24844,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["protocol",{"_index":14546,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["protocolmapper",{"_index":14603,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["protocolmapperrepresentation",{"_index":14479,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["protocols",{"_index":24568,"title":{},"body":{"dependencies.html":{},"license.html":{}}}],["protocols/awareness",{"_index":22456,"title":{},"body":{"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["protocols/sync",{"_index":22462,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["prototype",{"_index":1096,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["prove",{"_index":25152,"title":{},"body":{"license.html":{}}}],["provide",{"_index":685,"title":{},"body":{"modules/AccountModule.html":{},"modules/AntivirusModule.html":{},"classes/BoardManagementConsole.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/InterceptorModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"modules/OauthProviderServiceModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/RedisModule.html":{},"modules/RocketChatModule.html":{},"modules/S3ClientModule.html":{},"modules/ToolConfigModule.html":{},"modules/ValidationModule.html":{},"modules/VideoConferenceModule.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["provided",{"_index":2818,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardDoBuilderImpl.html":{},"modules/ErrorModule.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/ICurrentUser.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"injectables/LegacyLogger.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["provider",{"_index":5042,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{},"classes/ConsentRequestBody.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolService.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/HydraSsoService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LoginRequestBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{},"classes/OidcConfigEntity.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"injectables/TldrawBoardRepo.html":{},"dependencies.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["provider(s",{"_index":4918,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["provider.client",{"_index":17148,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{}}}],["provider.consent",{"_index":17181,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{}}}],["provider.controller",{"_index":17144,"title":{},"body":{"modules/OauthProviderApiModule.html":{}}}],["provider.controller.ts",{"_index":17221,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:103",{"_index":17233,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:109",{"_index":17239,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:117",{"_index":17254,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:135",{"_index":17229,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:143",{"_index":17236,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:151",{"_index":17251,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:169",{"_index":17246,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:182",{"_index":17258,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:188",{"_index":17243,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:49",{"_index":17241,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:60",{"_index":17248,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:80",{"_index":17231,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:91",{"_index":17260,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.login",{"_index":13677,"title":{},"body":{"injectables/IdTokenService.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"modules/OauthProviderModule.html":{}}}],["provider.logout",{"_index":17266,"title":{},"body":{"controllers/OauthProviderController.html":{},"injectables/OauthProviderLogoutFlowUc.html":{}}}],["provider.mapper",{"_index":14436,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["provider.mapper.ts",{"_index":17522,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["provider.mapper.ts:6",{"_index":17525,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["provider.mapper.ts:9",{"_index":17527,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["provider.module",{"_index":17146,"title":{},"body":{"modules/OauthProviderApiModule.html":{}}}],["provider.module.ts",{"_index":17386,"title":{},"body":{"modules/OauthProviderModule.html":{}}}],["provider.service",{"_index":17441,"title":{},"body":{"modules/OauthProviderServiceModule.html":{}}}],["provider.service.ts",{"_index":17409,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:14",{"_index":17422,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:16",{"_index":17414,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:18",{"_index":17433,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:20",{"_index":17421,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:22",{"_index":17412,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:24",{"_index":17432,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:26",{"_index":17416,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:28",{"_index":17426,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:30",{"_index":17427,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:32",{"_index":17431,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:39",{"_index":17418,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:41",{"_index":17424,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:43",{"_index":17437,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:45",{"_index":17420,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:47",{"_index":17429,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:49",{"_index":17435,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.uc",{"_index":17267,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.uc.ts",{"_index":17444,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["provider.uc.ts:10",{"_index":17447,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["provider.uc.ts:15",{"_index":17449,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["provider.uc.ts:7",{"_index":17445,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["provider/controller/dto",{"_index":17202,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["provider/controller/dto/request/accept.query.ts",{"_index":188,"title":{},"body":{"classes/AcceptQuery.html":{}}}],["provider/controller/dto/request/accept.query.ts:9",{"_index":198,"title":{},"body":{"classes/AcceptQuery.html":{}}}],["provider/controller/dto/request/challenge.params.ts",{"_index":4546,"title":{},"body":{"classes/ChallengeParams.html":{}}}],["provider/controller/dto/request/challenge.params.ts:11",{"_index":4548,"title":{},"body":{"classes/ChallengeParams.html":{}}}],["provider/controller/dto/request/consent",{"_index":6230,"title":{},"body":{"classes/ConsentRequestBody.html":{}}}],["provider/controller/dto/request/id.params.ts",{"_index":13639,"title":{},"body":{"classes/IdParams.html":{}}}],["provider/controller/dto/request/id.params.ts:11",{"_index":13640,"title":{},"body":{"classes/IdParams.html":{}}}],["provider/controller/dto/request/list",{"_index":15636,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["provider/controller/dto/request/login",{"_index":15783,"title":{},"body":{"classes/LoginRequestBody.html":{}}}],["provider/controller/dto/request/oauth",{"_index":16806,"title":{},"body":{"classes/OAuthRejectableBody.html":{},"classes/OauthClientBody.html":{}}}],["provider/controller/dto/request/revoke",{"_index":18813,"title":{},"body":{"classes/RevokeConsentParams.html":{}}}],["provider/controller/dto/request/user.params.ts",{"_index":23786,"title":{},"body":{"classes/UserParams.html":{}}}],["provider/controller/dto/request/user.params.ts:7",{"_index":23787,"title":{},"body":{"classes/UserParams.html":{}}}],["provider/controller/dto/response/consent",{"_index":6319,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts",{"_index":6277,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:16",{"_index":6287,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:22",{"_index":6290,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:28",{"_index":6293,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:32",{"_index":6296,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:36",{"_index":6297,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:40",{"_index":6300,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:44",{"_index":6302,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:48",{"_index":6304,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:54",{"_index":6307,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:6",{"_index":6285,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:60",{"_index":6308,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:66",{"_index":6309,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:72",{"_index":6312,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:76",{"_index":6313,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/login.response.ts",{"_index":15788,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:13",{"_index":15795,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:16",{"_index":15792,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:19",{"_index":15793,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:23",{"_index":15796,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:27",{"_index":15798,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:31",{"_index":15799,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:37",{"_index":15800,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:43",{"_index":15804,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:48",{"_index":15805,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:51",{"_index":15806,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:6",{"_index":15791,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/oauth",{"_index":6316,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/oidc",{"_index":6314,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"classes/OidcContextResponse.html":{}}}],["provider/controller/dto/response/redirect.response.ts",{"_index":18561,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["provider/controller/dto/response/redirect.response.ts:12",{"_index":18567,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["provider/controller/dto/response/redirect.response.ts:3",{"_index":18563,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["provider/controller/oauth",{"_index":17220,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider/dto",{"_index":10916,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"injectables/OauthProviderUc.html":{}}}],["provider/dto/interface/oidc",{"_index":18051,"title":{},"body":{"interfaces/ProviderOidcContext.html":{}}}],["provider/dto/request/accept",{"_index":163,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{}}}],["provider/dto/request/reject",{"_index":18692,"title":{},"body":{"interfaces/RejectRequestBody.html":{}}}],["provider/dto/response/consent",{"_index":18047,"title":{},"body":{"interfaces/ProviderConsentSessionResponse.html":{}}}],["provider/dto/response/consent.response.ts",{"_index":18042,"title":{},"body":{"interfaces/ProviderConsentResponse.html":{}}}],["provider/dto/response/introspect.response.ts",{"_index":14164,"title":{},"body":{"interfaces/IntrospectResponse.html":{}}}],["provider/dto/response/login.response.ts",{"_index":18050,"title":{},"body":{"interfaces/ProviderLoginResponse.html":{}}}],["provider/dto/response/redirect.response.ts",{"_index":18052,"title":{},"body":{"interfaces/ProviderRedirectResponse.html":{}}}],["provider/error/id",{"_index":13642,"title":{},"body":{"classes/IdTokenCreationLoggableException.html":{}}}],["provider/index",{"_index":17170,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["provider/interface/id",{"_index":175,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/IdToken.html":{},"injectables/OauthProviderConsentFlowUc.html":{}}}],["provider/interface/subject",{"_index":17001,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["provider/interface/token",{"_index":17002,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["provider/loggable/hydra",{"_index":13383,"title":{},"body":{"classes/HydraOauthFailedLoggableException.html":{}}}],["provider/mapper/oauth",{"_index":17355,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["provider/oauth",{"_index":17142,"title":{},"body":{"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{}}}],["provider/service/id",{"_index":13660,"title":{},"body":{"injectables/IdTokenService.html":{},"injectables/OauthProviderConsentFlowUc.html":{}}}],["provider/service/oauth",{"_index":17321,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["provider/uc/oauth",{"_index":17147,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderUc.html":{}}}],["providerconsentresponse",{"_index":17199,"title":{"interfaces/ProviderConsentResponse.html":{}},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["providerconsentsessionresponse",{"_index":17261,"title":{"interfaces/ProviderConsentSessionResponse.html":{}},"body":{"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["providerid",{"_index":14531,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["providerloginresponse",{"_index":17262,"title":{"interfaces/ProviderLoginResponse.html":{}},"body":{"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["provideroauthclient",{"_index":10912,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["provideroidccontext",{"_index":18043,"title":{"interfaces/ProviderOidcContext.html":{}},"body":{"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{}}}],["provideroptions",{"_index":14882,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["providerredirectresponse",{"_index":17201,"title":{"interfaces/ProviderRedirectResponse.html":{}},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"interfaces/ProviderRedirectResponse.html":{}}}],["providers",{"_index":259,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AntivirusModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"interfaces/CleanOptions.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FeathersModule.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/InterceptorModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolModule.html":{},"modules/LessonApiModule.html":{},"modules/LessonModule.html":{},"modules/LoggerModule.html":{},"modules/LtiToolModule.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{},"interfaces/MigrationOptions.html":{},"modules/NewsModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/OauthProviderServiceModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"modules/PseudonymModule.html":{},"modules/RedisModule.html":{},"modules/RegistrationPinModule.html":{},"interfaces/RetryOptions.html":{},"modules/RocketChatModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/S3ClientModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"injectables/StorageProviderRepo.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/ValidationModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["providers.foreach((provider",{"_index":8892,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["provides",{"_index":4967,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/LegacyLogger.html":{},"injectables/NewsUc.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["providing",{"_index":5055,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"modules/CoreModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["provision",{"_index":19879,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{},"license.html":{}}}],["provisionally",{"_index":25004,"title":{},"body":{"license.html":{}}}],["provisiondata",{"_index":18073,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["provisiondata(oauthdata",{"_index":18087,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["provisionexternalgroup",{"_index":17553,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisionexternalgroup(externalgroup",{"_index":17566,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisionexternalschool",{"_index":17554,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisionexternalschool(externalschool",{"_index":17568,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisionexternaluser",{"_index":17555,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisionexternaluser(externaluser",{"_index":17570,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning",{"_index":12882,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{},"injectables/OAuthService.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["provisioning.loggable",{"_index":23782,"title":{},"body":{"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["provisioning.service",{"_index":17670,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{},"modules/ProvisioningModule.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["provisioning.service.ts",{"_index":17549,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:133",{"_index":17567,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:189",{"_index":17559,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:206",{"_index":17562,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:21",{"_index":17557,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:223",{"_index":17573,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:33",{"_index":17569,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:71",{"_index":17565,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:79",{"_index":17571,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.strategy",{"_index":14220,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/System.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/SystemProps.html":{}}}],["provisioningdto",{"_index":14222,"title":{"classes/ProvisioningDto.html":{}},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ProvisioningDto.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{}}}],["provisioningdto.externaluserid",{"_index":18057,"title":{},"body":{"classes/ProvisioningDto.html":{}}}],["provisioningmodule",{"_index":17125,"title":{"modules/ProvisioningModule.html":{}},"body":{"modules/OauthModule.html":{},"modules/ProvisioningModule.html":{},"modules/UserLoginMigrationApiModule.html":{}}}],["provisioningservice",{"_index":16821,"title":{"injectables/ProvisioningService.html":{}},"body":{"injectables/OAuthService.html":{},"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["provisioningstrategy",{"_index":14205,"title":{"classes/ProvisioningStrategy.html":{}},"body":{"injectables/IservProvisioningStrategy.html":{},"classes/LdapConfigEntity.html":{},"injectables/LegacySystemService.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/System.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"interfaces/SystemProps.html":{}}}],["provisioningstrategy:10",{"_index":17542,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["provisioningstrategy:14",{"_index":17541,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["provisioningstrategy:29",{"_index":14217,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["provisioningstrategy:31",{"_index":17540,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["provisioningstrategy:33",{"_index":14216,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["provisioningstrategy:37",{"_index":19495,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["provisioningstrategy:5",{"_index":17668,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["provisioningstrategy:63",{"_index":14211,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["provisioningstrategy:7",{"_index":17667,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["provisioningsystemdto",{"_index":17099,"title":{"classes/ProvisioningSystemDto.html":{}},"body":{"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{}}}],["provisioningsysteminputmapper",{"_index":18093,"title":{"classes/ProvisioningSystemInputMapper.html":{}},"body":{"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemInputMapper.html":{}}}],["provisioningsysteminputmapper.maptointernal(systemdto",{"_index":18104,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["provisioningurl",{"_index":14902,"title":{},"body":{"classes/LdapConfigEntity.html":{},"injectables/LegacySystemService.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/System.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"interfaces/SystemProps.html":{}}}],["provisionuser",{"_index":16818,"title":{},"body":{"injectables/OAuthService.html":{}}}],["provisionuser(systemid",{"_index":16832,"title":{},"body":{"injectables/OAuthService.html":{}}}],["proxy",{"_index":20210,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"license.html":{}}}],["proxy's",{"_index":25142,"title":{},"body":{"license.html":{}}}],["ps256",{"_index":1579,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["ps384",{"_index":1580,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["ps512",{"_index":1581,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["pseudonym",{"_index":10500,"title":{"classes/Pseudonym.html":{}},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/FeathersRosterService.html":{},"injectables/IdTokenService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/Pseudonym.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["pseudonym.entity",{"_index":18202,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["pseudonym.entity.ts",{"_index":10499,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{}}}],["pseudonym.entity.ts:18",{"_index":10502,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{}}}],["pseudonym.entity.ts:21",{"_index":10503,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{}}}],["pseudonym.entity.ts:24",{"_index":10504,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{}}}],["pseudonym.id",{"_index":18175,"title":{},"body":{"classes/PseudonymMapper.html":{}}}],["pseudonym.module",{"_index":18145,"title":{},"body":{"modules/PseudonymApiModule.html":{}}}],["pseudonym.pseudonym",{"_index":11343,"title":{},"body":{"injectables/FeathersRosterService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["pseudonym.repo.ts",{"_index":10513,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:106",{"_index":10538,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:114",{"_index":10534,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:12",{"_index":10522,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:15",{"_index":10531,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:26",{"_index":10529,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:41",{"_index":10527,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:50",{"_index":10524,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:71",{"_index":10526,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:79",{"_index":10536,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:93",{"_index":10540,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.service",{"_index":11285,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["pseudonym.toolid",{"_index":18176,"title":{},"body":{"classes/PseudonymMapper.html":{}}}],["pseudonym.userid",{"_index":18177,"title":{},"body":{"classes/PseudonymMapper.html":{}}}],["pseudonymapimodule",{"_index":18138,"title":{"modules/PseudonymApiModule.html":{}},"body":{"modules/PseudonymApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["pseudonymcontroller",{"_index":18144,"title":{"controllers/PseudonymController.html":{}},"body":{"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{}}}],["pseudonymentity",{"_index":18166,"title":{"entities/PseudonymEntity.html":{}},"body":{"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"injectables/PseudonymsRepo.html":{}}}],["pseudonymentity(entityprops",{"_index":18281,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["pseudonymentityprops",{"_index":18171,"title":{"interfaces/PseudonymEntityProps.html":{}},"body":{"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"injectables/PseudonymsRepo.html":{}}}],["pseudonymmapper",{"_index":18156,"title":{"classes/PseudonymMapper.html":{}},"body":{"controllers/PseudonymController.html":{},"classes/PseudonymMapper.html":{}}}],["pseudonymmapper.maptoresponse(pseudonym",{"_index":18165,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["pseudonymmodule",{"_index":5036,"title":{"modules/PseudonymModule.html":{}},"body":{"modules/CollaborativeStorageAdapterModule.html":{},"modules/DeletionApiModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/PseudonymApiModule.html":{},"modules/PseudonymModule.html":{},"modules/ToolLaunchModule.html":{}}}],["pseudonymous",{"_index":8042,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["pseudonymparams",{"_index":18149,"title":{"classes/PseudonymParams.html":{}},"body":{"controllers/PseudonymController.html":{},"classes/PseudonymParams.html":{}}}],["pseudonympromise",{"_index":18233,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["pseudonymprops",{"_index":18134,"title":{"interfaces/PseudonymProps.html":{}},"body":{"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{}}}],["pseudonymrepo",{"_index":18214,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["pseudonymresponse",{"_index":18158,"title":{"classes/PseudonymResponse.html":{}},"body":{"controllers/PseudonymController.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymResponse.html":{}}}],["pseudonymresponse})@apiunauthorizedresponse()@apiforbiddenresponse()@apioperation({summary",{"_index":18151,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["pseudonyms",{"_index":10506,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/FeathersRosterService.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["pseudonyms.loggable",{"_index":22571,"title":{},"body":{"classes/TooManyPseudonymsLoggableException.html":{}}}],["pseudonyms_too_many_pseudonyms_found",{"_index":22575,"title":{},"body":{"classes/TooManyPseudonymsLoggableException.html":{}}}],["pseudonymschool",{"_index":18265,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["pseudonymscope",{"_index":10541,"title":{"classes/PseudonymScope.html":{}},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"classes/PseudonymScope.html":{}}}],["pseudonymsearchquery",{"_index":10533,"title":{"interfaces/PseudonymSearchQuery.html":{}},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{}}}],["pseudonymservice",{"_index":11256,"title":{"injectables/PseudonymService.html":{}},"body":{"injectables/FeathersRosterService.html":{},"injectables/IdTokenService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"modules/PseudonymModule.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["pseudonymsrepo",{"_index":18182,"title":{"injectables/PseudonymsRepo.html":{}},"body":{"modules/PseudonymModule.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{}}}],["pseudonymuc",{"_index":18142,"title":{"injectables/PseudonymUc.html":{}},"body":{"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"injectables/PseudonymUc.html":{}}}],["pseudonymuser",{"_index":18263,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["pseudonymuserid",{"_index":18261,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["public",{"_index":711,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AntivirusService.html":{},"interfaces/AuthenticationResponse.html":{},"interfaces/AuthorizableObject.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/BasicToolLaunchStrategy.html":{},"classes/BoardComposite.html":{},"classes/BoardDoAuthorizable.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRule.html":{},"classes/Card.html":{},"classes/Class.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"classes/CopyFileResponseBuilder.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRule.html":{},"injectables/CourseService.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CustomLtiProperty.html":{},"injectables/DeleteFilesUc.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DomainObject.html":{},"classes/DrawingElement.html":{},"classes/DrawingElementResponseMapper.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementResponseMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileResponseBuilder.html":{},"injectables/FilesRepo.html":{},"injectables/FilesStorageConsumer.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"injectables/GroupRepo.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"entities/InstalledLibrary.html":{},"classes/JwtTestFactory.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LegacySchoolRule.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/LinkElement.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/Logger.html":{},"classes/LoginRequestBody.html":{},"injectables/Lti11EncryptionService.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"injectables/LtiToolService.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/MigrationCheckService.html":{},"injectables/NewsUc.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthClientBody.html":{},"injectables/OauthProviderLoginFlowService.html":{},"classes/OidcIdentityProviderMapper.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/Pseudonym.html":{},"injectables/PseudonymService.html":{},"classes/PublicSystemListResponse.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolValidationService.html":{},"controllers/ServerController.html":{},"classes/SortHelper.html":{},"entities/Submission.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItem.html":{},"classes/SubmissionItemResponseMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRule.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"classes/SystemDomainMapper.html":{},"injectables/SystemRepo.html":{},"injectables/SystemRule.html":{},"injectables/SystemService.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRule.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TeamMapper.html":{},"injectables/TeamPermissionsMapper.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TldrawBoardRepo.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"controllers/ToolConfigurationController.html":{},"injectables/ToolPermissionHelper.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"interfaces/UserProperties.html":{},"injectables/UserRule.html":{},"injectables/UserService.html":{},"classes/UsersList.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["publicclient",{"_index":14548,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["publicity",{"_index":24978,"title":{},"body":{"license.html":{}}}],["publickey",{"_index":7921,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{},"injectables/OAuthService.html":{}}}],["publiclink",{"_index":16683,"title":{},"body":{"injectables/NexboardService.html":{}}}],["publicly",{"_index":21030,"title":{},"body":{"controllers/SystemController.html":{},"license.html":{}}}],["publicservice",{"_index":25475,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["publicsubmissions",{"_index":13619,"title":{},"body":{"interfaces/ITask.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{}}}],["publicsystemlistresponse",{"_index":18284,"title":{"classes/PublicSystemListResponse.html":{}},"body":{"classes/PublicSystemListResponse.html":{},"controllers/SystemController.html":{},"classes/SystemResponseMapper.html":{}}}],["publicsystemlistresponse(systemresponses",{"_index":21193,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["publicsystemresponse",{"_index":18287,"title":{"classes/PublicSystemResponse.html":{}},"body":{"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"controllers/SystemController.html":{},"classes/SystemResponseMapper.html":{}}}],["publish",{"_index":5565,"title":{},"body":{"entities/ColumnBoardTarget.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/PatchVisibilityParams.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"license.html":{},"todo.html":{}}}],["published",{"_index":3026,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{},"entities/ColumnBoardTarget.html":{},"classes/CreateNewsParams.html":{},"classes/DtoCreator.html":{},"classes/FilterNewsParams.html":{},"injectables/NewsUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"controllers/UserController.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["publishedat",{"_index":24346,"title":{},"body":{"classes/VisibilitySettingsResponse.html":{}}}],["pull",{"_index":24607,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["purpose",{"_index":53,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"injectables/TaskRepo.html":{},"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["purposes",{"_index":4497,"title":{},"body":{"classes/CardSkeletonResponse.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["pursuant",{"_index":25089,"title":{},"body":{"license.html":{}}}],["push",{"_index":9239,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["pushdeleterequestsoptionsbuilder",{"_index":18297,"title":{"classes/PushDeleteRequestsOptionsBuilder.html":{}},"body":{"classes/PushDeleteRequestsOptionsBuilder.html":{}}}],["pushdeletionrequests",{"_index":9235,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["pushdeletionrequests(options",{"_index":9237,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["pushdeletionrequestsoptions",{"_index":9238,"title":{"interfaces/PushDeletionRequestsOptions.html":{}},"body":{"classes/DeletionQueueConsole.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{}}}],["put",{"_index":4370,"title":{},"body":{"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/FileSecurityController.html":{},"injectables/KeycloakConfigurationService.html":{},"controllers/OauthProviderController.html":{},"injectables/TaskCopyUC.html":{},"classes/TestApiClient.html":{},"controllers/ToolContextController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["put('/:schoolexternaltoolid",{"_index":23057,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["put('/:schoolexternaltoolid')@apiokresponse({description",{"_index":23046,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["put(':cardid/position",{"_index":4385,"title":{},"body":{"controllers/CardController.html":{}}}],["put(':columnid/position",{"_index":5617,"title":{},"body":{"controllers/ColumnController.html":{}}}],["put(':contentelementid/position",{"_index":9732,"title":{},"body":{"controllers/ElementController.html":{}}}],["put(':contextexternaltoolid",{"_index":22718,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["put(':contextexternaltoolid')@apiokresponse({description",{"_index":22697,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["put(':scope/:scopeid/start",{"_index":24050,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["put(':scope/:scopeid/start')@apioperation({summary",{"_index":24038,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["put('clients/:id",{"_index":17287,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["put('mandatory",{"_index":23479,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["put('mandatory')@apinotfoundresponse({description",{"_index":23438,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["put('restart",{"_index":23476,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["put('restart')@apinotfoundresponse({description",{"_index":23428,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["put(filesstorageinternalactions.updatesecuritystatus",{"_index":11959,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["put(path",{"_index":1646,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["put(subpath",{"_index":1645,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["putting",{"_index":25309,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["pw",{"_index":7946,"title":{},"body":{"interfaces/CreateJwtPayload.html":{},"interfaces/ICurrentUser.html":{},"interfaces/JwtPayload.html":{}}}],["pwd/backup/idm/keycloak:/tmp/realms",{"_index":25300,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["pwd/backup/idm/oidcmock:/tmp/config",{"_index":25875,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["p{extended_pictographic}/u",{"_index":7506,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["q",{"_index":14721,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["qs",{"_index":13482,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthAdapterService.html":{},"dependencies.html":{}}}],["qs.stringify(data",{"_index":14675,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["qualify",{"_index":25016,"title":{},"body":{"license.html":{}}}],["quality",{"_index":25151,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["quarkus",{"_index":25902,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["quay.io/minio/minio",{"_index":25294,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["queries",{"_index":14124,"title":{},"body":{"classes/ImportUserScope.html":{},"classes/NewsScope.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["queries.length",{"_index":14127,"title":{},"body":{"classes/ImportUserScope.html":{},"classes/NewsScope.html":{}}}],["query",{"_index":365,"title":{},"body":{"controllers/AccountController.html":{},"classes/AuthCodeFailureLoggableException.html":{},"controllers/CardController.html":{},"interfaces/CleanOptions.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolService.html":{},"controllers/CourseController.html":{},"classes/CourseScope.html":{},"controllers/DashboardController.html":{},"controllers/DatabaseManagementController.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionRequestScope.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolScope.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/FeathersAuthProvider.html":{},"classes/FileRecordScope.html":{},"classes/GlobalValidationPipe.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"injectables/HydraSsoService.html":{},"interfaces/ILegacyLogger.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/KeycloakConsole.html":{},"classes/LessonScope.html":{},"interfaces/MigrationOptions.html":{},"controllers/NewsController.html":{},"classes/NewsMapper.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"controllers/OauthSSOController.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/RequestLoggingInterceptor.html":{},"interfaces/RetryOptions.html":{},"classes/RoleNameMapper.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolScope.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"classes/Scope.html":{},"injectables/SubmissionRepo.html":{},"controllers/SystemController.html":{},"classes/SystemScope.html":{},"controllers/TaskController.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"injectables/UserDORepo.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchMapper.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{}}}],["query('usecentralldap",{"_index":13901,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["query('x",{"_index":8316,"title":{},"body":{"controllers/DashboardController.html":{}}}],["query('y",{"_index":8317,"title":{},"body":{"controllers/DashboardController.html":{}}}],["query.accept",{"_index":17206,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["query.classes",{"_index":13980,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.code",{"_index":17473,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["query.error",{"_index":17474,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["query.firstname",{"_index":13968,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.flagged",{"_index":13985,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.lastloginsystemchangebetweenend",{"_index":23272,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["query.lastloginsystemchangebetweenstart",{"_index":23271,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["query.lastname",{"_index":13971,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.loginname",{"_index":13974,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.match",{"_index":13981,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.match.map((match",{"_index":13983,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.name",{"_index":23723,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["query.role",{"_index":13975,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.schoolid",{"_index":19822,"title":{},"body":{"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["query.targetid",{"_index":16512,"title":{},"body":{"classes/NewsMapper.html":{}}}],["query.targetmodel",{"_index":16510,"title":{},"body":{"classes/NewsMapper.html":{}}}],["query.ts",{"_index":10879,"title":{},"body":{"interfaces/ExternalToolSearchQuery.html":{},"interfaces/PseudonymSearchQuery.html":{},"interfaces/UserLoginMigrationQuery.html":{}}}],["query.type",{"_index":23262,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserService.html":{}}}],["query.unpublished",{"_index":16514,"title":{},"body":{"classes/NewsMapper.html":{}}}],["query.userid",{"_index":23685,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["query/body",{"_index":25580,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["query/empty",{"_index":20091,"title":{},"body":{"classes/Scope.html":{}}}],["queryfiltermatch",{"_index":23818,"title":{},"body":{"injectables/UserRepo.html":{}}}],["queryfiltermatch.$or",{"_index":23824,"title":{},"body":{"injectables/UserRepo.html":{}}}],["queryoptions",{"_index":7839,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/ImportUserRepo.html":{}}}],["queryordermap",{"_index":7821,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ImportUserRepo.html":{},"injectables/NewsRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["queryordermap[key",{"_index":10988,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{},"injectables/UserDORepo.html":{}}}],["queryordernumeric",{"_index":23812,"title":{},"body":{"injectables/UserRepo.html":{}}}],["queryordernumeric.asc",{"_index":23838,"title":{},"body":{"injectables/UserRepo.html":{}}}],["queryordernumeric.desc",{"_index":23837,"title":{},"body":{"injectables/UserRepo.html":{}}}],["queryparams",{"_index":2351,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"controllers/CourseController.html":{}}}],["queryparams.append('checksum",{"_index":2427,"title":{},"body":{"injectables/BBBService.html":{}}}],["queryparams.tostring",{"_index":2417,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["queryparams.version",{"_index":7548,"title":{},"body":{"controllers/CourseController.html":{}}}],["querys",{"_index":12295,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{}}}],["querystring",{"_index":2416,"title":{},"body":{"injectables/BBBService.html":{},"injectables/HydraSsoService.html":{},"injectables/OauthAdapterService.html":{}}}],["querystring.stringify",{"_index":13483,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["querystring.stringify(payload",{"_index":16951,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["queue",{"_index":2820,"title":{},"body":{"injectables/BatchDeletionService.html":{},"classes/DeletionQueueConsole.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/PreviewGeneratorConsumer.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["queue.console",{"_index":9017,"title":{},"body":{"modules/DeletionConsoleModule.html":{}}}],["queue.console.ts",{"_index":9234,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["queue.console.ts:36",{"_index":9240,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["queue.console.ts:7",{"_index":9236,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["queuedeletionrequest",{"_index":8952,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["queuedeletionrequest(input",{"_index":8958,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["queuedeletionrequestinput",{"_index":2809,"title":{"interfaces/QueueDeletionRequestInput.html":{}},"body":{"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{}}}],["queuedeletionrequestinputbuilder",{"_index":2887,"title":{"classes/QueueDeletionRequestInputBuilder.html":{}},"body":{"injectables/BatchDeletionUc.html":{},"classes/QueueDeletionRequestInputBuilder.html":{}}}],["queuedeletionrequestoutput",{"_index":2816,"title":{"interfaces/QueueDeletionRequestOutput.html":{}},"body":{"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["queuedeletionrequestoutputbuilder",{"_index":2813,"title":{"classes/QueueDeletionRequestOutputBuilder.html":{}},"body":{"injectables/BatchDeletionService.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["queuedeletionrequestoutputbuilder.buildsuccess",{"_index":2838,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["queuedeletionrequests",{"_index":2804,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["queuedeletionrequests(inputs",{"_index":2808,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["queueing",{"_index":2903,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"controllers/DeletionRequestsController.html":{}}}],["rabbitmq",{"_index":1311,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewProducer.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RpcMessageProducer.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["rabbitmq#usage",{"_index":18320,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["rabbitmq:3.8.9",{"_index":25284,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["rabbitmq_url",{"_index":25277,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["rabbitmqmodule",{"_index":18318,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["rabbitmqmodule.forroot(rabbitmqmodule",{"_index":18325,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["rabbitmqwrappermodule",{"_index":1011,"title":{"modules/RabbitMQWrapperModule.html":{}},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["rabbitmqwrappertestmodule",{"_index":1031,"title":{"modules/RabbitMQWrapperTestModule.html":{}},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["rabbitpayload",{"_index":12214,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"injectables/PreviewGeneratorConsumer.html":{}}}],["rabbitrpc",{"_index":12215,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"injectables/PreviewGeneratorConsumer.html":{}}}],["rabbitrpc({exchange",{"_index":12207,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"injectables/PreviewGeneratorConsumer.html":{}}}],["random",{"_index":3800,"title":{},"body":{"injectables/BoardManagementUc.html":{},"injectables/FileSystemAdapter.html":{}}}],["random(min",{"_index":3815,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["randomuuid",{"_index":1717,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["range",{"_index":12407,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{},"injectables/S3ClientAdapter.html":{}}}],["range.end}/${contentlength",{"_index":13203,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["range.start",{"_index":13202,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["rangeend",{"_index":22061,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["rangeendnew",{"_index":22094,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["ranges",{"_index":12405,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{}}}],["rangestart",{"_index":22060,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["rawfiledocument",{"_index":12093,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["rawfilesdocuments",{"_index":12089,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["rawfilesdocuments.map((rawfiledocument",{"_index":12091,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["rawlessondocument",{"_index":15463,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["rawlessonsdocuments",{"_index":15459,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["rawlessonsdocuments.map((rawlessondocument",{"_index":15461,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["rc",{"_index":4879,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["rcid",{"_index":18886,"title":{},"body":{"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{}}}],["rd",{"_index":4884,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["re",{"_index":814,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BoardNodeRepo.html":{},"classes/ExternalToolScope.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["reachable",{"_index":4866,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["react",{"_index":25399,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["read",{"_index":1783,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"injectables/FileSystemAdapter.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/LessonRule.html":{},"controllers/NewsController.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"dependencies.html":{},"index.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["read(requiredpermissions",{"_index":1787,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["readable",{"_index":1302,"title":{},"body":{"injectables/AntivirusService.html":{},"classes/ConsentRequestBody.html":{},"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"classes/FileDto.html":{},"classes/FileDtoBuilder.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5pFileDto.html":{},"interfaces/ListFiles.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/PreviewFileParams.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestHelper.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["readable.from('abc",{"_index":18352,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["readable.from(text",{"_index":22167,"title":{},"body":{"classes/TestHelper.html":{}}}],["readablestreamwithfiletype",{"_index":18343,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["readablestreamwithfiletypefactory",{"_index":18350,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["readablestreamwithfiletypeimp",{"_index":18340,"title":{"classes/ReadableStreamWithFileTypeImp.html":{}},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["readablestreamwithfiletypeprops",{"_index":18345,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["readcourseids",{"_index":21829,"title":{},"body":{"injectables/TaskUC.html":{}}}],["readcourses",{"_index":21825,"title":{},"body":{"injectables/TaskUC.html":{}}}],["readcourses.map((c",{"_index":21830,"title":{},"body":{"injectables/TaskUC.html":{}}}],["readdir",{"_index":11995,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["readdir(folderpath",{"_index":12014,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["reader",{"_index":3391,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["readfile",{"_index":11996,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["readfile(filepath",{"_index":12017,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["readfilesync",{"_index":13295,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["readfilesync(filepath",{"_index":13325,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["readily",{"_index":25079,"title":{},"body":{"license.html":{}}}],["reading",{"_index":24960,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["readlessons",{"_index":21834,"title":{},"body":{"injectables/TaskUC.html":{}}}],["readonly",{"_index":228,"title":{},"body":{"entities/Account.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorLoggable.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"injectables/BoardNodeRepo.html":{},"controllers/BoardSubmissionController.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BruteForceError.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CalendarService.html":{},"controllers/CardController.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/CopyFilesService.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRule.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameterFactory.html":{},"controllers/DashboardController.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionRequestFactory.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"controllers/DeletionRequestsController.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DtoCreator.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"injectables/EtherpadService.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersRosterService.html":{},"injectables/FederalStateService.html":{},"classes/FileRecordFactory.html":{},"controllers/FileSecurityController.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"controllers/GroupController.html":{},"injectables/GroupRepo.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/H5PContentFactory.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"classes/LessonFactory.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"controllers/LoginController.html":{},"injectables/LoginUc.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolService.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"classes/MaterialFactory.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PreviewActionsLoggable.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"injectables/ProvisioningService.html":{},"controllers/PseudonymController.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RepoLoader.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUserFactory.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearService.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/StorageProviderRepo.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"controllers/SystemController.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemRule.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"injectables/TaskRule.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"classes/TeamFactory.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserFactory.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"controllers/TldrawController.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"injectables/ToolVersionService.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"controllers/UserController.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRule.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"entities/VideoConference.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceOptions.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["readstream",{"_index":22066,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["readsyncmessage",{"_index":22459,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["readsyncmessage(decoder",{"_index":22503,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["ready",{"_index":14773,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["readystate",{"_index":22409,"title":{},"body":{"classes/TldrawWsFactory.html":{}}}],["real",{"_index":25311,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["really",{"_index":7442,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/TaskCopyUC.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["realm",{"_index":14409,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["realmname",{"_index":13593,"title":{},"body":{"interfaces/IKeycloakSettings.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["realmname}/authentication/flows",{"_index":14518,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["realmname}/authentication/flows/{flowalias}/executions",{"_index":14527,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["realmname}/authentication/flows/{flowalias}/executions/execution",{"_index":14529,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["reason",{"_index":11736,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/ParentInfo.html":{},"classes/ScanResultDto.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["reasonable",{"_index":24885,"title":{},"body":{"license.html":{}}}],["reasons",{"_index":21196,"title":{},"body":{"classes/SystemResponseMapper.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["receipt",{"_index":25014,"title":{},"body":{"license.html":{}}}],["receive",{"_index":2913,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"license.html":{}}}],["received",{"_index":2914,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"license.html":{}}}],["receives",{"_index":25030,"title":{},"body":{"license.html":{}}}],["receiving",{"_index":25093,"title":{},"body":{"license.html":{}}}],["recieved",{"_index":25741,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["recieving",{"_index":25465,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["recipient",{"_index":24945,"title":{},"body":{"license.html":{}}}],["recipient's",{"_index":25086,"title":{},"body":{"license.html":{}}}],["recipients",{"_index":1455,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{},"license.html":{}}}],["recognized",{"_index":24760,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["recommend",{"_index":25772,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["recommendations",{"_index":25818,"title":{},"body":{"additional-documentation/nestjs-application/vscode.html":{}}}],["recommended",{"_index":25816,"title":{},"body":{"additional-documentation/nestjs-application/vscode.html":{}}}],["reconnect",{"_index":15011,"title":{},"body":{"injectables/LdapService.html":{}}}],["reconsidered",{"_index":15062,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["record",{"_index":1078,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AuthorizationError.html":{},"injectables/BasicToolLaunchStrategy.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardNodeRepo.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"interfaces/CommonCartridgeElement.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorResponse.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileUrlParams.html":{},"classes/ForbiddenOperationError.html":{},"classes/GroupDomainMapper.html":{},"classes/GroupResponseMapper.html":{},"classes/LdapConnectionError.html":{},"injectables/Lti11EncryptionService.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/SanisResponseMapper.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolMetadata.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SingleFileParams.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolContextMapper.html":{},"classes/ToolLaunchMapper.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"interfaces/UserProperties.html":{},"classes/ValidationError.html":{}}}],["record.mapper.ts",{"_index":11820,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["record.mapper.ts:11",{"_index":11828,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["record.mapper.ts:23",{"_index":11825,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["record.mapper.ts:5",{"_index":11830,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["recording",{"_index":2311,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["recursive",{"_index":3593,"title":{},"body":{"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"classes/CopyApiResponse.html":{}}}],["recursivecopyvisitor",{"_index":3592,"title":{"classes/RecursiveCopyVisitor.html":{}},"body":{"injectables/BoardDoCopyService.html":{},"classes/RecursiveCopyVisitor.html":{}}}],["recursivecopyvisitor(params.filecopyservice",{"_index":3599,"title":{},"body":{"injectables/BoardDoCopyService.html":{}}}],["recursivedeletevisitor",{"_index":3611,"title":{"injectables/RecursiveDeleteVisitor.html":{}},"body":{"injectables/BoardDoRepo.html":{},"modules/BoardModule.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["recursively",{"_index":12024,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"injectables/PermissionService.html":{}}}],["recursivesavevisitor",{"_index":3639,"title":{"classes/RecursiveSaveVisitor.html":{}},"body":{"injectables/BoardDoRepo.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["recursivesavevisitor(this.em",{"_index":3671,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["red",{"_index":25238,"title":{},"body":{"todo.html":{}}}],["redirect",{"_index":2257,"title":{},"body":{"classes/BBBJoinConfig.html":{},"classes/MigrationDto.html":{},"classes/OAuthProcessDto.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/RedirectResponse.html":{}}}],["redirect_to",{"_index":18053,"title":{},"body":{"interfaces/ProviderRedirectResponse.html":{},"classes/RedirectResponse.html":{}}}],["redirect_uri",{"_index":1498,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/HydraSsoService.html":{},"classes/TokenRequestMapper.html":{}}}],["redirect_uris",{"_index":10975,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{},"classes/OauthClientBody.html":{},"injectables/OauthProviderClientCrudUc.html":{}}}],["redirectreponse",{"_index":18564,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["redirectreponse.redirect_to",{"_index":18569,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["redirectresponse",{"_index":17211,"title":{"classes/RedirectResponse.html":{}},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/RedirectResponse.html":{}}}],["redirects",{"_index":17070,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["redirecturi",{"_index":13543,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfigEntity.html":{},"injectables/OAuthService.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{},"classes/TokenRequestMapper.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["redirecturis",{"_index":8211,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["redirecturl",{"_index":18565,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["redis",{"_index":4242,"title":{},"body":{"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{},"modules/RedisModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"dependencies.html":{}}}],["redis_client",{"_index":18574,"title":{},"body":{"modules/RedisModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["redis_uri",{"_index":20203,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["redisclient",{"_index":4243,"title":{},"body":{"modules/CacheWrapperModule.html":{},"modules/RedisModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["redisidentifier",{"_index":14334,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["redismodule",{"_index":18570,"title":{"modules/RedisModule.html":{}},"body":{"modules/RedisModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["redisstore",{"_index":20198,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["redistribute",{"_index":25187,"title":{},"body":{"license.html":{}}}],["redisurl",{"_index":4247,"title":{},"body":{"modules/CacheWrapperModule.html":{},"modules/RedisModule.html":{}}}],["reduce",{"_index":26077,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["reduce((previousteachers",{"_index":5788,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["ref",{"_index":2900,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CardResponse.html":{},"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/DeletionQueueConsole.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionItemResponse.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["ref.builder.ts",{"_index":9467,"title":{},"body":{"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{}}}],["ref.builder.ts:6",{"_index":9468,"title":{},"body":{"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{}}}],["ref.do.ts",{"_index":19723,"title":{},"body":{"classes/SchoolExternalToolRefDO.html":{}}}],["ref.do.ts:2",{"_index":19725,"title":{},"body":{"classes/SchoolExternalToolRefDO.html":{}}}],["ref.do.ts:4",{"_index":19724,"title":{},"body":{"classes/SchoolExternalToolRefDO.html":{}}}],["ref.params.ts",{"_index":7039,"title":{},"body":{"classes/ContextRefParams.html":{}}}],["ref.params.ts:13",{"_index":7040,"title":{},"body":{"classes/ContextRefParams.html":{}}}],["ref.params.ts:9",{"_index":7042,"title":{},"body":{"classes/ContextRefParams.html":{}}}],["ref.target",{"_index":2990,"title":{},"body":{"entities/Board.html":{}}}],["ref.ts",{"_index":7035,"title":{},"body":{"classes/ContextRef.html":{},"classes/ScopeRef.html":{}}}],["ref.ts:4",{"_index":7037,"title":{},"body":{"classes/ContextRef.html":{}}}],["ref.ts:5",{"_index":20106,"title":{},"body":{"classes/ScopeRef.html":{}}}],["ref.ts:6",{"_index":7036,"title":{},"body":{"classes/ContextRef.html":{}}}],["ref.ts:7",{"_index":20105,"title":{},"body":{"classes/ScopeRef.html":{}}}],["refactor",{"_index":8670,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IToolFeatures.html":{},"injectables/IdTokenService.html":{},"modules/LearnroomApiModule.html":{},"classes/ToolConfiguration.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["refactoring",{"_index":11394,"title":{},"body":{"injectables/FederalStateService.html":{},"classes/LegacySchoolDo.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SchoolYearService.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["refer",{"_index":3733,"title":{},"body":{"classes/BoardElementResponse.html":{}}}],["reference",{"_index":1842,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/BatchDeletionUc.html":{},"injectables/BoardDoRepo.html":{},"entities/BoardElement.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ColumnProps.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentResponse.html":{},"injectables/ContentElementUpdateVisitor.html":{},"entities/CourseNews.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DeletionClient.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"classes/ReferencesService.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"entities/SchoolNews.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{},"modules/ToolModule.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/UpdateMatchParams.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserDO.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["reference.contains(user",{"_index":1844,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["reference.controller",{"_index":22589,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["reference.controller.ts",{"_index":22955,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["reference.controller.ts:28",{"_index":22963,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["reference.controller.ts:51",{"_index":22967,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["reference.getmetadata",{"_index":8406,"title":{},"body":{"classes/DashboardEntity.html":{},"injectables/DashboardModelMapper.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["reference.length",{"_index":18651,"title":{},"body":{"classes/ReferencesService.html":{}}}],["reference.loader",{"_index":1958,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["reference.mapper.ts",{"_index":22980,"title":{},"body":{"classes/ToolReferenceMapper.html":{}}}],["reference.mapper.ts:6",{"_index":22983,"title":{},"body":{"classes/ToolReferenceMapper.html":{}}}],["reference.module",{"_index":12130,"title":{},"body":{"modules/FilesStorageApiModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/LearnroomApiModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/VideoConferenceModule.html":{}}}],["reference.module.ts",{"_index":1917,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["reference.response",{"_index":22978,"title":{},"body":{"classes/ToolReferenceListResponse.html":{}}}],["reference.response.ts",{"_index":22984,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["reference.response.ts:13",{"_index":22991,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["reference.response.ts:16",{"_index":22988,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["reference.response.ts:19",{"_index":22993,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["reference.response.ts:27",{"_index":22986,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["reference.response.ts:6",{"_index":22987,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["reference.service.ts",{"_index":1943,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{},"injectables/ToolReferenceService.html":{}}}],["reference.service.ts:12",{"_index":1950,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["reference.service.ts:14",{"_index":22999,"title":{},"body":{"injectables/ToolReferenceService.html":{}}}],["reference.service.ts:15",{"_index":1953,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["reference.service.ts:23",{"_index":23001,"title":{},"body":{"injectables/ToolReferenceService.html":{}}}],["reference.service.ts:26",{"_index":1955,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["reference.ts",{"_index":3740,"title":{},"body":{"interfaces/BoardExternalReference.html":{},"classes/RoleReference.html":{},"classes/ToolReference.html":{}}}],["reference.ts:10",{"_index":22951,"title":{},"body":{"classes/ToolReference.html":{}}}],["reference.ts:12",{"_index":22947,"title":{},"body":{"classes/ToolReference.html":{}}}],["reference.ts:4",{"_index":22948,"title":{},"body":{"classes/ToolReference.html":{}}}],["reference.ts:5",{"_index":19009,"title":{},"body":{"classes/RoleReference.html":{}}}],["reference.ts:6",{"_index":22950,"title":{},"body":{"classes/ToolReference.html":{}}}],["reference.ts:7",{"_index":19008,"title":{},"body":{"classes/RoleReference.html":{}}}],["reference.ts:8",{"_index":22949,"title":{},"body":{"classes/ToolReference.html":{}}}],["reference.type",{"_index":3662,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["reference.uc.ts",{"_index":23004,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["reference.uc.ts:11",{"_index":23007,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["reference.uc.ts:18",{"_index":23013,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["reference.uc.ts:41",{"_index":23015,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["reference.uc.ts:58",{"_index":23011,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["reference.uc.ts:72",{"_index":23009,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["referenced",{"_index":3718,"title":{},"body":{"entities/BoardElement.html":{},"classes/CardSkeletonResponse.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"injectables/ImportUserRepo.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"injectables/UserRepo.html":{}}}],["referencedentity",{"_index":9386,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["referencedentityid",{"_index":18622,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["referencedentityname",{"_index":18621,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["referencedentitynotfoundloggable",{"_index":18617,"title":{"classes/ReferencedEntityNotFoundLoggable.html":{}},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["referencedid",{"_index":8389,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["referenceforindex",{"_index":8465,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["referenceids",{"_index":2929,"title":{},"body":{"entities/Board.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["referenceloader",{"_index":1911,"title":{"injectables/ReferenceLoader.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["referencemodels",{"_index":8603,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["references",{"_index":2893,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardRepo.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DeletionQueueConsole.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"entities/ImportUser.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"classes/ReferencesService.html":{},"controllers/ToolReferenceController.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["references.filter((ref",{"_index":2984,"title":{},"body":{"entities/Board.html":{}}}],["references.push(columnboardelement",{"_index":3368,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["references.push(lessonelement",{"_index":3364,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["references.push(reference",{"_index":18652,"title":{},"body":{"classes/ReferencesService.html":{}}}],["references.push(taskelement",{"_index":3362,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["references.some((ref",{"_index":2989,"title":{},"body":{"entities/Board.html":{}}}],["references[position.groupindex",{"_index":8466,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["referencesservice",{"_index":2886,"title":{"classes/ReferencesService.html":{}},"body":{"injectables/BatchDeletionUc.html":{},"classes/ReferencesService.html":{}}}],["referencesservice.loadfromtxtfile(refsfilepath",{"_index":2896,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["referer",{"_index":13430,"title":{},"body":{"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{}}}],["referring",{"_index":24662,"title":{},"body":{"license.html":{}}}],["refers",{"_index":24707,"title":{},"body":{"license.html":{}}}],["refid",{"_index":11685,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"injectables/FilesRepo.html":{}}}],["refined",{"_index":25822,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["reflect",{"_index":24539,"title":{},"body":{"dependencies.html":{},"todo.html":{}}}],["reflector",{"_index":22191,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["reflector.get('timeout",{"_index":22194,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["refobjectid",{"_index":11537,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["refownermodel",{"_index":11484,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesRepo.html":{}}}],["refpermmodel",{"_index":11686,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["refrain",{"_index":25122,"title":{},"body":{"license.html":{}}}],["refresh_token",{"_index":17168,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"interfaces/OauthTokenResponse.html":{}}}],["refreshtimeout",{"_index":19403,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["refreshtoken",{"_index":16876,"title":{},"body":{"classes/OAuthTokenDto.html":{},"classes/TokenRequestMapper.html":{}}}],["refsfilepath",{"_index":2884,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"classes/DeletionQueueConsole.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{}}}],["refsfromtxtfile",{"_index":2895,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["refsfromtxtfile.foreach((ref",{"_index":2898,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["regard",{"_index":24965,"title":{},"body":{"license.html":{}}}],["regarding",{"_index":24597,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["regardless",{"_index":24855,"title":{},"body":{"license.html":{}}}],["regenerate",{"_index":24782,"title":{},"body":{"license.html":{}}}],["regex",{"_index":6159,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/CopyFilesService.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/FileMetadata.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/MongoPatterns.html":{},"classes/Path.html":{},"injectables/TaskCopyService.html":{},"injectables/UserRepo.html":{}}}],["regex_mongo_language_pattern_whitelist",{"_index":16363,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["regexcomment",{"_index":8135,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["regexp",{"_index":118,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CopyFilesService.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["regexp(`${sourceid",{"_index":7250,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["regexp(`^${email.replace(/\\w/g",{"_index":23847,"title":{},"body":{"injectables/UserRepo.html":{}}}],["regexp(param.regex",{"_index":10487,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["regexp(param.regex).test(foundentry.value",{"_index":6156,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["regexp(param.regex).test(param.default",{"_index":10489,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["regexp(searchusername",{"_index":819,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["regexpmatcharray",{"_index":136,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["region",{"_index":7192,"title":{},"body":{"interfaces/CopyFiles.html":{},"injectables/DeleteFilesUc.html":{},"interfaces/File.html":{},"interfaces/FileStorageConfig.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["register",{"_index":17848,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{},"modules/S3ClientModule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["register(config",{"_index":17849,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["register(configs",{"_index":19410,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["registerparentdata",{"_index":18497,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["registerparentdata(parent",{"_index":18503,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["registerstrategy",{"_index":18074,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["registerstrategy(strategy",{"_index":18089,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["registrated",{"_index":26045,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["registrationpinentity",{"_index":18653,"title":{"entities/RegistrationPinEntity.html":{}},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"injectables/RegistrationPinRepo.html":{}}}],["registrationpinentityprops",{"_index":18663,"title":{"interfaces/RegistrationPinEntityProps.html":{}},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{}}}],["registrationpinmodule",{"_index":8921,"title":{"modules/RegistrationPinModule.html":{}},"body":{"modules/DeletionApiModule.html":{},"modules/RegistrationPinModule.html":{}}}],["registrationpinrepo",{"_index":18676,"title":{"injectables/RegistrationPinRepo.html":{}},"body":{"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{}}}],["registrationpins",{"_index":18664,"title":{},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{}}}],["registrationpinservice",{"_index":18675,"title":{"injectables/RegistrationPinService.html":{}},"body":{"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinService.html":{}}}],["regular",{"_index":808,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["reinstated",{"_index":25003,"title":{},"body":{"license.html":{}}}],["reject",{"_index":15016,"title":{},"body":{"injectables/LdapService.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["reject(new",{"_index":15023,"title":{},"body":{"injectables/LdapService.html":{}}}],["rejectable.body",{"_index":6275,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["rejectable.body.ts",{"_index":16807,"title":{},"body":{"classes/OAuthRejectableBody.html":{}}}],["rejectable.body.ts:13",{"_index":16808,"title":{},"body":{"classes/OAuthRejectableBody.html":{}}}],["rejectable.body.ts:23",{"_index":16809,"title":{},"body":{"classes/OAuthRejectableBody.html":{}}}],["rejectable.body.ts:32",{"_index":16810,"title":{},"body":{"classes/OAuthRejectableBody.html":{}}}],["rejectable.body.ts:41",{"_index":16811,"title":{},"body":{"classes/OAuthRejectableBody.html":{}}}],["rejectable.body.ts:50",{"_index":16812,"title":{},"body":{"classes/OAuthRejectableBody.html":{}}}],["rejectconsentrequest",{"_index":17186,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["rejectconsentrequest(challenge",{"_index":17195,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["rejectloginrequest",{"_index":17342,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["rejectloginrequest(challenge",{"_index":17350,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["rejectnothandled",{"_index":6442,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["rejectnothandled(component",{"_index":6445,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["rejectrequestbody",{"_index":17196,"title":{"interfaces/RejectRequestBody.html":{}},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{},"interfaces/RejectRequestBody.html":{}}}],["related",{"_index":4873,"title":{},"body":{"interfaces/CleanOptions.html":{},"interfaces/CollectionFilePath.html":{},"classes/CreateNewsParams.html":{},"classes/FilterNewsParams.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/NextcloudStrategy.html":{},"controllers/PseudonymController.html":{},"interfaces/RetryOptions.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["relatedresourceproperties",{"_index":16105,"title":{"interfaces/RelatedResourceProperties.html":{}},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["relatedresources",{"_index":16097,"title":{},"body":{"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["relation",{"_index":12879,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{}}}],["relation.ktid",{"_index":19604,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["relation.rollen?.length",{"_index":19601,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["relations",{"_index":11709,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"additional-documentation/nestjs-application.html":{}}}],["relationship",{"_index":21337,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"license.html":{}}}],["relationtype",{"_index":16116,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["relative",{"_index":5189,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/HydraSsoService.html":{}}}],["relative.org",{"_index":6485,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["release",{"_index":25791,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["released",{"_index":24702,"title":{},"body":{"license.html":{}}}],["releasing",{"_index":24694,"title":{},"body":{"license.html":{}}}],["relevant",{"_index":24849,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["relicensing",{"_index":24703,"title":{},"body":{"license.html":{}}}],["reload",{"_index":17963,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{}}}],["relying",{"_index":25078,"title":{},"body":{"license.html":{}}}],["remain",{"_index":24902,"title":{},"body":{"license.html":{}}}],["remains",{"_index":24660,"title":{},"body":{"license.html":{}}}],["remember",{"_index":169,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OauthProviderRequestMapper.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["remember_for",{"_index":170,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OauthProviderRequestMapper.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["remembered",{"_index":6249,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["rememberfor",{"_index":6247,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["remote",{"_index":25124,"title":{},"body":{"license.html":{}}}],["remotely",{"_index":25126,"title":{},"body":{"license.html":{}}}],["removal",{"_index":13333,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"license.html":{}}}],["remove",{"_index":1938,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"interfaces/CleanOptions.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"entities/CourseNews.html":{},"classes/DeleteFilesConsole.html":{},"injectables/FilesStorageConsumer.html":{},"classes/GlobalValidationPipe.html":{},"injectables/H5PLibraryManagementService.html":{},"modules/InterceptorModule.html":{},"classes/KeycloakConsole.html":{},"modules/LearnroomApiModule.html":{},"interfaces/LibrariesContentType.html":{},"interfaces/MigrationOptions.html":{},"classes/MongoPatterns.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/PermissionService.html":{},"interfaces/RetryOptions.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{},"modules/ToolModule.html":{},"injectables/ToolVersionService.html":{},"modules/VideoConferenceModule.html":{},"index.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["removeawarenessstates",{"_index":22455,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["removeawarenessstates(doc.awareness",{"_index":22472,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["removechild",{"_index":3046,"title":{},"body":{"classes/BoardComposite.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["removechild(child",{"_index":3064,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["removed",{"_index":80,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/CommonToolService.html":{},"interfaces/IToolFeatures.html":{},"classes/RpcMessageProducer.html":{},"classes/ToolConfiguration.html":{},"injectables/ToolVersionService.html":{},"modules/VideoConferenceModule.html":{},"classes/WsSharedDocDo.html":{}}}],["removed.foreach((clientid",{"_index":24389,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["removedeletedreferences(boardelementtargets",{"_index":2982,"title":{},"body":{"entities/Board.html":{}}}],["removedirrecursive",{"_index":11997,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["removedirrecursive(folderpath",{"_index":12022,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["removeemptyobjectsfromresponse",{"_index":19486,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["removeemptyobjectsfromresponse(response",{"_index":19499,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["removeexternalgroupsandaffiliation",{"_index":17556,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["removeexternalgroupsandaffiliation(externaluserid",{"_index":17572,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["removefeature",{"_index":15253,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["removefeature(schoolid",{"_index":15265,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["removefromposition",{"_index":8335,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["removefromposition(position",{"_index":8371,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["removefromwhitelist",{"_index":14314,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["removefromwhitelist(accountid",{"_index":14324,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["removegroupmoderator(groupname",{"_index":1138,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["removejwtfromwhitelist",{"_index":1692,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["removejwtfromwhitelist(jwttoken",{"_index":1707,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["removematch",{"_index":13829,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["removematch(urlparams",{"_index":13843,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["removepermissionsbyrefid(refid",{"_index":11536,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["removeprotectedentityfields",{"_index":2444,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["removeprotectedentityfields(entity",{"_index":2475,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["removereference",{"_index":12607,"title":{},"body":{"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["removereference(reference",{"_index":8385,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["removereferencebyindex",{"_index":12608,"title":{},"body":{"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["removereferencebyindex(index",{"_index":8384,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["removeroomsnotinlist",{"_index":8336,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["removeroomsnotinlist(roomlist",{"_index":8373,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["removes",{"_index":5371,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/FileSystemAdapter.html":{}}}],["removesecrets(collectionname",{"_index":5382,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["removesecretsfromstorageproviders(storageproviders",{"_index":5385,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["removesecretsfromsystems(systems",{"_index":5389,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["removestudent(userid",{"_index":7678,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{}}}],["removesubstitutionteacher(userid",{"_index":7514,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["removeteacher(userid",{"_index":7512,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["removeuser",{"_index":4556,"title":{},"body":{"classes/Class.html":{},"classes/Group.html":{}}}],["removeuser(user",{"_index":12637,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["removeuser(userid",{"_index":4565,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["removeuserids",{"_index":16757,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["removeuserids.tostring",{"_index":16761,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["removeuserpermissionstoanyfiles",{"_index":12098,"title":{},"body":{"injectables/FilesService.html":{}}}],["removeuserpermissionstoanyfiles(userid",{"_index":12106,"title":{},"body":{"injectables/FilesService.html":{}}}],["rename",{"_index":10655,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["renamebodyparams",{"_index":3217,"title":{"classes/RenameBodyParams.html":{}},"body":{"controllers/BoardController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"classes/RenameBodyParams.html":{}}}],["renamed",{"_index":16739,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["renamefileparams",{"_index":7165,"title":{"classes/RenameFileParams.html":{}},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["renamegroupondashboard",{"_index":8685,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["renamegroupondashboard(dashboardid",{"_index":8692,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["rendered",{"_index":25166,"title":{},"body":{"license.html":{}}}],["reorderboardelements",{"_index":19205,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["reorderboardelements(roomid",{"_index":19210,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["reorderelements(ids",{"_index":2960,"title":{},"body":{"entities/Board.html":{}}}],["reordering",{"_index":2972,"title":{},"body":{"entities/Board.html":{}}}],["repair",{"_index":25156,"title":{},"body":{"license.html":{}}}],["repeat",{"_index":25437,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["repeatcommand",{"_index":14630,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["repeatcommand(commandname",{"_index":4932,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["repeats",{"_index":16091,"title":{},"body":{"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{}}}],["repetitions",{"_index":4933,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["replace",{"_index":1994,"title":{},"body":{"injectables/AuthorizationService.html":{},"injectables/BaseDORepo.html":{},"interfaces/CollectionFilePath.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"classes/ReferencesService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["replace('exception",{"_index":12581,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["replace(/\\\\n/g",{"_index":15134,"title":{},"body":{"injectables/LegacyLogger.html":{},"classes/LoggingUtils.html":{}}}],["replaced",{"_index":1921,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/BaseRepo.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"interfaces/UserBoardRoles.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["replacement",{"_index":5377,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/CopyFilesService.html":{},"injectables/TaskCopyService.html":{}}}],["replacemypassword",{"_index":320,"title":{},"body":{"controllers/AccountController.html":{}}}],["replacemypassword(currentuser",{"_index":353,"title":{},"body":{"controllers/AccountController.html":{}}}],["replicaset",{"_index":25910,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["replikaset",{"_index":25242,"title":{},"body":{"todo.html":{}}}],["replset",{"_index":25914,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["reply",{"_index":22504,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["replyto",{"_index":1458,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["repo",{"_index":2624,"title":{},"body":{"injectables/BaseRepo.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoService.html":{},"modules/BoardModule.html":{},"injectables/CardService.html":{},"modules/ClassModule.html":{},"injectables/ClassService.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseService.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionLogService.html":{},"modules/DeletionModule.html":{},"injectables/ExternalToolMetadataService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolService.html":{},"modules/FilesModule.html":{},"injectables/FilesService.html":{},"modules/FilesStorageModule.html":{},"modules/GroupModule.html":{},"injectables/GroupService.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/LegacySchoolModule.html":{},"modules/PseudonymModule.html":{},"injectables/PseudonymService.html":{},"injectables/ReferenceLoader.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RepoLoader.html":{},"modules/RocketChatUserModule.html":{},"injectables/RocketChatUserService.html":{},"injectables/SchoolYearService.html":{},"injectables/SubmissionItemService.html":{},"modules/SystemModule.html":{},"injectables/SystemService.html":{},"injectables/TemporaryFileStorage.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolModule.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["repo.integration.spec",{"_index":7846,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["repo.integration.spec.js",{"_index":25783,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["repo.ts",{"_index":25520,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["repo/account.repo",{"_index":676,"title":{},"body":{"modules/AccountModule.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{}}}],["repo/deletion",{"_index":9228,"title":{},"body":{"modules/DeletionModule.html":{},"injectables/DeletionRequestService.html":{}}}],["repo/share",{"_index":20425,"title":{},"body":{"injectables/ShareTokenService.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["repo/temporary",{"_index":22076,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["repo/tldraw.repo",{"_index":22341,"title":{},"body":{"modules/TldrawModule.html":{},"injectables/TldrawService.html":{}}}],["repoloader",{"_index":18588,"title":{"interfaces/RepoLoader.html":{}},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["repoloader.populate",{"_index":18615,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["repoloader.repo.findbyid(objectid",{"_index":18616,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["report",{"_index":8734,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["reported",{"_index":25614,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["reporting",{"_index":25823,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["reports",{"_index":25794,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["repos",{"_index":6042,"title":{},"body":{"modules/CommonToolModule.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"modules/VideoConferenceModule.html":{}}}],["repositories",{"_index":25224,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["repository",{"_index":15438,"title":{},"body":{"modules/LessonModule.html":{},"injectables/LessonService.html":{},"injectables/PseudonymService.html":{},"index.html":{},"properties.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["repository.createorupdate(pseudonym",{"_index":18241,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["repository.findbyuseridandtoolid(user.id",{"_index":18240,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["repotype",{"_index":18589,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["represent",{"_index":24932,"title":{},"body":{"license.html":{}}}],["representation",{"_index":626,"title":{},"body":{"injectables/AccountLookupService.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["represents",{"_index":6270,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{}}}],["req",{"_index":11943,"title":{},"body":{"controllers/FileSecurityController.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{},"controllers/OauthSSOController.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResponseInfo.html":{},"injectables/S3ClientAdapter.html":{},"controllers/VideoConferenceController.html":{}}}],["req.baseurl",{"_index":18716,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["req.header('range",{"_index":12401,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["req.headers.authorization",{"_index":17477,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["req.headers.origin",{"_index":24053,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["req.method",{"_index":18715,"title":{},"body":{"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResponseInfo.html":{}}}],["req.on('close",{"_index":11955,"title":{},"body":{"controllers/FileSecurityController.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{}}}],["req.params",{"_index":18756,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["req.params[0]}/${params.fwulearningcontent",{"_index":12402,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["req.query",{"_index":18757,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["req.route.path",{"_index":18720,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["req.url",{"_index":18755,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["req.user",{"_index":18754,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["reqinfo",{"_index":18729,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["reqinfo.baseurl",{"_index":18734,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["reqinfo.fullpath",{"_index":18735,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["reqinfo.method",{"_index":18733,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["reqinfo.routepath",{"_index":18736,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["reqroute",{"_index":18710,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["request",{"_index":193,"title":{},"body":{"classes/AcceptQuery.html":{},"controllers/AccountController.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AxiosErrorFactory.html":{},"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{},"injectables/BatchDeletionService.html":{},"controllers/CollaborativeStorageController.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/DeletionClient.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"interfaces/FileRequestInfo.html":{},"controllers/FileSecurityController.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageProducer.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{},"interfaces/ILegacyLogger.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/JwtExtractor.html":{},"injectables/LdapStrategy.html":{},"controllers/LoginController.html":{},"classes/LoginResponse-1.html":{},"injectables/Oauth2Strategy.html":{},"controllers/OauthSSOController.html":{},"injectables/PreviewProducer.html":{},"classes/PublicSystemResponse.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResponseInfo.html":{},"classes/RpcMessageProducer.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SystemFilterParams.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TldrawWs.html":{},"classes/TokenRequestLoggableException.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolSchoolController.html":{},"injectables/UserRepo.html":{},"controllers/VideoConferenceController.html":{},"dependencies.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["request's",{"_index":8990,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["request'})@apiresponse({status",{"_index":5065,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"controllers/DeletionRequestsController.html":{}}}],["request(event",{"_index":12309,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{}}}],["request(s",{"_index":8997,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["request.body",{"_index":15055,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/Oauth2Strategy.html":{}}}],["request.body.params.ts",{"_index":9275,"title":{},"body":{"classes/DeletionRequestBodyProps.html":{}}}],["request.body.params.ts:11",{"_index":9280,"title":{},"body":{"classes/DeletionRequestBodyProps.html":{}}}],["request.body.params.ts:20",{"_index":9278,"title":{},"body":{"classes/DeletionRequestBodyProps.html":{}}}],["request.body.ts",{"_index":165,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"interfaces/RejectRequestBody.html":{}}}],["request.body.ts:10",{"_index":6238,"title":{},"body":{"classes/ConsentRequestBody.html":{}}}],["request.body.ts:14",{"_index":15784,"title":{},"body":{"classes/LoginRequestBody.html":{}}}],["request.body.ts:20",{"_index":6245,"title":{},"body":{"classes/ConsentRequestBody.html":{}}}],["request.body.ts:24",{"_index":15785,"title":{},"body":{"classes/LoginRequestBody.html":{}}}],["request.body.ts:30",{"_index":6251,"title":{},"body":{"classes/ConsentRequestBody.html":{}}}],["request.contextid",{"_index":6819,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["request.contexttype",{"_index":6820,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["request.displayname",{"_index":6821,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["request.do",{"_index":9309,"title":{},"body":{"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["request.do.ts",{"_index":9257,"title":{},"body":{"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{}}}],["request.do.ts:15",{"_index":9259,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["request.do.ts:19",{"_index":9260,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["request.do.ts:23",{"_index":9262,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["request.do.ts:27",{"_index":9264,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["request.do.ts:31",{"_index":9266,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["request.do.ts:35",{"_index":9268,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["request.entity.ts",{"_index":9286,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["request.entity.ts:22",{"_index":9288,"title":{},"body":{"entities/DeletionRequestEntity.html":{}}}],["request.entity.ts:25",{"_index":9291,"title":{},"body":{"entities/DeletionRequestEntity.html":{}}}],["request.entity.ts:28",{"_index":9290,"title":{},"body":{"entities/DeletionRequestEntity.html":{}}}],["request.entity.ts:31",{"_index":9289,"title":{},"body":{"entities/DeletionRequestEntity.html":{}}}],["request.factory.ts",{"_index":9306,"title":{},"body":{"classes/DeletionRequestFactory.html":{}}}],["request.factory.ts:8",{"_index":9308,"title":{},"body":{"classes/DeletionRequestFactory.html":{}}}],["request.mapper",{"_index":9375,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/OAuthService.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["request.mapper.ts",{"_index":6807,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"classes/DeletionRequestMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/TokenRequestMapper.html":{}}}],["request.mapper.ts:115",{"_index":10718,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:119",{"_index":10725,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:125",{"_index":10729,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:131",{"_index":10732,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:137",{"_index":10736,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:143",{"_index":10722,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:160",{"_index":10740,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:17",{"_index":9340,"title":{},"body":{"classes/DeletionRequestMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["request.mapper.ts:172",{"_index":10716,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:21",{"_index":22564,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["request.mapper.ts:22",{"_index":6814,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["request.mapper.ts:5",{"_index":9339,"title":{},"body":{"classes/DeletionRequestMapper.html":{},"classes/OauthProviderRequestMapper.html":{}}}],["request.mapper.ts:6",{"_index":22562,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["request.mapper.ts:60",{"_index":10745,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:7",{"_index":6811,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["request.mapper.ts:8",{"_index":19766,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{}}}],["request.mapper.ts:88",{"_index":10712,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.repo",{"_index":9229,"title":{},"body":{"modules/DeletionModule.html":{},"injectables/DeletionRequestService.html":{}}}],["request.repo.ts",{"_index":9354,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:11",{"_index":9358,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:14",{"_index":9373,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:18",{"_index":9366,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:28",{"_index":9360,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:34",{"_index":9364,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:49",{"_index":9372,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:56",{"_index":9368,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:67",{"_index":9370,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:78",{"_index":9362,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.response.ts",{"_index":9395,"title":{},"body":{"classes/DeletionRequestResponse.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["request.response.ts:10",{"_index":22871,"title":{},"body":{"classes/ToolLaunchRequestResponse.html":{}}}],["request.response.ts:16",{"_index":22875,"title":{},"body":{"classes/ToolLaunchRequestResponse.html":{}}}],["request.response.ts:23",{"_index":22873,"title":{},"body":{"classes/ToolLaunchRequestResponse.html":{}}}],["request.response.ts:30",{"_index":22870,"title":{},"body":{"classes/ToolLaunchRequestResponse.html":{}}}],["request.response.ts:5",{"_index":9397,"title":{},"body":{"classes/DeletionRequestResponse.html":{}}}],["request.response.ts:8",{"_index":9396,"title":{},"body":{"classes/DeletionRequestResponse.html":{}}}],["request.schoolid",{"_index":19770,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{}}}],["request.schooltoolid",{"_index":6818,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["request.service",{"_index":9227,"title":{},"body":{"modules/DeletionModule.html":{}}}],["request.service.ts",{"_index":9407,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:12",{"_index":9413,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:33",{"_index":9417,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:39",{"_index":9416,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:45",{"_index":9421,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:49",{"_index":9418,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:53",{"_index":9419,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:57",{"_index":9414,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:9",{"_index":9411,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.toolid",{"_index":19769,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{}}}],["request.toolversion",{"_index":6822,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["request.ts",{"_index":22863,"title":{},"body":{"classes/ToolLaunchRequest.html":{}}}],["request.ts:10",{"_index":22864,"title":{},"body":{"classes/ToolLaunchRequest.html":{}}}],["request.ts:4",{"_index":22865,"title":{},"body":{"classes/ToolLaunchRequest.html":{}}}],["request.ts:6",{"_index":22867,"title":{},"body":{"classes/ToolLaunchRequest.html":{}}}],["request.ts:8",{"_index":22866,"title":{},"body":{"classes/ToolLaunchRequest.html":{}}}],["request.url.replace(/(\\/)|(tldraw",{"_index":22401,"title":{},"body":{"classes/TldrawWs.html":{}}}],["request.user.user",{"_index":25230,"title":{},"body":{"todo.html":{}}}],["request.version",{"_index":19771,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{}}}],["request/bbb",{"_index":2287,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["request/response",{"_index":25579,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["request_denied",{"_index":6256,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{}}}],["request_url",{"_index":6281,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["requestauthcode",{"_index":13395,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["requestauthcode(jwt",{"_index":13405,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["requestauthtoken",{"_index":17455,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["requestauthtoken(currentuser",{"_index":17460,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["requestconfig",{"_index":8995,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["requestdata",{"_index":15835,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["requested",{"_index":2845,"title":{},"body":{"injectables/BatchDeletionService.html":{},"classes/ConsentResponse.html":{},"classes/DeletionExecutionConsole.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"classes/LoginResponse-1.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{}}}],["requested_access_token_audience",{"_index":6282,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["requested_scope",{"_index":6283,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["requesthandler",{"_index":18713,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["requestid",{"_index":2824,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps-1.html":{},"classes/DeletionRequestResponse.html":{},"injectables/DeletionRequestService.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/DeletionTargetRef-1.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["requestinfo",{"_index":18697,"title":{"classes/RequestInfo.html":{}},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["requestinfo(req",{"_index":18730,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["requesting",{"_index":16987,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["requestloggingbody",{"_index":13607,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{},"injectables/RequestLoggingInterceptor.html":{}}}],["requestlogginginterceptor",{"_index":18746,"title":{"injectables/RequestLoggingInterceptor.html":{}},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["requestmapper",{"_index":23050,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["requestoptions",{"_index":15833,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["requests",{"_index":9026,"title":{},"body":{"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"modules/InterceptorModule.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"classes/VideoConferenceOptionsResponse.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["requests.controller",{"_index":8937,"title":{},"body":{"modules/DeletionApiModule.html":{}}}],["requests.controller.ts",{"_index":9437,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["requests.controller.ts:23",{"_index":9448,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["requests.controller.ts:39",{"_index":9454,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["requests.controller.ts:51",{"_index":9444,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["requesttimeout",{"_index":19159,"title":{},"body":{"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{},"injectables/TimeoutInterceptor.html":{}}}],["requesttimeout(serverconfig().incoming_request_timeout_copy_api",{"_index":19174,"title":{},"body":{"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{}}}],["requesttimeoutexception",{"_index":22190,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["requesttoken",{"_index":1309,"title":{},"body":{"injectables/AntivirusService.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"injectables/OAuthService.html":{},"interfaces/ParentInfo.html":{}}}],["requesttoken(code",{"_index":16834,"title":{},"body":{"injectables/OAuthService.html":{}}}],["requesturl",{"_index":6305,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["require",{"_index":5331,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["require('../../../../../src/services/authentication/configuration",{"_index":14266,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["require('../../../../config/globals",{"_index":12518,"title":{},"body":{"interfaces/GlobalConstants.html":{}}}],["require('rimraf",{"_index":12035,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["require_tld",{"_index":24085,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["required",{"_index":194,"title":{},"body":{"classes/AcceptQuery.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"controllers/AccountController.html":{},"classes/AccountSearchQueryParams.html":{},"classes/BoardUrlParams.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"interfaces/CleanOptions.html":{},"controllers/ColumnController.html":{},"classes/ColumnUrlParams.html":{},"injectables/CommonToolValidationService.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/CourseQueryParams.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestBodyProps.html":{},"controllers/ElementController.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolIdParams.html":{},"classes/FileMetadata.html":{},"classes/GetMetaTagDataBody.html":{},"classes/GlobalValidationPipe.html":{},"classes/GroupIdParams.html":{},"classes/IdParams.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakConsole.html":{},"injectables/LdapStrategy.html":{},"injectables/LessonUC.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibraryName.html":{},"classes/ListOauthClientsParams.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"interfaces/MigrationOptions.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/NewsUrlParams.html":{},"classes/OAuthRejectableBody.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigResponse.html":{},"interfaces/Options.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/Path.html":{},"classes/PseudonymParams.html":{},"classes/PublicSystemResponse.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RenameBodyParams.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SetHeightBodyParams.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionUrlParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TeamUrlParams.html":{},"classes/TldrawDeleteParams.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReferenceResponse.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserParams.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceScopeParams.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["required.'})@apiresponse({status",{"_index":332,"title":{},"body":{"controllers/AccountController.html":{}}}],["requiredemptyelement",{"_index":4487,"title":{},"body":{"injectables/CardService.html":{}}}],["requiredemptyelements",{"_index":4453,"title":{},"body":{"injectables/CardService.html":{},"controllers/ColumnController.html":{},"injectables/ColumnUc.html":{},"classes/CreateCardBodyParams.html":{}}}],["requiredextensions",{"_index":11621,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["requiredpermissions",{"_index":1778,"title":{},"body":{"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationService.html":{},"classes/BaseUc.html":{},"injectables/CardUc.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"classes/DtoCreator.html":{},"classes/ForbiddenLoggableException.html":{},"injectables/LessonRule.html":{},"injectables/NewsUc.html":{},"injectables/PermissionService.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/ShareTokenUC.html":{},"injectables/SubmissionRule.html":{},"injectables/TaskRule.html":{},"injectables/UserLoginMigrationUc.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["requiredpermissions.every((p",{"_index":1824,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/PermissionService.html":{}}}],["requiredpermissions.length",{"_index":1837,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/PermissionService.html":{}}}],["requiredpermissions.some((p",{"_index":1839,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["requireduserrole",{"_index":2657,"title":{},"body":{"classes/BaseUc.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{},"interfaces/UserBoardRoles.html":{}}}],["requireduserrole(userroleenum",{"_index":3404,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["requirement",{"_index":14538,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"license.html":{}}}],["requirements",{"_index":24904,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["requires",{"_index":10465,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/GlobalValidationPipe.html":{},"injectables/MetaTagExtractorService.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["requiring",{"_index":24719,"title":{},"body":{"license.html":{}}}],["res",{"_index":7527,"title":{},"body":{"controllers/CourseController.html":{},"controllers/DatabaseManagementController.html":{},"controllers/FileSecurityController.html":{},"classes/FilesStorageMapper.html":{},"controllers/FwuLearningContentsController.html":{},"classes/H5PContentMapper.html":{},"controllers/H5PEditorController.html":{},"injectables/HydraSsoService.html":{},"classes/MetadataTypeMapper.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"injectables/S3ClientAdapter.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"controllers/ToolController.html":{}}}],["res.contenttype",{"_index":11958,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["res.cookie",{"_index":1621,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["res.data.destroy",{"_index":11956,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["res.files.length",{"_index":19390,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["res.send(externaltoollogo.logo",{"_index":22790,"title":{},"body":{"controllers/ToolController.html":{}}}],["res.set",{"_index":12404,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{}}}],["res.setheader('cache",{"_index":22787,"title":{},"body":{"controllers/ToolController.html":{}}}],["res.setheader('content",{"_index":22786,"title":{},"body":{"controllers/ToolController.html":{}}}],["res.status(httpstatus.ok",{"_index":12410,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{}}}],["res.status(httpstatus.partial_content",{"_index":12409,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{}}}],["res.statuscode",{"_index":18723,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["resave",{"_index":20206,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["reset",{"_index":270,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"classes/DatabaseManagementConsole.html":{},"modules/DatabaseManagementModule.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FeathersModule.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolModule.html":{},"modules/LessonApiModule.html":{},"modules/LessonModule.html":{},"modules/LoggerModule.html":{},"modules/LtiToolModule.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/NewsModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/OauthProviderServiceModule.html":{},"interfaces/Options.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"modules/PseudonymModule.html":{},"modules/RedisModule.html":{},"modules/RegistrationPinModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["resetlastauthorizationtime",{"_index":14372,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["resetoauthconfigcache",{"_index":14645,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["resinfo",{"_index":18731,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["resinfo.statuscode",{"_index":18737,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["resizeandconvert",{"_index":17868,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["resizeandconvert(original",{"_index":17878,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["resolve",{"_index":6259,"title":{},"body":{"classes/ConsentRequestBody.html":{},"injectables/ExternalToolService.html":{},"injectables/FeathersRosterService.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"injectables/PermissionService.html":{},"classes/TestConnection.html":{},"injectables/ToolPermissionHelper.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["resolve(client",{"_index":15022,"title":{},"body":{"injectables/LdapService.html":{}}}],["resolved",{"_index":3290,"title":{},"body":{"injectables/BoardCopyService.html":{},"interfaces/CollectionFilePath.html":{},"classes/ResolvedGroupDto.html":{},"injectables/SanisProvisioningStrategy.html":{},"license.html":{}}}],["resolvedgroup",{"_index":12847,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroup.externalsource",{"_index":12864,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroup.externalsource.externalid",{"_index":12865,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroup.externalsource.systemid",{"_index":12866,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroup.id",{"_index":12861,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroup.name",{"_index":12862,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroup.organizationid",{"_index":12872,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroup.users.map",{"_index":12867,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroupdto",{"_index":12687,"title":{"classes/ResolvedGroupDto.html":{}},"body":{"controllers/GroupController.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{},"classes/ResolvedGroupDto.html":{}}}],["resolvedgroupuser",{"_index":12924,"title":{"classes/ResolvedGroupUser.html":{}},"body":{"classes/GroupUcMapper.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{}}}],["resolvedgroupusers",{"_index":12928,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["resolvedtools",{"_index":10931,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["resolvedtools.filter((tool",{"_index":10938,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["resolveduser",{"_index":23196,"title":{},"body":{"controllers/UserController.html":{},"injectables/UserService.html":{}}}],["resolvedusermapper",{"_index":18771,"title":{"classes/ResolvedUserMapper.html":{}},"body":{"classes/ResolvedUserMapper.html":{},"controllers/UserController.html":{}}}],["resolvedusermapper.maptoresponse(user",{"_index":23197,"title":{},"body":{"controllers/UserController.html":{}}}],["resolveduserresponse",{"_index":18775,"title":{"classes/ResolvedUserResponse.html":{}},"body":{"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"controllers/UserController.html":{}}}],["resolvedusers",{"_index":12923,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["resolvedusers.filter((groupuser",{"_index":12938,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["resolvepermissions",{"_index":17750,"title":{},"body":{"injectables/PermissionService.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["resolvepermissions(user",{"_index":17754,"title":{},"body":{"injectables/PermissionService.html":{}}}],["resolvepermissionsbyroles",{"_index":17751,"title":{},"body":{"injectables/PermissionService.html":{}}}],["resolvepermissionsbyroles(inputroles",{"_index":17758,"title":{},"body":{"injectables/PermissionService.html":{}}}],["resolveplaceholder(placeholder",{"_index":5352,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["resolverepo",{"_index":18579,"title":{},"body":{"injectables/ReferenceLoader.html":{}}}],["resolverepo(type",{"_index":18586,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["resolves",{"_index":14029,"title":{},"body":{"injectables/ImportUserRepo.html":{},"injectables/NewsRepo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["resolvetokenrequest",{"_index":16931,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["resolvetokenrequest(observable",{"_index":16937,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["resource",{"_index":5833,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"controllers/ToolController.html":{},"controllers/ToolReferenceController.html":{}}}],["resource.'})@apiunauthorizedresponse({description",{"_index":22735,"title":{},"body":{"controllers/ToolController.html":{},"controllers/ToolReferenceController.html":{}}}],["resource.caninline",{"_index":5849,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["resource.ts",{"_index":5867,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["resource.ts:15",{"_index":6015,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["resource.ts:16",{"_index":5869,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["resource.ts:18",{"_index":6016,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["resource.ts:19",{"_index":5870,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebContentResource.html":{}}}],["resource.ts:22",{"_index":6010,"title":{},"body":{"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["resource.ts:23",{"_index":5871,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["resource.ts:26",{"_index":6011,"title":{},"body":{"classes/CommonCartridgeWebContentResource.html":{}}}],["resource.ts:30",{"_index":6012,"title":{},"body":{"classes/CommonCartridgeWebContentResource.html":{}}}],["resource.ts:61",{"_index":6017,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["resource.ts:81",{"_index":5872,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["resource_link_id",{"_index":8048,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["resourceelement.transform",{"_index":6009,"title":{},"body":{"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["resourceelements",{"_index":6007,"title":{},"body":{"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["resourceid",{"_index":16788,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["resourcename",{"_index":16789,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["resourceownerpasswordgrant",{"_index":13721,"title":{},"body":{"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["resourceownerpasswordgrant(username",{"_index":13724,"title":{},"body":{"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["resourceprops",{"_index":5753,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["resources",{"_index":5751,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["resp",{"_index":8978,"title":{},"body":{"injectables/DeletionClient.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["resp.data",{"_index":2400,"title":{},"body":{"injectables/BBBService.html":{},"injectables/DeletionClient.html":{}}}],["resp.data.deletionplannedat",{"_index":8992,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["resp.data.requestid",{"_index":8986,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["resp.everyattendeejoinsmuted",{"_index":24294,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["resp.everybodyjoinsasmoderator",{"_index":24295,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["resp.moderatormustapprovejoinrequests",{"_index":24296,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["resp.options",{"_index":9496,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceInfoResponse.html":{}}}],["resp.permission",{"_index":9488,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{}}}],["resp.state",{"_index":9486,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceInfoResponse.html":{}}}],["resp.status",{"_index":8982,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["resp.url",{"_index":9491,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceJoinResponse.html":{}}}],["respect",{"_index":24828,"title":{},"body":{"license.html":{}}}],["respective",{"_index":25618,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["respobservable",{"_index":13549,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["respond",{"_index":25263,"title":{},"body":{"todo.html":{}}}],["responds",{"_index":16415,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{}}}],["responsability",{"_index":25439,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["response",{"_index":871,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"interfaces/AdminIdAndToken.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AuthenticationResponse.html":{},"classes/AuthorizationError.html":{},"classes/AxiosErrorFactory.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"injectables/BatchDeletionService.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"controllers/CardController.html":{},"classes/ClassInfoSearchListResponse.html":{},"controllers/ColumnController.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/CopyFileListResponse.html":{},"controllers/CourseController.html":{},"classes/CourseMetadataListResponse.html":{},"injectables/DeletionClient.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"controllers/ElementController.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorResponse.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileDtoBuilder.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"injectables/FilesStorageProducer.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"controllers/GroupController.html":{},"classes/GroupResponseMapper.html":{},"controllers/H5PEditorController.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConnectionError.html":{},"classes/LoginResponseMapper.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/OAuthProcessDto.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigResponse.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/PaginationResponse.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymResponse.html":{},"classes/PublicSystemListResponse.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RpcMessageProducer.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"controllers/ShareTokenController.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/SystemResponseMapper.html":{},"controllers/TaskController.html":{},"classes/TaskListResponse.html":{},"injectables/TaskUC.html":{},"controllers/TeamNewsController.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchMapper.html":{},"controllers/ToolSchoolController.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/ValidationError.html":{},"classes/VideoConferenceBaseResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["response.access_token",{"_index":22568,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["response.authorization_endpoint",{"_index":14665,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["response.body",{"_index":1684,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["response.builder.ts",{"_index":7182,"title":{},"body":{"classes/CopyFileResponseBuilder.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/FileResponseBuilder.html":{}}}],["response.builder.ts:4",{"_index":7184,"title":{},"body":{"classes/CopyFileResponseBuilder.html":{}}}],["response.builder.ts:5",{"_index":9337,"title":{},"body":{"classes/DeletionRequestLogResponseBuilder.html":{},"classes/FileResponseBuilder.html":{}}}],["response.config",{"_index":10819,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["response.contentlength",{"_index":12415,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["response.contentrange",{"_index":12408,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["response.contenttype",{"_index":12413,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["response.contextid",{"_index":6842,"title":{},"body":{"classes/ContextExternalToolResponse.html":{}}}],["response.contexttype",{"_index":6843,"title":{},"body":{"classes/ContextExternalToolResponse.html":{}}}],["response.data",{"_index":11438,"title":{},"body":{"classes/FileDtoBuilder.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/HydraOauthUc.html":{},"injectables/TemporaryFileStorage.html":{}}}],["response.data.access_token",{"_index":14676,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["response.data.destroy",{"_index":12411,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["response.deletionplannedat",{"_index":9332,"title":{},"body":{"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestResponse.html":{}}}],["response.displayname",{"_index":6844,"title":{},"body":{"classes/ContextExternalToolResponse.html":{}}}],["response.dto",{"_index":25455,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["response.end_session_endpoint",{"_index":14666,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["response.error",{"_index":1678,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["response.factory",{"_index":4440,"title":{},"body":{"classes/CardResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["response.factory.ts",{"_index":2112,"title":{},"body":{"classes/AxiosResponseImp.html":{},"classes/ContentElementResponseFactory.html":{}}}],["response.factory.ts:14",{"_index":2118,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["response.factory.ts:16",{"_index":2120,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["response.factory.ts:18",{"_index":2121,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["response.factory.ts:19",{"_index":6387,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["response.factory.ts:20",{"_index":2119,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["response.factory.ts:22",{"_index":2116,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["response.factory.ts:28",{"_index":6390,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["response.factory.ts:40",{"_index":6389,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["response.headers['content",{"_index":11434,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["response.id",{"_index":6839,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/FilesStorageClientMapper.html":{},"classes/PseudonymResponse.html":{},"classes/SchoolExternalToolResponse.html":{},"controllers/ToolContextController.html":{},"controllers/ToolSchoolController.html":{}}}],["response.id_token",{"_index":22566,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["response.ishidden",{"_index":10820,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["response.issuer",{"_index":14663,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["response.jwks_uri",{"_index":14667,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["response.jwt",{"_index":16804,"title":{},"body":{"classes/OAuthProcessDto.html":{}}}],["response.logourl",{"_index":6847,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["response.mapper",{"_index":3998,"title":{},"body":{"classes/BoardResponseMapper.html":{},"classes/ContentElementResponseFactory.html":{},"classes/ContextExternalToolResponseMapper.html":{},"modules/LearnroomApiModule.html":{},"controllers/LoginController.html":{},"modules/OauthProviderApiModule.html":{},"controllers/OauthProviderController.html":{},"modules/ProvisioningModule.html":{},"controllers/RoomsController.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"controllers/SystemController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["response.mapper.ts",{"_index":829,"title":{},"body":{"classes/AccountResponseMapper.html":{},"classes/BoardResponseMapper.html":{},"classes/CardResponseMapper.html":{},"classes/ColumnResponseMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/GroupResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/LoginResponseMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/SystemResponseMapper.html":{},"classes/ToolStatusResponseMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["response.mapper.ts:10",{"_index":9581,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{}}}],["response.mapper.ts:118",{"_index":19559,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["response.mapper.ts:12",{"_index":20813,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["response.mapper.ts:13",{"_index":15813,"title":{},"body":{"classes/LoginResponseMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["response.mapper.ts:14",{"_index":20814,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["response.mapper.ts:15",{"_index":19055,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["response.mapper.ts:16",{"_index":833,"title":{},"body":{"classes/AccountResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["response.mapper.ts:17",{"_index":18870,"title":{},"body":{"classes/RichTextElementResponseMapper.html":{}}}],["response.mapper.ts:18",{"_index":9582,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{},"classes/GroupResponseMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["response.mapper.ts:19",{"_index":17404,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["response.mapper.ts:20",{"_index":19783,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["response.mapper.ts:21",{"_index":6853,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["response.mapper.ts:22",{"_index":20817,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["response.mapper.ts:23",{"_index":17398,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["response.mapper.ts:27",{"_index":10221,"title":{},"body":{"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["response.mapper.ts:28",{"_index":18868,"title":{},"body":{"classes/RichTextElementResponseMapper.html":{}}}],["response.mapper.ts:29",{"_index":9580,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["response.mapper.ts:32",{"_index":15630,"title":{},"body":{"classes/LinkElementResponseMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["response.mapper.ts:33",{"_index":20719,"title":{},"body":{"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["response.mapper.ts:34",{"_index":19552,"title":{},"body":{"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["response.mapper.ts:37",{"_index":12843,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["response.mapper.ts:38",{"_index":6859,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"injectables/SanisResponseMapper.html":{}}}],["response.mapper.ts:40",{"_index":17401,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["response.mapper.ts:44",{"_index":10840,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["response.mapper.ts:46",{"_index":6856,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["response.mapper.ts:47",{"_index":19059,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["response.mapper.ts:49",{"_index":20819,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["response.mapper.ts:5",{"_index":15811,"title":{},"body":{"classes/LoginResponseMapper.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenResponseMapper.html":{},"classes/ToolStatusResponseMapper.html":{}}}],["response.mapper.ts:52",{"_index":12846,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["response.mapper.ts:54",{"_index":19562,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["response.mapper.ts:6",{"_index":835,"title":{},"body":{"classes/AccountResponseMapper.html":{},"classes/CardResponseMapper.html":{},"classes/ColumnResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["response.mapper.ts:66",{"_index":19555,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["response.mapper.ts:7",{"_index":3997,"title":{},"body":{"classes/BoardResponseMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{}}}],["response.mapper.ts:70",{"_index":19557,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["response.mapper.ts:72",{"_index":10831,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["response.mapper.ts:73",{"_index":19058,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["response.mapper.ts:76",{"_index":10836,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["response.mapper.ts:8",{"_index":9579,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["response.mapper.ts:80",{"_index":10838,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["response.mapper.ts:84",{"_index":10834,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{},"injectables/SanisResponseMapper.html":{}}}],["response.mapper.ts:9",{"_index":18869,"title":{},"body":{"classes/RichTextElementResponseMapper.html":{}}}],["response.mapper.ts:93",{"_index":19057,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["response.message",{"_index":19237,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["response.metadata",{"_index":13198,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["response.name",{"_index":10817,"title":{},"body":{"classes/ExternalToolResponse.html":{},"classes/FilesStorageClientMapper.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["response.opennewtab",{"_index":10821,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["response.parameters",{"_index":6845,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["response.redirect",{"_index":16805,"title":{},"body":{"classes/OAuthProcessDto.html":{}}}],["response.refresh_token",{"_index":22567,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["response.requestid",{"_index":9399,"title":{},"body":{"classes/DeletionRequestResponse.html":{}}}],["response.restricttocontexts",{"_index":10823,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["response.schoolid",{"_index":19775,"title":{},"body":{"classes/SchoolExternalToolResponse.html":{}}}],["response.schooltoolid",{"_index":6841,"title":{},"body":{"classes/ContextExternalToolResponse.html":{}}}],["response.set",{"_index":7549,"title":{},"body":{"controllers/CourseController.html":{}}}],["response.sourceid",{"_index":12183,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["response.state",{"_index":24213,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["response.statistics",{"_index":9334,"title":{},"body":{"classes/DeletionRequestLogResponse.html":{}}}],["response.status",{"_index":19776,"title":{},"body":{"classes/SchoolExternalToolResponse.html":{}}}],["response.status(errorresponse.code).json(errorresponse",{"_index":12564,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["response.subject",{"_index":17216,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["response.targetref",{"_index":9330,"title":{},"body":{"classes/DeletionRequestLogResponse.html":{}}}],["response.token_endpoint",{"_index":14664,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["response.toolid",{"_index":18190,"title":{},"body":{"classes/PseudonymResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["response.toolversion",{"_index":6846,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["response.ts",{"_index":18289,"title":{},"body":{"classes/PublicSystemResponse.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["response.ts:10",{"_index":18294,"title":{},"body":{"classes/PublicSystemResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{}}}],["response.ts:11",{"_index":19440,"title":{},"body":{"classes/SanisGruppenResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["response.ts:12",{"_index":19433,"title":{},"body":{"classes/SanisGruppeResponse.html":{}}}],["response.ts:13",{"_index":19463,"title":{},"body":{"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonenkontextResponse.html":{}}}],["response.ts:16",{"_index":19442,"title":{},"body":{"classes/SanisGruppenResponse.html":{},"classes/SanisPersonResponse.html":{}}}],["response.ts:17",{"_index":18295,"title":{},"body":{"classes/PublicSystemResponse.html":{}}}],["response.ts:18",{"_index":19475,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{}}}],["response.ts:19",{"_index":19461,"title":{},"body":{"classes/SanisOrganisationResponse.html":{}}}],["response.ts:22",{"_index":19445,"title":{},"body":{"classes/SanisGruppenResponse.html":{}}}],["response.ts:24",{"_index":18292,"title":{},"body":{"classes/PublicSystemResponse.html":{},"classes/SanisPersonenkontextResponse.html":{}}}],["response.ts:31",{"_index":18293,"title":{},"body":{"classes/PublicSystemResponse.html":{}}}],["response.ts:39",{"_index":18291,"title":{},"body":{"classes/PublicSystemResponse.html":{}}}],["response.ts:5",{"_index":19456,"title":{},"body":{"classes/SanisNameResponse.html":{}}}],["response.ts:6",{"_index":19423,"title":{},"body":{"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["response.ts:7",{"_index":19462,"title":{},"body":{"classes/SanisOrganisationResponse.html":{}}}],["response.ts:8",{"_index":19451,"title":{},"body":{"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{}}}],["response.ts:9",{"_index":19430,"title":{},"body":{"classes/SanisGruppeResponse.html":{}}}],["response.url",{"_index":10818,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["response.userid",{"_index":18191,"title":{},"body":{"classes/PseudonymResponse.html":{}}}],["response.version",{"_index":10822,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["response?.data",{"_index":1175,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["response].ts",{"_index":25514,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["response_type",{"_index":13484,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["response_types",{"_index":16972,"title":{},"body":{"classes/OauthClientBody.html":{},"injectables/OauthProviderClientCrudUc.html":{}}}],["responsedata",{"_index":16954,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["responsefilerecords",{"_index":11832,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["responseinfo",{"_index":18721,"title":{"classes/ResponseInfo.html":{}},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["responseinfo(res",{"_index":18732,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["responsejson",{"_index":1187,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["responsejson.data.authtoken",{"_index":1189,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["responsejson.data.userid",{"_index":1188,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["responsemapper",{"_index":19489,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{},"controllers/ToolSchoolController.html":{}}}],["responses",{"_index":12979,"title":{},"body":{"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/Meta.html":{},"interfaces/NextcloudGroups.html":{},"classes/OauthClientBody.html":{},"interfaces/OcsResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"interfaces/SuccessfulRes.html":{}}}],["responsetime",{"_index":18712,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["responsetime((req",{"_index":18742,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["responsetoken",{"_index":16864,"title":{},"body":{"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{}}}],["responsetoken.data",{"_index":16959,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["responsetokenobservable",{"_index":16952,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["responsetype",{"_index":10340,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["responsibilities",{"_index":25576,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["responsibility",{"_index":25405,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["responsible",{"_index":25031,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["ressouces",{"_index":26046,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["ressource",{"_index":26047,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["ressources",{"_index":22936,"title":{},"body":{"injectables/ToolPermissionHelper.html":{},"additional-documentation/nestjs-application.html":{}}}],["resssource",{"_index":25264,"title":{},"body":{"todo.html":{}}}],["rest",{"_index":9692,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["restart",{"_index":23404,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["restarted",{"_index":23406,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["restartmigration",{"_index":18795,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationService.html":{}}}],["restartmigration(@currentuser",{"_index":23477,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["restartmigration(currentuser",{"_index":23427,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["restartmigration(userid",{"_index":18796,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{}}}],["restartmigration(userloginmigration",{"_index":23639,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["restartuserloginmigrationuc",{"_index":18793,"title":{"injectables/RestartUserLoginMigrationUc.html":{}},"body":{"injectables/RestartUserLoginMigrationUc.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{}}}],["restmethod",{"_index":25888,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["restore",{"_index":19289,"title":{},"body":{"injectables/S3ClientAdapter.html":{},"controllers/TaskController.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["restore(@param",{"_index":21405,"title":{},"body":{"controllers/TaskController.html":{}}}],["restore(paths",{"_index":19312,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["restore(urlparams",{"_index":21380,"title":{},"body":{"controllers/TaskController.html":{}}}],["restored",{"_index":25774,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["restoreforuser(user",{"_index":21347,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["restricted",{"_index":6949,"title":{},"body":{"injectables/ContextExternalToolService.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LibraryName.html":{},"injectables/NewsUc.html":{},"classes/Path.html":{}}}],["restrictedcontextmismatchloggable",{"_index":6948,"title":{"classes/RestrictedContextMismatchLoggable.html":{}},"body":{"injectables/ContextExternalToolService.html":{},"classes/RestrictedContextMismatchLoggable.html":{}}}],["restrictedcontextmismatchloggable(externaltool.name",{"_index":6965,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["restricting",{"_index":24822,"title":{},"body":{"license.html":{}}}],["restriction",{"_index":24992,"title":{},"body":{"license.html":{}}}],["restrictions",{"_index":18812,"title":{},"body":{"classes/RestrictedContextMismatchLoggable.html":{},"license.html":{}}}],["restricttocontexts",{"_index":10017,"title":{},"body":{"classes/ExternalTool.html":{},"classes/ExternalToolCreateParams.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["result",{"_index":141,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/AccountRepo.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationHelper.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardNodeRepo.html":{},"classes/BoardResponseMapper.html":{},"controllers/CardController.html":{},"classes/CardResponseMapper.html":{},"injectables/CardUc.html":{},"classes/ColumnResponseMapper.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/CopyFilesService.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyUC.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"classes/ExternalToolElementResponseMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/GridElement.html":{},"controllers/H5PEditorController.html":{},"interfaces/IGridElement.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"entities/InstalledLibrary.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LegacyLogger.html":{},"controllers/LessonController.html":{},"injectables/LessonRule.html":{},"classes/LibraryName.html":{},"classes/LinkElementResponseMapper.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/NewsScope.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PseudonymService.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RichTextElementResponseMapper.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/S3ClientAdapter.html":{},"injectables/ShareTokenUC.html":{},"classes/StringValidator.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRule.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"controllers/UserController.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["result.builder.ts",{"_index":9049,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["result.builder.ts:14",{"_index":9056,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["result.builder.ts:18",{"_index":9055,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["result.builder.ts:4",{"_index":9053,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["result.content",{"_index":20722,"title":{},"body":{"classes/SubmissionContainerElementResponseMapper.html":{}}}],["result.dto.ts",{"_index":19607,"title":{},"body":{"classes/ScanResultDto.html":{}}}],["result.dto.ts:4",{"_index":19609,"title":{},"body":{"classes/ScanResultDto.html":{}}}],["result.dto.ts:6",{"_index":19608,"title":{},"body":{"classes/ScanResultDto.html":{}}}],["result.elements",{"_index":18428,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["result.image?.url",{"_index":16162,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["result.push",{"_index":14579,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["result.push(room",{"_index":8453,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["result.query",{"_index":20092,"title":{},"body":{"classes/Scope.html":{}}}],["result.reduce((alloweddos",{"_index":4540,"title":{},"body":{"injectables/CardUc.html":{}}}],["result.success",{"_index":8884,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["result.ts",{"_index":9046,"title":{},"body":{"interfaces/DeletionExecutionTriggerResult.html":{}}}],["result?.length",{"_index":144,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["result[sortby",{"_index":13954,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["resultelement",{"_index":8433,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["resulting",{"_index":24688,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["resultmap",{"_index":18356,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["results",{"_index":103,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"modules/AccountApiModule.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"interfaces/AccountConfig.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthCodeFailureLoggableException.html":{},"modules/AuthenticationApiModule.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"modules/AuthorizationModule.html":{},"classes/AuthorizationParams.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"modules/BoardApiModule.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"modules/ClassModule.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"modules/CoreModule.html":{},"interfaces/CoreModuleConfig.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"modules/ErrorModule.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FeathersError.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{},"classes/FileUrlParams.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"modules/GroupModule.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"interfaces/IdentityManagementConfig.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/InterceptorConfig.html":{},"modules/InterceptorModule.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"injectables/JwtAuthGuard.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Learnroom.html":{},"modules/LearnroomApiModule.html":{},"interfaces/LearnroomElement.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/LessonApiModule.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"modules/LessonModule.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"modules/NewsModule.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthApiModule.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"classes/ProvisioningDto.html":{},"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"modules/PseudonymModule.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"modules/RocketChatUserModule.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"modules/RoleModule.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"modules/TaskApiModule.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"modules/TaskModule.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawClientModule.html":{},"interfaces/TldrawConfig.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"interfaces/ToolVersion.html":{},"injectables/ToolVersionService.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"modules/UserApiModule.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"modules/ValidationModule.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"properties.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/api-design.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["results.foreach((result",{"_index":8883,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["results.map((account",{"_index":14732,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["results.push(mapped",{"_index":9654,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["results[1",{"_index":147,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["resultuser",{"_index":23813,"title":{},"body":{"injectables/UserRepo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["ret",{"_index":14744,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/LegacySchoolService.html":{}}}],["ret.attdbcaccountid",{"_index":14752,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["ret.attdbcsystemid",{"_index":14748,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["ret.attdbcuserid",{"_index":14750,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["retaccountid",{"_index":14790,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["retains",{"_index":24949,"title":{},"body":{"license.html":{}}}],["retried",{"_index":4882,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["retrieve",{"_index":16419,"title":{},"body":{"controllers/NewsController.html":{}}}],["retrieving",{"_index":9452,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["retry",{"_index":4880,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["retrycount",{"_index":4868,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["retrydelay",{"_index":4869,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["retryflags",{"_index":4877,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["retryoptions",{"_index":4867,"title":{"interfaces/RetryOptions.html":{}},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["return",{"_index":148,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"controllers/AccountController.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponseMapper.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"interfaces/AuthorizableObject.html":{},"classes/AuthorizationContextBuilder.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"entities/Board.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskStatusMapper.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSourceOptions.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ConverterUtil.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"interfaces/CreateJwtParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameterFactory.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DrawingElement.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorMapper.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElement.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadataMapper.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileResponseBuilder.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/ForbiddenLoggableException.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElement.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/LocalStrategy.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfigMissingLoggableException.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"controllers/PseudonymController.html":{},"classes/PseudonymMapper.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RichTextElement.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.html":{},"classes/ServerConsole.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/ShareToken.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/SortHelper.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerElement.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoMapper.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/TldrawRepo.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchMapper.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"controllers/UserController.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchMapper.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationErrorLoggableException.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/WsSharedDocDo.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["returncode",{"_index":2151,"title":{},"body":{"interfaces/BBBBaseResponse.html":{}}}],["returned",{"_index":534,"title":{},"body":{"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"classes/BaseFactory.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"injectables/DeletionClient.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/ListOauthClientsParams.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"controllers/SystemController.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"controllers/UserLoginMigrationController.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["returned.'})@apiokresponse({description",{"_index":23420,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["returnedfiles",{"_index":19380,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["returning",{"_index":7064,"title":{},"body":{"classes/CopyApiResponse.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["returns",{"_index":35,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"controllers/AccountController.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponseMapper.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerTestModule.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"injectables/AuthenticationService.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorLoggable.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskStatusMapper.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ConsoleWriterService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ConverterUtil.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomParameterFactory.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadataMapper.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementResponseMapper.html":{},"classes/FileParamBuilder.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordMapper.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileResponseBuilder.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/ILegacyLogger.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElement.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/LtiRoleMapper.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"modules/MailModule.html":{},"injectables/MailService.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsMapper.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfigMissingLoggableException.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"injectables/PermissionService.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"controllers/PseudonymController.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedUserMapper.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementResponseMapper.html":{},"modules/RocketChatModule.html":{},"classes/RocketChatUser.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.html":{},"classes/ServerConsole.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/SortHelper.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionMapper.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoMapper.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamPermissionsMapper.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"controllers/TldrawController.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchMapper.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"interfaces/ToolVersion.html":{},"injectables/ToolVersionService.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"interfaces/UrlHandler.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserAndAccountTestFactory.html":{},"controllers/UserController.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserInfoMapper.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchMapper.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorLoggableException.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/WsSharedDocDo.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["retvalue",{"_index":25697,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["reuse",{"_index":6241,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["reused",{"_index":25529,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["revalidate",{"_index":22789,"title":{},"body":{"controllers/ToolController.html":{}}}],["revert.service.ts",{"_index":23602,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{}}}],["revert.service.ts:14",{"_index":23606,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{}}}],["revert.service.ts:8",{"_index":23604,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{}}}],["reverted",{"_index":23410,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["revertpublished",{"_index":21365,"title":{},"body":{"controllers/TaskController.html":{},"injectables/TaskUC.html":{}}}],["revertpublished(urlparams",{"_index":21383,"title":{},"body":{"controllers/TaskController.html":{}}}],["revertpublished(userid",{"_index":21783,"title":{},"body":{"injectables/TaskUC.html":{}}}],["revertuserloginmigration",{"_index":23603,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{}}}],["revertuserloginmigration(userloginmigration",{"_index":23605,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{}}}],["review",{"_index":25837,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["reviewers",{"_index":24619,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["reviewing",{"_index":25176,"title":{},"body":{"license.html":{}}}],["revised",{"_index":25132,"title":{},"body":{"license.html":{}}}],["revokeconsentparams",{"_index":17256,"title":{"classes/RevokeConsentParams.html":{}},"body":{"controllers/OauthProviderController.html":{},"classes/RevokeConsentParams.html":{}}}],["revokeconsentsession",{"_index":17226,"title":{},"body":{"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{}}}],["revokeconsentsession(@currentuser",{"_index":17317,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["revokeconsentsession(currentuser",{"_index":17255,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["revokeconsentsession(user",{"_index":17434,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["revokeconsentsession(userid",{"_index":17448,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["revokematch",{"_index":13821,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["rewindsequence",{"_index":513,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["rfc6749",{"_index":16986,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["rfp",{"_index":9241,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["rich",{"_index":3139,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"classes/RichText.html":{}}}],["richtext",{"_index":18816,"title":{"classes/RichText.html":{}},"body":{"classes/RichText.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"classes/TaskResponse.html":{}}}],["richtextcontentbody",{"_index":6464,"title":{"classes/RichTextContentBody.html":{}},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["richtextelement",{"_index":3127,"title":{"classes/RichTextElement.html":{}},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/ColumnBoardService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemUc.html":{}}}],["richtextelement.id",{"_index":18543,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["richtextelement.inputformat",{"_index":6494,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["richtextelement.text",{"_index":6491,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["richtextelementcontent",{"_index":18848,"title":{"classes/RichTextElementContent.html":{}},"body":{"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{}}}],["richtextelementcontentbody",{"_index":9521,"title":{"classes/RichTextElementContentBody.html":{}},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["richtextelementnode",{"_index":3476,"title":{"entities/RichTextElementNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{}}}],["richtextelementnodefactory",{"_index":3821,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["richtextelementnodefactory.build",{"_index":3844,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["richtextelementnodeprops",{"_index":18858,"title":{"interfaces/RichTextElementNodeProps.html":{}},"body":{"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{}}}],["richtextelementprops",{"_index":18846,"title":{"interfaces/RichTextElementProps.html":{}},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["richtextelementresponse",{"_index":4036,"title":{"classes/RichTextElementResponse.html":{}},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CardResponse.html":{},"classes/ContentElementResponseFactory.html":{},"controllers/ElementController.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionItemResponse.html":{}}}],["richtextelementresponsemapper",{"_index":6399,"title":{"classes/RichTextElementResponseMapper.html":{}},"body":{"classes/ContentElementResponseFactory.html":{},"classes/RichTextElementResponseMapper.html":{}}}],["richtextelementresponsemapper.getinstance",{"_index":6383,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["richtextelementresponsemapper.instance",{"_index":18872,"title":{},"body":{"classes/RichTextElementResponseMapper.html":{}}}],["richtext})@decodehtmlentities",{"_index":21672,"title":{},"body":{"classes/TaskResponse.html":{}}}],["rid",{"_index":5430,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["right",{"_index":24943,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["rights",{"_index":24672,"title":{},"body":{"license.html":{}}}],["rimraf",{"_index":12034,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"dependencies.html":{}}}],["rimraf.sync(folderpath",{"_index":12049,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["risk",{"_index":25150,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["rmq",{"_index":12554,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["ro",{"_index":1073,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["rocket",{"_index":18879,"title":{},"body":{"modules/RocketChatModule.html":{},"classes/RocketChatUserFactory.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rocket.chat",{"_index":25909,"title":{"additional-documentation/nestjs-application/rocket.chat.html":{}},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rocket_chat",{"_index":19636,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["rocket_chat_admin_password=huhudbildungscloud",{"_index":25959,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rocket_chat_admin_user=admin",{"_index":25958,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rocket_chat_options",{"_index":18881,"title":{},"body":{"modules/RocketChatModule.html":{}}}],["rocket_chat_uri=\"http://localhost:3000",{"_index":25957,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rocketchat",{"_index":1082,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rocketchat_service_enabled=true",{"_index":25956,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rocketchaterror",{"_index":1079,"title":{"classes/RocketChatError.html":{}},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["rocketchaterror(e",{"_index":1174,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["rocketchaterror.prototype",{"_index":1099,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["rocketchatgroupmodel",{"_index":1064,"title":{"interfaces/RocketChatGroupModel.html":{}},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["rocketchatmodule",{"_index":8922,"title":{"modules/RocketChatModule.html":{}},"body":{"modules/DeletionApiModule.html":{},"modules/RocketChatModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["rocketchatmodule.forroot",{"_index":8939,"title":{},"body":{"modules/DeletionApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["rocketchatoptions",{"_index":1059,"title":{"interfaces/RocketChatOptions.html":{}},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{}}}],["rocketchatservice",{"_index":1108,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{}}}],["rocketchatuser",{"_index":18882,"title":{"classes/RocketChatUser.html":{}},"body":{"classes/RocketChatUser.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{}}}],["rocketchatuserentity",{"_index":18900,"title":{"entities/RocketChatUserEntity.html":{}},"body":{"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{}}}],["rocketchatuserentityfactory",{"_index":18915,"title":{},"body":{"classes/RocketChatUserFactory.html":{}}}],["rocketchatuserentityprops",{"_index":18906,"title":{"interfaces/RocketChatUserEntityProps.html":{}},"body":{"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{}}}],["rocketchatuserfactory",{"_index":18912,"title":{"classes/RocketChatUserFactory.html":{}},"body":{"classes/RocketChatUserFactory.html":{}}}],["rocketchatuserfactory.define(rocketchatuserentity",{"_index":18916,"title":{},"body":{"classes/RocketChatUserFactory.html":{}}}],["rocketchatusermapper",{"_index":18918,"title":{"classes/RocketChatUserMapper.html":{}},"body":{"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{}}}],["rocketchatusermapper.maptodo(entity",{"_index":18947,"title":{},"body":{"injectables/RocketChatUserRepo.html":{}}}],["rocketchatusermodule",{"_index":8923,"title":{"modules/RocketChatUserModule.html":{}},"body":{"modules/DeletionApiModule.html":{},"modules/RocketChatUserModule.html":{}}}],["rocketchatuserprops",{"_index":18896,"title":{"interfaces/RocketChatUserProps.html":{}},"body":{"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{}}}],["rocketchatuserrepo",{"_index":18935,"title":{"injectables/RocketChatUserRepo.html":{}},"body":{"modules/RocketChatUserModule.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{}}}],["rocketchatusers",{"_index":18907,"title":{},"body":{"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["rocketchatuserservice",{"_index":18934,"title":{"injectables/RocketChatUserService.html":{}},"body":{"modules/RocketChatUserModule.html":{},"injectables/RocketChatUserService.html":{}}}],["role",{"_index":331,"title":{"entities/Role.html":{}},"body":{"controllers/AccountController.html":{},"injectables/AuthorizationHelper.html":{},"classes/BBBJoinConfig.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"classes/BaseUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"classes/CurrentUserMapper.html":{},"classes/FilterImportUserParams.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"classes/GroupDomainMapper.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IImportUserScope.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"injectables/JwtStrategy.html":{},"classes/LdapConfigEntity.html":{},"interfaces/NameMatch.html":{},"injectables/NextcloudStrategy.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"injectables/PermissionService.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"entities/Role.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRolePermissionsDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserFactory.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["role.entity",{"_index":21867,"title":{},"body":{"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["role.factory",{"_index":23370,"title":{},"body":{"classes/UserFactory.html":{}}}],["role.id",{"_index":8011,"title":{},"body":{"classes/CurrentUserMapper.html":{},"injectables/OidcProvisioningService.html":{},"classes/ResolvedUserMapper.html":{},"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["role.mapper.ts",{"_index":15885,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["role.mapper.ts:13",{"_index":15888,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["role.name",{"_index":5025,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/FeathersRosterService.html":{},"injectables/OidcProvisioningService.html":{},"classes/ResolvedUserMapper.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserMatchMapper.html":{},"interfaces/UserMetdata.html":{}}}],["role.params",{"_index":5076,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["role.params.ts",{"_index":21941,"title":{},"body":{"classes/TeamRoleDto.html":{}}}],["role.params.ts:11",{"_index":21942,"title":{},"body":{"classes/TeamRoleDto.html":{}}}],["role.params.ts:7",{"_index":21943,"title":{},"body":{"classes/TeamRoleDto.html":{}}}],["role.resolvepermissions",{"_index":1827,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["role.roles.isinitialized(true",{"_index":22020,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["roleadmin",{"_index":14955,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["roleattributenamemapping",{"_index":14952,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["roledto",{"_index":4994,"title":{"classes/RoleDto.html":{}},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/OidcProvisioningService.html":{},"classes/ResolvedGroupUser.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/UserService.html":{}}}],["roledtos",{"_index":19033,"title":{},"body":{"injectables/RoleService.html":{}}}],["rolefactory",{"_index":21991,"title":{},"body":{"classes/TeamUserFactory.html":{},"classes/UserFactory.html":{}}}],["rolefactory.build",{"_index":21995,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["rolefactory.buildwithid",{"_index":21997,"title":{},"body":{"classes/TeamUserFactory.html":{},"classes/UserFactory.html":{}}}],["roleid",{"_index":5111,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"classes/GroupDomainMapper.html":{},"classes/GroupUser.html":{},"injectables/OidcProvisioningService.html":{},"classes/TeamDto.html":{},"injectables/TeamMapper.html":{},"classes/TeamRoleDto.html":{},"classes/TeamUserDto.html":{}}}],["roleids",{"_index":23333,"title":{},"body":{"classes/UserDto.html":{},"classes/UserMapper.html":{}}}],["rolemapper",{"_index":18975,"title":{"classes/RoleMapper.html":{}},"body":{"classes/RoleMapper.html":{},"injectables/RoleService.html":{}}}],["rolemapper.mapfromentitiestodtos(entities",{"_index":19040,"title":{},"body":{"injectables/RoleService.html":{}}}],["rolemapper.mapfromentitiestodtos(roles",{"_index":19038,"title":{},"body":{"injectables/RoleService.html":{}}}],["rolemapper.mapfromentitytodto(entity",{"_index":19036,"title":{},"body":{"injectables/RoleService.html":{}}}],["rolemapping",{"_index":15890,"title":{},"body":{"classes/LtiRoleMapper.html":{},"injectables/SanisResponseMapper.html":{}}}],["rolemapping[rolename",{"_index":15898,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["rolemapping[source.personenkontexte[0].rolle",{"_index":19584,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["rolemodule",{"_index":1524,"title":{"modules/RoleModule.html":{}},"body":{"modules/AuthenticationModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/GroupApiModule.html":{},"modules/ProvisioningModule.html":{},"modules/RoleModule.html":{},"modules/UserModule.html":{}}}],["rolename",{"_index":5024,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersRosterService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUserResponse.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/LtiRoleMapper.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/TeamRolePermissionsDto.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserMatchMapper.html":{},"interfaces/UserMetdata.html":{}}}],["rolename.administrator",{"_index":13790,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"classes/LtiRoleMapper.html":{},"classes/RoleNameMapper.html":{},"injectables/SanisResponseMapper.html":{},"classes/UserFactory.html":{}}}],["rolename.enum",{"_index":26053,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["rolename.student",{"_index":11328,"title":{},"body":{"injectables/FeathersRosterService.html":{},"classes/GroupUcMapper.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"classes/LtiRoleMapper.html":{},"classes/RoleNameMapper.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/UserData.html":{},"classes/UserFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["rolename.superhero",{"_index":15895,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["rolename.teacher",{"_index":11327,"title":{},"body":{"injectables/FeathersRosterService.html":{},"classes/GroupUcMapper.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"classes/LtiRoleMapper.html":{},"classes/RoleNameMapper.html":{},"injectables/RoleService.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/UserData.html":{},"classes/UserFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["rolename.user",{"_index":15891,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["rolenamemapper",{"_index":13950,"title":{"classes/RoleNameMapper.html":{}},"body":{"classes/ImportUserMapper.html":{},"classes/RoleNameMapper.html":{}}}],["rolenamemapper.maptodomain(query.role",{"_index":13977,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["rolenamemapper.maptoresponse(role",{"_index":13960,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["rolenames",{"_index":13770,"title":{},"body":{"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/LtiRoleMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{}}}],["rolenames.map((rolename",{"_index":15897,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["rolenosc",{"_index":14956,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["rolepermissions",{"_index":23160,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["roleproperties",{"_index":18962,"title":{"interfaces/RoleProperties.html":{}},"body":{"entities/Role.html":{},"interfaces/RoleProperties.html":{}}}],["roleref",{"_index":23924,"title":{},"body":{"injectables/UserService.html":{}}}],["roleref.id",{"_index":8014,"title":{},"body":{"classes/CurrentUserMapper.html":{},"injectables/UserDORepo.html":{},"injectables/UserService.html":{}}}],["roleref.name",{"_index":14238,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["rolereference",{"_index":8008,"title":{"classes/RoleReference.html":{}},"body":{"classes/CurrentUserMapper.html":{},"injectables/FeathersRosterService.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"classes/RoleReference.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"injectables/UserService.html":{}}}],["rolerefs",{"_index":17594,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["rolerepo",{"_index":18990,"title":{"injectables/RoleRepo.html":{}},"body":{"modules/RoleModule.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{}}}],["roles",{"_index":3400,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/ExternalUserDto.html":{},"interfaces/ICurrentUser.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/IservMapper.html":{},"interfaces/JwtPayload.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PermissionService.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"injectables/RoleService.html":{},"injectables/SanisResponseMapper.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"entities/User.html":{},"interfaces/UserBoardRoles.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["roles.foreach((role",{"_index":23159,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["roles.length",{"_index":17646,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["roles.map((role",{"_index":17597,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"classes/ResolvedUserMapper.html":{}}}],["roles.map(async",{"_index":22019,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["roles[0].id",{"_index":17647,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["rolesandpermissions",{"_index":17766,"title":{},"body":{"injectables/PermissionService.html":{}}}],["roleservice",{"_index":5097,"title":{"injectables/RoleService.html":{}},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/OidcProvisioningService.html":{},"modules/RoleModule.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/UserService.html":{}}}],["rolestudent",{"_index":14953,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["roleteacher",{"_index":14954,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["roletype",{"_index":14948,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["roleuc",{"_index":18991,"title":{"injectables/RoleUc.html":{}},"body":{"modules/RoleModule.html":{},"injectables/RoleUc.html":{}}}],["rollback",{"_index":19355,"title":{},"body":{"injectables/S3ClientAdapter.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{}}}],["rolle",{"_index":19468,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{}}}],["rollen",{"_index":19448,"title":{},"body":{"classes/SanisGruppenzugehoerigkeitResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["rom",{"_index":24952,"title":{},"body":{"license.html":{}}}],["room",{"_index":8346,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsUc.html":{},"classes/SingleColumnBoardResponse.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["roomboarddto",{"_index":9612,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsUc.html":{}}}],["roomboarddtofactory",{"_index":9685,"title":{"injectables/RoomBoardDTOFactory.html":{}},"body":{"classes/DtoCreator.html":{},"modules/LearnroomApiModule.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsUc.html":{}}}],["roomboardelementdto",{"_index":9610,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["roomboardelementtypes",{"_index":3732,"title":{},"body":{"classes/BoardElementResponse.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["roomboardelementtypes.column_board",{"_index":9674,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["roomboardelementtypes.lesson",{"_index":9663,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["roomboardelementtypes.task",{"_index":9659,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["roomboardresponsemapper",{"_index":15079,"title":{"injectables/RoomBoardResponseMapper.html":{}},"body":{"modules/LearnroomApiModule.html":{},"injectables/RoomBoardResponseMapper.html":{},"controllers/RoomsController.html":{}}}],["roomelementurlparams",{"_index":19107,"title":{"classes/RoomElementUrlParams.html":{}},"body":{"classes/RoomElementUrlParams.html":{},"controllers/RoomsController.html":{}}}],["roomid",{"_index":1132,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/DtoCreator.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["roomlist",{"_index":8375,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["roomlist.includes(room",{"_index":8445,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["roomname",{"_index":1124,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["rooms",{"_index":8350,"title":{},"body":{"classes/DashboardEntity.html":{},"controllers/RoomsController.html":{}}}],["rooms.authorisation.service",{"_index":9633,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsUc.html":{}}}],["rooms.foreach((room",{"_index":8451,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["rooms.service",{"_index":7572,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["rooms\\/(.*?)\\/board\\/?$/i",{"_index":4151,"title":{},"body":{"injectables/BoardUrlHandler.html":{}}}],["rooms\\/([0",{"_index":7889,"title":{},"body":{"injectables/CourseUrlHandler.html":{}}}],["roomsauthorisationservice",{"_index":9594,"title":{"injectables/RoomsAuthorisationService.html":{}},"body":{"classes/DtoCreator.html":{},"modules/LearnroomApiModule.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RoomsUc.html":{}}}],["roomscontroller",{"_index":15082,"title":{"controllers/RoomsController.html":{}},"body":{"modules/LearnroomApiModule.html":{},"controllers/RoomsController.html":{}}}],["roomsservice",{"_index":7560,"title":{"injectables/RoomsService.html":{}},"body":{"injectables/CourseCopyService.html":{},"modules/LearnroomModule.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{}}}],["roomsuc",{"_index":15080,"title":{"injectables/RoomsUc.html":{}},"body":{"modules/LearnroomApiModule.html":{},"controllers/RoomsController.html":{},"injectables/RoomsUc.html":{}}}],["roomurlparams",{"_index":19110,"title":{"classes/RoomUrlParams.html":{}},"body":{"classes/RoomUrlParams.html":{},"controllers/RoomsController.html":{}}}],["root",{"_index":2563,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/GroupUcMapper.html":{},"modules/ToolLaunchModule.html":{},"controllers/UserController.html":{},"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["rootboarddo",{"_index":3425,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/ColumnBoardService.html":{}}}],["rootboarddo.context?.type",{"_index":3427,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["rooted",{"_index":5984,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["rootid",{"_index":3423,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/ColumnBoardService.html":{}}}],["rootpath",{"_index":14883,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["roster",{"_index":11239,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["roster.service.ts",{"_index":11238,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["roster.service.ts:103",{"_index":11267,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:140",{"_index":11262,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:148",{"_index":11271,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:156",{"_index":11260,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:166",{"_index":11264,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:172",{"_index":11259,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:202",{"_index":11278,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:214",{"_index":11282,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:225",{"_index":11280,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:235",{"_index":11275,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:56",{"_index":11257,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:66",{"_index":11273,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:81",{"_index":11269,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["route",{"_index":11181,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"controllers/ServerController.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["route_path",{"_index":18727,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["routename",{"_index":1670,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["routenameinput",{"_index":22117,"title":{},"body":{"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["routepath",{"_index":18700,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["routes",{"_index":24591,"title":{},"body":{"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["routingkey",{"_index":1274,"title":{},"body":{"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{},"interfaces/ScanResult.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["royalty",{"_index":25046,"title":{},"body":{"license.html":{}}}],["rp",{"_index":17091,"title":{},"body":{"interfaces/OauthCurrentUser.html":{}}}],["rpc",{"_index":19234,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["rpcmessage",{"_index":12216,"title":{"interfaces/RpcMessage.html":{}},"body":{"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"classes/GlobalErrorFilter.html":{},"interfaces/IError.html":{},"injectables/PreviewProducer.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{}}}],["rpcmessageproducer",{"_index":12297,"title":{"classes/RpcMessageProducer.html":{}},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{}}}],["rpcmessageproducer:12",{"_index":12310,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{}}}],["rpcmessageproducer:21",{"_index":12306,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{}}}],["rpcmessageproducer:29",{"_index":12308,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{}}}],["rs.initiate({\"_id",{"_index":25918,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rs0",{"_index":25915,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rs256",{"_index":1573,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{},"injectables/OAuthService.html":{}}}],["rs384",{"_index":1574,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["rs512",{"_index":1575,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["rsa",{"_index":16944,"title":{},"body":{"injectables/OauthAdapterService.html":{},"dependencies.html":{}}}],["rss",{"_index":7766,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"dependencies.html":{}}}],["rule",{"_index":1985,"title":{"interfaces/Rule.html":{}},"body":{"injectables/AuthorizationService.html":{},"injectables/BoardDoRule.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"injectables/GroupRule.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LessonRule.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["rule(val",{"_index":6118,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["rule.haspermission(user",{"_index":1991,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["rule.isapplicable(user",{"_index":19275,"title":{},"body":{"injectables/RuleManager.html":{}}}],["rulemanager",{"_index":1873,"title":{"injectables/RuleManager.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/AuthorizationService.html":{},"injectables/RuleManager.html":{}}}],["rules",{"_index":1885,"title":{},"body":{"modules/AuthorizationModule.html":{},"classes/BaseUc.html":{},"injectables/RuleManager.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["rules.length",{"_index":19277,"title":{},"body":{"injectables/RuleManager.html":{}}}],["rules[0",{"_index":19279,"title":{},"body":{"injectables/RuleManager.html":{}}}],["run",{"_index":11612,"title":{},"body":{"classes/FileMetadata.html":{},"injectables/H5PLibraryManagementService.html":{},"entities/InstalledLibrary.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["runnable",{"_index":11620,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["runner",{"_index":25724,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["running",{"_index":2312,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{},"injectables/TimeoutInterceptor.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["running.'})@apiresponse({status",{"_index":24032,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["runs",{"_index":24581,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["runtime",{"_index":1564,"title":{},"body":{"modules/AuthenticationModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["rxjs",{"_index":1056,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"injectables/DeletionClient.html":{},"injectables/DrawingElementAdapterService.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ExternalToolLogoService.html":{},"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthAdapterService.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/TimeoutInterceptor.html":{},"dependencies.html":{}}}],["rxjs/operators",{"_index":1058,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/TimeoutInterceptor.html":{}}}],["s",{"_index":1751,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/BoardDoRepo.html":{},"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["s3",{"_index":8870,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["s3_client",{"_index":19326,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["s3_config",{"_index":19327,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["s3client",{"_index":8859,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/TemporaryFileStorage.html":{}}}],["s3clientadapter",{"_index":12438,"title":{"injectables/S3ClientAdapter.html":{}},"body":{"injectables/FwuLearningContentsUc.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/TemporaryFileStorage.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["s3clientadapter(s3client",{"_index":19414,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["s3clientadapter:createbucket",{"_index":19335,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["s3clientadapter:deletedirectory",{"_index":19400,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["s3clientadapter:head",{"_index":19393,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["s3clientadapter:listdirectory",{"_index":19377,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["s3clientmap",{"_index":8847,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["s3clientmodule",{"_index":12276,"title":{"modules/S3ClientModule.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/S3ClientModule.html":{}}}],["s3clientmodule.register",{"_index":26089,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["s3clientmodule.register([s3config",{"_index":12289,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["s3clientmodule.register([s3configcontent",{"_index":13237,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{}}}],["s3clientmodule.register([storageconfig",{"_index":17855,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["s3config",{"_index":7190,"title":{"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{}},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/FileStorageConfig.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/PreviewConfig.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"interfaces/PreviewModuleConfig.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["s3configcontent",{"_index":13230,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{}}}],["s3configlibraries",{"_index":13231,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{}}}],["safest",{"_index":25189,"title":{},"body":{"license.html":{}}}],["safety",{"_index":24600,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["sale",{"_index":25054,"title":{},"body":{"license.html":{}}}],["salt",{"_index":2333,"title":{},"body":{"injectables/BBBService.html":{},"interfaces/IBbbSettings.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["same",{"_index":2344,"title":{},"body":{"injectables/BBBService.html":{},"injectables/BatchDeletionUc.html":{},"injectables/CommonToolValidationService.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LibraryRepo.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/VideoConferenceCreateParams.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["sameschool",{"_index":11174,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["samesite",{"_index":20215,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["saml",{"_index":25852,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["sample",{"_index":11365,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/ServerConsole.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["samplecontroller",{"_index":25735,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["samples",{"_index":25546,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["sampleservice",{"_index":25736,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["sampleservicemethod(username",{"_index":25624,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["sampleucmethod(user",{"_index":25591,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["sanis",{"_index":19434,"title":{},"body":{"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"injectables/UserLoginMigrationService.html":{},"additional-documentation/nestjs-application.html":{}}}],["sanis_client_id",{"_index":25310,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["sanisanschriftresponse",{"_index":19419,"title":{"classes/SanisAnschriftResponse.html":{}},"body":{"classes/SanisAnschriftResponse.html":{},"classes/SanisOrganisationResponse.html":{}}}],["sanisgeburtresponse",{"_index":19424,"title":{"classes/SanisGeburtResponse.html":{}},"body":{"classes/SanisGeburtResponse.html":{},"classes/SanisPersonResponse.html":{}}}],["sanisgrouprole",{"_index":19449,"title":{},"body":{"classes/SanisGruppenzugehoerigkeitResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["sanisgrouprole.student",{"_index":19570,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisgrouprole.teacher",{"_index":19569,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisgrouptype",{"_index":19431,"title":{},"body":{"classes/SanisGruppeResponse.html":{},"injectables/SanisResponseMapper.html":{}}}],["sanisgrouptype.class",{"_index":19572,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisgruppenresponse",{"_index":19435,"title":{"classes/SanisGruppenResponse.html":{}},"body":{"classes/SanisGruppenResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{}}}],["sanisgruppenzugehoerigkeitresponse",{"_index":19441,"title":{"classes/SanisGruppenzugehoerigkeitResponse.html":{}},"body":{"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{}}}],["sanisgrupperesponse",{"_index":19427,"title":{"classes/SanisGruppeResponse.html":{}},"body":{"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{}}}],["sanisnameresponse",{"_index":19453,"title":{"classes/SanisNameResponse.html":{}},"body":{"classes/SanisNameResponse.html":{},"classes/SanisPersonResponse.html":{}}}],["sanisorganisationresponse",{"_index":19457,"title":{"classes/SanisOrganisationResponse.html":{}},"body":{"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonenkontextResponse.html":{}}}],["sanispersonenkontextresponse",{"_index":19466,"title":{"classes/SanisPersonenkontextResponse.html":{}},"body":{"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{}}}],["sanispersonresponse",{"_index":19464,"title":{"classes/SanisPersonResponse.html":{}},"body":{"classes/SanisPersonResponse.html":{},"classes/SanisResponse.html":{}}}],["sanisprovisioningstrategy",{"_index":18062,"title":{"injectables/SanisProvisioningStrategy.html":{}},"body":{"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["sanisresponse",{"_index":19493,"title":{"classes/SanisResponse.html":{}},"body":{"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{}}}],["sanisresponsemapper",{"_index":18063,"title":{"injectables/SanisResponseMapper.html":{}},"body":{"modules/ProvisioningModule.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{}}}],["sanisresponsevalidationgroups",{"_index":19478,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{}}}],["sanisresponsevalidationgroups.groups",{"_index":19480,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["sanisresponsevalidationgroups.school",{"_index":19481,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["sanisresponsevalidationgroups.user",{"_index":19479,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{}}}],["sanisrole",{"_index":19476,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisResponseMapper.html":{}}}],["sanisrole.lehr",{"_index":19564,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisrole.leit",{"_index":19566,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisrole.lern",{"_index":19565,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisrole.orgadmin",{"_index":19567,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanissonstigegruppenzugehoerigeresponse",{"_index":12877,"title":{"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}},"body":{"classes/GroupRoleUnknownLoggable.html":{},"classes/SanisGruppenResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["sanisstrategy",{"_index":18076,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["sanissystem",{"_index":23659,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["sanissystem.id",{"_index":23663,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["sanitize",{"_index":24546,"title":{},"body":{"dependencies.html":{}}}],["sanitizehtml",{"_index":7979,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/PatchGroupParams.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/RenameBodyParams.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/UpdateNewsParams.html":{}}}],["sanitizehtml(inputformat.rich_text",{"_index":7980,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/UpdateNewsParams.html":{}}}],["sanitizehtml(inputformat.rich_text_ck5",{"_index":21500,"title":{},"body":{"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{}}}],["sanitizer",{"_index":25218,"title":{},"body":{"todo.html":{}}}],["sanitizerichtext",{"_index":6458,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RichText.html":{}}}],["sanitizerichtext(content",{"_index":18825,"title":{},"body":{"classes/RichText.html":{}}}],["sanitizerichtext(this.content.alternativetext",{"_index":6473,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["sanitizerichtext(this.content.caption",{"_index":6470,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["sanitizerichtext(this.content.text",{"_index":6492,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["sanitizing",{"_index":25456,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["satisfied",{"_index":11210,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["satisfies",{"_index":368,"title":{},"body":{"controllers/AccountController.html":{}}}],["satisfy",{"_index":11206,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{},"license.html":{}}}],["save",{"_index":18,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"injectables/SchoolYearRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/VideoConferenceRepo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["save(accountdto",{"_index":63,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountServiceDb.html":{}}}],["save(domainobject",{"_index":3632,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/GroupRepo.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["save(entities",{"_index":764,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserRepo.html":{}}}],["save(entitydo",{"_index":2479,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["save(group",{"_index":12902,"title":{},"body":{"injectables/GroupService.html":{}}}],["save(school",{"_index":15267,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["save(systemdto",{"_index":15312,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["save(user",{"_index":23899,"title":{},"body":{"injectables/UserService.html":{}}}],["save.dto",{"_index":456,"title":{},"body":{"classes/AccountDto.html":{}}}],["save.dto.ts",{"_index":840,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:13",{"_index":843,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:17",{"_index":851,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:21",{"_index":853,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:26",{"_index":848,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:30",{"_index":850,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:34",{"_index":844,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:38",{"_index":852,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:42",{"_index":849,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:46",{"_index":847,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:50",{"_index":845,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:54",{"_index":842,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:57",{"_index":841,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:9",{"_index":846,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.visitor",{"_index":3640,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["save.visitor.ts",{"_index":18494,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:100",{"_index":18516,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:114",{"_index":18517,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:130",{"_index":18518,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:144",{"_index":18514,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:157",{"_index":18519,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:170",{"_index":18520,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:183",{"_index":18515,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:199",{"_index":18511,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:206",{"_index":18505,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:214",{"_index":18508,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:220",{"_index":18502,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:41",{"_index":18500,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:45",{"_index":18506,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:59",{"_index":18513,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:73",{"_index":18512,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:86",{"_index":18509,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["saveall",{"_index":2445,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserService.html":{},"injectables/VideoConferenceRepo.html":{}}}],["saveall(entitydos",{"_index":2481,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["saveall(users",{"_index":23901,"title":{},"body":{"injectables/UserService.html":{}}}],["saveallusersmatches",{"_index":13830,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["saveallusersmatches(@currentuser",{"_index":13899,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["saveallusersmatches(currentuser",{"_index":13847,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["savecontextexternaltool",{"_index":6927,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["savecontextexternaltool(contextexternaltool",{"_index":6946,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["saved",{"_index":11018,"title":{},"body":{"injectables/ExternalToolUc.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["savedcontextexternaltool",{"_index":6957,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["saveddomainobject",{"_index":10555,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/GroupRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["saveddos",{"_index":2491,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["saveddos[0",{"_index":2493,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["savedentity",{"_index":12811,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["savedgroup",{"_index":12911,"title":{},"body":{"injectables/GroupService.html":{}}}],["savedpassword",{"_index":15657,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["savedprops",{"_index":12814,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["savedschool",{"_index":17590,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["saveduser",{"_index":17613,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"injectables/UserService.html":{}}}],["saveduser.id",{"_index":17616,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["savedusers",{"_index":23916,"title":{},"body":{"injectables/UserService.html":{}}}],["savefile",{"_index":22046,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["savefile(filename",{"_index":22064,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["saveh5pcontent",{"_index":13080,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["saveh5pcontent(body",{"_index":13120,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["saveh5peditorparams",{"_index":12496,"title":{"classes/SaveH5PEditorParams.html":{}},"body":{"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"controllers/H5PEditorController.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["saverecursive",{"_index":18498,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["saverecursive(boardnode",{"_index":18507,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["saveresponse",{"_index":13196,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["saveschoolexternaltool",{"_index":19805,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["saveschoolexternaltool(schoolexternaltool",{"_index":19818,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["saveuninitialized",{"_index":20207,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["savevisitor",{"_index":3670,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["savevisitor.save(domainobject",{"_index":3673,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["savewithoutflush",{"_index":732,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/UserRepo.html":{}}}],["savewithoutflush(account",{"_index":750,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["savewithoutflush(user",{"_index":23809,"title":{},"body":{"injectables/UserRepo.html":{}}}],["saying",{"_index":24900,"title":{},"body":{"license.html":{}}}],["sc",{"_index":4259,"title":{},"body":{"interfaces/CalendarEvent.html":{},"injectables/CalendarMapper.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"index.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["sc_api_response_time_in_seconds",{"_index":18740,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["sc_domain",{"_index":20110,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["sc_theme",{"_index":5548,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["scan",{"_index":11843,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["scanned",{"_index":11738,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/ParentInfo.html":{}}}],["scanresult",{"_index":1290,"title":{"interfaces/ScanResult.html":{}},"body":{"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["scanresult.error",{"_index":1327,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["scanresult.reason",{"_index":11838,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["scanresult.status",{"_index":11837,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["scanresult.virus_detected",{"_index":1324,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["scanresult.virus_signature",{"_index":1325,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["scanresultdto",{"_index":11826,"title":{"classes/ScanResultDto.html":{}},"body":{"classes/FileRecordMapper.html":{},"controllers/FileSecurityController.html":{},"classes/ScanResultDto.html":{}}}],["scanresultparams",{"_index":7163,"title":{"classes/ScanResultParams.html":{}},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"controllers/FileSecurityController.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["scanresultparams.error",{"_index":11842,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["scanresultparams.virus_detected",{"_index":11836,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["scanresultparams.virus_signature",{"_index":11839,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["scans",{"_index":5230,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["scanstatus",{"_index":7090,"title":{},"body":{"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"classes/ScanResultDto.html":{}}}],["scanstatus.blocked",{"_index":11779,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["scanstatus.error",{"_index":11782,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["scanstatus.pending",{"_index":11737,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["scanstatus.verified",{"_index":11788,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["scanstatus.wont_check",{"_index":11785,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["scdomain",{"_index":14540,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["scenario",{"_index":25681,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["scenarios",{"_index":25672,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["schema",{"_index":4018,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CommonCartridgeMetadataElement.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"controllers/ElementController.html":{},"classes/UsersList.html":{},"index.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["schema.ts",{"_index":25518,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["schemas",{"_index":25519,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["schemaversion",{"_index":5956,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["school",{"_index":703,"title":{},"body":{"interfaces/AccountParams.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BoardDoCopyService.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"entities/ContextExternalToolEntity.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"interfaces/CopyFileDO.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"interfaces/CreateNews.html":{},"interfaces/EntityWithSchool.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolMetadataService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/FeathersAuthProvider.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"modules/GroupApiModule.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/LdapAlreadyPersistedException.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"modules/OauthModule.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/ParentInfo.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"injectables/PseudonymUc.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolExternalToolProperties.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"injectables/SchoolExternalToolService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolValidationService.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenDO.html":{},"injectables/StartUserLoginMigrationUc.html":{},"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"interfaces/TaskCreate.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"modules/ToolApiModule.html":{},"controllers/ToolConfigurationController.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolLaunchService.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceService.html":{},"controllers/ToolSchoolController.html":{},"injectables/ToolVersionService.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"injectables/UserDORepo.html":{},"classes/UserFactory.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationIsNotEnabled.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"modules/VideoConferenceModule.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["school'})@apiokresponse({description",{"_index":22607,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["school(params",{"_index":26009,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["school(value",{"_index":21873,"title":{},"body":{"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["school._id",{"_index":14101,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["school.controller.ts",{"_index":23025,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["school.controller.ts:106",{"_index":23034,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["school.controller.ts:126",{"_index":23030,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["school.controller.ts:152",{"_index":23037,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["school.controller.ts:51",{"_index":23044,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["school.controller.ts:66",{"_index":23040,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["school.controller.ts:84",{"_index":23048,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["school.do.ts",{"_index":15136,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:11",{"_index":15145,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:13",{"_index":15146,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:15",{"_index":15149,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:17",{"_index":15147,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:19",{"_index":15148,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:21",{"_index":15151,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:23",{"_index":15144,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:26",{"_index":15150,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:28",{"_index":15152,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:31",{"_index":15141,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:9",{"_index":15142,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.dto",{"_index":17101,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["school.dto.ts",{"_index":9980,"title":{},"body":{"classes/ExternalSchoolDto.html":{}}}],["school.dto.ts:2",{"_index":9983,"title":{},"body":{"classes/ExternalSchoolDto.html":{}}}],["school.dto.ts:4",{"_index":9984,"title":{},"body":{"classes/ExternalSchoolDto.html":{}}}],["school.dto.ts:6",{"_index":9985,"title":{},"body":{"classes/ExternalSchoolDto.html":{}}}],["school.dto.ts:8",{"_index":9982,"title":{},"body":{"classes/ExternalSchoolDto.html":{}}}],["school.entity",{"_index":7439,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{}}}],["school.externalid",{"_index":19967,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["school.factory",{"_index":7651,"title":{},"body":{"classes/CourseFactory.html":{},"classes/ImportUserFactory.html":{},"classes/SubmissionFactory.html":{},"classes/TaskFactory.html":{},"classes/UserFactory.html":{}}}],["school.factory.ts",{"_index":15170,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["school.features",{"_index":15270,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.features.filter((f",{"_index":15272,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.features.includes(feature",{"_index":15271,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.features?.includes(schoolfeatures.oauth_provisioning_enabled",{"_index":16862,"title":{},"body":{"injectables/OAuthService.html":{}}}],["school.id",{"_index":20058,"title":{},"body":{"injectables/SchoolValidationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["school.module.ts",{"_index":15195,"title":{},"body":{"modules/LegacySchoolModule.html":{}}}],["school.name",{"_index":17581,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["school.officialschoolnumber",{"_index":2072,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SchoolValidationService.html":{},"injectables/StartUserLoginMigrationUc.html":{}}}],["school.previousexternalid",{"_index":15068,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/SchoolMigrationService.html":{}}}],["school.previousexternalid}/${username}`.tolowercase",{"_index":15072,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["school.repo.ts",{"_index":15198,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["school.repo.ts:14",{"_index":15201,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["school.repo.ts:19",{"_index":15209,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["school.repo.ts:23",{"_index":15205,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["school.repo.ts:30",{"_index":15207,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["school.rule.ts",{"_index":15243,"title":{},"body":{"injectables/LegacySchoolRule.html":{}}}],["school.rule.ts:12",{"_index":15244,"title":{},"body":{"injectables/LegacySchoolRule.html":{}}}],["school.rule.ts:15",{"_index":15246,"title":{},"body":{"injectables/LegacySchoolRule.html":{}}}],["school.rule.ts:21",{"_index":15245,"title":{},"body":{"injectables/LegacySchoolRule.html":{}}}],["school.schoolyear",{"_index":23277,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["school.service.ts",{"_index":15248,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.service.ts:12",{"_index":15255,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.service.ts:18",{"_index":15264,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.service.ts:23",{"_index":15266,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.service.ts:31",{"_index":15259,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.service.ts:37",{"_index":15257,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.service.ts:43",{"_index":15261,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.service.ts:49",{"_index":15268,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.systems",{"_index":15046,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["school.systems.includes(systemid",{"_index":15047,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/OidcProvisioningService.html":{}}}],["school.systems.includes(targetsystemid",{"_index":19968,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["school.systems.push(systemid",{"_index":17585,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["school.systems.push(targetsystemid",{"_index":19969,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["school.systems?.filter((systemid",{"_index":23662,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["school/legacy",{"_index":15194,"title":{},"body":{"modules/LegacySchoolModule.html":{}}}],["school/loggable/school",{"_index":20006,"title":{},"body":{"classes/SchoolNumberDuplicateLoggableException.html":{}}}],["school/repo/schoolyear.repo.ts",{"_index":20068,"title":{},"body":{"injectables/SchoolYearRepo.html":{}}}],["school/repo/schoolyear.repo.ts:11",{"_index":20070,"title":{},"body":{"injectables/SchoolYearRepo.html":{}}}],["school/repo/schoolyear.repo.ts:7",{"_index":20071,"title":{},"body":{"injectables/SchoolYearRepo.html":{}}}],["school/service/federal",{"_index":11386,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["school/service/legacy",{"_index":15247,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school/service/school",{"_index":20073,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["school/service/validation/school",{"_index":20048,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["school/types",{"_index":17575,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["school?.id",{"_index":16305,"title":{},"body":{"injectables/MigrationCheckService.html":{},"injectables/OidcProvisioningStrategy.html":{}}}],["school_in_migration",{"_index":19898,"title":{},"body":{"classes/SchoolInMigrationLoggableException.html":{}}}],["school_login_migration_database_operation_failed",{"_index":19927,"title":{},"body":{"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{}}}],["school_migration_failed",{"_index":20015,"title":{},"body":{"classes/SchoolNumberMismatchLoggableException.html":{}}}],["school_number_duplicate",{"_index":20009,"title":{},"body":{"classes/SchoolNumberDuplicateLoggableException.html":{}}}],["school_number_missing",{"_index":20020,"title":{},"body":{"classes/SchoolNumberMissingLoggableException.html":{}}}],["schooldo",{"_index":14193,"title":{},"body":{"classes/IservMapper.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["schooldo.externalid",{"_index":14197,"title":{},"body":{"classes/IservMapper.html":{}}}],["schooldo.features",{"_index":23665,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["schooldo.features.includes(schoolfeatures.oauth_provisioning_enabled",{"_index":23666,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["schooldo.features.push(schoolfeatures.oauth_provisioning_enabled",{"_index":23667,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["schooldo.name",{"_index":14196,"title":{},"body":{"classes/IservMapper.html":{}}}],["schooldo.officialschoolnumber",{"_index":14198,"title":{},"body":{"classes/IservMapper.html":{},"injectables/SchoolMigrationService.html":{}}}],["schooldocopy",{"_index":19963,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["schoolentity",{"_index":692,"title":{"entities/SchoolEntity.html":{}},"body":{"interfaces/AccountParams.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"interfaces/CreateNews.html":{},"interfaces/EntityWithSchool.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"injectables/LegacySchoolRepo.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolInfoMapper.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"injectables/UserDORepo.html":{},"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"classes/UsersList.html":{}}}],["schoolentity(props",{"_index":15218,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["schoolexclusive",{"_index":20260,"title":{},"body":{"classes/ShareTokenBodyParams.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{}}}],["schoolexternal",{"_index":19690,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["schoolexternaltool",{"_index":2004,"title":{"classes/SchoolExternalTool.html":{}},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolService.html":{},"injectables/FeathersRosterService.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/ToolConfigurationMapper.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceService.html":{},"controllers/ToolSchoolController.html":{},"injectables/ToolVersionService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["schoolexternaltool'})@httpcode(httpstatus.no_content",{"_index":23033,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["schoolexternaltool.id",{"_index":10094,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolService.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/ToolConfigurationMapper.html":{}}}],["schoolexternaltool.name",{"_index":19790,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["schoolexternaltool.schoolid",{"_index":2061,"title":{},"body":{"injectables/AutoSchoolIdStrategy.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["schoolexternaltool.status",{"_index":19794,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["schoolexternaltool.toolid",{"_index":10098,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["schoolexternaltool.toolversion",{"_index":19792,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["schoolexternaltoolconfigurationstatus",{"_index":19663,"title":{"classes/SchoolExternalToolConfigurationStatus.html":{}},"body":{"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolService.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{}}}],["schoolexternaltoolconfigurationstatusresponse",{"_index":19668,"title":{"classes/SchoolExternalToolConfigurationStatusResponse.html":{}},"body":{"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{}}}],["schoolexternaltoolconfigurationtemplatelistresponse",{"_index":19672,"title":{"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{}},"body":{"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{}}}],["schoolexternaltoolconfigurationtemplatelistresponse(mappedtools",{"_index":22670,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["schoolexternaltoolconfigurationtemplateresponse",{"_index":19674,"title":{"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}},"body":{"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{}}}],["schoolexternaltoolcount",{"_index":10369,"title":{},"body":{"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{}}}],["schoolexternaltooldto",{"_index":19767,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolUc.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolentity",{"_index":6744,"title":{"entities/SchoolExternalToolEntity.html":{}},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{}}}],["schoolexternaltoolentity(props",{"_index":19748,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["schoolexternaltoolfactory",{"_index":19682,"title":{"classes/SchoolExternalToolFactory.html":{}},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["schoolexternaltoolfactory.define(schoolexternaltool",{"_index":19689,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["schoolexternaltoolid",{"_index":6697,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"classes/ToolConfigurationMapper.html":{},"injectables/ToolLaunchService.html":{}}}],["schoolexternaltoolidparams",{"_index":19692,"title":{"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{}},"body":{"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolids",{"_index":10402,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolService.html":{}}}],["schoolexternaltoolmetadata",{"_index":19694,"title":{"classes/SchoolExternalToolMetadata.html":{}},"body":{"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolUc.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolmetadata.contextexternaltoolcountpercontext",{"_index":19696,"title":{},"body":{"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{}}}],["schoolexternaltoolmetadatamapper",{"_index":19697,"title":{"classes/SchoolExternalToolMetadataMapper.html":{}},"body":{"classes/SchoolExternalToolMetadataMapper.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolmetadatamapper.maptoschoolexternaltoolmetadataresponse(schoolexternaltoolmetadata",{"_index":23069,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolmetadataresponse",{"_index":19701,"title":{"classes/SchoolExternalToolMetadataResponse.html":{}},"body":{"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolmetadataresponse.contextexternaltoolcountpercontext",{"_index":19703,"title":{},"body":{"classes/SchoolExternalToolMetadataResponse.html":{}}}],["schoolexternaltoolmetadataresponse})@apiunauthorizedresponse({description",{"_index":23036,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolmetadataservice",{"_index":19704,"title":{"injectables/SchoolExternalToolMetadataService.html":{}},"body":{"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["schoolexternaltoolmodule",{"_index":6778,"title":{"modules/SchoolExternalToolModule.html":{}},"body":{"modules/ContextExternalToolModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{}}}],["schoolexternaltoolparams",{"_index":23042,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolparams.schoolid",{"_index":23052,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolpostparams",{"_index":19717,"title":{"classes/SchoolExternalToolPostParams.html":{}},"body":{"classes/SchoolExternalToolPostParams.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolproperties",{"_index":19677,"title":{"interfaces/SchoolExternalToolProperties.html":{}},"body":{"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["schoolexternaltoolprops",{"_index":19658,"title":{"interfaces/SchoolExternalToolProps.html":{}},"body":{"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolExternalToolProps.html":{}}}],["schoolexternaltoolquery",{"_index":19734,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolService.html":{}}}],["schoolexternaltoolqueryinput",{"_index":19850,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["schoolexternaltoolrefdo",{"_index":6650,"title":{"classes/SchoolExternalToolRefDO.html":{}},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{}}}],["schoolexternaltoolrepo",{"_index":1912,"title":{"injectables/SchoolExternalToolRepo.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"modules/CommonToolModule.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolService.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolService.html":{}}}],["schoolexternaltoolrequestmapper",{"_index":19763,"title":{"injectables/SchoolExternalToolRequestMapper.html":{}},"body":{"injectables/SchoolExternalToolRequestMapper.html":{},"modules/ToolApiModule.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolresponse",{"_index":19772,"title":{"classes/SchoolExternalToolResponse.html":{}},"body":{"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolresponsemapper",{"_index":19777,"title":{"injectables/SchoolExternalToolResponseMapper.html":{}},"body":{"injectables/SchoolExternalToolResponseMapper.html":{},"modules/ToolApiModule.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolresponse})@apiforbiddenresponse()@apiunauthorizedresponse()@apibadrequestresponse({type",{"_index":23047,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolresponse})@apiforbiddenresponse()@apiunprocessableentityresponse()@apiunauthorizedresponse()@apiresponse({status",{"_index":23029,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolrule",{"_index":1874,"title":{"injectables/SchoolExternalToolRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/RuleManager.html":{},"injectables/SchoolExternalToolRule.html":{}}}],["schoolexternaltools",{"_index":10073,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolService.html":{},"injectables/FeathersRosterService.html":{},"injectables/SchoolExternalToolService.html":{},"controllers/ToolSchoolController.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["schoolexternaltools.filter",{"_index":10090,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["schoolexternaltools.length",{"_index":10407,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["schoolexternaltools.map",{"_index":10403,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolService.html":{}}}],["schoolexternaltoolscope",{"_index":19736,"title":{"classes/SchoolExternalToolScope.html":{}},"body":{"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolScope.html":{}}}],["schoolexternaltoolsearchlistresponse",{"_index":19785,"title":{"classes/SchoolExternalToolSearchListResponse.html":{}},"body":{"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolsearchlistresponse(responses",{"_index":19789,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["schoolexternaltoolsearchparams",{"_index":19799,"title":{"classes/SchoolExternalToolSearchParams.html":{}},"body":{"classes/SchoolExternalToolSearchParams.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolservice",{"_index":6929,"title":{"injectables/SchoolExternalToolService.html":{}},"body":{"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/FeathersRosterService.html":{},"modules/SchoolExternalToolModule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolReferenceService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["schoolexternaltoolsinuse",{"_index":10146,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["schoolexternaltoolsinuse.map",{"_index":10150,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["schoolexternaltooluc",{"_index":19835,"title":{"injectables/SchoolExternalToolUc.html":{}},"body":{"injectables/SchoolExternalToolUc.html":{},"modules/ToolApiModule.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolvalidationservice",{"_index":19715,"title":{"injectables/SchoolExternalToolValidationService.html":{}},"body":{"modules/SchoolExternalToolModule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/ToolVersionService.html":{}}}],["schoolexternaltoolversion",{"_index":19869,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["schoolfactory",{"_index":7650,"title":{},"body":{"classes/CourseFactory.html":{},"classes/ImportUserFactory.html":{},"classes/SubmissionFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserFactory.html":{}}}],["schoolfactory.build",{"_index":7660,"title":{},"body":{"classes/CourseFactory.html":{},"classes/ImportUserFactory.html":{},"classes/SubmissionFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserFactory.html":{}}}],["schoolfactory.buildwithid",{"_index":21998,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["schoolfeatures",{"_index":15143,"title":{},"body":{"classes/LegacySchoolDo.html":{},"injectables/LegacySchoolService.html":{},"injectables/OAuthService.html":{},"injectables/OidcProvisioningService.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["schoolfeatures.enable_ldap_sync_during_migration",{"_index":23652,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["schoolfeatures.oauth_provisioning_enabled",{"_index":17589,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["schoolforgroupnotfoundloggable",{"_index":17576,"title":{"classes/SchoolForGroupNotFoundLoggable.html":{}},"body":{"injectables/OidcProvisioningService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["schoolforgroupnotfoundloggable(externalgroup",{"_index":17620,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["schoolid",{"_index":4557,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolUc.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"classes/DownloadFileParams.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FileDO.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileUrlParams.html":{},"classes/FilesStorageMapper.html":{},"interfaces/GroupNameIdTuple.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JwtPayload.html":{},"classes/LdapAuthorizationBodyParams.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolService.html":{},"classes/LumiUserWithContentData.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsUc.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/ParentInfo.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ResolvedUserResponse.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SingleFileParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/ToolSchoolController.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"interfaces/UserMetdata.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"injectables/VideoConferenceCreateUc.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["schoolid'})@index",{"_index":7666,"title":{},"body":{"entities/CourseGroup.html":{},"entities/Submission.html":{}}}],["schooliddoesnotmatchwithuserschoolid",{"_index":19885,"title":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["schoolidparams",{"_index":19895,"title":{"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{}},"body":{"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"controllers/ToolConfigurationController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["schoolinfo",{"_index":19915,"title":{},"body":{"classes/SchoolInfoMapper.html":{}}}],["schoolinfo.id",{"_index":19916,"title":{},"body":{"classes/SchoolInfoMapper.html":{}}}],["schoolinfo.name",{"_index":19917,"title":{},"body":{"classes/SchoolInfoMapper.html":{}}}],["schoolinfomapper",{"_index":16489,"title":{"classes/SchoolInfoMapper.html":{}},"body":{"classes/NewsMapper.html":{},"classes/SchoolInfoMapper.html":{}}}],["schoolinfomapper.maptoresponse(news.school",{"_index":16494,"title":{},"body":{"classes/NewsMapper.html":{}}}],["schoolinforesponse",{"_index":16461,"title":{"classes/SchoolInfoResponse.html":{}},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{}}}],["schoolinmigrationloggableexception",{"_index":16894,"title":{"classes/SchoolInMigrationLoggableException.html":{}},"body":{"injectables/Oauth2Strategy.html":{},"classes/SchoolInMigrationLoggableException.html":{}}}],["schoolinusermigrationendloggable",{"_index":19899,"title":{"classes/SchoolInUserMigrationEndLoggable.html":{}},"body":{"classes/SchoolInUserMigrationEndLoggable.html":{}}}],["schoolinusermigrationstartloggable",{"_index":19905,"title":{"classes/SchoolInUserMigrationStartLoggable.html":{}},"body":{"classes/SchoolInUserMigrationStartLoggable.html":{}}}],["schoolmigrated",{"_index":19975,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["schoolmigrationdatabaseoperationfailedloggableexception",{"_index":19921,"title":{"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{}},"body":{"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{}}}],["schoolmigrationdatabaseoperationfailedloggableexception(existingschool",{"_index":19966,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["schoolmigrationdatabaseoperationfailedloggableexception(originalschooldo",{"_index":19972,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["schoolmigrationservice",{"_index":4944,"title":{"injectables/SchoolMigrationService.html":{}},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SchoolMigrationService.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["schoolmigrationsuccessfulloggable",{"_index":19997,"title":{"classes/SchoolMigrationSuccessfulLoggable.html":{}},"body":{"classes/SchoolMigrationSuccessfulLoggable.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["schoolmigrationsuccessfulloggable(schooltomigrate",{"_index":23702,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["schoolname",{"_index":14945,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/LegacySchoolFactory.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcProvisioningService.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["schoolnews",{"_index":7793,"title":{"entities/SchoolNews.html":{}},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["schoolnews(props",{"_index":7791,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["schoolnumber",{"_index":15262,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["schoolnumber_prefix_regex",{"_index":19547,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["schoolnumberduplicateloggableexception",{"_index":20005,"title":{"classes/SchoolNumberDuplicateLoggableException.html":{}},"body":{"classes/SchoolNumberDuplicateLoggableException.html":{},"injectables/SchoolValidationService.html":{}}}],["schoolnumberduplicateloggableexception(school.officialschoolnumber",{"_index":20054,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["schoolnumbermismatchloggableexception",{"_index":19962,"title":{"classes/SchoolNumberMismatchLoggableException.html":{}},"body":{"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberMismatchLoggableException.html":{}}}],["schoolnumbermissingloggableexception",{"_index":20018,"title":{"classes/SchoolNumberMissingLoggableException.html":{}},"body":{"classes/SchoolNumberMissingLoggableException.html":{},"injectables/StartUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{}}}],["schoolnumbermissingloggableexception(schoolid",{"_index":20571,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["schoolnumbermissingloggableexception})@apiokresponse({description",{"_index":23445,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["schoolparameter",{"_index":8229,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["schoolparameters",{"_index":19676,"title":{},"body":{"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["schoolproperties",{"_index":15202,"title":{"interfaces/SchoolProperties.html":{}},"body":{"injectables/LegacySchoolRepo.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["schoolrepo",{"_index":15029,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LegacySchoolService.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/SchoolValidationService.html":{}}}],["schoolrolepermission",{"_index":19646,"title":{"classes/SchoolRolePermission.html":{}},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["schoolroles",{"_index":19623,"title":{"classes/SchoolRoles.html":{}},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["schoolrule",{"_index":26033,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["schools",{"_index":7095,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/CreateNews.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/INewsScope.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/OAuthService.html":{},"interfaces/ParentInfo.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/ShareTokenDO.html":{}}}],["schools[0",{"_index":15216,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["schoolservice",{"_index":2067,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PseudonymUc.html":{},"injectables/SchoolMigrationService.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["schoolspecificfilecopyservice",{"_index":3595,"title":{"interfaces/SchoolSpecificFileCopyService.html":{}},"body":{"injectables/BoardDoCopyService.html":{},"classes/RecursiveCopyVisitor.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["schoolspecificfilecopyservicecopyparams",{"_index":20028,"title":{},"body":{"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["schoolspecificfilecopyservicefactory",{"_index":3864,"title":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{}},"body":{"modules/BoardModule.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{}}}],["schoolspecificfilecopyserviceimpl",{"_index":20037,"title":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}},"body":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["schoolspecificfilecopyserviceimpl(this.filesstorageclientadapterservice",{"_index":20038,"title":{},"body":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{}}}],["schoolspecificfilecopyserviceprops",{"_index":20031,"title":{},"body":{"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["schooltomigrate",{"_index":23698,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["schooltool",{"_index":6737,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/ContextExternalToolScope.html":{}}}],["schooltoolconfigurationstatusfactory",{"_index":19687,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["schooltoolconfigurationstatusfactory.build",{"_index":19691,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["schooltoolconfigurationstatusresponsemapper",{"_index":19786,"title":{"classes/SchoolToolConfigurationStatusResponseMapper.html":{}},"body":{"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{}}}],["schooltoolconfigurationstatusresponsemapper.maptoresponse",{"_index":19793,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["schooltoolid",{"_index":6763,"title":{},"body":{"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolService.html":{},"classes/SchoolExternalToolRefDO.html":{}}}],["schooltoolref",{"_index":6643,"title":{},"body":{"classes/ContextExternalTool.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolRequestMapper.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolValidationService.html":{}}}],["schooltoolrepo",{"_index":10396,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{}}}],["schooltype",{"_index":16113,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["schoolvalidationservice",{"_index":15192,"title":{"injectables/SchoolValidationService.html":{}},"body":{"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolService.html":{},"injectables/SchoolValidationService.html":{}}}],["schoolyear",{"_index":4683,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"injectables/FederalStateService.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/OidcProvisioningService.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/SchoolYearService.html":{}}}],["schoolyear.entity",{"_index":19635,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["schoolyear.factory",{"_index":15175,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["schoolyear?.name",{"_index":12946,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["schoolyearentity",{"_index":12422,"title":{"entities/SchoolYearEntity.html":{}},"body":{"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"classes/GroupUcMapper.html":{},"classes/LegacySchoolDo.html":{},"injectables/OidcProvisioningService.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{}}}],["schoolyearfactory",{"_index":15174,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["schoolyearfactory.build",{"_index":15186,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["schoolyearproperties",{"_index":20064,"title":{"interfaces/SchoolYearProperties.html":{}},"body":{"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{}}}],["schoolyearquerytype",{"_index":4674,"title":{},"body":{"classes/ClassFilterParams.html":{}}}],["schoolyearrepo",{"_index":15193,"title":{"injectables/SchoolYearRepo.html":{}},"body":{"modules/LegacySchoolModule.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{}}}],["schoolyearservice",{"_index":15191,"title":{"injectables/SchoolYearService.html":{}},"body":{"modules/LegacySchoolModule.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SchoolYearService.html":{}}}],["schould",{"_index":7969,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/UpdateNewsParams.html":{}}}],["schul",{"_index":2220,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarService.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardService.html":{},"interfaces/CopyFileDO.html":{},"injectables/CourseCopyUC.html":{},"modules/DeletionApiModule.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DtoCreator.html":{},"interfaces/FileDO.html":{},"interfaces/FileStorageConfig.html":{},"modules/FilesStorageModule.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/HydraSsoService.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IToolFeatures.html":{},"classes/KeycloakAdministration.html":{},"injectables/LessonCopyUC.html":{},"modules/ManagementModule.html":{},"injectables/MetaTagInternalUrlService.html":{},"controllers/OauthProviderController.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/PrometheusMetricsConfig.html":{},"injectables/PseudonymService.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/RedisModule.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsService.html":{},"injectables/SanisProvisioningStrategy.html":{},"interfaces/ServerConfig.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TldrawConfig.html":{},"classes/ToolConfiguration.html":{},"injectables/UserLoginMigrationService.html":{},"classes/VideoConferenceConfiguration.html":{},"dependencies.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["schulcloud",{"_index":13501,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/NextcloudStrategy.html":{},"controllers/ServerController.html":{},"additional-documentation/nestjs-application.html":{}}}],["schulcloudnextcloud",{"_index":17340,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["scope",{"_index":6244,"title":{"classes/Scope.html":{}},"body":{"classes/ConsentRequestBody.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolScope.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"injectables/ExternalToolServiceMapper.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"injectables/HydraSsoService.html":{},"controllers/ImportUserController.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"interfaces/IntrospectResponse.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfigEntity.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"classes/LessonScope.html":{},"injectables/Logger.html":{},"classes/LoginRequestBody.html":{},"controllers/NewsController.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/OauthProviderService.html":{},"classes/OidcConfigEntity.html":{},"classes/PseudonymScope.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolScope.html":{},"classes/Scope.html":{},"classes/ScopeRef.html":{},"injectables/SubmissionRepo.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{},"classes/SystemScope.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"controllers/TeamNewsController.html":{},"injectables/UserDORepo.html":{},"classes/UserMatchMapper.html":{},"classes/UserScope.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceScopeParams.html":{},"license.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["scope)roles",{"_index":25989,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["scope.addquery(allforcreator.query",{"_index":21621,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.addquery(allforfinishedcoursesandlessons.query",{"_index":21620,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.addquery(closedforopencoursesandlessons.query",{"_index":21619,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.addquery(parentidscope.query",{"_index":21634,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.afterduedateornone(filters.afterduedateornone",{"_index":21641,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.allowemptyquery(true",{"_index":19752,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["scope.byavailable(filters?.availableon",{"_index":21645,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.byclasses(filters.classes",{"_index":14047,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.bycourseids([courseid",{"_index":21647,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.bycourseids(courseids",{"_index":15454,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["scope.bycreator(creatorid",{"_index":16553,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["scope.bydraft(false",{"_index":21639,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.byfinished(filters.finished.userid",{"_index":21636,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.byfirstname(filters.firstname",{"_index":14039,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.byhidden(filters.hidden",{"_index":15456,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["scope.bylastname(filters.lastname",{"_index":14041,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.byloginname(filters.loginname",{"_index":14043,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.bymatches(filters.matches",{"_index":14049,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.bypublished",{"_index":16549,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["scope.byrole(filters.role",{"_index":14045,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.byschool(school",{"_index":14037,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.byschoolid(query.schoolid",{"_index":19750,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["scope.bytargets(targets",{"_index":16548,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["scope.bytoolid(query.toolid",{"_index":19751,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["scope.byunpublished",{"_index":16552,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["scope.byusermatch(user",{"_index":14035,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.enum",{"_index":24138,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["scope.excludedraftsofothers(creatorid",{"_index":21649,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.excludedraftsofothers(parentids.creatorid",{"_index":21638,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.excludeunavailableofothers(parentids.creatorid",{"_index":21643,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.foractivecourses",{"_index":7838,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["scope.forallgrouptypes(userid",{"_index":7836,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["scope.forcourseid(courseid",{"_index":7848,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["scope.forteacher(userid",{"_index":7844,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["scope.forteacherorsubstituteteacher(userid",{"_index":7847,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["scope.id",{"_index":24108,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["scope.isflagged(true",{"_index":14051,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.name",{"_index":23725,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["scope.nofutureavailabledate",{"_index":21651,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.params.ts",{"_index":24338,"title":{},"body":{"classes/VideoConferenceScopeParams.html":{}}}],["scope.params.ts:12",{"_index":24342,"title":{},"body":{"classes/VideoConferenceScopeParams.html":{}}}],["scope.params.ts:8",{"_index":24340,"title":{},"body":{"classes/VideoConferenceScopeParams.html":{}}}],["scope.query",{"_index":7843,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/UserDORepo.html":{}}}],["scope.request",{"_index":11359,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["scope.scope",{"_index":24114,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["scope.target",{"_index":16664,"title":{},"body":{"injectables/NewsUc.html":{}}}],["scope.targetid",{"_index":21913,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["scope.targetmodel",{"_index":21915,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["scope.transient",{"_index":15120,"title":{},"body":{"injectables/LegacyLogger.html":{},"injectables/Logger.html":{}}}],["scope.ts",{"_index":9400,"title":{},"body":{"classes/DeletionRequestScope.html":{},"classes/FileRecordScope.html":{},"classes/LessonScope.html":{},"classes/NewsScope.html":{},"classes/SystemScope.html":{},"classes/TaskScope.html":{}}}],["scope.ts:10",{"_index":21211,"title":{},"body":{"classes/SystemScope.html":{}}}],["scope.ts:11",{"_index":15502,"title":{},"body":{"classes/LessonScope.html":{}}}],["scope.ts:12",{"_index":9405,"title":{},"body":{"classes/DeletionRequestScope.html":{}}}],["scope.ts:13",{"_index":11907,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["scope.ts:15",{"_index":21212,"title":{},"body":{"classes/SystemScope.html":{}}}],["scope.ts:17",{"_index":21718,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:19",{"_index":11914,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["scope.ts:25",{"_index":11916,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/TaskScope.html":{}}}],["scope.ts:26",{"_index":16589,"title":{},"body":{"classes/NewsScope.html":{}}}],["scope.ts:31",{"_index":11909,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/TaskScope.html":{}}}],["scope.ts:32",{"_index":16592,"title":{},"body":{"classes/NewsScope.html":{}}}],["scope.ts:38",{"_index":16588,"title":{},"body":{"classes/NewsScope.html":{}}}],["scope.ts:39",{"_index":21716,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:45",{"_index":21713,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:5",{"_index":21210,"title":{},"body":{"classes/SystemScope.html":{}}}],["scope.ts:52",{"_index":21720,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:6",{"_index":9404,"title":{},"body":{"classes/DeletionRequestScope.html":{},"classes/LessonScope.html":{}}}],["scope.ts:60",{"_index":21710,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:66",{"_index":21727,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:7",{"_index":11912,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/TaskScope.html":{}}}],["scope.ts:73",{"_index":21722,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:83",{"_index":21708,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:89",{"_index":21726,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:9",{"_index":16591,"title":{},"body":{"classes/NewsScope.html":{}}}],["scope.ts:95",{"_index":21724,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.withldapconfig",{"_index":15293,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["scope.withoauthconfig",{"_index":15295,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["scope.withoidcconfig",{"_index":15297,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["scope:11",{"_index":6902,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/ImportUserScope.html":{},"classes/LessonScope.html":{},"classes/NewsScope.html":{},"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SystemScope.html":{},"classes/TaskScope.html":{},"classes/UserScope.html":{}}}],["scope:13",{"_index":6900,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/ImportUserScope.html":{},"classes/LessonScope.html":{},"classes/NewsScope.html":{},"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SystemScope.html":{},"classes/TaskScope.html":{},"classes/UserScope.html":{}}}],["scope:31",{"_index":6914,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/ImportUserScope.html":{},"classes/LessonScope.html":{},"classes/NewsScope.html":{},"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SystemScope.html":{},"classes/TaskScope.html":{},"classes/UserScope.html":{}}}],["scope:35",{"_index":6916,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/ImportUserScope.html":{},"classes/LessonScope.html":{},"classes/NewsScope.html":{},"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SystemScope.html":{},"classes/TaskScope.html":{},"classes/UserScope.html":{}}}],["scope:9",{"_index":6903,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/ImportUserScope.html":{},"classes/LessonScope.html":{},"classes/NewsScope.html":{},"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SystemScope.html":{},"classes/TaskScope.html":{},"classes/UserScope.html":{}}}],["scope?.target",{"_index":16661,"title":{},"body":{"injectables/NewsUc.html":{}}}],["scope?.unpublished",{"_index":16643,"title":{},"body":{"injectables/NewsUc.html":{}}}],["scoped",{"_index":21819,"title":{},"body":{"injectables/TaskUC.html":{}}}],["scopeid",{"_index":11182,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"interfaces/ScopeInfo.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["scopeinfo",{"_index":20099,"title":{"interfaces/ScopeInfo.html":{}},"body":{"interfaces/ScopeInfo.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["scopeinfo.logouturl",{"_index":24124,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["scopeinfo.scopeid",{"_index":24116,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["scopemapping",{"_index":10747,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["scopemapping[customparameterdo.scope",{"_index":10857,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["scopemapping[customparameterparam.scope",{"_index":10795,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["scopename",{"_index":20102,"title":{},"body":{"interfaces/ScopeInfo.html":{}}}],["scopeoperator",{"_index":6901,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/ImportUserScope.html":{},"classes/LessonScope.html":{},"classes/NewsScope.html":{},"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/Scope.html":{},"classes/SystemScope.html":{},"classes/TaskScope.html":{},"classes/UserScope.html":{}}}],["scopeparams",{"_index":24019,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["scopeparams.scope",{"_index":24056,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["scopepermission",{"_index":21818,"title":{},"body":{"injectables/TaskUC.html":{}}}],["scopepermissions",{"_index":21817,"title":{},"body":{"injectables/TaskUC.html":{}}}],["scoperef",{"_index":20103,"title":{"classes/ScopeRef.html":{}},"body":{"classes/ScopeRef.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["scoperef(scopeparams.scopeid",{"_index":24055,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["scoperessource",{"_index":24110,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["scopes",{"_index":2752,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"classes/ConsentResponse.html":{},"injectables/IdTokenService.html":{},"classes/LoginResponse-1.html":{},"controllers/NewsController.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["scopes.includes(oauthscope.email",{"_index":13685,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["scopes.includes(oauthscope.groups",{"_index":13679,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["scopes.includes(oauthscope.profile",{"_index":13686,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["scopes/rules/permissions/user",{"_index":26073,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["scraper",{"_index":16217,"title":{},"body":{"injectables/MetaTagExtractorService.html":{},"dependencies.html":{}}}],["scraper/dist/lib/types",{"_index":16218,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["scripts",{"_index":12465,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["sdk",{"_index":24454,"title":{},"body":{"dependencies.html":{}}}],["sdk/client",{"_index":8869,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{}}}],["sdk/lib",{"_index":19325,"title":{},"body":{"injectables/S3ClientAdapter.html":{},"dependencies.html":{}}}],["search",{"_index":860,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"interfaces/ExternalToolSearchQuery.html":{},"classes/IdentityManagementService.html":{},"interfaces/PseudonymSearchQuery.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"injectables/TemporaryFileStorage.html":{},"classes/UserLoginMigrationSearchListResponse.html":{}}}],["search.params.ts",{"_index":10874,"title":{},"body":{"classes/ExternalToolSearchParams.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/UserLoginMigrationSearchParams.html":{}}}],["search.params.ts:13",{"_index":10876,"title":{},"body":{"classes/ExternalToolSearchParams.html":{}}}],["search.params.ts:8",{"_index":10877,"title":{},"body":{"classes/ExternalToolSearchParams.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/UserLoginMigrationSearchParams.html":{}}}],["search.query.params.ts",{"_index":882,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["search.query.params.ts:14",{"_index":887,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["search.query.params.ts:22",{"_index":888,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["searchability",{"_index":25586,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["searchaccounts",{"_index":321,"title":{},"body":{"controllers/AccountController.html":{}}}],["searchaccounts(currentuser",{"_index":364,"title":{},"body":{"controllers/AccountController.html":{}}}],["searchbyusername",{"_index":733,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["searchbyusername(username",{"_index":752,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["searchbyusernameexactmatch",{"_index":19,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{}}}],["searchbyusernameexactmatch(username",{"_index":67,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{}}}],["searchbyusernamepartialmatch",{"_index":20,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{}}}],["searchbyusernamepartialmatch(username",{"_index":69,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{}}}],["searches",{"_index":22690,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["searching",{"_index":14111,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["searchoptions",{"_index":13750,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["searchparams",{"_index":23551,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["searchparams.userid",{"_index":23554,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["searchquery",{"_index":10800,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["searchuser",{"_index":14884,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["searchusername",{"_index":799,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["searchuserpassword",{"_index":14885,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["second",{"_index":2974,"title":{},"body":{"entities/Board.html":{},"injectables/S3ClientAdapter.html":{}}}],["secondarily",{"_index":24725,"title":{},"body":{"license.html":{}}}],["secondary",{"_index":24679,"title":{},"body":{"license.html":{}}}],["secondchar",{"_index":7505,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["seconds",{"_index":4886,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/ConsentRequestBody.html":{},"classes/KeycloakConsole.html":{},"classes/LoginRequestBody.html":{},"interfaces/MigrationOptions.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"interfaces/RetryOptions.html":{}}}],["seconds_of_90_days",{"_index":9292,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["secret",{"_index":1598,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/CollectionFilePath.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolValidationService.html":{},"interfaces/JwtConstants.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthClientBody.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SystemEntityFactory.html":{},"additional-documentation/nestjs-application.html":{}}}],["secretaccesskey",{"_index":7195,"title":{},"body":{"interfaces/CopyFiles.html":{},"injectables/DeleteFilesUc.html":{},"interfaces/File.html":{},"interfaces/FileStorageConfig.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["secretdata",{"_index":14796,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["secretorkey",{"_index":14301,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["secrets",{"_index":5373,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"additional-documentation/nestjs-application.html":{}}}],["secretvalue",{"_index":1760,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["section",{"_index":16984,"title":{},"body":{"classes/OauthClientBody.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["sections",{"_index":24872,"title":{},"body":{"license.html":{}}}],["secure",{"_index":20213,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["secure_launch_url",{"_index":5889,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["security",{"_index":11521,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"classes/SystemResponseMapper.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["security.controller.ts",{"_index":11939,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["security.controller.ts:15",{"_index":11945,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["security.controller.ts:29",{"_index":11948,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["securitycheck",{"_index":11485,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["securitycheck.requesttoken",{"_index":11750,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["securitycheckstatus",{"_index":7099,"title":{},"body":{"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"interfaces/FileDO.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["see",{"_index":561,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ApiValidationError.html":{},"injectables/AuthorizationReferenceService.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CustomParameterFactory.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileRecordFactory.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GlobalValidationPipe.html":{},"classes/H5PContentFactory.html":{},"modules/H5PEditorModule.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/IDashboardRepo.html":{},"classes/ImportUserFactory.html":{},"interfaces/JwtPayload.html":{},"classes/LdapConfigEntity.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SubmissionFactory.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"index.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["seed",{"_index":4907,"title":{},"body":{"interfaces/CleanOptions.html":{},"interfaces/CollectionFilePath.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"classes/KeycloakSeedService.html":{},"interfaces/MigrationOptions.html":{},"interfaces/Options.html":{},"interfaces/RetryOptions.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["seed(options",{"_index":4908,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["seed.service",{"_index":14438,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationUc.html":{}}}],["seed.service.ts",{"_index":14814,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["seed.service.ts:13",{"_index":14818,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["seed.service.ts:20",{"_index":14823,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["seed.service.ts:35",{"_index":14819,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["seed.service.ts:60",{"_index":14820,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["seed.service.ts:94",{"_index":14821,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["seed.service.ts:99",{"_index":14822,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["seedcollections",{"_index":8715,"title":{},"body":{"classes/DatabaseManagementConsole.html":{}}}],["seedcollections(options",{"_index":8719,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["seeddata",{"_index":25665,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["seeddatabasecollectionsfromfactories(collections",{"_index":5256,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["seeddatabasecollectionsfromfilesystem(collections",{"_index":5273,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["seeded",{"_index":14768,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["seededcollectionswithamount",{"_index":5267,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["seededcollectionswithamount.push(`${collectionname}:${importeddocumentsamount",{"_index":5294,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["seeding",{"_index":25859,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["seeds",{"_index":4906,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["seems",{"_index":25253,"title":{},"body":{"todo.html":{}}}],["segregation",{"_index":25414,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["sehr",{"_index":5542,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["select",{"_index":26034,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["selectconfigureaction",{"_index":14454,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["selectconfigureaction(newconfigs",{"_index":14483,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["selected",{"_index":14184,"title":{},"body":{"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/LdapStrategy.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"todo.html":{}}}],["selectedrules",{"_index":19273,"title":{},"body":{"injectables/RuleManager.html":{}}}],["selectrule",{"_index":19250,"title":{},"body":{"injectables/RuleManager.html":{}}}],["selectrule(user",{"_index":19256,"title":{},"body":{"injectables/RuleManager.html":{}}}],["self",{"_index":17632,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["sell",{"_index":25069,"title":{},"body":{"license.html":{}}}],["selling",{"_index":25053,"title":{},"body":{"license.html":{}}}],["semiconductor",{"_index":24709,"title":{},"body":{"license.html":{}}}],["senario",{"_index":25688,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["send",{"_index":1296,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/MailService.html":{},"injectables/TldrawWsService.html":{},"additional-documentation/nestjs-application.html":{}}}],["send(data",{"_index":1647,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["send(doc",{"_index":22440,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["send(params",{"_index":1655,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["send(requesttoken",{"_index":1307,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["sendauthenticationcodetokenrequest",{"_index":16932,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["sendauthenticationcodetokenrequest(tokenendpoint",{"_index":16939,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["sendawarenessmessage",{"_index":24356,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["sendawarenessmessage(buff",{"_index":24368,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["sendhttpresponse",{"_index":12529,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["sendhttpresponse(error",{"_index":12545,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["sending",{"_index":8993,"title":{},"body":{"injectables/DeletionClient.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["sense",{"_index":1833,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/LessonCopyUC.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["sensible",{"_index":21033,"title":{},"body":{"controllers/SystemController.html":{}}}],["sent",{"_index":1216,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{}}}],["sentence",{"_index":1392,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"classes/ErrorResponse.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["separable",{"_index":24911,"title":{},"body":{"license.html":{}}}],["separate",{"_index":15125,"title":{},"body":{"injectables/LegacyLogger.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["separated",{"_index":16982,"title":{},"body":{"classes/OauthClientBody.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["separately",{"_index":24858,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["seperate",{"_index":15395,"title":{},"body":{"injectables/LessonCopyUC.html":{},"index.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["seperated",{"_index":25470,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["seperation",{"_index":24580,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["sequence",{"_index":514,"title":{},"body":{"classes/AccountFactory.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"interfaces/CollectionFilePath.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/ShareTokenFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["sequence}.0",{"_index":13016,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["sequence}.txt",{"_index":13363,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{}}}],["sequence}@example.com",{"_index":13917,"title":{},"body":{"classes/ImportUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["sequence}displayname",{"_index":21127,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["serialization",{"_index":20580,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{},"todo.html":{}}}],["serialize",{"_index":4178,"title":{},"body":{"injectables/BsonConverter.html":{},"interfaces/CollectionFilePath.html":{}}}],["serialize(documents",{"_index":4188,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["serializedprimarykey",{"_index":2551,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["serializes",{"_index":4190,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["serve",{"_index":24547,"title":{},"body":{"dependencies.html":{},"additional-documentation/nestjs-application.html":{}}}],["served",{"_index":25373,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["server",{"_index":2163,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/ConsentRequestBody.html":{},"classes/ContentMetadata.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/DeletionClient.html":{},"classes/FileMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"entities/H5pEditorTempFile.html":{},"entities/InstalledLibrary.html":{},"injectables/LegacyLogger.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/LoginRequestBody.html":{},"classes/LumiUserWithContentData.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"classes/OAuthRejectableBody.html":{},"classes/OauthClientBody.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TldrawWs.html":{},"classes/UsersList.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"properties.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["server)/g",{"_index":22402,"title":{},"body":{"classes/TldrawWs.html":{}}}],["server.config",{"_index":1035,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["server.console",{"_index":20150,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["server.module",{"_index":1037,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{}}}],["server.module.ts",{"_index":16089,"title":{},"body":{"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{}}}],["server.module.ts:36",{"_index":16095,"title":{},"body":{"modules/ManagementServerTestModule.html":{}}}],["server/blob/main/apps/server/src/modules/authorization/readme.md",{"_index":25393,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["server/blob/main/config/readme.md",{"_index":25392,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["server/blob/main/src/services/lesson/hooks/index.js#l232",{"_index":26065,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["server/build/src/contentmanager",{"_index":13293,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["server/build/src/contenttypeinformationrepository",{"_index":13294,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["server/build/src/types",{"_index":6574,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PLibraryManagementService.html":{},"entities/InstalledLibrary.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["server/overview.html",{"_index":25256,"title":{},"body":{"todo.html":{}}}],["server/pull/2729#pullrequestreview",{"_index":25235,"title":{},"body":{"todo.html":{}}}],["server/server.config",{"_index":674,"title":{},"body":{"modules/AccountModule.html":{}}}],["server_options_path='/tmp/config/server",{"_index":25871,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["serverconfig",{"_index":649,"title":{"interfaces/ServerConfig.html":{}},"body":{"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"injectables/AuthenticationService.html":{},"injectables/KeycloakConfigurationService.html":{},"modules/ManagementModule.html":{},"interfaces/PreviewConfig.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"interfaces/PreviewModuleConfig.html":{},"controllers/RoomsController.html":{},"interfaces/ServerConfig.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{}}}],["serverconsole",{"_index":20131,"title":{"classes/ServerConsole.html":{}},"body":{"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{}}}],["serverconsolemodule",{"_index":20143,"title":{"modules/ServerConsoleModule.html":{}},"body":{"modules/ServerConsoleModule.html":{}}}],["servercontroller",{"_index":20152,"title":{"controllers/ServerController.html":{}},"body":{"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["servermodule",{"_index":20155,"title":{"modules/ServerModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["servermodules",{"_index":1038,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["servers",{"_index":24689,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["servertestmodule",{"_index":20231,"title":{"modules/ServerTestModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["serves",{"_index":24767,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{}}}],["service",{"_index":610,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AuthorizationService.html":{},"classes/BaseUc.html":{},"injectables/BatchDeletionUc.html":{},"modules/BoardModule.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"modules/ClassModule.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnUc.html":{},"modules/CommonToolModule.html":{},"modules/ContextExternalToolModule.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/CourseCopyUC.html":{},"injectables/ElementUc.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolUc.html":{},"injectables/FeathersAuthProvider.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"modules/FilesModule.html":{},"modules/FilesStorageModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/HydraOauthUc.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/LessonModule.html":{},"injectables/LessonUC.html":{},"modules/LtiToolModule.html":{},"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/NexboardService.html":{},"injectables/PermissionService.html":{},"modules/PseudonymModule.html":{},"injectables/PseudonymUc.html":{},"modules/RegistrationPinModule.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"modules/SchoolExternalToolModule.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/ShareTokenUC.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionUc.html":{},"controllers/SystemController.html":{},"modules/SystemModule.html":{},"injectables/SystemUc.html":{},"injectables/TaskCopyUC.html":{},"modules/TaskModule.html":{},"injectables/TaskUC.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/ToolController.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"modules/VideoConferenceModule.html":{},"dependencies.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["service(logic",{"_index":26068,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["service.create(data",{"_index":9946,"title":{},"body":{"injectables/EtherpadService.html":{},"injectables/NexboardService.html":{}}}],["service.factory.ts",{"_index":20032,"title":{},"body":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{}}}],["service.factory.ts:10",{"_index":20034,"title":{},"body":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{}}}],["service.factory.ts:13",{"_index":20036,"title":{},"body":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{}}}],["service.find",{"_index":11185,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["service.get",{"_index":25563,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["service.get(userid",{"_index":11180,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["service.mapper",{"_index":10917,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["service.mapper.ts",{"_index":10967,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["service.mapper.ts:7",{"_index":10970,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["service.module.ts",{"_index":17440,"title":{},"body":{"modules/OauthProviderServiceModule.html":{}}}],["service.provider",{"_index":11235,"title":{},"body":{"modules/FeathersModule.html":{},"injectables/NexboardService.html":{}}}],["service.provider.ts",{"_index":11347,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["service.provider.ts:13",{"_index":11355,"title":{},"body":{"interfaces/FeathersService.html":{}}}],["service.provider.ts:19",{"_index":11353,"title":{},"body":{"interfaces/FeathersService.html":{}}}],["service.provider.ts:24",{"_index":11350,"title":{},"body":{"interfaces/FeathersService.html":{}}}],["service.provider.ts:38",{"_index":11372,"title":{},"body":{"injectables/FeathersServiceProvider.html":{}}}],["service.provider.ts:41",{"_index":11373,"title":{},"body":{"injectables/FeathersServiceProvider.html":{}}}],["service.ts",{"_index":1847,"title":{},"body":{"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/ToolVersionService.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["service.ts:11",{"_index":1855,"title":{},"body":{"interfaces/AuthorizationLoaderServiceGeneric.html":{}}}],["service.ts:13",{"_index":23078,"title":{},"body":{"injectables/ToolVersionService.html":{}}}],["service.ts:21",{"_index":23079,"title":{},"body":{"injectables/ToolVersionService.html":{}}}],["service.ts:6",{"_index":1848,"title":{},"body":{"interfaces/AuthorizationLoaderService.html":{}}}],["service/authorization.helper",{"_index":3684,"title":{},"body":{"injectables/BoardDoRule.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"injectables/GroupRule.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LessonRule.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{}}}],["service/auto",{"_index":22857,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["service/board",{"_index":3588,"title":{},"body":{"injectables/BoardDoCopyService.html":{},"modules/BoardModule.html":{},"injectables/BoardUc.html":{}}}],["service/cache.service",{"_index":4244,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["service/calendar.service",{"_index":4288,"title":{},"body":{"modules/CalendarModule.html":{}}}],["service/column",{"_index":3873,"title":{},"body":{"modules/BoardModule.html":{}}}],["service/common",{"_index":7632,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["service/context",{"_index":6784,"title":{},"body":{"modules/ContextExternalToolModule.html":{},"injectables/ContextExternalToolUc.html":{}}}],["service/copy",{"_index":7268,"title":{},"body":{"modules/CopyHelperModule.html":{},"modules/FilesStorageClientModule.html":{}}}],["service/dto",{"_index":22565,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["service/files",{"_index":12198,"title":{},"body":{"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{}}}],["service/hydra.service",{"_index":17128,"title":{},"body":{"modules/OauthModule.html":{}}}],["service/id",{"_index":17387,"title":{},"body":{"modules/OauthProviderModule.html":{}}}],["service/keycloak",{"_index":14359,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationUc.html":{},"modules/KeycloakModule.html":{}}}],["service/launch",{"_index":22858,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["service/meta",{"_index":16173,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["service/oauth",{"_index":17129,"title":{},"body":{"modules/OauthModule.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"modules/OauthProviderModule.html":{}}}],["service/oauth.service",{"_index":17130,"title":{},"body":{"modules/OauthModule.html":{}}}],["service/oidc",{"_index":17669,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["service/preview.service",{"_index":12220,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["service/provisioning.service",{"_index":18067,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["service/recursive",{"_index":18353,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["service/rocket",{"_index":18938,"title":{},"body":{"modules/RocketChatUserModule.html":{}}}],["service/rooms.service",{"_index":19215,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["service/school",{"_index":20025,"title":{},"body":{"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["service/submission",{"_index":9760,"title":{},"body":{"injectables/ElementUc.html":{}}}],["service/system",{"_index":21151,"title":{},"body":{"modules/SystemModule.html":{}}}],["service/tldraw.service",{"_index":22307,"title":{},"body":{"controllers/TldrawController.html":{},"modules/TldrawModule.html":{}}}],["service/tool",{"_index":6787,"title":{},"body":{"modules/ContextExternalToolModule.html":{}}}],["service/url",{"_index":16175,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["service/user.service",{"_index":23780,"title":{},"body":{"modules/UserModule.html":{}}}],["servicedto",{"_index":21895,"title":{},"body":{"injectables/TeamMapper.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["serviceoptions",{"_index":20471,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["serviceoptions.context",{"_index":20473,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["serviceoptions.expiresat",{"_index":20477,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["serviceoutputtypes",{"_index":19323,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["services",{"_index":2869,"title":{},"body":{"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"modules/CollaborativeStorageModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"modules/LearnroomApiModule.html":{},"modules/ManagementModule.html":{},"modules/ServerConsoleModule.html":{},"injectables/TimeoutInterceptor.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["services/account",{"_index":677,"title":{},"body":{"modules/AccountModule.html":{}}}],["services/account.service",{"_index":681,"title":{},"body":{"modules/AccountModule.html":{}}}],["services/account.validation.service",{"_index":682,"title":{},"body":{"modules/AccountModule.html":{}}}],["services/authentication.service",{"_index":1551,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/LoginUc.html":{}}}],["services/deletion",{"_index":9226,"title":{},"body":{"modules/DeletionModule.html":{}}}],["services/dto/account.dto",{"_index":479,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{}}}],["services/dto/team",{"_index":21935,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["services/dto/team.dto",{"_index":21896,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["services/ldap.service",{"_index":1552,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/LdapStrategy.html":{}}}],["serviceunavailableexception",{"_index":14769,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["servicing",{"_index":25155,"title":{},"body":{"license.html":{}}}],["session",{"_index":171,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/CleanOptions.html":{},"classes/ConsentResponse.html":{},"classes/KeycloakConsole.html":{},"classes/LoginResponse-1.html":{},"interfaces/MigrationOptions.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/RetryOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/VideoConferenceCreateParams.html":{},"dependencies.html":{}}}],["session.consent_request.challenge",{"_index":17408,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["session.consent_request.client?.client_id",{"_index":17406,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["session.consent_request.client?.client_name",{"_index":17407,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["session.response.ts",{"_index":6320,"title":{},"body":{"classes/ConsentSessionResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["session.response.ts:13",{"_index":6328,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["session.response.ts:16",{"_index":6329,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["session.response.ts:19",{"_index":6327,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["session.response.ts:4",{"_index":6324,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["session_id",{"_index":15789,"title":{},"body":{"classes/LoginResponse-1.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["session_token",{"_index":2296,"title":{},"body":{"interfaces/BBBJoinResponse.html":{}}}],["sessionduration",{"_index":20195,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["sessions",{"_index":17312,"title":{},"body":{"controllers/OauthProviderController.html":{},"injectables/OauthProviderUc.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["sessions.map",{"_index":17314,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["set",{"_index":567,"title":{},"body":{"classes/AccountFactory.html":{},"interfaces/AdminIdAndToken.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BaseFactory.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"injectables/CollaborativeStorageAdapter.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"injectables/CommonToolValidationService.html":{},"classes/ConsentRequestBody.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/FileMetadata.html":{},"classes/FileRecordFactory.html":{},"classes/GlobalValidationPipe.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"interfaces/ImportUserProperties.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LibraryName.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/LoginRequestBody.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthLoginResponse.html":{},"classes/Path.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SortingParams.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SystemEntityFactory.html":{},"entities/Task.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TldrawWsService.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"index.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["set('accept",{"_index":22183,"title":{},"body":{"classes/TestXApiKeyClient.html":{}}}],["set('authorization",{"_index":1644,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["set(caseinsensitivenames",{"_index":6129,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["set(headerconst.accept",{"_index":1653,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["set(memberids",{"_index":20686,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["set(permissions",{"_index":17770,"title":{},"body":{"injectables/PermissionService.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["set(tasksubmitterids",{"_index":21320,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["setalternativetext(value",{"_index":11446,"title":{},"body":{"classes/FileElement.html":{}}}],["setcaption(value",{"_index":11443,"title":{},"body":{"classes/FileElement.html":{}}}],["setcompleted(value",{"_index":20773,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["setcontext",{"_index":15100,"title":{},"body":{"injectables/LegacyLogger.html":{},"injectables/Logger.html":{}}}],["setcontext(context",{"_index":5407,"title":{},"body":{"classes/ColumnBoard.html":{}}}],["setcontext(name",{"_index":15109,"title":{},"body":{"injectables/LegacyLogger.html":{},"injectables/Logger.html":{}}}],["setcontextexternaltoolid(value",{"_index":10198,"title":{},"body":{"classes/ExternalToolElement.html":{}}}],["setcookies",{"_index":13475,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["setcookies.foreach((item",{"_index":13518,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["setdescription(value",{"_index":9543,"title":{},"body":{"classes/DrawingElement.html":{},"classes/LinkElement.html":{}}}],["setduedate(value",{"_index":20697,"title":{},"body":{"classes/SubmissionContainerElement.html":{}}}],["setfinishedenabled",{"_index":13303,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["setgroupname",{"_index":12609,"title":{},"body":{"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["setgroupname(newgroupname",{"_index":8388,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["setheight(height",{"_index":4324,"title":{},"body":{"classes/Card.html":{}}}],["setheightbodyparams",{"_index":4364,"title":{"classes/SetHeightBodyParams.html":{}},"body":{"controllers/CardController.html":{},"classes/SetHeightBodyParams.html":{}}}],["setimageurl(value",{"_index":15604,"title":{},"body":{"classes/LinkElement.html":{}}}],["setinputformat(value",{"_index":18838,"title":{},"body":{"classes/RichTextElement.html":{}}}],["setinterval",{"_index":22522,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["setlearnrooms",{"_index":8337,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["setlearnrooms(rooms",{"_index":8376,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["setmatch",{"_index":13831,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["setmatch(urlparams",{"_index":13850,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["setmatch(user",{"_index":13818,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["setmigrationmandatory",{"_index":22544,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationService.html":{}}}],["setmigrationmandatory(currentuser",{"_index":23436,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["setmigrationmandatory(userid",{"_index":22547,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{}}}],["setmigrationmandatory(userloginmigration",{"_index":23641,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["setname(name",{"_index":11773,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["setpasswordpolicy",{"_index":14373,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["setpersistence",{"_index":22425,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["setpersistence(persistence_",{"_index":22442,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["setrangeresponseheaders",{"_index":13081,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["setrangeresponseheaders(res",{"_index":13123,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["setrequireduserrole(userroleenum",{"_index":3387,"title":{},"body":{"classes/BoardDoAuthorizable.html":{}}}],["sets",{"_index":5114,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"classes/ConsentRequestBody.html":{},"classes/IdentityManagementService.html":{},"classes/LoginRequestBody.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["setschool(value",{"_index":21985,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["setstrategy",{"_index":4976,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["setstrategy(strategy",{"_index":4989,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["settedlanguage",{"_index":23939,"title":{},"body":{"injectables/UserUc.html":{}}}],["settext(value",{"_index":18834,"title":{},"body":{"classes/RichTextElement.html":{}}}],["settimeout",{"_index":19405,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["settimeout(resolve",{"_index":2849,"title":{},"body":{"injectables/BatchDeletionService.html":{},"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["setting",{"_index":2905,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"entities/SchoolNews.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{}}}],["settings",{"_index":25578,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["settings.interface",{"_index":2383,"title":{},"body":{"injectables/BBBService.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{}}}],["settings.interface.ts",{"_index":13552,"title":{},"body":{"interfaces/IBbbSettings.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/IVideoConferenceSettings.html":{}}}],["settings.response",{"_index":4435,"title":{},"body":{"classes/CardResponse.html":{}}}],["settings.response.ts",{"_index":24345,"title":{},"body":{"classes/VisibilitySettingsResponse.html":{}}}],["settings.response.ts:3",{"_index":24347,"title":{},"body":{"classes/VisibilitySettingsResponse.html":{}}}],["settings.response.ts:9",{"_index":24348,"title":{},"body":{"classes/VisibilitySettingsResponse.html":{}}}],["settitle(title",{"_index":4320,"title":{},"body":{"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{}}}],["settitle(value",{"_index":15599,"title":{},"body":{"classes/LinkElement.html":{}}}],["setup",{"_index":3785,"title":{},"body":{"classes/BoardManagementConsole.html":{},"interfaces/CollectionFilePath.html":{},"classes/DatabaseManagementConsole.html":{},"classes/GlobalValidationPipe.html":{},"modules/InterceptorModule.html":{},"interfaces/Options.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["setup:db",{"_index":25867,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["setup:idm",{"_index":25306,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["setup:idm:configure",{"_index":25908,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["setup:idm:seed",{"_index":25907,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["setuppath",{"_index":5275,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["setupsessions",{"_index":20194,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["setupsessions(consumer",{"_index":20225,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["setupws",{"_index":22149,"title":{},"body":{"classes/TestConnection.html":{}}}],["setupwsconnection",{"_index":22426,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["setupwsconnection(ws",{"_index":22446,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["seturl(value",{"_index":15598,"title":{},"body":{"classes/LinkElement.html":{}}}],["setuser(value",{"_index":21981,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["setuserattribute",{"_index":13734,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["setuserattribute(userid",{"_index":13758,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["setuserid(value",{"_index":20776,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["setusers(value",{"_index":12641,"title":{},"body":{"classes/Group.html":{}}}],["setuserstatus(authtoken",{"_index":1113,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["sha",{"_index":2418,"title":{},"body":{"injectables/BBBService.html":{}}}],["sha.digest('hex",{"_index":2422,"title":{},"body":{"injectables/BBBService.html":{}}}],["sha.update(callname",{"_index":2420,"title":{},"body":{"injectables/BBBService.html":{}}}],["sha1",{"_index":2354,"title":{},"body":{"injectables/BBBService.html":{},"injectables/Lti11EncryptionService.html":{}}}],["shall",{"_index":18321,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"license.html":{}}}],["shapes",{"_index":1219,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["share",{"_index":20282,"title":{},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenResponse.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"license.html":{}}}],["shared",{"_index":20264,"title":{},"body":{"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenUrlParams.html":{},"injectables/TldrawBoardRepo.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["shared/common",{"_index":393,"title":{},"body":{"controllers/AccountController.html":{},"injectables/AccountServiceDb.html":{},"classes/ApiValidationErrorResponse.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"classes/BruteForceError.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ContextExternalToolValidationService.html":{},"interfaces/CoreModuleConfig.html":{},"classes/CurrentUserMapper.html":{},"controllers/ElementController.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorUtils.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"controllers/H5PEditorController.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserScope.html":{},"modules/InterceptorModule.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/LdapConnectionError.html":{},"injectables/LegacySystemService.html":{},"controllers/LoginController.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"controllers/RoomsController.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"controllers/ShareTokenController.html":{},"injectables/SubmissionItemService.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemUc.html":{},"controllers/TaskController.html":{},"controllers/TldrawController.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"injectables/UserDORepo.html":{},"classes/UserMatchMapper.html":{},"injectables/UserRepo.html":{},"modules/VideoConferenceModule.html":{}}}],["shared/common/loggable",{"_index":4831,"title":{},"body":{"injectables/ClassesRepo.html":{},"injectables/ColumnBoardService.html":{},"injectables/FeathersRosterService.html":{},"injectables/GroupService.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PseudonymUc.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SystemUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{}}}],["shared/common/utils",{"_index":2380,"title":{},"body":{"injectables/BBBService.html":{}}}],["shared/common/utils/guard",{"_index":15664,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["shared/controller",{"_index":298,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/CardResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassSortParams.html":{},"classes/ColumnResponse.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"controllers/CourseController.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"injectables/CourseUc.html":{},"classes/CreateNewsParams.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DownloadFileParams.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileParams.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"classes/FileUrlParams.html":{},"classes/FilterImportUserParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"controllers/GroupController.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/MetaTagExtractorResponse.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SystemFilterParams.html":{},"controllers/TaskController.html":{},"classes/TaskCreateParams.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskUpdateParams.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolController.html":{},"classes/UpdateNewsParams.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["shared/controller/index",{"_index":204,"title":{},"body":{"classes/AcceptQuery.html":{}}}],["shared/controller/transformer",{"_index":12363,"title":{},"body":{"classes/FilterNewsParams.html":{}}}],["shared/core",{"_index":25536,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["shared/domain",{"_index":1018,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"todo.html":{}}}],["shared/domain/domain",{"_index":1849,"title":{},"body":{"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationService.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/Class.html":{},"interfaces/ClassProps.html":{},"injectables/CopyHelperService.html":{},"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{},"classes/DomainObjectFactory.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"injectables/LegacySchoolRule.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"classes/System.html":{},"interfaces/SystemProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["shared/domain/domainobject",{"_index":1853,"title":{},"body":{"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BaseDORepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BoardContextResponse.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"classes/BoardResponseMapper.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CurrentUserMapper.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ElementContentBody.html":{},"injectables/ElementUc.html":{},"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/FeathersRosterService.html":{},"classes/FileContentBody.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"injectables/IdTokenService.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/MigrationCheckService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"controllers/PseudonymController.html":{},"classes/PseudonymMapper.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"injectables/RoomsService.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"injectables/SchoolValidationService.html":{},"classes/ShareTokenDO.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/ToolController.html":{},"injectables/ToolPermissionHelper.html":{},"classes/UpdateElementContentBodyParams.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"injectables/UserService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"injectables/VideoConferenceRepo.html":{}}}],["shared/domain/domainobject/base.do",{"_index":6654,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{}}}],["shared/domain/domainobject/board/drawing",{"_index":3520,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingElementResponseMapper.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["shared/domain/domainobject/board/link",{"_index":6459,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["shared/domain/domainobject/board/types",{"_index":3304,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["shared/domain/domainobject/ltitool.do",{"_index":13480,"title":{},"body":{"injectables/HydraSsoService.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["shared/domain/domainobject/page",{"_index":10141,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["shared/domain/domainobject/user.do",{"_index":8009,"title":{},"body":{"classes/CurrentUserMapper.html":{},"injectables/Oauth2Strategy.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"injectables/UserMigrationService.html":{}}}],["shared/domain/entity",{"_index":478,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"interfaces/AccountParams.html":{},"classes/AccountResponseMapper.html":{},"injectables/AccountServiceDb.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/ChangeLanguageParams.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardTargetService.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/ContentMetadata.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolUc.html":{},"classes/CopyMapper.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"classes/CurrentUserMapper.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"classes/DtoCreator.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolUc.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersRosterService.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRule.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"entities/H5pEditorTempFile.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/ITask.html":{},"injectables/IdTokenService.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolDo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonCopyUC.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"classes/LibraryName.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsMapper.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/OAuthService.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"injectables/PseudonymUc.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/ResolvedUserMapper.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RoomsService.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"classes/SaveH5PEditorParams.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolInfoMapper.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/StorageProviderRepo.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionMapper.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemUc.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskFactory.html":{},"classes/TaskMapper.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"classes/TestApiClient.html":{},"modules/TldrawTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolPermissionHelper.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchMapper.html":{},"interfaces/UserMetdata.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"injectables/VideoConferenceRepo.html":{}}}],["shared/domain/entity/account.entity",{"_index":769,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["shared/domain/entity/base.entity",{"_index":4624,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/ExternalToolEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["shared/domain/entity/boardnode/drawing",{"_index":3521,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["shared/domain/entity/boardnode/link",{"_index":18521,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["shared/domain/entity/external",{"_index":12769,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["shared/domain/entity/ltitool.entity",{"_index":8107,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/LtiToolDO.html":{}}}],["shared/domain/entity/materials.entity",{"_index":16133,"title":{},"body":{"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{}}}],["shared/domain/entity/school.entity",{"_index":9808,"title":{},"body":{"interfaces/EntityWithSchool.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/UserLoginMigrationEntity.html":{}}}],["shared/domain/entity/system.entity",{"_index":23524,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["shared/domain/entity/user",{"_index":19632,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["shared/domain/entity/video",{"_index":24305,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["shared/domain/interface",{"_index":595,"title":{},"body":{"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageService.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContextExternalToolUc.html":{},"entities/Course.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseUc.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardUc.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DtoCreator.html":{},"classes/ExternalGroupUserDto.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolService.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersRosterService.html":{},"injectables/FileRecordRepo.html":{},"classes/GridElement.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUserResponse.html":{},"interfaces/IGridElement.html":{},"classes/IdentityManagementService.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/KeycloakIdentityManagementService.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonUC.html":{},"classes/LtiRoleMapper.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/PseudonymService.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RoleDto.html":{},"classes/RoleNameMapper.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolUc.html":{},"classes/ScopeRef.html":{},"injectables/ShareTokenUC.html":{},"classes/SortHelper.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SubmissionUc.html":{},"injectables/SystemUc.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/ToolController.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolReferenceUc.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"classes/UsersList.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceMapper.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceScopeParams.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["shared/domain/interface/permission.enum",{"_index":15391,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["shared/domain/interface/system",{"_index":14219,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/System.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/SystemProps.html":{}}}],["shared/domain/interface/video",{"_index":24137,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["shared/domain/service",{"_index":278,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{}}}],["shared/domain/types",{"_index":99,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRepo.html":{},"interfaces/BoardExternalReference.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardTaskStatusMapper.html":{},"injectables/BoardUc.html":{},"injectables/CalendarService.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentMetadata.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ContextRefParams.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"classes/CreateNewsParams.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/DtoCreator.html":{},"classes/ElementContentBody.html":{},"injectables/ElementUc.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolMetadataService.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto-1.html":{},"classes/FileElementContentBody.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileUrlParams.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"classes/FilterNewsParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"classes/GroupUser.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/ITask.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/KeycloakIdentityManagementService.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"classes/LegacySchoolDo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LumiUserWithContentData.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/MetadataTypeMapper.html":{},"injectables/MigrationCheckService.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/OauthProviderUc.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/ParentInfo.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/ProvisioningSystemDto.html":{},"classes/Pseudonym.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"interfaces/PseudonymProps.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"classes/RoleDto.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/SchoolExternalToolScope.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolYearService.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"injectables/ShareTokenUC.html":{},"classes/SingleFileParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionItem.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"classes/SystemDto.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoMapper.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"classes/TeamDto.html":{},"injectables/TeamService.html":{},"classes/TeamUserDto.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchMapper.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["shared/domain/types/entity",{"_index":20252,"title":{},"body":{"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["shared/domain/types/input",{"_index":21255,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["shared/pipes",{"_index":25558,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["shared/repo",{"_index":279,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"injectables/AccountValidationService.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationService.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"modules/BoardModule.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/ColumnBoardCopyService.html":{},"modules/CommonToolModule.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolService.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/DashboardUc.html":{},"classes/DeletionRequestScope.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/FederalStateService.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"injectables/HydraSsoService.html":{},"injectables/IdTokenService.html":{},"modules/ImportUserModule.html":{},"injectables/LdapStrategy.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"classes/LessonScope.html":{},"injectables/LocalStrategy.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolService.html":{},"injectables/MigrationCheckService.html":{},"modules/NewsModule.html":{},"injectables/NewsUc.html":{},"modules/OauthModule.html":{},"modules/OauthProviderModule.html":{},"classes/PseudonymScope.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"modules/RoleModule.html":{},"injectables/RoleService.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/SchoolValidationService.html":{},"injectables/SubmissionService.html":{},"modules/SystemModule.html":{},"injectables/SystemOidcService.html":{},"modules/TaskApiModule.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"modules/TaskModule.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/TeamService.html":{},"modules/TeamsModule.html":{},"modules/ToolApiModule.html":{},"injectables/UserDORepo.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationService.html":{},"modules/UserModule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"modules/VideoConferenceModule.html":{}}}],["shared/repo/base.do.repo",{"_index":15975,"title":{},"body":{"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["shared/repo/base.repo",{"_index":771,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/FilesRepo.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/NewsRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserRepo.html":{}}}],["shared/repo/ltitool",{"_index":5043,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{},"injectables/NextcloudStrategy.html":{}}}],["shared/repo/scope",{"_index":10870,"title":{},"body":{"classes/ExternalToolScope.html":{},"classes/SchoolExternalToolScope.html":{}}}],["shared/repo/storageprovider",{"_index":8871,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"modules/FilesModule.html":{}}}],["shared/repo/system/system",{"_index":15288,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["shared/repo/types/storageproviderencryptedstring.type",{"_index":20607,"title":{},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["shared/repo/user/user",{"_index":23777,"title":{},"body":{"modules/UserModule.html":{},"injectables/UserService.html":{}}}],["shared/repo/videoconference/video",{"_index":24274,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["shared/testing",{"_index":2080,"title":{},"body":{"classes/AxiosErrorFactory.html":{},"injectables/BoardManagementUc.html":{},"classes/ClassFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/RocketChatUserFactory.html":{}}}],["shared/testing/factory/base.factory",{"_index":4659,"title":{},"body":{"classes/ClassEntityFactory.html":{},"classes/LtiToolFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{}}}],["shared/testing/factory/role.factory",{"_index":21992,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["shared/testing/factory/school.factory",{"_index":21993,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["shared/testing/factory/teamuser.factory",{"_index":21886,"title":{},"body":{"classes/TeamFactory.html":{}}}],["shared/testing/factory/user.factory",{"_index":21994,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["shared/types",{"_index":16455,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{},"injectables/NewsUc.html":{}}}],["shared/utils",{"_index":25537,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["shared/validators",{"_index":25554,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["shared/validators/text.validator.ts",{"_index":25540,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["sharedstate",{"_index":11622,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["sharetoken",{"_index":7398,"title":{"entities/ShareToken.html":{}},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"controllers/ShareTokenController.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/UsersList.html":{}}}],["sharetoken(props",{"_index":20387,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["sharetoken.context",{"_index":20483,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["sharetoken.expiresat",{"_index":20408,"title":{},"body":{"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{}}}],["sharetoken.payload",{"_index":20407,"title":{},"body":{"classes/ShareTokenResponseMapper.html":{}}}],["sharetoken.payload.parentid",{"_index":20486,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["sharetoken.payload.parenttype",{"_index":20434,"title":{},"body":{"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetoken.token",{"_index":20406,"title":{},"body":{"classes/ShareTokenResponseMapper.html":{}}}],["sharetokenbodyparams",{"_index":20256,"title":{"classes/ShareTokenBodyParams.html":{}},"body":{"classes/ShareTokenBodyParams.html":{},"controllers/ShareTokenController.html":{}}}],["sharetokencontext",{"_index":20325,"title":{},"body":{"classes/ShareTokenDO.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokencontexttype",{"_index":20246,"title":{},"body":{"entities/ShareToken.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenDO.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokencontexttype.school",{"_index":20474,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["sharetokencontexttypemapper",{"_index":20272,"title":{"classes/ShareTokenContextTypeMapper.html":{}},"body":{"classes/ShareTokenContextTypeMapper.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokencontexttypemapper.maptoallowedauthorizationentitytype(context.contexttype",{"_index":20499,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["sharetokencontroller",{"_index":20275,"title":{"controllers/ShareTokenController.html":{}},"body":{"controllers/ShareTokenController.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["sharetokendo",{"_index":20321,"title":{"classes/ShareTokenDO.html":{}},"body":{"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokenfactory",{"_index":20334,"title":{"classes/ShareTokenFactory.html":{}},"body":{"classes/ShareTokenFactory.html":{}}}],["sharetokenfactory.define",{"_index":20342,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["sharetokenimportbodyparams",{"_index":20288,"title":{"classes/ShareTokenImportBodyParams.html":{}},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenImportBodyParams.html":{}}}],["sharetokeninfo",{"_index":20313,"title":{},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokeninfo.parentname",{"_index":20362,"title":{},"body":{"classes/ShareTokenInfoResponseMapper.html":{}}}],["sharetokeninfo.parenttype",{"_index":20361,"title":{},"body":{"classes/ShareTokenInfoResponseMapper.html":{}}}],["sharetokeninfo.token",{"_index":20360,"title":{},"body":{"classes/ShareTokenInfoResponseMapper.html":{}}}],["sharetokeninfodto",{"_index":20349,"title":{"interfaces/ShareTokenInfoDto.html":{}},"body":{"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokeninforesponse",{"_index":20303,"title":{"classes/ShareTokenInfoResponse.html":{}},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{}}}],["sharetokeninforesponsemapper",{"_index":20300,"title":{"classes/ShareTokenInfoResponseMapper.html":{}},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenInfoResponseMapper.html":{}}}],["sharetokeninforesponsemapper.maptoresponse(sharetokeninfo",{"_index":20316,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["sharetokeninforesponse})@apiresponse({status",{"_index":20297,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["sharetokenparenttype",{"_index":16283,"title":{},"body":{"classes/MetadataTypeMapper.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokenparenttype.course",{"_index":20343,"title":{},"body":{"classes/ShareTokenFactory.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokenparenttype.lesson",{"_index":20436,"title":{},"body":{"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokenparenttype.task",{"_index":20438,"title":{},"body":{"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokenparenttypemapper",{"_index":20363,"title":{"classes/ShareTokenParentTypeMapper.html":{}},"body":{"classes/ShareTokenParentTypeMapper.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokenparenttypemapper.maptoallowedauthorizationentitytype(parenttype",{"_index":20501,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["sharetokenparenttypemapper.maptoallowedauthorizationentitytype(payload.parenttype",{"_index":20492,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["sharetokenpayload",{"_index":20327,"title":{},"body":{"classes/ShareTokenDO.html":{},"classes/ShareTokenPayloadResponse.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokenpayloadresponse",{"_index":20367,"title":{"classes/ShareTokenPayloadResponse.html":{}},"body":{"classes/ShareTokenPayloadResponse.html":{},"classes/ShareTokenResponse.html":{}}}],["sharetokenpayloadresponse(payload",{"_index":20404,"title":{},"body":{"classes/ShareTokenResponse.html":{}}}],["sharetokenproperties",{"_index":20253,"title":{"interfaces/ShareTokenProperties.html":{}},"body":{"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{}}}],["sharetokenrepo",{"_index":20375,"title":{"injectables/ShareTokenRepo.html":{}},"body":{"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["sharetokenresponse",{"_index":20304,"title":{"classes/ShareTokenResponse.html":{}},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{}}}],["sharetokenresponsemapper",{"_index":20301,"title":{"classes/ShareTokenResponseMapper.html":{}},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenResponseMapper.html":{}}}],["sharetokenresponsemapper.maptoresponse(sharetoken",{"_index":20310,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["sharetokenresponse})@apiresponse({status",{"_index":20284,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["sharetokens",{"_index":11486,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["sharetokenservice",{"_index":20409,"title":{"injectables/ShareTokenService.html":{}},"body":{"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["sharetokenstring",{"_index":20250,"title":{},"body":{"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/TokenGenerator.html":{}}}],["sharetokenuc",{"_index":20302,"title":{"injectables/ShareTokenUC.html":{}},"body":{"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["sharetokenurlparams",{"_index":20287,"title":{"classes/ShareTokenUrlParams.html":{}},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenUrlParams.html":{}}}],["sharingapimodule",{"_index":20173,"title":{"modules/SharingApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["sharingmodule",{"_index":20516,"title":{"modules/SharingModule.html":{}},"body":{"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["shit",{"_index":7443,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["short",{"_index":7741,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["shorter",{"_index":25827,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["shortid",{"_index":24519,"title":{},"body":{"dependencies.html":{}}}],["shorttitle",{"_index":7509,"title":{},"body":{"entities/Course.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"classes/UsersList.html":{}}}],["shouldincrementversion",{"_index":11110,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["shouldskipconsent",{"_index":17343,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["shouldskipconsent(tool",{"_index":17352,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["shouldusermigrate",{"_index":16295,"title":{},"body":{"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{}}}],["shouldusermigrate(externaluserid",{"_index":16302,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["show",{"_index":16616,"title":{},"body":{"injectables/NewsUc.html":{},"controllers/SystemController.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["show_outdated_users",{"_index":19642,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["showoutdatedusers",{"_index":19643,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["sid",{"_index":15801,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["side",{"_index":2345,"title":{},"body":{"injectables/BBBService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["sideeffects",{"_index":26084,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["sign",{"_index":15829,"title":{},"body":{"injectables/Lti11EncryptionService.html":{},"license.html":{}}}],["sign(key",{"_index":15830,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["signalgorithm",{"_index":1587,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["signature_method",{"_index":15837,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["significant",{"_index":24933,"title":{},"body":{"license.html":{}}}],["signing",{"_index":1586,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["signoptions",{"_index":1547,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["similar",{"_index":24699,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["simple",{"_index":25422,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["simple_compare(a",{"_index":11627,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["simplicity",{"_index":25269,"title":{},"body":{"todo.html":{}}}],["simplification",{"_index":25503,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["simplify",{"_index":25692,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["simply",{"_index":24598,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["simultaneously",{"_index":25116,"title":{},"body":{"license.html":{}}}],["sind",{"_index":5531,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["single",{"_index":3576,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/ElementController.html":{},"classes/GlobalValidationPipe.html":{},"injectables/NewsUc.html":{},"interfaces/Options.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["single(bn",{"_index":3585,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["single(boardnode",{"_index":3586,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["single:latestexample",{"_index":25883,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["single:latestthe",{"_index":25884,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["singlecolumnboardresponse",{"_index":19056,"title":{"classes/SingleColumnBoardResponse.html":{}},"body":{"injectables/RoomBoardResponseMapper.html":{},"controllers/RoomsController.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["singlefileparams",{"_index":7164,"title":{"classes/SingleFileParams.html":{}},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/FilesStorageMapper.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["singlevaluetoarraytransformer",{"_index":12348,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["situations",{"_index":25964,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["six",{"_index":12008,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["size",{"_index":870,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/DeleteFilesConsole.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolSearchListResponse.html":{},"interfaces/FileDO.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/ImportUserListResponse.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/NewsListResponse.html":{},"classes/PaginationResponse.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/TaskListResponse.html":{},"interfaces/TemporaryFileProperties.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"injectables/UserRepo.html":{}}}],["sizetype",{"_index":8504,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["skeleton",{"_index":3211,"title":{},"body":{"controllers/BoardController.html":{}}}],["skeleton.response",{"_index":5635,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["skeleton.response.ts",{"_index":4491,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["skeleton.response.ts:12",{"_index":4493,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["skeleton.response.ts:18",{"_index":4501,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["skeleton.response.ts:3",{"_index":4492,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["skip",{"_index":70,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"classes/ClassInfoSearchListResponse.html":{},"interfaces/CleanOptions.html":{},"classes/ConsentResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"controllers/CourseController.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordResponse.html":{},"classes/FilesStorageMapper.html":{},"classes/GroupResponseMapper.html":{},"interfaces/IFindOptions.html":{},"classes/IdentityManagementService.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakMigrationService.html":{},"classes/LoginResponse-1.html":{},"interfaces/MigrationOptions.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/RetryOptions.html":{},"controllers/TaskController.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"injectables/UserRepo.html":{}}}],["skipconsent",{"_index":8060,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["skipped",{"_index":875,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/GlobalValidationPipe.html":{},"classes/ImportUserListResponse.html":{},"classes/NewsListResponse.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/TaskListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{}}}],["slash",{"_index":25261,"title":{},"body":{"todo.html":{}}}],["sleep",{"_index":2846,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["slow",{"_index":5288,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["small",{"_index":25415,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["smallestbigenoughimage",{"_index":16238,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["sn",{"_index":14951,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["snapshotlogicchecks",{"_index":11625,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["snapshotschema",{"_index":11623,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["socket_port",{"_index":22295,"title":{},"body":{"interfaces/TldrawConfig.html":{},"classes/TldrawWs.html":{}}}],["socketio",{"_index":24550,"title":{},"body":{"dependencies.html":{}}}],["software",{"_index":24638,"title":{"additional-documentation/nestjs-application/software-architecture.html":{}},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["sold",{"_index":24920,"title":{},"body":{"license.html":{}}}],["sole",{"_index":24793,"title":{},"body":{"license.html":{}}}],["solely",{"_index":24801,"title":{},"body":{"license.html":{}}}],["solution",{"_index":3392,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"modules/ToolLaunchModule.html":{},"interfaces/UserBoardRoles.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["solutions",{"_index":25200,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["solve",{"_index":21652,"title":{},"body":{"injectables/TaskRepo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["somejson",{"_index":2094,"title":{},"body":{"classes/AxiosErrorFactory.html":{}}}],["somemethod",{"_index":25616,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["someotherservice",{"_index":25477,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["something",{"_index":13647,"title":{},"body":{"classes/IdTokenCreationLoggableException.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["sometimes",{"_index":26060,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["sonstige",{"_index":19446,"title":{},"body":{"classes/SanisGruppenResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["sonstige_gruppenzugehoerige",{"_index":19438,"title":{},"body":{"classes/SanisGruppenResponse.html":{}}}],["soon",{"_index":25974,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["sort",{"_index":4800,"title":{},"body":{"classes/ClassSortParams.html":{},"interfaces/CollectionFilePath.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["sort.id",{"_index":10984,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{},"injectables/UserDORepo.html":{}}}],["sort.name",{"_index":10985,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{}}}],["sort.params.ts",{"_index":20535,"title":{},"body":{"classes/SortExternalToolParams.html":{}}}],["sortby",{"_index":3309,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/ClassSortParams.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ImportUserMapper.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{}}}],["sortby(resolved",{"_index":3379,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["sortbyoriginalorder",{"_index":3260,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["sortbyoriginalorder(resolved",{"_index":3288,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["sortbypos",{"_index":3378,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["sortbypos.map",{"_index":3380,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["sortedbsondocuments",{"_index":5304,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["sortedchildren",{"_index":3567,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["sortedimages",{"_index":16232,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["sortedimages.find((i",{"_index":16239,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["sortedimages.sort((a",{"_index":16233,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["sortexternaltoolparams",{"_index":10739,"title":{"classes/SortExternalToolParams.html":{}},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/SortExternalToolParams.html":{},"controllers/ToolController.html":{}}}],["sorthelper",{"_index":20540,"title":{"classes/SortHelper.html":{}},"body":{"classes/SortHelper.html":{}}}],["sortimportuserparams",{"_index":13838,"title":{"classes/SortImportUserParams.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"classes/SortImportUserParams.html":{}}}],["sorting",{"_index":21570,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["sorting.mapper.ts",{"_index":10980,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{}}}],["sorting.mapper.ts:7",{"_index":10983,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{}}}],["sorting.ts",{"_index":25231,"title":{},"body":{"todo.html":{}}}],["sortingparams",{"_index":4801,"title":{"classes/SortingParams.html":{}},"body":{"classes/ClassSortParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{}}}],["sortingparams:10",{"_index":4804,"title":{},"body":{"classes/ClassSortParams.html":{}}}],["sortingparams:14",{"_index":20538,"title":{},"body":{"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{}}}],["sortingparams:18",{"_index":4806,"title":{},"body":{"classes/ClassSortParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{}}}],["sortingquery",{"_index":10741,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"controllers/GroupController.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"controllers/ToolController.html":{}}}],["sortingquery.sortby",{"_index":12698,"title":{},"body":{"controllers/GroupController.html":{}}}],["sortingquery.sortorder",{"_index":10799,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"controllers/GroupController.html":{},"classes/ImportUserMapper.html":{}}}],["sortorder",{"_index":770,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/ClassSortParams.html":{},"injectables/CourseUc.html":{},"injectables/DashboardUc.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FileRecordRepo.html":{},"interfaces/IFindOptions.html":{},"injectables/LessonRepo.html":{},"injectables/NewsUc.html":{},"interfaces/Pagination.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["sortorder.asc",{"_index":790,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/ClassSortParams.html":{},"injectables/DashboardUc.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/LessonRepo.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["sortorder.desc",{"_index":7884,"title":{},"body":{"injectables/CourseUc.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/NewsUc.html":{},"classes/SortHelper.html":{},"injectables/TaskUC.html":{},"injectables/UserRepo.html":{}}}],["sortordermap",{"_index":10742,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"interfaces/IFindOptions.html":{},"classes/ImportUserMapper.html":{},"interfaces/Pagination.html":{},"injectables/UserDORepo.html":{}}}],["sortreferences",{"_index":8392,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["source",{"_index":4,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"modules/AccountApiModule.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"interfaces/AccountConfig.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthCodeFailureLoggableException.html":{},"modules/AuthenticationApiModule.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"modules/AuthorizationModule.html":{},"classes/AuthorizationParams.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"modules/BoardApiModule.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"modules/ClassModule.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"modules/CoreModule.html":{},"interfaces/CoreModuleConfig.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"modules/ErrorModule.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FeathersError.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{},"classes/FileUrlParams.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"modules/GroupModule.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"interfaces/IdentityManagementConfig.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/InterceptorConfig.html":{},"modules/InterceptorModule.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"injectables/JwtAuthGuard.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Learnroom.html":{},"modules/LearnroomApiModule.html":{},"interfaces/LearnroomElement.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/LessonApiModule.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"modules/LessonModule.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"modules/NewsModule.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthApiModule.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"classes/ProvisioningDto.html":{},"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"modules/PseudonymModule.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"modules/RocketChatUserModule.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"modules/RoleModule.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"modules/TaskApiModule.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"modules/TaskModule.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawClientModule.html":{},"interfaces/TldrawConfig.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"interfaces/ToolVersion.html":{},"injectables/ToolVersionService.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"modules/UserApiModule.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"modules/ValidationModule.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"dependencies.html":{},"license.html":{}}}],["source.entity",{"_index":12770,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["source.entity.ts",{"_index":10004,"title":{},"body":{"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{}}}],["source.entity.ts:13",{"_index":10007,"title":{},"body":{"classes/ExternalSourceEntity.html":{}}}],["source.entity.ts:16",{"_index":10006,"title":{},"body":{"classes/ExternalSourceEntity.html":{}}}],["source.person.geburt?.datum",{"_index":19582,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.person.name.familienname",{"_index":19579,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.person.name.vorname",{"_index":19578,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.personenkontexte[0].gruppen",{"_index":19585,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.personenkontexte[0].id",{"_index":19593,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.personenkontexte[0].organisation.anschrift?.ort",{"_index":19577,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.personenkontexte[0].organisation.id.tostring",{"_index":19576,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.personenkontexte[0].organisation.kennung.replace",{"_index":19573,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.personenkontexte[0].organisation.name",{"_index":19575,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.pid",{"_index":19581,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.response",{"_index":12827,"title":{},"body":{"classes/GroupResponse.html":{}}}],["source.response.ts",{"_index":10013,"title":{},"body":{"classes/ExternalSourceResponse.html":{}}}],["source.response.ts:5",{"_index":10015,"title":{},"body":{"classes/ExternalSourceResponse.html":{}}}],["source.response.ts:8",{"_index":10014,"title":{},"body":{"classes/ExternalSourceResponse.html":{}}}],["source.ts",{"_index":9999,"title":{},"body":{"classes/ExternalSource.html":{}}}],["source.ts:2",{"_index":10001,"title":{},"body":{"classes/ExternalSource.html":{}}}],["source.ts:4",{"_index":10000,"title":{},"body":{"classes/ExternalSource.html":{}}}],["sourcecode",{"_index":25507,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["sourcedescription",{"_index":7767,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["sourceentityid",{"_index":18620,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["sourceentityname",{"_index":18624,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["sourceexternalid",{"_index":19948,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["sourceid",{"_index":7083,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"injectables/CopyFilesService.html":{},"interfaces/FileDO.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FilesStorageClientMapper.html":{}}}],["sourceoptions",{"_index":4564,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{}}}],["sourceparent",{"_index":3710,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["sourceparent.removechild(child",{"_index":3712,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["sourceparentid",{"_index":18409,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{},"interfaces/SchoolSpecificFileCopyService.html":{}}}],["sourcepath",{"_index":7188,"title":{},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{}}}],["sources",{"_index":25325,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["sourceschoolid",{"_index":5432,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"interfaces/SchoolSpecificFileCopyService.html":{}}}],["sourceschoolnumber",{"_index":20013,"title":{},"body":{"classes/SchoolNumberMismatchLoggableException.html":{}}}],["sourcesystem",{"_index":23515,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["sourcesystemid",{"_index":23493,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationService.html":{}}}],["sourcetype",{"_index":16467,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{}}}],["space",{"_index":586,"title":{},"body":{"classes/AccountFactory.html":{},"classes/OauthClientBody.html":{}}}],["spalten",{"_index":5501,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["spare",{"_index":24882,"title":{},"body":{"license.html":{}}}],["sparse",{"_index":7457,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{},"classes/UsersList.html":{}}}],["speak",{"_index":24661,"title":{},"body":{"license.html":{}}}],["spec.ts",{"_index":25347,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["special",{"_index":11609,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["specialized",{"_index":25413,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["specific",{"_index":1083,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/BoardDoCopyService.html":{},"classes/BoardElementResponse.html":{},"controllers/CollaborativeStorageController.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"injectables/FeathersAuthorizationService.html":{},"classes/FilterNewsParams.html":{},"classes/IdentityManagementService.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SingleColumnBoardResponse.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["specifically",{"_index":24649,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["specification",{"_index":25577,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["specifications",{"_index":25634,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["specified",{"_index":2847,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"classes/GuardAgainst.html":{},"license.html":{}}}],["specifies",{"_index":22872,"title":{},"body":{"classes/ToolLaunchRequestResponse.html":{},"license.html":{}}}],["specify",{"_index":11601,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"license.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["spies",{"_index":25751,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["spirit",{"_index":25133,"title":{},"body":{"license.html":{}}}],["split",{"_index":18640,"title":{},"body":{"classes/ReferencesService.html":{},"interfaces/ServerConfig.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["splitting",{"_index":26067,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["sql",{"_index":817,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["squashed",{"_index":25834,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["src",{"_index":25506,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["src/config",{"_index":1026,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["src/core",{"_index":11968,"title":{},"body":{"interfaces/FileStorageConfig.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"interfaces/ServerConfig.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["src/core/error/dto",{"_index":12686,"title":{},"body":{"controllers/GroupController.html":{}}}],["src/core/error/dto/error.response",{"_index":4213,"title":{},"body":{"classes/BusinessError.html":{}}}],["src/core/error/interface",{"_index":4214,"title":{},"body":{"classes/BusinessError.html":{}}}],["src/core/error/loggable",{"_index":13385,"title":{},"body":{"classes/HydraOauthFailedLoggableException.html":{},"classes/TokenRequestLoggableException.html":{}}}],["src/core/error/loggable/error.loggable",{"_index":15041,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["src/core/error/utils",{"_index":1314,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"injectables/DeletionClient.html":{},"classes/ErrorMapper.html":{},"injectables/LdapService.html":{},"injectables/S3ClientAdapter.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{}}}],["src/core/logger",{"_index":1027,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"classes/AxiosErrorLoggable.html":{},"injectables/BaseDORepo.html":{},"modules/BoardApiModule.html":{},"injectables/BoardCopyService.html":{},"modules/BoardModule.html":{},"injectables/BoardUc.html":{},"modules/CacheWrapperModule.html":{},"injectables/CardUc.html":{},"interfaces/CleanOptions.html":{},"injectables/CollaborativeStorageAdapter.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnUc.html":{},"modules/CommonToolModule.html":{},"modules/ContextExternalToolModule.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DrawingElementAdapterService.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"injectables/EtherpadService.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"modules/GroupApiModule.html":{},"classes/GroupRoleUnknownLoggable.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"modules/ImportUserModule.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"modules/LessonModule.html":{},"modules/LtiToolModule.html":{},"modules/ManagementModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsMapper.html":{},"modules/NewsModule.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"modules/OauthApiModule.html":{},"classes/OauthConfigMissingLoggableException.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"injectables/OidcProvisioningService.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PreviewActionsLoggable.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymModule.html":{},"modules/RedisModule.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"modules/RegistrationPinModule.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SymetricKeyEncryptionService.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"modules/ToolApiModule.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["src/core/logger/interfaces",{"_index":12370,"title":{},"body":{"classes/ForbiddenLoggableException.html":{},"classes/NotFoundLoggableException.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/ValidationErrorLoggableException.html":{}}}],["src/core/logger/logger.module",{"_index":673,"title":{},"body":{"modules/AccountModule.html":{}}}],["src/core/logger/logging.utils",{"_index":12547,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["src/core/logger/types",{"_index":12371,"title":{},"body":{"classes/ForbiddenLoggableException.html":{},"classes/NotFoundLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/ValidationErrorLoggableException.html":{}}}],["src/imports",{"_index":14331,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["src/infra/database",{"_index":1030,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{}}}],["src/infra/mail/interfaces/mail",{"_index":20112,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["src/infra/rabbitmq",{"_index":1032,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{}}}],["src/modules/authentication",{"_index":394,"title":{},"body":{"controllers/AccountController.html":{}}}],["src/modules/authentication/decorator/auth.decorator",{"_index":396,"title":{},"body":{"controllers/AccountController.html":{}}}],["src/modules/authorization",{"_index":15519,"title":{},"body":{"injectables/LessonService.html":{}}}],["src/modules/authorization/domain",{"_index":13021,"title":{},"body":{"classes/H5PContentMapper.html":{}}}],["src/modules/database",{"_index":25786,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["src/modules/group",{"_index":12890,"title":{},"body":{"injectables/GroupRule.html":{}}}],["src/modules/h5p",{"_index":13007,"title":{},"body":{"classes/H5PContentFactory.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/LibrariesContentType.html":{}}}],["src/shared/domain/entity/lesson.entity",{"_index":5729,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["sso",{"_index":1471,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/OauthConfigMissingLoggableException.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["sso.controller",{"_index":16967,"title":{},"body":{"modules/OauthApiModule.html":{}}}],["sso.controller.ts",{"_index":17453,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["sso.controller.ts:20",{"_index":17459,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["sso.controller.ts:30",{"_index":17462,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["sso_auth_code_step",{"_index":1474,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{}}}],["sso_internal_error",{"_index":17062,"title":{},"body":{"classes/OauthConfigMissingLoggableException.html":{}}}],["sso_jwt_problem",{"_index":13654,"title":{},"body":{"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{}}}],["sso_login_failed",{"_index":17481,"title":{},"body":{"classes/OauthSsoErrorLoggableException.html":{}}}],["sso_user_not_found_after_provisioning",{"_index":23785,"title":{},"body":{"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["sso_user_notfound",{"_index":13696,"title":{},"body":{"classes/IdTokenUserNotFoundLoggableException.html":{}}}],["ssoauthenticationerror",{"_index":1892,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["stack",{"_index":1477,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenLoggableException.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NotFoundLoggableException.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/ValidationErrorLoggableException.html":{},"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["stand",{"_index":5514,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["standard",{"_index":24759,"title":{},"body":{"license.html":{}}}],["standards",{"_index":24761,"title":{},"body":{"license.html":{}}}],["start",{"_index":876,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"injectables/BatchDeletionUc.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DeleteFilesConsole.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"controllers/H5PEditorController.html":{},"classes/H5pFileDto.html":{},"classes/ImportUserListResponse.html":{},"injectables/KeycloakMigrationService.html":{},"classes/ListOauthClientsParams.html":{},"classes/NewsListResponse.html":{},"classes/PaginationResponse.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/TaskListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"index.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["start(req",{"_index":24036,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["start.loggable.ts",{"_index":19906,"title":{},"body":{"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/UserLoginMigrationStartLoggable.html":{}}}],["start.loggable.ts:11",{"_index":19908,"title":{},"body":{"classes/SchoolInUserMigrationStartLoggable.html":{}}}],["start.loggable.ts:4",{"_index":19907,"title":{},"body":{"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/UserLoginMigrationStartLoggable.html":{}}}],["start.loggable.ts:7",{"_index":23672,"title":{},"body":{"classes/UserLoginMigrationStartLoggable.html":{}}}],["startdate",{"_index":7399,"title":{},"body":{"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{}}}],["started",{"_index":1434,"title":{"index.html":{},"license.html":{},"todo.html":{}},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationStartedLoggable.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["started.loggable.ts",{"_index":23767,"title":{},"body":{"classes/UserMigrationStartedLoggable.html":{}}}],["started.loggable.ts:5",{"_index":23768,"title":{},"body":{"classes/UserMigrationStartedLoggable.html":{}}}],["started.loggable.ts:8",{"_index":23769,"title":{},"body":{"classes/UserMigrationStartedLoggable.html":{}}}],["startedat",{"_index":23494,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationService.html":{}}}],["startet",{"_index":26057,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["starting",{"_index":24575,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["startmigration",{"_index":20558,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationService.html":{}}}],["startmigration(@currentuser",{"_index":23472,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["startmigration(currentuser",{"_index":23443,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["startmigration(schoolid",{"_index":23642,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["startmigration(userid",{"_index":20562,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["starts",{"_index":15745,"title":{},"body":{"controllers/LoginController.html":{},"additional-documentation/nestjs-application.html":{}}}],["startschoolinusermigration",{"_index":13832,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["startschoolinusermigration(currentuser",{"_index":13854,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["starttime",{"_index":2313,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{},"injectables/BatchDeletionUc.html":{},"injectables/SchoolMigrationService.html":{}}}],["startup",{"_index":25894,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["startuserloginmigrationuc",{"_index":20555,"title":{"injectables/StartUserLoginMigrationUc.html":{}},"body":{"injectables/StartUserLoginMigrationUc.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{}}}],["state",{"_index":289,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AuthorizationParams.html":{},"modules/AuthorizationReferenceModule.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/FileMetadata.html":{},"injectables/HydraSsoService.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"classes/Path.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{},"injectables/TldrawWsService.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["state.entity",{"_index":19634,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["state.entity.ts",{"_index":7371,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["state.entity.ts:14",{"_index":7375,"title":{},"body":{"classes/County.html":{}}}],["state.entity.ts:21",{"_index":7378,"title":{},"body":{"classes/County.html":{}}}],["state.entity.ts:23",{"_index":7377,"title":{},"body":{"classes/County.html":{}}}],["state.entity.ts:25",{"_index":7376,"title":{},"body":{"classes/County.html":{}}}],["state.entity.ts:31",{"_index":11377,"title":{},"body":{"entities/FederalStateEntity.html":{}}}],["state.entity.ts:34",{"_index":11374,"title":{},"body":{"entities/FederalStateEntity.html":{}}}],["state.entity.ts:37",{"_index":11376,"title":{},"body":{"entities/FederalStateEntity.html":{}}}],["state.entity.ts:40",{"_index":11375,"title":{},"body":{"entities/FederalStateEntity.html":{}}}],["state.enum",{"_index":23991,"title":{},"body":{"classes/VideoConference-1.html":{},"classes/VideoConferenceJoin.html":{}}}],["state.factory",{"_index":15173,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["state.repo.ts",{"_index":11380,"title":{},"body":{"injectables/FederalStateRepo.html":{}}}],["state.repo.ts:12",{"_index":11381,"title":{},"body":{"injectables/FederalStateRepo.html":{}}}],["state.repo.ts:8",{"_index":11382,"title":{},"body":{"injectables/FederalStateRepo.html":{}}}],["state.response",{"_index":9484,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceInfoResponse.html":{}}}],["state.service.ts",{"_index":11387,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["state.service.ts:10",{"_index":11392,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["state.service.ts:6",{"_index":11390,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["stated",{"_index":24786,"title":{},"body":{"license.html":{}}}],["statelessauthorizationparams",{"_index":17457,"title":{"classes/StatelessAuthorizationParams.html":{}},"body":{"controllers/OauthSSOController.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["statemapping",{"_index":24259,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["statemapping[state",{"_index":24266,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["statement",{"_index":23080,"title":{},"body":{"injectables/ToolVersionService.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{}}}],["static",{"_index":467,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"interfaces/AccountParams.html":{},"classes/AccountResponseMapper.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AntivirusModule.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/BaseFactory.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/BoardResponseMapper.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/CardResponseMapper.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/CleanOptions.html":{},"classes/ColumnBoardFactory.html":{},"classes/ColumnResponseMapper.html":{},"injectables/CommonToolValidationService.html":{},"classes/ContentElementResponseFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyMapper.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CourseMapper.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"interfaces/CreateJwtParams.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomParameterFactory.html":{},"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ErrorMapper.html":{},"classes/ErrorUtils.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolMetadataMapper.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElementResponseMapper.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordMapper.html":{},"classes/FileResponseBuilder.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"classes/GridElement.html":{},"classes/GroupDomainMapper.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/IGridElement.html":{},"interfaces/IToolFeatures.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"entities/InstalledLibrary.html":{},"classes/IservMapper.html":{},"classes/JwtExtractor.html":{},"classes/JwtTestFactory.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"classes/KeycloakConsole.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LibraryName.html":{},"classes/LinkElementResponseMapper.html":{},"classes/LoggingUtils.html":{},"classes/LoginResponseMapper.html":{},"classes/LtiRoleMapper.html":{},"classes/LtiToolFactory.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"classes/MetadataTypeMapper.html":{},"interfaces/MigrationOptions.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MongoPatterns.html":{},"entities/News.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/Path.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/PseudonymMapper.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/ReferencesService.html":{},"classes/ResolvedUserMapper.html":{},"interfaces/RetryOptions.html":{},"classes/RichTextElementResponseMapper.html":{},"modules/RocketChatModule.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"modules/S3ClientModule.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolInfoMapper.html":{},"entities/SchoolNews.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenResponseMapper.html":{},"classes/SortHelper.html":{},"classes/StringValidator.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/SubmissionMapper.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/SystemResponseMapper.html":{},"classes/TargetInfoMapper.html":{},"classes/TaskFactory.html":{},"classes/TaskMapper.html":{},"classes/TaskStatusMapper.html":{},"classes/TeamFactory.html":{},"entities/TeamNews.html":{},"classes/TeamUserFactory.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWsFactory.html":{},"modules/TldrawWsTestModule.html":{},"classes/TokenRequestMapper.html":{},"classes/ToolConfiguration.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolContextMapper.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolStatusResponseMapper.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserInfoMapper.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserMapper.html":{},"classes/UserMatchMapper.html":{},"classes/UsersList.html":{},"classes/VideoConferenceConfiguration.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"additional-documentation/nestjs-application.html":{}}}],["stating",{"_index":24838,"title":{},"body":{"license.html":{}}}],["statistic.builder.ts",{"_index":9217,"title":{},"body":{"classes/DeletionLogStatisticBuilder.html":{}}}],["statistic.builder.ts:5",{"_index":9219,"title":{},"body":{"classes/DeletionLogStatisticBuilder.html":{}}}],["statistics",{"_index":9211,"title":{},"body":{"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef-1.html":{}}}],["statistics_reporting=false",{"_index":25944,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["status",{"_index":402,"title":{},"body":{"controllers/AccountController.html":{},"interfaces/AdminIdAndToken.html":{},"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosResponseImp.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"classes/ConsentRequestBody.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/CopyApiResponse.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"injectables/CourseCopyService.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionRequest.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"controllers/DeletionRequestsController.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DtoCreator.html":{},"controllers/ElementController.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"entities/FileRecord.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"classes/ForbiddenOperationError.html":{},"controllers/GroupController.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"controllers/H5PEditorController.html":{},"injectables/HydraOauthUc.html":{},"interfaces/IError.html":{},"classes/LdapConnectionError.html":{},"controllers/LoginController.html":{},"classes/LoginRequestBody.html":{},"interfaces/Meta.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"interfaces/NextcloudGroups.html":{},"classes/OAuthRejectableBody.html":{},"interfaces/OcsResponse.html":{},"interfaces/ParentInfo.html":{},"interfaces/PreviewFileOptions.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewOptions.html":{},"interfaces/PreviewResponseMessage.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"interfaces/RpcMessage.html":{},"classes/ScanResultDto.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolService.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"controllers/ShareTokenController.html":{},"interfaces/SuccessfulRes.html":{},"controllers/SystemController.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"classes/TaskResponse.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"controllers/TldrawController.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"injectables/ToolLaunchService.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/ValidationError.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"license.html":{}}}],["status.copyentity",{"_index":3321,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CopyHelperService.html":{}}}],["status.copyentity.id",{"_index":3366,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["status.copyentity.title",{"_index":3367,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["status.elements?.foreach((elementstatus",{"_index":7303,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["status.enum",{"_index":2154,"title":{},"body":{"interfaces/BBBBaseResponse.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["status.factory",{"_index":19688,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["status.isoutdatedonscopecontext",{"_index":22908,"title":{},"body":{"injectables/ToolLaunchService.html":{},"classes/ToolStatusResponseMapper.html":{}}}],["status.isoutdatedonscopeschool",{"_index":19830,"title":{},"body":{"injectables/SchoolExternalToolService.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/ToolLaunchService.html":{},"classes/ToolStatusResponseMapper.html":{}}}],["status.mapper",{"_index":21527,"title":{},"body":{"classes/TaskMapper.html":{}}}],["status.mapper.ts",{"_index":21749,"title":{},"body":{"classes/TaskStatusMapper.html":{}}}],["status.mapper.ts:5",{"_index":21750,"title":{},"body":{"classes/TaskStatusMapper.html":{}}}],["status.originalentity",{"_index":7306,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["status.response",{"_index":4076,"title":{},"body":{"classes/BoardTaskResponse.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskStatusMapper.html":{}}}],["status.response.ts",{"_index":4084,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/TaskStatusResponse.html":{}}}],["status.response.ts:14",{"_index":21758,"title":{},"body":{"classes/TaskStatusResponse.html":{}}}],["status.response.ts:16",{"_index":6684,"title":{},"body":{"classes/ContextExternalToolConfigurationStatusResponse.html":{}}}],["status.response.ts:17",{"_index":21757,"title":{},"body":{"classes/TaskStatusResponse.html":{}}}],["status.response.ts:20",{"_index":21753,"title":{},"body":{"classes/TaskStatusResponse.html":{}}}],["status.response.ts:21",{"_index":4097,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{}}}],["status.response.ts:23",{"_index":21754,"title":{},"body":{"classes/TaskStatusResponse.html":{}}}],["status.response.ts:24",{"_index":4096,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{}}}],["status.response.ts:26",{"_index":21756,"title":{},"body":{"classes/TaskStatusResponse.html":{}}}],["status.response.ts:27",{"_index":4092,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{}}}],["status.response.ts:29",{"_index":21755,"title":{},"body":{"classes/TaskStatusResponse.html":{}}}],["status.response.ts:3",{"_index":4091,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"classes/TaskStatusResponse.html":{}}}],["status.response.ts:30",{"_index":4093,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{}}}],["status.response.ts:33",{"_index":4095,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{}}}],["status.response.ts:36",{"_index":4094,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{}}}],["status.response.ts:9",{"_index":6688,"title":{},"body":{"classes/ContextExternalToolConfigurationStatusResponse.html":{}}}],["status.status",{"_index":3324,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["status.ts",{"_index":6675,"title":{},"body":{"classes/ContextExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{}}}],["status.ts:2",{"_index":6677,"title":{},"body":{"classes/ContextExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{}}}],["status.ts:4",{"_index":6676,"title":{},"body":{"classes/ContextExternalToolConfigurationStatus.html":{}}}],["status_code",{"_index":6234,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"interfaces/RejectRequestBody.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["statuscode",{"_index":1081,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/Meta.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OcsResponse.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"interfaces/SuccessfulRes.html":{}}}],["statusdto",{"_index":21530,"title":{},"body":{"classes/TaskMapper.html":{}}}],["statuses",{"_index":3287,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["statuses.foreach((status",{"_index":3360,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["statustext",{"_index":2114,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["stay",{"_index":25435,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["stemming",{"_index":5342,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["steps",{"_index":24673,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["stepsexample",{"_index":25996,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["stepshow",{"_index":26006,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["stick",{"_index":25643,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["still",{"_index":7746,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"injectables/TldrawWsService.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["stop",{"_index":5340,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/TimeoutInterceptor.html":{}}}],["storage",{"_index":3866,"title":{},"body":{"modules/BoardModule.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto-1.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParamBuilder.html":{},"interfaces/FileRequestInfo.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"modules/LessonModule.html":{},"injectables/LessonService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/RecursiveDeleteVisitor.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"interfaces/ServerConfig.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/SubmissionService.html":{},"injectables/TaskCopyService.html":{},"modules/TaskModule.html":{},"injectables/TaskService.html":{},"dependencies.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["storage'})@apiresponse({status",{"_index":5062,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["storage.adapter",{"_index":5044,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["storage.adapter.ts",{"_index":4966,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["storage.adapter.ts:15",{"_index":4982,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["storage.adapter.ts:30",{"_index":4990,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["storage.adapter.ts:40",{"_index":4996,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["storage.adapter.ts:49",{"_index":4988,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["storage.adapter.ts:58",{"_index":4985,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["storage.adapter.ts:67",{"_index":4992,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["storage.config",{"_index":12280,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"injectables/PreviewService.html":{}}}],["storage.config.ts",{"_index":11964,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["storage.const",{"_index":1319,"title":{},"body":{"injectables/AntivirusService.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"controllers/FileSecurityController.html":{}}}],["storage.consumer.ts",{"_index":12200,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["storage.consumer.ts:14",{"_index":12205,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["storage.consumer.ts:31",{"_index":12209,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["storage.consumer.ts:48",{"_index":12213,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["storage.consumer.ts:63",{"_index":12211,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["storage.controller.ts",{"_index":5054,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["storage.controller.ts:32",{"_index":5068,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["storage.mapper.ts",{"_index":12234,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage.mapper.ts:15",{"_index":12242,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage.mapper.ts:33",{"_index":12246,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage.mapper.ts:39",{"_index":12240,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage.mapper.ts:49",{"_index":12244,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage.mapper.ts:53",{"_index":12243,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage.mapper.ts:65",{"_index":12248,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage.module",{"_index":12122,"title":{},"body":{"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{}}}],["storage.module.ts",{"_index":5091,"title":{},"body":{"modules/CollaborativeStorageModule.html":{},"modules/FilesStorageModule.html":{}}}],["storage.params.ts",{"_index":7147,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["storage.params.ts:100",{"_index":7215,"title":{},"body":{"classes/CopyFilesOfParentPayload.html":{}}}],["storage.params.ts:103",{"_index":7213,"title":{},"body":{"classes/CopyFilesOfParentPayload.html":{}}}],["storage.params.ts:106",{"_index":7214,"title":{},"body":{"classes/CopyFilesOfParentPayload.html":{}}}],["storage.params.ts:113",{"_index":17906,"title":{},"body":{"classes/PreviewParams.html":{}}}],["storage.params.ts:118",{"_index":17908,"title":{},"body":{"classes/PreviewParams.html":{}}}],["storage.params.ts:12",{"_index":11847,"title":{},"body":{"classes/FileRecordParams.html":{}}}],["storage.params.ts:126",{"_index":17904,"title":{},"body":{"classes/PreviewParams.html":{}}}],["storage.params.ts:16",{"_index":11844,"title":{},"body":{"classes/FileRecordParams.html":{}}}],["storage.params.ts:20",{"_index":11846,"title":{},"body":{"classes/FileRecordParams.html":{}}}],["storage.params.ts:27",{"_index":12061,"title":{},"body":{"classes/FileUrlParams.html":{}}}],["storage.params.ts:32",{"_index":12058,"title":{},"body":{"classes/FileUrlParams.html":{}}}],["storage.params.ts:36",{"_index":12060,"title":{},"body":{"classes/FileUrlParams.html":{}}}],["storage.params.ts:42",{"_index":11682,"title":{},"body":{"classes/FileParams.html":{}}}],["storage.params.ts:48",{"_index":9512,"title":{},"body":{"classes/DownloadFileParams.html":{}}}],["storage.params.ts:52",{"_index":9511,"title":{},"body":{"classes/DownloadFileParams.html":{}}}],["storage.params.ts:58",{"_index":19612,"title":{},"body":{"classes/ScanResultParams.html":{}}}],["storage.params.ts:62",{"_index":19613,"title":{},"body":{"classes/ScanResultParams.html":{}}}],["storage.params.ts:66",{"_index":19611,"title":{},"body":{"classes/ScanResultParams.html":{}}}],["storage.params.ts:72",{"_index":20534,"title":{},"body":{"classes/SingleFileParams.html":{}}}],["storage.params.ts:79",{"_index":18696,"title":{},"body":{"classes/RenameFileParams.html":{}}}],["storage.params.ts:85",{"_index":7212,"title":{},"body":{"classes/CopyFilesOfParentParams.html":{}}}],["storage.params.ts:91",{"_index":7152,"title":{},"body":{"classes/CopyFileParams.html":{}}}],["storage.params.ts:95",{"_index":7150,"title":{},"body":{"classes/CopyFileParams.html":{}}}],["storage.producer",{"_index":12145,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{},"modules/FilesStorageClientModule.html":{}}}],["storage.producer.ts",{"_index":12296,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["storage.producer.ts:18",{"_index":12300,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["storage.producer.ts:28",{"_index":12301,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["storage.producer.ts:37",{"_index":12304,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["storage.producer.ts:46",{"_index":12302,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["storage.response.ts",{"_index":7117,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["storage.response.ts:22",{"_index":11891,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:26",{"_index":11893,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:29",{"_index":11894,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:32",{"_index":11899,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:35",{"_index":11897,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:38",{"_index":11898,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:41",{"_index":11889,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:44",{"_index":11892,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:47",{"_index":11895,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:50",{"_index":11896,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:53",{"_index":11890,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:56",{"_index":11817,"title":{},"body":{"classes/FileRecordListResponse.html":{}}}],["storage.response.ts:6",{"_index":11888,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:66",{"_index":7176,"title":{},"body":{"classes/CopyFileResponse.html":{}}}],["storage.response.ts:74",{"_index":7177,"title":{},"body":{"classes/CopyFileResponse.html":{}}}],["storage.response.ts:77",{"_index":7179,"title":{},"body":{"classes/CopyFileResponse.html":{}}}],["storage.response.ts:81",{"_index":7178,"title":{},"body":{"classes/CopyFileResponse.html":{}}}],["storage.response.ts:84",{"_index":7119,"title":{},"body":{"classes/CopyFileListResponse.html":{}}}],["storage.service",{"_index":5154,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{},"injectables/FilesStorageConsumer.html":{}}}],["storage.service.ts",{"_index":5094,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:119",{"_index":22057,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:12",{"_index":22047,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:14",{"_index":5100,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["storage.service.ts:18",{"_index":22049,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:24",{"_index":22055,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:29",{"_index":22051,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:32",{"_index":5105,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["storage.service.ts:36",{"_index":22053,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:43",{"_index":5113,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:47",{"_index":22062,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:61",{"_index":5102,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["storage.service.ts:65",{"_index":5101,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:69",{"_index":5109,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["storage.service.ts:79",{"_index":22068,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.ts",{"_index":7082,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{}}}],["storage.uc",{"_index":5074,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["storage.uc.ts",{"_index":5142,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["storage.uc.ts:21",{"_index":5152,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["storage.uc.ts:34",{"_index":5148,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["storage.uc.ts:38",{"_index":5147,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["storage.uc.ts:42",{"_index":5149,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["storage.uc.ts:9",{"_index":5146,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["storage/collaborative",{"_index":4965,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{}}}],["storage/controller/collaborative",{"_index":5053,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["storage/controller/dto/file",{"_index":7116,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["storage/controller/dto/scan",{"_index":19606,"title":{},"body":{"classes/ScanResultDto.html":{}}}],["storage/controller/dto/team",{"_index":21916,"title":{},"body":{"classes/TeamPermissionsBody.html":{},"classes/TeamRoleDto.html":{}}}],["storage/controller/file",{"_index":11938,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["storage/controller/files",{"_index":12199,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["storage/dto/file.dto.ts",{"_index":11401,"title":{},"body":{"classes/FileDto.html":{}}}],["storage/dto/file.dto.ts:11",{"_index":11406,"title":{},"body":{"classes/FileDto.html":{}}}],["storage/dto/file.dto.ts:13",{"_index":11404,"title":{},"body":{"classes/FileDto.html":{}}}],["storage/dto/file.dto.ts:15",{"_index":11405,"title":{},"body":{"classes/FileDto.html":{}}}],["storage/dto/file.dto.ts:4",{"_index":11403,"title":{},"body":{"classes/FileDto.html":{}}}],["storage/dto/team",{"_index":21944,"title":{},"body":{"classes/TeamRolePermissionsDto.html":{}}}],["storage/entity",{"_index":11811,"title":{},"body":{"classes/FileRecordFactory.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"modules/ServerConsoleModule.html":{}}}],["storage/entity/filerecord.entity.ts",{"_index":11707,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["storage/entity/filerecord.entity.ts:105",{"_index":11719,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:108",{"_index":11726,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:111",{"_index":11721,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:114",{"_index":11720,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:117",{"_index":11725,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:121",{"_index":11723,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:125",{"_index":11715,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:132",{"_index":11711,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:139",{"_index":11716,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:146",{"_index":11713,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:46",{"_index":11923,"title":{},"body":{"classes/FileRecordSecurityCheck.html":{}}}],["storage/entity/filerecord.entity.ts:49",{"_index":11921,"title":{},"body":{"classes/FileRecordSecurityCheck.html":{}}}],["storage/entity/filerecord.entity.ts:52",{"_index":11922,"title":{},"body":{"classes/FileRecordSecurityCheck.html":{}}}],["storage/entity/filerecord.entity.ts:55",{"_index":11920,"title":{},"body":{"classes/FileRecordSecurityCheck.html":{}}}],["storage/entity/filerecord.entity.ts:58",{"_index":11919,"title":{},"body":{"classes/FileRecordSecurityCheck.html":{}}}],["storage/files",{"_index":1318,"title":{},"body":{"injectables/AntivirusService.html":{},"interfaces/FileStorageConfig.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{}}}],["storage/helper",{"_index":3301,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["storage/helper/test",{"_index":22161,"title":{},"body":{"classes/TestHelper.html":{}}}],["storage/interface/interfaces.ts",{"_index":12445,"title":{},"body":{"interfaces/GetFileResponse.html":{},"interfaces/PreviewFileParams.html":{}}}],["storage/mapper/collaborative",{"_index":5012,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["storage/mapper/copy",{"_index":7181,"title":{},"body":{"classes/CopyFileResponseBuilder.html":{}}}],["storage/mapper/file",{"_index":11419,"title":{},"body":{"classes/FileDtoBuilder.html":{},"classes/FileRecordMapper.html":{},"classes/FileResponseBuilder.html":{}}}],["storage/mapper/files",{"_index":12233,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage/mapper/preview.builder.ts",{"_index":17796,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["storage/mapper/preview.builder.ts:33",{"_index":17802,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["storage/mapper/preview.builder.ts:8",{"_index":17800,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["storage/mapper/team",{"_index":5155,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["storage/mapper/team.mapper.ts",{"_index":21891,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["storage/mapper/team.mapper.ts:12",{"_index":21894,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["storage/repo/filerecord",{"_index":11900,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["storage/repo/filerecord.repo.ts",{"_index":11849,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:10",{"_index":11875,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:14",{"_index":11870,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:21",{"_index":11872,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:28",{"_index":11862,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:35",{"_index":11864,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:46",{"_index":11866,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:57",{"_index":11868,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:66",{"_index":11860,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:82",{"_index":11874,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/service/preview.service.ts",{"_index":17917,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/service/preview.service.ts:14",{"_index":17922,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/service/preview.service.ts:23",{"_index":17928,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/service/preview.service.ts:37",{"_index":17926,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/service/preview.service.ts:45",{"_index":17924,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/service/preview.service.ts:52",{"_index":17933,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/service/preview.service.ts:73",{"_index":17931,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/service/preview.service.ts:83",{"_index":17929,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/services/collaborative",{"_index":5093,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["storage/services/dto/team",{"_index":4998,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"classes/TeamPermissionsDto.html":{}}}],["storage/services/dto/team.dto",{"_index":5000,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["storage/services/dto/team.dto.ts",{"_index":21854,"title":{},"body":{"classes/TeamDto.html":{},"classes/TeamUserDto.html":{}}}],["storage/services/dto/team.dto.ts:11",{"_index":21860,"title":{},"body":{"classes/TeamDto.html":{}}}],["storage/services/dto/team.dto.ts:13",{"_index":21858,"title":{},"body":{"classes/TeamDto.html":{}}}],["storage/services/dto/team.dto.ts:23",{"_index":21975,"title":{},"body":{"classes/TeamUserDto.html":{}}}],["storage/services/dto/team.dto.ts:25",{"_index":21974,"title":{},"body":{"classes/TeamUserDto.html":{}}}],["storage/services/dto/team.dto.ts:27",{"_index":21973,"title":{},"body":{"classes/TeamUserDto.html":{}}}],["storage/services/dto/team.dto.ts:9",{"_index":21859,"title":{},"body":{"classes/TeamDto.html":{}}}],["storage/strategy/base.interface.strategy.ts",{"_index":5133,"title":{},"body":{"interfaces/CollaborativeStorageStrategy.html":{}}}],["storage/strategy/base.interface.strategy.ts:12",{"_index":5140,"title":{},"body":{"interfaces/CollaborativeStorageStrategy.html":{}}}],["storage/strategy/base.interface.strategy.ts:14",{"_index":5137,"title":{},"body":{"interfaces/CollaborativeStorageStrategy.html":{}}}],["storage/strategy/base.interface.strategy.ts:16",{"_index":5136,"title":{},"body":{"interfaces/CollaborativeStorageStrategy.html":{}}}],["storage/strategy/base.interface.strategy.ts:18",{"_index":5138,"title":{},"body":{"interfaces/CollaborativeStorageStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.interface.ts",{"_index":12970,"title":{},"body":{"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/Meta.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OcsResponse.html":{},"interfaces/SuccessfulRes.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts",{"_index":16687,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:129",{"_index":16714,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:158",{"_index":16701,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:172",{"_index":16700,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:192",{"_index":16703,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:202",{"_index":16707,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:21",{"_index":16693,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:38",{"_index":16710,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:59",{"_index":16698,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:75",{"_index":16694,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:98",{"_index":16708,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/uc/collaborative",{"_index":5141,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["storage:debug",{"_index":25335,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["storage:dev",{"_index":25334,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["storage:prod",{"_index":25336,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["storageclient",{"_index":12437,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["storageconfig",{"_index":17814,"title":{},"body":{"interfaces/PreviewConfig.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"interfaces/PreviewModuleConfig.html":{}}}],["storageconfig.connectionname",{"_index":17854,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["storagefilename",{"_index":8909,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["storageprovider",{"_index":8858,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesRepo.html":{}}}],["storageprovider.accesskeyid",{"_index":5387,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/DeleteFilesUc.html":{}}}],["storageprovider.endpointurl",{"_index":8898,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["storageprovider.region",{"_index":8900,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["storageprovider.secretaccesskey",{"_index":5388,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/DeleteFilesUc.html":{}}}],["storageproviderencryptedstringtype",{"_index":20578,"title":{"classes/StorageProviderEncryptedStringType.html":{}},"body":{"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["storageproviderentity",{"_index":5177,"title":{"entities/StorageProviderEntity.html":{}},"body":{"interfaces/CollectionFilePath.html":{},"injectables/DeleteFilesUc.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{}}}],["storageproviderid",{"_index":11512,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["storageproviderproperties",{"_index":20608,"title":{"interfaces/StorageProviderProperties.html":{}},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["storageproviderrepo",{"_index":8854,"title":{"injectables/StorageProviderRepo.html":{}},"body":{"injectables/DeleteFilesUc.html":{},"modules/FilesModule.html":{},"injectables/StorageProviderRepo.html":{}}}],["storageproviders",{"_index":5185,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["storageproviders.foreach((storageprovider",{"_index":5386,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["storageproviderscollectionname",{"_index":5184,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["storagestrategy",{"_index":5047,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["store",{"_index":4230,"title":{},"body":{"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/TldrawWsService.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{}}}],["store.getclient",{"_index":4249,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["stored",{"_index":22990,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["strategies",{"_index":5135,"title":{},"body":{"interfaces/CollaborativeStorageStrategy.html":{},"injectables/ProvisioningService.html":{},"injectables/ToolLaunchService.html":{}}}],["strategy",{"_index":4972,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/NextcloudStrategy.html":{},"injectables/Oauth2Strategy.html":{},"classes/OauthDataStrategyInputDto.html":{},"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolLaunchService.html":{},"injectables/XApiKeyStrategy.html":{},"todo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["strategy.apply(oauthdata",{"_index":18106,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["strategy.createlaunchdata(userid",{"_index":22906,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["strategy.createlaunchrequest(toollaunchdata",{"_index":22901,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["strategy.getdata(input",{"_index":18102,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["strategy.interface.ts",{"_index":22910,"title":{},"body":{"interfaces/ToolLaunchStrategy.html":{}}}],["strategy.interface.ts:6",{"_index":22911,"title":{},"body":{"interfaces/ToolLaunchStrategy.html":{}}}],["strategy.interface.ts:8",{"_index":22913,"title":{},"body":{"interfaces/ToolLaunchStrategy.html":{}}}],["strategy/auto",{"_index":2000,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{}}}],["strategy/base.interface.strategy",{"_index":5004,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["strategy/basic",{"_index":2723,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["strategy/jwt",{"_index":1553,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/AuthenticationService.html":{}}}],["strategy/jwt.strategy",{"_index":1555,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["strategy/ldap.strategy",{"_index":1556,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["strategy/local.strategy",{"_index":1557,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["strategy/nextcloud/nextcloud.client",{"_index":5045,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["strategy/nextcloud/nextcloud.strategy",{"_index":5046,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["strategy/oauth2",{"_index":16796,"title":{},"body":{"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["strategy/oauth2.strategy",{"_index":1558,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["strategy/oidc/service/oidc",{"_index":18068,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["strategy/sanis/response",{"_index":12881,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["strategy/sanis/sanis",{"_index":18069,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["strategy/tool",{"_index":22909,"title":{},"body":{"interfaces/ToolLaunchStrategy.html":{}}}],["strategy/x",{"_index":1559,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["stream",{"_index":1304,"title":{},"body":{"injectables/AntivirusService.html":{},"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"classes/FileDto.html":{},"classes/FileDtoBuilder.html":{},"classes/FileRecordFactory.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5pFileDto.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/PreviewFileParams.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorService.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestHelper.html":{}}}],["stream.destroy",{"_index":19408,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["stream.on('data",{"_index":19409,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["streamablefile",{"_index":7528,"title":{},"body":{"controllers/CourseController.html":{},"controllers/FileSecurityController.html":{},"classes/FilesStorageMapper.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{}}}],["streamablefile(data",{"_index":13156,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["streamablefile(fileresponse.data",{"_index":12267,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["streamablefile(res.data",{"_index":11957,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["streamablefile(response.data",{"_index":12412,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["streamablefile(result",{"_index":7552,"title":{},"body":{"controllers/CourseController.html":{}}}],["strict",{"_index":20218,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["string",{"_index":47,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"classes/AccountDto.html":{},"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"classes/AuthorizationParams.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"interfaces/BatchDeletionSummary.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardContextResponse.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/BoardResponse.html":{},"classes/BoardTaskResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"modules/CacheWrapperModule.html":{},"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"classes/CardIdsParams.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"interfaces/ClassProps.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CollaborativeStorageAdapter.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolResponse.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ContextRef.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/County.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"classes/DeletionRequestResponse.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/ElementContentBody.html":{},"modules/EncryptionModule.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"injectables/ExternalToolMetadataService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FeathersError.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"classes/FileUrlParams.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"modules/FwuLearningContentsModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"injectables/GroupService.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"interfaces/JwtPayload.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"classes/LessonCopyApiParams.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"classes/LoggingUtils.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"interfaces/Meta.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/Options.html":{},"classes/PageContentDto.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"classes/ProvisioningDto.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemDto.html":{},"classes/Pseudonym.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"classes/RequestInfo.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"interfaces/RocketChatUserProps.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"injectables/RoleRepo.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolUc.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoResponse.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"interfaces/ScopeInfo.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenPayloadResponse.html":{},"classes/ShareTokenResponse.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortHelper.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemUrlParams.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/SubmissionUrlParams.html":{},"interfaces/SuccessfulRes.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{},"interfaces/SystemProps.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"classes/TaskResponse.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TldrawBoardRepo.html":{},"interfaces/TldrawConfig.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolConfiguration.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceUc.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoResponse.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationMapper.html":{},"interfaces/UserLoginMigrationQuery.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"todo.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["string'})@allow",{"_index":12059,"title":{},"body":{"classes/FileUrlParams.html":{}}}],["string'})@isstring()@isnotempty",{"_index":12057,"title":{},"body":{"classes/FileUrlParams.html":{}}}],["string(object[key",{"_index":2425,"title":{},"body":{"injectables/BBBService.html":{}}}],["string).split",{"_index":20117,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["string).tostring(cryptojs.enc.base64",{"_index":17618,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["stringifiedmessage",{"_index":15101,"title":{},"body":{"injectables/LegacyLogger.html":{},"classes/LoggingUtils.html":{}}}],["stringifiedmessage(message",{"_index":15111,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["stringifymessage",{"_index":15728,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["stringifymessage(message",{"_index":15734,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["strings",{"_index":622,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/LegacyLogger.html":{},"classes/MongoPatterns.html":{},"injectables/OauthProviderLoginFlowService.html":{},"classes/StorageProviderEncryptedStringType.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["stringtoboolean",{"_index":203,"title":{},"body":{"classes/AcceptQuery.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/FilterNewsParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{},"classes/SystemFilterParams.html":{}}}],["stringvalidator",{"_index":13947,"title":{"classes/StringValidator.html":{}},"body":{"classes/ImportUserMapper.html":{},"classes/ImportUserScope.html":{},"classes/StringValidator.html":{},"classes/UserMatchMapper.html":{},"injectables/UserRepo.html":{}}}],["stringvalidator.isnotemptystring(escapedclasses",{"_index":14123,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["stringvalidator.isnotemptystring(escapedfirstname",{"_index":14109,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["stringvalidator.isnotemptystring(escapedlastname",{"_index":14115,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["stringvalidator.isnotemptystring(escapedloginname",{"_index":14118,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["stringvalidator.isnotemptystring(escapedname",{"_index":23823,"title":{},"body":{"injectables/UserRepo.html":{}}}],["stringvalidator.isnotemptystring(filters.name",{"_index":23820,"title":{},"body":{"injectables/UserRepo.html":{}}}],["stringvalidator.isnotemptystring(query.classes",{"_index":13978,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["stringvalidator.isnotemptystring(query.firstname",{"_index":13966,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["stringvalidator.isnotemptystring(query.lastname",{"_index":13969,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["stringvalidator.isnotemptystring(query.loginname",{"_index":13972,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["stringvalidator.isnotemptystring(query.name",{"_index":23724,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["stringvalidator.isstring(value",{"_index":20628,"title":{},"body":{"classes/StringValidator.html":{}}}],["string}/api/v3/sso/hydra/${oauthclientid",{"_index":13544,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["string}/api/v3/tldraw",{"_index":9559,"title":{},"body":{"injectables/DrawingElementAdapterService.html":{}}}],["strip",{"_index":24553,"title":{},"body":{"dependencies.html":{}}}],["strong",{"_index":11232,"title":{},"body":{"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["strongly",{"_index":25771,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["structure",{"_index":5983,"title":{"additional-documentation/nestjs-application/file-structure.html":{}},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CopyApiResponse.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["structured",{"_index":25501,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["structures",{"_index":15117,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["stubstitution",{"_index":7483,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["stucture",{"_index":25229,"title":{},"body":{"todo.html":{}}}],["student",{"_index":3396,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/FilterImportUserParams.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"injectables/LessonRule.html":{},"injectables/LessonUC.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["student_count",{"_index":11290,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["student_list",{"_index":19647,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["studentaccount",{"_index":714,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["studentcount",{"_index":4684,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{}}}],["studententities",{"_index":11304,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["studentid",{"_index":20639,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["studentids",{"_index":6226,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/UsersList.html":{}}}],["studentobjectids",{"_index":7675,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{}}}],["studentobjectids.map((id",{"_index":7677,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{}}}],["studentpermissions",{"_index":23367,"title":{},"body":{"classes/UserFactory.html":{}}}],["studentpseudonyms",{"_index":11314,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["studentpseudonyms.map((pseudonym",{"_index":11322,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["students",{"_index":7400,"title":{},"body":{"entities/Course.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/FeathersRosterService.html":{},"injectables/SubmissionRepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"classes/UsersList.html":{}}}],["studentswithid",{"_index":7640,"title":{},"body":{"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{}}}],["studentswithid(numberofstudents",{"_index":7644,"title":{},"body":{"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{}}}],["studentuser",{"_index":715,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["studentvisibility",{"_index":19637,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["studentwithid",{"_index":20753,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["studio",{"_index":24606,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["stuff",{"_index":24629,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["style",{"_index":25695,"title":{"additional-documentation/nestjs-application/code-style.html":{}},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["styles",{"_index":12467,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["sub",{"_index":7072,"title":{},"body":{"classes/CopyApiResponse.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"classes/JwtTestFactory.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LessonRule.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["sub)class",{"_index":26082,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["subclass",{"_index":17880,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["subdirectories",{"_index":13371,"title":{},"body":{"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["subdividing",{"_index":25036,"title":{},"body":{"license.html":{}}}],["subelements",{"_index":8514,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["subject",{"_index":77,"title":{},"body":{"classes/AbstractAccountService.html":{},"interfaces/AcceptLoginRequestBody.html":{},"interfaces/AppendedAttachment.html":{},"injectables/AuthenticationService.html":{},"classes/ConsentResponse.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"classes/LoginResponse-1.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"classes/OauthProviderRequestMapper.html":{},"interfaces/PlainTextMailContent.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"license.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["subject_type",{"_index":10978,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{},"classes/OauthClientBody.html":{}}}],["subject_types_supported",{"_index":16993,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["subjects",{"_index":16098,"title":{},"body":{"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["subjecttype",{"_index":16992,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["subjecttypeenum",{"_index":16990,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["sublicenses",{"_index":25066,"title":{},"body":{"license.html":{}}}],["sublicensing",{"_index":24803,"title":{},"body":{"license.html":{}}}],["submission",{"_index":3140,"title":{"entities/Submission.html":{}},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"controllers/BoardSubmissionController.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementUpdateVisitor.html":{},"interfaces/CopyFileDO.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"classes/FileElementContentBody.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FilesStorageClientMapper.html":{},"interfaces/ITask.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"interfaces/ParentInfo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContentBody.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionFactory.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["submission.controller.ts",{"_index":4008,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["submission.controller.ts:44",{"_index":4027,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["submission.controller.ts:65",{"_index":4032,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["submission.controller.ts:89",{"_index":4021,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["submission.coursegroup?.name",{"_index":20882,"title":{},"body":{"classes/SubmissionMapper.html":{}}}],["submission.entity",{"_index":21259,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["submission.getsubmitterids",{"_index":20877,"title":{},"body":{"classes/SubmissionMapper.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["submission.grade",{"_index":20879,"title":{},"body":{"classes/SubmissionMapper.html":{}}}],["submission.id",{"_index":20875,"title":{},"body":{"classes/SubmissionMapper.html":{}}}],["submission.isgraded",{"_index":20880,"title":{},"body":{"classes/SubmissionMapper.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["submission.isgradedforuser(user",{"_index":21314,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["submission.issubmitted",{"_index":20878,"title":{},"body":{"classes/SubmissionMapper.html":{},"injectables/SubmissionRule.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["submission.issubmittedforuser(user",{"_index":21313,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["submission.isusersubmitter(user",{"_index":20928,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["submission.service",{"_index":21742,"title":{},"body":{"injectables/TaskService.html":{}}}],["submission.task",{"_index":20933,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["submission.task.aresubmissionspublic",{"_index":20931,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["submission.teammembers",{"_index":20667,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["submissioncontainer",{"_index":20835,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["submissioncontainer.addchild(submissionitem",{"_index":20841,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["submissioncontainercontentbody",{"_index":6465,"title":{"classes/SubmissionContainerContentBody.html":{}},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["submissioncontainerelement",{"_index":3130,"title":{"classes/SubmissionContainerElement.html":{}},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ElementUc.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{}}}],["submissioncontainerelement.children",{"_index":9775,"title":{},"body":{"injectables/ElementUc.html":{}}}],["submissioncontainerelement.children.every((child",{"_index":9772,"title":{},"body":{"injectables/ElementUc.html":{}}}],["submissioncontainerelement.children.filter(issubmissionitem",{"_index":20858,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["submissioncontainerelement.duedate",{"_index":6499,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["submissioncontainerelement.id",{"_index":18547,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["submissioncontainerelementcontent",{"_index":20704,"title":{"classes/SubmissionContainerElementContent.html":{}},"body":{"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["submissioncontainerelementcontentbody",{"_index":9524,"title":{"classes/SubmissionContainerElementContentBody.html":{}},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["submissioncontainerelementnode",{"_index":3479,"title":{"entities/SubmissionContainerElementNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{}}}],["submissioncontainerelementprops",{"_index":20702,"title":{"interfaces/SubmissionContainerElementProps.html":{}},"body":{"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{}}}],["submissioncontainerelementresponse",{"_index":4374,"title":{"classes/SubmissionContainerElementResponse.html":{}},"body":{"controllers/CardController.html":{},"classes/CardResponse.html":{},"controllers/ElementController.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["submissioncontainerelementresponse)@apiresponse({status",{"_index":4345,"title":{},"body":{"controllers/CardController.html":{}}}],["submissioncontainerelementresponsemapper",{"_index":6400,"title":{"classes/SubmissionContainerElementResponseMapper.html":{}},"body":{"classes/ContentElementResponseFactory.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["submissioncontainerelementresponsemapper.getinstance",{"_index":6385,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["submissioncontainerelementresponsemapper.instance",{"_index":20720,"title":{},"body":{"classes/SubmissionContainerElementResponseMapper.html":{}}}],["submissioncontainerid",{"_index":20725,"title":{},"body":{"classes/SubmissionContainerUrlParams.html":{},"injectables/SubmissionItemUc.html":{}}}],["submissioncontainernodeprops",{"_index":20714,"title":{"interfaces/SubmissionContainerNodeProps.html":{}},"body":{"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{}}}],["submissioncontainerurlparams",{"_index":4023,"title":{"classes/SubmissionContainerUrlParams.html":{}},"body":{"controllers/BoardSubmissionController.html":{},"classes/SubmissionContainerUrlParams.html":{}}}],["submissioncontainterelement",{"_index":20843,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["submissioncontainterelement.duedate",{"_index":20846,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["submissioncontroller",{"_index":20727,"title":{"controllers/SubmissionController.html":{}},"body":{"controllers/SubmissionController.html":{},"modules/TaskApiModule.html":{}}}],["submissionfactory",{"_index":20751,"title":{"classes/SubmissionFactory.html":{}},"body":{"classes/SubmissionFactory.html":{}}}],["submissionfactory.define(submission",{"_index":20765,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["submissionid",{"_index":20946,"title":{},"body":{"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{}}}],["submissionitem",{"_index":2661,"title":{"classes/SubmissionItem.html":{}},"body":{"classes/BaseUc.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{}}}],["submissionitem.children.filter(issubmissionitemcontent",{"_index":20828,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitem.completed",{"_index":18550,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitem.createdat",{"_index":20830,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitem.id",{"_index":18549,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitem.updatedat",{"_index":20829,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitem.userid",{"_index":2679,"title":{},"body":{"classes/BaseUc.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitemfactory",{"_index":20792,"title":{"injectables/SubmissionItemFactory.html":{}},"body":{"injectables/SubmissionItemFactory.html":{}}}],["submissionitemid",{"_index":20851,"title":{},"body":{"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{}}}],["submissionitemnode",{"_index":3482,"title":{"entities/SubmissionItemNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["submissionitemnodeprops",{"_index":20799,"title":{"interfaces/SubmissionItemNodeProps.html":{}},"body":{"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["submissionitemprops",{"_index":20787,"title":{"interfaces/SubmissionItemProps.html":{}},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["submissionitemresponse",{"_index":9730,"title":{"classes/SubmissionItemResponse.html":{}},"body":{"controllers/ElementController.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/SubmissionsResponse.html":{}}}],["submissionitemresponsemapper",{"_index":4041,"title":{"classes/SubmissionItemResponseMapper.html":{}},"body":{"controllers/BoardSubmissionController.html":{},"controllers/ElementController.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitemresponsemapper.getinstance",{"_index":4048,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/ElementController.html":{}}}],["submissionitemresponsemapper.instance",{"_index":20821,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitemresponse})@apiresponse({status",{"_index":9714,"title":{},"body":{"controllers/ElementController.html":{}}}],["submissionitems",{"_index":4044,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemUc.html":{}}}],["submissionitems.filter((item",{"_index":20864,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["submissionitems.map((item",{"_index":20823,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitemservice",{"_index":3861,"title":{"injectables/SubmissionItemService.html":{}},"body":{"modules/BoardModule.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{}}}],["submissionitemsresponse",{"_index":20822,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{},"classes/SubmissionsResponse.html":{}}}],["submissionitemuc",{"_index":3009,"title":{"injectables/SubmissionItemUc.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/BoardSubmissionController.html":{},"injectables/SubmissionItemUc.html":{}}}],["submissionitemurlparams",{"_index":4014,"title":{"classes/SubmissionItemUrlParams.html":{}},"body":{"controllers/BoardSubmissionController.html":{},"classes/SubmissionItemUrlParams.html":{}}}],["submissionmapper",{"_index":20737,"title":{"classes/SubmissionMapper.html":{}},"body":{"controllers/SubmissionController.html":{},"classes/SubmissionMapper.html":{}}}],["submissionmapper.maptostatusresponse(submission",{"_index":20746,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["submissionproperties",{"_index":20646,"title":{"interfaces/SubmissionProperties.html":{}},"body":{"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"interfaces/SubmissionProperties.html":{}}}],["submissionrepo",{"_index":1913,"title":{"injectables/SubmissionRepo.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"modules/TaskModule.html":{}}}],["submissionresponses",{"_index":20744,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["submissionrule",{"_index":1875,"title":{"injectables/SubmissionRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/RuleManager.html":{},"injectables/SubmissionRule.html":{}}}],["submissions",{"_index":4009,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ITask.html":{},"interfaces/ParentInfo.html":{},"entities/Submission.html":{},"controllers/SubmissionController.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{}}}],["submissions.coursegroup",{"_index":21583,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["submissions.filter((submission",{"_index":20980,"title":{},"body":{"injectables/SubmissionUc.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["submissions.foreach((submission",{"_index":21317,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["submissions.map((submission",{"_index":20745,"title":{},"body":{"controllers/SubmissionController.html":{},"injectables/TaskService.html":{}}}],["submissions.some((submission",{"_index":21312,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["submissionservice",{"_index":20934,"title":{"injectables/SubmissionService.html":{}},"body":{"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"modules/TaskModule.html":{},"injectables/TaskService.html":{}}}],["submissionsresponse",{"_index":4037,"title":{"classes/SubmissionsResponse.html":{}},"body":{"controllers/BoardSubmissionController.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/SubmissionsResponse.html":{}}}],["submissionsresponse(submissionitemsresponse",{"_index":20827,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["submissionsresponse})@apiresponse({status",{"_index":4025,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["submissionstatuslistresponse",{"_index":20739,"title":{"classes/SubmissionStatusListResponse.html":{}},"body":{"controllers/SubmissionController.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["submissionstatuslistresponse(submissionresponses",{"_index":20748,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["submissionstatusresponse",{"_index":20874,"title":{"classes/SubmissionStatusResponse.html":{}},"body":{"classes/SubmissionMapper.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["submissionuc",{"_index":20738,"title":{"injectables/SubmissionUc.html":{}},"body":{"controllers/SubmissionController.html":{},"injectables/SubmissionUc.html":{},"modules/TaskApiModule.html":{}}}],["submissionurlparams",{"_index":20730,"title":{"classes/SubmissionUrlParams.html":{}},"body":{"controllers/SubmissionController.html":{},"classes/SubmissionUrlParams.html":{}}}],["submitted",{"_index":4090,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"interfaces/ITask.html":{},"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusResponse.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{}}}],["submittedsubmissions",{"_index":21308,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["submitterids",{"_index":21318,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["submitters",{"_index":20876,"title":{},"body":{"classes/SubmissionMapper.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["submitting",{"_index":20797,"title":{},"body":{"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["submittingcoursegroupname",{"_index":20881,"title":{},"body":{"classes/SubmissionMapper.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["subpath",{"_index":22113,"title":{},"body":{"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["subpermissions",{"_index":17768,"title":{},"body":{"injectables/PermissionService.html":{}}}],["subprograms",{"_index":24778,"title":{},"body":{"license.html":{}}}],["subsection",{"_index":24890,"title":{},"body":{"license.html":{}}}],["subset",{"_index":6243,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"additional-documentation/nestjs-application.html":{}}}],["subsitution",{"_index":3398,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["substantial",{"_index":24928,"title":{},"body":{"license.html":{}}}],["substantially",{"_index":25034,"title":{},"body":{"license.html":{}}}],["substitution",{"_index":25411,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["substitution_teacher",{"_index":3397,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["substitutionids",{"_index":7427,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["substitutionteacherentities",{"_index":11306,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["substitutionteacherids",{"_index":7480,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["substitutionteacherpseudonyms",{"_index":11316,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["substitutionteachers",{"_index":7401,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"classes/UsersList.html":{}}}],["subtypes",{"_index":9528,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["succeed",{"_index":25714,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["success",{"_index":1076,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/BatchDeletionUc.html":{},"injectables/DeleteFilesUc.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/IdentityManagementOauthService.html":{},"interfaces/Meta.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OcsResponse.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"interfaces/SuccessfulRes.html":{},"classes/VideoConferenceBaseResponse.html":{}}}],["successcount",{"_index":2856,"title":{},"body":{"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{}}}],["successful",{"_index":2836,"title":{},"body":{"injectables/BatchDeletionService.html":{},"classes/DeletionExecutionConsole.html":{},"injectables/LdapService.html":{},"controllers/LoginController.html":{},"classes/SuccessfulResponse.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["successful.'})@apiresponse({status",{"_index":15748,"title":{},"body":{"controllers/LoginController.html":{}}}],["successful.loggable.ts",{"_index":19999,"title":{},"body":{"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["successful.loggable.ts:4",{"_index":20000,"title":{},"body":{"classes/SchoolMigrationSuccessfulLoggable.html":{}}}],["successful.loggable.ts:5",{"_index":23770,"title":{},"body":{"classes/UserMigrationSuccessfulLoggable.html":{}}}],["successful.loggable.ts:7",{"_index":20001,"title":{},"body":{"classes/SchoolMigrationSuccessfulLoggable.html":{}}}],["successful.loggable.ts:8",{"_index":23771,"title":{},"body":{"classes/UserMigrationSuccessfulLoggable.html":{}}}],["successfully",{"_index":385,"title":{},"body":{"controllers/AccountController.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"injectables/DeleteFilesUc.html":{},"classes/IdentityManagementService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["successfully.'})@apiresponse({status",{"_index":361,"title":{},"body":{"controllers/AccountController.html":{}}}],["successfully.'})@apiunauthorizedresponse({description",{"_index":22750,"title":{},"body":{"controllers/ToolController.html":{}}}],["successfulres",{"_index":12977,"title":{"interfaces/SuccessfulRes.html":{}},"body":{"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/Meta.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OcsResponse.html":{},"interfaces/SuccessfulRes.html":{}}}],["successfulresponse",{"_index":20991,"title":{"classes/SuccessfulResponse.html":{}},"body":{"classes/SuccessfulResponse.html":{},"controllers/UserController.html":{}}}],["successfulresponse(result",{"_index":23200,"title":{},"body":{"controllers/UserController.html":{}}}],["successor",{"_index":4563,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{}}}],["such",{"_index":2978,"title":{},"body":{"entities/Board.html":{},"injectables/DashboardUc.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["sue",{"_index":25076,"title":{},"body":{"license.html":{}}}],["suffice",{"_index":24936,"title":{},"body":{"license.html":{}}}],["sufficient",{"_index":11201,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["suffix",{"_index":25268,"title":{},"body":{"todo.html":{}}}],["suggested",{"_index":25214,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["suggests",{"_index":25627,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["suitable",{"_index":13529,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["suites",{"_index":25350,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["sum",{"_index":23830,"title":{},"body":{"injectables/UserRepo.html":{}}}],["summary",{"_index":401,"title":{},"body":{"controllers/AccountController.html":{},"interfaces/BatchDeletionSummary.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"interfaces/CalendarEvent.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionQueueConsole.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/LoginController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/PseudonymController.html":{},"controllers/ShareTokenController.html":{},"controllers/SystemController.html":{},"controllers/TldrawController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["summary.builder.ts",{"_index":2862,"title":{},"body":{"classes/BatchDeletionSummaryBuilder.html":{}}}],["summary.builder.ts:4",{"_index":2864,"title":{},"body":{"classes/BatchDeletionSummaryBuilder.html":{}}}],["summary.interface.ts",{"_index":2852,"title":{},"body":{"interfaces/BatchDeletionSummary.html":{}}}],["super",{"_index":233,"title":{},"body":{"entities/Account.html":{},"injectables/AccountServiceDb.html":{},"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigResponse.html":{},"entities/Board.html":{},"entities/BoardElement.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardUrlHandler.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseUrlHandler.html":{},"interfaces/CustomLtiProperty.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/GlobalValidationPipe.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/H5pEditorTempFile.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/InstalledLibrary.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtStrategy.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolDo.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonUrlHandler.html":{},"classes/LibraryName.html":{},"injectables/LocalStrategy.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigResponse.html":{},"entities/LtiTool.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/NotFoundLoggableException.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"classes/SchoolInMigrationLoggableException.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"interfaces/TemporaryFileProperties.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorLoggableException.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["super('ldap",{"_index":14859,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["super('ldapalreadypersisted",{"_index":14856,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["super(_em",{"_index":10605,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/FilesRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["super(amqpconnection",{"_index":12311,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{}}}],["super(authorizationservice",{"_index":4129,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["super(config",{"_index":2182,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{}}}],["super(domainobject.id",{"_index":8112,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{},"classes/ShareTokenDO.html":{},"classes/UserDO.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["super(dto",{"_index":24195,"title":{},"body":{"classes/VideoConferenceInfo.html":{}}}],["super(e.response.statustext",{"_index":1095,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["super(editormodel",{"_index":12471,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["super(error",{"_index":13386,"title":{},"body":{"classes/HydraOauthFailedLoggableException.html":{},"classes/TokenRequestLoggableException.html":{}}}],["super(errorcode",{"_index":1473,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{}}}],["super(errorutils.createhttpexceptionoptions(error",{"_index":19926,"title":{},"body":{"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{}}}],["super(json.stringify(axioserror.response?.data",{"_index":2102,"title":{},"body":{"classes/AxiosErrorLoggable.html":{}}}],["super(oidcprovisioningservice",{"_index":19504,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["super(props",{"_index":457,"title":{},"body":{"classes/AccountDto.html":{},"classes/BasicToolConfigEntity.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{},"entities/ColumnboardBoardElement.html":{},"entities/CourseNews.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/LessonBoardElement.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/OauthLoginResponse.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/SchoolNews.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{}}}],["super(props.id",{"_index":6657,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/UserLoginMigrationDO.html":{}}}],["super(resp",{"_index":9490,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{}}}],["super(total",{"_index":880,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["super(type",{"_index":1403,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["super.build",{"_index":2240,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["super.findbyid(id",{"_index":7694,"title":{},"body":{"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/LessonRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/UserRepo.html":{}}}],["superhero",{"_index":330,"title":{},"body":{"controllers/AccountController.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["superhero.'})@apiresponse({status",{"_index":344,"title":{},"body":{"controllers/AccountController.html":{}}}],["supertest",{"_index":1607,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["supertest(this.app.gethttpserver",{"_index":1642,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["supertest(this.app.gethttpserver()).delete(path).set('accept",{"_index":22182,"title":{},"body":{"classes/TestXApiKeyClient.html":{}}}],["supertest(this.app.gethttpserver()).get(path).set('accept",{"_index":22181,"title":{},"body":{"classes/TestXApiKeyClient.html":{}}}],["supertest(this.app.gethttpserver()).get(path).set('authorization",{"_index":1640,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["supertest.test",{"_index":1637,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["supplement",{"_index":24961,"title":{},"body":{"license.html":{}}}],["support",{"_index":2542,"title":{},"body":{"classes/BaseDomainObject.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"interfaces/ICurrentUser.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/TemporaryFileStorage.html":{},"dependencies.html":{},"license.html":{},"todo.html":{}}}],["support_${objectid",{"_index":14273,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["supported",{"_index":1622,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/HydraSsoService.html":{},"injectables/LessonRule.html":{},"classes/OauthClientBody.html":{},"injectables/ShareTokenUC.html":{},"injectables/SubmissionRule.html":{},"classes/TestApiClient.html":{}}}],["supporting",{"_index":25272,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["supports",{"_index":2596,"title":{},"body":{"classes/BaseFactory.html":{},"license.html":{}}}],["supportuserid",{"_index":14271,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["sure",{"_index":1223,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolService.html":{},"classes/GlobalValidationPipe.html":{},"injectables/PermissionService.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["surrender",{"_index":25111,"title":{},"body":{"license.html":{}}}],["survive",{"_index":24993,"title":{},"body":{"license.html":{}}}],["sustained",{"_index":25169,"title":{},"body":{"license.html":{}}}],["svs",{"_index":22630,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["svs'})@apiokresponse({description",{"_index":22621,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["swagger",{"_index":24491,"title":{},"body":{"dependencies.html":{},"additional-documentation/nestjs-application.html":{}}}],["switch",{"_index":2037,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/ContentElementFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"classes/ImportUserScope.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonCopyUC.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TldrawWsService.html":{},"classes/UserMatchMapper.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["switching",{"_index":26071,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["symbol('bbbsettings",{"_index":13553,"title":{},"body":{"interfaces/IBbbSettings.html":{}}}],["symbol('defaultencryptionservice",{"_index":9800,"title":{},"body":{"interfaces/EncryptionService.html":{}}}],["symbol('keycloakconfigurationinputfiles",{"_index":13590,"title":{},"body":{"interfaces/IKeycloakConfigurationInputFiles.html":{}}}],["symbol('keycloaksettings",{"_index":13595,"title":{},"body":{"interfaces/IKeycloakSettings.html":{}}}],["symbol('ldapencryptionservice",{"_index":9801,"title":{},"body":{"interfaces/EncryptionService.html":{}}}],["symbol('toolfeatures",{"_index":13625,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["symbol('videoconferencesettings",{"_index":13637,"title":{},"body":{"interfaces/IVideoConferenceSettings.html":{}}}],["symetrickeyencryptionservice",{"_index":9785,"title":{"injectables/SymetricKeyEncryptionService.html":{}},"body":{"modules/EncryptionModule.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["symetrickeyencryptionservice(logger",{"_index":9790,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["sync",{"_index":8721,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"modules/ImportUserModule.html":{},"injectables/NextcloudStrategy.html":{},"interfaces/Options.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["sync_mode",{"_index":17532,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["syncboardelementreferences(boardelementtargets",{"_index":2979,"title":{},"body":{"entities/Board.html":{}}}],["syncindexes",{"_index":5317,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"interfaces/Options.html":{}}}],["syncmode",{"_index":14599,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["syntax",{"_index":14535,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/NewsUc.html":{}}}],["sysmes",{"_index":1074,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["system",{"_index":3394,"title":{"classes/System.html":{}},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/CollectionFilePath.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"classes/GroupUcMapper.html":{},"interfaces/ICurrentUser.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/ManagementModule.html":{},"injectables/OAuthService.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"controllers/OauthSSOController.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/System.html":{},"controllers/SystemController.html":{},"classes/SystemDto.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemFilterParams.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/UserBoardRoles.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["system(props",{"_index":21180,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["system.'})@apiresponse({status",{"_index":21036,"title":{},"body":{"controllers/SystemController.html":{}}}],["system.'})@httpcode(httpstatus.no_content",{"_index":21025,"title":{},"body":{"controllers/SystemController.html":{}}}],["system.'})@isoptional()@isenum(systemtypeenum",{"_index":21133,"title":{},"body":{"classes/SystemFilterParams.html":{}}}],["system.adapter",{"_index":12056,"title":{},"body":{"modules/FileSystemModule.html":{}}}],["system.adapter.ts",{"_index":11990,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:12",{"_index":12000,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:18",{"_index":12030,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:26",{"_index":12002,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:36",{"_index":12015,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:48",{"_index":12027,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:57",{"_index":12018,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:68",{"_index":12005,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:78",{"_index":12023,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:84",{"_index":12013,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.alias",{"_index":15331,"title":{},"body":{"injectables/LegacySystemService.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"classes/SystemResponseMapper.html":{},"injectables/UserLoginMigrationService.html":{}}}],["system.displayname",{"_index":15333,"title":{},"body":{"injectables/LegacySystemService.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"classes/SystemResponseMapper.html":{}}}],["system.dto",{"_index":17102,"title":{},"body":{"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{}}}],["system.dto.ts",{"_index":18114,"title":{},"body":{"classes/ProvisioningSystemDto.html":{}}}],["system.dto.ts:5",{"_index":18117,"title":{},"body":{"classes/ProvisioningSystemDto.html":{}}}],["system.dto.ts:7",{"_index":18116,"title":{},"body":{"classes/ProvisioningSystemDto.html":{}}}],["system.dto.ts:9",{"_index":18115,"title":{},"body":{"classes/ProvisioningSystemDto.html":{}}}],["system.entity",{"_index":10008,"title":{},"body":{"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["system.id",{"_index":15010,"title":{},"body":{"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemService.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"classes/SystemResponseMapper.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["system.ldapactive",{"_index":21090,"title":{},"body":{"classes/SystemDto.html":{},"injectables/SystemUc.html":{}}}],["system.ldapconfig",{"_index":5368,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/SystemRule.html":{}}}],["system.ldapconfig.provider",{"_index":21208,"title":{},"body":{"injectables/SystemRule.html":{}}}],["system.ldapconfig.searchuserpassword",{"_index":5369,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["system.module",{"_index":21018,"title":{},"body":{"modules/SystemApiModule.html":{}}}],["system.module.ts",{"_index":12055,"title":{},"body":{"modules/FileSystemModule.html":{}}}],["system.oauthconfig",{"_index":5362,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/LegacySystemService.html":{},"injectables/OAuthService.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"classes/SystemResponseMapper.html":{}}}],["system.oauthconfig.clientsecret",{"_index":5363,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["system.oidcconfig",{"_index":5365,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/LegacySystemService.html":{}}}],["system.oidcconfig.clientsecret",{"_index":5366,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["system.oidcconfig.idphint",{"_index":15352,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["system.provisioningstrategy",{"_index":15336,"title":{},"body":{"injectables/LegacySystemService.html":{},"classes/SystemDto.html":{}}}],["system.provisioningurl",{"_index":15338,"title":{},"body":{"injectables/LegacySystemService.html":{},"classes/SystemDto.html":{}}}],["system.repo.ts",{"_index":15279,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["system.repo.ts:13",{"_index":15286,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["system.repo.ts:17",{"_index":15285,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["system.repo.ts:36",{"_index":15282,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["system.service.ts",{"_index":15302,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["system.service.ts:15",{"_index":15306,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["system.service.ts:21",{"_index":15307,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["system.service.ts:30",{"_index":15309,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["system.service.ts:45",{"_index":15313,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["system.service.ts:71",{"_index":15311,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["system.type",{"_index":15329,"title":{},"body":{"injectables/LegacySystemService.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"classes/SystemResponseMapper.html":{}}}],["system.url",{"_index":15340,"title":{},"body":{"injectables/LegacySystemService.html":{},"classes/SystemDto.html":{}}}],["system/file",{"_index":11989,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{}}}],["system?.displayname",{"_index":12933,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["systemapimodule",{"_index":20175,"title":{"modules/SystemApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SystemApiModule.html":{}}}],["systemcontroller",{"_index":21015,"title":{"controllers/SystemController.html":{}},"body":{"modules/SystemApiModule.html":{},"controllers/SystemController.html":{}}}],["systemdomainmapper",{"_index":21058,"title":{"classes/SystemDomainMapper.html":{}},"body":{"classes/SystemDomainMapper.html":{},"injectables/SystemRepo.html":{}}}],["systemdomainmapper.mapentitytodomainobjectproperties(entity",{"_index":21179,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["systemdto",{"_index":12925,"title":{"classes/SystemDto.html":{}},"body":{"classes/GroupUcMapper.html":{},"injectables/LegacySystemService.html":{},"injectables/OAuthService.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemInputMapper.html":{},"controllers/SystemController.html":{},"classes/SystemDto.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["systemdto.alias",{"_index":15332,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["systemdto.displayname",{"_index":15334,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["systemdto.id",{"_index":15327,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["systemdto.oauthconfig",{"_index":15335,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["systemdto.provisioningstrategy",{"_index":15337,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["systemdto.provisioningurl",{"_index":15339,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["systemdto.type",{"_index":15330,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["systemdto.url",{"_index":15341,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["systemdtos",{"_index":21045,"title":{},"body":{"controllers/SystemController.html":{}}}],["systementity",{"_index":5178,"title":{"entities/SystemEntity.html":{}},"body":{"interfaces/CollectionFilePath.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"classes/GroupDomainMapper.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/LdapConfigEntity.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemScope.html":{},"injectables/SystemUc.html":{},"injectables/UserDORepo.html":{},"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["systementityfactory",{"_index":13911,"title":{"classes/SystemEntityFactory.html":{}},"body":{"classes/ImportUserFactory.html":{},"classes/SystemEntityFactory.html":{}}}],["systementityfactory.build",{"_index":13913,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["systementityfactory.define(systementity",{"_index":21125,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["systementityprops",{"_index":14900,"title":{"interfaces/SystemEntityProps.html":{}},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{}}}],["systemfilterparams",{"_index":21028,"title":{"classes/SystemFilterParams.html":{}},"body":{"controllers/SystemController.html":{},"classes/SystemFilterParams.html":{}}}],["systemid",{"_index":48,"title":{},"body":{"classes/AbstractAccountService.html":{},"entities/Account.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"injectables/AuthenticationService.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceResponse.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"injectables/GroupService.html":{},"interfaces/ICurrentUser.html":{},"interfaces/JsonAccount.html":{},"interfaces/JwtPayload.html":{},"classes/LdapAuthorizationBodyParams.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/OauthConfigMissingLoggableException.html":{},"injectables/OidcProvisioningService.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/SystemIdParams.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemUc.html":{},"classes/UnauthorizedLoggableException.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["systemidparams",{"_index":21023,"title":{"classes/SystemIdParams.html":{}},"body":{"controllers/SystemController.html":{},"classes/SystemIdParams.html":{}}}],["systemids",{"_index":23661,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["systemids[0",{"_index":23664,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["systemlistresponse",{"_index":21192,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["systemmapper",{"_index":15314,"title":{"classes/SystemMapper.html":{}},"body":{"injectables/LegacySystemService.html":{},"classes/SystemMapper.html":{}}}],["systemmapper.mapfromentitiestodtos(systems",{"_index":15326,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["systemmapper.mapfromentitytodto(system",{"_index":15318,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["systemmapper.mapfromoauthconfigentitytodto(entity.oauthconfig",{"_index":21144,"title":{},"body":{"classes/SystemMapper.html":{}}}],["systemmodule",{"_index":1525,"title":{"modules/SystemModule.html":{}},"body":{"modules/AuthenticationModule.html":{},"modules/GroupApiModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/OauthModule.html":{},"modules/ProvisioningModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/UserLoginMigrationModule.html":{}}}],["systemoidcmapper",{"_index":21152,"title":{"classes/SystemOidcMapper.html":{}},"body":{"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{}}}],["systemoidcmapper.mapfromentitiestodtos(system",{"_index":21173,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["systemoidcmapper.mapfromentitytodto(system",{"_index":21172,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["systemoidcmapper.mapfromoidcconfigentitytodto(entity.id",{"_index":21162,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["systemoidcservice",{"_index":14458,"title":{"injectables/SystemOidcService.html":{}},"body":{"injectables/KeycloakConfigurationService.html":{},"modules/SystemModule.html":{},"injectables/SystemOidcService.html":{}}}],["systemprops",{"_index":21008,"title":{"interfaces/SystemProps.html":{}},"body":{"classes/System.html":{},"classes/SystemDomainMapper.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{}}}],["systemprovisioningstrategy",{"_index":14218,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/System.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/SystemProps.html":{}}}],["systemprovisioningstrategy.iserv",{"_index":14226,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["systemprovisioningstrategy.oidc",{"_index":17543,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{},"classes/SystemEntityFactory.html":{}}}],["systemprovisioningstrategy.sanis",{"_index":19505,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["systemprovisioningstrategy.undefined",{"_index":18124,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["systemrepo",{"_index":15031,"title":{"injectables/SystemRepo.html":{}},"body":{"injectables/LdapStrategy.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/SystemModule.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{}}}],["systemresponse",{"_index":21194,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["systemresponsemapper",{"_index":21039,"title":{"classes/SystemResponseMapper.html":{}},"body":{"controllers/SystemController.html":{},"classes/SystemResponseMapper.html":{}}}],["systemresponsemapper.mapfromdtotolistresponse(systemdtos",{"_index":21048,"title":{},"body":{"controllers/SystemController.html":{}}}],["systemresponsemapper.mapfromdtotoresponse(systemdto",{"_index":21052,"title":{},"body":{"controllers/SystemController.html":{}}}],["systemresponsemapper.mapfromoauthconfigdtotoresponse(system.oauthconfig",{"_index":21195,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["systemresponses",{"_index":18288,"title":{},"body":{"classes/PublicSystemListResponse.html":{},"classes/SystemResponseMapper.html":{}}}],["systemrule",{"_index":1864,"title":{"injectables/SystemRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/RuleManager.html":{},"injectables/SystemRule.html":{}}}],["systems",{"_index":5183,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/FileSystemAdapter.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/LdapConfigEntity.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/NextcloudStrategy.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcProvisioningService.html":{},"classes/PublicSystemResponse.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"controllers/SystemController.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemUc.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["systems.'})@apiresponse({status",{"_index":21031,"title":{},"body":{"controllers/SystemController.html":{}}}],["systems.filter((system",{"_index":15344,"title":{},"body":{"injectables/LegacySystemService.html":{},"injectables/SystemUc.html":{}}}],["systems.foreach((system",{"_index":5361,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["systems.getitems().find((system",{"_index":23288,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["systems.map",{"_index":21190,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["systems.map((system",{"_index":15348,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["systemscollectionname",{"_index":5182,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["systemscope",{"_index":15287,"title":{"classes/SystemScope.html":{}},"body":{"injectables/LegacySystemRepo.html":{},"classes/SystemScope.html":{}}}],["systemservice",{"_index":15291,"title":{"injectables/SystemService.html":{}},"body":{"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/OAuthService.html":{},"injectables/ProvisioningService.html":{},"modules/SystemModule.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["systemstrategy",{"_index":18086,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["systemtype",{"_index":21222,"title":{},"body":{"injectables/SystemUc.html":{}}}],["systemtypeenum",{"_index":15284,"title":{},"body":{"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"classes/SystemFilterParams.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["systemtypeenum.ldap",{"_index":15292,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["systemtypeenum.oauth",{"_index":15294,"title":{},"body":{"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{}}}],["systemtypeenum.oidc",{"_index":15296,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["systemuc",{"_index":21013,"title":{"injectables/SystemUc.html":{}},"body":{"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"injectables/SystemUc.html":{}}}],["t",{"_index":532,"title":{},"body":{"classes/AccountFactory.html":{},"injectables/AccountRepo.html":{},"interfaces/AdminIdAndToken.html":{},"interfaces/AuthorizableObject.html":{},"injectables/AuthorizationHelper.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBResponse.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BoardComposite.html":{},"classes/BoardDoAuthorizable.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardRepo.html":{},"classes/Builder.html":{},"classes/Card.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ConverterUtil.html":{},"injectables/CopyFilesService.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/FederalStateRepo.html":{},"classes/FileElement.html":{},"classes/FileRecordFactory.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/FilesStorageProducer.html":{},"classes/GlobalErrorFilter.html":{},"classes/Group.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"injectables/H5PContentRepo.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/IError.html":{},"classes/ImportUserFactory.html":{},"injectables/ImportUserRepo.html":{},"classes/KeycloakConsole.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySystemRepo.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElement.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"injectables/NewsRepo.html":{},"interfaces/NextcloudGroups.html":{},"classes/Oauth2ToolConfigFactory.html":{},"interfaces/OcsResponse.html":{},"classes/Page.html":{},"classes/PaginationResponse.html":{},"injectables/PreviewProducer.html":{},"classes/Pseudonym.html":{},"classes/RichTextElement.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"classes/RocketChatUserFactory.html":{},"injectables/RoleRepo.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolYearRepo.html":{},"classes/SortHelper.html":{},"classes/SortingParams.html":{},"injectables/StorageProviderRepo.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionRepo.html":{},"interfaces/SuccessfulRes.html":{},"classes/System.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"injectables/TaskRepo.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["t.name",{"_index":21489,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["tab",{"_index":5309,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"controllers/TeamNewsController.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReferenceResponse.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["table",{"_index":16716,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["tablename",{"_index":229,"title":{},"body":{"entities/Account.html":{},"entities/Board.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/ExternalToolEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/H5pEditorTempFile.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfigEntity.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LibraryName.html":{},"entities/LtiTool.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"interfaces/TemporaryFileProperties.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["tag",{"_index":107,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"classes/GetMetaTagDataBody.html":{},"injectables/LessonUrlHandler.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/TaskUrlHandler.html":{},"interfaces/UrlHandler.html":{}}}],["tags",{"_index":16099,"title":{},"body":{"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"controllers/MetaTagExtractorController.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["tags'})@apiresponse({status",{"_index":16151,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["take",{"_index":13783,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["takes",{"_index":21656,"title":{},"body":{"injectables/TaskRepo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["tangible",{"_index":24915,"title":{},"body":{"license.html":{}}}],["tap",{"_index":9700,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{}}}],["target",{"_index":2992,"title":{},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"entities/BoardElement.html":{},"injectables/BoardRepo.html":{},"injectables/ColumnBoardTargetService.html":{},"entities/ColumnboardBoardElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"entities/CourseNews.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/DeletionQueueConsole.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DownloadFileParams.html":{},"classes/ErrorLoggable.html":{},"interfaces/FileDO.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilterNewsParams.html":{},"classes/GlobalValidationPipe.html":{},"interfaces/INewsScope.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"entities/LessonBoardElement.html":{},"classes/MoveColumnBodyParams.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"entities/SchoolNews.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SingleFileParams.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationResponse.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"injectables/VideoConferenceRepo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["target._id.tostring",{"_index":11190,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["target.constructor",{"_index":9851,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["target.entity",{"_index":2948,"title":{},"body":{"entities/Board.html":{},"entities/BoardElement.html":{},"entities/ColumnboardBoardElement.html":{}}}],["target.entity.ts",{"_index":5557,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["target.entity.ts:21",{"_index":5561,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["target.entity.ts:32",{"_index":5560,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["target.entity.ts:35",{"_index":5559,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["target.id",{"_index":21234,"title":{},"body":{"classes/TargetInfoMapper.html":{}}}],["target.name",{"_index":21235,"title":{},"body":{"classes/TargetInfoMapper.html":{}}}],["target.service",{"_index":19189,"title":{},"body":{"injectables/RoomsService.html":{}}}],["target.service.ts",{"_index":5571,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["target.service.ts:12",{"_index":5579,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["target.service.ts:34",{"_index":5576,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["target.service.ts:9",{"_index":5574,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["target.targetids",{"_index":16596,"title":{},"body":{"classes/NewsScope.html":{}}}],["target.targetids.length",{"_index":16669,"title":{},"body":{"injectables/NewsUc.html":{}}}],["target.targetmodel",{"_index":16594,"title":{},"body":{"classes/NewsScope.html":{}}}],["target.title",{"_index":5588,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["target:in",{"_index":16595,"title":{},"body":{"classes/NewsScope.html":{}}}],["target_model_values",{"_index":16465,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{}}}],["targetboard",{"_index":4138,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/ColumnService.html":{}}}],["targetboardid",{"_index":4119,"title":{},"body":{"injectables/BoardUc.html":{}}}],["targetcard",{"_index":4536,"title":{},"body":{"injectables/CardUc.html":{},"injectables/ContentElementService.html":{}}}],["targetcardid",{"_index":4519,"title":{},"body":{"injectables/CardUc.html":{}}}],["targetcolumn",{"_index":4466,"title":{},"body":{"injectables/CardService.html":{},"injectables/ColumnUc.html":{}}}],["targetcolumnid",{"_index":5670,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["targetelement",{"_index":8470,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["targetelement.addreferences(element.getreferences",{"_index":8471,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["targetexternalid",{"_index":19946,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["targetfolder",{"_index":5207,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["targetgroupproperties",{"_index":16109,"title":{"interfaces/TargetGroupProperties.html":{}},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["targetgroups",{"_index":16100,"title":{},"body":{"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["targetid",{"_index":7957,"title":{},"body":{"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"classes/FilterNewsParams.html":{},"interfaces/INewsScope.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{}}}],["targetids",{"_index":11188,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{}}}],["targetinfomapper",{"_index":16491,"title":{"classes/TargetInfoMapper.html":{}},"body":{"classes/NewsMapper.html":{},"classes/TargetInfoMapper.html":{}}}],["targetinfomapper.maptoresponse(news.target",{"_index":16493,"title":{},"body":{"classes/NewsMapper.html":{}}}],["targetinforesponse",{"_index":16462,"title":{"classes/TargetInfoResponse.html":{}},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{}}}],["targetmodel",{"_index":7768,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"classes/FilterNewsParams.html":{},"interfaces/INewsScope.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"injectables/VideoConferenceRepo.html":{}}}],["targetmodels",{"_index":16627,"title":{},"body":{"injectables/NewsUc.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceOptions.html":{},"injectables/VideoConferenceRepo.html":{}}}],["targetmodels.courses",{"_index":24311,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["targetmodels.events",{"_index":24309,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["targetmodels.map(async",{"_index":16665,"title":{},"body":{"injectables/NewsUc.html":{}}}],["targetmodelsmapping",{"_index":24307,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["targetmodelsmapping[entitydo.targetmodel",{"_index":24322,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["targetmodelsmapping[videoconferencescope",{"_index":24315,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["targetparent",{"_index":3701,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["targetparent.addchild(child",{"_index":3714,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["targetparent.haschild(child",{"_index":3708,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["targetparent.removechild(child",{"_index":3709,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["targetparentid",{"_index":18411,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{},"interfaces/SchoolSpecificFileCopyService.html":{}}}],["targetparentinfo",{"_index":11767,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["targetpath",{"_index":7189,"title":{},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{}}}],["targetpermissions",{"_index":11179,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["targetposition",{"_index":3702,"title":{},"body":{"injectables/BoardDoService.html":{},"injectables/BoardUc.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/ContentElementService.html":{}}}],["targetref",{"_index":9210,"title":{},"body":{"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef-1.html":{}}}],["targetrefdoamin",{"_index":9213,"title":{},"body":{"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef-1.html":{}}}],["targetrefdomain",{"_index":2881,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{}}}],["targetrefid",{"_index":9208,"title":{},"body":{"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{}}}],["targets",{"_index":11184,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{}}}],["targets.filter((target",{"_index":16668,"title":{},"body":{"injectables/NewsUc.html":{}}}],["targets.map((target",{"_index":11189,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"classes/NewsScope.html":{}}}],["targetschoolid",{"_index":5434,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"interfaces/SchoolSpecificFileCopyService.html":{}}}],["targetschoolnumber",{"_index":20012,"title":{},"body":{"classes/SchoolNumberMismatchLoggableException.html":{}}}],["targetsystem",{"_index":23516,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["targetsystemid",{"_index":14181,"title":{},"body":{"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{}}}],["task",{"_index":2940,"title":{"entities/Task.html":{}},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyMapper.html":{},"classes/DtoCreator.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FilesStorageClientMapper.html":{},"classes/LessonCopyApiParams.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"modules/MetaTagExtractorModule.html":{},"interfaces/ParentInfo.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"classes/ShareTokenDO.html":{},"injectables/ShareTokenUC.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["task's",{"_index":25632,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["task.availabledate",{"_index":21540,"title":{},"body":{"classes/TaskMapper.html":{}}}],["task.course",{"_index":19136,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{},"injectables/SubmissionRepo.html":{}}}],["task.createdat",{"_index":21535,"title":{},"body":{"classes/TaskMapper.html":{}}}],["task.createstudentstatusforuser(this.user",{"_index":9662,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["task.createstudentstatusforuser(user",{"_index":21800,"title":{},"body":{"injectables/TaskUC.html":{}}}],["task.createteacherstatusforuser(this.user",{"_index":9661,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["task.createteacherstatusforuser(user",{"_index":21799,"title":{},"body":{"injectables/TaskUC.html":{}}}],["task.creator",{"_index":19131,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["task.description",{"_index":21440,"title":{},"body":{"injectables/TaskCopyService.html":{},"classes/TaskMapper.html":{}}}],["task.description.replace(regex",{"_index":21441,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["task.descriptioninputformat",{"_index":21538,"title":{},"body":{"classes/TaskMapper.html":{}}}],["task.duedate",{"_index":21542,"title":{},"body":{"classes/TaskMapper.html":{}}}],["task.entity",{"_index":2941,"title":{},"body":{"entities/Board.html":{},"entities/BoardElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/TaskBoardElement.html":{},"classes/UsersList.html":{}}}],["task.factory",{"_index":20762,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["task.finishforuser(user",{"_index":21804,"title":{},"body":{"injectables/TaskUC.html":{}}}],["task.getparentdata",{"_index":21529,"title":{},"body":{"classes/TaskMapper.html":{}}}],["task.id",{"_index":21532,"title":{},"body":{"classes/TaskMapper.html":{}}}],["task.isdraft",{"_index":6215,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["task.isplanned",{"_index":6217,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["task.ispublished",{"_index":6212,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/RoomsAuthorisationService.html":{}}}],["task.lesson",{"_index":19133,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["task.lesson.course",{"_index":20903,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["task.lesson.coursegroup.course",{"_index":20904,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["task.module",{"_index":21358,"title":{},"body":{"modules/TaskApiModule.html":{}}}],["task.name",{"_index":5794,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/TaskMapper.html":{},"injectables/TaskUrlHandler.html":{}}}],["task.name}${task.description",{"_index":5795,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["task.response",{"_index":3738,"title":{},"body":{"classes/BoardElementResponse.html":{}}}],["task.response.ts",{"_index":4061,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:15",{"_index":4071,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:19",{"_index":4072,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:22",{"_index":4065,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:25",{"_index":4070,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:29",{"_index":4066,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:33",{"_index":4068,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:36",{"_index":4069,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:39",{"_index":4067,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:42",{"_index":4075,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:45",{"_index":4074,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:5",{"_index":4064,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.restoreforuser(user",{"_index":21805,"title":{},"body":{"injectables/TaskUC.html":{}}}],["task.rule",{"_index":20924,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["task.submissions.getitems",{"_index":21747,"title":{},"body":{"injectables/TaskService.html":{}}}],["task.unpublish",{"_index":21809,"title":{},"body":{"injectables/TaskUC.html":{}}}],["task.updatedat",{"_index":21536,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskapimodule",{"_index":20177,"title":{"modules/TaskApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TaskApiModule.html":{}}}],["taskboardelement",{"_index":2950,"title":{"entities/TaskBoardElement.html":{}},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardRepo.html":{},"entities/TaskBoardElement.html":{}}}],["taskcontroller",{"_index":21356,"title":{"controllers/TaskController.html":{}},"body":{"modules/TaskApiModule.html":{},"controllers/TaskController.html":{}}}],["taskcopy",{"_index":21424,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["taskcopy.name",{"_index":21445,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["taskcopyapiparams",{"_index":7317,"title":{"classes/TaskCopyApiParams.html":{}},"body":{"classes/CopyMapper.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{}}}],["taskcopyparams",{"_index":21419,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["taskcopyparentparams",{"_index":7319,"title":{},"body":{"classes/CopyMapper.html":{},"injectables/TaskCopyUC.html":{}}}],["taskcopyservice",{"_index":3264,"title":{"injectables/TaskCopyService.html":{}},"body":{"injectables/BoardCopyService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"modules/TaskModule.html":{}}}],["taskcopyuc",{"_index":21353,"title":{"injectables/TaskCopyUC.html":{}},"body":{"modules/TaskApiModule.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyUC.html":{}}}],["taskcourse",{"_index":19082,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["taskcourse.name",{"_index":19085,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["taskcreate",{"_index":13617,"title":{"interfaces/TaskCreate.html":{}},"body":{"interfaces/ITask.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskMapper.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{}}}],["taskcreateparams",{"_index":21492,"title":{"classes/TaskCreateParams.html":{}},"body":{"classes/TaskCreateParams.html":{},"classes/TaskMapper.html":{}}}],["taskdesc",{"_index":21528,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskdesc.color",{"_index":21544,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskdesc.courseid",{"_index":21534,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskdesc.coursename",{"_index":21533,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskdesc.lessonhidden",{"_index":21548,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskdesc.lessonname",{"_index":21545,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskelement",{"_index":3361,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["taskelements",{"_index":3976,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["taskfactory",{"_index":20761,"title":{"classes/TaskFactory.html":{}},"body":{"classes/SubmissionFactory.html":{},"classes/TaskFactory.html":{}}}],["taskfactory.build",{"_index":20766,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["taskfactory.define(task",{"_index":21508,"title":{},"body":{"classes/TaskFactory.html":{}}}],["taskid",{"_index":20943,"title":{},"body":{"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"classes/TaskUrlParams.html":{}}}],["taskidentifier",{"_index":5791,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["taskidentifier}/${taskidentifier}.html",{"_index":5793,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["taskids",{"_index":20891,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["tasklistresponse",{"_index":21389,"title":{"classes/TaskListResponse.html":{}},"body":{"controllers/TaskController.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{}}}],["tasklistresponse(taskresponses",{"_index":21401,"title":{},"body":{"controllers/TaskController.html":{}}}],["taskmapper",{"_index":21386,"title":{"classes/TaskMapper.html":{}},"body":{"controllers/TaskController.html":{},"classes/TaskMapper.html":{}}}],["taskmapper.maptoresponse(task",{"_index":21400,"title":{},"body":{"controllers/TaskController.html":{}}}],["taskmodule",{"_index":15094,"title":{"modules/TaskModule.html":{}},"body":{"modules/LearnroomModule.html":{},"modules/LessonModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{}}}],["taskparent",{"_index":6167,"title":{"interfaces/TaskParent.html":{}},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["taskparentdescriptions",{"_index":21261,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["taskparentpermission",{"_index":19126,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["taskproperties",{"_index":13618,"title":{"interfaces/TaskProperties.html":{}},"body":{"interfaces/ITask.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{}}}],["taskrepo",{"_index":1914,"title":{"injectables/TaskRepo.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"modules/TaskApiModule.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"modules/TaskModule.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{}}}],["taskresponse",{"_index":21390,"title":{"classes/TaskResponse.html":{}},"body":{"controllers/TaskController.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"classes/TaskResponse.html":{}}}],["taskresponses",{"_index":21398,"title":{},"body":{"controllers/TaskController.html":{}}}],["taskrule",{"_index":1876,"title":{"injectables/TaskRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/RuleManager.html":{},"injectables/SubmissionRule.html":{},"injectables/TaskRule.html":{}}}],["tasks",{"_index":5756,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"interfaces/ParentInfo.html":{},"injectables/RoomsAuthorisationService.html":{},"classes/ShareTokenDO.html":{},"classes/SingleColumnBoardResponse.html":{},"controllers/TaskController.html":{},"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{}}}],["tasks.filter((task",{"_index":6211,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["tasks.foreach((task",{"_index":5758,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["tasks.map((task",{"_index":21798,"title":{},"body":{"injectables/TaskUC.html":{}}}],["taskscope",{"_index":21580,"title":{"classes/TaskScope.html":{}},"body":{"injectables/TaskRepo.html":{},"classes/TaskScope.html":{}}}],["taskscope('$or",{"_index":21590,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["taskservice",{"_index":5706,"title":{"injectables/TaskService.html":{}},"body":{"injectables/CommonCartridgeExportService.html":{},"injectables/RoomsService.html":{},"injectables/ShareTokenService.html":{},"modules/TaskModule.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{}}}],["taskstatus",{"_index":4081,"title":{"interfaces/TaskStatus.html":{}},"body":{"classes/BoardTaskStatusMapper.html":{},"classes/DtoCreator.html":{},"interfaces/ITask.html":{},"injectables/RoomBoardDTOFactory.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{}}}],["taskstatus.mapper",{"_index":19061,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["taskstatus.mapper.ts",{"_index":4079,"title":{},"body":{"classes/BoardTaskStatusMapper.html":{}}}],["taskstatus.mapper.ts:5",{"_index":4082,"title":{},"body":{"classes/BoardTaskStatusMapper.html":{}}}],["taskstatusmapper",{"_index":21526,"title":{"classes/TaskStatusMapper.html":{}},"body":{"classes/TaskMapper.html":{},"classes/TaskStatusMapper.html":{}}}],["taskstatusmapper.maptoresponse(status",{"_index":21531,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskstatusresponse",{"_index":21512,"title":{"classes/TaskStatusResponse.html":{}},"body":{"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{}}}],["taskstatusresponse(status",{"_index":21752,"title":{},"body":{"classes/TaskStatusMapper.html":{}}}],["tasksubmitterids",{"_index":21316,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["taskswithstatus",{"_index":21395,"title":{},"body":{"controllers/TaskController.html":{}}}],["taskswithstatus.map((task",{"_index":21399,"title":{},"body":{"controllers/TaskController.html":{}}}],["taskuc",{"_index":21354,"title":{"injectables/TaskUC.html":{}},"body":{"modules/TaskApiModule.html":{},"controllers/TaskController.html":{},"injectables/TaskUC.html":{}}}],["taskupdate",{"_index":13616,"title":{"interfaces/TaskUpdate.html":{}},"body":{"interfaces/ITask.html":{},"interfaces/TaskCreate.html":{},"classes/TaskMapper.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{}}}],["taskupdateparams",{"_index":21522,"title":{"classes/TaskUpdateParams.html":{}},"body":{"classes/TaskMapper.html":{},"classes/TaskUpdateParams.html":{}}}],["taskurlhandler",{"_index":16169,"title":{"injectables/TaskUrlHandler.html":{}},"body":{"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/TaskUrlHandler.html":{}}}],["taskurlparams",{"_index":20734,"title":{"classes/TaskUrlParams.html":{}},"body":{"controllers/SubmissionController.html":{},"controllers/TaskController.html":{},"classes/TaskUrlParams.html":{}}}],["taskwithstatus",{"_index":19071,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{},"classes/TaskMapper.html":{}}}],["taskwithstatusvo",{"_index":9628,"title":{"classes/TaskWithStatusVo.html":{}},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"entities/Task.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{}}}],["taskwithstatusvo(task",{"_index":9658,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/TaskUC.html":{}}}],["taskwithstatusvos",{"_index":21797,"title":{},"body":{"injectables/TaskUC.html":{}}}],["teacher",{"_index":3395,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/FilterImportUserParams.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"injectables/LessonRule.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/TaskRepo.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["teacher.firstname",{"_index":5786,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["teacher.lastname",{"_index":5787,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["teacher_student_visibility__is_configurable",{"_index":313,"title":{},"body":{"interfaces/AccountConfig.html":{},"interfaces/ServerConfig.html":{}}}],["teacheraccount",{"_index":720,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["teacherentities",{"_index":11305,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["teacherid",{"_index":21240,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["teacherid.tohexstring",{"_index":4743,"title":{},"body":{"classes/ClassMapper.html":{}}}],["teacherids",{"_index":4558,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassesRepo.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["teachernames",{"_index":4685,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/GroupUcMapper.html":{}}}],["teacherpermissions",{"_index":23368,"title":{},"body":{"classes/UserFactory.html":{}}}],["teacherpseudonyms",{"_index":11315,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["teacherpseudonyms.concat(substitutionteacherpseudonyms",{"_index":11321,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["teachers",{"_index":4708,"title":{},"body":{"classes/ClassInfoResponse.html":{},"injectables/CommonCartridgeExportService.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/FeathersRosterService.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"classes/UsersList.html":{}}}],["teachers.map((user",{"_index":12945,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["teacherswithid",{"_index":7641,"title":{},"body":{"classes/CourseFactory.html":{}}}],["teacherswithid(numberofteachers",{"_index":7647,"title":{},"body":{"classes/CourseFactory.html":{}}}],["teacheruser",{"_index":721,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["teaching_assistant",{"_index":8038,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["teachingassistant",{"_index":8039,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["team",{"_index":4986,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/NextcloudStrategy.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"controllers/TeamNewsController.html":{},"classes/TeamUrlParams.html":{},"injectables/TeamsRepo.html":{},"properties.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["team.entity",{"_index":7763,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["team.id",{"_index":5021,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/IdTokenService.html":{},"injectables/NextcloudStrategy.html":{}}}],["team.name",{"_index":5023,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/IdTokenService.html":{},"injectables/NextcloudStrategy.html":{}}}],["team.teamusers",{"_index":16733,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["team.teamusers.length",{"_index":16743,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["team.teamusers.map(async",{"_index":22015,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["team.userids",{"_index":21966,"title":{},"body":{"injectables/TeamService.html":{}}}],["team.userids.filter((u",{"_index":21967,"title":{},"body":{"injectables/TeamService.html":{}}}],["teamadmin",{"_index":5117,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["teamdto",{"_index":4984,"title":{"classes/TeamDto.html":{}},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/NextcloudStrategy.html":{},"classes/TeamDto.html":{},"injectables/TeamMapper.html":{},"classes/TeamUserDto.html":{}}}],["teamentity",{"_index":7762,"title":{"entities/TeamEntity.html":{}},"body":{"entities/CourseNews.html":{},"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{},"injectables/IdTokenService.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["teamentity.id",{"_index":21901,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["teamentity.name",{"_index":21902,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["teamentity.teamusers.map",{"_index":21897,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["teamfactory",{"_index":21877,"title":{"classes/TeamFactory.html":{}},"body":{"classes/TeamFactory.html":{}}}],["teamfactory.define(teamentity",{"_index":21889,"title":{},"body":{"classes/TeamFactory.html":{}}}],["teamid",{"_index":4260,"title":{},"body":{"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/NextcloudStrategy.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"classes/TeamUrlParams.html":{}}}],["teammapper",{"_index":5089,"title":{"injectables/TeamMapper.html":{}},"body":{"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/TeamMapper.html":{}}}],["teammemberids",{"_index":20670,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["teammemberobjectids",{"_index":20668,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["teammemberobjectids.map((id",{"_index":20671,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["teammembers",{"_index":20632,"title":{},"body":{"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{}}}],["teammemberswithid",{"_index":20754,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["teammemberswithid(numberofteammembers",{"_index":20758,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["teamname",{"_index":5022,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/NextcloudStrategy.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["teamnews",{"_index":7798,"title":{"entities/TeamNews.html":{}},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["teamnews(props",{"_index":7790,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["teamnewscontroller",{"_index":16527,"title":{"controllers/TeamNewsController.html":{}},"body":{"modules/NewsModule.html":{},"controllers/TeamNewsController.html":{}}}],["teamowner",{"_index":5116,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["teampermissions",{"_index":5112,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["teampermissionsbody",{"_index":5060,"title":{"classes/TeamPermissionsBody.html":{}},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageUc.html":{},"classes/TeamPermissionsBody.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["teampermissionsdto",{"_index":4995,"title":{"classes/TeamPermissionsDto.html":{}},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["teampermissionsmapper",{"_index":5090,"title":{"injectables/TeamPermissionsMapper.html":{}},"body":{"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["teamproperties",{"_index":21868,"title":{"interfaces/TeamProperties.html":{}},"body":{"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["teamrole",{"_index":5057,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["teamrole.roleid",{"_index":5160,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["teamrole.teamid",{"_index":5159,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["teamroledto",{"_index":5058,"title":{"classes/TeamRoleDto.html":{}},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageUc.html":{},"classes/TeamRoleDto.html":{}}}],["teamrolepermissionsdto",{"_index":5019,"title":{"classes/TeamRolePermissionsDto.html":{}},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["teamrule",{"_index":1877,"title":{"injectables/TeamRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/RuleManager.html":{},"injectables/TeamRule.html":{}}}],["teams",{"_index":7956,"title":{},"body":{"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{},"injectables/IdTokenService.html":{},"injectables/NextcloudStrategy.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"controllers/TeamNewsController.html":{},"interfaces/TeamProperties.html":{},"injectables/TeamService.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["teams.foreach((team",{"_index":21965,"title":{},"body":{"injectables/TeamService.html":{}}}],["teams.length",{"_index":21970,"title":{},"body":{"injectables/TeamService.html":{}}}],["teams.map((team",{"_index":13687,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["teamsapimodule",{"_index":20179,"title":{"modules/TeamsApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TeamsApiModule.html":{}}}],["teamservice",{"_index":21955,"title":{"injectables/TeamService.html":{}},"body":{"injectables/TeamService.html":{},"modules/TeamsModule.html":{}}}],["teamsmapper",{"_index":5098,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["teamsmodule",{"_index":8924,"title":{"modules/TeamsModule.html":{}},"body":{"modules/DeletionApiModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{}}}],["teamsrepo",{"_index":1915,"title":{"injectables/TeamsRepo.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/IdTokenService.html":{},"modules/OauthProviderModule.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/TeamService.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"modules/VideoConferenceModule.html":{}}}],["teamstorageuc",{"_index":5079,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["teamsubmissions",{"_index":13620,"title":{},"body":{"interfaces/ITask.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{}}}],["teamurlparams",{"_index":21908,"title":{"classes/TeamUrlParams.html":{}},"body":{"controllers/TeamNewsController.html":{},"classes/TeamUrlParams.html":{}}}],["teamuser",{"_index":16709,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"injectables/TeamsRepo.html":{}}}],["teamuser.role.id",{"_index":21899,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["teamuser.school.id",{"_index":21900,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["teamuser.user.id",{"_index":21898,"title":{},"body":{"injectables/TeamMapper.html":{},"injectables/TeamRule.html":{}}}],["teamuserdto",{"_index":16713,"title":{"classes/TeamUserDto.html":{}},"body":{"injectables/NextcloudStrategy.html":{},"classes/TeamDto.html":{},"injectables/TeamMapper.html":{},"classes/TeamUserDto.html":{}}}],["teamuserentity",{"_index":21865,"title":{"classes/TeamUserEntity.html":{}},"body":{"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"interfaces/TeamProperties.html":{},"injectables/TeamRule.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{}}}],["teamuserentity(teamuser",{"_index":21876,"title":{},"body":{"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["teamuserfactory",{"_index":21885,"title":{"classes/TeamUserFactory.html":{}},"body":{"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{}}}],["teamuserfactory.buildwithid",{"_index":21890,"title":{},"body":{"classes/TeamFactory.html":{}}}],["teamuserfactory.define(teamuserentity",{"_index":21996,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["teamuserfactory.withroleanduserid(role",{"_index":21887,"title":{},"body":{"classes/TeamFactory.html":{}}}],["teamuserproperties",{"_index":21869,"title":{"interfaces/TeamUserProperties.html":{}},"body":{"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["teamusers",{"_index":16697,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["teamusers(value",{"_index":21874,"title":{},"body":{"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["teamusers.map(async",{"_index":16750,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["teardown",{"_index":25241,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["tech",{"_index":25385,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["technical",{"_index":9836,"title":{},"body":{"classes/ErrorLoggable.html":{},"injectables/LdapStrategy.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["technological",{"_index":24810,"title":{},"body":{"license.html":{}}}],["tell",{"_index":25377,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["tells",{"_index":6240,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"license.html":{}}}],["temp",{"_index":12006,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["temp/:file",{"_index":13149,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["tempfile",{"_index":22091,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["tempfile.entity",{"_index":22074,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["tempfile.entity.ts",{"_index":13366,"title":{},"body":{"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["tempfile.entity.ts:19",{"_index":13369,"title":{},"body":{"entities/H5pEditorTempFile.html":{}}}],["tempfile.entity.ts:22",{"_index":13368,"title":{},"body":{"entities/H5pEditorTempFile.html":{}}}],["tempfile.entity.ts:25",{"_index":13373,"title":{},"body":{"entities/H5pEditorTempFile.html":{}}}],["tempfile.entity.ts:28",{"_index":13367,"title":{},"body":{"entities/H5pEditorTempFile.html":{}}}],["tempfile.entity.ts:31",{"_index":13374,"title":{},"body":{"entities/H5pEditorTempFile.html":{}}}],["tempfile.size",{"_index":22095,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["tempflow.alias",{"_index":14523,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["template",{"_index":1167,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/BaseFactory.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ErrorLoggable.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoService.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"injectables/LegacySystemRepo.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{},"controllers/ToolConfigurationController.html":{}}}],["template')@apiunauthorizedresponse()@apiforbiddenresponse()@apioperation({summary",{"_index":22612,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["template.replace(/\\{id\\}/g",{"_index":10329,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["template.response",{"_index":6693,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{}}}],["template.response.ts",{"_index":6694,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["template.response.ts:10",{"_index":6705,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["template.response.ts:13",{"_index":6702,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["template.response.ts:16",{"_index":6701,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["template.response.ts:19",{"_index":6704,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["template.response.ts:22",{"_index":6699,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{}}}],["template.response.ts:7",{"_index":6700,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["temporary",{"_index":357,"title":{},"body":{"controllers/AccountController.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/SanisProvisioningStrategy.html":{},"interfaces/UserBoardRoles.html":{}}}],["temporaryfileproperties",{"_index":13359,"title":{"interfaces/TemporaryFileProperties.html":{}},"body":{"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["temporaryfilerepo",{"_index":13223,"title":{"injectables/TemporaryFileRepo.html":{}},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{}}}],["temporaryfilestorage",{"_index":13224,"title":{"injectables/TemporaryFileStorage.html":{}},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/TemporaryFileStorage.html":{}}}],["tempted",{"_index":26049,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["term",{"_index":24784,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["terminal",{"_index":25858,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["terminate",{"_index":24997,"title":{},"body":{"license.html":{}}}],["terminated",{"_index":25015,"title":{},"body":{"license.html":{}}}],["terminates",{"_index":25006,"title":{},"body":{"license.html":{}}}],["termination",{"_index":24994,"title":{},"body":{"license.html":{}}}],["terms",{"_index":24595,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["test",{"_index":981,"title":{},"body":{"injectables/AccountValidationService.html":{},"interfaces/CleanOptions.html":{},"injectables/FeathersAuthProvider.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"classes/MaterialFactory.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"controllers/ServerController.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"classes/TestBootstrapConsole.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["test.createtestingmodule",{"_index":22137,"title":{},"body":{"classes/TestBootstrapConsole.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["test.module.ts",{"_index":12326,"title":{},"body":{"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["test.module.ts:18",{"_index":22541,"title":{},"body":{"modules/TldrawWsTestModule.html":{}}}],["test.module.ts:29",{"_index":22367,"title":{},"body":{"modules/TldrawTestModule.html":{}}}],["test.module.ts:30",{"_index":12327,"title":{},"body":{"modules/FilesStorageTestModule.html":{}}}],["test.module.ts:37",{"_index":12431,"title":{},"body":{"modules/FwuLearningContentsTestModule.html":{}}}],["test.module.ts:53",{"_index":13242,"title":{},"body":{"modules/H5PEditorTestModule.html":{}}}],["test/test",{"_index":22126,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["testapiclient",{"_index":1617,"title":{"classes/TestApiClient.html":{}},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["testbootstrapconsole",{"_index":22124,"title":{"classes/TestBootstrapConsole.html":{}},"body":{"classes/TestBootstrapConsole.html":{}}}],["testcase",{"_index":25648,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["testconnection",{"_index":22145,"title":{"classes/TestConnection.html":{}},"body":{"classes/TestConnection.html":{}}}],["testdata",{"_index":25668,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["tested",{"_index":7845,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["testhelper",{"_index":22160,"title":{"classes/TestHelper.html":{}},"body":{"classes/TestHelper.html":{}}}],["testing",{"_index":13137,"title":{"additional-documentation/nestjs-application/testing.html":{}},"body":{"controllers/H5PEditorController.html":{},"modules/InterceptorModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["testing'})@apiresponse({status",{"_index":13109,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["testingmodule",{"_index":22133,"title":{},"body":{"classes/TestBootstrapConsole.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["testkcconnection",{"_index":14374,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["testmodule",{"_index":25787,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["testmodule.close",{"_index":25793,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["testmodule.get(entitymanager",{"_index":25790,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["testmodule.get(mikroorm",{"_index":25789,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["testmodule.get(newsrepo",{"_index":25788,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["testname",{"_index":22171,"title":{},"body":{"classes/TestHelper.html":{}}}],["testreqestconst",{"_index":1612,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["testreqestconst.accesstoken",{"_index":1676,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["testreqestconst.loginpath",{"_index":1652,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["testreqestconst.prefix",{"_index":1635,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["testrequestinstance",{"_index":1639,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["tests",{"_index":2562,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"interfaces/FileStorageConfig.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["testtag",{"_index":22170,"title":{},"body":{"classes/TestHelper.html":{}}}],["testtext",{"_index":22166,"title":{},"body":{"classes/TestHelper.html":{}}}],["testuser",{"_index":7932,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["testxapikeyclient",{"_index":22173,"title":{"classes/TestXApiKeyClient.html":{}},"body":{"classes/TestXApiKeyClient.html":{}}}],["text",{"_index":2894,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardManagementUc.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ConsoleWriterService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileMetadata.html":{},"injectables/FileSystemAdapter.html":{},"entities/InstalledLibrary.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LibraryName.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/Path.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/TestHelper.html":{},"classes/UpdateElementContentBodyParams.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["text(value",{"_index":18841,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["text.length",{"_index":22169,"title":{},"body":{"classes/TestHelper.html":{}}}],["text.types.ts",{"_index":18818,"title":{},"body":{"classes/RichText.html":{}}}],["text.types.ts:14",{"_index":18820,"title":{},"body":{"classes/RichText.html":{}}}],["text.types.ts:20",{"_index":18821,"title":{},"body":{"classes/RichText.html":{}}}],["text.types.ts:5",{"_index":18819,"title":{},"body":{"classes/RichText.html":{}}}],["text.validator.ts",{"_index":25552,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["text1",{"_index":5503,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["text2",{"_index":5523,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["text3",{"_index":5539,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["text4",{"_index":5551,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["textutils",{"_index":25538,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["textvalidator",{"_index":25553,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["tha",{"_index":3934,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["that's",{"_index":794,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["themself",{"_index":26078,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["themselves",{"_index":25739,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["then((pseudonymdo",{"_index":16754,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["then((resp",{"_index":2397,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["there's",{"_index":21661,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["therefore",{"_index":7673,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"controllers/UserLoginMigrationController.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["things",{"_index":24669,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["think",{"_index":21477,"title":{},"body":{"injectables/TaskCopyUC.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["third",{"_index":24832,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["this(entityclass",{"_index":2600,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this._allowemptyquery",{"_index":20094,"title":{},"body":{"classes/Scope.html":{}}}],["this._collectdefaultmetrics",{"_index":17989,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["this._collectmetricsroutemetrics",{"_index":17990,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["this._columnboardid",{"_index":5563,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["this._columnboardid.tohexstring",{"_index":5567,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["this._contextid",{"_index":5458,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["this._contextid.tohexstring",{"_index":5460,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["this._contextid?.tohexstring",{"_index":20254,"title":{},"body":{"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["this._contexttype",{"_index":5456,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["this._creatorid",{"_index":6634,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this._creatorid.tohexstring",{"_index":6626,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this._em.aggregate(fileentity",{"_index":12090,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["this._em.aggregate(lessonentity",{"_index":15460,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["this._em.aggregate(user",{"_index":23831,"title":{},"body":{"injectables/UserRepo.html":{}}}],["this._em.assign(fetchedentity",{"_index":2512,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this._em.clear",{"_index":791,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this._em.count(this.entityname",{"_index":13065,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["this._em.create(this.entityname",{"_index":2506,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{}}}],["this._em.find(account",{"_index":776,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this._em.find(coursegroup",{"_index":20901,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["this._em.find(fileentity",{"_index":12083,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["this._em.find(ltitool",{"_index":15977,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["this._em.find(role",{"_index":19022,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["this._em.find(storageproviderentity",{"_index":20621,"title":{},"body":{"injectables/StorageProviderRepo.html":{}}}],["this._em.find(systementity",{"_index":15299,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["this._em.find(teamentity",{"_index":22018,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["this._em.find(this.entityname",{"_index":787,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/H5PContentRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/TemporaryFileRepo.html":{}}}],["this._em.find(tldrawdrawing",{"_index":22351,"title":{},"body":{"injectables/TldrawRepo.html":{}}}],["this._em.find(user",{"_index":23286,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["this._em.findandcount",{"_index":800,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/ExternalToolRepo.html":{}}}],["this._em.findandcount(course",{"_index":7842,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["this._em.findandcount(coursegroup",{"_index":7696,"title":{},"body":{"injectables/CourseGroupRepo.html":{}}}],["this._em.findandcount(filerecord",{"_index":11886,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["this._em.findandcount(importuser",{"_index":14055,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["this._em.findandcount(lessonentity",{"_index":15457,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["this._em.findandcount(news",{"_index":16559,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this._em.findandcount(schoolentity",{"_index":15214,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["this._em.findandcount(task",{"_index":21665,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["this._em.findandcount(this.entityname",{"_index":15586,"title":{},"body":{"injectables/LibraryRepo.html":{},"injectables/SubmissionRepo.html":{}}}],["this._em.findandcount(user",{"_index":23274,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["this._em.findone(account",{"_index":772,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this._em.findone(board",{"_index":3969,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this._em.findone(importuser",{"_index":14036,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["this._em.findone(ltitool",{"_index":15980,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["this._em.findone(schoolentity",{"_index":15212,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["this._em.findone(this.entityname",{"_index":10607,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/UserDORepo.html":{}}}],["this._em.findone(userloginmigrationentity",{"_index":23577,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["this._em.findoneorfail(account",{"_index":777,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this._em.findoneorfail(board",{"_index":3973,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this._em.findoneorfail(course",{"_index":3971,"title":{},"body":{"injectables/BoardRepo.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["this._em.findoneorfail(federalstateentity",{"_index":11383,"title":{},"body":{"injectables/FederalStateRepo.html":{}}}],["this._em.findoneorfail(filerecord",{"_index":11887,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["this._em.findoneorfail(importuser",{"_index":14033,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["this._em.findoneorfail(ltitool",{"_index":15979,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["this._em.findoneorfail(news",{"_index":16555,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this._em.findoneorfail(role",{"_index":19020,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["this._em.findoneorfail(schoolyearentity",{"_index":20072,"title":{},"body":{"injectables/SchoolYearRepo.html":{}}}],["this._em.findoneorfail(sharetoken",{"_index":20388,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["this._em.findoneorfail(teamentity",{"_index":22014,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["this._em.findoneorfail(this.entityname",{"_index":2511,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/H5PContentRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserDORepo.html":{}}}],["this._em.findoneorfail(user",{"_index":23850,"title":{},"body":{"injectables/UserRepo.html":{}}}],["this._em.findoneorfail(videoconference",{"_index":24314,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["this._em.flush",{"_index":781,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BaseDORepo.html":{},"injectables/UserRepo.html":{}}}],["this._em.getreference(entityname",{"_index":779,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this._em.getreference(externaltoolentity",{"_index":19759,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["this._em.getreference(role",{"_index":23309,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["this._em.getreference(schoolentity",{"_index":19757,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["this._em.getreference(systementity",{"_index":15238,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["this._em.getreference(userloginmigrationentity",{"_index":15240,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["this._em.map(fileentity",{"_index":12092,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["this._em.map(lessonentity",{"_index":15462,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["this._em.map(user",{"_index":23844,"title":{},"body":{"injectables/UserRepo.html":{}}}],["this._em.nativedelete(importuser",{"_index":14060,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["this._em.nativedelete(this.entityname",{"_index":2537,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["this._em.nativedelete(user",{"_index":23849,"title":{},"body":{"injectables/UserRepo.html":{}}}],["this._em.persist(account",{"_index":780,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this._em.persistandflush(board",{"_index":3972,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this._em.persistandflush(entities",{"_index":2500,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{}}}],["this._em.persistandflush(entity",{"_index":22350,"title":{},"body":{"injectables/TldrawRepo.html":{}}}],["this._em.populate(columnboardelements",{"_index":3983,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this._em.populate(course",{"_index":7834,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["this._em.populate(coursegroup",{"_index":7695,"title":{},"body":{"injectables/CourseGroupRepo.html":{}}}],["this._em.populate(coursenews",{"_index":16565,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this._em.populate(importuser.user",{"_index":14034,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["this._em.populate(lesson",{"_index":15452,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["this._em.populate(lessonelements",{"_index":3981,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this._em.populate(lessons",{"_index":15458,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["this._em.populate(newsentities",{"_index":16560,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this._em.populate(newsentity",{"_index":16556,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this._em.populate(role",{"_index":22021,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["this._em.populate(schoolnews",{"_index":16563,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this._em.populate(submissions",{"_index":20902,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["this._em.populate(taskelements",{"_index":3979,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this._em.populate(tasks",{"_index":21581,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["this._em.populate(teamnews",{"_index":16564,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this._em.populate(teamuser",{"_index":22016,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["this._em.populate(user",{"_index":23280,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["this._em.populate(userentity",{"_index":23276,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["this._em.populate(usermatches",{"_index":14059,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["this._em.populate(users",{"_index":23846,"title":{},"body":{"injectables/UserRepo.html":{}}}],["this._em.remove(entities",{"_index":2528,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this._em.removeandflush(account",{"_index":786,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this._em.removeandflush(entities",{"_index":2638,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["this._em.removeandflush(entity",{"_index":22352,"title":{},"body":{"injectables/TldrawRepo.html":{}}}],["this._id",{"_index":8487,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["this._instance",{"_index":17996,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["this._iscopyfrom",{"_index":11757,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this._iscopyfrom?.tohexstring",{"_index":11753,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this._isenabled",{"_index":17986,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["this._lockid",{"_index":11569,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this._lockid?.tohexstring",{"_index":11529,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this._oauthconfigcache",{"_index":14653,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this._operator",{"_index":20093,"title":{},"body":{"classes/Scope.html":{}}}],["this._origintoolid",{"_index":8088,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["this._origintoolid?.tohexstring",{"_index":8057,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["this._ownerid",{"_index":11562,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this._ownerid.tohexstring",{"_index":11528,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this._parentid",{"_index":6632,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ParentInfo.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["this._parentid.tohexstring",{"_index":6628,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ParentInfo.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["this._parentid?.tohexstring",{"_index":11527,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this._port",{"_index":17988,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["this._queries",{"_index":20096,"title":{},"body":{"classes/Scope.html":{}}}],["this._queries.length",{"_index":20095,"title":{},"body":{"classes/Scope.html":{}}}],["this._queries.push(query",{"_index":20098,"title":{},"body":{"classes/Scope.html":{}}}],["this._queries[0",{"_index":20097,"title":{},"body":{"classes/Scope.html":{}}}],["this._route",{"_index":17987,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["this._schoolid",{"_index":6636,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this._schoolid.tohexstring",{"_index":6630,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.a11ytitle",{"_index":6600,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.abbreviation",{"_index":7389,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["this.acceptconsentrequest",{"_index":17207,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["this.acceptloginrequest(currentuserid",{"_index":17358,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.accesskeyid",{"_index":20611,"title":{},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["this.accesstoken",{"_index":15780,"title":{},"body":{"classes/LoginDto.html":{},"classes/LoginResponse.html":{},"classes/OAuthTokenDto.html":{},"classes/OauthDataStrategyInputDto.html":{}}}],["this.accountlookupservice.getinternalid(id",{"_index":960,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.deletebyid(internalid",{"_index":953,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.deletebyuserid(userid",{"_index":954,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.findbyid(accountid",{"_index":1006,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["this.accountrepo.findbyid(internalid",{"_index":929,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.findbyuserid(userid",{"_index":932,"title":{},"body":{"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{}}}],["this.accountrepo.findbyusernameandsystemid(username",{"_index":934,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.findmany(offset",{"_index":965,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.findmultiplebyuserid(userids",{"_index":930,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.save(account",{"_index":949,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.searchbyusernameexactmatch(email",{"_index":989,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["this.accountrepo.searchbyusernameexactmatch(username",{"_index":957,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.searchbyusernamepartialmatch(username",{"_index":955,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountservice.findbyuserid(user.id",{"_index":16899,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["this.accountservice.findbyuseridorfail(currentuserid",{"_index":23757,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.accountservice.findbyuseridorfail(userid",{"_index":23911,"title":{},"body":{"injectables/UserService.html":{}}}],["this.accountservice.findbyusernameandsystemid(username",{"_index":1726,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["this.accountservice.findmany(skip",{"_index":14788,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["this.accountservice.save(account",{"_index":23763,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.accountservice.save(accountcopy",{"_index":23765,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.accountservice.savewithvalidation",{"_index":17615,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.accountservice.searchbyusernameexactmatch(username",{"_index":1727,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["this.accountservice.updatelasttriedfailedlogin(id",{"_index":1752,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["this.accountuc.deleteaccountbyid(currentuser",{"_index":424,"title":{},"body":{"controllers/AccountController.html":{}}}],["this.accountuc.findaccountbyid(currentuser",{"_index":406,"title":{},"body":{"controllers/AccountController.html":{}}}],["this.accountuc.replacemytemporarypassword(currentuser.userid",{"_index":426,"title":{},"body":{"controllers/AccountController.html":{}}}],["this.accountuc.searchaccounts(currentuser",{"_index":404,"title":{},"body":{"controllers/AccountController.html":{}}}],["this.accountuc.updateaccountbyid(currentuser",{"_index":422,"title":{},"body":{"controllers/AccountController.html":{}}}],["this.accountuc.updatemyaccount(currentuser.userid",{"_index":420,"title":{},"body":{"controllers/AccountController.html":{}}}],["this.action",{"_index":22333,"title":{},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["this.activated",{"_index":250,"title":{},"body":{"entities/Account.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{}}}],["this.active",{"_index":14872,"title":{},"body":{"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.adapter.createteam(team",{"_index":5131,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.adapter.deleteteam(teamid",{"_index":5130,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.adapter.updateteam(team",{"_index":5132,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.adapter.updateteampermissionsforrole",{"_index":5127,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.addclientprotocolmappers(defaultclientinternalid",{"_index":14551,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.addexternaloauth2datatoconfig(tool.config",{"_index":10934,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.additionalinfo",{"_index":13698,"title":{},"body":{"classes/IdTokenUserNotFoundLoggableException.html":{}}}],["this.addlessons(builder",{"_index":5741,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["this.addquery",{"_index":6918,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/ImportUserScope.html":{},"classes/LessonScope.html":{},"classes/NewsScope.html":{},"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SystemScope.html":{},"classes/TaskScope.html":{},"classes/UserScope.html":{}}}],["this.addquery(emptyresultquery",{"_index":16599,"title":{},"body":{"classes/NewsScope.html":{}}}],["this.addquery(queries[0",{"_index":16600,"title":{},"body":{"classes/NewsScope.html":{}}}],["this.addquery(query",{"_index":11918,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/TaskScope.html":{}}}],["this.addroom(room",{"_index":8440,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.addtasks(builder",{"_index":5742,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["this.addteacherroleifadmin(externaluser",{"_index":19515,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.addto",{"_index":11645,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.adminidandtoken",{"_index":1180,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.alias",{"_index":14975,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.allowedapikeys",{"_index":24403,"title":{},"body":{"injectables/XApiKeyStrategy.html":{}}}],["this.allowedapikeys.includes(apikey",{"_index":24405,"title":{},"body":{"injectables/XApiKeyStrategy.html":{}}}],["this.allowmodstounmuteusers",{"_index":2195,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["this.allrooms",{"_index":8450,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.alternativetext",{"_index":11461,"title":{},"body":{"classes/FileElementContent.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"classes/FileElementResponse.html":{}}}],["this.amqpconnection.publish",{"_index":1337,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["this.amqpconnection.publish(this.options.exchange",{"_index":16066,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.amqpconnection.request>(this.createrequest(event",{"_index":19235,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["this.amqpconnectionmanager.getconnections().map((connection",{"_index":18337,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["this.ancestorids.length",{"_index":3909,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["this.ancestorids[this.ancestorids.length",{"_index":3903,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["this.antareskey",{"_index":7385,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["this.apikey",{"_index":8966,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["this.apikeyheader",{"_index":9000,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["this.app",{"_index":1631,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["this.appendnotcontainedboardelements(boardelementtargets",{"_index":2981,"title":{},"body":{"entities/Board.html":{}}}],["this.attendeepw",{"_index":2193,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["this.aud",{"_index":14272,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["this.authendpoint",{"_index":14914,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.authenticationservice.checkbrutforce(account",{"_index":15051,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{}}}],["this.authenticationservice.loadaccount",{"_index":15071,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.authenticationservice.loadaccount(`${externalschoolid}/${username}`.tolowercase",{"_index":15067,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.authenticationservice.loadaccount(username",{"_index":15666,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["this.authenticationservice.normalizepassword(password",{"_index":15057,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{}}}],["this.authenticationservice.normalizeusername(username",{"_index":15056,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{}}}],["this.authenticationservice.removejwtfromwhitelist(userjwt",{"_index":23705,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["this.authenticationservice.updatelasttriedfailedlogin(account.id",{"_index":15059,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{}}}],["this.author",{"_index":11647,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.authorcomments",{"_index":6615,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.authorisation.checkpermission(authorizableuser",{"_index":21484,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.authorisation.checkpermission(user",{"_index":15413,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["this.authorisation.getuserwithpermissions(userid",{"_index":15392,"title":{},"body":{"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["this.authorisation.haspermission(authorizableuser",{"_index":21482,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.authorisation.haspermission(user",{"_index":15407,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["this.authorisationservice",{"_index":9636,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.authorisationservice.hascoursewritepermission(user",{"_index":19221,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["this.authorisationservice.haspermission(this.user",{"_index":9646,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.authorization.checkpermissionbyreferences(userid",{"_index":7620,"title":{},"body":{"injectables/CourseCopyUC.html":{}}}],["this.authorizationhelper.hasaccesstoentity",{"_index":7853,"title":{},"body":{"injectables/CourseRule.html":{}}}],["this.authorizationhelper.hasaccesstoentity(user",{"_index":7703,"title":{},"body":{"injectables/CourseGroupRule.html":{},"injectables/TaskRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.authorizationhelper.hasallpermissions(user",{"_index":1992,"title":{},"body":{"injectables/AuthorizationService.html":{},"injectables/BoardDoRule.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"injectables/GroupRule.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LessonRule.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.authorizationhelper.hasallpermissionsbyrole(isteamuser.role",{"_index":21954,"title":{},"body":{"injectables/TeamRule.html":{}}}],["this.authorizationhelper.hasoneofpermissions(user",{"_index":1993,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["this.authorizationreferenceservice.checkpermissionbyreferences",{"_index":20497,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.authorizationservice.checkallpermissions(user",{"_index":10142,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolUc.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/ShareTokenUC.html":{}}}],["this.authorizationservice.checkentitypermissions",{"_index":16654,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.authorizationservice.checkentitypermissions(userid",{"_index":16637,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.authorizationservice.checkoneofpermissions(user",{"_index":21785,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.authorizationservice.checkpermission",{"_index":4955,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SubmissionUc.html":{},"injectables/SystemUc.html":{}}}],["this.authorizationservice.checkpermission(authorizableuser",{"_index":22939,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["this.authorizationservice.checkpermission(user",{"_index":2671,"title":{},"body":{"classes/BaseUc.html":{},"injectables/LessonUC.html":{},"injectables/PseudonymUc.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/TaskUC.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/UserLoginMigrationUc.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.authorizationservice.checkpermissionbyreferences",{"_index":7635,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["this.authorizationservice.checkpermissions(user",{"_index":26019,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.authorizationservice.getentitypermissions(userid",{"_index":16670,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.authorizationservice.getpermittedentities(userid",{"_index":16666,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.authorizationservice.getuserwithpermissions(currentuser.userid",{"_index":17171,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["this.authorizationservice.getuserwithpermissions(currentuserid",{"_index":17365,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.authorizationservice.getuserwithpermissions(pseudonymuserid",{"_index":18264,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["this.authorizationservice.getuserwithpermissions(userid",{"_index":1961,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{},"classes/BaseUc.html":{},"injectables/CardUc.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolUc.html":{},"injectables/LessonUC.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/PseudonymUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SubmissionUc.html":{},"injectables/SystemUc.html":{},"injectables/TaskUC.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.authorizationservice.hasallpermissions(user",{"_index":21801,"title":{},"body":{"injectables/TaskUC.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.authorizationservice.hasoneofpermissions(user",{"_index":21808,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.authorizationservice.haspermission(user",{"_index":1963,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{},"injectables/CardUc.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/SubmissionUc.html":{},"injectables/TaskUC.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.authorizationservice.haspermission(userid",{"_index":25998,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.authorizationurl",{"_index":14962,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.authorizeaccess",{"_index":14394,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.authors",{"_index":6609,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.authservice.checkpermission",{"_index":5124,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.authservice.generatejwt(createjwtpayload",{"_index":15824,"title":{},"body":{"injectables/LoginUc.html":{}}}],["this.authservice.getuserwithpermissions(currentuserid",{"_index":5125,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.authtoken",{"_index":18911,"title":{},"body":{"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["this.availabledate",{"_index":21268,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.awareness",{"_index":24374,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.awareness.on('update",{"_index":24377,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.awareness.setlocalstate(null",{"_index":24376,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.awarenesschangehandler",{"_index":24378,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.axiosconfig",{"_index":13455,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["this.axioserror.message",{"_index":2107,"title":{},"body":{"classes/AxiosErrorLoggable.html":{}}}],["this.axioserror.stack",{"_index":2110,"title":{},"body":{"classes/AxiosErrorLoggable.html":{}}}],["this.basepath",{"_index":5200,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.baseroute",{"_index":1632,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["this.baseurl",{"_index":2702,"title":{},"body":{"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/CalendarService.html":{},"injectables/DeletionClient.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/ToolLaunchData.html":{}}}],["this.baseurl).tostring",{"_index":8973,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["this.batchdeletionservice.queuedeletionrequests(inputs",{"_index":2907,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["this.batchdeletionuc.deleterefsfromtxtfile",{"_index":9248,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["this.bbbresponse",{"_index":23993,"title":{},"body":{"classes/VideoConference-1.html":{}}}],["this.bbbservice.create(configbuilder.build",{"_index":24121,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.bbbservice.end(config",{"_index":24188,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{}}}],["this.bbbservice.getmeetinginfo(config",{"_index":24208,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["this.bbbservice.getmeetinginfo(new",{"_index":24107,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.bbbservice.join(joinbuilder.build",{"_index":24240,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["this.bbbsettings.host",{"_index":2385,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.bbbsettings.presentationurl",{"_index":2387,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.bbbsettings.salt",{"_index":2386,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.birthday",{"_index":11153,"title":{},"body":{"classes/ExternalUserDto.html":{},"entities/User.html":{},"classes/UserDO.html":{},"interfaces/UserProperties.html":{}}}],["this.birthtime",{"_index":11590,"title":{},"body":{"classes/FileMetadata.html":{},"entities/H5pEditorTempFile.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["this.board",{"_index":9635,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.board.getelements",{"_index":9638,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.boardcopyservice.copyboard",{"_index":7586,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.boarddoauthorizableservice.getboardauthorizable(anyboarddo",{"_index":2669,"title":{},"body":{"classes/BaseUc.html":{}}}],["this.boarddoauthorizableservice.getboardauthorizable(boarddo",{"_index":2672,"title":{},"body":{"classes/BaseUc.html":{}}}],["this.boarddoauthorizableservice.getboardauthorizable(boarddo).then((boarddoauthorizable",{"_index":4539,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.boarddoauthorizableservice.getboardauthorizable(submissioncontainerelement",{"_index":20860,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["this.boarddocopyservice.copy",{"_index":5436,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["this.boarddorepo.delete(domainobject",{"_index":3707,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["this.boarddorepo.findbyclassandid(card",{"_index":4474,"title":{},"body":{"injectables/CardService.html":{}}}],["this.boarddorepo.findbyclassandid(column",{"_index":5657,"title":{},"body":{"injectables/ColumnService.html":{}}}],["this.boarddorepo.findbyclassandid(columnboard",{"_index":5422,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{}}}],["this.boarddorepo.findbyid(elementid",{"_index":6428,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["this.boarddorepo.findbyid(id",{"_index":3418,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/SubmissionItemService.html":{}}}],["this.boarddorepo.findbyid(rootid",{"_index":3426,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/ColumnBoardService.html":{}}}],["this.boarddorepo.findbyids(cardids",{"_index":4475,"title":{},"body":{"injectables/CardService.html":{}}}],["this.boarddorepo.findidsbyexternalreference(reference",{"_index":5487,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["this.boarddorepo.findparentofid(card.id",{"_index":4485,"title":{},"body":{"injectables/CardService.html":{}}}],["this.boarddorepo.findparentofid(child.id",{"_index":3711,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["this.boarddorepo.findparentofid(column.id",{"_index":5661,"title":{},"body":{"injectables/ColumnService.html":{}}}],["this.boarddorepo.findparentofid(domainobject.id",{"_index":3704,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["this.boarddorepo.findparentofid(element.id",{"_index":6439,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["this.boarddorepo.findparentofid(elementid",{"_index":6430,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["this.boarddorepo.findparentofid(submissionitem.id",{"_index":20844,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["this.boarddorepo.getancestorids(boarddo",{"_index":3421,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/ColumnBoardService.html":{}}}],["this.boarddorepo.gettitlesbyids(boardids",{"_index":5492,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["this.boarddorepo.save(board",{"_index":5495,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["this.boarddorepo.save(card",{"_index":4486,"title":{},"body":{"injectables/CardService.html":{}}}],["this.boarddorepo.save(column",{"_index":5662,"title":{},"body":{"injectables/ColumnService.html":{}}}],["this.boarddorepo.save(columnboard",{"_index":5493,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["this.boarddorepo.save(copystatus.copyentity",{"_index":5441,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["this.boarddorepo.save(element",{"_index":6440,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["this.boarddorepo.save(parent.children",{"_index":3706,"title":{},"body":{"injectables/BoardDoService.html":{},"injectables/CardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{}}}],["this.boarddorepo.save(sourceparent.children",{"_index":3713,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["this.boarddorepo.save(submissioncontainer.children",{"_index":20842,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["this.boarddorepo.save(targetparent.children",{"_index":3715,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["this.boarddorule",{"_index":19268,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.boarddoservice.deletewithdescendants(board",{"_index":5494,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["this.boarddoservice.deletewithdescendants(card",{"_index":4483,"title":{},"body":{"injectables/CardService.html":{}}}],["this.boarddoservice.deletewithdescendants(column",{"_index":5659,"title":{},"body":{"injectables/ColumnService.html":{}}}],["this.boarddoservice.deletewithdescendants(element",{"_index":6434,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["this.boarddoservice.move(card",{"_index":4484,"title":{},"body":{"injectables/CardService.html":{}}}],["this.boarddoservice.move(column",{"_index":5660,"title":{},"body":{"injectables/ColumnService.html":{}}}],["this.boarddoservice.move(element",{"_index":6435,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["this.boardelement",{"_index":6732,"title":{},"body":{"classes/ContextExternalToolCountPerContextResponse.html":{}}}],["this.boardelementservice.findbyid(contextexternaltool.contextref.id",{"_index":22943,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["this.boardelementtype",{"_index":5686,"title":{},"body":{"entities/ColumnboardBoardElement.html":{},"entities/LessonBoardElement.html":{},"entities/TaskBoardElement.html":{}}}],["this.boardmanagementuc.createboard(courseid",{"_index":3790,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["this.boardnodeauthorizableservice",{"_index":18609,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.boardnoderepo",{"_index":3672,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.boardnoderepo.findbyid(boarddo.id",{"_index":3668,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.boardnoderepo.findbyid(childid",{"_index":3665,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.boardnoderepo.findbyid(id",{"_index":3641,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.boardnoderepo.findbyid(parent.id",{"_index":18524,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.boardnoderepo.finddescendants(boardnode",{"_index":3642,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.boardnoderepo.finddescendantsofmany(boardnodes",{"_index":3649,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.boardrepo.findbycourseid(course.id",{"_index":19223,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["this.boardrepo.findbycourseid(courseid",{"_index":7576,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.boardrepo.findbycourseid(roomid",{"_index":19218,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["this.boardrepo.save(board",{"_index":19197,"title":{},"body":{"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{}}}],["this.boardrepo.save(boardcopy",{"_index":3322,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.boardservice.getboardauthorizable(boardelement",{"_index":22944,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["this.boarduc.createcolumn(currentuser.userid",{"_index":3249,"title":{},"body":{"controllers/BoardController.html":{}}}],["this.boarduc.deleteboard(currentuser.userid",{"_index":3247,"title":{},"body":{"controllers/BoardController.html":{}}}],["this.boarduc.findboard(currentuser.userid",{"_index":3233,"title":{},"body":{"controllers/BoardController.html":{}}}],["this.boarduc.findboardcontext(currentuser.userid",{"_index":3238,"title":{},"body":{"controllers/BoardController.html":{}}}],["this.boarduc.movecolumn(currentuser.userid",{"_index":5618,"title":{},"body":{"controllers/ColumnController.html":{}}}],["this.boarduc.updateboardtitle(currentuser.userid",{"_index":3243,"title":{},"body":{"controllers/BoardController.html":{}}}],["this.boardurlhandler",{"_index":16265,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["this.bsonconverter.deserialize(bsondocuments",{"_index":5284,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.bsonconverter.serialize(jsondocuments",{"_index":5303,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.bucket",{"_index":11551,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.build",{"_index":8227,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["this.build(deletionexecutiontriggerstatus.failure",{"_index":9059,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["this.build(deletionexecutiontriggerstatus.success",{"_index":9058,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["this.build(params",{"_index":2603,"title":{},"body":{"classes/BaseFactory.html":{},"classes/DoBaseFactory.html":{}}}],["this.build(requestid",{"_index":18314,"title":{},"body":{"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["this.build(requiredpermissions",{"_index":1791,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["this.build(undefined",{"_index":18315,"title":{},"body":{"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["this.buildchildren(boardnode",{"_index":3528,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.buildcopyentitydict(elementstatus).foreach((el",{"_index":7304,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["this.builddrawing",{"_index":6372,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["this.builddtowithelements(mappedelements",{"_index":9641,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.buildexternaltool",{"_index":6376,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["this.buildfile",{"_index":6366,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["this.buildgroupsclaim(teams",{"_index":13684,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["this.buildlink",{"_index":6368,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["this.buildrichtext",{"_index":6370,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["this.buildscope(query",{"_index":19749,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["this.buildsubmissioncontainer",{"_index":6374,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["this.buildtokenrequestpayload(code",{"_index":16863,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.byuseridquery(userid",{"_index":20899,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["this.cacheexpiration",{"_index":19021,"title":{},"body":{"injectables/RoleRepo.html":{},"injectables/TeamsRepo.html":{}}}],["this.cachemanager.del(redisidentifier",{"_index":14338,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["this.cacheservice.getstoretype",{"_index":14337,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["this.calculatenumberofsubmitters(gradedsubmissions",{"_index":21330,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.calculatenumberofsubmitters(submittedsubmissions",{"_index":21328,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.calendarmapper.maptodto(resp.data",{"_index":4308,"title":{},"body":{"injectables/CalendarService.html":{}}}],["this.callkcadminclient",{"_index":14402,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.cancelbuttonurl",{"_index":17694,"title":{},"body":{"classes/PageContentDto.html":{}}}],["this.cancreaterestricted",{"_index":13042,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["this.canedit(domainobject",{"_index":21207,"title":{},"body":{"injectables/SystemRule.html":{}}}],["this.caninstallrecommended",{"_index":13044,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["this.canupdateandinstalllibraries",{"_index":13046,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["this.caption",{"_index":11460,"title":{},"body":{"classes/FileElementContent.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"classes/FileElementResponse.html":{}}}],["this.cardid",{"_index":4502,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["this.cards",{"_index":5636,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["this.cardservice.create(column",{"_index":5677,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["this.cardservice.delete(card",{"_index":4532,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.cardservice.findbyid(cardid",{"_index":4529,"title":{},"body":{"injectables/CardUc.html":{},"injectables/ColumnUc.html":{}}}],["this.cardservice.findbyid(targetcardid",{"_index":4537,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.cardservice.findbyids(cardids",{"_index":4526,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.cardservice.move(card",{"_index":5679,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["this.cardservice.updateheight(card",{"_index":4530,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.cardservice.updatetitle(card",{"_index":4531,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.carduc.createelement(currentuser.userid",{"_index":4404,"title":{},"body":{"controllers/CardController.html":{}}}],["this.carduc.deletecard(currentuser.userid",{"_index":4397,"title":{},"body":{"controllers/CardController.html":{}}}],["this.carduc.findcards(currentuser.userid",{"_index":4382,"title":{},"body":{"controllers/CardController.html":{}}}],["this.carduc.moveelement",{"_index":9733,"title":{},"body":{"controllers/ElementController.html":{}}}],["this.carduc.updatecardheight(currentuser.userid",{"_index":4391,"title":{},"body":{"controllers/CardController.html":{}}}],["this.carduc.updatecardtitle(currentuser.userid",{"_index":4394,"title":{},"body":{"controllers/CardController.html":{}}}],["this.cause",{"_index":4220,"title":{},"body":{"classes/BusinessError.html":{}}}],["this.challenge",{"_index":6331,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["this.changes",{"_index":6613,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.checkandaddprefix(baseroute",{"_index":1633,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["this.checkandaddprefix(routenameinput",{"_index":1671,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["this.checkavaiblelanguages(params.language",{"_index":23943,"title":{},"body":{"injectables/UserUc.html":{}}}],["this.checkavailablelanguages(newlanguage",{"_index":23927,"title":{},"body":{"injectables/UserService.html":{}}}],["this.checkcontenttypeexists(contenttype",{"_index":13344,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.checkcontextreadpermission(userid",{"_index":20475,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.checkcreatepermission(userid",{"_index":20482,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.checkcredentials(account",{"_index":15053,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.checkcredentials(password",{"_index":15672,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["this.checkdestinationcourseauthorisation(authorizableuser",{"_index":21476,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.checkdestinationcourseauthorization(user",{"_index":15399,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["this.checkdestinationlessonauthorization(authorizableuser",{"_index":21481,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.checkduplicateusesincontext(contextexternaltool",{"_index":7019,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["this.checkerror(response",{"_index":19236,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["this.checkexpired(sharetoken",{"_index":20432,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.checkfeatureenabled",{"_index":7618,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["this.checkfeatureenabled(payload.parenttype",{"_index":20469,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.checkfeatureenabled(sharetoken.payload.parenttype",{"_index":20481,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.checkfilename(filename",{"_index":22085,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.checkforduplicateparameters(validatabletool",{"_index":6119,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["this.checkforunknownparameters(validatabletool",{"_index":6124,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["this.checkgraceperiod(userloginmigration",{"_index":23648,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.checkifpreviewpossible(filerecord",{"_index":17938,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.checkifpreviewpossible(original",{"_index":17886,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["this.checklistscontainingequalentities(reorderedids",{"_index":2969,"title":{},"body":{"entities/Board.html":{}}}],["this.checkofficialschoolnumbersmatch(school",{"_index":19974,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.checkoptionalparameter(param",{"_index":6144,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["this.checkoriginallessonauthorization(user",{"_index":15394,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["this.checkoriginaltaskauthorization(authorizableuser",{"_index":21475,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.checkparameterregex(foundentry",{"_index":6146,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["this.checkparametertype(foundentry",{"_index":6145,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["this.checkparentwritepermission(userid",{"_index":20470,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.checkpermission(userid",{"_index":2680,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{}}}],["this.checkpreconditions(userid",{"_index":20566,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["this.checkresponsevalidation(response",{"_index":19513,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.checkstreamresponsive(stream",{"_index":19337,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.checksubmissionitemwritepermission(userid",{"_index":9768,"title":{},"body":{"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["this.checkvalidityofparameters(validatabletool",{"_index":6125,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["this.checkvalue(account.userid",{"_index":15050,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.checkvalue(school.externalid",{"_index":15060,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.checkvalue(user.ldapdn",{"_index":15052,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.checkversionmatch(schoolexternaltool.toolversion",{"_index":19872,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["this.children.filter((ch",{"_index":3086,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["this.children.length",{"_index":3079,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["this.children.some((obj",{"_index":3091,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["this.children.splice(position",{"_index":3085,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["this.childrenmap[boardnode.path",{"_index":3522,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.childrenmap[boardnode.path].push(boardnode",{"_index":3523,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.childrenmap[boardnode.pathofchildren",{"_index":3566,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.clamconnection.scanstream(stream",{"_index":1323,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["this.classes.set(props.classes",{"_index":7475,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.classesrepo.findallbyschoolid(schoolid",{"_index":4789,"title":{},"body":{"injectables/ClassService.html":{}}}],["this.classesrepo.findallbyuserid(userid",{"_index":4790,"title":{},"body":{"injectables/ClassService.html":{}}}],["this.classesrepo.updatemany(updatedclasses",{"_index":4797,"title":{},"body":{"injectables/ClassService.html":{}}}],["this.classnames",{"_index":13931,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["this.classnames.push(...props.classnames",{"_index":13803,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["this.classvalidatormetadatastorage.gettargetvalidationmetadatas",{"_index":9850,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["this.cleanupinput(username",{"_index":15665,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["this.cleanuppath(this.baseroute",{"_index":1672,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["this.client",{"_index":16118,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/TargetGroupProperties.html":{}}}],["this.client.addaccesstogroupfolder(folderid",{"_index":16742,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.addusertogroup(nextclouduserid",{"_index":16770,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.changegroupfoldername(folderid",{"_index":16740,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.creategroup(groupid",{"_index":16731,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.creategroupfolder(foldername",{"_index":16741,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.deletegroup(groupid",{"_index":16728,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.deletegroupfolder(folderid",{"_index":16729,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.findgroupfolderidforgroupid(groupid",{"_index":16724,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.findgroupid(nextcloudstrategy.generategroupid(dto",{"_index":16722,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.getgroupusers(groupid",{"_index":16746,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.getnamewithprefix(pseudonymdo.pseudonym",{"_index":16755,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.getnamewithprefix(team.id",{"_index":16730,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.getnamewithprefix(teamid",{"_index":16727,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.oidcinternalname",{"_index":16772,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.removeuserfromgroup(nextclouduserid",{"_index":16768,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.renamegroup(groupid",{"_index":16744,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.send(req",{"_index":19333,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.client.setgrouppermissions(groupid",{"_index":16725,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client_id",{"_index":1508,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/ConsentSessionResponse.html":{}}}],["this.client_name",{"_index":6330,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["this.client_secret",{"_index":1510,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["this.clientid",{"_index":13649,"title":{},"body":{"classes/IdTokenCreationLoggableException.html":{},"classes/LdapConfigEntity.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.clientsecret",{"_index":14904,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/Oauth2ToolConfig.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.clock",{"_index":22331,"title":{},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["this.clone(newpropsfactory",{"_index":2611,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.closeconn(doc",{"_index":22484,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.closedat",{"_index":23509,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["this.closedat.toisostring",{"_index":23386,"title":{},"body":{"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{}}}],["this.closeuserloginmigrationuc.closemigration",{"_index":23484,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["this.code",{"_index":1516,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/BusinessError.html":{},"classes/ErrorResponse.html":{}}}],["this.collectionname",{"_index":22248,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.color",{"_index":7466,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.columnboardcopyservice.copycolumnboard",{"_index":3355,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.columnboardid",{"_index":3036,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["this.columnboardservice.createwelcomecolumnboard(coursereference",{"_index":19200,"title":{},"body":{"injectables/RoomsService.html":{}}}],["this.columnboardservice.delete(board",{"_index":4134,"title":{},"body":{"injectables/BoardUc.html":{}}}],["this.columnboardservice.findbydescendant(element",{"_index":2051,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["this.columnboardservice.findbyid(boardid",{"_index":4132,"title":{},"body":{"injectables/BoardUc.html":{}}}],["this.columnboardservice.findbyid(id",{"_index":4158,"title":{},"body":{"injectables/BoardUrlHandler.html":{}}}],["this.columnboardservice.findbyid(targetboardid",{"_index":4139,"title":{},"body":{"injectables/BoardUc.html":{}}}],["this.columnboardservice.findidsbyexternalreference(coursereference",{"_index":19198,"title":{},"body":{"injectables/RoomsService.html":{}}}],["this.columnboardservice.getboardobjecttitlesbyid(columnboardids",{"_index":5582,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["this.columnboardservice.updatetitle(board",{"_index":4135,"title":{},"body":{"injectables/BoardUc.html":{}}}],["this.columnboardtargetservice.findorcreatetargets(columnboardids",{"_index":19202,"title":{},"body":{"injectables/RoomsService.html":{}}}],["this.columns",{"_index":3993,"title":{},"body":{"classes/BoardResponse.html":{},"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.columnservice.create(board",{"_index":4136,"title":{},"body":{"injectables/BoardUc.html":{}}}],["this.columnservice.delete(column",{"_index":5675,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["this.columnservice.findbyid(columnid",{"_index":4137,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/ColumnUc.html":{}}}],["this.columnservice.findbyid(targetcolumnid",{"_index":5678,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["this.columnservice.move(column",{"_index":4140,"title":{},"body":{"injectables/BoardUc.html":{}}}],["this.columnservice.updatetitle(column",{"_index":5676,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["this.columnuc.createcard(currentuser.userid",{"_index":5627,"title":{},"body":{"controllers/ColumnController.html":{}}}],["this.columnuc.deletecolumn(currentuser.userid",{"_index":5625,"title":{},"body":{"controllers/ColumnController.html":{}}}],["this.columnuc.movecard(currentuser.userid",{"_index":4386,"title":{},"body":{"controllers/CardController.html":{}}}],["this.columnuc.updatecolumntitle(currentuser.userid",{"_index":5622,"title":{},"body":{"controllers/ColumnController.html":{}}}],["this.comment",{"_index":20650,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.commontoolservice.determinetoolconfigurationstatus",{"_index":23081,"title":{},"body":{"injectables/ToolVersionService.html":{}}}],["this.commontoolservice.iscontextrestricted(availabletool.externaltool",{"_index":10107,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["this.commontoolservice.iscontextrestricted(externaltool",{"_index":6964,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["this.commontoolvalidationservice.checkcustomparameterentries(loadedexternaltool",{"_index":7022,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{},"injectables/SchoolExternalToolValidationService.html":{}}}],["this.commontoolvalidationservice.isvaluevalidfortype(param.type",{"_index":10490,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.compareparameters(oldtool.parameters",{"_index":11104,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["this.completed",{"_index":20800,"title":{},"body":{"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"classes/SubmissionItemResponse.html":{}}}],["this.composemetatags(url",{"_index":16267,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["this.config",{"_index":2132,"title":{},"body":{"classes/AxiosResponseImp.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{}}}],["this.config.bucket",{"_index":19332,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.config.bucket}/${path.sourcepath",{"_index":19369,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.configservice.get('additional_blacklisted_email_domains",{"_index":16055,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.configservice.get('admin_api__allowed_api_keys",{"_index":24404,"title":{},"body":{"injectables/XApiKeyStrategy.html":{}}}],["this.configservice.get('admin_api_client_api_key",{"_index":8967,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["this.configservice.get('admin_api_client_base_url",{"_index":8965,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["this.configservice.get('available_languages').includes(language",{"_index":23929,"title":{},"body":{"injectables/UserService.html":{}}}],["this.configservice.get('available_languages').includes(settedlanguage",{"_index":23942,"title":{},"body":{"injectables/UserUc.html":{}}}],["this.configservice.get('connection_string",{"_index":22247,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.configservice.get('feature_identity_management_login_enabled",{"_index":15667,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["this.configservice.get('feature_identity_management_store_enabled",{"_index":656,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["this.configservice.get('feature_imscc_course_export_enabled",{"_index":7546,"title":{},"body":{"controllers/CourseController.html":{}}}],["this.configservice.get('feature_tldraw_enabled",{"_index":22390,"title":{},"body":{"classes/TldrawWs.html":{}}}],["this.configservice.get('h5p_editor__library_list_path",{"_index":13323,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.configservice.get('login_block_time",{"_index":1745,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["this.configservice.get('sc_domain",{"_index":14541,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.configservice.get('tldraw_db_collection_name",{"_index":22249,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.configservice.get('tldraw_db_flush_size",{"_index":22252,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.configservice.get('tldraw_db_multiple_collections",{"_index":22254,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.configservice.get('tldraw_ping_timeout",{"_index":22466,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.configservice.get(placeholder",{"_index":5356,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.connect(system",{"_index":15005,"title":{},"body":{"injectables/LdapService.html":{}}}],["this.connectionstring",{"_index":22246,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.conns",{"_index":24373,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.conns.foreach((_",{"_index":24392,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.conns.get(wsconnection",{"_index":24386,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.consentflowuc.getconsentrequest(params.challenge",{"_index":17306,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.consentflowuc.patchconsentrequest",{"_index":17309,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.console.info('connected",{"_index":4892,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.console.info(`cleaned",{"_index":4903,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.console.info(`configured",{"_index":4917,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.console.info(`migrated",{"_index":4931,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.console.info(`seeded",{"_index":4910,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.consolewriter.info('error",{"_index":3787,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["this.consolewriter.info('schulcloud",{"_index":20141,"title":{},"body":{"classes/ServerConsole.html":{}}}],["this.consolewriter.info(`error",{"_index":3850,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.consolewriter.info(`input",{"_index":20142,"title":{},"body":{"classes/ServerConsole.html":{}}}],["this.consolewriter.info(`success",{"_index":3791,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["this.consolewriter.info(json.stringify(result",{"_index":9038,"title":{},"body":{"classes/DeletionExecutionConsole.html":{}}}],["this.consolewriter.info(json.stringify(summary",{"_index":9255,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["this.consolewriter.info(report",{"_index":8736,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["this.constructor",{"_index":1658,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/BaseFactory.html":{},"classes/TestApiClient.html":{}}}],["this.content",{"_index":3739,"title":{},"body":{"classes/BoardElementResponse.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentMetadata.html":{},"entities/CourseNews.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"classes/RichText.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"entities/SchoolNews.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"entities/TeamNews.html":{}}}],["this.content.contextexternaltoolid",{"_index":6502,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.content.description",{"_index":6480,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.content.duedate",{"_index":6498,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.content.imageurl",{"_index":6481,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.content.inputformat",{"_index":6493,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.content.title",{"_index":6478,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.contentelementfactory.build(contentelementtype.rich_text",{"_index":5554,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["this.contentelementfactory.build(type",{"_index":6432,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["this.contentelementservice.create(card",{"_index":4488,"title":{},"body":{"injectables/CardService.html":{}}}],["this.contentelementservice.findbyid(elementid",{"_index":2049,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["this.contentid",{"_index":12478,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["this.contentparentid",{"_index":13039,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["this.contentparenttype",{"_index":13037,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["this.contents",{"_index":6199,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["this.contenttype",{"_index":6617,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/ExternalToolLogo.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.contenttypecache",{"_index":13314,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.contenttypecache.get(librariestoinstall[lastpositionlibrariestoinstallarray",{"_index":13343,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.contenttyperepo",{"_index":13318,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.contenttyperepo.installcontenttype(librariestoinstall[lastpositionlibrariestoinstallarray",{"_index":13346,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.context",{"_index":15131,"title":{},"body":{"injectables/LegacyLogger.html":{},"injectables/Logger.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/ShareTokenDO.html":{}}}],["this.context.action",{"_index":12373,"title":{},"body":{"classes/ForbiddenLoggableException.html":{}}}],["this.context.requiredpermissions.join",{"_index":12374,"title":{},"body":{"classes/ForbiddenLoggableException.html":{}}}],["this.contextexternaltool",{"_index":10217,"title":{},"body":{"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["this.contextexternaltool.id",{"_index":16342,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["this.contextexternaltoolauthorizableservice",{"_index":18611,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.contextexternaltoolcountpercontext",{"_index":10375,"title":{},"body":{"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataResponse.html":{}}}],["this.contextexternaltoolid",{"_index":10207,"title":{},"body":{"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{}}}],["this.contextexternaltoolrepo.delete(contextexternaltool",{"_index":6961,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["this.contextexternaltoolrepo.delete(contextexternaltools",{"_index":6960,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["this.contextexternaltoolrepo.deletebyschoolexternaltoolids(schoolexternaltoolids",{"_index":10945,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.contextexternaltoolrepo.find",{"_index":6959,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["this.contextexternaltoolrepo.find(query",{"_index":6954,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["this.contextexternaltoolrepo.findbyid(contextexternaltoolid",{"_index":6955,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["this.contextexternaltoolrepo.findbyid(id",{"_index":6673,"title":{},"body":{"injectables/ContextExternalToolAuthorizableService.html":{}}}],["this.contextexternaltoolrepo.findbyidornull(contextexternaltoolid",{"_index":6956,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["this.contextexternaltoolrepo.save(contextexternaltool",{"_index":6958,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["this.contextexternaltoolrule",{"_index":19269,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.contextexternaltoolservice.checkcontextrestrictions(contextexternaltool",{"_index":6997,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["this.contextexternaltoolservice.deletebyschoolexternaltoolid(schoolexternaltoolid",{"_index":19861,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["this.contextexternaltoolservice.deletecontextexternaltool(linkedtool",{"_index":18489,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.contextexternaltoolservice.deletecontextexternaltool(tool",{"_index":7005,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["this.contextexternaltoolservice.findallbycontext",{"_index":7006,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/FeathersRosterService.html":{},"injectables/ToolReferenceUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.contextexternaltoolservice.findbyid",{"_index":18488,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.contextexternaltoolservice.findbyidorfail",{"_index":7001,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{}}}],["this.contextexternaltoolservice.findbyidorfail(contextexternaltoolid",{"_index":7004,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["this.contextexternaltoolservice.findbyidorfail(contexttoolid",{"_index":7009,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["this.contextexternaltoolservice.findcontextexternaltools",{"_index":7024,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationUc.html":{}}}],["this.contextexternaltoolservice.savecontextexternaltool",{"_index":7000,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["this.contextexternaltooluc.createcontextexternaltool",{"_index":22705,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["this.contextexternaltooluc.deletecontextexternaltool(currentuser.userid",{"_index":22709,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["this.contextexternaltooluc.getcontextexternaltool",{"_index":22716,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["this.contextexternaltooluc.getcontextexternaltoolsforcontext",{"_index":22711,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["this.contextexternaltooluc.updatecontextexternaltool",{"_index":22719,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["this.contextexternaltoolvalidationservice.validate(contextexternaltool",{"_index":6998,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ToolVersionService.html":{}}}],["this.contextid",{"_index":6753,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/ContextExternalToolResponse.html":{}}}],["this.contextref",{"_index":6660,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{}}}],["this.contexttoolid",{"_index":22952,"title":{},"body":{"classes/ToolReference.html":{},"classes/ToolReferenceResponse.html":{}}}],["this.contexttoolrepo.countbyschooltoolidsandcontexttype",{"_index":10411,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{}}}],["this.contexttoolrepo.countbyschooltoolidsandcontexttype(type",{"_index":19710,"title":{},"body":{"injectables/SchoolExternalToolMetadataService.html":{}}}],["this.contexttype",{"_index":6755,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/ContextExternalToolResponse.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["this.converterutil.xml2object",{"_index":2399,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.converterutil.xml2object>(resp.data",{"_index":2412,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.cookies",{"_index":13452,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["this.copy(copypaths",{"_index":19354,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.copyboardelements(boardelements",{"_index":3312,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.copycolumnboard(element.target",{"_index":3340,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.copycourse(userid",{"_index":20485,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.copycourseentity",{"_index":7585,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.copyfilesservice.copyfilesofentity",{"_index":21430,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["this.copyhelperservice.buildcopyentitydict(boardstatus",{"_index":3370,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.copyhelperservice.derivecopyname(newname",{"_index":7583,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.copyhelperservice.derivecopyname(originallesson.name",{"_index":15404,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["this.copyhelperservice.derivecopyname(originaltaskname",{"_index":21490,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.copyhelperservice.derivestatusfromelements(elements",{"_index":3316,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CourseCopyService.html":{},"injectables/TaskCopyService.html":{}}}],["this.copyhelperservice.derivestatusfromelements(filestatuses",{"_index":7261,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["this.copyingsince",{"_index":7472,"title":{},"body":{"entities/Course.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/UsersList.html":{}}}],["this.copylesson(element.target",{"_index":3337,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.copylesson(userid",{"_index":20488,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.copymap.get(child.id",{"_index":18445,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.copymap.set(original.id",{"_index":18401,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.copytask(element.target",{"_index":3333,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.copytask(userid",{"_index":20489,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.copytaskentity(params",{"_index":21429,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["this.coreapi",{"_index":11649,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.countyid",{"_index":7383,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["this.course",{"_index":2953,"title":{},"body":{"entities/Board.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.course.color",{"_index":21344,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.course.id",{"_index":21341,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.course.isfinished",{"_index":21303,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.course.isusersubstitutionteacher(user",{"_index":21324,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.course.name",{"_index":21340,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.course.school.id",{"_index":6223,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["this.coursecopyservice.copycourse",{"_index":7622,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/ShareTokenUC.html":{}}}],["this.coursecopyuc.copycourse(currentuser.userid",{"_index":19175,"title":{},"body":{"controllers/RoomsController.html":{}}}],["this.courseexportservice.exportcourse(courseid",{"_index":7636,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["this.courseexportuc.exportcourse(urlparams.courseid",{"_index":7547,"title":{},"body":{"controllers/CourseController.html":{}}}],["this.coursegroup",{"_index":6197,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.coursegroup.getstudentids",{"_index":20664,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.coursegroup.school.id",{"_index":6224,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["this.coursegrouppermission(user",{"_index":15495,"title":{},"body":{"injectables/LessonRule.html":{}}}],["this.coursegrouprepo",{"_index":18595,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.coursegrouprule",{"_index":19260,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.coursegrouprule.haspermission(user",{"_index":15498,"title":{},"body":{"injectables/LessonRule.html":{}}}],["this.coursegroups.getitems",{"_index":7501,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.coursegroups.isinitialized(true",{"_index":7499,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.courseid",{"_index":21514,"title":{},"body":{"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{}}}],["this.coursename",{"_index":21513,"title":{},"body":{"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{}}}],["this.coursepermission(user",{"_index":15496,"title":{},"body":{"injectables/LessonRule.html":{}}}],["this.courserepo",{"_index":18593,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.courserepo.createcourse(coursecopy",{"_index":7595,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.courserepo.findallbyuserid",{"_index":8701,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["this.courserepo.findallbyuserid(user.id",{"_index":21823,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.courserepo.findallbyuserid(userid",{"_index":7581,"title":{},"body":{"injectables/CourseCopyService.html":{},"injectables/CourseUc.html":{}}}],["this.courserepo.findallforteacherorsubstituteteacher(user.id",{"_index":21822,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.courserepo.findbyid(courseid",{"_index":7575,"title":{},"body":{"injectables/CourseCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["this.courserepo.findbyid(originalboard.context.id",{"_index":5429,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["this.courserepo.findbyid(parentparams.courseid",{"_index":15397,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["this.courserepo.findbyid(rootboarddo.context.id",{"_index":3428,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["this.courserepo.findone(roomid",{"_index":19217,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["this.courserepo.save(coursecopy",{"_index":7597,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.courserule",{"_index":19259,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.courserule.haspermission(user",{"_index":7704,"title":{},"body":{"injectables/CourseGroupRule.html":{},"injectables/LessonRule.html":{},"injectables/TaskRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.courseservice.findallbyuserid(pseudonym.userid",{"_index":11331,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.courseservice.findbyid(columnboard.context.id",{"_index":4162,"title":{},"body":{"injectables/BoardUrlHandler.html":{}}}],["this.courseservice.findbyid(contextexternaltool.contextref.id",{"_index":22942,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["this.courseservice.findbyid(courseid",{"_index":2046,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/FeathersRosterService.html":{},"injectables/ShareTokenUC.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.courseservice.findbyid(id",{"_index":7893,"title":{},"body":{"injectables/CourseUrlHandler.html":{}}}],["this.courseservice.findbyid(sharetoken.payload.parentid)).name",{"_index":20435,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.courseservice.getcourse(params.courseid",{"_index":26017,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.courseservice.save(course",{"_index":26021,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.courseservice.savecourse(course",{"_index":26025,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.courseuc.findallbyuser(currentuser.userid",{"_index":7540,"title":{},"body":{"controllers/CourseController.html":{}}}],["this.courseurlhandler",{"_index":16264,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["this.create",{"_index":11704,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["this.create(currentuserid",{"_index":24109,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.create(library",{"_index":15576,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["this.create(path",{"_index":19350,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.createboardelementfor(target",{"_index":2993,"title":{},"body":{"entities/Board.html":{}}}],["this.createboardforcourse(courseid",{"_index":3970,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this.createbucket",{"_index":19349,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.createcards(this.random(1",{"_index":3829,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.createclient(provider",{"_index":8894,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.createcolumns(3",{"_index":3825,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.createdat",{"_index":460,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/County.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TimestampsResponse.html":{},"classes/UserDO.html":{}}}],["this.createdefaultiuser",{"_index":13345,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.createelements(1",{"_index":3835,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.createemptyelements(card",{"_index":4482,"title":{},"body":{"injectables/CardService.html":{}}}],["this.createentity(domainobject",{"_index":2497,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.createerrorloggable(error",{"_index":12550,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.createerrorresponse(error",{"_index":12560,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.createerrorresponseforbusinesserror(error",{"_index":12568,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.createerrorresponseforfeatherserror(error",{"_index":12566,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.createerrorresponsefornesthttpexception(error",{"_index":12570,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.createerrorresponseforunknownerror",{"_index":12571,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.createfile(contentrange",{"_index":22172,"title":{},"body":{"classes/TestHelper.html":{}}}],["this.createfileurlreplacements(filedtos",{"_index":7244,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["this.creategridelement(elementwithposition",{"_index":8623,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.createidentityprovider(configureaction.config",{"_index":14558,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.createidpdefaultmapper(idpalias",{"_index":14595,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.createidpdefaultmapper(oidcconfig.idphint",{"_index":14586,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.createiframesubject(user",{"_index":13683,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["this.createlogmessageforvalidationerrors(this.error",{"_index":9831,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["this.createnewentityfromdo(domainobj",{"_index":2527,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.createnewentityfromdo(domainobject",{"_index":2504,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.createnewmigration(schooldo",{"_index":23644,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.createorupdateboardnode(boardnode",{"_index":18540,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.createorupdateidmaccount(account",{"_index":14791,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["this.createqueryordermap(options?.order",{"_index":23266,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["this.createrichtextelement",{"_index":5504,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["this.createstatus",{"_index":21807,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.createtaskstatus(task",{"_index":9657,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.createusersearchindex",{"_index":5318,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.creator",{"_index":16471,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.creatorid",{"_index":7135,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["this.credentialhash",{"_index":240,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{}}}],["this.cruduc.createoauth2client(currentuser",{"_index":17286,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.cruduc.deleteoauth2client(currentuser",{"_index":17291,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.cruduc.getoauth2client(currentuser",{"_index":17276,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.cruduc.listoauth2clients",{"_index":17279,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.cruduc.updateoauth2client(currentuser",{"_index":17288,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.currentredirect",{"_index":13448,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["this.customs",{"_index":8081,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.dashboard",{"_index":8492,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["this.dashboardrepo.getdashboardbyid(dashboardid",{"_index":8704,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["this.dashboardrepo.getusersdashboard(userid",{"_index":8700,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["this.dashboardrepo.persistandflush(dashboard",{"_index":8703,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["this.dashboarduc.getusersdashboard(currentuser.userid",{"_index":8310,"title":{},"body":{"controllers/DashboardController.html":{}}}],["this.dashboarduc.moveelementondashboard",{"_index":8313,"title":{},"body":{"controllers/DashboardController.html":{}}}],["this.dashboarduc.renamegroupondashboard",{"_index":8318,"title":{},"body":{"controllers/DashboardController.html":{}}}],["this.data",{"_index":881,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/AxiosResponseImp.html":{},"classes/CardListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileDto.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/Page.html":{},"classes/PublicSystemListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/ToolReferenceListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["this.databasemanagementservice.clearcollection(collectionname",{"_index":5254,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.databasemanagementservice.collectionexists(collectionname",{"_index":5252,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.databasemanagementservice.createcollection(collectionname",{"_index":5255,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.databasemanagementservice.finddocumentsofcollection(collectionname",{"_index":5301,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.databasemanagementservice.getcollectionnames",{"_index":5218,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.databasemanagementservice.getdatabasecollection('users",{"_index":5322,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.databasemanagementservice.importcollection",{"_index":5291,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.databasemanagementservice.syncindexes",{"_index":5319,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.databasemanagementuc.exportcollectionstofilesystem",{"_index":8766,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["this.databasemanagementuc.exportcollectionstofilesystem([collectionname",{"_index":8768,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["this.databasemanagementuc.exportcollectionstofilesystem(filter",{"_index":8738,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["this.databasemanagementuc.seeddatabasecollectionsfromfactories(filter",{"_index":8732,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["this.databasemanagementuc.seeddatabasecollectionsfromfilesystem",{"_index":8763,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["this.databasemanagementuc.seeddatabasecollectionsfromfilesystem([collectionname",{"_index":8765,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["this.databasemanagementuc.seeddatabasecollectionsfromfilesystem(filter",{"_index":8733,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["this.databasemanagementuc.syncindexes",{"_index":8739,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"interfaces/Options.html":{}}}],["this.db.collection(collectionname",{"_index":8802,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.db.createcollection(collectionname",{"_index":8819,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.db.dropcollection(collectionname",{"_index":8820,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.db.listcollections(undefined",{"_index":8812,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.default",{"_index":8146,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{}}}],["this.defaultencryptionservice.decrypt(oidcconfig.clientsecret",{"_index":17530,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["this.defaultencryptionservice.encrypt(system.oauthconfig.clientsecret",{"_index":5364,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.defaultencryptionservice.encrypt(system.oidcconfig.clientsecret",{"_index":5367,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.defaultheaders",{"_index":8977,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["this.defaultlanguage",{"_index":6582,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.defaultoauthclientbody",{"_index":17177,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["this.defaultscopes",{"_index":14969,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.defaultvalue",{"_index":8285,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["this.delete",{"_index":11706,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["this.delete(account",{"_index":784,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this.delete(content",{"_index":13066,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["this.delete(deleteobjects",{"_index":19364,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.delete(filteredpathobjects",{"_index":19399,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.delete(paths",{"_index":19357,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.deleteafter",{"_index":9297,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["this.deleted",{"_index":11544,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.deletedat",{"_index":11543,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/TimestampsResponse.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["this.deletedcount",{"_index":9135,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["this.deletedfoldername}/${path",{"_index":19353,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.deletedsince",{"_index":7140,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.deleteentitybyid(entityid",{"_index":2536,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.deleteexternaltoolpseudonymsbyuserid(userid",{"_index":18245,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.deletefile(file",{"_index":8881,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.deletefileinstorage(file",{"_index":8904,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.deletefilesuc.deletemarkedfiles(thresholddate",{"_index":8841,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["this.deleteidentityprovider(configureaction.alias",{"_index":14562,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.deletenode(card",{"_index":18470,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(column",{"_index":18468,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(columnboard",{"_index":18466,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(drawingelement",{"_index":18481,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(externaltoolelement",{"_index":18490,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(fileelement",{"_index":18473,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(linkelement",{"_index":18476,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(richtextelement",{"_index":18478,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(submission",{"_index":18485,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(submissioncontainerelement",{"_index":18483,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletepseudonymsbyuserid(userid",{"_index":18244,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.deletesubmissions(task",{"_index":21745,"title":{},"body":{"injectables/TaskService.html":{}}}],["this.deletionclient.executedeletions(limit",{"_index":9066,"title":{},"body":{"injectables/DeletionExecutionUc.html":{}}}],["this.deletionclient.queuedeletionrequest(deletionrequestinput",{"_index":2835,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["this.deletionexecutionuc.triggerdeletionexecution(options.limit",{"_index":9034,"title":{},"body":{"classes/DeletionExecutionConsole.html":{}}}],["this.deletionlogrepo.create(newdeletionlog",{"_index":9200,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["this.deletionlogrepo.findallbydeletionrequestid(deletionrequestid",{"_index":9201,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["this.deletionplannedat",{"_index":9331,"title":{},"body":{"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestResponse.html":{}}}],["this.deletionrequestid",{"_index":9137,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["this.deletionrequestrepo.create(newdeletionrequest",{"_index":9426,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["this.deletionrequestrepo.deletebyid(deletionrequestid",{"_index":9435,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["this.deletionrequestrepo.findallitemstoexecution(limit",{"_index":9431,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["this.deletionrequestrepo.findbyid(deletionrequestid",{"_index":9429,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["this.deletionrequestrepo.markdeletionrequestasexecuted(deletionrequestid",{"_index":9433,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["this.deletionrequestrepo.markdeletionrequestasfailed(deletionrequestid",{"_index":9434,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["this.deletionrequestrepo.update(deletionrequesttoupdate",{"_index":9432,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["this.deletionrequestuc.createdeletionrequest(deletionrequestbody",{"_index":9458,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["this.deletionrequestuc.deletedeletionrequestbyid(requestid",{"_index":9465,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["this.deletionrequestuc.executedeletionrequests(deletionexecutionquery.limit",{"_index":9082,"title":{},"body":{"controllers/DeletionExecutionsController.html":{}}}],["this.deletionrequestuc.findbyid(requestid",{"_index":9462,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["this.derivecopyname(composedname",{"_index":7302,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["this.derivecopystatus(filecopystatus",{"_index":21432,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["this.derivecopystatus(filedtos",{"_index":7246,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["this.derivecoursestatus(originalcourse",{"_index":7590,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.description",{"_index":7459,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/DrawingElementContent.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"classes/DrawingElementResponse.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/Path.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["this.descriptioninputformat",{"_index":21265,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.details",{"_index":4219,"title":{},"body":{"classes/BusinessError.html":{},"classes/ErrorResponse.html":{}}}],["this.detectcontenttypeorthrow(buffer",{"_index":10345,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["this.detectcontenttypeorthrow(logobinarydata",{"_index":10354,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["this.determineinput(systemid",{"_index":18100,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.determinenewroomsin(rooms",{"_index":8438,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.determineschooltoolstatus(tool",{"_index":19827,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.displayat",{"_index":7778,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["this.displaycolor",{"_index":7739,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["this.displayname",{"_index":6662,"title":{},"body":{"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolResponse.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceResponse.html":{}}}],["this.docname",{"_index":22329,"title":{},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["this.docs.delete(doc.name",{"_index":22478,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.docs.set(docname",{"_index":22498,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.doescourseexist(courseid",{"_index":3822,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.domain",{"_index":9128,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["this.domainblacklist",{"_index":16054,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.domainblacklist.includes(maildomain",{"_index":16070,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.domainblacklist.length",{"_index":16056,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.domigration(externalid",{"_index":19964,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.domigration(userdo",{"_index":23758,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.downloadoriginfile(originfilepath",{"_index":17885,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["this.drawingelementadapterservice.deletedrawingbindata(drawingelement.id",{"_index":18480,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.dropcollectionifexists(collectionname",{"_index":5264,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.droplibrarycss",{"_index":11652,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.duedate",{"_index":20710,"title":{},"body":{"classes/SubmissionContainerElementContent.html":{},"entities/SubmissionContainerElementNode.html":{},"classes/SubmissionContainerElementResponse.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.dynamicdependencies",{"_index":6588,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.editordependencies",{"_index":6590,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.elements",{"_index":4436,"title":{},"body":{"classes/CardResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SubmissionItemResponse.html":{}}}],["this.elementservice.create(card",{"_index":4533,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.elementservice.create(submissionitem",{"_index":20867,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["this.elementservice.delete(element",{"_index":9765,"title":{},"body":{"injectables/ElementUc.html":{}}}],["this.elementservice.findbyid(contentelementid",{"_index":9769,"title":{},"body":{"injectables/ElementUc.html":{}}}],["this.elementservice.findbyid(elementid",{"_index":4535,"title":{},"body":{"injectables/CardUc.html":{},"injectables/ElementUc.html":{}}}],["this.elementservice.findbyid(submissioncontainerid",{"_index":20857,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["this.elementservice.findparentofid(elementid",{"_index":9766,"title":{},"body":{"injectables/ElementUc.html":{}}}],["this.elementservice.move(element",{"_index":4534,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.elementservice.update(element",{"_index":9764,"title":{},"body":{"injectables/ElementUc.html":{}}}],["this.elementuc.createsubmissionitem",{"_index":9744,"title":{},"body":{"controllers/ElementController.html":{}}}],["this.elementuc.deleteelement(currentuser.userid",{"_index":9741,"title":{},"body":{"controllers/ElementController.html":{}}}],["this.elementuc.updateelementcontent",{"_index":9738,"title":{},"body":{"controllers/ElementController.html":{}}}],["this.em",{"_index":10548,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/GroupRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["this.em.assign(entity",{"_index":4852,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["this.em.assign(existing",{"_index":10553,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["this.em.assign(existingentity",{"_index":12812,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["this.em.find(boardnode",{"_index":3648,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/BoardNodeRepo.html":{}}}],["this.em.find(classentity",{"_index":4832,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["this.em.find(columnboardnode",{"_index":3658,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.em.find(columnboardtarget",{"_index":5590,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["this.em.find(deletionlogentity",{"_index":9183,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["this.em.find(externaltoolpseudonymentity",{"_index":10547,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["this.em.find(groupentity",{"_index":12806,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["this.em.find(pseudonymentity",{"_index":18279,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["this.em.findandcount(deletionrequestentity",{"_index":9383,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["this.em.findandcount(externaltoolpseudonymentity",{"_index":10569,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["this.em.findone(dashboardgridelementmodel",{"_index":8625,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.em.findone(dashboardmodelentity",{"_index":8646,"title":{},"body":{"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.em.findone(externaltoolpseudonymentity",{"_index":10546,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["this.em.findone(groupentity",{"_index":12803,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["this.em.findone(pseudonymentity",{"_index":18278,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["this.em.findone(systementity",{"_index":21178,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["this.em.findoneorfail(boardnode",{"_index":3924,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["this.em.findoneorfail(course",{"_index":3849,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.em.findoneorfail(dashboardmodelentity",{"_index":8676,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.em.findoneorfail(deletionlogentity",{"_index":9180,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["this.em.findoneorfail(deletionrequestentity",{"_index":9376,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["this.em.findoneorfail(externaltoolpseudonymentity",{"_index":10543,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["this.em.findoneorfail(pseudonymentity",{"_index":18277,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["this.em.findoneorfail(rocketchatuserentity",{"_index":18946,"title":{},"body":{"injectables/RocketChatUserRepo.html":{}}}],["this.em.findoneorfail(user",{"_index":8648,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.em.flush",{"_index":3674,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/ColumnBoardTargetService.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/GroupRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["this.em.getconnection('write').getdb",{"_index":8801,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.em.getreference(contextexternaltoolentity",{"_index":18553,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.em.getreference(deletionrequestentity",{"_index":9387,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["this.em.getunitofwork().getbyid(boardnode.name",{"_index":3923,"title":{},"body":{"injectables/BoardNodeRepo.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["this.em.nativedelete(externaltoolpseudonymentity",{"_index":10556,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["this.em.nativedelete(pseudonymentity",{"_index":18282,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["this.em.nativedelete(registrationpinentity",{"_index":18685,"title":{},"body":{"injectables/RegistrationPinRepo.html":{}}}],["this.em.nativedelete(rocketchatuserentity",{"_index":18948,"title":{},"body":{"injectables/RocketChatUserRepo.html":{}}}],["this.em.persist(boardnode",{"_index":18560,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.em.persist(deletionlogentity",{"_index":9187,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["this.em.persist(deletionrequestentity",{"_index":9379,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["this.em.persist(entity",{"_index":10554,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["this.em.persist(modelentity",{"_index":8672,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.em.persist(newentity",{"_index":12813,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["this.em.persist(target",{"_index":5589,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["this.em.persistandflush(board",{"_index":3824,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.em.persistandflush(cards",{"_index":3832,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.em.persistandflush(columns",{"_index":3826,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.em.persistandflush(data",{"_index":5265,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.em.persistandflush(deletionrequest",{"_index":9391,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["this.em.persistandflush(elements",{"_index":3837,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.em.persistandflush(existingentities",{"_index":4853,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["this.em.persistandflush(modelentity",{"_index":8674,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.em.persistandflush(referencedentity",{"_index":9389,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["this.em.remove(el",{"_index":8645,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.em.remove(this.em.getreference(boardnode",{"_index":18492,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.em.removeandflush(entity",{"_index":9393,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/GroupRepo.html":{},"injectables/SystemRepo.html":{}}}],["this.email",{"_index":11151,"title":{},"body":{"classes/ExternalUserDto.html":{},"interfaces/H5PContentParentParams.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/LumiUserWithContentData.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{}}}],["this.emailsearchvalues",{"_index":23232,"title":{},"body":{"classes/UserDO.html":{}}}],["this.embedtypes",{"_index":6576,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.enableoauthmigrationfeature(schooldo",{"_index":23645,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.encoding",{"_index":12038,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["this.encryptionservice.encrypt(externaltool.config.secret",{"_index":10921,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.encryptpassword(accountdto.password",{"_index":946,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.encryptpassword(password",{"_index":952,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.encryptsecrets(collectionname",{"_index":5289,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.encryptsecretsinsystems(data",{"_index":5263,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.encryptsecretsinsystems(jsondocuments",{"_index":5359,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.enddate",{"_index":20066,"title":{},"body":{"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{}}}],["this.endpointurl",{"_index":20609,"title":{},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["this.enrichdatafromexternaltool(createdschoolexternaltool",{"_index":19834,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.enrichdatafromexternaltool(tool",{"_index":19825,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.enrichwithdatafromexternaltools(schoolexternaltools",{"_index":19823,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.ensureboardnodetype(this.getchildren(boardnode",{"_index":3525,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.ensurecontextpermissions(userid",{"_index":10158,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.ensureleafnode(boardnode",{"_index":3544,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.ensurepermission(userid",{"_index":11010,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.ensureschoolpermissions(userid",{"_index":10149,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["this.ensuretoolpermissions(userid",{"_index":23022,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["this.entityclass",{"_index":2619,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.entityclass(props",{"_index":2602,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.entityfactory(entityprops",{"_index":2517,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.entityname",{"_index":801,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/ForbiddenLoggableException.html":{}}}],["this.error",{"_index":9830,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["this.errorcode",{"_index":1479,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{}}}],["this.errortype",{"_index":1106,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.everyattendeejoinsmuted",{"_index":24139,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["this.everyattendejoinsmuted",{"_index":23973,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["this.everybodyjoinsasmoderator",{"_index":23975,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["this.exchange",{"_index":19242,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["this.expiresat",{"_index":248,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"entities/H5pEditorTempFile.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"interfaces/ShareTokenProperties.html":{},"classes/ShareTokenResponse.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["this.externalgroups",{"_index":17108,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["this.externalid",{"_index":7782,"title":{},"body":{"entities/CourseNews.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalUserDto.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/LegacySchoolDo.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/TeamNews.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"interfaces/UserProperties.html":{}}}],["this.externalidtoken",{"_index":17119,"title":{},"body":{"classes/OauthLoginResponse.html":{}}}],["this.externalschool",{"_index":17106,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["this.externalschoolid",{"_index":9996,"title":{},"body":{"classes/ExternalSchoolNumberMissingLoggableException.html":{}}}],["this.externalsource",{"_index":12772,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupResponse.html":{},"classes/ResolvedGroupDto.html":{}}}],["this.externalsourcename",{"_index":4696,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{}}}],["this.externaltoolconfigurationservice.filterforavailableexternaltools",{"_index":10160,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.externaltoolconfigurationservice.filterforavailableschoolexternaltools",{"_index":10159,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.externaltoolconfigurationservice.filterforavailabletools",{"_index":10151,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.externaltoolconfigurationservice.filterforcontextrestrictions",{"_index":10162,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.externaltoolconfigurationservice.filterparametersforscope",{"_index":10164,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.externaltoolconfigurationservice.filterparametersforscope(externaltool",{"_index":10153,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.externaltoolconfigurationservice.gettoolcontexttypes",{"_index":10144,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.externaltoolconfigurationuc.getavailabletoolsforcontext",{"_index":22637,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["this.externaltoolconfigurationuc.getavailabletoolsforschool",{"_index":22634,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["this.externaltoolconfigurationuc.gettemplateforcontextexternaltool",{"_index":22644,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["this.externaltoolconfigurationuc.gettemplateforschoolexternaltool",{"_index":22641,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["this.externaltoolconfigurationuc.gettoolcontexttypes",{"_index":22632,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["this.externaltooldomapper.mapcreaterequest(externaltoolparams",{"_index":22762,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooldomapper.mapexternaltoolfilterquerytoexternaltoolsearchquery(filterquery",{"_index":22768,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooldomapper.mapsortingquerytodomain(sortingquery",{"_index":22767,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooldomapper.mapupdaterequest(externaltoolparams",{"_index":22778,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltoolid",{"_index":6707,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["this.externaltoollogoservice.buildlogourl",{"_index":10155,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ToolReferenceService.html":{}}}],["this.externaltoollogoservice.fetchlogo(externaltool",{"_index":11011,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.externaltoollogoservice.getexternaltoolbinarylogo",{"_index":22785,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltoollogoservice.validatelogosize(externaltool",{"_index":11056,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["this.externaltoolmetadataservice.getmetadata(toolid",{"_index":11024,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.externaltoolname",{"_index":18811,"title":{},"body":{"classes/RestrictedContextMismatchLoggable.html":{}}}],["this.externaltoolparametervalidationservice.validatecommon(externaltool",{"_index":11053,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["this.externaltoolpseudonymrepo",{"_index":18251,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.externaltoolpseudonymrepo.deletepseudonymsbyuserid(userid",{"_index":18250,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.externaltoolpseudonymrepo.findbyuserid(userid",{"_index":18248,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.externaltoolpseudonymrepo.findpseudonym(query",{"_index":18254,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.externaltoolpseudonymrepo.findpseudonymbypseudonym(pseudonym",{"_index":18253,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.externaltoolrepo.deletebyid(toolid",{"_index":10947,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaltoolrepo.find(query",{"_index":10930,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaltoolrepo.findbyid(id",{"_index":10939,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaltoolrepo.findbyname(name",{"_index":10942,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaltoolrepo.findbyoauth2configclientid(clientid",{"_index":10943,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaltoolrepo.save(externaltool",{"_index":10926,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaltoolrepo.save(toupdate",{"_index":10929,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaltoolservice.createexternaltool(externaltool",{"_index":11013,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.externaltoolservice.deleteexternaltool(toolid",{"_index":11021,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.externaltoolservice.findbyid(loadedschoolexternaltool.toolid",{"_index":7021,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["this.externaltoolservice.findbyid(schoolexternaltool.toolid",{"_index":6963,"title":{},"body":{"injectables/ContextExternalToolService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/FeathersRosterService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolReferenceService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.externaltoolservice.findbyid(tool.toolid",{"_index":19826,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.externaltoolservice.findbyid(toolid",{"_index":10349,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{}}}],["this.externaltoolservice.findexternaltoolbyname",{"_index":16771,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.externaltoolservice.findexternaltoolbyname(externaltool.name",{"_index":10479,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.externaltoolservice.findexternaltoolbyoauth2configclientid",{"_index":11336,"title":{},"body":{"injectables/FeathersRosterService.html":{},"injectables/OauthProviderLoginFlowService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.externaltoolservice.findexternaltoolbyoauth2configclientid(externaltool.config.clientid",{"_index":11071,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["this.externaltoolservice.findexternaltools",{"_index":10145,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.externaltoolservice.findexternaltools(query",{"_index":11020,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.externaltoolservice.updateexternaltool(toupdate",{"_index":11019,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.externaltooluc.createexternaltool(currentuser.userid",{"_index":22763,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooluc.deleteexternaltool(currentuser.userid",{"_index":22782,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooluc.findexternaltool(currentuser.userid",{"_index":22769,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooluc.getexternaltool",{"_index":22774,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooluc.getmetadataforexternaltool",{"_index":22792,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooluc.updateexternaltool",{"_index":22779,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltoolversionservice.increaseversionofnewtoolifnecessary(loadedtool",{"_index":10928,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaluser",{"_index":17104,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["this.externaluserid",{"_index":9975,"title":{},"body":{"classes/ExternalGroupUserDto.html":{},"classes/ProvisioningDto.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["this.extractaccount(account",{"_index":14733,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.extractaccount(keycloakuser",{"_index":14718,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.extractaccount(keycloakusers[0",{"_index":14725,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.extractaccount(user",{"_index":14736,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.extractattributevalue(user.attributes?.dbcaccountid",{"_index":14753,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.extractattributevalue(user.attributes?.dbcsystemid",{"_index":14749,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.extractattributevalue(user.attributes?.dbcuserid",{"_index":14751,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.extractid(url",{"_index":4156,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["this.extractparamsfromrequest(request",{"_index":15043,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.extractreferences(elements",{"_index":3313,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.extractvalidationerrordetails(childerror",{"_index":1415,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["this.extractvalidationerrordetails(validationerror",{"_index":1405,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["this.factory.createdto",{"_index":19220,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["this.feathersauthprovider.getpermittedschools(userid",{"_index":11221,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["this.feathersauthprovider.getpermittedtargets(userid",{"_index":11222,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["this.feathersauthprovider.getuserschoolpermissions(userid",{"_index":11208,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["this.feathersauthprovider.getusertargetpermissions(userid",{"_index":11209,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["this.feathersserviceprovider.getservice('/etherpad/pads",{"_index":9944,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["this.feathersserviceprovider.getservice('/nexboard/boards",{"_index":16684,"title":{},"body":{"injectables/NexboardService.html":{}}}],["this.feathersserviceprovider.getservice('users",{"_index":11191,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["this.feathersserviceprovider.getservice(`${targetmodel}/:scopeid/userpermissions",{"_index":11178,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["this.feathersserviceprovider.getservice(`/users/:scopeid/${targetmodel",{"_index":11183,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["this.feathersserviceprovider.getservice(`path",{"_index":25562,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["this.features",{"_index":7474,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/LegacySchoolDo.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/UsersList.html":{}}}],["this.federalstate",{"_index":14925,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/LegacySchoolDo.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.federalstaterepo.findbyname(name",{"_index":11396,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["this.federalstateservice.findfederalstatebyname",{"_index":17587,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.fetchbase64logo(externaltool.logourl",{"_index":10338,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["this.fieldname",{"_index":13656,"title":{},"body":{"classes/IdTokenExtractionFailureLoggableException.html":{}}}],["this.filecopyservice.copyfilesofparent",{"_index":18408,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.filecopyservicefactory.build",{"_index":5431,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["this.filename",{"_index":13376,"title":{},"body":{"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["this.files",{"_index":11673,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.filesrepo.delete(file",{"_index":8905,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.filesrepo.findforcleanup(thresholddate",{"_index":8879,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.filesstorageclientadapterservice.copyfilesofparent",{"_index":20041,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["this.filesstorageclientadapterservice.copyfilesofparent(copyfilesofparentparams",{"_index":7242,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["this.filesstorageclientadapterservice.deletefilesofparent(fileelement.id",{"_index":18472,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.filesstorageclientadapterservice.deletefilesofparent(lesson.id",{"_index":15520,"title":{},"body":{"injectables/LessonService.html":{}}}],["this.filesstorageclientadapterservice.deletefilesofparent(linkelement.id",{"_index":18475,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.filesstorageclientadapterservice.deletefilesofparent(submission.id",{"_index":20949,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["this.filesstorageclientadapterservice.deletefilesofparent(task.id",{"_index":21744,"title":{},"body":{"injectables/TaskService.html":{}}}],["this.filesstorageservice.copyfilesofparent(userid",{"_index":12223,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["this.filesstorageservice.deletefilesofparent(filerecords",{"_index":12232,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["this.filesstorageservice.getfilerecordsofparent(payload",{"_index":12230,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["this.filesstorageservice.getfilerecordsofparent(payload.parentid",{"_index":12226,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["this.filesstorageuc.downloadbysecuritytoken(token",{"_index":11954,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["this.filesstorageuc.updatesecuritystatus(token",{"_index":11962,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["this.filestoragemqproducer.copyfilesofparent(param",{"_index":12147,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["this.filestoragemqproducer.deletefilesofparent(parentid",{"_index":12152,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["this.filestoragemqproducer.listfilesofparent(param",{"_index":12150,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["this.filesystemadapter.createdir(targetfolder",{"_index":5297,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.filesystemadapter.eol",{"_index":5313,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.filesystemadapter.joinpath(__dirname",{"_index":5199,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.filesystemadapter.joinpath(basedir",{"_index":5227,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.filesystemadapter.joinpath(targetfolder",{"_index":5221,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.filesystemadapter.joinpath(this.basedir",{"_index":5204,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.filesystemadapter.readdir(basedir",{"_index":5225,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.filesystemadapter.readfile(filepath",{"_index":5280,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.filesystemadapter.writefile(filepath",{"_index":5312,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.filetype",{"_index":18348,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["this.filterallowed(userid",{"_index":4528,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.filterbypermission(elements",{"_index":9639,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.filtercoursesbytoolavailability(courses",{"_index":11299,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.filteremailadresses(data.bcc",{"_index":16062,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.filteremailadresses(data.cc",{"_index":16060,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.filteremailadresses(data.recipients",{"_index":16058,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.filteremailadresses(data.replyto",{"_index":16064,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.filtersubmissionsbypermission(submissions",{"_index":20974,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["this.filtertoolswithpermissions(userid",{"_index":7008,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["this.findallforstudent(user",{"_index":21802,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.findallforteacher(user",{"_index":21803,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.findalltasks(currentuser",{"_index":21394,"title":{},"body":{"controllers/TaskController.html":{}}}],["this.findandcount(scope",{"_index":11880,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["this.findbyexternalid(externalid",{"_index":23283,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["this.findbyid(accountid",{"_index":783,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this.findbyid(boardnode.parentid",{"_index":3667,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.findbyid(id",{"_index":3644,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.findbyid(userid",{"_index":23910,"title":{},"body":{"injectables/UserService.html":{}}}],["this.findbynames([rolename.administrator",{"_index":19034,"title":{},"body":{"injectables/RoleService.html":{}}}],["this.findbyuserid(userid",{"_index":785,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this.findexistinggridelement(elementwithposition",{"_index":8619,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.findexistingtargets(columnboardids",{"_index":5581,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["this.findexternaltoolpseudonymsbyuserid(userid",{"_index":18237,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.findimportusersandcount(scope.query",{"_index":14053,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["this.findlegacyltitool",{"_index":16774,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.findmigrationbyschool(schoolid",{"_index":23668,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.findnewsandcount(scope.query",{"_index":16551,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this.findnextcloudtool",{"_index":16748,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.findoneorfail(scope",{"_index":11877,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["this.findpseudonymbypseudonym(pseudonym",{"_index":11292,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.findpseudonymsbyuserid(userid",{"_index":18236,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.findtasksandcount(scope.query",{"_index":21623,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["this.findteambyid(teamid",{"_index":5128,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.finduserafterprovisioningorthrow(externaluserid",{"_index":16858,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.finishcoursecopying(coursecopy",{"_index":7588,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.finished",{"_index":21285,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.finished.add(user",{"_index":21346,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.finished.getidentifiers('_id",{"_index":21288,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.finished.remove(user",{"_index":21348,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.finished.set(props.finished",{"_index":21275,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.finishedat",{"_index":23511,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["this.finishedat.toisostring",{"_index":23537,"title":{},"body":{"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["this.firstname",{"_index":11147,"title":{},"body":{"classes/ExternalUserDto.html":{},"classes/GroupUserResponse.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDataResponse.html":{},"classes/UserDto.html":{},"classes/UserInfoResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{}}}],["this.firstnamesearchvalues",{"_index":23228,"title":{},"body":{"classes/UserDO.html":{}}}],["this.flagged",{"_index":13807,"title":{},"body":{"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{}}}],["this.flushsize",{"_index":22251,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.forcepasswordchange",{"_index":23148,"title":{},"body":{"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"interfaces/UserProperties.html":{}}}],["this.formattedjwt",{"_index":1634,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["this.friendlyurl",{"_index":8092,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.from",{"_index":9967,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["this.frontchannel_logout_uri",{"_index":8098,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.frontchannellogouturi",{"_index":16910,"title":{},"body":{"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["this.fullname",{"_index":2266,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["this.fullpath",{"_index":18717,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["this.fullscreen",{"_index":11657,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.fwulearningcontentsuc.get(path",{"_index":12403,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["this.generatearray(amount",{"_index":3839,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.generatebrokersystems([system",{"_index":15316,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["this.generatebrokersystems(systems",{"_index":15325,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["this.generatechecksum(callname",{"_index":2426,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.generatepreview(params",{"_index":17947,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.get('/api/v1/me",{"_index":1111,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.get('/events",{"_index":4306,"title":{},"body":{"injectables/CalendarService.html":{}}}],["this.get(`${oauthconfig.authendpoint}?${query",{"_index":13492,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.get(location",{"_index":13515,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.get(path",{"_index":1163,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.getadditionalerrorinfo(idtoken.email",{"_index":14233,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["this.getadminidandtoken",{"_index":1158,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.getandpseudonyms(students",{"_index":11317,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.getandpseudonyms(substitutionteachers",{"_index":11319,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.getandpseudonyms(teachers",{"_index":11318,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.getasadmin(`/api/v1/groups.info?roomname=${groupname",{"_index":1145,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.getasadmin(`/api/v1/groups.members?roomname=${groupname",{"_index":1143,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.getasadmin(`/api/v1/groups.moderators?roomname=${groupname",{"_index":1141,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.getasadmin(`/api/v1/users.list?${querystring",{"_index":1121,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.getbbbrequestconfig(this.presentationurl",{"_index":2394,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.getboardauthorizable(boarddo",{"_index":3419,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["this.getboardvalue(contextexternaltool.contextref.id",{"_index":2044,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["this.getbydraftforcreatorquery(creatorid",{"_index":21729,"title":{},"body":{"classes/TaskScope.html":{}}}],["this.getbydraftquery(false",{"_index":21730,"title":{},"body":{"classes/TaskScope.html":{}}}],["this.getbydraftquery(isdraft",{"_index":21728,"title":{},"body":{"classes/TaskScope.html":{}}}],["this.getbydraftquery(true",{"_index":21731,"title":{},"body":{"classes/TaskScope.html":{}}}],["this.getchildren(boardnode",{"_index":3571,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.getchildren(boardnode).map((node",{"_index":3564,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.getcollectionnames",{"_index":8817,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.getcopiesforchildrenof(original",{"_index":18397,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.getcopyname(originaltask.name",{"_index":21480,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.getcopystatusesforchildrenof(original",{"_index":18400,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.getcoursegroupstudentids",{"_index":20683,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.getcoursesfromuserspseudonym(loadedpseudonym",{"_index":11298,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.getcoursevalue(board.context.id",{"_index":2055,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["this.getcoursevalue(contextexternaltool.contextref.id",{"_index":2041,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["this.getdatabasecollection(collectionname",{"_index":8804,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.getdefaultmaxduedate",{"_index":21812,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.getdefaultmetadata(url",{"_index":4157,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/TaskUrlHandler.html":{}}}],["this.getdestinationcourse(parentparams.courseid",{"_index":21474,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.getdestinationlesson(parentparams.lessonid",{"_index":21479,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.getdocnamefromrequest(request",{"_index":22388,"title":{},"body":{"classes/TldrawWs.html":{}}}],["this.getelement(position",{"_index":8461,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.getelementbytargetid(id",{"_index":2956,"title":{},"body":{"entities/Board.html":{}}}],["this.getelements().map((el",{"_index":2966,"title":{},"body":{"entities/Board.html":{}}}],["this.getelementwithwritepermission(userid",{"_index":9763,"title":{},"body":{"injectables/ElementUc.html":{}}}],["this.getentitypermissions(userid",{"_index":11215,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["this.getexternalsubclientmapperconfiguration",{"_index":14572,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.getfileinfo(filename",{"_index":22090,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.getfilepath(user.id",{"_index":22093,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.getfilteredgroupusers(externalgroup",{"_index":17631,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.getfinisheduserids",{"_index":21298,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.getfirstopenindex",{"_index":8456,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.getgradedsubmissions",{"_index":21327,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.getgroupdata(groupname",{"_index":1130,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.getgroupuser(externalgroup.user",{"_index":17633,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.getgroupuser(externalgroupuser",{"_index":17640,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.getid",{"_index":8410,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.getidpmapperconfiguration(idpalias",{"_index":14594,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.getinternalid(accountdto.id",{"_index":936,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.getinternalid(accountid",{"_index":951,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.getinternalid(id",{"_index":927,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.getjwtfromresponse(response",{"_index":1657,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["this.getmaildomain(mail",{"_index":16069,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.getmaxsubmissions",{"_index":21331,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.getmeetinginfo(new",{"_index":2408,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.getnewspermissions(userid",{"_index":16650,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.getoauthconfig",{"_index":14669,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.getorconstructdashboardmodelentity(entity",{"_index":8638,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.getorcreatecourseboard(courseid",{"_index":3967,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this.getparent",{"_index":6225,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.getpath(subpath",{"_index":1638,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["this.getpermittedcourses(user",{"_index":21788,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.getpermittedlessons(user",{"_index":21789,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.getpermittedtargets(userid",{"_index":16645,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.getpreviewfile(params",{"_index":17948,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.getpropertyvalue(e",{"_index":9840,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["this.getprovisioningstrategy(oauthdata.system.provisioningstrategy",{"_index":18105,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.getprovisioningstrategy(system.provisioningstrategy",{"_index":18101,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.getreferencesfromposition(from",{"_index":8432,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.getrepository(tool",{"_index":18239,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.getrepository(tool).findbyuseridandtoolidorfail(user.id",{"_index":18234,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.getschoolname(externalschool",{"_index":17582,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.getseedfolder",{"_index":5208,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.getshorttitle",{"_index":7510,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.getsubmissionitems",{"_index":21307,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.getsubmittedsubmissions",{"_index":21326,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.getsubmitterids",{"_index":20688,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.gettargetfilters(userid",{"_index":16663,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.gettargetfolder(toseedfolder",{"_index":5296,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.gettasksitems",{"_index":6210,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["this.getteammemberids",{"_index":20682,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.geturl('create",{"_index":2389,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.geturl('end",{"_index":2410,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.geturl('getmeetinginfo",{"_index":2414,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.geturl('join",{"_index":2409,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.geturl(filesstorageinternalactions.downloadbysecuritytoken",{"_index":1334,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["this.geturl(filesstorageinternalactions.updatesecuritystatus",{"_index":1336,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["this.getuser(userid",{"_index":11173,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["this.getuserrole(user",{"_index":11296,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.getvideoconferenceoptions(scope",{"_index":24207,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["this.getydoc(docname",{"_index":22512,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.getydocfrommdb(docname",{"_index":22264,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.grade",{"_index":20656,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["this.gradecomment",{"_index":20658,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.graded",{"_index":4100,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"classes/TaskStatusResponse.html":{}}}],["this.gradelevel",{"_index":4644,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["this.grant_type",{"_index":1514,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["this.granttype",{"_index":14910,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.grid",{"_index":8422,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.delete(key",{"_index":8448,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.delete(this.gridindexfromposition(position",{"_index":8469,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.get(i",{"_index":8460,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.get(key",{"_index":8428,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.get(this.gridindexfromposition(position",{"_index":8429,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.keys()].foreach((key",{"_index":8441,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.keys()].map((key",{"_index":8426,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.set(index",{"_index":8459,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.set(this.gridindexfromposition(element.pos",{"_index":8424,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.set(this.gridindexfromposition(position",{"_index":8472,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.values",{"_index":8454,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.gridelements",{"_index":8527,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["this.gridelements.set(props.gridelements",{"_index":8502,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["this.group.externalid",{"_index":19882,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["this.groupelements",{"_index":8526,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["this.groupid",{"_index":8525,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["this.grouprepo.delete(group",{"_index":12913,"title":{},"body":{"injectables/GroupService.html":{}}}],["this.grouprepo.findbyexternalsource(externalid",{"_index":12908,"title":{},"body":{"injectables/GroupService.html":{}}}],["this.grouprepo.findbyid(id",{"_index":12906,"title":{},"body":{"injectables/GroupService.html":{}}}],["this.grouprepo.findbyuser(user",{"_index":12909,"title":{},"body":{"injectables/GroupService.html":{}}}],["this.grouprepo.findclassesforschool(schoolid",{"_index":12910,"title":{},"body":{"injectables/GroupService.html":{}}}],["this.grouprepo.save(group",{"_index":12912,"title":{},"body":{"injectables/GroupService.html":{}}}],["this.grouprule",{"_index":19271,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.groups.set(props.groups",{"_index":7476,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.groupservice.delete(group",{"_index":17662,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.groupservice.findbyexternalsource",{"_index":17622,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.groupservice.findbyuser(user",{"_index":17650,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.groupservice.save(group",{"_index":17637,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.groupuc.findallclasses",{"_index":12694,"title":{},"body":{"controllers/GroupController.html":{}}}],["this.groupuc.getgroup(currentuser.userid",{"_index":12701,"title":{},"body":{"controllers/GroupController.html":{}}}],["this.groupuser.externaluserid",{"_index":23375,"title":{},"body":{"classes/UserForGroupNotFoundLoggable.html":{}}}],["this.groupuser.rolename",{"_index":23376,"title":{},"body":{"classes/UserForGroupNotFoundLoggable.html":{}}}],["this.guest",{"_index":2271,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["this.guestpolicy",{"_index":2189,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["this.h",{"_index":6592,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.h5peditoruc.createh5pcontentgetmetadata",{"_index":13190,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.deleteh5pcontent(currentuser",{"_index":13177,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.getajax(query",{"_index":13166,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.getcontentfile",{"_index":13159,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.getcontentparameters(id",{"_index":13158,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.getemptyh5peditor(currentuser",{"_index":13181,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.geth5peditor",{"_index":13186,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.geth5pplayer(currentuser",{"_index":13140,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.getlibraryfile(params.ubername",{"_index":13153,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.gettemporaryfile",{"_index":13164,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.postajax(currentuser",{"_index":13175,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.saveh5pcontentgetmetadata",{"_index":13200,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.handlecolumnboardintegration(roomid",{"_index":19194,"title":{},"body":{"injectables/RoomsService.html":{}}}],["this.handlers",{"_index":16261,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["this.handlers.find((h",{"_index":16274,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["this.hasaccesstosubmission(user",{"_index":20925,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["this.haschangedparameternames(oldparams",{"_index":11113,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["this.haschangedparameterregex(newparams",{"_index":11114,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["this.haschangedparameterscope(newparams",{"_index":11116,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["this.haschangedparametertypes(newparams",{"_index":11115,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["this.haschangedrequiredparameters(oldparams",{"_index":11112,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["this.haschild(child",{"_index":3081,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["this.hascoursereadpermission(user",{"_index":19137,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["this.hascoursewritepermission(user",{"_index":19138,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["this.hasduplicateattributes(externaltool.parameters",{"_index":10459,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.hasnewrequiredparameter(oldparams",{"_index":11111,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["this.hasparent",{"_index":3902,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["this.hasparentpermission(user",{"_index":21692,"title":{},"body":{"injectables/TaskRule.html":{}}}],["this.hasparenttaskreadaccess(user",{"_index":20930,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["this.hasparenttaskwriteaccess(user",{"_index":20929,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["this.haspath(req.route",{"_index":18718,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["this.haspermission(user",{"_index":1987,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["this.haspermissionbyreferences(userid",{"_index":1959,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["this.hasreadaccess(user",{"_index":20927,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["this.hasscanstatuswontcheck",{"_index":11800,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.hasschoolmigrated(school.externalid",{"_index":19976,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.haswriteaccess(user",{"_index":20926,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["this.headers",{"_index":2130,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["this.height",{"_index":4421,"title":{},"body":{"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"classes/CardResponse.html":{},"classes/CardSkeletonResponse.html":{}}}],["this.hidden",{"_index":3761,"title":{},"body":{"classes/BoardLessonResponse.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["this.host}${location",{"_index":13502,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.httpservice",{"_index":1165,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.httpservice.delete(`${configuration.get('tldraw_uri",{"_index":9558,"title":{},"body":{"injectables/DrawingElementAdapterService.html":{}}}],["this.httpservice.get(input.system.provisioningurl",{"_index":19509,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.httpservice.get(logourl",{"_index":10339,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["this.httpservice.get(url",{"_index":2411,"title":{},"body":{"injectables/BBBService.html":{},"injectables/HydraSsoService.html":{}}}],["this.httpservice.get(url.tostring",{"_index":4310,"title":{},"body":{"injectables/CalendarService.html":{}}}],["this.httpservice.post",{"_index":8976,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["this.httpservice.post(this.postdeletionexecutionsendpoint",{"_index":8996,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["this.httpservice.post(tokenendpoint",{"_index":16953,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["this.httpservice.post(url",{"_index":2395,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.httpservice.request",{"_index":14671,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.httpstatus",{"_index":10285,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{}}}],["this.hydracookies",{"_index":7059,"title":{},"body":{"classes/CookiesDto.html":{}}}],["this.hydrassoservice.generateconfig(oauthclientid",{"_index":13416,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.hydrassoservice.initauth(hydraoauthconfig",{"_index":13426,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.hydrassoservice.processredirect(dto",{"_index":13434,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.hydrauc.getoauthtoken(oauthclientid",{"_index":17472,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["this.hydrauc.requestauthcode(jwt",{"_index":17480,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["this.id",{"_index":458,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{},"classes/BaseDO.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardContextResponse.html":{},"classes/BoardLessonResponse.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/BoardResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/CardResponse.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ColumnResponse.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextRef.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"entities/Course.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DashboardResponse.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"classes/ExternalToolResponse.html":{},"classes/FileDto-1.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/GridElement.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupResponse.html":{},"classes/GroupUserResponse.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/IGridElement.html":{},"classes/LegacySchoolDo.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/LumiUserWithContentData.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymResponse.html":{},"classes/PublicSystemResponse.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"classes/ResolvedGroupDto.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RoleDto.html":{},"classes/RoleReference.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolInfoResponse.html":{},"classes/ScopeRef.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/SystemDto.html":{},"classes/TargetInfoResponse.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"classes/UserDto.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UsersList.html":{}}}],["this.identifiername",{"_index":16793,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["this.idmoauthservice.getoauthconfig",{"_index":15346,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["this.idmoauthservice.isoauthconfigavailable",{"_index":15343,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["this.idmoauthservice.resourceownerpasswordgrant(username",{"_index":15668,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["this.idmreferenceid",{"_index":858,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["this.idmservice.findaccountbydbcaccountid(id.tostring",{"_index":660,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["this.idmservice.findaccountbyid(id",{"_index":658,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["this.idphint",{"_index":14906,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.idtoken",{"_index":16880,"title":{},"body":{"classes/OAuthTokenDto.html":{},"classes/OauthDataStrategyInputDto.html":{}}}],["this.idtokenservice.createidtoken(userid",{"_index":17213,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["this.imagemagick(original.data",{"_index":17897,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["this.imageurl",{"_index":15617,"title":{},"body":{"classes/LinkElementContent.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/LinkElementResponse.html":{},"classes/MetaTagExtractorResponse.html":{}}}],["this.importhash",{"_index":18669,"title":{},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"classes/UserDO.html":{}}}],["this.importuserid",{"_index":13925,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["this.importuserschoolid",{"_index":19894,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["this.info.appname",{"_index":1427,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["this.info.basepath",{"_index":1430,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["this.info.mountsdescription",{"_index":1432,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["this.info.port",{"_index":1428,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["this.initializes3clientmap",{"_index":8873,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.injectenvvars(filecontent",{"_index":5281,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.injectenvvars(s",{"_index":5258,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.inmaintenancesince",{"_index":15155,"title":{},"body":{"classes/LegacySchoolDo.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["this.inner",{"_index":5998,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["this.inner.caninline",{"_index":6003,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["this.inner.content",{"_index":6004,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["this.inner.transform",{"_index":6005,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["this.inputformat",{"_index":18853,"title":{},"body":{"classes/RichTextElementContent.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"classes/RichTextElementResponse.html":{}}}],["this.installlibraries(librariestoinstall.slice(0",{"_index":13347,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.installlibraries(this.librarywishlist",{"_index":13351,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.integration",{"_index":12457,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["this.internallinkmatatagservice.tryinternallinkmetatags(url",{"_index":16224,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["this.inusermigration",{"_index":15157,"title":{},"body":{"classes/LegacySchoolDo.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["this.invitationlink",{"_index":4641,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["this.isallowedaschild(child",{"_index":3076,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["this.isarchived",{"_index":20533,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["this.isauthenticationresponse(response.body",{"_index":1681,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["this.isauthorizedstudent(userid",{"_index":20863,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["this.isautoparameterglobal(param",{"_index":10466,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isblocked",{"_index":11793,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.isclientidunique(externaltool",{"_index":11068,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["this.iscolumnboardfeatureflagactive",{"_index":9645,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.iscustomparameternameempty(param",{"_index":10461,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isdefaultvalueofvalidregex(param",{"_index":10476,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isdefaultvalueofvalidtype(param",{"_index":10475,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isdirectory",{"_index":11549,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.isdraft",{"_index":4101,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskStatusResponse.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.isfinished",{"_index":4103,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"classes/TaskStatusResponse.html":{}}}],["this.isfinishedforuser(user",{"_index":21332,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.isglobalparametervalid(param",{"_index":10463,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isgraceperiodexpired(userloginmigration",{"_index":23656,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.isgraded",{"_index":20692,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["this.isgradedforuser(user",{"_index":21336,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.isgroup",{"_index":8403,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.ishidden",{"_index":8100,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.isinternalurl(url",{"_index":16266,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["this.islatest(contextexternaltool",{"_index":6065,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["this.islatest(schoolexternaltool",{"_index":6064,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["this.islocal",{"_index":8085,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.ismigrationactive(userloginmigration",{"_index":16307,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["this.isnameunique(externaltool",{"_index":10456,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isoauthprovisioningenabledforschool(officialschoolnumber",{"_index":16854,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.isobjectempty(group",{"_index":19528,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.isobjectempty(relation",{"_index":19525,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.isoptional",{"_index":8156,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{}}}],["this.isoutdatedonscopecontext",{"_index":6680,"title":{},"body":{"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ToolStatusOutdatedLoggableException.html":{}}}],["this.isoutdatedonscopeschool",{"_index":6678,"title":{},"body":{"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/ToolStatusOutdatedLoggableException.html":{}}}],["this.ispending",{"_index":11798,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.ispreviewpossible",{"_index":11795,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.ispropertyprivacyprotected(e.target",{"_index":9847,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["this.isregexcommentmandatoryandfilled(param",{"_index":10470,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isregexvalid(param",{"_index":10473,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isschoolnumberunique(school",{"_index":20053,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["this.isslash(inputpath",{"_index":1664,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["this.isslash(path",{"_index":1667,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["this.issubmitted",{"_index":20676,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["this.issubmittedforuser(user",{"_index":21335,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.issubstitutionteacher",{"_index":4102,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"classes/TaskStatusResponse.html":{}}}],["this.issuer",{"_index":14919,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.isteacher",{"_index":9660,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.istemplate",{"_index":8083,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.istoolstatuslatestorthrow(userid",{"_index":22903,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.isuniqueemail(email",{"_index":1003,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["this.isupgradable",{"_index":4702,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{}}}],["this.isusermigrated(user",{"_index":16309,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["this.isuserreferenced(user",{"_index":1841,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["this.isusersubmitter(user",{"_index":20675,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.isusersubstitutionteacherincourse(user",{"_index":21333,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.isvaluevalidfortype(param.type",{"_index":6151,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["this.isverified",{"_index":11769,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.joinpath(os.tmpdir",{"_index":12043,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["this.jwksendpoint",{"_index":14921,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.jwt",{"_index":16803,"title":{},"body":{"classes/OAuthProcessDto.html":{}}}],["this.jwtservice.sign(user",{"_index":1731,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["this.jwtvalidationadapter.addtowhitelist(user.accountid",{"_index":1734,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["this.jwtvalidationadapter.iswhitelisted(accountid",{"_index":14305,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["this.jwtvalidationadapter.removefromwhitelist(decodedjwt.accountid",{"_index":1739,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["this.kcadmin.callkcadminclient",{"_index":14513,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["this.kcadmin.getadminuser",{"_index":14836,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["this.kcadmin.getclientid",{"_index":14545,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.kcadmin.setpasswordpolicy",{"_index":14625,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.kcadmin.testkcconnection",{"_index":14621,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.kcadminclient",{"_index":14395,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.kcadminclient.auth(this.kcsettings.credentials",{"_index":14396,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.kcadminclient.callkcadminclient",{"_index":14701,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.kcadminclient.callkcadminclient()).users.del",{"_index":14737,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.kcadminclient.callkcadminclient()).users.find",{"_index":14734,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.kcadminclient.callkcadminclient()).users.findone",{"_index":14716,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.kcadminclient.setconfig",{"_index":14391,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.kcadminservice.getclientid",{"_index":14659,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.kcadminservice.getclientsecret",{"_index":14661,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.kcadminservice.getwellknownurl",{"_index":14655,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.kcadminservice.testkcconnection",{"_index":14668,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.kcsettings.baseurl}/realms/${this.kcsettings.realmname}/.well",{"_index":14397,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.kcsettings.clientid",{"_index":14400,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.kcsettings.credentials.username",{"_index":14399,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.kcsettings.realmname",{"_index":14410,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.key",{"_index":8065,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["this.key).tostring",{"_index":20597,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["this.key).tostring(cryptojs.enc.utf8",{"_index":20600,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["this.keycloakconfigservice.configurebrokerflows",{"_index":14627,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.keycloakconfigservice.configureclient",{"_index":14626,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.keycloakconfigservice.configureidentityproviders",{"_index":14629,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.keycloakconfigservice.configurerealm",{"_index":14628,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.keycloakconfigurationuc.check",{"_index":4891,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.keycloakconfigurationuc.clean(options.pagesize",{"_index":4901,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.keycloakconfigurationuc.configure",{"_index":4916,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.keycloakconfigurationuc.migrate",{"_index":4926,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.keycloakconfigurationuc.seed",{"_index":4909,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.keycloakmanagementuc.check",{"_index":14774,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["this.keycloakmanagementuc.configure",{"_index":14775,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["this.keycloakmanagementuc.seed",{"_index":14776,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["this.keycloakmigrationservice.migrate(skip",{"_index":14624,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.keycloakseedservice.clean(pagesize",{"_index":14622,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.keycloakseedservice.seed",{"_index":14623,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.keyvalue",{"_index":1763,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["this.language",{"_index":6578,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"interfaces/UserProperties.html":{}}}],["this.lastauthorizationtime",{"_index":14413,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.lastloginsystemchange",{"_index":23153,"title":{},"body":{"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"interfaces/UserProperties.html":{}}}],["this.lastmodifytimestamp",{"_index":14933,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.lastname",{"_index":11149,"title":{},"body":{"classes/ExternalUserDto.html":{},"classes/GroupUserResponse.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDataResponse.html":{},"classes/UserDto.html":{},"classes/UserInfoResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{}}}],["this.lastnamesearchvalues",{"_index":23230,"title":{},"body":{"classes/UserDO.html":{}}}],["this.lastsuccessfulfullsync",{"_index":14929,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.lastsuccessfulpartialsync",{"_index":14931,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.lastsyncattempt",{"_index":14927,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.lasttriedfailedlogin",{"_index":246,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{}}}],["this.lastupdatedat",{"_index":22204,"title":{},"body":{"classes/TimestampsResponse.html":{}}}],["this.launch_presentation_locale",{"_index":15852,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{}}}],["this.ldapactive",{"_index":21089,"title":{},"body":{"classes/SystemDto.html":{}}}],["this.ldapconfig",{"_index":14981,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.ldapdn",{"_index":4646,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"interfaces/UserProperties.html":{}}}],["this.ldapdn?.match(pattern_login_from_dn",{"_index":13812,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["this.ldapencryptionservice.encrypt",{"_index":5370,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.ldapservice.checkldapcredentials(system",{"_index":15058,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.legacylogger.debug",{"_index":10935,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.legacylogger.warn",{"_index":19986,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.legacysystemservice.findbyid(id",{"_index":21227,"title":{},"body":{"injectables/SystemUc.html":{}}}],["this.legacysystemservice.findbytype(systemtypeenum.oauth",{"_index":21225,"title":{},"body":{"injectables/SystemUc.html":{}}}],["this.legacysystemservice.findbytype(type",{"_index":21226,"title":{},"body":{"injectables/SystemUc.html":{}}}],["this.legayschoolrule",{"_index":19265,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.lesson",{"_index":21272,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.lesson.hidden",{"_index":21343,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.lesson.name",{"_index":21342,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.lessoncopyservice.copylesson",{"_index":3349,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/LessonCopyUC.html":{},"injectables/ShareTokenUC.html":{}}}],["this.lessoncopyservice.updatecopiedembeddedtasks(elementcopystatus",{"_index":3376,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.lessoncopyuc.copylesson",{"_index":19178,"title":{},"body":{"controllers/RoomsController.html":{}}}],["this.lessonhidden",{"_index":21515,"title":{},"body":{"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{}}}],["this.lessonreadpermission(user",{"_index":15485,"title":{},"body":{"injectables/LessonRule.html":{}}}],["this.lessonrepo.delete(lesson",{"_index":15521,"title":{},"body":{"injectables/LessonService.html":{}}}],["this.lessonrepo.findallbycourseids(courseids",{"_index":15523,"title":{},"body":{"injectables/LessonService.html":{}}}],["this.lessonrepo.findbyid(lessonid",{"_index":15522,"title":{},"body":{"injectables/LessonService.html":{}}}],["this.lessonrepo.findbyuserid(userid",{"_index":15524,"title":{},"body":{"injectables/LessonService.html":{}}}],["this.lessonrepo.save(updatedlessons",{"_index":15529,"title":{},"body":{"injectables/LessonService.html":{}}}],["this.lessonrule",{"_index":19261,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.lessonrule.haspermission(user",{"_index":21695,"title":{},"body":{"injectables/TaskRule.html":{}}}],["this.lessonservice",{"_index":18601,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.lessonservice.deletelesson(lesson",{"_index":15538,"title":{},"body":{"injectables/LessonUC.html":{}}}],["this.lessonservice.findbycourseids([courseid",{"_index":5745,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["this.lessonservice.findbycourseids([originallesson.course.id",{"_index":15401,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["this.lessonservice.findbycourseids([roomid",{"_index":19191,"title":{},"body":{"injectables/RoomsService.html":{}}}],["this.lessonservice.findbycourseids(readcourseids",{"_index":21836,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.lessonservice.findbycourseids(writecourseids",{"_index":21835,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.lessonservice.findbyid(id",{"_index":15543,"title":{},"body":{"injectables/LessonUrlHandler.html":{}}}],["this.lessonservice.findbyid(lessonid",{"_index":15393,"title":{},"body":{"injectables/LessonCopyUC.html":{},"injectables/LessonUC.html":{},"injectables/TaskCopyUC.html":{}}}],["this.lessonservice.findbyid(sharetoken.payload.parentid)).name",{"_index":20437,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.lessonservice.savelesson(lesson",{"_index":26029,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.lessonuc.delete(currentuser.userid",{"_index":15374,"title":{},"body":{"controllers/LessonController.html":{}}}],["this.lessonurlhandler",{"_index":16263,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["this.lessonwritepermission(user",{"_index":15486,"title":{},"body":{"injectables/LessonRule.html":{}}}],["this.level",{"_index":3896,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["this.library",{"_index":12472,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["this.libraryadministration",{"_index":13321,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.libraryadministration.getlibraries",{"_index":13349,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.librarymanager",{"_index":13316,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.librarystorage",{"_index":13317,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.librarystorage.deletelibrary(librariestocheck[lastpositionlibrariestocheckarray",{"_index":13335,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.librarywishlist",{"_index":13327,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.license",{"_index":6584,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"classes/Path.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["this.licenseextras",{"_index":6611,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.licenseversion",{"_index":6602,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.limit",{"_index":17708,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["this.listobjectkeysrecursive(params",{"_index":19375,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.loadaccount(username",{"_index":15049,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.loadaccounts",{"_index":14831,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["this.loadallcollectionsfromdatabase(folder",{"_index":5238,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.loadallcollectionsfromfilesystem(folder",{"_index":5237,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.loadcollectionsavailablefromsourceandfilterbycollectionnames",{"_index":5277,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.loader.loadauthorizableobject(entityname",{"_index":1962,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["this.loadtoolhierarchy(schoolexternaltoolid",{"_index":22902,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.loadusers",{"_index":14830,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["this.localcookies",{"_index":7057,"title":{},"body":{"classes/CookiesDto.html":{}}}],["this.location",{"_index":8148,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalSchoolDto.html":{},"classes/PropertyData.html":{}}}],["this.logger",{"_index":20227,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["this.logger.alert(message",{"_index":9880,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["this.logger.crit(message",{"_index":9881,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["this.logger.debug",{"_index":4131,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"injectables/S3ClientAdapter.html":{},"injectables/ShareTokenUC.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["this.logger.debug('[ldap",{"_index":15020,"title":{},"body":{"injectables/LdapService.html":{}}}],["this.logger.debug('usersearcindex",{"_index":5330,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.logger.debug(`adding",{"_index":16765,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.logger.debug(`contextexternaltool",{"_index":22707,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["this.logger.debug(`created",{"_index":2507,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.logger.debug(`externaltool",{"_index":22765,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.logger.debug(`removing",{"_index":16760,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.logger.debug(`schoolexternaltool",{"_index":23061,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.logger.debug(`updated",{"_index":2513,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.logger.debug(err",{"_index":15018,"title":{},"body":{"injectables/LdapService.html":{}}}],["this.logger.debug(message",{"_index":15699,"title":{},"body":{"injectables/Logger.html":{}}}],["this.logger.debug(new",{"_index":22550,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["this.logger.debug(this.createmessage(message",{"_index":15128,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["this.logger.emerg(message",{"_index":9879,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["this.logger.error('could",{"_index":9948,"title":{},"body":{"injectables/EtherpadService.html":{},"injectables/NexboardService.html":{}}}],["this.logger.error(`${err.message",{"_index":19334,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.logger.error(`migration",{"_index":14793,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["this.logger.error(`the",{"_index":8888,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.logger.error(err",{"_index":14777,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["this.logger.error(error",{"_index":8907,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.logger.error(loggable",{"_index":12551,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.logger.error(message",{"_index":9882,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["this.logger.error(this.createmessage(result",{"_index":15130,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["this.logger.http(logging",{"_index":18759,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["this.logger.info",{"_index":15069,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.logger.info(message",{"_index":15698,"title":{},"body":{"injectables/Logger.html":{}}}],["this.logger.info(new",{"_index":10342,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"injectables/NewsUc.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SanisResponseMapper.html":{},"injectables/StartUserLoginMigrationUc.html":{}}}],["this.logger.info(this.createmessage(message",{"_index":15126,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["this.logger.log",{"_index":8837,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/NextcloudStrategy.html":{}}}],["this.logger.log('before",{"_index":9702,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["this.logger.log('cleanup",{"_index":8843,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["this.logger.log(`${oauthconfig.authendpoint}?${query",{"_index":13490,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.logger.log(`...deleted",{"_index":14841,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["this.logger.log(`...migrated",{"_index":14794,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["this.logger.log(`after",{"_index":9704,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["this.logger.log(`amount",{"_index":14839,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["this.logger.log(`initialized",{"_index":8895,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.logger.log(`migration",{"_index":14792,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["this.logger.log(`starting",{"_index":14837,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["this.logger.log(`stream",{"_index":19406,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.logger.log(axiosconfig",{"_index":13491,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.logger.log(localdto",{"_index":13513,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.logger.log(new",{"_index":25592,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["this.logger.notice(message",{"_index":15697,"title":{},"body":{"injectables/Logger.html":{}}}],["this.logger.notice(this.createmessage(message",{"_index":15129,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["this.logger.setcontext(`${context.getclass().name}::${context.gethandler().name",{"_index":18752,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["this.logger.setcontext(boarduc.name",{"_index":4130,"title":{},"body":{"injectables/BoardUc.html":{}}}],["this.logger.setcontext(carduc.name",{"_index":4525,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.logger.setcontext(collaborativestorageadapter.name",{"_index":5006,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["this.logger.setcontext(collaborativestoragecontroller.name",{"_index":5080,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["this.logger.setcontext(collaborativestorageservice.name",{"_index":5121,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.logger.setcontext(columnuc.name",{"_index":5674,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["this.logger.setcontext(databasemanagementuc.name",{"_index":5195,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.logger.setcontext(deletefilesconsole.name",{"_index":8836,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["this.logger.setcontext(deletefilesuc.name",{"_index":8872,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.logger.setcontext(drawingelementadapterservice.name",{"_index":9557,"title":{},"body":{"injectables/DrawingElementAdapterService.html":{}}}],["this.logger.setcontext(elementuc.name",{"_index":9762,"title":{},"body":{"injectables/ElementUc.html":{}}}],["this.logger.setcontext(filesstorageclientadapterservice.name",{"_index":12146,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["this.logger.setcontext(filesstorageconsumer.name",{"_index":12221,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["this.logger.setcontext(filesstorageproducer.name",{"_index":12313,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["this.logger.setcontext(fwulearningcontentsuc.name",{"_index":12443,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["this.logger.setcontext(hydraoauthuc.name",{"_index":13413,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.logger.setcontext(keycloakconsole.name",{"_index":4876,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.logger.setcontext(keycloakmanagementcontroller.name",{"_index":14772,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["this.logger.setcontext(keycloakmigrationservice.name",{"_index":14786,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["this.logger.setcontext(ldapservice.name",{"_index":15004,"title":{},"body":{"injectables/LdapService.html":{}}}],["this.logger.setcontext(newsuc.name",{"_index":16635,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.logger.setcontext(nextcloudstrategy.name",{"_index":16721,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.logger.setcontext(oauthservice.name",{"_index":16844,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.logger.setcontext(oauthssocontroller.name",{"_index":17468,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["this.logger.setcontext(previewgeneratorconsumer.name",{"_index":17841,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["this.logger.setcontext(previewgeneratorservice.name",{"_index":17883,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["this.logger.setcontext(previewproducer.name",{"_index":17913,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["this.logger.setcontext(previewservice.name",{"_index":17937,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.logger.setcontext(restartuserloginmigrationuc.name",{"_index":18799,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{}}}],["this.logger.setcontext(s3clientadapter.name",{"_index":19330,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.logger.setcontext(sharetokenuc.name",{"_index":20468,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.logger.setcontext(startuserloginmigrationuc.name",{"_index":20565,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["this.logger.setcontext(youruc.name",{"_index":25590,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["this.logger.warn",{"_index":16778,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.logger.warn('no",{"_index":21001,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["this.logger.warn(`boardcopyservice",{"_index":3342,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.logger.warn(`could",{"_index":17944,"title":{},"body":{"injectables/PreviewService.html":{},"injectables/S3ClientAdapter.html":{}}}],["this.logger.warn(`placeholder",{"_index":5357,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.logger.warn(err",{"_index":3323,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.logger.warning",{"_index":19971,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.logger.warning(message",{"_index":15696,"title":{},"body":{"injectables/Logger.html":{}}}],["this.logger.warning(new",{"_index":17894,"title":{},"body":{"injectables/PreviewGeneratorService.html":{},"injectables/UserMigrationService.html":{}}}],["this.logger.warning(this.createmessage(message",{"_index":15127,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["this.loginname",{"_index":13927,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["this.loginuc.getlogindata(user",{"_index":15768,"title":{},"body":{"controllers/LoginController.html":{}}}],["this.logo",{"_index":10035,"title":{},"body":{"classes/ExternalTool.html":{},"classes/ExternalToolLogo.html":{},"interfaces/ExternalToolProps.html":{}}}],["this.logo_url",{"_index":8069,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.logobase64",{"_index":10241,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["this.logourl",{"_index":6712,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolResponse.html":{},"classes/County.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceResponse.html":{}}}],["this.logoutendpoint",{"_index":14917,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.logoutflowuc.logoutflow(params.challenge",{"_index":17301,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.logouturl",{"_index":2185,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.lookuptoken(token",{"_index":20433,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.lti_message_type",{"_index":8071,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.lti_version",{"_index":8073,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.ltirepo.findbyoauthclientid(oauthclientid",{"_index":13525,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.ltitoolrepo.findbyclientidandislocal(clientid",{"_index":16018,"title":{},"body":{"injectables/LtiToolService.html":{}}}],["this.ltitoolrepo.findbyname(this.client.oidcinternalname",{"_index":16776,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.ltitoolservice.findbyclientidandislocal(clientid",{"_index":17334,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["this.machinename",{"_index":11587,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.mainlibrary",{"_index":6580,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["this.majorversion",{"_index":11588,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.manageclientsconnections",{"_index":24381,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.mandatory",{"_index":23541,"title":{},"body":{"classes/UserLoginMigrationMandatoryLoggable.html":{}}}],["this.mandatorysince",{"_index":23505,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["this.mapbasictoolconfigdotoentity(entitydo.config",{"_index":10682,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.mapbasictoolconfigdotoresponse(externaltool.config",{"_index":10842,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["this.mapbasictoolconfigtodo(entity.config",{"_index":10657,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.mapboardelements(board",{"_index":19062,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["this.mapcolumnboardelement(element",{"_index":9656,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.mapcontenttoresource(lesson.id",{"_index":5754,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["this.mapcourseteacherstocopyrightowners(course",{"_index":5738,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["this.mapcourseuserstousergroup(course",{"_index":3429,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["this.mapcustomparameterdostoentities(entitydo.parameters",{"_index":10689,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.mapcustomparameterstodos(entity.parameters",{"_index":10664,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.mapcustomparametertoresponse",{"_index":10845,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["this.mapdomainobjecttoentityproperties(domainobject",{"_index":10551,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["this.mapdotoentityproperties(domainobject",{"_index":2516,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.mapelementtoentity(e",{"_index":8614,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.mapentitytodo(entity",{"_index":2502,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["this.mapentitytodo(school",{"_index":15213,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["this.mapentitytodo(schools[0",{"_index":15217,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["this.mapentitytodo(user",{"_index":23282,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["this.mapentitytodo(userentity",{"_index":23279,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["this.mapentitytodo(userloginmigration",{"_index":23578,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["this.mapentitytodomainobject(entities",{"_index":10557,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["this.mapentitytodomainobject(entity",{"_index":10545,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["this.mapexternalgroup(source",{"_index":19587,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["this.mapexternalsourceentitytoexternalsource(entity.externalsource",{"_index":12749,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["this.mapexternalsourcetoexternalsourceentity(props.externalsource",{"_index":12738,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["this.mapfromdtotoresponse(system",{"_index":21191,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["this.mapfromentitytodto(entity",{"_index":18986,"title":{},"body":{"classes/RoleMapper.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{}}}],["this.mapgridelementtomodel(elementwithposition",{"_index":8641,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.mapgroupuserentitytogroupuser(groupuser",{"_index":12744,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["this.mapldapconfigentitytodomainobject(entity.ldapconfig",{"_index":21075,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["this.maplessonelement(element",{"_index":9655,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.maplti11toolconfigdotoentity(entitydo.config",{"_index":10684,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.maplti11toolconfigdotoresponse(externaltool.config",{"_index":10843,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["this.maplti11toolconfigtodo(entity.config",{"_index":10659,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.mapoauth2configdotoentity(entitydo.config",{"_index":10683,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.mapoauth2configtodo(entity.config",{"_index":10658,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.mapoauth2toolconfigdotoresponse(externaltool.config",{"_index":10844,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["this.mapoauthconfigentitytodomainobject(entity.oauthconfig",{"_index":21073,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["this.mapper.mapdashboardtoentity(dashboardmodel",{"_index":8677,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.mapper.mapdashboardtoentity(modelentity",{"_index":8673,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.mapper.mapdashboardtomodel(entity",{"_index":8671,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.mapper.mapdotoprovideroauthclient",{"_index":10924,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.mapper.maptoresponse(board",{"_index":19166,"title":{},"body":{"controllers/RoomsController.html":{}}}],["this.mappers.find((mapper",{"_index":6402,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["this.mappseudonymtouserdata(pseudonym",{"_index":11323,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.mapreferencetoentity(ref",{"_index":8606,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.mapreferencetomodel(ref",{"_index":8635,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.maprequesttobasictoolconfig(externaltoolcreateparams.config",{"_index":10780,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["this.maprequesttobasictoolconfig(externaltoolupdateparams.config",{"_index":10766,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["this.maprequesttocustomparameterdo",{"_index":10770,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["this.maprequesttocustomparameterentrydo(contextexternaltool.parameters",{"_index":6867,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["this.maprequesttocustomparameterentrydo(request.parameters",{"_index":6823,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["this.maprequesttolti11toolconfigcreate(externaltoolcreateparams.config",{"_index":10781,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["this.maprequesttolti11toolconfigupdate(externaltoolupdateparams.config",{"_index":10767,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["this.maprequesttooauth2toolconfigcreate(externaltoolcreateparams.config",{"_index":10782,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["this.maprequesttooauth2toolconfigupdate(externaltoolupdateparams.config",{"_index":10768,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["this.mapsanisroletorolename(source",{"_index":19580,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["this.mapsubmissionitemtoresponse(item",{"_index":20824,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["this.maptaskelement(element",{"_index":9653,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.maptoclassinfotoresponse(classinfo",{"_index":12851,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["this.maptocontextexternaltoolconfigurationtemplateresponse(tool",{"_index":22672,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["this.maptocustomparameterentryresponse(schoolexternaltool.parameters",{"_index":19791,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["this.maptodo(entity",{"_index":4767,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{}}}],["this.maptoelementdtos(filtered",{"_index":9640,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.maptoentity(domainobject",{"_index":4769,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{}}}],["this.maptoexternalgroupuser",{"_index":19591,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["this.maptoexternalgroupuser(relation",{"_index":19596,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["this.maptoresponse(element",{"_index":6407,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["this.maptoschoolexternaltoolconfigurationtemplateresponse(tool",{"_index":22669,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["this.maptoschoolexternaltoolresponse(tooldo",{"_index":19788,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["this.maptotoolreferenceresponse(toolreference",{"_index":6872,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["this.mapuserstoresponse(user",{"_index":20826,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["this.match",{"_index":13934,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["this.matchedby",{"_index":13820,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["this.matchsinglerule(selectedrules",{"_index":19276,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.materials.getitems",{"_index":6222,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["this.materials.isinitialized(true",{"_index":6221,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["this.materials.set(props.materials",{"_index":6202,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["this.max_redirects",{"_index":13437,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.maxexternaltoollogosizeinbytes",{"_index":10362,"title":{},"body":{"classes/ExternalToolLogoSizeExceededLoggableException.html":{}}}],["this.maxsubmissions",{"_index":4099,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"classes/TaskStatusResponse.html":{}}}],["this.mdb",{"_index":22256,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.mdb.flushdocument(docname",{"_index":22273,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.mdb.getydoc(docname",{"_index":22259,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.mdb.storeupdate(docname",{"_index":22262,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.meetingid",{"_index":2145,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{}}}],["this.mergeelementintoposition(elementtomove",{"_index":8434,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.merlinreference",{"_index":16121,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["this.message",{"_index":4218,"title":{},"body":{"classes/BusinessError.html":{},"classes/ErrorResponse.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/PreviewActionsLoggable.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["this.messagehandler(ws",{"_index":22517,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.metadata",{"_index":6637,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["this.metadataprops.version",{"_index":5933,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["this.metadatasettings",{"_index":11661,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.metadescription",{"_index":6594,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.metakeywords",{"_index":6596,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.metatagextractorservice.getmetadata(url",{"_index":16249,"title":{},"body":{"injectables/MetaTagExtractorUc.html":{}}}],["this.metatagextractoruc.getmetadata(currentuser.userid",{"_index":16160,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["this.method",{"_index":18714,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["this.migrationcheckservice.shouldusermigrate",{"_index":16855,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.mimetype",{"_index":7137,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileDto.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{},"interfaces/ParentInfo.html":{}}}],["this.minorversion",{"_index":11589,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.moderatormustapprovejoinrequests",{"_index":23977,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["this.moderatorpw",{"_index":2191,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["this.modifiedcount",{"_index":9133,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["this.multiplecollections",{"_index":22253,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.name",{"_index":2183,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardTaskResponse.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupResponse.html":{},"interfaces/H5PContentParentParams.html":{},"classes/H5pFileDto.html":{},"entities/InstalledLibrary.html":{},"classes/LegacySchoolDo.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LibraryName.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/PropertyData.html":{},"classes/ResolvedGroupDto.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolInfoResponse.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"classes/TaskListResponse.html":{},"interfaces/TaskParent.html":{},"classes/TaskResponse.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"classes/UsersList.html":{},"classes/WsSharedDocDo.html":{}}}],["this.name.length",{"_index":7503,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.newsrepo.delete(news",{"_index":16659,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.newsrepo.findallpublished(targets",{"_index":16648,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.newsrepo.findallunpublishedbyuser(targets",{"_index":16647,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.newsrepo.findonebyid(id",{"_index":16651,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.newsrepo.save(news",{"_index":16641,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.newsuc.create",{"_index":16433,"title":{},"body":{"controllers/NewsController.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["this.newsuc.delete(urlparams.newsid",{"_index":16447,"title":{},"body":{"controllers/NewsController.html":{}}}],["this.newsuc.findallforuser",{"_index":16437,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{}}}],["this.newsuc.findonebyidforuser(urlparams.newsid",{"_index":16442,"title":{},"body":{"controllers/NewsController.html":{}}}],["this.newsuc.update",{"_index":16443,"title":{},"body":{"controllers/NewsController.html":{}}}],["this.nowplusdays(options.expiresindays",{"_index":20478,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.numberofdrafttasks",{"_index":3763,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["this.numberofplannedtasks",{"_index":3764,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["this.numberofpublishedtasks",{"_index":3762,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["this.oauthadapterservice.getpublickey(oauthconfig.jwksendpoint",{"_index":16868,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.oauthadapterservice.sendauthenticationcodetokenrequest",{"_index":16865,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.oauthclientid",{"_index":8090,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.oauthconfig",{"_index":14977,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.oauthencryptionservice.decrypt(clientsecret",{"_index":14670,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.oauthencryptionservice.decrypt(oauthconfig.clientsecret",{"_index":16871,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.oauthencryptionservice.encrypt(await",{"_index":14660,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.oauthencryptionservice.encrypt(tool.secret",{"_index":13534,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.oauthproviderloginflowservice.findtoolbyclientid",{"_index":17362,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.oauthproviderloginflowservice.findtoolbyclientid(clientid",{"_index":13689,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["this.oauthproviderloginflowservice.isnextcloudtool(tool",{"_index":17364,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.oauthproviderloginflowuc.getloginrequest(params.challenge",{"_index":17293,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderloginflowuc.patchloginrequest",{"_index":17296,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderresponsemapper.mapconsentresponse(consentrequest",{"_index":17307,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderresponsemapper.mapconsentsessionstoresponse(session",{"_index":17315,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderresponsemapper.maploginresponse(loginresponse",{"_index":17294,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderresponsemapper.mapoauthclientresponse(client",{"_index":17277,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderresponsemapper.mapredirectresponse(redirect",{"_index":17302,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderresponsemapper.mapredirectresponse(redirectresponse",{"_index":17298,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderservice.acceptconsentrequest",{"_index":17215,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["this.oauthproviderservice.acceptloginrequest",{"_index":17370,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.oauthproviderservice.acceptlogoutrequest(challenge",{"_index":17381,"title":{},"body":{"injectables/OauthProviderLogoutFlowUc.html":{}}}],["this.oauthproviderservice.createoauth2client(datawithdefaults",{"_index":17178,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["this.oauthproviderservice.createoauth2client(oauthclient",{"_index":10925,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.oauthproviderservice.deleteoauth2client(id",{"_index":17180,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["this.oauthproviderservice.getconsentrequest(challenge",{"_index":17204,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["this.oauthproviderservice.getloginrequest(challenge",{"_index":17357,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.oauthproviderservice.getoauth2client",{"_index":10951,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.oauthproviderservice.getoauth2client(config.clientid",{"_index":10958,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.oauthproviderservice.getoauth2client(id",{"_index":17174,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["this.oauthproviderservice.listconsentsessions(userid",{"_index":17450,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["this.oauthproviderservice.listoauth2clients",{"_index":17173,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["this.oauthproviderservice.rejectconsentrequest",{"_index":17212,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["this.oauthproviderservice.rejectloginrequest",{"_index":17375,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.oauthproviderservice.revokeconsentsession(userid",{"_index":17451,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["this.oauthproviderservice.updateoauth2client(id",{"_index":17179,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["this.oauthproviderservice.updateoauth2client(loadedoauthclient.client_id",{"_index":10955,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.oauthprovideruc.listconsentsessions",{"_index":17313,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthprovideruc.revokeconsentsession(currentuser.userid",{"_index":17318,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthservice.authenticateuser(systemid",{"_index":16895,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["this.oauthservice.authenticateuser(targetsystemid",{"_index":23693,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["this.oauthservice.provisionuser(systemid",{"_index":16896,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["this.oauthservice.requesttoken",{"_index":13418,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.oauthservice.validatetoken(oauthtokens.idtoken",{"_index":13420,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.officialschoolnumber",{"_index":9986,"title":{},"body":{"classes/ExternalSchoolDto.html":{},"classes/LegacySchoolDo.html":{},"entities/SchoolEntity.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["this.oidcconfig",{"_index":14979,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.oidcidentityprovidermapper.maptokeycloakidentityprovider(oidcconfig",{"_index":14585,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.oidcprovisioningservice.provisionexternalgroup",{"_index":17680,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["this.oidcprovisioningservice.provisionexternalschool(data.externalschool",{"_index":17672,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["this.oidcprovisioningservice.provisionexternaluser",{"_index":17674,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["this.oidcprovisioningservice.removeexternalgroupsandaffiliation",{"_index":17677,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["this.on('update",{"_index":24379,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.openinnewtab",{"_index":22953,"title":{},"body":{"classes/ToolReference.html":{},"classes/ToolReferenceResponse.html":{}}}],["this.opennewtab",{"_index":8096,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["this.operation",{"_index":9131,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{}}}],["this.options",{"_index":9495,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["this.options.adminid",{"_index":1181,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.options.adminpassword",{"_index":1186,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.options.admintoken",{"_index":1182,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.options.adminuser",{"_index":1185,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.options.copyrightowners",{"_index":5859,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.options.creationyear",{"_index":5860,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.options.enabled",{"_index":1332,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["this.options.exchange",{"_index":1338,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["this.options.filesservicebaseurl",{"_index":1349,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["this.options.identifier",{"_index":5857,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.options.module",{"_index":22138,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["this.options.routingkey",{"_index":1339,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.options.title",{"_index":5858,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.options.uri",{"_index":1191,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.options.version",{"_index":5861,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.organization",{"_index":12777,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["this.organizationelements.map((organizationelement",{"_index":5987,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["this.organizationid",{"_index":12834,"title":{},"body":{"classes/GroupResponse.html":{},"classes/ResolvedGroupDto.html":{}}}],["this.organizations.flatmap((organization",{"_index":5854,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.organizations.map((organization",{"_index":5852,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.organizations.push(organizationbuilder",{"_index":5848,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.origin",{"_index":14177,"title":{},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{}}}],["this.origintoolid",{"_index":8125,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["this.orm.close",{"_index":16361,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["this.orm.getschemagenerator().ensureindexes",{"_index":8821,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.otherusers",{"_index":9965,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["this.outdatedsince",{"_index":23155,"title":{},"body":{"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"interfaces/UserProperties.html":{}}}],["this.ownedbyuserid",{"_index":13377,"title":{},"body":{"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["this.parameters",{"_index":6664,"title":{},"body":{"classes/ContextExternalTool.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["this.parameters.map((param",{"_index":16341,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["this.parametertype",{"_index":17715,"title":{},"body":{"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["this.params",{"_index":2084,"title":{},"body":{"classes/AxiosErrorFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/ShareTokenFactory.html":{}}}],["this.params(params",{"_index":577,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LtiToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["this.parentid",{"_index":7133,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileDto-1.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/ShareTokenPayloadResponse.html":{}}}],["this.parentname",{"_index":20357,"title":{},"body":{"classes/ShareTokenInfoResponse.html":{}}}],["this.parentpermission(user",{"_index":15492,"title":{},"body":{"injectables/LessonRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.parents",{"_index":23157,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["this.parentsmap.get(card.id",{"_index":18535,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(column.id",{"_index":18534,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(columnboard.id",{"_index":18528,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(drawingelement.id",{"_index":18544,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(externaltoolelement.id",{"_index":18551,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(fileelement.id",{"_index":18536,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(linkelement.id",{"_index":18538,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(richtextelement.id",{"_index":18542,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(submissioncontainerelement.id",{"_index":18546,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(submissionitem.id",{"_index":18548,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.set(child.id",{"_index":18558,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsystemid",{"_index":17492,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["this.parenttitle",{"_index":16191,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["this.parenttype",{"_index":6631,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileDto-1.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"classes/MetaTagExtractorResponse.html":{},"interfaces/ParentInfo.html":{},"entities/ShareToken.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{}}}],["this.password",{"_index":236,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{}}}],["this.patchversion",{"_index":11640,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.path",{"_index":3894,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.path.split(path_separator).filter((id",{"_index":3905,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["this.patterns",{"_index":137,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["this.patterns.some((pattern",{"_index":150,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["this.payload",{"_index":17792,"title":{},"body":{"classes/PreviewActionsLoggable.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenResponse.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["this.performedat",{"_index":9139,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["this.permission",{"_index":9487,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceJoin.html":{}}}],["this.permissionmapper.mapbodytodto(permissionsdto",{"_index":5161,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["this.permissions",{"_index":11539,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"interfaces/RoleProperties.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["this.permissions.filter((permission",{"_index":11540,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.persistandflush(dashboard",{"_index":8679,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.persistence",{"_index":22467,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.persistence.bindstate(docname",{"_index":22496,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.pickimage(data?.result?.ogimage",{"_index":16231,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["this.pin",{"_index":18665,"title":{},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{}}}],["this.pingtimeout",{"_index":22465,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.populate([task",{"_index":21585,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["this.populate(tasks",{"_index":21666,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["this.populateboard(board",{"_index":3968,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this.populatereferences([submission",{"_index":20897,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["this.populatereferences(submissions",{"_index":20898,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["this.populateroles([teamuser.role",{"_index":22017,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["this.populateroles(role.roles.getitems",{"_index":22022,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["this.populateroles(user.roles.getitems",{"_index":23281,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["this.populateroles(userentity.roles.getitems",{"_index":23278,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["this.position",{"_index":3898,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["this.positionfromgridindex(key",{"_index":8427,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.post('/api/v1/logout",{"_index":1119,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.post('/api/v1/users.setstatus",{"_index":1114,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.post(path",{"_index":1159,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.addmoderator",{"_index":1137,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.archive",{"_index":1127,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.create",{"_index":1149,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.delete",{"_index":1151,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.invite",{"_index":1135,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.kick",{"_index":1131,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.removemoderator",{"_index":1139,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.unarchive",{"_index":1123,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/users.create",{"_index":1153,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/users.createtoken",{"_index":1117,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/users.delete",{"_index":1156,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postdeletionexecutionsendpoint",{"_index":8974,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["this.postdeletionrequestsendpoint",{"_index":8971,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["this.preferences",{"_index":23151,"title":{},"body":{"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"interfaces/UserProperties.html":{}}}],["this.preloadedcss",{"_index":11663,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.preloadeddependencies",{"_index":6586,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.preloadedjs",{"_index":11666,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.prepareawarenessmessage(changedclients",{"_index":24382,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.preparebbbcreateconfigbuilder(scope",{"_index":24120,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.previewgeneratorservice.generatepreview(payload",{"_index":17845,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["this.previewproducer.generate(payload",{"_index":17954,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.previewservice.deletepreviews(filerecords",{"_index":12231,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["this.previewstatus",{"_index":7142,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["this.previousexternalid",{"_index":15159,"title":{},"body":{"classes/LegacySchoolDo.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/User.html":{},"classes/UserDO.html":{},"interfaces/UserProperties.html":{}}}],["this.privacy_permission",{"_index":8079,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.private",{"_index":21271,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.proceedbuttonurl",{"_index":17692,"title":{},"body":{"classes/PageContentDto.html":{}}}],["this.processcookies(localdto.response.headers['set",{"_index":13506,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.processredirectcascade(initresponse",{"_index":13427,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.product",{"_index":4200,"title":{},"body":{"classes/Builder.html":{}}}],["this.product.allowmodstounmuteusers",{"_index":2239,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.product.attendeepw",{"_index":2237,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.product.guest",{"_index":2289,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["this.product.guestpolicy",{"_index":2225,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.product.logouturl",{"_index":2223,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.product.moderatorpw",{"_index":2235,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.product.muteonstart",{"_index":2226,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.product.role",{"_index":2290,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["this.product.userid",{"_index":2291,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["this.product.welcome",{"_index":2224,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.product['meta_bbb",{"_index":2227,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.properties",{"_index":22817,"title":{},"body":{"classes/ToolLaunchData.html":{}}}],["this.propertiestopopulate",{"_index":16557,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this.props",{"_index":1771,"title":{},"body":{"interfaces/AuthorizableObject.html":{},"classes/ClassSourceOptions.html":{},"interfaces/ClassSourceOptionsProps.html":{},"classes/DomainObject.html":{}}}],["this.props.alternativetext",{"_index":11450,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["this.props.authtoken",{"_index":18899,"title":{},"body":{"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{}}}],["this.props.caption",{"_index":11448,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["this.props.children",{"_index":3073,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["this.props.completed",{"_index":20780,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["this.props.context",{"_index":5409,"title":{},"body":{"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["this.props.contextexternaltoolid",{"_index":10199,"title":{},"body":{"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{}}}],["this.props.copyrightowners",{"_index":5966,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["this.props.createdat",{"_index":3074,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/Class.html":{},"interfaces/ClassProps.html":{},"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{},"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{}}}],["this.props.creationyear",{"_index":5965,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["this.props.deleteafter",{"_index":9271,"title":{},"body":{"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{}}}],["this.props.deletedcount",{"_index":9110,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["this.props.deletionrequestid",{"_index":9111,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["this.props.description",{"_index":5886,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["this.props.domain",{"_index":9107,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["this.props.duedate",{"_index":20698,"title":{},"body":{"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{}}}],["this.props.externalsource",{"_index":12653,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.props.gradelevel",{"_index":4600,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.height",{"_index":4329,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{}}}],["this.props.href",{"_index":5921,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["this.props.html",{"_index":6013,"title":{},"body":{"classes/CommonCartridgeWebContentResource.html":{}}}],["this.props.id",{"_index":1772,"title":{},"body":{"interfaces/AuthorizableObject.html":{},"classes/DomainObject.html":{}}}],["this.props.identifier",{"_index":5919,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["this.props.imageurl",{"_index":15608,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["this.props.inputformat",{"_index":18842,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["this.props.intendeduse",{"_index":6014,"title":{},"body":{"classes/CommonCartridgeWebContentResource.html":{}}}],["this.props.invitationlink",{"_index":4598,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.ldapconfig",{"_index":21009,"title":{},"body":{"classes/System.html":{},"interfaces/SystemProps.html":{}}}],["this.props.ldapdn",{"_index":4601,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.modifiedcount",{"_index":9109,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["this.props.name",{"_index":4594,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.props.operation",{"_index":9108,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["this.props.organizationid",{"_index":12654,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.props.performedat",{"_index":9112,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["this.props.pseudonym",{"_index":18135,"title":{},"body":{"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{}}}],["this.props.rcid",{"_index":18898,"title":{},"body":{"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{}}}],["this.props.requireduserrole",{"_index":3403,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["this.props.resources.map",{"_index":5837,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.props.resources.map((content",{"_index":5976,"title":{},"body":{"classes/CommonCartridgeOrganizationItemElement.html":{}}}],["this.props.resources.push(props",{"_index":5842,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.props.schoolid",{"_index":4595,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.source",{"_index":4603,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.sourceoptions",{"_index":4604,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.sourceschoolid",{"_index":20044,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["this.props.status",{"_index":9273,"title":{},"body":{"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{}}}],["this.props.successor",{"_index":4602,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.targetrefdomain",{"_index":9270,"title":{},"body":{"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{}}}],["this.props.targetrefid",{"_index":9272,"title":{},"body":{"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{}}}],["this.props.targetschoolid",{"_index":20046,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["this.props.teacherids",{"_index":4597,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.text",{"_index":18840,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["this.props.title",{"_index":4327,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["this.props.toolid",{"_index":18136,"title":{},"body":{"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{}}}],["this.props.tspuid",{"_index":4814,"title":{},"body":{"classes/ClassSourceOptions.html":{},"interfaces/ClassSourceOptionsProps.html":{}}}],["this.props.type",{"_index":5920,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.props.updatedat",{"_index":3075,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/Class.html":{},"interfaces/ClassProps.html":{},"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{},"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{}}}],["this.props.url",{"_index":5888,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["this.props.userid",{"_index":18137,"title":{},"body":{"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["this.props.userids",{"_index":4596,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.userids?.filter((userid1",{"_index":4605,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.username",{"_index":18897,"title":{},"body":{"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{}}}],["this.props.users",{"_index":3402,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["this.props.users.filter((groupuser",{"_index":12655,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.props.users.length",{"_index":12657,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.props.version",{"_index":5895,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["this.props.year",{"_index":4599,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.propsfactory",{"_index":2598,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.propsfactory.afterbuild(afterbuildfn",{"_index":2609,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.propsfactory.associations(associations",{"_index":2612,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.propsfactory.build(params",{"_index":2601,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.propsfactory.params(params",{"_index":2613,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.propsfactory.rewindsequence",{"_index":2615,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.propsfactory.transient(transient",{"_index":2614,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.propsfactory['sequence",{"_index":2622,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.provider",{"_index":14874,"title":{},"body":{"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.provideroptions",{"_index":14943,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.provisioningservice.getdata",{"_index":23695,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["this.provisioningservice.getdata(systemid",{"_index":16850,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.provisioningservice.provisiondata(data",{"_index":16857,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.provisioningstrategy",{"_index":14983,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/ProvisioningSystemDto.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.provisioningurl",{"_index":14985,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/ProvisioningSystemDto.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.pseudonym",{"_index":10507,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/TooManyPseudonymsLoggableException.html":{}}}],["this.pseudonymrepo",{"_index":18252,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.pseudonymrepo.deletepseudonymsbyuserid(userid",{"_index":18249,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.pseudonymrepo.findbyuserid(userid",{"_index":18246,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.pseudonymservice",{"_index":16752,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.pseudonymservice.findbyuserandtoolorthrow(user",{"_index":13691,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["this.pseudonymservice.findorcreatepseudonym(user",{"_index":11325,"title":{},"body":{"injectables/FeathersRosterService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.pseudonymservice.findpseudonymbypseudonym(pseudonym",{"_index":11329,"title":{},"body":{"injectables/FeathersRosterService.html":{},"injectables/PseudonymUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.pseudonymservice.getiframesubject(loadedpseudonym.pseudonym",{"_index":11295,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.pseudonymservice.getiframesubject(pseudonym.pseudonym",{"_index":11344,"title":{},"body":{"injectables/FeathersRosterService.html":{},"injectables/IdTokenService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.pseudonymuc.findpseudonymbypseudonym(currentuser.userid",{"_index":18163,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["this.publicsubmissions",{"_index":21276,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.published",{"_index":3038,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{},"entities/ColumnBoardTarget.html":{}}}],["this.publishedat",{"_index":24349,"title":{},"body":{"classes/VisibilitySettingsResponse.html":{}}}],["this.random(50",{"_index":3842,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.rcid",{"_index":18908,"title":{},"body":{"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["this.read",{"_index":11702,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["this.reason",{"_index":11740,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/ParentInfo.html":{},"classes/ScanResultDto.html":{}}}],["this.redirect",{"_index":2273,"title":{},"body":{"classes/BBBJoinConfig.html":{},"classes/MigrationDto.html":{},"classes/OAuthProcessDto.html":{}}}],["this.redirect_to",{"_index":18568,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["this.redirect_uri",{"_index":1512,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["this.redirecturi",{"_index":14912,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.redirecturis",{"_index":16906,"title":{},"body":{"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["this.redisclient",{"_index":20226,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["this.referencedentityid",{"_index":18627,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["this.referencedentityname",{"_index":18626,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["this.references",{"_index":8397,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.references.getitems",{"_index":2959,"title":{},"body":{"entities/Board.html":{}}}],["this.references.length",{"_index":8405,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.references.set(elements",{"_index":2963,"title":{},"body":{"entities/Board.html":{}}}],["this.references.set(newlist",{"_index":2997,"title":{},"body":{"entities/Board.html":{}}}],["this.references.set(onlyexistingreferences",{"_index":2986,"title":{},"body":{"entities/Board.html":{}}}],["this.references.set(props.references",{"_index":2952,"title":{},"body":{"entities/Board.html":{}}}],["this.references.set(references",{"_index":8491,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["this.referer",{"_index":13450,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["this.refid",{"_index":11695,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["this.refownermodel",{"_index":11564,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.refpermmodel",{"_index":11697,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["this.refreshtoken",{"_index":16882,"title":{},"body":{"classes/OAuthTokenDto.html":{}}}],["this.regex",{"_index":8152,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{}}}],["this.regexcomment",{"_index":8154,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{}}}],["this.region",{"_index":20615,"title":{},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["this.registerparentdata(parent",{"_index":18526,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.registerstrategy(iservstrategy",{"_index":18097,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.registerstrategy(oidcmockstrategy",{"_index":18098,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.registerstrategy(sanisstrategy",{"_index":18096,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.registrationpinrepo.deleteregistrationpinbyemail(email",{"_index":18691,"title":{},"body":{"injectables/RegistrationPinService.html":{}}}],["this.rejectconsentrequest(challenge",{"_index":17210,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["this.rejectloginrequest(challenge",{"_index":17359,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.rejectnothandled(card",{"_index":6468,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(column",{"_index":6467,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(columnboard",{"_index":6466,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(drawingelement",{"_index":6497,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(externaltoolelement",{"_index":6506,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(fileelement",{"_index":6474,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(linkelement",{"_index":6490,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(richtextelement",{"_index":6495,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(submission",{"_index":6501,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(submissioncontainerelement",{"_index":6500,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.relatedresources",{"_index":16123,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["this.relation.ktid",{"_index":12883,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["this.relation.rollen?.[0",{"_index":12885,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["this.removedeletedreferences(boardelementtargets",{"_index":2980,"title":{},"body":{"entities/Board.html":{}}}],["this.removeemptyobjectsfromresponse(axiosresponse.data",{"_index":19511,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.removefromposition(from",{"_index":8435,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.removeprotectedentityfields(newentity",{"_index":2509,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.removeroomsnotinlist(rooms",{"_index":8436,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.removesecrets(collectionname",{"_index":5302,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.removesecretsfromstorageproviders(jsondocuments",{"_index":5384,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.removesecretsfromsystems(jsondocuments",{"_index":5383,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.repeatcommand",{"_index":4900,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.repo.delete(meta",{"_index":22088,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.repo.findallbyuserandfilename(user.id",{"_index":22089,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.repo.findallbyuserid(userid",{"_index":7875,"title":{},"body":{"injectables/CourseService.html":{}}}],["this.repo.findbyid(courseid",{"_index":7874,"title":{},"body":{"injectables/CourseService.html":{}}}],["this.repo.findbyowneruserid(userid",{"_index":12113,"title":{},"body":{"injectables/FilesService.html":{}}}],["this.repo.findbypermissionrefid(userid",{"_index":12108,"title":{},"body":{"injectables/FilesService.html":{}}}],["this.repo.findbyuser(user.id",{"_index":22101,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.repo.findbyuserandfilename(user.id",{"_index":22092,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.repo.findbyuserandfilename(userid",{"_index":22086,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.repo.findbyuserid(userid",{"_index":7716,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["this.repo.findexpired",{"_index":22102,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.repo.save(coursegroups",{"_index":7719,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["this.repo.save(courses",{"_index":7878,"title":{},"body":{"injectables/CourseService.html":{}}}],["this.repo.save(entities",{"_index":12112,"title":{},"body":{"injectables/FilesService.html":{}}}],["this.repos.get(type",{"_index":18612,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.repos.set(authorizablereferencetype.boardnode",{"_index":18608,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.repos.set(authorizablereferencetype.contextexternaltoolentity",{"_index":18610,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.repos.set(authorizablereferencetype.course",{"_index":18592,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.repos.set(authorizablereferencetype.coursegroup",{"_index":18594,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.repos.set(authorizablereferencetype.lesson",{"_index":18600,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.repos.set(authorizablereferencetype.school",{"_index":18598,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.repos.set(authorizablereferencetype.schoolexternaltoolentity",{"_index":18606,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.repos.set(authorizablereferencetype.submission",{"_index":18604,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.repos.set(authorizablereferencetype.task",{"_index":18590,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.repos.set(authorizablereferencetype.team",{"_index":18602,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.repos.set(authorizablereferencetype.user",{"_index":18596,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.request(filespreviewevents.generate_preview",{"_index":17915,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["this.request(filesstorageevents.copy_files_of_parent",{"_index":12315,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["this.request(filesstorageevents.delete_files_of_parent",{"_index":12321,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["this.request(filesstorageevents.list_files_of_parent",{"_index":12318,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["this.request.app.get('feathersapp",{"_index":11363,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["this.requestid",{"_index":9398,"title":{},"body":{"classes/DeletionRequestResponse.html":{}}}],["this.requestmapper.mapschoolexternaltoolrequest(body",{"_index":23058,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.requesttimeout",{"_index":22198,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["this.requesttoken",{"_index":11742,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/ParentInfo.html":{}}}],["this.requesttoken(authcode",{"_index":16848,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.requiredextensions",{"_index":11669,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.resizeandconvert(original",{"_index":17887,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["this.resolvepermissions(user",{"_index":17771,"title":{},"body":{"injectables/PermissionService.html":{}}}],["this.resolvepermissionsbyroles(innerroles",{"_index":17769,"title":{},"body":{"injectables/PermissionService.html":{}}}],["this.resolvepermissionsbyroles(user.roles.getitems",{"_index":17767,"title":{},"body":{"injectables/PermissionService.html":{}}}],["this.resolveplaceholder(placeholder.substring(2",{"_index":5348,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.resolverepo(objectname",{"_index":18614,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.resolvetokenrequest(responsetokenobservable",{"_index":16955,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["this.resource_link_id",{"_index":8075,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.resourceelements.map((resourceelement",{"_index":6008,"title":{},"body":{"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["this.resourceid",{"_index":16794,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["this.resourcename",{"_index":16792,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["this.resources.push(resource",{"_index":5851,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.response",{"_index":1104,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/HydraRedirectDto.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.responsemapper.maptoexternalgroupdtos(axiosresponse.data",{"_index":19517,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.responsemapper.maptoexternalschooldto(axiosresponse.data",{"_index":19516,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.responsemapper.maptoexternaluserdto(axiosresponse.data",{"_index":19514,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.responsemapper.maptoschoolexternaltoolresponse(createdschoolexternaltooldo",{"_index":23066,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.responsemapper.maptoschoolexternaltoolresponse(schoolexternaltool",{"_index":23056,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.responsemapper.maptoschoolexternaltoolresponse(updated",{"_index":23060,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.responsemapper.maptosearchlistresponse(found",{"_index":23053,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.responsetype",{"_index":14913,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.restartuserloginmigrationuc.restartmigration",{"_index":23478,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["this.restricted",{"_index":11672,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.restricttocontexts",{"_index":10038,"title":{},"body":{"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{}}}],["this.resultmap.get(child.id",{"_index":18441,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.resultmap.get(original.id",{"_index":18392,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.resultmap.set(original.id",{"_index":18398,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.rocketchatuserrepo.deletebyuserid(userid",{"_index":18956,"title":{},"body":{"injectables/RocketChatUserService.html":{}}}],["this.rocketchatuserrepo.findbyuserid(userid",{"_index":18955,"title":{},"body":{"injectables/RocketChatUserService.html":{}}}],["this.role",{"_index":2268,"title":{},"body":{"classes/BBBJoinConfig.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"classes/ResolvedGroupUser.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["this.roleid",{"_index":12953,"title":{},"body":{"classes/GroupUser.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{}}}],["this.roleids",{"_index":23348,"title":{},"body":{"classes/UserDto.html":{}}}],["this.rolename",{"_index":9977,"title":{},"body":{"classes/ExternalGroupUserDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["this.rolenames",{"_index":13929,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["this.rolenames.push(...props.rolenames",{"_index":13800,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["this.rolerepo.findbyid(id",{"_index":19035,"title":{},"body":{"injectables/RoleService.html":{}}}],["this.rolerepo.findbyids(ids",{"_index":19037,"title":{},"body":{"injectables/RoleService.html":{}}}],["this.rolerepo.findbynames(names",{"_index":19039,"title":{},"body":{"injectables/RoleService.html":{}}}],["this.roles",{"_index":8077,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/ExternalUserDto.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/UserDO.html":{}}}],["this.roles.getitems",{"_index":18966,"title":{},"body":{"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["this.roles.isinitialized(true",{"_index":18964,"title":{},"body":{"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["this.roles.set(props.roles",{"_index":18963,"title":{},"body":{"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["this.roleservice.findbyid(roleid",{"_index":5129,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.roleservice.findbynames([externalgroupuser.rolename",{"_index":17644,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.roleservice.findbynames(externaluser.roles",{"_index":17596,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.roleservice.findbynames(names",{"_index":19045,"title":{},"body":{"injectables/RoleUc.html":{}}}],["this.roleservice.getprotectedroles",{"_index":23921,"title":{},"body":{"injectables/UserService.html":{}}}],["this.room",{"_index":9634,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.room.color",{"_index":9681,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.room.id",{"_index":9680,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.room.isfinished",{"_index":9684,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.room.name",{"_index":9682,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.room.substitutionteachers.contains(this.user",{"_index":9651,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.room.teachers.contains(this.user",{"_index":9650,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.roomid",{"_index":20532,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["this.roomsauthorisationservice",{"_index":9637,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.roomsauthorisationservice.haslessonreadpermission(this.user",{"_index":9644,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.roomsauthorisationservice.hastaskreadpermission(this.user",{"_index":9643,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.roomsservice.updateboard(board",{"_index":19219,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["this.roomsservice.updateboard(originalboard",{"_index":7577,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.roomsuc.getboard(urlparams.roomid",{"_index":19165,"title":{},"body":{"controllers/RoomsController.html":{}}}],["this.roomsuc.reorderboardelements(urlparams.roomid",{"_index":19171,"title":{},"body":{"controllers/RoomsController.html":{}}}],["this.roomsuc.updatevisibilityofboardelement",{"_index":19167,"title":{},"body":{"controllers/RoomsController.html":{}}}],["this.rootpath",{"_index":14936,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.routepath",{"_index":18719,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["this.rulemanager.selectrule(user",{"_index":1990,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["this.rules",{"_index":19258,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.rules.filter((rule",{"_index":19274,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.runnable",{"_index":11642,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.s3client.delete([this.getfilepath(userid",{"_index":22087,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.s3client.get(path",{"_index":22096,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.s3clientmap.get(storageprovider.id",{"_index":8913,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.s3clientmap.set(provider.id",{"_index":8893,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.s3clientmap.size",{"_index":8896,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.salt",{"_index":2421,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.save(entity",{"_index":15577,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["this.save(this.create(course",{"_index":7833,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["this.save(this.create(lesson",{"_index":15451,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["this.save(this.create(task",{"_index":21584,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["this.saveall([entitydo",{"_index":2492,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.saverecursive(boardnode",{"_index":18533,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.school",{"_index":7460,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{}}}],["this.school.externalid",{"_index":19884,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{}}}],["this.school.id",{"_index":13819,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.school.previousexternalid",{"_index":20002,"title":{},"body":{"classes/SchoolMigrationSuccessfulLoggable.html":{}}}],["this.schoolexternaltoolcount",{"_index":10373,"title":{},"body":{"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataResponse.html":{}}}],["this.schoolexternaltoolid",{"_index":6709,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{}}}],["this.schoolexternaltoolmetadataservice.getmetadata",{"_index":19864,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["this.schoolexternaltoolrepo",{"_index":18607,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.schoolexternaltoolrepo.deletebyexternaltoolid(toolid",{"_index":10946,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.schoolexternaltoolrepo.deletebyid(schoolexternaltoolid",{"_index":19831,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.schoolexternaltoolrepo.find",{"_index":19821,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.schoolexternaltoolrepo.findbyexternaltoolid(toolid",{"_index":10944,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.schoolexternaltoolrepo.findbyid(schoolexternaltoolid",{"_index":19820,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.schoolexternaltoolrepo.save(schoolexternaltool",{"_index":19833,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.schoolexternaltoolrule",{"_index":19267,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.schoolexternaltoolservice.deleteschoolexternaltoolbyid(schoolexternaltoolid",{"_index":19862,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["this.schoolexternaltoolservice.findbyid",{"_index":6962,"title":{},"body":{"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/FeathersRosterService.html":{},"injectables/ToolReferenceService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.schoolexternaltoolservice.findbyid(schoolexternaltoolid",{"_index":10167,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/ToolLaunchService.html":{}}}],["this.schoolexternaltoolservice.findschoolexternaltools",{"_index":10147,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/FeathersRosterService.html":{},"injectables/SchoolExternalToolUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.schoolexternaltoolservice.saveschoolexternaltool",{"_index":19860,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["this.schoolexternaltoolservice.saveschoolexternaltool(updated",{"_index":19863,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["this.schoolexternaltooluc.createschoolexternaltool",{"_index":23065,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.schoolexternaltooluc.deleteschoolexternaltool(currentuser.userid",{"_index":23063,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.schoolexternaltooluc.findschoolexternaltools(currentuser.userid",{"_index":23051,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.schoolexternaltooluc.getmetadataforschoolexternaltool(currentuser.userid",{"_index":23068,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.schoolexternaltooluc.getschoolexternaltool",{"_index":23055,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.schoolexternaltooluc.updateschoolexternaltool",{"_index":23059,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.schoolexternaltoolvalidationservice.validate(schoolexternaltool",{"_index":19859,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{},"injectables/ToolVersionService.html":{}}}],["this.schoolexternaltoolvalidationservice.validate(tool",{"_index":19829,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.schoolid",{"_index":4634,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/ParentInfo.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{}}}],["this.schoolmigrationservice.getschoolformigration",{"_index":23699,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["this.schoolmigrationservice.hasschoolmigrateduser(schoolid",{"_index":4960,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{}}}],["this.schoolmigrationservice.markunmigratedusersasoutdated(updateduserloginmigration",{"_index":4962,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{}}}],["this.schoolmigrationservice.migrateschool",{"_index":23701,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["this.schoolmigrationservice.unmarkoutdatedusers(updateduserloginmigration",{"_index":18801,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{}}}],["this.schoolname",{"_index":19904,"title":{},"body":{"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{}}}],["this.schoolnumber_prefix_regex",{"_index":19574,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["this.schoolparameters",{"_index":19680,"title":{},"body":{"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{}}}],["this.schoolrepo",{"_index":18599,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.schoolrepo.findbyexternalid(externalid",{"_index":15275,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["this.schoolrepo.findbyid(id",{"_index":15274,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["this.schoolrepo.findbyid(schoolid",{"_index":15045,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LegacySchoolService.html":{}}}],["this.schoolrepo.findbyschoolnumber(school.officialschoolnumber",{"_index":20056,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["this.schoolrepo.findbyschoolnumber(schoolnumber",{"_index":15276,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["this.schoolrepo.save(school",{"_index":15273,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["this.schoolrule.haspermission(user",{"_index":26039,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.schoolservice.getschool(params.schoolid",{"_index":26023,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.schoolservice.getschoolbyexternalid",{"_index":17579,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.schoolservice.getschoolbyid(ldapuser.schoolid",{"_index":14236,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["this.schoolservice.getschoolbyid(pseudonymuser.school.id",{"_index":18266,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["this.schoolservice.getschoolbyid(schoolexternaltool.schoolid",{"_index":2071,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"injectables/ToolPermissionHelper.html":{}}}],["this.schoolservice.getschoolbyid(schoolid",{"_index":20570,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["this.schoolservice.getschoolbyid(user.schoolid",{"_index":19973,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.schoolservice.getschoolbyschoolnumber(officialschoolnumber",{"_index":16304,"title":{},"body":{"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{}}}],["this.schoolservice.removefeature",{"_index":23651,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.schoolservice.removefeature(userloginmigration.schoolid",{"_index":23607,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{}}}],["this.schoolservice.save(originalschooldo",{"_index":19970,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.schoolservice.save(school",{"_index":17591,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"injectables/SchoolMigrationService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.schoolservice.save(schooldo",{"_index":23646,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.schooltool",{"_index":6751,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{}}}],["this.schooltoolid",{"_index":6840,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalToolRefDO.html":{}}}],["this.schooltoolref",{"_index":6658,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{}}}],["this.schooltoolrepo.findbyexternaltoolid(toolid",{"_index":10401,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{}}}],["this.schoolvalidationservice.validate(school",{"_index":15277,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["this.schoolyear",{"_index":4700,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/LegacySchoolDo.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["this.schoolyearrepo.findbyid(id",{"_index":20081,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["this.schoolyearrepo.findcurrentyear",{"_index":20080,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["this.schoolyearservice.getcurrentschoolyear",{"_index":17586,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.scope",{"_index":8150,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/LdapConfigEntity.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"classes/ScopeRef.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.scripts",{"_index":12459,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["this.searchbyusername(username",{"_index":782,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this.searchuser",{"_index":14938,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.searchuserpassword",{"_index":14940,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.secret",{"_index":8067,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.secretaccesskey",{"_index":20613,"title":{},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["this.secretvalue",{"_index":1765,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["this.securitycheck",{"_index":11558,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.securitycheck.reason",{"_index":11762,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.securitycheck.requesttoken",{"_index":11764,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.securitycheck.status",{"_index":11761,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.securitycheck.updatedat",{"_index":11763,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.securitycheckstatus",{"_index":7131,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["this.selectconfigureaction(newconfigs",{"_index":14555,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.send(doc",{"_index":22493,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.sendawarenessmessage(buff",{"_index":24383,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.sendhttpresponse(error",{"_index":12553,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.service.createteam(team",{"_index":5163,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["this.service.deleteteam(teamid",{"_index":5162,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["this.service.updateteam(team",{"_index":5164,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["this.service.updateteampermissionsforrole",{"_index":5158,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["this.setmatch(props.user",{"_index":13805,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["this.share",{"_index":21929,"title":{},"body":{"classes/TeamPermissionsDto.html":{}}}],["this.sharetokenrepo.findonebytoken(token",{"_index":20431,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.sharetokenrepo.save(sharetoken",{"_index":20430,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.sharetokens",{"_index":11560,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.sharetokenservice.createtoken(payload",{"_index":20479,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.sharetokenservice.lookuptoken(token",{"_index":20484,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.sharetokenservice.lookuptokenwithparentname(token",{"_index":20480,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.sharetokenuc.createsharetoken",{"_index":20307,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["this.sharetokenuc.importsharetoken",{"_index":20318,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["this.sharetokenuc.lookupsharetoken(currentuser.userid",{"_index":20314,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["this.shorttitle",{"_index":7738,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["this.shouldskipconsent(tool",{"_index":17368,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.size",{"_index":7129,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5pEditorTempFile.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["this.skip",{"_index":17707,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["this.skipconsent",{"_index":8094,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["this.sortbyoriginalorder(resolved",{"_index":3348,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.source",{"_index":4650,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ContentMetadata.html":{},"entities/CourseNews.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["this.sourcedescription",{"_index":7784,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["this.sourceentityid",{"_index":18629,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["this.sourceentityname",{"_index":18628,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["this.sourceid",{"_index":7112,"title":{},"body":{"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["this.sourceoptions",{"_index":4652,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["this.sourceschoolnumber",{"_index":20016,"title":{},"body":{"classes/SchoolNumberMismatchLoggableException.html":{}}}],["this.sourcesystem",{"_index":23527,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["this.sourcesystemid",{"_index":23502,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["this.stack",{"_index":1478,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenLoggableException.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NotFoundLoggableException.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/ValidationErrorLoggableException.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["this.startdate",{"_index":7470,"title":{},"body":{"entities/Course.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"classes/UsersList.html":{}}}],["this.startedat",{"_index":23507,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["this.startuserloginmigrationuc.startmigration",{"_index":23473,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["this.state",{"_index":9485,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoin.html":{}}}],["this.statistics",{"_index":9333,"title":{},"body":{"classes/DeletionRequestLogResponse.html":{}}}],["this.status",{"_index":2126,"title":{},"body":{"classes/AxiosResponseImp.html":{},"classes/BoardTaskResponse.html":{},"classes/CopyApiResponse.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/ParentInfo.html":{},"classes/ScanResultDto.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolResponse.html":{},"entities/Task.html":{},"classes/TaskListResponse.html":{},"interfaces/TaskParent.html":{},"classes/TaskResponse.html":{},"classes/TaskWithStatusVo.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceResponse.html":{},"classes/VideoConferenceBaseResponse.html":{}}}],["this.statuscode",{"_index":1101,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.statustext",{"_index":2128,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["this.storageclient.create(previewfilepath",{"_index":17890,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["this.storageclient.deletedirectory(path",{"_index":17943,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.storageclient.get(path",{"_index":12444,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["this.storageclient.get(pathtofile",{"_index":17896,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["this.storageclient.get(previewfilepath",{"_index":17951,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.storagefilename",{"_index":11550,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.storageprovider",{"_index":11552,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.storageproviderrepo.findall",{"_index":8891,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.strategies",{"_index":22894,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.strategies.get(externaltool.config.type",{"_index":22904,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.strategies.get(systemstrategy",{"_index":18107,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.strategies.get(toolconfigtype",{"_index":22899,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.strategies.set(strategy.gettype",{"_index":18099,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.strategies.set(toolconfigtype.basic",{"_index":22895,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.strategies.set(toolconfigtype.lti11",{"_index":22896,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.strategies.set(toolconfigtype.oauth2",{"_index":22897,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.strategy",{"_index":5007,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["this.strategy.createteam(team",{"_index":5010,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["this.strategy.deleteteam(teamid",{"_index":5009,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["this.strategy.updateteam(team",{"_index":5011,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["this.strategy.updateteampermissionsforrole(this.mapper.mapdomaintoadapter(team",{"_index":5008,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["this.stringifiedmessage(message",{"_index":15132,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["this.stringifymessage(message",{"_index":15737,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["this.student",{"_index":20648,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.student.id",{"_index":20681,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.studentcount",{"_index":4704,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{}}}],["this.students",{"_index":7674,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{}}}],["this.students.getidentifiers('_id",{"_index":7676,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{}}}],["this.students.getitems",{"_index":7487,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.students.remove((u",{"_index":7679,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{}}}],["this.students.set(props.students",{"_index":7462,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.styles",{"_index":12461,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["this.subjects",{"_index":16125,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["this.submissionitemservice.create(userid",{"_index":9779,"title":{},"body":{"injectables/ElementUc.html":{}}}],["this.submissionitemservice.findbyid(submissionitemid",{"_index":20865,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["this.submissionitemservice.update(submissionitem",{"_index":20866,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["this.submissionitemsresponse",{"_index":20990,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["this.submissionitemuc.createelement(currentuser.userid",{"_index":4059,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["this.submissionitemuc.findsubmissionitems",{"_index":4045,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["this.submissionitemuc.updatesubmissionitem",{"_index":4051,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["this.submissionrepo",{"_index":18605,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.submissionrepo.delete(submission",{"_index":20950,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["this.submissionrepo.findallbytaskids([taskid",{"_index":20948,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["this.submissionrepo.findbyid(submissionid",{"_index":20947,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["this.submissionrule",{"_index":19266,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.submissions",{"_index":21280,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.submissions.getitems",{"_index":21283,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.submissions.isinitialized(true",{"_index":21281,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.submissions.set(props.submissions",{"_index":21274,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.submissionservice.delete(submission",{"_index":20977,"title":{},"body":{"injectables/SubmissionUc.html":{},"injectables/TaskService.html":{}}}],["this.submissionservice.findallbytask(taskid",{"_index":20972,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["this.submissionservice.findbyid(submissionid",{"_index":20975,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["this.submissionuc.delete(currentuser.userid",{"_index":20749,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["this.submissionuc.findallbytask(currentuser.userid",{"_index":20742,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["this.submitted",{"_index":4098,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"classes/TaskStatusResponse.html":{}}}],["this.submitters",{"_index":20954,"title":{},"body":{"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["this.submittingcoursegroupname",{"_index":20955,"title":{},"body":{"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["this.substitutionteachers.contains(user",{"_index":7497,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.substitutionteachers.getitems",{"_index":7493,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.substitutionteachers.remove((u",{"_index":7515,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.substitutionteachers.set(props.substitutionteachers",{"_index":7464,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.successful",{"_index":20996,"title":{},"body":{"classes/SuccessfulResponse.html":{}}}],["this.successor",{"_index":4648,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["this.system",{"_index":10009,"title":{},"body":{"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{}}}],["this.systemid",{"_index":244,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceResponse.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["this.systemoidcservice.findall",{"_index":14553,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.systemrepo.delete(domainobject",{"_index":21217,"title":{},"body":{"injectables/SystemService.html":{}}}],["this.systemrepo.findall",{"_index":15324,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["this.systemrepo.findbyfilter(systemtypeenum.oauth",{"_index":15320,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["this.systemrepo.findbyfilter(systemtypeenum.oidc",{"_index":15322,"title":{},"body":{"injectables/LegacySystemService.html":{},"injectables/SystemOidcService.html":{}}}],["this.systemrepo.findbyfilter(type",{"_index":15323,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["this.systemrepo.findbyid(id",{"_index":15315,"title":{},"body":{"injectables/LegacySystemService.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemService.html":{}}}],["this.systemrepo.findbyid(systemdto.id",{"_index":15328,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["this.systemrepo.findbyid(systemid",{"_index":15044,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.systemrepo.save(system",{"_index":15342,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["this.systemrule",{"_index":19272,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.systems",{"_index":15163,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["this.systems.set(props.systems",{"_index":19653,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["this.systemservice.delete(system",{"_index":21230,"title":{},"body":{"injectables/SystemUc.html":{}}}],["this.systemservice.findbyid(systemid",{"_index":16846,"title":{},"body":{"injectables/OAuthService.html":{},"injectables/ProvisioningService.html":{},"injectables/SystemUc.html":{}}}],["this.systemservice.findbytype(systemtypeenum.oauth",{"_index":23658,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.systemuc.delete(currentuser.userid",{"_index":21056,"title":{},"body":{"controllers/SystemController.html":{}}}],["this.systemuc.findbyfilter(filterparams.type",{"_index":21046,"title":{},"body":{"controllers/SystemController.html":{}}}],["this.systemuc.findbyid(params.systemid",{"_index":21051,"title":{},"body":{"controllers/SystemController.html":{}}}],["this.tags",{"_index":16127,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["this.target",{"_index":16470,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["this.targetgroups",{"_index":16129,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["this.targetid",{"_index":16469,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{}}}],["this.targetmodel",{"_index":7794,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["this.targetref",{"_index":9329,"title":{},"body":{"classes/DeletionRequestLogResponse.html":{}}}],["this.targetrefdomain",{"_index":9295,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["this.targetrefid",{"_index":9299,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["this.targetschoolnumber",{"_index":20017,"title":{},"body":{"classes/SchoolNumberMismatchLoggableException.html":{}}}],["this.targetsystem",{"_index":23529,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["this.targetsystemid",{"_index":14185,"title":{},"body":{"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["this.task",{"_index":20652,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.taskcopyservice.copytask",{"_index":3352,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{}}}],["this.taskcopyuc.copytask",{"_index":21408,"title":{},"body":{"controllers/TaskController.html":{}}}],["this.taskrepo",{"_index":18591,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.taskrepo.createtask(taskcopy",{"_index":21438,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["this.taskrepo.delete(task",{"_index":21746,"title":{},"body":{"injectables/TaskService.html":{}}}],["this.taskrepo.findallbyparentids",{"_index":21814,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.taskrepo.findallfinishedbyparentids",{"_index":21796,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.taskrepo.findbyid(params.originaltaskid",{"_index":21428,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["this.taskrepo.findbyid(taskid",{"_index":21473,"title":{},"body":{"injectables/TaskCopyUC.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{}}}],["this.taskrepo.findbysingleparent",{"_index":21487,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.taskrepo.findbysingleparent(creatorid",{"_index":21743,"title":{},"body":{"injectables/TaskService.html":{}}}],["this.taskrepo.save(task",{"_index":21442,"title":{},"body":{"injectables/TaskCopyService.html":{},"injectables/TaskUC.html":{}}}],["this.taskrule",{"_index":19262,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.taskrule.haspermission(user",{"_index":20932,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["this.tasks.getitems",{"_index":6208,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["this.tasks.isinitialized(true",{"_index":6205,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["this.taskservice.delete(task",{"_index":21840,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.taskservice.findbyid(id",{"_index":21849,"title":{},"body":{"injectables/TaskUrlHandler.html":{}}}],["this.taskservice.findbyid(sharetoken.payload.parentid)).name",{"_index":20439,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.taskservice.findbysingleparent(userid",{"_index":5760,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"injectables/RoomsService.html":{}}}],["this.taskuc.changefinishedforuser(currentuser.userid",{"_index":21403,"title":{},"body":{"controllers/TaskController.html":{}}}],["this.taskuc.delete(currentuser.userid",{"_index":21410,"title":{},"body":{"controllers/TaskController.html":{}}}],["this.taskuc.findall(currentuser.userid",{"_index":21397,"title":{},"body":{"controllers/TaskController.html":{}}}],["this.taskuc.findallfinished(currentuser.userid",{"_index":21396,"title":{},"body":{"controllers/TaskController.html":{}}}],["this.taskuc.revertpublished(currentuser.userid",{"_index":21406,"title":{},"body":{"controllers/TaskController.html":{}}}],["this.taskurlhandler",{"_index":16262,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["this.teacherids",{"_index":4638,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["this.teachernames",{"_index":4698,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["this.teachers",{"_index":4718,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["this.teachers.getitems",{"_index":7491,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.teachers.remove((u",{"_index":7513,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.teachers.set(props.teachers",{"_index":7463,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.teamid",{"_index":4268,"title":{},"body":{"classes/CalendarEventDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["this.teammembers",{"_index":20666,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.teammembers.getidentifiers('_id",{"_index":20669,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.teammembers.set(props.teammembers",{"_index":20661,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.teamname",{"_index":21946,"title":{},"body":{"classes/TeamRolePermissionsDto.html":{}}}],["this.teamrule",{"_index":19263,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.teamsmapper.mapentitytodto(await",{"_index":5122,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.teamsrepo",{"_index":18603,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.teamsrepo.findbyid(teamid",{"_index":5123,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.teamsrepo.findbyuserid(userid",{"_index":13680,"title":{},"body":{"injectables/IdTokenService.html":{},"injectables/TeamService.html":{}}}],["this.teamsrepo.save(teams",{"_index":21969,"title":{},"body":{"injectables/TeamService.html":{}}}],["this.teamstorageuc.updateuserpermissionsforrole(currentuser.userid",{"_index":5082,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["this.teamsubmissions",{"_index":21278,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.teamusers",{"_index":21861,"title":{},"body":{"classes/TeamDto.html":{},"classes/TeamUserDto.html":{}}}],["this.text",{"_index":18852,"title":{},"body":{"classes/RichTextElementContent.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"classes/RichTextElementResponse.html":{}}}],["this.throwifnotmoderator(bbbrole",{"_index":24117,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.thumbnail",{"_index":11553,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.thumbnailrequesttoken",{"_index":11556,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.timeout",{"_index":19243,"title":{},"body":{"classes/RpcMessageProducer.html":{},"todo.html":{}}}],["this.timeout(10000",{"_index":25710,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["this.timeoutms",{"_index":4303,"title":{},"body":{"injectables/CalendarService.html":{}}}],["this.timestamps",{"_index":3994,"title":{},"body":{"classes/BoardResponse.html":{},"classes/CardResponse.html":{},"classes/ColumnResponse.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionItemResponse.html":{}}}],["this.timetowait",{"_index":4174,"title":{},"body":{"classes/BruteForceError.html":{}}}],["this.title",{"_index":3037,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/BoardResponse.html":{},"classes/BusinessError.html":{},"classes/CalendarEventDto.html":{},"classes/CardResponse.html":{},"entities/ColumnBoardTarget.html":{},"classes/ColumnResponse.html":{},"classes/ContentMetadata.html":{},"classes/CopyApiResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DashboardResponse.html":{},"classes/ErrorResponse.html":{},"classes/FileMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/GridElement.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"interfaces/IGridElement.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/LinkElementContent.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/LinkElementResponse.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"classes/MetaTagExtractorResponse.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"classes/Path.html":{},"interfaces/RelatedResourceProperties.html":{},"entities/SchoolNews.html":{},"classes/SingleColumnBoardResponse.html":{},"interfaces/TargetGroupProperties.html":{},"entities/TeamNews.html":{}}}],["this.title.substring(0",{"_index":8408,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.tldrawboardrepo.flushdocument(docname",{"_index":22536,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.tldrawboardrepo.updatedocument(docname",{"_index":22535,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.tldrawrepo.delete(drawings",{"_index":22359,"title":{},"body":{"injectables/TldrawService.html":{}}}],["this.tldrawrepo.findbydocname(docname",{"_index":22358,"title":{},"body":{"injectables/TldrawService.html":{}}}],["this.tldrawservice.deletebydocname(urlparams.docname",{"_index":22313,"title":{},"body":{"controllers/TldrawController.html":{}}}],["this.tldrawservice.send(this",{"_index":24393,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.tldrawservice.updatehandler(update",{"_index":24380,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.tldrawwsservice.flushdocument(docname",{"_index":22399,"title":{},"body":{"classes/TldrawWs.html":{}}}],["this.tldrawwsservice.setpersistence",{"_index":22395,"title":{},"body":{"classes/TldrawWs.html":{}}}],["this.tldrawwsservice.setupwsconnection(client",{"_index":22391,"title":{},"body":{"classes/TldrawWs.html":{}}}],["this.tldrawwsservice.updatedocument(docname",{"_index":22397,"title":{},"body":{"classes/TldrawWs.html":{}}}],["this.toggleuserloginmigrationuc.setmigrationmandatory",{"_index":23480,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["this.token",{"_index":238,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenInfoResponse.html":{},"interfaces/ShareTokenProperties.html":{},"classes/ShareTokenResponse.html":{}}}],["this.tokenendpoint",{"_index":14908,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.tokenendpointauthmethod",{"_index":16908,"title":{},"body":{"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["this.tokengenerator.generatesharetoken",{"_index":20427,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.tokenurl",{"_index":14964,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.tool",{"_index":19678,"title":{},"body":{"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{}}}],["this.toolfeatures.backendurl",{"_index":10327,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["this.toolfeatures.contextconfigurationenabled",{"_index":10091,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["this.toolfeatures.ctltoolstabenabled",{"_index":17333,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["this.toolfeatures.maxexternaltoollogosizeinbytes",{"_index":10335,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["this.toolfeatures.toolstatuswithoutversions",{"_index":19828,"title":{},"body":{"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/ToolVersionService.html":{}}}],["this.toolid",{"_index":10509,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymResponse.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/ToolStatusOutdatedLoggableException.html":{}}}],["this.toollaunchservice.generatelaunchrequest(toollaunchdata",{"_index":22922,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["this.toollaunchservice.getlaunchdata(userid",{"_index":22921,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["this.toollaunchuc.gettoollaunchrequest",{"_index":22809,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["this.toolpermissionhelper.ensurecontextpermissions",{"_index":23024,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["this.toolpermissionhelper.ensurecontextpermissions(userid",{"_index":6996,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ToolLaunchUc.html":{}}}],["this.toolpermissionhelper.ensureschoolpermissions(userid",{"_index":10168,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["this.toolreferenceservice.gettoolreference",{"_index":23023,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["this.toolreferenceuc.gettoolreference",{"_index":22971,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["this.toolreferenceuc.gettoolreferencesforcontext",{"_index":22974,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["this.toolvalidationservice.validatecreate(externaltool",{"_index":11012,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.toolvalidationservice.validateupdate(toolid",{"_index":11014,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.toolversion",{"_index":6666,"title":{},"body":{"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalTool.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["this.toolversionservice.determinetoolconfigurationstatus",{"_index":22907,"title":{},"body":{"injectables/ToolLaunchService.html":{},"injectables/ToolReferenceService.html":{}}}],["this.toparams(config",{"_index":2390,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.total",{"_index":17684,"title":{},"body":{"classes/Page.html":{},"classes/PaginationResponse.html":{}}}],["this.tovideoconferencestateresponse(videoconferenceinfo.state",{"_index":24263,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["this.trybuildtoolreference(userid",{"_index":23017,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["this.tryextractmetatags(url",{"_index":16222,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["this.tryfilenameasfallback(url",{"_index":16223,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["this.trygetprevieworgenerate(previewfileparams",{"_index":17940,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.tryinternallinkmetatags(url",{"_index":16221,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["this.tryrollbackmigration(currentuserid",{"_index":23759,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.tryrollbackmigration(schooldocopy",{"_index":19965,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.tspuid",{"_index":4820,"title":{},"body":{"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{}}}],["this.type",{"_index":2108,"title":{},"body":{"classes/AxiosErrorLoggable.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigResponse.html":{},"classes/BoardContextResponse.html":{},"classes/BoardElementResponse.html":{},"classes/BusinessError.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{},"classes/ContextRef.html":{},"classes/CopyApiResponse.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/DrawingElementContent.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"classes/DrawingElementResponse.html":{},"classes/ErrorResponse.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolElementContent.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementContent.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"classes/FileElementResponse.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupResponse.html":{},"interfaces/H5PContentParentParams.html":{},"classes/LdapConfigEntity.html":{},"classes/LinkElementContent.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/LinkElementResponse.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/LumiUserWithContentData.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/PublicSystemResponse.html":{},"classes/ResolvedGroupDto.html":{},"classes/RichText.html":{},"classes/RichTextElementContent.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"classes/RichTextElementResponse.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SubmissionContainerElementContent.html":{},"entities/SubmissionContainerElementNode.html":{},"classes/SubmissionContainerElementResponse.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/ToolLaunchData.html":{}}}],["this.uninstallunwantedlibraries",{"_index":13336,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.uninstallunwantedlibraries(this.librarywishlist",{"_index":13350,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.unknownquerytype",{"_index":23094,"title":{},"body":{"classes/UnknownQueryTypeLoggableException.html":{}}}],["this.until",{"_index":9969,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["this.untildate",{"_index":7468,"title":{},"body":{"entities/Course.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.updatecopiedembeddedtasksoflessons(status",{"_index":3320,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.updatedat",{"_index":462,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/County.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/UserDO.html":{}}}],["this.updateentity(domainobject",{"_index":2498,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.updateexistinggridelement(existing",{"_index":8621,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.updatefileurls(taskcopy",{"_index":21431,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["this.updateidentityprovider(configureaction.config",{"_index":14560,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.updateoauth2toolconfig(toupdate",{"_index":10927,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.updateoauthclientorthrow(loadedoauthclient",{"_index":10953,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.updateorcreateidpdefaultmapper(oidcconfig.idphint",{"_index":14589,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.updater",{"_index":16472,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{}}}],["this.updatestoreddocwithdiff(docname",{"_index":22268,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.updateteamusersingroup(groupid",{"_index":16732,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.url",{"_index":7127,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LinkElementContent.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/LinkElementResponse.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/TargetGroupProperties.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{}}}],["this.usecentralldap",{"_index":19910,"title":{},"body":{"classes/SchoolInUserMigrationStartLoggable.html":{}}}],["this.user",{"_index":8499,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DtoCreator.html":{},"classes/ExternalGroupDto.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/ResolvedGroupUser.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.userdorepo.find(query",{"_index":23918,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userdorepo.findbyexternalid(externalid",{"_index":23919,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userdorepo.findbyid(id",{"_index":23913,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userdorepo.findbyidornull(id",{"_index":23914,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userdorepo.save(user",{"_index":23915,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userdorepo.saveall(users",{"_index":23917,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userid",{"_index":242,"title":{},"body":{"entities/Account.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{},"classes/BBBJoinConfig.html":{},"classes/DashboardEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"classes/ForbiddenLoggableException.html":{},"classes/GridElement.html":{},"classes/GroupUser.html":{},"interfaces/IGridElement.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/NewsCrudOperationLoggable.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymResponse.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UserDataResponse.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["this.userids",{"_index":4637,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["this.userimportuc.endschoolinmaintenance(currentuser.userid",{"_index":13904,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.userimportuc.findallimportusers(currentuser.userid",{"_index":13881,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.userimportuc.removematch(currentuser.userid",{"_index":13890,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.userimportuc.saveallusersmatches(currentuser.userid",{"_index":13900,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.userimportuc.setmatch(currentuser.userid",{"_index":13886,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.userimportuc.startschoolinusermigration(currentuser.userid",{"_index":13902,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.userimportuc.updateflag(currentuser.userid",{"_index":13891,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.userinfourl",{"_index":14967,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.userloginmigration",{"_index":19655,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["this.userloginmigration.id",{"_index":20003,"title":{},"body":{"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["this.userloginmigrationid",{"_index":15165,"title":{},"body":{"classes/LegacySchoolDo.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationStartLoggable.html":{}}}],["this.userloginmigrationrepo.delete(userloginmigration",{"_index":23671,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.userloginmigrationrepo.findbyschoolid(school.id",{"_index":16306,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["this.userloginmigrationrepo.findbyschoolid(schoolid",{"_index":19993,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["this.userloginmigrationrepo.save(userloginmigration",{"_index":23649,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.userloginmigrationrepo.save(userloginmigrationdo",{"_index":23647,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.userloginmigrationrevertservice.revertuserloginmigration(updateduserloginmigration",{"_index":4961,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{}}}],["this.userloginmigrationrule",{"_index":19270,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.userloginmigrationservice.closemigration",{"_index":4958,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{}}}],["this.userloginmigrationservice.deleteuserloginmigration(userloginmigration",{"_index":23608,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{}}}],["this.userloginmigrationservice.findmigrationbyschool",{"_index":4953,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["this.userloginmigrationservice.findmigrationbyuser",{"_index":23687,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["this.userloginmigrationservice.restartmigration",{"_index":18800,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{}}}],["this.userloginmigrationservice.setmigrationmandatory(userloginmigration",{"_index":22549,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{}}}],["this.userloginmigrationservice.startmigration(schoolid",{"_index":20567,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["this.userloginmigrationuc.finduserloginmigrationbyschool",{"_index":23470,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["this.userloginmigrationuc.getmigrations",{"_index":23464,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["this.userloginmigrationuc.migrate(jwt",{"_index":23485,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["this.usermatchschoolid",{"_index":19893,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["this.usermigrationservice.migrateuser(currentuserid",{"_index":23703,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["this.username",{"_index":234,"title":{},"body":{"entities/Account.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/UnauthorizedLoggableException.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["this.userrepo",{"_index":18597,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.userrepo.deleteuser(userid",{"_index":23931,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userrepo.findbyemail(email",{"_index":987,"title":{},"body":{"injectables/AccountValidationService.html":{},"injectables/UserService.html":{}}}],["this.userrepo.findbyid(accountuserid",{"_index":15677,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["this.userrepo.findbyid(id",{"_index":23908,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userrepo.findbyid(userid",{"_index":1997,"title":{},"body":{"injectables/AuthorizationService.html":{},"injectables/CourseCopyService.html":{},"injectables/LdapStrategy.html":{},"injectables/RoomsUc.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["this.userrepo.getparentemailsfromuser(userid",{"_index":23933,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userrepo.save(user",{"_index":23928,"title":{},"body":{"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["this.userrule",{"_index":19264,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.users",{"_index":12775,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupResponse.html":{},"classes/ResolvedGroupDto.html":{},"classes/SubmissionsResponse.html":{}}}],["this.users.find((u",{"_index":12658,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.users.push(user",{"_index":12660,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.userservice.findbyemail(email",{"_index":14248,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["this.userservice.findbyexternalid",{"_index":14231,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["this.userservice.findbyexternalid(externalgroupuser.externaluserid",{"_index":17643,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.userservice.findbyexternalid(externaluser.externalid",{"_index":17598,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.userservice.findbyexternalid(externaluserid",{"_index":16308,"title":{},"body":{"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"injectables/OidcProvisioningService.html":{}}}],["this.userservice.findbyid(currentuserid",{"_index":17367,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{},"injectables/UserMigrationService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["this.userservice.findbyid(loadedpseudonym.userid",{"_index":11293,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.userservice.findbyid(props.userid",{"_index":5424,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["this.userservice.findbyid(teamuser.userid",{"_index":16751,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.userservice.findbyid(user.id",{"_index":11311,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.userservice.findbyid(userid",{"_index":13681,"title":{},"body":{"injectables/IdTokenService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["this.userservice.findusers",{"_index":19979,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.userservice.getdisplayname(user",{"_index":13682,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["this.userservice.save(newuser",{"_index":26015,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.userservice.save(user",{"_index":17614,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.userservice.save(userdo",{"_index":23762,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.userservice.save(userdocopy",{"_index":23764,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.userservice.saveall(migratedusers.data",{"_index":19992,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.userservice.saveall(notmigratedusers.data",{"_index":19985,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.useruc.findallunmatchedusers(currentuser.userid",{"_index":13895,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.useruc.me(currentuser.userid",{"_index":23195,"title":{},"body":{"controllers/UserController.html":{}}}],["this.useruc.patchlanguage(currentuser.userid",{"_index":23199,"title":{},"body":{"controllers/UserController.html":{}}}],["this.uuid",{"_index":13697,"title":{},"body":{"classes/IdTokenUserNotFoundLoggableException.html":{}}}],["this.validate(props",{"_index":4632,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.validateandgetexternaltool(oauth2clientid",{"_index":11297,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.validatecontextexternaltools(courseid",{"_index":11303,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.validatelti11config(externaltool",{"_index":11055,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["this.validateoauth2config(externaltool",{"_index":11054,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["this.validateparameter(param",{"_index":6143,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["this.validatereordering(ids",{"_index":2961,"title":{},"body":{"entities/Board.html":{}}}],["this.validaterocketchatconfig",{"_index":1179,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.validateschoolexternaltool(course.school.id",{"_index":11302,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.validatestatus",{"_index":13425,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.validatesubject(currentuser",{"_index":17205,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["this.validatetoken(oauthtokens.idtoken",{"_index":16849,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.validateusersmatch(dashboard",{"_index":8705,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["this.validationerrors.push(new",{"_index":1411,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["this.validationerrors.reduce",{"_index":23958,"title":{},"body":{"classes/ValidationErrorLoggableException.html":{}}}],["this.validperiod",{"_index":12773,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["this.value",{"_index":8109,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/LtiToolDO.html":{},"classes/PropertyData.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["this.verified",{"_index":18667,"title":{},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{}}}],["this.verifyfeaturesenabled(user.schoolid",{"_index":24112,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.version",{"_index":6715,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["this.versionkey",{"_index":11572,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.videoconferencecreateuc.createifnotrunning(currentuser.userid",{"_index":24058,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["this.videoconferenceenduc.end(currentuser.userid",{"_index":24067,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["this.videoconferenceinfouc.getmeetinginfo(currentuser.userid",{"_index":24063,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["this.videoconferencejoinuc.join(currentuser.userid",{"_index":24060,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["this.videoconferenceservice.canguestjoin(isguest",{"_index":24212,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["this.videoconferenceservice.createorupdatevideoconferenceforscopewithoptions(scope.id",{"_index":24118,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.videoconferenceservice.determinebbbrole",{"_index":24115,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["this.videoconferenceservice.determinebbbrole(userid",{"_index":24187,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{}}}],["this.videoconferenceservice.findvideoconferencebyscopeidandscope",{"_index":24216,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["this.videoconferenceservice.getscopeinfo(currentuserid",{"_index":24113,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["this.videoconferenceservice.getscopeinfo(userid",{"_index":24186,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{}}}],["this.videoconferenceservice.getuserroleandgueststatusbyuseridforbbb",{"_index":24228,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["this.videoconferenceservice.hasexpertrole",{"_index":24211,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["this.videoconferenceservice.loadscoperessources(scopeid",{"_index":24111,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["this.videoconferenceservice.sanitizestring(`${user.firstname",{"_index":24230,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["this.videoconferenceservice.sanitizestring(scopeinfo.title",{"_index":24122,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.videoconferenceservice.throwonfeaturesdisabled(schoolid",{"_index":24128,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.videoconferenceservice.throwonfeaturesdisabled(user.schoolid",{"_index":24185,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["this.videoconferenceuc.create(currentuser",{"_index":24168,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["this.videoconferenceuc.end(currentuser",{"_index":24177,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["this.videoconferenceuc.getmeetinginfo(currentuser",{"_index":24165,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["this.videoconferenceuc.join(currentuser",{"_index":24172,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["this.visibilitysettings",{"_index":4437,"title":{},"body":{"classes/CardResponse.html":{}}}],["this.visitchildren(anyboarddo",{"_index":18559,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.visitchildren(externaltoolelement",{"_index":18554,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.visitchildren(linkelement",{"_index":18541,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.visitchildrenasync(card",{"_index":18471,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(column",{"_index":18469,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(columnboard",{"_index":18467,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(drawingelement",{"_index":18482,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(externaltoolelement",{"_index":18491,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(fileelement",{"_index":18474,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(linkelement",{"_index":18477,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(richtextelement",{"_index":18479,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(submission",{"_index":18486,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(submissioncontainerelement",{"_index":18484,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenof(original",{"_index":18394,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.w",{"_index":6598,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.welcome",{"_index":2187,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["this.write",{"_index":11700,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["this.xmlbuilder",{"_index":5839,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.xmlbuilder.buildobject",{"_index":5856,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.xmlbuilder.buildobject(commonobject",{"_index":5918,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["this.xpos",{"_index":8489,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["this.xposition",{"_index":8523,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["this.year",{"_index":4643,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["this.yearfrom",{"_index":6604,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.yearto",{"_index":6606,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.ypos",{"_index":8490,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["this.yposition",{"_index":8524,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["this.zipbuilder",{"_index":5847,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.zipbuilder.addfile('imsmanifest.xml",{"_index":5862,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.zipbuilder.addfile(props.href",{"_index":5844,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.zipbuilder.tobufferpromise",{"_index":5864,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this['meta_bbb",{"_index":2197,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["thisobjecthasnostructure",{"_index":13014,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["those",{"_index":22100,"title":{},"body":{"injectables/TemporaryFileStorage.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["though",{"_index":24963,"title":{},"body":{"license.html":{}}}],["thoughtbot/fishery",{"_index":563,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["thr",{"_index":16976,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["threads_enabled=false",{"_index":25949,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["three",{"_index":24881,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["thresholddate",{"_index":8839,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/FilesRepo.html":{}}}],["thresholddate.setdate(thresholddate.getdate",{"_index":8840,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["through",{"_index":2917,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["throw",{"_index":579,"title":{},"body":{"classes/AccountFactory.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/AntivirusService.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/BBBService.html":{},"classes/BaseUc.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/BoardResponseMapper.html":{},"injectables/CalendarService.html":{},"injectables/CardService.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{},"classes/ColumnResponseMapper.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyUC.html":{},"interfaces/CourseProperties.html":{},"classes/CurrentUserMapper.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardUc.html":{},"injectables/DeletionClient.html":{},"classes/DomainObjectFactory.html":{},"injectables/ElementUc.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilesStorageMapper.html":{},"controllers/FwuLearningContentsController.html":{},"classes/GridElement.html":{},"injectables/GroupService.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IGridElement.html":{},"injectables/IdTokenService.html":{},"entities/ImportUser.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtStrategy.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRule.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LibraryRepo.html":{},"injectables/LocalStrategy.html":{},"injectables/LtiToolRepo.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/MetadataTypeMapper.html":{},"interfaces/MigrationOptions.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"controllers/OauthSSOController.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/ParentInfo.html":{},"injectables/PermissionService.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{},"injectables/ProvisioningService.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"interfaces/RetryOptions.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"entities/Role.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/SchoolValidationService.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"entities/Submission.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemUc.html":{},"entities/Task.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskParent.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolPermissionHelper.html":{},"entities/User.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchMapper.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["throwerror",{"_index":18751,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["throwifnotmoderator",{"_index":24090,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["throwifnotmoderator(role",{"_index":24101,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["throwing",{"_index":26086,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["thrown",{"_index":4935,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/GuardAgainst.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["throws",{"_index":2388,"title":{},"body":{"injectables/BBBService.html":{},"injectables/FeathersAuthorizationService.html":{},"classes/GuardAgainst.html":{},"classes/IdentityManagementOauthService.html":{},"controllers/KeycloakManagementController.html":{}}}],["thumbnail",{"_index":11487,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["thumbnailrequesttoken",{"_index":11488,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["thus",{"_index":79,"title":{},"body":{"classes/AbstractAccountService.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["ticket",{"_index":1944,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{},"classes/RpcMessageProducer.html":{},"index.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["ticketsystem.dbildungscloud.de",{"_index":24610,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["time",{"_index":1749,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"classes/CreateNewsParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"injectables/JwtValidationAdapter.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["timedifference",{"_index":1740,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["timeout",{"_index":4307,"title":{},"body":{"injectables/CalendarService.html":{},"injectables/FilesStorageProducer.html":{},"modules/InterceptorModule.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{},"injectables/TimeoutInterceptor.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["timeout(timeoutvalue",{"_index":22197,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["timeouterror",{"_index":22192,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["timeoutinterceptor",{"_index":14160,"title":{"injectables/TimeoutInterceptor.html":{}},"body":{"modules/InterceptorModule.html":{},"injectables/TimeoutInterceptor.html":{}}}],["timeoutinterceptor(timeout",{"_index":14162,"title":{},"body":{"modules/InterceptorModule.html":{}}}],["timeoutms",{"_index":4291,"title":{},"body":{"injectables/CalendarService.html":{}}}],["timeouts",{"_index":25715,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["timeoutvalue",{"_index":22193,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["timer",{"_index":19401,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["times",{"_index":2234,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{},"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["timestamp",{"_index":8988,"title":{},"body":{"injectables/DeletionClient.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["timestamps",{"_index":2908,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["timestamps.response",{"_index":3992,"title":{},"body":{"classes/BoardResponse.html":{},"classes/CardResponse.html":{},"classes/ColumnResponse.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionItemResponse.html":{}}}],["timestampsresponse",{"_index":3988,"title":{"classes/TimestampsResponse.html":{}},"body":{"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/TimestampsResponse.html":{}}}],["timetowait",{"_index":1744,"title":{},"body":{"injectables/AuthenticationService.html":{},"classes/BruteForceError.html":{}}}],["timouts",{"_index":25703,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["tiny",{"_index":24559,"title":{},"body":{"dependencies.html":{}}}],["title",{"_index":155,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AuthorizationError.html":{},"classes/BoardColumnBoardResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"injectables/BoardUc.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentMetadata.html":{},"classes/CopyApiResponse.html":{},"injectables/CopyFilesService.html":{},"classes/CopyMapper.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DashboardResponse.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/DtoCreator.html":{},"classes/ElementContentBody.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"injectables/EtherpadService.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileMetadata.html":{},"classes/ForbiddenOperationError.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IGridElement.html":{},"interfaces/INewsScope.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConnectionError.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LibraryName.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"injectables/NexboardService.html":{},"classes/PatchGroupParams.html":{},"classes/Path.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/SchoolInMigrationLoggableException.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"interfaces/ScopeInfo.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"interfaces/TargetGroupProperties.html":{},"injectables/TaskCopyService.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"entities/TeamNews.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"index.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["title(title",{"_index":4328,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{}}}],["title(value",{"_index":15607,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["titlea",{"_index":8393,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["titleb",{"_index":8395,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["titlemap",{"_index":5491,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["titlesmap",{"_index":3654,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/ColumnBoardTargetService.html":{}}}],["titlesmap[id",{"_index":5585,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["tldraw",{"_index":22299,"title":{},"body":{"controllers/TldrawController.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{}}}],["tldraw.params",{"_index":22308,"title":{},"body":{"controllers/TldrawController.html":{}}}],["tldraw_db_collection_name",{"_index":22282,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["tldraw_db_flush_size",{"_index":22283,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["tldraw_db_multiple_collections",{"_index":22284,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["tldraw_db_url",{"_index":12516,"title":{},"body":{"interfaces/GlobalConstants.html":{},"modules/TldrawModule.html":{}}}],["tldraw_gc_enabled",{"_index":22285,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["tldraw_ping_timeout",{"_index":22286,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["tldrawboardrepo",{"_index":22205,"title":{"injectables/TldrawBoardRepo.html":{}},"body":{"injectables/TldrawBoardRepo.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{}}}],["tldrawclientmodule",{"_index":22274,"title":{"modules/TldrawClientModule.html":{}},"body":{"modules/TldrawClientModule.html":{}}}],["tldrawconfig",{"_index":22241,"title":{"interfaces/TldrawConfig.html":{}},"body":{"injectables/TldrawBoardRepo.html":{},"interfaces/TldrawConfig.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{}}}],["tldrawconnectionstring",{"_index":22287,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["tldrawcontroller",{"_index":22297,"title":{"controllers/TldrawController.html":{}},"body":{"controllers/TldrawController.html":{},"modules/TldrawModule.html":{}}}],["tldrawdeleteparams",{"_index":22302,"title":{"classes/TldrawDeleteParams.html":{}},"body":{"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{}}}],["tldrawdrawing",{"_index":22316,"title":{"entities/TldrawDrawing.html":{}},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{}}}],["tldrawdrawingprops",{"_index":22326,"title":{"interfaces/TldrawDrawingProps.html":{}},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["tldrawmodule",{"_index":22334,"title":{"modules/TldrawModule.html":{}},"body":{"modules/TldrawModule.html":{}}}],["tldrawrepo",{"_index":22338,"title":{"injectables/TldrawRepo.html":{}},"body":{"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{}}}],["tldrawservice",{"_index":22306,"title":{"injectables/TldrawService.html":{}},"body":{"controllers/TldrawController.html":{},"modules/TldrawModule.html":{},"injectables/TldrawService.html":{},"classes/WsSharedDocDo.html":{}}}],["tldrawtestmodule",{"_index":22360,"title":{"modules/TldrawTestModule.html":{}},"body":{"modules/TldrawTestModule.html":{}}}],["tldrawws",{"_index":22370,"title":{"classes/TldrawWs.html":{}},"body":{"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["tldrawwsfactory",{"_index":22403,"title":{"classes/TldrawWsFactory.html":{}},"body":{"classes/TldrawWsFactory.html":{}}}],["tldrawwsmodule",{"_index":22364,"title":{"modules/TldrawWsModule.html":{}},"body":{"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{}}}],["tldrawwsservice",{"_index":22365,"title":{"injectables/TldrawWsService.html":{}},"body":{"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"classes/WsSharedDocDo.html":{}}}],["tldrawwstestmodule",{"_index":22537,"title":{"modules/TldrawWsTestModule.html":{}},"body":{"modules/TldrawWsTestModule.html":{}}}],["tls",{"_index":8901,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"modules/S3ClientModule.html":{}}}],["tmp/config/users",{"_index":25889,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["tmp/realms",{"_index":25898,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["tmp/realms\"powershell",{"_index":25860,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["tmp/realms\"setup",{"_index":25861,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["tmp/realms\"to",{"_index":25305,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["tmpdirpath",{"_index":12044,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["toarray",{"_index":5784,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"injectables/DatabaseManagementService.html":{}}}],["toboardid",{"_index":16379,"title":{},"body":{"classes/MoveColumnBodyParams.html":{}}}],["tocardid",{"_index":16383,"title":{},"body":{"classes/MoveContentElementBody.html":{}}}],["tocolumnid",{"_index":16373,"title":{},"body":{"classes/MoveCardBodyParams.html":{}}}],["todo",{"_index":1829,"title":{"todo.html":{}},"body":{"injectables/AuthorizationHelper.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseUc.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"modules/BoardModule.html":{},"injectables/BoardNodeRepo.html":{},"injectables/ColumnBoardCopyService.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CreateNewsParams.html":{},"injectables/DashboardRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolUc.html":{},"injectables/FederalStateService.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IToolFeatures.html":{},"injectables/IdTokenService.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"modules/InterceptorModule.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolDo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/ParentInfo.html":{},"injectables/PermissionService.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolYearService.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"injectables/SubmissionRepo.html":{},"entities/Task.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRule.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"classes/ToolConfiguration.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolVersionService.html":{},"injectables/UserRepo.html":{},"classes/UsersList.html":{},"modules/VideoConferenceModule.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["todos",{"_index":26074,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["together",{"_index":12356,"title":{},"body":{"classes/FilterNewsParams.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["toggleuserloginmigrationuc",{"_index":22542,"title":{"injectables/ToggleUserLoginMigrationUc.html":{}},"body":{"injectables/ToggleUserLoginMigrationUc.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{}}}],["tojson",{"_index":2093,"title":{},"body":{"classes/AxiosErrorFactory.html":{}}}],["token",{"_index":176,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"entities/Account.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AntivirusService.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"controllers/FileSecurityController.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/JwtExtractor.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"classes/OauthProviderService.html":{},"controllers/OauthSSOController.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"entities/ShareToken.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"injectables/TokenGenerator.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["token.'})@apiresponse({status",{"_index":20283,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["token.body.params.ts",{"_index":20258,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["token.body.params.ts:13",{"_index":20267,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["token.body.params.ts:21",{"_index":20265,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["token.body.params.ts:32",{"_index":20263,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["token.body.params.ts:41",{"_index":20270,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["token.controller",{"_index":20519,"title":{},"body":{"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["token.controller.ts",{"_index":20277,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["token.controller.ts:40",{"_index":20285,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["token.controller.ts:67",{"_index":20299,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["token.controller.ts:86",{"_index":20295,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["token.do",{"_index":16286,"title":{},"body":{"classes/MetadataTypeMapper.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenFactory.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TokenGenerator.html":{}}}],["token.do.factory.ts",{"_index":20336,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["token.do.factory.ts:9",{"_index":20339,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["token.do.ts",{"_index":20323,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["token.do.ts:27",{"_index":20329,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["token.do.ts:29",{"_index":20328,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["token.do.ts:31",{"_index":20326,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["token.do.ts:33",{"_index":20324,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["token.dto.ts",{"_index":16875,"title":{},"body":{"classes/OAuthTokenDto.html":{}}}],["token.dto.ts:2",{"_index":16878,"title":{},"body":{"classes/OAuthTokenDto.html":{}}}],["token.dto.ts:4",{"_index":16879,"title":{},"body":{"classes/OAuthTokenDto.html":{}}}],["token.dto.ts:6",{"_index":16877,"title":{},"body":{"classes/OAuthTokenDto.html":{}}}],["token.entity",{"_index":20386,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["token.entity.ts",{"_index":20243,"title":{},"body":{"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["token.entity.ts:19",{"_index":20251,"title":{},"body":{"entities/ShareToken.html":{}}}],["token.entity.ts:22",{"_index":20249,"title":{},"body":{"entities/ShareToken.html":{}}}],["token.entity.ts:25",{"_index":20245,"title":{},"body":{"entities/ShareToken.html":{}}}],["token.entity.ts:32",{"_index":20247,"title":{},"body":{"entities/ShareToken.html":{}}}],["token.entity.ts:35",{"_index":20244,"title":{},"body":{"entities/ShareToken.html":{}}}],["token.entity.ts:43",{"_index":20248,"title":{},"body":{"entities/ShareToken.html":{}}}],["token.repo",{"_index":20426,"title":{},"body":{"injectables/ShareTokenService.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["token.repo.ts",{"_index":20377,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["token.repo.ts:17",{"_index":20380,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["token.repo.ts:9",{"_index":20384,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["token.request.ts",{"_index":1494,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["token.request.ts:10",{"_index":1503,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["token.request.ts:12",{"_index":1499,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["token.request.ts:4",{"_index":1500,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["token.request.ts:6",{"_index":1501,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["token.request.ts:8",{"_index":1504,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["token.response.ts",{"_index":17482,"title":{},"body":{"interfaces/OauthTokenResponse.html":{},"classes/ShareTokenResponse.html":{}}}],["token.response.ts:12",{"_index":20402,"title":{},"body":{"classes/ShareTokenResponse.html":{}}}],["token.response.ts:15",{"_index":20401,"title":{},"body":{"classes/ShareTokenResponse.html":{}}}],["token.response.ts:18",{"_index":20400,"title":{},"body":{"classes/ShareTokenResponse.html":{}}}],["token.response.ts:4",{"_index":20399,"title":{},"body":{"classes/ShareTokenResponse.html":{}}}],["token.service",{"_index":17203,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"modules/OauthProviderModule.html":{}}}],["token.service.ts",{"_index":13661,"title":{},"body":{"injectables/IdTokenService.html":{},"injectables/ShareTokenService.html":{}}}],["token.service.ts:13",{"_index":13667,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["token.service.ts:16",{"_index":20417,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["token.service.ts:21",{"_index":13671,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["token.service.ts:25",{"_index":20421,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["token.service.ts:42",{"_index":13669,"title":{},"body":{"injectables/IdTokenService.html":{},"injectables/ShareTokenService.html":{}}}],["token.service.ts:50",{"_index":20424,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["token.service.ts:52",{"_index":13673,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["token.service.ts:70",{"_index":20419,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["token.ts",{"_index":12788,"title":{},"body":{"interfaces/GroupNameIdTuple.html":{},"interfaces/IdToken.html":{}}}],["token.uc.ts",{"_index":20441,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:132",{"_index":20456,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:140",{"_index":20457,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:151",{"_index":20459,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:167",{"_index":20455,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:193",{"_index":20449,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:205",{"_index":20451,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:226",{"_index":20467,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:232",{"_index":20453,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:25",{"_index":20447,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:40",{"_index":20461,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:68",{"_index":20465,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:90",{"_index":20463,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.url.params.ts",{"_index":20510,"title":{},"body":{"classes/ShareTokenUrlParams.html":{}}}],["token.url.params.ts:11",{"_index":20512,"title":{},"body":{"classes/ShareTokenUrlParams.html":{}}}],["token_endpoint_auth_method",{"_index":10973,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{},"classes/OauthClientBody.html":{}}}],["token_type",{"_index":14168,"title":{},"body":{"interfaces/IntrospectResponse.html":{}}}],["token_use",{"_index":14169,"title":{},"body":{"interfaces/IntrospectResponse.html":{}}}],["tokenauthmethod",{"_index":16995,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["tokendto",{"_index":16866,"title":{},"body":{"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["tokendto.accesstoken",{"_index":16898,"title":{},"body":{"injectables/Oauth2Strategy.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["tokendto.idtoken",{"_index":16897,"title":{},"body":{"injectables/Oauth2Strategy.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["tokenendpoint",{"_index":13547,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfigEntity.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["tokenendpointauthmethod",{"_index":8195,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolService.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["tokenendpointauthmethod.client_secret_post",{"_index":8213,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["tokengenerator",{"_index":20416,"title":{"injectables/TokenGenerator.html":{}},"body":{"injectables/ShareTokenService.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"injectables/TokenGenerator.html":{}}}],["tokenrequestloggableexception",{"_index":16945,"title":{"classes/TokenRequestLoggableException.html":{}},"body":{"injectables/OauthAdapterService.html":{},"classes/TokenRequestLoggableException.html":{}}}],["tokenrequestloggableexception(error",{"_index":16958,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["tokenrequestmapper",{"_index":16841,"title":{"classes/TokenRequestMapper.html":{}},"body":{"injectables/OAuthService.html":{},"classes/TokenRequestMapper.html":{}}}],["tokenrequestmapper.createauthenticationcodegranttokenrequestpayload",{"_index":16873,"title":{},"body":{"injectables/OAuthService.html":{}}}],["tokenrequestmapper.maptokenresponsetodto(responsetoken",{"_index":16867,"title":{},"body":{"injectables/OAuthService.html":{}}}],["tokenrequestpayload",{"_index":16872,"title":{},"body":{"injectables/OAuthService.html":{}}}],["tokens",{"_index":16988,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["tokenurl",{"_index":14972,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["tomorrow",{"_index":13365,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{}}}],["took",{"_index":19987,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["tool",{"_index":2684,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"modules/BoardModule.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/HydraSsoService.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"controllers/PseudonymController.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"classes/SortExternalToolParams.html":{},"classes/TldrawWs.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"modules/ToolModule.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"injectables/ToolVersionService.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["tool'})@apifoundresponse({description",{"_index":22613,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["tool'})@apiokresponse({description",{"_index":22961,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["tool'})@isstring()@isoptional",{"_index":10875,"title":{},"body":{"classes/ExternalToolSearchParams.html":{}}}],["tool.'})@apiokresponse({description",{"_index":22749,"title":{},"body":{"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["tool.config",{"_index":17373,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["tool.config.clientid",{"_index":10936,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.config.skipconsent",{"_index":17374,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["tool.do.ts",{"_index":6640,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{}}}],["tool.do.ts:22",{"_index":6651,"title":{},"body":{"classes/ContextExternalTool.html":{}}}],["tool.do.ts:23",{"_index":19660,"title":{},"body":{"classes/SchoolExternalTool.html":{}}}],["tool.do.ts:24",{"_index":6647,"title":{},"body":{"classes/ContextExternalTool.html":{}}}],["tool.do.ts:25",{"_index":19664,"title":{},"body":{"classes/SchoolExternalTool.html":{}}}],["tool.do.ts:26",{"_index":6648,"title":{},"body":{"classes/ContextExternalTool.html":{}}}],["tool.do.ts:27",{"_index":19662,"title":{},"body":{"classes/SchoolExternalTool.html":{}}}],["tool.do.ts:28",{"_index":6649,"title":{},"body":{"classes/ContextExternalTool.html":{}}}],["tool.do.ts:29",{"_index":19661,"title":{},"body":{"classes/SchoolExternalTool.html":{}}}],["tool.do.ts:30",{"_index":6646,"title":{},"body":{"classes/ContextExternalTool.html":{}}}],["tool.do.ts:31",{"_index":19665,"title":{},"body":{"classes/SchoolExternalTool.html":{}}}],["tool.do.ts:32",{"_index":10025,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:33",{"_index":19659,"title":{},"body":{"classes/SchoolExternalTool.html":{}}}],["tool.do.ts:34",{"_index":10028,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:36",{"_index":10024,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:38",{"_index":10023,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:40",{"_index":10021,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:41",{"_index":6653,"title":{},"body":{"classes/ContextExternalTool.html":{}}}],["tool.do.ts:42",{"_index":10027,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:44",{"_index":10022,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:45",{"_index":19666,"title":{},"body":{"classes/SchoolExternalTool.html":{}}}],["tool.do.ts:46",{"_index":10026,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:48",{"_index":10029,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:50",{"_index":10020,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:67",{"_index":10030,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:71",{"_index":10034,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:75",{"_index":10032,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.entity",{"_index":10215,"title":{},"body":{"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["tool.entity.ts",{"_index":6736,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"entities/ExternalToolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{}}}],["tool.entity.ts:14",{"_index":10234,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool.entity.ts:17",{"_index":10238,"title":{},"body":{"entities/ExternalToolEntity.html":{},"entities/SchoolExternalToolEntity.html":{}}}],["tool.entity.ts:20",{"_index":10232,"title":{},"body":{"entities/ExternalToolEntity.html":{},"entities/SchoolExternalToolEntity.html":{}}}],["tool.entity.ts:23",{"_index":10231,"title":{},"body":{"entities/ExternalToolEntity.html":{},"entities/SchoolExternalToolEntity.html":{}}}],["tool.entity.ts:24",{"_index":6745,"title":{},"body":{"entities/ContextExternalToolEntity.html":{}}}],["tool.entity.ts:26",{"_index":10229,"title":{},"body":{"entities/ExternalToolEntity.html":{},"entities/SchoolExternalToolEntity.html":{}}}],["tool.entity.ts:27",{"_index":6738,"title":{},"body":{"entities/ContextExternalToolEntity.html":{}}}],["tool.entity.ts:29",{"_index":10236,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool.entity.ts:30",{"_index":6740,"title":{},"body":{"entities/ContextExternalToolEntity.html":{}}}],["tool.entity.ts:32",{"_index":10230,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool.entity.ts:33",{"_index":6741,"title":{},"body":{"entities/ContextExternalToolEntity.html":{}}}],["tool.entity.ts:35",{"_index":10235,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool.entity.ts:36",{"_index":6743,"title":{},"body":{"entities/ContextExternalToolEntity.html":{}}}],["tool.entity.ts:38",{"_index":10239,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool.entity.ts:39",{"_index":6746,"title":{},"body":{"entities/ContextExternalToolEntity.html":{}}}],["tool.entity.ts:41",{"_index":10237,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool.factory.ts",{"_index":6759,"title":{},"body":{"classes/ContextExternalToolFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/SchoolExternalToolFactory.html":{}}}],["tool.factory.ts:100",{"_index":10267,"title":{},"body":{"classes/ExternalToolFactory.html":{}}}],["tool.factory.ts:107",{"_index":10266,"title":{},"body":{"classes/ExternalToolFactory.html":{}}}],["tool.factory.ts:29",{"_index":16924,"title":{},"body":{"classes/Oauth2ToolConfigFactory.html":{}}}],["tool.factory.ts:65",{"_index":8193,"title":{},"body":{"classes/CustomParameterFactory.html":{}}}],["tool.factory.ts:8",{"_index":19686,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["tool.factory.ts:86",{"_index":10269,"title":{},"body":{"classes/ExternalToolFactory.html":{}}}],["tool.factory.ts:9",{"_index":6762,"title":{},"body":{"classes/ContextExternalToolFactory.html":{}}}],["tool.factory.ts:93",{"_index":10268,"title":{},"body":{"classes/ExternalToolFactory.html":{}}}],["tool.id",{"_index":10088,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/IdTokenService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/PseudonymService.html":{}}}],["tool.ishidden",{"_index":10086,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["tool.logo",{"_index":10350,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["tool.module",{"_index":22595,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["tool.module.ts",{"_index":6038,"title":{},"body":{"modules/CommonToolModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/ExternalToolModule.html":{},"modules/LtiToolModule.html":{},"modules/SchoolExternalToolModule.html":{}}}],["tool.name",{"_index":10941,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["tool.oauthclientid",{"_index":13526,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["tool.repo.mapper.ts",{"_index":10616,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:109",{"_index":10628,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:116",{"_index":10649,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:125",{"_index":10645,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:138",{"_index":10641,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:156",{"_index":10633,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:17",{"_index":10643,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:174",{"_index":10639,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:184",{"_index":10636,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:49",{"_index":10631,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:56",{"_index":10652,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:65",{"_index":10647,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:78",{"_index":10642,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.ts",{"_index":10572,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:15",{"_index":10576,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["tool.repo.ts:19",{"_index":19732,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:20",{"_index":10599,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["tool.repo.ts:24",{"_index":19746,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:28",{"_index":10584,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["tool.repo.ts:32",{"_index":19742,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:37",{"_index":10582,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["tool.repo.ts:41",{"_index":19744,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:46",{"_index":10586,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["tool.repo.ts:51",{"_index":19738,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:55",{"_index":10580,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["tool.repo.ts:56",{"_index":19740,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:65",{"_index":19735,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["tool.response",{"_index":6920,"title":{},"body":{"classes/ContextExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{}}}],["tool.response.ts",{"_index":6828,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:10",{"_index":6837,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:11",{"_index":10811,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["tool.response.ts:13",{"_index":6831,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:14",{"_index":10815,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["tool.response.ts:16",{"_index":6832,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:17",{"_index":10810,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["tool.response.ts:19",{"_index":6833,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:20",{"_index":10807,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["tool.response.ts:22",{"_index":6836,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:23",{"_index":10813,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["tool.response.ts:25",{"_index":6838,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:26",{"_index":10809,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["tool.response.ts:28",{"_index":6830,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:29",{"_index":10812,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["tool.response.ts:32",{"_index":10816,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["tool.response.ts:35",{"_index":10804,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["tool.response.ts:7",{"_index":6834,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:8",{"_index":10808,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["tool.rule.ts",{"_index":6881,"title":{},"body":{"injectables/ContextExternalToolRule.html":{},"injectables/SchoolExternalToolRule.html":{}}}],["tool.rule.ts:12",{"_index":6884,"title":{},"body":{"injectables/ContextExternalToolRule.html":{},"injectables/SchoolExternalToolRule.html":{}}}],["tool.rule.ts:18",{"_index":6883,"title":{},"body":{"injectables/ContextExternalToolRule.html":{},"injectables/SchoolExternalToolRule.html":{}}}],["tool.rule.ts:9",{"_index":6882,"title":{},"body":{"injectables/ContextExternalToolRule.html":{},"injectables/SchoolExternalToolRule.html":{}}}],["tool.scope",{"_index":10604,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["tool.scope.ts",{"_index":6890,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/ExternalToolScope.html":{},"classes/SchoolExternalToolScope.html":{}}}],["tool.scope.ts:12",{"_index":10865,"title":{},"body":{"classes/ExternalToolScope.html":{}}}],["tool.scope.ts:13",{"_index":19798,"title":{},"body":{"classes/SchoolExternalToolScope.html":{}}}],["tool.scope.ts:15",{"_index":6911,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["tool.scope.ts:19",{"_index":10867,"title":{},"body":{"classes/ExternalToolScope.html":{}}}],["tool.scope.ts:22",{"_index":6905,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["tool.scope.ts:30",{"_index":6907,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["tool.scope.ts:5",{"_index":10869,"title":{},"body":{"classes/ExternalToolScope.html":{}}}],["tool.scope.ts:6",{"_index":19797,"title":{},"body":{"classes/SchoolExternalToolScope.html":{}}}],["tool.scope.ts:7",{"_index":6909,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["tool.secret",{"_index":13527,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["tool.service",{"_index":7018,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ToolReferenceService.html":{}}}],["tool.service.ts",{"_index":6044,"title":{},"body":{"injectables/CommonToolService.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ExternalToolService.html":{},"injectables/LtiToolService.html":{},"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:100",{"_index":10903,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:105",{"_index":10898,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:120",{"_index":10910,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:13",{"_index":19807,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:133",{"_index":10914,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:14",{"_index":6930,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["tool.service.ts:145",{"_index":10894,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:15",{"_index":6050,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["tool.service.ts:18",{"_index":10892,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:21",{"_index":19815,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:22",{"_index":6945,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["tool.service.ts:26",{"_index":19817,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:28",{"_index":6942,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["tool.service.ts:30",{"_index":10896,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:34",{"_index":6940,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["tool.service.ts:36",{"_index":19813,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:40",{"_index":6057,"title":{},"body":{"injectables/CommonToolService.html":{},"injectables/ContextExternalToolService.html":{}}}],["tool.service.ts:44",{"_index":6053,"title":{},"body":{"injectables/CommonToolService.html":{},"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:46",{"_index":6934,"title":{},"body":{"injectables/ContextExternalToolService.html":{},"injectables/ExternalToolService.html":{}}}],["tool.service.ts:53",{"_index":10905,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:56",{"_index":6936,"title":{},"body":{"injectables/ContextExternalToolService.html":{},"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:6",{"_index":16015,"title":{},"body":{"injectables/LtiToolService.html":{}}}],["tool.service.ts:60",{"_index":6938,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["tool.service.ts:68",{"_index":6932,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["tool.service.ts:80",{"_index":10899,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:85",{"_index":19809,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:89",{"_index":19819,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:9",{"_index":16017,"title":{},"body":{"injectables/LtiToolService.html":{}}}],["tool.service.ts:95",{"_index":10901,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.skipconsent",{"_index":17372,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["tool.types",{"_index":6817,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"controllers/ToolContextController.html":{},"controllers/ToolSchoolController.html":{}}}],["tool.uc.ts",{"_index":6968,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ExternalToolUc.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:105",{"_index":19853,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:106",{"_index":6986,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tool.uc.ts:120",{"_index":6984,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tool.uc.ts:129",{"_index":6982,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tool.uc.ts:16",{"_index":19843,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:18",{"_index":10996,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:22",{"_index":6976,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tool.uc.ts:25",{"_index":19851,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:27",{"_index":10998,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:31",{"_index":6978,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tool.uc.ts:36",{"_index":19845,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:40",{"_index":11009,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:53",{"_index":19848,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:61",{"_index":6988,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:65",{"_index":19847,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:72",{"_index":11005,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:77",{"_index":19855,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:79",{"_index":11000,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:85",{"_index":19857,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:86",{"_index":11007,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:95",{"_index":11002,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:97",{"_index":6980,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tool/context",{"_index":6783,"title":{},"body":{"modules/ContextExternalToolModule.html":{}}}],["tool/controller",{"_index":22587,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["tool/controller/domain/school",{"_index":19667,"title":{},"body":{"classes/SchoolExternalToolConfigurationStatus.html":{}}}],["tool/controller/dto",{"_index":6804,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"controllers/ToolSchoolController.html":{}}}],["tool/controller/dto/context",{"_index":6718,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{}}}],["tool/controller/dto/custom",{"_index":8181,"title":{},"body":{"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{}}}],["tool/controller/dto/request/config/basic",{"_index":2704,"title":{},"body":{"classes/BasicToolConfigParams.html":{}}}],["tool/controller/dto/request/config/external",{"_index":10043,"title":{},"body":{"classes/ExternalToolConfigCreateParams.html":{}}}],["tool/controller/dto/request/config/lti11",{"_index":15854,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["tool/controller/dto/request/config/oauth2",{"_index":16912,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["tool/controller/dto/request/context",{"_index":6770,"title":{},"body":{"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextRefParams.html":{}}}],["tool/controller/dto/request/custom",{"_index":8250,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["tool/controller/dto/request/external",{"_index":10175,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolSearchParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/SortExternalToolParams.html":{}}}],["tool/controller/dto/request/school",{"_index":19693,"title":{},"body":{"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolIdParams-1.html":{}}}],["tool/controller/dto/response/config/basic",{"_index":2714,"title":{},"body":{"classes/BasicToolConfigResponse.html":{}}}],["tool/controller/dto/response/config/external",{"_index":10049,"title":{},"body":{"classes/ExternalToolConfigResponse.html":{}}}],["tool/controller/dto/response/config/lti11",{"_index":15873,"title":{},"body":{"classes/Lti11ToolConfigResponse.html":{}}}],["tool/controller/dto/response/config/oauth2",{"_index":16925,"title":{},"body":{"classes/Oauth2ToolConfigResponse.html":{}}}],["tool/controller/dto/response/context",{"_index":6690,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{}}}],["tool/controller/dto/response/custom",{"_index":8273,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["tool/controller/dto/response/external",{"_index":10385,"title":{},"body":{"classes/ExternalToolMetadataResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolSearchListResponse.html":{}}}],["tool/controller/dto/response/school",{"_index":19673,"title":{},"body":{"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["tool/controller/dto/response/tool",{"_index":22725,"title":{},"body":{"classes/ToolContextTypesListResponse.html":{}}}],["tool/controller/dto/school",{"_index":19669,"title":{},"body":{"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{}}}],["tool/controller/dto/tool",{"_index":22977,"title":{},"body":{"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceResponse.html":{}}}],["tool/controller/tool",{"_index":22588,"title":{},"body":{"modules/ToolApiModule.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{}}}],["tool/controller/tool.controller.ts",{"_index":22726,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/controller/tool.controller.ts:104",{"_index":22746,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/controller/tool.controller.ts:123",{"_index":22759,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/controller/tool.controller.ts:145",{"_index":22739,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/controller/tool.controller.ts:163",{"_index":22751,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/controller/tool.controller.ts:179",{"_index":22755,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/controller/tool.controller.ts:56",{"_index":22732,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/controller/tool.controller.ts:76",{"_index":22743,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/domain",{"_index":2007,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/CustomParameterFactory.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolService.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/FeathersRosterService.html":{},"injectables/IdTokenService.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/PseudonymService.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolVersionService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["tool/domain/config/basic",{"_index":2683,"title":{},"body":{"classes/BasicToolConfig.html":{}}}],["tool/domain/config/external",{"_index":10041,"title":{},"body":{"classes/ExternalToolConfig.html":{}}}],["tool/domain/config/lti11",{"_index":15845,"title":{},"body":{"classes/Lti11ToolConfig.html":{}}}],["tool/domain/config/oauth2",{"_index":16902,"title":{},"body":{"classes/Oauth2ToolConfig.html":{}}}],["tool/domain/context",{"_index":6639,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextRef.html":{}}}],["tool/domain/external",{"_index":10016,"title":{},"body":{"classes/ExternalTool.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolMetadata.html":{},"interfaces/ExternalToolProps.html":{}}}],["tool/domain/school",{"_index":19657,"title":{},"body":{"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolMetadata.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{}}}],["tool/domain/tool",{"_index":22945,"title":{},"body":{"classes/ToolReference.html":{}}}],["tool/entity",{"_index":6748,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolMetadata.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSortingMapper.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolMetadata.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"interfaces/SchoolExternalToolProperties.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/ToolContextMapper.html":{}}}],["tool/entity/config/basic",{"_index":2695,"title":{},"body":{"classes/BasicToolConfigEntity.html":{}}}],["tool/entity/config/external",{"_index":10046,"title":{},"body":{"classes/ExternalToolConfigEntity.html":{}}}],["tool/entity/config/lti11",{"_index":15866,"title":{},"body":{"classes/Lti11ToolConfigEntity.html":{}}}],["tool/entity/config/oauth2",{"_index":16920,"title":{},"body":{"classes/Oauth2ToolConfigEntity.html":{}}}],["tool/entity/context",{"_index":6735,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["tool/entity/custom",{"_index":8159,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["tool/entity/external",{"_index":10225,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool/entity/school",{"_index":19675,"title":{},"body":{"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{}}}],["tool/external",{"_index":10423,"title":{},"body":{"modules/ExternalToolModule.html":{}}}],["tool/loggable/external",{"_index":10279,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{}}}],["tool/lti",{"_index":15961,"title":{},"body":{"modules/LtiToolModule.html":{}}}],["tool/mapper",{"_index":22591,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["tool/mapper/context",{"_index":6806,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{}}}],["tool/mapper/external",{"_index":10378,"title":{},"body":{"classes/ExternalToolMetadataMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["tool/mapper/school",{"_index":19698,"title":{},"body":{"classes/SchoolExternalToolMetadataMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{}}}],["tool/mapper/tool",{"_index":22647,"title":{},"body":{"classes/ToolConfigurationMapper.html":{},"classes/ToolReferenceMapper.html":{}}}],["tool/school",{"_index":19716,"title":{},"body":{"modules/SchoolExternalToolModule.html":{}}}],["tool/service",{"_index":6947,"title":{},"body":{"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/FeathersRosterService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/RecursiveDeleteVisitor.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"modules/ToolApiModule.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolVersionService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["tool/service/context",{"_index":6669,"title":{},"body":{"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolValidationService.html":{}}}],["tool/service/external",{"_index":10053,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{}}}],["tool/service/lti",{"_index":16013,"title":{},"body":{"injectables/LtiToolService.html":{}}}],["tool/service/restricted",{"_index":18804,"title":{},"body":{"classes/RestrictedContextMismatchLoggable.html":{}}}],["tool/service/school",{"_index":19705,"title":{},"body":{"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolValidationService.html":{}}}],["tool/service/tool",{"_index":22891,"title":{},"body":{"injectables/ToolLaunchService.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolVersionService.html":{}}}],["tool/uc",{"_index":22590,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["tool/uc/context",{"_index":6967,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tool/uc/dto/school",{"_index":19747,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["tool/uc/external",{"_index":10114,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolUc.html":{}}}],["tool/uc/school",{"_index":19836,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool/uc/tool",{"_index":23003,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["tool1",{"_index":6058,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["tool1.getversion",{"_index":6068,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["tool2",{"_index":6056,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["tool2.getversion",{"_index":6069,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["tool_clientid_duplicate",{"_index":11069,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["tool_clientid_immutable",{"_index":11065,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["tool_clientsecret_missing",{"_index":11067,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["tool_param_auto_requires_global",{"_index":10467,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["tool_param_default_regex",{"_index":10477,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["tool_param_default_required",{"_index":10464,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["tool_param_duplicate",{"_index":6132,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{}}}],["tool_param_regex_invalid",{"_index":10474,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["tool_param_regexcomment",{"_index":10471,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["tool_param_required",{"_index":6149,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["tool_param_type_mismatch",{"_index":6152,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{}}}],["tool_param_unknown",{"_index":6140,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["tool_param_value_regex",{"_index":6157,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["tool_secret_missing",{"_index":11070,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["tool_status_outdated",{"_index":23073,"title":{},"body":{"classes/ToolStatusOutdatedLoggableException.html":{}}}],["tool_type_immutable",{"_index":11061,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["tool_version_mismatch",{"_index":19874,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["tool_with_name_exists",{"_index":7034,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["toolapimodule",{"_index":20181,"title":{"modules/ToolApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/ToolApiModule.html":{}}}],["toolconfigmodule",{"_index":6779,"title":{"modules/ToolConfigModule.html":{}},"body":{"modules/ContextExternalToolModule.html":{},"modules/ExternalToolModule.html":{},"modules/OauthProviderModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"modules/ToolModule.html":{}}}],["toolconfigtype",{"_index":2689,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/ToolLaunchMapper.html":{},"injectables/ToolLaunchService.html":{}}}],["toolconfigtype.basic",{"_index":2692,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/ToolLaunchMapper.html":{}}}],["toolconfigtype.lti11",{"_index":8220,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolFactory.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/ToolLaunchMapper.html":{}}}],["toolconfigtype.oauth2",{"_index":8216,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/ToolLaunchMapper.html":{}}}],["toolconfigtypetotoollaunchdatatypemapping",{"_index":22838,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["toolconfigtypetotoollaunchdatatypemapping[configtype",{"_index":22846,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["toolconfiguration",{"_index":13626,"title":{"classes/ToolConfiguration.html":{}},"body":{"interfaces/IToolFeatures.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{}}}],["toolconfiguration.toolfeatures",{"_index":22597,"title":{},"body":{"modules/ToolConfigModule.html":{}}}],["toolconfigurationcontroller",{"_index":22582,"title":{"controllers/ToolConfigurationController.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolConfigurationController.html":{}}}],["toolconfigurationmapper",{"_index":22625,"title":{"classes/ToolConfigurationMapper.html":{}},"body":{"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{}}}],["toolconfigurationmapper.maptocontextexternaltoolconfigurationtemplatelistresponse(availabletools",{"_index":22640,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["toolconfigurationmapper.maptocontextexternaltoolconfigurationtemplateresponse(tool",{"_index":22646,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["toolconfigurationmapper.maptoschoolexternaltoolconfigurationtemplatelistresponse(availabletools",{"_index":22636,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["toolconfigurationmapper.maptoschoolexternaltoolconfigurationtemplateresponse(tool",{"_index":22643,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["toolconfigurationmapper.maptotoolcontexttypeslistresponse(toolcontexttypes",{"_index":22633,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["toolcontextcontroller",{"_index":22584,"title":{"controllers/ToolContextController.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolContextController.html":{}}}],["toolcontextmapper",{"_index":10399,"title":{"classes/ToolContextMapper.html":{}},"body":{"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/ToolContextMapper.html":{}}}],["toolcontextmapper.contextmapping[contexttype",{"_index":10409,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{},"injectables/SchoolExternalToolMetadataService.html":{}}}],["toolcontexttype",{"_index":2034,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/CommonToolService.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolCreateParams.html":{},"entities/ExternalToolEntity.html":{},"injectables/ExternalToolMetadataService.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/FeathersRosterService.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["toolcontexttype.board_element",{"_index":2042,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"classes/ToolContextMapper.html":{},"injectables/ToolPermissionHelper.html":{}}}],["toolcontexttype.course",{"_index":2039,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/FeathersRosterService.html":{},"classes/ToolContextMapper.html":{},"injectables/ToolPermissionHelper.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["toolcontexttypes",{"_index":10111,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{}}}],["toolcontexttypeslistresponse",{"_index":22622,"title":{"classes/ToolContextTypesListResponse.html":{}},"body":{"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolContextTypesListResponse.html":{}}}],["toolcontexttypeslistresponse(toolcontexttypes",{"_index":22675,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["toolcontroller",{"_index":22586,"title":{"controllers/ToolController.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolController.html":{}}}],["toolfeatures",{"_index":10064,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolLogoService.html":{},"interfaces/IToolFeatures.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{},"injectables/ToolVersionService.html":{}}}],["toolid",{"_index":10312,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolMetadataService.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersRosterService.html":{},"classes/Pseudonym.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolExternalToolScope.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["toolidsinuse",{"_index":10075,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{}}}],["toolidsinuse.includes(tool.id",{"_index":10089,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["toolinfo",{"_index":22659,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["toolinfos",{"_index":22656,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["toolinfos.map",{"_index":22671,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["tooling",{"_index":25723,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["toollaunchcontroller",{"_index":22581,"title":{"controllers/ToolLaunchController.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolLaunchController.html":{}}}],["toollaunchdata",{"_index":2764,"title":{"classes/ToolLaunchData.html":{}},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/ToolLaunchData.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{}}}],["toollaunchdatado",{"_index":2769,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"interfaces/ToolLaunchStrategy.html":{}}}],["toollaunchdatatype",{"_index":22815,"title":{},"body":{"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{}}}],["toollaunchdatatype.basic",{"_index":22839,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["toollaunchdatatype.lti11",{"_index":22840,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["toollaunchdatatype.oauth2",{"_index":22841,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["toollaunchdatatypetotoolconfigtypemapping",{"_index":22842,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["toollaunchdatatypetotoolconfigtypemapping[launchdatatype",{"_index":22847,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["toollaunchmapper",{"_index":22805,"title":{"classes/ToolLaunchMapper.html":{}},"body":{"controllers/ToolLaunchController.html":{},"classes/ToolLaunchMapper.html":{},"injectables/ToolLaunchService.html":{}}}],["toollaunchmapper.maptotoolconfigtype(toollaunchdata.type",{"_index":22898,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["toollaunchmapper.maptotoollaunchrequestresponse(toollaunchrequest",{"_index":22810,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["toollaunchmodule",{"_index":22848,"title":{"modules/ToolLaunchModule.html":{}},"body":{"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{}}}],["toollaunchparams",{"_index":2741,"title":{"classes/ToolLaunchParams.html":{}},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchParams.html":{},"interfaces/ToolLaunchStrategy.html":{}}}],["toollaunchrequest",{"_index":2774,"title":{"classes/ToolLaunchRequest.html":{}},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequest.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{}}}],["toollaunchrequestresponse",{"_index":22806,"title":{"classes/ToolLaunchRequestResponse.html":{}},"body":{"controllers/ToolLaunchController.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["toollaunchrequestresponse})@apiunauthorizedresponse({description",{"_index":22799,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["toollaunchservice",{"_index":22853,"title":{"injectables/ToolLaunchService.html":{}},"body":{"modules/ToolLaunchModule.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{}}}],["toollaunchstrategy",{"_index":22893,"title":{"interfaces/ToolLaunchStrategy.html":{}},"body":{"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{}}}],["toollaunchuc",{"_index":22579,"title":{"injectables/ToolLaunchUc.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolLaunchController.html":{},"injectables/ToolLaunchUc.html":{}}}],["toolmodule",{"_index":1933,"title":{"modules/ToolModule.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/OauthProviderModule.html":{},"modules/PseudonymModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolModule.html":{}}}],["toolpermissionhelper",{"_index":6975,"title":{"injectables/ToolPermissionHelper.html":{}},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolUc.html":{},"modules/ToolApiModule.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceUc.html":{}}}],["toolref",{"_index":10101,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["toolref.externaltool.ishidden",{"_index":10103,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["toolreference",{"_index":6855,"title":{"classes/ToolReference.html":{}},"body":{"classes/ContextExternalToolResponseMapper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{}}}],["toolreference.contexttoolid",{"_index":6874,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"classes/ToolReference.html":{}}}],["toolreference.displayname",{"_index":6875,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"classes/ToolReference.html":{}}}],["toolreference.logourl",{"_index":6876,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"classes/ToolReference.html":{},"injectables/ToolReferenceService.html":{}}}],["toolreference.openinnewtab",{"_index":6878,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"classes/ToolReference.html":{}}}],["toolreference.status",{"_index":22954,"title":{},"body":{"classes/ToolReference.html":{}}}],["toolreferencecontroller",{"_index":22585,"title":{"controllers/ToolReferenceController.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolReferenceController.html":{}}}],["toolreferencelistresponse",{"_index":22968,"title":{"classes/ToolReferenceListResponse.html":{}},"body":{"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{}}}],["toolreferencelistresponse(toolreferenceresponses",{"_index":22976,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["toolreferencelistresponse})@apiforbiddenresponse({description",{"_index":22966,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["toolreferencemapper",{"_index":22979,"title":{"classes/ToolReferenceMapper.html":{}},"body":{"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{}}}],["toolreferencemapper.maptotoolreference",{"_index":23002,"title":{},"body":{"injectables/ToolReferenceService.html":{}}}],["toolreferenceresponse",{"_index":6857,"title":{"classes/ToolReferenceResponse.html":{}},"body":{"classes/ContextExternalToolResponseMapper.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceResponse.html":{}}}],["toolreferenceresponse.contexttoolid",{"_index":22994,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["toolreferenceresponse.displayname",{"_index":22996,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["toolreferenceresponse.logourl",{"_index":22995,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["toolreferenceresponse.openinnewtab",{"_index":22997,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["toolreferenceresponse.status",{"_index":22998,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["toolreferenceresponses",{"_index":6870,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"controllers/ToolReferenceController.html":{}}}],["toolreferenceresponse})@apiforbiddenresponse({description",{"_index":22962,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["toolreferences",{"_index":6860,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"controllers/ToolReferenceController.html":{}}}],["toolreferences.map((toolreference",{"_index":6871,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["toolreferenceservice",{"_index":6782,"title":{"injectables/ToolReferenceService.html":{}},"body":{"modules/ContextExternalToolModule.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{}}}],["toolreferencespromises",{"_index":23016,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["toolreferenceswithnull",{"_index":23018,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["toolreferenceswithnull.filter",{"_index":23021,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["toolreferenceuc",{"_index":22580,"title":{"injectables/ToolReferenceUc.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolReferenceController.html":{},"injectables/ToolReferenceUc.html":{}}}],["tools",{"_index":6750,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"entities/ExternalToolEntity.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/NextcloudStrategy.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolSchoolController.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["tools')@apiforbiddenresponse()@apioperation({summary",{"_index":22602,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["tools.data",{"_index":10937,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tools.data.map",{"_index":22770,"title":{},"body":{"controllers/ToolController.html":{}}}],["tools.data.map(async",{"_index":10932,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tools.filter((tool",{"_index":7011,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tools.map(async",{"_index":10171,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["tools.total",{"_index":22772,"title":{},"body":{"controllers/ToolController.html":{}}}],["tools/:contextexternaltoolid",{"_index":22970,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["tools/:contextexternaltoolid')@apioperation({summary",{"_index":22960,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["tools/:contextexternaltoolid/configuration",{"_index":22611,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["tools/:schoolexternaltoolid/configuration",{"_index":22617,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["tools/context",{"_index":22677,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["tools/external",{"_index":22727,"title":{},"body":{"controllers/ToolController.html":{}}}],["tools/school",{"_index":23026,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["tools/tool",{"_index":22956,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["tools/{id}/logo",{"_index":10157,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ToolReferenceService.html":{}}}],["toolschoolcontroller",{"_index":22583,"title":{"controllers/ToolSchoolController.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolSchoolController.html":{}}}],["toolstatusoutdatedloggableexception",{"_index":22892,"title":{"classes/ToolStatusOutdatedLoggableException.html":{}},"body":{"injectables/ToolLaunchService.html":{},"classes/ToolStatusOutdatedLoggableException.html":{}}}],["toolstatusresponsemapper",{"_index":6861,"title":{"classes/ToolStatusResponseMapper.html":{}},"body":{"classes/ContextExternalToolResponseMapper.html":{},"classes/ToolStatusResponseMapper.html":{}}}],["toolstatusresponsemapper.maptoresponse(toolreference.status",{"_index":6879,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["toolstatuswithoutversions",{"_index":13624,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["toolswithpermission",{"_index":7007,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["toolswithschooltool",{"_index":10095,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["toolswithschooltool.filter",{"_index":10100,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["tooltemplateinfo.externaltool",{"_index":10165,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["tooltemplateinfo.externaltool.logourl",{"_index":10166,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["toolvalidationservice",{"_index":10995,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["toolversion",{"_index":6055,"title":{"interfaces/ToolVersion.html":{}},"body":{"injectables/CommonToolService.html":{},"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{},"classes/SchoolExternalTool.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"interfaces/ToolVersion.html":{}}}],["toolversionservice",{"_index":6048,"title":{"injectables/ToolVersionService.html":{}},"body":{"injectables/CommonToolService.html":{},"modules/ContextExternalToolModule.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolVersionService.html":{}}}],["toomanypseudonymsloggableexception",{"_index":22569,"title":{"classes/TooManyPseudonymsLoggableException.html":{}},"body":{"classes/TooManyPseudonymsLoggableException.html":{}}}],["toomodule",{"_index":1939,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["top",{"_index":21478,"title":{},"body":{"injectables/TaskCopyUC.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["toparams",{"_index":2331,"title":{},"body":{"injectables/BBBService.html":{}}}],["toparams(object",{"_index":2370,"title":{},"body":{"injectables/BBBService.html":{}}}],["topic",{"_index":25903,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["topics\\/([0",{"_index":15542,"title":{},"body":{"injectables/LessonUrlHandler.html":{}}}],["toplevel",{"_index":14533,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["toposition",{"_index":4403,"title":{},"body":{"controllers/CardController.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{}}}],["toseedfolder",{"_index":5206,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["tostring",{"_index":996,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["total",{"_index":863,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"injectables/BaseDORepo.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"controllers/CourseController.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordResponse.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/Page.html":{},"classes/PaginationResponse.html":{},"controllers/TaskController.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"injectables/TaskUC.html":{},"injectables/UserDORepo.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"injectables/UserRepo.html":{}}}],["total.length",{"_index":23832,"title":{},"body":{"injectables/UserRepo.html":{}}}],["total[0].count",{"_index":23833,"title":{},"body":{"injectables/UserRepo.html":{}}}],["totalitems",{"_index":12975,"title":{},"body":{"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/Meta.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OcsResponse.html":{},"interfaces/SuccessfulRes.html":{}}}],["tothrow",{"_index":12992,"title":{},"body":{"classes/GuardAgainst.html":{}}}],["touching",{"_index":26052,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["toupdate",{"_index":10908,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{}}}],["toupdate.config",{"_index":10950,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["toupdate.config.clientid",{"_index":10952,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["toupdate.name",{"_index":10949,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["toupdateoauthclient",{"_index":10913,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tovideoconferenceinforesponse",{"_index":24244,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["tovideoconferenceinforesponse(videoconferenceinfo",{"_index":24248,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["tovideoconferencejoinresponse",{"_index":24245,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["tovideoconferencejoinresponse(videoconferencejoin",{"_index":24250,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["tovideoconferenceoptions",{"_index":24246,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["tovideoconferenceoptions(params",{"_index":24252,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["tovideoconferencestateresponse",{"_index":24247,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["tovideoconferencestateresponse(state",{"_index":24254,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["trace",{"_index":13604,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{}}}],["trade",{"_index":24982,"title":{},"body":{"license.html":{}}}],["trademark",{"_index":24981,"title":{},"body":{"license.html":{}}}],["trademarks",{"_index":24983,"title":{},"body":{"license.html":{}}}],["transaction",{"_index":24942,"title":{},"body":{"license.html":{}}}],["transfer",{"_index":4912,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"license.html":{}}}],["transferred",{"_index":24944,"title":{},"body":{"license.html":{}}}],["transferring",{"_index":25033,"title":{},"body":{"license.html":{}}}],["transform",{"_index":1211,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"interfaces/CommonCartridgeElement.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/GlobalValidationPipe.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["transform(value",{"_index":1227,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["transform:true",{"_index":12592,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["transformer",{"_index":1232,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FilesStorageMapper.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{},"dependencies.html":{}}}],["transformoptions",{"_index":12590,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["transient",{"_index":515,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["transient(transient",{"_index":572,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["transition",{"_index":25900,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["transitioning",{"_index":25602,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["translate",{"_index":24593,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["transmission",{"_index":24906,"title":{},"body":{"license.html":{}}}],["transparent",{"_index":20581,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["transports",{"_index":15713,"title":{},"body":{"modules/LoggerModule.html":{}}}],["trash",{"_index":19314,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["trd",{"_index":9243,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["treated",{"_index":416,"title":{},"body":{"controllers/AccountController.html":{},"license.html":{}}}],["treating",{"_index":25808,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["treaty",{"_index":24816,"title":{},"body":{"license.html":{}}}],["trial",{"_index":2822,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["tries",{"_index":25658,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["trigger",{"_index":8998,"title":{},"body":{"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["triggerdeletionexecution",{"_index":9022,"title":{},"body":{"classes/DeletionExecutionConsole.html":{},"injectables/DeletionExecutionUc.html":{}}}],["triggerdeletionexecution(limit",{"_index":9064,"title":{},"body":{"injectables/DeletionExecutionUc.html":{}}}],["triggerdeletionexecution(options",{"_index":9024,"title":{},"body":{"classes/DeletionExecutionConsole.html":{}}}],["triggerdeletionexecutionoptions",{"_index":9025,"title":{"interfaces/TriggerDeletionExecutionOptions.html":{}},"body":{"classes/DeletionExecutionConsole.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{}}}],["triggerdeletionexecutionoptionsbuilder",{"_index":23083,"title":{"classes/TriggerDeletionExecutionOptionsBuilder.html":{}},"body":{"classes/TriggerDeletionExecutionOptionsBuilder.html":{}}}],["trim",{"_index":14107,"title":{},"body":{"classes/ImportUserScope.html":{},"classes/StringValidator.html":{},"injectables/UserRepo.html":{}}}],["trivial",{"_index":25426,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["true",{"_index":195,"title":{},"body":{"classes/AcceptQuery.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchQueryParams.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AntivirusService.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationService.html":{},"classes/AxiosErrorFactory.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BaseUc.html":{},"entities/Board.html":{},"injectables/BoardDoRule.html":{},"entities/BoardElement.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/BoardUrlParams.html":{},"classes/CardIdsParams.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollectionFilePath.html":{},"entities/ColumnBoardTarget.html":{},"classes/ColumnUrlParams.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameterEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestBodyProps.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DoBaseFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/DtoCreator.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalToolConfigEntity.html":{},"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"classes/ExternalToolElementResponse.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolIdParams.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolUpdateParams.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileUrlParams.html":{},"modules/FilesStorageModule.html":{},"classes/FilterImportUserParams.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GetMetaTagDataBody.html":{},"classes/GlobalValidationPipe.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"injectables/GroupRepo.html":{},"injectables/GroupRule.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorModule.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"interfaces/ICurrentUser.html":{},"classes/IdParams.html":{},"classes/IdentityManagementOauthService.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JwtConstants.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapConfigEntity.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolFactory.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonUC.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"injectables/LocalStrategy.html":{},"modules/LoggerModule.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/MigrationCheckService.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/NewsUrlParams.html":{},"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"injectables/OauthProviderLoginFlowService.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/Options.html":{},"interfaces/ParentInfo.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PreviewGeneratorService.html":{},"classes/PreviewParams.html":{},"classes/PseudonymParams.html":{},"classes/PublicSystemResponse.html":{},"injectables/ReferenceLoader.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RevokeConsentParams.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"injectables/RoomBoardDTOFactory.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"modules/S3ClientModule.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/SchoolValidationService.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenProperties.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleFileParams.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItemUrlParams.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"injectables/SystemRepo.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/TldrawWsService.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolVersionService.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"classes/UserParams.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationErrorLoggableException.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["true})@apiproperty({description",{"_index":4409,"title":{},"body":{"classes/CardIdsParams.html":{},"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"classes/OauthClientBody.html":{},"classes/PatchOrderParams.html":{}}}],["true})@apiproperty({oneof",{"_index":23095,"title":{},"body":{"classes/UpdateElementContentBodyParams.html":{}}}],["true})@apiproperty({required",{"_index":6289,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["true})@apipropertyoptional({enum",{"_index":10188,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["true})@enum",{"_index":21097,"title":{},"body":{"entities/SystemEntity.html":{}}}],["true})@index",{"_index":4614,"title":{},"body":{"entities/ClassEntity.html":{},"entities/FileEntity.html":{},"entities/Task.html":{},"entities/User.html":{}}}],["true})@index({options",{"_index":9121,"title":{},"body":{"entities/DeletionLogEntity.html":{}}}],["true})@isarray()@isoptional()@apipropertyoptional({type",{"_index":6797,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/SchoolExternalToolPostParams.html":{}}}],["true})@ismongoid",{"_index":24341,"title":{},"body":{"classes/VideoConferenceScopeParams.html":{}}}],["true})@isoptional()@apiproperty({description",{"_index":6236,"title":{},"body":{"classes/ConsentRequestBody.html":{}}}],["true})@isoptional()@apipropertyoptional({required",{"_index":7899,"title":{},"body":{"classes/CreateCardBodyParams.html":{}}}],["true})@isoptional()@isenum(filtermatchtype",{"_index":12342,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["true})@singlevaluetoarraytransformer()@isarray",{"_index":12343,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["true})@type(undefined",{"_index":19444,"title":{},"body":{"classes/SanisGruppenResponse.html":{},"classes/SanisResponse.html":{}}}],["true})@unique({options",{"_index":7422,"title":{},"body":{"entities/Course.html":{},"entities/ImportUser.html":{},"entities/LtiTool.html":{}}}],["try",{"_index":629,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AntivirusService.html":{},"injectables/BatchDeletionService.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardManagementUc.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"injectables/EtherpadService.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolService.html":{},"injectables/JwtStrategy.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LdapStrategy.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthAdapterService.html":{},"injectables/PreviewService.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/TaskCopyUC.html":{},"injectables/TldrawWsService.html":{},"injectables/ToolReferenceUc.html":{},"injectables/ToolVersionService.html":{},"injectables/UserMigrationService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["trybuildtoolreference",{"_index":23006,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["trybuildtoolreference(userid",{"_index":23014,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["tryextractmetatags",{"_index":16195,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["tryextractmetatags(url",{"_index":16208,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["tryfilenameasfallback",{"_index":16196,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["tryfilenameasfallback(url",{"_index":16210,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["tryfindbyid",{"_index":12893,"title":{},"body":{"injectables/GroupService.html":{}}}],["tryfindbyid(id",{"_index":12904,"title":{},"body":{"injectables/GroupService.html":{}}}],["trygetprevieworgenerate",{"_index":17921,"title":{},"body":{"injectables/PreviewService.html":{}}}],["trygetprevieworgenerate(params",{"_index":17932,"title":{},"body":{"injectables/PreviewService.html":{}}}],["trying",{"_index":6207,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/LdapStrategy.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/UsersList.html":{}}}],["tryinternallinkmetatags",{"_index":16197,"title":{},"body":{"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{}}}],["tryinternallinkmetatags(url",{"_index":16212,"title":{},"body":{"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{}}}],["tryrollbackmigration",{"_index":19935,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["tryrollbackmigration(currentuserid",{"_index":23753,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["tryrollbackmigration(originalschooldo",{"_index":19955,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["ts",{"_index":1072,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/ImportUserScope.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/UserRepo.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["tspuid",{"_index":4662,"title":{},"body":{"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{}}}],["ttl",{"_index":20200,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["turned",{"_index":22394,"title":{},"body":{"classes/TldrawWs.html":{}}}],["tvalue",{"_index":13756,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["two",{"_index":13360,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{},"injectables/LdapStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["typ",{"_index":14274,"title":{},"body":{"interfaces/JwtConstants.html":{},"classes/SanisGruppeResponse.html":{}}}],["type",{"_index":32,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"interfaces/AccountConfig.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"classes/AuthorizationParams.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/CommonCartridgeConfig.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FeathersError.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"classes/FileUrlParams.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"interfaces/IdentityManagementConfig.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/InterceptorConfig.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"classes/ProvisioningDto.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"interfaces/TldrawConfig.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"dependencies.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["type']?.tostring",{"_index":11435,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["type.enum",{"_index":1507,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/CacheService.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"injectables/JwtValidationAdapter.html":{},"classes/OauthClientBody.html":{},"classes/TokenRequestMapper.html":{}}}],["type.factory.ts",{"_index":18342,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["type.factory.ts:11",{"_index":18346,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["type.includes(bn.type",{"_index":3580,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["type.interface.ts",{"_index":9914,"title":{},"body":{"interfaces/ErrorType.html":{}}}],["type.mapper.ts",{"_index":16280,"title":{},"body":{"classes/MetadataTypeMapper.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["type.mapper.ts:6",{"_index":16284,"title":{},"body":{"classes/MetadataTypeMapper.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["type.response",{"_index":12828,"title":{},"body":{"classes/GroupResponse.html":{}}}],["typecheckers",{"_index":6073,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["typedefinitions",{"_index":25471,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["typemapping",{"_index":10756,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/GroupResponseMapper.html":{}}}],["typemapping[customparameterdo.type",{"_index":10859,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["typemapping[customparameterparam.type",{"_index":10797,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["typemapping[resolvedgroup.type",{"_index":12863,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["typeof",{"_index":1675,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/BusinessError.html":{},"injectables/CardUc.html":{},"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraSsoService.html":{},"interfaces/IGridElement.html":{},"interfaces/LibrariesContentType.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/OAuthService.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/Scope.html":{},"classes/SortHelper.html":{},"classes/StringValidator.html":{},"injectables/SystemRule.html":{},"classes/TestApiClient.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["types",{"_index":134,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"interfaces/AuthorizableObject.html":{},"injectables/BasicToolLaunchStrategy.html":{},"entities/Board.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardUrlHandler.html":{},"classes/Card.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementFactory.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseUrlHandler.html":{},"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestProps.html":{},"classes/DomainObject.html":{},"classes/DrawingElement.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileMetadata.html":{},"classes/FilesStorageMapper.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"classes/H5PContentMapper.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfigEntity.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonUrlHandler.html":{},"classes/LibraryName.html":{},"classes/LinkElement.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"interfaces/Loggable.html":{},"classes/LoggingUtils.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/Path.html":{},"classes/RichTextElement.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RoleReference.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsUc.html":{},"entities/SchoolNews.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"entities/Submission.html":{},"classes/SubmissionContainerElement.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionItem.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"interfaces/SubmissionProperties.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"injectables/TaskUrlHandler.html":{},"entities/TeamNews.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"interfaces/UrlHandler.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["types')@apiforbiddenresponse()@apioperation({summary",{"_index":22620,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["types.get(type",{"_index":12262,"title":{},"body":{"classes/FilesStorageMapper.html":{},"classes/H5PContentMapper.html":{},"classes/MetadataTypeMapper.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["types.set(filerecordparenttype.boardnode",{"_index":12260,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["types.set(filerecordparenttype.course",{"_index":12251,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["types.set(filerecordparenttype.lesson",{"_index":12256,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["types.set(filerecordparenttype.school",{"_index":12254,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["types.set(filerecordparenttype.submission",{"_index":12258,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["types.set(filerecordparenttype.task",{"_index":12249,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["types.set(filerecordparenttype.user",{"_index":12252,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["types.set(h5pcontentparenttype.lesson",{"_index":13022,"title":{},"body":{"classes/H5PContentMapper.html":{}}}],["types.set(sharetokencontexttype.school",{"_index":20274,"title":{},"body":{"classes/ShareTokenContextTypeMapper.html":{}}}],["types.set(sharetokenparenttype.course",{"_index":16287,"title":{},"body":{"classes/MetadataTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["types.set(sharetokenparenttype.lesson",{"_index":20365,"title":{},"body":{"classes/ShareTokenParentTypeMapper.html":{}}}],["types.set(sharetokenparenttype.task",{"_index":20366,"title":{},"body":{"classes/ShareTokenParentTypeMapper.html":{}}}],["types.ts",{"_index":13028,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["types.ts:12",{"_index":16024,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:14",{"_index":16023,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:16",{"_index":16028,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:18",{"_index":16020,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:20",{"_index":16021,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:22",{"_index":16022,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:24",{"_index":16025,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:26",{"_index":16026,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:28",{"_index":16027,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:30",{"_index":16019,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types/board",{"_index":3887,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{}}}],["types/cache",{"_index":24430,"title":{},"body":{"dependencies.html":{}}}],["types/connect",{"_index":24432,"title":{},"body":{"dependencies.html":{}}}],["types/connection",{"_index":24372,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["types/copy.types",{"_index":7283,"title":{},"body":{"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{}}}],["types/entity",{"_index":21257,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["types/gm",{"_index":24434,"title":{},"body":{"dependencies.html":{}}}],["types/ldapjs",{"_index":24436,"title":{},"body":{"dependencies.html":{}}}],["types/news.types",{"_index":7761,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["types/redis",{"_index":24438,"title":{},"body":{"dependencies.html":{}}}],["types/room",{"_index":9631,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["types/task.types",{"_index":21258,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["types/xml2js",{"_index":24440,"title":{},"body":{"dependencies.html":{}}}],["typescript",{"_index":1089,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"interfaces/CollectionFilePath.html":{},"entities/CourseNews.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ErrorLoggable.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/JwtExtractor.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/LegacySystemRepo.html":{},"controllers/LoginController.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"entities/SchoolNews.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/TeamNews.html":{},"classes/TestBootstrapConsole.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawModule.html":{},"classes/TldrawWs.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["typical",{"_index":24925,"title":{},"body":{"license.html":{}}}],["typing",{"_index":11233,"title":{},"body":{"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["u",{"_index":559,"title":{},"body":{"classes/AccountFactory.html":{},"interfaces/AdminIdAndToken.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["u.id",{"_index":7511,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["u.userid",{"_index":2674,"title":{},"body":{"classes/BaseUc.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["u.userid.id",{"_index":21968,"title":{},"body":{"injectables/TeamService.html":{}}}],["ubername",{"_index":15551,"title":{},"body":{"classes/LibraryFileUrlParams.html":{}}}],["uc",{"_index":3017,"title":{},"body":{"modules/BoardApiModule.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"modules/CollaborativeStorageModule.html":{},"controllers/ColumnController.html":{},"classes/DeleteFilesConsole.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionQueueConsole.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"injectables/ExternalToolRequestMapper.html":{},"controllers/FileSecurityController.html":{},"modules/FilesModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"modules/LearnroomApiModule.html":{},"modules/LessonApiModule.html":{},"controllers/LessonController.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/OauthApiModule.html":{},"modules/OauthProviderApiModule.html":{},"controllers/OauthSSOController.html":{},"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"controllers/ShareTokenController.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"controllers/SubmissionController.html":{},"modules/TaskApiModule.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"modules/UserApiModule.html":{},"controllers/UserController.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"modules/VideoConferenceModule.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["uc.mapper.ts",{"_index":12916,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["uc.mapper.ts:12",{"_index":12926,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["uc.mapper.ts:32",{"_index":12921,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["uc.mapper.ts:50",{"_index":12929,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["uc.ts",{"_index":25525,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["uc/account.uc",{"_index":283,"title":{},"body":{"modules/AccountApiModule.html":{},"controllers/AccountController.html":{}}}],["uc/board",{"_index":3783,"title":{},"body":{"classes/BoardManagementConsole.html":{},"modules/ManagementModule.html":{}}}],["uc/collaborative",{"_index":5073,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["uc/course",{"_index":7533,"title":{},"body":{"controllers/CourseController.html":{},"controllers/RoomsController.html":{}}}],["uc/course.uc",{"_index":7536,"title":{},"body":{"controllers/CourseController.html":{}}}],["uc/dashboard.uc",{"_index":8305,"title":{},"body":{"controllers/DashboardController.html":{}}}],["uc/database",{"_index":8725,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/ManagementModule.html":{},"interfaces/Options.html":{}}}],["uc/dto",{"_index":1725,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/ExternalToolConfigurationService.html":{},"controllers/GroupController.html":{},"classes/GroupResponseMapper.html":{},"controllers/LoginController.html":{},"classes/LoginResponseMapper.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["uc/dto/class",{"_index":4717,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["uc/dto/context",{"_index":6816,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"injectables/ContextExternalToolService.html":{},"controllers/ToolContextController.html":{}}}],["uc/dto/school",{"_index":19768,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolService.html":{},"controllers/ToolSchoolController.html":{}}}],["uc/dto/user.dto",{"_index":23906,"title":{},"body":{"injectables/UserService.html":{}}}],["uc/element.uc",{"_index":3018,"title":{},"body":{"modules/BoardApiModule.html":{},"controllers/BoardSubmissionController.html":{},"controllers/ElementController.html":{}}}],["uc/fwu",{"_index":12392,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{}}}],["uc/h5p.uc",{"_index":13131,"title":{},"body":{"controllers/H5PEditorController.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["uc/keycloak",{"_index":4862,"title":{},"body":{"interfaces/CleanOptions.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["uc/lesson",{"_index":19161,"title":{},"body":{"controllers/RoomsController.html":{}}}],["uc/login.uc",{"_index":1490,"title":{},"body":{"modules/AuthenticationApiModule.html":{},"controllers/LoginController.html":{}}}],["uc/news.uc",{"_index":16427,"title":{},"body":{"controllers/NewsController.html":{},"modules/NewsModule.html":{}}}],["uc/oauth",{"_index":17263,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["uc/rooms.uc",{"_index":19162,"title":{},"body":{"controllers/RoomsController.html":{}}}],["uc/submission",{"_index":3019,"title":{},"body":{"modules/BoardApiModule.html":{},"controllers/BoardSubmissionController.html":{}}}],["uc/system.uc",{"_index":21038,"title":{},"body":{"controllers/SystemController.html":{}}}],["uc/task",{"_index":21387,"title":{},"body":{"controllers/TaskController.html":{}}}],["uc/task.uc",{"_index":21388,"title":{},"body":{"controllers/TaskController.html":{}}}],["uc/user",{"_index":13869,"title":{},"body":{"controllers/ImportUserController.html":{},"modules/ImportUserModule.html":{}}}],["ucs",{"_index":15088,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["ui",{"_index":24555,"title":{},"body":{"dependencies.html":{},"additional-documentation/nestjs-application.html":{}}}],["ui_locales",{"_index":17514,"title":{},"body":{"classes/OidcContextResponse.html":{},"interfaces/ProviderOidcContext.html":{}}}],["ui_use_real_name=true",{"_index":25948,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["uid",{"_index":13811,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["uid=(.+?),/i",{"_index":13810,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["uid=[^,]*${escapedloginname",{"_index":14119,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["uid=john${sequence},cn=schueler,cn=users,ou=1,dc=training,dc=ucs",{"_index":13914,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["uid=loginname",{"_index":13808,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["uint8array",{"_index":22228,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["uint8array(message",{"_index":22518,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["uk",{"_index":23146,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["um",{"_index":5509,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["unable",{"_index":3343,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/OidcProvisioningService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["unambiguous",{"_index":1395,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"classes/ErrorResponse.html":{}}}],["unarchivegroup(groupname",{"_index":1122,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["unauthorized",{"_index":22808,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["unauthorized'})@apiforbiddenresponse({description",{"_index":22800,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["unauthorized_exception",{"_index":23088,"title":{},"body":{"classes/UnauthorizedLoggableException.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["unauthorizedexception",{"_index":1983,"title":{},"body":{"injectables/AuthorizationService.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/JwtStrategy.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/Oauth2Strategy.html":{},"controllers/OauthSSOController.html":{},"injectables/TaskUC.html":{},"classes/UnauthorizedLoggableException.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["unauthorizedexception('insufficient",{"_index":11219,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["unauthorizedexception('missing",{"_index":11213,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["unauthorizedexception('no",{"_index":16900,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["unauthorizedexception('unauthorized",{"_index":14307,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["unauthorizedexception('user",{"_index":15008,"title":{},"body":{"injectables/LdapService.html":{}}}],["unauthorizedexception(`school",{"_index":15048,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["unauthorizedexception})@apiresponse({status",{"_index":16153,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["unauthorizedloggableexception",{"_index":1721,"title":{"classes/UnauthorizedLoggableException.html":{}},"body":{"injectables/AuthenticationService.html":{},"classes/UnauthorizedLoggableException.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["unauthorizedloggableexception(username",{"_index":1729,"title":{},"body":{"injectables/AuthenticationService.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["und",{"_index":5527,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["undefined",{"_index":125,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/AccountSearchListResponse.html":{},"injectables/AccountServiceDb.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/AntivirusService.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"injectables/AuthenticationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/BasicToolLaunchStrategy.html":{},"entities/Board.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"classes/BoardResponse.html":{},"injectables/BoardUrlHandler.html":{},"classes/BusinessError.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/ColumnBoardFactory.html":{},"classes/ColumnResponse.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"interfaces/CopyFiles.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"classes/CourseMetadataListResponse.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseUrlHandler.html":{},"interfaces/CustomLtiProperty.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DashboardResponse.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"interfaces/DeletionRequestProps.html":{},"classes/DrawingElementContentBody.html":{},"classes/ErrorUtils.html":{},"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContentBody.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"injectables/ExternalToolService.html":{},"classes/ExternalToolSortingMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"interfaces/File.html":{},"classes/FileElementContentBody.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"injectables/FilesStorageConsumer.html":{},"interfaces/GetFile.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GuardAgainst.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraSsoService.html":{},"interfaces/IGridElement.html":{},"interfaces/ILegacyLogger.html":{},"injectables/IdTokenService.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySchoolRepo.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/LessonUrlHandler.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkElementContentBody.html":{},"interfaces/ListFiles.html":{},"classes/LoggingUtils.html":{},"classes/LoginResponse-1.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MigrationCheckService.html":{},"interfaces/MigrationOptions.html":{},"classes/NewsListResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthSSOController.html":{},"interfaces/ObjectKeysRecursive.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"interfaces/ParentInfo.html":{},"classes/PreviewBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"classes/PrometheusMetricsConfig.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"modules/RedisModule.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResponseInfo.html":{},"interfaces/RetryOptions.html":{},"classes/RichTextElementContentBody.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenUC.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SortHelper.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/Submission.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionItemResponse.html":{},"interfaces/SubmissionProperties.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionsResponse.html":{},"classes/System.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"interfaces/SystemProps.html":{},"classes/SystemResponseMapper.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskListResponse.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/TldrawWsService.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"classes/ToolReferenceListResponse.html":{},"classes/UpdateElementContentBodyParams.html":{},"interfaces/UserBoardRoles.html":{},"injectables/UserDORepo.html":{},"controllers/UserLoginMigrationController.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMatchListResponse.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"classes/ValidationErrorLoggableException.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/WsSharedDocDo.html":{}}}],["undefined})@apiproperty({oneof",{"_index":10180,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["undefined})@apiresponse({status",{"_index":4019,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ElementController.html":{}}}],["undefined})@isarray({groups",{"_index":19470,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{}}}],["undefined})@isboolean()@isoptional",{"_index":24070,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["undefined})@property({nullable",{"_index":11718,"title":{},"body":{"entities/FileRecord.html":{},"entities/ShareToken.html":{}}}],["undefined})@type(undefined",{"_index":6798,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"classes/SchoolExternalToolPostParams.html":{}}}],["undefined})@userequestcontext",{"_index":12208,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["undefined})@validatenested({each",{"_index":19471,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{}}}],["undefined})@validatenested({groups",{"_index":19474,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{}}}],["under",{"_index":24583,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["understand",{"_index":25639,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["unexpected",{"_index":25713,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["unfamiliar",{"_index":25649,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["unhandled",{"_index":9837,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["unicode",{"_index":795,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["uninstallunwantedlibraries",{"_index":13271,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["uninstallunwantedlibraries(wantedlibraries",{"_index":13282,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["unique",{"_index":219,"title":{},"body":{"entities/Account.html":{},"classes/ApiValidationErrorResponse.html":{},"entities/Board.html":{},"injectables/ContextExternalToolValidationService.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/ErrorResponse.html":{},"entities/ExternalToolEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakSeedService.html":{},"entities/LtiTool.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["unique()@property",{"_index":10233,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["uniqueids",{"_index":21319,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["uniqueids.length",{"_index":21322,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["uniquemember",{"_index":14958,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["uniquememberids",{"_index":20685,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["uniquenames",{"_index":6128,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["uniquenames.size",{"_index":6130,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["uniquepermissions",{"_index":18970,"title":{},"body":{"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["unit",{"_index":25273,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["unittests",{"_index":25802,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["universal",{"_index":24561,"title":{},"body":{"dependencies.html":{}}}],["unknown",{"_index":158,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/AntivirusService.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthorizationHelper.html":{},"classes/AxiosErrorFactory.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"injectables/BoardRepo.html":{},"injectables/BsonConverter.html":{},"classes/BusinessError.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"interfaces/ColumnProps.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/CourseCopyService.html":{},"injectables/DatabaseManagementService.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorUtils.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"controllers/FileSecurityController.html":{},"injectables/FilesStorageProducer.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/GlobalErrorFilter.html":{},"classes/GroupRoleUnknownLoggable.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"interfaces/ILegacyLogger.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySystemRepo.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonUC.html":{},"interfaces/LibrariesContentType.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/LoggingUtils.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/NewsUc.html":{},"injectables/OauthAdapterService.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewProducer.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResponseInfo.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/RpcMessageProducer.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SaveH5PEditorParams.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/StorageProviderEncryptedStringType.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionUc.html":{},"injectables/SystemRule.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/TestApiClient.html":{},"injectables/ToolReferenceUc.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"injectables/UserDORepo.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"injectables/UserRepo.html":{}}}],["unknown.loggable.ts",{"_index":12875,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["unknown.loggable.ts:4",{"_index":12878,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["unknown.loggable.ts:7",{"_index":12880,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["unknownerror",{"_index":12557,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["unknownquerytype",{"_index":23092,"title":{},"body":{"classes/UnknownQueryTypeLoggableException.html":{}}}],["unknownquerytypeloggableexception",{"_index":23089,"title":{"classes/UnknownQueryTypeLoggableException.html":{}},"body":{"classes/UnknownQueryTypeLoggableException.html":{}}}],["unless",{"_index":24931,"title":{},"body":{"license.html":{}}}],["unlimited",{"_index":370,"title":{},"body":{"controllers/AccountController.html":{},"license.html":{}}}],["unmarkfordelete",{"_index":11772,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["unmarkoutdatedusers",{"_index":19936,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["unmarkoutdatedusers(userloginmigration",{"_index":19958,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["unmodified",{"_index":24722,"title":{},"body":{"license.html":{}}}],["unnecessary",{"_index":24804,"title":{},"body":{"license.html":{}}}],["unnessasary",{"_index":22940,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["unpacking",{"_index":24959,"title":{},"body":{"license.html":{}}}],["unprocessable_entity_exception",{"_index":18810,"title":{},"body":{"classes/RestrictedContextMismatchLoggable.html":{}}}],["unprocessableentityexception",{"_index":6391,"title":{},"body":{"classes/ContentElementResponseFactory.html":{},"injectables/ElementUc.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolService.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["unprocessableentityexception('cannot",{"_index":9771,"title":{},"body":{"injectables/ElementUc.html":{},"injectables/NextcloudStrategy.html":{}}}],["unprocessableentityexception(`could",{"_index":10940,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["unprocessableentityexception(`the",{"_index":10956,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["unprocessableentityexception(`unknown",{"_index":10660,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["unprocessableentityexception(errortype.preview_not_possible",{"_index":17945,"title":{},"body":{"injectables/PreviewService.html":{}}}],["unpublish",{"_index":5566,"title":{},"body":{"entities/ColumnBoardTarget.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/PatchVisibilityParams.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["unpublished",{"_index":7960,"title":{},"body":{"interfaces/CreateNews.html":{},"classes/FilterNewsParams.html":{},"interfaces/INewsScope.html":{},"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["unreachable",{"_index":986,"title":{},"body":{"injectables/AccountValidationService.html":{},"classes/KeycloakSeedService.html":{}}}],["unresponsive",{"_index":19407,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["uns",{"_index":5541,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["unsafe",{"_index":1091,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/BaseFactory.html":{},"interfaces/CollectionFilePath.html":{},"classes/ErrorLoggable.html":{},"classes/ImportUserFactory.html":{},"classes/JwtExtractor.html":{},"injectables/JwtValidationAdapter.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"injectables/TldrawBoardRepo.html":{},"classes/TldrawWs.html":{},"injectables/UserRepo.html":{}}}],["unsupported",{"_index":4001,"title":{},"body":{"classes/BoardResponseMapper.html":{}}}],["unter",{"_index":5545,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["until",{"_index":9522,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/GroupDomainMapper.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/UpdateElementContentBodyParams.html":{},"license.html":{}}}],["untildate",{"_index":7402,"title":{},"body":{"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/UsersList.html":{}}}],["untildateinfuture",{"_index":7830,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["unused",{"_index":2059,"title":{},"body":{"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BasicToolLaunchStrategy.html":{},"classes/DomainObjectFactory.html":{},"injectables/FilesStorageConsumer.html":{},"controllers/LoginController.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/TestBootstrapConsole.html":{}}}],["unusedtools",{"_index":10099,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["unusedtools.filter",{"_index":10102,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["unwanted",{"_index":21660,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["up",{"_index":18019,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{},"controllers/ShareTokenController.html":{},"modules/VideoConferenceModule.html":{},"index.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["update",{"_index":3218,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"injectables/CollaborativeStorageAdapter.html":{},"interfaces/CollectionFilePath.html":{},"controllers/ColumnController.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"controllers/ElementController.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakMigrationService.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"classes/PatchMyAccountParams.html":{},"injectables/SubmissionItemService.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["update(deletionrequest",{"_index":9371,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["update(deletionrequesttoupdate",{"_index":9420,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["update(element",{"_index":6422,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["update(id",{"_index":16629,"title":{},"body":{"injectables/NewsUc.html":{}}}],["update(submissionitem",{"_index":20838,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["update(urlparams",{"_index":16420,"title":{},"body":{"controllers/NewsController.html":{}}}],["update.params.ts",{"_index":11025,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/TaskUpdateParams.html":{}}}],["update.params.ts:16",{"_index":21842,"title":{},"body":{"classes/TaskUpdateParams.html":{}}}],["update.params.ts:17",{"_index":11027,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["update.params.ts:21",{"_index":11030,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["update.params.ts:22",{"_index":15882,"title":{},"body":{"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["update.params.ts:25",{"_index":21845,"title":{},"body":{"classes/TaskUpdateParams.html":{}}}],["update.params.ts:26",{"_index":11034,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["update.params.ts:27",{"_index":15881,"title":{},"body":{"classes/Lti11ToolConfigUpdateParams.html":{}}}],["update.params.ts:31",{"_index":11029,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["update.params.ts:33",{"_index":21846,"title":{},"body":{"classes/TaskUpdateParams.html":{}}}],["update.params.ts:35",{"_index":15880,"title":{},"body":{"classes/Lti11ToolConfigUpdateParams.html":{}}}],["update.params.ts:36",{"_index":16928,"title":{},"body":{"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["update.params.ts:39",{"_index":15879,"title":{},"body":{"classes/Lti11ToolConfigUpdateParams.html":{}}}],["update.params.ts:40",{"_index":16927,"title":{},"body":{"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["update.params.ts:41",{"_index":21843,"title":{},"body":{"classes/TaskUpdateParams.html":{}}}],["update.params.ts:44",{"_index":16929,"title":{},"body":{"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["update.params.ts:49",{"_index":21841,"title":{},"body":{"classes/TaskUpdateParams.html":{}}}],["update.params.ts:52",{"_index":11026,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["update.params.ts:57",{"_index":21844,"title":{},"body":{"classes/TaskUpdateParams.html":{}}}],["update.params.ts:59",{"_index":11032,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["update.params.ts:63",{"_index":11028,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["update.params.ts:67",{"_index":11031,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["update.params.ts:73",{"_index":11033,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["update.visitor",{"_index":6427,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["update.visitor.ts",{"_index":6441,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:105",{"_index":6457,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:109",{"_index":6451,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:118",{"_index":6446,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:30",{"_index":6444,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:36",{"_index":6449,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:40",{"_index":6448,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:44",{"_index":6447,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:48",{"_index":6452,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:57",{"_index":6453,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:78",{"_index":6454,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:87",{"_index":6450,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:95",{"_index":6455,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["updateaccount",{"_index":13735,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["updateaccount(accountid",{"_index":13761,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["updateaccount(id",{"_index":14696,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["updateaccountbyid",{"_index":322,"title":{},"body":{"controllers/AccountController.html":{}}}],["updateaccountbyid(currentuser",{"_index":378,"title":{},"body":{"controllers/AccountController.html":{}}}],["updateaccountpassword",{"_index":13736,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["updateaccountpassword(accountid",{"_index":13763,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["updateaccountpassword(id",{"_index":14698,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["updateboard",{"_index":19182,"title":{},"body":{"injectables/RoomsService.html":{}}}],["updateboard(board",{"_index":19187,"title":{},"body":{"injectables/RoomsService.html":{}}}],["updateboardtitle",{"_index":3190,"title":{},"body":{"controllers/BoardController.html":{},"injectables/BoardUc.html":{}}}],["updateboardtitle(urlparams",{"_index":3215,"title":{},"body":{"controllers/BoardController.html":{}}}],["updateboardtitle(userid",{"_index":4121,"title":{},"body":{"injectables/BoardUc.html":{}}}],["updatecardheight",{"_index":4340,"title":{},"body":{"controllers/CardController.html":{},"injectables/CardUc.html":{}}}],["updatecardheight(urlparams",{"_index":4363,"title":{},"body":{"controllers/CardController.html":{}}}],["updatecardheight(userid",{"_index":4521,"title":{},"body":{"injectables/CardUc.html":{}}}],["updatecardtitle",{"_index":4341,"title":{},"body":{"controllers/CardController.html":{},"injectables/CardUc.html":{}}}],["updatecardtitle(urlparams",{"_index":4367,"title":{},"body":{"controllers/CardController.html":{}}}],["updatecardtitle(userid",{"_index":4523,"title":{},"body":{"injectables/CardUc.html":{}}}],["updatecolumntitle",{"_index":5594,"title":{},"body":{"controllers/ColumnController.html":{},"injectables/ColumnUc.html":{}}}],["updatecolumntitle(urlparams",{"_index":5610,"title":{},"body":{"controllers/ColumnController.html":{}}}],["updatecolumntitle(userid",{"_index":5672,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["updatecontextexternaltool",{"_index":6973,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["updatecontextexternaltool(currentuser",{"_index":22696,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["updatecontextexternaltool(userid",{"_index":6987,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["updatecopiedembeddedtasksoflessons",{"_index":3261,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["updatecopiedembeddedtasksoflessons(boardstatus",{"_index":3291,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["updated",{"_index":360,"title":{},"body":{"controllers/AccountController.html":{},"injectables/BaseDORepo.html":{},"controllers/CollaborativeStorageController.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/NextcloudStrategy.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"injectables/SchoolExternalToolUc.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/WsSharedDocDo.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{}}}],["updated.'})@apiresponse({status",{"_index":386,"title":{},"body":{"controllers/AccountController.html":{}}}],["updated.id",{"_index":2514,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["updatedat",{"_index":431,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardTaskResponse.html":{},"injectables/CardService.html":{},"classes/Class.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementFactory.html":{},"classes/County.html":{},"injectables/CourseUc.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"classes/DtoCreator.html":{},"interfaces/EntityWithSchool.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.html":{},"interfaces/ParentInfo.html":{},"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/ResolvedUserResponse.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/SubmissionItemFactory.html":{},"injectables/SubmissionItemService.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"classes/TaskResponse.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{}}}],["updatedclasses",{"_index":4794,"title":{},"body":{"injectables/ClassService.html":{}}}],["updatedclasses.length",{"_index":4798,"title":{},"body":{"injectables/ClassService.html":{}}}],["updateddomainobject",{"_index":4848,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["updatedelements",{"_index":3372,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["updatedentity",{"_index":4850,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["updatedlessons",{"_index":15525,"title":{},"body":{"injectables/LessonService.html":{}}}],["updatedlessons.length",{"_index":15530,"title":{},"body":{"injectables/LessonService.html":{}}}],["updatedmodel",{"_index":8620,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["updatedocument",{"_index":22214,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"injectables/TldrawWsService.html":{}}}],["updatedocument(docname",{"_index":22222,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"injectables/TldrawWsService.html":{}}}],["updatedtool",{"_index":7003,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["updateduserloginmigration",{"_index":4957,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["updateduserloginmigration.id",{"_index":18803,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{}}}],["updateelement",{"_index":9711,"title":{},"body":{"controllers/ElementController.html":{}}}],["updateelement(urlparams",{"_index":9725,"title":{},"body":{"controllers/ElementController.html":{}}}],["updateelementcontent",{"_index":9748,"title":{},"body":{"injectables/ElementUc.html":{}}}],["updateelementcontent(userid",{"_index":9756,"title":{},"body":{"injectables/ElementUc.html":{}}}],["updateelementcontentbodyparams",{"_index":9526,"title":{"classes/UpdateElementContentBodyParams.html":{}},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["updateentity",{"_index":2446,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["updateentity(domainobject",{"_index":2484,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["updateexecutionrequest",{"_index":14530,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["updateexistinggridelement",{"_index":8576,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["updateexistinggridelement(elementmodel",{"_index":8598,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["updateexternaltool",{"_index":10886,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["updateexternaltool(currentuser",{"_index":22756,"title":{},"body":{"controllers/ToolController.html":{}}}],["updateexternaltool(toupdate",{"_index":10906,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["updateexternaltool(userid",{"_index":11008,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["updatefileurls",{"_index":21415,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["updatefileurls(task",{"_index":21426,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["updateflag",{"_index":13833,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["updateflag(urlparams",{"_index":13858,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["updateflagparams",{"_index":13859,"title":{"classes/UpdateFlagParams.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/UpdateFlagParams.html":{}}}],["updatehandler",{"_index":22427,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["updatehandler(update",{"_index":22449,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["updateheight",{"_index":4449,"title":{},"body":{"injectables/CardService.html":{}}}],["updateheight(card",{"_index":4468,"title":{},"body":{"injectables/CardService.html":{}}}],["updateidentityprovider",{"_index":14455,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["updateidentityprovider(oidcconfig",{"_index":14489,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["updatelasttriedfailedlogin",{"_index":21,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountServiceDb.html":{},"injectables/AuthenticationService.html":{}}}],["updatelasttriedfailedlogin(accountid",{"_index":81,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountServiceDb.html":{}}}],["updatelasttriedfailedlogin(id",{"_index":1710,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["updatemany",{"_index":4823,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["updatemany(classes",{"_index":4828,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["updatematchparams",{"_index":13851,"title":{"classes/UpdateMatchParams.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/UpdateMatchParams.html":{}}}],["updatemyaccount",{"_index":323,"title":{},"body":{"controllers/AccountController.html":{}}}],["updatemyaccount(@currentuser",{"_index":419,"title":{},"body":{"controllers/AccountController.html":{}}}],["updatemyaccount(currentuser",{"_index":382,"title":{},"body":{"controllers/AccountController.html":{}}}],["updatenewsparams",{"_index":16421,"title":{"classes/UpdateNewsParams.html":{}},"body":{"controllers/NewsController.html":{},"classes/NewsMapper.html":{},"classes/UpdateNewsParams.html":{}}}],["updateoauth2client",{"_index":17155,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{}}}],["updateoauth2client(currentuser",{"_index":17166,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{}}}],["updateoauth2client(id",{"_index":17436,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["updateoauth2toolconfig",{"_index":10887,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["updateoauth2toolconfig(toupdate",{"_index":10909,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["updateoauthclientorthrow",{"_index":10888,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["updateoauthclientorthrow(loadedoauthclient",{"_index":10911,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["updateorcreateidpdefaultmapper",{"_index":14456,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["updateorcreateidpdefaultmapper(idpalias",{"_index":14491,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["updatepassword",{"_index":22,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountServiceDb.html":{}}}],["updatepassword(accountid",{"_index":86,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountServiceDb.html":{}}}],["updater",{"_index":6436,"title":{},"body":{"injectables/ContentElementService.html":{},"entities/CourseNews.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["updaterid",{"_index":7776,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["updates",{"_index":356,"title":{},"body":{"controllers/AccountController.html":{},"injectables/CollaborativeStorageAdapter.html":{},"controllers/CollaborativeStorageController.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/NextcloudStrategy.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"license.html":{}}}],["updateschoolexternaltool",{"_index":19841,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{},"controllers/ToolSchoolController.html":{}}}],["updateschoolexternaltool(currentuser",{"_index":23045,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["updateschoolexternaltool(userid",{"_index":19856,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["updatesecuritycheckstatus(status",{"_index":11760,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["updatesecuritystatus",{"_index":11941,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["updatesecuritystatus(@body",{"_index":11960,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["updatesecuritystatus(scanresultdto",{"_index":11946,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["updatestoreddocwithdiff",{"_index":22215,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["updatestoreddocwithdiff(docname",{"_index":22226,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["updatesubmissionitem",{"_index":4012,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"injectables/SubmissionItemUc.html":{}}}],["updatesubmissionitem(currentuser",{"_index":4028,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["updatesubmissionitem(userid",{"_index":20855,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["updatesubmissionitembodyparams",{"_index":4029,"title":{"classes/UpdateSubmissionItemBodyParams.html":{}},"body":{"controllers/BoardSubmissionController.html":{},"classes/UpdateSubmissionItemBodyParams.html":{}}}],["updateteam",{"_index":4977,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/NextcloudStrategy.html":{}}}],["updateteam(team",{"_index":4991,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/NextcloudStrategy.html":{}}}],["updateteampermissionsforrole",{"_index":4978,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{}}}],["updateteampermissionsforrole(currentuser",{"_index":5056,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["updateteampermissionsforrole(currentuserid",{"_index":5110,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["updateteampermissionsforrole(dto",{"_index":5139,"title":{},"body":{"interfaces/CollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{}}}],["updateteampermissionsforrole(team",{"_index":4993,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["updateteamusersingroup",{"_index":16692,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["updateteamusersingroup(groupid",{"_index":16712,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["updatetitle",{"_index":4450,"title":{},"body":{"injectables/CardService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnService.html":{}}}],["updatetitle(board",{"_index":5485,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["updatetitle(card",{"_index":4470,"title":{},"body":{"injectables/CardService.html":{}}}],["updatetitle(column",{"_index":5655,"title":{},"body":{"injectables/ColumnService.html":{}}}],["updateusername",{"_index":23,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountServiceDb.html":{}}}],["updateusername(accountid",{"_index":89,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountServiceDb.html":{}}}],["updateuserpermissionsforrole",{"_index":5143,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["updateuserpermissionsforrole(currentuserid",{"_index":5150,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["updatevisibilityofboardelement",{"_index":19206,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["updatevisibilityofboardelement(roomid",{"_index":19213,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["updating",{"_index":2478,"title":{},"body":{"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"interfaces/CreateNews.html":{},"injectables/ExternalToolRepo.html":{},"interfaces/INewsScope.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"injectables/NextcloudStrategy.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"classes/UpdateNewsParams.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["updator/creator",{"_index":16543,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["upload",{"_index":19324,"title":{},"body":{"injectables/S3ClientAdapter.html":{},"dependencies.html":{}}}],["upload.done",{"_index":19347,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["uploadedfiles",{"_index":13126,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["upper",{"_index":15640,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["uppercase",{"_index":25543,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["uppercase_snake_case",{"_index":1397,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"classes/ErrorResponse.html":{}}}],["uri",{"_index":1060,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"modules/DeletionApiModule.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigResponse.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["url",{"_index":110,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/AntivirusService.html":{},"interfaces/BBBJoinResponse.html":{},"injectables/BBBService.html":{},"injectables/BasicToolLaunchStrategy.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardUrlHandler.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarService.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentResponse.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"injectables/CourseUrlHandler.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterFactory.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileParams.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"classes/FileUrlParams.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"injectables/HydraSsoService.html":{},"interfaces/ILegacyLogger.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"injectables/LdapService.html":{},"injectables/LegacySystemService.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonUrlHandler.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/LoginResponse-1.html":{},"injectables/Lti11EncryptionService.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/NexboardService.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/PreviewParams.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameFileParams.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/System.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"interfaces/SystemProps.html":{},"interfaces/TargetGroupProperties.html":{},"injectables/TaskUrlHandler.html":{},"classes/TldrawWs.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReferenceResponse.html":{},"classes/UpdateElementContentBodyParams.html":{},"interfaces/UrlHandler.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["url('/admin/api/v1/deletionexecutions",{"_index":8975,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["url('/admin/api/v1/deletionrequests",{"_index":8972,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["url(`${api_version_path}${newpath",{"_index":1348,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["url(params.logouturl).origin",{"_index":24052,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["url(this.baseurl",{"_index":2428,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["url(this.content.url).tostring",{"_index":6476,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["url(this.logouturl).origin",{"_index":14176,"title":{},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{}}}],["url(url",{"_index":154,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{}}}],["url(value",{"_index":15606,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["url.body.params",{"_index":16157,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["url.body.params.ts",{"_index":12511,"title":{},"body":{"classes/GetMetaTagDataBody.html":{}}}],["url.body.params.ts:10",{"_index":12513,"title":{},"body":{"classes/GetMetaTagDataBody.html":{}}}],["url.de",{"_index":16271,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["url.href",{"_index":1350,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["url.length",{"_index":16219,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["url.loggable",{"_index":14173,"title":{},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{}}}],["url.pathname",{"_index":2429,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["url.search",{"_index":2431,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["url.service",{"_index":16174,"title":{},"body":{"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagExtractorService.html":{}}}],["url.service.ts",{"_index":16250,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["url.service.ts:20",{"_index":16260,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["url.service.ts:27",{"_index":16259,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["url.service.ts:34",{"_index":16257,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["url.service.ts:9",{"_index":16255,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["url.tolowercase().includes(domain.tolowercase",{"_index":16273,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["url.tostring",{"_index":2432,"title":{},"body":{"injectables/BBBService.html":{}}}],["urlencoded",{"_index":14674,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthAdapterService.html":{}}}],["urlencodedpayload",{"_index":16950,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["urlhandler",{"_index":4153,"title":{"interfaces/UrlHandler.html":{}},"body":{"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/TaskUrlHandler.html":{},"interfaces/UrlHandler.html":{}}}],["urlobject",{"_index":152,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{}}}],["urlobject.pathname",{"_index":16277,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["urlparamkeys",{"_index":14519,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["urlparams",{"_index":3201,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"controllers/DashboardController.html":{},"controllers/ElementController.html":{},"controllers/ImportUserController.html":{},"controllers/LessonController.html":{},"controllers/NewsController.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"controllers/TldrawController.html":{}}}],["urlparams.boardid",{"_index":3234,"title":{},"body":{"controllers/BoardController.html":{}}}],["urlparams.cardid",{"_index":4387,"title":{},"body":{"controllers/CardController.html":{}}}],["urlparams.columnid",{"_index":5619,"title":{},"body":{"controllers/ColumnController.html":{}}}],["urlparams.contentelementid",{"_index":9734,"title":{},"body":{"controllers/ElementController.html":{}}}],["urlparams.dashboardid",{"_index":8319,"title":{},"body":{"controllers/DashboardController.html":{}}}],["urlparams.elementid",{"_index":19169,"title":{},"body":{"controllers/RoomsController.html":{}}}],["urlparams.importuserid",{"_index":13887,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["urlparams.lessonid",{"_index":15375,"title":{},"body":{"controllers/LessonController.html":{},"controllers/RoomsController.html":{}}}],["urlparams.newsid",{"_index":16444,"title":{},"body":{"controllers/NewsController.html":{}}}],["urlparams.roomid",{"_index":19168,"title":{},"body":{"controllers/RoomsController.html":{}}}],["urlparams.submissioncontainerid",{"_index":4047,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["urlparams.submissionid",{"_index":20750,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["urlparams.submissionitemid",{"_index":4052,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["urlparams.taskid",{"_index":21404,"title":{},"body":{"controllers/TaskController.html":{}}}],["urlparams.teamid",{"_index":21914,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["urlparams.token",{"_index":20315,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["urls",{"_index":12464,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/OauthClientBody.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["urlsafe",{"_index":24564,"title":{},"body":{"dependencies.html":{}}}],["urlsearchparams",{"_index":2352,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["urlstripped",{"_index":22400,"title":{},"body":{"classes/TldrawWs.html":{}}}],["usable",{"_index":20268,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["usage",{"_index":4792,"title":{},"body":{"injectables/ClassService.html":{},"classes/ExternalToolRepoMapper.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["use",{"_index":412,"title":{},"body":{"controllers/AccountController.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/CommonToolService.html":{},"injectables/CopyFilesService.html":{},"entities/CourseNews.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DomainObjectFactory.html":{},"injectables/ErrorLogger.html":{},"injectables/ExternalToolUc.html":{},"injectables/FeathersRosterService.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"injectables/FileSystemAdapter.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GlobalValidationPipe.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/LdapStrategy.html":{},"modules/LearnroomApiModule.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"interfaces/LibrariesContentType.html":{},"classes/MongoPatterns.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/OauthClientBody.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"interfaces/ParentInfo.html":{},"injectables/PermissionService.html":{},"entities/SchoolNews.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/TaskUC.html":{},"entities/TeamNews.html":{},"injectables/ToolPermissionHelper.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"injectables/UserService.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"index.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["use_stream_to_antivirus",{"_index":11967,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["usecase",{"_index":25445,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["usecases",{"_index":25483,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["usecentralldap",{"_index":13855,"title":{},"body":{"controllers/ImportUserController.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{}}}],["useclass",{"_index":9905,"title":{},"body":{"modules/ErrorModule.html":{},"modules/IdentityManagementModule.html":{},"modules/InterceptorModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/OauthProviderServiceModule.html":{},"modules/ValidationModule.html":{}}}],["used",{"_index":72,"title":{},"body":{"classes/AbstractAccountService.html":{},"interfaces/AdminIdAndToken.html":{},"modules/AuthorizationReferenceModule.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/CardSkeletonResponse.html":{},"interfaces/CleanOptions.html":{},"injectables/CollaborativeStorageAdapter.html":{},"classes/ConsentResponse.html":{},"injectables/ErrorLogger.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersRosterService.html":{},"classes/FileMetadata.html":{},"interfaces/ILegacyLogger.html":{},"entities/InstalledLibrary.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LibraryName.html":{},"classes/LoginResponse-1.html":{},"interfaces/MigrationOptions.html":{},"classes/MongoPatterns.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"injectables/NextcloudStrategy.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"interfaces/OauthCurrentUser.html":{},"classes/Path.html":{},"interfaces/RetryOptions.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"controllers/SystemController.html":{},"injectables/TaskRepo.html":{},"entities/TeamEntity.html":{},"controllers/TeamNewsController.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"injectables/UserRepo.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["usedglobals",{"_index":12519,"title":{},"body":{"interfaces/GlobalConstants.html":{}}}],["usedobuilder(builder",{"_index":3910,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["useexisting",{"_index":5048,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["usefactory",{"_index":686,"title":{},"body":{"modules/AccountModule.html":{},"modules/AntivirusModule.html":{},"modules/CacheWrapperModule.html":{},"modules/EncryptionModule.html":{},"modules/InterceptorModule.html":{},"modules/LoggerModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/RedisModule.html":{},"modules/S3ClientModule.html":{}}}],["useful",{"_index":25194,"title":{},"body":{"license.html":{}}}],["useguards",{"_index":9076,"title":{},"body":{"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/LoginController.html":{}}}],["useguards(authguard('api",{"_index":9079,"title":{},"body":{"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{}}}],["useguards(authguard('ldap",{"_index":15764,"title":{},"body":{"controllers/LoginController.html":{}}}],["useguards(authguard('local",{"_index":15770,"title":{},"body":{"controllers/LoginController.html":{}}}],["useguards(authguard('oauth2",{"_index":15774,"title":{},"body":{"controllers/LoginController.html":{}}}],["useguards(undefined)@httpcode(httpstatus.ok)@post('ldap')@apioperation({summary",{"_index":15744,"title":{},"body":{"controllers/LoginController.html":{}}}],["useguards(undefined)@httpcode(httpstatus.ok)@post('local')@apioperation({summary",{"_index":15751,"title":{},"body":{"controllers/LoginController.html":{}}}],["useguards(undefined)@httpcode(httpstatus.ok)@post('oauth2')@apioperation({summary",{"_index":15756,"title":{},"body":{"controllers/LoginController.html":{}}}],["useinterceptors",{"_index":13127,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["user",{"_index":290,"title":{"entities/User.html":{}},"body":{"classes/AccountByIdBodyParams.html":{},"controllers/AccountController.html":{},"classes/AccountFactory.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"classes/BaseUc.html":{},"injectables/BatchDeletionUc.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoRule.html":{},"injectables/CardUc.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/ColumnBoardCopyService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolUc.html":{},"interfaces/CopyFileDO.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRule.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRule.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomParameterFactory.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"classes/DtoCreator.html":{},"injectables/ElementUc.html":{},"classes/ExternalGroupDto.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolUc.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"modules/H5PEditorModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/ITask.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"injectables/LessonUC.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LocalStrategy.html":{},"controllers/LoginController.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"classes/LumiUserWithContentData.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagExtractorService.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"interfaces/OauthCurrentUser.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{},"controllers/OauthSSOController.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/ParentInfo.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"injectables/PermissionService.html":{},"controllers/PseudonymController.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"classes/RedirectResponse.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"interfaces/RetryOptions.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/RocketChatUserService.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RoomsUc.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"entities/Submission.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"classes/SubmissionItemResponseMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionsResponse.html":{},"injectables/SystemRule.html":{},"injectables/SystemUc.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRule.html":{},"interfaces/TaskStatus.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"interfaces/TeamProperties.html":{},"injectables/TeamRule.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileStorage.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"controllers/UserController.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["user's",{"_index":17219,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["user'})@isboolean",{"_index":23099,"title":{},"body":{"classes/UpdateFlagParams.html":{}}}],["user'})@ismongoid",{"_index":23102,"title":{},"body":{"classes/UpdateMatchParams.html":{}}}],["user(params",{"_index":26014,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["user(props",{"_index":23265,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["user(s",{"_index":25985,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["user(value",{"_index":21872,"title":{},"body":{"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["user.'})@apiresponse({status",{"_index":359,"title":{},"body":{"controllers/AccountController.html":{},"controllers/GroupController.html":{}}}],["user._id",{"_index":14103,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["user._id.$oid",{"_index":14834,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["user.accountid",{"_index":1732,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["user.attribute",{"_index":14602,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["user.attributes",{"_index":14740,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["user.attributes[attributename",{"_index":14741,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["user.birthday",{"_index":17609,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["user.business",{"_index":23163,"title":{},"body":{"classes/UserAlreadyAssignedToImportUserError.html":{}}}],["user.cancreaterestricted",{"_index":13043,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["user.caninstallrecommended",{"_index":13045,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["user.canupdateandinstalllibraries",{"_index":13047,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["user.controller",{"_index":14014,"title":{},"body":{"modules/ImportUserModule.html":{}}}],["user.controller.ts",{"_index":13824,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:100",{"_index":13849,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:105",{"_index":13857,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:113",{"_index":13836,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:30",{"_index":13839,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:48",{"_index":13853,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:60",{"_index":13846,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:71",{"_index":13861,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:83",{"_index":13842,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.createdat",{"_index":18777,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["user.createdtimestamp",{"_index":14746,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["user.do",{"_index":18923,"title":{},"body":{"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{}}}],["user.do.ts",{"_index":18885,"title":{},"body":{"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{}}}],["user.do.ts:14",{"_index":18887,"title":{},"body":{"classes/RocketChatUser.html":{}}}],["user.do.ts:18",{"_index":18889,"title":{},"body":{"classes/RocketChatUser.html":{}}}],["user.do.ts:22",{"_index":18891,"title":{},"body":{"classes/RocketChatUser.html":{}}}],["user.do.ts:26",{"_index":18893,"title":{},"body":{"classes/RocketChatUser.html":{}}}],["user.do.ts:30",{"_index":18894,"title":{},"body":{"classes/RocketChatUser.html":{}}}],["user.do.ts:34",{"_index":18895,"title":{},"body":{"classes/RocketChatUser.html":{}}}],["user.dto",{"_index":9963,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/OauthDataDto.html":{}}}],["user.dto.ts",{"_index":9971,"title":{},"body":{"classes/ExternalGroupUserDto.html":{},"classes/ExternalUserDto.html":{}}}],["user.dto.ts:10",{"_index":11144,"title":{},"body":{"classes/ExternalUserDto.html":{}}}],["user.dto.ts:12",{"_index":11146,"title":{},"body":{"classes/ExternalUserDto.html":{}}}],["user.dto.ts:14",{"_index":11143,"title":{},"body":{"classes/ExternalUserDto.html":{}}}],["user.dto.ts:4",{"_index":9974,"title":{},"body":{"classes/ExternalGroupUserDto.html":{},"classes/ExternalUserDto.html":{}}}],["user.dto.ts:6",{"_index":9973,"title":{},"body":{"classes/ExternalGroupUserDto.html":{},"classes/ExternalUserDto.html":{}}}],["user.dto.ts:8",{"_index":11145,"title":{},"body":{"classes/ExternalUserDto.html":{}}}],["user.email",{"_index":13048,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"injectables/IdTokenService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"classes/LumiUserWithContentData.html":{},"injectables/OidcProvisioningService.html":{},"classes/UserDto.html":{},"classes/UserMatchMapper.html":{}}}],["user.entity",{"_index":7440,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/IImportUserScope.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/RocketChatUserFactory.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"classes/UsersList.html":{}}}],["user.entity.factory.ts",{"_index":18914,"title":{},"body":{"classes/RocketChatUserFactory.html":{}}}],["user.entity.ts",{"_index":12956,"title":{},"body":{"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["user.entity.ts:102",{"_index":13789,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:109",{"_index":13782,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:112",{"_index":13776,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:13",{"_index":12959,"title":{},"body":{"classes/GroupUserEntity.html":{}}}],["user.entity.ts:16",{"_index":12958,"title":{},"body":{"classes/GroupUserEntity.html":{}}}],["user.entity.ts:20",{"_index":18905,"title":{},"body":{"entities/RocketChatUserEntity.html":{}}}],["user.entity.ts:24",{"_index":18904,"title":{},"body":{"entities/RocketChatUserEntity.html":{}}}],["user.entity.ts:28",{"_index":18903,"title":{},"body":{"entities/RocketChatUserEntity.html":{}}}],["user.entity.ts:31",{"_index":18902,"title":{},"body":{"entities/RocketChatUserEntity.html":{}}}],["user.entity.ts:54",{"_index":13786,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:57",{"_index":13787,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:60",{"_index":13778,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:76",{"_index":13774,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:79",{"_index":13775,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:82",{"_index":13777,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:88",{"_index":13772,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:91",{"_index":13784,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:94",{"_index":13771,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.externalid",{"_index":14252,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/UserDto.html":{}}}],["user.externalidtoken",{"_index":15777,"title":{},"body":{"controllers/LoginController.html":{}}}],["user.factory",{"_index":698,"title":{},"body":{"interfaces/AccountParams.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/SubmissionFactory.html":{},"classes/TaskFactory.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["user.factory.ts",{"_index":13907,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["user.factory.ts:10",{"_index":13909,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["user.firstname",{"_index":3433,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/GroupUserResponse.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"injectables/OidcProvisioningService.html":{},"classes/ResolvedUserMapper.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/UserDto.html":{},"classes/UserInfoMapper.html":{},"classes/UserMatchMapper.html":{},"injectables/UserService.html":{},"classes/UsersList.html":{}}}],["user.forcepasswordchange",{"_index":23352,"title":{},"body":{"classes/UserDto.html":{}}}],["user.id",{"_index":578,"title":{},"body":{"classes/AccountFactory.html":{},"injectables/AuthorizationHelper.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRule.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/CurrentUserMapper.html":{},"injectables/FeathersRosterService.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/H5PContentParentParams.html":{},"injectables/IdTokenService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"classes/LumiUserWithContentData.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PseudonymService.html":{},"classes/ResolvedUserMapper.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"interfaces/TaskParent.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TeamRule.html":{},"injectables/TemporaryFileStorage.html":{},"interfaces/UserData.html":{},"classes/UserDto.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserMatchMapper.html":{},"interfaces/UserMetdata.html":{},"classes/UsersList.html":{},"injectables/VideoConferenceEndUc.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["user.interface",{"_index":14827,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["user.interface.ts",{"_index":14258,"title":{},"body":{"interfaces/JsonUser.html":{}}}],["user.language",{"_index":23351,"title":{},"body":{"classes/UserDto.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["user.lastloginsystemchange",{"_index":16310,"title":{},"body":{"injectables/MigrationCheckService.html":{},"classes/UserDto.html":{}}}],["user.lastname",{"_index":3434,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUserResponse.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"injectables/OidcProvisioningService.html":{},"classes/ResolvedUserMapper.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/UserDto.html":{},"classes/UserInfoMapper.html":{},"classes/UserMatchMapper.html":{},"injectables/UserService.html":{},"classes/UsersList.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["user.ldapdn",{"_index":23350,"title":{},"body":{"classes/UserDto.html":{}}}],["user.mapper",{"_index":13864,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.mapper.ts",{"_index":7992,"title":{},"body":{"classes/CurrentUserMapper.html":{},"classes/ImportUserMapper.html":{},"classes/ResolvedUserMapper.html":{},"classes/RocketChatUserMapper.html":{}}}],["user.mapper.ts:18",{"_index":18921,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["user.mapper.ts:19",{"_index":13944,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["user.mapper.ts:20",{"_index":8004,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["user.mapper.ts:34",{"_index":13946,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["user.mapper.ts:41",{"_index":8000,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["user.mapper.ts:5",{"_index":18774,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["user.mapper.ts:51",{"_index":13943,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["user.mapper.ts:53",{"_index":7998,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["user.mapper.ts:6",{"_index":18920,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["user.mapper.ts:9",{"_index":8007,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["user.module",{"_index":23182,"title":{},"body":{"modules/UserApiModule.html":{}}}],["user.module.ts",{"_index":18937,"title":{},"body":{"modules/RocketChatUserModule.html":{}}}],["user.name",{"_index":13049,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["user.outdatedsince",{"_index":19984,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"classes/UserDto.html":{}}}],["user.params",{"_index":23722,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["user.params.ts",{"_index":12330,"title":{},"body":{"classes/FilterImportUserParams.html":{},"classes/FilterUserParams.html":{},"classes/SortImportUserParams.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["user.params.ts:12",{"_index":12365,"title":{},"body":{"classes/FilterUserParams.html":{}}}],["user.params.ts:21",{"_index":12336,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["user.params.ts:27",{"_index":12339,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["user.params.ts:33",{"_index":12340,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["user.params.ts:40",{"_index":12344,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["user.params.ts:45",{"_index":12338,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["user.params.ts:54",{"_index":12334,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["user.params.ts:59",{"_index":12347,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["user.parents?.map((parent",{"_index":23852,"title":{},"body":{"injectables/UserRepo.html":{}}}],["user.permissions",{"_index":11177,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["user.preferences",{"_index":23353,"title":{},"body":{"classes/UserDto.html":{}}}],["user.repo.ts",{"_index":18941,"title":{},"body":{"injectables/RocketChatUserRepo.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["user.repo.ts:12",{"_index":18945,"title":{},"body":{"injectables/RocketChatUserRepo.html":{}}}],["user.repo.ts:16",{"_index":18944,"title":{},"body":{"injectables/RocketChatUserRepo.html":{}}}],["user.repo.ts:26",{"_index":18943,"title":{},"body":{"injectables/RocketChatUserRepo.html":{}}}],["user.repo.ts:9",{"_index":18942,"title":{},"body":{"injectables/RocketChatUserRepo.html":{}}}],["user.resolvepermissions",{"_index":1823,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["user.response",{"_index":12829,"title":{},"body":{"classes/GroupResponse.html":{}}}],["user.response.ts",{"_index":12962,"title":{},"body":{"classes/GroupUserResponse.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/ResolvedUserResponse.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["user.response.ts:11",{"_index":18785,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:12",{"_index":12967,"title":{},"body":{"classes/GroupUserResponse.html":{}}}],["user.response.ts:14",{"_index":18787,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:15",{"_index":12964,"title":{},"body":{"classes/GroupUserResponse.html":{}}}],["user.response.ts:17",{"_index":18786,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:20",{"_index":18784,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:23",{"_index":18791,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:25",{"_index":14065,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:26",{"_index":18789,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:29",{"_index":18788,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:31",{"_index":14067,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:32",{"_index":18790,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:37",{"_index":14063,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:43",{"_index":14066,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:50",{"_index":14069,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:53",{"_index":14062,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:56",{"_index":14068,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:6",{"_index":12966,"title":{},"body":{"classes/GroupUserResponse.html":{}}}],["user.response.ts:61",{"_index":14064,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:64",{"_index":13920,"title":{},"body":{"classes/ImportUserListResponse.html":{}}}],["user.response.ts:7",{"_index":14061,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:9",{"_index":12965,"title":{},"body":{"classes/GroupUserResponse.html":{}}}],["user.role",{"_index":12968,"title":{},"body":{"classes/GroupUserResponse.html":{}}}],["user.role.name",{"_index":12869,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["user.roleids",{"_index":23349,"title":{},"body":{"classes/UserDto.html":{}}}],["user.roles",{"_index":17606,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"injectables/UserDORepo.html":{}}}],["user.roles.getitems",{"_index":23198,"title":{},"body":{"controllers/UserController.html":{}}}],["user.roles.getitems().map((role",{"_index":8010,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["user.roles.getitems(true",{"_index":23727,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["user.roles.isinitialized(true",{"_index":17764,"title":{},"body":{"injectables/PermissionService.html":{}}}],["user.roles.map((roleref",{"_index":8013,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["user.roles.some",{"_index":23923,"title":{},"body":{"injectables/UserService.html":{}}}],["user.roles.some((role",{"_index":11326,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["user.school",{"_index":7591,"title":{},"body":{"injectables/CourseCopyService.html":{},"injectables/TaskCopyService.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["user.school.id",{"_index":6885,"title":{},"body":{"injectables/ContextExternalToolRule.html":{},"classes/CurrentUserMapper.html":{},"injectables/GroupRule.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/LegacySchoolRule.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/ShareTokenUC.html":{},"injectables/UserLoginMigrationRule.html":{}}}],["user.school.schoolyear?.enddate",{"_index":7594,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["user.school.schoolyear?.startdate",{"_index":7593,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["user.school.systems.getidentifiers().includes(domainobject.id",{"_index":21205,"title":{},"body":{"injectables/SystemRule.html":{}}}],["user.school.tostring",{"_index":18781,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["user.schoolid",{"_index":5435,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"classes/CurrentUserMapper.html":{},"injectables/IdTokenService.html":{},"injectables/OidcProvisioningService.html":{},"classes/UserDto.html":{}}}],["user.schoolid.tostring",{"_index":11175,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["user.scope",{"_index":23264,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["user.service",{"_index":18939,"title":{},"body":{"modules/RocketChatUserModule.html":{}}}],["user.service.ts",{"_index":18950,"title":{},"body":{"injectables/RocketChatUserService.html":{}}}],["user.service.ts:10",{"_index":18954,"title":{},"body":{"injectables/RocketChatUserService.html":{}}}],["user.service.ts:16",{"_index":18953,"title":{},"body":{"injectables/RocketChatUserService.html":{}}}],["user.service.ts:7",{"_index":18952,"title":{},"body":{"injectables/RocketChatUserService.html":{}}}],["user.ts",{"_index":12950,"title":{},"body":{"classes/GroupUser.html":{},"interfaces/OauthCurrentUser.html":{},"classes/ResolvedGroupUser.html":{}}}],["user.ts:4",{"_index":12952,"title":{},"body":{"classes/GroupUser.html":{}}}],["user.ts:5",{"_index":18770,"title":{},"body":{"classes/ResolvedGroupUser.html":{}}}],["user.ts:6",{"_index":12951,"title":{},"body":{"classes/GroupUser.html":{}}}],["user.ts:7",{"_index":18769,"title":{},"body":{"classes/ResolvedGroupUser.html":{}}}],["user.type",{"_index":13050,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["user.uc.ts",{"_index":25549,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["user.updatedat",{"_index":18779,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["user.url.params.ts",{"_index":14128,"title":{},"body":{"classes/ImportUserUrlParams.html":{}}}],["user.url.params.ts:11",{"_index":14129,"title":{},"body":{"classes/ImportUserUrlParams.html":{}}}],["user.user.firstname",{"_index":12870,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["user.user.id",{"_index":12868,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["user.user.lastname",{"_index":12871,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["user.userid",{"_index":12659,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{},"classes/SubmissionItemResponseMapper.html":{},"controllers/UserLoginMigrationController.html":{}}}],["user.username",{"_index":14745,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{}}}],["user.userroleenum",{"_index":20862,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["user/account",{"_index":14303,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["user/domain/rocket",{"_index":18884,"title":{},"body":{"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{}}}],["user/entity/rocket",{"_index":18901,"title":{},"body":{"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["user/entity/testing/rocket",{"_index":18913,"title":{},"body":{"classes/RocketChatUserFactory.html":{}}}],["user/import",{"_index":13825,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user/repo/mapper/rocket",{"_index":18919,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["user/repo/rocket",{"_index":18940,"title":{},"body":{"injectables/RocketChatUserRepo.html":{}}}],["user/rocketchat",{"_index":18936,"title":{},"body":{"modules/RocketChatUserModule.html":{}}}],["user/service/rocket",{"_index":18949,"title":{},"body":{"injectables/RocketChatUserService.html":{}}}],["user?.id",{"_index":17645,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["user_already_assigned_to_import_user_error",{"_index":23166,"title":{},"body":{"classes/UserAlreadyAssignedToImportUserError.html":{}}}],["user_id",{"_index":2297,"title":{},"body":{"interfaces/BBBJoinResponse.html":{},"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["user_login_migration_already_closed",{"_index":23385,"title":{},"body":{"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{}}}],["user_login_migration_database_operation_failed",{"_index":23742,"title":{},"body":{"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{}}}],["user_login_migration_grace_period_expired",{"_index":23535,"title":{},"body":{"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["user_login_migration_not_found",{"_index":23567,"title":{},"body":{"classes/UserLoginMigrationNotFoundLoggableException.html":{}}}],["useralreadyassignedtoimportusererror",{"_index":23161,"title":{"classes/UserAlreadyAssignedToImportUserError.html":{}},"body":{"classes/UserAlreadyAssignedToImportUserError.html":{}}}],["userandaccountparams",{"_index":705,"title":{"interfaces/UserAndAccountParams.html":{}},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["userandaccounttestfactory",{"_index":706,"title":{"classes/UserAndAccountTestFactory.html":{}},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["userandaccounttestfactory.buildaccount(user",{"_index":718,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["userapimodule",{"_index":20184,"title":{"modules/UserApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/UserApiModule.html":{}}}],["userattributenamemapping",{"_index":14949,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["userboardrole",{"_index":3687,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["userboardrole.roles.includes(boardroles.editor",{"_index":3691,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["userboardrole.roles.includes(boardroles.reader",{"_index":3692,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["userboardrole.userroleenum",{"_index":3689,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["userboardroles",{"_index":3399,"title":{"interfaces/UserBoardRoles.html":{}},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemUc.html":{},"interfaces/UserBoardRoles.html":{}}}],["userconfig",{"_index":20108,"title":{"interfaces/UserConfig.html":{}},"body":{"interfaces/ServerConfig.html":{},"interfaces/UserConfig.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["usercontroller",{"_index":23181,"title":{"controllers/UserController.html":{}},"body":{"modules/UserApiModule.html":{},"controllers/UserController.html":{}}}],["usercount",{"_index":14829,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["userdata",{"_index":11276,"title":{"interfaces/UserData.html":{}},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["userdataresponse",{"_index":20820,"title":{"classes/UserDataResponse.html":{}},"body":{"classes/SubmissionItemResponseMapper.html":{},"classes/SubmissionsResponse.html":{},"classes/UserDataResponse.html":{}}}],["userdo",{"_index":8002,"title":{"classes/UserDO.html":{}},"body":{"classes/CurrentUserMapper.html":{},"injectables/FeathersRosterService.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"injectables/IdTokenService.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/MigrationCheckService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PseudonymService.html":{},"classes/ResolvedGroupUser.html":{},"injectables/SchoolMigrationService.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationService.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"injectables/UserService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["userdo.email",{"_index":14201,"title":{},"body":{"classes/IservMapper.html":{}}}],["userdo.externalid",{"_index":14202,"title":{},"body":{"classes/IservMapper.html":{},"injectables/UserMigrationService.html":{}}}],["userdo.firstname",{"_index":14199,"title":{},"body":{"classes/IservMapper.html":{}}}],["userdo.lastloginsystemchange",{"_index":23670,"title":{},"body":{"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["userdo.lastname",{"_index":14200,"title":{},"body":{"classes/IservMapper.html":{}}}],["userdo.previousexternalid",{"_index":23761,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["userdocopy",{"_index":23754,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["userdocument",{"_index":23845,"title":{},"body":{"injectables/UserRepo.html":{}}}],["userdocuments",{"_index":23842,"title":{},"body":{"injectables/UserRepo.html":{}}}],["userdocuments.map((userdocument",{"_index":23843,"title":{},"body":{"injectables/UserRepo.html":{}}}],["userdofactory",{"_index":23323,"title":{"classes/UserDoFactory.html":{}},"body":{"classes/UserDoFactory.html":{}}}],["userdofactory.define(userdo",{"_index":23328,"title":{},"body":{"classes/UserDoFactory.html":{}}}],["userdorepo",{"_index":23241,"title":{"injectables/UserDORepo.html":{}},"body":{"injectables/UserDORepo.html":{},"modules/UserModule.html":{},"injectables/UserService.html":{}}}],["userdto",{"_index":23331,"title":{"classes/UserDto.html":{}},"body":{"classes/UserDto.html":{},"classes/UserMapper.html":{},"injectables/UserService.html":{}}}],["userentity",{"_index":23275,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserService.html":{}}}],["userentitys",{"_index":23285,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["userentitys.find((user",{"_index":23287,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["userequestcontext",{"_index":12218,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["userfactory",{"_index":697,"title":{"classes/UserFactory.html":{}},"body":{"interfaces/AccountParams.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/SubmissionFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamUserFactory.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserFactory.html":{}}}],["userfactory.build",{"_index":20767,"title":{},"body":{"classes/SubmissionFactory.html":{},"classes/TaskFactory.html":{}}}],["userfactory.buildlistwithid(numberofstudents",{"_index":7656,"title":{},"body":{"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{}}}],["userfactory.buildlistwithid(numberofteachers",{"_index":7657,"title":{},"body":{"classes/CourseFactory.html":{}}}],["userfactory.buildlistwithid(numberofteammembers",{"_index":20764,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["userfactory.buildwithid",{"_index":20763,"title":{},"body":{"classes/SubmissionFactory.html":{},"classes/TeamUserFactory.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["userfactory.define(user",{"_index":23372,"title":{},"body":{"classes/UserFactory.html":{}}}],["userforgroupnotfoundloggable",{"_index":17577,"title":{"classes/UserForGroupNotFoundLoggable.html":{}},"body":{"injectables/OidcProvisioningService.html":{},"classes/UserForGroupNotFoundLoggable.html":{}}}],["userforgroupnotfoundloggable(externalgroupuser",{"_index":17648,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["usergroup",{"_index":11288,"title":{"interfaces/UserGroup.html":{}},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["usergroups",{"_index":11287,"title":{"interfaces/UserGroups.html":{}},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["userid",{"_index":39,"title":{},"body":{"classes/AbstractAccountService.html":{},"entities/Account.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"classes/BBBJoinConfig.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardUc.html":{},"injectables/CalendarService.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/ContextExternalToolUc.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"classes/CopyMapper.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"classes/DownloadFileParams.html":{},"injectables/ElementUc.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolUc.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FileDO.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileUrlParams.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageConsumer.html":{},"classes/ForbiddenLoggableException.html":{},"classes/GridElement.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupNameIdTuple.html":{},"classes/GroupUser.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserScope.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"interfaces/JsonAccount.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/LdapStrategy.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LocalStrategy.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/NewsCrudOperationLoggable.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderUc.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/ParentInfo.html":{},"classes/PreviewParams.html":{},"classes/Pseudonym.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RenameFileParams.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/ScanResultParams.html":{},"injectables/SchoolExternalToolUc.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"injectables/SchoolMigrationService.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/ShareTokenUC.html":{},"classes/SingleFileParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionUc.html":{},"injectables/SystemUc.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"interfaces/TeamProperties.html":{},"injectables/TeamService.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceUc.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UpdateMatchParams.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserDataResponse.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMapper.html":{},"interfaces/UserLoginMigrationQuery.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserParams.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"injectables/VideoConferenceEndUc.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["userid(value",{"_index":20782,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["userid).buildwithid",{"_index":21888,"title":{},"body":{"classes/TeamFactory.html":{}}}],["userid)?.userroleenum",{"_index":2675,"title":{},"body":{"classes/BaseUc.html":{}}}],["userid.tohexstring",{"_index":4741,"title":{},"body":{"classes/ClassMapper.html":{}}}],["userid.tostring",{"_index":11186,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["userid1",{"_index":4606,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["userid?.tostring",{"_index":1000,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["userids",{"_index":62,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassesRepo.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"injectables/NextcloudStrategy.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"classes/UsersList.html":{}}}],["userids'})@index",{"_index":7668,"title":{},"body":{"entities/CourseGroup.html":{}}}],["userids.map((id",{"_index":775,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["userimportuc",{"_index":13868,"title":{},"body":{"controllers/ImportUserController.html":{},"modules/ImportUserModule.html":{}}}],["userinfo",{"_index":15821,"title":{},"body":{"injectables/LoginUc.html":{},"classes/SystemEntityFactory.html":{}}}],["userinfo.token.claim",{"_index":14606,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["userinfomapper",{"_index":16492,"title":{"classes/UserInfoMapper.html":{}},"body":{"classes/NewsMapper.html":{},"classes/UserInfoMapper.html":{}}}],["userinfomapper.maptoresponse(news.creator",{"_index":16495,"title":{},"body":{"classes/NewsMapper.html":{}}}],["userinfomapper.maptoresponse(news.updater",{"_index":16509,"title":{},"body":{"classes/NewsMapper.html":{}}}],["userinforesponse",{"_index":16463,"title":{"classes/UserInfoResponse.html":{}},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{}}}],["userinfourl",{"_index":14973,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["userjwt",{"_index":23682,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["userlist",{"_index":13894,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["userlist.map((user",{"_index":13896,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["userloginmigration",{"_index":4952,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/MigrationCheckService.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"entities/SchoolEntity.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["userloginmigration.closedat",{"_index":16312,"title":{},"body":{"injectables/MigrationCheckService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["userloginmigration.finishedat",{"_index":19990,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigration.finishedat.gettime",{"_index":23657,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["userloginmigration.id",{"_index":20568,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigration.mandatorysince",{"_index":23650,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["userloginmigration.school",{"_index":19630,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["userloginmigration.schoolid",{"_index":19980,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigration.startedat",{"_index":16311,"title":{},"body":{"injectables/MigrationCheckService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigration.targetsystemid",{"_index":23691,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["userloginmigrationalreadyclosedloggableexception",{"_index":20564,"title":{"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{}},"body":{"injectables/StartUserLoginMigrationUc.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigrationalreadyclosedloggableexception(userloginmigration.closedat",{"_index":20569,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigrationalreadyclosedloggableexception})@apiokresponse({description",{"_index":23440,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationalreadyclosedloggableexception})@apiunprocessableentityresponse({description",{"_index":23405,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationapimodule",{"_index":20182,"title":{"modules/UserLoginMigrationApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/UserLoginMigrationApiModule.html":{}}}],["userloginmigrationcontroller",{"_index":23391,"title":{"controllers/UserLoginMigrationController.html":{}},"body":{"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationdo",{"_index":4950,"title":{"classes/UserLoginMigrationDO.html":{}},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/MigrationCheckService.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["userloginmigrationentity",{"_index":15210,"title":{"entities/UserLoginMigrationEntity.html":{}},"body":{"injectables/LegacySchoolRepo.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["userloginmigrationentity(props",{"_index":23576,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["userloginmigrationgraceperiodexpiredloggableexception",{"_index":23450,"title":{"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigrationgraceperiodexpiredloggableexception})@apinotfoundresponse({description",{"_index":23407,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationgraceperiodexpiredloggableexception})@apiokresponse({description",{"_index":23433,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationgraceperiodexpiredloggableexception})@apiunprocessableentityresponse({description",{"_index":23439,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationid",{"_index":15139,"title":{},"body":{"classes/LegacySchoolDo.html":{},"injectables/LegacySchoolRepo.html":{},"entities/SchoolEntity.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["userloginmigrationmandatoryloggable",{"_index":22548,"title":{"classes/UserLoginMigrationMandatoryLoggable.html":{}},"body":{"injectables/ToggleUserLoginMigrationUc.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{}}}],["userloginmigrationmandatoryloggable(userid",{"_index":22551,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{}}}],["userloginmigrationmandatoryparams",{"_index":23437,"title":{"classes/UserLoginMigrationMandatoryParams.html":{}},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMandatoryParams.html":{}}}],["userloginmigrationmapper",{"_index":23451,"title":{"classes/UserLoginMigrationMapper.html":{}},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{}}}],["userloginmigrationmapper.mapsearchparamstoquery(params",{"_index":23462,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationmapper.mapuserloginmigrationdotoresponse(migrationdto",{"_index":23475,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationmapper.mapuserloginmigrationdotoresponse(userloginmigration",{"_index":23467,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationmodule",{"_index":17126,"title":{"modules/UserLoginMigrationModule.html":{}},"body":{"modules/OauthModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{}}}],["userloginmigrationnotfoundloggableexception",{"_index":4951,"title":{"classes/UserLoginMigrationNotFoundLoggableException.html":{}},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{}}}],["userloginmigrationnotfoundloggableexception(schoolid",{"_index":4954,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{}}}],["userloginmigrationnotfoundloggableexception})@apiokresponse({description",{"_index":23408,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationnotfoundloggableexception})@apiunprocessableentityresponse({description",{"_index":23429,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationprops",{"_index":23585,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["userloginmigrationquery",{"_index":23452,"title":{"interfaces/UserLoginMigrationQuery.html":{}},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["userloginmigrationrepo",{"_index":16296,"title":{"injectables/UserLoginMigrationRepo.html":{}},"body":{"injectables/MigrationCheckService.html":{},"injectables/SchoolMigrationService.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigrationresponse",{"_index":23453,"title":{"classes/UserLoginMigrationResponse.html":{}},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{}}}],["userloginmigrationresponse})@apiforbiddenresponse",{"_index":23446,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationresponse})@apinotfoundresponse({description",{"_index":23415,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationresponse})@apiunauthorizedresponse()@apiforbiddenresponse",{"_index":23434,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationresponse})@apiunauthorizedresponse()@apiforbiddenresponse()@apinocontentresponse({description",{"_index":23409,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationrevertservice",{"_index":4945,"title":{"injectables/UserLoginMigrationRevertService.html":{}},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationRevertService.html":{}}}],["userloginmigrationrule",{"_index":1878,"title":{"injectables/UserLoginMigrationRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/RuleManager.html":{},"injectables/UserLoginMigrationRule.html":{}}}],["userloginmigrations",{"_index":23414,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationsearchlistresponse",{"_index":23454,"title":{"classes/UserLoginMigrationSearchListResponse.html":{}},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationSearchListResponse.html":{}}}],["userloginmigrationsearchlistresponse})@apiinternalservererrorresponse({description",{"_index":23421,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationsearchparams",{"_index":23418,"title":{"classes/UserLoginMigrationSearchParams.html":{}},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationSearchParams.html":{}}}],["userloginmigrationservice",{"_index":4943,"title":{"injectables/UserLoginMigrationService.html":{}},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["userloginmigrationstartloggable",{"_index":18798,"title":{"classes/UserLoginMigrationStartLoggable.html":{}},"body":{"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/UserLoginMigrationStartLoggable.html":{}}}],["userloginmigrationstartloggable(userid",{"_index":18802,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{}}}],["userloginmigrationuc",{"_index":23390,"title":{"injectables/UserLoginMigrationUc.html":{}},"body":{"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["usermapper",{"_index":23706,"title":{"classes/UserMapper.html":{}},"body":{"classes/UserMapper.html":{},"injectables/UserService.html":{}}}],["usermapper.mapfromentitytodto(userentity",{"_index":23909,"title":{},"body":{"injectables/UserService.html":{}}}],["usermatches",{"_index":14056,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["usermatchlistresponse",{"_index":13873,"title":{"classes/UserMatchListResponse.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["usermatchlistresponse(dtolist",{"_index":13898,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["usermatchmapper",{"_index":13865,"title":{"classes/UserMatchMapper.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"classes/UserMatchMapper.html":{}}}],["usermatchmapper.maptodomain(scope",{"_index":13893,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["usermatchmapper.maptoresponse(user",{"_index":13897,"title":{},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{}}}],["usermatchresponse",{"_index":13922,"title":{"classes/UserMatchResponse.html":{}},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{}}}],["usermatchschoolid",{"_index":19891,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["usermetadata",{"_index":11294,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["usermetdata",{"_index":11286,"title":{"interfaces/UserMetdata.html":{}},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["usermigrationdatabaseoperationfailedloggableexception",{"_index":23741,"title":{"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{}},"body":{"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{}}}],["usermigrationdatabaseoperationfailedloggableexception(currentuserid",{"_index":23760,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["usermigrationdto",{"_index":16317,"title":{},"body":{"classes/MigrationDto.html":{}}}],["usermigrationdto.redirect",{"_index":16318,"title":{},"body":{"classes/MigrationDto.html":{}}}],["usermigrationisnotenabled",{"_index":23743,"title":{"classes/UserMigrationIsNotEnabled.html":{}},"body":{"classes/UserMigrationIsNotEnabled.html":{}}}],["usermigrationservice",{"_index":23565,"title":{"injectables/UserMigrationService.html":{}},"body":{"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{}}}],["usermigrationstartedloggable",{"_index":23683,"title":{"classes/UserMigrationStartedLoggable.html":{}},"body":{"injectables/UserLoginMigrationUc.html":{},"classes/UserMigrationStartedLoggable.html":{}}}],["usermigrationstartedloggable(currentuserid",{"_index":23694,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["usermigrationsuccessfulloggable",{"_index":23684,"title":{"classes/UserMigrationSuccessfulLoggable.html":{}},"body":{"injectables/UserLoginMigrationUc.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["usermigrationsuccessfulloggable(currentuserid",{"_index":23704,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["usermodel",{"_index":14604,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["usermodule",{"_index":3858,"title":{"modules/UserModule.html":{}},"body":{"modules/BoardModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/DeletionApiModule.html":{},"modules/GroupApiModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{}}}],["username",{"_index":51,"title":{},"body":{"classes/AbstractAccountService.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AdminIdAndToken.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/IKeycloakSettings.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JsonAccount.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAuthorizationBodyParams.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"injectables/OidcProvisioningService.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{},"classes/TestApiClient.html":{},"classes/UnauthorizedLoggableException.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["username.replace(/[^(\\p{l}\\p{n})]/gu",{"_index":798,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["username.trim().tolowercase",{"_index":1753,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["usernames",{"_index":11243,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["usernotfoundafterprovisioningloggableexception",{"_index":16840,"title":{"classes/UserNotFoundAfterProvisioningLoggableException.html":{}},"body":{"injectables/OAuthService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["usernotfoundafterprovisioningloggableexception(externaluserid",{"_index":16861,"title":{},"body":{"injectables/OAuthService.html":{}}}],["userparams",{"_index":699,"title":{"classes/UserParams.html":{}},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserParams.html":{}}}],["userparentsentity",{"_index":23136,"title":{"classes/UserParentsEntity.html":{}},"body":{"entities/User.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{}}}],["userparentsentityprops",{"_index":23789,"title":{"interfaces/UserParentsEntityProps.html":{}},"body":{"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{}}}],["userpathadditions",{"_index":14946,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["userpermissions",{"_index":23369,"title":{},"body":{"classes/UserFactory.html":{}}}],["userproperties",{"_index":23147,"title":{"interfaces/UserProperties.html":{}},"body":{"entities/User.html":{},"injectables/UserDORepo.html":{},"classes/UserFactory.html":{},"interfaces/UserProperties.html":{}}}],["userquery",{"_index":23249,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserService.html":{}}}],["userrefprops",{"_index":1809,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["userrefprops.some((prop",{"_index":1840,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["userrepo",{"_index":268,"title":{"injectables/UserRepo.html":{}},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"injectables/AccountValidationService.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationService.html":{},"injectables/CourseCopyService.html":{},"modules/ImportUserModule.html":{},"injectables/LdapStrategy.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LocalStrategy.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/RoomsUc.html":{},"modules/UserModule.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["userrepresentation",{"_index":14684,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["userrole",{"_index":13924,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/RoleNameMapper.html":{},"injectables/SanisResponseMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{}}}],["userrole.admin",{"_index":19001,"title":{},"body":{"classes/RoleNameMapper.html":{},"classes/UserMatchMapper.html":{}}}],["userrole.student",{"_index":19003,"title":{},"body":{"classes/RoleNameMapper.html":{},"classes/UserMatchMapper.html":{}}}],["userrole.teacher",{"_index":19002,"title":{},"body":{"classes/RoleNameMapper.html":{},"classes/UserMatchMapper.html":{}}}],["userroleenum",{"_index":2658,"title":{},"body":{"classes/BaseUc.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{},"interfaces/UserBoardRoles.html":{}}}],["userroleenum.student",{"_index":2678,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["userroleenum.substitution_teacher",{"_index":3438,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["userroleenum.teacher",{"_index":3436,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["userrule",{"_index":1879,"title":{"injectables/UserRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/RuleManager.html":{},"injectables/UserRule.html":{}}}],["users",{"_index":3382,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"controllers/BoardSubmissionController.html":{},"interfaces/CleanOptions.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CopyFileDO.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FileDO.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/ICurrentUser.html":{},"modules/ImportUserModule.html":{},"injectables/ImportUserRepo.html":{},"entities/InstalledLibrary.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"classes/KeycloakSeedService.html":{},"classes/LibraryName.html":{},"controllers/LoginController.html":{},"interfaces/Meta.html":{},"interfaces/MigrationOptions.html":{},"injectables/NewsUc.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"interfaces/OcsResponse.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/ResolvedGroupDto.html":{},"interfaces/RetryOptions.html":{},"injectables/SchoolMigrationService.html":{},"classes/ShareTokenBodyParams.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"controllers/SystemController.html":{},"entities/User.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"classes/UsersList.html":{},"classes/VideoConferenceCreateParams.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["users(value",{"_index":12652,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["users.filter((groupuser",{"_index":17642,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["users.find",{"_index":14720,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["users.find((user",{"_index":23814,"title":{},"body":{"injectables/UserRepo.html":{}}}],["users.getidentifiers('_id",{"_index":7484,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["users.length",{"_index":7488,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/KeycloakSeedService.html":{},"classes/UsersList.html":{}}}],["users.map((user",{"_index":7495,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/FeathersRosterService.html":{},"classes/SubmissionItemResponseMapper.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"classes/UsersList.html":{}}}],["users.resetpassword",{"_index":14714,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["users.total",{"_index":19996,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["users.update",{"_index":14713,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["users_configuration_path='/tmp/config/users",{"_index":25873,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["userscollection",{"_index":5321,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["userscollection.createindex",{"_index":5333,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["userscollection.dropindex('usersearchindex",{"_index":5332,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["userscollection.indexes",{"_index":5325,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["userscollection.indexexists('usersearchindex",{"_index":5324,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["userscope",{"_index":23263,"title":{"classes/UserScope.html":{}},"body":{"injectables/UserDORepo.html":{},"classes/UserScope.html":{}}}],["userscount",{"_index":1068,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["usersearchindex",{"_index":5326,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["usersearchindex[0].key?.schoolid",{"_index":5329,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["usersearchindexexists",{"_index":5323,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["userservice",{"_index":5416,"title":{"injectables/UserService.html":{}},"body":{"injectables/ColumnBoardCopyService.html":{},"injectables/FeathersRosterService.html":{},"injectables/IdTokenService.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/MigrationCheckService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SchoolMigrationService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationService.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"modules/UserModule.html":{},"injectables/UserService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["userservice.findbyid",{"_index":23907,"title":{},"body":{"injectables/UserService.html":{}}}],["usersfile",{"_index":13588,"title":{},"body":{"interfaces/IKeycloakConfigurationInputFiles.html":{},"classes/KeycloakConfiguration.html":{}}}],["userslist",{"_index":7455,"title":{"classes/UsersList.html":{}},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["userspermissions",{"_index":1822,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/PermissionService.html":{}}}],["userspermissions.includes(p",{"_index":1825,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/PermissionService.html":{}}}],["usersresponse",{"_index":20825,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["usersubmissionexists",{"_index":9774,"title":{},"body":{"injectables/ElementUc.html":{}}}],["userswithemail",{"_index":14247,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["userswithemail.length",{"_index":14249,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["userswithemail[0",{"_index":14250,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["usertoicurrentuser",{"_index":7996,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["usertoicurrentuser(accountid",{"_index":8006,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["useruc",{"_index":13876,"title":{"injectables/UserUc.html":{}},"body":{"controllers/ImportUserController.html":{},"modules/UserApiModule.html":{},"controllers/UserController.html":{},"injectables/UserUc.html":{}}}],["userwithpopulatedroles",{"_index":1996,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["uses",{"_index":15196,"title":{},"body":{"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/TemporaryFileStorage.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["usevalue",{"_index":1267,"title":{},"body":{"modules/AntivirusModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"modules/RocketChatModule.html":{},"modules/ToolConfigModule.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["usevalue(createmock",{"_index":22140,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["using",{"_index":543,"title":{},"body":{"classes/AccountFactory.html":{},"injectables/AccountRepo.html":{},"modules/AuthorizationReferenceModule.html":{},"classes/BaseFactory.html":{},"classes/BaseUc.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"modules/InterceptorModule.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"interfaces/LibrariesContentType.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"modules/ToolModule.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["usually",{"_index":6262,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["utf",{"_index":12019,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/KeycloakSeedService.html":{},"interfaces/LibrariesContentType.html":{}}}],["util",{"_index":12548,"title":{},"body":{"classes/GlobalErrorFilter.html":{},"injectables/LegacyLogger.html":{},"classes/LoggingUtils.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["util.inspect(message).replace(/\\n/g",{"_index":15133,"title":{},"body":{"injectables/LegacyLogger.html":{},"classes/LoggingUtils.html":{}}}],["utilities",{"_index":15705,"title":{},"body":{"modules/LoggerModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["utilities.format.nestlike",{"_index":15724,"title":{},"body":{"modules/LoggerModule.html":{}}}],["utils",{"_index":3635,"title":{},"body":{"injectables/BoardDoRepo.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/GlobalErrorFilter.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/TldrawBoardRepo.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["utils.asarray(domainobject",{"_index":18523,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["utils.asarray(id",{"_index":3653,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["utils/error.utils",{"_index":9829,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["uuid",{"_index":620,"title":{},"body":{"injectables/AccountLookupService.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/ImportUserFactory.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/ParentInfo.html":{},"injectables/PseudonymService.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"dependencies.html":{}}}],["uuidv4",{"_index":13910,"title":{},"body":{"classes/ImportUserFactory.html":{},"injectables/PseudonymService.html":{}}}],["v",{"_index":4922,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["v3",{"_index":25260,"title":{},"body":{"todo.html":{}}}],["v3/index",{"_index":25265,"title":{},"body":{"todo.html":{}}}],["v3/tools/external",{"_index":10156,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ToolReferenceService.html":{}}}],["v4",{"_index":11519,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"classes/ImportUserFactory.html":{},"interfaces/ParentInfo.html":{},"injectables/PseudonymService.html":{}}}],["val",{"_index":6102,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["valid",{"_index":628,"title":{},"body":{"injectables/AccountLookupService.html":{},"modules/AuthenticationModule.html":{},"injectables/BatchDeletionService.html":{},"entities/Board.html":{},"classes/BoardManagementConsole.html":{},"injectables/DeletionClient.html":{},"classes/GlobalValidationPipe.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"classes/LdapConfigEntity.html":{},"injectables/MetaTagExtractorService.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/ReferencesService.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"license.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["validatabletool",{"_index":6084,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validatabletool.id",{"_index":6133,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validatabletool.parameters",{"_index":6136,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validatabletool.parameters.find",{"_index":6141,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validatabletool.parameters.length",{"_index":6131,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validatabletool.parameters.map",{"_index":6127,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validate",{"_index":1213,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/IdTokenInvalidLoggableException.html":{},"modules/InterceptorModule.html":{},"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolService.html":{},"injectables/LocalStrategy.html":{},"injectables/Oauth2Strategy.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolValidationService.html":{},"injectables/TaskUC.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["validate(contextexternaltool",{"_index":7016,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["validate(payload",{"_index":14291,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["validate(props",{"_index":4627,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["validate(request",{"_index":15039,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/Oauth2Strategy.html":{}}}],["validate(response",{"_index":19532,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["validate(school",{"_index":20052,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["validate(schoolexternaltool",{"_index":19870,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["validate(username",{"_index":15662,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["validate(value",{"_index":1245,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["validateandgetexternaltool",{"_index":11252,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["validateandgetexternaltool(oauth2clientid",{"_index":11277,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["validatecommon",{"_index":10434,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validatecommon(externaltool",{"_index":10453,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validatecontextexternaltools",{"_index":11253,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["validatecontextexternaltools(courseid",{"_index":11279,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["validatecreate",{"_index":11039,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validatecreate(externaltool",{"_index":11046,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validated",{"_index":1226,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/JwtValidationAdapter.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["validatelogosize",{"_index":10299,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["validatelogosize(externaltool",{"_index":10313,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["validatelti11config",{"_index":11040,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validatelti11config(externaltool",{"_index":11047,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validatenested",{"_index":6803,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SingleFileParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["validatenested()@apiproperty",{"_index":9565,"title":{},"body":{"classes/DrawingElementContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/MoveElementParams.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{}}}],["validatenested()@type(undefined",{"_index":10179,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["validatenested({each",{"_index":6796,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/SchoolExternalToolPostParams.html":{}}}],["validateoauth2config",{"_index":11041,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validateoauth2config(externaltool",{"_index":11049,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validateparameter",{"_index":6082,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validateparameter(param",{"_index":6104,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validatepassword",{"_index":24,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountServiceDb.html":{}}}],["validatepassword(account",{"_index":91,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountServiceDb.html":{}}}],["validatereordering(reorderedids",{"_index":2964,"title":{},"body":{"entities/Board.html":{}}}],["validaterocketchatconfig",{"_index":1190,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["validateschoolexternaltool",{"_index":11254,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["validateschoolexternaltool(schoolid",{"_index":11281,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["validatestatus",{"_index":13392,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["validatesubject",{"_index":17187,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["validatesubject(currentuser",{"_index":17198,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["validatetoken",{"_index":16819,"title":{},"body":{"injectables/OAuthService.html":{}}}],["validatetoken(idtoken",{"_index":16836,"title":{},"body":{"injectables/OAuthService.html":{}}}],["validateupdate",{"_index":11042,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validateupdate(toolid",{"_index":11050,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validateusersmatch",{"_index":8686,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["validateusersmatch(dashboard",{"_index":8694,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["validating",{"_index":14322,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["validation",{"_index":1373,"title":{"additional-documentation/nestjs-application/domain-object-validation.html":{}},"body":{"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/BusinessError.html":{},"modules/CoreModule.html":{},"entities/CourseNews.html":{},"classes/CreateNewsParams.html":{},"classes/ErrorLoggable.html":{},"classes/GlobalValidationPipe.html":{},"injectables/LegacySchoolService.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"entities/SchoolNews.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{},"classes/ValidationError.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["validation.adapter",{"_index":1554,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/AuthenticationService.html":{},"injectables/JwtStrategy.html":{}}}],["validation.adapter.ts",{"_index":14311,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["validation.adapter.ts:13",{"_index":14316,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["validation.adapter.ts:25",{"_index":14321,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["validation.adapter.ts:30",{"_index":14319,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["validation.adapter.ts:36",{"_index":14325,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["validation.error.ts",{"_index":1353,"title":{},"body":{"classes/ApiValidationError.html":{}}}],["validation.error.ts:4",{"_index":1358,"title":{},"body":{"classes/ApiValidationError.html":{}}}],["validation.pipe",{"_index":23965,"title":{},"body":{"modules/ValidationModule.html":{}}}],["validation.pipe.ts",{"_index":12586,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["validation.pipe.ts:12",{"_index":12588,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["validation.service",{"_index":6785,"title":{},"body":{"modules/ContextExternalToolModule.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/ToolVersionService.html":{}}}],["validation.service.ts",{"_index":6072,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolValidationService.html":{}}}],["validation.service.ts:10",{"_index":10435,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolValidationService.html":{}}}],["validation.service.ts:107",{"_index":6096,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validation.service.ts:108",{"_index":10442,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:118",{"_index":10444,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:12",{"_index":7014,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["validation.service.ts:128",{"_index":10450,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:136",{"_index":10446,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:14",{"_index":6114,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validation.service.ts:148",{"_index":10439,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:16",{"_index":10454,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/SchoolValidationService.html":{}}}],["validation.service.ts:17",{"_index":19871,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["validation.service.ts:20",{"_index":7017,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["validation.service.ts:24",{"_index":6103,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validation.service.ts:26",{"_index":11051,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validation.service.ts:27",{"_index":19868,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["validation.service.ts:32",{"_index":6085,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ContextExternalToolValidationService.html":{}}}],["validation.service.ts:46",{"_index":6088,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validation.service.ts:58",{"_index":6091,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolValidationService.html":{}}}],["validation.service.ts:7",{"_index":20050,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["validation.service.ts:72",{"_index":6100,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:74",{"_index":11048,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validation.service.ts:76",{"_index":10448,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:82",{"_index":6105,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validation.service.ts:84",{"_index":11045,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validation.service.ts:86",{"_index":10437,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:9",{"_index":11043,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validation.service.ts:91",{"_index":6094,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validation.service.ts:95",{"_index":10452,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:99",{"_index":6098,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validation_error",{"_index":23949,"title":{},"body":{"classes/ValidationError.html":{},"classes/ValidationErrorLoggableException.html":{}}}],["validationerror",{"_index":338,"title":{"classes/ValidationError.html":{}},"body":{"controllers/AccountController.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/CurrentUserMapper.html":{},"classes/ErrorLoggable.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"classes/GlobalValidationPipe.html":{},"controllers/LoginController.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SubmissionItemService.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorLoggableException.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["validationerror('user",{"_index":8012,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["validationerror(`tool_id_mismatch",{"_index":11057,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validationerror(`tool_name_duplicate",{"_index":10457,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validationerror(`tool_param_name",{"_index":10462,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validationerror.children",{"_index":1413,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["validationerror.children.foreach((childerror",{"_index":1414,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["validationerror.constraints",{"_index":1409,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["validationerror.property",{"_index":1407,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["validationerrordetailresponse",{"_index":1385,"title":{"classes/ValidationErrorDetailResponse.html":{}},"body":{"classes/ApiValidationErrorResponse.html":{},"classes/ValidationErrorDetailResponse.html":{}}}],["validationerrordetailresponse(propertypath",{"_index":1412,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["validationerrorlistobject",{"_index":23957,"title":{},"body":{"classes/ValidationErrorLoggableException.html":{}}}],["validationerrorloggableexception",{"_index":19501,"title":{"classes/ValidationErrorLoggableException.html":{}},"body":{"injectables/SanisProvisioningStrategy.html":{},"classes/ValidationErrorLoggableException.html":{}}}],["validationerrorloggableexception(validationerrors",{"_index":19534,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["validationerrorlogmessage",{"_index":1469,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/AxiosErrorLoggable.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/GroupRoleUnknownLoggable.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Loggable.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["validationerrors",{"_index":1359,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/ErrorLoggable.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/ValidationErrorLoggableException.html":{}}}],["validationerrors.length",{"_index":19533,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["validationmetadata",{"_index":9854,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["validationmetadata.context?.privacyprotected",{"_index":9856,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["validationmetadata.propertyname",{"_index":9855,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["validationmodule",{"_index":7350,"title":{"modules/ValidationModule.html":{}},"body":{"modules/CoreModule.html":{},"modules/ValidationModule.html":{}}}],["validationpipe",{"_index":1221,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/GlobalValidationPipe.html":{}}}],["validationpipe.createexceptionfactory",{"_index":1248,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["validationresult",{"_index":1244,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["validationresult.length",{"_index":1246,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["validator",{"_index":200,"title":{},"body":{"classes/AcceptQuery.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchQueryParams.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"classes/AuthorizationParams.html":{},"classes/BasicToolConfigParams.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardUrlParams.html":{},"classes/CardIdsParams.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/ClassFilterParams.html":{},"classes/ClassSortParams.html":{},"classes/ColumnUrlParams.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextRefParams.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CourseQueryParams.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterPostParams.html":{},"classes/DashboardUrlParams.html":{},"classes/DeletionExecutionParams.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolSearchParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GetMetaTagDataBody.html":{},"classes/GlobalValidationPipe.html":{},"classes/GroupIdParams.html":{},"classes/IdParams.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LessonCopyApiParams.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/NewsUrlParams.html":{},"classes/OAuthRejectableBody.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/PaginationParams.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/PseudonymParams.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"classes/RevokeConsentParams.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SetHeightBodyParams.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionUrlParams.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamRoleDto.html":{},"classes/TeamUrlParams.html":{},"classes/TldrawDeleteParams.html":{},"classes/ToolLaunchParams.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationSearchParams.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParams.html":{},"classes/ValidationErrorLoggableException.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceScopeParams.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["validators",{"_index":25539,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["validcourses",{"_index":11332,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["validcourses.push(course",{"_index":11335,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["validfrom",{"_index":12650,"title":{},"body":{"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{},"injectables/OidcProvisioningService.html":{}}}],["validjwt",{"_index":7929,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["validperiod",{"_index":12733,"title":{},"body":{"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["validuntil",{"_index":12651,"title":{},"body":{"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{},"injectables/OidcProvisioningService.html":{}}}],["value",{"_index":130,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"classes/AccountFactory.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/CardSkeletonResponse.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassSortParams.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollectionFilePath.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"classes/CommonCartridgeFileBuilder.html":{},"injectables/CommonToolValidationService.html":{},"classes/ConsentResponse.html":{},"classes/ContentElementResponseFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolScope.html":{},"injectables/CopyHelperService.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseUrlHandler.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"entities/DashboardModelEntity.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"classes/DeletionExecutionParams.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"classes/DrawingElementContentBody.html":{},"interfaces/DrawingElementProps.html":{},"classes/ElementContentBody.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContentBody.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElement.html":{},"classes/FileElementContentBody.html":{},"interfaces/FileElementProps.html":{},"entities/FileEntity.html":{},"classes/FilePermissionEntity.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"classes/FilterUserParams.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IGridElement.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolService.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"classes/LessonScope.html":{},"injectables/LessonUrlHandler.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContentBody.html":{},"interfaces/LinkElementProps.html":{},"injectables/Logger.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/MongoPatterns.html":{},"entities/News.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/PaginationParams.html":{},"injectables/PreviewGeneratorService.html":{},"classes/PropertyData.html":{},"injectables/ProvisioningService.html":{},"classes/PseudonymScope.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"classes/RequestInfo.html":{},"classes/ResolvedUserMapper.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContentBody.html":{},"interfaces/RichTextElementProps.html":{},"classes/RocketChatUserFactory.html":{},"entities/Role.html":{},"injectables/RoleRepo.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisResponseMapper.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolExternalToolScope.html":{},"classes/Scope.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContentBody.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemScope.html":{},"injectables/SystemUc.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"classes/TaskFactory.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/TldrawWsService.html":{},"classes/ToolConfiguration.html":{},"classes/ToolContextMapper.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/UpdateElementContentBodyParams.html":{},"entities/User.html":{},"classes/UserAndAccountTestFactory.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"classes/VideoConferenceConfiguration.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["value.length",{"_index":20594,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{},"classes/StringValidator.html":{}}}],["value.loggable",{"_index":16333,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["value.trim().length",{"_index":20629,"title":{},"body":{"classes/StringValidator.html":{}}}],["value[0",{"_index":14755,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["values",{"_index":1561,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/BatchDeletionService.html":{},"classes/LdapConfigEntity.html":{},"injectables/LdapStrategy.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["values.ts",{"_index":1758,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["values.ts:2",{"_index":1762,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["values.ts:4",{"_index":1761,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["var",{"_index":5346,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["variable",{"_index":20202,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["variables",{"_index":20504,"title":{},"body":{"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["variant",{"_index":22099,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["various",{"_index":25453,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["vars",{"_index":2060,"title":{},"body":{"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BasicToolLaunchStrategy.html":{},"classes/DomainObjectFactory.html":{},"injectables/FilesStorageConsumer.html":{},"controllers/LoginController.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/TestBootstrapConsole.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["vcdo",{"_index":24215,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["vcdo.options",{"_index":24217,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["verbatim",{"_index":24645,"title":{},"body":{"license.html":{}}}],["verbose",{"_index":4871,"title":{},"body":{"interfaces/CleanOptions.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakMigrationService.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["verified",{"_index":1154,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["verify",{"_index":25781,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["verifyfeaturesenabled",{"_index":24091,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["verifyfeaturesenabled(schoolid",{"_index":24103,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["verifying",{"_index":25782,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["verifyoptions",{"_index":1600,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["version",{"_index":5710,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"modules/ContextExternalToolModule.html":{},"injectables/CourseExportUc.html":{},"classes/CourseQueryParams.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"injectables/LibraryRepo.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"injectables/SchoolExternalToolValidationService.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"classes/ToolConfigurationMapper.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolVersionService.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{}}}],["version.interface.ts",{"_index":23075,"title":{},"body":{"interfaces/ToolVersion.html":{}}}],["version.interface.ts:2",{"_index":23076,"title":{},"body":{"interfaces/ToolVersion.html":{}}}],["versioning",{"_index":6060,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["versionkey",{"_index":11489,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["versionnumber",{"_index":5932,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["versions",{"_index":6687,"title":{},"body":{"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"license.html":{}}}],["very",{"_index":5287,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"index.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["via",{"_index":2821,"title":{},"body":{"injectables/BatchDeletionService.html":{},"classes/CopyApiResponse.html":{},"classes/DeletionExecutionConsole.html":{},"controllers/KeycloakManagementController.html":{},"controllers/LoginController.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["video",{"_index":9475,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["videoconference",{"_index":7454,"title":{"entities/VideoConference.html":{},"classes/VideoConference-1.html":{}},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceConfiguration.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceOptions.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["videoconference(props",{"_index":24313,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["videoconference.options.everybodyjoinsasmoderator",{"_index":24233,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["videoconference.options.moderatormustapprovejoinrequests",{"_index":24235,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["videoconference2",{"_index":24017,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["videoconference:31",{"_index":24193,"title":{},"body":{"classes/VideoConferenceInfo.html":{}}}],["videoconference:34",{"_index":24194,"title":{},"body":{"classes/VideoConferenceInfo.html":{}}}],["videoconference:6",{"_index":24192,"title":{},"body":{"classes/VideoConferenceInfo.html":{}}}],["videoconferenceapimodule",{"_index":20186,"title":{"modules/VideoConferenceApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/VideoConferenceApiModule.html":{}}}],["videoconferencebaseresponse",{"_index":9476,"title":{"classes/VideoConferenceBaseResponse.html":{}},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["videoconferencebaseresponse:10",{"_index":9482,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{}}}],["videoconferencebaseresponse:12",{"_index":9480,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{}}}],["videoconferencebaseresponse:8",{"_index":9483,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{}}}],["videoconferenceconfiguration",{"_index":24009,"title":{"classes/VideoConferenceConfiguration.html":{}},"body":{"classes/VideoConferenceConfiguration.html":{},"modules/VideoConferenceModule.html":{}}}],["videoconferenceconfiguration.bbb",{"_index":24014,"title":{},"body":{"classes/VideoConferenceConfiguration.html":{},"modules/VideoConferenceModule.html":{}}}],["videoconferenceconfiguration.videoconference",{"_index":24277,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["videoconferencecontroller",{"_index":24004,"title":{"controllers/VideoConferenceController.html":{}},"body":{"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["videoconferencecreateparams",{"_index":24037,"title":{"classes/VideoConferenceCreateParams.html":{}},"body":{"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{}}}],["videoconferencecreateuc",{"_index":24000,"title":{"injectables/VideoConferenceCreateUc.html":{}},"body":{"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{}}}],["videoconferencedeprecatedcontroller",{"_index":24143,"title":{"controllers/VideoConferenceDeprecatedController.html":{}},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"modules/VideoConferenceModule.html":{}}}],["videoconferencedeprecateduc",{"_index":24156,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"modules/VideoConferenceModule.html":{}}}],["videoconferencedo",{"_index":24130,"title":{"classes/VideoConferenceDO.html":{}},"body":{"classes/VideoConferenceDO.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceOptionsDO.html":{},"injectables/VideoConferenceRepo.html":{}}}],["videoconferenceenduc",{"_index":24001,"title":{"injectables/VideoConferenceEndUc.html":{}},"body":{"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceEndUc.html":{}}}],["videoconferenceinfo",{"_index":24044,"title":{"classes/VideoConferenceInfo.html":{}},"body":{"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceInfo.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["videoconferenceinforesponse",{"_index":24046,"title":{"classes/VideoConferenceInfoResponse.html":{}},"body":{"controllers/VideoConferenceController.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceMapper.html":{}}}],["videoconferenceinforesponse})@apiresponse({status",{"_index":24028,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["videoconferenceinfouc",{"_index":24002,"title":{"injectables/VideoConferenceInfoUc.html":{}},"body":{"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["videoconferencejoin",{"_index":24045,"title":{"classes/VideoConferenceJoin.html":{}},"body":{"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceJoin.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["videoconferencejoin.url",{"_index":24265,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["videoconferencejoinresponse",{"_index":24047,"title":{"classes/VideoConferenceJoinResponse.html":{}},"body":{"controllers/VideoConferenceController.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceMapper.html":{}}}],["videoconferencejoinresponse})@apiresponse({status",{"_index":24034,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["videoconferencejoinuc",{"_index":24003,"title":{"injectables/VideoConferenceJoinUc.html":{}},"body":{"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["videoconferencemapper",{"_index":24041,"title":{"classes/VideoConferenceMapper.html":{}},"body":{"controllers/VideoConferenceController.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["videoconferencemapper.tovideoconferenceinforesponse(dto",{"_index":24064,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["videoconferencemapper.tovideoconferencejoinresponse(dto",{"_index":24061,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["videoconferencemapper.tovideoconferenceoptions(params",{"_index":24057,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["videoconferencemapper.tovideoconferencestateresponse(from.state",{"_index":24334,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["videoconferencemodule",{"_index":23999,"title":{"modules/VideoConferenceModule.html":{}},"body":{"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{}}}],["videoconferenceoptions",{"_index":23968,"title":{"classes/VideoConferenceOptions.html":{}},"body":{"entities/VideoConference.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceInfo.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptions.html":{}}}],["videoconferenceoptionsdo",{"_index":24134,"title":{"classes/VideoConferenceOptionsDO.html":{}},"body":{"classes/VideoConferenceDO.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["videoconferenceoptionsresponse",{"_index":24197,"title":{"classes/VideoConferenceOptionsResponse.html":{}},"body":{"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["videoconferenceoptionsresponse(videoconferenceinfo.options",{"_index":24264,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["videoconferencerepo",{"_index":24271,"title":{"injectables/VideoConferenceRepo.html":{}},"body":{"modules/VideoConferenceModule.html":{},"injectables/VideoConferenceRepo.html":{}}}],["videoconferenceresponsedeprecatedmapper",{"_index":24154,"title":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["videoconferenceresponsedeprecatedmapper.maptobaseresponse(dto",{"_index":24178,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["videoconferenceresponsedeprecatedmapper.maptoinforesponse(dto",{"_index":24175,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["videoconferenceresponsedeprecatedmapper.maptojoinresponse(dto",{"_index":24173,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["videoconferenceresponsemapper",{"_index":24327,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["videoconferences",{"_index":23982,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["videoconferencescope",{"_index":20104,"title":{},"body":{"classes/ScopeRef.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceOptionsDO.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["videoconferencescope'})@isenum(videoconferencescope",{"_index":24339,"title":{},"body":{"classes/VideoConferenceScopeParams.html":{}}}],["videoconferencescope.course",{"_index":24310,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["videoconferencescope.event",{"_index":24308,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["videoconferencescopeparams",{"_index":24020,"title":{"classes/VideoConferenceScopeParams.html":{}},"body":{"controllers/VideoConferenceController.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["videoconferenceservice",{"_index":24093,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"modules/VideoConferenceModule.html":{}}}],["videoconferencesettings",{"_index":13636,"title":{},"body":{"interfaces/IVideoConferenceSettings.html":{},"modules/VideoConferenceModule.html":{}}}],["videoconferencestate",{"_index":23989,"title":{},"body":{"classes/VideoConference-1.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["videoconferencestate.finished",{"_index":24189,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["videoconferencestate.not_started",{"_index":24209,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["videoconferencestate.running",{"_index":24167,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["videoconferencestateresponse",{"_index":9481,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceMapper.html":{}}}],["videoconferencestateresponse.finished",{"_index":24262,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["videoconferencestateresponse.not_started",{"_index":24260,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["videoconferencestateresponse.running",{"_index":24261,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["videoconferenceuc",{"_index":24160,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["videoconferencingscopemapping",{"_index":24312,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["videoconferencingscopemapping[entity.targetmodel",{"_index":24317,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["videocount",{"_index":2314,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["view",{"_index":16625,"title":{},"body":{"injectables/NewsUc.html":{},"license.html":{}}}],["viewer",{"_index":2265,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["viewers",{"_index":7772,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["violates",{"_index":24957,"title":{},"body":{"license.html":{}}}],["violation",{"_index":25001,"title":{},"body":{"license.html":{}}}],["virtuals",{"_index":24517,"title":{},"body":{"dependencies.html":{}}}],["virus",{"_index":11840,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["virus_detected",{"_index":1291,"title":{},"body":{"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["virus_signature",{"_index":1292,"title":{},"body":{"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["viruses",{"_index":1322,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["viruses.join",{"_index":1326,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["visibilities",{"_index":25244,"title":{},"body":{"todo.html":{}}}],["visibility",{"_index":4434,"title":{},"body":{"classes/CardResponse.html":{},"classes/PatchVisibilityParams.html":{},"injectables/RoomsUc.html":{}}}],["visibility.params.ts",{"_index":17745,"title":{},"body":{"classes/PatchVisibilityParams.html":{}}}],["visibility.params.ts:12",{"_index":17746,"title":{},"body":{"classes/PatchVisibilityParams.html":{}}}],["visibilitysettings",{"_index":4425,"title":{},"body":{"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{}}}],["visibilitysettingsresponse",{"_index":4432,"title":{"classes/VisibilitySettingsResponse.html":{}},"body":{"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"classes/VisibilitySettingsResponse.html":{}}}],["visible",{"_index":7771,"title":{},"body":{"entities/CourseNews.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["visibletools",{"_index":10084,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["visibletools.filter",{"_index":10087,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["visitcard",{"_index":3097,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitcard(card",{"_index":3107,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitcardasync",{"_index":3153,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitcardasync(card",{"_index":3145,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitcardasync(original",{"_index":18369,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitchildren",{"_index":18499,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["visitchildren(parent",{"_index":18510,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["visitchildrenasync",{"_index":18450,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["visitchildrenasync(domainobject",{"_index":18455,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["visitchildrenof",{"_index":18359,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitchildrenof(boarddo",{"_index":18371,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitcolumn",{"_index":3098,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitcolumn(column",{"_index":3110,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitcolumnasync",{"_index":3154,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitcolumnasync(column",{"_index":3144,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitcolumnasync(original",{"_index":18373,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitcolumnboard",{"_index":3099,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitcolumnboard(columnboard",{"_index":3112,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitcolumnboardasync",{"_index":3155,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitcolumnboardasync(columnboard",{"_index":3143,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitcolumnboardasync(original",{"_index":18375,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitdrawingelement",{"_index":3100,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitdrawingelement(drawingelement",{"_index":3114,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitdrawingelementasync",{"_index":3156,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitdrawingelementasync(drawingelement",{"_index":3149,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitdrawingelementasync(original",{"_index":18377,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitexternaltoolelement",{"_index":3101,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitexternaltoolelement(externaltoolelement",{"_index":3117,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitexternaltoolelementasync",{"_index":3157,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitexternaltoolelementasync(externaltoolelement",{"_index":3152,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitexternaltoolelementasync(original",{"_index":18379,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitfileelement",{"_index":3102,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitfileelement(fileelement",{"_index":3120,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitfileelementasync",{"_index":3158,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitfileelementasync(fileelement",{"_index":3146,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitfileelementasync(original",{"_index":18381,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitlinkelement",{"_index":3103,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitlinkelement(linkelement",{"_index":3123,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitlinkelementasync",{"_index":3159,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitlinkelementasync(linkelement",{"_index":3147,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitlinkelementasync(original",{"_index":18383,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitor",{"_index":3052,"title":{},"body":{"classes/BoardComposite.html":{},"injectables/BoardDoCopyService.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["visitor.copy(params.original",{"_index":3600,"title":{},"body":{"injectables/BoardDoCopyService.html":{}}}],["visitor.ts",{"_index":3096,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:13",{"_index":3113,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:14",{"_index":3111,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:15",{"_index":3109,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:16",{"_index":3122,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:17",{"_index":3125,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:18",{"_index":3128,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:19",{"_index":3116,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:20",{"_index":3131,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:21",{"_index":3133,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:22",{"_index":3119,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:26",{"_index":3165,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:27",{"_index":3164,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:28",{"_index":3163,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:29",{"_index":3168,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:30",{"_index":3169,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:31",{"_index":3170,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:32",{"_index":3166,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:33",{"_index":3171,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:34",{"_index":3172,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:35",{"_index":3167,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.visitcard(this",{"_index":4332,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{}}}],["visitor.visitcardasync(this",{"_index":4333,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{}}}],["visitor.visitcolumn(this",{"_index":5395,"title":{},"body":{"classes/Column.html":{},"interfaces/ColumnProps.html":{}}}],["visitor.visitcolumnasync(this",{"_index":5396,"title":{},"body":{"classes/Column.html":{},"interfaces/ColumnProps.html":{}}}],["visitor.visitcolumnboard(this",{"_index":5411,"title":{},"body":{"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["visitor.visitcolumnboardasync(this",{"_index":5412,"title":{},"body":{"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["visitor.visitdrawingelement(this",{"_index":9546,"title":{},"body":{"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{}}}],["visitor.visitdrawingelementasync(this",{"_index":9547,"title":{},"body":{"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{}}}],["visitor.visitexternaltoolelement(this",{"_index":10201,"title":{},"body":{"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{}}}],["visitor.visitexternaltoolelementasync(this",{"_index":10202,"title":{},"body":{"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{}}}],["visitor.visitfileelement(this",{"_index":11452,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["visitor.visitfileelementasync(this",{"_index":11453,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["visitor.visitlinkelement(this",{"_index":15610,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["visitor.visitlinkelementasync(this",{"_index":15611,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["visitor.visitrichtextelement(this",{"_index":18844,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["visitor.visitrichtextelementasync(this",{"_index":18845,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["visitor.visitsubmissioncontainerelement(this",{"_index":20700,"title":{},"body":{"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{}}}],["visitor.visitsubmissioncontainerelementasync(this",{"_index":20701,"title":{},"body":{"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{}}}],["visitor.visitsubmissionitem(this",{"_index":20785,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["visitor.visitsubmissionitemasync(this",{"_index":20786,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["visitrichtextelement",{"_index":3104,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitrichtextelement(richtextelement",{"_index":3126,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitrichtextelementasync",{"_index":3160,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitrichtextelementasync(original",{"_index":18385,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitrichtextelementasync(richtextelement",{"_index":3148,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitsubmissioncontainerelement",{"_index":3105,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitsubmissioncontainerelement(submissioncontainerelement",{"_index":3129,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitsubmissioncontainerelementasync",{"_index":3161,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitsubmissioncontainerelementasync(original",{"_index":18387,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitsubmissioncontainerelementasync(submissioncontainerelement",{"_index":3150,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitsubmissionitem",{"_index":3106,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitsubmissionitem(submissionitem",{"_index":3132,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitsubmissionitemasync",{"_index":3162,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitsubmissionitemasync(original",{"_index":18389,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitsubmissionitemasync(submission",{"_index":6456,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitsubmissionitemasync(submissionitem",{"_index":3151,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visual",{"_index":24605,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["vo",{"_index":13794,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["voicebridge",{"_index":2251,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["voiceparticipantcount",{"_index":2315,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["void",{"_index":569,"title":{},"body":{"classes/AccountFactory.html":{},"injectables/AccountRepo.html":{},"interfaces/AdminIdAndToken.html":{},"classes/ApiValidationErrorResponse.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"entities/Board.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardDoAuthorizable.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardManagementUc.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Class.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"injectables/CollaborativeStorageAdapter.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"interfaces/ColumnBoardProps.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ColumnProps.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolScope.html":{},"entities/Course.html":{},"injectables/CourseCopyUC.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"classes/CourseScope.html":{},"classes/CustomParameterFactory.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardUc.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestScope.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"injectables/ErrorLogger.html":{},"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolScope.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"injectables/FilesStorageProducer.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"classes/H5PContentFactory.html":{},"controllers/H5PEditorController.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraSsoService.html":{},"interfaces/IGridElement.html":{},"interfaces/ILegacyLogger.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserScope.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LessonCopyUC.html":{},"classes/LessonFactory.html":{},"classes/LessonScope.html":{},"interfaces/LibrariesContentType.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"injectables/Logger.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/MaterialFactory.html":{},"classes/NewsScope.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"interfaces/ParentInfo.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"injectables/ProvisioningService.html":{},"classes/PseudonymScope.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUserFactory.html":{},"classes/RpcMessageProducer.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolScope.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolMigrationService.html":{},"classes/Scope.html":{},"classes/ServerConsole.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemScope.html":{},"entities/Task.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"classes/TaskScope.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamFactory.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/TldrawBoardRepo.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceRepo.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"license.html":{}}}],["volume",{"_index":24864,"title":{},"body":{"license.html":{}}}],["vorname",{"_index":19455,"title":{},"body":{"classes/SanisNameResponse.html":{}}}],["vs",{"_index":14269,"title":{},"body":{"interfaces/JwtConstants.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["vscode",{"_index":24576,"title":{"additional-documentation/nestjs-application/vscode.html":{}},"body":{"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["vscode/extensions.json",{"_index":25817,"title":{},"body":{"additional-documentation/nestjs-application/vscode.html":{}}}],["vscode/lauch",{"_index":25266,"title":{},"body":{"todo.html":{}}}],["vscode/launch.default.json",{"_index":25384,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["vscode/settings.default.json",{"_index":25815,"title":{},"body":{"additional-documentation/nestjs-application/vscode.html":{}}}],["w",{"_index":6541,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["wait",{"_index":1750,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["waiting",{"_index":24239,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["waive",{"_index":24823,"title":{},"body":{"license.html":{}}}],["waiver",{"_index":25180,"title":{},"body":{"license.html":{}}}],["want",{"_index":5108,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"classes/Path.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["wantedlibraries",{"_index":13286,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["wantedlibraries.includes(librariestocheck[lastpositionlibrariestocheckarray].machinename",{"_index":13331,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["warn",{"_index":13600,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["warn(message",{"_index":13611,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{}}}],["warning",{"_index":15685,"title":{},"body":{"injectables/Logger.html":{}}}],["warning(loggable",{"_index":15694,"title":{},"body":{"injectables/Logger.html":{}}}],["warranties",{"_index":24751,"title":{},"body":{"license.html":{}}}],["warranty",{"_index":24750,"title":{},"body":{"license.html":{}}}],["watch",{"_index":25250,"title":{},"body":{"todo.html":{}}}],["way",{"_index":3940,"title":{},"body":{"injectables/BoardNodeRepo.html":{},"injectables/CourseCopyUC.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"injectables/LdapStrategy.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["ways",{"_index":24873,"title":{},"body":{"license.html":{}}}],["web",{"_index":5995,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{}}}],["weblink",{"_index":6023,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["websocket",{"_index":22152,"title":{},"body":{"classes/TestConnection.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["websocket(`${wsurl",{"_index":22158,"title":{},"body":{"classes/TestConnection.html":{}}}],["websocket(`${wsurl}/${docname",{"_index":22157,"title":{},"body":{"classes/TestConnection.html":{}}}],["websocketgateway",{"_index":22384,"title":{},"body":{"classes/TldrawWs.html":{}}}],["websocketgateway(socket_port",{"_index":22387,"title":{},"body":{"classes/TldrawWs.html":{}}}],["websocketserver",{"_index":22378,"title":{},"body":{"classes/TldrawWs.html":{}}}],["weights",{"_index":5337,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["weird",{"_index":7795,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{}}}],["welcome",{"_index":2166,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{}}}],["well",{"_index":24736,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["wellknownurl",{"_index":14654,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["wenn",{"_index":24276,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["went",{"_index":13648,"title":{},"body":{"classes/IdTokenCreationLoggableException.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["werden",{"_index":5518,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["wether",{"_index":26081,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["whatever",{"_index":20140,"title":{},"body":{"classes/ServerConsole.html":{},"license.html":{}}}],["whereas",{"_index":25480,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["wherelastloginsystemchangeisbetween",{"_index":23270,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserScope.html":{}}}],["wherelastloginsystemchangeisbetween(startdate",{"_index":23865,"title":{},"body":{"classes/UserScope.html":{}}}],["wherelastloginsystemchangesmallerthan",{"_index":23860,"title":{},"body":{"classes/UserScope.html":{}}}],["wherelastloginsystemchangesmallerthan(date",{"_index":23867,"title":{},"body":{"classes/UserScope.html":{}}}],["wherelastloginsystemchangesmallerthan(query.lastloginsystemchangesmallerthan",{"_index":23269,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["wherever",{"_index":15124,"title":{},"body":{"injectables/LegacyLogger.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["whether",{"_index":7988,"title":{},"body":{"classes/CreateSubmissionItemBodyParams.html":{},"injectables/TldrawWsService.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReferenceResponse.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"license.html":{}}}],["whitelist",{"_index":12594,"title":{},"body":{"classes/GlobalValidationPipe.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{}}}],["whitelisted",{"_index":14304,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["whitespace",{"_index":16370,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["whole",{"_index":16699,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"classes/ReferencesService.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["whos",{"_index":20796,"title":{},"body":{"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["whose",{"_index":24913,"title":{},"body":{"license.html":{}}}],["wichtige",{"_index":5510,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["widely",{"_index":24763,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["widespread",{"_index":24684,"title":{},"body":{"license.html":{}}}],["width",{"_index":7171,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileOptions.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"interfaces/PreviewResponseMessage.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["width=100",{"_index":6021,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["wildfly",{"_index":25901,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["willkommen",{"_index":5497,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["window",{"_index":24770,"title":{},"body":{"license.html":{},"todo.html":{}}}],["windowfeatures",{"_index":6020,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["windows",{"_index":25227,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["winston",{"_index":9874,"title":{},"body":{"injectables/ErrorLogger.html":{},"injectables/LegacyLogger.html":{},"injectables/Logger.html":{},"modules/LoggerModule.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["winston.config.syslog.levels",{"_index":15710,"title":{},"body":{"modules/LoggerModule.html":{}}}],["winston.format.combine",{"_index":15717,"title":{},"body":{"modules/LoggerModule.html":{}}}],["winston.format.ms",{"_index":15723,"title":{},"body":{"modules/LoggerModule.html":{}}}],["winston.format.timestamp",{"_index":15718,"title":{},"body":{"modules/LoggerModule.html":{}}}],["winston.transports.console",{"_index":15714,"title":{},"body":{"modules/LoggerModule.html":{}}}],["winston_module_provider",{"_index":9873,"title":{},"body":{"injectables/ErrorLogger.html":{},"injectables/LegacyLogger.html":{},"injectables/Logger.html":{}}}],["winstonlogger",{"_index":9863,"title":{},"body":{"injectables/ErrorLogger.html":{},"injectables/LegacyLogger.html":{},"injectables/Logger.html":{}}}],["winstonmodule",{"_index":15706,"title":{},"body":{"modules/LoggerModule.html":{}}}],["winstonmodule.forrootasync",{"_index":15708,"title":{},"body":{"modules/LoggerModule.html":{}}}],["wip",{"_index":24616,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["wipo",{"_index":24815,"title":{},"body":{"license.html":{}}}],["wir",{"_index":5505,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["wired",{"_index":25805,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["wish",{"_index":24665,"title":{},"body":{"license.html":{}}}],["withbase64logo",{"_index":8242,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["withbasicconfig",{"_index":10246,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["withcredentials",{"_index":13423,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["withcustomparameters",{"_index":10265,"title":{},"body":{"classes/ExternalToolFactory.html":{}}}],["withcustomparameters(number",{"_index":8239,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["witherror",{"_index":2076,"title":{},"body":{"classes/AxiosErrorFactory.html":{}}}],["witherror(error",{"_index":2077,"title":{},"body":{"classes/AxiosErrorFactory.html":{}}}],["withexternaldata",{"_index":16923,"title":{},"body":{"classes/Oauth2ToolConfigFactory.html":{}}}],["withexternaldata(oauth2params",{"_index":8205,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["withguestpolicy",{"_index":2204,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["withguestpolicy(guestpolicy",{"_index":2210,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["withid",{"_index":20337,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["withid(id",{"_index":20338,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["within",{"_index":4204,"title":{},"body":{"classes/BusinessError.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/PatchOrderParams.html":{},"classes/RoomElementUrlParams.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["withindexes",{"_index":8758,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["withldapconfig",{"_index":21103,"title":{},"body":{"classes/SystemEntityFactory.html":{},"classes/SystemScope.html":{}}}],["withldapconfig(otherparams",{"_index":21106,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["withlogouturl",{"_index":2205,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["withlogouturl(logouturl",{"_index":2212,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["withlogouturl(options.logouturl",{"_index":24123,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["withlti11config",{"_index":10247,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{}}}],["withlti11config(customparam",{"_index":8237,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["withmuteonstart",{"_index":2206,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["withmuteonstart(value",{"_index":2214,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["withname",{"_index":10248,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{},"classes/LtiToolFactory.html":{}}}],["withname(name",{"_index":10253,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{},"classes/LtiToolFactory.html":{}}}],["withoauth2config",{"_index":10249,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{}}}],["withoauth2config(clientid",{"_index":10255,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["withoauth2config(customparam",{"_index":8235,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["withoauthclientid",{"_index":15946,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["withoauthclientid(oauthclientid",{"_index":15948,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["withoauthconfig",{"_index":21104,"title":{},"body":{"classes/SystemEntityFactory.html":{},"classes/SystemScope.html":{}}}],["withoidcconfig",{"_index":21105,"title":{},"body":{"classes/SystemEntityFactory.html":{},"classes/SystemScope.html":{}}}],["without",{"_index":812,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/JwtPayload.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/TaskRepo.html":{},"injectables/TemporaryFileStorage.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["without/succeeds",{"_index":25223,"title":{},"body":{"todo.html":{}}}],["withoutcontext",{"_index":5445,"title":{},"body":{"classes/ColumnBoardFactory.html":{}}}],["withoutdatedsince",{"_index":23861,"title":{},"body":{"classes/UserScope.html":{}}}],["withoutdatedsince(date",{"_index":23869,"title":{},"body":{"classes/UserScope.html":{}}}],["withoutdatedsince(query.outdatedsince",{"_index":23273,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["withrole",{"_index":2278,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{},"classes/UserFactory.html":{}}}],["withrole(role",{"_index":23362,"title":{},"body":{"classes/UserFactory.html":{}}}],["withrole(value",{"_index":2282,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["withroleanduserid",{"_index":21879,"title":{},"body":{"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{}}}],["withroleanduserid(role",{"_index":21881,"title":{},"body":{"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{}}}],["withrolebyname",{"_index":23358,"title":{},"body":{"classes/UserFactory.html":{}}}],["withrolebyname(name",{"_index":23364,"title":{},"body":{"classes/UserFactory.html":{}}}],["withroles",{"_index":23325,"title":{},"body":{"classes/UserDoFactory.html":{}}}],["withroles(roles",{"_index":23326,"title":{},"body":{"classes/UserDoFactory.html":{}}}],["withschoolexternaltoolref",{"_index":6760,"title":{},"body":{"classes/ContextExternalToolFactory.html":{}}}],["withschoolexternaltoolref(schooltoolid",{"_index":6761,"title":{},"body":{"classes/ContextExternalToolFactory.html":{}}}],["withschoolid",{"_index":19684,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["withschoolid(schoolid",{"_index":19685,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["withsystemid",{"_index":503,"title":{},"body":{"classes/AccountFactory.html":{}}}],["withsystemid(id",{"_index":518,"title":{},"body":{"classes/AccountFactory.html":{}}}],["withteamuser",{"_index":21880,"title":{},"body":{"classes/TeamFactory.html":{}}}],["withteamuser(teamuser",{"_index":21883,"title":{},"body":{"classes/TeamFactory.html":{}}}],["withuser",{"_index":504,"title":{},"body":{"classes/AccountFactory.html":{}}}],["withuser(user",{"_index":520,"title":{},"body":{"classes/AccountFactory.html":{}}}],["withuserid",{"_index":2279,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{},"classes/TeamUserFactory.html":{}}}],["withuserid(currentuserid",{"_index":24231,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["withuserid(userid",{"_index":21989,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["withuserid(value",{"_index":2284,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["withuserids",{"_index":4655,"title":{},"body":{"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/DeletionRequestFactory.html":{}}}],["withuserids(id",{"_index":9307,"title":{},"body":{"classes/DeletionRequestFactory.html":{}}}],["withuserids(userids",{"_index":4656,"title":{},"body":{"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{}}}],["withwelcome",{"_index":2207,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["withwelcome(welcome",{"_index":2216,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["wont_check",{"_index":7093,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["word",{"_index":25619,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["words",{"_index":5341,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["work",{"_index":816,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"injectables/SymetricKeyEncryptionService.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["work's",{"_index":24774,"title":{},"body":{"license.html":{}}}],["worker",{"_index":9687,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["worker.manufacture",{"_index":9688,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["working",{"_index":4890,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["workings",{"_index":25645,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["works",{"_index":12355,"title":{},"body":{"classes/FilterNewsParams.html":{},"classes/H5PContentFactory.html":{},"injectables/NewsRepo.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["worldwide",{"_index":25068,"title":{},"body":{"license.html":{}}}],["wouldn't",{"_index":1830,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["wrap",{"_index":2933,"title":{},"body":{"entities/Board.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["wrap(dashboard).toreference",{"_index":8493,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{}}}],["wrap(modelentity).init",{"_index":8602,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["wrap(props.course).toreference",{"_index":2954,"title":{},"body":{"entities/Board.html":{}}}],["wrap(props.school).toreference",{"_index":13796,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["wrap(props.system).toreference",{"_index":13797,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["wrap(props.user).toreference",{"_index":8500,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["wrapped",{"_index":25654,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["wrappedreference",{"_index":2925,"title":{},"body":{"entities/Board.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["wrapper",{"_index":5930,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["writable",{"_index":9501,"title":{},"body":{"classes/DoBaseFactory.html":{}}}],["write",{"_index":1784,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"injectables/FileSystemAdapter.html":{},"injectables/LessonRule.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/TaskUC.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["write(requiredpermissions",{"_index":1789,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["write/read",{"_index":25981,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["writecourseids",{"_index":21827,"title":{},"body":{"injectables/TaskUC.html":{}}}],["writecourses",{"_index":21824,"title":{},"body":{"injectables/TaskUC.html":{}}}],["writecourses.includes(c",{"_index":21826,"title":{},"body":{"injectables/TaskUC.html":{}}}],["writecourses.map((c",{"_index":21828,"title":{},"body":{"injectables/TaskUC.html":{}}}],["writefile",{"_index":11998,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["writefile(filepath",{"_index":12026,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["writelessons",{"_index":21833,"title":{},"body":{"injectables/TaskUC.html":{}}}],["writen",{"_index":26061,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["writer.module",{"_index":20147,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["writer.module.ts",{"_index":6337,"title":{},"body":{"modules/ConsoleWriterModule.html":{}}}],["writer.service",{"_index":6338,"title":{},"body":{"modules/ConsoleWriterModule.html":{},"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["writer.service.ts",{"_index":6339,"title":{},"body":{"injectables/ConsoleWriterService.html":{}}}],["writer.service.ts:5",{"_index":6341,"title":{},"body":{"injectables/ConsoleWriterService.html":{}}}],["writer/console",{"_index":6336,"title":{},"body":{"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{},"modules/ServerConsoleModule.html":{}}}],["writestate",{"_index":22398,"title":{},"body":{"classes/TldrawWs.html":{}}}],["writestate(doc.name",{"_index":22476,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["writesyncstep1",{"_index":22460,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["writesyncstep1(encoder",{"_index":22528,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["writeupdate",{"_index":22461,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["writeupdate(encoder",{"_index":22490,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["writing",{"_index":25145,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["written",{"_index":24880,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["wrong",{"_index":8698,"title":{},"body":{"injectables/DashboardUc.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["wrongly",{"_index":26048,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["ws",{"_index":22153,"title":{},"body":{"classes/TestConnection.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"classes/WsSharedDocDo.html":{},"dependencies.html":{}}}],["ws.binarytype",{"_index":22510,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["ws.close",{"_index":22479,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["ws.module",{"_index":22369,"title":{},"body":{"modules/TldrawTestModule.html":{}}}],["ws.module.ts",{"_index":22417,"title":{},"body":{"modules/TldrawWsModule.html":{}}}],["ws.on('close",{"_index":22526,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["ws.on('message",{"_index":22515,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["ws.on('open",{"_index":22159,"title":{},"body":{"classes/TestConnection.html":{}}}],["ws.on('pong",{"_index":22527,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["ws.ping",{"_index":22524,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["ws://localhost:${gatewayport",{"_index":22156,"title":{},"body":{"classes/TestConnection.html":{}}}],["wsclosecodeenum",{"_index":22386,"title":{},"body":{"classes/TldrawWs.html":{}}}],["wsclosecodeenum.ws_client_bad_request_code",{"_index":22393,"title":{},"body":{"classes/TldrawWs.html":{}}}],["wsconnection",{"_index":24360,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["wsconnectionstate",{"_index":22463,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["wsconnectionstate.connecting",{"_index":22482,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["wsconnectionstate.open",{"_index":22483,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["wsmessagetype",{"_index":22464,"title":{},"body":{"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["wsmessagetype.awareness",{"_index":22506,"title":{},"body":{"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["wsmessagetype.sync",{"_index":22489,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["wsshareddocdo",{"_index":22224,"title":{"classes/WsSharedDocDo.html":{}},"body":{"injectables/TldrawBoardRepo.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["wsshareddocdo(docname",{"_index":22495,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["wsurl",{"_index":22155,"title":{},"body":{"classes/TestConnection.html":{}}}],["www",{"_index":14673,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthAdapterService.html":{}}}],["wünsche",{"_index":5552,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["x",{"_index":1170,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"interfaces/CalendarEvent.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"injectables/DashboardModelMapper.html":{},"classes/DashboardResponse.html":{},"injectables/DeletionClient.html":{},"classes/DomainObjectFactory.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["xapikey",{"_index":22174,"title":{},"body":{"classes/TestXApiKeyClient.html":{}}}],["xapikeyconfig",{"_index":9230,"title":{"interfaces/XApiKeyConfig.html":{}},"body":{"modules/DeletionModule.html":{},"interfaces/ServerConfig.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{}}}],["xapikeystrategy",{"_index":1534,"title":{"injectables/XApiKeyStrategy.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/XApiKeyStrategy.html":{}}}],["xml",{"_index":7047,"title":{},"body":{"injectables/ConverterUtil.html":{}}}],["xml2js",{"_index":5826,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["xml2json",{"_index":7048,"title":{},"body":{"injectables/ConverterUtil.html":{}}}],["xml2json(xml",{"_index":7050,"title":{},"body":{"injectables/ConverterUtil.html":{}}}],["xml2object",{"_index":7044,"title":{},"body":{"injectables/ConverterUtil.html":{}}}],["xml2object(xml",{"_index":7045,"title":{},"body":{"injectables/ConverterUtil.html":{}}}],["xmlbuilder",{"_index":5806,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["xmlns",{"_index":5877,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["xmlns:blti",{"_index":5878,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xmlns:ext",{"_index":5939,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["xmlns:lticm",{"_index":5879,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xmlns:lticp",{"_index":5880,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xmlns:mnf",{"_index":5935,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["xmlns:res",{"_index":5937,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["xmlns:xsi",{"_index":5881,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["xpos",{"_index":8475,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{}}}],["xposition",{"_index":8508,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{}}}],["xsd/imsbasiclti_v1p0",{"_index":5911,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsd/imslticc_v1p0",{"_index":5910,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsd/imslticm_v1p0",{"_index":5912,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsd/imslticp_v1p0",{"_index":5913,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsd/lti/ltiv1p0/imsbasiclti_v1p0.xsd",{"_index":5915,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsd/lti/ltiv1p0/imslticc_v1p0.xsd",{"_index":5914,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsd/lti/ltiv1p0/imslticm_v1p0.xsd",{"_index":5916,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsd/lti/ltiv1p0/imslticp_v1p0.xsd",{"_index":5917,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsi:schemalocation",{"_index":5884,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["xxxx",{"_index":25831,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["y",{"_index":8298,"title":{},"body":{"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"injectables/DashboardModelMapper.html":{},"classes/DashboardResponse.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{},"dependencies.html":{}}}],["y.doc",{"_index":22435,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["yagni",{"_index":25433,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["yagni.more",{"_index":25635,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["yaml",{"_index":13297,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["ydoc",{"_index":22223,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{}}}],["ydoc.on('update",{"_index":22271,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["ydocument",{"_index":22475,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["year",{"_index":4560,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{}}}],["year.service.ts",{"_index":20074,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["year.service.ts:11",{"_index":20079,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["year.service.ts:17",{"_index":20078,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["year.service.ts:7",{"_index":20077,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["yearfrom",{"_index":6542,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["years",{"_index":20065,"title":{},"body":{"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"license.html":{}}}],["yearto",{"_index":6543,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["yes",{"_index":59,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AccountFactory.html":{},"classes/AccountSearchListResponse.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerTestModule.html":{},"classes/AuthCodeFailureLoggableException.html":{},"injectables/AuthenticationService.html":{},"classes/AuthorizationError.html":{},"classes/BaseDO.html":{},"classes/BaseFactory.html":{},"classes/BaseUc.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardComposite.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoService.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardUc.html":{},"classes/BusinessError.html":{},"classes/Card.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"controllers/ColumnController.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"injectables/CourseRepo.html":{},"injectables/CourseUc.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomParameterFactory.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"injectables/ElementUc.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolSearchListResponse.html":{},"injectables/ExternalToolService.html":{},"interfaces/FeathersService.html":{},"classes/FileElement.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"injectables/FileRecordRepo.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageTestModule.html":{},"classes/ForbiddenOperationError.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{},"classes/H5PContentFactory.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"interfaces/ILegacyLogger.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementService.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"injectables/ImportUserRepo.html":{},"classes/JwtTestFactory.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConnectionError.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySystemService.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"classes/LinkElement.html":{},"injectables/LocalStrategy.html":{},"classes/LoggingUtils.html":{},"classes/LoginResponseMapper.html":{},"classes/LtiToolFactory.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/NewsListResponse.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/OAuthService.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OidcProvisioningService.html":{},"classes/PaginationResponse.html":{},"injectables/PreviewService.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextElement.html":{},"classes/RocketChatUserFactory.html":{},"interfaces/Rule.html":{},"injectables/S3ClientAdapter.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenFactory.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/StorageProviderEncryptedStringType.html":{},"classes/StringValidator.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/SystemEntityFactory.html":{},"injectables/SystemUc.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsTestModule.html":{},"classes/UnauthorizedLoggableException.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"classes/ValidationError.html":{}}}],["yesterday",{"_index":11812,"title":{},"body":{"classes/FileRecordFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/TaskFactory.html":{}}}],["yet.'})@apiresponse({status",{"_index":24148,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["yjs",{"_index":22240,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"classes/WsSharedDocDo.html":{},"dependencies.html":{}}}],["your.config.ts",{"_index":26091,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["your.module.ts",{"_index":26095,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["your.service.ts",{"_index":26093,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["your_s3_uniq_connection_token",{"_index":26092,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["yourloggable",{"_index":25588,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["yourloggable(userid",{"_index":25593,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["yourmodule",{"_index":26096,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["yourself",{"_index":25082,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["yourservice",{"_index":25623,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["youruc",{"_index":25589,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["ypos",{"_index":8476,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{}}}],["yposition",{"_index":8509,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{}}}],["yyyy",{"_index":15719,"title":{},"body":{"modules/LoggerModule.html":{}}}],["z0",{"_index":22079,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["z]+)$/i",{"_index":7891,"title":{},"body":{"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["z]|[0",{"_index":12484,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{}}}],["za",{"_index":12483,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{},"injectables/TemporaryFileStorage.html":{}}}],["zip",{"_index":5825,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"dependencies.html":{}}}],["zipbuilder",{"_index":5807,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["zoom",{"_index":269,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"modules/DatabaseManagementModule.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FeathersModule.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolModule.html":{},"modules/LessonApiModule.html":{},"modules/LessonModule.html":{},"modules/LoggerModule.html":{},"modules/LtiToolModule.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/NewsModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/OauthProviderServiceModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"modules/PseudonymModule.html":{},"modules/RedisModule.html":{},"modules/RegistrationPinModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{}}}],["zu",{"_index":5525,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["zum",{"_index":5528,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["zusammengefasst",{"_index":5534,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}]],"pipeline":["stemmer"]}, - "store": {"classes/AbstractAccountService.html":{"url":"classes/AbstractAccountService.html","title":"class - AbstractAccountService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AbstractAccountService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/services/account.service.abstract.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Abstract\n delete\n \n \n Abstract\n deleteByUserId\n \n \n Abstract\n findById\n \n \n Abstract\n findByUserId\n \n \n Abstract\n findByUserIdOrFail\n \n \n Abstract\n findByUsernameAndSystemId\n \n \n Abstract\n findMany\n \n \n Abstract\n findMultipleByUserId\n \n \n Abstract\n save\n \n \n Abstract\n searchByUsernameExactMatch\n \n \n Abstract\n searchByUsernamePartialMatch\n \n \n Abstract\n updateLastTriedFailedLogin\n \n \n Abstract\n updatePassword\n \n \n Abstract\n updateUsername\n \n \n Abstract\n validatePassword\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Abstract\n delete\n \n \n \n \n \n \n \n delete(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n deleteByUserId\n \n \n \n \n \n \n \n deleteByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n findByUserId\n \n \n \n \n \n \n \n findByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n findByUserIdOrFail\n \n \n \n \n \n \n \n findByUserIdOrFail(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n findByUsernameAndSystemId\n \n \n \n \n \n \n \n findByUsernameAndSystemId(username: string, systemId: EntityId | ObjectId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n findMany\n \n \n \n \n \n \n For migration purpose only\n \n \n \n \n \n findMany(offset?: number, limit?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n offset\n \n number\n \n\n \n Yes\n \n\n\n \n \n limit\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n findMultipleByUserId\n \n \n \n \n \n \n \n findMultipleByUserId(userIds: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n save\n \n \n \n \n \n \n \n save(accountDto: AccountSaveDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountDto\n \n AccountSaveDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n searchByUsernameExactMatch\n \n \n \n \n \n \n \n searchByUsernameExactMatch(userName: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n searchByUsernamePartialMatch\n \n \n \n \n \n \n \n searchByUsernamePartialMatch(userName: string, skip: number, limit: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userName\n \n string\n \n\n \n No\n \n\n\n \n \n skip\n \n number\n \n\n \n No\n \n\n\n \n \n limit\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n updateLastTriedFailedLogin\n \n \n \n \n \n \n Used for brute force detection, but will become subject to IDM thus be removed.\n \n \n \n \n \n updateLastTriedFailedLogin(accountId: EntityId, lastTriedFailedLogin: Date)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n lastTriedFailedLogin\n \n Date\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n updatePassword\n \n \n \n \n \n \n \n updatePassword(accountId: EntityId, password: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n password\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n updateUsername\n \n \n \n \n \n \n \n updateUsername(accountId: EntityId, username: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n validatePassword\n \n \n \n \n \n \n \n validatePassword(account: AccountDto, comparePassword: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n AccountDto\n \n\n \n No\n \n\n\n \n \n comparePassword\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { AccountDto, AccountSaveDto } from './dto';\n\nexport abstract class AbstractAccountService {\n\tabstract findById(id: EntityId): Promise;\n\n\tabstract findMultipleByUserId(userIds: EntityId[]): Promise;\n\n\tabstract findByUserId(userId: EntityId): Promise;\n\n\tabstract findByUserIdOrFail(userId: EntityId): Promise;\n\n\tabstract findByUsernameAndSystemId(username: string, systemId: EntityId | ObjectId): Promise;\n\n\tabstract save(accountDto: AccountSaveDto): Promise;\n\n\tabstract updateUsername(accountId: EntityId, username: string): Promise;\n\n\t/**\n\t * @deprecated Used for brute force detection, but will become subject to IDM thus be removed.\n\t */\n\tabstract updateLastTriedFailedLogin(accountId: EntityId, lastTriedFailedLogin: Date): Promise;\n\n\tabstract updatePassword(accountId: EntityId, password: string): Promise;\n\n\tabstract delete(id: EntityId): Promise;\n\n\tabstract deleteByUserId(userId: EntityId): Promise;\n\n\tabstract searchByUsernamePartialMatch(userName: string, skip: number, limit: number): Promise>;\n\n\tabstract searchByUsernameExactMatch(userName: string): Promise>;\n\n\tabstract validatePassword(account: AccountDto, comparePassword: string): Promise;\n\t/**\n\t * @deprecated For migration purpose only\n\t */\n\tabstract findMany(offset?: number, limit?: number): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AbstractUrlHandler.html":{"url":"classes/AbstractUrlHandler.html","title":"class - AbstractUrlHandler","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AbstractUrlHandler\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/service/url-handler/abstract-url-handler.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Abstract\n patterns\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n doesUrlMatch\n \n \n Protected\n extractId\n \n \n getDefaultMetaData\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Abstract\n patterns\n \n \n \n \n \n \n Type : RegExp[]\n\n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/abstract-url-handler.ts:5\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n doesUrlMatch\n \n \n \n \n \n \ndoesUrlMatch(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/abstract-url-handler.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n extractId\n \n \n \n \n \n \n \n extractId(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/abstract-url-handler.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getDefaultMetaData\n \n \n \n \n \n \ngetDefaultMetaData(url: string, partial: Partial)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/abstract-url-handler.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n partial\n \n Partial\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : MetaData\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { basename } from 'node:path';\nimport { MetaData } from '../../types';\n\nexport abstract class AbstractUrlHandler {\n\tprotected abstract patterns: RegExp[];\n\n\tprotected extractId(url: string): string | undefined {\n\t\tconst results: RegExpMatchArray = this.patterns\n\t\t\t.map((pattern: RegExp) => pattern.exec(url))\n\t\t\t.filter((result) => result !== null)\n\t\t\t.find((result) => (result?.length ?? 0) >= 2) as RegExpMatchArray;\n\n\t\tif (results && results[1]) {\n\t\t\treturn results[1];\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tdoesUrlMatch(url: string): boolean {\n\t\tconst doesMatch = this.patterns.some((pattern) => pattern.test(url));\n\t\treturn doesMatch;\n\t}\n\n\tgetDefaultMetaData(url: string, partial: Partial = {}): MetaData {\n\t\tconst urlObject = new URL(url);\n\t\tconst title = basename(urlObject.pathname);\n\t\treturn {\n\t\t\ttitle,\n\t\t\tdescription: '',\n\t\t\turl,\n\t\t\ttype: 'unknown',\n\t\t\t...partial,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AcceptConsentRequestBody.html":{"url":"interfaces/AcceptConsentRequestBody.html","title":"interface - AcceptConsentRequestBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AcceptConsentRequestBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/oauth-provider/dto/request/accept-consent-request.body.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n grant_access_token_audience\n \n \n \n Optional\n \n grant_scope\n \n \n \n Optional\n \n handled_at\n \n \n \n Optional\n \n remember\n \n \n \n Optional\n \n remember_for\n \n \n \n Optional\n \n session\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n grant_access_token_audience\n \n \n \n \n \n \n \n \n grant_access_token_audience: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n grant_scope\n \n \n \n \n \n \n \n \n grant_scope: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n handled_at\n \n \n \n \n \n \n \n \n handled_at: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n remember\n \n \n \n \n \n \n \n \n remember: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n remember_for\n \n \n \n \n \n \n \n \n remember_for: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n session\n \n \n \n \n \n \n \n \n session: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { IdToken } from '@modules/oauth-provider/interface/id-token';\n\nexport interface AcceptConsentRequestBody {\n\tgrant_access_token_audience?: string[];\n\n\tgrant_scope?: string[];\n\n\thandled_at?: string;\n\n\tremember?: boolean;\n\n\tremember_for?: number;\n\n\tsession?: {\n\t\taccess_token?: string;\n\n\t\tid_token?: IdToken;\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AcceptLoginRequestBody.html":{"url":"interfaces/AcceptLoginRequestBody.html","title":"interface - AcceptLoginRequestBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AcceptLoginRequestBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/oauth-provider/dto/request/accept-login-request.body.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n acr\n \n \n \n Optional\n \n amr\n \n \n \n Optional\n \n context\n \n \n \n Optional\n \n force_subject_identifier\n \n \n \n Optional\n \n remember\n \n \n \n Optional\n \n remember_for\n \n \n \n Optional\n \n subject\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n acr\n \n \n \n \n \n \n \n \n acr: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n amr\n \n \n \n \n \n \n \n \n amr: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n context\n \n \n \n \n \n \n \n \n context: object\n\n \n \n\n\n \n \n Type : object\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n force_subject_identifier\n \n \n \n \n \n \n \n \n force_subject_identifier: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n remember\n \n \n \n \n \n \n \n \n remember: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n remember_for\n \n \n \n \n \n \n \n \n remember_for: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n subject\n \n \n \n \n \n \n \n \n subject: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface AcceptLoginRequestBody {\n\tsubject?: string;\n\n\tacr?: string;\n\n\tamr?: string[];\n\n\tcontext?: object;\n\n\tforce_subject_identifier?: string;\n\n\tremember?: boolean;\n\n\tremember_for?: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AcceptQuery.html":{"url":"classes/AcceptQuery.html","title":"class - AcceptQuery","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AcceptQuery\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/request/accept.query.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n accept\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n accept\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@StringToBoolean()@ApiPropertyOptional({description: 'Accepts the login request.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/accept.query.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsBoolean } from 'class-validator';\nimport { ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller/index';\n\nexport class AcceptQuery {\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({ description: 'Accepts the login request.', required: true, nullable: false })\n\taccept!: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/Account.html":{"url":"entities/Account.html","title":"entity - Account","body":"\n \n\n\n\n\n\n\n\n Entities\n Account\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/account.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n activated\n \n \n \n Optional\n credentialHash\n \n \n \n Optional\n expiresAt\n \n \n \n Optional\n lasttriedFailedLogin\n \n \n \n Optional\n password\n \n \n \n Optional\n systemId\n \n \n \n Optional\n token\n \n \n \n Optional\n userId\n \n \n \n \n username\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n activated\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/account.entity.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n credentialHash\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/account.entity.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n expiresAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/account.entity.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n lasttriedFailedLogin\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/account.entity.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n password\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/account.entity.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n systemId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/account.entity.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n token\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/account.entity.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n userId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true, unique: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/account.entity.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/account.entity.ts:12\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property, Index } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport type IdmAccountProperties = Readonly>;\n\n@Entity({ tableName: 'accounts' })\n@Index({ properties: ['userId', 'systemId'] })\nexport class Account extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Index()\n\tusername!: string;\n\n\t@Property({ nullable: true })\n\tpassword?: string;\n\n\t@Property({ nullable: true })\n\ttoken?: string;\n\n\t@Property({ nullable: true })\n\tcredentialHash?: string;\n\n\t@Property({ nullable: true, unique: false })\n\tuserId?: ObjectId;\n\n\t@Property({ nullable: true })\n\tsystemId?: ObjectId;\n\n\t@Property({ nullable: true })\n\tlasttriedFailedLogin?: Date;\n\n\t@Property({ nullable: true })\n\texpiresAt?: Date;\n\n\t@Property({ nullable: true })\n\tactivated?: boolean;\n\n\tconstructor(props: IdmAccountProperties) {\n\t\tsuper();\n\t\tthis.username = props.username;\n\t\tthis.password = props.password;\n\t\tthis.token = props.token;\n\t\tthis.credentialHash = props.credentialHash;\n\t\tthis.userId = props.userId;\n\t\tthis.systemId = props.systemId;\n\t\tthis.lasttriedFailedLogin = props.lasttriedFailedLogin;\n\t\tthis.expiresAt = props.expiresAt;\n\t\tthis.activated = props.activated;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AccountApiModule.html":{"url":"modules/AccountApiModule.html","title":"module - AccountApiModule","body":"\n \n\n\n\n\n Modules\n AccountApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_AccountApiModule\n\n\n\ncluster_AccountApiModule_imports\n\n\n\ncluster_AccountApiModule_providers\n\n\n\n\nAccountModule\n\nAccountModule\n\n\n\nAccountApiModule\n\nAccountApiModule\n\nAccountApiModule -->\n\nAccountModule->AccountApiModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nAccountApiModule -->\n\nLoggerModule->AccountApiModule\n\n\n\n\n\nAccountUc\n\nAccountUc\n\nAccountApiModule -->\n\nAccountUc->AccountApiModule\n\n\n\n\n\nPermissionService\n\nPermissionService\n\nAccountApiModule -->\n\nPermissionService->AccountApiModule\n\n\n\n\n\nUserRepo\n\nUserRepo\n\nAccountApiModule -->\n\nUserRepo->AccountApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/account/account-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n AccountUc\n \n \n PermissionService\n \n \n UserRepo\n \n \n \n \n Controllers\n \n \n AccountController\n \n \n \n \n Imports\n \n \n AccountModule\n \n \n LoggerModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { PermissionService } from '@shared/domain/service';\nimport { UserRepo } from '@shared/repo';\nimport { LoggerModule } from '../../core/logger/logger.module';\nimport { AccountModule } from './account.module';\nimport { AccountController } from './controller/account.controller';\nimport { AccountUc } from './uc/account.uc';\n\n@Module({\n\timports: [AccountModule, LoggerModule],\n\tproviders: [UserRepo, PermissionService, AccountUc],\n\tcontrollers: [AccountController],\n\texports: [],\n})\nexport class AccountApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountByIdBodyParams.html":{"url":"classes/AccountByIdBodyParams.html","title":"class - AccountByIdBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountByIdBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/controller/dto/account-by-id.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n activated\n \n \n \n \n \n \n \n Optional\n password\n \n \n \n \n \n \n Optional\n username\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n activated\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsBoolean()@ApiProperty({description: 'The new activation state of the user.', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account-by-id.body.params.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n password\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @PrivacyProtect()@IsOptional()@IsString()@Matches(passwordPattern)@ApiProperty({description: 'The new password for the user.', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account-by-id.body.params.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n username\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()@IsEmail()@ApiProperty({description: 'The new user name for the user.', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account-by-id.body.params.ts:15\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { PrivacyProtect } from '@shared/controller';\nimport { IsBoolean, IsString, IsOptional, Matches, IsEmail } from 'class-validator';\nimport { passwordPattern } from './password-pattern';\n\nexport class AccountByIdBodyParams {\n\t@IsOptional()\n\t@IsString()\n\t@IsEmail()\n\t@ApiProperty({\n\t\tdescription: 'The new user name for the user.',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\tusername?: string;\n\n\t@PrivacyProtect()\n\t@IsOptional()\n\t@IsString()\n\t@Matches(passwordPattern)\n\t@ApiProperty({\n\t\tdescription: 'The new password for the user.',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\tpassword?: string;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@ApiProperty({\n\t\tdescription: 'The new activation state of the user.',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\tactivated?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountByIdParams.html":{"url":"classes/AccountByIdParams.html","title":"class - AccountByIdParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountByIdParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/controller/dto/account-by-id.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({description: 'The id for the account.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account-by-id.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsString } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\n\nexport class AccountByIdParams {\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'The id for the account.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tid!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AccountConfig.html":{"url":"interfaces/AccountConfig.html","title":"interface - AccountConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AccountConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/account-config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n LOGIN_BLOCK_TIME\n \n \n \n \n TEACHER_STUDENT_VISIBILITY__IS_CONFIGURABLE\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n LOGIN_BLOCK_TIME\n \n \n \n \n \n \n \n \n LOGIN_BLOCK_TIME: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n TEACHER_STUDENT_VISIBILITY__IS_CONFIGURABLE\n \n \n \n \n \n \n \n \n TEACHER_STUDENT_VISIBILITY__IS_CONFIGURABLE: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface AccountConfig {\n\tLOGIN_BLOCK_TIME: number;\n\tTEACHER_STUDENT_VISIBILITY__IS_CONFIGURABLE: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/AccountController.html":{"url":"controllers/AccountController.html","title":"controller - AccountController","body":"\n \n\n\n\n\n\n\n Controllers\n AccountController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/controller/account.controller.ts\n \n\n \n Prefix\n \n \n account\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteAccountById\n \n \n \n \n \n \n \n \n Async\n findAccountById\n \n \n \n \n \n \n \n \n Async\n replaceMyPassword\n \n \n \n \n \n \n \n Async\n searchAccounts\n \n \n \n \n \n \n \n \n Async\n updateAccountById\n \n \n \n \n \n \n \n \n Async\n updateMyAccount\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteAccountById\n \n \n \n \n \n \n \n deleteAccountById(currentUser: ICurrentUser, params: AccountByIdParams)\n \n \n\n \n \n Decorators : \n \n @Delete(':id')@ApiOperation({summary: 'Deletes an account with given id. Superhero role is REQUIRED.'})@ApiResponse({status: 200, type: AccountResponse, description: 'Returns deleted account.'})@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiResponse({status: 403, type: ForbiddenOperationError, description: 'User is not a superhero.'})@ApiResponse({status: 404, type: EntityNotFoundError, description: 'Account not found.'})\n \n \n\n \n \n Defined in apps/server/src/modules/account/controller/account.controller.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n AccountByIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAccountById\n \n \n \n \n \n \n \n findAccountById(currentUser: ICurrentUser, params: AccountByIdParams)\n \n \n\n \n \n Decorators : \n \n @Get(':id')@ApiOperation({summary: 'Returns an account with given id. Superhero role is REQUIRED.'})@ApiResponse({status: 200, type: AccountResponse, description: 'Returns the account.'})@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiResponse({status: 403, type: ForbiddenOperationError, description: 'User is not a superhero.'})@ApiResponse({status: 404, type: EntityNotFoundError, description: 'Account not found.'})\n \n \n\n \n \n Defined in apps/server/src/modules/account/controller/account.controller.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n AccountByIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n replaceMyPassword\n \n \n \n \n \n \n \n replaceMyPassword(currentUser: ICurrentUser, params: PatchMyPasswordParams)\n \n \n\n \n \n Decorators : \n \n @Patch('me/password')@ApiOperation({summary: 'Updates the the temporary account password for the authenticated user.'})@ApiResponse({status: 200, description: 'Updated the temporary password successfully.'})@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiResponse({status: 403, type: ForbiddenOperationError, description: 'Invalid password.'})@ApiResponse({status: 404, type: EntityNotFoundError, description: 'Account or user not found.'})\n \n \n\n \n \n Defined in apps/server/src/modules/account/controller/account.controller.ts:97\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n PatchMyPasswordParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n searchAccounts\n \n \n \n \n \n \n \n searchAccounts(currentUser: ICurrentUser, query: AccountSearchQueryParams)\n \n \n\n \n \n Decorators : \n \n @Get()@ApiOperation({summary: 'Returns all accounts which satisfies the given criteria. For unlimited access Superhero role is REQUIRED.'})@ApiResponse({status: 200, type: AccountSearchListResponse, description: 'Returns a paged list of accounts.'})@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiResponse({status: 403, type: ForbiddenOperationError, description: 'User is not a superhero or administrator.'})\n \n \n\n \n \n Defined in apps/server/src/modules/account/controller/account.controller.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n query\n \n AccountSearchQueryParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateAccountById\n \n \n \n \n \n \n \n updateAccountById(currentUser: ICurrentUser, params: AccountByIdParams, body: AccountByIdBodyParams)\n \n \n\n \n \n Decorators : \n \n @Patch(':id')@ApiOperation({summary: 'Updates an account with given id. Superhero role is REQUIRED.'})@ApiResponse({status: 200, type: AccountResponse, description: 'Returns updated account.'})@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiResponse({status: 403, type: ForbiddenOperationError, description: 'User is not a superhero.'})@ApiResponse({status: 404, type: EntityNotFoundError, description: 'Account not found.'})\n \n \n\n \n \n Defined in apps/server/src/modules/account/controller/account.controller.ts:70\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n AccountByIdParams\n \n\n \n No\n \n\n\n \n \n body\n \n AccountByIdBodyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateMyAccount\n \n \n \n \n \n \n \n updateMyAccount(currentUser: ICurrentUser, params: PatchMyAccountParams)\n \n \n\n \n \n Decorators : \n \n @Patch('me')@ApiOperation({summary: 'Updates an account for the authenticated user.'})@ApiResponse({status: 200, description: 'Account was successfully updated.'})@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiResponse({status: 403, type: ForbiddenOperationError, description: 'Invalid password.'})@ApiResponse({status: 404, type: EntityNotFoundError, description: 'Account not found.'})\n \n \n\n \n \n Defined in apps/server/src/modules/account/controller/account.controller.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n PatchMyAccountParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Body, Controller, Delete, Get, Param, Patch, Query } from '@nestjs/common';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { EntityNotFoundError, ForbiddenOperationError, ValidationError } from '@shared/common';\nimport { ICurrentUser } from '@src/modules/authentication';\nimport { Authenticate, CurrentUser } from '@src/modules/authentication/decorator/auth.decorator';\nimport { AccountUc } from '../uc/account.uc';\nimport {\n\tAccountByIdBodyParams,\n\tAccountByIdParams,\n\tAccountResponse,\n\tAccountSearchListResponse,\n\tAccountSearchQueryParams,\n\tPatchMyAccountParams,\n\tPatchMyPasswordParams,\n} from './dto';\n\n@ApiTags('Account')\n@Authenticate('jwt')\n@Controller('account')\nexport class AccountController {\n\tconstructor(private readonly accountUc: AccountUc) {}\n\n\t@Get()\n\t@ApiOperation({\n\t\tsummary:\n\t\t\t'Returns all accounts which satisfies the given criteria. For unlimited access Superhero role is REQUIRED.',\n\t})\n\t@ApiResponse({ status: 200, type: AccountSearchListResponse, description: 'Returns a paged list of accounts.' })\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiResponse({ status: 403, type: ForbiddenOperationError, description: 'User is not a superhero or administrator.' })\n\tasync searchAccounts(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() query: AccountSearchQueryParams\n\t): Promise {\n\t\treturn this.accountUc.searchAccounts(currentUser, query);\n\t}\n\n\t@Get(':id')\n\t@ApiOperation({ summary: 'Returns an account with given id. Superhero role is REQUIRED.' })\n\t@ApiResponse({ status: 200, type: AccountResponse, description: 'Returns the account.' })\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiResponse({ status: 403, type: ForbiddenOperationError, description: 'User is not a superhero.' })\n\t@ApiResponse({ status: 404, type: EntityNotFoundError, description: 'Account not found.' })\n\tasync findAccountById(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: AccountByIdParams\n\t): Promise {\n\t\treturn this.accountUc.findAccountById(currentUser, params);\n\t}\n\n\t// IMPORTANT!!!\n\t// updateMyAccount has to occur before updateAccountById, because Nest.js\n\t// will always use the first path match and me will be treated as a path parameter\n\t@Patch('me')\n\t@ApiOperation({ summary: 'Updates an account for the authenticated user.' })\n\t@ApiResponse({ status: 200, description: 'Account was successfully updated.' })\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiResponse({ status: 403, type: ForbiddenOperationError, description: 'Invalid password.' })\n\t@ApiResponse({ status: 404, type: EntityNotFoundError, description: 'Account not found.' })\n\tasync updateMyAccount(@CurrentUser() currentUser: ICurrentUser, @Body() params: PatchMyAccountParams): Promise {\n\t\treturn this.accountUc.updateMyAccount(currentUser.userId, params);\n\t}\n\n\t@Patch(':id')\n\t@ApiOperation({ summary: 'Updates an account with given id. Superhero role is REQUIRED.' })\n\t@ApiResponse({ status: 200, type: AccountResponse, description: 'Returns updated account.' })\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiResponse({ status: 403, type: ForbiddenOperationError, description: 'User is not a superhero.' })\n\t@ApiResponse({ status: 404, type: EntityNotFoundError, description: 'Account not found.' })\n\tasync updateAccountById(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: AccountByIdParams,\n\t\t@Body() body: AccountByIdBodyParams\n\t): Promise {\n\t\treturn this.accountUc.updateAccountById(currentUser, params, body);\n\t}\n\n\t@Delete(':id')\n\t@ApiOperation({ summary: 'Deletes an account with given id. Superhero role is REQUIRED.' })\n\t@ApiResponse({ status: 200, type: AccountResponse, description: 'Returns deleted account.' })\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiResponse({ status: 403, type: ForbiddenOperationError, description: 'User is not a superhero.' })\n\t@ApiResponse({ status: 404, type: EntityNotFoundError, description: 'Account not found.' })\n\tasync deleteAccountById(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: AccountByIdParams\n\t): Promise {\n\t\treturn this.accountUc.deleteAccountById(currentUser, params);\n\t}\n\n\t@Patch('me/password')\n\t@ApiOperation({ summary: 'Updates the the temporary account password for the authenticated user.' })\n\t@ApiResponse({ status: 200, description: 'Updated the temporary password successfully.' })\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiResponse({ status: 403, type: ForbiddenOperationError, description: 'Invalid password.' })\n\t@ApiResponse({ status: 404, type: EntityNotFoundError, description: 'Account or user not found.' })\n\tasync replaceMyPassword(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() params: PatchMyPasswordParams\n\t): Promise {\n\t\treturn this.accountUc.replaceMyTemporaryPassword(currentUser.userId, params.password, params.confirmPassword);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountDto.html":{"url":"classes/AccountDto.html","title":"class - AccountDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/services/dto/account.dto.ts\n \n\n\n\n \n Extends\n \n \n AccountSaveDto\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n createdAt\n \n \n Readonly\n id\n \n \n Readonly\n updatedAt\n \n \n \n \n Optional\n activated\n \n \n \n \n Optional\n credentialHash\n \n \n \n \n Optional\n expiresAt\n \n \n \n Optional\n idmReferenceId\n \n \n \n \n Optional\n lasttriedFailedLogin\n \n \n \n \n \n Optional\n password\n \n \n \n \n Optional\n systemId\n \n \n \n \n Optional\n token\n \n \n \n \n Optional\n userId\n \n \n \n \n username\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: AccountDto)\n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account.dto.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n AccountDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n createdAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:7\n\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:5\n\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n updatedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:9\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n activated\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsBoolean()\n \n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:54\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n credentialHash\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()\n \n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:34\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n expiresAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsDate()\n \n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:50\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n idmReferenceId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()\n \n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:57\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n lasttriedFailedLogin\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsDate()\n \n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:46\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n password\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @PrivacyProtect()@IsOptional()@Matches(passwordPattern)\n \n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:26\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n systemId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsMongoId()\n \n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:42\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n token\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()\n \n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:30\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n userId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsMongoId()\n \n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:38\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()\n \n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:21\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { AccountSaveDto } from './account-save.dto';\n\nexport class AccountDto extends AccountSaveDto {\n\treadonly id: EntityId;\n\n\treadonly createdAt: Date;\n\n\treadonly updatedAt: Date;\n\n\tconstructor(props: AccountDto) {\n\t\tsuper(props);\n\t\tthis.id = props.id;\n\t\tthis.createdAt = props.createdAt;\n\t\tthis.updatedAt = props.updatedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountEntityToDtoMapper.html":{"url":"classes/AccountEntityToDtoMapper.html","title":"class - AccountEntityToDtoMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountEntityToDtoMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/mapper/account-entity-to-dto.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapAccountsToDto\n \n \n Static\n mapSearchResult\n \n \n Static\n mapToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapAccountsToDto\n \n \n \n \n \n \n \n mapAccountsToDto(accounts: Account[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/mapper/account-entity-to-dto.mapper.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accounts\n \n Account[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AccountDto[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapSearchResult\n \n \n \n \n \n \n \n mapSearchResult(accountEntities: [Account[], number])\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/mapper/account-entity-to-dto.mapper.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountEntities\n \n [Account[], number]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Counted\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToDto\n \n \n \n \n \n \n \n mapToDto(account: Account)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/mapper/account-entity-to-dto.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n Account\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AccountDto\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Account } from '@shared/domain/entity';\nimport { Counted } from '@shared/domain/types';\nimport { AccountDto } from '../services/dto/account.dto';\n\nexport class AccountEntityToDtoMapper {\n\tstatic mapToDto(account: Account): AccountDto {\n\t\treturn new AccountDto({\n\t\t\tid: account.id,\n\t\t\tcreatedAt: account.createdAt,\n\t\t\tupdatedAt: account.updatedAt,\n\t\t\tuserId: account.userId?.toString(),\n\t\t\tusername: account.username,\n\t\t\tactivated: account.activated,\n\t\t\tcredentialHash: account.credentialHash,\n\t\t\texpiresAt: account.expiresAt,\n\t\t\tlasttriedFailedLogin: account.lasttriedFailedLogin,\n\t\t\tpassword: account.password,\n\t\t\tsystemId: account.systemId?.toString(),\n\t\t\ttoken: account.token,\n\t\t});\n\t}\n\n\tstatic mapSearchResult(accountEntities: [Account[], number]): Counted {\n\t\tconst foundAccounts = accountEntities[0];\n\t\tconst accountDtos: AccountDto[] = AccountEntityToDtoMapper.mapAccountsToDto(foundAccounts);\n\t\treturn [accountDtos, accountEntities[1]];\n\t}\n\n\tstatic mapAccountsToDto(accounts: Account[]): AccountDto[] {\n\t\treturn accounts.map((accountEntity) => AccountEntityToDtoMapper.mapToDto(accountEntity));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountFactory.html":{"url":"classes/AccountFactory.html","title":"class - AccountFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/account.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withSystemId\n \n \n withUser\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withSystemId\n \n \n \n \n \n \nwithSystemId(id: EntityId | ObjectId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/account.factory.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withUser\n \n \n \n \n \n \nwithUser(user: User)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/account.factory.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Account, IdmAccountProperties, User } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\n\nimport { ObjectId } from 'bson';\nimport { DeepPartial } from 'fishery';\nimport { BaseFactory } from './base.factory';\n\nclass AccountFactory extends BaseFactory {\n\twithSystemId(id: EntityId | ObjectId): this {\n\t\tconst params: DeepPartial = { systemId: id };\n\n\t\treturn this.params(params);\n\t}\n\n\twithUser(user: User): this {\n\t\tif (!user.id) {\n\t\t\tthrow new Error('User does not have an id.');\n\t\t}\n\n\t\tconst params: DeepPartial = { userId: user.id };\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const defaultTestPassword = 'DummyPasswd!1';\nexport const defaultTestPasswordHash = '$2a$10$/DsztV5o6P5piW2eWJsxw.4nHovmJGBA.QNwiTmuZ/uvUc40b.Uhu';\n// !!! important username should not be contain a space !!!\nexport const accountFactory = AccountFactory.define(Account, ({ sequence }) => {\n\treturn {\n\t\tusername: `account${sequence}`,\n\t\tpassword: defaultTestPasswordHash,\n\t\tuserId: new ObjectId(),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AccountIdmToDtoMapper.html":{"url":"injectables/AccountIdmToDtoMapper.html","title":"injectable - AccountIdmToDtoMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AccountIdmToDtoMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/mapper/account-idm-to-dto.mapper.abstract.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Abstract\n mapToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Abstract\n mapToDto\n \n \n \n \n \n \n \n mapToDto(account: IdmAccount)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/mapper/account-idm-to-dto.mapper.abstract.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n IdmAccount\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AccountDto\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { IdmAccount } from '@shared/domain/interface';\nimport { AccountDto } from '../services/dto/account.dto';\n\n@Injectable()\nexport abstract class AccountIdmToDtoMapper {\n\tabstract mapToDto(account: IdmAccount): AccountDto;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountIdmToDtoMapperDb.html":{"url":"classes/AccountIdmToDtoMapperDb.html","title":"class - AccountIdmToDtoMapperDb","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountIdmToDtoMapperDb\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/mapper/account-idm-to-dto.mapper.db.ts\n \n\n\n\n \n Extends\n \n \n AccountIdmToDtoMapper\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n mapToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n mapToDto\n \n \n \n \n \n \nmapToDto(account: IdmAccount)\n \n \n\n\n \n \n Inherited from AccountIdmToDtoMapper\n\n \n \n \n \n Defined in AccountIdmToDtoMapper:6\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n IdmAccount\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AccountDto\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { IdmAccount } from '@shared/domain/interface';\nimport { AccountDto } from '../services/dto/account.dto';\nimport { AccountIdmToDtoMapper } from './account-idm-to-dto.mapper.abstract';\n\nexport class AccountIdmToDtoMapperDb extends AccountIdmToDtoMapper {\n\tmapToDto(account: IdmAccount): AccountDto {\n\t\tconst createdDate = account.createdDate ? account.createdDate : new Date();\n\t\treturn new AccountDto({\n\t\t\tid: account.attDbcAccountId ?? '',\n\t\t\tidmReferenceId: account.id,\n\t\t\tuserId: account.attDbcUserId,\n\t\t\tsystemId: account.attDbcSystemId,\n\t\t\tusername: account.username ?? '',\n\t\t\tcreatedAt: createdDate,\n\t\t\tupdatedAt: createdDate,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountIdmToDtoMapperIdm.html":{"url":"classes/AccountIdmToDtoMapperIdm.html","title":"class - AccountIdmToDtoMapperIdm","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountIdmToDtoMapperIdm\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/mapper/account-idm-to-dto.mapper.idm.ts\n \n\n\n\n \n Extends\n \n \n AccountIdmToDtoMapper\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n mapToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n mapToDto\n \n \n \n \n \n \nmapToDto(account: IdmAccount)\n \n \n\n\n \n \n Inherited from AccountIdmToDtoMapper\n\n \n \n \n \n Defined in AccountIdmToDtoMapper:6\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n IdmAccount\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AccountDto\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { IdmAccount } from '@shared/domain/interface';\nimport { AccountDto } from '../services/dto/account.dto';\nimport { AccountIdmToDtoMapper } from './account-idm-to-dto.mapper.abstract';\n\nexport class AccountIdmToDtoMapperIdm extends AccountIdmToDtoMapper {\n\tmapToDto(account: IdmAccount): AccountDto {\n\t\tconst createdDate = account.createdDate ? account.createdDate : new Date();\n\t\treturn new AccountDto({\n\t\t\tid: account.id,\n\t\t\tidmReferenceId: undefined,\n\t\t\tuserId: account.attDbcUserId,\n\t\t\tsystemId: account.attDbcSystemId,\n\t\t\tusername: account.username ?? '',\n\t\t\tcreatedAt: createdDate,\n\t\t\tupdatedAt: createdDate,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AccountLookupService.html":{"url":"injectables/AccountLookupService.html","title":"injectable - AccountLookupService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AccountLookupService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/services/account-lookup.service.ts\n \n\n\n \n Description\n \n \n Service to convert between internal and external ids.\nThe external ids are the primary keys from the IDM (Keycloak), currently they are UUID formatted strings.\nThe internal ids are the primary keys from the mongo db, currently they are BSON object ids or their hex string representation.\nIMPORTANT: This service will not guarantee that the id is valid, it will only try to convert it.\n\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getExternalId\n \n \n Async\n getInternalId\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(idmService: IdentityManagementService, configService: ConfigService)\n \n \n \n \n Defined in apps/server/src/modules/account/services/account-lookup.service.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n idmService\n \n \n IdentityManagementService\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getExternalId\n \n \n \n \n \n \n \n getExternalId(id: EntityId | ObjectId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account-lookup.service.ts:44\n \n \n\n\n \n \n Converts an internal id to the external id, if the id is already an external id, it will be returned as is.\nIMPORTANT: This method will not guarantee that the id is valid, it will only try to convert it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n the id the should be converted to the external id.\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n the converted id or null if conversion failed.\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n getInternalId\n \n \n \n \n \n \n \n getInternalId(id: EntityId | ObjectId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account-lookup.service.ts:27\n \n \n\n\n \n \n Converts an external id to the internal id, if the id is already an internal id, it will be returned as is.\nIMPORTANT: This method will not guarantee that the id is valid, it will only try to convert it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n the id the should be converted to the internal id.\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n the converted id or null if conversion failed.\n\n \n \n \n \n \n\n\n \n\n\n \n import { IdentityManagementService } from '@infra/identity-management';\nimport { ServerConfig } from '@modules/server/server.config';\nimport { Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\n\n/**\n * Service to convert between internal and external ids.\n * The external ids are the primary keys from the IDM (Keycloak), currently they are UUID formatted strings.\n * The internal ids are the primary keys from the mongo db, currently they are BSON object ids or their hex string representation.\n * IMPORTANT: This service will not guarantee that the id is valid, it will only try to convert it.\n */\n@Injectable()\nexport class AccountLookupService {\n\tconstructor(\n\t\tprivate readonly idmService: IdentityManagementService,\n\t\tprivate readonly configService: ConfigService\n\t) {}\n\n\t/**\n\t * Converts an external id to the internal id, if the id is already an internal id, it will be returned as is.\n\t * IMPORTANT: This method will not guarantee that the id is valid, it will only try to convert it.\n\t * @param id the id the should be converted to the internal id.\n\t * @returns the converted id or null if conversion failed.\n\t */\n\tasync getInternalId(id: EntityId | ObjectId): Promise {\n\t\tif (id instanceof ObjectId || ObjectId.isValid(id)) {\n\t\t\treturn new ObjectId(id);\n\t\t}\n\t\tif (this.configService.get('FEATURE_IDENTITY_MANAGEMENT_STORE_ENABLED') === true) {\n\t\t\tconst account = await this.idmService.findAccountById(id);\n\t\t\treturn new ObjectId(account.attDbcAccountId);\n\t\t}\n\t\treturn null;\n\t}\n\n\t/**\n\t * Converts an internal id to the external id, if the id is already an external id, it will be returned as is.\n\t * IMPORTANT: This method will not guarantee that the id is valid, it will only try to convert it.\n\t * @param id the id the should be converted to the external id.\n\t * @returns the converted id or null if conversion failed.\n\t */\n\tasync getExternalId(id: EntityId | ObjectId): Promise {\n\t\tif (!(id instanceof ObjectId) && !ObjectId.isValid(id)) {\n\t\t\treturn id;\n\t\t}\n\t\tif (this.configService.get('FEATURE_IDENTITY_MANAGEMENT_STORE_ENABLED') === true) {\n\t\t\tconst account = await this.idmService.findAccountByDbcAccountId(id.toString());\n\t\t\treturn account.id;\n\t\t}\n\t\treturn null;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AccountModule.html":{"url":"modules/AccountModule.html","title":"module - AccountModule","body":"\n \n\n\n\n\n Modules\n AccountModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_AccountModule\n\n\n\ncluster_AccountModule_exports\n\n\n\ncluster_AccountModule_imports\n\n\n\ncluster_AccountModule_providers\n\n\n\n\nIdentityManagementModule\n\nIdentityManagementModule\n\n\n\nAccountModule\n\nAccountModule\n\nAccountModule -->\n\nIdentityManagementModule->AccountModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nAccountModule -->\n\nLoggerModule->AccountModule\n\n\n\n\n\nAccountService \n\nAccountService \n\nAccountService -->\n\nAccountModule->AccountService \n\n\n\n\n\nAccountValidationService \n\nAccountValidationService \n\nAccountValidationService -->\n\nAccountModule->AccountValidationService \n\n\n\n\n\nAccountLookupService\n\nAccountLookupService\n\nAccountModule -->\n\nAccountLookupService->AccountModule\n\n\n\n\n\nAccountRepo\n\nAccountRepo\n\nAccountModule -->\n\nAccountRepo->AccountModule\n\n\n\n\n\nAccountService\n\nAccountService\n\nAccountModule -->\n\nAccountService->AccountModule\n\n\n\n\n\nAccountServiceDb\n\nAccountServiceDb\n\nAccountModule -->\n\nAccountServiceDb->AccountModule\n\n\n\n\n\nAccountServiceIdm\n\nAccountServiceIdm\n\nAccountModule -->\n\nAccountServiceIdm->AccountModule\n\n\n\n\n\nAccountValidationService\n\nAccountValidationService\n\nAccountModule -->\n\nAccountValidationService->AccountModule\n\n\n\n\n\nLegacySystemRepo\n\nLegacySystemRepo\n\nAccountModule -->\n\nLegacySystemRepo->AccountModule\n\n\n\n\n\nPermissionService\n\nPermissionService\n\nAccountModule -->\n\nPermissionService->AccountModule\n\n\n\n\n\nUserRepo\n\nUserRepo\n\nAccountModule -->\n\nUserRepo->AccountModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/account/account.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n AccountLookupService\n \n \n AccountRepo\n \n \n AccountService\n \n \n AccountServiceDb\n \n \n AccountServiceIdm\n \n \n AccountValidationService\n \n \n LegacySystemRepo\n \n \n PermissionService\n \n \n UserRepo\n \n \n \n \n Imports\n \n \n IdentityManagementModule\n \n \n LoggerModule\n \n \n \n \n Exports\n \n \n AccountService\n \n \n AccountValidationService\n \n \n \n \n \n\n\n \n\n\n \n import { IdentityManagementModule } from '@infra/identity-management';\nimport { Module } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { PermissionService } from '@shared/domain/service';\nimport { LegacySystemRepo, UserRepo } from '@shared/repo';\n\nimport { LoggerModule } from '@src/core/logger/logger.module';\nimport { ServerConfig } from '../server/server.config';\nimport { AccountIdmToDtoMapper, AccountIdmToDtoMapperDb, AccountIdmToDtoMapperIdm } from './mapper';\nimport { AccountRepo } from './repo/account.repo';\nimport { AccountServiceDb } from './services/account-db.service';\nimport { AccountServiceIdm } from './services/account-idm.service';\nimport { AccountLookupService } from './services/account-lookup.service';\nimport { AccountService } from './services/account.service';\nimport { AccountValidationService } from './services/account.validation.service';\n\nfunction accountIdmToDtoMapperFactory(configService: ConfigService): AccountIdmToDtoMapper {\n\tif (configService.get('FEATURE_IDENTITY_MANAGEMENT_LOGIN_ENABLED') === true) {\n\t\treturn new AccountIdmToDtoMapperIdm();\n\t}\n\treturn new AccountIdmToDtoMapperDb();\n}\n\n@Module({\n\timports: [IdentityManagementModule, LoggerModule],\n\tproviders: [\n\t\tUserRepo,\n\t\tLegacySystemRepo,\n\t\tPermissionService,\n\t\tAccountRepo,\n\t\tAccountServiceDb,\n\t\tAccountServiceIdm,\n\t\tAccountService,\n\t\tAccountLookupService,\n\t\tAccountValidationService,\n\t\t{\n\t\t\tprovide: AccountIdmToDtoMapper,\n\t\t\tuseFactory: accountIdmToDtoMapperFactory,\n\t\t\tinject: [ConfigService],\n\t\t},\n\t],\n\texports: [AccountService, AccountValidationService],\n})\nexport class AccountModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AccountParams.html":{"url":"interfaces/AccountParams.html","title":"interface - AccountParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AccountParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/user-and-account.test.factory.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n systemId\n \n \n \n Optional\n \n username\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n systemId\n \n \n \n \n \n \n \n \n systemId: EntityId | ObjectId\n\n \n \n\n\n \n \n Type : EntityId | ObjectId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n \n \n username: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Account, SchoolEntity, User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport _ from 'lodash';\nimport { accountFactory } from './account.factory';\nimport { userFactory } from './user.factory';\n\ninterface UserParams {\n\tfirstName?: string;\n\tlastName?: string;\n\temail?: string;\n\tschool?: SchoolEntity;\n\texternalId?: string;\n}\n\ninterface AccountParams {\n\tusername?: string;\n\tsystemId?: EntityId | ObjectId;\n}\n\nexport interface UserAndAccountParams extends UserParams, AccountParams {}\n\nexport class UserAndAccountTestFactory {\n\tprivate static getUserParams(params: UserAndAccountParams): UserParams {\n\t\tconst userParams = _.pick(params, 'firstName', 'lastName', 'email', 'school', 'externalId');\n\t\treturn userParams;\n\t}\n\n\tprivate static buildAccount(user: User, params: UserAndAccountParams = {}): Account {\n\t\tconst accountParams = _.pick(params, 'username', 'systemId');\n\t\tconst account = accountFactory.withUser(user).build(accountParams);\n\t\treturn account;\n\t}\n\n\tpublic static buildStudent(\n\t\tparams: UserAndAccountParams = {},\n\t\tadditionalPermissions: Permission[] = []\n\t): {\n\t\tstudentAccount: Account;\n\t\tstudentUser: User;\n\t} {\n\t\tconst user = userFactory\n\t\t\t.asStudent(additionalPermissions)\n\t\t\t.buildWithId(UserAndAccountTestFactory.getUserParams(params));\n\t\tconst account = UserAndAccountTestFactory.buildAccount(user, params);\n\n\t\treturn { studentAccount: account, studentUser: user };\n\t}\n\n\tpublic static buildTeacher(\n\t\tparams: UserAndAccountParams = {},\n\t\tadditionalPermissions: Permission[] = []\n\t): { teacherAccount: Account; teacherUser: User } {\n\t\tconst user = userFactory\n\t\t\t.asTeacher(additionalPermissions)\n\t\t\t.buildWithId(UserAndAccountTestFactory.getUserParams(params));\n\t\tconst account = UserAndAccountTestFactory.buildAccount(user, params);\n\n\t\treturn { teacherAccount: account, teacherUser: user };\n\t}\n\n\tpublic static buildAdmin(\n\t\tparams: UserAndAccountParams = {},\n\t\tadditionalPermissions: Permission[] = []\n\t): { adminAccount: Account; adminUser: User } {\n\t\tconst user = userFactory\n\t\t\t.asAdmin(additionalPermissions)\n\t\t\t.buildWithId(UserAndAccountTestFactory.getUserParams(params));\n\t\tconst account = UserAndAccountTestFactory.buildAccount(user, params);\n\n\t\treturn { adminAccount: account, adminUser: user };\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AccountRepo.html":{"url":"injectables/AccountRepo.html","title":"injectable - AccountRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AccountRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/repo/account.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteById\n \n \n Async\n deleteByUserId\n \n \n Async\n findByUserId\n \n \n Async\n findByUserIdOrFail\n \n \n Async\n findByUsernameAndSystemId\n \n \n Async\n findMany\n \n \n Async\n findMultipleByUserId\n \n \n Async\n flush\n \n \n getObjectReference\n \n \n saveWithoutFlush\n \n \n Private\n Async\n searchByUsername\n \n \n Async\n searchByUsernameExactMatch\n \n \n Async\n searchByUsernamePartialMatch\n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteById\n \n \n \n \n \n \n \n deleteById(accountId: EntityId | ObjectId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:59\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountId\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteByUserId\n \n \n \n \n \n \n \n deleteByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:64\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserId\n \n \n \n \n \n \n \n findByUserId(userId: EntityId | ObjectId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:19\n \n \n\n\n \n \n Finds an account by user id.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n userId\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n the user id\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserIdOrFail\n \n \n \n \n \n \n \n findByUserIdOrFail(userId: EntityId | ObjectId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUsernameAndSystemId\n \n \n \n \n \n \n \n findByUsernameAndSystemId(username: string, systemId: EntityId | ObjectId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findMany\n \n \n \n \n \n \n For migration purpose only\n \n \n \n \n \n findMany(offset: number, limit: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:74\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n offset\n \n number\n \n\n \n No\n \n\n \n 0\n \n\n \n \n limit\n \n number\n \n\n \n No\n \n\n \n 100\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findMultipleByUserId\n \n \n \n \n \n \n \n findMultipleByUserId(userIds: EntityId[] | ObjectId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userIds\n \n EntityId[] | ObjectId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n flush\n \n \n \n \n \n \n \n flush()\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:47\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n getObjectReference\n \n \n \n \n \n \ngetObjectReference(entityName: EntityName, id: Primary | Primary[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:36\n \n \n\n \n \n Type parameters :\n \n Entity\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityName\n \n EntityName\n \n\n \n No\n \n\n\n \n \n id\n \n Primary | Primary[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Entity\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n saveWithoutFlush\n \n \n \n \n \n \nsaveWithoutFlush(account: Account)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n Account\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n searchByUsername\n \n \n \n \n \n \n \n searchByUsername(username: string, offset: number, limit: number, exactMatch: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:80\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n offset\n \n number\n \n\n \n No\n \n\n\n \n \n limit\n \n number\n \n\n \n No\n \n\n\n \n \n exactMatch\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise<>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n searchByUsernameExactMatch\n \n \n \n \n \n \n \n searchByUsernameExactMatch(username: string, skip: number, limit: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n skip\n \n number\n \n\n \n No\n \n\n \n 0\n \n\n \n \n limit\n \n number\n \n\n \n No\n \n\n \n 1\n \n\n \n \n \n \n \n Returns : Promise<>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n searchByUsernamePartialMatch\n \n \n \n \n \n \n \n searchByUsernamePartialMatch(username: string, skip: number, limit: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:55\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n skip\n \n number\n \n\n \n No\n \n\n \n 0\n \n\n \n \n limit\n \n number\n \n\n \n No\n \n\n \n 10\n \n\n \n \n \n \n \n Returns : Promise<>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:11\n \n \n\n \n \n\n \n\n\n \n import { AnyEntity, EntityName, Primary } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { Account } from '@shared/domain/entity/account.entity';\nimport { SortOrder } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '@shared/repo/base.repo';\n\n@Injectable()\nexport class AccountRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn Account;\n\t}\n\n\t/**\n\t * Finds an account by user id.\n\t * @param userId the user id\n\t */\n\tasync findByUserId(userId: EntityId | ObjectId): Promise {\n\t\treturn this._em.findOne(Account, { userId: new ObjectId(userId) });\n\t}\n\n\tasync findMultipleByUserId(userIds: EntityId[] | ObjectId[]): Promise {\n\t\tconst objectIds = userIds.map((id: EntityId | ObjectId) => new ObjectId(id));\n\t\treturn this._em.find(Account, { userId: objectIds });\n\t}\n\n\tasync findByUserIdOrFail(userId: EntityId | ObjectId): Promise {\n\t\treturn this._em.findOneOrFail(Account, { userId: new ObjectId(userId) });\n\t}\n\n\tasync findByUsernameAndSystemId(username: string, systemId: EntityId | ObjectId): Promise {\n\t\treturn this._em.findOne(Account, { username, systemId: new ObjectId(systemId) });\n\t}\n\n\tgetObjectReference>(\n\t\tentityName: EntityName,\n\t\tid: Primary | Primary[]\n\t): Entity {\n\t\treturn this._em.getReference(entityName, id);\n\t}\n\n\tsaveWithoutFlush(account: Account): void {\n\t\tthis._em.persist(account);\n\t}\n\n\tasync flush(): Promise {\n\t\tawait this._em.flush();\n\t}\n\n\tasync searchByUsernameExactMatch(username: string, skip = 0, limit = 1): Promise {\n\t\treturn this.searchByUsername(username, skip, limit, true);\n\t}\n\n\tasync searchByUsernamePartialMatch(username: string, skip = 0, limit = 10): Promise {\n\t\treturn this.searchByUsername(username, skip, limit, false);\n\t}\n\n\tasync deleteById(accountId: EntityId | ObjectId): Promise {\n\t\tconst account = await this.findById(accountId);\n\t\treturn this.delete(account);\n\t}\n\n\tasync deleteByUserId(userId: EntityId): Promise {\n\t\tconst account = await this.findByUserId(userId);\n\t\tif (account) {\n\t\t\tawait this._em.removeAndFlush(account);\n\t\t}\n\t}\n\n\t/**\n\t * @deprecated For migration purpose only\n\t */\n\tasync findMany(offset = 0, limit = 100): Promise {\n\t\tconst result = await this._em.find(this.entityName, {}, { offset, limit, orderBy: { _id: SortOrder.asc } });\n\t\tthis._em.clear();\n\t\treturn result;\n\t}\n\n\tprivate async searchByUsername(\n\t\tusername: string,\n\t\toffset: number,\n\t\tlimit: number,\n\t\texactMatch: boolean\n\t): Promise {\n\t\t// escapes every character, that's not a unicode letter or number\n\t\tconst escapedUsername = username.replace(/[^(\\p{L}\\p{N})]/gu, '\\\\$&');\n\t\tconst searchUsername = exactMatch ? `^${escapedUsername}$` : escapedUsername;\n\t\treturn this._em.findAndCount(\n\t\t\tthis.entityName,\n\t\t\t{\n\t\t\t\t// NOTE: The default behavior of the MongoDB driver allows\n\t\t\t\t// to pass regular expressions directly into the where clause\n\t\t\t\t// without the need of using the $re operator, this will NOT\n\t\t\t\t// work with SQL drivers\n\t\t\t\tusername: new RegExp(searchUsername, 'i'),\n\t\t\t},\n\t\t\t{\n\t\t\t\toffset,\n\t\t\t\tlimit,\n\t\t\t\torderBy: { username: 1 },\n\t\t\t}\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountResponse.html":{"url":"classes/AccountResponse.html","title":"class - AccountResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/controller/dto/account.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n activated\n \n \n \n id\n \n \n \n Optional\n updatedAt\n \n \n \n Optional\n userId\n \n \n \n username\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: AccountResponse)\n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n AccountResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n activated\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n updatedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account.response.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n userId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account.response.ts:16\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class AccountResponse {\n\tconstructor({ id, username, userId, activated, updatedAt }: AccountResponse) {\n\t\tthis.id = id;\n\t\tthis.username = username;\n\t\tthis.userId = userId;\n\t\tthis.activated = activated;\n\t\tthis.updatedAt = updatedAt;\n\t}\n\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\tusername: string;\n\n\t@ApiProperty()\n\tuserId?: string;\n\n\t@ApiProperty()\n\tactivated?: boolean;\n\n\t@ApiProperty()\n\tupdatedAt?: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountResponseMapper.html":{"url":"classes/AccountResponseMapper.html","title":"class - AccountResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/mapper/account-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n Static\n mapToResponseFromEntity\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(account: AccountDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/mapper/account-response.mapper.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n AccountDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AccountResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToResponseFromEntity\n \n \n \n \n \n \n \n mapToResponseFromEntity(account: Account)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/mapper/account-response.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n Account\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AccountResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { AccountDto } from '@modules/account/services/dto/account.dto';\nimport { Account } from '@shared/domain/entity';\nimport { AccountResponse } from '../controller/dto';\n\nexport class AccountResponseMapper {\n\tstatic mapToResponseFromEntity(account: Account): AccountResponse {\n\t\treturn new AccountResponse({\n\t\t\tid: account.id,\n\t\t\tuserId: account.userId?.toString(),\n\t\t\tactivated: account.activated,\n\t\t\tusername: account.username,\n\t\t\tupdatedAt: account.updatedAt,\n\t\t});\n\t}\n\n\tstatic mapToResponse(account: AccountDto): AccountResponse {\n\t\treturn new AccountResponse({\n\t\t\tid: account.id,\n\t\t\tuserId: account.userId,\n\t\t\tactivated: account.activated,\n\t\t\tusername: account.username,\n\t\t\tupdatedAt: account.updatedAt,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountSaveDto.html":{"url":"classes/AccountSaveDto.html","title":"class - AccountSaveDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountSaveDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/services/dto/account-save.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n activated\n \n \n \n \n Readonly\n Optional\n createdAt\n \n \n \n \n Optional\n credentialHash\n \n \n \n \n Optional\n expiresAt\n \n \n \n \n Readonly\n Optional\n id\n \n \n \n Optional\n idmReferenceId\n \n \n \n \n Optional\n lasttriedFailedLogin\n \n \n \n \n \n Optional\n password\n \n \n \n \n Optional\n systemId\n \n \n \n \n Optional\n token\n \n \n \n \n Readonly\n Optional\n updatedAt\n \n \n \n \n Optional\n userId\n \n \n \n \n username\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: AccountSaveDto)\n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:57\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n AccountSaveDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n activated\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsBoolean()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n createdAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsDate()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n credentialHash\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n expiresAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsDate()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:50\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n idmReferenceId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:57\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n lasttriedFailedLogin\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsDate()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n password\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @PrivacyProtect()@IsOptional()@Matches(passwordPattern)\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n systemId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n token\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n updatedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsDate()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n userId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:38\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:21\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { PrivacyProtect } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { IsBoolean, IsDate, IsMongoId, IsNotEmpty, IsOptional, IsString, Matches } from 'class-validator';\nimport { passwordPattern } from '../../controller/dto/password-pattern';\n\nexport class AccountSaveDto {\n\t@IsOptional()\n\t@IsMongoId()\n\treadonly id?: EntityId;\n\n\t@IsOptional()\n\t@IsDate()\n\treadonly createdAt?: Date;\n\n\t@IsOptional()\n\t@IsDate()\n\treadonly updatedAt?: Date;\n\n\t@IsString()\n\t@IsNotEmpty()\n\tusername: string;\n\n\t@PrivacyProtect()\n\t@IsOptional()\n\t@Matches(passwordPattern)\n\tpassword?: string;\n\n\t@IsOptional()\n\t@IsString()\n\ttoken?: string;\n\n\t@IsOptional()\n\t@IsString()\n\tcredentialHash?: string;\n\n\t@IsOptional()\n\t@IsMongoId()\n\tuserId?: EntityId;\n\n\t@IsOptional()\n\t@IsMongoId()\n\tsystemId?: EntityId;\n\n\t@IsOptional()\n\t@IsDate()\n\tlasttriedFailedLogin?: Date;\n\n\t@IsOptional()\n\t@IsDate()\n\texpiresAt?: Date;\n\n\t@IsOptional()\n\t@IsBoolean()\n\tactivated?: boolean;\n\n\t@IsOptional()\n\tidmReferenceId?: string;\n\n\tconstructor(props: AccountSaveDto) {\n\t\tthis.id = props.id;\n\t\tthis.createdAt = props.createdAt;\n\t\tthis.updatedAt = props.updatedAt;\n\t\tthis.username = props.username;\n\t\tthis.password = props.password;\n\t\tthis.token = props.token;\n\t\tthis.credentialHash = props.credentialHash;\n\t\tthis.userId = props.userId;\n\t\tthis.systemId = props.systemId;\n\t\tthis.lasttriedFailedLogin = props.lasttriedFailedLogin;\n\t\tthis.expiresAt = props.expiresAt;\n\t\tthis.activated = props.activated;\n\t\tthis.idmReferenceId = props.idmReferenceId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountSearchListResponse.html":{"url":"classes/AccountSearchListResponse.html","title":"class - AccountSearchListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountSearchListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/controller/dto/account-search-list.response.ts\n \n\n\n\n \n Extends\n \n \n PaginationResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: AccountResponse[], total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account-search-list.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n AccountResponse[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : AccountResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:14\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { PaginationResponse } from '@shared/controller';\nimport { AccountResponse } from './account.response';\n\nexport class AccountSearchListResponse extends PaginationResponse {\n\tconstructor(data: AccountResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [AccountResponse] })\n\tdata: AccountResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountSearchQueryParams.html":{"url":"classes/AccountSearchQueryParams.html","title":"class - AccountSearchQueryParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountSearchQueryParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/controller/dto/account-search.query.params.ts\n \n\n\n\n \n Extends\n \n \n PaginationParams\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n type\n \n \n \n \n value\n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n Optional\n skip\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : AccountSearchType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(AccountSearchType)@ApiProperty({description: 'The search criteria.', enum: AccountSearchType, required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account-search.query.params.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n value\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({description: 'The search value.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account-search.query.params.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 10\n \n \n \n \n Decorators : \n \n \n @IsInt()@Min(1)@Max(100)@ApiPropertyOptional({description: 'Page limit, defaults to 10.', minimum: 1, maximum: 99})\n \n \n \n \n \n Inherited from PaginationParams\n\n \n \n \n \n Defined in PaginationParams:14\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Decorators : \n \n \n @IsInt()@Min(0)@ApiPropertyOptional({description: 'Number of elements (not pages) to be skipped'})\n \n \n \n \n \n Inherited from PaginationParams\n\n \n \n \n \n Defined in PaginationParams:8\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsEnum, IsString } from 'class-validator';\nimport { PaginationParams } from '@shared/controller';\nimport { AccountSearchType } from './account-search-type';\n\nexport class AccountSearchQueryParams extends PaginationParams {\n\t@IsEnum(AccountSearchType)\n\t@ApiProperty({\n\t\tdescription: 'The search criteria.',\n\t\tenum: AccountSearchType,\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\ttype!: AccountSearchType;\n\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'The search value.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tvalue!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AccountServiceDb.html":{"url":"injectables/AccountServiceDb.html","title":"injectable - AccountServiceDb","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AccountServiceDb\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/services/account-db.service.ts\n \n\n\n\n \n Extends\n \n \n AbstractAccountService\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n delete\n \n \n Async\n deleteByUserId\n \n \n Private\n encryptPassword\n \n \n Async\n findById\n \n \n Async\n findByUserId\n \n \n Async\n findByUserIdOrFail\n \n \n Async\n findByUsernameAndSystemId\n \n \n Async\n findMany\n \n \n Async\n findMultipleByUserId\n \n \n Private\n Async\n getInternalId\n \n \n Async\n save\n \n \n Async\n searchByUsernameExactMatch\n \n \n Async\n searchByUsernamePartialMatch\n \n \n Async\n updateLastTriedFailedLogin\n \n \n Async\n updatePassword\n \n \n Async\n updateUsername\n \n \n validatePassword\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(accountRepo: AccountRepo, accountLookupService: AccountLookupService)\n \n \n \n \n Defined in apps/server/src/modules/account/services/account-db.service.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountRepo\n \n \n AccountRepo\n \n \n \n No\n \n \n \n \n accountLookupService\n \n \n AccountLookupService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(id: EntityId)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:109\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteByUserId\n \n \n \n \n \n \n \n deleteByUserId(userId: EntityId)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:114\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n encryptPassword\n \n \n \n \n \n \n \n encryptPassword(password: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account-db.service.ts:143\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n password\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserId\n \n \n \n \n \n \n \n findByUserId(userId: EntityId)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserIdOrFail\n \n \n \n \n \n \n \n findByUserIdOrFail(userId: EntityId)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUsernameAndSystemId\n \n \n \n \n \n \n \n findByUsernameAndSystemId(username: string, systemId: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:43\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findMany\n \n \n \n \n \n \n \n findMany(offset: number, limit: number)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:147\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n offset\n \n number\n \n\n \n No\n \n\n \n 0\n \n\n \n \n limit\n \n number\n \n\n \n No\n \n\n \n 100\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findMultipleByUserId\n \n \n \n \n \n \n \n findMultipleByUserId(userIds: EntityId[])\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:25\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getInternalId\n \n \n \n \n \n \n \n getInternalId(id: EntityId | ObjectId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account-db.service.ts:135\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(accountDto: AccountSaveDto)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:48\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountDto\n \n AccountSaveDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n searchByUsernameExactMatch\n \n \n \n \n \n \n \n searchByUsernameExactMatch(userName: string)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:123\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n searchByUsernamePartialMatch\n \n \n \n \n \n \n \n searchByUsernamePartialMatch(userName: string, skip: number, limit: number)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:118\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userName\n \n string\n \n\n \n No\n \n\n\n \n \n skip\n \n number\n \n\n \n No\n \n\n\n \n \n limit\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateLastTriedFailedLogin\n \n \n \n \n \n \n \n updateLastTriedFailedLogin(accountId: EntityId, lastTriedFailedLogin: Date)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:92\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n lastTriedFailedLogin\n \n Date\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updatePassword\n \n \n \n \n \n \n \n updatePassword(accountId: EntityId, password: string)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:100\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n password\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateUsername\n \n \n \n \n \n \n \n updateUsername(accountId: EntityId, username: string)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n validatePassword\n \n \n \n \n \n \nvalidatePassword(account: AccountDto, comparePassword: string)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:128\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n AccountDto\n \n\n \n No\n \n\n\n \n \n comparePassword\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { EntityNotFoundError } from '@shared/common';\nimport { Account } from '@shared/domain/entity';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport bcrypt from 'bcryptjs';\nimport { AccountEntityToDtoMapper } from '../mapper';\nimport { AccountRepo } from '../repo/account.repo';\nimport { AccountLookupService } from './account-lookup.service';\nimport { AbstractAccountService } from './account.service.abstract';\nimport { AccountDto, AccountSaveDto } from './dto';\n\n@Injectable()\nexport class AccountServiceDb extends AbstractAccountService {\n\tconstructor(private readonly accountRepo: AccountRepo, private readonly accountLookupService: AccountLookupService) {\n\t\tsuper();\n\t}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst internalId = await this.getInternalId(id);\n\t\tconst accountEntity = await this.accountRepo.findById(internalId);\n\t\treturn AccountEntityToDtoMapper.mapToDto(accountEntity);\n\t}\n\n\tasync findMultipleByUserId(userIds: EntityId[]): Promise {\n\t\tconst accountEntities = await this.accountRepo.findMultipleByUserId(userIds);\n\t\treturn AccountEntityToDtoMapper.mapAccountsToDto(accountEntities);\n\t}\n\n\tasync findByUserId(userId: EntityId): Promise {\n\t\tconst accountEntity = await this.accountRepo.findByUserId(userId);\n\t\treturn accountEntity ? AccountEntityToDtoMapper.mapToDto(accountEntity) : null;\n\t}\n\n\tasync findByUserIdOrFail(userId: EntityId): Promise {\n\t\tconst accountEntity = await this.accountRepo.findByUserId(userId);\n\t\tif (!accountEntity) {\n\t\t\tthrow new EntityNotFoundError('Account');\n\t\t}\n\t\treturn AccountEntityToDtoMapper.mapToDto(accountEntity);\n\t}\n\n\tasync findByUsernameAndSystemId(username: string, systemId: EntityId | ObjectId): Promise {\n\t\tconst accountEntity = await this.accountRepo.findByUsernameAndSystemId(username, systemId);\n\t\treturn accountEntity ? AccountEntityToDtoMapper.mapToDto(accountEntity) : null;\n\t}\n\n\tasync save(accountDto: AccountSaveDto): Promise {\n\t\tlet account: Account;\n\t\tif (accountDto.id) {\n\t\t\tconst internalId = await this.getInternalId(accountDto.id);\n\t\t\taccount = await this.accountRepo.findById(internalId);\n\t\t\taccount.userId = new ObjectId(accountDto.userId);\n\t\t\taccount.systemId = accountDto.systemId ? new ObjectId(accountDto.systemId) : undefined;\n\t\t\taccount.username = accountDto.username;\n\t\t\taccount.activated = accountDto.activated;\n\t\t\taccount.expiresAt = accountDto.expiresAt;\n\t\t\taccount.lasttriedFailedLogin = accountDto.lasttriedFailedLogin;\n\t\t\tif (accountDto.password) {\n\t\t\t\taccount.password = await this.encryptPassword(accountDto.password);\n\t\t\t}\n\t\t\taccount.credentialHash = accountDto.credentialHash;\n\t\t\taccount.token = accountDto.token;\n\n\t\t\tawait this.accountRepo.save(account);\n\t\t} else {\n\t\t\taccount = new Account({\n\t\t\t\tuserId: new ObjectId(accountDto.userId),\n\t\t\t\tsystemId: accountDto.systemId ? new ObjectId(accountDto.systemId) : undefined,\n\t\t\t\tusername: accountDto.username,\n\t\t\t\tactivated: accountDto.activated,\n\t\t\t\texpiresAt: accountDto.expiresAt,\n\t\t\t\tlasttriedFailedLogin: accountDto.lasttriedFailedLogin,\n\t\t\t\tpassword: accountDto.password ? await this.encryptPassword(accountDto.password) : undefined,\n\t\t\t\ttoken: accountDto.token,\n\t\t\t\tcredentialHash: accountDto.credentialHash,\n\t\t\t});\n\n\t\t\tawait this.accountRepo.save(account);\n\t\t}\n\t\treturn AccountEntityToDtoMapper.mapToDto(account);\n\t}\n\n\tasync updateUsername(accountId: EntityId, username: string): Promise {\n\t\tconst internalId = await this.getInternalId(accountId);\n\t\tconst account = await this.accountRepo.findById(internalId);\n\t\taccount.username = username;\n\t\tawait this.accountRepo.save(account);\n\t\treturn AccountEntityToDtoMapper.mapToDto(account);\n\t}\n\n\tasync updateLastTriedFailedLogin(accountId: EntityId, lastTriedFailedLogin: Date): Promise {\n\t\tconst internalId = await this.getInternalId(accountId);\n\t\tconst account = await this.accountRepo.findById(internalId);\n\t\taccount.lasttriedFailedLogin = lastTriedFailedLogin;\n\t\tawait this.accountRepo.save(account);\n\t\treturn AccountEntityToDtoMapper.mapToDto(account);\n\t}\n\n\tasync updatePassword(accountId: EntityId, password: string): Promise {\n\t\tconst internalId = await this.getInternalId(accountId);\n\t\tconst account = await this.accountRepo.findById(internalId);\n\t\taccount.password = await this.encryptPassword(password);\n\n\t\tawait this.accountRepo.save(account);\n\t\treturn AccountEntityToDtoMapper.mapToDto(account);\n\t}\n\n\tasync delete(id: EntityId): Promise {\n\t\tconst internalId = await this.getInternalId(id);\n\t\treturn this.accountRepo.deleteById(internalId);\n\t}\n\n\tasync deleteByUserId(userId: EntityId): Promise {\n\t\treturn this.accountRepo.deleteByUserId(userId);\n\t}\n\n\tasync searchByUsernamePartialMatch(userName: string, skip: number, limit: number): Promise> {\n\t\tconst accountEntities = await this.accountRepo.searchByUsernamePartialMatch(userName, skip, limit);\n\t\treturn AccountEntityToDtoMapper.mapSearchResult(accountEntities);\n\t}\n\n\tasync searchByUsernameExactMatch(userName: string): Promise> {\n\t\tconst accountEntities = await this.accountRepo.searchByUsernameExactMatch(userName);\n\t\treturn AccountEntityToDtoMapper.mapSearchResult(accountEntities);\n\t}\n\n\tvalidatePassword(account: AccountDto, comparePassword: string): Promise {\n\t\tif (!account.password) {\n\t\t\treturn Promise.resolve(false);\n\t\t}\n\t\treturn bcrypt.compare(comparePassword, account.password);\n\t}\n\n\tprivate async getInternalId(id: EntityId | ObjectId): Promise {\n\t\tconst internalId = await this.accountLookupService.getInternalId(id);\n\t\tif (!internalId) {\n\t\t\tthrow new EntityNotFoundError(`Account with id ${id.toString()} not found`);\n\t\t}\n\t\treturn internalId;\n\t}\n\n\tprivate encryptPassword(password: string): Promise {\n\t\treturn bcrypt.hash(password, 10);\n\t}\n\n\tasync findMany(offset = 0, limit = 100): Promise {\n\t\treturn AccountEntityToDtoMapper.mapAccountsToDto(await this.accountRepo.findMany(offset, limit));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AccountValidationService.html":{"url":"injectables/AccountValidationService.html","title":"injectable - AccountValidationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AccountValidationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/services/account.validation.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n isUniqueEmail\n \n \n Async\n isUniqueEmailForAccount\n \n \n Async\n isUniqueEmailForUser\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(accountRepo: AccountRepo, userRepo: UserRepo)\n \n \n \n \n Defined in apps/server/src/modules/account/services/account.validation.service.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountRepo\n \n \n AccountRepo\n \n \n \n No\n \n \n \n \n userRepo\n \n \n UserRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n isUniqueEmail\n \n \n \n \n \n \n \n isUniqueEmail(email: string, userId?: EntityId, accountId?: EntityId, systemId?: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.validation.service.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n email\n \n string\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n Yes\n \n\n\n \n \n accountId\n \n EntityId\n \n\n \n Yes\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n isUniqueEmailForAccount\n \n \n \n \n \n \n \n isUniqueEmailForAccount(email: string, accountId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.validation.service.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n email\n \n string\n \n\n \n No\n \n\n\n \n \n accountId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n isUniqueEmailForUser\n \n \n \n \n \n \n \n isUniqueEmailForUser(email: string, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.validation.service.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n email\n \n string\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { UserRepo } from '@shared/repo';\nimport { AccountEntityToDtoMapper } from '../mapper/account-entity-to-dto.mapper';\nimport { AccountRepo } from '../repo/account.repo';\n\n@Injectable()\nexport class AccountValidationService {\n\tconstructor(private accountRepo: AccountRepo, private userRepo: UserRepo) {}\n\n\tasync isUniqueEmail(email: string, userId?: EntityId, accountId?: EntityId, systemId?: EntityId): Promise {\n\t\tconst [foundUsers, [accounts]] = await Promise.all([\n\t\t\t// Test coverage: Missing branch null check; unreachable\n\t\t\tthis.userRepo.findByEmail(email),\n\t\t\tAccountEntityToDtoMapper.mapSearchResult(await this.accountRepo.searchByUsernameExactMatch(email)),\n\t\t]);\n\n\t\tconst filteredAccounts = accounts.filter((foundAccount) => foundAccount.systemId === systemId);\n\n\t\treturn !(\n\t\t\tfoundUsers.length > 1 ||\n\t\t\tfilteredAccounts.length > 1 ||\n\t\t\t// paranoid 'toString': legacy code may call userId or accountId as ObjectID\n\t\t\t(foundUsers.length === 1 && foundUsers[0].id.toString() !== userId?.toString()) ||\n\t\t\t(filteredAccounts.length === 1 && filteredAccounts[0].id.toString() !== accountId?.toString())\n\t\t);\n\t}\n\n\tasync isUniqueEmailForUser(email: string, userId: EntityId): Promise {\n\t\tconst account = await this.accountRepo.findByUserId(userId);\n\t\treturn this.isUniqueEmail(email, userId, account?.id, account?.systemId?.toString());\n\t}\n\n\tasync isUniqueEmailForAccount(email: string, accountId: EntityId): Promise {\n\t\tconst account = await this.accountRepo.findById(accountId);\n\t\treturn this.isUniqueEmail(email, account.userId?.toString(), account.id, account?.systemId?.toString());\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AdminApiServerModule.html":{"url":"modules/AdminApiServerModule.html","title":"module - AdminApiServerModule","body":"\n \n\n\n\n\n Modules\n AdminApiServerModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_AdminApiServerModule\n\n\n\ncluster_AdminApiServerModule_imports\n\n\n\n\nDeletionApiModule\n\nDeletionApiModule\n\n\n\nAdminApiServerModule\n\nAdminApiServerModule\n\nAdminApiServerModule -->\n\nDeletionApiModule->AdminApiServerModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nAdminApiServerModule -->\n\nLoggerModule->AdminApiServerModule\n\n\n\n\n\nRabbitMQWrapperModule\n\nRabbitMQWrapperModule\n\nAdminApiServerModule -->\n\nRabbitMQWrapperModule->AdminApiServerModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/server/admin-api.server.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n DeletionApiModule\n \n \n LoggerModule\n \n \n RabbitMQWrapperModule\n \n \n \n \n \n\n\n \n\n\n \n import { MikroOrmModule } from '@mikro-orm/nestjs';\nimport { DynamicModule, Module } from '@nestjs/common';\n// import { ALL_ENTITIES } from '@shared/domain';\nimport { FileEntity } from '@modules/files/entity';\nimport { ConfigModule } from '@nestjs/config';\nimport { ALL_ENTITIES } from '@shared/domain/entity';\nimport { DB_PASSWORD, DB_URL, DB_USERNAME, createConfigModuleOptions } from '@src/config';\nimport { LoggerModule } from '@src/core/logger';\nimport { MongoDatabaseModuleOptions, MongoMemoryDatabaseModule } from '@src/infra/database';\nimport { RabbitMQWrapperModule, RabbitMQWrapperTestModule } from '@src/infra/rabbitmq';\nimport { DeletionApiModule } from '../deletion/deletion-api.module';\nimport { serverConfig } from './server.config';\nimport { defaultMikroOrmOptions } from './server.module';\n\nconst serverModules = [ConfigModule.forRoot(createConfigModuleOptions(serverConfig)), DeletionApiModule];\n\n@Module({\n\timports: [\n\t\tRabbitMQWrapperModule,\n\t\t...serverModules,\n\t\tMikroOrmModule.forRoot({\n\t\t\t...defaultMikroOrmOptions,\n\t\t\ttype: 'mongo',\n\t\t\tclientUrl: DB_URL,\n\t\t\tpassword: DB_PASSWORD,\n\t\t\tuser: DB_USERNAME,\n\t\t\tentities: [...ALL_ENTITIES, FileEntity],\n\t\t\tdebug: true,\n\t\t}),\n\t\tLoggerModule,\n\t],\n})\nexport class AdminApiServerModule {}\n\n@Module({\n\timports: [\n\t\t...serverModules,\n\t\tMongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions }),\n\t\tRabbitMQWrapperTestModule,\n\t\tLoggerModule,\n\t],\n})\nexport class AdminApiServerTestModule {\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: AdminApiServerTestModule,\n\t\t\timports: [\n\t\t\t\t...serverModules,\n\t\t\t\tMongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions, ...options }),\n\t\t\t\tRabbitMQWrapperTestModule,\n\t\t\t],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AdminApiServerTestModule.html":{"url":"modules/AdminApiServerTestModule.html","title":"module - AdminApiServerTestModule","body":"\n \n\n\n\n\n Modules\n AdminApiServerTestModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_AdminApiServerTestModule\n\n\n\ncluster_AdminApiServerTestModule_imports\n\n\n\n\nDeletionApiModule\n\nDeletionApiModule\n\n\n\nAdminApiServerTestModule\n\nAdminApiServerTestModule\n\nAdminApiServerTestModule -->\n\nDeletionApiModule->AdminApiServerTestModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nAdminApiServerTestModule -->\n\nLoggerModule->AdminApiServerTestModule\n\n\n\n\n\nMongoMemoryDatabaseModule\n\nMongoMemoryDatabaseModule\n\nAdminApiServerTestModule -->\n\nMongoMemoryDatabaseModule->AdminApiServerTestModule\n\n\n\n\n\nRabbitMQWrapperTestModule\n\nRabbitMQWrapperTestModule\n\nAdminApiServerTestModule -->\n\nRabbitMQWrapperTestModule->AdminApiServerTestModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/server/admin-api.server.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n DeletionApiModule\n \n \n LoggerModule\n \n \n MongoMemoryDatabaseModule\n \n \n RabbitMQWrapperTestModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options?: MongoDatabaseModuleOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/server/admin-api.server.module.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n MongoDatabaseModuleOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { MikroOrmModule } from '@mikro-orm/nestjs';\nimport { DynamicModule, Module } from '@nestjs/common';\n// import { ALL_ENTITIES } from '@shared/domain';\nimport { FileEntity } from '@modules/files/entity';\nimport { ConfigModule } from '@nestjs/config';\nimport { ALL_ENTITIES } from '@shared/domain/entity';\nimport { DB_PASSWORD, DB_URL, DB_USERNAME, createConfigModuleOptions } from '@src/config';\nimport { LoggerModule } from '@src/core/logger';\nimport { MongoDatabaseModuleOptions, MongoMemoryDatabaseModule } from '@src/infra/database';\nimport { RabbitMQWrapperModule, RabbitMQWrapperTestModule } from '@src/infra/rabbitmq';\nimport { DeletionApiModule } from '../deletion/deletion-api.module';\nimport { serverConfig } from './server.config';\nimport { defaultMikroOrmOptions } from './server.module';\n\nconst serverModules = [ConfigModule.forRoot(createConfigModuleOptions(serverConfig)), DeletionApiModule];\n\n@Module({\n\timports: [\n\t\tRabbitMQWrapperModule,\n\t\t...serverModules,\n\t\tMikroOrmModule.forRoot({\n\t\t\t...defaultMikroOrmOptions,\n\t\t\ttype: 'mongo',\n\t\t\tclientUrl: DB_URL,\n\t\t\tpassword: DB_PASSWORD,\n\t\t\tuser: DB_USERNAME,\n\t\t\tentities: [...ALL_ENTITIES, FileEntity],\n\t\t\tdebug: true,\n\t\t}),\n\t\tLoggerModule,\n\t],\n})\nexport class AdminApiServerModule {}\n\n@Module({\n\timports: [\n\t\t...serverModules,\n\t\tMongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions }),\n\t\tRabbitMQWrapperTestModule,\n\t\tLoggerModule,\n\t],\n})\nexport class AdminApiServerTestModule {\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: AdminApiServerTestModule,\n\t\t\timports: [\n\t\t\t\t...serverModules,\n\t\t\t\tMongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions, ...options }),\n\t\t\t\tRabbitMQWrapperTestModule,\n\t\t\t],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AdminIdAndToken.html":{"url":"interfaces/AdminIdAndToken.html","title":"interface - AdminIdAndToken","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AdminIdAndToken\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat/rocket-chat.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n token\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n token\n \n \n \n \n \n \n \n \n token: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { HttpService } from '@nestjs/axios';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { lastValueFrom } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\nexport interface RocketChatOptions {\n\turi?: string;\n\tadminUser?: string;\n\tadminPassword?: string;\n\tadminId?: string;\n\tadminToken?: string;\n}\n\nexport interface RocketChatGroupModel {\n\tgroup: {\n\t\t_id: string;\n\t\tname: string;\n\t\tfname: string;\n\t\tt: string;\n\t\tmsgs: number;\n\t\tusersCount: number;\n\t\tu: {\n\t\t\t_id: string;\n\t\t\tusername: string;\n\t\t};\n\t\tcustomfields: object;\n\t\tbroadcast: boolean;\n\t\tencrypted: boolean;\n\t\tts: Date;\n\t\tro: boolean;\n\t\tdefaults: boolean;\n\t\tsysmes: boolean;\n\t\t_updatedAt: Date;\n\t};\n\tsuccess: boolean;\n}\n\ntype GenericData = Record;\n\nexport class RocketChatError extends Error {\n\tprivate statusCode: number;\n\n\tprivate response: GenericData;\n\n\t// rocketchat specific error type\n\tprivate errorType: string;\n\n\tconstructor(e: any) {\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-argument\n\t\tsuper(e.response.statusText);\n\n\t\t// Set the prototype explicitly.\n\t\tObject.setPrototypeOf(this, RocketChatError.prototype);\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-member-access\n\t\tthis.statusCode = e.response.statusCode;\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment\n\t\tthis.response = e.response.data;\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment\n\t\tthis.errorType = e.response.data.errorType;\n\t}\n}\n\ninterface AdminIdAndToken {\n\tid: string;\n\ttoken: string;\n}\n\n@Injectable()\nexport class RocketChatService {\n\tprivate adminIdAndToken?: AdminIdAndToken;\n\n\tconstructor(\n\t\t@Inject('ROCKET_CHAT_OPTIONS') private readonly options: RocketChatOptions,\n\t\tprivate readonly httpService: HttpService\n\t) {}\n\n\tpublic async me(authToken: string, userId: string): Promise {\n\t\treturn this.get('/api/v1/me', authToken, userId);\n\t}\n\n\tpublic async setUserStatus(authToken: string, userId: string, status: string): Promise {\n\t\treturn this.post('/api/v1/users.setStatus', authToken, userId, {\n\t\t\tmessage: '',\n\t\t\tstatus,\n\t\t});\n\t}\n\n\tpublic async createUserToken(userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.createToken', {\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async logoutUser(authToken: string, userId: string): Promise {\n\t\treturn this.post('/api/v1/logout', authToken, userId, {});\n\t}\n\n\tpublic async getUserList(queryString: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/users.list?${queryString}`);\n\t}\n\n\tpublic async unarchiveGroup(groupName: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.unarchive', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async archiveGroup(groupName: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.archive', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async kickUserFromGroup(groupName: string, userId: string): Promise {\n\t\tconst groupInfo: RocketChatGroupModel = await this.getGroupData(groupName);\n\n\t\treturn this.postAsAdmin('/api/v1/groups.kick', {\n\t\t\troomId: groupInfo.group._id,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async inviteUserToGroup(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.invite', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async addGroupModerator(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.addModerator', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async removeGroupModerator(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.removeModerator', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async getGroupModerators(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.moderators?roomName=${groupName}`);\n\t}\n\n\tpublic async getGroupMembers(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.members?roomName=${groupName}`);\n\t}\n\n\tprivate async getGroupData(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.info?roomName=${groupName}`);\n\t}\n\n\tpublic async createGroup(name: string, members: string[]): Promise {\n\t\t// group.name is only used\n\t\treturn this.postAsAdmin('/api/v1/groups.create', {\n\t\t\tname,\n\t\t\tmembers,\n\t\t});\n\t}\n\n\tpublic async deleteGroup(groupName: string): Promise {\n\t\t// group.name is only used\n\t\treturn this.postAsAdmin('/api/v1/groups.delete', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async createUser(email: string, password: string, username: string, name: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.create', {\n\t\t\temail,\n\t\t\tpassword,\n\t\t\tusername,\n\t\t\tname,\n\t\t\tverified: true,\n\t\t});\n\t}\n\n\tpublic async deleteUser(username: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.delete', {\n\t\t\tusername,\n\t\t});\n\t}\n\n\tprivate async postAsAdmin(path: string, body: GenericData): Promise {\n\t\tconst adminIdAndToken = await this.getAdminIdAndToken();\n\t\treturn this.post(path, adminIdAndToken.token, adminIdAndToken.id, body);\n\t}\n\n\tprivate async getAsAdmin(path: string): Promise {\n\t\tconst adminIdAndToken = await this.getAdminIdAndToken();\n\t\treturn this.get(path, adminIdAndToken.token, adminIdAndToken.id);\n\t}\n\n\tprivate async get(path: string, authToken: string, userId: string): Promise {\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.get(`${this.options.uri}${path}`, {\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'X-Auth-Token': authToken,\n\t\t\t\t\t\t'X-User-ID': userId,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\t\treturn response?.data as Type;\n\t}\n\n\tprivate async post(path: string, authToken: string, userId: string, body: GenericData): Promise {\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.post(`${this.options.uri}${path}`, body, {\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'X-Auth-Token': authToken,\n\t\t\t\t\t\t'X-User-ID': userId,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\t\treturn response?.data as GenericData;\n\t}\n\n\tprivate async getAdminIdAndToken(): Promise {\n\t\tthis.validateRocketChatConfig();\n\n\t\tif (this.adminIdAndToken) {\n\t\t\treturn this.adminIdAndToken;\n\t\t}\n\n\t\tif (this.options.adminId && this.options.adminToken) {\n\t\t\tconst newVar = { id: this.options.adminId, token: this.options.adminToken } as AdminIdAndToken;\n\t\t\tthis.adminIdAndToken = newVar;\n\t\t\treturn newVar;\n\t\t}\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.post(`${this.options.uri}/api/v1/login`, {\n\t\t\t\t\tuser: this.options.adminUser,\n\t\t\t\t\tpassword: this.options.adminPassword,\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\tconst responseJson = response?.data;\n\t\tthis.adminIdAndToken = {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\tid: responseJson.data.userId as string,\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\ttoken: responseJson.data.authToken as string,\n\t\t} as AdminIdAndToken;\n\t\treturn this.adminIdAndToken;\n\t}\n\n\tprivate validateRocketChatConfig(): void {\n\t\tif (!this.options.uri) {\n\t\t\tthrow new Error('rocket chat uri not set');\n\t\t}\n\t\tif (!(this.options.adminId && this.options.adminToken) && !(this.options.adminUser && this.options.adminPassword)) {\n\t\t\tthrow new Error('rocket chat adminId and adminToken OR adminUser and adminPassword must be set');\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AjaxGetQueryParams.html":{"url":"classes/AjaxGetQueryParams.html","title":"class - AjaxGetQueryParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AjaxGetQueryParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/ajax/get.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n action\n \n \n \n \n Optional\n language\n \n \n \n \n Optional\n machineName\n \n \n \n \n Optional\n majorVersion\n \n \n \n \n Optional\n minorVersion\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n action\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/get.params.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n language\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/get.params.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n machineName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/get.params.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n majorVersion\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/get.params.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n minorVersion\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/get.params.ts:18\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsNotEmpty, IsOptional, IsString } from 'class-validator';\n\nexport class AjaxGetQueryParams {\n\t@IsString()\n\t@IsNotEmpty()\n\taction!: string;\n\n\t@IsString()\n\t@IsOptional()\n\tmachineName?: string;\n\n\t@IsString()\n\t@IsOptional()\n\tmajorVersion?: string;\n\n\t@IsString()\n\t@IsOptional()\n\tminorVersion?: string;\n\n\t@IsString()\n\t@IsOptional()\n\tlanguage?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AjaxPostBodyParamsTransformPipe.html":{"url":"injectables/AjaxPostBodyParamsTransformPipe.html","title":"injectable - AjaxPostBodyParamsTransformPipe","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AjaxPostBodyParamsTransformPipe\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/ajax/post.body.params.transform-pipe.ts\n \n\n\n \n Description\n \n \n This transform pipe allows nest to validate the incoming request.\nSince H5P does sent bodies with different shapes, this custom ValidationPipe makes sure the different cases are correctly validated.\n\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n transform\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n transform\n \n \n \n \n \n \n \n transform(value: AjaxPostBodyParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/post.body.params.transform-pipe.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n AjaxPostBodyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise<>\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, PipeTransform, ValidationPipe } from '@nestjs/common';\nimport { plainToClass } from 'class-transformer';\nimport { validate } from 'class-validator';\nimport {\n\tAjaxPostBodyParams,\n\tLibrariesBodyParams,\n\tContentBodyParams,\n\tLibraryParametersBodyParams,\n} from './post.body.params';\n\n/**\n * This transform pipe allows nest to validate the incoming request.\n * Since H5P does sent bodies with different shapes, this custom ValidationPipe makes sure the different cases are correctly validated.\n */\n\n@Injectable()\nexport class AjaxPostBodyParamsTransformPipe implements PipeTransform {\n\tasync transform(value: AjaxPostBodyParams): Promise {\n\t\tif (value === undefined) {\n\t\t\treturn undefined;\n\t\t}\n\t\tif ('libraries' in value) {\n\t\t\tvalue = plainToClass(LibrariesBodyParams, value);\n\t\t} else if ('contentId' in value) {\n\t\t\tvalue = plainToClass(ContentBodyParams, value);\n\t\t} else if ('libraryParameters' in value) {\n\t\t\tvalue = plainToClass(LibraryParametersBodyParams, value);\n\t\t}\n\n\t\tconst validationResult = await validate(value);\n\t\tif (validationResult.length > 0) {\n\t\t\tconst validationPipe = new ValidationPipe();\n\t\t\tconst exceptionFactory = validationPipe.createExceptionFactory();\n\t\t\tthrow exceptionFactory(validationResult);\n\t\t}\n\n\t\treturn value;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AjaxPostQueryParams.html":{"url":"classes/AjaxPostQueryParams.html","title":"class - AjaxPostQueryParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AjaxPostQueryParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/ajax/post.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n action\n \n \n \n \n Optional\n id\n \n \n \n \n Optional\n language\n \n \n \n \n Optional\n machineName\n \n \n \n \n Optional\n majorVersion\n \n \n \n \n Optional\n minorVersion\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n action\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/post.params.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/post.params.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n language\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/post.params.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n machineName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/post.params.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n majorVersion\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/post.params.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n minorVersion\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/post.params.ts:18\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsNotEmpty, IsOptional, IsString } from 'class-validator';\n\nexport class AjaxPostQueryParams {\n\t@IsString()\n\t@IsNotEmpty()\n\taction!: string;\n\n\t@IsString()\n\t@IsOptional()\n\tmachineName?: string;\n\n\t@IsString()\n\t@IsOptional()\n\tmajorVersion?: string;\n\n\t@IsString()\n\t@IsOptional()\n\tminorVersion?: string;\n\n\t@IsString()\n\t@IsOptional()\n\tlanguage?: string;\n\n\t@IsString()\n\t@IsOptional()\n\tid?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AntivirusModule.html":{"url":"modules/AntivirusModule.html","title":"module - AntivirusModule","body":"\n \n\n\n\n\n Modules\n AntivirusModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/antivirus/antivirus.module.ts\n \n\n\n\n\n\n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options: AntivirusModuleOptions)\n \n \n\n\n \n \n Defined in apps/server/src/infra/antivirus/antivirus.module.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n AntivirusModuleOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { DynamicModule, Module } from '@nestjs/common';\nimport NodeClam from 'clamscan';\nimport { AntivirusService } from './antivirus.service';\nimport { AntivirusModuleOptions } from './interfaces';\n\n@Module({})\nexport class AntivirusModule {\n\tstatic forRoot(options: AntivirusModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: AntivirusModule,\n\t\t\tproviders: [\n\t\t\t\tAntivirusService,\n\t\t\t\t{\n\t\t\t\t\tprovide: 'ANTIVIRUS_SERVICE_OPTIONS',\n\t\t\t\t\tuseValue: {\n\t\t\t\t\t\tenabled: options.enabled,\n\t\t\t\t\t\tfilesServiceBaseUrl: options.filesServiceBaseUrl,\n\t\t\t\t\t\texchange: options.exchange,\n\t\t\t\t\t\troutingKey: options.routingKey,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tprovide: NodeClam,\n\t\t\t\t\tuseFactory: () => {\n\t\t\t\t\t\tconst isLocalhost = options.hostname === 'localhost';\n\n\t\t\t\t\t\treturn new NodeClam().init({\n\t\t\t\t\t\t\tdebugMode: isLocalhost,\n\t\t\t\t\t\t\tclamdscan: {\n\t\t\t\t\t\t\t\thost: options.hostname,\n\t\t\t\t\t\t\t\tport: options.port,\n\t\t\t\t\t\t\t\tbypassTest: isLocalhost,\n\t\t\t\t\t\t\t\tlocalFallback: false,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\n\t\t\texports: [AntivirusService],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AntivirusModuleOptions.html":{"url":"interfaces/AntivirusModuleOptions.html","title":"interface - AntivirusModuleOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AntivirusModuleOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/antivirus/interfaces/antivirus.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n enabled\n \n \n \n \n exchange\n \n \n \n \n filesServiceBaseUrl\n \n \n \n \n hostname\n \n \n \n \n port\n \n \n \n \n routingKey\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n enabled\n \n \n \n \n \n \n \n \n enabled: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n exchange\n \n \n \n \n \n \n \n \n exchange: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n filesServiceBaseUrl\n \n \n \n \n \n \n \n \n filesServiceBaseUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n hostname\n \n \n \n \n \n \n \n \n hostname: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n port\n \n \n \n \n \n \n \n \n port: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n routingKey\n \n \n \n \n \n \n \n \n routingKey: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface AntivirusModuleOptions {\n\tenabled: boolean;\n\tfilesServiceBaseUrl: string;\n\texchange: string;\n\troutingKey: string;\n\thostname: string;\n\tport: number;\n}\n\nexport interface AntivirusServiceOptions {\n\tenabled: boolean;\n\tfilesServiceBaseUrl: string;\n\texchange: string;\n\troutingKey: string;\n}\n\nexport interface ScanResult {\n\tvirus_detected?: boolean;\n\tvirus_signature?: string;\n\terror?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AntivirusService.html":{"url":"injectables/AntivirusService.html","title":"injectable - AntivirusService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AntivirusService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/antivirus/antivirus.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n checkStream\n \n \n Private\n getUrl\n \n \n Public\n Async\n send\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(amqpConnection: AmqpConnection, options: AntivirusServiceOptions, clamConnection: NodeClam)\n \n \n \n \n Defined in apps/server/src/infra/antivirus/antivirus.service.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n amqpConnection\n \n \n AmqpConnection\n \n \n \n No\n \n \n \n \n options\n \n \n AntivirusServiceOptions\n \n \n \n No\n \n \n \n \n clamConnection\n \n \n NodeClam\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n checkStream\n \n \n \n \n \n \n \n checkStream(stream: Readable)\n \n \n\n\n \n \n Defined in apps/server/src/infra/antivirus/antivirus.service.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n stream\n \n Readable\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getUrl\n \n \n \n \n \n \n \n getUrl(path: string, token: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/antivirus/antivirus.service.ts:62\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n path\n \n string\n \n\n \n No\n \n\n\n \n \n token\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n send\n \n \n \n \n \n \n \n send(requestToken: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/infra/antivirus/antivirus.service.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n requestToken\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AmqpConnection } from '@golevelup/nestjs-rabbitmq';\nimport { Inject, Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { ErrorUtils } from '@src/core/error/utils';\nimport { API_VERSION_PATH, FilesStorageInternalActions } from '@modules/files-storage/files-storage.const';\nimport NodeClam from 'clamscan';\nimport { Readable } from 'stream';\nimport { AntivirusServiceOptions, ScanResult } from './interfaces';\n\n@Injectable()\nexport class AntivirusService {\n\tconstructor(\n\t\tprivate readonly amqpConnection: AmqpConnection,\n\t\t@Inject('ANTIVIRUS_SERVICE_OPTIONS') private readonly options: AntivirusServiceOptions,\n\t\tprivate readonly clamConnection: NodeClam\n\t) {}\n\n\tpublic async checkStream(stream: Readable) {\n\t\tconst scanResult: ScanResult = {\n\t\t\tvirus_detected: undefined,\n\t\t\tvirus_signature: undefined,\n\t\t\terror: undefined,\n\t\t};\n\t\ttry {\n\t\t\tconst { isInfected, viruses } = await this.clamConnection.scanStream(stream);\n\t\t\tif (isInfected === true) {\n\t\t\t\tscanResult.virus_detected = true;\n\t\t\t\tscanResult.virus_signature = viruses.join(',');\n\t\t\t} else if (isInfected === null) {\n\t\t\t\tscanResult.virus_detected = undefined;\n\t\t\t\tscanResult.error = '';\n\t\t\t} else {\n\t\t\t\tscanResult.virus_detected = false;\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tthrow new InternalServerErrorException(\n\t\t\t\tnull,\n\t\t\t\tErrorUtils.createHttpExceptionOptions(err, 'AntivirusService:checkStream')\n\t\t\t);\n\t\t}\n\n\t\treturn scanResult;\n\t}\n\n\tpublic async send(requestToken: string | undefined): Promise {\n\t\ttry {\n\t\t\tif (this.options.enabled && requestToken) {\n\t\t\t\tconst downloadUri = this.getUrl(FilesStorageInternalActions.downloadBySecurityToken, requestToken);\n\t\t\t\tconst callbackUri = this.getUrl(FilesStorageInternalActions.updateSecurityStatus, requestToken);\n\n\t\t\t\tawait this.amqpConnection.publish(\n\t\t\t\t\tthis.options.exchange,\n\t\t\t\t\tthis.options.routingKey,\n\t\t\t\t\t{ download_uri: downloadUri, callback_uri: callbackUri },\n\t\t\t\t\t{ persistent: true }\n\t\t\t\t);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tthrow new InternalServerErrorException(null, ErrorUtils.createHttpExceptionOptions(err, 'AntivirusService:send'));\n\t\t}\n\t}\n\n\tprivate getUrl(path: string, token: string): string {\n\t\tconst newPath = path.replace(':token', encodeURIComponent(token));\n\t\tconst url = new URL(`${API_VERSION_PATH}${newPath}`, this.options.filesServiceBaseUrl);\n\n\t\treturn url.href;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AntivirusServiceOptions.html":{"url":"interfaces/AntivirusServiceOptions.html","title":"interface - AntivirusServiceOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AntivirusServiceOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/antivirus/interfaces/antivirus.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n enabled\n \n \n \n \n exchange\n \n \n \n \n filesServiceBaseUrl\n \n \n \n \n routingKey\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n enabled\n \n \n \n \n \n \n \n \n enabled: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n exchange\n \n \n \n \n \n \n \n \n exchange: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n filesServiceBaseUrl\n \n \n \n \n \n \n \n \n filesServiceBaseUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n routingKey\n \n \n \n \n \n \n \n \n routingKey: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface AntivirusModuleOptions {\n\tenabled: boolean;\n\tfilesServiceBaseUrl: string;\n\texchange: string;\n\troutingKey: string;\n\thostname: string;\n\tport: number;\n}\n\nexport interface AntivirusServiceOptions {\n\tenabled: boolean;\n\tfilesServiceBaseUrl: string;\n\texchange: string;\n\troutingKey: string;\n}\n\nexport interface ScanResult {\n\tvirus_detected?: boolean;\n\tvirus_signature?: string;\n\terror?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ApiValidationError.html":{"url":"classes/ApiValidationError.html","title":"class - ApiValidationError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ApiValidationError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/error/api-validation.error.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(validationErrors: ValidationError[])\n \n \n \n \n Defined in apps/server/src/shared/common/error/api-validation.error.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n validationErrors\n \n \n ValidationError[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus, ValidationError } from '@nestjs/common';\nimport { BusinessError } from './business.error';\n\nexport class ApiValidationError extends BusinessError {\n\tconstructor(readonly validationErrors: ValidationError[] = []) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'API_VALIDATION_ERROR',\n\t\t\t\ttitle: 'API Validation Error',\n\t\t\t\tdefaultMessage: 'API validation failed, see validationErrors for details',\n\t\t\t},\n\t\t\tHttpStatus.BAD_REQUEST\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ApiValidationErrorResponse.html":{"url":"classes/ApiValidationErrorResponse.html","title":"class - ApiValidationErrorResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ApiValidationErrorResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/error/dto/api-validation-error.response.ts\n \n\n\n \n Description\n \n \n HTTP response definition for api validation errors.\n\n \n\n \n Extends\n \n \n ErrorResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n validationErrors\n \n \n Readonly\n code\n \n \n Readonly\n Optional\n details\n \n \n Readonly\n message\n \n \n Readonly\n title\n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n extractValidationErrorDetails\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(apiValidationError: ApiValidationError)\n \n \n \n \n Defined in apps/server/src/core/error/dto/api-validation-error.response.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n apiValidationError\n \n \n ApiValidationError\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n validationErrors\n \n \n \n \n \n \n Type : ValidationErrorDetailResponse[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in apps/server/src/core/error/dto/api-validation-error.response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Inherited from ErrorResponse\n\n \n \n \n \n Defined in ErrorResponse:25\n\n \n \n\n \n \n Must match HTTP error code\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Inherited from ErrorResponse\n\n \n \n \n \n Defined in ErrorResponse:30\n\n \n \n\n \n \n Additional custom details about the error\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from ErrorResponse\n\n \n \n \n \n Defined in ErrorResponse:20\n\n \n \n\n \n \n Additional custom information about the error\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from ErrorResponse\n\n \n \n \n \n Defined in ErrorResponse:15\n\n \n \n\n \n \n Description about the type, unique by type, format: Sentence case\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from ErrorResponse\n\n \n \n \n \n Defined in ErrorResponse:10\n\n \n \n\n \n \n Unambiguous error identifier, format: UPPERCASE_SNAKE_CASE\n\n \n \n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n extractValidationErrorDetails\n \n \n \n \n \n \n \n extractValidationErrorDetails(validationError: ValidationError, parentPropertyPath: string[])\n \n \n\n\n \n \n Defined in apps/server/src/core/error/dto/api-validation-error.response.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n validationError\n \n ValidationError\n \n\n \n No\n \n\n \n \n\n \n \n parentPropertyPath\n \n string[]\n \n\n \n No\n \n\n \n []\n \n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ValidationError } from '@nestjs/common';\nimport { ApiValidationError } from '@shared/common';\nimport { ErrorResponse } from './error.response';\nimport { ValidationErrorDetailResponse } from './validation-error-detail.response';\n\n/**\n * HTTP response definition for api validation errors.\n */\nexport class ApiValidationErrorResponse extends ErrorResponse {\n\tvalidationErrors: ValidationErrorDetailResponse[] = [];\n\n\tconstructor(apiValidationError: ApiValidationError) {\n\t\tconst { type, title, message, code } = apiValidationError;\n\t\tsuper(type, title, message, code);\n\n\t\tapiValidationError.validationErrors.forEach((validationError: ValidationError) => {\n\t\t\tthis.extractValidationErrorDetails(validationError);\n\t\t});\n\t}\n\n\tprivate extractValidationErrorDetails(validationError: ValidationError, parentPropertyPath: string[] = []): void {\n\t\tconst propertyPath: string[] = [...parentPropertyPath];\n\t\tif (validationError.property) {\n\t\t\tpropertyPath.push(validationError.property);\n\t\t}\n\n\t\tif (validationError.constraints) {\n\t\t\tconst errors: string[] = Object.values(validationError.constraints);\n\t\t\tthis.validationErrors.push(new ValidationErrorDetailResponse(propertyPath, errors));\n\t\t}\n\n\t\tif (validationError.children) {\n\t\t\tvalidationError.children.forEach((childError: ValidationError) =>\n\t\t\t\tthis.extractValidationErrorDetails(childError, propertyPath)\n\t\t\t);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AppStartInfo.html":{"url":"interfaces/AppStartInfo.html","title":"interface - AppStartInfo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AppStartInfo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/apps/helpers/app-start-loggable.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n appName\n \n \n \n Optional\n \n basePath\n \n \n \n Optional\n \n mountsDescription\n \n \n \n Optional\n \n port\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n appName\n \n \n \n \n \n \n \n \n appName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n basePath\n \n \n \n \n \n \n \n \n basePath: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n mountsDescription\n \n \n \n \n \n \n \n \n mountsDescription: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n port\n \n \n \n \n \n \n \n \n port: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Loggable, LogMessage, LogMessageData } from '@src/core/logger';\n\ninterface AppStartInfo {\n\tappName: string;\n\tport?: number;\n\tbasePath?: string;\n\tmountsDescription?: string;\n}\n\nexport class AppStartLoggable implements Loggable {\n\tconstructor(private readonly info: AppStartInfo) {}\n\n\tgetLogMessage(): LogMessage {\n\t\tconst data: LogMessageData = { appName: this.info.appName };\n\n\t\tif (this.info.port !== undefined) {\n\t\t\tdata.port = this.info.port;\n\t\t}\n\n\t\tif (this.info.basePath !== undefined) {\n\t\t\tdata.basePath = this.info.basePath;\n\t\t}\n\n\t\tif (this.info.mountsDescription !== undefined) {\n\t\t\tdata.mountsDescription = this.info.mountsDescription;\n\t\t}\n\n\t\treturn {\n\t\t\tmessage: 'Successfully started listening...',\n\t\t\tdata,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AppStartLoggable.html":{"url":"classes/AppStartLoggable.html","title":"class - AppStartLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AppStartLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/apps/helpers/app-start-loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(info: AppStartInfo)\n \n \n \n \n Defined in apps/server/src/apps/helpers/app-start-loggable.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n info\n \n \n AppStartInfo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/apps/helpers/app-start-loggable.ts:13\n \n \n\n\n \n \n\n \n Returns : LogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Loggable, LogMessage, LogMessageData } from '@src/core/logger';\n\ninterface AppStartInfo {\n\tappName: string;\n\tport?: number;\n\tbasePath?: string;\n\tmountsDescription?: string;\n}\n\nexport class AppStartLoggable implements Loggable {\n\tconstructor(private readonly info: AppStartInfo) {}\n\n\tgetLogMessage(): LogMessage {\n\t\tconst data: LogMessageData = { appName: this.info.appName };\n\n\t\tif (this.info.port !== undefined) {\n\t\t\tdata.port = this.info.port;\n\t\t}\n\n\t\tif (this.info.basePath !== undefined) {\n\t\t\tdata.basePath = this.info.basePath;\n\t\t}\n\n\t\tif (this.info.mountsDescription !== undefined) {\n\t\t\tdata.mountsDescription = this.info.mountsDescription;\n\t\t}\n\n\t\treturn {\n\t\t\tmessage: 'Successfully started listening...',\n\t\t\tdata,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AppendedAttachment.html":{"url":"interfaces/AppendedAttachment.html","title":"interface - AppendedAttachment","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AppendedAttachment\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/mail/mail.interface.ts\n \n\n\n\n \n Extends\n \n \n MailAttachment\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contentDisposition\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contentDisposition\n \n \n \n \n \n \n \n \n contentDisposition: \n\n \n \n\n\n\n\n\n\n\n \n \n \n \n\n\n \n interface MailAttachment {\n\tbase64Content: string;\n\n\tmimeType: string;\n\n\tname: string;\n}\n\ninterface InlineAttachment extends MailAttachment {\n\tcontentDisposition: 'INLINE';\n\n\tcontentId: string;\n}\n\ninterface AppendedAttachment extends MailAttachment {\n\tcontentDisposition: 'ATTACHMENT';\n}\n\ninterface MailContent {\n\tsubject: string;\n\n\tattachments?: (InlineAttachment | AppendedAttachment)[];\n}\n\ninterface PlainTextMailContent extends MailContent {\n\thtmlContent?: string;\n\n\tplainTextContent: string;\n}\n\ninterface HtmlMailContent extends MailContent {\n\thtmlContent: string;\n\n\tplainTextContent?: string;\n}\n\nexport interface Mail {\n\tmail: PlainTextMailContent | HtmlMailContent;\n\n\trecipients: string[];\n\n\tfrom?: string;\n\n\tcc?: string[];\n\n\tbcc?: string[];\n\n\treplyTo?: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AuthCodeFailureLoggableException.html":{"url":"classes/AuthCodeFailureLoggableException.html","title":"class - AuthCodeFailureLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AuthCodeFailureLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/loggable/auth-code-failure-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n OauthSsoErrorLoggableException\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(errorCode?: string)\n \n \n \n \n Defined in apps/server/src/modules/oauth/loggable/auth-code-failure-loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n errorCode\n \n \n string\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \n \n getLogMessage()\n \n \n\n\n \n \n Inherited from OauthSsoErrorLoggableException\n\n \n \n \n \n Defined in OauthSsoErrorLoggableException:9\n\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { OauthSsoErrorLoggableException } from './oauth-sso-error-loggable-exception';\n\nexport class AuthCodeFailureLoggableException extends OauthSsoErrorLoggableException {\n\tconstructor(private readonly errorCode?: string) {\n\t\tsuper(errorCode ?? 'sso_auth_code_step', 'Authorization Query Object has no authorization code or error');\n\t}\n\n\toverride getLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'SSO_AUTH_CODE_STEP',\n\t\t\tmessage: 'Authorization Query Object has no authorization code or error',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\terrorCode: this.errorCode,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AuthenticationApiModule.html":{"url":"modules/AuthenticationApiModule.html","title":"module - AuthenticationApiModule","body":"\n \n\n\n\n\n Modules\n AuthenticationApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_AuthenticationApiModule\n\n\n\ncluster_AuthenticationApiModule_providers\n\n\n\ncluster_AuthenticationApiModule_imports\n\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\n\n\nAuthenticationApiModule\n\nAuthenticationApiModule\n\nAuthenticationApiModule -->\n\nAuthenticationModule->AuthenticationApiModule\n\n\n\n\n\nLoginUc\n\nLoginUc\n\nAuthenticationApiModule -->\n\nLoginUc->AuthenticationApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/authentication/authentication-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n LoginUc\n \n \n \n \n Controllers\n \n \n LoginController\n \n \n \n \n Imports\n \n \n AuthenticationModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { AuthenticationModule } from './authentication.module';\nimport { LoginController } from './controllers/login.controller';\nimport { LoginUc } from './uc/login.uc';\n\n@Module({\n\timports: [AuthenticationModule],\n\tproviders: [LoginUc],\n\tcontrollers: [LoginController],\n\texports: [],\n})\nexport class AuthenticationApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AuthenticationCodeGrantTokenRequest.html":{"url":"classes/AuthenticationCodeGrantTokenRequest.html","title":"class - AuthenticationCodeGrantTokenRequest","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AuthenticationCodeGrantTokenRequest\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/service/dto/authentication-code-grant-token.request.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n client_id\n \n \n client_secret\n \n \n code\n \n \n grant_type\n \n \n redirect_uri\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: AuthenticationCodeGrantTokenRequest)\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/authentication-code-grant-token.request.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n AuthenticationCodeGrantTokenRequest\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n client_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/authentication-code-grant-token.request.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n client_secret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/authentication-code-grant-token.request.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n code\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/authentication-code-grant-token.request.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n grant_type\n \n \n \n \n \n \n Type : OAuthGrantType.AUTHORIZATION_CODE_GRANT\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/authentication-code-grant-token.request.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n redirect_uri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/authentication-code-grant-token.request.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { OAuthGrantType } from '../../interface/oauth-grant-type.enum';\n\nexport class AuthenticationCodeGrantTokenRequest {\n\tclient_id: string;\n\n\tclient_secret: string;\n\n\tredirect_uri: string;\n\n\tgrant_type: OAuthGrantType.AUTHORIZATION_CODE_GRANT;\n\n\tcode: string;\n\n\tconstructor(props: AuthenticationCodeGrantTokenRequest) {\n\t\tthis.client_id = props.client_id;\n\t\tthis.client_secret = props.client_secret;\n\t\tthis.redirect_uri = props.redirect_uri;\n\t\tthis.grant_type = props.grant_type;\n\t\tthis.code = props.code;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AuthenticationModule.html":{"url":"modules/AuthenticationModule.html","title":"module - AuthenticationModule","body":"\n \n\n\n\n\n Modules\n AuthenticationModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_AuthenticationModule\n\n\n\ncluster_AuthenticationModule_providers\n\n\n\ncluster_AuthenticationModule_imports\n\n\n\ncluster_AuthenticationModule_exports\n\n\n\n\nAccountModule\n\nAccountModule\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\nAuthenticationModule -->\n\nAccountModule->AuthenticationModule\n\n\n\n\n\nCacheWrapperModule\n\nCacheWrapperModule\n\nAuthenticationModule -->\n\nCacheWrapperModule->AuthenticationModule\n\n\n\n\n\nIdentityManagementModule\n\nIdentityManagementModule\n\nAuthenticationModule -->\n\nIdentityManagementModule->AuthenticationModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nAuthenticationModule -->\n\nLoggerModule->AuthenticationModule\n\n\n\n\n\nOauthModule\n\nOauthModule\n\nAuthenticationModule -->\n\nOauthModule->AuthenticationModule\n\n\n\n\n\nRoleModule\n\nRoleModule\n\nAuthenticationModule -->\n\nRoleModule->AuthenticationModule\n\n\n\n\n\nSystemModule\n\nSystemModule\n\nAuthenticationModule -->\n\nSystemModule->AuthenticationModule\n\n\n\n\n\nAuthenticationService \n\nAuthenticationService \n\nAuthenticationService -->\n\nAuthenticationModule->AuthenticationService \n\n\n\n\n\nAuthenticationService\n\nAuthenticationService\n\nAuthenticationModule -->\n\nAuthenticationService->AuthenticationModule\n\n\n\n\n\nJwtStrategy\n\nJwtStrategy\n\nAuthenticationModule -->\n\nJwtStrategy->AuthenticationModule\n\n\n\n\n\nJwtValidationAdapter\n\nJwtValidationAdapter\n\nAuthenticationModule -->\n\nJwtValidationAdapter->AuthenticationModule\n\n\n\n\n\nLdapService\n\nLdapService\n\nAuthenticationModule -->\n\nLdapService->AuthenticationModule\n\n\n\n\n\nLdapStrategy\n\nLdapStrategy\n\nAuthenticationModule -->\n\nLdapStrategy->AuthenticationModule\n\n\n\n\n\nLegacySchoolRepo\n\nLegacySchoolRepo\n\nAuthenticationModule -->\n\nLegacySchoolRepo->AuthenticationModule\n\n\n\n\n\nLegacySystemRepo\n\nLegacySystemRepo\n\nAuthenticationModule -->\n\nLegacySystemRepo->AuthenticationModule\n\n\n\n\n\nLocalStrategy\n\nLocalStrategy\n\nAuthenticationModule -->\n\nLocalStrategy->AuthenticationModule\n\n\n\n\n\nOauth2Strategy\n\nOauth2Strategy\n\nAuthenticationModule -->\n\nOauth2Strategy->AuthenticationModule\n\n\n\n\n\nUserRepo\n\nUserRepo\n\nAuthenticationModule -->\n\nUserRepo->AuthenticationModule\n\n\n\n\n\nXApiKeyStrategy\n\nXApiKeyStrategy\n\nAuthenticationModule -->\n\nXApiKeyStrategy->AuthenticationModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/authentication/authentication.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n AuthenticationService\n \n \n JwtStrategy\n \n \n JwtValidationAdapter\n \n \n LdapService\n \n \n LdapStrategy\n \n \n LegacySchoolRepo\n \n \n LegacySystemRepo\n \n \n LocalStrategy\n \n \n Oauth2Strategy\n \n \n UserRepo\n \n \n XApiKeyStrategy\n \n \n \n \n Imports\n \n \n AccountModule\n \n \n CacheWrapperModule\n \n \n IdentityManagementModule\n \n \n LoggerModule\n \n \n OauthModule\n \n \n RoleModule\n \n \n SystemModule\n \n \n \n \n Exports\n \n \n AuthenticationService\n \n \n \n \n \n\n\n \n\n\n \n import { CacheWrapperModule } from '@infra/cache';\nimport { IdentityManagementModule } from '@infra/identity-management';\nimport { AccountModule } from '@modules/account';\nimport { OauthModule } from '@modules/oauth/oauth.module';\nimport { RoleModule } from '@modules/role';\nimport { SystemModule } from '@modules/system';\nimport { Module } from '@nestjs/common';\nimport { JwtModule, JwtModuleOptions } from '@nestjs/jwt';\nimport { PassportModule } from '@nestjs/passport';\nimport { LegacySchoolRepo, LegacySystemRepo, UserRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { Algorithm, SignOptions } from 'jsonwebtoken';\nimport { jwtConstants } from './constants';\nimport { AuthenticationService } from './services/authentication.service';\nimport { LdapService } from './services/ldap.service';\nimport { JwtValidationAdapter } from './strategy/jwt-validation.adapter';\nimport { JwtStrategy } from './strategy/jwt.strategy';\nimport { LdapStrategy } from './strategy/ldap.strategy';\nimport { LocalStrategy } from './strategy/local.strategy';\nimport { Oauth2Strategy } from './strategy/oauth2.strategy';\nimport { XApiKeyStrategy } from './strategy/x-api-key.strategy';\n\n// values copied from Algorithm definition. Type does not exist at runtime and can't be checked anymore otherwise\nconst algorithms = [\n\t'HS256',\n\t'HS384',\n\t'HS512',\n\t'RS256',\n\t'RS384',\n\t'RS512',\n\t'ES256',\n\t'ES384',\n\t'ES512',\n\t'PS256',\n\t'PS384',\n\t'PS512',\n\t'none',\n];\n\nif (!algorithms.includes(jwtConstants.jwtOptions.algorithm)) {\n\tthrow new Error(`${jwtConstants.jwtOptions.algorithm} is not a valid JWT signing algorithm`);\n}\nconst signAlgorithm = jwtConstants.jwtOptions.algorithm as Algorithm;\n\nconst signOptions: SignOptions = {\n\talgorithm: signAlgorithm,\n\taudience: jwtConstants.jwtOptions.audience,\n\texpiresIn: jwtConstants.jwtOptions.expiresIn,\n\tissuer: jwtConstants.jwtOptions.issuer,\n\theader: { ...jwtConstants.jwtOptions.header, alg: signAlgorithm },\n};\nconst jwtModuleOptions: JwtModuleOptions = {\n\tsecret: jwtConstants.secret,\n\tsignOptions,\n\tverifyOptions: signOptions,\n};\n@Module({\n\timports: [\n\t\tLoggerModule,\n\t\tPassportModule,\n\t\tJwtModule.register(jwtModuleOptions),\n\t\tAccountModule,\n\t\tSystemModule,\n\t\tOauthModule,\n\t\tRoleModule,\n\t\tIdentityManagementModule,\n\t\tCacheWrapperModule,\n\t],\n\tproviders: [\n\t\tJwtStrategy,\n\t\tJwtValidationAdapter,\n\t\tUserRepo,\n\t\tLegacySystemRepo,\n\t\tLegacySchoolRepo,\n\t\tLocalStrategy,\n\t\tAuthenticationService,\n\t\tLdapService,\n\t\tLdapStrategy,\n\t\tOauth2Strategy,\n\t\tXApiKeyStrategy,\n\t],\n\texports: [AuthenticationService],\n})\nexport class AuthenticationModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AuthenticationResponse.html":{"url":"interfaces/AuthenticationResponse.html","title":"interface - AuthenticationResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AuthenticationResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/test-api-client.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n accessToken\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n accessToken\n \n \n \n \n \n \n \n \n accessToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { INestApplication } from '@nestjs/common';\nimport { Account } from '@shared/domain/entity';\nimport supertest, { Response } from 'supertest';\nimport { defaultTestPassword } from './factory/account.factory';\n\ninterface AuthenticationResponse {\n\taccessToken: string;\n}\n\nconst headerConst = {\n\taccept: 'accept',\n\tjson: 'application/json',\n};\n\nconst testReqestConst = {\n\tprefix: 'Bearer',\n\tloginPath: '/authentication/local',\n\taccessToken: 'accessToken',\n\terrorMessage: 'TestApiClient: Can not cast to local AutenticationResponse:',\n};\n\n/**\n * Note res.cookie is not supported atm, feel free to add this\n */\nexport class TestApiClient {\n\tprivate readonly app: INestApplication;\n\n\tprivate readonly baseRoute: string;\n\n\tprivate readonly formattedJwt: string;\n\n\tconstructor(app: INestApplication, baseRoute: string, jwt?: string) {\n\t\tthis.app = app;\n\t\tthis.baseRoute = this.checkAndAddPrefix(baseRoute);\n\t\tthis.formattedJwt = `${testReqestConst.prefix} ${jwt || ''}`;\n\t}\n\n\tpublic get(subPath?: string): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer()).get(path).set('authorization', this.formattedJwt);\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic delete(subPath?: string): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer())\n\t\t\t.delete(path)\n\t\t\t.set('authorization', this.formattedJwt);\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic put(subPath?: string, data = {}): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer())\n\t\t\t.put(path)\n\t\t\t.set('authorization', this.formattedJwt)\n\t\t\t.send(data);\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic patch(subPath?: string, data = {}): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer())\n\t\t\t.patch(path)\n\t\t\t.set('authorization', this.formattedJwt)\n\t\t\t.send(data);\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic post(subPath?: string, data = {}): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer())\n\t\t\t.post(path)\n\t\t\t.set('authorization', this.formattedJwt)\n\t\t\t.send(data);\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic async login(account: Account): Promise {\n\t\tconst path = testReqestConst.loginPath;\n\t\tconst params: { username: string; password: string } = {\n\t\t\tusername: account.username,\n\t\t\tpassword: defaultTestPassword,\n\t\t};\n\t\tconst response = await supertest(this.app.getHttpServer())\n\t\t\t.post(path)\n\t\t\t.set(headerConst.accept, headerConst.json)\n\t\t\t.send(params);\n\n\t\tconst jwtFromResponse = this.getJwtFromResponse(response);\n\n\t\treturn new (this.constructor as new (app: INestApplication, baseRoute: string, jwt?: string) => this)(\n\t\t\tthis.app,\n\t\t\tthis.baseRoute,\n\t\t\tjwtFromResponse\n\t\t);\n\t}\n\n\tprivate isSlash(inputPath: string, pos: number): boolean {\n\t\tconst isSlash = inputPath.charAt(pos) === '/';\n\n\t\treturn isSlash;\n\t}\n\n\tprivate checkAndAddPrefix(inputPath = '/'): string {\n\t\tlet path = '';\n\t\tif (!this.isSlash(inputPath, 0)) {\n\t\t\tpath = '/';\n\t\t}\n\t\tpath += inputPath;\n\n\t\treturn path;\n\t}\n\n\tprivate cleanupPath(inputPath: string): string {\n\t\tlet path = inputPath;\n\t\tif (this.isSlash(path, 0) && this.isSlash(path, 1)) {\n\t\t\tpath = path.slice(1);\n\t\t}\n\n\t\treturn path;\n\t}\n\n\tprivate getPath(routeNameInput = ''): string {\n\t\tconst routeName = this.checkAndAddPrefix(routeNameInput);\n\t\tconst path = this.cleanupPath(this.baseRoute + routeName);\n\n\t\treturn path;\n\t}\n\n\tprivate isAuthenticationResponse(body: unknown): body is AuthenticationResponse {\n\t\tconst isAuthenticationResponse = typeof body === 'object' && body !== null && testReqestConst.accessToken in body;\n\n\t\treturn isAuthenticationResponse;\n\t}\n\n\tprivate getJwtFromResponse(response: Response): string {\n\t\tif (response.error) {\n\t\t\tconst error = JSON.stringify(response.error);\n\t\t\tthrow new Error(error);\n\t\t}\n\t\tif (!this.isAuthenticationResponse(response.body)) {\n\t\t\tconst body = JSON.stringify(response.body);\n\t\t\tthrow new Error(`${testReqestConst.errorMessage} ${body}`);\n\t\t}\n\t\tconst authenticationResponse = response.body;\n\t\tconst jwt = authenticationResponse.accessToken;\n\n\t\treturn jwt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AuthenticationService.html":{"url":"injectables/AuthenticationService.html","title":"injectable - AuthenticationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AuthenticationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/services/authentication.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n checkBrutForce\n \n \n Async\n generateJwt\n \n \n Async\n loadAccount\n \n \n normalizePassword\n \n \n normalizeUsername\n \n \n Async\n removeJwtFromWhitelist\n \n \n Async\n updateLastTriedFailedLogin\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(jwtService: JwtService, jwtValidationAdapter: JwtValidationAdapter, accountService: AccountService, configService: ConfigService)\n \n \n \n \n Defined in apps/server/src/modules/authentication/services/authentication.service.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n jwtService\n \n \n JwtService\n \n \n \n No\n \n \n \n \n jwtValidationAdapter\n \n \n JwtValidationAdapter\n \n \n \n No\n \n \n \n \n accountService\n \n \n AccountService\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n checkBrutForce\n \n \n \n \n \n \ncheckBrutForce(account: AccountDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/services/authentication.service.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n AccountDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n generateJwt\n \n \n \n \n \n \n \n generateJwt(user: CreateJwtPayload)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/services/authentication.service.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n CreateJwtPayload\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n loadAccount\n \n \n \n \n \n \n \n loadAccount(username: string, systemId?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/services/authentication.service.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n normalizePassword\n \n \n \n \n \n \nnormalizePassword(password: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/services/authentication.service.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n password\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n normalizeUsername\n \n \n \n \n \n \nnormalizeUsername(username: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/services/authentication.service.ts:80\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n removeJwtFromWhitelist\n \n \n \n \n \n \n \n removeJwtFromWhitelist(jwtToken: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/services/authentication.service.ts:57\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n jwtToken\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateLastTriedFailedLogin\n \n \n \n \n \n \n \n updateLastTriedFailedLogin(id: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/services/authentication.service.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AccountService } from '@modules/account';\nimport { Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { JwtService } from '@nestjs/jwt';\n// invalid import\nimport { AccountDto } from '@modules/account/services/dto';\n// invalid import, can produce dependency cycles\nimport type { ServerConfig } from '@modules/server';\nimport { randomUUID } from 'crypto';\nimport jwt, { JwtPayload } from 'jsonwebtoken';\nimport { BruteForceError, UnauthorizedLoggableException } from '../errors';\nimport { CreateJwtPayload } from '../interface/jwt-payload';\nimport { JwtValidationAdapter } from '../strategy/jwt-validation.adapter';\nimport { LoginDto } from '../uc/dto';\n\n@Injectable()\nexport class AuthenticationService {\n\tconstructor(\n\t\tprivate readonly jwtService: JwtService,\n\t\tprivate readonly jwtValidationAdapter: JwtValidationAdapter,\n\t\tprivate readonly accountService: AccountService,\n\t\tprivate readonly configService: ConfigService\n\t) {}\n\n\tasync loadAccount(username: string, systemId?: string): Promise {\n\t\tlet account: AccountDto | undefined | null;\n\n\t\tif (systemId) {\n\t\t\taccount = await this.accountService.findByUsernameAndSystemId(username, systemId);\n\t\t} else {\n\t\t\tconst [accounts] = await this.accountService.searchByUsernameExactMatch(username);\n\t\t\taccount = accounts.find((foundAccount) => foundAccount.systemId == null);\n\t\t}\n\n\t\tif (!account) {\n\t\t\tthrow new UnauthorizedLoggableException(username, systemId);\n\t\t}\n\n\t\treturn account;\n\t}\n\n\tasync generateJwt(user: CreateJwtPayload): Promise {\n\t\tconst jti = randomUUID();\n\n\t\tconst result: LoginDto = new LoginDto({\n\t\t\taccessToken: this.jwtService.sign(user, {\n\t\t\t\tsubject: user.accountId,\n\t\t\t\tjwtid: jti,\n\t\t\t}),\n\t\t});\n\n\t\tawait this.jwtValidationAdapter.addToWhitelist(user.accountId, jti);\n\n\t\treturn result;\n\t}\n\n\tasync removeJwtFromWhitelist(jwtToken: string): Promise {\n\t\tconst decodedJwt: JwtPayload | null = jwt.decode(jwtToken, { json: true });\n\n\t\tif (decodedJwt && decodedJwt.jti && decodedJwt.accountId && typeof decodedJwt.accountId === 'string') {\n\t\t\tawait this.jwtValidationAdapter.removeFromWhitelist(decodedJwt.accountId, decodedJwt.jti);\n\t\t}\n\t}\n\n\tcheckBrutForce(account: AccountDto): void {\n\t\tif (account.lasttriedFailedLogin) {\n\t\t\tconst timeDifference = (new Date().getTime() - account.lasttriedFailedLogin.getTime()) / 1000;\n\n\t\t\tif (timeDifference ('LOGIN_BLOCK_TIME')) {\n\t\t\t\tconst timeToWait = this.configService.get('LOGIN_BLOCK_TIME') - Math.ceil(timeDifference);\n\t\t\t\tthrow new BruteForceError(timeToWait, `Brute Force Prevention! Time to wait: ${timeToWait} s`);\n\t\t\t}\n\t\t}\n\t}\n\n\tasync updateLastTriedFailedLogin(id: string): Promise {\n\t\tawait this.accountService.updateLastTriedFailedLogin(id, new Date());\n\t}\n\n\tnormalizeUsername(username: string): string {\n\t\treturn username.trim().toLowerCase();\n\t}\n\n\tnormalizePassword(password: string): string {\n\t\treturn password.trim();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AuthenticationValues.html":{"url":"classes/AuthenticationValues.html","title":"class - AuthenticationValues","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AuthenticationValues\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/types/authentication-values.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n keyValue\n \n \n secretValue\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: AuthenticationValues)\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/authentication-values.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n AuthenticationValues\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n keyValue\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/authentication-values.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n secretValue\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/authentication-values.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class AuthenticationValues {\n\tkeyValue: string;\n\n\tsecretValue: string;\n\n\tconstructor(props: AuthenticationValues) {\n\t\tthis.keyValue = props.keyValue;\n\t\tthis.secretValue = props.secretValue;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AuthorizableObject.html":{"url":"interfaces/AuthorizableObject.html","title":"interface - AuthorizableObject","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AuthorizableObject\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domain-object.ts\n \n\n\n\n\n\n\n\n \n\n\n \n import { EntityId } from './types';\n\nexport interface AuthorizableObject {\n\tget id(): EntityId;\n}\n\nexport abstract class DomainObject implements AuthorizableObject {\n\tprotected props: T;\n\n\tconstructor(props: T) {\n\t\tthis.props = props;\n\t}\n\n\tpublic get id(): EntityId {\n\t\treturn this.props.id;\n\t}\n\n\tpublic getProps(): T {\n\t\tconst copyProps = { ...this.props };\n\n\t\treturn copyProps;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AuthorizationContext.html":{"url":"interfaces/AuthorizationContext.html","title":"interface - AuthorizationContext","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AuthorizationContext\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/type/authorization-context.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n action\n \n \n \n \n requiredPermissions\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n action\n \n \n \n \n \n \n \n \n action: Action\n\n \n \n\n\n \n \n Type : Action\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n requiredPermissions\n \n \n \n \n \n \n \n \n requiredPermissions: Permission[]\n\n \n \n\n\n \n \n Type : Permission[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Permission } from '@shared/domain/interface';\nimport { Action } from './action.enum';\n\nexport interface AuthorizationContext {\n\taction: Action;\n\trequiredPermissions: Permission[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AuthorizationContextBuilder.html":{"url":"classes/AuthorizationContextBuilder.html","title":"class - AuthorizationContextBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AuthorizationContextBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/mapper/authorization-context.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Static\n build\n \n \n Static\n read\n \n \n Static\n write\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Static\n build\n \n \n \n \n \n \n \n build(requiredPermissions: Permission[], action: Action)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/mapper/authorization-context.builder.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n requiredPermissions\n \n Permission[]\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AuthorizationContext\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n read\n \n \n \n \n \n \n \n read(requiredPermissions: Permission[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/mapper/authorization-context.builder.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n requiredPermissions\n \n Permission[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AuthorizationContext\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n write\n \n \n \n \n \n \n \n write(requiredPermissions: Permission[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/mapper/authorization-context.builder.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n requiredPermissions\n \n Permission[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AuthorizationContext\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Permission } from '@shared/domain/interface';\nimport { Action, AuthorizationContext } from '../type';\n\nexport class AuthorizationContextBuilder {\n\tprivate static build(requiredPermissions: Permission[], action: Action): AuthorizationContext {\n\t\tconst context = { requiredPermissions, action };\n\n\t\treturn context;\n\t}\n\n\tstatic write(requiredPermissions: Permission[]): AuthorizationContext {\n\t\tconst context = this.build(requiredPermissions, Action.write);\n\n\t\treturn context;\n\t}\n\n\tstatic read(requiredPermissions: Permission[]): AuthorizationContext {\n\t\tconst context = this.build(requiredPermissions, Action.read);\n\n\t\treturn context;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AuthorizationError.html":{"url":"classes/AuthorizationError.html","title":"class - AuthorizationError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AuthorizationError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/error/authorization.error.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(message?: string, details?: Record)\n \n \n \n \n Defined in apps/server/src/shared/common/error/authorization.error.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n \n string\n \n \n \n Yes\n \n \n \n \n details\n \n \n Record\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { BusinessError } from './business.error';\n\nexport class AuthorizationError extends BusinessError {\n\tconstructor(message?: string, details?: Record) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'AUTHORIZATION_OPERATION',\n\t\t\t\ttitle: 'Authorization Error',\n\t\t\t\tdefaultMessage: message ?? 'The action could not be authorized.',\n\t\t\t},\n\t\t\tHttpStatus.UNAUTHORIZED,\n\t\t\tdetails\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AuthorizationHelper.html":{"url":"injectables/AuthorizationHelper.html","title":"injectable - AuthorizationHelper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AuthorizationHelper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/service/authorization.helper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n hasAccessToEntity\n \n \n Public\n hasAllPermissions\n \n \n Public\n hasAllPermissionsByRole\n \n \n Public\n hasOneOfPermissions\n \n \n Private\n isUserReferenced\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n hasAccessToEntity\n \n \n \n \n \n \n \n hasAccessToEntity(user: User, entity: T, userRefProps: K[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.helper.ts:32\n \n \n\n \n \n Type parameters :\n \n T\n K\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n userRefProps\n \n K[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n hasAllPermissions\n \n \n \n \n \n \n \n hasAllPermissions(user: User, requiredPermissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.helper.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n requiredPermissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n hasAllPermissionsByRole\n \n \n \n \n \n \n \n hasAllPermissionsByRole(role: Role, requiredPermissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.helper.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n role\n \n Role\n \n\n \n No\n \n\n\n \n \n requiredPermissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n hasOneOfPermissions\n \n \n \n \n \n \n \n hasOneOfPermissions(user: User, requiredPermissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.helper.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n requiredPermissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isUserReferenced\n \n \n \n \n \n \n \n isUserReferenced(user: User, entity: T, prop: K)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.helper.ts:38\n \n \n\n \n \n Type parameters :\n \n T\n K\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n prop\n \n K\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Collection } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\nimport { Role, User } from '@shared/domain/entity';\n\n@Injectable()\nexport class AuthorizationHelper {\n\tpublic hasAllPermissions(user: User, requiredPermissions: string[]): boolean {\n\t\tconst usersPermissions = user.resolvePermissions();\n\t\tconst hasAllPermissions = requiredPermissions.every((p) => usersPermissions.includes(p));\n\n\t\treturn hasAllPermissions;\n\t}\n\n\tpublic hasAllPermissionsByRole(role: Role, requiredPermissions: string[]): boolean {\n\t\tconst permissions = role.resolvePermissions();\n\t\tconst hasAllPermissions = requiredPermissions.every((p) => permissions.includes(p));\n\n\t\treturn hasAllPermissions;\n\t}\n\n\tpublic hasOneOfPermissions(user: User, requiredPermissions: string[]): boolean {\n\t\t// TODO: Wouldn't it make more sense to return true for an empty permissions-array?\n\t\tif (!Array.isArray(requiredPermissions) || requiredPermissions.length === 0) {\n\t\t\treturn false;\n\t\t}\n\t\tconst permissions = user.resolvePermissions();\n\t\tconst hasPermission = requiredPermissions.some((p) => permissions.includes(p));\n\n\t\treturn hasPermission;\n\t}\n\n\tpublic hasAccessToEntity(user: User, entity: T, userRefProps: K[]): boolean {\n\t\tconst result = userRefProps.some((prop) => this.isUserReferenced(user, entity, prop));\n\n\t\treturn result;\n\t}\n\n\tprivate isUserReferenced(user: User, entity: T, prop: K) {\n\t\tlet result = false;\n\n\t\tconst reference = entity[prop];\n\n\t\tif (reference instanceof Collection) {\n\t\t\tresult = reference.contains(user);\n\t\t} else if (reference instanceof User) {\n\t\t\tresult = reference === user;\n\t\t} else {\n\t\t\tresult = (reference as unknown as string) === user.id;\n\t\t}\n\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AuthorizationLoaderService.html":{"url":"interfaces/AuthorizationLoaderService.html","title":"interface - AuthorizationLoaderService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AuthorizationLoaderService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/type/authorization-loader-service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n findById\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n findById\n \n \n \n \n \n \nfindById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/type/authorization-loader-service.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizableObject } from '@shared/domain/domain-object'; // fix import when it is avaible\nimport { BaseDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface AuthorizationLoaderService {\n\tfindById(id: EntityId): Promise;\n}\n\nexport interface AuthorizationLoaderServiceGeneric\n\textends AuthorizationLoaderService {\n\tfindById(id: EntityId): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AuthorizationLoaderServiceGeneric.html":{"url":"interfaces/AuthorizationLoaderServiceGeneric.html","title":"interface - AuthorizationLoaderServiceGeneric","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AuthorizationLoaderServiceGeneric\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/type/authorization-loader-service.ts\n \n\n\n\n \n Extends\n \n \n AuthorizationLoaderService\n \n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n findById\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n findById\n \n \n \n \n \n \nfindById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/type/authorization-loader-service.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizableObject } from '@shared/domain/domain-object'; // fix import when it is avaible\nimport { BaseDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface AuthorizationLoaderService {\n\tfindById(id: EntityId): Promise;\n}\n\nexport interface AuthorizationLoaderServiceGeneric\n\textends AuthorizationLoaderService {\n\tfindById(id: EntityId): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AuthorizationModule.html":{"url":"modules/AuthorizationModule.html","title":"module - AuthorizationModule","body":"\n \n\n\n\n\n Modules\n AuthorizationModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_AuthorizationModule\n\n\n\ncluster_AuthorizationModule_providers\n\n\n\ncluster_AuthorizationModule_imports\n\n\n\ncluster_AuthorizationModule_exports\n\n\n\n\nFeathersModule\n\nFeathersModule\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\nAuthorizationModule -->\n\nFeathersModule->AuthorizationModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nAuthorizationModule -->\n\nLoggerModule->AuthorizationModule\n\n\n\n\n\nAuthorizationService \n\nAuthorizationService \n\nAuthorizationService -->\n\nAuthorizationModule->AuthorizationService \n\n\n\n\n\nFeathersAuthorizationService \n\nFeathersAuthorizationService \n\nFeathersAuthorizationService -->\n\nAuthorizationModule->FeathersAuthorizationService \n\n\n\n\n\nSystemRule \n\nSystemRule \n\nSystemRule -->\n\nAuthorizationModule->SystemRule \n\n\n\n\n\nAuthorizationHelper\n\nAuthorizationHelper\n\nAuthorizationModule -->\n\nAuthorizationHelper->AuthorizationModule\n\n\n\n\n\nAuthorizationService\n\nAuthorizationService\n\nAuthorizationModule -->\n\nAuthorizationService->AuthorizationModule\n\n\n\n\n\nBoardDoRule\n\nBoardDoRule\n\nAuthorizationModule -->\n\nBoardDoRule->AuthorizationModule\n\n\n\n\n\nContextExternalToolRule\n\nContextExternalToolRule\n\nAuthorizationModule -->\n\nContextExternalToolRule->AuthorizationModule\n\n\n\n\n\nCourseGroupRule\n\nCourseGroupRule\n\nAuthorizationModule -->\n\nCourseGroupRule->AuthorizationModule\n\n\n\n\n\nCourseRule\n\nCourseRule\n\nAuthorizationModule -->\n\nCourseRule->AuthorizationModule\n\n\n\n\n\nFeathersAuthProvider\n\nFeathersAuthProvider\n\nAuthorizationModule -->\n\nFeathersAuthProvider->AuthorizationModule\n\n\n\n\n\nFeathersAuthorizationService\n\nFeathersAuthorizationService\n\nAuthorizationModule -->\n\nFeathersAuthorizationService->AuthorizationModule\n\n\n\n\n\nGroupRule\n\nGroupRule\n\nAuthorizationModule -->\n\nGroupRule->AuthorizationModule\n\n\n\n\n\nLegacySchoolRule\n\nLegacySchoolRule\n\nAuthorizationModule -->\n\nLegacySchoolRule->AuthorizationModule\n\n\n\n\n\nLessonRule\n\nLessonRule\n\nAuthorizationModule -->\n\nLessonRule->AuthorizationModule\n\n\n\n\n\nRuleManager\n\nRuleManager\n\nAuthorizationModule -->\n\nRuleManager->AuthorizationModule\n\n\n\n\n\nSchoolExternalToolRule\n\nSchoolExternalToolRule\n\nAuthorizationModule -->\n\nSchoolExternalToolRule->AuthorizationModule\n\n\n\n\n\nSubmissionRule\n\nSubmissionRule\n\nAuthorizationModule -->\n\nSubmissionRule->AuthorizationModule\n\n\n\n\n\nSystemRule\n\nSystemRule\n\nAuthorizationModule -->\n\nSystemRule->AuthorizationModule\n\n\n\n\n\nTaskRule\n\nTaskRule\n\nAuthorizationModule -->\n\nTaskRule->AuthorizationModule\n\n\n\n\n\nTeamRule\n\nTeamRule\n\nAuthorizationModule -->\n\nTeamRule->AuthorizationModule\n\n\n\n\n\nUserLoginMigrationRule\n\nUserLoginMigrationRule\n\nAuthorizationModule -->\n\nUserLoginMigrationRule->AuthorizationModule\n\n\n\n\n\nUserRepo\n\nUserRepo\n\nAuthorizationModule -->\n\nUserRepo->AuthorizationModule\n\n\n\n\n\nUserRule\n\nUserRule\n\nAuthorizationModule -->\n\nUserRule->AuthorizationModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/authorization/authorization.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n AuthorizationHelper\n \n \n AuthorizationService\n \n \n BoardDoRule\n \n \n ContextExternalToolRule\n \n \n CourseGroupRule\n \n \n CourseRule\n \n \n FeathersAuthProvider\n \n \n FeathersAuthorizationService\n \n \n GroupRule\n \n \n LegacySchoolRule\n \n \n LessonRule\n \n \n RuleManager\n \n \n SchoolExternalToolRule\n \n \n SubmissionRule\n \n \n SystemRule\n \n \n TaskRule\n \n \n TeamRule\n \n \n UserLoginMigrationRule\n \n \n UserRepo\n \n \n UserRule\n \n \n \n \n Imports\n \n \n FeathersModule\n \n \n LoggerModule\n \n \n \n \n Exports\n \n \n AuthorizationService\n \n \n FeathersAuthorizationService\n \n \n SystemRule\n \n \n \n \n \n\n\n \n\n\n \n import { FeathersModule } from '@infra/feathers';\nimport { Module } from '@nestjs/common';\nimport { UserRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthorizationHelper, AuthorizationService, RuleManager } from './domain';\nimport {\n\tBoardDoRule,\n\tContextExternalToolRule,\n\tCourseGroupRule,\n\tCourseRule,\n\tGroupRule,\n\tLegacySchoolRule,\n\tLessonRule,\n\tSchoolExternalToolRule,\n\tSubmissionRule,\n\tSystemRule,\n\tTaskRule,\n\tTeamRule,\n\tUserLoginMigrationRule,\n\tUserRule,\n} from './domain/rules';\nimport { FeathersAuthorizationService, FeathersAuthProvider } from './feathers';\n\n@Module({\n\timports: [FeathersModule, LoggerModule],\n\tproviders: [\n\t\tFeathersAuthorizationService,\n\t\tFeathersAuthProvider,\n\t\tAuthorizationService,\n\t\tUserRepo,\n\t\tRuleManager,\n\t\tAuthorizationHelper,\n\t\t// rules\n\t\tBoardDoRule,\n\t\tContextExternalToolRule,\n\t\tCourseGroupRule,\n\t\tCourseRule,\n\t\tGroupRule,\n\t\tLessonRule,\n\t\tSchoolExternalToolRule,\n\t\tSubmissionRule,\n\t\tTaskRule,\n\t\tTeamRule,\n\t\tUserRule,\n\t\tUserLoginMigrationRule,\n\t\tLegacySchoolRule,\n\t\tSystemRule,\n\t],\n\texports: [FeathersAuthorizationService, AuthorizationService, SystemRule],\n})\nexport class AuthorizationModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AuthorizationParams.html":{"url":"classes/AuthorizationParams.html","title":"class - AuthorizationParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AuthorizationParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/controller/dto/authorization.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n code\n \n \n \n \n Optional\n error\n \n \n \n \n Optional\n error_description\n \n \n \n \n Optional\n error_uri\n \n \n \n \n state\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n code\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth/controller/dto/authorization.params.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n error\n \n \n \n \n \n \n Type : SSOAuthenticationError\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsEnum(SSOAuthenticationError)\n \n \n \n \n \n Defined in apps/server/src/modules/oauth/controller/dto/authorization.params.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n error_description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth/controller/dto/authorization.params.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n error_uri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth/controller/dto/authorization.params.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n state\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth/controller/dto/authorization.params.ts:24\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsEnum, IsNotEmpty, IsOptional, IsString } from 'class-validator';\nimport { SSOAuthenticationError } from '../../interface/sso-authentication-error.enum';\n\nexport class AuthorizationParams {\n\t@IsOptional()\n\t@IsString()\n\t@IsNotEmpty()\n\tcode?: string;\n\n\t@IsOptional()\n\t@IsEnum(SSOAuthenticationError)\n\terror?: SSOAuthenticationError;\n\n\t@IsOptional()\n\t@IsString()\n\terror_description?: string;\n\n\t@IsOptional()\n\t@IsString()\n\terror_uri?: string;\n\n\t@IsString()\n\t@IsNotEmpty()\n\tstate!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AuthorizationReferenceModule.html":{"url":"modules/AuthorizationReferenceModule.html","title":"module - AuthorizationReferenceModule","body":"\n \n\n\n\n\n Modules\n AuthorizationReferenceModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_AuthorizationReferenceModule\n\n\n\ncluster_AuthorizationReferenceModule_imports\n\n\n\ncluster_AuthorizationReferenceModule_exports\n\n\n\ncluster_AuthorizationReferenceModule_providers\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nAuthorizationReferenceModule\n\nAuthorizationReferenceModule\n\nAuthorizationReferenceModule -->\n\nAuthorizationModule->AuthorizationReferenceModule\n\n\n\n\n\nLessonModule\n\nLessonModule\n\nAuthorizationReferenceModule -->\n\nLessonModule->AuthorizationReferenceModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nAuthorizationReferenceModule -->\n\nLoggerModule->AuthorizationReferenceModule\n\n\n\n\n\nAuthorizationReferenceService \n\nAuthorizationReferenceService \n\nAuthorizationReferenceService -->\n\nAuthorizationReferenceModule->AuthorizationReferenceService \n\n\n\n\n\nAuthorizationHelper\n\nAuthorizationHelper\n\nAuthorizationReferenceModule -->\n\nAuthorizationHelper->AuthorizationReferenceModule\n\n\n\n\n\nAuthorizationReferenceService\n\nAuthorizationReferenceService\n\nAuthorizationReferenceModule -->\n\nAuthorizationReferenceService->AuthorizationReferenceModule\n\n\n\n\n\nCourseGroupRepo\n\nCourseGroupRepo\n\nAuthorizationReferenceModule -->\n\nCourseGroupRepo->AuthorizationReferenceModule\n\n\n\n\n\nCourseRepo\n\nCourseRepo\n\nAuthorizationReferenceModule -->\n\nCourseRepo->AuthorizationReferenceModule\n\n\n\n\n\nLegacySchoolRepo\n\nLegacySchoolRepo\n\nAuthorizationReferenceModule -->\n\nLegacySchoolRepo->AuthorizationReferenceModule\n\n\n\n\n\nReferenceLoader\n\nReferenceLoader\n\nAuthorizationReferenceModule -->\n\nReferenceLoader->AuthorizationReferenceModule\n\n\n\n\n\nSchoolExternalToolRepo\n\nSchoolExternalToolRepo\n\nAuthorizationReferenceModule -->\n\nSchoolExternalToolRepo->AuthorizationReferenceModule\n\n\n\n\n\nSubmissionRepo\n\nSubmissionRepo\n\nAuthorizationReferenceModule -->\n\nSubmissionRepo->AuthorizationReferenceModule\n\n\n\n\n\nTaskRepo\n\nTaskRepo\n\nAuthorizationReferenceModule -->\n\nTaskRepo->AuthorizationReferenceModule\n\n\n\n\n\nTeamsRepo\n\nTeamsRepo\n\nAuthorizationReferenceModule -->\n\nTeamsRepo->AuthorizationReferenceModule\n\n\n\n\n\nUserRepo\n\nUserRepo\n\nAuthorizationReferenceModule -->\n\nUserRepo->AuthorizationReferenceModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/authorization/authorization-reference.module.ts\n \n\n\n\n \n Description\n \n \n This module is part of an intermediate state. In the future it should be replaced by an AuthorizationApiModule.\nFor now it is used where the authorization itself needs to load data from the database.\nAvoid using this module and load the needed data in your use cases and then use the normal AuthorizationModule!\n\n \n\n\n \n \n \n Providers\n \n \n AuthorizationHelper\n \n \n AuthorizationReferenceService\n \n \n CourseGroupRepo\n \n \n CourseRepo\n \n \n LegacySchoolRepo\n \n \n ReferenceLoader\n \n \n SchoolExternalToolRepo\n \n \n SubmissionRepo\n \n \n TaskRepo\n \n \n TeamsRepo\n \n \n UserRepo\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n LessonModule\n \n \n LoggerModule\n \n \n \n \n Exports\n \n \n AuthorizationReferenceService\n \n \n \n \n \n\n\n \n\n\n \n import { BoardModule } from '@modules/board';\nimport { ToolModule } from '@modules/tool';\nimport { forwardRef, Module } from '@nestjs/common';\nimport {\n\tCourseGroupRepo,\n\tCourseRepo,\n\tLegacySchoolRepo,\n\tSchoolExternalToolRepo,\n\tSubmissionRepo,\n\tTaskRepo,\n\tTeamsRepo,\n\tUserRepo,\n} from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { LessonModule } from '../lesson';\nimport { AuthorizationModule } from './authorization.module';\nimport { AuthorizationHelper, AuthorizationReferenceService, ReferenceLoader } from './domain';\n\n/**\n * This module is part of an intermediate state. In the future it should be replaced by an AuthorizationApiModule.\n * For now it is used where the authorization itself needs to load data from the database.\n * Avoid using this module and load the needed data in your use cases and then use the normal AuthorizationModule!\n */\n@Module({\n\t// TODO: remove forwardRef to TooModule N21-1055\n\timports: [\n\t\tAuthorizationModule,\n\t\tLessonModule,\n\t\tforwardRef(() => ToolModule),\n\t\tforwardRef(() => BoardModule),\n\t\tLoggerModule,\n\t],\n\tproviders: [\n\t\tAuthorizationHelper,\n\t\tReferenceLoader,\n\t\tUserRepo,\n\t\tCourseRepo,\n\t\tCourseGroupRepo,\n\t\tTaskRepo,\n\t\tLegacySchoolRepo,\n\t\tTeamsRepo,\n\t\tSubmissionRepo,\n\t\tSchoolExternalToolRepo,\n\t\tAuthorizationReferenceService,\n\t],\n\texports: [AuthorizationReferenceService],\n})\nexport class AuthorizationReferenceModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AuthorizationReferenceService.html":{"url":"injectables/AuthorizationReferenceService.html","title":"injectable - AuthorizationReferenceService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AuthorizationReferenceService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/service/authorization-reference.service.ts\n \n\n\n \n Description\n \n \n Should by use only internal in authorization module. See ticket: BC-3990\n\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n checkPermissionByReferences\n \n \n Public\n Async\n hasPermissionByReferences\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(loader: ReferenceLoader, authorizationService: AuthorizationService)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization-reference.service.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n loader\n \n \n ReferenceLoader\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n checkPermissionByReferences\n \n \n \n \n \n \n \n checkPermissionByReferences(userId: EntityId, entityName: AuthorizableReferenceType, entityId: EntityId, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization-reference.service.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n entityName\n \n AuthorizableReferenceType\n \n\n \n No\n \n\n\n \n \n entityId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n hasPermissionByReferences\n \n \n \n \n \n \n \n hasPermissionByReferences(userId: EntityId, entityName: AuthorizableReferenceType, entityId: EntityId, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization-reference.service.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n entityName\n \n AuthorizableReferenceType\n \n\n \n No\n \n\n\n \n \n entityId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ForbiddenLoggableException } from '../error';\nimport { AuthorizableReferenceType, AuthorizationContext } from '../type';\nimport { AuthorizationService } from './authorization.service';\nimport { ReferenceLoader } from './reference.loader';\n\n/**\n * Should by use only internal in authorization module. See ticket: BC-3990\n */\n@Injectable()\nexport class AuthorizationReferenceService {\n\tconstructor(private readonly loader: ReferenceLoader, private readonly authorizationService: AuthorizationService) {}\n\n\tpublic async checkPermissionByReferences(\n\t\tuserId: EntityId,\n\t\tentityName: AuthorizableReferenceType,\n\t\tentityId: EntityId,\n\t\tcontext: AuthorizationContext\n\t): Promise {\n\t\tif (!(await this.hasPermissionByReferences(userId, entityName, entityId, context))) {\n\t\t\tthrow new ForbiddenLoggableException(userId, entityName, context);\n\t\t}\n\t}\n\n\tpublic async hasPermissionByReferences(\n\t\tuserId: EntityId,\n\t\tentityName: AuthorizableReferenceType,\n\t\tentityId: EntityId,\n\t\tcontext: AuthorizationContext\n\t): Promise {\n\t\tconst [user, object] = await Promise.all([\n\t\t\tthis.authorizationService.getUserWithPermissions(userId),\n\t\t\tthis.loader.loadAuthorizableObject(entityName, entityId),\n\t\t]);\n\n\t\tconst hasPermission = this.authorizationService.hasPermission(user, object, context);\n\n\t\treturn hasPermission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AuthorizationService.html":{"url":"injectables/AuthorizationService.html","title":"injectable - AuthorizationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AuthorizationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/service/authorization.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n checkAllPermissions\n \n \n Public\n checkOneOfPermissions\n \n \n Public\n checkPermission\n \n \n Public\n Async\n getUserWithPermissions\n \n \n Public\n hasAllPermissions\n \n \n Public\n hasOneOfPermissions\n \n \n Public\n hasPermission\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ruleManager: RuleManager, authorizationHelper: AuthorizationHelper, userRepo: UserRepo)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.service.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ruleManager\n \n \n RuleManager\n \n \n \n No\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n userRepo\n \n \n UserRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n checkAllPermissions\n \n \n \n \n \n \n \n checkAllPermissions(user: User, requiredPermissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.service.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n requiredPermissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n checkOneOfPermissions\n \n \n \n \n \n \n \n checkOneOfPermissions(user: User, requiredPermissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.service.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n requiredPermissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n checkPermission\n \n \n \n \n \n \n \n checkPermission(user: User, object: AuthorizableObject | BaseDO, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.service.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n object\n \n AuthorizableObject | BaseDO\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getUserWithPermissions\n \n \n \n \n \n \n \n getUserWithPermissions(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.service.ts:55\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n hasAllPermissions\n \n \n \n \n \n \n \n hasAllPermissions(user: User, requiredPermissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.service.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n requiredPermissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n hasOneOfPermissions\n \n \n \n \n \n \n \n hasOneOfPermissions(user: User, requiredPermissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.service.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n requiredPermissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, object: AuthorizableObject | BaseDO, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.service.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n object\n \n AuthorizableObject | BaseDO\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, UnauthorizedException } from '@nestjs/common';\nimport { AuthorizableObject } from '@shared/domain/domain-object';\nimport { BaseDO } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { UserRepo } from '@shared/repo';\nimport { ForbiddenLoggableException } from '../error';\nimport { AuthorizationContext } from '../type';\nimport { AuthorizationHelper } from './authorization.helper';\nimport { RuleManager } from './rule-manager';\n\n@Injectable()\nexport class AuthorizationService {\n\tconstructor(\n\t\tprivate readonly ruleManager: RuleManager,\n\t\tprivate readonly authorizationHelper: AuthorizationHelper,\n\t\tprivate readonly userRepo: UserRepo\n\t) {}\n\n\tpublic checkPermission(user: User, object: AuthorizableObject | BaseDO, context: AuthorizationContext): void {\n\t\tif (!this.hasPermission(user, object, context)) {\n\t\t\tthrow new ForbiddenLoggableException(user.id, object.constructor.name, context);\n\t\t}\n\t}\n\n\tpublic hasPermission(user: User, object: AuthorizableObject | BaseDO, context: AuthorizationContext): boolean {\n\t\tconst rule = this.ruleManager.selectRule(user, object, context);\n\t\tconst hasPermission = rule.hasPermission(user, object, context);\n\n\t\treturn hasPermission;\n\t}\n\n\tpublic checkAllPermissions(user: User, requiredPermissions: string[]): void {\n\t\tif (!this.authorizationHelper.hasAllPermissions(user, requiredPermissions)) {\n\t\t\t// TODO: Should be ForbiddenLoggableException\n\t\t\tthrow new UnauthorizedException();\n\t\t}\n\t}\n\n\tpublic hasAllPermissions(user: User, requiredPermissions: string[]): boolean {\n\t\treturn this.authorizationHelper.hasAllPermissions(user, requiredPermissions);\n\t}\n\n\tpublic checkOneOfPermissions(user: User, requiredPermissions: string[]): void {\n\t\tif (!this.authorizationHelper.hasOneOfPermissions(user, requiredPermissions)) {\n\t\t\t// TODO: Should be ForbiddenLoggableException\n\t\t\tthrow new UnauthorizedException();\n\t\t}\n\t}\n\n\tpublic hasOneOfPermissions(user: User, requiredPermissions: string[]): boolean {\n\t\treturn this.authorizationHelper.hasOneOfPermissions(user, requiredPermissions);\n\t}\n\n\tpublic async getUserWithPermissions(userId: EntityId): Promise {\n\t\t// replace with service method getUserWithPermissions BC-5069\n\t\tconst userWithPopulatedRoles = await this.userRepo.findById(userId, true);\n\n\t\treturn userWithPopulatedRoles;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AutoContextIdStrategy.html":{"url":"injectables/AutoContextIdStrategy.html","title":"injectable - AutoContextIdStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AutoContextIdStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-context-id.strategy.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getValue\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getValue\n \n \n \n \n \n \ngetValue(schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-context-id.strategy.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string | undefined\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ContextExternalTool } from '../../../context-external-tool/domain';\nimport { SchoolExternalTool } from '../../../school-external-tool/domain';\nimport { AutoParameterStrategy } from './auto-parameter.strategy';\n\n@Injectable()\nexport class AutoContextIdStrategy implements AutoParameterStrategy {\n\tgetValue(schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool): string | undefined {\n\t\treturn contextExternalTool.contextRef.id;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AutoContextNameStrategy.html":{"url":"injectables/AutoContextNameStrategy.html","title":"injectable - AutoContextNameStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AutoContextNameStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-context-name.strategy.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n getBoardValue\n \n \n Private\n Async\n getCourseValue\n \n \n Async\n getValue\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(courseService: CourseService, contentElementService: ContentElementService, columnBoardService: ColumnBoardService)\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-context-name.strategy.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseService\n \n \n CourseService\n \n \n \n No\n \n \n \n \n contentElementService\n \n \n ContentElementService\n \n \n \n No\n \n \n \n \n columnBoardService\n \n \n ColumnBoardService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n getBoardValue\n \n \n \n \n \n \n \n getBoardValue(elementId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-context-name.strategy.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n elementId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getCourseValue\n \n \n \n \n \n \n \n getCourseValue(courseId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-context-name.strategy.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getValue\n \n \n \n \n \n \n \n getValue(schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-context-name.strategy.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ColumnBoardService, ContentElementService } from '@modules/board';\nimport { CourseService } from '@modules/learnroom';\nimport { Injectable } from '@nestjs/common';\nimport { AnyContentElementDo, BoardExternalReferenceType, ColumnBoard } from '@shared/domain/domainobject';\nimport { Course } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\n\nimport { CustomParameterType, ToolContextType } from '../../../common/enum';\nimport { ContextExternalTool } from '../../../context-external-tool/domain';\nimport { SchoolExternalTool } from '../../../school-external-tool/domain';\nimport { ParameterTypeNotImplementedLoggableException } from '../../error';\nimport { AutoParameterStrategy } from './auto-parameter.strategy';\n\n@Injectable()\nexport class AutoContextNameStrategy implements AutoParameterStrategy {\n\tconstructor(\n\t\tprivate readonly courseService: CourseService,\n\t\tprivate readonly contentElementService: ContentElementService,\n\t\tprivate readonly columnBoardService: ColumnBoardService\n\t) {}\n\n\tasync getValue(\n\t\tschoolExternalTool: SchoolExternalTool,\n\t\tcontextExternalTool: ContextExternalTool\n\t): Promise {\n\t\tswitch (contextExternalTool.contextRef.type) {\n\t\t\tcase ToolContextType.COURSE: {\n\t\t\t\tconst courseValue: string = await this.getCourseValue(contextExternalTool.contextRef.id);\n\n\t\t\t\treturn courseValue;\n\t\t\t}\n\t\t\tcase ToolContextType.BOARD_ELEMENT: {\n\t\t\t\tconst boardValue: string | undefined = await this.getBoardValue(contextExternalTool.contextRef.id);\n\n\t\t\t\treturn boardValue;\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\tthrow new ParameterTypeNotImplementedLoggableException(\n\t\t\t\t\t`${CustomParameterType.AUTO_CONTEXTNAME}/${contextExternalTool.contextRef.type as string}`\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate async getCourseValue(courseId: EntityId): Promise {\n\t\tconst course: Course = await this.courseService.findById(courseId);\n\n\t\treturn course.name;\n\t}\n\n\tprivate async getBoardValue(elementId: EntityId): Promise {\n\t\tconst element: AnyContentElementDo = await this.contentElementService.findById(elementId);\n\n\t\tconst board: ColumnBoard = await this.columnBoardService.findByDescendant(element);\n\n\t\tif (board.context.type === BoardExternalReferenceType.Course) {\n\t\t\tconst courseName: string = await this.getCourseValue(board.context.id);\n\n\t\t\treturn courseName;\n\t\t}\n\n\t\treturn undefined;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AutoParameterStrategy.html":{"url":"interfaces/AutoParameterStrategy.html","title":"interface - AutoParameterStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AutoParameterStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-parameter.strategy.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n getValue\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n getValue\n \n \n \n \n \n \ngetValue(schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-parameter.strategy.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string | Promise | undefined\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ContextExternalTool } from '../../../context-external-tool/domain';\nimport { SchoolExternalTool } from '../../../school-external-tool/domain';\n\nexport interface AutoParameterStrategy {\n\tgetValue(\n\t\tschoolExternalTool: SchoolExternalTool,\n\t\tcontextExternalTool: ContextExternalTool\n\t): string | Promise | undefined;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AutoSchoolIdStrategy.html":{"url":"injectables/AutoSchoolIdStrategy.html","title":"injectable - AutoSchoolIdStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AutoSchoolIdStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-school-id.strategy.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getValue\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getValue\n \n \n \n \n \n \ngetValue(schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-school-id.strategy.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string | undefined\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ContextExternalTool } from '../../../context-external-tool/domain';\nimport { SchoolExternalTool } from '../../../school-external-tool/domain';\nimport { AutoParameterStrategy } from './auto-parameter.strategy';\n\n@Injectable()\nexport class AutoSchoolIdStrategy implements AutoParameterStrategy {\n\tgetValue(\n\t\tschoolExternalTool: SchoolExternalTool,\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\tcontextExternalTool: ContextExternalTool\n\t): string | undefined {\n\t\treturn schoolExternalTool.schoolId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AutoSchoolNumberStrategy.html":{"url":"injectables/AutoSchoolNumberStrategy.html","title":"injectable - AutoSchoolNumberStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AutoSchoolNumberStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-school-number.strategy.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getValue\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolService: LegacySchoolService)\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-school-number.strategy.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getValue\n \n \n \n \n \n \n \n getValue(schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-school-number.strategy.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { LegacySchoolService } from '@modules/legacy-school';\nimport { Injectable } from '@nestjs/common';\nimport { LegacySchoolDo } from '@shared/domain/domainobject';\nimport { ContextExternalTool } from '../../../context-external-tool/domain';\nimport { SchoolExternalTool } from '../../../school-external-tool/domain';\nimport { AutoParameterStrategy } from './auto-parameter.strategy';\n\n@Injectable()\nexport class AutoSchoolNumberStrategy implements AutoParameterStrategy {\n\tconstructor(private readonly schoolService: LegacySchoolService) {}\n\n\tasync getValue(\n\t\tschoolExternalTool: SchoolExternalTool,\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\tcontextExternalTool: ContextExternalTool\n\t): Promise {\n\t\tconst school: LegacySchoolDo = await this.schoolService.getSchoolById(schoolExternalTool.schoolId);\n\n\t\treturn school.officialSchoolNumber;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AxiosErrorFactory.html":{"url":"classes/AxiosErrorFactory.html","title":"class - AxiosErrorFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AxiosErrorFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/axios-error.factory.ts\n \n\n\n\n \n Extends\n \n \n Factory\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n withError\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withError\n \n \n \n \n \n \nwithError(error)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/axios-error.factory.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n error\n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { axiosResponseFactory } from '@shared/testing';\nimport { AxiosError, AxiosHeaders } from 'axios';\nimport { Factory } from 'fishery';\n\nclass AxiosErrorFactory extends Factory {\n\twithError(error: unknown): this {\n\t\treturn this.params({\n\t\t\tresponse: axiosResponseFactory.build({ status: HttpStatus.BAD_REQUEST, data: error }),\n\t\t});\n\t}\n}\n\nexport const axiosErrorFactory = AxiosErrorFactory.define(() => {\n\treturn {\n\t\tstatus: HttpStatus.BAD_REQUEST,\n\t\tconfig: { headers: new AxiosHeaders() },\n\t\tisAxiosError: true,\n\t\tcode: HttpStatus.BAD_REQUEST.toString(),\n\t\tmessage: 'Bad Request',\n\t\tname: 'BadRequest',\n\t\tresponse: axiosResponseFactory.build({ status: HttpStatus.BAD_REQUEST }),\n\t\tstack: 'mockStack',\n\t\ttoJSON: () => {\n\t\t\treturn { someJson: 'someJson' };\n\t\t},\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AxiosErrorLoggable.html":{"url":"classes/AxiosErrorLoggable.html","title":"class - AxiosErrorLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AxiosErrorLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/error/loggable/axios-error.loggable.ts\n \n\n\n\n \n Extends\n \n \n HttpException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(axiosError: AxiosError, type: string)\n \n \n \n \n Defined in apps/server/src/core/error/loggable/axios-error.loggable.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n axiosError\n \n \n AxiosError\n \n \n \n No\n \n \n \n \n type\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/core/error/loggable/axios-error.loggable.ts:12\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpException, HttpStatus } from '@nestjs/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { AxiosError } from 'axios';\n\nexport class AxiosErrorLoggable extends HttpException implements Loggable {\n\tconstructor(private readonly axiosError: AxiosError, protected readonly type: string) {\n\t\tsuper(JSON.stringify(axiosError.response?.data), axiosError.status ?? HttpStatus.INTERNAL_SERVER_ERROR, {\n\t\t\tcause: axiosError.cause,\n\t\t});\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: this.axiosError.message,\n\t\t\ttype: this.type,\n\t\t\tdata: JSON.stringify(this.axiosError.response?.data),\n\t\t\tstack: this.axiosError.stack,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AxiosResponseImp.html":{"url":"classes/AxiosResponseImp.html","title":"class - AxiosResponseImp","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AxiosResponseImp\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/axios-response.factory.ts\n \n\n\n\n\n \n Implements\n \n \n AxiosResponse\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n config\n \n \n data\n \n \n headers\n \n \n status\n \n \n statusText\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: AxiosResponseProps)\n \n \n \n \n Defined in apps/server/src/shared/testing/factory/axios-response.factory.ts:22\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n AxiosResponseProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n config\n \n \n \n \n \n \n Type : InternalAxiosRequestConfig<>\n\n \n \n \n \n Defined in apps/server/src/shared/testing/factory/axios-response.factory.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Defined in apps/server/src/shared/testing/factory/axios-response.factory.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n headers\n \n \n \n \n \n \n Type : AxiosHeaders\n\n \n \n \n \n Defined in apps/server/src/shared/testing/factory/axios-response.factory.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/shared/testing/factory/axios-response.factory.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n statusText\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/testing/factory/axios-response.factory.ts:18\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { AxiosHeaderValue, AxiosHeaders, AxiosResponse, InternalAxiosRequestConfig } from 'axios';\nimport { BaseFactory } from './base.factory';\n\nexport type AxiosHeadersKeyValue = { [key: string]: AxiosHeaderValue };\ntype AxiosResponseProps = {\n\tdata: T;\n\tstatus: number;\n\tstatusText: string;\n\theaders: AxiosHeadersKeyValue;\n\tconfig: InternalAxiosRequestConfig;\n};\n\nclass AxiosResponseImp implements AxiosResponse {\n\tdata: T;\n\n\tstatus: number;\n\n\tstatusText: string;\n\n\theaders: AxiosHeaders;\n\n\tconfig: InternalAxiosRequestConfig;\n\n\tconstructor(props: AxiosResponseProps) {\n\t\tthis.data = props.data;\n\t\tthis.status = props.status;\n\t\tthis.statusText = props.statusText;\n\t\tthis.headers = new AxiosHeaders(props.headers);\n\t\tthis.config = props.config;\n\t}\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const axiosResponseFactory = BaseFactory.define, AxiosResponseProps>(\n\tAxiosResponseImp,\n\t() => {\n\t\treturn {\n\t\t\tdata: '',\n\t\t\tstatus: 200,\n\t\t\tstatusText: '',\n\t\t\theaders: new AxiosHeaders(),\n\t\t\tconfig: { headers: new AxiosHeaders() },\n\t\t};\n\t}\n);\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BBBBaseMeetingConfig.html":{"url":"classes/BBBBaseMeetingConfig.html","title":"class - BBBBaseMeetingConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BBBBaseMeetingConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/request/bbb-base-meeting.config.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n meetingID\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(config: BBBBaseMeetingConfig)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-base-meeting.config.ts:1\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n \n BBBBaseMeetingConfig\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n meetingID\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-base-meeting.config.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class BBBBaseMeetingConfig {\n\tconstructor(config: BBBBaseMeetingConfig) {\n\t\tthis.meetingID = config.meetingID;\n\t}\n\n\tmeetingID: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BBBBaseResponse.html":{"url":"interfaces/BBBBaseResponse.html","title":"interface - BBBBaseResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BBBBaseResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/response/bbb-base.response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n message\n \n \n \n \n messageKey\n \n \n \n \n returncode\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n message\n \n \n \n \n \n \n \n \n message: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n messageKey\n \n \n \n \n \n \n \n \n messageKey: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n returncode\n \n \n \n \n \n \n \n \n returncode: BBBStatus\n\n \n \n\n\n \n \n Type : BBBStatus\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BBBStatus } from './bbb-status.enum';\n\nexport interface BBBBaseResponse {\n\treturncode: BBBStatus;\n\tmessageKey: string;\n\tmessage: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BBBCreateConfig.html":{"url":"classes/BBBCreateConfig.html","title":"class - BBBCreateConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BBBCreateConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/request/bbb-create.config.ts\n \n\n\n\n \n Extends\n \n \n BBBBaseMeetingConfig\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n allowModsToUnmuteUsers\n \n \n Optional\n attendeePW\n \n \n Optional\n guestPolicy\n \n \n Optional\n logoutURL\n \n \n Optional\n meta_bbb-origin-server-name\n \n \n Optional\n moderatorPW\n \n \n Optional\n muteOnStart\n \n \n name\n \n \n Optional\n welcome\n \n \n meetingID\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(config: BBBCreateConfig)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-create.config.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n \n BBBCreateConfig\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n allowModsToUnmuteUsers\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-create.config.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n attendeePW\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-create.config.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n guestPolicy\n \n \n \n \n \n \n Type : GuestPolicy\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-create.config.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n logoutURL\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-create.config.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n meta_bbb-origin-server-name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-create.config.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n moderatorPW\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-create.config.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n muteOnStart\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-create.config.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-create.config.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n welcome\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-create.config.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n meetingID\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from BBBBaseMeetingConfig\n\n \n \n \n \n Defined in BBBBaseMeetingConfig:6\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { BBBBaseMeetingConfig } from './bbb-base-meeting.config';\n\nexport enum GuestPolicy {\n\tALWAYS_ACCEPT = 'ALWAYS_ACCEPT',\n\tALWAYS_DENY = 'ALWAYS_DENY',\n\tASK_MODERATOR = 'ASK_MODERATOR',\n}\n\nexport class BBBCreateConfig extends BBBBaseMeetingConfig {\n\tconstructor(config: BBBCreateConfig) {\n\t\tsuper(config);\n\t\tthis.name = config.name;\n\t\tthis.meetingID = config.meetingID;\n\t\tthis.logoutURL = config.logoutURL;\n\t\tthis.welcome = config.welcome;\n\t\tthis.guestPolicy = config.guestPolicy;\n\t\tthis.moderatorPW = config.moderatorPW;\n\t\tthis.attendeePW = config.attendeePW;\n\t\tthis.allowModsToUnmuteUsers = config.allowModsToUnmuteUsers;\n\t\tthis['meta_bbb-origin-server-name'] = config['meta_bbb-origin-server-name'];\n\t}\n\n\tname: string;\n\n\tattendeePW?: string;\n\n\tmoderatorPW?: string;\n\n\tlogoutURL?: string;\n\n\twelcome?: string;\n\n\tguestPolicy?: GuestPolicy;\n\n\tmuteOnStart?: boolean;\n\n\tallowModsToUnmuteUsers?: boolean;\n\n\t'meta_bbb-origin-server-name'?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BBBCreateConfigBuilder.html":{"url":"classes/BBBCreateConfigBuilder.html","title":"class - BBBCreateConfigBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BBBCreateConfigBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/builder/bbb-create-config.builder.ts\n \n\n\n\n \n Extends\n \n \n Builder\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n product\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n build\n \n \n withGuestPolicy\n \n \n withLogoutUrl\n \n \n withMuteOnStart\n \n \n withWelcome\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n product\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from Builder\n\n \n \n \n \n Defined in Builder:2\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \n \n build()\n \n \n\n\n \n \n Inherited from Builder\n\n \n \n \n \n Defined in Builder:26\n\n \n \n\n\n \n \n\n \n Returns : BBBCreateConfig\n\n \n \n \n \n \n \n \n \n \n \n \n withGuestPolicy\n \n \n \n \n \n \nwithGuestPolicy(guestPolicy: GuestPolicy)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/builder/bbb-create-config.builder.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n guestPolicy\n \n GuestPolicy\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BBBCreateConfigBuilder\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withLogoutUrl\n \n \n \n \n \n \nwithLogoutUrl(logoutUrl: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/builder/bbb-create-config.builder.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n logoutUrl\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BBBCreateConfigBuilder\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withMuteOnStart\n \n \n \n \n \n \nwithMuteOnStart(value: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/builder/bbb-create-config.builder.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BBBCreateConfigBuilder\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withWelcome\n \n \n \n \n \n \nwithWelcome(welcome: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/builder/bbb-create-config.builder.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n welcome\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BBBCreateConfigBuilder\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\nimport { BBBCreateConfig, BBBRole, GuestPolicy } from '../request';\nimport { Builder } from './builder';\n\nexport class BBBCreateConfigBuilder extends Builder {\n\twithLogoutUrl(logoutUrl: string): BBBCreateConfigBuilder {\n\t\tthis.product.logoutURL = logoutUrl;\n\t\treturn this;\n\t}\n\n\twithWelcome(welcome: string): BBBCreateConfigBuilder {\n\t\tthis.product.welcome = welcome;\n\t\treturn this;\n\t}\n\n\twithGuestPolicy(guestPolicy: GuestPolicy): BBBCreateConfigBuilder {\n\t\tthis.product.guestPolicy = guestPolicy;\n\t\treturn this;\n\t}\n\n\twithMuteOnStart(value: boolean): BBBCreateConfigBuilder {\n\t\tthis.product.muteOnStart = value;\n\t\treturn this;\n\t}\n\n\toverride build(): BBBCreateConfig {\n\t\tthis.product['meta_bbb-origin-server-name'] = Configuration.get('SC_DOMAIN') as string;\n\n\t\t// Deprecated fields from BBB that have to be set to a consistent value, in order to call the create endpoint multiple times without error\n\t\tthis.product.moderatorPW = BBBRole.MODERATOR;\n\t\tthis.product.attendeePW = BBBRole.VIEWER;\n\n\t\tthis.product.allowModsToUnmuteUsers = true;\n\n\t\treturn super.build();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BBBCreateResponse.html":{"url":"interfaces/BBBCreateResponse.html","title":"interface - BBBCreateResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BBBCreateResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/response/bbb-create.response.ts\n \n\n\n\n \n Extends\n \n \n BBBBaseResponse\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n createDate\n \n \n \n \n createTime\n \n \n \n \n dialNumber\n \n \n \n \n duration\n \n \n \n \n hasBeenForciblyEnded\n \n \n \n \n hasUserJoined\n \n \n \n \n internalMeetingID\n \n \n \n \n meetingID\n \n \n \n \n parentMeetingID\n \n \n \n \n voiceBridge\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n createDate\n \n \n \n \n \n \n \n \n createDate: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n createTime\n \n \n \n \n \n \n \n \n createTime: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n dialNumber\n \n \n \n \n \n \n \n \n dialNumber: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n duration\n \n \n \n \n \n \n \n \n duration: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n hasBeenForciblyEnded\n \n \n \n \n \n \n \n \n hasBeenForciblyEnded: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n hasUserJoined\n \n \n \n \n \n \n \n \n hasUserJoined: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n internalMeetingID\n \n \n \n \n \n \n \n \n internalMeetingID: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n meetingID\n \n \n \n \n \n \n \n \n meetingID: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentMeetingID\n \n \n \n \n \n \n \n \n parentMeetingID: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n voiceBridge\n \n \n \n \n \n \n \n \n voiceBridge: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BBBBaseResponse } from './bbb-base.response';\n\nexport interface BBBCreateResponse extends BBBBaseResponse {\n\tmeetingID: string;\n\tinternalMeetingID: string;\n\tparentMeetingID: string;\n\tcreateTime: number;\n\tvoiceBridge: number;\n\tdialNumber: string;\n\tcreateDate: string;\n\thasUserJoined: boolean;\n\tduration: number;\n\thasBeenForciblyEnded: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BBBJoinConfig.html":{"url":"classes/BBBJoinConfig.html","title":"class - BBBJoinConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BBBJoinConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/request/bbb-join.config.ts\n \n\n\n\n \n Extends\n \n \n BBBBaseMeetingConfig\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n fullName\n \n \n Optional\n guest\n \n \n Optional\n redirect\n \n \n role\n \n \n Optional\n userID\n \n \n meetingID\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(config: BBBJoinConfig)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-join.config.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n \n BBBJoinConfig\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n fullName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-join.config.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n guest\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-join.config.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n redirect\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-join.config.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n role\n \n \n \n \n \n \n Type : BBBRole\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-join.config.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n userID\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-join.config.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n meetingID\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from BBBBaseMeetingConfig\n\n \n \n \n \n Defined in BBBBaseMeetingConfig:6\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { BBBBaseMeetingConfig } from './bbb-base-meeting.config';\n\nexport enum BBBRole {\n\tMODERATOR = 'MODERATOR',\n\tVIEWER = 'VIEWER',\n}\n\nexport class BBBJoinConfig extends BBBBaseMeetingConfig {\n\tconstructor(config: BBBJoinConfig) {\n\t\tsuper(config);\n\t\tthis.fullName = config.fullName;\n\t\tthis.role = config.role;\n\t\tthis.userID = config.userID;\n\t\tthis.guest = config.guest;\n\t\tthis.redirect = config.redirect;\n\t}\n\n\tfullName: string;\n\n\trole: BBBRole;\n\n\tuserID?: string;\n\n\tguest?: boolean;\n\n\tredirect?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BBBJoinConfigBuilder.html":{"url":"classes/BBBJoinConfigBuilder.html","title":"class - BBBJoinConfigBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BBBJoinConfigBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/builder/bbb-join-config.builder.ts\n \n\n\n\n \n Extends\n \n \n Builder\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n product\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n asGuest\n \n \n withRole\n \n \n withUserId\n \n \n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n product\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from Builder\n\n \n \n \n \n Defined in Builder:2\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n asGuest\n \n \n \n \n \n \nasGuest(value: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/builder/bbb-join-config.builder.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BBBJoinConfigBuilder\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withRole\n \n \n \n \n \n \nwithRole(value: BBBRole)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/builder/bbb-join-config.builder.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n BBBRole\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BBBJoinConfigBuilder\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withUserId\n \n \n \n \n \n \nwithUserId(value: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/builder/bbb-join-config.builder.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BBBJoinConfigBuilder\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild()\n \n \n\n\n \n \n Inherited from Builder\n\n \n \n \n \n Defined in Builder:8\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BBBJoinConfig, BBBRole } from '../request/bbb-join.config';\nimport { Builder } from './builder';\n\nexport class BBBJoinConfigBuilder extends Builder {\n\tasGuest(value: boolean): BBBJoinConfigBuilder {\n\t\tthis.product.guest = value;\n\t\treturn this;\n\t}\n\n\twithRole(value: BBBRole): BBBJoinConfigBuilder {\n\t\tthis.product.role = value;\n\t\treturn this;\n\t}\n\n\twithUserId(value: string): BBBJoinConfigBuilder {\n\t\tthis.product.userID = value;\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BBBJoinResponse.html":{"url":"interfaces/BBBJoinResponse.html","title":"interface - BBBJoinResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BBBJoinResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/response/bbb-join.response.ts\n \n\n\n\n \n Extends\n \n \n BBBBaseResponse\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n auth_token\n \n \n \n \n meeting_id\n \n \n \n \n session_token\n \n \n \n \n url\n \n \n \n \n user_id\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n auth_token\n \n \n \n \n \n \n \n \n auth_token: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n meeting_id\n \n \n \n \n \n \n \n \n meeting_id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n session_token\n \n \n \n \n \n \n \n \n session_token: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n user_id\n \n \n \n \n \n \n \n \n user_id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BBBBaseResponse } from './bbb-base.response';\n\nexport interface BBBJoinResponse extends BBBBaseResponse {\n\tmeeting_id: string;\n\tuser_id: string;\n\tauth_token: string;\n\tsession_token: string;\n\turl: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BBBMeetingInfoResponse.html":{"url":"interfaces/BBBMeetingInfoResponse.html","title":"interface - BBBMeetingInfoResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BBBMeetingInfoResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/response/bbb-meeting-info.response.ts\n \n\n\n\n \n Extends\n \n \n BBBBaseResponse\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n attendees\n \n \n \n Optional\n \n breakout\n \n \n \n Optional\n \n breakoutRooms\n \n \n \n \n createDate\n \n \n \n \n createTime\n \n \n \n \n dialNumber\n \n \n \n \n duration\n \n \n \n \n endTime\n \n \n \n \n hasBeenForciblyEnded\n \n \n \n \n hasUserJoined\n \n \n \n \n internalMeetingID\n \n \n \n \n isBreakout\n \n \n \n \n listenerCount\n \n \n \n \n maxUsers\n \n \n \n \n meetingID\n \n \n \n \n meetingName\n \n \n \n \n metadata\n \n \n \n \n moderatorCount\n \n \n \n \n participantCount\n \n \n \n \n recording\n \n \n \n \n running\n \n \n \n \n startTime\n \n \n \n \n videoCount\n \n \n \n \n voiceBridge\n \n \n \n \n voiceParticipantCount\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n attendees\n \n \n \n \n \n \n \n \n attendees: literal type[]\n\n \n \n\n\n \n \n Type : literal type[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n breakout\n \n \n \n \n \n \n \n \n breakout: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n breakoutRooms\n \n \n \n \n \n \n \n \n breakoutRooms: literal type[]\n\n \n \n\n\n \n \n Type : literal type[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n createDate\n \n \n \n \n \n \n \n \n createDate: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n createTime\n \n \n \n \n \n \n \n \n createTime: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n dialNumber\n \n \n \n \n \n \n \n \n dialNumber: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n duration\n \n \n \n \n \n \n \n \n duration: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n endTime\n \n \n \n \n \n \n \n \n endTime: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n hasBeenForciblyEnded\n \n \n \n \n \n \n \n \n hasBeenForciblyEnded: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n hasUserJoined\n \n \n \n \n \n \n \n \n hasUserJoined: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n internalMeetingID\n \n \n \n \n \n \n \n \n internalMeetingID: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n isBreakout\n \n \n \n \n \n \n \n \n isBreakout: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n listenerCount\n \n \n \n \n \n \n \n \n listenerCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n maxUsers\n \n \n \n \n \n \n \n \n maxUsers: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n meetingID\n \n \n \n \n \n \n \n \n meetingID: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n meetingName\n \n \n \n \n \n \n \n \n meetingName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n metadata\n \n \n \n \n \n \n \n \n metadata: \n\n \n \n\n\n\n\n\n\n\n \n \n \n \n \n \n \n moderatorCount\n \n \n \n \n \n \n \n \n moderatorCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n participantCount\n \n \n \n \n \n \n \n \n participantCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n recording\n \n \n \n \n \n \n \n \n recording: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n running\n \n \n \n \n \n \n \n \n running: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n startTime\n \n \n \n \n \n \n \n \n startTime: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n videoCount\n \n \n \n \n \n \n \n \n videoCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n voiceBridge\n \n \n \n \n \n \n \n \n voiceBridge: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n voiceParticipantCount\n \n \n \n \n \n \n \n \n voiceParticipantCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BBBBaseResponse } from './bbb-base.response';\n\nexport interface BBBMeetingInfoResponse extends BBBBaseResponse {\n\tmeetingName: string;\n\tmeetingID: string;\n\tinternalMeetingID: string;\n\tcreateTime: number;\n\tcreateDate: string;\n\tvoiceBridge: number;\n\tdialNumber: string;\n\trunning: boolean;\n\tduration: number;\n\thasUserJoined: boolean;\n\trecording: boolean;\n\thasBeenForciblyEnded: boolean;\n\tstartTime: number;\n\tendTime: number;\n\tparticipantCount: number;\n\tlistenerCount: number;\n\tvoiceParticipantCount: number;\n\tvideoCount: number;\n\tmaxUsers: number;\n\tmoderatorCount: number;\n\tattendees: {\n\t\tattendee: {\n\t\t\tuserID: string;\n\t\t\tfullName: string;\n\t\t\trole: string;\n\t\t\tisPresenter: boolean;\n\t\t\tisListeningOnly: boolean;\n\t\t\thasJoinedVoice: boolean;\n\t\t\thasVideo: boolean;\n\t\t\tclientType: string;\n\t\t};\n\t}[];\n\tmetadata: unknown;\n\tisBreakout: boolean;\n\tbreakoutRooms?: {\n\t\tbreakout: string;\n\t}[];\n\tbreakout?: {\n\t\tparentMeetingID: string;\n\t\tsequence: number;\n\t\tfreeJoin: boolean;\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BBBResponse.html":{"url":"interfaces/BBBResponse.html","title":"interface - BBBResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BBBResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/response/bbb.response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n response\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n response\n \n \n \n \n \n \n \n \n response: T\n\n \n \n\n\n \n \n Type : T\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BBBBaseResponse } from './bbb-base.response';\n\nexport interface BBBResponse {\n\tresponse: T;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BBBService.html":{"url":"injectables/BBBService.html","title":"injectable - BBBService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BBBService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/bbb.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n create\n \n \n end\n \n \n Protected\n generateChecksum\n \n \n getBbbRequestConfig\n \n \n getMeetingInfo\n \n \n Protected\n getUrl\n \n \n Async\n join\n \n \n Protected\n toParams\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n baseUrl\n \n \n salt\n \n \n presentationUrl\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(bbbSettings: IBbbSettings, httpService: HttpService, converterUtil: ConverterUtil)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n bbbSettings\n \n \n IBbbSettings\n \n \n \n No\n \n \n \n \n httpService\n \n \n HttpService\n \n \n \n No\n \n \n \n \n converterUtil\n \n \n ConverterUtil\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(config: BBBCreateConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:39\n \n \n\n\n \n \n Creates a new BBB Meeting. The create call is idempotent: you can call it multiple times with the same parameters without side effects.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n BBBCreateConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n end\n \n \n \n \n \n \nend(config: BBBBaseMeetingConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:84\n \n \n\n\n \n \n Ends a BBB Meeting.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n BBBBaseMeetingConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n generateChecksum\n \n \n \n \n \n \n \n generateChecksum(callName: string, queryParams: URLSearchParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:136\n \n \n\n\n \n \n Returns a SHA1 encoded checksum for the input parameters.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n callName\n \n string\n \n\n \n No\n \n\n\n \n \n queryParams\n \n URLSearchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getBbbRequestConfig\n \n \n \n \n \n \ngetBbbRequestConfig(presentationUrl: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n presentationUrl\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getMeetingInfo\n \n \n \n \n \n \ngetMeetingInfo(config: BBBBaseMeetingConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:107\n \n \n\n\n \n \n Returns information about a BBB Meeting.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n BBBBaseMeetingConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n getUrl\n \n \n \n \n \n \n \n getUrl(callName: string, queryParams: URLSearchParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:167\n \n \n\n\n \n \n Builds the url for BBB.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n callName\n \n string\n \n\n \n No\n \n\n\n \n Name of the BBB api function.\n\n \n \n \n queryParams\n \n URLSearchParams\n \n\n \n No\n \n\n\n \n Parameters for the endpoint.\n\n \n \n \n \n \n \n Returns : string\n\n \n \n A callable url.\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n join\n \n \n \n \n \n \n \n join(config: BBBJoinConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:72\n \n \n\n\n \n \n Creates a join link to a BBB Meeting.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n BBBJoinConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n The join url\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n toParams\n \n \n \n \n \n \n \n toParams(object: BBBCreateConfig | BBBBaseMeetingConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:150\n \n \n\n\n \n \n Extracts fields from a javascript object and builds a URLSearchParams object from it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n object\n \n BBBCreateConfig | BBBBaseMeetingConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : URLSearchParams\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n baseUrl\n \n \n\n \n \n getbaseUrl()\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:21\n \n \n\n \n \n \n \n \n \n \n salt\n \n \n\n \n \n getsalt()\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:25\n \n \n\n \n \n \n \n \n \n \n presentationUrl\n \n \n\n \n \n getpresentationUrl()\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:29\n \n \n\n \n \n\n \n\n\n \n import { HttpService } from '@nestjs/axios';\nimport { Inject, Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { ConverterUtil } from '@shared/common/utils';\nimport { ErrorUtils } from '@src/core/error/utils';\nimport { AxiosResponse } from 'axios';\nimport crypto from 'crypto';\nimport { firstValueFrom, Observable } from 'rxjs';\nimport { URL, URLSearchParams } from 'url';\nimport { BbbSettings, IBbbSettings } from './bbb-settings.interface';\nimport { BBBBaseMeetingConfig, BBBCreateConfig, BBBJoinConfig } from './request';\nimport { BBBBaseResponse, BBBCreateResponse, BBBMeetingInfoResponse, BBBResponse, BBBStatus } from './response';\n\n@Injectable()\nexport class BBBService {\n\tconstructor(\n\t\t@Inject(BbbSettings) private readonly bbbSettings: IBbbSettings,\n\t\tprivate readonly httpService: HttpService,\n\t\tprivate readonly converterUtil: ConverterUtil\n\t) {}\n\n\tprotected get baseUrl(): string {\n\t\treturn this.bbbSettings.host;\n\t}\n\n\tprotected get salt(): string {\n\t\treturn this.bbbSettings.salt;\n\t}\n\n\tprotected get presentationUrl(): string {\n\t\treturn this.bbbSettings.presentationUrl;\n\t}\n\n\t/**\n\t * Creates a new BBB Meeting. The create call is idempotent: you can call it multiple times with the same parameters without side effects.\n\t * @param {BBBCreateConfig} config\n\t * @returns {Promise>}\n\t * @throws {InternalServerErrorException}\n\t */\n\tcreate(config: BBBCreateConfig): Promise> {\n\t\tconst url: string = this.getUrl('create', this.toParams(config));\n\t\tconst conf = { headers: { 'Content-Type': 'application/xml' } };\n\t\tconst data = this.getBbbRequestConfig(this.presentationUrl);\n\t\tconst observable: Observable> = this.httpService.post(url, data, conf);\n\n\t\treturn firstValueFrom(observable)\n\t\t\t.then((resp: AxiosResponse) => {\n\t\t\t\tconst bbbResp = this.converterUtil.xml2object | BBBResponse>(\n\t\t\t\t\tresp.data\n\t\t\t\t);\n\t\t\t\tif (bbbResp.response.returncode !== BBBStatus.SUCCESS) {\n\t\t\t\t\tthrow new InternalServerErrorException(`${bbbResp.response.messageKey}: ${bbbResp.response.message}`);\n\t\t\t\t}\n\t\t\t\treturn bbbResp as BBBResponse;\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tthrow new InternalServerErrorException(null, ErrorUtils.createHttpExceptionOptions(error, 'BBBService:create'));\n\t\t\t});\n\t}\n\n\t// it should be a private method\n\tgetBbbRequestConfig(presentationUrl: string): string {\n\t\tif (presentationUrl === '') return '';\n\t\treturn ``;\n\t}\n\n\t/**\n\t * Creates a join link to a BBB Meeting.\n\t * @param {BBBJoinConfig} config\n\t * @returns {Promise} The join url\n\t * @throws {InternalServerErrorException}\n\t */\n\tasync join(config: BBBJoinConfig): Promise {\n\t\tawait this.getMeetingInfo(new BBBBaseMeetingConfig({ meetingID: config.meetingID }));\n\n\t\treturn this.getUrl('join', this.toParams(config));\n\t}\n\n\t/**\n\t * Ends a BBB Meeting.\n\t * @param {BBBBaseMeetingConfig} config\n\t * @returns {BBBResponse}\n\t * @throws {InternalServerErrorException}\n\t */\n\tend(config: BBBBaseMeetingConfig): Promise> {\n\t\tconst url: string = this.getUrl('end', this.toParams(config));\n\t\tconst observable: Observable> = this.httpService.get(url);\n\n\t\treturn firstValueFrom(observable)\n\t\t\t.then((resp: AxiosResponse) => {\n\t\t\t\tconst bbbResp = this.converterUtil.xml2object>(resp.data);\n\t\t\t\tif (bbbResp.response.returncode !== BBBStatus.SUCCESS) {\n\t\t\t\t\tthrow new InternalServerErrorException(`${bbbResp.response.messageKey}: ${bbbResp.response.message}`);\n\t\t\t\t}\n\t\t\t\treturn bbbResp;\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tthrow new InternalServerErrorException(null, ErrorUtils.createHttpExceptionOptions(error, 'BBBService:end'));\n\t\t\t});\n\t}\n\n\t/**\n\t * Returns information about a BBB Meeting.\n\t * @param {BBBBaseMeetingConfig} config\n\t * @returns {Promise}\n\t * @throws {InternalServerErrorException}\n\t */\n\tgetMeetingInfo(config: BBBBaseMeetingConfig): Promise> {\n\t\tconst url: string = this.getUrl('getMeetingInfo', this.toParams(config));\n\t\tconst observable: Observable> = this.httpService.get(url);\n\n\t\treturn firstValueFrom(observable)\n\t\t\t.then((resp: AxiosResponse) => {\n\t\t\t\tconst bbbResp = this.converterUtil.xml2object | BBBResponse\n\t\t\t\t>(resp.data);\n\t\t\t\tif (bbbResp.response.returncode !== BBBStatus.SUCCESS) {\n\t\t\t\t\tthrow new InternalServerErrorException(`${bbbResp.response.messageKey}: ${bbbResp.response.message}`);\n\t\t\t\t}\n\t\t\t\treturn bbbResp as BBBResponse;\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tthrow new InternalServerErrorException(\n\t\t\t\t\tnull,\n\t\t\t\t\tErrorUtils.createHttpExceptionOptions(error, 'BBBService:getMeetingInfo')\n\t\t\t\t);\n\t\t\t});\n\t}\n\n\t// should be private\n\t/**\n\t * Returns a SHA1 encoded checksum for the input parameters.\n\t * @param {string} callName\n\t * @param {URLSearchParams} queryParams\n\t * @returns {string}\n\t */\n\tprotected generateChecksum(callName: string, queryParams: URLSearchParams): string {\n\t\tconst queryString: string = queryParams.toString();\n\t\tconst sha = crypto.createHash('sha1');\n\t\tsha.update(callName + queryString + this.salt);\n\t\tconst checksum: string = sha.digest('hex');\n\t\treturn checksum;\n\t}\n\n\t// should be private\n\t/**\n\t * Extracts fields from a javascript object and builds a URLSearchParams object from it.\n\t * @param {object} object\n\t * @returns {URLSearchParams}\n\t */\n\tprotected toParams(object: BBBCreateConfig | BBBBaseMeetingConfig): URLSearchParams {\n\t\tconst params: URLSearchParams = new URLSearchParams();\n\t\tObject.keys(object).forEach((key) => {\n\t\t\tif (key) {\n\t\t\t\tparams.append(key, String(object[key]));\n\t\t\t}\n\t\t});\n\t\treturn params;\n\t}\n\n\t// should be private\n\t/**\n\t * Builds the url for BBB.\n\t * @param callName Name of the BBB api function.\n\t * @param queryParams Parameters for the endpoint.\n\t * @returns {string} A callable url.\n\t */\n\tprotected getUrl(callName: string, queryParams: URLSearchParams): string {\n\t\tconst checksum: string = this.generateChecksum(callName, queryParams);\n\t\tqueryParams.append('checksum', checksum);\n\n\t\tconst url: URL = new URL(this.baseUrl);\n\t\turl.pathname = `/bigbluebutton/api/${callName}`;\n\t\turl.search = queryParams.toString();\n\n\t\treturn url.toString();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BaseDO.html":{"url":"classes/BaseDO.html","title":"class - BaseDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BaseDO\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/base.do.ts\n \n\n \n Deprecated\n \n \n \n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \n Protected\n constructor(id?: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/base.do.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n \n string\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/base.do.ts:5\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export abstract class BaseDO {\n\tid?: string;\n\n\tprotected constructor(id?: string) {\n\t\tthis.id = id;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BaseDORepo.html":{"url":"injectables/BaseDORepo.html","title":"injectable - BaseDORepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BaseDORepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/base.do.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n createEntity\n \n \n Protected\n createNewEntityFromDO\n \n \n Async\n delete\n \n \n Async\n deleteById\n \n \n Private\n deleteEntityById\n \n \n Abstract\n entityFactory\n \n \n Async\n findById\n \n \n Protected\n Abstract\n mapDOToEntityProperties\n \n \n Protected\n Abstract\n mapEntityToDO\n \n \n Private\n removeProtectedEntityFields\n \n \n Async\n save\n \n \n Async\n saveAll\n \n \n Private\n Async\n updateEntity\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(_em: EntityManager, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n _em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n createEntity\n \n \n \n \n \n \n \n createEntity(domainObject: DO)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : E\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n createNewEntityFromDO\n \n \n \n \n \n \n \n createNewEntityFromDO(domainObject: DO)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : E\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(domainObjects: DO[] | DO)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts:87\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[] | DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteById\n \n \n \n \n \n \n [object Object],[object Object],[object Object]\n \n \n \n \n \n deleteById(id: EntityId | EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts:100\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n deleteEntityById\n \n \n \n \n \n \n \n deleteEntityById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts:113\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n entityFactory\n \n \n \n \n \n \n \n entityFactory(props: P)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n P\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : E\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts:118\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Abstract\n mapDOToEntityProperties\n \n \n \n \n \n \n \n mapDOToEntityProperties(entityDO: DO)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : P\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Abstract\n mapEntityToDO\n \n \n \n \n \n \n \n mapEntityToDO(entity: E)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n E\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeProtectedEntityFields\n \n \n \n \n \n \n \n removeProtectedEntityFields(entity: E)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts:79\n \n \n\n\n \n \n Ignore base entity properties when updating entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n E\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entityDo: DO)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDo\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAll\n \n \n \n \n \n \n \n saveAll(entityDos: DO[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDos\n \n DO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n updateEntity\n \n \n \n \n \n \n \n updateEntity(domainObject: DO)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts:13\n \n \n\n \n \n\n \n\n\n \n import { EntityName, FilterQuery } from '@mikro-orm/core';\nimport { EntityManager, ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { BaseDO } from '@shared/domain/domainobject';\nimport { BaseEntity, baseEntityProperties } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacyLogger } from '@src/core/logger';\n\n@Injectable()\nexport abstract class BaseDORepo {\n\tconstructor(protected readonly _em: EntityManager, protected readonly logger: LegacyLogger) {}\n\n\tabstract get entityName(): EntityName;\n\n\tabstract entityFactory(props: P): E;\n\n\tprotected abstract mapEntityToDO(entity: E): DO;\n\n\tprotected abstract mapDOToEntityProperties(entityDO: DO): P;\n\n\tasync save(entityDo: DO): Promise {\n\t\tconst savedDos: DO[] = await this.saveAll([entityDo]);\n\t\treturn savedDos[0];\n\t}\n\n\tasync saveAll(entityDos: DO[]): Promise {\n\t\tconst promises: Promise[] = entityDos.map(async (domainObject: DO): Promise => {\n\t\t\tlet entity: E;\n\t\t\tif (!domainObject.id) {\n\t\t\t\tentity = this.createEntity(domainObject);\n\t\t\t} else {\n\t\t\t\tentity = await this.updateEntity(domainObject);\n\t\t\t}\n\t\t\treturn entity;\n\t\t});\n\n\t\tconst entities: E[] = await Promise.all(promises);\n\t\tawait this._em.persistAndFlush(entities);\n\n\t\tconst savedDos: DO[] = entities.map((entity) => this.mapEntityToDO(entity));\n\t\treturn savedDos;\n\t}\n\n\tprivate createEntity(domainObject: DO): E {\n\t\tconst newEntity: E = this.createNewEntityFromDO(domainObject);\n\n\t\tconst created: E = this._em.create(this.entityName, newEntity);\n\t\tthis.logger.debug(`Created new entity with id ${created.id}`);\n\t\treturn created;\n\t}\n\n\tprivate async updateEntity(domainObject: DO): Promise {\n\t\tconst newEntity: E = this.createNewEntityFromDO(domainObject);\n\n\t\tthis.removeProtectedEntityFields(newEntity);\n\n\t\tconst fetchedEntity: E = await this._em.findOneOrFail(this.entityName, {\n\t\t\tid: domainObject.id,\n\t\t} as FilterQuery);\n\t\tconst updated: E = this._em.assign(fetchedEntity, newEntity);\n\t\tthis.logger.debug(`Updated entity with id ${updated.id}`);\n\t\treturn updated;\n\t}\n\n\tprotected createNewEntityFromDO(domainObject: DO) {\n\t\tconst entityProps: P = this.mapDOToEntityProperties(domainObject);\n\t\tconst newEntity: E = this.entityFactory(entityProps);\n\n\t\tif (domainObject.id) {\n\t\t\tnewEntity.id = domainObject.id;\n\t\t\tnewEntity._id = new ObjectId(domainObject.id);\n\t\t}\n\t\treturn newEntity;\n\t}\n\n\t/**\n\t * Ignore base entity properties when updating entity\n\t */\n\tprivate removeProtectedEntityFields(entity: E) {\n\t\tObject.keys(entity).forEach((key) => {\n\t\t\tif (baseEntityProperties.includes(key)) {\n\t\t\t\tdelete entity[key];\n\t\t\t}\n\t\t});\n\t}\n\n\tasync delete(domainObjects: DO[] | DO): Promise {\n\t\tconst dos: DO[] = Array.isArray(domainObjects) ? domainObjects : [domainObjects];\n\n\t\tconst entities: E[] = dos.map((domainObj: DO): E => this.createNewEntityFromDO(domainObj));\n\n\t\tthis._em.remove(entities);\n\t\tawait this._em.flush();\n\t}\n\n\t// TODO: https://ticketsystem.dbildungscloud.de/browse/ARC-173 replace with delete(domainObject: DO)\n\t/**\n\t * @deprecated Please use {@link delete} instead\n\t */\n\tasync deleteById(id: EntityId | EntityId[]): Promise {\n\t\tconst ids: string[] = Array.isArray(id) ? id : [id];\n\n\t\tlet total = 0;\n\t\tconst promises: Promise[] = ids.map(async (entityId: string): Promise => {\n\t\t\tconst deleted: number = await this.deleteEntityById(entityId);\n\t\t\ttotal += deleted;\n\t\t});\n\n\t\tawait Promise.all(promises);\n\t\treturn total;\n\t}\n\n\tprivate deleteEntityById(id: EntityId): Promise {\n\t\tconst promise: Promise = this._em.nativeDelete(this.entityName, { id } as FilterQuery);\n\t\treturn promise;\n\t}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst entity: E = await this._em.findOneOrFail(this.entityName, { id } as FilterQuery);\n\t\treturn this.mapEntityToDO(entity);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BaseDomainObject.html":{"url":"classes/BaseDomainObject.html","title":"class - BaseDomainObject","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BaseDomainObject\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/interface/base-domain-object.ts\n \n\n \n Deprecated\n \n \n \n \n\n\n\n \n Implements\n \n \n AuthorizableObject\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Abstract\n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Abstract\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/interface/base-domain-object.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { AuthorizableObject } from '../domain-object';\n\n// idea support for each CRUD action like Actions.read as abstract class, to have a generall interface\n\n/**\n * @deprecated\n */\nexport abstract class BaseDomainObject implements AuthorizableObject {\n\tabstract id: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BaseEntity.html":{"url":"classes/BaseEntity.html","title":"class - BaseEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BaseEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/base.entity.ts\n \n\n\n\n\n \n Implements\n \n \n IEntity\n AuthorizableObject\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n _id\n \n \n \n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n _id\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @PrimaryKey()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/base.entity.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @SerializedPrimaryKey()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/base.entity.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { PrimaryKey, Property, SerializedPrimaryKey } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport type { AuthorizableObject } from '../domain-object';\nimport type { IEntity } from '../interface';\n\nexport abstract class BaseEntity implements IEntity, AuthorizableObject {\n\t@PrimaryKey()\n\t_id!: ObjectId;\n\n\t@SerializedPrimaryKey()\n\tid!: string;\n}\n\n/**\n * Describes the properties available for entities when used as @IdentifiedReference\n */\nexport type BaseEntityReference = 'id' | '_id';\n\n// NOTE we have to include BaseEntityWithTimestamps in the entity discovery if we inherit from BaseEntity.\n// that can be cumbersome e.g. in tests. that's why we define it as a root class here.\n// TODO check if we can use EntitySchema to prevent code duplication (decorators don't work for defining properties btw.)\n\nexport abstract class BaseEntityWithTimestamps implements AuthorizableObject {\n\t@PrimaryKey()\n\t_id!: ObjectId;\n\n\t@SerializedPrimaryKey()\n\tid!: string;\n\n\t@Property()\n\tcreatedAt = new Date();\n\n\t@Property({ onUpdate: () => new Date() })\n\tupdatedAt = new Date();\n}\n\n// These fields are explicitly ignored when updating an entity. See base.do.repo.ts.\nexport const baseEntityProperties = ['id', '_id', 'updatedAt', 'createdAt'];\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BaseEntityWithTimestamps.html":{"url":"classes/BaseEntityWithTimestamps.html","title":"class - BaseEntityWithTimestamps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BaseEntityWithTimestamps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/base.entity.ts\n \n\n\n\n\n \n Implements\n \n \n AuthorizableObject\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n _id\n \n \n \n createdAt\n \n \n \n id\n \n \n \n updatedAt\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n _id\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @PrimaryKey()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/base.entity.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n Default value : new Date()\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/base.entity.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @SerializedPrimaryKey()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/base.entity.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n Default value : new Date()\n \n \n \n \n Decorators : \n \n \n @Property({onUpdate: () => })\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/base.entity.ts:34\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { PrimaryKey, Property, SerializedPrimaryKey } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport type { AuthorizableObject } from '../domain-object';\nimport type { IEntity } from '../interface';\n\nexport abstract class BaseEntity implements IEntity, AuthorizableObject {\n\t@PrimaryKey()\n\t_id!: ObjectId;\n\n\t@SerializedPrimaryKey()\n\tid!: string;\n}\n\n/**\n * Describes the properties available for entities when used as @IdentifiedReference\n */\nexport type BaseEntityReference = 'id' | '_id';\n\n// NOTE we have to include BaseEntityWithTimestamps in the entity discovery if we inherit from BaseEntity.\n// that can be cumbersome e.g. in tests. that's why we define it as a root class here.\n// TODO check if we can use EntitySchema to prevent code duplication (decorators don't work for defining properties btw.)\n\nexport abstract class BaseEntityWithTimestamps implements AuthorizableObject {\n\t@PrimaryKey()\n\t_id!: ObjectId;\n\n\t@SerializedPrimaryKey()\n\tid!: string;\n\n\t@Property()\n\tcreatedAt = new Date();\n\n\t@Property({ onUpdate: () => new Date() })\n\tupdatedAt = new Date();\n}\n\n// These fields are explicitly ignored when updating an entity. See base.do.repo.ts.\nexport const baseEntityProperties = ['id', '_id', 'updatedAt', 'createdAt'];\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BaseFactory.html":{"url":"classes/BaseFactory.html","title":"class - BaseFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BaseFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/base.factory.ts\n \n\n\n \n Description\n \n \n Entity factory based on thoughtbot/fishery\nhttps://github.com/thoughtbot/fishery\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(EntityClass: literal type, propsFactory: Factory)\n \n \n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n EntityClass\n \n \n literal type\n \n \n \n No\n \n \n \n \n propsFactory\n \n \n Factory\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:15\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:98\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:110\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:47\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:75\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:60\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:148\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:32\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:122\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:144\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:160\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:134\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BuildOptions, DeepPartial, Factory, GeneratorFn, HookFn } from 'fishery';\nimport { ObjectId } from 'mongodb';\n\n/**\n * Entity factory based on thoughtbot/fishery\n * https://github.com/thoughtbot/fishery\n *\n * @template T The entity to be built\n * @template U The properties interface of the entity\n * @template I The transient parameters that your factory supports\n * @template C The class of the factory object being created.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport class BaseFactory {\n\tprotected readonly propsFactory: Factory;\n\n\tconstructor(private readonly EntityClass: { new (props: U): T }, propsFactory: Factory) {\n\t\tthis.propsFactory = propsFactory;\n\t}\n\n\t/**\n\t * Define a factory\n\t * @template T The entity to be built\n\t * @template U The properties interface of the entity\n\t * @template I The transient parameters that your factory supports\n\t * @template C The class of the factory object being created.\n\t * @param EntityClass The constructor of the entity to be built.\n\t * @param generator Your factory function - see `Factory.define()` in thoughtbot/fishery\n\t * @returns\n\t */\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tstatic define>(\n\t\tthis: new (EntityClass: { new (props: U): T }, propsFactory: Factory) => F,\n\t\tEntityClass: { new (props: U): T },\n\t\tgenerator: GeneratorFn\n\t): F {\n\t\tconst propsFactory = Factory.define(generator);\n\t\tconst factory = new this(EntityClass, propsFactory);\n\t\treturn factory;\n\t}\n\n\t/**\n\t * Build an entity using your factory\n\t * @param params\n\t * @returns an entity\n\t */\n\tbuild(params?: DeepPartial, options: BuildOptions = {}): T {\n\t\tconst props = this.propsFactory.build(params, options);\n\t\tconst entity = new this.EntityClass(props);\n\n\t\treturn entity;\n\t}\n\n\t/**\n\t * Build an entity using your factory and generate a id for it.\n\t * @param params\n\t * @param id\n\t * @returns an entity\n\t */\n\tbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions = {}): T {\n\t\tconst entity = this.build(params, options);\n\t\tconst generatedId = new ObjectId(id);\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\tconst entityWithId = Object.assign(entity as any, { _id: generatedId, id: generatedId.toHexString() });\n\n\t\treturn entityWithId as T;\n\t}\n\n\t/**\n\t * Build a list of entities using your factory\n\t * @param number\n\t * @param params\n\t * @returns a list of entities\n\t */\n\tbuildList(number: number, params?: DeepPartial, options: BuildOptions = {}): T[] {\n\t\tconst list: T[] = [];\n\t\tfor (let i = 0; i , options: BuildOptions = {}): T[] {\n\t\tconst list: T[] = [];\n\t\tfor (let i = 0; i ): this {\n\t\tconst newPropsFactory = this.propsFactory.afterBuild(afterBuildFn);\n\t\tconst newFactory = this.clone(newPropsFactory);\n\n\t\treturn newFactory;\n\t}\n\n\t/**\n\t * Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\t * @param associations\n\t * @returns a new factory\n\t */\n\tassociations(associations: Partial): this {\n\t\tconst newPropsFactory = this.propsFactory.associations(associations);\n\t\tconst newFactory = this.clone(newPropsFactory);\n\n\t\treturn newFactory;\n\t}\n\n\t/**\n\t * Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\t * @param params\n\t * @returns a new factory\n\t */\n\tparams(params: DeepPartial): this {\n\t\tconst newPropsFactory = this.propsFactory.params(params);\n\t\tconst newFactory = this.clone(newPropsFactory);\n\n\t\treturn newFactory;\n\t}\n\n\t/**\n\t * Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\t * @param transient - transient params\n\t * @returns a new factory\n\t */\n\ttransient(transient: Partial): this {\n\t\tconst newPropsFactory = this.propsFactory.transient(transient);\n\t\tconst newFactory = this.clone(newPropsFactory);\n\n\t\treturn newFactory;\n\t}\n\n\t/**\n\t * Set sequence back to its default value\n\t */\n\trewindSequence(): void {\n\t\tthis.propsFactory.rewindSequence();\n\t}\n\n\tprotected clone>(this: F, propsFactory: Factory): F {\n\t\tconst copy = new (this.constructor as {\n\t\t\tnew (EntityClass: { new (props: U): T }, propsOfFactory: Factory): F;\n\t\t})(this.EntityClass, propsFactory);\n\n\t\treturn copy;\n\t}\n\n\t/**\n\t * Get the next sequence value\n\t * @returns the next sequence value\n\t */\n\tprotected sequence(): number {\n\t\t// eslint-disable-next-line @typescript-eslint/dot-notation\n\t\treturn this.propsFactory['sequence']();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BaseRepo.html":{"url":"injectables/BaseRepo.html","title":"injectable - BaseRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BaseRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/base.repo.ts\n \n\n\n \n Description\n \n \n This repo will be replaced in the future by a more domain driven repo, which is currently discussed in the arc chapter.\nAn example for a possible implementation is the BaseDORepo.\n\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(_em: EntityManager)\n \n \n \n \n Defined in apps/server/src/shared/repo/base.repo.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n _em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.repo.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.repo.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.repo.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.repo.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/base.repo.ts:16\n \n \n\n \n \n\n \n\n\n \n import { EntityName, FilterQuery } from '@mikro-orm/core';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { BaseEntity } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\n\n/**\n * This repo will be replaced in the future by a more domain driven repo, which is currently discussed in the arc chapter.\n * An example for a possible implementation is the {@link BaseDORepo}.\n */\n@Injectable()\nexport abstract class BaseRepo {\n\tconstructor(protected readonly _em: EntityManager) {}\n\n\tabstract get entityName(): EntityName;\n\n\tcreate(entity: T): T {\n\t\treturn this._em.create(this.entityName, entity);\n\t}\n\n\tasync save(entities: T | T[]): Promise {\n\t\tawait this._em.persistAndFlush(entities);\n\t}\n\n\tasync delete(entities: T | T[]): Promise {\n\t\tawait this._em.removeAndFlush(entities);\n\t}\n\n\tasync findById(id: EntityId | ObjectId): Promise {\n\t\tconst promise: Promise = this._em.findOneOrFail(this.entityName, id as FilterQuery);\n\t\treturn promise;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BaseResponseMapper.html":{"url":"interfaces/BaseResponseMapper.html","title":"interface - BaseResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BaseResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/base-mapper.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n canMap\n \n \n \n \n mapToResponse\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n canMap\n \n \n \n \n \n \ncanMap(element: T)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/base-mapper.interface.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapToResponse\n \n \n \n \n \n \nmapToResponse(element: T)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/base-mapper.interface.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AnyContentElementResponse\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import type { AnyBoardDo } from '@shared/domain/domainobject';\nimport type { AnyContentElementResponse } from '../dto';\n\nexport interface BaseResponseMapper {\n\tmapToResponse(element: T): AnyContentElementResponse;\n\n\tcanMap(element: T): boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BaseUc.html":{"url":"classes/BaseUc.html","title":"class - BaseUc","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BaseUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/uc/base.uc.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Protected\n Async\n checkPermission\n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationService: AuthorizationService, boardDoAuthorizableService: BoardDoAuthorizableService)\n \n \n \n \n Defined in apps/server/src/modules/board/uc/base.uc.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n boardDoAuthorizableService\n \n \n BoardDoAuthorizableService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Protected\n Async\n checkPermission\n \n \n \n \n \n \n \n checkPermission(userId: EntityId, anyBoardDo: AnyBoardDo, action: Action, requiredUserRole?: UserRoleEnum)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/base.uc.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n anyBoardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n requiredUserRole\n \n UserRoleEnum\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n \n \n \n \n \n checkSubmissionItemWritePermission(userId: EntityId, submissionItem: SubmissionItem)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/base.uc.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n submissionItem\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n \n \n \n isAuthorizedStudent(userId: EntityId, boardDo: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/base.uc.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Action, AuthorizationService } from '@modules/authorization';\nimport { ForbiddenException } from '@nestjs/common';\nimport { AnyBoardDo, SubmissionItem, UserRoleEnum } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { BoardDoAuthorizableService } from '../service';\n\nexport abstract class BaseUc {\n\tconstructor(\n\t\tprotected readonly authorizationService: AuthorizationService,\n\t\tprotected readonly boardDoAuthorizableService: BoardDoAuthorizableService\n\t) {}\n\n\tprotected async checkPermission(\n\t\tuserId: EntityId,\n\t\tanyBoardDo: AnyBoardDo,\n\t\taction: Action,\n\t\trequiredUserRole?: UserRoleEnum\n\t): Promise {\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\t\tconst boardDoAuthorizable = await this.boardDoAuthorizableService.getBoardAuthorizable(anyBoardDo);\n\t\tif (requiredUserRole) {\n\t\t\tboardDoAuthorizable.requiredUserRole = requiredUserRole;\n\t\t}\n\t\tconst context = { action, requiredPermissions: [] };\n\n\t\treturn this.authorizationService.checkPermission(user, boardDoAuthorizable, context);\n\t}\n\n\tprotected async isAuthorizedStudent(userId: EntityId, boardDo: AnyBoardDo): Promise {\n\t\tconst boardDoAuthorizable = await this.boardDoAuthorizableService.getBoardAuthorizable(boardDo);\n\t\tconst userRoleEnum = boardDoAuthorizable.users.find((u) => u.userId === userId)?.userRoleEnum;\n\n\t\tif (!userRoleEnum) {\n\t\t\tthrow new ForbiddenException('User not part of this board');\n\t\t}\n\n\t\t// TODO do this with permission instead of role and using authorizable rules\n\t\tif (userRoleEnum === UserRoleEnum.STUDENT) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tprotected async checkSubmissionItemWritePermission(userId: EntityId, submissionItem: SubmissionItem) {\n\t\tif (submissionItem.userId !== userId) {\n\t\t\tthrow new ForbiddenException();\n\t\t}\n\t\tawait this.checkPermission(userId, submissionItem, Action.read, UserRoleEnum.STUDENT);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BasicToolConfig.html":{"url":"classes/BasicToolConfig.html","title":"class - BasicToolConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BasicToolConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/domain/config/basic-tool-config.do.ts\n \n\n\n\n \n Extends\n \n \n ExternalToolConfig\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n baseUrl\n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: BasicToolConfig)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/basic-tool-config.do.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n BasicToolConfig\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from ExternalToolConfig\n\n \n \n \n \n Defined in ExternalToolConfig:6\n\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Inherited from ExternalToolConfig\n\n \n \n \n \n Defined in ExternalToolConfig:4\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ToolConfigType } from '../../../common/enum';\nimport { ExternalToolConfig } from './external-tool-config.do';\n\nexport class BasicToolConfig extends ExternalToolConfig {\n\tconstructor(props: BasicToolConfig) {\n\t\tsuper({\n\t\t\ttype: ToolConfigType.BASIC,\n\t\t\tbaseUrl: props.baseUrl,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BasicToolConfigEntity.html":{"url":"classes/BasicToolConfigEntity.html","title":"class - BasicToolConfigEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BasicToolConfigEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/entity/config/basic-tool-config.entity.ts\n \n\n\n\n\n\n\n\n \n Constructor\n \n \n \n \nconstructor(props: BasicToolConfigEntity)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/basic-tool-config.entity.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n BasicToolConfigEntity\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable } from '@mikro-orm/core';\nimport { ToolConfigType } from '../../../common/enum';\nimport { ExternalToolConfigEntity } from './external-tool-config.entity';\n\n@Embeddable({ discriminatorValue: ToolConfigType.BASIC })\nexport class BasicToolConfigEntity extends ExternalToolConfigEntity {\n\tconstructor(props: BasicToolConfigEntity) {\n\t\tsuper(props);\n\t\tthis.type = ToolConfigType.BASIC;\n\t\tthis.baseUrl = props.baseUrl;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BasicToolConfigParams.html":{"url":"classes/BasicToolConfigParams.html","title":"class - BasicToolConfigParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BasicToolConfigParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/config/basic-tool-config.params.ts\n \n\n\n\n \n Extends\n \n \n ExternalToolConfigCreateParams\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigCreateParams\n\n \n \n \n \n Defined in ExternalToolConfigCreateParams:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ToolConfigType)@ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigCreateParams\n\n \n \n \n \n Defined in ExternalToolConfigCreateParams:9\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsEnum, IsString } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { ExternalToolConfigCreateParams } from './external-tool-config.params';\nimport { ToolConfigType } from '../../../../../common/enum';\n\nexport class BasicToolConfigParams extends ExternalToolConfigCreateParams {\n\t@IsEnum(ToolConfigType)\n\t@ApiProperty()\n\ttype!: ToolConfigType;\n\n\t@IsString()\n\t@ApiProperty()\n\tbaseUrl!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BasicToolConfigResponse.html":{"url":"classes/BasicToolConfigResponse.html","title":"class - BasicToolConfigResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BasicToolConfigResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/config/basic-tool-config.response.ts\n \n\n\n\n \n Extends\n \n \n ExternalToolConfigResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n baseUrl\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: BasicToolConfigResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/basic-tool-config.response.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n BasicToolConfigResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigResponse\n\n \n \n \n \n Defined in ExternalToolConfigResponse:10\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigResponse\n\n \n \n \n \n Defined in ExternalToolConfigResponse:7\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ToolConfigType } from '../../../../../common/enum';\nimport { ExternalToolConfigResponse } from './external-tool-config.response';\n\nexport class BasicToolConfigResponse extends ExternalToolConfigResponse {\n\t@ApiProperty()\n\ttype: ToolConfigType;\n\n\t@ApiProperty()\n\tbaseUrl: string;\n\n\tconstructor(props: BasicToolConfigResponse) {\n\t\tsuper();\n\t\tthis.type = ToolConfigType.BASIC;\n\t\tthis.baseUrl = props.baseUrl;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BasicToolLaunchStrategy.html":{"url":"injectables/BasicToolLaunchStrategy.html","title":"injectable - BasicToolLaunchStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BasicToolLaunchStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/service/launch-strategy/basic-tool-launch.strategy.ts\n \n\n\n\n \n Extends\n \n \n AbstractLaunchStrategy\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n autoParameterStrategyMap\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n \n buildToolLaunchDataFromConcreteConfig\n \n \n Public\n \n buildToolLaunchRequestPayload\n \n \n Public\n \n determineLaunchRequestMethod\n \n \n Private\n Async\n addParameters\n \n \n Private\n addProperty\n \n \n Private\n applyPropertiesToPathParams\n \n \n Private\n buildToolLaunchDataFromExternalTool\n \n \n Private\n Async\n buildToolLaunchDataFromTools\n \n \n Private\n buildUrl\n \n \n Public\n Async\n createLaunchData\n \n \n Public\n createLaunchRequest\n \n \n Private\n Async\n getParameterValue\n \n \n Private\n Async\n handleParametersToInclude\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n \n buildToolLaunchDataFromConcreteConfig\n \n \n \n \n \n \n \n buildToolLaunchDataFromConcreteConfig(userId: EntityId, data: ToolLaunchParams)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:9\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n data\n \n ToolLaunchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n \n buildToolLaunchRequestPayload\n \n \n \n \n \n \n \n buildToolLaunchRequestPayload(url: string, properties: PropertyData[])\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n properties\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string | null\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n \n determineLaunchRequestMethod\n \n \n \n \n \n \n \n determineLaunchRequestMethod(properties: PropertyData[])\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:33\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n properties\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LaunchRequestMethod\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n addParameters\n \n \n \n \n \n \n \n addParameters(propertyData: PropertyData[], customParameterDOs: CustomParameter[], scopes: literal type[], schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:155\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n propertyData\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n customParameterDOs\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n scopes\n \n literal type[]\n \n\n \n No\n \n\n\n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n addProperty\n \n \n \n \n \n \n \n addProperty(propertyData: PropertyData[], propertyName: string, value: string | undefined, customParameterLocation: CustomParameterLocation)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:249\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n propertyData\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n propertyName\n \n string\n \n\n \n No\n \n\n\n \n \n value\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n customParameterLocation\n \n CustomParameterLocation\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n applyPropertiesToPathParams\n \n \n \n \n \n \n \n applyPropertiesToPathParams(url: URL, pathProperties: PropertyData[])\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:105\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n URL\n \n\n \n No\n \n\n\n \n \n pathProperties\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n buildToolLaunchDataFromExternalTool\n \n \n \n \n \n \n \n buildToolLaunchDataFromExternalTool(externalTool: ExternalTool)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:128\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolLaunchData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n buildToolLaunchDataFromTools\n \n \n \n \n \n \n \n buildToolLaunchDataFromTools(data: ToolLaunchParams)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:139\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n ToolLaunchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n buildUrl\n \n \n \n \n \n \n \n buildUrl(toolLaunchDataDO: ToolLaunchData)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:79\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolLaunchDataDO\n \n ToolLaunchData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n createLaunchData\n \n \n \n \n \n \n \n createLaunchData(userId: EntityId, data: ToolLaunchParams)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:40\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n data\n \n ToolLaunchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n createLaunchRequest\n \n \n \n \n \n \n \n createLaunchRequest(toolLaunchData: ToolLaunchData)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:64\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolLaunchData\n \n ToolLaunchData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolLaunchRequest\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getParameterValue\n \n \n \n \n \n \n \n getParameterValue(customParameter: CustomParameter, matchingParameterEntry: CustomParameterEntry | undefined, schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:218\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameter\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n matchingParameterEntry\n \n CustomParameterEntry | undefined\n \n\n \n No\n \n\n\n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n handleParametersToInclude\n \n \n \n \n \n \n \n handleParametersToInclude(propertyData: PropertyData[], parametersToInclude: CustomParameter[], params: CustomParameterEntry[], schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:181\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n propertyData\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n parametersToInclude\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n params\n \n CustomParameterEntry[]\n \n\n \n No\n \n\n\n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n autoParameterStrategyMap\n \n \n \n \n \n \n Type : Map\n\n \n \n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:24\n\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { LaunchRequestMethod, PropertyData, PropertyLocation } from '../../types';\nimport { AbstractLaunchStrategy } from './abstract-launch.strategy';\nimport { ToolLaunchParams } from './tool-launch-params.interface';\n\n@Injectable()\nexport class BasicToolLaunchStrategy extends AbstractLaunchStrategy {\n\tpublic override buildToolLaunchDataFromConcreteConfig(\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\tuserId: EntityId,\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\tdata: ToolLaunchParams\n\t): Promise {\n\t\treturn Promise.resolve([]);\n\t}\n\n\tpublic override buildToolLaunchRequestPayload(url: string, properties: PropertyData[]): string | null {\n\t\tconst bodyProperties = properties.filter((property: PropertyData) => property.location === PropertyLocation.BODY);\n\t\tconst payload: Record = {};\n\n\t\tfor (const property of bodyProperties) {\n\t\t\tpayload[property.name] = property.value;\n\t\t}\n\n\t\tif (Object.keys(payload).length === 0) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn JSON.stringify(payload);\n\t}\n\n\tpublic override determineLaunchRequestMethod(properties: PropertyData[]): LaunchRequestMethod {\n\t\tconst hasBodyProperty: boolean = properties.some(\n\t\t\t(property: PropertyData) => property.location === PropertyLocation.BODY\n\t\t);\n\n\t\tconst launchRequestMethod: LaunchRequestMethod = hasBodyProperty\n\t\t\t? LaunchRequestMethod.POST\n\t\t\t: LaunchRequestMethod.GET;\n\n\t\treturn launchRequestMethod;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BatchDeletionService.html":{"url":"injectables/BatchDeletionService.html","title":"injectable - BatchDeletionService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BatchDeletionService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/services/batch-deletion.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n queueDeletionRequests\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(deletionClient: DeletionClient)\n \n \n \n \n Defined in apps/server/src/modules/deletion/services/batch-deletion.service.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionClient\n \n \n DeletionClient\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n queueDeletionRequests\n \n \n \n \n \n \n \n queueDeletionRequests(inputs: QueueDeletionRequestInput[], callsDelayMilliseconds?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/batch-deletion.service.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n inputs\n \n QueueDeletionRequestInput[]\n \n\n \n No\n \n\n\n \n \n callsDelayMilliseconds\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { QueueDeletionRequestOutputBuilder } from './builder';\nimport { DeletionClient, DeletionRequestInputBuilder } from '../client';\nimport { QueueDeletionRequestInput, QueueDeletionRequestOutput } from './interface';\n\n@Injectable()\nexport class BatchDeletionService {\n\tconstructor(private readonly deletionClient: DeletionClient) {}\n\n\tasync queueDeletionRequests(\n\t\tinputs: QueueDeletionRequestInput[],\n\t\tcallsDelayMilliseconds?: number\n\t): Promise {\n\t\tconst outputs: QueueDeletionRequestOutput[] = [];\n\n\t\t// For every provided deletion request input, try to queue it via deletion client.\n\t\t// In any case, add the result of the trial to the outputs - it will be either a valid\n\t\t// response in a form of a requestId + deletionPlannedAt values pair or some error\n\t\t// returned from the client. In any case, every input should be processed.\n\t\tfor (const input of inputs) {\n\t\t\tconst deletionRequestInput = DeletionRequestInputBuilder.build(\n\t\t\t\tinput.targetRefDomain,\n\t\t\t\tinput.targetRefId,\n\t\t\t\tinput.deleteInMinutes\n\t\t\t);\n\n\t\t\ttry {\n\t\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\t\tconst deletionRequestOutput = await this.deletionClient.queueDeletionRequest(deletionRequestInput);\n\n\t\t\t\t// In case of a successful client response, add the\n\t\t\t\t// requestId + deletionPlannedAt values pair to the outputs.\n\t\t\t\toutputs.push(\n\t\t\t\t\tQueueDeletionRequestOutputBuilder.buildSuccess(\n\t\t\t\t\t\tdeletionRequestOutput.requestId,\n\t\t\t\t\t\tdeletionRequestOutput.deletionPlannedAt\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t} catch (err) {\n\t\t\t\t// In case of a failure client response, add the full error message to the outputs.\n\t\t\t\toutputs.push(QueueDeletionRequestOutputBuilder.buildError(err as Error));\n\t\t\t}\n\n\t\t\t// If any delay between the client calls has been requested, \"sleep\" for the specified amount of time.\n\t\t\tif (callsDelayMilliseconds && callsDelayMilliseconds > 0) {\n\t\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\t\tawait new Promise((resolve) => {\n\t\t\t\t\tsetTimeout(resolve, callsDelayMilliseconds);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\treturn outputs;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BatchDeletionSummary.html":{"url":"interfaces/BatchDeletionSummary.html","title":"interface - BatchDeletionSummary","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BatchDeletionSummary\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/interface/batch-deletion-summary.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n details\n \n \n \n \n executionTimeMilliseconds\n \n \n \n \n failureCount\n \n \n \n \n overallStatus\n \n \n \n \n successCount\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n details\n \n \n \n \n \n \n \n \n details: BatchDeletionSummaryDetail[]\n\n \n \n\n\n \n \n Type : BatchDeletionSummaryDetail[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n executionTimeMilliseconds\n \n \n \n \n \n \n \n \n executionTimeMilliseconds: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n failureCount\n \n \n \n \n \n \n \n \n failureCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n overallStatus\n \n \n \n \n \n \n \n \n overallStatus: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n successCount\n \n \n \n \n \n \n \n \n successCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BatchDeletionSummaryDetail } from './batch-deletion-summary-detail.interface';\n\nexport interface BatchDeletionSummary {\n\texecutionTimeMilliseconds: number;\n\toverallStatus: string;\n\tsuccessCount: number;\n\tfailureCount: number;\n\tdetails: BatchDeletionSummaryDetail[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BatchDeletionSummaryBuilder.html":{"url":"classes/BatchDeletionSummaryBuilder.html","title":"class - BatchDeletionSummaryBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BatchDeletionSummaryBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/builder/batch-deletion-summary.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(executionTimeMilliseconds: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/builder/batch-deletion-summary.builder.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n executionTimeMilliseconds\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BatchDeletionSummary\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BatchDeletionSummary, BatchDeletionSummaryOverallStatus } from '../interface';\n\nexport class BatchDeletionSummaryBuilder {\n\tstatic build(executionTimeMilliseconds: number): BatchDeletionSummary {\n\t\treturn {\n\t\t\texecutionTimeMilliseconds,\n\t\t\toverallStatus: BatchDeletionSummaryOverallStatus.FAILURE,\n\t\t\tsuccessCount: 0,\n\t\t\tfailureCount: 0,\n\t\t\tdetails: [],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BatchDeletionSummaryDetail.html":{"url":"interfaces/BatchDeletionSummaryDetail.html","title":"interface - BatchDeletionSummaryDetail","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BatchDeletionSummaryDetail\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/interface/batch-deletion-summary-detail.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n input\n \n \n \n \n output\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n input\n \n \n \n \n \n \n \n \n input: QueueDeletionRequestInput\n\n \n \n\n\n \n \n Type : QueueDeletionRequestInput\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n output\n \n \n \n \n \n \n \n \n output: QueueDeletionRequestOutput\n\n \n \n\n\n \n \n Type : QueueDeletionRequestOutput\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { QueueDeletionRequestInput, QueueDeletionRequestOutput } from '../services';\n\nexport interface BatchDeletionSummaryDetail {\n\tinput: QueueDeletionRequestInput;\n\toutput: QueueDeletionRequestOutput;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BatchDeletionSummaryDetailBuilder.html":{"url":"classes/BatchDeletionSummaryDetailBuilder.html","title":"class - BatchDeletionSummaryDetailBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BatchDeletionSummaryDetailBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/builder/batch-deletion-summary-detail.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(input: QueueDeletionRequestInput, output: QueueDeletionRequestOutput)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/builder/batch-deletion-summary-detail.builder.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n input\n \n QueueDeletionRequestInput\n \n\n \n No\n \n\n\n \n \n output\n \n QueueDeletionRequestOutput\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BatchDeletionSummaryDetail\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { QueueDeletionRequestInput, QueueDeletionRequestOutput } from '../services';\nimport { BatchDeletionSummaryDetail } from '../interface';\n\nexport class BatchDeletionSummaryDetailBuilder {\n\tstatic build(input: QueueDeletionRequestInput, output: QueueDeletionRequestOutput): BatchDeletionSummaryDetail {\n\t\treturn { input, output };\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BatchDeletionUc.html":{"url":"injectables/BatchDeletionUc.html","title":"injectable - BatchDeletionUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BatchDeletionUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/uc/batch-deletion.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteRefsFromTxtFile\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(batchDeletionService: BatchDeletionService)\n \n \n \n \n Defined in apps/server/src/modules/deletion/uc/batch-deletion.uc.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n batchDeletionService\n \n \n BatchDeletionService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteRefsFromTxtFile\n \n \n \n \n \n \n \n deleteRefsFromTxtFile(refsFilePath: string, targetRefDomain: string, deleteInMinutes: number, callsDelayMilliseconds?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/uc/batch-deletion.uc.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n refsFilePath\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n targetRefDomain\n \n string\n \n\n \n No\n \n\n \n 'user'\n \n\n \n \n deleteInMinutes\n \n number\n \n\n \n No\n \n\n \n 43200\n \n\n \n \n callsDelayMilliseconds\n \n number\n \n\n \n Yes\n \n\n \n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { BatchDeletionSummaryBuilder, BatchDeletionSummaryDetailBuilder } from '../builder';\nimport {\n\tReferencesService,\n\tBatchDeletionService,\n\tQueueDeletionRequestInput,\n\tQueueDeletionRequestInputBuilder,\n} from '../services';\nimport { BatchDeletionSummary, BatchDeletionSummaryOverallStatus } from '../interface';\n\n@Injectable()\nexport class BatchDeletionUc {\n\tconstructor(private readonly batchDeletionService: BatchDeletionService) {}\n\n\tasync deleteRefsFromTxtFile(\n\t\trefsFilePath: string,\n\t\ttargetRefDomain = 'user',\n\t\tdeleteInMinutes = 43200, // 43200 minutes = 720 hours = 30 days\n\t\tcallsDelayMilliseconds?: number\n\t): Promise {\n\t\t// First, load all the references from the provided text file (with given path).\n\t\tconst refsFromTxtFile = ReferencesService.loadFromTxtFile(refsFilePath);\n\n\t\tconst inputs: QueueDeletionRequestInput[] = [];\n\n\t\t// For each reference found in a given file, add it to the inputs\n\t\t// array (with added targetRefDomain and deleteInMinutes fields).\n\t\trefsFromTxtFile.forEach((ref) =>\n\t\t\tinputs.push(QueueDeletionRequestInputBuilder.build(targetRefDomain, ref, deleteInMinutes))\n\t\t);\n\n\t\t// Measure the overall queueing execution time by setting the start...\n\t\tconst startTime = performance.now();\n\n\t\tconst outputs = await this.batchDeletionService.queueDeletionRequests(inputs, callsDelayMilliseconds);\n\n\t\t// ...and end timestamps before and after the batch deletion service method execution.\n\t\tconst endTime = performance.now();\n\n\t\t// Throw an error if the returned outputs number doesn't match the returned inputs number.\n\t\tif (outputs.length !== inputs.length) {\n\t\t\tthrow new Error(\n\t\t\t\t'invalid result from the batch deletion service - expected to ' +\n\t\t\t\t\t'receive the same amount of outputs as the provided inputs, ' +\n\t\t\t\t\t`instead received ${outputs.length} outputs for ${inputs.length} inputs`\n\t\t\t);\n\t\t}\n\n\t\tconst summary: BatchDeletionSummary = BatchDeletionSummaryBuilder.build(endTime - startTime);\n\n\t\t// Go through every received output and, in case of an error presence increase\n\t\t// a failure count or, in case of no error, increase a success count.\n\t\tfor (let i = 0; i \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/Board.html":{"url":"entities/Board.html","title":"entity - Board","body":"\n \n\n\n\n\n\n\n\n Entities\n Board\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/legacy-board/board.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n course\n \n \n \n references\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n course\n \n \n \n \n \n \n Type : IdentifiedReference\n\n \n \n \n \n Decorators : \n \n \n @OneToOne({type: 'Course', fieldName: 'courseId', wrappedReference: true, unique: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/legacy-board/board.entity.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n references\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @ManyToMany('BoardElement', undefined, {fieldName: 'referenceIds'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/legacy-board/board.entity.ts:32\n \n \n\n\n \n \n\n \n\n\n \n import { Collection, Entity, IdentifiedReference, ManyToMany, OneToOne, wrap } from '@mikro-orm/core';\nimport { BadRequestException, NotFoundException } from '@nestjs/common';\nimport { LearnroomElement } from '../../interface';\nimport { EntityId } from '../../types';\nimport { BaseEntityWithTimestamps } from '../base.entity';\nimport type { Course } from '../course.entity';\nimport { LessonEntity } from '../lesson.entity';\nimport { Task } from '../task.entity';\nimport { BoardElement, BoardElementReference } from './boardelement.entity';\nimport { ColumnboardBoardElement } from './column-board-boardelement';\nimport { ColumnBoardTarget } from './column-board-target.entity';\nimport { LessonBoardElement } from './lesson-boardelement.entity';\nimport { TaskBoardElement } from './task-boardelement.entity';\n\nexport type BoardProps = {\n\treferences: BoardElement[];\n\tcourse: Course;\n};\n\n@Entity({ tableName: 'board' })\nexport class Board extends BaseEntityWithTimestamps {\n\tconstructor(props: BoardProps) {\n\t\tsuper();\n\t\tthis.references.set(props.references);\n\t\tthis.course = wrap(props.course).toReference();\n\t}\n\n\t@OneToOne({ type: 'Course', fieldName: 'courseId', wrappedReference: true, unique: true })\n\tcourse: IdentifiedReference;\n\n\t@ManyToMany('BoardElement', undefined, { fieldName: 'referenceIds' })\n\treferences = new Collection(this);\n\n\tgetByTargetId(id: EntityId): LearnroomElement {\n\t\tconst element = this.getElementByTargetId(id);\n\t\treturn element.target;\n\t}\n\n\tgetElements() {\n\t\treturn this.references.getItems();\n\t}\n\n\treorderElements(ids: EntityId[]) {\n\t\tthis.validateReordering(ids);\n\n\t\tconst elements = ids.map((id) => this.getElementByTargetId(id));\n\n\t\tthis.references.set(elements);\n\t}\n\n\tprivate validateReordering(reorderedIds: EntityId[]) {\n\t\tconst existingElements = this.getElements().map((el) => el.target.id);\n\t\tconst listsEqual = this.checkListsContainingEqualEntities(reorderedIds, existingElements);\n\t\tif (!listsEqual) {\n\t\t\tthrow new BadRequestException('elements did not match. please fetch the elements of the board before reordering');\n\t\t}\n\t}\n\n\tprivate checkListsContainingEqualEntities(first: EntityId[], second: EntityId[]): boolean {\n\t\tconst compareAlphabetic = (a, b) => (a el.target.id === id);\n\t\tif (!element) throw new NotFoundException('board does not contain such element');\n\t\treturn element;\n\t}\n\n\tsyncBoardElementReferences(boardElementTargets: BoardElementReference[]) {\n\t\tthis.removeDeletedReferences(boardElementTargets);\n\t\tthis.appendNotContainedBoardElements(boardElementTargets);\n\t}\n\n\tprivate removeDeletedReferences(boardElementTargets: BoardElementReference[]) {\n\t\tconst references = this.references.getItems();\n\t\tconst onlyExistingReferences = references.filter((ref) => boardElementTargets.includes(ref.target));\n\t\tthis.references.set(onlyExistingReferences);\n\t}\n\n\tprivate appendNotContainedBoardElements(boardElementTargets: BoardElementReference[]): void {\n\t\tconst references = this.references.getItems();\n\t\tconst isNotContained = (element: BoardElementReference) => !references.some((ref) => ref.target === element);\n\t\tconst mapToBoardElement = (target: BoardElementReference) => this.createBoardElementFor(target);\n\n\t\tconst elementsToAdd = boardElementTargets.filter(isNotContained).map(mapToBoardElement);\n\t\tconst newList = [...elementsToAdd, ...references];\n\t\tthis.references.set(newList);\n\t}\n\n\tprivate createBoardElementFor(boardElementTarget: BoardElementReference): BoardElement {\n\t\tif (boardElementTarget instanceof Task) {\n\t\t\treturn new TaskBoardElement({ target: boardElementTarget });\n\t\t}\n\t\tif (boardElementTarget instanceof LessonEntity) {\n\t\t\treturn new LessonBoardElement({ target: boardElementTarget });\n\t\t}\n\t\tif (boardElementTarget instanceof ColumnBoardTarget) {\n\t\t\treturn new ColumnboardBoardElement({ target: boardElementTarget });\n\t\t}\n\t\tthrow new Error('not a valid boardElementReference');\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/BoardApiModule.html":{"url":"modules/BoardApiModule.html","title":"module - BoardApiModule","body":"\n \n\n\n\n\n Modules\n BoardApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_BoardApiModule\n\n\n\ncluster_BoardApiModule_imports\n\n\n\ncluster_BoardApiModule_providers\n\n\n\n\nBoardModule\n\nBoardModule\n\n\n\nBoardApiModule\n\nBoardApiModule\n\nBoardApiModule -->\n\nBoardModule->BoardApiModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nBoardApiModule -->\n\nLoggerModule->BoardApiModule\n\n\n\n\n\nBoardUc\n\nBoardUc\n\nBoardApiModule -->\n\nBoardUc->BoardApiModule\n\n\n\n\n\nCardUc\n\nCardUc\n\nBoardApiModule -->\n\nCardUc->BoardApiModule\n\n\n\n\n\nColumnUc\n\nColumnUc\n\nBoardApiModule -->\n\nColumnUc->BoardApiModule\n\n\n\n\n\nElementUc\n\nElementUc\n\nBoardApiModule -->\n\nElementUc->BoardApiModule\n\n\n\n\n\nSubmissionItemUc\n\nSubmissionItemUc\n\nBoardApiModule -->\n\nSubmissionItemUc->BoardApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/board/board-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n BoardUc\n \n \n CardUc\n \n \n ColumnUc\n \n \n ElementUc\n \n \n SubmissionItemUc\n \n \n \n \n Controllers\n \n \n BoardController\n \n \n ColumnController\n \n \n CardController\n \n \n ElementController\n \n \n BoardSubmissionController\n \n \n \n \n Imports\n \n \n BoardModule\n \n \n LoggerModule\n \n \n \n \n \n\n\n \n\n\n \n import { forwardRef, Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { BoardModule } from './board.module';\nimport {\n\tBoardController,\n\tBoardSubmissionController,\n\tCardController,\n\tColumnController,\n\tElementController,\n} from './controller';\nimport { BoardUc, CardUc, ColumnUc } from './uc';\nimport { ElementUc } from './uc/element.uc';\nimport { SubmissionItemUc } from './uc/submission-item.uc';\n\n@Module({\n\timports: [BoardModule, LoggerModule, forwardRef(() => AuthorizationModule)],\n\tcontrollers: [BoardController, ColumnController, CardController, ElementController, BoardSubmissionController],\n\tproviders: [BoardUc, ColumnUc, CardUc, ElementUc, SubmissionItemUc],\n})\nexport class BoardApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardColumnBoardResponse.html":{"url":"classes/BoardColumnBoardResponse.html","title":"class - BoardColumnBoardResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardColumnBoardResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/single-column-board/board-column-board.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n columnBoardId\n \n \n \n createdAt\n \n \n \n id\n \n \n \n published\n \n \n \n \n title\n \n \n \n updatedAt\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: BoardColumnBoardResponse)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-column-board.response.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n BoardColumnBoardResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n columnBoardId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-column-board.response.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-column-board.response.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-column-board.response.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n published\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-column-board.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-column-board.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-column-board.response.ts:28\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\n\nexport class BoardColumnBoardResponse {\n\tconstructor({ id, columnBoardId, title, published, createdAt, updatedAt }: BoardColumnBoardResponse) {\n\t\tthis.id = id;\n\t\tthis.columnBoardId = columnBoardId;\n\t\tthis.title = title;\n\t\tthis.published = published;\n\t\tthis.createdAt = createdAt;\n\t\tthis.updatedAt = updatedAt;\n\t}\n\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\ttitle: string;\n\n\t@ApiProperty()\n\tpublished: boolean;\n\n\t@ApiProperty()\n\tcreatedAt: Date;\n\n\t@ApiProperty()\n\tupdatedAt: Date;\n\n\t@ApiProperty()\n\tcolumnBoardId: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardComposite.html":{"url":"classes/BoardComposite.html","title":"class - BoardComposite","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardComposite\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/board-composite.do.ts\n \n\n\n\n \n Extends\n \n \n DomainObject\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Abstract\n accept\n \n \n Abstract\n acceptAsync\n \n \n addChild\n \n \n hasChild\n \n \n Abstract\n isAllowedAsChild\n \n \n removeChild\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n children\n \n \n createdAt\n \n \n updatedAt\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Abstract\n accept\n \n \n \n \n \n \n \n accept(visitor: BoardCompositeVisitor)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/board-composite.do.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitor\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n acceptAsync\n \n \n \n \n \n \n \n acceptAsync(visitor: BoardCompositeVisitorAsync)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/board-composite.do.ts:47\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitorAsync\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addChild\n \n \n \n \n \n \naddChild(child: AnyBoardDo, position?: number)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/board-composite.do.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n position\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasChild\n \n \n \n \n \n \nhasChild(child: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/board-composite.do.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n isAllowedAsChild\n \n \n \n \n \n \n \n isAllowedAsChild(domainObject: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/board-composite.do.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeChild\n \n \n \n \n \n \nremoveChild(child: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/board-composite.do.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n children\n \n \n\n \n \n getchildren()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/board-composite.do.ts:7\n \n \n\n \n \n \n \n \n \n \n createdAt\n \n \n\n \n \n getcreatedAt()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/board-composite.do.ts:11\n \n \n\n \n \n \n \n \n \n \n updatedAt\n \n \n\n \n \n getupdatedAt()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/board-composite.do.ts:15\n \n \n\n \n \n\n \n\n\n \n import { BadRequestException, ForbiddenException } from '@nestjs/common';\nimport { DomainObject } from '@shared/domain/domain-object'; // fix import if it is avaible\nimport { EntityId } from '@shared/domain/types';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport abstract class BoardComposite extends DomainObject {\n\tget children(): AnyBoardDo[] {\n\t\treturn this.props.children ?? [];\n\t}\n\n\tget createdAt(): Date {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date {\n\t\treturn this.props.updatedAt;\n\t}\n\n\taddChild(child: AnyBoardDo, position?: number): void {\n\t\tif (!this.isAllowedAsChild(child)) {\n\t\t\tthrow new ForbiddenException(`Cannot add child of type '${child.constructor.name}'`);\n\t\t}\n\t\tposition = position ?? this.children.length;\n\t\tif (position this.children.length) {\n\t\t\tthrow new BadRequestException(`Invalid child position '${position}'`);\n\t\t}\n\t\tif (this.hasChild(child)) {\n\t\t\tthrow new BadRequestException(`Cannot add existing child id='${child.id}'`);\n\t\t}\n\t\tthis.children.splice(position, 0, child);\n\t}\n\n\tabstract isAllowedAsChild(domainObject: AnyBoardDo): boolean;\n\n\tremoveChild(child: AnyBoardDo): void {\n\t\tthis.props.children = this.children.filter((ch) => ch.id !== child.id);\n\t}\n\n\thasChild(child: AnyBoardDo): boolean {\n\t\t// TODO check by object identity instead of id\n\t\tconst exists = this.children.some((obj) => obj.id === child.id);\n\t\treturn exists;\n\t}\n\n\tabstract accept(visitor: BoardCompositeVisitor): void;\n\n\tabstract acceptAsync(visitor: BoardCompositeVisitorAsync): Promise;\n}\n\nexport interface BoardCompositeProps {\n\tid: EntityId;\n\tchildren?: AnyBoardDo[];\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BoardCompositeProps.html":{"url":"interfaces/BoardCompositeProps.html","title":"interface - BoardCompositeProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BoardCompositeProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/board-composite.do.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n children\n \n \n \n \n createdAt\n \n \n \n \n id\n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n children\n \n \n \n \n \n \n \n \n children: AnyBoardDo[]\n\n \n \n\n\n \n \n Type : AnyBoardDo[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BadRequestException, ForbiddenException } from '@nestjs/common';\nimport { DomainObject } from '@shared/domain/domain-object'; // fix import if it is avaible\nimport { EntityId } from '@shared/domain/types';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport abstract class BoardComposite extends DomainObject {\n\tget children(): AnyBoardDo[] {\n\t\treturn this.props.children ?? [];\n\t}\n\n\tget createdAt(): Date {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date {\n\t\treturn this.props.updatedAt;\n\t}\n\n\taddChild(child: AnyBoardDo, position?: number): void {\n\t\tif (!this.isAllowedAsChild(child)) {\n\t\t\tthrow new ForbiddenException(`Cannot add child of type '${child.constructor.name}'`);\n\t\t}\n\t\tposition = position ?? this.children.length;\n\t\tif (position this.children.length) {\n\t\t\tthrow new BadRequestException(`Invalid child position '${position}'`);\n\t\t}\n\t\tif (this.hasChild(child)) {\n\t\t\tthrow new BadRequestException(`Cannot add existing child id='${child.id}'`);\n\t\t}\n\t\tthis.children.splice(position, 0, child);\n\t}\n\n\tabstract isAllowedAsChild(domainObject: AnyBoardDo): boolean;\n\n\tremoveChild(child: AnyBoardDo): void {\n\t\tthis.props.children = this.children.filter((ch) => ch.id !== child.id);\n\t}\n\n\thasChild(child: AnyBoardDo): boolean {\n\t\t// TODO check by object identity instead of id\n\t\tconst exists = this.children.some((obj) => obj.id === child.id);\n\t\treturn exists;\n\t}\n\n\tabstract accept(visitor: BoardCompositeVisitor): void;\n\n\tabstract acceptAsync(visitor: BoardCompositeVisitorAsync): Promise;\n}\n\nexport interface BoardCompositeProps {\n\tid: EntityId;\n\tchildren?: AnyBoardDo[];\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BoardCompositeVisitor.html":{"url":"interfaces/BoardCompositeVisitor.html","title":"interface - BoardCompositeVisitor","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BoardCompositeVisitor\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n visitCard\n \n \n \n \n visitColumn\n \n \n \n \n visitColumnBoard\n \n \n \n \n visitDrawingElement\n \n \n \n \n visitExternalToolElement\n \n \n \n \n visitFileElement\n \n \n \n \n visitLinkElement\n \n \n \n \n visitRichTextElement\n \n \n \n \n visitSubmissionContainerElement\n \n \n \n \n visitSubmissionItem\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n visitCard\n \n \n \n \n \n \nvisitCard(card: Card)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n card\n \n Card\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitColumn\n \n \n \n \n \n \nvisitColumn(column: Column)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n column\n \n Column\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitColumnBoard\n \n \n \n \n \n \nvisitColumnBoard(columnBoard: ColumnBoard)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n columnBoard\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitDrawingElement\n \n \n \n \n \n \nvisitDrawingElement(drawingElement: DrawingElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n drawingElement\n \n DrawingElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitExternalToolElement\n \n \n \n \n \n \nvisitExternalToolElement(externalToolElement: ExternalToolElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolElement\n \n ExternalToolElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitFileElement\n \n \n \n \n \n \nvisitFileElement(fileElement: FileElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileElement\n \n FileElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitLinkElement\n \n \n \n \n \n \nvisitLinkElement(linkElement: LinkElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n linkElement\n \n LinkElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitRichTextElement\n \n \n \n \n \n \nvisitRichTextElement(richTextElement: RichTextElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n richTextElement\n \n RichTextElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitSubmissionContainerElement\n \n \n \n \n \n \nvisitSubmissionContainerElement(submissionContainerElement: SubmissionContainerElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionContainerElement\n \n SubmissionContainerElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitSubmissionItem\n \n \n \n \n \n \nvisitSubmissionItem(submissionItem: SubmissionItem)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionItem\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { DrawingElement } from '../drawing-element.do';\nimport type { Card } from '../card.do';\nimport type { ColumnBoard } from '../column-board.do';\nimport type { Column } from '../column.do';\nimport type { ExternalToolElement } from '../external-tool-element.do';\nimport type { FileElement } from '../file-element.do';\nimport type { LinkElement } from '../link-element.do';\nimport type { RichTextElement } from '../rich-text-element.do';\nimport type { SubmissionContainerElement } from '../submission-container-element.do';\nimport type { SubmissionItem } from '../submission-item.do';\n\nexport interface BoardCompositeVisitor {\n\tvisitColumnBoard(columnBoard: ColumnBoard): void;\n\tvisitColumn(column: Column): void;\n\tvisitCard(card: Card): void;\n\tvisitFileElement(fileElement: FileElement): void;\n\tvisitLinkElement(linkElement: LinkElement): void;\n\tvisitRichTextElement(richTextElement: RichTextElement): void;\n\tvisitDrawingElement(drawingElement: DrawingElement): void;\n\tvisitSubmissionContainerElement(submissionContainerElement: SubmissionContainerElement): void;\n\tvisitSubmissionItem(submissionItem: SubmissionItem): void;\n\tvisitExternalToolElement(externalToolElement: ExternalToolElement): void;\n}\n\nexport interface BoardCompositeVisitorAsync {\n\tvisitColumnBoardAsync(columnBoard: ColumnBoard): Promise;\n\tvisitColumnAsync(column: Column): Promise;\n\tvisitCardAsync(card: Card): Promise;\n\tvisitFileElementAsync(fileElement: FileElement): Promise;\n\tvisitLinkElementAsync(linkElement: LinkElement): Promise;\n\tvisitRichTextElementAsync(richTextElement: RichTextElement): Promise;\n\tvisitDrawingElementAsync(drawingElement: DrawingElement): Promise;\n\tvisitSubmissionContainerElementAsync(submissionContainerElement: SubmissionContainerElement): Promise;\n\tvisitSubmissionItemAsync(submissionItem: SubmissionItem): Promise;\n\tvisitExternalToolElementAsync(externalToolElement: ExternalToolElement): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BoardCompositeVisitorAsync.html":{"url":"interfaces/BoardCompositeVisitorAsync.html","title":"interface - BoardCompositeVisitorAsync","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BoardCompositeVisitorAsync\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n visitCardAsync\n \n \n \n \n visitColumnAsync\n \n \n \n \n visitColumnBoardAsync\n \n \n \n \n visitDrawingElementAsync\n \n \n \n \n visitExternalToolElementAsync\n \n \n \n \n visitFileElementAsync\n \n \n \n \n visitLinkElementAsync\n \n \n \n \n visitRichTextElementAsync\n \n \n \n \n visitSubmissionContainerElementAsync\n \n \n \n \n visitSubmissionItemAsync\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n visitCardAsync\n \n \n \n \n \n \nvisitCardAsync(card: Card)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n card\n \n Card\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitColumnAsync\n \n \n \n \n \n \nvisitColumnAsync(column: Column)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n column\n \n Column\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitColumnBoardAsync\n \n \n \n \n \n \nvisitColumnBoardAsync(columnBoard: ColumnBoard)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n columnBoard\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitDrawingElementAsync\n \n \n \n \n \n \nvisitDrawingElementAsync(drawingElement: DrawingElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n drawingElement\n \n DrawingElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitExternalToolElementAsync\n \n \n \n \n \n \nvisitExternalToolElementAsync(externalToolElement: ExternalToolElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolElement\n \n ExternalToolElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitFileElementAsync\n \n \n \n \n \n \nvisitFileElementAsync(fileElement: FileElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileElement\n \n FileElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitLinkElementAsync\n \n \n \n \n \n \nvisitLinkElementAsync(linkElement: LinkElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n linkElement\n \n LinkElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitRichTextElementAsync\n \n \n \n \n \n \nvisitRichTextElementAsync(richTextElement: RichTextElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n richTextElement\n \n RichTextElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitSubmissionContainerElementAsync\n \n \n \n \n \n \nvisitSubmissionContainerElementAsync(submissionContainerElement: SubmissionContainerElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionContainerElement\n \n SubmissionContainerElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitSubmissionItemAsync\n \n \n \n \n \n \nvisitSubmissionItemAsync(submissionItem: SubmissionItem)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionItem\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { DrawingElement } from '../drawing-element.do';\nimport type { Card } from '../card.do';\nimport type { ColumnBoard } from '../column-board.do';\nimport type { Column } from '../column.do';\nimport type { ExternalToolElement } from '../external-tool-element.do';\nimport type { FileElement } from '../file-element.do';\nimport type { LinkElement } from '../link-element.do';\nimport type { RichTextElement } from '../rich-text-element.do';\nimport type { SubmissionContainerElement } from '../submission-container-element.do';\nimport type { SubmissionItem } from '../submission-item.do';\n\nexport interface BoardCompositeVisitor {\n\tvisitColumnBoard(columnBoard: ColumnBoard): void;\n\tvisitColumn(column: Column): void;\n\tvisitCard(card: Card): void;\n\tvisitFileElement(fileElement: FileElement): void;\n\tvisitLinkElement(linkElement: LinkElement): void;\n\tvisitRichTextElement(richTextElement: RichTextElement): void;\n\tvisitDrawingElement(drawingElement: DrawingElement): void;\n\tvisitSubmissionContainerElement(submissionContainerElement: SubmissionContainerElement): void;\n\tvisitSubmissionItem(submissionItem: SubmissionItem): void;\n\tvisitExternalToolElement(externalToolElement: ExternalToolElement): void;\n}\n\nexport interface BoardCompositeVisitorAsync {\n\tvisitColumnBoardAsync(columnBoard: ColumnBoard): Promise;\n\tvisitColumnAsync(column: Column): Promise;\n\tvisitCardAsync(card: Card): Promise;\n\tvisitFileElementAsync(fileElement: FileElement): Promise;\n\tvisitLinkElementAsync(linkElement: LinkElement): Promise;\n\tvisitRichTextElementAsync(richTextElement: RichTextElement): Promise;\n\tvisitDrawingElementAsync(drawingElement: DrawingElement): Promise;\n\tvisitSubmissionContainerElementAsync(submissionContainerElement: SubmissionContainerElement): Promise;\n\tvisitSubmissionItemAsync(submissionItem: SubmissionItem): Promise;\n\tvisitExternalToolElementAsync(externalToolElement: ExternalToolElement): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardContextResponse.html":{"url":"classes/BoardContextResponse.html","title":"class - BoardContextResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardContextResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/board/board-context.reponse.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: BoardContextResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/board-context.reponse.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n BoardContextResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/board-context.reponse.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : BoardExternalReferenceType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: BoardExternalReferenceType, enumName: 'BoardExternalReferenceType'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/board-context.reponse.ts:16\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { BoardExternalReferenceType } from '@shared/domain/domainobject';\n\nexport class BoardContextResponse {\n\tconstructor({ id, type }: BoardContextResponse) {\n\t\tthis.id = id;\n\t\tthis.type = type;\n\t}\n\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@ApiProperty({ enum: BoardExternalReferenceType, enumName: 'BoardExternalReferenceType' })\n\ttype: BoardExternalReferenceType;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/BoardController.html":{"url":"controllers/BoardController.html","title":"controller - BoardController","body":"\n \n\n\n\n\n\n\n Controllers\n BoardController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/board.controller.ts\n \n\n \n Prefix\n \n \n boards\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createColumn\n \n \n \n \n \n \n \n \n \n Async\n deleteBoard\n \n \n \n \n \n \n \n \n Async\n getBoardContext\n \n \n \n \n \n \n \n \n Async\n getBoardSkeleton\n \n \n \n \n \n \n \n \n \n Async\n updateBoardTitle\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createColumn\n \n \n \n \n \n \n \n createColumn(urlParams: BoardUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Create a new column on a board.'})@ApiResponse({status: 201, type: ColumnResponse})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@Post(':boardId/columns')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/board.controller.ts:93\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n BoardUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteBoard\n \n \n \n \n \n \n \n deleteBoard(urlParams: BoardUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Delete a board.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Delete(':boardId')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/board.controller.ts:83\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n BoardUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getBoardContext\n \n \n \n \n \n \n \n getBoardContext(urlParams: BoardUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Get the context of a board.'})@ApiResponse({status: 200, type: BoardContextResponse})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@Get(':boardId/context')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/board.controller.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n BoardUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getBoardSkeleton\n \n \n \n \n \n \n \n getBoardSkeleton(urlParams: BoardUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Get the skeleton of a a board.'})@ApiResponse({status: 200, type: BoardResponse})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@Get(':boardId')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/board.controller.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n BoardUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateBoardTitle\n \n \n \n \n \n \n \n updateBoardTitle(urlParams: BoardUrlParams, bodyParams: RenameBodyParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Update the title of a board.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Patch(':boardId/title')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/board.controller.ts:68\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n BoardUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n RenameBodyParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport {\n\tBody,\n\tController,\n\tDelete,\n\tForbiddenException,\n\tGet,\n\tHttpCode,\n\tNotFoundException,\n\tParam,\n\tPatch,\n\tPost,\n} from '@nestjs/common';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { ApiValidationError } from '@shared/common';\nimport { BoardUc } from '../uc';\nimport { BoardResponse, BoardUrlParams, ColumnResponse, RenameBodyParams } from './dto';\nimport { BoardContextResponse } from './dto/board/board-context.reponse';\nimport { BoardResponseMapper, ColumnResponseMapper } from './mapper';\n\n@ApiTags('Board')\n@Authenticate('jwt')\n@Controller('boards')\nexport class BoardController {\n\tconstructor(private readonly boardUc: BoardUc) {}\n\n\t@ApiOperation({ summary: 'Get the skeleton of a a board.' })\n\t@ApiResponse({ status: 200, type: BoardResponse })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@Get(':boardId')\n\tasync getBoardSkeleton(\n\t\t@Param() urlParams: BoardUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst board = await this.boardUc.findBoard(currentUser.userId, urlParams.boardId);\n\n\t\tconst response = BoardResponseMapper.mapToResponse(board);\n\n\t\treturn response;\n\t}\n\n\t@ApiOperation({ summary: 'Get the context of a board.' })\n\t@ApiResponse({ status: 200, type: BoardContextResponse })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@Get(':boardId/context')\n\tasync getBoardContext(\n\t\t@Param() urlParams: BoardUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst boardContext = await this.boardUc.findBoardContext(currentUser.userId, urlParams.boardId);\n\n\t\tconst response = new BoardContextResponse(boardContext);\n\n\t\treturn response;\n\t}\n\n\t@ApiOperation({ summary: 'Update the title of a board.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Patch(':boardId/title')\n\tasync updateBoardTitle(\n\t\t@Param() urlParams: BoardUrlParams,\n\t\t@Body() bodyParams: RenameBodyParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tawait this.boardUc.updateBoardTitle(currentUser.userId, urlParams.boardId, bodyParams.title);\n\t}\n\n\t@ApiOperation({ summary: 'Delete a board.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Delete(':boardId')\n\tasync deleteBoard(@Param() urlParams: BoardUrlParams, @CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tawait this.boardUc.deleteBoard(currentUser.userId, urlParams.boardId);\n\t}\n\n\t@ApiOperation({ summary: 'Create a new column on a board.' })\n\t@ApiResponse({ status: 201, type: ColumnResponse })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@Post(':boardId/columns')\n\tasync createColumn(\n\t\t@Param() urlParams: BoardUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst column = await this.boardUc.createColumn(currentUser.userId, urlParams.boardId);\n\n\t\tconst response = ColumnResponseMapper.mapToResponse(column);\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BoardCopyService.html":{"url":"injectables/BoardCopyService.html","title":"injectable - BoardCopyService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BoardCopyService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/service/board-copy.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n copyBoard\n \n \n Private\n Async\n copyBoardElements\n \n \n Private\n Async\n copyColumnBoard\n \n \n Private\n Async\n copyLesson\n \n \n Private\n Async\n copyTask\n \n \n Private\n extractReferences\n \n \n Private\n sortByOriginalOrder\n \n \n Private\n updateCopiedEmbeddedTasksOfLessons\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: LegacyLogger, boardRepo: BoardRepo, taskCopyService: TaskCopyService, lessonCopyService: LessonCopyService, columnBoardCopyService: ColumnBoardCopyService, copyHelperService: CopyHelperService)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/service/board-copy.service.ts:36\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n boardRepo\n \n \n BoardRepo\n \n \n \n No\n \n \n \n \n taskCopyService\n \n \n TaskCopyService\n \n \n \n No\n \n \n \n \n lessonCopyService\n \n \n LessonCopyService\n \n \n \n No\n \n \n \n \n columnBoardCopyService\n \n \n ColumnBoardCopyService\n \n \n \n No\n \n \n \n \n copyHelperService\n \n \n CopyHelperService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n copyBoard\n \n \n \n \n \n \n \n copyBoard(params: BoardCopyParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/board-copy.service.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n BoardCopyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n copyBoardElements\n \n \n \n \n \n \n \n copyBoardElements(boardElements: BoardElement[], user: User, destinationCourse: Course)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/board-copy.service.ts:78\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardElements\n \n BoardElement[]\n \n\n \n No\n \n\n\n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n destinationCourse\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n copyColumnBoard\n \n \n \n \n \n \n \n copyColumnBoard(columnBoardTarget: ColumnBoardTarget, user: User, destinationCourse: Course)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/board-copy.service.ts:128\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n columnBoardTarget\n \n ColumnBoardTarget\n \n\n \n No\n \n\n\n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n destinationCourse\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n copyLesson\n \n \n \n \n \n \n \n copyLesson(originalLesson: LessonEntity, user: User, destinationCourse: Course)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/board-copy.service.ts:112\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n originalLesson\n \n LessonEntity\n \n\n \n No\n \n\n\n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n destinationCourse\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n copyTask\n \n \n \n \n \n \n \n copyTask(originalTask: Task, user: User, destinationCourse: Course)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/board-copy.service.ts:120\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n originalTask\n \n Task\n \n\n \n No\n \n\n\n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n destinationCourse\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n extractReferences\n \n \n \n \n \n \n \n extractReferences(statuses: CopyStatus[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/board-copy.service.ts:143\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n statuses\n \n CopyStatus[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BoardElement[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n sortByOriginalOrder\n \n \n \n \n \n \n \n sortByOriginalOrder(resolved: [])\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/board-copy.service.ts:177\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n resolved\n \n []\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CopyStatus[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n updateCopiedEmbeddedTasksOfLessons\n \n \n \n \n \n \n \n updateCopiedEmbeddedTasksOfLessons(boardStatus: CopyStatus)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/board-copy.service.ts:164\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardStatus\n \n CopyStatus\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CopyStatus\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ColumnBoardCopyService } from '@modules/board/service/column-board-copy.service';\nimport { CopyElementType, CopyHelperService, CopyStatus, CopyStatusEnum } from '@modules/copy-helper';\nimport { getResolvedValues } from '@modules/files-storage/helper';\nimport { LessonCopyService } from '@modules/lesson/service';\nimport { TaskCopyService } from '@modules/task/service';\nimport { Injectable } from '@nestjs/common';\nimport { ColumnBoard } from '@shared/domain/domainobject';\nimport { BoardExternalReferenceType } from '@shared/domain/domainobject/board/types';\nimport {\n\tBoard,\n\tBoardElement,\n\tBoardElementType,\n\tColumnBoardTarget,\n\tColumnboardBoardElement,\n\tCourse,\n\tLessonBoardElement,\n\tLessonEntity,\n\tTask,\n\tTaskBoardElement,\n\tUser,\n\tisColumnBoardTarget,\n\tisLesson,\n\tisTask,\n} from '@shared/domain/entity';\nimport { BoardRepo } from '@shared/repo';\nimport { LegacyLogger } from '@src/core/logger';\nimport { sortBy } from 'lodash';\n\ntype BoardCopyParams = {\n\toriginalBoard: Board;\n\tdestinationCourse: Course;\n\tuser: User;\n};\n\n@Injectable()\nexport class BoardCopyService {\n\tconstructor(\n\t\tprivate readonly logger: LegacyLogger,\n\t\tprivate readonly boardRepo: BoardRepo,\n\t\tprivate readonly taskCopyService: TaskCopyService,\n\t\tprivate readonly lessonCopyService: LessonCopyService,\n\t\tprivate readonly columnBoardCopyService: ColumnBoardCopyService,\n\t\tprivate readonly copyHelperService: CopyHelperService\n\t) {}\n\n\tasync copyBoard(params: BoardCopyParams): Promise {\n\t\tconst { originalBoard, user, destinationCourse } = params;\n\n\t\tconst boardElements: BoardElement[] = originalBoard.getElements();\n\t\tconst elements: CopyStatus[] = await this.copyBoardElements(boardElements, user, destinationCourse);\n\t\tconst references: BoardElement[] = this.extractReferences(elements);\n\n\t\tlet boardCopy: Board = new Board({ references, course: destinationCourse });\n\t\tlet status: CopyStatus = {\n\t\t\ttitle: 'board',\n\t\t\ttype: CopyElementType.BOARD,\n\t\t\tstatus: this.copyHelperService.deriveStatusFromElements(elements),\n\t\t\tcopyEntity: boardCopy,\n\t\t\toriginalEntity: params.originalBoard,\n\t\t\telements,\n\t\t};\n\n\t\tstatus = this.updateCopiedEmbeddedTasksOfLessons(status);\n\t\tif (status.copyEntity) {\n\t\t\tboardCopy = status.copyEntity as Board;\n\t\t}\n\n\t\ttry {\n\t\t\tawait this.boardRepo.save(boardCopy);\n\t\t} catch (err) {\n\t\t\tthis.logger.warn(err);\n\t\t\tstatus.status = CopyStatusEnum.FAIL;\n\t\t}\n\n\t\treturn status;\n\t}\n\n\tprivate async copyBoardElements(\n\t\tboardElements: BoardElement[],\n\t\tuser: User,\n\t\tdestinationCourse: Course\n\t): Promise {\n\t\tconst promises: Promise[] = boardElements.map((element, pos) => {\n\t\t\tif (element.target === undefined) {\n\t\t\t\treturn Promise.reject(new Error('Broken boardelement - not pointing to any target entity'));\n\t\t\t}\n\n\t\t\tif (element.boardElementType === BoardElementType.Task && isTask(element.target)) {\n\t\t\t\treturn this.copyTask(element.target, user, destinationCourse).then((status) => [pos, status]);\n\t\t\t}\n\n\t\t\tif (element.boardElementType === BoardElementType.Lesson && isLesson(element.target)) {\n\t\t\t\treturn this.copyLesson(element.target, user, destinationCourse).then((status) => [pos, status]);\n\t\t\t}\n\n\t\t\tif (element.boardElementType === BoardElementType.ColumnBoard && isColumnBoardTarget(element.target)) {\n\t\t\t\treturn this.copyColumnBoard(element.target, user, destinationCourse).then((status) => [pos, status]);\n\t\t\t}\n\n\t\t\t/* istanbul ignore next */\n\t\t\tthis.logger.warn(`BoardCopyService unable to handle boardElementType.`);\n\t\t\t/* istanbul ignore next */\n\t\t\treturn Promise.reject(new Error(`BoardCopyService unable to handle boardElementType.`));\n\t\t});\n\n\t\tconst results = await Promise.allSettled(promises);\n\t\tconst resolved: Array = getResolvedValues(results);\n\t\tconst statuses: CopyStatus[] = this.sortByOriginalOrder(resolved);\n\t\treturn statuses;\n\t}\n\n\tprivate async copyLesson(originalLesson: LessonEntity, user: User, destinationCourse: Course): Promise {\n\t\treturn this.lessonCopyService.copyLesson({\n\t\t\toriginalLessonId: originalLesson.id,\n\t\t\tuser,\n\t\t\tdestinationCourse,\n\t\t});\n\t}\n\n\tprivate async copyTask(originalTask: Task, user: User, destinationCourse: Course): Promise {\n\t\treturn this.taskCopyService.copyTask({\n\t\t\toriginalTaskId: originalTask.id,\n\t\t\tuser,\n\t\t\tdestinationCourse,\n\t\t});\n\t}\n\n\tprivate async copyColumnBoard(\n\t\tcolumnBoardTarget: ColumnBoardTarget,\n\t\tuser: User,\n\t\tdestinationCourse: Course\n\t): Promise {\n\t\treturn this.columnBoardCopyService.copyColumnBoard({\n\t\t\toriginalColumnBoardId: columnBoardTarget.columnBoardId,\n\t\t\tuserId: user.id,\n\t\t\tdestinationExternalReference: {\n\t\t\t\tid: destinationCourse.id,\n\t\t\t\ttype: BoardExternalReferenceType.Course,\n\t\t\t},\n\t\t});\n\t}\n\n\tprivate extractReferences(statuses: CopyStatus[]): BoardElement[] {\n\t\tconst references: BoardElement[] = [];\n\t\tstatuses.forEach((status) => {\n\t\t\tif (status.copyEntity instanceof Task) {\n\t\t\t\tconst taskElement = new TaskBoardElement({ target: status.copyEntity });\n\t\t\t\treferences.push(taskElement);\n\t\t\t}\n\t\t\tif (status.copyEntity instanceof LessonEntity) {\n\t\t\t\tconst lessonElement = new LessonBoardElement({ target: status.copyEntity });\n\t\t\t\treferences.push(lessonElement);\n\t\t\t}\n\t\t\tif (status.copyEntity instanceof ColumnBoard) {\n\t\t\t\tconst columnBoardElement = new ColumnboardBoardElement({\n\t\t\t\t\ttarget: new ColumnBoardTarget({ columnBoardId: status.copyEntity.id, title: status.copyEntity.title }),\n\t\t\t\t});\n\t\t\t\treferences.push(columnBoardElement);\n\t\t\t}\n\t\t});\n\t\treturn references;\n\t}\n\n\tprivate updateCopiedEmbeddedTasksOfLessons(boardStatus: CopyStatus): CopyStatus {\n\t\tconst copyDict = this.copyHelperService.buildCopyEntityDict(boardStatus);\n\t\tconst elements = boardStatus.elements ?? [];\n\t\tconst updatedElements = elements.map((elementCopyStatus) => {\n\t\t\tif (elementCopyStatus.type === CopyElementType.LESSON) {\n\t\t\t\treturn this.lessonCopyService.updateCopiedEmbeddedTasks(elementCopyStatus, copyDict);\n\t\t\t}\n\t\t\treturn elementCopyStatus;\n\t\t});\n\t\tboardStatus.elements = updatedElements;\n\t\treturn boardStatus;\n\t}\n\n\tprivate sortByOriginalOrder(resolved: [number, CopyStatus][]): CopyStatus[] {\n\t\tconst sortByPos = sortBy(resolved, ([pos]) => pos);\n\t\tconst statuses = sortByPos.map(([, status]) => status);\n\t\treturn statuses;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardDoAuthorizable.html":{"url":"classes/BoardDoAuthorizable.html","title":"class - BoardDoAuthorizable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardDoAuthorizable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/types/board-do-authorizable.ts\n \n\n\n\n \n Extends\n \n \n DomainObject\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n users\n \n \n requiredUserRole\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n users\n \n \n\n \n \n getusers()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-do-authorizable.ts:32\n \n \n\n \n \n \n \n \n \n \n requiredUserRole\n \n \n\n \n \n getrequiredUserRole()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-do-authorizable.ts:36\n \n \n\n \n \n setrequiredUserRole(userRoleEnum: UserRoleEnum | undefined)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-do-authorizable.ts:40\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userRoleEnum\n \n \n UserRoleEnum | undefined\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { EntityId } from '@shared/domain/types';\n\nexport enum BoardRoles {\n\tEDITOR = 'editor',\n\tREADER = 'reader',\n}\n/**\n\tdeprecated: This is a temporary solution. This will be replaced with a more proper permission system.\n*/\nexport enum UserRoleEnum {\n\tTEACHER = 'teacher',\n\tSTUDENT = 'student',\n\tSUBSTITUTION_TEACHER = 'subsitution teacher',\n}\n\nexport interface UserBoardRoles {\n\tfirstName?: string;\n\tlastName?: string;\n\troles: BoardRoles[];\n\tuserId: EntityId;\n\tuserRoleEnum: UserRoleEnum;\n}\n\nexport interface BoardDoAuthorizableProps extends AuthorizableObject {\n\tid: EntityId;\n\tusers: UserBoardRoles[];\n\trequiredUserRole?: UserRoleEnum;\n}\n\nexport class BoardDoAuthorizable extends DomainObject {\n\tget users(): UserBoardRoles[] {\n\t\treturn this.props.users;\n\t}\n\n\tget requiredUserRole(): UserRoleEnum | undefined {\n\t\treturn this.props.requiredUserRole;\n\t}\n\n\tset requiredUserRole(userRoleEnum: UserRoleEnum | undefined) {\n\t\tthis.props.requiredUserRole = userRoleEnum;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BoardDoAuthorizableProps.html":{"url":"interfaces/BoardDoAuthorizableProps.html","title":"interface - BoardDoAuthorizableProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BoardDoAuthorizableProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/types/board-do-authorizable.ts\n \n\n\n\n \n Extends\n \n \n AuthorizableObject\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n Optional\n \n requiredUserRole\n \n \n \n \n users\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n requiredUserRole\n \n \n \n \n \n \n \n \n requiredUserRole: UserRoleEnum\n\n \n \n\n\n \n \n Type : UserRoleEnum\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n users\n \n \n \n \n \n \n \n \n users: UserBoardRoles[]\n\n \n \n\n\n \n \n Type : UserBoardRoles[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { EntityId } from '@shared/domain/types';\n\nexport enum BoardRoles {\n\tEDITOR = 'editor',\n\tREADER = 'reader',\n}\n/**\n\tdeprecated: This is a temporary solution. This will be replaced with a more proper permission system.\n*/\nexport enum UserRoleEnum {\n\tTEACHER = 'teacher',\n\tSTUDENT = 'student',\n\tSUBSTITUTION_TEACHER = 'subsitution teacher',\n}\n\nexport interface UserBoardRoles {\n\tfirstName?: string;\n\tlastName?: string;\n\troles: BoardRoles[];\n\tuserId: EntityId;\n\tuserRoleEnum: UserRoleEnum;\n}\n\nexport interface BoardDoAuthorizableProps extends AuthorizableObject {\n\tid: EntityId;\n\tusers: UserBoardRoles[];\n\trequiredUserRole?: UserRoleEnum;\n}\n\nexport class BoardDoAuthorizable extends DomainObject {\n\tget users(): UserBoardRoles[] {\n\t\treturn this.props.users;\n\t}\n\n\tget requiredUserRole(): UserRoleEnum | undefined {\n\t\treturn this.props.requiredUserRole;\n\t}\n\n\tset requiredUserRole(userRoleEnum: UserRoleEnum | undefined) {\n\t\tthis.props.requiredUserRole = userRoleEnum;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BoardDoAuthorizableService.html":{"url":"injectables/BoardDoAuthorizableService.html","title":"injectable - BoardDoAuthorizableService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BoardDoAuthorizableService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/board-do-authorizable.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findById\n \n \n Async\n getBoardAuthorizable\n \n \n Private\n mapCourseUsersToUsergroup\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(boardDoRepo: BoardDoRepo, courseRepo: CourseRepo)\n \n \n \n \n Defined in apps/server/src/modules/board/service/board-do-authorizable.service.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDoRepo\n \n \n BoardDoRepo\n \n \n \n No\n \n \n \n \n courseRepo\n \n \n CourseRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-authorizable.service.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getBoardAuthorizable\n \n \n \n \n \n \n \n getBoardAuthorizable(boardDo: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-authorizable.service.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapCourseUsersToUsergroup\n \n \n \n \n \n \n \n mapCourseUsersToUsergroup(course: Course)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-authorizable.service.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n course\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserBoardRoles[]\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationLoaderService } from '@modules/authorization';\nimport { forwardRef, Inject, Injectable } from '@nestjs/common';\nimport {\n\tAnyBoardDo,\n\tBoardDoAuthorizable,\n\tBoardExternalReferenceType,\n\tBoardRoles,\n\tColumnBoard,\n\tUserBoardRoles,\n\tUserRoleEnum,\n} from '@shared/domain/domainobject';\nimport { Course } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { CourseRepo } from '@shared/repo';\nimport { BoardDoRepo } from '../repo';\n\n@Injectable()\nexport class BoardDoAuthorizableService implements AuthorizationLoaderService {\n\tconstructor(\n\t\t@Inject(forwardRef(() => BoardDoRepo)) private readonly boardDoRepo: BoardDoRepo,\n\t\tprivate readonly courseRepo: CourseRepo\n\t) {}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst boardDo = await this.boardDoRepo.findById(id, 1);\n\t\tconst { users } = await this.getBoardAuthorizable(boardDo);\n\t\tconst boardDoAuthorizable = new BoardDoAuthorizable({ users, id });\n\n\t\treturn boardDoAuthorizable;\n\t}\n\n\tasync getBoardAuthorizable(boardDo: AnyBoardDo): Promise {\n\t\tconst ancestorIds = await this.boardDoRepo.getAncestorIds(boardDo);\n\t\tconst ids = [...ancestorIds, boardDo.id];\n\t\tconst rootId = ids[0];\n\t\tconst rootBoardDo = await this.boardDoRepo.findById(rootId, 1);\n\t\tif (rootBoardDo instanceof ColumnBoard) {\n\t\t\tif (rootBoardDo.context?.type === BoardExternalReferenceType.Course) {\n\t\t\t\tconst course = await this.courseRepo.findById(rootBoardDo.context.id);\n\t\t\t\tconst users = this.mapCourseUsersToUsergroup(course);\n\t\t\t\treturn new BoardDoAuthorizable({ users, id: boardDo.id });\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new Error('root boardnode was expected to be a ColumnBoard');\n\t\t}\n\n\t\treturn new BoardDoAuthorizable({ users: [], id: boardDo.id });\n\t}\n\n\tprivate mapCourseUsersToUsergroup(course: Course): UserBoardRoles[] {\n\t\tconst users = [\n\t\t\t...course.getTeachersList().map((user) => {\n\t\t\t\treturn {\n\t\t\t\t\tuserId: user.id,\n\t\t\t\t\tfirstName: user.firstName,\n\t\t\t\t\tlastName: user.lastName,\n\t\t\t\t\troles: [BoardRoles.EDITOR],\n\t\t\t\t\tuserRoleEnum: UserRoleEnum.TEACHER,\n\t\t\t\t};\n\t\t\t}),\n\t\t\t...course.getSubstitutionTeachersList().map((user) => {\n\t\t\t\treturn {\n\t\t\t\t\tuserId: user.id,\n\t\t\t\t\tfirstName: user.firstName,\n\t\t\t\t\tlastName: user.lastName,\n\t\t\t\t\troles: [BoardRoles.EDITOR],\n\t\t\t\t\tuserRoleEnum: UserRoleEnum.SUBSTITUTION_TEACHER,\n\t\t\t\t};\n\t\t\t}),\n\t\t\t...course.getStudentsList().map((user) => {\n\t\t\t\treturn {\n\t\t\t\t\tuserId: user.id,\n\t\t\t\t\tfirstName: user.firstName,\n\t\t\t\t\tlastName: user.lastName,\n\t\t\t\t\troles: [BoardRoles.READER],\n\t\t\t\t\tuserRoleEnum: UserRoleEnum.STUDENT,\n\t\t\t\t};\n\t\t\t}),\n\t\t];\n\t\treturn users;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BoardDoBuilder.html":{"url":"interfaces/BoardDoBuilder.html","title":"interface - BoardDoBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BoardDoBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/types/board-do.builder.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n buildCard\n \n \n \n \n buildColumn\n \n \n \n \n buildColumnBoard\n \n \n \n \n buildDrawingElement\n \n \n \n \n buildExternalToolElement\n \n \n \n \n buildFileElement\n \n \n \n \n buildLinkElement\n \n \n \n \n buildRichTextElement\n \n \n \n \n buildSubmissionContainerElement\n \n \n \n \n buildSubmissionItem\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n buildCard\n \n \n \n \n \n \nbuildCard(boardNode: CardNode)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/types/board-do.builder.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n CardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Card\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildColumn\n \n \n \n \n \n \nbuildColumn(boardNode: ColumnNode)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/types/board-do.builder.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n ColumnNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Column\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildColumnBoard\n \n \n \n \n \n \nbuildColumnBoard(boardNode: ColumnBoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/types/board-do.builder.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n ColumnBoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ColumnBoard\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildDrawingElement\n \n \n \n \n \n \nbuildDrawingElement(boardNode: DrawingElementNode)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/types/board-do.builder.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n DrawingElementNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DrawingElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildExternalToolElement\n \n \n \n \n \n \nbuildExternalToolElement(boardNode: ExternalToolElementNodeEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/types/board-do.builder.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n ExternalToolElementNodeEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalToolElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildFileElement\n \n \n \n \n \n \nbuildFileElement(boardNode: FileElementNode)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/types/board-do.builder.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n FileElementNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildLinkElement\n \n \n \n \n \n \nbuildLinkElement(boardNode: LinkElementNode)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/types/board-do.builder.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n LinkElementNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LinkElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildRichTextElement\n \n \n \n \n \n \nbuildRichTextElement(boardNode: RichTextElementNode)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/types/board-do.builder.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n RichTextElementNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RichTextElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildSubmissionContainerElement\n \n \n \n \n \n \nbuildSubmissionContainerElement(boardNode: SubmissionContainerElementNode)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/types/board-do.builder.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n SubmissionContainerElementNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SubmissionContainerElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildSubmissionItem\n \n \n \n \n \n \nbuildSubmissionItem(boardNode: SubmissionItemNode)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/types/board-do.builder.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n SubmissionItemNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SubmissionItem\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import type {\n\tCard,\n\tColumn,\n\tColumnBoard,\n\tDrawingElement,\n\tExternalToolElement,\n\tFileElement,\n\tLinkElement,\n\tRichTextElement,\n\tSubmissionContainerElement,\n\tSubmissionItem,\n} from '../../../domainobject';\nimport type { CardNode } from '../card-node.entity';\nimport type { ColumnBoardNode } from '../column-board-node.entity';\nimport type { ColumnNode } from '../column-node.entity';\nimport type { DrawingElementNode } from '../drawing-element-node.entity';\nimport type { ExternalToolElementNodeEntity } from '../external-tool-element-node.entity';\nimport type { FileElementNode } from '../file-element-node.entity';\nimport type { LinkElementNode } from '../link-element-node.entity';\nimport type { RichTextElementNode } from '../rich-text-element-node.entity';\nimport type { SubmissionContainerElementNode } from '../submission-container-element-node.entity';\nimport type { SubmissionItemNode } from '../submission-item-node.entity';\n\nexport interface BoardDoBuilder {\n\tbuildColumnBoard(boardNode: ColumnBoardNode): ColumnBoard;\n\tbuildColumn(boardNode: ColumnNode): Column;\n\tbuildCard(boardNode: CardNode): Card;\n\tbuildDrawingElement(boardNode: DrawingElementNode): DrawingElement;\n\tbuildFileElement(boardNode: FileElementNode): FileElement;\n\tbuildLinkElement(boardNode: LinkElementNode): LinkElement;\n\tbuildRichTextElement(boardNode: RichTextElementNode): RichTextElement;\n\tbuildSubmissionContainerElement(boardNode: SubmissionContainerElementNode): SubmissionContainerElement;\n\tbuildSubmissionItem(boardNode: SubmissionItemNode): SubmissionItem;\n\tbuildExternalToolElement(boardNode: ExternalToolElementNodeEntity): ExternalToolElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardDoBuilderImpl.html":{"url":"classes/BoardDoBuilderImpl.html","title":"class - BoardDoBuilderImpl","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardDoBuilderImpl\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/repo/board-do.builder-impl.ts\n \n\n\n\n\n \n Implements\n \n \n BoardDoBuilder\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n childrenMap\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n buildCard\n \n \n buildChildren\n \n \n Public\n buildColumn\n \n \n Public\n buildColumnBoard\n \n \n Public\n buildDomainObject\n \n \n Public\n buildDrawingElement\n \n \n buildExternalToolElement\n \n \n Public\n buildFileElement\n \n \n Public\n buildLinkElement\n \n \n Public\n buildRichTextElement\n \n \n Public\n buildSubmissionContainerElement\n \n \n Public\n buildSubmissionItem\n \n \n ensureBoardNodeType\n \n \n ensureLeafNode\n \n \n getChildren\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(descendants: BoardNode[])\n \n \n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:32\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n descendants\n \n \n BoardNode[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n childrenMap\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Default value : {}\n \n \n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:32\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n buildCard\n \n \n \n \n \n \n \n buildCard(boardNode: CardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:77\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n CardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Card\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildChildren\n \n \n \n \n \n \nbuildChildren(boardNode: BoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:205\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n buildColumn\n \n \n \n \n \n \n \n buildColumn(boardNode: ColumnNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:62\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n ColumnNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Column\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n buildColumnBoard\n \n \n \n \n \n \n \n buildColumnBoard(boardNode: ColumnBoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n ColumnBoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ColumnBoard\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n buildDomainObject\n \n \n \n \n \n \n \n buildDomainObject(boardNode: BoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:41\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n buildDrawingElement\n \n \n \n \n \n \n \n buildDrawingElement(boardNode: DrawingElementNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:145\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n DrawingElementNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DrawingElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildExternalToolElement\n \n \n \n \n \n \nbuildExternalToolElement(boardNode: ExternalToolElementNodeEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:191\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n ExternalToolElementNodeEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalToolElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n buildFileElement\n \n \n \n \n \n \n \n buildFileElement(boardNode: FileElementNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:102\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n FileElementNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n buildLinkElement\n \n \n \n \n \n \n \n buildLinkElement(boardNode: LinkElementNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:116\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n LinkElementNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LinkElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n buildRichTextElement\n \n \n \n \n \n \n \n buildRichTextElement(boardNode: RichTextElementNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:131\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n RichTextElementNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RichTextElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n buildSubmissionContainerElement\n \n \n \n \n \n \n \n buildSubmissionContainerElement(boardNode: SubmissionContainerElementNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:158\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n SubmissionContainerElementNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SubmissionContainerElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n buildSubmissionItem\n \n \n \n \n \n \n \n buildSubmissionItem(boardNode: SubmissionItemNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:173\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n SubmissionItemNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SubmissionItem\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ensureBoardNodeType\n \n \n \n \n \n \nensureBoardNodeType(boardNode: BoardNode | BoardNode[], type: BoardNodeType | BoardNodeType[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:221\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n BoardNode | BoardNode[]\n \n\n \n No\n \n\n\n \n \n type\n \n BoardNodeType | BoardNodeType[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ensureLeafNode\n \n \n \n \n \n \nensureLeafNode(boardNode: BoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:216\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getChildren\n \n \n \n \n \n \ngetChildren(boardNode: BoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:210\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BoardNode[]\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { NotImplementedException } from '@nestjs/common';\nimport {\n\tAnyBoardDo,\n\tCard,\n\tColumn,\n\tColumnBoard,\n\tExternalToolElement,\n\tFileElement,\n\tLinkElement,\n\tRichTextElement,\n\tSubmissionContainerElement,\n\tSubmissionItem,\n} from '@shared/domain/domainobject';\nimport { DrawingElement } from '@shared/domain/domainobject/board/drawing-element.do';\nimport {\n\tBoardNodeType,\n\ttype BoardDoBuilder,\n\ttype BoardNode,\n\ttype CardNode,\n\ttype ColumnBoardNode,\n\ttype ColumnNode,\n\ttype ExternalToolElementNodeEntity,\n\ttype FileElementNode,\n\ttype LinkElementNode,\n\ttype RichTextElementNode,\n\ttype SubmissionContainerElementNode,\n\ttype SubmissionItemNode,\n} from '@shared/domain/entity';\nimport { DrawingElementNode } from '@shared/domain/entity/boardnode/drawing-element-node.entity';\n\nexport class BoardDoBuilderImpl implements BoardDoBuilder {\n\tprivate childrenMap: Record = {};\n\n\tconstructor(descendants: BoardNode[] = []) {\n\t\tfor (const boardNode of descendants) {\n\t\t\tthis.childrenMap[boardNode.path] ||= [];\n\t\t\tthis.childrenMap[boardNode.path].push(boardNode);\n\t\t}\n\t}\n\n\tpublic buildDomainObject(boardNode: BoardNode): T {\n\t\treturn boardNode.useDoBuilder(this) as T;\n\t}\n\n\tpublic buildColumnBoard(boardNode: ColumnBoardNode): ColumnBoard {\n\t\tthis.ensureBoardNodeType(this.getChildren(boardNode), BoardNodeType.COLUMN);\n\n\t\tconst columns = this.buildChildren(boardNode);\n\n\t\tconst columnBoard = new ColumnBoard({\n\t\t\tid: boardNode.id,\n\t\t\ttitle: boardNode.title ?? '',\n\t\t\tchildren: columns,\n\t\t\tcreatedAt: boardNode.createdAt,\n\t\t\tupdatedAt: boardNode.updatedAt,\n\t\t\tcontext: boardNode.context,\n\t\t});\n\n\t\treturn columnBoard;\n\t}\n\n\tpublic buildColumn(boardNode: ColumnNode): Column {\n\t\tthis.ensureBoardNodeType(this.getChildren(boardNode), BoardNodeType.CARD);\n\n\t\tconst cards = this.buildChildren(boardNode);\n\n\t\tconst column = new Column({\n\t\t\tid: boardNode.id,\n\t\t\ttitle: boardNode.title ?? '',\n\t\t\tchildren: cards,\n\t\t\tcreatedAt: boardNode.createdAt,\n\t\t\tupdatedAt: boardNode.updatedAt,\n\t\t});\n\t\treturn column;\n\t}\n\n\tpublic buildCard(boardNode: CardNode): Card {\n\t\tthis.ensureBoardNodeType(this.getChildren(boardNode), [\n\t\t\tBoardNodeType.FILE_ELEMENT,\n\t\t\tBoardNodeType.LINK_ELEMENT,\n\t\t\tBoardNodeType.RICH_TEXT_ELEMENT,\n\t\t\tBoardNodeType.DRAWING_ELEMENT,\n\t\t\tBoardNodeType.SUBMISSION_CONTAINER_ELEMENT,\n\t\t\tBoardNodeType.EXTERNAL_TOOL,\n\t\t]);\n\n\t\tconst elements = this.buildChildren(boardNode);\n\n\t\tconst card = new Card({\n\t\t\tid: boardNode.id,\n\t\t\ttitle: boardNode.title ?? '',\n\t\t\theight: boardNode.height,\n\t\t\tchildren: elements,\n\t\t\tcreatedAt: boardNode.createdAt,\n\t\t\tupdatedAt: boardNode.updatedAt,\n\t\t});\n\t\treturn card;\n\t}\n\n\tpublic buildFileElement(boardNode: FileElementNode): FileElement {\n\t\tthis.ensureLeafNode(boardNode);\n\n\t\tconst element = new FileElement({\n\t\t\tid: boardNode.id,\n\t\t\tcaption: boardNode.caption,\n\t\t\talternativeText: boardNode.alternativeText,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: boardNode.createdAt,\n\t\t\tupdatedAt: boardNode.updatedAt,\n\t\t});\n\t\treturn element;\n\t}\n\n\tpublic buildLinkElement(boardNode: LinkElementNode): LinkElement {\n\t\tthis.ensureLeafNode(boardNode);\n\n\t\tconst element = new LinkElement({\n\t\t\tid: boardNode.id,\n\t\t\turl: boardNode.url,\n\t\t\ttitle: boardNode.title,\n\t\t\timageUrl: boardNode.imageUrl,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: boardNode.createdAt,\n\t\t\tupdatedAt: boardNode.updatedAt,\n\t\t});\n\t\treturn element;\n\t}\n\n\tpublic buildRichTextElement(boardNode: RichTextElementNode): RichTextElement {\n\t\tthis.ensureLeafNode(boardNode);\n\n\t\tconst element = new RichTextElement({\n\t\t\tid: boardNode.id,\n\t\t\ttext: boardNode.text,\n\t\t\tinputFormat: boardNode.inputFormat,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: boardNode.createdAt,\n\t\t\tupdatedAt: boardNode.updatedAt,\n\t\t});\n\t\treturn element;\n\t}\n\n\tpublic buildDrawingElement(boardNode: DrawingElementNode): DrawingElement {\n\t\tthis.ensureLeafNode(boardNode);\n\n\t\tconst element = new DrawingElement({\n\t\t\tid: boardNode.id,\n\t\t\tdescription: boardNode.description,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: boardNode.createdAt,\n\t\t\tupdatedAt: boardNode.updatedAt,\n\t\t});\n\t\treturn element;\n\t}\n\n\tpublic buildSubmissionContainerElement(boardNode: SubmissionContainerElementNode): SubmissionContainerElement {\n\t\tthis.ensureBoardNodeType(this.getChildren(boardNode), [BoardNodeType.SUBMISSION_ITEM]);\n\t\tconst elements = this.buildChildren(boardNode);\n\n\t\tconst element = new SubmissionContainerElement({\n\t\t\tid: boardNode.id,\n\t\t\tchildren: elements,\n\t\t\tcreatedAt: boardNode.createdAt,\n\t\t\tupdatedAt: boardNode.updatedAt,\n\t\t\tdueDate: boardNode.dueDate,\n\t\t});\n\n\t\treturn element;\n\t}\n\n\tpublic buildSubmissionItem(boardNode: SubmissionItemNode): SubmissionItem {\n\t\tthis.ensureBoardNodeType(this.getChildren(boardNode), [\n\t\t\tBoardNodeType.FILE_ELEMENT,\n\t\t\tBoardNodeType.RICH_TEXT_ELEMENT,\n\t\t]);\n\t\tconst elements = this.buildChildren(boardNode);\n\n\t\tconst element = new SubmissionItem({\n\t\t\tid: boardNode.id,\n\t\t\tcreatedAt: boardNode.createdAt,\n\t\t\tupdatedAt: boardNode.updatedAt,\n\t\t\tcompleted: boardNode.completed,\n\t\t\tuserId: boardNode.userId,\n\t\t\tchildren: elements,\n\t\t});\n\t\treturn element;\n\t}\n\n\tbuildExternalToolElement(boardNode: ExternalToolElementNodeEntity): ExternalToolElement {\n\t\tthis.ensureLeafNode(boardNode);\n\n\t\tconst element: ExternalToolElement = new ExternalToolElement({\n\t\t\tid: boardNode.id,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: boardNode.createdAt,\n\t\t\tupdatedAt: boardNode.updatedAt,\n\t\t\tcontextExternalToolId: boardNode.contextExternalTool?.id,\n\t\t});\n\n\t\treturn element;\n\t}\n\n\tbuildChildren(boardNode: BoardNode): T[] {\n\t\tconst children = this.getChildren(boardNode).map((node) => node.useDoBuilder(this));\n\t\treturn children as T[];\n\t}\n\n\tgetChildren(boardNode: BoardNode): BoardNode[] {\n\t\tconst children = this.childrenMap[boardNode.pathOfChildren] || [];\n\t\tconst sortedChildren = children.sort((a, b) => a.position - b.position);\n\t\treturn sortedChildren;\n\t}\n\n\tensureLeafNode(boardNode: BoardNode) {\n\t\tconst children = this.getChildren(boardNode);\n\t\tif (children.length !== 0) throw new Error('BoardNode is a leaf node but children were provided.');\n\t}\n\n\tensureBoardNodeType(boardNode: BoardNode | BoardNode[], type: BoardNodeType | BoardNodeType[]) {\n\t\tconst single = (bn: BoardNode, t: BoardNodeType | BoardNodeType[]) => {\n\t\t\tconst isValid = Array.isArray(t) ? type.includes(bn.type) : t === bn.type;\n\t\t\tif (!isValid) {\n\t\t\t\tthrow new NotImplementedException(`Invalid node type '${bn.type}'`);\n\t\t\t}\n\t\t};\n\n\t\tif (Array.isArray(boardNode)) {\n\t\t\tboardNode.forEach((bn) => single(bn, type));\n\t\t} else {\n\t\t\tsingle(boardNode, type);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BoardDoCopyService.html":{"url":"injectables/BoardDoCopyService.html","title":"injectable - BoardDoCopyService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BoardDoCopyService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/board-do-copy-service/board-do-copy.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n copy\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n copy\n \n \n \n \n \n \n \n copy(params: BoardDoCopyParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/board-do-copy.service.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n BoardDoCopyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CopyStatus } from '@modules/copy-helper';\nimport { Injectable } from '@nestjs/common';\nimport { AnyBoardDo } from '@shared/domain/domainobject';\nimport { RecursiveCopyVisitor } from './recursive-copy.visitor';\nimport { SchoolSpecificFileCopyService } from './school-specific-file-copy.interface';\n\nexport type BoardDoCopyParams = {\n\toriginal: AnyBoardDo;\n\tfileCopyService: SchoolSpecificFileCopyService;\n};\n\n@Injectable()\nexport class BoardDoCopyService {\n\tpublic async copy(params: BoardDoCopyParams): Promise {\n\t\tconst visitor = new RecursiveCopyVisitor(params.fileCopyService);\n\n\t\tconst result = await visitor.copy(params.original);\n\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BoardDoRepo.html":{"url":"injectables/BoardDoRepo.html","title":"injectable - BoardDoRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BoardDoRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/repo/board-do.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n delete\n \n \n Async\n findByClassAndId\n \n \n Async\n findById\n \n \n Async\n findByIds\n \n \n Async\n findIdsByExternalReference\n \n \n Async\n findParentOfId\n \n \n Async\n getAncestorIds\n \n \n Async\n getTitlesByIds\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager, boardNodeRepo: BoardNodeRepo, deleteVisitor: RecursiveDeleteVisitor)\n \n \n \n \n Defined in apps/server/src/modules/board/repo/board-do.repo.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n boardNodeRepo\n \n \n BoardNodeRepo\n \n \n \n No\n \n \n \n \n deleteVisitor\n \n \n RecursiveDeleteVisitor\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(domainObject: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.repo.ts:95\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByClassAndId\n \n \n \n \n \n \n \n findByClassAndId(doClass: literal type, id: EntityId, depth?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.repo.ts:28\n \n \n\n \n \n Type parameters :\n \n S\n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n doClass\n \n literal type\n \n\n \n No\n \n\n\n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n depth\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId, depth?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.repo.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n depth\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByIds\n \n \n \n \n \n \n \n findByIds(ids: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.repo.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n ids\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findIdsByExternalReference\n \n \n \n \n \n \n \n findIdsByExternalReference(reference: BoardExternalReference)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.repo.ts:67\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n reference\n \n BoardExternalReference\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findParentOfId\n \n \n \n \n \n \n \n findParentOfId(childId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.repo.ts:77\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n childId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getAncestorIds\n \n \n \n \n \n \n \n getAncestorIds(boardDo: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.repo.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getTitlesByIds\n \n \n \n \n \n \n \n getTitlesByIds(id: EntityId[] | EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.repo.ts:55\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId[] | EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(domainObject: AnyBoardDo | AnyBoardDo[], parent?: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.repo.ts:89\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n AnyBoardDo | AnyBoardDo[]\n \n\n \n No\n \n\n\n \n \n parent\n \n AnyBoardDo\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Utils } from '@mikro-orm/core';\nimport { EntityManager, ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable, NotFoundException } from '@nestjs/common';\nimport { AnyBoardDo, BoardExternalReference } from '@shared/domain/domainobject';\nimport { BoardNode, ColumnBoardNode } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { BoardDoBuilderImpl } from './board-do.builder-impl';\nimport { BoardNodeRepo } from './board-node.repo';\nimport { RecursiveDeleteVisitor } from './recursive-delete.vistor';\nimport { RecursiveSaveVisitor } from './recursive-save.visitor';\n\n@Injectable()\nexport class BoardDoRepo {\n\tconstructor(\n\t\tprivate readonly em: EntityManager,\n\t\tprivate readonly boardNodeRepo: BoardNodeRepo,\n\t\tprivate readonly deleteVisitor: RecursiveDeleteVisitor\n\t) {}\n\n\tasync findById(id: EntityId, depth?: number): Promise {\n\t\tconst boardNode = await this.boardNodeRepo.findById(id);\n\t\tconst descendants = await this.boardNodeRepo.findDescendants(boardNode, depth);\n\t\tconst domainObject = new BoardDoBuilderImpl(descendants).buildDomainObject(boardNode);\n\n\t\treturn domainObject;\n\t}\n\n\tasync findByClassAndId(\n\t\tdoClass: { new (props: S): T },\n\t\tid: EntityId,\n\t\tdepth?: number\n\t): Promise {\n\t\tconst domainObject = await this.findById(id, depth);\n\t\tif (!(domainObject instanceof doClass)) {\n\t\t\tthrow new NotFoundException(`There is no '${doClass.name}' with this id`);\n\t\t}\n\n\t\treturn domainObject;\n\t}\n\n\tasync findByIds(ids: EntityId[]): Promise {\n\t\tconst boardNodes = await this.em.find(BoardNode, { id: { $in: ids } });\n\n\t\tconst childrenMap = await this.boardNodeRepo.findDescendantsOfMany(boardNodes);\n\n\t\tconst domainObjects = boardNodes.map((boardNode) => {\n\t\t\tconst children = childrenMap[boardNode.pathOfChildren];\n\t\t\tconst domainObject = new BoardDoBuilderImpl(children).buildDomainObject(boardNode);\n\t\t\treturn domainObject;\n\t\t});\n\n\t\treturn domainObjects;\n\t}\n\n\tasync getTitlesByIds(id: EntityId[] | EntityId): Promise> {\n\t\tconst ids = Utils.asArray(id);\n\t\tconst boardNodes = await this.em.find(BoardNode, { id: { $in: ids } });\n\n\t\tconst titlesMap = boardNodes.reduce((map, node) => {\n\t\t\tmap[node.id] = node.title ?? '';\n\t\t\treturn map;\n\t\t}, {});\n\n\t\treturn titlesMap;\n\t}\n\n\tasync findIdsByExternalReference(reference: BoardExternalReference): Promise {\n\t\tconst boardNodes = await this.em.find(ColumnBoardNode, {\n\t\t\t_contextId: new ObjectId(reference.id),\n\t\t\t_contextType: reference.type,\n\t\t});\n\t\tconst ids = boardNodes.map((o) => o.id);\n\n\t\treturn ids;\n\t}\n\n\tasync findParentOfId(childId: EntityId): Promise {\n\t\tconst boardNode = await this.boardNodeRepo.findById(childId);\n\t\tconst domainObject = boardNode.parentId ? this.findById(boardNode.parentId) : undefined;\n\n\t\treturn domainObject;\n\t}\n\n\tasync getAncestorIds(boardDo: AnyBoardDo): Promise {\n\t\tconst boardNode = await this.boardNodeRepo.findById(boardDo.id);\n\t\treturn boardNode.ancestorIds;\n\t}\n\n\tasync save(domainObject: AnyBoardDo | AnyBoardDo[], parent?: AnyBoardDo): Promise {\n\t\tconst saveVisitor = new RecursiveSaveVisitor(this.em, this.boardNodeRepo);\n\t\tawait saveVisitor.save(domainObject, parent);\n\t\tawait this.em.flush();\n\t}\n\n\tasync delete(domainObject: AnyBoardDo): Promise {\n\t\tawait domainObject.acceptAsync(this.deleteVisitor);\n\t\tawait this.em.flush();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BoardDoRule.html":{"url":"injectables/BoardDoRule.html","title":"injectable - BoardDoRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BoardDoRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/board-do.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/board-do.rule.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, boardDoAuthorizable: BoardDoAuthorizable, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/board-do.rule.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n boardDoAuthorizable\n \n BoardDoAuthorizable\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, boardDoAuthorizable: BoardDoAuthorizable)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/board-do.rule.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n boardDoAuthorizable\n \n BoardDoAuthorizable\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { BoardDoAuthorizable, BoardRoles } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { Action, AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\n\n@Injectable()\nexport class BoardDoRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper) {}\n\n\tpublic isApplicable(user: User, boardDoAuthorizable: BoardDoAuthorizable): boolean {\n\t\tconst isMatched = boardDoAuthorizable instanceof BoardDoAuthorizable;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, boardDoAuthorizable: BoardDoAuthorizable, context: AuthorizationContext): boolean {\n\t\tconst hasPermission = this.authorizationHelper.hasAllPermissions(user, context.requiredPermissions);\n\t\tif (hasPermission === false) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst userBoardRole = boardDoAuthorizable.users.find(({ userId }) => userId === user.id);\n\t\tif (!userBoardRole) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (boardDoAuthorizable.requiredUserRole && boardDoAuthorizable.requiredUserRole !== userBoardRole.userRoleEnum) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (context.action === Action.write && userBoardRole.roles.includes(BoardRoles.EDITOR)) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (\n\t\t\tcontext.action === Action.read &&\n\t\t\t(userBoardRole.roles.includes(BoardRoles.EDITOR) || userBoardRole.roles.includes(BoardRoles.READER))\n\t\t) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BoardDoService.html":{"url":"injectables/BoardDoService.html","title":"injectable - BoardDoService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BoardDoService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/board-do.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteWithDescendants\n \n \n Async\n move\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(boardDoRepo: BoardDoRepo)\n \n \n \n \n Defined in apps/server/src/modules/board/service/board-do.service.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDoRepo\n \n \n BoardDoRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteWithDescendants\n \n \n \n \n \n \n \n deleteWithDescendants(domainObject: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do.service.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n move\n \n \n \n \n \n \n \n move(child: AnyBoardDo, targetParent: AnyBoardDo, targetPosition?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do.service.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n targetParent\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n targetPosition\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { AnyBoardDo } from '@shared/domain/domainobject';\nimport { BoardDoRepo } from '../repo';\n\n@Injectable()\nexport class BoardDoService {\n\tconstructor(private readonly boardDoRepo: BoardDoRepo) {}\n\n\tasync deleteWithDescendants(domainObject: AnyBoardDo): Promise {\n\t\tconst parent = await this.boardDoRepo.findParentOfId(domainObject.id);\n\n\t\tif (parent) {\n\t\t\tparent.removeChild(domainObject);\n\t\t\tawait this.boardDoRepo.save(parent.children, parent);\n\t\t}\n\n\t\tawait this.boardDoRepo.delete(domainObject);\n\t}\n\n\tasync move(child: AnyBoardDo, targetParent: AnyBoardDo, targetPosition?: number): Promise {\n\t\tif (targetParent.hasChild(child)) {\n\t\t\ttargetParent.removeChild(child);\n\t\t} else {\n\t\t\tconst sourceParent = await this.boardDoRepo.findParentOfId(child.id);\n\t\t\tif (sourceParent) {\n\t\t\t\tsourceParent.removeChild(child);\n\t\t\t\tawait this.boardDoRepo.save(sourceParent.children, sourceParent);\n\t\t\t}\n\t\t}\n\t\ttargetParent.addChild(child, targetPosition);\n\t\tawait this.boardDoRepo.save(targetParent.children, targetParent);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/BoardElement.html":{"url":"entities/BoardElement.html","title":"entity - BoardElement","body":"\n \n\n\n\n\n\n\n\n Entities\n BoardElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/legacy-board/boardelement.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n boardElementType\n \n \n target\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n boardElementType\n \n \n \n \n \n \n Type : BoardElementType\n\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/legacy-board/boardelement.entity.ts:30\n \n \n\n \n \n name of a collection which is referenced in target\n\n \n \n\n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : BoardElementReference\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/legacy-board/boardelement.entity.ts:26\n \n \n\n \n \n id reference to a collection populated later with name\n\n \n \n\n \n \n\n \n\n\n \n import { Entity, Enum } from '@mikro-orm/core';\nimport { EntityId } from '../../types';\nimport { BaseEntityWithTimestamps } from '../base.entity';\nimport { LessonEntity } from '../lesson.entity';\nimport { Task } from '../task.entity';\nimport { ColumnBoardTarget } from './column-board-target.entity';\n\nexport type BoardElementReference = Task | LessonEntity | ColumnBoardTarget;\n\nexport enum BoardElementType {\n\t'Task' = 'task',\n\t'Lesson' = 'lesson',\n\t'ColumnBoard' = 'columnboard',\n}\n\nexport type BoardElementProps = {\n\ttarget: EntityId | BoardElementReference;\n};\n\n@Entity({\n\tdiscriminatorColumn: 'boardElementType',\n\tabstract: true,\n})\nexport abstract class BoardElement extends BaseEntityWithTimestamps {\n\t/** id reference to a collection populated later with name */\n\ttarget!: BoardElementReference;\n\n\t/** name of a collection which is referenced in target */\n\t@Enum()\n\tboardElementType!: BoardElementType;\n\n\tconstructor(props: BoardElementProps) {\n\t\tsuper();\n\t\tObject.assign(this, { target: props.target });\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardElementResponse.html":{"url":"classes/BoardElementResponse.html","title":"class - BoardElementResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardElementResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/single-column-board/board-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: BoardElementResponse)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-element.response.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n BoardElementResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : BoardTaskResponse | BoardLessonResponse | BoardColumnBoardResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Content of the Board, either: a task or a lesson specific for the board'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-element.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : RoomBoardElementTypes\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'the type of the element in the content. For possible types, please refer to the enum', enum: RoomBoardElementTypes})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-element.response.ts:17\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { RoomBoardElementTypes } from '@modules/learnroom/types';\nimport { BoardColumnBoardResponse } from './board-column-board.response';\nimport { BoardLessonResponse } from './board-lesson.response';\nimport { BoardTaskResponse } from './board-task.response';\n\nexport class BoardElementResponse {\n\tconstructor({ type, content }: BoardElementResponse) {\n\t\tthis.type = type;\n\t\tthis.content = content;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'the type of the element in the content. For possible types, please refer to the enum',\n\t\tenum: RoomBoardElementTypes,\n\t})\n\ttype: RoomBoardElementTypes;\n\n\t@ApiProperty({\n\t\tdescription: 'Content of the Board, either: a task or a lesson specific for the board',\n\t})\n\tcontent: BoardTaskResponse | BoardLessonResponse | BoardColumnBoardResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BoardExternalReference.html":{"url":"interfaces/BoardExternalReference.html","title":"interface - BoardExternalReference","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BoardExternalReference\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/types/board-external-reference.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n type\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: BoardExternalReferenceType\n\n \n \n\n\n \n \n Type : BoardExternalReferenceType\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\n\nexport enum BoardExternalReferenceType {\n\t'Course' = 'course',\n}\n\nexport interface BoardExternalReference {\n\ttype: BoardExternalReferenceType;\n\tid: EntityId;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardLessonResponse.html":{"url":"classes/BoardLessonResponse.html","title":"class - BoardLessonResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardLessonResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/single-column-board/board-lesson.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n courseName\n \n \n \n createdAt\n \n \n \n hidden\n \n \n \n id\n \n \n \n \n name\n \n \n \n \n \n \n Optional\n numberOfDraftTasks\n \n \n \n \n \n \n Optional\n numberOfPlannedTasks\n \n \n \n \n \n numberOfPublishedTasks\n \n \n \n updatedAt\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: BoardLessonResponse)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-lesson.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n BoardLessonResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n courseName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-lesson.response.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-lesson.response.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n \n hidden\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-lesson.response.ts:61\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-lesson.response.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-lesson.response.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n numberOfDraftTasks\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@IsOptional()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-lesson.response.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n numberOfPlannedTasks\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@IsOptional()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-lesson.response.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n numberOfPublishedTasks\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-lesson.response.ts:40\n \n \n\n\n \n \n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-lesson.response.ts:58\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\nimport { IsNumber, IsOptional, Min } from 'class-validator';\n\nexport class BoardLessonResponse {\n\tconstructor({\n\t\tid,\n\t\tname,\n\t\thidden,\n\t\tnumberOfPublishedTasks,\n\t\tnumberOfDraftTasks,\n\t\tnumberOfPlannedTasks,\n\t\tcreatedAt,\n\t\tupdatedAt,\n\t}: BoardLessonResponse) {\n\t\tthis.id = id;\n\t\tthis.name = name;\n\t\tthis.hidden = hidden;\n\t\tthis.createdAt = createdAt;\n\t\tthis.updatedAt = updatedAt;\n\t\tthis.numberOfPublishedTasks = numberOfPublishedTasks;\n\t\tthis.numberOfDraftTasks = numberOfDraftTasks;\n\t\tthis.numberOfPlannedTasks = numberOfPlannedTasks;\n\t}\n\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tname: string;\n\n\t@ApiPropertyOptional()\n\t@DecodeHtmlEntities()\n\tcourseName?: string;\n\n\t@IsNumber()\n\t@Min(0)\n\t@ApiProperty()\n\tnumberOfPublishedTasks: number;\n\n\t@IsNumber()\n\t@Min(0)\n\t@IsOptional()\n\t@ApiProperty()\n\tnumberOfDraftTasks?: number;\n\n\t@IsNumber()\n\t@Min(0)\n\t@IsOptional()\n\t@ApiProperty()\n\tnumberOfPlannedTasks?: number;\n\n\t@ApiProperty()\n\tcreatedAt: Date;\n\n\t@ApiProperty()\n\tupdatedAt: Date;\n\n\t@ApiProperty()\n\thidden: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardManagementConsole.html":{"url":"classes/BoardManagementConsole.html","title":"class - BoardManagementConsole","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardManagementConsole\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/management/console/board-management.console.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n createBoard\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(consoleWriter: ConsoleWriterService, boardManagementUc: BoardManagementUc)\n \n \n \n \n Defined in apps/server/src/modules/management/console/board-management.console.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n consoleWriter\n \n \n ConsoleWriterService\n \n \n \n No\n \n \n \n \n boardManagementUc\n \n \n BoardManagementUc\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n createBoard\n \n \n \n \n \n \n \n createBoard(courseId: string)\n \n \n\n \n \n Decorators : \n \n @Command({command: 'create-board [courseId]', description: 'create a multi-column-board'})\n \n \n\n \n \n Defined in apps/server/src/modules/management/console/board-management.console.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n courseId\n \n string\n \n\n \n No\n \n\n \n ''\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ConsoleWriterService } from '@infra/console';\nimport { ObjectId } from 'bson';\nimport { Command, Console } from 'nestjs-console';\nimport { BoardManagementUc } from '../uc/board-management.uc';\n\n@Console({ command: 'board', description: 'board setup console' })\nexport class BoardManagementConsole {\n\tconstructor(private consoleWriter: ConsoleWriterService, private boardManagementUc: BoardManagementUc) {}\n\n\t@Command({\n\t\tcommand: 'create-board [courseId]',\n\t\tdescription: 'create a multi-column-board',\n\t})\n\tasync createBoard(courseId = ''): Promise {\n\t\tif (!ObjectId.isValid(courseId)) {\n\t\t\tthis.consoleWriter.info('Error: please provide a valid courseId this board should be assigned to.');\n\t\t\treturn;\n\t\t}\n\n\t\tconst boardId = await this.boardManagementUc.createBoard(courseId);\n\t\tif (boardId) {\n\t\t\tthis.consoleWriter.info(`Success: board creation is completed! The new boardId is \"${boardId ?? ''}\"`);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BoardManagementUc.html":{"url":"injectables/BoardManagementUc.html","title":"injectable - BoardManagementUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BoardManagementUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/management/uc/board-management.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createBoard\n \n \n Private\n createCards\n \n \n Private\n createColumns\n \n \n Private\n createElements\n \n \n Private\n Async\n doesCourseExist\n \n \n Private\n generateArray\n \n \n Private\n random\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(consoleWriter: ConsoleWriterService, em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/management/uc/board-management.uc.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n consoleWriter\n \n \n ConsoleWriterService\n \n \n \n No\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createBoard\n \n \n \n \n \n \n \n createBoard(courseId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/management/uc/board-management.uc.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createCards\n \n \n \n \n \n \n \n createCards(amount: number, parent: BoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/management/uc/board-management.uc.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n amount\n \n number\n \n\n \n No\n \n\n\n \n \n parent\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BoardNode[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createColumns\n \n \n \n \n \n \n \n createColumns(amount: number, parent: BoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/management/uc/board-management.uc.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n amount\n \n number\n \n\n \n No\n \n\n\n \n \n parent\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BoardNode[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createElements\n \n \n \n \n \n \n \n createElements(amount: number, parent: BoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/management/uc/board-management.uc.ts:62\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n amount\n \n number\n \n\n \n No\n \n\n\n \n \n parent\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BoardNode[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n doesCourseExist\n \n \n \n \n \n \n \n doesCourseExist(courseId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/management/uc/board-management.uc.ts:81\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n \n ''\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n generateArray\n \n \n \n \n \n \n \n generateArray(length: number, fn: (i: number) => void)\n \n \n\n\n \n \n Defined in apps/server/src/modules/management/uc/board-management.uc.ts:73\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n length\n \n number\n \n\n \n No\n \n\n\n \n \n fn\n \n function\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n random\n \n \n \n \n \n \n \n random(min: number, max: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/management/uc/board-management.uc.ts:77\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n min\n \n number\n \n\n \n No\n \n\n\n \n \n max\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : number\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ConsoleWriterService } from '@infra/console';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { BoardExternalReferenceType } from '@shared/domain/domainobject';\nimport { BoardNode, Course } from '@shared/domain/entity';\nimport { EntityId, InputFormat } from '@shared/domain/types';\nimport {\n\tcardNodeFactory,\n\tcolumnBoardNodeFactory,\n\tcolumnNodeFactory,\n\trichTextElementNodeFactory,\n} from '@shared/testing';\n\n@Injectable()\nexport class BoardManagementUc {\n\tconstructor(private consoleWriter: ConsoleWriterService, private em: EntityManager) {}\n\n\tasync createBoard(courseId: EntityId): Promise {\n\t\tif (!(await this.doesCourseExist(courseId))) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst context = { type: BoardExternalReferenceType.Course, id: courseId };\n\t\tconst board = columnBoardNodeFactory.build({ context });\n\t\tawait this.em.persistAndFlush(board);\n\n\t\tconst columns = this.createColumns(3, board);\n\t\tawait this.em.persistAndFlush(columns);\n\n\t\tconst cardsPerColumn = columns.map((column) => this.createCards(this.random(1, 3), column));\n\t\tconst cards = cardsPerColumn.flat();\n\t\tawait this.em.persistAndFlush(cards);\n\n\t\tconst elementsPerCard = cards.map((card) => this.createElements(1, card));\n\t\tconst elements = elementsPerCard.flat();\n\t\tawait this.em.persistAndFlush(elements);\n\n\t\treturn board.id;\n\t}\n\n\tprivate createColumns(amount: number, parent: BoardNode): BoardNode[] {\n\t\treturn this.generateArray(amount, (i) =>\n\t\t\tcolumnNodeFactory.build({\n\t\t\t\tparent,\n\t\t\t\ttitle: `Column ${i + 1}`,\n\t\t\t\tposition: i,\n\t\t\t})\n\t\t);\n\t}\n\n\tprivate createCards(amount: number, parent: BoardNode): BoardNode[] {\n\t\treturn this.generateArray(amount, (i) =>\n\t\t\tcardNodeFactory.build({\n\t\t\t\tparent,\n\t\t\t\ttitle: `Card ${i + 1}`,\n\t\t\t\theight: this.random(50, 250),\n\t\t\t\tposition: i,\n\t\t\t})\n\t\t);\n\t}\n\n\tprivate createElements(amount: number, parent: BoardNode): BoardNode[] {\n\t\treturn this.generateArray(amount, (i) =>\n\t\t\trichTextElementNodeFactory.build({\n\t\t\t\tparent,\n\t\t\t\ttext: `Text ${i + 1}`,\n\t\t\t\tinputFormat: InputFormat.RICH_TEXT_CK5,\n\t\t\t\tposition: i,\n\t\t\t})\n\t\t);\n\t}\n\n\tprivate generateArray(length: number, fn: (i: number) => T) {\n\t\treturn [...Array(length).keys()].map((_, i) => fn(i));\n\t}\n\n\tprivate random(min: number, max: number): number {\n\t\treturn Math.floor(Math.random() * (max + min - 1) + min);\n\t}\n\n\tprivate async doesCourseExist(courseId: EntityId = ''): Promise {\n\t\ttry {\n\t\t\tawait this.em.findOneOrFail(Course, courseId);\n\t\t\treturn true;\n\t\t} catch (err) {\n\t\t\tthis.consoleWriter.info(`Error: course does not exist (courseId: \"${courseId}\")`);\n\t\t}\n\t\treturn false;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/BoardModule.html":{"url":"modules/BoardModule.html","title":"module - BoardModule","body":"\n \n\n\n\n\n Modules\n BoardModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_BoardModule\n\n\n\ncluster_BoardModule_providers\n\n\n\ncluster_BoardModule_imports\n\n\n\ncluster_BoardModule_exports\n\n\n\n\nConsoleWriterModule\n\nConsoleWriterModule\n\n\n\nBoardModule\n\nBoardModule\n\nBoardModule -->\n\nConsoleWriterModule->BoardModule\n\n\n\n\n\nContextExternalToolModule\n\nContextExternalToolModule\n\nBoardModule -->\n\nContextExternalToolModule->BoardModule\n\n\n\n\n\nFilesStorageClientModule\n\nFilesStorageClientModule\n\nBoardModule -->\n\nFilesStorageClientModule->BoardModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nBoardModule -->\n\nLoggerModule->BoardModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nBoardModule -->\n\nUserModule->BoardModule\n\n\n\n\n\nBoardDoAuthorizableService \n\nBoardDoAuthorizableService \n\nBoardDoAuthorizableService -->\n\nBoardModule->BoardDoAuthorizableService \n\n\n\n\n\nCardService \n\nCardService \n\nCardService -->\n\nBoardModule->CardService \n\n\n\n\n\nColumnBoardCopyService \n\nColumnBoardCopyService \n\nColumnBoardCopyService -->\n\nBoardModule->ColumnBoardCopyService \n\n\n\n\n\nColumnBoardService \n\nColumnBoardService \n\nColumnBoardService -->\n\nBoardModule->ColumnBoardService \n\n\n\n\n\nColumnService \n\nColumnService \n\nColumnService -->\n\nBoardModule->ColumnService \n\n\n\n\n\nContentElementService \n\nContentElementService \n\nContentElementService -->\n\nBoardModule->ContentElementService \n\n\n\n\n\nSubmissionItemService \n\nSubmissionItemService \n\nSubmissionItemService -->\n\nBoardModule->SubmissionItemService \n\n\n\n\n\nBoardDoAuthorizableService\n\nBoardDoAuthorizableService\n\nBoardModule -->\n\nBoardDoAuthorizableService->BoardModule\n\n\n\n\n\nBoardDoCopyService\n\nBoardDoCopyService\n\nBoardModule -->\n\nBoardDoCopyService->BoardModule\n\n\n\n\n\nBoardDoRepo\n\nBoardDoRepo\n\nBoardModule -->\n\nBoardDoRepo->BoardModule\n\n\n\n\n\nBoardDoService\n\nBoardDoService\n\nBoardModule -->\n\nBoardDoService->BoardModule\n\n\n\n\n\nBoardNodeRepo\n\nBoardNodeRepo\n\nBoardModule -->\n\nBoardNodeRepo->BoardModule\n\n\n\n\n\nCardService\n\nCardService\n\nBoardModule -->\n\nCardService->BoardModule\n\n\n\n\n\nColumnBoardCopyService\n\nColumnBoardCopyService\n\nBoardModule -->\n\nColumnBoardCopyService->BoardModule\n\n\n\n\n\nColumnBoardService\n\nColumnBoardService\n\nBoardModule -->\n\nColumnBoardService->BoardModule\n\n\n\n\n\nColumnService\n\nColumnService\n\nBoardModule -->\n\nColumnService->BoardModule\n\n\n\n\n\nContentElementFactory\n\nContentElementFactory\n\nBoardModule -->\n\nContentElementFactory->BoardModule\n\n\n\n\n\nContentElementService\n\nContentElementService\n\nBoardModule -->\n\nContentElementService->BoardModule\n\n\n\n\n\nCourseRepo\n\nCourseRepo\n\nBoardModule -->\n\nCourseRepo->BoardModule\n\n\n\n\n\nDrawingElementAdapterService\n\nDrawingElementAdapterService\n\nBoardModule -->\n\nDrawingElementAdapterService->BoardModule\n\n\n\n\n\nRecursiveDeleteVisitor\n\nRecursiveDeleteVisitor\n\nBoardModule -->\n\nRecursiveDeleteVisitor->BoardModule\n\n\n\n\n\nSchoolSpecificFileCopyServiceFactory\n\nSchoolSpecificFileCopyServiceFactory\n\nBoardModule -->\n\nSchoolSpecificFileCopyServiceFactory->BoardModule\n\n\n\n\n\nSubmissionItemService\n\nSubmissionItemService\n\nBoardModule -->\n\nSubmissionItemService->BoardModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/board/board.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n BoardDoAuthorizableService\n \n \n BoardDoCopyService\n \n \n BoardDoRepo\n \n \n BoardDoService\n \n \n BoardNodeRepo\n \n \n CardService\n \n \n ColumnBoardCopyService\n \n \n ColumnBoardService\n \n \n ColumnService\n \n \n ContentElementFactory\n \n \n ContentElementService\n \n \n CourseRepo\n \n \n DrawingElementAdapterService\n \n \n RecursiveDeleteVisitor\n \n \n SchoolSpecificFileCopyServiceFactory\n \n \n SubmissionItemService\n \n \n \n \n Imports\n \n \n ConsoleWriterModule\n \n \n ContextExternalToolModule\n \n \n FilesStorageClientModule\n \n \n LoggerModule\n \n \n UserModule\n \n \n \n \n Exports\n \n \n BoardDoAuthorizableService\n \n \n CardService\n \n \n ColumnBoardCopyService\n \n \n ColumnBoardService\n \n \n ColumnService\n \n \n ContentElementService\n \n \n SubmissionItemService\n \n \n \n \n \n\n\n \n\n\n \n import { ConsoleWriterModule } from '@infra/console';\nimport { FilesStorageClientModule } from '@modules/files-storage-client';\nimport { ContextExternalToolModule } from '@modules/tool/context-external-tool';\nimport { UserModule } from '@modules/user';\nimport { Module } from '@nestjs/common';\nimport { ContentElementFactory } from '@shared/domain/domainobject';\nimport { CourseRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { DrawingElementAdapterService } from '@modules/tldraw-client/service/drawing-element-adapter.service';\nimport { HttpModule } from '@nestjs/axios';\nimport { BoardDoRepo, BoardNodeRepo, RecursiveDeleteVisitor } from './repo';\nimport {\n\tBoardDoAuthorizableService,\n\tBoardDoService,\n\tCardService,\n\tColumnBoardService,\n\tColumnService,\n\tContentElementService,\n\tSubmissionItemService,\n} from './service';\nimport { BoardDoCopyService, SchoolSpecificFileCopyServiceFactory } from './service/board-do-copy-service';\nimport { ColumnBoardCopyService } from './service/column-board-copy.service';\n\n@Module({\n\timports: [\n\t\tConsoleWriterModule,\n\t\tFilesStorageClientModule,\n\t\tLoggerModule,\n\t\tUserModule,\n\t\tContextExternalToolModule,\n\t\tHttpModule,\n\t],\n\tproviders: [\n\t\tBoardDoAuthorizableService,\n\t\tBoardDoRepo,\n\t\tBoardDoService,\n\t\tBoardNodeRepo,\n\t\tCardService,\n\t\tColumnBoardService,\n\t\tColumnService,\n\t\tContentElementService,\n\t\tContentElementFactory,\n\t\tCourseRepo, // TODO: import learnroom module instead. This is currently not possible due to dependency cycle with authorisation service\n\t\tRecursiveDeleteVisitor,\n\t\tSubmissionItemService,\n\t\tBoardDoCopyService,\n\t\tColumnBoardCopyService,\n\t\tSchoolSpecificFileCopyServiceFactory,\n\t\tDrawingElementAdapterService,\n\t],\n\texports: [\n\t\tBoardDoAuthorizableService,\n\t\tCardService,\n\t\tColumnBoardService,\n\t\tColumnService,\n\t\tContentElementService,\n\t\tSubmissionItemService,\n\t\tColumnBoardCopyService,\n\t],\n})\nexport class BoardModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/BoardNode.html":{"url":"entities/BoardNode.html","title":"entity - BoardNode","body":"\n \n\n\n\n\n\n\n\n Entities\n BoardNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n level\n \n \n \n \n path\n \n \n \n position\n \n \n \n Optional\n title\n \n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n level\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n path\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Index()@Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n position\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : BoardNodeType\n\n \n \n \n \n Decorators : \n \n \n @Index()@Enum(undefined)\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:39\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { AnyBoardDo } from '../../domainobject';\nimport { EntityId } from '../../types';\nimport { BaseEntityWithTimestamps } from '../base.entity';\nimport { BoardDoBuilder } from './types';\nimport { BoardNodeType } from './types/board-node-type';\n\nconst PATH_SEPARATOR = ',';\n\n@Entity({ tableName: 'boardnodes', discriminatorColumn: 'type' })\nexport abstract class BoardNode extends BaseEntityWithTimestamps {\n\tconstructor(props: BoardNodeProps) {\n\t\tsuper();\n\t\tif (props.parent && props.parent.id == null) {\n\t\t\tthrow new InternalServerErrorException('Cannot create board node with a parent having no id');\n\t\t}\n\t\tif (props.id != null) {\n\t\t\tthis.id = props.id;\n\t\t}\n\t\tthis.path = props.parent ? BoardNode.joinPath(props.parent.path, props.parent.id) : PATH_SEPARATOR;\n\t\tthis.level = props.parent ? props.parent.level + 1 : 0;\n\t\tthis.position = props.position ?? 0;\n\t\tthis.title = props.title;\n\t}\n\n\t@Index()\n\t@Property({ nullable: false })\n\tpath: string;\n\n\t@Property({ nullable: false })\n\tlevel: number;\n\n\t@Property({ nullable: false })\n\tposition: number;\n\n\t@Index()\n\t@Enum(() => BoardNodeType)\n\ttype!: BoardNodeType;\n\n\t@Property({ nullable: true })\n\ttitle?: string;\n\n\tget parentId(): EntityId | undefined {\n\t\tconst parentId = this.hasParent() ? this.ancestorIds[this.ancestorIds.length - 1] : undefined;\n\t\treturn parentId;\n\t}\n\n\tget ancestorIds(): EntityId[] {\n\t\tconst parentIds = this.path.split(PATH_SEPARATOR).filter((id) => id !== '');\n\t\treturn parentIds;\n\t}\n\n\tget pathOfChildren(): string {\n\t\treturn BoardNode.joinPath(this.path, this.id);\n\t}\n\n\thasParent() {\n\t\treturn this.ancestorIds.length > 0;\n\t}\n\n\tabstract useDoBuilder(builder: BoardDoBuilder): AnyBoardDo;\n\n\tstatic joinPath(path: string, id: EntityId) {\n\t\treturn `${path}${id}${PATH_SEPARATOR}`;\n\t}\n}\n\nexport interface BoardNodeProps {\n\tid?: EntityId;\n\tparent?: BoardNode;\n\tposition?: number;\n\ttitle?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BoardNodeProps.html":{"url":"interfaces/BoardNodeProps.html","title":"interface - BoardNodeProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BoardNodeProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n id\n \n \n \n Optional\n \n parent\n \n \n \n Optional\n \n position\n \n \n \n Optional\n \n title\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n parent\n \n \n \n \n \n \n \n \n parent: BoardNode\n\n \n \n\n\n \n \n Type : BoardNode\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n position\n \n \n \n \n \n \n \n \n position: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { AnyBoardDo } from '../../domainobject';\nimport { EntityId } from '../../types';\nimport { BaseEntityWithTimestamps } from '../base.entity';\nimport { BoardDoBuilder } from './types';\nimport { BoardNodeType } from './types/board-node-type';\n\nconst PATH_SEPARATOR = ',';\n\n@Entity({ tableName: 'boardnodes', discriminatorColumn: 'type' })\nexport abstract class BoardNode extends BaseEntityWithTimestamps {\n\tconstructor(props: BoardNodeProps) {\n\t\tsuper();\n\t\tif (props.parent && props.parent.id == null) {\n\t\t\tthrow new InternalServerErrorException('Cannot create board node with a parent having no id');\n\t\t}\n\t\tif (props.id != null) {\n\t\t\tthis.id = props.id;\n\t\t}\n\t\tthis.path = props.parent ? BoardNode.joinPath(props.parent.path, props.parent.id) : PATH_SEPARATOR;\n\t\tthis.level = props.parent ? props.parent.level + 1 : 0;\n\t\tthis.position = props.position ?? 0;\n\t\tthis.title = props.title;\n\t}\n\n\t@Index()\n\t@Property({ nullable: false })\n\tpath: string;\n\n\t@Property({ nullable: false })\n\tlevel: number;\n\n\t@Property({ nullable: false })\n\tposition: number;\n\n\t@Index()\n\t@Enum(() => BoardNodeType)\n\ttype!: BoardNodeType;\n\n\t@Property({ nullable: true })\n\ttitle?: string;\n\n\tget parentId(): EntityId | undefined {\n\t\tconst parentId = this.hasParent() ? this.ancestorIds[this.ancestorIds.length - 1] : undefined;\n\t\treturn parentId;\n\t}\n\n\tget ancestorIds(): EntityId[] {\n\t\tconst parentIds = this.path.split(PATH_SEPARATOR).filter((id) => id !== '');\n\t\treturn parentIds;\n\t}\n\n\tget pathOfChildren(): string {\n\t\treturn BoardNode.joinPath(this.path, this.id);\n\t}\n\n\thasParent() {\n\t\treturn this.ancestorIds.length > 0;\n\t}\n\n\tabstract useDoBuilder(builder: BoardDoBuilder): AnyBoardDo;\n\n\tstatic joinPath(path: string, id: EntityId) {\n\t\treturn `${path}${id}${PATH_SEPARATOR}`;\n\t}\n}\n\nexport interface BoardNodeProps {\n\tid?: EntityId;\n\tparent?: BoardNode;\n\tposition?: number;\n\ttitle?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BoardNodeRepo.html":{"url":"injectables/BoardNodeRepo.html","title":"injectable - BoardNodeRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BoardNodeRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/repo/board-node.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findById\n \n \n Async\n findDescendants\n \n \n Async\n findDescendantsOfMany\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/board/repo/board-node.repo.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-node.repo.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findDescendants\n \n \n \n \n \n \n \n findDescendants(node: BoardNode, depth?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-node.repo.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n node\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n depth\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findDescendantsOfMany\n \n \n \n \n \n \n \n findDescendantsOfMany(nodes: BoardNode[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-node.repo.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n nodes\n \n BoardNode[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { BoardNode } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\n\n@Injectable()\nexport class BoardNodeRepo {\n\tconstructor(private readonly em: EntityManager) {}\n\n\tasync findById(id: EntityId): Promise {\n\t\tlet entity = this.em.getUnitOfWork().getById(BoardNode.name, id);\n\t\tif (entity) {\n\t\t\treturn entity;\n\t\t}\n\n\t\tentity = await this.em.findOneOrFail(BoardNode, id);\n\t\treturn entity;\n\t}\n\n\tasync findDescendants(node: BoardNode, depth?: number): Promise {\n\t\tconst levelQuery = depth !== undefined ? { $gt: node.level, $lte: node.level + depth } : { $gt: node.level };\n\n\t\tconst descendants = await this.em.find(BoardNode, {\n\t\t\tpath: { $re: `^${node.pathOfChildren}` },\n\t\t\tlevel: levelQuery,\n\t\t});\n\n\t\treturn descendants;\n\t}\n\n\tasync findDescendantsOfMany(nodes: BoardNode[]): Promise> {\n\t\tconst pathQueries = nodes.map((node) => {\n\t\t\treturn { path: { $re: `^${node.pathOfChildren}` } };\n\t\t});\n\n\t\tconst map: Record = {};\n\t\tif (pathQueries.length === 0) {\n\t\t\treturn map;\n\t\t}\n\n\t\tconst descendants = await this.em.find(BoardNode, {\n\t\t\t$or: pathQueries,\n\t\t});\n\n\t\t// this is for finding tha ancestors of a descendant\n\t\t// we use this to group the descendants by ancestor\n\t\t// TODO we probably need a more efficient way to do the grouping\n\t\tconst matchAncestors = (descendant: BoardNode): BoardNode[] => {\n\t\t\tconst result = nodes.filter((n) => descendant.path.match(`^${n.pathOfChildren}`));\n\t\t\treturn result;\n\t\t};\n\n\t\tfor (const desc of descendants) {\n\t\t\tconst ancestorNodes = matchAncestors(desc);\n\t\t\tancestorNodes.forEach((node) => {\n\t\t\t\tmap[node.pathOfChildren] ||= [];\n\t\t\t\tmap[node.pathOfChildren].push(desc);\n\t\t\t});\n\t\t}\n\t\treturn map;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BoardRepo.html":{"url":"injectables/BoardRepo.html","title":"injectable - BoardRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BoardRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/board/board.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n createBoardForCourse\n \n \n Async\n findByCourseId\n \n \n Async\n findById\n \n \n Private\n Async\n getOrCreateCourseBoard\n \n \n Private\n Async\n populateBoard\n \n \n create\n \n \n Async\n delete\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n createBoardForCourse\n \n \n \n \n \n \n \n createBoardForCourse(courseId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/board/board.repo.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByCourseId\n \n \n \n \n \n \n \n findByCourseId(courseId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/board/board.repo.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:33\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getOrCreateCourseBoard\n \n \n \n \n \n \n \n getOrCreateCourseBoard(courseId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/board/board.repo.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n populateBoard\n \n \n \n \n \n \n \n populateBoard(board: Board)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/board/board.repo.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n board\n \n Board\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/board/board.repo.ts:8\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Board, ColumnboardBoardElement, Course, LessonBoardElement, TaskBoardElement } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '../base.repo';\n\n@Injectable()\nexport class BoardRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn Board;\n\t}\n\n\tasync findByCourseId(courseId: EntityId): Promise {\n\t\tconst board = await this.getOrCreateCourseBoard(courseId);\n\t\tawait this.populateBoard(board);\n\t\treturn board;\n\t}\n\n\tprivate async getOrCreateCourseBoard(courseId: EntityId): Promise {\n\t\tlet board = await this._em.findOne(Board, { course: courseId });\n\t\tif (!board) {\n\t\t\tboard = await this.createBoardForCourse(courseId);\n\t\t}\n\t\treturn board;\n\t}\n\n\tprivate async createBoardForCourse(courseId: EntityId): Promise {\n\t\tconst course = await this._em.findOneOrFail(Course, courseId);\n\t\tconst board = new Board({ course, references: [] });\n\t\tawait this._em.persistAndFlush(board);\n\t\treturn board;\n\t}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst board = await this._em.findOneOrFail(Board, { id });\n\t\tawait this.populateBoard(board);\n\t\treturn board;\n\t}\n\n\tprivate async populateBoard(board: Board) {\n\t\tawait board.references.init();\n\t\tconst elements = board.references.getItems();\n\t\tconst taskElements = elements.filter((el) => el instanceof TaskBoardElement);\n\t\tawait this._em.populate(taskElements, ['target']);\n\t\tconst lessonElements = elements.filter((el) => el instanceof LessonBoardElement);\n\t\tawait this._em.populate(lessonElements, ['target']);\n\t\tconst columnBoardElements = elements.filter((el) => el instanceof ColumnboardBoardElement);\n\t\tawait this._em.populate(columnBoardElements, ['target']);\n\t\treturn board;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardResponse.html":{"url":"classes/BoardResponse.html","title":"class - BoardResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/board/board.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n columns\n \n \n \n id\n \n \n \n timestamps\n \n \n \n \n Optional\n title\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: BoardResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/board.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n BoardResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n columns\n \n \n \n \n \n \n Type : ColumnResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/board.response.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/board.response.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n timestamps\n \n \n \n \n \n \n Type : TimestampsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/board.response.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/board.response.ts:21\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\nimport { ColumnResponse } from './column.response';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class BoardResponse {\n\tconstructor({ id, title, columns, timestamps }: BoardResponse) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.columns = columns;\n\t\tthis.timestamps = timestamps;\n\t}\n\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\ttitle?: string;\n\n\t@ApiProperty({\n\t\ttype: [ColumnResponse],\n\t})\n\tcolumns: ColumnResponse[];\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardResponseMapper.html":{"url":"classes/BoardResponseMapper.html","title":"class - BoardResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/board-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(board: ColumnBoard)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/board-response.mapper.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n board\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BoardResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpException, HttpStatus } from '@nestjs/common';\nimport { Column, ColumnBoard } from '@shared/domain/domainobject';\nimport { BoardResponse, TimestampsResponse } from '../dto';\nimport { ColumnResponseMapper } from './column-response.mapper';\n\nexport class BoardResponseMapper {\n\tstatic mapToResponse(board: ColumnBoard): BoardResponse {\n\t\tconst result = new BoardResponse({\n\t\t\tid: board.id,\n\t\t\ttitle: board.title,\n\t\t\tcolumns: board.children.map((column) => {\n\t\t\t\t/* istanbul ignore next */\n\t\t\t\tif (!(column instanceof Column)) {\n\t\t\t\t\tthrow new HttpException(\n\t\t\t\t\t\t`unsupported child type: ${column.constructor.name}`,\n\t\t\t\t\t\tHttpStatus.UNPROCESSABLE_ENTITY\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn ColumnResponseMapper.mapToResponse(column);\n\t\t\t}),\n\t\t\ttimestamps: new TimestampsResponse({ lastUpdatedAt: board.updatedAt, createdAt: board.createdAt }),\n\t\t});\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/BoardSubmissionController.html":{"url":"controllers/BoardSubmissionController.html","title":"controller - BoardSubmissionController","body":"\n \n\n\n\n\n\n\n Controllers\n BoardSubmissionController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/board-submission.controller.ts\n \n\n \n Prefix\n \n \n board-submissions\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createElement\n \n \n \n \n \n \n \n Async\n getSubmissionItems\n \n \n \n \n \n \n \n \n \n Async\n updateSubmissionItem\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createElement\n \n \n \n \n \n \n \n createElement(urlParams: SubmissionItemUrlParams, bodyParams: CreateContentElementBodyParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Create a new element in a submission item.'})@ApiExtraModels(RichTextElementResponse, FileElementResponse)@ApiResponse({status: 201, schema: undefined})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@Post(':submissionItemId/elements')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/board-submission.controller.ts:89\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n SubmissionItemUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n CreateContentElementBodyParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getSubmissionItems\n \n \n \n \n \n \n \n getSubmissionItems(currentUser: ICurrentUser, urlParams: SubmissionContainerUrlParams)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Get a list of submission items by their parent container.'})@ApiResponse({status: 200, type: SubmissionsResponse})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@Get(':submissionContainerId')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/board-submission.controller.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n urlParams\n \n SubmissionContainerUrlParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateSubmissionItem\n \n \n \n \n \n \n \n updateSubmissionItem(currentUser: ICurrentUser, urlParams: SubmissionItemUrlParams, bodyParams: UpdateSubmissionItemBodyParams)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Update a single submission item.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Patch(':submissionItemId')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/board-submission.controller.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n urlParams\n \n SubmissionItemUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n UpdateSubmissionItemBodyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport {\n\tBody,\n\tController,\n\tForbiddenException,\n\tGet,\n\tHttpCode,\n\tNotFoundException,\n\tParam,\n\tPatch,\n\tPost,\n} from '@nestjs/common';\nimport { ApiExtraModels, ApiOperation, ApiResponse, ApiTags, getSchemaPath } from '@nestjs/swagger';\nimport { ApiValidationError } from '@shared/common';\nimport { CardUc } from '../uc';\nimport { ElementUc } from '../uc/element.uc';\nimport { SubmissionItemUc } from '../uc/submission-item.uc';\nimport {\n\tCreateContentElementBodyParams,\n\tFileElementResponse,\n\tRichTextElementResponse,\n\tSubmissionContainerUrlParams,\n\tSubmissionItemUrlParams,\n\tUpdateSubmissionItemBodyParams,\n} from './dto';\nimport { SubmissionsResponse } from './dto/submission-item/submissions.response';\nimport { ContentElementResponseFactory, SubmissionItemResponseMapper } from './mapper';\n\n@ApiTags('Board Submission')\n@Authenticate('jwt')\n@Controller('board-submissions')\nexport class BoardSubmissionController {\n\tconstructor(\n\t\tprivate readonly cardUc: CardUc,\n\t\tprivate readonly elementUc: ElementUc,\n\t\tprivate readonly submissionItemUc: SubmissionItemUc\n\t) {}\n\n\t@ApiOperation({ summary: 'Get a list of submission items by their parent container.' })\n\t@ApiResponse({ status: 200, type: SubmissionsResponse })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@Get(':submissionContainerId')\n\tasync getSubmissionItems(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() urlParams: SubmissionContainerUrlParams\n\t): Promise {\n\t\tconst { submissionItems, users } = await this.submissionItemUc.findSubmissionItems(\n\t\t\tcurrentUser.userId,\n\t\t\turlParams.submissionContainerId\n\t\t);\n\t\tconst mapper = SubmissionItemResponseMapper.getInstance();\n\t\tconst response = mapper.mapToResponse(submissionItems, users);\n\n\t\treturn response;\n\t}\n\n\t@ApiOperation({ summary: 'Update a single submission item.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Patch(':submissionItemId')\n\tasync updateSubmissionItem(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() urlParams: SubmissionItemUrlParams,\n\t\t@Body() bodyParams: UpdateSubmissionItemBodyParams\n\t) {\n\t\tawait this.submissionItemUc.updateSubmissionItem(\n\t\t\tcurrentUser.userId,\n\t\t\turlParams.submissionItemId,\n\t\t\tbodyParams.completed\n\t\t);\n\t}\n\n\t@ApiOperation({ summary: 'Create a new element in a submission item.' })\n\t@ApiExtraModels(RichTextElementResponse, FileElementResponse)\n\t@ApiResponse({\n\t\tstatus: 201,\n\t\tschema: {\n\t\t\toneOf: [{ $ref: getSchemaPath(RichTextElementResponse) }, { $ref: getSchemaPath(FileElementResponse) }],\n\t\t},\n\t})\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@Post(':submissionItemId/elements')\n\tasync createElement(\n\t\t@Param() urlParams: SubmissionItemUrlParams,\n\t\t@Body() bodyParams: CreateContentElementBodyParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst { type } = bodyParams;\n\t\tconst element = await this.submissionItemUc.createElement(currentUser.userId, urlParams.submissionItemId, type);\n\t\tconst response = ContentElementResponseFactory.mapSubmissionContentToResponse(element);\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardTaskResponse.html":{"url":"classes/BoardTaskResponse.html","title":"class - BoardTaskResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardTaskResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n availableDate\n \n \n \n \n Optional\n courseName\n \n \n \n createdAt\n \n \n \n \n Optional\n description\n \n \n \n Optional\n displayColor\n \n \n \n Optional\n dueDate\n \n \n \n id\n \n \n \n \n name\n \n \n \n status\n \n \n \n updatedAt\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: BoardTaskResponse)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n BoardTaskResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n availableDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n courseName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n displayColor\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n dueDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : BoardTaskStatusResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts:45\n \n \n\n\n \n \n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts:42\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\nimport { BoardTaskStatusResponse } from './board-task-status.response';\n\nexport class BoardTaskResponse {\n\tconstructor({ id, name, createdAt, updatedAt, status }: BoardTaskResponse) {\n\t\tthis.id = id;\n\t\tthis.name = name;\n\t\tthis.createdAt = createdAt;\n\t\tthis.updatedAt = updatedAt;\n\t\tthis.status = status;\n\t}\n\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tname: string;\n\n\t@ApiPropertyOptional()\n\tavailableDate?: Date;\n\n\t@ApiPropertyOptional()\n\tdueDate?: Date;\n\n\t@ApiPropertyOptional()\n\t@DecodeHtmlEntities()\n\tcourseName?: string;\n\n\t@ApiPropertyOptional()\n\t@DecodeHtmlEntities()\n\tdescription?: string;\n\n\t@ApiPropertyOptional()\n\tdisplayColor?: string;\n\n\t@ApiProperty()\n\tcreatedAt: Date;\n\n\t@ApiProperty()\n\tupdatedAt: Date;\n\n\t@ApiProperty()\n\tstatus: BoardTaskStatusResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardTaskStatusMapper.html":{"url":"classes/BoardTaskStatusMapper.html","title":"class - BoardTaskStatusMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardTaskStatusMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/mapper/board-taskStatus.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(status: TaskStatus)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/mapper/board-taskStatus.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n status\n \n TaskStatus\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BoardTaskStatusResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { TaskStatus } from '@shared/domain/types';\nimport { BoardTaskStatusResponse } from '../controller/dto';\n\nexport class BoardTaskStatusMapper {\n\tstatic mapToResponse(status: TaskStatus): BoardTaskStatusResponse {\n\t\tconst dto = new BoardTaskStatusResponse(status);\n\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardTaskStatusResponse.html":{"url":"classes/BoardTaskStatusResponse.html","title":"class - BoardTaskStatusResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardTaskStatusResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task-status.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n graded\n \n \n \n isDraft\n \n \n \n isFinished\n \n \n \n isSubstitutionTeacher\n \n \n \n maxSubmissions\n \n \n \n submitted\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: BoardTaskStatusResponse)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task-status.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n BoardTaskStatusResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n graded\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task-status.response.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n isDraft\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task-status.response.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n isFinished\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task-status.response.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n isSubstitutionTeacher\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task-status.response.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n maxSubmissions\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task-status.response.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n submitted\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task-status.response.ts:21\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class BoardTaskStatusResponse {\n\tconstructor({\n\t\tsubmitted,\n\t\tmaxSubmissions,\n\t\tgraded,\n\t\tisDraft,\n\t\tisSubstitutionTeacher,\n\t\tisFinished,\n\t}: BoardTaskStatusResponse) {\n\t\tthis.submitted = submitted;\n\t\tthis.maxSubmissions = maxSubmissions;\n\t\tthis.graded = graded;\n\t\tthis.isDraft = isDraft;\n\t\tthis.isSubstitutionTeacher = isSubstitutionTeacher;\n\t\tthis.isFinished = isFinished;\n\t}\n\n\t@ApiProperty()\n\tsubmitted: number;\n\n\t@ApiProperty()\n\tmaxSubmissions: number;\n\n\t@ApiProperty()\n\tgraded: number;\n\n\t@ApiProperty()\n\tisDraft: boolean;\n\n\t@ApiProperty()\n\tisSubstitutionTeacher: boolean;\n\n\t@ApiProperty()\n\tisFinished: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BoardUc.html":{"url":"injectables/BoardUc.html","title":"injectable - BoardUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BoardUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/uc/board.uc.ts\n \n\n\n\n \n Extends\n \n \n BaseUc\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createColumn\n \n \n Async\n deleteBoard\n \n \n Async\n findBoard\n \n \n Async\n findBoardContext\n \n \n Async\n moveColumn\n \n \n Async\n updateBoardTitle\n \n \n Protected\n Async\n checkPermission\n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationService: AuthorizationService, boardDoAuthorizableService: BoardDoAuthorizableService, cardService: CardService, columnBoardService: ColumnBoardService, columnService: ColumnService, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/board/uc/board.uc.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n boardDoAuthorizableService\n \n \n BoardDoAuthorizableService\n \n \n \n No\n \n \n \n \n cardService\n \n \n CardService\n \n \n \n No\n \n \n \n \n columnBoardService\n \n \n ColumnBoardService\n \n \n \n No\n \n \n \n \n columnService\n \n \n ColumnService\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createColumn\n \n \n \n \n \n \n \n createColumn(userId: EntityId, boardId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/board.uc.ts:62\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteBoard\n \n \n \n \n \n \n \n deleteBoard(userId: EntityId, boardId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/board.uc.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findBoard\n \n \n \n \n \n \n \n findBoard(userId: EntityId, boardId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/board.uc.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findBoardContext\n \n \n \n \n \n \n \n findBoardContext(userId: EntityId, boardId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/board.uc.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n moveColumn\n \n \n \n \n \n \n \n moveColumn(userId: EntityId, columnId: EntityId, targetBoardId: EntityId, targetPosition: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/board.uc.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n columnId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetBoardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetPosition\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateBoardTitle\n \n \n \n \n \n \n \n updateBoardTitle(userId: EntityId, boardId: EntityId, title: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/board.uc.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n title\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n checkPermission\n \n \n \n \n \n \n \n checkPermission(userId: EntityId, anyBoardDo: AnyBoardDo, action: Action, requiredUserRole?: UserRoleEnum)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:13\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n anyBoardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n requiredUserRole\n \n UserRoleEnum\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n \n \n \n \n \n checkSubmissionItemWritePermission(userId: EntityId, submissionItem: SubmissionItem)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:45\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n submissionItem\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n \n \n \n isAuthorizedStudent(userId: EntityId, boardDo: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:29\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Action } from '@modules/authorization';\nimport { AuthorizationService } from '@modules/authorization/domain';\nimport { forwardRef, Inject, Injectable } from '@nestjs/common';\nimport { BoardExternalReference, Column, ColumnBoard } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacyLogger } from '@src/core/logger';\nimport { CardService, ColumnBoardService, ColumnService } from '../service';\nimport { BoardDoAuthorizableService } from '../service/board-do-authorizable.service';\nimport { BaseUc } from './base.uc';\n\n@Injectable()\nexport class BoardUc extends BaseUc {\n\tconstructor(\n\t\t@Inject(forwardRef(() => AuthorizationService))\n\t\tprotected readonly authorizationService: AuthorizationService,\n\t\tprotected readonly boardDoAuthorizableService: BoardDoAuthorizableService,\n\t\tprivate readonly cardService: CardService,\n\t\tprivate readonly columnBoardService: ColumnBoardService,\n\t\tprivate readonly columnService: ColumnService,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tsuper(authorizationService, boardDoAuthorizableService);\n\t\tthis.logger.setContext(BoardUc.name);\n\t}\n\n\tasync findBoard(userId: EntityId, boardId: EntityId): Promise {\n\t\tthis.logger.debug({ action: 'findBoard', userId, boardId });\n\n\t\tconst board = await this.columnBoardService.findById(boardId);\n\t\tawait this.checkPermission(userId, board, Action.read);\n\n\t\treturn board;\n\t}\n\n\tasync findBoardContext(userId: EntityId, boardId: EntityId): Promise {\n\t\tthis.logger.debug({ action: 'findBoardContext', userId, boardId });\n\n\t\tconst board = await this.columnBoardService.findById(boardId);\n\t\tawait this.checkPermission(userId, board, Action.read);\n\n\t\treturn board.context;\n\t}\n\n\tasync deleteBoard(userId: EntityId, boardId: EntityId): Promise {\n\t\tthis.logger.debug({ action: 'deleteBoard', userId, boardId });\n\n\t\tconst board = await this.columnBoardService.findById(boardId);\n\t\tawait this.checkPermission(userId, board, Action.write);\n\n\t\tawait this.columnBoardService.delete(board);\n\t}\n\n\tasync updateBoardTitle(userId: EntityId, boardId: EntityId, title: string): Promise {\n\t\tthis.logger.debug({ action: 'updateBoardTitle', userId, boardId, title });\n\n\t\tconst board = await this.columnBoardService.findById(boardId);\n\t\tawait this.checkPermission(userId, board, Action.write);\n\n\t\tawait this.columnBoardService.updateTitle(board, title);\n\t}\n\n\tasync createColumn(userId: EntityId, boardId: EntityId): Promise {\n\t\tthis.logger.debug({ action: 'createColumn', userId, boardId });\n\n\t\tconst board = await this.columnBoardService.findById(boardId);\n\t\tawait this.checkPermission(userId, board, Action.write);\n\n\t\tconst column = await this.columnService.create(board);\n\t\treturn column;\n\t}\n\n\tasync moveColumn(\n\t\tuserId: EntityId,\n\t\tcolumnId: EntityId,\n\t\ttargetBoardId: EntityId,\n\t\ttargetPosition: number\n\t): Promise {\n\t\tthis.logger.debug({ action: 'moveColumn', userId, columnId, targetBoardId, targetPosition });\n\n\t\tconst column = await this.columnService.findById(columnId);\n\t\tconst targetBoard = await this.columnBoardService.findById(targetBoardId);\n\n\t\tawait this.checkPermission(userId, column, Action.write);\n\t\tawait this.checkPermission(userId, targetBoard, Action.write);\n\n\t\tawait this.columnService.move(column, targetBoard, targetPosition);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BoardUrlHandler.html":{"url":"injectables/BoardUrlHandler.html","title":"injectable - BoardUrlHandler","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BoardUrlHandler\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/service/url-handler/board-url-handler.ts\n \n\n\n\n \n Extends\n \n \n AbstractUrlHandler\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n patterns\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getMetaData\n \n \n doesUrlMatch\n \n \n Protected\n extractId\n \n \n getDefaultMetaData\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(columnBoardService: ColumnBoardService, courseService: CourseService)\n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/board-url-handler.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n columnBoardService\n \n \n ColumnBoardService\n \n \n \n No\n \n \n \n \n courseService\n \n \n CourseService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getMetaData\n \n \n \n \n \n \n \n getMetaData(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/board-url-handler.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n doesUrlMatch\n \n \n \n \n \n \ndoesUrlMatch(url: string)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n extractId\n \n \n \n \n \n \n \n extractId(url: string)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getDefaultMetaData\n \n \n \n \n \n \ngetDefaultMetaData(url: string, partial: Partial)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n partial\n \n Partial\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : MetaData\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n patterns\n \n \n \n \n \n \n Type : RegExp[]\n\n \n \n \n \n Default value : [/\\/rooms\\/(.*?)\\/board\\/?$/i]\n \n \n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:11\n\n \n \n\n\n \n \n\n\n \n\n\n \n import { ColumnBoardService } from '@modules/board';\nimport { CourseService } from '@modules/learnroom';\nimport { Injectable } from '@nestjs/common';\nimport { BoardExternalReferenceType } from '@shared/domain/domainobject';\nimport type { UrlHandler } from '../../interface/url-handler';\nimport { MetaData } from '../../types';\nimport { AbstractUrlHandler } from './abstract-url-handler';\n\n@Injectable()\nexport class BoardUrlHandler extends AbstractUrlHandler implements UrlHandler {\n\tpatterns: RegExp[] = [/\\/rooms\\/(.*?)\\/board\\/?$/i];\n\n\tconstructor(private readonly columnBoardService: ColumnBoardService, private readonly courseService: CourseService) {\n\t\tsuper();\n\t}\n\n\tasync getMetaData(url: string): Promise {\n\t\tconst id = this.extractId(url);\n\t\tif (id === undefined) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst metaData = this.getDefaultMetaData(url, { type: 'board' });\n\n\t\tconst columnBoard = await this.columnBoardService.findById(id);\n\t\tif (columnBoard) {\n\t\t\tmetaData.title = columnBoard.title;\n\t\t\tif (columnBoard.context.type === BoardExternalReferenceType.Course) {\n\t\t\t\tconst course = await this.courseService.findById(columnBoard.context.id);\n\t\t\t\tmetaData.parentType = 'course';\n\t\t\t\tmetaData.parentTitle = course.name;\n\t\t\t}\n\t\t}\n\n\t\treturn metaData;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardUrlParams.html":{"url":"classes/BoardUrlParams.html","title":"class - BoardUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/board/board.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n boardId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n boardId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the board.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/board.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class BoardUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the board.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tboardId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BruteForceError.html":{"url":"classes/BruteForceError.html","title":"class - BruteForceError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BruteForceError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/errors/brute-force.error.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n timeToWait\n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(timeToWait: number, message: string)\n \n \n \n \n Defined in apps/server/src/modules/authentication/errors/brute-force.error.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n timeToWait\n \n \n number\n \n \n \n No\n \n \n \n \n message\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n timeToWait\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/modules/authentication/errors/brute-force.error.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { BusinessError } from '@shared/common';\n\nexport class BruteForceError extends BusinessError {\n\treadonly timeToWait: number;\n\n\tconstructor(timeToWait: number, message: string) {\n\t\tsuper(\n\t\t\t{ type: 'ENTITY_NOT_FOUND', title: 'Entity Not Found', defaultMessage: message },\n\t\t\tHttpStatus.TOO_MANY_REQUESTS,\n\t\t\t{\n\t\t\t\ttimeToWait,\n\t\t\t}\n\t\t);\n\t\tthis.timeToWait = timeToWait;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BsonConverter.html":{"url":"injectables/BsonConverter.html","title":"injectable - BsonConverter","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BsonConverter\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/management/converter/bson.converter.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n deserialize\n \n \n serialize\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n deserialize\n \n \n \n \n \n \ndeserialize(bsonDocuments: [])\n \n \n\n\n \n \n Defined in apps/server/src/modules/management/converter/bson.converter.ts:21\n \n \n\n\n \n \n Deserializes documents from Extended JSON JavaScript objects to plain JavaScript objects.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n bsonDocuments\n \n []\n \n\n \n No\n \n\n\n \n mongo-bson/ejson objects\n\n \n \n \n \n \n \n Returns : []\n\n \n \n mongo-json documents\n\n \n \n \n \n \n \n \n \n \n \n \n serialize\n \n \n \n \n \n \nserialize(documents: [])\n \n \n\n\n \n \n Defined in apps/server/src/modules/management/converter/bson.converter.ts:11\n \n \n\n\n \n \n Serializes documents from plain JavaScript objects to Extended JSON JavaScript objects.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n documents\n \n []\n \n\n \n No\n \n\n\n \n mongo-json documents\n\n \n \n \n \n \n \n Returns : []\n\n \n \n mongo-bson/ejson objects\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EJSON } from 'bson';\n\n@Injectable()\nexport class BsonConverter {\n\t/**\n\t * Serializes documents from plain JavaScript objects to Extended JSON JavaScript objects.\n\t * @param documents mongo-json documents\n\t * @returns mongo-bson/ejson objects\n\t */\n\tserialize(documents: unknown[]): unknown[] {\n\t\tconst bsonDocuments = EJSON.serialize(documents) as unknown[];\n\t\treturn bsonDocuments;\n\t}\n\n\t/**\n\t * Deserializes documents from Extended JSON JavaScript objects to plain JavaScript objects.\n\t * @param bsonDocuments mongo-bson/ejson objects\n\t * @returns mongo-json documents\n\t */\n\tdeserialize(bsonDocuments: unknown[]): unknown[] {\n\t\tconst jsonDocuments = EJSON.deserialize(bsonDocuments) as unknown[];\n\t\treturn jsonDocuments;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Builder.html":{"url":"classes/Builder.html","title":"class - Builder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Builder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/builder/builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n product\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(init: T)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/builder/builder.ts:2\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n init\n \n \n T\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n product\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/builder/builder.ts:2\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild()\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/builder/builder.ts:8\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n export class Builder {\n\tprotected readonly product: T;\n\n\tconstructor(init: T) {\n\t\tthis.product = init;\n\t}\n\n\tbuild(): T {\n\t\treturn this.product;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BusinessError.html":{"url":"classes/BusinessError.html","title":"class - BusinessError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BusinessError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/error/business.error.ts\n \n\n\n \n Description\n \n \n Abstract base class for business errors, errors that are handled\nwithin a client or inside the application.\n\n \n\n \n Extends\n \n \n HttpException\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \n Protected\n constructor(undefined: ErrorType, code: HttpStatus, details?: Record, cause?)\n \n \n \n \n Defined in apps/server/src/shared/common/error/business.error.ts:25\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n ErrorType\n \n \n \n No\n \n \n \n \n code\n \n \n HttpStatus\n \n \n \n No\n \n \n \n \n details\n \n \n Record\n \n \n \n Yes\n \n \n \n \n cause\n \n \n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Defined in apps/server/src/shared/common/error/business.error.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Defined in apps/server/src/shared/common/error/business.error.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Defined in apps/server/src/shared/common/error/business.error.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Defined in apps/server/src/shared/common/error/business.error.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Defined in apps/server/src/shared/common/error/business.error.ts:15\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Defined in apps/server/src/shared/common/error/business.error.ts:47\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpException, HttpStatus } from '@nestjs/common';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { ErrorResponse } from '@src/core/error/dto/error.response';\nimport { ErrorType } from '@src/core/error/interface';\n\n/**\n * Abstract base class for business errors, errors that are handled\n * within a client or inside the application.\n */\nexport abstract class BusinessError extends HttpException {\n\t@ApiProperty({ description: 'The response status code.' })\n\treadonly code: number;\n\n\t@ApiProperty({ description: 'The error type.' })\n\treadonly type: string;\n\n\t@ApiProperty({ description: 'The error title.' })\n\treadonly title: string;\n\n\t@ApiProperty({ description: 'The error message.' })\n\treadonly message: string;\n\n\t@ApiPropertyOptional({ description: 'The error details.' })\n\t// Is not matched by type validation because HttpException is already declared\n\treadonly details?: Record;\n\n\tprotected constructor(\n\t\t{ type, title, defaultMessage }: ErrorType,\n\t\tcode: HttpStatus = HttpStatus.CONFLICT,\n\t\tdetails?: Record,\n\t\tcause?: unknown\n\t) {\n\t\tsuper({ code, type, title, message: defaultMessage }, code);\n\t\tthis.code = code;\n\t\tthis.type = type;\n\t\tthis.title = title;\n\t\tthis.message = defaultMessage;\n\t\tthis.details = details;\n\n\t\tif (cause instanceof Error) {\n\t\t\tthis.cause = cause;\n\t\t} else if (cause !== undefined) {\n\t\t\tthis.cause = typeof cause === 'object' ? new Error(JSON.stringify(cause)) : new Error(String(cause));\n\t\t}\n\t}\n\n\toverride getResponse(): ErrorResponse {\n\t\tconst errorResponse: ErrorResponse = new ErrorResponse(\n\t\t\tthis.type,\n\t\t\tthis.title,\n\t\t\tthis.message,\n\t\t\tthis.code,\n\t\t\tthis.details\n\t\t);\n\n\t\treturn errorResponse;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CacheService.html":{"url":"injectables/CacheService.html","title":"injectable - CacheService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CacheService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/cache/service/cache.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getStoreType\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getStoreType\n \n \n \n \n \n \ngetStoreType()\n \n \n\n\n \n \n Defined in apps/server/src/infra/cache/service/cache.service.ts:7\n \n \n\n\n \n \n\n \n Returns : CacheStoreType\n\n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { Injectable } from '@nestjs/common';\nimport { CacheStoreType } from '../interface/cache-store-type.enum';\n\n@Injectable()\nexport class CacheService {\n\tgetStoreType(): CacheStoreType {\n\t\treturn Configuration.has('REDIS_URI') ? CacheStoreType.REDIS : CacheStoreType.MEMORY;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/CacheWrapperModule.html":{"url":"modules/CacheWrapperModule.html","title":"module - CacheWrapperModule","body":"\n \n\n\n\n\n Modules\n CacheWrapperModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_CacheWrapperModule\n\n\n\ncluster_CacheWrapperModule_exports\n\n\n\ncluster_CacheWrapperModule_providers\n\n\n\n\nCacheService \n\nCacheService \n\n\n\nCacheWrapperModule\n\nCacheWrapperModule\n\nCacheService -->\n\nCacheWrapperModule->CacheService \n\n\n\n\n\nCacheService\n\nCacheService\n\nCacheWrapperModule -->\n\nCacheService->CacheWrapperModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/cache/cache.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n CacheService\n \n \n \n \n Exports\n \n \n CacheService\n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { CacheModule, CacheModuleOptions } from '@nestjs/cache-manager';\nimport { Module } from '@nestjs/common';\nimport { LegacyLogger, LoggerModule } from '@src/core/logger';\nimport { create } from 'cache-manager-redis-store';\nimport { RedisClient } from 'redis';\nimport { CacheStoreType } from './interface';\nimport { CacheService } from './service/cache.service';\n\n@Module({\n\timports: [\n\t\tCacheModule.registerAsync({\n\t\t\tuseFactory: (cacheService: CacheService, logger: LegacyLogger): CacheModuleOptions => {\n\t\t\t\tif (cacheService.getStoreType() === CacheStoreType.REDIS) {\n\t\t\t\t\tconst redisUrl: string = Configuration.get('REDIS_URI') as string;\n\t\t\t\t\tconst store = create({ url: redisUrl });\n\t\t\t\t\tconst client: RedisClient = store.getClient();\n\n\t\t\t\t\tclient.on('error', (error) => logger.error(error));\n\t\t\t\t\tclient.on('connect', (msg) => logger.log(msg));\n\n\t\t\t\t\treturn { store };\n\t\t\t\t}\n\t\t\t\treturn {};\n\t\t\t},\n\t\t\tinject: [CacheService, LegacyLogger],\n\t\t\timports: [LoggerModule, CacheWrapperModule],\n\t\t}),\n\t],\n\tproviders: [CacheService],\n\texports: [CacheModule, CacheService],\n})\nexport class CacheWrapperModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CalendarEvent.html":{"url":"interfaces/CalendarEvent.html","title":"interface - CalendarEvent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CalendarEvent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/calendar/interface/calendar-event.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: literal type[]\n\n \n \n\n\n \n \n Type : literal type[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface CalendarEvent {\n\tdata: {\n\t\tattributes: {\n\t\t\tsummary: string;\n\t\t\t'x-sc-teamid': string;\n\t\t};\n\t}[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CalendarEventDto.html":{"url":"classes/CalendarEventDto.html","title":"class - CalendarEventDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CalendarEventDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/calendar/dto/calendar-event.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n teamId\n \n \n title\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dto: CalendarEventDto)\n \n \n \n \n Defined in apps/server/src/infra/calendar/dto/calendar-event.dto.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n dto\n \n \n CalendarEventDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n teamId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/infra/calendar/dto/calendar-event.dto.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/infra/calendar/dto/calendar-event.dto.ts:2\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class CalendarEventDto {\n\ttitle: string;\n\n\tteamId: string;\n\n\tconstructor(dto: CalendarEventDto) {\n\t\tthis.title = dto.title;\n\t\tthis.teamId = dto.teamId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CalendarMapper.html":{"url":"injectables/CalendarMapper.html","title":"injectable - CalendarMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CalendarMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/calendar/mapper/calendar.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n mapToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n mapToDto\n \n \n \n \n \n \nmapToDto(event: CalendarEvent)\n \n \n\n\n \n \n Defined in apps/server/src/infra/calendar/mapper/calendar.mapper.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n event\n \n CalendarEvent\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CalendarEventDto\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CalendarEvent } from '@infra/calendar/interface/calendar-event.interface';\nimport { Injectable } from '@nestjs/common';\nimport { CalendarEventDto } from '../dto/calendar-event.dto';\n\n@Injectable()\nexport class CalendarMapper {\n\tmapToDto(event: CalendarEvent): CalendarEventDto {\n\t\tconst { attributes } = event.data[0];\n\t\treturn new CalendarEventDto({\n\t\t\tteamId: attributes['x-sc-teamid'],\n\t\t\ttitle: attributes.summary,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/CalendarModule.html":{"url":"modules/CalendarModule.html","title":"module - CalendarModule","body":"\n \n\n\n\n\n Modules\n CalendarModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_CalendarModule\n\n\n\ncluster_CalendarModule_exports\n\n\n\ncluster_CalendarModule_providers\n\n\n\n\nCalendarService \n\nCalendarService \n\n\n\nCalendarModule\n\nCalendarModule\n\nCalendarService -->\n\nCalendarModule->CalendarService \n\n\n\n\n\nCalendarMapper\n\nCalendarMapper\n\nCalendarModule -->\n\nCalendarMapper->CalendarModule\n\n\n\n\n\nCalendarService\n\nCalendarService\n\nCalendarModule -->\n\nCalendarService->CalendarModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/calendar/calendar.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n CalendarMapper\n \n \n CalendarService\n \n \n \n \n Exports\n \n \n CalendarService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { HttpModule } from '@nestjs/axios';\nimport { CalendarService } from './service/calendar.service';\nimport { CalendarMapper } from './mapper/calendar.mapper';\n\n@Module({\n\timports: [HttpModule],\n\tproviders: [CalendarMapper, CalendarService],\n\texports: [CalendarService],\n})\nexport class CalendarModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CalendarService.html":{"url":"injectables/CalendarService.html","title":"injectable - CalendarService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CalendarService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/calendar/service/calendar.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n baseURL\n \n \n Private\n Readonly\n timeoutMs\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findEvent\n \n \n Private\n get\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(httpService: HttpService, calendarMapper: CalendarMapper)\n \n \n \n \n Defined in apps/server/src/infra/calendar/service/calendar.service.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n httpService\n \n \n HttpService\n \n \n \n No\n \n \n \n \n calendarMapper\n \n \n CalendarMapper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findEvent\n \n \n \n \n \n \n \n findEvent(userId: EntityId, eventId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/infra/calendar/service/calendar.service.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n eventId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n get\n \n \n \n \n \n \n \n get(path: string, queryParams: URLSearchParams, config: AxiosRequestConfig)\n \n \n\n\n \n \n Defined in apps/server/src/infra/calendar/service/calendar.service.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n path\n \n string\n \n\n \n No\n \n\n\n \n \n queryParams\n \n URLSearchParams\n \n\n \n No\n \n\n\n \n \n config\n \n AxiosRequestConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n baseURL\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/infra/calendar/service/calendar.service.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n timeoutMs\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/infra/calendar/service/calendar.service.ts:17\n \n \n\n\n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { HttpService } from '@nestjs/axios';\nimport { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ErrorUtils } from '@src/core/error/utils';\nimport { AxiosRequestConfig, AxiosResponse } from 'axios';\nimport { firstValueFrom, Observable } from 'rxjs';\nimport { URL, URLSearchParams } from 'url';\nimport { CalendarEventDto } from '../dto/calendar-event.dto';\nimport { CalendarEvent } from '../interface/calendar-event.interface';\nimport { CalendarMapper } from '../mapper/calendar.mapper';\n\n@Injectable()\nexport class CalendarService {\n\tprivate readonly baseURL: string;\n\n\tprivate readonly timeoutMs: number;\n\n\tconstructor(private readonly httpService: HttpService, private readonly calendarMapper: CalendarMapper) {\n\t\tthis.baseURL = Configuration.get('CALENDAR_URI') as string;\n\t\tthis.timeoutMs = Configuration.get('REQUEST_OPTION__TIMEOUT_MS') as number;\n\t}\n\n\tasync findEvent(userId: EntityId, eventId: EntityId): Promise {\n\t\tconst params = new URLSearchParams();\n\t\tparams.append('event-id', eventId);\n\n\t\treturn firstValueFrom(\n\t\t\tthis.get('/events', params, {\n\t\t\t\theaders: {\n\t\t\t\t\tAuthorization: userId,\n\t\t\t\t\tAccept: 'Application/json',\n\t\t\t\t},\n\t\t\t\ttimeout: this.timeoutMs,\n\t\t\t})\n\t\t)\n\t\t\t.then((resp: AxiosResponse) => this.calendarMapper.mapToDto(resp.data))\n\t\t\t.catch((error) => {\n\t\t\t\tthrow new InternalServerErrorException(\n\t\t\t\t\tnull,\n\t\t\t\t\tErrorUtils.createHttpExceptionOptions(error, 'CalendarService:findEvent')\n\t\t\t\t);\n\t\t\t});\n\t}\n\n\tprivate get(\n\t\tpath: string,\n\t\tqueryParams: URLSearchParams,\n\t\tconfig: AxiosRequestConfig\n\t): Observable> {\n\t\tconst url: URL = new URL(this.baseURL);\n\t\turl.pathname = path;\n\t\turl.search = queryParams.toString();\n\t\treturn this.httpService.get(url.toString(), config);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Card.html":{"url":"classes/Card.html","title":"class - Card","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Card\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/card.do.ts\n \n\n\n\n \n Extends\n \n \n BoardComposite\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n accept\n \n \n Async\n acceptAsync\n \n \n isAllowedAsChild\n \n \n addChild\n \n \n hasChild\n \n \n removeChild\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n title\n \n \n height\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n accept\n \n \n \n \n \n \naccept(visitor: BoardCompositeVisitor)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:38\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitor\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n acceptAsync\n \n \n \n \n \n \n \n acceptAsync(visitor: BoardCompositeVisitorAsync)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:42\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitorAsync\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isAllowedAsChild\n \n \n \n \n \n \nisAllowedAsChild(domainObject: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:27\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addChild\n \n \n \n \n \n \naddChild(child: AnyBoardDo, position?: number)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n position\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasChild\n \n \n \n \n \n \nhasChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeChild\n \n \n \n \n \n \nremoveChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n title\n \n \n\n \n \n gettitle()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/card.do.ts:11\n \n \n\n \n \n settitle(title: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/card.do.ts:15\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n title\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n height\n \n \n\n \n \n getheight()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/card.do.ts:19\n \n \n\n \n \n setheight(height: number)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/card.do.ts:23\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n height\n \n \n number\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { DrawingElement } from '@shared/domain/domainobject/board/drawing-element.do';\nimport { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport { ExternalToolElement } from './external-tool-element.do';\nimport { FileElement } from './file-element.do';\nimport { LinkElement } from './link-element.do';\nimport { RichTextElement } from './rich-text-element.do';\nimport { SubmissionContainerElement } from './submission-container-element.do';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class Card extends BoardComposite {\n\tget title(): string {\n\t\treturn this.props.title;\n\t}\n\n\tset title(title: string) {\n\t\tthis.props.title = title;\n\t}\n\n\tget height(): number {\n\t\treturn this.props.height;\n\t}\n\n\tset height(height: number) {\n\t\tthis.props.height = height;\n\t}\n\n\tisAllowedAsChild(domainObject: AnyBoardDo): boolean {\n\t\tconst allowed =\n\t\t\tdomainObject instanceof FileElement ||\n\t\t\tdomainObject instanceof DrawingElement ||\n\t\t\tdomainObject instanceof LinkElement ||\n\t\t\tdomainObject instanceof RichTextElement ||\n\t\t\tdomainObject instanceof SubmissionContainerElement ||\n\t\t\tdomainObject instanceof ExternalToolElement;\n\t\treturn allowed;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitCard(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitCardAsync(this);\n\t}\n}\n\nexport interface CardProps extends BoardCompositeProps {\n\ttitle: string;\n\theight: number;\n}\n\nexport function isCard(reference: unknown): reference is Card {\n\treturn reference instanceof Card;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/CardController.html":{"url":"controllers/CardController.html","title":"controller - CardController","body":"\n \n\n\n\n\n\n\n Controllers\n CardController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/card.controller.ts\n \n\n \n Prefix\n \n \n cards\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createElement\n \n \n \n \n \n \n \n \n \n Async\n deleteCard\n \n \n \n \n \n \n \n Async\n getCards\n \n \n \n \n \n \n \n \n \n Async\n moveCard\n \n \n \n \n \n \n \n \n \n Async\n updateCardHeight\n \n \n \n \n \n \n \n \n \n Async\n updateCardTitle\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createElement\n \n \n \n \n \n \n \n createElement(urlParams: CardUrlParams, bodyParams: CreateContentElementBodyParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Create a new element on a card.'})@ApiExtraModels(ExternalToolElementResponse, FileElementResponse, LinkElementResponse, RichTextElementResponse, SubmissionContainerElementResponse)@ApiResponse({status: 201, schema: undefined})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@Post(':cardId/elements')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/card.controller.ts:143\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n CardUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n CreateContentElementBodyParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteCard\n \n \n \n \n \n \n \n deleteCard(urlParams: CardUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Delete a single card.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Delete(':cardId')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/card.controller.ts:114\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n CardUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getCards\n \n \n \n \n \n \n \n getCards(currentUser: ICurrentUser, cardIdParams: CardIdsParams)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Get a list of cards by their ids.'})@ApiResponse({status: 200, type: CardListResponse})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@Get()\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/card.controller.ts:48\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n cardIdParams\n \n CardIdsParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n moveCard\n \n \n \n \n \n \n \n moveCard(urlParams: CardUrlParams, bodyParams: MoveCardBodyParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Move a single card.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Put(':cardId/position')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/card.controller.ts:69\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n CardUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n MoveCardBodyParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateCardHeight\n \n \n \n \n \n \n \n updateCardHeight(urlParams: CardUrlParams, bodyParams: SetHeightBodyParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Update the height of a single card.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Patch(':cardId/height')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/card.controller.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n CardUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n SetHeightBodyParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateCardTitle\n \n \n \n \n \n \n \n updateCardTitle(urlParams: CardUrlParams, bodyParams: RenameBodyParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Update the title of a single card.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Patch(':cardId/title')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/card.controller.ts:99\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n CardUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n RenameBodyParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport {\n\tBody,\n\tController,\n\tDelete,\n\tForbiddenException,\n\tGet,\n\tHttpCode,\n\tNotFoundException,\n\tParam,\n\tPatch,\n\tPost,\n\tPut,\n\tQuery,\n} from '@nestjs/common';\nimport { ApiExtraModels, ApiOperation, ApiResponse, ApiTags, getSchemaPath } from '@nestjs/swagger';\nimport { ApiValidationError } from '@shared/common';\nimport { CardUc, ColumnUc } from '../uc';\nimport {\n\tAnyContentElementResponse,\n\tCardIdsParams,\n\tCardListResponse,\n\tCardUrlParams,\n\tCreateContentElementBodyParams,\n\tDrawingElementResponse,\n\tExternalToolElementResponse,\n\tFileElementResponse,\n\tLinkElementResponse,\n\tMoveCardBodyParams,\n\tRenameBodyParams,\n\tRichTextElementResponse,\n\tSubmissionContainerElementResponse,\n} from './dto';\nimport { SetHeightBodyParams } from './dto/board/set-height.body.params';\nimport { CardResponseMapper, ContentElementResponseFactory } from './mapper';\n\n@ApiTags('Board Card')\n@Authenticate('jwt')\n@Controller('cards')\nexport class CardController {\n\tconstructor(private readonly columnUc: ColumnUc, private readonly cardUc: CardUc) {}\n\n\t@ApiOperation({ summary: 'Get a list of cards by their ids.' })\n\t@ApiResponse({ status: 200, type: CardListResponse })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@Get()\n\tasync getCards(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() cardIdParams: CardIdsParams\n\t): Promise {\n\t\tconst cardIds = Array.isArray(cardIdParams.ids) ? cardIdParams.ids : [cardIdParams.ids];\n\t\tconst cards = await this.cardUc.findCards(currentUser.userId, cardIds);\n\t\tconst cardResponses = cards.map((card) => CardResponseMapper.mapToResponse(card));\n\n\t\tconst result = new CardListResponse({\n\t\t\tdata: cardResponses,\n\t\t});\n\t\treturn result;\n\t}\n\n\t@ApiOperation({ summary: 'Move a single card.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Put(':cardId/position')\n\tasync moveCard(\n\t\t@Param() urlParams: CardUrlParams,\n\t\t@Body() bodyParams: MoveCardBodyParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tawait this.columnUc.moveCard(currentUser.userId, urlParams.cardId, bodyParams.toColumnId, bodyParams.toPosition);\n\t}\n\n\t@ApiOperation({ summary: 'Update the height of a single card.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Patch(':cardId/height')\n\tasync updateCardHeight(\n\t\t@Param() urlParams: CardUrlParams,\n\t\t@Body() bodyParams: SetHeightBodyParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tawait this.cardUc.updateCardHeight(currentUser.userId, urlParams.cardId, bodyParams.height);\n\t}\n\n\t@ApiOperation({ summary: 'Update the title of a single card.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Patch(':cardId/title')\n\tasync updateCardTitle(\n\t\t@Param() urlParams: CardUrlParams,\n\t\t@Body() bodyParams: RenameBodyParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tawait this.cardUc.updateCardTitle(currentUser.userId, urlParams.cardId, bodyParams.title);\n\t}\n\n\t@ApiOperation({ summary: 'Delete a single card.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Delete(':cardId')\n\tasync deleteCard(@Param() urlParams: CardUrlParams, @CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tawait this.cardUc.deleteCard(currentUser.userId, urlParams.cardId);\n\t}\n\n\t@ApiOperation({ summary: 'Create a new element on a card.' })\n\t@ApiExtraModels(\n\t\tExternalToolElementResponse,\n\t\tFileElementResponse,\n\t\tLinkElementResponse,\n\t\tRichTextElementResponse,\n\t\tSubmissionContainerElementResponse\n\t)\n\t@ApiResponse({\n\t\tstatus: 201,\n\t\tschema: {\n\t\t\toneOf: [\n\t\t\t\t{ $ref: getSchemaPath(ExternalToolElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(FileElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(LinkElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(RichTextElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(DrawingElementResponse) },\n\t\t\t],\n\t\t},\n\t})\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@Post(':cardId/elements')\n\tasync createElement(\n\t\t@Param() urlParams: CardUrlParams,\n\t\t@Body() bodyParams: CreateContentElementBodyParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst { type, toPosition } = bodyParams;\n\t\tconst element = await this.cardUc.createElement(currentUser.userId, urlParams.cardId, type, toPosition);\n\t\tconst response = ContentElementResponseFactory.mapToResponse(element);\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CardIdsParams.html":{"url":"classes/CardIdsParams.html","title":"class - CardIdsParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CardIdsParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/card/card-ids.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n ids\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n ids\n \n \n \n \n \n \n Type : string[] | string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId({each: true})@ApiProperty({description: 'Array of Ids to be loaded', type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/card-ids.params.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class CardIdsParams {\n\t@IsMongoId({ each: true })\n\t@ApiProperty({\n\t\tdescription: 'Array of Ids to be loaded',\n\t\ttype: [String],\n\t})\n\tids!: string[] | string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CardListResponse.html":{"url":"classes/CardListResponse.html","title":"class - CardListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CardListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/card/card-list.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: CardListResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/card-list.response.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n CardListResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : CardResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/card-list.response.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { CardResponse } from './card.response';\n\nexport class CardListResponse {\n\tconstructor({ data }: CardListResponse) {\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [CardResponse] })\n\tdata: CardResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/CardNode.html":{"url":"entities/CardNode.html","title":"entity - CardNode","body":"\n \n\n\n\n\n\n\n\n Entities\n CardNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/card-node.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n height\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n height\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/card-node.entity.ts:16\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { Card } from '@shared/domain/domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder } from './types';\nimport { BoardNodeType } from './types/board-node-type';\n\n@Entity({ discriminatorValue: BoardNodeType.CARD })\nexport class CardNode extends BoardNode {\n\tconstructor(props: CardNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.CARD;\n\t\tthis.height = props.height;\n\t}\n\n\t@Property()\n\theight: number;\n\n\tuseDoBuilder(builder: BoardDoBuilder): Card {\n\t\tconst domainObject = builder.buildCard(this);\n\t\treturn domainObject;\n\t}\n}\n\nexport interface CardNodeProps extends BoardNodeProps {\n\theight: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CardNodeProps.html":{"url":"interfaces/CardNodeProps.html","title":"interface - CardNodeProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CardNodeProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/card-node.entity.ts\n \n\n\n\n \n Extends\n \n \n BoardNodeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n height\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n height\n \n \n \n \n \n \n \n \n height: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { Card } from '@shared/domain/domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder } from './types';\nimport { BoardNodeType } from './types/board-node-type';\n\n@Entity({ discriminatorValue: BoardNodeType.CARD })\nexport class CardNode extends BoardNode {\n\tconstructor(props: CardNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.CARD;\n\t\tthis.height = props.height;\n\t}\n\n\t@Property()\n\theight: number;\n\n\tuseDoBuilder(builder: BoardDoBuilder): Card {\n\t\tconst domainObject = builder.buildCard(this);\n\t\treturn domainObject;\n\t}\n}\n\nexport interface CardNodeProps extends BoardNodeProps {\n\theight: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CardProps.html":{"url":"interfaces/CardProps.html","title":"interface - CardProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CardProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/card.do.ts\n \n\n\n\n \n Extends\n \n \n BoardCompositeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n height\n \n \n \n \n title\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n height\n \n \n \n \n \n \n \n \n height: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { DrawingElement } from '@shared/domain/domainobject/board/drawing-element.do';\nimport { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport { ExternalToolElement } from './external-tool-element.do';\nimport { FileElement } from './file-element.do';\nimport { LinkElement } from './link-element.do';\nimport { RichTextElement } from './rich-text-element.do';\nimport { SubmissionContainerElement } from './submission-container-element.do';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class Card extends BoardComposite {\n\tget title(): string {\n\t\treturn this.props.title;\n\t}\n\n\tset title(title: string) {\n\t\tthis.props.title = title;\n\t}\n\n\tget height(): number {\n\t\treturn this.props.height;\n\t}\n\n\tset height(height: number) {\n\t\tthis.props.height = height;\n\t}\n\n\tisAllowedAsChild(domainObject: AnyBoardDo): boolean {\n\t\tconst allowed =\n\t\t\tdomainObject instanceof FileElement ||\n\t\t\tdomainObject instanceof DrawingElement ||\n\t\t\tdomainObject instanceof LinkElement ||\n\t\t\tdomainObject instanceof RichTextElement ||\n\t\t\tdomainObject instanceof SubmissionContainerElement ||\n\t\t\tdomainObject instanceof ExternalToolElement;\n\t\treturn allowed;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitCard(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitCardAsync(this);\n\t}\n}\n\nexport interface CardProps extends BoardCompositeProps {\n\ttitle: string;\n\theight: number;\n}\n\nexport function isCard(reference: unknown): reference is Card {\n\treturn reference instanceof Card;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CardResponse.html":{"url":"classes/CardResponse.html","title":"class - CardResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CardResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/card/card.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n elements\n \n \n \n height\n \n \n \n id\n \n \n \n timestamps\n \n \n \n \n Optional\n title\n \n \n \n visibilitySettings\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: CardResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/card.response.ts:23\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n CardResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n elements\n \n \n \n \n \n \n Type : AnyContentElementResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: 'array', items: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/card.response.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n \n height\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/card.response.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/card.response.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n timestamps\n \n \n \n \n \n \n Type : TimestampsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/card.response.ts:64\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/card.response.ts:40\n \n \n\n\n \n \n \n \n \n \n \n \n \n visibilitySettings\n \n \n \n \n \n \n Type : VisibilitySettingsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/card.response.ts:61\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiExtraModels, ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\nimport {\n\tAnyContentElementResponse,\n\tDrawingElementResponse,\n\tExternalToolElementResponse,\n\tFileElementResponse,\n\tLinkElementResponse,\n\tRichTextElementResponse,\n\tSubmissionContainerElementResponse,\n} from '../element';\nimport { TimestampsResponse } from '../timestamps.response';\nimport { VisibilitySettingsResponse } from './visibility-settings.response';\n\n@ApiExtraModels(\n\tExternalToolElementResponse,\n\tFileElementResponse,\n\tLinkElementResponse,\n\tRichTextElementResponse,\n\tDrawingElementResponse,\n\tSubmissionContainerElementResponse\n)\nexport class CardResponse {\n\tconstructor({ id, title, height, elements, visibilitySettings, timestamps }: CardResponse) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.height = height;\n\t\tthis.elements = elements;\n\t\tthis.visibilitySettings = visibilitySettings;\n\t\tthis.timestamps = timestamps;\n\t}\n\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@ApiPropertyOptional()\n\t@DecodeHtmlEntities()\n\ttitle?: string;\n\n\t@ApiProperty()\n\theight: number;\n\n\t@ApiProperty({\n\t\ttype: 'array',\n\t\titems: {\n\t\t\toneOf: [\n\t\t\t\t{ $ref: getSchemaPath(ExternalToolElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(FileElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(LinkElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(RichTextElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(DrawingElementResponse) },\n\t\t\t],\n\t\t},\n\t})\n\telements: AnyContentElementResponse[];\n\n\t@ApiProperty()\n\tvisibilitySettings: VisibilitySettingsResponse;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CardResponseMapper.html":{"url":"classes/CardResponseMapper.html","title":"class - CardResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CardResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/card-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(card: Card)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/card-response.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n card\n \n Card\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CardResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Card } from '@shared/domain/domainobject';\nimport { CardResponse, TimestampsResponse, VisibilitySettingsResponse } from '../dto';\nimport { ContentElementResponseFactory } from './content-element-response.factory';\n\nexport class CardResponseMapper {\n\tstatic mapToResponse(card: Card): CardResponse {\n\t\tconst result = new CardResponse({\n\t\t\tid: card.id,\n\t\t\ttitle: card.title,\n\t\t\theight: card.height,\n\t\t\telements: card.children.map((element) => ContentElementResponseFactory.mapToResponse(element)),\n\t\t\tvisibilitySettings: new VisibilitySettingsResponse({}),\n\t\t\ttimestamps: new TimestampsResponse({ lastUpdatedAt: card.updatedAt, createdAt: card.createdAt }),\n\t\t});\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CardService.html":{"url":"injectables/CardService.html","title":"injectable - CardService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CardService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/card.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n create\n \n \n Private\n Async\n createEmptyElements\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n findByIds\n \n \n Async\n move\n \n \n Async\n updateHeight\n \n \n Async\n updateTitle\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(boardDoRepo: BoardDoRepo, boardDoService: BoardDoService, contentElementService: ContentElementService)\n \n \n \n \n Defined in apps/server/src/modules/board/service/card.service.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDoRepo\n \n \n BoardDoRepo\n \n \n \n No\n \n \n \n \n boardDoService\n \n \n BoardDoService\n \n \n \n No\n \n \n \n \n contentElementService\n \n \n ContentElementService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n create\n \n \n \n \n \n \n \n create(parent: Column, requiredEmptyElements?: ContentElementType[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/card.service.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n parent\n \n Column\n \n\n \n No\n \n\n\n \n \n requiredEmptyElements\n \n ContentElementType[]\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createEmptyElements\n \n \n \n \n \n \n \n createEmptyElements(card: Card, requiredEmptyElements: ContentElementType[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/card.service.ts:71\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n card\n \n Card\n \n\n \n No\n \n\n\n \n \n requiredEmptyElements\n \n ContentElementType[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(card: Card)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/card.service.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n card\n \n Card\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(cardId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/card.service.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n cardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByIds\n \n \n \n \n \n \n \n findByIds(cardIds: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/card.service.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n cardIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n move\n \n \n \n \n \n \n \n move(card: Card, targetColumn: Column, targetPosition?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/card.service.ts:55\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n card\n \n Card\n \n\n \n No\n \n\n\n \n \n targetColumn\n \n Column\n \n\n \n No\n \n\n\n \n \n targetPosition\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateHeight\n \n \n \n \n \n \n \n updateHeight(card: Card, height: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/card.service.ts:59\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n card\n \n Card\n \n\n \n No\n \n\n\n \n \n height\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateTitle\n \n \n \n \n \n \n \n updateTitle(card: Card, title: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/card.service.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n card\n \n Card\n \n\n \n No\n \n\n\n \n \n title\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, NotFoundException } from '@nestjs/common';\nimport { Card, Column, ContentElementType } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport { BoardDoRepo } from '../repo';\nimport { BoardDoService } from './board-do.service';\nimport { ContentElementService } from './content-element.service';\n\n@Injectable()\nexport class CardService {\n\tconstructor(\n\t\tprivate readonly boardDoRepo: BoardDoRepo,\n\t\tprivate readonly boardDoService: BoardDoService,\n\t\tprivate readonly contentElementService: ContentElementService\n\t) {}\n\n\tasync findById(cardId: EntityId): Promise {\n\t\treturn this.boardDoRepo.findByClassAndId(Card, cardId);\n\t}\n\n\tasync findByIds(cardIds: EntityId[]): Promise {\n\t\tconst cards = await this.boardDoRepo.findByIds(cardIds);\n\t\tif (cards.some((card) => !(card instanceof Card))) {\n\t\t\tthrow new NotFoundException('some ids do not belong to a card');\n\t\t}\n\n\t\treturn cards as Card[];\n\t}\n\n\tasync create(parent: Column, requiredEmptyElements?: ContentElementType[]): Promise {\n\t\tconst card = new Card({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttitle: '',\n\t\t\theight: 150,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\n\t\tparent.addChild(card);\n\n\t\tawait this.boardDoRepo.save(parent.children, parent);\n\n\t\tif (requiredEmptyElements) {\n\t\t\tawait this.createEmptyElements(card, requiredEmptyElements);\n\t\t}\n\n\t\treturn card;\n\t}\n\n\tasync delete(card: Card): Promise {\n\t\tawait this.boardDoService.deleteWithDescendants(card);\n\t}\n\n\tasync move(card: Card, targetColumn: Column, targetPosition?: number): Promise {\n\t\tawait this.boardDoService.move(card, targetColumn, targetPosition);\n\t}\n\n\tasync updateHeight(card: Card, height: number): Promise {\n\t\tconst parent = await this.boardDoRepo.findParentOfId(card.id);\n\t\tcard.height = height;\n\t\tawait this.boardDoRepo.save(card, parent);\n\t}\n\n\tasync updateTitle(card: Card, title: string): Promise {\n\t\tconst parent = await this.boardDoRepo.findParentOfId(card.id);\n\t\tcard.title = title;\n\t\tawait this.boardDoRepo.save(card, parent);\n\t}\n\n\tprivate async createEmptyElements(card: Card, requiredEmptyElements: ContentElementType[]): Promise {\n\t\tfor await (const requiredEmptyElement of requiredEmptyElements) {\n\t\t\tawait this.contentElementService.create(card, requiredEmptyElement);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CardSkeletonResponse.html":{"url":"classes/CardSkeletonResponse.html","title":"class - CardSkeletonResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CardSkeletonResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/board/card-skeleton.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n cardId\n \n \n \n height\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: CardSkeletonResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/card-skeleton.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n CardSkeletonResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n cardId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/card-skeleton.response.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n height\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The approximate height of the referenced card. Intended to be used for prerendering purposes. Note, that different devices can lead to this value not being precise'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/card-skeleton.response.ts:18\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class CardSkeletonResponse {\n\tconstructor({ cardId, height }: CardSkeletonResponse) {\n\t\tthis.cardId = cardId;\n\t\tthis.height = height;\n\t}\n\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tcardId: string;\n\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'The approximate height of the referenced card. Intended to be used for prerendering purposes. Note, that different devices can lead to this value not being precise',\n\t})\n\theight: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CardUc.html":{"url":"injectables/CardUc.html","title":"injectable - CardUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CardUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/uc/card.uc.ts\n \n\n\n\n \n Extends\n \n \n BaseUc\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createElement\n \n \n Async\n deleteCard\n \n \n Private\n Async\n filterAllowed\n \n \n Async\n findCards\n \n \n Async\n moveElement\n \n \n Async\n updateCardHeight\n \n \n Async\n updateCardTitle\n \n \n Protected\n Async\n checkPermission\n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationService: AuthorizationService, boardDoAuthorizableService: BoardDoAuthorizableService, cardService: CardService, elementService: ContentElementService, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/board/uc/card.uc.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n boardDoAuthorizableService\n \n \n BoardDoAuthorizableService\n \n \n \n No\n \n \n \n \n cardService\n \n \n CardService\n \n \n \n No\n \n \n \n \n elementService\n \n \n ContentElementService\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createElement\n \n \n \n \n \n \n \n createElement(userId: EntityId, cardId: EntityId, type: ContentElementType, toPosition?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/card.uc.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n cardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n type\n \n ContentElementType\n \n\n \n No\n \n\n\n \n \n toPosition\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteCard\n \n \n \n \n \n \n \n deleteCard(userId: EntityId, cardId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/card.uc.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n cardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n filterAllowed\n \n \n \n \n \n \n \n filterAllowed(userId: EntityId, boardDos: T[], action: Action)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/card.uc.ts:97\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardDos\n \n T[]\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findCards\n \n \n \n \n \n \n \n findCards(userId: EntityId, cardIds: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/card.uc.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n cardIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n moveElement\n \n \n \n \n \n \n \n moveElement(userId: EntityId, elementId: EntityId, targetCardId: EntityId, targetPosition: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/card.uc.ts:80\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n elementId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetCardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetPosition\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateCardHeight\n \n \n \n \n \n \n \n updateCardHeight(userId: EntityId, cardId: EntityId, height: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/card.uc.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n cardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n height\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateCardTitle\n \n \n \n \n \n \n \n updateCardTitle(userId: EntityId, cardId: EntityId, title: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/card.uc.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n cardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n title\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n checkPermission\n \n \n \n \n \n \n \n checkPermission(userId: EntityId, anyBoardDo: AnyBoardDo, action: Action, requiredUserRole?: UserRoleEnum)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:13\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n anyBoardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n requiredUserRole\n \n UserRoleEnum\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n \n \n \n \n \n checkSubmissionItemWritePermission(userId: EntityId, submissionItem: SubmissionItem)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:45\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n submissionItem\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n \n \n \n isAuthorizedStudent(userId: EntityId, boardDo: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:29\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Action, AuthorizationService } from '@modules/authorization';\nimport { forwardRef, Inject, Injectable } from '@nestjs/common';\nimport { AnyBoardDo, AnyContentElementDo, Card, ContentElementType } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacyLogger } from '@src/core/logger';\nimport { BoardDoAuthorizableService, CardService, ContentElementService } from '../service';\nimport { BaseUc } from './base.uc';\n\n@Injectable()\nexport class CardUc extends BaseUc {\n\tconstructor(\n\t\t@Inject(forwardRef(() => AuthorizationService))\n\t\tprotected readonly authorizationService: AuthorizationService,\n\t\tprotected readonly boardDoAuthorizableService: BoardDoAuthorizableService,\n\t\tprivate readonly cardService: CardService,\n\t\tprivate readonly elementService: ContentElementService,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tsuper(authorizationService, boardDoAuthorizableService);\n\t\tthis.logger.setContext(CardUc.name);\n\t}\n\n\tasync findCards(userId: EntityId, cardIds: EntityId[]): Promise {\n\t\tthis.logger.debug({ action: 'findCards', userId, cardIds });\n\n\t\tconst cards = await this.cardService.findByIds(cardIds);\n\t\tconst allowedCards = await this.filterAllowed(userId, cards, Action.read);\n\n\t\treturn allowedCards;\n\t}\n\n\tasync updateCardHeight(userId: EntityId, cardId: EntityId, height: number): Promise {\n\t\tthis.logger.debug({ action: 'updateCardHeight', userId, cardId, height });\n\n\t\tconst card = await this.cardService.findById(cardId);\n\t\tawait this.checkPermission(userId, card, Action.write);\n\n\t\tawait this.cardService.updateHeight(card, height);\n\t}\n\n\tasync updateCardTitle(userId: EntityId, cardId: EntityId, title: string): Promise {\n\t\tthis.logger.debug({ action: 'updateCardTitle', userId, cardId, title });\n\n\t\tconst card = await this.cardService.findById(cardId);\n\t\tawait this.checkPermission(userId, card, Action.write);\n\n\t\tawait this.cardService.updateTitle(card, title);\n\t}\n\n\tasync deleteCard(userId: EntityId, cardId: EntityId): Promise {\n\t\tthis.logger.debug({ action: 'deleteCard', userId, cardId });\n\n\t\tconst card = await this.cardService.findById(cardId);\n\t\tawait this.checkPermission(userId, card, Action.write);\n\n\t\tawait this.cardService.delete(card);\n\t}\n\n\t// --- elements ---\n\n\tasync createElement(\n\t\tuserId: EntityId,\n\t\tcardId: EntityId,\n\t\ttype: ContentElementType,\n\t\ttoPosition?: number\n\t): Promise {\n\t\tthis.logger.debug({ action: 'createElement', userId, cardId, type });\n\n\t\tconst card = await this.cardService.findById(cardId);\n\t\tawait this.checkPermission(userId, card, Action.write);\n\n\t\tconst element = await this.elementService.create(card, type);\n\t\tif (toPosition !== undefined && typeof toPosition === 'number') {\n\t\t\tawait this.elementService.move(element, card, toPosition);\n\t\t}\n\n\t\treturn element;\n\t}\n\n\tasync moveElement(\n\t\tuserId: EntityId,\n\t\telementId: EntityId,\n\t\ttargetCardId: EntityId,\n\t\ttargetPosition: number\n\t): Promise {\n\t\tthis.logger.debug({ action: 'moveCard', userId, elementId, targetCardId, targetPosition });\n\n\t\tconst element = await this.elementService.findById(elementId);\n\t\tconst targetCard = await this.cardService.findById(targetCardId);\n\n\t\tawait this.checkPermission(userId, element, Action.write);\n\t\tawait this.checkPermission(userId, targetCard, Action.write);\n\n\t\tawait this.elementService.move(element, targetCard, targetPosition);\n\t}\n\n\tprivate async filterAllowed(userId: EntityId, boardDos: T[], action: Action): Promise {\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\n\t\tconst context = { action, requiredPermissions: [] };\n\t\tconst promises = boardDos.map((boardDo) =>\n\t\t\tthis.boardDoAuthorizableService.getBoardAuthorizable(boardDo).then((boardDoAuthorizable) => {\n\t\t\t\treturn { boardDoAuthorizable, boardDo };\n\t\t\t})\n\t\t);\n\t\tconst result = await Promise.all(promises);\n\n\t\tconst allowed = result.reduce((allowedDos: T[], { boardDoAuthorizable, boardDo }) => {\n\t\t\tif (this.authorizationService.hasPermission(user, boardDoAuthorizable, context)) {\n\t\t\t\tallowedDos.push(boardDo);\n\t\t\t}\n\t\t\treturn allowedDos;\n\t\t}, []);\n\n\t\treturn allowed;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CardUrlParams.html":{"url":"classes/CardUrlParams.html","title":"class - CardUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CardUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/card.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n cardId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n cardId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the card.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class CardUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the card.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tcardId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ChallengeParams.html":{"url":"classes/ChallengeParams.html","title":"class - ChallengeParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ChallengeParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/request/challenge.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n challenge\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n challenge\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({description: 'The login challenge.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/challenge.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsString } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\n\nexport class ChallengeParams {\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'The login challenge.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tchallenge!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ChangeLanguageParams.html":{"url":"classes/ChangeLanguageParams.html","title":"class - ChangeLanguageParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ChangeLanguageParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user/controller/dto/user.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n language\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n language\n \n \n \n \n \n \n Type : LanguageType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: LanguageType})@IsEnum(LanguageType)\n \n \n \n \n \n Defined in apps/server/src/modules/user/controller/dto/user.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { LanguageType } from '@shared/domain/entity';\nimport { IsEnum } from 'class-validator';\n\nexport class ChangeLanguageParams {\n\t@ApiProperty({ enum: LanguageType })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Class.html":{"url":"classes/Class.html","title":"class - Class","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Class\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/domain/class.do.ts\n \n\n\n\n \n Extends\n \n \n DomainObject\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n removeUser\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n name\n \n \n schoolId\n \n \n userIds\n \n \n teacherIds\n \n \n invitationLink\n \n \n year\n \n \n gradeLevel\n \n \n ldapDN\n \n \n successor\n \n \n source\n \n \n sourceOptions\n \n \n createdAt\n \n \n updatedAt\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n removeUser\n \n \n \n \n \n \n \n removeUser(userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:74\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n name\n \n \n\n \n \n getname()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:22\n \n \n\n \n \n \n \n \n \n \n schoolId\n \n \n\n \n \n getschoolId()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:26\n \n \n\n \n \n \n \n \n \n \n userIds\n \n \n\n \n \n getuserIds()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:30\n \n \n\n \n \n \n \n \n \n \n teacherIds\n \n \n\n \n \n getteacherIds()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:34\n \n \n\n \n \n \n \n \n \n \n invitationLink\n \n \n\n \n \n getinvitationLink()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:38\n \n \n\n \n \n \n \n \n \n \n year\n \n \n\n \n \n getyear()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:42\n \n \n\n \n \n \n \n \n \n \n gradeLevel\n \n \n\n \n \n getgradeLevel()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:46\n \n \n\n \n \n \n \n \n \n \n ldapDN\n \n \n\n \n \n getldapDN()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:50\n \n \n\n \n \n \n \n \n \n \n successor\n \n \n\n \n \n getsuccessor()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:54\n \n \n\n \n \n \n \n \n \n \n source\n \n \n\n \n \n getsource()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:58\n \n \n\n \n \n \n \n \n \n \n sourceOptions\n \n \n\n \n \n getsourceOptions()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:62\n \n \n\n \n \n \n \n \n \n \n createdAt\n \n \n\n \n \n getcreatedAt()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:66\n \n \n\n \n \n \n \n \n \n \n updatedAt\n \n \n\n \n \n getupdatedAt()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:70\n \n \n\n \n \n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { AuthorizableObject, DomainObject } from '../../../shared/domain/domain-object';\nimport { ClassSourceOptions } from './class-source-options.do';\n\nexport interface ClassProps extends AuthorizableObject {\n\tname: string;\n\tschoolId: EntityId;\n\tuserIds?: EntityId[];\n\tteacherIds: EntityId[];\n\tinvitationLink?: string;\n\tyear?: EntityId;\n\tgradeLevel?: number;\n\tldapDN?: string;\n\tsuccessor?: EntityId;\n\tsource?: string;\n\tsourceOptions?: ClassSourceOptions;\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\nexport class Class extends DomainObject {\n\tget name(): string {\n\t\treturn this.props.name;\n\t}\n\n\tget schoolId(): EntityId {\n\t\treturn this.props.schoolId;\n\t}\n\n\tget userIds(): EntityId[] | undefined {\n\t\treturn this.props.userIds;\n\t}\n\n\tget teacherIds(): EntityId[] {\n\t\treturn this.props.teacherIds;\n\t}\n\n\tget invitationLink(): string | undefined {\n\t\treturn this.props.invitationLink;\n\t}\n\n\tget year(): EntityId | undefined {\n\t\treturn this.props.year;\n\t}\n\n\tget gradeLevel(): number | undefined {\n\t\treturn this.props.gradeLevel;\n\t}\n\n\tget ldapDN(): string | undefined {\n\t\treturn this.props.ldapDN;\n\t}\n\n\tget successor(): EntityId | undefined {\n\t\treturn this.props.successor;\n\t}\n\n\tget source(): string | undefined {\n\t\treturn this.props.source;\n\t}\n\n\tget sourceOptions(): ClassSourceOptions | undefined {\n\t\treturn this.props.sourceOptions;\n\t}\n\n\tget createdAt(): Date {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date {\n\t\treturn this.props.updatedAt;\n\t}\n\n\tpublic removeUser(userId: string) {\n\t\tthis.props.userIds = this.props.userIds?.filter((userId1) => userId1 !== userId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/ClassEntity.html":{"url":"entities/ClassEntity.html","title":"entity - ClassEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n ClassEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/entity/class.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n gradeLevel\n \n \n \n Optional\n invitationLink\n \n \n \n Optional\n ldapDN\n \n \n \n name\n \n \n \n \n schoolId\n \n \n \n \n Optional\n source\n \n \n \n Optional\n sourceOptions\n \n \n \n Optional\n successor\n \n \n \n \n teacherIds\n \n \n \n \n Optional\n userIds\n \n \n \n Optional\n year\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n gradeLevel\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class.entity.ts:47\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n invitationLink\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class.entity.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n ldapDN\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class.entity.ts:50\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class.entity.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property()@Index()\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class.entity.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n source\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})@Index()\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class.entity.ts:57\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n sourceOptions\n \n \n \n \n \n \n Type : ClassSourceOptionsEntity\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {object: true, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class.entity.ts:60\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n successor\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class.entity.ts:53\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n teacherIds\n \n \n \n \n \n \n Type : ObjectId[]\n\n \n \n \n \n Decorators : \n \n \n @Property()@Index()\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class.entity.ts:38\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n userIds\n \n \n \n \n \n \n Type : ObjectId[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})@Index()\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class.entity.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n year\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class.entity.ts:44\n \n \n\n\n \n \n\n \n\n\n \n import { Embedded, Entity, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { ClassSourceOptionsEntity } from './class-source-options.entity';\n\nexport interface ClassEntityProps {\n\tid?: EntityId;\n\tname: string;\n\tschoolId: ObjectId;\n\tuserIds?: ObjectId[];\n\tteacherIds: ObjectId[];\n\tinvitationLink?: string;\n\tyear?: ObjectId;\n\tgradeLevel?: number;\n\tldapDN?: string;\n\tsuccessor?: ObjectId;\n\tsource?: string;\n\tsourceOptions?: ClassSourceOptionsEntity;\n}\n\n@Entity({ tableName: 'classes' })\n@Index({ properties: ['year', 'ldapDN'] })\nexport class ClassEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tname: string;\n\n\t@Property()\n\t@Index()\n\tschoolId: ObjectId;\n\n\t@Property({ nullable: true })\n\t@Index()\n\tuserIds?: ObjectId[];\n\n\t@Property()\n\t@Index()\n\tteacherIds: ObjectId[];\n\n\t@Property({ nullable: true })\n\tinvitationLink?: string;\n\n\t@Property({ nullable: true })\n\tyear?: ObjectId;\n\n\t@Property({ nullable: true })\n\tgradeLevel?: number;\n\n\t@Property({ nullable: true })\n\tldapDN?: string;\n\n\t@Property({ nullable: true })\n\tsuccessor?: ObjectId;\n\n\t@Property({ nullable: true })\n\t@Index()\n\tsource?: string;\n\n\t@Embedded(() => ClassSourceOptionsEntity, { object: true, nullable: true })\n\tsourceOptions?: ClassSourceOptionsEntity;\n\n\tprivate validate(props: ClassEntityProps) {\n\t\tif (props.gradeLevel !== undefined && (props.gradeLevel 13)) {\n\t\t\tthrow new Error('gradeLevel must be value beetween 1 and 13');\n\t\t}\n\t}\n\n\tconstructor(props: ClassEntityProps) {\n\t\tsuper();\n\t\tthis.validate(props);\n\n\t\tif (props.id !== undefined) {\n\t\t\tthis.id = props.id;\n\t\t}\n\n\t\tthis.name = props.name;\n\t\tthis.schoolId = props.schoolId;\n\n\t\tif (props.userIds !== undefined) {\n\t\t\tthis.userIds = props.userIds;\n\t\t}\n\n\t\tthis.teacherIds = props.teacherIds;\n\n\t\tif (props.invitationLink !== undefined) {\n\t\t\tthis.invitationLink = props.invitationLink;\n\t\t}\n\n\t\tif (props.year !== undefined) {\n\t\t\tthis.year = props.year;\n\t\t}\n\t\tif (props.gradeLevel !== undefined) {\n\t\t\tthis.gradeLevel = props.gradeLevel;\n\t\t}\n\t\tif (props.ldapDN !== undefined) {\n\t\t\tthis.ldapDN = props.ldapDN;\n\t\t}\n\n\t\tif (props.successor !== undefined) {\n\t\t\tthis.successor = props.successor;\n\t\t}\n\n\t\tif (props.source !== undefined) {\n\t\t\tthis.source = props.source;\n\t\t}\n\n\t\tif (props.sourceOptions !== undefined) {\n\t\t\tthis.sourceOptions = props.sourceOptions;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ClassEntityFactory.html":{"url":"classes/ClassEntityFactory.html","title":"class - ClassEntityFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ClassEntityFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/entity/testing/factory/class.entity.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withUserIds\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withUserIds\n \n \n \n \n \n \nwithUserIds(userIds: ObjectId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/entity/testing/factory/class.entity.factory.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userIds\n \n ObjectId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ClassEntity, ClassEntityProps, ClassSourceOptionsEntity } from '@modules/class/entity';\nimport { BaseFactory } from '@shared/testing/factory/base.factory';\nimport { ObjectId } from 'bson';\nimport { DeepPartial } from 'fishery';\n\nclass ClassEntityFactory extends BaseFactory {\n\twithUserIds(userIds: ObjectId[]): this {\n\t\tconst params: DeepPartial = {\n\t\t\tuserIds,\n\t\t};\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const classEntityFactory = ClassEntityFactory.define(ClassEntity, ({ sequence }) => {\n\treturn {\n\t\tname: `name-${sequence}`,\n\t\tschoolId: new ObjectId(),\n\t\tuserIds: new Array(),\n\t\tteacherIds: [new ObjectId(), new ObjectId()],\n\t\tinvitationLink: `link-${sequence}`,\n\t\tyear: new ObjectId(),\n\t\tgradeLevel: sequence,\n\t\tldapDN: `dn-${sequence}`,\n\t\tsuccessor: new ObjectId(),\n\t\tsource: `source-${sequence}`,\n\t\tsourceOptions: new ClassSourceOptionsEntity({ tspUid: `id-${sequence}` }),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ClassEntityProps.html":{"url":"interfaces/ClassEntityProps.html","title":"interface - ClassEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ClassEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/entity/class.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n gradeLevel\n \n \n \n Optional\n \n id\n \n \n \n Optional\n \n invitationLink\n \n \n \n Optional\n \n ldapDN\n \n \n \n \n name\n \n \n \n \n schoolId\n \n \n \n Optional\n \n source\n \n \n \n Optional\n \n sourceOptions\n \n \n \n Optional\n \n successor\n \n \n \n \n teacherIds\n \n \n \n Optional\n \n userIds\n \n \n \n Optional\n \n year\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n gradeLevel\n \n \n \n \n \n \n \n \n gradeLevel: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n invitationLink\n \n \n \n \n \n \n \n \n invitationLink: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n ldapDN\n \n \n \n \n \n \n \n \n ldapDN: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n schoolId: ObjectId\n\n \n \n\n\n \n \n Type : ObjectId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n source\n \n \n \n \n \n \n \n \n source: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n sourceOptions\n \n \n \n \n \n \n \n \n sourceOptions: ClassSourceOptionsEntity\n\n \n \n\n\n \n \n Type : ClassSourceOptionsEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n successor\n \n \n \n \n \n \n \n \n successor: ObjectId\n\n \n \n\n\n \n \n Type : ObjectId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n teacherIds\n \n \n \n \n \n \n \n \n teacherIds: ObjectId[]\n\n \n \n\n\n \n \n Type : ObjectId[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n userIds\n \n \n \n \n \n \n \n \n userIds: ObjectId[]\n\n \n \n\n\n \n \n Type : ObjectId[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n year\n \n \n \n \n \n \n \n \n year: ObjectId\n\n \n \n\n\n \n \n Type : ObjectId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Embedded, Entity, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { ClassSourceOptionsEntity } from './class-source-options.entity';\n\nexport interface ClassEntityProps {\n\tid?: EntityId;\n\tname: string;\n\tschoolId: ObjectId;\n\tuserIds?: ObjectId[];\n\tteacherIds: ObjectId[];\n\tinvitationLink?: string;\n\tyear?: ObjectId;\n\tgradeLevel?: number;\n\tldapDN?: string;\n\tsuccessor?: ObjectId;\n\tsource?: string;\n\tsourceOptions?: ClassSourceOptionsEntity;\n}\n\n@Entity({ tableName: 'classes' })\n@Index({ properties: ['year', 'ldapDN'] })\nexport class ClassEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tname: string;\n\n\t@Property()\n\t@Index()\n\tschoolId: ObjectId;\n\n\t@Property({ nullable: true })\n\t@Index()\n\tuserIds?: ObjectId[];\n\n\t@Property()\n\t@Index()\n\tteacherIds: ObjectId[];\n\n\t@Property({ nullable: true })\n\tinvitationLink?: string;\n\n\t@Property({ nullable: true })\n\tyear?: ObjectId;\n\n\t@Property({ nullable: true })\n\tgradeLevel?: number;\n\n\t@Property({ nullable: true })\n\tldapDN?: string;\n\n\t@Property({ nullable: true })\n\tsuccessor?: ObjectId;\n\n\t@Property({ nullable: true })\n\t@Index()\n\tsource?: string;\n\n\t@Embedded(() => ClassSourceOptionsEntity, { object: true, nullable: true })\n\tsourceOptions?: ClassSourceOptionsEntity;\n\n\tprivate validate(props: ClassEntityProps) {\n\t\tif (props.gradeLevel !== undefined && (props.gradeLevel 13)) {\n\t\t\tthrow new Error('gradeLevel must be value beetween 1 and 13');\n\t\t}\n\t}\n\n\tconstructor(props: ClassEntityProps) {\n\t\tsuper();\n\t\tthis.validate(props);\n\n\t\tif (props.id !== undefined) {\n\t\t\tthis.id = props.id;\n\t\t}\n\n\t\tthis.name = props.name;\n\t\tthis.schoolId = props.schoolId;\n\n\t\tif (props.userIds !== undefined) {\n\t\t\tthis.userIds = props.userIds;\n\t\t}\n\n\t\tthis.teacherIds = props.teacherIds;\n\n\t\tif (props.invitationLink !== undefined) {\n\t\t\tthis.invitationLink = props.invitationLink;\n\t\t}\n\n\t\tif (props.year !== undefined) {\n\t\t\tthis.year = props.year;\n\t\t}\n\t\tif (props.gradeLevel !== undefined) {\n\t\t\tthis.gradeLevel = props.gradeLevel;\n\t\t}\n\t\tif (props.ldapDN !== undefined) {\n\t\t\tthis.ldapDN = props.ldapDN;\n\t\t}\n\n\t\tif (props.successor !== undefined) {\n\t\t\tthis.successor = props.successor;\n\t\t}\n\n\t\tif (props.source !== undefined) {\n\t\t\tthis.source = props.source;\n\t\t}\n\n\t\tif (props.sourceOptions !== undefined) {\n\t\t\tthis.sourceOptions = props.sourceOptions;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ClassFactory.html":{"url":"classes/ClassFactory.html","title":"class - ClassFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ClassFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/domain/testing/factory/class.factory.ts\n \n\n\n\n \n Extends\n \n \n DoBaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withUserIds\n \n \n \n buildWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withUserIds\n \n \n \n \n \n \nwithUserIds(userIds: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/domain/testing/factory/class.factory.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userIds\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \n \n buildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DoBaseFactory } from '@shared/testing';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { DeepPartial } from 'fishery';\nimport { Class, ClassProps } from '../../class.do';\nimport { ClassSourceOptions } from '../../class-source-options.do';\n\nclass ClassFactory extends DoBaseFactory {\n\twithUserIds(userIds: string[]): this {\n\t\tconst params: DeepPartial = {\n\t\t\tuserIds,\n\t\t};\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const classFactory = ClassFactory.define(Class, ({ sequence }) => {\n\treturn {\n\t\tid: new ObjectId().toHexString(),\n\t\tname: `name-${sequence}`,\n\t\tschoolId: new ObjectId().toHexString(),\n\t\tuserIds: [new ObjectId().toHexString(), new ObjectId().toHexString()],\n\t\tteacherIds: [new ObjectId().toHexString(), new ObjectId().toHexString()],\n\t\tinvitationLink: `link-${sequence}`,\n\t\tyear: new ObjectId().toHexString(),\n\t\tgradeLevel: sequence,\n\t\tldapDN: `dn-${sequence}`,\n\t\tsuccessor: new ObjectId().toHexString(),\n\t\tsource: `source-${sequence}`,\n\t\tsourceOptions: new ClassSourceOptions({ tspUid: `id-${sequence}` }),\n\t\tcreatedAt: new Date(),\n\t\tupdatedAt: new Date(),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ClassFilterParams.html":{"url":"classes/ClassFilterParams.html","title":"class - ClassFilterParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ClassFilterParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/controller/dto/request/class-filter-params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n type\n \n \n \n \n \n \n Type : SchoolYearQueryType\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsEnum(SchoolYearQueryType)@ApiPropertyOptional({enum: SchoolYearQueryType, enumName: 'SchoolYearQueryType'})\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/request/class-filter-params.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsEnum, IsOptional } from 'class-validator';\nimport { SchoolYearQueryType } from '../interface';\n\nexport class ClassFilterParams {\n\t@IsOptional()\n\t@IsEnum(SchoolYearQueryType)\n\t@ApiPropertyOptional({ enum: SchoolYearQueryType, enumName: 'SchoolYearQueryType' })\n\ttype?: SchoolYearQueryType;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ClassInfoDto.html":{"url":"classes/ClassInfoDto.html","title":"class - ClassInfoDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ClassInfoDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/uc/dto/class-info.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n externalSourceName\n \n \n id\n \n \n Optional\n isUpgradable\n \n \n name\n \n \n Optional\n schoolYear\n \n \n studentCount\n \n \n teacherNames\n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ClassInfoDto)\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/class-info.dto.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ClassInfoDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n externalSourceName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/class-info.dto.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/class-info.dto.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n isUpgradable\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/class-info.dto.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/class-info.dto.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n schoolYear\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/class-info.dto.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n studentCount\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/class-info.dto.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n teacherNames\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/class-info.dto.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ClassRootType\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/class-info.dto.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ClassRootType } from './class-root-type';\n\nexport class ClassInfoDto {\n\tid: string;\n\n\ttype: ClassRootType;\n\n\tname: string;\n\n\texternalSourceName?: string;\n\n\tteacherNames: string[];\n\n\tschoolYear?: string;\n\n\tisUpgradable?: boolean;\n\n\tstudentCount: number;\n\n\tconstructor(props: ClassInfoDto) {\n\t\tthis.id = props.id;\n\t\tthis.type = props.type;\n\t\tthis.name = props.name;\n\t\tthis.externalSourceName = props.externalSourceName;\n\t\tthis.teacherNames = props.teacherNames;\n\t\tthis.schoolYear = props.schoolYear;\n\t\tthis.isUpgradable = props.isUpgradable;\n\t\tthis.studentCount = props.studentCount;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ClassInfoResponse.html":{"url":"classes/ClassInfoResponse.html","title":"class - ClassInfoResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ClassInfoResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/controller/dto/response/class-info.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n externalSourceName\n \n \n \n id\n \n \n \n Optional\n isUpgradable\n \n \n \n name\n \n \n \n Optional\n schoolYear\n \n \n \n studentCount\n \n \n \n teachers\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ClassInfoResponse)\n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/class-info.response.ts:27\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ClassInfoResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n externalSourceName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/class-info.response.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/class-info.response.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n isUpgradable\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/class-info.response.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/class-info.response.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n schoolYear\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/class-info.response.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n studentCount\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/class-info.response.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n teachers\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/class-info.response.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ClassRootType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ClassRootType})\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/class-info.response.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { ClassRootType } from '../../../uc/dto/class-root-type';\n\nexport class ClassInfoResponse {\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty({ enum: ClassRootType })\n\ttype: ClassRootType;\n\n\t@ApiProperty()\n\tname: string;\n\n\t@ApiPropertyOptional()\n\texternalSourceName?: string;\n\n\t@ApiProperty({ type: [String] })\n\tteachers: string[];\n\n\t@ApiPropertyOptional()\n\tschoolYear?: string;\n\n\t@ApiPropertyOptional()\n\tisUpgradable?: boolean;\n\n\t@ApiProperty()\n\tstudentCount: number;\n\n\tconstructor(props: ClassInfoResponse) {\n\t\tthis.id = props.id;\n\t\tthis.type = props.type;\n\t\tthis.name = props.name;\n\t\tthis.externalSourceName = props.externalSourceName;\n\t\tthis.teachers = props.teachers;\n\t\tthis.schoolYear = props.schoolYear;\n\t\tthis.isUpgradable = props.isUpgradable;\n\t\tthis.studentCount = props.studentCount;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ClassInfoSearchListResponse.html":{"url":"classes/ClassInfoSearchListResponse.html","title":"class - ClassInfoSearchListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ClassInfoSearchListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/controller/dto/response/class-info-search-list.response.ts\n \n\n\n\n \n Extends\n \n \n PaginationResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: ClassInfoResponse[], total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/class-info-search-list.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n ClassInfoResponse[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : ClassInfoResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:14\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { PaginationResponse } from '@shared/controller';\nimport { ClassInfoResponse } from './class-info.response';\n\nexport class ClassInfoSearchListResponse extends PaginationResponse {\n\tconstructor(data: ClassInfoResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [ClassInfoResponse] })\n\tdata: ClassInfoResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ClassMapper.html":{"url":"classes/ClassMapper.html","title":"class - ClassMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ClassMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/repo/mapper/class.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Static\n mapToDO\n \n \n Static\n mapToDOs\n \n \n Static\n mapToEntities\n \n \n Static\n mapToEntity\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Static\n mapToDO\n \n \n \n \n \n \n \n mapToDO(entity: ClassEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/repo/mapper/class.mapper.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n ClassEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Class\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToDOs\n \n \n \n \n \n \n \n mapToDOs(entities: ClassEntity[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/repo/mapper/class.mapper.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n ClassEntity[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Class[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToEntities\n \n \n \n \n \n \n \n mapToEntities(domainObjects: Class[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/repo/mapper/class.mapper.ts:47\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n Class[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ClassEntity[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToEntity\n \n \n \n \n \n \n \n mapToEntity(domainObject: Class)\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/repo/mapper/class.mapper.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n Class\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ClassEntity\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { Class } from '../../domain';\nimport { ClassSourceOptions } from '../../domain/class-source-options.do';\nimport { ClassEntity } from '../../entity';\n\nexport class ClassMapper {\n\tprivate static mapToDO(entity: ClassEntity): Class {\n\t\treturn new Class({\n\t\t\tid: entity.id,\n\t\t\tname: entity.name,\n\t\t\tschoolId: entity.schoolId.toHexString(),\n\t\t\tuserIds: entity.userIds?.map((userId) => userId.toHexString()),\n\t\t\tteacherIds: entity.teacherIds.map((teacherId) => teacherId.toHexString()),\n\t\t\tinvitationLink: entity.invitationLink,\n\t\t\tyear: entity.year?.toHexString(),\n\t\t\tgradeLevel: entity.gradeLevel,\n\t\t\tldapDN: entity.ldapDN,\n\t\t\tsuccessor: entity.successor?.toHexString(),\n\t\t\tsource: entity.source,\n\t\t\tsourceOptions: new ClassSourceOptions({ tspUid: entity.sourceOptions?.tspUid }),\n\t\t\tcreatedAt: entity.createdAt,\n\t\t\tupdatedAt: entity.updatedAt,\n\t\t});\n\t}\n\n\tstatic mapToEntity(domainObject: Class): ClassEntity {\n\t\treturn new ClassEntity({\n\t\t\tid: domainObject.id,\n\t\t\tname: domainObject.name,\n\t\t\tschoolId: new ObjectId(domainObject.schoolId),\n\t\t\tteacherIds: domainObject.teacherIds.map((teacherId) => new ObjectId(teacherId)),\n\t\t\tuserIds: domainObject.userIds?.map((userId) => new ObjectId(userId)),\n\t\t\tinvitationLink: domainObject.invitationLink,\n\t\t\tyear: domainObject.year !== undefined ? new ObjectId(domainObject.year) : undefined,\n\t\t\tgradeLevel: domainObject.gradeLevel,\n\t\t\tldapDN: domainObject.ldapDN,\n\t\t\tsuccessor: domainObject.successor !== undefined ? new ObjectId(domainObject.successor) : undefined,\n\t\t\tsource: domainObject.source,\n\t\t\tsourceOptions: domainObject.sourceOptions,\n\t\t});\n\t}\n\n\tstatic mapToDOs(entities: ClassEntity[]): Class[] {\n\t\treturn entities.map((entity) => this.mapToDO(entity));\n\t}\n\n\tstatic mapToEntities(domainObjects: Class[]): ClassEntity[] {\n\t\treturn domainObjects.map((domainObject) => this.mapToEntity(domainObject));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ClassModule.html":{"url":"modules/ClassModule.html","title":"module - ClassModule","body":"\n \n\n\n\n\n Modules\n ClassModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ClassModule\n\n\n\ncluster_ClassModule_exports\n\n\n\ncluster_ClassModule_providers\n\n\n\n\nClassService \n\nClassService \n\n\n\nClassModule\n\nClassModule\n\nClassService -->\n\nClassModule->ClassService \n\n\n\n\n\nClassService\n\nClassService\n\nClassModule -->\n\nClassService->ClassModule\n\n\n\n\n\nClassesRepo\n\nClassesRepo\n\nClassModule -->\n\nClassesRepo->ClassModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/class/class.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ClassService\n \n \n ClassesRepo\n \n \n \n \n Exports\n \n \n ClassService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { ClassService } from './service';\nimport { ClassesRepo } from './repo';\n\n@Module({\n\tproviders: [ClassService, ClassesRepo],\n\texports: [ClassService],\n})\nexport class ClassModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ClassProps.html":{"url":"interfaces/ClassProps.html","title":"interface - ClassProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ClassProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/domain/class.do.ts\n \n\n\n\n \n Extends\n \n \n AuthorizableObject\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n createdAt\n \n \n \n Optional\n \n gradeLevel\n \n \n \n Optional\n \n invitationLink\n \n \n \n Optional\n \n ldapDN\n \n \n \n \n name\n \n \n \n \n schoolId\n \n \n \n Optional\n \n source\n \n \n \n Optional\n \n sourceOptions\n \n \n \n Optional\n \n successor\n \n \n \n \n teacherIds\n \n \n \n \n updatedAt\n \n \n \n Optional\n \n userIds\n \n \n \n Optional\n \n year\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n gradeLevel\n \n \n \n \n \n \n \n \n gradeLevel: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n invitationLink\n \n \n \n \n \n \n \n \n invitationLink: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n ldapDN\n \n \n \n \n \n \n \n \n ldapDN: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n schoolId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n source\n \n \n \n \n \n \n \n \n source: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n sourceOptions\n \n \n \n \n \n \n \n \n sourceOptions: ClassSourceOptions\n\n \n \n\n\n \n \n Type : ClassSourceOptions\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n successor\n \n \n \n \n \n \n \n \n successor: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n teacherIds\n \n \n \n \n \n \n \n \n teacherIds: EntityId[]\n\n \n \n\n\n \n \n Type : EntityId[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n userIds\n \n \n \n \n \n \n \n \n userIds: EntityId[]\n\n \n \n\n\n \n \n Type : EntityId[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n year\n \n \n \n \n \n \n \n \n year: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { AuthorizableObject, DomainObject } from '../../../shared/domain/domain-object';\nimport { ClassSourceOptions } from './class-source-options.do';\n\nexport interface ClassProps extends AuthorizableObject {\n\tname: string;\n\tschoolId: EntityId;\n\tuserIds?: EntityId[];\n\tteacherIds: EntityId[];\n\tinvitationLink?: string;\n\tyear?: EntityId;\n\tgradeLevel?: number;\n\tldapDN?: string;\n\tsuccessor?: EntityId;\n\tsource?: string;\n\tsourceOptions?: ClassSourceOptions;\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\nexport class Class extends DomainObject {\n\tget name(): string {\n\t\treturn this.props.name;\n\t}\n\n\tget schoolId(): EntityId {\n\t\treturn this.props.schoolId;\n\t}\n\n\tget userIds(): EntityId[] | undefined {\n\t\treturn this.props.userIds;\n\t}\n\n\tget teacherIds(): EntityId[] {\n\t\treturn this.props.teacherIds;\n\t}\n\n\tget invitationLink(): string | undefined {\n\t\treturn this.props.invitationLink;\n\t}\n\n\tget year(): EntityId | undefined {\n\t\treturn this.props.year;\n\t}\n\n\tget gradeLevel(): number | undefined {\n\t\treturn this.props.gradeLevel;\n\t}\n\n\tget ldapDN(): string | undefined {\n\t\treturn this.props.ldapDN;\n\t}\n\n\tget successor(): EntityId | undefined {\n\t\treturn this.props.successor;\n\t}\n\n\tget source(): string | undefined {\n\t\treturn this.props.source;\n\t}\n\n\tget sourceOptions(): ClassSourceOptions | undefined {\n\t\treturn this.props.sourceOptions;\n\t}\n\n\tget createdAt(): Date {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date {\n\t\treturn this.props.updatedAt;\n\t}\n\n\tpublic removeUser(userId: string) {\n\t\tthis.props.userIds = this.props.userIds?.filter((userId1) => userId1 !== userId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ClassService.html":{"url":"injectables/ClassService.html","title":"injectable - ClassService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ClassService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/service/class.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n deleteUserDataFromClasses\n \n \n Public\n Async\n findAllByUserId\n \n \n Public\n Async\n findClassesForSchool\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(classesRepo: ClassesRepo)\n \n \n \n \n Defined in apps/server/src/modules/class/service/class.service.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n classesRepo\n \n \n ClassesRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n deleteUserDataFromClasses\n \n \n \n \n \n \n \n deleteUserDataFromClasses(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/service/class.service.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findAllByUserId\n \n \n \n \n \n \n \n findAllByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/service/class.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findClassesForSchool\n \n \n \n \n \n \n \n findClassesForSchool(schoolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/service/class.service.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { Class } from '../domain';\nimport { ClassesRepo } from '../repo';\n\n@Injectable()\nexport class ClassService {\n\tconstructor(private readonly classesRepo: ClassesRepo) {}\n\n\tpublic async findClassesForSchool(schoolId: EntityId): Promise {\n\t\tconst classes: Class[] = await this.classesRepo.findAllBySchoolId(schoolId);\n\n\t\treturn classes;\n\t}\n\n\tpublic async findAllByUserId(userId: EntityId): Promise {\n\t\tconst classes: Class[] = await this.classesRepo.findAllByUserId(userId);\n\n\t\treturn classes;\n\t}\n\n\t// FIXME There is no usage of this method\n\tpublic async deleteUserDataFromClasses(userId: EntityId): Promise {\n\t\tif (!userId) {\n\t\t\tthrow new InternalServerErrorException('User id is missing');\n\t\t}\n\n\t\tconst domainObjects = await this.classesRepo.findAllByUserId(userId);\n\n\t\tconst updatedClasses: Class[] = domainObjects.map((domainObject) => {\n\t\t\tif (domainObject.userIds !== undefined) {\n\t\t\t\tdomainObject.removeUser(userId);\n\t\t\t}\n\t\t\treturn domainObject;\n\t\t});\n\n\t\tawait this.classesRepo.updateMany(updatedClasses);\n\n\t\treturn updatedClasses.length;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ClassSortParams.html":{"url":"classes/ClassSortParams.html","title":"class - ClassSortParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ClassSortParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/controller/dto/request/class-sort-params.ts\n \n\n\n\n \n Extends\n \n \n SortingParams\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n sortBy\n \n \n \n \n \n sortOrder\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n sortBy\n \n \n \n \n \n \n Type : ClassSortBy\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsEnum(ClassSortBy)@ApiPropertyOptional({enum: ClassSortBy})\n \n \n \n \n \n Inherited from SortingParams\n\n \n \n \n \n Defined in SortingParams:10\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n sortOrder\n \n \n \n \n \n \n Type : SortOrder\n\n \n \n \n \n Default value : SortOrder.asc\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsEnum(SortOrder)@ApiPropertyOptional({enum: SortOrder})\n \n \n \n \n \n Inherited from SortingParams\n\n \n \n \n \n Defined in SortingParams:18\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { SortingParams } from '@shared/controller';\nimport { IsEnum, IsOptional } from 'class-validator';\nimport { ClassSortBy } from '../interface';\n\nexport class ClassSortParams extends SortingParams {\n\t@IsOptional()\n\t@IsEnum(ClassSortBy)\n\t@ApiPropertyOptional({ enum: ClassSortBy })\n\tsortBy?: ClassSortBy;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ClassSourceOptions.html":{"url":"classes/ClassSourceOptions.html","title":"class - ClassSourceOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ClassSourceOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/domain/class-source-options.do.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n tspUid\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ClassSourceOptionsProps)\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class-source-options.do.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ClassSourceOptionsProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : ClassSourceOptionsProps\n\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class-source-options.do.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n tspUid\n \n \n\n \n \n gettspUid()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class-source-options.do.ts:12\n \n \n\n \n \n\n \n\n\n \n export interface ClassSourceOptionsProps {\n\ttspUid?: string;\n}\n\nexport class ClassSourceOptions {\n\tprotected props: ClassSourceOptionsProps;\n\n\tconstructor(props: ClassSourceOptionsProps) {\n\t\tthis.props = props;\n\t}\n\n\tget tspUid(): string | undefined {\n\t\treturn this.props.tspUid;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ClassSourceOptionsEntity.html":{"url":"classes/ClassSourceOptionsEntity.html","title":"class - ClassSourceOptionsEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ClassSourceOptionsEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/entity/class-source-options.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n tspUid\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ClassSourceOptionsEntityProps)\n \n \n \n \n Defined in apps/server/src/modules/class/entity/class-source-options.entity.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ClassSourceOptionsEntityProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n tspUid\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class-source-options.entity.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Property } from '@mikro-orm/core';\n\nexport interface ClassSourceOptionsEntityProps {\n\ttspUid?: string;\n}\n\n@Embeddable()\nexport class ClassSourceOptionsEntity {\n\t@Property({ nullable: true })\n\ttspUid?: string;\n\n\tconstructor(props: ClassSourceOptionsEntityProps) {\n\t\tif (props.tspUid !== undefined) {\n\t\t\tthis.tspUid = props.tspUid;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ClassSourceOptionsEntityProps.html":{"url":"interfaces/ClassSourceOptionsEntityProps.html","title":"interface - ClassSourceOptionsEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ClassSourceOptionsEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/entity/class-source-options.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n tspUid\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n tspUid\n \n \n \n \n \n \n \n \n tspUid: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Embeddable, Property } from '@mikro-orm/core';\n\nexport interface ClassSourceOptionsEntityProps {\n\ttspUid?: string;\n}\n\n@Embeddable()\nexport class ClassSourceOptionsEntity {\n\t@Property({ nullable: true })\n\ttspUid?: string;\n\n\tconstructor(props: ClassSourceOptionsEntityProps) {\n\t\tif (props.tspUid !== undefined) {\n\t\t\tthis.tspUid = props.tspUid;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ClassSourceOptionsProps.html":{"url":"interfaces/ClassSourceOptionsProps.html","title":"interface - ClassSourceOptionsProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ClassSourceOptionsProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/domain/class-source-options.do.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n tspUid\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n tspUid\n \n \n \n \n \n \n \n \n tspUid: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface ClassSourceOptionsProps {\n\ttspUid?: string;\n}\n\nexport class ClassSourceOptions {\n\tprotected props: ClassSourceOptionsProps;\n\n\tconstructor(props: ClassSourceOptionsProps) {\n\t\tthis.props = props;\n\t}\n\n\tget tspUid(): string | undefined {\n\t\treturn this.props.tspUid;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ClassesRepo.html":{"url":"injectables/ClassesRepo.html","title":"injectable - ClassesRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ClassesRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/repo/classes.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findAllBySchoolId\n \n \n Async\n findAllByUserId\n \n \n Async\n updateMany\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/class/repo/classes.repo.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findAllBySchoolId\n \n \n \n \n \n \n \n findAllBySchoolId(schoolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/repo/classes.repo.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllByUserId\n \n \n \n \n \n \n \n findAllByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/repo/classes.repo.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateMany\n \n \n \n \n \n \n \n updateMany(classes: Class[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/repo/classes.repo.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n classes\n \n Class[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager, ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { EntityId } from '@shared/domain/types';\nimport { Class } from '../domain';\nimport { ClassEntity } from '../entity';\nimport { ClassMapper } from './mapper';\n\n@Injectable()\nexport class ClassesRepo {\n\tconstructor(private readonly em: EntityManager) {}\n\n\tasync findAllBySchoolId(schoolId: EntityId): Promise {\n\t\tconst classes: ClassEntity[] = await this.em.find(ClassEntity, { schoolId: new ObjectId(schoolId) });\n\n\t\tconst mapped: Class[] = ClassMapper.mapToDOs(classes);\n\n\t\treturn mapped;\n\t}\n\n\tasync findAllByUserId(userId: EntityId): Promise {\n\t\tconst classes: ClassEntity[] = await this.em.find(ClassEntity, {\n\t\t\t$or: [{ userIds: new ObjectId(userId) }, { teacherIds: new ObjectId(userId) }],\n\t\t});\n\n\t\tconst mapped: Class[] = ClassMapper.mapToDOs(classes);\n\n\t\treturn mapped;\n\t}\n\n\tasync updateMany(classes: Class[]): Promise {\n\t\tconst classMap: Map = new Map(\n\t\t\tclasses.map((clazz: Class): [string, Class] => [clazz.id, clazz])\n\t\t);\n\n\t\tconst existingEntities: ClassEntity[] = await this.em.find(ClassEntity, {\n\t\t\tid: { $in: Array.from(classMap.keys()) },\n\t\t});\n\n\t\tif (existingEntities.length !existingEntities.find((entity) => entity.id === classId)\n\t\t\t);\n\n\t\t\tthrow new NotFoundLoggableException(Class.name, 'id', missingEntityIds.toString());\n\t\t}\n\n\t\texistingEntities.forEach((entity) => {\n\t\t\tconst updatedDomainObject: Class | undefined = classMap.get(entity.id);\n\n\t\t\tconst updatedEntity: ClassEntity = ClassMapper.mapToEntity(updatedDomainObject as Class);\n\n\t\t\tthis.em.assign(entity, updatedEntity);\n\t\t});\n\n\t\tawait this.em.persistAndFlush(existingEntities);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CleanOptions.html":{"url":"interfaces/CleanOptions.html","title":"interface - CleanOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CleanOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n pageSize\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n pageSize\n \n \n \n \n \n \n \n \n pageSize: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { ConsoleWriterService } from '@infra/console';\nimport { LegacyLogger } from '@src/core/logger';\nimport { Command, CommandOption, Console } from 'nestjs-console';\nimport { KeycloakConfigurationUc } from '../uc/keycloak-configuration.uc';\n\nconst defaultError = new Error('IDM is not reachable or authentication failed.');\n\ninterface RetryOptions {\n\tretryCount?: number;\n\tretryDelay?: number;\n}\n\ninterface MigrationOptions {\n\tskip?: number;\n\tquery?: string;\n\tverbose?: boolean;\n}\n\ninterface CleanOptions {\n\tpageSize?: number;\n}\n@Console({ command: 'idm', description: 'Prefixes all Identity Management (IDM) related console commands.' })\nexport class KeycloakConsole {\n\tconstructor(\n\t\tprivate readonly console: ConsoleWriterService,\n\t\tprivate readonly keycloakConfigurationUc: KeycloakConfigurationUc,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(KeycloakConsole.name);\n\t}\n\n\tstatic retryFlags: CommandOption[] = [\n\t\t{\n\t\t\tflags: '-rc, --retry-count ',\n\t\t\tdescription: 'If the command fails, it will be retried this number of times. Default is no retry.',\n\t\t\trequired: false,\n\t\t\tdefaultValue: 1,\n\t\t},\n\t\t{\n\t\t\tflags: '-rd, --retry-delay ',\n\t\t\tdescription: 'If \"retry\" is active, this delay is used between each retry. Default is 10 seconds.',\n\t\t\trequired: false,\n\t\t\tdefaultValue: 10,\n\t\t},\n\t];\n\n\t/**\n\t * For local development. Checks if connection to IDM is working.\n\t */\n\t@Command({ command: 'check', description: 'Test the connection to the IDM.' })\n\tasync check(): Promise {\n\t\tif (await this.keycloakConfigurationUc.check()) {\n\t\t\tthis.console.info('Connected to IDM');\n\t\t} else {\n\t\t\tthrow defaultError;\n\t\t}\n\t}\n\n\t/**\n\t * Cleans users from IDM\n\t *\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'clean',\n\t\tdescription: 'Remove all users from the IDM.',\n\t\toptions: [\n\t\t\t...KeycloakConsole.retryFlags,\n\t\t\t{\n\t\t\t\tflags: '- mps, --maxPageSize ',\n\t\t\t\tdescription: 'Maximum users to delete per Keycloak API session. Default 100.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: 100,\n\t\t\t},\n\t\t],\n\t})\n\tasync clean(options: RetryOptions & CleanOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'clean',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.clean(options.pageSize ? Number(options.pageSize) : 100);\n\t\t\t\tthis.console.info(`Cleaned ${count} users in IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * For local development. Seeds user into IDM\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'seed',\n\t\tdescription: 'Add all seed users to the IDM.',\n\t\toptions: KeycloakConsole.retryFlags,\n\t})\n\tasync seed(options: RetryOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'seed',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.seed();\n\t\t\t\tthis.console.info(`Seeded ${count} users into IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * Used in production and for local development to transfer configuration to keycloak.\n\t *\n\t */\n\t@Command({\n\t\tcommand: 'configure',\n\t\tdescription: 'Configures Keycloak identity providers.',\n\t\toptions: [...KeycloakConsole.retryFlags],\n\t})\n\tasync configure(options: RetryOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'configure',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.configure();\n\t\t\t\tthis.console.info(`Configured ${count} identity provider(s).`);\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * For migration purpose. Moves all database accounts to the IDM\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'migrate',\n\t\tdescription: 'Add all database users to the IDM.',\n\t\toptions: [\n\t\t\t...KeycloakConsole.retryFlags,\n\t\t\t{\n\t\t\t\tflags: '-s, --skip',\n\t\t\t\tdescription: 'Skip the first \"s\" accounts during migration. Default 0.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: undefined,\n\t\t\t},\n\t\t\t{\n\t\t\t\tflags: '-v, --verbose',\n\t\t\t\tdescription: 'Log all events. Default is false.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: false,\n\t\t\t},\n\t\t],\n\t})\n\tasync migrate(options: RetryOptions & MigrationOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'migrate',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.migrate(\n\t\t\t\t\toptions.skip ? Number(options.skip) : undefined,\n\t\t\t\t\toptions.verbose ? Boolean(options.verbose) : false\n\t\t\t\t);\n\t\t\t\tthis.console.info(`Migrated ${count} users into IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\tprivate async repeatCommand(commandName: string, command: () => Promise, count = 1, delay = 10): Promise {\n\t\tlet repetitions = 0;\n\t\tlet error = new Error('error could be thrown if count is {\n\t\t\tsetTimeout(resolve, ms);\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CloseUserLoginMigrationUc.html":{"url":"injectables/CloseUserLoginMigrationUc.html","title":"injectable - CloseUserLoginMigrationUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CloseUserLoginMigrationUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/uc/close-user-login-migration.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n closeMigration\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userLoginMigrationService: UserLoginMigrationService, schoolMigrationService: SchoolMigrationService, userLoginMigrationRevertService: UserLoginMigrationRevertService, authorizationService: AuthorizationService)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/uc/close-user-login-migration.uc.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigrationService\n \n \n UserLoginMigrationService\n \n \n \n No\n \n \n \n \n schoolMigrationService\n \n \n SchoolMigrationService\n \n \n \n No\n \n \n \n \n userLoginMigrationRevertService\n \n \n UserLoginMigrationRevertService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n closeMigration\n \n \n \n \n \n \n \n closeMigration(userId: EntityId, schoolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/uc/close-user-login-migration.uc.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { UserLoginMigrationNotFoundLoggableException } from '../loggable';\nimport { SchoolMigrationService, UserLoginMigrationRevertService, UserLoginMigrationService } from '../service';\n\n@Injectable()\nexport class CloseUserLoginMigrationUc {\n\tconstructor(\n\t\tprivate readonly userLoginMigrationService: UserLoginMigrationService,\n\t\tprivate readonly schoolMigrationService: SchoolMigrationService,\n\t\tprivate readonly userLoginMigrationRevertService: UserLoginMigrationRevertService,\n\t\tprivate readonly authorizationService: AuthorizationService\n\t) {}\n\n\tasync closeMigration(userId: EntityId, schoolId: EntityId): Promise {\n\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationService.findMigrationBySchool(\n\t\t\tschoolId\n\t\t);\n\n\t\tif (!userLoginMigration) {\n\t\t\tthrow new UserLoginMigrationNotFoundLoggableException(schoolId);\n\t\t}\n\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(userId);\n\t\tthis.authorizationService.checkPermission(\n\t\t\tuser,\n\t\t\tuserLoginMigration,\n\t\t\tAuthorizationContextBuilder.write([Permission.USER_LOGIN_MIGRATION_ADMIN])\n\t\t);\n\n\t\tconst updatedUserLoginMigration: UserLoginMigrationDO = await this.userLoginMigrationService.closeMigration(\n\t\t\tuserLoginMigration\n\t\t);\n\n\t\tconst hasSchoolMigratedUser: boolean = await this.schoolMigrationService.hasSchoolMigratedUser(schoolId);\n\n\t\tif (!hasSchoolMigratedUser) {\n\t\t\tawait this.userLoginMigrationRevertService.revertUserLoginMigration(updatedUserLoginMigration);\n\n\t\t\treturn undefined;\n\t\t}\n\n\t\tawait this.schoolMigrationService.markUnmigratedUsersAsOutdated(updatedUserLoginMigration);\n\n\t\treturn updatedUserLoginMigration;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CollaborativeStorageAdapter.html":{"url":"injectables/CollaborativeStorageAdapter.html","title":"injectable - CollaborativeStorageAdapter","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CollaborativeStorageAdapter\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/collaborative-storage.adapter.ts\n \n\n\n \n Description\n \n \n Provides an Adapter to an external collaborative storage.\nIt loads an appropriate strategy and applies that to the given data.\n\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n strategy\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n createTeam\n \n \n deleteTeam\n \n \n setStrategy\n \n \n updateTeam\n \n \n updateTeamPermissionsForRole\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(strategy: CollaborativeStorageStrategy, mapper: CollaborativeStorageAdapterMapper, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/infra/collaborative-storage/collaborative-storage.adapter.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n strategy\n \n \n CollaborativeStorageStrategy\n \n \n \n No\n \n \n \n \n mapper\n \n \n CollaborativeStorageAdapterMapper\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n createTeam\n \n \n \n \n \n \ncreateTeam(team: TeamDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/collaborative-storage.adapter.ts:58\n \n \n\n\n \n \n Creates a team in the collaborative storage\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n The team DTO\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n deleteTeam\n \n \n \n \n \n \ndeleteTeam(teamId: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/collaborative-storage.adapter.ts:49\n \n \n\n\n \n \n Deletes a team in the collaborative storage\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n teamId\n \n string\n \n\n \n No\n \n\n\n \n The team id\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setStrategy\n \n \n \n \n \n \nsetStrategy(strategy: CollaborativeStorageStrategy)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/collaborative-storage.adapter.ts:30\n \n \n\n\n \n \n Set the strategy that should be used by the adapter\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n strategy\n \n CollaborativeStorageStrategy\n \n\n \n No\n \n\n\n \n The strategy\n\n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateTeam\n \n \n \n \n \n \nupdateTeam(team: TeamDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/collaborative-storage.adapter.ts:67\n \n \n\n\n \n \n Updates a team in the collaborative storage\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n The team DTO\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateTeamPermissionsForRole\n \n \n \n \n \n \nupdateTeamPermissionsForRole(team: TeamDto, role: RoleDto, permissions: TeamPermissionsDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/collaborative-storage.adapter.ts:40\n \n \n\n\n \n \n Update the Permissions for a given Role in the given Team\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n The Team DTO\n\n \n \n \n role\n \n RoleDto\n \n\n \n No\n \n\n\n \n The Role DTO\n\n \n \n \n permissions\n \n TeamPermissionsDto\n \n\n \n No\n \n\n\n \n The permissions to set\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n strategy\n \n \n \n \n \n \n Type : CollaborativeStorageStrategy\n\n \n \n \n \n Defined in apps/server/src/infra/collaborative-storage/collaborative-storage.adapter.ts:15\n \n \n\n\n \n \n\n\n \n\n\n \n import { TeamPermissionsDto } from '@modules/collaborative-storage/services/dto/team-permissions.dto';\nimport { TeamDto } from '@modules/collaborative-storage/services/dto/team.dto';\nimport { RoleDto } from '@modules/role/service/dto/role.dto';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { LegacyLogger } from '@src/core/logger';\nimport { CollaborativeStorageAdapterMapper } from './mapper/collaborative-storage-adapter.mapper';\nimport { CollaborativeStorageStrategy } from './strategy/base.interface.strategy';\n\n/**\n * Provides an Adapter to an external collaborative storage.\n * It loads an appropriate strategy and applies that to the given data.\n */\n@Injectable()\nexport class CollaborativeStorageAdapter {\n\tstrategy: CollaborativeStorageStrategy;\n\n\tconstructor(\n\t\t@Inject('CollaborativeStorageStrategy') strategy: CollaborativeStorageStrategy,\n\t\tprivate mapper: CollaborativeStorageAdapterMapper,\n\t\tprivate logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(CollaborativeStorageAdapter.name);\n\t\tthis.strategy = strategy;\n\t}\n\n\t/**\n\t * Set the strategy that should be used by the adapter\n\t * @param strategy The strategy\n\t */\n\tsetStrategy(strategy: CollaborativeStorageStrategy) {\n\t\tthis.strategy = strategy;\n\t}\n\n\t/**\n\t * Update the Permissions for a given Role in the given Team\n\t * @param team The Team DTO\n\t * @param role The Role DTO\n\t * @param permissions The permissions to set\n\t */\n\tupdateTeamPermissionsForRole(team: TeamDto, role: RoleDto, permissions: TeamPermissionsDto): Promise {\n\t\treturn this.strategy.updateTeamPermissionsForRole(this.mapper.mapDomainToAdapter(team, role, permissions));\n\t}\n\n\t/**\n\t * Deletes a team in the collaborative storage\n\t *\n\t * @param teamId The team id\n\t */\n\tdeleteTeam(teamId: string): Promise {\n\t\treturn this.strategy.deleteTeam(teamId);\n\t}\n\n\t/**\n\t * Creates a team in the collaborative storage\n\t *\n\t * @param team The team DTO\n\t */\n\tcreateTeam(team: TeamDto): Promise {\n\t\treturn this.strategy.createTeam(team);\n\t}\n\n\t/**\n\t * Updates a team in the collaborative storage\n\t *\n\t * @param team The team DTO\n\t */\n\tupdateTeam(team: TeamDto): Promise {\n\t\treturn this.strategy.updateTeam(team);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CollaborativeStorageAdapterMapper.html":{"url":"injectables/CollaborativeStorageAdapterMapper.html","title":"injectable - CollaborativeStorageAdapterMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CollaborativeStorageAdapterMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/mapper/collaborative-storage-adapter.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n mapDomainToAdapter\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n mapDomainToAdapter\n \n \n \n \n \n \n \n mapDomainToAdapter(team: TeamDto, role: RoleDto, permissions: TeamPermissionsDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/mapper/collaborative-storage-adapter.mapper.ts:16\n \n \n\n\n \n \n Maps the Domain DTOs to an appropriate adapter DTO\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n The Team DTO\n\n \n \n \n role\n \n RoleDto\n \n\n \n No\n \n\n\n \n The Role DTO\n\n \n \n \n permissions\n \n TeamPermissionsDto\n \n\n \n No\n \n\n\n \n The Permissions DTO\n\n \n \n \n \n \n \n Returns : TeamRolePermissionsDto\n\n \n \n The mapped adapter DTO\n\n \n \n \n \n \n\n\n \n\n\n \n import { TeamPermissionsDto } from '@modules/collaborative-storage/services/dto/team-permissions.dto';\nimport { TeamDto } from '@modules/collaborative-storage/services/dto/team.dto';\nimport { Injectable } from '@nestjs/common';\nimport { RoleDto } from '@modules/role/service/dto/role.dto';\nimport { TeamRolePermissionsDto } from '../dto/team-role-permissions.dto';\n\n@Injectable()\nexport class CollaborativeStorageAdapterMapper {\n\t/**\n\t * Maps the Domain DTOs to an appropriate adapter DTO\n\t * @param team The Team DTO\n\t * @param role The Role DTO\n\t * @param permissions The Permissions DTO\n\t * @return The mapped adapter DTO\n\t */\n\tpublic mapDomainToAdapter(team: TeamDto, role: RoleDto, permissions: TeamPermissionsDto): TeamRolePermissionsDto {\n\t\treturn new TeamRolePermissionsDto({\n\t\t\tteamId: team.id,\n\t\t\tteamName: team.name,\n\t\t\troleName: role.name,\n\t\t\tpermissions: [\n\t\t\t\t!!permissions.read,\n\t\t\t\t!!permissions.write,\n\t\t\t\t!!permissions.create,\n\t\t\t\t!!permissions.delete,\n\t\t\t\t!!permissions.share,\n\t\t\t],\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/CollaborativeStorageAdapterModule.html":{"url":"modules/CollaborativeStorageAdapterModule.html","title":"module - CollaborativeStorageAdapterModule","body":"\n \n\n\n\n\n Modules\n CollaborativeStorageAdapterModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_CollaborativeStorageAdapterModule\n\n\n\ncluster_CollaborativeStorageAdapterModule_exports\n\n\n\ncluster_CollaborativeStorageAdapterModule_providers\n\n\n\ncluster_CollaborativeStorageAdapterModule_imports\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nCollaborativeStorageAdapterModule\n\nCollaborativeStorageAdapterModule\n\nCollaborativeStorageAdapterModule -->\n\nLoggerModule->CollaborativeStorageAdapterModule\n\n\n\n\n\nPseudonymModule\n\nPseudonymModule\n\nCollaborativeStorageAdapterModule -->\n\nPseudonymModule->CollaborativeStorageAdapterModule\n\n\n\n\n\nToolModule\n\nToolModule\n\nCollaborativeStorageAdapterModule -->\n\nToolModule->CollaborativeStorageAdapterModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nCollaborativeStorageAdapterModule -->\n\nUserModule->CollaborativeStorageAdapterModule\n\n\n\n\n\nCollaborativeStorageAdapter \n\nCollaborativeStorageAdapter \n\nCollaborativeStorageAdapter -->\n\nCollaborativeStorageAdapterModule->CollaborativeStorageAdapter \n\n\n\n\n\nCollaborativeStorageAdapter\n\nCollaborativeStorageAdapter\n\nCollaborativeStorageAdapterModule -->\n\nCollaborativeStorageAdapter->CollaborativeStorageAdapterModule\n\n\n\n\n\nCollaborativeStorageAdapterMapper\n\nCollaborativeStorageAdapterMapper\n\nCollaborativeStorageAdapterModule -->\n\nCollaborativeStorageAdapterMapper->CollaborativeStorageAdapterModule\n\n\n\n\n\nLtiToolRepo\n\nLtiToolRepo\n\nCollaborativeStorageAdapterModule -->\n\nLtiToolRepo->CollaborativeStorageAdapterModule\n\n\n\n\n\nNextcloudClient\n\nNextcloudClient\n\nCollaborativeStorageAdapterModule -->\n\nNextcloudClient->CollaborativeStorageAdapterModule\n\n\n\n\n\nNextcloudStrategy\n\nNextcloudStrategy\n\nCollaborativeStorageAdapterModule -->\n\nNextcloudStrategy->CollaborativeStorageAdapterModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/collaborative-storage/collaborative-storage-adapter.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n CollaborativeStorageAdapter\n \n \n CollaborativeStorageAdapterMapper\n \n \n LtiToolRepo\n \n \n NextcloudClient\n \n \n NextcloudStrategy\n \n \n \n \n Imports\n \n \n LoggerModule\n \n \n PseudonymModule\n \n \n ToolModule\n \n \n UserModule\n \n \n \n \n Exports\n \n \n CollaborativeStorageAdapter\n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { PseudonymModule } from '@modules/pseudonym';\nimport { ToolModule } from '@modules/tool';\nimport { UserModule } from '@modules/user';\nimport { HttpModule } from '@nestjs/axios';\nimport { Module, Provider } from '@nestjs/common';\nimport { LtiToolRepo } from '@shared/repo/ltitool/';\nimport { LoggerModule } from '@src/core/logger';\nimport { CollaborativeStorageAdapter } from './collaborative-storage.adapter';\nimport { CollaborativeStorageAdapterMapper } from './mapper';\nimport { NextcloudClient } from './strategy/nextcloud/nextcloud.client';\nimport { NextcloudStrategy } from './strategy/nextcloud/nextcloud.strategy';\n\nconst storageStrategy: Provider = {\n\tprovide: 'CollaborativeStorageStrategy',\n\tuseExisting: NextcloudStrategy,\n};\n\n@Module({\n\timports: [HttpModule, LoggerModule, ToolModule, PseudonymModule, UserModule],\n\tproviders: [\n\t\tCollaborativeStorageAdapter,\n\t\tCollaborativeStorageAdapterMapper,\n\t\tLtiToolRepo,\n\t\tNextcloudStrategy,\n\t\tNextcloudClient,\n\t\tstorageStrategy,\n\t\t{\n\t\t\tprovide: 'oidcInternalName',\n\t\t\tuseValue: Configuration.get('NEXTCLOUD_SOCIALLOGIN_OIDC_INTERNAL_NAME') as string,\n\t\t},\n\t],\n\texports: [CollaborativeStorageAdapter],\n})\nexport class CollaborativeStorageAdapterModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/CollaborativeStorageController.html":{"url":"controllers/CollaborativeStorageController.html","title":"controller - CollaborativeStorageController","body":"\n \n\n\n\n\n\n\n Controllers\n CollaborativeStorageController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/collaborative-storage/controller/collaborative-storage.controller.ts\n \n\n \n Prefix\n \n \n collaborative-storage\n \n\n\n \n Description\n \n \n Class for providing access to an external collaborative storage.\n\n \n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n updateTeamPermissionsForRole\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n updateTeamPermissionsForRole\n \n \n \n \n \n \n \n updateTeamPermissionsForRole(currentUser: ICurrentUser, teamRole: TeamRoleDto, permissionsBody: TeamPermissionsBody)\n \n \n\n \n \n Decorators : \n \n @Patch('team/:teamId/role/:roleId/permissions')@ApiResponse({status: 200, description: 'Updates the permissions for a team in the external collaborative storage'})@ApiResponse({status: 400, description: 'An error occurred while processing the request'})@ApiResponse({status: 403, description: 'User does not have the correct permission'})@ApiResponse({status: 404, description: 'Team or Role not found!'})\n \n \n\n \n \n Defined in apps/server/src/modules/collaborative-storage/controller/collaborative-storage.controller.ts:32\n \n \n\n\n \n \n Updates the CRUD Permissions(+Share) for a specific Role in a Team\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n The current User\n\n \n \n \n teamRole\n \n TeamRoleDto\n \n\n \n No\n \n\n\n \n Encapsulates the Team and Role to be updated\n\n \n \n \n permissionsBody\n \n TeamPermissionsBody\n \n\n \n No\n \n\n\n \n The new Permissions\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, Param, Patch } from '@nestjs/common';\nimport { ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { LegacyLogger } from '@src/core/logger';\nimport { CollaborativeStorageUc } from '../uc/collaborative-storage.uc';\nimport { TeamPermissionsBody } from './dto/team-permissions.body.params';\nimport { TeamRoleDto } from './dto/team-role.params';\n\n/**\n * Class for providing access to an external collaborative storage.\n *\n */\n@ApiTags('Collaborative-Storage')\n@Authenticate('jwt')\n@Controller('collaborative-storage')\nexport class CollaborativeStorageController {\n\tconstructor(private readonly teamStorageUc: CollaborativeStorageUc, private logger: LegacyLogger) {\n\t\tthis.logger.setContext(CollaborativeStorageController.name);\n\t}\n\n\t/**\n\t * Updates the CRUD Permissions(+Share) for a specific Role in a Team\n\t * @param currentUser The current User\n\t * @param teamRole Encapsulates the Team and Role to be updated\n\t * @param permissionsBody The new Permissions\n\t */\n\t@Patch('team/:teamId/role/:roleId/permissions')\n\t@ApiResponse({ status: 200, description: 'Updates the permissions for a team in the external collaborative storage' })\n\t@ApiResponse({ status: 400, description: 'An error occurred while processing the request' })\n\t@ApiResponse({ status: 403, description: 'User does not have the correct permission' })\n\t@ApiResponse({ status: 404, description: 'Team or Role not found!' })\n\tupdateTeamPermissionsForRole(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() teamRole: TeamRoleDto,\n\t\t@Body() permissionsBody: TeamPermissionsBody\n\t): Promise {\n\t\treturn this.teamStorageUc.updateUserPermissionsForRole(currentUser.userId, teamRole, permissionsBody);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/CollaborativeStorageModule.html":{"url":"modules/CollaborativeStorageModule.html","title":"module - CollaborativeStorageModule","body":"\n \n\n\n\n\n Modules\n CollaborativeStorageModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_CollaborativeStorageModule\n\n\n\ncluster_CollaborativeStorageModule_providers\n\n\n\ncluster_CollaborativeStorageModule_exports\n\n\n\ncluster_CollaborativeStorageModule_imports\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nCollaborativeStorageModule\n\nCollaborativeStorageModule\n\nCollaborativeStorageModule -->\n\nAuthorizationModule->CollaborativeStorageModule\n\n\n\n\n\nCollaborativeStorageAdapterModule\n\nCollaborativeStorageAdapterModule\n\nCollaborativeStorageModule -->\n\nCollaborativeStorageAdapterModule->CollaborativeStorageModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nCollaborativeStorageModule -->\n\nLoggerModule->CollaborativeStorageModule\n\n\n\n\n\nRoleModule\n\nRoleModule\n\nCollaborativeStorageModule -->\n\nRoleModule->CollaborativeStorageModule\n\n\n\n\n\nCollaborativeStorageUc \n\nCollaborativeStorageUc \n\nCollaborativeStorageUc -->\n\nCollaborativeStorageModule->CollaborativeStorageUc \n\n\n\n\n\nCollaborativeStorageService\n\nCollaborativeStorageService\n\nCollaborativeStorageModule -->\n\nCollaborativeStorageService->CollaborativeStorageModule\n\n\n\n\n\nCollaborativeStorageUc\n\nCollaborativeStorageUc\n\nCollaborativeStorageModule -->\n\nCollaborativeStorageUc->CollaborativeStorageModule\n\n\n\n\n\nTeamMapper\n\nTeamMapper\n\nCollaborativeStorageModule -->\n\nTeamMapper->CollaborativeStorageModule\n\n\n\n\n\nTeamPermissionsMapper\n\nTeamPermissionsMapper\n\nCollaborativeStorageModule -->\n\nTeamPermissionsMapper->CollaborativeStorageModule\n\n\n\n\n\nTeamsRepo\n\nTeamsRepo\n\nCollaborativeStorageModule -->\n\nTeamsRepo->CollaborativeStorageModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/collaborative-storage/collaborative-storage.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n CollaborativeStorageService\n \n \n CollaborativeStorageUc\n \n \n TeamMapper\n \n \n TeamPermissionsMapper\n \n \n TeamsRepo\n \n \n \n \n Controllers\n \n \n CollaborativeStorageController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n CollaborativeStorageAdapterModule\n \n \n LoggerModule\n \n \n RoleModule\n \n \n \n \n Exports\n \n \n CollaborativeStorageUc\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { CollaborativeStorageAdapterModule } from '@infra/collaborative-storage';\nimport { TeamsRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { RoleModule } from '@modules/role';\nimport { CollaborativeStorageService } from './services';\nimport { TeamPermissionsMapper, TeamMapper } from './mapper';\nimport { CollaborativeStorageController } from './controller';\nimport { CollaborativeStorageUc } from './uc';\n\n@Module({\n\timports: [CollaborativeStorageAdapterModule, AuthorizationModule, LoggerModule, RoleModule],\n\tproviders: [TeamsRepo, CollaborativeStorageUc, CollaborativeStorageService, TeamPermissionsMapper, TeamMapper],\n\tcontrollers: [CollaborativeStorageController],\n\texports: [CollaborativeStorageUc],\n})\nexport class CollaborativeStorageModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CollaborativeStorageService.html":{"url":"injectables/CollaborativeStorageService.html","title":"injectable - CollaborativeStorageService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CollaborativeStorageService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/collaborative-storage/services/collaborative-storage.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n createTeam\n \n \n deleteTeam\n \n \n Async\n findTeamById\n \n \n updateTeam\n \n \n Async\n updateTeamPermissionsForRole\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(adapter: CollaborativeStorageAdapter, roleService: RoleService, teamsMapper: TeamMapper, teamsRepo: TeamsRepo, authService: AuthorizationService, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/collaborative-storage.service.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n adapter\n \n \n CollaborativeStorageAdapter\n \n \n \n No\n \n \n \n \n roleService\n \n \n RoleService\n \n \n \n No\n \n \n \n \n teamsMapper\n \n \n TeamMapper\n \n \n \n No\n \n \n \n \n teamsRepo\n \n \n TeamsRepo\n \n \n \n No\n \n \n \n \n authService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n createTeam\n \n \n \n \n \n \ncreateTeam(team: TeamDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/collaborative-storage/services/collaborative-storage.service.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n deleteTeam\n \n \n \n \n \n \ndeleteTeam(teamId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/collaborative-storage/services/collaborative-storage.service.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n teamId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findTeamById\n \n \n \n \n \n \n \n findTeamById(teamId: EntityId, populate)\n \n \n\n\n \n \n Defined in apps/server/src/modules/collaborative-storage/services/collaborative-storage.service.ts:32\n \n \n\n\n \n \n Find a Team by its Id and return the DTO\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n Description\n \n \n \n \n teamId\n \n EntityId\n \n\n \n No\n \n\n \n \n\n \n The TeamId\n\n \n \n \n populate\n \n \n\n \n No\n \n\n \n false\n \n\n \n Decide, if you want to populate the Users in the Entity\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n The mapped DTO\n\n \n \n \n \n \n \n \n \n \n \n \n updateTeam\n \n \n \n \n \n \nupdateTeam(team: TeamDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/collaborative-storage/services/collaborative-storage.service.ts:69\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateTeamPermissionsForRole\n \n \n \n \n \n \n \n updateTeamPermissionsForRole(currentUserId: string, teamId: string, roleId: string, teamPermissions: TeamPermissionsDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/collaborative-storage/services/collaborative-storage.service.ts:43\n \n \n\n\n \n \n Sets the Permissions for the specified Role in a Team\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n currentUserId\n \n string\n \n\n \n No\n \n\n\n \n The current User. Needs to be either the teamowner or an teamadmin\n\n \n \n \n teamId\n \n string\n \n\n \n No\n \n\n\n \n The TeamId\n\n \n \n \n roleId\n \n string\n \n\n \n No\n \n\n\n \n The RoleId\n\n \n \n \n teamPermissions\n \n TeamPermissionsDto\n \n\n \n No\n \n\n\n \n The new Permissions\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CollaborativeStorageAdapter } from '@infra/collaborative-storage';\nimport { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { RoleService } from '@modules/role/service/role.service';\nimport { Injectable } from '@nestjs/common';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { TeamsRepo } from '@shared/repo';\nimport { LegacyLogger } from '@src/core/logger';\nimport { TeamMapper } from '../mapper/team.mapper';\nimport { TeamPermissionsDto } from './dto/team-permissions.dto';\nimport { TeamDto } from './dto/team.dto';\n\n@Injectable()\nexport class CollaborativeStorageService {\n\tconstructor(\n\t\tprivate adapter: CollaborativeStorageAdapter,\n\t\tprivate roleService: RoleService,\n\t\tprivate teamsMapper: TeamMapper,\n\t\tprivate teamsRepo: TeamsRepo,\n\t\tprivate authService: AuthorizationService,\n\t\tprivate logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(CollaborativeStorageService.name);\n\t}\n\n\t/**\n\t * Find a Team by its Id and return the DTO\n\t * @param teamId The TeamId\n\t * @param populate Decide, if you want to populate the Users in the Entity\n\t * @return The mapped DTO\n\t */\n\tasync findTeamById(teamId: EntityId, populate = false): Promise {\n\t\treturn this.teamsMapper.mapEntityToDto(await this.teamsRepo.findById(teamId, populate));\n\t}\n\n\t/**\n\t * Sets the Permissions for the specified Role in a Team\n\t * @param currentUserId The current User. Needs to be either the teamowner or an teamadmin\n\t * @param teamId The TeamId\n\t * @param roleId The RoleId\n\t * @param teamPermissions The new Permissions\n\t */\n\tasync updateTeamPermissionsForRole(\n\t\tcurrentUserId: string,\n\t\tteamId: string,\n\t\troleId: string,\n\t\tteamPermissions: TeamPermissionsDto\n\t): Promise {\n\t\tthis.authService.checkPermission(\n\t\t\tawait this.authService.getUserWithPermissions(currentUserId),\n\t\t\tawait this.teamsRepo.findById(teamId, true),\n\t\t\tAuthorizationContextBuilder.write([Permission.CHANGE_TEAM_ROLES])\n\t\t);\n\t\treturn this.adapter.updateTeamPermissionsForRole(\n\t\t\tawait this.findTeamById(teamId, true),\n\t\t\tawait this.roleService.findById(roleId),\n\t\t\tteamPermissions\n\t\t);\n\t}\n\n\tdeleteTeam(teamId: string): Promise {\n\t\treturn this.adapter.deleteTeam(teamId);\n\t}\n\n\tcreateTeam(team: TeamDto): Promise {\n\t\treturn this.adapter.createTeam(team);\n\t}\n\n\tupdateTeam(team: TeamDto): Promise {\n\t\treturn this.adapter.updateTeam(team);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CollaborativeStorageStrategy.html":{"url":"interfaces/CollaborativeStorageStrategy.html","title":"interface - CollaborativeStorageStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CollaborativeStorageStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/strategy/base.interface.strategy.ts\n \n\n\n \n Description\n \n \n base interface for all CollaborativeStorage Strategies\n\n \n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n createTeam\n \n \n \n \n deleteTeam\n \n \n \n \n updateTeam\n \n \n \n \n updateTeamPermissionsForRole\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n createTeam\n \n \n \n \n \n \ncreateTeam(team: TeamDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/base.interface.strategy.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n deleteTeam\n \n \n \n \n \n \ndeleteTeam(teamId: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/base.interface.strategy.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n teamId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateTeam\n \n \n \n \n \n \nupdateTeam(team: TeamDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/base.interface.strategy.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateTeamPermissionsForRole\n \n \n \n \n \n \nupdateTeamPermissionsForRole(dto: TeamRolePermissionsDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/base.interface.strategy.ts:12\n \n \n\n\n \n \n Updates The Permissions for the given Role in the given Team\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n dto\n \n TeamRolePermissionsDto\n \n\n \n No\n \n\n\n \n The DTO to be processed\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { TeamDto } from '@modules/collaborative-storage/services/dto/team.dto';\nimport { TeamRolePermissionsDto } from '../dto/team-role-permissions.dto';\n\n/**\n * base interface for all CollaborativeStorage Strategies\n */\nexport interface CollaborativeStorageStrategy {\n\t/**\n\t * Updates The Permissions for the given Role in the given Team\n\t * @param dto The DTO to be processed\n\t */\n\tupdateTeamPermissionsForRole(dto: TeamRolePermissionsDto): Promise;\n\n\tdeleteTeam(teamId: string): Promise;\n\n\tcreateTeam(team: TeamDto): Promise;\n\n\tupdateTeam(team: TeamDto): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CollaborativeStorageUc.html":{"url":"injectables/CollaborativeStorageUc.html","title":"injectable - CollaborativeStorageUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CollaborativeStorageUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/collaborative-storage/uc/collaborative-storage.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n createTeam\n \n \n deleteTeam\n \n \n updateTeam\n \n \n Async\n updateUserPermissionsForRole\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(service: CollaborativeStorageService, permissionMapper: TeamPermissionsMapper)\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/uc/collaborative-storage.uc.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n service\n \n \n CollaborativeStorageService\n \n \n \n No\n \n \n \n \n permissionMapper\n \n \n TeamPermissionsMapper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n createTeam\n \n \n \n \n \n \ncreateTeam(team: TeamDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/collaborative-storage/uc/collaborative-storage.uc.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n deleteTeam\n \n \n \n \n \n \ndeleteTeam(teamId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/collaborative-storage/uc/collaborative-storage.uc.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n teamId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateTeam\n \n \n \n \n \n \nupdateTeam(team: TeamDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/collaborative-storage/uc/collaborative-storage.uc.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateUserPermissionsForRole\n \n \n \n \n \n \n \n updateUserPermissionsForRole(currentUserId: string, teamRole: TeamRoleDto, permissionsDto: TeamPermissionsBody)\n \n \n\n\n \n \n Defined in apps/server/src/modules/collaborative-storage/uc/collaborative-storage.uc.ts:21\n \n \n\n\n \n \n Sets the Permissions for the specified Role in a Team\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n currentUserId\n \n string\n \n\n \n No\n \n\n\n \n The current User. Needs to be either the teamowner or an teamadmin\n\n \n \n \n teamRole\n \n TeamRoleDto\n \n\n \n No\n \n\n\n \n The Team and Role to be altered\n\n \n \n \n permissionsDto\n \n TeamPermissionsBody\n \n\n \n No\n \n\n\n \n The new permissions\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { CollaborativeStorageService } from '@modules/collaborative-storage/services/collaborative-storage.service';\nimport { TeamPermissionsMapper } from '@modules/collaborative-storage/mapper/team-permissions.mapper';\nimport { TeamDto } from '@modules/collaborative-storage/services/dto/team.dto';\nimport { TeamPermissionsBody } from '../controller/dto/team-permissions.body.params';\nimport { TeamRoleDto } from '../controller/dto/team-role.params';\n\n@Injectable()\nexport class CollaborativeStorageUc {\n\tconstructor(\n\t\tprivate readonly service: CollaborativeStorageService,\n\t\tprivate readonly permissionMapper: TeamPermissionsMapper\n\t) {}\n\n\t/**\n\t * Sets the Permissions for the specified Role in a Team\n\t * @param currentUserId The current User. Needs to be either the teamowner or an teamadmin\n\t * @param teamRole The Team and Role to be altered\n\t * @param permissionsDto The new permissions\n\t */\n\tasync updateUserPermissionsForRole(\n\t\tcurrentUserId: string,\n\t\tteamRole: TeamRoleDto,\n\t\tpermissionsDto: TeamPermissionsBody\n\t): Promise {\n\t\treturn this.service.updateTeamPermissionsForRole(\n\t\t\tcurrentUserId,\n\t\t\tteamRole.teamId,\n\t\t\tteamRole.roleId,\n\t\t\tthis.permissionMapper.mapBodyToDto(permissionsDto)\n\t\t);\n\t}\n\n\tdeleteTeam(teamId: string): Promise {\n\t\treturn this.service.deleteTeam(teamId);\n\t}\n\n\tcreateTeam(team: TeamDto): Promise {\n\t\treturn this.service.createTeam(team);\n\t}\n\n\tupdateTeam(team: TeamDto): Promise {\n\t\treturn this.service.updateTeam(team);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CollectionFilePath.html":{"url":"interfaces/CollectionFilePath.html","title":"interface - CollectionFilePath","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CollectionFilePath\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/management/uc/database-management.uc.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n collectionName\n \n \n \n \n filePath\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n collectionName\n \n \n \n \n \n \n \n \n collectionName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n filePath\n \n \n \n \n \n \n \n \n filePath: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\nimport { DatabaseManagementService } from '@infra/database';\nimport { DefaultEncryptionService, EncryptionService, LdapEncryptionService } from '@infra/encryption';\nimport { FileSystemAdapter } from '@infra/file-system';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { StorageProviderEntity, SystemEntity } from '@shared/domain/entity';\nimport { LegacyLogger } from '@src/core/logger';\nimport { orderBy } from 'lodash';\nimport { BsonConverter } from '../converter/bson.converter';\nimport { generateSeedData } from '../seed-data/generateSeedData';\n\nexport interface CollectionFilePath {\n\tfilePath: string;\n\tcollectionName: string;\n}\n\nconst systemsCollectionName = 'systems';\nconst storageprovidersCollectionName = 'storageproviders';\n\nconst defaultSecretReplacementHintText = 'replace with secret placeholder';\n\n@Injectable()\nexport class DatabaseManagementUc {\n\t/**\n\t * relative path to seed data folder based of location of this file.\n\t */\n\tprivate basePath = '../../../../../../backup';\n\n\tconstructor(\n\t\tprivate fileSystemAdapter: FileSystemAdapter,\n\t\tprivate databaseManagementService: DatabaseManagementService,\n\t\tprivate bsonConverter: BsonConverter,\n\t\tprivate readonly configService: ConfigService,\n\t\tprivate readonly logger: LegacyLogger,\n\t\tprivate em: EntityManager,\n\t\t@Inject(DefaultEncryptionService) private readonly defaultEncryptionService: EncryptionService,\n\t\t@Inject(LdapEncryptionService) private readonly ldapEncryptionService: EncryptionService\n\t) {\n\t\tthis.logger.setContext(DatabaseManagementUc.name);\n\t}\n\n\t/**\n\t * absolute path reference for seed data base folder.\n\t */\n\tprivate get baseDir(): string {\n\t\tconst folderPath = this.fileSystemAdapter.joinPath(__dirname, this.basePath);\n\t\treturn folderPath;\n\t}\n\n\t/**\n\t * setup dir with json files\n\t */\n\tprivate getSeedFolder() {\n\t\treturn this.fileSystemAdapter.joinPath(this.baseDir, 'setup');\n\t}\n\n\t/**\n\t * export folder name based on current date\n\t * @returns\n\t */\n\tprivate getTargetFolder(toSeedFolder?: boolean) {\n\t\tif (toSeedFolder === true) {\n\t\t\tconst targetFolder = this.getSeedFolder();\n\t\t\treturn targetFolder;\n\t\t}\n\t\tconst now = new Date();\n\t\tconst currentDateTime = `${now.getFullYear()}_${\n\t\t\tnow.getMonth() + 1\n\t\t}_${now.getDate()}_${now.getHours()}_${now.getMinutes()}_${now.getSeconds()}`;\n\t\tconst targetFolder = this.fileSystemAdapter.joinPath(this.baseDir, currentDateTime);\n\t\treturn targetFolder;\n\t}\n\n\t/**\n\t * Loads all collection names from database and adds related file paths.\n\t * @returns {CollectionFilePath}\n\t */\n\tprivate async loadAllCollectionsFromDatabase(targetFolder: string): Promise {\n\t\tconst collections = await this.databaseManagementService.getCollectionNames();\n\t\tconst collectionsWithFilePaths = collections.map((collectionName) => {\n\t\t\treturn {\n\t\t\t\tfilePath: this.fileSystemAdapter.joinPath(targetFolder, `${collectionName}.json`),\n\t\t\t\tcollectionName,\n\t\t\t};\n\t\t});\n\t\treturn collectionsWithFilePaths;\n\t}\n\n\t/**\n\t * Loads all collection names and file paths from backup files.\n\t * @returns {CollectionFilePath}\n\t */\n\tprivate async loadAllCollectionsFromFilesystem(baseDir: string): Promise {\n\t\tconst filenames = await this.fileSystemAdapter.readDir(baseDir);\n\t\tconst collectionsWithFilePaths = filenames.map((fileName) => {\n\t\t\treturn {\n\t\t\t\tfilePath: this.fileSystemAdapter.joinPath(baseDir, fileName),\n\t\t\t\tcollectionName: fileName.split('.')[0],\n\t\t\t};\n\t\t});\n\t\treturn collectionsWithFilePaths;\n\t}\n\n\t/**\n\t * Scans for existing collections and optionally filters them based on \n\t * @param source\n\t * @param collectionNameFilter\n\t * @returns {CollectionFilePath} the filtered collection names and related file paths\n\t */\n\tprivate async loadCollectionsAvailableFromSourceAndFilterByCollectionNames(\n\t\tsource: 'files' | 'database',\n\t\tfolder: string,\n\t\tcollectionNameFilter?: string[]\n\t) {\n\t\tlet allCollectionsWithFilePaths: CollectionFilePath[] = [];\n\n\t\t// load all available collections from source\n\t\tif (source === 'files') {\n\t\t\tallCollectionsWithFilePaths = await this.loadAllCollectionsFromFilesystem(folder);\n\t\t} else {\n\t\t\t// source === 'database'\n\t\t\tallCollectionsWithFilePaths = await this.loadAllCollectionsFromDatabase(folder);\n\t\t}\n\n\t\t// when a collection name filter is given, apply it and check\n\t\tif (Array.isArray(collectionNameFilter) && collectionNameFilter.length > 0) {\n\t\t\tconst filteredCollectionsWithFilePaths = allCollectionsWithFilePaths.filter(({ collectionName }) =>\n\t\t\t\tcollectionNameFilter?.includes(collectionName)\n\t\t\t);\n\n\t\t\tif (filteredCollectionsWithFilePaths.length !== collectionNameFilter.length) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`At least one collectionName of ${JSON.stringify(\n\t\t\t\t\t\tcollectionNameFilter\n\t\t\t\t\t)} is invalid. Collection names available in '${source}' are: ${JSON.stringify(\n\t\t\t\t\t\tallCollectionsWithFilePaths.map((file) => file.collectionName)\n\t\t\t\t\t)}`\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn filteredCollectionsWithFilePaths;\n\t\t}\n\n\t\treturn allCollectionsWithFilePaths;\n\t}\n\n\tprivate async dropCollectionIfExists(collectionName: string) {\n\t\tconst collectionExists = await this.databaseManagementService.collectionExists(collectionName);\n\t\tif (collectionExists) {\n\t\t\t// clear existing documents, if collection exists\n\t\t\tawait this.databaseManagementService.clearCollection(collectionName);\n\t\t} else {\n\t\t\t// create collection\n\t\t\tawait this.databaseManagementService.createCollection(collectionName);\n\t\t}\n\t}\n\n\tasync seedDatabaseCollectionsFromFactories(collections?: string[]): Promise {\n\t\tconst promises = generateSeedData((s: string) => this.injectEnvVars(s))\n\t\t\t.filter((data) => {\n\t\t\t\tif (collections && collections.length > 0) {\n\t\t\t\t\treturn collections.includes(data.collectionName);\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t})\n\t\t\t.map(async ({ collectionName, data }) => {\n\t\t\t\tif (collectionName === systemsCollectionName) {\n\t\t\t\t\tthis.encryptSecretsInSystems(data as SystemEntity[]);\n\t\t\t\t}\n\t\t\t\tawait this.dropCollectionIfExists(collectionName);\n\n\t\t\t\tawait this.em.persistAndFlush(data);\n\n\t\t\t\treturn `${collectionName}:${data.length}`;\n\t\t\t});\n\n\t\tconst seededCollectionsWithAmount = await Promise.all(promises);\n\n\t\treturn seededCollectionsWithAmount;\n\t}\n\n\t/**\n\t * Imports all or filtered from filesystem as bson to database.\n\t * The behaviour should match $ mongoimport\n\t * @param collections optional filter applied on existing collections\n\t * @returns the list of collection names exported\n\t */\n\tasync seedDatabaseCollectionsFromFileSystem(collections?: string[]): Promise {\n\t\t// detect collections to seed based on filesystem data\n\t\tconst setupPath = this.getSeedFolder();\n\t\tconst collectionsToSeed = await this.loadCollectionsAvailableFromSourceAndFilterByCollectionNames(\n\t\t\t'files',\n\t\t\tsetupPath,\n\t\t\tcollections\n\t\t);\n\n\t\tconst seededCollectionsWithAmount: string[] = [];\n\n\t\tawait Promise.all(\n\t\t\tcollectionsToSeed.map(async ({ filePath, collectionName }) => {\n\t\t\t\t// load text from backup file\n\t\t\t\tlet fileContent = await this.fileSystemAdapter.readFile(filePath);\n\n\t\t\t\tif (collectionName === systemsCollectionName || collectionName === storageprovidersCollectionName) {\n\t\t\t\t\tfileContent = this.injectEnvVars(fileContent);\n\t\t\t\t}\n\n\t\t\t\t// create bson-objects from text\n\t\t\t\tconst bsonDocuments = JSON.parse(fileContent) as unknown[];\n\t\t\t\t// deserialize bson (format of mongoexport) to json documents we can import to mongo\n\t\t\t\tconst jsonDocuments = this.bsonConverter.deserialize(bsonDocuments);\n\n\t\t\t\t// hint: collection drop/create is very slow, delete all documents instead\n\t\t\t\tconst collectionExists = await this.databaseManagementService.collectionExists(collectionName);\n\t\t\t\tif (collectionExists) {\n\t\t\t\t\t// clear existing documents, if collection exists\n\t\t\t\t\tawait this.databaseManagementService.clearCollection(collectionName);\n\t\t\t\t} else {\n\t\t\t\t\t// create collection\n\t\t\t\t\tawait this.databaseManagementService.createCollection(collectionName);\n\t\t\t\t}\n\n\t\t\t\tthis.encryptSecrets(collectionName, jsonDocuments);\n\n\t\t\t\t// import backup data into database collection\n\t\t\t\tconst importedDocumentsAmount = await this.databaseManagementService.importCollection(\n\t\t\t\t\tcollectionName,\n\t\t\t\t\tjsonDocuments\n\t\t\t\t);\n\t\t\t\t// keep collection name and number of imported documents\n\t\t\t\tseededCollectionsWithAmount.push(`${collectionName}:${importedDocumentsAmount}`);\n\t\t\t})\n\t\t);\n\t\treturn seededCollectionsWithAmount;\n\t}\n\n\t/**\n\t * Exports all or defined from database as bson to filesystem.\n\t * The behaviour should match $ mongoexport\n\t * @param collections optional filter applied on existing collections\n\t * @param toSeedFolder optional override existing seed data files\n\t * @returns the list of collection names exported\n\t */\n\tasync exportCollectionsToFileSystem(collections?: string[], toSeedFolder?: boolean): Promise {\n\t\tconst targetFolder = this.getTargetFolder(toSeedFolder);\n\t\tawait this.fileSystemAdapter.createDir(targetFolder);\n\t\t// detect collections to export based on database collections\n\t\tconst collectionsToExport = await this.loadCollectionsAvailableFromSourceAndFilterByCollectionNames(\n\t\t\t'database',\n\t\t\ttargetFolder,\n\t\t\tcollections\n\t\t);\n\t\tconst exportedCollections: string[] = [];\n\n\t\tawait Promise.all(\n\t\t\tcollectionsToExport.map(async ({ filePath, collectionName }) => {\n\t\t\t\t// load json documents from collection\n\t\t\t\tconst jsonDocuments = await this.databaseManagementService.findDocumentsOfCollection(collectionName);\n\t\t\t\tthis.removeSecrets(collectionName, jsonDocuments);\n\t\t\t\t// serialize to bson (format of mongoexport)\n\t\t\t\tconst bsonDocuments = this.bsonConverter.serialize(jsonDocuments);\n\t\t\t\t// sort results to have 'new' data added at documents end\n\t\t\t\tconst sortedBsonDocuments = orderBy(bsonDocuments, ['_id.$oid', 'createdAt.$date'], ['asc', 'asc']);\n\t\t\t\t// convert to text\n\t\t\t\tconst TAB = '\t';\n\t\t\t\tconst json = JSON.stringify(sortedBsonDocuments, undefined, TAB);\n\t\t\t\t// persist to filesystem\n\t\t\t\tawait this.fileSystemAdapter.writeFile(filePath, json + this.fileSystemAdapter.EOL);\n\t\t\t\t// keep collection name and number of exported documents\n\t\t\t\texportedCollections.push(`${collectionName}:${sortedBsonDocuments.length}`);\n\t\t\t})\n\t\t);\n\t\treturn exportedCollections;\n\t}\n\n\t/**\n\t * Updates the indexes in the database based on definitions in entities\n\t */\n\tasync syncIndexes(): Promise {\n\t\tawait this.createUserSearchIndex();\n\t\treturn this.databaseManagementService.syncIndexes();\n\t}\n\n\tprivate async createUserSearchIndex(): Promise {\n\t\tconst usersCollection = this.databaseManagementService.getDatabaseCollection('users');\n\t\tconst userSearchIndexExists = await usersCollection.indexExists('userSearchIndex');\n\t\tconst indexes = await usersCollection.indexes();\n\n\t\tif (userSearchIndexExists) {\n\t\t\tconst userSearchIndex = indexes.filter((i) => i.name === 'userSearchIndex');\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\tif (userSearchIndex[0].key?.schoolId === 1) {\n\t\t\t\tthis.logger.debug('userSearcIndex does not require update');\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tawait usersCollection.dropIndex('userSearchIndex');\n\t\t}\n\n\t\tawait usersCollection.createIndex(\n\t\t\t{\n\t\t\t\tfirstName: 'text',\n\t\t\t\tlastName: 'text',\n\t\t\t\temail: 'text',\n\t\t\t\tfirstNameSearchValues: 'text',\n\t\t\t\tlastNameSearchValues: 'text',\n\t\t\t\temailSearchValues: 'text',\n\t\t\t\tschoolId: 1,\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'userSearchIndex',\n\t\t\t\tweights: {\n\t\t\t\t\tfirstName: 15,\n\t\t\t\t\tlastName: 15,\n\t\t\t\t\temail: 15,\n\t\t\t\t\tfirstNameSearchValues: 3,\n\t\t\t\t\tlastNameSearchValues: 3,\n\t\t\t\t\temailSearchValues: 2,\n\t\t\t\t},\n\t\t\t\tdefault_language: 'none', // no stop words and no stemming,\n\t\t\t\tlanguage_override: 'de',\n\t\t\t}\n\t\t);\n\t}\n\n\tprivate injectEnvVars(json: string): string {\n\t\t// replace ${VAR} with VAR content\n\t\tjson = json.replace(/(?\n\t\t\tthis.resolvePlaceholder(placeholder.substring(2, placeholder.length - 1))\n\t\t);\n\t\t// replace \\$ with $ (escaped placeholder sequence)\n\t\tjson = json.replace(/\\\\\\$/g, '$');\n\t\treturn json;\n\t}\n\n\tprivate resolvePlaceholder(placeholder: string) {\n\t\tif (Configuration.has(placeholder)) {\n\t\t\treturn Configuration.get(placeholder) as string;\n\t\t}\n\t\tconst placeholderValue = this.configService.get(placeholder);\n\t\tif (placeholderValue) {\n\t\t\treturn placeholderValue;\n\t\t}\n\t\tthis.logger.warn(`Placeholder \"${placeholder}\" could not be resolved!`);\n\t\treturn '';\n\t}\n\n\tprivate encryptSecrets(collectionName: string, jsonDocuments: unknown[]) {\n\t\tif (collectionName === systemsCollectionName) {\n\t\t\tthis.encryptSecretsInSystems(jsonDocuments as SystemEntity[]);\n\t\t}\n\t}\n\n\tprivate encryptSecretsInSystems(systems: SystemEntity[]) {\n\t\tsystems.forEach((system) => {\n\t\t\tif (system.oauthConfig) {\n\t\t\t\tsystem.oauthConfig.clientSecret = this.defaultEncryptionService.encrypt(system.oauthConfig.clientSecret);\n\t\t\t}\n\t\t\tif (system.oidcConfig) {\n\t\t\t\tsystem.oidcConfig.clientSecret = this.defaultEncryptionService.encrypt(system.oidcConfig.clientSecret);\n\t\t\t}\n\t\t\tif (system.ldapConfig) {\n\t\t\t\tsystem.ldapConfig.searchUserPassword = this.ldapEncryptionService.encrypt(\n\t\t\t\t\tsystem.ldapConfig.searchUserPassword as string\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\t\treturn systems;\n\t}\n\n\t/**\n\t * Removes all known secrets (hard coded) from the export.\n\t * Manual replacement with the intend placeholders or value is mandatory.\n\t * Currently this affects system and storageproviders collections.\n\t */\n\tprivate removeSecrets(collectionName: string, jsonDocuments: unknown[]) {\n\t\tif (collectionName === systemsCollectionName) {\n\t\t\tthis.removeSecretsFromSystems(jsonDocuments as SystemEntity[]);\n\t\t}\n\t\tif (collectionName === storageprovidersCollectionName) {\n\t\t\tthis.removeSecretsFromStorageproviders(jsonDocuments as StorageProviderEntity[]);\n\t\t}\n\t}\n\n\tprivate removeSecretsFromStorageproviders(storageProviders: StorageProviderEntity[]) {\n\t\tstorageProviders.forEach((storageProvider) => {\n\t\t\tstorageProvider.accessKeyId = defaultSecretReplacementHintText;\n\t\t\tstorageProvider.secretAccessKey = defaultSecretReplacementHintText;\n\t\t});\n\t}\n\n\tprivate removeSecretsFromSystems(systems: SystemEntity[]) {\n\t\tsystems.forEach((system) => {\n\t\t\tif (system.oauthConfig) {\n\t\t\t\tsystem.oauthConfig.clientSecret = defaultSecretReplacementHintText;\n\t\t\t}\n\t\t\tif (system.oidcConfig) {\n\t\t\t\tsystem.oidcConfig.clientSecret = defaultSecretReplacementHintText;\n\t\t\t}\n\t\t\tif (system.ldapConfig) {\n\t\t\t\tsystem.ldapConfig.searchUserPassword = defaultSecretReplacementHintText;\n\t\t\t}\n\t\t});\n\t\treturn systems;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Column.html":{"url":"classes/Column.html","title":"class - Column","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Column\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/column.do.ts\n \n\n\n\n \n Extends\n \n \n BoardComposite\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n accept\n \n \n Async\n acceptAsync\n \n \n isAllowedAsChild\n \n \n addChild\n \n \n hasChild\n \n \n removeChild\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n title\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n accept\n \n \n \n \n \n \naccept(visitor: BoardCompositeVisitor)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitor\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n acceptAsync\n \n \n \n \n \n \n \n acceptAsync(visitor: BoardCompositeVisitorAsync)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:23\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitorAsync\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isAllowedAsChild\n \n \n \n \n \n \nisAllowedAsChild(domainObject: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:14\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addChild\n \n \n \n \n \n \naddChild(child: AnyBoardDo, position?: number)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n position\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasChild\n \n \n \n \n \n \nhasChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeChild\n \n \n \n \n \n \nremoveChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n title\n \n \n\n \n \n gettitle()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/column.do.ts:6\n \n \n\n \n \n settitle(title: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/column.do.ts:10\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n title\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport { Card } from './card.do';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class Column extends BoardComposite {\n\tget title(): string {\n\t\treturn this.props.title;\n\t}\n\n\tset title(title: string) {\n\t\tthis.props.title = title;\n\t}\n\n\tisAllowedAsChild(domainObject: AnyBoardDo): boolean {\n\t\tconst allowed = domainObject instanceof Card;\n\t\treturn allowed;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitColumn(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitColumnAsync(this);\n\t}\n}\n\nexport interface ColumnProps extends BoardCompositeProps {\n\ttitle: string;\n}\n\nexport function isColumn(reference: unknown): reference is Column {\n\treturn reference instanceof Column;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ColumnBoard.html":{"url":"classes/ColumnBoard.html","title":"class - ColumnBoard","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ColumnBoard\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/column-board.do.ts\n \n\n\n\n \n Extends\n \n \n BoardComposite\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n accept\n \n \n Async\n acceptAsync\n \n \n isAllowedAsChild\n \n \n addChild\n \n \n hasChild\n \n \n removeChild\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n title\n \n \n context\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n accept\n \n \n \n \n \n \naccept(visitor: BoardCompositeVisitor)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:27\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitor\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n acceptAsync\n \n \n \n \n \n \n \n acceptAsync(visitor: BoardCompositeVisitorAsync)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitorAsync\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isAllowedAsChild\n \n \n \n \n \n \nisAllowedAsChild(domainObject: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addChild\n \n \n \n \n \n \naddChild(child: AnyBoardDo, position?: number)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n position\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasChild\n \n \n \n \n \n \nhasChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeChild\n \n \n \n \n \n \nremoveChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n title\n \n \n\n \n \n gettitle()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/column-board.do.ts:6\n \n \n\n \n \n settitle(title: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/column-board.do.ts:10\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n title\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n context\n \n \n\n \n \n getcontext()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/column-board.do.ts:14\n \n \n\n \n \n setcontext(context: BoardExternalReference)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/column-board.do.ts:18\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n context\n \n \n BoardExternalReference\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport { Column } from './column.do';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync, BoardExternalReference } from './types';\n\nexport class ColumnBoard extends BoardComposite {\n\tget title(): string {\n\t\treturn this.props.title;\n\t}\n\n\tset title(title: string) {\n\t\tthis.props.title = title;\n\t}\n\n\tget context(): BoardExternalReference {\n\t\treturn this.props.context;\n\t}\n\n\tset context(context: BoardExternalReference) {\n\t\tthis.props.context = context;\n\t}\n\n\tisAllowedAsChild(domainObject: AnyBoardDo): boolean {\n\t\tconst allowed = domainObject instanceof Column;\n\t\treturn allowed;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitColumnBoard(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitColumnBoardAsync(this);\n\t}\n}\n\nexport interface ColumnBoardProps extends BoardCompositeProps {\n\ttitle: string;\n\tcontext: BoardExternalReference;\n}\n\nexport function isColumnBoard(reference: unknown): reference is ColumnBoard {\n\treturn reference instanceof ColumnBoard;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ColumnBoardCopyService.html":{"url":"injectables/ColumnBoardCopyService.html","title":"injectable - ColumnBoardCopyService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ColumnBoardCopyService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/column-board-copy.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n copyColumnBoard\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(boardDoRepo: BoardDoRepo, courseRepo: CourseRepo, userService: UserService, boardDoCopyService: BoardDoCopyService, fileCopyServiceFactory: SchoolSpecificFileCopyServiceFactory)\n \n \n \n \n Defined in apps/server/src/modules/board/service/column-board-copy.service.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDoRepo\n \n \n BoardDoRepo\n \n \n \n No\n \n \n \n \n courseRepo\n \n \n CourseRepo\n \n \n \n No\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n boardDoCopyService\n \n \n BoardDoCopyService\n \n \n \n No\n \n \n \n \n fileCopyServiceFactory\n \n \n SchoolSpecificFileCopyServiceFactory\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n copyColumnBoard\n \n \n \n \n \n \n \n copyColumnBoard(props: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column-board-copy.service.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n literal type\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CopyStatus } from '@modules/copy-helper';\nimport { UserService } from '@modules/user';\nimport { Injectable, InternalServerErrorException, NotImplementedException } from '@nestjs/common';\nimport {\n\tBoardExternalReference,\n\tBoardExternalReferenceType,\n\tColumnBoard,\n\tisColumnBoard,\n} from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { CourseRepo } from '@shared/repo';\nimport { BoardDoRepo } from '../repo';\nimport { BoardDoCopyService, SchoolSpecificFileCopyServiceFactory } from './board-do-copy-service';\n\n@Injectable()\nexport class ColumnBoardCopyService {\n\tconstructor(\n\t\tprivate readonly boardDoRepo: BoardDoRepo,\n\t\tprivate readonly courseRepo: CourseRepo,\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly boardDoCopyService: BoardDoCopyService,\n\t\tprivate readonly fileCopyServiceFactory: SchoolSpecificFileCopyServiceFactory\n\t) {}\n\n\tasync copyColumnBoard(props: {\n\t\toriginalColumnBoardId: EntityId;\n\t\tdestinationExternalReference: BoardExternalReference;\n\t\tuserId: EntityId;\n\t}): Promise {\n\t\tconst originalBoard = await this.boardDoRepo.findByClassAndId(ColumnBoard, props.originalColumnBoardId);\n\n\t\tconst user = await this.userService.findById(props.userId);\n\t\t/* istanbul ignore next */\n\t\tif (originalBoard.context.type !== BoardExternalReferenceType.Course) {\n\t\t\tthrow new NotImplementedException('only courses are supported as board parents');\n\t\t}\n\t\tconst course = await this.courseRepo.findById(originalBoard.context.id); // TODO: get rid of this\n\n\t\tconst fileCopyService = this.fileCopyServiceFactory.build({\n\t\t\tsourceSchoolId: course.school.id,\n\t\t\ttargetSchoolId: user.schoolId,\n\t\t\tuserId: props.userId,\n\t\t});\n\n\t\tconst copyStatus = await this.boardDoCopyService.copy({ original: originalBoard, fileCopyService });\n\n\t\t/* istanbul ignore next */\n\t\tif (!isColumnBoard(copyStatus.copyEntity)) {\n\t\t\tthrow new InternalServerErrorException('expected copy of columnboard to be a columnboard');\n\t\t}\n\n\t\tcopyStatus.copyEntity.context = props.destinationExternalReference;\n\t\tawait this.boardDoRepo.save(copyStatus.copyEntity);\n\n\t\treturn copyStatus;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ColumnBoardFactory.html":{"url":"classes/ColumnBoardFactory.html","title":"class - ColumnBoardFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ColumnBoardFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/domainobject/board/column-board.do.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withoutContext\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withoutContext\n \n \n \n \n \n \nwithoutContext()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/domainobject/board/column-board.do.factory.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ColumnBoard, ColumnBoardProps } from '@shared/domain/domainobject';\nimport { BoardExternalReferenceType } from '@shared/domain/domainobject/board/types';\nimport { ObjectId } from 'bson';\nimport { BaseFactory } from '../../base.factory';\n\nexport type IColumnBoardProperties = Readonly;\n\nclass ColumnBoardFactory extends BaseFactory {\n\twithoutContext(): this {\n\t\tconst params = { context: undefined };\n\t\treturn this.params(params);\n\t}\n}\nexport const columnBoardFactory = ColumnBoardFactory.define(ColumnBoard, ({ sequence }) => {\n\treturn {\n\t\tid: new ObjectId().toHexString(),\n\t\ttitle: `column board #${sequence}`,\n\t\tchildren: [],\n\t\tcreatedAt: new Date(),\n\t\tupdatedAt: new Date(),\n\t\tcontext: {\n\t\t\ttype: BoardExternalReferenceType.Course,\n\t\t\tid: new ObjectId().toHexString(),\n\t\t},\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/ColumnBoardNode.html":{"url":"entities/ColumnBoardNode.html","title":"entity - ColumnBoardNode","body":"\n \n\n\n\n\n\n\n\n Entities\n ColumnBoardNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/column-board-node.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n _contextId\n \n \n \n _contextType\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n _contextId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'context'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/column-board-node.entity.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n _contextType\n \n \n \n \n \n \n Type : BoardExternalReferenceType\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'contextType'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/column-board-node.entity.ts:23\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport {\n\tAnyBoardDo,\n\tBoardExternalReference,\n\tBoardExternalReferenceType,\n} from '@shared/domain/domainobject/board/types';\nimport { ObjectId } from 'bson';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder } from './types';\nimport { BoardNodeType } from './types/board-node-type';\n\n@Entity({ discriminatorValue: BoardNodeType.COLUMN_BOARD })\nexport class ColumnBoardNode extends BoardNode {\n\tconstructor(props: ColumnBoardNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.COLUMN_BOARD;\n\n\t\tthis._contextType = props.context.type;\n\t\tthis._contextId = new ObjectId(props.context.id);\n\t}\n\n\t@Property({ fieldName: 'contextType' })\n\t_contextType: BoardExternalReferenceType;\n\n\t@Property({ fieldName: 'context' })\n\t_contextId: ObjectId;\n\n\tget context(): BoardExternalReference {\n\t\treturn {\n\t\t\ttype: this._contextType,\n\t\t\tid: this._contextId.toHexString(),\n\t\t};\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildColumnBoard(this);\n\t\treturn domainObject;\n\t}\n}\n\nexport interface ColumnBoardNodeProps extends BoardNodeProps {\n\tcontext: BoardExternalReference;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ColumnBoardNodeProps.html":{"url":"interfaces/ColumnBoardNodeProps.html","title":"interface - ColumnBoardNodeProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ColumnBoardNodeProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/column-board-node.entity.ts\n \n\n\n\n \n Extends\n \n \n BoardNodeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n context\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n context\n \n \n \n \n \n \n \n \n context: BoardExternalReference\n\n \n \n\n\n \n \n Type : BoardExternalReference\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport {\n\tAnyBoardDo,\n\tBoardExternalReference,\n\tBoardExternalReferenceType,\n} from '@shared/domain/domainobject/board/types';\nimport { ObjectId } from 'bson';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder } from './types';\nimport { BoardNodeType } from './types/board-node-type';\n\n@Entity({ discriminatorValue: BoardNodeType.COLUMN_BOARD })\nexport class ColumnBoardNode extends BoardNode {\n\tconstructor(props: ColumnBoardNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.COLUMN_BOARD;\n\n\t\tthis._contextType = props.context.type;\n\t\tthis._contextId = new ObjectId(props.context.id);\n\t}\n\n\t@Property({ fieldName: 'contextType' })\n\t_contextType: BoardExternalReferenceType;\n\n\t@Property({ fieldName: 'context' })\n\t_contextId: ObjectId;\n\n\tget context(): BoardExternalReference {\n\t\treturn {\n\t\t\ttype: this._contextType,\n\t\t\tid: this._contextId.toHexString(),\n\t\t};\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildColumnBoard(this);\n\t\treturn domainObject;\n\t}\n}\n\nexport interface ColumnBoardNodeProps extends BoardNodeProps {\n\tcontext: BoardExternalReference;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ColumnBoardProps.html":{"url":"interfaces/ColumnBoardProps.html","title":"interface - ColumnBoardProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ColumnBoardProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/column-board.do.ts\n \n\n\n\n \n Extends\n \n \n BoardCompositeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n context\n \n \n \n \n title\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n context\n \n \n \n \n \n \n \n \n context: BoardExternalReference\n\n \n \n\n\n \n \n Type : BoardExternalReference\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport { Column } from './column.do';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync, BoardExternalReference } from './types';\n\nexport class ColumnBoard extends BoardComposite {\n\tget title(): string {\n\t\treturn this.props.title;\n\t}\n\n\tset title(title: string) {\n\t\tthis.props.title = title;\n\t}\n\n\tget context(): BoardExternalReference {\n\t\treturn this.props.context;\n\t}\n\n\tset context(context: BoardExternalReference) {\n\t\tthis.props.context = context;\n\t}\n\n\tisAllowedAsChild(domainObject: AnyBoardDo): boolean {\n\t\tconst allowed = domainObject instanceof Column;\n\t\treturn allowed;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitColumnBoard(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitColumnBoardAsync(this);\n\t}\n}\n\nexport interface ColumnBoardProps extends BoardCompositeProps {\n\ttitle: string;\n\tcontext: BoardExternalReference;\n}\n\nexport function isColumnBoard(reference: unknown): reference is ColumnBoard {\n\treturn reference instanceof ColumnBoard;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ColumnBoardService.html":{"url":"injectables/ColumnBoardService.html","title":"injectable - ColumnBoardService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ColumnBoardService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/column-board.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n create\n \n \n Private\n createRichTextElement\n \n \n Async\n createWelcomeColumnBoard\n \n \n Async\n delete\n \n \n Async\n findByDescendant\n \n \n Async\n findById\n \n \n Async\n findIdsByExternalReference\n \n \n Async\n getBoardObjectTitlesById\n \n \n Async\n updateTitle\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(boardDoRepo: BoardDoRepo, boardDoService: BoardDoService, contentElementFactory: ContentElementFactory)\n \n \n \n \n Defined in apps/server/src/modules/board/service/column-board.service.ts:20\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDoRepo\n \n \n BoardDoRepo\n \n \n \n No\n \n \n \n \n boardDoService\n \n \n BoardDoService\n \n \n \n No\n \n \n \n \n contentElementFactory\n \n \n ContentElementFactory\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n create\n \n \n \n \n \n \n \n create(context: BoardExternalReference, title: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column-board.service.ts:57\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n context\n \n BoardExternalReference\n \n\n \n No\n \n\n \n \n\n \n \n title\n \n string\n \n\n \n No\n \n\n \n ''\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createRichTextElement\n \n \n \n \n \n \n \n createRichTextElement(text: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column-board.service.ts:145\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n text\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RichTextElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createWelcomeColumnBoard\n \n \n \n \n \n \n \n createWelcomeColumnBoard(courseReference: BoardExternalReference)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column-board.service.ts:81\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseReference\n \n BoardExternalReference\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(board: ColumnBoard)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column-board.service.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n board\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByDescendant\n \n \n \n \n \n \n \n findByDescendant(boardDo: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column-board.service.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(boardId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column-board.service.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findIdsByExternalReference\n \n \n \n \n \n \n \n findIdsByExternalReference(reference: BoardExternalReference)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column-board.service.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n reference\n \n BoardExternalReference\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getBoardObjectTitlesById\n \n \n \n \n \n \n \n getBoardObjectTitlesById(boardIds: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column-board.service.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateTitle\n \n \n \n \n \n \n \n updateTitle(board: ColumnBoard, title: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column-board.service.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n board\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n title\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport {\n\tAnyBoardDo,\n\tBoardExternalReference,\n\tCard,\n\tColumn,\n\tColumnBoard,\n\tContentElementFactory,\n\tContentElementType,\n\tRichTextElement,\n} from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport { BoardDoRepo } from '../repo';\nimport { BoardDoService } from './board-do.service';\n\n@Injectable()\nexport class ColumnBoardService {\n\tconstructor(\n\t\tprivate readonly boardDoRepo: BoardDoRepo,\n\t\tprivate readonly boardDoService: BoardDoService,\n\t\tprivate readonly contentElementFactory: ContentElementFactory\n\t) {}\n\n\tasync findById(boardId: EntityId): Promise {\n\t\tconst board = await this.boardDoRepo.findByClassAndId(ColumnBoard, boardId);\n\n\t\treturn board;\n\t}\n\n\tasync findIdsByExternalReference(reference: BoardExternalReference): Promise {\n\t\tconst ids = this.boardDoRepo.findIdsByExternalReference(reference);\n\n\t\treturn ids;\n\t}\n\n\tasync findByDescendant(boardDo: AnyBoardDo): Promise {\n\t\tconst ancestorIds: EntityId[] = await this.boardDoRepo.getAncestorIds(boardDo);\n\t\tconst idHierarchy: EntityId[] = [...ancestorIds, boardDo.id];\n\t\tconst rootId: EntityId = idHierarchy[0];\n\t\tconst rootBoardDo: AnyBoardDo = await this.boardDoRepo.findById(rootId, 1);\n\n\t\tif (rootBoardDo instanceof ColumnBoard) {\n\t\t\treturn rootBoardDo;\n\t\t}\n\n\t\tthrow new NotFoundLoggableException(ColumnBoard.name, 'id', rootId);\n\t}\n\n\tasync getBoardObjectTitlesById(boardIds: EntityId[]): Promise> {\n\t\tconst titleMap = this.boardDoRepo.getTitlesByIds(boardIds);\n\t\treturn titleMap;\n\t}\n\n\tasync create(context: BoardExternalReference, title = ''): Promise {\n\t\tconst columnBoard = new ColumnBoard({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttitle,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t\tcontext,\n\t\t});\n\n\t\tawait this.boardDoRepo.save(columnBoard);\n\n\t\treturn columnBoard;\n\t}\n\n\tasync delete(board: ColumnBoard): Promise {\n\t\tawait this.boardDoService.deleteWithDescendants(board);\n\t}\n\n\tasync updateTitle(board: ColumnBoard, title: string): Promise {\n\t\tboard.title = title;\n\t\tawait this.boardDoRepo.save(board);\n\t}\n\n\tasync createWelcomeColumnBoard(courseReference: BoardExternalReference) {\n\t\tconst columnBoard = new ColumnBoard({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttitle: '',\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t\tcontext: courseReference,\n\t\t});\n\n\t\tconst column = new Column({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttitle: '',\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\t\tcolumnBoard.addChild(column);\n\n\t\tconst card = new Card({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttitle: 'Willkommen auf dem neuen Spalten-Board! 🥳',\n\t\t\theight: 150,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\t\tcolumn.addChild(card);\n\n\t\tconst text1 = this.createRichTextElement(\n\t\t\t'Wir erweitern das Board kontinuierlich um wichtige Funktionen. Der aktuelle Stand kann hier getestet werden. '\n\t\t);\n\t\tcard.addChild(text1);\n\n\t\tif (Configuration.has('COLUMN_BOARD_HELP_LINK')) {\n\t\t\tconst helplink = Configuration.get('COLUMN_BOARD_HELP_LINK') as string;\n\t\t\tconst text2 = this.createRichTextElement(\n\t\t\t\t` Wichtige Informationen zu Berechtigungen und Informationen zum Einsatz des Boards sind im Hilfebereich zusammengefasst.`\n\t\t\t);\n\t\t\tcard.addChild(text2);\n\t\t}\n\n\t\tif (Configuration.has('COLUMN_BOARD_FEEDBACK_LINK')) {\n\t\t\tconst feedbacklink = Configuration.get('COLUMN_BOARD_FEEDBACK_LINK') as string;\n\t\t\tconst text3 = this.createRichTextElement(\n\t\t\t\t`Wir freuen uns sehr über Feedback zum Board unter folgendem Link.`\n\t\t\t);\n\t\t\tcard.addChild(text3);\n\t\t}\n\n\t\tconst SC_THEME = Configuration.get('SC_THEME') as string;\n\t\tif (SC_THEME !== 'default') {\n\t\t\tconst clientUrl = Configuration.get('HOST') as string;\n\t\t\tconst text4 = this.createRichTextElement(\n\t\t\t\t`Wir freuen uns über Feedback und Wünsche.`\n\t\t\t);\n\t\t\tcard.addChild(text4);\n\t\t}\n\n\t\tawait this.boardDoRepo.save(columnBoard);\n\n\t\treturn columnBoard;\n\t}\n\n\tprivate createRichTextElement(text: string): RichTextElement {\n\t\tconst element: RichTextElement = this.contentElementFactory.build(ContentElementType.RICH_TEXT) as RichTextElement;\n\t\telement.text = text;\n\n\t\treturn element;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/ColumnBoardTarget.html":{"url":"entities/ColumnBoardTarget.html","title":"entity - ColumnBoardTarget","body":"\n \n\n\n\n\n\n\n\n Entities\n ColumnBoardTarget\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/legacy-board/column-board-target.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n _columnBoardId\n \n \n \n published\n \n \n \n title\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n _columnBoardId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'columnBoard'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/legacy-board/column-board-target.entity.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n published\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/legacy-board/column-board-target.entity.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/legacy-board/column-board-target.entity.ts:21\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { LearnroomElement } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport { BaseEntityWithTimestamps } from '../base.entity';\n\ntype ColumnBoardTargetProps = {\n\tcolumnBoardId: EntityId;\n\ttitle?: string;\n};\n\n@Entity()\nexport class ColumnBoardTarget extends BaseEntityWithTimestamps implements LearnroomElement {\n\tconstructor(props: ColumnBoardTargetProps) {\n\t\tsuper();\n\t\tthis._columnBoardId = new ObjectId(props.columnBoardId);\n\t\tthis.title = props.title ?? '';\n\t}\n\n\t@Property()\n\ttitle: string;\n\n\tpublish(): void {\n\t\tthis.published = true;\n\t}\n\n\tunpublish(): void {\n\t\tthis.published = false;\n\t}\n\n\t@Property()\n\tpublished = false;\n\n\t@Property({ fieldName: 'columnBoard' })\n\t_columnBoardId: ObjectId;\n\n\tget columnBoardId(): EntityId {\n\t\treturn this._columnBoardId.toHexString();\n\t}\n}\n\nexport function isColumnBoardTarget(reference: unknown): reference is ColumnBoardTarget {\n\treturn reference instanceof ColumnBoardTarget;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ColumnBoardTargetService.html":{"url":"injectables/ColumnBoardTargetService.html","title":"injectable - ColumnBoardTargetService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ColumnBoardTargetService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/service/column-board-target.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n findExistingTargets\n \n \n Async\n findOrCreateTargets\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(columnBoardService: ColumnBoardService, em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/service/column-board-target.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n columnBoardService\n \n \n ColumnBoardService\n \n \n \n No\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n findExistingTargets\n \n \n \n \n \n \n \n findExistingTargets(columnBoardIds: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/column-board-target.service.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n columnBoardIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findOrCreateTargets\n \n \n \n \n \n \n \n findOrCreateTargets(columnBoardIds: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/column-board-target.service.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n columnBoardIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { FilterQuery } from '@mikro-orm/core';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { ColumnBoardService } from '@modules/board';\nimport { Injectable } from '@nestjs/common';\nimport { ColumnBoardTarget } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\n\n@Injectable()\nexport class ColumnBoardTargetService {\n\tconstructor(private readonly columnBoardService: ColumnBoardService, private readonly em: EntityManager) {}\n\n\tasync findOrCreateTargets(columnBoardIds: EntityId[]): Promise {\n\t\tconst existingTargets = await this.findExistingTargets(columnBoardIds);\n\n\t\tconst titlesMap = await this.columnBoardService.getBoardObjectTitlesById(columnBoardIds);\n\n\t\tconst columnBoardTargets = columnBoardIds.map((id) => {\n\t\t\tconst title = titlesMap[id] ?? '';\n\t\t\tlet target = existingTargets.find((item) => item.columnBoardId === id);\n\t\t\tif (target) {\n\t\t\t\ttarget.title = title;\n\t\t\t} else {\n\t\t\t\ttarget = new ColumnBoardTarget({ columnBoardId: id, title });\n\t\t\t}\n\t\t\tthis.em.persist(target);\n\t\t\treturn target;\n\t\t});\n\n\t\tawait this.em.flush();\n\n\t\treturn columnBoardTargets;\n\t}\n\n\tprivate async findExistingTargets(columnBoardIds: EntityId[]): Promise {\n\t\tconst existingTargets = await this.em.find(ColumnBoardTarget, {\n\t\t\t_columnBoardId: { $in: columnBoardIds },\n\t\t} as unknown as FilterQuery);\n\n\t\treturn existingTargets;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/ColumnController.html":{"url":"controllers/ColumnController.html","title":"controller - ColumnController","body":"\n \n\n\n\n\n\n\n Controllers\n ColumnController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/column.controller.ts\n \n\n \n Prefix\n \n \n columns\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createCard\n \n \n \n \n \n \n \n \n \n Async\n deleteColumn\n \n \n \n \n \n \n \n \n \n Async\n moveColumn\n \n \n \n \n \n \n \n \n \n Async\n updateColumnTitle\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createCard\n \n \n \n \n \n \n \n createCard(urlParams: ColumnUrlParams, currentUser: ICurrentUser, createCardBodyParams?: CreateCardBodyParams)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Create a new card on a column.'})@ApiResponse({status: 201, type: CardResponse})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@ApiBody({required: false, type: CreateCardBodyParams})@Post(':columnId/cards')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/column.controller.ts:75\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n ColumnUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n createCardBodyParams\n \n CreateCardBodyParams\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteColumn\n \n \n \n \n \n \n \n deleteColumn(urlParams: ColumnUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Delete a single column.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Delete(':columnId')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/column.controller.ts:64\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n ColumnUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n moveColumn\n \n \n \n \n \n \n \n moveColumn(urlParams: ColumnUrlParams, bodyParams: MoveColumnBodyParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Move a single column.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Put(':columnId/position')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/column.controller.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n ColumnUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n MoveColumnBodyParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateColumnTitle\n \n \n \n \n \n \n \n updateColumnTitle(urlParams: ColumnUrlParams, bodyParams: RenameBodyParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Update the title of a single column.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Patch(':columnId/title')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/column.controller.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n ColumnUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n RenameBodyParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport {\n\tBody,\n\tController,\n\tDelete,\n\tForbiddenException,\n\tHttpCode,\n\tNotFoundException,\n\tParam,\n\tPatch,\n\tPost,\n\tPut,\n} from '@nestjs/common';\nimport { ApiBody, ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { ApiValidationError } from '@shared/common';\nimport { BoardUc, ColumnUc } from '../uc';\nimport { CardResponse, ColumnUrlParams, MoveColumnBodyParams, RenameBodyParams } from './dto';\nimport { CreateCardBodyParams } from './dto/card/create-card.body.params';\nimport { CardResponseMapper } from './mapper';\n\n@ApiTags('Board Column')\n@Authenticate('jwt')\n@Controller('columns')\nexport class ColumnController {\n\tconstructor(private readonly boardUc: BoardUc, private readonly columnUc: ColumnUc) {}\n\n\t@ApiOperation({ summary: 'Move a single column.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Put(':columnId/position')\n\tasync moveColumn(\n\t\t@Param() urlParams: ColumnUrlParams,\n\t\t@Body() bodyParams: MoveColumnBodyParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tawait this.boardUc.moveColumn(currentUser.userId, urlParams.columnId, bodyParams.toBoardId, bodyParams.toPosition);\n\t}\n\n\t@ApiOperation({ summary: 'Update the title of a single column.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Patch(':columnId/title')\n\tasync updateColumnTitle(\n\t\t@Param() urlParams: ColumnUrlParams,\n\t\t@Body() bodyParams: RenameBodyParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tawait this.columnUc.updateColumnTitle(currentUser.userId, urlParams.columnId, bodyParams.title);\n\t}\n\n\t@ApiOperation({ summary: 'Delete a single column.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Delete(':columnId')\n\tasync deleteColumn(@Param() urlParams: ColumnUrlParams, @CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tawait this.columnUc.deleteColumn(currentUser.userId, urlParams.columnId);\n\t}\n\n\t@ApiOperation({ summary: 'Create a new card on a column.' })\n\t@ApiResponse({ status: 201, type: CardResponse })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@ApiBody({ required: false, type: CreateCardBodyParams })\n\t@Post(':columnId/cards')\n\tasync createCard(\n\t\t@Param() urlParams: ColumnUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() createCardBodyParams?: CreateCardBodyParams\n\t): Promise {\n\t\tconst { requiredEmptyElements } = createCardBodyParams || {};\n\t\tconst card = await this.columnUc.createCard(currentUser.userId, urlParams.columnId, requiredEmptyElements);\n\n\t\tconst response = CardResponseMapper.mapToResponse(card);\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/ColumnNode.html":{"url":"entities/ColumnNode.html","title":"entity - ColumnNode","body":"\n \n\n\n\n\n\n\n\n Entities\n ColumnNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/column-node.entity.ts\n \n\n\n\n\n\n \n\n\n \n import { Entity } from '@mikro-orm/core';\nimport { AnyBoardDo } from '../../domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder } from './types';\nimport { BoardNodeType } from './types/board-node-type';\n\n@Entity({ discriminatorValue: BoardNodeType.COLUMN })\nexport class ColumnNode extends BoardNode {\n\tconstructor(props: BoardNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.COLUMN;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildColumn(this);\n\t\treturn domainObject;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ColumnProps.html":{"url":"interfaces/ColumnProps.html","title":"interface - ColumnProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ColumnProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/column.do.ts\n \n\n\n\n \n Extends\n \n \n BoardCompositeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport { Card } from './card.do';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class Column extends BoardComposite {\n\tget title(): string {\n\t\treturn this.props.title;\n\t}\n\n\tset title(title: string) {\n\t\tthis.props.title = title;\n\t}\n\n\tisAllowedAsChild(domainObject: AnyBoardDo): boolean {\n\t\tconst allowed = domainObject instanceof Card;\n\t\treturn allowed;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitColumn(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitColumnAsync(this);\n\t}\n}\n\nexport interface ColumnProps extends BoardCompositeProps {\n\ttitle: string;\n}\n\nexport function isColumn(reference: unknown): reference is Column {\n\treturn reference instanceof Column;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ColumnResponse.html":{"url":"classes/ColumnResponse.html","title":"class - ColumnResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ColumnResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/board/column.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n cards\n \n \n \n id\n \n \n \n timestamps\n \n \n \n \n Optional\n title\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: ColumnResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/column.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n ColumnResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n cards\n \n \n \n \n \n \n Type : CardSkeletonResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/column.response.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/column.response.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n timestamps\n \n \n \n \n \n \n Type : TimestampsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/column.response.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/column.response.ts:21\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\nimport { CardSkeletonResponse } from './card-skeleton.response';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class ColumnResponse {\n\tconstructor({ id, title, cards, timestamps }: ColumnResponse) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.cards = cards;\n\t\tthis.timestamps = timestamps;\n\t}\n\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\ttitle?: string;\n\n\t@ApiProperty({\n\t\ttype: [CardSkeletonResponse],\n\t})\n\tcards: CardSkeletonResponse[];\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ColumnResponseMapper.html":{"url":"classes/ColumnResponseMapper.html","title":"class - ColumnResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ColumnResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/column-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(column: Column)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/column-response.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n column\n \n Column\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ColumnResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpException, HttpStatus } from '@nestjs/common';\nimport { Card, Column } from '@shared/domain/domainobject';\nimport { CardSkeletonResponse, ColumnResponse, TimestampsResponse } from '../dto';\n\nexport class ColumnResponseMapper {\n\tstatic mapToResponse(column: Column): ColumnResponse {\n\t\tconst result = new ColumnResponse({\n\t\t\tid: column.id,\n\t\t\ttitle: column.title,\n\t\t\tcards: column.children.map((card) => {\n\t\t\t\t/* istanbul ignore next */\n\t\t\t\tif (!(card instanceof Card)) {\n\t\t\t\t\tthrow new HttpException(`unsupported child type: ${card.constructor.name}`, HttpStatus.UNPROCESSABLE_ENTITY);\n\t\t\t\t}\n\t\t\t\treturn new CardSkeletonResponse({\n\t\t\t\t\tcardId: card.id,\n\t\t\t\t\theight: card.height,\n\t\t\t\t});\n\t\t\t}),\n\t\t\ttimestamps: new TimestampsResponse({ lastUpdatedAt: column.updatedAt, createdAt: column.createdAt }),\n\t\t});\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ColumnService.html":{"url":"injectables/ColumnService.html","title":"injectable - ColumnService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ColumnService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/column.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n move\n \n \n Async\n updateTitle\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(boardDoRepo: BoardDoRepo, boardDoService: BoardDoService)\n \n \n \n \n Defined in apps/server/src/modules/board/service/column.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDoRepo\n \n \n BoardDoRepo\n \n \n \n No\n \n \n \n \n boardDoService\n \n \n BoardDoService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n create\n \n \n \n \n \n \n \n create(parent: ColumnBoard)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column.service.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n parent\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(column: Column)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column.service.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n column\n \n Column\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(columnId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column.service.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n columnId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n move\n \n \n \n \n \n \n \n move(column: Column, targetBoard: ColumnBoard, targetPosition?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column.service.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n column\n \n Column\n \n\n \n No\n \n\n\n \n \n targetBoard\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n targetPosition\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateTitle\n \n \n \n \n \n \n \n updateTitle(column: Column, title: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column.service.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n column\n \n Column\n \n\n \n No\n \n\n\n \n \n title\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Column, ColumnBoard } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport { BoardDoRepo } from '../repo';\nimport { BoardDoService } from './board-do.service';\n\n@Injectable()\nexport class ColumnService {\n\tconstructor(private readonly boardDoRepo: BoardDoRepo, private readonly boardDoService: BoardDoService) {}\n\n\tasync findById(columnId: EntityId): Promise {\n\t\tconst column = await this.boardDoRepo.findByClassAndId(Column, columnId);\n\t\treturn column;\n\t}\n\n\tasync create(parent: ColumnBoard): Promise {\n\t\tconst column = new Column({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttitle: '',\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\n\t\tparent.addChild(column);\n\n\t\tawait this.boardDoRepo.save(parent.children, parent);\n\n\t\treturn column;\n\t}\n\n\tasync delete(column: Column): Promise {\n\t\tawait this.boardDoService.deleteWithDescendants(column);\n\t}\n\n\tasync move(column: Column, targetBoard: ColumnBoard, targetPosition?: number): Promise {\n\t\tawait this.boardDoService.move(column, targetBoard, targetPosition);\n\t}\n\n\tasync updateTitle(column: Column, title: string): Promise {\n\t\tconst parent = await this.boardDoRepo.findParentOfId(column.id);\n\t\tcolumn.title = title;\n\t\tawait this.boardDoRepo.save(column, parent);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ColumnUc.html":{"url":"injectables/ColumnUc.html","title":"injectable - ColumnUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ColumnUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/uc/column.uc.ts\n \n\n\n\n \n Extends\n \n \n BaseUc\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createCard\n \n \n Async\n deleteColumn\n \n \n Async\n moveCard\n \n \n Async\n updateColumnTitle\n \n \n Protected\n Async\n checkPermission\n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationService: AuthorizationService, boardDoAuthorizableService: BoardDoAuthorizableService, cardService: CardService, columnService: ColumnService, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/board/uc/column.uc.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n boardDoAuthorizableService\n \n \n BoardDoAuthorizableService\n \n \n \n No\n \n \n \n \n cardService\n \n \n CardService\n \n \n \n No\n \n \n \n \n columnService\n \n \n ColumnService\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createCard\n \n \n \n \n \n \n \n createCard(userId: EntityId, columnId: EntityId, requiredEmptyElements?: ContentElementType[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/column.uc.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n columnId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n requiredEmptyElements\n \n ContentElementType[]\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteColumn\n \n \n \n \n \n \n \n deleteColumn(userId: EntityId, columnId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/column.uc.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n columnId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n moveCard\n \n \n \n \n \n \n \n moveCard(userId: EntityId, cardId: EntityId, targetColumnId: EntityId, targetPosition: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/column.uc.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n cardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetColumnId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetPosition\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateColumnTitle\n \n \n \n \n \n \n \n updateColumnTitle(userId: EntityId, columnId: EntityId, title: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/column.uc.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n columnId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n title\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n checkPermission\n \n \n \n \n \n \n \n checkPermission(userId: EntityId, anyBoardDo: AnyBoardDo, action: Action, requiredUserRole?: UserRoleEnum)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:13\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n anyBoardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n requiredUserRole\n \n UserRoleEnum\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n \n \n \n \n \n checkSubmissionItemWritePermission(userId: EntityId, submissionItem: SubmissionItem)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:45\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n submissionItem\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n \n \n \n isAuthorizedStudent(userId: EntityId, boardDo: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:29\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Action, AuthorizationService } from '@modules/authorization';\nimport { forwardRef, Inject, Injectable } from '@nestjs/common';\nimport { Card, ContentElementType } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacyLogger } from '@src/core/logger';\nimport { BoardDoAuthorizableService, CardService, ColumnService } from '../service';\nimport { BaseUc } from './base.uc';\n\n@Injectable()\nexport class ColumnUc extends BaseUc {\n\tconstructor(\n\t\t@Inject(forwardRef(() => AuthorizationService))\n\t\tprotected readonly authorizationService: AuthorizationService,\n\t\tprotected readonly boardDoAuthorizableService: BoardDoAuthorizableService,\n\t\tprivate readonly cardService: CardService,\n\t\tprivate readonly columnService: ColumnService,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tsuper(authorizationService, boardDoAuthorizableService);\n\t\tthis.logger.setContext(ColumnUc.name);\n\t}\n\n\tasync deleteColumn(userId: EntityId, columnId: EntityId): Promise {\n\t\tthis.logger.debug({ action: 'deleteColumn', userId, columnId });\n\n\t\tconst column = await this.columnService.findById(columnId);\n\t\tawait this.checkPermission(userId, column, Action.write);\n\n\t\tawait this.columnService.delete(column);\n\t}\n\n\tasync updateColumnTitle(userId: EntityId, columnId: EntityId, title: string): Promise {\n\t\tthis.logger.debug({ action: 'updateColumnTitle', userId, columnId, title });\n\n\t\tconst column = await this.columnService.findById(columnId);\n\t\tawait this.checkPermission(userId, column, Action.write);\n\n\t\tawait this.columnService.updateTitle(column, title);\n\t}\n\n\tasync createCard(userId: EntityId, columnId: EntityId, requiredEmptyElements?: ContentElementType[]): Promise {\n\t\tthis.logger.debug({ action: 'createCard', userId, columnId });\n\n\t\tconst column = await this.columnService.findById(columnId);\n\t\tawait this.checkPermission(userId, column, Action.read);\n\n\t\tconst card = await this.cardService.create(column, requiredEmptyElements);\n\n\t\treturn card;\n\t}\n\n\tasync moveCard(userId: EntityId, cardId: EntityId, targetColumnId: EntityId, targetPosition: number): Promise {\n\t\tthis.logger.debug({ action: 'moveCard', userId, cardId, targetColumnId, toPosition: targetPosition });\n\n\t\tconst card = await this.cardService.findById(cardId);\n\t\tconst targetColumn = await this.columnService.findById(targetColumnId);\n\n\t\tawait this.checkPermission(userId, card, Action.write);\n\t\tawait this.checkPermission(userId, targetColumn, Action.write);\n\n\t\tawait this.cardService.move(card, targetColumn, targetPosition);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ColumnUrlParams.html":{"url":"classes/ColumnUrlParams.html","title":"class - ColumnUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ColumnUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/board/column.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n columnId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n columnId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the column.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/column.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class ColumnUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the column.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tcolumnId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/ColumnboardBoardElement.html":{"url":"entities/ColumnboardBoardElement.html","title":"entity - ColumnboardBoardElement","body":"\n \n\n\n\n\n\n\n\n Entities\n ColumnboardBoardElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/legacy-board/column-board-boardelement.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n target\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : ColumnBoardTarget\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('ColumnBoardTarget')\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/legacy-board/column-board-boardelement.ts:13\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, ManyToOne } from '@mikro-orm/core';\nimport { BoardElement, BoardElementType } from './boardelement.entity';\nimport { ColumnBoardTarget } from './column-board-target.entity';\n\n@Entity({ discriminatorValue: BoardElementType.ColumnBoard })\nexport class ColumnboardBoardElement extends BoardElement {\n\tconstructor(props: { target: ColumnBoardTarget }) {\n\t\tsuper(props);\n\t\tthis.boardElementType = BoardElementType.ColumnBoard;\n\t}\n\n\t@ManyToOne('ColumnBoardTarget')\n\ttarget!: ColumnBoardTarget;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CommonCartridgeConfig.html":{"url":"interfaces/CommonCartridgeConfig.html","title":"interface - CommonCartridgeConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CommonCartridgeConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge.config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n FEATURE_IMSCC_COURSE_EXPORT_ENABLED\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n FEATURE_IMSCC_COURSE_EXPORT_ENABLED\n \n \n \n \n \n \n \n \n FEATURE_IMSCC_COURSE_EXPORT_ENABLED: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface CommonCartridgeConfig {\n\tFEATURE_IMSCC_COURSE_EXPORT_ENABLED: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CommonCartridgeElement.html":{"url":"interfaces/CommonCartridgeElement.html","title":"interface - CommonCartridgeElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CommonCartridgeElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-element.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n transform\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n transform\n \n \n \n \n \n \ntransform()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-element.interface.ts:2\n \n \n\n\n \n \n\n \n Returns : Record\n\n \n \n \n \n \n\n\n \n\n\n \n export interface CommonCartridgeElement {\n\ttransform(): Record;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CommonCartridgeExportService.html":{"url":"injectables/CommonCartridgeExportService.html","title":"injectable - CommonCartridgeExportService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CommonCartridgeExportService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/service/common-cartridge-export.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n addLessons\n \n \n Private\n Async\n addTasks\n \n \n Async\n exportCourse\n \n \n Private\n mapContentToResource\n \n \n Private\n mapCourseTeachersToCopyrightOwners\n \n \n Private\n mapTaskToWebContentResource\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(courseService: CourseService, lessonService: LessonService, taskService: TaskService)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/service/common-cartridge-export.service.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseService\n \n \n CourseService\n \n \n \n No\n \n \n \n \n lessonService\n \n \n LessonService\n \n \n \n No\n \n \n \n \n taskService\n \n \n TaskService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n addLessons\n \n \n \n \n \n \n \n addLessons(builder: CommonCartridgeFileBuilder, version: CommonCartridgeVersion, courseId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/common-cartridge-export.service.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n builder\n \n CommonCartridgeFileBuilder\n \n\n \n No\n \n\n\n \n \n version\n \n CommonCartridgeVersion\n \n\n \n No\n \n\n\n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n addTasks\n \n \n \n \n \n \n \n addTasks(builder: CommonCartridgeFileBuilder, version: CommonCartridgeVersion, courseId: EntityId, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/common-cartridge-export.service.ts:71\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n builder\n \n CommonCartridgeFileBuilder\n \n\n \n No\n \n\n\n \n \n version\n \n CommonCartridgeVersion\n \n\n \n No\n \n\n\n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n exportCourse\n \n \n \n \n \n \n \n exportCourse(courseId: EntityId, userId: EntityId, version: CommonCartridgeVersion)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/common-cartridge-export.service.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n version\n \n CommonCartridgeVersion\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapContentToResource\n \n \n \n \n \n \n \n mapContentToResource(lessonId: string, content: ComponentProperties, version: CommonCartridgeVersion)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/common-cartridge-export.service.ts:91\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n lessonId\n \n string\n \n\n \n No\n \n\n\n \n \n content\n \n ComponentProperties\n \n\n \n No\n \n\n\n \n \n version\n \n CommonCartridgeVersion\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ICommonCartridgeResourceProps | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapCourseTeachersToCopyrightOwners\n \n \n \n \n \n \n \n mapCourseTeachersToCopyrightOwners(course: Course)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/common-cartridge-export.service.ts:146\n \n \n\n\n \n \n This method gets the course as parameter and maps the contained teacher names within the teachers Collection to a string.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n course\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n string\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n mapTaskToWebContentResource\n \n \n \n \n \n \n \n mapTaskToWebContentResource(task: Task, version: CommonCartridgeVersion)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/common-cartridge-export.service.ts:154\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n task\n \n Task\n \n\n \n No\n \n\n\n \n \n version\n \n CommonCartridgeVersion\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ICommonCartridgeWebContentResourceProps\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { LessonService } from '@modules/lesson/service';\nimport { TaskService } from '@modules/task/service';\nimport { Injectable } from '@nestjs/common';\nimport { ComponentProperties, Course, Task } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { ComponentType } from '@src/shared/domain/entity/lesson.entity';\nimport {\n\tCommonCartridgeFileBuilder,\n\tCommonCartridgeIntendedUseType,\n\tCommonCartridgeResourceType,\n\tCommonCartridgeVersion,\n\tICommonCartridgeResourceProps,\n\tICommonCartridgeWebContentResourceProps,\n} from '../common-cartridge';\nimport { createIdentifier } from '../common-cartridge/utils';\nimport { CourseService } from './course.service';\n\n@Injectable()\nexport class CommonCartridgeExportService {\n\tconstructor(\n\t\tprivate readonly courseService: CourseService,\n\t\tprivate readonly lessonService: LessonService,\n\t\tprivate readonly taskService: TaskService\n\t) {}\n\n\tasync exportCourse(courseId: EntityId, userId: EntityId, version: CommonCartridgeVersion): Promise {\n\t\tconst course = await this.courseService.findById(courseId);\n\t\tconst builder = new CommonCartridgeFileBuilder({\n\t\t\tidentifier: createIdentifier(courseId),\n\t\t\ttitle: course.name,\n\t\t\tversion,\n\t\t\tcopyrightOwners: this.mapCourseTeachersToCopyrightOwners(course),\n\t\t\tcreationYear: course.createdAt.getFullYear().toString(),\n\t\t});\n\n\t\tawait this.addLessons(builder, version, courseId);\n\t\tawait this.addTasks(builder, version, courseId, userId);\n\n\t\treturn builder.build();\n\t}\n\n\tprivate async addLessons(\n\t\tbuilder: CommonCartridgeFileBuilder,\n\t\tversion: CommonCartridgeVersion,\n\t\tcourseId: EntityId\n\t): Promise {\n\t\tconst [lessons] = await this.lessonService.findByCourseIds([courseId]);\n\n\t\tlessons.forEach((lesson) => {\n\t\t\tconst organizationBuilder = builder.addOrganization({\n\t\t\t\tversion,\n\t\t\t\tidentifier: createIdentifier(lesson.id),\n\t\t\t\ttitle: lesson.name,\n\t\t\t\tresources: [],\n\t\t\t});\n\n\t\t\tlesson.contents.forEach((content) => {\n\t\t\t\tconst resourceProps = this.mapContentToResource(lesson.id, content, version);\n\t\t\t\tif (resourceProps) {\n\t\t\t\t\torganizationBuilder.addResourceToOrganization(resourceProps);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tconst tasks = lesson.tasks.getItems();\n\t\t\ttasks.forEach((task) => {\n\t\t\t\torganizationBuilder.addResourceToOrganization(this.mapTaskToWebContentResource(task, version));\n\t\t\t});\n\t\t});\n\t}\n\n\tprivate async addTasks(\n\t\tbuilder: CommonCartridgeFileBuilder,\n\t\tversion: CommonCartridgeVersion,\n\t\tcourseId: EntityId,\n\t\tuserId: EntityId\n\t): Promise {\n\t\tconst [tasks] = await this.taskService.findBySingleParent(userId, courseId);\n\t\tconst organizationBuilder = builder.addOrganization({\n\t\t\tversion,\n\t\t\tidentifier: createIdentifier(),\n\t\t\t// FIXME: change the title for tasks organization\n\t\t\ttitle: '',\n\t\t\tresources: [],\n\t\t});\n\n\t\ttasks.forEach((task) => {\n\t\t\torganizationBuilder.addResourceToOrganization(this.mapTaskToWebContentResource(task, version));\n\t\t});\n\t}\n\n\tprivate mapContentToResource(\n\t\tlessonId: string,\n\t\tcontent: ComponentProperties,\n\t\tversion: CommonCartridgeVersion\n\t): ICommonCartridgeResourceProps | undefined {\n\t\tconst commonProps = {\n\t\t\tversion,\n\t\t\tidentifier: createIdentifier(content._id),\n\t\t\thref: `${createIdentifier(lessonId)}/${createIdentifier(content._id)}.html`,\n\t\t\ttitle: content.title,\n\t\t};\n\n\t\tif (content.component === ComponentType.TEXT) {\n\t\t\treturn {\n\t\t\t\tversion,\n\t\t\t\tidentifier: createIdentifier(content._id),\n\t\t\t\thref: `${createIdentifier(lessonId)}/${createIdentifier(content._id)}.html`,\n\t\t\t\ttitle: content.title,\n\t\t\t\ttype: CommonCartridgeResourceType.WEB_CONTENT,\n\t\t\t\tintendedUse: CommonCartridgeIntendedUseType.UNSPECIFIED,\n\t\t\t\thtml: `${content.title}${content.content.text}`,\n\t\t\t};\n\t\t}\n\n\t\tif (content.component === ComponentType.GEOGEBRA) {\n\t\t\tconst url = `https://www.geogebra.org/m/${content.content.materialId}`;\n\t\t\treturn version === CommonCartridgeVersion.V_1_3_0\n\t\t\t\t? { ...commonProps, type: CommonCartridgeResourceType.WEB_LINK_V3, url }\n\t\t\t\t: { ...commonProps, type: CommonCartridgeResourceType.WEB_LINK_V1, url };\n\t\t}\n\n\t\tif (content.component === ComponentType.ETHERPAD) {\n\t\t\treturn version === CommonCartridgeVersion.V_1_3_0\n\t\t\t\t? {\n\t\t\t\t\t\t...commonProps,\n\t\t\t\t\t\ttype: CommonCartridgeResourceType.WEB_LINK_V3,\n\t\t\t\t\t\turl: content.content.url,\n\t\t\t\t\t\ttitle: content.content.description,\n\t\t\t\t }\n\t\t\t\t: {\n\t\t\t\t\t\t...commonProps,\n\t\t\t\t\t\ttype: CommonCartridgeResourceType.WEB_LINK_V1,\n\t\t\t\t\t\turl: content.content.url,\n\t\t\t\t\t\ttitle: content.content.description,\n\t\t\t\t };\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\t/**\n\t * This method gets the course as parameter and maps the contained teacher names within the teachers Collection to a string.\n\t * @param Course\n\t * @return string\n\t * */\n\tprivate mapCourseTeachersToCopyrightOwners(course: Course): string {\n\t\tconst result = course.teachers\n\t\t\t.toArray()\n\t\t\t.map((teacher) => `${teacher.firstName} ${teacher.lastName}`)\n\t\t\t.reduce((previousTeachers, currentTeacher) => `${previousTeachers}, ${currentTeacher}`);\n\t\treturn result;\n\t}\n\n\tprivate mapTaskToWebContentResource(\n\t\ttask: Task,\n\t\tversion: CommonCartridgeVersion\n\t): ICommonCartridgeWebContentResourceProps {\n\t\tconst taskIdentifier = createIdentifier(task.id);\n\t\treturn {\n\t\t\tversion,\n\t\t\tidentifier: taskIdentifier,\n\t\t\thref: `${taskIdentifier}/${taskIdentifier}.html`,\n\t\t\ttitle: task.name,\n\t\t\ttype: CommonCartridgeResourceType.WEB_CONTENT,\n\t\t\thtml: `${task.name}${task.description}`,\n\t\t\tintendedUse:\n\t\t\t\tversion === CommonCartridgeVersion.V_1_1_0\n\t\t\t\t\t? CommonCartridgeIntendedUseType.UNSPECIFIED\n\t\t\t\t\t: CommonCartridgeIntendedUseType.ASSIGNMENT,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CommonCartridgeFile.html":{"url":"interfaces/CommonCartridgeFile.html","title":"interface - CommonCartridgeFile","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CommonCartridgeFile\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n canInline\n \n \n \n \n content\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n canInline\n \n \n \n \n \n \ncanInline()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file.interface.ts:2\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \ncontent()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file.interface.ts:3\n \n \n\n\n \n \n\n \n Returns : string\n\n \n \n \n \n \n\n\n \n\n\n \n export interface CommonCartridgeFile {\n\tcanInline(): boolean;\n\tcontent(): string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CommonCartridgeFileBuilder.html":{"url":"classes/CommonCartridgeFileBuilder.html","title":"class - CommonCartridgeFileBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CommonCartridgeFileBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts\n \n\n\n\n\n \n Implements\n \n \n ICommonCartridgeFileBuilder\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n organizations\n \n \n Private\n Readonly\n resources\n \n \n Private\n Readonly\n xmlBuilder\n \n \n Private\n Readonly\n zipBuilder\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n addOrganization\n \n \n addResourceToFile\n \n \n Async\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(options: CommonCartridgeFileBuilderOptions)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:69\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n \n CommonCartridgeFileBuilderOptions\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n organizations\n \n \n \n \n \n \n Default value : new Array()\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:67\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n resources\n \n \n \n \n \n \n Default value : new Array()\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:69\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n xmlBuilder\n \n \n \n \n \n \n Default value : new Builder()\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:63\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n zipBuilder\n \n \n \n \n \n \n Default value : new AdmZip()\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:65\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n addOrganization\n \n \n \n \n \n \naddOrganization(props: ICommonCartridgeOrganizationProps)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n ICommonCartridgeOrganizationProps\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ICommonCartridgeOrganizationBuilder\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addResourceToFile\n \n \n \n \n \n \naddResourceToFile(props: ICommonCartridgeResourceProps)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:79\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n ICommonCartridgeResourceProps\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ICommonCartridgeFileBuilder\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n build\n \n \n \n \n \n \n \n build()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:88\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import AdmZip from 'adm-zip';\nimport { Builder } from 'xml2js';\nimport { CommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeVersion } from './common-cartridge-enums';\nimport { CommonCartridgeManifestElement } from './common-cartridge-manifest-element';\nimport {\n\tCommonCartridgeOrganizationItemElement,\n\tICommonCartridgeOrganizationProps,\n} from './common-cartridge-organization-item-element';\nimport {\n\tCommonCartridgeResourceItemElement,\n\tICommonCartridgeResourceProps,\n} from './common-cartridge-resource-item-element';\n\nexport type CommonCartridgeFileBuilderOptions = {\n\tidentifier: string;\n\ttitle: string;\n\tcopyrightOwners: string;\n\tcreationYear: string;\n\tversion: CommonCartridgeVersion;\n};\n\nexport interface ICommonCartridgeOrganizationBuilder {\n\taddResourceToOrganization(props: ICommonCartridgeResourceProps): ICommonCartridgeOrganizationBuilder;\n}\n\nexport interface ICommonCartridgeFileBuilder {\n\taddOrganization(props: ICommonCartridgeOrganizationProps): ICommonCartridgeOrganizationBuilder;\n\n\taddResourceToFile(props: ICommonCartridgeResourceProps): ICommonCartridgeFileBuilder;\n\n\tbuild(): Promise;\n}\n\nclass CommonCartridgeOrganizationBuilder implements ICommonCartridgeOrganizationBuilder {\n\tconstructor(\n\t\tprivate readonly props: ICommonCartridgeOrganizationProps,\n\t\tprivate readonly xmlBuilder: Builder,\n\t\tprivate readonly zipBuilder: AdmZip\n\t) {}\n\n\tget organization(): CommonCartridgeElement {\n\t\treturn new CommonCartridgeOrganizationItemElement(this.props);\n\t}\n\n\tget resources(): CommonCartridgeElement[] {\n\t\treturn this.props.resources.map(\n\t\t\t(resourceProps) => new CommonCartridgeResourceItemElement(resourceProps, this.xmlBuilder)\n\t\t);\n\t}\n\n\taddResourceToOrganization(props: ICommonCartridgeResourceProps): ICommonCartridgeOrganizationBuilder {\n\t\tconst newResource = new CommonCartridgeResourceItemElement(props, this.xmlBuilder);\n\t\tthis.props.resources.push(props);\n\t\tif (!newResource.canInline()) {\n\t\t\tthis.zipBuilder.addFile(props.href, Buffer.from(newResource.content()));\n\t\t}\n\t\treturn this;\n\t}\n}\n\nexport class CommonCartridgeFileBuilder implements ICommonCartridgeFileBuilder {\n\tprivate readonly xmlBuilder = new Builder();\n\n\tprivate readonly zipBuilder = new AdmZip();\n\n\tprivate readonly organizations = new Array();\n\n\tprivate readonly resources = new Array();\n\n\tconstructor(private readonly options: CommonCartridgeFileBuilderOptions) {}\n\n\taddOrganization(props: ICommonCartridgeOrganizationProps): ICommonCartridgeOrganizationBuilder {\n\t\tconst organizationBuilder = new CommonCartridgeOrganizationBuilder(props, this.xmlBuilder, this.zipBuilder);\n\t\tthis.organizations.push(organizationBuilder);\n\t\treturn organizationBuilder;\n\t}\n\n\taddResourceToFile(props: ICommonCartridgeResourceProps): ICommonCartridgeFileBuilder {\n\t\tconst resource = new CommonCartridgeResourceItemElement(props, this.xmlBuilder);\n\t\tif (!resource.canInline()) {\n\t\t\tthis.zipBuilder.addFile(props.href, Buffer.from(resource.content()));\n\t\t}\n\t\tthis.resources.push(resource);\n\t\treturn this;\n\t}\n\n\tasync build(): Promise {\n\t\tconst organizations = this.organizations.map((organization) => organization.organization);\n\t\tconst resources = this.organizations.flatMap((organization) => organization.resources).concat(this.resources);\n\t\tconst manifest = this.xmlBuilder.buildObject(\n\t\t\tnew CommonCartridgeManifestElement(\n\t\t\t\t{\n\t\t\t\t\tidentifier: this.options.identifier,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttitle: this.options.title,\n\t\t\t\t\tcopyrightOwners: this.options.copyrightOwners,\n\t\t\t\t\tcreationYear: this.options.creationYear,\n\t\t\t\t\tversion: this.options.version,\n\t\t\t\t},\n\t\t\t\torganizations,\n\t\t\t\tresources\n\t\t\t).transform()\n\t\t);\n\t\tthis.zipBuilder.addFile('imsmanifest.xml', Buffer.from(manifest));\n\t\treturn this.zipBuilder.toBufferPromise();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CommonCartridgeLtiResource.html":{"url":"classes/CommonCartridgeLtiResource.html","title":"class - CommonCartridgeLtiResource","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CommonCartridgeLtiResource\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-lti-resource.ts\n \n\n\n\n\n \n Implements\n \n \n CommonCartridgeElement\n CommonCartridgeFile\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n canInline\n \n \n content\n \n \n transform\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ICommonCartridgeLtiResourceProps, xmlBuilder: Builder)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-lti-resource.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ICommonCartridgeLtiResourceProps\n \n \n \n No\n \n \n \n \n xmlBuilder\n \n \n Builder\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n canInline\n \n \n \n \n \n \ncanInline()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-lti-resource.ts:19\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \ncontent()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-lti-resource.ts:23\n \n \n\n\n \n \n\n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n transform\n \n \n \n \n \n \ntransform()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-lti-resource.ts:81\n \n \n\n\n \n \n\n \n Returns : Record\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Builder } from 'xml2js';\nimport { CommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeResourceType, CommonCartridgeVersion } from './common-cartridge-enums';\nimport { CommonCartridgeFile } from './common-cartridge-file.interface';\n\nexport type ICommonCartridgeLtiResourceProps = {\n\ttype: CommonCartridgeResourceType.LTI;\n\tversion: CommonCartridgeVersion;\n\tidentifier: string;\n\thref: string;\n\ttitle: string;\n\tdescription?: string;\n\turl: string;\n};\n\nexport class CommonCartridgeLtiResource implements CommonCartridgeElement, CommonCartridgeFile {\n\tconstructor(private readonly props: ICommonCartridgeLtiResourceProps, private readonly xmlBuilder: Builder) {}\n\n\tcanInline(): boolean {\n\t\treturn false;\n\t}\n\n\tcontent(): string {\n\t\tconst commonObject = {\n\t\t\tcartridge_basiclti_link: {\n\t\t\t\t$: {\n\t\t\t\t\txmlns: '',\n\t\t\t\t\t'xmlns:blti': '',\n\t\t\t\t\t'xmlns:lticm': '',\n\t\t\t\t\t'xmlns:lticp': '',\n\t\t\t\t\t'xmlns:xsi': 'http://www.w3.org/2001/XMLSchema-instance',\n\t\t\t\t\t'xsi:schemaLocation': '',\n\t\t\t\t},\n\t\t\t\tblti: {\n\t\t\t\t\ttitle: this.props.title,\n\t\t\t\t\tdescription: this.props.description,\n\t\t\t\t\tlaunch_url: this.props.url,\n\t\t\t\t\tsecure_launch_url: this.props.url,\n\t\t\t\t\tcartridge_bundle: {\n\t\t\t\t\t\t$: {\n\t\t\t\t\t\t\tidentifierref: 'BLTI001_Bundle',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tcartridge_icon: {\n\t\t\t\t\t\t$: {\n\t\t\t\t\t\t\tidentifierref: 'BLTI001_Icon',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\n\t\tswitch (this.props.version) {\n\t\t\tcase CommonCartridgeVersion.V_1_3_0:\n\t\t\t\tcommonObject.cartridge_basiclti_link.$.xmlns = 'http://www.imsglobal.org/xsd/imslticc_v1p3';\n\t\t\t\tcommonObject.cartridge_basiclti_link.$['xmlns:blti'] = 'http://www.imsglobal.org/xsd/imsbasiclti_v1p0';\n\t\t\t\tcommonObject.cartridge_basiclti_link.$['xmlns:lticm'] = 'http://www.imsglobal.org/xsd/imslticm_v1p0';\n\t\t\t\tcommonObject.cartridge_basiclti_link.$['xmlns:lticp'] = 'http://www.imsglobal.org/xsd/imslticp_v1p0';\n\t\t\t\tcommonObject.cartridge_basiclti_link.$['xsi:schemaLocation'] =\n\t\t\t\t\t'http://www.imsglobal.org/xsd/imslticc_v1p3 http://www.imsglobal.org/xsd/imslticc_v1p3.xsd' +\n\t\t\t\t\t'http://www.imsglobal.org/xsd/imslticp_v1p0 imslticp_v1p0.xsd' +\n\t\t\t\t\t'http://www.imsglobal.org/xsd/imslticm_v1p0 imslticm_v1p0.xsd' +\n\t\t\t\t\t'http://www.imsglobal.org/xsd/imsbasiclti_v1p0 imsbasiclti_v1p0p1.xsd\"';\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tcommonObject.cartridge_basiclti_link.$.xmlns = '/xsd/imslticc_v1p0';\n\t\t\t\tcommonObject.cartridge_basiclti_link.$['xmlns:blti'] = '/xsd/imsbasiclti_v1p0';\n\t\t\t\tcommonObject.cartridge_basiclti_link.$['xmlns:lticm'] = '/xsd/imslticm_v1p0';\n\t\t\t\tcommonObject.cartridge_basiclti_link.$['xmlns:lticp'] = '/xsd/imslticp_v1p0';\n\t\t\t\tcommonObject.cartridge_basiclti_link.$['xsi:schemaLocation'] =\n\t\t\t\t\t'/xsd/imslticc_v1p0 /xsd/lti/ltiv1p0/imslticc_v1p0.xsd' +\n\t\t\t\t\t'/xsd/imsbasiclti_v1p0 /xsd/lti/ltiv1p0/imsbasiclti_v1p0.xsd' +\n\t\t\t\t\t'/xsd/imslticm_v1p0 /xsd/lti/ltiv1p0/imslticm_v1p0.xsd' +\n\t\t\t\t\t'/xsd/imslticp_v1p0 /xsd/lti/ltiv1p0/imslticp_v1p0.xsd\"';\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn this.xmlBuilder.buildObject(commonObject);\n\t}\n\n\ttransform(): Record {\n\t\treturn {\n\t\t\t$: {\n\t\t\t\tidentifier: this.props.identifier,\n\t\t\t\ttype: this.props.type,\n\t\t\t},\n\t\t\tfile: {\n\t\t\t\t$: {\n\t\t\t\t\thref: this.props.href,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CommonCartridgeManifestElement.html":{"url":"classes/CommonCartridgeManifestElement.html","title":"class - CommonCartridgeManifestElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CommonCartridgeManifestElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-manifest-element.ts\n \n\n\n\n\n \n Implements\n \n \n CommonCartridgeElement\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n transform\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ICommonCartridgeManifestProps, metadataProps: ICommonCartridgeMetadataProps, organizations: CommonCartridgeElement[], resources: CommonCartridgeElement[])\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-manifest-element.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ICommonCartridgeManifestProps\n \n \n \n No\n \n \n \n \n metadataProps\n \n \n ICommonCartridgeMetadataProps\n \n \n \n No\n \n \n \n \n organizations\n \n \n CommonCartridgeElement[]\n \n \n \n No\n \n \n \n \n resources\n \n \n CommonCartridgeElement[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n transform\n \n \n \n \n \n \ntransform()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-manifest-element.ts:19\n \n \n\n\n \n \n\n \n Returns : Record\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeVersion } from './common-cartridge-enums';\nimport { CommonCartridgeMetadataElement, ICommonCartridgeMetadataProps } from './common-cartridge-metadata-element';\nimport { CommonCartridgeOrganizationWrapperElement } from './common-cartridge-organization-wrapper-element';\nimport { CommonCartridgeResourceWrapperElement } from './common-cartridge-resource-wrapper-element';\n\nexport type ICommonCartridgeManifestProps = {\n\tidentifier: string;\n};\n\nexport class CommonCartridgeManifestElement implements CommonCartridgeElement {\n\tconstructor(\n\t\tprivate readonly props: ICommonCartridgeManifestProps,\n\t\tprivate readonly metadataProps: ICommonCartridgeMetadataProps,\n\t\tprivate readonly organizations: CommonCartridgeElement[],\n\t\tprivate readonly resources: CommonCartridgeElement[]\n\t) {}\n\n\ttransform(): Record {\n\t\tconst versionNumber = this.metadataProps.version;\n\t\tswitch (versionNumber) {\n\t\t\tcase CommonCartridgeVersion.V_1_3_0:\n\t\t\t\treturn {\n\t\t\t\t\tmanifest: {\n\t\t\t\t\t\t$: {\n\t\t\t\t\t\t\tidentifier: this.props.identifier,\n\t\t\t\t\t\t\txmlns: 'http://www.imsglobal.org/xsd/imsccv1p3/imscp_v1p1',\n\t\t\t\t\t\t\t'xmlns:mnf': 'http://ltsc.ieee.org/xsd/imsccv1p3/LOM/manifest',\n\t\t\t\t\t\t\t'xmlns:res': 'http://ltsc.ieee.org/xsd/imsccv1p3/LOM/resource',\n\t\t\t\t\t\t\t'xmlns:ext': 'http://www.imsglobal.org/xsd/imsccv1p3/imscp_extensionv1p2',\n\t\t\t\t\t\t\t'xmlns:xsi': 'http://www.w3.org/2001/XMLSchema-instance',\n\t\t\t\t\t\t\t'xsi:schemaLocation':\n\t\t\t\t\t\t\t\t'http://ltsc.ieee.org/xsd/imsccv1p3/LOM/resource http://www.imsglobal.org/profile/cc/ccv1p3/LOM/ccv1p3_lomresource_v1p0.xsd ' +\n\t\t\t\t\t\t\t\t'http://www.imsglobal.org/xsd/imsccv1p3/imscp_v1p1 http://www.imsglobal.org/profile/cc/ccv1p3/ccv1p3_imscp_v1p2_v1p0.xsd ' +\n\t\t\t\t\t\t\t\t'http://ltsc.ieee.org/xsd/imsccv1p3/LOM/manifest http://www.imsglobal.org/profile/cc/ccv1p3/LOM/ccv1p3_lommanifest_v1p0.xsd ' +\n\t\t\t\t\t\t\t\t'http://www.imsglobal.org/xsd/imsccv1p3/imscp_extensionv1p2 http://www.imsglobal.org/profile/cc/ccv1p3/ccv1p3_cpextensionv1p2_v1p0.xsd',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmetadata: new CommonCartridgeMetadataElement(this.metadataProps).transform(),\n\t\t\t\t\t\torganizations: new CommonCartridgeOrganizationWrapperElement(this.organizations).transform(),\n\t\t\t\t\t\tresources: new CommonCartridgeResourceWrapperElement(this.resources).transform(),\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\tdefault:\n\t\t\t\treturn {\n\t\t\t\t\tmanifest: {\n\t\t\t\t\t\t$: {\n\t\t\t\t\t\t\tidentifier: this.props.identifier,\n\t\t\t\t\t\t\txmlns: 'http://www.imsglobal.org/xsd/imsccv1p1/imscp_v1p1',\n\t\t\t\t\t\t\t'xmlns:mnf': 'http://ltsc.ieee.org/xsd/imsccv1p1/LOM/manifest',\n\t\t\t\t\t\t\t'xmlns:res': 'http://ltsc.ieee.org/xsd/imsccv1p1/LOM/resource',\n\t\t\t\t\t\t\t'xmlns:xsi': 'http://www.w3.org/2001/XMLSchema-instance',\n\t\t\t\t\t\t\t'xsi:schemaLocation':\n\t\t\t\t\t\t\t\t'http://ltsc.ieee.org/xsd/imsccv1p1/LOM/resource http://www.imsglobal.org/profile/cc/ccv1p1/LOM/ccv1p1_lomresource_v1p0.xsd ' +\n\t\t\t\t\t\t\t\t'http://www.imsglobal.org/xsd/imsccv1p1/imscp_v1p1 http://www.imsglobal.org/profile/cc/ccv1p1/ccv1p1_imscp_v1p2_v1p0.xsd ' +\n\t\t\t\t\t\t\t\t'http://ltsc.ieee.org/xsd/imsccv1p1/LOM/manifest http://www.imsglobal.org/profile/cc/ccv1p1/LOM/ccv1p1_lommanifest_v1p0.xsd ',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmetadata: new CommonCartridgeMetadataElement(this.metadataProps).transform(),\n\t\t\t\t\t\torganizations: new CommonCartridgeOrganizationWrapperElement(this.organizations).transform(),\n\t\t\t\t\t\tresources: new CommonCartridgeResourceWrapperElement(this.resources).transform(),\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CommonCartridgeMetadataElement.html":{"url":"classes/CommonCartridgeMetadataElement.html","title":"class - CommonCartridgeMetadataElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CommonCartridgeMetadataElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-metadata-element.ts\n \n\n\n\n\n \n Implements\n \n \n CommonCartridgeElement\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n transform\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ICommonCartridgeMetadataProps)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-metadata-element.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ICommonCartridgeMetadataProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n transform\n \n \n \n \n \n \ntransform()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-metadata-element.ts:14\n \n \n\n\n \n \n\n \n Returns : Record\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeVersion } from './common-cartridge-enums';\n\nexport type ICommonCartridgeMetadataProps = {\n\ttitle: string;\n\tcopyrightOwners: string;\n\tcreationYear: string;\n\tversion: CommonCartridgeVersion;\n};\n\nexport class CommonCartridgeMetadataElement implements CommonCartridgeElement {\n\tconstructor(private readonly props: ICommonCartridgeMetadataProps) {}\n\n\ttransform(): Record {\n\t\treturn {\n\t\t\tschema: 'IMS Common Cartridge',\n\t\t\tschemaversion: this.props.version,\n\t\t\t'mnf:lom': {\n\t\t\t\t'mnf:general': {\n\t\t\t\t\t'mnf:title': {\n\t\t\t\t\t\t'mnf:string': this.props.title,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t'mnf:rights': {\n\t\t\t\t\t'mnf:copyrightAndOtherRestrictions': {\n\t\t\t\t\t\t'mnf:value': 'yes',\n\t\t\t\t\t},\n\t\t\t\t\t'mnf:description': {\n\t\t\t\t\t\t'mnf:string': `${this.props.creationYear} ${this.props.copyrightOwners}`,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CommonCartridgeOrganizationBuilder.html":{"url":"classes/CommonCartridgeOrganizationBuilder.html","title":"class - CommonCartridgeOrganizationBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CommonCartridgeOrganizationBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts\n \n\n\n\n\n \n Implements\n \n \n ICommonCartridgeOrganizationBuilder\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n addResourceToOrganization\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n organization\n \n \n resources\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ICommonCartridgeOrganizationProps, xmlBuilder: Builder, zipBuilder: AdmZip)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:35\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ICommonCartridgeOrganizationProps\n \n \n \n No\n \n \n \n \n xmlBuilder\n \n \n Builder\n \n \n \n No\n \n \n \n \n zipBuilder\n \n \n AdmZip\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n addResourceToOrganization\n \n \n \n \n \n \naddResourceToOrganization(props: ICommonCartridgeResourceProps)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n ICommonCartridgeResourceProps\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ICommonCartridgeOrganizationBuilder\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n organization\n \n \n\n \n \n getorganization()\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:42\n \n \n\n \n \n \n \n \n \n \n resources\n \n \n\n \n \n getresources()\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:46\n \n \n\n \n \n\n \n\n\n \n import AdmZip from 'adm-zip';\nimport { Builder } from 'xml2js';\nimport { CommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeVersion } from './common-cartridge-enums';\nimport { CommonCartridgeManifestElement } from './common-cartridge-manifest-element';\nimport {\n\tCommonCartridgeOrganizationItemElement,\n\tICommonCartridgeOrganizationProps,\n} from './common-cartridge-organization-item-element';\nimport {\n\tCommonCartridgeResourceItemElement,\n\tICommonCartridgeResourceProps,\n} from './common-cartridge-resource-item-element';\n\nexport type CommonCartridgeFileBuilderOptions = {\n\tidentifier: string;\n\ttitle: string;\n\tcopyrightOwners: string;\n\tcreationYear: string;\n\tversion: CommonCartridgeVersion;\n};\n\nexport interface ICommonCartridgeOrganizationBuilder {\n\taddResourceToOrganization(props: ICommonCartridgeResourceProps): ICommonCartridgeOrganizationBuilder;\n}\n\nexport interface ICommonCartridgeFileBuilder {\n\taddOrganization(props: ICommonCartridgeOrganizationProps): ICommonCartridgeOrganizationBuilder;\n\n\taddResourceToFile(props: ICommonCartridgeResourceProps): ICommonCartridgeFileBuilder;\n\n\tbuild(): Promise;\n}\n\nclass CommonCartridgeOrganizationBuilder implements ICommonCartridgeOrganizationBuilder {\n\tconstructor(\n\t\tprivate readonly props: ICommonCartridgeOrganizationProps,\n\t\tprivate readonly xmlBuilder: Builder,\n\t\tprivate readonly zipBuilder: AdmZip\n\t) {}\n\n\tget organization(): CommonCartridgeElement {\n\t\treturn new CommonCartridgeOrganizationItemElement(this.props);\n\t}\n\n\tget resources(): CommonCartridgeElement[] {\n\t\treturn this.props.resources.map(\n\t\t\t(resourceProps) => new CommonCartridgeResourceItemElement(resourceProps, this.xmlBuilder)\n\t\t);\n\t}\n\n\taddResourceToOrganization(props: ICommonCartridgeResourceProps): ICommonCartridgeOrganizationBuilder {\n\t\tconst newResource = new CommonCartridgeResourceItemElement(props, this.xmlBuilder);\n\t\tthis.props.resources.push(props);\n\t\tif (!newResource.canInline()) {\n\t\t\tthis.zipBuilder.addFile(props.href, Buffer.from(newResource.content()));\n\t\t}\n\t\treturn this;\n\t}\n}\n\nexport class CommonCartridgeFileBuilder implements ICommonCartridgeFileBuilder {\n\tprivate readonly xmlBuilder = new Builder();\n\n\tprivate readonly zipBuilder = new AdmZip();\n\n\tprivate readonly organizations = new Array();\n\n\tprivate readonly resources = new Array();\n\n\tconstructor(private readonly options: CommonCartridgeFileBuilderOptions) {}\n\n\taddOrganization(props: ICommonCartridgeOrganizationProps): ICommonCartridgeOrganizationBuilder {\n\t\tconst organizationBuilder = new CommonCartridgeOrganizationBuilder(props, this.xmlBuilder, this.zipBuilder);\n\t\tthis.organizations.push(organizationBuilder);\n\t\treturn organizationBuilder;\n\t}\n\n\taddResourceToFile(props: ICommonCartridgeResourceProps): ICommonCartridgeFileBuilder {\n\t\tconst resource = new CommonCartridgeResourceItemElement(props, this.xmlBuilder);\n\t\tif (!resource.canInline()) {\n\t\t\tthis.zipBuilder.addFile(props.href, Buffer.from(resource.content()));\n\t\t}\n\t\tthis.resources.push(resource);\n\t\treturn this;\n\t}\n\n\tasync build(): Promise {\n\t\tconst organizations = this.organizations.map((organization) => organization.organization);\n\t\tconst resources = this.organizations.flatMap((organization) => organization.resources).concat(this.resources);\n\t\tconst manifest = this.xmlBuilder.buildObject(\n\t\t\tnew CommonCartridgeManifestElement(\n\t\t\t\t{\n\t\t\t\t\tidentifier: this.options.identifier,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttitle: this.options.title,\n\t\t\t\t\tcopyrightOwners: this.options.copyrightOwners,\n\t\t\t\t\tcreationYear: this.options.creationYear,\n\t\t\t\t\tversion: this.options.version,\n\t\t\t\t},\n\t\t\t\torganizations,\n\t\t\t\tresources\n\t\t\t).transform()\n\t\t);\n\t\tthis.zipBuilder.addFile('imsmanifest.xml', Buffer.from(manifest));\n\t\treturn this.zipBuilder.toBufferPromise();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CommonCartridgeOrganizationItemElement.html":{"url":"classes/CommonCartridgeOrganizationItemElement.html","title":"class - CommonCartridgeOrganizationItemElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CommonCartridgeOrganizationItemElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-organization-item-element.ts\n \n\n\n\n\n \n Implements\n \n \n CommonCartridgeElement\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n transform\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ICommonCartridgeOrganizationProps)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-organization-item-element.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ICommonCartridgeOrganizationProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n transform\n \n \n \n \n \n \ntransform()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-organization-item-element.ts:15\n \n \n\n\n \n \n\n \n Returns : Record\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CommonCartridgeElement } from './common-cartridge-element.interface';\nimport { ICommonCartridgeResourceProps } from './common-cartridge-resource-item-element';\nimport { createIdentifier } from './utils';\n\nexport type ICommonCartridgeOrganizationProps = {\n\tidentifier: string;\n\ttitle: string;\n\tversion: string;\n\tresources: ICommonCartridgeResourceProps[];\n};\n\nexport class CommonCartridgeOrganizationItemElement implements CommonCartridgeElement {\n\tconstructor(private readonly props: ICommonCartridgeOrganizationProps) {}\n\n\ttransform(): Record {\n\t\treturn {\n\t\t\t$: {\n\t\t\t\tidentifier: this.props.identifier,\n\t\t\t},\n\t\t\ttitle: this.props.title,\n\t\t\titem: this.props.resources.map((content) => {\n\t\t\t\treturn {\n\t\t\t\t\t$: {\n\t\t\t\t\t\tidentifier: createIdentifier(),\n\t\t\t\t\t\tidentifierref: content.identifier,\n\t\t\t\t\t},\n\t\t\t\t\ttitle: content.title,\n\t\t\t\t};\n\t\t\t}),\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CommonCartridgeOrganizationWrapperElement.html":{"url":"classes/CommonCartridgeOrganizationWrapperElement.html","title":"class - CommonCartridgeOrganizationWrapperElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CommonCartridgeOrganizationWrapperElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-organization-wrapper-element.ts\n \n\n\n\n\n \n Implements\n \n \n CommonCartridgeElement\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n transform\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(organizationElements: CommonCartridgeElement[])\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-organization-wrapper-element.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n organizationElements\n \n \n CommonCartridgeElement[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n transform\n \n \n \n \n \n \ntransform()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-organization-wrapper-element.ts:6\n \n \n\n\n \n \n\n \n Returns : Record\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CommonCartridgeElement } from './common-cartridge-element.interface';\n\nexport class CommonCartridgeOrganizationWrapperElement implements CommonCartridgeElement {\n\tconstructor(private readonly organizationElements: CommonCartridgeElement[]) {}\n\n\ttransform(): Record {\n\t\treturn {\n\t\t\torganization: [\n\t\t\t\t{\n\t\t\t\t\t$: {\n\t\t\t\t\t\tidentifier: 'org-1',\n\t\t\t\t\t\tstructure: 'rooted-hierarchy',\n\t\t\t\t\t},\n\t\t\t\t\titem: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$: {\n\t\t\t\t\t\t\t\tidentifier: 'LearningModules',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\titem: this.organizationElements.map((organizationElement) => organizationElement.transform()),\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CommonCartridgeResourceItemElement.html":{"url":"classes/CommonCartridgeResourceItemElement.html","title":"class - CommonCartridgeResourceItemElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CommonCartridgeResourceItemElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-resource-item-element.ts\n \n\n\n\n\n \n Implements\n \n \n CommonCartridgeElement\n CommonCartridgeFile\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n inner\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n canInline\n \n \n content\n \n \n transform\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ICommonCartridgeResourceProps, xmlBuilder: Builder)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-resource-item-element.ts:21\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ICommonCartridgeResourceProps\n \n \n \n No\n \n \n \n \n xmlBuilder\n \n \n Builder\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n inner\n \n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-resource-item-element.ts:21\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n canInline\n \n \n \n \n \n \ncanInline()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-resource-item-element.ts:38\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \ncontent()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-resource-item-element.ts:42\n \n \n\n\n \n \n\n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n transform\n \n \n \n \n \n \ntransform()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-resource-item-element.ts:46\n \n \n\n\n \n \n\n \n Returns : Record\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Builder } from 'xml2js';\nimport { CommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeResourceType } from './common-cartridge-enums';\nimport { CommonCartridgeFile } from './common-cartridge-file.interface';\nimport { CommonCartridgeLtiResource, ICommonCartridgeLtiResourceProps } from './common-cartridge-lti-resource';\nimport {\n\tCommonCartridgeWebContentResource,\n\tICommonCartridgeWebContentResourceProps,\n} from './common-cartridge-web-content-resource';\nimport {\n\tCommonCartridgeWebLinkResourceElement,\n\tICommonCartridgeWebLinkResourceProps,\n} from './common-cartridge-web-link-resource';\n\nexport type ICommonCartridgeResourceProps =\n\t| ICommonCartridgeLtiResourceProps\n\t| ICommonCartridgeWebContentResourceProps\n\t| ICommonCartridgeWebLinkResourceProps;\n\nexport class CommonCartridgeResourceItemElement implements CommonCartridgeElement, CommonCartridgeFile {\n\tprivate readonly inner: CommonCartridgeElement & CommonCartridgeFile;\n\n\tconstructor(props: ICommonCartridgeResourceProps, xmlBuilder: Builder) {\n\t\tif (props.type === CommonCartridgeResourceType.LTI) {\n\t\t\tthis.inner = new CommonCartridgeLtiResource(props, xmlBuilder);\n\t\t} else if (props.type === CommonCartridgeResourceType.WEB_CONTENT) {\n\t\t\tthis.inner = new CommonCartridgeWebContentResource(props);\n\t\t} else if (\n\t\t\tprops.type === CommonCartridgeResourceType.WEB_LINK_V1 ||\n\t\t\tprops.type === CommonCartridgeResourceType.WEB_LINK_V3\n\t\t) {\n\t\t\tthis.inner = new CommonCartridgeWebLinkResourceElement(props, xmlBuilder);\n\t\t} else {\n\t\t\tthrow new Error('Resource type is unknown!');\n\t\t}\n\t}\n\n\tcanInline(): boolean {\n\t\treturn this.inner.canInline();\n\t}\n\n\tcontent(): string {\n\t\treturn this.inner.content();\n\t}\n\n\ttransform(): Record {\n\t\treturn this.inner.transform();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CommonCartridgeResourceWrapperElement.html":{"url":"classes/CommonCartridgeResourceWrapperElement.html","title":"class - CommonCartridgeResourceWrapperElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CommonCartridgeResourceWrapperElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-resource-wrapper-element.ts\n \n\n\n\n\n \n Implements\n \n \n CommonCartridgeElement\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n transform\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(resourceElements: CommonCartridgeElement[])\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-resource-wrapper-element.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n resourceElements\n \n \n CommonCartridgeElement[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n transform\n \n \n \n \n \n \ntransform()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-resource-wrapper-element.ts:6\n \n \n\n\n \n \n\n \n Returns : Record\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CommonCartridgeElement } from './common-cartridge-element.interface';\n\nexport class CommonCartridgeResourceWrapperElement implements CommonCartridgeElement {\n\tconstructor(private readonly resourceElements: CommonCartridgeElement[]) {}\n\n\ttransform(): Record {\n\t\treturn {\n\t\t\tresource: this.resourceElements.map((resourceElement) => resourceElement.transform()),\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CommonCartridgeWebContentResource.html":{"url":"classes/CommonCartridgeWebContentResource.html","title":"class - CommonCartridgeWebContentResource","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CommonCartridgeWebContentResource\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-web-content-resource.ts\n \n\n\n\n\n \n Implements\n \n \n CommonCartridgeElement\n CommonCartridgeFile\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n canInline\n \n \n content\n \n \n transform\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ICommonCartridgeWebContentResourceProps)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-web-content-resource.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ICommonCartridgeWebContentResourceProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n canInline\n \n \n \n \n \n \ncanInline()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-web-content-resource.ts:22\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \ncontent()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-web-content-resource.ts:26\n \n \n\n\n \n \n\n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n transform\n \n \n \n \n \n \ntransform()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-web-content-resource.ts:30\n \n \n\n\n \n \n\n \n Returns : Record\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CommonCartridgeElement } from './common-cartridge-element.interface';\nimport {\n\tCommonCartridgeIntendedUseType,\n\tCommonCartridgeResourceType,\n\tCommonCartridgeVersion,\n} from './common-cartridge-enums';\nimport { CommonCartridgeFile } from './common-cartridge-file.interface';\n\nexport type ICommonCartridgeWebContentResourceProps = {\n\ttype: CommonCartridgeResourceType.WEB_CONTENT;\n\tversion: CommonCartridgeVersion;\n\tidentifier: string;\n\thref: string;\n\ttitle: string;\n\thtml: string;\n\tintendedUse?: CommonCartridgeIntendedUseType;\n};\n\nexport class CommonCartridgeWebContentResource implements CommonCartridgeElement, CommonCartridgeFile {\n\tconstructor(private readonly props: ICommonCartridgeWebContentResourceProps) {}\n\n\tcanInline(): boolean {\n\t\treturn false;\n\t}\n\n\tcontent(): string {\n\t\treturn this.props.html;\n\t}\n\n\ttransform(): Record {\n\t\treturn {\n\t\t\t$: {\n\t\t\t\tidentifier: this.props.identifier,\n\t\t\t\ttype: this.props.type,\n\t\t\t\tintendeduse: this.props.intendedUse ?? CommonCartridgeIntendedUseType.UNSPECIFIED,\n\t\t\t},\n\t\t\tfile: {\n\t\t\t\t$: {\n\t\t\t\t\thref: this.props.href,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CommonCartridgeWebLinkResourceElement.html":{"url":"classes/CommonCartridgeWebLinkResourceElement.html","title":"class - CommonCartridgeWebLinkResourceElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CommonCartridgeWebLinkResourceElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-web-link-resource.ts\n \n\n\n\n\n \n Implements\n \n \n CommonCartridgeElement\n CommonCartridgeFile\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n canInline\n \n \n content\n \n \n transform\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ICommonCartridgeWebLinkResourceProps, xmlBuilder: Builder)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-web-link-resource.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ICommonCartridgeWebLinkResourceProps\n \n \n \n No\n \n \n \n \n xmlBuilder\n \n \n Builder\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n canInline\n \n \n \n \n \n \ncanInline()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-web-link-resource.ts:18\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \ncontent()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-web-link-resource.ts:22\n \n \n\n\n \n \n\n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n transform\n \n \n \n \n \n \ntransform()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-web-link-resource.ts:61\n \n \n\n\n \n \n\n \n Returns : Record\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Builder } from 'xml2js';\nimport { CommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeResourceType, CommonCartridgeVersion } from './common-cartridge-enums';\nimport { CommonCartridgeFile } from './common-cartridge-file.interface';\n\nexport type ICommonCartridgeWebLinkResourceProps = {\n\ttype: CommonCartridgeResourceType.WEB_LINK_V1 | CommonCartridgeResourceType.WEB_LINK_V3;\n\tversion: CommonCartridgeVersion;\n\tidentifier: string;\n\thref: string;\n\ttitle: string;\n\turl: string;\n};\n\nexport class CommonCartridgeWebLinkResourceElement implements CommonCartridgeElement, CommonCartridgeFile {\n\tconstructor(private readonly props: ICommonCartridgeWebLinkResourceProps, private readonly xmlBuilder: Builder) {}\n\n\tcanInline(): boolean {\n\t\treturn false;\n\t}\n\n\tcontent(): string {\n\t\tconst commonTags = {\n\t\t\ttitle: this.props.title,\n\t\t\turl: {\n\t\t\t\t$: {\n\t\t\t\t\thref: this.props.url,\n\t\t\t\t\ttarget: '_self',\n\t\t\t\t\twindowFeatures: 'width=100, height=100',\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t\tswitch (this.props.version) {\n\t\t\tcase CommonCartridgeVersion.V_1_3_0:\n\t\t\t\treturn this.xmlBuilder.buildObject({\n\t\t\t\t\twebLink: {\n\t\t\t\t\t\t...commonTags,\n\t\t\t\t\t\t$: {\n\t\t\t\t\t\t\txmlns: 'http://www.imsglobal.org/xsd/imsccv1p3/imswl_v1p3',\n\t\t\t\t\t\t\t'xmlns:xsi': 'http://www.w3.org/2001/XMLSchema-instance',\n\t\t\t\t\t\t\t'xsi:schemaLocation':\n\t\t\t\t\t\t\t\t'http://www.imsglobal.org/xsd/imsccv1p3/imswl_v1p3 http://www.imsglobal.org/profile/cc/ccv1p3/ccv1p3_imswl_v1p3.xsd',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\tdefault:\n\t\t\t\treturn this.xmlBuilder.buildObject({\n\t\t\t\t\twebLink: {\n\t\t\t\t\t\t...commonTags,\n\t\t\t\t\t\t$: {\n\t\t\t\t\t\t\txmlns: 'http://www.imsglobal.org/xsd/imsccv1p1/imswl_v1p1',\n\t\t\t\t\t\t\t'xmlns:xsi': 'http://www.w3.org/2001/XMLSchema-instance',\n\t\t\t\t\t\t\t'xsi:schemaLocation':\n\t\t\t\t\t\t\t\t'http://www.imsglobal.org/xsd/imsccv1p1/imswl_v1p1 https://www.imsglobal.org/sites/default/files/profile/cc/ccv1p1/ccv1p1_imswl_v1p1.xsd',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t}\n\t}\n\n\ttransform(): Record {\n\t\treturn {\n\t\t\t$: {\n\t\t\t\tidentifier: this.props.identifier,\n\t\t\t\ttype: this.props.type,\n\t\t\t},\n\t\t\tfile: {\n\t\t\t\t$: {\n\t\t\t\t\thref: this.props.href,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/CommonToolModule.html":{"url":"modules/CommonToolModule.html","title":"module - CommonToolModule","body":"\n \n\n\n\n\n Modules\n CommonToolModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_CommonToolModule\n\n\n\ncluster_CommonToolModule_exports\n\n\n\ncluster_CommonToolModule_providers\n\n\n\ncluster_CommonToolModule_imports\n\n\n\n\nLegacySchoolModule\n\nLegacySchoolModule\n\n\n\nCommonToolModule\n\nCommonToolModule\n\nCommonToolModule -->\n\nLegacySchoolModule->CommonToolModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nCommonToolModule -->\n\nLoggerModule->CommonToolModule\n\n\n\n\n\nCommonToolService \n\nCommonToolService \n\nCommonToolService -->\n\nCommonToolModule->CommonToolService \n\n\n\n\n\nCommonToolValidationService \n\nCommonToolValidationService \n\nCommonToolValidationService -->\n\nCommonToolModule->CommonToolValidationService \n\n\n\n\n\nContextExternalToolRepo \n\nContextExternalToolRepo \n\nContextExternalToolRepo -->\n\nCommonToolModule->ContextExternalToolRepo \n\n\n\n\n\nSchoolExternalToolRepo \n\nSchoolExternalToolRepo \n\nSchoolExternalToolRepo -->\n\nCommonToolModule->SchoolExternalToolRepo \n\n\n\n\n\nCommonToolService\n\nCommonToolService\n\nCommonToolModule -->\n\nCommonToolService->CommonToolModule\n\n\n\n\n\nCommonToolValidationService\n\nCommonToolValidationService\n\nCommonToolModule -->\n\nCommonToolValidationService->CommonToolModule\n\n\n\n\n\nContextExternalToolRepo\n\nContextExternalToolRepo\n\nCommonToolModule -->\n\nContextExternalToolRepo->CommonToolModule\n\n\n\n\n\nSchoolExternalToolRepo\n\nSchoolExternalToolRepo\n\nCommonToolModule -->\n\nSchoolExternalToolRepo->CommonToolModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tool/common/common-tool.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n CommonToolService\n \n \n CommonToolValidationService\n \n \n ContextExternalToolRepo\n \n \n SchoolExternalToolRepo\n \n \n \n \n Imports\n \n \n LegacySchoolModule\n \n \n LoggerModule\n \n \n \n \n Exports\n \n \n CommonToolService\n \n \n CommonToolValidationService\n \n \n ContextExternalToolRepo\n \n \n SchoolExternalToolRepo\n \n \n \n \n \n\n\n \n\n\n \n import { LegacySchoolModule } from '@modules/legacy-school';\nimport { Module } from '@nestjs/common';\nimport { ContextExternalToolRepo, SchoolExternalToolRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { CommonToolService, CommonToolValidationService } from './service';\n\n@Module({\n\timports: [LoggerModule, LegacySchoolModule],\n\t// TODO: make deletion of entities cascading, adjust ExternalToolService.deleteExternalTool and remove the repos from here\n\tproviders: [CommonToolService, CommonToolValidationService, SchoolExternalToolRepo, ContextExternalToolRepo],\n\texports: [CommonToolService, CommonToolValidationService, SchoolExternalToolRepo, ContextExternalToolRepo],\n})\nexport class CommonToolModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CommonToolService.html":{"url":"injectables/CommonToolService.html","title":"injectable - CommonToolService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CommonToolService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/service/common-tool.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n determineToolConfigurationStatus\n \n \n Public\n isContextRestricted\n \n \n Private\n isLatest\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n determineToolConfigurationStatus\n \n \n \n \n \n \n use ToolVersionService\n \n \n \n \n \n determineToolConfigurationStatus(externalTool: ExternalTool, schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool.service.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolConfigurationStatus\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isContextRestricted\n \n \n \n \n \n \n \n isContextRestricted(externalTool: ExternalTool, context: ToolContextType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool.service.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n context\n \n ToolContextType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isLatest\n \n \n \n \n \n \n \n isLatest(tool1: ToolVersion, tool2: ToolVersion)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool.service.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n tool1\n \n ToolVersion\n \n\n \n No\n \n\n\n \n \n tool2\n \n ToolVersion\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ExternalTool } from '../../external-tool/domain';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { ContextExternalTool } from '../../context-external-tool/domain';\nimport { ToolContextType } from '../enum';\nimport { ContextExternalToolConfigurationStatus } from '../domain';\nimport { ToolVersion } from '../interface';\n\n// TODO N21-1337 remove class when tool versioning is removed\n@Injectable()\nexport class CommonToolService {\n\t/**\n\t * @deprecated use ToolVersionService\n\t */\n\tpublic determineToolConfigurationStatus(\n\t\texternalTool: ExternalTool,\n\t\tschoolExternalTool: SchoolExternalTool,\n\t\tcontextExternalTool: ContextExternalTool\n\t): ContextExternalToolConfigurationStatus {\n\t\tconst configurationStatus: ContextExternalToolConfigurationStatus = new ContextExternalToolConfigurationStatus({\n\t\t\tisOutdatedOnScopeContext: true,\n\t\t\tisOutdatedOnScopeSchool: true,\n\t\t});\n\n\t\tif (\n\t\t\tthis.isLatest(schoolExternalTool, externalTool) &&\n\t\t\tthis.isLatest(contextExternalTool, schoolExternalTool) &&\n\t\t\tthis.isLatest(contextExternalTool, externalTool)\n\t\t) {\n\t\t\tconfigurationStatus.isOutdatedOnScopeContext = false;\n\t\t\tconfigurationStatus.isOutdatedOnScopeSchool = false;\n\t\t} else {\n\t\t\tconfigurationStatus.isOutdatedOnScopeContext = true;\n\t\t\tconfigurationStatus.isOutdatedOnScopeSchool = true;\n\t\t}\n\n\t\treturn configurationStatus;\n\t}\n\n\tprivate isLatest(tool1: ToolVersion, tool2: ToolVersion): boolean {\n\t\treturn tool1.getVersion() >= tool2.getVersion();\n\t}\n\n\tpublic isContextRestricted(externalTool: ExternalTool, context: ToolContextType): boolean {\n\t\tif (externalTool.restrictToContexts?.length && !externalTool.restrictToContexts.includes(context)) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CommonToolValidationService.html":{"url":"injectables/CommonToolValidationService.html","title":"injectable - CommonToolValidationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CommonToolValidationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/service/common-tool-validation.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n typeCheckers\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n checkCustomParameterEntries\n \n \n Private\n checkForDuplicateParameters\n \n \n Private\n checkForUnknownParameters\n \n \n Private\n checkOptionalParameter\n \n \n Private\n checkParameterRegex\n \n \n Private\n checkParameterType\n \n \n Private\n checkValidityOfParameters\n \n \n Public\n isValueValidForType\n \n \n Private\n validateParameter\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n checkCustomParameterEntries\n \n \n \n \n \n \n \n checkCustomParameterEntries(loadedExternalTool: ExternalTool, validatableTool: ValidatableTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool-validation.service.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loadedExternalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n validatableTool\n \n ValidatableTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n checkForDuplicateParameters\n \n \n \n \n \n \n \n checkForDuplicateParameters(validatableTool: ValidatableTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool-validation.service.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n validatableTool\n \n ValidatableTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n checkForUnknownParameters\n \n \n \n \n \n \n \n checkForUnknownParameters(validatableTool: ValidatableTool, parametersForScope: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool-validation.service.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n validatableTool\n \n ValidatableTool\n \n\n \n No\n \n\n\n \n \n parametersForScope\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n checkOptionalParameter\n \n \n \n \n \n \n \n checkOptionalParameter(param: CustomParameter, foundEntry: CustomParameterEntry | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool-validation.service.ts:91\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n param\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n foundEntry\n \n CustomParameterEntry | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n checkParameterRegex\n \n \n \n \n \n \n \n checkParameterRegex(foundEntry: CustomParameterEntry, param: CustomParameter)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool-validation.service.ts:107\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n foundEntry\n \n CustomParameterEntry\n \n\n \n No\n \n\n\n \n \n param\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n checkParameterType\n \n \n \n \n \n \n \n checkParameterType(foundEntry: CustomParameterEntry, param: CustomParameter)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool-validation.service.ts:99\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n foundEntry\n \n CustomParameterEntry\n \n\n \n No\n \n\n\n \n \n param\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n checkValidityOfParameters\n \n \n \n \n \n \n \n checkValidityOfParameters(validatableTool: ValidatableTool, parametersForScope: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool-validation.service.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n validatableTool\n \n ValidatableTool\n \n\n \n No\n \n\n\n \n \n parametersForScope\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isValueValidForType\n \n \n \n \n \n \n \n isValueValidForType(type: CustomParameterType, val: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool-validation.service.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n CustomParameterType\n \n\n \n No\n \n\n\n \n \n val\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n validateParameter\n \n \n \n \n \n \n \n validateParameter(param: CustomParameter, foundEntry: CustomParameterEntry | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool-validation.service.ts:82\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n param\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n foundEntry\n \n CustomParameterEntry | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n typeCheckers\n \n \n \n \n \n \n Default value : {\n\t\t[CustomParameterType.STRING]: () => true,\n\t\t[CustomParameterType.NUMBER]: (val: string | undefined) => !isNaN(Number(val)),\n\t\t[CustomParameterType.BOOLEAN]: (val: string | undefined) => val === 'true' || val === 'false',\n\t\t[CustomParameterType.AUTO_CONTEXTID]: () => false,\n\t\t[CustomParameterType.AUTO_CONTEXTNAME]: () => false,\n\t\t[CustomParameterType.AUTO_SCHOOLID]: () => false,\n\t\t[CustomParameterType.AUTO_SCHOOLNUMBER]: () => false,\n\t}\n \n \n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool-validation.service.ts:14\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ValidationError } from '@shared/common';\nimport { isNaN } from 'lodash';\nimport { ContextExternalTool } from '../../context-external-tool/domain';\nimport { ExternalTool } from '../../external-tool/domain';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { CustomParameter, CustomParameterEntry } from '../domain';\nimport { CustomParameterScope, CustomParameterType } from '../enum';\n\nexport type ValidatableTool = SchoolExternalTool | ContextExternalTool;\n\n@Injectable()\nexport class CommonToolValidationService {\n\tprivate static typeCheckers: { [key in CustomParameterType]: (val: string) => boolean } = {\n\t\t[CustomParameterType.STRING]: () => true,\n\t\t[CustomParameterType.NUMBER]: (val: string | undefined) => !isNaN(Number(val)),\n\t\t[CustomParameterType.BOOLEAN]: (val: string | undefined) => val === 'true' || val === 'false',\n\t\t[CustomParameterType.AUTO_CONTEXTID]: () => false,\n\t\t[CustomParameterType.AUTO_CONTEXTNAME]: () => false,\n\t\t[CustomParameterType.AUTO_SCHOOLID]: () => false,\n\t\t[CustomParameterType.AUTO_SCHOOLNUMBER]: () => false,\n\t};\n\n\tpublic isValueValidForType(type: CustomParameterType, val: string): boolean {\n\t\tconst rule = CommonToolValidationService.typeCheckers[type];\n\n\t\tconst isValid: boolean = rule(val);\n\n\t\treturn isValid;\n\t}\n\n\tpublic checkCustomParameterEntries(loadedExternalTool: ExternalTool, validatableTool: ValidatableTool): void {\n\t\tthis.checkForDuplicateParameters(validatableTool);\n\n\t\tconst parametersForScope: CustomParameter[] = (loadedExternalTool.parameters ?? []).filter(\n\t\t\t(param: CustomParameter) =>\n\t\t\t\t(validatableTool instanceof SchoolExternalTool && param.scope === CustomParameterScope.SCHOOL) ||\n\t\t\t\t(validatableTool instanceof ContextExternalTool && param.scope === CustomParameterScope.CONTEXT)\n\t\t);\n\n\t\tthis.checkForUnknownParameters(validatableTool, parametersForScope);\n\n\t\tthis.checkValidityOfParameters(validatableTool, parametersForScope);\n\t}\n\n\tprivate checkForDuplicateParameters(validatableTool: ValidatableTool): void {\n\t\tconst caseInsensitiveNames: string[] = validatableTool.parameters.map(({ name }: CustomParameterEntry) => name);\n\n\t\tconst uniqueNames: Set = new Set(caseInsensitiveNames);\n\n\t\tif (uniqueNames.size !== validatableTool.parameters.length) {\n\t\t\tthrow new ValidationError(\n\t\t\t\t`tool_param_duplicate: The tool ${validatableTool.id ?? ''} contains multiple of the same custom parameters.`\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate checkForUnknownParameters(validatableTool: ValidatableTool, parametersForScope: CustomParameter[]): void {\n\t\tfor (const entry of validatableTool.parameters) {\n\t\t\tconst foundParameter: CustomParameter | undefined = parametersForScope.find(\n\t\t\t\t({ name }: CustomParameter): boolean => name === entry.name\n\t\t\t);\n\n\t\t\tif (!foundParameter) {\n\t\t\t\tthrow new ValidationError(\n\t\t\t\t\t`tool_param_unknown: The parameter with name ${entry.name} is not part of this tool.`\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate checkValidityOfParameters(validatableTool: ValidatableTool, parametersForScope: CustomParameter[]): void {\n\t\tfor (const param of parametersForScope) {\n\t\t\tconst foundEntry: CustomParameterEntry | undefined = validatableTool.parameters.find(\n\t\t\t\t({ name }: CustomParameterEntry): boolean => name === param.name\n\t\t\t);\n\n\t\t\tthis.validateParameter(param, foundEntry);\n\t\t}\n\t}\n\n\tprivate validateParameter(param: CustomParameter, foundEntry: CustomParameterEntry | undefined): void {\n\t\tthis.checkOptionalParameter(param, foundEntry);\n\n\t\tif (foundEntry) {\n\t\t\tthis.checkParameterType(foundEntry, param);\n\t\t\tthis.checkParameterRegex(foundEntry, param);\n\t\t}\n\t}\n\n\tprivate checkOptionalParameter(param: CustomParameter, foundEntry: CustomParameterEntry | undefined): void {\n\t\tif (!foundEntry?.value && !param.isOptional) {\n\t\t\tthrow new ValidationError(\n\t\t\t\t`tool_param_required: The parameter with name ${param.name} is required but not found in the tool.`\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate checkParameterType(foundEntry: CustomParameterEntry, param: CustomParameter): void {\n\t\tif (foundEntry.value !== undefined && !this.isValueValidForType(param.type, foundEntry.value)) {\n\t\t\tthrow new ValidationError(\n\t\t\t\t`tool_param_type_mismatch: The value of parameter with name ${foundEntry.name} should be of type ${param.type}.`\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate checkParameterRegex(foundEntry: CustomParameterEntry, param: CustomParameter): void {\n\t\tif (foundEntry.value !== undefined && param.regex && !new RegExp(param.regex).test(foundEntry.value ?? '')) {\n\t\t\tthrow new ValidationError(\n\t\t\t\t`tool_param_value_regex: The given entry for the parameter with name ${foundEntry.name} does not fit the regex.`\n\t\t\t);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ComponentEtherpadProperties.html":{"url":"interfaces/ComponentEtherpadProperties.html","title":"interface - ComponentEtherpadProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ComponentEtherpadProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/lesson.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n description\n \n \n \n \n title\n \n \n \n \n url\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n description: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { LearnroomElement } from '@shared/domain/interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport { Material } from './materials.entity';\nimport type { TaskParent } from './task.entity';\nimport { Task } from './task.entity';\n\nexport interface LessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: ComponentProperties[] | [];\n\tmaterials?: Material[];\n}\n\nexport enum ComponentType {\n\tETHERPAD = 'Etherpad',\n\tGEOGEBRA = 'geoGebra',\n\tINTERNAL = 'internal',\n\tLERNSTORE = 'resources',\n\tTEXT = 'text',\n\tNEXBOARD = 'neXboard',\n}\n\nexport interface ComponentTextProperties {\n\ttext: string;\n}\n\nexport interface ComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface ComponentLernstoreProperties {\n\tresources: {\n\t\tclient: string;\n\t\tdescription: string;\n\t\tmerlinReference?: string;\n\t\ttitle: string;\n\t\turl: string;\n\t}[];\n}\n\nexport interface ComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentInternalProperties {\n\turl: string;\n}\n\nexport type ComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: ComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: ComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: ComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: ComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: ComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: ComponentNexboardProperties }\n);\n\nexport interface LessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements LearnroomElement, TaskParent {\n\t@Property()\n\tname: string;\n\n\t@Index()\n\t@Property()\n\thidden = false;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId' })\n\tcourse: Course;\n\n\t@ManyToOne('CourseGroup', { fieldName: 'courseGroupId', nullable: true })\n\tcourseGroup?: CourseGroup;\n\n\t@Property()\n\tposition: number;\n\n\t@Property()\n\tcontents: ComponentProperties[] | [];\n\n\t@ManyToMany('Material', undefined, { fieldName: 'materialIds' })\n\tmaterials = new Collection(this);\n\n\t@OneToMany('Task', 'lesson', { orphanRemoval: true })\n\ttasks = new Collection(this);\n\n\tconstructor(props: LessonProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tif (props.hidden !== undefined) this.hidden = props.hidden;\n\t\tthis.course = props.course;\n\t\tthis.courseGroup = props.courseGroup;\n\t\tthis.position = props.position || 0;\n\t\tthis.contents = props.contents;\n\t\tif (props.materials) this.materials.set(props.materials);\n\t}\n\n\tprivate getParent(): LessonParent {\n\t\tconst parent = this.courseGroup || this.course;\n\n\t\treturn parent;\n\t}\n\n\tprivate getTasksItems(): Task[] {\n\t\tif (!this.tasks.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their tasks that are not loaded.');\n\t\t}\n\t\tconst tasks = this.tasks.getItems();\n\t\treturn tasks;\n\t}\n\n\tgetNumberOfPublishedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPublished());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfDraftTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isDraft());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfPlannedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPlanned());\n\t\treturn filtered.length;\n\t}\n\n\tgetLessonComponents(): ComponentProperties[] | [] {\n\t\treturn this.contents;\n\t}\n\n\tgetLessonLinkedTasks(): Task[] {\n\t\tconst tasks = this.getTasksItems();\n\t\treturn tasks;\n\t}\n\n\tgetLessonMaterials(): Material[] {\n\t\tif (!this.materials.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their materials that are not loaded.');\n\t\t}\n\t\tconst materials = this.materials.getItems();\n\t\treturn materials;\n\t}\n\n\tgetSchoolId(): EntityId {\n\t\tif (!this.courseGroup) {\n\t\t\treturn this.course.school.id;\n\t\t}\n\n\t\treturn this.courseGroup.school.id;\n\t}\n\n\tpublish() {\n\t\tthis.hidden = false;\n\t}\n\n\tunpublish() {\n\t\tthis.hidden = true;\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst parent = this.getParent();\n\t\tconst studentIds = parent.getStudentIds();\n\n\t\treturn studentIds;\n\t}\n}\n\nexport function isLesson(reference: unknown): reference is LessonEntity {\n\treturn reference instanceof LessonEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ComponentGeogebraProperties.html":{"url":"interfaces/ComponentGeogebraProperties.html","title":"interface - ComponentGeogebraProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ComponentGeogebraProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/lesson.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n materialId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n materialId\n \n \n \n \n \n \n \n \n materialId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { LearnroomElement } from '@shared/domain/interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport { Material } from './materials.entity';\nimport type { TaskParent } from './task.entity';\nimport { Task } from './task.entity';\n\nexport interface LessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: ComponentProperties[] | [];\n\tmaterials?: Material[];\n}\n\nexport enum ComponentType {\n\tETHERPAD = 'Etherpad',\n\tGEOGEBRA = 'geoGebra',\n\tINTERNAL = 'internal',\n\tLERNSTORE = 'resources',\n\tTEXT = 'text',\n\tNEXBOARD = 'neXboard',\n}\n\nexport interface ComponentTextProperties {\n\ttext: string;\n}\n\nexport interface ComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface ComponentLernstoreProperties {\n\tresources: {\n\t\tclient: string;\n\t\tdescription: string;\n\t\tmerlinReference?: string;\n\t\ttitle: string;\n\t\turl: string;\n\t}[];\n}\n\nexport interface ComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentInternalProperties {\n\turl: string;\n}\n\nexport type ComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: ComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: ComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: ComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: ComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: ComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: ComponentNexboardProperties }\n);\n\nexport interface LessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements LearnroomElement, TaskParent {\n\t@Property()\n\tname: string;\n\n\t@Index()\n\t@Property()\n\thidden = false;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId' })\n\tcourse: Course;\n\n\t@ManyToOne('CourseGroup', { fieldName: 'courseGroupId', nullable: true })\n\tcourseGroup?: CourseGroup;\n\n\t@Property()\n\tposition: number;\n\n\t@Property()\n\tcontents: ComponentProperties[] | [];\n\n\t@ManyToMany('Material', undefined, { fieldName: 'materialIds' })\n\tmaterials = new Collection(this);\n\n\t@OneToMany('Task', 'lesson', { orphanRemoval: true })\n\ttasks = new Collection(this);\n\n\tconstructor(props: LessonProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tif (props.hidden !== undefined) this.hidden = props.hidden;\n\t\tthis.course = props.course;\n\t\tthis.courseGroup = props.courseGroup;\n\t\tthis.position = props.position || 0;\n\t\tthis.contents = props.contents;\n\t\tif (props.materials) this.materials.set(props.materials);\n\t}\n\n\tprivate getParent(): LessonParent {\n\t\tconst parent = this.courseGroup || this.course;\n\n\t\treturn parent;\n\t}\n\n\tprivate getTasksItems(): Task[] {\n\t\tif (!this.tasks.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their tasks that are not loaded.');\n\t\t}\n\t\tconst tasks = this.tasks.getItems();\n\t\treturn tasks;\n\t}\n\n\tgetNumberOfPublishedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPublished());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfDraftTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isDraft());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfPlannedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPlanned());\n\t\treturn filtered.length;\n\t}\n\n\tgetLessonComponents(): ComponentProperties[] | [] {\n\t\treturn this.contents;\n\t}\n\n\tgetLessonLinkedTasks(): Task[] {\n\t\tconst tasks = this.getTasksItems();\n\t\treturn tasks;\n\t}\n\n\tgetLessonMaterials(): Material[] {\n\t\tif (!this.materials.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their materials that are not loaded.');\n\t\t}\n\t\tconst materials = this.materials.getItems();\n\t\treturn materials;\n\t}\n\n\tgetSchoolId(): EntityId {\n\t\tif (!this.courseGroup) {\n\t\t\treturn this.course.school.id;\n\t\t}\n\n\t\treturn this.courseGroup.school.id;\n\t}\n\n\tpublish() {\n\t\tthis.hidden = false;\n\t}\n\n\tunpublish() {\n\t\tthis.hidden = true;\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst parent = this.getParent();\n\t\tconst studentIds = parent.getStudentIds();\n\n\t\treturn studentIds;\n\t}\n}\n\nexport function isLesson(reference: unknown): reference is LessonEntity {\n\treturn reference instanceof LessonEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ComponentInternalProperties.html":{"url":"interfaces/ComponentInternalProperties.html","title":"interface - ComponentInternalProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ComponentInternalProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/lesson.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { LearnroomElement } from '@shared/domain/interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport { Material } from './materials.entity';\nimport type { TaskParent } from './task.entity';\nimport { Task } from './task.entity';\n\nexport interface LessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: ComponentProperties[] | [];\n\tmaterials?: Material[];\n}\n\nexport enum ComponentType {\n\tETHERPAD = 'Etherpad',\n\tGEOGEBRA = 'geoGebra',\n\tINTERNAL = 'internal',\n\tLERNSTORE = 'resources',\n\tTEXT = 'text',\n\tNEXBOARD = 'neXboard',\n}\n\nexport interface ComponentTextProperties {\n\ttext: string;\n}\n\nexport interface ComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface ComponentLernstoreProperties {\n\tresources: {\n\t\tclient: string;\n\t\tdescription: string;\n\t\tmerlinReference?: string;\n\t\ttitle: string;\n\t\turl: string;\n\t}[];\n}\n\nexport interface ComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentInternalProperties {\n\turl: string;\n}\n\nexport type ComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: ComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: ComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: ComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: ComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: ComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: ComponentNexboardProperties }\n);\n\nexport interface LessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements LearnroomElement, TaskParent {\n\t@Property()\n\tname: string;\n\n\t@Index()\n\t@Property()\n\thidden = false;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId' })\n\tcourse: Course;\n\n\t@ManyToOne('CourseGroup', { fieldName: 'courseGroupId', nullable: true })\n\tcourseGroup?: CourseGroup;\n\n\t@Property()\n\tposition: number;\n\n\t@Property()\n\tcontents: ComponentProperties[] | [];\n\n\t@ManyToMany('Material', undefined, { fieldName: 'materialIds' })\n\tmaterials = new Collection(this);\n\n\t@OneToMany('Task', 'lesson', { orphanRemoval: true })\n\ttasks = new Collection(this);\n\n\tconstructor(props: LessonProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tif (props.hidden !== undefined) this.hidden = props.hidden;\n\t\tthis.course = props.course;\n\t\tthis.courseGroup = props.courseGroup;\n\t\tthis.position = props.position || 0;\n\t\tthis.contents = props.contents;\n\t\tif (props.materials) this.materials.set(props.materials);\n\t}\n\n\tprivate getParent(): LessonParent {\n\t\tconst parent = this.courseGroup || this.course;\n\n\t\treturn parent;\n\t}\n\n\tprivate getTasksItems(): Task[] {\n\t\tif (!this.tasks.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their tasks that are not loaded.');\n\t\t}\n\t\tconst tasks = this.tasks.getItems();\n\t\treturn tasks;\n\t}\n\n\tgetNumberOfPublishedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPublished());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfDraftTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isDraft());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfPlannedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPlanned());\n\t\treturn filtered.length;\n\t}\n\n\tgetLessonComponents(): ComponentProperties[] | [] {\n\t\treturn this.contents;\n\t}\n\n\tgetLessonLinkedTasks(): Task[] {\n\t\tconst tasks = this.getTasksItems();\n\t\treturn tasks;\n\t}\n\n\tgetLessonMaterials(): Material[] {\n\t\tif (!this.materials.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their materials that are not loaded.');\n\t\t}\n\t\tconst materials = this.materials.getItems();\n\t\treturn materials;\n\t}\n\n\tgetSchoolId(): EntityId {\n\t\tif (!this.courseGroup) {\n\t\t\treturn this.course.school.id;\n\t\t}\n\n\t\treturn this.courseGroup.school.id;\n\t}\n\n\tpublish() {\n\t\tthis.hidden = false;\n\t}\n\n\tunpublish() {\n\t\tthis.hidden = true;\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst parent = this.getParent();\n\t\tconst studentIds = parent.getStudentIds();\n\n\t\treturn studentIds;\n\t}\n}\n\nexport function isLesson(reference: unknown): reference is LessonEntity {\n\treturn reference instanceof LessonEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ComponentLernstoreProperties.html":{"url":"interfaces/ComponentLernstoreProperties.html","title":"interface - ComponentLernstoreProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ComponentLernstoreProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/lesson.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n resources\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n resources\n \n \n \n \n \n \n \n \n resources: literal type[]\n\n \n \n\n\n \n \n Type : literal type[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { LearnroomElement } from '@shared/domain/interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport { Material } from './materials.entity';\nimport type { TaskParent } from './task.entity';\nimport { Task } from './task.entity';\n\nexport interface LessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: ComponentProperties[] | [];\n\tmaterials?: Material[];\n}\n\nexport enum ComponentType {\n\tETHERPAD = 'Etherpad',\n\tGEOGEBRA = 'geoGebra',\n\tINTERNAL = 'internal',\n\tLERNSTORE = 'resources',\n\tTEXT = 'text',\n\tNEXBOARD = 'neXboard',\n}\n\nexport interface ComponentTextProperties {\n\ttext: string;\n}\n\nexport interface ComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface ComponentLernstoreProperties {\n\tresources: {\n\t\tclient: string;\n\t\tdescription: string;\n\t\tmerlinReference?: string;\n\t\ttitle: string;\n\t\turl: string;\n\t}[];\n}\n\nexport interface ComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentInternalProperties {\n\turl: string;\n}\n\nexport type ComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: ComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: ComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: ComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: ComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: ComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: ComponentNexboardProperties }\n);\n\nexport interface LessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements LearnroomElement, TaskParent {\n\t@Property()\n\tname: string;\n\n\t@Index()\n\t@Property()\n\thidden = false;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId' })\n\tcourse: Course;\n\n\t@ManyToOne('CourseGroup', { fieldName: 'courseGroupId', nullable: true })\n\tcourseGroup?: CourseGroup;\n\n\t@Property()\n\tposition: number;\n\n\t@Property()\n\tcontents: ComponentProperties[] | [];\n\n\t@ManyToMany('Material', undefined, { fieldName: 'materialIds' })\n\tmaterials = new Collection(this);\n\n\t@OneToMany('Task', 'lesson', { orphanRemoval: true })\n\ttasks = new Collection(this);\n\n\tconstructor(props: LessonProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tif (props.hidden !== undefined) this.hidden = props.hidden;\n\t\tthis.course = props.course;\n\t\tthis.courseGroup = props.courseGroup;\n\t\tthis.position = props.position || 0;\n\t\tthis.contents = props.contents;\n\t\tif (props.materials) this.materials.set(props.materials);\n\t}\n\n\tprivate getParent(): LessonParent {\n\t\tconst parent = this.courseGroup || this.course;\n\n\t\treturn parent;\n\t}\n\n\tprivate getTasksItems(): Task[] {\n\t\tif (!this.tasks.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their tasks that are not loaded.');\n\t\t}\n\t\tconst tasks = this.tasks.getItems();\n\t\treturn tasks;\n\t}\n\n\tgetNumberOfPublishedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPublished());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfDraftTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isDraft());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfPlannedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPlanned());\n\t\treturn filtered.length;\n\t}\n\n\tgetLessonComponents(): ComponentProperties[] | [] {\n\t\treturn this.contents;\n\t}\n\n\tgetLessonLinkedTasks(): Task[] {\n\t\tconst tasks = this.getTasksItems();\n\t\treturn tasks;\n\t}\n\n\tgetLessonMaterials(): Material[] {\n\t\tif (!this.materials.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their materials that are not loaded.');\n\t\t}\n\t\tconst materials = this.materials.getItems();\n\t\treturn materials;\n\t}\n\n\tgetSchoolId(): EntityId {\n\t\tif (!this.courseGroup) {\n\t\t\treturn this.course.school.id;\n\t\t}\n\n\t\treturn this.courseGroup.school.id;\n\t}\n\n\tpublish() {\n\t\tthis.hidden = false;\n\t}\n\n\tunpublish() {\n\t\tthis.hidden = true;\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst parent = this.getParent();\n\t\tconst studentIds = parent.getStudentIds();\n\n\t\treturn studentIds;\n\t}\n}\n\nexport function isLesson(reference: unknown): reference is LessonEntity {\n\treturn reference instanceof LessonEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ComponentNexboardProperties.html":{"url":"interfaces/ComponentNexboardProperties.html","title":"interface - ComponentNexboardProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ComponentNexboardProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/lesson.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n board\n \n \n \n \n description\n \n \n \n \n title\n \n \n \n \n url\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n board\n \n \n \n \n \n \n \n \n board: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n description: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { LearnroomElement } from '@shared/domain/interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport { Material } from './materials.entity';\nimport type { TaskParent } from './task.entity';\nimport { Task } from './task.entity';\n\nexport interface LessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: ComponentProperties[] | [];\n\tmaterials?: Material[];\n}\n\nexport enum ComponentType {\n\tETHERPAD = 'Etherpad',\n\tGEOGEBRA = 'geoGebra',\n\tINTERNAL = 'internal',\n\tLERNSTORE = 'resources',\n\tTEXT = 'text',\n\tNEXBOARD = 'neXboard',\n}\n\nexport interface ComponentTextProperties {\n\ttext: string;\n}\n\nexport interface ComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface ComponentLernstoreProperties {\n\tresources: {\n\t\tclient: string;\n\t\tdescription: string;\n\t\tmerlinReference?: string;\n\t\ttitle: string;\n\t\turl: string;\n\t}[];\n}\n\nexport interface ComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentInternalProperties {\n\turl: string;\n}\n\nexport type ComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: ComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: ComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: ComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: ComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: ComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: ComponentNexboardProperties }\n);\n\nexport interface LessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements LearnroomElement, TaskParent {\n\t@Property()\n\tname: string;\n\n\t@Index()\n\t@Property()\n\thidden = false;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId' })\n\tcourse: Course;\n\n\t@ManyToOne('CourseGroup', { fieldName: 'courseGroupId', nullable: true })\n\tcourseGroup?: CourseGroup;\n\n\t@Property()\n\tposition: number;\n\n\t@Property()\n\tcontents: ComponentProperties[] | [];\n\n\t@ManyToMany('Material', undefined, { fieldName: 'materialIds' })\n\tmaterials = new Collection(this);\n\n\t@OneToMany('Task', 'lesson', { orphanRemoval: true })\n\ttasks = new Collection(this);\n\n\tconstructor(props: LessonProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tif (props.hidden !== undefined) this.hidden = props.hidden;\n\t\tthis.course = props.course;\n\t\tthis.courseGroup = props.courseGroup;\n\t\tthis.position = props.position || 0;\n\t\tthis.contents = props.contents;\n\t\tif (props.materials) this.materials.set(props.materials);\n\t}\n\n\tprivate getParent(): LessonParent {\n\t\tconst parent = this.courseGroup || this.course;\n\n\t\treturn parent;\n\t}\n\n\tprivate getTasksItems(): Task[] {\n\t\tif (!this.tasks.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their tasks that are not loaded.');\n\t\t}\n\t\tconst tasks = this.tasks.getItems();\n\t\treturn tasks;\n\t}\n\n\tgetNumberOfPublishedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPublished());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfDraftTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isDraft());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfPlannedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPlanned());\n\t\treturn filtered.length;\n\t}\n\n\tgetLessonComponents(): ComponentProperties[] | [] {\n\t\treturn this.contents;\n\t}\n\n\tgetLessonLinkedTasks(): Task[] {\n\t\tconst tasks = this.getTasksItems();\n\t\treturn tasks;\n\t}\n\n\tgetLessonMaterials(): Material[] {\n\t\tif (!this.materials.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their materials that are not loaded.');\n\t\t}\n\t\tconst materials = this.materials.getItems();\n\t\treturn materials;\n\t}\n\n\tgetSchoolId(): EntityId {\n\t\tif (!this.courseGroup) {\n\t\t\treturn this.course.school.id;\n\t\t}\n\n\t\treturn this.courseGroup.school.id;\n\t}\n\n\tpublish() {\n\t\tthis.hidden = false;\n\t}\n\n\tunpublish() {\n\t\tthis.hidden = true;\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst parent = this.getParent();\n\t\tconst studentIds = parent.getStudentIds();\n\n\t\treturn studentIds;\n\t}\n}\n\nexport function isLesson(reference: unknown): reference is LessonEntity {\n\treturn reference instanceof LessonEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ComponentTextProperties.html":{"url":"interfaces/ComponentTextProperties.html","title":"interface - ComponentTextProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ComponentTextProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/lesson.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n text\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n text\n \n \n \n \n \n \n \n \n text: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { LearnroomElement } from '@shared/domain/interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport { Material } from './materials.entity';\nimport type { TaskParent } from './task.entity';\nimport { Task } from './task.entity';\n\nexport interface LessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: ComponentProperties[] | [];\n\tmaterials?: Material[];\n}\n\nexport enum ComponentType {\n\tETHERPAD = 'Etherpad',\n\tGEOGEBRA = 'geoGebra',\n\tINTERNAL = 'internal',\n\tLERNSTORE = 'resources',\n\tTEXT = 'text',\n\tNEXBOARD = 'neXboard',\n}\n\nexport interface ComponentTextProperties {\n\ttext: string;\n}\n\nexport interface ComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface ComponentLernstoreProperties {\n\tresources: {\n\t\tclient: string;\n\t\tdescription: string;\n\t\tmerlinReference?: string;\n\t\ttitle: string;\n\t\turl: string;\n\t}[];\n}\n\nexport interface ComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentInternalProperties {\n\turl: string;\n}\n\nexport type ComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: ComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: ComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: ComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: ComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: ComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: ComponentNexboardProperties }\n);\n\nexport interface LessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements LearnroomElement, TaskParent {\n\t@Property()\n\tname: string;\n\n\t@Index()\n\t@Property()\n\thidden = false;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId' })\n\tcourse: Course;\n\n\t@ManyToOne('CourseGroup', { fieldName: 'courseGroupId', nullable: true })\n\tcourseGroup?: CourseGroup;\n\n\t@Property()\n\tposition: number;\n\n\t@Property()\n\tcontents: ComponentProperties[] | [];\n\n\t@ManyToMany('Material', undefined, { fieldName: 'materialIds' })\n\tmaterials = new Collection(this);\n\n\t@OneToMany('Task', 'lesson', { orphanRemoval: true })\n\ttasks = new Collection(this);\n\n\tconstructor(props: LessonProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tif (props.hidden !== undefined) this.hidden = props.hidden;\n\t\tthis.course = props.course;\n\t\tthis.courseGroup = props.courseGroup;\n\t\tthis.position = props.position || 0;\n\t\tthis.contents = props.contents;\n\t\tif (props.materials) this.materials.set(props.materials);\n\t}\n\n\tprivate getParent(): LessonParent {\n\t\tconst parent = this.courseGroup || this.course;\n\n\t\treturn parent;\n\t}\n\n\tprivate getTasksItems(): Task[] {\n\t\tif (!this.tasks.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their tasks that are not loaded.');\n\t\t}\n\t\tconst tasks = this.tasks.getItems();\n\t\treturn tasks;\n\t}\n\n\tgetNumberOfPublishedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPublished());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfDraftTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isDraft());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfPlannedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPlanned());\n\t\treturn filtered.length;\n\t}\n\n\tgetLessonComponents(): ComponentProperties[] | [] {\n\t\treturn this.contents;\n\t}\n\n\tgetLessonLinkedTasks(): Task[] {\n\t\tconst tasks = this.getTasksItems();\n\t\treturn tasks;\n\t}\n\n\tgetLessonMaterials(): Material[] {\n\t\tif (!this.materials.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their materials that are not loaded.');\n\t\t}\n\t\tconst materials = this.materials.getItems();\n\t\treturn materials;\n\t}\n\n\tgetSchoolId(): EntityId {\n\t\tif (!this.courseGroup) {\n\t\t\treturn this.course.school.id;\n\t\t}\n\n\t\treturn this.courseGroup.school.id;\n\t}\n\n\tpublish() {\n\t\tthis.hidden = false;\n\t}\n\n\tunpublish() {\n\t\tthis.hidden = true;\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst parent = this.getParent();\n\t\tconst studentIds = parent.getStudentIds();\n\n\t\treturn studentIds;\n\t}\n}\n\nexport function isLesson(reference: unknown): reference is LessonEntity {\n\treturn reference instanceof LessonEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ConsentRequestBody.html":{"url":"classes/ConsentRequestBody.html","title":"class - ConsentRequestBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ConsentRequestBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/request/consent-request.body.ts\n \n\n\n\n \n Extends\n \n \n OAuthRejectableBody\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n grant_scope\n \n \n \n \n \n Optional\n remember\n \n \n \n \n \n Optional\n remember_for\n \n \n \n \n \n Optional\n error\n \n \n \n \n \n Optional\n error_debug\n \n \n \n \n \n Optional\n error_description\n \n \n \n \n \n Optional\n error_hint\n \n \n \n \n \n Optional\n status_code\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n grant_scope\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@IsString({each: true})@IsOptional()@ApiProperty({description: 'The Oauth2 client id.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/consent-request.body.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n remember\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@IsOptional()@ApiProperty({description: 'Remember, if set to true, tells the oauth provider to remember this consent authorization and reuse it if the same client asks the same user for the same, or a subset of, scope.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/consent-request.body.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n remember_for\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsInt()@IsOptional()@ApiProperty({description: 'RememberFor sets how long the consent authorization should be remembered for in seconds. If set to 0, the authorization will be remembered indefinitely.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/consent-request.body.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n error\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'The error should follow the OAuth2 error format (e.g. invalid_request, login_required). Defaults to request_denied.', required: false, nullable: false})\n \n \n \n \n \n Inherited from OAuthRejectableBody\n\n \n \n \n \n Defined in OAuthRejectableBody:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n error_debug\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'Debug contains information to help resolve the problem as a developer. Usually not exposed to the public but only in the server logs.', required: false, nullable: false})\n \n \n \n \n \n Inherited from OAuthRejectableBody\n\n \n \n \n \n Defined in OAuthRejectableBody:23\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n error_description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'Description of the error in a human readable format.', required: false, nullable: false})\n \n \n \n \n \n Inherited from OAuthRejectableBody\n\n \n \n \n \n Defined in OAuthRejectableBody:32\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n error_hint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'Hint to help resolve the error.', required: false, nullable: false})\n \n \n \n \n \n Inherited from OAuthRejectableBody\n\n \n \n \n \n Defined in OAuthRejectableBody:41\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n status_code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@IsOptional()@ApiProperty({description: 'Represents the HTTP status code of the error (e.g. 401 or 403). Defaults to 400.', required: false, nullable: false})\n \n \n \n \n \n Inherited from OAuthRejectableBody\n\n \n \n \n \n Defined in OAuthRejectableBody:50\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsArray, IsBoolean, IsInt, IsOptional, IsString } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { OAuthRejectableBody } from './oauth-rejectable.body';\n\nexport class ConsentRequestBody extends OAuthRejectableBody {\n\t@IsArray()\n\t@IsString({ each: true })\n\t@IsOptional()\n\t@ApiProperty({ description: 'The Oauth2 client id.', required: false, nullable: false })\n\tgrant_scope?: string[];\n\n\t@IsBoolean()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'Remember, if set to true, tells the oauth provider to remember this consent authorization and reuse it if the same client asks the same user for the same, or a subset of, scope.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\tremember?: boolean;\n\n\t@IsInt()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'RememberFor sets how long the consent authorization should be remembered for in seconds. If set to 0, the authorization will be remembered indefinitely.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\tremember_for?: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ConsentResponse.html":{"url":"classes/ConsentResponse.html","title":"class - ConsentResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ConsentResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n acr\n \n \n \n \n \n \n Optional\n amr\n \n \n \n challenge\n \n \n \n \n Optional\n client\n \n \n \n \n Optional\n context\n \n \n \n \n Optional\n login_challenge\n \n \n \n \n Optional\n login_session_id\n \n \n \n \n Optional\n oidc_context\n \n \n \n \n Optional\n request_url\n \n \n \n \n \n \n Optional\n requested_access_token_audience\n \n \n \n \n \n \n Optional\n requested_scope\n \n \n \n \n Optional\n skip\n \n \n \n \n Optional\n subject\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(consentResponse: ConsentResponse)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n consentResponse\n \n \n ConsentResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n acr\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty({description: 'ACR represents the Authentication AuthorizationContext Class Reference value for this authentication session'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n amr\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@IsOptional()@IsString({each: true})@ApiProperty({required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n challenge\n \n \n \n \n \n \n Type : string | undefined\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Is the id/authorization challenge of the consent authorization request. It is used to identify the session.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n client\n \n \n \n \n \n \n Type : OauthClientResponse\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n context\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n login_challenge\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty({description: 'LoginChallenge is the login challenge this consent challenge belongs to.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:40\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n login_session_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty({description: 'LoginSessionID is the login session ID.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n oidc_context\n \n \n \n \n \n \n Type : OidcContextResponse\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:48\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n request_url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty({description: 'RequestUrl is the original OAuth 2.0 Authorization URL requested by the OAuth 2.0 client.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n requested_access_token_audience\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@IsOptional()@IsString({each: true})@ApiProperty({required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:60\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n requested_scope\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@IsOptional()@IsString({each: true})@ApiProperty({description: 'The request scopes of the login request.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:66\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty({description: 'Skip, if true, implies that the client has requested the same scopes from the same user previously.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:72\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n subject\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty({description: 'Subject is the user id of the end-user that is authenticated.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:76\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsArray, IsOptional, IsString } from 'class-validator';\nimport { OidcContextResponse } from '@modules/oauth-provider/controller/dto/response/oidc-context.response';\nimport { OauthClientResponse } from '@modules/oauth-provider/controller/dto/response/oauth-client.response';\n\nexport class ConsentResponse {\n\tconstructor(consentResponse: ConsentResponse) {\n\t\tObject.assign(this, consentResponse);\n\t}\n\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'ACR represents the Authentication AuthorizationContext Class Reference value for this authentication session',\n\t})\n\tacr?: string;\n\n\t@IsArray()\n\t@IsOptional()\n\t@IsString({ each: true })\n\t@ApiProperty({ required: false, nullable: false })\n\tamr?: string[];\n\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'Is the id/authorization challenge of the consent authorization request. It is used to identify the session.',\n\t})\n\tchallenge: string | undefined;\n\n\t@IsOptional()\n\t@ApiProperty()\n\tclient?: OauthClientResponse;\n\n\t@IsOptional()\n\t@ApiProperty()\n\tcontext?: object;\n\n\t@IsOptional()\n\t@ApiProperty({ description: 'LoginChallenge is the login challenge this consent challenge belongs to.' })\n\tlogin_challenge?: string;\n\n\t@IsOptional()\n\t@ApiProperty({ description: 'LoginSessionID is the login session ID.' })\n\tlogin_session_id?: string;\n\n\t@IsOptional()\n\t@ApiProperty()\n\toidc_context?: OidcContextResponse;\n\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'RequestUrl is the original OAuth 2.0 Authorization URL requested by the OAuth 2.0 client.',\n\t})\n\trequest_url?: string;\n\n\t@IsArray()\n\t@IsOptional()\n\t@IsString({ each: true })\n\t@ApiProperty({ required: false, nullable: false })\n\trequested_access_token_audience?: string[];\n\n\t@IsArray()\n\t@IsOptional()\n\t@IsString({ each: true })\n\t@ApiProperty({ description: 'The request scopes of the login request.', required: false, nullable: false })\n\trequested_scope?: string[];\n\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'Skip, if true, implies that the client has requested the same scopes from the same user previously.',\n\t})\n\tskip?: boolean;\n\n\t@IsOptional()\n\t@ApiProperty({ description: 'Subject is the user id of the end-user that is authenticated.' })\n\tsubject?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ConsentSessionResponse.html":{"url":"classes/ConsentSessionResponse.html","title":"class - ConsentSessionResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ConsentSessionResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/response/consent-session.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n challenge\n \n \n \n \n Optional\n client_id\n \n \n \n Optional\n client_name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(clientId: string | undefined, clientName: string | undefined, challenge: string | undefined)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent-session.response.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n clientId\n \n \n string | undefined\n \n \n \n No\n \n \n \n \n clientName\n \n \n string | undefined\n \n \n \n No\n \n \n \n \n challenge\n \n \n string | undefined\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n challenge\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The id/challenge of the consent authorization request.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent-session.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n client_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty({description: 'The id of the client.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent-session.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n client_name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The name of the client.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent-session.response.ts:16\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsOptional } from 'class-validator';\n\nexport class ConsentSessionResponse {\n\tconstructor(clientId: string | undefined, clientName: string | undefined, challenge: string | undefined) {\n\t\tthis.client_id = clientId;\n\t\tthis.client_name = clientName;\n\t\tthis.challenge = challenge;\n\t}\n\n\t@IsOptional()\n\t@ApiProperty({ description: 'The id of the client.' })\n\tclient_id?: string;\n\n\t@ApiProperty({ description: 'The name of the client.' })\n\tclient_name?: string;\n\n\t@ApiProperty({ description: 'The id/challenge of the consent authorization request.' })\n\tchallenge?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ConsoleWriterModule.html":{"url":"modules/ConsoleWriterModule.html","title":"module - ConsoleWriterModule","body":"\n \n\n\n\n\n Modules\n ConsoleWriterModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ConsoleWriterModule\n\n\n\ncluster_ConsoleWriterModule_providers\n\n\n\ncluster_ConsoleWriterModule_exports\n\n\n\n\nConsoleWriterService \n\nConsoleWriterService \n\n\n\nConsoleWriterModule\n\nConsoleWriterModule\n\nConsoleWriterService -->\n\nConsoleWriterModule->ConsoleWriterService \n\n\n\n\n\nConsoleWriterService\n\nConsoleWriterService\n\nConsoleWriterModule -->\n\nConsoleWriterService->ConsoleWriterModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/console/console-writer/console-writer.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ConsoleWriterService\n \n \n \n \n Exports\n \n \n ConsoleWriterService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { ConsoleWriterService } from './console-writer.service';\n\n@Module({\n\tproviders: [ConsoleWriterService],\n\texports: [ConsoleWriterService],\n})\nexport class ConsoleWriterModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ConsoleWriterService.html":{"url":"injectables/ConsoleWriterService.html","title":"injectable - ConsoleWriterService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ConsoleWriterService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/console/console-writer/console-writer.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n info\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n info\n \n \n \n \n \n \ninfo(text: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/console/console-writer/console-writer.service.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n text\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\n\n@Injectable()\nexport class ConsoleWriterService {\n\tinfo(text: string): void {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.info('Info:', text);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContentBodyParams.html":{"url":"classes/ContentBodyParams.html","title":"class - ContentBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContentBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/ajax/post.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contentId\n \n \n \n \n \n field\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contentId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/post.body.params.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n field\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/post.body.params.ts:19\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsArray, IsMongoId, IsOptional, IsString } from 'class-validator';\n\nexport class LibrariesBodyParams {\n\t@ApiProperty()\n\t@IsArray()\n\t@IsString({ each: true })\n\tlibraries!: string[];\n}\n\nexport class ContentBodyParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsOptional()\n\tfield!: string;\n}\n\nexport class LibraryParametersBodyParams {\n\t@ApiProperty()\n\t@IsString()\n\tlibraryParameters!: string;\n}\n\nexport type AjaxPostBodyParams = LibrariesBodyParams | ContentBodyParams | LibraryParametersBodyParams | undefined;\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ContentElementFactory.html":{"url":"injectables/ContentElementFactory.html","title":"injectable - ContentElementFactory","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ContentElementFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/content-element.factory.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n build\n \n \n Private\n buildDrawing\n \n \n Private\n buildExternalTool\n \n \n Private\n buildFile\n \n \n Private\n buildLink\n \n \n Private\n buildRichText\n \n \n Private\n buildSubmissionContainer\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(type: ContentElementType)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/content-element.factory.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n ContentElementType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AnyContentElementDo\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n buildDrawing\n \n \n \n \n \n \n \n buildDrawing()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/content-element.factory.ts:85\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n buildExternalTool\n \n \n \n \n \n \n \n buildExternalTool()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/content-element.factory.ts:109\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n buildFile\n \n \n \n \n \n \n \n buildFile()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/content-element.factory.ts:47\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n buildLink\n \n \n \n \n \n \n \n buildLink()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/content-element.factory.ts:60\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n buildRichText\n \n \n \n \n \n \n \n buildRichText()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/content-element.factory.ts:72\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n buildSubmissionContainer\n \n \n \n \n \n \n \n buildSubmissionContainer()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/content-element.factory.ts:97\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, NotImplementedException } from '@nestjs/common';\nimport { InputFormat } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport { ExternalToolElement } from './external-tool-element.do';\nimport { DrawingElement } from './drawing-element.do';\nimport { FileElement } from './file-element.do';\nimport { LinkElement } from './link-element.do';\nimport { RichTextElement } from './rich-text-element.do';\nimport { SubmissionContainerElement } from './submission-container-element.do';\nimport { AnyContentElementDo, ContentElementType } from './types';\n\n@Injectable()\nexport class ContentElementFactory {\n\tbuild(type: ContentElementType): AnyContentElementDo {\n\t\tlet element!: AnyContentElementDo;\n\n\t\tswitch (type) {\n\t\t\tcase ContentElementType.FILE:\n\t\t\t\telement = this.buildFile();\n\t\t\t\tbreak;\n\t\t\tcase ContentElementType.LINK:\n\t\t\t\telement = this.buildLink();\n\t\t\t\tbreak;\n\t\t\tcase ContentElementType.RICH_TEXT:\n\t\t\t\telement = this.buildRichText();\n\t\t\t\tbreak;\n\t\t\tcase ContentElementType.DRAWING:\n\t\t\t\telement = this.buildDrawing();\n\t\t\t\tbreak;\n\t\t\tcase ContentElementType.SUBMISSION_CONTAINER:\n\t\t\t\telement = this.buildSubmissionContainer();\n\t\t\t\tbreak;\n\t\t\tcase ContentElementType.EXTERNAL_TOOL:\n\t\t\t\telement = this.buildExternalTool();\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif (!element) {\n\t\t\tthrow new NotImplementedException(`unknown type ${type} of element`);\n\t\t}\n\n\t\treturn element;\n\t}\n\n\tprivate buildFile() {\n\t\tconst element = new FileElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\tcaption: '',\n\t\t\talternativeText: '',\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\n\t\treturn element;\n\t}\n\n\tprivate buildLink() {\n\t\tconst element = new LinkElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\turl: '',\n\t\t\ttitle: '',\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\n\t\treturn element;\n\t}\n\n\tprivate buildRichText() {\n\t\tconst element = new RichTextElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttext: '',\n\t\t\tinputFormat: InputFormat.RICH_TEXT_CK5,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\n\t\treturn element;\n\t}\n\n\tprivate buildDrawing() {\n\t\tconst element = new DrawingElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\tdescription: '',\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\n\t\treturn element;\n\t}\n\n\tprivate buildSubmissionContainer() {\n\t\tconst element = new SubmissionContainerElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\tdueDate: null,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\n\t\treturn element;\n\t}\n\n\tprivate buildExternalTool() {\n\t\tconst element = new ExternalToolElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\n\t\treturn element;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContentElementResponseFactory.html":{"url":"classes/ContentElementResponseFactory.html","title":"class - ContentElementResponseFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContentElementResponseFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/content-element-response.factory.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n mappers\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapSubmissionContentToResponse\n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n mappers\n \n \n \n \n \n \n Type : BaseResponseMapper[]\n\n \n \n \n \n Default value : [\n\t\tFileElementResponseMapper.getInstance(),\n\t\tLinkElementResponseMapper.getInstance(),\n\t\tRichTextElementResponseMapper.getInstance(),\n\t\tDrawingElementResponseMapper.getInstance(),\n\t\tSubmissionContainerElementResponseMapper.getInstance(),\n\t\tExternalToolElementResponseMapper.getInstance(),\n\t]\n \n \n \n \n Defined in apps/server/src/modules/board/controller/mapper/content-element-response.factory.ts:19\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapSubmissionContentToResponse\n \n \n \n \n \n \n \n mapSubmissionContentToResponse(element: RichTextElement | FileElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/content-element-response.factory.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n RichTextElement | FileElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileElementResponse | RichTextElementResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(element: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/content-element-response.factory.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AnyContentElementResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { NotImplementedException, UnprocessableEntityException } from '@nestjs/common';\nimport { AnyBoardDo, FileElement, RichTextElement } from '@shared/domain/domainobject';\nimport {\n\tAnyContentElementResponse,\n\tFileElementResponse,\n\tisFileElementResponse,\n\tisRichTextElementResponse,\n\tRichTextElementResponse,\n} from '../dto';\nimport { BaseResponseMapper } from './base-mapper.interface';\nimport { DrawingElementResponseMapper } from './drawing-element-response.mapper';\nimport { ExternalToolElementResponseMapper } from './external-tool-element-response.mapper';\nimport { FileElementResponseMapper } from './file-element-response.mapper';\nimport { LinkElementResponseMapper } from './link-element-response.mapper';\nimport { RichTextElementResponseMapper } from './rich-text-element-response.mapper';\nimport { SubmissionContainerElementResponseMapper } from './submission-container-element-response.mapper';\n\nexport class ContentElementResponseFactory {\n\tprivate static mappers: BaseResponseMapper[] = [\n\t\tFileElementResponseMapper.getInstance(),\n\t\tLinkElementResponseMapper.getInstance(),\n\t\tRichTextElementResponseMapper.getInstance(),\n\t\tDrawingElementResponseMapper.getInstance(),\n\t\tSubmissionContainerElementResponseMapper.getInstance(),\n\t\tExternalToolElementResponseMapper.getInstance(),\n\t];\n\n\tstatic mapToResponse(element: AnyBoardDo): AnyContentElementResponse {\n\t\tconst elementMapper = this.mappers.find((mapper) => mapper.canMap(element));\n\n\t\tif (!elementMapper) {\n\t\t\tthrow new NotImplementedException(`unsupported element type: ${element.constructor.name}`);\n\t\t}\n\n\t\tconst result = elementMapper.mapToResponse(element);\n\n\t\treturn result;\n\t}\n\n\tstatic mapSubmissionContentToResponse(\n\t\telement: RichTextElement | FileElement\n\t): FileElementResponse | RichTextElementResponse {\n\t\tconst result = this.mapToResponse(element);\n\t\tif (!isFileElementResponse(result) && !isRichTextElementResponse(result)) {\n\t\t\tthrow new UnprocessableEntityException();\n\t\t}\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ContentElementService.html":{"url":"injectables/ContentElementService.html","title":"injectable - ContentElementService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ContentElementService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/content-element.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n findParentOfId\n \n \n Async\n move\n \n \n Async\n update\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(boardDoRepo: BoardDoRepo, boardDoService: BoardDoService, contentElementFactory: ContentElementFactory)\n \n \n \n \n Defined in apps/server/src/modules/board/service/content-element.service.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDoRepo\n \n \n BoardDoRepo\n \n \n \n No\n \n \n \n \n boardDoService\n \n \n BoardDoService\n \n \n \n No\n \n \n \n \n contentElementFactory\n \n \n ContentElementFactory\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n create\n \n \n \n \n \n \n \n create(parent: Card | SubmissionItem, type: ContentElementType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element.service.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n parent\n \n Card | SubmissionItem\n \n\n \n No\n \n\n\n \n \n type\n \n ContentElementType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(element: AnyContentElementDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element.service.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n AnyContentElementDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(elementId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element.service.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n elementId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findParentOfId\n \n \n \n \n \n \n \n findParentOfId(elementId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element.service.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n elementId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n move\n \n \n \n \n \n \n \n move(element: AnyContentElementDo, targetCard: Card, targetPosition: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element.service.ts:54\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n AnyContentElementDo\n \n\n \n No\n \n\n\n \n \n targetCard\n \n Card\n \n\n \n No\n \n\n\n \n \n targetPosition\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n update\n \n \n \n \n \n \n \n update(element: AnyContentElementDo, content: AnyElementContentBody)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element.service.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n AnyContentElementDo\n \n\n \n No\n \n\n\n \n \n content\n \n AnyElementContentBody\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, NotFoundException } from '@nestjs/common';\nimport {\n\tAnyBoardDo,\n\tAnyContentElementDo,\n\tCard,\n\tContentElementFactory,\n\tContentElementType,\n\tisAnyContentElement,\n\tSubmissionItem,\n} from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { AnyElementContentBody } from '../controller/dto';\nimport { BoardDoRepo } from '../repo';\nimport { BoardDoService } from './board-do.service';\nimport { ContentElementUpdateVisitor } from './content-element-update.visitor';\n\n@Injectable()\nexport class ContentElementService {\n\tconstructor(\n\t\tprivate readonly boardDoRepo: BoardDoRepo,\n\t\tprivate readonly boardDoService: BoardDoService,\n\t\tprivate readonly contentElementFactory: ContentElementFactory\n\t) {}\n\n\tasync findById(elementId: EntityId): Promise {\n\t\tconst element = await this.boardDoRepo.findById(elementId);\n\n\t\tif (!isAnyContentElement(element)) {\n\t\t\tthrow new NotFoundException(`There is no '${element.constructor.name}' with this id`);\n\t\t}\n\n\t\treturn element;\n\t}\n\n\tasync findParentOfId(elementId: EntityId): Promise {\n\t\tconst parent = await this.boardDoRepo.findParentOfId(elementId);\n\t\tif (!parent) {\n\t\t\tthrow new NotFoundException('There is no node with this id');\n\t\t}\n\t\treturn parent;\n\t}\n\n\tasync create(parent: Card | SubmissionItem, type: ContentElementType): Promise {\n\t\tconst element = this.contentElementFactory.build(type);\n\t\tparent.addChild(element);\n\t\tawait this.boardDoRepo.save(parent.children, parent);\n\t\treturn element;\n\t}\n\n\tasync delete(element: AnyContentElementDo): Promise {\n\t\tawait this.boardDoService.deleteWithDescendants(element);\n\t}\n\n\tasync move(element: AnyContentElementDo, targetCard: Card, targetPosition: number): Promise {\n\t\tawait this.boardDoService.move(element, targetCard, targetPosition);\n\t}\n\n\tasync update(element: AnyContentElementDo, content: AnyElementContentBody): Promise {\n\t\tconst updater = new ContentElementUpdateVisitor(content);\n\t\tawait element.acceptAsync(updater);\n\n\t\tconst parent = await this.boardDoRepo.findParentOfId(element.id);\n\n\t\tawait this.boardDoRepo.save(element, parent);\n\n\t\treturn element;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ContentElementUpdateVisitor.html":{"url":"injectables/ContentElementUpdateVisitor.html","title":"injectable - ContentElementUpdateVisitor","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ContentElementUpdateVisitor\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/content-element-update.visitor.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n content\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n rejectNotHandled\n \n \n Async\n visitCardAsync\n \n \n Async\n visitColumnAsync\n \n \n Async\n visitColumnBoardAsync\n \n \n Async\n visitDrawingElementAsync\n \n \n Async\n visitExternalToolElementAsync\n \n \n Async\n visitFileElementAsync\n \n \n Async\n visitLinkElementAsync\n \n \n Async\n visitRichTextElementAsync\n \n \n Async\n visitSubmissionContainerElementAsync\n \n \n Async\n visitSubmissionItemAsync\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(content: AnyElementContentBody)\n \n \n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:30\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n content\n \n \n AnyElementContentBody\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n rejectNotHandled\n \n \n \n \n \n \n \n rejectNotHandled(component: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:118\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n component\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitCardAsync\n \n \n \n \n \n \n \n visitCardAsync(card: Card)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n card\n \n Card\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitColumnAsync\n \n \n \n \n \n \n \n visitColumnAsync(column: Column)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n column\n \n Column\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitColumnBoardAsync\n \n \n \n \n \n \n \n visitColumnBoardAsync(columnBoard: ColumnBoard)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n columnBoard\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitDrawingElementAsync\n \n \n \n \n \n \n \n visitDrawingElementAsync(drawingElement: DrawingElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:87\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n drawingElement\n \n DrawingElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitExternalToolElementAsync\n \n \n \n \n \n \n \n visitExternalToolElementAsync(externalToolElement: ExternalToolElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:109\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolElement\n \n ExternalToolElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitFileElementAsync\n \n \n \n \n \n \n \n visitFileElementAsync(fileElement: FileElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:48\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileElement\n \n FileElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitLinkElementAsync\n \n \n \n \n \n \n \n visitLinkElementAsync(linkElement: LinkElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:57\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n linkElement\n \n LinkElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitRichTextElementAsync\n \n \n \n \n \n \n \n visitRichTextElementAsync(richTextElement: RichTextElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:78\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n richTextElement\n \n RichTextElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitSubmissionContainerElementAsync\n \n \n \n \n \n \n \n visitSubmissionContainerElementAsync(submissionContainerElement: SubmissionContainerElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:95\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionContainerElement\n \n SubmissionContainerElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitSubmissionItemAsync\n \n \n \n \n \n \n \n visitSubmissionItemAsync(submission: SubmissionItem)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:105\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submission\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n content\n \n \n \n \n \n \n Type : AnyElementContentBody\n\n \n \n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:30\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { sanitizeRichText } from '@shared/controller';\nimport {\n\tAnyBoardDo,\n\tBoardCompositeVisitorAsync,\n\tCard,\n\tColumn,\n\tColumnBoard,\n\tExternalToolElement,\n\tFileElement,\n\tRichTextElement,\n\tSubmissionContainerElement,\n\tSubmissionItem,\n} from '@shared/domain/domainobject';\nimport { DrawingElement } from '@shared/domain/domainobject/board/drawing-element.do';\nimport { LinkElement } from '@shared/domain/domainobject/board/link-element.do';\nimport { InputFormat } from '@shared/domain/types';\nimport {\n\tAnyElementContentBody,\n\tDrawingContentBody,\n\tExternalToolContentBody,\n\tFileContentBody,\n\tLinkContentBody,\n\tRichTextContentBody,\n\tSubmissionContainerContentBody,\n} from '../controller/dto';\n\n@Injectable()\nexport class ContentElementUpdateVisitor implements BoardCompositeVisitorAsync {\n\tprivate readonly content: AnyElementContentBody;\n\n\tconstructor(content: AnyElementContentBody) {\n\t\tthis.content = content;\n\t}\n\n\tasync visitColumnBoardAsync(columnBoard: ColumnBoard): Promise {\n\t\treturn this.rejectNotHandled(columnBoard);\n\t}\n\n\tasync visitColumnAsync(column: Column): Promise {\n\t\treturn this.rejectNotHandled(column);\n\t}\n\n\tasync visitCardAsync(card: Card): Promise {\n\t\treturn this.rejectNotHandled(card);\n\t}\n\n\tasync visitFileElementAsync(fileElement: FileElement): Promise {\n\t\tif (this.content instanceof FileContentBody) {\n\t\t\tfileElement.caption = sanitizeRichText(this.content.caption, InputFormat.PLAIN_TEXT);\n\t\t\tfileElement.alternativeText = sanitizeRichText(this.content.alternativeText, InputFormat.PLAIN_TEXT);\n\t\t\treturn Promise.resolve();\n\t\t}\n\t\treturn this.rejectNotHandled(fileElement);\n\t}\n\n\tasync visitLinkElementAsync(linkElement: LinkElement): Promise {\n\t\tif (this.content instanceof LinkContentBody) {\n\t\t\tlinkElement.url = new URL(this.content.url).toString();\n\t\t\tlinkElement.title = this.content.title ?? '';\n\t\t\tlinkElement.description = this.content.description ?? '';\n\t\t\tif (this.content.imageUrl) {\n\t\t\t\tconst isRelativeUrl = (url: string) => {\n\t\t\t\t\tconst fallbackHostname = 'https://www.fallback-url-if-url-is-relative.org';\n\t\t\t\t\tconst imageUrlObject = new URL(url, fallbackHostname);\n\t\t\t\t\treturn imageUrlObject.origin === fallbackHostname;\n\t\t\t\t};\n\n\t\t\t\tif (isRelativeUrl(this.content.imageUrl)) {\n\t\t\t\t\tlinkElement.imageUrl = this.content.imageUrl;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn Promise.resolve();\n\t\t}\n\t\treturn this.rejectNotHandled(linkElement);\n\t}\n\n\tasync visitRichTextElementAsync(richTextElement: RichTextElement): Promise {\n\t\tif (this.content instanceof RichTextContentBody) {\n\t\t\trichTextElement.text = sanitizeRichText(this.content.text, this.content.inputFormat);\n\t\t\trichTextElement.inputFormat = this.content.inputFormat;\n\t\t\treturn Promise.resolve();\n\t\t}\n\t\treturn this.rejectNotHandled(richTextElement);\n\t}\n\n\tasync visitDrawingElementAsync(drawingElement: DrawingElement): Promise {\n\t\tif (this.content instanceof DrawingContentBody) {\n\t\t\tdrawingElement.description = this.content.description;\n\t\t\treturn Promise.resolve();\n\t\t}\n\t\treturn this.rejectNotHandled(drawingElement);\n\t}\n\n\tasync visitSubmissionContainerElementAsync(submissionContainerElement: SubmissionContainerElement): Promise {\n\t\tif (this.content instanceof SubmissionContainerContentBody) {\n\t\t\tif (this.content.dueDate !== undefined) {\n\t\t\t\tsubmissionContainerElement.dueDate = this.content.dueDate;\n\t\t\t}\n\t\t\treturn Promise.resolve();\n\t\t}\n\t\treturn this.rejectNotHandled(submissionContainerElement);\n\t}\n\n\tasync visitSubmissionItemAsync(submission: SubmissionItem): Promise {\n\t\treturn this.rejectNotHandled(submission);\n\t}\n\n\tasync visitExternalToolElementAsync(externalToolElement: ExternalToolElement): Promise {\n\t\tif (this.content instanceof ExternalToolContentBody && this.content.contextExternalToolId !== undefined) {\n\t\t\t// Updates should not remove an existing reference to a tool, to prevent orphan tool instances\n\t\t\texternalToolElement.contextExternalToolId = this.content.contextExternalToolId;\n\t\t\treturn Promise.resolve();\n\t\t}\n\t\treturn this.rejectNotHandled(externalToolElement);\n\t}\n\n\tprivate rejectNotHandled(component: AnyBoardDo): Promise {\n\t\treturn Promise.reject(new Error(`Cannot update element of type: '${component.constructor.name}'`));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContentElementUrlParams.html":{"url":"classes/ContentElementUrlParams.html","title":"class - ContentElementUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContentElementUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/board/content-element.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contentElementId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contentElementId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the element.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/content-element.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class ContentElementUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the element.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tcontentElementId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContentFileUrlParams.html":{"url":"classes/ContentFileUrlParams.html","title":"class - ContentFileUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContentFileUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/content-file.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n filename\n \n \n \n \n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n filename\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/content-file.url.params.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/content-file.url.params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId, IsNotEmpty, IsString } from 'class-validator';\n\nexport class ContentFileUrlParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tid!: string;\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfilename!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContentMetadata.html":{"url":"classes/ContentMetadata.html","title":"class - ContentMetadata","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContentMetadata\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts\n \n\n\n\n\n \n Implements\n \n \n IContentMetadata\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n a11yTitle\n \n \n \n Optional\n authorComments\n \n \n \n Optional\n authors\n \n \n \n Optional\n changes\n \n \n \n Optional\n contentType\n \n \n \n defaultLanguage\n \n \n \n Optional\n dynamicDependencies\n \n \n \n Optional\n editorDependencies\n \n \n \n embedTypes\n \n \n \n Optional\n h\n \n \n \n language\n \n \n \n license\n \n \n \n Optional\n licenseExtras\n \n \n \n Optional\n licenseVersion\n \n \n \n mainLibrary\n \n \n \n Optional\n metaDescription\n \n \n \n Optional\n metaKeywords\n \n \n \n preloadedDependencies\n \n \n \n Optional\n source\n \n \n \n title\n \n \n \n Optional\n w\n \n \n \n Optional\n yearFrom\n \n \n \n Optional\n yearTo\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(metadata: IContentMetadata)\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:77\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n metadata\n \n \n IContentMetadata\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n a11yTitle\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n authorComments\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:74\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n authors\n \n \n \n \n \n \n Type : IContentAuthor[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:65\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n changes\n \n \n \n \n \n \n Type : IContentChange[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:71\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n contentType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:77\n \n \n\n\n \n \n \n \n \n \n \n \n \n defaultLanguage\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n dynamicDependencies\n \n \n \n \n \n \n Type : ILibraryName[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n editorDependencies\n \n \n \n \n \n \n Type : ILibraryName[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n embedTypes\n \n \n \n \n \n \n Type : (\"iframe\" | \"div\")[]\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n h\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n language\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n license\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:47\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n licenseExtras\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:68\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n licenseVersion\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:50\n \n \n\n\n \n \n \n \n \n \n \n \n \n mainLibrary\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n metaDescription\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n metaKeywords\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n preloadedDependencies\n \n \n \n \n \n \n Type : ILibraryName[]\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n source\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:59\n \n \n\n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:62\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n w\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:38\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n yearFrom\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:53\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n yearTo\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:56\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IContentMetadata, ILibraryName } from '@lumieducation/h5p-server';\nimport { IContentAuthor, IContentChange } from '@lumieducation/h5p-server/build/src/types';\nimport { Embeddable, Embedded, Entity, Enum, Index, JsonType, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\n\n@Embeddable()\nexport class ContentMetadata implements IContentMetadata {\n\t@Property({ nullable: true })\n\tdynamicDependencies?: ILibraryName[];\n\n\t@Property({ nullable: true })\n\teditorDependencies?: ILibraryName[];\n\n\t@Property()\n\tembedTypes: ('iframe' | 'div')[];\n\n\t@Property({ nullable: true })\n\th?: string;\n\n\t@Property()\n\tlanguage: string;\n\n\t@Property()\n\tmainLibrary: string;\n\n\t@Property({ nullable: true })\n\tmetaDescription?: string;\n\n\t@Property({ nullable: true })\n\tmetaKeywords?: string;\n\n\t@Property()\n\tpreloadedDependencies: ILibraryName[];\n\n\t@Property({ nullable: true })\n\tw?: string;\n\n\t@Property()\n\tdefaultLanguage: string;\n\n\t@Property({ nullable: true })\n\ta11yTitle?: string;\n\n\t@Property()\n\tlicense: string;\n\n\t@Property({ nullable: true })\n\tlicenseVersion?: string;\n\n\t@Property({ nullable: true })\n\tyearFrom?: string;\n\n\t@Property({ nullable: true })\n\tyearTo?: string;\n\n\t@Property({ nullable: true })\n\tsource?: string;\n\n\t@Property()\n\ttitle: string;\n\n\t@Property({ nullable: true })\n\tauthors?: IContentAuthor[];\n\n\t@Property({ nullable: true })\n\tlicenseExtras?: string;\n\n\t@Property({ nullable: true })\n\tchanges?: IContentChange[];\n\n\t@Property({ nullable: true })\n\tauthorComments?: string;\n\n\t@Property({ nullable: true })\n\tcontentType?: string;\n\n\tconstructor(metadata: IContentMetadata) {\n\t\tthis.embedTypes = metadata.embedTypes;\n\t\tthis.language = metadata.language;\n\t\tthis.mainLibrary = metadata.mainLibrary;\n\t\tthis.defaultLanguage = metadata.defaultLanguage;\n\t\tthis.license = metadata.license;\n\t\tthis.title = metadata.title;\n\t\tthis.preloadedDependencies = metadata.preloadedDependencies;\n\t\tthis.dynamicDependencies = metadata.dynamicDependencies;\n\t\tthis.editorDependencies = metadata.editorDependencies;\n\t\tthis.h = metadata.h;\n\t\tthis.metaDescription = metadata.metaDescription;\n\t\tthis.metaKeywords = metadata.metaKeywords;\n\t\tthis.w = metadata.w;\n\t\tthis.a11yTitle = metadata.a11yTitle;\n\t\tthis.licenseVersion = metadata.licenseVersion;\n\t\tthis.yearFrom = metadata.yearFrom;\n\t\tthis.yearTo = metadata.yearTo;\n\t\tthis.source = metadata.source;\n\t\tthis.authors = metadata.authors;\n\t\tthis.licenseExtras = metadata.licenseExtras;\n\t\tthis.changes = metadata.changes;\n\t\tthis.authorComments = metadata.authorComments;\n\t\tthis.contentType = metadata.contentType;\n\t}\n}\n\nexport enum H5PContentParentType {\n\t'Lesson' = 'lessons',\n}\n\nexport interface H5PContentProperties {\n\tcreatorId: EntityId;\n\tparentType: H5PContentParentType;\n\tparentId: EntityId;\n\tschoolId: EntityId;\n\tmetadata: ContentMetadata;\n\tcontent: unknown;\n}\n\n@Entity({ tableName: 'h5p-editor-content' })\nexport class H5PContent extends BaseEntityWithTimestamps {\n\t@Property({ fieldName: 'creator' })\n\t_creatorId: ObjectId;\n\n\tget creatorId(): EntityId {\n\t\treturn this._creatorId.toHexString();\n\t}\n\n\t@Index()\n\t@Enum()\n\tparentType: H5PContentParentType;\n\n\t@Index()\n\t@Property({ fieldName: 'parent' })\n\t_parentId: ObjectId;\n\n\tget parentId(): EntityId {\n\t\treturn this._parentId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'school' })\n\t_schoolId: ObjectId;\n\n\tget schoolId(): EntityId {\n\t\treturn this._schoolId.toHexString();\n\t}\n\n\t@Embedded(() => ContentMetadata)\n\tmetadata: ContentMetadata;\n\n\t@Property({ type: JsonType })\n\tcontent: unknown;\n\n\tconstructor({ parentType, parentId, creatorId, schoolId, metadata, content }: H5PContentProperties) {\n\t\tsuper();\n\n\t\tthis.parentType = parentType;\n\t\tthis._parentId = new ObjectId(parentId);\n\t\tthis._creatorId = new ObjectId(creatorId);\n\t\tthis._schoolId = new ObjectId(schoolId);\n\n\t\tthis.metadata = metadata;\n\t\tthis.content = content;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalTool.html":{"url":"classes/ContextExternalTool.html","title":"class - ContextExternalTool","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalTool\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/domain/context-external-tool.do.ts\n \n\n\n\n \n Extends\n \n \n BaseDO\n \n\n \n Implements\n \n \n ToolVersion\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n contextRef\n \n \n Optional\n displayName\n \n \n parameters\n \n \n schoolToolRef\n \n \n toolVersion\n \n \n Optional\n id\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getVersion\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ContextExternalToolProps)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/context-external-tool.do.ts:30\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ContextExternalToolProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n contextRef\n \n \n \n \n \n \n Type : ContextRef\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/context-external-tool.do.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/context-external-tool.do.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n Type : CustomParameterEntry[]\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/context-external-tool.do.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n schoolToolRef\n \n \n \n \n \n \n Type : SchoolExternalToolRefDO\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/context-external-tool.do.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n toolVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/context-external-tool.do.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from BaseDO\n\n \n \n \n \n Defined in BaseDO:5\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getVersion\n \n \n \n \n \n \ngetVersion()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/context-external-tool.do.ts:41\n \n \n\n\n \n \n\n \n Returns : number\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BaseDO } from '@shared/domain/domainobject/base.do';\nimport { CustomParameterEntry } from '../../common/domain';\nimport { ToolVersion } from '../../common/interface';\nimport { SchoolExternalToolRefDO } from '../../school-external-tool/domain';\nimport { ContextRef } from './context-ref';\n\nexport interface ContextExternalToolProps {\n\tid?: string;\n\n\tschoolToolRef: SchoolExternalToolRefDO;\n\n\tcontextRef: ContextRef;\n\n\tdisplayName?: string;\n\n\tparameters: CustomParameterEntry[];\n\n\ttoolVersion: number;\n}\n\nexport class ContextExternalTool extends BaseDO implements ToolVersion {\n\tschoolToolRef: SchoolExternalToolRefDO;\n\n\tcontextRef: ContextRef;\n\n\tdisplayName?: string;\n\n\tparameters: CustomParameterEntry[];\n\n\ttoolVersion: number;\n\n\tconstructor(props: ContextExternalToolProps) {\n\t\tsuper(props.id);\n\t\tthis.schoolToolRef = props.schoolToolRef;\n\t\tthis.contextRef = props.contextRef;\n\t\tthis.displayName = props.displayName;\n\t\tthis.parameters = props.parameters;\n\t\tthis.toolVersion = props.toolVersion;\n\t}\n\n\tgetVersion(): number {\n\t\treturn this.toolVersion;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ContextExternalToolAuthorizableService.html":{"url":"injectables/ContextExternalToolAuthorizableService.html","title":"injectable - ContextExternalToolAuthorizableService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ContextExternalToolAuthorizableService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/service/context-external-tool-authorizable.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findById\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(contextExternalToolRepo: ContextExternalToolRepo)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool-authorizable.service.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalToolRepo\n \n \n ContextExternalToolRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool-authorizable.service.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationLoaderService } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ContextExternalToolRepo } from '@shared/repo';\nimport { ContextExternalTool } from '../domain';\n\n@Injectable()\nexport class ContextExternalToolAuthorizableService implements AuthorizationLoaderService {\n\tconstructor(private readonly contextExternalToolRepo: ContextExternalToolRepo) {}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst contextExternalTool: ContextExternalTool = await this.contextExternalToolRepo.findById(id);\n\n\t\treturn contextExternalTool;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolConfigurationStatus.html":{"url":"classes/ContextExternalToolConfigurationStatus.html","title":"class - ContextExternalToolConfigurationStatus","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolConfigurationStatus\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/domain/context-external-tool-configuration-status.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n isOutdatedOnScopeContext\n \n \n isOutdatedOnScopeSchool\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ContextExternalToolConfigurationStatus)\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/context-external-tool-configuration-status.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ContextExternalToolConfigurationStatus\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n isOutdatedOnScopeContext\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/context-external-tool-configuration-status.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n isOutdatedOnScopeSchool\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/context-external-tool-configuration-status.ts:2\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class ContextExternalToolConfigurationStatus {\n\tisOutdatedOnScopeSchool: boolean;\n\n\tisOutdatedOnScopeContext: boolean;\n\n\tconstructor(props: ContextExternalToolConfigurationStatus) {\n\t\tthis.isOutdatedOnScopeSchool = props.isOutdatedOnScopeSchool;\n\t\tthis.isOutdatedOnScopeContext = props.isOutdatedOnScopeContext;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolConfigurationStatusResponse.html":{"url":"classes/ContextExternalToolConfigurationStatusResponse.html","title":"class - ContextExternalToolConfigurationStatusResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolConfigurationStatusResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/controller/dto/context-external-tool-configuration-status.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n isOutdatedOnScopeContext\n \n \n \n isOutdatedOnScopeSchool\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ContextExternalToolConfigurationStatusResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/common/controller/dto/context-external-tool-configuration-status.response.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ContextExternalToolConfigurationStatusResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n isOutdatedOnScopeContext\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: Boolean, description: 'Is the tool outdated on context scope, because of non matching versions or required parameter changes on SchoolExternalTool?'})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/common/controller/dto/context-external-tool-configuration-status.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n isOutdatedOnScopeSchool\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: Boolean, description: 'Is the tool outdated on school scope, because of non matching versions or required parameter changes on ExternalTool?'})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/common/controller/dto/context-external-tool-configuration-status.response.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class ContextExternalToolConfigurationStatusResponse {\n\t@ApiProperty({\n\t\ttype: Boolean,\n\t\tdescription:\n\t\t\t'Is the tool outdated on school scope, because of non matching versions or required parameter changes on ExternalTool?',\n\t})\n\tisOutdatedOnScopeSchool: boolean;\n\n\t@ApiProperty({\n\t\ttype: Boolean,\n\t\tdescription:\n\t\t\t'Is the tool outdated on context scope, because of non matching versions or required parameter changes on SchoolExternalTool?',\n\t})\n\tisOutdatedOnScopeContext: boolean;\n\n\tconstructor(props: ContextExternalToolConfigurationStatusResponse) {\n\t\tthis.isOutdatedOnScopeSchool = props.isOutdatedOnScopeSchool;\n\t\tthis.isOutdatedOnScopeContext = props.isOutdatedOnScopeContext;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{"url":"classes/ContextExternalToolConfigurationTemplateListResponse.html","title":"class - ContextExternalToolConfigurationTemplateListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolConfigurationTemplateListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/context-external-tool-configuration-template-list.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: ContextExternalToolConfigurationTemplateResponse[])\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/context-external-tool-configuration-template-list.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n ContextExternalToolConfigurationTemplateResponse[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : ContextExternalToolConfigurationTemplateResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/context-external-tool-configuration-template-list.response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContextExternalToolConfigurationTemplateResponse } from './context-external-tool-configuration-template.response';\n\nexport class ContextExternalToolConfigurationTemplateListResponse {\n\t@ApiProperty({ type: [ContextExternalToolConfigurationTemplateResponse] })\n\tdata: ContextExternalToolConfigurationTemplateResponse[];\n\n\tconstructor(data: ContextExternalToolConfigurationTemplateResponse[]) {\n\t\tthis.data = data;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolConfigurationTemplateResponse.html":{"url":"classes/ContextExternalToolConfigurationTemplateResponse.html","title":"class - ContextExternalToolConfigurationTemplateResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolConfigurationTemplateResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/context-external-tool-configuration-template.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n externalToolId\n \n \n \n Optional\n logoUrl\n \n \n \n name\n \n \n \n parameters\n \n \n \n schoolExternalToolId\n \n \n \n version\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(configuration: ContextExternalToolConfigurationTemplateResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/context-external-tool-configuration-template.response.ts:22\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n configuration\n \n \n ContextExternalToolConfigurationTemplateResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n externalToolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/context-external-tool-configuration-template.response.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/context-external-tool-configuration-template.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/context-external-tool-configuration-template.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n Type : CustomParameterResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/context-external-tool-configuration-template.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n schoolExternalToolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/context-external-tool-configuration-template.response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n version\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/context-external-tool-configuration-template.response.ts:22\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { EntityId } from '@shared/domain/types';\nimport { CustomParameterResponse } from './custom-parameter.response';\n\nexport class ContextExternalToolConfigurationTemplateResponse {\n\t@ApiProperty()\n\texternalToolId: EntityId;\n\n\t@ApiProperty()\n\tschoolExternalToolId: EntityId;\n\n\t@ApiProperty()\n\tname: string;\n\n\t@ApiPropertyOptional()\n\tlogoUrl?: string;\n\n\t@ApiProperty({ type: [CustomParameterResponse] })\n\tparameters: CustomParameterResponse[];\n\n\t@ApiProperty()\n\tversion: number;\n\n\tconstructor(configuration: ContextExternalToolConfigurationTemplateResponse) {\n\t\tthis.externalToolId = configuration.externalToolId;\n\t\tthis.schoolExternalToolId = configuration.schoolExternalToolId;\n\t\tthis.name = configuration.name;\n\t\tthis.logoUrl = configuration.logoUrl;\n\t\tthis.parameters = configuration.parameters;\n\t\tthis.version = configuration.version;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolContextParams.html":{"url":"classes/ContextExternalToolContextParams.html","title":"class - ContextExternalToolContextParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolContextParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-context.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextId\n \n \n \n \n contextType\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contextId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({nullable: false, required: true, example: '0000dcfbfb5c7a3f00bf21ab'})@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-context.params.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n contextType\n \n \n \n \n \n \n Type : ToolContextType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ToolContextType)@ApiProperty({enum: ToolContextType, enumName: 'ToolContextType', nullable: false, required: true, example: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-context.params.ts:18\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsEnum, IsMongoId } from 'class-validator';\nimport { ToolContextType } from '../../../common/enum';\n\nexport class ContextExternalToolContextParams {\n\t@ApiProperty({ nullable: false, required: true, example: '0000dcfbfb5c7a3f00bf21ab' })\n\t@IsMongoId()\n\tcontextId!: string;\n\n\t@IsEnum(ToolContextType)\n\t@ApiProperty({\n\t\tenum: ToolContextType,\n\t\tenumName: 'ToolContextType',\n\t\tnullable: false,\n\t\trequired: true,\n\t\texample: ToolContextType.COURSE,\n\t})\n\tcontextType!: ToolContextType;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolCountPerContextResponse.html":{"url":"classes/ContextExternalToolCountPerContextResponse.html","title":"class - ContextExternalToolCountPerContextResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolCountPerContextResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/controller/dto/context-external-tool-count-per-context.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n boardElement\n \n \n \n course\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ContextExternalToolCountPerContextResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/common/controller/dto/context-external-tool-count-per-context.response.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ContextExternalToolCountPerContextResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n boardElement\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/common/controller/dto/context-external-tool-count-per-context.response.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n course\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/common/controller/dto/context-external-tool-count-per-context.response.ts:5\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class ContextExternalToolCountPerContextResponse {\n\t@ApiProperty()\n\tcourse: number;\n\n\t@ApiProperty()\n\tboardElement: number;\n\n\tconstructor(props: ContextExternalToolCountPerContextResponse) {\n\t\tthis.course = props.course;\n\t\tthis.boardElement = props.boardElement;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/ContextExternalToolEntity.html":{"url":"entities/ContextExternalToolEntity.html","title":"entity - ContextExternalToolEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n ContextExternalToolEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/entity/context-external-tool.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contextId\n \n \n \n contextType\n \n \n \n Optional\n displayName\n \n \n \n parameters\n \n \n \n schoolTool\n \n \n \n toolVersion\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/entity/context-external-tool.entity.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n contextType\n \n \n \n \n \n \n Type : ContextExternalToolType\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/entity/context-external-tool.entity.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/entity/context-external-tool.entity.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n Type : CustomParameterEntryEntity[]\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {array: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/entity/context-external-tool.entity.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n schoolTool\n \n \n \n \n \n \n Type : SchoolExternalToolEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/entity/context-external-tool.entity.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n toolVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/entity/context-external-tool.entity.ts:39\n \n \n\n\n \n \n\n \n\n\n \n import { Embedded, Entity, ManyToOne, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { CustomParameterEntryEntity } from '../../common/entity';\nimport { SchoolExternalToolEntity } from '../../school-external-tool/entity';\nimport { ContextExternalToolType } from './context-external-tool-type.enum';\n\nexport interface ContextExternalToolProperties {\n\tschoolTool: SchoolExternalToolEntity;\n\n\tcontextId: string;\n\n\tcontextType: ContextExternalToolType;\n\n\tdisplayName?: string;\n\n\tparameters?: CustomParameterEntryEntity[];\n\n\ttoolVersion: number;\n}\n\n@Entity({ tableName: 'context-external-tools' })\nexport class ContextExternalToolEntity extends BaseEntityWithTimestamps {\n\t@ManyToOne()\n\tschoolTool: SchoolExternalToolEntity;\n\n\t@Property()\n\tcontextId: string;\n\n\t@Property()\n\tcontextType: ContextExternalToolType;\n\n\t@Property({ nullable: true })\n\tdisplayName?: string;\n\n\t@Embedded(() => CustomParameterEntryEntity, { array: true })\n\tparameters: CustomParameterEntryEntity[];\n\n\t@Property()\n\ttoolVersion: number;\n\n\tconstructor(props: ContextExternalToolProperties) {\n\t\tsuper();\n\t\tthis.schoolTool = props.schoolTool;\n\t\tthis.contextId = props.contextId;\n\t\tthis.contextType = props.contextType;\n\t\tthis.displayName = props.displayName;\n\t\tthis.parameters = props.parameters ?? [];\n\t\tthis.toolVersion = props.toolVersion;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolFactory.html":{"url":"classes/ContextExternalToolFactory.html","title":"class - ContextExternalToolFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/domainobject/tool/context-external-tool.factory.ts\n \n\n\n\n \n Extends\n \n \n DoBaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withSchoolExternalToolRef\n \n \n \n buildWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withSchoolExternalToolRef\n \n \n \n \n \n \nwithSchoolExternalToolRef(schoolToolId: string, schoolId?: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/domainobject/tool/context-external-tool.factory.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolToolId\n \n string\n \n\n \n No\n \n\n\n \n \n schoolId\n \n string | undefined\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \n \n buildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { CustomParameterEntry } from '@modules/tool/common/domain';\nimport { ToolContextType } from '@modules/tool/common/enum';\nimport { ContextExternalTool, ContextExternalToolProps } from '@modules/tool/context-external-tool/domain';\nimport { DeepPartial } from 'fishery';\nimport { DoBaseFactory } from '../do-base.factory';\n\nclass ContextExternalToolFactory extends DoBaseFactory {\n\twithSchoolExternalToolRef(schoolToolId: string, schoolId?: string | undefined): this {\n\t\tconst params: DeepPartial = {\n\t\t\tschoolToolRef: { schoolToolId, schoolId },\n\t\t};\n\t\treturn this.params(params);\n\t}\n}\n\nexport const contextExternalToolFactory = ContextExternalToolFactory.define(ContextExternalTool, ({ sequence }) => {\n\treturn {\n\t\tschoolToolRef: { schoolToolId: `schoolToolId-${sequence}`, schoolId: 'schoolId' },\n\t\tcontextRef: { id: new ObjectId().toHexString(), type: ToolContextType.COURSE },\n\t\tdisplayName: 'My Course Tool 1',\n\t\tparameters: [new CustomParameterEntry({ name: 'param', value: 'value' })],\n\t\ttoolVersion: 1,\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolIdParams.html":{"url":"classes/ContextExternalToolIdParams.html","title":"class - ContextExternalToolIdParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolIdParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-id.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextExternalToolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contextExternalToolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({nullable: false, required: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-id.params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsMongoId } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\n\nexport class ContextExternalToolIdParams {\n\t@IsMongoId()\n\t@ApiProperty({ nullable: false, required: true })\n\tcontextExternalToolId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolIdParams-1.html":{"url":"classes/ContextExternalToolIdParams-1.html","title":"class - ContextExternalToolIdParams-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolIdParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/context-external-tool-id.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextExternalToolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contextExternalToolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/context-external-tool-id.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { EntityId } from '@shared/domain/types';\nimport { IsMongoId } from 'class-validator';\n\nexport class ContextExternalToolIdParams {\n\t@IsMongoId()\n\t@ApiProperty()\n\tcontextExternalToolId!: EntityId;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ContextExternalToolModule.html":{"url":"modules/ContextExternalToolModule.html","title":"module - ContextExternalToolModule","body":"\n \n\n\n\n\n Modules\n ContextExternalToolModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ContextExternalToolModule\n\n\n\ncluster_ContextExternalToolModule_providers\n\n\n\ncluster_ContextExternalToolModule_imports\n\n\n\ncluster_ContextExternalToolModule_exports\n\n\n\n\nCommonToolModule\n\nCommonToolModule\n\n\n\nContextExternalToolModule\n\nContextExternalToolModule\n\nContextExternalToolModule -->\n\nCommonToolModule->ContextExternalToolModule\n\n\n\n\n\nExternalToolModule\n\nExternalToolModule\n\nContextExternalToolModule -->\n\nExternalToolModule->ContextExternalToolModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nContextExternalToolModule -->\n\nLoggerModule->ContextExternalToolModule\n\n\n\n\n\nSchoolExternalToolModule\n\nSchoolExternalToolModule\n\nContextExternalToolModule -->\n\nSchoolExternalToolModule->ContextExternalToolModule\n\n\n\n\n\nToolConfigModule\n\nToolConfigModule\n\nContextExternalToolModule -->\n\nToolConfigModule->ContextExternalToolModule\n\n\n\n\n\nContextExternalToolAuthorizableService \n\nContextExternalToolAuthorizableService \n\nContextExternalToolAuthorizableService -->\n\nContextExternalToolModule->ContextExternalToolAuthorizableService \n\n\n\n\n\nContextExternalToolService \n\nContextExternalToolService \n\nContextExternalToolService -->\n\nContextExternalToolModule->ContextExternalToolService \n\n\n\n\n\nContextExternalToolValidationService \n\nContextExternalToolValidationService \n\nContextExternalToolValidationService -->\n\nContextExternalToolModule->ContextExternalToolValidationService \n\n\n\n\n\nToolReferenceService \n\nToolReferenceService \n\nToolReferenceService -->\n\nContextExternalToolModule->ToolReferenceService \n\n\n\n\n\nToolVersionService \n\nToolVersionService \n\nToolVersionService -->\n\nContextExternalToolModule->ToolVersionService \n\n\n\n\n\nContextExternalToolAuthorizableService\n\nContextExternalToolAuthorizableService\n\nContextExternalToolModule -->\n\nContextExternalToolAuthorizableService->ContextExternalToolModule\n\n\n\n\n\nContextExternalToolService\n\nContextExternalToolService\n\nContextExternalToolModule -->\n\nContextExternalToolService->ContextExternalToolModule\n\n\n\n\n\nContextExternalToolValidationService\n\nContextExternalToolValidationService\n\nContextExternalToolModule -->\n\nContextExternalToolValidationService->ContextExternalToolModule\n\n\n\n\n\nToolReferenceService\n\nToolReferenceService\n\nContextExternalToolModule -->\n\nToolReferenceService->ContextExternalToolModule\n\n\n\n\n\nToolVersionService\n\nToolVersionService\n\nContextExternalToolModule -->\n\nToolVersionService->ContextExternalToolModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/context-external-tool.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ContextExternalToolAuthorizableService\n \n \n ContextExternalToolService\n \n \n ContextExternalToolValidationService\n \n \n ToolReferenceService\n \n \n ToolVersionService\n \n \n \n \n Imports\n \n \n CommonToolModule\n \n \n ExternalToolModule\n \n \n LoggerModule\n \n \n SchoolExternalToolModule\n \n \n ToolConfigModule\n \n \n \n \n Exports\n \n \n ContextExternalToolAuthorizableService\n \n \n ContextExternalToolService\n \n \n ContextExternalToolValidationService\n \n \n ToolReferenceService\n \n \n ToolVersionService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { CommonToolModule } from '../common';\nimport { ExternalToolModule } from '../external-tool';\nimport { SchoolExternalToolModule } from '../school-external-tool';\nimport { ContextExternalToolAuthorizableService, ContextExternalToolService, ToolReferenceService } from './service';\nimport { ContextExternalToolValidationService } from './service/context-external-tool-validation.service';\nimport { ToolConfigModule } from '../tool-config.module';\nimport { ToolVersionService } from './service/tool-version-service';\n\n@Module({\n\timports: [CommonToolModule, ExternalToolModule, SchoolExternalToolModule, LoggerModule, ToolConfigModule],\n\tproviders: [\n\t\tContextExternalToolService,\n\t\tContextExternalToolValidationService,\n\t\tContextExternalToolAuthorizableService,\n\t\tToolReferenceService,\n\t\tToolVersionService,\n\t],\n\texports: [\n\t\tContextExternalToolService,\n\t\tContextExternalToolValidationService,\n\t\tContextExternalToolAuthorizableService,\n\t\tToolReferenceService,\n\t\tToolVersionService,\n\t],\n})\nexport class ContextExternalToolModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolPostParams.html":{"url":"classes/ContextExternalToolPostParams.html","title":"class - ContextExternalToolPostParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolPostParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-post.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextId\n \n \n \n \n contextType\n \n \n \n \n \n Optional\n displayName\n \n \n \n \n \n \n \n Optional\n parameters\n \n \n \n \n schoolToolId\n \n \n \n \n toolVersion\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contextId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-post.params.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n contextType\n \n \n \n \n \n \n Type : ToolContextType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ToolContextType)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-post.params.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-post.params.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n parameters\n \n \n \n \n \n \n Type : CustomParameterEntryParam[]\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested({each: true})@IsArray()@IsOptional()@ApiPropertyOptional({type: undefined})@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-post.params.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n schoolToolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-post.params.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n toolVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsNumber()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-post.params.ts:34\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { Type } from 'class-transformer';\nimport { IsArray, IsEnum, IsMongoId, IsNumber, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { CustomParameterEntryParam } from '../../../school-external-tool/controller/dto';\nimport { ToolContextType } from '../../../common/enum';\n\nexport class ContextExternalToolPostParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolToolId!: string;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontextId!: string;\n\n\t@IsEnum(ToolContextType)\n\t@ApiProperty()\n\tcontextType!: ToolContextType;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tdisplayName?: string;\n\n\t@ValidateNested({ each: true })\n\t@IsArray()\n\t@IsOptional()\n\t@ApiPropertyOptional({ type: [CustomParameterEntryParam] })\n\t@Type(() => CustomParameterEntryParam)\n\tparameters?: CustomParameterEntryParam[];\n\n\t@ApiProperty()\n\t@IsNumber()\n\ttoolVersion!: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ContextExternalToolProperties.html":{"url":"interfaces/ContextExternalToolProperties.html","title":"interface - ContextExternalToolProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ContextExternalToolProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/entity/context-external-tool.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contextId\n \n \n \n \n contextType\n \n \n \n Optional\n \n displayName\n \n \n \n Optional\n \n parameters\n \n \n \n \n schoolTool\n \n \n \n \n toolVersion\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contextId\n \n \n \n \n \n \n \n \n contextId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n contextType\n \n \n \n \n \n \n \n \n contextType: ContextExternalToolType\n\n \n \n\n\n \n \n Type : ContextExternalToolType\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n displayName\n \n \n \n \n \n \n \n \n displayName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n \n \n parameters: CustomParameterEntryEntity[]\n\n \n \n\n\n \n \n Type : CustomParameterEntryEntity[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n schoolTool\n \n \n \n \n \n \n \n \n schoolTool: SchoolExternalToolEntity\n\n \n \n\n\n \n \n Type : SchoolExternalToolEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n toolVersion\n \n \n \n \n \n \n \n \n toolVersion: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Embedded, Entity, ManyToOne, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { CustomParameterEntryEntity } from '../../common/entity';\nimport { SchoolExternalToolEntity } from '../../school-external-tool/entity';\nimport { ContextExternalToolType } from './context-external-tool-type.enum';\n\nexport interface ContextExternalToolProperties {\n\tschoolTool: SchoolExternalToolEntity;\n\n\tcontextId: string;\n\n\tcontextType: ContextExternalToolType;\n\n\tdisplayName?: string;\n\n\tparameters?: CustomParameterEntryEntity[];\n\n\ttoolVersion: number;\n}\n\n@Entity({ tableName: 'context-external-tools' })\nexport class ContextExternalToolEntity extends BaseEntityWithTimestamps {\n\t@ManyToOne()\n\tschoolTool: SchoolExternalToolEntity;\n\n\t@Property()\n\tcontextId: string;\n\n\t@Property()\n\tcontextType: ContextExternalToolType;\n\n\t@Property({ nullable: true })\n\tdisplayName?: string;\n\n\t@Embedded(() => CustomParameterEntryEntity, { array: true })\n\tparameters: CustomParameterEntryEntity[];\n\n\t@Property()\n\ttoolVersion: number;\n\n\tconstructor(props: ContextExternalToolProperties) {\n\t\tsuper();\n\t\tthis.schoolTool = props.schoolTool;\n\t\tthis.contextId = props.contextId;\n\t\tthis.contextType = props.contextType;\n\t\tthis.displayName = props.displayName;\n\t\tthis.parameters = props.parameters ?? [];\n\t\tthis.toolVersion = props.toolVersion;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ContextExternalToolProps.html":{"url":"interfaces/ContextExternalToolProps.html","title":"interface - ContextExternalToolProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ContextExternalToolProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/domain/context-external-tool.do.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contextRef\n \n \n \n Optional\n \n displayName\n \n \n \n Optional\n \n id\n \n \n \n \n parameters\n \n \n \n \n schoolToolRef\n \n \n \n \n toolVersion\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contextRef\n \n \n \n \n \n \n \n \n contextRef: ContextRef\n\n \n \n\n\n \n \n Type : ContextRef\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n displayName\n \n \n \n \n \n \n \n \n displayName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n \n \n parameters: CustomParameterEntry[]\n\n \n \n\n\n \n \n Type : CustomParameterEntry[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolToolRef\n \n \n \n \n \n \n \n \n schoolToolRef: SchoolExternalToolRefDO\n\n \n \n\n\n \n \n Type : SchoolExternalToolRefDO\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n toolVersion\n \n \n \n \n \n \n \n \n toolVersion: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BaseDO } from '@shared/domain/domainobject/base.do';\nimport { CustomParameterEntry } from '../../common/domain';\nimport { ToolVersion } from '../../common/interface';\nimport { SchoolExternalToolRefDO } from '../../school-external-tool/domain';\nimport { ContextRef } from './context-ref';\n\nexport interface ContextExternalToolProps {\n\tid?: string;\n\n\tschoolToolRef: SchoolExternalToolRefDO;\n\n\tcontextRef: ContextRef;\n\n\tdisplayName?: string;\n\n\tparameters: CustomParameterEntry[];\n\n\ttoolVersion: number;\n}\n\nexport class ContextExternalTool extends BaseDO implements ToolVersion {\n\tschoolToolRef: SchoolExternalToolRefDO;\n\n\tcontextRef: ContextRef;\n\n\tdisplayName?: string;\n\n\tparameters: CustomParameterEntry[];\n\n\ttoolVersion: number;\n\n\tconstructor(props: ContextExternalToolProps) {\n\t\tsuper(props.id);\n\t\tthis.schoolToolRef = props.schoolToolRef;\n\t\tthis.contextRef = props.contextRef;\n\t\tthis.displayName = props.displayName;\n\t\tthis.parameters = props.parameters;\n\t\tthis.toolVersion = props.toolVersion;\n\t}\n\n\tgetVersion(): number {\n\t\treturn this.toolVersion;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolRequestMapper.html":{"url":"classes/ContextExternalToolRequestMapper.html","title":"class - ContextExternalToolRequestMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolRequestMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/mapper/context-external-tool-request.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapContextExternalToolRequest\n \n \n Private\n Static\n mapRequestToCustomParameterEntryDO\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapContextExternalToolRequest\n \n \n \n \n \n \n \n mapContextExternalToolRequest(request: ContextExternalToolPostParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/mapper/context-external-tool-request.mapper.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n request\n \n ContextExternalToolPostParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolDto\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n mapRequestToCustomParameterEntryDO\n \n \n \n \n \n \n \n mapRequestToCustomParameterEntryDO(customParameterParams: CustomParameterEntryParam[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/mapper/context-external-tool-request.mapper.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameterParams\n \n CustomParameterEntryParam[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CustomParameterEntry[]\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CustomParameterEntry } from '../../common/domain';\nimport { CustomParameterEntryParam } from '../../school-external-tool/controller/dto';\nimport { ContextExternalToolPostParams } from '../controller/dto';\nimport { ContextExternalToolDto } from '../uc/dto/context-external-tool.types';\n\nexport class ContextExternalToolRequestMapper {\n\tstatic mapContextExternalToolRequest(request: ContextExternalToolPostParams): ContextExternalToolDto {\n\t\treturn {\n\t\t\tschoolToolRef: {\n\t\t\t\tschoolToolId: request.schoolToolId,\n\t\t\t},\n\t\t\tcontextRef: {\n\t\t\t\tid: request.contextId,\n\t\t\t\ttype: request.contextType,\n\t\t\t},\n\t\t\tdisplayName: request.displayName,\n\t\t\ttoolVersion: request.toolVersion,\n\t\t\tparameters: this.mapRequestToCustomParameterEntryDO(request.parameters ?? []),\n\t\t};\n\t}\n\n\tprivate static mapRequestToCustomParameterEntryDO(\n\t\tcustomParameterParams: CustomParameterEntryParam[]\n\t): CustomParameterEntry[] {\n\t\treturn customParameterParams.map((customParameterParam: CustomParameterEntryParam) => {\n\t\t\treturn {\n\t\t\t\tname: customParameterParam.name,\n\t\t\t\tvalue: customParameterParam.value || undefined,\n\t\t\t};\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolResponse.html":{"url":"classes/ContextExternalToolResponse.html","title":"class - ContextExternalToolResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contextId\n \n \n \n contextType\n \n \n \n Optional\n displayName\n \n \n \n id\n \n \n \n Optional\n logoUrl\n \n \n \n parameters\n \n \n \n schoolToolId\n \n \n \n toolVersion\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(response: ContextExternalToolResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool.response.ts:28\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n \n ContextExternalToolResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n contextType\n \n \n \n \n \n \n Type : ToolContextType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ToolContextType})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool.response.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool.response.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n Type : CustomParameterEntryResponse[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n schoolToolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool.response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n toolVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool.response.ts:25\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { CustomParameterEntryResponse } from '../../../school-external-tool/controller/dto';\nimport { ToolContextType } from '../../../common/enum';\n\nexport class ContextExternalToolResponse {\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\tschoolToolId: string;\n\n\t@ApiProperty()\n\tcontextId: string;\n\n\t@ApiProperty({ enum: ToolContextType })\n\tcontextType: ToolContextType;\n\n\t@ApiPropertyOptional()\n\tdisplayName?: string;\n\n\t@ApiProperty({ type: [CustomParameterEntryResponse] })\n\tparameters: CustomParameterEntryResponse[] = [];\n\n\t@ApiProperty()\n\ttoolVersion: number;\n\n\t@ApiPropertyOptional()\n\tlogoUrl?: string;\n\n\tconstructor(response: ContextExternalToolResponse) {\n\t\tthis.id = response.id;\n\t\tthis.schoolToolId = response.schoolToolId;\n\t\tthis.contextId = response.contextId;\n\t\tthis.contextType = response.contextType;\n\t\tthis.displayName = response.displayName;\n\t\tthis.parameters = response.parameters;\n\t\tthis.toolVersion = response.toolVersion;\n\t\tthis.logoUrl = response.logoUrl;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolResponseMapper.html":{"url":"classes/ContextExternalToolResponseMapper.html","title":"class - ContextExternalToolResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/mapper/context-external-tool-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapContextExternalToolResponse\n \n \n Private\n Static\n mapRequestToCustomParameterEntryDO\n \n \n Static\n mapToToolReferenceResponse\n \n \n Static\n mapToToolReferenceResponses\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapContextExternalToolResponse\n \n \n \n \n \n \n \n mapContextExternalToolResponse(contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/mapper/context-external-tool-response.mapper.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n mapRequestToCustomParameterEntryDO\n \n \n \n \n \n \n \n mapRequestToCustomParameterEntryDO(customParameterParams: CustomParameterEntryParam[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/mapper/context-external-tool-response.mapper.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameterParams\n \n CustomParameterEntryParam[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CustomParameterEntryResponse[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToToolReferenceResponse\n \n \n \n \n \n \n \n mapToToolReferenceResponse(toolReference: ToolReference)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/mapper/context-external-tool-response.mapper.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolReference\n \n ToolReference\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolReferenceResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToToolReferenceResponses\n \n \n \n \n \n \n \n mapToToolReferenceResponses(toolReferences: ToolReference[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/mapper/context-external-tool-response.mapper.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolReferences\n \n ToolReference[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolReferenceResponse[]\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ToolStatusResponseMapper } from '../../common/mapper/tool-status-response.mapper';\nimport { CustomParameterEntryParam, CustomParameterEntryResponse } from '../../school-external-tool/controller/dto';\nimport { ContextExternalToolResponse, ToolReferenceResponse } from '../controller/dto';\nimport { ContextExternalTool, ToolReference } from '../domain';\n\nexport class ContextExternalToolResponseMapper {\n\tstatic mapContextExternalToolResponse(contextExternalTool: ContextExternalTool): ContextExternalToolResponse {\n\t\tconst mapped: ContextExternalToolResponse = new ContextExternalToolResponse({\n\t\t\tid: contextExternalTool.id ?? '',\n\t\t\tcontextId: contextExternalTool.contextRef.id,\n\t\t\tcontextType: contextExternalTool.contextRef.type,\n\t\t\tschoolToolId: contextExternalTool.schoolToolRef.schoolToolId,\n\t\t\tdisplayName: contextExternalTool.displayName,\n\t\t\ttoolVersion: contextExternalTool.toolVersion,\n\t\t\tparameters: this.mapRequestToCustomParameterEntryDO(contextExternalTool.parameters),\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tprivate static mapRequestToCustomParameterEntryDO(\n\t\tcustomParameterParams: CustomParameterEntryParam[]\n\t): CustomParameterEntryResponse[] {\n\t\tconst mapped: CustomParameterEntryResponse[] = customParameterParams.map(\n\t\t\t(customParameterParam: CustomParameterEntryParam) => {\n\t\t\t\tconst customParameterEntryResponse: CustomParameterEntryResponse = new CustomParameterEntryResponse({\n\t\t\t\t\tname: customParameterParam.name,\n\t\t\t\t\tvalue: customParameterParam.value,\n\t\t\t\t});\n\n\t\t\t\treturn customParameterEntryResponse;\n\t\t\t}\n\t\t);\n\n\t\treturn mapped;\n\t}\n\n\tstatic mapToToolReferenceResponses(toolReferences: ToolReference[]): ToolReferenceResponse[] {\n\t\tconst toolReferenceResponses: ToolReferenceResponse[] = toolReferences.map((toolReference: ToolReference) =>\n\t\t\tthis.mapToToolReferenceResponse(toolReference)\n\t\t);\n\n\t\treturn toolReferenceResponses;\n\t}\n\n\tstatic mapToToolReferenceResponse(toolReference: ToolReference): ToolReferenceResponse {\n\t\tconst response = new ToolReferenceResponse({\n\t\t\tcontextToolId: toolReference.contextToolId,\n\t\t\tdisplayName: toolReference.displayName,\n\t\t\tlogoUrl: toolReference.logoUrl,\n\t\t\topenInNewTab: toolReference.openInNewTab,\n\t\t\tstatus: ToolStatusResponseMapper.mapToResponse(toolReference.status),\n\t\t});\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ContextExternalToolRule.html":{"url":"injectables/ContextExternalToolRule.html","title":"injectable - ContextExternalToolRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ContextExternalToolRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/context-external-tool.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/context-external-tool.rule.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, entity: ContextExternalToolEntity | ContextExternalTool, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/context-external-tool.rule.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n ContextExternalToolEntity | ContextExternalTool\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, entity: ContextExternalToolEntity | ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/context-external-tool.rule.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n ContextExternalToolEntity | ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ContextExternalTool } from '@modules/tool/context-external-tool/domain';\nimport { ContextExternalToolEntity } from '@modules/tool/context-external-tool/entity';\nimport { User } from '@shared/domain/entity';\nimport { AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\n\n@Injectable()\nexport class ContextExternalToolRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper) {}\n\n\tpublic isApplicable(user: User, entity: ContextExternalToolEntity | ContextExternalTool): boolean {\n\t\tconst isMatched: boolean = entity instanceof ContextExternalToolEntity || entity instanceof ContextExternalTool;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(\n\t\tuser: User,\n\t\tentity: ContextExternalToolEntity | ContextExternalTool,\n\t\tcontext: AuthorizationContext\n\t): boolean {\n\t\tlet hasPermission: boolean;\n\t\tif (entity instanceof ContextExternalToolEntity) {\n\t\t\thasPermission =\n\t\t\t\tthis.authorizationHelper.hasAllPermissions(user, context.requiredPermissions) &&\n\t\t\t\tuser.school.id === entity.schoolTool.school.id;\n\t\t} else {\n\t\t\thasPermission =\n\t\t\t\tthis.authorizationHelper.hasAllPermissions(user, context.requiredPermissions) &&\n\t\t\t\tuser.school.id === entity.schoolToolRef.schoolId;\n\t\t}\n\t\treturn hasPermission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolScope.html":{"url":"classes/ContextExternalToolScope.html","title":"class - ContextExternalToolScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/contextexternaltool/context-external-tool.scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n byContextId\n \n \n byContextType\n \n \n byId\n \n \n bySchoolToolId\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n byContextId\n \n \n \n \n \n \nbyContextId(contextId: EntityId | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/contextexternaltool/context-external-tool.scope.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextId\n \n EntityId | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byContextType\n \n \n \n \n \n \nbyContextType(contextType: ToolContextType | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/contextexternaltool/context-external-tool.scope.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextType\n \n ToolContextType | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byId\n \n \n \n \n \n \nbyId(id: EntityId | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/contextexternaltool/context-external-tool.scope.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n bySchoolToolId\n \n \n \n \n \n \nbySchoolToolId(schoolToolId: EntityId | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/contextexternaltool/context-external-tool.scope.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolToolId\n \n EntityId | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ToolContextType } from '@modules/tool/common/enum';\nimport { ContextExternalToolEntity } from '@modules/tool/context-external-tool/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { Scope } from '@shared/repo';\n\nexport class ContextExternalToolScope extends Scope {\n\tbyId(id: EntityId | undefined): ContextExternalToolScope {\n\t\tif (id !== undefined) {\n\t\t\tthis.addQuery({ id });\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tbySchoolToolId(schoolToolId: EntityId | undefined): ContextExternalToolScope {\n\t\tif (schoolToolId !== undefined) {\n\t\t\tthis.addQuery({ schoolTool: schoolToolId });\n\t\t}\n\t\treturn this;\n\t}\n\n\tbyContextId(contextId: EntityId | undefined): ContextExternalToolScope {\n\t\tif (contextId !== undefined) {\n\t\t\tthis.addQuery({ contextId });\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tbyContextType(contextType: ToolContextType | undefined): ContextExternalToolScope {\n\t\tif (contextType !== undefined) {\n\t\t\tthis.addQuery({ contextType });\n\t\t}\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolSearchListResponse.html":{"url":"classes/ContextExternalToolSearchListResponse.html","title":"class - ContextExternalToolSearchListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolSearchListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-search-list.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: ContextExternalToolResponse[])\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-search-list.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n ContextExternalToolResponse[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : ContextExternalToolResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-search-list.response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContextExternalToolResponse } from './context-external-tool.response';\n\nexport class ContextExternalToolSearchListResponse {\n\t@ApiProperty({ type: [ContextExternalToolResponse] })\n\tdata: ContextExternalToolResponse[];\n\n\tconstructor(data: ContextExternalToolResponse[]) {\n\t\tthis.data = data;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ContextExternalToolService.html":{"url":"injectables/ContextExternalToolService.html","title":"injectable - ContextExternalToolService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ContextExternalToolService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/service/context-external-tool.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n checkContextRestrictions\n \n \n Public\n Async\n deleteBySchoolExternalToolId\n \n \n Public\n Async\n deleteContextExternalTool\n \n \n Public\n Async\n findAllByContext\n \n \n Public\n Async\n findById\n \n \n Public\n Async\n findByIdOrFail\n \n \n Public\n Async\n findContextExternalTools\n \n \n Public\n Async\n saveContextExternalTool\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(contextExternalToolRepo: ContextExternalToolRepo, externalToolService: ExternalToolService, schoolExternalToolService: SchoolExternalToolService, commonToolService: CommonToolService)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool.service.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalToolRepo\n \n \n ContextExternalToolRepo\n \n \n \n No\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n schoolExternalToolService\n \n \n SchoolExternalToolService\n \n \n \n No\n \n \n \n \n commonToolService\n \n \n CommonToolService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n checkContextRestrictions\n \n \n \n \n \n \n \n checkContextRestrictions(contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool.service.ts:68\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n deleteBySchoolExternalToolId\n \n \n \n \n \n \n \n deleteBySchoolExternalToolId(schoolExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool.service.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n deleteContextExternalTool\n \n \n \n \n \n \n \n deleteContextExternalTool(contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool.service.ts:56\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findAllByContext\n \n \n \n \n \n \n \n findAllByContext(contextRef: ContextRef)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool.service.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextRef\n \n ContextRef\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findById\n \n \n \n \n \n \n \n findById(contextExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool.service.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findByIdOrFail\n \n \n \n \n \n \n \n findByIdOrFail(contextExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool.service.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findContextExternalTools\n \n \n \n \n \n \n \n findContextExternalTools(query: ContextExternalToolQuery)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool.service.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n ContextExternalToolQuery\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n saveContextExternalTool\n \n \n \n \n \n \n \n saveContextExternalTool(contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool.service.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ContextExternalToolRepo } from '@shared/repo';\nimport { ContextExternalTool, ContextRef } from '../domain';\nimport { ContextExternalToolQuery } from '../uc/dto/context-external-tool.types';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { ExternalTool } from '../../external-tool/domain';\nimport { ExternalToolService } from '../../external-tool/service';\nimport { SchoolExternalToolService } from '../../school-external-tool/service';\nimport { RestrictedContextMismatchLoggable } from './restricted-context-mismatch-loggabble';\nimport { CommonToolService } from '../../common/service';\n\n@Injectable()\nexport class ContextExternalToolService {\n\tconstructor(\n\t\tprivate readonly contextExternalToolRepo: ContextExternalToolRepo,\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly commonToolService: CommonToolService\n\t) {}\n\n\tpublic async findContextExternalTools(query: ContextExternalToolQuery): Promise {\n\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolRepo.find(query);\n\n\t\treturn contextExternalTools;\n\t}\n\n\tpublic async findByIdOrFail(contextExternalToolId: EntityId): Promise {\n\t\tconst tool: ContextExternalTool = await this.contextExternalToolRepo.findById(contextExternalToolId);\n\n\t\treturn tool;\n\t}\n\n\tpublic async findById(contextExternalToolId: EntityId): Promise {\n\t\tconst tool: ContextExternalTool | null = await this.contextExternalToolRepo.findByIdOrNull(contextExternalToolId);\n\n\t\treturn tool;\n\t}\n\n\tpublic async saveContextExternalTool(contextExternalTool: ContextExternalTool): Promise {\n\t\tconst savedContextExternalTool: ContextExternalTool = await this.contextExternalToolRepo.save(contextExternalTool);\n\n\t\treturn savedContextExternalTool;\n\t}\n\n\tpublic async deleteBySchoolExternalToolId(schoolExternalToolId: EntityId) {\n\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolRepo.find({\n\t\t\tschoolToolRef: {\n\t\t\t\tschoolToolId: schoolExternalToolId,\n\t\t\t},\n\t\t});\n\n\t\tawait this.contextExternalToolRepo.delete(contextExternalTools);\n\t}\n\n\tpublic async deleteContextExternalTool(contextExternalTool: ContextExternalTool): Promise {\n\t\tawait this.contextExternalToolRepo.delete(contextExternalTool);\n\t}\n\n\tpublic async findAllByContext(contextRef: ContextRef): Promise {\n\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolRepo.find({\n\t\t\tcontext: contextRef,\n\t\t});\n\n\t\treturn contextExternalTools;\n\t}\n\n\tpublic async checkContextRestrictions(contextExternalTool: ContextExternalTool): Promise {\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(\n\t\t\tcontextExternalTool.schoolToolRef.schoolToolId\n\t\t);\n\n\t\tconst externalTool: ExternalTool = await this.externalToolService.findById(schoolExternalTool.toolId);\n\n\t\tif (this.commonToolService.isContextRestricted(externalTool, contextExternalTool.contextRef.type)) {\n\t\t\tthrow new RestrictedContextMismatchLoggable(externalTool.name, contextExternalTool.contextRef.type);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ContextExternalToolUc.html":{"url":"injectables/ContextExternalToolUc.html","title":"injectable - ContextExternalToolUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ContextExternalToolUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/uc/context-external-tool.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createContextExternalTool\n \n \n Public\n Async\n deleteContextExternalTool\n \n \n Private\n Async\n filterToolsWithPermissions\n \n \n Async\n getContextExternalTool\n \n \n Public\n Async\n getContextExternalToolsForContext\n \n \n Async\n updateContextExternalTool\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(toolPermissionHelper: ToolPermissionHelper, schoolExternalToolService: SchoolExternalToolService, contextExternalToolService: ContextExternalToolService, contextExternalToolValidationService: ContextExternalToolValidationService, authorizationService: AuthorizationService)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/context-external-tool.uc.ts:22\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolPermissionHelper\n \n \n ToolPermissionHelper\n \n \n \n No\n \n \n \n \n schoolExternalToolService\n \n \n SchoolExternalToolService\n \n \n \n No\n \n \n \n \n contextExternalToolService\n \n \n ContextExternalToolService\n \n \n \n No\n \n \n \n \n contextExternalToolValidationService\n \n \n ContextExternalToolValidationService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createContextExternalTool\n \n \n \n \n \n \n \n createContextExternalTool(userId: EntityId, schoolId: EntityId, contextExternalToolDto: ContextExternalToolDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/context-external-tool.uc.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextExternalToolDto\n \n ContextExternalToolDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n deleteContextExternalTool\n \n \n \n \n \n \n \n deleteContextExternalTool(userId: EntityId, contextExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/context-external-tool.uc.ts:97\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n filterToolsWithPermissions\n \n \n \n \n \n \n \n filterToolsWithPermissions(userId: EntityId, tools: ContextExternalTool[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/context-external-tool.uc.ts:129\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n tools\n \n ContextExternalTool[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getContextExternalTool\n \n \n \n \n \n \n \n getContextExternalTool(userId: EntityId, contextToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/context-external-tool.uc.ts:120\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getContextExternalToolsForContext\n \n \n \n \n \n \n \n getContextExternalToolsForContext(userId: EntityId, contextType: ToolContextType, contextId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/context-external-tool.uc.ts:106\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextType\n \n ToolContextType\n \n\n \n No\n \n\n\n \n \n contextId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateContextExternalTool\n \n \n \n \n \n \n \n updateContextExternalTool(userId: EntityId, schoolId: EntityId, contextExternalToolId: EntityId, contextExternalToolDto: ContextExternalToolDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/context-external-tool.uc.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextExternalToolDto\n \n ContextExternalToolDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import {\n\tAuthorizationContext,\n\tAuthorizationContextBuilder,\n\tAuthorizationService,\n\tForbiddenLoggableException,\n} from '@modules/authorization';\nimport { AuthorizableReferenceType } from '@modules/authorization/domain';\nimport { Injectable } from '@nestjs/common';\nimport { User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { ToolContextType } from '../../common/enum';\nimport { ToolPermissionHelper } from '../../common/uc/tool-permission-helper';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { SchoolExternalToolService } from '../../school-external-tool/service';\nimport { ContextExternalTool, ContextRef } from '../domain';\nimport { ContextExternalToolService } from '../service';\nimport { ContextExternalToolValidationService } from '../service/context-external-tool-validation.service';\nimport { ContextExternalToolDto } from './dto/context-external-tool.types';\n\n@Injectable()\nexport class ContextExternalToolUc {\n\tconstructor(\n\t\tprivate readonly toolPermissionHelper: ToolPermissionHelper,\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService,\n\t\tprivate readonly contextExternalToolValidationService: ContextExternalToolValidationService,\n\t\tprivate readonly authorizationService: AuthorizationService\n\t) {}\n\n\tasync createContextExternalTool(\n\t\tuserId: EntityId,\n\t\tschoolId: EntityId,\n\t\tcontextExternalToolDto: ContextExternalToolDto\n\t): Promise {\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.write([Permission.CONTEXT_TOOL_ADMIN]);\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(\n\t\t\tcontextExternalToolDto.schoolToolRef.schoolToolId\n\t\t);\n\n\t\tif (schoolExternalTool.schoolId !== schoolId) {\n\t\t\tthrow new ForbiddenLoggableException(userId, AuthorizableReferenceType.ContextExternalToolEntity, context);\n\t\t}\n\n\t\tcontextExternalToolDto.schoolToolRef.schoolId = schoolId;\n\t\tconst contextExternalTool = new ContextExternalTool(contextExternalToolDto);\n\n\t\tawait this.toolPermissionHelper.ensureContextPermissions(userId, contextExternalTool, context);\n\n\t\tawait this.contextExternalToolService.checkContextRestrictions(contextExternalTool);\n\n\t\tawait this.contextExternalToolValidationService.validate(contextExternalTool);\n\n\t\tconst createdTool: ContextExternalTool = await this.contextExternalToolService.saveContextExternalTool(\n\t\t\tcontextExternalTool\n\t\t);\n\n\t\treturn createdTool;\n\t}\n\n\tasync updateContextExternalTool(\n\t\tuserId: EntityId,\n\t\tschoolId: EntityId,\n\t\tcontextExternalToolId: EntityId,\n\t\tcontextExternalToolDto: ContextExternalToolDto\n\t): Promise {\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.write([Permission.CONTEXT_TOOL_ADMIN]);\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(\n\t\t\tcontextExternalToolDto.schoolToolRef.schoolToolId\n\t\t);\n\n\t\tif (schoolExternalTool.schoolId !== schoolId) {\n\t\t\tthrow new ForbiddenLoggableException(userId, AuthorizableReferenceType.ContextExternalToolEntity, context);\n\t\t}\n\n\t\tlet contextExternalTool: ContextExternalTool = await this.contextExternalToolService.findByIdOrFail(\n\t\t\tcontextExternalToolId\n\t\t);\n\n\t\tcontextExternalTool = new ContextExternalTool({\n\t\t\t...contextExternalToolDto,\n\t\t\tid: contextExternalTool.id,\n\t\t});\n\t\tcontextExternalTool.schoolToolRef.schoolId = schoolId;\n\n\t\tawait this.toolPermissionHelper.ensureContextPermissions(userId, contextExternalTool, context);\n\n\t\tawait this.contextExternalToolValidationService.validate(contextExternalTool);\n\n\t\tconst updatedTool: ContextExternalTool = await this.contextExternalToolService.saveContextExternalTool(\n\t\t\tcontextExternalTool\n\t\t);\n\n\t\treturn updatedTool;\n\t}\n\n\tpublic async deleteContextExternalTool(userId: EntityId, contextExternalToolId: EntityId): Promise {\n\t\tconst tool: ContextExternalTool = await this.contextExternalToolService.findByIdOrFail(contextExternalToolId);\n\n\t\tconst context = AuthorizationContextBuilder.write([Permission.CONTEXT_TOOL_ADMIN]);\n\t\tawait this.toolPermissionHelper.ensureContextPermissions(userId, tool, context);\n\n\t\tawait this.contextExternalToolService.deleteContextExternalTool(tool);\n\t}\n\n\tpublic async getContextExternalToolsForContext(\n\t\tuserId: EntityId,\n\t\tcontextType: ToolContextType,\n\t\tcontextId: string\n\t): Promise {\n\t\tconst tools: ContextExternalTool[] = await this.contextExternalToolService.findAllByContext(\n\t\t\tnew ContextRef({ id: contextId, type: contextType })\n\t\t);\n\n\t\tconst toolsWithPermission: ContextExternalTool[] = await this.filterToolsWithPermissions(userId, tools);\n\n\t\treturn toolsWithPermission;\n\t}\n\n\tasync getContextExternalTool(userId: EntityId, contextToolId: EntityId) {\n\t\tconst tool: ContextExternalTool = await this.contextExternalToolService.findByIdOrFail(contextToolId);\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.CONTEXT_TOOL_ADMIN]);\n\n\t\tawait this.toolPermissionHelper.ensureContextPermissions(userId, tool, context);\n\n\t\treturn tool;\n\t}\n\n\tprivate async filterToolsWithPermissions(\n\t\tuserId: EntityId,\n\t\ttools: ContextExternalTool[]\n\t): Promise {\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(userId);\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.CONTEXT_TOOL_ADMIN]);\n\n\t\tconst toolsWithPermission: ContextExternalTool[] = tools.filter((tool) =>\n\t\t\tthis.authorizationService.hasPermission(user, tool, context)\n\t\t);\n\n\t\treturn toolsWithPermission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ContextExternalToolValidationService.html":{"url":"injectables/ContextExternalToolValidationService.html","title":"injectable - ContextExternalToolValidationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ContextExternalToolValidationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/service/context-external-tool-validation.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n checkDuplicateUsesInContext\n \n \n Async\n validate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(contextExternalToolService: ContextExternalToolService, externalToolService: ExternalToolService, schoolExternalToolService: SchoolExternalToolService, commonToolValidationService: CommonToolValidationService)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool-validation.service.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalToolService\n \n \n ContextExternalToolService\n \n \n \n No\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n schoolExternalToolService\n \n \n SchoolExternalToolService\n \n \n \n No\n \n \n \n \n commonToolValidationService\n \n \n CommonToolValidationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n checkDuplicateUsesInContext\n \n \n \n \n \n \n \n checkDuplicateUsesInContext(contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool-validation.service.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n validate\n \n \n \n \n \n \n \n validate(contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool-validation.service.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ValidationError } from '@shared/common';\nimport { CommonToolValidationService } from '../../common/service';\nimport { ExternalTool } from '../../external-tool/domain';\nimport { ExternalToolService } from '../../external-tool/service';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { SchoolExternalToolService } from '../../school-external-tool/service';\nimport { ContextExternalTool } from '../domain';\nimport { ContextExternalToolService } from './context-external-tool.service';\n\n@Injectable()\nexport class ContextExternalToolValidationService {\n\tconstructor(\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService,\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly commonToolValidationService: CommonToolValidationService\n\t) {}\n\n\tasync validate(contextExternalTool: ContextExternalTool): Promise {\n\t\tawait this.checkDuplicateUsesInContext(contextExternalTool);\n\n\t\tconst loadedSchoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(\n\t\t\tcontextExternalTool.schoolToolRef.schoolToolId\n\t\t);\n\n\t\tconst loadedExternalTool: ExternalTool = await this.externalToolService.findById(loadedSchoolExternalTool.toolId);\n\n\t\tthis.commonToolValidationService.checkCustomParameterEntries(loadedExternalTool, contextExternalTool);\n\t}\n\n\tprivate async checkDuplicateUsesInContext(contextExternalTool: ContextExternalTool) {\n\t\tlet duplicate: ContextExternalTool[] = await this.contextExternalToolService.findContextExternalTools({\n\t\t\tschoolToolRef: contextExternalTool.schoolToolRef,\n\t\t\tcontext: contextExternalTool.contextRef,\n\t\t});\n\n\t\t// Only leave tools that are not the currently handled tool itself (for updates) or ones with the same name\n\t\tduplicate = duplicate.filter(\n\t\t\t(duplicateTool) =>\n\t\t\t\tduplicateTool.id !== contextExternalTool.id && duplicateTool.displayName === contextExternalTool.displayName\n\t\t);\n\n\t\tif (duplicate.length > 0) {\n\t\t\tthrow new ValidationError(\n\t\t\t\t`tool_with_name_exists: A tool with the same name is already assigned to this course. Tool names must be unique within a course.`\n\t\t\t);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextRef.html":{"url":"classes/ContextRef.html","title":"class - ContextRef","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextRef\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/domain/context-ref.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n id\n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ContextRef)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/context-ref.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ContextRef\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/context-ref.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolContextType\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/context-ref.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ToolContextType } from '../../common/enum';\n\nexport class ContextRef {\n\tid: string;\n\n\ttype: ToolContextType;\n\n\tconstructor(props: ContextRef) {\n\t\tthis.id = props.id;\n\t\tthis.type = props.type;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextRefParams.html":{"url":"classes/ContextRefParams.html","title":"class - ContextRefParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextRefParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/context-ref.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextId\n \n \n \n \n contextType\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contextId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/context-ref.params.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n contextType\n \n \n \n \n \n \n Type : ToolContextType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ToolContextType)@ApiProperty({type: ToolContextType})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/context-ref.params.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { EntityId } from '@shared/domain/types';\nimport { IsEnum, IsMongoId } from 'class-validator';\nimport { ToolContextType } from '../../../../common/enum';\n\nexport class ContextRefParams {\n\t@IsEnum(ToolContextType)\n\t@ApiProperty({ type: ToolContextType })\n\tcontextType!: ToolContextType;\n\n\t@IsMongoId()\n\t@ApiProperty()\n\tcontextId!: EntityId;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ConverterUtil.html":{"url":"injectables/ConverterUtil.html","title":"injectable - ConverterUtil","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ConverterUtil\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/utils/converter.util.ts\n \n\n\n \n Description\n \n \n This class encapsulates\n\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n xml2object\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n xml2object\n \n \n \n \n \n \nxml2object(xml: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/common/utils/converter.util.ts:9\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n xml\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport xml2json from '@hendt/xml2json';\n\n/**\n * This class encapsulates\n */\n@Injectable()\nexport class ConverterUtil {\n\txml2object(xml: string): T {\n\t\treturn xml2json(xml) as T;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CookiesDto.html":{"url":"classes/CookiesDto.html","title":"class - CookiesDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CookiesDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/service/dto/cookies.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n hydraCookies\n \n \n localCookies\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: CookiesDto)\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/cookies.dto.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n CookiesDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n hydraCookies\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/cookies.dto.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n localCookies\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/cookies.dto.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class CookiesDto {\n\thydraCookies: string[];\n\n\tlocalCookies: string[];\n\n\tconstructor(props: CookiesDto) {\n\t\tthis.localCookies = props.localCookies;\n\t\tthis.hydraCookies = props.hydraCookies;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CopyApiResponse.html":{"url":"classes/CopyApiResponse.html","title":"class - CopyApiResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CopyApiResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/copy-helper/dto/copy.response.ts\n \n\n\n \n Description\n \n \n DTO for returning a copy status document via api.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n destinationCourseId\n \n \n \n Optional\n elements\n \n \n \n Optional\n id\n \n \n \n status\n \n \n \n Optional\n title\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: CopyApiResponse)\n \n \n \n \n Defined in apps/server/src/modules/copy-helper/dto/copy.response.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n CopyApiResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n destinationCourseId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Id of destination course'})\n \n \n \n \n \n Defined in apps/server/src/modules/copy-helper/dto/copy.response.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n elements\n \n \n \n \n \n \n Type : CopyApiResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({type: undefined, description: 'List of included sub elements with recursive type structure'})\n \n \n \n \n \n Defined in apps/server/src/modules/copy-helper/dto/copy.response.ts:47\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Id of copied element'})\n \n \n \n \n \n Defined in apps/server/src/modules/copy-helper/dto/copy.response.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : CopyStatusEnum\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: 'string', enum: CopyStatusEnum, description: 'Copy progress status of copied element'})\n \n \n \n \n \n Defined in apps/server/src/modules/copy-helper/dto/copy.response.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Title of copied element'})\n \n \n \n \n \n Defined in apps/server/src/modules/copy-helper/dto/copy.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : CopyElementType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: 'string', enum: CopyElementType, description: 'Type of copied element'})\n \n \n \n \n \n Defined in apps/server/src/modules/copy-helper/dto/copy.response.ts:29\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { CopyElementType, CopyStatusEnum } from '@modules/copy-helper/types/copy.types';\n\n/**\n * DTO for returning a copy status document via api.\n */\nexport class CopyApiResponse {\n\tconstructor({ title, type, status }: CopyApiResponse) {\n\t\tif (title) this.title = title;\n\t\tthis.type = type;\n\t\tthis.status = status;\n\t}\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Id of copied element',\n\t})\n\tid?: string;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Title of copied element',\n\t})\n\ttitle?: string;\n\n\t@ApiProperty({\n\t\ttype: 'string',\n\t\tenum: CopyElementType,\n\t\tdescription: 'Type of copied element',\n\t})\n\ttype: CopyElementType;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Id of destination course',\n\t})\n\tdestinationCourseId?: string;\n\n\t@ApiProperty({\n\t\ttype: 'string',\n\t\tenum: CopyStatusEnum,\n\t\tdescription: 'Copy progress status of copied element',\n\t})\n\tstatus: CopyStatusEnum;\n\n\t@ApiPropertyOptional({\n\t\ttype: [CopyApiResponse],\n\t\tdescription: 'List of included sub elements with recursive type structure',\n\t})\n\telements?: CopyApiResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CopyFileDO.html":{"url":"interfaces/CopyFileDO.html","title":"interface - CopyFileDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CopyFileDO\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/rabbitmq/exchange/files-storage.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n id\n \n \n \n \n name\n \n \n \n \n sourceId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n sourceId\n \n \n \n \n \n \n \n \n sourceId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { EntityId } from '@shared/domain/types';\n\nexport const FilesStorageExchange = Configuration.get('FILES_STORAGE__EXCHANGE') as string;\n\nexport enum FilesStorageEvents {\n\t'COPY_FILES_OF_PARENT' = 'copy-files-of-parent',\n\t'LIST_FILES_OF_PARENT' = 'list-files-of-parent',\n\t'DELETE_FILES_OF_PARENT' = 'delete-files-of-parent',\n}\n\nexport enum ScanStatus {\n\tPENDING = 'pending',\n\tVERIFIED = 'verified',\n\tBLOCKED = 'blocked',\n\tWONT_CHECK = 'wont_check',\n\tERROR = 'error',\n}\n\nexport enum FileRecordParentType {\n\t'User' = 'users',\n\t'School' = 'schools',\n\t'Course' = 'courses',\n\t'Task' = 'tasks',\n\t'Lesson' = 'lessons',\n\t'Submission' = 'submissions',\n\t'BoardNode' = 'boardnodes',\n}\n\nexport interface CopyFilesOfParentParams {\n\tuserId: EntityId;\n\tsource: FileRecordParams;\n\ttarget: FileRecordParams;\n}\n\nexport interface FileRecordParams {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\nexport interface CopyFileDO {\n\tid?: EntityId;\n\tsourceId: EntityId;\n\tname: string;\n}\n\nexport interface FileDO {\n\tid: string;\n\tname: string;\n\tparentId: string;\n\tsecurityCheckStatus: ScanStatus;\n\tsize: number;\n\tcreatorId: string;\n\tmimeType: string;\n\tparentType: FileRecordParentType;\n\tdeletedSince?: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CopyFileDomainObjectProps.html":{"url":"interfaces/CopyFileDomainObjectProps.html","title":"interface - CopyFileDomainObjectProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CopyFileDomainObjectProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/interfaces/copy-file-domain-object-props.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n id\n \n \n \n \n name\n \n \n \n \n sourceId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId | undefined\n\n \n \n\n\n \n \n Type : EntityId | undefined\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n sourceId\n \n \n \n \n \n \n \n \n sourceId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\n\nexport interface CopyFileDomainObjectProps {\n\tid?: EntityId | undefined;\n\tsourceId: EntityId;\n\tname: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CopyFileDto.html":{"url":"classes/CopyFileDto.html","title":"class - CopyFileDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CopyFileDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/dto/copy-file.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n id\n \n \n name\n \n \n sourceId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: CopyFileDomainObjectProps)\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/dto/copy-file.dto.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n CopyFileDomainObjectProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : EntityId | undefined\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/dto/copy-file.dto.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/dto/copy-file.dto.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n sourceId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/dto/copy-file.dto.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { CopyFileDomainObjectProps } from '../interfaces';\n\nexport class CopyFileDto {\n\tid?: EntityId | undefined;\n\n\tsourceId: EntityId;\n\n\tname: string;\n\n\tconstructor(data: CopyFileDomainObjectProps) {\n\t\tthis.id = data.id;\n\t\tthis.sourceId = data.sourceId;\n\t\tthis.name = data.name;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CopyFileListResponse.html":{"url":"classes/CopyFileListResponse.html","title":"class - CopyFileListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CopyFileListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts\n \n\n\n\n \n Extends\n \n \n PaginationResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: CopyFileResponse[], total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:84\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n CopyFileResponse[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : CopyFileResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:91\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:14\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { DecodeHtmlEntities, PaginationResponse } from '@shared/controller';\nimport { FileRecord, FileRecordParentType, PreviewStatus, ScanStatus } from '../../entity';\nimport { API_VERSION_PATH } from '../../files-storage.const';\n\nexport class FileRecordResponse {\n\tconstructor(fileRecord: FileRecord) {\n\t\tthis.id = fileRecord.id;\n\t\tthis.name = fileRecord.name;\n\t\tthis.url = `${API_VERSION_PATH}/file/download/${fileRecord.id}/${encodeURIComponent(fileRecord.name)}`;\n\t\tthis.size = fileRecord.size;\n\t\tthis.securityCheckStatus = fileRecord.securityCheck.status;\n\t\tthis.parentId = fileRecord.parentId;\n\t\tthis.creatorId = fileRecord.creatorId;\n\t\tthis.mimeType = fileRecord.mimeType;\n\t\tthis.parentType = fileRecord.parentType;\n\t\tthis.deletedSince = fileRecord.deletedSince;\n\t\tthis.previewStatus = fileRecord.getPreviewStatus();\n\t}\n\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tname: string;\n\n\t@ApiProperty()\n\tparentId: string;\n\n\t@ApiProperty()\n\turl: string;\n\n\t@ApiProperty({ enum: ScanStatus, enumName: 'FileRecordScanStatus' })\n\tsecurityCheckStatus: ScanStatus;\n\n\t@ApiProperty()\n\tsize: number;\n\n\t@ApiProperty()\n\tcreatorId: string;\n\n\t@ApiProperty()\n\tmimeType: string;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\tparentType: FileRecordParentType;\n\n\t@ApiProperty({ enum: PreviewStatus, enumName: 'PreviewStatus' })\n\tpreviewStatus: PreviewStatus;\n\n\t@ApiPropertyOptional()\n\tdeletedSince?: Date;\n}\n\nexport class FileRecordListResponse extends PaginationResponse {\n\tconstructor(data: FileRecordResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [FileRecordResponse] })\n\tdata: FileRecordResponse[];\n}\n\nexport class CopyFileResponse {\n\tconstructor(data: CopyFileResponse) {\n\t\tthis.id = data.id;\n\t\tthis.sourceId = data.sourceId;\n\t\tthis.name = data.name;\n\t}\n\n\t@ApiPropertyOptional()\n\tid?: string;\n\n\t@ApiProperty()\n\tsourceId: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tname: string;\n}\n\nexport class CopyFileListResponse extends PaginationResponse {\n\tconstructor(data: CopyFileResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [CopyFileResponse] })\n\tdata: CopyFileResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CopyFileParams.html":{"url":"classes/CopyFileParams.html","title":"class - CopyFileParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CopyFileParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n fileNamePrefix\n \n \n \n \n target\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n fileNamePrefix\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:95\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : FileRecordParams\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@ValidateNested()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:91\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanResult } from '@infra/antivirus';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { Allow, IsBoolean, IsEnum, IsMongoId, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { FileRecordParentType } from '../../entity';\nimport { PreviewOutputMimeTypes, PreviewWidth } from '../../interface';\n\nexport class FileRecordParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\t@IsEnum(FileRecordParentType)\n\tparentType!: FileRecordParentType;\n}\n\nexport class FileUrlParams {\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\turl!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@Allow()\n\theaders?: Record;\n}\n\nexport class FileParams {\n\t@ApiProperty({ type: 'string', format: 'binary' })\n\t@Allow()\n\tfile!: string;\n}\n\nexport class DownloadFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileName!: string;\n}\n\nexport class ScanResultParams implements ScanResult {\n\t@ApiProperty()\n\t@Allow()\n\tvirus_detected?: boolean;\n\n\t@ApiProperty()\n\t@Allow()\n\tvirus_signature?: string;\n\n\t@ApiProperty()\n\t@Allow()\n\terror?: string;\n}\n\nexport class SingleFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n}\n\nexport class RenameFileParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n}\n\nexport class CopyFilesOfParentParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class CopyFileParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileNamePrefix!: string;\n}\n\nexport class CopyFilesOfParentPayload {\n\t@IsMongoId()\n\tuserId!: EntityId;\n\n\t@ValidateNested()\n\tsource!: FileRecordParams;\n\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class PreviewParams {\n\t@ApiPropertyOptional({ enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes' })\n\t@IsOptional()\n\t@IsEnum(PreviewOutputMimeTypes)\n\toutputFormat?: PreviewOutputMimeTypes;\n\n\t@ApiPropertyOptional({ enum: PreviewWidth, enumName: 'PreviewWidth' })\n\t@IsOptional()\n\t@IsEnum(PreviewWidth)\n\twidth?: PreviewWidth;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'If true, the preview will be generated again.',\n\t})\n\tforceUpdate?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CopyFileResponse.html":{"url":"classes/CopyFileResponse.html","title":"class - CopyFileResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CopyFileResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n name\n \n \n \n sourceId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: CopyFileResponse)\n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:66\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n CopyFileResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:74\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:81\n \n \n\n\n \n \n \n \n \n \n \n \n \n sourceId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:77\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { DecodeHtmlEntities, PaginationResponse } from '@shared/controller';\nimport { FileRecord, FileRecordParentType, PreviewStatus, ScanStatus } from '../../entity';\nimport { API_VERSION_PATH } from '../../files-storage.const';\n\nexport class FileRecordResponse {\n\tconstructor(fileRecord: FileRecord) {\n\t\tthis.id = fileRecord.id;\n\t\tthis.name = fileRecord.name;\n\t\tthis.url = `${API_VERSION_PATH}/file/download/${fileRecord.id}/${encodeURIComponent(fileRecord.name)}`;\n\t\tthis.size = fileRecord.size;\n\t\tthis.securityCheckStatus = fileRecord.securityCheck.status;\n\t\tthis.parentId = fileRecord.parentId;\n\t\tthis.creatorId = fileRecord.creatorId;\n\t\tthis.mimeType = fileRecord.mimeType;\n\t\tthis.parentType = fileRecord.parentType;\n\t\tthis.deletedSince = fileRecord.deletedSince;\n\t\tthis.previewStatus = fileRecord.getPreviewStatus();\n\t}\n\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tname: string;\n\n\t@ApiProperty()\n\tparentId: string;\n\n\t@ApiProperty()\n\turl: string;\n\n\t@ApiProperty({ enum: ScanStatus, enumName: 'FileRecordScanStatus' })\n\tsecurityCheckStatus: ScanStatus;\n\n\t@ApiProperty()\n\tsize: number;\n\n\t@ApiProperty()\n\tcreatorId: string;\n\n\t@ApiProperty()\n\tmimeType: string;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\tparentType: FileRecordParentType;\n\n\t@ApiProperty({ enum: PreviewStatus, enumName: 'PreviewStatus' })\n\tpreviewStatus: PreviewStatus;\n\n\t@ApiPropertyOptional()\n\tdeletedSince?: Date;\n}\n\nexport class FileRecordListResponse extends PaginationResponse {\n\tconstructor(data: FileRecordResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [FileRecordResponse] })\n\tdata: FileRecordResponse[];\n}\n\nexport class CopyFileResponse {\n\tconstructor(data: CopyFileResponse) {\n\t\tthis.id = data.id;\n\t\tthis.sourceId = data.sourceId;\n\t\tthis.name = data.name;\n\t}\n\n\t@ApiPropertyOptional()\n\tid?: string;\n\n\t@ApiProperty()\n\tsourceId: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tname: string;\n}\n\nexport class CopyFileListResponse extends PaginationResponse {\n\tconstructor(data: CopyFileResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [CopyFileResponse] })\n\tdata: CopyFileResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CopyFileResponseBuilder.html":{"url":"classes/CopyFileResponseBuilder.html","title":"class - CopyFileResponseBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CopyFileResponseBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/mapper/copy-file-response.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(id: string, sourceId: string, name: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/copy-file-response.builder.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n sourceId\n \n string\n \n\n \n No\n \n\n\n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CopyFileResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CopyFileResponse } from '../controller/dto';\n\nexport class CopyFileResponseBuilder {\n\tpublic static build(id: string, sourceId: string, name: string): CopyFileResponse {\n\t\tconst copyFileResponse = new CopyFileResponse({ id, sourceId, name });\n\n\t\treturn copyFileResponse;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CopyFiles.html":{"url":"interfaces/CopyFiles.html","title":"interface - CopyFiles","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CopyFiles\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/s3-client/interface/index.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n sourcePath\n \n \n \n \n targetPath\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n sourcePath\n \n \n \n \n \n \n \n \n sourcePath: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n targetPath\n \n \n \n \n \n \n \n \n targetPath: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Readable } from 'stream';\n\nexport interface S3Config {\n\tconnectionName: string;\n\tendpoint: string;\n\tregion: string;\n\tbucket: string;\n\taccessKeyId: string;\n\tsecretAccessKey: string;\n}\n\nexport interface GetFile {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n}\n\nexport interface CopyFiles {\n\tsourcePath: string;\n\ttargetPath: string;\n}\n\nexport interface File {\n\tdata: Readable;\n\tmimeType: string;\n}\n\nexport interface ListFiles {\n\tpath: string;\n\tmaxKeys?: number;\n\tnextMarker?: string;\n\tfiles?: string[];\n}\n\nexport interface ObjectKeysRecursive {\n\tpath: string;\n\tmaxKeys: number | undefined;\n\tnextMarker: string | undefined;\n\tfiles: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CopyFilesOfParentParamBuilder.html":{"url":"classes/CopyFilesOfParentParamBuilder.html","title":"class - CopyFilesOfParentParamBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CopyFilesOfParentParamBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/mapper/copy-files-of-parent-param.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(userId: EntityId, source: FileRequestInfo, target: FileRequestInfo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/mapper/copy-files-of-parent-param.builder.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n source\n \n FileRequestInfo\n \n\n \n No\n \n\n\n \n \n target\n \n FileRequestInfo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CopyFilesRequestInfo\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { FileRequestInfo } from '../interfaces';\nimport { CopyFilesRequestInfo } from '../interfaces/copy-file-request-info';\n\nexport class CopyFilesOfParentParamBuilder {\n\tstatic build(userId: EntityId, source: FileRequestInfo, target: FileRequestInfo): CopyFilesRequestInfo {\n\t\tconst fileRequestInfo = {\n\t\t\tuserId,\n\t\t\tsource,\n\t\t\ttarget,\n\t\t};\n\n\t\treturn fileRequestInfo;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CopyFilesOfParentParams.html":{"url":"classes/CopyFilesOfParentParams.html","title":"class - CopyFilesOfParentParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CopyFilesOfParentParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n target\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : FileRecordParams\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@ValidateNested()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:85\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanResult } from '@infra/antivirus';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { Allow, IsBoolean, IsEnum, IsMongoId, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { FileRecordParentType } from '../../entity';\nimport { PreviewOutputMimeTypes, PreviewWidth } from '../../interface';\n\nexport class FileRecordParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\t@IsEnum(FileRecordParentType)\n\tparentType!: FileRecordParentType;\n}\n\nexport class FileUrlParams {\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\turl!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@Allow()\n\theaders?: Record;\n}\n\nexport class FileParams {\n\t@ApiProperty({ type: 'string', format: 'binary' })\n\t@Allow()\n\tfile!: string;\n}\n\nexport class DownloadFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileName!: string;\n}\n\nexport class ScanResultParams implements ScanResult {\n\t@ApiProperty()\n\t@Allow()\n\tvirus_detected?: boolean;\n\n\t@ApiProperty()\n\t@Allow()\n\tvirus_signature?: string;\n\n\t@ApiProperty()\n\t@Allow()\n\terror?: string;\n}\n\nexport class SingleFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n}\n\nexport class RenameFileParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n}\n\nexport class CopyFilesOfParentParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class CopyFileParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileNamePrefix!: string;\n}\n\nexport class CopyFilesOfParentPayload {\n\t@IsMongoId()\n\tuserId!: EntityId;\n\n\t@ValidateNested()\n\tsource!: FileRecordParams;\n\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class PreviewParams {\n\t@ApiPropertyOptional({ enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes' })\n\t@IsOptional()\n\t@IsEnum(PreviewOutputMimeTypes)\n\toutputFormat?: PreviewOutputMimeTypes;\n\n\t@ApiPropertyOptional({ enum: PreviewWidth, enumName: 'PreviewWidth' })\n\t@IsOptional()\n\t@IsEnum(PreviewWidth)\n\twidth?: PreviewWidth;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'If true, the preview will be generated again.',\n\t})\n\tforceUpdate?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CopyFilesOfParentPayload.html":{"url":"classes/CopyFilesOfParentPayload.html","title":"class - CopyFilesOfParentPayload","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CopyFilesOfParentPayload\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n source\n \n \n \n target\n \n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n source\n \n \n \n \n \n \n Type : FileRecordParams\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:103\n \n \n\n\n \n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : FileRecordParams\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:106\n \n \n\n\n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:100\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanResult } from '@infra/antivirus';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { Allow, IsBoolean, IsEnum, IsMongoId, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { FileRecordParentType } from '../../entity';\nimport { PreviewOutputMimeTypes, PreviewWidth } from '../../interface';\n\nexport class FileRecordParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\t@IsEnum(FileRecordParentType)\n\tparentType!: FileRecordParentType;\n}\n\nexport class FileUrlParams {\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\turl!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@Allow()\n\theaders?: Record;\n}\n\nexport class FileParams {\n\t@ApiProperty({ type: 'string', format: 'binary' })\n\t@Allow()\n\tfile!: string;\n}\n\nexport class DownloadFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileName!: string;\n}\n\nexport class ScanResultParams implements ScanResult {\n\t@ApiProperty()\n\t@Allow()\n\tvirus_detected?: boolean;\n\n\t@ApiProperty()\n\t@Allow()\n\tvirus_signature?: string;\n\n\t@ApiProperty()\n\t@Allow()\n\terror?: string;\n}\n\nexport class SingleFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n}\n\nexport class RenameFileParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n}\n\nexport class CopyFilesOfParentParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class CopyFileParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileNamePrefix!: string;\n}\n\nexport class CopyFilesOfParentPayload {\n\t@IsMongoId()\n\tuserId!: EntityId;\n\n\t@ValidateNested()\n\tsource!: FileRecordParams;\n\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class PreviewParams {\n\t@ApiPropertyOptional({ enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes' })\n\t@IsOptional()\n\t@IsEnum(PreviewOutputMimeTypes)\n\toutputFormat?: PreviewOutputMimeTypes;\n\n\t@ApiPropertyOptional({ enum: PreviewWidth, enumName: 'PreviewWidth' })\n\t@IsOptional()\n\t@IsEnum(PreviewWidth)\n\twidth?: PreviewWidth;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'If true, the preview will be generated again.',\n\t})\n\tforceUpdate?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CopyFilesRequestInfo.html":{"url":"interfaces/CopyFilesRequestInfo.html","title":"interface - CopyFilesRequestInfo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CopyFilesRequestInfo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/interfaces/copy-file-request-info.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n source\n \n \n \n \n target\n \n \n \n \n userId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n source\n \n \n \n \n \n \n \n \n source: FileRequestInfo\n\n \n \n\n\n \n \n Type : FileRequestInfo\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n \n \n target: FileRequestInfo\n\n \n \n\n\n \n \n Type : FileRequestInfo\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { FileRequestInfo } from './file-request-info';\n\nexport interface CopyFilesRequestInfo {\n\tuserId: EntityId;\n\tsource: FileRequestInfo;\n\ttarget: FileRequestInfo;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CopyFilesService.html":{"url":"injectables/CopyFilesService.html","title":"injectable - CopyFilesService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CopyFilesService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/service/copy-files.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n copyFilesOfEntity\n \n \n Private\n createFileUrlReplacements\n \n \n Private\n deriveCopyStatus\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(copyHelperService: CopyHelperService, filesStorageClientAdapterService: FilesStorageClientAdapterService)\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/service/copy-files.service.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n copyHelperService\n \n \n CopyHelperService\n \n \n \n No\n \n \n \n \n filesStorageClientAdapterService\n \n \n FilesStorageClientAdapterService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n copyFilesOfEntity\n \n \n \n \n \n \n \n copyFilesOfEntity(originalEntity: T, copyEntity: T, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/service/copy-files.service.ts:23\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n originalEntity\n \n T\n \n\n \n No\n \n\n\n \n \n copyEntity\n \n T\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createFileUrlReplacements\n \n \n \n \n \n \n \n createFileUrlReplacements(fileDtos: CopyFileDto[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/service/copy-files.service.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileDtos\n \n CopyFileDto[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileUrlReplacement[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n deriveCopyStatus\n \n \n \n \n \n \n \n deriveCopyStatus(fileDtos: CopyFileDto[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/service/copy-files.service.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileDtos\n \n CopyFileDto[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CopyStatus\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CopyElementType, CopyHelperService, CopyStatus, CopyStatusEnum } from '@modules/copy-helper';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { CopyFileDto } from '../dto';\nimport { EntityWithEmbeddedFiles } from '../interfaces';\nimport { CopyFilesOfParentParamBuilder, FileParamBuilder } from '../mapper';\nimport { FilesStorageClientAdapterService } from './files-storage-client.service';\n\nconst FILE_COULD_NOT_BE_COPIED_HINT = 'fileCouldNotBeCopied';\n\nexport type FileUrlReplacement = {\n\tregex: RegExp;\n\treplacement: string;\n};\n\n@Injectable()\nexport class CopyFilesService {\n\tconstructor(\n\t\tprivate readonly copyHelperService: CopyHelperService,\n\t\tprivate readonly filesStorageClientAdapterService: FilesStorageClientAdapterService\n\t) {}\n\n\tasync copyFilesOfEntity(\n\t\toriginalEntity: T,\n\t\tcopyEntity: T,\n\t\tuserId: EntityId\n\t): Promise {\n\t\tconst source = FileParamBuilder.build(originalEntity.getSchoolId(), originalEntity);\n\t\tconst target = FileParamBuilder.build(copyEntity.getSchoolId(), copyEntity);\n\t\tconst copyFilesOfParentParams = CopyFilesOfParentParamBuilder.build(userId, source, target);\n\n\t\tconst fileDtos = await this.filesStorageClientAdapterService.copyFilesOfParent(copyFilesOfParentParams);\n\t\tconst fileUrlReplacements = this.createFileUrlReplacements(fileDtos);\n\t\tconst fileCopyStatus = this.deriveCopyStatus(fileDtos);\n\n\t\treturn { fileUrlReplacements, fileCopyStatus };\n\t}\n\n\tprivate createFileUrlReplacements(fileDtos: CopyFileDto[]): FileUrlReplacement[] {\n\t\treturn fileDtos.map((fileDto): FileUrlReplacement => {\n\t\t\tconst { sourceId, id, name } = fileDto;\n\n\t\t\t// use hint as id replacement, if file could not be copied\n\t\t\tconst newId = id ?? FILE_COULD_NOT_BE_COPIED_HINT;\n\n\t\t\tconst fileUrlReplacement: FileUrlReplacement = {\n\t\t\t\tregex: new RegExp(`${sourceId}.+?\"`, 'g'),\n\t\t\t\treplacement: `${newId}/${name}\"`,\n\t\t\t};\n\n\t\t\treturn fileUrlReplacement;\n\t\t});\n\t}\n\n\tprivate deriveCopyStatus(fileDtos: CopyFileDto[]): CopyStatus {\n\t\tconst fileStatuses: CopyStatus[] = fileDtos.map(({ sourceId, id, name }) => {\n\t\t\tconst result = {\n\t\t\t\ttype: CopyElementType.FILE,\n\t\t\t\tstatus: id ? CopyStatusEnum.SUCCESS : CopyStatusEnum.FAIL,\n\t\t\t\ttitle: name ?? `(old fileid: ${sourceId})`,\n\t\t\t};\n\t\t\treturn result;\n\t\t});\n\n\t\tconst fileGroupStatus = {\n\t\t\ttype: CopyElementType.FILE_GROUP,\n\t\t\tstatus: this.copyHelperService.deriveStatusFromElements(fileStatuses),\n\t\t\telements: fileStatuses,\n\t\t};\n\t\treturn fileGroupStatus;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/CopyHelperModule.html":{"url":"modules/CopyHelperModule.html","title":"module - CopyHelperModule","body":"\n \n\n\n\n\n Modules\n CopyHelperModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_CopyHelperModule\n\n\n\ncluster_CopyHelperModule_exports\n\n\n\ncluster_CopyHelperModule_providers\n\n\n\n\nCopyHelperService \n\nCopyHelperService \n\n\n\nCopyHelperModule\n\nCopyHelperModule\n\nCopyHelperService -->\n\nCopyHelperModule->CopyHelperService \n\n\n\n\n\nCopyHelperService\n\nCopyHelperService\n\nCopyHelperModule -->\n\nCopyHelperService->CopyHelperModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/copy-helper/copy-helper.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n CopyHelperService\n \n \n \n \n Exports\n \n \n CopyHelperService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { CopyHelperService } from './service/copy-helper.service';\n\n@Module({\n\tproviders: [CopyHelperService],\n\texports: [CopyHelperService],\n})\nexport class CopyHelperModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CopyHelperService.html":{"url":"injectables/CopyHelperService.html","title":"injectable - CopyHelperService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CopyHelperService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/copy-helper/service/copy-helper.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n buildCopyEntityDict\n \n \n deriveCopyName\n \n \n deriveStatusFromElements\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n buildCopyEntityDict\n \n \n \n \n \n \nbuildCopyEntityDict(status: CopyStatus)\n \n \n\n\n \n \n Defined in apps/server/src/modules/copy-helper/service/copy-helper.service.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n status\n \n CopyStatus\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CopyDictionary\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n deriveCopyName\n \n \n \n \n \n \nderiveCopyName(name: string, existingNames: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/copy-helper/service/copy-helper.service.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n existingNames\n \n string[]\n \n\n \n No\n \n\n \n []\n \n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n deriveStatusFromElements\n \n \n \n \n \n \nderiveStatusFromElements(elements: CopyStatus[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/copy-helper/service/copy-helper.service.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n elements\n \n CopyStatus[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CopyStatusEnum\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { AuthorizableObject } from '@shared/domain/domain-object';\nimport { EntityId } from '@shared/domain/types';\nimport { CopyDictionary, CopyStatus, CopyStatusEnum } from '../types/copy.types';\n\nconst isAtLeastPartialSuccessfull = (status) => status === CopyStatusEnum.PARTIAL || status === CopyStatusEnum.SUCCESS;\n\n@Injectable()\nexport class CopyHelperService {\n\tderiveStatusFromElements(elements: CopyStatus[]): CopyStatusEnum {\n\t\tconst elementsStatuses = elements.map((el) => el.status);\n\n\t\tconst filtered = elementsStatuses.filter((status) => status !== CopyStatusEnum.NOT_DOING);\n\n\t\tif (filtered.length > 0) {\n\t\t\tif (filtered.every((status) => !isAtLeastPartialSuccessfull(status))) {\n\t\t\t\treturn CopyStatusEnum.FAIL;\n\t\t\t}\n\n\t\t\tif (filtered.some((status) => status !== CopyStatusEnum.SUCCESS)) {\n\t\t\t\treturn CopyStatusEnum.PARTIAL;\n\t\t\t}\n\t\t}\n\n\t\treturn CopyStatusEnum.SUCCESS;\n\t}\n\n\tderiveCopyName(name: string, existingNames: string[] = []): string {\n\t\tif (!existingNames.includes(name)) {\n\t\t\treturn name;\n\t\t}\n\t\tlet num = 1;\n\t\tconst matches = name.match(/^(?.*) \\((?\\d+)\\)$/);\n\t\tif (matches && matches.groups) {\n\t\t\t({ name } = matches.groups);\n\t\t\tnum = Number(matches.groups.number) + 1;\n\t\t}\n\t\tconst composedName = `${name} (${num})`;\n\t\tif (existingNames.includes(composedName)) {\n\t\t\treturn this.deriveCopyName(composedName, existingNames);\n\t\t}\n\t\treturn composedName;\n\t}\n\n\tbuildCopyEntityDict(status: CopyStatus): CopyDictionary {\n\t\tconst map = new Map();\n\t\tstatus.elements?.forEach((elementStatus: CopyStatus) => {\n\t\t\tthis.buildCopyEntityDict(elementStatus).forEach((el, key) => map.set(key, el));\n\t\t});\n\t\tif (status.originalEntity && status.copyEntity) {\n\t\t\tmap.set(status.originalEntity.id, status.copyEntity);\n\t\t}\n\t\treturn map;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CopyMapper.html":{"url":"classes/CopyMapper.html","title":"class - CopyMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CopyMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/copy-helper/mapper/copy.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapLessonCopyToDomain\n \n \n Static\n mapTaskCopyToDomain\n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapLessonCopyToDomain\n \n \n \n \n \n \n \n mapLessonCopyToDomain(params: LessonCopyApiParams, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/copy-helper/mapper/copy.mapper.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n LessonCopyApiParams\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LessonCopyParentParams\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapTaskCopyToDomain\n \n \n \n \n \n \n \n mapTaskCopyToDomain(params: TaskCopyApiParams, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/copy-helper/mapper/copy.mapper.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n TaskCopyApiParams\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskCopyParentParams\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(copyStatus: CopyStatus)\n \n \n\n\n \n \n Defined in apps/server/src/modules/copy-helper/mapper/copy.mapper.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n copyStatus\n \n CopyStatus\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CopyApiResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { LessonCopyApiParams } from '@modules/learnroom/controller/dto/lesson/lesson-copy.params';\nimport { LessonCopyParentParams } from '@modules/lesson/types';\nimport { TaskCopyApiParams } from '@modules/task/controller/dto/task-copy.params';\nimport { TaskCopyParentParams } from '@modules/task/types';\nimport { LessonEntity, Task } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { CopyApiResponse } from '../dto/copy.response';\nimport { CopyStatus, CopyStatusEnum } from '../types/copy.types';\n\nexport class CopyMapper {\n\tstatic mapToResponse(copyStatus: CopyStatus): CopyApiResponse {\n\t\tconst dto = new CopyApiResponse({\n\t\t\ttitle: copyStatus.title,\n\t\t\ttype: copyStatus.type,\n\t\t\tstatus: copyStatus.status,\n\t\t});\n\n\t\tif (copyStatus.copyEntity) {\n\t\t\tconst copyEntity = copyStatus.copyEntity as LessonEntity | Task;\n\t\t\tdto.id = copyEntity.id;\n\t\t\tdto.destinationCourseId = copyEntity.course?.id;\n\t\t}\n\t\tif (copyStatus.status !== CopyStatusEnum.SUCCESS && copyStatus.elements) {\n\t\t\tdto.elements = copyStatus.elements\n\t\t\t\t.map((element) => CopyMapper.mapToResponse(element))\n\t\t\t\t.filter((element) => element.status !== CopyStatusEnum.SUCCESS);\n\t\t}\n\t\treturn dto;\n\t}\n\n\tstatic mapLessonCopyToDomain(params: LessonCopyApiParams, userId: EntityId): LessonCopyParentParams {\n\t\tconst dto = {\n\t\t\tcourseId: params.courseId,\n\t\t\tuserId,\n\t\t};\n\n\t\treturn dto;\n\t}\n\n\tstatic mapTaskCopyToDomain(params: TaskCopyApiParams, userId: EntityId): TaskCopyParentParams {\n\t\tconst dto = {\n\t\t\tcourseId: params.courseId,\n\t\t\tlessonId: params.lessonId,\n\t\t\tuserId,\n\t\t};\n\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/CoreModule.html":{"url":"modules/CoreModule.html","title":"module - CoreModule","body":"\n \n\n\n\n\n Modules\n CoreModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_CoreModule\n\n\n\ncluster_CoreModule_imports\n\n\n\ncluster_CoreModule_exports\n\n\n\n\nErrorModule\n\nErrorModule\n\n\n\nCoreModule\n\nCoreModule\n\nCoreModule -->\n\nErrorModule->CoreModule\n\n\n\n\n\nInterceptorModule\n\nInterceptorModule\n\nCoreModule -->\n\nInterceptorModule->CoreModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nCoreModule -->\n\nLoggerModule->CoreModule\n\n\n\n\n\nValidationModule\n\nValidationModule\n\nCoreModule -->\n\nValidationModule->CoreModule\n\n\n\n\n\nLoggerModule \n\nLoggerModule \n\nLoggerModule -->\n\nCoreModule->LoggerModule \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/core/core.module.ts\n \n\n\n\n \n Description\n \n \n The core module configures the cross-functional application behaviour by customizing error handling providing and logging.\nOverrides/Configures global APP_INTERCEPTOR, APP_PIPE, APP_GUARD, APP_FILTER\n\n \n\n\n \n \n \n Imports\n \n \n ErrorModule\n \n \n InterceptorModule\n \n \n LoggerModule\n \n \n ValidationModule\n \n \n \n \n Exports\n \n \n LoggerModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { ErrorModule } from './error';\nimport { InterceptorModule } from './interceptor';\nimport { LoggerModule } from './logger';\nimport { ValidationModule } from './validation';\n\n/**\n * The core module configures the cross-functional application behaviour by customizing error handling providing and logging.\n * Overrides/Configures global APP_INTERCEPTOR, APP_PIPE, APP_GUARD, APP_FILTER\n */\n@Module({\n\timports: [LoggerModule, ErrorModule, ValidationModule, InterceptorModule],\n\texports: [LoggerModule],\n})\nexport class CoreModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CoreModuleConfig.html":{"url":"interfaces/CoreModuleConfig.html","title":"interface - CoreModuleConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CoreModuleConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/interfaces/core-module-config.ts\n \n\n\n\n \n Extends\n \n \n InterceptorConfig\n LoggerConfig\n \n\n\n\n\n \n\n\n \n import { InterceptorConfig } from '@shared/common';\nimport { LoggerConfig } from '../logger';\n\nexport interface CoreModuleConfig extends InterceptorConfig, LoggerConfig {}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/County.html":{"url":"classes/County.html","title":"class - County","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n County\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/federal-state.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n antaresKey\n \n \n countyId\n \n \n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(county: County)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/federal-state.entity.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n county\n \n \n County\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n antaresKey\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/federal-state.entity.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n countyId\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/federal-state.entity.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/federal-state.entity.ts:21\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Embedded, Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface FederalStateProperties {\n\tname: string;\n\tabbreviation: string;\n\tlogoUrl: string;\n\tcounties?: County[];\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\n@Embeddable()\nexport class County {\n\tconstructor(county: County) {\n\t\tthis.name = county.name;\n\t\tthis.countyId = county.countyId;\n\t\tthis.antaresKey = county.antaresKey;\n\t}\n\n\tname: string;\n\n\tcountyId: number;\n\n\tantaresKey: string;\n}\n\n@Entity({ tableName: 'federalstates' })\nexport class FederalStateEntity extends BaseEntityWithTimestamps {\n\t@Property({ nullable: false })\n\tname: string;\n\n\t@Property({ nullable: false })\n\tabbreviation: string;\n\n\t@Property()\n\tlogoUrl: string;\n\n\t@Embedded(() => County, { array: true, nullable: true })\n\tcounties?: County[];\n\n\tconstructor(props: FederalStateProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.abbreviation = props.abbreviation;\n\t\tthis.logoUrl = props.logoUrl;\n\t\tthis.updatedAt = props.updatedAt;\n\t\tthis.createdAt = props.createdAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/Course.html":{"url":"entities/Course.html","title":"entity - Course","body":"\n \n\n\n\n\n\n\n\n Entities\n Course\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/course.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n classes\n \n \n \n color\n \n \n \n Optional\n copyingSince\n \n \n \n courseGroups\n \n \n \n description\n \n \n \n Optional\n features\n \n \n \n groups\n \n \n \n name\n \n \n \n \n school\n \n \n \n \n Optional\n shareToken\n \n \n \n Optional\n startDate\n \n \n \n \n students\n \n \n \n \n substitutionTeachers\n \n \n \n \n teachers\n \n \n \n \n Optional\n untilDate\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n classes\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @ManyToMany(undefined, undefined, {fieldName: 'classIds'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:100\n \n \n\n\n \n \n \n \n \n \n \n \n \n color\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : DEFAULT.color\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:80\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n copyingSince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:90\n \n \n\n\n \n \n \n \n \n \n \n \n \n courseGroups\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @OneToMany('CourseGroup', 'course', {orphanRemoval: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:76\n \n \n\n\n \n \n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : DEFAULT.description\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:57\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n features\n \n \n \n \n \n \n Type : CourseFeatures[]\n\n \n \n \n \n Decorators : \n \n \n @Enum({nullable: true, array: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:97\n \n \n\n\n \n \n \n \n \n \n \n \n \n groups\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @ManyToMany(undefined, undefined, {fieldName: 'groupIds'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:103\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : DEFAULT.name\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n Type : SchoolEntity\n\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToOne(undefined, {fieldName: 'schoolId'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:61\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n shareToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})@Unique({options: undefined})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:94\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n startDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:83\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n students\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToMany('User', undefined, {fieldName: 'userIds'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:65\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n substitutionTeachers\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToMany('User', undefined, {fieldName: 'substitutionIds'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:73\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n teachers\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToMany('User', undefined, {fieldName: 'teacherIds'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:69\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n untilDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Index()@Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:87\n \n \n\n\n \n \n\n \n\n\n \n import { Collection, Entity, Enum, Index, ManyToMany, ManyToOne, OneToMany, Property, Unique } from '@mikro-orm/core';\nimport { ClassEntity } from '@modules/class/entity/class.entity';\nimport { GroupEntity } from '@modules/group/entity/group.entity';\nimport { InternalServerErrorException } from '@nestjs/common/exceptions/internal-server-error.exception';\nimport { EntityWithSchool, Learnroom } from '@shared/domain/interface';\nimport { EntityId, LearnroomMetadata, LearnroomTypes } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport type { LessonParent } from './lesson.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { TaskParent } from './task.entity';\nimport type { User } from './user.entity';\n\nexport interface CourseProperties {\n\tname?: string;\n\tdescription?: string;\n\tschool: SchoolEntity;\n\tstudents?: User[];\n\tteachers?: User[];\n\tsubstitutionTeachers?: User[];\n\t// TODO: color format\n\tcolor?: string;\n\tstartDate?: Date;\n\tuntilDate?: Date;\n\tcopyingSince?: Date;\n\tfeatures?: CourseFeatures[];\n\tclasses?: ClassEntity[];\n\tgroups?: GroupEntity[];\n}\n\n// that is really really shit default handling :D constructor, getter, js default, em default...what the hell\n// i hope it can cleanup with adding schema instant of I...Properties.\nconst DEFAULT = {\n\tcolor: '#ACACAC',\n\tname: 'Kurse',\n\tdescription: '',\n};\n\nconst enum CourseFeatures {\n\tVIDEOCONFERENCE = 'videoconference',\n}\n\nexport class UsersList {\n\tid!: string;\n\n\tfirstName!: string;\n\n\tlastName!: string;\n}\n\n@Entity({ tableName: 'courses' })\nexport class Course extends BaseEntityWithTimestamps implements Learnroom, EntityWithSchool, TaskParent, LessonParent {\n\t@Property()\n\tname: string = DEFAULT.name;\n\n\t@Property()\n\tdescription: string = DEFAULT.description;\n\n\t@Index()\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool: SchoolEntity;\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'userIds' })\n\tstudents = new Collection(this);\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'teacherIds' })\n\tteachers = new Collection(this);\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'substitutionIds' })\n\tsubstitutionTeachers = new Collection(this);\n\n\t@OneToMany('CourseGroup', 'course', { orphanRemoval: true })\n\tcourseGroups = new Collection(this);\n\n\t// TODO: string color format\n\t@Property()\n\tcolor: string = DEFAULT.color;\n\n\t@Property({ nullable: true })\n\tstartDate?: Date;\n\n\t@Index()\n\t@Property({ nullable: true })\n\tuntilDate?: Date;\n\n\t@Property({ nullable: true })\n\tcopyingSince?: Date;\n\n\t@Property({ nullable: true })\n\t@Unique({ options: { sparse: true } })\n\tshareToken?: string;\n\n\t@Enum({ nullable: true, array: true })\n\tfeatures?: CourseFeatures[];\n\n\t@ManyToMany(() => ClassEntity, undefined, { fieldName: 'classIds' })\n\tclasses = new Collection(this);\n\n\t@ManyToMany(() => GroupEntity, undefined, { fieldName: 'groupIds' })\n\tgroups = new Collection(this);\n\n\tconstructor(props: CourseProperties) {\n\t\tsuper();\n\t\tif (props.name) this.name = props.name;\n\t\tif (props.description) this.description = props.description;\n\t\tthis.school = props.school;\n\t\tthis.students.set(props.students || []);\n\t\tthis.teachers.set(props.teachers || []);\n\t\tthis.substitutionTeachers.set(props.substitutionTeachers || []);\n\t\tif (props.color) this.color = props.color;\n\t\tif (props.untilDate) this.untilDate = props.untilDate;\n\t\tif (props.startDate) this.startDate = props.startDate;\n\t\tif (props.copyingSince) this.copyingSince = props.copyingSince;\n\t\tif (props.features) this.features = props.features;\n\t\tthis.classes.set(props.classes || []);\n\t\tthis.groups.set(props.groups || []);\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst studentIds = Course.extractIds(this.students);\n\t\treturn studentIds;\n\t}\n\n\tpublic getTeacherIds(): EntityId[] {\n\t\tconst teacherIds = Course.extractIds(this.teachers);\n\t\treturn teacherIds;\n\t}\n\n\tpublic getSubstitutionTeacherIds(): EntityId[] {\n\t\tconst substitutionTeacherIds = Course.extractIds(this.substitutionTeachers);\n\t\treturn substitutionTeacherIds;\n\t}\n\n\tprivate static extractIds(users: Collection): EntityId[] {\n\t\tif (!users) {\n\t\t\tthrow new InternalServerErrorException(\n\t\t\t\t`Students, teachers or stubstitution is undefined. The course needs to be populated`\n\t\t\t);\n\t\t}\n\n\t\tconst objectIds = users.getIdentifiers('_id');\n\t\tconst ids = objectIds.map((id): string => id.toString());\n\n\t\treturn ids;\n\t}\n\n\tpublic getStudentsList(): UsersList[] {\n\t\tconst users = this.students.getItems();\n\t\tif (users.length) {\n\t\t\tconst usersList = Course.extractUserList(users);\n\t\t\treturn usersList;\n\t\t}\n\t\treturn [];\n\t}\n\n\tpublic getTeachersList(): UsersList[] {\n\t\tconst users = this.teachers.getItems();\n\t\tif (users.length) {\n\t\t\tconst usersList = Course.extractUserList(users);\n\t\t\treturn usersList;\n\t\t}\n\t\treturn [];\n\t}\n\n\tpublic getSubstitutionTeachersList(): UsersList[] {\n\t\tconst users = this.substitutionTeachers.getItems();\n\t\tif (users.length) {\n\t\t\tconst usersList = Course.extractUserList(users);\n\t\t\treturn usersList;\n\t\t}\n\t\treturn [];\n\t}\n\n\tprivate static extractUserList(users: User[]): UsersList[] {\n\t\tconst usersList: UsersList[] = users.map((user) => {\n\t\t\treturn {\n\t\t\t\tid: user.id,\n\t\t\t\tfirstName: user.firstName,\n\t\t\t\tlastName: user.lastName,\n\t\t\t};\n\t\t});\n\t\treturn usersList;\n\t}\n\n\tpublic isUserSubstitutionTeacher(user: User): boolean {\n\t\tconst isSubstitutionTeacher = this.substitutionTeachers.contains(user);\n\n\t\treturn isSubstitutionTeacher;\n\t}\n\n\tpublic getCourseGroupItems(): CourseGroup[] {\n\t\tif (!this.courseGroups.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Courses trying to access their course groups that are not loaded.');\n\t\t}\n\t\tconst courseGroups = this.courseGroups.getItems();\n\n\t\treturn courseGroups;\n\t}\n\n\tgetShortTitle(): string {\n\t\tif (this.name.length === 1) {\n\t\t\treturn this.name;\n\t\t}\n\t\tconst [firstChar, secondChar] = [...this.name];\n\t\tconst pattern = /\\p{Extended_Pictographic}/u;\n\t\tif (pattern.test(firstChar)) {\n\t\t\treturn firstChar;\n\t\t}\n\t\treturn firstChar + secondChar;\n\t}\n\n\tpublic getMetadata(): LearnroomMetadata {\n\t\treturn {\n\t\t\tid: this.id,\n\t\t\ttype: LearnroomTypes.Course,\n\t\t\ttitle: this.name,\n\t\t\tshortTitle: this.getShortTitle(),\n\t\t\tdisplayColor: this.color,\n\t\t\tuntilDate: this.untilDate,\n\t\t\tstartDate: this.startDate,\n\t\t\tcopyingSince: this.copyingSince,\n\t\t};\n\t}\n\n\tpublic isFinished(): boolean {\n\t\tif (!this.untilDate) {\n\t\t\treturn false;\n\t\t}\n\t\tconst isFinished = this.untilDate u.id === userId);\n\t}\n\n\tprivate removeTeacher(userId: EntityId): void {\n\t\tthis.teachers.remove((u) => u.id === userId);\n\t}\n\n\tprivate removeSubstitutionTeacher(userId: EntityId): void {\n\t\tthis.substitutionTeachers.remove((u) => u.id === userId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/CourseController.html":{"url":"controllers/CourseController.html","title":"controller - CourseController","body":"\n \n\n\n\n\n\n\n Controllers\n CourseController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/course.controller.ts\n \n\n \n Prefix\n \n \n courses\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n exportCourse\n \n \n \n Async\n findForUser\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n exportCourse\n \n \n \n \n \n \n \n exportCourse(currentUser: ICurrentUser, urlParams: CourseUrlParams, queryParams: CourseQueryParams, response: Response)\n \n \n\n \n \n Decorators : \n \n @Get(':courseId/export')\n \n \n\n \n \n Defined in apps/server/src/modules/learnroom/controller/course.controller.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n urlParams\n \n CourseUrlParams\n \n\n \n No\n \n\n\n \n \n queryParams\n \n CourseQueryParams\n \n\n \n No\n \n\n\n \n \n response\n \n Response\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findForUser\n \n \n \n \n \n \n \n findForUser(currentUser: ICurrentUser, pagination: PaginationParams)\n \n \n\n \n \n Decorators : \n \n @Get()\n \n \n\n \n \n Defined in apps/server/src/modules/learnroom/controller/course.controller.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n pagination\n \n PaginationParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Controller, Get, NotFoundException, Param, Query, Res, StreamableFile } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { ApiTags } from '@nestjs/swagger';\nimport { PaginationParams } from '@shared/controller/';\nimport { Response } from 'express';\nimport { CourseMapper } from '../mapper/course.mapper';\nimport { CourseExportUc } from '../uc/course-export.uc';\nimport { CourseUc } from '../uc/course.uc';\nimport { CourseMetadataListResponse, CourseQueryParams, CourseUrlParams } from './dto';\n\n@ApiTags('Courses')\n@Authenticate('jwt')\n@Controller('courses')\nexport class CourseController {\n\tconstructor(\n\t\tprivate readonly courseUc: CourseUc,\n\t\tprivate readonly courseExportUc: CourseExportUc,\n\t\tprivate readonly configService: ConfigService\n\t) {}\n\n\t@Get()\n\tasync findForUser(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() pagination: PaginationParams\n\t): Promise {\n\t\tconst [courses, total] = await this.courseUc.findAllByUser(currentUser.userId, pagination);\n\t\tconst courseResponses = courses.map((course) => CourseMapper.mapToMetadataResponse(course));\n\t\tconst { skip, limit } = pagination;\n\n\t\tconst result = new CourseMetadataListResponse(courseResponses, total, skip, limit);\n\t\treturn result;\n\t}\n\n\t@Get(':courseId/export')\n\tasync exportCourse(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() urlParams: CourseUrlParams,\n\t\t@Query() queryParams: CourseQueryParams,\n\t\t@Res({ passthrough: true }) response: Response\n\t): Promise {\n\t\tif (!this.configService.get('FEATURE_IMSCC_COURSE_EXPORT_ENABLED')) throw new NotFoundException();\n\t\tconst result = await this.courseExportUc.exportCourse(urlParams.courseId, currentUser.userId, queryParams.version);\n\t\tresponse.set({\n\t\t\t'Content-Type': 'application/zip',\n\t\t\t'Content-Disposition': 'attachment;',\n\t\t});\n\t\treturn new StreamableFile(result);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CourseCopyService.html":{"url":"injectables/CourseCopyService.html","title":"injectable - CourseCopyService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CourseCopyService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/service/course-copy.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n copyCourse\n \n \n Private\n Async\n copyCourseEntity\n \n \n Private\n deriveCourseStatus\n \n \n Private\n Async\n finishCourseCopying\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(courseRepo: CourseRepo, boardRepo: BoardRepo, roomsService: RoomsService, boardCopyService: BoardCopyService, copyHelperService: CopyHelperService, userRepo: UserRepo)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/service/course-copy.service.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseRepo\n \n \n CourseRepo\n \n \n \n No\n \n \n \n \n boardRepo\n \n \n BoardRepo\n \n \n \n No\n \n \n \n \n roomsService\n \n \n RoomsService\n \n \n \n No\n \n \n \n \n boardCopyService\n \n \n BoardCopyService\n \n \n \n No\n \n \n \n \n copyHelperService\n \n \n CopyHelperService\n \n \n \n No\n \n \n \n \n userRepo\n \n \n UserRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n copyCourse\n \n \n \n \n \n \n \n copyCourse(undefined: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/course-copy.service.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n literal type\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n copyCourseEntity\n \n \n \n \n \n \n \n copyCourseEntity(params: CourseCopyParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/course-copy.service.ts:57\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n CourseCopyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n deriveCourseStatus\n \n \n \n \n \n \n \n deriveCourseStatus(originalCourse: Course, courseCopy: Course, boardStatus: CopyStatus)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/course-copy.service.ts:79\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n originalCourse\n \n Course\n \n\n \n No\n \n\n\n \n \n courseCopy\n \n Course\n \n\n \n No\n \n\n\n \n \n boardStatus\n \n CopyStatus\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CopyStatus\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n finishCourseCopying\n \n \n \n \n \n \n \n finishCourseCopying(courseCopy: Course)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/course-copy.service.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseCopy\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CopyElementType, CopyHelperService, CopyStatus, CopyStatusEnum } from '@modules/copy-helper';\nimport { Injectable } from '@nestjs/common';\nimport { Course, User } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { BoardRepo, CourseRepo, UserRepo } from '@shared/repo';\nimport { BoardCopyService } from './board-copy.service';\nimport { RoomsService } from './rooms.service';\n\ntype CourseCopyParams = {\n\toriginalCourse: Course;\n\tuser: User;\n\tcopyName?: string;\n};\n\n@Injectable()\nexport class CourseCopyService {\n\tconstructor(\n\t\tprivate readonly courseRepo: CourseRepo,\n\t\tprivate readonly boardRepo: BoardRepo,\n\t\tprivate readonly roomsService: RoomsService,\n\t\tprivate readonly boardCopyService: BoardCopyService,\n\t\tprivate readonly copyHelperService: CopyHelperService,\n\t\tprivate readonly userRepo: UserRepo\n\t) {}\n\n\tasync copyCourse({\n\t\tuserId,\n\t\tcourseId,\n\t\tnewName,\n\t}: {\n\t\tuserId: EntityId;\n\t\tcourseId: EntityId;\n\t\tnewName?: string | undefined;\n\t}): Promise {\n\t\tconst user: User = await this.userRepo.findById(userId, true);\n\n\t\t// fetch original course and board\n\t\tconst originalCourse = await this.courseRepo.findById(courseId);\n\t\tlet originalBoard = await this.boardRepo.findByCourseId(courseId);\n\t\toriginalBoard = await this.roomsService.updateBoard(originalBoard, courseId, userId);\n\n\t\t// handle potential name conflict\n\t\tconst [existingCourses] = await this.courseRepo.findAllByUserId(userId);\n\t\tconst existingNames = existingCourses.map((course: Course) => course.name);\n\t\tconst copyName = this.copyHelperService.deriveCopyName(newName || originalCourse.name, existingNames);\n\n\t\t// copy course and board\n\t\tconst courseCopy = await this.copyCourseEntity({ user, originalCourse, copyName });\n\t\tconst boardStatus = await this.boardCopyService.copyBoard({ originalBoard, destinationCourse: courseCopy, user });\n\t\tconst finishedCourseCopy = await this.finishCourseCopying(courseCopy);\n\n\t\tconst courseStatus = this.deriveCourseStatus(originalCourse, finishedCourseCopy, boardStatus);\n\n\t\treturn courseStatus;\n\t}\n\n\tprivate async copyCourseEntity(params: CourseCopyParams): Promise {\n\t\tconst { originalCourse, user, copyName } = params;\n\t\tconst courseCopy = new Course({\n\t\t\tschool: user.school,\n\t\t\tname: copyName,\n\t\t\tcolor: originalCourse.color,\n\t\t\tteachers: [user],\n\t\t\tstartDate: user.school.schoolYear?.startDate,\n\t\t\tuntilDate: user.school.schoolYear?.endDate,\n\t\t\tcopyingSince: new Date(),\n\t\t});\n\n\t\tawait this.courseRepo.createCourse(courseCopy);\n\t\treturn courseCopy;\n\t}\n\n\tprivate async finishCourseCopying(courseCopy: Course) {\n\t\tdelete courseCopy.copyingSince;\n\t\tawait this.courseRepo.save(courseCopy);\n\t\treturn courseCopy;\n\t}\n\n\tprivate deriveCourseStatus(originalCourse: Course, courseCopy: Course, boardStatus: CopyStatus): CopyStatus {\n\t\tconst elements = [\n\t\t\t{\n\t\t\t\ttype: CopyElementType.METADATA,\n\t\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: CopyElementType.USER_GROUP,\n\t\t\t\tstatus: CopyStatusEnum.NOT_DOING,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: CopyElementType.LTITOOL_GROUP,\n\t\t\t\tstatus: CopyStatusEnum.NOT_DOING,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: CopyElementType.TIME_GROUP,\n\t\t\t\tstatus: CopyStatusEnum.NOT_DOING,\n\t\t\t},\n\t\t\tboardStatus,\n\t\t];\n\n\t\tconst courseGroupsExist = originalCourse.getCourseGroupItems().length > 0;\n\t\tif (courseGroupsExist) {\n\t\t\telements.push({ type: CopyElementType.COURSEGROUP_GROUP, status: CopyStatusEnum.NOT_IMPLEMENTED });\n\t\t}\n\n\t\tconst status = {\n\t\t\ttitle: courseCopy.name,\n\t\t\ttype: CopyElementType.COURSE,\n\t\t\tstatus: this.copyHelperService.deriveStatusFromElements(elements),\n\t\t\tcopyEntity: courseCopy,\n\t\t\toriginalEntity: originalCourse,\n\t\t\telements,\n\t\t};\n\t\treturn status;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CourseCopyUC.html":{"url":"injectables/CourseCopyUC.html","title":"injectable - CourseCopyUC","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CourseCopyUC\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/uc/course-copy.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkFeatureEnabled\n \n \n Async\n copyCourse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorization: AuthorizationReferenceService, courseCopyService: CourseCopyService)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/course-copy.uc.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorization\n \n \n AuthorizationReferenceService\n \n \n \n No\n \n \n \n \n courseCopyService\n \n \n CourseCopyService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkFeatureEnabled\n \n \n \n \n \n \n \n checkFeatureEnabled()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/course-copy.uc.ts:28\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n copyCourse\n \n \n \n \n \n \n \n copyCourse(userId: EntityId, courseId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/course-copy.uc.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\nimport { AuthorizationContextBuilder } from '@modules/authorization';\nimport { AuthorizableReferenceType, AuthorizationReferenceService } from '@modules/authorization/domain';\nimport { CopyStatus } from '@modules/copy-helper';\nimport { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { CourseCopyService } from '../service';\n\n@Injectable()\nexport class CourseCopyUC {\n\tconstructor(\n\t\tprivate readonly authorization: AuthorizationReferenceService,\n\t\tprivate readonly courseCopyService: CourseCopyService\n\t) {}\n\n\tasync copyCourse(userId: EntityId, courseId: EntityId): Promise {\n\t\tthis.checkFeatureEnabled();\n\n\t\tconst context = AuthorizationContextBuilder.write([Permission.COURSE_CREATE]);\n\t\tawait this.authorization.checkPermissionByReferences(userId, AuthorizableReferenceType.Course, courseId, context);\n\n\t\tconst result = await this.courseCopyService.copyCourse({ userId, courseId });\n\n\t\treturn result;\n\t}\n\n\tprivate checkFeatureEnabled() {\n\t\t// @hpi-schul-cloud/commons is deprecated way to get envirements\n\t\tconst enabled = Configuration.get('FEATURE_COPY_SERVICE_ENABLED') as boolean;\n\t\tif (!enabled) {\n\t\t\tthrow new InternalServerErrorException('Copy Feature not enabled');\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CourseExportUc.html":{"url":"injectables/CourseExportUc.html","title":"injectable - CourseExportUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CourseExportUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/uc/course-export.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n exportCourse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(courseExportService: CommonCartridgeExportService, authorizationService: AuthorizationReferenceService)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/course-export.uc.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseExportService\n \n \n CommonCartridgeExportService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationReferenceService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n exportCourse\n \n \n \n \n \n \n \n exportCourse(courseId: EntityId, userId: EntityId, version: CommonCartridgeVersion)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/course-export.uc.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n version\n \n CommonCartridgeVersion\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContextBuilder } from '@modules/authorization';\nimport { AuthorizableReferenceType, AuthorizationReferenceService } from '@modules/authorization/domain';\nimport { Injectable } from '@nestjs/common';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { CommonCartridgeVersion } from '../common-cartridge';\nimport { CommonCartridgeExportService } from '../service/common-cartridge-export.service';\n\n@Injectable()\nexport class CourseExportUc {\n\tconstructor(\n\t\tprivate readonly courseExportService: CommonCartridgeExportService,\n\t\tprivate readonly authorizationService: AuthorizationReferenceService\n\t) {}\n\n\tasync exportCourse(courseId: EntityId, userId: EntityId, version: CommonCartridgeVersion): Promise {\n\t\tconst context = AuthorizationContextBuilder.read([Permission.COURSE_EDIT]);\n\t\tawait this.authorizationService.checkPermissionByReferences(\n\t\t\tuserId,\n\t\t\tAuthorizableReferenceType.Course,\n\t\t\tcourseId,\n\t\t\tcontext\n\t\t);\n\n\t\treturn this.courseExportService.exportCourse(courseId, userId, version);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CourseFactory.html":{"url":"classes/CourseFactory.html","title":"class - CourseFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CourseFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/course.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n isFinished\n \n \n isOpen\n \n \n studentsWithId\n \n \n teachersWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n isFinished\n \n \n \n \n \n \nisFinished()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/course.factory.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n isOpen\n \n \n \n \n \n \nisOpen()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/course.factory.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n studentsWithId\n \n \n \n \n \n \nstudentsWithId(numberOfStudents: number)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/course.factory.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n numberOfStudents\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n teachersWithId\n \n \n \n \n \n \nteachersWithId(numberOfTeachers: number)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/course.factory.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n numberOfTeachers\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DeepPartial } from 'fishery';\n\nimport { Course, CourseProperties } from '@shared/domain/entity';\n\nimport { BaseFactory } from './base.factory';\nimport { schoolFactory } from './school.factory';\nimport { userFactory } from './user.factory';\n\nconst oneDay = 24 * 60 * 60 * 1000;\n\nclass CourseFactory extends BaseFactory {\n\tisFinished(): this {\n\t\tconst untilDate = new Date(Date.now() - oneDay);\n\t\tconst params: DeepPartial = { untilDate };\n\n\t\treturn this.params(params);\n\t}\n\n\tisOpen(): this {\n\t\tconst untilDate = new Date(Date.now() + oneDay);\n\t\tconst params: DeepPartial = { untilDate };\n\n\t\treturn this.params(params);\n\t}\n\n\tstudentsWithId(numberOfStudents: number): this {\n\t\tconst students = userFactory.buildListWithId(numberOfStudents);\n\t\tconst params: DeepPartial = { students };\n\n\t\treturn this.params(params);\n\t}\n\n\tteachersWithId(numberOfTeachers: number): this {\n\t\tconst teachers = userFactory.buildListWithId(numberOfTeachers);\n\t\tconst params: DeepPartial = { teachers };\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const courseFactory = CourseFactory.define(Course, ({ sequence }) => {\n\treturn {\n\t\tname: `course #${sequence}`,\n\t\tdescription: `course #${sequence} description`,\n\t\tcolor: '#FFFFFF',\n\t\tschool: schoolFactory.build(),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/CourseGroup.html":{"url":"entities/CourseGroup.html","title":"entity - CourseGroup","body":"\n \n\n\n\n\n\n\n\n Entities\n CourseGroup\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/coursegroup.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n course\n \n \n \n name\n \n \n \n \n school\n \n \n \n \n students\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n course\n \n \n \n \n \n \n Type : Course\n\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToOne('Course', {fieldName: 'courseId'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/coursegroup.entity.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/coursegroup.entity.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n Type : SchoolEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined, {fieldName: 'schoolId'})@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/coursegroup.entity.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n students\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @ManyToMany('User', undefined, {fieldName: 'userIds'})@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/coursegroup.entity.ts:25\n \n \n\n\n \n \n\n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, Property } from '@mikro-orm/core';\nimport { EntityWithSchool } from '../interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport type { LessonParent } from './lesson.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { TaskParent } from './task.entity';\nimport type { User } from './user.entity';\n\nexport interface CourseGroupProperties {\n\tname: string;\n\tcourse: Course;\n\tstudents?: User[];\n}\n\n@Entity({ tableName: 'coursegroups' })\n@Index({ properties: ['school', 'course'] })\nexport class CourseGroup extends BaseEntityWithTimestamps implements EntityWithSchool, TaskParent, LessonParent {\n\t@Property()\n\tname: string;\n\n\t@ManyToMany('User', undefined, { fieldName: 'userIds' })\n\t@Index()\n\tstudents = new Collection(this);\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId' })\n\tcourse: Course;\n\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\t@Index()\n\tschool: SchoolEntity;\n\n\tconstructor(props: CourseGroupProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.course = props.course;\n\t\tthis.school = props.course.school;\n\t\tif (props.students) this.students.set(props.students);\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tlet studentIds: EntityId[] = [];\n\n\t\t// A not existing course group can be referenced in a submission.\n\t\t// Therefore we need to handle this case instead of returning an error here.\n\t\tif (this.students) {\n\t\t\tconst studentObjectIds = this.students.getIdentifiers('_id');\n\t\t\tstudentIds = studentObjectIds.map((id): string => id.toString());\n\t\t}\n\n\t\treturn studentIds;\n\t}\n\n\tpublic removeStudent(userId: EntityId): void {\n\t\tthis.students.remove((u) => u.id === userId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CourseGroupFactory.html":{"url":"classes/CourseGroupFactory.html","title":"class - CourseGroupFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CourseGroupFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/coursegroup.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n studentsWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n studentsWithId\n \n \n \n \n \n \nstudentsWithId(numberOfStudents: number)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/coursegroup.factory.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n numberOfStudents\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CourseGroup, CourseGroupProperties } from '@shared/domain/entity';\nimport { DeepPartial } from 'fishery';\nimport { BaseFactory } from './base.factory';\nimport { courseFactory } from './course.factory';\nimport { userFactory } from './user.factory';\n\nclass CourseGroupFactory extends BaseFactory {\n\tstudentsWithId(numberOfStudents: number): this {\n\t\tconst students = userFactory.buildListWithId(numberOfStudents);\n\t\tconst params: DeepPartial = { students };\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const courseGroupFactory = CourseGroupFactory.define(CourseGroup, ({ sequence }) => {\n\treturn {\n\t\tname: `courseGroup #${sequence}`,\n\t\tcourse: courseFactory.build(),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CourseGroupProperties.html":{"url":"interfaces/CourseGroupProperties.html","title":"interface - CourseGroupProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CourseGroupProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/coursegroup.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n course\n \n \n \n \n name\n \n \n \n Optional\n \n students\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n course\n \n \n \n \n \n \n \n \n course: Course\n\n \n \n\n\n \n \n Type : Course\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n students\n \n \n \n \n \n \n \n \n students: User[]\n\n \n \n\n\n \n \n Type : User[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, Property } from '@mikro-orm/core';\nimport { EntityWithSchool } from '../interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport type { LessonParent } from './lesson.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { TaskParent } from './task.entity';\nimport type { User } from './user.entity';\n\nexport interface CourseGroupProperties {\n\tname: string;\n\tcourse: Course;\n\tstudents?: User[];\n}\n\n@Entity({ tableName: 'coursegroups' })\n@Index({ properties: ['school', 'course'] })\nexport class CourseGroup extends BaseEntityWithTimestamps implements EntityWithSchool, TaskParent, LessonParent {\n\t@Property()\n\tname: string;\n\n\t@ManyToMany('User', undefined, { fieldName: 'userIds' })\n\t@Index()\n\tstudents = new Collection(this);\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId' })\n\tcourse: Course;\n\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\t@Index()\n\tschool: SchoolEntity;\n\n\tconstructor(props: CourseGroupProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.course = props.course;\n\t\tthis.school = props.course.school;\n\t\tif (props.students) this.students.set(props.students);\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tlet studentIds: EntityId[] = [];\n\n\t\t// A not existing course group can be referenced in a submission.\n\t\t// Therefore we need to handle this case instead of returning an error here.\n\t\tif (this.students) {\n\t\t\tconst studentObjectIds = this.students.getIdentifiers('_id');\n\t\t\tstudentIds = studentObjectIds.map((id): string => id.toString());\n\t\t}\n\n\t\treturn studentIds;\n\t}\n\n\tpublic removeStudent(userId: EntityId): void {\n\t\tthis.students.remove((u) => u.id === userId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CourseGroupRepo.html":{"url":"injectables/CourseGroupRepo.html","title":"injectable - CourseGroupRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CourseGroupRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/coursegroup/coursegroup.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findByCourseIds\n \n \n Async\n findById\n \n \n Async\n findByUserId\n \n \n create\n \n \n Async\n delete\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findByCourseIds\n \n \n \n \n \n \n \n findByCourseIds(courseIds: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/coursegroup/coursegroup.repo.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: string)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:14\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserId\n \n \n \n \n \n \n \n findByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/coursegroup/coursegroup.repo.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/coursegroup/coursegroup.repo.ts:10\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\n\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { CourseGroup } from '@shared/domain/entity';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '../base.repo';\n\n@Injectable()\nexport class CourseGroupRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn CourseGroup;\n\t}\n\n\tasync findById(id: string): Promise {\n\t\tconst courseGroup = await super.findById(id);\n\t\tawait this._em.populate(courseGroup, ['course']);\n\t\treturn courseGroup;\n\t}\n\n\tasync findByCourseIds(courseIds: EntityId[]): Promise> {\n\t\tconst [courseGroups, count] = await this._em.findAndCount(CourseGroup, {\n\t\t\tcourse: { $in: courseIds },\n\t\t});\n\t\treturn [courseGroups, count];\n\t}\n\n\tasync findByUserId(userId: EntityId): Promise> {\n\t\tconst [courseGroups, count] = await this._em.findAndCount(CourseGroup, {\n\t\t\tstudents: new ObjectId(userId),\n\t\t});\n\t\treturn [courseGroups, count];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CourseGroupRule.html":{"url":"injectables/CourseGroupRule.html","title":"injectable - CourseGroupRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CourseGroupRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/course-group.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper, courseRule: CourseRule)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/course-group.rule.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n courseRule\n \n \n CourseRule\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, entity: CourseGroup, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/course-group.rule.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n CourseGroup\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, entity: CourseGroup)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/course-group.rule.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n CourseGroup\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { CourseGroup, User } from '@shared/domain/entity';\nimport { CourseRule } from './course.rule';\nimport { Action, AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\n\n@Injectable()\nexport class CourseGroupRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper, private readonly courseRule: CourseRule) {}\n\n\tpublic isApplicable(user: User, entity: CourseGroup): boolean {\n\t\tconst isMatched = entity instanceof CourseGroup;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, entity: CourseGroup, context: AuthorizationContext): boolean {\n\t\tconst { requiredPermissions } = context;\n\n\t\tconst hasAllPermissions = this.authorizationHelper.hasAllPermissions(user, requiredPermissions);\n\t\tconst hasPermission =\n\t\t\tthis.authorizationHelper.hasAccessToEntity(user, entity, ['students']) ||\n\t\t\tthis.courseRule.hasPermission(user, entity.course, { action: Action.write, requiredPermissions: [] });\n\n\t\treturn hasAllPermissions && hasPermission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CourseGroupService.html":{"url":"injectables/CourseGroupService.html","title":"injectable - CourseGroupService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CourseGroupService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/service/coursegroup.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n deleteUserDataFromCourseGroup\n \n \n Public\n Async\n findAllCourseGroupsByUserId\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(repo: CourseGroupRepo)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/service/coursegroup.service.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n repo\n \n \n CourseGroupRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n deleteUserDataFromCourseGroup\n \n \n \n \n \n \n \n deleteUserDataFromCourseGroup(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/coursegroup.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findAllCourseGroupsByUserId\n \n \n \n \n \n \n \n findAllCourseGroupsByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/coursegroup.service.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { CourseGroup } from '@shared/domain/entity';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { CourseGroupRepo } from '@shared/repo';\n\n@Injectable()\nexport class CourseGroupService {\n\tconstructor(private readonly repo: CourseGroupRepo) {}\n\n\tpublic async findAllCourseGroupsByUserId(userId: EntityId): Promise> {\n\t\tconst [courseGroups, count] = await this.repo.findByUserId(userId);\n\n\t\treturn [courseGroups, count];\n\t}\n\n\tpublic async deleteUserDataFromCourseGroup(userId: EntityId): Promise {\n\t\tconst [courseGroups, count] = await this.repo.findByUserId(userId);\n\n\t\tcourseGroups.forEach((courseGroup) => courseGroup.removeStudent(userId));\n\n\t\tawait this.repo.save(courseGroups);\n\n\t\treturn count;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CourseMapper.html":{"url":"classes/CourseMapper.html","title":"class - CourseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CourseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/mapper/course.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToMetadataResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToMetadataResponse\n \n \n \n \n \n \n \n mapToMetadataResponse(course: Course)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/mapper/course.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n course\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CourseMetadataResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Course } from '@shared/domain/entity';\nimport { CourseMetadataResponse } from '../controller/dto';\n\nexport class CourseMapper {\n\tstatic mapToMetadataResponse(course: Course): CourseMetadataResponse {\n\t\tconst courseMetadata = course.getMetadata();\n\t\tconst dto = new CourseMetadataResponse(\n\t\t\tcourseMetadata.id,\n\t\t\tcourseMetadata.title,\n\t\t\tcourseMetadata.shortTitle,\n\t\t\tcourseMetadata.displayColor,\n\t\t\tcourseMetadata.startDate,\n\t\t\tcourseMetadata.untilDate,\n\t\t\tcourseMetadata.copyingSince\n\t\t);\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CourseMetadataListResponse.html":{"url":"classes/CourseMetadataListResponse.html","title":"class - CourseMetadataListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CourseMetadataListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/course-metadata.response.ts\n \n\n\n\n \n Extends\n \n \n PaginationResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: CourseMetadataResponse[], total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/course-metadata.response.ts:61\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n CourseMetadataResponse[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : CourseMetadataResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:68\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:14\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { PaginationResponse } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\n\nexport class CourseMetadataResponse {\n\tconstructor(\n\t\tid: EntityId,\n\t\ttitle: string,\n\t\tshortTitle: string,\n\t\tdisplayColor: string,\n\t\tstartDate?: Date,\n\t\tuntilDate?: Date,\n\t\tcopyingSince?: Date\n\t) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.shortTitle = shortTitle;\n\t\tthis.displayColor = displayColor;\n\t\tthis.startDate = startDate;\n\t\tthis.untilDate = untilDate;\n\t\tthis.copyingSince = copyingSince;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the Grid element',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Title of the Grid element',\n\t})\n\ttitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Short title of the Grid element',\n\t})\n\tshortTitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Color of the Grid element',\n\t})\n\tdisplayColor: string;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Start date of the course',\n\t})\n\tstartDate?: Date;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'End date of the course. After this the course counts as archived',\n\t})\n\tuntilDate?: Date;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Start of the copying process if it is still ongoing - otherwise property is not set.',\n\t})\n\tcopyingSince?: Date;\n}\n\nexport class CourseMetadataListResponse extends PaginationResponse {\n\tconstructor(data: CourseMetadataResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [CourseMetadataResponse] })\n\tdata: CourseMetadataResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CourseMetadataResponse.html":{"url":"classes/CourseMetadataResponse.html","title":"class - CourseMetadataResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CourseMetadataResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/course-metadata.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n copyingSince\n \n \n \n displayColor\n \n \n \n id\n \n \n \n shortTitle\n \n \n \n Optional\n startDate\n \n \n \n title\n \n \n \n Optional\n untilDate\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(id: EntityId, title: string, shortTitle: string, displayColor: string, startDate?: Date, untilDate?: Date, copyingSince?: Date)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/course-metadata.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n \n EntityId\n \n \n \n No\n \n \n \n \n title\n \n \n string\n \n \n \n No\n \n \n \n \n shortTitle\n \n \n string\n \n \n \n No\n \n \n \n \n displayColor\n \n \n string\n \n \n \n No\n \n \n \n \n startDate\n \n \n Date\n \n \n \n Yes\n \n \n \n \n untilDate\n \n \n Date\n \n \n \n Yes\n \n \n \n \n copyingSince\n \n \n Date\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n copyingSince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Start of the copying process if it is still ongoing - otherwise property is not set.'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/course-metadata.response.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n \n displayColor\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Color of the Grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/course-metadata.response.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The id of the Grid element', pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/course-metadata.response.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n shortTitle\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Short title of the Grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/course-metadata.response.ts:38\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n startDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Start date of the course'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/course-metadata.response.ts:48\n \n \n\n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Title of the Grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/course-metadata.response.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n untilDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'End date of the course. After this the course counts as archived'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/course-metadata.response.ts:53\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { PaginationResponse } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\n\nexport class CourseMetadataResponse {\n\tconstructor(\n\t\tid: EntityId,\n\t\ttitle: string,\n\t\tshortTitle: string,\n\t\tdisplayColor: string,\n\t\tstartDate?: Date,\n\t\tuntilDate?: Date,\n\t\tcopyingSince?: Date\n\t) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.shortTitle = shortTitle;\n\t\tthis.displayColor = displayColor;\n\t\tthis.startDate = startDate;\n\t\tthis.untilDate = untilDate;\n\t\tthis.copyingSince = copyingSince;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the Grid element',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Title of the Grid element',\n\t})\n\ttitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Short title of the Grid element',\n\t})\n\tshortTitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Color of the Grid element',\n\t})\n\tdisplayColor: string;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Start date of the course',\n\t})\n\tstartDate?: Date;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'End date of the course. After this the course counts as archived',\n\t})\n\tuntilDate?: Date;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Start of the copying process if it is still ongoing - otherwise property is not set.',\n\t})\n\tcopyingSince?: Date;\n}\n\nexport class CourseMetadataListResponse extends PaginationResponse {\n\tconstructor(data: CourseMetadataResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [CourseMetadataResponse] })\n\tdata: CourseMetadataResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/CourseNews.html":{"url":"entities/CourseNews.html","title":"entity - CourseNews","body":"\n \n\n\n\n\n\n\n\n Entities\n CourseNews\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/news.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n target\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : Course\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('Course', {nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:116\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Enum, Index, ManyToOne, Property } from '@mikro-orm/core';\nimport { EntityId } from '../types';\nimport { NewsTarget, NewsTargetModel } from '../types/news.types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { TeamEntity } from './team.entity';\nimport type { User } from './user.entity';\n\nexport interface NewsProperties {\n\ttitle: string;\n\tcontent: string;\n\tdisplayAt: Date;\n\tschool: EntityId | SchoolEntity;\n\tcreator: EntityId | User;\n\ttarget: EntityId | NewsTarget;\n\n\texternalId?: string;\n\tsource?: 'internal' | 'rss';\n\tsourceDescription?: string;\n\tupdater?: User;\n}\n\n@Entity({\n\tdiscriminatorColumn: 'targetModel',\n\tabstract: true,\n})\n@Index({ properties: ['school', 'target'] })\n@Index({ properties: ['school', 'target', 'targetModel'] })\n@Index({ properties: ['target', 'targetModel'] })\nexport abstract class News extends BaseEntityWithTimestamps {\n\t/** the news title */\n\t@Property()\n\ttitle: string;\n\n\t/** the news content as html */\n\t@Property()\n\tcontent: string;\n\n\t/** only past news are visible for viewers, when edit permission, news visible in the future might be accessed too */\n\t@Property()\n\t@Index()\n\tdisplayAt: Date;\n\n\t@Property({ nullable: true })\n\texternalId?: string;\n\n\t@Property({ nullable: true })\n\tsource?: 'internal' | 'rss';\n\n\t@Property({ nullable: true })\n\tsourceDescription?: string;\n\n\t/** id reference to a collection populated later with name */\n\ttarget!: NewsTarget;\n\n\t/** name of a collection which is referenced in target */\n\t@Enum()\n\ttargetModel!: NewsTargetModel;\n\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool!: SchoolEntity;\n\n\t@ManyToOne('User', { fieldName: 'creatorId' })\n\tcreator!: User;\n\n\t@ManyToOne('User', { fieldName: 'updaterId', nullable: true })\n\tupdater?: User;\n\n\tpermissions: string[] = [];\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper();\n\t\tthis.title = props.title;\n\t\tthis.content = props.content;\n\t\tthis.displayAt = props.displayAt;\n\t\tObject.assign(this, { school: props.school, creator: props.creator, updater: props.updater, target: props.target });\n\t\tthis.externalId = props.externalId;\n\t\tthis.source = props.source;\n\t\tthis.sourceDescription = props.sourceDescription;\n\t}\n\n\tstatic createInstance(targetModel: NewsTargetModel, props: NewsProperties): News {\n\t\tlet news: News;\n\t\tif (targetModel === NewsTargetModel.Course) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new CourseNews(props);\n\t\t} else if (targetModel === NewsTargetModel.Team) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new TeamNews(props);\n\t\t} else {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new SchoolNews(props);\n\t\t}\n\t\treturn news;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.School })\nexport class SchoolNews extends News {\n\t@ManyToOne(() => SchoolEntity)\n\ttarget!: SchoolEntity;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.School;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.Course })\nexport class CourseNews extends News {\n\t// FIXME Due to a weird behaviour in the mikro-orm validation we have to\n\t// disable the validation by setting the reference nullable.\n\t// Remove when fixed in mikro-orm.\n\t@ManyToOne('Course', { nullable: true })\n\ttarget!: Course;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.Course;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.Team })\nexport class TeamNews extends News {\n\t@ManyToOne('TeamEntity')\n\ttarget!: TeamEntity;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.Team;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CourseProperties.html":{"url":"interfaces/CourseProperties.html","title":"interface - CourseProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CourseProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/course.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n classes\n \n \n \n Optional\n \n color\n \n \n \n Optional\n \n copyingSince\n \n \n \n Optional\n \n description\n \n \n \n Optional\n \n features\n \n \n \n Optional\n \n groups\n \n \n \n Optional\n \n name\n \n \n \n \n school\n \n \n \n Optional\n \n startDate\n \n \n \n Optional\n \n students\n \n \n \n Optional\n \n substitutionTeachers\n \n \n \n Optional\n \n teachers\n \n \n \n Optional\n \n untilDate\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n classes\n \n \n \n \n \n \n \n \n classes: ClassEntity[]\n\n \n \n\n\n \n \n Type : ClassEntity[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n color\n \n \n \n \n \n \n \n \n color: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n copyingSince\n \n \n \n \n \n \n \n \n copyingSince: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n description: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n features\n \n \n \n \n \n \n \n \n features: CourseFeatures[]\n\n \n \n\n\n \n \n Type : CourseFeatures[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n groups\n \n \n \n \n \n \n \n \n groups: GroupEntity[]\n\n \n \n\n\n \n \n Type : GroupEntity[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n \n \n school: SchoolEntity\n\n \n \n\n\n \n \n Type : SchoolEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n startDate\n \n \n \n \n \n \n \n \n startDate: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n students\n \n \n \n \n \n \n \n \n students: User[]\n\n \n \n\n\n \n \n Type : User[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n substitutionTeachers\n \n \n \n \n \n \n \n \n substitutionTeachers: User[]\n\n \n \n\n\n \n \n Type : User[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n teachers\n \n \n \n \n \n \n \n \n teachers: User[]\n\n \n \n\n\n \n \n Type : User[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n untilDate\n \n \n \n \n \n \n \n \n untilDate: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Entity, Enum, Index, ManyToMany, ManyToOne, OneToMany, Property, Unique } from '@mikro-orm/core';\nimport { ClassEntity } from '@modules/class/entity/class.entity';\nimport { GroupEntity } from '@modules/group/entity/group.entity';\nimport { InternalServerErrorException } from '@nestjs/common/exceptions/internal-server-error.exception';\nimport { EntityWithSchool, Learnroom } from '@shared/domain/interface';\nimport { EntityId, LearnroomMetadata, LearnroomTypes } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport type { LessonParent } from './lesson.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { TaskParent } from './task.entity';\nimport type { User } from './user.entity';\n\nexport interface CourseProperties {\n\tname?: string;\n\tdescription?: string;\n\tschool: SchoolEntity;\n\tstudents?: User[];\n\tteachers?: User[];\n\tsubstitutionTeachers?: User[];\n\t// TODO: color format\n\tcolor?: string;\n\tstartDate?: Date;\n\tuntilDate?: Date;\n\tcopyingSince?: Date;\n\tfeatures?: CourseFeatures[];\n\tclasses?: ClassEntity[];\n\tgroups?: GroupEntity[];\n}\n\n// that is really really shit default handling :D constructor, getter, js default, em default...what the hell\n// i hope it can cleanup with adding schema instant of I...Properties.\nconst DEFAULT = {\n\tcolor: '#ACACAC',\n\tname: 'Kurse',\n\tdescription: '',\n};\n\nconst enum CourseFeatures {\n\tVIDEOCONFERENCE = 'videoconference',\n}\n\nexport class UsersList {\n\tid!: string;\n\n\tfirstName!: string;\n\n\tlastName!: string;\n}\n\n@Entity({ tableName: 'courses' })\nexport class Course extends BaseEntityWithTimestamps implements Learnroom, EntityWithSchool, TaskParent, LessonParent {\n\t@Property()\n\tname: string = DEFAULT.name;\n\n\t@Property()\n\tdescription: string = DEFAULT.description;\n\n\t@Index()\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool: SchoolEntity;\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'userIds' })\n\tstudents = new Collection(this);\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'teacherIds' })\n\tteachers = new Collection(this);\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'substitutionIds' })\n\tsubstitutionTeachers = new Collection(this);\n\n\t@OneToMany('CourseGroup', 'course', { orphanRemoval: true })\n\tcourseGroups = new Collection(this);\n\n\t// TODO: string color format\n\t@Property()\n\tcolor: string = DEFAULT.color;\n\n\t@Property({ nullable: true })\n\tstartDate?: Date;\n\n\t@Index()\n\t@Property({ nullable: true })\n\tuntilDate?: Date;\n\n\t@Property({ nullable: true })\n\tcopyingSince?: Date;\n\n\t@Property({ nullable: true })\n\t@Unique({ options: { sparse: true } })\n\tshareToken?: string;\n\n\t@Enum({ nullable: true, array: true })\n\tfeatures?: CourseFeatures[];\n\n\t@ManyToMany(() => ClassEntity, undefined, { fieldName: 'classIds' })\n\tclasses = new Collection(this);\n\n\t@ManyToMany(() => GroupEntity, undefined, { fieldName: 'groupIds' })\n\tgroups = new Collection(this);\n\n\tconstructor(props: CourseProperties) {\n\t\tsuper();\n\t\tif (props.name) this.name = props.name;\n\t\tif (props.description) this.description = props.description;\n\t\tthis.school = props.school;\n\t\tthis.students.set(props.students || []);\n\t\tthis.teachers.set(props.teachers || []);\n\t\tthis.substitutionTeachers.set(props.substitutionTeachers || []);\n\t\tif (props.color) this.color = props.color;\n\t\tif (props.untilDate) this.untilDate = props.untilDate;\n\t\tif (props.startDate) this.startDate = props.startDate;\n\t\tif (props.copyingSince) this.copyingSince = props.copyingSince;\n\t\tif (props.features) this.features = props.features;\n\t\tthis.classes.set(props.classes || []);\n\t\tthis.groups.set(props.groups || []);\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst studentIds = Course.extractIds(this.students);\n\t\treturn studentIds;\n\t}\n\n\tpublic getTeacherIds(): EntityId[] {\n\t\tconst teacherIds = Course.extractIds(this.teachers);\n\t\treturn teacherIds;\n\t}\n\n\tpublic getSubstitutionTeacherIds(): EntityId[] {\n\t\tconst substitutionTeacherIds = Course.extractIds(this.substitutionTeachers);\n\t\treturn substitutionTeacherIds;\n\t}\n\n\tprivate static extractIds(users: Collection): EntityId[] {\n\t\tif (!users) {\n\t\t\tthrow new InternalServerErrorException(\n\t\t\t\t`Students, teachers or stubstitution is undefined. The course needs to be populated`\n\t\t\t);\n\t\t}\n\n\t\tconst objectIds = users.getIdentifiers('_id');\n\t\tconst ids = objectIds.map((id): string => id.toString());\n\n\t\treturn ids;\n\t}\n\n\tpublic getStudentsList(): UsersList[] {\n\t\tconst users = this.students.getItems();\n\t\tif (users.length) {\n\t\t\tconst usersList = Course.extractUserList(users);\n\t\t\treturn usersList;\n\t\t}\n\t\treturn [];\n\t}\n\n\tpublic getTeachersList(): UsersList[] {\n\t\tconst users = this.teachers.getItems();\n\t\tif (users.length) {\n\t\t\tconst usersList = Course.extractUserList(users);\n\t\t\treturn usersList;\n\t\t}\n\t\treturn [];\n\t}\n\n\tpublic getSubstitutionTeachersList(): UsersList[] {\n\t\tconst users = this.substitutionTeachers.getItems();\n\t\tif (users.length) {\n\t\t\tconst usersList = Course.extractUserList(users);\n\t\t\treturn usersList;\n\t\t}\n\t\treturn [];\n\t}\n\n\tprivate static extractUserList(users: User[]): UsersList[] {\n\t\tconst usersList: UsersList[] = users.map((user) => {\n\t\t\treturn {\n\t\t\t\tid: user.id,\n\t\t\t\tfirstName: user.firstName,\n\t\t\t\tlastName: user.lastName,\n\t\t\t};\n\t\t});\n\t\treturn usersList;\n\t}\n\n\tpublic isUserSubstitutionTeacher(user: User): boolean {\n\t\tconst isSubstitutionTeacher = this.substitutionTeachers.contains(user);\n\n\t\treturn isSubstitutionTeacher;\n\t}\n\n\tpublic getCourseGroupItems(): CourseGroup[] {\n\t\tif (!this.courseGroups.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Courses trying to access their course groups that are not loaded.');\n\t\t}\n\t\tconst courseGroups = this.courseGroups.getItems();\n\n\t\treturn courseGroups;\n\t}\n\n\tgetShortTitle(): string {\n\t\tif (this.name.length === 1) {\n\t\t\treturn this.name;\n\t\t}\n\t\tconst [firstChar, secondChar] = [...this.name];\n\t\tconst pattern = /\\p{Extended_Pictographic}/u;\n\t\tif (pattern.test(firstChar)) {\n\t\t\treturn firstChar;\n\t\t}\n\t\treturn firstChar + secondChar;\n\t}\n\n\tpublic getMetadata(): LearnroomMetadata {\n\t\treturn {\n\t\t\tid: this.id,\n\t\t\ttype: LearnroomTypes.Course,\n\t\t\ttitle: this.name,\n\t\t\tshortTitle: this.getShortTitle(),\n\t\t\tdisplayColor: this.color,\n\t\t\tuntilDate: this.untilDate,\n\t\t\tstartDate: this.startDate,\n\t\t\tcopyingSince: this.copyingSince,\n\t\t};\n\t}\n\n\tpublic isFinished(): boolean {\n\t\tif (!this.untilDate) {\n\t\t\treturn false;\n\t\t}\n\t\tconst isFinished = this.untilDate u.id === userId);\n\t}\n\n\tprivate removeTeacher(userId: EntityId): void {\n\t\tthis.teachers.remove((u) => u.id === userId);\n\t}\n\n\tprivate removeSubstitutionTeacher(userId: EntityId): void {\n\t\tthis.substitutionTeachers.remove((u) => u.id === userId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CourseQueryParams.html":{"url":"classes/CourseQueryParams.html","title":"class - CourseQueryParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CourseQueryParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/course.query.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n version\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n version\n \n \n \n \n \n \n Type : CommonCartridgeVersion\n\n \n \n \n \n Decorators : \n \n \n @IsString()@Matches(undefined)@ApiProperty({description: 'The version of CC export', required: true, nullable: false, enum: CommonCartridgeVersion})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/course.query.params.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsString, Matches } from 'class-validator';\nimport { CommonCartridgeVersion } from '../../common-cartridge';\n\nexport class CourseQueryParams {\n\t@IsString()\n\t@Matches(Object.values(CommonCartridgeVersion).join('|'))\n\t@ApiProperty({\n\t\tdescription: 'The version of CC export',\n\t\trequired: true,\n\t\tnullable: false,\n\t\tenum: CommonCartridgeVersion,\n\t})\n\tversion!: CommonCartridgeVersion;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CourseRepo.html":{"url":"injectables/CourseRepo.html","title":"injectable - CourseRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CourseRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/course/course.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createCourse\n \n \n Async\n findAllByUserId\n \n \n Async\n findAllForTeacher\n \n \n Async\n findAllForTeacherOrSubstituteTeacher\n \n \n Async\n findById\n \n \n Async\n findOne\n \n \n create\n \n \n Async\n delete\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createCourse\n \n \n \n \n \n \n \n createCourse(course: Course)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/course/course.repo.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n course\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllByUserId\n \n \n \n \n \n \n \n findAllByUserId(userId: EntityId, filters?: literal type, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/course/course.repo.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n filters\n \n literal type\n \n\n \n Yes\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllForTeacher\n \n \n \n \n \n \n \n findAllForTeacher(userId: EntityId, filters?: literal type, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/course/course.repo.ts:97\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n filters\n \n literal type\n \n\n \n Yes\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllForTeacherOrSubstituteTeacher\n \n \n \n \n \n \n \n findAllForTeacherOrSubstituteTeacher(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/course/course.repo.ts:122\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId, populate)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:65\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n \n \n\n \n \n populate\n \n \n\n \n No\n \n\n \n true\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findOne\n \n \n \n \n \n \n \n findOne(courseId: EntityId, userId?: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/course/course.repo.ts:131\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/course/course.repo.ts:57\n \n \n\n \n \n\n \n\n\n \n import { FilterQuery, QueryOrderMap } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\n\nimport { Course } from '@shared/domain/entity';\nimport { IFindOptions } from '@shared/domain/interface';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '../base.repo';\nimport { Scope } from '../scope';\n\nclass CourseScope extends Scope {\n\tforAllGroupTypes(userId: EntityId): CourseScope {\n\t\tconst isStudent = { students: userId };\n\t\tconst isTeacher = { teachers: userId };\n\t\tconst isSubstitutionTeacher = { substitutionTeachers: userId };\n\n\t\tif (userId) {\n\t\t\tthis.addQuery({ $or: [isStudent, isTeacher, isSubstitutionTeacher] });\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tforTeacherOrSubstituteTeacher(userId: EntityId): CourseScope {\n\t\tconst isTeacher = { teachers: userId };\n\t\tconst isSubstitutionTeacher = { substitutionTeachers: userId };\n\n\t\tif (userId) {\n\t\t\tthis.addQuery({ $or: [isTeacher, isSubstitutionTeacher] });\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tforTeacher(userId: EntityId): CourseScope {\n\t\tthis.addQuery({ teachers: userId });\n\t\treturn this;\n\t}\n\n\tforActiveCourses(): CourseScope {\n\t\tconst now = new Date();\n\t\tconst noUntilDate = { untilDate: { $exists: false } } as FilterQuery;\n\t\tconst untilDateInFuture = { untilDate: { $gte: now } };\n\n\t\tthis.addQuery({ $or: [noUntilDate, untilDateInFuture] });\n\n\t\treturn this;\n\t}\n\n\tforCourseId(courseId: EntityId): CourseScope {\n\t\tthis.addQuery({ id: courseId });\n\t\treturn this;\n\t}\n}\n\n@Injectable()\nexport class CourseRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn Course;\n\t}\n\n\tasync createCourse(course: Course): Promise {\n\t\treturn this.save(this.create(course));\n\t}\n\n\tasync findById(id: EntityId, populate = true): Promise {\n\t\tconst course = await super.findById(id);\n\t\tif (populate) {\n\t\t\tawait this._em.populate(course, ['courseGroups', 'teachers', 'substitutionTeachers', 'students']);\n\t\t}\n\t\treturn course;\n\t}\n\n\tasync findAllByUserId(\n\t\tuserId: EntityId,\n\t\tfilters?: { onlyActiveCourses?: boolean },\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst scope = new CourseScope();\n\t\tscope.forAllGroupTypes(userId);\n\n\t\tif (filters?.onlyActiveCourses) {\n\t\t\tscope.forActiveCourses();\n\t\t}\n\n\t\tconst { pagination, order } = options || {};\n\t\tconst queryOptions = {\n\t\t\toffset: pagination?.skip,\n\t\t\tlimit: pagination?.limit,\n\t\t\torderBy: order as QueryOrderMap,\n\t\t};\n\n\t\tconst [courses, count] = await this._em.findAndCount(Course, scope.query, queryOptions);\n\n\t\treturn [courses, count];\n\t}\n\n\tasync findAllForTeacher(\n\t\tuserId: EntityId,\n\t\tfilters?: { onlyActiveCourses?: boolean },\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst scope = new CourseScope();\n\t\tscope.forTeacher(userId);\n\n\t\tif (filters?.onlyActiveCourses) {\n\t\t\tscope.forActiveCourses();\n\t\t}\n\n\t\tconst { pagination, order } = options || {};\n\t\tconst queryOptions = {\n\t\t\toffset: pagination?.skip,\n\t\t\tlimit: pagination?.limit,\n\t\t\torderBy: order as QueryOrderMap,\n\t\t};\n\n\t\tconst [courses, count] = await this._em.findAndCount(Course, scope.query, queryOptions);\n\n\t\treturn [courses, count];\n\t}\n\n\t// not tested in repo.integration.spec\n\tasync findAllForTeacherOrSubstituteTeacher(userId: EntityId): Promise> {\n\t\tconst scope = new CourseScope();\n\t\tscope.forTeacherOrSubstituteTeacher(userId);\n\n\t\tconst [courses, count] = await this._em.findAndCount(Course, scope.query);\n\n\t\treturn [courses, count];\n\t}\n\n\tasync findOne(courseId: EntityId, userId?: EntityId): Promise {\n\t\tconst scope = new CourseScope();\n\t\tscope.forCourseId(courseId);\n\t\tif (userId) scope.forAllGroupTypes(userId);\n\n\t\tconst course = await this._em.findOneOrFail(Course, scope.query);\n\n\t\treturn course;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CourseRule.html":{"url":"injectables/CourseRule.html","title":"injectable - CourseRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CourseRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/course.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/course.rule.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, entity: Course, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/course.rule.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n Course\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, entity: Course)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/course.rule.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Course, User } from '@shared/domain/entity';\nimport { Action, AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\n\n@Injectable()\nexport class CourseRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper) {}\n\n\tpublic isApplicable(user: User, entity: Course): boolean {\n\t\tconst isMatched = entity instanceof Course;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, entity: Course, context: AuthorizationContext): boolean {\n\t\tconst { action, requiredPermissions } = context;\n\t\tconst hasPermission =\n\t\t\tthis.authorizationHelper.hasAllPermissions(user, requiredPermissions) &&\n\t\t\tthis.authorizationHelper.hasAccessToEntity(\n\t\t\t\tuser,\n\t\t\t\tentity,\n\t\t\t\taction === Action.read ? ['teachers', 'substitutionTeachers', 'students'] : ['teachers', 'substitutionTeachers']\n\t\t\t);\n\n\t\treturn hasPermission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CourseScope.html":{"url":"classes/CourseScope.html","title":"class - CourseScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CourseScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/course/course.repo.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n forActiveCourses\n \n \n forAllGroupTypes\n \n \n forCourseId\n \n \n forTeacher\n \n \n forTeacherOrSubstituteTeacher\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n forActiveCourses\n \n \n \n \n \n \nforActiveCourses()\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/course/course.repo.ts:39\n \n \n\n\n \n \n\n \n Returns : CourseScope\n\n \n \n \n \n \n \n \n \n \n \n \n forAllGroupTypes\n \n \n \n \n \n \nforAllGroupTypes(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/course/course.repo.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CourseScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n forCourseId\n \n \n \n \n \n \nforCourseId(courseId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/course/course.repo.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CourseScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n forTeacher\n \n \n \n \n \n \nforTeacher(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/course/course.repo.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CourseScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n forTeacherOrSubstituteTeacher\n \n \n \n \n \n \nforTeacherOrSubstituteTeacher(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/course/course.repo.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CourseScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { FilterQuery, QueryOrderMap } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\n\nimport { Course } from '@shared/domain/entity';\nimport { IFindOptions } from '@shared/domain/interface';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '../base.repo';\nimport { Scope } from '../scope';\n\nclass CourseScope extends Scope {\n\tforAllGroupTypes(userId: EntityId): CourseScope {\n\t\tconst isStudent = { students: userId };\n\t\tconst isTeacher = { teachers: userId };\n\t\tconst isSubstitutionTeacher = { substitutionTeachers: userId };\n\n\t\tif (userId) {\n\t\t\tthis.addQuery({ $or: [isStudent, isTeacher, isSubstitutionTeacher] });\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tforTeacherOrSubstituteTeacher(userId: EntityId): CourseScope {\n\t\tconst isTeacher = { teachers: userId };\n\t\tconst isSubstitutionTeacher = { substitutionTeachers: userId };\n\n\t\tif (userId) {\n\t\t\tthis.addQuery({ $or: [isTeacher, isSubstitutionTeacher] });\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tforTeacher(userId: EntityId): CourseScope {\n\t\tthis.addQuery({ teachers: userId });\n\t\treturn this;\n\t}\n\n\tforActiveCourses(): CourseScope {\n\t\tconst now = new Date();\n\t\tconst noUntilDate = { untilDate: { $exists: false } } as FilterQuery;\n\t\tconst untilDateInFuture = { untilDate: { $gte: now } };\n\n\t\tthis.addQuery({ $or: [noUntilDate, untilDateInFuture] });\n\n\t\treturn this;\n\t}\n\n\tforCourseId(courseId: EntityId): CourseScope {\n\t\tthis.addQuery({ id: courseId });\n\t\treturn this;\n\t}\n}\n\n@Injectable()\nexport class CourseRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn Course;\n\t}\n\n\tasync createCourse(course: Course): Promise {\n\t\treturn this.save(this.create(course));\n\t}\n\n\tasync findById(id: EntityId, populate = true): Promise {\n\t\tconst course = await super.findById(id);\n\t\tif (populate) {\n\t\t\tawait this._em.populate(course, ['courseGroups', 'teachers', 'substitutionTeachers', 'students']);\n\t\t}\n\t\treturn course;\n\t}\n\n\tasync findAllByUserId(\n\t\tuserId: EntityId,\n\t\tfilters?: { onlyActiveCourses?: boolean },\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst scope = new CourseScope();\n\t\tscope.forAllGroupTypes(userId);\n\n\t\tif (filters?.onlyActiveCourses) {\n\t\t\tscope.forActiveCourses();\n\t\t}\n\n\t\tconst { pagination, order } = options || {};\n\t\tconst queryOptions = {\n\t\t\toffset: pagination?.skip,\n\t\t\tlimit: pagination?.limit,\n\t\t\torderBy: order as QueryOrderMap,\n\t\t};\n\n\t\tconst [courses, count] = await this._em.findAndCount(Course, scope.query, queryOptions);\n\n\t\treturn [courses, count];\n\t}\n\n\tasync findAllForTeacher(\n\t\tuserId: EntityId,\n\t\tfilters?: { onlyActiveCourses?: boolean },\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst scope = new CourseScope();\n\t\tscope.forTeacher(userId);\n\n\t\tif (filters?.onlyActiveCourses) {\n\t\t\tscope.forActiveCourses();\n\t\t}\n\n\t\tconst { pagination, order } = options || {};\n\t\tconst queryOptions = {\n\t\t\toffset: pagination?.skip,\n\t\t\tlimit: pagination?.limit,\n\t\t\torderBy: order as QueryOrderMap,\n\t\t};\n\n\t\tconst [courses, count] = await this._em.findAndCount(Course, scope.query, queryOptions);\n\n\t\treturn [courses, count];\n\t}\n\n\t// not tested in repo.integration.spec\n\tasync findAllForTeacherOrSubstituteTeacher(userId: EntityId): Promise> {\n\t\tconst scope = new CourseScope();\n\t\tscope.forTeacherOrSubstituteTeacher(userId);\n\n\t\tconst [courses, count] = await this._em.findAndCount(Course, scope.query);\n\n\t\treturn [courses, count];\n\t}\n\n\tasync findOne(courseId: EntityId, userId?: EntityId): Promise {\n\t\tconst scope = new CourseScope();\n\t\tscope.forCourseId(courseId);\n\t\tif (userId) scope.forAllGroupTypes(userId);\n\n\t\tconst course = await this._em.findOneOrFail(Course, scope.query);\n\n\t\treturn course;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CourseService.html":{"url":"injectables/CourseService.html","title":"injectable - CourseService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CourseService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/service/course.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n deleteUserDataFromCourse\n \n \n Async\n findAllByUserId\n \n \n Public\n Async\n findAllCoursesByUserId\n \n \n Async\n findById\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(repo: CourseRepo)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/service/course.service.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n repo\n \n \n CourseRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n deleteUserDataFromCourse\n \n \n \n \n \n \n \n deleteUserDataFromCourse(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/course.service.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllByUserId\n \n \n \n \n \n \n \n findAllByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/course.service.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findAllCoursesByUserId\n \n \n \n \n \n \n \n findAllCoursesByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/course.service.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(courseId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/course.service.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Course } from '@shared/domain/entity';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { CourseRepo } from '@shared/repo';\n\n@Injectable()\nexport class CourseService {\n\tconstructor(private readonly repo: CourseRepo) {}\n\n\tasync findById(courseId: EntityId): Promise {\n\t\treturn this.repo.findById(courseId);\n\t}\n\n\tpublic async findAllCoursesByUserId(userId: EntityId): Promise> {\n\t\tconst [courses, count] = await this.repo.findAllByUserId(userId);\n\n\t\treturn [courses, count];\n\t}\n\n\tpublic async deleteUserDataFromCourse(userId: EntityId): Promise {\n\t\tconst [courses, count] = await this.repo.findAllByUserId(userId);\n\n\t\tcourses.forEach((course: Course) => course.removeUser(userId));\n\n\t\tawait this.repo.save(courses);\n\n\t\treturn count;\n\t}\n\n\tasync findAllByUserId(userId: EntityId): Promise {\n\t\tconst [courses] = await this.repo.findAllByUserId(userId);\n\n\t\treturn courses;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CourseUc.html":{"url":"injectables/CourseUc.html","title":"injectable - CourseUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CourseUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/uc/course.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n findAllByUser\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(courseRepo: CourseRepo)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/course.uc.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseRepo\n \n \n CourseRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n findAllByUser\n \n \n \n \n \n \nfindAllByUser(userId: EntityId, options?: PaginationParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/course.uc.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n options\n \n PaginationParams\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { PaginationParams } from '@shared/controller/';\nimport { Course } from '@shared/domain/entity';\nimport { SortOrder } from '@shared/domain/interface';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { CourseRepo } from '@shared/repo';\n\n@Injectable()\nexport class CourseUc {\n\tconstructor(private readonly courseRepo: CourseRepo) {}\n\n\tfindAllByUser(userId: EntityId, options?: PaginationParams): Promise> {\n\t\treturn this.courseRepo.findAllByUserId(userId, {}, { pagination: options, order: { updatedAt: SortOrder.desc } });\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CourseUrlHandler.html":{"url":"injectables/CourseUrlHandler.html","title":"injectable - CourseUrlHandler","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CourseUrlHandler\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/service/url-handler/course-url-handler.ts\n \n\n\n\n \n Extends\n \n \n AbstractUrlHandler\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n patterns\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getMetaData\n \n \n doesUrlMatch\n \n \n Protected\n extractId\n \n \n getDefaultMetaData\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(courseService: CourseService)\n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/course-url-handler.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseService\n \n \n CourseService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getMetaData\n \n \n \n \n \n \n \n getMetaData(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/course-url-handler.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n doesUrlMatch\n \n \n \n \n \n \ndoesUrlMatch(url: string)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n extractId\n \n \n \n \n \n \n \n extractId(url: string)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getDefaultMetaData\n \n \n \n \n \n \ngetDefaultMetaData(url: string, partial: Partial)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n partial\n \n Partial\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : MetaData\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n patterns\n \n \n \n \n \n \n Type : RegExp[]\n\n \n \n \n \n Default value : [/\\/rooms\\/([0-9a-z]+)$/i]\n \n \n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:9\n\n \n \n\n\n \n \n\n\n \n\n\n \n import { CourseService } from '@modules/learnroom';\nimport { Injectable } from '@nestjs/common';\nimport type { UrlHandler } from '../../interface/url-handler';\nimport { MetaData } from '../../types';\nimport { AbstractUrlHandler } from './abstract-url-handler';\n\n@Injectable()\nexport class CourseUrlHandler extends AbstractUrlHandler implements UrlHandler {\n\tpatterns: RegExp[] = [/\\/rooms\\/([0-9a-z]+)$/i];\n\n\tconstructor(private readonly courseService: CourseService) {\n\t\tsuper();\n\t}\n\n\tasync getMetaData(url: string): Promise {\n\t\tconst id = this.extractId(url);\n\t\tif (id === undefined) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst metaData = this.getDefaultMetaData(url, { type: 'course' });\n\t\tconst course = await this.courseService.findById(id);\n\t\tif (course) {\n\t\t\tmetaData.title = course.name;\n\t\t}\n\n\t\treturn metaData;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CourseUrlParams.html":{"url":"classes/CourseUrlParams.html","title":"class - CourseUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CourseUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/course.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n courseId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n courseId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the course', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/course.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class CourseUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the course',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tcourseId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CreateCardBodyParams.html":{"url":"classes/CreateCardBodyParams.html","title":"class - CreateCardBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CreateCardBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/card/create-card.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n requiredEmptyElements\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n requiredEmptyElements\n \n \n \n \n \n \n Type : ContentElementType[]\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ContentElementType, {each: true})@IsOptional()@ApiPropertyOptional({required: false, isArray: true, enum: ContentElementType})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/create-card.body.params.ts:13\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { IsEnum, IsOptional } from 'class-validator';\n\nexport class CreateCardBodyParams {\n\t@IsEnum(ContentElementType, { each: true })\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\trequired: false,\n\t\tisArray: true,\n\t\tenum: ContentElementType,\n\t})\n\trequiredEmptyElements?: ContentElementType[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CreateContentElementBodyParams.html":{"url":"classes/CreateContentElementBodyParams.html","title":"class - CreateContentElementBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CreateContentElementBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/create-content-element.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n toPosition\n \n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n toPosition\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsInt()@Min(0)@ApiPropertyOptional({description: 'to bring element to a specific position, default is last position', type: Number, required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/create-content-element.body.params.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ContentElementType)@ApiProperty({description: 'The type of element', enum: ContentElementType, required: true, nullable: false, enumName: 'ContentElementType'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/create-content-element.body.params.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { IsEnum, IsInt, IsOptional, Min } from 'class-validator';\n\nexport class CreateContentElementBodyParams {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tdescription: 'The type of element',\n\t\tenum: ContentElementType,\n\t\trequired: true,\n\t\tnullable: false,\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n\n\t@IsOptional()\n\t@IsInt()\n\t@Min(0)\n\t@ApiPropertyOptional({\n\t\tdescription: 'to bring element to a specific position, default is last position',\n\t\ttype: Number,\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\ttoPosition?: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CreateJwtParams.html":{"url":"interfaces/CreateJwtParams.html","title":"interface - CreateJwtParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CreateJwtParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/jwt.test.factory.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n accountId\n \n \n \n Optional\n \n aud\n \n \n \n Optional\n \n external_sub\n \n \n \n Optional\n \n iss\n \n \n \n Optional\n \n privateKey\n \n \n \n Optional\n \n sub\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n accountId\n \n \n \n \n \n \n \n \n accountId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n aud\n \n \n \n \n \n \n \n \n aud: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n external_sub\n \n \n \n \n \n \n \n \n external_sub: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n iss\n \n \n \n \n \n \n \n \n iss: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n privateKey\n \n \n \n \n \n \n \n \n privateKey: string | Buffer\n\n \n \n\n\n \n \n Type : string | Buffer\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n sub\n \n \n \n \n \n \n \n \n sub: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import jwt from 'jsonwebtoken';\nimport crypto, { KeyPairKeyObjectResult } from 'crypto';\n\nconst keyPair: KeyPairKeyObjectResult = crypto.generateKeyPairSync('rsa', { modulusLength: 4096 });\nconst publicKey: string | Buffer = keyPair.publicKey.export({ type: 'pkcs1', format: 'pem' });\nconst privateKey: string | Buffer = keyPair.privateKey.export({ type: 'pkcs1', format: 'pem' });\n\ninterface CreateJwtParams {\n\tprivateKey?: string | Buffer;\n\tsub?: string;\n\tiss?: string;\n\taud?: string;\n\taccountId?: string;\n\texternal_sub?: string;\n}\n\nexport class JwtTestFactory {\n\tpublic static getPublicKey(): string | Buffer {\n\t\treturn publicKey;\n\t}\n\n\tpublic static createJwt(params?: CreateJwtParams): string {\n\t\tconst validJwt = jwt.sign(\n\t\t\t{\n\t\t\t\tsub: params?.sub ?? 'testUser',\n\t\t\t\tiss: params?.iss ?? 'issuer',\n\t\t\t\taud: params?.aud ?? 'audience',\n\t\t\t\tjti: 'jti',\n\t\t\t\tiat: Date.now(),\n\t\t\t\texp: Date.now() + 100000,\n\t\t\t\taccountId: params?.accountId ?? 'accountId',\n\t\t\t\texternal_sub: params?.external_sub ?? 'externalSub',\n\t\t\t},\n\t\t\tparams?.privateKey ?? privateKey,\n\t\t\t{\n\t\t\t\talgorithm: 'RS256',\n\t\t\t}\n\t\t);\n\t\treturn validJwt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CreateJwtPayload.html":{"url":"interfaces/CreateJwtPayload.html","title":"interface - CreateJwtPayload","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CreateJwtPayload\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/interface/jwt-payload.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n accountId\n \n \n \n \n isExternalUser\n \n \n \n \n roles\n \n \n \n \n schoolId\n \n \n \n Optional\n \n support\n \n \n \n Optional\n \n systemId\n \n \n \n \n userId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n accountId\n \n \n \n \n \n \n \n \n accountId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n isExternalUser\n \n \n \n \n \n \n \n \n isExternalUser: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n roles\n \n \n \n \n \n \n \n \n roles: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n schoolId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n support\n \n \n \n \n \n \n \n \n support: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n systemId\n \n \n \n \n \n \n \n \n systemId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface CreateJwtPayload {\n\taccountId: string;\n\tuserId: string;\n\tschoolId: string;\n\troles: string[];\n\tsystemId?: string; // without this the user needs to change his PW during first login\n\tsupport?: boolean;\n\t// support UserId is missed see featherJS\n\tisExternalUser: boolean;\n}\n\nexport interface JwtPayload extends CreateJwtPayload {\n\t/** audience */\n\taud: string;\n\t/** expiration in // TODO\n\t *\n\t */\n\texp: number;\n\tiat: number;\n\t/** issuer */\n\tiss: string;\n\tjti: string;\n\n\t/** // TODO\n\t *\n\t */\n\tsub: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CreateNews.html":{"url":"interfaces/CreateNews.html","title":"interface - CreateNews","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CreateNews\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/types/news.types.ts\n \n\n\n \n Description\n \n \n news interface for ceating news\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n Optional\n \n displayAt\n \n \n \n \n target\n \n \n \n \n title\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n content\n \n \n \n \n \n \n \n \n content: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n displayAt\n \n \n \n \n \n \n \n \n displayAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n \n \n target: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import type { Course } from '../entity/course.entity';\nimport type { SchoolEntity } from '../entity/school.entity';\nimport type { TeamEntity } from '../entity/team.entity';\nimport { EntityId } from './entity-id';\n\nexport enum NewsTargetModel {\n\t'School' = 'schools',\n\t'Course' = 'courses',\n\t'Team' = 'teams',\n}\n\n/** news interface for ceating news */\nexport interface CreateNews {\n\ttitle: string;\n\tcontent: string;\n\tdisplayAt?: Date;\n\ttarget: { targetModel: NewsTargetModel; targetId: EntityId };\n}\n\n/** news interface for updating news */\nexport type IUpdateNews = Partial;\n\n/** interface for finding news with optional targetId */\nexport interface INewsScope {\n\ttarget?: { targetModel: NewsTargetModel; targetId?: EntityId };\n\tunpublished?: boolean;\n}\n\nexport type NewsTarget = SchoolEntity | TeamEntity | Course;\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CreateNewsParams.html":{"url":"classes/CreateNewsParams.html","title":"class - CreateNewsParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CreateNewsParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/dto/create-news.params.ts\n \n\n\n \n Description\n \n \n DTO for creating a news document.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n Optional\n displayAt\n \n \n \n \n targetId\n \n \n \n \n targetModel\n \n \n \n \n \n title\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@SanitizeHtml(InputFormat.RICH_TEXT)@ApiProperty({description: 'Content of the News entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/create-news.params.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n displayAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsDate()@IsOptional()@ApiPropertyOptional({description: 'The point in time from when the News entity schould be displayed. Defaults to now so that the news is published'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/create-news.params.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n targetId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({pattern: '[a-f0-9]{24}', description: 'Specific target id to which the News entity is related'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/create-news.params.ts:45\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n targetModel\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(NewsTargetModel)@ApiProperty({enum: NewsTargetModel, description: 'Target model to which the News entity is related'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/create-news.params.ts:38\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@SanitizeHtml()@ApiProperty({description: 'Title of the News entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/create-news.params.ts:15\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\nimport { InputFormat, NewsTargetModel } from '@shared/domain/types';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString } from 'class-validator';\n\n/**\n * DTO for creating a news document.\n */\nexport class CreateNewsParams {\n\t@IsString()\n\t@SanitizeHtml()\n\t@ApiProperty({\n\t\tdescription: 'Title of the News entity',\n\t})\n\ttitle!: string;\n\n\t@IsString()\n\t// TODO add correct validation for input format\n\t@SanitizeHtml(InputFormat.RICH_TEXT)\n\t@ApiProperty({\n\t\tdescription: 'Content of the News entity',\n\t})\n\tcontent!: string;\n\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription:\n\t\t\t'The point in time from when the News entity schould be displayed. Defaults to now so that the news is published',\n\t})\n\tdisplayAt?: Date;\n\n\t@IsEnum(NewsTargetModel)\n\t@ApiProperty({\n\t\tenum: NewsTargetModel,\n\t\tdescription: 'Target model to which the News entity is related',\n\t})\n\ttargetModel!: string;\n\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'Specific target id to which the News entity is related',\n\t})\n\ttargetId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CreateSubmissionItemBodyParams.html":{"url":"classes/CreateSubmissionItemBodyParams.html","title":"class - CreateSubmissionItemBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CreateSubmissionItemBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/submission-item/create-submission-item.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n completed\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n completed\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty({description: 'Boolean indicating whether the submission is completed.', required: true})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/create-submission-item.body.params.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsBoolean } from 'class-validator';\n\nexport class CreateSubmissionItemBodyParams {\n\t@IsBoolean()\n\t@ApiProperty({\n\t\tdescription: 'Boolean indicating whether the submission is completed.',\n\t\trequired: true,\n\t})\n\tcompleted!: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CurrentUserMapper.html":{"url":"classes/CurrentUserMapper.html","title":"class - CurrentUserMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CurrentUserMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/mapper/current-user.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n jwtToICurrentUser\n \n \n Static\n mapCurrentUserToCreateJwtPayload\n \n \n Static\n mapToOauthCurrentUser\n \n \n Static\n userToICurrentUser\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n jwtToICurrentUser\n \n \n \n \n \n \n \n jwtToICurrentUser(jwtPayload: JwtPayload)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/mapper/current-user.mapper.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n jwtPayload\n \n JwtPayload\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ICurrentUser\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapCurrentUserToCreateJwtPayload\n \n \n \n \n \n \n \n mapCurrentUserToCreateJwtPayload(currentUser: ICurrentUser)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/mapper/current-user.mapper.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CreateJwtPayload\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToOauthCurrentUser\n \n \n \n \n \n \n \n mapToOauthCurrentUser(accountId: string, user: UserDO, systemId?: string, externalIdToken?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/mapper/current-user.mapper.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountId\n \n string\n \n\n \n No\n \n\n\n \n \n user\n \n UserDO\n \n\n \n No\n \n\n\n \n \n systemId\n \n string\n \n\n \n Yes\n \n\n\n \n \n externalIdToken\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : OauthCurrentUser\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n userToICurrentUser\n \n \n \n \n \n \n \n userToICurrentUser(accountId: string, user: User, isExternalUser: boolean, systemId?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/mapper/current-user.mapper.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountId\n \n string\n \n\n \n No\n \n\n\n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n isExternalUser\n \n boolean\n \n\n \n No\n \n\n\n \n \n systemId\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : ICurrentUser\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ValidationError } from '@shared/common';\nimport { RoleReference } from '@shared/domain/domainobject';\nimport { UserDO } from '@shared/domain/domainobject/user.do';\nimport { Role, User } from '@shared/domain/entity';\nimport { ICurrentUser, OauthCurrentUser } from '../interface';\nimport { CreateJwtPayload, JwtPayload } from '../interface/jwt-payload';\n\nexport class CurrentUserMapper {\n\tstatic userToICurrentUser(accountId: string, user: User, isExternalUser: boolean, systemId?: string): ICurrentUser {\n\t\treturn {\n\t\t\taccountId,\n\t\t\tsystemId,\n\t\t\troles: user.roles.getItems().map((role: Role) => role.id),\n\t\t\tschoolId: user.school.id,\n\t\t\tuserId: user.id,\n\t\t\tisExternalUser,\n\t\t};\n\t}\n\n\tstatic mapToOauthCurrentUser(\n\t\taccountId: string,\n\t\tuser: UserDO,\n\t\tsystemId?: string,\n\t\texternalIdToken?: string\n\t): OauthCurrentUser {\n\t\tif (!user.id) {\n\t\t\tthrow new ValidationError('user has no ID');\n\t\t}\n\n\t\treturn {\n\t\t\taccountId,\n\t\t\tsystemId,\n\t\t\troles: user.roles.map((roleRef: RoleReference) => roleRef.id),\n\t\t\tschoolId: user.schoolId,\n\t\t\tuserId: user.id,\n\t\t\texternalIdToken,\n\t\t\tisExternalUser: true,\n\t\t};\n\t}\n\n\tstatic mapCurrentUserToCreateJwtPayload(currentUser: ICurrentUser): CreateJwtPayload {\n\t\treturn {\n\t\t\taccountId: currentUser.accountId,\n\t\t\tuserId: currentUser.userId,\n\t\t\tschoolId: currentUser.schoolId,\n\t\t\troles: currentUser.roles,\n\t\t\tsystemId: currentUser.systemId,\n\t\t\tsupport: currentUser.impersonated,\n\t\t\tisExternalUser: currentUser.isExternalUser,\n\t\t};\n\t}\n\n\tstatic jwtToICurrentUser(jwtPayload: JwtPayload): ICurrentUser {\n\t\treturn {\n\t\t\taccountId: jwtPayload.accountId,\n\t\t\tsystemId: jwtPayload.systemId,\n\t\t\troles: jwtPayload.roles,\n\t\t\tschoolId: jwtPayload.schoolId,\n\t\t\tuserId: jwtPayload.userId,\n\t\t\timpersonated: jwtPayload.support,\n\t\t\tisExternalUser: jwtPayload.isExternalUser,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CustomLtiProperty.html":{"url":"interfaces/CustomLtiProperty.html","title":"interface - CustomLtiProperty","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CustomLtiProperty\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/ltitool.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n key\n \n \n \n \n value\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n key\n \n \n \n \n \n \n \n \n key: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n value\n \n \n \n \n \n \n \n \n value: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Enum, Property, Unique } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport type ILtiToolProperties = Readonly>;\n\nexport enum LtiRoleType {\n\tLEARNER = 'Learner',\n\tINSTRUCTOR = 'Instructor',\n\tCONTENT_DEVELOPER = 'ContentDeveloper',\n\tADMINISTRATOR = 'Administrator',\n\tMENTOR = 'Mentor',\n\tTEACHING_ASSISTANT = 'TeachingAssistant',\n}\n\nexport enum LtiPrivacyPermission {\n\tANONYMOUS = 'anonymous',\n\tEMAIL = 'e-mail',\n\tNAME = 'name',\n\tPUBLIC = 'public',\n\tPSEUDONYMOUS = 'pseudonymous',\n}\n\nexport interface CustomLtiProperty {\n\tkey: string;\n\tvalue: string;\n}\n\n@Entity({ tableName: 'ltitools' })\nexport class LtiTool extends BaseEntityWithTimestamps {\n\t@Property({ nullable: false })\n\tname: string;\n\n\t@Property({ nullable: false })\n\turl: string;\n\n\t@Property({ nullable: true })\n\tkey: string;\n\n\t@Property({ nullable: false, default: 'none' })\n\tsecret: string;\n\n\t@Property({ nullable: true })\n\tlogo_url?: string;\n\n\t@Property({ nullable: true })\n\tlti_message_type?: string;\n\n\t@Property({ nullable: true })\n\tlti_version?: string;\n\n\t@Property({ nullable: true })\n\tresource_link_id?: string;\n\n\t@Enum({ array: true, items: () => LtiRoleType })\n\t@Property({ nullable: true })\n\troles?: LtiRoleType[];\n\n\t@Enum({\n\t\titems: () => LtiPrivacyPermission,\n\t\tdefault: LtiPrivacyPermission.ANONYMOUS,\n\t\tnullable: false,\n\t})\n\tprivacy_permission: LtiPrivacyPermission;\n\n\t@Property({ nullable: false })\n\tcustoms: CustomLtiProperty[];\n\n\t@Property({ nullable: false, default: false })\n\tisTemplate: boolean;\n\n\t@Property({ nullable: true })\n\tisLocal?: boolean;\n\n\t@Property({ nullable: true, fieldName: 'originTool' })\n\t_originToolId?: ObjectId;\n\n\t@Property({ persist: false, getter: true })\n\tget originToolId(): EntityId | undefined {\n\t\treturn this._originToolId?.toHexString();\n\t}\n\n\t@Property({ nullable: true })\n\toAuthClientId?: string;\n\n\t@Property({ nullable: true })\n\t@Unique({ options: { sparse: true } })\n\tfriendlyUrl?: string;\n\n\t@Property({ nullable: true })\n\tskipConsent?: boolean;\n\n\t@Property({ nullable: false, default: false })\n\topenNewTab: boolean;\n\n\t@Property({ nullable: true })\n\tfrontchannel_logout_uri?: string;\n\n\t@Property({ nullable: false, default: false })\n\tisHidden: boolean;\n\n\tconstructor(props: ILtiToolProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.url = props.url;\n\t\tthis.key = props.key || 'none';\n\t\tthis.secret = props.secret || 'none';\n\t\tthis.logo_url = props.logo_url;\n\t\tthis.lti_message_type = props.lti_message_type;\n\t\tthis.lti_version = props.lti_version;\n\t\tthis.resource_link_id = props.resource_link_id;\n\t\tthis.roles = props.roles || [];\n\t\tthis.privacy_permission = props.privacy_permission || LtiPrivacyPermission.ANONYMOUS;\n\t\tthis.customs = props.customs || [];\n\t\tthis.isTemplate = props.isTemplate || false;\n\t\tthis.isLocal = props.isLocal;\n\t\tif (props.originToolId !== undefined) {\n\t\t\tthis._originToolId = new ObjectId(props.originToolId);\n\t\t}\n\t\tthis.oAuthClientId = props.oAuthClientId;\n\t\tthis.friendlyUrl = props.friendlyUrl;\n\t\tthis.skipConsent = props.skipConsent;\n\t\tthis.openNewTab = props.openNewTab || false;\n\t\tthis.frontchannel_logout_uri = props.frontchannel_logout_uri;\n\t\tthis.isHidden = props.isHidden || false;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CustomLtiPropertyDO.html":{"url":"classes/CustomLtiPropertyDO.html","title":"class - CustomLtiPropertyDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CustomLtiPropertyDO\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/ltitool.do.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n key\n \n \n value\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(key: string, value: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n key\n \n \n string\n \n \n \n No\n \n \n \n \n value\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n key\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n value\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { LtiPrivacyPermission, LtiRoleType } from '@shared/domain/entity/ltitool.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseDO } from './base.do';\n\nexport class CustomLtiPropertyDO {\n\tkey: string;\n\n\tvalue: string;\n\n\tconstructor(key: string, value: string) {\n\t\tthis.key = key;\n\t\tthis.value = value;\n\t}\n}\n\nexport class LtiToolDO extends BaseDO {\n\tname: string;\n\n\turl: string;\n\n\tkey: string;\n\n\tsecret: string;\n\n\tlogo_url?: string;\n\n\tlti_message_type?: string;\n\n\tlti_version?: string;\n\n\tresource_link_id?: string;\n\n\troles: LtiRoleType[];\n\n\tprivacy_permission: LtiPrivacyPermission;\n\n\tcustoms: CustomLtiPropertyDO[];\n\n\tisTemplate: boolean;\n\n\tisLocal?: boolean;\n\n\toriginToolId?: EntityId;\n\n\toAuthClientId?: string;\n\n\tfriendlyUrl?: string;\n\n\tskipConsent?: boolean;\n\n\topenNewTab: boolean;\n\n\tfrontchannel_logout_uri?: string;\n\n\tisHidden: boolean;\n\n\tconstructor(domainObject: LtiToolDO) {\n\t\tsuper(domainObject.id);\n\n\t\tthis.name = domainObject.name;\n\t\tthis.url = domainObject.url;\n\t\tthis.key = domainObject.key;\n\t\tthis.secret = domainObject.secret;\n\t\tthis.logo_url = domainObject.logo_url;\n\t\tthis.lti_message_type = domainObject.lti_message_type;\n\t\tthis.lti_version = domainObject.lti_version;\n\t\tthis.resource_link_id = domainObject.resource_link_id;\n\t\tthis.roles = domainObject.roles;\n\t\tthis.privacy_permission = domainObject.privacy_permission;\n\t\tthis.customs = domainObject.customs;\n\t\tthis.isTemplate = domainObject.isTemplate;\n\t\tthis.isLocal = domainObject.isLocal;\n\t\tthis.originToolId = domainObject.originToolId;\n\t\tthis.oAuthClientId = domainObject.oAuthClientId;\n\t\tthis.friendlyUrl = domainObject.friendlyUrl;\n\t\tthis.skipConsent = domainObject.skipConsent;\n\t\tthis.openNewTab = domainObject.openNewTab;\n\t\tthis.frontchannel_logout_uri = domainObject.frontchannel_logout_uri;\n\t\tthis.isHidden = domainObject.isHidden;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CustomParameter.html":{"url":"classes/CustomParameter.html","title":"class - CustomParameter","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CustomParameter\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/domain/custom-parameter.do.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n default\n \n \n Optional\n description\n \n \n displayName\n \n \n isOptional\n \n \n location\n \n \n name\n \n \n Optional\n regex\n \n \n Optional\n regexComment\n \n \n scope\n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: CustomParameter)\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter.do.ts:22\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n CustomParameter\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n default\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter.do.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter.do.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter.do.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n isOptional\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter.do.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n location\n \n \n \n \n \n \n Type : CustomParameterLocation\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter.do.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter.do.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n regex\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter.do.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n regexComment\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter.do.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n scope\n \n \n \n \n \n \n Type : CustomParameterScope\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter.do.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : CustomParameterType\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter.do.ts:20\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { CustomParameterScope, CustomParameterLocation, CustomParameterType } from '../enum';\n\nexport class CustomParameter {\n\tname: string;\n\n\tdisplayName: string;\n\n\tdescription?: string;\n\n\tdefault?: string;\n\n\tregex?: string;\n\n\tregexComment?: string;\n\n\tscope: CustomParameterScope;\n\n\tlocation: CustomParameterLocation;\n\n\ttype: CustomParameterType;\n\n\tisOptional: boolean;\n\n\tconstructor(props: CustomParameter) {\n\t\tthis.name = props.name;\n\t\tthis.displayName = props.displayName;\n\t\tthis.description = props.description;\n\t\tthis.default = props.default;\n\t\tthis.location = props.location;\n\t\tthis.scope = props.scope;\n\t\tthis.type = props.type;\n\t\tthis.regex = props.regex;\n\t\tthis.regexComment = props.regexComment;\n\t\tthis.isOptional = props.isOptional;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CustomParameterEntity.html":{"url":"classes/CustomParameterEntity.html","title":"class - CustomParameterEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CustomParameterEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n default\n \n \n \n Optional\n description\n \n \n \n displayName\n \n \n \n isOptional\n \n \n \n location\n \n \n \n name\n \n \n \n Optional\n regex\n \n \n \n Optional\n regexComment\n \n \n \n scope\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: CustomParameterEntity)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts:34\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n CustomParameterEntity\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n default\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n isOptional\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n \n location\n \n \n \n \n \n \n Type : CustomParameterLocation\n\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n regex\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n regexComment\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n scope\n \n \n \n \n \n \n Type : CustomParameterScope\n\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : CustomParameterType\n\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts:31\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Enum, Property } from '@mikro-orm/core';\nimport { CustomParameterLocation, CustomParameterScope, CustomParameterType } from '../../../common/enum';\n\n@Embeddable()\nexport class CustomParameterEntity {\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tdisplayName: string;\n\n\t@Property({ nullable: true })\n\tdescription?: string;\n\n\t@Property({ nullable: true })\n\tdefault?: string;\n\n\t@Property({ nullable: true })\n\tregex?: string;\n\n\t@Property({ nullable: true })\n\tregexComment?: string;\n\n\t@Enum()\n\tscope: CustomParameterScope;\n\n\t@Enum()\n\tlocation: CustomParameterLocation;\n\n\t@Enum()\n\ttype: CustomParameterType;\n\n\t@Property()\n\tisOptional: boolean;\n\n\tconstructor(props: CustomParameterEntity) {\n\t\tthis.name = props.name;\n\t\tthis.displayName = props.displayName;\n\t\tthis.description = props.description;\n\t\tthis.default = props.default;\n\t\tthis.location = props.location;\n\t\tthis.scope = props.scope;\n\t\tthis.type = props.type;\n\t\tthis.regex = props.regex;\n\t\tthis.regexComment = props.regexComment;\n\t\tthis.isOptional = props.isOptional;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CustomParameterEntry.html":{"url":"classes/CustomParameterEntry.html","title":"class - CustomParameterEntry","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CustomParameterEntry\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/domain/custom-parameter-entry.do.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n name\n \n \n Optional\n value\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: CustomParameterEntry)\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter-entry.do.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n CustomParameterEntry\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter-entry.do.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n value\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter-entry.do.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class CustomParameterEntry {\n\tname: string;\n\n\tvalue?: string;\n\n\tconstructor(props: CustomParameterEntry) {\n\t\tthis.name = props.name;\n\t\tthis.value = props.value;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CustomParameterEntryEntity.html":{"url":"classes/CustomParameterEntryEntity.html","title":"class - CustomParameterEntryEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CustomParameterEntryEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/entity/custom-parameter-entry.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n name\n \n \n \n Optional\n value\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: CustomParameterEntryEntity)\n \n \n \n \n Defined in apps/server/src/modules/tool/common/entity/custom-parameter-entry.entity.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n CustomParameterEntryEntity\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/common/entity/custom-parameter-entry.entity.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n value\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/common/entity/custom-parameter-entry.entity.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Property } from '@mikro-orm/core';\n\n@Embeddable()\nexport class CustomParameterEntryEntity {\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tvalue?: string;\n\n\tconstructor(props: CustomParameterEntryEntity) {\n\t\tthis.name = props.name;\n\t\tthis.value = props.value;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CustomParameterEntryParam.html":{"url":"classes/CustomParameterEntryParam.html","title":"class - CustomParameterEntryParam","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CustomParameterEntryParam\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/controller/dto/custom-parameter-entry.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n Optional\n value\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/custom-parameter-entry.params.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n value\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/custom-parameter-entry.params.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsOptional, IsString } from 'class-validator';\n\nexport class CustomParameterEntryParam {\n\t@IsString()\n\t@ApiProperty()\n\tname!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tvalue?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CustomParameterEntryResponse.html":{"url":"classes/CustomParameterEntryResponse.html","title":"class - CustomParameterEntryResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CustomParameterEntryResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/controller/dto/custom-parameter-entry.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n name\n \n \n \n \n Optional\n value\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: CustomParameterEntryResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/custom-parameter-entry.response.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n CustomParameterEntryResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/custom-parameter-entry.response.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n value\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/custom-parameter-entry.response.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\n\nexport class CustomParameterEntryResponse {\n\t@ApiProperty()\n\tname: string;\n\n\t@ApiProperty()\n\t@ApiPropertyOptional()\n\tvalue?: string;\n\n\tconstructor(props: CustomParameterEntryResponse) {\n\t\tthis.name = props.name;\n\t\tthis.value = props.value;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CustomParameterFactory.html":{"url":"classes/CustomParameterFactory.html","title":"class - CustomParameterFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CustomParameterFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/domainobject/tool/external-tool.factory.ts\n \n\n\n\n \n Extends\n \n \n DoBaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n buildListWithEachType\n \n \n \n buildWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n buildListWithEachType\n \n \n \n \n \n \nbuildListWithEachType(params?: DeepPartial)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/domainobject/tool/external-tool.factory.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : CustomParameter[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \n \n buildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CustomParameter } from '@modules/tool/common/domain';\nimport {\n\tCustomParameterLocation,\n\tCustomParameterScope,\n\tCustomParameterType,\n\tLtiMessageType,\n\tLtiPrivacyPermission,\n\tTokenEndpointAuthMethod,\n\tToolConfigType,\n} from '@modules/tool/common/enum';\nimport {\n\tBasicToolConfig,\n\tExternalTool,\n\tExternalToolProps,\n\tLti11ToolConfig,\n\tOauth2ToolConfig,\n} from '@modules/tool/external-tool/domain';\nimport { DeepPartial } from 'fishery';\nimport { DoBaseFactory } from '../do-base.factory';\n\nexport const basicToolConfigFactory = DoBaseFactory.define(BasicToolConfig, () => {\n\treturn {\n\t\ttype: ToolConfigType.BASIC,\n\t\tbaseUrl: 'https://www.basic-baseUrl.com/',\n\t};\n});\n\nclass Oauth2ToolConfigFactory extends DoBaseFactory {\n\twithExternalData(oauth2Params?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tclientSecret: 'clientSecret',\n\t\t\tscope: 'offline openid',\n\t\t\tfrontchannelLogoutUri: 'https://www.frontchannel.com/',\n\t\t\tredirectUris: ['https://www.redirect.com/'],\n\t\t\ttokenEndpointAuthMethod: TokenEndpointAuthMethod.CLIENT_SECRET_POST,\n\t\t};\n\n\t\treturn this.params({ ...params, ...oauth2Params });\n\t}\n}\n\nexport const oauth2ToolConfigFactory = Oauth2ToolConfigFactory.define(Oauth2ToolConfig, () => {\n\treturn {\n\t\ttype: ToolConfigType.OAUTH2,\n\t\tbaseUrl: 'https://www.oauth2-baseUrl.com/',\n\t\tclientId: 'clientId',\n\t\tskipConsent: false,\n\t};\n});\n\nexport const lti11ToolConfigFactory = DoBaseFactory.define(Lti11ToolConfig, () => {\n\treturn {\n\t\ttype: ToolConfigType.LTI11,\n\t\tbaseUrl: 'https://www.lti11-baseUrl.com/',\n\t\tkey: 'key',\n\t\tsecret: 'secret',\n\t\tprivacy_permission: LtiPrivacyPermission.PSEUDONYMOUS,\n\t\tlti_message_type: LtiMessageType.BASIC_LTI_LAUNCH_REQUEST,\n\t\tresource_link_id: 'linkId',\n\t\tlaunch_presentation_locale: 'de-DE',\n\t};\n});\n\nclass CustomParameterFactory extends DoBaseFactory {\n\tbuildListWithEachType(params?: DeepPartial): CustomParameter[] {\n\t\tconst globalParameter = this.build({ ...params, scope: CustomParameterScope.GLOBAL });\n\t\tconst schoolParameter = this.build({ ...params, scope: CustomParameterScope.SCHOOL });\n\t\tconst contextParameter = this.build({ ...params, scope: CustomParameterScope.CONTEXT });\n\n\t\treturn [globalParameter, schoolParameter, contextParameter];\n\t}\n}\n\nexport const customParameterFactory = CustomParameterFactory.define(CustomParameter, ({ sequence }) => {\n\treturn {\n\t\tname: `custom-parameter-${sequence}`,\n\t\tdisplayName: 'User Friendly Name',\n\t\ttype: CustomParameterType.STRING,\n\t\tscope: CustomParameterScope.SCHOOL,\n\t\tlocation: CustomParameterLocation.BODY,\n\t\tisOptional: false,\n\t};\n});\n\nclass ExternalToolFactory extends DoBaseFactory {\n\twithOauth2Config(customParam?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tconfig: oauth2ToolConfigFactory.build(customParam),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithLti11Config(customParam?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tconfig: lti11ToolConfigFactory.build(customParam),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithCustomParameters(number: number, customParam?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tparameters: customParameterFactory.buildList(number, customParam),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithBase64Logo(): this {\n\t\tconst params: DeepPartial = {\n\t\t\tlogo: 'iVBORw0KGgoAAAANSUhEUgAAAfQAAADICAYAAAAeGRPoAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjQ2MUQ2Q0Y5RTQxMTExRTdBMTg3QkQ2MDVGMUFEMUIwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjQ2MUQ2Q0ZBRTQxMTExRTdBMTg3QkQ2MDVGMUFEMUIwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NDYxRDZDRjdFNDExMTFFN0ExODdCRDYwNUYxQUQxQjAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NDYxRDZDRjhFNDExMTFFN0ExODdCRDYwNUYxQUQxQjAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz45EjsrAAALfUlEQVR42uzdgXWjOAIGYHLvGsiV4CnBU4JTgqeEpIS4hKSEpIS4BLsEu4RJCeMScmhGzPplkyCMAGO+7z3ezs3tYsuS+BEIcfX29lYAAOP2Hz8BAAh0AECgAwACHQAQ6AAg0AEAgQ4ACHQAQKADgEAHAAQ6ACDQAQCBDgACHQAQ6ACAQAcABDoACHQAQKADAAIdABDoACDQAQCBDgAIdABAoAOAQAcABDoAINABAIEOAAIdABDoAIBABwAEOgAIdABAoAMAAh0AEOgAINABAIEOAAh0AECgA4BABwAEOgAg0AEAgQ4ACHQAEOgAgEAHAAQ6ACDQAUCgAwACHQAQ6ACAQAcAgQ4ACHQAQKADAAIdAAQ6ACDQAQCBDgAIdAAQ6ACAQAcABDoAINABQKADAAIdABDoAIBABwCBDgAIdABAoAMAAh0ABDoAINABgN79109AbldXV9flPxblNov/DOblFv7+UG77+HfVn39vb29vB78emdpg1fauP2iDwWvcgm3883aMbbAs6/yorPP414ujf+W4z+2r/12WdasOL6zdl4Ufa4fdvGu0gyp/x6sTyjD0jx8a/03GOgn1cVtuyxN3EQ4267CV3+t16u2jhz701lfb6DEAlnGbt2yDz+ccDDHEq7LOTtzNIZY11PVaHV6AEOhj3ErhgP12LtuJZRj6e28y1cW8g/p4CgeqKbePHvpQ522jp3LMYnvJWWe/2rbBjsq66Kht/wwn4+pw3Jt76LQ9o76NB5jco+Gw35/l/p/iJXx43/auy+2+CqPMu7+O+9zFzziHsj511Nf+Bmr5GT/jlTZ1OEICnbZh/lT8c0+rC1WwL/3ivLvkvCu3h44/KrTth/LzdvFy8BBlXXQUeJ8F+6b8zIeuT6SnVIcCnXM/oC5jmPchdMiXqZxlk3QiuStOv3d8inkc6c0HKOum45Pmj9zHYJ+pQ4HOZR9Qr08I8zBRZRu3U4RJcs9+fWHe44nkRyeWu/gd+ijr04BlrRzU4Xh4bI1T3CaMGMKB4LH4M4N2/0Gnrh5JqWbr1u3vzmNtwrxhEFSzuEP7ez1+TCu2v9lR+2syagv3mvcfteuMZb0vml1ifz0q6/74KZF3Za3Km/Lb/cjd56ZUh4OYyuy/1NnPZhknfe9fNd/9JQR0g/1Vk1d+frK/hym2D+3vX7O7G83YbtgGm86yDn1g1lFZlw3Lumy4/9Df7mv68VwdjrBPC3SBnrlT7lru//2BZtekUwv0y2t/MYB+JR6kH9q0lzjK2yV+1q6jx7dSy3qf4Xe9/2C/t+rQY2tMQ91lrceWV4zCf/8tXmZzqZ2iSH+SIrSVVZv2Ei/BhgV1UuZrzDuYqJlS1upyeNu+doj7+F78s+LaY/l3z+pwnAQ6WQM9x4pT8UDzI3TKi7vHRdN7rovEe753uYIotr+7xEC4zzUTPD45kvIM+E3Old1iH/sew3ylDgU609Hb4zPnvtY0vUgZPd11MaqMgbBP6A+5RngPiWXdd1DWQxdhPsE6FOhc1IjKqm7kHNnVjVjXHV0iroQrRXWXf2/btvtY1tnAZVWHAp2JqesYVnQjl5S2tOryC8THv1LuVbd9rvk2od+t1OFZ16FAZ3TqLl89XPJKTPQ2srtOCIPHtm/lSwyEEAZ1n7PsuKzPfZRVHQp0pqWuU4ROvLnUlZjoTfUe7C9DrsfvU/dZ8xYTq5YZPl8dDluHAp1RSpmo9ntp2Pjmpnv31TlB3VWefc8j1nWG7/yZ2ZmVVR0KdKYgPh+aelYdDlRh5u6vMtQ3MdxdjidHGKx7bvchePYJ7X30ZVWHAp38FmX4vXWwbTJ8t3A/qunCD4sY7uHFCCHgX2LAz1Q1n7SXL0d3A3ynbcvvPKayqsMR8nIWTjrTLYM4zEw99Y1J1WSZsIVJdNWLJdYWkiHREJegD2Mqa3ineZHpEnLZL2/UoUDnckP9uTxgFEWe1yCGUXpY2CGM2EOgP4/teVvySbktM9A95bqTzcUJZV10WNb5UCPOKdXhOXHJnVahXqQt2tD0IFRNqPNM+zSZRKkOEegMEOrhUnl4mcoqc7CHUXu4z/5kljyAQKefUD8cvSUtBHvOS2nhefaNUGcEvBVQHQp0LivYyy0E+++3NxV5ZrKGy/AvfuHJtKPatQ4Gevyx9nnxCyqrOhToZLQtO8VVB9tNTx16H99rHIL9f8Wfe+1tAn5xSe8tpvMDcxeuJ1RWdSjQ4dOR+/oo4MMIPrzWsOnCEladm9AJbc3/P8TobtHyO5/6381O7Hc3qSf6RTcvSJlSHQp0Jhvwr2GGfLn9iKP31Al1KS974DKc1Ys04onkouV3HkVZ1aFAhzaj92pCXcqz55aOnYbaJTp7vgebEj7bjso61peGTKkOBTq8C/a7hFC3VOw0pNyO6fONfnWftY3vOTjF9szKqg4FOmRRdy9v4SeaxgleQiDc9jFyja8C7uxFI4kvDbkd2yh9SnUo0OHzg8DWL0HiAfapyy8Q77vWPV1xKNqHQd2VqfA9HtThWdehQGecQieJZ73Q1cldOMDWTVLq+nHGEKJ1I8jHtpdq4zLKdftYjq3PTakOBTpjFl7D+hTf6JTbV4+meRvbtKQ8TvXQRdCFZYeL+vuuhyJtMmeKx8SyztXh2dahQGd0o/PQSaqDSng2fJPrPljcz1cHrFc1MLlResotmKeco7zEIMg6sotPe9S173Cyu+ngxUVzdSjQmV6Y337QScJEtV2mzlh3P80IfXruirR1CsIo76XN4kPhhDKcoCYGwTaGcO6y1gnle8nR38JoP5Z3qQ4FOtMK88UXgXsdO2N47elt0w4Z78m/FPWz2NdqYnKj9DBqTV3JLARTaIONVhWMIRACclekPUkRwulHB2UNI9nUgPnb307py3EEm1pedTiGY3T5Q08tlDZfVXZcBrGv7zL4j59a3njfblM0Wwv5OY6ow7ru+y/2u4xn03X73na9Fv05tY9Lbn+n/I7xYN10zsa6aoOxHR6qE8jiz2XmamsyQg37uPmsTWeqm5cTvlNV1tfjl6MclbW6nbUoGq7nkKvdT6kOBbpAP+dAv46B3uZe26H455L5rGi+SMz3rjugQD/fQI/fOfW+aFd6CYJM/S2XcI95lbFsk6jDIbjkTuoB+BBfrNLmflO1lnLjEUJpdYkdkMbtMNyLXQ308b0FQRyFhqtRQ86+/n1JOmeYT6kOBTpjOKCu4oGmz9nmz5c0cYXWbfAxtsE+ZyaHS9jf+gyCo+WQhwi/dSzvWh0KdC77gBo6xvci/S1pbaziQQ3et8HUF/q0HdHdxVeRHgYqaxV+fQTRaxzB/ui6vFOqQ4HOuR9Qj9+StupgxL6PBxYjc+pGsDdF/uWCD7Fdf4uruA1+AhNved0V3VwdC79fCPFvxxPq1OG4mBT37wZmUtzp5VnG3zb889TnSMMlvnVXl/rG1D4uuf118TvGRYluY/ubtWh/29gGD2dcdzn62j6W9Tk+VnYO5ZpMHQp0xhQW1aMk1+8Csvrz69FIYxv/vJ1aB6TTYKgmX87ftb3j9lc9eTHa9hf7WlXW2Qdl3cdyjqqsU6pDgQ4A/OUeOgAIdABAoAMAAh0AEOgAINABAIEOAAh0AECgA4BABwAEOgAg0AEAgQ4AAh0AEOgAgEAHAAQ6AAh0AECgAwACHQAQ6AAg0AEAgQ4ACHQAQKADgEAHAAQ6ACDQAQCBDgACHQAQ6ACAQAcABDoACHQAQKADAAIdABDoACDQAQCBDgAIdABAoAOAQAcABDoAINABAIEOAAh0ABDoAIBABwAEOgAg0AFAoAMAAh0AEOgAgEAHAIEOAAh0AECgAwACHQAEOgAg0AEAgQ4ACHQAEOgAgEAHAAQ6ACDQAUCgAwACHQAQ6ACAQAcAgQ4ACHQAQKADAAIdAAQ6ACDQAYD+/V+AAQADXuXS75wQpQAAAABJRU5ErkJggg==',\n\t\t};\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const externalToolFactory = ExternalToolFactory.define(ExternalTool, ({ sequence }) => {\n\treturn {\n\t\tname: `external-tool-${sequence}`,\n\t\turl: 'https://url.com/',\n\t\tconfig: basicToolConfigFactory.build(),\n\t\tlogoUrl: 'https://logo.com/',\n\t\tisHidden: false,\n\t\topenNewTab: false,\n\t\tversion: 1,\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CustomParameterPostParams.html":{"url":"classes/CustomParameterPostParams.html","title":"class - CustomParameterPostParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CustomParameterPostParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/custom-parameter.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n defaultValue\n \n \n \n \n \n Optional\n description\n \n \n \n \n \n displayName\n \n \n \n \n isOptional\n \n \n \n \n location\n \n \n \n \n \n name\n \n \n \n \n \n Optional\n regex\n \n \n \n \n \n Optional\n regexComment\n \n \n \n \n scope\n \n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n defaultValue\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/custom-parameter.params.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/custom-parameter.params.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/custom-parameter.params.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n isOptional\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/custom-parameter.params.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n location\n \n \n \n \n \n \n Type : CustomParameterLocationParams\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(CustomParameterLocationParams)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/custom-parameter.params.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/custom-parameter.params.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n regex\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/custom-parameter.params.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n regexComment\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/custom-parameter.params.ts:38\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n scope\n \n \n \n \n \n \n Type : CustomParameterScopeTypeParams\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(CustomParameterScopeTypeParams)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/custom-parameter.params.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : CustomParameterTypeParams\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(CustomParameterTypeParams)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/custom-parameter.params.ts:50\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsBoolean, IsEnum, IsNotEmpty, IsOptional, IsString } from 'class-validator';\nimport {\n\tCustomParameterLocationParams,\n\tCustomParameterScopeTypeParams,\n\tCustomParameterTypeParams,\n} from '../../../../common/enum';\n\nexport class CustomParameterPostParams {\n\t@IsString()\n\t@IsNotEmpty()\n\t@ApiProperty()\n\tname!: string;\n\n\t@IsString()\n\t@IsNotEmpty()\n\t@ApiProperty()\n\tdisplayName!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tdefaultValue?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tregex?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tregexComment?: string;\n\n\t@IsEnum(CustomParameterScopeTypeParams)\n\t@ApiProperty()\n\tscope!: CustomParameterScopeTypeParams;\n\n\t@IsEnum(CustomParameterLocationParams)\n\t@ApiProperty()\n\tlocation!: CustomParameterLocationParams;\n\n\t@IsEnum(CustomParameterTypeParams)\n\t@ApiProperty()\n\ttype!: CustomParameterTypeParams;\n\n\t@IsBoolean()\n\t@ApiProperty()\n\tisOptional!: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CustomParameterResponse.html":{"url":"classes/CustomParameterResponse.html","title":"class - CustomParameterResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CustomParameterResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n defaultValue\n \n \n \n Optional\n description\n \n \n \n displayName\n \n \n \n isOptional\n \n \n \n location\n \n \n \n name\n \n \n \n Optional\n regex\n \n \n \n Optional\n regexComment\n \n \n \n scope\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: CustomParameterResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts:37\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n CustomParameterResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n defaultValue\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n isOptional\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n \n location\n \n \n \n \n \n \n Type : CustomParameterLocationParams\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: CustomParameterLocationParams})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n regex\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n regexComment\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n scope\n \n \n \n \n \n \n Type : CustomParameterScopeTypeParams\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: CustomParameterScopeTypeParams})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : CustomParameterTypeParams\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: CustomParameterTypeParams})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts:34\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport {\n\tCustomParameterLocationParams,\n\tCustomParameterScopeTypeParams,\n\tCustomParameterTypeParams,\n} from '../../../../common/enum';\n\nexport class CustomParameterResponse {\n\t@ApiProperty()\n\tname: string;\n\n\t@ApiProperty()\n\tdisplayName: string;\n\n\t@ApiPropertyOptional()\n\tdescription?: string;\n\n\t@ApiPropertyOptional()\n\tdefaultValue?: string;\n\n\t@ApiPropertyOptional()\n\tregex?: string;\n\n\t@ApiPropertyOptional()\n\tregexComment?: string;\n\n\t@ApiProperty({ enum: CustomParameterScopeTypeParams })\n\tscope: CustomParameterScopeTypeParams;\n\n\t@ApiProperty({ enum: CustomParameterLocationParams })\n\tlocation: CustomParameterLocationParams;\n\n\t@ApiProperty({ enum: CustomParameterTypeParams })\n\ttype: CustomParameterTypeParams;\n\n\t@ApiProperty()\n\tisOptional: boolean;\n\n\tconstructor(props: CustomParameterResponse) {\n\t\tthis.name = props.name;\n\t\tthis.displayName = props.displayName;\n\t\tthis.description = props.description;\n\t\tthis.defaultValue = props.defaultValue;\n\t\tthis.location = props.location;\n\t\tthis.scope = props.scope;\n\t\tthis.type = props.type;\n\t\tthis.regex = props.regex;\n\t\tthis.regexComment = props.regexComment;\n\t\tthis.isOptional = props.isOptional;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/DashboardController.html":{"url":"controllers/DashboardController.html","title":"controller - DashboardController","body":"\n \n\n\n\n\n\n\n Controllers\n DashboardController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dashboard.controller.ts\n \n\n \n Prefix\n \n \n dashboard\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n findForUser\n \n \n \n Async\n moveElement\n \n \n \n Async\n patchGroup\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n findForUser\n \n \n \n \n \n \n \n findForUser(currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get()\n \n \n\n \n \n Defined in apps/server/src/modules/learnroom/controller/dashboard.controller.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n moveElement\n \n \n \n \n \n \n \n moveElement(undefined: DashboardUrlParams, params: MoveElementParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Patch(':dashboardId/moveElement')\n \n \n\n \n \n Defined in apps/server/src/modules/learnroom/controller/dashboard.controller.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n DashboardUrlParams\n \n\n \n No\n \n\n\n \n \n params\n \n MoveElementParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n patchGroup\n \n \n \n \n \n \n \n patchGroup(urlParams: DashboardUrlParams, x: number, y: number, params: PatchGroupParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Patch(':dashboardId/element')\n \n \n\n \n \n Defined in apps/server/src/modules/learnroom/controller/dashboard.controller.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n DashboardUrlParams\n \n\n \n No\n \n\n\n \n \n x\n \n number\n \n\n \n No\n \n\n\n \n \n y\n \n number\n \n\n \n No\n \n\n\n \n \n params\n \n PatchGroupParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, Get, Param, Patch, Query } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { DashboardMapper } from '../mapper/dashboard.mapper';\nimport { DashboardUc } from '../uc/dashboard.uc';\nimport { DashboardResponse, DashboardUrlParams, MoveElementParams, PatchGroupParams } from './dto';\n\n@ApiTags('Dashboard')\n@Authenticate('jwt')\n@Controller('dashboard')\nexport class DashboardController {\n\tconstructor(private readonly dashboardUc: DashboardUc) {}\n\n\t@Get()\n\tasync findForUser(@CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst dashboard = await this.dashboardUc.getUsersDashboard(currentUser.userId);\n\t\tconst dto = DashboardMapper.mapToResponse(dashboard);\n\t\treturn dto;\n\t}\n\n\t@Patch(':dashboardId/moveElement')\n\tasync moveElement(\n\t\t@Param() { dashboardId }: DashboardUrlParams,\n\t\t@Body() params: MoveElementParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst dashboard = await this.dashboardUc.moveElementOnDashboard(\n\t\t\tdashboardId,\n\t\t\tparams.from,\n\t\t\tparams.to,\n\t\t\tcurrentUser.userId\n\t\t);\n\t\tconst dto = DashboardMapper.mapToResponse(dashboard);\n\t\treturn dto;\n\t}\n\n\t@Patch(':dashboardId/element')\n\tasync patchGroup(\n\t\t@Param() urlParams: DashboardUrlParams,\n\t\t@Query('x') x: number,\n\t\t@Query('y') y: number,\n\t\t@Body() params: PatchGroupParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst dashboard = await this.dashboardUc.renameGroupOnDashboard(\n\t\t\turlParams.dashboardId,\n\t\t\t{ x, y },\n\t\t\tparams.title,\n\t\t\tcurrentUser.userId\n\t\t);\n\t\tconst dto = DashboardMapper.mapToResponse(dashboard);\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DashboardEntity.html":{"url":"classes/DashboardEntity.html","title":"class - DashboardEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DashboardEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/dashboard.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n columns\n \n \n grid\n \n \n id\n \n \n userId\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n addRoom\n \n \n Private\n allRooms\n \n \n Private\n determineNewRoomsIn\n \n \n getElement\n \n \n Private\n getFirstOpenIndex\n \n \n getGrid\n \n \n getId\n \n \n Private\n getReferencesFromPosition\n \n \n getUserId\n \n \n Private\n gridIndexFromPosition\n \n \n Private\n mergeElementIntoPosition\n \n \n moveElement\n \n \n Private\n positionFromGridIndex\n \n \n Private\n removeFromPosition\n \n \n Private\n removeRoomsNotInList\n \n \n setLearnRooms\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(id: string, props: DashboardProps)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:180\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n \n string\n \n \n \n No\n \n \n \n \n props\n \n \n DashboardProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n columns\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:163\n \n \n\n\n \n \n \n \n \n \n \n \n grid\n \n \n \n \n \n \n Type : Map\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:165\n \n \n\n\n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:161\n \n \n\n\n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:167\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n addRoom\n \n \n \n \n \n \n \n addRoom(room: Learnroom)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:272\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n room\n \n Learnroom\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n allRooms\n \n \n \n \n \n \n \n allRooms()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:266\n \n \n\n\n \n \n\n \n Returns : Learnroom[]\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n determineNewRoomsIn\n \n \n \n \n \n \n \n determineNewRoomsIn(rooms: Learnroom[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:255\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n rooms\n \n Learnroom[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Learnroom[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getElement\n \n \n \n \n \n \ngetElement(position: GridPosition)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:213\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n position\n \n GridPosition\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : IGridElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getFirstOpenIndex\n \n \n \n \n \n \n \n getFirstOpenIndex()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:278\n \n \n\n\n \n \n\n \n Returns : number\n\n \n \n \n \n \n \n \n \n \n \n \n getGrid\n \n \n \n \n \n \ngetGrid()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:201\n \n \n\n\n \n \n\n \n Returns : GridElementWithPosition[]\n\n \n \n \n \n \n \n \n \n \n \n \n getId\n \n \n \n \n \n \ngetId()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:193\n \n \n\n\n \n \n\n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n getReferencesFromPosition\n \n \n \n \n \n \n \n getReferencesFromPosition(position: GridPositionWithGroupIndex)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:286\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n position\n \n GridPositionWithGroupIndex\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : IGridElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getUserId\n \n \n \n \n \n \ngetUserId()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:197\n \n \n\n\n \n \n\n \n Returns : EntityId\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n gridIndexFromPosition\n \n \n \n \n \n \n \n gridIndexFromPosition(pos: GridPosition)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:169\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pos\n \n GridPosition\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : number\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mergeElementIntoPosition\n \n \n \n \n \n \n \n mergeElementIntoPosition(element: IGridElement, position: GridPosition)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:307\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n IGridElement\n \n\n \n No\n \n\n\n \n \n position\n \n GridPosition\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : IGridElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n moveElement\n \n \n \n \n \n \nmoveElement(from: GridPositionWithGroupIndex, to: GridPositionWithGroupIndex)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:221\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n from\n \n GridPositionWithGroupIndex\n \n\n \n No\n \n\n\n \n \n to\n \n GridPositionWithGroupIndex\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GridElementWithPosition\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n positionFromGridIndex\n \n \n \n \n \n \n \n positionFromGridIndex(index: number)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:176\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n index\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GridPosition\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeFromPosition\n \n \n \n \n \n \n \n removeFromPosition(position: GridPositionWithGroupIndex)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:298\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n position\n \n GridPositionWithGroupIndex\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeRoomsNotInList\n \n \n \n \n \n \n \n removeRoomsNotInList(roomList: Learnroom[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:240\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roomList\n \n Learnroom[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setLearnRooms\n \n \n \n \n \n \nsetLearnRooms(rooms: Learnroom[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:231\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n rooms\n \n Learnroom[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BadRequestException, NotFoundException } from '@nestjs/common';\nimport { Learnroom } from '@shared/domain/interface';\nimport { EntityId, LearnroomMetadata } from '@shared/domain/types';\n\nconst defaultColumns = 4;\n\nexport interface IGridElement {\n\thasId(): boolean;\n\n\tgetId: () => EntityId | undefined;\n\n\tgetContent: () => GridElementContent;\n\n\tisGroup(): boolean;\n\n\tremoveReferenceByIndex(index: number): void;\n\n\tremoveReference(reference: Learnroom): void;\n\n\tgetReferences(): Learnroom[];\n\n\taddReferences(anotherReference: Learnroom[]): void;\n\n\tsetGroupName(newGroupName: string): void;\n}\n\nexport type GridElementContent = {\n\treferencedId?: string;\n\ttitle?: string;\n\tshortTitle: string;\n\tdisplayColor: string;\n\tgroup?: LearnroomMetadata[];\n\tgroupId?: string;\n\tcopyingSince?: Date;\n};\n\nexport class GridElement implements IGridElement {\n\tid?: EntityId;\n\n\ttitle?: string;\n\n\tprivate sortReferences = (a: Learnroom, b: Learnroom) => {\n\t\tconst titleA = a.getMetadata().title;\n\t\tconst titleB = b.getMetadata().title;\n\t\tif (titleA titleB) {\n\t\t\treturn 1;\n\t\t}\n\t\treturn 0;\n\t};\n\n\tprivate constructor(props: { id?: EntityId; title?: string; references: Learnroom[] }) {\n\t\tif (props.id) this.id = props.id;\n\t\tif (props.title) this.title = props.title;\n\t\tthis.references = props.references.sort(this.sortReferences);\n\t}\n\n\tstatic FromPersistedReference(id: EntityId, reference: Learnroom): GridElement {\n\t\treturn new GridElement({ id, references: [reference] });\n\t}\n\n\tstatic FromPersistedGroup(id: EntityId, title: string | undefined, group: Learnroom[]): GridElement {\n\t\treturn new GridElement({ id, title, references: group });\n\t}\n\n\tstatic FromSingleReference(reference: Learnroom): GridElement {\n\t\treturn new GridElement({ references: [reference] });\n\t}\n\n\tstatic FromGroup(title: string, references: Learnroom[]): GridElement {\n\t\treturn new GridElement({ title, references });\n\t}\n\n\treferences: Learnroom[];\n\n\thasId(): boolean {\n\t\treturn !!this.id;\n\t}\n\n\tgetId(): EntityId | undefined {\n\t\treturn this.id;\n\t}\n\n\tgetReferences(): Learnroom[] {\n\t\treturn this.references;\n\t}\n\n\tremoveReferenceByIndex(index: number): void {\n\t\tif (!this.isGroup()) {\n\t\t\tthrow new BadRequestException('this element is not a group.');\n\t\t}\n\t\tif (index > 0 && this.references.length reference.getMetadata());\n\t\tconst checkShortTitle = this.title ? this.title.substring(0, 2) : '';\n\t\tconst groupMetadata = {\n\t\t\tgroupId: this.getId(),\n\t\t\ttitle: this.title,\n\t\t\tshortTitle: checkShortTitle,\n\t\t\tdisplayColor: 'exampleColor',\n\t\t\tgroup: groupData,\n\t\t};\n\t\treturn groupMetadata;\n\t}\n\n\tisGroup(): boolean {\n\t\treturn this.references.length > 1;\n\t}\n\n\tsetGroupName(newGroupName: string): void {\n\t\tif (!this.isGroup()) {\n\t\t\treturn;\n\t\t}\n\t\tthis.title = newGroupName;\n\t}\n}\n\nexport type GridPosition = { x: number; y: number };\nexport type GridPositionWithGroupIndex = { x: number; y: number; groupIndex?: number };\n\nexport type GridElementWithPosition = {\n\tgridElement: IGridElement;\n\tpos: GridPosition;\n};\n\nexport type DashboardProps = { colums?: number; grid: GridElementWithPosition[]; userId: EntityId };\n\nexport class DashboardEntity {\n\tid: EntityId;\n\n\tcolumns: number;\n\n\tgrid: Map;\n\n\tuserId: EntityId;\n\n\tprivate gridIndexFromPosition(pos: GridPosition): number {\n\t\tif (pos.x > this.columns) {\n\t\t\tthrow new BadRequestException('dashboard element position is outside the grid.');\n\t\t}\n\t\treturn this.columns * pos.y + pos.x;\n\t}\n\n\tprivate positionFromGridIndex(index: number): GridPosition {\n\t\tconst y = Math.floor(index / this.columns);\n\t\tconst x = index % this.columns;\n\t\treturn { x, y };\n\t}\n\n\tconstructor(id: string, props: DashboardProps) {\n\t\tthis.columns = props.colums || defaultColumns;\n\t\tthis.grid = new Map();\n\t\tprops.grid.forEach((element) => {\n\t\t\tthis.grid.set(this.gridIndexFromPosition(element.pos), element.gridElement);\n\t\t});\n\t\tthis.id = id;\n\t\tthis.userId = props.userId;\n\t\tObject.assign(this, {});\n\t}\n\n\tgetId(): string {\n\t\treturn this.id;\n\t}\n\n\tgetUserId(): EntityId {\n\t\treturn this.userId;\n\t}\n\n\tgetGrid(): GridElementWithPosition[] {\n\t\tconst result = [...this.grid.keys()].map((key) => {\n\t\t\tconst position = this.positionFromGridIndex(key);\n\t\t\tconst value = this.grid.get(key) as IGridElement;\n\t\t\treturn {\n\t\t\t\tpos: position,\n\t\t\t\tgridElement: value,\n\t\t\t};\n\t\t});\n\t\treturn result;\n\t}\n\n\tgetElement(position: GridPosition): IGridElement {\n\t\tconst element = this.grid.get(this.gridIndexFromPosition(position));\n\t\tif (!element) {\n\t\t\tthrow new NotFoundException('no element at grid position');\n\t\t}\n\t\treturn element;\n\t}\n\n\tmoveElement(from: GridPositionWithGroupIndex, to: GridPositionWithGroupIndex): GridElementWithPosition {\n\t\tconst elementToMove = this.getReferencesFromPosition(from);\n\t\tconst resultElement = this.mergeElementIntoPosition(elementToMove, to);\n\t\tthis.removeFromPosition(from);\n\t\treturn {\n\t\t\tpos: to,\n\t\t\tgridElement: resultElement,\n\t\t};\n\t}\n\n\tsetLearnRooms(rooms: Learnroom[]): void {\n\t\tthis.removeRoomsNotInList(rooms);\n\t\tconst newRooms = this.determineNewRoomsIn(rooms);\n\n\t\tnewRooms.forEach((room) => {\n\t\t\tthis.addRoom(room);\n\t\t});\n\t}\n\n\tprivate removeRoomsNotInList(roomList: Learnroom[]): void {\n\t\t[...this.grid.keys()].forEach((key) => {\n\t\t\tconst element = this.grid.get(key) as IGridElement;\n\t\t\tconst currentRooms = element.getReferences();\n\t\t\tcurrentRooms.forEach((room) => {\n\t\t\t\tif (!roomList.includes(room)) {\n\t\t\t\t\telement.removeReference(room);\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (element.getReferences().length === 0) {\n\t\t\t\tthis.grid.delete(key);\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate determineNewRoomsIn(rooms: Learnroom[]): Learnroom[] {\n\t\tconst result: Learnroom[] = [];\n\t\tconst existingRooms = this.allRooms();\n\t\trooms.forEach((room) => {\n\t\t\tif (!existingRooms.includes(room)) {\n\t\t\t\tresult.push(room);\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t}\n\n\tprivate allRooms(): Learnroom[] {\n\t\tconst elements = [...this.grid.values()];\n\t\tconst references = elements.map((el) => el.getReferences()).flat();\n\t\treturn references;\n\t}\n\n\tprivate addRoom(room: Learnroom): void {\n\t\tconst index = this.getFirstOpenIndex();\n\t\tconst newElement = GridElement.FromSingleReference(room);\n\t\tthis.grid.set(index, newElement);\n\t}\n\n\tprivate getFirstOpenIndex(): number {\n\t\tlet i = 0;\n\t\twhile (this.grid.get(i) !== undefined) {\n\t\t\ti += 1;\n\t\t}\n\t\treturn i;\n\t}\n\n\tprivate getReferencesFromPosition(position: GridPositionWithGroupIndex): IGridElement {\n\t\tconst elementToMove = this.getElement(position);\n\n\t\tif (typeof position.groupIndex === 'number' && elementToMove.isGroup()) {\n\t\t\tconst references = elementToMove.getReferences();\n\t\t\tconst referenceForIndex = references[position.groupIndex];\n\t\t\treturn GridElement.FromSingleReference(referenceForIndex);\n\t\t}\n\n\t\treturn elementToMove;\n\t}\n\n\tprivate removeFromPosition(position: GridPositionWithGroupIndex): void {\n\t\tconst element = this.getElement(position);\n\t\tif (typeof position.groupIndex === 'number') {\n\t\t\telement.removeReferenceByIndex(position.groupIndex);\n\t\t} else {\n\t\t\tthis.grid.delete(this.gridIndexFromPosition(position));\n\t\t}\n\t}\n\n\tprivate mergeElementIntoPosition(element: IGridElement, position: GridPosition): IGridElement {\n\t\tconst targetElement = this.grid.get(this.gridIndexFromPosition(position));\n\t\tif (targetElement) {\n\t\t\ttargetElement.addReferences(element.getReferences());\n\t\t\treturn targetElement;\n\t\t}\n\t\tthis.grid.set(this.gridIndexFromPosition(position), element);\n\t\treturn element;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/DashboardGridElementModel.html":{"url":"entities/DashboardGridElementModel.html","title":"entity - DashboardGridElementModel","body":"\n \n\n\n\n\n\n\n\n Entities\n DashboardGridElementModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/dashboard.model.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n dashboard\n \n \n \n \n references\n \n \n \n Optional\n title\n \n \n \n xPos\n \n \n \n yPos\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n dashboard\n \n \n \n \n \n \n Type : IdentifiedReference\n\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToOne('DashboardModelEntity', {wrappedReference: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.model.entity.ts:56\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n references\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToMany('Course', undefined, {fieldName: 'referenceIds'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.model.entity.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.model.entity.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n \n xPos\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.model.entity.ts:45\n \n \n\n\n \n \n \n \n \n \n \n \n \n yPos\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.model.entity.ts:48\n \n \n\n\n \n \n\n \n\n\n \n import {\n\tCollection,\n\tEntity,\n\tIdentifiedReference,\n\tIndex,\n\tManyToMany,\n\tManyToOne,\n\tOneToMany,\n\tProperty,\n\twrap,\n} from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { Course } from './course.entity';\nimport { User } from './user.entity';\n\nexport interface DashboardGridElementModelProperties {\n\tid?: string;\n\ttitle?: string;\n\txPos: number;\n\tyPos: number;\n\treferences: Course[];\n\tdashboard: DashboardModelEntity;\n}\n\n@Entity({ tableName: 'dashboardelement' })\nexport class DashboardGridElementModel extends BaseEntityWithTimestamps {\n\tconstructor({ id, title, xPos, yPos, references, dashboard }: DashboardGridElementModelProperties) {\n\t\tsuper();\n\t\tif (id) {\n\t\t\tthis._id = ObjectId.createFromHexString(id);\n\t\t\tthis.id = id;\n\t\t}\n\t\tthis.title = title;\n\t\tthis.xPos = xPos;\n\t\tthis.yPos = yPos;\n\t\tthis.references.set(references);\n\t\tthis.dashboard = wrap(dashboard).toReference();\n\t}\n\n\t@Property({ nullable: true })\n\ttitle?: string;\n\n\t@Property()\n\txPos: number;\n\n\t@Property()\n\tyPos: number;\n\n\t@Index()\n\t@ManyToMany('Course', undefined, { fieldName: 'referenceIds' })\n\treferences = new Collection(this);\n\n\t@Index()\n\t@ManyToOne('DashboardModelEntity', { wrappedReference: true })\n\tdashboard: IdentifiedReference;\n}\n\nexport interface DashboardModelProperties {\n\tid: string;\n\tuser: User;\n\tgridElements?: DashboardGridElementModel[];\n}\n\n@Entity({ tableName: 'dashboard' })\nexport class DashboardModelEntity extends BaseEntityWithTimestamps {\n\tconstructor(props: DashboardModelProperties) {\n\t\tsuper();\n\t\tthis._id = ObjectId.createFromHexString(props.id);\n\t\tthis.id = props.id;\n\t\tthis.user = wrap(props.user).toReference();\n\t\tif (props.gridElements) this.gridElements.set(props.gridElements);\n\t}\n\n\t@OneToMany('DashboardGridElementModel', 'dashboard')\n\tgridElements: Collection = new Collection(this);\n\n\t// userId\n\t@Index()\n\t@ManyToOne('User', { fieldName: 'userId', wrappedReference: true })\n\tuser: IdentifiedReference;\n\n\t// sizetype\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DashboardGridElementModelProperties.html":{"url":"interfaces/DashboardGridElementModelProperties.html","title":"interface - DashboardGridElementModelProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DashboardGridElementModelProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/dashboard.model.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n dashboard\n \n \n \n Optional\n \n id\n \n \n \n \n references\n \n \n \n Optional\n \n title\n \n \n \n \n xPos\n \n \n \n \n yPos\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n dashboard\n \n \n \n \n \n \n \n \n dashboard: DashboardModelEntity\n\n \n \n\n\n \n \n Type : DashboardModelEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n references\n \n \n \n \n \n \n \n \n references: Course[]\n\n \n \n\n\n \n \n Type : Course[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n xPos\n \n \n \n \n \n \n \n \n xPos: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n yPos\n \n \n \n \n \n \n \n \n yPos: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import {\n\tCollection,\n\tEntity,\n\tIdentifiedReference,\n\tIndex,\n\tManyToMany,\n\tManyToOne,\n\tOneToMany,\n\tProperty,\n\twrap,\n} from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { Course } from './course.entity';\nimport { User } from './user.entity';\n\nexport interface DashboardGridElementModelProperties {\n\tid?: string;\n\ttitle?: string;\n\txPos: number;\n\tyPos: number;\n\treferences: Course[];\n\tdashboard: DashboardModelEntity;\n}\n\n@Entity({ tableName: 'dashboardelement' })\nexport class DashboardGridElementModel extends BaseEntityWithTimestamps {\n\tconstructor({ id, title, xPos, yPos, references, dashboard }: DashboardGridElementModelProperties) {\n\t\tsuper();\n\t\tif (id) {\n\t\t\tthis._id = ObjectId.createFromHexString(id);\n\t\t\tthis.id = id;\n\t\t}\n\t\tthis.title = title;\n\t\tthis.xPos = xPos;\n\t\tthis.yPos = yPos;\n\t\tthis.references.set(references);\n\t\tthis.dashboard = wrap(dashboard).toReference();\n\t}\n\n\t@Property({ nullable: true })\n\ttitle?: string;\n\n\t@Property()\n\txPos: number;\n\n\t@Property()\n\tyPos: number;\n\n\t@Index()\n\t@ManyToMany('Course', undefined, { fieldName: 'referenceIds' })\n\treferences = new Collection(this);\n\n\t@Index()\n\t@ManyToOne('DashboardModelEntity', { wrappedReference: true })\n\tdashboard: IdentifiedReference;\n}\n\nexport interface DashboardModelProperties {\n\tid: string;\n\tuser: User;\n\tgridElements?: DashboardGridElementModel[];\n}\n\n@Entity({ tableName: 'dashboard' })\nexport class DashboardModelEntity extends BaseEntityWithTimestamps {\n\tconstructor(props: DashboardModelProperties) {\n\t\tsuper();\n\t\tthis._id = ObjectId.createFromHexString(props.id);\n\t\tthis.id = props.id;\n\t\tthis.user = wrap(props.user).toReference();\n\t\tif (props.gridElements) this.gridElements.set(props.gridElements);\n\t}\n\n\t@OneToMany('DashboardGridElementModel', 'dashboard')\n\tgridElements: Collection = new Collection(this);\n\n\t// userId\n\t@Index()\n\t@ManyToOne('User', { fieldName: 'userId', wrappedReference: true })\n\tuser: IdentifiedReference;\n\n\t// sizetype\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DashboardGridElementResponse.html":{"url":"classes/DashboardGridElementResponse.html","title":"class - DashboardGridElementResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DashboardGridElementResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n copyingSince\n \n \n \n displayColor\n \n \n \n Optional\n groupElements\n \n \n \n Optional\n groupId\n \n \n \n Optional\n id\n \n \n \n shortTitle\n \n \n \n \n Optional\n title\n \n \n \n xPosition\n \n \n \n yPosition\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: DashboardGridElementResponse)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:35\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n DashboardGridElementResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n copyingSince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Start of the copying process if it is still ongoing - otherwise property is not set.'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:105\n \n \n\n\n \n \n \n \n \n \n \n \n \n displayColor\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Color of the Grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:78\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n groupElements\n \n \n \n \n \n \n Type : DashboardGridSubElementResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined, description: 'List of all subelements in the group'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:100\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n groupId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The id of the group element', pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:94\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The id of the Grid element', pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:62\n \n \n\n\n \n \n \n \n \n \n \n \n \n shortTitle\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Short title of the Grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:73\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @DecodeHtmlEntities()@ApiProperty({description: 'Title of the Grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:68\n \n \n\n\n \n \n \n \n \n \n \n \n \n xPosition\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'X position of the Grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:83\n \n \n\n\n \n \n \n \n \n \n \n \n \n yPosition\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Y position of the Grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:88\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\n\nexport class DashboardGridSubElementResponse {\n\tconstructor({ id, title, shortTitle, displayColor }: DashboardGridSubElementResponse) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.shortTitle = shortTitle;\n\t\tthis.displayColor = displayColor;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the Grid element',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@DecodeHtmlEntities()\n\t@ApiProperty({\n\t\tdescription: 'Title of the Grid element',\n\t})\n\ttitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Short title of the Grid element',\n\t})\n\tshortTitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Color of the Grid element',\n\t})\n\tdisplayColor: string;\n}\n\nexport class DashboardGridElementResponse {\n\tconstructor({\n\t\tid,\n\t\ttitle,\n\t\tshortTitle,\n\t\tdisplayColor,\n\t\txPosition,\n\t\tyPosition,\n\t\tgroupId,\n\t\tgroupElements,\n\t\tcopyingSince = undefined,\n\t}: DashboardGridElementResponse) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.shortTitle = shortTitle;\n\t\tthis.displayColor = displayColor;\n\t\tthis.xPosition = xPosition;\n\t\tthis.yPosition = yPosition;\n\t\tthis.groupId = groupId;\n\t\tthis.groupElements = groupElements;\n\t\tthis.copyingSince = copyingSince;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the Grid element',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid?: string;\n\n\t@DecodeHtmlEntities()\n\t@ApiProperty({\n\t\tdescription: 'Title of the Grid element',\n\t})\n\ttitle?: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Short title of the Grid element',\n\t})\n\tshortTitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Color of the Grid element',\n\t})\n\tdisplayColor: string;\n\n\t@ApiProperty({\n\t\tdescription: 'X position of the Grid element',\n\t})\n\txPosition: number;\n\n\t@ApiProperty({\n\t\tdescription: 'Y position of the Grid element',\n\t})\n\tyPosition: number;\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the group element',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tgroupId?: string;\n\n\t@ApiProperty({\n\t\ttype: [DashboardGridSubElementResponse],\n\t\tdescription: 'List of all subelements in the group',\n\t})\n\tgroupElements?: DashboardGridSubElementResponse[];\n\n\t@ApiProperty({\n\t\tdescription: 'Start of the copying process if it is still ongoing - otherwise property is not set.',\n\t})\n\tcopyingSince?: Date;\n}\n\nexport class DashboardResponse {\n\tconstructor({ id, gridElements }: DashboardResponse) {\n\t\tthis.id = id;\n\t\tthis.gridElements = gridElements;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the Dashboard entity',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@ApiProperty({\n\t\ttype: [DashboardGridElementResponse],\n\t\tdescription: 'List of all elements visible on the dashboard',\n\t})\n\tgridElements: DashboardGridElementResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DashboardGridSubElementResponse.html":{"url":"classes/DashboardGridSubElementResponse.html","title":"class - DashboardGridSubElementResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DashboardGridSubElementResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n displayColor\n \n \n \n id\n \n \n \n shortTitle\n \n \n \n \n title\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: DashboardGridSubElementResponse)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n DashboardGridSubElementResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n displayColor\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Color of the Grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The id of the Grid element', pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n shortTitle\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Short title of the Grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @DecodeHtmlEntities()@ApiProperty({description: 'Title of the Grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:22\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\n\nexport class DashboardGridSubElementResponse {\n\tconstructor({ id, title, shortTitle, displayColor }: DashboardGridSubElementResponse) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.shortTitle = shortTitle;\n\t\tthis.displayColor = displayColor;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the Grid element',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@DecodeHtmlEntities()\n\t@ApiProperty({\n\t\tdescription: 'Title of the Grid element',\n\t})\n\ttitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Short title of the Grid element',\n\t})\n\tshortTitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Color of the Grid element',\n\t})\n\tdisplayColor: string;\n}\n\nexport class DashboardGridElementResponse {\n\tconstructor({\n\t\tid,\n\t\ttitle,\n\t\tshortTitle,\n\t\tdisplayColor,\n\t\txPosition,\n\t\tyPosition,\n\t\tgroupId,\n\t\tgroupElements,\n\t\tcopyingSince = undefined,\n\t}: DashboardGridElementResponse) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.shortTitle = shortTitle;\n\t\tthis.displayColor = displayColor;\n\t\tthis.xPosition = xPosition;\n\t\tthis.yPosition = yPosition;\n\t\tthis.groupId = groupId;\n\t\tthis.groupElements = groupElements;\n\t\tthis.copyingSince = copyingSince;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the Grid element',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid?: string;\n\n\t@DecodeHtmlEntities()\n\t@ApiProperty({\n\t\tdescription: 'Title of the Grid element',\n\t})\n\ttitle?: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Short title of the Grid element',\n\t})\n\tshortTitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Color of the Grid element',\n\t})\n\tdisplayColor: string;\n\n\t@ApiProperty({\n\t\tdescription: 'X position of the Grid element',\n\t})\n\txPosition: number;\n\n\t@ApiProperty({\n\t\tdescription: 'Y position of the Grid element',\n\t})\n\tyPosition: number;\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the group element',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tgroupId?: string;\n\n\t@ApiProperty({\n\t\ttype: [DashboardGridSubElementResponse],\n\t\tdescription: 'List of all subelements in the group',\n\t})\n\tgroupElements?: DashboardGridSubElementResponse[];\n\n\t@ApiProperty({\n\t\tdescription: 'Start of the copying process if it is still ongoing - otherwise property is not set.',\n\t})\n\tcopyingSince?: Date;\n}\n\nexport class DashboardResponse {\n\tconstructor({ id, gridElements }: DashboardResponse) {\n\t\tthis.id = id;\n\t\tthis.gridElements = gridElements;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the Dashboard entity',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@ApiProperty({\n\t\ttype: [DashboardGridElementResponse],\n\t\tdescription: 'List of all elements visible on the dashboard',\n\t})\n\tgridElements: DashboardGridElementResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DashboardMapper.html":{"url":"classes/DashboardMapper.html","title":"class - DashboardMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DashboardMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/mapper/dashboard.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Static\n mapGridElement\n \n \n Private\n Static\n mapLearnroom\n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Static\n mapGridElement\n \n \n \n \n \n \n \n mapGridElement(data: GridElementWithPosition)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/mapper/dashboard.mapper.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n GridElementWithPosition\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DashboardGridElementResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n mapLearnroom\n \n \n \n \n \n \n \n mapLearnroom(metadata: LearnroomMetadata)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/mapper/dashboard.mapper.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n metadata\n \n LearnroomMetadata\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DashboardGridSubElementResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(dashboard: DashboardEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/mapper/dashboard.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n dashboard\n \n DashboardEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DashboardResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DashboardEntity, GridElementWithPosition } from '@shared/domain/entity';\nimport { LearnroomMetadata } from '@shared/domain/types';\nimport { DashboardGridElementResponse, DashboardGridSubElementResponse, DashboardResponse } from '../controller/dto';\n\nexport class DashboardMapper {\n\tstatic mapToResponse(dashboard: DashboardEntity): DashboardResponse {\n\t\tconst dto = new DashboardResponse({\n\t\t\tid: dashboard.getId(),\n\t\t\tgridElements: dashboard\n\t\t\t\t.getGrid()\n\t\t\t\t.map((elementWithPosition) => DashboardMapper.mapGridElement(elementWithPosition)),\n\t\t});\n\t\treturn dto;\n\t}\n\n\tprivate static mapGridElement(data: GridElementWithPosition): DashboardGridElementResponse {\n\t\tconst elementData = data.gridElement.getContent();\n\t\tconst position = data.pos;\n\t\tconst dto = new DashboardGridElementResponse({\n\t\t\ttitle: elementData.title,\n\t\t\tshortTitle: elementData.shortTitle,\n\t\t\tdisplayColor: elementData.displayColor,\n\t\t\txPosition: position.x,\n\t\t\tyPosition: position.y,\n\t\t\tcopyingSince: elementData.copyingSince ?? undefined,\n\t\t});\n\t\tif (elementData.referencedId) {\n\t\t\tdto.id = elementData.referencedId;\n\t\t}\n\t\tif (elementData.group && elementData.groupId) {\n\t\t\tdto.groupId = elementData.groupId;\n\t\t\tdto.groupElements = elementData.group.map((groupMetadata) => DashboardMapper.mapLearnroom(groupMetadata));\n\t\t}\n\t\treturn dto;\n\t}\n\n\tprivate static mapLearnroom(metadata: LearnroomMetadata): DashboardGridSubElementResponse {\n\t\treturn new DashboardGridSubElementResponse(metadata);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/DashboardModelEntity.html":{"url":"entities/DashboardModelEntity.html","title":"entity - DashboardModelEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n DashboardModelEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/dashboard.model.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n gridElements\n \n \n \n \n user\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n gridElements\n \n \n \n \n \n \n Type : Collection\n\n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @OneToMany('DashboardGridElementModel', 'dashboard')\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.model.entity.ts:76\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n user\n \n \n \n \n \n \n Type : IdentifiedReference\n\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToOne('User', {fieldName: 'userId', wrappedReference: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.model.entity.ts:81\n \n \n\n\n \n \n\n \n\n\n \n import {\n\tCollection,\n\tEntity,\n\tIdentifiedReference,\n\tIndex,\n\tManyToMany,\n\tManyToOne,\n\tOneToMany,\n\tProperty,\n\twrap,\n} from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { Course } from './course.entity';\nimport { User } from './user.entity';\n\nexport interface DashboardGridElementModelProperties {\n\tid?: string;\n\ttitle?: string;\n\txPos: number;\n\tyPos: number;\n\treferences: Course[];\n\tdashboard: DashboardModelEntity;\n}\n\n@Entity({ tableName: 'dashboardelement' })\nexport class DashboardGridElementModel extends BaseEntityWithTimestamps {\n\tconstructor({ id, title, xPos, yPos, references, dashboard }: DashboardGridElementModelProperties) {\n\t\tsuper();\n\t\tif (id) {\n\t\t\tthis._id = ObjectId.createFromHexString(id);\n\t\t\tthis.id = id;\n\t\t}\n\t\tthis.title = title;\n\t\tthis.xPos = xPos;\n\t\tthis.yPos = yPos;\n\t\tthis.references.set(references);\n\t\tthis.dashboard = wrap(dashboard).toReference();\n\t}\n\n\t@Property({ nullable: true })\n\ttitle?: string;\n\n\t@Property()\n\txPos: number;\n\n\t@Property()\n\tyPos: number;\n\n\t@Index()\n\t@ManyToMany('Course', undefined, { fieldName: 'referenceIds' })\n\treferences = new Collection(this);\n\n\t@Index()\n\t@ManyToOne('DashboardModelEntity', { wrappedReference: true })\n\tdashboard: IdentifiedReference;\n}\n\nexport interface DashboardModelProperties {\n\tid: string;\n\tuser: User;\n\tgridElements?: DashboardGridElementModel[];\n}\n\n@Entity({ tableName: 'dashboard' })\nexport class DashboardModelEntity extends BaseEntityWithTimestamps {\n\tconstructor(props: DashboardModelProperties) {\n\t\tsuper();\n\t\tthis._id = ObjectId.createFromHexString(props.id);\n\t\tthis.id = props.id;\n\t\tthis.user = wrap(props.user).toReference();\n\t\tif (props.gridElements) this.gridElements.set(props.gridElements);\n\t}\n\n\t@OneToMany('DashboardGridElementModel', 'dashboard')\n\tgridElements: Collection = new Collection(this);\n\n\t// userId\n\t@Index()\n\t@ManyToOne('User', { fieldName: 'userId', wrappedReference: true })\n\tuser: IdentifiedReference;\n\n\t// sizetype\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DashboardModelMapper.html":{"url":"injectables/DashboardModelMapper.html","title":"injectable - DashboardModelMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DashboardModelMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n createGridElement\n \n \n Private\n Async\n findExistingGridElement\n \n \n Private\n Async\n getOrConstructDashboardModelEntity\n \n \n Async\n mapDashboardToEntity\n \n \n Async\n mapDashboardToModel\n \n \n Async\n mapElementToEntity\n \n \n Async\n mapGridElementToModel\n \n \n Async\n mapReferenceToEntity\n \n \n mapReferenceToModel\n \n \n Private\n Async\n updateExistingGridElement\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager)\n \n \n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n createGridElement\n \n \n \n \n \n \n \n createGridElement(elementWithPosition: GridElementWithPosition, dashboard: DashboardModelEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:95\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n elementWithPosition\n \n GridElementWithPosition\n \n\n \n No\n \n\n\n \n \n dashboard\n \n DashboardModelEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findExistingGridElement\n \n \n \n \n \n \n \n findExistingGridElement(elementWithPosition: GridElementWithPosition)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:64\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n elementWithPosition\n \n GridElementWithPosition\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getOrConstructDashboardModelEntity\n \n \n \n \n \n \n \n getOrConstructDashboardModelEntity(entity: DashboardEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:128\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n DashboardEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n mapDashboardToEntity\n \n \n \n \n \n \n \n mapDashboardToEntity(modelEntity: DashboardModelEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n modelEntity\n \n DashboardModelEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n mapDashboardToModel\n \n \n \n \n \n \n \n mapDashboardToModel(entity: DashboardEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:112\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n DashboardEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n mapElementToEntity\n \n \n \n \n \n \n \n mapElementToEntity(modelEntity: DashboardGridElementModel)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n modelEntity\n \n DashboardGridElementModel\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n mapGridElementToModel\n \n \n \n \n \n \n \n mapGridElementToModel(elementWithPosition: GridElementWithPosition, dashboard: DashboardModelEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n elementWithPosition\n \n GridElementWithPosition\n \n\n \n No\n \n\n\n \n \n dashboard\n \n DashboardModelEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n mapReferenceToEntity\n \n \n \n \n \n \n \n mapReferenceToEntity(modelEntity: Course)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n modelEntity\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapReferenceToModel\n \n \n \n \n \n \nmapReferenceToModel(reference: Learnroom)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n reference\n \n Learnroom\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Course\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n updateExistingGridElement\n \n \n \n \n \n \n \n updateExistingGridElement(elementModel: DashboardGridElementModel, elementWithPosition: GridElementWithPosition, dashboard: DashboardModelEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:75\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n elementModel\n \n DashboardGridElementModel\n \n\n \n No\n \n\n\n \n \n elementWithPosition\n \n GridElementWithPosition\n \n\n \n No\n \n\n\n \n \n dashboard\n \n DashboardModelEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager, wrap } from '@mikro-orm/core';\nimport { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport {\n\tCourse,\n\tDashboardEntity,\n\tDashboardGridElementModel,\n\tDashboardModelEntity,\n\tGridElement,\n\tGridElementWithPosition,\n\tUser,\n} from '@shared/domain/entity';\nimport { Learnroom } from '@shared/domain/interface';\nimport { LearnroomTypes } from '@shared/domain/types';\n\n@Injectable()\nexport class DashboardModelMapper {\n\tconstructor(protected readonly em: EntityManager) {}\n\n\tasync mapReferenceToEntity(modelEntity: Course): Promise {\n\t\tconst domainEntity = await wrap(modelEntity).init();\n\t\treturn domainEntity;\n\t}\n\n\tasync mapElementToEntity(modelEntity: DashboardGridElementModel): Promise {\n\t\tconst referenceModels = await modelEntity.references.loadItems();\n\t\tconst references = await Promise.all(referenceModels.map((ref) => this.mapReferenceToEntity(ref)));\n\t\tconst result = {\n\t\t\tpos: { x: modelEntity.xPos, y: modelEntity.yPos },\n\t\t\tgridElement: GridElement.FromPersistedGroup(modelEntity.id, modelEntity.title, references),\n\t\t};\n\t\treturn result;\n\t}\n\n\tasync mapDashboardToEntity(modelEntity: DashboardModelEntity): Promise {\n\t\tif (!modelEntity.gridElements.isInitialized()) {\n\t\t\tawait modelEntity.gridElements.init();\n\t\t}\n\t\tconst grid = await Promise.all(Array.from(modelEntity.gridElements).map(async (e) => this.mapElementToEntity(e)));\n\t\treturn new DashboardEntity(modelEntity.id, { grid, userId: modelEntity.user.id });\n\t}\n\n\tmapReferenceToModel(reference: Learnroom): Course {\n\t\tconst metadata = reference.getMetadata();\n\t\tif (metadata.type === LearnroomTypes.Course) {\n\t\t\tconst course = reference as Course;\n\t\t\treturn course;\n\t\t}\n\t\tthrow new InternalServerErrorException('unknown learnroom type');\n\t}\n\n\tasync mapGridElementToModel(\n\t\telementWithPosition: GridElementWithPosition,\n\t\tdashboard: DashboardModelEntity\n\t): Promise {\n\t\tconst existing = await this.findExistingGridElement(elementWithPosition);\n\t\tif (existing) {\n\t\t\tconst updatedModel = this.updateExistingGridElement(existing, elementWithPosition, dashboard);\n\t\t\treturn updatedModel;\n\t\t}\n\t\tconst createdModel = await this.createGridElement(elementWithPosition, dashboard);\n\t\treturn createdModel;\n\t}\n\n\tprivate async findExistingGridElement(\n\t\telementWithPosition: GridElementWithPosition\n\t): Promise {\n\t\tconst { gridElement } = elementWithPosition;\n\t\tif (gridElement.hasId()) {\n\t\t\tconst existing = await this.em.findOne(DashboardGridElementModel, gridElement.getId() as string);\n\t\t\tif (existing) return existing;\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tprivate async updateExistingGridElement(\n\t\telementModel: DashboardGridElementModel,\n\t\telementWithPosition: GridElementWithPosition,\n\t\tdashboard: DashboardModelEntity\n\t): Promise {\n\t\telementModel.xPos = elementWithPosition.pos.x;\n\t\telementModel.yPos = elementWithPosition.pos.y;\n\t\tconst { gridElement } = elementWithPosition;\n\n\t\tif (gridElement.isGroup()) {\n\t\t\telementModel.title = gridElement.getContent().title;\n\t\t}\n\n\t\tconst references = await Promise.all(gridElement.getReferences().map((ref) => this.mapReferenceToModel(ref)));\n\t\telementModel.references.set(references);\n\n\t\telementModel.dashboard = wrap(dashboard).toReference();\n\t\treturn elementModel;\n\t}\n\n\tprivate async createGridElement(\n\t\telementWithPosition: GridElementWithPosition,\n\t\tdashboard: DashboardModelEntity\n\t): Promise {\n\t\tconst { gridElement } = elementWithPosition;\n\t\tconst references = await Promise.all(gridElement.getReferences().map((ref) => this.mapReferenceToModel(ref)));\n\t\tconst elementModel = new DashboardGridElementModel({\n\t\t\tid: gridElement.getId(),\n\t\t\txPos: elementWithPosition.pos.x,\n\t\t\tyPos: elementWithPosition.pos.y,\n\t\t\treferences,\n\t\t\tdashboard,\n\t\t});\n\n\t\treturn elementModel;\n\t}\n\n\tasync mapDashboardToModel(entity: DashboardEntity): Promise {\n\t\tconst modelEntity = await this.getOrConstructDashboardModelEntity(entity);\n\t\tconst mappedElements = await Promise.all(\n\t\t\tentity.getGrid().map((elementWithPosition) => this.mapGridElementToModel(elementWithPosition, modelEntity))\n\t\t);\n\n\t\tArray.from(modelEntity.gridElements).forEach((el) => {\n\t\t\tif (!mappedElements.includes(el)) {\n\t\t\t\tmodelEntity.gridElements.remove(el);\n\t\t\t\tthis.em.remove(el);\n\t\t\t}\n\t\t});\n\n\t\treturn modelEntity;\n\t}\n\n\tprivate async getOrConstructDashboardModelEntity(entity: DashboardEntity): Promise {\n\t\tconst existing = await this.em.findOne(DashboardModelEntity, entity.getId());\n\t\tif (existing) {\n\t\t\treturn existing;\n\t\t}\n\t\tconst user = await this.em.findOneOrFail(User, entity.getUserId());\n\t\treturn new DashboardModelEntity({ id: entity.getId(), user, gridElements: [] });\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DashboardModelProperties.html":{"url":"interfaces/DashboardModelProperties.html","title":"interface - DashboardModelProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DashboardModelProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/dashboard.model.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n gridElements\n \n \n \n \n id\n \n \n \n \n user\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n gridElements\n \n \n \n \n \n \n \n \n gridElements: DashboardGridElementModel[]\n\n \n \n\n\n \n \n Type : DashboardGridElementModel[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n user\n \n \n \n \n \n \n \n \n user: User\n\n \n \n\n\n \n \n Type : User\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import {\n\tCollection,\n\tEntity,\n\tIdentifiedReference,\n\tIndex,\n\tManyToMany,\n\tManyToOne,\n\tOneToMany,\n\tProperty,\n\twrap,\n} from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { Course } from './course.entity';\nimport { User } from './user.entity';\n\nexport interface DashboardGridElementModelProperties {\n\tid?: string;\n\ttitle?: string;\n\txPos: number;\n\tyPos: number;\n\treferences: Course[];\n\tdashboard: DashboardModelEntity;\n}\n\n@Entity({ tableName: 'dashboardelement' })\nexport class DashboardGridElementModel extends BaseEntityWithTimestamps {\n\tconstructor({ id, title, xPos, yPos, references, dashboard }: DashboardGridElementModelProperties) {\n\t\tsuper();\n\t\tif (id) {\n\t\t\tthis._id = ObjectId.createFromHexString(id);\n\t\t\tthis.id = id;\n\t\t}\n\t\tthis.title = title;\n\t\tthis.xPos = xPos;\n\t\tthis.yPos = yPos;\n\t\tthis.references.set(references);\n\t\tthis.dashboard = wrap(dashboard).toReference();\n\t}\n\n\t@Property({ nullable: true })\n\ttitle?: string;\n\n\t@Property()\n\txPos: number;\n\n\t@Property()\n\tyPos: number;\n\n\t@Index()\n\t@ManyToMany('Course', undefined, { fieldName: 'referenceIds' })\n\treferences = new Collection(this);\n\n\t@Index()\n\t@ManyToOne('DashboardModelEntity', { wrappedReference: true })\n\tdashboard: IdentifiedReference;\n}\n\nexport interface DashboardModelProperties {\n\tid: string;\n\tuser: User;\n\tgridElements?: DashboardGridElementModel[];\n}\n\n@Entity({ tableName: 'dashboard' })\nexport class DashboardModelEntity extends BaseEntityWithTimestamps {\n\tconstructor(props: DashboardModelProperties) {\n\t\tsuper();\n\t\tthis._id = ObjectId.createFromHexString(props.id);\n\t\tthis.id = props.id;\n\t\tthis.user = wrap(props.user).toReference();\n\t\tif (props.gridElements) this.gridElements.set(props.gridElements);\n\t}\n\n\t@OneToMany('DashboardGridElementModel', 'dashboard')\n\tgridElements: Collection = new Collection(this);\n\n\t// userId\n\t@Index()\n\t@ManyToOne('User', { fieldName: 'userId', wrappedReference: true })\n\tuser: IdentifiedReference;\n\n\t// sizetype\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DashboardRepo.html":{"url":"injectables/DashboardRepo.html","title":"injectable - DashboardRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DashboardRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/dashboard/dashboard.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getDashboardById\n \n \n Async\n getUsersDashboard\n \n \n Async\n persist\n \n \n Async\n persistAndFlush\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager, mapper: DashboardModelMapper)\n \n \n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.repo.ts:21\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n mapper\n \n \n DashboardModelMapper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getDashboardById\n \n \n \n \n \n \n \n getDashboardById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.repo.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getUsersDashboard\n \n \n \n \n \n \n \n getUsersDashboard(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.repo.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n persist\n \n \n \n \n \n \n \n persist(entity: DashboardEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.repo.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n DashboardEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n persistAndFlush\n \n \n \n \n \n \n \n persistAndFlush(entity: DashboardEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.repo.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n DashboardEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager, ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { DashboardEntity, DashboardModelEntity, GridElementWithPosition } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { DashboardModelMapper } from './dashboard.model.mapper';\n\nconst generateEmptyDashboard = (userId: EntityId) => {\n\tconst gridArray: GridElementWithPosition[] = [];\n\n\tconst dashboard = new DashboardEntity(new ObjectId().toString(), { grid: gridArray, userId });\n\treturn dashboard;\n};\n\nexport interface IDashboardRepo {\n\tgetUsersDashboard(userId: EntityId): Promise;\n\tgetDashboardById(id: EntityId): Promise;\n\tpersistAndFlush(entity: DashboardEntity): Promise;\n}\n\n@Injectable()\nexport class DashboardRepo implements IDashboardRepo {\n\tconstructor(protected readonly em: EntityManager, protected readonly mapper: DashboardModelMapper) {}\n\n\t// ToDo: refactor this to be in an abstract class (see baseRepo)\n\tasync persist(entity: DashboardEntity): Promise {\n\t\tconst modelEntity = await this.mapper.mapDashboardToModel(entity);\n\t\tthis.em.persist(modelEntity);\n\t\treturn this.mapper.mapDashboardToEntity(modelEntity);\n\t}\n\n\tasync persistAndFlush(entity: DashboardEntity): Promise {\n\t\tconst modelEntity = await this.mapper.mapDashboardToModel(entity);\n\t\tawait this.em.persistAndFlush(modelEntity);\n\t\treturn this.mapper.mapDashboardToEntity(modelEntity);\n\t}\n\n\tasync getDashboardById(id: EntityId): Promise {\n\t\tconst dashboardModel = await this.em.findOneOrFail(DashboardModelEntity, id);\n\t\tconst dashboard = await this.mapper.mapDashboardToEntity(dashboardModel);\n\t\treturn dashboard;\n\t}\n\n\tasync getUsersDashboard(userId: EntityId): Promise {\n\t\tconst dashboardModel = await this.em.findOne(DashboardModelEntity, { user: userId });\n\t\tif (dashboardModel) {\n\t\t\treturn this.mapper.mapDashboardToEntity(dashboardModel);\n\t\t}\n\n\t\tconst dashboard = generateEmptyDashboard(userId);\n\t\tawait this.persistAndFlush(dashboard);\n\n\t\treturn dashboard;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DashboardResponse.html":{"url":"classes/DashboardResponse.html","title":"class - DashboardResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DashboardResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n gridElements\n \n \n \n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: DashboardResponse)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:108\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n DashboardResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n gridElements\n \n \n \n \n \n \n Type : DashboardGridElementResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined, description: 'List of all elements visible on the dashboard'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:124\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The id of the Dashboard entity', pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:118\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\n\nexport class DashboardGridSubElementResponse {\n\tconstructor({ id, title, shortTitle, displayColor }: DashboardGridSubElementResponse) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.shortTitle = shortTitle;\n\t\tthis.displayColor = displayColor;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the Grid element',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@DecodeHtmlEntities()\n\t@ApiProperty({\n\t\tdescription: 'Title of the Grid element',\n\t})\n\ttitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Short title of the Grid element',\n\t})\n\tshortTitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Color of the Grid element',\n\t})\n\tdisplayColor: string;\n}\n\nexport class DashboardGridElementResponse {\n\tconstructor({\n\t\tid,\n\t\ttitle,\n\t\tshortTitle,\n\t\tdisplayColor,\n\t\txPosition,\n\t\tyPosition,\n\t\tgroupId,\n\t\tgroupElements,\n\t\tcopyingSince = undefined,\n\t}: DashboardGridElementResponse) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.shortTitle = shortTitle;\n\t\tthis.displayColor = displayColor;\n\t\tthis.xPosition = xPosition;\n\t\tthis.yPosition = yPosition;\n\t\tthis.groupId = groupId;\n\t\tthis.groupElements = groupElements;\n\t\tthis.copyingSince = copyingSince;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the Grid element',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid?: string;\n\n\t@DecodeHtmlEntities()\n\t@ApiProperty({\n\t\tdescription: 'Title of the Grid element',\n\t})\n\ttitle?: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Short title of the Grid element',\n\t})\n\tshortTitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Color of the Grid element',\n\t})\n\tdisplayColor: string;\n\n\t@ApiProperty({\n\t\tdescription: 'X position of the Grid element',\n\t})\n\txPosition: number;\n\n\t@ApiProperty({\n\t\tdescription: 'Y position of the Grid element',\n\t})\n\tyPosition: number;\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the group element',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tgroupId?: string;\n\n\t@ApiProperty({\n\t\ttype: [DashboardGridSubElementResponse],\n\t\tdescription: 'List of all subelements in the group',\n\t})\n\tgroupElements?: DashboardGridSubElementResponse[];\n\n\t@ApiProperty({\n\t\tdescription: 'Start of the copying process if it is still ongoing - otherwise property is not set.',\n\t})\n\tcopyingSince?: Date;\n}\n\nexport class DashboardResponse {\n\tconstructor({ id, gridElements }: DashboardResponse) {\n\t\tthis.id = id;\n\t\tthis.gridElements = gridElements;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the Dashboard entity',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@ApiProperty({\n\t\ttype: [DashboardGridElementResponse],\n\t\tdescription: 'List of all elements visible on the dashboard',\n\t})\n\tgridElements: DashboardGridElementResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DashboardUc.html":{"url":"injectables/DashboardUc.html","title":"injectable - DashboardUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DashboardUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/uc/dashboard.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getUsersDashboard\n \n \n Async\n moveElementOnDashboard\n \n \n Async\n renameGroupOnDashboard\n \n \n Private\n validateUsersMatch\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dashboardRepo: IDashboardRepo, courseRepo: CourseRepo)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/dashboard.uc.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n dashboardRepo\n \n \n IDashboardRepo\n \n \n \n No\n \n \n \n \n courseRepo\n \n \n CourseRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getUsersDashboard\n \n \n \n \n \n \n \n getUsersDashboard(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/dashboard.uc.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n moveElementOnDashboard\n \n \n \n \n \n \n \n moveElementOnDashboard(dashboardId: EntityId, from: GridPositionWithGroupIndex, to: GridPositionWithGroupIndex, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/dashboard.uc.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n dashboardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n from\n \n GridPositionWithGroupIndex\n \n\n \n No\n \n\n\n \n \n to\n \n GridPositionWithGroupIndex\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n renameGroupOnDashboard\n \n \n \n \n \n \n \n renameGroupOnDashboard(dashboardId: EntityId, position: GridPosition, params: string, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/dashboard.uc.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n dashboardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n position\n \n GridPosition\n \n\n \n No\n \n\n\n \n \n params\n \n string\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n validateUsersMatch\n \n \n \n \n \n \n \n validateUsersMatch(dashboard: DashboardEntity, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/dashboard.uc.ts:59\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n dashboard\n \n DashboardEntity\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Inject, Injectable, NotFoundException } from '@nestjs/common';\nimport { DashboardEntity, GridPosition, GridPositionWithGroupIndex } from '@shared/domain/entity';\nimport { SortOrder } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { CourseRepo, IDashboardRepo } from '@shared/repo';\n// import { NotFound } from '@feathersjs/errors'; // wrong import? see NotFoundException\n\n@Injectable()\nexport class DashboardUc {\n\tconstructor(\n\t\t@Inject('DASHBOARD_REPO') private readonly dashboardRepo: IDashboardRepo,\n\t\tprivate readonly courseRepo: CourseRepo\n\t) {}\n\n\tasync getUsersDashboard(userId: EntityId): Promise {\n\t\tconst dashboard = await this.dashboardRepo.getUsersDashboard(userId);\n\t\tconst [courses] = await this.courseRepo.findAllByUserId(\n\t\t\tuserId,\n\t\t\t{ onlyActiveCourses: true },\n\t\t\t{ order: { name: SortOrder.asc } }\n\t\t);\n\n\t\tdashboard.setLearnRooms(courses);\n\t\tawait this.dashboardRepo.persistAndFlush(dashboard);\n\t\treturn dashboard;\n\t}\n\n\tasync moveElementOnDashboard(\n\t\tdashboardId: EntityId,\n\t\tfrom: GridPositionWithGroupIndex,\n\t\tto: GridPositionWithGroupIndex,\n\t\tuserId: EntityId\n\t): Promise {\n\t\tconst dashboard = await this.dashboardRepo.getDashboardById(dashboardId);\n\t\tthis.validateUsersMatch(dashboard, userId);\n\n\t\tdashboard.moveElement(from, to);\n\n\t\tawait this.dashboardRepo.persistAndFlush(dashboard);\n\t\treturn dashboard;\n\t}\n\n\tasync renameGroupOnDashboard(\n\t\tdashboardId: EntityId,\n\t\tposition: GridPosition,\n\t\tparams: string,\n\t\tuserId: EntityId\n\t): Promise {\n\t\tconst dashboard = await this.dashboardRepo.getDashboardById(dashboardId);\n\t\tthis.validateUsersMatch(dashboard, userId);\n\n\t\tconst gridElement = dashboard.getElement(position);\n\t\tgridElement.setGroupName(params);\n\n\t\tawait this.dashboardRepo.persistAndFlush(dashboard);\n\t\treturn dashboard;\n\t}\n\n\tprivate validateUsersMatch(dashboard: DashboardEntity, userId: EntityId) {\n\t\tif (dashboard.getUserId() !== userId) {\n\t\t\tthrow new NotFoundException('no such dashboard found');\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DashboardUrlParams.html":{"url":"classes/DashboardUrlParams.html","title":"class - DashboardUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DashboardUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/dashboard.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n dashboardId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n dashboardId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the dashboard.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class DashboardUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the dashboard.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tdashboardId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DatabaseManagementConsole.html":{"url":"classes/DatabaseManagementConsole.html","title":"class - DatabaseManagementConsole","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DatabaseManagementConsole\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/management/console/database-management.console.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n exportCollections\n \n \n \n Async\n seedCollections\n \n \n \n Async\n syncIndexes\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(consoleWriter: ConsoleWriterService, databaseManagementUc: DatabaseManagementUc)\n \n \n \n \n Defined in apps/server/src/modules/management/console/database-management.console.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n consoleWriter\n \n \n ConsoleWriterService\n \n \n \n No\n \n \n \n \n databaseManagementUc\n \n \n DatabaseManagementUc\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n exportCollections\n \n \n \n \n \n \n \n exportCollections(options: Options)\n \n \n\n \n \n Decorators : \n \n @Command({command: 'export', options: undefined, description: 'export database collections to filesystem'})\n \n \n\n \n \n Defined in apps/server/src/modules/management/console/database-management.console.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n Options\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n seedCollections\n \n \n \n \n \n \n \n seedCollections(options: Options)\n \n \n\n \n \n Decorators : \n \n @Command({command: 'seed', options: undefined, description: 'reset database collections with seed data from filesystem'})\n \n \n\n \n \n Defined in apps/server/src/modules/management/console/database-management.console.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n Options\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n syncIndexes\n \n \n \n \n \n \n \n syncIndexes()\n \n \n\n \n \n Decorators : \n \n @Command({command: 'sync-indexes', options: undefined, description: 'sync indexes from nest and mikroorm'})\n \n \n\n \n \n Defined in apps/server/src/modules/management/console/database-management.console.ts:72\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ConsoleWriterService } from '@infra/console/console-writer/console-writer.service';\nimport { Command, Console } from 'nestjs-console';\nimport { DatabaseManagementUc } from '../uc/database-management.uc';\n\ninterface Options {\n\tcollection?: string;\n\toverride?: boolean;\n\tonlyfactories?: boolean;\n}\n\n@Console({ command: 'database', description: 'database setup console' })\nexport class DatabaseManagementConsole {\n\tconstructor(private consoleWriter: ConsoleWriterService, private databaseManagementUc: DatabaseManagementUc) {}\n\n\t@Command({\n\t\tcommand: 'seed',\n\t\toptions: [\n\t\t\t{\n\t\t\t\tflags: '-c, --collection ',\n\t\t\t\trequired: false,\n\t\t\t\tdescription: 'filter for a single ',\n\t\t\t},\n\t\t\t{\n\t\t\t\tflags: '-o, --onlyfactories',\n\t\t\t\trequired: false,\n\t\t\t\tdescription: 'seed from factories only',\n\t\t\t},\n\t\t],\n\t\tdescription: 'reset database collections with seed data from filesystem',\n\t})\n\tasync seedCollections(options: Options): Promise {\n\t\tconst filter = options?.collection ? [options.collection] : undefined;\n\n\t\tconst collections = options.onlyfactories\n\t\t\t? await this.databaseManagementUc.seedDatabaseCollectionsFromFactories(filter)\n\t\t\t: await this.databaseManagementUc.seedDatabaseCollectionsFromFileSystem(filter);\n\t\tconst report = JSON.stringify(collections);\n\t\tthis.consoleWriter.info(report);\n\t\treturn collections;\n\t}\n\n\t@Command({\n\t\tcommand: 'export',\n\t\toptions: [\n\t\t\t{\n\t\t\t\tflags: '-c, --collection ',\n\t\t\t\trequired: false,\n\t\t\t\tdescription: 'filter for a single ',\n\t\t\t},\n\t\t\t{\n\t\t\t\tflags: '-o, --override',\n\t\t\t\trequired: false,\n\t\t\t\tdescription: 'optional export collections to setup folder and override existing files',\n\t\t\t},\n\t\t],\n\t\tdescription: 'export database collections to filesystem',\n\t})\n\tasync exportCollections(options: Options): Promise {\n\t\tconst filter = options?.collection ? [options.collection] : undefined;\n\t\tconst toSeedFolder = options?.override ? true : undefined;\n\t\tconst collections = await this.databaseManagementUc.exportCollectionsToFileSystem(filter, toSeedFolder);\n\t\tconst report = JSON.stringify(collections);\n\t\tthis.consoleWriter.info(report);\n\t\treturn collections;\n\t}\n\n\t@Command({\n\t\tcommand: 'sync-indexes',\n\t\toptions: [],\n\t\tdescription: 'sync indexes from nest and mikroorm',\n\t})\n\tasync syncIndexes(): Promise {\n\t\tawait this.databaseManagementUc.syncIndexes();\n\t\tconst report = 'sync of indexes is completed';\n\t\tthis.consoleWriter.info(report);\n\t\treturn report;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/DatabaseManagementController.html":{"url":"controllers/DatabaseManagementController.html","title":"controller - DatabaseManagementController","body":"\n \n\n\n\n\n\n\n Controllers\n DatabaseManagementController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/management/controller/database-management.controller.ts\n \n\n \n Prefix\n \n \n management/database\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n exportCollection\n \n \n \n Async\n exportCollections\n \n \n \n Async\n importCollection\n \n \n \n Async\n importCollections\n \n \n \n syncIndexes\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n exportCollection\n \n \n \n \n \n \n \n exportCollection(collectionName: string)\n \n \n\n \n \n Decorators : \n \n @Post('export/:collectionName')\n \n \n\n \n \n Defined in apps/server/src/modules/management/controller/database-management.controller.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n collectionName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n exportCollections\n \n \n \n \n \n \n \n exportCollections()\n \n \n\n \n \n Decorators : \n \n @Post('export')\n \n \n\n \n \n Defined in apps/server/src/modules/management/controller/database-management.controller.ts:23\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n importCollection\n \n \n \n \n \n \n \n importCollection(collectionName: string)\n \n \n\n \n \n Decorators : \n \n @Post('seed/:collectionName')\n \n \n\n \n \n Defined in apps/server/src/modules/management/controller/database-management.controller.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n collectionName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n importCollections\n \n \n \n \n \n \n \n importCollections(withIndexes: boolean)\n \n \n\n \n \n Decorators : \n \n @All('seed')\n \n \n\n \n \n Defined in apps/server/src/modules/management/controller/database-management.controller.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n withIndexes\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n syncIndexes\n \n \n \n \n \n \n \n syncIndexes()\n \n \n\n \n \n Decorators : \n \n @Post('sync-indexes')\n \n \n\n \n \n Defined in apps/server/src/modules/management/controller/database-management.controller.ts:33\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n\n\n \n import { Controller, Param, Post, All, Query } from '@nestjs/common';\nimport { DatabaseManagementUc } from '../uc/database-management.uc';\n\n@Controller('management/database')\nexport class DatabaseManagementController {\n\tconstructor(private databaseManagementUc: DatabaseManagementUc) {}\n\n\t@All('seed')\n\tasync importCollections(@Query('with-indexes') withIndexes: boolean): Promise {\n\t\tconst res = await this.databaseManagementUc.seedDatabaseCollectionsFromFileSystem();\n\t\tif (withIndexes) {\n\t\t\tawait this.databaseManagementUc.syncIndexes();\n\t\t}\n\t\treturn res;\n\t}\n\n\t@Post('seed/:collectionName')\n\tasync importCollection(@Param('collectionName') collectionName: string): Promise {\n\t\treturn this.databaseManagementUc.seedDatabaseCollectionsFromFileSystem([collectionName]);\n\t}\n\n\t@Post('export')\n\tasync exportCollections(): Promise {\n\t\treturn this.databaseManagementUc.exportCollectionsToFileSystem();\n\t}\n\n\t@Post('export/:collectionName')\n\tasync exportCollection(@Param('collectionName') collectionName: string): Promise {\n\t\treturn this.databaseManagementUc.exportCollectionsToFileSystem([collectionName]);\n\t}\n\n\t@Post('sync-indexes')\n\tsyncIndexes() {\n\t\treturn this.databaseManagementUc.syncIndexes();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/DatabaseManagementModule.html":{"url":"modules/DatabaseManagementModule.html","title":"module - DatabaseManagementModule","body":"\n \n\n\n\n\n Modules\n DatabaseManagementModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_DatabaseManagementModule\n\n\n\ncluster_DatabaseManagementModule_exports\n\n\n\ncluster_DatabaseManagementModule_providers\n\n\n\n\nDatabaseManagementService \n\nDatabaseManagementService \n\n\n\nDatabaseManagementModule\n\nDatabaseManagementModule\n\nDatabaseManagementService -->\n\nDatabaseManagementModule->DatabaseManagementService \n\n\n\n\n\nDatabaseManagementService\n\nDatabaseManagementService\n\nDatabaseManagementModule -->\n\nDatabaseManagementService->DatabaseManagementModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/database/management/database-management.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n DatabaseManagementService\n \n \n \n \n Exports\n \n \n DatabaseManagementService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { DatabaseManagementService } from './database-management.service';\n\n@Module({\n\tproviders: [DatabaseManagementService],\n\texports: [DatabaseManagementService],\n})\nexport class DatabaseManagementModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DatabaseManagementService.html":{"url":"injectables/DatabaseManagementService.html","title":"injectable - DatabaseManagementService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DatabaseManagementService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/database/management/database-management.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n clearCollection\n \n \n Async\n collectionExists\n \n \n Async\n createCollection\n \n \n Async\n dropCollection\n \n \n Async\n findDocumentsOfCollection\n \n \n Async\n getCollectionNames\n \n \n getDatabaseCollection\n \n \n Async\n importCollection\n \n \n Async\n syncIndexes\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n db\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager, orm: MikroORM)\n \n \n \n \n Defined in apps/server/src/infra/database/management/database-management.service.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n orm\n \n \n MikroORM\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n clearCollection\n \n \n \n \n \n \n \n clearCollection(collectionName: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/database/management/database-management.service.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n collectionName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n collectionExists\n \n \n \n \n \n \n \n collectionExists(collectionName: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/database/management/database-management.service.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n collectionName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createCollection\n \n \n \n \n \n \n \n createCollection(collectionName: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/database/management/database-management.service.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n collectionName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n dropCollection\n \n \n \n \n \n \n \n dropCollection(collectionName: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/database/management/database-management.service.ts:62\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n collectionName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findDocumentsOfCollection\n \n \n \n \n \n \n \n findDocumentsOfCollection(collectionName: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/database/management/database-management.service.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n collectionName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getCollectionNames\n \n \n \n \n \n \n \n getCollectionNames()\n \n \n\n\n \n \n Defined in apps/server/src/infra/database/management/database-management.service.ts:44\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n getDatabaseCollection\n \n \n \n \n \n \ngetDatabaseCollection(collectionName: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/database/management/database-management.service.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n collectionName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Collection\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n importCollection\n \n \n \n \n \n \n \n importCollection(collectionName: string, jsonDocuments: [])\n \n \n\n\n \n \n Defined in apps/server/src/infra/database/management/database-management.service.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n collectionName\n \n string\n \n\n \n No\n \n\n\n \n \n jsonDocuments\n \n []\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n syncIndexes\n \n \n \n \n \n \n \n syncIndexes()\n \n \n\n\n \n \n Defined in apps/server/src/infra/database/management/database-management.service.ts:66\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n db\n \n \n\n \n \n getdb()\n \n \n \n \n Defined in apps/server/src/infra/database/management/database-management.service.ts:11\n \n \n\n \n \n\n \n\n\n \n import { MikroORM } from '@mikro-orm/core';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { BaseEntity } from '@shared/domain/entity';\nimport { Collection, Db } from 'mongodb';\n\n@Injectable()\nexport class DatabaseManagementService {\n\tconstructor(private em: EntityManager, private readonly orm: MikroORM) {}\n\n\tprivate get db(): Db {\n\t\treturn this.em.getConnection('write').getDb();\n\t}\n\n\tgetDatabaseCollection(collectionName: string): Collection {\n\t\tconst collection = this.db.collection(collectionName);\n\t\treturn collection;\n\t}\n\n\tasync importCollection(collectionName: string, jsonDocuments: unknown[]): Promise {\n\t\tif (jsonDocuments.length === 0) {\n\t\t\treturn 0;\n\t\t}\n\t\tconst collection = this.getDatabaseCollection(collectionName);\n\t\tconst { insertedCount } = await collection.insertMany(jsonDocuments as BaseEntity[], {\n\t\t\tforceServerObjectId: true,\n\t\t\tbypassDocumentValidation: true,\n\t\t});\n\t\treturn insertedCount;\n\t}\n\n\tasync findDocumentsOfCollection(collectionName: string): Promise {\n\t\tconst collection = this.getDatabaseCollection(collectionName);\n\t\tconst documents = (await collection.find({}).toArray()) as unknown[];\n\t\treturn documents;\n\t}\n\n\tasync clearCollection(collectionName: string): Promise {\n\t\tconst collection = this.getDatabaseCollection(collectionName);\n\t\tconst { deletedCount } = await collection.deleteMany({});\n\t\treturn deletedCount || 0;\n\t}\n\n\tasync getCollectionNames(): Promise {\n\t\tconst collections = (await this.db.listCollections(undefined, { nameOnly: true }).toArray()) as unknown[] as {\n\t\t\tname: string;\n\t\t}[];\n\t\tconst collectionNames = collections.map((collection) => collection.name);\n\t\treturn collectionNames;\n\t}\n\n\tasync collectionExists(collectionName: string): Promise {\n\t\tconst collections = await this.getCollectionNames();\n\t\tconst result = collections.includes(collectionName);\n\t\treturn result;\n\t}\n\n\tasync createCollection(collectionName: string): Promise {\n\t\tawait this.db.createCollection(collectionName);\n\t}\n\n\tasync dropCollection(collectionName: string): Promise {\n\t\tawait this.db.dropCollection(collectionName);\n\t}\n\n\tasync syncIndexes(): Promise {\n\t\treturn this.orm.getSchemaGenerator().ensureIndexes();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeleteFilesConsole.html":{"url":"classes/DeleteFilesConsole.html","title":"class - DeleteFilesConsole","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeleteFilesConsole\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files/job/delete-files.console.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteMarkedFiles\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(deleteFilesUc: DeleteFilesUc, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/files/job/delete-files.console.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n deleteFilesUc\n \n \n DeleteFilesUc\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n deleteMarkedFiles\n \n \n \n \n \n \n \n deleteMarkedFiles(daysSinceDeletion: number, batchSize: number)\n \n \n\n \n \n Decorators : \n \n @Command({command: 'cleanup-job [batchSize]', description: 'cleanup job to remove files that were marked for deletion days ago'})\n \n \n\n \n \n Defined in apps/server/src/modules/files/job/delete-files.console.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n daysSinceDeletion\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n batchSize\n \n number\n \n\n \n No\n \n\n \n 1000\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Command, Console } from 'nestjs-console';\nimport { LegacyLogger } from '@src/core/logger';\nimport { DeleteFilesUc } from '../uc';\n\n@Console({ command: 'files', description: 'file deletion console' })\nexport class DeleteFilesConsole {\n\tconstructor(private deleteFilesUc: DeleteFilesUc, private logger: LegacyLogger) {\n\t\tthis.logger.setContext(DeleteFilesConsole.name);\n\t}\n\n\t@Command({\n\t\tcommand: 'cleanup-job [batchSize]',\n\t\tdescription: 'cleanup job to remove files that were marked for deletion days ago',\n\t})\n\tasync deleteMarkedFiles(daysSinceDeletion: number, batchSize = 1000): Promise {\n\t\tthis.logger.log(\n\t\t\t`Start cleanup job: Deleting files that were marked for deletion at least ${daysSinceDeletion} days ago; batch size: ${batchSize}`\n\t\t);\n\t\tconst thresholdDate = new Date();\n\t\tthresholdDate.setDate(thresholdDate.getDate() - daysSinceDeletion);\n\n\t\tawait this.deleteFilesUc.deleteMarkedFiles(thresholdDate, Number(batchSize));\n\t\tthis.logger.log('cleanup job finished');\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DeleteFilesUc.html":{"url":"injectables/DeleteFilesUc.html","title":"injectable - DeleteFilesUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DeleteFilesUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files/uc/delete-files.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n s3ClientMap\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n createClient\n \n \n Private\n Async\n deleteFile\n \n \n Private\n Async\n deleteFileInStorage\n \n \n Public\n Async\n deleteMarkedFiles\n \n \n Private\n Async\n initializeS3ClientMap\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(filesRepo: FilesRepo, storageProviderRepo: StorageProviderRepo, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/files/uc/delete-files.uc.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filesRepo\n \n \n FilesRepo\n \n \n \n No\n \n \n \n \n storageProviderRepo\n \n \n StorageProviderRepo\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n createClient\n \n \n \n \n \n \n \n createClient(storageProvider: StorageProviderEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/uc/delete-files.uc.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n storageProvider\n \n StorageProviderEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : S3Client\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n deleteFile\n \n \n \n \n \n \n \n deleteFile(file: FileEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/uc/delete-files.uc.ts:91\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n file\n \n FileEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n deleteFileInStorage\n \n \n \n \n \n \n \n deleteFileInStorage(file: FileEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/uc/delete-files.uc.ts:106\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n file\n \n FileEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n deleteMarkedFiles\n \n \n \n \n \n \n \n deleteMarkedFiles(thresholdDate: Date, batchSize: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/uc/delete-files.uc.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n thresholdDate\n \n Date\n \n\n \n No\n \n\n\n \n \n batchSize\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n initializeS3ClientMap\n \n \n \n \n \n \n \n initializeS3ClientMap()\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/uc/delete-files.uc.ts:66\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n s3ClientMap\n \n \n \n \n \n \n Type : Map\n\n \n \n \n \n Default value : new Map()\n \n \n \n \n Defined in apps/server/src/modules/files/uc/delete-files.uc.ts:12\n \n \n\n\n \n \n\n\n \n\n\n \n import { DeleteObjectCommand, S3Client } from '@aws-sdk/client-s3';\nimport { Injectable } from '@nestjs/common';\nimport { StorageProviderEntity } from '@shared/domain/entity';\nimport { StorageProviderRepo } from '@shared/repo/storageprovider';\nimport { LegacyLogger } from '@src/core/logger';\nimport { FileEntity } from '../entity';\nimport { FilesRepo } from '../repo';\n\n@Injectable()\nexport class DeleteFilesUc {\n\tprivate s3ClientMap: Map = new Map();\n\n\tconstructor(\n\t\tprivate readonly filesRepo: FilesRepo,\n\t\tprivate readonly storageProviderRepo: StorageProviderRepo,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(DeleteFilesUc.name);\n\t}\n\n\tpublic async deleteMarkedFiles(thresholdDate: Date, batchSize: number): Promise {\n\t\tawait this.initializeS3ClientMap();\n\n\t\tlet batchCounter = 0;\n\t\tlet numberOfFilesInBatch = 0;\n\t\tlet numberOfProcessedFiles = 0;\n\t\tconst failingFileIds: string[] = [];\n\n\t\tdo {\n\t\t\tconst offset = failingFileIds.length;\n\t\t\tconst files = await this.filesRepo.findForCleanup(thresholdDate, batchSize, offset);\n\n\t\t\tconst promises = files.map((file) => this.deleteFile(file));\n\t\t\tconst results = await Promise.all(promises);\n\n\t\t\tlet numberOfFailingFilesInBatch = 0;\n\n\t\t\tresults.forEach((result) => {\n\t\t\t\tif (!result.success) {\n\t\t\t\t\tfailingFileIds.push(result.fileId);\n\t\t\t\t\tnumberOfFailingFilesInBatch += 1;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tnumberOfFilesInBatch = files.length;\n\t\t\tnumberOfProcessedFiles += files.length;\n\t\t\tbatchCounter += 1;\n\n\t\t\tthis.logger.log(\n\t\t\t\t`Finished batch ${batchCounter} with ${numberOfFilesInBatch} files and ${numberOfFailingFilesInBatch} failed deletions`\n\t\t\t);\n\t\t} while (numberOfFilesInBatch > 0);\n\n\t\tthis.logger.log(\n\t\t\t`${\n\t\t\t\tnumberOfProcessedFiles - failingFileIds.length\n\t\t\t} out of ${numberOfProcessedFiles} files were successfully deleted`\n\t\t);\n\n\t\tif (failingFileIds.length > 0) {\n\t\t\tthis.logger.error(`the following files could not be deleted: ${failingFileIds.toString()}`);\n\t\t}\n\t}\n\n\tprivate async initializeS3ClientMap() {\n\t\tconst providers = await this.storageProviderRepo.findAll();\n\n\t\tproviders.forEach((provider) => {\n\t\t\tthis.s3ClientMap.set(provider.id, this.createClient(provider));\n\t\t});\n\n\t\tthis.logger.log(`Initialized s3ClientMap with ${this.s3ClientMap.size} clients.`);\n\t}\n\n\tprivate createClient(storageProvider: StorageProviderEntity): S3Client {\n\t\tconst client = new S3Client({\n\t\t\tendpoint: storageProvider.endpointUrl,\n\t\t\tforcePathStyle: true,\n\t\t\tregion: storageProvider.region,\n\t\t\ttls: true,\n\t\t\tcredentials: {\n\t\t\t\taccessKeyId: storageProvider.accessKeyId,\n\t\t\t\tsecretAccessKey: storageProvider.secretAccessKey,\n\t\t\t},\n\t\t});\n\n\t\treturn client;\n\t}\n\n\tprivate async deleteFile(file: FileEntity): Promise {\n\t\ttry {\n\t\t\tif (!file.isDirectory) {\n\t\t\t\tawait this.deleteFileInStorage(file);\n\t\t\t}\n\t\t\tawait this.filesRepo.delete(file);\n\n\t\t\treturn { fileId: file.id, success: true };\n\t\t} catch (error) {\n\t\t\tthis.logger.error(error);\n\n\t\t\treturn { fileId: file.id, success: false };\n\t\t}\n\t}\n\n\tprivate async deleteFileInStorage(file: FileEntity) {\n\t\tconst bucket = file.bucket as string;\n\t\tconst storageFileName = file.storageFileName as string;\n\t\tconst deletionCommand = new DeleteObjectCommand({ Bucket: bucket, Key: storageFileName });\n\n\t\tconst storageProvider = file.storageProvider as StorageProviderEntity;\n\t\tconst client = this.s3ClientMap.get(storageProvider.id) as S3Client;\n\n\t\tawait client.send(deletionCommand);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/DeletionApiModule.html":{"url":"modules/DeletionApiModule.html","title":"module - DeletionApiModule","body":"\n \n\n\n\n\n Modules\n DeletionApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_DeletionApiModule\n\n\n\ncluster_DeletionApiModule_imports\n\n\n\ncluster_DeletionApiModule_providers\n\n\n\n\nAccountModule\n\nAccountModule\n\n\n\nDeletionApiModule\n\nDeletionApiModule\n\nDeletionApiModule -->\n\nAccountModule->DeletionApiModule\n\n\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\nDeletionApiModule -->\n\nAuthenticationModule->DeletionApiModule\n\n\n\n\n\nClassModule\n\nClassModule\n\nDeletionApiModule -->\n\nClassModule->DeletionApiModule\n\n\n\n\n\nDeletionModule\n\nDeletionModule\n\nDeletionApiModule -->\n\nDeletionModule->DeletionApiModule\n\n\n\n\n\nFilesModule\n\nFilesModule\n\nDeletionApiModule -->\n\nFilesModule->DeletionApiModule\n\n\n\n\n\nLearnroomModule\n\nLearnroomModule\n\nDeletionApiModule -->\n\nLearnroomModule->DeletionApiModule\n\n\n\n\n\nLessonModule\n\nLessonModule\n\nDeletionApiModule -->\n\nLessonModule->DeletionApiModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nDeletionApiModule -->\n\nLoggerModule->DeletionApiModule\n\n\n\n\n\nPseudonymModule\n\nPseudonymModule\n\nDeletionApiModule -->\n\nPseudonymModule->DeletionApiModule\n\n\n\n\n\nRegistrationPinModule\n\nRegistrationPinModule\n\nDeletionApiModule -->\n\nRegistrationPinModule->DeletionApiModule\n\n\n\n\n\nRocketChatModule\n\nRocketChatModule\n\nDeletionApiModule -->\n\nRocketChatModule->DeletionApiModule\n\n\n\n\n\nRocketChatUserModule\n\nRocketChatUserModule\n\nDeletionApiModule -->\n\nRocketChatUserModule->DeletionApiModule\n\n\n\n\n\nTeamsModule\n\nTeamsModule\n\nDeletionApiModule -->\n\nTeamsModule->DeletionApiModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nDeletionApiModule -->\n\nUserModule->DeletionApiModule\n\n\n\n\n\nDeletionRequestUc\n\nDeletionRequestUc\n\nDeletionApiModule -->\n\nDeletionRequestUc->DeletionApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/deletion/deletion-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n DeletionRequestUc\n \n \n \n \n Controllers\n \n \n DeletionRequestsController\n \n \n DeletionExecutionsController\n \n \n \n \n Imports\n \n \n AccountModule\n \n \n AuthenticationModule\n \n \n ClassModule\n \n \n DeletionModule\n \n \n FilesModule\n \n \n LearnroomModule\n \n \n LessonModule\n \n \n LoggerModule\n \n \n PseudonymModule\n \n \n RegistrationPinModule\n \n \n RocketChatModule\n \n \n RocketChatUserModule\n \n \n TeamsModule\n \n \n UserModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { DeletionModule } from '@modules/deletion';\nimport { AccountModule } from '@modules/account';\nimport { ClassModule } from '@modules/class';\nimport { LearnroomModule } from '@modules/learnroom';\nimport { FilesModule } from '@modules/files';\nimport { PseudonymModule } from '@modules/pseudonym';\nimport { LessonModule } from '@modules/lesson';\nimport { TeamsModule } from '@modules/teams';\nimport { UserModule } from '@modules/user';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthenticationModule } from '@modules/authentication';\nimport { RocketChatUserModule } from '@modules/rocketchat-user';\nimport { Configuration } from '@hpi-schul-cloud/commons';\nimport { RocketChatModule } from '@modules/rocketchat';\nimport { RegistrationPinModule } from '@modules/registration-pin';\nimport { DeletionRequestsController } from './controller/deletion-requests.controller';\nimport { DeletionExecutionsController } from './controller/deletion-executions.controller';\nimport { DeletionRequestUc } from './uc';\n\n@Module({\n\timports: [\n\t\tDeletionModule,\n\t\tAccountModule,\n\t\tClassModule,\n\t\tLearnroomModule,\n\t\tFilesModule,\n\t\tLessonModule,\n\t\tPseudonymModule,\n\t\tTeamsModule,\n\t\tUserModule,\n\t\tLoggerModule,\n\t\tAuthenticationModule,\n\t\tRocketChatUserModule,\n\t\tRegistrationPinModule,\n\t\tRocketChatModule.forRoot({\n\t\t\turi: Configuration.get('ROCKET_CHAT_URI') as string,\n\t\t\tadminId: Configuration.get('ROCKET_CHAT_ADMIN_ID') as string,\n\t\t\tadminToken: Configuration.get('ROCKET_CHAT_ADMIN_TOKEN') as string,\n\t\t\tadminUser: Configuration.get('ROCKET_CHAT_ADMIN_USER') as string,\n\t\t\tadminPassword: Configuration.get('ROCKET_CHAT_ADMIN_PASSWORD') as string,\n\t\t}),\n\t],\n\tcontrollers: [DeletionRequestsController, DeletionExecutionsController],\n\tproviders: [DeletionRequestUc],\n})\nexport class DeletionApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DeletionClient.html":{"url":"injectables/DeletionClient.html","title":"injectable - DeletionClient","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DeletionClient\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/client/deletion.client.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n apiKey\n \n \n Private\n Readonly\n baseUrl\n \n \n Private\n Readonly\n postDeletionExecutionsEndpoint\n \n \n Private\n Readonly\n postDeletionRequestsEndpoint\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n apiKeyHeader\n \n \n Private\n defaultHeaders\n \n \n Async\n executeDeletions\n \n \n Async\n queueDeletionRequest\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(httpService: HttpService, configService: ConfigService)\n \n \n \n \n Defined in apps/server/src/modules/deletion/client/deletion.client.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n httpService\n \n \n HttpService\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n apiKeyHeader\n \n \n \n \n \n \n \n apiKeyHeader()\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/client/deletion.client.ts:88\n \n \n\n\n \n \n\n \n Returns : { 'X-Api-Key': string; }\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n defaultHeaders\n \n \n \n \n \n \n \n defaultHeaders()\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/client/deletion.client.ts:92\n \n \n\n\n \n \n\n \n Returns : { headers: { 'X-Api-Key': string; }; }\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n executeDeletions\n \n \n \n \n \n \n \n executeDeletions(limit?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/client/deletion.client.ts:64\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n limit\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n queueDeletionRequest\n \n \n \n \n \n \n \n queueDeletionRequest(input: DeletionRequestInput)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/client/deletion.client.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n input\n \n DeletionRequestInput\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n apiKey\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/deletion/client/deletion.client.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/deletion/client/deletion.client.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n postDeletionExecutionsEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/deletion/client/deletion.client.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n postDeletionRequestsEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/deletion/client/deletion.client.ts:14\n \n \n\n\n \n \n\n\n \n\n\n \n import { HttpService } from '@nestjs/axios';\nimport { BadGatewayException, Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { ErrorUtils } from '@src/core/error/utils';\nimport { firstValueFrom } from 'rxjs';\nimport { DeletionClientConfig, DeletionRequestInput, DeletionRequestOutput } from './interface';\n\n@Injectable()\nexport class DeletionClient {\n\tprivate readonly baseUrl: string;\n\n\tprivate readonly apiKey: string;\n\n\tprivate readonly postDeletionRequestsEndpoint: string;\n\n\tprivate readonly postDeletionExecutionsEndpoint: string;\n\n\tconstructor(\n\t\tprivate readonly httpService: HttpService,\n\t\tprivate readonly configService: ConfigService\n\t) {\n\t\tthis.baseUrl = this.configService.get('ADMIN_API_CLIENT_BASE_URL');\n\t\tthis.apiKey = this.configService.get('ADMIN_API_CLIENT_API_KEY');\n\n\t\t// Prepare the POST /deletionRequests endpoint beforehand to not do it on every client call.\n\t\tthis.postDeletionRequestsEndpoint = new URL('/admin/api/v1/deletionRequests', this.baseUrl).toString();\n\t\tthis.postDeletionExecutionsEndpoint = new URL('/admin/api/v1/deletionExecutions', this.baseUrl).toString();\n\t}\n\n\tasync queueDeletionRequest(input: DeletionRequestInput): Promise {\n\t\ttry {\n\t\t\tconst request = this.httpService.post(\n\t\t\t\tthis.postDeletionRequestsEndpoint,\n\t\t\t\tinput,\n\t\t\t\tthis.defaultHeaders()\n\t\t\t);\n\n\t\t\tconst resp = await firstValueFrom(request);\n\n\t\t\t// Throw an error if any other status code (other than expected \"202 Accepted\" is returned).\n\t\t\tif (resp.status !== 202) {\n\t\t\t\tthrow new Error(`invalid HTTP status code in a response from the server - ${resp.status} instead of 202`);\n\t\t\t}\n\n\t\t\t// Throw an error if server didn't return a requestId in a response (and it is\n\t\t\t// required as it gives client the reference to the created deletion request).\n\t\t\tif (!resp.data.requestId) {\n\t\t\t\tthrow new Error('no valid requestId returned from the server');\n\t\t\t}\n\n\t\t\t// Throw an error if server didn't return a deletionPlannedAt timestamp so the user\n\t\t\t// will not be aware after which date the deletion request's execution will begin.\n\t\t\tif (!resp.data.deletionPlannedAt) {\n\t\t\t\tthrow Error('no valid deletionPlannedAt returned from the server');\n\t\t\t}\n\n\t\t\treturn resp.data;\n\t\t} catch (err) {\n\t\t\t// Throw an error if sending deletion request has failed.\n\t\t\tthrow new BadGatewayException('DeletionClient:queueDeletionRequest', ErrorUtils.createHttpExceptionOptions(err));\n\t\t}\n\t}\n\n\tasync executeDeletions(limit?: number): Promise {\n\t\tlet requestConfig = {};\n\n\t\tif (limit && limit > 0) {\n\t\t\trequestConfig = { ...this.defaultHeaders(), params: { limit } };\n\t\t} else {\n\t\t\trequestConfig = { ...this.defaultHeaders() };\n\t\t}\n\n\t\ttry {\n\t\t\tconst request = this.httpService.post(this.postDeletionExecutionsEndpoint, null, requestConfig);\n\n\t\t\tconst resp = await firstValueFrom(request);\n\n\t\t\tif (resp.status !== 204) {\n\t\t\t\t// Throw an error if any other status code (other than expected \"204 No Content\" is returned).\n\t\t\t\tthrow new Error(`invalid HTTP status code in a response from the server - ${resp.status} instead of 204`);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\t// Throw an error if sending deletion request(s) execution trigger has failed.\n\t\t\tthrow new BadGatewayException('DeletionClient:executeDeletions', ErrorUtils.createHttpExceptionOptions(err));\n\t\t}\n\t}\n\n\tprivate apiKeyHeader() {\n\t\treturn { 'X-Api-Key': this.apiKey };\n\t}\n\n\tprivate defaultHeaders() {\n\t\treturn {\n\t\t\theaders: this.apiKeyHeader(),\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionClientConfig.html":{"url":"interfaces/DeletionClientConfig.html","title":"interface - DeletionClientConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionClientConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/client/interface/deletion-client-config.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n ADMIN_API_CLIENT_API_KEY\n \n \n \n \n ADMIN_API_CLIENT_BASE_URL\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n ADMIN_API_CLIENT_API_KEY\n \n \n \n \n \n \n \n \n ADMIN_API_CLIENT_API_KEY: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n ADMIN_API_CLIENT_BASE_URL\n \n \n \n \n \n \n \n \n ADMIN_API_CLIENT_BASE_URL: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface DeletionClientConfig {\n\tADMIN_API_CLIENT_BASE_URL: string;\n\tADMIN_API_CLIENT_API_KEY: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/DeletionConsoleModule.html":{"url":"modules/DeletionConsoleModule.html","title":"module - DeletionConsoleModule","body":"\n \n\n\n\n\n Modules\n DeletionConsoleModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_DeletionConsoleModule\n\n\n\ncluster_DeletionConsoleModule_imports\n\n\n\ncluster_DeletionConsoleModule_providers\n\n\n\n\nConsoleWriterModule\n\nConsoleWriterModule\n\n\n\nDeletionConsoleModule\n\nDeletionConsoleModule\n\nDeletionConsoleModule -->\n\nConsoleWriterModule->DeletionConsoleModule\n\n\n\n\n\nBatchDeletionService\n\nBatchDeletionService\n\nDeletionConsoleModule -->\n\nBatchDeletionService->DeletionConsoleModule\n\n\n\n\n\nBatchDeletionUc\n\nBatchDeletionUc\n\nDeletionConsoleModule -->\n\nBatchDeletionUc->DeletionConsoleModule\n\n\n\n\n\nDeletionClient\n\nDeletionClient\n\nDeletionConsoleModule -->\n\nDeletionClient->DeletionConsoleModule\n\n\n\n\n\nDeletionExecutionUc\n\nDeletionExecutionUc\n\nDeletionConsoleModule -->\n\nDeletionExecutionUc->DeletionConsoleModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/deletion/console/deletion-console.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n BatchDeletionService\n \n \n BatchDeletionUc\n \n \n DeletionClient\n \n \n DeletionExecutionUc\n \n \n \n \n Imports\n \n \n ConsoleWriterModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { HttpModule } from '@nestjs/axios';\nimport { ConfigModule } from '@nestjs/config';\nimport { ConsoleModule } from 'nestjs-console';\nimport { ConsoleWriterModule } from '@infra/console';\nimport { createConfigModuleOptions } from '@src/config';\nimport { DeletionClient } from '../client';\nimport { getDeletionClientConfig } from '../client/deletion-client.config';\nimport { BatchDeletionService } from '../services';\nimport { BatchDeletionUc, DeletionExecutionUc } from '../uc';\nimport { DeletionQueueConsole } from './deletion-queue.console';\nimport { DeletionExecutionConsole } from './deletion-execution.console';\n\n@Module({\n\timports: [\n\t\tConsoleModule,\n\t\tConsoleWriterModule,\n\t\tHttpModule,\n\t\tConfigModule.forRoot(createConfigModuleOptions(getDeletionClientConfig)),\n\t],\n\tproviders: [\n\t\tDeletionClient,\n\t\tBatchDeletionService,\n\t\tBatchDeletionUc,\n\t\tDeletionExecutionUc,\n\t\tDeletionQueueConsole,\n\t\tDeletionExecutionConsole,\n\t],\n})\nexport class DeletionConsoleModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionExecutionConsole.html":{"url":"classes/DeletionExecutionConsole.html","title":"class - DeletionExecutionConsole","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionExecutionConsole\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/console/deletion-execution.console.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n triggerDeletionExecution\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(consoleWriter: ConsoleWriterService, deletionExecutionUc: DeletionExecutionUc)\n \n \n \n \n Defined in apps/server/src/modules/deletion/console/deletion-execution.console.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n consoleWriter\n \n \n ConsoleWriterService\n \n \n \n No\n \n \n \n \n deletionExecutionUc\n \n \n DeletionExecutionUc\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n triggerDeletionExecution\n \n \n \n \n \n \n \n triggerDeletionExecution(options: TriggerDeletionExecutionOptions)\n \n \n\n \n \n Decorators : \n \n @Command({command: 'trigger', description: 'Trigger execution of deletion requests.', options: undefined})\n \n \n\n \n \n Defined in apps/server/src/modules/deletion/console/deletion-execution.console.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n TriggerDeletionExecutionOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Command, Console } from 'nestjs-console';\nimport { ConsoleWriterService } from '@infra/console';\nimport { DeletionExecutionUc } from '../uc';\nimport { DeletionExecutionTriggerResultBuilder } from './builder';\nimport { DeletionExecutionTriggerResult, TriggerDeletionExecutionOptions } from './interface';\n\n@Console({ command: 'execution', description: 'Console providing an access to the deletion execution(s).' })\nexport class DeletionExecutionConsole {\n\tconstructor(private consoleWriter: ConsoleWriterService, private deletionExecutionUc: DeletionExecutionUc) {}\n\n\t@Command({\n\t\tcommand: 'trigger',\n\t\tdescription: 'Trigger execution of deletion requests.',\n\t\toptions: [\n\t\t\t{\n\t\t\t\tflags: '-l, --limit ',\n\t\t\t\tdescription: 'Limit of the requested deletion executions that should be performed.',\n\t\t\t\trequired: false,\n\t\t\t},\n\t\t],\n\t})\n\tasync triggerDeletionExecution(options: TriggerDeletionExecutionOptions): Promise {\n\t\t// Try to trigger the deletion execution(s) via Deletion API client,\n\t\t// return successful status in case of a success, otherwise return\n\t\t// a result with a failure status and a proper error message.\n\t\tlet result: DeletionExecutionTriggerResult;\n\n\t\ttry {\n\t\t\tawait this.deletionExecutionUc.triggerDeletionExecution(options.limit ? Number(options.limit) : undefined);\n\n\t\t\tresult = DeletionExecutionTriggerResultBuilder.buildSuccess();\n\t\t} catch (err) {\n\t\t\tresult = DeletionExecutionTriggerResultBuilder.buildFailure(err as Error);\n\t\t}\n\n\t\tthis.consoleWriter.info(JSON.stringify(result));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionExecutionParams.html":{"url":"classes/DeletionExecutionParams.html","title":"class - DeletionExecutionParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionExecutionParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/controller/dto/deletion-execution.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 100\n \n \n \n \n Decorators : \n \n \n @IsInt()@Min(1)@IsOptional()@ApiPropertyOptional({description: 'Page limit, defaults to 100.', minimum: 1})\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/controller/dto/deletion-execution.params.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsInt, IsOptional, Min } from 'class-validator';\n\nexport class DeletionExecutionParams {\n\t@IsInt()\n\t@Min(1)\n\t@IsOptional()\n\t@ApiPropertyOptional({ description: 'Page limit, defaults to 100.', minimum: 1 })\n\tlimit?: number = 100;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionExecutionTriggerResult.html":{"url":"interfaces/DeletionExecutionTriggerResult.html","title":"interface - DeletionExecutionTriggerResult","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionExecutionTriggerResult\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/console/interface/deletion-execution-trigger-result.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n error\n \n \n \n \n status\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n error\n \n \n \n \n \n \n \n \n error: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n \n \n status: DeletionExecutionTriggerStatus\n\n \n \n\n\n \n \n Type : DeletionExecutionTriggerStatus\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { DeletionExecutionTriggerStatus } from './deletion-execution-trigger-status.enum';\n\nexport interface DeletionExecutionTriggerResult {\n\tstatus: DeletionExecutionTriggerStatus;\n\terror?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionExecutionTriggerResultBuilder.html":{"url":"classes/DeletionExecutionTriggerResultBuilder.html","title":"class - DeletionExecutionTriggerResultBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionExecutionTriggerResultBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/console/builder/deletion-execution-trigger-result.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Static\n build\n \n \n Static\n buildFailure\n \n \n Static\n buildSuccess\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Static\n build\n \n \n \n \n \n \n \n build(status: DeletionExecutionTriggerStatus, error?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/console/builder/deletion-execution-trigger-result.builder.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n status\n \n DeletionExecutionTriggerStatus\n \n\n \n No\n \n\n\n \n \n error\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DeletionExecutionTriggerResult\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n buildFailure\n \n \n \n \n \n \n \n buildFailure(err: Error)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/console/builder/deletion-execution-trigger-result.builder.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n err\n \n Error\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionExecutionTriggerResult\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n buildSuccess\n \n \n \n \n \n \n \n buildSuccess()\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/console/builder/deletion-execution-trigger-result.builder.ts:14\n \n \n\n\n \n \n\n \n Returns : DeletionExecutionTriggerResult\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DeletionExecutionTriggerResult, DeletionExecutionTriggerStatus } from '../interface';\n\nexport class DeletionExecutionTriggerResultBuilder {\n\tprivate static build(status: DeletionExecutionTriggerStatus, error?: string): DeletionExecutionTriggerResult {\n\t\tconst output: DeletionExecutionTriggerResult = { status };\n\n\t\tif (error) {\n\t\t\toutput.error = error;\n\t\t}\n\n\t\treturn output;\n\t}\n\n\tstatic buildSuccess(): DeletionExecutionTriggerResult {\n\t\treturn this.build(DeletionExecutionTriggerStatus.SUCCESS);\n\t}\n\n\tstatic buildFailure(err: Error): DeletionExecutionTriggerResult {\n\t\treturn this.build(DeletionExecutionTriggerStatus.FAILURE, err.toString());\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DeletionExecutionUc.html":{"url":"injectables/DeletionExecutionUc.html","title":"injectable - DeletionExecutionUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DeletionExecutionUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/uc/deletion-execution.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n triggerDeletionExecution\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(deletionClient: DeletionClient)\n \n \n \n \n Defined in apps/server/src/modules/deletion/uc/deletion-execution.uc.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionClient\n \n \n DeletionClient\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n triggerDeletionExecution\n \n \n \n \n \n \n \n triggerDeletionExecution(limit?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/uc/deletion-execution.uc.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n limit\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { DeletionClient } from '../client';\n\n@Injectable()\nexport class DeletionExecutionUc {\n\tconstructor(private readonly deletionClient: DeletionClient) {}\n\n\tasync triggerDeletionExecution(limit?: number): Promise {\n\t\tawait this.deletionClient.executeDeletions(limit);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/DeletionExecutionsController.html":{"url":"controllers/DeletionExecutionsController.html","title":"controller - DeletionExecutionsController","body":"\n \n\n\n\n\n\n\n Controllers\n DeletionExecutionsController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/controller/deletion-executions.controller.ts\n \n\n \n Prefix\n \n \n deletionExecutions\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n Async\n executeDeletions\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n Async\n executeDeletions\n \n \n \n \n \n \n \n executeDeletions(deletionExecutionQuery: DeletionExecutionParams)\n \n \n\n \n \n Decorators : \n \n @Post()@HttpCode(204)@ApiOperation({summary: 'Execute the deletion process'})@ApiResponse({status: 204})\n \n \n\n \n \n Defined in apps/server/src/modules/deletion/controller/deletion-executions.controller.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionExecutionQuery\n \n DeletionExecutionParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Controller, HttpCode, Post, Query, UseGuards } from '@nestjs/common';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { AuthGuard } from '@nestjs/passport';\nimport { DeletionRequestUc } from '../uc';\nimport { DeletionExecutionParams } from './dto';\n\n@ApiTags('DeletionExecutions')\n@UseGuards(AuthGuard('api-key'))\n@Controller('deletionExecutions')\nexport class DeletionExecutionsController {\n\tconstructor(private readonly deletionRequestUc: DeletionRequestUc) {}\n\n\t@Post()\n\t@HttpCode(204)\n\t@ApiOperation({\n\t\tsummary: 'Execute the deletion process',\n\t})\n\t@ApiResponse({\n\t\tstatus: 204,\n\t})\n\tasync executeDeletions(@Query() deletionExecutionQuery: DeletionExecutionParams) {\n\t\treturn this.deletionRequestUc.executeDeletionRequests(deletionExecutionQuery.limit);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionLog.html":{"url":"classes/DeletionLog.html","title":"class - DeletionLog","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionLog\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/domain/deletion-log.do.ts\n \n\n\n\n \n Extends\n \n \n DomainObject\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n createdAt\n \n \n updatedAt\n \n \n domain\n \n \n operation\n \n \n modifiedCount\n \n \n deletedCount\n \n \n deletionRequestId\n \n \n performedAt\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n createdAt\n \n \n\n \n \n getcreatedAt()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-log.do.ts:17\n \n \n\n \n \n \n \n \n \n \n updatedAt\n \n \n\n \n \n getupdatedAt()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-log.do.ts:21\n \n \n\n \n \n \n \n \n \n \n domain\n \n \n\n \n \n getdomain()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-log.do.ts:25\n \n \n\n \n \n \n \n \n \n \n operation\n \n \n\n \n \n getoperation()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-log.do.ts:29\n \n \n\n \n \n \n \n \n \n \n modifiedCount\n \n \n\n \n \n getmodifiedCount()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-log.do.ts:33\n \n \n\n \n \n \n \n \n \n \n deletedCount\n \n \n\n \n \n getdeletedCount()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-log.do.ts:37\n \n \n\n \n \n \n \n \n \n \n deletionRequestId\n \n \n\n \n \n getdeletionRequestId()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-log.do.ts:41\n \n \n\n \n \n \n \n \n \n \n performedAt\n \n \n\n \n \n getperformedAt()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-log.do.ts:45\n \n \n\n \n \n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { DeletionDomainModel, DeletionOperationModel } from './types';\n\nexport interface DeletionLogProps extends AuthorizableObject {\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n\tdomain: DeletionDomainModel;\n\toperation?: DeletionOperationModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n\tdeletionRequestId?: EntityId;\n\tperformedAt?: Date;\n}\n\nexport class DeletionLog extends DomainObject {\n\tget createdAt(): Date | undefined {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date | undefined {\n\t\treturn this.props.updatedAt;\n\t}\n\n\tget domain(): DeletionDomainModel {\n\t\treturn this.props.domain;\n\t}\n\n\tget operation(): DeletionOperationModel | undefined {\n\t\treturn this.props.operation;\n\t}\n\n\tget modifiedCount(): number | undefined {\n\t\treturn this.props.modifiedCount;\n\t}\n\n\tget deletedCount(): number | undefined {\n\t\treturn this.props.deletedCount;\n\t}\n\n\tget deletionRequestId(): EntityId | undefined {\n\t\treturn this.props.deletionRequestId;\n\t}\n\n\tget performedAt(): Date | undefined {\n\t\treturn this.props.performedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/DeletionLogEntity.html":{"url":"entities/DeletionLogEntity.html","title":"entity - DeletionLogEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n DeletionLogEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/entity/deletion-log.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n deletedCount\n \n \n \n Optional\n deletionRequestId\n \n \n \n domain\n \n \n \n Optional\n modifiedCount\n \n \n \n Optional\n operation\n \n \n \n \n Optional\n performedAt\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n deletedCount\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/entity/deletion-log.entity.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n deletionRequestId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/entity/deletion-log.entity.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n \n domain\n \n \n \n \n \n \n Type : DeletionDomainModel\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/entity/deletion-log.entity.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n modifiedCount\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/entity/deletion-log.entity.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n operation\n \n \n \n \n \n \n Type : DeletionOperationModel\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/entity/deletion-log.entity.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n performedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})@Index({options: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/entity/deletion-log.entity.ts:38\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Index, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport { DeletionDomainModel, DeletionOperationModel } from '../domain/types';\n\nexport interface DeletionLogEntityProps {\n\tid?: EntityId;\n\tdomain: DeletionDomainModel;\n\toperation?: DeletionOperationModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n\tdeletionRequestId?: ObjectId;\n\tperformedAt?: Date;\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n}\n\n@Entity({ tableName: 'deletionlogs' })\nexport class DeletionLogEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tdomain: DeletionDomainModel;\n\n\t@Property({ nullable: true })\n\toperation?: DeletionOperationModel;\n\n\t@Property({ nullable: true })\n\tmodifiedCount?: number;\n\n\t@Property({ nullable: true })\n\tdeletedCount?: number;\n\n\t@Property({ nullable: true })\n\tdeletionRequestId?: ObjectId;\n\n\t@Property({ nullable: true })\n\t@Index({ options: { expireAfterSeconds: 7776000 } })\n\tperformedAt?: Date;\n\n\tconstructor(props: DeletionLogEntityProps) {\n\t\tsuper();\n\t\tif (props.id !== undefined) {\n\t\t\tthis.id = props.id;\n\t\t}\n\n\t\tthis.domain = props.domain;\n\n\t\tif (props.operation !== undefined) {\n\t\t\tthis.operation = props.operation;\n\t\t}\n\n\t\tif (props.modifiedCount !== undefined) {\n\t\t\tthis.modifiedCount = props.modifiedCount;\n\t\t}\n\n\t\tif (props.deletedCount !== undefined) {\n\t\t\tthis.deletedCount = props.deletedCount;\n\t\t}\n\n\t\tif (props.deletionRequestId !== undefined) {\n\t\t\tthis.deletionRequestId = props.deletionRequestId;\n\t\t}\n\n\t\tif (props.createdAt !== undefined) {\n\t\t\tthis.createdAt = props.createdAt;\n\t\t}\n\n\t\tif (props.updatedAt !== undefined) {\n\t\t\tthis.updatedAt = props.updatedAt;\n\t\t}\n\n\t\tif (props.performedAt !== undefined) {\n\t\t\tthis.performedAt = props.performedAt;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionLogEntityProps.html":{"url":"interfaces/DeletionLogEntityProps.html","title":"interface - DeletionLogEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionLogEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/entity/deletion-log.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n createdAt\n \n \n \n Optional\n \n deletedCount\n \n \n \n Optional\n \n deletionRequestId\n \n \n \n \n domain\n \n \n \n Optional\n \n id\n \n \n \n Optional\n \n modifiedCount\n \n \n \n Optional\n \n operation\n \n \n \n Optional\n \n performedAt\n \n \n \n Optional\n \n updatedAt\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n deletedCount\n \n \n \n \n \n \n \n \n deletedCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n deletionRequestId\n \n \n \n \n \n \n \n \n deletionRequestId: ObjectId\n\n \n \n\n\n \n \n Type : ObjectId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n domain\n \n \n \n \n \n \n \n \n domain: DeletionDomainModel\n\n \n \n\n\n \n \n Type : DeletionDomainModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n modifiedCount\n \n \n \n \n \n \n \n \n modifiedCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n operation\n \n \n \n \n \n \n \n \n operation: DeletionOperationModel\n\n \n \n\n\n \n \n Type : DeletionOperationModel\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n performedAt\n \n \n \n \n \n \n \n \n performedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Index, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport { DeletionDomainModel, DeletionOperationModel } from '../domain/types';\n\nexport interface DeletionLogEntityProps {\n\tid?: EntityId;\n\tdomain: DeletionDomainModel;\n\toperation?: DeletionOperationModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n\tdeletionRequestId?: ObjectId;\n\tperformedAt?: Date;\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n}\n\n@Entity({ tableName: 'deletionlogs' })\nexport class DeletionLogEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tdomain: DeletionDomainModel;\n\n\t@Property({ nullable: true })\n\toperation?: DeletionOperationModel;\n\n\t@Property({ nullable: true })\n\tmodifiedCount?: number;\n\n\t@Property({ nullable: true })\n\tdeletedCount?: number;\n\n\t@Property({ nullable: true })\n\tdeletionRequestId?: ObjectId;\n\n\t@Property({ nullable: true })\n\t@Index({ options: { expireAfterSeconds: 7776000 } })\n\tperformedAt?: Date;\n\n\tconstructor(props: DeletionLogEntityProps) {\n\t\tsuper();\n\t\tif (props.id !== undefined) {\n\t\t\tthis.id = props.id;\n\t\t}\n\n\t\tthis.domain = props.domain;\n\n\t\tif (props.operation !== undefined) {\n\t\t\tthis.operation = props.operation;\n\t\t}\n\n\t\tif (props.modifiedCount !== undefined) {\n\t\t\tthis.modifiedCount = props.modifiedCount;\n\t\t}\n\n\t\tif (props.deletedCount !== undefined) {\n\t\t\tthis.deletedCount = props.deletedCount;\n\t\t}\n\n\t\tif (props.deletionRequestId !== undefined) {\n\t\t\tthis.deletionRequestId = props.deletionRequestId;\n\t\t}\n\n\t\tif (props.createdAt !== undefined) {\n\t\t\tthis.createdAt = props.createdAt;\n\t\t}\n\n\t\tif (props.updatedAt !== undefined) {\n\t\t\tthis.updatedAt = props.updatedAt;\n\t\t}\n\n\t\tif (props.performedAt !== undefined) {\n\t\t\tthis.performedAt = props.performedAt;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionLogMapper.html":{"url":"classes/DeletionLogMapper.html","title":"class - DeletionLogMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionLogMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/repo/mapper/deletion-log.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToDO\n \n \n Static\n mapToDOs\n \n \n Static\n mapToEntities\n \n \n Static\n mapToEntity\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToDO\n \n \n \n \n \n \n \n mapToDO(entity: DeletionLogEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/mapper/deletion-log.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n DeletionLogEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionLog\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToDOs\n \n \n \n \n \n \n \n mapToDOs(entities: DeletionLogEntity[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/mapper/deletion-log.mapper.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n DeletionLogEntity[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionLog[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToEntities\n \n \n \n \n \n \n \n mapToEntities(domainObjects: DeletionLog[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/mapper/deletion-log.mapper.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DeletionLog[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionLogEntity[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToEntity\n \n \n \n \n \n \n \n mapToEntity(domainObject: DeletionLog)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/mapper/deletion-log.mapper.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DeletionLog\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionLogEntity\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { DeletionLogEntity } from '../../entity/deletion-log.entity';\nimport { DeletionLog } from '../../domain/deletion-log.do';\n\nexport class DeletionLogMapper {\n\tstatic mapToDO(entity: DeletionLogEntity): DeletionLog {\n\t\treturn new DeletionLog({\n\t\t\tid: entity.id,\n\t\t\tcreatedAt: entity.createdAt,\n\t\t\tupdatedAt: entity.updatedAt,\n\t\t\tdomain: entity.domain,\n\t\t\toperation: entity.operation,\n\t\t\tmodifiedCount: entity.modifiedCount,\n\t\t\tdeletedCount: entity.deletedCount,\n\t\t\tdeletionRequestId: entity.deletionRequestId?.toHexString(),\n\t\t\tperformedAt: entity.performedAt,\n\t\t});\n\t}\n\n\tstatic mapToEntity(domainObject: DeletionLog): DeletionLogEntity {\n\t\treturn new DeletionLogEntity({\n\t\t\tid: domainObject.id,\n\t\t\tcreatedAt: domainObject.createdAt,\n\t\t\tupdatedAt: domainObject.updatedAt,\n\t\t\tdomain: domainObject.domain,\n\t\t\toperation: domainObject.operation,\n\t\t\tmodifiedCount: domainObject.modifiedCount,\n\t\t\tdeletedCount: domainObject.deletedCount,\n\t\t\tdeletionRequestId: new ObjectId(domainObject.deletionRequestId),\n\t\t\tperformedAt: domainObject.performedAt,\n\t\t});\n\t}\n\n\tstatic mapToDOs(entities: DeletionLogEntity[]): DeletionLog[] {\n\t\treturn entities.map((entity) => this.mapToDO(entity));\n\t}\n\n\tstatic mapToEntities(domainObjects: DeletionLog[]): DeletionLogEntity[] {\n\t\treturn domainObjects.map((domainObject) => this.mapToEntity(domainObject));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionLogProps.html":{"url":"interfaces/DeletionLogProps.html","title":"interface - DeletionLogProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionLogProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/domain/deletion-log.do.ts\n \n\n\n\n \n Extends\n \n \n AuthorizableObject\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n createdAt\n \n \n \n Optional\n \n deletedCount\n \n \n \n Optional\n \n deletionRequestId\n \n \n \n \n domain\n \n \n \n Optional\n \n modifiedCount\n \n \n \n Optional\n \n operation\n \n \n \n Optional\n \n performedAt\n \n \n \n Optional\n \n updatedAt\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n deletedCount\n \n \n \n \n \n \n \n \n deletedCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n deletionRequestId\n \n \n \n \n \n \n \n \n deletionRequestId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n domain\n \n \n \n \n \n \n \n \n domain: DeletionDomainModel\n\n \n \n\n\n \n \n Type : DeletionDomainModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n modifiedCount\n \n \n \n \n \n \n \n \n modifiedCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n operation\n \n \n \n \n \n \n \n \n operation: DeletionOperationModel\n\n \n \n\n\n \n \n Type : DeletionOperationModel\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n performedAt\n \n \n \n \n \n \n \n \n performedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { DeletionDomainModel, DeletionOperationModel } from './types';\n\nexport interface DeletionLogProps extends AuthorizableObject {\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n\tdomain: DeletionDomainModel;\n\toperation?: DeletionOperationModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n\tdeletionRequestId?: EntityId;\n\tperformedAt?: Date;\n}\n\nexport class DeletionLog extends DomainObject {\n\tget createdAt(): Date | undefined {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date | undefined {\n\t\treturn this.props.updatedAt;\n\t}\n\n\tget domain(): DeletionDomainModel {\n\t\treturn this.props.domain;\n\t}\n\n\tget operation(): DeletionOperationModel | undefined {\n\t\treturn this.props.operation;\n\t}\n\n\tget modifiedCount(): number | undefined {\n\t\treturn this.props.modifiedCount;\n\t}\n\n\tget deletedCount(): number | undefined {\n\t\treturn this.props.deletedCount;\n\t}\n\n\tget deletionRequestId(): EntityId | undefined {\n\t\treturn this.props.deletionRequestId;\n\t}\n\n\tget performedAt(): Date | undefined {\n\t\treturn this.props.performedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DeletionLogRepo.html":{"url":"injectables/DeletionLogRepo.html","title":"injectable - DeletionLogRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DeletionLogRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/repo/deletion-log.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n create\n \n \n Async\n findAllByDeletionRequestId\n \n \n Async\n findById\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-log.repo.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n create\n \n \n \n \n \n \n \n create(deletionLog: DeletionLog)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-log.repo.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionLog\n \n DeletionLog\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllByDeletionRequestId\n \n \n \n \n \n \n \n findAllByDeletionRequestId(deletionRequestId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-log.repo.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(deletionLogId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-log.repo.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionLogId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-log.repo.ts:12\n \n \n\n \n \n\n \n\n\n \n import { EntityManager, ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { DeletionLog } from '../domain/deletion-log.do';\nimport { DeletionLogEntity } from '../entity/deletion-log.entity';\nimport { DeletionLogMapper } from './mapper/deletion-log.mapper';\n\n@Injectable()\nexport class DeletionLogRepo {\n\tconstructor(private readonly em: EntityManager) {}\n\n\tget entityName() {\n\t\treturn DeletionLogEntity;\n\t}\n\n\tasync findById(deletionLogId: EntityId): Promise {\n\t\tconst deletionLog: DeletionLogEntity = await this.em.findOneOrFail(DeletionLogEntity, {\n\t\t\tid: deletionLogId,\n\t\t});\n\n\t\tconst mapped: DeletionLog = DeletionLogMapper.mapToDO(deletionLog);\n\n\t\treturn mapped;\n\t}\n\n\tasync findAllByDeletionRequestId(deletionRequestId: EntityId): Promise {\n\t\tconst deletionLogEntities: DeletionLogEntity[] = await this.em.find(DeletionLogEntity, {\n\t\t\tdeletionRequestId: new ObjectId(deletionRequestId),\n\t\t});\n\n\t\tconst mapped: DeletionLog[] = DeletionLogMapper.mapToDOs(deletionLogEntities);\n\n\t\treturn mapped;\n\t}\n\n\tasync create(deletionLog: DeletionLog): Promise {\n\t\tconst deletionLogEntity: DeletionLogEntity = DeletionLogMapper.mapToEntity(deletionLog);\n\t\tthis.em.persist(deletionLogEntity);\n\t\tawait this.em.flush();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DeletionLogService.html":{"url":"injectables/DeletionLogService.html","title":"injectable - DeletionLogService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DeletionLogService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/services/deletion-log.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createDeletionLog\n \n \n Async\n findByDeletionRequestId\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(deletionLogRepo: DeletionLogRepo)\n \n \n \n \n Defined in apps/server/src/modules/deletion/services/deletion-log.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionLogRepo\n \n \n DeletionLogRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createDeletionLog\n \n \n \n \n \n \n \n createDeletionLog(deletionRequestId: EntityId, domain: DeletionDomainModel, operation: DeletionOperationModel, modifiedCount: number, deletedCount: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/deletion-log.service.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n domain\n \n DeletionDomainModel\n \n\n \n No\n \n\n\n \n \n operation\n \n DeletionOperationModel\n \n\n \n No\n \n\n\n \n \n modifiedCount\n \n number\n \n\n \n No\n \n\n\n \n \n deletedCount\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByDeletionRequestId\n \n \n \n \n \n \n \n findByDeletionRequestId(deletionRequestId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/deletion-log.service.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { DeletionLog } from '../domain/deletion-log.do';\nimport { DeletionDomainModel, DeletionOperationModel } from '../domain/types';\nimport { DeletionLogRepo } from '../repo';\n\n@Injectable()\nexport class DeletionLogService {\n\tconstructor(private readonly deletionLogRepo: DeletionLogRepo) {}\n\n\tasync createDeletionLog(\n\t\tdeletionRequestId: EntityId,\n\t\tdomain: DeletionDomainModel,\n\t\toperation: DeletionOperationModel,\n\t\tmodifiedCount: number,\n\t\tdeletedCount: number\n\t): Promise {\n\t\tconst newDeletionLog = new DeletionLog({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\tperformedAt: new Date(),\n\t\t\tdomain,\n\t\t\tdeletionRequestId,\n\t\t\toperation,\n\t\t\tmodifiedCount,\n\t\t\tdeletedCount,\n\t\t});\n\n\t\tawait this.deletionLogRepo.create(newDeletionLog);\n\t}\n\n\tasync findByDeletionRequestId(deletionRequestId: EntityId): Promise {\n\t\tconst deletionLogs: DeletionLog[] = await this.deletionLogRepo.findAllByDeletionRequestId(deletionRequestId);\n\n\t\treturn deletionLogs;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionLogStatistic.html":{"url":"interfaces/DeletionLogStatistic.html","title":"interface - DeletionLogStatistic","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionLogStatistic\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/interface/interfaces.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n deletedCount\n \n \n \n \n domain\n \n \n \n Optional\n \n modifiedCount\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n deletedCount\n \n \n \n \n \n \n \n \n deletedCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n domain\n \n \n \n \n \n \n \n \n domain: DeletionDomainModel\n\n \n \n\n\n \n \n Type : DeletionDomainModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n modifiedCount\n \n \n \n \n \n \n \n \n modifiedCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { DeletionDomainModel } from '../domain/types';\n\nexport interface DeletionTargetRef {\n\tdomain: DeletionDomainModel;\n\tid: EntityId;\n}\n\nexport interface DeletionLogStatistic {\n\tdomain: DeletionDomainModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionLogStatistic-1.html":{"url":"interfaces/DeletionLogStatistic-1.html","title":"interface - DeletionLogStatistic-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionLogStatistic\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/uc/interface/interfaces.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n deletedCount\n \n \n \n \n domain\n \n \n \n Optional\n \n modifiedCount\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n deletedCount\n \n \n \n \n \n \n \n \n deletedCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n domain\n \n \n \n \n \n \n \n \n domain: DeletionDomainModel\n\n \n \n\n\n \n \n Type : DeletionDomainModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n modifiedCount\n \n \n \n \n \n \n \n \n modifiedCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { DeletionDomainModel } from '../../domain/types/deletion-domain-model.enum';\n\nexport interface DeletionTargetRef {\n\ttargetRefDomain: DeletionDomainModel;\n\ttargetRefId: EntityId;\n}\n\nexport interface DeletionRequestLog {\n\ttargetRef: DeletionTargetRef;\n\tdeletionPlannedAt: Date;\n\tstatistics?: DeletionLogStatistic[];\n}\n\nexport interface DeletionLogStatistic {\n\tdomain: DeletionDomainModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n}\n\nexport interface DeletionRequestProps {\n\ttargetRef: { targetRefDoamin: DeletionDomainModel; targetRefId: EntityId };\n\tdeleteInMinutes?: number;\n}\n\nexport interface DeletionRequestCreateAnswer {\n\trequestId: EntityId;\n\tdeletionPlannedAt: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionLogStatisticBuilder.html":{"url":"classes/DeletionLogStatisticBuilder.html","title":"class - DeletionLogStatisticBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionLogStatisticBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/builder/deletion-log-statistic.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(domain: DeletionDomainModel, modifiedCount?: number, deletedCount?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/builder/deletion-log-statistic.builder.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domain\n \n DeletionDomainModel\n \n\n \n No\n \n\n\n \n \n modifiedCount\n \n number\n \n\n \n Yes\n \n\n\n \n \n deletedCount\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DeletionLogStatistic\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DeletionDomainModel } from '../domain/types';\nimport { DeletionLogStatistic } from '../interface';\n\nexport class DeletionLogStatisticBuilder {\n\tstatic build(domain: DeletionDomainModel, modifiedCount?: number, deletedCount?: number): DeletionLogStatistic {\n\t\tconst deletionLogStatistic = { domain, modifiedCount, deletedCount };\n\n\t\treturn deletionLogStatistic;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/DeletionModule.html":{"url":"modules/DeletionModule.html","title":"module - DeletionModule","body":"\n \n\n\n\n\n Modules\n DeletionModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_DeletionModule\n\n\n\ncluster_DeletionModule_exports\n\n\n\ncluster_DeletionModule_providers\n\n\n\n\nDeletionLogService \n\nDeletionLogService \n\n\n\nDeletionRequestService \n\nDeletionRequestService \n\n\n\nDeletionModule\n\nDeletionModule\n\nDeletionLogService -->\n\nDeletionModule->DeletionLogService \n\n\n\nDeletionRequestService -->\n\nDeletionModule->DeletionRequestService \n\n\n\n\n\nDeletionLogRepo\n\nDeletionLogRepo\n\nDeletionModule -->\n\nDeletionLogRepo->DeletionModule\n\n\n\n\n\nDeletionLogService\n\nDeletionLogService\n\nDeletionModule -->\n\nDeletionLogService->DeletionModule\n\n\n\n\n\nDeletionRequestRepo\n\nDeletionRequestRepo\n\nDeletionModule -->\n\nDeletionRequestRepo->DeletionModule\n\n\n\n\n\nDeletionRequestService\n\nDeletionRequestService\n\nDeletionModule -->\n\nDeletionRequestService->DeletionModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/deletion/deletion.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n DeletionLogRepo\n \n \n DeletionLogService\n \n \n DeletionRequestRepo\n \n \n DeletionRequestService\n \n \n \n \n Exports\n \n \n DeletionLogService\n \n \n DeletionRequestService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { DeletionRequestService } from './services/deletion-request.service';\nimport { DeletionRequestRepo } from './repo/deletion-request.repo';\nimport { XApiKeyConfig } from '../authentication/config/x-api-key.config';\nimport { DeletionLogService } from './services/deletion-log.service';\nimport { DeletionLogRepo } from './repo';\n\n@Module({\n\tproviders: [\n\t\tDeletionRequestRepo,\n\t\tDeletionLogRepo,\n\t\tConfigService,\n\t\tDeletionLogService,\n\t\tDeletionRequestService,\n\t],\n\texports: [DeletionRequestService, DeletionLogService],\n})\nexport class DeletionModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionQueueConsole.html":{"url":"classes/DeletionQueueConsole.html","title":"class - DeletionQueueConsole","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionQueueConsole\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/console/deletion-queue.console.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n pushDeletionRequests\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(consoleWriter: ConsoleWriterService, batchDeletionUc: BatchDeletionUc)\n \n \n \n \n Defined in apps/server/src/modules/deletion/console/deletion-queue.console.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n consoleWriter\n \n \n ConsoleWriterService\n \n \n \n No\n \n \n \n \n batchDeletionUc\n \n \n BatchDeletionUc\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n pushDeletionRequests\n \n \n \n \n \n \n \n pushDeletionRequests(options: PushDeletionRequestsOptions)\n \n \n\n \n \n Decorators : \n \n @Command({command: 'push', description: 'Push new deletion requests to the deletion queue.', options: undefined})\n \n \n\n \n \n Defined in apps/server/src/modules/deletion/console/deletion-queue.console.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n PushDeletionRequestsOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Console, Command } from 'nestjs-console';\nimport { ConsoleWriterService } from '@infra/console';\nimport { BatchDeletionUc } from '../uc';\nimport { PushDeletionRequestsOptions } from './interface';\n\n@Console({ command: 'queue', description: 'Console providing an access to the deletion queue.' })\nexport class DeletionQueueConsole {\n\tconstructor(private consoleWriter: ConsoleWriterService, private batchDeletionUc: BatchDeletionUc) {}\n\n\t@Command({\n\t\tcommand: 'push',\n\t\tdescription: 'Push new deletion requests to the deletion queue.',\n\t\toptions: [\n\t\t\t{\n\t\t\t\tflags: '-rfp, --refsFilePath ',\n\t\t\t\tdescription: 'Path of the file containing all the references to the data that should be deleted.',\n\t\t\t\trequired: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tflags: '-trd, --targetRefDomain ',\n\t\t\t\tdescription: 'Name of the target ref domain.',\n\t\t\t\trequired: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\tflags: '-dim, --deleteInMinutes ',\n\t\t\t\tdescription: 'Number of minutes after which the data deletion process should begin.',\n\t\t\t\trequired: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\tflags: '-cdm, --callsDelayMs ',\n\t\t\t\tdescription: 'Delay between all the performed client calls, in milliseconds.',\n\t\t\t\trequired: false,\n\t\t\t},\n\t\t],\n\t})\n\tasync pushDeletionRequests(options: PushDeletionRequestsOptions): Promise {\n\t\tconst summary = await this.batchDeletionUc.deleteRefsFromTxtFile(\n\t\t\toptions.refsFilePath,\n\t\t\toptions.targetRefDomain,\n\t\t\toptions.deleteInMinutes ? Number(options.deleteInMinutes) : undefined,\n\t\t\toptions.callsDelayMs ? Number(options.callsDelayMs) : undefined\n\t\t);\n\n\t\tthis.consoleWriter.info(JSON.stringify(summary));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequest.html":{"url":"classes/DeletionRequest.html","title":"class - DeletionRequest","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequest\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/domain/deletion-request.do.ts\n \n\n\n\n \n Extends\n \n \n DomainObject\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n createdAt\n \n \n updatedAt\n \n \n targetRefDomain\n \n \n deleteAfter\n \n \n targetRefId\n \n \n status\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n createdAt\n \n \n\n \n \n getcreatedAt()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-request.do.ts:15\n \n \n\n \n \n \n \n \n \n \n updatedAt\n \n \n\n \n \n getupdatedAt()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-request.do.ts:19\n \n \n\n \n \n \n \n \n \n \n targetRefDomain\n \n \n\n \n \n gettargetRefDomain()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-request.do.ts:23\n \n \n\n \n \n \n \n \n \n \n deleteAfter\n \n \n\n \n \n getdeleteAfter()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-request.do.ts:27\n \n \n\n \n \n \n \n \n \n \n targetRefId\n \n \n\n \n \n gettargetRefId()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-request.do.ts:31\n \n \n\n \n \n \n \n \n \n \n status\n \n \n\n \n \n getstatus()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-request.do.ts:35\n \n \n\n \n \n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { DeletionDomainModel, DeletionStatusModel } from './types';\n\nexport interface DeletionRequestProps extends AuthorizableObject {\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n\ttargetRefDomain: DeletionDomainModel;\n\tdeleteAfter: Date;\n\ttargetRefId: EntityId;\n\tstatus: DeletionStatusModel;\n}\n\nexport class DeletionRequest extends DomainObject {\n\tget createdAt(): Date | undefined {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date | undefined {\n\t\treturn this.props.updatedAt;\n\t}\n\n\tget targetRefDomain(): DeletionDomainModel {\n\t\treturn this.props.targetRefDomain;\n\t}\n\n\tget deleteAfter(): Date {\n\t\treturn this.props.deleteAfter;\n\t}\n\n\tget targetRefId(): EntityId {\n\t\treturn this.props.targetRefId;\n\t}\n\n\tget status(): DeletionStatusModel {\n\t\treturn this.props.status;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequestBodyProps.html":{"url":"classes/DeletionRequestBodyProps.html","title":"class - DeletionRequestBodyProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestBodyProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/controller/dto/deletion-request.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n deleteInMinutes\n \n \n \n targetRef\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n deleteInMinutes\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : MINUTES_OF_30_DAYS\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@IsOptional()@ApiPropertyOptional({required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/controller/dto/deletion-request.body.params.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n targetRef\n \n \n \n \n \n \n Type : DeletionTargetRef\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/controller/dto/deletion-request.body.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsNumber, IsOptional, Min } from 'class-validator';\nimport { DeletionTargetRef } from '../../interface';\n\nconst MINUTES_OF_30_DAYS = 30 * 24 * 60;\nexport class DeletionRequestBodyProps {\n\t@ApiProperty({\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\ttargetRef!: DeletionTargetRef;\n\n\t@IsNumber()\n\t@Min(0)\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tdeleteInMinutes?: number = MINUTES_OF_30_DAYS;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequestBodyPropsBuilder.html":{"url":"classes/DeletionRequestBodyPropsBuilder.html","title":"class - DeletionRequestBodyPropsBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestBodyPropsBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/builder/deletion-request-body-props.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(domain: DeletionDomainModel, id: EntityId, deleteInMinutes?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/builder/deletion-request-body-props.builder.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domain\n \n DeletionDomainModel\n \n\n \n No\n \n\n\n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n deleteInMinutes\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DeletionRequestBodyProps\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { DeletionRequestBodyProps } from '../controller/dto';\nimport { DeletionDomainModel } from '../domain/types';\n\nexport class DeletionRequestBodyPropsBuilder {\n\tstatic build(domain: DeletionDomainModel, id: EntityId, deleteInMinutes?: number): DeletionRequestBodyProps {\n\t\tconst deletionRequestItem = {\n\t\t\ttargetRef: { domain, id },\n\t\t\tdeleteInMinutes,\n\t\t};\n\n\t\treturn deletionRequestItem;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionRequestCreateAnswer.html":{"url":"interfaces/DeletionRequestCreateAnswer.html","title":"interface - DeletionRequestCreateAnswer","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionRequestCreateAnswer\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/uc/interface/interfaces.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n deletionPlannedAt\n \n \n \n \n requestId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n deletionPlannedAt\n \n \n \n \n \n \n \n \n deletionPlannedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n requestId\n \n \n \n \n \n \n \n \n requestId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { DeletionDomainModel } from '../../domain/types/deletion-domain-model.enum';\n\nexport interface DeletionTargetRef {\n\ttargetRefDomain: DeletionDomainModel;\n\ttargetRefId: EntityId;\n}\n\nexport interface DeletionRequestLog {\n\ttargetRef: DeletionTargetRef;\n\tdeletionPlannedAt: Date;\n\tstatistics?: DeletionLogStatistic[];\n}\n\nexport interface DeletionLogStatistic {\n\tdomain: DeletionDomainModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n}\n\nexport interface DeletionRequestProps {\n\ttargetRef: { targetRefDoamin: DeletionDomainModel; targetRefId: EntityId };\n\tdeleteInMinutes?: number;\n}\n\nexport interface DeletionRequestCreateAnswer {\n\trequestId: EntityId;\n\tdeletionPlannedAt: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/DeletionRequestEntity.html":{"url":"entities/DeletionRequestEntity.html","title":"entity - DeletionRequestEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n DeletionRequestEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/entity/deletion-request.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n deleteAfter\n \n \n \n status\n \n \n \n targetRefDomain\n \n \n \n targetRefId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n deleteAfter\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property()@Index({options: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/entity/deletion-request.entity.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : DeletionStatusModel\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/entity/deletion-request.entity.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n targetRefDomain\n \n \n \n \n \n \n Type : DeletionDomainModel\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/entity/deletion-request.entity.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n targetRefId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/entity/deletion-request.entity.ts:25\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Index, Property, Unique } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { DeletionDomainModel, DeletionStatusModel } from '../domain/types';\n\nconst SECONDS_OF_90_DAYS = 90 * 24 * 60 * 60;\nexport interface DeletionRequestEntityProps {\n\tid?: EntityId;\n\ttargetRefDomain: DeletionDomainModel;\n\tdeleteAfter: Date;\n\ttargetRefId: EntityId;\n\tstatus: DeletionStatusModel;\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n}\n\n@Entity({ tableName: 'deletionrequests' })\n@Unique({ properties: ['targetRefId', 'targetRefDomain'] })\nexport class DeletionRequestEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Index({ options: { expireAfterSeconds: SECONDS_OF_90_DAYS } })\n\tdeleteAfter: Date;\n\n\t@Property()\n\ttargetRefId!: EntityId;\n\n\t@Property()\n\ttargetRefDomain: DeletionDomainModel;\n\n\t@Property()\n\tstatus: DeletionStatusModel;\n\n\tconstructor(props: DeletionRequestEntityProps) {\n\t\tsuper();\n\t\tif (props.id !== undefined) {\n\t\t\tthis.id = props.id;\n\t\t}\n\n\t\tthis.targetRefDomain = props.targetRefDomain;\n\t\tthis.deleteAfter = props.deleteAfter;\n\t\tthis.targetRefId = props.targetRefId;\n\t\tthis.status = props.status;\n\n\t\tif (props.createdAt !== undefined) {\n\t\t\tthis.createdAt = props.createdAt;\n\t\t}\n\n\t\tif (props.updatedAt !== undefined) {\n\t\t\tthis.updatedAt = props.updatedAt;\n\t\t}\n\t}\n\n\tpublic executed(): void {\n\t\tthis.status = DeletionStatusModel.SUCCESS;\n\t}\n\n\tpublic failed(): void {\n\t\tthis.status = DeletionStatusModel.FAILED;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionRequestEntityProps.html":{"url":"interfaces/DeletionRequestEntityProps.html","title":"interface - DeletionRequestEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionRequestEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/entity/deletion-request.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n createdAt\n \n \n \n \n deleteAfter\n \n \n \n Optional\n \n id\n \n \n \n \n status\n \n \n \n \n targetRefDomain\n \n \n \n \n targetRefId\n \n \n \n Optional\n \n updatedAt\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n deleteAfter\n \n \n \n \n \n \n \n \n deleteAfter: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n \n \n status: DeletionStatusModel\n\n \n \n\n\n \n \n Type : DeletionStatusModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n targetRefDomain\n \n \n \n \n \n \n \n \n targetRefDomain: DeletionDomainModel\n\n \n \n\n\n \n \n Type : DeletionDomainModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n targetRefId\n \n \n \n \n \n \n \n \n targetRefId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Index, Property, Unique } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { DeletionDomainModel, DeletionStatusModel } from '../domain/types';\n\nconst SECONDS_OF_90_DAYS = 90 * 24 * 60 * 60;\nexport interface DeletionRequestEntityProps {\n\tid?: EntityId;\n\ttargetRefDomain: DeletionDomainModel;\n\tdeleteAfter: Date;\n\ttargetRefId: EntityId;\n\tstatus: DeletionStatusModel;\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n}\n\n@Entity({ tableName: 'deletionrequests' })\n@Unique({ properties: ['targetRefId', 'targetRefDomain'] })\nexport class DeletionRequestEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Index({ options: { expireAfterSeconds: SECONDS_OF_90_DAYS } })\n\tdeleteAfter: Date;\n\n\t@Property()\n\ttargetRefId!: EntityId;\n\n\t@Property()\n\ttargetRefDomain: DeletionDomainModel;\n\n\t@Property()\n\tstatus: DeletionStatusModel;\n\n\tconstructor(props: DeletionRequestEntityProps) {\n\t\tsuper();\n\t\tif (props.id !== undefined) {\n\t\t\tthis.id = props.id;\n\t\t}\n\n\t\tthis.targetRefDomain = props.targetRefDomain;\n\t\tthis.deleteAfter = props.deleteAfter;\n\t\tthis.targetRefId = props.targetRefId;\n\t\tthis.status = props.status;\n\n\t\tif (props.createdAt !== undefined) {\n\t\t\tthis.createdAt = props.createdAt;\n\t\t}\n\n\t\tif (props.updatedAt !== undefined) {\n\t\t\tthis.updatedAt = props.updatedAt;\n\t\t}\n\t}\n\n\tpublic executed(): void {\n\t\tthis.status = DeletionStatusModel.SUCCESS;\n\t}\n\n\tpublic failed(): void {\n\t\tthis.status = DeletionStatusModel.FAILED;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequestFactory.html":{"url":"classes/DeletionRequestFactory.html","title":"class - DeletionRequestFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/domain/testing/factory/deletion-request.factory.ts\n \n\n\n\n \n Extends\n \n \n DoBaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withUserIds\n \n \n \n buildWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withUserIds\n \n \n \n \n \n \nwithUserIds(id: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/domain/testing/factory/deletion-request.factory.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \n \n buildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DoBaseFactory } from '@shared/testing';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { DeepPartial } from 'fishery';\nimport { DeletionRequest, DeletionRequestProps } from '../../deletion-request.do';\nimport { DeletionDomainModel, DeletionStatusModel } from '../../types';\n\nclass DeletionRequestFactory extends DoBaseFactory {\n\twithUserIds(id: string): this {\n\t\tconst params: DeepPartial = {\n\t\t\ttargetRefId: id,\n\t\t};\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const deletionRequestFactory = DeletionRequestFactory.define(DeletionRequest, () => {\n\treturn {\n\t\tid: new ObjectId().toHexString(),\n\t\ttargetRefDomain: DeletionDomainModel.USER,\n\t\tdeleteAfter: new Date(),\n\t\ttargetRefId: new ObjectId().toHexString(),\n\t\tstatus: DeletionStatusModel.REGISTERED,\n\t\tcreatedAt: new Date(),\n\t\tupdatedAt: new Date(),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionRequestInput.html":{"url":"interfaces/DeletionRequestInput.html","title":"interface - DeletionRequestInput","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionRequestInput\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/client/interface/deletion-request-input.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n deleteInMinutes\n \n \n \n \n targetRef\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n deleteInMinutes\n \n \n \n \n \n \n \n \n deleteInMinutes: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n targetRef\n \n \n \n \n \n \n \n \n targetRef: DeletionRequestTargetRefInput\n\n \n \n\n\n \n \n Type : DeletionRequestTargetRefInput\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { DeletionRequestTargetRefInput } from './deletion-request-target-ref-input.interface';\n\nexport interface DeletionRequestInput {\n\ttargetRef: DeletionRequestTargetRefInput;\n\tdeleteInMinutes?: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequestInputBuilder.html":{"url":"classes/DeletionRequestInputBuilder.html","title":"class - DeletionRequestInputBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestInputBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/client/builder/deletion-request-input.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(targetRefDomain: string, targetRefId: string, deleteInMinutes?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/client/builder/deletion-request-input.builder.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n targetRefDomain\n \n string\n \n\n \n No\n \n\n\n \n \n targetRefId\n \n string\n \n\n \n No\n \n\n\n \n \n deleteInMinutes\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DeletionRequestInput\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DeletionRequestInput } from '../interface';\nimport { DeletionRequestTargetRefInputBuilder } from './deletion-request-target-ref-input.builder';\n\nexport class DeletionRequestInputBuilder {\n\tstatic build(targetRefDomain: string, targetRefId: string, deleteInMinutes?: number): DeletionRequestInput {\n\t\treturn {\n\t\t\ttargetRef: DeletionRequestTargetRefInputBuilder.build(targetRefDomain, targetRefId),\n\t\t\tdeleteInMinutes,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionRequestLog.html":{"url":"interfaces/DeletionRequestLog.html","title":"interface - DeletionRequestLog","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionRequestLog\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/uc/interface/interfaces.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n deletionPlannedAt\n \n \n \n Optional\n \n statistics\n \n \n \n \n targetRef\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n deletionPlannedAt\n \n \n \n \n \n \n \n \n deletionPlannedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n statistics\n \n \n \n \n \n \n \n \n statistics: DeletionLogStatistic[]\n\n \n \n\n\n \n \n Type : DeletionLogStatistic[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n targetRef\n \n \n \n \n \n \n \n \n targetRef: DeletionTargetRef\n\n \n \n\n\n \n \n Type : DeletionTargetRef\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { DeletionDomainModel } from '../../domain/types/deletion-domain-model.enum';\n\nexport interface DeletionTargetRef {\n\ttargetRefDomain: DeletionDomainModel;\n\ttargetRefId: EntityId;\n}\n\nexport interface DeletionRequestLog {\n\ttargetRef: DeletionTargetRef;\n\tdeletionPlannedAt: Date;\n\tstatistics?: DeletionLogStatistic[];\n}\n\nexport interface DeletionLogStatistic {\n\tdomain: DeletionDomainModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n}\n\nexport interface DeletionRequestProps {\n\ttargetRef: { targetRefDoamin: DeletionDomainModel; targetRefId: EntityId };\n\tdeleteInMinutes?: number;\n}\n\nexport interface DeletionRequestCreateAnswer {\n\trequestId: EntityId;\n\tdeletionPlannedAt: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequestLogResponse.html":{"url":"classes/DeletionRequestLogResponse.html","title":"class - DeletionRequestLogResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestLogResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/controller/dto/deletion-request-log.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n deletionPlannedAt\n \n \n \n \n Optional\n statistics\n \n \n \n targetRef\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(response: DeletionRequestLogResponse)\n \n \n \n \n Defined in apps/server/src/modules/deletion/controller/dto/deletion-request-log.response.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n \n DeletionRequestLogResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n deletionPlannedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/controller/dto/deletion-request-log.response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n statistics\n \n \n \n \n \n \n Type : DeletionLogStatistic[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/controller/dto/deletion-request-log.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n targetRef\n \n \n \n \n \n \n Type : DeletionTargetRef\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/controller/dto/deletion-request-log.response.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsOptional } from 'class-validator';\nimport { DeletionLogStatistic, DeletionTargetRef } from '../../interface';\n\nexport class DeletionRequestLogResponse {\n\t@ApiProperty()\n\ttargetRef: DeletionTargetRef;\n\n\t@ApiProperty()\n\tdeletionPlannedAt: Date;\n\n\t@ApiProperty()\n\t@IsOptional()\n\tstatistics?: DeletionLogStatistic[];\n\n\tconstructor(response: DeletionRequestLogResponse) {\n\t\tthis.targetRef = response.targetRef;\n\t\tthis.deletionPlannedAt = response.deletionPlannedAt;\n\t\tthis.statistics = response.statistics;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequestLogResponseBuilder.html":{"url":"classes/DeletionRequestLogResponseBuilder.html","title":"class - DeletionRequestLogResponseBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestLogResponseBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/builder/deletion-request-log-response.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(targetRef: DeletionTargetRef, deletionPlannedAt: Date, statistics?: DeletionLogStatistic[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/builder/deletion-request-log-response.builder.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n targetRef\n \n DeletionTargetRef\n \n\n \n No\n \n\n\n \n \n deletionPlannedAt\n \n Date\n \n\n \n No\n \n\n\n \n \n statistics\n \n DeletionLogStatistic[]\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DeletionRequestLogResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DeletionRequestLogResponse } from '../controller/dto';\nimport { DeletionLogStatistic, DeletionTargetRef } from '../interface';\n\nexport class DeletionRequestLogResponseBuilder {\n\tstatic build(\n\t\ttargetRef: DeletionTargetRef,\n\t\tdeletionPlannedAt: Date,\n\t\tstatistics?: DeletionLogStatistic[]\n\t): DeletionRequestLogResponse {\n\t\tconst deletionRequestLog = { targetRef, deletionPlannedAt, statistics };\n\n\t\treturn deletionRequestLog;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequestMapper.html":{"url":"classes/DeletionRequestMapper.html","title":"class - DeletionRequestMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/repo/mapper/deletion-request.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToDO\n \n \n Static\n mapToEntity\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToDO\n \n \n \n \n \n \n \n mapToDO(entity: DeletionRequestEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/mapper/deletion-request.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n DeletionRequestEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionRequest\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToEntity\n \n \n \n \n \n \n \n mapToEntity(domainObject: DeletionRequest)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/mapper/deletion-request.mapper.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DeletionRequest\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionRequestEntity\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DeletionRequest } from '../../domain/deletion-request.do';\nimport { DeletionRequestEntity } from '../../entity';\n\nexport class DeletionRequestMapper {\n\tstatic mapToDO(entity: DeletionRequestEntity): DeletionRequest {\n\t\treturn new DeletionRequest({\n\t\t\tid: entity.id,\n\t\t\tcreatedAt: entity.createdAt,\n\t\t\tupdatedAt: entity.updatedAt,\n\t\t\ttargetRefDomain: entity.targetRefDomain,\n\t\t\tdeleteAfter: entity.deleteAfter,\n\t\t\ttargetRefId: entity.targetRefId,\n\t\t\tstatus: entity.status,\n\t\t});\n\t}\n\n\tstatic mapToEntity(domainObject: DeletionRequest): DeletionRequestEntity {\n\t\treturn new DeletionRequestEntity({\n\t\t\tid: domainObject.id,\n\t\t\ttargetRefDomain: domainObject.targetRefDomain,\n\t\t\tdeleteAfter: domainObject.deleteAfter,\n\t\t\ttargetRefId: domainObject.targetRefId,\n\t\t\tcreatedAt: domainObject.createdAt,\n\t\t\tupdatedAt: domainObject.updatedAt,\n\t\t\tstatus: domainObject.status,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionRequestOutput.html":{"url":"interfaces/DeletionRequestOutput.html","title":"interface - DeletionRequestOutput","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionRequestOutput\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/client/interface/deletion-request-output.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n deletionPlannedAt\n \n \n \n \n requestId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n deletionPlannedAt\n \n \n \n \n \n \n \n \n deletionPlannedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n requestId\n \n \n \n \n \n \n \n \n requestId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface DeletionRequestOutput {\n\trequestId: string;\n\tdeletionPlannedAt: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequestOutputBuilder.html":{"url":"classes/DeletionRequestOutputBuilder.html","title":"class - DeletionRequestOutputBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestOutputBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/client/builder/deletion-request-output.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(requestId: string, deletionPlannedAt: Date)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/client/builder/deletion-request-output.builder.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n requestId\n \n string\n \n\n \n No\n \n\n\n \n \n deletionPlannedAt\n \n Date\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionRequestOutput\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DeletionRequestOutput } from '../interface';\n\nexport class DeletionRequestOutputBuilder {\n\tstatic build(requestId: string, deletionPlannedAt: Date): DeletionRequestOutput {\n\t\treturn {\n\t\t\trequestId,\n\t\t\tdeletionPlannedAt,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionRequestProps.html":{"url":"interfaces/DeletionRequestProps.html","title":"interface - DeletionRequestProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionRequestProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/domain/deletion-request.do.ts\n \n\n\n\n \n Extends\n \n \n AuthorizableObject\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n createdAt\n \n \n \n \n deleteAfter\n \n \n \n \n status\n \n \n \n \n targetRefDomain\n \n \n \n \n targetRefId\n \n \n \n Optional\n \n updatedAt\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n deleteAfter\n \n \n \n \n \n \n \n \n deleteAfter: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n \n \n status: DeletionStatusModel\n\n \n \n\n\n \n \n Type : DeletionStatusModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n targetRefDomain\n \n \n \n \n \n \n \n \n targetRefDomain: DeletionDomainModel\n\n \n \n\n\n \n \n Type : DeletionDomainModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n targetRefId\n \n \n \n \n \n \n \n \n targetRefId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { DeletionDomainModel, DeletionStatusModel } from './types';\n\nexport interface DeletionRequestProps extends AuthorizableObject {\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n\ttargetRefDomain: DeletionDomainModel;\n\tdeleteAfter: Date;\n\ttargetRefId: EntityId;\n\tstatus: DeletionStatusModel;\n}\n\nexport class DeletionRequest extends DomainObject {\n\tget createdAt(): Date | undefined {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date | undefined {\n\t\treturn this.props.updatedAt;\n\t}\n\n\tget targetRefDomain(): DeletionDomainModel {\n\t\treturn this.props.targetRefDomain;\n\t}\n\n\tget deleteAfter(): Date {\n\t\treturn this.props.deleteAfter;\n\t}\n\n\tget targetRefId(): EntityId {\n\t\treturn this.props.targetRefId;\n\t}\n\n\tget status(): DeletionStatusModel {\n\t\treturn this.props.status;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionRequestProps-1.html":{"url":"interfaces/DeletionRequestProps-1.html","title":"interface - DeletionRequestProps-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionRequestProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/uc/interface/interfaces.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n deleteInMinutes\n \n \n \n \n targetRef\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n deleteInMinutes\n \n \n \n \n \n \n \n \n deleteInMinutes: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n targetRef\n \n \n \n \n \n \n \n \n targetRef: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { DeletionDomainModel } from '../../domain/types/deletion-domain-model.enum';\n\nexport interface DeletionTargetRef {\n\ttargetRefDomain: DeletionDomainModel;\n\ttargetRefId: EntityId;\n}\n\nexport interface DeletionRequestLog {\n\ttargetRef: DeletionTargetRef;\n\tdeletionPlannedAt: Date;\n\tstatistics?: DeletionLogStatistic[];\n}\n\nexport interface DeletionLogStatistic {\n\tdomain: DeletionDomainModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n}\n\nexport interface DeletionRequestProps {\n\ttargetRef: { targetRefDoamin: DeletionDomainModel; targetRefId: EntityId };\n\tdeleteInMinutes?: number;\n}\n\nexport interface DeletionRequestCreateAnswer {\n\trequestId: EntityId;\n\tdeletionPlannedAt: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DeletionRequestRepo.html":{"url":"injectables/DeletionRequestRepo.html","title":"injectable - DeletionRequestRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DeletionRequestRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/repo/deletion-request.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n create\n \n \n Async\n deleteById\n \n \n Async\n findAllItemsToExecution\n \n \n Async\n findById\n \n \n Async\n markDeletionRequestAsExecuted\n \n \n Async\n markDeletionRequestAsFailed\n \n \n Async\n update\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-request.repo.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n create\n \n \n \n \n \n \n \n create(deletionRequest: DeletionRequest)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-request.repo.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequest\n \n DeletionRequest\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteById\n \n \n \n \n \n \n \n deleteById(deletionRequestId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-request.repo.ts:78\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllItemsToExecution\n \n \n \n \n \n \n \n findAllItemsToExecution(limit?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-request.repo.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n limit\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(deletionRequestId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-request.repo.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n markDeletionRequestAsExecuted\n \n \n \n \n \n \n \n markDeletionRequestAsExecuted(deletionRequestId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-request.repo.ts:56\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n markDeletionRequestAsFailed\n \n \n \n \n \n \n \n markDeletionRequestAsFailed(deletionRequestId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-request.repo.ts:67\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n update\n \n \n \n \n \n \n \n update(deletionRequest: DeletionRequest)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-request.repo.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequest\n \n DeletionRequest\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-request.repo.ts:14\n \n \n\n \n \n\n \n\n\n \n import { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { SortOrder } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { DeletionRequest } from '../domain/deletion-request.do';\nimport { DeletionRequestEntity } from '../entity';\nimport { DeletionRequestScope } from './deletion-request-scope';\nimport { DeletionRequestMapper } from './mapper/deletion-request.mapper';\n\n@Injectable()\nexport class DeletionRequestRepo {\n\tconstructor(private readonly em: EntityManager) {}\n\n\tget entityName() {\n\t\treturn DeletionRequestEntity;\n\t}\n\n\tasync findById(deletionRequestId: EntityId): Promise {\n\t\tconst deletionRequest: DeletionRequestEntity = await this.em.findOneOrFail(DeletionRequestEntity, {\n\t\t\tid: deletionRequestId,\n\t\t});\n\n\t\tconst mapped: DeletionRequest = DeletionRequestMapper.mapToDO(deletionRequest);\n\n\t\treturn mapped;\n\t}\n\n\tasync create(deletionRequest: DeletionRequest): Promise {\n\t\tconst deletionRequestEntity = DeletionRequestMapper.mapToEntity(deletionRequest);\n\t\tthis.em.persist(deletionRequestEntity);\n\t\tawait this.em.flush();\n\t}\n\n\tasync findAllItemsToExecution(limit?: number): Promise {\n\t\tconst currentDate = new Date();\n\t\tconst scope = new DeletionRequestScope().byDeleteAfter(currentDate).byStatus();\n\t\tconst order = { createdAt: SortOrder.desc };\n\n\t\tconst [deletionRequestEntities] = await this.em.findAndCount(DeletionRequestEntity, scope.query, {\n\t\t\tlimit,\n\t\t\torderBy: order,\n\t\t});\n\n\t\tconst mapped: DeletionRequest[] = deletionRequestEntities.map((entity) => DeletionRequestMapper.mapToDO(entity));\n\n\t\treturn mapped;\n\t}\n\n\tasync update(deletionRequest: DeletionRequest): Promise {\n\t\tconst deletionRequestEntity = DeletionRequestMapper.mapToEntity(deletionRequest);\n\t\tconst referencedEntity = this.em.getReference(DeletionRequestEntity, deletionRequestEntity.id);\n\n\t\tawait this.em.persistAndFlush(referencedEntity);\n\t}\n\n\tasync markDeletionRequestAsExecuted(deletionRequestId: EntityId): Promise {\n\t\tconst deletionRequest: DeletionRequestEntity = await this.em.findOneOrFail(DeletionRequestEntity, {\n\t\t\tid: deletionRequestId,\n\t\t});\n\n\t\tdeletionRequest.executed();\n\t\tawait this.em.persistAndFlush(deletionRequest);\n\n\t\treturn true;\n\t}\n\n\tasync markDeletionRequestAsFailed(deletionRequestId: EntityId): Promise {\n\t\tconst deletionRequest: DeletionRequestEntity = await this.em.findOneOrFail(DeletionRequestEntity, {\n\t\t\tid: deletionRequestId,\n\t\t});\n\n\t\tdeletionRequest.failed();\n\t\tawait this.em.persistAndFlush(deletionRequest);\n\n\t\treturn true;\n\t}\n\n\tasync deleteById(deletionRequestId: EntityId): Promise {\n\t\tconst entity: DeletionRequestEntity | null = await this.em.findOneOrFail(DeletionRequestEntity, {\n\t\t\tid: deletionRequestId,\n\t\t});\n\n\t\tawait this.em.removeAndFlush(entity);\n\n\t\treturn true;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequestResponse.html":{"url":"classes/DeletionRequestResponse.html","title":"class - DeletionRequestResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/controller/dto/deletion-request.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n deletionPlannedAt\n \n \n \n requestId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(response: DeletionRequestResponse)\n \n \n \n \n Defined in apps/server/src/modules/deletion/controller/dto/deletion-request.response.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n \n DeletionRequestResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n deletionPlannedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/controller/dto/deletion-request.response.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n requestId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/controller/dto/deletion-request.response.ts:5\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class DeletionRequestResponse {\n\t@ApiProperty()\n\trequestId: string;\n\n\t@ApiProperty()\n\tdeletionPlannedAt: Date;\n\n\tconstructor(response: DeletionRequestResponse) {\n\t\tthis.requestId = response.requestId;\n\t\tthis.deletionPlannedAt = response.deletionPlannedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequestScope.html":{"url":"classes/DeletionRequestScope.html","title":"class - DeletionRequestScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/repo/deletion-request-scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n byDeleteAfter\n \n \n byStatus\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n byDeleteAfter\n \n \n \n \n \n \nbyDeleteAfter(currentDate: Date)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-request-scope.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentDate\n \n Date\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionRequestScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byStatus\n \n \n \n \n \n \nbyStatus()\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-request-scope.ts:12\n \n \n\n\n \n \n\n \n Returns : DeletionRequestScope\n\n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Scope } from '@shared/repo';\nimport { DeletionRequestEntity } from '../entity';\nimport { DeletionStatusModel } from '../domain/types';\n\nexport class DeletionRequestScope extends Scope {\n\tbyDeleteAfter(currentDate: Date): DeletionRequestScope {\n\t\tthis.addQuery({ deleteAfter: { $lt: currentDate } });\n\n\t\treturn this;\n\t}\n\n\tbyStatus(): DeletionRequestScope {\n\t\tthis.addQuery({ status: [DeletionStatusModel.REGISTERED, DeletionStatusModel.FAILED] });\n\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DeletionRequestService.html":{"url":"injectables/DeletionRequestService.html","title":"injectable - DeletionRequestService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DeletionRequestService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/services/deletion-request.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createDeletionRequest\n \n \n Async\n deleteById\n \n \n Async\n findAllItemsToExecute\n \n \n Async\n findById\n \n \n Async\n markDeletionRequestAsExecuted\n \n \n Async\n markDeletionRequestAsFailed\n \n \n Async\n update\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(deletionRequestRepo: DeletionRequestRepo)\n \n \n \n \n Defined in apps/server/src/modules/deletion/services/deletion-request.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestRepo\n \n \n DeletionRequestRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createDeletionRequest\n \n \n \n \n \n \n \n createDeletionRequest(targetRefId: EntityId, targetRefDomain: DeletionDomainModel, deleteInMinutes: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/deletion-request.service.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n targetRefId\n \n EntityId\n \n\n \n No\n \n\n \n \n\n \n \n targetRefDomain\n \n DeletionDomainModel\n \n\n \n No\n \n\n \n \n\n \n \n deleteInMinutes\n \n number\n \n\n \n No\n \n\n \n 43200\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteById\n \n \n \n \n \n \n \n deleteById(deletionRequestId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/deletion-request.service.ts:57\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllItemsToExecute\n \n \n \n \n \n \n \n findAllItemsToExecute(limit?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/deletion-request.service.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n limit\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(deletionRequestId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/deletion-request.service.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n markDeletionRequestAsExecuted\n \n \n \n \n \n \n \n markDeletionRequestAsExecuted(deletionRequestId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/deletion-request.service.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n markDeletionRequestAsFailed\n \n \n \n \n \n \n \n markDeletionRequestAsFailed(deletionRequestId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/deletion-request.service.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n update\n \n \n \n \n \n \n \n update(deletionRequestToUpdate: DeletionRequest)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/deletion-request.service.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestToUpdate\n \n DeletionRequest\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { DeletionRequest } from '../domain/deletion-request.do';\nimport { DeletionDomainModel, DeletionStatusModel } from '../domain/types';\nimport { DeletionRequestRepo } from '../repo/deletion-request.repo';\n\n@Injectable()\nexport class DeletionRequestService {\n\tconstructor(private readonly deletionRequestRepo: DeletionRequestRepo) {}\n\n\tasync createDeletionRequest(\n\t\ttargetRefId: EntityId,\n\t\ttargetRefDomain: DeletionDomainModel,\n\t\tdeleteInMinutes = 43200\n\t): Promise {\n\t\tconst dateOfDeletion = new Date();\n\t\tdateOfDeletion.setMinutes(dateOfDeletion.getMinutes() + deleteInMinutes);\n\n\t\tconst newDeletionRequest = new DeletionRequest({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttargetRefDomain,\n\t\t\tdeleteAfter: dateOfDeletion,\n\t\t\ttargetRefId,\n\t\t\tstatus: DeletionStatusModel.REGISTERED,\n\t\t});\n\n\t\tawait this.deletionRequestRepo.create(newDeletionRequest);\n\n\t\treturn { requestId: newDeletionRequest.id, deletionPlannedAt: newDeletionRequest.deleteAfter };\n\t}\n\n\tasync findById(deletionRequestId: EntityId): Promise {\n\t\tconst deletionRequest: DeletionRequest = await this.deletionRequestRepo.findById(deletionRequestId);\n\n\t\treturn deletionRequest;\n\t}\n\n\tasync findAllItemsToExecute(limit?: number): Promise {\n\t\tconst itemsToDelete: DeletionRequest[] = await this.deletionRequestRepo.findAllItemsToExecution(limit);\n\n\t\treturn itemsToDelete;\n\t}\n\n\tasync update(deletionRequestToUpdate: DeletionRequest): Promise {\n\t\tawait this.deletionRequestRepo.update(deletionRequestToUpdate);\n\t}\n\n\tasync markDeletionRequestAsExecuted(deletionRequestId: EntityId): Promise {\n\t\treturn this.deletionRequestRepo.markDeletionRequestAsExecuted(deletionRequestId);\n\t}\n\n\tasync markDeletionRequestAsFailed(deletionRequestId: EntityId): Promise {\n\t\treturn this.deletionRequestRepo.markDeletionRequestAsFailed(deletionRequestId);\n\t}\n\n\tasync deleteById(deletionRequestId: EntityId): Promise {\n\t\tawait this.deletionRequestRepo.deleteById(deletionRequestId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionRequestTargetRefInput.html":{"url":"interfaces/DeletionRequestTargetRefInput.html","title":"interface - DeletionRequestTargetRefInput","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionRequestTargetRefInput\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/client/interface/deletion-request-target-ref-input.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n domain\n \n \n \n \n id\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n domain\n \n \n \n \n \n \n \n \n domain: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface DeletionRequestTargetRefInput {\n\tdomain: string;\n\tid: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequestTargetRefInputBuilder.html":{"url":"classes/DeletionRequestTargetRefInputBuilder.html","title":"class - DeletionRequestTargetRefInputBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestTargetRefInputBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/client/builder/deletion-request-target-ref-input.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(domain: string, id: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/client/builder/deletion-request-target-ref-input.builder.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domain\n \n string\n \n\n \n No\n \n\n\n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionRequestTargetRefInput\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DeletionRequestTargetRefInput } from '../interface';\n\nexport class DeletionRequestTargetRefInputBuilder {\n\tstatic build(domain: string, id: string): DeletionRequestTargetRefInput {\n\t\treturn { domain, id };\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/DeletionRequestsController.html":{"url":"controllers/DeletionRequestsController.html","title":"controller - DeletionRequestsController","body":"\n \n\n\n\n\n\n\n Controllers\n DeletionRequestsController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/controller/deletion-requests.controller.ts\n \n\n \n Prefix\n \n \n deletionRequests\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n Async\n cancelDeletionRequest\n \n \n \n \n \n \n Async\n createDeletionRequests\n \n \n \n \n \n \n Async\n getPerformedDeletionDetails\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n Async\n cancelDeletionRequest\n \n \n \n \n \n \n \n cancelDeletionRequest(requestId: string)\n \n \n\n \n \n Decorators : \n \n @Delete(':requestId')@HttpCode(204)@ApiOperation({summary: 'Canceling a deletion request'})@ApiResponse({status: 204})\n \n \n\n \n \n Defined in apps/server/src/modules/deletion/controller/deletion-requests.controller.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n requestId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createDeletionRequests\n \n \n \n \n \n \n \n createDeletionRequests(deletionRequestBody: DeletionRequestBodyProps)\n \n \n\n \n \n Decorators : \n \n @Post()@HttpCode(202)@ApiOperation({summary: '\"Queueing\" a deletion request'})@ApiResponse({status: 202, type: DeletionRequestResponse, description: 'Returns identifier of the deletion request and when deletion is planned at'})\n \n \n\n \n \n Defined in apps/server/src/modules/deletion/controller/deletion-requests.controller.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestBody\n \n DeletionRequestBodyProps\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getPerformedDeletionDetails\n \n \n \n \n \n \n \n getPerformedDeletionDetails(requestId: string)\n \n \n\n \n \n Decorators : \n \n @Get(':requestId')@HttpCode(200)@ApiOperation({summary: 'Retrieving details of performed or planned deletion'})@ApiResponse({status: 200, type: DeletionRequestLogResponse, description: 'Return details of performed or planned deletion'})\n \n \n\n \n \n Defined in apps/server/src/modules/deletion/controller/deletion-requests.controller.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n requestId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Body, Controller, Delete, Get, HttpCode, Param, Post, UseGuards } from '@nestjs/common';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { AuthGuard } from '@nestjs/passport';\nimport { DeletionRequestUc } from '../uc';\nimport { DeletionRequestLogResponse, DeletionRequestBodyProps, DeletionRequestResponse } from './dto';\n\n@ApiTags('DeletionRequests')\n@UseGuards(AuthGuard('api-key'))\n@Controller('deletionRequests')\nexport class DeletionRequestsController {\n\tconstructor(private readonly deletionRequestUc: DeletionRequestUc) {}\n\n\t@Post()\n\t@HttpCode(202)\n\t@ApiOperation({\n\t\tsummary: '\"Queueing\" a deletion request',\n\t})\n\t@ApiResponse({\n\t\tstatus: 202,\n\t\ttype: DeletionRequestResponse,\n\t\tdescription: 'Returns identifier of the deletion request and when deletion is planned at',\n\t})\n\tasync createDeletionRequests(\n\t\t@Body() deletionRequestBody: DeletionRequestBodyProps\n\t): Promise {\n\t\treturn this.deletionRequestUc.createDeletionRequest(deletionRequestBody);\n\t}\n\n\t@Get(':requestId')\n\t@HttpCode(200)\n\t@ApiOperation({\n\t\tsummary: 'Retrieving details of performed or planned deletion',\n\t})\n\t@ApiResponse({\n\t\tstatus: 200,\n\t\ttype: DeletionRequestLogResponse,\n\t\tdescription: 'Return details of performed or planned deletion',\n\t})\n\tasync getPerformedDeletionDetails(@Param('requestId') requestId: string): Promise {\n\t\treturn this.deletionRequestUc.findById(requestId);\n\t}\n\n\t@Delete(':requestId')\n\t@HttpCode(204)\n\t@ApiOperation({\n\t\tsummary: 'Canceling a deletion request',\n\t})\n\t@ApiResponse({\n\t\tstatus: 204,\n\t})\n\tasync cancelDeletionRequest(@Param('requestId') requestId: string) {\n\t\treturn this.deletionRequestUc.deleteDeletionRequestById(requestId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionTargetRef.html":{"url":"interfaces/DeletionTargetRef.html","title":"interface - DeletionTargetRef","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionTargetRef\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/interface/interfaces.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n domain\n \n \n \n \n id\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n domain\n \n \n \n \n \n \n \n \n domain: DeletionDomainModel\n\n \n \n\n\n \n \n Type : DeletionDomainModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { DeletionDomainModel } from '../domain/types';\n\nexport interface DeletionTargetRef {\n\tdomain: DeletionDomainModel;\n\tid: EntityId;\n}\n\nexport interface DeletionLogStatistic {\n\tdomain: DeletionDomainModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionTargetRef-1.html":{"url":"interfaces/DeletionTargetRef-1.html","title":"interface - DeletionTargetRef-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionTargetRef\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/uc/interface/interfaces.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n targetRefDomain\n \n \n \n \n targetRefId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n targetRefDomain\n \n \n \n \n \n \n \n \n targetRefDomain: DeletionDomainModel\n\n \n \n\n\n \n \n Type : DeletionDomainModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n targetRefId\n \n \n \n \n \n \n \n \n targetRefId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { DeletionDomainModel } from '../../domain/types/deletion-domain-model.enum';\n\nexport interface DeletionTargetRef {\n\ttargetRefDomain: DeletionDomainModel;\n\ttargetRefId: EntityId;\n}\n\nexport interface DeletionRequestLog {\n\ttargetRef: DeletionTargetRef;\n\tdeletionPlannedAt: Date;\n\tstatistics?: DeletionLogStatistic[];\n}\n\nexport interface DeletionLogStatistic {\n\tdomain: DeletionDomainModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n}\n\nexport interface DeletionRequestProps {\n\ttargetRef: { targetRefDoamin: DeletionDomainModel; targetRefId: EntityId };\n\tdeleteInMinutes?: number;\n}\n\nexport interface DeletionRequestCreateAnswer {\n\trequestId: EntityId;\n\tdeletionPlannedAt: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionTargetRefBuilder.html":{"url":"classes/DeletionTargetRefBuilder.html","title":"class - DeletionTargetRefBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionTargetRefBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/builder/deletion-target-ref.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(domain: DeletionDomainModel, id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/builder/deletion-target-ref.builder.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domain\n \n DeletionDomainModel\n \n\n \n No\n \n\n\n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionTargetRef\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { DeletionDomainModel } from '../domain/types';\nimport { DeletionTargetRef } from '../interface';\n\nexport class DeletionTargetRefBuilder {\n\tstatic build(domain: DeletionDomainModel, id: EntityId): DeletionTargetRef {\n\t\tconst deletionTargetRef = { domain, id };\n\n\t\treturn deletionTargetRef;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionTargetRefBuilder-1.html":{"url":"classes/DeletionTargetRefBuilder-1.html","title":"class - DeletionTargetRefBuilder-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionTargetRefBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/uc/builder/deletion-target-ref.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(targetRefDomain: DeletionDomainModel, targetRefId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/uc/builder/deletion-target-ref.builder.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n targetRefDomain\n \n DeletionDomainModel\n \n\n \n No\n \n\n\n \n \n targetRefId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionTargetRef\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { DeletionDomainModel } from '../../domain/types/deletion-domain-model.enum';\nimport { DeletionTargetRef } from '../interface/interfaces';\n\nexport class DeletionTargetRefBuilder {\n\tstatic build(targetRefDomain: DeletionDomainModel, targetRefId: EntityId): DeletionTargetRef {\n\t\tconst deletionTargetRef = { targetRefDomain, targetRefId };\n\n\t\treturn deletionTargetRef;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeprecatedVideoConferenceInfoResponse.html":{"url":"classes/DeprecatedVideoConferenceInfoResponse.html","title":"class - DeprecatedVideoConferenceInfoResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeprecatedVideoConferenceInfoResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/controller/dto/response/video-conference-deprecated.response.ts\n \n\n \n Deprecated\n \n \n Please use new video conference response classes\n \n\n\n \n Extends\n \n \n VideoConferenceBaseResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n options\n \n \n permission\n \n \n state\n \n \n Optional\n status\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(resp: DeprecatedVideoConferenceInfoResponse)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-deprecated.response.ts:43\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n resp\n \n \n DeprecatedVideoConferenceInfoResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n options\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-deprecated.response.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n permission\n \n \n \n \n \n \n Type : Permission\n\n \n \n \n \n Inherited from VideoConferenceBaseResponse\n\n \n \n \n \n Defined in VideoConferenceBaseResponse:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n state\n \n \n \n \n \n \n Type : VideoConferenceStateResponse\n\n \n \n \n \n Inherited from VideoConferenceBaseResponse\n\n \n \n \n \n Defined in VideoConferenceBaseResponse:10\n\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n status\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from VideoConferenceBaseResponse\n\n \n \n \n \n Defined in VideoConferenceBaseResponse:8\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Permission } from '@shared/domain/interface';\nimport { VideoConferenceStateResponse } from './video-conference-state.response';\n\n/**\n * @deprecated Please use new video conference response classes\n */\nexport class VideoConferenceBaseResponse {\n\tstatus?: string;\n\n\tstate: VideoConferenceStateResponse;\n\n\tpermission: Permission;\n\n\tconstructor(resp: VideoConferenceBaseResponse) {\n\t\tthis.status = 'SUCCESS';\n\t\tthis.state = resp.state;\n\t\tthis.permission = resp.permission;\n\t}\n}\n\n/**\n * @deprecated Please use new video conference response classes\n */\nexport class DeprecatedVideoConferenceJoinResponse extends VideoConferenceBaseResponse {\n\turl?: string;\n\n\tconstructor(resp: DeprecatedVideoConferenceJoinResponse) {\n\t\tsuper(resp);\n\t\tthis.url = resp.url;\n\t}\n}\n\n/**\n * @deprecated Please use new video conference response classes\n */\nexport class DeprecatedVideoConferenceInfoResponse extends VideoConferenceBaseResponse {\n\toptions?: {\n\t\teveryAttendeeJoinsMuted: boolean;\n\n\t\teverybodyJoinsAsModerator: boolean;\n\n\t\tmoderatorMustApproveJoinRequests: boolean;\n\t};\n\n\tconstructor(resp: DeprecatedVideoConferenceInfoResponse) {\n\t\tsuper(resp);\n\t\tthis.options = resp.options;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeprecatedVideoConferenceJoinResponse.html":{"url":"classes/DeprecatedVideoConferenceJoinResponse.html","title":"class - DeprecatedVideoConferenceJoinResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeprecatedVideoConferenceJoinResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/controller/dto/response/video-conference-deprecated.response.ts\n \n\n \n Deprecated\n \n \n Please use new video conference response classes\n \n\n\n \n Extends\n \n \n VideoConferenceBaseResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n url\n \n \n permission\n \n \n state\n \n \n Optional\n status\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(resp: DeprecatedVideoConferenceJoinResponse)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-deprecated.response.ts:25\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n resp\n \n \n DeprecatedVideoConferenceJoinResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-deprecated.response.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n permission\n \n \n \n \n \n \n Type : Permission\n\n \n \n \n \n Inherited from VideoConferenceBaseResponse\n\n \n \n \n \n Defined in VideoConferenceBaseResponse:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n state\n \n \n \n \n \n \n Type : VideoConferenceStateResponse\n\n \n \n \n \n Inherited from VideoConferenceBaseResponse\n\n \n \n \n \n Defined in VideoConferenceBaseResponse:10\n\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n status\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from VideoConferenceBaseResponse\n\n \n \n \n \n Defined in VideoConferenceBaseResponse:8\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Permission } from '@shared/domain/interface';\nimport { VideoConferenceStateResponse } from './video-conference-state.response';\n\n/**\n * @deprecated Please use new video conference response classes\n */\nexport class VideoConferenceBaseResponse {\n\tstatus?: string;\n\n\tstate: VideoConferenceStateResponse;\n\n\tpermission: Permission;\n\n\tconstructor(resp: VideoConferenceBaseResponse) {\n\t\tthis.status = 'SUCCESS';\n\t\tthis.state = resp.state;\n\t\tthis.permission = resp.permission;\n\t}\n}\n\n/**\n * @deprecated Please use new video conference response classes\n */\nexport class DeprecatedVideoConferenceJoinResponse extends VideoConferenceBaseResponse {\n\turl?: string;\n\n\tconstructor(resp: DeprecatedVideoConferenceJoinResponse) {\n\t\tsuper(resp);\n\t\tthis.url = resp.url;\n\t}\n}\n\n/**\n * @deprecated Please use new video conference response classes\n */\nexport class DeprecatedVideoConferenceInfoResponse extends VideoConferenceBaseResponse {\n\toptions?: {\n\t\teveryAttendeeJoinsMuted: boolean;\n\n\t\teverybodyJoinsAsModerator: boolean;\n\n\t\tmoderatorMustApproveJoinRequests: boolean;\n\t};\n\n\tconstructor(resp: DeprecatedVideoConferenceInfoResponse) {\n\t\tsuper(resp);\n\t\tthis.options = resp.options;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DoBaseFactory.html":{"url":"classes/DoBaseFactory.html","title":"class - DoBaseFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DoBaseFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/domainobject/do-base.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n buildWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \n \n buildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BuildOptions, DeepPartial } from 'fishery';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseFactory } from '../base.factory';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport class DoBaseFactory extends BaseFactory {\n\toverride buildWithId(params?: DeepPartial, id?: string, options: BuildOptions = {}): T {\n\t\tconst entity: T = this.build(params, options);\n\t\tObject.defineProperty(entity, 'id', { value: id ?? new ObjectId().toHexString(), writable: true });\n\n\t\treturn entity;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DomainObject.html":{"url":"classes/DomainObject.html","title":"class - DomainObject","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DomainObject\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domain-object.ts\n \n\n\n\n\n \n Implements\n \n \n AuthorizableObject\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n id\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: T)\n \n \n \n \n Defined in apps/server/src/shared/domain/domain-object.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n T\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domain-object.ts:8\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domain-object.ts:18\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n id\n \n \n\n \n \n getid()\n \n \n \n \n Defined in apps/server/src/shared/domain/domain-object.ts:14\n \n \n\n \n \n\n \n\n\n \n import { EntityId } from './types';\n\nexport interface AuthorizableObject {\n\tget id(): EntityId;\n}\n\nexport abstract class DomainObject implements AuthorizableObject {\n\tprotected props: T;\n\n\tconstructor(props: T) {\n\t\tthis.props = props;\n\t}\n\n\tpublic get id(): EntityId {\n\t\treturn this.props.id;\n\t}\n\n\tpublic getProps(): T {\n\t\tconst copyProps = { ...this.props };\n\n\t\treturn copyProps;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DomainObjectFactory.html":{"url":"classes/DomainObjectFactory.html","title":"class - DomainObjectFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DomainObjectFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/domainobject/domain-object.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n buildWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \n \n buildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:14\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { MethodNotAllowedException } from '@nestjs/common';\nimport { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { BuildOptions, DeepPartial } from 'fishery';\nimport { BaseFactory } from '../base.factory';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport class DomainObjectFactory,\n\tU extends AuthorizableObject = T extends DomainObject ? X : never,\n\tI = any,\n\tC = U\n> extends BaseFactory {\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\toverride buildWithId(params?: DeepPartial, id?: string, options: BuildOptions = {}): T {\n\t\tthrow new MethodNotAllowedException(\n\t\t\t'Domain Objects are always generated with an id. Use .build({ id: ... }) to set an id.'\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DownloadFileParams.html":{"url":"classes/DownloadFileParams.html","title":"class - DownloadFileParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DownloadFileParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n fileName\n \n \n \n \n fileRecordId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n fileName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n fileRecordId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:48\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanResult } from '@infra/antivirus';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { Allow, IsBoolean, IsEnum, IsMongoId, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { FileRecordParentType } from '../../entity';\nimport { PreviewOutputMimeTypes, PreviewWidth } from '../../interface';\n\nexport class FileRecordParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\t@IsEnum(FileRecordParentType)\n\tparentType!: FileRecordParentType;\n}\n\nexport class FileUrlParams {\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\turl!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@Allow()\n\theaders?: Record;\n}\n\nexport class FileParams {\n\t@ApiProperty({ type: 'string', format: 'binary' })\n\t@Allow()\n\tfile!: string;\n}\n\nexport class DownloadFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileName!: string;\n}\n\nexport class ScanResultParams implements ScanResult {\n\t@ApiProperty()\n\t@Allow()\n\tvirus_detected?: boolean;\n\n\t@ApiProperty()\n\t@Allow()\n\tvirus_signature?: string;\n\n\t@ApiProperty()\n\t@Allow()\n\terror?: string;\n}\n\nexport class SingleFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n}\n\nexport class RenameFileParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n}\n\nexport class CopyFilesOfParentParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class CopyFileParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileNamePrefix!: string;\n}\n\nexport class CopyFilesOfParentPayload {\n\t@IsMongoId()\n\tuserId!: EntityId;\n\n\t@ValidateNested()\n\tsource!: FileRecordParams;\n\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class PreviewParams {\n\t@ApiPropertyOptional({ enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes' })\n\t@IsOptional()\n\t@IsEnum(PreviewOutputMimeTypes)\n\toutputFormat?: PreviewOutputMimeTypes;\n\n\t@ApiPropertyOptional({ enum: PreviewWidth, enumName: 'PreviewWidth' })\n\t@IsOptional()\n\t@IsEnum(PreviewWidth)\n\twidth?: PreviewWidth;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'If true, the preview will be generated again.',\n\t})\n\tforceUpdate?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DrawingContentBody.html":{"url":"classes/DrawingContentBody.html","title":"class - DrawingContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DrawingContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n description\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:69\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DrawingElement.html":{"url":"classes/DrawingElement.html","title":"class - DrawingElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DrawingElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/drawing-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardComposite\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n accept\n \n \n Async\n acceptAsync\n \n \n isAllowedAsChild\n \n \n addChild\n \n \n hasChild\n \n \n removeChild\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n description\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n accept\n \n \n \n \n \n \naccept(visitor: BoardCompositeVisitor)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:17\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitor\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n acceptAsync\n \n \n \n \n \n \n \n acceptAsync(visitor: BoardCompositeVisitorAsync)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:21\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitorAsync\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isAllowedAsChild\n \n \n \n \n \n \nisAllowedAsChild()\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:13\n\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n addChild\n \n \n \n \n \n \naddChild(child: AnyBoardDo, position?: number)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n position\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasChild\n \n \n \n \n \n \nhasChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeChild\n \n \n \n \n \n \nremoveChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n description\n \n \n\n \n \n getdescription()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/drawing-element.do.ts:5\n \n \n\n \n \n setdescription(value: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/drawing-element.do.ts:9\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class DrawingElement extends BoardComposite {\n\tget description(): string {\n\t\treturn this.props.description;\n\t}\n\n\tset description(value: string) {\n\t\tthis.props.description = value;\n\t}\n\n\tisAllowedAsChild(): boolean {\n\t\treturn false;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitDrawingElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitDrawingElementAsync(this);\n\t}\n}\n\nexport interface DrawingElementProps extends BoardCompositeProps {\n\tdescription: string;\n}\n\nexport function isDrawingElement(reference: unknown): reference is DrawingElement {\n\treturn reference instanceof DrawingElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DrawingElementAdapterService.html":{"url":"injectables/DrawingElementAdapterService.html","title":"injectable - DrawingElementAdapterService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DrawingElementAdapterService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw-client/service/drawing-element-adapter.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteDrawingBinData\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: LegacyLogger, httpService: HttpService)\n \n \n \n \n Defined in apps/server/src/modules/tldraw-client/service/drawing-element-adapter.service.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n httpService\n \n \n HttpService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteDrawingBinData\n \n \n \n \n \n \n \n deleteDrawingBinData(docName: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw-client/service/drawing-element-adapter.service.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n docName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { LegacyLogger } from '@src/core/logger';\nimport { firstValueFrom } from 'rxjs';\nimport { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { HttpService } from '@nestjs/axios';\n\n@Injectable()\nexport class DrawingElementAdapterService {\n\tconstructor(private logger: LegacyLogger, private readonly httpService: HttpService) {\n\t\tthis.logger.setContext(DrawingElementAdapterService.name);\n\t}\n\n\tasync deleteDrawingBinData(docName: string): Promise {\n\t\tawait firstValueFrom(\n\t\t\tthis.httpService.delete(`${Configuration.get('TLDRAW_URI') as string}/api/v3/tldraw-document/${docName}`, {\n\t\t\t\theaders: {\n\t\t\t\t\tAccept: 'Application/json',\n\t\t\t\t},\n\t\t\t})\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DrawingElementContent.html":{"url":"classes/DrawingElementContent.html","title":"class - DrawingElementContent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DrawingElementContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/drawing-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n description\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: DrawingElementContent)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/drawing-element.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n DrawingElementContent\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/drawing-element.response.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class DrawingElementContent {\n\tconstructor({ description }: DrawingElementContent) {\n\t\tthis.description = description;\n\t}\n\n\t@ApiProperty()\n\tdescription: string;\n}\n\nexport class DrawingElementResponse {\n\tconstructor({ id, content, timestamps, type }: DrawingElementResponse) {\n\t\tthis.id = id;\n\t\tthis.timestamps = timestamps;\n\t\tthis.type = type;\n\t\tthis.content = content;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.DRAWING;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n\n\t@ApiProperty()\n\tcontent: DrawingElementContent;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DrawingElementContentBody.html":{"url":"classes/DrawingElementContentBody.html","title":"class - DrawingElementContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DrawingElementContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n \n Extends\n \n \n ElementContentBody\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : DrawingContentBody\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:78\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.DRAWING\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from ElementContentBody\n\n \n \n \n \n Defined in ElementContentBody:74\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/DrawingElementNode.html":{"url":"entities/DrawingElementNode.html","title":"entity - DrawingElementNode","body":"\n \n\n\n\n\n\n\n\n Entities\n DrawingElementNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/drawing-element-node.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n description\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/drawing-element-node.entity.ts:9\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { AnyBoardDo } from '@shared/domain/domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.DRAWING_ELEMENT })\nexport class DrawingElementNode extends BoardNode {\n\t@Property()\n\tdescription: string;\n\n\tconstructor(props: DrawingElementNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.DRAWING_ELEMENT;\n\t\tthis.description = props.description;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildDrawingElement(this);\n\t\treturn domainObject;\n\t}\n}\n\nexport interface DrawingElementNodeProps extends BoardNodeProps {\n\tdescription: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DrawingElementNodeProps.html":{"url":"interfaces/DrawingElementNodeProps.html","title":"interface - DrawingElementNodeProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DrawingElementNodeProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/drawing-element-node.entity.ts\n \n\n\n\n \n Extends\n \n \n BoardNodeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n description: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { AnyBoardDo } from '@shared/domain/domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.DRAWING_ELEMENT })\nexport class DrawingElementNode extends BoardNode {\n\t@Property()\n\tdescription: string;\n\n\tconstructor(props: DrawingElementNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.DRAWING_ELEMENT;\n\t\tthis.description = props.description;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildDrawingElement(this);\n\t\treturn domainObject;\n\t}\n}\n\nexport interface DrawingElementNodeProps extends BoardNodeProps {\n\tdescription: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DrawingElementProps.html":{"url":"interfaces/DrawingElementProps.html","title":"interface - DrawingElementProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DrawingElementProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/drawing-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardCompositeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n description: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class DrawingElement extends BoardComposite {\n\tget description(): string {\n\t\treturn this.props.description;\n\t}\n\n\tset description(value: string) {\n\t\tthis.props.description = value;\n\t}\n\n\tisAllowedAsChild(): boolean {\n\t\treturn false;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitDrawingElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitDrawingElementAsync(this);\n\t}\n}\n\nexport interface DrawingElementProps extends BoardCompositeProps {\n\tdescription: string;\n}\n\nexport function isDrawingElement(reference: unknown): reference is DrawingElement {\n\treturn reference instanceof DrawingElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DrawingElementResponse.html":{"url":"classes/DrawingElementResponse.html","title":"class - DrawingElementResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DrawingElementResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/drawing-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n id\n \n \n \n timestamps\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: DrawingElementResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/drawing-element.response.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n DrawingElementResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : DrawingElementContent\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/drawing-element.response.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/drawing-element.response.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n timestamps\n \n \n \n \n \n \n Type : TimestampsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/drawing-element.response.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.DRAWING\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ContentElementType, enumName: 'ContentElementType'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/drawing-element.response.ts:26\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class DrawingElementContent {\n\tconstructor({ description }: DrawingElementContent) {\n\t\tthis.description = description;\n\t}\n\n\t@ApiProperty()\n\tdescription: string;\n}\n\nexport class DrawingElementResponse {\n\tconstructor({ id, content, timestamps, type }: DrawingElementResponse) {\n\t\tthis.id = id;\n\t\tthis.timestamps = timestamps;\n\t\tthis.type = type;\n\t\tthis.content = content;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.DRAWING;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n\n\t@ApiProperty()\n\tcontent: DrawingElementContent;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DrawingElementResponseMapper.html":{"url":"classes/DrawingElementResponseMapper.html","title":"class - DrawingElementResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DrawingElementResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/drawing-element-response.mapper.ts\n \n\n\n\n\n \n Implements\n \n \n BaseResponseMapper\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n canMap\n \n \n Static\n getInstance\n \n \n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n \n \n Type : DrawingElementResponseMapper\n\n \n \n \n \n Defined in apps/server/src/modules/board/controller/mapper/drawing-element-response.mapper.ts:8\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n canMap\n \n \n \n \n \n \ncanMap(element: DrawingElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/drawing-element-response.mapper.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n DrawingElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n getInstance\n \n \n \n \n \n \n \n getInstance()\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/drawing-element-response.mapper.ts:10\n \n \n\n\n \n \n\n \n Returns : DrawingElementResponseMapper\n\n \n \n \n \n \n \n \n \n \n \n \n mapToResponse\n \n \n \n \n \n \nmapToResponse(element: DrawingElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/drawing-element-response.mapper.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n DrawingElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DrawingElementResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DrawingElement } from '@shared/domain/domainobject/board/drawing-element.do';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { DrawingElementContent, DrawingElementResponse } from '../dto/element/drawing-element.response';\nimport { TimestampsResponse } from '../dto';\nimport { BaseResponseMapper } from './base-mapper.interface';\n\nexport class DrawingElementResponseMapper implements BaseResponseMapper {\n\tprivate static instance: DrawingElementResponseMapper;\n\n\tpublic static getInstance(): DrawingElementResponseMapper {\n\t\tif (!DrawingElementResponseMapper.instance) {\n\t\t\tDrawingElementResponseMapper.instance = new DrawingElementResponseMapper();\n\t\t}\n\n\t\treturn DrawingElementResponseMapper.instance;\n\t}\n\n\tmapToResponse(element: DrawingElement): DrawingElementResponse {\n\t\tconst result = new DrawingElementResponse({\n\t\t\tid: element.id,\n\t\t\ttimestamps: new TimestampsResponse({ lastUpdatedAt: element.updatedAt, createdAt: element.createdAt }),\n\t\t\ttype: ContentElementType.DRAWING,\n\t\t\tcontent: new DrawingElementContent({ description: element.description }),\n\t\t});\n\n\t\treturn result;\n\t}\n\n\tcanMap(element: DrawingElement): boolean {\n\t\treturn element instanceof DrawingElement;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DtoCreator.html":{"url":"classes/DtoCreator.html","title":"class - DtoCreator","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DtoCreator\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n authorisationService\n \n \n board\n \n \n room\n \n \n roomsAuthorisationService\n \n \n user\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n buildDTOWithElements\n \n \n Private\n createTaskStatus\n \n \n Private\n filterByPermission\n \n \n Private\n isColumnBoardFeatureFlagActive\n \n \n Private\n isTeacher\n \n \n manufacture\n \n \n Private\n mapColumnBoardElement\n \n \n Private\n mapLessonElement\n \n \n Private\n mapTaskElement\n \n \n Private\n mapToElementDTOs\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: literal type)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:36\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n literal type\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n authorisationService\n \n \n \n \n \n \n Type : AuthorizationService\n\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n board\n \n \n \n \n \n \n Type : Board\n\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n room\n \n \n \n \n \n \n Type : Course\n\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n roomsAuthorisationService\n \n \n \n \n \n \n Type : RoomsAuthorisationService\n\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n user\n \n \n \n \n \n \n Type : User\n\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:32\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n buildDTOWithElements\n \n \n \n \n \n \n \n buildDTOWithElements(elements: RoomBoardElementDTO[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:173\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n elements\n \n RoomBoardElementDTO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RoomBoardDTO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createTaskStatus\n \n \n \n \n \n \n \n createTaskStatus(task: Task)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:129\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n task\n \n Task\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskStatus\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n filterByPermission\n \n \n \n \n \n \n \n filterByPermission(elements: BoardElement[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:67\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n elements\n \n BoardElement[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isColumnBoardFeatureFlagActive\n \n \n \n \n \n \n \n isColumnBoardFeatureFlagActive()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:89\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n isTeacher\n \n \n \n \n \n \n \n isTeacher()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:95\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n manufacture\n \n \n \n \n \n \nmanufacture()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:58\n \n \n\n\n \n \n\n \n Returns : RoomBoardDTO\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n mapColumnBoardElement\n \n \n \n \n \n \n \n mapColumnBoardElement(element: BoardElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:158\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n BoardElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RoomBoardElementDTO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapLessonElement\n \n \n \n \n \n \n \n mapLessonElement(element: BoardElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:139\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n BoardElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RoomBoardElementDTO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapTaskElement\n \n \n \n \n \n \n \n mapTaskElement(element: BoardElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:121\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n BoardElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RoomBoardElementDTO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapToElementDTOs\n \n \n \n \n \n \n \n mapToElementDTOs(elements: BoardElement[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:102\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n elements\n \n BoardElement[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : {}\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { Action, AuthorizationService } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport {\n\tBoard,\n\tBoardElement,\n\tBoardElementType,\n\tColumnBoardTarget,\n\tColumnboardBoardElement,\n\tCourse,\n\tLessonEntity,\n\tTask,\n\tTaskWithStatusVo,\n\tUser,\n} from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { TaskStatus } from '@shared/domain/types';\nimport {\n\tColumnBoardMetaData,\n\tLessonMetaData,\n\tRoomBoardDTO,\n\tRoomBoardElementDTO,\n\tRoomBoardElementTypes,\n} from '../types/room-board.types';\nimport { RoomsAuthorisationService } from './rooms.authorisation.service';\n\nclass DtoCreator {\n\troom: Course;\n\n\tboard: Board;\n\n\tuser: User;\n\n\tauthorisationService: AuthorizationService;\n\n\troomsAuthorisationService: RoomsAuthorisationService;\n\n\tconstructor({\n\t\troom,\n\t\tboard,\n\t\tuser,\n\t\tauthorisationService,\n\t\troomsAuthorisationService,\n\t}: {\n\t\troom: Course;\n\t\tboard: Board;\n\t\tuser: User;\n\t\tauthorisationService: AuthorizationService;\n\t\troomsAuthorisationService: RoomsAuthorisationService;\n\t}) {\n\t\tthis.room = room;\n\t\tthis.board = board;\n\t\tthis.user = user;\n\t\tthis.authorisationService = authorisationService;\n\t\tthis.roomsAuthorisationService = roomsAuthorisationService;\n\t}\n\n\tmanufacture(): RoomBoardDTO {\n\t\tconst elements = this.board.getElements();\n\t\tconst filtered = this.filterByPermission(elements);\n\n\t\tconst mappedElements = this.mapToElementDTOs(filtered);\n\t\tconst dto = this.buildDTOWithElements(mappedElements);\n\t\treturn dto;\n\t}\n\n\tprivate filterByPermission(elements: BoardElement[]) {\n\t\tconst filtered = elements.filter((element) => {\n\t\t\tlet result = false;\n\t\t\tif (element.boardElementType === BoardElementType.Task) {\n\t\t\t\tresult = this.roomsAuthorisationService.hasTaskReadPermission(this.user, element.target as Task);\n\t\t\t}\n\n\t\t\tif (element.boardElementType === BoardElementType.Lesson) {\n\t\t\t\tresult = this.roomsAuthorisationService.hasLessonReadPermission(this.user, element.target as LessonEntity);\n\t\t\t}\n\n\t\t\tif (element instanceof ColumnboardBoardElement && this.isColumnBoardFeatureFlagActive()) {\n\t\t\t\tresult = this.authorisationService.hasPermission(this.user, this.room, {\n\t\t\t\t\taction: Action.read,\n\t\t\t\t\trequiredPermissions: [Permission.COURSE_VIEW],\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn result;\n\t\t});\n\t\treturn filtered;\n\t}\n\n\tprivate isColumnBoardFeatureFlagActive() {\n\t\tconst isActive = (Configuration.get('FEATURE_COLUMN_BOARD_ENABLED') as boolean) === true;\n\n\t\treturn isActive;\n\t}\n\n\tprivate isTeacher(): boolean {\n\t\tif (this.room.teachers.contains(this.user) || this.room.substitutionTeachers.contains(this.user)) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprivate mapToElementDTOs(elements: BoardElement[]) {\n\t\tconst results: RoomBoardElementDTO[] = [];\n\t\telements.forEach((element) => {\n\t\t\tif (element.boardElementType === BoardElementType.Task) {\n\t\t\t\tconst mapped = this.mapTaskElement(element);\n\t\t\t\tresults.push(mapped);\n\t\t\t}\n\t\t\tif (element.boardElementType === BoardElementType.Lesson) {\n\t\t\t\tconst mapped = this.mapLessonElement(element);\n\t\t\t\tresults.push(mapped);\n\t\t\t}\n\t\t\tif (element.boardElementType === BoardElementType.ColumnBoard) {\n\t\t\t\tconst mapped = this.mapColumnBoardElement(element);\n\t\t\t\tresults.push(mapped);\n\t\t\t}\n\t\t});\n\t\treturn results;\n\t}\n\n\tprivate mapTaskElement(element: BoardElement): RoomBoardElementDTO {\n\t\tconst task = element.target as Task;\n\t\tconst status = this.createTaskStatus(task);\n\n\t\tconst content = new TaskWithStatusVo(task, status);\n\t\treturn { type: RoomBoardElementTypes.TASK, content };\n\t}\n\n\tprivate createTaskStatus(task: Task): TaskStatus {\n\t\tlet status: TaskStatus;\n\t\tif (this.isTeacher()) {\n\t\t\tstatus = task.createTeacherStatusForUser(this.user);\n\t\t} else {\n\t\t\tstatus = task.createStudentStatusForUser(this.user);\n\t\t}\n\t\treturn status;\n\t}\n\n\tprivate mapLessonElement(element: BoardElement): RoomBoardElementDTO {\n\t\tconst type = RoomBoardElementTypes.LESSON;\n\t\tconst lesson = element.target as LessonEntity;\n\t\tconst content: LessonMetaData = {\n\t\t\tid: lesson.id,\n\t\t\tname: lesson.name,\n\t\t\thidden: lesson.hidden,\n\t\t\tcreatedAt: lesson.createdAt,\n\t\t\tupdatedAt: lesson.updatedAt,\n\t\t\tcourseName: lesson.course.name,\n\t\t\tnumberOfPublishedTasks: lesson.getNumberOfPublishedTasks(),\n\t\t};\n\t\tif (this.isTeacher()) {\n\t\t\tcontent.numberOfDraftTasks = lesson.getNumberOfDraftTasks();\n\t\t\tcontent.numberOfPlannedTasks = lesson.getNumberOfPlannedTasks();\n\t\t}\n\t\treturn { type, content };\n\t}\n\n\tprivate mapColumnBoardElement(element: BoardElement): RoomBoardElementDTO {\n\t\tconst type = RoomBoardElementTypes.COLUMN_BOARD;\n\t\tconst columnBoardTarget = element.target as ColumnBoardTarget;\n\t\tconst content: ColumnBoardMetaData = {\n\t\t\tid: columnBoardTarget.id,\n\t\t\tcolumnBoardId: columnBoardTarget.columnBoardId,\n\t\t\ttitle: columnBoardTarget.title,\n\t\t\tcreatedAt: columnBoardTarget.createdAt,\n\t\t\tupdatedAt: columnBoardTarget.updatedAt,\n\t\t\tpublished: columnBoardTarget.published,\n\t\t};\n\n\t\treturn { type, content };\n\t}\n\n\tprivate buildDTOWithElements(elements: RoomBoardElementDTO[]): RoomBoardDTO {\n\t\tconst dto = {\n\t\t\troomId: this.room.id,\n\t\t\tdisplayColor: this.room.color,\n\t\t\ttitle: this.room.name,\n\t\t\telements,\n\t\t\tisArchived: this.room.isFinished(),\n\t\t};\n\t\treturn dto;\n\t}\n}\n\n@Injectable()\nexport class RoomBoardDTOFactory {\n\tconstructor(\n\t\tprivate readonly authorisationService: AuthorizationService,\n\t\tprivate readonly roomsAuthorisationService: RoomsAuthorisationService\n\t) {}\n\n\tcreateDTO({ room, board, user }: { room: Course; board: Board; user: User }): RoomBoardDTO {\n\t\tconst worker = new DtoCreator({\n\t\t\troom,\n\t\t\tboard,\n\t\t\tuser,\n\t\t\tauthorisationService: this.authorisationService,\n\t\t\troomsAuthorisationService: this.roomsAuthorisationService,\n\t\t});\n\t\tconst result = worker.manufacture();\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DurationLoggingInterceptor.html":{"url":"injectables/DurationLoggingInterceptor.html","title":"injectable - DurationLoggingInterceptor","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DurationLoggingInterceptor\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/interceptor/duration-logging.interceptor.ts\n \n\n\n \n Description\n \n \n This interceptor is logging the duration of a REST call.\n\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n intercept\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/shared/common/interceptor/duration-logging.interceptor.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n intercept\n \n \n \n \n \n \nintercept(context: ExecutionContext, next: CallHandler)\n \n \n\n\n \n \n Defined in apps/server/src/shared/common/interceptor/duration-logging.interceptor.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n context\n \n ExecutionContext\n \n\n \n No\n \n\n\n \n \n next\n \n CallHandler\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Observable<>\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CallHandler, ExecutionContext, Injectable, NestInterceptor } from '@nestjs/common';\nimport { LegacyLogger } from '@src/core/logger';\nimport { Observable } from 'rxjs';\nimport { tap } from 'rxjs/operators';\n\n/**\n * This interceptor is logging the duration of a REST call.\n */\n@Injectable()\nexport class DurationLoggingInterceptor implements NestInterceptor {\n\tconstructor(private logger: LegacyLogger) {\n\t\tlogger.setContext(DurationLoggingInterceptor.name);\n\t}\n\n\tintercept(context: ExecutionContext, next: CallHandler): Observable {\n\t\tthis.logger.log('Before...');\n\t\tconst now = Date.now();\n\t\treturn next.handle().pipe(tap(() => this.logger.log(`After... ${Date.now() - now}ms`)));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ElementContentBody.html":{"url":"classes/ElementContentBody.html","title":"class - ElementContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ElementContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ContentElementType)@ApiProperty({enum: ContentElementType, description: 'the type of the updated element', enumName: 'ContentElementType'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/ElementController.html":{"url":"controllers/ElementController.html","title":"controller - ElementController","body":"\n \n\n\n\n\n\n\n Controllers\n ElementController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/element.controller.ts\n \n\n \n Prefix\n \n \n elements\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createSubmissionItem\n \n \n \n \n \n \n \n \n \n Async\n deleteElement\n \n \n \n \n \n \n \n \n \n Async\n moveElement\n \n \n \n \n \n \n \n \n \n \n Async\n updateElement\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createSubmissionItem\n \n \n \n \n \n \n \n createSubmissionItem(urlParams: ContentElementUrlParams, bodyParams: CreateSubmissionItemBodyParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Create a new submission item having parent a submission container element.'})@ApiExtraModels(SubmissionItemResponse)@ApiResponse({status: 201, type: SubmissionItemResponse})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@ApiBody({required: true, type: CreateSubmissionItemBodyParams})@Post(':contentElementId/submissions')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/element.controller.ts:129\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n ContentElementUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n CreateSubmissionItemBodyParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteElement\n \n \n \n \n \n \n \n deleteElement(urlParams: ContentElementUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Delete a single content element.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Delete(':contentElementId')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/element.controller.ts:114\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n ContentElementUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n moveElement\n \n \n \n \n \n \n \n moveElement(urlParams: ContentElementUrlParams, bodyParams: MoveContentElementBody, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Move a single content element.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Put(':contentElementId/position')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/element.controller.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n ContentElementUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n MoveContentElementBody\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateElement\n \n \n \n \n \n \n \n updateElement(urlParams: ContentElementUrlParams, bodyParams: UpdateElementContentBodyParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Update a single content element.'})@ApiExtraModels(FileElementContentBody, RichTextElementContentBody, SubmissionContainerElementContentBody, ExternalToolElementContentBody, LinkElementContentBody, DrawingElementContentBody)@ApiResponse({status: 201, schema: undefined})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(201)@Patch(':contentElementId/content')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/element.controller.ts:93\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n ContentElementUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n UpdateElementContentBodyParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport {\n\tBody,\n\tController,\n\tDelete,\n\tForbiddenException,\n\tHttpCode,\n\tNotFoundException,\n\tParam,\n\tPatch,\n\tPost,\n\tPut,\n} from '@nestjs/common';\nimport { ApiBody, ApiExtraModels, ApiOperation, ApiResponse, ApiTags, getSchemaPath } from '@nestjs/swagger';\nimport { ApiValidationError } from '@shared/common';\nimport { CardUc } from '../uc';\nimport { ElementUc } from '../uc/element.uc';\nimport {\n\tAnyContentElementResponse,\n\tContentElementUrlParams,\n\tCreateSubmissionItemBodyParams,\n\tDrawingElementContentBody,\n\tDrawingElementResponse,\n\tExternalToolElementContentBody,\n\tExternalToolElementResponse,\n\tFileElementContentBody,\n\tFileElementResponse,\n\tLinkElementContentBody,\n\tLinkElementResponse,\n\tMoveContentElementBody,\n\tRichTextElementContentBody,\n\tRichTextElementResponse,\n\tSubmissionContainerElementContentBody,\n\tSubmissionContainerElementResponse,\n\tSubmissionItemResponse,\n\tUpdateElementContentBodyParams,\n} from './dto';\nimport { ContentElementResponseFactory, SubmissionItemResponseMapper } from './mapper';\n\n@ApiTags('Board Element')\n@Authenticate('jwt')\n@Controller('elements')\nexport class ElementController {\n\tconstructor(private readonly cardUc: CardUc, private readonly elementUc: ElementUc) {}\n\n\t@ApiOperation({ summary: 'Move a single content element.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Put(':contentElementId/position')\n\tasync moveElement(\n\t\t@Param() urlParams: ContentElementUrlParams,\n\t\t@Body() bodyParams: MoveContentElementBody,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tawait this.cardUc.moveElement(\n\t\t\tcurrentUser.userId,\n\t\t\turlParams.contentElementId,\n\t\t\tbodyParams.toCardId,\n\t\t\tbodyParams.toPosition\n\t\t);\n\t}\n\n\t@ApiOperation({ summary: 'Update a single content element.' })\n\t@ApiExtraModels(\n\t\tFileElementContentBody,\n\t\tRichTextElementContentBody,\n\t\tSubmissionContainerElementContentBody,\n\t\tExternalToolElementContentBody,\n\t\tLinkElementContentBody,\n\t\tDrawingElementContentBody\n\t)\n\t@ApiResponse({\n\t\tstatus: 201,\n\t\tschema: {\n\t\t\toneOf: [\n\t\t\t\t{ $ref: getSchemaPath(ExternalToolElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(FileElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(LinkElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(RichTextElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(DrawingElementResponse) },\n\t\t\t],\n\t\t},\n\t})\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(201)\n\t@Patch(':contentElementId/content')\n\tasync updateElement(\n\t\t@Param() urlParams: ContentElementUrlParams,\n\t\t@Body() bodyParams: UpdateElementContentBodyParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst element = await this.elementUc.updateElementContent(\n\t\t\tcurrentUser.userId,\n\t\t\turlParams.contentElementId,\n\t\t\tbodyParams.data.content\n\t\t);\n\t\tconst response = ContentElementResponseFactory.mapToResponse(element);\n\t\treturn response;\n\t}\n\n\t@ApiOperation({ summary: 'Delete a single content element.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Delete(':contentElementId')\n\tasync deleteElement(\n\t\t@Param() urlParams: ContentElementUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tawait this.elementUc.deleteElement(currentUser.userId, urlParams.contentElementId);\n\t}\n\n\t@ApiOperation({ summary: 'Create a new submission item having parent a submission container element.' })\n\t@ApiExtraModels(SubmissionItemResponse)\n\t@ApiResponse({ status: 201, type: SubmissionItemResponse })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@ApiBody({ required: true, type: CreateSubmissionItemBodyParams })\n\t@Post(':contentElementId/submissions')\n\tasync createSubmissionItem(\n\t\t@Param() urlParams: ContentElementUrlParams,\n\t\t@Body() bodyParams: CreateSubmissionItemBodyParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst submissionItem = await this.elementUc.createSubmissionItem(\n\t\t\tcurrentUser.userId,\n\t\t\turlParams.contentElementId,\n\t\t\tbodyParams.completed\n\t\t);\n\t\tconst mapper = SubmissionItemResponseMapper.getInstance();\n\t\tconst response = mapper.mapSubmissionItemToResponse(submissionItem);\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ElementUc.html":{"url":"injectables/ElementUc.html","title":"injectable - ElementUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ElementUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/uc/element.uc.ts\n \n\n\n\n \n Extends\n \n \n BaseUc\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createSubmissionItem\n \n \n Async\n deleteElement\n \n \n Private\n Async\n getElementWithWritePermission\n \n \n Async\n updateElementContent\n \n \n Protected\n Async\n checkPermission\n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationService: AuthorizationService, boardDoAuthorizableService: BoardDoAuthorizableService, elementService: ContentElementService, submissionItemService: SubmissionItemService, logger: Logger)\n \n \n \n \n Defined in apps/server/src/modules/board/uc/element.uc.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n boardDoAuthorizableService\n \n \n BoardDoAuthorizableService\n \n \n \n No\n \n \n \n \n elementService\n \n \n ContentElementService\n \n \n \n No\n \n \n \n \n submissionItemService\n \n \n SubmissionItemService\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createSubmissionItem\n \n \n \n \n \n \n \n createSubmissionItem(userId: EntityId, contentElementId: EntityId, completed: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/element.uc.ts:63\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contentElementId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n completed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteElement\n \n \n \n \n \n \n \n deleteElement(userId: EntityId, elementId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/element.uc.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n elementId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getElementWithWritePermission\n \n \n \n \n \n \n \n getElementWithWritePermission(userId: EntityId, elementId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/element.uc.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n elementId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateElementContent\n \n \n \n \n \n \n \n updateElementContent(userId: EntityId, elementId: EntityId, content: AnyElementContentBody)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/element.uc.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n elementId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n content\n \n AnyElementContentBody\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n checkPermission\n \n \n \n \n \n \n \n checkPermission(userId: EntityId, anyBoardDo: AnyBoardDo, action: Action, requiredUserRole?: UserRoleEnum)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:13\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n anyBoardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n requiredUserRole\n \n UserRoleEnum\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n \n \n \n \n \n checkSubmissionItemWritePermission(userId: EntityId, submissionItem: SubmissionItem)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:45\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n submissionItem\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n \n \n \n isAuthorizedStudent(userId: EntityId, boardDo: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:29\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Action, AuthorizationService } from '@modules/authorization';\nimport { ForbiddenException, forwardRef, Inject, Injectable, UnprocessableEntityException } from '@nestjs/common';\nimport {\n\tAnyBoardDo,\n\tAnyContentElementDo,\n\tisSubmissionContainerElement,\n\tisSubmissionItem,\n\tSubmissionItem,\n\tUserRoleEnum,\n} from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { Logger } from '@src/core/logger';\nimport { AnyElementContentBody } from '../controller/dto';\nimport { BoardDoAuthorizableService, ContentElementService } from '../service';\nimport { SubmissionItemService } from '../service/submission-item.service';\nimport { BaseUc } from './base.uc';\n\n@Injectable()\nexport class ElementUc extends BaseUc {\n\tconstructor(\n\t\t@Inject(forwardRef(() => AuthorizationService))\n\t\tprotected readonly authorizationService: AuthorizationService,\n\t\tprotected readonly boardDoAuthorizableService: BoardDoAuthorizableService,\n\t\tprivate readonly elementService: ContentElementService,\n\t\tprivate readonly submissionItemService: SubmissionItemService,\n\t\tprivate readonly logger: Logger\n\t) {\n\t\tsuper(authorizationService, boardDoAuthorizableService);\n\t\tthis.logger.setContext(ElementUc.name);\n\t}\n\n\tasync updateElementContent(\n\t\tuserId: EntityId,\n\t\telementId: EntityId,\n\t\tcontent: AnyElementContentBody\n\t): Promise {\n\t\tconst element = await this.getElementWithWritePermission(userId, elementId);\n\n\t\tawait this.elementService.update(element, content);\n\t\treturn element;\n\t}\n\n\tasync deleteElement(userId: EntityId, elementId: EntityId): Promise {\n\t\tconst element = await this.getElementWithWritePermission(userId, elementId);\n\n\t\tawait this.elementService.delete(element);\n\t}\n\n\tprivate async getElementWithWritePermission(userId: EntityId, elementId: EntityId): Promise {\n\t\tconst element = await this.elementService.findById(elementId);\n\n\t\tconst parent: AnyBoardDo = await this.elementService.findParentOfId(elementId);\n\n\t\tif (isSubmissionItem(parent)) {\n\t\t\tawait this.checkSubmissionItemWritePermission(userId, parent);\n\t\t} else {\n\t\t\tawait this.checkPermission(userId, element, Action.write);\n\t\t}\n\n\t\treturn element;\n\t}\n\n\tasync createSubmissionItem(\n\t\tuserId: EntityId,\n\t\tcontentElementId: EntityId,\n\t\tcompleted: boolean\n\t): Promise {\n\t\tconst submissionContainerElement = await this.elementService.findById(contentElementId);\n\n\t\tif (!isSubmissionContainerElement(submissionContainerElement)) {\n\t\t\tthrow new UnprocessableEntityException('Cannot create submission-item for non submission-container-element');\n\t\t}\n\n\t\tif (!submissionContainerElement.children.every((child) => isSubmissionItem(child))) {\n\t\t\tthrow new UnprocessableEntityException(\n\t\t\t\t'Children of submission-container-element must be of type submission-item'\n\t\t\t);\n\t\t}\n\n\t\tconst userSubmissionExists = submissionContainerElement.children\n\t\t\t.filter(isSubmissionItem)\n\t\t\t.find((item) => item.userId === userId);\n\t\tif (userSubmissionExists) {\n\t\t\tthrow new ForbiddenException(\n\t\t\t\t'User is not allowed to have multiple submission-items per submission-container-element'\n\t\t\t);\n\t\t}\n\n\t\tawait this.checkPermission(userId, submissionContainerElement, Action.read, UserRoleEnum.STUDENT);\n\n\t\tconst submissionItem = await this.submissionItemService.create(userId, submissionContainerElement, { completed });\n\n\t\treturn submissionItem;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/EncryptionModule.html":{"url":"modules/EncryptionModule.html","title":"module - EncryptionModule","body":"\n \n\n\n\n\n Modules\n EncryptionModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_EncryptionModule\n\n\n\ncluster_EncryptionModule_imports\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nEncryptionModule\n\nEncryptionModule\n\nEncryptionModule -->\n\nLoggerModule->EncryptionModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/encryption/encryption.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n LoggerModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { LegacyLogger, LoggerModule } from '@src/core/logger';\nimport { DefaultEncryptionService, LdapEncryptionService } from './encryption.interface';\nimport { SymetricKeyEncryptionService } from './encryption.service';\n\nfunction encryptionProviderFactory(configService: ConfigService, logger: LegacyLogger, aesKey: string) {\n\tconst key = configService.get(aesKey);\n\treturn new SymetricKeyEncryptionService(logger, key);\n}\n\n@Module({\n\timports: [LoggerModule],\n\tproviders: [\n\t\t{\n\t\t\tprovide: DefaultEncryptionService,\n\t\t\tuseFactory: (configService: ConfigService, logger: LegacyLogger) =>\n\t\t\t\tencryptionProviderFactory(configService, logger, 'AES_KEY'),\n\t\t\tinject: [ConfigService, LegacyLogger],\n\t\t},\n\t\t{\n\t\t\tprovide: LdapEncryptionService,\n\t\t\tuseFactory: (configService: ConfigService, logger: LegacyLogger) =>\n\t\t\t\tencryptionProviderFactory(configService, logger, 'LDAP_PASSWORD_ENCRYPTION_KEY'),\n\t\t\tinject: [ConfigService, LegacyLogger],\n\t\t},\n\t],\n\texports: [DefaultEncryptionService, LdapEncryptionService],\n})\nexport class EncryptionModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/EncryptionService.html":{"url":"interfaces/EncryptionService.html","title":"interface - EncryptionService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n EncryptionService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/encryption/encryption.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n decrypt\n \n \n \n \n encrypt\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n decrypt\n \n \n \n \n \n \ndecrypt(data: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/encryption/encryption.interface.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n encrypt\n \n \n \n \n \n \nencrypt(data: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/encryption/encryption.interface.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n export const DefaultEncryptionService = Symbol('DefaultEncryptionService');\nexport const LdapEncryptionService = Symbol('LdapEncryptionService');\n\nexport interface EncryptionService {\n\tencrypt(data: string): string;\n\tdecrypt(data: string): string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/EntityNotFoundError.html":{"url":"classes/EntityNotFoundError.html","title":"class - EntityNotFoundError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n EntityNotFoundError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/error/entity-not-found.error.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(entityName: string, details?: Record)\n \n \n \n \n Defined in apps/server/src/shared/common/error/entity-not-found.error.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityName\n \n \n string\n \n \n \n No\n \n \n \n \n details\n \n \n Record\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { BusinessError } from './business.error';\n\nexport class EntityNotFoundError extends BusinessError {\n\tconstructor(readonly entityName: string, details?: Record) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'ENTITY_NOT_FOUND',\n\t\t\t\ttitle: 'Entity Not Found',\n\t\t\t\tdefaultMessage: `${entityName} entity not found.`,\n\t\t\t},\n\t\t\tHttpStatus.NOT_FOUND,\n\t\t\tdetails\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/EntityWithSchool.html":{"url":"interfaces/EntityWithSchool.html","title":"interface - EntityWithSchool","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n EntityWithSchool\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/interface/entity.ts\n \n\n\n\n \n Extends\n \n \n IEntity\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n school\n \n \n \n \n \n \n \n \n school: SchoolEntity\n\n \n \n\n\n \n \n Type : SchoolEntity\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { SchoolEntity } from '@shared/domain/entity/school.entity';\n\nexport interface IEntity {\n\t_id: ObjectId;\n\tid: string;\n}\n\nexport interface IEntityWithTimestamps extends IEntity {\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\nexport interface EntityWithSchool extends IEntity {\n\tschool: SchoolEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ErrorLoggable.html":{"url":"classes/ErrorLoggable.html","title":"class - ErrorLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ErrorLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/error/loggable/error.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n classValidatorMetadataStorage\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n createLogMessageForValidationErrors\n \n \n getLogMessage\n \n \n Private\n getPropertyValue\n \n \n Private\n isPropertyPrivacyProtected\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(error: Error)\n \n \n \n \n Defined in apps/server/src/core/error/loggable/error.loggable.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n \n Error\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n classValidatorMetadataStorage\n \n \n \n \n \n \n Default value : getMetadataStorage()\n \n \n \n \n Defined in apps/server/src/core/error/loggable/error.loggable.ts:11\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n createLogMessageForValidationErrors\n \n \n \n \n \n \n \n createLogMessageForValidationErrors(error: ApiValidationError)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/loggable/error.loggable.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n ApiValidationError\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : { validationErrors: any; type: string; }\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/core/error/loggable/error.loggable.ts:13\n \n \n\n\n \n \n\n \n Returns : ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n getPropertyValue\n \n \n \n \n \n \n \n getPropertyValue(e: ValidationError)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/loggable/error.loggable.ts:47\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n e\n \n ValidationError\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isPropertyPrivacyProtected\n \n \n \n \n \n \n \n isPropertyPrivacyProtected(target: Record, property: string)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/loggable/error.loggable.ts:56\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n target\n \n Record\n \n\n \n No\n \n\n\n \n \n property\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ApiValidationError } from '@shared/common';\nimport { getMetadataStorage } from 'class-validator';\nimport { ValidationError } from '@nestjs/common';\nimport { Loggable } from '../../logger/interfaces';\nimport { ErrorLogMessage, ValidationErrorLogMessage } from '../../logger/types';\nimport { ErrorUtils } from '../utils/error.utils';\n\nexport class ErrorLoggable implements Loggable {\n\tconstructor(private readonly error: Error) {}\n\n\tprivate readonly classValidatorMetadataStorage = getMetadataStorage();\n\n\tgetLogMessage(): ErrorLogMessage | ValidationErrorLogMessage {\n\t\tlet logMessage: ErrorLogMessage | ValidationErrorLogMessage = {\n\t\t\terror: this.error,\n\t\t\ttype: '',\n\t\t};\n\n\t\tif (this.error instanceof ApiValidationError) {\n\t\t\tlogMessage = this.createLogMessageForValidationErrors(this.error);\n\t\t} else if (ErrorUtils.isFeathersError(this.error)) {\n\t\t\tlogMessage.type = 'Feathers Error';\n\t\t} else if (ErrorUtils.isBusinessError(this.error)) {\n\t\t\tlogMessage.type = 'Business Error';\n\t\t} else if (ErrorUtils.isNestHttpException(this.error)) {\n\t\t\tlogMessage.type = 'Technical Error';\n\t\t} else {\n\t\t\tlogMessage.type = 'Unhandled or Unknown Error';\n\t\t}\n\n\t\treturn logMessage;\n\t}\n\n\tprivate createLogMessageForValidationErrors(error: ApiValidationError) {\n\t\tconst errorMessages = error.validationErrors.map((e) => {\n\t\t\tconst value = this.getPropertyValue(e);\n\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\tconst message = `Wrong property value for '${e.property}' got '${value}' : ${JSON.stringify(e.constraints)}`;\n\t\t\treturn message;\n\t\t});\n\t\treturn {\n\t\t\tvalidationErrors: errorMessages,\n\t\t\ttype: 'API Validation Error',\n\t\t};\n\t}\n\n\tprivate getPropertyValue(e: ValidationError): unknown {\n\t\t// we can only log a value if we can decide if it is privacy protected\n\t\t// that has to be done using the target metadata of class-validator (see @PrivacyProtect decorator)\n\t\tif (e.target && !this.isPropertyPrivacyProtected(e.target, e.property)) {\n\t\t\treturn e.value;\n\t\t}\n\t\treturn '######';\n\t}\n\n\tprivate isPropertyPrivacyProtected(target: Record, property: string): boolean {\n\t\tconst metadatas = this.classValidatorMetadataStorage.getTargetValidationMetadatas(\n\t\t\ttarget.constructor,\n\t\t\t'',\n\t\t\ttrue,\n\t\t\ttrue\n\t\t);\n\n\t\tconst privacyProtected = metadatas.some(\n\t\t\t(validationMetadata) =>\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\t\tvalidationMetadata.propertyName === property && validationMetadata.context?.privacyProtected\n\t\t);\n\n\t\treturn privacyProtected;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ErrorLogger.html":{"url":"injectables/ErrorLogger.html","title":"injectable - ErrorLogger","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ErrorLogger\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/logger/error-logger.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n alert\n \n \n crit\n \n \n emerg\n \n \n error\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: WinstonLogger)\n \n \n \n \n Defined in apps/server/src/core/logger/error-logger.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n WinstonLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n alert\n \n \n \n \n \n \nalert(loggable: Loggable)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/error-logger.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loggable\n \n Loggable\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n crit\n \n \n \n \n \n \ncrit(loggable: Loggable)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/error-logger.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loggable\n \n Loggable\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n emerg\n \n \n \n \n \n \nemerg(loggable: Loggable)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/error-logger.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loggable\n \n Loggable\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n error\n \n \n \n \n \n \nerror(loggable: Loggable)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/error-logger.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loggable\n \n Loggable\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Inject, Injectable } from '@nestjs/common';\nimport { WINSTON_MODULE_PROVIDER } from 'nest-winston';\nimport { Logger as WinstonLogger } from 'winston';\nimport { Loggable } from './interfaces';\nimport { LoggingUtils } from './logging.utils';\n\n// ErrorLogger may only be used in the ErrorModule. Do not use it in other modules!\n@Injectable()\nexport class ErrorLogger {\n\tconstructor(@Inject(WINSTON_MODULE_PROVIDER) private readonly logger: WinstonLogger) {}\n\n\temerg(loggable: Loggable): void {\n\t\tconst message = LoggingUtils.createMessageWithContext(loggable);\n\t\tthis.logger.emerg(message);\n\t}\n\n\talert(loggable: Loggable): void {\n\t\tconst message = LoggingUtils.createMessageWithContext(loggable);\n\t\tthis.logger.alert(message);\n\t}\n\n\tcrit(loggable: Loggable): void {\n\t\tconst message = LoggingUtils.createMessageWithContext(loggable);\n\t\tthis.logger.crit(message);\n\t}\n\n\terror(loggable: Loggable): void {\n\t\tconst message = LoggingUtils.createMessageWithContext(loggable);\n\t\tthis.logger.error(message);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ErrorMapper.html":{"url":"classes/ErrorMapper.html","title":"class - ErrorMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ErrorMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/rabbitmq/error.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapRpcErrorResponseToDomainError\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapRpcErrorResponseToDomainError\n \n \n \n \n \n \n \n mapRpcErrorResponseToDomainError(errorObj: IError)\n \n \n\n\n \n \n Defined in apps/server/src/infra/rabbitmq/error.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n errorObj\n \n IError\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BadRequestException | ForbiddenException | InternalServerErrorException\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { IError } from '@infra/rabbitmq';\nimport { BadRequestException, ForbiddenException, InternalServerErrorException } from '@nestjs/common';\nimport { ErrorUtils } from '@src/core/error/utils';\n\nexport class ErrorMapper {\n\tstatic mapRpcErrorResponseToDomainError(\n\t\terrorObj: IError\n\t): BadRequestException | ForbiddenException | InternalServerErrorException {\n\t\tlet error: BadRequestException | ForbiddenException | InternalServerErrorException;\n\t\tif (errorObj.status === 400) {\n\t\t\terror = new BadRequestException(errorObj.message);\n\t\t} else if (errorObj.status === 403) {\n\t\t\terror = new ForbiddenException(errorObj.message);\n\t\t} else if (errorObj.status === 500) {\n\t\t\terror = new InternalServerErrorException(errorObj.message);\n\t\t} else {\n\t\t\terror = new InternalServerErrorException(null, ErrorUtils.createHttpExceptionOptions(errorObj));\n\t\t}\n\n\t\treturn error;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ErrorModule.html":{"url":"modules/ErrorModule.html","title":"module - ErrorModule","body":"\n \n\n\n\n\n Modules\n ErrorModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ErrorModule\n\n\n\ncluster_ErrorModule_imports\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nErrorModule\n\nErrorModule\n\nErrorModule -->\n\nLoggerModule->ErrorModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/core/error/error.module.ts\n \n\n\n\n \n Description\n \n \n Overrides the default global Exception Filter of NestJS provided by @APP_FILTER\n\n \n\n\n \n \n \n Imports\n \n \n LoggerModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { APP_FILTER } from '@nestjs/core';\nimport { LoggerModule } from '../logger';\nimport { GlobalErrorFilter } from './filter/global-error.filter';\n\n/**\n * Overrides the default global Exception Filter of NestJS provided by @APP_FILTER\n */\n@Module({\n\timports: [LoggerModule],\n\tproviders: [\n\t\t{\n\t\t\tprovide: APP_FILTER,\n\t\t\tuseClass: GlobalErrorFilter,\n\t\t},\n\t],\n})\nexport class ErrorModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ErrorResponse.html":{"url":"classes/ErrorResponse.html","title":"class - ErrorResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ErrorResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/error/dto/error.response.ts\n \n\n\n \n Description\n \n \n HTTP response definition for errors.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n code\n \n \n Readonly\n Optional\n details\n \n \n Readonly\n message\n \n \n Readonly\n title\n \n \n Readonly\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(type: string, title: string, message: string, code: number, details?: Record)\n \n \n \n \n Defined in apps/server/src/core/error/dto/error.response.ts:30\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n \n string\n \n \n \n No\n \n \n \n \n title\n \n \n string\n \n \n \n No\n \n \n \n \n message\n \n \n string\n \n \n \n No\n \n \n \n \n code\n \n \n number\n \n \n \n No\n \n \n \n \n details\n \n \n Record\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/core/error/dto/error.response.ts:25\n \n \n\n \n \n Must match HTTP error code\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Defined in apps/server/src/core/error/dto/error.response.ts:30\n \n \n\n \n \n Additional custom details about the error\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/core/error/dto/error.response.ts:20\n \n \n\n \n \n Additional custom information about the error\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/core/error/dto/error.response.ts:15\n \n \n\n \n \n Description about the type, unique by type, format: Sentence case\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/core/error/dto/error.response.ts:10\n \n \n\n \n \n Unambiguous error identifier, format: UPPERCASE_SNAKE_CASE\n\n \n \n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\n\n/**\n * HTTP response definition for errors.\n */\nexport class ErrorResponse {\n\t/**\n\t * Unambiguous error identifier, format: UPPERCASE_SNAKE_CASE\n\t */\n\treadonly type: string;\n\n\t/**\n\t * Description about the type, unique by type, format: Sentence case\n\t */\n\treadonly title: string;\n\n\t/**\n\t * Additional custom information about the error\n\t */\n\treadonly message: string;\n\n\t/**\n\t * Must match HTTP error code\n\t */\n\treadonly code: number;\n\n\t/**\n\t * Additional custom details about the error\n\t */\n\treadonly details?: Record;\n\n\tconstructor(\n\t\ttype: string,\n\t\ttitle: string,\n\t\tmessage: string,\n\t\tcode: number = HttpStatus.CONFLICT,\n\t\tdetails?: Record\n\t) {\n\t\tthis.type = type;\n\t\tthis.title = title;\n\t\tthis.message = message;\n\t\tthis.code = code;\n\t\tthis.details = details;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ErrorType.html":{"url":"interfaces/ErrorType.html","title":"interface - ErrorType","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ErrorType\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/error/interface/error-type.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n defaultMessage\n \n \n \n \n title\n \n \n \n \n type\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n defaultMessage\n \n \n \n \n \n \n \n \n defaultMessage: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface ErrorType {\n\treadonly type: string;\n\treadonly title: string;\n\treadonly defaultMessage: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ErrorUtils.html":{"url":"classes/ErrorUtils.html","title":"class - ErrorUtils","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ErrorUtils\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/error/utils/error.utils.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n createHttpExceptionOptions\n \n \n Static\n isBusinessError\n \n \n Static\n isFeathersError\n \n \n Static\n isNestHttpException\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n createHttpExceptionOptions\n \n \n \n \n \n \n \n createHttpExceptionOptions(error, description?: string)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/utils/error.utils.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n \n\n \n No\n \n\n\n \n \n description\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : HttpExceptionOptions\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n isBusinessError\n \n \n \n \n \n \n \n isBusinessError(error)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/utils/error.utils.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n error\n\n \n No\n \n\n\n \n \n \n \n \n Returns : BusinessError\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n isFeathersError\n \n \n \n \n \n \n \n isFeathersError(error)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/utils/error.utils.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n error\n\n \n No\n \n\n\n \n \n \n \n \n Returns : FeathersError\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n isNestHttpException\n \n \n \n \n \n \n \n isNestHttpException(error)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/utils/error.utils.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n error\n\n \n No\n \n\n\n \n \n \n \n \n Returns : HttpException\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpException, HttpExceptionOptions } from '@nestjs/common';\nimport { BusinessError } from '@shared/common';\nimport { FeathersError } from '../interface';\n\nexport class ErrorUtils {\n\tstatic isFeathersError(error: unknown): error is FeathersError {\n\t\tlet isFeathersError = false;\n\n\t\tif (error instanceof Error && 'type' in error) {\n\t\t\tisFeathersError = (error as FeathersError)?.type === 'FeathersError';\n\t\t}\n\n\t\treturn isFeathersError;\n\t}\n\n\tstatic isBusinessError(error: unknown): error is BusinessError {\n\t\treturn error instanceof BusinessError;\n\t}\n\n\tstatic isNestHttpException(error: unknown): error is HttpException {\n\t\treturn error instanceof HttpException;\n\t}\n\n\tstatic createHttpExceptionOptions(error: unknown, description?: string): HttpExceptionOptions {\n\t\tlet causeError: Error | undefined;\n\n\t\tif (error instanceof Error) {\n\t\t\tcauseError = error;\n\t\t} else {\n\t\t\tcauseError = error ? new Error(JSON.stringify(error)) : undefined;\n\t\t}\n\n\t\treturn { cause: causeError, description };\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/EtherpadService.html":{"url":"injectables/EtherpadService.html","title":"injectable - EtherpadService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n EtherpadService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/lesson/service/etherpad.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createEtherpad\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(feathersServiceProvider: FeathersServiceProvider, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/lesson/service/etherpad.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n feathersServiceProvider\n \n \n FeathersServiceProvider\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createEtherpad\n \n \n \n \n \n \n \n createEtherpad(userId: EntityId, courseId: string, title: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/service/etherpad.service.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n courseId\n \n string\n \n\n \n No\n \n\n\n \n \n title\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { FeathersServiceProvider } from '@infra/feathers';\nimport { LegacyLogger } from '@src/core/logger';\n\nexport type PadResponse = { data: { padID: string } };\n\n@Injectable()\nexport class EtherpadService {\n\tconstructor(private readonly feathersServiceProvider: FeathersServiceProvider, private logger: LegacyLogger) {}\n\n\tasync createEtherpad(userId: EntityId, courseId: string, title: string): Promise {\n\t\tconst data = {\n\t\t\tcourseId,\n\t\t\tpadName: title,\n\t\t};\n\t\ttry {\n\t\t\tconst service = this.feathersServiceProvider.getService('/etherpad/pads');\n\t\t\tconst pad = (await service.create(data, { account: { userId } })) as PadResponse;\n\t\t\treturn pad.data.padID;\n\t\t} catch (error) {\n\t\t\tthis.logger.error('Could not create new Etherpad', error);\n\t\t\treturn false;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalGroupDto.html":{"url":"classes/ExternalGroupDto.html","title":"class - ExternalGroupDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalGroupDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/dto/external-group.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n externalId\n \n \n Optional\n from\n \n \n name\n \n \n Optional\n otherUsers\n \n \n type\n \n \n Optional\n until\n \n \n user\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalGroupDto)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-group.dto.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalGroupDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-group.dto.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n from\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-group.dto.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-group.dto.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n otherUsers\n \n \n \n \n \n \n Type : ExternalGroupUserDto[]\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-group.dto.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : GroupTypes\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-group.dto.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n until\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-group.dto.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n user\n \n \n \n \n \n \n Type : ExternalGroupUserDto\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-group.dto.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { GroupTypes } from '@modules/group';\nimport { ExternalGroupUserDto } from './external-group-user.dto';\n\nexport class ExternalGroupDto {\n\texternalId: string;\n\n\tname: string;\n\n\tuser: ExternalGroupUserDto;\n\n\totherUsers?: ExternalGroupUserDto[];\n\n\tfrom?: Date;\n\n\tuntil?: Date;\n\n\ttype: GroupTypes;\n\n\tconstructor(props: ExternalGroupDto) {\n\t\tthis.externalId = props.externalId;\n\t\tthis.name = props.name;\n\t\tthis.user = props.user;\n\t\tthis.otherUsers = props.otherUsers;\n\t\tthis.from = props.from;\n\t\tthis.until = props.until;\n\t\tthis.type = props.type;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalGroupUserDto.html":{"url":"classes/ExternalGroupUserDto.html","title":"class - ExternalGroupUserDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalGroupUserDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/dto/external-group-user.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n externalUserId\n \n \n roleName\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalGroupUserDto)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-group-user.dto.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalGroupUserDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n externalUserId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-group-user.dto.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n roleName\n \n \n \n \n \n \n Type : RoleName\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-group-user.dto.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { RoleName } from '@shared/domain/interface';\n\nexport class ExternalGroupUserDto {\n\texternalUserId: string;\n\n\troleName: RoleName;\n\n\tconstructor(props: ExternalGroupUserDto) {\n\t\tthis.externalUserId = props.externalUserId;\n\t\tthis.roleName = props.roleName;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalSchoolDto.html":{"url":"classes/ExternalSchoolDto.html","title":"class - ExternalSchoolDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalSchoolDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/dto/external-school.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n externalId\n \n \n Optional\n location\n \n \n name\n \n \n Optional\n officialSchoolNumber\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalSchoolDto)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-school.dto.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalSchoolDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-school.dto.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n location\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-school.dto.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-school.dto.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n officialSchoolNumber\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-school.dto.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class ExternalSchoolDto {\n\texternalId: string;\n\n\tname: string;\n\n\tofficialSchoolNumber?: string;\n\n\tlocation?: string;\n\n\tconstructor(props: ExternalSchoolDto) {\n\t\tthis.externalId = props.externalId;\n\t\tthis.name = props.name;\n\t\tthis.officialSchoolNumber = props.officialSchoolNumber;\n\t\tthis.location = props.location;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalSchoolNumberMissingLoggableException.html":{"url":"classes/ExternalSchoolNumberMissingLoggableException.html","title":"class - ExternalSchoolNumberMissingLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalSchoolNumberMissingLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/external-school-number-missing.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n UnprocessableEntityException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalSchoolId: string)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/external-school-number-missing.loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalSchoolId\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/external-school-number-missing.loggable-exception.ts:9\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UnprocessableEntityException } from '@nestjs/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class ExternalSchoolNumberMissingLoggableException extends UnprocessableEntityException implements Loggable {\n\tconstructor(private readonly externalSchoolId: string) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'EXTERNAL_SCHOOL_NUMBER_MISSING',\n\t\t\tmessage: 'The external system did not provide a official school number for the school.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\texternalSchoolId: this.externalSchoolId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalSource.html":{"url":"classes/ExternalSource.html","title":"class - ExternalSource","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalSource\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/external-source.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n externalId\n \n \n systemId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalSource)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/external-source.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalSource\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/external-source.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n systemId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/external-source.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class ExternalSource {\n\texternalId: string;\n\n\tsystemId: string;\n\n\tconstructor(props: ExternalSource) {\n\t\tthis.externalId = props.externalId;\n\t\tthis.systemId = props.systemId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalSourceEntity.html":{"url":"classes/ExternalSourceEntity.html","title":"class - ExternalSourceEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalSourceEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/external-source.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n externalId\n \n \n \n system\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalSourceEntityProps)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/external-source.entity.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalSourceEntityProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/external-source.entity.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n system\n \n \n \n \n \n \n Type : SystemEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined)\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/external-source.entity.ts:16\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, ManyToOne, Property } from '@mikro-orm/core';\nimport { SystemEntity } from './system.entity';\n\nexport interface ExternalSourceEntityProps {\n\texternalId: string;\n\n\tsystem: SystemEntity;\n}\n\n@Embeddable()\nexport class ExternalSourceEntity {\n\t@Property()\n\texternalId: string;\n\n\t@ManyToOne(() => SystemEntity)\n\tsystem: SystemEntity;\n\n\tconstructor(props: ExternalSourceEntityProps) {\n\t\tthis.externalId = props.externalId;\n\t\tthis.system = props.system;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ExternalSourceEntityProps.html":{"url":"interfaces/ExternalSourceEntityProps.html","title":"interface - ExternalSourceEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ExternalSourceEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/external-source.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n externalId\n \n \n \n \n system\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n externalId\n \n \n \n \n \n \n \n \n externalId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n system\n \n \n \n \n \n \n \n \n system: SystemEntity\n\n \n \n\n\n \n \n Type : SystemEntity\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Embeddable, ManyToOne, Property } from '@mikro-orm/core';\nimport { SystemEntity } from './system.entity';\n\nexport interface ExternalSourceEntityProps {\n\texternalId: string;\n\n\tsystem: SystemEntity;\n}\n\n@Embeddable()\nexport class ExternalSourceEntity {\n\t@Property()\n\texternalId: string;\n\n\t@ManyToOne(() => SystemEntity)\n\tsystem: SystemEntity;\n\n\tconstructor(props: ExternalSourceEntityProps) {\n\t\tthis.externalId = props.externalId;\n\t\tthis.system = props.system;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalSourceResponse.html":{"url":"classes/ExternalSourceResponse.html","title":"class - ExternalSourceResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalSourceResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/controller/dto/response/external-source.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n externalId\n \n \n \n systemId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalSourceResponse)\n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/external-source.response.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalSourceResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/external-source.response.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n \n systemId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/external-source.response.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class ExternalSourceResponse {\n\t@ApiProperty()\n\texternalId: string;\n\n\t@ApiProperty()\n\tsystemId: string;\n\n\tconstructor(props: ExternalSourceResponse) {\n\t\tthis.externalId = props.externalId;\n\t\tthis.systemId = props.systemId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalTool.html":{"url":"classes/ExternalTool.html","title":"class - ExternalTool","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalTool\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts\n \n\n\n\n \n Extends\n \n \n BaseDO\n \n\n \n Implements\n \n \n ToolVersion\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n config\n \n \n isHidden\n \n \n Optional\n logo\n \n \n Optional\n logoUrl\n \n \n name\n \n \n openNewTab\n \n \n Optional\n parameters\n \n \n Optional\n restrictToContexts\n \n \n Optional\n url\n \n \n version\n \n \n Optional\n id\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getVersion\n \n \n Static\n isLti11Config\n \n \n Static\n isOauth2Config\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalToolProps)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:50\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalToolProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n config\n \n \n \n \n \n \n Type : BasicToolConfig | Lti11ToolConfig | Oauth2ToolConfig\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:40\n \n \n\n\n \n \n \n \n \n \n \n \n isHidden\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n logo\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:38\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n openNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n parameters\n \n \n \n \n \n \n Type : CustomParameter[]\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n restrictToContexts\n \n \n \n \n \n \n Type : ToolContextType[]\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:50\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n version\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:48\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from BaseDO\n\n \n \n \n \n Defined in BaseDO:5\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getVersion\n \n \n \n \n \n \ngetVersion()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:67\n \n \n\n\n \n \n\n \n Returns : number\n\n \n \n \n \n \n \n \n \n \n \n \n Static\n isLti11Config\n \n \n \n \n \n \n \n isLti11Config(config: ExternalToolConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:75\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n ExternalToolConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Lti11ToolConfig\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n isOauth2Config\n \n \n \n \n \n \n \n isOauth2Config(config: ExternalToolConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:71\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n ExternalToolConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Oauth2ToolConfig\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BaseDO } from '@shared/domain/domainobject/base.do';\nimport { ToolVersion } from '../../common/interface';\nimport { Oauth2ToolConfig, BasicToolConfig, Lti11ToolConfig, ExternalToolConfig } from './config';\nimport { CustomParameter } from '../../common/domain';\nimport { ToolConfigType, ToolContextType } from '../../common/enum';\n\nexport interface ExternalToolProps {\n\tid?: string;\n\n\tname: string;\n\n\turl?: string;\n\n\tlogoUrl?: string;\n\n\tlogo?: string;\n\n\tconfig: BasicToolConfig | Lti11ToolConfig | Oauth2ToolConfig;\n\n\tparameters?: CustomParameter[];\n\n\tisHidden: boolean;\n\n\topenNewTab: boolean;\n\n\tversion: number;\n\n\trestrictToContexts?: ToolContextType[];\n}\n\nexport class ExternalTool extends BaseDO implements ToolVersion {\n\tname: string;\n\n\turl?: string;\n\n\tlogoUrl?: string;\n\n\tlogo?: string;\n\n\tconfig: BasicToolConfig | Lti11ToolConfig | Oauth2ToolConfig;\n\n\tparameters?: CustomParameter[];\n\n\tisHidden: boolean;\n\n\topenNewTab: boolean;\n\n\tversion: number;\n\n\trestrictToContexts?: ToolContextType[];\n\n\tconstructor(props: ExternalToolProps) {\n\t\tsuper(props.id);\n\n\t\tthis.name = props.name;\n\t\tthis.url = props.url;\n\t\tthis.logoUrl = props.logoUrl;\n\t\tthis.logo = props.logo;\n\t\tthis.config = props.config;\n\t\tthis.parameters = props.parameters;\n\t\tthis.isHidden = props.isHidden;\n\t\tthis.openNewTab = props.openNewTab;\n\t\tthis.version = props.version;\n\t\tthis.restrictToContexts = props.restrictToContexts;\n\t}\n\n\tgetVersion(): number {\n\t\treturn this.version;\n\t}\n\n\tstatic isOauth2Config(config: ExternalToolConfig): config is Oauth2ToolConfig {\n\t\treturn ToolConfigType.OAUTH2 === config.type;\n\t}\n\n\tstatic isLti11Config(config: ExternalToolConfig): config is Lti11ToolConfig {\n\t\treturn ToolConfigType.LTI11 === config.type;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolConfig.html":{"url":"classes/ExternalToolConfig.html","title":"class - ExternalToolConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/domain/config/external-tool-config.do.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n baseUrl\n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalToolConfig)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/external-tool-config.do.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalToolConfig\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/external-tool-config.do.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/external-tool-config.do.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ToolConfigType } from '../../../common/enum';\n\nexport abstract class ExternalToolConfig {\n\ttype: ToolConfigType;\n\n\tbaseUrl: string;\n\n\tconstructor(props: ExternalToolConfig) {\n\t\tthis.type = props.type;\n\t\tthis.baseUrl = props.baseUrl;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolConfigCreateParams.html":{"url":"classes/ExternalToolConfigCreateParams.html","title":"class - ExternalToolConfigCreateParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolConfigCreateParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/config/external-tool-config.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Abstract\n baseUrl\n \n \n Abstract\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Abstract\n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/external-tool-config.params.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n Abstract\n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/external-tool-config.params.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ToolConfigType } from '../../../../../common/enum';\n\nexport abstract class ExternalToolConfigCreateParams {\n\tabstract type: ToolConfigType;\n\n\tabstract baseUrl: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolConfigEntity.html":{"url":"classes/ExternalToolConfigEntity.html","title":"class - ExternalToolConfigEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolConfigEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/entity/config/external-tool-config.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n baseUrl\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalToolConfigEntity)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/external-tool-config.entity.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalToolConfigEntity\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/external-tool-config.entity.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/external-tool-config.entity.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Enum, Property } from '@mikro-orm/core';\nimport { ToolConfigType } from '../../../common/enum';\n\n@Embeddable({ abstract: true, discriminatorColumn: 'type' })\nexport abstract class ExternalToolConfigEntity {\n\t@Enum()\n\ttype: ToolConfigType;\n\n\t@Property()\n\tbaseUrl: string;\n\n\tconstructor(props: ExternalToolConfigEntity) {\n\t\tthis.type = props.type;\n\t\tthis.baseUrl = props.baseUrl;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolConfigResponse.html":{"url":"classes/ExternalToolConfigResponse.html","title":"class - ExternalToolConfigResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolConfigResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/config/external-tool-config.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Abstract\n baseUrl\n \n \n Abstract\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Abstract\n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/external-tool-config.response.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n Abstract\n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/external-tool-config.response.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ToolConfigType } from '../../../../../common/enum';\n\nexport abstract class ExternalToolConfigResponse {\n\tabstract type: ToolConfigType;\n\n\tabstract baseUrl: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolConfigurationService.html":{"url":"injectables/ExternalToolConfigurationService.html","title":"injectable - ExternalToolConfigurationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolConfigurationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/service/external-tool-configuration.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n filterForAvailableExternalTools\n \n \n Public\n filterForAvailableSchoolExternalTools\n \n \n Public\n filterForAvailableTools\n \n \n Public\n filterForContextRestrictions\n \n \n Public\n filterParametersForScope\n \n \n Public\n getToolContextTypes\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(toolFeatures: IToolFeatures, commonToolService: CommonToolService)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-configuration.service.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolFeatures\n \n \n IToolFeatures\n \n \n \n No\n \n \n \n \n commonToolService\n \n \n CommonToolService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n filterForAvailableExternalTools\n \n \n \n \n \n \n \n filterForAvailableExternalTools(externalTools: ExternalTool[], availableSchoolExternalTools: SchoolExternalTool[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-configuration.service.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTools\n \n ExternalTool[]\n \n\n \n No\n \n\n\n \n \n availableSchoolExternalTools\n \n SchoolExternalTool[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolTemplateInfo[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n filterForAvailableSchoolExternalTools\n \n \n \n \n \n \n \n filterForAvailableSchoolExternalTools(schoolExternalTools: SchoolExternalTool[], contextExternalToolsInUse: ContextExternalTool[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-configuration.service.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalTools\n \n SchoolExternalTool[]\n \n\n \n No\n \n\n\n \n \n contextExternalToolsInUse\n \n ContextExternalTool[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolExternalTool[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n filterForAvailableTools\n \n \n \n \n \n \n \n filterForAvailableTools(externalTools: Page, toolIdsInUse: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-configuration.service.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTools\n \n Page\n \n\n \n No\n \n\n\n \n \n toolIdsInUse\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalTool[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n filterForContextRestrictions\n \n \n \n \n \n \n \n filterForContextRestrictions(availableTools: ContextExternalToolTemplateInfo[], contextType: ToolContextType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-configuration.service.ts:82\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n availableTools\n \n ContextExternalToolTemplateInfo[]\n \n\n \n No\n \n\n\n \n \n contextType\n \n ToolContextType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolTemplateInfo[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n filterParametersForScope\n \n \n \n \n \n \n \n filterParametersForScope(externalTool: ExternalTool, scope: CustomParameterScope)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-configuration.service.ts:92\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n scope\n \n CustomParameterScope\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getToolContextTypes\n \n \n \n \n \n \n \n getToolContextTypes()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-configuration.service.ts:100\n \n \n\n\n \n \n\n \n Returns : ToolContextType[]\n\n \n \n \n \n \n\n\n \n\n\n \n import { Inject, Injectable } from '@nestjs/common';\nimport { Page } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { CustomParameter } from '../../common/domain';\nimport { CustomParameterScope, ToolContextType } from '../../common/enum';\nimport { ContextExternalTool } from '../../context-external-tool/domain';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { IToolFeatures, ToolFeatures } from '../../tool-config';\nimport { ExternalTool } from '../domain';\nimport { ContextExternalToolTemplateInfo } from '../uc/dto';\nimport { CommonToolService } from '../../common/service';\n\n@Injectable()\nexport class ExternalToolConfigurationService {\n\tconstructor(\n\t\t@Inject(ToolFeatures) private readonly toolFeatures: IToolFeatures,\n\t\tprivate readonly commonToolService: CommonToolService\n\t) {}\n\n\tpublic filterForAvailableTools(externalTools: Page, toolIdsInUse: EntityId[]): ExternalTool[] {\n\t\tconst visibleTools: ExternalTool[] = externalTools.data.filter((tool: ExternalTool): boolean => !tool.isHidden);\n\n\t\tconst availableTools: ExternalTool[] = visibleTools.filter(\n\t\t\t(tool: ExternalTool): boolean => !!tool.id && !toolIdsInUse.includes(tool.id)\n\t\t);\n\t\treturn availableTools;\n\t}\n\n\tpublic filterForAvailableSchoolExternalTools(\n\t\tschoolExternalTools: SchoolExternalTool[],\n\t\tcontextExternalToolsInUse: ContextExternalTool[]\n\t): SchoolExternalTool[] {\n\t\tconst availableSchoolExternalTools: SchoolExternalTool[] = schoolExternalTools.filter(\n\t\t\t(schoolExternalTool: SchoolExternalTool): boolean => {\n\t\t\t\tif (this.toolFeatures.contextConfigurationEnabled) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tconst hasContextExternalTool: boolean = contextExternalToolsInUse.some(\n\t\t\t\t\t(contextExternalTool: ContextExternalTool) =>\n\t\t\t\t\t\tcontextExternalTool.schoolToolRef.schoolToolId === schoolExternalTool.id\n\t\t\t\t);\n\n\t\t\t\treturn !hasContextExternalTool;\n\t\t\t}\n\t\t);\n\n\t\treturn availableSchoolExternalTools;\n\t}\n\n\tpublic filterForAvailableExternalTools(\n\t\texternalTools: ExternalTool[],\n\t\tavailableSchoolExternalTools: SchoolExternalTool[]\n\t): ContextExternalToolTemplateInfo[] {\n\t\tconst toolsWithSchoolTool: (ContextExternalToolTemplateInfo | null)[] = availableSchoolExternalTools.map(\n\t\t\t(schoolExternalTool: SchoolExternalTool) => {\n\t\t\t\tconst externalTool: ExternalTool | undefined = externalTools.find(\n\t\t\t\t\t(tool: ExternalTool) => schoolExternalTool.toolId === tool.id\n\t\t\t\t);\n\n\t\t\t\tif (!externalTool) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\texternalTool,\n\t\t\t\t\tschoolExternalTool,\n\t\t\t\t};\n\t\t\t}\n\t\t);\n\n\t\tconst unusedTools: ContextExternalToolTemplateInfo[] = toolsWithSchoolTool.filter(\n\t\t\t(toolRef): toolRef is ContextExternalToolTemplateInfo => !!toolRef\n\t\t);\n\t\tconst availableTools: ContextExternalToolTemplateInfo[] = unusedTools.filter(\n\t\t\t(toolRef): toolRef is ContextExternalToolTemplateInfo => !toolRef.externalTool.isHidden\n\t\t);\n\n\t\treturn availableTools;\n\t}\n\n\tpublic filterForContextRestrictions(\n\t\tavailableTools: ContextExternalToolTemplateInfo[],\n\t\tcontextType: ToolContextType\n\t): ContextExternalToolTemplateInfo[] {\n\t\tconst availableToolsForContext: ContextExternalToolTemplateInfo[] = availableTools.filter(\n\t\t\t(availableTool) => !this.commonToolService.isContextRestricted(availableTool.externalTool, contextType)\n\t\t);\n\t\treturn availableToolsForContext;\n\t}\n\n\tpublic filterParametersForScope(externalTool: ExternalTool, scope: CustomParameterScope) {\n\t\tif (externalTool.parameters) {\n\t\t\texternalTool.parameters = externalTool.parameters.filter(\n\t\t\t\t(parameter: CustomParameter) => parameter.scope === scope\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic getToolContextTypes(): ToolContextType[] {\n\t\tconst toolContextTypes: ToolContextType[] = Object.values(ToolContextType);\n\n\t\treturn toolContextTypes;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolConfigurationUc.html":{"url":"injectables/ExternalToolConfigurationUc.html","title":"injectable - ExternalToolConfigurationUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolConfigurationUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/uc/external-tool-configuration.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n ensureContextPermissions\n \n \n Private\n Async\n ensureSchoolPermissions\n \n \n Public\n Async\n getAvailableToolsForContext\n \n \n Public\n Async\n getAvailableToolsForSchool\n \n \n Public\n Async\n getTemplateForContextExternalTool\n \n \n Public\n Async\n getTemplateForSchoolExternalTool\n \n \n Public\n Async\n getToolContextTypes\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolService: ExternalToolService, schoolExternalToolService: SchoolExternalToolService, contextExternalToolService: ContextExternalToolService, toolPermissionHelper: ToolPermissionHelper, externalToolConfigurationService: ExternalToolConfigurationService, externalToolLogoService: ExternalToolLogoService, authorizationService: AuthorizationService)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool-configuration.uc.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n schoolExternalToolService\n \n \n SchoolExternalToolService\n \n \n \n No\n \n \n \n \n contextExternalToolService\n \n \n ContextExternalToolService\n \n \n \n No\n \n \n \n \n toolPermissionHelper\n \n \n ToolPermissionHelper\n \n \n \n No\n \n \n \n \n externalToolConfigurationService\n \n \n ExternalToolConfigurationService\n \n \n \n No\n \n \n \n \n externalToolLogoService\n \n \n ExternalToolLogoService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n ensureContextPermissions\n \n \n \n \n \n \n \n ensureContextPermissions(userId: EntityId, tools: ContextExternalTool[], context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool-configuration.uc.ts:194\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n tools\n \n ContextExternalTool[]\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n ensureSchoolPermissions\n \n \n \n \n \n \n \n ensureSchoolPermissions(userId: EntityId, tools: SchoolExternalTool[], context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool-configuration.uc.ts:182\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n tools\n \n SchoolExternalTool[]\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getAvailableToolsForContext\n \n \n \n \n \n \n \n getAvailableToolsForContext(userId: EntityId, schoolId: EntityId, contextId: EntityId, contextType: ToolContextType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool-configuration.uc.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextType\n \n ToolContextType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getAvailableToolsForSchool\n \n \n \n \n \n \n \n getAvailableToolsForSchool(userId: EntityId, schoolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool-configuration.uc.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getTemplateForContextExternalTool\n \n \n \n \n \n \n \n getTemplateForContextExternalTool(userId: EntityId, contextExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool-configuration.uc.ts:153\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getTemplateForSchoolExternalTool\n \n \n \n \n \n \n \n getTemplateForSchoolExternalTool(userId: EntityId, schoolExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool-configuration.uc.ts:133\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getToolContextTypes\n \n \n \n \n \n \n \n getToolContextTypes(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool-configuration.uc.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContext, AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { Inject, Injectable, forwardRef } from '@nestjs/common';\nimport { NotFoundException } from '@nestjs/common/exceptions/not-found.exception';\nimport { Page } from '@shared/domain/domainobject/page';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { User } from '@shared/domain/entity';\nimport { CustomParameterScope, ToolContextType } from '../../common/enum';\nimport { ToolPermissionHelper } from '../../common/uc/tool-permission-helper';\nimport { ContextExternalTool } from '../../context-external-tool/domain';\nimport { ContextExternalToolService } from '../../context-external-tool/service';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { SchoolExternalToolService } from '../../school-external-tool/service';\nimport { ExternalTool } from '../domain';\nimport { ExternalToolConfigurationService, ExternalToolLogoService, ExternalToolService } from '../service';\nimport { ContextExternalToolTemplateInfo } from './dto';\n\n@Injectable()\nexport class ExternalToolConfigurationUc {\n\tconstructor(\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService,\n\t\t@Inject(forwardRef(() => ToolPermissionHelper))\n\t\tprivate readonly toolPermissionHelper: ToolPermissionHelper,\n\t\tprivate readonly externalToolConfigurationService: ExternalToolConfigurationService,\n\t\tprivate readonly externalToolLogoService: ExternalToolLogoService,\n\t\tprivate readonly authorizationService: AuthorizationService\n\t) {}\n\n\tpublic async getToolContextTypes(userId: EntityId): Promise {\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(userId);\n\t\tthis.authorizationService.checkAllPermissions(user, [Permission.TOOL_ADMIN]);\n\n\t\tconst toolContextTypes: ToolContextType[] = this.externalToolConfigurationService.getToolContextTypes();\n\n\t\treturn toolContextTypes;\n\t}\n\n\tpublic async getAvailableToolsForSchool(userId: EntityId, schoolId: EntityId): Promise {\n\t\tconst externalTools: Page = await this.externalToolService.findExternalTools({});\n\n\t\tconst schoolExternalToolsInUse: SchoolExternalTool[] = await this.schoolExternalToolService.findSchoolExternalTools(\n\t\t\t{\n\t\t\t\tschoolId,\n\t\t\t}\n\t\t);\n\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.SCHOOL_TOOL_ADMIN]);\n\n\t\tawait this.ensureSchoolPermissions(userId, schoolExternalToolsInUse, context);\n\n\t\tconst toolIdsInUse: EntityId[] = schoolExternalToolsInUse.map(\n\t\t\t(schoolExternalTool: SchoolExternalTool): EntityId => schoolExternalTool.toolId\n\t\t);\n\n\t\tconst availableTools: ExternalTool[] = this.externalToolConfigurationService.filterForAvailableTools(\n\t\t\texternalTools,\n\t\t\ttoolIdsInUse\n\t\t);\n\n\t\tavailableTools.forEach((externalTool) => {\n\t\t\tthis.externalToolConfigurationService.filterParametersForScope(externalTool, CustomParameterScope.SCHOOL);\n\t\t});\n\n\t\tavailableTools.forEach((externalTool) => {\n\t\t\texternalTool.logoUrl = this.externalToolLogoService.buildLogoUrl(\n\t\t\t\t'/v3/tools/external-tools/{id}/logo',\n\t\t\t\texternalTool\n\t\t\t);\n\t\t});\n\n\t\treturn availableTools;\n\t}\n\n\tpublic async getAvailableToolsForContext(\n\t\tuserId: EntityId,\n\t\tschoolId: EntityId,\n\t\tcontextId: EntityId,\n\t\tcontextType: ToolContextType\n\t): Promise {\n\t\tconst [externalTools, schoolExternalTools, contextExternalToolsInUse]: [\n\t\t\tPage,\n\t\t\tSchoolExternalTool[],\n\t\t\tContextExternalTool[]\n\t\t] = await Promise.all([\n\t\t\tthis.externalToolService.findExternalTools({}),\n\t\t\tthis.schoolExternalToolService.findSchoolExternalTools({\n\t\t\t\tschoolId,\n\t\t\t}),\n\t\t\tthis.contextExternalToolService.findContextExternalTools({\n\t\t\t\tcontext: { id: contextId, type: contextType },\n\t\t\t}),\n\t\t]);\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.CONTEXT_TOOL_ADMIN]);\n\n\t\tawait this.ensureContextPermissions(userId, contextExternalToolsInUse, context);\n\n\t\tconst availableSchoolExternalTools: SchoolExternalTool[] =\n\t\t\tthis.externalToolConfigurationService.filterForAvailableSchoolExternalTools(\n\t\t\t\tschoolExternalTools,\n\t\t\t\tcontextExternalToolsInUse\n\t\t\t);\n\n\t\tlet availableToolsForContext: ContextExternalToolTemplateInfo[] =\n\t\t\tthis.externalToolConfigurationService.filterForAvailableExternalTools(\n\t\t\t\texternalTools.data,\n\t\t\t\tavailableSchoolExternalTools\n\t\t\t);\n\n\t\tavailableToolsForContext = this.externalToolConfigurationService.filterForContextRestrictions(\n\t\t\tavailableToolsForContext,\n\t\t\tcontextType\n\t\t);\n\n\t\tavailableToolsForContext.forEach((toolTemplateInfo) => {\n\t\t\tthis.externalToolConfigurationService.filterParametersForScope(\n\t\t\t\ttoolTemplateInfo.externalTool,\n\t\t\t\tCustomParameterScope.CONTEXT\n\t\t\t);\n\t\t});\n\n\t\tavailableToolsForContext.forEach((toolTemplateInfo) => {\n\t\t\ttoolTemplateInfo.externalTool.logoUrl = this.externalToolLogoService.buildLogoUrl(\n\t\t\t\t'/v3/tools/external-tools/{id}/logo',\n\t\t\t\ttoolTemplateInfo.externalTool\n\t\t\t);\n\t\t});\n\n\t\treturn availableToolsForContext;\n\t}\n\n\tpublic async getTemplateForSchoolExternalTool(\n\t\tuserId: EntityId,\n\t\tschoolExternalToolId: EntityId\n\t): Promise {\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(schoolExternalToolId);\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.SCHOOL_TOOL_ADMIN]);\n\n\t\tawait this.toolPermissionHelper.ensureSchoolPermissions(userId, schoolExternalTool, context);\n\n\t\tconst externalTool: ExternalTool = await this.externalToolService.findById(schoolExternalTool.toolId);\n\n\t\tif (externalTool.isHidden) {\n\t\t\tthrow new NotFoundException('Could not find the Tool Template');\n\t\t}\n\n\t\tthis.externalToolConfigurationService.filterParametersForScope(externalTool, CustomParameterScope.SCHOOL);\n\n\t\treturn externalTool;\n\t}\n\n\tpublic async getTemplateForContextExternalTool(\n\t\tuserId: EntityId,\n\t\tcontextExternalToolId: EntityId\n\t): Promise {\n\t\tconst contextExternalTool: ContextExternalTool = await this.contextExternalToolService.findByIdOrFail(\n\t\t\tcontextExternalToolId\n\t\t);\n\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.CONTEXT_TOOL_ADMIN]);\n\t\tawait this.toolPermissionHelper.ensureContextPermissions(userId, contextExternalTool, context);\n\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(\n\t\t\tcontextExternalTool.schoolToolRef.schoolToolId\n\t\t);\n\n\t\tconst externalTool: ExternalTool = await this.externalToolService.findById(schoolExternalTool.toolId);\n\n\t\tif (externalTool.isHidden) {\n\t\t\tthrow new NotFoundException('Could not find the Tool Template');\n\t\t}\n\n\t\tthis.externalToolConfigurationService.filterParametersForScope(externalTool, CustomParameterScope.CONTEXT);\n\n\t\treturn {\n\t\t\texternalTool,\n\t\t\tschoolExternalTool,\n\t\t};\n\t}\n\n\tprivate async ensureSchoolPermissions(\n\t\tuserId: EntityId,\n\t\ttools: SchoolExternalTool[],\n\t\tcontext: AuthorizationContext\n\t): Promise {\n\t\tawait Promise.all(\n\t\t\ttools.map(async (tool: SchoolExternalTool) =>\n\t\t\t\tthis.toolPermissionHelper.ensureSchoolPermissions(userId, tool, context)\n\t\t\t)\n\t\t);\n\t}\n\n\tprivate async ensureContextPermissions(\n\t\tuserId: EntityId,\n\t\ttools: ContextExternalTool[],\n\t\tcontext: AuthorizationContext\n\t): Promise {\n\t\tawait Promise.all(\n\t\t\ttools.map(async (tool: ContextExternalTool) =>\n\t\t\t\tthis.toolPermissionHelper.ensureContextPermissions(userId, tool, context)\n\t\t\t)\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolContentBody.html":{"url":"classes/ExternalToolContentBody.html","title":"class - ExternalToolContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n contextExternalToolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n contextExternalToolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:122\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolCreateParams.html":{"url":"classes/ExternalToolCreateParams.html","title":"class - ExternalToolCreateParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolCreateParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-create.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n config\n \n \n \n \n isHidden\n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n name\n \n \n \n \n openNewTab\n \n \n \n \n \n \n \n Optional\n parameters\n \n \n \n \n \n \n Optional\n restrictToContexts\n \n \n \n \n \n Optional\n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n config\n \n \n \n \n \n \n Type : Lti11ToolConfigCreateParams | Oauth2ToolConfigCreateParams | BasicToolConfigParams\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()@Type(undefined, {keepDiscriminatorProperty: true, discriminator: undefined})@ApiProperty({oneOf: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-create.params.ts:48\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n isHidden\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-create.params.ts:59\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-create.params.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-create.params.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n openNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-create.params.ts:63\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n parameters\n \n \n \n \n \n \n Type : CustomParameterPostParams[]\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested({each: true})@IsArray()@IsOptional()@ApiPropertyOptional({type: undefined})@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-create.params.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n restrictToContexts\n \n \n \n \n \n \n Type : ToolContextType[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@IsOptional()@IsEnum(ToolContextType, {each: true})@ApiPropertyOptional({enum: ToolContextType, enumName: 'ToolContextType', isArray: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-create.params.ts:69\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-create.params.ts:22\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiExtraModels, ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { Type } from 'class-transformer';\nimport { IsArray, IsBoolean, IsEnum, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { ToolConfigType, ToolContextType } from '../../../../common/enum';\nimport {\n\tBasicToolConfigParams,\n\tExternalToolConfigCreateParams,\n\tLti11ToolConfigCreateParams,\n\tOauth2ToolConfigCreateParams,\n} from './config';\nimport { CustomParameterPostParams } from './custom-parameter.params';\n\n@ApiExtraModels(Lti11ToolConfigCreateParams, Oauth2ToolConfigCreateParams, BasicToolConfigParams)\nexport class ExternalToolCreateParams {\n\t@IsString()\n\t@ApiProperty()\n\tname!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\turl?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tlogoUrl?: string;\n\n\t@ValidateNested()\n\t@Type(/* istanbul ignore next */ () => ExternalToolConfigCreateParams, {\n\t\tkeepDiscriminatorProperty: true,\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: Lti11ToolConfigCreateParams, name: ToolConfigType.LTI11 },\n\t\t\t\t{ value: Oauth2ToolConfigCreateParams, name: ToolConfigType.OAUTH2 },\n\t\t\t\t{ value: BasicToolConfigParams, name: ToolConfigType.BASIC },\n\t\t\t],\n\t\t},\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(BasicToolConfigParams) },\n\t\t\t{ $ref: getSchemaPath(Lti11ToolConfigCreateParams) },\n\t\t\t{ $ref: getSchemaPath(Oauth2ToolConfigCreateParams) },\n\t\t],\n\t})\n\tconfig!: Lti11ToolConfigCreateParams | Oauth2ToolConfigCreateParams | BasicToolConfigParams;\n\n\t@ValidateNested({ each: true })\n\t@IsArray()\n\t@IsOptional()\n\t@ApiPropertyOptional({ type: [CustomParameterPostParams] })\n\t@Type(/* istanbul ignore next */ () => CustomParameterPostParams)\n\tparameters?: CustomParameterPostParams[];\n\n\t@IsBoolean()\n\t@ApiProperty()\n\tisHidden!: boolean;\n\n\t@IsBoolean()\n\t@ApiProperty()\n\topenNewTab!: boolean;\n\n\t@IsArray()\n\t@IsOptional()\n\t@IsEnum(ToolContextType, { each: true })\n\t@ApiPropertyOptional({ enum: ToolContextType, enumName: 'ToolContextType', isArray: true })\n\trestrictToContexts?: ToolContextType[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolElement.html":{"url":"classes/ExternalToolElement.html","title":"class - ExternalToolElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/external-tool-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardComposite\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n accept\n \n \n Async\n acceptAsync\n \n \n isAllowedAsChild\n \n \n addChild\n \n \n hasChild\n \n \n removeChild\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n contextExternalToolId\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n accept\n \n \n \n \n \n \naccept(visitor: BoardCompositeVisitor)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:17\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitor\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n acceptAsync\n \n \n \n \n \n \n \n acceptAsync(visitor: BoardCompositeVisitorAsync)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:21\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitorAsync\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isAllowedAsChild\n \n \n \n \n \n \nisAllowedAsChild()\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:13\n\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n addChild\n \n \n \n \n \n \naddChild(child: AnyBoardDo, position?: number)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n position\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasChild\n \n \n \n \n \n \nhasChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeChild\n \n \n \n \n \n \nremoveChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n contextExternalToolId\n \n \n\n \n \n getcontextExternalToolId()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/external-tool-element.do.ts:5\n \n \n\n \n \n setcontextExternalToolId(value: string | undefined)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/external-tool-element.do.ts:9\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n string | undefined\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class ExternalToolElement extends BoardComposite {\n\tget contextExternalToolId(): string | undefined {\n\t\treturn this.props.contextExternalToolId;\n\t}\n\n\tset contextExternalToolId(value: string | undefined) {\n\t\tthis.props.contextExternalToolId = value;\n\t}\n\n\tisAllowedAsChild(): boolean {\n\t\treturn false;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitExternalToolElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitExternalToolElementAsync(this);\n\t}\n}\n\nexport interface ExternalToolElementProps extends BoardCompositeProps {\n\tcontextExternalToolId?: string;\n}\n\nexport function isExternalToolElement(reference: unknown): reference is ExternalToolElement {\n\treturn reference instanceof ExternalToolElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolElementContent.html":{"url":"classes/ExternalToolElementContent.html","title":"class - ExternalToolElementContent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolElementContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/external-tool-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contextExternalToolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalToolElementContent)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/external-tool-element.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalToolElementContent\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextExternalToolId\n \n \n \n \n \n \n Type : string | null\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: String, required: true, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/external-tool-element.response.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class ExternalToolElementContent {\n\tconstructor(props: ExternalToolElementContent) {\n\t\tthis.contextExternalToolId = props.contextExternalToolId;\n\t}\n\n\t@ApiProperty({ type: String, required: true, nullable: true })\n\tcontextExternalToolId: string | null;\n}\n\nexport class ExternalToolElementResponse {\n\tconstructor(props: ExternalToolElementResponse) {\n\t\tthis.id = props.id;\n\t\tthis.type = props.type;\n\t\tthis.content = props.content;\n\t\tthis.timestamps = props.timestamps;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.EXTERNAL_TOOL;\n\n\t@ApiProperty()\n\tcontent: ExternalToolElementContent;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolElementContentBody.html":{"url":"classes/ExternalToolElementContentBody.html","title":"class - ExternalToolElementContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolElementContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n \n Extends\n \n \n ElementContentBody\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : ExternalToolContentBody\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:131\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.EXTERNAL_TOOL\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from ElementContentBody\n\n \n \n \n \n Defined in ElementContentBody:127\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/ExternalToolElementNodeEntity.html":{"url":"entities/ExternalToolElementNodeEntity.html","title":"entity - ExternalToolElementNodeEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n ExternalToolElementNodeEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/external-tool-element-node.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n contextExternalTool\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n contextExternalTool\n \n \n \n \n \n \n Type : ContextExternalToolEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/external-tool-element-node.entity.ts:10\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, ManyToOne } from '@mikro-orm/core';\nimport { AnyBoardDo } from '@shared/domain/domainobject';\nimport { ContextExternalToolEntity } from '@modules/tool/context-external-tool/entity/context-external-tool.entity';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.EXTERNAL_TOOL })\nexport class ExternalToolElementNodeEntity extends BoardNode {\n\t@ManyToOne({ nullable: true })\n\tcontextExternalTool?: ContextExternalToolEntity;\n\n\tconstructor(props: ExternalToolElementNodeEntityProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.EXTERNAL_TOOL;\n\t\tthis.contextExternalTool = props.contextExternalTool;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildExternalToolElement(this);\n\t\treturn domainObject;\n\t}\n}\n\nexport interface ExternalToolElementNodeEntityProps extends BoardNodeProps {\n\tcontextExternalTool?: ContextExternalToolEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ExternalToolElementNodeEntityProps.html":{"url":"interfaces/ExternalToolElementNodeEntityProps.html","title":"interface - ExternalToolElementNodeEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ExternalToolElementNodeEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/external-tool-element-node.entity.ts\n \n\n\n\n \n Extends\n \n \n BoardNodeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n contextExternalTool\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contextExternalTool\n \n \n \n \n \n \n \n \n contextExternalTool: ContextExternalToolEntity\n\n \n \n\n\n \n \n Type : ContextExternalToolEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Entity, ManyToOne } from '@mikro-orm/core';\nimport { AnyBoardDo } from '@shared/domain/domainobject';\nimport { ContextExternalToolEntity } from '@modules/tool/context-external-tool/entity/context-external-tool.entity';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.EXTERNAL_TOOL })\nexport class ExternalToolElementNodeEntity extends BoardNode {\n\t@ManyToOne({ nullable: true })\n\tcontextExternalTool?: ContextExternalToolEntity;\n\n\tconstructor(props: ExternalToolElementNodeEntityProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.EXTERNAL_TOOL;\n\t\tthis.contextExternalTool = props.contextExternalTool;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildExternalToolElement(this);\n\t\treturn domainObject;\n\t}\n}\n\nexport interface ExternalToolElementNodeEntityProps extends BoardNodeProps {\n\tcontextExternalTool?: ContextExternalToolEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ExternalToolElementProps.html":{"url":"interfaces/ExternalToolElementProps.html","title":"interface - ExternalToolElementProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ExternalToolElementProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/external-tool-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardCompositeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n contextExternalToolId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contextExternalToolId\n \n \n \n \n \n \n \n \n contextExternalToolId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class ExternalToolElement extends BoardComposite {\n\tget contextExternalToolId(): string | undefined {\n\t\treturn this.props.contextExternalToolId;\n\t}\n\n\tset contextExternalToolId(value: string | undefined) {\n\t\tthis.props.contextExternalToolId = value;\n\t}\n\n\tisAllowedAsChild(): boolean {\n\t\treturn false;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitExternalToolElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitExternalToolElementAsync(this);\n\t}\n}\n\nexport interface ExternalToolElementProps extends BoardCompositeProps {\n\tcontextExternalToolId?: string;\n}\n\nexport function isExternalToolElement(reference: unknown): reference is ExternalToolElement {\n\treturn reference instanceof ExternalToolElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolElementResponse.html":{"url":"classes/ExternalToolElementResponse.html","title":"class - ExternalToolElementResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolElementResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/external-tool-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n id\n \n \n \n timestamps\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalToolElementResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/external-tool-element.response.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalToolElementResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : ExternalToolElementContent\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/external-tool-element.response.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/external-tool-element.response.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n timestamps\n \n \n \n \n \n \n Type : TimestampsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/external-tool-element.response.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.EXTERNAL_TOOL\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ContentElementType, enumName: 'ContentElementType'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/external-tool-element.response.ts:26\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class ExternalToolElementContent {\n\tconstructor(props: ExternalToolElementContent) {\n\t\tthis.contextExternalToolId = props.contextExternalToolId;\n\t}\n\n\t@ApiProperty({ type: String, required: true, nullable: true })\n\tcontextExternalToolId: string | null;\n}\n\nexport class ExternalToolElementResponse {\n\tconstructor(props: ExternalToolElementResponse) {\n\t\tthis.id = props.id;\n\t\tthis.type = props.type;\n\t\tthis.content = props.content;\n\t\tthis.timestamps = props.timestamps;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.EXTERNAL_TOOL;\n\n\t@ApiProperty()\n\tcontent: ExternalToolElementContent;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolElementResponseMapper.html":{"url":"classes/ExternalToolElementResponseMapper.html","title":"class - ExternalToolElementResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolElementResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/external-tool-element-response.mapper.ts\n \n\n\n\n\n \n Implements\n \n \n BaseResponseMapper\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n canMap\n \n \n Static\n getInstance\n \n \n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n \n \n Type : ExternalToolElementResponseMapper\n\n \n \n \n \n Defined in apps/server/src/modules/board/controller/mapper/external-tool-element-response.mapper.ts:6\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n canMap\n \n \n \n \n \n \ncanMap(element: ExternalToolElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/external-tool-element-response.mapper.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n ExternalToolElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n getInstance\n \n \n \n \n \n \n \n getInstance()\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/external-tool-element-response.mapper.ts:8\n \n \n\n\n \n \n\n \n Returns : ExternalToolElementResponseMapper\n\n \n \n \n \n \n \n \n \n \n \n \n mapToResponse\n \n \n \n \n \n \nmapToResponse(element: ExternalToolElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/external-tool-element-response.mapper.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n ExternalToolElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalToolElementResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ContentElementType, ExternalToolElement } from '@shared/domain/domainobject';\nimport { ExternalToolElementContent, ExternalToolElementResponse, TimestampsResponse } from '../dto';\nimport { BaseResponseMapper } from './base-mapper.interface';\n\nexport class ExternalToolElementResponseMapper implements BaseResponseMapper {\n\tprivate static instance: ExternalToolElementResponseMapper;\n\n\tpublic static getInstance(): ExternalToolElementResponseMapper {\n\t\tif (!ExternalToolElementResponseMapper.instance) {\n\t\t\tExternalToolElementResponseMapper.instance = new ExternalToolElementResponseMapper();\n\t\t}\n\n\t\treturn ExternalToolElementResponseMapper.instance;\n\t}\n\n\tmapToResponse(element: ExternalToolElement): ExternalToolElementResponse {\n\t\tconst result = new ExternalToolElementResponse({\n\t\t\tid: element.id,\n\t\t\ttimestamps: new TimestampsResponse({ lastUpdatedAt: element.updatedAt, createdAt: element.createdAt }),\n\t\t\ttype: ContentElementType.EXTERNAL_TOOL,\n\t\t\tcontent: new ExternalToolElementContent({ contextExternalToolId: element.contextExternalToolId ?? null }),\n\t\t});\n\n\t\treturn result;\n\t}\n\n\tcanMap(element: ExternalToolElement): boolean {\n\t\treturn element instanceof ExternalToolElement;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/ExternalToolEntity.html":{"url":"entities/ExternalToolEntity.html","title":"entity - ExternalToolEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n ExternalToolEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n config\n \n \n \n isHidden\n \n \n \n Optional\n logoBase64\n \n \n \n Optional\n logoUrl\n \n \n \n \n name\n \n \n \n openNewTab\n \n \n \n Optional\n parameters\n \n \n \n Optional\n restrictToContexts\n \n \n \n Optional\n url\n \n \n \n version\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n config\n \n \n \n \n \n \n Type : BasicToolConfigEntity | Oauth2ToolConfigEntity | Lti11ToolConfigEntity\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n isHidden\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n logoBase64\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Unique()@Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n openNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n parameters\n \n \n \n \n \n \n Type : CustomParameterEntity[]\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {array: true, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n restrictToContexts\n \n \n \n \n \n \n Type : ToolContextType[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n version\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts:38\n \n \n\n\n \n \n\n \n\n\n \n import { Embedded, Entity, Property, Unique } from '@mikro-orm/core';\n\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { CustomParameterEntity } from './custom-parameter';\nimport { BasicToolConfigEntity, Lti11ToolConfigEntity, Oauth2ToolConfigEntity } from './config';\nimport { ToolContextType } from '../../common/enum';\n\nexport type IExternalToolProperties = Readonly>;\n\n@Entity({ tableName: 'external-tools' })\nexport class ExternalToolEntity extends BaseEntityWithTimestamps {\n\t@Unique()\n\t@Property()\n\tname: string;\n\n\t@Property({ nullable: true })\n\turl?: string;\n\n\t@Property({ nullable: true })\n\tlogoUrl?: string;\n\n\t@Property({ nullable: true })\n\tlogoBase64?: string;\n\n\t@Embedded(() => [BasicToolConfigEntity, Oauth2ToolConfigEntity, Lti11ToolConfigEntity])\n\tconfig: BasicToolConfigEntity | Oauth2ToolConfigEntity | Lti11ToolConfigEntity;\n\n\t@Embedded(() => CustomParameterEntity, { array: true, nullable: true })\n\tparameters?: CustomParameterEntity[];\n\n\t@Property()\n\tisHidden: boolean;\n\n\t@Property()\n\topenNewTab: boolean;\n\n\t@Property()\n\tversion: number;\n\n\t@Property({ nullable: true })\n\trestrictToContexts?: ToolContextType[];\n\n\tconstructor(props: IExternalToolProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.url = props.url;\n\t\tthis.logoUrl = props.logoUrl;\n\t\tthis.logoBase64 = props.logoBase64;\n\t\tthis.config = props.config;\n\t\tthis.parameters = props.parameters;\n\t\tthis.isHidden = props.isHidden;\n\t\tthis.openNewTab = props.openNewTab;\n\t\tthis.version = props.version;\n\t\tthis.restrictToContexts = props.restrictToContexts;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolEntityFactory.html":{"url":"classes/ExternalToolEntityFactory.html","title":"class - ExternalToolEntityFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolEntityFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/external-tool-entity.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withBase64Logo\n \n \n withBasicConfig\n \n \n withLti11Config\n \n \n withName\n \n \n withOauth2Config\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withBase64Logo\n \n \n \n \n \n \nwithBase64Logo()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/external-tool-entity.factory.ts:66\n \n \n\n\n \n \n \n \n \n \n \n \n withBasicConfig\n \n \n \n \n \n \nwithBasicConfig()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/external-tool-entity.factory.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n withLti11Config\n \n \n \n \n \n \nwithLti11Config()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/external-tool-entity.factory.ts:50\n \n \n\n\n \n \n \n \n \n \n \n \n withName\n \n \n \n \n \n \nwithName(name: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/external-tool-entity.factory.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withOauth2Config\n \n \n \n \n \n \nwithOauth2Config(clientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/external-tool-entity.factory.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n clientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import {\n\tCustomParameterLocation,\n\tCustomParameterScope,\n\tCustomParameterType,\n\tLtiMessageType,\n\tLtiPrivacyPermission,\n\tToolConfigType,\n} from '@modules/tool/common/enum';\nimport {\n\tBasicToolConfigEntity,\n\tCustomParameterEntity,\n\tExternalToolEntity,\n\tIExternalToolProperties,\n\tLti11ToolConfigEntity,\n\tOauth2ToolConfigEntity,\n} from '@modules/tool/external-tool/entity';\nimport { DeepPartial } from 'fishery';\nimport { BaseFactory } from './base.factory';\n\nexport class ExternalToolEntityFactory extends BaseFactory {\n\twithName(name: string): this {\n\t\tconst params: DeepPartial = {\n\t\t\tname,\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithBasicConfig(): this {\n\t\tconst params: DeepPartial = {\n\t\t\tconfig: new BasicToolConfigEntity({\n\t\t\t\ttype: ToolConfigType.BASIC,\n\t\t\t\tbaseUrl: 'mockBaseUrl',\n\t\t\t}),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithOauth2Config(clientId: string): this {\n\t\tconst params: DeepPartial = {\n\t\t\tconfig: new Oauth2ToolConfigEntity({\n\t\t\t\ttype: ToolConfigType.OAUTH2,\n\t\t\t\tbaseUrl: 'mockBaseUrl',\n\t\t\t\tclientId,\n\t\t\t\tskipConsent: false,\n\t\t\t}),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithLti11Config(): this {\n\t\tconst params: DeepPartial = {\n\t\t\tconfig: new Lti11ToolConfigEntity({\n\t\t\t\ttype: ToolConfigType.BASIC,\n\t\t\t\tbaseUrl: 'mockBaseUrl',\n\t\t\t\tkey: 'key',\n\t\t\t\tlti_message_type: LtiMessageType.BASIC_LTI_LAUNCH_REQUEST,\n\t\t\t\tresource_link_id: 'resource_link_id',\n\t\t\t\tsecret: 'secret',\n\t\t\t\tprivacy_permission: LtiPrivacyPermission.ANONYMOUS,\n\t\t\t\tlaunch_presentation_locale: 'de-DE',\n\t\t\t}),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithBase64Logo(): this {\n\t\tconst params: DeepPartial = {\n\t\t\tlogoBase64:\n\t\t\t\t'iVBORw0KGgoAAAANSUhEUgAAAfQAAADICAYAAAAeGRPoAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjQ2MUQ2Q0Y5RTQxMTExRTdBMTg3QkQ2MDVGMUFEMUIwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjQ2MUQ2Q0ZBRTQxMTExRTdBMTg3QkQ2MDVGMUFEMUIwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NDYxRDZDRjdFNDExMTFFN0ExODdCRDYwNUYxQUQxQjAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NDYxRDZDRjhFNDExMTFFN0ExODdCRDYwNUYxQUQxQjAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz45EjsrAAALfUlEQVR42uzdgXWjOAIGYHLvGsiV4CnBU4JTgqeEpIS4hKSEpIS4BLsEu4RJCeMScmhGzPplkyCMAGO+7z3ezs3tYsuS+BEIcfX29lYAAOP2Hz8BAAh0AECgAwACHQAQ6AAg0AEAgQ4ACHQAQKADgEAHAAQ6ACDQAQCBDgACHQAQ6ACAQAcABDoACHQAQKADAAIdABDoACDQAQCBDgAIdABAoAOAQAcABDoAINABAIEOAAIdABDoAIBABwAEOgAIdABAoAMAAh0AEOgAINABAIEOAAh0AECgA4BABwAEOgAg0AEAgQ4ACHQAEOgAgEAHAAQ6ACDQAUCgAwACHQAQ6ACAQAcAgQ4ACHQAQKADAAIdAAQ6ACDQAQCBDgAIdAAQ6ACAQAcABDoAINABQKADAAIdABDoAIBABwCBDgAIdABAoAMAAh0ABDoAINABgN79109AbldXV9flPxblNov/DOblFv7+UG77+HfVn39vb29vB78emdpg1fauP2iDwWvcgm3883aMbbAs6/yorPP414ujf+W4z+2r/12WdasOL6zdl4Ufa4fdvGu0gyp/x6sTyjD0jx8a/03GOgn1cVtuyxN3EQ4267CV3+t16u2jhz701lfb6DEAlnGbt2yDz+ccDDHEq7LOTtzNIZY11PVaHV6AEOhj3ErhgP12LtuJZRj6e28y1cW8g/p4CgeqKbePHvpQ522jp3LMYnvJWWe/2rbBjsq66Kht/wwn4+pw3Jt76LQ9o76NB5jco+Gw35/l/p/iJXx43/auy+2+CqPMu7+O+9zFzziHsj511Nf+Bmr5GT/jlTZ1OEICnbZh/lT8c0+rC1WwL/3ivLvkvCu3h44/KrTth/LzdvFy8BBlXXQUeJ8F+6b8zIeuT6SnVIcCnXM/oC5jmPchdMiXqZxlk3QiuStOv3d8inkc6c0HKOum45Pmj9zHYJ+pQ4HOZR9Qr08I8zBRZRu3U4RJcs9+fWHe44nkRyeWu/gd+ijr04BlrRzU4Xh4bI1T3CaMGMKB4LH4M4N2/0Gnrh5JqWbr1u3vzmNtwrxhEFSzuEP7ez1+TCu2v9lR+2syagv3mvcfteuMZb0vml1ifz0q6/74KZF3Za3Km/Lb/cjd56ZUh4OYyuy/1NnPZhknfe9fNd/9JQR0g/1Vk1d+frK/hym2D+3vX7O7G83YbtgGm86yDn1g1lFZlw3Lumy4/9Df7mv68VwdjrBPC3SBnrlT7lru//2BZtekUwv0y2t/MYB+JR6kH9q0lzjK2yV+1q6jx7dSy3qf4Xe9/2C/t+rQY2tMQ91lrceWV4zCf/8tXmZzqZ2iSH+SIrSVVZv2Ei/BhgV1UuZrzDuYqJlS1upyeNu+doj7+F78s+LaY/l3z+pwnAQ6WQM9x4pT8UDzI3TKi7vHRdN7rovEe753uYIotr+7xEC4zzUTPD45kvIM+E3Old1iH/sew3ylDgU609Hb4zPnvtY0vUgZPd11MaqMgbBP6A+5RngPiWXdd1DWQxdhPsE6FOhc1IjKqm7kHNnVjVjXHV0iroQrRXWXf2/btvtY1tnAZVWHAp2JqesYVnQjl5S2tOryC8THv1LuVbd9rvk2od+t1OFZ16FAZ3TqLl89XPJKTPQ2srtOCIPHtm/lSwyEEAZ1n7PsuKzPfZRVHQp0pqWuU4ROvLnUlZjoTfUe7C9DrsfvU/dZ8xYTq5YZPl8dDluHAp1RSpmo9ntp2Pjmpnv31TlB3VWefc8j1nWG7/yZ2ZmVVR0KdKYgPh+aelYdDlRh5u6vMtQ3MdxdjidHGKx7bvchePYJ7X30ZVWHAp38FmX4vXWwbTJ8t3A/qunCD4sY7uHFCCHgX2LAz1Q1n7SXL0d3A3ynbcvvPKayqsMR8nIWTjrTLYM4zEw99Y1J1WSZsIVJdNWLJdYWkiHREJegD2Mqa3ineZHpEnLZL2/UoUDnckP9uTxgFEWe1yCGUXpY2CGM2EOgP4/teVvySbktM9A95bqTzcUJZV10WNb5UCPOKdXhOXHJnVahXqQt2tD0IFRNqPNM+zSZRKkOEegMEOrhUnl4mcoqc7CHUXu4z/5kljyAQKefUD8cvSUtBHvOS2nhefaNUGcEvBVQHQp0LivYyy0E+++3NxV5ZrKGy/AvfuHJtKPatQ4Gevyx9nnxCyqrOhToZLQtO8VVB9tNTx16H99rHIL9f8Wfe+1tAn5xSe8tpvMDcxeuJ1RWdSjQ4dOR+/oo4MMIPrzWsOnCEladm9AJbc3/P8TobtHyO5/6381O7Hc3qSf6RTcvSJlSHQp0Jhvwr2GGfLn9iKP31Al1KS974DKc1Ys04onkouV3HkVZ1aFAhzaj92pCXcqz55aOnYbaJTp7vgebEj7bjso61peGTKkOBTq8C/a7hFC3VOw0pNyO6fONfnWftY3vOTjF9szKqg4FOmRRdy9v4SeaxgleQiDc9jFyja8C7uxFI4kvDbkd2yh9SnUo0OHzg8DWL0HiAfapyy8Q77vWPV1xKNqHQd2VqfA9HtThWdehQGecQieJZ73Q1cldOMDWTVLq+nHGEKJ1I8jHtpdq4zLKdftYjq3PTakOBTpjFl7D+hTf6JTbV4+meRvbtKQ8TvXQRdCFZYeL+vuuhyJtMmeKx8SyztXh2dahQGd0o/PQSaqDSng2fJPrPljcz1cHrFc1MLlResotmKeco7zEIMg6sotPe9S173Cyu+ngxUVzdSjQmV6Y337QScJEtV2mzlh3P80IfXruirR1CsIo76XN4kPhhDKcoCYGwTaGcO6y1gnle8nR38JoP5Z3qQ4FOtMK88UXgXsdO2N47elt0w4Z78m/FPWz2NdqYnKj9DBqTV3JLARTaIONVhWMIRACclekPUkRwulHB2UNI9nUgPnb307py3EEm1pedTiGY3T5Q08tlDZfVXZcBrGv7zL4j59a3njfblM0Wwv5OY6ow7ru+y/2u4xn03X73na9Fv05tY9Lbn+n/I7xYN10zsa6aoOxHR6qE8jiz2XmamsyQg37uPmsTWeqm5cTvlNV1tfjl6MclbW6nbUoGq7nkKvdT6kOBbpAP+dAv46B3uZe26H455L5rGi+SMz3rjugQD/fQI/fOfW+aFd6CYJM/S2XcI95lbFsk6jDIbjkTuoB+BBfrNLmflO1lnLjEUJpdYkdkMbtMNyLXQ308b0FQRyFhqtRQ86+/n1JOmeYT6kOBTpjOKCu4oGmz9nmz5c0cYXWbfAxtsE+ZyaHS9jf+gyCo+WQhwi/dSzvWh0KdC77gBo6xvci/S1pbaziQQ3et8HUF/q0HdHdxVeRHgYqaxV+fQTRaxzB/ui6vFOqQ4HOuR9Qj9+StupgxL6PBxYjc+pGsDdF/uWCD7Fdf4uruA1+AhNved0V3VwdC79fCPFvxxPq1OG4mBT37wZmUtzp5VnG3zb889TnSMMlvnVXl/rG1D4uuf118TvGRYluY/ubtWh/29gGD2dcdzn62j6W9Tk+VnYO5ZpMHQp0xhQW1aMk1+8Csvrz69FIYxv/vJ1aB6TTYKgmX87ftb3j9lc9eTHa9hf7WlXW2Qdl3cdyjqqsU6pDgQ4A/OUeOgAIdABAoAMAAh0AEOgAINABAIEOAAh0AECgA4BABwAEOgAg0AEAgQ4AAh0AEOgAgEAHAAQ6AAh0AECgAwACHQAQ6AAg0AEAgQ4ACHQAQKADgEAHAAQ6ACDQAQCBDgACHQAQ6ACAQAcABDoACHQAQKADAAIdABDoACDQAQCBDgAIdABAoAOAQAcABDoAINABAIEOAAh0ABDoAIBABwAEOgAg0AFAoAMAAh0AEOgAgEAHAIEOAAh0AECgAwACHQAEOgAg0AEAgQ4ACHQAEOgAgEAHAAQ6ACDQAUCgAwACHQAQ6ACAQAcAgQ4ACHQAQKADAAIdAAQ6ACDQAYD+/V+AAQADXuXS75wQpQAAAABJRU5ErkJggg==',\n\t\t};\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const customParameterEntityFactory = BaseFactory.define(\n\tCustomParameterEntity,\n\t({ sequence }) => {\n\t\treturn {\n\t\t\tname: `name${sequence}`,\n\t\t\tdisplayName: `User Friendly Name ${sequence}`,\n\t\t\tdescription: 'This is a mock parameter.',\n\t\t\tdefault: 'default',\n\t\t\tlocation: CustomParameterLocation.PATH,\n\t\t\tscope: CustomParameterScope.SCHOOL,\n\t\t\ttype: CustomParameterType.STRING,\n\t\t\tisOptional: false,\n\t\t};\n\t}\n);\n\nexport const externalToolEntityFactory = ExternalToolEntityFactory.define(\n\tExternalToolEntity,\n\t({ sequence }): IExternalToolProperties => {\n\t\treturn {\n\t\t\tname: `external-tool-${sequence}`,\n\t\t\turl: '',\n\t\t\tlogoUrl: 'https://logourl.com',\n\t\t\tconfig: new BasicToolConfigEntity({\n\t\t\t\ttype: ToolConfigType.BASIC,\n\t\t\t\tbaseUrl: 'mockBaseUrl',\n\t\t\t}),\n\t\t\tparameters: [customParameterEntityFactory.build()],\n\t\t\tisHidden: false,\n\t\t\topenNewTab: true,\n\t\t\tversion: 1,\n\t\t};\n\t}\n);\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolFactory.html":{"url":"classes/ExternalToolFactory.html","title":"class - ExternalToolFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/domainobject/tool/external-tool.factory.ts\n \n\n\n\n \n Extends\n \n \n DoBaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withBase64Logo\n \n \n withCustomParameters\n \n \n withLti11Config\n \n \n withOauth2Config\n \n \n \n buildWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withBase64Logo\n \n \n \n \n \n \nwithBase64Logo()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/domainobject/tool/external-tool.factory.ts:107\n \n \n\n\n \n \n \n \n \n \n \n \n withCustomParameters\n \n \n \n \n \n \nwithCustomParameters(number: number, customParam?: DeepPartial)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/domainobject/tool/external-tool.factory.ts:100\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n\n \n \n customParam\n \n DeepPartial\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withLti11Config\n \n \n \n \n \n \nwithLti11Config(customParam?: DeepPartial)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/domainobject/tool/external-tool.factory.ts:93\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParam\n \n DeepPartial\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withOauth2Config\n \n \n \n \n \n \nwithOauth2Config(customParam?: DeepPartial)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/domainobject/tool/external-tool.factory.ts:86\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParam\n \n DeepPartial\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \n \n buildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CustomParameter } from '@modules/tool/common/domain';\nimport {\n\tCustomParameterLocation,\n\tCustomParameterScope,\n\tCustomParameterType,\n\tLtiMessageType,\n\tLtiPrivacyPermission,\n\tTokenEndpointAuthMethod,\n\tToolConfigType,\n} from '@modules/tool/common/enum';\nimport {\n\tBasicToolConfig,\n\tExternalTool,\n\tExternalToolProps,\n\tLti11ToolConfig,\n\tOauth2ToolConfig,\n} from '@modules/tool/external-tool/domain';\nimport { DeepPartial } from 'fishery';\nimport { DoBaseFactory } from '../do-base.factory';\n\nexport const basicToolConfigFactory = DoBaseFactory.define(BasicToolConfig, () => {\n\treturn {\n\t\ttype: ToolConfigType.BASIC,\n\t\tbaseUrl: 'https://www.basic-baseUrl.com/',\n\t};\n});\n\nclass Oauth2ToolConfigFactory extends DoBaseFactory {\n\twithExternalData(oauth2Params?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tclientSecret: 'clientSecret',\n\t\t\tscope: 'offline openid',\n\t\t\tfrontchannelLogoutUri: 'https://www.frontchannel.com/',\n\t\t\tredirectUris: ['https://www.redirect.com/'],\n\t\t\ttokenEndpointAuthMethod: TokenEndpointAuthMethod.CLIENT_SECRET_POST,\n\t\t};\n\n\t\treturn this.params({ ...params, ...oauth2Params });\n\t}\n}\n\nexport const oauth2ToolConfigFactory = Oauth2ToolConfigFactory.define(Oauth2ToolConfig, () => {\n\treturn {\n\t\ttype: ToolConfigType.OAUTH2,\n\t\tbaseUrl: 'https://www.oauth2-baseUrl.com/',\n\t\tclientId: 'clientId',\n\t\tskipConsent: false,\n\t};\n});\n\nexport const lti11ToolConfigFactory = DoBaseFactory.define(Lti11ToolConfig, () => {\n\treturn {\n\t\ttype: ToolConfigType.LTI11,\n\t\tbaseUrl: 'https://www.lti11-baseUrl.com/',\n\t\tkey: 'key',\n\t\tsecret: 'secret',\n\t\tprivacy_permission: LtiPrivacyPermission.PSEUDONYMOUS,\n\t\tlti_message_type: LtiMessageType.BASIC_LTI_LAUNCH_REQUEST,\n\t\tresource_link_id: 'linkId',\n\t\tlaunch_presentation_locale: 'de-DE',\n\t};\n});\n\nclass CustomParameterFactory extends DoBaseFactory {\n\tbuildListWithEachType(params?: DeepPartial): CustomParameter[] {\n\t\tconst globalParameter = this.build({ ...params, scope: CustomParameterScope.GLOBAL });\n\t\tconst schoolParameter = this.build({ ...params, scope: CustomParameterScope.SCHOOL });\n\t\tconst contextParameter = this.build({ ...params, scope: CustomParameterScope.CONTEXT });\n\n\t\treturn [globalParameter, schoolParameter, contextParameter];\n\t}\n}\n\nexport const customParameterFactory = CustomParameterFactory.define(CustomParameter, ({ sequence }) => {\n\treturn {\n\t\tname: `custom-parameter-${sequence}`,\n\t\tdisplayName: 'User Friendly Name',\n\t\ttype: CustomParameterType.STRING,\n\t\tscope: CustomParameterScope.SCHOOL,\n\t\tlocation: CustomParameterLocation.BODY,\n\t\tisOptional: false,\n\t};\n});\n\nclass ExternalToolFactory extends DoBaseFactory {\n\twithOauth2Config(customParam?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tconfig: oauth2ToolConfigFactory.build(customParam),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithLti11Config(customParam?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tconfig: lti11ToolConfigFactory.build(customParam),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithCustomParameters(number: number, customParam?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tparameters: customParameterFactory.buildList(number, customParam),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithBase64Logo(): this {\n\t\tconst params: DeepPartial = {\n\t\t\tlogo: 'iVBORw0KGgoAAAANSUhEUgAAAfQAAADICAYAAAAeGRPoAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjQ2MUQ2Q0Y5RTQxMTExRTdBMTg3QkQ2MDVGMUFEMUIwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjQ2MUQ2Q0ZBRTQxMTExRTdBMTg3QkQ2MDVGMUFEMUIwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NDYxRDZDRjdFNDExMTFFN0ExODdCRDYwNUYxQUQxQjAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NDYxRDZDRjhFNDExMTFFN0ExODdCRDYwNUYxQUQxQjAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz45EjsrAAALfUlEQVR42uzdgXWjOAIGYHLvGsiV4CnBU4JTgqeEpIS4hKSEpIS4BLsEu4RJCeMScmhGzPplkyCMAGO+7z3ezs3tYsuS+BEIcfX29lYAAOP2Hz8BAAh0AECgAwACHQAQ6AAg0AEAgQ4ACHQAQKADgEAHAAQ6ACDQAQCBDgACHQAQ6ACAQAcABDoACHQAQKADAAIdABDoACDQAQCBDgAIdABAoAOAQAcABDoAINABAIEOAAIdABDoAIBABwAEOgAIdABAoAMAAh0AEOgAINABAIEOAAh0AECgA4BABwAEOgAg0AEAgQ4ACHQAEOgAgEAHAAQ6ACDQAUCgAwACHQAQ6ACAQAcAgQ4ACHQAQKADAAIdAAQ6ACDQAQCBDgAIdAAQ6ACAQAcABDoAINABQKADAAIdABDoAIBABwCBDgAIdABAoAMAAh0ABDoAINABgN79109AbldXV9flPxblNov/DOblFv7+UG77+HfVn39vb29vB78emdpg1fauP2iDwWvcgm3883aMbbAs6/yorPP414ujf+W4z+2r/12WdasOL6zdl4Ufa4fdvGu0gyp/x6sTyjD0jx8a/03GOgn1cVtuyxN3EQ4267CV3+t16u2jhz701lfb6DEAlnGbt2yDz+ccDDHEq7LOTtzNIZY11PVaHV6AEOhj3ErhgP12LtuJZRj6e28y1cW8g/p4CgeqKbePHvpQ522jp3LMYnvJWWe/2rbBjsq66Kht/wwn4+pw3Jt76LQ9o76NB5jco+Gw35/l/p/iJXx43/auy+2+CqPMu7+O+9zFzziHsj511Nf+Bmr5GT/jlTZ1OEICnbZh/lT8c0+rC1WwL/3ivLvkvCu3h44/KrTth/LzdvFy8BBlXXQUeJ8F+6b8zIeuT6SnVIcCnXM/oC5jmPchdMiXqZxlk3QiuStOv3d8inkc6c0HKOum45Pmj9zHYJ+pQ4HOZR9Qr08I8zBRZRu3U4RJcs9+fWHe44nkRyeWu/gd+ijr04BlrRzU4Xh4bI1T3CaMGMKB4LH4M4N2/0Gnrh5JqWbr1u3vzmNtwrxhEFSzuEP7ez1+TCu2v9lR+2syagv3mvcfteuMZb0vml1ifz0q6/74KZF3Za3Km/Lb/cjd56ZUh4OYyuy/1NnPZhknfe9fNd/9JQR0g/1Vk1d+frK/hym2D+3vX7O7G83YbtgGm86yDn1g1lFZlw3Lumy4/9Df7mv68VwdjrBPC3SBnrlT7lru//2BZtekUwv0y2t/MYB+JR6kH9q0lzjK2yV+1q6jx7dSy3qf4Xe9/2C/t+rQY2tMQ91lrceWV4zCf/8tXmZzqZ2iSH+SIrSVVZv2Ei/BhgV1UuZrzDuYqJlS1upyeNu+doj7+F78s+LaY/l3z+pwnAQ6WQM9x4pT8UDzI3TKi7vHRdN7rovEe753uYIotr+7xEC4zzUTPD45kvIM+E3Old1iH/sew3ylDgU609Hb4zPnvtY0vUgZPd11MaqMgbBP6A+5RngPiWXdd1DWQxdhPsE6FOhc1IjKqm7kHNnVjVjXHV0iroQrRXWXf2/btvtY1tnAZVWHAp2JqesYVnQjl5S2tOryC8THv1LuVbd9rvk2od+t1OFZ16FAZ3TqLl89XPJKTPQ2srtOCIPHtm/lSwyEEAZ1n7PsuKzPfZRVHQp0pqWuU4ROvLnUlZjoTfUe7C9DrsfvU/dZ8xYTq5YZPl8dDluHAp1RSpmo9ntp2Pjmpnv31TlB3VWefc8j1nWG7/yZ2ZmVVR0KdKYgPh+aelYdDlRh5u6vMtQ3MdxdjidHGKx7bvchePYJ7X30ZVWHAp38FmX4vXWwbTJ8t3A/qunCD4sY7uHFCCHgX2LAz1Q1n7SXL0d3A3ynbcvvPKayqsMR8nIWTjrTLYM4zEw99Y1J1WSZsIVJdNWLJdYWkiHREJegD2Mqa3ineZHpEnLZL2/UoUDnckP9uTxgFEWe1yCGUXpY2CGM2EOgP4/teVvySbktM9A95bqTzcUJZV10WNb5UCPOKdXhOXHJnVahXqQt2tD0IFRNqPNM+zSZRKkOEegMEOrhUnl4mcoqc7CHUXu4z/5kljyAQKefUD8cvSUtBHvOS2nhefaNUGcEvBVQHQp0LivYyy0E+++3NxV5ZrKGy/AvfuHJtKPatQ4Gevyx9nnxCyqrOhToZLQtO8VVB9tNTx16H99rHIL9f8Wfe+1tAn5xSe8tpvMDcxeuJ1RWdSjQ4dOR+/oo4MMIPrzWsOnCEladm9AJbc3/P8TobtHyO5/6381O7Hc3qSf6RTcvSJlSHQp0Jhvwr2GGfLn9iKP31Al1KS974DKc1Ys04onkouV3HkVZ1aFAhzaj92pCXcqz55aOnYbaJTp7vgebEj7bjso61peGTKkOBTq8C/a7hFC3VOw0pNyO6fONfnWftY3vOTjF9szKqg4FOmRRdy9v4SeaxgleQiDc9jFyja8C7uxFI4kvDbkd2yh9SnUo0OHzg8DWL0HiAfapyy8Q77vWPV1xKNqHQd2VqfA9HtThWdehQGecQieJZ73Q1cldOMDWTVLq+nHGEKJ1I8jHtpdq4zLKdftYjq3PTakOBTpjFl7D+hTf6JTbV4+meRvbtKQ8TvXQRdCFZYeL+vuuhyJtMmeKx8SyztXh2dahQGd0o/PQSaqDSng2fJPrPljcz1cHrFc1MLlResotmKeco7zEIMg6sotPe9S173Cyu+ngxUVzdSjQmV6Y337QScJEtV2mzlh3P80IfXruirR1CsIo76XN4kPhhDKcoCYGwTaGcO6y1gnle8nR38JoP5Z3qQ4FOtMK88UXgXsdO2N47elt0w4Z78m/FPWz2NdqYnKj9DBqTV3JLARTaIONVhWMIRACclekPUkRwulHB2UNI9nUgPnb307py3EEm1pedTiGY3T5Q08tlDZfVXZcBrGv7zL4j59a3njfblM0Wwv5OY6ow7ru+y/2u4xn03X73na9Fv05tY9Lbn+n/I7xYN10zsa6aoOxHR6qE8jiz2XmamsyQg37uPmsTWeqm5cTvlNV1tfjl6MclbW6nbUoGq7nkKvdT6kOBbpAP+dAv46B3uZe26H455L5rGi+SMz3rjugQD/fQI/fOfW+aFd6CYJM/S2XcI95lbFsk6jDIbjkTuoB+BBfrNLmflO1lnLjEUJpdYkdkMbtMNyLXQ308b0FQRyFhqtRQ86+/n1JOmeYT6kOBTpjOKCu4oGmz9nmz5c0cYXWbfAxtsE+ZyaHS9jf+gyCo+WQhwi/dSzvWh0KdC77gBo6xvci/S1pbaziQQ3et8HUF/q0HdHdxVeRHgYqaxV+fQTRaxzB/ui6vFOqQ4HOuR9Qj9+StupgxL6PBxYjc+pGsDdF/uWCD7Fdf4uruA1+AhNved0V3VwdC79fCPFvxxPq1OG4mBT37wZmUtzp5VnG3zb889TnSMMlvnVXl/rG1D4uuf118TvGRYluY/ubtWh/29gGD2dcdzn62j6W9Tk+VnYO5ZpMHQp0xhQW1aMk1+8Csvrz69FIYxv/vJ1aB6TTYKgmX87ftb3j9lc9eTHa9hf7WlXW2Qdl3cdyjqqsU6pDgQ4A/OUeOgAIdABAoAMAAh0AEOgAINABAIEOAAh0AECgA4BABwAEOgAg0AEAgQ4AAh0AEOgAgEAHAAQ6AAh0AECgAwACHQAQ6AAg0AEAgQ4ACHQAQKADgEAHAAQ6ACDQAQCBDgACHQAQ6ACAQAcABDoACHQAQKADAAIdABDoACDQAQCBDgAIdABAoAOAQAcABDoAINABAIEOAAh0ABDoAIBABwAEOgAg0AFAoAMAAh0AEOgAgEAHAIEOAAh0AECgAwACHQAEOgAg0AEAgQ4ACHQAEOgAgEAHAAQ6ACDQAUCgAwACHQAQ6ACAQAcAgQ4ACHQAQKADAAIdAAQ6ACDQAYD+/V+AAQADXuXS75wQpQAAAABJRU5ErkJggg==',\n\t\t};\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const externalToolFactory = ExternalToolFactory.define(ExternalTool, ({ sequence }) => {\n\treturn {\n\t\tname: `external-tool-${sequence}`,\n\t\turl: 'https://url.com/',\n\t\tconfig: basicToolConfigFactory.build(),\n\t\tlogoUrl: 'https://logo.com/',\n\t\tisHidden: false,\n\t\topenNewTab: false,\n\t\tversion: 1,\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolIdParams.html":{"url":"classes/ExternalToolIdParams.html","title":"class - ExternalToolIdParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolIdParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-id.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n externalToolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n externalToolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({nullable: false, required: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-id.params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsMongoId } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\n\nexport class ExternalToolIdParams {\n\t@IsMongoId()\n\t@ApiProperty({ nullable: false, required: true })\n\texternalToolId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolLogo.html":{"url":"classes/ExternalToolLogo.html","title":"class - ExternalToolLogo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolLogo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/domain/external-tool-logo.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n contentType\n \n \n logo\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolLogo: ExternalToolLogo)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool-logo.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolLogo\n \n \n ExternalToolLogo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n contentType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool-logo.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n logo\n \n \n \n \n \n \n Type : Buffer\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool-logo.ts:2\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class ExternalToolLogo {\n\tlogo: Buffer;\n\n\tcontentType: string;\n\n\tconstructor(externalToolLogo: ExternalToolLogo) {\n\t\tthis.logo = externalToolLogo.logo;\n\t\tthis.contentType = externalToolLogo.contentType;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolLogoFetchFailedLoggableException.html":{"url":"classes/ExternalToolLogoFetchFailedLoggableException.html","title":"class - ExternalToolLogoFetchFailedLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolLogoFetchFailedLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-fetch-failed-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logoUrl: string, httpStatus?: HttpStatus)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-fetch-failed-loggable-exception.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logoUrl\n \n \n string\n \n \n \n No\n \n \n \n \n httpStatus\n \n \n HttpStatus\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-fetch-failed-loggable-exception.ts:17\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { BusinessError } from '@shared/common';\n\nexport class ExternalToolLogoFetchFailedLoggableException extends BusinessError implements Loggable {\n\tconstructor(private readonly logoUrl: string, private readonly httpStatus?: HttpStatus) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'EXTERNAL_TOOL_LOGO_FETCH_FAILED',\n\t\t\t\ttitle: 'External tool logo fetch failed.',\n\t\t\t\tdefaultMessage: 'External tool logo could not been fetched.',\n\t\t\t},\n\t\t\tHttpStatus.INTERNAL_SERVER_ERROR\n\t\t);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'EXTERNAL_TOOL_LOGO_FETCH_FAILED',\n\t\t\tmessage: 'External tool logo could not been fetched',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tlogoUrl: this.logoUrl,\n\t\t\t\thttpStatus: this.httpStatus,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolLogoFetchedLoggable.html":{"url":"classes/ExternalToolLogoFetchedLoggable.html","title":"class - ExternalToolLogoFetchedLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolLogoFetchedLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-fetched-loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logoUrl: string)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-fetched-loggable.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logoUrl\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-fetched-loggable.ts:6\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class ExternalToolLogoFetchedLoggable implements Loggable {\n\tconstructor(private readonly logoUrl: string) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'EXTERNAL_TOOL_LOGO_FETCHED',\n\t\t\tmessage: 'External tool logo was fetched',\n\t\t\tdata: {\n\t\t\t\tlogoUrl: this.logoUrl,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolLogoNotFoundLoggableException.html":{"url":"classes/ExternalToolLogoNotFoundLoggableException.html","title":"class - ExternalToolLogoNotFoundLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolLogoNotFoundLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-not-found-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n NotFoundException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolId: string)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-not-found-loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolId\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-not-found-loggable-exception.ts:9\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { NotFoundException } from '@nestjs/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class ExternalToolLogoNotFoundLoggableException extends NotFoundException implements Loggable {\n\tconstructor(private readonly externalToolId: string) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'EXTERNAL_TOOL_LOGO_NOT_FOUND',\n\t\t\tmessage: 'External tool logo not found',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\texternalToolId: this.externalToolId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolLogoService.html":{"url":"classes/ExternalToolLogoService.html","title":"class - ExternalToolLogoService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolLogoService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/service/external-tool-logo.service.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n buildLogoUrl\n \n \n Private\n detectContentTypeOrThrow\n \n \n Private\n Async\n fetchBase64Logo\n \n \n Async\n fetchLogo\n \n \n Async\n getExternalToolBinaryLogo\n \n \n validateLogoSize\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(toolFeatures: IToolFeatures, logger: Logger, httpService: HttpService, externalToolService: ExternalToolService)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-logo.service.ts:26\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolFeatures\n \n \n IToolFeatures\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n httpService\n \n \n HttpService\n \n \n \n No\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n buildLogoUrl\n \n \n \n \n \n \nbuildLogoUrl(template: string, externalTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-logo.service.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n template\n \n string\n \n\n \n No\n \n\n\n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n detectContentTypeOrThrow\n \n \n \n \n \n \n \n detectContentTypeOrThrow(imageBuffer: Buffer)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-logo.service.ts:114\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n imageBuffer\n \n Buffer\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n fetchBase64Logo\n \n \n \n \n \n \n \n fetchBase64Logo(logoUrl: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-logo.service.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n logoUrl\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n fetchLogo\n \n \n \n \n \n \n \n fetchLogo(externalTool: Partial)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-logo.service.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getExternalToolBinaryLogo\n \n \n \n \n \n \n \n getExternalToolBinaryLogo(toolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-logo.service.ts:97\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n validateLogoSize\n \n \n \n \n \n \nvalidateLogoSize(externalTool: Partial)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-logo.service.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpService } from '@nestjs/axios';\nimport { HttpException, Inject } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { Logger } from '@src/core/logger';\nimport { AxiosResponse } from 'axios';\nimport { lastValueFrom } from 'rxjs';\nimport { IToolFeatures, ToolFeatures } from '../../tool-config';\nimport { ExternalTool } from '../domain';\nimport { ExternalToolLogo } from '../domain/external-tool-logo';\nimport {\n\tExternalToolLogoFetchedLoggable,\n\tExternalToolLogoFetchFailedLoggableException,\n\tExternalToolLogoNotFoundLoggableException,\n\tExternalToolLogoSizeExceededLoggableException,\n\tExternalToolLogoWrongFileTypeLoggableException,\n} from '../loggable';\nimport { ExternalToolService } from './external-tool.service';\n\nconst contentTypeDetector: Record = {\n\tffd8ffe0: 'image/jpeg',\n\tffd8ffe1: 'image/jpeg',\n\t'89504e47': 'image/png',\n\t'47494638': 'image/gif',\n};\n\nexport class ExternalToolLogoService {\n\tconstructor(\n\t\t@Inject(ToolFeatures) private readonly toolFeatures: IToolFeatures,\n\t\tprivate readonly logger: Logger,\n\t\tprivate readonly httpService: HttpService,\n\t\tprivate readonly externalToolService: ExternalToolService\n\t) {}\n\n\tbuildLogoUrl(template: string, externalTool: ExternalTool): string | undefined {\n\t\tconst { logo, id } = externalTool;\n\t\tconst backendUrl = this.toolFeatures.backEndUrl;\n\n\t\tif (logo) {\n\t\t\tconst filledTemplate = template.replace(/\\{id\\}/g, id || '');\n\t\t\treturn `${backendUrl}${filledTemplate}`;\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tvalidateLogoSize(externalTool: Partial): void {\n\t\tif (!externalTool.logo) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst buffer: Buffer = Buffer.from(externalTool.logo, 'base64');\n\n\t\tif (buffer.length > this.toolFeatures.maxExternalToolLogoSizeInBytes) {\n\t\t\tthrow new ExternalToolLogoSizeExceededLoggableException(\n\t\t\t\texternalTool.id,\n\t\t\t\tthis.toolFeatures.maxExternalToolLogoSizeInBytes\n\t\t\t);\n\t\t}\n\t}\n\n\tasync fetchLogo(externalTool: Partial): Promise {\n\t\tif (externalTool.logoUrl) {\n\t\t\tconst base64Logo: string = await this.fetchBase64Logo(externalTool.logoUrl);\n\n\t\t\tif (base64Logo) {\n\t\t\t\treturn base64Logo;\n\t\t\t}\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tprivate async fetchBase64Logo(logoUrl: string): Promise {\n\t\ttry {\n\t\t\tconst response: AxiosResponse = await lastValueFrom(\n\t\t\t\tthis.httpService.get(logoUrl, { responseType: 'arraybuffer' })\n\t\t\t);\n\t\t\tthis.logger.info(new ExternalToolLogoFetchedLoggable(logoUrl));\n\n\t\t\tconst buffer: Buffer = Buffer.from(response.data);\n\t\t\tthis.detectContentTypeOrThrow(buffer);\n\n\t\t\tconst logoBase64: string = buffer.toString('base64');\n\n\t\t\treturn logoBase64;\n\t\t} catch (error) {\n\t\t\tif (error instanceof ExternalToolLogoWrongFileTypeLoggableException) {\n\t\t\t\tthrow new ExternalToolLogoWrongFileTypeLoggableException();\n\t\t\t} else if (error instanceof HttpException) {\n\t\t\t\tthrow new ExternalToolLogoFetchFailedLoggableException(logoUrl, error.getStatus());\n\t\t\t} else {\n\t\t\t\tthrow new ExternalToolLogoFetchFailedLoggableException(logoUrl);\n\t\t\t}\n\t\t}\n\t}\n\n\tasync getExternalToolBinaryLogo(toolId: EntityId): Promise {\n\t\tconst tool: ExternalTool = await this.externalToolService.findById(toolId);\n\n\t\tif (!tool.logo) {\n\t\t\tthrow new ExternalToolLogoNotFoundLoggableException(toolId);\n\t\t}\n\n\t\tconst logoBinaryData: Buffer = Buffer.from(tool.logo, 'base64');\n\n\t\tconst externalToolLogo: ExternalToolLogo = new ExternalToolLogo({\n\t\t\tcontentType: this.detectContentTypeOrThrow(logoBinaryData),\n\t\t\tlogo: logoBinaryData,\n\t\t});\n\n\t\treturn externalToolLogo;\n\t}\n\n\tprivate detectContentTypeOrThrow(imageBuffer: Buffer): string {\n\t\tconst imageSignature: string = imageBuffer.toString('hex', 0, 4);\n\n\t\tconst contentType: string | ExternalToolLogoWrongFileTypeLoggableException =\n\t\t\tcontentTypeDetector[imageSignature] || new ExternalToolLogoWrongFileTypeLoggableException();\n\n\t\tif (contentType instanceof ExternalToolLogoWrongFileTypeLoggableException) {\n\t\t\tthrow new ExternalToolLogoWrongFileTypeLoggableException();\n\t\t}\n\n\t\treturn contentType;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolLogoSizeExceededLoggableException.html":{"url":"classes/ExternalToolLogoSizeExceededLoggableException.html","title":"class - ExternalToolLogoSizeExceededLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolLogoSizeExceededLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-size-exceeded-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolId: string | undefined, maxExternalToolLogoSizeInBytes: number)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-size-exceeded-loggable-exception.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolId\n \n \n string | undefined\n \n \n \n No\n \n \n \n \n maxExternalToolLogoSizeInBytes\n \n \n number\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-size-exceeded-loggable-exception.ts:20\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { BusinessError } from '@shared/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class ExternalToolLogoSizeExceededLoggableException extends BusinessError implements Loggable {\n\tconstructor(\n\t\tprivate readonly externalToolId: string | undefined,\n\t\tprivate readonly maxExternalToolLogoSizeInBytes: number\n\t) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'EXTERNAL_TOOL_LOGO_SIZE_EXCEEDED',\n\t\t\t\ttitle: 'External tool logo size exceeded.',\n\t\t\t\tdefaultMessage: 'External tool logo size exceeded.',\n\t\t\t},\n\t\t\tHttpStatus.BAD_REQUEST\n\t\t);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'EXTERNAL_TOOL_LOGO_SIZE_EXCEEDED',\n\t\t\tmessage: 'External tool logo size exceeded',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\texternalToolId: this.externalToolId,\n\t\t\t\tmaxExternalToolLogoSizeInBytes: this.maxExternalToolLogoSizeInBytes,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{"url":"classes/ExternalToolLogoWrongFileTypeLoggableException.html","title":"class - ExternalToolLogoWrongFileTypeLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolLogoWrongFileTypeLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-wrong-file-type-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor()\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-wrong-file-type-loggable-exception.ts:5\n \n \n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-wrong-file-type-loggable-exception.ts:17\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BusinessError } from '@shared/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { HttpStatus } from '@nestjs/common';\n\nexport class ExternalToolLogoWrongFileTypeLoggableException extends BusinessError implements Loggable {\n\tconstructor() {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'EXTERNAL_TOOL_LOGO_WRONG_FILE_TYPE',\n\t\t\t\ttitle: 'External tool logo wrong file type.',\n\t\t\t\tdefaultMessage: 'External tool logo has the wrong file type. Only JPEG and PNG files are supported.',\n\t\t\t},\n\t\t\tHttpStatus.BAD_REQUEST\n\t\t);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'EXTERNAL_TOOL_LOGO_WRONG_FILE_TYPE',\n\t\t\tmessage: 'External tool logo has the wrong file type. Only JPEG and PNG files are supported.',\n\t\t\tstack: this.stack,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolMetadata.html":{"url":"classes/ExternalToolMetadata.html","title":"class - ExternalToolMetadata","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolMetadata\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/domain/external-tool-metadata.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n contextExternalToolCountPerContext\n \n \n schoolExternalToolCount\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolMetadata: ExternalToolMetadata)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool-metadata.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolMetadata\n \n \n ExternalToolMetadata\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n contextExternalToolCountPerContext\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool-metadata.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n schoolExternalToolCount\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool-metadata.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ContextExternalToolType } from '../../context-external-tool/entity';\n\nexport class ExternalToolMetadata {\n\tschoolExternalToolCount: number;\n\n\tcontextExternalToolCountPerContext: Record;\n\n\tconstructor(externalToolMetadata: ExternalToolMetadata) {\n\t\tthis.schoolExternalToolCount = externalToolMetadata.schoolExternalToolCount;\n\t\tthis.contextExternalToolCountPerContext = externalToolMetadata.contextExternalToolCountPerContext;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolMetadataMapper.html":{"url":"classes/ExternalToolMetadataMapper.html","title":"class - ExternalToolMetadataMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolMetadataMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/mapper/external-tool-metadata.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToExternalToolMetadataResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToExternalToolMetadataResponse\n \n \n \n \n \n \n \n mapToExternalToolMetadataResponse(externalToolMetadata: ExternalToolMetadata)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-metadata.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolMetadata\n \n ExternalToolMetadata\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalToolMetadataResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ContextExternalToolCountPerContextResponse } from '../../common/controller/dto';\nimport { ExternalToolMetadataResponse } from '../controller/dto';\nimport { ExternalToolMetadata } from '../domain';\n\nexport class ExternalToolMetadataMapper {\n\tstatic mapToExternalToolMetadataResponse(externalToolMetadata: ExternalToolMetadata): ExternalToolMetadataResponse {\n\t\tconst externalToolMetadataResponse: ExternalToolMetadataResponse = new ExternalToolMetadataResponse({\n\t\t\tschoolExternalToolCount: externalToolMetadata.schoolExternalToolCount,\n\t\t\tcontextExternalToolCountPerContext: new ContextExternalToolCountPerContextResponse(\n\t\t\t\texternalToolMetadata.contextExternalToolCountPerContext\n\t\t\t),\n\t\t});\n\n\t\treturn externalToolMetadataResponse;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolMetadataResponse.html":{"url":"classes/ExternalToolMetadataResponse.html","title":"class - ExternalToolMetadataResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolMetadataResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool-metadata.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contextExternalToolCountPerContext\n \n \n \n schoolExternalToolCount\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolMetadataResponse: ExternalToolMetadataResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool-metadata.response.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolMetadataResponse\n \n \n ExternalToolMetadataResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextExternalToolCountPerContext\n \n \n \n \n \n \n Type : ContextExternalToolCountPerContextResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool-metadata.response.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n \n schoolExternalToolCount\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool-metadata.response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContextExternalToolCountPerContextResponse } from '../../../../common/controller/dto';\n\nexport class ExternalToolMetadataResponse {\n\t@ApiProperty()\n\tschoolExternalToolCount: number;\n\n\t@ApiProperty()\n\tcontextExternalToolCountPerContext: ContextExternalToolCountPerContextResponse;\n\n\tconstructor(externalToolMetadataResponse: ExternalToolMetadataResponse) {\n\t\tthis.schoolExternalToolCount = externalToolMetadataResponse.schoolExternalToolCount;\n\t\tthis.contextExternalToolCountPerContext = externalToolMetadataResponse.contextExternalToolCountPerContext;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolMetadataService.html":{"url":"injectables/ExternalToolMetadataService.html","title":"injectable - ExternalToolMetadataService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolMetadataService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/service/external-tool-metadata.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getMetadata\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolToolRepo: SchoolExternalToolRepo, contextToolRepo: ContextExternalToolRepo)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-metadata.service.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolToolRepo\n \n \n SchoolExternalToolRepo\n \n \n \n No\n \n \n \n \n contextToolRepo\n \n \n ContextExternalToolRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getMetadata\n \n \n \n \n \n \n \n getMetadata(toolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-metadata.service.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ContextExternalToolRepo, SchoolExternalToolRepo } from '@shared/repo';\nimport { ToolContextType } from '../../common/enum';\nimport { ToolContextMapper } from '../../common/mapper/tool-context.mapper';\nimport { ContextExternalToolType } from '../../context-external-tool/entity';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { ExternalToolMetadata } from '../domain';\n\n@Injectable()\nexport class ExternalToolMetadataService {\n\tconstructor(\n\t\tprivate readonly schoolToolRepo: SchoolExternalToolRepo,\n\t\tprivate readonly contextToolRepo: ContextExternalToolRepo\n\t) {}\n\n\tasync getMetadata(toolId: EntityId): Promise {\n\t\tconst schoolExternalTools: SchoolExternalTool[] = await this.schoolToolRepo.findByExternalToolId(toolId);\n\n\t\tconst schoolExternalToolIds: string[] = schoolExternalTools.map(\n\t\t\t(schoolExternalTool: SchoolExternalTool): string =>\n\t\t\t\t// We can be sure that the repo returns the id\n\t\t\t\tschoolExternalTool.id as string\n\t\t);\n\t\tconst contextExternalToolCount: Record = {\n\t\t\t[ContextExternalToolType.BOARD_ELEMENT]: 0,\n\t\t\t[ContextExternalToolType.COURSE]: 0,\n\t\t};\n\t\tif (schoolExternalTools.length >= 1) {\n\t\t\tawait Promise.all(\n\t\t\t\tObject.values(ToolContextType).map(async (contextType: ToolContextType): Promise => {\n\t\t\t\t\tconst type: ContextExternalToolType = ToolContextMapper.contextMapping[contextType];\n\n\t\t\t\t\tconst countPerContext: number = await this.contextToolRepo.countBySchoolToolIdsAndContextType(\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\tschoolExternalToolIds\n\t\t\t\t\t);\n\t\t\t\t\tcontextExternalToolCount[type] = countPerContext;\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\n\t\tconst externalToolMetadata: ExternalToolMetadata = new ExternalToolMetadata({\n\t\t\tschoolExternalToolCount: schoolExternalTools.length,\n\t\t\tcontextExternalToolCountPerContext: contextExternalToolCount,\n\t\t});\n\n\t\treturn externalToolMetadata;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ExternalToolModule.html":{"url":"modules/ExternalToolModule.html","title":"module - ExternalToolModule","body":"\n \n\n\n\n\n Modules\n ExternalToolModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ExternalToolModule\n\n\n\ncluster_ExternalToolModule_exports\n\n\n\ncluster_ExternalToolModule_providers\n\n\n\ncluster_ExternalToolModule_imports\n\n\n\n\nCommonToolModule\n\nCommonToolModule\n\n\n\nExternalToolModule\n\nExternalToolModule\n\nExternalToolModule -->\n\nCommonToolModule->ExternalToolModule\n\n\n\n\n\nEncryptionModule\n\nEncryptionModule\n\nExternalToolModule -->\n\nEncryptionModule->ExternalToolModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nExternalToolModule -->\n\nLoggerModule->ExternalToolModule\n\n\n\n\n\nOauthProviderServiceModule\n\nOauthProviderServiceModule\n\nExternalToolModule -->\n\nOauthProviderServiceModule->ExternalToolModule\n\n\n\n\n\nToolConfigModule\n\nToolConfigModule\n\nExternalToolModule -->\n\nToolConfigModule->ExternalToolModule\n\n\n\n\n\nExternalToolConfigurationService \n\nExternalToolConfigurationService \n\nExternalToolConfigurationService -->\n\nExternalToolModule->ExternalToolConfigurationService \n\n\n\n\n\nExternalToolLogoService \n\nExternalToolLogoService \n\nExternalToolLogoService -->\n\nExternalToolModule->ExternalToolLogoService \n\n\n\n\n\nExternalToolMetadataService \n\nExternalToolMetadataService \n\nExternalToolMetadataService -->\n\nExternalToolModule->ExternalToolMetadataService \n\n\n\n\n\nExternalToolService \n\nExternalToolService \n\nExternalToolService -->\n\nExternalToolModule->ExternalToolService \n\n\n\n\n\nExternalToolValidationService \n\nExternalToolValidationService \n\nExternalToolValidationService -->\n\nExternalToolModule->ExternalToolValidationService \n\n\n\n\n\nExternalToolVersionIncrementService \n\nExternalToolVersionIncrementService \n\nExternalToolVersionIncrementService -->\n\nExternalToolModule->ExternalToolVersionIncrementService \n\n\n\n\n\nExternalToolConfigurationService\n\nExternalToolConfigurationService\n\nExternalToolModule -->\n\nExternalToolConfigurationService->ExternalToolModule\n\n\n\n\n\nExternalToolMetadataService\n\nExternalToolMetadataService\n\nExternalToolModule -->\n\nExternalToolMetadataService->ExternalToolModule\n\n\n\n\n\nExternalToolParameterValidationService\n\nExternalToolParameterValidationService\n\nExternalToolModule -->\n\nExternalToolParameterValidationService->ExternalToolModule\n\n\n\n\n\nExternalToolRepo\n\nExternalToolRepo\n\nExternalToolModule -->\n\nExternalToolRepo->ExternalToolModule\n\n\n\n\n\nExternalToolService\n\nExternalToolService\n\nExternalToolModule -->\n\nExternalToolService->ExternalToolModule\n\n\n\n\n\nExternalToolServiceMapper\n\nExternalToolServiceMapper\n\nExternalToolModule -->\n\nExternalToolServiceMapper->ExternalToolModule\n\n\n\n\n\nExternalToolValidationService\n\nExternalToolValidationService\n\nExternalToolModule -->\n\nExternalToolValidationService->ExternalToolModule\n\n\n\n\n\nExternalToolVersionIncrementService\n\nExternalToolVersionIncrementService\n\nExternalToolModule -->\n\nExternalToolVersionIncrementService->ExternalToolModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tool/external-tool/external-tool.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ExternalToolConfigurationService\n \n \n ExternalToolMetadataService\n \n \n ExternalToolParameterValidationService\n \n \n ExternalToolRepo\n \n \n ExternalToolService\n \n \n ExternalToolServiceMapper\n \n \n ExternalToolValidationService\n \n \n ExternalToolVersionIncrementService\n \n \n \n \n Imports\n \n \n CommonToolModule\n \n \n EncryptionModule\n \n \n LoggerModule\n \n \n OauthProviderServiceModule\n \n \n ToolConfigModule\n \n \n \n \n Exports\n \n \n ExternalToolConfigurationService\n \n \n ExternalToolLogoService\n \n \n ExternalToolMetadataService\n \n \n ExternalToolService\n \n \n ExternalToolValidationService\n \n \n ExternalToolVersionIncrementService\n \n \n \n \n \n\n\n \n\n\n \n import { HttpModule } from '@nestjs/axios';\nimport { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { OauthProviderServiceModule } from '@infra/oauth-provider';\nimport { EncryptionModule } from '@infra/encryption';\nimport { ExternalToolRepo } from '@shared/repo';\nimport { ToolConfigModule } from '../tool-config.module';\nimport { ExternalToolMetadataMapper } from './mapper';\nimport { ToolContextMapper } from '../common/mapper/tool-context.mapper';\nimport {\n\tExternalToolConfigurationService,\n\tExternalToolLogoService,\n\tExternalToolParameterValidationService,\n\tExternalToolService,\n\tExternalToolServiceMapper,\n\tExternalToolValidationService,\n\tExternalToolVersionIncrementService,\n\tExternalToolMetadataService,\n} from './service';\nimport { CommonToolModule } from '../common';\n\n@Module({\n\timports: [CommonToolModule, ToolConfigModule, LoggerModule, OauthProviderServiceModule, EncryptionModule, HttpModule],\n\tproviders: [\n\t\tExternalToolService,\n\t\tExternalToolServiceMapper,\n\t\tExternalToolParameterValidationService,\n\t\tExternalToolValidationService,\n\t\tExternalToolVersionIncrementService,\n\t\tExternalToolConfigurationService,\n\t\tExternalToolLogoService,\n\t\tExternalToolRepo,\n\t\tExternalToolMetadataService,\n\t\tExternalToolMetadataMapper,\n\t\tToolContextMapper,\n\t],\n\texports: [\n\t\tExternalToolService,\n\t\tExternalToolValidationService,\n\t\tExternalToolVersionIncrementService,\n\t\tExternalToolConfigurationService,\n\t\tExternalToolLogoService,\n\t\tExternalToolMetadataService,\n\t],\n})\nexport class ExternalToolModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolParameterValidationService.html":{"url":"injectables/ExternalToolParameterValidationService.html","title":"injectable - ExternalToolParameterValidationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolParameterValidationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n hasDuplicateAttributes\n \n \n Private\n isAutoParameterGlobal\n \n \n Private\n isCustomParameterNameEmpty\n \n \n Private\n isDefaultValueOfValidRegex\n \n \n Private\n isDefaultValueOfValidType\n \n \n Private\n isGlobalParameterValid\n \n \n Private\n Async\n isNameUnique\n \n \n Private\n isRegexCommentMandatoryAndFilled\n \n \n Private\n isRegexValid\n \n \n Async\n validateCommon\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolService: ExternalToolService, commonToolValidationService: CommonToolValidationService)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n commonToolValidationService\n \n \n CommonToolValidationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n hasDuplicateAttributes\n \n \n \n \n \n \n \n hasDuplicateAttributes(customParameter: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts:86\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameter\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isAutoParameterGlobal\n \n \n \n \n \n \n \n isAutoParameterGlobal(customParameter: CustomParameter)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts:148\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameter\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isCustomParameterNameEmpty\n \n \n \n \n \n \n \n isCustomParameterNameEmpty(param: CustomParameter)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n param\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isDefaultValueOfValidRegex\n \n \n \n \n \n \n \n isDefaultValueOfValidRegex(param: CustomParameter)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts:108\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n param\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isDefaultValueOfValidType\n \n \n \n \n \n \n \n isDefaultValueOfValidType(param: CustomParameter)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts:118\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n param\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isGlobalParameterValid\n \n \n \n \n \n \n \n isGlobalParameterValid(customParameter: CustomParameter)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts:136\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameter\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n isNameUnique\n \n \n \n \n \n \n \n isNameUnique(externalTool: ExternalTool | Partial)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool | Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isRegexCommentMandatoryAndFilled\n \n \n \n \n \n \n \n isRegexCommentMandatoryAndFilled(customParameter: CustomParameter)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts:128\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameter\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isRegexValid\n \n \n \n \n \n \n \n isRegexValid(param: CustomParameter)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts:95\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n param\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n validateCommon\n \n \n \n \n \n \n \n validateCommon(externalTool: ExternalTool | Partial)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool | Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ValidationError } from '@shared/common';\nimport { CustomParameter } from '../../common/domain';\nimport { autoParameters, CustomParameterScope } from '../../common/enum';\nimport { CommonToolValidationService } from '../../common/service';\nimport { ExternalTool } from '../domain';\nimport { ExternalToolService } from './external-tool.service';\n\n@Injectable()\nexport class ExternalToolParameterValidationService {\n\tconstructor(\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly commonToolValidationService: CommonToolValidationService\n\t) {}\n\n\tasync validateCommon(externalTool: ExternalTool | Partial): Promise {\n\t\tif (!(await this.isNameUnique(externalTool))) {\n\t\t\tthrow new ValidationError(`tool_name_duplicate: The tool name \"${externalTool.name || ''}\" is already used.`);\n\t\t}\n\n\t\tif (externalTool.parameters) {\n\t\t\tif (this.hasDuplicateAttributes(externalTool.parameters)) {\n\t\t\t\tthrow new ValidationError(\n\t\t\t\t\t`tool_param_duplicate: The tool ${externalTool.name || ''} contains multiple of the same custom parameters.`\n\t\t\t\t);\n\t\t\t}\n\n\t\t\texternalTool.parameters.forEach((param: CustomParameter) => {\n\t\t\t\tif (this.isCustomParameterNameEmpty(param)) {\n\t\t\t\t\tthrow new ValidationError(`tool_param_name: A custom parameter is missing a name.`);\n\t\t\t\t}\n\n\t\t\t\tif (!this.isGlobalParameterValid(param)) {\n\t\t\t\t\tthrow new ValidationError(\n\t\t\t\t\t\t`tool_param_default_required: The custom parameter \"${param.name}\" is a global parameter and requires a default value.`\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif (!this.isAutoParameterGlobal(param)) {\n\t\t\t\t\tthrow new ValidationError(\n\t\t\t\t\t\t`tool_param_auto_requires_global: The custom parameter \"${param.name}\" with type \"${param.type}\" must have the scope \"global\", since it is automatically filled.`\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif (!this.isRegexCommentMandatoryAndFilled(param)) {\n\t\t\t\t\tthrow new ValidationError(\n\t\t\t\t\t\t`tool_param_regexComment: The custom parameter \"${param.name}\" parameter is missing a regex comment.`\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif (!this.isRegexValid(param)) {\n\t\t\t\t\tthrow new ValidationError(\n\t\t\t\t\t\t`tool_param_regex_invalid: The custom Parameter \"${param.name}\" has an invalid regex.`\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif (!this.isDefaultValueOfValidType(param)) {\n\t\t\t\t\tthrow new ValidationError(\n\t\t\t\t\t\t`tool_param_type_mismatch: The default value of the custom parameter \"${param.name}\" should be of type \"${param.type}\".`\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif (!this.isDefaultValueOfValidRegex(param)) {\n\t\t\t\t\tthrow new ValidationError(\n\t\t\t\t\t\t`tool_param_default_regex: The default value of a the custom parameter \"${param.name}\" does not match its regex.`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tprivate isCustomParameterNameEmpty(param: CustomParameter): boolean {\n\t\treturn !param.name || !param.displayName;\n\t}\n\n\tprivate async isNameUnique(externalTool: ExternalTool | Partial): Promise {\n\t\tif (!externalTool.name) {\n\t\t\treturn true;\n\t\t}\n\n\t\tconst duplicate: ExternalTool | null = await this.externalToolService.findExternalToolByName(externalTool.name);\n\n\t\treturn duplicate == null || duplicate.id === externalTool.id;\n\t}\n\n\tprivate hasDuplicateAttributes(customParameter: CustomParameter[]): boolean {\n\t\treturn customParameter.some((item, itemIndex) =>\n\t\t\tcustomParameter.some(\n\t\t\t\t(other, otherIndex) =>\n\t\t\t\t\titemIndex !== otherIndex && item.name.toLocaleLowerCase() === other.name.toLocaleLowerCase()\n\t\t\t)\n\t\t);\n\t}\n\n\tprivate isRegexValid(param: CustomParameter): boolean {\n\t\tif (param.regex) {\n\t\t\ttry {\n\t\t\t\t// eslint-disable-next-line no-new\n\t\t\t\tnew RegExp(param.regex);\n\t\t\t} catch (e) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tprivate isDefaultValueOfValidRegex(param: CustomParameter): boolean {\n\t\tif (param.regex && param.default) {\n\t\t\tconst isValid: boolean = new RegExp(param.regex).test(param.default);\n\n\t\t\treturn isValid;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tprivate isDefaultValueOfValidType(param: CustomParameter): boolean {\n\t\tif (param.default) {\n\t\t\tconst isValid: boolean = this.commonToolValidationService.isValueValidForType(param.type, param.default);\n\n\t\t\treturn isValid;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tprivate isRegexCommentMandatoryAndFilled(customParameter: CustomParameter): boolean {\n\t\tif (customParameter.regex && !customParameter.regexComment) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tprivate isGlobalParameterValid(customParameter: CustomParameter): boolean {\n\t\tif (customParameter.scope !== CustomParameterScope.GLOBAL) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (autoParameters.includes(customParameter.type) || customParameter.default) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tprivate isAutoParameterGlobal(customParameter: CustomParameter): boolean {\n\t\tif (!autoParameters.includes(customParameter.type)) {\n\t\t\treturn true;\n\t\t}\n\n\t\tconst isGlobal: boolean = customParameter.scope === CustomParameterScope.GLOBAL;\n\n\t\treturn isGlobal;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ExternalToolProps.html":{"url":"interfaces/ExternalToolProps.html","title":"interface - ExternalToolProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ExternalToolProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n config\n \n \n \n Optional\n \n id\n \n \n \n \n isHidden\n \n \n \n Optional\n \n logo\n \n \n \n Optional\n \n logoUrl\n \n \n \n \n name\n \n \n \n \n openNewTab\n \n \n \n Optional\n \n parameters\n \n \n \n Optional\n \n restrictToContexts\n \n \n \n Optional\n \n url\n \n \n \n \n version\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n config\n \n \n \n \n \n \n \n \n config: BasicToolConfig | Lti11ToolConfig | Oauth2ToolConfig\n\n \n \n\n\n \n \n Type : BasicToolConfig | Lti11ToolConfig | Oauth2ToolConfig\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n isHidden\n \n \n \n \n \n \n \n \n isHidden: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n logo\n \n \n \n \n \n \n \n \n logo: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n logoUrl\n \n \n \n \n \n \n \n \n logoUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n openNewTab\n \n \n \n \n \n \n \n \n openNewTab: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n \n \n parameters: CustomParameter[]\n\n \n \n\n\n \n \n Type : CustomParameter[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n restrictToContexts\n \n \n \n \n \n \n \n \n restrictToContexts: ToolContextType[]\n\n \n \n\n\n \n \n Type : ToolContextType[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n version\n \n \n \n \n \n \n \n \n version: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BaseDO } from '@shared/domain/domainobject/base.do';\nimport { ToolVersion } from '../../common/interface';\nimport { Oauth2ToolConfig, BasicToolConfig, Lti11ToolConfig, ExternalToolConfig } from './config';\nimport { CustomParameter } from '../../common/domain';\nimport { ToolConfigType, ToolContextType } from '../../common/enum';\n\nexport interface ExternalToolProps {\n\tid?: string;\n\n\tname: string;\n\n\turl?: string;\n\n\tlogoUrl?: string;\n\n\tlogo?: string;\n\n\tconfig: BasicToolConfig | Lti11ToolConfig | Oauth2ToolConfig;\n\n\tparameters?: CustomParameter[];\n\n\tisHidden: boolean;\n\n\topenNewTab: boolean;\n\n\tversion: number;\n\n\trestrictToContexts?: ToolContextType[];\n}\n\nexport class ExternalTool extends BaseDO implements ToolVersion {\n\tname: string;\n\n\turl?: string;\n\n\tlogoUrl?: string;\n\n\tlogo?: string;\n\n\tconfig: BasicToolConfig | Lti11ToolConfig | Oauth2ToolConfig;\n\n\tparameters?: CustomParameter[];\n\n\tisHidden: boolean;\n\n\topenNewTab: boolean;\n\n\tversion: number;\n\n\trestrictToContexts?: ToolContextType[];\n\n\tconstructor(props: ExternalToolProps) {\n\t\tsuper(props.id);\n\n\t\tthis.name = props.name;\n\t\tthis.url = props.url;\n\t\tthis.logoUrl = props.logoUrl;\n\t\tthis.logo = props.logo;\n\t\tthis.config = props.config;\n\t\tthis.parameters = props.parameters;\n\t\tthis.isHidden = props.isHidden;\n\t\tthis.openNewTab = props.openNewTab;\n\t\tthis.version = props.version;\n\t\tthis.restrictToContexts = props.restrictToContexts;\n\t}\n\n\tgetVersion(): number {\n\t\treturn this.version;\n\t}\n\n\tstatic isOauth2Config(config: ExternalToolConfig): config is Oauth2ToolConfig {\n\t\treturn ToolConfigType.OAUTH2 === config.type;\n\t}\n\n\tstatic isLti11Config(config: ExternalToolConfig): config is Lti11ToolConfig {\n\t\treturn ToolConfigType.LTI11 === config.type;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/ExternalToolPseudonymEntity.html":{"url":"entities/ExternalToolPseudonymEntity.html","title":"entity - ExternalToolPseudonymEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n ExternalToolPseudonymEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/entity/external-tool-pseudonym.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n pseudonym\n \n \n \n toolId\n \n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n pseudonym\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()@Unique()\n \n \n \n \n \n Defined in apps/server/src/modules/pseudonym/entity/external-tool-pseudonym.entity.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n toolId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/pseudonym/entity/external-tool-pseudonym.entity.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/pseudonym/entity/external-tool-pseudonym.entity.ts:24\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property, Unique } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface ExternalToolPseudonymEntityProps {\n\tid?: EntityId;\n\tpseudonym: string;\n\ttoolId: ObjectId;\n\tuserId: ObjectId;\n}\n\n@Entity({ tableName: 'external-tool-pseudonyms' })\n@Unique({ properties: ['userId', 'toolId'] })\nexport class ExternalToolPseudonymEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Unique()\n\tpseudonym: string;\n\n\t@Property()\n\ttoolId: ObjectId;\n\n\t@Property()\n\tuserId: ObjectId;\n\n\tconstructor(props: ExternalToolPseudonymEntityProps) {\n\t\tsuper();\n\t\tif (props.id != null) {\n\t\t\tthis.id = props.id;\n\t\t}\n\t\tthis.pseudonym = props.pseudonym;\n\t\tthis.toolId = props.toolId;\n\t\tthis.userId = props.userId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ExternalToolPseudonymEntityProps.html":{"url":"interfaces/ExternalToolPseudonymEntityProps.html","title":"interface - ExternalToolPseudonymEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ExternalToolPseudonymEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/entity/external-tool-pseudonym.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n id\n \n \n \n \n pseudonym\n \n \n \n \n toolId\n \n \n \n \n userId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n pseudonym\n \n \n \n \n \n \n \n \n pseudonym: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n toolId\n \n \n \n \n \n \n \n \n toolId: ObjectId\n\n \n \n\n\n \n \n Type : ObjectId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: ObjectId\n\n \n \n\n\n \n \n Type : ObjectId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property, Unique } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface ExternalToolPseudonymEntityProps {\n\tid?: EntityId;\n\tpseudonym: string;\n\ttoolId: ObjectId;\n\tuserId: ObjectId;\n}\n\n@Entity({ tableName: 'external-tool-pseudonyms' })\n@Unique({ properties: ['userId', 'toolId'] })\nexport class ExternalToolPseudonymEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Unique()\n\tpseudonym: string;\n\n\t@Property()\n\ttoolId: ObjectId;\n\n\t@Property()\n\tuserId: ObjectId;\n\n\tconstructor(props: ExternalToolPseudonymEntityProps) {\n\t\tsuper();\n\t\tif (props.id != null) {\n\t\t\tthis.id = props.id;\n\t\t}\n\t\tthis.pseudonym = props.pseudonym;\n\t\tthis.toolId = props.toolId;\n\t\tthis.userId = props.userId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolPseudonymRepo.html":{"url":"injectables/ExternalToolPseudonymRepo.html","title":"injectable - ExternalToolPseudonymRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolPseudonymRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/repo/external-tool-pseudonym.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createOrUpdate\n \n \n Async\n deletePseudonymsByUserId\n \n \n Async\n findByUserId\n \n \n Async\n findByUserIdAndToolId\n \n \n Async\n findByUserIdAndToolIdOrFail\n \n \n Async\n findPseudonym\n \n \n Async\n findPseudonymByPseudonym\n \n \n Protected\n mapDomainObjectToEntityProperties\n \n \n Protected\n mapEntityToDomainObject\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/pseudonym/repo/external-tool-pseudonym.repo.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createOrUpdate\n \n \n \n \n \n \n \n createOrUpdate(domainObject: Pseudonym)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/external-tool-pseudonym.repo.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n Pseudonym\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deletePseudonymsByUserId\n \n \n \n \n \n \n \n deletePseudonymsByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/external-tool-pseudonym.repo.ts:71\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserId\n \n \n \n \n \n \n \n findByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/external-tool-pseudonym.repo.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserIdAndToolId\n \n \n \n \n \n \n \n findByUserIdAndToolId(userId: EntityId, toolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/external-tool-pseudonym.repo.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n toolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserIdAndToolIdOrFail\n \n \n \n \n \n \n \n findByUserIdAndToolIdOrFail(userId: EntityId, toolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/external-tool-pseudonym.repo.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n toolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findPseudonym\n \n \n \n \n \n \n \n findPseudonym(query: PseudonymSearchQuery, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/external-tool-pseudonym.repo.ts:114\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n PseudonymSearchQuery\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findPseudonymByPseudonym\n \n \n \n \n \n \n \n findPseudonymByPseudonym(pseudonym: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/external-tool-pseudonym.repo.ts:79\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonym\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n mapDomainObjectToEntityProperties\n \n \n \n \n \n \n \n mapDomainObjectToEntityProperties(entityDO: Pseudonym)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/external-tool-pseudonym.repo.ts:106\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n Pseudonym\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalToolPseudonymEntityProps\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n mapEntityToDomainObject\n \n \n \n \n \n \n \n mapEntityToDomainObject(entity: ExternalToolPseudonymEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/external-tool-pseudonym.repo.ts:93\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n ExternalToolPseudonymEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Pseudonym\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager, ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { Page, Pseudonym } from '@shared/domain/domainobject';\nimport { IFindOptions, Pagination } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { Scope } from '@shared/repo';\nimport { PseudonymSearchQuery } from '../domain';\nimport { ExternalToolPseudonymEntity, ExternalToolPseudonymEntityProps } from '../entity';\nimport { PseudonymScope } from '../entity/pseudonym.scope';\n\n@Injectable()\nexport class ExternalToolPseudonymRepo {\n\tconstructor(private readonly em: EntityManager) {}\n\n\tasync findByUserIdAndToolIdOrFail(userId: EntityId, toolId: EntityId): Promise {\n\t\tconst entity: ExternalToolPseudonymEntity = await this.em.findOneOrFail(ExternalToolPseudonymEntity, {\n\t\t\tuserId: new ObjectId(userId),\n\t\t\ttoolId: new ObjectId(toolId),\n\t\t});\n\n\t\tconst domainObject: Pseudonym = this.mapEntityToDomainObject(entity);\n\n\t\treturn domainObject;\n\t}\n\n\tasync findByUserIdAndToolId(userId: EntityId, toolId: EntityId): Promise {\n\t\tconst entity: ExternalToolPseudonymEntity | null = await this.em.findOne(ExternalToolPseudonymEntity, {\n\t\t\tuserId: new ObjectId(userId),\n\t\t\ttoolId: new ObjectId(toolId),\n\t\t});\n\n\t\tif (!entity) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst domainObject: Pseudonym = this.mapEntityToDomainObject(entity);\n\n\t\treturn domainObject;\n\t}\n\n\tasync findByUserId(userId: EntityId): Promise {\n\t\tconst entities: ExternalToolPseudonymEntity[] = await this.em.find(ExternalToolPseudonymEntity, {\n\t\t\tuserId: new ObjectId(userId),\n\t\t});\n\t\tconst pseudonyms: Pseudonym[] = entities.map((entity) => this.mapEntityToDomainObject(entity));\n\n\t\treturn pseudonyms;\n\t}\n\n\tasync createOrUpdate(domainObject: Pseudonym): Promise {\n\t\tconst existing: ExternalToolPseudonymEntity | undefined = this.em\n\t\t\t.getUnitOfWork()\n\t\t\t.getById(ExternalToolPseudonymEntity.name, domainObject.id);\n\n\t\tconst entityProps: ExternalToolPseudonymEntityProps = this.mapDomainObjectToEntityProperties(domainObject);\n\t\tlet entity: ExternalToolPseudonymEntity = new ExternalToolPseudonymEntity(entityProps);\n\n\t\tif (existing) {\n\t\t\tentity = this.em.assign(existing, entity);\n\t\t} else {\n\t\t\tthis.em.persist(entity);\n\t\t}\n\n\t\tawait this.em.flush();\n\n\t\tconst savedDomainObject: Pseudonym = this.mapEntityToDomainObject(entity);\n\n\t\treturn savedDomainObject;\n\t}\n\n\tasync deletePseudonymsByUserId(userId: EntityId): Promise {\n\t\tconst promise: Promise = this.em.nativeDelete(ExternalToolPseudonymEntity, {\n\t\t\tuserId: new ObjectId(userId),\n\t\t});\n\n\t\treturn promise;\n\t}\n\n\tasync findPseudonymByPseudonym(pseudonym: string): Promise {\n\t\tconst entities: ExternalToolPseudonymEntity | null = await this.em.findOne(ExternalToolPseudonymEntity, {\n\t\t\tpseudonym,\n\t\t});\n\n\t\tif (!entities) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst domainObject: Pseudonym = this.mapEntityToDomainObject(entities);\n\n\t\treturn domainObject;\n\t}\n\n\tprotected mapEntityToDomainObject(entity: ExternalToolPseudonymEntity): Pseudonym {\n\t\tconst pseudonym = new Pseudonym({\n\t\t\tid: entity.id,\n\t\t\tpseudonym: entity.pseudonym,\n\t\t\ttoolId: entity.toolId.toHexString(),\n\t\t\tuserId: entity.userId.toHexString(),\n\t\t\tcreatedAt: entity.createdAt,\n\t\t\tupdatedAt: entity.updatedAt,\n\t\t});\n\n\t\treturn pseudonym;\n\t}\n\n\tprotected mapDomainObjectToEntityProperties(entityDO: Pseudonym): ExternalToolPseudonymEntityProps {\n\t\treturn {\n\t\t\tpseudonym: entityDO.pseudonym,\n\t\t\ttoolId: new ObjectId(entityDO.toolId),\n\t\t\tuserId: new ObjectId(entityDO.userId),\n\t\t};\n\t}\n\n\tasync findPseudonym(query: PseudonymSearchQuery, options?: IFindOptions): Promise> {\n\t\tconst pagination: Pagination = options?.pagination ?? {};\n\t\tconst scope: Scope = new PseudonymScope()\n\t\t\t.byPseudonym(query.pseudonym)\n\t\t\t.byToolId(query.toolId)\n\t\t\t.byUserId(query.userId)\n\t\t\t.allowEmptyQuery(true);\n\n\t\tconst [entities, total] = await this.em.findAndCount(ExternalToolPseudonymEntity, scope.query, {\n\t\t\toffset: pagination?.skip,\n\t\t\tlimit: pagination?.limit,\n\t\t});\n\n\t\tconst entityDos: Pseudonym[] = entities.map((entity) => this.mapEntityToDomainObject(entity));\n\t\tconst page: Page = new Page(entityDos, total);\n\n\t\treturn page;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolRepo.html":{"url":"injectables/ExternalToolRepo.html","title":"injectable - ExternalToolRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/externaltool/external-tool.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseDORepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n entityFactory\n \n \n Async\n find\n \n \n Async\n findAllByConfigType\n \n \n Async\n findByName\n \n \n Async\n findByOAuth2ConfigClientId\n \n \n mapDOToEntityProperties\n \n \n mapEntityToDO\n \n \n Private\n createEntity\n \n \n Protected\n createNewEntityFromDO\n \n \n Async\n delete\n \n \n Async\n deleteById\n \n \n Private\n deleteEntityById\n \n \n Async\n findById\n \n \n Private\n removeProtectedEntityFields\n \n \n Async\n save\n \n \n Async\n saveAll\n \n \n Private\n Async\n updateEntity\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(_em: EntityManager, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n _em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n entityFactory\n \n \n \n \n \n \nentityFactory(props: IExternalToolProperties)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n IExternalToolProperties\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalToolEntity\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n find\n \n \n \n \n \n \n \n find(query: ExternalToolSearchQuery, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.ts:55\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n ExternalToolSearchQuery\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllByConfigType\n \n \n \n \n \n \n \n findAllByConfigType(type: ToolConfigType)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n ToolConfigType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByName\n \n \n \n \n \n \n \n findByName(name: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByOAuth2ConfigClientId\n \n \n \n \n \n \n \n findByOAuth2ConfigClientId(clientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n clientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapDOToEntityProperties\n \n \n \n \n \n \nmapDOToEntityProperties(entityDO: ExternalTool)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:91\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : IExternalToolProperties\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapEntityToDO\n \n \n \n \n \n \nmapEntityToDO(entity: ExternalToolEntity)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:85\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n ExternalToolEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalTool\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createEntity\n \n \n \n \n \n \n \n createEntity(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:44\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : E\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n createNewEntityFromDO\n \n \n \n \n \n \n \n createNewEntityFromDO(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:65\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : E\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(domainObjects: DO[] | DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:87\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[] | DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteById\n \n \n \n \n \n \n [object Object],[object Object],[object Object]\n \n \n \n \n \n deleteById(id: EntityId | EntityId[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:100\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n deleteEntityById\n \n \n \n \n \n \n \n deleteEntityById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:113\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:118\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeProtectedEntityFields\n \n \n \n \n \n \n \n removeProtectedEntityFields(entity: E)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:79\n\n \n \n\n\n \n \n Ignore base entity properties when updating entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n E\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entityDo: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:21\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDo\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAll\n \n \n \n \n \n \n \n saveAll(entityDos: DO[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDos\n \n DO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n updateEntity\n \n \n \n \n \n \n \n updateEntity(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:52\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.ts:20\n \n \n\n \n \n\n \n\n\n \n import { EntityName, QueryOrderMap } from '@mikro-orm/core';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { ToolConfigType } from '@modules/tool/common/enum';\nimport { ExternalToolSearchQuery } from '@modules/tool/common/interface';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { ExternalToolEntity, IExternalToolProperties } from '@modules/tool/external-tool/entity';\nimport { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { Page } from '@shared/domain/domainobject';\nimport { IFindOptions, Pagination, SortOrder } from '@shared/domain/interface';\nimport { BaseDORepo, ExternalToolRepoMapper, ExternalToolSortingMapper, Scope } from '@shared/repo';\nimport { LegacyLogger } from '@src/core/logger';\nimport { ExternalToolScope } from './external-tool.scope';\n\n@Injectable()\nexport class ExternalToolRepo extends BaseDORepo {\n\tconstructor(protected readonly _em: EntityManager, protected readonly logger: LegacyLogger) {\n\t\tsuper(_em, logger);\n\t}\n\n\tget entityName(): EntityName {\n\t\treturn ExternalToolEntity;\n\t}\n\n\tentityFactory(props: IExternalToolProperties): ExternalToolEntity {\n\t\treturn new ExternalToolEntity(props);\n\t}\n\n\tasync findByName(name: string): Promise {\n\t\tconst entity: ExternalToolEntity | null = await this._em.findOne(this.entityName, { name });\n\t\tif (entity !== null) {\n\t\t\tconst domainObject: ExternalTool = this.mapEntityToDO(entity);\n\t\t\treturn domainObject;\n\t\t}\n\t\treturn null;\n\t}\n\n\tasync findAllByConfigType(type: ToolConfigType): Promise {\n\t\tconst entities: ExternalToolEntity[] = await this._em.find(this.entityName, { config: { type } });\n\t\tconst domainObjects: ExternalTool[] = entities.map((entity: ExternalToolEntity): ExternalTool => {\n\t\t\tconst domainObject: ExternalTool = this.mapEntityToDO(entity);\n\t\t\treturn domainObject;\n\t\t});\n\t\treturn domainObjects;\n\t}\n\n\tasync findByOAuth2ConfigClientId(clientId: string): Promise {\n\t\tconst entity: ExternalToolEntity | null = await this._em.findOne(this.entityName, { config: { clientId } });\n\t\tif (entity !== null) {\n\t\t\tconst domainObject: ExternalTool = this.mapEntityToDO(entity);\n\t\t\treturn domainObject;\n\t\t}\n\t\treturn null;\n\t}\n\n\tasync find(query: ExternalToolSearchQuery, options?: IFindOptions): Promise> {\n\t\tconst pagination: Pagination = options?.pagination || {};\n\t\tconst order: QueryOrderMap = ExternalToolSortingMapper.mapDOSortOrderToQueryOrder(\n\t\t\toptions?.order || {}\n\t\t);\n\t\tconst scope: Scope = new ExternalToolScope()\n\t\t\t.byName(query.name)\n\t\t\t.byClientId(query.clientId)\n\t\t\t.byHidden(query.isHidden)\n\t\t\t.allowEmptyQuery(true);\n\n\t\tif (order._id == null) {\n\t\t\torder._id = SortOrder.asc;\n\t\t}\n\n\t\tconst [entities, total]: [ExternalToolEntity[], number] = await this._em.findAndCount(\n\t\t\tExternalToolEntity,\n\t\t\tscope.query,\n\t\t\t{\n\t\t\t\toffset: pagination?.skip,\n\t\t\t\tlimit: pagination?.limit,\n\t\t\t\torderBy: order,\n\t\t\t}\n\t\t);\n\n\t\tconst entityDos: ExternalTool[] = entities.map((entity) => this.mapEntityToDO(entity));\n\t\tconst page: Page = new Page(entityDos, total);\n\t\treturn page;\n\t}\n\n\tmapEntityToDO(entity: ExternalToolEntity): ExternalTool {\n\t\tconst domainObject = ExternalToolRepoMapper.mapEntityToDO(entity);\n\n\t\treturn domainObject;\n\t}\n\n\tmapDOToEntityProperties(entityDO: ExternalTool): IExternalToolProperties {\n\t\tconst entity = ExternalToolRepoMapper.mapDOToEntityProperties(entityDO);\n\n\t\treturn entity;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolRepoMapper.html":{"url":"classes/ExternalToolRepoMapper.html","title":"class - ExternalToolRepoMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolRepoMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapBasicToolConfigDOToEntity\n \n \n Static\n mapBasicToolConfigToDO\n \n \n Static\n mapCustomParameterDOsToEntities\n \n \n Static\n mapCustomParameterEntryDOsToEntities\n \n \n Static\n mapCustomParameterEntryEntitiesToDOs\n \n \n Static\n mapCustomParametersToDOs\n \n \n Static\n mapDOToEntityProperties\n \n \n Static\n mapEntityToDO\n \n \n Static\n mapLti11ToolConfigDOToEntity\n \n \n Static\n mapLti11ToolConfigToDO\n \n \n Static\n mapOauth2ConfigDOToEntity\n \n \n Static\n mapOauth2ConfigToDO\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapBasicToolConfigDOToEntity\n \n \n \n \n \n \n \n mapBasicToolConfigDOToEntity(lti11Config: BasicToolConfig)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:109\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n lti11Config\n \n BasicToolConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BasicToolConfigEntity\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapBasicToolConfigToDO\n \n \n \n \n \n \n \n mapBasicToolConfigToDO(lti11Config: BasicToolConfigEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n lti11Config\n \n BasicToolConfigEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BasicToolConfig\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapCustomParameterDOsToEntities\n \n \n \n \n \n \n \n mapCustomParameterDOsToEntities(customParameters: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:156\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameters\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CustomParameterEntity[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapCustomParameterEntryDOsToEntities\n \n \n \n \n \n \n \n mapCustomParameterEntryDOsToEntities(entries: CustomParameterEntry[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:184\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entries\n \n CustomParameterEntry[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CustomParameterEntryEntity[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapCustomParameterEntryEntitiesToDOs\n \n \n \n \n \n \n \n mapCustomParameterEntryEntitiesToDOs(entries: CustomParameterEntryEntity[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:174\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entries\n \n CustomParameterEntryEntity[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CustomParameterEntry[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapCustomParametersToDOs\n \n \n \n \n \n \n \n mapCustomParametersToDOs(customParameters: CustomParameterEntity[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:138\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameters\n \n CustomParameterEntity[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CustomParameter[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapDOToEntityProperties\n \n \n \n \n \n \n \n mapDOToEntityProperties(entityDO: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:78\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : IExternalToolProperties\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapEntityToDO\n \n \n \n \n \n \n \n mapEntityToDO(entity: ExternalToolEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n ExternalToolEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalTool\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapLti11ToolConfigDOToEntity\n \n \n \n \n \n \n \n mapLti11ToolConfigDOToEntity(lti11Config: Lti11ToolConfig)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:125\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n lti11Config\n \n Lti11ToolConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Lti11ToolConfigEntity\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapLti11ToolConfigToDO\n \n \n \n \n \n \n \n mapLti11ToolConfigToDO(lti11Config: Lti11ToolConfigEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n lti11Config\n \n Lti11ToolConfigEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Lti11ToolConfig\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapOauth2ConfigDOToEntity\n \n \n \n \n \n \n \n mapOauth2ConfigDOToEntity(oauth2Config: Oauth2ToolConfig)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:116\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauth2Config\n \n Oauth2ToolConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Oauth2ToolConfigEntity\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapOauth2ConfigToDO\n \n \n \n \n \n \n \n mapOauth2ConfigToDO(oauth2Config: Oauth2ToolConfigEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:56\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauth2Config\n \n Oauth2ToolConfigEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Oauth2ToolConfig\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UnprocessableEntityException } from '@nestjs/common';\nimport { CustomParameter, CustomParameterEntry } from '@modules/tool/common/domain';\nimport { CustomParameterEntryEntity } from '@modules/tool/common/entity';\nimport { ToolConfigType } from '@modules/tool/common/enum';\nimport { BasicToolConfig, ExternalTool, Lti11ToolConfig, Oauth2ToolConfig } from '@modules/tool/external-tool/domain';\nimport {\n\tBasicToolConfigEntity,\n\tCustomParameterEntity,\n\tExternalToolEntity,\n\tIExternalToolProperties,\n\tLti11ToolConfigEntity,\n\tOauth2ToolConfigEntity,\n} from '@modules/tool/external-tool/entity';\n\n// TODO: maybe rename because of usage in external tool repo and school external tool repo\nexport class ExternalToolRepoMapper {\n\tstatic mapEntityToDO(entity: ExternalToolEntity): ExternalTool {\n\t\tlet config: BasicToolConfig | Oauth2ToolConfig | Lti11ToolConfig;\n\t\tswitch (entity.config.type) {\n\t\t\tcase ToolConfigType.BASIC:\n\t\t\t\tconfig = this.mapBasicToolConfigToDO(entity.config as BasicToolConfig);\n\t\t\t\tbreak;\n\t\t\tcase ToolConfigType.OAUTH2:\n\t\t\t\tconfig = this.mapOauth2ConfigToDO(entity.config as Oauth2ToolConfig);\n\t\t\t\tbreak;\n\t\t\tcase ToolConfigType.LTI11:\n\t\t\t\tconfig = this.mapLti11ToolConfigToDO(entity.config as Lti11ToolConfig);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\t/* istanbul ignore next */\n\t\t\t\tthrow new UnprocessableEntityException(`Unknown config type.`);\n\t\t}\n\n\t\treturn new ExternalTool({\n\t\t\tid: entity.id,\n\t\t\tname: entity.name,\n\t\t\turl: entity.url,\n\t\t\tlogoUrl: entity.logoUrl,\n\t\t\tlogo: entity.logoBase64,\n\t\t\tconfig,\n\t\t\tparameters: this.mapCustomParametersToDOs(entity.parameters || []),\n\t\t\tisHidden: entity.isHidden,\n\t\t\topenNewTab: entity.openNewTab,\n\t\t\tversion: entity.version,\n\t\t\trestrictToContexts: entity.restrictToContexts,\n\t\t});\n\t}\n\n\tstatic mapBasicToolConfigToDO(lti11Config: BasicToolConfigEntity): BasicToolConfig {\n\t\treturn new BasicToolConfig({\n\t\t\ttype: lti11Config.type,\n\t\t\tbaseUrl: lti11Config.baseUrl,\n\t\t});\n\t}\n\n\tstatic mapOauth2ConfigToDO(oauth2Config: Oauth2ToolConfigEntity): Oauth2ToolConfig {\n\t\treturn new Oauth2ToolConfig({\n\t\t\ttype: oauth2Config.type,\n\t\t\tbaseUrl: oauth2Config.baseUrl,\n\t\t\tclientId: oauth2Config.clientId,\n\t\t\tskipConsent: oauth2Config.skipConsent,\n\t\t});\n\t}\n\n\tstatic mapLti11ToolConfigToDO(lti11Config: Lti11ToolConfigEntity): Lti11ToolConfig {\n\t\treturn new Lti11ToolConfig({\n\t\t\ttype: lti11Config.type,\n\t\t\tbaseUrl: lti11Config.baseUrl,\n\t\t\tkey: lti11Config.key,\n\t\t\tsecret: lti11Config.secret,\n\t\t\tlti_message_type: lti11Config.lti_message_type,\n\t\t\tresource_link_id: lti11Config.resource_link_id,\n\t\t\tprivacy_permission: lti11Config.privacy_permission,\n\t\t\tlaunch_presentation_locale: lti11Config.launch_presentation_locale,\n\t\t});\n\t}\n\n\tstatic mapDOToEntityProperties(entityDO: ExternalTool): IExternalToolProperties {\n\t\tlet config: BasicToolConfigEntity | Oauth2ToolConfigEntity | Lti11ToolConfigEntity;\n\t\tswitch (entityDO.config.type) {\n\t\t\tcase ToolConfigType.BASIC:\n\t\t\t\tconfig = this.mapBasicToolConfigDOToEntity(entityDO.config as BasicToolConfig);\n\t\t\t\tbreak;\n\t\t\tcase ToolConfigType.OAUTH2:\n\t\t\t\tconfig = this.mapOauth2ConfigDOToEntity(entityDO.config as Oauth2ToolConfig);\n\t\t\t\tbreak;\n\t\t\tcase ToolConfigType.LTI11:\n\t\t\t\tconfig = this.mapLti11ToolConfigDOToEntity(entityDO.config as Lti11ToolConfig);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\t/* istanbul ignore next */\n\t\t\t\tthrow new UnprocessableEntityException(`Unknown config type.`);\n\t\t}\n\n\t\treturn {\n\t\t\tname: entityDO.name,\n\t\t\turl: entityDO.url,\n\t\t\tlogoUrl: entityDO.logoUrl,\n\t\t\tlogoBase64: entityDO.logo,\n\t\t\tconfig,\n\t\t\tparameters: this.mapCustomParameterDOsToEntities(entityDO.parameters ?? []),\n\t\t\tisHidden: entityDO.isHidden,\n\t\t\topenNewTab: entityDO.openNewTab,\n\t\t\tversion: entityDO.version,\n\t\t\trestrictToContexts: entityDO.restrictToContexts,\n\t\t};\n\t}\n\n\tstatic mapBasicToolConfigDOToEntity(lti11Config: BasicToolConfig): BasicToolConfigEntity {\n\t\treturn new BasicToolConfigEntity({\n\t\t\ttype: lti11Config.type,\n\t\t\tbaseUrl: lti11Config.baseUrl,\n\t\t});\n\t}\n\n\tstatic mapOauth2ConfigDOToEntity(oauth2Config: Oauth2ToolConfig): Oauth2ToolConfigEntity {\n\t\treturn new Oauth2ToolConfigEntity({\n\t\t\ttype: oauth2Config.type,\n\t\t\tbaseUrl: oauth2Config.baseUrl,\n\t\t\tclientId: oauth2Config.clientId,\n\t\t\tskipConsent: oauth2Config.skipConsent,\n\t\t});\n\t}\n\n\tstatic mapLti11ToolConfigDOToEntity(lti11Config: Lti11ToolConfig): Lti11ToolConfigEntity {\n\t\treturn new Lti11ToolConfigEntity({\n\t\t\ttype: lti11Config.type,\n\t\t\tbaseUrl: lti11Config.baseUrl,\n\t\t\tkey: lti11Config.key,\n\t\t\tsecret: lti11Config.secret,\n\t\t\tlti_message_type: lti11Config.lti_message_type,\n\t\t\tresource_link_id: lti11Config.resource_link_id,\n\t\t\tprivacy_permission: lti11Config.privacy_permission,\n\t\t\tlaunch_presentation_locale: lti11Config.launch_presentation_locale,\n\t\t});\n\t}\n\n\tstatic mapCustomParametersToDOs(customParameters: CustomParameterEntity[]): CustomParameter[] {\n\t\treturn customParameters.map(\n\t\t\t(param: CustomParameterEntity) =>\n\t\t\t\tnew CustomParameter({\n\t\t\t\t\tname: param.name,\n\t\t\t\t\tdisplayName: param.displayName,\n\t\t\t\t\tdescription: param.description,\n\t\t\t\t\tdefault: param.default,\n\t\t\t\t\tregex: param.regex,\n\t\t\t\t\tregexComment: param.regexComment,\n\t\t\t\t\tscope: param.scope,\n\t\t\t\t\tlocation: param.location,\n\t\t\t\t\ttype: param.type,\n\t\t\t\t\tisOptional: param.isOptional,\n\t\t\t\t})\n\t\t);\n\t}\n\n\tstatic mapCustomParameterDOsToEntities(customParameters: CustomParameter[]): CustomParameterEntity[] {\n\t\treturn customParameters.map(\n\t\t\t(param: CustomParameter) =>\n\t\t\t\tnew CustomParameterEntity({\n\t\t\t\t\tname: param.name,\n\t\t\t\t\tdisplayName: param.displayName,\n\t\t\t\t\tdescription: param.description,\n\t\t\t\t\tdefault: param.default,\n\t\t\t\t\tregex: param.regex,\n\t\t\t\t\tregexComment: param.regexComment,\n\t\t\t\t\tscope: param.scope,\n\t\t\t\t\tlocation: param.location,\n\t\t\t\t\ttype: param.type,\n\t\t\t\t\tisOptional: param.isOptional,\n\t\t\t\t})\n\t\t);\n\t}\n\n\tstatic mapCustomParameterEntryEntitiesToDOs(entries: CustomParameterEntryEntity[]): CustomParameterEntry[] {\n\t\treturn entries.map(\n\t\t\t(entry: CustomParameterEntryEntity): CustomParameterEntry =>\n\t\t\t\tnew CustomParameterEntry({\n\t\t\t\t\tname: entry.name,\n\t\t\t\t\tvalue: entry.value,\n\t\t\t\t})\n\t\t);\n\t}\n\n\tstatic mapCustomParameterEntryDOsToEntities(entries: CustomParameterEntry[]): CustomParameterEntryEntity[] {\n\t\treturn entries.map(\n\t\t\t(entry: CustomParameterEntryEntity): CustomParameterEntry =>\n\t\t\t\tnew CustomParameterEntryEntity({\n\t\t\t\t\tname: entry.name,\n\t\t\t\t\tvalue: entry.value,\n\t\t\t\t})\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolRequestMapper.html":{"url":"injectables/ExternalToolRequestMapper.html","title":"injectable - ExternalToolRequestMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolRequestMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/mapper/external-tool-request.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n mapCreateRequest\n \n \n mapExternalToolFilterQueryToExternalToolSearchQuery\n \n \n Private\n mapRequestToBasicToolConfig\n \n \n Private\n mapRequestToCustomParameterDO\n \n \n Private\n mapRequestToLti11ToolConfigCreate\n \n \n Private\n mapRequestToLti11ToolConfigUpdate\n \n \n Private\n mapRequestToOauth2ToolConfigCreate\n \n \n Private\n mapRequestToOauth2ToolConfigUpdate\n \n \n mapSortingQueryToDomain\n \n \n Public\n mapUpdateRequest\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n mapCreateRequest\n \n \n \n \n \n \n \n mapCreateRequest(externalToolCreateParams: ExternalToolCreateParams, version: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-request.mapper.ts:88\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n externalToolCreateParams\n \n ExternalToolCreateParams\n \n\n \n No\n \n\n \n \n\n \n \n version\n \n number\n \n\n \n No\n \n\n \n 1\n \n\n \n \n \n \n \n Returns : ExternalToolCreate\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapExternalToolFilterQueryToExternalToolSearchQuery\n \n \n \n \n \n \nmapExternalToolFilterQueryToExternalToolSearchQuery(params: ExternalToolSearchParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-request.mapper.ts:172\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n ExternalToolSearchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalToolSearchQuery\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapRequestToBasicToolConfig\n \n \n \n \n \n \n \n mapRequestToBasicToolConfig(externalToolConfigParams: BasicToolConfigParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-request.mapper.ts:115\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolConfigParams\n \n BasicToolConfigParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BasicToolConfigDto\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapRequestToCustomParameterDO\n \n \n \n \n \n \n \n mapRequestToCustomParameterDO(customParameterParams: CustomParameterPostParams[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-request.mapper.ts:143\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameterParams\n \n CustomParameterPostParams[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CustomParameterDto[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapRequestToLti11ToolConfigCreate\n \n \n \n \n \n \n \n mapRequestToLti11ToolConfigCreate(externalToolConfigParams: Lti11ToolConfigCreateParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-request.mapper.ts:119\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolConfigParams\n \n Lti11ToolConfigCreateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Lti11ToolConfigCreate\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapRequestToLti11ToolConfigUpdate\n \n \n \n \n \n \n \n mapRequestToLti11ToolConfigUpdate(externalToolConfigParams: Lti11ToolConfigUpdateParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-request.mapper.ts:125\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolConfigParams\n \n Lti11ToolConfigUpdateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Lti11ToolConfigUpdate\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapRequestToOauth2ToolConfigCreate\n \n \n \n \n \n \n \n mapRequestToOauth2ToolConfigCreate(externalToolConfigParams: Oauth2ToolConfigCreateParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-request.mapper.ts:131\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolConfigParams\n \n Oauth2ToolConfigCreateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Oauth2ToolConfigCreate\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapRequestToOauth2ToolConfigUpdate\n \n \n \n \n \n \n \n mapRequestToOauth2ToolConfigUpdate(externalToolConfigParams: Oauth2ToolConfigUpdateParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-request.mapper.ts:137\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolConfigParams\n \n Oauth2ToolConfigUpdateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Oauth2ToolConfigUpdate\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapSortingQueryToDomain\n \n \n \n \n \n \nmapSortingQueryToDomain(sortingQuery: SortExternalToolParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-request.mapper.ts:160\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n sortingQuery\n \n SortExternalToolParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SortOrderMap | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n mapUpdateRequest\n \n \n \n \n \n \n \n mapUpdateRequest(externalToolUpdateParams: ExternalToolUpdateParams, version: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-request.mapper.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n externalToolUpdateParams\n \n ExternalToolUpdateParams\n \n\n \n No\n \n\n \n \n\n \n \n version\n \n number\n \n\n \n No\n \n\n \n 1\n \n\n \n \n \n \n \n Returns : ExternalToolUpdate\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { SortOrderMap } from '@shared/domain/interface';\nimport {\n\tCustomParameterLocation,\n\tCustomParameterLocationParams,\n\tCustomParameterScope,\n\tCustomParameterScopeTypeParams,\n\tCustomParameterType,\n\tCustomParameterTypeParams,\n} from '../../common/enum';\nimport { ExternalToolSearchQuery } from '../../common/interface';\nimport {\n\tBasicToolConfigParams,\n\tCustomParameterPostParams,\n\tExternalToolCreateParams,\n\tExternalToolSearchParams,\n\tExternalToolUpdateParams,\n\tLti11ToolConfigCreateParams,\n\tLti11ToolConfigUpdateParams,\n\tOauth2ToolConfigCreateParams,\n\tOauth2ToolConfigUpdateParams,\n\tSortExternalToolParams,\n} from '../controller/dto';\nimport { ExternalTool } from '../domain';\nimport {\n\tBasicToolConfigDto,\n\tCustomParameterDto,\n\tExternalToolCreate,\n\tExternalToolUpdate,\n\tLti11ToolConfigCreate,\n\tLti11ToolConfigUpdate,\n\tOauth2ToolConfigCreate,\n\tOauth2ToolConfigUpdate,\n} from '../uc';\n\nconst scopeMapping: Record = {\n\t[CustomParameterScopeTypeParams.GLOBAL]: CustomParameterScope.GLOBAL,\n\t[CustomParameterScopeTypeParams.SCHOOL]: CustomParameterScope.SCHOOL,\n\t[CustomParameterScopeTypeParams.CONTEXT]: CustomParameterScope.CONTEXT,\n};\n\nconst locationMapping: Record = {\n\t[CustomParameterLocationParams.PATH]: CustomParameterLocation.PATH,\n\t[CustomParameterLocationParams.QUERY]: CustomParameterLocation.QUERY,\n\t[CustomParameterLocationParams.BODY]: CustomParameterLocation.BODY,\n};\n\nconst typeMapping: Record = {\n\t[CustomParameterTypeParams.STRING]: CustomParameterType.STRING,\n\t[CustomParameterTypeParams.BOOLEAN]: CustomParameterType.BOOLEAN,\n\t[CustomParameterTypeParams.NUMBER]: CustomParameterType.NUMBER,\n\t[CustomParameterTypeParams.AUTO_CONTEXTID]: CustomParameterType.AUTO_CONTEXTID,\n\t[CustomParameterTypeParams.AUTO_CONTEXTNAME]: CustomParameterType.AUTO_CONTEXTNAME,\n\t[CustomParameterTypeParams.AUTO_SCHOOLID]: CustomParameterType.AUTO_SCHOOLID,\n\t[CustomParameterTypeParams.AUTO_SCHOOLNUMBER]: CustomParameterType.AUTO_SCHOOLNUMBER,\n};\n\n@Injectable()\nexport class ExternalToolRequestMapper {\n\tpublic mapUpdateRequest(externalToolUpdateParams: ExternalToolUpdateParams, version = 1): ExternalToolUpdate {\n\t\tlet mappedConfig: BasicToolConfigDto | Lti11ToolConfigUpdate | Oauth2ToolConfigUpdate;\n\t\tif (externalToolUpdateParams.config instanceof BasicToolConfigParams) {\n\t\t\tmappedConfig = this.mapRequestToBasicToolConfig(externalToolUpdateParams.config);\n\t\t} else if (externalToolUpdateParams.config instanceof Lti11ToolConfigUpdateParams) {\n\t\t\tmappedConfig = this.mapRequestToLti11ToolConfigUpdate(externalToolUpdateParams.config);\n\t\t} else {\n\t\t\tmappedConfig = this.mapRequestToOauth2ToolConfigUpdate(externalToolUpdateParams.config);\n\t\t}\n\n\t\tconst mappedCustomParameter: CustomParameterDto[] = this.mapRequestToCustomParameterDO(\n\t\t\texternalToolUpdateParams.parameters ?? []\n\t\t);\n\n\t\treturn {\n\t\t\tid: externalToolUpdateParams.id,\n\t\t\tname: externalToolUpdateParams.name,\n\t\t\turl: externalToolUpdateParams.url,\n\t\t\tlogoUrl: externalToolUpdateParams.logoUrl,\n\t\t\tconfig: mappedConfig,\n\t\t\tparameters: mappedCustomParameter,\n\t\t\tisHidden: externalToolUpdateParams.isHidden,\n\t\t\topenNewTab: externalToolUpdateParams.openNewTab,\n\t\t\tversion,\n\t\t\trestrictToContexts: externalToolUpdateParams.restrictToContexts,\n\t\t};\n\t}\n\n\tpublic mapCreateRequest(externalToolCreateParams: ExternalToolCreateParams, version = 1): ExternalToolCreate {\n\t\tlet mappedConfig: BasicToolConfigDto | Lti11ToolConfigCreate | Oauth2ToolConfigCreate;\n\t\tif (externalToolCreateParams.config instanceof BasicToolConfigParams) {\n\t\t\tmappedConfig = this.mapRequestToBasicToolConfig(externalToolCreateParams.config);\n\t\t} else if (externalToolCreateParams.config instanceof Lti11ToolConfigCreateParams) {\n\t\t\tmappedConfig = this.mapRequestToLti11ToolConfigCreate(externalToolCreateParams.config);\n\t\t} else {\n\t\t\tmappedConfig = this.mapRequestToOauth2ToolConfigCreate(externalToolCreateParams.config);\n\t\t}\n\n\t\tconst mappedCustomParameter: CustomParameterDto[] = this.mapRequestToCustomParameterDO(\n\t\t\texternalToolCreateParams.parameters ?? []\n\t\t);\n\n\t\treturn {\n\t\t\tname: externalToolCreateParams.name,\n\t\t\turl: externalToolCreateParams.url,\n\t\t\tlogoUrl: externalToolCreateParams.logoUrl,\n\t\t\tconfig: mappedConfig,\n\t\t\tparameters: mappedCustomParameter,\n\t\t\tisHidden: externalToolCreateParams.isHidden,\n\t\t\topenNewTab: externalToolCreateParams.openNewTab,\n\t\t\tversion,\n\t\t\trestrictToContexts: externalToolCreateParams.restrictToContexts,\n\t\t};\n\t}\n\n\tprivate mapRequestToBasicToolConfig(externalToolConfigParams: BasicToolConfigParams): BasicToolConfigDto {\n\t\treturn { ...externalToolConfigParams };\n\t}\n\n\tprivate mapRequestToLti11ToolConfigCreate(\n\t\texternalToolConfigParams: Lti11ToolConfigCreateParams\n\t): Lti11ToolConfigCreate {\n\t\treturn { ...externalToolConfigParams };\n\t}\n\n\tprivate mapRequestToLti11ToolConfigUpdate(\n\t\texternalToolConfigParams: Lti11ToolConfigUpdateParams\n\t): Lti11ToolConfigUpdate {\n\t\treturn { ...externalToolConfigParams };\n\t}\n\n\tprivate mapRequestToOauth2ToolConfigCreate(\n\t\texternalToolConfigParams: Oauth2ToolConfigCreateParams\n\t): Oauth2ToolConfigCreate {\n\t\treturn { ...externalToolConfigParams };\n\t}\n\n\tprivate mapRequestToOauth2ToolConfigUpdate(\n\t\texternalToolConfigParams: Oauth2ToolConfigUpdateParams\n\t): Oauth2ToolConfigUpdate {\n\t\treturn { ...externalToolConfigParams };\n\t}\n\n\tprivate mapRequestToCustomParameterDO(customParameterParams: CustomParameterPostParams[]): CustomParameterDto[] {\n\t\treturn customParameterParams.map((customParameterParam: CustomParameterPostParams) => {\n\t\t\treturn {\n\t\t\t\tname: customParameterParam.name,\n\t\t\t\tdisplayName: customParameterParam.displayName,\n\t\t\t\tdescription: customParameterParam.description,\n\t\t\t\tdefault: customParameterParam.defaultValue,\n\t\t\t\tregex: customParameterParam.regex,\n\t\t\t\tregexComment: customParameterParam.regexComment,\n\t\t\t\tscope: scopeMapping[customParameterParam.scope],\n\t\t\t\tlocation: locationMapping[customParameterParam.location],\n\t\t\t\ttype: typeMapping[customParameterParam.type],\n\t\t\t\tisOptional: customParameterParam.isOptional,\n\t\t\t};\n\t\t});\n\t}\n\n\tmapSortingQueryToDomain(sortingQuery: SortExternalToolParams): SortOrderMap | undefined {\n\t\tconst { sortBy } = sortingQuery;\n\t\tif (sortBy == null) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst result: SortOrderMap = {\n\t\t\t[sortBy]: sortingQuery.sortOrder,\n\t\t};\n\t\treturn result;\n\t}\n\n\tmapExternalToolFilterQueryToExternalToolSearchQuery(params: ExternalToolSearchParams): ExternalToolSearchQuery {\n\t\tconst searchQuery: ExternalToolSearchQuery = {\n\t\t\tname: params.name,\n\t\t\tclientId: params.clientId,\n\t\t};\n\n\t\treturn searchQuery;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolResponse.html":{"url":"classes/ExternalToolResponse.html","title":"class - ExternalToolResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n config\n \n \n \n id\n \n \n \n isHidden\n \n \n \n Optional\n logoUrl\n \n \n \n name\n \n \n \n openNewTab\n \n \n \n parameters\n \n \n \n Optional\n restrictToContexts\n \n \n \n Optional\n url\n \n \n \n version\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(response: ExternalToolResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts:35\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n \n ExternalToolResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n config\n \n \n \n \n \n \n Type : BasicToolConfigResponse | Oauth2ToolConfigResponse | Lti11ToolConfigResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n isHidden\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n \n openNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n Type : CustomParameterResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n restrictToContexts\n \n \n \n \n \n \n Type : ToolContextType[]\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({enum: ToolContextType, enumName: 'ToolContextType', isArray: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n version\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts:32\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { BasicToolConfigResponse, Oauth2ToolConfigResponse, Lti11ToolConfigResponse } from './config';\nimport { CustomParameterResponse } from './custom-parameter.response';\nimport { ToolContextType } from '../../../../common/enum';\n\nexport class ExternalToolResponse {\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\tname: string;\n\n\t@ApiPropertyOptional()\n\turl?: string;\n\n\t@ApiPropertyOptional()\n\tlogoUrl?: string;\n\n\t@ApiProperty()\n\tconfig: BasicToolConfigResponse | Oauth2ToolConfigResponse | Lti11ToolConfigResponse;\n\n\t@ApiProperty()\n\tparameters: CustomParameterResponse[];\n\n\t@ApiProperty()\n\tisHidden: boolean;\n\n\t@ApiProperty()\n\topenNewTab: boolean;\n\n\t@ApiProperty()\n\tversion: number;\n\n\t@ApiPropertyOptional({ enum: ToolContextType, enumName: 'ToolContextType', isArray: true })\n\trestrictToContexts?: ToolContextType[];\n\n\tconstructor(response: ExternalToolResponse) {\n\t\tthis.id = response.id;\n\t\tthis.name = response.name;\n\t\tthis.url = response.url;\n\t\tthis.logoUrl = response.logoUrl;\n\t\tthis.config = response.config;\n\t\tthis.parameters = response.parameters;\n\t\tthis.isHidden = response.isHidden;\n\t\tthis.openNewTab = response.openNewTab;\n\t\tthis.version = response.version;\n\t\tthis.restrictToContexts = response.restrictToContexts;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolResponseMapper.html":{"url":"injectables/ExternalToolResponseMapper.html","title":"injectable - ExternalToolResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/mapper/external-tool-response.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Static\n mapBasicToolConfigDOToResponse\n \n \n Static\n mapCustomParameterToResponse\n \n \n Private\n Static\n mapLti11ToolConfigDOToResponse\n \n \n Private\n Static\n mapOauth2ToolConfigDOToResponse\n \n \n Static\n mapToExternalToolResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Static\n mapBasicToolConfigDOToResponse\n \n \n \n \n \n \n \n mapBasicToolConfigDOToResponse(externalToolConfigDO: BasicToolConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-response.mapper.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolConfigDO\n \n BasicToolConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BasicToolConfigResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapCustomParameterToResponse\n \n \n \n \n \n \n \n mapCustomParameterToResponse(customParameters: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-response.mapper.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameters\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CustomParameterResponse[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n mapLti11ToolConfigDOToResponse\n \n \n \n \n \n \n \n mapLti11ToolConfigDOToResponse(externalToolConfigDO: Lti11ToolConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-response.mapper.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolConfigDO\n \n Lti11ToolConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Lti11ToolConfigResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n mapOauth2ToolConfigDOToResponse\n \n \n \n \n \n \n \n mapOauth2ToolConfigDOToResponse(externalToolConfigDO: Oauth2ToolConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-response.mapper.ts:80\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolConfigDO\n \n Oauth2ToolConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Oauth2ToolConfigResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToExternalToolResponse\n \n \n \n \n \n \n \n mapToExternalToolResponse(externalTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-response.mapper.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalToolResponse\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { CustomParameter } from '../../common/domain';\nimport {\n\tCustomParameterLocation,\n\tCustomParameterLocationParams,\n\tCustomParameterScope,\n\tCustomParameterScopeTypeParams,\n\tCustomParameterType,\n\tCustomParameterTypeParams,\n} from '../../common/enum';\nimport {\n\tBasicToolConfigResponse,\n\tCustomParameterResponse,\n\tExternalToolResponse,\n\tLti11ToolConfigResponse,\n\tOauth2ToolConfigResponse,\n} from '../controller/dto';\nimport { BasicToolConfig, ExternalTool, Lti11ToolConfig, Oauth2ToolConfig } from '../domain';\n\nconst scopeMapping: Record = {\n\t[CustomParameterScope.GLOBAL]: CustomParameterScopeTypeParams.GLOBAL,\n\t[CustomParameterScope.SCHOOL]: CustomParameterScopeTypeParams.SCHOOL,\n\t[CustomParameterScope.CONTEXT]: CustomParameterScopeTypeParams.CONTEXT,\n};\n\nconst locationMapping: Record = {\n\t[CustomParameterLocation.PATH]: CustomParameterLocationParams.PATH,\n\t[CustomParameterLocation.QUERY]: CustomParameterLocationParams.QUERY,\n\t[CustomParameterLocation.BODY]: CustomParameterLocationParams.BODY,\n};\n\nconst typeMapping: Record = {\n\t[CustomParameterType.STRING]: CustomParameterTypeParams.STRING,\n\t[CustomParameterType.BOOLEAN]: CustomParameterTypeParams.BOOLEAN,\n\t[CustomParameterType.NUMBER]: CustomParameterTypeParams.NUMBER,\n\t[CustomParameterType.AUTO_CONTEXTID]: CustomParameterTypeParams.AUTO_CONTEXTID,\n\t[CustomParameterType.AUTO_CONTEXTNAME]: CustomParameterTypeParams.AUTO_CONTEXTNAME,\n\t[CustomParameterType.AUTO_SCHOOLID]: CustomParameterTypeParams.AUTO_SCHOOLID,\n\t[CustomParameterType.AUTO_SCHOOLNUMBER]: CustomParameterTypeParams.AUTO_SCHOOLNUMBER,\n};\n\n@Injectable()\nexport class ExternalToolResponseMapper {\n\tstatic mapToExternalToolResponse(externalTool: ExternalTool): ExternalToolResponse {\n\t\tlet mappedConfig: BasicToolConfigResponse | Lti11ToolConfigResponse | Oauth2ToolConfigResponse;\n\t\tif (externalTool.config instanceof BasicToolConfig) {\n\t\t\tmappedConfig = this.mapBasicToolConfigDOToResponse(externalTool.config);\n\t\t} else if (externalTool.config instanceof Lti11ToolConfig) {\n\t\t\tmappedConfig = this.mapLti11ToolConfigDOToResponse(externalTool.config);\n\t\t} else {\n\t\t\tmappedConfig = this.mapOauth2ToolConfigDOToResponse(externalTool.config);\n\t\t}\n\n\t\tconst mappedCustomParameter: CustomParameterResponse[] = this.mapCustomParameterToResponse(\n\t\t\texternalTool.parameters ?? []\n\t\t);\n\n\t\treturn new ExternalToolResponse({\n\t\t\tid: externalTool.id ?? '',\n\t\t\tname: externalTool.name,\n\t\t\turl: externalTool.url,\n\t\t\tlogoUrl: externalTool.logoUrl,\n\t\t\tconfig: mappedConfig,\n\t\t\tparameters: mappedCustomParameter,\n\t\t\tisHidden: externalTool.isHidden,\n\t\t\topenNewTab: externalTool.openNewTab,\n\t\t\tversion: externalTool.version,\n\t\t\trestrictToContexts: externalTool.restrictToContexts,\n\t\t});\n\t}\n\n\tprivate static mapBasicToolConfigDOToResponse(externalToolConfigDO: BasicToolConfig): BasicToolConfigResponse {\n\t\treturn new BasicToolConfigResponse({ ...externalToolConfigDO });\n\t}\n\n\tprivate static mapLti11ToolConfigDOToResponse(externalToolConfigDO: Lti11ToolConfig): Lti11ToolConfigResponse {\n\t\treturn new Lti11ToolConfigResponse({ ...externalToolConfigDO });\n\t}\n\n\tprivate static mapOauth2ToolConfigDOToResponse(externalToolConfigDO: Oauth2ToolConfig): Oauth2ToolConfigResponse {\n\t\treturn new Oauth2ToolConfigResponse({ ...externalToolConfigDO });\n\t}\n\n\tstatic mapCustomParameterToResponse(customParameters: CustomParameter[]): CustomParameterResponse[] {\n\t\treturn customParameters.map((customParameterDO: CustomParameter) => {\n\t\t\treturn {\n\t\t\t\tname: customParameterDO.name,\n\t\t\t\tdisplayName: customParameterDO.displayName,\n\t\t\t\tdescription: customParameterDO.description,\n\t\t\t\tdefaultValue: customParameterDO.default,\n\t\t\t\tregex: customParameterDO.regex,\n\t\t\t\tregexComment: customParameterDO.regexComment,\n\t\t\t\tscope: scopeMapping[customParameterDO.scope],\n\t\t\t\tlocation: locationMapping[customParameterDO.location],\n\t\t\t\ttype: typeMapping[customParameterDO.type],\n\t\t\t\tisOptional: customParameterDO.isOptional,\n\t\t\t};\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolScope.html":{"url":"classes/ExternalToolScope.html","title":"class - ExternalToolScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/externaltool/external-tool.scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n byClientId\n \n \n byHidden\n \n \n byName\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n byClientId\n \n \n \n \n \n \nbyClientId(clientId: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.scope.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n clientId\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byHidden\n \n \n \n \n \n \nbyHidden(isHidden: boolean | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.scope.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isHidden\n \n boolean | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byName\n \n \n \n \n \n \nbyName(name: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.scope.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Scope } from '@shared/repo/scope';\nimport { ExternalToolEntity } from '@modules/tool/external-tool/entity';\n\nexport class ExternalToolScope extends Scope {\n\tbyName(name: string | undefined): this {\n\t\tif (name) {\n\t\t\tthis.addQuery({ name: { $re: name } });\n\t\t}\n\t\treturn this;\n\t}\n\n\tbyClientId(clientId: string | undefined): this {\n\t\tif (clientId) {\n\t\t\tthis.addQuery({ config: { clientId } });\n\t\t}\n\t\treturn this;\n\t}\n\n\tbyHidden(isHidden: boolean | undefined): this {\n\t\tif (isHidden !== undefined) {\n\t\t\tthis.addQuery({ isHidden });\n\t\t}\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolSearchListResponse.html":{"url":"classes/ExternalToolSearchListResponse.html","title":"class - ExternalToolSearchListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolSearchListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool-search-list.response.ts\n \n\n\n\n \n Extends\n \n \n PaginationResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: ExternalToolResponse[], total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool-search-list.response.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n ExternalToolResponse[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : ExternalToolResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:7\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:14\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { PaginationResponse } from '@shared/controller';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { ExternalToolResponse } from './external-tool.response';\n\nexport class ExternalToolSearchListResponse extends PaginationResponse {\n\t@ApiProperty({ type: [ExternalToolResponse] })\n\tdata: ExternalToolResponse[];\n\n\tconstructor(data: ExternalToolResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolSearchParams.html":{"url":"classes/ExternalToolSearchParams.html","title":"class - ExternalToolSearchParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolSearchParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-search.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n clientId\n \n \n \n \n \n Optional\n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n clientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'OAuth2 client id of the external tool'})@IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-search.params.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Name of the external tool'})@IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-search.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsOptional, IsString } from 'class-validator';\n\nexport class ExternalToolSearchParams {\n\t@ApiPropertyOptional({ description: 'Name of the external tool' })\n\t@IsString()\n\t@IsOptional()\n\tname?: string;\n\n\t@ApiPropertyOptional({ description: 'OAuth2 client id of the external tool' })\n\t@IsString()\n\t@IsOptional()\n\tclientId?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ExternalToolSearchQuery.html":{"url":"interfaces/ExternalToolSearchQuery.html","title":"interface - ExternalToolSearchQuery","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ExternalToolSearchQuery\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/interface/external-tool-search-query.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n clientId\n \n \n \n Optional\n \n isHidden\n \n \n \n Optional\n \n name\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n clientId\n \n \n \n \n \n \n \n \n clientId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n isHidden\n \n \n \n \n \n \n \n \n isHidden: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface ExternalToolSearchQuery {\n\tname?: string;\n\n\tclientId?: string;\n\n\tisHidden?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolService.html":{"url":"injectables/ExternalToolService.html","title":"injectable - ExternalToolService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/service/external-tool.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n addExternalOauth2DataToConfig\n \n \n Async\n createExternalTool\n \n \n Async\n deleteExternalTool\n \n \n Async\n findById\n \n \n findExternalToolByName\n \n \n findExternalToolByOAuth2ConfigClientId\n \n \n Async\n findExternalTools\n \n \n Async\n updateExternalTool\n \n \n Private\n Async\n updateOauth2ToolConfig\n \n \n Private\n Async\n updateOauthClientOrThrow\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolRepo: ExternalToolRepo, oauthProviderService: OauthProviderService, mapper: ExternalToolServiceMapper, schoolExternalToolRepo: SchoolExternalToolRepo, contextExternalToolRepo: ContextExternalToolRepo, encryptionService: EncryptionService, legacyLogger: LegacyLogger, externalToolVersionService: ExternalToolVersionIncrementService)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.service.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolRepo\n \n \n ExternalToolRepo\n \n \n \n No\n \n \n \n \n oauthProviderService\n \n \n OauthProviderService\n \n \n \n No\n \n \n \n \n mapper\n \n \n ExternalToolServiceMapper\n \n \n \n No\n \n \n \n \n schoolExternalToolRepo\n \n \n SchoolExternalToolRepo\n \n \n \n No\n \n \n \n \n contextExternalToolRepo\n \n \n ContextExternalToolRepo\n \n \n \n No\n \n \n \n \n encryptionService\n \n \n EncryptionService\n \n \n \n No\n \n \n \n \n legacyLogger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n externalToolVersionService\n \n \n ExternalToolVersionIncrementService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n addExternalOauth2DataToConfig\n \n \n \n \n \n \n \n addExternalOauth2DataToConfig(config: Oauth2ToolConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.service.ts:145\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n Oauth2ToolConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createExternalTool\n \n \n \n \n \n \n \n createExternalTool(externalTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.service.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteExternalTool\n \n \n \n \n \n \n \n deleteExternalTool(toolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.service.ts:105\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.service.ts:80\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n findExternalToolByName\n \n \n \n \n \n \nfindExternalToolByName(name: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.service.ts:95\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n findExternalToolByOAuth2ConfigClientId\n \n \n \n \n \n \nfindExternalToolByOAuth2ConfigClientId(clientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.service.ts:100\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n clientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findExternalTools\n \n \n \n \n \n \n \n findExternalTools(query: ExternalToolSearchQuery, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.service.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n ExternalToolSearchQuery\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateExternalTool\n \n \n \n \n \n \n \n updateExternalTool(toUpdate: ExternalTool, loadedTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.service.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toUpdate\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n loadedTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n updateOauth2ToolConfig\n \n \n \n \n \n \n \n updateOauth2ToolConfig(toUpdate: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.service.ts:120\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toUpdate\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n updateOauthClientOrThrow\n \n \n \n \n \n \n \n updateOauthClientOrThrow(loadedOauthClient: ProviderOauthClient, toUpdateOauthClient: ProviderOauthClient, toUpdate: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.service.ts:133\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loadedOauthClient\n \n ProviderOauthClient\n \n\n \n No\n \n\n\n \n \n toUpdateOauthClient\n \n ProviderOauthClient\n \n\n \n No\n \n\n\n \n \n toUpdate\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { DefaultEncryptionService, EncryptionService } from '@infra/encryption';\nimport { OauthProviderService } from '@infra/oauth-provider';\nimport { ProviderOauthClient } from '@infra/oauth-provider/dto';\nimport { Inject, Injectable, UnprocessableEntityException } from '@nestjs/common';\nimport { Page } from '@shared/domain/domainobject';\nimport { IFindOptions } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { ContextExternalToolRepo, ExternalToolRepo, SchoolExternalToolRepo } from '@shared/repo';\nimport { LegacyLogger } from '@src/core/logger';\nimport { TokenEndpointAuthMethod } from '../../common/enum';\nimport { ExternalToolSearchQuery } from '../../common/interface';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { ExternalTool, Oauth2ToolConfig } from '../domain';\nimport { ExternalToolServiceMapper } from './external-tool-service.mapper';\nimport { ExternalToolVersionIncrementService } from './external-tool-version-increment.service';\n\n@Injectable()\nexport class ExternalToolService {\n\tconstructor(\n\t\tprivate readonly externalToolRepo: ExternalToolRepo,\n\t\tprivate readonly oauthProviderService: OauthProviderService,\n\t\tprivate readonly mapper: ExternalToolServiceMapper,\n\t\tprivate readonly schoolExternalToolRepo: SchoolExternalToolRepo,\n\t\tprivate readonly contextExternalToolRepo: ContextExternalToolRepo,\n\t\t@Inject(DefaultEncryptionService) private readonly encryptionService: EncryptionService,\n\t\tprivate readonly legacyLogger: LegacyLogger,\n\t\tprivate readonly externalToolVersionService: ExternalToolVersionIncrementService\n\t) {}\n\n\tasync createExternalTool(externalTool: ExternalTool): Promise {\n\t\tif (ExternalTool.isLti11Config(externalTool.config) && externalTool.config.secret) {\n\t\t\texternalTool.config.secret = this.encryptionService.encrypt(externalTool.config.secret);\n\t\t} else if (ExternalTool.isOauth2Config(externalTool.config)) {\n\t\t\tconst oauthClient: ProviderOauthClient = this.mapper.mapDoToProviderOauthClient(\n\t\t\t\texternalTool.name,\n\t\t\t\texternalTool.config\n\t\t\t);\n\n\t\t\tawait this.oauthProviderService.createOAuth2Client(oauthClient);\n\t\t}\n\n\t\tconst created: ExternalTool = await this.externalToolRepo.save(externalTool);\n\t\treturn created;\n\t}\n\n\tasync updateExternalTool(toUpdate: ExternalTool, loadedTool: ExternalTool): Promise {\n\t\tawait this.updateOauth2ToolConfig(toUpdate);\n\t\tthis.externalToolVersionService.increaseVersionOfNewToolIfNecessary(loadedTool, toUpdate);\n\t\tconst externalTool: ExternalTool = await this.externalToolRepo.save(toUpdate);\n\t\treturn externalTool;\n\t}\n\n\tasync findExternalTools(\n\t\tquery: ExternalToolSearchQuery,\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst tools: Page = await this.externalToolRepo.find(query, options);\n\n\t\tconst resolvedTools: (ExternalTool | undefined)[] = await Promise.all(\n\t\t\ttools.data.map(async (tool: ExternalTool): Promise => {\n\t\t\t\tif (ExternalTool.isOauth2Config(tool.config)) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait this.addExternalOauth2DataToConfig(tool.config);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\tthis.legacyLogger.debug(\n\t\t\t\t\t\t\t`Could not resolve oauth2Config of tool with clientId ${tool.config.clientId}. It will be filtered out.`\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn tool;\n\t\t\t})\n\t\t);\n\n\t\ttools.data = resolvedTools.filter((tool) => tool !== undefined) as ExternalTool[];\n\n\t\treturn tools;\n\t}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst tool: ExternalTool = await this.externalToolRepo.findById(id);\n\t\tif (ExternalTool.isOauth2Config(tool.config)) {\n\t\t\ttry {\n\t\t\t\tawait this.addExternalOauth2DataToConfig(tool.config);\n\t\t\t} catch (e) {\n\t\t\t\tthis.legacyLogger.debug(\n\t\t\t\t\t`Could not resolve oauth2Config of tool with clientId ${tool.config.clientId}. It will be filtered out.`\n\t\t\t\t);\n\t\t\t\tthrow new UnprocessableEntityException(`Could not resolve oauth2Config of tool ${tool.name}.`);\n\t\t\t}\n\t\t}\n\t\treturn tool;\n\t}\n\n\tfindExternalToolByName(name: string): Promise {\n\t\tconst externalTool: Promise = this.externalToolRepo.findByName(name);\n\t\treturn externalTool;\n\t}\n\n\tfindExternalToolByOAuth2ConfigClientId(clientId: string): Promise {\n\t\tconst externalTool: Promise = this.externalToolRepo.findByOAuth2ConfigClientId(clientId);\n\t\treturn externalTool;\n\t}\n\n\tasync deleteExternalTool(toolId: EntityId): Promise {\n\t\tconst schoolExternalTools: SchoolExternalTool[] = await this.schoolExternalToolRepo.findByExternalToolId(toolId);\n\t\tconst schoolExternalToolIds: string[] = schoolExternalTools.map(\n\t\t\t(schoolExternalTool: SchoolExternalTool): string =>\n\t\t\t\t// We can be sure that the repo returns the id\n\t\t\t\tschoolExternalTool.id as string\n\t\t);\n\n\t\tawait Promise.all([\n\t\t\tthis.contextExternalToolRepo.deleteBySchoolExternalToolIds(schoolExternalToolIds),\n\t\t\tthis.schoolExternalToolRepo.deleteByExternalToolId(toolId),\n\t\t\tthis.externalToolRepo.deleteById(toolId),\n\t\t]);\n\t}\n\n\tprivate async updateOauth2ToolConfig(toUpdate: ExternalTool) {\n\t\tif (ExternalTool.isOauth2Config(toUpdate.config)) {\n\t\t\tconst toUpdateOauthClient: ProviderOauthClient = this.mapper.mapDoToProviderOauthClient(\n\t\t\t\ttoUpdate.name,\n\t\t\t\ttoUpdate.config\n\t\t\t);\n\t\t\tconst loadedOauthClient: ProviderOauthClient = await this.oauthProviderService.getOAuth2Client(\n\t\t\t\ttoUpdate.config.clientId\n\t\t\t);\n\t\t\tawait this.updateOauthClientOrThrow(loadedOauthClient, toUpdateOauthClient, toUpdate);\n\t\t}\n\t}\n\n\tprivate async updateOauthClientOrThrow(\n\t\tloadedOauthClient: ProviderOauthClient,\n\t\ttoUpdateOauthClient: ProviderOauthClient,\n\t\ttoUpdate: ExternalTool\n\t) {\n\t\tif (loadedOauthClient && loadedOauthClient.client_id) {\n\t\t\tawait this.oauthProviderService.updateOAuth2Client(loadedOauthClient.client_id, toUpdateOauthClient);\n\t\t} else {\n\t\t\tthrow new UnprocessableEntityException(`The oAuthConfigs clientId of tool ${toUpdate.name}\" does not exist`);\n\t\t}\n\t}\n\n\tprivate async addExternalOauth2DataToConfig(config: Oauth2ToolConfig) {\n\t\tconst oauthClient: ProviderOauthClient = await this.oauthProviderService.getOAuth2Client(config.clientId);\n\n\t\tconfig.scope = oauthClient.scope;\n\t\tconfig.tokenEndpointAuthMethod = oauthClient.token_endpoint_auth_method as TokenEndpointAuthMethod;\n\t\tconfig.redirectUris = oauthClient.redirect_uris;\n\t\tconfig.frontchannelLogoutUri = oauthClient.frontchannel_logout_uri;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolServiceMapper.html":{"url":"injectables/ExternalToolServiceMapper.html","title":"injectable - ExternalToolServiceMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolServiceMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/service/external-tool-service.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n mapDoToProviderOauthClient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n mapDoToProviderOauthClient\n \n \n \n \n \n \nmapDoToProviderOauthClient(name: string, oauth2Config: Oauth2ToolConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-service.mapper.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n oauth2Config\n \n Oauth2ToolConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ProviderOauthClient\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ProviderOauthClient } from '@infra/oauth-provider/dto';\nimport { Injectable } from '@nestjs/common';\nimport { Oauth2ToolConfig } from '../domain';\n\n@Injectable()\nexport class ExternalToolServiceMapper {\n\tmapDoToProviderOauthClient(name: string, oauth2Config: Oauth2ToolConfig): ProviderOauthClient {\n\t\treturn {\n\t\t\tclient_name: name,\n\t\t\tclient_id: oauth2Config.clientId,\n\t\t\tclient_secret: oauth2Config.clientSecret,\n\t\t\tscope: oauth2Config.scope,\n\t\t\ttoken_endpoint_auth_method: oauth2Config.tokenEndpointAuthMethod,\n\t\t\tredirect_uris: oauth2Config.redirectUris,\n\t\t\tfrontchannel_logout_uri: oauth2Config.frontchannelLogoutUri,\n\t\t\tsubject_type: 'pairwise',\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolSortingMapper.html":{"url":"classes/ExternalToolSortingMapper.html","title":"class - ExternalToolSortingMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolSortingMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/externaltool/external-tool-sorting.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapDOSortOrderToQueryOrder\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapDOSortOrderToQueryOrder\n \n \n \n \n \n \n \n mapDOSortOrderToQueryOrder(sort: SortOrderMap)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool-sorting.mapper.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n sort\n \n SortOrderMap\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : QueryOrderMap\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { QueryOrderMap } from '@mikro-orm/core';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { ExternalToolEntity } from '@modules/tool/external-tool/entity';\nimport { SortOrderMap } from '@shared/domain/interface';\n\nexport class ExternalToolSortingMapper {\n\tstatic mapDOSortOrderToQueryOrder(sort: SortOrderMap): QueryOrderMap {\n\t\tconst queryOrderMap: QueryOrderMap = {\n\t\t\t_id: sort.id,\n\t\t\tname: sort.name,\n\t\t};\n\t\tObject.keys(queryOrderMap)\n\t\t\t.filter((key) => queryOrderMap[key] === undefined)\n\t\t\t.forEach((key) => delete queryOrderMap[key]);\n\t\treturn queryOrderMap;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolUc.html":{"url":"injectables/ExternalToolUc.html","title":"injectable - ExternalToolUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/uc/external-tool.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createExternalTool\n \n \n Async\n deleteExternalTool\n \n \n Private\n Async\n ensurePermission\n \n \n Async\n findExternalTool\n \n \n Async\n getExternalTool\n \n \n Async\n getMetadataForExternalTool\n \n \n Async\n updateExternalTool\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolService: ExternalToolService, authorizationService: AuthorizationService, toolValidationService: ExternalToolValidationService, externalToolLogoService: ExternalToolLogoService, externalToolMetadataService: ExternalToolMetadataService)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool.uc.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n toolValidationService\n \n \n ExternalToolValidationService\n \n \n \n No\n \n \n \n \n externalToolLogoService\n \n \n ExternalToolLogoService\n \n \n \n No\n \n \n \n \n externalToolMetadataService\n \n \n ExternalToolMetadataService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createExternalTool\n \n \n \n \n \n \n \n createExternalTool(userId: EntityId, externalToolCreate: ExternalToolCreate)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool.uc.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n externalToolCreate\n \n ExternalToolCreate\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteExternalTool\n \n \n \n \n \n \n \n deleteExternalTool(userId: EntityId, toolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool.uc.ts:79\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n toolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n ensurePermission\n \n \n \n \n \n \n \n ensurePermission(userId: EntityId, permission: Permission)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool.uc.ts:95\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n permission\n \n Permission\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findExternalTool\n \n \n \n \n \n \n \n findExternalTool(userId: EntityId, query: ExternalToolSearchQuery, options: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool.uc.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n query\n \n ExternalToolSearchQuery\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getExternalTool\n \n \n \n \n \n \n \n getExternalTool(userId: EntityId, toolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool.uc.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n toolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getMetadataForExternalTool\n \n \n \n \n \n \n \n getMetadataForExternalTool(userId: EntityId, toolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool.uc.ts:86\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n toolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateExternalTool\n \n \n \n \n \n \n \n updateExternalTool(userId: EntityId, toolId: string, externalTool: ExternalToolUpdate)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool.uc.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n toolId\n \n string\n \n\n \n No\n \n\n\n \n \n externalTool\n \n ExternalToolUpdate\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationService } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport { Page } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { IFindOptions, Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { ExternalToolSearchQuery } from '../../common/interface';\nimport { ExternalTool, ExternalToolConfig, ExternalToolMetadata } from '../domain';\nimport {\n\tExternalToolLogoService,\n\tExternalToolMetadataService,\n\tExternalToolService,\n\tExternalToolValidationService,\n} from '../service';\nimport { ExternalToolCreate, ExternalToolUpdate } from './dto';\n\n@Injectable()\nexport class ExternalToolUc {\n\tconstructor(\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly toolValidationService: ExternalToolValidationService,\n\t\tprivate readonly externalToolLogoService: ExternalToolLogoService,\n\t\tprivate readonly externalToolMetadataService: ExternalToolMetadataService\n\t) {}\n\n\tasync createExternalTool(userId: EntityId, externalToolCreate: ExternalToolCreate): Promise {\n\t\tawait this.ensurePermission(userId, Permission.TOOL_ADMIN);\n\n\t\tconst externalTool = new ExternalTool({ ...externalToolCreate });\n\t\texternalTool.logo = await this.externalToolLogoService.fetchLogo(externalTool);\n\n\t\tawait this.toolValidationService.validateCreate(externalTool);\n\n\t\tconst tool: ExternalTool = await this.externalToolService.createExternalTool(externalTool);\n\n\t\treturn tool;\n\t}\n\n\tasync updateExternalTool(userId: EntityId, toolId: string, externalTool: ExternalToolUpdate): Promise {\n\t\tawait this.ensurePermission(userId, Permission.TOOL_ADMIN);\n\n\t\texternalTool.logo = await this.externalToolLogoService.fetchLogo(externalTool);\n\n\t\tawait this.toolValidationService.validateUpdate(toolId, externalTool);\n\n\t\tconst loaded: ExternalTool = await this.externalToolService.findById(toolId);\n\t\tconst configToUpdate: ExternalToolConfig = { ...loaded.config, ...externalTool.config };\n\t\tconst toUpdate: ExternalTool = new ExternalTool({\n\t\t\t...loaded,\n\t\t\t...externalTool,\n\t\t\tconfig: configToUpdate,\n\t\t\tversion: loaded.version,\n\t\t});\n\n\t\tconst saved: ExternalTool = await this.externalToolService.updateExternalTool(toUpdate, loaded);\n\n\t\treturn saved;\n\t}\n\n\tasync findExternalTool(\n\t\tuserId: EntityId,\n\t\tquery: ExternalToolSearchQuery,\n\t\toptions: IFindOptions\n\t): Promise> {\n\t\tawait this.ensurePermission(userId, Permission.TOOL_ADMIN);\n\n\t\tconst tools: Page = await this.externalToolService.findExternalTools(query, options);\n\t\treturn tools;\n\t}\n\n\tasync getExternalTool(userId: EntityId, toolId: EntityId): Promise {\n\t\tawait this.ensurePermission(userId, Permission.TOOL_ADMIN);\n\n\t\tconst tool: ExternalTool = await this.externalToolService.findById(toolId);\n\t\treturn tool;\n\t}\n\n\tasync deleteExternalTool(userId: EntityId, toolId: EntityId): Promise {\n\t\tawait this.ensurePermission(userId, Permission.TOOL_ADMIN);\n\n\t\tconst promise: Promise = this.externalToolService.deleteExternalTool(toolId);\n\t\treturn promise;\n\t}\n\n\tasync getMetadataForExternalTool(userId: EntityId, toolId: EntityId): Promise {\n\t\t// TODO N21-1496: Change External Tools to use authorizationService.checkPermission\n\t\tawait this.ensurePermission(userId, Permission.TOOL_ADMIN);\n\n\t\tconst metadata: ExternalToolMetadata = await this.externalToolMetadataService.getMetadata(toolId);\n\n\t\treturn metadata;\n\t}\n\n\tprivate async ensurePermission(userId: EntityId, permission: Permission) {\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(userId);\n\t\tthis.authorizationService.checkAllPermissions(user, [permission]);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolUpdateParams.html":{"url":"classes/ExternalToolUpdateParams.html","title":"class - ExternalToolUpdateParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolUpdateParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-update.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n config\n \n \n \n \n id\n \n \n \n \n isHidden\n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n name\n \n \n \n \n openNewTab\n \n \n \n \n \n \n \n Optional\n parameters\n \n \n \n \n \n \n Optional\n restrictToContexts\n \n \n \n \n \n Optional\n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n config\n \n \n \n \n \n \n Type : Lti11ToolConfigUpdateParams | Oauth2ToolConfigUpdateParams | BasicToolConfigParams\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()@Type(undefined, {keepDiscriminatorProperty: true, discriminator: undefined})@ApiProperty({oneOf: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-update.params.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-update.params.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n isHidden\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-update.params.ts:63\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-update.params.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-update.params.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n openNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-update.params.ts:67\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n parameters\n \n \n \n \n \n \n Type : CustomParameterPostParams[]\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested({each: true})@IsArray()@IsOptional()@ApiPropertyOptional({type: undefined})@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-update.params.ts:59\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n restrictToContexts\n \n \n \n \n \n \n Type : ToolContextType[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@IsOptional()@IsEnum(ToolContextType, {each: true})@ApiPropertyOptional({enum: ToolContextType, enumName: 'ToolContextType', isArray: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-update.params.ts:73\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-update.params.ts:26\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiExtraModels, ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { Type } from 'class-transformer';\nimport { IsArray, IsBoolean, IsEnum, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { ToolConfigType, ToolContextType } from '../../../../common/enum';\nimport {\n\tBasicToolConfigParams,\n\tExternalToolConfigCreateParams,\n\tLti11ToolConfigUpdateParams,\n\tOauth2ToolConfigUpdateParams,\n} from './config';\nimport { CustomParameterPostParams } from './custom-parameter.params';\n\n@ApiExtraModels(Lti11ToolConfigUpdateParams, Oauth2ToolConfigUpdateParams, BasicToolConfigParams)\nexport class ExternalToolUpdateParams {\n\t@IsString()\n\t@ApiProperty()\n\tid!: string;\n\n\t@IsString()\n\t@ApiProperty()\n\tname!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\turl?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tlogoUrl?: string;\n\n\t@ValidateNested()\n\t@Type(/* istanbul ignore next */ () => ExternalToolConfigCreateParams, {\n\t\tkeepDiscriminatorProperty: true,\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: Lti11ToolConfigUpdateParams, name: ToolConfigType.LTI11 },\n\t\t\t\t{ value: Oauth2ToolConfigUpdateParams, name: ToolConfigType.OAUTH2 },\n\t\t\t\t{ value: BasicToolConfigParams, name: ToolConfigType.BASIC },\n\t\t\t],\n\t\t},\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(BasicToolConfigParams) },\n\t\t\t{ $ref: getSchemaPath(Lti11ToolConfigUpdateParams) },\n\t\t\t{ $ref: getSchemaPath(Oauth2ToolConfigUpdateParams) },\n\t\t],\n\t})\n\tconfig!: Lti11ToolConfigUpdateParams | Oauth2ToolConfigUpdateParams | BasicToolConfigParams;\n\n\t@ValidateNested({ each: true })\n\t@IsArray()\n\t@IsOptional()\n\t@ApiPropertyOptional({ type: [CustomParameterPostParams] })\n\t@Type(/* istanbul ignore next */ () => CustomParameterPostParams)\n\tparameters?: CustomParameterPostParams[];\n\n\t@IsBoolean()\n\t@ApiProperty()\n\tisHidden!: boolean;\n\n\t@IsBoolean()\n\t@ApiProperty()\n\topenNewTab!: boolean;\n\n\t@IsArray()\n\t@IsOptional()\n\t@IsEnum(ToolContextType, { each: true })\n\t@ApiPropertyOptional({ enum: ToolContextType, enumName: 'ToolContextType', isArray: true })\n\trestrictToContexts?: ToolContextType[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolValidationService.html":{"url":"injectables/ExternalToolValidationService.html","title":"injectable - ExternalToolValidationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolValidationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/service/external-tool-validation.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n isClientIdUnique\n \n \n Async\n validateCreate\n \n \n Private\n validateLti11Config\n \n \n Private\n Async\n validateOauth2Config\n \n \n Async\n validateUpdate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolService: ExternalToolService, externalToolParameterValidationService: ExternalToolParameterValidationService, externalToolLogoService: ExternalToolLogoService)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-validation.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n externalToolParameterValidationService\n \n \n ExternalToolParameterValidationService\n \n \n \n No\n \n \n \n \n externalToolLogoService\n \n \n ExternalToolLogoService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n isClientIdUnique\n \n \n \n \n \n \n \n isClientIdUnique(externalTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-validation.service.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n validateCreate\n \n \n \n \n \n \n \n validateCreate(externalTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-validation.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n validateLti11Config\n \n \n \n \n \n \n \n validateLti11Config(externalTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-validation.service.ts:74\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n validateOauth2Config\n \n \n \n \n \n \n \n validateOauth2Config(externalTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-validation.service.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n validateUpdate\n \n \n \n \n \n \n \n validateUpdate(toolId: string, externalTool: Partial)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-validation.service.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolId\n \n string\n \n\n \n No\n \n\n\n \n \n externalTool\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ValidationError } from '@shared/common';\nimport { ExternalTool } from '../domain';\nimport { ExternalToolLogoService } from './external-tool-logo.service';\nimport { ExternalToolParameterValidationService } from './external-tool-parameter-validation.service';\nimport { ExternalToolService } from './external-tool.service';\n\n@Injectable()\nexport class ExternalToolValidationService {\n\tconstructor(\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly externalToolParameterValidationService: ExternalToolParameterValidationService,\n\t\tprivate readonly externalToolLogoService: ExternalToolLogoService\n\t) {}\n\n\tasync validateCreate(externalTool: ExternalTool): Promise {\n\t\tawait this.externalToolParameterValidationService.validateCommon(externalTool);\n\n\t\tawait this.validateOauth2Config(externalTool);\n\n\t\tthis.validateLti11Config(externalTool);\n\n\t\tthis.externalToolLogoService.validateLogoSize(externalTool);\n\t}\n\n\tasync validateUpdate(toolId: string, externalTool: Partial): Promise {\n\t\tif (toolId !== externalTool.id) {\n\t\t\tthrow new ValidationError(`tool_id_mismatch: The tool has no id or it does not match the path parameter.`);\n\t\t}\n\n\t\tawait this.externalToolParameterValidationService.validateCommon(externalTool);\n\n\t\tconst loadedTool: ExternalTool = await this.externalToolService.findById(toolId);\n\t\tif (\n\t\t\tExternalTool.isOauth2Config(loadedTool.config) &&\n\t\t\texternalTool.config &&\n\t\t\texternalTool.config.type !== loadedTool.config.type\n\t\t) {\n\t\t\tthrow new ValidationError(\n\t\t\t\t`tool_type_immutable: The Config Type of the tool ${externalTool.name || ''} is immutable.`\n\t\t\t);\n\t\t}\n\n\t\tif (\n\t\t\texternalTool.config &&\n\t\t\tExternalTool.isOauth2Config(externalTool.config) &&\n\t\t\tExternalTool.isOauth2Config(loadedTool.config) &&\n\t\t\texternalTool.config.clientId !== loadedTool.config.clientId\n\t\t) {\n\t\t\tthrow new ValidationError(\n\t\t\t\t`tool_clientId_immutable: The Client Id of the tool ${externalTool.name || ''} is immutable.`\n\t\t\t);\n\t\t}\n\n\t\tthis.externalToolLogoService.validateLogoSize(externalTool);\n\t}\n\n\tprivate async validateOauth2Config(externalTool: ExternalTool): Promise {\n\t\tif (ExternalTool.isOauth2Config(externalTool.config)) {\n\t\t\tif (!externalTool.config.clientSecret) {\n\t\t\t\tthrow new ValidationError(\n\t\t\t\t\t`tool_clientSecret_missing: The Client Secret of the tool ${externalTool.name || ''} is missing.`\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (!(await this.isClientIdUnique(externalTool))) {\n\t\t\t\tthrow new ValidationError(\n\t\t\t\t\t`tool_clientId_duplicate: The Client Id of the tool ${externalTool.name || ''} is already used.`\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate validateLti11Config(externalTool: ExternalTool): void {\n\t\tif (ExternalTool.isLti11Config(externalTool.config)) {\n\t\t\tif (!externalTool.config.secret) {\n\t\t\t\tthrow new ValidationError(\n\t\t\t\t\t`tool_secret_missing: The secret of the LTI tool ${externalTool.name || ''} is missing.`\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate async isClientIdUnique(externalTool: ExternalTool): Promise {\n\t\tlet duplicate: ExternalTool | null = null;\n\t\tif (ExternalTool.isOauth2Config(externalTool.config)) {\n\t\t\tduplicate = await this.externalToolService.findExternalToolByOAuth2ConfigClientId(externalTool.config.clientId);\n\t\t}\n\t\treturn duplicate == null || duplicate.id === externalTool.id;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolVersionIncrementService.html":{"url":"injectables/ExternalToolVersionIncrementService.html","title":"injectable - ExternalToolVersionIncrementService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolVersionIncrementService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/service/external-tool-version-increment.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n compareParameters\n \n \n Private\n hasChangedParameterNames\n \n \n Private\n hasChangedParameterRegex\n \n \n Private\n hasChangedParameterScope\n \n \n Private\n hasChangedParameterTypes\n \n \n Private\n hasChangedRequiredParameters\n \n \n Private\n hasNewRequiredParameter\n \n \n increaseVersionOfNewToolIfNecessary\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n compareParameters\n \n \n \n \n \n \n \n compareParameters(oldParams: CustomParameter[], newParams: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-version-increment.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oldParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n newParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n hasChangedParameterNames\n \n \n \n \n \n \n \n hasChangedParameterNames(oldParams: CustomParameter[], newParams: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-version-increment.service.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oldParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n newParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n hasChangedParameterRegex\n \n \n \n \n \n \n \n hasChangedParameterRegex(newParams: CustomParameter[], matchingParams: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-version-increment.service.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n newParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n matchingParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n hasChangedParameterScope\n \n \n \n \n \n \n \n hasChangedParameterScope(newParams: CustomParameter[], matchingParams: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-version-increment.service.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n newParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n matchingParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n hasChangedParameterTypes\n \n \n \n \n \n \n \n hasChangedParameterTypes(newParams: CustomParameter[], matchingParams: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-version-increment.service.ts:68\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n newParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n matchingParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n hasChangedRequiredParameters\n \n \n \n \n \n \n \n hasChangedRequiredParameters(newParams: CustomParameter[], matchingParams: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-version-increment.service.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n newParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n matchingParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n hasNewRequiredParameter\n \n \n \n \n \n \n \n hasNewRequiredParameter(oldParams: CustomParameter[], newParams: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-version-increment.service.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oldParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n newParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n increaseVersionOfNewToolIfNecessary\n \n \n \n \n \n \nincreaseVersionOfNewToolIfNecessary(oldTool: ExternalTool, newTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-version-increment.service.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oldTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n newTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ExternalTool } from '../domain';\nimport { CustomParameter } from '../../common/domain';\n\n@Injectable()\nexport class ExternalToolVersionIncrementService {\n\tincreaseVersionOfNewToolIfNecessary(oldTool: ExternalTool, newTool: ExternalTool): void {\n\t\tif (!oldTool.parameters || !newTool.parameters) {\n\t\t\treturn;\n\t\t}\n\t\tif (this.compareParameters(oldTool.parameters, newTool.parameters)) {\n\t\t\tnewTool.version += 1;\n\t\t}\n\t}\n\n\tprivate compareParameters(oldParams: CustomParameter[], newParams: CustomParameter[]): boolean {\n\t\tconst matchingParams: CustomParameter[] = oldParams.filter((oldParam) =>\n\t\t\tnewParams.some((newParam) => oldParam.name === newParam.name)\n\t\t);\n\n\t\tconst shouldIncrementVersion =\n\t\t\tthis.hasNewRequiredParameter(oldParams, newParams) ||\n\t\t\tthis.hasChangedRequiredParameters(oldParams, newParams) ||\n\t\t\tthis.hasChangedParameterNames(oldParams, newParams) ||\n\t\t\tthis.hasChangedParameterRegex(newParams, matchingParams) ||\n\t\t\tthis.hasChangedParameterTypes(newParams, matchingParams) ||\n\t\t\tthis.hasChangedParameterScope(newParams, matchingParams);\n\n\t\treturn shouldIncrementVersion;\n\t}\n\n\tprivate hasNewRequiredParameter(oldParams: CustomParameter[], newParams: CustomParameter[]): boolean {\n\t\tconst increase = newParams.some(\n\t\t\t(newParam) => !newParam.isOptional && oldParams.every((oldParam) => oldParam.name !== newParam.name)\n\t\t);\n\t\treturn increase;\n\t}\n\n\tprivate hasChangedParameterNames(oldParams: CustomParameter[], newParams: CustomParameter[]): boolean {\n\t\tconst nonOptionalParams = oldParams.filter((parameter) => !parameter.isOptional);\n\t\tconst nonOptionalParamNames = nonOptionalParams.map((parameter) => parameter.name);\n\n\t\tconst newNonOptionalParams = newParams.filter((parameter) => !parameter.isOptional);\n\t\tconst newNonOptionalParamNames = newNonOptionalParams.map((parameter) => parameter.name);\n\n\t\tconst increase =\n\t\t\tnonOptionalParamNames.some((name) => !newNonOptionalParamNames.includes(name)) ||\n\t\t\tnewNonOptionalParamNames.some((name) => !nonOptionalParamNames.includes(name));\n\t\treturn increase;\n\t}\n\n\tprivate hasChangedRequiredParameters(newParams: CustomParameter[], matchingParams: CustomParameter[]): boolean {\n\t\tconst increase = matchingParams.some((param) => {\n\t\t\tconst newParam = newParams.find((p) => p.name === param.name);\n\t\t\treturn newParam && param.isOptional !== newParam.isOptional;\n\t\t});\n\t\treturn increase;\n\t}\n\n\tprivate hasChangedParameterRegex(newParams: CustomParameter[], matchingParams: CustomParameter[]): boolean {\n\t\tconst increase = matchingParams.some((param) => {\n\t\t\tconst newParam = newParams.find((p) => p.name === param.name);\n\t\t\treturn newParam && param.regex !== newParam.regex;\n\t\t});\n\t\treturn increase;\n\t}\n\n\tprivate hasChangedParameterTypes(newParams: CustomParameter[], matchingParams: CustomParameter[]): boolean {\n\t\tconst increase = matchingParams.some((param) => {\n\t\t\tconst newParam = newParams.find((p) => p.name === param.name);\n\t\t\treturn newParam && param.type !== newParam.type;\n\t\t});\n\t\treturn increase;\n\t}\n\n\tprivate hasChangedParameterScope(newParams: CustomParameter[], matchingParams: CustomParameter[]): boolean {\n\t\tconst increase = matchingParams.some((param) => {\n\t\t\tconst newParam = newParams.find((p) => p.name === param.name);\n\t\t\treturn newParam && param.scope !== newParam.scope;\n\t\t});\n\t\treturn increase;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalUserDto.html":{"url":"classes/ExternalUserDto.html","title":"class - ExternalUserDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalUserDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/dto/external-user.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n birthday\n \n \n Optional\n email\n \n \n externalId\n \n \n Optional\n firstName\n \n \n Optional\n lastName\n \n \n Optional\n roles\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalUserDto)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-user.dto.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalUserDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n birthday\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-user.dto.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n email\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-user.dto.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-user.dto.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-user.dto.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-user.dto.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n roles\n \n \n \n \n \n \n Type : RoleName[]\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-user.dto.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { RoleName } from '@shared/domain/interface';\n\nexport class ExternalUserDto {\n\texternalId: string;\n\n\tfirstName?: string;\n\n\tlastName?: string;\n\n\temail?: string;\n\n\troles?: RoleName[];\n\n\tbirthday?: Date;\n\n\tconstructor(props: ExternalUserDto) {\n\t\tthis.externalId = props.externalId;\n\t\tthis.firstName = props.firstName;\n\t\tthis.lastName = props.lastName;\n\t\tthis.email = props.email;\n\t\tthis.roles = props.roles;\n\t\tthis.birthday = props.birthday;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FeathersAuthProvider.html":{"url":"injectables/FeathersAuthProvider.html","title":"injectable - FeathersAuthProvider","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FeathersAuthProvider\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/feathers/feathers-auth.provider.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getPermittedSchools\n \n \n Async\n getPermittedTargets\n \n \n Private\n Async\n getUser\n \n \n Async\n getUserSchoolPermissions\n \n \n Async\n getUserTargetPermissions\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(feathersServiceProvider: FeathersServiceProvider)\n \n \n \n \n Defined in apps/server/src/modules/authorization/feathers/feathers-auth.provider.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n feathersServiceProvider\n \n \n FeathersServiceProvider\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getPermittedSchools\n \n \n \n \n \n \n \n getPermittedSchools(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/feathers/feathers-auth.provider.ts:56\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getPermittedTargets\n \n \n \n \n \n \n \n getPermittedTargets(userId: EntityId, targetModel: NewsTargetModel, permissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/feathers/feathers-auth.provider.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetModel\n \n NewsTargetModel\n \n\n \n No\n \n\n\n \n \n permissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getUser\n \n \n \n \n \n \n \n getUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/feathers/feathers-auth.provider.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getUserSchoolPermissions\n \n \n \n \n \n \n \n getUserSchoolPermissions(userId: EntityId, schoolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/feathers/feathers-auth.provider.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise | never\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getUserTargetPermissions\n \n \n \n \n \n \n \n getUserTargetPermissions(userId: EntityId, targetModel: NewsTargetModel, targetId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/feathers/feathers-auth.provider.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetModel\n \n NewsTargetModel\n \n\n \n No\n \n\n\n \n \n targetId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { FeathersServiceProvider } from '@infra/feathers';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable, NotFoundException } from '@nestjs/common';\nimport { BaseEntity } from '@shared/domain/entity';\nimport { EntityId, NewsTargetModel } from '@shared/domain/types';\n\ninterface User {\n\t_id: ObjectId;\n\tschoolId: ObjectId;\n\tpermissions: string[];\n}\n\n@Injectable()\nexport class FeathersAuthProvider {\n\tconstructor(private feathersServiceProvider: FeathersServiceProvider) {}\n\n\tasync getUserSchoolPermissions(userId: EntityId, schoolId: EntityId): Promise | never {\n\t\tconst user = await this.getUser(userId);\n\t\t// test user is school member\n\t\tconst sameSchool = user.schoolId.toString() === schoolId;\n\t\tif (sameSchool && Array.isArray(user.permissions)) {\n\t\t\treturn user.permissions;\n\t\t}\n\t\treturn [];\n\t}\n\n\tasync getUserTargetPermissions(\n\t\tuserId: EntityId,\n\t\ttargetModel: NewsTargetModel,\n\t\ttargetId: EntityId\n\t): Promise {\n\t\tconst service = this.feathersServiceProvider.getService(`${targetModel}/:scopeId/userPermissions/`);\n\t\tconst targetPermissions = (await service.get(userId, {\n\t\t\troute: { scopeId: targetId },\n\t\t})) as string[];\n\t\treturn targetPermissions;\n\t}\n\n\tasync getPermittedTargets(\n\t\tuserId: EntityId,\n\t\ttargetModel: NewsTargetModel,\n\t\tpermissions: string[]\n\t): Promise {\n\t\tconst service = this.feathersServiceProvider.getService(`/users/:scopeId/${targetModel}`);\n\t\tconst targets = (await service.find({\n\t\t\troute: { scopeId: userId.toString() },\n\t\t\tquery: {\n\t\t\t\tpermissions,\n\t\t\t},\n\t\t\tpaginate: false,\n\t\t})) as BaseEntity[];\n\t\tconst targetIds = targets.map((target) => target._id.toString());\n\t\treturn targetIds;\n\t}\n\n\tasync getPermittedSchools(userId: EntityId): Promise {\n\t\tconst user = await this.getUser(userId);\n\t\treturn [user.schoolId.toString()] as EntityId[];\n\t}\n\n\tprivate async getUser(userId: EntityId): Promise {\n\t\tconst service = this.feathersServiceProvider.getService('users');\n\t\tconst user = (await service.get(userId)) as User;\n\t\tif (user == null) throw new NotFoundException();\n\t\treturn user;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FeathersAuthorizationService.html":{"url":"injectables/FeathersAuthorizationService.html","title":"injectable - FeathersAuthorizationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FeathersAuthorizationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/feathers/feathers-authorization.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n checkEntityPermissions\n \n \n Async\n getEntityPermissions\n \n \n Async\n getPermittedEntities\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(feathersAuthProvider: FeathersAuthProvider)\n \n \n \n \n Defined in apps/server/src/modules/authorization/feathers/feathers-authorization.service.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n feathersAuthProvider\n \n \n FeathersAuthProvider\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n checkEntityPermissions\n \n \n \n \n \n \n \n checkEntityPermissions(userId: EntityId, targetModel: NewsTargetModel, targetId: EntityId, permissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/feathers/feathers-authorization.service.ts:32\n \n \n\n\n \n \n Ensure that a user has sufficient permissions for a specific entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetModel\n \n NewsTargetModel\n \n\n \n No\n \n\n\n \n \n targetId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n permissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getEntityPermissions\n \n \n \n \n \n \n \n getEntityPermissions(userId: EntityId, targetModel: NewsTargetModel, targetId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/feathers/feathers-authorization.service.ts:16\n \n \n\n\n \n \n Get all permissions a user has for a specific entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetModel\n \n NewsTargetModel\n \n\n \n No\n \n\n\n \n \n targetId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n The list of entity permissions for the user\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n getPermittedEntities\n \n \n \n \n \n \n \n getPermittedEntities(userId: EntityId, targetModel: NewsTargetModel, permissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/feathers/feathers-authorization.service.ts:54\n \n \n\n\n \n \n Get all entities for which a user has specific permissions\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetModel\n \n NewsTargetModel\n \n\n \n No\n \n\n\n \n \n permissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n The list of ids of all entities that satisfy the provided permissions for the user\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, UnauthorizedException } from '@nestjs/common';\nimport { EntityId, NewsTargetModel } from '@shared/domain/types';\nimport { FeathersAuthProvider } from './feathers-auth.provider';\n\n@Injectable()\nexport class FeathersAuthorizationService {\n\tconstructor(private feathersAuthProvider: FeathersAuthProvider) {}\n\n\t/**\n\t * Get all permissions a user has for a specific entity\n\t * @param userId\n\t * @param targetModel\n\t * @param targetId\n\t * @returns The list of entity permissions for the user\n\t */\n\tasync getEntityPermissions(userId: EntityId, targetModel: NewsTargetModel, targetId: EntityId): Promise {\n\t\tconst permissions =\n\t\t\ttargetModel === NewsTargetModel.School\n\t\t\t\t? await this.feathersAuthProvider.getUserSchoolPermissions(userId, targetId)\n\t\t\t\t: await this.feathersAuthProvider.getUserTargetPermissions(userId, targetModel, targetId);\n\t\treturn permissions;\n\t}\n\n\t/**\n\t * Ensure that a user has sufficient permissions for a specific entity\n\t * @param userId\n\t * @param targetModel\n\t * @param targetId\n\t * @param permissions\n\t * @throws UnauthorizedException if the permissions are not satisfied\n\t */\n\tasync checkEntityPermissions(\n\t\tuserId: EntityId,\n\t\ttargetModel: NewsTargetModel,\n\t\ttargetId: EntityId,\n\t\tpermissions: string[]\n\t): Promise {\n\t\tif (!Array.isArray(permissions) || permissions.length === 0)\n\t\t\tthrow new UnauthorizedException('missing at least one permission to be checked');\n\t\tconst entityPermissions = await this.getEntityPermissions(userId, targetModel, targetId);\n\t\tconst hasPermissions = permissions.every((p) => entityPermissions.includes(p));\n\t\tif (!hasPermissions) {\n\t\t\tthrow new UnauthorizedException('Insufficient permissions');\n\t\t}\n\t}\n\n\t/**\n\t * Get all entities for which a user has specific permissions\n\t * @param userId\n\t * @param targetModel\n\t * @param permissions\n\t * @returns The list of ids of all entities that satisfy the provided permissions for the user\n\t */\n\tasync getPermittedEntities(\n\t\tuserId: EntityId,\n\t\ttargetModel: NewsTargetModel,\n\t\tpermissions: string[]\n\t): Promise {\n\t\tconst entitiyIds =\n\t\t\ttargetModel === NewsTargetModel.School\n\t\t\t\t? await this.feathersAuthProvider.getPermittedSchools(userId)\n\t\t\t\t: await this.feathersAuthProvider.getPermittedTargets(userId, targetModel, permissions);\n\n\t\treturn entitiyIds;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FeathersError.html":{"url":"interfaces/FeathersError.html","title":"interface - FeathersError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FeathersError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/error/interface/feathers-error.interface.ts\n \n\n\n\n \n Extends\n \n \n Error\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n className\n \n \n \n \n code\n \n \n \n \n type\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n className\n \n \n \n \n \n \n \n \n className: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n code\n \n \n \n \n \n \n \n \n code: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface FeathersError extends Error {\n\tcode: number;\n\tclassName: string;\n\ttype: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/FeathersModule.html":{"url":"modules/FeathersModule.html","title":"module - FeathersModule","body":"\n \n\n\n\n\n Modules\n FeathersModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_FeathersModule\n\n\n\ncluster_FeathersModule_exports\n\n\n\ncluster_FeathersModule_providers\n\n\n\n\nFeathersServiceProvider \n\nFeathersServiceProvider \n\n\n\nFeathersModule\n\nFeathersModule\n\nFeathersServiceProvider -->\n\nFeathersModule->FeathersServiceProvider \n\n\n\n\n\nFeathersServiceProvider\n\nFeathersServiceProvider\n\nFeathersModule -->\n\nFeathersServiceProvider->FeathersModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/feathers/feathers.module.ts\n \n\n\n\n \n Description\n \n \n This Module gives access to legacy feathers services. It is request based injected.\nIntroduce strong typing immediately when using this modules service.\n\n \n\n\n \n \n \n Providers\n \n \n FeathersServiceProvider\n \n \n \n \n Exports\n \n \n FeathersServiceProvider\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { FeathersServiceProvider } from './feathers-service.provider';\n\n/**\n * This Module gives access to legacy feathers services. It is request based injected.\n * Introduce strong typing immediately when using this modules service.\n */\n@Module({\n\tproviders: [FeathersServiceProvider],\n\texports: [FeathersServiceProvider],\n})\nexport class FeathersModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FeathersRosterService.html":{"url":"injectables/FeathersRosterService.html","title":"injectable - FeathersRosterService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FeathersRosterService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/service/feathers-roster.service.ts\n \n\n\n \n Description\n \n \n Please do not use this service in any other nest modules.\nThis service will be called from feathers to get the roster data for ctl pseudonyms ExternalToolPseudonymEntity.\nThese data will be used e.g. by bettermarks to resolve and display the usernames.\n\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n filterCoursesByToolAvailability\n \n \n Private\n Async\n findPseudonymByPseudonym\n \n \n Private\n Async\n getAndPseudonyms\n \n \n Private\n Async\n getCoursesFromUsersPseudonym\n \n \n Async\n getGroup\n \n \n Async\n getUserGroups\n \n \n Private\n getUserRole\n \n \n Async\n getUsersMetadata\n \n \n Private\n mapPseudonymToUserData\n \n \n Private\n Async\n validateAndGetExternalTool\n \n \n Private\n Async\n validateContextExternalTools\n \n \n Private\n Async\n validateSchoolExternalTool\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userService: UserService, pseudonymService: PseudonymService, courseService: CourseService, externalToolService: ExternalToolService, schoolExternalToolService: SchoolExternalToolService, contextExternalToolService: ContextExternalToolService)\n \n \n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:56\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n pseudonymService\n \n \n PseudonymService\n \n \n \n No\n \n \n \n \n courseService\n \n \n CourseService\n \n \n \n No\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n schoolExternalToolService\n \n \n SchoolExternalToolService\n \n \n \n No\n \n \n \n \n contextExternalToolService\n \n \n ContextExternalToolService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n filterCoursesByToolAvailability\n \n \n \n \n \n \n \n filterCoursesByToolAvailability(courses: Course[], externalToolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:172\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courses\n \n Course[]\n \n\n \n No\n \n\n\n \n \n externalToolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findPseudonymByPseudonym\n \n \n \n \n \n \n \n findPseudonymByPseudonym(pseudonym: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:156\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonym\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getAndPseudonyms\n \n \n \n \n \n \n \n getAndPseudonyms(users: UserDO[], externalTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:140\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n users\n \n UserDO[]\n \n\n \n No\n \n\n\n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getCoursesFromUsersPseudonym\n \n \n \n \n \n \n \n getCoursesFromUsersPseudonym(pseudonym: Pseudonym)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:166\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonym\n \n Pseudonym\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getGroup\n \n \n \n \n \n \n \n getGroup(courseId: EntityId, oauth2ClientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:103\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n oauth2ClientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getUserGroups\n \n \n \n \n \n \n \n getUserGroups(pseudonym: string, oauth2ClientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:81\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonym\n \n string\n \n\n \n No\n \n\n\n \n \n oauth2ClientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getUserRole\n \n \n \n \n \n \n \n getUserRole(user: UserDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:148\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getUsersMetadata\n \n \n \n \n \n \n \n getUsersMetadata(pseudonym: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:66\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonym\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapPseudonymToUserData\n \n \n \n \n \n \n \n mapPseudonymToUserData(pseudonym: Pseudonym)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:235\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonym\n \n Pseudonym\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n validateAndGetExternalTool\n \n \n \n \n \n \n \n validateAndGetExternalTool(oauth2ClientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:202\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauth2ClientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n validateContextExternalTools\n \n \n \n \n \n \n \n validateContextExternalTools(courseId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:225\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n validateSchoolExternalTool\n \n \n \n \n \n \n \n validateSchoolExternalTool(schoolId: EntityId, toolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:214\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n toolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CourseService } from '@modules/learnroom/service';\nimport { ToolContextType } from '@modules/tool/common/enum';\nimport { ContextExternalTool, ContextRef } from '@modules/tool/context-external-tool/domain';\nimport { ContextExternalToolService } from '@modules/tool/context-external-tool/service';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { ExternalToolService } from '@modules/tool/external-tool/service';\nimport { SchoolExternalTool } from '@modules/tool/school-external-tool/domain';\nimport { SchoolExternalToolService } from '@modules/tool/school-external-tool/service';\nimport { UserService } from '@modules/user';\nimport { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { Pseudonym, RoleReference, UserDO } from '@shared/domain/domainobject';\nimport { Course } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { PseudonymService } from './pseudonym.service';\n\ninterface UserMetdata {\n\tdata: {\n\t\tuser_id: string;\n\t\tusername: string;\n\t\ttype: string;\n\t};\n}\n\ninterface UserGroups {\n\tdata: {\n\t\tgroups: UserGroup[];\n\t};\n}\n\ninterface UserGroup {\n\tgroup_id: string;\n\tname: string;\n\tstudent_count: number;\n}\n\ninterface UserData {\n\tuser_id: string;\n\tusername: string;\n}\n\ninterface Group {\n\tdata: {\n\t\tstudents: UserData[];\n\t\tteachers: UserData[];\n\t};\n}\n\n/**\n * Please do not use this service in any other nest modules.\n * This service will be called from feathers to get the roster data for ctl pseudonyms {@link ExternalToolPseudonymEntity}.\n * These data will be used e.g. by bettermarks to resolve and display the usernames.\n */\n@Injectable()\nexport class FeathersRosterService {\n\tconstructor(\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly pseudonymService: PseudonymService,\n\t\tprivate readonly courseService: CourseService,\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService\n\t) {}\n\n\tasync getUsersMetadata(pseudonym: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym = await this.findPseudonymByPseudonym(pseudonym);\n\t\tconst user: UserDO = await this.userService.findById(loadedPseudonym.userId);\n\n\t\tconst userMetadata: UserMetdata = {\n\t\t\tdata: {\n\t\t\t\tuser_id: user.id as string,\n\t\t\t\tusername: this.pseudonymService.getIframeSubject(loadedPseudonym.pseudonym),\n\t\t\t\ttype: this.getUserRole(user),\n\t\t\t},\n\t\t};\n\n\t\treturn userMetadata;\n\t}\n\n\tasync getUserGroups(pseudonym: string, oauth2ClientId: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym = await this.findPseudonymByPseudonym(pseudonym);\n\t\tconst externalTool: ExternalTool = await this.validateAndGetExternalTool(oauth2ClientId);\n\n\t\tlet courses: Course[] = await this.getCoursesFromUsersPseudonym(loadedPseudonym);\n\t\tcourses = await this.filterCoursesByToolAvailability(courses, externalTool.id as string);\n\n\t\tconst userGroups: UserGroups = {\n\t\t\tdata: {\n\t\t\t\tgroups: courses.map((course) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tgroup_id: course.id,\n\t\t\t\t\t\tname: course.name,\n\t\t\t\t\t\tstudent_count: course.students.length,\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t},\n\t\t};\n\n\t\treturn userGroups;\n\t}\n\n\tasync getGroup(courseId: EntityId, oauth2ClientId: string): Promise {\n\t\tconst course: Course = await this.courseService.findById(courseId);\n\t\tconst externalTool: ExternalTool = await this.validateAndGetExternalTool(oauth2ClientId);\n\n\t\tawait this.validateSchoolExternalTool(course.school.id, externalTool.id as string);\n\t\tawait this.validateContextExternalTools(courseId);\n\n\t\tconst [studentEntities, teacherEntities, substitutionTeacherEntities] = await Promise.all([\n\t\t\tcourse.students.loadItems(),\n\t\t\tcourse.teachers.loadItems(),\n\t\t\tcourse.substitutionTeachers.loadItems(),\n\t\t]);\n\n\t\tconst [students, teachers, substitutionTeachers] = await Promise.all([\n\t\t\tPromise.all(studentEntities.map((user) => this.userService.findById(user.id))),\n\t\t\tPromise.all(teacherEntities.map((user) => this.userService.findById(user.id))),\n\t\t\tPromise.all(substitutionTeacherEntities.map((user) => this.userService.findById(user.id))),\n\t\t]);\n\n\t\tconst [studentPseudonyms, teacherPseudonyms, substitutionTeacherPseudonyms] = await Promise.all([\n\t\t\tthis.getAndPseudonyms(students, externalTool),\n\t\t\tthis.getAndPseudonyms(teachers, externalTool),\n\t\t\tthis.getAndPseudonyms(substitutionTeachers, externalTool),\n\t\t]);\n\n\t\tconst allTeacherPseudonyms: Pseudonym[] = teacherPseudonyms.concat(substitutionTeacherPseudonyms);\n\n\t\tconst group: Group = {\n\t\t\tdata: {\n\t\t\t\tstudents: studentPseudonyms.map((pseudonym: Pseudonym) => this.mapPseudonymToUserData(pseudonym)),\n\t\t\t\tteachers: allTeacherPseudonyms.map((pseudonym: Pseudonym) => this.mapPseudonymToUserData(pseudonym)),\n\t\t\t},\n\t\t};\n\n\t\treturn group;\n\t}\n\n\tprivate async getAndPseudonyms(users: UserDO[], externalTool: ExternalTool): Promise {\n\t\tconst pseudonyms: Pseudonym[] = await Promise.all(\n\t\t\tusers.map((user: UserDO) => this.pseudonymService.findOrCreatePseudonym(user, externalTool))\n\t\t);\n\n\t\treturn pseudonyms;\n\t}\n\n\tprivate getUserRole(user: UserDO): string {\n\t\tconst roleName = user.roles.some((role: RoleReference) => role.name === RoleName.TEACHER)\n\t\t\t? RoleName.TEACHER\n\t\t\t: RoleName.STUDENT;\n\n\t\treturn roleName;\n\t}\n\n\tprivate async findPseudonymByPseudonym(pseudonym: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym | null = await this.pseudonymService.findPseudonymByPseudonym(pseudonym);\n\n\t\tif (!loadedPseudonym) {\n\t\t\tthrow new NotFoundLoggableException(Pseudonym.name, 'pseudonym', pseudonym);\n\t\t}\n\n\t\treturn loadedPseudonym;\n\t}\n\n\tprivate async getCoursesFromUsersPseudonym(pseudonym: Pseudonym): Promise {\n\t\tconst courses: Course[] = await this.courseService.findAllByUserId(pseudonym.userId);\n\n\t\treturn courses;\n\t}\n\n\tprivate async filterCoursesByToolAvailability(courses: Course[], externalToolId: string): Promise {\n\t\tconst validCourses: Course[] = [];\n\n\t\tawait Promise.all(\n\t\t\tcourses.map(async (course: Course) => {\n\t\t\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolService.findAllByContext(\n\t\t\t\t\tnew ContextRef({\n\t\t\t\t\t\tid: course.id,\n\t\t\t\t\t\ttype: ToolContextType.COURSE,\n\t\t\t\t\t})\n\t\t\t\t);\n\n\t\t\t\tfor await (const contextExternalTool of contextExternalTools) {\n\t\t\t\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(\n\t\t\t\t\t\tcontextExternalTool.schoolToolRef.schoolToolId\n\t\t\t\t\t);\n\t\t\t\t\tconst externalTool: ExternalTool = await this.externalToolService.findById(schoolExternalTool.toolId);\n\t\t\t\t\tconst isRequiredTool: boolean = externalTool.id === externalToolId;\n\n\t\t\t\t\tif (isRequiredTool) {\n\t\t\t\t\t\tvalidCourses.push(course);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t);\n\n\t\treturn validCourses;\n\t}\n\n\tprivate async validateAndGetExternalTool(oauth2ClientId: string): Promise {\n\t\tconst externalTool: ExternalTool | null = await this.externalToolService.findExternalToolByOAuth2ConfigClientId(\n\t\t\toauth2ClientId\n\t\t);\n\n\t\tif (!externalTool || !externalTool.id) {\n\t\t\tthrow new NotFoundLoggableException(ExternalTool.name, 'config.clientId', oauth2ClientId);\n\t\t}\n\n\t\treturn externalTool;\n\t}\n\n\tprivate async validateSchoolExternalTool(schoolId: EntityId, toolId: string): Promise {\n\t\tconst schoolExternalTools: SchoolExternalTool[] = await this.schoolExternalToolService.findSchoolExternalTools({\n\t\t\tschoolId,\n\t\t\ttoolId,\n\t\t});\n\n\t\tif (schoolExternalTools.length === 0) {\n\t\t\tthrow new NotFoundLoggableException(SchoolExternalTool.name, 'toolId', toolId);\n\t\t}\n\t}\n\n\tprivate async validateContextExternalTools(courseId: EntityId): Promise {\n\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolService.findAllByContext(\n\t\t\tnew ContextRef({ id: courseId, type: ToolContextType.COURSE })\n\t\t);\n\n\t\tif (contextExternalTools.length === 0) {\n\t\t\tthrow new NotFoundLoggableException(ContextExternalTool.name, 'contextRef.id', courseId);\n\t\t}\n\t}\n\n\tprivate mapPseudonymToUserData(pseudonym: Pseudonym): UserData {\n\t\tconst userData: UserData = {\n\t\t\tuser_id: pseudonym.pseudonym,\n\t\t\tusername: this.pseudonymService.getIframeSubject(pseudonym.pseudonym),\n\t\t};\n\n\t\treturn userData;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FeathersService.html":{"url":"interfaces/FeathersService.html","title":"interface - FeathersService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FeathersService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/feathers/feathers-service.provider.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n create\n \n \n \n \n find\n \n \n \n \n get\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n create\n \n \n \n \n \n \n \n \n \n \n \ncreate(data?: FeathersServiceParams, params?: FeathersServiceParams)\n \n \n\n\n \n \n Defined in apps/server/src/infra/feathers/feathers-service.provider.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n FeathersServiceParams\n \n\n \n Yes\n \n\n\n \n \n params\n \n FeathersServiceParams\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n find\n \n \n \n \n \n \n Access legacy eathers service find method\n \n \n \n \nfind(params?: FeathersServiceParams)\n \n \n\n\n \n \n Defined in apps/server/src/infra/feathers/feathers-service.provider.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n FeathersServiceParams\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n get\n \n \n \n \n \n \n Access legacy eathers service get method\n \n \n \n \nget(id: string, params?: FeathersServiceParams)\n \n \n\n\n \n \n Defined in apps/server/src/infra/feathers/feathers-service.provider.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n params\n \n FeathersServiceParams\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Application } from '@feathersjs/express';\nimport { ImATeapotException, Inject, Injectable, Scope } from '@nestjs/common';\nimport { REQUEST } from '@nestjs/core';\nimport { Request } from 'express';\n\nexport interface FeathersService {\n\t/**\n\t *\n\t * @param id\n\t * @param params\n\t * @deprecated Access legacy eathers service get method\n\t */\n\tget(id: string, params?: FeathersServiceParams): Promise;\n\t/**\n\t *\n\t * @param params\n\t * @deprecated Access legacy eathers service find method\n\t */\n\tfind(params?: FeathersServiceParams): Promise;\n\t/**\n\t *\n\t * @deprecated\n\t */\n\tcreate(data?: FeathersServiceParams, params?: FeathersServiceParams): Promise;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type FeathersServiceParams = Record;\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type FeathersServiceResponse = Record | any[];\n\n/**\n * This Service gives access to legacy feathers services. It is request based injected.\n * IMPORTANT: Introduce strong typing immediately when using this modules service.\n */\n@Injectable({ scope: Scope.REQUEST })\nexport class FeathersServiceProvider {\n\tconstructor(@Inject(REQUEST) private request: Request) {}\n\n\tgetService(path: string): FeathersService {\n\t\tconst feathersApp = this.request.app.get('feathersApp') as Application;\n\t\tif (feathersApp == null) {\n\t\t\t// missing a feathers instance defined in module definition\n\t\t\t// see main.ts how it might work\n\t\t\t// sample: nestExpress.set('feathersApp', feathersExpress);\n\t\t\tthrow new ImATeapotException('this action requires a feathers instance available');\n\t\t}\n\t\tconst service = feathersApp.service(path) as FeathersService;\n\t\treturn service;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FeathersServiceProvider.html":{"url":"injectables/FeathersServiceProvider.html","title":"injectable - FeathersServiceProvider","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FeathersServiceProvider\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/feathers/feathers-service.provider.ts\n \n\n\n \n Description\n \n \n This Service gives access to legacy feathers services. It is request based injected.\nIMPORTANT: Introduce strong typing immediately when using this modules service.\n\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getService\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(request: Request)\n \n \n \n \n Defined in apps/server/src/infra/feathers/feathers-service.provider.ts:38\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n request\n \n \n Request\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getService\n \n \n \n \n \n \ngetService(path: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/feathers/feathers-service.provider.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n path\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FeathersService\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Application } from '@feathersjs/express';\nimport { ImATeapotException, Inject, Injectable, Scope } from '@nestjs/common';\nimport { REQUEST } from '@nestjs/core';\nimport { Request } from 'express';\n\nexport interface FeathersService {\n\t/**\n\t *\n\t * @param id\n\t * @param params\n\t * @deprecated Access legacy eathers service get method\n\t */\n\tget(id: string, params?: FeathersServiceParams): Promise;\n\t/**\n\t *\n\t * @param params\n\t * @deprecated Access legacy eathers service find method\n\t */\n\tfind(params?: FeathersServiceParams): Promise;\n\t/**\n\t *\n\t * @deprecated\n\t */\n\tcreate(data?: FeathersServiceParams, params?: FeathersServiceParams): Promise;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type FeathersServiceParams = Record;\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type FeathersServiceResponse = Record | any[];\n\n/**\n * This Service gives access to legacy feathers services. It is request based injected.\n * IMPORTANT: Introduce strong typing immediately when using this modules service.\n */\n@Injectable({ scope: Scope.REQUEST })\nexport class FeathersServiceProvider {\n\tconstructor(@Inject(REQUEST) private request: Request) {}\n\n\tgetService(path: string): FeathersService {\n\t\tconst feathersApp = this.request.app.get('feathersApp') as Application;\n\t\tif (feathersApp == null) {\n\t\t\t// missing a feathers instance defined in module definition\n\t\t\t// see main.ts how it might work\n\t\t\t// sample: nestExpress.set('feathersApp', feathersExpress);\n\t\t\tthrow new ImATeapotException('this action requires a feathers instance available');\n\t\t}\n\t\tconst service = feathersApp.service(path) as FeathersService;\n\t\treturn service;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/FederalStateEntity.html":{"url":"entities/FederalStateEntity.html","title":"entity - FederalStateEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n FederalStateEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/federal-state.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n abbreviation\n \n \n \n Optional\n counties\n \n \n \n logoUrl\n \n \n \n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n abbreviation\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/federal-state.entity.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n counties\n \n \n \n \n \n \n Type : County[]\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {array: true, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/federal-state.entity.ts:40\n \n \n\n\n \n \n \n \n \n \n \n \n \n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/federal-state.entity.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/federal-state.entity.ts:31\n \n \n\n\n \n \n\n \n\n\n \n import { Embeddable, Embedded, Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface FederalStateProperties {\n\tname: string;\n\tabbreviation: string;\n\tlogoUrl: string;\n\tcounties?: County[];\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\n@Embeddable()\nexport class County {\n\tconstructor(county: County) {\n\t\tthis.name = county.name;\n\t\tthis.countyId = county.countyId;\n\t\tthis.antaresKey = county.antaresKey;\n\t}\n\n\tname: string;\n\n\tcountyId: number;\n\n\tantaresKey: string;\n}\n\n@Entity({ tableName: 'federalstates' })\nexport class FederalStateEntity extends BaseEntityWithTimestamps {\n\t@Property({ nullable: false })\n\tname: string;\n\n\t@Property({ nullable: false })\n\tabbreviation: string;\n\n\t@Property()\n\tlogoUrl: string;\n\n\t@Embedded(() => County, { array: true, nullable: true })\n\tcounties?: County[];\n\n\tconstructor(props: FederalStateProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.abbreviation = props.abbreviation;\n\t\tthis.logoUrl = props.logoUrl;\n\t\tthis.updatedAt = props.updatedAt;\n\t\tthis.createdAt = props.createdAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FederalStateProperties.html":{"url":"interfaces/FederalStateProperties.html","title":"interface - FederalStateProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FederalStateProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/federal-state.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n abbreviation\n \n \n \n Optional\n \n counties\n \n \n \n \n createdAt\n \n \n \n \n logoUrl\n \n \n \n \n name\n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n abbreviation\n \n \n \n \n \n \n \n \n abbreviation: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n counties\n \n \n \n \n \n \n \n \n counties: County[]\n\n \n \n\n\n \n \n Type : County[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n logoUrl\n \n \n \n \n \n \n \n \n logoUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Embeddable, Embedded, Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface FederalStateProperties {\n\tname: string;\n\tabbreviation: string;\n\tlogoUrl: string;\n\tcounties?: County[];\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\n@Embeddable()\nexport class County {\n\tconstructor(county: County) {\n\t\tthis.name = county.name;\n\t\tthis.countyId = county.countyId;\n\t\tthis.antaresKey = county.antaresKey;\n\t}\n\n\tname: string;\n\n\tcountyId: number;\n\n\tantaresKey: string;\n}\n\n@Entity({ tableName: 'federalstates' })\nexport class FederalStateEntity extends BaseEntityWithTimestamps {\n\t@Property({ nullable: false })\n\tname: string;\n\n\t@Property({ nullable: false })\n\tabbreviation: string;\n\n\t@Property()\n\tlogoUrl: string;\n\n\t@Embedded(() => County, { array: true, nullable: true })\n\tcounties?: County[];\n\n\tconstructor(props: FederalStateProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.abbreviation = props.abbreviation;\n\t\tthis.logoUrl = props.logoUrl;\n\t\tthis.updatedAt = props.updatedAt;\n\t\tthis.createdAt = props.createdAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FederalStateRepo.html":{"url":"injectables/FederalStateRepo.html","title":"injectable - FederalStateRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FederalStateRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/federalstate/federal-state.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n findByName\n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n findByName\n \n \n \n \n \n \nfindByName(name: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/federalstate/federal-state.repo.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/federalstate/federal-state.repo.ts:8\n \n \n\n \n \n\n \n\n\n \n import { EntityName } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\nimport { FederalStateEntity } from '@shared/domain/entity';\nimport { BaseRepo } from '../base.repo';\n\n@Injectable()\nexport class FederalStateRepo extends BaseRepo {\n\tget entityName(): EntityName {\n\t\treturn FederalStateEntity;\n\t}\n\n\tfindByName(name: string): Promise {\n\t\treturn this._em.findOneOrFail(FederalStateEntity, { name });\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FederalStateService.html":{"url":"injectables/FederalStateService.html","title":"injectable - FederalStateService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FederalStateService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/legacy-school/service/federal-state.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findFederalStateByName\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(federalStateRepo: FederalStateRepo)\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/service/federal-state.service.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n federalStateRepo\n \n \n FederalStateRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findFederalStateByName\n \n \n \n \n \n \n \n findFederalStateByName(name: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/federal-state.service.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { FederalStateEntity } from '@shared/domain/entity';\nimport { FederalStateRepo } from '@shared/repo';\n\n@Injectable()\nexport class FederalStateService {\n\tconstructor(private readonly federalStateRepo: FederalStateRepo) {}\n\n\t// TODO: N21-990 Refactoring: Create domain objects for schoolYear and federalState\n\tasync findFederalStateByName(name: string): Promise {\n\t\tconst federalState: FederalStateEntity = await this.federalStateRepo.findByName(name);\n\n\t\treturn federalState;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/File.html":{"url":"interfaces/File.html","title":"interface - File","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n File\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/s3-client/interface/index.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n mimeType\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: Readable\n\n \n \n\n\n \n \n Type : Readable\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n mimeType\n \n \n \n \n \n \n \n \n mimeType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Readable } from 'stream';\n\nexport interface S3Config {\n\tconnectionName: string;\n\tendpoint: string;\n\tregion: string;\n\tbucket: string;\n\taccessKeyId: string;\n\tsecretAccessKey: string;\n}\n\nexport interface GetFile {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n}\n\nexport interface CopyFiles {\n\tsourcePath: string;\n\ttargetPath: string;\n}\n\nexport interface File {\n\tdata: Readable;\n\tmimeType: string;\n}\n\nexport interface ListFiles {\n\tpath: string;\n\tmaxKeys?: number;\n\tnextMarker?: string;\n\tfiles?: string[];\n}\n\nexport interface ObjectKeysRecursive {\n\tpath: string;\n\tmaxKeys: number | undefined;\n\tnextMarker: string | undefined;\n\tfiles: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileContentBody.html":{"url":"classes/FileContentBody.html","title":"class - FileContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n alternativeText\n \n \n \n \n caption\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n alternativeText\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n caption\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:20\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FileDO.html":{"url":"interfaces/FileDO.html","title":"interface - FileDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FileDO\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/rabbitmq/exchange/files-storage.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n creatorId\n \n \n \n Optional\n \n deletedSince\n \n \n \n \n id\n \n \n \n \n mimeType\n \n \n \n \n name\n \n \n \n \n parentId\n \n \n \n \n parentType\n \n \n \n \n securityCheckStatus\n \n \n \n \n size\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n creatorId\n \n \n \n \n \n \n \n \n creatorId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n deletedSince\n \n \n \n \n \n \n \n \n deletedSince: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n mimeType\n \n \n \n \n \n \n \n \n mimeType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n \n \n parentId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n \n \n parentType: FileRecordParentType\n\n \n \n\n\n \n \n Type : FileRecordParentType\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n securityCheckStatus\n \n \n \n \n \n \n \n \n securityCheckStatus: ScanStatus\n\n \n \n\n\n \n \n Type : ScanStatus\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n size\n \n \n \n \n \n \n \n \n size: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { EntityId } from '@shared/domain/types';\n\nexport const FilesStorageExchange = Configuration.get('FILES_STORAGE__EXCHANGE') as string;\n\nexport enum FilesStorageEvents {\n\t'COPY_FILES_OF_PARENT' = 'copy-files-of-parent',\n\t'LIST_FILES_OF_PARENT' = 'list-files-of-parent',\n\t'DELETE_FILES_OF_PARENT' = 'delete-files-of-parent',\n}\n\nexport enum ScanStatus {\n\tPENDING = 'pending',\n\tVERIFIED = 'verified',\n\tBLOCKED = 'blocked',\n\tWONT_CHECK = 'wont_check',\n\tERROR = 'error',\n}\n\nexport enum FileRecordParentType {\n\t'User' = 'users',\n\t'School' = 'schools',\n\t'Course' = 'courses',\n\t'Task' = 'tasks',\n\t'Lesson' = 'lessons',\n\t'Submission' = 'submissions',\n\t'BoardNode' = 'boardnodes',\n}\n\nexport interface CopyFilesOfParentParams {\n\tuserId: EntityId;\n\tsource: FileRecordParams;\n\ttarget: FileRecordParams;\n}\n\nexport interface FileRecordParams {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\nexport interface CopyFileDO {\n\tid?: EntityId;\n\tsourceId: EntityId;\n\tname: string;\n}\n\nexport interface FileDO {\n\tid: string;\n\tname: string;\n\tparentId: string;\n\tsecurityCheckStatus: ScanStatus;\n\tsize: number;\n\tcreatorId: string;\n\tmimeType: string;\n\tparentType: FileRecordParentType;\n\tdeletedSince?: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FileDomainObjectProps.html":{"url":"interfaces/FileDomainObjectProps.html","title":"interface - FileDomainObjectProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FileDomainObjectProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/interfaces/file-domain-object-props.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n name\n \n \n \n \n parentId\n \n \n \n \n parentType\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n \n \n parentId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n \n \n parentType: FileRecordParentType\n\n \n \n\n\n \n \n Type : FileRecordParentType\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { FileRecordParentType } from '@infra/rabbitmq';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface FileDomainObjectProps {\n\tid: EntityId;\n\tname: string;\n\tparentType: FileRecordParentType;\n\tparentId: EntityId;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileDto.html":{"url":"classes/FileDto.html","title":"class - FileDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/dto/file.dto.ts\n \n\n\n\n\n \n Implements\n \n \n File\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n data\n \n \n mimeType\n \n \n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(file: FileDto)\n \n \n \n \n Defined in apps/server/src/modules/files-storage/dto/file.dto.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n file\n \n \n FileDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : Readable\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage/dto/file.dto.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n mimeType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage/dto/file.dto.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage/dto/file.dto.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { File } from '@infra/s3-client';\nimport { Readable } from 'stream';\n\nexport class FileDto implements File {\n\tconstructor(file: FileDto) {\n\t\tthis.name = file.name;\n\t\tthis.data = file.data;\n\t\tthis.mimeType = file.mimeType;\n\t}\n\n\tname: string;\n\n\tdata: Readable;\n\n\tmimeType: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileDto-1.html":{"url":"classes/FileDto-1.html","title":"class - FileDto-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/dto/file.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n id\n \n \n name\n \n \n parentId\n \n \n parentType\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: FileDomainObjectProps)\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/dto/file.dto.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n FileDomainObjectProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/dto/file.dto.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/dto/file.dto.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/dto/file.dto.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n Type : FileRecordParentType\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/dto/file.dto.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { FileRecordParentType } from '@infra/rabbitmq';\nimport { EntityId } from '@shared/domain/types';\nimport { FileDomainObjectProps } from '../interfaces';\n\nexport class FileDto {\n\tid: EntityId;\n\n\tname: string;\n\n\tparentType: FileRecordParentType;\n\n\tparentId: EntityId;\n\n\tconstructor(props: FileDomainObjectProps) {\n\t\tthis.id = props.id;\n\t\tthis.name = props.name;\n\t\tthis.parentType = props.parentType;\n\t\tthis.parentId = props.parentId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileDtoBuilder.html":{"url":"classes/FileDtoBuilder.html","title":"class - FileDtoBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileDtoBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/mapper/file-dto.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n Static\n buildFromAxiosResponse\n \n \n Static\n buildFromRequest\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(name: string, data: Readable, mimeType: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/file-dto.builder.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n data\n \n Readable\n \n\n \n No\n \n\n\n \n \n mimeType\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileDto\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n buildFromAxiosResponse\n \n \n \n \n \n \n \n buildFromAxiosResponse(name: string, response: AxiosResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/file-dto.builder.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n response\n \n AxiosResponse\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileDto\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n buildFromRequest\n \n \n \n \n \n \n \n buildFromRequest(fileInfo: FileInfo, data: Readable)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/file-dto.builder.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileInfo\n \n FileInfo\n \n\n \n No\n \n\n\n \n \n data\n \n Readable\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileDto\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { AxiosResponse } from 'axios';\nimport { FileInfo } from 'busboy';\nimport { Readable } from 'stream';\nimport { FileDto } from '../dto/file.dto';\n\nexport class FileDtoBuilder {\n\tpublic static build(name: string, data: Readable, mimeType: string): FileDto {\n\t\tconst file = new FileDto({ name, data, mimeType });\n\n\t\treturn file;\n\t}\n\n\tpublic static buildFromRequest(fileInfo: FileInfo, data: Readable): FileDto {\n\t\tconst file = FileDtoBuilder.build(fileInfo.filename, data, fileInfo.mimeType);\n\n\t\treturn file;\n\t}\n\n\tpublic static buildFromAxiosResponse(name: string, response: AxiosResponse): FileDto {\n\t\tconst mimeType = response.headers['Content-Type']?.toString() || 'application/octet-stream';\n\t\tconst file = FileDtoBuilder.build(name, response.data, mimeType);\n\n\t\treturn file;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileElement.html":{"url":"classes/FileElement.html","title":"class - FileElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/file-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardComposite\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n accept\n \n \n Async\n acceptAsync\n \n \n isAllowedAsChild\n \n \n addChild\n \n \n hasChild\n \n \n removeChild\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n caption\n \n \n alternativeText\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n accept\n \n \n \n \n \n \naccept(visitor: BoardCompositeVisitor)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:25\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitor\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n acceptAsync\n \n \n \n \n \n \n \n acceptAsync(visitor: BoardCompositeVisitorAsync)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:29\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitorAsync\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isAllowedAsChild\n \n \n \n \n \n \nisAllowedAsChild()\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:21\n\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n addChild\n \n \n \n \n \n \naddChild(child: AnyBoardDo, position?: number)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n position\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasChild\n \n \n \n \n \n \nhasChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeChild\n \n \n \n \n \n \nremoveChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n caption\n \n \n\n \n \n getcaption()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/file-element.do.ts:5\n \n \n\n \n \n setcaption(value: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/file-element.do.ts:9\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n alternativeText\n \n \n\n \n \n getalternativeText()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/file-element.do.ts:13\n \n \n\n \n \n setalternativeText(value: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/file-element.do.ts:17\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class FileElement extends BoardComposite {\n\tget caption(): string {\n\t\treturn this.props.caption || '';\n\t}\n\n\tset caption(value: string) {\n\t\tthis.props.caption = value;\n\t}\n\n\tget alternativeText(): string {\n\t\treturn this.props.alternativeText || '';\n\t}\n\n\tset alternativeText(value: string) {\n\t\tthis.props.alternativeText = value;\n\t}\n\n\tisAllowedAsChild(): boolean {\n\t\treturn false;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitFileElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitFileElementAsync(this);\n\t}\n}\n\nexport interface FileElementProps extends BoardCompositeProps {\n\tcaption: string;\n\talternativeText: string;\n}\n\nexport function isFileElement(reference: unknown): reference is FileElement {\n\treturn reference instanceof FileElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileElementContent.html":{"url":"classes/FileElementContent.html","title":"class - FileElementContent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileElementContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/file-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n alternativeText\n \n \n \n \n caption\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: FileElementContent)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/file-element.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n FileElementContent\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n alternativeText\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/file-element.response.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n caption\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/file-element.response.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class FileElementContent {\n\tconstructor({ caption, alternativeText }: FileElementContent) {\n\t\tthis.caption = caption;\n\t\tthis.alternativeText = alternativeText;\n\t}\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tcaption: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\talternativeText: string;\n}\n\nexport class FileElementResponse {\n\tconstructor({ id, content, timestamps, type }: FileElementResponse) {\n\t\tthis.id = id;\n\t\tthis.content = content;\n\t\tthis.timestamps = timestamps;\n\t\tthis.type = type;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.FILE;\n\n\t@ApiProperty()\n\tcontent: FileElementContent;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileElementContentBody.html":{"url":"classes/FileElementContentBody.html","title":"class - FileElementContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileElementContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n \n Extends\n \n \n ElementContentBody\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : FileContentBody\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.FILE\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from ElementContentBody\n\n \n \n \n \n Defined in ElementContentBody:29\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/FileElementNode.html":{"url":"entities/FileElementNode.html","title":"entity - FileElementNode","body":"\n \n\n\n\n\n\n\n\n Entities\n FileElementNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/file-element-node.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n alternativeText\n \n \n \n caption\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n alternativeText\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/file-element-node.entity.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n caption\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/file-element-node.entity.ts:9\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { AnyBoardDo } from '../../domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.FILE_ELEMENT })\nexport class FileElementNode extends BoardNode {\n\t@Property()\n\tcaption: string;\n\n\t@Property()\n\talternativeText: string;\n\n\tconstructor(props: FileElementNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.FILE_ELEMENT;\n\t\tthis.caption = props.caption;\n\t\tthis.alternativeText = props.alternativeText;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildFileElement(this);\n\n\t\treturn domainObject;\n\t}\n}\n\nexport interface FileElementNodeProps extends BoardNodeProps {\n\tcaption: string;\n\talternativeText: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FileElementNodeProps.html":{"url":"interfaces/FileElementNodeProps.html","title":"interface - FileElementNodeProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FileElementNodeProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/file-element-node.entity.ts\n \n\n\n\n \n Extends\n \n \n BoardNodeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n alternativeText\n \n \n \n \n caption\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n alternativeText\n \n \n \n \n \n \n \n \n alternativeText: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n caption\n \n \n \n \n \n \n \n \n caption: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { AnyBoardDo } from '../../domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.FILE_ELEMENT })\nexport class FileElementNode extends BoardNode {\n\t@Property()\n\tcaption: string;\n\n\t@Property()\n\talternativeText: string;\n\n\tconstructor(props: FileElementNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.FILE_ELEMENT;\n\t\tthis.caption = props.caption;\n\t\tthis.alternativeText = props.alternativeText;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildFileElement(this);\n\n\t\treturn domainObject;\n\t}\n}\n\nexport interface FileElementNodeProps extends BoardNodeProps {\n\tcaption: string;\n\talternativeText: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FileElementProps.html":{"url":"interfaces/FileElementProps.html","title":"interface - FileElementProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FileElementProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/file-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardCompositeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n alternativeText\n \n \n \n \n caption\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n alternativeText\n \n \n \n \n \n \n \n \n alternativeText: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n caption\n \n \n \n \n \n \n \n \n caption: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class FileElement extends BoardComposite {\n\tget caption(): string {\n\t\treturn this.props.caption || '';\n\t}\n\n\tset caption(value: string) {\n\t\tthis.props.caption = value;\n\t}\n\n\tget alternativeText(): string {\n\t\treturn this.props.alternativeText || '';\n\t}\n\n\tset alternativeText(value: string) {\n\t\tthis.props.alternativeText = value;\n\t}\n\n\tisAllowedAsChild(): boolean {\n\t\treturn false;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitFileElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitFileElementAsync(this);\n\t}\n}\n\nexport interface FileElementProps extends BoardCompositeProps {\n\tcaption: string;\n\talternativeText: string;\n}\n\nexport function isFileElement(reference: unknown): reference is FileElement {\n\treturn reference instanceof FileElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileElementResponse.html":{"url":"classes/FileElementResponse.html","title":"class - FileElementResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileElementResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/file-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n id\n \n \n \n timestamps\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: FileElementResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/file-element.response.ts:21\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n FileElementResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : FileElementContent\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/file-element.response.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/file-element.response.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n timestamps\n \n \n \n \n \n \n Type : TimestampsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/file-element.response.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.FILE\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ContentElementType, enumName: 'ContentElementType'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/file-element.response.ts:33\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class FileElementContent {\n\tconstructor({ caption, alternativeText }: FileElementContent) {\n\t\tthis.caption = caption;\n\t\tthis.alternativeText = alternativeText;\n\t}\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tcaption: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\talternativeText: string;\n}\n\nexport class FileElementResponse {\n\tconstructor({ id, content, timestamps, type }: FileElementResponse) {\n\t\tthis.id = id;\n\t\tthis.content = content;\n\t\tthis.timestamps = timestamps;\n\t\tthis.type = type;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.FILE;\n\n\t@ApiProperty()\n\tcontent: FileElementContent;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileElementResponseMapper.html":{"url":"classes/FileElementResponseMapper.html","title":"class - FileElementResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileElementResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/file-element-response.mapper.ts\n \n\n\n\n\n \n Implements\n \n \n BaseResponseMapper\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n canMap\n \n \n Static\n getInstance\n \n \n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n \n \n Type : FileElementResponseMapper\n\n \n \n \n \n Defined in apps/server/src/modules/board/controller/mapper/file-element-response.mapper.ts:6\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n canMap\n \n \n \n \n \n \ncanMap(element: FileElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/file-element-response.mapper.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n FileElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n getInstance\n \n \n \n \n \n \n \n getInstance()\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/file-element-response.mapper.ts:8\n \n \n\n\n \n \n\n \n Returns : FileElementResponseMapper\n\n \n \n \n \n \n \n \n \n \n \n \n mapToResponse\n \n \n \n \n \n \nmapToResponse(element: FileElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/file-element-response.mapper.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n FileElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileElementResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ContentElementType, FileElement } from '@shared/domain/domainobject';\nimport { FileElementContent, FileElementResponse, TimestampsResponse } from '../dto';\nimport { BaseResponseMapper } from './base-mapper.interface';\n\nexport class FileElementResponseMapper implements BaseResponseMapper {\n\tprivate static instance: FileElementResponseMapper;\n\n\tpublic static getInstance(): FileElementResponseMapper {\n\t\tif (!FileElementResponseMapper.instance) {\n\t\t\tFileElementResponseMapper.instance = new FileElementResponseMapper();\n\t\t}\n\n\t\treturn FileElementResponseMapper.instance;\n\t}\n\n\tmapToResponse(element: FileElement): FileElementResponse {\n\t\tconst result = new FileElementResponse({\n\t\t\tid: element.id,\n\t\t\ttimestamps: new TimestampsResponse({ lastUpdatedAt: element.updatedAt, createdAt: element.createdAt }),\n\t\t\ttype: ContentElementType.FILE,\n\t\t\tcontent: new FileElementContent({ caption: element.caption, alternativeText: element.alternativeText }),\n\t\t});\n\n\t\treturn result;\n\t}\n\n\tcanMap(element: FileElement): boolean {\n\t\treturn element instanceof FileElement;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/FileEntity.html":{"url":"entities/FileEntity.html","title":"entity - FileEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n FileEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files/entity/file.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n _creatorId\n \n \n \n Optional\n _lockId\n \n \n \n \n _ownerId\n \n \n \n \n Optional\n _parentId\n \n \n \n Optional\n bucket\n \n \n \n deleted\n \n \n \n Optional\n deletedAt\n \n \n \n isDirectory\n \n \n \n name\n \n \n \n permissions\n \n \n \n refOwnerModel\n \n \n \n securityCheck\n \n \n \n \n shareTokens\n \n \n \n Optional\n size\n \n \n \n Optional\n storageFileName\n \n \n \n Optional\n storageProvider\n \n \n \n Optional\n thumbnail\n \n \n \n Optional\n thumbnailRequestToken\n \n \n \n Optional\n type\n \n \n \n Optional\n versionKey\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n _creatorId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'creator'})@Index()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:100\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n _lockId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'lockId', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:110\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n _ownerId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'owner', nullable: false})@Index()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:89\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n _parentId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'parent', nullable: true})@Index()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:81\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n bucket\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:61\n \n \n\n\n \n \n \n \n \n \n \n \n \n deleted\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n deletedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:40\n \n \n\n\n \n \n \n \n \n \n \n \n \n isDirectory\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n \n permissions\n \n \n \n \n \n \n Type : FilePermissionEntity[]\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {array: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:107\n \n \n\n\n \n \n \n \n \n \n \n \n \n refOwnerModel\n \n \n \n \n \n \n Type : FileOwnerModel\n\n \n \n \n \n Decorators : \n \n \n @Enum({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:96\n \n \n\n\n \n \n \n \n \n \n \n \n \n securityCheck\n \n \n \n \n \n \n Type : FileSecurityCheckEntity\n\n \n \n \n \n Default value : new FileSecurityCheckEntity({})\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {object: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:73\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n shareTokens\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})@Index()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:77\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n size\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n storageFileName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n storageProvider\n \n \n \n \n \n \n Type : StorageProviderEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined, {fieldName: 'storageProviderId', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:64\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n thumbnail\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:67\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n thumbnailRequestToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : uuid()\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:70\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n versionKey\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: '__v', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:117\n \n \n\n\n \n \n\n \n\n\n \n import { Embedded, Entity, Enum, Index, ManyToOne, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { StorageProviderEntity } from '@shared/domain/entity';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { v4 as uuid } from 'uuid';\nimport { FileOwnerModel } from '../domain';\nimport { FilePermissionEntity } from './file-permission.entity';\nimport { FileSecurityCheckEntity } from './file-security-check.entity';\n\nexport interface FileEntityProps {\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n\tdeletedAt?: Date;\n\tdeleted?: boolean;\n\tisDirectory?: boolean;\n\tname: string;\n\tsize?: number;\n\ttype?: string;\n\tstorageFileName?: string;\n\tbucket?: string;\n\tstorageProvider?: StorageProviderEntity;\n\tthumbnail?: string;\n\tthumbnailRequestToken?: string;\n\tsecurityCheck?: FileSecurityCheckEntity;\n\tshareTokens?: string[];\n\tparentId?: EntityId;\n\townerId: EntityId;\n\trefOwnerModel: FileOwnerModel;\n\tcreatorId: EntityId;\n\tpermissions: FilePermissionEntity[];\n\tlockId?: EntityId;\n\tversionKey?: number;\n}\n\n@Entity({ collection: 'files' })\n@Index({ options: { 'permissions.refId': 1 } })\nexport class FileEntity extends BaseEntityWithTimestamps {\n\t@Property({ nullable: true })\n\tdeletedAt?: Date;\n\n\t@Property()\n\tdeleted = false;\n\n\t@Property()\n\tisDirectory = false;\n\n\t@Property()\n\tname: string;\n\n\t@Property({ nullable: true })\n\tsize?: number; // not for directories\n\n\t@Property({ nullable: true })\n\ttype?: string;\n\n\t@Property({ nullable: true })\n\tstorageFileName?: string; // not for directories\n\n\t@Property({ nullable: true })\n\tbucket?: string; // not for directories\n\n\t@ManyToOne(() => StorageProviderEntity, { fieldName: 'storageProviderId', nullable: true })\n\tstorageProvider?: StorageProviderEntity; // not for directories\n\n\t@Property({ nullable: true })\n\tthumbnail?: string;\n\n\t@Property({ nullable: true })\n\tthumbnailRequestToken?: string = uuid();\n\n\t@Embedded(() => FileSecurityCheckEntity, { object: true, nullable: false })\n\tsecurityCheck: FileSecurityCheckEntity = new FileSecurityCheckEntity({});\n\n\t@Property({ nullable: true })\n\t@Index()\n\tshareTokens: string[] = [];\n\n\t@Property({ fieldName: 'parent', nullable: true })\n\t@Index()\n\t_parentId?: ObjectId;\n\n\tget parentId(): EntityId | undefined {\n\t\treturn this._parentId?.toHexString();\n\t}\n\n\t@Property({ fieldName: 'owner', nullable: false })\n\t@Index()\n\t_ownerId: ObjectId;\n\n\tget ownerId(): EntityId {\n\t\treturn this._ownerId.toHexString();\n\t}\n\n\t@Enum({ nullable: false })\n\trefOwnerModel: FileOwnerModel;\n\n\t@Property({ fieldName: 'creator' })\n\t@Index()\n\t_creatorId: ObjectId;\n\n\tget creatorId(): EntityId {\n\t\treturn this._creatorId.toHexString();\n\t}\n\n\t@Embedded(() => FilePermissionEntity, { array: true, nullable: false })\n\tpermissions: FilePermissionEntity[];\n\n\t@Property({ fieldName: 'lockId', nullable: true })\n\t_lockId?: ObjectId;\n\n\tget lockId(): EntityId | undefined {\n\t\treturn this._lockId?.toHexString();\n\t}\n\n\t@Property({ fieldName: '__v', nullable: true })\n\tversionKey?: number; // mongoose model version key\n\n\tprivate validate(props: FileEntityProps) {\n\t\tif (props.isDirectory) return;\n\n\t\tif (!props.size || !props.storageFileName || !props.bucket || !props.storageProvider) {\n\t\t\tthrow new Error(\n\t\t\t\t'files that are not directories always need a size, a storage file name, a bucket, and a storage provider.'\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic removePermissionsByRefId(refId: EntityId): void {\n\t\tconst refObjectId = new ObjectId(refId);\n\n\t\tthis.permissions = this.permissions.filter((permission) => !permission.refId.equals(refObjectId));\n\t}\n\n\tpublic markForDeletion(): void {\n\t\tthis.deletedAt = new Date();\n\t\tthis.deleted = true;\n\t}\n\n\tpublic isMarkedForDeletion(): boolean {\n\t\treturn this.deleted && this.deletedAt !== undefined && !Number.isNaN(this.deletedAt.getTime());\n\t}\n\n\tconstructor(props: FileEntityProps) {\n\t\tsuper();\n\n\t\tthis.validate(props);\n\n\t\tif (props.createdAt !== undefined) {\n\t\t\tthis.createdAt = props.createdAt;\n\t\t}\n\n\t\tif (props.updatedAt !== undefined) {\n\t\t\tthis.updatedAt = props.updatedAt;\n\t\t}\n\n\t\tthis.deletedAt = props.deletedAt;\n\n\t\tif (props.deleted !== undefined) {\n\t\t\tthis.deleted = props.deleted;\n\t\t}\n\n\t\tif (props.isDirectory !== undefined) {\n\t\t\tthis.isDirectory = props.isDirectory;\n\t\t}\n\n\t\tthis.name = props.name;\n\t\tthis.size = props.size;\n\t\tthis.type = props.type;\n\t\tthis.storageFileName = props.storageFileName;\n\t\tthis.bucket = props.bucket;\n\t\tthis.storageProvider = props.storageProvider;\n\t\tthis.thumbnail = props.thumbnail;\n\n\t\tif (props.thumbnailRequestToken !== undefined) {\n\t\t\tthis.thumbnailRequestToken = props.thumbnailRequestToken;\n\t\t}\n\n\t\tif (props.securityCheck !== undefined) {\n\t\t\tthis.securityCheck = props.securityCheck;\n\t\t}\n\n\t\tif (props.shareTokens !== undefined) {\n\t\t\tthis.shareTokens = props.shareTokens;\n\t\t}\n\n\t\tif (props.parentId !== undefined) {\n\t\t\tthis._parentId = new ObjectId(props.parentId);\n\t\t}\n\n\t\tthis._ownerId = new ObjectId(props.ownerId);\n\t\tthis.refOwnerModel = props.refOwnerModel;\n\t\tthis._creatorId = new ObjectId(props.creatorId);\n\t\tthis.permissions = props.permissions;\n\n\t\tif (props.lockId !== undefined) {\n\t\t\tthis._lockId = new ObjectId(props.lockId);\n\t\t}\n\n\t\tif (props.versionKey !== undefined) {\n\t\t\tthis.versionKey = props.versionKey;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FileEntityProps.html":{"url":"interfaces/FileEntityProps.html","title":"interface - FileEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FileEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files/entity/file.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n bucket\n \n \n \n Optional\n \n createdAt\n \n \n \n \n creatorId\n \n \n \n Optional\n \n deleted\n \n \n \n Optional\n \n deletedAt\n \n \n \n Optional\n \n isDirectory\n \n \n \n Optional\n \n lockId\n \n \n \n \n name\n \n \n \n \n ownerId\n \n \n \n Optional\n \n parentId\n \n \n \n \n permissions\n \n \n \n \n refOwnerModel\n \n \n \n Optional\n \n securityCheck\n \n \n \n Optional\n \n shareTokens\n \n \n \n Optional\n \n size\n \n \n \n Optional\n \n storageFileName\n \n \n \n Optional\n \n storageProvider\n \n \n \n Optional\n \n thumbnail\n \n \n \n Optional\n \n thumbnailRequestToken\n \n \n \n Optional\n \n type\n \n \n \n Optional\n \n updatedAt\n \n \n \n Optional\n \n versionKey\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n bucket\n \n \n \n \n \n \n \n \n bucket: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n creatorId\n \n \n \n \n \n \n \n \n creatorId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n deleted\n \n \n \n \n \n \n \n \n deleted: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n deletedAt\n \n \n \n \n \n \n \n \n deletedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n isDirectory\n \n \n \n \n \n \n \n \n isDirectory: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n lockId\n \n \n \n \n \n \n \n \n lockId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n ownerId\n \n \n \n \n \n \n \n \n ownerId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n \n \n parentId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n permissions\n \n \n \n \n \n \n \n \n permissions: FilePermissionEntity[]\n\n \n \n\n\n \n \n Type : FilePermissionEntity[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n refOwnerModel\n \n \n \n \n \n \n \n \n refOwnerModel: FileOwnerModel\n\n \n \n\n\n \n \n Type : FileOwnerModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n securityCheck\n \n \n \n \n \n \n \n \n securityCheck: FileSecurityCheckEntity\n\n \n \n\n\n \n \n Type : FileSecurityCheckEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n shareTokens\n \n \n \n \n \n \n \n \n shareTokens: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n size\n \n \n \n \n \n \n \n \n size: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n storageFileName\n \n \n \n \n \n \n \n \n storageFileName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n storageProvider\n \n \n \n \n \n \n \n \n storageProvider: StorageProviderEntity\n\n \n \n\n\n \n \n Type : StorageProviderEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n thumbnail\n \n \n \n \n \n \n \n \n thumbnail: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n thumbnailRequestToken\n \n \n \n \n \n \n \n \n thumbnailRequestToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n versionKey\n \n \n \n \n \n \n \n \n versionKey: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Embedded, Entity, Enum, Index, ManyToOne, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { StorageProviderEntity } from '@shared/domain/entity';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { v4 as uuid } from 'uuid';\nimport { FileOwnerModel } from '../domain';\nimport { FilePermissionEntity } from './file-permission.entity';\nimport { FileSecurityCheckEntity } from './file-security-check.entity';\n\nexport interface FileEntityProps {\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n\tdeletedAt?: Date;\n\tdeleted?: boolean;\n\tisDirectory?: boolean;\n\tname: string;\n\tsize?: number;\n\ttype?: string;\n\tstorageFileName?: string;\n\tbucket?: string;\n\tstorageProvider?: StorageProviderEntity;\n\tthumbnail?: string;\n\tthumbnailRequestToken?: string;\n\tsecurityCheck?: FileSecurityCheckEntity;\n\tshareTokens?: string[];\n\tparentId?: EntityId;\n\townerId: EntityId;\n\trefOwnerModel: FileOwnerModel;\n\tcreatorId: EntityId;\n\tpermissions: FilePermissionEntity[];\n\tlockId?: EntityId;\n\tversionKey?: number;\n}\n\n@Entity({ collection: 'files' })\n@Index({ options: { 'permissions.refId': 1 } })\nexport class FileEntity extends BaseEntityWithTimestamps {\n\t@Property({ nullable: true })\n\tdeletedAt?: Date;\n\n\t@Property()\n\tdeleted = false;\n\n\t@Property()\n\tisDirectory = false;\n\n\t@Property()\n\tname: string;\n\n\t@Property({ nullable: true })\n\tsize?: number; // not for directories\n\n\t@Property({ nullable: true })\n\ttype?: string;\n\n\t@Property({ nullable: true })\n\tstorageFileName?: string; // not for directories\n\n\t@Property({ nullable: true })\n\tbucket?: string; // not for directories\n\n\t@ManyToOne(() => StorageProviderEntity, { fieldName: 'storageProviderId', nullable: true })\n\tstorageProvider?: StorageProviderEntity; // not for directories\n\n\t@Property({ nullable: true })\n\tthumbnail?: string;\n\n\t@Property({ nullable: true })\n\tthumbnailRequestToken?: string = uuid();\n\n\t@Embedded(() => FileSecurityCheckEntity, { object: true, nullable: false })\n\tsecurityCheck: FileSecurityCheckEntity = new FileSecurityCheckEntity({});\n\n\t@Property({ nullable: true })\n\t@Index()\n\tshareTokens: string[] = [];\n\n\t@Property({ fieldName: 'parent', nullable: true })\n\t@Index()\n\t_parentId?: ObjectId;\n\n\tget parentId(): EntityId | undefined {\n\t\treturn this._parentId?.toHexString();\n\t}\n\n\t@Property({ fieldName: 'owner', nullable: false })\n\t@Index()\n\t_ownerId: ObjectId;\n\n\tget ownerId(): EntityId {\n\t\treturn this._ownerId.toHexString();\n\t}\n\n\t@Enum({ nullable: false })\n\trefOwnerModel: FileOwnerModel;\n\n\t@Property({ fieldName: 'creator' })\n\t@Index()\n\t_creatorId: ObjectId;\n\n\tget creatorId(): EntityId {\n\t\treturn this._creatorId.toHexString();\n\t}\n\n\t@Embedded(() => FilePermissionEntity, { array: true, nullable: false })\n\tpermissions: FilePermissionEntity[];\n\n\t@Property({ fieldName: 'lockId', nullable: true })\n\t_lockId?: ObjectId;\n\n\tget lockId(): EntityId | undefined {\n\t\treturn this._lockId?.toHexString();\n\t}\n\n\t@Property({ fieldName: '__v', nullable: true })\n\tversionKey?: number; // mongoose model version key\n\n\tprivate validate(props: FileEntityProps) {\n\t\tif (props.isDirectory) return;\n\n\t\tif (!props.size || !props.storageFileName || !props.bucket || !props.storageProvider) {\n\t\t\tthrow new Error(\n\t\t\t\t'files that are not directories always need a size, a storage file name, a bucket, and a storage provider.'\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic removePermissionsByRefId(refId: EntityId): void {\n\t\tconst refObjectId = new ObjectId(refId);\n\n\t\tthis.permissions = this.permissions.filter((permission) => !permission.refId.equals(refObjectId));\n\t}\n\n\tpublic markForDeletion(): void {\n\t\tthis.deletedAt = new Date();\n\t\tthis.deleted = true;\n\t}\n\n\tpublic isMarkedForDeletion(): boolean {\n\t\treturn this.deleted && this.deletedAt !== undefined && !Number.isNaN(this.deletedAt.getTime());\n\t}\n\n\tconstructor(props: FileEntityProps) {\n\t\tsuper();\n\n\t\tthis.validate(props);\n\n\t\tif (props.createdAt !== undefined) {\n\t\t\tthis.createdAt = props.createdAt;\n\t\t}\n\n\t\tif (props.updatedAt !== undefined) {\n\t\t\tthis.updatedAt = props.updatedAt;\n\t\t}\n\n\t\tthis.deletedAt = props.deletedAt;\n\n\t\tif (props.deleted !== undefined) {\n\t\t\tthis.deleted = props.deleted;\n\t\t}\n\n\t\tif (props.isDirectory !== undefined) {\n\t\t\tthis.isDirectory = props.isDirectory;\n\t\t}\n\n\t\tthis.name = props.name;\n\t\tthis.size = props.size;\n\t\tthis.type = props.type;\n\t\tthis.storageFileName = props.storageFileName;\n\t\tthis.bucket = props.bucket;\n\t\tthis.storageProvider = props.storageProvider;\n\t\tthis.thumbnail = props.thumbnail;\n\n\t\tif (props.thumbnailRequestToken !== undefined) {\n\t\t\tthis.thumbnailRequestToken = props.thumbnailRequestToken;\n\t\t}\n\n\t\tif (props.securityCheck !== undefined) {\n\t\t\tthis.securityCheck = props.securityCheck;\n\t\t}\n\n\t\tif (props.shareTokens !== undefined) {\n\t\t\tthis.shareTokens = props.shareTokens;\n\t\t}\n\n\t\tif (props.parentId !== undefined) {\n\t\t\tthis._parentId = new ObjectId(props.parentId);\n\t\t}\n\n\t\tthis._ownerId = new ObjectId(props.ownerId);\n\t\tthis.refOwnerModel = props.refOwnerModel;\n\t\tthis._creatorId = new ObjectId(props.creatorId);\n\t\tthis.permissions = props.permissions;\n\n\t\tif (props.lockId !== undefined) {\n\t\t\tthis._lockId = new ObjectId(props.lockId);\n\t\t}\n\n\t\tif (props.versionKey !== undefined) {\n\t\t\tthis.versionKey = props.versionKey;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileMetadata.html":{"url":"classes/FileMetadata.html","title":"class - FileMetadata","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileMetadata\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/entity/library.entity.ts\n \n\n\n\n\n \n Implements\n \n \n IFileStats\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n birthtime\n \n \n name\n \n \n size\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(name: string, birthtime: Date, size: number)\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:37\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n \n string\n \n \n \n No\n \n \n \n \n birthtime\n \n \n Date\n \n \n \n No\n \n \n \n \n size\n \n \n number\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n birthtime\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n size\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:37\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IInstalledLibrary, ILibraryName } from '@lumieducation/h5p-server';\nimport { IFileStats, ILibraryMetadata, IPath } from '@lumieducation/h5p-server/build/src/types';\nimport { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\n\nexport class Path implements IPath {\n\t@Property()\n\tpath: string;\n\n\tconstructor(path: string) {\n\t\tthis.path = path;\n\t}\n}\n\nexport class LibraryName implements ILibraryName {\n\t@Property()\n\tmachineName: string;\n\n\t@Property()\n\tmajorVersion: number;\n\n\t@Property()\n\tminorVersion: number;\n\n\tconstructor(machineName: string, majorVersion: number, minorVersion: number) {\n\t\tthis.machineName = machineName;\n\t\tthis.majorVersion = majorVersion;\n\t\tthis.minorVersion = minorVersion;\n\t}\n}\n\nexport class FileMetadata implements IFileStats {\n\tname: string;\n\n\tbirthtime: Date;\n\n\tsize: number;\n\n\tconstructor(name: string, birthtime: Date, size: number) {\n\t\tthis.name = name;\n\t\tthis.birthtime = birthtime;\n\t\tthis.size = size;\n\t}\n}\n\n@Entity({ tableName: 'h5p_library' })\nexport class InstalledLibrary extends BaseEntityWithTimestamps implements IInstalledLibrary {\n\t@Property()\n\tmachineName: string;\n\n\t@Property()\n\tmajorVersion: number;\n\n\t@Property()\n\tminorVersion: number;\n\n\t@Property()\n\tpatchVersion: number;\n\n\t/**\n\t * Addons can be added to other content types by\n\t */\n\t@Property({ nullable: true })\n\taddTo?: {\n\t\tcontent?: {\n\t\t\ttypes?: {\n\t\t\t\ttext?: {\n\t\t\t\t\t/**\n\t\t\t\t\t * If any string property in the parameters matches the regex,\n\t\t\t\t\t * the addon will be activated for the content.\n\t\t\t\t\t */\n\t\t\t\t\tregex?: string;\n\t\t\t\t};\n\t\t\t}[];\n\t\t};\n\t\t/**\n\t\t * Contains cases in which the library should be added to the editor.\n\t\t *\n\t\t * This is an extension to the H5P library metadata structure made by\n\t\t * h5p-nodejs-library. That way addons can specify to which editors\n\t\t * they should be added in general. The PHP implementation hard-codes\n\t\t * this list into the server, which we want to avoid here.\n\t\t */\n\t\teditor?: {\n\t\t\t/**\n\t\t\t * A list of machine names in which the addon should be added.\n\t\t\t */\n\t\t\tmachineNames: string[];\n\t\t};\n\t\t/**\n\t\t * Contains cases in which the library should be added to the player.\n\t\t *\n\t\t * This is an extension to the H5P library metadata structure made by\n\t\t * h5p-nodejs-library. That way addons can specify to which editors\n\t\t * they should be added in general. The PHP implementation hard-codes\n\t\t * this list into the server, which we want to avoid here.\n\t\t */\n\t\tplayer?: {\n\t\t\t/**\n\t\t\t * A list of machine names in which the addon should be added.\n\t\t\t */\n\t\t\tmachineNames: string[];\n\t\t};\n\t};\n\n\t/**\n\t * If set to true, the library can only be used be users who have this special\n\t * privilege.\n\t */\n\t@Property()\n\trestricted: boolean;\n\n\t@Property({ nullable: true })\n\tauthor?: string;\n\n\t/**\n\t * The core API required to run the library.\n\t */\n\t@Property({ nullable: true })\n\tcoreApi?: {\n\t\tmajorVersion: number;\n\t\tminorVersion: number;\n\t};\n\n\t@Property({ nullable: true })\n\tdescription?: string;\n\n\t@Property({ nullable: true })\n\tdropLibraryCss?: {\n\t\tmachineName: string;\n\t}[];\n\n\t@Property({ nullable: true })\n\tdynamicDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\teditorDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\tembedTypes?: ('iframe' | 'div')[];\n\n\t@Property({ nullable: true })\n\tfullscreen?: 0 | 1;\n\n\t@Property({ nullable: true })\n\th?: number;\n\n\t@Property({ nullable: true })\n\tlicense?: string;\n\n\t@Property({ nullable: true })\n\tmetadataSettings?: {\n\t\tdisable: 0 | 1;\n\t\tdisableExtraTitleField: 0 | 1;\n\t};\n\n\t@Property({ nullable: true })\n\tpreloadedCss?: Path[];\n\n\t@Property({ nullable: true })\n\tpreloadedDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\tpreloadedJs?: Path[];\n\n\t@Property()\n\trunnable: boolean | 0 | 1;\n\n\t@Property()\n\ttitle: string;\n\n\t@Property({ nullable: true })\n\tw?: number;\n\n\t@Property({ nullable: true })\n\trequiredExtensions?: {\n\t\tsharedState: number;\n\t};\n\n\t@Property({ nullable: true })\n\tstate?: {\n\t\tsnapshotSchema: boolean;\n\t\topSchema: boolean;\n\t\tsnapshotLogicChecks: boolean;\n\t\topLogicChecks: boolean;\n\t};\n\n\t@Property()\n\tfiles: FileMetadata[];\n\n\tpublic static simple_compare(a: number, b: number): number {\n\t\tif (a > b) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (a otherLibrary.machineName ? 1 : -1;\n\t}\n\n\tpublic compareVersions(otherLibrary: ILibraryName & { patchVersion?: number }): number {\n\t\tlet result = InstalledLibrary.simple_compare(this.majorVersion, otherLibrary.majorVersion);\n\t\tif (result !== 0) {\n\t\t\treturn result;\n\t\t}\n\t\tresult = InstalledLibrary.simple_compare(this.minorVersion, otherLibrary.minorVersion);\n\t\tif (result !== 0) {\n\t\t\treturn result;\n\t\t}\n\t\treturn InstalledLibrary.simple_compare(this.patchVersion, otherLibrary.patchVersion as number);\n\t}\n\n\tconstructor(libraryMetadata: ILibraryMetadata, restricted = false, files: FileMetadata[] = []) {\n\t\tsuper();\n\t\tthis.machineName = libraryMetadata.machineName;\n\t\tthis.majorVersion = libraryMetadata.majorVersion;\n\t\tthis.minorVersion = libraryMetadata.minorVersion;\n\t\tthis.patchVersion = libraryMetadata.patchVersion;\n\t\tthis.runnable = libraryMetadata.runnable;\n\t\tthis.title = libraryMetadata.title;\n\t\tthis.addTo = libraryMetadata.addTo;\n\t\tthis.author = libraryMetadata.author;\n\t\tthis.coreApi = libraryMetadata.coreApi;\n\t\tthis.description = libraryMetadata.description;\n\t\tthis.dropLibraryCss = libraryMetadata.dropLibraryCss;\n\t\tthis.dynamicDependencies = libraryMetadata.dynamicDependencies;\n\t\tthis.editorDependencies = libraryMetadata.editorDependencies;\n\t\tthis.embedTypes = libraryMetadata.embedTypes;\n\t\tthis.fullscreen = libraryMetadata.fullscreen;\n\t\tthis.h = libraryMetadata.h;\n\t\tthis.license = libraryMetadata.license;\n\t\tthis.metadataSettings = libraryMetadata.metadataSettings;\n\t\tthis.preloadedCss = libraryMetadata.preloadedCss;\n\t\tthis.preloadedDependencies = libraryMetadata.preloadedDependencies;\n\t\tthis.preloadedJs = libraryMetadata.preloadedJs;\n\t\tthis.w = libraryMetadata.w;\n\t\tthis.requiredExtensions = libraryMetadata.requiredExtensions;\n\t\tthis.state = libraryMetadata.state;\n\t\tthis.restricted = restricted;\n\t\tthis.files = files;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileParamBuilder.html":{"url":"classes/FileParamBuilder.html","title":"class - FileParamBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileParamBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/mapper/files-storage-param.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(schoolId: EntityId, parent: EntitiesWithFiles)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/mapper/files-storage-param.builder.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n parent\n \n EntitiesWithFiles\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileRequestInfo\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { EntitiesWithFiles, FileRequestInfo } from '../interfaces';\nimport { FilesStorageClientMapper } from './files-storage-client.mapper';\n\nexport class FileParamBuilder {\n\tstatic build(schoolId: EntityId, parent: EntitiesWithFiles): FileRequestInfo {\n\t\tconst parentType = FilesStorageClientMapper.mapEntityToParentType(parent);\n\t\tconst fileRequestInfo = {\n\t\t\tparentType,\n\t\t\tschoolId,\n\t\t\tparentId: parent.id,\n\t\t};\n\n\t\treturn fileRequestInfo;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileParams.html":{"url":"classes/FileParams.html","title":"class - FileParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n file\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n file\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: 'string', format: 'binary'})@Allow()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:42\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanResult } from '@infra/antivirus';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { Allow, IsBoolean, IsEnum, IsMongoId, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { FileRecordParentType } from '../../entity';\nimport { PreviewOutputMimeTypes, PreviewWidth } from '../../interface';\n\nexport class FileRecordParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\t@IsEnum(FileRecordParentType)\n\tparentType!: FileRecordParentType;\n}\n\nexport class FileUrlParams {\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\turl!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@Allow()\n\theaders?: Record;\n}\n\nexport class FileParams {\n\t@ApiProperty({ type: 'string', format: 'binary' })\n\t@Allow()\n\tfile!: string;\n}\n\nexport class DownloadFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileName!: string;\n}\n\nexport class ScanResultParams implements ScanResult {\n\t@ApiProperty()\n\t@Allow()\n\tvirus_detected?: boolean;\n\n\t@ApiProperty()\n\t@Allow()\n\tvirus_signature?: string;\n\n\t@ApiProperty()\n\t@Allow()\n\terror?: string;\n}\n\nexport class SingleFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n}\n\nexport class RenameFileParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n}\n\nexport class CopyFilesOfParentParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class CopyFileParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileNamePrefix!: string;\n}\n\nexport class CopyFilesOfParentPayload {\n\t@IsMongoId()\n\tuserId!: EntityId;\n\n\t@ValidateNested()\n\tsource!: FileRecordParams;\n\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class PreviewParams {\n\t@ApiPropertyOptional({ enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes' })\n\t@IsOptional()\n\t@IsEnum(PreviewOutputMimeTypes)\n\toutputFormat?: PreviewOutputMimeTypes;\n\n\t@ApiPropertyOptional({ enum: PreviewWidth, enumName: 'PreviewWidth' })\n\t@IsOptional()\n\t@IsEnum(PreviewWidth)\n\twidth?: PreviewWidth;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'If true, the preview will be generated again.',\n\t})\n\tforceUpdate?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FilePermissionEntity.html":{"url":"classes/FilePermissionEntity.html","title":"class - FilePermissionEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FilePermissionEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files/entity/file-permission.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n create\n \n \n \n delete\n \n \n \n read\n \n \n \n refId\n \n \n \n refPermModel\n \n \n \n write\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: FilePermissionEntityProps)\n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-permission.entity.ts:33\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n FilePermissionEntityProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \n Default value : true\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-permission.entity.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n delete\n \n \n \n \n \n \n Default value : true\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-permission.entity.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n read\n \n \n \n \n \n \n Default value : true\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-permission.entity.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n refId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-permission.entity.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n refPermModel\n \n \n \n \n \n \n Type : FilePermissionReferenceModel\n\n \n \n \n \n Decorators : \n \n \n @Enum({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-permission.entity.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n write\n \n \n \n \n \n \n Default value : true\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-permission.entity.ts:24\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Enum, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { EntityId } from '@shared/domain/types';\nimport { FilePermissionReferenceModel } from '../domain';\n\nexport interface FilePermissionEntityProps {\n\trefId: EntityId;\n\trefPermModel: FilePermissionReferenceModel;\n\twrite?: boolean;\n\tread?: boolean;\n\tcreate?: boolean;\n\tdelete?: boolean;\n}\n\n@Embeddable()\nexport class FilePermissionEntity {\n\t@Property({ nullable: false })\n\trefId: ObjectId;\n\n\t@Enum({ nullable: false })\n\trefPermModel: FilePermissionReferenceModel;\n\n\t@Property()\n\twrite = true;\n\n\t@Property()\n\tread = true;\n\n\t@Property()\n\tcreate = true;\n\n\t@Property()\n\tdelete = true;\n\n\tconstructor(props: FilePermissionEntityProps) {\n\t\tthis.refId = new ObjectId(props.refId);\n\t\tthis.refPermModel = props.refPermModel;\n\n\t\tif (props.write !== undefined) {\n\t\t\tthis.write = props.write;\n\t\t}\n\n\t\tif (props.read !== undefined) {\n\t\t\tthis.read = props.read;\n\t\t}\n\n\t\tif (props.create !== undefined) {\n\t\t\tthis.create = props.create;\n\t\t}\n\n\t\tif (props.delete !== undefined) {\n\t\t\tthis.delete = props.delete;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FilePermissionEntityProps.html":{"url":"interfaces/FilePermissionEntityProps.html","title":"interface - FilePermissionEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FilePermissionEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files/entity/file-permission.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n create\n \n \n \n Optional\n \n delete\n \n \n \n Optional\n \n read\n \n \n \n \n refId\n \n \n \n \n refPermModel\n \n \n \n Optional\n \n write\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n create\n \n \n \n \n \n \n \n \n create: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n delete\n \n \n \n \n \n \n \n \n delete: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n read\n \n \n \n \n \n \n \n \n read: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n refId\n \n \n \n \n \n \n \n \n refId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n refPermModel\n \n \n \n \n \n \n \n \n refPermModel: FilePermissionReferenceModel\n\n \n \n\n\n \n \n Type : FilePermissionReferenceModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n write\n \n \n \n \n \n \n \n \n write: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Embeddable, Enum, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { EntityId } from '@shared/domain/types';\nimport { FilePermissionReferenceModel } from '../domain';\n\nexport interface FilePermissionEntityProps {\n\trefId: EntityId;\n\trefPermModel: FilePermissionReferenceModel;\n\twrite?: boolean;\n\tread?: boolean;\n\tcreate?: boolean;\n\tdelete?: boolean;\n}\n\n@Embeddable()\nexport class FilePermissionEntity {\n\t@Property({ nullable: false })\n\trefId: ObjectId;\n\n\t@Enum({ nullable: false })\n\trefPermModel: FilePermissionReferenceModel;\n\n\t@Property()\n\twrite = true;\n\n\t@Property()\n\tread = true;\n\n\t@Property()\n\tcreate = true;\n\n\t@Property()\n\tdelete = true;\n\n\tconstructor(props: FilePermissionEntityProps) {\n\t\tthis.refId = new ObjectId(props.refId);\n\t\tthis.refPermModel = props.refPermModel;\n\n\t\tif (props.write !== undefined) {\n\t\t\tthis.write = props.write;\n\t\t}\n\n\t\tif (props.read !== undefined) {\n\t\t\tthis.read = props.read;\n\t\t}\n\n\t\tif (props.create !== undefined) {\n\t\t\tthis.create = props.create;\n\t\t}\n\n\t\tif (props.delete !== undefined) {\n\t\t\tthis.delete = props.delete;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/FileRecord.html":{"url":"entities/FileRecord.html","title":"entity - FileRecord","body":"\n \n\n\n\n\n\n\n\n Entities\n FileRecord\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/entity/filerecord.entity.ts\n \n\n\n \n Description\n \n \n Note: The file record entity will not manage any entity relations by itself.\nThat's why we do not map any relations in the entity class\nand instead just use the plain object ids.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n _creatorId\n \n \n \n Optional\n _isCopyFrom\n \n \n \n \n _parentId\n \n \n \n _schoolId\n \n \n \n \n Optional\n deletedSince\n \n \n \n mimeType\n \n \n \n name\n \n \n \n \n parentType\n \n \n \n securityCheck\n \n \n \n size\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n _creatorId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'creator'})\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:132\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n _isCopyFrom\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'isCopyFrom', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:146\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n _parentId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Index()@Property({fieldName: 'parent'})\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:125\n \n \n\n\n \n \n \n \n \n \n \n \n \n _schoolId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'school'})\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:139\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n deletedSince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Index({options: undefined})@Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:105\n \n \n\n\n \n \n \n \n \n \n \n \n \n mimeType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:114\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:111\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n Type : FileRecordParentType\n\n \n \n \n \n Decorators : \n \n \n @Index()@Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:121\n \n \n\n\n \n \n \n \n \n \n \n \n \n securityCheck\n \n \n \n \n \n \n Type : FileRecordSecurityCheck\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {object: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:117\n \n \n\n\n \n \n \n \n \n \n \n \n \n size\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:108\n \n \n\n\n \n \n\n \n\n\n \n import { PreviewInputMimeTypes } from '@infra/preview-generator';\nimport { Embeddable, Embedded, Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BadRequestException } from '@nestjs/common';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport path from 'path';\nimport { v4 as uuid } from 'uuid';\nimport { ErrorType } from '../error';\n\nexport enum ScanStatus {\n\tPENDING = 'pending',\n\tVERIFIED = 'verified',\n\tBLOCKED = 'blocked',\n\tWONT_CHECK = 'wont_check',\n\tERROR = 'error',\n}\n\nexport enum FileRecordParentType {\n\t'User' = 'users',\n\t'School' = 'schools',\n\t'Course' = 'courses',\n\t'Task' = 'tasks',\n\t'Lesson' = 'lessons',\n\t'Submission' = 'submissions',\n\t'BoardNode' = 'boardnodes',\n}\n\nexport enum PreviewStatus {\n\tPREVIEW_POSSIBLE = 'preview_possible',\n\tAWAITING_SCAN_STATUS = 'awaiting_scan_status',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_ERROR = 'preview_not_possible_scan_status_error',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_WONT_CHECK = 'preview_not_possible_scan_status_wont_check',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_BLOCKED = 'preview_not_possible_scan_status_blocked',\n\tPREVIEW_NOT_POSSIBLE_WRONG_MIME_TYPE = 'preview_not_possible_wrong_mime_type',\n}\n\nexport interface FileRecordSecurityCheckProperties {\n\tstatus?: ScanStatus;\n\treason?: string;\n\trequestToken?: string;\n}\n@Embeddable()\nexport class FileRecordSecurityCheck {\n\t@Enum()\n\tstatus: ScanStatus = ScanStatus.PENDING;\n\n\t@Property()\n\treason = 'not yet scanned';\n\n\t@Property()\n\trequestToken?: string = uuid();\n\n\t@Property()\n\tcreatedAt = new Date();\n\n\t@Property()\n\tupdatedAt = new Date();\n\n\tconstructor(props: FileRecordSecurityCheckProperties) {\n\t\tif (props.status !== undefined) {\n\t\t\tthis.status = props.status;\n\t\t}\n\t\tif (props.reason !== undefined) {\n\t\t\tthis.reason = props.reason;\n\t\t}\n\t\tif (props.requestToken !== undefined) {\n\t\t\tthis.requestToken = props.requestToken;\n\t\t}\n\t}\n}\n\nexport interface FileRecordProperties {\n\tsize: number;\n\tname: string;\n\tmimeType: string;\n\tparentType: FileRecordParentType;\n\tparentId: EntityId;\n\tcreatorId: EntityId;\n\tschoolId: EntityId;\n\tdeletedSince?: Date;\n\tisCopyFrom?: EntityId;\n}\n\ninterface ParentInfo {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\n// TODO: EntityWithSchool\n\n/**\n * Note: The file record entity will not manage any entity relations by itself.\n * That's why we do not map any relations in the entity class\n * and instead just use the plain object ids.\n */\n@Entity({ tableName: 'filerecords' })\n@Index({ properties: ['_schoolId', '_parentId'], options: { background: true } })\n// https://github.com/mikro-orm/mikro-orm/issues/1230\n@Index({ options: { 'securityCheck.requestToken': 1 } })\nexport class FileRecord extends BaseEntityWithTimestamps {\n\t@Index({ options: { expireAfterSeconds: 7 * 24 * 60 * 60 } })\n\t@Property({ nullable: true })\n\tdeletedSince?: Date;\n\n\t@Property()\n\tsize: number;\n\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tmimeType: string; // TODO mime-type enum?\n\n\t@Embedded(() => FileRecordSecurityCheck, { object: true, nullable: false })\n\tsecurityCheck: FileRecordSecurityCheck;\n\n\t@Index()\n\t@Enum()\n\tparentType: FileRecordParentType;\n\n\t@Index()\n\t@Property({ fieldName: 'parent' })\n\t_parentId: ObjectId;\n\n\tget parentId(): EntityId {\n\t\treturn this._parentId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'creator' })\n\t_creatorId: ObjectId;\n\n\tget creatorId(): EntityId {\n\t\treturn this._creatorId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'school' })\n\t_schoolId: ObjectId;\n\n\tget schoolId(): EntityId {\n\t\treturn this._schoolId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'isCopyFrom', nullable: true })\n\t_isCopyFrom?: ObjectId;\n\n\tget isCopyFrom(): EntityId | undefined {\n\t\tconst result = this._isCopyFrom?.toHexString();\n\n\t\treturn result;\n\t}\n\n\tconstructor(props: FileRecordProperties) {\n\t\tsuper();\n\t\tthis.size = props.size;\n\t\tthis.name = props.name;\n\t\tthis.mimeType = props.mimeType;\n\t\tthis.parentType = props.parentType;\n\t\tthis._parentId = new ObjectId(props.parentId);\n\t\tthis._creatorId = new ObjectId(props.creatorId);\n\t\tthis._schoolId = new ObjectId(props.schoolId);\n\t\tif (props.isCopyFrom) {\n\t\t\tthis._isCopyFrom = new ObjectId(props.isCopyFrom);\n\t\t}\n\t\tthis.securityCheck = new FileRecordSecurityCheck({});\n\t\tthis.deletedSince = props.deletedSince;\n\t}\n\n\tpublic updateSecurityCheckStatus(status: ScanStatus, reason: string): void {\n\t\tthis.securityCheck.status = status;\n\t\tthis.securityCheck.reason = reason;\n\t\tthis.securityCheck.updatedAt = new Date();\n\t\tthis.securityCheck.requestToken = undefined;\n\t}\n\n\tpublic getSecurityToken(): string | undefined {\n\t\treturn this.securityCheck.requestToken;\n\t}\n\n\tpublic copy(userId: EntityId, targetParentInfo: ParentInfo): FileRecord {\n\t\tconst { size, name, mimeType, id } = this;\n\t\tconst { parentType, parentId, schoolId } = targetParentInfo;\n\n\t\tconst fileRecordCopy = new FileRecord({\n\t\t\tsize,\n\t\t\tname,\n\t\t\tmimeType,\n\t\t\tparentType,\n\t\t\tparentId,\n\t\t\tcreatorId: userId,\n\t\t\tschoolId,\n\t\t\tisCopyFrom: id,\n\t\t});\n\n\t\tif (this.isVerified()) {\n\t\t\tfileRecordCopy.securityCheck = this.securityCheck;\n\t\t}\n\n\t\treturn fileRecordCopy;\n\t}\n\n\tpublic markForDelete(): void {\n\t\tthis.deletedSince = new Date();\n\t}\n\n\tpublic unmarkForDelete(): void {\n\t\tthis.deletedSince = undefined;\n\t}\n\n\tpublic setName(name: string): void {\n\t\tif (name.length === 0) {\n\t\t\tthrow new BadRequestException(ErrorType.FILE_NAME_EMPTY);\n\t\t}\n\n\t\tthis.name = name;\n\t}\n\n\tpublic hasName(name: string): boolean {\n\t\tconst hasName = this.name === name;\n\n\t\treturn hasName;\n\t}\n\n\tpublic getName(): string {\n\t\treturn this.name;\n\t}\n\n\tpublic isBlocked(): boolean {\n\t\tconst isBlocked = this.securityCheck.status === ScanStatus.BLOCKED;\n\n\t\treturn isBlocked;\n\t}\n\n\tpublic hasScanStatusError(): boolean {\n\t\tconst hasError = this.securityCheck.status === ScanStatus.ERROR;\n\n\t\treturn hasError;\n\t}\n\n\tpublic hasScanStatusWontCheck(): boolean {\n\t\tconst hasWontCheckStatus = this.securityCheck.status === ScanStatus.WONT_CHECK;\n\n\t\treturn hasWontCheckStatus;\n\t}\n\n\tpublic isPending(): boolean {\n\t\tconst isPending = this.securityCheck.status === ScanStatus.PENDING;\n\n\t\treturn isPending;\n\t}\n\n\tpublic isVerified(): boolean {\n\t\tconst isVerified = this.securityCheck.status === ScanStatus.VERIFIED;\n\n\t\treturn isVerified;\n\t}\n\n\tpublic isPreviewPossible(): boolean {\n\t\tconst isPreviewPossible = Object.values(PreviewInputMimeTypes).includes(this.mimeType);\n\n\t\treturn isPreviewPossible;\n\t}\n\n\tpublic getParentInfo(): ParentInfo {\n\t\tconst { parentId, parentType, schoolId } = this;\n\n\t\treturn { parentId, parentType, schoolId };\n\t}\n\n\tpublic getSchoolId(): EntityId {\n\t\treturn this.schoolId;\n\t}\n\n\tpublic getPreviewStatus(): PreviewStatus {\n\t\tif (this.isBlocked()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_BLOCKED;\n\t\t}\n\n\t\tif (!this.isPreviewPossible()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_WRONG_MIME_TYPE;\n\t\t}\n\n\t\tif (this.isVerified()) {\n\t\t\treturn PreviewStatus.PREVIEW_POSSIBLE;\n\t\t}\n\n\t\tif (this.isPending()) {\n\t\t\treturn PreviewStatus.AWAITING_SCAN_STATUS;\n\t\t}\n\n\t\tif (this.hasScanStatusWontCheck()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_WONT_CHECK;\n\t\t}\n\n\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_ERROR;\n\t}\n\n\tpublic get fileNameWithoutExtension(): string {\n\t\tconst filenameObj = path.parse(this.name);\n\n\t\treturn filenameObj.name;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileRecordFactory.html":{"url":"classes/FileRecordFactory.html","title":"class - FileRecordFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileRecordFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/filerecord.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n markedForDelete\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n markedForDelete\n \n \n \n \n \n \nmarkedForDelete()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/filerecord.factory.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { FileRecordParentType } from '@infra/rabbitmq';\nimport { FileRecord, FileRecordProperties, FileRecordSecurityCheck } from '@modules/files-storage/entity';\nimport { ObjectId } from 'bson';\nimport { DeepPartial } from 'fishery';\nimport { BaseFactory } from './base.factory';\n\nconst yesterday = new Date(Date.now() - 86400000);\n\nclass FileRecordFactory extends BaseFactory {\n\tmarkedForDelete(): this {\n\t\tconst params: DeepPartial = { deletedSince: yesterday };\n\t\treturn this.params(params);\n\t}\n}\n\nexport const fileRecordFactory = FileRecordFactory.define(FileRecord, ({ sequence }) => {\n\treturn {\n\t\tsize: Math.round(Math.random() * 100000),\n\t\tname: `file-record #${sequence}`,\n\t\tmimeType: 'application/octet-stream',\n\t\tsecurityCheck: new FileRecordSecurityCheck({}),\n\t\tparentType: FileRecordParentType.Course,\n\t\tparentId: new ObjectId().toHexString(),\n\t\tcreatorId: new ObjectId().toHexString(),\n\t\tschoolId: new ObjectId().toHexString(),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileRecordListResponse.html":{"url":"classes/FileRecordListResponse.html","title":"class - FileRecordListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileRecordListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts\n \n\n\n\n \n Extends\n \n \n PaginationResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: FileRecordResponse[], total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:56\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n FileRecordResponse[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : FileRecordResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:63\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:14\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { DecodeHtmlEntities, PaginationResponse } from '@shared/controller';\nimport { FileRecord, FileRecordParentType, PreviewStatus, ScanStatus } from '../../entity';\nimport { API_VERSION_PATH } from '../../files-storage.const';\n\nexport class FileRecordResponse {\n\tconstructor(fileRecord: FileRecord) {\n\t\tthis.id = fileRecord.id;\n\t\tthis.name = fileRecord.name;\n\t\tthis.url = `${API_VERSION_PATH}/file/download/${fileRecord.id}/${encodeURIComponent(fileRecord.name)}`;\n\t\tthis.size = fileRecord.size;\n\t\tthis.securityCheckStatus = fileRecord.securityCheck.status;\n\t\tthis.parentId = fileRecord.parentId;\n\t\tthis.creatorId = fileRecord.creatorId;\n\t\tthis.mimeType = fileRecord.mimeType;\n\t\tthis.parentType = fileRecord.parentType;\n\t\tthis.deletedSince = fileRecord.deletedSince;\n\t\tthis.previewStatus = fileRecord.getPreviewStatus();\n\t}\n\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tname: string;\n\n\t@ApiProperty()\n\tparentId: string;\n\n\t@ApiProperty()\n\turl: string;\n\n\t@ApiProperty({ enum: ScanStatus, enumName: 'FileRecordScanStatus' })\n\tsecurityCheckStatus: ScanStatus;\n\n\t@ApiProperty()\n\tsize: number;\n\n\t@ApiProperty()\n\tcreatorId: string;\n\n\t@ApiProperty()\n\tmimeType: string;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\tparentType: FileRecordParentType;\n\n\t@ApiProperty({ enum: PreviewStatus, enumName: 'PreviewStatus' })\n\tpreviewStatus: PreviewStatus;\n\n\t@ApiPropertyOptional()\n\tdeletedSince?: Date;\n}\n\nexport class FileRecordListResponse extends PaginationResponse {\n\tconstructor(data: FileRecordResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [FileRecordResponse] })\n\tdata: FileRecordResponse[];\n}\n\nexport class CopyFileResponse {\n\tconstructor(data: CopyFileResponse) {\n\t\tthis.id = data.id;\n\t\tthis.sourceId = data.sourceId;\n\t\tthis.name = data.name;\n\t}\n\n\t@ApiPropertyOptional()\n\tid?: string;\n\n\t@ApiProperty()\n\tsourceId: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tname: string;\n}\n\nexport class CopyFileListResponse extends PaginationResponse {\n\tconstructor(data: CopyFileResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [CopyFileResponse] })\n\tdata: CopyFileResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileRecordMapper.html":{"url":"classes/FileRecordMapper.html","title":"class - FileRecordMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileRecordMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/mapper/file-record.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapScanResultParamsToDto\n \n \n Static\n mapToFileRecordListResponse\n \n \n Static\n mapToFileRecordResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapScanResultParamsToDto\n \n \n \n \n \n \n \n mapScanResultParamsToDto(scanResultParams: ScanResultParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/file-record.mapper.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n scanResultParams\n \n ScanResultParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ScanResultDto\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToFileRecordListResponse\n \n \n \n \n \n \n \n mapToFileRecordListResponse(fileRecords: FileRecord[], total: number, skip?: number, limit?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/file-record.mapper.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileRecords\n \n FileRecord[]\n \n\n \n No\n \n\n\n \n \n total\n \n number\n \n\n \n No\n \n\n\n \n \n skip\n \n number\n \n\n \n Yes\n \n\n\n \n \n limit\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : FileRecordListResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToFileRecordResponse\n \n \n \n \n \n \n \n mapToFileRecordResponse(fileRecord: FileRecord)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/file-record.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileRecord\n \n FileRecord\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileRecordResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { FileRecordListResponse, FileRecordResponse, ScanResultDto, ScanResultParams } from '../controller/dto';\nimport { FileRecord, ScanStatus } from '../entity';\n\nexport class FileRecordMapper {\n\tstatic mapToFileRecordResponse(fileRecord: FileRecord): FileRecordResponse {\n\t\tconst fileRecordResponse = new FileRecordResponse(fileRecord);\n\n\t\treturn fileRecordResponse;\n\t}\n\n\tstatic mapToFileRecordListResponse(\n\t\tfileRecords: FileRecord[],\n\t\ttotal: number,\n\t\tskip?: number,\n\t\tlimit?: number\n\t): FileRecordListResponse {\n\t\tconst responseFileRecords = fileRecords.map((fileRecord) => FileRecordMapper.mapToFileRecordResponse(fileRecord));\n\t\tconst response = new FileRecordListResponse(responseFileRecords, total, skip, limit);\n\n\t\treturn response;\n\t}\n\n\tstatic mapScanResultParamsToDto(scanResultParams: ScanResultParams): ScanResultDto {\n\t\tconst scanResult = new ScanResultDto({\n\t\t\tstatus: ScanStatus.VERIFIED,\n\t\t\treason: 'Clean',\n\t\t});\n\n\t\tif (scanResultParams.virus_detected) {\n\t\t\tscanResult.status = ScanStatus.BLOCKED;\n\t\t\tscanResult.reason = scanResultParams.virus_signature ?? 'Virus detected';\n\t\t} else if (scanResultParams.error) {\n\t\t\tscanResult.status = ScanStatus.ERROR;\n\t\t\tscanResult.reason = scanResultParams.error;\n\t\t} else if (scanResultParams.virus_detected === undefined || scanResultParams.error === '') {\n\t\t\tscanResult.status = ScanStatus.ERROR;\n\t\t\tscanResult.reason = 'No scan result';\n\t\t}\n\n\t\treturn scanResult;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileRecordParams.html":{"url":"classes/FileRecordParams.html","title":"class - FileRecordParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileRecordParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n parentId\n \n \n \n \n parentType\n \n \n \n \n schoolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n Type : FileRecordParentType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: FileRecordParentType, enumName: 'FileRecordParentType'})@IsEnum(FileRecordParentType)\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanResult } from '@infra/antivirus';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { Allow, IsBoolean, IsEnum, IsMongoId, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { FileRecordParentType } from '../../entity';\nimport { PreviewOutputMimeTypes, PreviewWidth } from '../../interface';\n\nexport class FileRecordParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\t@IsEnum(FileRecordParentType)\n\tparentType!: FileRecordParentType;\n}\n\nexport class FileUrlParams {\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\turl!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@Allow()\n\theaders?: Record;\n}\n\nexport class FileParams {\n\t@ApiProperty({ type: 'string', format: 'binary' })\n\t@Allow()\n\tfile!: string;\n}\n\nexport class DownloadFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileName!: string;\n}\n\nexport class ScanResultParams implements ScanResult {\n\t@ApiProperty()\n\t@Allow()\n\tvirus_detected?: boolean;\n\n\t@ApiProperty()\n\t@Allow()\n\tvirus_signature?: string;\n\n\t@ApiProperty()\n\t@Allow()\n\terror?: string;\n}\n\nexport class SingleFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n}\n\nexport class RenameFileParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n}\n\nexport class CopyFilesOfParentParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class CopyFileParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileNamePrefix!: string;\n}\n\nexport class CopyFilesOfParentPayload {\n\t@IsMongoId()\n\tuserId!: EntityId;\n\n\t@ValidateNested()\n\tsource!: FileRecordParams;\n\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class PreviewParams {\n\t@ApiPropertyOptional({ enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes' })\n\t@IsOptional()\n\t@IsEnum(PreviewOutputMimeTypes)\n\toutputFormat?: PreviewOutputMimeTypes;\n\n\t@ApiPropertyOptional({ enum: PreviewWidth, enumName: 'PreviewWidth' })\n\t@IsOptional()\n\t@IsEnum(PreviewWidth)\n\twidth?: PreviewWidth;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'If true, the preview will be generated again.',\n\t})\n\tforceUpdate?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FileRecordProperties.html":{"url":"interfaces/FileRecordProperties.html","title":"interface - FileRecordProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FileRecordProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/entity/filerecord.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n creatorId\n \n \n \n Optional\n \n deletedSince\n \n \n \n Optional\n \n isCopyFrom\n \n \n \n \n mimeType\n \n \n \n \n name\n \n \n \n \n parentId\n \n \n \n \n parentType\n \n \n \n \n schoolId\n \n \n \n \n size\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n creatorId\n \n \n \n \n \n \n \n \n creatorId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n deletedSince\n \n \n \n \n \n \n \n \n deletedSince: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n isCopyFrom\n \n \n \n \n \n \n \n \n isCopyFrom: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n mimeType\n \n \n \n \n \n \n \n \n mimeType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n \n \n parentId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n \n \n parentType: FileRecordParentType\n\n \n \n\n\n \n \n Type : FileRecordParentType\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n schoolId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n size\n \n \n \n \n \n \n \n \n size: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { PreviewInputMimeTypes } from '@infra/preview-generator';\nimport { Embeddable, Embedded, Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BadRequestException } from '@nestjs/common';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport path from 'path';\nimport { v4 as uuid } from 'uuid';\nimport { ErrorType } from '../error';\n\nexport enum ScanStatus {\n\tPENDING = 'pending',\n\tVERIFIED = 'verified',\n\tBLOCKED = 'blocked',\n\tWONT_CHECK = 'wont_check',\n\tERROR = 'error',\n}\n\nexport enum FileRecordParentType {\n\t'User' = 'users',\n\t'School' = 'schools',\n\t'Course' = 'courses',\n\t'Task' = 'tasks',\n\t'Lesson' = 'lessons',\n\t'Submission' = 'submissions',\n\t'BoardNode' = 'boardnodes',\n}\n\nexport enum PreviewStatus {\n\tPREVIEW_POSSIBLE = 'preview_possible',\n\tAWAITING_SCAN_STATUS = 'awaiting_scan_status',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_ERROR = 'preview_not_possible_scan_status_error',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_WONT_CHECK = 'preview_not_possible_scan_status_wont_check',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_BLOCKED = 'preview_not_possible_scan_status_blocked',\n\tPREVIEW_NOT_POSSIBLE_WRONG_MIME_TYPE = 'preview_not_possible_wrong_mime_type',\n}\n\nexport interface FileRecordSecurityCheckProperties {\n\tstatus?: ScanStatus;\n\treason?: string;\n\trequestToken?: string;\n}\n@Embeddable()\nexport class FileRecordSecurityCheck {\n\t@Enum()\n\tstatus: ScanStatus = ScanStatus.PENDING;\n\n\t@Property()\n\treason = 'not yet scanned';\n\n\t@Property()\n\trequestToken?: string = uuid();\n\n\t@Property()\n\tcreatedAt = new Date();\n\n\t@Property()\n\tupdatedAt = new Date();\n\n\tconstructor(props: FileRecordSecurityCheckProperties) {\n\t\tif (props.status !== undefined) {\n\t\t\tthis.status = props.status;\n\t\t}\n\t\tif (props.reason !== undefined) {\n\t\t\tthis.reason = props.reason;\n\t\t}\n\t\tif (props.requestToken !== undefined) {\n\t\t\tthis.requestToken = props.requestToken;\n\t\t}\n\t}\n}\n\nexport interface FileRecordProperties {\n\tsize: number;\n\tname: string;\n\tmimeType: string;\n\tparentType: FileRecordParentType;\n\tparentId: EntityId;\n\tcreatorId: EntityId;\n\tschoolId: EntityId;\n\tdeletedSince?: Date;\n\tisCopyFrom?: EntityId;\n}\n\ninterface ParentInfo {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\n// TODO: EntityWithSchool\n\n/**\n * Note: The file record entity will not manage any entity relations by itself.\n * That's why we do not map any relations in the entity class\n * and instead just use the plain object ids.\n */\n@Entity({ tableName: 'filerecords' })\n@Index({ properties: ['_schoolId', '_parentId'], options: { background: true } })\n// https://github.com/mikro-orm/mikro-orm/issues/1230\n@Index({ options: { 'securityCheck.requestToken': 1 } })\nexport class FileRecord extends BaseEntityWithTimestamps {\n\t@Index({ options: { expireAfterSeconds: 7 * 24 * 60 * 60 } })\n\t@Property({ nullable: true })\n\tdeletedSince?: Date;\n\n\t@Property()\n\tsize: number;\n\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tmimeType: string; // TODO mime-type enum?\n\n\t@Embedded(() => FileRecordSecurityCheck, { object: true, nullable: false })\n\tsecurityCheck: FileRecordSecurityCheck;\n\n\t@Index()\n\t@Enum()\n\tparentType: FileRecordParentType;\n\n\t@Index()\n\t@Property({ fieldName: 'parent' })\n\t_parentId: ObjectId;\n\n\tget parentId(): EntityId {\n\t\treturn this._parentId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'creator' })\n\t_creatorId: ObjectId;\n\n\tget creatorId(): EntityId {\n\t\treturn this._creatorId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'school' })\n\t_schoolId: ObjectId;\n\n\tget schoolId(): EntityId {\n\t\treturn this._schoolId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'isCopyFrom', nullable: true })\n\t_isCopyFrom?: ObjectId;\n\n\tget isCopyFrom(): EntityId | undefined {\n\t\tconst result = this._isCopyFrom?.toHexString();\n\n\t\treturn result;\n\t}\n\n\tconstructor(props: FileRecordProperties) {\n\t\tsuper();\n\t\tthis.size = props.size;\n\t\tthis.name = props.name;\n\t\tthis.mimeType = props.mimeType;\n\t\tthis.parentType = props.parentType;\n\t\tthis._parentId = new ObjectId(props.parentId);\n\t\tthis._creatorId = new ObjectId(props.creatorId);\n\t\tthis._schoolId = new ObjectId(props.schoolId);\n\t\tif (props.isCopyFrom) {\n\t\t\tthis._isCopyFrom = new ObjectId(props.isCopyFrom);\n\t\t}\n\t\tthis.securityCheck = new FileRecordSecurityCheck({});\n\t\tthis.deletedSince = props.deletedSince;\n\t}\n\n\tpublic updateSecurityCheckStatus(status: ScanStatus, reason: string): void {\n\t\tthis.securityCheck.status = status;\n\t\tthis.securityCheck.reason = reason;\n\t\tthis.securityCheck.updatedAt = new Date();\n\t\tthis.securityCheck.requestToken = undefined;\n\t}\n\n\tpublic getSecurityToken(): string | undefined {\n\t\treturn this.securityCheck.requestToken;\n\t}\n\n\tpublic copy(userId: EntityId, targetParentInfo: ParentInfo): FileRecord {\n\t\tconst { size, name, mimeType, id } = this;\n\t\tconst { parentType, parentId, schoolId } = targetParentInfo;\n\n\t\tconst fileRecordCopy = new FileRecord({\n\t\t\tsize,\n\t\t\tname,\n\t\t\tmimeType,\n\t\t\tparentType,\n\t\t\tparentId,\n\t\t\tcreatorId: userId,\n\t\t\tschoolId,\n\t\t\tisCopyFrom: id,\n\t\t});\n\n\t\tif (this.isVerified()) {\n\t\t\tfileRecordCopy.securityCheck = this.securityCheck;\n\t\t}\n\n\t\treturn fileRecordCopy;\n\t}\n\n\tpublic markForDelete(): void {\n\t\tthis.deletedSince = new Date();\n\t}\n\n\tpublic unmarkForDelete(): void {\n\t\tthis.deletedSince = undefined;\n\t}\n\n\tpublic setName(name: string): void {\n\t\tif (name.length === 0) {\n\t\t\tthrow new BadRequestException(ErrorType.FILE_NAME_EMPTY);\n\t\t}\n\n\t\tthis.name = name;\n\t}\n\n\tpublic hasName(name: string): boolean {\n\t\tconst hasName = this.name === name;\n\n\t\treturn hasName;\n\t}\n\n\tpublic getName(): string {\n\t\treturn this.name;\n\t}\n\n\tpublic isBlocked(): boolean {\n\t\tconst isBlocked = this.securityCheck.status === ScanStatus.BLOCKED;\n\n\t\treturn isBlocked;\n\t}\n\n\tpublic hasScanStatusError(): boolean {\n\t\tconst hasError = this.securityCheck.status === ScanStatus.ERROR;\n\n\t\treturn hasError;\n\t}\n\n\tpublic hasScanStatusWontCheck(): boolean {\n\t\tconst hasWontCheckStatus = this.securityCheck.status === ScanStatus.WONT_CHECK;\n\n\t\treturn hasWontCheckStatus;\n\t}\n\n\tpublic isPending(): boolean {\n\t\tconst isPending = this.securityCheck.status === ScanStatus.PENDING;\n\n\t\treturn isPending;\n\t}\n\n\tpublic isVerified(): boolean {\n\t\tconst isVerified = this.securityCheck.status === ScanStatus.VERIFIED;\n\n\t\treturn isVerified;\n\t}\n\n\tpublic isPreviewPossible(): boolean {\n\t\tconst isPreviewPossible = Object.values(PreviewInputMimeTypes).includes(this.mimeType);\n\n\t\treturn isPreviewPossible;\n\t}\n\n\tpublic getParentInfo(): ParentInfo {\n\t\tconst { parentId, parentType, schoolId } = this;\n\n\t\treturn { parentId, parentType, schoolId };\n\t}\n\n\tpublic getSchoolId(): EntityId {\n\t\treturn this.schoolId;\n\t}\n\n\tpublic getPreviewStatus(): PreviewStatus {\n\t\tif (this.isBlocked()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_BLOCKED;\n\t\t}\n\n\t\tif (!this.isPreviewPossible()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_WRONG_MIME_TYPE;\n\t\t}\n\n\t\tif (this.isVerified()) {\n\t\t\treturn PreviewStatus.PREVIEW_POSSIBLE;\n\t\t}\n\n\t\tif (this.isPending()) {\n\t\t\treturn PreviewStatus.AWAITING_SCAN_STATUS;\n\t\t}\n\n\t\tif (this.hasScanStatusWontCheck()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_WONT_CHECK;\n\t\t}\n\n\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_ERROR;\n\t}\n\n\tpublic get fileNameWithoutExtension(): string {\n\t\tconst filenameObj = path.parse(this.name);\n\n\t\treturn filenameObj.name;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FileRecordRepo.html":{"url":"injectables/FileRecordRepo.html","title":"injectable - FileRecordRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FileRecordRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/repo/filerecord.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n findAndCount\n \n \n Async\n findByParentId\n \n \n Async\n findBySchoolIdAndParentId\n \n \n Async\n findBySchoolIdAndParentIdAndMarkedForDelete\n \n \n Async\n findBySecurityCheckRequestToken\n \n \n Async\n findOneById\n \n \n Async\n findOneByIdMarkedForDelete\n \n \n Private\n Async\n findOneOrFail\n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n findAndCount\n \n \n \n \n \n \n \n findAndCount(scope: FileRecordScope, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord.repo.ts:66\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n scope\n \n FileRecordScope\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByParentId\n \n \n \n \n \n \n \n findByParentId(parentId: EntityId, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord.repo.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n parentId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findBySchoolIdAndParentId\n \n \n \n \n \n \n \n findBySchoolIdAndParentId(schoolId: EntityId, parentId: EntityId, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord.repo.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n parentId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findBySchoolIdAndParentIdAndMarkedForDelete\n \n \n \n \n \n \n \n findBySchoolIdAndParentIdAndMarkedForDelete(schoolId: EntityId, parentId: EntityId, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord.repo.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n parentId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findBySecurityCheckRequestToken\n \n \n \n \n \n \n \n findBySecurityCheckRequestToken(token: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord.repo.ts:57\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n token\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findOneById\n \n \n \n \n \n \n \n findOneById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord.repo.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findOneByIdMarkedForDelete\n \n \n \n \n \n \n \n findOneByIdMarkedForDelete(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord.repo.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findOneOrFail\n \n \n \n \n \n \n \n findOneOrFail(scope: FileRecordScope)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord.repo.ts:82\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n scope\n \n FileRecordScope\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord.repo.ts:10\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { IFindOptions, SortOrder } from '@shared/domain/interface';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '@shared/repo';\nimport { FileRecord } from '../entity';\nimport { FileRecordScope } from './filerecord-scope';\n\n@Injectable()\nexport class FileRecordRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn FileRecord;\n\t}\n\n\tasync findOneById(id: EntityId): Promise {\n\t\tconst scope = new FileRecordScope().byFileRecordId(id).byMarkedForDelete(false);\n\t\tconst fileRecord = await this.findOneOrFail(scope);\n\n\t\treturn fileRecord;\n\t}\n\n\tasync findOneByIdMarkedForDelete(id: EntityId): Promise {\n\t\tconst scope = new FileRecordScope().byFileRecordId(id).byMarkedForDelete(true);\n\t\tconst fileRecord = await this.findOneOrFail(scope);\n\n\t\treturn fileRecord;\n\t}\n\n\tasync findByParentId(parentId: EntityId, options?: IFindOptions): Promise> {\n\t\tconst scope = new FileRecordScope().byParentId(parentId).byMarkedForDelete(false);\n\t\tconst result = await this.findAndCount(scope, options);\n\n\t\treturn result;\n\t}\n\n\tasync findBySchoolIdAndParentId(\n\t\tschoolId: EntityId,\n\t\tparentId: EntityId,\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst scope = new FileRecordScope().bySchoolId(schoolId).byParentId(parentId).byMarkedForDelete(false);\n\t\tconst result = await this.findAndCount(scope, options);\n\n\t\treturn result;\n\t}\n\n\tasync findBySchoolIdAndParentIdAndMarkedForDelete(\n\t\tschoolId: EntityId,\n\t\tparentId: EntityId,\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst scope = new FileRecordScope().bySchoolId(schoolId).byParentId(parentId).byMarkedForDelete(true);\n\t\tconst result = await this.findAndCount(scope, options);\n\n\t\treturn result;\n\t}\n\n\tasync findBySecurityCheckRequestToken(token: string): Promise {\n\t\t// Must also find expires in future. Please do not add .byExpires().\n\t\tconst scope = new FileRecordScope().bySecurityCheckRequestToken(token);\n\n\t\tconst fileRecord = await this.findOneOrFail(scope);\n\n\t\treturn fileRecord;\n\t}\n\n\tprivate async findAndCount(\n\t\tscope: FileRecordScope,\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst { pagination } = options || {};\n\t\tconst order = { createdAt: SortOrder.desc, id: SortOrder.asc };\n\n\t\tconst [fileRecords, count] = await this._em.findAndCount(FileRecord, scope.query, {\n\t\t\toffset: pagination?.skip,\n\t\t\tlimit: pagination?.limit,\n\t\t\torderBy: order,\n\t\t});\n\n\t\treturn [fileRecords, count];\n\t}\n\n\tprivate async findOneOrFail(scope: FileRecordScope): Promise {\n\t\tconst fileRecord = await this._em.findOneOrFail(FileRecord, scope.query);\n\n\t\treturn fileRecord;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileRecordResponse.html":{"url":"classes/FileRecordResponse.html","title":"class - FileRecordResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileRecordResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n creatorId\n \n \n \n Optional\n deletedSince\n \n \n \n id\n \n \n \n mimeType\n \n \n \n \n name\n \n \n \n parentId\n \n \n \n parentType\n \n \n \n previewStatus\n \n \n \n securityCheckStatus\n \n \n \n size\n \n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(fileRecord: FileRecord)\n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileRecord\n \n \n FileRecord\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n creatorId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n deletedSince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:53\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n mimeType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n Type : FileRecordParentType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: FileRecordParentType, enumName: 'FileRecordParentType'})\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:47\n \n \n\n\n \n \n \n \n \n \n \n \n \n previewStatus\n \n \n \n \n \n \n Type : PreviewStatus\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: PreviewStatus, enumName: 'PreviewStatus'})\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:50\n \n \n\n\n \n \n \n \n \n \n \n \n \n securityCheckStatus\n \n \n \n \n \n \n Type : ScanStatus\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ScanStatus, enumName: 'FileRecordScanStatus'})\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n size\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:38\n \n \n\n\n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:32\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { DecodeHtmlEntities, PaginationResponse } from '@shared/controller';\nimport { FileRecord, FileRecordParentType, PreviewStatus, ScanStatus } from '../../entity';\nimport { API_VERSION_PATH } from '../../files-storage.const';\n\nexport class FileRecordResponse {\n\tconstructor(fileRecord: FileRecord) {\n\t\tthis.id = fileRecord.id;\n\t\tthis.name = fileRecord.name;\n\t\tthis.url = `${API_VERSION_PATH}/file/download/${fileRecord.id}/${encodeURIComponent(fileRecord.name)}`;\n\t\tthis.size = fileRecord.size;\n\t\tthis.securityCheckStatus = fileRecord.securityCheck.status;\n\t\tthis.parentId = fileRecord.parentId;\n\t\tthis.creatorId = fileRecord.creatorId;\n\t\tthis.mimeType = fileRecord.mimeType;\n\t\tthis.parentType = fileRecord.parentType;\n\t\tthis.deletedSince = fileRecord.deletedSince;\n\t\tthis.previewStatus = fileRecord.getPreviewStatus();\n\t}\n\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tname: string;\n\n\t@ApiProperty()\n\tparentId: string;\n\n\t@ApiProperty()\n\turl: string;\n\n\t@ApiProperty({ enum: ScanStatus, enumName: 'FileRecordScanStatus' })\n\tsecurityCheckStatus: ScanStatus;\n\n\t@ApiProperty()\n\tsize: number;\n\n\t@ApiProperty()\n\tcreatorId: string;\n\n\t@ApiProperty()\n\tmimeType: string;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\tparentType: FileRecordParentType;\n\n\t@ApiProperty({ enum: PreviewStatus, enumName: 'PreviewStatus' })\n\tpreviewStatus: PreviewStatus;\n\n\t@ApiPropertyOptional()\n\tdeletedSince?: Date;\n}\n\nexport class FileRecordListResponse extends PaginationResponse {\n\tconstructor(data: FileRecordResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [FileRecordResponse] })\n\tdata: FileRecordResponse[];\n}\n\nexport class CopyFileResponse {\n\tconstructor(data: CopyFileResponse) {\n\t\tthis.id = data.id;\n\t\tthis.sourceId = data.sourceId;\n\t\tthis.name = data.name;\n\t}\n\n\t@ApiPropertyOptional()\n\tid?: string;\n\n\t@ApiProperty()\n\tsourceId: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tname: string;\n}\n\nexport class CopyFileListResponse extends PaginationResponse {\n\tconstructor(data: CopyFileResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [CopyFileResponse] })\n\tdata: CopyFileResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileRecordScope.html":{"url":"classes/FileRecordScope.html","title":"class - FileRecordScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileRecordScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/repo/filerecord-scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n byFileRecordId\n \n \n byMarkedForDelete\n \n \n byParentId\n \n \n bySchoolId\n \n \n bySecurityCheckRequestToken\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n byFileRecordId\n \n \n \n \n \n \nbyFileRecordId(fileRecordId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord-scope.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileRecordId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileRecordScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byMarkedForDelete\n \n \n \n \n \n \nbyMarkedForDelete(isMarked)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord-scope.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n Default value\n \n \n \n \n isMarked\n\n \n No\n \n\n \n true\n \n\n \n \n \n \n \n Returns : FileRecordScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byParentId\n \n \n \n \n \n \nbyParentId(parentId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord-scope.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n parentId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileRecordScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n bySchoolId\n \n \n \n \n \n \nbySchoolId(schoolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord-scope.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileRecordScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n bySecurityCheckRequestToken\n \n \n \n \n \n \nbySecurityCheckRequestToken(token: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord-scope.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n token\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileRecordScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { EntityId } from '@shared/domain/types';\nimport { Scope } from '@shared/repo';\nimport { FileRecord } from '../entity';\n\nexport class FileRecordScope extends Scope {\n\tbyParentId(parentId: EntityId): FileRecordScope {\n\t\tthis.addQuery({ _parentId: new ObjectId(parentId) });\n\n\t\treturn this;\n\t}\n\n\tbyFileRecordId(fileRecordId: EntityId): FileRecordScope {\n\t\tthis.addQuery({ id: fileRecordId });\n\n\t\treturn this;\n\t}\n\n\tbySchoolId(schoolId: EntityId): FileRecordScope {\n\t\tthis.addQuery({ _schoolId: new ObjectId(schoolId) });\n\n\t\treturn this;\n\t}\n\n\tbySecurityCheckRequestToken(token: string): FileRecordScope {\n\t\tthis.addQuery({ securityCheck: { requestToken: token } });\n\n\t\treturn this;\n\t}\n\n\tbyMarkedForDelete(isMarked = true): FileRecordScope {\n\t\tconst query = isMarked ? { deletedSince: { $ne: null } } : { deletedSince: null };\n\t\tthis.addQuery(query);\n\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileRecordSecurityCheck.html":{"url":"classes/FileRecordSecurityCheck.html","title":"class - FileRecordSecurityCheck","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileRecordSecurityCheck\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/entity/filerecord.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n createdAt\n \n \n \n reason\n \n \n \n Optional\n requestToken\n \n \n \n status\n \n \n \n updatedAt\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: FileRecordSecurityCheckProperties)\n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:58\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n FileRecordSecurityCheckProperties\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n Default value : new Date()\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n \n reason\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'not yet scanned'\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n requestToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : uuid()\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : ScanStatus\n\n \n \n \n \n Default value : ScanStatus.PENDING\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n Default value : new Date()\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:58\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { PreviewInputMimeTypes } from '@infra/preview-generator';\nimport { Embeddable, Embedded, Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BadRequestException } from '@nestjs/common';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport path from 'path';\nimport { v4 as uuid } from 'uuid';\nimport { ErrorType } from '../error';\n\nexport enum ScanStatus {\n\tPENDING = 'pending',\n\tVERIFIED = 'verified',\n\tBLOCKED = 'blocked',\n\tWONT_CHECK = 'wont_check',\n\tERROR = 'error',\n}\n\nexport enum FileRecordParentType {\n\t'User' = 'users',\n\t'School' = 'schools',\n\t'Course' = 'courses',\n\t'Task' = 'tasks',\n\t'Lesson' = 'lessons',\n\t'Submission' = 'submissions',\n\t'BoardNode' = 'boardnodes',\n}\n\nexport enum PreviewStatus {\n\tPREVIEW_POSSIBLE = 'preview_possible',\n\tAWAITING_SCAN_STATUS = 'awaiting_scan_status',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_ERROR = 'preview_not_possible_scan_status_error',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_WONT_CHECK = 'preview_not_possible_scan_status_wont_check',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_BLOCKED = 'preview_not_possible_scan_status_blocked',\n\tPREVIEW_NOT_POSSIBLE_WRONG_MIME_TYPE = 'preview_not_possible_wrong_mime_type',\n}\n\nexport interface FileRecordSecurityCheckProperties {\n\tstatus?: ScanStatus;\n\treason?: string;\n\trequestToken?: string;\n}\n@Embeddable()\nexport class FileRecordSecurityCheck {\n\t@Enum()\n\tstatus: ScanStatus = ScanStatus.PENDING;\n\n\t@Property()\n\treason = 'not yet scanned';\n\n\t@Property()\n\trequestToken?: string = uuid();\n\n\t@Property()\n\tcreatedAt = new Date();\n\n\t@Property()\n\tupdatedAt = new Date();\n\n\tconstructor(props: FileRecordSecurityCheckProperties) {\n\t\tif (props.status !== undefined) {\n\t\t\tthis.status = props.status;\n\t\t}\n\t\tif (props.reason !== undefined) {\n\t\t\tthis.reason = props.reason;\n\t\t}\n\t\tif (props.requestToken !== undefined) {\n\t\t\tthis.requestToken = props.requestToken;\n\t\t}\n\t}\n}\n\nexport interface FileRecordProperties {\n\tsize: number;\n\tname: string;\n\tmimeType: string;\n\tparentType: FileRecordParentType;\n\tparentId: EntityId;\n\tcreatorId: EntityId;\n\tschoolId: EntityId;\n\tdeletedSince?: Date;\n\tisCopyFrom?: EntityId;\n}\n\ninterface ParentInfo {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\n// TODO: EntityWithSchool\n\n/**\n * Note: The file record entity will not manage any entity relations by itself.\n * That's why we do not map any relations in the entity class\n * and instead just use the plain object ids.\n */\n@Entity({ tableName: 'filerecords' })\n@Index({ properties: ['_schoolId', '_parentId'], options: { background: true } })\n// https://github.com/mikro-orm/mikro-orm/issues/1230\n@Index({ options: { 'securityCheck.requestToken': 1 } })\nexport class FileRecord extends BaseEntityWithTimestamps {\n\t@Index({ options: { expireAfterSeconds: 7 * 24 * 60 * 60 } })\n\t@Property({ nullable: true })\n\tdeletedSince?: Date;\n\n\t@Property()\n\tsize: number;\n\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tmimeType: string; // TODO mime-type enum?\n\n\t@Embedded(() => FileRecordSecurityCheck, { object: true, nullable: false })\n\tsecurityCheck: FileRecordSecurityCheck;\n\n\t@Index()\n\t@Enum()\n\tparentType: FileRecordParentType;\n\n\t@Index()\n\t@Property({ fieldName: 'parent' })\n\t_parentId: ObjectId;\n\n\tget parentId(): EntityId {\n\t\treturn this._parentId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'creator' })\n\t_creatorId: ObjectId;\n\n\tget creatorId(): EntityId {\n\t\treturn this._creatorId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'school' })\n\t_schoolId: ObjectId;\n\n\tget schoolId(): EntityId {\n\t\treturn this._schoolId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'isCopyFrom', nullable: true })\n\t_isCopyFrom?: ObjectId;\n\n\tget isCopyFrom(): EntityId | undefined {\n\t\tconst result = this._isCopyFrom?.toHexString();\n\n\t\treturn result;\n\t}\n\n\tconstructor(props: FileRecordProperties) {\n\t\tsuper();\n\t\tthis.size = props.size;\n\t\tthis.name = props.name;\n\t\tthis.mimeType = props.mimeType;\n\t\tthis.parentType = props.parentType;\n\t\tthis._parentId = new ObjectId(props.parentId);\n\t\tthis._creatorId = new ObjectId(props.creatorId);\n\t\tthis._schoolId = new ObjectId(props.schoolId);\n\t\tif (props.isCopyFrom) {\n\t\t\tthis._isCopyFrom = new ObjectId(props.isCopyFrom);\n\t\t}\n\t\tthis.securityCheck = new FileRecordSecurityCheck({});\n\t\tthis.deletedSince = props.deletedSince;\n\t}\n\n\tpublic updateSecurityCheckStatus(status: ScanStatus, reason: string): void {\n\t\tthis.securityCheck.status = status;\n\t\tthis.securityCheck.reason = reason;\n\t\tthis.securityCheck.updatedAt = new Date();\n\t\tthis.securityCheck.requestToken = undefined;\n\t}\n\n\tpublic getSecurityToken(): string | undefined {\n\t\treturn this.securityCheck.requestToken;\n\t}\n\n\tpublic copy(userId: EntityId, targetParentInfo: ParentInfo): FileRecord {\n\t\tconst { size, name, mimeType, id } = this;\n\t\tconst { parentType, parentId, schoolId } = targetParentInfo;\n\n\t\tconst fileRecordCopy = new FileRecord({\n\t\t\tsize,\n\t\t\tname,\n\t\t\tmimeType,\n\t\t\tparentType,\n\t\t\tparentId,\n\t\t\tcreatorId: userId,\n\t\t\tschoolId,\n\t\t\tisCopyFrom: id,\n\t\t});\n\n\t\tif (this.isVerified()) {\n\t\t\tfileRecordCopy.securityCheck = this.securityCheck;\n\t\t}\n\n\t\treturn fileRecordCopy;\n\t}\n\n\tpublic markForDelete(): void {\n\t\tthis.deletedSince = new Date();\n\t}\n\n\tpublic unmarkForDelete(): void {\n\t\tthis.deletedSince = undefined;\n\t}\n\n\tpublic setName(name: string): void {\n\t\tif (name.length === 0) {\n\t\t\tthrow new BadRequestException(ErrorType.FILE_NAME_EMPTY);\n\t\t}\n\n\t\tthis.name = name;\n\t}\n\n\tpublic hasName(name: string): boolean {\n\t\tconst hasName = this.name === name;\n\n\t\treturn hasName;\n\t}\n\n\tpublic getName(): string {\n\t\treturn this.name;\n\t}\n\n\tpublic isBlocked(): boolean {\n\t\tconst isBlocked = this.securityCheck.status === ScanStatus.BLOCKED;\n\n\t\treturn isBlocked;\n\t}\n\n\tpublic hasScanStatusError(): boolean {\n\t\tconst hasError = this.securityCheck.status === ScanStatus.ERROR;\n\n\t\treturn hasError;\n\t}\n\n\tpublic hasScanStatusWontCheck(): boolean {\n\t\tconst hasWontCheckStatus = this.securityCheck.status === ScanStatus.WONT_CHECK;\n\n\t\treturn hasWontCheckStatus;\n\t}\n\n\tpublic isPending(): boolean {\n\t\tconst isPending = this.securityCheck.status === ScanStatus.PENDING;\n\n\t\treturn isPending;\n\t}\n\n\tpublic isVerified(): boolean {\n\t\tconst isVerified = this.securityCheck.status === ScanStatus.VERIFIED;\n\n\t\treturn isVerified;\n\t}\n\n\tpublic isPreviewPossible(): boolean {\n\t\tconst isPreviewPossible = Object.values(PreviewInputMimeTypes).includes(this.mimeType);\n\n\t\treturn isPreviewPossible;\n\t}\n\n\tpublic getParentInfo(): ParentInfo {\n\t\tconst { parentId, parentType, schoolId } = this;\n\n\t\treturn { parentId, parentType, schoolId };\n\t}\n\n\tpublic getSchoolId(): EntityId {\n\t\treturn this.schoolId;\n\t}\n\n\tpublic getPreviewStatus(): PreviewStatus {\n\t\tif (this.isBlocked()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_BLOCKED;\n\t\t}\n\n\t\tif (!this.isPreviewPossible()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_WRONG_MIME_TYPE;\n\t\t}\n\n\t\tif (this.isVerified()) {\n\t\t\treturn PreviewStatus.PREVIEW_POSSIBLE;\n\t\t}\n\n\t\tif (this.isPending()) {\n\t\t\treturn PreviewStatus.AWAITING_SCAN_STATUS;\n\t\t}\n\n\t\tif (this.hasScanStatusWontCheck()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_WONT_CHECK;\n\t\t}\n\n\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_ERROR;\n\t}\n\n\tpublic get fileNameWithoutExtension(): string {\n\t\tconst filenameObj = path.parse(this.name);\n\n\t\treturn filenameObj.name;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FileRecordSecurityCheckProperties.html":{"url":"interfaces/FileRecordSecurityCheckProperties.html","title":"interface - FileRecordSecurityCheckProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FileRecordSecurityCheckProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/entity/filerecord.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n reason\n \n \n \n Optional\n \n requestToken\n \n \n \n Optional\n \n status\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n reason\n \n \n \n \n \n \n \n \n reason: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n requestToken\n \n \n \n \n \n \n \n \n requestToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n \n \n status: ScanStatus\n\n \n \n\n\n \n \n Type : ScanStatus\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { PreviewInputMimeTypes } from '@infra/preview-generator';\nimport { Embeddable, Embedded, Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BadRequestException } from '@nestjs/common';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport path from 'path';\nimport { v4 as uuid } from 'uuid';\nimport { ErrorType } from '../error';\n\nexport enum ScanStatus {\n\tPENDING = 'pending',\n\tVERIFIED = 'verified',\n\tBLOCKED = 'blocked',\n\tWONT_CHECK = 'wont_check',\n\tERROR = 'error',\n}\n\nexport enum FileRecordParentType {\n\t'User' = 'users',\n\t'School' = 'schools',\n\t'Course' = 'courses',\n\t'Task' = 'tasks',\n\t'Lesson' = 'lessons',\n\t'Submission' = 'submissions',\n\t'BoardNode' = 'boardnodes',\n}\n\nexport enum PreviewStatus {\n\tPREVIEW_POSSIBLE = 'preview_possible',\n\tAWAITING_SCAN_STATUS = 'awaiting_scan_status',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_ERROR = 'preview_not_possible_scan_status_error',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_WONT_CHECK = 'preview_not_possible_scan_status_wont_check',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_BLOCKED = 'preview_not_possible_scan_status_blocked',\n\tPREVIEW_NOT_POSSIBLE_WRONG_MIME_TYPE = 'preview_not_possible_wrong_mime_type',\n}\n\nexport interface FileRecordSecurityCheckProperties {\n\tstatus?: ScanStatus;\n\treason?: string;\n\trequestToken?: string;\n}\n@Embeddable()\nexport class FileRecordSecurityCheck {\n\t@Enum()\n\tstatus: ScanStatus = ScanStatus.PENDING;\n\n\t@Property()\n\treason = 'not yet scanned';\n\n\t@Property()\n\trequestToken?: string = uuid();\n\n\t@Property()\n\tcreatedAt = new Date();\n\n\t@Property()\n\tupdatedAt = new Date();\n\n\tconstructor(props: FileRecordSecurityCheckProperties) {\n\t\tif (props.status !== undefined) {\n\t\t\tthis.status = props.status;\n\t\t}\n\t\tif (props.reason !== undefined) {\n\t\t\tthis.reason = props.reason;\n\t\t}\n\t\tif (props.requestToken !== undefined) {\n\t\t\tthis.requestToken = props.requestToken;\n\t\t}\n\t}\n}\n\nexport interface FileRecordProperties {\n\tsize: number;\n\tname: string;\n\tmimeType: string;\n\tparentType: FileRecordParentType;\n\tparentId: EntityId;\n\tcreatorId: EntityId;\n\tschoolId: EntityId;\n\tdeletedSince?: Date;\n\tisCopyFrom?: EntityId;\n}\n\ninterface ParentInfo {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\n// TODO: EntityWithSchool\n\n/**\n * Note: The file record entity will not manage any entity relations by itself.\n * That's why we do not map any relations in the entity class\n * and instead just use the plain object ids.\n */\n@Entity({ tableName: 'filerecords' })\n@Index({ properties: ['_schoolId', '_parentId'], options: { background: true } })\n// https://github.com/mikro-orm/mikro-orm/issues/1230\n@Index({ options: { 'securityCheck.requestToken': 1 } })\nexport class FileRecord extends BaseEntityWithTimestamps {\n\t@Index({ options: { expireAfterSeconds: 7 * 24 * 60 * 60 } })\n\t@Property({ nullable: true })\n\tdeletedSince?: Date;\n\n\t@Property()\n\tsize: number;\n\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tmimeType: string; // TODO mime-type enum?\n\n\t@Embedded(() => FileRecordSecurityCheck, { object: true, nullable: false })\n\tsecurityCheck: FileRecordSecurityCheck;\n\n\t@Index()\n\t@Enum()\n\tparentType: FileRecordParentType;\n\n\t@Index()\n\t@Property({ fieldName: 'parent' })\n\t_parentId: ObjectId;\n\n\tget parentId(): EntityId {\n\t\treturn this._parentId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'creator' })\n\t_creatorId: ObjectId;\n\n\tget creatorId(): EntityId {\n\t\treturn this._creatorId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'school' })\n\t_schoolId: ObjectId;\n\n\tget schoolId(): EntityId {\n\t\treturn this._schoolId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'isCopyFrom', nullable: true })\n\t_isCopyFrom?: ObjectId;\n\n\tget isCopyFrom(): EntityId | undefined {\n\t\tconst result = this._isCopyFrom?.toHexString();\n\n\t\treturn result;\n\t}\n\n\tconstructor(props: FileRecordProperties) {\n\t\tsuper();\n\t\tthis.size = props.size;\n\t\tthis.name = props.name;\n\t\tthis.mimeType = props.mimeType;\n\t\tthis.parentType = props.parentType;\n\t\tthis._parentId = new ObjectId(props.parentId);\n\t\tthis._creatorId = new ObjectId(props.creatorId);\n\t\tthis._schoolId = new ObjectId(props.schoolId);\n\t\tif (props.isCopyFrom) {\n\t\t\tthis._isCopyFrom = new ObjectId(props.isCopyFrom);\n\t\t}\n\t\tthis.securityCheck = new FileRecordSecurityCheck({});\n\t\tthis.deletedSince = props.deletedSince;\n\t}\n\n\tpublic updateSecurityCheckStatus(status: ScanStatus, reason: string): void {\n\t\tthis.securityCheck.status = status;\n\t\tthis.securityCheck.reason = reason;\n\t\tthis.securityCheck.updatedAt = new Date();\n\t\tthis.securityCheck.requestToken = undefined;\n\t}\n\n\tpublic getSecurityToken(): string | undefined {\n\t\treturn this.securityCheck.requestToken;\n\t}\n\n\tpublic copy(userId: EntityId, targetParentInfo: ParentInfo): FileRecord {\n\t\tconst { size, name, mimeType, id } = this;\n\t\tconst { parentType, parentId, schoolId } = targetParentInfo;\n\n\t\tconst fileRecordCopy = new FileRecord({\n\t\t\tsize,\n\t\t\tname,\n\t\t\tmimeType,\n\t\t\tparentType,\n\t\t\tparentId,\n\t\t\tcreatorId: userId,\n\t\t\tschoolId,\n\t\t\tisCopyFrom: id,\n\t\t});\n\n\t\tif (this.isVerified()) {\n\t\t\tfileRecordCopy.securityCheck = this.securityCheck;\n\t\t}\n\n\t\treturn fileRecordCopy;\n\t}\n\n\tpublic markForDelete(): void {\n\t\tthis.deletedSince = new Date();\n\t}\n\n\tpublic unmarkForDelete(): void {\n\t\tthis.deletedSince = undefined;\n\t}\n\n\tpublic setName(name: string): void {\n\t\tif (name.length === 0) {\n\t\t\tthrow new BadRequestException(ErrorType.FILE_NAME_EMPTY);\n\t\t}\n\n\t\tthis.name = name;\n\t}\n\n\tpublic hasName(name: string): boolean {\n\t\tconst hasName = this.name === name;\n\n\t\treturn hasName;\n\t}\n\n\tpublic getName(): string {\n\t\treturn this.name;\n\t}\n\n\tpublic isBlocked(): boolean {\n\t\tconst isBlocked = this.securityCheck.status === ScanStatus.BLOCKED;\n\n\t\treturn isBlocked;\n\t}\n\n\tpublic hasScanStatusError(): boolean {\n\t\tconst hasError = this.securityCheck.status === ScanStatus.ERROR;\n\n\t\treturn hasError;\n\t}\n\n\tpublic hasScanStatusWontCheck(): boolean {\n\t\tconst hasWontCheckStatus = this.securityCheck.status === ScanStatus.WONT_CHECK;\n\n\t\treturn hasWontCheckStatus;\n\t}\n\n\tpublic isPending(): boolean {\n\t\tconst isPending = this.securityCheck.status === ScanStatus.PENDING;\n\n\t\treturn isPending;\n\t}\n\n\tpublic isVerified(): boolean {\n\t\tconst isVerified = this.securityCheck.status === ScanStatus.VERIFIED;\n\n\t\treturn isVerified;\n\t}\n\n\tpublic isPreviewPossible(): boolean {\n\t\tconst isPreviewPossible = Object.values(PreviewInputMimeTypes).includes(this.mimeType);\n\n\t\treturn isPreviewPossible;\n\t}\n\n\tpublic getParentInfo(): ParentInfo {\n\t\tconst { parentId, parentType, schoolId } = this;\n\n\t\treturn { parentId, parentType, schoolId };\n\t}\n\n\tpublic getSchoolId(): EntityId {\n\t\treturn this.schoolId;\n\t}\n\n\tpublic getPreviewStatus(): PreviewStatus {\n\t\tif (this.isBlocked()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_BLOCKED;\n\t\t}\n\n\t\tif (!this.isPreviewPossible()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_WRONG_MIME_TYPE;\n\t\t}\n\n\t\tif (this.isVerified()) {\n\t\t\treturn PreviewStatus.PREVIEW_POSSIBLE;\n\t\t}\n\n\t\tif (this.isPending()) {\n\t\t\treturn PreviewStatus.AWAITING_SCAN_STATUS;\n\t\t}\n\n\t\tif (this.hasScanStatusWontCheck()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_WONT_CHECK;\n\t\t}\n\n\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_ERROR;\n\t}\n\n\tpublic get fileNameWithoutExtension(): string {\n\t\tconst filenameObj = path.parse(this.name);\n\n\t\treturn filenameObj.name;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FileRequestInfo.html":{"url":"interfaces/FileRequestInfo.html","title":"interface - FileRequestInfo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FileRequestInfo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/interfaces/file-request-info.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n parentId\n \n \n \n \n parentType\n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n parentId\n \n \n \n \n \n \n \n \n parentId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n \n \n parentType: FileRecordParentType\n\n \n \n\n\n \n \n Type : FileRecordParentType\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n schoolId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { FileRecordParentType } from '@infra/rabbitmq';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface FileRequestInfo {\n\tschoolId: EntityId;\n\tparentType: FileRecordParentType;\n\tparentId: EntityId;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileResponseBuilder.html":{"url":"classes/FileResponseBuilder.html","title":"class - FileResponseBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileResponseBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/mapper/file-response.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(file: GetFile, name: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/file-response.builder.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n file\n \n GetFile\n \n\n \n No\n \n\n\n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GetFileResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { GetFile } from '@infra/s3-client';\nimport { GetFileResponse } from '../interface';\n\nexport class FileResponseBuilder {\n\tpublic static build(file: GetFile, name: string): GetFileResponse {\n\t\tconst fileResponse = { ...file, data: file.data, name };\n\n\t\treturn fileResponse;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileSecurityCheckEntity.html":{"url":"classes/FileSecurityCheckEntity.html","title":"class - FileSecurityCheckEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileSecurityCheckEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files/entity/file-security-check.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n createdAt\n \n \n \n reason\n \n \n \n Optional\n requestToken\n \n \n \n status\n \n \n \n updatedAt\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: FileSecurityCheckEntityProps)\n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-security-check.entity.ts:26\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n FileSecurityCheckEntityProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n Default value : new Date()\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-security-check.entity.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n reason\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'not yet scanned'\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-security-check.entity.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n requestToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : uuid()\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-security-check.entity.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : FileSecurityCheckStatus\n\n \n \n \n \n Default value : FileSecurityCheckStatus.PENDING\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-security-check.entity.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n Default value : new Date()\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-security-check.entity.ts:26\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Enum, Property } from '@mikro-orm/core';\nimport { v4 as uuid } from 'uuid';\nimport { FileSecurityCheckStatus } from '../domain';\n\nexport interface FileSecurityCheckEntityProps {\n\tstatus?: FileSecurityCheckStatus;\n\treason?: string;\n\trequestToken?: string;\n}\n\n@Embeddable()\nexport class FileSecurityCheckEntity {\n\t@Enum()\n\tstatus: FileSecurityCheckStatus = FileSecurityCheckStatus.PENDING;\n\n\t@Property()\n\treason = 'not yet scanned';\n\n\t@Property()\n\trequestToken?: string = uuid();\n\n\t@Property()\n\tcreatedAt = new Date();\n\n\t@Property()\n\tupdatedAt = new Date();\n\n\tconstructor(props: FileSecurityCheckEntityProps) {\n\t\tif (props.status !== undefined) {\n\t\t\tthis.status = props.status;\n\t\t}\n\n\t\tif (props.reason !== undefined) {\n\t\t\tthis.reason = props.reason;\n\t\t}\n\n\t\tif (props.requestToken !== undefined) {\n\t\t\tthis.requestToken = props.requestToken;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FileSecurityCheckEntityProps.html":{"url":"interfaces/FileSecurityCheckEntityProps.html","title":"interface - FileSecurityCheckEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FileSecurityCheckEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files/entity/file-security-check.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n reason\n \n \n \n Optional\n \n requestToken\n \n \n \n Optional\n \n status\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n reason\n \n \n \n \n \n \n \n \n reason: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n requestToken\n \n \n \n \n \n \n \n \n requestToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n \n \n status: FileSecurityCheckStatus\n\n \n \n\n\n \n \n Type : FileSecurityCheckStatus\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Embeddable, Enum, Property } from '@mikro-orm/core';\nimport { v4 as uuid } from 'uuid';\nimport { FileSecurityCheckStatus } from '../domain';\n\nexport interface FileSecurityCheckEntityProps {\n\tstatus?: FileSecurityCheckStatus;\n\treason?: string;\n\trequestToken?: string;\n}\n\n@Embeddable()\nexport class FileSecurityCheckEntity {\n\t@Enum()\n\tstatus: FileSecurityCheckStatus = FileSecurityCheckStatus.PENDING;\n\n\t@Property()\n\treason = 'not yet scanned';\n\n\t@Property()\n\trequestToken?: string = uuid();\n\n\t@Property()\n\tcreatedAt = new Date();\n\n\t@Property()\n\tupdatedAt = new Date();\n\n\tconstructor(props: FileSecurityCheckEntityProps) {\n\t\tif (props.status !== undefined) {\n\t\t\tthis.status = props.status;\n\t\t}\n\n\t\tif (props.reason !== undefined) {\n\t\t\tthis.reason = props.reason;\n\t\t}\n\n\t\tif (props.requestToken !== undefined) {\n\t\t\tthis.requestToken = props.requestToken;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/FileSecurityController.html":{"url":"controllers/FileSecurityController.html","title":"controller - FileSecurityController","body":"\n \n\n\n\n\n\n\n Controllers\n FileSecurityController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/file-security.controller.ts\n \n\n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n downloadBySecurityToken\n \n \n \n \n Async\n updateSecurityStatus\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n Async\n downloadBySecurityToken\n \n \n \n \n \n \n \n downloadBySecurityToken(token: string, req: Request)\n \n \n\n \n \n Decorators : \n \n @ApiExcludeEndpoint()@Get(FilesStorageInternalActions.downloadBySecurityToken)\n \n \n\n \n \n Defined in apps/server/src/modules/files-storage/controller/file-security.controller.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n token\n \n string\n \n\n \n No\n \n\n\n \n \n req\n \n Request\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateSecurityStatus\n \n \n \n \n \n \n \n updateSecurityStatus(scanResultDto: ScanResultParams, token: string)\n \n \n\n \n \n Decorators : \n \n @ApiExcludeEndpoint()@Put(FilesStorageInternalActions.updateSecurityStatus)\n \n \n\n \n \n Defined in apps/server/src/modules/files-storage/controller/file-security.controller.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n scanResultDto\n \n ScanResultParams\n \n\n \n No\n \n\n\n \n \n token\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Body, Controller, Get, Param, Put, Req, StreamableFile } from '@nestjs/common';\nimport { ApiExcludeEndpoint, ApiTags } from '@nestjs/swagger';\nimport { Request } from 'express';\nimport { FilesStorageInternalActions } from '../files-storage.const';\nimport { FilesStorageUC } from '../uc';\nimport { ScanResultParams } from './dto';\n\n@ApiTags('file-security')\n@Controller()\nexport class FileSecurityController {\n\tconstructor(private readonly filesStorageUC: FilesStorageUC) {}\n\n\t@ApiExcludeEndpoint()\n\t@Get(FilesStorageInternalActions.downloadBySecurityToken)\n\tasync downloadBySecurityToken(@Param('token') token: string, @Req() req: Request) {\n\t\tconst res = await this.filesStorageUC.downloadBySecurityToken(token);\n\t\treq.on('close', () => {\n\t\t\tres.data.destroy();\n\t\t});\n\n\t\treturn new StreamableFile(res.data, {\n\t\t\ttype: res.contentType,\n\t\t\tdisposition: `attachment;`,\n\t\t});\n\t}\n\n\t@ApiExcludeEndpoint()\n\t@Put(FilesStorageInternalActions.updateSecurityStatus)\n\tasync updateSecurityStatus(@Body() scanResultDto: ScanResultParams, @Param('token') token: string) {\n\t\tawait this.filesStorageUC.updateSecurityStatus(token, scanResultDto);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FileStorageConfig.html":{"url":"interfaces/FileStorageConfig.html","title":"interface - FileStorageConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FileStorageConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/files-storage.config.ts\n \n\n\n\n \n Extends\n \n \n CoreModuleConfig\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n MAX_FILE_SIZE\n \n \n \n \n MAX_SECURITY_CHECK_FILE_SIZE\n \n \n \n \n USE_STREAM_TO_ANTIVIRUS\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n MAX_FILE_SIZE\n \n \n \n \n \n \n \n \n MAX_FILE_SIZE: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n MAX_SECURITY_CHECK_FILE_SIZE\n \n \n \n \n \n \n \n \n MAX_SECURITY_CHECK_FILE_SIZE: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n USE_STREAM_TO_ANTIVIRUS\n \n \n \n \n \n \n \n \n USE_STREAM_TO_ANTIVIRUS: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\nimport { S3Config } from '@infra/s3-client';\nimport { CoreModuleConfig } from '@src/core';\n\nexport const FILES_STORAGE_S3_CONNECTION = 'FILES_STORAGE_S3_CONNECTION';\nexport interface FileStorageConfig extends CoreModuleConfig {\n\tMAX_FILE_SIZE: number;\n\tMAX_SECURITY_CHECK_FILE_SIZE: number;\n\tUSE_STREAM_TO_ANTIVIRUS: boolean;\n}\n\nexport const defaultConfig = {\n\tNEST_LOG_LEVEL: Configuration.get('NEST_LOG_LEVEL') as string,\n\tINCOMING_REQUEST_TIMEOUT: Configuration.get('FILES_STORAGE__INCOMING_REQUEST_TIMEOUT') as number,\n};\n\nconst fileStorageConfig: FileStorageConfig = {\n\tINCOMING_REQUEST_TIMEOUT_COPY_API: Configuration.get('INCOMING_REQUEST_TIMEOUT_COPY_API') as number,\n\tMAX_FILE_SIZE: Configuration.get('FILES_STORAGE__MAX_FILE_SIZE') as number,\n\tMAX_SECURITY_CHECK_FILE_SIZE: Configuration.get('FILES_STORAGE__MAX_FILE_SIZE') as number,\n\tUSE_STREAM_TO_ANTIVIRUS: Configuration.get('FILES_STORAGE__USE_STREAM_TO_ANTIVIRUS') as boolean,\n\t...defaultConfig,\n};\n\n// The configurations lookup\n// config/development.json for development\n// config/test.json for tests\nexport const s3Config: S3Config = {\n\tconnectionName: FILES_STORAGE_S3_CONNECTION,\n\tendpoint: Configuration.get('FILES_STORAGE__S3_ENDPOINT') as string,\n\tregion: Configuration.get('FILES_STORAGE__S3_REGION') as string,\n\tbucket: Configuration.get('FILES_STORAGE__S3_BUCKET') as string,\n\taccessKeyId: Configuration.get('FILES_STORAGE__S3_ACCESS_KEY_ID') as string,\n\tsecretAccessKey: Configuration.get('FILES_STORAGE__S3_SECRET_ACCESS_KEY') as string,\n};\n\nexport const config = () => fileStorageConfig;\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FileSystemAdapter.html":{"url":"injectables/FileSystemAdapter.html","title":"injectable - FileSystemAdapter","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FileSystemAdapter\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/file-system/file-system.adapter.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n encoding\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createDir\n \n \n Async\n createTmpDir\n \n \n joinPath\n \n \n Async\n readDir\n \n \n Async\n readFile\n \n \n Async\n removeDirRecursive\n \n \n Async\n writeFile\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n EOL\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor()\n \n \n \n \n Defined in apps/server/src/infra/file-system/file-system.adapter.ts:12\n \n \n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createDir\n \n \n \n \n \n \n \n createDir(folderPath: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/file-system/file-system.adapter.ts:26\n \n \n\n\n \n \n creates a directory if not already exists\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n folderPath\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createTmpDir\n \n \n \n \n \n \n \n createTmpDir(dirNamePrefix: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/file-system/file-system.adapter.ts:68\n \n \n\n\n \n \n Creates a folder in systems temp path.\nThe dirNamePrefix given will be extended by six random characters.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n dirNamePrefix\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n full path string to temp folder, format depends on os\n\n \n \n \n \n \n \n \n \n \n \n \n joinPath\n \n \n \n \n \n \njoinPath(...paths: string[])\n \n \n\n\n \n \n Defined in apps/server/src/infra/file-system/file-system.adapter.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n paths\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n readDir\n \n \n \n \n \n \n \n readDir(folderPath: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/file-system/file-system.adapter.ts:36\n \n \n\n\n \n \n Lists filenames of given folderPath\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n folderPath\n \n string\n \n\n \n No\n \n\n\n \n path to an existing folder\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n string array of filenames\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n readFile\n \n \n \n \n \n \n \n readFile(filePath: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/file-system/file-system.adapter.ts:57\n \n \n\n\n \n \n Read file from filesystem with given encoding, defaults to utf-8\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n filePath\n \n string\n \n\n \n No\n \n\n\n \n path to existing file, format depending on os\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n file content as encoded text\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n removeDirRecursive\n \n \n \n \n \n \n \n removeDirRecursive(folderPath: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/file-system/file-system.adapter.ts:78\n \n \n\n\n \n \n Removes the given folder recursively including content when not empty.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n folderPath\n \n string\n \n\n \n No\n \n\n\n \n path to an existing folder, format depending on\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n writeFile\n \n \n \n \n \n \n \n writeFile(filePath: string, text: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/file-system/file-system.adapter.ts:48\n \n \n\n\n \n \n Write text to file, will override existing files.\nThe folder in which the file will be created must exist.\nThe path format depends on os\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n filePath\n \n string\n \n\n \n No\n \n\n\n \n path to a file\n\n \n \n \n text\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n encoding\n \n \n \n \n \n \n Type : BufferEncoding\n\n \n \n \n \n Defined in apps/server/src/infra/file-system/file-system.adapter.ts:12\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n EOL\n \n \n\n \n \n getEOL()\n \n \n \n \n Defined in apps/server/src/infra/file-system/file-system.adapter.ts:18\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { promises as fsp, existsSync } from 'fs';\nimport os from 'os';\nimport path from 'path';\n\nimport rimraf = require('rimraf');\n\nconst { mkdir, readdir, writeFile, readFile, mkdtemp } = fsp;\n\n@Injectable()\nexport class FileSystemAdapter {\n\tprivate encoding: BufferEncoding;\n\n\tconstructor() {\n\t\tthis.encoding = 'utf-8';\n\t}\n\n\tget EOL(): string {\n\t\treturn os.EOL;\n\t}\n\n\t/**\n\t * creates a directory if not already exists\n\t * @param folderPath\n\t */\n\tasync createDir(folderPath: string): Promise {\n\t\tconst exists = existsSync(folderPath);\n\t\tif (!exists) await mkdir(folderPath);\n\t}\n\n\t/**\n\t * Lists filenames of given folderPath\n\t * @param folderPath path to an existing folder\n\t * @returns string array of filenames\n\t */\n\tasync readDir(folderPath: string): Promise {\n\t\tconst filenames = await readdir(folderPath, { encoding: this.encoding });\n\t\treturn filenames;\n\t}\n\n\t/**\n\t * Write text to file, will override existing files.\n\t * The folder in which the file will be created must exist.\n\t * The path format depends on os\n\t * @param filePath path to a file\n\t * @param text\n\t */\n\tasync writeFile(filePath: string, text: string): Promise {\n\t\tawait writeFile(filePath, text);\n\t}\n\n\t/**\n\t * Read file from filesystem with given encoding, defaults to utf-8\n\t * @param filePath path to existing file, format depending on os\n\t * @returns file content as encoded text\n\t */\n\tasync readFile(filePath: string): Promise {\n\t\tconst text = await readFile(filePath, this.encoding);\n\t\treturn text;\n\t}\n\n\t/**\n\t * Creates a folder in systems temp path.\n\t * The dirNamePrefix given will be extended by six random characters.\n\t * @param dirNamePrefix\n\t * @returns full path string to temp folder, format depends on os\n\t */\n\tasync createTmpDir(dirNamePrefix: string): Promise {\n\t\tconst dirPath = this.joinPath(os.tmpdir(), dirNamePrefix);\n\t\tconst tmpDirPath = await mkdtemp(dirPath);\n\t\treturn tmpDirPath;\n\t}\n\n\t/**\n\t * Removes the given folder recursively including content when not empty.\n\t * @param folderPath path to an existing folder, format depending on\n\t */\n\tasync removeDirRecursive(folderPath: string): Promise {\n\t\t// fs.rm changed in node 14.14, use rimraf instead\n\t\trimraf.sync(folderPath);\n\t\treturn Promise.resolve();\n\t}\n\n\tjoinPath(...paths: string[]): string {\n\t\treturn path.join(...paths);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/FileSystemModule.html":{"url":"modules/FileSystemModule.html","title":"module - FileSystemModule","body":"\n \n\n\n\n\n Modules\n FileSystemModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_FileSystemModule\n\n\n\ncluster_FileSystemModule_providers\n\n\n\ncluster_FileSystemModule_exports\n\n\n\n\nFileSystemAdapter \n\nFileSystemAdapter \n\n\n\nFileSystemModule\n\nFileSystemModule\n\nFileSystemAdapter -->\n\nFileSystemModule->FileSystemAdapter \n\n\n\n\n\nFileSystemAdapter\n\nFileSystemAdapter\n\nFileSystemModule -->\n\nFileSystemAdapter->FileSystemModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/file-system/file-system.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n FileSystemAdapter\n \n \n \n \n Exports\n \n \n FileSystemAdapter\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { FileSystemAdapter } from './file-system.adapter';\n\n@Module({\n\tproviders: [FileSystemAdapter],\n\texports: [FileSystemAdapter],\n})\nexport class FileSystemModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileUrlParams.html":{"url":"classes/FileUrlParams.html","title":"class - FileUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n fileName\n \n \n \n \n Optional\n headers\n \n \n \n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n fileName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: 'string'})@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n headers\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: 'string'})@Allow()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: 'string'})@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:27\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanResult } from '@infra/antivirus';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { Allow, IsBoolean, IsEnum, IsMongoId, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { FileRecordParentType } from '../../entity';\nimport { PreviewOutputMimeTypes, PreviewWidth } from '../../interface';\n\nexport class FileRecordParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\t@IsEnum(FileRecordParentType)\n\tparentType!: FileRecordParentType;\n}\n\nexport class FileUrlParams {\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\turl!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@Allow()\n\theaders?: Record;\n}\n\nexport class FileParams {\n\t@ApiProperty({ type: 'string', format: 'binary' })\n\t@Allow()\n\tfile!: string;\n}\n\nexport class DownloadFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileName!: string;\n}\n\nexport class ScanResultParams implements ScanResult {\n\t@ApiProperty()\n\t@Allow()\n\tvirus_detected?: boolean;\n\n\t@ApiProperty()\n\t@Allow()\n\tvirus_signature?: string;\n\n\t@ApiProperty()\n\t@Allow()\n\terror?: string;\n}\n\nexport class SingleFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n}\n\nexport class RenameFileParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n}\n\nexport class CopyFilesOfParentParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class CopyFileParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileNamePrefix!: string;\n}\n\nexport class CopyFilesOfParentPayload {\n\t@IsMongoId()\n\tuserId!: EntityId;\n\n\t@ValidateNested()\n\tsource!: FileRecordParams;\n\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class PreviewParams {\n\t@ApiPropertyOptional({ enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes' })\n\t@IsOptional()\n\t@IsEnum(PreviewOutputMimeTypes)\n\toutputFormat?: PreviewOutputMimeTypes;\n\n\t@ApiPropertyOptional({ enum: PreviewWidth, enumName: 'PreviewWidth' })\n\t@IsOptional()\n\t@IsEnum(PreviewWidth)\n\twidth?: PreviewWidth;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'If true, the preview will be generated again.',\n\t})\n\tforceUpdate?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/FilesModule.html":{"url":"modules/FilesModule.html","title":"module - FilesModule","body":"\n \n\n\n\n\n Modules\n FilesModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_FilesModule\n\n\n\ncluster_FilesModule_imports\n\n\n\ncluster_FilesModule_exports\n\n\n\ncluster_FilesModule_providers\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nFilesModule\n\nFilesModule\n\nFilesModule -->\n\nLoggerModule->FilesModule\n\n\n\n\n\nFilesService \n\nFilesService \n\nFilesService -->\n\nFilesModule->FilesService \n\n\n\n\n\nDeleteFilesUc\n\nDeleteFilesUc\n\nFilesModule -->\n\nDeleteFilesUc->FilesModule\n\n\n\n\n\nFilesRepo\n\nFilesRepo\n\nFilesModule -->\n\nFilesRepo->FilesModule\n\n\n\n\n\nFilesService\n\nFilesService\n\nFilesModule -->\n\nFilesService->FilesModule\n\n\n\n\n\nStorageProviderRepo\n\nStorageProviderRepo\n\nFilesModule -->\n\nStorageProviderRepo->FilesModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/files/files.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n DeleteFilesUc\n \n \n FilesRepo\n \n \n FilesService\n \n \n StorageProviderRepo\n \n \n \n \n Imports\n \n \n LoggerModule\n \n \n \n \n Exports\n \n \n FilesService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { StorageProviderRepo } from '@shared/repo/storageprovider';\nimport { LoggerModule } from '@src/core/logger';\nimport { DeleteFilesConsole } from './job';\nimport { DeleteFilesUc } from './uc';\nimport { FilesRepo } from './repo';\nimport { FilesService } from './service';\n\n@Module({\n\timports: [LoggerModule],\n\tproviders: [DeleteFilesConsole, DeleteFilesUc, FilesRepo, StorageProviderRepo, FilesService],\n\texports: [FilesService],\n})\nexport class FilesModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FilesRepo.html":{"url":"injectables/FilesRepo.html","title":"injectable - FilesRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FilesRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files/repo/files.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n findByOwnerUserId\n \n \n Public\n Async\n findByPermissionRefId\n \n \n Public\n Async\n findForCleanup\n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(_em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/files/repo/files.repo.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n _em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n findByOwnerUserId\n \n \n \n \n \n \n \n findByOwnerUserId(ownerUserId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/repo/files.repo.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n ownerUserId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findByPermissionRefId\n \n \n \n \n \n \n \n findByPermissionRefId(permissionRefId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/repo/files.repo.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n permissionRefId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findForCleanup\n \n \n \n \n \n \n \n findForCleanup(thresholdDate: Date, batchSize: number, offset: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/repo/files.repo.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n thresholdDate\n \n Date\n \n\n \n No\n \n\n\n \n \n batchSize\n \n number\n \n\n \n No\n \n\n\n \n \n offset\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/files/repo/files.repo.ts:15\n \n \n\n \n \n\n \n\n\n \n import { EntityDictionary } from '@mikro-orm/core';\nimport { EntityManager, ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '@shared/repo/base.repo';\nimport { FileOwnerModel } from '../domain';\nimport { FileEntity } from '../entity';\n\n@Injectable()\nexport class FilesRepo extends BaseRepo {\n\tconstructor(protected readonly _em: EntityManager) {\n\t\tsuper(_em);\n\t}\n\n\tget entityName() {\n\t\treturn FileEntity;\n\t}\n\n\tpublic async findForCleanup(thresholdDate: Date, batchSize: number, offset: number): Promise {\n\t\tconst filter = { deletedAt: { $lte: thresholdDate } };\n\t\tconst options = {\n\t\t\torderBy: { id: 'asc' },\n\t\t\tlimit: batchSize,\n\t\t\toffset,\n\t\t\tpopulate: ['storageProvider'] as never[],\n\t\t};\n\n\t\tconst files = await this._em.find(FileEntity, filter, options);\n\n\t\treturn files as FileEntity[];\n\t}\n\n\tpublic async findByOwnerUserId(ownerUserId: EntityId): Promise {\n\t\tconst filter = {\n\t\t\towner: new ObjectId(ownerUserId),\n\t\t\trefOwnerModel: FileOwnerModel.USER,\n\t\t};\n\n\t\tconst files = await this._em.find(FileEntity, filter);\n\n\t\treturn files as FileEntity[];\n\t}\n\n\tpublic async findByPermissionRefId(permissionRefId: EntityId): Promise {\n\t\tconst pipeline = [\n\t\t\t{\n\t\t\t\t$match: {\n\t\t\t\t\tpermissions: {\n\t\t\t\t\t\t$elemMatch: {\n\t\t\t\t\t\t\trefId: new ObjectId(permissionRefId),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t];\n\n\t\tconst rawFilesDocuments = await this._em.aggregate(FileEntity, pipeline);\n\n\t\tconst files = rawFilesDocuments.map((rawFileDocument) =>\n\t\t\tthis._em.map(FileEntity, rawFileDocument as EntityDictionary)\n\t\t);\n\n\t\treturn files;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FilesService.html":{"url":"injectables/FilesService.html","title":"injectable - FilesService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FilesService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files/service/files.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findFilesAccessibleByUser\n \n \n Async\n findFilesOwnedByUser\n \n \n Async\n markFilesOwnedByUserForDeletion\n \n \n Async\n removeUserPermissionsToAnyFiles\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(repo: FilesRepo)\n \n \n \n \n Defined in apps/server/src/modules/files/service/files.service.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n repo\n \n \n FilesRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findFilesAccessibleByUser\n \n \n \n \n \n \n \n findFilesAccessibleByUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/service/files.service.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findFilesOwnedByUser\n \n \n \n \n \n \n \n findFilesOwnedByUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/service/files.service.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n markFilesOwnedByUserForDeletion\n \n \n \n \n \n \n \n markFilesOwnedByUserForDeletion(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/service/files.service.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n removeUserPermissionsToAnyFiles\n \n \n \n \n \n \n \n removeUserPermissionsToAnyFiles(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/service/files.service.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { FileEntity } from '../entity';\nimport { FilesRepo } from '../repo';\n\n@Injectable()\nexport class FilesService {\n\tconstructor(private readonly repo: FilesRepo) {}\n\n\tasync findFilesAccessibleByUser(userId: EntityId): Promise {\n\t\treturn this.repo.findByPermissionRefId(userId);\n\t}\n\n\tasync removeUserPermissionsToAnyFiles(userId: EntityId): Promise {\n\t\tconst entities = await this.repo.findByPermissionRefId(userId);\n\n\t\tif (entities.length === 0) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tentities.forEach((entity) => entity.removePermissionsByRefId(userId));\n\n\t\tawait this.repo.save(entities);\n\n\t\treturn entities.length;\n\t}\n\n\tasync findFilesOwnedByUser(userId: EntityId): Promise {\n\t\treturn this.repo.findByOwnerUserId(userId);\n\t}\n\n\tasync markFilesOwnedByUserForDeletion(userId: EntityId): Promise {\n\t\tconst entities = await this.repo.findByOwnerUserId(userId);\n\n\t\tif (entities.length === 0) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tentities.forEach((entity) => entity.markForDeletion());\n\n\t\tawait this.repo.save(entities);\n\n\t\treturn entities.length;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/FilesStorageAMQPModule.html":{"url":"modules/FilesStorageAMQPModule.html","title":"module - FilesStorageAMQPModule","body":"\n \n\n\n\n\n Modules\n FilesStorageAMQPModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_FilesStorageAMQPModule\n\n\n\ncluster_FilesStorageAMQPModule_imports\n\n\n\ncluster_FilesStorageAMQPModule_providers\n\n\n\n\nCoreModule\n\nCoreModule\n\n\n\nFilesStorageAMQPModule\n\nFilesStorageAMQPModule\n\nFilesStorageAMQPModule -->\n\nCoreModule->FilesStorageAMQPModule\n\n\n\n\n\nFilesStorageModule\n\nFilesStorageModule\n\nFilesStorageAMQPModule -->\n\nFilesStorageModule->FilesStorageAMQPModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nFilesStorageAMQPModule -->\n\nLoggerModule->FilesStorageAMQPModule\n\n\n\n\n\nFilesStorageConsumer\n\nFilesStorageConsumer\n\nFilesStorageAMQPModule -->\n\nFilesStorageConsumer->FilesStorageAMQPModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/files-storage/files-storage-amqp.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n FilesStorageConsumer\n \n \n \n \n Imports\n \n \n CoreModule\n \n \n FilesStorageModule\n \n \n LoggerModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { CoreModule } from '@src/core';\nimport { LoggerModule } from '@src/core/logger';\nimport { FilesStorageConsumer } from './controller';\nimport { FilesStorageModule } from './files-storage.module';\n\n@Module({\n\timports: [FilesStorageModule, CoreModule, LoggerModule],\n\tproviders: [FilesStorageConsumer],\n})\nexport class FilesStorageAMQPModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/FilesStorageApiModule.html":{"url":"modules/FilesStorageApiModule.html","title":"module - FilesStorageApiModule","body":"\n \n\n\n\n\n Modules\n FilesStorageApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_FilesStorageApiModule\n\n\n\ncluster_FilesStorageApiModule_providers\n\n\n\ncluster_FilesStorageApiModule_imports\n\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\n\n\nFilesStorageApiModule\n\nFilesStorageApiModule\n\nFilesStorageApiModule -->\n\nAuthenticationModule->FilesStorageApiModule\n\n\n\n\n\nAuthorizationReferenceModule\n\nAuthorizationReferenceModule\n\nFilesStorageApiModule -->\n\nAuthorizationReferenceModule->FilesStorageApiModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nFilesStorageApiModule -->\n\nCoreModule->FilesStorageApiModule\n\n\n\n\n\nFilesStorageModule\n\nFilesStorageModule\n\nFilesStorageApiModule -->\n\nFilesStorageModule->FilesStorageApiModule\n\n\n\n\n\nFilesStorageUC\n\nFilesStorageUC\n\nFilesStorageApiModule -->\n\nFilesStorageUC->FilesStorageApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/files-storage/files-storage-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n FilesStorageUC\n \n \n \n \n Controllers\n \n \n FilesStorageController\n \n \n FileSecurityController\n \n \n \n \n Imports\n \n \n AuthenticationModule\n \n \n AuthorizationReferenceModule\n \n \n CoreModule\n \n \n FilesStorageModule\n \n \n \n \n \n\n\n \n\n\n \n import { HttpModule } from '@nestjs/axios';\nimport { Module } from '@nestjs/common';\nimport { CoreModule } from '@src/core';\nimport { AuthenticationModule } from '@modules/authentication/authentication.module';\nimport { AuthorizationReferenceModule } from '@modules/authorization/authorization-reference.module';\nimport { FileSecurityController, FilesStorageController } from './controller';\nimport { FilesStorageModule } from './files-storage.module';\nimport { FilesStorageUC } from './uc';\n\n@Module({\n\timports: [AuthorizationReferenceModule, FilesStorageModule, AuthenticationModule, CoreModule, HttpModule],\n\tcontrollers: [FilesStorageController, FileSecurityController],\n\tproviders: [FilesStorageUC],\n})\nexport class FilesStorageApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FilesStorageClientAdapterService.html":{"url":"injectables/FilesStorageClientAdapterService.html","title":"injectable - FilesStorageClientAdapterService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FilesStorageClientAdapterService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/service/files-storage-client.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n copyFilesOfParent\n \n \n Async\n deleteFilesOfParent\n \n \n Async\n listFilesOfParent\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: LegacyLogger, fileStorageMQProducer: FilesStorageProducer)\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/service/files-storage-client.service.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n fileStorageMQProducer\n \n \n FilesStorageProducer\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n copyFilesOfParent\n \n \n \n \n \n \n \n copyFilesOfParent(param: CopyFilesRequestInfo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/service/files-storage-client.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n param\n \n CopyFilesRequestInfo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteFilesOfParent\n \n \n \n \n \n \n \n deleteFilesOfParent(parentId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/service/files-storage-client.service.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n parentId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n listFilesOfParent\n \n \n \n \n \n \n \n listFilesOfParent(param: FileRequestInfo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/service/files-storage-client.service.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n param\n \n FileRequestInfo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacyLogger } from '@src/core/logger';\nimport { CopyFileDto, FileDto } from '../dto';\nimport { FileRequestInfo } from '../interfaces';\nimport { CopyFilesRequestInfo } from '../interfaces/copy-file-request-info';\nimport { FilesStorageClientMapper } from '../mapper';\nimport { FilesStorageProducer } from './files-storage.producer';\n\n@Injectable()\nexport class FilesStorageClientAdapterService {\n\tconstructor(private logger: LegacyLogger, private readonly fileStorageMQProducer: FilesStorageProducer) {\n\t\tthis.logger.setContext(FilesStorageClientAdapterService.name);\n\t}\n\n\tasync copyFilesOfParent(param: CopyFilesRequestInfo): Promise {\n\t\tconst response = await this.fileStorageMQProducer.copyFilesOfParent(param);\n\t\tconst fileInfos = FilesStorageClientMapper.mapCopyFileListResponseToCopyFilesDto(response);\n\n\t\treturn fileInfos;\n\t}\n\n\tasync listFilesOfParent(param: FileRequestInfo): Promise {\n\t\tconst response = await this.fileStorageMQProducer.listFilesOfParent(param);\n\n\t\tconst fileInfos = FilesStorageClientMapper.mapfileRecordListResponseToDomainFilesDto(response);\n\n\t\treturn fileInfos;\n\t}\n\n\tasync deleteFilesOfParent(parentId: EntityId): Promise {\n\t\tconst response = await this.fileStorageMQProducer.deleteFilesOfParent(parentId);\n\n\t\tconst fileInfos = FilesStorageClientMapper.mapfileRecordListResponseToDomainFilesDto(response);\n\n\t\treturn fileInfos;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FilesStorageClientConfig.html":{"url":"interfaces/FilesStorageClientConfig.html","title":"interface - FilesStorageClientConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FilesStorageClientConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/interfaces/files-storage-client-config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT_COPY_API\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT_COPY_API\n \n \n \n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT_COPY_API: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface FilesStorageClientConfig {\n\tINCOMING_REQUEST_TIMEOUT_COPY_API: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FilesStorageClientMapper.html":{"url":"classes/FilesStorageClientMapper.html","title":"class - FilesStorageClientMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FilesStorageClientMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/mapper/files-storage-client.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapCopyFileListResponseToCopyFilesDto\n \n \n Static\n mapCopyFileResponseToCopyFileDto\n \n \n Static\n mapEntityToParentType\n \n \n Static\n mapfileRecordListResponseToDomainFilesDto\n \n \n Static\n mapFileRecordResponseToFileDto\n \n \n Static\n mapStringToParentType\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapCopyFileListResponseToCopyFilesDto\n \n \n \n \n \n \n \n mapCopyFileListResponseToCopyFilesDto(copyFileListResponse: CopyFileDomainObjectProps[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/mapper/files-storage-client.mapper.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n copyFileListResponse\n \n CopyFileDomainObjectProps[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CopyFileDto[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapCopyFileResponseToCopyFileDto\n \n \n \n \n \n \n \n mapCopyFileResponseToCopyFileDto(response: CopyFileDomainObjectProps)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/mapper/files-storage-client.mapper.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n CopyFileDomainObjectProps\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapEntityToParentType\n \n \n \n \n \n \n \n mapEntityToParentType(entity: EntitiesWithFiles)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/mapper/files-storage-client.mapper.ts:62\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n EntitiesWithFiles\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileRecordParentType\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapfileRecordListResponseToDomainFilesDto\n \n \n \n \n \n \n \n mapfileRecordListResponseToDomainFilesDto(fileRecordListResponse: FileDomainObjectProps[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/mapper/files-storage-client.mapper.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileRecordListResponse\n \n FileDomainObjectProps[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileDto[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapFileRecordResponseToFileDto\n \n \n \n \n \n \n \n mapFileRecordResponseToFileDto(fileRecordResponse: FileDomainObjectProps)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/mapper/files-storage-client.mapper.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileRecordResponse\n \n FileDomainObjectProps\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapStringToParentType\n \n \n \n \n \n \n \n mapStringToParentType(input: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/mapper/files-storage-client.mapper.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n input\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileRecordParentType\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { FileRecordParentType } from '@infra/rabbitmq';\nimport { LessonEntity, Submission, Task } from '@shared/domain/entity';\nimport { CopyFileDto, FileDto } from '../dto';\nimport { CopyFileDomainObjectProps, EntitiesWithFiles, FileDomainObjectProps } from '../interfaces';\n\nexport class FilesStorageClientMapper {\n\tstatic mapfileRecordListResponseToDomainFilesDto(fileRecordListResponse: FileDomainObjectProps[]): FileDto[] {\n\t\tconst filesDto = fileRecordListResponse.map((record: FileDomainObjectProps) => {\n\t\t\tconst fileDto = FilesStorageClientMapper.mapFileRecordResponseToFileDto(record);\n\n\t\t\treturn fileDto;\n\t\t});\n\n\t\treturn filesDto;\n\t}\n\n\tstatic mapCopyFileListResponseToCopyFilesDto(copyFileListResponse: CopyFileDomainObjectProps[]): CopyFileDto[] {\n\t\tconst filesDto = copyFileListResponse.map((response) => {\n\t\t\tconst fileDto = FilesStorageClientMapper.mapCopyFileResponseToCopyFileDto(response);\n\n\t\t\treturn fileDto;\n\t\t});\n\n\t\treturn filesDto;\n\t}\n\n\tstatic mapFileRecordResponseToFileDto(fileRecordResponse: FileDomainObjectProps) {\n\t\tconst parentType = FilesStorageClientMapper.mapStringToParentType(fileRecordResponse.parentType);\n\t\tconst fileDto = new FileDto({\n\t\t\tid: fileRecordResponse.id,\n\t\t\tname: fileRecordResponse.name,\n\t\t\tparentType,\n\t\t\tparentId: fileRecordResponse.parentId,\n\t\t});\n\n\t\treturn fileDto;\n\t}\n\n\tstatic mapCopyFileResponseToCopyFileDto(response: CopyFileDomainObjectProps) {\n\t\tconst dto = new CopyFileDto({\n\t\t\tid: response.id,\n\t\t\tsourceId: response.sourceId,\n\t\t\tname: response.name,\n\t\t});\n\n\t\treturn dto;\n\t}\n\n\tstatic mapStringToParentType(input: string): FileRecordParentType {\n\t\tlet response: FileRecordParentType;\n\t\tconst allowedStrings = Object.values(FileRecordParentType);\n\n\t\tif (allowedStrings.includes(input as FileRecordParentType)) {\n\t\t\tresponse = input as FileRecordParentType;\n\t\t} else {\n\t\t\tthrow new Error(`Mapping type is not supported. ${input}`);\n\t\t}\n\n\t\treturn response;\n\t}\n\n\tstatic mapEntityToParentType(entity: EntitiesWithFiles): FileRecordParentType {\n\t\tif (entity instanceof LessonEntity) return FileRecordParentType.Lesson;\n\n\t\tif (entity instanceof Task) return FileRecordParentType.Task;\n\n\t\tif (entity instanceof Submission) return FileRecordParentType.Submission;\n\n\t\tthrow new Error(`Mapping type is not supported.`);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/FilesStorageClientModule.html":{"url":"modules/FilesStorageClientModule.html","title":"module - FilesStorageClientModule","body":"\n \n\n\n\n\n Modules\n FilesStorageClientModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_FilesStorageClientModule\n\n\n\ncluster_FilesStorageClientModule_imports\n\n\n\ncluster_FilesStorageClientModule_providers\n\n\n\ncluster_FilesStorageClientModule_exports\n\n\n\n\nCopyHelperModule\n\nCopyHelperModule\n\n\n\nFilesStorageClientModule\n\nFilesStorageClientModule\n\nFilesStorageClientModule -->\n\nCopyHelperModule->FilesStorageClientModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nFilesStorageClientModule -->\n\nLoggerModule->FilesStorageClientModule\n\n\n\n\n\nCopyFilesService \n\nCopyFilesService \n\nCopyFilesService -->\n\nFilesStorageClientModule->CopyFilesService \n\n\n\n\n\nFilesStorageClientAdapterService \n\nFilesStorageClientAdapterService \n\nFilesStorageClientAdapterService -->\n\nFilesStorageClientModule->FilesStorageClientAdapterService \n\n\n\n\n\nCopyFilesService\n\nCopyFilesService\n\nFilesStorageClientModule -->\n\nCopyFilesService->FilesStorageClientModule\n\n\n\n\n\nFilesStorageClientAdapterService\n\nFilesStorageClientAdapterService\n\nFilesStorageClientModule -->\n\nFilesStorageClientAdapterService->FilesStorageClientModule\n\n\n\n\n\nFilesStorageProducer\n\nFilesStorageProducer\n\nFilesStorageClientModule -->\n\nFilesStorageProducer->FilesStorageClientModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/files-storage-client/files-storage-client.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n CopyFilesService\n \n \n FilesStorageClientAdapterService\n \n \n FilesStorageProducer\n \n \n \n \n Imports\n \n \n CopyHelperModule\n \n \n LoggerModule\n \n \n \n \n Exports\n \n \n CopyFilesService\n \n \n FilesStorageClientAdapterService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { CopyHelperModule } from '@modules/copy-helper';\nimport { CopyFilesService } from './service/copy-files.service';\nimport { FilesStorageClientAdapterService } from './service/files-storage-client.service';\nimport { FilesStorageProducer } from './service/files-storage.producer';\n\n@Module({\n\timports: [LoggerModule, CopyHelperModule],\n\tproviders: [FilesStorageClientAdapterService, CopyFilesService, FilesStorageProducer],\n\texports: [FilesStorageClientAdapterService, CopyFilesService],\n})\nexport class FilesStorageClientModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FilesStorageConsumer.html":{"url":"injectables/FilesStorageConsumer.html","title":"injectable - FilesStorageConsumer","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FilesStorageConsumer\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/files-storage.consumer.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n Public\n Async\n copyFilesOfParent\n \n \n \n \n Public\n Async\n deleteFilesOfParent\n \n \n \n \n Public\n Async\n getFilesOfParent\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(filesStorageService: FilesStorageService, previewService: PreviewService, logger: LegacyLogger, orm: MikroORM)\n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/files-storage.consumer.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filesStorageService\n \n \n FilesStorageService\n \n \n \n No\n \n \n \n \n previewService\n \n \n PreviewService\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n orm\n \n \n MikroORM\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n Public\n Async\n copyFilesOfParent\n \n \n \n \n \n \n \n copyFilesOfParent(payload: CopyFilesOfParentPayload)\n \n \n\n \n \n Decorators : \n \n @RabbitRPC({exchange: FilesStorageExchange, routingKey: undefined, queue: undefined})@UseRequestContext()\n \n \n\n \n \n Defined in apps/server/src/modules/files-storage/controller/files-storage.consumer.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n payload\n \n CopyFilesOfParentPayload\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n deleteFilesOfParent\n \n \n \n \n \n \n \n deleteFilesOfParent(payload: EntityId)\n \n \n\n \n \n Decorators : \n \n @RabbitRPC({exchange: FilesStorageExchange, routingKey: undefined, queue: undefined})@UseRequestContext()\n \n \n\n \n \n Defined in apps/server/src/modules/files-storage/controller/files-storage.consumer.ts:63\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n payload\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getFilesOfParent\n \n \n \n \n \n \n \n getFilesOfParent(payload: FileRecordParams)\n \n \n\n \n \n Decorators : \n \n @RabbitRPC({exchange: FilesStorageExchange, routingKey: undefined, queue: undefined})@UseRequestContext()\n \n \n\n \n \n Defined in apps/server/src/modules/files-storage/controller/files-storage.consumer.ts:48\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n payload\n \n FileRecordParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { RabbitPayload, RabbitRPC } from '@golevelup/nestjs-rabbitmq';\nimport { CopyFileDO, FileDO, FilesStorageEvents, FilesStorageExchange } from '@infra/rabbitmq';\nimport { RpcMessage } from '@infra/rabbitmq/rpc-message';\nimport { MikroORM, UseRequestContext } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacyLogger } from '@src/core/logger';\nimport { FilesStorageMapper } from '../mapper';\nimport { FilesStorageService } from '../service/files-storage.service';\nimport { PreviewService } from '../service/preview.service';\nimport { CopyFilesOfParentPayload, FileRecordParams } from './dto';\n\n@Injectable()\nexport class FilesStorageConsumer {\n\tconstructor(\n\t\tprivate readonly filesStorageService: FilesStorageService,\n\t\tprivate readonly previewService: PreviewService,\n\t\tprivate logger: LegacyLogger,\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\tprivate readonly orm: MikroORM // don't remove it, we need it for @UseRequestContext\n\t) {\n\t\tthis.logger.setContext(FilesStorageConsumer.name);\n\t}\n\n\t@RabbitRPC({\n\t\texchange: FilesStorageExchange,\n\t\troutingKey: FilesStorageEvents.COPY_FILES_OF_PARENT,\n\t\tqueue: FilesStorageEvents.COPY_FILES_OF_PARENT,\n\t})\n\t@UseRequestContext()\n\tpublic async copyFilesOfParent(\n\t\t@RabbitPayload() payload: CopyFilesOfParentPayload\n\t): Promise> {\n\t\tthis.logger.debug({ action: 'copyFilesOfParent', payload });\n\n\t\tconst { userId, source, target } = payload;\n\t\tconst [response] = await this.filesStorageService.copyFilesOfParent(userId, source, { target });\n\n\t\treturn { message: response };\n\t}\n\n\t@RabbitRPC({\n\t\texchange: FilesStorageExchange,\n\t\troutingKey: FilesStorageEvents.LIST_FILES_OF_PARENT,\n\t\tqueue: FilesStorageEvents.LIST_FILES_OF_PARENT,\n\t})\n\t@UseRequestContext()\n\tpublic async getFilesOfParent(@RabbitPayload() payload: FileRecordParams): Promise> {\n\t\tthis.logger.debug({ action: 'getFilesOfParent', payload });\n\n\t\tconst [fileRecords, total] = await this.filesStorageService.getFileRecordsOfParent(payload.parentId);\n\t\tconst response = FilesStorageMapper.mapToFileRecordListResponse(fileRecords, total);\n\n\t\treturn { message: response.data };\n\t}\n\n\t@RabbitRPC({\n\t\texchange: FilesStorageExchange,\n\t\troutingKey: FilesStorageEvents.DELETE_FILES_OF_PARENT,\n\t\tqueue: FilesStorageEvents.DELETE_FILES_OF_PARENT,\n\t})\n\t@UseRequestContext()\n\tpublic async deleteFilesOfParent(@RabbitPayload() payload: EntityId): Promise> {\n\t\tthis.logger.debug({ action: 'deleteFilesOfParent', payload });\n\n\t\tconst [fileRecords, total] = await this.filesStorageService.getFileRecordsOfParent(payload);\n\n\t\tawait this.previewService.deletePreviews(fileRecords);\n\t\tawait this.filesStorageService.deleteFilesOfParent(fileRecords);\n\n\t\tconst response = FilesStorageMapper.mapToFileRecordListResponse(fileRecords, total);\n\n\t\treturn { message: response.data };\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FilesStorageMapper.html":{"url":"classes/FilesStorageMapper.html","title":"class - FilesStorageMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FilesStorageMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/mapper/files-storage.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapFileRecordToFileRecordParams\n \n \n Static\n mapToAllowedAuthorizationEntityType\n \n \n Static\n mapToFileRecordListResponse\n \n \n Static\n mapToFileRecordResponse\n \n \n Static\n mapToSingleFileParams\n \n \n Static\n mapToStreamableFile\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapFileRecordToFileRecordParams\n \n \n \n \n \n \n \n mapFileRecordToFileRecordParams(fileRecord: FileRecord)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/files-storage.mapper.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileRecord\n \n FileRecord\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileRecordParams\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToAllowedAuthorizationEntityType\n \n \n \n \n \n \n \n mapToAllowedAuthorizationEntityType(type: FileRecordParentType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/files-storage.mapper.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n FileRecordParentType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AuthorizableReferenceType\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToFileRecordListResponse\n \n \n \n \n \n \n \n mapToFileRecordListResponse(fileRecords: FileRecord[], total: number, skip?: number, limit?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/files-storage.mapper.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileRecords\n \n FileRecord[]\n \n\n \n No\n \n\n\n \n \n total\n \n number\n \n\n \n No\n \n\n\n \n \n skip\n \n number\n \n\n \n Yes\n \n\n\n \n \n limit\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : FileRecordListResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToFileRecordResponse\n \n \n \n \n \n \n \n mapToFileRecordResponse(fileRecord: FileRecord)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/files-storage.mapper.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileRecord\n \n FileRecord\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileRecordResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToSingleFileParams\n \n \n \n \n \n \n \n mapToSingleFileParams(params: DownloadFileParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/files-storage.mapper.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DownloadFileParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SingleFileParams\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToStreamableFile\n \n \n \n \n \n \n \n mapToStreamableFile(fileResponse: GetFileResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/files-storage.mapper.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileResponse\n \n GetFileResponse\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : StreamableFile\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { NotImplementedException, StreamableFile } from '@nestjs/common';\nimport { AuthorizableReferenceType } from '@modules/authorization/domain';\nimport { plainToClass } from 'class-transformer';\nimport {\n\tDownloadFileParams,\n\tFileRecordListResponse,\n\tFileRecordParams,\n\tFileRecordResponse,\n\tSingleFileParams,\n} from '../controller/dto';\nimport { FileRecord, FileRecordParentType } from '../entity';\nimport { GetFileResponse } from '../interface';\n\nexport class FilesStorageMapper {\n\tstatic mapToAllowedAuthorizationEntityType(type: FileRecordParentType): AuthorizableReferenceType {\n\t\tconst types: Map = new Map();\n\t\ttypes.set(FileRecordParentType.Task, AuthorizableReferenceType.Task);\n\t\ttypes.set(FileRecordParentType.Course, AuthorizableReferenceType.Course);\n\t\ttypes.set(FileRecordParentType.User, AuthorizableReferenceType.User);\n\t\ttypes.set(FileRecordParentType.School, AuthorizableReferenceType.School);\n\t\ttypes.set(FileRecordParentType.Lesson, AuthorizableReferenceType.Lesson);\n\t\ttypes.set(FileRecordParentType.Submission, AuthorizableReferenceType.Submission);\n\t\ttypes.set(FileRecordParentType.BoardNode, AuthorizableReferenceType.BoardNode);\n\n\t\tconst res = types.get(type);\n\n\t\tif (!res) {\n\t\t\tthrow new NotImplementedException();\n\t\t}\n\t\treturn res;\n\t}\n\n\tstatic mapToSingleFileParams(params: DownloadFileParams): SingleFileParams {\n\t\tconst singleFileParams = { fileRecordId: params.fileRecordId };\n\n\t\treturn singleFileParams;\n\t}\n\n\tstatic mapFileRecordToFileRecordParams(fileRecord: FileRecord): FileRecordParams {\n\t\tconst fileRecordParams = plainToClass(FileRecordParams, {\n\t\t\tschoolId: fileRecord.schoolId,\n\t\t\tparentId: fileRecord.parentId,\n\t\t\tparentType: fileRecord.parentType,\n\t\t});\n\n\t\treturn fileRecordParams;\n\t}\n\n\tstatic mapToFileRecordResponse(fileRecord: FileRecord): FileRecordResponse {\n\t\treturn new FileRecordResponse(fileRecord);\n\t}\n\n\tstatic mapToFileRecordListResponse(\n\t\tfileRecords: FileRecord[],\n\t\ttotal: number,\n\t\tskip?: number,\n\t\tlimit?: number\n\t): FileRecordListResponse {\n\t\tconst responseFileRecords = fileRecords.map((fileRecord) => FilesStorageMapper.mapToFileRecordResponse(fileRecord));\n\n\t\tconst response = new FileRecordListResponse(responseFileRecords, total, skip, limit);\n\t\treturn response;\n\t}\n\n\tstatic mapToStreamableFile(fileResponse: GetFileResponse): StreamableFile {\n\t\tconst streamableFile = new StreamableFile(fileResponse.data, {\n\t\t\ttype: fileResponse.contentType,\n\t\t\tdisposition: `inline; filename=\"${encodeURI(fileResponse.name)}\"`,\n\t\t\tlength: fileResponse.contentLength,\n\t\t});\n\n\t\treturn streamableFile;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/FilesStorageModule.html":{"url":"modules/FilesStorageModule.html","title":"module - FilesStorageModule","body":"\n \n\n\n\n\n Modules\n FilesStorageModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_FilesStorageModule\n\n\n\ncluster_FilesStorageModule_exports\n\n\n\ncluster_FilesStorageModule_imports\n\n\n\ncluster_FilesStorageModule_providers\n\n\n\n\nRabbitMQWrapperModule\n\nRabbitMQWrapperModule\n\n\n\nFilesStorageModule\n\nFilesStorageModule\n\nFilesStorageModule -->\n\nRabbitMQWrapperModule->FilesStorageModule\n\n\n\n\n\nFilesStorageService \n\nFilesStorageService \n\nFilesStorageService -->\n\nFilesStorageModule->FilesStorageService \n\n\n\n\n\nPreviewService \n\nPreviewService \n\nPreviewService -->\n\nFilesStorageModule->PreviewService \n\n\n\n\n\nFileRecordRepo\n\nFileRecordRepo\n\nFilesStorageModule -->\n\nFileRecordRepo->FilesStorageModule\n\n\n\n\n\nFilesStorageService\n\nFilesStorageService\n\nFilesStorageModule -->\n\nFilesStorageService->FilesStorageModule\n\n\n\n\n\nPreviewService\n\nPreviewService\n\nFilesStorageModule -->\n\nPreviewService->FilesStorageModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/files-storage/files-storage.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n FileRecordRepo\n \n \n FilesStorageService\n \n \n PreviewService\n \n \n \n \n Imports\n \n \n RabbitMQWrapperModule\n \n \n \n \n Exports\n \n \n FilesStorageService\n \n \n PreviewService\n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\nimport { AntivirusModule } from '@infra/antivirus';\nimport { PreviewGeneratorProducerModule } from '@infra/preview-generator';\nimport { RabbitMQWrapperModule } from '@infra/rabbitmq';\nimport { S3ClientModule } from '@infra/s3-client';\nimport { Dictionary, IPrimaryKey } from '@mikro-orm/core';\nimport { MikroOrmModule, MikroOrmModuleSyncOptions } from '@mikro-orm/nestjs';\nimport { Module, NotFoundException } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { ALL_ENTITIES } from '@shared/domain/entity';\nimport { DB_PASSWORD, DB_URL, DB_USERNAME, createConfigModuleOptions } from '@src/config';\nimport { LoggerModule } from '@src/core/logger';\nimport { FileRecord, FileRecordSecurityCheck } from './entity';\nimport { config, s3Config } from './files-storage.config';\nimport { FileRecordRepo } from './repo';\nimport { FilesStorageService, PreviewService } from './service';\n\nconst imports = [\n\tLoggerModule,\n\tConfigModule.forRoot(createConfigModuleOptions(config)),\n\tAntivirusModule.forRoot({\n\t\tenabled: Configuration.get('ENABLE_FILE_SECURITY_CHECK') as boolean,\n\t\tfilesServiceBaseUrl: Configuration.get('FILES_STORAGE__SERVICE_BASE_URL') as string,\n\t\texchange: Configuration.get('ANTIVIRUS_EXCHANGE') as string,\n\t\troutingKey: Configuration.get('ANTIVIRUS_ROUTING_KEY') as string,\n\t\thostname: Configuration.get('CLAMAV__SERVICE_HOSTNAME') as string,\n\t\tport: Configuration.get('CLAMAV__SERVICE_PORT') as number,\n\t}),\n\tS3ClientModule.register([s3Config]),\n\tPreviewGeneratorProducerModule,\n];\nconst providers = [FilesStorageService, PreviewService, FileRecordRepo];\n\nconst defaultMikroOrmOptions: MikroOrmModuleSyncOptions = {\n\tfindOneOrFailHandler: (entityName: string, where: Dictionary | IPrimaryKey) =>\n\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\tnew NotFoundException(`The requested ${entityName}: ${where} has not been found.`),\n};\n\n@Module({\n\timports: [\n\t\t...imports,\n\t\tRabbitMQWrapperModule,\n\t\tMikroOrmModule.forRoot({\n\t\t\t...defaultMikroOrmOptions,\n\t\t\ttype: 'mongo',\n\t\t\t// TODO add mongoose options as mongo options (see database.js)\n\t\t\tclientUrl: DB_URL,\n\t\t\tpassword: DB_PASSWORD,\n\t\t\tuser: DB_USERNAME,\n\t\t\tentities: [...ALL_ENTITIES, FileRecord, FileRecordSecurityCheck],\n\n\t\t\t// debug: true, // use it for locally debugging of querys\n\t\t}),\n\t],\n\tproviders,\n\texports: [FilesStorageService, PreviewService],\n})\nexport class FilesStorageModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FilesStorageProducer.html":{"url":"injectables/FilesStorageProducer.html","title":"injectable - FilesStorageProducer","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FilesStorageProducer\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/service/files-storage.producer.ts\n \n\n\n\n \n Extends\n \n \n RpcMessageProducer\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n copyFilesOfParent\n \n \n Async\n deleteFilesOfParent\n \n \n Async\n listFilesOfParent\n \n \n Protected\n checkError\n \n \n Protected\n createRequest\n \n \n Protected\n Async\n request\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(amqpConnection: AmqpConnection, logger: LegacyLogger, configService: ConfigService)\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/service/files-storage.producer.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n amqpConnection\n \n \n AmqpConnection\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n copyFilesOfParent\n \n \n \n \n \n \n \n copyFilesOfParent(payload: CopyFilesOfParentParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/service/files-storage.producer.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n payload\n \n CopyFilesOfParentParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteFilesOfParent\n \n \n \n \n \n \n \n deleteFilesOfParent(payload: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/service/files-storage.producer.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n payload\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n listFilesOfParent\n \n \n \n \n \n \n \n listFilesOfParent(payload: FileRecordParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/service/files-storage.producer.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n payload\n \n FileRecordParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n checkError\n \n \n \n \n \n \n \n checkError(response: RpcMessage)\n \n \n\n\n \n \n Inherited from RpcMessageProducer\n\n \n \n \n \n Defined in RpcMessageProducer:21\n\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n RpcMessage\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n createRequest\n \n \n \n \n \n \n \n createRequest(event: string, payload)\n \n \n\n\n \n \n Inherited from RpcMessageProducer\n\n \n \n \n \n Defined in RpcMessageProducer:29\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n event\n \n string\n \n\n \n No\n \n\n\n \n \n payload\n \n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : { exchange: string; routingKey: string; payload: unknown; timeout: number; }\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n request\n \n \n \n \n \n \n \n request(event: string, payload)\n \n \n\n\n \n \n Inherited from RpcMessageProducer\n\n \n \n \n \n Defined in RpcMessageProducer:12\n\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n event\n \n string\n \n\n \n No\n \n\n\n \n \n payload\n \n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AmqpConnection } from '@golevelup/nestjs-rabbitmq';\nimport {\n\tCopyFileDO,\n\tCopyFilesOfParentParams,\n\tFileDO,\n\tFileRecordParams,\n\tFilesStorageEvents,\n\tFilesStorageExchange,\n\tRpcMessageProducer,\n} from '@infra/rabbitmq';\nimport { Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacyLogger } from '@src/core/logger';\nimport { FilesStorageClientConfig } from '../interfaces';\n\n@Injectable()\nexport class FilesStorageProducer extends RpcMessageProducer {\n\tconstructor(\n\t\tprotected readonly amqpConnection: AmqpConnection,\n\t\tprivate readonly logger: LegacyLogger,\n\t\tprotected readonly configService: ConfigService\n\t) {\n\t\tsuper(amqpConnection, FilesStorageExchange, configService.get('INCOMING_REQUEST_TIMEOUT_COPY_API'));\n\t\tthis.logger.setContext(FilesStorageProducer.name);\n\t}\n\n\tasync copyFilesOfParent(payload: CopyFilesOfParentParams): Promise {\n\t\tthis.logger.debug({ action: 'copyFilesOfParent:started', payload });\n\t\tconst response = await this.request(FilesStorageEvents.COPY_FILES_OF_PARENT, payload);\n\n\t\tthis.logger.debug({ action: 'copyFilesOfParent:finished', payload });\n\n\t\treturn response;\n\t}\n\n\tasync listFilesOfParent(payload: FileRecordParams): Promise {\n\t\tthis.logger.debug({ action: 'listFilesOfParent:started', payload });\n\t\tconst response = await this.request(FilesStorageEvents.LIST_FILES_OF_PARENT, payload);\n\n\t\tthis.logger.debug({ action: 'listFilesOfParent:finished', payload });\n\n\t\treturn response;\n\t}\n\n\tasync deleteFilesOfParent(payload: EntityId): Promise {\n\t\tthis.logger.debug({ action: 'deleteFilesOfParent:started', payload });\n\t\tconst response = await this.request(FilesStorageEvents.DELETE_FILES_OF_PARENT, payload);\n\n\t\tthis.logger.debug({ action: 'deleteFilesOfParent:finished', payload });\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/FilesStorageTestModule.html":{"url":"modules/FilesStorageTestModule.html","title":"module - FilesStorageTestModule","body":"\n \n\n\n\n\n Modules\n FilesStorageTestModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_FilesStorageTestModule\n\n\n\ncluster_FilesStorageTestModule_imports\n\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\n\n\nFilesStorageTestModule\n\nFilesStorageTestModule\n\nFilesStorageTestModule -->\n\nAuthenticationModule->FilesStorageTestModule\n\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\nFilesStorageTestModule -->\n\nAuthorizationModule->FilesStorageTestModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nFilesStorageTestModule -->\n\nCoreModule->FilesStorageTestModule\n\n\n\n\n\nFilesStorageApiModule\n\nFilesStorageApiModule\n\nFilesStorageTestModule -->\n\nFilesStorageApiModule->FilesStorageTestModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nFilesStorageTestModule -->\n\nLoggerModule->FilesStorageTestModule\n\n\n\n\n\nMongoMemoryDatabaseModule\n\nMongoMemoryDatabaseModule\n\nFilesStorageTestModule -->\n\nMongoMemoryDatabaseModule->FilesStorageTestModule\n\n\n\n\n\nRabbitMQWrapperTestModule\n\nRabbitMQWrapperTestModule\n\nFilesStorageTestModule -->\n\nRabbitMQWrapperTestModule->FilesStorageTestModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/files-storage/files-storage-test.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n AuthenticationModule\n \n \n AuthorizationModule\n \n \n CoreModule\n \n \n FilesStorageApiModule\n \n \n LoggerModule\n \n \n MongoMemoryDatabaseModule\n \n \n RabbitMQWrapperTestModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options?: MongoDatabaseModuleOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/files-storage-test.module.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n MongoDatabaseModuleOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { DynamicModule, Module } from '@nestjs/common';\n\nimport { MongoDatabaseModuleOptions, MongoMemoryDatabaseModule } from '@infra/database';\nimport { RabbitMQWrapperTestModule } from '@infra/rabbitmq';\nimport { AuthenticationModule } from '@modules/authentication';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { ALL_ENTITIES } from '@shared/domain/entity';\nimport { CoreModule } from '@src/core';\nimport { LoggerModule } from '@src/core/logger';\nimport { FileRecord } from './entity';\nimport { FilesStorageApiModule } from './files-storage-api.module';\n\nconst imports = [\n\tFilesStorageApiModule,\n\tMongoMemoryDatabaseModule.forRoot({ entities: [...ALL_ENTITIES, FileRecord] }),\n\tRabbitMQWrapperTestModule,\n\tAuthorizationModule,\n\tAuthenticationModule,\n\tCoreModule,\n\tLoggerModule,\n];\nconst controllers = [];\nconst providers = [];\n@Module({\n\timports,\n\tcontrollers,\n\tproviders,\n})\nexport class FilesStorageTestModule {\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: FilesStorageTestModule,\n\t\t\timports: [...imports, MongoMemoryDatabaseModule.forRoot({ ...options })],\n\t\t\tcontrollers,\n\t\t\tproviders,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FilterImportUserParams.html":{"url":"classes/FilterImportUserParams.html","title":"class - FilterImportUserParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FilterImportUserParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/controller/dto/filter-import-user.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n classes\n \n \n \n \n \n \n Optional\n firstName\n \n \n \n \n \n Optional\n flagged\n \n \n \n \n \n \n Optional\n lastName\n \n \n \n \n \n \n Optional\n loginName\n \n \n \n \n \n \n \n Optional\n match\n \n \n \n \n \n Optional\n role\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n classes\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()@IsNotEmpty()@ApiPropertyOptional({type: String})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/filter-import-user.params.ts:54\n \n \n\n \n \n filter available classes for contains\n\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()@IsOptional()@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/filter-import-user.params.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n flagged\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()@IsOptional()@IsBoolean()\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/filter-import-user.params.ts:45\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()@IsOptional()@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/filter-import-user.params.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n loginName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()@IsOptional()@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/filter-import-user.params.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n match\n \n \n \n \n \n \n Type : FilterMatchType[]\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({enum: FilterMatchType, isArray: true})@IsOptional()@IsEnum(FilterMatchType, {each: true})@SingleValueToArrayTransformer()@IsArray()\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/filter-import-user.params.ts:40\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n role\n \n \n \n \n \n \n Type : FilterRoleType\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsEnum(FilterRoleType)@ApiPropertyOptional({enum: FilterRoleType})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/filter-import-user.params.ts:59\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { SingleValueToArrayTransformer } from '@shared/controller';\nimport { IsArray, IsBoolean, IsEnum, IsNotEmpty, IsOptional, IsString } from 'class-validator';\n\nexport enum FilterMatchType {\n\tAUTO = 'auto',\n\tMANUAL = 'admin',\n\tNONE = 'none',\n}\nexport enum FilterRoleType {\n\tSTUDENT = 'student',\n\tTEACHER = 'teacher',\n\tADMIN = 'admin',\n}\n\nexport class FilterImportUserParams {\n\t@ApiPropertyOptional()\n\t@IsOptional()\n\t@IsString()\n\t@IsNotEmpty()\n\tfirstName?: string;\n\n\t@ApiPropertyOptional()\n\t@IsOptional()\n\t@IsString()\n\t@IsNotEmpty()\n\tlastName?: string;\n\n\t@ApiPropertyOptional()\n\t@IsOptional()\n\t@IsString()\n\t@IsNotEmpty()\n\tloginName?: string;\n\n\t@ApiPropertyOptional({ enum: FilterMatchType, isArray: true })\n\t@IsOptional()\n\t@IsEnum(FilterMatchType, { each: true })\n\t@SingleValueToArrayTransformer()\n\t@IsArray()\n\tmatch?: FilterMatchType[];\n\n\t@ApiPropertyOptional()\n\t@IsOptional()\n\t@IsBoolean()\n\tflagged?: boolean;\n\n\t/**\n\t * filter available classes for contains\n\t */\n\t@IsOptional()\n\t@IsString()\n\t@IsNotEmpty()\n\t@ApiPropertyOptional({ type: String })\n\tclasses?: string;\n\n\t@IsOptional()\n\t@IsEnum(FilterRoleType)\n\t@ApiPropertyOptional({ enum: FilterRoleType })\n\trole?: FilterRoleType;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FilterNewsParams.html":{"url":"classes/FilterNewsParams.html","title":"class - FilterNewsParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FilterNewsParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/dto/filter-news.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n targetId\n \n \n \n \n \n \n Optional\n targetModel\n \n \n \n \n \n \n Optional\n unpublished\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n targetId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsMongoId()@ApiPropertyOptional({pattern: '[a-f0-9]{24}', description: 'Specific target id to which the news are related (works only together with targetModel)'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/filter-news.params.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n targetModel\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()@IsEnum(NewsTargetModel)@ApiPropertyOptional({enum: NewsTargetModel, description: 'Target model to which the news are related'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/filter-news.params.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n unpublished\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsBoolean()@StringToBoolean()@ApiPropertyOptional({description: 'Flag that filters if the news should be published or not'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/filter-news.params.ts:30\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller/transformer';\nimport { NewsTargetModel } from '@shared/domain/types';\nimport { IsBoolean, IsEnum, IsMongoId, IsOptional, IsString } from 'class-validator';\n\nexport class FilterNewsParams {\n\t@IsOptional()\n\t@IsString()\n\t@IsEnum(NewsTargetModel)\n\t@ApiPropertyOptional({\n\t\tenum: NewsTargetModel,\n\t\tdescription: 'Target model to which the news are related',\n\t})\n\ttargetModel?: string;\n\n\t@IsOptional()\n\t@IsMongoId()\n\t@ApiPropertyOptional({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'Specific target id to which the news are related (works only together with targetModel)',\n\t})\n\ttargetId?: string;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'Flag that filters if the news should be published or not',\n\t})\n\tunpublished?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FilterUserParams.html":{"url":"classes/FilterUserParams.html","title":"class - FilterUserParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FilterUserParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/controller/dto/filter-user.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()@IsOptional()@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/filter-user.params.ts:12\n \n \n\n \n \n filter firstname or lastname for given value\n\n \n \n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsNotEmpty, IsOptional, IsString } from 'class-validator';\n\nexport class FilterUserParams {\n\t/**\n\t * filter firstname or lastname for given value\n\t */\n\t@ApiPropertyOptional()\n\t@IsOptional()\n\t@IsString()\n\t@IsNotEmpty()\n\tname?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ForbiddenLoggableException.html":{"url":"classes/ForbiddenLoggableException.html","title":"class - ForbiddenLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ForbiddenLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/error/forbidden.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n ForbiddenException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userId: EntityId, entityName: string, context: AuthorizationContext)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/error/forbidden.loggable-exception.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n entityName\n \n \n string\n \n \n \n No\n \n \n \n \n context\n \n \n AuthorizationContext\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/error/forbidden.loggable-exception.ts:16\n \n \n\n\n \n \n\n \n Returns : ErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ForbiddenException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { Loggable } from '@src/core/logger/interfaces';\nimport { ErrorLogMessage } from '@src/core/logger/types';\nimport { AuthorizationContext } from '../type';\n\nexport class ForbiddenLoggableException extends ForbiddenException implements Loggable {\n\tconstructor(\n\t\tprivate readonly userId: EntityId,\n\t\tprivate readonly entityName: string,\n\t\tprivate readonly context: AuthorizationContext\n\t) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): ErrorLogMessage {\n\t\tconst message: ErrorLogMessage = {\n\t\t\ttype: 'FORBIDDEN_EXCEPTION',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tuserId: this.userId,\n\t\t\t\tentityName: this.entityName,\n\t\t\t\taction: this.context.action,\n\t\t\t\trequiredPermissions: this.context.requiredPermissions.join(','),\n\t\t\t},\n\t\t};\n\n\t\treturn message;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ForbiddenOperationError.html":{"url":"classes/ForbiddenOperationError.html","title":"class - ForbiddenOperationError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ForbiddenOperationError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/error/forbidden-operation.error.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(message?: string, details?: Record)\n \n \n \n \n Defined in apps/server/src/shared/common/error/forbidden-operation.error.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n \n string\n \n \n \n Yes\n \n \n \n \n details\n \n \n Record\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { BusinessError } from './business.error';\n\nexport class ForbiddenOperationError extends BusinessError {\n\tconstructor(message?: string, details?: Record) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'FORBIDDEN_OPERATION',\n\t\t\t\ttitle: 'Forbidden Operation Error',\n\t\t\t\tdefaultMessage: message ?? 'A forbidden operation error occurred.',\n\t\t\t},\n\t\t\tHttpStatus.FORBIDDEN,\n\t\t\tdetails\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/FwuLearningContentsController.html":{"url":"controllers/FwuLearningContentsController.html","title":"controller - FwuLearningContentsController","body":"\n \n\n\n\n\n\n\n Controllers\n FwuLearningContentsController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/fwu-learning-contents/controller/fwu-learning-contents.controller.ts\n \n\n \n Prefix\n \n \n fwu\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n get\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n get\n \n \n \n \n \n \n \n get(req: Request, res: Response, params: GetFwuLearningContentParams)\n \n \n\n \n \n Decorators : \n \n @Get('*/:fwuLearningContent')\n \n \n\n \n \n Defined in apps/server/src/modules/fwu-learning-contents/controller/fwu-learning-contents.controller.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n req\n \n Request\n \n\n \n No\n \n\n\n \n \n res\n \n Response\n \n\n \n No\n \n\n\n \n \n params\n \n GetFwuLearningContentParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport {\n\tController,\n\tGet,\n\tHttpStatus,\n\tInternalServerErrorException,\n\tParam,\n\tReq,\n\tRes,\n\tStreamableFile,\n} from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { Authenticate } from '@modules/authentication';\nimport { Request, Response } from 'express';\nimport { FwuLearningContentsUc } from '../uc/fwu-learning-contents.uc';\nimport { GetFwuLearningContentParams } from './dto/fwu-learning-contents.params';\n\n@ApiTags('fwu')\n@Authenticate('jwt')\n@Controller('fwu')\nexport class FwuLearningContentsController {\n\tconstructor(private readonly fwuLearningContentsUc: FwuLearningContentsUc) {}\n\n\t@Get('*/:fwuLearningContent')\n\tasync get(\n\t\t@Req() req: Request,\n\t\t@Res({ passthrough: true }) res: Response,\n\t\t@Param() params: GetFwuLearningContentParams\n\t): Promise {\n\t\tif (!Configuration.get('FEATURE_FWU_CONTENT_ENABLED')) {\n\t\t\tthrow new InternalServerErrorException('Feature FWU content is not enabled.');\n\t\t}\n\t\tconst bytesRange = req.header('Range');\n\t\tconst path = `${req.params[0]}/${params.fwuLearningContent}`;\n\t\tconst response = await this.fwuLearningContentsUc.get(path, bytesRange);\n\n\t\tif (bytesRange) {\n\t\t\tres.set({\n\t\t\t\t'Accept-Ranges': 'bytes',\n\t\t\t\t'Content-Range': response.contentRange,\n\t\t\t});\n\n\t\t\tres.status(HttpStatus.PARTIAL_CONTENT);\n\t\t} else {\n\t\t\tres.status(HttpStatus.OK);\n\t\t}\n\n\t\treq.on('close', () => response.data.destroy());\n\n\t\treturn new StreamableFile(response.data, {\n\t\t\ttype: response.contentType,\n\t\t\tdisposition: `inline; filename=\"${encodeURI(params.fwuLearningContent)}\"`,\n\t\t\tlength: response.contentLength,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/FwuLearningContentsModule.html":{"url":"modules/FwuLearningContentsModule.html","title":"module - FwuLearningContentsModule","body":"\n \n\n\n\n\n Modules\n FwuLearningContentsModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_FwuLearningContentsModule\n\n\n\ncluster_FwuLearningContentsModule_providers\n\n\n\ncluster_FwuLearningContentsModule_imports\n\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\n\n\nFwuLearningContentsModule\n\nFwuLearningContentsModule\n\nFwuLearningContentsModule -->\n\nAuthenticationModule->FwuLearningContentsModule\n\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\nFwuLearningContentsModule -->\n\nAuthorizationModule->FwuLearningContentsModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nFwuLearningContentsModule -->\n\nCoreModule->FwuLearningContentsModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nFwuLearningContentsModule -->\n\nLoggerModule->FwuLearningContentsModule\n\n\n\n\n\nRabbitMQWrapperModule\n\nRabbitMQWrapperModule\n\nFwuLearningContentsModule -->\n\nRabbitMQWrapperModule->FwuLearningContentsModule\n\n\n\n\n\nS3ClientModule\n\nS3ClientModule\n\nFwuLearningContentsModule -->\n\nS3ClientModule->FwuLearningContentsModule\n\n\n\n\n\nFwuLearningContentsUc\n\nFwuLearningContentsUc\n\nFwuLearningContentsModule -->\n\nFwuLearningContentsUc->FwuLearningContentsModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/fwu-learning-contents/fwu-learning-contents.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n FwuLearningContentsUc\n \n \n \n \n Controllers\n \n \n FwuLearningContentsController\n \n \n \n \n Imports\n \n \n AuthenticationModule\n \n \n AuthorizationModule\n \n \n CoreModule\n \n \n LoggerModule\n \n \n RabbitMQWrapperModule\n \n \n S3ClientModule\n \n \n \n \n \n\n\n \n\n\n \n import { RabbitMQWrapperModule } from '@infra/rabbitmq';\nimport { S3ClientModule } from '@infra/s3-client';\nimport { Dictionary, IPrimaryKey } from '@mikro-orm/core';\nimport { MikroOrmModule, MikroOrmModuleSyncOptions } from '@mikro-orm/nestjs';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { HttpModule } from '@nestjs/axios';\nimport { Module, NotFoundException } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { Account, Role, SchoolEntity, SchoolYearEntity, SystemEntity, User } from '@shared/domain/entity';\nimport { DB_PASSWORD, DB_URL, DB_USERNAME, createConfigModuleOptions } from '@src/config';\nimport { CoreModule } from '@src/core';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthenticationModule } from '../authentication/authentication.module';\nimport { FwuLearningContentsController } from './controller/fwu-learning-contents.controller';\nimport { config, s3Config } from './fwu-learning-contents.config';\nimport { FwuLearningContentsUc } from './uc/fwu-learning-contents.uc';\n\nconst defaultMikroOrmOptions: MikroOrmModuleSyncOptions = {\n\tfindOneOrFailHandler: (entityName: string, where: Dictionary | IPrimaryKey) =>\n\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\tnew NotFoundException(`The requested ${entityName}: ${where} has not been found.`),\n};\n\n@Module({\n\timports: [\n\t\tAuthorizationModule,\n\t\tAuthenticationModule,\n\t\tCoreModule,\n\t\tLoggerModule,\n\t\tHttpModule,\n\t\tRabbitMQWrapperModule,\n\t\tMikroOrmModule.forRoot({\n\t\t\t...defaultMikroOrmOptions,\n\t\t\ttype: 'mongo',\n\t\t\t// TODO add mongoose options as mongo options (see database.js)\n\t\t\tclientUrl: DB_URL,\n\t\t\tpassword: DB_PASSWORD,\n\t\t\tuser: DB_USERNAME,\n\t\t\tentities: [User, Account, Role, SchoolEntity, SystemEntity, SchoolYearEntity],\n\n\t\t\t// debug: true, // use it for locally debugging of querys\n\t\t}),\n\t\tConfigModule.forRoot(createConfigModuleOptions(config)),\n\t\tS3ClientModule.register([s3Config]),\n\t],\n\tcontrollers: [FwuLearningContentsController],\n\tproviders: [FwuLearningContentsUc],\n})\nexport class FwuLearningContentsModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/FwuLearningContentsTestModule.html":{"url":"modules/FwuLearningContentsTestModule.html","title":"module - FwuLearningContentsTestModule","body":"\n \n\n\n\n\n Modules\n FwuLearningContentsTestModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_FwuLearningContentsTestModule\n\n\n\ncluster_FwuLearningContentsTestModule_providers\n\n\n\ncluster_FwuLearningContentsTestModule_imports\n\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\n\n\nFwuLearningContentsTestModule\n\nFwuLearningContentsTestModule\n\nFwuLearningContentsTestModule -->\n\nAuthenticationModule->FwuLearningContentsTestModule\n\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\nFwuLearningContentsTestModule -->\n\nAuthorizationModule->FwuLearningContentsTestModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nFwuLearningContentsTestModule -->\n\nCoreModule->FwuLearningContentsTestModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nFwuLearningContentsTestModule -->\n\nLoggerModule->FwuLearningContentsTestModule\n\n\n\n\n\nMongoMemoryDatabaseModule\n\nMongoMemoryDatabaseModule\n\nFwuLearningContentsTestModule -->\n\nMongoMemoryDatabaseModule->FwuLearningContentsTestModule\n\n\n\n\n\nRabbitMQWrapperTestModule\n\nRabbitMQWrapperTestModule\n\nFwuLearningContentsTestModule -->\n\nRabbitMQWrapperTestModule->FwuLearningContentsTestModule\n\n\n\n\n\nS3ClientModule\n\nS3ClientModule\n\nFwuLearningContentsTestModule -->\n\nS3ClientModule->FwuLearningContentsTestModule\n\n\n\n\n\nFwuLearningContentsUc\n\nFwuLearningContentsUc\n\nFwuLearningContentsTestModule -->\n\nFwuLearningContentsUc->FwuLearningContentsTestModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/fwu-learning-contents/fwu-learning-contents-test.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n FwuLearningContentsUc\n \n \n \n \n Controllers\n \n \n FwuLearningContentsController\n \n \n \n \n Imports\n \n \n AuthenticationModule\n \n \n AuthorizationModule\n \n \n CoreModule\n \n \n LoggerModule\n \n \n MongoMemoryDatabaseModule\n \n \n RabbitMQWrapperTestModule\n \n \n S3ClientModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options?: MongoDatabaseModuleOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/fwu-learning-contents/fwu-learning-contents-test.module.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n MongoDatabaseModuleOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { MongoMemoryDatabaseModule } from '@infra/database';\nimport { MongoDatabaseModuleOptions } from '@infra/database/mongo-memory-database/types';\nimport { RabbitMQWrapperTestModule } from '@infra/rabbitmq';\nimport { S3ClientModule } from '@infra/s3-client';\nimport { AuthenticationModule } from '@modules/authentication/authentication.module';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { HttpModule } from '@nestjs/axios';\nimport { DynamicModule, Module } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { Account, Role, SchoolEntity, SchoolYearEntity, SystemEntity, User } from '@shared/domain/entity';\nimport { createConfigModuleOptions } from '@src/config';\nimport { CoreModule } from '@src/core';\nimport { LoggerModule } from '@src/core/logger';\nimport { FwuLearningContentsController } from './controller/fwu-learning-contents.controller';\nimport { config, s3Config } from './fwu-learning-contents.config';\nimport { FwuLearningContentsUc } from './uc/fwu-learning-contents.uc';\n\nconst imports = [\n\tMongoMemoryDatabaseModule.forRoot({ entities: [User, Account, Role, SchoolEntity, SystemEntity, SchoolYearEntity] }),\n\tAuthorizationModule,\n\tAuthenticationModule,\n\tConfigModule.forRoot(createConfigModuleOptions(config)),\n\tHttpModule,\n\tCoreModule,\n\tLoggerModule,\n\tRabbitMQWrapperTestModule,\n\tS3ClientModule.register([s3Config]),\n];\nconst controllers = [FwuLearningContentsController];\nconst providers = [FwuLearningContentsUc];\n@Module({\n\timports,\n\tcontrollers,\n\tproviders,\n})\nexport class FwuLearningContentsTestModule {\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: FwuLearningContentsTestModule,\n\t\t\timports: [...imports, MongoMemoryDatabaseModule.forRoot({ ...options })],\n\t\t\tcontrollers,\n\t\t\tproviders,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FwuLearningContentsUc.html":{"url":"injectables/FwuLearningContentsUc.html","title":"injectable - FwuLearningContentsUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FwuLearningContentsUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/fwu-learning-contents/uc/fwu-learning-contents.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n get\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: LegacyLogger, storageClient: S3ClientAdapter)\n \n \n \n \n Defined in apps/server/src/modules/fwu-learning-contents/uc/fwu-learning-contents.uc.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n storageClient\n \n \n S3ClientAdapter\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n get\n \n \n \n \n \n \n \n get(path: string, bytesRange?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/fwu-learning-contents/uc/fwu-learning-contents.uc.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n path\n \n string\n \n\n \n No\n \n\n\n \n \n bytesRange\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Inject, Injectable } from '@nestjs/common';\nimport { S3ClientAdapter } from '@infra/s3-client';\nimport { LegacyLogger } from '@src/core/logger';\nimport { FWU_CONTENT_S3_CONNECTION } from '../fwu-learning-contents.config';\n\n@Injectable()\nexport class FwuLearningContentsUc {\n\tconstructor(\n\t\tprivate logger: LegacyLogger,\n\t\t@Inject(FWU_CONTENT_S3_CONNECTION) private readonly storageClient: S3ClientAdapter\n\t) {\n\t\tthis.logger.setContext(FwuLearningContentsUc.name);\n\t}\n\n\tasync get(path: string, bytesRange?: string) {\n\t\tconst response = await this.storageClient.get(path, bytesRange);\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GetFile.html":{"url":"interfaces/GetFile.html","title":"interface - GetFile","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GetFile\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/s3-client/interface/index.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n contentLength\n \n \n \n Optional\n \n contentRange\n \n \n \n Optional\n \n contentType\n \n \n \n \n data\n \n \n \n Optional\n \n etag\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contentLength\n \n \n \n \n \n \n \n \n contentLength: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentRange\n \n \n \n \n \n \n \n \n contentRange: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentType\n \n \n \n \n \n \n \n \n contentType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: Readable\n\n \n \n\n\n \n \n Type : Readable\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n etag\n \n \n \n \n \n \n \n \n etag: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Readable } from 'stream';\n\nexport interface S3Config {\n\tconnectionName: string;\n\tendpoint: string;\n\tregion: string;\n\tbucket: string;\n\taccessKeyId: string;\n\tsecretAccessKey: string;\n}\n\nexport interface GetFile {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n}\n\nexport interface CopyFiles {\n\tsourcePath: string;\n\ttargetPath: string;\n}\n\nexport interface File {\n\tdata: Readable;\n\tmimeType: string;\n}\n\nexport interface ListFiles {\n\tpath: string;\n\tmaxKeys?: number;\n\tnextMarker?: string;\n\tfiles?: string[];\n}\n\nexport interface ObjectKeysRecursive {\n\tpath: string;\n\tmaxKeys: number | undefined;\n\tnextMarker: string | undefined;\n\tfiles: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GetFileResponse.html":{"url":"interfaces/GetFileResponse.html","title":"interface - GetFileResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GetFileResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/interface/interfaces.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n contentLength\n \n \n \n Optional\n \n contentRange\n \n \n \n Optional\n \n contentType\n \n \n \n \n data\n \n \n \n Optional\n \n etag\n \n \n \n \n name\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contentLength\n \n \n \n \n \n \n \n \n contentLength: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentRange\n \n \n \n \n \n \n \n \n contentRange: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentType\n \n \n \n \n \n \n \n \n contentType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: Readable\n\n \n \n\n\n \n \n Type : Readable\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n etag\n \n \n \n \n \n \n \n \n etag: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Readable } from 'stream';\nimport type { PreviewParams } from '../controller/dto';\nimport { FileRecord } from '../entity';\n\nexport interface GetFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\nexport interface PreviewFileParams {\n\tfileRecord: FileRecord;\n\tpreviewParams: PreviewParams;\n\thash: string;\n\toriginFilePath: string;\n\tpreviewFilePath: string;\n\tformat: string;\n\tbytesRange?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GetFileResponse-1.html":{"url":"interfaces/GetFileResponse-1.html","title":"interface - GetFileResponse-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GetFileResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n contentLength\n \n \n \n Optional\n \n contentRange\n \n \n \n Optional\n \n contentType\n \n \n \n \n data\n \n \n \n Optional\n \n etag\n \n \n \n \n name\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contentLength\n \n \n \n \n \n \n \n \n contentLength: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentRange\n \n \n \n \n \n \n \n \n contentRange: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentType\n \n \n \n \n \n \n \n \n contentType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: Readable\n\n \n \n\n\n \n \n Type : Readable\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n etag\n \n \n \n \n \n \n \n \n etag: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { ContentParameters, IContentMetadata, IEditorModel, IIntegration } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { Readable } from 'stream';\n\nexport class H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel) {\n\t\tthis.integration = editorModel.integration;\n\t\tthis.scripts = editorModel.scripts;\n\t\tthis.styles = editorModel.styles;\n\t}\n\n\t@ApiProperty()\n\tintegration: IIntegration;\n\n\t// This is a list of URLs that point to the Javascript files the H5P editor needs to load\n\t@ApiProperty()\n\tscripts: string[];\n\n\t// This is a list of URLs that point to the CSS files the H5P editor needs to load\n\t@ApiProperty()\n\tstyles: string[];\n}\n\nexport interface GetH5PFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\ninterface H5PContentResponse {\n\th5p: IContentMetadata;\n\tlibrary: string;\n\tparams: {\n\t\tmetadata: IContentMetadata;\n\t\tparams: ContentParameters;\n\t};\n}\n\nexport class H5PEditorModelContentResponse extends H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel, content: H5PContentResponse) {\n\t\tsuper(editorModel);\n\n\t\tthis.library = content.library;\n\t\tthis.metadata = content.params.metadata;\n\t\tthis.params = content.params.params;\n\t}\n\n\t@ApiProperty()\n\tlibrary: string;\n\n\t@ApiProperty()\n\tmetadata: IContentMetadata;\n\n\t@ApiProperty()\n\tparams: unknown;\n}\n\nexport class H5PContentMetadata {\n\tconstructor(metadata: IContentMetadata) {\n\t\tthis.mainLibrary = metadata.mainLibrary;\n\t\tthis.title = metadata.title;\n\t}\n\n\t@ApiProperty()\n\ttitle: string;\n\n\t@ApiProperty()\n\tmainLibrary: string;\n}\n\nexport class H5PSaveResponse {\n\tconstructor(id: string, metadata: IContentMetadata) {\n\t\tthis.contentId = id;\n\t\tthis.metadata = metadata;\n\t}\n\n\t@ApiProperty()\n\tcontentId!: string;\n\n\t@ApiProperty({ type: H5PContentMetadata })\n\tmetadata!: H5PContentMetadata;\n}\n\nexport interface GetFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GetFwuLearningContentParams.html":{"url":"classes/GetFwuLearningContentParams.html","title":"class - GetFwuLearningContentParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GetFwuLearningContentParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/fwu-learning-contents/controller/dto/fwu-learning-contents.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n fwuLearningContent\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n fwuLearningContent\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@Matches('([A-Za-z]|[0-9])+(.html|.css|.mp4|.pdf|.doc|.png|.jpg|.gif|.min.js|.js|.ico|.txt|.min.css|.ttf|.svg|.woff|.ui.l|.mf.l)')@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/fwu-learning-contents/controller/dto/fwu-learning-contents.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsNotEmpty, IsString, Matches } from 'class-validator';\n\nexport class GetFwuLearningContentParams {\n\t@ApiProperty()\n\t@Matches(\n\t\t'([A-Za-z]|[0-9])+(.html|.css|.mp4|.pdf|.doc|.png|.jpg|.gif|.min.js|.js|.ico|.txt|.min.css|.ttf|.svg|.woff|.ui.l|.mf.l)'\n\t)\n\t@IsString()\n\t@IsNotEmpty()\n\tfwuLearningContent!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GetH5PContentParams.html":{"url":"classes/GetH5PContentParams.html","title":"class - GetH5PContentParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GetH5PContentParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contentId\n \n \n \n \n \n Optional\n language\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contentId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n language\n \n \n \n \n \n \n Type : LanguageType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: LanguageType, enumName: 'LanguageType'})@IsEnum(LanguageType)@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IContentMetadata } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\n\nimport { LanguageType } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { IsEnum, IsMongoId, IsNotEmpty, IsObject, IsOptional, IsString } from 'class-validator';\nimport { H5PContentParentType } from '../../entity';\n\nexport class GetH5PContentParams {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\t@IsOptional()\n\tlanguage?: LanguageType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class GetH5PEditorParamsCreate {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class GetH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class SaveH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class PostH5PContentParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tparams!: unknown;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tmetadata!: IContentMetadata;\n\n\t@ApiProperty()\n\t@IsString()\n\t@SanitizeHtml()\n\t@IsNotEmpty()\n\tmainLibraryUbername!: string;\n}\n\nexport class PostH5PContentCreateParams {\n\t@ApiProperty({ enum: H5PContentParentType, enumName: 'H5PContentParentType' })\n\t@IsEnum(H5PContentParentType)\n\tparentType!: H5PContentParentType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\t@IsObject()\n\tparams!: {\n\t\tparams: unknown;\n\t\tmetadata: IContentMetadata;\n\t};\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tlibrary!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GetH5PEditorParams.html":{"url":"classes/GetH5PEditorParams.html","title":"class - GetH5PEditorParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GetH5PEditorParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contentId\n \n \n \n \n language\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contentId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n language\n \n \n \n \n \n \n Type : LanguageType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: LanguageType, enumName: 'LanguageType'})@IsEnum(LanguageType)\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:34\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IContentMetadata } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\n\nimport { LanguageType } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { IsEnum, IsMongoId, IsNotEmpty, IsObject, IsOptional, IsString } from 'class-validator';\nimport { H5PContentParentType } from '../../entity';\n\nexport class GetH5PContentParams {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\t@IsOptional()\n\tlanguage?: LanguageType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class GetH5PEditorParamsCreate {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class GetH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class SaveH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class PostH5PContentParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tparams!: unknown;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tmetadata!: IContentMetadata;\n\n\t@ApiProperty()\n\t@IsString()\n\t@SanitizeHtml()\n\t@IsNotEmpty()\n\tmainLibraryUbername!: string;\n}\n\nexport class PostH5PContentCreateParams {\n\t@ApiProperty({ enum: H5PContentParentType, enumName: 'H5PContentParentType' })\n\t@IsEnum(H5PContentParentType)\n\tparentType!: H5PContentParentType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\t@IsObject()\n\tparams!: {\n\t\tparams: unknown;\n\t\tmetadata: IContentMetadata;\n\t};\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tlibrary!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GetH5PEditorParamsCreate.html":{"url":"classes/GetH5PEditorParamsCreate.html","title":"class - GetH5PEditorParamsCreate","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GetH5PEditorParamsCreate\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n language\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n language\n \n \n \n \n \n \n Type : LanguageType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: LanguageType, enumName: 'LanguageType'})@IsEnum(LanguageType)\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:24\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IContentMetadata } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\n\nimport { LanguageType } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { IsEnum, IsMongoId, IsNotEmpty, IsObject, IsOptional, IsString } from 'class-validator';\nimport { H5PContentParentType } from '../../entity';\n\nexport class GetH5PContentParams {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\t@IsOptional()\n\tlanguage?: LanguageType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class GetH5PEditorParamsCreate {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class GetH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class SaveH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class PostH5PContentParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tparams!: unknown;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tmetadata!: IContentMetadata;\n\n\t@ApiProperty()\n\t@IsString()\n\t@SanitizeHtml()\n\t@IsNotEmpty()\n\tmainLibraryUbername!: string;\n}\n\nexport class PostH5PContentCreateParams {\n\t@ApiProperty({ enum: H5PContentParentType, enumName: 'H5PContentParentType' })\n\t@IsEnum(H5PContentParentType)\n\tparentType!: H5PContentParentType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\t@IsObject()\n\tparams!: {\n\t\tparams: unknown;\n\t\tmetadata: IContentMetadata;\n\t};\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tlibrary!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GetH5PFileResponse.html":{"url":"interfaces/GetH5PFileResponse.html","title":"interface - GetH5PFileResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GetH5PFileResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n contentLength\n \n \n \n Optional\n \n contentRange\n \n \n \n Optional\n \n contentType\n \n \n \n \n data\n \n \n \n Optional\n \n etag\n \n \n \n \n name\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contentLength\n \n \n \n \n \n \n \n \n contentLength: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentRange\n \n \n \n \n \n \n \n \n contentRange: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentType\n \n \n \n \n \n \n \n \n contentType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: Readable\n\n \n \n\n\n \n \n Type : Readable\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n etag\n \n \n \n \n \n \n \n \n etag: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { ContentParameters, IContentMetadata, IEditorModel, IIntegration } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { Readable } from 'stream';\n\nexport class H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel) {\n\t\tthis.integration = editorModel.integration;\n\t\tthis.scripts = editorModel.scripts;\n\t\tthis.styles = editorModel.styles;\n\t}\n\n\t@ApiProperty()\n\tintegration: IIntegration;\n\n\t// This is a list of URLs that point to the Javascript files the H5P editor needs to load\n\t@ApiProperty()\n\tscripts: string[];\n\n\t// This is a list of URLs that point to the CSS files the H5P editor needs to load\n\t@ApiProperty()\n\tstyles: string[];\n}\n\nexport interface GetH5PFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\ninterface H5PContentResponse {\n\th5p: IContentMetadata;\n\tlibrary: string;\n\tparams: {\n\t\tmetadata: IContentMetadata;\n\t\tparams: ContentParameters;\n\t};\n}\n\nexport class H5PEditorModelContentResponse extends H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel, content: H5PContentResponse) {\n\t\tsuper(editorModel);\n\n\t\tthis.library = content.library;\n\t\tthis.metadata = content.params.metadata;\n\t\tthis.params = content.params.params;\n\t}\n\n\t@ApiProperty()\n\tlibrary: string;\n\n\t@ApiProperty()\n\tmetadata: IContentMetadata;\n\n\t@ApiProperty()\n\tparams: unknown;\n}\n\nexport class H5PContentMetadata {\n\tconstructor(metadata: IContentMetadata) {\n\t\tthis.mainLibrary = metadata.mainLibrary;\n\t\tthis.title = metadata.title;\n\t}\n\n\t@ApiProperty()\n\ttitle: string;\n\n\t@ApiProperty()\n\tmainLibrary: string;\n}\n\nexport class H5PSaveResponse {\n\tconstructor(id: string, metadata: IContentMetadata) {\n\t\tthis.contentId = id;\n\t\tthis.metadata = metadata;\n\t}\n\n\t@ApiProperty()\n\tcontentId!: string;\n\n\t@ApiProperty({ type: H5PContentMetadata })\n\tmetadata!: H5PContentMetadata;\n}\n\nexport interface GetFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GetH5pFileResponse.html":{"url":"interfaces/GetH5pFileResponse.html","title":"interface - GetH5pFileResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GetH5pFileResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-file.dto.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n contentLength\n \n \n \n Optional\n \n contentRange\n \n \n \n Optional\n \n contentType\n \n \n \n \n data\n \n \n \n Optional\n \n etag\n \n \n \n \n name\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contentLength\n \n \n \n \n \n \n \n \n contentLength: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentRange\n \n \n \n \n \n \n \n \n contentRange: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentType\n \n \n \n \n \n \n \n \n contentType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: Readable\n\n \n \n\n\n \n \n Type : Readable\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n etag\n \n \n \n \n \n \n \n \n etag: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Readable } from 'stream';\nimport { File } from '@infra/s3-client';\n\nexport class H5pFileDto implements File {\n\tconstructor(file: H5pFileDto) {\n\t\tthis.name = file.name;\n\t\tthis.data = file.data;\n\t\tthis.mimeType = file.mimeType;\n\t}\n\n\tname: string;\n\n\tdata: Readable;\n\n\tmimeType: string;\n}\n\nexport interface GetH5pFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\nexport interface GetLibraryFile {\n\tdata: Readable;\n\tcontentType: string;\n\tcontentLength: number;\n\tcontentRange?: { start: number; end: number };\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GetLibraryFile.html":{"url":"interfaces/GetLibraryFile.html","title":"interface - GetLibraryFile","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GetLibraryFile\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-file.dto.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contentLength\n \n \n \n Optional\n \n contentRange\n \n \n \n \n contentType\n \n \n \n \n data\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contentLength\n \n \n \n \n \n \n \n \n contentLength: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n contentRange\n \n \n \n \n \n \n \n \n contentRange: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentType\n \n \n \n \n \n \n \n \n contentType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: Readable\n\n \n \n\n\n \n \n Type : Readable\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Readable } from 'stream';\nimport { File } from '@infra/s3-client';\n\nexport class H5pFileDto implements File {\n\tconstructor(file: H5pFileDto) {\n\t\tthis.name = file.name;\n\t\tthis.data = file.data;\n\t\tthis.mimeType = file.mimeType;\n\t}\n\n\tname: string;\n\n\tdata: Readable;\n\n\tmimeType: string;\n}\n\nexport interface GetH5pFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\nexport interface GetLibraryFile {\n\tdata: Readable;\n\tcontentType: string;\n\tcontentLength: number;\n\tcontentRange?: { start: number; end: number };\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GetLibraryFile-1.html":{"url":"interfaces/GetLibraryFile-1.html","title":"interface - GetLibraryFile-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GetLibraryFile\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/uc/dto/h5p-getLibraryFile.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contentLength\n \n \n \n Optional\n \n contentRange\n \n \n \n \n contentType\n \n \n \n \n data\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contentLength\n \n \n \n \n \n \n \n \n contentLength: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n contentRange\n \n \n \n \n \n \n \n \n contentRange: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentType\n \n \n \n \n \n \n \n \n contentType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: Readable\n\n \n \n\n\n \n \n Type : Readable\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Readable } from 'stream';\n\nexport interface GetLibraryFile {\n\tdata: Readable;\n\tcontentType: string;\n\tcontentLength: number;\n\tcontentRange?: { start: number; end: number };\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GetMetaTagDataBody.html":{"url":"classes/GetMetaTagDataBody.html","title":"class - GetMetaTagDataBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GetMetaTagDataBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/controller/post-link-url.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/controller/post-link-url.body.params.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsString } from 'class-validator';\n\nexport class GetMetaTagDataBody {\n\t@IsString()\n\t@ApiProperty({\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\turl!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GlobalConstants.html":{"url":"interfaces/GlobalConstants.html","title":"interface - GlobalConstants","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GlobalConstants\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/config/database.config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n DB_PASSWORD\n \n \n \n \n DB_URL\n \n \n \n Optional\n \n DB_USERNAME\n \n \n \n \n TLDRAW_DB_URL\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n DB_PASSWORD\n \n \n \n \n \n \n \n \n DB_PASSWORD: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n DB_URL\n \n \n \n \n \n \n \n \n DB_URL: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n DB_USERNAME\n \n \n \n \n \n \n \n \n DB_USERNAME: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n TLDRAW_DB_URL\n \n \n \n \n \n \n \n \n TLDRAW_DB_URL: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import globals = require('../../../../config/globals');\n\ninterface GlobalConstants {\n\tDB_URL: string;\n\tDB_PASSWORD?: string;\n\tDB_USERNAME?: string;\n\tTLDRAW_DB_URL: string;\n}\n\nconst usedGlobals: GlobalConstants = globals;\n\n/** Database URL */\nexport const { DB_URL, DB_PASSWORD, DB_USERNAME, TLDRAW_DB_URL } = usedGlobals;\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GlobalErrorFilter.html":{"url":"classes/GlobalErrorFilter.html","title":"class - GlobalErrorFilter","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GlobalErrorFilter\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/error/filter/global-error.filter.ts\n \n\n\n\n\n \n Implements\n \n \n ExceptionFilter\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n catch\n \n \n Private\n createErrorLoggable\n \n \n Private\n createErrorResponse\n \n \n Private\n createErrorResponseForBusinessError\n \n \n Private\n createErrorResponseForFeathersError\n \n \n Private\n createErrorResponseForNestHttpException\n \n \n Private\n createErrorResponseForUnknownError\n \n \n Private\n sendHttpResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: ErrorLogger)\n \n \n \n \n Defined in apps/server/src/core/error/filter/global-error.filter.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n ErrorLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n catch\n \n \n \n \n \n \ncatch(error: T, host: ArgumentsHost)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/filter/global-error.filter.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n T\n \n\n \n No\n \n\n\n \n \n host\n \n ArgumentsHost\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void | RpcMessage\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createErrorLoggable\n \n \n \n \n \n \n \n createErrorLoggable(error)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/filter/global-error.filter.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n error\n\n \n No\n \n\n\n \n \n \n \n \n Returns : Loggable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createErrorResponse\n \n \n \n \n \n \n \n createErrorResponse(error)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/filter/global-error.filter.ts:56\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n error\n\n \n No\n \n\n\n \n \n \n \n \n Returns : ErrorResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createErrorResponseForBusinessError\n \n \n \n \n \n \n \n createErrorResponseForBusinessError(error: BusinessError)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/filter/global-error.filter.ts:80\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n BusinessError\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ErrorResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createErrorResponseForFeathersError\n \n \n \n \n \n \n \n createErrorResponseForFeathersError(error: FeathersError)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/filter/global-error.filter.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n FeathersError\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createErrorResponseForNestHttpException\n \n \n \n \n \n \n \n createErrorResponseForNestHttpException(exception: HttpException)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/filter/global-error.filter.ts:92\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n exception\n \n HttpException\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ErrorResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createErrorResponseForUnknownError\n \n \n \n \n \n \n \n createErrorResponseForUnknownError()\n \n \n\n\n \n \n Defined in apps/server/src/core/error/filter/global-error.filter.ts:102\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n sendHttpResponse\n \n \n \n \n \n \n \n sendHttpResponse(error: T, host: ArgumentsHost)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/filter/global-error.filter.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n T\n \n\n \n No\n \n\n\n \n \n host\n \n ArgumentsHost\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { IError, RpcMessage } from '@infra/rabbitmq/rpc-message';\nimport { ArgumentsHost, Catch, ExceptionFilter, HttpException, InternalServerErrorException } from '@nestjs/common';\nimport { ApiValidationError, BusinessError } from '@shared/common';\nimport { ErrorLogger, Loggable } from '@src/core/logger';\nimport { LoggingUtils } from '@src/core/logger/logging.utils';\nimport { Response } from 'express';\nimport _ from 'lodash';\nimport util from 'util';\nimport { ApiValidationErrorResponse, ErrorResponse } from '../dto';\nimport { FeathersError } from '../interface';\nimport { ErrorLoggable } from '../loggable/error.loggable';\nimport { ErrorUtils } from '../utils';\n\n@Catch()\nexport class GlobalErrorFilter implements ExceptionFilter {\n\tconstructor(private readonly logger: ErrorLogger) {}\n\n\t// eslint-disable-next-line consistent-return\n\tcatch(error: T, host: ArgumentsHost): void | RpcMessage {\n\t\tconst loggable = this.createErrorLoggable(error);\n\t\tthis.logger.error(loggable);\n\n\t\tconst contextType = host.getType();\n\n\t\tif (contextType === 'http') {\n\t\t\tthis.sendHttpResponse(error, host);\n\t\t}\n\n\t\tif (contextType === 'rmq') {\n\t\t\treturn { message: undefined, error };\n\t\t}\n\t}\n\n\tprivate createErrorLoggable(error: unknown): Loggable {\n\t\tlet loggable: Loggable;\n\n\t\tif (LoggingUtils.isInstanceOfLoggable(error)) {\n\t\t\tloggable = error;\n\t\t} else if (error instanceof Error) {\n\t\t\tloggable = new ErrorLoggable(error);\n\t\t} else {\n\t\t\tconst unknownError = new Error(util.inspect(error));\n\t\t\tloggable = new ErrorLoggable(unknownError);\n\t\t}\n\n\t\treturn loggable;\n\t}\n\n\tprivate sendHttpResponse(error: T, host: ArgumentsHost): void {\n\t\tconst errorResponse = this.createErrorResponse(error);\n\t\tconst httpArgumentHost = host.switchToHttp();\n\t\tconst response = httpArgumentHost.getResponse();\n\t\tresponse.status(errorResponse.code).json(errorResponse);\n\t}\n\n\tprivate createErrorResponse(error: unknown): ErrorResponse {\n\t\tlet response: ErrorResponse;\n\n\t\tif (ErrorUtils.isFeathersError(error)) {\n\t\t\tresponse = this.createErrorResponseForFeathersError(error);\n\t\t} else if (ErrorUtils.isBusinessError(error)) {\n\t\t\tresponse = this.createErrorResponseForBusinessError(error);\n\t\t} else if (ErrorUtils.isNestHttpException(error)) {\n\t\t\tresponse = this.createErrorResponseForNestHttpException(error);\n\t\t} else {\n\t\t\tresponse = this.createErrorResponseForUnknownError();\n\t\t}\n\n\t\treturn response;\n\t}\n\n\tprivate createErrorResponseForFeathersError(error: FeathersError) {\n\t\tconst { code, className, name, message } = error;\n\t\tconst type = _.snakeCase(className).toUpperCase();\n\t\tconst title = _.startCase(name);\n\n\t\treturn new ErrorResponse(type, title, message, code);\n\t}\n\n\tprivate createErrorResponseForBusinessError(error: BusinessError): ErrorResponse {\n\t\tlet response: ErrorResponse;\n\n\t\tif (error instanceof ApiValidationError) {\n\t\t\tresponse = new ApiValidationErrorResponse(error);\n\t\t} else {\n\t\t\tresponse = error.getResponse();\n\t\t}\n\n\t\treturn response;\n\t}\n\n\tprivate createErrorResponseForNestHttpException(exception: HttpException): ErrorResponse {\n\t\tconst code = exception.getStatus();\n\t\tconst msg = exception.message || 'Some error occurred';\n\t\tconst exceptionName = exception.constructor.name.replace('Loggable', '').replace('Exception', '');\n\t\tconst type = _.snakeCase(exceptionName).toUpperCase();\n\t\tconst title = _.startCase(exceptionName);\n\n\t\treturn new ErrorResponse(type, title, msg, code);\n\t}\n\n\tprivate createErrorResponseForUnknownError(): ErrorResponse {\n\t\tconst error = new InternalServerErrorException();\n\t\tconst response = this.createErrorResponseForNestHttpException(error);\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GlobalValidationPipe.html":{"url":"classes/GlobalValidationPipe.html","title":"class - GlobalValidationPipe","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GlobalValidationPipe\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/validation/pipe/global-validation.pipe.ts\n \n\n\n \n Description\n \n \n \nGlobal Pipe setup\n\nValidation of DTOs will base on type-checking\nwhich is enabled by default. To you might use\nthe class-validator decorators to extend\nvalidation.\n\n \n\n \n Extends\n \n \n ValidationPipe\n \n\n\n\n\n \n Constructor\n \n \n \n \nconstructor()\n \n \n \n \n Defined in apps/server/src/core/validation/pipe/global-validation.pipe.ts:12\n \n \n\n \n \n\n\n\n\n\n\n\n\n\n \n\n\n \n import { ValidationError, ValidationPipe } from '@nestjs/common';\nimport { ApiValidationError } from '@shared/common';\n\n/** *********************************************\n * Global Pipe setup\n * **********************************************\n * Validation of DTOs will base on type-checking\n * which is enabled by default. To you might use\n * the class-validator decorators to extend\n * validation.\n */\nexport class GlobalValidationPipe extends ValidationPipe {\n\tconstructor() {\n\t\tsuper({\n\t\t\t// enable DTO instance creation for incoming data\n\t\t\ttransform: true,\n\t\t\ttransformOptions: {\n\t\t\t\t// enable type coersion, requires transform:true\n\t\t\t\tenableImplicitConversion: true,\n\t\t\t},\n\t\t\twhitelist: true, // only pass valid @ApiProperty-decorated DTO properties, remove others\n\t\t\tforbidNonWhitelisted: false, // additional params are just skipped (required when extracting multiple DTO from single query)\n\t\t\tforbidUnknownValues: true,\n\t\t\texceptionFactory: (errors: ValidationError[]) => new ApiValidationError(errors),\n\t\t\tvalidationError: {\n\t\t\t\t// make sure target (DTO) is set on validation error\n\t\t\t\t// we need this to be able to get DTO metadata for checking if a value has to be the obfuscated on output\n\t\t\t\t// see e.g. ErrorLoggable\n\t\t\t\ttarget: true,\n\t\t\t\tvalue: true,\n\t\t\t},\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GridElement.html":{"url":"classes/GridElement.html","title":"class - GridElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GridElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/dashboard.entity.ts\n \n\n\n\n\n \n Implements\n \n \n IGridElement\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n id\n \n \n references\n \n \n Private\n sortReferences\n \n \n Optional\n title\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n addReferences\n \n \n Static\n FromGroup\n \n \n Static\n FromPersistedGroup\n \n \n Static\n FromPersistedReference\n \n \n Static\n FromSingleReference\n \n \n getContent\n \n \n getId\n \n \n getReferences\n \n \n hasId\n \n \n isGroup\n \n \n removeReference\n \n \n removeReferenceByIndex\n \n \n setGroupName\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \n Private\n constructor(props: literal type)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:52\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n literal type\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:38\n \n \n\n\n \n \n \n \n \n \n \n \n references\n \n \n \n \n \n \n Type : Learnroom[]\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:76\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n sortReferences\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:40\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n addReferences\n \n \n \n \n \n \naddReferences(anotherReference: Learnroom[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:108\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n anotherReference\n \n Learnroom[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n FromGroup\n \n \n \n \n \n \n \n FromGroup(title: string, references: Learnroom[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n title\n \n string\n \n\n \n No\n \n\n\n \n \n references\n \n Learnroom[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GridElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n FromPersistedGroup\n \n \n \n \n \n \n \n FromPersistedGroup(id: EntityId, title: string | undefined, group: Learnroom[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:64\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n title\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n group\n \n Learnroom[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GridElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n FromPersistedReference\n \n \n \n \n \n \n \n FromPersistedReference(id: EntityId, reference: Learnroom)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n reference\n \n Learnroom\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GridElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n FromSingleReference\n \n \n \n \n \n \n \n FromSingleReference(reference: Learnroom)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:68\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n reference\n \n Learnroom\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GridElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getContent\n \n \n \n \n \n \ngetContent()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:117\n \n \n\n\n \n \n\n \n Returns : GridElementContent\n\n \n \n \n \n \n \n \n \n \n \n \n getId\n \n \n \n \n \n \ngetId()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:82\n \n \n\n\n \n \n\n \n Returns : EntityId | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n getReferences\n \n \n \n \n \n \ngetReferences()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:86\n \n \n\n\n \n \n\n \n Returns : Learnroom[]\n\n \n \n \n \n \n \n \n \n \n \n \n hasId\n \n \n \n \n \n \nhasId()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:78\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n isGroup\n \n \n \n \n \n \nisGroup()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:138\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n removeReference\n \n \n \n \n \n \nremoveReference(reference: Learnroom)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:100\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n reference\n \n Learnroom\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeReferenceByIndex\n \n \n \n \n \n \nremoveReferenceByIndex(index: number)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:90\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n index\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setGroupName\n \n \n \n \n \n \nsetGroupName(newGroupName: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:142\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n newGroupName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BadRequestException, NotFoundException } from '@nestjs/common';\nimport { Learnroom } from '@shared/domain/interface';\nimport { EntityId, LearnroomMetadata } from '@shared/domain/types';\n\nconst defaultColumns = 4;\n\nexport interface IGridElement {\n\thasId(): boolean;\n\n\tgetId: () => EntityId | undefined;\n\n\tgetContent: () => GridElementContent;\n\n\tisGroup(): boolean;\n\n\tremoveReferenceByIndex(index: number): void;\n\n\tremoveReference(reference: Learnroom): void;\n\n\tgetReferences(): Learnroom[];\n\n\taddReferences(anotherReference: Learnroom[]): void;\n\n\tsetGroupName(newGroupName: string): void;\n}\n\nexport type GridElementContent = {\n\treferencedId?: string;\n\ttitle?: string;\n\tshortTitle: string;\n\tdisplayColor: string;\n\tgroup?: LearnroomMetadata[];\n\tgroupId?: string;\n\tcopyingSince?: Date;\n};\n\nexport class GridElement implements IGridElement {\n\tid?: EntityId;\n\n\ttitle?: string;\n\n\tprivate sortReferences = (a: Learnroom, b: Learnroom) => {\n\t\tconst titleA = a.getMetadata().title;\n\t\tconst titleB = b.getMetadata().title;\n\t\tif (titleA titleB) {\n\t\t\treturn 1;\n\t\t}\n\t\treturn 0;\n\t};\n\n\tprivate constructor(props: { id?: EntityId; title?: string; references: Learnroom[] }) {\n\t\tif (props.id) this.id = props.id;\n\t\tif (props.title) this.title = props.title;\n\t\tthis.references = props.references.sort(this.sortReferences);\n\t}\n\n\tstatic FromPersistedReference(id: EntityId, reference: Learnroom): GridElement {\n\t\treturn new GridElement({ id, references: [reference] });\n\t}\n\n\tstatic FromPersistedGroup(id: EntityId, title: string | undefined, group: Learnroom[]): GridElement {\n\t\treturn new GridElement({ id, title, references: group });\n\t}\n\n\tstatic FromSingleReference(reference: Learnroom): GridElement {\n\t\treturn new GridElement({ references: [reference] });\n\t}\n\n\tstatic FromGroup(title: string, references: Learnroom[]): GridElement {\n\t\treturn new GridElement({ title, references });\n\t}\n\n\treferences: Learnroom[];\n\n\thasId(): boolean {\n\t\treturn !!this.id;\n\t}\n\n\tgetId(): EntityId | undefined {\n\t\treturn this.id;\n\t}\n\n\tgetReferences(): Learnroom[] {\n\t\treturn this.references;\n\t}\n\n\tremoveReferenceByIndex(index: number): void {\n\t\tif (!this.isGroup()) {\n\t\t\tthrow new BadRequestException('this element is not a group.');\n\t\t}\n\t\tif (index > 0 && this.references.length reference.getMetadata());\n\t\tconst checkShortTitle = this.title ? this.title.substring(0, 2) : '';\n\t\tconst groupMetadata = {\n\t\t\tgroupId: this.getId(),\n\t\t\ttitle: this.title,\n\t\t\tshortTitle: checkShortTitle,\n\t\t\tdisplayColor: 'exampleColor',\n\t\t\tgroup: groupData,\n\t\t};\n\t\treturn groupMetadata;\n\t}\n\n\tisGroup(): boolean {\n\t\treturn this.references.length > 1;\n\t}\n\n\tsetGroupName(newGroupName: string): void {\n\t\tif (!this.isGroup()) {\n\t\t\treturn;\n\t\t}\n\t\tthis.title = newGroupName;\n\t}\n}\n\nexport type GridPosition = { x: number; y: number };\nexport type GridPositionWithGroupIndex = { x: number; y: number; groupIndex?: number };\n\nexport type GridElementWithPosition = {\n\tgridElement: IGridElement;\n\tpos: GridPosition;\n};\n\nexport type DashboardProps = { colums?: number; grid: GridElementWithPosition[]; userId: EntityId };\n\nexport class DashboardEntity {\n\tid: EntityId;\n\n\tcolumns: number;\n\n\tgrid: Map;\n\n\tuserId: EntityId;\n\n\tprivate gridIndexFromPosition(pos: GridPosition): number {\n\t\tif (pos.x > this.columns) {\n\t\t\tthrow new BadRequestException('dashboard element position is outside the grid.');\n\t\t}\n\t\treturn this.columns * pos.y + pos.x;\n\t}\n\n\tprivate positionFromGridIndex(index: number): GridPosition {\n\t\tconst y = Math.floor(index / this.columns);\n\t\tconst x = index % this.columns;\n\t\treturn { x, y };\n\t}\n\n\tconstructor(id: string, props: DashboardProps) {\n\t\tthis.columns = props.colums || defaultColumns;\n\t\tthis.grid = new Map();\n\t\tprops.grid.forEach((element) => {\n\t\t\tthis.grid.set(this.gridIndexFromPosition(element.pos), element.gridElement);\n\t\t});\n\t\tthis.id = id;\n\t\tthis.userId = props.userId;\n\t\tObject.assign(this, {});\n\t}\n\n\tgetId(): string {\n\t\treturn this.id;\n\t}\n\n\tgetUserId(): EntityId {\n\t\treturn this.userId;\n\t}\n\n\tgetGrid(): GridElementWithPosition[] {\n\t\tconst result = [...this.grid.keys()].map((key) => {\n\t\t\tconst position = this.positionFromGridIndex(key);\n\t\t\tconst value = this.grid.get(key) as IGridElement;\n\t\t\treturn {\n\t\t\t\tpos: position,\n\t\t\t\tgridElement: value,\n\t\t\t};\n\t\t});\n\t\treturn result;\n\t}\n\n\tgetElement(position: GridPosition): IGridElement {\n\t\tconst element = this.grid.get(this.gridIndexFromPosition(position));\n\t\tif (!element) {\n\t\t\tthrow new NotFoundException('no element at grid position');\n\t\t}\n\t\treturn element;\n\t}\n\n\tmoveElement(from: GridPositionWithGroupIndex, to: GridPositionWithGroupIndex): GridElementWithPosition {\n\t\tconst elementToMove = this.getReferencesFromPosition(from);\n\t\tconst resultElement = this.mergeElementIntoPosition(elementToMove, to);\n\t\tthis.removeFromPosition(from);\n\t\treturn {\n\t\t\tpos: to,\n\t\t\tgridElement: resultElement,\n\t\t};\n\t}\n\n\tsetLearnRooms(rooms: Learnroom[]): void {\n\t\tthis.removeRoomsNotInList(rooms);\n\t\tconst newRooms = this.determineNewRoomsIn(rooms);\n\n\t\tnewRooms.forEach((room) => {\n\t\t\tthis.addRoom(room);\n\t\t});\n\t}\n\n\tprivate removeRoomsNotInList(roomList: Learnroom[]): void {\n\t\t[...this.grid.keys()].forEach((key) => {\n\t\t\tconst element = this.grid.get(key) as IGridElement;\n\t\t\tconst currentRooms = element.getReferences();\n\t\t\tcurrentRooms.forEach((room) => {\n\t\t\t\tif (!roomList.includes(room)) {\n\t\t\t\t\telement.removeReference(room);\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (element.getReferences().length === 0) {\n\t\t\t\tthis.grid.delete(key);\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate determineNewRoomsIn(rooms: Learnroom[]): Learnroom[] {\n\t\tconst result: Learnroom[] = [];\n\t\tconst existingRooms = this.allRooms();\n\t\trooms.forEach((room) => {\n\t\t\tif (!existingRooms.includes(room)) {\n\t\t\t\tresult.push(room);\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t}\n\n\tprivate allRooms(): Learnroom[] {\n\t\tconst elements = [...this.grid.values()];\n\t\tconst references = elements.map((el) => el.getReferences()).flat();\n\t\treturn references;\n\t}\n\n\tprivate addRoom(room: Learnroom): void {\n\t\tconst index = this.getFirstOpenIndex();\n\t\tconst newElement = GridElement.FromSingleReference(room);\n\t\tthis.grid.set(index, newElement);\n\t}\n\n\tprivate getFirstOpenIndex(): number {\n\t\tlet i = 0;\n\t\twhile (this.grid.get(i) !== undefined) {\n\t\t\ti += 1;\n\t\t}\n\t\treturn i;\n\t}\n\n\tprivate getReferencesFromPosition(position: GridPositionWithGroupIndex): IGridElement {\n\t\tconst elementToMove = this.getElement(position);\n\n\t\tif (typeof position.groupIndex === 'number' && elementToMove.isGroup()) {\n\t\t\tconst references = elementToMove.getReferences();\n\t\t\tconst referenceForIndex = references[position.groupIndex];\n\t\t\treturn GridElement.FromSingleReference(referenceForIndex);\n\t\t}\n\n\t\treturn elementToMove;\n\t}\n\n\tprivate removeFromPosition(position: GridPositionWithGroupIndex): void {\n\t\tconst element = this.getElement(position);\n\t\tif (typeof position.groupIndex === 'number') {\n\t\t\telement.removeReferenceByIndex(position.groupIndex);\n\t\t} else {\n\t\t\tthis.grid.delete(this.gridIndexFromPosition(position));\n\t\t}\n\t}\n\n\tprivate mergeElementIntoPosition(element: IGridElement, position: GridPosition): IGridElement {\n\t\tconst targetElement = this.grid.get(this.gridIndexFromPosition(position));\n\t\tif (targetElement) {\n\t\t\ttargetElement.addReferences(element.getReferences());\n\t\t\treturn targetElement;\n\t\t}\n\t\tthis.grid.set(this.gridIndexFromPosition(position), element);\n\t\treturn element;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Group.html":{"url":"classes/Group.html","title":"class - Group","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Group\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/domain/group.ts\n \n\n\n\n \n Extends\n \n \n DomainObject\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n addUser\n \n \n isEmpty\n \n \n removeUser\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n name\n \n \n users\n \n \n externalSource\n \n \n organizationId\n \n \n type\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n addUser\n \n \n \n \n \n \naddUser(user: GroupUser)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/domain/group.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n GroupUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isEmpty\n \n \n \n \n \n \nisEmpty()\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/domain/group.ts:54\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n removeUser\n \n \n \n \n \n \nremoveUser(user: UserDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/domain/group.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n name\n \n \n\n \n \n getname()\n \n \n \n \n Defined in apps/server/src/modules/group/domain/group.ts:26\n \n \n\n \n \n \n \n \n \n \n users\n \n \n\n \n \n getusers()\n \n \n \n \n Defined in apps/server/src/modules/group/domain/group.ts:30\n \n \n\n \n \n setusers(value: GroupUser[])\n \n \n \n \n Defined in apps/server/src/modules/group/domain/group.ts:34\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n GroupUser[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n externalSource\n \n \n\n \n \n getexternalSource()\n \n \n \n \n Defined in apps/server/src/modules/group/domain/group.ts:38\n \n \n\n \n \n \n \n \n \n \n organizationId\n \n \n\n \n \n getorganizationId()\n \n \n \n \n Defined in apps/server/src/modules/group/domain/group.ts:42\n \n \n\n \n \n \n \n \n \n \n type\n \n \n\n \n \n gettype()\n \n \n \n \n Defined in apps/server/src/modules/group/domain/group.ts:46\n \n \n\n \n \n\n \n\n\n \n import { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { ExternalSource, type UserDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { GroupTypes } from './group-types';\nimport { GroupUser } from './group-user';\n\nexport interface GroupProps extends AuthorizableObject {\n\tid: EntityId;\n\n\tname: string;\n\n\ttype: GroupTypes;\n\n\tvalidFrom?: Date;\n\n\tvalidUntil?: Date;\n\n\texternalSource?: ExternalSource;\n\n\tusers: GroupUser[];\n\n\torganizationId?: string;\n}\n\nexport class Group extends DomainObject {\n\tget name(): string {\n\t\treturn this.props.name;\n\t}\n\n\tget users(): GroupUser[] {\n\t\treturn this.props.users;\n\t}\n\n\tset users(value: GroupUser[]) {\n\t\tthis.props.users = value;\n\t}\n\n\tget externalSource(): ExternalSource | undefined {\n\t\treturn this.props.externalSource;\n\t}\n\n\tget organizationId(): string | undefined {\n\t\treturn this.props.organizationId;\n\t}\n\n\tget type(): GroupTypes {\n\t\treturn this.props.type;\n\t}\n\n\tremoveUser(user: UserDO): void {\n\t\tthis.props.users = this.props.users.filter((groupUser: GroupUser): boolean => groupUser.userId !== user.id);\n\t}\n\n\tisEmpty(): boolean {\n\t\treturn this.props.users.length === 0;\n\t}\n\n\taddUser(user: GroupUser): void {\n\t\tif (!this.users.find((u) => u.userId === user.userId)) {\n\t\t\tthis.users.push(user);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/GroupApiModule.html":{"url":"modules/GroupApiModule.html","title":"module - GroupApiModule","body":"\n \n\n\n\n\n Modules\n GroupApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_GroupApiModule\n\n\n\ncluster_GroupApiModule_providers\n\n\n\ncluster_GroupApiModule_imports\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nGroupApiModule\n\nGroupApiModule\n\nGroupApiModule -->\n\nAuthorizationModule->GroupApiModule\n\n\n\n\n\nClassModule\n\nClassModule\n\nGroupApiModule -->\n\nClassModule->GroupApiModule\n\n\n\n\n\nGroupModule\n\nGroupModule\n\nGroupApiModule -->\n\nGroupModule->GroupApiModule\n\n\n\n\n\nLegacySchoolModule\n\nLegacySchoolModule\n\nGroupApiModule -->\n\nLegacySchoolModule->GroupApiModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nGroupApiModule -->\n\nLoggerModule->GroupApiModule\n\n\n\n\n\nRoleModule\n\nRoleModule\n\nGroupApiModule -->\n\nRoleModule->GroupApiModule\n\n\n\n\n\nSystemModule\n\nSystemModule\n\nGroupApiModule -->\n\nSystemModule->GroupApiModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nGroupApiModule -->\n\nUserModule->GroupApiModule\n\n\n\n\n\nGroupUc\n\nGroupUc\n\nGroupApiModule -->\n\nGroupUc->GroupApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/group/group-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n GroupUc\n \n \n \n \n Controllers\n \n \n GroupController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n ClassModule\n \n \n GroupModule\n \n \n LegacySchoolModule\n \n \n LoggerModule\n \n \n RoleModule\n \n \n SystemModule\n \n \n UserModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { ClassModule } from '@modules/class';\nimport { RoleModule } from '@modules/role';\nimport { LegacySchoolModule } from '@modules/legacy-school';\nimport { SystemModule } from '@modules/system';\nimport { UserModule } from '@modules/user';\nimport { LoggerModule } from '@src/core/logger';\nimport { GroupController } from './controller';\nimport { GroupModule } from './group.module';\nimport { GroupUc } from './uc';\n\n@Module({\n\timports: [\n\t\tGroupModule,\n\t\tClassModule,\n\t\tUserModule,\n\t\tRoleModule,\n\t\tLegacySchoolModule,\n\t\tAuthorizationModule,\n\t\tSystemModule,\n\t\tLoggerModule,\n\t],\n\tcontrollers: [GroupController],\n\tproviders: [GroupUc],\n})\nexport class GroupApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/GroupController.html":{"url":"controllers/GroupController.html","title":"controller - GroupController","body":"\n \n\n\n\n\n\n\n Controllers\n GroupController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/controller/group.controller.ts\n \n\n \n Prefix\n \n \n groups\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findClasses\n \n \n \n \n \n \n \n Public\n Async\n getGroup\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findClasses\n \n \n \n \n \n \n \n findClasses(pagination: PaginationParams, sortingQuery: ClassSortParams, filterParams: ClassFilterParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Get a list of classes and groups of type class for the current user.'})@ApiResponse({status: undefined, type: ClassInfoSearchListResponse})@ApiResponse({status: '4XX', type: ErrorResponse})@ApiResponse({status: '5XX', type: ErrorResponse})@Get('/class')\n \n \n\n \n \n Defined in apps/server/src/modules/group/controller/group.controller.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pagination\n \n PaginationParams\n \n\n \n No\n \n\n\n \n \n sortingQuery\n \n ClassSortParams\n \n\n \n No\n \n\n\n \n \n filterParams\n \n ClassFilterParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getGroup\n \n \n \n \n \n \n \n getGroup(currentUser: ICurrentUser, params: GroupIdParams)\n \n \n\n \n \n Decorators : \n \n @Get('/:groupId')@ApiOperation({summary: 'Get a group by id.'})@ApiResponse({status: undefined, type: GroupResponse})@ApiResponse({status: '4XX', type: ErrorResponse})@ApiResponse({status: '5XX', type: ErrorResponse})\n \n \n\n \n \n Defined in apps/server/src/modules/group/controller/group.controller.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n GroupIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Controller, Get, HttpStatus, Param, Query } from '@nestjs/common';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { PaginationParams } from '@shared/controller';\nimport { Page } from '@shared/domain/domainobject';\nimport { ErrorResponse } from '@src/core/error/dto';\nimport { GroupUc } from '../uc';\nimport { ClassInfoDto, ResolvedGroupDto } from '../uc/dto';\nimport { ClassFilterParams, ClassInfoSearchListResponse, ClassSortParams, GroupIdParams, GroupResponse } from './dto';\nimport { GroupResponseMapper } from './mapper';\n\n@ApiTags('Group')\n@Authenticate('jwt')\n@Controller('groups')\nexport class GroupController {\n\tconstructor(private readonly groupUc: GroupUc) {}\n\n\t@ApiOperation({ summary: 'Get a list of classes and groups of type class for the current user.' })\n\t@ApiResponse({ status: HttpStatus.OK, type: ClassInfoSearchListResponse })\n\t@ApiResponse({ status: '4XX', type: ErrorResponse })\n\t@ApiResponse({ status: '5XX', type: ErrorResponse })\n\t@Get('/class')\n\tpublic async findClasses(\n\t\t@Query() pagination: PaginationParams,\n\t\t@Query() sortingQuery: ClassSortParams,\n\t\t@Query() filterParams: ClassFilterParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst board: Page = await this.groupUc.findAllClasses(\n\t\t\tcurrentUser.userId,\n\t\t\tcurrentUser.schoolId,\n\t\t\tfilterParams.type,\n\t\t\tpagination.skip,\n\t\t\tpagination.limit,\n\t\t\tsortingQuery.sortBy,\n\t\t\tsortingQuery.sortOrder\n\t\t);\n\n\t\tconst response: ClassInfoSearchListResponse = GroupResponseMapper.mapToClassInfosToListResponse(\n\t\t\tboard,\n\t\t\tpagination.skip,\n\t\t\tpagination.limit\n\t\t);\n\n\t\treturn response;\n\t}\n\n\t@Get('/:groupId')\n\t@ApiOperation({ summary: 'Get a group by id.' })\n\t@ApiResponse({ status: HttpStatus.OK, type: GroupResponse })\n\t@ApiResponse({ status: '4XX', type: ErrorResponse })\n\t@ApiResponse({ status: '5XX', type: ErrorResponse })\n\tpublic async getGroup(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: GroupIdParams\n\t): Promise {\n\t\tconst group: ResolvedGroupDto = await this.groupUc.getGroup(currentUser.userId, params.groupId);\n\n\t\tconst response: GroupResponse = GroupResponseMapper.mapToGroupResponse(group);\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GroupDomainMapper.html":{"url":"classes/GroupDomainMapper.html","title":"class - GroupDomainMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GroupDomainMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/repo/group-domain.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapDomainObjectToEntityProperties\n \n \n Static\n mapEntityToDomainObjectProperties\n \n \n Static\n mapExternalSourceEntityToExternalSource\n \n \n Static\n mapExternalSourceToExternalSourceEntity\n \n \n Static\n mapGroupUserEntityToGroupUser\n \n \n Static\n mapGroupUserToGroupUserEntity\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapDomainObjectToEntityProperties\n \n \n \n \n \n \n \n mapDomainObjectToEntityProperties(group: Group, em: EntityManager)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/repo/group-domain.mapper.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n group\n \n Group\n \n\n \n No\n \n\n\n \n \n em\n \n EntityManager\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GroupEntityProps\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapEntityToDomainObjectProperties\n \n \n \n \n \n \n \n mapEntityToDomainObjectProperties(entity: GroupEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/repo/group-domain.mapper.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n GroupEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GroupProps\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapExternalSourceEntityToExternalSource\n \n \n \n \n \n \n \n mapExternalSourceEntityToExternalSource(entity: ExternalSourceEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/repo/group-domain.mapper.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n ExternalSourceEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalSource\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapExternalSourceToExternalSourceEntity\n \n \n \n \n \n \n \n mapExternalSourceToExternalSourceEntity(externalSource: ExternalSource, em: EntityManager)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/repo/group-domain.mapper.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalSource\n \n ExternalSource\n \n\n \n No\n \n\n\n \n \n em\n \n EntityManager\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalSourceEntity\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapGroupUserEntityToGroupUser\n \n \n \n \n \n \n \n mapGroupUserEntityToGroupUser(entity: GroupUserEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/repo/group-domain.mapper.ts:91\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n GroupUserEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GroupUser\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapGroupUserToGroupUserEntity\n \n \n \n \n \n \n \n mapGroupUserToGroupUserEntity(groupUser: GroupUser, em: EntityManager)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/repo/group-domain.mapper.ts:82\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n groupUser\n \n GroupUser\n \n\n \n No\n \n\n\n \n \n em\n \n EntityManager\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GroupUserEntity\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { EntityManager } from '@mikro-orm/mongodb';\nimport { ExternalSource } from '@shared/domain/domainobject';\nimport { ExternalSourceEntity, Role, SchoolEntity, SystemEntity, User } from '@shared/domain/entity';\nimport { Group, GroupProps, GroupTypes, GroupUser } from '../domain';\nimport { GroupEntity, GroupEntityProps, GroupEntityTypes, GroupUserEntity, GroupValidPeriodEntity } from '../entity';\n\nconst GroupEntityTypesToGroupTypesMapping: Record = {\n\t[GroupEntityTypes.CLASS]: GroupTypes.CLASS,\n};\n\nconst GroupTypesToGroupEntityTypesMapping: Record = {\n\t[GroupTypes.CLASS]: GroupEntityTypes.CLASS,\n};\n\nexport class GroupDomainMapper {\n\tstatic mapDomainObjectToEntityProperties(group: Group, em: EntityManager): GroupEntityProps {\n\t\tconst props: GroupProps = group.getProps();\n\n\t\tlet validPeriod: GroupValidPeriodEntity | undefined;\n\t\tif (props.validFrom && props.validUntil) {\n\t\t\tvalidPeriod = new GroupValidPeriodEntity({\n\t\t\t\tfrom: props.validFrom,\n\t\t\t\tuntil: props.validUntil,\n\t\t\t});\n\t\t}\n\n\t\tconst mapped: GroupEntityProps = {\n\t\t\tid: props.id,\n\t\t\tname: props.name,\n\t\t\ttype: GroupTypesToGroupEntityTypesMapping[props.type],\n\t\t\texternalSource: props.externalSource\n\t\t\t\t? this.mapExternalSourceToExternalSourceEntity(props.externalSource, em)\n\t\t\t\t: undefined,\n\t\t\tusers: props.users.map(\n\t\t\t\t(groupUser): GroupUserEntity => GroupDomainMapper.mapGroupUserToGroupUserEntity(groupUser, em)\n\t\t\t),\n\t\t\tvalidPeriod,\n\t\t\torganization: props.organizationId ? em.getReference(SchoolEntity, props.organizationId) : undefined,\n\t\t};\n\n\t\treturn mapped;\n\t}\n\n\tstatic mapEntityToDomainObjectProperties(entity: GroupEntity): GroupProps {\n\t\tconst mapped: GroupProps = {\n\t\t\tid: entity.id,\n\t\t\tusers: entity.users.map((groupUser): GroupUser => this.mapGroupUserEntityToGroupUser(groupUser)),\n\t\t\tvalidFrom: entity.validPeriod ? entity.validPeriod.from : undefined,\n\t\t\tvalidUntil: entity.validPeriod ? entity.validPeriod.until : undefined,\n\t\t\texternalSource: entity.externalSource\n\t\t\t\t? this.mapExternalSourceEntityToExternalSource(entity.externalSource)\n\t\t\t\t: undefined,\n\t\t\ttype: GroupEntityTypesToGroupTypesMapping[entity.type],\n\t\t\tname: entity.name,\n\t\t\torganizationId: entity.organization?.id,\n\t\t};\n\n\t\treturn mapped;\n\t}\n\n\tstatic mapExternalSourceToExternalSourceEntity(\n\t\texternalSource: ExternalSource,\n\t\tem: EntityManager\n\t): ExternalSourceEntity {\n\t\tconst mapped = new ExternalSourceEntity({\n\t\t\texternalId: externalSource.externalId,\n\t\t\tsystem: em.getReference(SystemEntity, externalSource.systemId),\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tstatic mapExternalSourceEntityToExternalSource(entity: ExternalSourceEntity): ExternalSource {\n\t\tconst mapped = new ExternalSource({\n\t\t\texternalId: entity.externalId,\n\t\t\tsystemId: entity.system.id,\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tstatic mapGroupUserToGroupUserEntity(groupUser: GroupUser, em: EntityManager): GroupUserEntity {\n\t\tconst mapped = new GroupUserEntity({\n\t\t\tuser: em.getReference(User, groupUser.userId),\n\t\t\trole: em.getReference(Role, groupUser.roleId),\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tstatic mapGroupUserEntityToGroupUser(entity: GroupUserEntity): GroupUser {\n\t\tconst mapped = new GroupUser({\n\t\t\tuserId: entity.user.id,\n\t\t\troleId: entity.role.id,\n\t\t});\n\n\t\treturn mapped;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/GroupEntity.html":{"url":"entities/GroupEntity.html","title":"entity - GroupEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n GroupEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/entity/group.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n externalSource\n \n \n \n name\n \n \n \n Optional\n organization\n \n \n \n type\n \n \n \n users\n \n \n \n Optional\n validPeriod\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n externalSource\n \n \n \n \n \n \n Type : ExternalSourceEntity\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/group/entity/group.entity.ts:38\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/group/entity/group.entity.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n organization\n \n \n \n \n \n \n Type : SchoolEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined, {nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/group/entity/group.entity.ts:47\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : GroupEntityTypes\n\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/group/entity/group.entity.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n users\n \n \n \n \n \n \n Type : GroupUserEntity[]\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {array: true})\n \n \n \n \n \n Defined in apps/server/src/modules/group/entity/group.entity.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n validPeriod\n \n \n \n \n \n \n Type : GroupValidPeriodEntity\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/group/entity/group.entity.ts:41\n \n \n\n\n \n \n\n \n\n\n \n import { Embedded, Entity, Enum, ManyToOne, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { ExternalSourceEntity } from '@shared/domain/entity/external-source.entity';\nimport { SchoolEntity } from '@shared/domain/entity/school.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { GroupUserEntity } from './group-user.entity';\nimport { GroupValidPeriodEntity } from './group-valid-period.entity';\n\nexport enum GroupEntityTypes {\n\tCLASS = 'class',\n}\n\nexport interface GroupEntityProps {\n\tid?: EntityId;\n\n\tname: string;\n\n\ttype: GroupEntityTypes;\n\n\texternalSource?: ExternalSourceEntity;\n\n\tvalidPeriod?: GroupValidPeriodEntity;\n\n\tusers: GroupUserEntity[];\n\n\torganization?: SchoolEntity;\n}\n\n@Entity({ tableName: 'groups' })\nexport class GroupEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tname: string;\n\n\t@Enum()\n\ttype: GroupEntityTypes;\n\n\t@Embedded(() => ExternalSourceEntity, { nullable: true })\n\texternalSource?: ExternalSourceEntity;\n\n\t@Embedded(() => GroupValidPeriodEntity, { nullable: true })\n\tvalidPeriod?: GroupValidPeriodEntity;\n\n\t@Embedded(() => GroupUserEntity, { array: true })\n\tusers: GroupUserEntity[];\n\n\t@ManyToOne(() => SchoolEntity, { nullable: true })\n\torganization?: SchoolEntity;\n\n\tconstructor(props: GroupEntityProps) {\n\t\tsuper();\n\t\tif (props.id) {\n\t\t\tthis.id = props.id;\n\t\t}\n\t\tthis.name = props.name;\n\t\tthis.type = props.type;\n\t\tthis.externalSource = props.externalSource;\n\t\tthis.validPeriod = props.validPeriod;\n\t\tthis.users = props.users;\n\t\tthis.organization = props.organization;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GroupEntityProps.html":{"url":"interfaces/GroupEntityProps.html","title":"interface - GroupEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GroupEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/entity/group.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n externalSource\n \n \n \n Optional\n \n id\n \n \n \n \n name\n \n \n \n Optional\n \n organization\n \n \n \n \n type\n \n \n \n \n users\n \n \n \n Optional\n \n validPeriod\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n externalSource\n \n \n \n \n \n \n \n \n externalSource: ExternalSourceEntity\n\n \n \n\n\n \n \n Type : ExternalSourceEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n organization\n \n \n \n \n \n \n \n \n organization: SchoolEntity\n\n \n \n\n\n \n \n Type : SchoolEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: GroupEntityTypes\n\n \n \n\n\n \n \n Type : GroupEntityTypes\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n users\n \n \n \n \n \n \n \n \n users: GroupUserEntity[]\n\n \n \n\n\n \n \n Type : GroupUserEntity[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n validPeriod\n \n \n \n \n \n \n \n \n validPeriod: GroupValidPeriodEntity\n\n \n \n\n\n \n \n Type : GroupValidPeriodEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Embedded, Entity, Enum, ManyToOne, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { ExternalSourceEntity } from '@shared/domain/entity/external-source.entity';\nimport { SchoolEntity } from '@shared/domain/entity/school.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { GroupUserEntity } from './group-user.entity';\nimport { GroupValidPeriodEntity } from './group-valid-period.entity';\n\nexport enum GroupEntityTypes {\n\tCLASS = 'class',\n}\n\nexport interface GroupEntityProps {\n\tid?: EntityId;\n\n\tname: string;\n\n\ttype: GroupEntityTypes;\n\n\texternalSource?: ExternalSourceEntity;\n\n\tvalidPeriod?: GroupValidPeriodEntity;\n\n\tusers: GroupUserEntity[];\n\n\torganization?: SchoolEntity;\n}\n\n@Entity({ tableName: 'groups' })\nexport class GroupEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tname: string;\n\n\t@Enum()\n\ttype: GroupEntityTypes;\n\n\t@Embedded(() => ExternalSourceEntity, { nullable: true })\n\texternalSource?: ExternalSourceEntity;\n\n\t@Embedded(() => GroupValidPeriodEntity, { nullable: true })\n\tvalidPeriod?: GroupValidPeriodEntity;\n\n\t@Embedded(() => GroupUserEntity, { array: true })\n\tusers: GroupUserEntity[];\n\n\t@ManyToOne(() => SchoolEntity, { nullable: true })\n\torganization?: SchoolEntity;\n\n\tconstructor(props: GroupEntityProps) {\n\t\tsuper();\n\t\tif (props.id) {\n\t\t\tthis.id = props.id;\n\t\t}\n\t\tthis.name = props.name;\n\t\tthis.type = props.type;\n\t\tthis.externalSource = props.externalSource;\n\t\tthis.validPeriod = props.validPeriod;\n\t\tthis.users = props.users;\n\t\tthis.organization = props.organization;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GroupIdParams.html":{"url":"classes/GroupIdParams.html","title":"class - GroupIdParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GroupIdParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/controller/dto/request/group-id-params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n groupId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n groupId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({nullable: false, required: true})\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/request/group-id-params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class GroupIdParams {\n\t@IsMongoId()\n\t@ApiProperty({ nullable: false, required: true })\n\tgroupId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/GroupModule.html":{"url":"modules/GroupModule.html","title":"module - GroupModule","body":"\n \n\n\n\n\n Modules\n GroupModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_GroupModule\n\n\n\ncluster_GroupModule_providers\n\n\n\ncluster_GroupModule_exports\n\n\n\n\nGroupService \n\nGroupService \n\n\n\nGroupModule\n\nGroupModule\n\nGroupService -->\n\nGroupModule->GroupService \n\n\n\n\n\nGroupRepo\n\nGroupRepo\n\nGroupModule -->\n\nGroupRepo->GroupModule\n\n\n\n\n\nGroupService\n\nGroupService\n\nGroupModule -->\n\nGroupService->GroupModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/group/group.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n GroupRepo\n \n \n GroupService\n \n \n \n \n Exports\n \n \n GroupService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { GroupRepo } from './repo';\nimport { GroupService } from './service';\n\n@Module({\n\tproviders: [GroupRepo, GroupService],\n\texports: [GroupService],\n})\nexport class GroupModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GroupNameIdTuple.html":{"url":"interfaces/GroupNameIdTuple.html","title":"interface - GroupNameIdTuple","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GroupNameIdTuple\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/interface/id-token.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n displayName\n \n \n \n \n gid\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n displayName\n \n \n \n \n \n \n \n \n displayName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n gid\n \n \n \n \n \n \n \n \n gid: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface IdToken {\n\tiframe?: string;\n\temail?: string;\n\tname?: string;\n\tuserId?: string;\n\tschoolId: string;\n\tgroups?: GroupNameIdTuple[];\n}\n\nexport interface GroupNameIdTuple {\n\tdisplayName: string;\n\tgid: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GroupProps.html":{"url":"interfaces/GroupProps.html","title":"interface - GroupProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GroupProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/domain/group.ts\n \n\n\n\n \n Extends\n \n \n AuthorizableObject\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n externalSource\n \n \n \n \n id\n \n \n \n \n name\n \n \n \n Optional\n \n organizationId\n \n \n \n \n type\n \n \n \n \n users\n \n \n \n Optional\n \n validFrom\n \n \n \n Optional\n \n validUntil\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n externalSource\n \n \n \n \n \n \n \n \n externalSource: ExternalSource\n\n \n \n\n\n \n \n Type : ExternalSource\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n organizationId\n \n \n \n \n \n \n \n \n organizationId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: GroupTypes\n\n \n \n\n\n \n \n Type : GroupTypes\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n users\n \n \n \n \n \n \n \n \n users: GroupUser[]\n\n \n \n\n\n \n \n Type : GroupUser[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n validFrom\n \n \n \n \n \n \n \n \n validFrom: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n validUntil\n \n \n \n \n \n \n \n \n validUntil: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { ExternalSource, type UserDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { GroupTypes } from './group-types';\nimport { GroupUser } from './group-user';\n\nexport interface GroupProps extends AuthorizableObject {\n\tid: EntityId;\n\n\tname: string;\n\n\ttype: GroupTypes;\n\n\tvalidFrom?: Date;\n\n\tvalidUntil?: Date;\n\n\texternalSource?: ExternalSource;\n\n\tusers: GroupUser[];\n\n\torganizationId?: string;\n}\n\nexport class Group extends DomainObject {\n\tget name(): string {\n\t\treturn this.props.name;\n\t}\n\n\tget users(): GroupUser[] {\n\t\treturn this.props.users;\n\t}\n\n\tset users(value: GroupUser[]) {\n\t\tthis.props.users = value;\n\t}\n\n\tget externalSource(): ExternalSource | undefined {\n\t\treturn this.props.externalSource;\n\t}\n\n\tget organizationId(): string | undefined {\n\t\treturn this.props.organizationId;\n\t}\n\n\tget type(): GroupTypes {\n\t\treturn this.props.type;\n\t}\n\n\tremoveUser(user: UserDO): void {\n\t\tthis.props.users = this.props.users.filter((groupUser: GroupUser): boolean => groupUser.userId !== user.id);\n\t}\n\n\tisEmpty(): boolean {\n\t\treturn this.props.users.length === 0;\n\t}\n\n\taddUser(user: GroupUser): void {\n\t\tif (!this.users.find((u) => u.userId === user.userId)) {\n\t\t\tthis.users.push(user);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/GroupRepo.html":{"url":"injectables/GroupRepo.html","title":"injectable - GroupRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n GroupRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/repo/group.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n delete\n \n \n Public\n Async\n findByExternalSource\n \n \n Public\n Async\n findById\n \n \n Public\n Async\n findByUser\n \n \n Public\n Async\n findClassesForSchool\n \n \n Public\n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/group/repo/group.repo.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n delete\n \n \n \n \n \n \n \n delete(domainObject: Group)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/repo/group.repo.ts:100\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n Group\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findByExternalSource\n \n \n \n \n \n \n \n findByExternalSource(externalId: string, systemId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/repo/group.repo.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalId\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/repo/group.repo.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findByUser\n \n \n \n \n \n \n \n findByUser(user: UserDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/repo/group.repo.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findClassesForSchool\n \n \n \n \n \n \n \n findClassesForSchool(schoolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/repo/group.repo.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n save\n \n \n \n \n \n \n \n save(domainObject: Group)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/repo/group.repo.ts:75\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n Group\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager, ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { type UserDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { Group, GroupProps } from '../domain';\nimport { GroupEntity, GroupEntityProps, GroupEntityTypes } from '../entity';\nimport { GroupDomainMapper } from './group-domain.mapper';\n\n@Injectable()\nexport class GroupRepo {\n\tconstructor(private readonly em: EntityManager) {}\n\n\tpublic async findById(id: EntityId): Promise {\n\t\tconst entity: GroupEntity | null = await this.em.findOne(GroupEntity, { id });\n\n\t\tif (!entity) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst props: GroupProps = GroupDomainMapper.mapEntityToDomainObjectProperties(entity);\n\n\t\tconst domainObject: Group = new Group(props);\n\n\t\treturn domainObject;\n\t}\n\n\tpublic async findByExternalSource(externalId: string, systemId: EntityId): Promise {\n\t\tconst entity: GroupEntity | null = await this.em.findOne(GroupEntity, {\n\t\t\texternalSource: {\n\t\t\t\texternalId,\n\t\t\t\tsystem: systemId,\n\t\t\t},\n\t\t});\n\n\t\tif (!entity) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst props: GroupProps = GroupDomainMapper.mapEntityToDomainObjectProperties(entity);\n\n\t\tconst domainObject: Group = new Group(props);\n\n\t\treturn domainObject;\n\t}\n\n\tpublic async findByUser(user: UserDO): Promise {\n\t\tconst entities: GroupEntity[] = await this.em.find(GroupEntity, {\n\t\t\tusers: { user: new ObjectId(user.id) },\n\t\t});\n\n\t\tconst domainObjects = entities.map((entity) => {\n\t\t\tconst props: GroupProps = GroupDomainMapper.mapEntityToDomainObjectProperties(entity);\n\n\t\t\treturn new Group(props);\n\t\t});\n\n\t\treturn domainObjects;\n\t}\n\n\tpublic async findClassesForSchool(schoolId: EntityId): Promise {\n\t\tconst entities: GroupEntity[] = await this.em.find(GroupEntity, {\n\t\t\ttype: GroupEntityTypes.CLASS,\n\t\t\torganization: schoolId,\n\t\t});\n\n\t\tconst domainObjects = entities.map((entity) => {\n\t\t\tconst props: GroupProps = GroupDomainMapper.mapEntityToDomainObjectProperties(entity);\n\n\t\t\treturn new Group(props);\n\t\t});\n\n\t\treturn domainObjects;\n\t}\n\n\tpublic async save(domainObject: Group): Promise {\n\t\tconst entityProps: GroupEntityProps = GroupDomainMapper.mapDomainObjectToEntityProperties(domainObject, this.em);\n\n\t\tconst newEntity: GroupEntity = new GroupEntity(entityProps);\n\n\t\tconst existingEntity: GroupEntity | null = await this.em.findOne(GroupEntity, { id: domainObject.id });\n\n\t\tlet savedEntity: GroupEntity;\n\t\tif (existingEntity) {\n\t\t\tsavedEntity = this.em.assign(existingEntity, newEntity);\n\t\t} else {\n\t\t\tthis.em.persist(newEntity);\n\n\t\t\tsavedEntity = newEntity;\n\t\t}\n\n\t\tawait this.em.flush();\n\n\t\tconst savedProps: GroupProps = GroupDomainMapper.mapEntityToDomainObjectProperties(savedEntity);\n\n\t\tconst savedDomainObject: Group = new Group(savedProps);\n\n\t\treturn savedDomainObject;\n\t}\n\n\tpublic async delete(domainObject: Group): Promise {\n\t\tconst entity: GroupEntity | null = await this.em.findOne(GroupEntity, { id: domainObject.id });\n\n\t\tif (!entity) {\n\t\t\treturn false;\n\t\t}\n\n\t\tawait this.em.removeAndFlush(entity);\n\n\t\treturn true;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GroupResponse.html":{"url":"classes/GroupResponse.html","title":"class - GroupResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GroupResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/controller/dto/response/group.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n externalSource\n \n \n \n id\n \n \n \n name\n \n \n \n Optional\n organizationId\n \n \n \n type\n \n \n \n users\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(group: GroupResponse)\n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/group.response.ts:23\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n group\n \n \n GroupResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n externalSource\n \n \n \n \n \n \n Type : ExternalSourceResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/group.response.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/group.response.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/group.response.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n organizationId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/group.response.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : GroupTypeResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: GroupTypeResponse})\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/group.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n users\n \n \n \n \n \n \n Type : GroupUserResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/group.response.ts:17\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { ExternalSourceResponse } from './external-source.response';\nimport { GroupTypeResponse } from './group-type.response';\nimport { GroupUserResponse } from './group-user.response';\n\nexport class GroupResponse {\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\tname: string;\n\n\t@ApiProperty({ enum: GroupTypeResponse })\n\ttype: GroupTypeResponse;\n\n\t@ApiProperty({ type: [GroupUserResponse] })\n\tusers: GroupUserResponse[];\n\n\t@ApiPropertyOptional()\n\texternalSource?: ExternalSourceResponse;\n\n\t@ApiPropertyOptional()\n\torganizationId?: string;\n\n\tconstructor(group: GroupResponse) {\n\t\tthis.id = group.id;\n\t\tthis.name = group.name;\n\t\tthis.type = group.type;\n\t\tthis.users = group.users;\n\t\tthis.externalSource = group.externalSource;\n\t\tthis.organizationId = group.organizationId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GroupResponseMapper.html":{"url":"classes/GroupResponseMapper.html","title":"class - GroupResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GroupResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/controller/mapper/group-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToClassInfosToListResponse\n \n \n Private\n Static\n mapToClassInfoToResponse\n \n \n Static\n mapToGroupResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToClassInfosToListResponse\n \n \n \n \n \n \n \n mapToClassInfosToListResponse(classInfos: Page, skip?: number, limit?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/controller/mapper/group-response.mapper.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n classInfos\n \n Page\n \n\n \n No\n \n\n\n \n \n skip\n \n number\n \n\n \n Yes\n \n\n\n \n \n limit\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : ClassInfoSearchListResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n mapToClassInfoToResponse\n \n \n \n \n \n \n \n mapToClassInfoToResponse(classInfo: ClassInfoDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/controller/mapper/group-response.mapper.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n classInfo\n \n ClassInfoDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ClassInfoResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToGroupResponse\n \n \n \n \n \n \n \n mapToGroupResponse(resolvedGroup: ResolvedGroupDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/controller/mapper/group-response.mapper.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n resolvedGroup\n \n ResolvedGroupDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GroupResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Page } from '@shared/domain/domainobject';\nimport { GroupTypes } from '../../domain';\nimport { ClassInfoDto, ResolvedGroupDto } from '../../uc/dto';\nimport {\n\tClassInfoResponse,\n\tClassInfoSearchListResponse,\n\tExternalSourceResponse,\n\tGroupResponse,\n\tGroupTypeResponse,\n\tGroupUserResponse,\n} from '../dto';\n\nconst typeMapping: Record = {\n\t[GroupTypes.CLASS]: GroupTypeResponse.CLASS,\n};\n\nexport class GroupResponseMapper {\n\tstatic mapToClassInfosToListResponse(\n\t\tclassInfos: Page,\n\t\tskip?: number,\n\t\tlimit?: number\n\t): ClassInfoSearchListResponse {\n\t\tconst mappedData: ClassInfoResponse[] = classInfos.data.map((classInfo) =>\n\t\t\tthis.mapToClassInfoToResponse(classInfo)\n\t\t);\n\n\t\tconst response: ClassInfoSearchListResponse = new ClassInfoSearchListResponse(\n\t\t\tmappedData,\n\t\t\tclassInfos.total,\n\t\t\tskip,\n\t\t\tlimit\n\t\t);\n\n\t\treturn response;\n\t}\n\n\tprivate static mapToClassInfoToResponse(classInfo: ClassInfoDto): ClassInfoResponse {\n\t\tconst mapped = new ClassInfoResponse({\n\t\t\tid: classInfo.id,\n\t\t\ttype: classInfo.type,\n\t\t\tname: classInfo.name,\n\t\t\texternalSourceName: classInfo.externalSourceName,\n\t\t\tteachers: classInfo.teacherNames,\n\t\t\tschoolYear: classInfo.schoolYear,\n\t\t\tisUpgradable: classInfo.isUpgradable,\n\t\t\tstudentCount: classInfo.studentCount,\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tstatic mapToGroupResponse(resolvedGroup: ResolvedGroupDto): GroupResponse {\n\t\tconst mapped: GroupResponse = new GroupResponse({\n\t\t\tid: resolvedGroup.id,\n\t\t\tname: resolvedGroup.name,\n\t\t\ttype: typeMapping[resolvedGroup.type],\n\t\t\texternalSource: resolvedGroup.externalSource\n\t\t\t\t? new ExternalSourceResponse({\n\t\t\t\t\t\texternalId: resolvedGroup.externalSource.externalId,\n\t\t\t\t\t\tsystemId: resolvedGroup.externalSource.systemId,\n\t\t\t\t })\n\t\t\t\t: undefined,\n\t\t\tusers: resolvedGroup.users.map(\n\t\t\t\t(user) =>\n\t\t\t\t\tnew GroupUserResponse({\n\t\t\t\t\t\tid: user.user.id as string,\n\t\t\t\t\t\trole: user.role.name,\n\t\t\t\t\t\tfirstName: user.user.firstName,\n\t\t\t\t\t\tlastName: user.user.lastName,\n\t\t\t\t\t})\n\t\t\t),\n\t\t\torganizationId: resolvedGroup.organizationId,\n\t\t});\n\n\t\treturn mapped;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GroupRoleUnknownLoggable.html":{"url":"classes/GroupRoleUnknownLoggable.html","title":"class - GroupRoleUnknownLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GroupRoleUnknownLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/loggable/group-role-unknown.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(relation: SanisSonstigeGruppenzugehoerigeResponse)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/loggable/group-role-unknown.loggable.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n relation\n \n \n SanisSonstigeGruppenzugehoerigeResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/loggable/group-role-unknown.loggable.ts:7\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { SanisSonstigeGruppenzugehoerigeResponse } from '../strategy/sanis/response';\n\nexport class GroupRoleUnknownLoggable implements Loggable {\n\tconstructor(private readonly relation: SanisSonstigeGruppenzugehoerigeResponse) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'Unable to add unknown user to group during provisioning.',\n\t\t\tdata: {\n\t\t\t\texternalUserId: this.relation.ktid,\n\t\t\t\texternalRoleName: this.relation.rollen?.[0],\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/GroupRule.html":{"url":"injectables/GroupRule.html","title":"injectable - GroupRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n GroupRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/group.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/group.rule.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, domainObject: Group, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/group.rule.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n domainObject\n \n Group\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, domainObject: Group)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/group.rule.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n domainObject\n \n Group\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { User } from '@shared/domain/entity';\nimport { Group } from '@src/modules/group';\nimport { AuthorizationHelper } from '../service/authorization.helper';\nimport { AuthorizationContext, Rule } from '../type';\n\n@Injectable()\nexport class GroupRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper) {}\n\n\tpublic isApplicable(user: User, domainObject: Group): boolean {\n\t\tconst isMatched: boolean = domainObject instanceof Group;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, domainObject: Group, context: AuthorizationContext): boolean {\n\t\tconst hasPermission: boolean =\n\t\t\tthis.authorizationHelper.hasAllPermissions(user, context.requiredPermissions) &&\n\t\t\t(domainObject.organizationId ? user.school.id === domainObject.organizationId : true);\n\n\t\treturn hasPermission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/GroupService.html":{"url":"injectables/GroupService.html","title":"injectable - GroupService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n GroupService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/service/group.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n delete\n \n \n Public\n Async\n findByExternalSource\n \n \n Public\n Async\n findById\n \n \n Public\n Async\n findByUser\n \n \n Public\n Async\n findClassesForSchool\n \n \n Public\n Async\n save\n \n \n Public\n Async\n tryFindById\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(groupRepo: GroupRepo)\n \n \n \n \n Defined in apps/server/src/modules/group/service/group.service.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n groupRepo\n \n \n GroupRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n delete\n \n \n \n \n \n \n \n delete(group: Group)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/service/group.service.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n group\n \n Group\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findByExternalSource\n \n \n \n \n \n \n \n findByExternalSource(externalId: string, systemId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/service/group.service.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalId\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/service/group.service.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findByUser\n \n \n \n \n \n \n \n findByUser(user: UserDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/service/group.service.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findClassesForSchool\n \n \n \n \n \n \n \n findClassesForSchool(schoolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/service/group.service.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n save\n \n \n \n \n \n \n \n save(group: Group)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/service/group.service.ts:47\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n group\n \n Group\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n tryFindById\n \n \n \n \n \n \n \n tryFindById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/service/group.service.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationLoaderServiceGeneric } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { type UserDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { Group } from '../domain';\nimport { GroupRepo } from '../repo';\n\n@Injectable()\nexport class GroupService implements AuthorizationLoaderServiceGeneric {\n\tconstructor(private readonly groupRepo: GroupRepo) {}\n\n\tpublic async findById(id: EntityId): Promise {\n\t\tconst group: Group | null = await this.groupRepo.findById(id);\n\n\t\tif (!group) {\n\t\t\tthrow new NotFoundLoggableException(Group.name, 'id', id);\n\t\t}\n\n\t\treturn group;\n\t}\n\n\tpublic async tryFindById(id: EntityId): Promise {\n\t\tconst group: Group | null = await this.groupRepo.findById(id);\n\n\t\treturn group;\n\t}\n\n\tpublic async findByExternalSource(externalId: string, systemId: EntityId): Promise {\n\t\tconst group: Group | null = await this.groupRepo.findByExternalSource(externalId, systemId);\n\n\t\treturn group;\n\t}\n\n\tpublic async findByUser(user: UserDO): Promise {\n\t\tconst groups: Group[] = await this.groupRepo.findByUser(user);\n\n\t\treturn groups;\n\t}\n\n\tpublic async findClassesForSchool(schoolId: EntityId): Promise {\n\t\tconst group: Group[] = await this.groupRepo.findClassesForSchool(schoolId);\n\n\t\treturn group;\n\t}\n\n\tpublic async save(group: Group): Promise {\n\t\tconst savedGroup: Group = await this.groupRepo.save(group);\n\n\t\treturn savedGroup;\n\t}\n\n\tpublic async delete(group: Group): Promise {\n\t\tawait this.groupRepo.delete(group);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GroupUcMapper.html":{"url":"classes/GroupUcMapper.html","title":"class - GroupUcMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GroupUcMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/uc/mapper/group-uc.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapClassToClassInfoDto\n \n \n Static\n mapGroupToClassInfoDto\n \n \n Static\n mapToResolvedGroupDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapClassToClassInfoDto\n \n \n \n \n \n \n \n mapClassToClassInfoDto(clazz: Class, teachers: UserDO[], schoolYear?: SchoolYearEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/uc/mapper/group-uc.mapper.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n clazz\n \n Class\n \n\n \n No\n \n\n\n \n \n teachers\n \n UserDO[]\n \n\n \n No\n \n\n\n \n \n schoolYear\n \n SchoolYearEntity\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : ClassInfoDto\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapGroupToClassInfoDto\n \n \n \n \n \n \n \n mapGroupToClassInfoDto(group: Group, resolvedUsers: ResolvedGroupUser[], system?: SystemDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/uc/mapper/group-uc.mapper.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n group\n \n Group\n \n\n \n No\n \n\n\n \n \n resolvedUsers\n \n ResolvedGroupUser[]\n \n\n \n No\n \n\n\n \n \n system\n \n SystemDto\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : ClassInfoDto\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToResolvedGroupDto\n \n \n \n \n \n \n \n mapToResolvedGroupDto(group: Group, resolvedGroupUsers: ResolvedGroupUser[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/uc/mapper/group-uc.mapper.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n group\n \n Group\n \n\n \n No\n \n\n\n \n \n resolvedGroupUsers\n \n ResolvedGroupUser[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ResolvedGroupDto\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Class } from '@modules/class/domain';\nimport { SystemDto } from '@modules/system';\n\nimport { UserDO } from '@shared/domain/domainobject';\nimport { SchoolYearEntity } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { Group } from '../../domain';\nimport { ClassInfoDto, ResolvedGroupDto, ResolvedGroupUser } from '../dto';\nimport { ClassRootType } from '../dto/class-root-type';\n\nexport class GroupUcMapper {\n\tpublic static mapGroupToClassInfoDto(\n\t\tgroup: Group,\n\t\tresolvedUsers: ResolvedGroupUser[],\n\t\tsystem?: SystemDto\n\t): ClassInfoDto {\n\t\tconst mapped: ClassInfoDto = new ClassInfoDto({\n\t\t\tid: group.id,\n\t\t\ttype: ClassRootType.GROUP,\n\t\t\tname: group.name,\n\t\t\texternalSourceName: system?.displayName,\n\t\t\tteacherNames: resolvedUsers\n\t\t\t\t.filter((groupUser: ResolvedGroupUser) => groupUser.role.name === RoleName.TEACHER)\n\t\t\t\t.map((groupUser: ResolvedGroupUser) => groupUser.user.lastName),\n\t\t\tstudentCount: resolvedUsers.filter((groupUser: ResolvedGroupUser) => groupUser.role.name === RoleName.STUDENT)\n\t\t\t\t.length,\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tpublic static mapClassToClassInfoDto(clazz: Class, teachers: UserDO[], schoolYear?: SchoolYearEntity): ClassInfoDto {\n\t\tconst name = clazz.gradeLevel ? `${clazz.gradeLevel}${clazz.name}` : clazz.name;\n\t\tconst isUpgradable = clazz.gradeLevel !== 13 && !clazz.successor;\n\n\t\tconst mapped: ClassInfoDto = new ClassInfoDto({\n\t\t\tid: clazz.id,\n\t\t\ttype: ClassRootType.CLASS,\n\t\t\tname,\n\t\t\texternalSourceName: clazz.source,\n\t\t\tteacherNames: teachers.map((user: UserDO) => user.lastName),\n\t\t\tschoolYear: schoolYear?.name,\n\t\t\tisUpgradable,\n\t\t\tstudentCount: clazz.userIds ? clazz.userIds.length : 0,\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tpublic static mapToResolvedGroupDto(group: Group, resolvedGroupUsers: ResolvedGroupUser[]): ResolvedGroupDto {\n\t\tconst mapped: ResolvedGroupDto = new ResolvedGroupDto({\n\t\t\tid: group.id,\n\t\t\tname: group.name,\n\t\t\ttype: group.type,\n\t\t\texternalSource: group.externalSource,\n\t\t\tusers: resolvedGroupUsers,\n\t\t});\n\n\t\treturn mapped;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GroupUser.html":{"url":"classes/GroupUser.html","title":"class - GroupUser","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GroupUser\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/domain/group-user.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n roleId\n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: GroupUser)\n \n \n \n \n Defined in apps/server/src/modules/group/domain/group-user.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n GroupUser\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n roleId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/group/domain/group-user.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/group/domain/group-user.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\n\nexport class GroupUser {\n\tuserId: EntityId;\n\n\troleId: EntityId;\n\n\tconstructor(props: GroupUser) {\n\t\tthis.userId = props.userId;\n\t\tthis.roleId = props.roleId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GroupUserEntity.html":{"url":"classes/GroupUserEntity.html","title":"class - GroupUserEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GroupUserEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/entity/group-user.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n role\n \n \n \n user\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: GroupUserEntityProps)\n \n \n \n \n Defined in apps/server/src/modules/group/entity/group-user.entity.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n GroupUserEntityProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n role\n \n \n \n \n \n \n Type : Role\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/group/entity/group-user.entity.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n user\n \n \n \n \n \n \n Type : User\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/group/entity/group-user.entity.ts:13\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, ManyToOne } from '@mikro-orm/core';\nimport { Role, User } from '@shared/domain/entity';\n\nexport interface GroupUserEntityProps {\n\tuser: User;\n\n\trole: Role;\n}\n\n@Embeddable()\nexport class GroupUserEntity {\n\t@ManyToOne(() => User)\n\tuser: User;\n\n\t@ManyToOne(() => Role)\n\trole: Role;\n\n\tconstructor(props: GroupUserEntityProps) {\n\t\tthis.user = props.user;\n\t\tthis.role = props.role;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GroupUserEntityProps.html":{"url":"interfaces/GroupUserEntityProps.html","title":"interface - GroupUserEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GroupUserEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/entity/group-user.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n role\n \n \n \n \n user\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n role\n \n \n \n \n \n \n \n \n role: Role\n\n \n \n\n\n \n \n Type : Role\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n user\n \n \n \n \n \n \n \n \n user: User\n\n \n \n\n\n \n \n Type : User\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Embeddable, ManyToOne } from '@mikro-orm/core';\nimport { Role, User } from '@shared/domain/entity';\n\nexport interface GroupUserEntityProps {\n\tuser: User;\n\n\trole: Role;\n}\n\n@Embeddable()\nexport class GroupUserEntity {\n\t@ManyToOne(() => User)\n\tuser: User;\n\n\t@ManyToOne(() => Role)\n\trole: Role;\n\n\tconstructor(props: GroupUserEntityProps) {\n\t\tthis.user = props.user;\n\t\tthis.role = props.role;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GroupUserResponse.html":{"url":"classes/GroupUserResponse.html","title":"class - GroupUserResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GroupUserResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/controller/dto/response/group-user.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n firstName\n \n \n \n id\n \n \n \n lastName\n \n \n \n role\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(user: GroupUserResponse)\n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/group-user.response.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n \n GroupUserResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/group-user.response.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/group-user.response.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/group-user.response.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n role\n \n \n \n \n \n \n Type : RoleName\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: RoleName})\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/group-user.response.ts:15\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { RoleName } from '@shared/domain/interface';\n\nexport class GroupUserResponse {\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\tfirstName: string;\n\n\t@ApiProperty()\n\tlastName: string;\n\n\t@ApiProperty({ enum: RoleName })\n\trole: RoleName;\n\n\tconstructor(user: GroupUserResponse) {\n\t\tthis.id = user.id;\n\t\tthis.firstName = user.firstName;\n\t\tthis.lastName = user.lastName;\n\t\tthis.role = user.role;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GroupUsers.html":{"url":"interfaces/GroupUsers.html","title":"interface - GroupUsers","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GroupUsers\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n users\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n users\n \n \n \n \n \n \n \n \n users: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface NextcloudGroups {\n\tgroups: string[];\n}\n\nexport interface OcsResponse {\n\tocs: {\n\t\tdata: T;\n\t\tmeta: Meta;\n\t};\n}\n\nexport interface Meta {\n\tstatus: string;\n\tstatuscode: number;\n\tmessage: string;\n\ttotalitems: string;\n\titemsperpage: string;\n}\n\nexport interface SuccessfulRes {\n\tsuccess: boolean;\n}\n\nexport interface GroupUsers {\n\tusers: string[];\n}\n\n// Groupfolders Responses\n\nexport interface GroupfoldersFolder {\n\tfolder_id: number;\n}\n\nexport interface GroupfoldersCreated {\n\tid: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GroupValidPeriodEntity.html":{"url":"classes/GroupValidPeriodEntity.html","title":"class - GroupValidPeriodEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GroupValidPeriodEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/entity/group-valid-period.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n from\n \n \n \n until\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: GroupValidPeriodEntityProps)\n \n \n \n \n Defined in apps/server/src/modules/group/entity/group-valid-period.entity.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n GroupValidPeriodEntityProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n from\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/group/entity/group-valid-period.entity.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n until\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/group/entity/group-valid-period.entity.ts:15\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Property } from '@mikro-orm/core';\n\nexport interface GroupValidPeriodEntityProps {\n\tfrom: Date;\n\n\tuntil: Date;\n}\n\n@Embeddable()\nexport class GroupValidPeriodEntity {\n\t@Property()\n\tfrom: Date;\n\n\t@Property()\n\tuntil: Date;\n\n\tconstructor(props: GroupValidPeriodEntityProps) {\n\t\tthis.from = props.from;\n\t\tthis.until = props.until;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GroupValidPeriodEntityProps.html":{"url":"interfaces/GroupValidPeriodEntityProps.html","title":"interface - GroupValidPeriodEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GroupValidPeriodEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/entity/group-valid-period.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n from\n \n \n \n \n until\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n from\n \n \n \n \n \n \n \n \n from: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n until\n \n \n \n \n \n \n \n \n until: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Embeddable, Property } from '@mikro-orm/core';\n\nexport interface GroupValidPeriodEntityProps {\n\tfrom: Date;\n\n\tuntil: Date;\n}\n\n@Embeddable()\nexport class GroupValidPeriodEntity {\n\t@Property()\n\tfrom: Date;\n\n\t@Property()\n\tuntil: Date;\n\n\tconstructor(props: GroupValidPeriodEntityProps) {\n\t\tthis.from = props.from;\n\t\tthis.until = props.until;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GroupfoldersCreated.html":{"url":"interfaces/GroupfoldersCreated.html","title":"interface - GroupfoldersCreated","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GroupfoldersCreated\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface NextcloudGroups {\n\tgroups: string[];\n}\n\nexport interface OcsResponse {\n\tocs: {\n\t\tdata: T;\n\t\tmeta: Meta;\n\t};\n}\n\nexport interface Meta {\n\tstatus: string;\n\tstatuscode: number;\n\tmessage: string;\n\ttotalitems: string;\n\titemsperpage: string;\n}\n\nexport interface SuccessfulRes {\n\tsuccess: boolean;\n}\n\nexport interface GroupUsers {\n\tusers: string[];\n}\n\n// Groupfolders Responses\n\nexport interface GroupfoldersFolder {\n\tfolder_id: number;\n}\n\nexport interface GroupfoldersCreated {\n\tid: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GroupfoldersFolder.html":{"url":"interfaces/GroupfoldersFolder.html","title":"interface - GroupfoldersFolder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GroupfoldersFolder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n folder_id\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n folder_id\n \n \n \n \n \n \n \n \n folder_id: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface NextcloudGroups {\n\tgroups: string[];\n}\n\nexport interface OcsResponse {\n\tocs: {\n\t\tdata: T;\n\t\tmeta: Meta;\n\t};\n}\n\nexport interface Meta {\n\tstatus: string;\n\tstatuscode: number;\n\tmessage: string;\n\ttotalitems: string;\n\titemsperpage: string;\n}\n\nexport interface SuccessfulRes {\n\tsuccess: boolean;\n}\n\nexport interface GroupUsers {\n\tusers: string[];\n}\n\n// Groupfolders Responses\n\nexport interface GroupfoldersFolder {\n\tfolder_id: number;\n}\n\nexport interface GroupfoldersCreated {\n\tid: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GuardAgainst.html":{"url":"classes/GuardAgainst.html","title":"class - GuardAgainst","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GuardAgainst\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/utils/guard-against.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n nullOrUndefined\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n nullOrUndefined\n \n \n \n \n \n \n \n nullOrUndefined(value: T | null | undefined, toThrow)\n \n \n\n\n \n \n Defined in apps/server/src/shared/common/utils/guard-against.ts:8\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n Guards against null or undefined and throws specified exception.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n value\n \n T | null | undefined\n \n\n \n No\n \n\n\n \n The value to check.\n\n \n \n \n toThrow\n \n \n\n \n No\n \n\n\n \n The exception to be thrown on failure.\n\n \n \n \n \n \n \n Returns : T | never\n\n \n \n The narrowed value or throws.\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n export class GuardAgainst {\n\t/**\n\t * Guards against null or undefined and throws specified exception.\n\t * @param value The value to check.\n\t * @param toThrow The exception to be thrown on failure.\n\t * @returns The narrowed value or throws.\n\t */\n\tstatic nullOrUndefined(value: T | null | undefined, toThrow: unknown): T | never {\n\t\tif (value === null || value === undefined) {\n\t\t\tthrow toThrow;\n\t\t}\n\t\treturn value;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/H5PContent.html":{"url":"entities/H5PContent.html","title":"entity - H5PContent","body":"\n \n\n\n\n\n\n\n\n Entities\n H5PContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n _creatorId\n \n \n \n \n _parentId\n \n \n \n _schoolId\n \n \n \n content\n \n \n \n metadata\n \n \n \n \n parentType\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n _creatorId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'creator'})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:122\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n _parentId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Index()@Property({fieldName: 'parent'})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:134\n \n \n\n\n \n \n \n \n \n \n \n \n \n _schoolId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'school'})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:141\n \n \n\n\n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Decorators : \n \n \n @Property({type: JsonType})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:151\n \n \n\n\n \n \n \n \n \n \n \n \n \n metadata\n \n \n \n \n \n \n Type : ContentMetadata\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:148\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n Type : H5PContentParentType\n\n \n \n \n \n Decorators : \n \n \n @Index()@Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:130\n \n \n\n\n \n \n\n \n\n\n \n import { IContentMetadata, ILibraryName } from '@lumieducation/h5p-server';\nimport { IContentAuthor, IContentChange } from '@lumieducation/h5p-server/build/src/types';\nimport { Embeddable, Embedded, Entity, Enum, Index, JsonType, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\n\n@Embeddable()\nexport class ContentMetadata implements IContentMetadata {\n\t@Property({ nullable: true })\n\tdynamicDependencies?: ILibraryName[];\n\n\t@Property({ nullable: true })\n\teditorDependencies?: ILibraryName[];\n\n\t@Property()\n\tembedTypes: ('iframe' | 'div')[];\n\n\t@Property({ nullable: true })\n\th?: string;\n\n\t@Property()\n\tlanguage: string;\n\n\t@Property()\n\tmainLibrary: string;\n\n\t@Property({ nullable: true })\n\tmetaDescription?: string;\n\n\t@Property({ nullable: true })\n\tmetaKeywords?: string;\n\n\t@Property()\n\tpreloadedDependencies: ILibraryName[];\n\n\t@Property({ nullable: true })\n\tw?: string;\n\n\t@Property()\n\tdefaultLanguage: string;\n\n\t@Property({ nullable: true })\n\ta11yTitle?: string;\n\n\t@Property()\n\tlicense: string;\n\n\t@Property({ nullable: true })\n\tlicenseVersion?: string;\n\n\t@Property({ nullable: true })\n\tyearFrom?: string;\n\n\t@Property({ nullable: true })\n\tyearTo?: string;\n\n\t@Property({ nullable: true })\n\tsource?: string;\n\n\t@Property()\n\ttitle: string;\n\n\t@Property({ nullable: true })\n\tauthors?: IContentAuthor[];\n\n\t@Property({ nullable: true })\n\tlicenseExtras?: string;\n\n\t@Property({ nullable: true })\n\tchanges?: IContentChange[];\n\n\t@Property({ nullable: true })\n\tauthorComments?: string;\n\n\t@Property({ nullable: true })\n\tcontentType?: string;\n\n\tconstructor(metadata: IContentMetadata) {\n\t\tthis.embedTypes = metadata.embedTypes;\n\t\tthis.language = metadata.language;\n\t\tthis.mainLibrary = metadata.mainLibrary;\n\t\tthis.defaultLanguage = metadata.defaultLanguage;\n\t\tthis.license = metadata.license;\n\t\tthis.title = metadata.title;\n\t\tthis.preloadedDependencies = metadata.preloadedDependencies;\n\t\tthis.dynamicDependencies = metadata.dynamicDependencies;\n\t\tthis.editorDependencies = metadata.editorDependencies;\n\t\tthis.h = metadata.h;\n\t\tthis.metaDescription = metadata.metaDescription;\n\t\tthis.metaKeywords = metadata.metaKeywords;\n\t\tthis.w = metadata.w;\n\t\tthis.a11yTitle = metadata.a11yTitle;\n\t\tthis.licenseVersion = metadata.licenseVersion;\n\t\tthis.yearFrom = metadata.yearFrom;\n\t\tthis.yearTo = metadata.yearTo;\n\t\tthis.source = metadata.source;\n\t\tthis.authors = metadata.authors;\n\t\tthis.licenseExtras = metadata.licenseExtras;\n\t\tthis.changes = metadata.changes;\n\t\tthis.authorComments = metadata.authorComments;\n\t\tthis.contentType = metadata.contentType;\n\t}\n}\n\nexport enum H5PContentParentType {\n\t'Lesson' = 'lessons',\n}\n\nexport interface H5PContentProperties {\n\tcreatorId: EntityId;\n\tparentType: H5PContentParentType;\n\tparentId: EntityId;\n\tschoolId: EntityId;\n\tmetadata: ContentMetadata;\n\tcontent: unknown;\n}\n\n@Entity({ tableName: 'h5p-editor-content' })\nexport class H5PContent extends BaseEntityWithTimestamps {\n\t@Property({ fieldName: 'creator' })\n\t_creatorId: ObjectId;\n\n\tget creatorId(): EntityId {\n\t\treturn this._creatorId.toHexString();\n\t}\n\n\t@Index()\n\t@Enum()\n\tparentType: H5PContentParentType;\n\n\t@Index()\n\t@Property({ fieldName: 'parent' })\n\t_parentId: ObjectId;\n\n\tget parentId(): EntityId {\n\t\treturn this._parentId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'school' })\n\t_schoolId: ObjectId;\n\n\tget schoolId(): EntityId {\n\t\treturn this._schoolId.toHexString();\n\t}\n\n\t@Embedded(() => ContentMetadata)\n\tmetadata: ContentMetadata;\n\n\t@Property({ type: JsonType })\n\tcontent: unknown;\n\n\tconstructor({ parentType, parentId, creatorId, schoolId, metadata, content }: H5PContentProperties) {\n\t\tsuper();\n\n\t\tthis.parentType = parentType;\n\t\tthis._parentId = new ObjectId(parentId);\n\t\tthis._creatorId = new ObjectId(creatorId);\n\t\tthis._schoolId = new ObjectId(schoolId);\n\n\t\tthis.metadata = metadata;\n\t\tthis.content = content;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/H5PContentFactory.html":{"url":"classes/H5PContentFactory.html","title":"class - H5PContentFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n H5PContentFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/h5p-content.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import {\n\tContentMetadata,\n\tH5PContent,\n\tH5PContentParentType,\n\tH5PContentProperties,\n} from '@src/modules/h5p-editor/entity';\nimport { ObjectID } from 'bson';\nimport { BaseFactory } from './base.factory';\n\nclass H5PContentFactory extends BaseFactory {}\n\nexport const h5pContentFactory = H5PContentFactory.define(H5PContent, ({ sequence }) => {\n\treturn {\n\t\tparentType: H5PContentParentType.Lesson,\n\t\tparentId: new ObjectID().toHexString(),\n\t\tcreatorId: new ObjectID().toHexString(),\n\t\tschoolId: new ObjectID().toHexString(),\n\t\tcontent: {\n\t\t\t[`field${sequence}`]: sequence,\n\t\t\tdateField: new Date(sequence),\n\t\t\tthisObjectHasNoStructure: true,\n\t\t\tnested: {\n\t\t\t\tworks: true,\n\t\t\t},\n\t\t},\n\t\tmetadata: new ContentMetadata({\n\t\t\tdefaultLanguage: 'de-de',\n\t\t\tembedTypes: ['iframe'],\n\t\t\tlanguage: 'de-de',\n\t\t\tlicense: `License #${sequence}`,\n\t\t\tmainLibrary: `Library-${sequence}.0`,\n\t\t\tpreloadedDependencies: [],\n\t\t\ttitle: `Title #${sequence}`,\n\t\t}),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/H5PContentMapper.html":{"url":"classes/H5PContentMapper.html","title":"class - H5PContentMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n H5PContentMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/mapper/h5p-content.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToAllowedAuthorizationEntityType\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToAllowedAuthorizationEntityType\n \n \n \n \n \n \n \n mapToAllowedAuthorizationEntityType(type: H5PContentParentType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/mapper/h5p-content.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n H5PContentParentType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AuthorizableReferenceType\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { NotImplementedException } from '@nestjs/common';\nimport { AuthorizableReferenceType } from '@src/modules/authorization/domain';\nimport { H5PContentParentType } from '../entity';\n\nexport class H5PContentMapper {\n\tstatic mapToAllowedAuthorizationEntityType(type: H5PContentParentType): AuthorizableReferenceType {\n\t\tconst types = new Map();\n\n\t\ttypes.set(H5PContentParentType.Lesson, AuthorizableReferenceType.Lesson);\n\n\t\tconst res = types.get(type);\n\n\t\tif (!res) {\n\t\t\tthrow new NotImplementedException();\n\t\t}\n\n\t\treturn res;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/H5PContentMetadata.html":{"url":"classes/H5PContentMetadata.html","title":"class - H5PContentMetadata","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n H5PContentMetadata\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n mainLibrary\n \n \n \n title\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(metadata: IContentMetadata)\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:61\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n metadata\n \n \n IContentMetadata\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n mainLibrary\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:71\n \n \n\n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:68\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ContentParameters, IContentMetadata, IEditorModel, IIntegration } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { Readable } from 'stream';\n\nexport class H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel) {\n\t\tthis.integration = editorModel.integration;\n\t\tthis.scripts = editorModel.scripts;\n\t\tthis.styles = editorModel.styles;\n\t}\n\n\t@ApiProperty()\n\tintegration: IIntegration;\n\n\t// This is a list of URLs that point to the Javascript files the H5P editor needs to load\n\t@ApiProperty()\n\tscripts: string[];\n\n\t// This is a list of URLs that point to the CSS files the H5P editor needs to load\n\t@ApiProperty()\n\tstyles: string[];\n}\n\nexport interface GetH5PFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\ninterface H5PContentResponse {\n\th5p: IContentMetadata;\n\tlibrary: string;\n\tparams: {\n\t\tmetadata: IContentMetadata;\n\t\tparams: ContentParameters;\n\t};\n}\n\nexport class H5PEditorModelContentResponse extends H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel, content: H5PContentResponse) {\n\t\tsuper(editorModel);\n\n\t\tthis.library = content.library;\n\t\tthis.metadata = content.params.metadata;\n\t\tthis.params = content.params.params;\n\t}\n\n\t@ApiProperty()\n\tlibrary: string;\n\n\t@ApiProperty()\n\tmetadata: IContentMetadata;\n\n\t@ApiProperty()\n\tparams: unknown;\n}\n\nexport class H5PContentMetadata {\n\tconstructor(metadata: IContentMetadata) {\n\t\tthis.mainLibrary = metadata.mainLibrary;\n\t\tthis.title = metadata.title;\n\t}\n\n\t@ApiProperty()\n\ttitle: string;\n\n\t@ApiProperty()\n\tmainLibrary: string;\n}\n\nexport class H5PSaveResponse {\n\tconstructor(id: string, metadata: IContentMetadata) {\n\t\tthis.contentId = id;\n\t\tthis.metadata = metadata;\n\t}\n\n\t@ApiProperty()\n\tcontentId!: string;\n\n\t@ApiProperty({ type: H5PContentMetadata })\n\tmetadata!: H5PContentMetadata;\n}\n\nexport interface GetFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/H5PContentParentParams.html":{"url":"interfaces/H5PContentParentParams.html","title":"interface - H5PContentParentParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n H5PContentParentParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/types/lumi-types.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n parentId\n \n \n \n \n parentType\n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n parentId\n \n \n \n \n \n \n \n \n parentId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n \n \n parentType: H5PContentParentType\n\n \n \n\n\n \n \n Type : H5PContentParentType\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n schoolId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { IUser } from '@lumieducation/h5p-server';\nimport { EntityId } from '@shared/domain/types';\nimport { H5PContentParentType } from '../entity';\n\nexport interface H5PContentParentParams {\n\tschoolId: EntityId;\n\tparentType: H5PContentParentType;\n\tparentId: EntityId;\n}\n\nexport class LumiUserWithContentData implements IUser {\n\tcontentParentType: H5PContentParentType;\n\n\tcontentParentId: EntityId;\n\n\tschoolId: EntityId;\n\n\tcanCreateRestricted: boolean;\n\n\tcanInstallRecommended: boolean;\n\n\tcanUpdateAndInstallLibraries: boolean;\n\n\temail: string;\n\n\tid: EntityId;\n\n\tname: string;\n\n\ttype: 'local' | string;\n\n\tconstructor(user: IUser, parentParams: H5PContentParentParams) {\n\t\tthis.contentParentType = parentParams.parentType;\n\t\tthis.contentParentId = parentParams.parentId;\n\t\tthis.schoolId = parentParams.schoolId;\n\n\t\tthis.canCreateRestricted = user.canCreateRestricted;\n\t\tthis.canInstallRecommended = user.canInstallRecommended;\n\t\tthis.canUpdateAndInstallLibraries = user.canUpdateAndInstallLibraries;\n\t\tthis.email = user.email;\n\t\tthis.id = user.id;\n\t\tthis.name = user.name;\n\t\tthis.type = user.type;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/H5PContentProperties.html":{"url":"interfaces/H5PContentProperties.html","title":"interface - H5PContentProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n H5PContentProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n \n creatorId\n \n \n \n \n metadata\n \n \n \n \n parentId\n \n \n \n \n parentType\n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n content\n \n \n \n \n \n \n \n \n content: \n\n \n \n\n\n\n\n\n\n\n \n \n \n \n \n \n \n creatorId\n \n \n \n \n \n \n \n \n creatorId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n metadata\n \n \n \n \n \n \n \n \n metadata: ContentMetadata\n\n \n \n\n\n \n \n Type : ContentMetadata\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n \n \n parentId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n \n \n parentType: H5PContentParentType\n\n \n \n\n\n \n \n Type : H5PContentParentType\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n schoolId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { IContentMetadata, ILibraryName } from '@lumieducation/h5p-server';\nimport { IContentAuthor, IContentChange } from '@lumieducation/h5p-server/build/src/types';\nimport { Embeddable, Embedded, Entity, Enum, Index, JsonType, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\n\n@Embeddable()\nexport class ContentMetadata implements IContentMetadata {\n\t@Property({ nullable: true })\n\tdynamicDependencies?: ILibraryName[];\n\n\t@Property({ nullable: true })\n\teditorDependencies?: ILibraryName[];\n\n\t@Property()\n\tembedTypes: ('iframe' | 'div')[];\n\n\t@Property({ nullable: true })\n\th?: string;\n\n\t@Property()\n\tlanguage: string;\n\n\t@Property()\n\tmainLibrary: string;\n\n\t@Property({ nullable: true })\n\tmetaDescription?: string;\n\n\t@Property({ nullable: true })\n\tmetaKeywords?: string;\n\n\t@Property()\n\tpreloadedDependencies: ILibraryName[];\n\n\t@Property({ nullable: true })\n\tw?: string;\n\n\t@Property()\n\tdefaultLanguage: string;\n\n\t@Property({ nullable: true })\n\ta11yTitle?: string;\n\n\t@Property()\n\tlicense: string;\n\n\t@Property({ nullable: true })\n\tlicenseVersion?: string;\n\n\t@Property({ nullable: true })\n\tyearFrom?: string;\n\n\t@Property({ nullable: true })\n\tyearTo?: string;\n\n\t@Property({ nullable: true })\n\tsource?: string;\n\n\t@Property()\n\ttitle: string;\n\n\t@Property({ nullable: true })\n\tauthors?: IContentAuthor[];\n\n\t@Property({ nullable: true })\n\tlicenseExtras?: string;\n\n\t@Property({ nullable: true })\n\tchanges?: IContentChange[];\n\n\t@Property({ nullable: true })\n\tauthorComments?: string;\n\n\t@Property({ nullable: true })\n\tcontentType?: string;\n\n\tconstructor(metadata: IContentMetadata) {\n\t\tthis.embedTypes = metadata.embedTypes;\n\t\tthis.language = metadata.language;\n\t\tthis.mainLibrary = metadata.mainLibrary;\n\t\tthis.defaultLanguage = metadata.defaultLanguage;\n\t\tthis.license = metadata.license;\n\t\tthis.title = metadata.title;\n\t\tthis.preloadedDependencies = metadata.preloadedDependencies;\n\t\tthis.dynamicDependencies = metadata.dynamicDependencies;\n\t\tthis.editorDependencies = metadata.editorDependencies;\n\t\tthis.h = metadata.h;\n\t\tthis.metaDescription = metadata.metaDescription;\n\t\tthis.metaKeywords = metadata.metaKeywords;\n\t\tthis.w = metadata.w;\n\t\tthis.a11yTitle = metadata.a11yTitle;\n\t\tthis.licenseVersion = metadata.licenseVersion;\n\t\tthis.yearFrom = metadata.yearFrom;\n\t\tthis.yearTo = metadata.yearTo;\n\t\tthis.source = metadata.source;\n\t\tthis.authors = metadata.authors;\n\t\tthis.licenseExtras = metadata.licenseExtras;\n\t\tthis.changes = metadata.changes;\n\t\tthis.authorComments = metadata.authorComments;\n\t\tthis.contentType = metadata.contentType;\n\t}\n}\n\nexport enum H5PContentParentType {\n\t'Lesson' = 'lessons',\n}\n\nexport interface H5PContentProperties {\n\tcreatorId: EntityId;\n\tparentType: H5PContentParentType;\n\tparentId: EntityId;\n\tschoolId: EntityId;\n\tmetadata: ContentMetadata;\n\tcontent: unknown;\n}\n\n@Entity({ tableName: 'h5p-editor-content' })\nexport class H5PContent extends BaseEntityWithTimestamps {\n\t@Property({ fieldName: 'creator' })\n\t_creatorId: ObjectId;\n\n\tget creatorId(): EntityId {\n\t\treturn this._creatorId.toHexString();\n\t}\n\n\t@Index()\n\t@Enum()\n\tparentType: H5PContentParentType;\n\n\t@Index()\n\t@Property({ fieldName: 'parent' })\n\t_parentId: ObjectId;\n\n\tget parentId(): EntityId {\n\t\treturn this._parentId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'school' })\n\t_schoolId: ObjectId;\n\n\tget schoolId(): EntityId {\n\t\treturn this._schoolId.toHexString();\n\t}\n\n\t@Embedded(() => ContentMetadata)\n\tmetadata: ContentMetadata;\n\n\t@Property({ type: JsonType })\n\tcontent: unknown;\n\n\tconstructor({ parentType, parentId, creatorId, schoolId, metadata, content }: H5PContentProperties) {\n\t\tsuper();\n\n\t\tthis.parentType = parentType;\n\t\tthis._parentId = new ObjectId(parentId);\n\t\tthis._creatorId = new ObjectId(creatorId);\n\t\tthis._schoolId = new ObjectId(schoolId);\n\n\t\tthis.metadata = metadata;\n\t\tthis.content = content;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/H5PContentRepo.html":{"url":"injectables/H5PContentRepo.html","title":"injectable - H5PContentRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n H5PContentRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/repo/h5p-content.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteContent\n \n \n Async\n existsOne\n \n \n Async\n findById\n \n \n Async\n getAllContents\n \n \n create\n \n \n Async\n delete\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteContent\n \n \n \n \n \n \n \n deleteContent(content: H5PContent)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/h5p-content.repo.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n content\n \n H5PContent\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n existsOne\n \n \n \n \n \n \n \n existsOne(contentId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/h5p-content.repo.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contentId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(contentId: EntityId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contentId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getAllContents\n \n \n \n \n \n \n \n getAllContents()\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/h5p-content.repo.ts:26\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/repo/h5p-content.repo.ts:8\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '@shared/repo/base.repo';\nimport { H5PContent } from '../entity';\n\n@Injectable()\nexport class H5PContentRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn H5PContent;\n\t}\n\n\tasync existsOne(contentId: EntityId): Promise {\n\t\tconst entityCount = await this._em.count(this.entityName, { id: contentId });\n\n\t\treturn entityCount === 1;\n\t}\n\n\tasync deleteContent(content: H5PContent): Promise {\n\t\treturn this.delete(content);\n\t}\n\n\tasync findById(contentId: EntityId): Promise {\n\t\treturn this._em.findOneOrFail(this.entityName, { id: contentId });\n\t}\n\n\tasync getAllContents(): Promise {\n\t\treturn this._em.find(this.entityName, {});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/H5PContentResponse.html":{"url":"interfaces/H5PContentResponse.html","title":"interface - H5PContentResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n H5PContentResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n h5p\n \n \n \n \n library\n \n \n \n \n params\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n h5p\n \n \n \n \n \n \n \n \n h5p: IContentMetadata\n\n \n \n\n\n \n \n Type : IContentMetadata\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n library\n \n \n \n \n \n \n \n \n library: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n params\n \n \n \n \n \n \n \n \n params: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { ContentParameters, IContentMetadata, IEditorModel, IIntegration } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { Readable } from 'stream';\n\nexport class H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel) {\n\t\tthis.integration = editorModel.integration;\n\t\tthis.scripts = editorModel.scripts;\n\t\tthis.styles = editorModel.styles;\n\t}\n\n\t@ApiProperty()\n\tintegration: IIntegration;\n\n\t// This is a list of URLs that point to the Javascript files the H5P editor needs to load\n\t@ApiProperty()\n\tscripts: string[];\n\n\t// This is a list of URLs that point to the CSS files the H5P editor needs to load\n\t@ApiProperty()\n\tstyles: string[];\n}\n\nexport interface GetH5PFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\ninterface H5PContentResponse {\n\th5p: IContentMetadata;\n\tlibrary: string;\n\tparams: {\n\t\tmetadata: IContentMetadata;\n\t\tparams: ContentParameters;\n\t};\n}\n\nexport class H5PEditorModelContentResponse extends H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel, content: H5PContentResponse) {\n\t\tsuper(editorModel);\n\n\t\tthis.library = content.library;\n\t\tthis.metadata = content.params.metadata;\n\t\tthis.params = content.params.params;\n\t}\n\n\t@ApiProperty()\n\tlibrary: string;\n\n\t@ApiProperty()\n\tmetadata: IContentMetadata;\n\n\t@ApiProperty()\n\tparams: unknown;\n}\n\nexport class H5PContentMetadata {\n\tconstructor(metadata: IContentMetadata) {\n\t\tthis.mainLibrary = metadata.mainLibrary;\n\t\tthis.title = metadata.title;\n\t}\n\n\t@ApiProperty()\n\ttitle: string;\n\n\t@ApiProperty()\n\tmainLibrary: string;\n}\n\nexport class H5PSaveResponse {\n\tconstructor(id: string, metadata: IContentMetadata) {\n\t\tthis.contentId = id;\n\t\tthis.metadata = metadata;\n\t}\n\n\t@ApiProperty()\n\tcontentId!: string;\n\n\t@ApiProperty({ type: H5PContentMetadata })\n\tmetadata!: H5PContentMetadata;\n}\n\nexport interface GetFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/H5PEditorController.html":{"url":"controllers/H5PEditorController.html","title":"controller - H5PEditorController","body":"\n \n\n\n\n\n\n\n Controllers\n H5PEditorController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts\n \n\n \n Prefix\n \n \n h5p-editor\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n createH5pContent\n \n \n \n Async\n deleteH5pContent\n \n \n \n Async\n getAjax\n \n \n \n Async\n getContentFile\n \n \n \n Async\n getContentParameters\n \n \n \n \n Async\n getH5PEditor\n \n \n \n Async\n getLibraryFile\n \n \n \n \n Async\n getNewH5PEditor\n \n \n \n \n \n \n \n \n Async\n getPlayer\n \n \n \n Async\n getTemporaryFile\n \n \n \n \n Async\n postAjax\n \n \n \n \n Async\n saveH5pContent\n \n \n Private\n Static\n setRangeResponseHeaders\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n Async\n createH5pContent\n \n \n \n \n \n \n \n createH5pContent(body: PostH5PContentCreateParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Post('/edit')@ApiResponse({status: 201, type: H5PSaveResponse})\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:182\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n body\n \n PostH5PContentCreateParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteH5pContent\n \n \n \n \n \n \n \n deleteH5pContent(params: GetH5PContentParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Post('/delete/:contentId')\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:151\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n GetH5PContentParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getAjax\n \n \n \n \n \n \n \n getAjax(query: AjaxGetQueryParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get('ajax')\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:123\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n AjaxGetQueryParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getContentFile\n \n \n \n \n \n \n \n getContentFile(params: ContentFileUrlParams, req: Request, res: Response, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get('content/:id/:filename(*)')\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:82\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n ContentFileUrlParams\n \n\n \n No\n \n\n\n \n \n req\n \n Request\n \n\n \n No\n \n\n\n \n \n res\n \n Response\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getContentParameters\n \n \n \n \n \n \n \n getContentParameters(id: string, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get('params/:id')\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:75\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getH5PEditor\n \n \n \n \n \n \n \n getH5PEditor(params: GetH5PEditorParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get('/edit/:contentId/:language')@ApiResponse({status: 200, type: H5PEditorModelContentResponse})\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:170\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n GetH5PEditorParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getLibraryFile\n \n \n \n \n \n \n \n getLibraryFile(params: LibraryFileUrlParams, req: Request)\n \n \n\n \n \n Decorators : \n \n @Get('libraries/:ubername/:file(*)')\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:66\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n LibraryFileUrlParams\n \n\n \n No\n \n\n\n \n \n req\n \n Request\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getNewH5PEditor\n \n \n \n \n \n \n \n getNewH5PEditor(params: GetH5PEditorParamsCreate, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get('/edit/:language')@ApiResponse({status: 200, type: H5PEditorModelResponse})\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:162\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n GetH5PEditorParamsCreate\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getPlayer\n \n \n \n \n \n \n \n getPlayer(currentUser: ICurrentUser, params: GetH5PContentParams)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Return dummy HTML for testing'})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 400, type: BadRequestException})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 500, type: InternalServerErrorException})@Get('/play/:contentId')\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n GetH5PContentParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getTemporaryFile\n \n \n \n \n \n \n \n getTemporaryFile(currentUser: ICurrentUser, file: string, req: Request, res: Response)\n \n \n\n \n \n Decorators : \n \n @Get('temp-files/:file(*)')\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:103\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n file\n \n string\n \n\n \n No\n \n\n\n \n \n req\n \n Request\n \n\n \n No\n \n\n\n \n \n res\n \n Response\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n postAjax\n \n \n \n \n \n \n \n postAjax(body: AjaxPostBodyParams, query: AjaxPostQueryParams, currentUser: ICurrentUser, files?: literal type)\n \n \n\n \n \n Decorators : \n \n @Post('ajax')@UseInterceptors(undefined)\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:136\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n body\n \n AjaxPostBodyParams\n \n\n \n No\n \n\n\n \n \n query\n \n AjaxPostQueryParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n files\n \n literal type\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveH5pContent\n \n \n \n \n \n \n \n saveH5pContent(body: PostH5PContentCreateParams, params: SaveH5PEditorParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Post('/edit/:contentId')@ApiResponse({status: 201, type: H5PSaveResponse})\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:199\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n body\n \n PostH5PContentCreateParams\n \n\n \n No\n \n\n\n \n \n params\n \n SaveH5PEditorParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n setRangeResponseHeaders\n \n \n \n \n \n \n \n setRangeResponseHeaders(res: Response, contentLength: number, range?: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:219\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n res\n \n Response\n \n\n \n No\n \n\n\n \n \n contentLength\n \n number\n \n\n \n No\n \n\n\n \n \n range\n \n literal type\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Authenticate } from '@modules/authentication/decorator/auth.decorator';\nimport {\n\tBadRequestException,\n\tBody,\n\tController,\n\tForbiddenException,\n\tGet,\n\tHttpStatus,\n\tInternalServerErrorException,\n\tParam,\n\tPost,\n\tQuery,\n\tReq,\n\tRes,\n\tStreamableFile,\n\tUploadedFiles,\n\tUseInterceptors,\n} from '@nestjs/common';\nimport { FileFieldsInterceptor } from '@nestjs/platform-express';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { ApiValidationError } from '@shared/common';\nimport { Request, Response } from 'express';\nimport { H5PEditorUc } from '../uc/h5p.uc';\n\nimport {\n\tAjaxGetQueryParams,\n\tAjaxPostBodyParams,\n\tAjaxPostQueryParams,\n\tContentFileUrlParams,\n\tGetH5PContentParams,\n\tGetH5PEditorParams,\n\tGetH5PEditorParamsCreate,\n\tLibraryFileUrlParams,\n\tPostH5PContentCreateParams,\n\tSaveH5PEditorParams,\n} from './dto';\nimport { AjaxPostBodyParamsTransformPipe } from './dto/ajax/post.body.params.transform-pipe';\nimport { H5PEditorModelContentResponse, H5PEditorModelResponse, H5PSaveResponse } from './dto/h5p-editor.response';\n\n@ApiTags('h5p-editor')\n@Authenticate('jwt')\n@Controller('h5p-editor')\nexport class H5PEditorController {\n\tconstructor(private h5pEditorUc: H5PEditorUc) {}\n\n\t@ApiOperation({ summary: 'Return dummy HTML for testing' })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 400, type: BadRequestException })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 500, type: InternalServerErrorException })\n\t@Get('/play/:contentId')\n\tasync getPlayer(@CurrentUser() currentUser: ICurrentUser, @Param() params: GetH5PContentParams) {\n\t\treturn this.h5pEditorUc.getH5pPlayer(currentUser, params.contentId);\n\t}\n\n\t// Other Endpoints (incomplete list), paths not final\n\t// - getLibrary \t\t\t(e.g. GET `/libraries/:uberName/:file(*)`)\n\t// - getContentFile \t\t\t(e.g. GET `/content/:contentId/:file(*)`)\n\t// - getTempFile \t\t\t(e.g. GET `/temp/:file(*)`)\n\t// - ajax endpoint for h5p \t\t(e.g. GET/POST `/ajax/*`)\n\t// - static files from h5p-core\t(e.g. GET `/core/*`)\n\t// - static files for editor\t(e.g. GET `/editor/*`)\n\n\t@Get('libraries/:ubername/:file(*)')\n\tasync getLibraryFile(@Param() params: LibraryFileUrlParams, @Req() req: Request) {\n\t\tconst { data, contentType, contentLength } = await this.h5pEditorUc.getLibraryFile(params.ubername, params.file);\n\n\t\treq.on('close', () => data.destroy());\n\n\t\treturn new StreamableFile(data, { type: contentType, length: contentLength });\n\t}\n\n\t@Get('params/:id')\n\tasync getContentParameters(@Param('id') id: string, @CurrentUser() currentUser: ICurrentUser) {\n\t\tconst content = await this.h5pEditorUc.getContentParameters(id, currentUser);\n\n\t\treturn content;\n\t}\n\n\t@Get('content/:id/:filename(*)')\n\tasync getContentFile(\n\t\t@Param() params: ContentFileUrlParams,\n\t\t@Req() req: Request,\n\t\t@Res({ passthrough: true }) res: Response,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t) {\n\t\tconst { data, contentType, contentLength, contentRange } = await this.h5pEditorUc.getContentFile(\n\t\t\tparams.id,\n\t\t\tparams.filename,\n\t\t\treq,\n\t\t\tcurrentUser\n\t\t);\n\n\t\tH5PEditorController.setRangeResponseHeaders(res, contentLength, contentRange);\n\n\t\treq.on('close', () => data.destroy());\n\n\t\treturn new StreamableFile(data, { type: contentType, length: contentLength });\n\t}\n\n\t@Get('temp-files/:file(*)')\n\tasync getTemporaryFile(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param('file') file: string,\n\t\t@Req() req: Request,\n\t\t@Res({ passthrough: true }) res: Response\n\t) {\n\t\tconst { data, contentType, contentLength, contentRange } = await this.h5pEditorUc.getTemporaryFile(\n\t\t\tfile,\n\t\t\treq,\n\t\t\tcurrentUser\n\t\t);\n\n\t\tH5PEditorController.setRangeResponseHeaders(res, contentLength, contentRange);\n\n\t\treq.on('close', () => data.destroy());\n\n\t\treturn new StreamableFile(data, { type: contentType, length: contentLength });\n\t}\n\n\t@Get('ajax')\n\tasync getAjax(@Query() query: AjaxGetQueryParams, @CurrentUser() currentUser: ICurrentUser) {\n\t\tconst response = this.h5pEditorUc.getAjax(query, currentUser);\n\n\t\treturn response;\n\t}\n\n\t@Post('ajax')\n\t@UseInterceptors(\n\t\tFileFieldsInterceptor([\n\t\t\t{ name: 'file', maxCount: 1 },\n\t\t\t{ name: 'h5p', maxCount: 1 },\n\t\t])\n\t)\n\tasync postAjax(\n\t\t@Body(AjaxPostBodyParamsTransformPipe) body: AjaxPostBodyParams,\n\t\t@Query() query: AjaxPostQueryParams,\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@UploadedFiles() files?: { file?: Express.Multer.File[]; h5p?: Express.Multer.File[] }\n\t) {\n\t\tconst contentFile = files?.file?.[0];\n\t\tconst h5pFile = files?.h5p?.[0];\n\n\t\tconst result = await this.h5pEditorUc.postAjax(currentUser, query, body, contentFile, h5pFile);\n\n\t\treturn result;\n\t}\n\n\t@Post('/delete/:contentId')\n\tasync deleteH5pContent(\n\t\t@Param() params: GetH5PContentParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst deleteSuccessfull = this.h5pEditorUc.deleteH5pContent(currentUser, params.contentId);\n\n\t\treturn deleteSuccessfull;\n\t}\n\n\t@Get('/edit/:language')\n\t@ApiResponse({ status: 200, type: H5PEditorModelResponse })\n\tasync getNewH5PEditor(@Param() params: GetH5PEditorParamsCreate, @CurrentUser() currentUser: ICurrentUser) {\n\t\tconst editorModel = await this.h5pEditorUc.getEmptyH5pEditor(currentUser, params.language);\n\n\t\treturn new H5PEditorModelResponse(editorModel);\n\t}\n\n\t@Get('/edit/:contentId/:language')\n\t@ApiResponse({ status: 200, type: H5PEditorModelContentResponse })\n\tasync getH5PEditor(@Param() params: GetH5PEditorParams, @CurrentUser() currentUser: ICurrentUser) {\n\t\tconst { editorModel, content } = await this.h5pEditorUc.getH5pEditor(\n\t\t\tcurrentUser,\n\t\t\tparams.contentId,\n\t\t\tparams.language\n\t\t);\n\n\t\treturn new H5PEditorModelContentResponse(editorModel, content);\n\t}\n\n\t@Post('/edit')\n\t@ApiResponse({ status: 201, type: H5PSaveResponse })\n\tasync createH5pContent(@Body() body: PostH5PContentCreateParams, @CurrentUser() currentUser: ICurrentUser) {\n\t\tconst response = await this.h5pEditorUc.createH5pContentGetMetadata(\n\t\t\tcurrentUser,\n\t\t\tbody.params.params,\n\t\t\tbody.params.metadata,\n\t\t\tbody.library,\n\t\t\tbody.parentType,\n\t\t\tbody.parentId\n\t\t);\n\n\t\tconst saveResponse = new H5PSaveResponse(response.id, response.metadata);\n\n\t\treturn saveResponse;\n\t}\n\n\t@Post('/edit/:contentId')\n\t@ApiResponse({ status: 201, type: H5PSaveResponse })\n\tasync saveH5pContent(\n\t\t@Body() body: PostH5PContentCreateParams,\n\t\t@Param() params: SaveH5PEditorParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t) {\n\t\tconst response = await this.h5pEditorUc.saveH5pContentGetMetadata(\n\t\t\tparams.contentId,\n\t\t\tcurrentUser,\n\t\t\tbody.params.params,\n\t\t\tbody.params.metadata,\n\t\t\tbody.library,\n\t\t\tbody.parentType,\n\t\t\tbody.parentId\n\t\t);\n\n\t\tconst saveResponse = new H5PSaveResponse(response.id, response.metadata);\n\n\t\treturn saveResponse;\n\t}\n\n\tprivate static setRangeResponseHeaders(res: Response, contentLength: number, range?: { start: number; end: number }) {\n\t\tif (range) {\n\t\t\tconst contentRangeHeader = `bytes ${range.start}-${range.end}/${contentLength}`;\n\n\t\t\tres.set({\n\t\t\t\t'Accept-Ranges': 'bytes',\n\t\t\t\t'Content-Range': contentRangeHeader,\n\t\t\t});\n\n\t\t\tres.status(HttpStatus.PARTIAL_CONTENT);\n\t\t} else {\n\t\t\tres.status(HttpStatus.OK);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/H5PEditorModelContentResponse.html":{"url":"classes/H5PEditorModelContentResponse.html","title":"class - H5PEditorModelContentResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n H5PEditorModelContentResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts\n \n\n\n\n \n Extends\n \n \n H5PEditorModelResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n library\n \n \n \n metadata\n \n \n \n params\n \n \n \n integration\n \n \n \n scripts\n \n \n \n styles\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(editorModel: IEditorModel, content: H5PContentResponse)\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:42\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n editorModel\n \n \n IEditorModel\n \n \n \n No\n \n \n \n \n content\n \n \n H5PContentResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n library\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n \n metadata\n \n \n \n \n \n \n Type : IContentMetadata\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n \n integration\n \n \n \n \n \n \n Type : IIntegration\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Inherited from H5PEditorModelResponse\n\n \n \n \n \n Defined in H5PEditorModelResponse:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n scripts\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Inherited from H5PEditorModelResponse\n\n \n \n \n \n Defined in H5PEditorModelResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n styles\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Inherited from H5PEditorModelResponse\n\n \n \n \n \n Defined in H5PEditorModelResponse:21\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ContentParameters, IContentMetadata, IEditorModel, IIntegration } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { Readable } from 'stream';\n\nexport class H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel) {\n\t\tthis.integration = editorModel.integration;\n\t\tthis.scripts = editorModel.scripts;\n\t\tthis.styles = editorModel.styles;\n\t}\n\n\t@ApiProperty()\n\tintegration: IIntegration;\n\n\t// This is a list of URLs that point to the Javascript files the H5P editor needs to load\n\t@ApiProperty()\n\tscripts: string[];\n\n\t// This is a list of URLs that point to the CSS files the H5P editor needs to load\n\t@ApiProperty()\n\tstyles: string[];\n}\n\nexport interface GetH5PFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\ninterface H5PContentResponse {\n\th5p: IContentMetadata;\n\tlibrary: string;\n\tparams: {\n\t\tmetadata: IContentMetadata;\n\t\tparams: ContentParameters;\n\t};\n}\n\nexport class H5PEditorModelContentResponse extends H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel, content: H5PContentResponse) {\n\t\tsuper(editorModel);\n\n\t\tthis.library = content.library;\n\t\tthis.metadata = content.params.metadata;\n\t\tthis.params = content.params.params;\n\t}\n\n\t@ApiProperty()\n\tlibrary: string;\n\n\t@ApiProperty()\n\tmetadata: IContentMetadata;\n\n\t@ApiProperty()\n\tparams: unknown;\n}\n\nexport class H5PContentMetadata {\n\tconstructor(metadata: IContentMetadata) {\n\t\tthis.mainLibrary = metadata.mainLibrary;\n\t\tthis.title = metadata.title;\n\t}\n\n\t@ApiProperty()\n\ttitle: string;\n\n\t@ApiProperty()\n\tmainLibrary: string;\n}\n\nexport class H5PSaveResponse {\n\tconstructor(id: string, metadata: IContentMetadata) {\n\t\tthis.contentId = id;\n\t\tthis.metadata = metadata;\n\t}\n\n\t@ApiProperty()\n\tcontentId!: string;\n\n\t@ApiProperty({ type: H5PContentMetadata })\n\tmetadata!: H5PContentMetadata;\n}\n\nexport interface GetFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/H5PEditorModelResponse.html":{"url":"classes/H5PEditorModelResponse.html","title":"class - H5PEditorModelResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n H5PEditorModelResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n integration\n \n \n \n scripts\n \n \n \n styles\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(editorModel: IEditorModel)\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n editorModel\n \n \n IEditorModel\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n integration\n \n \n \n \n \n \n Type : IIntegration\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n scripts\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n styles\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:21\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ContentParameters, IContentMetadata, IEditorModel, IIntegration } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { Readable } from 'stream';\n\nexport class H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel) {\n\t\tthis.integration = editorModel.integration;\n\t\tthis.scripts = editorModel.scripts;\n\t\tthis.styles = editorModel.styles;\n\t}\n\n\t@ApiProperty()\n\tintegration: IIntegration;\n\n\t// This is a list of URLs that point to the Javascript files the H5P editor needs to load\n\t@ApiProperty()\n\tscripts: string[];\n\n\t// This is a list of URLs that point to the CSS files the H5P editor needs to load\n\t@ApiProperty()\n\tstyles: string[];\n}\n\nexport interface GetH5PFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\ninterface H5PContentResponse {\n\th5p: IContentMetadata;\n\tlibrary: string;\n\tparams: {\n\t\tmetadata: IContentMetadata;\n\t\tparams: ContentParameters;\n\t};\n}\n\nexport class H5PEditorModelContentResponse extends H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel, content: H5PContentResponse) {\n\t\tsuper(editorModel);\n\n\t\tthis.library = content.library;\n\t\tthis.metadata = content.params.metadata;\n\t\tthis.params = content.params.params;\n\t}\n\n\t@ApiProperty()\n\tlibrary: string;\n\n\t@ApiProperty()\n\tmetadata: IContentMetadata;\n\n\t@ApiProperty()\n\tparams: unknown;\n}\n\nexport class H5PContentMetadata {\n\tconstructor(metadata: IContentMetadata) {\n\t\tthis.mainLibrary = metadata.mainLibrary;\n\t\tthis.title = metadata.title;\n\t}\n\n\t@ApiProperty()\n\ttitle: string;\n\n\t@ApiProperty()\n\tmainLibrary: string;\n}\n\nexport class H5PSaveResponse {\n\tconstructor(id: string, metadata: IContentMetadata) {\n\t\tthis.contentId = id;\n\t\tthis.metadata = metadata;\n\t}\n\n\t@ApiProperty()\n\tcontentId!: string;\n\n\t@ApiProperty({ type: H5PContentMetadata })\n\tmetadata!: H5PContentMetadata;\n}\n\nexport interface GetFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/H5PEditorModule.html":{"url":"modules/H5PEditorModule.html","title":"module - H5PEditorModule","body":"\n \n\n\n\n\n Modules\n H5PEditorModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_H5PEditorModule\n\n\n\ncluster_H5PEditorModule_exports\n\n\n\ncluster_H5PEditorModule_imports\n\n\n\ncluster_H5PEditorModule_providers\n\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\n\n\nH5PEditorModule\n\nH5PEditorModule\n\nH5PEditorModule -->\n\nAuthenticationModule->H5PEditorModule\n\n\n\n\n\nAuthorizationReferenceModule\n\nAuthorizationReferenceModule\n\nH5PEditorModule -->\n\nAuthorizationReferenceModule->H5PEditorModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nH5PEditorModule -->\n\nCoreModule->H5PEditorModule\n\n\n\n\n\nRabbitMQWrapperModule\n\nRabbitMQWrapperModule\n\nH5PEditorModule -->\n\nRabbitMQWrapperModule->H5PEditorModule\n\n\n\n\n\nS3ClientModule\n\nS3ClientModule\n\nH5PEditorModule -->\n\nS3ClientModule->H5PEditorModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nH5PEditorModule -->\n\nUserModule->H5PEditorModule\n\n\n\n\n\nContentStorage \n\nContentStorage \n\nContentStorage -->\n\nH5PEditorModule->ContentStorage \n\n\n\n\n\nLibraryStorage \n\nLibraryStorage \n\nLibraryStorage -->\n\nH5PEditorModule->LibraryStorage \n\n\n\n\n\nContentStorage\n\nContentStorage\n\nH5PEditorModule -->\n\nContentStorage->H5PEditorModule\n\n\n\n\n\nH5PContentRepo\n\nH5PContentRepo\n\nH5PEditorModule -->\n\nH5PContentRepo->H5PEditorModule\n\n\n\n\n\nH5PEditorUc\n\nH5PEditorUc\n\nH5PEditorModule -->\n\nH5PEditorUc->H5PEditorModule\n\n\n\n\n\nLibraryRepo\n\nLibraryRepo\n\nH5PEditorModule -->\n\nLibraryRepo->H5PEditorModule\n\n\n\n\n\nLibraryStorage\n\nLibraryStorage\n\nH5PEditorModule -->\n\nLibraryStorage->H5PEditorModule\n\n\n\n\n\nLogger\n\nLogger\n\nH5PEditorModule -->\n\nLogger->H5PEditorModule\n\n\n\n\n\nTemporaryFileRepo\n\nTemporaryFileRepo\n\nH5PEditorModule -->\n\nTemporaryFileRepo->H5PEditorModule\n\n\n\n\n\nTemporaryFileStorage\n\nTemporaryFileStorage\n\nH5PEditorModule -->\n\nTemporaryFileStorage->H5PEditorModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/h5p-editor/h5p-editor.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ContentStorage\n \n \n H5PContentRepo\n \n \n H5PEditorUc\n \n \n LibraryRepo\n \n \n LibraryStorage\n \n \n Logger\n \n \n TemporaryFileRepo\n \n \n TemporaryFileStorage\n \n \n \n \n Controllers\n \n \n H5PEditorController\n \n \n \n \n Imports\n \n \n AuthenticationModule\n \n \n AuthorizationReferenceModule\n \n \n CoreModule\n \n \n RabbitMQWrapperModule\n \n \n S3ClientModule\n \n \n UserModule\n \n \n \n \n Exports\n \n \n ContentStorage\n \n \n LibraryStorage\n \n \n \n \n \n\n\n \n\n\n \n import { RabbitMQWrapperModule } from '@infra/rabbitmq';\nimport { S3ClientModule } from '@infra/s3-client';\nimport { Dictionary, IPrimaryKey } from '@mikro-orm/core';\nimport { MikroOrmModule, MikroOrmModuleSyncOptions } from '@mikro-orm/nestjs';\nimport { AuthenticationModule } from '@modules/authentication';\nimport { AuthorizationReferenceModule } from '@modules/authorization/authorization-reference.module';\nimport { UserModule } from '@modules/user';\nimport { Module, NotFoundException } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { ALL_ENTITIES } from '@shared/domain/entity';\nimport { DB_PASSWORD, DB_URL, DB_USERNAME, createConfigModuleOptions } from '@src/config';\nimport { CoreModule } from '@src/core';\nimport { Logger } from '@src/core/logger';\nimport { H5PEditorController } from './controller/h5p-editor.controller';\nimport { H5PContent, H5pEditorTempFile, InstalledLibrary } from './entity';\nimport { config, s3ConfigContent, s3ConfigLibraries } from './h5p-editor.config';\nimport { H5PAjaxEndpointProvider, H5PEditorProvider, H5PPlayerProvider } from './provider';\nimport { H5PContentRepo, LibraryRepo, TemporaryFileRepo } from './repo';\nimport { ContentStorage, LibraryStorage, TemporaryFileStorage } from './service';\nimport { H5PEditorUc } from './uc/h5p.uc';\n\nconst defaultMikroOrmOptions: MikroOrmModuleSyncOptions = {\n\tfindOneOrFailHandler: (entityName: string, where: Dictionary | IPrimaryKey) =>\n\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\tnew NotFoundException(`The requested ${entityName}: ${where} has not been found.`),\n};\n\nconst imports = [\n\tAuthenticationModule,\n\tAuthorizationReferenceModule,\n\tCoreModule,\n\tUserModule,\n\tRabbitMQWrapperModule,\n\tMikroOrmModule.forRoot({\n\t\t...defaultMikroOrmOptions,\n\t\ttype: 'mongo',\n\t\t// TODO add mongoose options as mongo options (see database.js)\n\t\tclientUrl: DB_URL,\n\t\tpassword: DB_PASSWORD,\n\t\tuser: DB_USERNAME,\n\t\t// Needs ALL_ENTITIES for authorization\n\t\tallowGlobalContext: true,\n\t\tentities: [...ALL_ENTITIES, H5PContent, H5pEditorTempFile, InstalledLibrary],\n\t}),\n\tConfigModule.forRoot(createConfigModuleOptions(config)),\n\tS3ClientModule.register([s3ConfigContent, s3ConfigLibraries]),\n];\n\nconst controllers = [H5PEditorController];\n\nconst providers = [\n\tLogger,\n\tH5PEditorUc,\n\tH5PContentRepo,\n\tLibraryRepo,\n\tTemporaryFileRepo,\n\tH5PEditorProvider,\n\tH5PPlayerProvider,\n\tH5PAjaxEndpointProvider,\n\tContentStorage,\n\tLibraryStorage,\n\tTemporaryFileStorage,\n];\n\n@Module({\n\timports,\n\tcontrollers,\n\tproviders,\n\texports: [ContentStorage, LibraryStorage],\n})\nexport class H5PEditorModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/H5PEditorTestModule.html":{"url":"modules/H5PEditorTestModule.html","title":"module - H5PEditorTestModule","body":"\n \n\n\n\n\n Modules\n H5PEditorTestModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_H5PEditorTestModule\n\n\n\ncluster_H5PEditorTestModule_providers\n\n\n\ncluster_H5PEditorTestModule_imports\n\n\n\n\nAuthenticationApiModule\n\nAuthenticationApiModule\n\n\n\nH5PEditorTestModule\n\nH5PEditorTestModule\n\nH5PEditorTestModule -->\n\nAuthenticationApiModule->H5PEditorTestModule\n\n\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\nH5PEditorTestModule -->\n\nAuthenticationModule->H5PEditorTestModule\n\n\n\n\n\nAuthorizationReferenceModule\n\nAuthorizationReferenceModule\n\nH5PEditorTestModule -->\n\nAuthorizationReferenceModule->H5PEditorTestModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nH5PEditorTestModule -->\n\nCoreModule->H5PEditorTestModule\n\n\n\n\n\nH5PEditorModule\n\nH5PEditorModule\n\nH5PEditorTestModule -->\n\nH5PEditorModule->H5PEditorTestModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nH5PEditorTestModule -->\n\nLoggerModule->H5PEditorTestModule\n\n\n\n\n\nMongoMemoryDatabaseModule\n\nMongoMemoryDatabaseModule\n\nH5PEditorTestModule -->\n\nMongoMemoryDatabaseModule->H5PEditorTestModule\n\n\n\n\n\nRabbitMQWrapperTestModule\n\nRabbitMQWrapperTestModule\n\nH5PEditorTestModule -->\n\nRabbitMQWrapperTestModule->H5PEditorTestModule\n\n\n\n\n\nS3ClientModule\n\nS3ClientModule\n\nH5PEditorTestModule -->\n\nS3ClientModule->H5PEditorTestModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nH5PEditorTestModule -->\n\nUserModule->H5PEditorTestModule\n\n\n\n\n\nContentStorage\n\nContentStorage\n\nH5PEditorTestModule -->\n\nContentStorage->H5PEditorTestModule\n\n\n\n\n\nH5PContentRepo\n\nH5PContentRepo\n\nH5PEditorTestModule -->\n\nH5PContentRepo->H5PEditorTestModule\n\n\n\n\n\nH5PEditorUc\n\nH5PEditorUc\n\nH5PEditorTestModule -->\n\nH5PEditorUc->H5PEditorTestModule\n\n\n\n\n\nLibraryRepo\n\nLibraryRepo\n\nH5PEditorTestModule -->\n\nLibraryRepo->H5PEditorTestModule\n\n\n\n\n\nLibraryStorage\n\nLibraryStorage\n\nH5PEditorTestModule -->\n\nLibraryStorage->H5PEditorTestModule\n\n\n\n\n\nTemporaryFileRepo\n\nTemporaryFileRepo\n\nH5PEditorTestModule -->\n\nTemporaryFileRepo->H5PEditorTestModule\n\n\n\n\n\nTemporaryFileStorage\n\nTemporaryFileStorage\n\nH5PEditorTestModule -->\n\nTemporaryFileStorage->H5PEditorTestModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/h5p-editor/h5p-editor-test.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ContentStorage\n \n \n H5PContentRepo\n \n \n H5PEditorUc\n \n \n LibraryRepo\n \n \n LibraryStorage\n \n \n TemporaryFileRepo\n \n \n TemporaryFileStorage\n \n \n \n \n Controllers\n \n \n H5PEditorController\n \n \n \n \n Imports\n \n \n AuthenticationApiModule\n \n \n AuthenticationModule\n \n \n AuthorizationReferenceModule\n \n \n CoreModule\n \n \n H5PEditorModule\n \n \n LoggerModule\n \n \n MongoMemoryDatabaseModule\n \n \n RabbitMQWrapperTestModule\n \n \n S3ClientModule\n \n \n UserModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options?: MongoDatabaseModuleOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/h5p-editor-test.module.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n MongoDatabaseModuleOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { MongoDatabaseModuleOptions, MongoMemoryDatabaseModule } from '@infra/database';\nimport { RabbitMQWrapperTestModule } from '@infra/rabbitmq';\nimport { S3ClientModule } from '@infra/s3-client';\nimport { AuthenticationModule } from '@modules/authentication';\nimport { AuthenticationApiModule } from '@modules/authentication/authentication-api.module';\nimport { AuthorizationReferenceModule } from '@modules/authorization/authorization-reference.module';\nimport { UserModule } from '@modules/user';\nimport { DynamicModule, Module } from '@nestjs/common';\nimport { ALL_ENTITIES } from '@shared/domain/entity';\nimport { CoreModule } from '@src/core';\nimport { LoggerModule } from '@src/core/logger';\nimport { H5PEditorController } from './controller';\nimport { H5PContent } from './entity';\nimport { s3ConfigContent, s3ConfigLibraries } from './h5p-editor.config';\nimport { H5PEditorModule } from './h5p-editor.module';\nimport { H5PAjaxEndpointProvider, H5PEditorProvider, H5PPlayerProvider } from './provider';\nimport { H5PContentRepo, LibraryRepo, TemporaryFileRepo } from './repo';\nimport { ContentStorage, LibraryStorage, TemporaryFileStorage } from './service';\nimport { H5PEditorUc } from './uc/h5p.uc';\n\nconst imports = [\n\tH5PEditorModule,\n\tMongoMemoryDatabaseModule.forRoot({ entities: [...ALL_ENTITIES, H5PContent] }),\n\tAuthenticationApiModule,\n\tAuthorizationReferenceModule,\n\tAuthenticationModule,\n\tUserModule,\n\tCoreModule,\n\tLoggerModule,\n\tRabbitMQWrapperTestModule,\n\tS3ClientModule.register([s3ConfigContent, s3ConfigLibraries]),\n];\nconst controllers = [H5PEditorController];\nconst providers = [\n\tH5PEditorUc,\n\tH5PPlayerProvider,\n\tH5PEditorProvider,\n\tH5PAjaxEndpointProvider,\n\tH5PContentRepo,\n\tLibraryRepo,\n\tTemporaryFileRepo,\n\tContentStorage,\n\tLibraryStorage,\n\tTemporaryFileStorage,\n];\n\n@Module({\n\timports,\n\tcontrollers,\n\tproviders,\n})\nexport class H5PEditorTestModule {\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: H5PEditorTestModule,\n\t\t\timports: [...imports, MongoMemoryDatabaseModule.forRoot({ ...options })],\n\t\t\tcontrollers,\n\t\t\tproviders,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/H5PErrorMapper.html":{"url":"classes/H5PErrorMapper.html","title":"class - H5PErrorMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n H5PErrorMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/mapper/h5p-error.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n mapH5pError\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n mapH5pError\n \n \n \n \n \n \n \n mapH5pError(error: H5pError)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/mapper/h5p-error.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n H5pError\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { H5pError } from '@lumieducation/h5p-server';\nimport { HttpException } from '@nestjs/common';\n\nexport class H5PErrorMapper {\n\tpublic mapH5pError(error: H5pError) {\n\t\treturn new HttpException(error.message, error.httpStatusCode);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/H5PLibraryManagementModule.html":{"url":"modules/H5PLibraryManagementModule.html","title":"module - H5PLibraryManagementModule","body":"\n \n\n\n\n\n Modules\n H5PLibraryManagementModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_H5PLibraryManagementModule\n\n\n\ncluster_H5PLibraryManagementModule_providers\n\n\n\ncluster_H5PLibraryManagementModule_imports\n\n\n\n\nCoreModule\n\nCoreModule\n\n\n\nH5PLibraryManagementModule\n\nH5PLibraryManagementModule\n\nH5PLibraryManagementModule -->\n\nCoreModule->H5PLibraryManagementModule\n\n\n\n\n\nH5PEditorModule\n\nH5PEditorModule\n\nH5PLibraryManagementModule -->\n\nH5PEditorModule->H5PLibraryManagementModule\n\n\n\n\n\nRabbitMQWrapperModule\n\nRabbitMQWrapperModule\n\nH5PLibraryManagementModule -->\n\nRabbitMQWrapperModule->H5PLibraryManagementModule\n\n\n\n\n\nS3ClientModule\n\nS3ClientModule\n\nH5PLibraryManagementModule -->\n\nS3ClientModule->H5PLibraryManagementModule\n\n\n\n\n\nH5PLibraryManagementService\n\nH5PLibraryManagementService\n\nH5PLibraryManagementModule -->\n\nH5PLibraryManagementService->H5PLibraryManagementModule\n\n\n\n\n\nLogger\n\nLogger\n\nH5PLibraryManagementModule -->\n\nLogger->H5PLibraryManagementModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/h5p-library-management/h5p-library-management.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n H5PLibraryManagementService\n \n \n Logger\n \n \n \n \n Imports\n \n \n CoreModule\n \n \n H5PEditorModule\n \n \n RabbitMQWrapperModule\n \n \n S3ClientModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { RabbitMQWrapperModule } from '@infra/rabbitmq';\nimport { S3ClientModule } from '@infra/s3-client';\nimport { createConfigModuleOptions } from '@src/config';\nimport { CoreModule } from '@src/core';\nimport { Logger } from '@src/core/logger';\nimport { H5PEditorModule, s3ConfigContent, s3ConfigLibraries } from '@modules/h5p-editor';\nimport { H5PLibraryManagementService, h5PLibraryManagementConfig } from './service';\n\nconst imports = [\n\tConfigModule.forRoot(createConfigModuleOptions(h5PLibraryManagementConfig)),\n\tCoreModule,\n\tH5PEditorModule,\n\tRabbitMQWrapperModule,\n\tS3ClientModule.register([s3ConfigContent, s3ConfigLibraries]),\n];\n\nconst controllers = [];\n\nconst providers = [Logger, H5PLibraryManagementService];\n\n@Module({\n\timports,\n\tcontrollers,\n\tproviders,\n\texports: [],\n})\nexport class H5PLibraryManagementModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/H5PLibraryManagementService.html":{"url":"injectables/H5PLibraryManagementService.html","title":"injectable - H5PLibraryManagementService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n H5PLibraryManagementService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n contentTypeCache\n \n \n contentTypeRepo\n \n \n libraryAdministration\n \n \n libraryManager\n \n \n libraryWishList\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkContentTypeExists\n \n \n Private\n createDefaultIUser\n \n \n Public\n Async\n installLibraries\n \n \n Public\n Async\n run\n \n \n Public\n Async\n uninstallUnwantedLibraries\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(libraryStorage: LibraryStorage, contentStorage: ContentStorage, configService: ConfigService)\n \n \n \n \n Defined in apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts:60\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n libraryStorage\n \n \n LibraryStorage\n \n \n \n No\n \n \n \n \n contentStorage\n \n \n ContentStorage\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkContentTypeExists\n \n \n \n \n \n \n \n checkContentTypeExists(contentType: IHubContentType[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts:110\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contentType\n \n IHubContentType[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createDefaultIUser\n \n \n \n \n \n \n \n createDefaultIUser()\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts:116\n \n \n\n\n \n \n\n \n Returns : IUser\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n installLibraries\n \n \n \n \n \n \n \n installLibraries(librariesToInstall: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts:130\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n librariesToInstall\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n run\n \n \n \n \n \n \n \n run()\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts:145\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n uninstallUnwantedLibraries\n \n \n \n \n \n \n \n uninstallUnwantedLibraries(wantedLibraries: string[], librariesToCheck: ILibraryAdministrationOverviewItem[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts:88\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n wantedLibraries\n \n string[]\n \n\n \n No\n \n\n\n \n \n librariesToCheck\n \n ILibraryAdministrationOverviewItem[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n contentTypeCache\n \n \n \n \n \n \n Type : ContentTypeCache\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n contentTypeRepo\n \n \n \n \n \n \n Type : ContentTypeInformationRepository\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n libraryAdministration\n \n \n \n \n \n \n Type : LibraryAdministration\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n libraryManager\n \n \n \n \n \n \n Type : LibraryManager\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts:56\n \n \n\n\n \n \n \n \n \n \n \n \n libraryWishList\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts:60\n \n \n\n\n \n \n\n\n \n\n\n \n import {\n\tH5PConfig,\n\tcacheImplementations,\n\tLibraryManager,\n\tContentTypeCache,\n\tIUser,\n\tLibraryAdministration,\n\tILibraryAdministrationOverviewItem,\n} from '@lumieducation/h5p-server';\nimport ContentManager from '@lumieducation/h5p-server/build/src/ContentManager';\nimport ContentTypeInformationRepository from '@lumieducation/h5p-server/build/src/ContentTypeInformationRepository';\nimport { Injectable, InternalServerErrorException, NotFoundException } from '@nestjs/common';\nimport { ContentStorage, LibraryStorage } from '@src/modules/h5p-editor';\nimport { readFileSync } from 'fs';\nimport { parse } from 'yaml';\nimport { ConfigService } from '@nestjs/config';\nimport { IHubContentType } from '@lumieducation/h5p-server/build/src/types';\nimport { IH5PLibraryManagementConfig } from './h5p-library-management.config';\n\nconst h5pConfig = new H5PConfig(undefined, {\n\tbaseUrl: '/api/v3/h5p-editor',\n\tcontentUserStateSaveInterval: false,\n\tsetFinishedEnabled: false,\n});\n\ninterface LibrariesContentType {\n\th5p_libraries: string[];\n}\n\nfunction isLibrariesContentType(object: unknown): object is LibrariesContentType {\n\tconst isType =\n\t\ttypeof object === 'object' &&\n\t\t!Array.isArray(object) &&\n\t\tobject !== null &&\n\t\t'h5p_libraries' in object &&\n\t\tArray.isArray(object.h5p_libraries);\n\n\treturn isType;\n}\n\nexport const castToLibrariesContentType = (object: unknown): LibrariesContentType => {\n\tif (!isLibrariesContentType(object)) {\n\t\tthrow new InternalServerErrorException('Invalid input type for castToLibrariesContentType');\n\t}\n\n\treturn object;\n};\n\n@Injectable()\nexport class H5PLibraryManagementService {\n\t// should all this prop private?\n\tcontentTypeCache: ContentTypeCache;\n\n\tcontentTypeRepo: ContentTypeInformationRepository;\n\n\tlibraryManager: LibraryManager;\n\n\tlibraryAdministration: LibraryAdministration;\n\n\tlibraryWishList: string[];\n\n\tconstructor(\n\t\tprivate readonly libraryStorage: LibraryStorage,\n\t\tprivate readonly contentStorage: ContentStorage,\n\t\tprivate readonly configService: ConfigService\n\t) {\n\t\tconst kvCache = new cacheImplementations.CachedKeyValueStorage('kvcache');\n\t\tthis.contentTypeCache = new ContentTypeCache(h5pConfig, kvCache);\n\t\tthis.libraryManager = new LibraryManager(\n\t\t\tthis.libraryStorage,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\th5pConfig\n\t\t);\n\t\tthis.contentTypeRepo = new ContentTypeInformationRepository(this.contentTypeCache, this.libraryManager, h5pConfig);\n\t\tconst contentManager = new ContentManager(this.contentStorage);\n\t\tthis.libraryAdministration = new LibraryAdministration(this.libraryManager, contentManager);\n\t\tconst filePath = this.configService.get('H5P_EDITOR__LIBRARY_LIST_PATH');\n\n\t\tconst librariesYamlContent = readFileSync(filePath, { encoding: 'utf-8' });\n\t\tconst librariesContentType = castToLibrariesContentType(parse(librariesYamlContent));\n\t\tthis.libraryWishList = librariesContentType.h5p_libraries;\n\t}\n\n\tpublic async uninstallUnwantedLibraries(\n\t\twantedLibraries: string[],\n\t\tlibrariesToCheck: ILibraryAdministrationOverviewItem[]\n\t): Promise {\n\t\tif (librariesToCheck.length === 0) {\n\t\t\treturn;\n\t\t}\n\t\tconst lastPositionLibrariesToCheckArray = librariesToCheck.length - 1;\n\t\tif (\n\t\t\t!wantedLibraries.includes(librariesToCheck[lastPositionLibrariesToCheckArray].machineName) &&\n\t\t\tlibrariesToCheck[lastPositionLibrariesToCheckArray].dependentsCount === 0\n\t\t) {\n\t\t\t// force removal, don't let content prevent it, therefore use libraryStorage directly\n\t\t\t// also to avoid conflicts, remove one-by-one, not using for-await:\n\t\t\tawait this.libraryStorage.deleteLibrary(librariesToCheck[lastPositionLibrariesToCheckArray]);\n\t\t}\n\t\tawait this.uninstallUnwantedLibraries(\n\t\t\tthis.libraryWishList,\n\t\t\tlibrariesToCheck.slice(0, lastPositionLibrariesToCheckArray)\n\t\t);\n\t}\n\n\tprivate checkContentTypeExists(contentType: IHubContentType[]): void {\n\t\tif (contentType === undefined) {\n\t\t\tthrow new NotFoundException('this library does not exist');\n\t\t}\n\t}\n\n\tprivate createDefaultIUser(): IUser {\n\t\tconst user: IUser = {\n\t\t\tcanCreateRestricted: true,\n\t\t\tcanInstallRecommended: true,\n\t\t\tcanUpdateAndInstallLibraries: true,\n\t\t\temail: 'a@b.de',\n\t\t\tid: 'a',\n\t\t\tname: 'a',\n\t\t\ttype: 'local',\n\t\t};\n\n\t\treturn user;\n\t}\n\n\tpublic async installLibraries(librariesToInstall: string[]): Promise {\n\t\tif (librariesToInstall.length === 0) {\n\t\t\treturn;\n\t\t}\n\t\tconst lastPositionLibrariesToInstallArray = librariesToInstall.length - 1;\n\t\t// avoid conflicts, install one-by-one:\n\t\tconst contentType = await this.contentTypeCache.get(librariesToInstall[lastPositionLibrariesToInstallArray]);\n\t\tthis.checkContentTypeExists(contentType);\n\n\t\tconst user = this.createDefaultIUser();\n\n\t\tawait this.contentTypeRepo.installContentType(librariesToInstall[lastPositionLibrariesToInstallArray], user);\n\t\tawait this.installLibraries(librariesToInstall.slice(0, lastPositionLibrariesToInstallArray));\n\t}\n\n\tpublic async run(): Promise {\n\t\tconst installedLibraries = await this.libraryAdministration.getLibraries();\n\t\tawait this.uninstallUnwantedLibraries(this.libraryWishList, installedLibraries);\n\t\tawait this.installLibraries(this.libraryWishList);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/H5PSaveResponse.html":{"url":"classes/H5PSaveResponse.html","title":"class - H5PSaveResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n H5PSaveResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contentId\n \n \n \n metadata\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(id: string, metadata: IContentMetadata)\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:74\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n \n string\n \n \n \n No\n \n \n \n \n metadata\n \n \n IContentMetadata\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n contentId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:81\n \n \n\n\n \n \n \n \n \n \n \n \n \n metadata\n \n \n \n \n \n \n Type : H5PContentMetadata\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: H5PContentMetadata})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:84\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ContentParameters, IContentMetadata, IEditorModel, IIntegration } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { Readable } from 'stream';\n\nexport class H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel) {\n\t\tthis.integration = editorModel.integration;\n\t\tthis.scripts = editorModel.scripts;\n\t\tthis.styles = editorModel.styles;\n\t}\n\n\t@ApiProperty()\n\tintegration: IIntegration;\n\n\t// This is a list of URLs that point to the Javascript files the H5P editor needs to load\n\t@ApiProperty()\n\tscripts: string[];\n\n\t// This is a list of URLs that point to the CSS files the H5P editor needs to load\n\t@ApiProperty()\n\tstyles: string[];\n}\n\nexport interface GetH5PFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\ninterface H5PContentResponse {\n\th5p: IContentMetadata;\n\tlibrary: string;\n\tparams: {\n\t\tmetadata: IContentMetadata;\n\t\tparams: ContentParameters;\n\t};\n}\n\nexport class H5PEditorModelContentResponse extends H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel, content: H5PContentResponse) {\n\t\tsuper(editorModel);\n\n\t\tthis.library = content.library;\n\t\tthis.metadata = content.params.metadata;\n\t\tthis.params = content.params.params;\n\t}\n\n\t@ApiProperty()\n\tlibrary: string;\n\n\t@ApiProperty()\n\tmetadata: IContentMetadata;\n\n\t@ApiProperty()\n\tparams: unknown;\n}\n\nexport class H5PContentMetadata {\n\tconstructor(metadata: IContentMetadata) {\n\t\tthis.mainLibrary = metadata.mainLibrary;\n\t\tthis.title = metadata.title;\n\t}\n\n\t@ApiProperty()\n\ttitle: string;\n\n\t@ApiProperty()\n\tmainLibrary: string;\n}\n\nexport class H5PSaveResponse {\n\tconstructor(id: string, metadata: IContentMetadata) {\n\t\tthis.contentId = id;\n\t\tthis.metadata = metadata;\n\t}\n\n\t@ApiProperty()\n\tcontentId!: string;\n\n\t@ApiProperty({ type: H5PContentMetadata })\n\tmetadata!: H5PContentMetadata;\n}\n\nexport interface GetFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/H5PTemporaryFileFactory.html":{"url":"classes/H5PTemporaryFileFactory.html","title":"class - H5PTemporaryFileFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n H5PTemporaryFileFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/h5p-temporary-file.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n isExpired\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n isExpired\n \n \n \n \n \n \nisExpired()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/h5p-temporary-file.factory.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { H5pEditorTempFile, TemporaryFileProperties } from '@src/modules/h5p-editor/entity';\nimport { DeepPartial } from 'fishery';\nimport { BaseFactory } from './base.factory';\n\nconst oneDay = 24 * 60 * 60 * 1000;\n\nclass H5PTemporaryFileFactory extends BaseFactory {\n\tisExpired(): this {\n\t\tconst birthtime = new Date(Date.now() - oneDay * 2); // Created two days ago\n\t\tconst expiresAt = new Date(Date.now() - oneDay); // Expired yesterday\n\t\tconst params: DeepPartial = { expiresAt, birthtime };\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const h5pTemporaryFileFactory = H5PTemporaryFileFactory.define(H5pEditorTempFile, ({ sequence }) => {\n\treturn {\n\t\tfilename: `File-${sequence}.txt`,\n\t\townedByUserId: `user-${sequence}`,\n\t\tbirthtime: new Date(Date.now() - oneDay), // Yesterday\n\t\texpiresAt: new Date(Date.now() + oneDay), // Tomorrow\n\t\tsize: sequence,\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/H5pEditorTempFile.html":{"url":"entities/H5pEditorTempFile.html","title":"entity - H5pEditorTempFile","body":"\n \n\n\n\n\n\n\n\n Entities\n H5pEditorTempFile\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/entity/h5p-editor-tempfile.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n birthtime\n \n \n \n expiresAt\n \n \n \n filename\n \n \n \n ownedByUserId\n \n \n \n size\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n birthtime\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-editor-tempfile.entity.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n expiresAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-editor-tempfile.entity.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n filename\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-editor-tempfile.entity.ts:19\n \n \n\n \n \n The name by which the file can be identified; can be a path including subdirectories (e.g. 'images/xyz.png')\n\n \n \n\n \n \n \n \n \n \n \n \n \n ownedByUserId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-editor-tempfile.entity.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n size\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-editor-tempfile.entity.ts:31\n \n \n\n\n \n \n\n \n\n\n \n import { IFileStats, ITemporaryFile } from '@lumieducation/h5p-server';\nimport { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\n\nexport interface TemporaryFileProperties {\n\tfilename: string;\n\townedByUserId: string;\n\texpiresAt: Date;\n\tbirthtime: Date;\n\tsize: number;\n}\n\n@Entity({ tableName: 'h5p-editor-temp-file' })\nexport class H5pEditorTempFile extends BaseEntityWithTimestamps implements ITemporaryFile, IFileStats {\n\t/**\n\t * The name by which the file can be identified; can be a path including subdirectories (e.g. 'images/xyz.png')\n\t */\n\t@Property()\n\tfilename: string;\n\n\t@Property()\n\texpiresAt: Date;\n\n\t@Property()\n\townedByUserId: string;\n\n\t@Property()\n\tbirthtime: Date;\n\n\t@Property()\n\tsize: number;\n\n\tconstructor({ filename, ownedByUserId, expiresAt, birthtime, size }: TemporaryFileProperties) {\n\t\tsuper();\n\t\tthis.filename = filename;\n\t\tthis.ownedByUserId = ownedByUserId;\n\t\tthis.expiresAt = expiresAt;\n\t\tthis.birthtime = birthtime;\n\t\tthis.size = size;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/H5pFileDto.html":{"url":"classes/H5pFileDto.html","title":"class - H5pFileDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n H5pFileDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-file.dto.ts\n \n\n\n\n\n \n Implements\n \n \n File\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n data\n \n \n mimeType\n \n \n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(file: H5pFileDto)\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-file.dto.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n file\n \n \n H5pFileDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : Readable\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-file.dto.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n mimeType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-file.dto.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-file.dto.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Readable } from 'stream';\nimport { File } from '@infra/s3-client';\n\nexport class H5pFileDto implements File {\n\tconstructor(file: H5pFileDto) {\n\t\tthis.name = file.name;\n\t\tthis.data = file.data;\n\t\tthis.mimeType = file.mimeType;\n\t}\n\n\tname: string;\n\n\tdata: Readable;\n\n\tmimeType: string;\n}\n\nexport interface GetH5pFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\nexport interface GetLibraryFile {\n\tdata: Readable;\n\tcontentType: string;\n\tcontentLength: number;\n\tcontentRange?: { start: number; end: number };\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/HtmlMailContent.html":{"url":"interfaces/HtmlMailContent.html","title":"interface - HtmlMailContent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n HtmlMailContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/mail/mail.interface.ts\n \n\n\n\n \n Extends\n \n \n MailContent\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n htmlContent\n \n \n \n Optional\n \n plainTextContent\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n htmlContent\n \n \n \n \n \n \n \n \n htmlContent: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n plainTextContent\n \n \n \n \n \n \n \n \n plainTextContent: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n interface MailAttachment {\n\tbase64Content: string;\n\n\tmimeType: string;\n\n\tname: string;\n}\n\ninterface InlineAttachment extends MailAttachment {\n\tcontentDisposition: 'INLINE';\n\n\tcontentId: string;\n}\n\ninterface AppendedAttachment extends MailAttachment {\n\tcontentDisposition: 'ATTACHMENT';\n}\n\ninterface MailContent {\n\tsubject: string;\n\n\tattachments?: (InlineAttachment | AppendedAttachment)[];\n}\n\ninterface PlainTextMailContent extends MailContent {\n\thtmlContent?: string;\n\n\tplainTextContent: string;\n}\n\ninterface HtmlMailContent extends MailContent {\n\thtmlContent: string;\n\n\tplainTextContent?: string;\n}\n\nexport interface Mail {\n\tmail: PlainTextMailContent | HtmlMailContent;\n\n\trecipients: string[];\n\n\tfrom?: string;\n\n\tcc?: string[];\n\n\tbcc?: string[];\n\n\treplyTo?: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/HydraOauthFailedLoggableException.html":{"url":"classes/HydraOauthFailedLoggableException.html","title":"class - HydraOauthFailedLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n HydraOauthFailedLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/oauth-provider/loggable/hydra-oauth-failed-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n AxiosErrorLoggable\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(error: AxiosError)\n \n \n \n \n Defined in apps/server/src/infra/oauth-provider/loggable/hydra-oauth-failed-loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n \n AxiosError\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Inherited from AxiosErrorLoggable\n\n \n \n \n \n Defined in AxiosErrorLoggable:12\n\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { AxiosErrorLoggable } from '@src/core/error/loggable';\nimport { AxiosError } from 'axios';\n\nexport class HydraOauthFailedLoggableException extends AxiosErrorLoggable {\n\tconstructor(error: AxiosError) {\n\t\tsuper(error, 'HYDRA_OAUTH_FAILED');\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/HydraOauthUc.html":{"url":"injectables/HydraOauthUc.html","title":"injectable - HydraOauthUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n HydraOauthUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/uc/hydra-oauth.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n MAX_REDIRECTS\n \n \n Protected\n validateStatus\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getOauthToken\n \n \n Private\n Async\n processRedirectCascade\n \n \n Async\n requestAuthCode\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthService: OAuthService, hydraSsoService: HydraSsoService, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/oauth/uc/hydra-oauth.uc.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthService\n \n \n OAuthService\n \n \n \n No\n \n \n \n \n hydraSsoService\n \n \n HydraSsoService\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getOauthToken\n \n \n \n \n \n \n \n getOauthToken(oauthClientId: string, code?: string, error?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/uc/hydra-oauth.uc.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthClientId\n \n string\n \n\n \n No\n \n\n\n \n \n code\n \n string\n \n\n \n Yes\n \n\n\n \n \n error\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n processRedirectCascade\n \n \n \n \n \n \n \n processRedirectCascade(initResponse: AxiosResponse, jwt: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/uc/hydra-oauth.uc.ts:59\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n initResponse\n \n AxiosResponse\n \n\n \n No\n \n\n\n \n \n jwt\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n requestAuthCode\n \n \n \n \n \n \n \n requestAuthCode(jwt: string, oauthClientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/uc/hydra-oauth.uc.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n jwt\n \n string\n \n\n \n No\n \n\n\n \n \n oauthClientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n MAX_REDIRECTS\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 10\n \n \n \n \n Defined in apps/server/src/modules/oauth/uc/hydra-oauth.uc.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n Protected\n validateStatus\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/modules/oauth/uc/hydra-oauth.uc.ts:40\n \n \n\n\n \n \n\n\n \n\n\n \n import { HydraRedirectDto } from '@modules/oauth/service/dto/hydra.redirect.dto';\nimport { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { OauthConfigEntity } from '@shared/domain/entity';\nimport { LegacyLogger } from '@src/core/logger';\nimport { AxiosRequestConfig, AxiosResponse } from 'axios';\nimport { AuthorizationParams } from '../controller/dto';\nimport { OAuthTokenDto } from '../interface';\nimport { AuthCodeFailureLoggableException } from '../loggable';\nimport { HydraSsoService, OAuthService } from '../service';\n\n@Injectable()\nexport class HydraOauthUc {\n\tconstructor(\n\t\tprivate readonly oauthService: OAuthService,\n\t\tprivate readonly hydraSsoService: HydraSsoService,\n\t\tprivate logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(HydraOauthUc.name);\n\t}\n\n\tprivate readonly MAX_REDIRECTS: number = 10;\n\n\tasync getOauthToken(oauthClientId: string, code?: string, error?: string): Promise {\n\t\tif (error || !code) {\n\t\t\tthrow new AuthCodeFailureLoggableException(error);\n\t\t}\n\t\tconst hydraOauthConfig: OauthConfigEntity = await this.hydraSsoService.generateConfig(oauthClientId);\n\n\t\tconst oauthTokens: OAuthTokenDto = await this.oauthService.requestToken(\n\t\t\tcode,\n\t\t\thydraOauthConfig,\n\t\t\thydraOauthConfig.redirectUri\n\t\t);\n\n\t\tawait this.oauthService.validateToken(oauthTokens.idToken, hydraOauthConfig);\n\n\t\treturn oauthTokens;\n\t}\n\n\tprotected validateStatus = (status: number): boolean => status === 200 || status === 302;\n\n\tasync requestAuthCode(jwt: string, oauthClientId: string): Promise {\n\t\tconst hydraOauthConfig: OauthConfigEntity = await this.hydraSsoService.generateConfig(oauthClientId);\n\t\tconst axiosConfig: AxiosRequestConfig = {\n\t\t\theaders: {},\n\t\t\twithCredentials: true,\n\t\t\tmaxRedirects: 0,\n\t\t\tvalidateStatus: this.validateStatus,\n\t\t};\n\n\t\tconst initResponse = await this.hydraSsoService.initAuth(hydraOauthConfig, axiosConfig);\n\n\t\tconst response: AxiosResponse = await this.processRedirectCascade(initResponse, jwt);\n\n\t\tconst authParams: AuthorizationParams = response.data as AuthorizationParams;\n\t\treturn authParams;\n\t}\n\n\tprivate async processRedirectCascade(\n\t\tinitResponse: AxiosResponse,\n\t\tjwt: string\n\t): Promise> {\n\t\tlet dto = new HydraRedirectDto({\n\t\t\tcurrentRedirect: 0,\n\t\t\treferer: '',\n\t\t\tcookies: { localCookies: [`jwt=${jwt}`], hydraCookies: [] },\n\t\t\tresponse: initResponse,\n\t\t\taxiosConfig: initResponse.config,\n\t\t});\n\n\t\tdo {\n\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\tdto = await this.hydraSsoService.processRedirect(dto);\n\t\t} while (dto.response.status === 302 && dto.currentRedirect = this.MAX_REDIRECTS) {\n\t\t\tthrow new InternalServerErrorException(`Redirect limit of ${this.MAX_REDIRECTS} exceeded.`);\n\t\t}\n\t\treturn dto.response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/HydraRedirectDto.html":{"url":"classes/HydraRedirectDto.html","title":"class - HydraRedirectDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n HydraRedirectDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n axiosConfig\n \n \n cookies\n \n \n currentRedirect\n \n \n referer\n \n \n response\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: HydraRedirectDto)\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n HydraRedirectDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n axiosConfig\n \n \n \n \n \n \n Type : AxiosRequestConfig\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n cookies\n \n \n \n \n \n \n Type : CookiesDto\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n currentRedirect\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n referer\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n response\n \n \n \n \n \n \n Type : AxiosResponse\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:19\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { CookiesDto } from '@modules/oauth/service/dto/cookies.dto';\nimport { AxiosRequestConfig, AxiosResponse } from 'axios';\n\nexport class HydraRedirectDto {\n\tconstructor(props: HydraRedirectDto) {\n\t\tthis.currentRedirect = props.currentRedirect;\n\t\tthis.referer = props.referer;\n\t\tthis.cookies = props.cookies;\n\t\tthis.response = props.response;\n\t\tthis.axiosConfig = props.axiosConfig;\n\t}\n\n\tcurrentRedirect: number;\n\n\treferer: string;\n\n\tcookies: CookiesDto;\n\n\tresponse: AxiosResponse;\n\n\taxiosConfig: AxiosRequestConfig;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/HydraSsoService.html":{"url":"injectables/HydraSsoService.html","title":"injectable - HydraSsoService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n HydraSsoService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/service/hydra.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n HOST\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n generateConfig\n \n \n Private\n get\n \n \n Async\n initAuth\n \n \n Protected\n processCookies\n \n \n Async\n processRedirect\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ltiRepo: LtiToolRepo, httpService: HttpService, oAuthEncryptionService: EncryptionService, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/hydra.service.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ltiRepo\n \n \n LtiToolRepo\n \n \n \n No\n \n \n \n \n httpService\n \n \n HttpService\n \n \n \n No\n \n \n \n \n oAuthEncryptionService\n \n \n EncryptionService\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n generateConfig\n \n \n \n \n \n \n \n generateConfig(oauthClientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/hydra.service.ts:99\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthClientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n get\n \n \n \n \n \n \n \n get(url: string, axiosConfig: AxiosRequestConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/hydra.service.ts:126\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n axiosConfig\n \n AxiosRequestConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n initAuth\n \n \n \n \n \n \n \n initAuth(oauthConfig: OauthConfigEntity, axiosConfig: AxiosRequestConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/hydra.service.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthConfig\n \n OauthConfigEntity\n \n\n \n No\n \n\n\n \n \n axiosConfig\n \n AxiosRequestConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n processCookies\n \n \n \n \n \n \n \n processCookies(setCookies: string[], cookies: CookiesDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/hydra.service.ts:79\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n setCookies\n \n string[]\n \n\n \n No\n \n\n\n \n \n cookies\n \n CookiesDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CookiesDto\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n processRedirect\n \n \n \n \n \n \n \n processRedirect(dto: HydraRedirectDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/hydra.service.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n dto\n \n HydraRedirectDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n HOST\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : Configuration.get('HOST') as string\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/hydra.service.ts:27\n \n \n\n\n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { DefaultEncryptionService, EncryptionService } from '@infra/encryption';\nimport { AuthorizationParams } from '@modules/oauth/controller/dto/authorization.params';\nimport { CookiesDto } from '@modules/oauth/service/dto/cookies.dto';\nimport { HydraRedirectDto } from '@modules/oauth/service/dto/hydra.redirect.dto';\nimport { HttpService } from '@nestjs/axios';\nimport { Inject, InternalServerErrorException } from '@nestjs/common';\nimport { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { LtiToolDO } from '@shared/domain/domainobject/ltitool.do';\nimport { OauthConfigEntity } from '@shared/domain/entity';\nimport { LtiToolRepo } from '@shared/repo';\nimport { LegacyLogger } from '@src/core/logger';\nimport { AxiosRequestConfig, AxiosResponse } from 'axios';\nimport { nanoid } from 'nanoid';\nimport QueryString from 'qs';\nimport { Observable, firstValueFrom } from 'rxjs';\n\n@Injectable()\nexport class HydraSsoService {\n\tconstructor(\n\t\tprivate readonly ltiRepo: LtiToolRepo,\n\t\tprivate readonly httpService: HttpService,\n\t\t@Inject(DefaultEncryptionService) private readonly oAuthEncryptionService: EncryptionService,\n\t\tprivate readonly logger: LegacyLogger\n\t) {}\n\n\tprivate readonly HOST: string = Configuration.get('HOST') as string;\n\n\tasync initAuth(oauthConfig: OauthConfigEntity, axiosConfig: AxiosRequestConfig): Promise {\n\t\tconst query = QueryString.stringify({\n\t\t\tresponse_type: oauthConfig.responseType,\n\t\t\tscope: oauthConfig.scope,\n\t\t\tclient_id: oauthConfig.clientId,\n\t\t\tredirect_uri: oauthConfig.redirectUri,\n\t\t\tstate: nanoid(15),\n\t\t});\n\t\tthis.logger.log(`${oauthConfig.authEndpoint}?${query}`);\n\t\tthis.logger.log(axiosConfig);\n\t\tconst res: Promise = this.get(`${oauthConfig.authEndpoint}?${query}`, axiosConfig);\n\t\treturn res;\n\t}\n\n\tasync processRedirect(dto: HydraRedirectDto): Promise {\n\t\tconst localDto: HydraRedirectDto = new HydraRedirectDto(dto);\n\t\tlet location = '';\n\n\t\tif (typeof localDto.response.headers.location === 'string') {\n\t\t\t({ location } = localDto.response.headers);\n\t\t}\n\n\t\tconst isLocal = !location.startsWith('http');\n\t\tconst isHydra = location.startsWith(Configuration.get('HYDRA_PUBLIC_URI') as string);\n\n\t\t// locations of schulcloud cookies are a relative path\n\t\tif (isLocal) {\n\t\t\tlocation = `${this.HOST}${location}`;\n\t\t}\n\n\t\tif (localDto.response.headers['set-cookie']) {\n\t\t\tlocalDto.cookies = this.processCookies(localDto.response.headers['set-cookie'], dto.cookies);\n\t\t}\n\n\t\tconst headerCookies: string = isHydra\n\t\t\t? localDto.cookies.hydraCookies.join('; ')\n\t\t\t: localDto.cookies.localCookies.join('; ');\n\n\t\tlocalDto.axiosConfig.headers = {\n\t\t\tReferer: localDto.referer,\n\t\t\tCookie: headerCookies,\n\t\t};\n\t\tthis.logger.log(localDto);\n\t\tlocalDto.response = await this.get(location, localDto.axiosConfig);\n\t\tlocalDto.referer = location;\n\t\tlocalDto.currentRedirect += 1;\n\n\t\treturn localDto;\n\t}\n\n\tprotected processCookies(setCookies: string[], cookies: CookiesDto): CookiesDto {\n\t\tconst { localCookies } = cookies;\n\t\tconst { hydraCookies } = cookies;\n\n\t\tsetCookies.forEach((item: string): void => {\n\t\t\tconst cookie: string = item.split(';')[0];\n\t\t\tif (cookie.startsWith('oauth2') && !hydraCookies.includes(cookie)) {\n\t\t\t\thydraCookies.push(cookie);\n\t\t\t} else if (!localCookies.includes(cookie)) {\n\t\t\t\tlocalCookies.push(cookie);\n\t\t\t}\n\t\t});\n\n\t\tconst cookiesDto = new CookiesDto({\n\t\t\tlocalCookies,\n\t\t\thydraCookies,\n\t\t});\n\t\treturn cookiesDto;\n\t}\n\n\tasync generateConfig(oauthClientId: string): Promise {\n\t\tconst tool: LtiToolDO = await this.ltiRepo.findByOauthClientId(oauthClientId);\n\n\t\t// Needs to be checked, because the fields can be undefined\n\t\tif (!tool.oAuthClientId || !tool.secret) {\n\t\t\tthrow new InternalServerErrorException(oauthClientId, 'Suitable tool not found!');\n\t\t}\n\n\t\tconst hydraUri: string = Configuration.get('HYDRA_PUBLIC_URI') as string;\n\t\tconst hydraOauthConfig = new OauthConfigEntity({\n\t\t\tauthEndpoint: `${hydraUri}/oauth2/auth`,\n\t\t\tclientId: tool.oAuthClientId,\n\t\t\tclientSecret: this.oAuthEncryptionService.encrypt(tool.secret),\n\t\t\tgrantType: 'authorization_code',\n\t\t\tissuer: `${hydraUri}/`,\n\t\t\tjwksEndpoint: `${hydraUri}/.well-known/jwks.json`,\n\t\t\tlogoutEndpoint: `${hydraUri}/oauth2/sessions/logout`,\n\t\t\tprovider: 'hydra',\n\t\t\tredirectUri: `${Configuration.get('HOST') as string}/api/v3/sso/hydra/${oauthClientId}`,\n\t\t\tresponseType: 'code',\n\t\t\tscope: Configuration.get('NEXTCLOUD_SCOPES') as string, // Only Nextcloud is currently supported\n\t\t\ttokenEndpoint: `${hydraUri}/oauth2/token`,\n\t\t});\n\n\t\treturn hydraOauthConfig;\n\t}\n\n\tprivate get(url: string, axiosConfig: AxiosRequestConfig): Promise {\n\t\tconst respObservable: Observable = this.httpService.get(url, axiosConfig);\n\t\tconst res: Promise = firstValueFrom(respObservable);\n\t\treturn res;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IBbbSettings.html":{"url":"interfaces/IBbbSettings.html","title":"interface - IBbbSettings","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IBbbSettings\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/bbb-settings.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n host\n \n \n \n \n presentationUrl\n \n \n \n \n salt\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n host\n \n \n \n \n \n \n \n \n host: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n presentationUrl\n \n \n \n \n \n \n \n \n presentationUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n salt\n \n \n \n \n \n \n \n \n salt: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export const BbbSettings = Symbol('BbbSettings');\n\nexport interface IBbbSettings {\n\thost: string;\n\tsalt: string;\n\tpresentationUrl: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ICommonCartridgeFileBuilder.html":{"url":"interfaces/ICommonCartridgeFileBuilder.html","title":"interface - ICommonCartridgeFileBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ICommonCartridgeFileBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n addOrganization\n \n \n \n \n addResourceToFile\n \n \n \n \n build\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n addOrganization\n \n \n \n \n \n \naddOrganization(props: ICommonCartridgeOrganizationProps)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n ICommonCartridgeOrganizationProps\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ICommonCartridgeOrganizationBuilder\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addResourceToFile\n \n \n \n \n \n \naddResourceToFile(props: ICommonCartridgeResourceProps)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n ICommonCartridgeResourceProps\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ICommonCartridgeFileBuilder\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:32\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n\n \n\n\n \n import AdmZip from 'adm-zip';\nimport { Builder } from 'xml2js';\nimport { CommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeVersion } from './common-cartridge-enums';\nimport { CommonCartridgeManifestElement } from './common-cartridge-manifest-element';\nimport {\n\tCommonCartridgeOrganizationItemElement,\n\tICommonCartridgeOrganizationProps,\n} from './common-cartridge-organization-item-element';\nimport {\n\tCommonCartridgeResourceItemElement,\n\tICommonCartridgeResourceProps,\n} from './common-cartridge-resource-item-element';\n\nexport type CommonCartridgeFileBuilderOptions = {\n\tidentifier: string;\n\ttitle: string;\n\tcopyrightOwners: string;\n\tcreationYear: string;\n\tversion: CommonCartridgeVersion;\n};\n\nexport interface ICommonCartridgeOrganizationBuilder {\n\taddResourceToOrganization(props: ICommonCartridgeResourceProps): ICommonCartridgeOrganizationBuilder;\n}\n\nexport interface ICommonCartridgeFileBuilder {\n\taddOrganization(props: ICommonCartridgeOrganizationProps): ICommonCartridgeOrganizationBuilder;\n\n\taddResourceToFile(props: ICommonCartridgeResourceProps): ICommonCartridgeFileBuilder;\n\n\tbuild(): Promise;\n}\n\nclass CommonCartridgeOrganizationBuilder implements ICommonCartridgeOrganizationBuilder {\n\tconstructor(\n\t\tprivate readonly props: ICommonCartridgeOrganizationProps,\n\t\tprivate readonly xmlBuilder: Builder,\n\t\tprivate readonly zipBuilder: AdmZip\n\t) {}\n\n\tget organization(): CommonCartridgeElement {\n\t\treturn new CommonCartridgeOrganizationItemElement(this.props);\n\t}\n\n\tget resources(): CommonCartridgeElement[] {\n\t\treturn this.props.resources.map(\n\t\t\t(resourceProps) => new CommonCartridgeResourceItemElement(resourceProps, this.xmlBuilder)\n\t\t);\n\t}\n\n\taddResourceToOrganization(props: ICommonCartridgeResourceProps): ICommonCartridgeOrganizationBuilder {\n\t\tconst newResource = new CommonCartridgeResourceItemElement(props, this.xmlBuilder);\n\t\tthis.props.resources.push(props);\n\t\tif (!newResource.canInline()) {\n\t\t\tthis.zipBuilder.addFile(props.href, Buffer.from(newResource.content()));\n\t\t}\n\t\treturn this;\n\t}\n}\n\nexport class CommonCartridgeFileBuilder implements ICommonCartridgeFileBuilder {\n\tprivate readonly xmlBuilder = new Builder();\n\n\tprivate readonly zipBuilder = new AdmZip();\n\n\tprivate readonly organizations = new Array();\n\n\tprivate readonly resources = new Array();\n\n\tconstructor(private readonly options: CommonCartridgeFileBuilderOptions) {}\n\n\taddOrganization(props: ICommonCartridgeOrganizationProps): ICommonCartridgeOrganizationBuilder {\n\t\tconst organizationBuilder = new CommonCartridgeOrganizationBuilder(props, this.xmlBuilder, this.zipBuilder);\n\t\tthis.organizations.push(organizationBuilder);\n\t\treturn organizationBuilder;\n\t}\n\n\taddResourceToFile(props: ICommonCartridgeResourceProps): ICommonCartridgeFileBuilder {\n\t\tconst resource = new CommonCartridgeResourceItemElement(props, this.xmlBuilder);\n\t\tif (!resource.canInline()) {\n\t\t\tthis.zipBuilder.addFile(props.href, Buffer.from(resource.content()));\n\t\t}\n\t\tthis.resources.push(resource);\n\t\treturn this;\n\t}\n\n\tasync build(): Promise {\n\t\tconst organizations = this.organizations.map((organization) => organization.organization);\n\t\tconst resources = this.organizations.flatMap((organization) => organization.resources).concat(this.resources);\n\t\tconst manifest = this.xmlBuilder.buildObject(\n\t\t\tnew CommonCartridgeManifestElement(\n\t\t\t\t{\n\t\t\t\t\tidentifier: this.options.identifier,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttitle: this.options.title,\n\t\t\t\t\tcopyrightOwners: this.options.copyrightOwners,\n\t\t\t\t\tcreationYear: this.options.creationYear,\n\t\t\t\t\tversion: this.options.version,\n\t\t\t\t},\n\t\t\t\torganizations,\n\t\t\t\tresources\n\t\t\t).transform()\n\t\t);\n\t\tthis.zipBuilder.addFile('imsmanifest.xml', Buffer.from(manifest));\n\t\treturn this.zipBuilder.toBufferPromise();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ICommonCartridgeOrganizationBuilder.html":{"url":"interfaces/ICommonCartridgeOrganizationBuilder.html","title":"interface - ICommonCartridgeOrganizationBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ICommonCartridgeOrganizationBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n addResourceToOrganization\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n addResourceToOrganization\n \n \n \n \n \n \naddResourceToOrganization(props: ICommonCartridgeResourceProps)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n ICommonCartridgeResourceProps\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ICommonCartridgeOrganizationBuilder\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import AdmZip from 'adm-zip';\nimport { Builder } from 'xml2js';\nimport { CommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeVersion } from './common-cartridge-enums';\nimport { CommonCartridgeManifestElement } from './common-cartridge-manifest-element';\nimport {\n\tCommonCartridgeOrganizationItemElement,\n\tICommonCartridgeOrganizationProps,\n} from './common-cartridge-organization-item-element';\nimport {\n\tCommonCartridgeResourceItemElement,\n\tICommonCartridgeResourceProps,\n} from './common-cartridge-resource-item-element';\n\nexport type CommonCartridgeFileBuilderOptions = {\n\tidentifier: string;\n\ttitle: string;\n\tcopyrightOwners: string;\n\tcreationYear: string;\n\tversion: CommonCartridgeVersion;\n};\n\nexport interface ICommonCartridgeOrganizationBuilder {\n\taddResourceToOrganization(props: ICommonCartridgeResourceProps): ICommonCartridgeOrganizationBuilder;\n}\n\nexport interface ICommonCartridgeFileBuilder {\n\taddOrganization(props: ICommonCartridgeOrganizationProps): ICommonCartridgeOrganizationBuilder;\n\n\taddResourceToFile(props: ICommonCartridgeResourceProps): ICommonCartridgeFileBuilder;\n\n\tbuild(): Promise;\n}\n\nclass CommonCartridgeOrganizationBuilder implements ICommonCartridgeOrganizationBuilder {\n\tconstructor(\n\t\tprivate readonly props: ICommonCartridgeOrganizationProps,\n\t\tprivate readonly xmlBuilder: Builder,\n\t\tprivate readonly zipBuilder: AdmZip\n\t) {}\n\n\tget organization(): CommonCartridgeElement {\n\t\treturn new CommonCartridgeOrganizationItemElement(this.props);\n\t}\n\n\tget resources(): CommonCartridgeElement[] {\n\t\treturn this.props.resources.map(\n\t\t\t(resourceProps) => new CommonCartridgeResourceItemElement(resourceProps, this.xmlBuilder)\n\t\t);\n\t}\n\n\taddResourceToOrganization(props: ICommonCartridgeResourceProps): ICommonCartridgeOrganizationBuilder {\n\t\tconst newResource = new CommonCartridgeResourceItemElement(props, this.xmlBuilder);\n\t\tthis.props.resources.push(props);\n\t\tif (!newResource.canInline()) {\n\t\t\tthis.zipBuilder.addFile(props.href, Buffer.from(newResource.content()));\n\t\t}\n\t\treturn this;\n\t}\n}\n\nexport class CommonCartridgeFileBuilder implements ICommonCartridgeFileBuilder {\n\tprivate readonly xmlBuilder = new Builder();\n\n\tprivate readonly zipBuilder = new AdmZip();\n\n\tprivate readonly organizations = new Array();\n\n\tprivate readonly resources = new Array();\n\n\tconstructor(private readonly options: CommonCartridgeFileBuilderOptions) {}\n\n\taddOrganization(props: ICommonCartridgeOrganizationProps): ICommonCartridgeOrganizationBuilder {\n\t\tconst organizationBuilder = new CommonCartridgeOrganizationBuilder(props, this.xmlBuilder, this.zipBuilder);\n\t\tthis.organizations.push(organizationBuilder);\n\t\treturn organizationBuilder;\n\t}\n\n\taddResourceToFile(props: ICommonCartridgeResourceProps): ICommonCartridgeFileBuilder {\n\t\tconst resource = new CommonCartridgeResourceItemElement(props, this.xmlBuilder);\n\t\tif (!resource.canInline()) {\n\t\t\tthis.zipBuilder.addFile(props.href, Buffer.from(resource.content()));\n\t\t}\n\t\tthis.resources.push(resource);\n\t\treturn this;\n\t}\n\n\tasync build(): Promise {\n\t\tconst organizations = this.organizations.map((organization) => organization.organization);\n\t\tconst resources = this.organizations.flatMap((organization) => organization.resources).concat(this.resources);\n\t\tconst manifest = this.xmlBuilder.buildObject(\n\t\t\tnew CommonCartridgeManifestElement(\n\t\t\t\t{\n\t\t\t\t\tidentifier: this.options.identifier,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttitle: this.options.title,\n\t\t\t\t\tcopyrightOwners: this.options.copyrightOwners,\n\t\t\t\t\tcreationYear: this.options.creationYear,\n\t\t\t\t\tversion: this.options.version,\n\t\t\t\t},\n\t\t\t\torganizations,\n\t\t\t\tresources\n\t\t\t).transform()\n\t\t);\n\t\tthis.zipBuilder.addFile('imsmanifest.xml', Buffer.from(manifest));\n\t\treturn this.zipBuilder.toBufferPromise();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ICurrentUser.html":{"url":"interfaces/ICurrentUser.html","title":"interface - ICurrentUser","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ICurrentUser\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/interface/user.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n accountId\n \n \n \n Optional\n \n impersonated\n \n \n \n \n isExternalUser\n \n \n \n \n roles\n \n \n \n \n schoolId\n \n \n \n Optional\n \n systemId\n \n \n \n \n userId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n accountId\n \n \n \n \n \n \n \n \n accountId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n account id as EntityId\n\n \n \n \n \n \n \n \n \n \n impersonated\n \n \n \n \n \n \n \n \n impersonated: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n True if a support member impersonates the user\n\n \n \n \n \n \n \n \n \n \n isExternalUser\n \n \n \n \n \n \n \n \n isExternalUser: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n True if the user is an external user e.g. an oauth user or ldap user\n\n \n \n \n \n \n \n \n \n \n roles\n \n \n \n \n \n \n \n \n roles: EntityId[]\n\n \n \n\n\n \n \n Type : EntityId[]\n\n \n \n\n\n\n\n\n \n \n users role ids as EntityId[]\n\n \n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n schoolId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n users schoolId as EntityId\n\n \n \n \n \n \n \n \n \n \n systemId\n \n \n \n \n \n \n \n \n systemId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n true if user is provided by external system -> no pw change in first login\n\n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n authenticated users id\n\n \n \n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\n\nexport interface ICurrentUser {\n\t/** authenticated users id */\n\tuserId: EntityId;\n\t/** users role ids as EntityId[] */\n\troles: EntityId[];\n\t/** users schoolId as EntityId */\n\tschoolId: EntityId;\n\t/** account id as EntityId */\n\taccountId: EntityId;\n\n\t/** true if user is provided by external system -> no pw change in first login */\n\tsystemId?: EntityId;\n\n\t/** True if a support member impersonates the user */\n\timpersonated?: boolean;\n\n\t/** True if the user is an external user e.g. an oauth user or ldap user */\n\tisExternalUser: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IDashboardRepo.html":{"url":"interfaces/IDashboardRepo.html","title":"interface - IDashboardRepo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IDashboardRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/dashboard/dashboard.repo.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n getDashboardById\n \n \n \n \n getUsersDashboard\n \n \n \n \n persistAndFlush\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n getDashboardById\n \n \n \n \n \n \ngetDashboardById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.repo.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getUsersDashboard\n \n \n \n \n \n \ngetUsersDashboard(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.repo.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n persistAndFlush\n \n \n \n \n \n \npersistAndFlush(entity: DashboardEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.repo.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n DashboardEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager, ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { DashboardEntity, DashboardModelEntity, GridElementWithPosition } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { DashboardModelMapper } from './dashboard.model.mapper';\n\nconst generateEmptyDashboard = (userId: EntityId) => {\n\tconst gridArray: GridElementWithPosition[] = [];\n\n\tconst dashboard = new DashboardEntity(new ObjectId().toString(), { grid: gridArray, userId });\n\treturn dashboard;\n};\n\nexport interface IDashboardRepo {\n\tgetUsersDashboard(userId: EntityId): Promise;\n\tgetDashboardById(id: EntityId): Promise;\n\tpersistAndFlush(entity: DashboardEntity): Promise;\n}\n\n@Injectable()\nexport class DashboardRepo implements IDashboardRepo {\n\tconstructor(protected readonly em: EntityManager, protected readonly mapper: DashboardModelMapper) {}\n\n\t// ToDo: refactor this to be in an abstract class (see baseRepo)\n\tasync persist(entity: DashboardEntity): Promise {\n\t\tconst modelEntity = await this.mapper.mapDashboardToModel(entity);\n\t\tthis.em.persist(modelEntity);\n\t\treturn this.mapper.mapDashboardToEntity(modelEntity);\n\t}\n\n\tasync persistAndFlush(entity: DashboardEntity): Promise {\n\t\tconst modelEntity = await this.mapper.mapDashboardToModel(entity);\n\t\tawait this.em.persistAndFlush(modelEntity);\n\t\treturn this.mapper.mapDashboardToEntity(modelEntity);\n\t}\n\n\tasync getDashboardById(id: EntityId): Promise {\n\t\tconst dashboardModel = await this.em.findOneOrFail(DashboardModelEntity, id);\n\t\tconst dashboard = await this.mapper.mapDashboardToEntity(dashboardModel);\n\t\treturn dashboard;\n\t}\n\n\tasync getUsersDashboard(userId: EntityId): Promise {\n\t\tconst dashboardModel = await this.em.findOne(DashboardModelEntity, { user: userId });\n\t\tif (dashboardModel) {\n\t\t\treturn this.mapper.mapDashboardToEntity(dashboardModel);\n\t\t}\n\n\t\tconst dashboard = generateEmptyDashboard(userId);\n\t\tawait this.persistAndFlush(dashboard);\n\n\t\treturn dashboard;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IEntity.html":{"url":"interfaces/IEntity.html","title":"interface - IEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/interface/entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n _id\n \n \n \n \n id\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n _id\n \n \n \n \n \n \n \n \n _id: ObjectId\n\n \n \n\n\n \n \n Type : ObjectId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { SchoolEntity } from '@shared/domain/entity/school.entity';\n\nexport interface IEntity {\n\t_id: ObjectId;\n\tid: string;\n}\n\nexport interface IEntityWithTimestamps extends IEntity {\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\nexport interface EntityWithSchool extends IEntity {\n\tschool: SchoolEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IEntityWithTimestamps.html":{"url":"interfaces/IEntityWithTimestamps.html","title":"interface - IEntityWithTimestamps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IEntityWithTimestamps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/interface/entity.ts\n \n\n\n\n \n Extends\n \n \n IEntity\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n createdAt\n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { SchoolEntity } from '@shared/domain/entity/school.entity';\n\nexport interface IEntity {\n\t_id: ObjectId;\n\tid: string;\n}\n\nexport interface IEntityWithTimestamps extends IEntity {\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\nexport interface EntityWithSchool extends IEntity {\n\tschool: SchoolEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IError.html":{"url":"interfaces/IError.html","title":"interface - IError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/rabbitmq/rpc-message.ts\n \n\n\n\n \n Extends\n \n \n Error\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n message\n \n \n \n Optional\n \n status\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n message\n \n \n \n \n \n \n \n \n message: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n \n \n status: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface IError extends Error {\n\tstatus?: number;\n\tmessage: string;\n}\nexport interface RpcMessage {\n\tmessage: T;\n\terror?: IError;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IFindOptions.html":{"url":"interfaces/IFindOptions.html","title":"interface - IFindOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IFindOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/interface/find-options.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n order\n \n \n \n Optional\n \n pagination\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n order\n \n \n \n \n \n \n \n \n order: SortOrderMap\n\n \n \n\n\n \n \n Type : SortOrderMap\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n pagination\n \n \n \n \n \n \n \n \n pagination: Pagination\n\n \n \n\n\n \n \n Type : Pagination\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface Pagination {\n\tskip?: number;\n\tlimit?: number;\n}\n\nexport enum SortOrder {\n\tasc = 'asc',\n\tdesc = 'desc',\n}\n\nexport type SortOrderMap = Partial>;\n\nexport interface IFindOptions {\n\tpagination?: Pagination;\n\torder?: SortOrderMap;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IGridElement.html":{"url":"interfaces/IGridElement.html","title":"interface - IGridElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IGridElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/dashboard.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n getContent\n \n \n \n \n getId\n \n \n \n \n \n \n \n Methods\n \n \n \n \n \n \n \n addReferences\n \n \n \n \n getReferences\n \n \n \n \n hasId\n \n \n \n \n isGroup\n \n \n \n \n removeReference\n \n \n \n \n removeReferenceByIndex\n \n \n \n \n setGroupName\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n addReferences\n \n \n \n \n \n \naddReferences(anotherReference: Learnroom[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n anotherReference\n \n Learnroom[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getReferences\n \n \n \n \n \n \ngetReferences()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:20\n \n \n\n\n \n \n\n \n Returns : Learnroom[]\n\n \n \n \n \n \n \n \n \n \n \n \n hasId\n \n \n \n \n \n \nhasId()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:8\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n isGroup\n \n \n \n \n \n \nisGroup()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:14\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n removeReference\n \n \n \n \n \n \nremoveReference(reference: Learnroom)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n reference\n \n Learnroom\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeReferenceByIndex\n \n \n \n \n \n \nremoveReferenceByIndex(index: number)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n index\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setGroupName\n \n \n \n \n \n \nsetGroupName(newGroupName: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n newGroupName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n Properties\n \n \n \n \n \n getContent\n \n \n \n \n \n \n \n \n getContent: function\n\n \n \n\n\n \n \n Type : function\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n getId\n \n \n \n \n \n \n \n \n getId: function\n\n \n \n\n\n \n \n Type : function\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BadRequestException, NotFoundException } from '@nestjs/common';\nimport { Learnroom } from '@shared/domain/interface';\nimport { EntityId, LearnroomMetadata } from '@shared/domain/types';\n\nconst defaultColumns = 4;\n\nexport interface IGridElement {\n\thasId(): boolean;\n\n\tgetId: () => EntityId | undefined;\n\n\tgetContent: () => GridElementContent;\n\n\tisGroup(): boolean;\n\n\tremoveReferenceByIndex(index: number): void;\n\n\tremoveReference(reference: Learnroom): void;\n\n\tgetReferences(): Learnroom[];\n\n\taddReferences(anotherReference: Learnroom[]): void;\n\n\tsetGroupName(newGroupName: string): void;\n}\n\nexport type GridElementContent = {\n\treferencedId?: string;\n\ttitle?: string;\n\tshortTitle: string;\n\tdisplayColor: string;\n\tgroup?: LearnroomMetadata[];\n\tgroupId?: string;\n\tcopyingSince?: Date;\n};\n\nexport class GridElement implements IGridElement {\n\tid?: EntityId;\n\n\ttitle?: string;\n\n\tprivate sortReferences = (a: Learnroom, b: Learnroom) => {\n\t\tconst titleA = a.getMetadata().title;\n\t\tconst titleB = b.getMetadata().title;\n\t\tif (titleA titleB) {\n\t\t\treturn 1;\n\t\t}\n\t\treturn 0;\n\t};\n\n\tprivate constructor(props: { id?: EntityId; title?: string; references: Learnroom[] }) {\n\t\tif (props.id) this.id = props.id;\n\t\tif (props.title) this.title = props.title;\n\t\tthis.references = props.references.sort(this.sortReferences);\n\t}\n\n\tstatic FromPersistedReference(id: EntityId, reference: Learnroom): GridElement {\n\t\treturn new GridElement({ id, references: [reference] });\n\t}\n\n\tstatic FromPersistedGroup(id: EntityId, title: string | undefined, group: Learnroom[]): GridElement {\n\t\treturn new GridElement({ id, title, references: group });\n\t}\n\n\tstatic FromSingleReference(reference: Learnroom): GridElement {\n\t\treturn new GridElement({ references: [reference] });\n\t}\n\n\tstatic FromGroup(title: string, references: Learnroom[]): GridElement {\n\t\treturn new GridElement({ title, references });\n\t}\n\n\treferences: Learnroom[];\n\n\thasId(): boolean {\n\t\treturn !!this.id;\n\t}\n\n\tgetId(): EntityId | undefined {\n\t\treturn this.id;\n\t}\n\n\tgetReferences(): Learnroom[] {\n\t\treturn this.references;\n\t}\n\n\tremoveReferenceByIndex(index: number): void {\n\t\tif (!this.isGroup()) {\n\t\t\tthrow new BadRequestException('this element is not a group.');\n\t\t}\n\t\tif (index > 0 && this.references.length reference.getMetadata());\n\t\tconst checkShortTitle = this.title ? this.title.substring(0, 2) : '';\n\t\tconst groupMetadata = {\n\t\t\tgroupId: this.getId(),\n\t\t\ttitle: this.title,\n\t\t\tshortTitle: checkShortTitle,\n\t\t\tdisplayColor: 'exampleColor',\n\t\t\tgroup: groupData,\n\t\t};\n\t\treturn groupMetadata;\n\t}\n\n\tisGroup(): boolean {\n\t\treturn this.references.length > 1;\n\t}\n\n\tsetGroupName(newGroupName: string): void {\n\t\tif (!this.isGroup()) {\n\t\t\treturn;\n\t\t}\n\t\tthis.title = newGroupName;\n\t}\n}\n\nexport type GridPosition = { x: number; y: number };\nexport type GridPositionWithGroupIndex = { x: number; y: number; groupIndex?: number };\n\nexport type GridElementWithPosition = {\n\tgridElement: IGridElement;\n\tpos: GridPosition;\n};\n\nexport type DashboardProps = { colums?: number; grid: GridElementWithPosition[]; userId: EntityId };\n\nexport class DashboardEntity {\n\tid: EntityId;\n\n\tcolumns: number;\n\n\tgrid: Map;\n\n\tuserId: EntityId;\n\n\tprivate gridIndexFromPosition(pos: GridPosition): number {\n\t\tif (pos.x > this.columns) {\n\t\t\tthrow new BadRequestException('dashboard element position is outside the grid.');\n\t\t}\n\t\treturn this.columns * pos.y + pos.x;\n\t}\n\n\tprivate positionFromGridIndex(index: number): GridPosition {\n\t\tconst y = Math.floor(index / this.columns);\n\t\tconst x = index % this.columns;\n\t\treturn { x, y };\n\t}\n\n\tconstructor(id: string, props: DashboardProps) {\n\t\tthis.columns = props.colums || defaultColumns;\n\t\tthis.grid = new Map();\n\t\tprops.grid.forEach((element) => {\n\t\t\tthis.grid.set(this.gridIndexFromPosition(element.pos), element.gridElement);\n\t\t});\n\t\tthis.id = id;\n\t\tthis.userId = props.userId;\n\t\tObject.assign(this, {});\n\t}\n\n\tgetId(): string {\n\t\treturn this.id;\n\t}\n\n\tgetUserId(): EntityId {\n\t\treturn this.userId;\n\t}\n\n\tgetGrid(): GridElementWithPosition[] {\n\t\tconst result = [...this.grid.keys()].map((key) => {\n\t\t\tconst position = this.positionFromGridIndex(key);\n\t\t\tconst value = this.grid.get(key) as IGridElement;\n\t\t\treturn {\n\t\t\t\tpos: position,\n\t\t\t\tgridElement: value,\n\t\t\t};\n\t\t});\n\t\treturn result;\n\t}\n\n\tgetElement(position: GridPosition): IGridElement {\n\t\tconst element = this.grid.get(this.gridIndexFromPosition(position));\n\t\tif (!element) {\n\t\t\tthrow new NotFoundException('no element at grid position');\n\t\t}\n\t\treturn element;\n\t}\n\n\tmoveElement(from: GridPositionWithGroupIndex, to: GridPositionWithGroupIndex): GridElementWithPosition {\n\t\tconst elementToMove = this.getReferencesFromPosition(from);\n\t\tconst resultElement = this.mergeElementIntoPosition(elementToMove, to);\n\t\tthis.removeFromPosition(from);\n\t\treturn {\n\t\t\tpos: to,\n\t\t\tgridElement: resultElement,\n\t\t};\n\t}\n\n\tsetLearnRooms(rooms: Learnroom[]): void {\n\t\tthis.removeRoomsNotInList(rooms);\n\t\tconst newRooms = this.determineNewRoomsIn(rooms);\n\n\t\tnewRooms.forEach((room) => {\n\t\t\tthis.addRoom(room);\n\t\t});\n\t}\n\n\tprivate removeRoomsNotInList(roomList: Learnroom[]): void {\n\t\t[...this.grid.keys()].forEach((key) => {\n\t\t\tconst element = this.grid.get(key) as IGridElement;\n\t\t\tconst currentRooms = element.getReferences();\n\t\t\tcurrentRooms.forEach((room) => {\n\t\t\t\tif (!roomList.includes(room)) {\n\t\t\t\t\telement.removeReference(room);\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (element.getReferences().length === 0) {\n\t\t\t\tthis.grid.delete(key);\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate determineNewRoomsIn(rooms: Learnroom[]): Learnroom[] {\n\t\tconst result: Learnroom[] = [];\n\t\tconst existingRooms = this.allRooms();\n\t\trooms.forEach((room) => {\n\t\t\tif (!existingRooms.includes(room)) {\n\t\t\t\tresult.push(room);\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t}\n\n\tprivate allRooms(): Learnroom[] {\n\t\tconst elements = [...this.grid.values()];\n\t\tconst references = elements.map((el) => el.getReferences()).flat();\n\t\treturn references;\n\t}\n\n\tprivate addRoom(room: Learnroom): void {\n\t\tconst index = this.getFirstOpenIndex();\n\t\tconst newElement = GridElement.FromSingleReference(room);\n\t\tthis.grid.set(index, newElement);\n\t}\n\n\tprivate getFirstOpenIndex(): number {\n\t\tlet i = 0;\n\t\twhile (this.grid.get(i) !== undefined) {\n\t\t\ti += 1;\n\t\t}\n\t\treturn i;\n\t}\n\n\tprivate getReferencesFromPosition(position: GridPositionWithGroupIndex): IGridElement {\n\t\tconst elementToMove = this.getElement(position);\n\n\t\tif (typeof position.groupIndex === 'number' && elementToMove.isGroup()) {\n\t\t\tconst references = elementToMove.getReferences();\n\t\t\tconst referenceForIndex = references[position.groupIndex];\n\t\t\treturn GridElement.FromSingleReference(referenceForIndex);\n\t\t}\n\n\t\treturn elementToMove;\n\t}\n\n\tprivate removeFromPosition(position: GridPositionWithGroupIndex): void {\n\t\tconst element = this.getElement(position);\n\t\tif (typeof position.groupIndex === 'number') {\n\t\t\telement.removeReferenceByIndex(position.groupIndex);\n\t\t} else {\n\t\t\tthis.grid.delete(this.gridIndexFromPosition(position));\n\t\t}\n\t}\n\n\tprivate mergeElementIntoPosition(element: IGridElement, position: GridPosition): IGridElement {\n\t\tconst targetElement = this.grid.get(this.gridIndexFromPosition(position));\n\t\tif (targetElement) {\n\t\t\ttargetElement.addReferences(element.getReferences());\n\t\t\treturn targetElement;\n\t\t}\n\t\tthis.grid.set(this.gridIndexFromPosition(position), element);\n\t\treturn element;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IH5PLibraryManagementConfig.html":{"url":"interfaces/IH5PLibraryManagementConfig.html","title":"interface - IH5PLibraryManagementConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IH5PLibraryManagementConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-library-management/service/h5p-library-management.config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n H5P_EDITOR__LIBRARY_LIST_PATH\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n H5P_EDITOR__LIBRARY_LIST_PATH\n \n \n \n \n \n \n \n \n H5P_EDITOR__LIBRARY_LIST_PATH: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\n\nexport interface IH5PLibraryManagementConfig {\n\tH5P_EDITOR__LIBRARY_LIST_PATH: string;\n}\n\nexport const config: IH5PLibraryManagementConfig = {\n\tH5P_EDITOR__LIBRARY_LIST_PATH: Configuration.get('H5P_EDITOR__LIBRARY_LIST_PATH') as string,\n};\n\nexport const h5PLibraryManagementConfig = () => config;\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IImportUserScope.html":{"url":"interfaces/IImportUserScope.html","title":"interface - IImportUserScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IImportUserScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/types/importuser.types.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n classes\n \n \n \n Optional\n \n firstName\n \n \n \n Optional\n \n flagged\n \n \n \n Optional\n \n lastName\n \n \n \n Optional\n \n loginName\n \n \n \n Optional\n \n matches\n \n \n \n Optional\n \n role\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n classes\n \n \n \n \n \n \n \n \n classes: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n \n \n firstName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n flagged\n \n \n \n \n \n \n \n \n flagged: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n lastName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n loginName\n \n \n \n \n \n \n \n \n loginName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n matches\n \n \n \n \n \n \n \n \n matches: MatchCreatorScope[]\n\n \n \n\n\n \n \n Type : MatchCreatorScope[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n role\n \n \n \n \n \n \n \n \n role: IImportUserRoleName\n\n \n \n\n\n \n \n Type : IImportUserRoleName\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import type { IImportUserRoleName } from '../entity/import-user.entity';\n\nexport enum MatchCreatorScope {\n\tAUTO = 'auto',\n\tMANUAL = 'admin',\n\tNONE = 'none',\n}\n\nexport interface IImportUserScope {\n\tfirstName?: string;\n\tlastName?: string;\n\tloginName?: string;\n\tmatches?: MatchCreatorScope[];\n\tflagged?: boolean;\n\trole?: IImportUserRoleName;\n\tclasses?: string;\n}\n\nexport interface NameMatch {\n\t/**\n\t * Match filter for lastName or firstName\n\t */\n\tname?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IKeycloakConfigurationInputFiles.html":{"url":"interfaces/IKeycloakConfigurationInputFiles.html","title":"interface - IKeycloakConfigurationInputFiles","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IKeycloakConfigurationInputFiles\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/interface/keycloak-configuration-input-files.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n accountsFile\n \n \n \n \n usersFile\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n accountsFile\n \n \n \n \n \n \n \n \n accountsFile: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n usersFile\n \n \n \n \n \n \n \n \n usersFile: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export const KeycloakConfigurationInputFiles = Symbol('KeycloakConfigurationInputFiles');\n\nexport interface IKeycloakConfigurationInputFiles {\n\taccountsFile: string;\n\tusersFile: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IKeycloakSettings.html":{"url":"interfaces/IKeycloakSettings.html","title":"interface - IKeycloakSettings","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IKeycloakSettings\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-administration/interface/keycloak-settings.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n clientId\n \n \n \n \n credentials\n \n \n \n \n realmName\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n \n \n baseUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n clientId\n \n \n \n \n \n \n \n \n clientId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n credentials\n \n \n \n \n \n \n \n \n credentials: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n realmName\n \n \n \n \n \n \n \n \n realmName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export const KeycloakSettings = Symbol('KeycloakSettings');\n\nexport interface IKeycloakSettings {\n\tbaseUrl: string;\n\trealmName: string;\n\tclientId: string;\n\tcredentials: {\n\t\tusername: string;\n\t\tpassword: string;\n\t\tgrantType: 'password';\n\t\tclientId: string;\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ILegacyLogger.html":{"url":"interfaces/ILegacyLogger.html","title":"interface - ILegacyLogger","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ILegacyLogger\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/logger/interfaces/legacy-logger.interface.ts\n \n\n \n Deprecated\n \n \n The new logger for loggables should be used.\n \n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n debug\n \n \n \n \n error\n \n \n \n \n http\n \n \n \n \n log\n \n \n \n \n warn\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n debug\n \n \n \n \n \n \ndebug(message, context?: string)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/interfaces/legacy-logger.interface.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n \n\n \n No\n \n\n\n \n \n context\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n error\n \n \n \n \n \n \nerror(message, trace?: string, context?: string)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/interfaces/legacy-logger.interface.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n \n\n \n No\n \n\n\n \n \n trace\n \n string\n \n\n \n Yes\n \n\n\n \n \n context\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n http\n \n \n \n \n \n \nhttp(message: RequestLoggingBody, context?: string)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/interfaces/legacy-logger.interface.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n RequestLoggingBody\n \n\n \n No\n \n\n\n \n \n context\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n log\n \n \n \n \n \n \nlog(message, context?: string)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/interfaces/legacy-logger.interface.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n \n\n \n No\n \n\n\n \n \n context\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n warn\n \n \n \n \n \n \nwarn(message, context?: string)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/interfaces/legacy-logger.interface.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n \n\n \n No\n \n\n\n \n \n context\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n export type RequestLoggingBody = {\n\tuserId?: string;\n\trequest: { url: string; method: string; params: unknown; query: unknown };\n\terror: unknown | undefined;\n};\n\n/**\n * @deprecated The new logger for loggables should be used.\n */\nexport interface ILegacyLogger {\n\thttp(message: RequestLoggingBody, context?: string): void;\n\tlog(message: unknown, context?: string): void;\n\terror(message: unknown, trace?: string, context?: string): void;\n\twarn(message: unknown, context?: string): void;\n\tdebug(message: unknown, context?: string): void;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/INewsScope.html":{"url":"interfaces/INewsScope.html","title":"interface - INewsScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n INewsScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/types/news.types.ts\n \n\n\n \n Description\n \n \n interface for finding news with optional targetId\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n target\n \n \n \n Optional\n \n unpublished\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n target\n \n \n \n \n \n \n \n \n target: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n unpublished\n \n \n \n \n \n \n \n \n unpublished: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import type { Course } from '../entity/course.entity';\nimport type { SchoolEntity } from '../entity/school.entity';\nimport type { TeamEntity } from '../entity/team.entity';\nimport { EntityId } from './entity-id';\n\nexport enum NewsTargetModel {\n\t'School' = 'schools',\n\t'Course' = 'courses',\n\t'Team' = 'teams',\n}\n\n/** news interface for ceating news */\nexport interface CreateNews {\n\ttitle: string;\n\tcontent: string;\n\tdisplayAt?: Date;\n\ttarget: { targetModel: NewsTargetModel; targetId: EntityId };\n}\n\n/** news interface for updating news */\nexport type IUpdateNews = Partial;\n\n/** interface for finding news with optional targetId */\nexport interface INewsScope {\n\ttarget?: { targetModel: NewsTargetModel; targetId?: EntityId };\n\tunpublished?: boolean;\n}\n\nexport type NewsTarget = SchoolEntity | TeamEntity | Course;\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ITask.html":{"url":"interfaces/ITask.html","title":"interface - ITask","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ITask\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/types/task.types.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n availableDate\n \n \n \n Optional\n \n description\n \n \n \n Optional\n \n descriptionInputFormat\n \n \n \n Optional\n \n dueDate\n \n \n \n \n name\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n availableDate\n \n \n \n \n \n \n \n \n availableDate: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n description: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n descriptionInputFormat\n \n \n \n \n \n \n \n \n descriptionInputFormat: InputFormat\n\n \n \n\n\n \n \n Type : InputFormat\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n dueDate\n \n \n \n \n \n \n \n \n dueDate: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import type { Course, LessonEntity, SchoolEntity, Submission, User } from '@shared/domain/entity';\nimport type { InputFormat } from '@shared/domain/types';\n\ninterface ITask {\n\tname: string;\n\tdescription?: string;\n\tdescriptionInputFormat?: InputFormat;\n\tavailableDate?: Date;\n\tdueDate?: Date;\n}\n\nexport interface TaskUpdate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface TaskCreate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface TaskProperties extends ITask {\n\tcourse?: Course;\n\tlesson?: LessonEntity;\n\tcreator: User;\n\tschool: SchoolEntity;\n\tfinished?: User[];\n\tprivate?: boolean;\n\tsubmissions?: Submission[];\n\tpublicSubmissions?: boolean;\n\tteamSubmissions?: boolean;\n}\n\nexport interface TaskStatus {\n\tsubmitted: number;\n\tmaxSubmissions: number;\n\tgraded: number;\n\tisDraft: boolean;\n\tisSubstitutionTeacher: boolean;\n\tisFinished: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IToolFeatures.html":{"url":"interfaces/IToolFeatures.html","title":"interface - IToolFeatures","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IToolFeatures\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n backEndUrl\n \n \n \n \n contextConfigurationEnabled\n \n \n \n \n ctlToolsTabEnabled\n \n \n \n \n ltiToolsTabEnabled\n \n \n \n \n maxExternalToolLogoSizeInBytes\n \n \n \n \n toolStatusWithoutVersions\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n backEndUrl\n \n \n \n \n \n \n \n \n backEndUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n contextConfigurationEnabled\n \n \n \n \n \n \n \n \n contextConfigurationEnabled: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n ctlToolsTabEnabled\n \n \n \n \n \n \n \n \n ctlToolsTabEnabled: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n ltiToolsTabEnabled\n \n \n \n \n \n \n \n \n ltiToolsTabEnabled: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n maxExternalToolLogoSizeInBytes\n \n \n \n \n \n \n \n \n maxExternalToolLogoSizeInBytes: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n toolStatusWithoutVersions\n \n \n \n \n \n \n \n \n toolStatusWithoutVersions: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\n\nexport const ToolFeatures = Symbol('ToolFeatures');\n\nexport interface IToolFeatures {\n\tctlToolsTabEnabled: boolean;\n\tltiToolsTabEnabled: boolean;\n\tcontextConfigurationEnabled: boolean;\n\t// TODO N21-1337 refactor after feature flag is removed\n\ttoolStatusWithoutVersions: boolean;\n\tmaxExternalToolLogoSizeInBytes: number;\n\tbackEndUrl: string;\n}\n\nexport default class ToolConfiguration {\n\tstatic toolFeatures: IToolFeatures = {\n\t\tctlToolsTabEnabled: Configuration.get('FEATURE_CTL_TOOLS_TAB_ENABLED') as boolean,\n\t\tltiToolsTabEnabled: Configuration.get('FEATURE_LTI_TOOLS_TAB_ENABLED') as boolean,\n\t\tcontextConfigurationEnabled: Configuration.get('FEATURE_CTL_CONTEXT_CONFIGURATION_ENABLED') as boolean,\n\t\t// TODO N21-1337 refactor after feature flag is removed\n\t\ttoolStatusWithoutVersions: Configuration.get('FEATURE_COMPUTE_TOOL_STATUS_WITHOUT_VERSIONS_ENABLED') as boolean,\n\t\tmaxExternalToolLogoSizeInBytes: Configuration.get('CTL_TOOLS__EXTERNAL_TOOL_MAX_LOGO_SIZE_IN_BYTES') as number,\n\t\tbackEndUrl: Configuration.get('PUBLIC_BACKEND_URL') as string,\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IVideoConferenceSettings.html":{"url":"interfaces/IVideoConferenceSettings.html","title":"interface - IVideoConferenceSettings","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IVideoConferenceSettings\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/interface/video-conference-settings.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n bbb\n \n \n \n \n enabled\n \n \n \n \n hostUrl\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n bbb\n \n \n \n \n \n \n \n \n bbb: IBbbSettings\n\n \n \n\n\n \n \n Type : IBbbSettings\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n enabled\n \n \n \n \n \n \n \n \n enabled: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n hostUrl\n \n \n \n \n \n \n \n \n hostUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { IBbbSettings } from '../bbb';\n\nexport const VideoConferenceSettings = Symbol('VideoConferenceSettings');\n\nexport interface IVideoConferenceSettings {\n\tenabled: boolean;\n\thostUrl: string;\n\tbbb: IBbbSettings;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/IdParams.html":{"url":"classes/IdParams.html","title":"class - IdParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n IdParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/request/id.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({description: 'The Oauth Client Id.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/id.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsString } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\n\nexport class IdParams {\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'The Oauth Client Id.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tid!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IdToken.html":{"url":"interfaces/IdToken.html","title":"interface - IdToken","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IdToken\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/interface/id-token.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n email\n \n \n \n Optional\n \n groups\n \n \n \n Optional\n \n iframe\n \n \n \n Optional\n \n name\n \n \n \n \n schoolId\n \n \n \n Optional\n \n userId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n email\n \n \n \n \n \n \n \n \n email: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n groups\n \n \n \n \n \n \n \n \n groups: GroupNameIdTuple[]\n\n \n \n\n\n \n \n Type : GroupNameIdTuple[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n iframe\n \n \n \n \n \n \n \n \n iframe: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n schoolId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface IdToken {\n\tiframe?: string;\n\temail?: string;\n\tname?: string;\n\tuserId?: string;\n\tschoolId: string;\n\tgroups?: GroupNameIdTuple[];\n}\n\nexport interface GroupNameIdTuple {\n\tdisplayName: string;\n\tgid: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/IdTokenCreationLoggableException.html":{"url":"classes/IdTokenCreationLoggableException.html","title":"class - IdTokenCreationLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n IdTokenCreationLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/error/id-token-creation-exception.loggable.ts\n \n\n\n\n \n Extends\n \n \n InternalServerErrorException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(clientId: string, userId?: string)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/error/id-token-creation-exception.loggable.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n clientId\n \n \n string\n \n \n \n No\n \n \n \n \n userId\n \n \n string\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/error/id-token-creation-exception.loggable.ts:9\n \n \n\n\n \n \n\n \n Returns : ErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { InternalServerErrorException } from '@nestjs/common';\nimport { ErrorLogMessage, Loggable } from '@src/core/logger';\n\nexport class IdTokenCreationLoggableException extends InternalServerErrorException implements Loggable {\n\tconstructor(private readonly clientId: string, private readonly userId?: string) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): ErrorLogMessage {\n\t\tconst message = {\n\t\t\ttype: 'INTERNAL_SERVER_ERROR_EXCEPTION',\n\t\t\tmessage: 'Something went wrong for id token creation. Tool could not be found.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tuserId: this.userId,\n\t\t\t\tclientId: this.clientId,\n\t\t\t},\n\t\t};\n\n\t\treturn message;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/IdTokenExtractionFailureLoggableException.html":{"url":"classes/IdTokenExtractionFailureLoggableException.html","title":"class - IdTokenExtractionFailureLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n IdTokenExtractionFailureLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/loggable/id-token-extraction-failure-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n OauthSsoErrorLoggableException\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(fieldName: string)\n \n \n \n \n Defined in apps/server/src/modules/oauth/loggable/id-token-extraction-failure-loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n fieldName\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \n \n getLogMessage()\n \n \n\n\n \n \n Inherited from OauthSsoErrorLoggableException\n\n \n \n \n \n Defined in OauthSsoErrorLoggableException:9\n\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { OauthSsoErrorLoggableException } from './oauth-sso-error-loggable-exception';\n\nexport class IdTokenExtractionFailureLoggableException extends OauthSsoErrorLoggableException {\n\tconstructor(private readonly fieldName: string) {\n\t\tsuper();\n\t}\n\n\toverride getLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'SSO_JWT_PROBLEM',\n\t\t\tmessage: 'Failed to extract field',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tfieldName: this.fieldName,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/IdTokenInvalidLoggableException.html":{"url":"classes/IdTokenInvalidLoggableException.html","title":"class - IdTokenInvalidLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n IdTokenInvalidLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/loggable/id-token-invalid-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n OauthSsoErrorLoggableException\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \n \n getLogMessage()\n \n \n\n\n \n \n Inherited from OauthSsoErrorLoggableException\n\n \n \n \n \n Defined in OauthSsoErrorLoggableException:5\n\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { OauthSsoErrorLoggableException } from './oauth-sso-error-loggable-exception';\n\nexport class IdTokenInvalidLoggableException extends OauthSsoErrorLoggableException {\n\toverride getLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'SSO_JWT_PROBLEM',\n\t\t\tmessage: 'Failed to validate idToken',\n\t\t\tstack: this.stack,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/IdTokenService.html":{"url":"injectables/IdTokenService.html","title":"injectable - IdTokenService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n IdTokenService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/service/id-token.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n buildGroupsClaim\n \n \n Async\n createIdToken\n \n \n Private\n Async\n createIframeSubject\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthProviderLoginFlowService: OauthProviderLoginFlowService, pseudonymService: PseudonymService, teamsRepo: TeamsRepo, userService: UserService)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/service/id-token.service.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthProviderLoginFlowService\n \n \n OauthProviderLoginFlowService\n \n \n \n No\n \n \n \n \n pseudonymService\n \n \n PseudonymService\n \n \n \n No\n \n \n \n \n teamsRepo\n \n \n TeamsRepo\n \n \n \n No\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n buildGroupsClaim\n \n \n \n \n \n \n \n buildGroupsClaim(teams: TeamEntity[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/service/id-token.service.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n teams\n \n TeamEntity[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GroupNameIdTuple[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createIdToken\n \n \n \n \n \n \n \n createIdToken(userId: string, scopes: string[], clientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/service/id-token.service.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n scopes\n \n string[]\n \n\n \n No\n \n\n\n \n \n clientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createIframeSubject\n \n \n \n \n \n \n \n createIframeSubject(user: UserDO, clientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/service/id-token.service.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserDO\n \n\n \n No\n \n\n\n \n \n clientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { PseudonymService } from '@modules/pseudonym';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { UserService } from '@modules/user';\nimport { Injectable } from '@nestjs/common';\nimport { LtiToolDO, Pseudonym, UserDO } from '@shared/domain/domainobject';\nimport { TeamEntity } from '@shared/domain/entity';\nimport { TeamsRepo } from '@shared/repo';\nimport { IdTokenCreationLoggableException } from '../error/id-token-creation-exception.loggable';\nimport { GroupNameIdTuple, IdToken, OauthScope } from '../interface';\nimport { OauthProviderLoginFlowService } from './oauth-provider.login-flow.service';\n\n@Injectable()\nexport class IdTokenService {\n\tconstructor(\n\t\tprivate readonly oauthProviderLoginFlowService: OauthProviderLoginFlowService,\n\t\tprivate readonly pseudonymService: PseudonymService,\n\t\tprivate readonly teamsRepo: TeamsRepo,\n\t\tprivate readonly userService: UserService\n\t) {}\n\n\tasync createIdToken(userId: string, scopes: string[], clientId: string): Promise {\n\t\tlet teams: TeamEntity[] = [];\n\t\tif (scopes.includes(OauthScope.GROUPS)) {\n\t\t\tteams = await this.teamsRepo.findByUserId(userId);\n\t\t}\n\n\t\tconst user: UserDO = await this.userService.findById(userId);\n\t\tconst name: string = await this.userService.getDisplayName(user);\n\t\tconst iframe: string | undefined = await this.createIframeSubject(user, clientId);\n\t\tconst groups: GroupNameIdTuple[] = this.buildGroupsClaim(teams);\n\n\t\treturn {\n\t\t\tiframe,\n\t\t\temail: scopes.includes(OauthScope.EMAIL) ? user.email : undefined,\n\t\t\tname: scopes.includes(OauthScope.PROFILE) ? name : undefined,\n\t\t\tuserId: scopes.includes(OauthScope.PROFILE) ? user.id : undefined,\n\t\t\tschoolId: user.schoolId,\n\t\t\tgroups: scopes.includes(OauthScope.GROUPS) ? groups : undefined,\n\t\t};\n\t}\n\n\tprivate buildGroupsClaim(teams: TeamEntity[]): GroupNameIdTuple[] {\n\t\treturn teams.map((team: TeamEntity): GroupNameIdTuple => {\n\t\t\treturn {\n\t\t\t\tgid: team.id,\n\t\t\t\tdisplayName: team.name,\n\t\t\t};\n\t\t});\n\t}\n\n\t// TODO N21-335 How we can refactor the iframe in the id token?\n\tprivate async createIframeSubject(user: UserDO, clientId: string): Promise {\n\t\tconst tool: ExternalTool | LtiToolDO = await this.oauthProviderLoginFlowService.findToolByClientId(clientId);\n\n\t\tif (!tool.id) {\n\t\t\tthrow new IdTokenCreationLoggableException(clientId, user.id);\n\t\t}\n\n\t\tconst pseudonym: Pseudonym = await this.pseudonymService.findByUserAndToolOrThrow(user, tool);\n\n\t\tconst iframeSubject: string = this.pseudonymService.getIframeSubject(pseudonym.pseudonym);\n\n\t\treturn iframeSubject;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/IdTokenUserNotFoundLoggableException.html":{"url":"classes/IdTokenUserNotFoundLoggableException.html","title":"class - IdTokenUserNotFoundLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n IdTokenUserNotFoundLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/loggable/id-token-user-not-found-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n OauthSsoErrorLoggableException\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(uuid: string, additionalInfo?: string)\n \n \n \n \n Defined in apps/server/src/modules/oauth/loggable/id-token-user-not-found-loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n uuid\n \n \n string\n \n \n \n No\n \n \n \n \n additionalInfo\n \n \n string\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \n \n getLogMessage()\n \n \n\n\n \n \n Inherited from OauthSsoErrorLoggableException\n\n \n \n \n \n Defined in OauthSsoErrorLoggableException:9\n\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { OauthSsoErrorLoggableException } from './oauth-sso-error-loggable-exception';\n\nexport class IdTokenUserNotFoundLoggableException extends OauthSsoErrorLoggableException {\n\tconstructor(private readonly uuid: string, private readonly additionalInfo?: string) {\n\t\tsuper();\n\t}\n\n\toverride getLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'SSO_USER_NOTFOUND',\n\t\t\tmessage: 'Failed to find user with uuid from id token',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tuuid: this.uuid,\n\t\t\t\tadditionalInfo: this.additionalInfo,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IdentityManagementConfig.html":{"url":"interfaces/IdentityManagementConfig.html","title":"interface - IdentityManagementConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IdentityManagementConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/identity-management.config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n FEATURE_IDENTITY_MANAGEMENT_ENABLED\n \n \n \n \n FEATURE_IDENTITY_MANAGEMENT_LOGIN_ENABLED\n \n \n \n \n FEATURE_IDENTITY_MANAGEMENT_STORE_ENABLED\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n FEATURE_IDENTITY_MANAGEMENT_ENABLED\n \n \n \n \n \n \n \n \n FEATURE_IDENTITY_MANAGEMENT_ENABLED: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n FEATURE_IDENTITY_MANAGEMENT_LOGIN_ENABLED\n \n \n \n \n \n \n \n \n FEATURE_IDENTITY_MANAGEMENT_LOGIN_ENABLED: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n FEATURE_IDENTITY_MANAGEMENT_STORE_ENABLED\n \n \n \n \n \n \n \n \n FEATURE_IDENTITY_MANAGEMENT_STORE_ENABLED: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface IdentityManagementConfig {\n\tFEATURE_IDENTITY_MANAGEMENT_ENABLED: boolean;\n\tFEATURE_IDENTITY_MANAGEMENT_STORE_ENABLED: boolean;\n\tFEATURE_IDENTITY_MANAGEMENT_LOGIN_ENABLED: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/IdentityManagementModule.html":{"url":"modules/IdentityManagementModule.html","title":"module - IdentityManagementModule","body":"\n \n\n\n\n\n Modules\n IdentityManagementModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_IdentityManagementModule\n\n\n\ncluster_IdentityManagementModule_imports\n\n\n\ncluster_IdentityManagementModule_exports\n\n\n\n\nEncryptionModule\n\nEncryptionModule\n\n\n\nIdentityManagementModule\n\nIdentityManagementModule\n\nIdentityManagementModule -->\n\nEncryptionModule->IdentityManagementModule\n\n\n\n\n\nKeycloakAdministrationModule\n\nKeycloakAdministrationModule\n\nIdentityManagementModule -->\n\nKeycloakAdministrationModule->IdentityManagementModule\n\n\n\n\n\nKeycloakModule\n\nKeycloakModule\n\nIdentityManagementModule -->\n\nKeycloakModule->IdentityManagementModule\n\n\n\n\n\nIdentityManagementOauthService \n\nIdentityManagementOauthService \n\nIdentityManagementOauthService -->\n\nIdentityManagementModule->IdentityManagementOauthService \n\n\n\n\n\nIdentityManagementService \n\nIdentityManagementService \n\nIdentityManagementService -->\n\nIdentityManagementModule->IdentityManagementService \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/identity-management/identity-management.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n EncryptionModule\n \n \n KeycloakAdministrationModule\n \n \n KeycloakModule\n \n \n \n \n Exports\n \n \n IdentityManagementOauthService\n \n \n IdentityManagementService\n \n \n \n \n \n\n\n \n\n\n \n import { HttpModule } from '@nestjs/axios';\nimport { Module } from '@nestjs/common';\nimport { EncryptionModule } from '../encryption';\nimport { IdentityManagementOauthService } from './identity-management-oauth.service';\nimport { IdentityManagementService } from './identity-management.service';\nimport { KeycloakAdministrationModule } from './keycloak-administration/keycloak-administration.module';\nimport { KeycloakModule } from './keycloak/keycloak.module';\nimport { KeycloakIdentityManagementOauthService } from './keycloak/service/keycloak-identity-management-oauth.service';\nimport { KeycloakIdentityManagementService } from './keycloak/service/keycloak-identity-management.service';\n\n@Module({\n\timports: [KeycloakModule, KeycloakAdministrationModule, HttpModule, EncryptionModule],\n\tproviders: [\n\t\t{ provide: IdentityManagementService, useClass: KeycloakIdentityManagementService },\n\t\t{ provide: IdentityManagementOauthService, useClass: KeycloakIdentityManagementOauthService },\n\t],\n\texports: [IdentityManagementService, IdentityManagementOauthService],\n})\nexport class IdentityManagementModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/IdentityManagementOauthService.html":{"url":"classes/IdentityManagementOauthService.html","title":"class - IdentityManagementOauthService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n IdentityManagementOauthService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/identity-management-oauth.service.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Abstract\n getOauthConfig\n \n \n Abstract\n isOauthConfigAvailable\n \n \n Abstract\n resourceOwnerPasswordGrant\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Abstract\n getOauthConfig\n \n \n \n \n \n \n \n getOauthConfig()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management-oauth.service.ts:9\n \n \n\n\n \n \n Returns the oauth config of the IDM.\n\n\n \n Returns : Promise\n\n \n \n the oauth config of the IDM.\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n isOauthConfigAvailable\n \n \n \n \n \n \n \n isOauthConfigAvailable()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management-oauth.service.ts:15\n \n \n\n\n \n \n Checks if the IDM oauth config is available.\n\n\n \n Returns : Promise\n\n \n \n true if the IDM oauth config is available, false otherwise.\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n resourceOwnerPasswordGrant\n \n \n \n \n \n \n \n resourceOwnerPasswordGrant(username: string, password: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management-oauth.service.ts:23\n \n \n\n\n \n \n Checks the given credentials with the IDM and returns an JWT on success.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n the username of the account to check.\n\n \n \n \n password\n \n string\n \n\n \n No\n \n\n\n \n the password of the account to check.\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n the JWT as string or undefined on failure.\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { OauthConfigDto } from '@modules/system/service/dto';\n\nexport abstract class IdentityManagementOauthService {\n\t/**\n\t * Returns the oauth config of the IDM.\n\t * @returns the oauth config of the IDM.\n\t * @throws an error if the IDM oauth config is not available.\n\t */\n\tabstract getOauthConfig(): Promise;\n\n\t/**\n\t * Checks if the IDM oauth config is available.\n\t * @returns true if the IDM oauth config is available, false otherwise.\n\t */\n\tabstract isOauthConfigAvailable(): Promise;\n\n\t/**\n\t * Checks the given credentials with the IDM and returns an JWT on success.\n\t * @param username the username of the account to check.\n\t * @param password the password of the account to check.\n\t * @returns the JWT as string or undefined on failure.\n\t */\n\tabstract resourceOwnerPasswordGrant(username: string, password: string): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/IdentityManagementService.html":{"url":"classes/IdentityManagementService.html","title":"class - IdentityManagementService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n IdentityManagementService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/identity-management.service.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Abstract\n createAccount\n \n \n Abstract\n deleteAccountById\n \n \n Abstract\n findAccountByDbcAccountId\n \n \n Abstract\n findAccountByDbcUserId\n \n \n Abstract\n findAccountById\n \n \n Abstract\n findAccountsByUsername\n \n \n Abstract\n getAllAccounts\n \n \n Abstract\n getUserAttribute\n \n \n Abstract\n setUserAttribute\n \n \n Abstract\n updateAccount\n \n \n Abstract\n updateAccountPassword\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Abstract\n createAccount\n \n \n \n \n \n \n \n createAccount(account: IdmAccountUpdate, password?: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management.service.ts:18\n \n \n\n\n \n \n Create a new account in the identity management.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n account\n \n IdmAccountUpdate\n \n\n \n No\n \n\n\n \n the account's details\n\n \n \n \n password\n \n string | undefined\n \n\n \n Yes\n \n\n\n \n the account's password (optional)\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n the account id if created successfully\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n deleteAccountById\n \n \n \n \n \n \n \n deleteAccountById(accountId: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management.service.ts:82\n \n \n\n\n \n \n Deletes an account from the identity management.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n accountId\n \n string\n \n\n \n No\n \n\n\n \n the account to be deleted.\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n the accounts id if deleted successfully\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n findAccountByDbcAccountId\n \n \n \n \n \n \n \n findAccountByDbcAccountId(accountDbcAccountId: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management.service.ts:52\n \n \n\n\n \n \n Load a specific account by its dbc account id.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n accountDbcAccountId\n \n string\n \n\n \n No\n \n\n\n \n the account to be loaded.\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n the account if exists\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n findAccountByDbcUserId\n \n \n \n \n \n \n \n findAccountByDbcUserId(accountDbcUserId: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management.service.ts:60\n \n \n\n\n \n \n Load a specific account by its dbc user id.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n accountDbcUserId\n \n string\n \n\n \n No\n \n\n\n \n the account to be loaded.\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n the account if exists\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n findAccountById\n \n \n \n \n \n \n \n findAccountById(accountId: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management.service.ts:44\n \n \n\n\n \n \n Load a specific account by its id.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n accountId\n \n string\n \n\n \n No\n \n\n\n \n the account to be loaded.\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n the account if exists\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n findAccountsByUsername\n \n \n \n \n \n \n \n findAccountsByUsername(username: string, options?: SearchOptions)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management.service.ts:68\n \n \n\n\n \n \n Loads the account with the specific username.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n of the account to be loaded.\n\n \n \n \n options\n \n SearchOptions\n \n\n \n Yes\n \n\n\n \n the search options to be applied.\n\n \n \n \n \n \n \n Returns : Promise>\n\n \n \n the found accounts (might be empty).\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getAllAccounts\n \n \n \n \n \n \n \n getAllAccounts()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management.service.ts:75\n \n \n\n\n \n \n Load all accounts.\n\n\n \n Returns : Promise\n\n \n \n an array of all accounts (might be empty)\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getUserAttribute\n \n \n \n \n \n \n \n getUserAttribute(userId: string, attributeName: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management.service.ts:90\n \n \n\n \n \n Type parameters :\n \n TValue\n \n \n \n\n \n \n Gets an attribute value of a specific user.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n the id of the user to get an attribute value.\n\n \n \n \n attributeName\n \n string\n \n\n \n No\n \n\n\n \n the name of the attribute to get.\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n the attribute value if exists, null otherwise.\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n setUserAttribute\n \n \n \n \n \n \n \n setUserAttribute(userId: string, attributeName: string, attributeValue: TValue)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management.service.ts:101\n \n \n\n \n \n Type parameters :\n \n TValue\n \n \n \n\n \n \n Sets an attribute value of a specific user.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n the id of the user to set an attribute value.\n\n \n \n \n attributeName\n \n string\n \n\n \n No\n \n\n\n \n the name of the attribute to set.\n\n \n \n \n attributeValue\n \n TValue\n \n\n \n No\n \n\n\n \n the value of the attribute to set.\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n updateAccount\n \n \n \n \n \n \n \n updateAccount(accountId: string, account: IdmAccountUpdate)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management.service.ts:27\n \n \n\n\n \n \n Update an existing account's details.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n accountId\n \n string\n \n\n \n No\n \n\n\n \n the account to be updated.\n\n \n \n \n account\n \n IdmAccountUpdate\n \n\n \n No\n \n\n\n \n the account data to be applied.\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n the account id if updated successfully\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n updateAccountPassword\n \n \n \n \n \n \n \n updateAccountPassword(accountId: string, password: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management.service.ts:36\n \n \n\n\n \n \n Update an existing account's password.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n accountId\n \n string\n \n\n \n No\n \n\n\n \n the account to be updated.\n\n \n \n \n password\n \n string\n \n\n \n No\n \n\n\n \n the new password (clear).\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n the account id if updated successfully\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { IdmAccount, IdmAccountUpdate } from '@shared/domain/interface';\nimport { Counted } from '@shared/domain/types';\n\nexport type SearchOptions = {\n\texact?: boolean;\n\tskip?: number;\n\tlimit?: number;\n};\n\nexport abstract class IdentityManagementService {\n\t/**\n\t * Create a new account in the identity management.\n\t *\n\t * @param account the account's details\n\t * @param [password] the account's password (optional)\n\t * @returns the account id if created successfully\n\t */\n\tabstract createAccount(account: IdmAccountUpdate, password?: string | undefined): Promise;\n\n\t/**\n\t * Update an existing account's details.\n\t *\n\t * @param accountId the account to be updated.\n\t * @param account the account data to be applied.\n\t * @returns the account id if updated successfully\n\t */\n\tabstract updateAccount(accountId: string, account: IdmAccountUpdate): Promise;\n\n\t/**\n\t * Update an existing account's password.\n\t *\n\t * @param accountId the account to be updated.\n\t * @param password the new password (clear).\n\t * @returns the account id if updated successfully\n\t */\n\tabstract updateAccountPassword(accountId: string, password: string): Promise;\n\n\t/**\n\t * Load a specific account by its id.\n\t *\n\t * @param accountId the account to be loaded.\n\t * @returns the account if exists\n\t */\n\tabstract findAccountById(accountId: string): Promise;\n\n\t/**\n\t * Load a specific account by its dbc account id.\n\t *\n\t * @param accountDbcAccountId the account to be loaded.\n\t * @returns the account if exists\n\t */\n\tabstract findAccountByDbcAccountId(accountDbcAccountId: string): Promise;\n\n\t/**\n\t * Load a specific account by its dbc user id.\n\t *\n\t * @param accountDbcUserId the account to be loaded.\n\t * @returns the account if exists\n\t */\n\tabstract findAccountByDbcUserId(accountDbcUserId: string): Promise;\n\n\t/**\n\t * Loads the account with the specific username.\n\t * @param username of the account to be loaded.\n\t * @param options the search options to be applied.\n\t * @returns the found accounts (might be empty).\n\t */\n\tabstract findAccountsByUsername(username: string, options?: SearchOptions): Promise>;\n\n\t/**\n\t * Load all accounts.\n\t *\n\t * @returns an array of all accounts (might be empty)\n\t */\n\tabstract getAllAccounts(): Promise;\n\n\t/**\n\t * Deletes an account from the identity management.\n\t * @param accountId the account to be deleted.\n\t * @returns the accounts id if deleted successfully\n\t */\n\tabstract deleteAccountById(accountId: string): Promise;\n\n\t/**\n\t * Gets an attribute value of a specific user.\n\t * @param userId the id of the user to get an attribute value.\n\t * @param attributeName the name of the attribute to get.\n\t * @returns the attribute value if exists, null otherwise.\n\t */\n\tabstract getUserAttribute(\n\t\tuserId: string,\n\t\tattributeName: string\n\t): Promise;\n\n\t/**\n\t * Sets an attribute value of a specific user.\n\t * @param userId the id of the user to set an attribute value.\n\t * @param attributeName the name of the attribute to set.\n\t * @param attributeValue the value of the attribute to set.\n\t */\n\tabstract setUserAttribute(\n\t\tuserId: string,\n\t\tattributeName: string,\n\t\tattributeValue: TValue\n\t): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/ImportUser.html":{"url":"entities/ImportUser.html","title":"entity - ImportUser","body":"\n \n\n\n\n\n\n\n\n Entities\n ImportUser\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/import-user.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n classNames\n \n \n \n email\n \n \n \n externalId\n \n \n \n firstName\n \n \n \n flagged\n \n \n \n lastName\n \n \n \n ldapDn\n \n \n \n Optional\n matchedBy\n \n \n \n roleNames\n \n \n \n school\n \n \n \n system\n \n \n \n \n Optional\n user\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n classNames\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:94\n \n \n\n\n \n \n \n \n \n \n \n \n \n email\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:88\n \n \n\n\n \n \n \n \n \n \n \n \n \n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'ldapId'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:76\n \n \n\n\n \n \n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:79\n \n \n\n\n \n \n \n \n \n \n \n \n \n flagged\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Decorators : \n \n \n @Property({type: Boolean})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:112\n \n \n\n\n \n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:82\n \n \n\n\n \n \n \n \n \n \n \n \n \n ldapDn\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:60\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n matchedBy\n \n \n \n \n \n \n Type : MatchCreator\n\n \n \n \n \n Decorators : \n \n \n @Enum({fieldName: 'match_matchedBy', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:109\n \n \n\n \n \n References who set the user, take the field as read-only\n\n \n \n\n \n \n \n \n \n \n \n \n \n roleNames\n \n \n \n \n \n \n Type : IImportUserRoleName[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Decorators : \n \n \n @Enum({fieldName: 'roles'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:91\n \n \n\n\n \n \n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n Type : IdentifiedReference\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined, {fieldName: 'schoolId', wrappedReference: true, eager: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n \n system\n \n \n \n \n \n \n Type : IdentifiedReference\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined, {wrappedReference: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:57\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n user\n \n \n \n \n \n \n Type : User\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('User', {fieldName: 'match_userId', eager: true, nullable: true})@Unique({options: undefined})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:102\n \n \n\n \n \n Update user-match together with matchedBy, take the field as read-only\n\n \n \n\n \n \n\n \n\n\n \n import { Entity, Enum, IdentifiedReference, ManyToOne, Property, Unique, wrap } from '@mikro-orm/core';\nimport { EntityWithSchool, RoleName } from '../interface';\nimport { BaseEntityReference, BaseEntityWithTimestamps } from './base.entity';\nimport { SchoolEntity } from './school.entity';\nimport { SystemEntity } from './system.entity';\nimport type { User } from './user.entity';\n\nexport type IImportUserRoleName = RoleName.ADMINISTRATOR | RoleName.TEACHER | RoleName.STUDENT;\n\nexport interface ImportUserProperties {\n\t// references\n\tschool: SchoolEntity;\n\tsystem: SystemEntity;\n\t// external identifiers\n\tldapDn: string;\n\texternalId: string;\n\t// descriptive properties\n\tfirstName: string;\n\tlastName: string;\n\temail: string; // TODO VO\n\troleNames?: IImportUserRoleName[];\n\tclassNames?: string[];\n\tuser?: User;\n\tmatchedBy?: MatchCreator;\n\tflagged?: boolean;\n}\n\nexport enum MatchCreator {\n\tAUTO = 'auto',\n\tMANUAL = 'admin',\n}\n\n@Entity({ tableName: 'importusers' })\n@Unique({ properties: ['school', 'externalId'] })\n@Unique({ properties: ['school', 'ldapDn'] })\n@Unique({ properties: ['school', 'email'] })\nexport class ImportUser extends BaseEntityWithTimestamps implements EntityWithSchool {\n\tconstructor(props: ImportUserProperties) {\n\t\tsuper();\n\t\tthis.school = wrap(props.school).toReference();\n\t\tthis.system = wrap(props.system).toReference();\n\t\tthis.ldapDn = props.ldapDn;\n\t\tthis.externalId = props.externalId;\n\t\tthis.firstName = props.firstName;\n\t\tthis.lastName = props.lastName;\n\t\tthis.email = props.email;\n\t\tif (Array.isArray(props.roleNames) && props.roleNames.length > 0) this.roleNames.push(...props.roleNames);\n\t\tif (Array.isArray(props.classNames) && props.classNames.length > 0) this.classNames.push(...props.classNames);\n\t\tif (props.user && props.matchedBy) this.setMatch(props.user, props.matchedBy);\n\t\tif (props.flagged && props.flagged === true) this.flagged = true;\n\t}\n\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId', wrappedReference: true, eager: true })\n\tschool: IdentifiedReference;\n\n\t@ManyToOne(() => SystemEntity, { wrappedReference: true })\n\tsystem: IdentifiedReference;\n\n\t@Property()\n\tldapDn: string;\n\n\t/**\n\t * extracts the login name out of the dn which has the login name in 'uid=LOGINNAME,[...]'\n\t * */\n\tget loginName(): string | null {\n\t\tconst PATTERN_LOGIN_FROM_DN = /^uid=(.+?),/i; // extract uid from dn\n\t\tconst matches = this.ldapDn?.match(PATTERN_LOGIN_FROM_DN);\n\t\tif (Array.isArray(matches) && matches.length >= 2) {\n\t\t\tconst loginName = matches[1]; // 0: full match, 1: first group match\n\t\t\treturn loginName;\n\t\t}\n\t\treturn null;\n\t}\n\n\t@Property({ fieldName: 'ldapId' })\n\texternalId: string;\n\n\t@Property()\n\tfirstName: string;\n\n\t@Property()\n\tlastName: string;\n\n\t@Property()\n\t/**\n\t * Lowercase email string\n\t */\n\temail: string;\n\n\t@Enum({ fieldName: 'roles' })\n\troleNames: IImportUserRoleName[] = [];\n\n\t@Property()\n\tclassNames: string[] = [];\n\n\t/**\n\t * Update user-match together with matchedBy, take the field as read-only\n\t * @read\n\t */\n\t@ManyToOne('User', { fieldName: 'match_userId', eager: true, nullable: true })\n\t@Unique({ options: { partialFilterExpression: { match_userId: { $type: 'objectId' } } } })\n\tuser?: User;\n\n\t/**\n\t * References who set the user, take the field as read-only\n\t * @private\n\t */\n\t@Enum({ fieldName: 'match_matchedBy', nullable: true })\n\tmatchedBy?: MatchCreator;\n\n\t@Property({ type: Boolean })\n\tflagged = false;\n\n\tsetMatch(user: User, matchedBy: MatchCreator) {\n\t\tif (this.school.id !== user.school.id) {\n\t\t\tthrow new Error('not same school');\n\t\t}\n\t\tthis.user = user;\n\t\tthis.matchedBy = matchedBy;\n\t}\n\n\trevokeMatch() {\n\t\tthis.user = undefined;\n\t\tthis.matchedBy = undefined;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/ImportUserController.html":{"url":"controllers/ImportUserController.html","title":"controller - ImportUserController","body":"\n \n\n\n\n\n\n\n Controllers\n ImportUserController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/controller/import-user.controller.ts\n \n\n \n Prefix\n \n \n user/import\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n endSchoolInMaintenance\n \n \n \n Async\n findAllImportUsers\n \n \n \n Async\n findAllUnmatchedUsers\n \n \n \n Async\n removeMatch\n \n \n \n Async\n saveAllUsersMatches\n \n \n \n Async\n setMatch\n \n \n \n Async\n startSchoolInUserMigration\n \n \n \n Async\n updateFlag\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n endSchoolInMaintenance\n \n \n \n \n \n \n \n endSchoolInMaintenance(currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Post('startSync')\n \n \n\n \n \n Defined in apps/server/src/modules/user-import/controller/import-user.controller.ts:113\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllImportUsers\n \n \n \n \n \n \n \n findAllImportUsers(currentUser: ICurrentUser, scope: FilterImportUserParams, sortingQuery: SortImportUserParams, pagination: PaginationParams)\n \n \n\n \n \n Decorators : \n \n @Get()\n \n \n\n \n \n Defined in apps/server/src/modules/user-import/controller/import-user.controller.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n scope\n \n FilterImportUserParams\n \n\n \n No\n \n\n\n \n \n sortingQuery\n \n SortImportUserParams\n \n\n \n No\n \n\n\n \n \n pagination\n \n PaginationParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllUnmatchedUsers\n \n \n \n \n \n \n \n findAllUnmatchedUsers(currentUser: ICurrentUser, scope: FilterUserParams, pagination: PaginationParams)\n \n \n\n \n \n Decorators : \n \n @Get('unassigned')\n \n \n\n \n \n Defined in apps/server/src/modules/user-import/controller/import-user.controller.ts:83\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n scope\n \n FilterUserParams\n \n\n \n No\n \n\n\n \n \n pagination\n \n PaginationParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n removeMatch\n \n \n \n \n \n \n \n removeMatch(urlParams: ImportUserUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Delete(':importUserId/match')\n \n \n\n \n \n Defined in apps/server/src/modules/user-import/controller/import-user.controller.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n ImportUserUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAllUsersMatches\n \n \n \n \n \n \n \n saveAllUsersMatches(currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Post('migrate')\n \n \n\n \n \n Defined in apps/server/src/modules/user-import/controller/import-user.controller.ts:100\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n setMatch\n \n \n \n \n \n \n \n setMatch(urlParams: ImportUserUrlParams, currentUser: ICurrentUser, params: UpdateMatchParams)\n \n \n\n \n \n Decorators : \n \n @Patch(':importUserId/match')\n \n \n\n \n \n Defined in apps/server/src/modules/user-import/controller/import-user.controller.ts:48\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n ImportUserUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n UpdateMatchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n startSchoolInUserMigration\n \n \n \n \n \n \n \n startSchoolInUserMigration(currentUser: ICurrentUser, useCentralLdap?: boolean)\n \n \n\n \n \n Decorators : \n \n @Post('startUserMigration')\n \n \n\n \n \n Defined in apps/server/src/modules/user-import/controller/import-user.controller.ts:105\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n useCentralLdap\n \n boolean\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateFlag\n \n \n \n \n \n \n \n updateFlag(urlParams: ImportUserUrlParams, currentUser: ICurrentUser, params: UpdateFlagParams)\n \n \n\n \n \n Decorators : \n \n @Patch(':importUserId/flag')\n \n \n\n \n \n Defined in apps/server/src/modules/user-import/controller/import-user.controller.ts:71\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n ImportUserUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n UpdateFlagParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, Delete, Get, Param, Patch, Post, Query } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { PaginationParams } from '@shared/controller';\nimport { ImportUser, User } from '@shared/domain/entity';\nimport { IFindOptions } from '@shared/domain/interface';\nimport { ImportUserMapper } from '../mapper/import-user.mapper';\nimport { UserMatchMapper } from '../mapper/user-match.mapper';\nimport { UserImportUc } from '../uc/user-import.uc';\n\nimport {\n\tFilterImportUserParams,\n\tFilterUserParams,\n\tImportUserListResponse,\n\tImportUserResponse,\n\tImportUserUrlParams,\n\tSortImportUserParams,\n\tUpdateFlagParams,\n\tUpdateMatchParams,\n\tUserMatchListResponse,\n} from './dto';\n\n@ApiTags('UserImport')\n@Authenticate('jwt')\n@Controller('user/import')\nexport class ImportUserController {\n\tconstructor(private readonly userImportUc: UserImportUc, private readonly userUc: UserImportUc) {}\n\n\t@Get()\n\tasync findAllImportUsers(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() scope: FilterImportUserParams,\n\t\t@Query() sortingQuery: SortImportUserParams,\n\t\t@Query() pagination: PaginationParams\n\t): Promise {\n\t\tconst options: IFindOptions = { pagination };\n\t\toptions.order = ImportUserMapper.mapSortingQueryToDomain(sortingQuery);\n\t\tconst query = ImportUserMapper.mapImportUserFilterQueryToDomain(scope);\n\t\tconst [importUserList, count] = await this.userImportUc.findAllImportUsers(currentUser.userId, query, options);\n\t\tconst { skip, limit } = pagination;\n\t\tconst dtoList = importUserList.map((importUser) => ImportUserMapper.mapToResponse(importUser));\n\t\tconst response = new ImportUserListResponse(dtoList, count, skip, limit);\n\n\t\treturn response;\n\t}\n\n\t@Patch(':importUserId/match')\n\tasync setMatch(\n\t\t@Param() urlParams: ImportUserUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() params: UpdateMatchParams\n\t): Promise {\n\t\tconst result = await this.userImportUc.setMatch(currentUser.userId, urlParams.importUserId, params.userId);\n\t\tconst response = ImportUserMapper.mapToResponse(result);\n\n\t\treturn response;\n\t}\n\n\t@Delete(':importUserId/match')\n\tasync removeMatch(\n\t\t@Param() urlParams: ImportUserUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst result = await this.userImportUc.removeMatch(currentUser.userId, urlParams.importUserId);\n\t\tconst response = ImportUserMapper.mapToResponse(result);\n\n\t\treturn response;\n\t}\n\n\t@Patch(':importUserId/flag')\n\tasync updateFlag(\n\t\t@Param() urlParams: ImportUserUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() params: UpdateFlagParams\n\t): Promise {\n\t\tconst result = await this.userImportUc.updateFlag(currentUser.userId, urlParams.importUserId, params.flagged);\n\t\tconst response = ImportUserMapper.mapToResponse(result);\n\n\t\treturn response;\n\t}\n\n\t@Get('unassigned')\n\tasync findAllUnmatchedUsers(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() scope: FilterUserParams,\n\t\t@Query() pagination: PaginationParams\n\t): Promise {\n\t\tconst options: IFindOptions = { pagination };\n\n\t\tconst query = UserMatchMapper.mapToDomain(scope);\n\t\tconst [userList, total] = await this.userUc.findAllUnmatchedUsers(currentUser.userId, query, options);\n\t\tconst { skip, limit } = pagination;\n\t\tconst dtoList = userList.map((user) => UserMatchMapper.mapToResponse(user));\n\t\tconst response = new UserMatchListResponse(dtoList, total, skip, limit);\n\n\t\treturn response as unknown as UserMatchListResponse;\n\t}\n\n\t@Post('migrate')\n\tasync saveAllUsersMatches(@CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tawait this.userImportUc.saveAllUsersMatches(currentUser.userId);\n\t}\n\n\t@Post('startUserMigration')\n\tasync startSchoolInUserMigration(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query('useCentralLdap') useCentralLdap?: boolean\n\t): Promise {\n\t\tawait this.userImportUc.startSchoolInUserMigration(currentUser.userId, useCentralLdap);\n\t}\n\n\t@Post('startSync')\n\tasync endSchoolInMaintenance(@CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tawait this.userImportUc.endSchoolInMaintenance(currentUser.userId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ImportUserFactory.html":{"url":"classes/ImportUserFactory.html","title":"class - ImportUserFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ImportUserFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/import-user.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n matched\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n matched\n \n \n \n \n \n \nmatched(matchedBy: MatchCreator, user: User)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/import-user.factory.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n matchedBy\n \n MatchCreator\n \n\n \n No\n \n\n\n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { IImportUserRoleName, ImportUser, ImportUserProperties, MatchCreator, User } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { DeepPartial } from 'fishery';\nimport { v4 as uuidv4 } from 'uuid';\nimport { BaseFactory } from './base.factory';\nimport { schoolFactory } from './school.factory';\nimport { systemEntityFactory } from './systemEntityFactory';\n\nclass ImportUserFactory extends BaseFactory {\n\tmatched(matchedBy: MatchCreator, user: User): this {\n\t\tconst params: DeepPartial = { matchedBy, user };\n\t\treturn this.params(params);\n\t}\n}\n\nexport const importUserFactory = ImportUserFactory.define(ImportUser, ({ sequence }) => {\n\treturn {\n\t\tschool: schoolFactory.build(),\n\t\tsystem: systemEntityFactory.build(),\n\t\tldapDn: `uid=john${sequence},cn=schueler,cn=users,ou=1,dc=training,dc=ucs`,\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-call\n\t\texternalId: uuidv4() as unknown as string,\n\t\tfirstName: `John${sequence}`,\n\t\tlastName: `Doe${sequence}`,\n\t\temail: `user-${sequence}@example.com`,\n\t\troleNames: [RoleName.STUDENT as IImportUserRoleName],\n\t\tclassNames: ['firstClass'],\n\t\tflagged: false,\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ImportUserListResponse.html":{"url":"classes/ImportUserListResponse.html","title":"class - ImportUserListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ImportUserListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/controller/dto/import-user.response.ts\n \n\n\n\n \n Extends\n \n \n PaginationResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: ImportUserResponse[], total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/import-user.response.ts:64\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n ImportUserResponse[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : ImportUserResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:71\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:14\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { PaginationResponse } from '@shared/controller';\nimport { IsMongoId, IsString } from 'class-validator';\nimport { UserMatchResponse } from './user-match.response';\nimport { UserRole } from './user-role';\n\nexport class ImportUserResponse {\n\tconstructor(props: ImportUserResponse) {\n\t\tthis.importUserId = props.importUserId;\n\t\tthis.loginName = props.loginName;\n\t\tthis.firstName = props.firstName;\n\t\tthis.lastName = props.lastName;\n\t\tthis.roleNames = props.roleNames;\n\t\tthis.classNames = props.classNames;\n\t\tif (props.match != null) this.match = props.match;\n\t\tif (props.flagged === true) this.flagged = true;\n\t}\n\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'id reference to a import user',\n\t})\n\t// no school, system\n\timportUserId: string;\n\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'login name from external system',\n\t})\n\tloginName: string;\n\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'external systems user firstname',\n\t})\n\tfirstName: string;\n\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'external systems user lastname',\n\t})\n\tlastName: string;\n\n\t@ApiProperty({\n\t\tdescription: 'list of user roles from external system: student, teacher, admin',\n\t\tenum: UserRole,\n\t\tisArray: true,\n\t})\n\troleNames: UserRole[];\n\n\t@ApiProperty({ description: 'names of classes the user attends from external system' })\n\tclassNames: string[];\n\n\t@ApiPropertyOptional({ description: 'assignemnt to a local user account', type: UserMatchResponse })\n\tmatch?: UserMatchResponse;\n\n\t// explicit type is needed for OpenAPI generator\n\t// eslint-disable-next-line @typescript-eslint/no-inferrable-types\n\t@ApiProperty({ description: 'manual flag to apply it as filter' })\n\tflagged: boolean = false;\n}\n\nexport class ImportUserListResponse extends PaginationResponse {\n\tconstructor(data: ImportUserResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [ImportUserResponse] })\n\tdata: ImportUserResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ImportUserMapper.html":{"url":"classes/ImportUserMapper.html","title":"class - ImportUserMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ImportUserMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/mapper/import-user.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapImportUserFilterQueryToDomain\n \n \n Static\n mapSortingQueryToDomain\n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapImportUserFilterQueryToDomain\n \n \n \n \n \n \n \n mapImportUserFilterQueryToDomain(query: FilterImportUserParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/mapper/import-user.mapper.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterImportUserParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : IImportUserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapSortingQueryToDomain\n \n \n \n \n \n \n \n mapSortingQueryToDomain(sortingQuery: SortImportUserParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/mapper/import-user.mapper.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n sortingQuery\n \n SortImportUserParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SortOrderMap | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(importUser: ImportUser)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/mapper/import-user.mapper.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n importUser\n \n ImportUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ImportUserResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BadRequestException } from '@nestjs/common';\nimport { StringValidator } from '@shared/common';\nimport { ImportUser } from '@shared/domain/entity';\nimport { SortOrderMap } from '@shared/domain/interface';\nimport { IImportUserScope } from '@shared/domain/types';\nimport {\n\tFilterImportUserParams,\n\tImportUserResponse,\n\tImportUserSortOrder,\n\tSortImportUserParams,\n} from '../controller/dto';\n\nimport { ImportUserMatchMapper } from './match.mapper';\n\nimport { RoleNameMapper } from './role-name.mapper';\nimport { UserMatchMapper } from './user-match.mapper';\n\nexport class ImportUserMapper {\n\tstatic mapSortingQueryToDomain(sortingQuery: SortImportUserParams): SortOrderMap | undefined {\n\t\tconst { sortBy } = sortingQuery;\n\t\tif (sortBy == null) return undefined;\n\t\tconst result: SortOrderMap = {};\n\t\tswitch (sortBy) {\n\t\t\tcase ImportUserSortOrder.FIRSTNAME:\n\t\t\tcase ImportUserSortOrder.LASTNAME:\n\t\t\t\tresult[sortBy] = sortingQuery.sortOrder;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new BadRequestException();\n\t\t}\n\t\treturn result;\n\t}\n\n\tstatic mapToResponse(importUser: ImportUser): ImportUserResponse {\n\t\tconst dto = new ImportUserResponse({\n\t\t\timportUserId: importUser.id,\n\t\t\tloginName: importUser.loginName || '',\n\t\t\tfirstName: importUser.firstName,\n\t\t\tlastName: importUser.lastName,\n\t\t\troleNames: importUser.roleNames.map((role) => RoleNameMapper.mapToResponse(role)),\n\t\t\tclassNames: importUser.classNames,\n\t\t\tflagged: importUser.flagged,\n\t\t});\n\t\tif (importUser.user != null && importUser.matchedBy) {\n\t\t\tconst { user } = importUser;\n\t\t\tdto.match = UserMatchMapper.mapToResponse(user, importUser.matchedBy);\n\t\t}\n\t\treturn dto;\n\t}\n\n\tstatic mapImportUserFilterQueryToDomain(query: FilterImportUserParams): IImportUserScope {\n\t\tconst dto: IImportUserScope = {};\n\t\tif (StringValidator.isNotEmptyString(query.firstName)) dto.firstName = query.firstName;\n\t\tif (StringValidator.isNotEmptyString(query.lastName)) dto.lastName = query.lastName;\n\t\tif (StringValidator.isNotEmptyString(query.loginName)) dto.loginName = query.loginName;\n\t\tif (query.role != null) {\n\t\t\tdto.role = RoleNameMapper.mapToDomain(query.role);\n\t\t}\n\t\tif (StringValidator.isNotEmptyString(query.classes)) dto.classes = query.classes;\n\t\tif (query.match) {\n\t\t\tdto.matches = query.match.map((match) => ImportUserMatchMapper.mapImportUserMatchScopeToDomain(match));\n\t\t}\n\t\tif (query.flagged === true) dto.flagged = true;\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ImportUserMatchMapper.html":{"url":"classes/ImportUserMatchMapper.html","title":"class - ImportUserMatchMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ImportUserMatchMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/mapper/match.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapImportUserMatchScopeToDomain\n \n \n Static\n mapMatchCreatorToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapImportUserMatchScopeToDomain\n \n \n \n \n \n \n \n mapImportUserMatchScopeToDomain(match: FilterMatchType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/mapper/match.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n match\n \n FilterMatchType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : MatchCreatorScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapMatchCreatorToResponse\n \n \n \n \n \n \n \n mapMatchCreatorToResponse(matchCreator: MatchCreator)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/mapper/match.mapper.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n matchCreator\n \n MatchCreator\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : MatchType\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { MatchCreator } from '@shared/domain/entity';\nimport { MatchCreatorScope } from '@shared/domain/types';\nimport { FilterMatchType, MatchType } from '../controller/dto';\n\nexport class ImportUserMatchMapper {\n\tstatic mapImportUserMatchScopeToDomain(match: FilterMatchType): MatchCreatorScope {\n\t\tif (match === FilterMatchType.AUTO) return MatchCreatorScope.AUTO;\n\t\tif (match === FilterMatchType.MANUAL) return MatchCreatorScope.MANUAL;\n\t\tif (match === FilterMatchType.NONE) return MatchCreatorScope.NONE;\n\t\tthrow Error('invalid match from filter query');\n\t}\n\n\tstatic mapMatchCreatorToResponse(matchCreator: MatchCreator): MatchType {\n\t\tswitch (matchCreator) {\n\t\t\tcase MatchCreator.MANUAL:\n\t\t\t\treturn MatchType.MANUAL;\n\t\t\tcase MatchCreator.AUTO:\n\t\t\tdefault:\n\t\t\t\treturn MatchType.AUTO;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ImportUserModule.html":{"url":"modules/ImportUserModule.html","title":"module - ImportUserModule","body":"\n \n\n\n\n\n Modules\n ImportUserModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ImportUserModule\n\n\n\ncluster_ImportUserModule_providers\n\n\n\ncluster_ImportUserModule_imports\n\n\n\n\nAccountModule\n\nAccountModule\n\n\n\nImportUserModule\n\nImportUserModule\n\nImportUserModule -->\n\nAccountModule->ImportUserModule\n\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\nImportUserModule -->\n\nAuthorizationModule->ImportUserModule\n\n\n\n\n\nLegacySchoolModule\n\nLegacySchoolModule\n\nImportUserModule -->\n\nLegacySchoolModule->ImportUserModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nImportUserModule -->\n\nLoggerModule->ImportUserModule\n\n\n\n\n\nImportUserRepo\n\nImportUserRepo\n\nImportUserModule -->\n\nImportUserRepo->ImportUserModule\n\n\n\n\n\nLegacySchoolRepo\n\nLegacySchoolRepo\n\nImportUserModule -->\n\nLegacySchoolRepo->ImportUserModule\n\n\n\n\n\nLegacySystemRepo\n\nLegacySystemRepo\n\nImportUserModule -->\n\nLegacySystemRepo->ImportUserModule\n\n\n\n\n\nUserImportUc\n\nUserImportUc\n\nImportUserModule -->\n\nUserImportUc->ImportUserModule\n\n\n\n\n\nUserRepo\n\nUserRepo\n\nImportUserModule -->\n\nUserRepo->ImportUserModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/user-import/user-import.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ImportUserRepo\n \n \n LegacySchoolRepo\n \n \n LegacySystemRepo\n \n \n UserImportUc\n \n \n UserRepo\n \n \n \n \n Controllers\n \n \n ImportUserController\n \n \n \n \n Imports\n \n \n AccountModule\n \n \n AuthorizationModule\n \n \n LegacySchoolModule\n \n \n LoggerModule\n \n \n \n \n \n\n\n \n\n\n \n import { LegacySchoolModule } from '@modules/legacy-school';\nimport { Module } from '@nestjs/common';\nimport { ImportUserRepo, LegacySchoolRepo, LegacySystemRepo, UserRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { AccountModule } from '../account';\nimport { AuthorizationModule } from '../authorization';\nimport { ImportUserController } from './controller/import-user.controller';\nimport { UserImportUc } from './uc/user-import.uc';\n\n@Module({\n\timports: [LoggerModule, AccountModule, LegacySchoolModule, AuthorizationModule],\n\tcontrollers: [ImportUserController],\n\tproviders: [UserImportUc, ImportUserRepo, LegacySchoolRepo, LegacySystemRepo, UserRepo],\n\texports: [],\n})\n/**\n * Module to provide user migration,\n * to link existing users with ldap references to enable\n * external authentication and sync.\n */\nexport class ImportUserModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ImportUserProperties.html":{"url":"interfaces/ImportUserProperties.html","title":"interface - ImportUserProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ImportUserProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/import-user.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n classNames\n \n \n \n \n email\n \n \n \n \n externalId\n \n \n \n \n firstName\n \n \n \n Optional\n \n flagged\n \n \n \n \n lastName\n \n \n \n \n ldapDn\n \n \n \n Optional\n \n matchedBy\n \n \n \n Optional\n \n roleNames\n \n \n \n \n school\n \n \n \n \n system\n \n \n \n Optional\n \n user\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n classNames\n \n \n \n \n \n \n \n \n classNames: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n email\n \n \n \n \n \n \n \n \n email: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n externalId\n \n \n \n \n \n \n \n \n externalId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n \n \n firstName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n flagged\n \n \n \n \n \n \n \n \n flagged: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n lastName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n ldapDn\n \n \n \n \n \n \n \n \n ldapDn: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n matchedBy\n \n \n \n \n \n \n \n \n matchedBy: MatchCreator\n\n \n \n\n\n \n \n Type : MatchCreator\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n roleNames\n \n \n \n \n \n \n \n \n roleNames: IImportUserRoleName[]\n\n \n \n\n\n \n \n Type : IImportUserRoleName[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n \n \n school: SchoolEntity\n\n \n \n\n\n \n \n Type : SchoolEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n system\n \n \n \n \n \n \n \n \n system: SystemEntity\n\n \n \n\n\n \n \n Type : SystemEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n user\n \n \n \n \n \n \n \n \n user: User\n\n \n \n\n\n \n \n Type : User\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Enum, IdentifiedReference, ManyToOne, Property, Unique, wrap } from '@mikro-orm/core';\nimport { EntityWithSchool, RoleName } from '../interface';\nimport { BaseEntityReference, BaseEntityWithTimestamps } from './base.entity';\nimport { SchoolEntity } from './school.entity';\nimport { SystemEntity } from './system.entity';\nimport type { User } from './user.entity';\n\nexport type IImportUserRoleName = RoleName.ADMINISTRATOR | RoleName.TEACHER | RoleName.STUDENT;\n\nexport interface ImportUserProperties {\n\t// references\n\tschool: SchoolEntity;\n\tsystem: SystemEntity;\n\t// external identifiers\n\tldapDn: string;\n\texternalId: string;\n\t// descriptive properties\n\tfirstName: string;\n\tlastName: string;\n\temail: string; // TODO VO\n\troleNames?: IImportUserRoleName[];\n\tclassNames?: string[];\n\tuser?: User;\n\tmatchedBy?: MatchCreator;\n\tflagged?: boolean;\n}\n\nexport enum MatchCreator {\n\tAUTO = 'auto',\n\tMANUAL = 'admin',\n}\n\n@Entity({ tableName: 'importusers' })\n@Unique({ properties: ['school', 'externalId'] })\n@Unique({ properties: ['school', 'ldapDn'] })\n@Unique({ properties: ['school', 'email'] })\nexport class ImportUser extends BaseEntityWithTimestamps implements EntityWithSchool {\n\tconstructor(props: ImportUserProperties) {\n\t\tsuper();\n\t\tthis.school = wrap(props.school).toReference();\n\t\tthis.system = wrap(props.system).toReference();\n\t\tthis.ldapDn = props.ldapDn;\n\t\tthis.externalId = props.externalId;\n\t\tthis.firstName = props.firstName;\n\t\tthis.lastName = props.lastName;\n\t\tthis.email = props.email;\n\t\tif (Array.isArray(props.roleNames) && props.roleNames.length > 0) this.roleNames.push(...props.roleNames);\n\t\tif (Array.isArray(props.classNames) && props.classNames.length > 0) this.classNames.push(...props.classNames);\n\t\tif (props.user && props.matchedBy) this.setMatch(props.user, props.matchedBy);\n\t\tif (props.flagged && props.flagged === true) this.flagged = true;\n\t}\n\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId', wrappedReference: true, eager: true })\n\tschool: IdentifiedReference;\n\n\t@ManyToOne(() => SystemEntity, { wrappedReference: true })\n\tsystem: IdentifiedReference;\n\n\t@Property()\n\tldapDn: string;\n\n\t/**\n\t * extracts the login name out of the dn which has the login name in 'uid=LOGINNAME,[...]'\n\t * */\n\tget loginName(): string | null {\n\t\tconst PATTERN_LOGIN_FROM_DN = /^uid=(.+?),/i; // extract uid from dn\n\t\tconst matches = this.ldapDn?.match(PATTERN_LOGIN_FROM_DN);\n\t\tif (Array.isArray(matches) && matches.length >= 2) {\n\t\t\tconst loginName = matches[1]; // 0: full match, 1: first group match\n\t\t\treturn loginName;\n\t\t}\n\t\treturn null;\n\t}\n\n\t@Property({ fieldName: 'ldapId' })\n\texternalId: string;\n\n\t@Property()\n\tfirstName: string;\n\n\t@Property()\n\tlastName: string;\n\n\t@Property()\n\t/**\n\t * Lowercase email string\n\t */\n\temail: string;\n\n\t@Enum({ fieldName: 'roles' })\n\troleNames: IImportUserRoleName[] = [];\n\n\t@Property()\n\tclassNames: string[] = [];\n\n\t/**\n\t * Update user-match together with matchedBy, take the field as read-only\n\t * @read\n\t */\n\t@ManyToOne('User', { fieldName: 'match_userId', eager: true, nullable: true })\n\t@Unique({ options: { partialFilterExpression: { match_userId: { $type: 'objectId' } } } })\n\tuser?: User;\n\n\t/**\n\t * References who set the user, take the field as read-only\n\t * @private\n\t */\n\t@Enum({ fieldName: 'match_matchedBy', nullable: true })\n\tmatchedBy?: MatchCreator;\n\n\t@Property({ type: Boolean })\n\tflagged = false;\n\n\tsetMatch(user: User, matchedBy: MatchCreator) {\n\t\tif (this.school.id !== user.school.id) {\n\t\t\tthrow new Error('not same school');\n\t\t}\n\t\tthis.user = user;\n\t\tthis.matchedBy = matchedBy;\n\t}\n\n\trevokeMatch() {\n\t\tthis.user = undefined;\n\t\tthis.matchedBy = undefined;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ImportUserRepo.html":{"url":"injectables/ImportUserRepo.html","title":"injectable - ImportUserRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ImportUserRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/importuser/importuser.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteImportUsersBySchool\n \n \n Async\n findById\n \n \n Async\n findImportUsers\n \n \n Private\n Async\n findImportUsersAndCount\n \n \n Async\n hasMatch\n \n \n create\n \n \n Async\n delete\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteImportUsersBySchool\n \n \n \n \n \n \n \n deleteImportUsersBySchool(school: SchoolEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.repo.ts:71\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n school\n \n SchoolEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:17\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findImportUsers\n \n \n \n \n \n \n \n findImportUsers(school: SchoolEntity, filters: IImportUserScope, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.repo.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n school\n \n SchoolEntity\n \n\n \n No\n \n\n \n \n\n \n \n filters\n \n IImportUserScope\n \n\n \n No\n \n\n \n {}\n \n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n \n \n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findImportUsersAndCount\n \n \n \n \n \n \n \n findImportUsersAndCount(query: FilterQuery, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.repo.ts:54\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n hasMatch\n \n \n \n \n \n \n \n hasMatch(user: User)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.repo.ts:29\n \n \n\n\n \n \n resolves with importusers matched with a local user account\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.repo.ts:13\n \n \n\n \n \n\n \n\n\n \n import { FilterQuery, QueryOrderMap } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\n\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { ImportUser, SchoolEntity, User } from '@shared/domain/entity';\nimport { IFindOptions } from '@shared/domain/interface';\nimport { Counted, EntityId, IImportUserScope } from '@shared/domain/types';\nimport { BaseRepo } from '@shared/repo/base.repo';\nimport { ImportUserScope } from './importuser.scope';\n\n@Injectable()\nexport class ImportUserRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn ImportUser;\n\t}\n\n\tasync findById(id: EntityId): Promise {\n\t\tif (!ObjectId.isValid(id)) throw new Error('invalid id');\n\t\tconst importUser = await this._em.findOneOrFail(ImportUser, { id });\n\t\tif (importUser.user != null) {\n\t\t\tawait this._em.populate(importUser.user, ['roles']);\n\t\t}\n\t\treturn importUser;\n\t}\n\n\t/**\n\t * resolves with importusers matched with a local user account\n\t */\n\tasync hasMatch(user: User): Promise {\n\t\tconst scope = new ImportUserScope();\n\t\tscope.byUserMatch(user);\n\t\tconst importUser = await this._em.findOne(ImportUser, scope.query);\n\t\treturn importUser;\n\t}\n\n\tasync findImportUsers(\n\t\tschool: SchoolEntity,\n\t\tfilters: IImportUserScope = {},\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst scope = new ImportUserScope();\n\t\tscope.bySchool(school);\n\t\tif (filters.firstName != null) scope.byFirstName(filters.firstName);\n\t\tif (filters.lastName != null) scope.byLastName(filters.lastName);\n\t\tif (filters.loginName != null) scope.byLoginName(filters.loginName);\n\t\tif (filters.role != null) scope.byRole(filters.role);\n\t\tif (filters.classes != null) scope.byClasses(filters.classes);\n\t\tif (filters.matches != null) scope.byMatches(filters.matches);\n\t\tif (filters.flagged === true) scope.isFlagged(true);\n\t\tconst countedImportUsers = await this.findImportUsersAndCount(scope.query, options);\n\t\treturn countedImportUsers;\n\t}\n\n\tprivate async findImportUsersAndCount(\n\t\tquery: FilterQuery,\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst { pagination, order } = options || {};\n\t\tconst queryOptions = {\n\t\t\toffset: pagination?.skip,\n\t\t\tlimit: pagination?.limit,\n\t\t\torderBy: order as QueryOrderMap,\n\t\t};\n\t\tconst [importUserEntities, count] = await this._em.findAndCount(ImportUser, query, queryOptions);\n\t\tconst userMatches = importUserEntities.map((importUser) => importUser.user).filter((user) => user != null);\n\t\t// load role names of referenced users\n\t\tawait this._em.populate(userMatches as User[], ['roles']);\n\t\treturn [importUserEntities, count];\n\t}\n\n\tasync deleteImportUsersBySchool(school: SchoolEntity): Promise {\n\t\tawait this._em.nativeDelete(ImportUser, { school });\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ImportUserResponse.html":{"url":"classes/ImportUserResponse.html","title":"class - ImportUserResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ImportUserResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/controller/dto/import-user.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n classNames\n \n \n \n \n firstName\n \n \n \n flagged\n \n \n \n \n importUserId\n \n \n \n \n lastName\n \n \n \n \n loginName\n \n \n \n Optional\n match\n \n \n \n roleNames\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ImportUserResponse)\n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/import-user.response.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ImportUserResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n classNames\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'names of classes the user attends from external system'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/import-user.response.ts:53\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({description: 'external systems user firstname'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/import-user.response.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n \n flagged\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'manual flag to apply it as filter'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/import-user.response.ts:61\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n importUserId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({pattern: '[a-f0-9]{24}', description: 'id reference to a import user'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/import-user.response.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({description: 'external systems user lastname'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/import-user.response.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n loginName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({description: 'login name from external system'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/import-user.response.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n match\n \n \n \n \n \n \n Type : UserMatchResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'assignemnt to a local user account', type: UserMatchResponse})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/import-user.response.ts:56\n \n \n\n\n \n \n \n \n \n \n \n \n \n roleNames\n \n \n \n \n \n \n Type : UserRole[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'list of user roles from external system: student, teacher, admin', enum: UserRole, isArray: true})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/import-user.response.ts:50\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { PaginationResponse } from '@shared/controller';\nimport { IsMongoId, IsString } from 'class-validator';\nimport { UserMatchResponse } from './user-match.response';\nimport { UserRole } from './user-role';\n\nexport class ImportUserResponse {\n\tconstructor(props: ImportUserResponse) {\n\t\tthis.importUserId = props.importUserId;\n\t\tthis.loginName = props.loginName;\n\t\tthis.firstName = props.firstName;\n\t\tthis.lastName = props.lastName;\n\t\tthis.roleNames = props.roleNames;\n\t\tthis.classNames = props.classNames;\n\t\tif (props.match != null) this.match = props.match;\n\t\tif (props.flagged === true) this.flagged = true;\n\t}\n\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'id reference to a import user',\n\t})\n\t// no school, system\n\timportUserId: string;\n\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'login name from external system',\n\t})\n\tloginName: string;\n\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'external systems user firstname',\n\t})\n\tfirstName: string;\n\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'external systems user lastname',\n\t})\n\tlastName: string;\n\n\t@ApiProperty({\n\t\tdescription: 'list of user roles from external system: student, teacher, admin',\n\t\tenum: UserRole,\n\t\tisArray: true,\n\t})\n\troleNames: UserRole[];\n\n\t@ApiProperty({ description: 'names of classes the user attends from external system' })\n\tclassNames: string[];\n\n\t@ApiPropertyOptional({ description: 'assignemnt to a local user account', type: UserMatchResponse })\n\tmatch?: UserMatchResponse;\n\n\t// explicit type is needed for OpenAPI generator\n\t// eslint-disable-next-line @typescript-eslint/no-inferrable-types\n\t@ApiProperty({ description: 'manual flag to apply it as filter' })\n\tflagged: boolean = false;\n}\n\nexport class ImportUserListResponse extends PaginationResponse {\n\tconstructor(data: ImportUserResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [ImportUserResponse] })\n\tdata: ImportUserResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ImportUserScope.html":{"url":"classes/ImportUserScope.html","title":"class - ImportUserScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ImportUserScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/importuser/importuser.scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n byClasses\n \n \n byFirstName\n \n \n byLastName\n \n \n byLoginName\n \n \n byMatches\n \n \n byRole\n \n \n bySchool\n \n \n byUserMatch\n \n \n isFlagged\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n byClasses\n \n \n \n \n \n \nbyClasses(classes: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.scope.ts:88\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n classes\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ImportUserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byFirstName\n \n \n \n \n \n \nbyFirstName(firstName: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.scope.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n firstName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ImportUserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byLastName\n \n \n \n \n \n \nbyLastName(lastName: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.scope.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n lastName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ImportUserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byLoginName\n \n \n \n \n \n \nbyLoginName(loginName: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.scope.ts:56\n \n \n\n\n \n \n filters the login name case insensitive for contains which is part of the dn\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loginName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ImportUserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byMatches\n \n \n \n \n \n \nbyMatches(matches: MatchCreatorScope[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.scope.ts:102\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n matches\n \n MatchCreatorScope[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : this\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byRole\n \n \n \n \n \n \nbyRole(roleName: RoleName)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.scope.ts:71\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roleName\n \n RoleName\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ImportUserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n bySchool\n \n \n \n \n \n \nbySchool(school: SchoolEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.scope.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n school\n \n SchoolEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ImportUserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byUserMatch\n \n \n \n \n \n \nbyUserMatch(user: User)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.scope.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ImportUserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isFlagged\n \n \n \n \n \n \nisFlagged(flagged)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.scope.ts:115\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n Default value\n \n \n \n \n flagged\n\n \n No\n \n\n \n true\n \n\n \n \n \n \n \n Returns : this\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { FilterQuery } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { StringValidator } from '@shared/common';\nimport { ImportUser, SchoolEntity, User } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { MatchCreatorScope } from '@shared/domain/types';\nimport { MongoPatterns } from '../mongo.patterns';\nimport { Scope } from '../scope';\n\nexport class ImportUserScope extends Scope {\n\tbySchool(school: SchoolEntity): ImportUserScope {\n\t\tconst schoolId = school._id;\n\t\tif (!ObjectId.isValid(schoolId)) throw new Error('invalid school id');\n\t\tthis.addQuery({ school });\n\t\treturn this;\n\t}\n\n\tbyUserMatch(user: User): ImportUserScope {\n\t\tconst userId = user._id;\n\t\tif (!ObjectId.isValid(userId)) throw new Error('invalid user match id');\n\t\tthis.addQuery({ user });\n\t\treturn this;\n\t}\n\n\tbyFirstName(firstName: string): ImportUserScope {\n\t\tconst escapedFirstName = firstName.replace(MongoPatterns.REGEX_MONGO_LANGUAGE_PATTERN_WHITELIST, '').trim();\n\t\t// TODO make db agnostic\n\t\tif (StringValidator.isNotEmptyString(escapedFirstName, true))\n\t\t\tthis.addQuery({\n\t\t\t\tfirstName: {\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t$regex: escapedFirstName,\n\t\t\t\t\t$options: 'i',\n\t\t\t\t},\n\t\t\t});\n\t\treturn this;\n\t}\n\n\tbyLastName(lastName: string): ImportUserScope {\n\t\t// TODO filter does not find café when searching with cafe\n\t\tconst escapedLastName = lastName.replace(MongoPatterns.REGEX_MONGO_LANGUAGE_PATTERN_WHITELIST, '').trim();\n\t\t// TODO make db agnostic\n\t\tif (StringValidator.isNotEmptyString(escapedLastName, true))\n\t\t\tthis.addQuery({\n\t\t\t\tlastName: {\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t$regex: escapedLastName,\n\t\t\t\t\t$options: 'i',\n\t\t\t\t},\n\t\t\t});\n\t\treturn this;\n\t}\n\n\t/** filters the login name case insensitive for contains which is part of the dn */\n\tbyLoginName(loginName: string): ImportUserScope {\n\t\t// TODO filter does not find café when searching with cafe\n\t\tconst escapedLoginName = loginName.replace(MongoPatterns.REGEX_MONGO_LANGUAGE_PATTERN_WHITELIST, '').trim();\n\t\t// TODO make db agnostic\n\t\tif (StringValidator.isNotEmptyString(escapedLoginName, true))\n\t\t\tthis.addQuery({\n\t\t\t\tldapDn: {\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t$regex: `^uid=[^,]*${escapedLoginName}[^,]*,`,\n\t\t\t\t\t$options: 'i',\n\t\t\t\t},\n\t\t\t});\n\t\treturn this;\n\t}\n\n\tbyRole(roleName: RoleName): ImportUserScope {\n\t\tswitch (roleName) {\n\t\t\tcase RoleName.ADMINISTRATOR:\n\t\t\t\tthis.addQuery({ roleNames: { $in: [RoleName.ADMINISTRATOR] } });\n\t\t\t\tbreak;\n\t\t\tcase RoleName.STUDENT:\n\t\t\t\tthis.addQuery({ roleNames: { $in: [RoleName.STUDENT] } });\n\t\t\t\tbreak;\n\t\t\tcase RoleName.TEACHER:\n\t\t\t\tthis.addQuery({ roleNames: { $in: [RoleName.TEACHER] } });\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error('unexpected role name');\n\t\t}\n\t\treturn this;\n\t}\n\n\tbyClasses(classes: string): ImportUserScope {\n\t\tconst escapedClasses = classes.replace(MongoPatterns.REGEX_MONGO_LANGUAGE_PATTERN_WHITELIST, '').trim();\n\t\t// TODO make db agnostic\n\t\tif (StringValidator.isNotEmptyString(escapedClasses, true))\n\t\t\tthis.addQuery({\n\t\t\t\tclassNames: {\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t$regex: escapedClasses,\n\t\t\t\t\t$options: 'i',\n\t\t\t\t},\n\t\t\t});\n\t\treturn this;\n\t}\n\n\tbyMatches(matches: MatchCreatorScope[]) {\n\t\tconst queries = matches\n\t\t\t.map((match) => {\n\t\t\t\tif (match === MatchCreatorScope.MANUAL) return { matchedBy: 'admin' };\n\t\t\t\tif (match === MatchCreatorScope.AUTO) return { matchedBy: 'auto' };\n\t\t\t\tif (match === MatchCreatorScope.NONE) return { matchedBy: null };\n\t\t\t\treturn null;\n\t\t\t})\n\t\t\t.filter((match) => match != null);\n\t\tif (queries.length > 0) this.addQuery({ $or: queries as FilterQuery[] });\n\t\treturn this;\n\t}\n\n\tisFlagged(flagged = true) {\n\t\tif (flagged === true) this.addQuery({ flagged: true });\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ImportUserUrlParams.html":{"url":"classes/ImportUserUrlParams.html","title":"class - ImportUserUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ImportUserUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/controller/dto/import-user.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n importUserId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n importUserId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of an importuser object, that matches an internal user with an external user.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/import-user.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class ImportUserUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of an importuser object, that matches an internal user with an external user.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\timportUserId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/InlineAttachment.html":{"url":"interfaces/InlineAttachment.html","title":"interface - InlineAttachment","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n InlineAttachment\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/mail/mail.interface.ts\n \n\n\n\n \n Extends\n \n \n MailAttachment\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contentDisposition\n \n \n \n \n contentId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contentDisposition\n \n \n \n \n \n \n \n \n contentDisposition: \n\n \n \n\n\n\n\n\n\n\n \n \n \n \n \n \n \n contentId\n \n \n \n \n \n \n \n \n contentId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n interface MailAttachment {\n\tbase64Content: string;\n\n\tmimeType: string;\n\n\tname: string;\n}\n\ninterface InlineAttachment extends MailAttachment {\n\tcontentDisposition: 'INLINE';\n\n\tcontentId: string;\n}\n\ninterface AppendedAttachment extends MailAttachment {\n\tcontentDisposition: 'ATTACHMENT';\n}\n\ninterface MailContent {\n\tsubject: string;\n\n\tattachments?: (InlineAttachment | AppendedAttachment)[];\n}\n\ninterface PlainTextMailContent extends MailContent {\n\thtmlContent?: string;\n\n\tplainTextContent: string;\n}\n\ninterface HtmlMailContent extends MailContent {\n\thtmlContent: string;\n\n\tplainTextContent?: string;\n}\n\nexport interface Mail {\n\tmail: PlainTextMailContent | HtmlMailContent;\n\n\trecipients: string[];\n\n\tfrom?: string;\n\n\tcc?: string[];\n\n\tbcc?: string[];\n\n\treplyTo?: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/InstalledLibrary.html":{"url":"entities/InstalledLibrary.html","title":"entity - InstalledLibrary","body":"\n \n\n\n\n\n\n\n\n Entities\n InstalledLibrary\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/entity/library.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n addTo\n \n \n \n Optional\n author\n \n \n \n Optional\n coreApi\n \n \n \n Optional\n description\n \n \n \n Optional\n dropLibraryCss\n \n \n \n Optional\n dynamicDependencies\n \n \n \n Optional\n editorDependencies\n \n \n \n Optional\n embedTypes\n \n \n \n files\n \n \n \n Optional\n fullscreen\n \n \n \n Optional\n h\n \n \n \n Optional\n license\n \n \n \n machineName\n \n \n \n majorVersion\n \n \n \n Optional\n metadataSettings\n \n \n \n minorVersion\n \n \n \n patchVersion\n \n \n \n Optional\n preloadedCss\n \n \n \n Optional\n preloadedDependencies\n \n \n \n Optional\n preloadedJs\n \n \n \n Optional\n requiredExtensions\n \n \n \n restricted\n \n \n \n runnable\n \n \n \n Optional\n state\n \n \n \n title\n \n \n \n Optional\n w\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n addTo\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:64\n \n \n\n \n \n Addons can be added to other content types by\n\n \n \n\n \n \n \n \n \n \n \n \n \n Optional\n author\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:114\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n coreApi\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:120\n \n \n\n \n \n The core API required to run the library.\n\n \n \n\n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:126\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n dropLibraryCss\n \n \n \n \n \n \n Type : literal type[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:129\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n dynamicDependencies\n \n \n \n \n \n \n Type : LibraryName[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:134\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n editorDependencies\n \n \n \n \n \n \n Type : LibraryName[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:137\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n embedTypes\n \n \n \n \n \n \n Type : (\"iframe\" | \"div\")[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:140\n \n \n\n\n \n \n \n \n \n \n \n \n \n files\n \n \n \n \n \n \n Type : FileMetadata[]\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:189\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n fullscreen\n \n \n \n \n \n \n Type : \"0\" | \"1\"\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:143\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n h\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:146\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n license\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:149\n \n \n\n\n \n \n \n \n \n \n \n \n \n machineName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n \n majorVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n metadataSettings\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:152\n \n \n\n\n \n \n \n \n \n \n \n \n \n minorVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n \n patchVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n preloadedCss\n \n \n \n \n \n \n Type : Path[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:158\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n preloadedDependencies\n \n \n \n \n \n \n Type : LibraryName[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:161\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n preloadedJs\n \n \n \n \n \n \n Type : Path[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:164\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n requiredExtensions\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:176\n \n \n\n\n \n \n \n \n \n \n \n \n \n restricted\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:111\n \n \n\n \n \n If set to true, the library can only be used be users who have this special\nprivilege.\n\n \n \n\n \n \n \n \n \n \n \n \n \n runnable\n \n \n \n \n \n \n Type : boolean | \"0\" | \"1\"\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:167\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n state\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:181\n \n \n\n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:170\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n w\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:173\n \n \n\n\n \n \n\n \n\n\n \n import { IInstalledLibrary, ILibraryName } from '@lumieducation/h5p-server';\nimport { IFileStats, ILibraryMetadata, IPath } from '@lumieducation/h5p-server/build/src/types';\nimport { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\n\nexport class Path implements IPath {\n\t@Property()\n\tpath: string;\n\n\tconstructor(path: string) {\n\t\tthis.path = path;\n\t}\n}\n\nexport class LibraryName implements ILibraryName {\n\t@Property()\n\tmachineName: string;\n\n\t@Property()\n\tmajorVersion: number;\n\n\t@Property()\n\tminorVersion: number;\n\n\tconstructor(machineName: string, majorVersion: number, minorVersion: number) {\n\t\tthis.machineName = machineName;\n\t\tthis.majorVersion = majorVersion;\n\t\tthis.minorVersion = minorVersion;\n\t}\n}\n\nexport class FileMetadata implements IFileStats {\n\tname: string;\n\n\tbirthtime: Date;\n\n\tsize: number;\n\n\tconstructor(name: string, birthtime: Date, size: number) {\n\t\tthis.name = name;\n\t\tthis.birthtime = birthtime;\n\t\tthis.size = size;\n\t}\n}\n\n@Entity({ tableName: 'h5p_library' })\nexport class InstalledLibrary extends BaseEntityWithTimestamps implements IInstalledLibrary {\n\t@Property()\n\tmachineName: string;\n\n\t@Property()\n\tmajorVersion: number;\n\n\t@Property()\n\tminorVersion: number;\n\n\t@Property()\n\tpatchVersion: number;\n\n\t/**\n\t * Addons can be added to other content types by\n\t */\n\t@Property({ nullable: true })\n\taddTo?: {\n\t\tcontent?: {\n\t\t\ttypes?: {\n\t\t\t\ttext?: {\n\t\t\t\t\t/**\n\t\t\t\t\t * If any string property in the parameters matches the regex,\n\t\t\t\t\t * the addon will be activated for the content.\n\t\t\t\t\t */\n\t\t\t\t\tregex?: string;\n\t\t\t\t};\n\t\t\t}[];\n\t\t};\n\t\t/**\n\t\t * Contains cases in which the library should be added to the editor.\n\t\t *\n\t\t * This is an extension to the H5P library metadata structure made by\n\t\t * h5p-nodejs-library. That way addons can specify to which editors\n\t\t * they should be added in general. The PHP implementation hard-codes\n\t\t * this list into the server, which we want to avoid here.\n\t\t */\n\t\teditor?: {\n\t\t\t/**\n\t\t\t * A list of machine names in which the addon should be added.\n\t\t\t */\n\t\t\tmachineNames: string[];\n\t\t};\n\t\t/**\n\t\t * Contains cases in which the library should be added to the player.\n\t\t *\n\t\t * This is an extension to the H5P library metadata structure made by\n\t\t * h5p-nodejs-library. That way addons can specify to which editors\n\t\t * they should be added in general. The PHP implementation hard-codes\n\t\t * this list into the server, which we want to avoid here.\n\t\t */\n\t\tplayer?: {\n\t\t\t/**\n\t\t\t * A list of machine names in which the addon should be added.\n\t\t\t */\n\t\t\tmachineNames: string[];\n\t\t};\n\t};\n\n\t/**\n\t * If set to true, the library can only be used be users who have this special\n\t * privilege.\n\t */\n\t@Property()\n\trestricted: boolean;\n\n\t@Property({ nullable: true })\n\tauthor?: string;\n\n\t/**\n\t * The core API required to run the library.\n\t */\n\t@Property({ nullable: true })\n\tcoreApi?: {\n\t\tmajorVersion: number;\n\t\tminorVersion: number;\n\t};\n\n\t@Property({ nullable: true })\n\tdescription?: string;\n\n\t@Property({ nullable: true })\n\tdropLibraryCss?: {\n\t\tmachineName: string;\n\t}[];\n\n\t@Property({ nullable: true })\n\tdynamicDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\teditorDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\tembedTypes?: ('iframe' | 'div')[];\n\n\t@Property({ nullable: true })\n\tfullscreen?: 0 | 1;\n\n\t@Property({ nullable: true })\n\th?: number;\n\n\t@Property({ nullable: true })\n\tlicense?: string;\n\n\t@Property({ nullable: true })\n\tmetadataSettings?: {\n\t\tdisable: 0 | 1;\n\t\tdisableExtraTitleField: 0 | 1;\n\t};\n\n\t@Property({ nullable: true })\n\tpreloadedCss?: Path[];\n\n\t@Property({ nullable: true })\n\tpreloadedDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\tpreloadedJs?: Path[];\n\n\t@Property()\n\trunnable: boolean | 0 | 1;\n\n\t@Property()\n\ttitle: string;\n\n\t@Property({ nullable: true })\n\tw?: number;\n\n\t@Property({ nullable: true })\n\trequiredExtensions?: {\n\t\tsharedState: number;\n\t};\n\n\t@Property({ nullable: true })\n\tstate?: {\n\t\tsnapshotSchema: boolean;\n\t\topSchema: boolean;\n\t\tsnapshotLogicChecks: boolean;\n\t\topLogicChecks: boolean;\n\t};\n\n\t@Property()\n\tfiles: FileMetadata[];\n\n\tpublic static simple_compare(a: number, b: number): number {\n\t\tif (a > b) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (a otherLibrary.machineName ? 1 : -1;\n\t}\n\n\tpublic compareVersions(otherLibrary: ILibraryName & { patchVersion?: number }): number {\n\t\tlet result = InstalledLibrary.simple_compare(this.majorVersion, otherLibrary.majorVersion);\n\t\tif (result !== 0) {\n\t\t\treturn result;\n\t\t}\n\t\tresult = InstalledLibrary.simple_compare(this.minorVersion, otherLibrary.minorVersion);\n\t\tif (result !== 0) {\n\t\t\treturn result;\n\t\t}\n\t\treturn InstalledLibrary.simple_compare(this.patchVersion, otherLibrary.patchVersion as number);\n\t}\n\n\tconstructor(libraryMetadata: ILibraryMetadata, restricted = false, files: FileMetadata[] = []) {\n\t\tsuper();\n\t\tthis.machineName = libraryMetadata.machineName;\n\t\tthis.majorVersion = libraryMetadata.majorVersion;\n\t\tthis.minorVersion = libraryMetadata.minorVersion;\n\t\tthis.patchVersion = libraryMetadata.patchVersion;\n\t\tthis.runnable = libraryMetadata.runnable;\n\t\tthis.title = libraryMetadata.title;\n\t\tthis.addTo = libraryMetadata.addTo;\n\t\tthis.author = libraryMetadata.author;\n\t\tthis.coreApi = libraryMetadata.coreApi;\n\t\tthis.description = libraryMetadata.description;\n\t\tthis.dropLibraryCss = libraryMetadata.dropLibraryCss;\n\t\tthis.dynamicDependencies = libraryMetadata.dynamicDependencies;\n\t\tthis.editorDependencies = libraryMetadata.editorDependencies;\n\t\tthis.embedTypes = libraryMetadata.embedTypes;\n\t\tthis.fullscreen = libraryMetadata.fullscreen;\n\t\tthis.h = libraryMetadata.h;\n\t\tthis.license = libraryMetadata.license;\n\t\tthis.metadataSettings = libraryMetadata.metadataSettings;\n\t\tthis.preloadedCss = libraryMetadata.preloadedCss;\n\t\tthis.preloadedDependencies = libraryMetadata.preloadedDependencies;\n\t\tthis.preloadedJs = libraryMetadata.preloadedJs;\n\t\tthis.w = libraryMetadata.w;\n\t\tthis.requiredExtensions = libraryMetadata.requiredExtensions;\n\t\tthis.state = libraryMetadata.state;\n\t\tthis.restricted = restricted;\n\t\tthis.files = files;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/InterceptorConfig.html":{"url":"interfaces/InterceptorConfig.html","title":"interface - InterceptorConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n InterceptorConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/interceptor/interfaces/interceptor-config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT\n \n \n \n \n INCOMING_REQUEST_TIMEOUT_COPY_API\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT\n \n \n \n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT_COPY_API\n \n \n \n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT_COPY_API: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface InterceptorConfig {\n\tINCOMING_REQUEST_TIMEOUT: number;\n\tINCOMING_REQUEST_TIMEOUT_COPY_API: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/InterceptorModule.html":{"url":"modules/InterceptorModule.html","title":"module - InterceptorModule","body":"\n \n\n\n\n\n Modules\n InterceptorModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/core/interceptor/interceptor.module.ts\n \n\n\n\n \n Description\n \n \n \nGlobal Interceptor setup\n\nHere, we globally apply\n\nvalidate input data using @ClassSerializerInterceptor\nset a timeout for requests using @TimeoutInterceptor\n\n\n \n\n\n \n \n \n \n\n\n \n\n\n \n import { ClassSerializerInterceptor, Module } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { APP_INTERCEPTOR } from '@nestjs/core';\nimport { InterceptorConfig, TimeoutInterceptor } from '@shared/common';\n\n/** *********************************************\n * Global Interceptor setup\n * **********************************************\n * Here, we globally apply\n * - validate input data using @ClassSerializerInterceptor\n * - set a timeout for requests using @TimeoutInterceptor\n */\n@Module({\n\tproviders: [\n\t\t{\n\t\t\tprovide: APP_INTERCEPTOR,\n\t\t\tuseClass: ClassSerializerInterceptor,\n\t\t},\n\t\t{\n\t\t\tprovide: APP_INTERCEPTOR, // TODO remove (for testing)\n\t\t\tuseFactory: (configService: ConfigService) => {\n\t\t\t\tconst timeout = configService.get('INCOMING_REQUEST_TIMEOUT');\n\t\t\t\treturn new TimeoutInterceptor(timeout);\n\t\t\t},\n\t\t\tinject: [ConfigService],\n\t\t},\n\t],\n})\nexport class InterceptorModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IntrospectResponse.html":{"url":"interfaces/IntrospectResponse.html","title":"interface - IntrospectResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IntrospectResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/oauth-provider/dto/response/introspect.response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n active\n \n \n \n Optional\n \n aud\n \n \n \n Optional\n \n client_id\n \n \n \n Optional\n \n exp\n \n \n \n Optional\n \n ext\n \n \n \n Optional\n \n iat\n \n \n \n Optional\n \n iss\n \n \n \n Optional\n \n nbf\n \n \n \n Optional\n \n obfuscated_subject\n \n \n \n Optional\n \n scope\n \n \n \n Optional\n \n sub\n \n \n \n Optional\n \n token_type\n \n \n \n Optional\n \n token_use\n \n \n \n Optional\n \n username\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n active\n \n \n \n \n \n \n \n \n active: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n aud\n \n \n \n \n \n \n \n \n aud: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n client_id\n \n \n \n \n \n \n \n \n client_id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n exp\n \n \n \n \n \n \n \n \n exp: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n ext\n \n \n \n \n \n \n \n \n ext: object\n\n \n \n\n\n \n \n Type : object\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n iat\n \n \n \n \n \n \n \n \n iat: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n iss\n \n \n \n \n \n \n \n \n iss: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n nbf\n \n \n \n \n \n \n \n \n nbf: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n obfuscated_subject\n \n \n \n \n \n \n \n \n obfuscated_subject: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n scope\n \n \n \n \n \n \n \n \n scope: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n sub\n \n \n \n \n \n \n \n \n sub: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n token_type\n \n \n \n \n \n \n \n \n token_type: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n token_use\n \n \n \n \n \n \n \n \n token_use: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n \n \n username: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface IntrospectResponse {\n\tactive: boolean;\n\n\taud?: string[];\n\n\tclient_id?: string;\n\n\texp?: number;\n\n\text?: object;\n\n\tiat?: number;\n\n\tiss?: string;\n\n\tnbf?: number;\n\n\tobfuscated_subject?: string;\n\n\tscope?: string;\n\n\tsub?: string;\n\n\ttoken_type?: string;\n\n\ttoken_use?: string;\n\n\tusername?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/InvalidOriginForLogoutUrlLoggableException.html":{"url":"classes/InvalidOriginForLogoutUrlLoggableException.html","title":"class - InvalidOriginForLogoutUrlLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n InvalidOriginForLogoutUrlLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/error/invalid-origin-for-logout-url.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n BadRequestException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logoutUrl: string, origin: string | undefined)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/error/invalid-origin-for-logout-url.loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logoutUrl\n \n \n string\n \n \n \n No\n \n \n \n \n origin\n \n \n string | undefined\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/error/invalid-origin-for-logout-url.loggable-exception.ts:9\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BadRequestException } from '@nestjs/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class InvalidOriginForLogoutUrlLoggableException extends BadRequestException implements Loggable {\n\tconstructor(private readonly logoutUrl: string, private readonly origin: string | undefined) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'INVALID_ORIGIN_FOR_LOGOUT_URL',\n\t\t\tmessage: 'The provided logoutUrl is from the wrong domain. Only URLs from the origin of the request can be used.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\treceived: new URL(this.logoutUrl).origin,\n\t\t\t\texpected: this.origin,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/InvalidUserLoginMigrationLoggableException.html":{"url":"classes/InvalidUserLoginMigrationLoggableException.html","title":"class - InvalidUserLoginMigrationLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n InvalidUserLoginMigrationLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/invalid-user-login-migration.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n UnprocessableEntityException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userId: EntityId, targetSystemId: EntityId)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/invalid-user-login-migration.loggable-exception.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n targetSystemId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/invalid-user-login-migration.loggable-exception.ts:10\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UnprocessableEntityException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class InvalidUserLoginMigrationLoggableException extends UnprocessableEntityException implements Loggable {\n\tconstructor(private readonly userId: EntityId, private readonly targetSystemId: EntityId) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'INVALID_USER_LOGIN_MIGRATION',\n\t\t\tmessage: 'The migration cannot be started, because there is no migration to the selected target system.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tuserId: this.userId,\n\t\t\t\ttargetSystemId: this.targetSystemId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/IservMapper.html":{"url":"classes/IservMapper.html","title":"class - IservMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n IservMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/iserv/iserv-do.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToExternalSchoolDto\n \n \n Static\n mapToExternalUserDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToExternalSchoolDto\n \n \n \n \n \n \n \n mapToExternalSchoolDto(schoolDO: LegacySchoolDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/iserv/iserv-do.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolDO\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalSchoolDto\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToExternalUserDto\n \n \n \n \n \n \n \n mapToExternalUserDto(userDO: UserDO, roleNames: RoleName[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/iserv/iserv-do.mapper.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userDO\n \n UserDO\n \n\n \n No\n \n\n\n \n \n roleNames\n \n RoleName[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalUserDto\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { LegacySchoolDo, UserDO } from '@shared/domain/domainobject';\nimport { RoleName } from '@shared/domain/interface';\nimport { ExternalSchoolDto, ExternalUserDto } from '../../dto';\n\nexport class IservMapper {\n\tstatic mapToExternalSchoolDto(schoolDO: LegacySchoolDo): ExternalSchoolDto {\n\t\treturn new ExternalSchoolDto({\n\t\t\tname: schoolDO.name,\n\t\t\texternalId: schoolDO.externalId || '',\n\t\t\tofficialSchoolNumber: schoolDO.officialSchoolNumber,\n\t\t});\n\t}\n\n\tstatic mapToExternalUserDto(userDO: UserDO, roleNames: RoleName[]): ExternalUserDto {\n\t\treturn new ExternalUserDto({\n\t\t\tfirstName: userDO.firstName,\n\t\t\tlastName: userDO.lastName,\n\t\t\temail: userDO.email,\n\t\t\troles: roleNames,\n\t\t\texternalId: userDO.externalId || '',\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/IservProvisioningStrategy.html":{"url":"injectables/IservProvisioningStrategy.html","title":"injectable - IservProvisioningStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n IservProvisioningStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/iserv/iserv.strategy.ts\n \n\n\n\n \n Extends\n \n \n ProvisioningStrategy\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n apply\n \n \n Async\n getAdditionalErrorInfo\n \n \n \n Async\n getData\n \n \n getType\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolService: LegacySchoolService, userService: UserService)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/iserv/iserv.strategy.ts:24\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n apply\n \n \n \n \n \n \n \n apply(data: OauthDataDto)\n \n \n\n\n \n \n Inherited from ProvisioningStrategy\n\n \n \n \n \n Defined in ProvisioningStrategy:63\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n OauthDataDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getAdditionalErrorInfo\n \n \n \n \n \n \n \n getAdditionalErrorInfo(email: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/iserv/iserv.strategy.ts:67\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n email\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getData\n \n \n \n \n \n \n \n getData(input: OauthDataStrategyInputDto)\n \n \n\n\n \n \n Inherited from ProvisioningStrategy\n\n \n \n \n \n Defined in ProvisioningStrategy:33\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n input\n \n OauthDataStrategyInputDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getType\n \n \n \n \n \n \ngetType()\n \n \n\n\n \n \n Inherited from ProvisioningStrategy\n\n \n \n \n \n Defined in ProvisioningStrategy:29\n\n \n \n\n\n \n \n\n \n Returns : SystemProvisioningStrategy\n\n \n \n \n \n \n\n\n \n\n\n \n import { LegacySchoolService } from '@modules/legacy-school';\nimport { UserService } from '@modules/user';\nimport { Injectable } from '@nestjs/common';\nimport { LegacySchoolDo, RoleReference, UserDO } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport jwt, { JwtPayload } from 'jsonwebtoken';\nimport {\n\tIdTokenExtractionFailureLoggableException,\n\tIdTokenUserNotFoundLoggableException,\n} from '@modules/oauth/loggable';\nimport {\n\tExternalSchoolDto,\n\tExternalUserDto,\n\tOauthDataDto,\n\tOauthDataStrategyInputDto,\n\tProvisioningDto,\n} from '../../dto';\nimport { ProvisioningStrategy } from '../base.strategy';\nimport { IservMapper } from './iserv-do.mapper';\n\n@Injectable()\nexport class IservProvisioningStrategy extends ProvisioningStrategy {\n\tconstructor(private readonly schoolService: LegacySchoolService, private readonly userService: UserService) {\n\t\tsuper();\n\t}\n\n\tgetType(): SystemProvisioningStrategy {\n\t\treturn SystemProvisioningStrategy.ISERV;\n\t}\n\n\toverride async getData(input: OauthDataStrategyInputDto): Promise {\n\t\tconst idToken: JwtPayload | null = jwt.decode(input.idToken, { json: true });\n\n\t\tif (!idToken || !idToken.uuid) {\n\t\t\tthrow new IdTokenExtractionFailureLoggableException('uuid');\n\t\t}\n\n\t\tconst ldapUser: UserDO | null = await this.userService.findByExternalId(\n\t\t\tidToken.uuid as string,\n\t\t\tinput.system.systemId\n\t\t);\n\t\tif (!ldapUser) {\n\t\t\tconst additionalInfo: string = await this.getAdditionalErrorInfo(idToken.email as string | undefined);\n\t\t\tthrow new IdTokenUserNotFoundLoggableException(idToken?.uuid as string, additionalInfo);\n\t\t}\n\n\t\tconst ldapSchool: LegacySchoolDo = await this.schoolService.getSchoolById(ldapUser.schoolId);\n\t\tconst roleNames: RoleName[] = ldapUser.roles.map((roleRef: RoleReference): RoleName => roleRef.name);\n\n\t\tconst externalUser: ExternalUserDto = IservMapper.mapToExternalUserDto(ldapUser, roleNames);\n\t\tconst externalSchool: ExternalSchoolDto = IservMapper.mapToExternalSchoolDto(ldapSchool);\n\n\t\tconst oauthData: OauthDataDto = new OauthDataDto({\n\t\t\tsystem: input.system,\n\t\t\texternalUser,\n\t\t\texternalSchool,\n\t\t});\n\t\treturn oauthData;\n\t}\n\n\toverride apply(data: OauthDataDto): Promise {\n\t\treturn Promise.resolve(new ProvisioningDto({ externalUserId: data.externalUser?.externalId }));\n\t}\n\n\tasync getAdditionalErrorInfo(email: string | undefined): Promise {\n\t\tif (email) {\n\t\t\tconst usersWithEmail: User[] = await this.userService.findByEmail(email);\n\t\t\tif (usersWithEmail.length > 0) {\n\t\t\t\tconst user: User = usersWithEmail[0];\n\t\t\t\treturn ` [schoolId: ${user.school.id}, currentLdapId: ${user.externalId ?? ''}]`;\n\t\t\t}\n\t\t}\n\t\treturn '';\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/JsonAccount.html":{"url":"interfaces/JsonAccount.html","title":"interface - JsonAccount","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n JsonAccount\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/interface/json-account.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n _id\n \n \n \n \n password\n \n \n \n Optional\n \n systemId\n \n \n \n \n userId\n \n \n \n \n username\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n _id\n \n \n \n \n \n \n \n \n _id: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n password\n \n \n \n \n \n \n \n \n password: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n systemId\n \n \n \n \n \n \n \n \n systemId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n \n \n username: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface JsonAccount {\n\t_id: {\n\t\t$oid: string;\n\t};\n\tusername: string;\n\tpassword: string;\n\tsystemId?: string;\n\tuserId: {\n\t\t$oid: string;\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/JsonUser.html":{"url":"interfaces/JsonUser.html","title":"interface - JsonUser","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n JsonUser\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/interface/json-user.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n _id\n \n \n \n \n email\n \n \n \n \n firstName\n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n _id\n \n \n \n \n \n \n \n \n _id: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n email\n \n \n \n \n \n \n \n \n email: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n \n \n firstName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n lastName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface JsonUser {\n\t_id: {\n\t\t$oid: string;\n\t};\n\tfirstName: string;\n\tlastName: string;\n\temail: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/JwtAuthGuard.html":{"url":"injectables/JwtAuthGuard.html","title":"injectable - JwtAuthGuard","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n JwtAuthGuard\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/guard/jwt-auth.guard.ts\n \n\n\n\n \n Extends\n \n \n AuthGuard('jwt')\n \n\n\n\n\n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { AuthGuard } from '@nestjs/passport';\n\n@Injectable()\nexport class JwtAuthGuard extends AuthGuard('jwt') {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/JwtConstants.html":{"url":"interfaces/JwtConstants.html","title":"interface - JwtConstants","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n JwtConstants\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/constants.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n jwtOptions\n \n \n \n \n secret\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n jwtOptions\n \n \n \n \n \n \n \n \n jwtOptions: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n secret\n \n \n \n \n \n \n \n \n secret: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import externalAuthConfig = require('../../../../../src/services/authentication/configuration');\n\nconst { authConfig } = externalAuthConfig;\n\n/*\n\tTODO: look at existing keys, vs implemented keys\n\tsupport: true,\n\tsupportUserId,\n\taccountId,\n\tuserId,\n\tiat,\n\texp,\n\taud: this.aud,\n\tiss: 'feathers',\n\tsub: accountId,\n\tjti: `support_${ObjectId()}`,\n*/\nexport interface JwtConstants {\n\tsecret: string;\n\tjwtOptions: {\n\t\theader: { typ: string };\n\t\taudience: string;\n\t\tissuer: string;\n\t\talgorithm: string;\n\t\texpiresIn: string;\n\t};\n}\n\nexport const jwtConstants: JwtConstants = {\n\tsecret: authConfig.secret as string,\n\tjwtOptions: authConfig.jwtOptions,\n};\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/JwtExtractor.html":{"url":"classes/JwtExtractor.html","title":"class - JwtExtractor","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n JwtExtractor\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/strategy/jwt-extractor.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n fromCookie\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n fromCookie\n \n \n \n \n \n \n \n fromCookie(name: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/jwt-extractor.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : JwtFromRequestFunction\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Request } from 'express';\nimport { JwtFromRequestFunction } from 'passport-jwt';\nimport cookie from 'cookie';\n\nexport class JwtExtractor {\n\tstatic fromCookie(name: string): JwtFromRequestFunction {\n\t\treturn (request: Request) => {\n\t\t\tlet token: string | null = null;\n\t\t\tconst cookies = cookie.parse(request.headers.cookie || '');\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\tif (cookies && cookies[name]) {\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\n\t\t\t\ttoken = cookies[name];\n\t\t\t}\n\t\t\treturn token;\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/JwtPayload.html":{"url":"interfaces/JwtPayload.html","title":"interface - JwtPayload","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n JwtPayload\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/interface/jwt-payload.ts\n \n\n\n\n \n Extends\n \n \n CreateJwtPayload\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n aud\n \n \n \n \n exp\n \n \n \n \n iat\n \n \n \n \n iss\n \n \n \n \n jti\n \n \n \n \n sub\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n aud\n \n \n \n \n \n \n \n \n aud: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n audience\n\n \n \n \n \n \n \n \n \n \n exp\n \n \n \n \n \n \n \n \n exp: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n expiration in // TODO\n\n \n \n \n \n \n \n \n \n \n iat\n \n \n \n \n \n \n \n \n iat: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n iss\n \n \n \n \n \n \n \n \n iss: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n issuer\n\n \n \n \n \n \n \n \n \n \n jti\n \n \n \n \n \n \n \n \n jti: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n sub\n \n \n \n \n \n \n \n \n sub: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n // TODO\n\n \n \n \n \n \n \n\n\n \n export interface CreateJwtPayload {\n\taccountId: string;\n\tuserId: string;\n\tschoolId: string;\n\troles: string[];\n\tsystemId?: string; // without this the user needs to change his PW during first login\n\tsupport?: boolean;\n\t// support UserId is missed see featherJS\n\tisExternalUser: boolean;\n}\n\nexport interface JwtPayload extends CreateJwtPayload {\n\t/** audience */\n\taud: string;\n\t/** expiration in // TODO\n\t *\n\t */\n\texp: number;\n\tiat: number;\n\t/** issuer */\n\tiss: string;\n\tjti: string;\n\n\t/** // TODO\n\t *\n\t */\n\tsub: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/JwtStrategy.html":{"url":"injectables/JwtStrategy.html","title":"injectable - JwtStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n JwtStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/strategy/jwt.strategy.ts\n \n\n\n\n \n Extends\n \n \n PassportStrategy(Strategy)\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n validate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(jwtValidationAdapter: JwtValidationAdapter)\n \n \n \n \n Defined in apps/server/src/modules/authentication/strategy/jwt.strategy.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n jwtValidationAdapter\n \n \n JwtValidationAdapter\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n validate\n \n \n \n \n \n \n \n validate(payload: JwtPayload)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/jwt.strategy.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n payload\n \n JwtPayload\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, UnauthorizedException } from '@nestjs/common';\nimport { PassportStrategy } from '@nestjs/passport';\nimport { ExtractJwt, Strategy } from 'passport-jwt';\nimport { jwtConstants } from '../constants';\nimport { ICurrentUser } from '../interface';\nimport { JwtPayload } from '../interface/jwt-payload';\nimport { CurrentUserMapper } from '../mapper';\nimport { JwtExtractor } from './jwt-extractor';\nimport { JwtValidationAdapter } from './jwt-validation.adapter';\n\n@Injectable()\nexport class JwtStrategy extends PassportStrategy(Strategy) {\n\tconstructor(private readonly jwtValidationAdapter: JwtValidationAdapter) {\n\t\tsuper({\n\t\t\tjwtFromRequest: ExtractJwt.fromExtractors([\n\t\t\t\tExtractJwt.fromAuthHeaderAsBearerToken(),\n\t\t\t\tJwtExtractor.fromCookie('jwt'),\n\t\t\t]),\n\t\t\tignoreExpiration: false,\n\t\t\tsecretOrKey: jwtConstants.secret,\n\t\t\t...jwtConstants.jwtOptions,\n\t\t});\n\t}\n\n\tasync validate(payload: JwtPayload): Promise {\n\t\tconst { accountId, jti } = payload;\n\t\t// check user exists\n\t\ttry {\n\t\t\t// TODO: check user/account is active and has one role\n\t\t\t// check jwt is whitelisted and extend whitelist entry\n\t\t\tawait this.jwtValidationAdapter.isWhitelisted(accountId, jti);\n\t\t\tconst currentUser = CurrentUserMapper.jwtToICurrentUser(payload);\n\t\t\treturn currentUser;\n\t\t} catch (err) {\n\t\t\tthrow new UnauthorizedException('Unauthorized.', { cause: err as Error });\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/JwtTestFactory.html":{"url":"classes/JwtTestFactory.html","title":"class - JwtTestFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n JwtTestFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/jwt.test.factory.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n createJwt\n \n \n Static\n getPublicKey\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n createJwt\n \n \n \n \n \n \n \n createJwt(params?: CreateJwtParams)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/jwt.test.factory.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n CreateJwtParams\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n getPublicKey\n \n \n \n \n \n \n \n getPublicKey()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/jwt.test.factory.ts:18\n \n \n\n\n \n \n\n \n Returns : string | Buffer\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import jwt from 'jsonwebtoken';\nimport crypto, { KeyPairKeyObjectResult } from 'crypto';\n\nconst keyPair: KeyPairKeyObjectResult = crypto.generateKeyPairSync('rsa', { modulusLength: 4096 });\nconst publicKey: string | Buffer = keyPair.publicKey.export({ type: 'pkcs1', format: 'pem' });\nconst privateKey: string | Buffer = keyPair.privateKey.export({ type: 'pkcs1', format: 'pem' });\n\ninterface CreateJwtParams {\n\tprivateKey?: string | Buffer;\n\tsub?: string;\n\tiss?: string;\n\taud?: string;\n\taccountId?: string;\n\texternal_sub?: string;\n}\n\nexport class JwtTestFactory {\n\tpublic static getPublicKey(): string | Buffer {\n\t\treturn publicKey;\n\t}\n\n\tpublic static createJwt(params?: CreateJwtParams): string {\n\t\tconst validJwt = jwt.sign(\n\t\t\t{\n\t\t\t\tsub: params?.sub ?? 'testUser',\n\t\t\t\tiss: params?.iss ?? 'issuer',\n\t\t\t\taud: params?.aud ?? 'audience',\n\t\t\t\tjti: 'jti',\n\t\t\t\tiat: Date.now(),\n\t\t\t\texp: Date.now() + 100000,\n\t\t\t\taccountId: params?.accountId ?? 'accountId',\n\t\t\t\texternal_sub: params?.external_sub ?? 'externalSub',\n\t\t\t},\n\t\t\tparams?.privateKey ?? privateKey,\n\t\t\t{\n\t\t\t\talgorithm: 'RS256',\n\t\t\t}\n\t\t);\n\t\treturn validJwt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/JwtValidationAdapter.html":{"url":"injectables/JwtValidationAdapter.html","title":"injectable - JwtValidationAdapter","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n JwtValidationAdapter\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/strategy/jwt-validation.adapter.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n addToWhitelist\n \n \n Async\n isWhitelisted\n \n \n Async\n removeFromWhitelist\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(cacheManager: Cache, cacheService: CacheService)\n \n \n \n \n Defined in apps/server/src/modules/authentication/strategy/jwt-validation.adapter.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n cacheManager\n \n \n Cache\n \n \n \n No\n \n \n \n \n cacheService\n \n \n CacheService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n addToWhitelist\n \n \n \n \n \n \n \n addToWhitelist(accountId: string, jti: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/jwt-validation.adapter.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountId\n \n string\n \n\n \n No\n \n\n\n \n \n jti\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n isWhitelisted\n \n \n \n \n \n \n \n isWhitelisted(accountId: string, jti: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/jwt-validation.adapter.ts:25\n \n \n\n\n \n \n When validating a jwt it must be added to a whitelist, here we check this.\nWhen the jwt is validated, the expiration time will be extended with this call.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n accountId\n \n string\n \n\n \n No\n \n\n\n \n users account id\n\n \n \n \n jti\n \n string\n \n\n \n No\n \n\n\n \n jwt id (here required to make jwt identifiers identical in redis)\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n removeFromWhitelist\n \n \n \n \n \n \n \n removeFromWhitelist(accountId: string, jti: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/jwt-validation.adapter.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountId\n \n string\n \n\n \n No\n \n\n\n \n \n jti\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CACHE_MANAGER } from '@nestjs/cache-manager';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { CacheService } from '@infra/cache';\nimport { CacheStoreType } from '@infra/cache/interface/cache-store-type.enum';\nimport {\n\taddTokenToWhitelist,\n\tcreateRedisIdentifierFromJwtData,\n\tensureTokenIsWhitelisted,\n} from '@src/imports-from-feathers';\nimport { Cache } from 'cache-manager';\n\n@Injectable()\nexport class JwtValidationAdapter {\n\tconstructor(\n\t\t@Inject(CACHE_MANAGER) private readonly cacheManager: Cache,\n\t\tprivate readonly cacheService: CacheService\n\t) {}\n\n\t/**\n\t * When validating a jwt it must be added to a whitelist, here we check this.\n\t * When the jwt is validated, the expiration time will be extended with this call.\n\t * @param accountId users account id\n\t * @param jti jwt id (here required to make jwt identifiers identical in redis)\n\t */\n\tasync isWhitelisted(accountId: string, jti: string): Promise {\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-call\n\t\tawait ensureTokenIsWhitelisted({ accountId, jti, privateDevice: false });\n\t}\n\n\tasync addToWhitelist(accountId: string, jti: string): Promise {\n\t\tconst redisIdentifier = createRedisIdentifierFromJwtData(accountId, jti);\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-call\n\t\tawait addTokenToWhitelist(redisIdentifier);\n\t}\n\n\tasync removeFromWhitelist(accountId: string, jti: string): Promise {\n\t\tif (this.cacheService.getStoreType() === CacheStoreType.REDIS) {\n\t\t\tconst redisIdentifier: string = createRedisIdentifierFromJwtData(accountId, jti);\n\t\t\tawait this.cacheManager.del(redisIdentifier);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/KeycloakAdministration.html":{"url":"classes/KeycloakAdministration.html","title":"class - KeycloakAdministration","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n KeycloakAdministration\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-administration/keycloak-config.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n keycloakSettings\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n keycloakSettings\n \n \n \n \n \n \n Default value : (Configuration.get('FEATURE_IDENTITY_MANAGEMENT_ENABLED') as boolean)\n\t\t? ({\n\t\t\t\tbaseUrl: Configuration.get('IDENTITY_MANAGEMENT__URI') as string,\n\t\t\t\trealmName: Configuration.get('IDENTITY_MANAGEMENT__TENANT') as string,\n\t\t\t\tclientId: Configuration.get('IDENTITY_MANAGEMENT__CLIENTID') as string,\n\t\t\t\tcredentials: {\n\t\t\t\t\tgrantType: 'password',\n\t\t\t\t\tusername: Configuration.get('IDENTITY_MANAGEMENT__ADMIN_USER') as string,\n\t\t\t\t\tpassword: Configuration.get('IDENTITY_MANAGEMENT__ADMIN_PASSWORD') as string,\n\t\t\t\t\tclientId: Configuration.get('IDENTITY_MANAGEMENT__ADMIN_CLIENTID') as string,\n\t\t\t\t},\n\t\t } as IKeycloakSettings)\n\t\t: ({} as IKeycloakSettings)\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/keycloak-config.ts:5\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { IKeycloakSettings } from './interface/keycloak-settings.interface';\n\nexport default class KeycloakAdministration {\n\tstatic keycloakSettings = (Configuration.get('FEATURE_IDENTITY_MANAGEMENT_ENABLED') as boolean)\n\t\t? ({\n\t\t\t\tbaseUrl: Configuration.get('IDENTITY_MANAGEMENT__URI') as string,\n\t\t\t\trealmName: Configuration.get('IDENTITY_MANAGEMENT__TENANT') as string,\n\t\t\t\tclientId: Configuration.get('IDENTITY_MANAGEMENT__CLIENTID') as string,\n\t\t\t\tcredentials: {\n\t\t\t\t\tgrantType: 'password',\n\t\t\t\t\tusername: Configuration.get('IDENTITY_MANAGEMENT__ADMIN_USER') as string,\n\t\t\t\t\tpassword: Configuration.get('IDENTITY_MANAGEMENT__ADMIN_PASSWORD') as string,\n\t\t\t\t\tclientId: Configuration.get('IDENTITY_MANAGEMENT__ADMIN_CLIENTID') as string,\n\t\t\t\t},\n\t\t } as IKeycloakSettings)\n\t\t: ({} as IKeycloakSettings);\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/KeycloakAdministrationModule.html":{"url":"modules/KeycloakAdministrationModule.html","title":"module - KeycloakAdministrationModule","body":"\n \n\n\n\n\n Modules\n KeycloakAdministrationModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_KeycloakAdministrationModule\n\n\n\ncluster_KeycloakAdministrationModule_providers\n\n\n\ncluster_KeycloakAdministrationModule_exports\n\n\n\n\nKeycloakAdministrationService \n\nKeycloakAdministrationService \n\n\n\nKeycloakAdministrationModule\n\nKeycloakAdministrationModule\n\nKeycloakAdministrationService -->\n\nKeycloakAdministrationModule->KeycloakAdministrationService \n\n\n\n\n\nKeycloakAdministrationService\n\nKeycloakAdministrationService\n\nKeycloakAdministrationModule -->\n\nKeycloakAdministrationService->KeycloakAdministrationModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-administration/keycloak-administration.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n KeycloakAdministrationService\n \n \n \n \n Exports\n \n \n KeycloakAdministrationService\n \n \n \n \n \n\n\n \n\n\n \n import KeycloakAdminClient from '@keycloak/keycloak-admin-client-cjs/keycloak-admin-client-cjs-index';\nimport { Module } from '@nestjs/common';\nimport { KeycloakSettings } from './interface/keycloak-settings.interface';\nimport KeycloakConfiguration from './keycloak-config';\nimport { KeycloakAdministrationService } from './service/keycloak-administration.service';\n\n@Module({\n\tcontrollers: [],\n\tproviders: [\n\t\tKeycloakAdminClient,\n\t\t{\n\t\t\tprovide: KeycloakSettings,\n\t\t\tuseValue: KeycloakConfiguration.keycloakSettings,\n\t\t},\n\t\tKeycloakAdministrationService,\n\t],\n\texports: [KeycloakAdministrationService],\n})\nexport class KeycloakAdministrationModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/KeycloakAdministrationService.html":{"url":"injectables/KeycloakAdministrationService.html","title":"injectable - KeycloakAdministrationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n KeycloakAdministrationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n AUTHORIZATION_TIMEBOX_MS\n \n \n Private\n lastAuthorizationTime\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n authorizeAccess\n \n \n Public\n Async\n callKcAdminClient\n \n \n Public\n getAdminUser\n \n \n Public\n getClientId\n \n \n Public\n Async\n getClientSecret\n \n \n Public\n getWellKnownUrl\n \n \n Public\n resetLastAuthorizationTime\n \n \n Public\n Async\n setPasswordPolicy\n \n \n Public\n Async\n testKcConnection\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \n Public\n constructor(kcAdminClient: KeycloakAdminClient, kcSettings: IKeycloakSettings)\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n kcAdminClient\n \n \n KeycloakAdminClient\n \n \n \n No\n \n \n \n \n kcSettings\n \n \n IKeycloakSettings\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n authorizeAccess\n \n \n \n \n \n \n \n authorizeAccess()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:66\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n callKcAdminClient\n \n \n \n \n \n \n \n callKcAdminClient()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:21\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n getAdminUser\n \n \n \n \n \n \n \n getAdminUser()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:39\n \n \n\n\n \n \n\n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n getClientId\n \n \n \n \n \n \n \n getClientId()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:43\n \n \n\n\n \n \n\n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getClientSecret\n \n \n \n \n \n \n \n getClientSecret()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:47\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n getWellKnownUrl\n \n \n \n \n \n \n \n getWellKnownUrl()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:35\n \n \n\n\n \n \n\n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n resetLastAuthorizationTime\n \n \n \n \n \n \n \n resetLastAuthorizationTime()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:62\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n setPasswordPolicy\n \n \n \n \n \n \n \n setPasswordPolicy()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:57\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n testKcConnection\n \n \n \n \n \n \n \n testKcConnection()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:26\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n AUTHORIZATION_TIMEBOX_MS\n \n \n \n \n \n \n Default value : 59 * 1000\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n lastAuthorizationTime\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:7\n \n \n\n\n \n \n\n\n \n\n\n \n import KeycloakAdminClient from '@keycloak/keycloak-admin-client-cjs/keycloak-admin-client-cjs-index';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { IKeycloakSettings, KeycloakSettings } from '../interface/keycloak-settings.interface';\n\n@Injectable()\nexport class KeycloakAdministrationService {\n\tprivate lastAuthorizationTime = 0;\n\n\tprivate static AUTHORIZATION_TIMEBOX_MS = 59 * 1000;\n\n\tpublic constructor(\n\t\tprivate readonly kcAdminClient: KeycloakAdminClient,\n\t\t@Inject(KeycloakSettings) private readonly kcSettings: IKeycloakSettings\n\t) {\n\t\tthis.kcAdminClient.setConfig({\n\t\t\tbaseUrl: kcSettings.baseUrl,\n\t\t\trealmName: kcSettings.realmName,\n\t\t});\n\t}\n\n\tpublic async callKcAdminClient(): Promise {\n\t\tawait this.authorizeAccess();\n\t\treturn this.kcAdminClient;\n\t}\n\n\tpublic async testKcConnection(): Promise {\n\t\ttry {\n\t\t\tawait this.kcAdminClient.auth(this.kcSettings.credentials);\n\t\t} catch (err) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic getWellKnownUrl(): string {\n\t\treturn `${this.kcSettings.baseUrl}/realms/${this.kcSettings.realmName}/.well-known/openid-configuration`;\n\t}\n\n\tpublic getAdminUser(): string {\n\t\treturn this.kcSettings.credentials.username;\n\t}\n\n\tpublic getClientId(): string {\n\t\treturn this.kcSettings.clientId;\n\t}\n\n\tpublic async getClientSecret(): Promise {\n\t\tconst kc = await this.callKcAdminClient();\n\t\tconst clientInternalId = (await kc.clients.find({ clientId: this.kcSettings.clientId }))[0]?.id;\n\t\tif (clientInternalId) {\n\t\t\tconst clientSecret = await kc.clients.getClientSecret({ id: clientInternalId });\n\t\t\treturn clientSecret.value ?? '';\n\t\t}\n\t\treturn '';\n\t}\n\n\tpublic async setPasswordPolicy() {\n\t\tconst kc = await this.callKcAdminClient();\n\t\tawait kc.realms.update({ realm: this.kcSettings.realmName }, { passwordPolicy: 'hashIterations(310000)' });\n\t}\n\n\tpublic resetLastAuthorizationTime(): void {\n\t\tthis.lastAuthorizationTime = 0;\n\t}\n\n\tprivate async authorizeAccess() {\n\t\tconst elapsedTimeMilliseconds = new Date().getTime() - this.lastAuthorizationTime;\n\t\tif (elapsedTimeMilliseconds > KeycloakAdministrationService.AUTHORIZATION_TIMEBOX_MS) {\n\t\t\tawait this.kcAdminClient.auth(this.kcSettings.credentials);\n\t\t\tthis.lastAuthorizationTime = new Date().getTime();\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/KeycloakConfiguration.html":{"url":"classes/KeycloakConfiguration.html","title":"class - KeycloakConfiguration","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n KeycloakConfiguration\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/keycloak-config.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n keycloakInputFiles\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n keycloakInputFiles\n \n \n \n \n \n \n Type : IKeycloakConfigurationInputFiles\n\n \n \n \n \n Default value : {\n\t\taccountsFile: './backup/setup/accounts.json',\n\t\tusersFile: './backup/setup/users.json',\n\t}\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/keycloak-config.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IKeycloakConfigurationInputFiles } from './interface/keycloak-configuration-input-files.interface';\n\nexport default class KeycloakConfiguration {\n\tstatic keycloakInputFiles: IKeycloakConfigurationInputFiles = {\n\t\taccountsFile: './backup/setup/accounts.json',\n\t\tusersFile: './backup/setup/users.json',\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/KeycloakConfigurationModule.html":{"url":"modules/KeycloakConfigurationModule.html","title":"module - KeycloakConfigurationModule","body":"\n \n\n\n\n\n Modules\n KeycloakConfigurationModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_KeycloakConfigurationModule\n\n\n\ncluster_KeycloakConfigurationModule_exports\n\n\n\ncluster_KeycloakConfigurationModule_imports\n\n\n\ncluster_KeycloakConfigurationModule_providers\n\n\n\n\nAccountModule\n\nAccountModule\n\n\n\nKeycloakConfigurationModule\n\nKeycloakConfigurationModule\n\nKeycloakConfigurationModule -->\n\nAccountModule->KeycloakConfigurationModule\n\n\n\n\n\nConsoleWriterModule\n\nConsoleWriterModule\n\nKeycloakConfigurationModule -->\n\nConsoleWriterModule->KeycloakConfigurationModule\n\n\n\n\n\nEncryptionModule\n\nEncryptionModule\n\nKeycloakConfigurationModule -->\n\nEncryptionModule->KeycloakConfigurationModule\n\n\n\n\n\nKeycloakAdministrationModule\n\nKeycloakAdministrationModule\n\nKeycloakConfigurationModule -->\n\nKeycloakAdministrationModule->KeycloakConfigurationModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nKeycloakConfigurationModule -->\n\nLoggerModule->KeycloakConfigurationModule\n\n\n\n\n\nSystemModule\n\nSystemModule\n\nKeycloakConfigurationModule -->\n\nSystemModule->KeycloakConfigurationModule\n\n\n\n\n\nKeycloakConfigurationService \n\nKeycloakConfigurationService \n\nKeycloakConfigurationService -->\n\nKeycloakConfigurationModule->KeycloakConfigurationService \n\n\n\n\n\nKeycloakConsole \n\nKeycloakConsole \n\nKeycloakConsole -->\n\nKeycloakConfigurationModule->KeycloakConsole \n\n\n\n\n\nKeycloakSeedService \n\nKeycloakSeedService \n\nKeycloakSeedService -->\n\nKeycloakConfigurationModule->KeycloakSeedService \n\n\n\n\n\nKeycloakConfigurationService\n\nKeycloakConfigurationService\n\nKeycloakConfigurationModule -->\n\nKeycloakConfigurationService->KeycloakConfigurationModule\n\n\n\n\n\nKeycloakConfigurationUc\n\nKeycloakConfigurationUc\n\nKeycloakConfigurationModule -->\n\nKeycloakConfigurationUc->KeycloakConfigurationModule\n\n\n\n\n\nKeycloakMigrationService\n\nKeycloakMigrationService\n\nKeycloakConfigurationModule -->\n\nKeycloakMigrationService->KeycloakConfigurationModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/keycloak-configuration.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n KeycloakConfigurationService\n \n \n KeycloakConfigurationUc\n \n \n KeycloakMigrationService\n \n \n \n \n Controllers\n \n \n KeycloakManagementController\n \n \n \n \n Imports\n \n \n AccountModule\n \n \n ConsoleWriterModule\n \n \n EncryptionModule\n \n \n KeycloakAdministrationModule\n \n \n LoggerModule\n \n \n SystemModule\n \n \n \n \n Exports\n \n \n KeycloakConfigurationService\n \n \n KeycloakConsole\n \n \n KeycloakSeedService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { EncryptionModule } from '@infra/encryption';\nimport { ConsoleWriterModule } from '@infra/console';\nimport { AccountModule } from '@modules/account';\nimport { SystemModule } from '@modules/system';\nimport { KeycloakAdministrationModule } from '../keycloak-administration/keycloak-administration.module';\nimport { KeycloakConsole } from './console/keycloak-configuration.console';\nimport { KeycloakConfigurationInputFiles } from './interface/keycloak-configuration-input-files.interface';\nimport KeycloakConfiguration from './keycloak-config';\nimport { OidcIdentityProviderMapper } from './mapper/identity-provider.mapper';\nimport { KeycloakConfigurationService } from './service/keycloak-configuration.service';\nimport { KeycloakSeedService } from './service/keycloak-seed.service';\nimport { KeycloakConfigurationUc } from './uc/keycloak-configuration.uc';\nimport { KeycloakManagementController } from './controller/keycloak-configuration.controller';\nimport { KeycloakMigrationService } from './service/keycloak-migration.service';\n\n@Module({\n\timports: [\n\t\tKeycloakAdministrationModule,\n\t\tLoggerModule,\n\t\tEncryptionModule,\n\t\tConsoleWriterModule,\n\t\tSystemModule,\n\t\tAccountModule,\n\t],\n\tcontrollers: [KeycloakManagementController],\n\tproviders: [\n\t\t{\n\t\t\tprovide: KeycloakConfigurationInputFiles,\n\t\t\tuseValue: KeycloakConfiguration.keycloakInputFiles,\n\t\t},\n\t\tOidcIdentityProviderMapper,\n\t\tKeycloakConfigurationUc,\n\t\tKeycloakConfigurationService,\n\t\tKeycloakMigrationService,\n\t\tKeycloakSeedService,\n\t\tKeycloakConsole,\n\t],\n\texports: [KeycloakConsole, KeycloakConfigurationService, KeycloakSeedService],\n})\nexport class KeycloakConfigurationModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/KeycloakConfigurationService.html":{"url":"injectables/KeycloakConfigurationService.html","title":"injectable - KeycloakConfigurationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n KeycloakConfigurationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-configuration.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n addClientProtocolMappers\n \n \n Public\n Async\n configureBrokerFlows\n \n \n Public\n Async\n configureClient\n \n \n Public\n Async\n configureIdentityProviders\n \n \n Async\n configureRealm\n \n \n Private\n Async\n createIdentityProvider\n \n \n Private\n Async\n createIdpDefaultMapper\n \n \n Private\n Async\n deleteIdentityProvider\n \n \n Private\n getExternalSubClientMapperConfiguration\n \n \n Private\n getIdpMapperConfiguration\n \n \n Private\n selectConfigureAction\n \n \n Private\n Async\n updateIdentityProvider\n \n \n Private\n Async\n updateOrCreateIdpDefaultMapper\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(kcAdmin: KeycloakAdministrationService, configService: ConfigService, oidcIdentityProviderMapper: OidcIdentityProviderMapper, systemOidcService: SystemOidcService)\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-configuration.service.ts:26\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n kcAdmin\n \n \n KeycloakAdministrationService\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n oidcIdentityProviderMapper\n \n \n OidcIdentityProviderMapper\n \n \n \n No\n \n \n \n \n systemOidcService\n \n \n SystemOidcService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n addClientProtocolMappers\n \n \n \n \n \n \n \n addClientProtocolMappers(defaultClientInternalId: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-configuration.service.ts:167\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n defaultClientInternalId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n configureBrokerFlows\n \n \n \n \n \n \n \n configureBrokerFlows()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-configuration.service.ts:34\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n configureClient\n \n \n \n \n \n \n \n configureClient()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-configuration.service.ts:108\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n configureIdentityProviders\n \n \n \n \n \n \n \n configureIdentityProviders()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-configuration.service.ts:128\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n configureRealm\n \n \n \n \n \n \n \n configureRealm()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-configuration.service.ts:155\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createIdentityProvider\n \n \n \n \n \n \n \n createIdentityProvider(oidcConfig: OidcConfigDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-configuration.service.ts:214\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oidcConfig\n \n OidcConfigDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createIdpDefaultMapper\n \n \n \n \n \n \n \n createIdpDefaultMapper(idpAlias: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-configuration.service.ts:254\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n idpAlias\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n deleteIdentityProvider\n \n \n \n \n \n \n \n deleteIdentityProvider(alias: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-configuration.service.ts:235\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n alias\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getExternalSubClientMapperConfiguration\n \n \n \n \n \n \n \n getExternalSubClientMapperConfiguration()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-configuration.service.ts:277\n \n \n\n\n \n \n\n \n Returns : ProtocolMapperRepresentation\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n getIdpMapperConfiguration\n \n \n \n \n \n \n \n getIdpMapperConfiguration(idpAlias: string, id?: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-configuration.service.ts:262\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n idpAlias\n \n string\n \n\n \n No\n \n\n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : IdentityProviderMapperRepresentation\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n selectConfigureAction\n \n \n \n \n \n \n \n selectConfigureAction(newConfigs: OidcConfigDto[], oldConfigs: IdentityProviderRepresentation[])\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-configuration.service.ts:191\n \n \n\n\n \n \n decides for each system if it needs to be added, updated or deleted in keycloak\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n newConfigs\n \n OidcConfigDto[]\n \n\n \n No\n \n\n\n \n \n oldConfigs\n \n IdentityProviderRepresentation[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : {}\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n updateIdentityProvider\n \n \n \n \n \n \n \n updateIdentityProvider(oidcConfig: OidcConfigDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-configuration.service.ts:224\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oidcConfig\n \n OidcConfigDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n updateOrCreateIdpDefaultMapper\n \n \n \n \n \n \n \n updateOrCreateIdpDefaultMapper(idpAlias: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-configuration.service.ts:240\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n idpAlias\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import AuthenticationExecutionInfoRepresentation from '@keycloak/keycloak-admin-client/lib/defs/authenticationExecutionInfoRepresentation';\nimport AuthenticationFlowRepresentation from '@keycloak/keycloak-admin-client/lib/defs/authenticationFlowRepresentation';\nimport ClientRepresentation from '@keycloak/keycloak-admin-client/lib/defs/clientRepresentation';\nimport IdentityProviderMapperRepresentation from '@keycloak/keycloak-admin-client/lib/defs/identityProviderMapperRepresentation';\nimport IdentityProviderRepresentation from '@keycloak/keycloak-admin-client/lib/defs/identityProviderRepresentation';\nimport ProtocolMapperRepresentation from '@keycloak/keycloak-admin-client/lib/defs/protocolMapperRepresentation';\nimport { ServerConfig } from '@modules/server/server.config';\nimport { OidcConfigDto } from '@modules/system/service';\nimport { SystemOidcService } from '@modules/system/service/system-oidc.service';\nimport { Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { KeycloakAdministrationService } from '../../keycloak-administration/service/keycloak-administration.service';\nimport { OidcIdentityProviderMapper } from '../mapper/identity-provider.mapper';\n\nenum ConfigureAction {\n\tCREATE = 'create',\n\tUPDATE = 'update',\n\tDELETE = 'delete',\n}\n\nconst flowAlias = 'Direct Broker Flow';\nconst oidcUserAttributeMapperName = 'OIDC User Attribute Mapper';\nconst oidcExternalSubMapperName = 'External Sub Mapper';\n\n@Injectable()\nexport class KeycloakConfigurationService {\n\tconstructor(\n\t\tprivate readonly kcAdmin: KeycloakAdministrationService,\n\t\tprivate readonly configService: ConfigService,\n\t\tprivate readonly oidcIdentityProviderMapper: OidcIdentityProviderMapper,\n\t\tprivate readonly systemOidcService: SystemOidcService\n\t) {}\n\n\tpublic async configureBrokerFlows(): Promise {\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tconst executionProviders = ['idp-create-user-if-unique', 'idp-auto-link'];\n\t\tconst getFlowsRequest = kc.realms.makeRequest({\n\t\t\tmethod: 'GET',\n\t\t\tpath: '/{realmName}/authentication/flows',\n\t\t\turlParamKeys: ['realmName'],\n\t\t});\n\t\tconst flows = await getFlowsRequest({ realmName: kc.realmName });\n\t\tconst flow = flows.find((tempFlow) => tempFlow.alias === flowAlias);\n\t\tif (flow && flow.id) {\n\t\t\treturn;\n\t\t}\n\t\tconst createFlowRequest = kc.realms.makeRequest({\n\t\t\tmethod: 'POST',\n\t\t\tpath: '/{realmName}/authentication/flows',\n\t\t\turlParamKeys: ['realmName'],\n\t\t});\n\t\tconst getFlowExecutionsRequest = kc.realms.makeRequest({\n\t\t\tmethod: 'GET',\n\t\t\tpath: '/{realmName}/authentication/flows/{flowAlias}/executions',\n\t\t\turlParamKeys: ['realmName', 'flowAlias'],\n\t\t});\n\t\tconst addExecutionRequest = kc.realms.makeRequest(\n\t\t\t{\n\t\t\t\tmethod: 'POST',\n\t\t\t\tpath: '/{realmName}/authentication/flows/{flowAlias}/executions/execution',\n\t\t\t\turlParamKeys: ['realmName', 'flowAlias'],\n\t\t\t}\n\t\t);\n\t\tconst updateExecutionRequest = kc.realms.makeRequest({\n\t\t\tmethod: 'PUT',\n\t\t\tpath: '/{realmName}/authentication/flows/{flowAlias}/executions',\n\t\t\turlParamKeys: ['realmName', 'flowAlias'],\n\t\t});\n\t\tawait createFlowRequest({\n\t\t\trealmName: kc.realmName,\n\t\t\talias: flowAlias,\n\t\t\tdescription: 'First broker login which automatically creates or maps accounts.',\n\t\t\tproviderId: 'basic-flow',\n\t\t\ttopLevel: true,\n\t\t\tbuiltIn: false,\n\t\t});\n\t\t// eslint-disable-next-line no-restricted-syntax\n\t\tfor (const executionProvider of executionProviders) {\n\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\tawait addExecutionRequest({\n\t\t\t\trealmName: kc.realmName,\n\t\t\t\tflowAlias,\n\t\t\t\tprovider: executionProvider,\n\t\t\t});\n\t\t}\n\t\tconst executions = await getFlowExecutionsRequest({\n\t\t\trealmName: kc.realmName,\n\t\t\tflowAlias,\n\t\t});\n\t\t// eslint-disable-next-line no-restricted-syntax\n\t\tfor (const execution of executions) {\n\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\tawait updateExecutionRequest({\n\t\t\t\trealmName: kc.realmName,\n\t\t\t\tflowAlias,\n\t\t\t\tid: execution.id,\n\t\t\t\trequirement: 'ALTERNATIVE',\n\t\t\t});\n\t\t}\n\t}\n\n\tpublic async configureClient(): Promise {\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tconst scDomain = this.configService.get('SC_DOMAIN');\n\t\tconst redirectUri = scDomain === 'localhost' ? 'http://localhost:3030/' : `https://${scDomain}/`;\n\t\tconst cr: ClientRepresentation = {\n\t\t\tclientId: this.kcAdmin.getClientId(),\n\t\t\tenabled: true,\n\t\t\tprotocol: 'openid-connect',\n\t\t\tpublicClient: false,\n\t\t\tredirectUris: [`${redirectUri}*`],\n\t\t};\n\t\tlet defaultClientInternalId = (await kc.clients.find({ clientId: this.kcAdmin.getClientId() }))[0]?.id;\n\t\tif (!defaultClientInternalId) {\n\t\t\t({ id: defaultClientInternalId } = await kc.clients.create(cr));\n\t\t} else {\n\t\t\tawait kc.clients.update({ id: defaultClientInternalId }, cr);\n\t\t}\n\t\tawait this.addClientProtocolMappers(defaultClientInternalId);\n\t}\n\n\tpublic async configureIdentityProviders(): Promise {\n\t\tlet count = 0;\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tconst oldConfigs = await kc.identityProviders.find();\n\t\tconst newConfigs = await this.systemOidcService.findAll();\n\t\tconst configureActions = this.selectConfigureAction(newConfigs, oldConfigs);\n\t\t// eslint-disable-next-line no-restricted-syntax\n\t\tfor (const configureAction of configureActions) {\n\t\t\tif (configureAction.action === ConfigureAction.CREATE) {\n\t\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\t\tawait this.createIdentityProvider(configureAction.config);\n\t\t\t\tcount += 1;\n\t\t\t}\n\t\t\tif (configureAction.action === ConfigureAction.UPDATE) {\n\t\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\t\tawait this.updateIdentityProvider(configureAction.config);\n\t\t\t\tcount += 1;\n\t\t\t}\n\t\t\tif (configureAction.action === ConfigureAction.DELETE) {\n\t\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\t\tawait this.deleteIdentityProvider(configureAction.alias);\n\t\t\t\tcount += 1;\n\t\t\t}\n\t\t}\n\t\treturn count;\n\t}\n\n\tasync configureRealm(): Promise {\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tawait kc.realms.update(\n\t\t\t{\n\t\t\t\trealm: kc.realmName,\n\t\t\t},\n\t\t\t{\n\t\t\t\teditUsernameAllowed: true,\n\t\t\t}\n\t\t);\n\t}\n\n\tprivate async addClientProtocolMappers(defaultClientInternalId: string) {\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tconst allMappers = await kc.clients.listProtocolMappers({ id: defaultClientInternalId });\n\t\tconst defaultMapper = allMappers.find((mapper) => mapper.name === oidcExternalSubMapperName);\n\t\tif (defaultMapper?.id) {\n\t\t\tawait kc.clients.updateProtocolMapper(\n\t\t\t\t{ id: defaultClientInternalId, mapperId: defaultMapper?.id },\n\t\t\t\t{ ...this.getExternalSubClientMapperConfiguration(), id: defaultMapper?.id }\n\t\t\t);\n\t\t} else {\n\t\t\tawait kc.clients.addProtocolMapper(\n\t\t\t\t{ id: defaultClientInternalId },\n\t\t\t\tthis.getExternalSubClientMapperConfiguration()\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * decides for each system if it needs to be added, updated or deleted in keycloak\n\t *\n\t * @param newConfigs\n\t * @param oldConfigs\n\t * @returns\n\t */\n\tprivate selectConfigureAction(newConfigs: OidcConfigDto[], oldConfigs: IdentityProviderRepresentation[]) {\n\t\tconst result = [] as (\n\t\t\t| { action: ConfigureAction.CREATE; config: OidcConfigDto }\n\t\t\t| { action: ConfigureAction.UPDATE; config: OidcConfigDto }\n\t\t\t| { action: ConfigureAction.DELETE; alias: string }\n\t\t)[];\n\t\t// updating or creating configs\n\t\tnewConfigs.forEach((newConfig) => {\n\t\t\tif (oldConfigs.some((oldConfig) => oldConfig.alias === newConfig.idpHint)) {\n\t\t\t\tresult.push({ action: ConfigureAction.UPDATE, config: newConfig });\n\t\t\t} else {\n\t\t\t\tresult.push({ action: ConfigureAction.CREATE, config: newConfig });\n\t\t\t}\n\t\t});\n\t\t// deleting configs\n\t\toldConfigs.forEach((oldConfig) => {\n\t\t\tif (!newConfigs.some((newConfig) => newConfig.idpHint === oldConfig.alias)) {\n\t\t\t\tresult.push({ action: ConfigureAction.DELETE, alias: oldConfig.alias as string });\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t}\n\n\tprivate async createIdentityProvider(oidcConfig: OidcConfigDto): Promise {\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tif (oidcConfig && oidcConfig?.idpHint) {\n\t\t\tawait kc.identityProviders.create(\n\t\t\t\tthis.oidcIdentityProviderMapper.mapToKeycloakIdentityProvider(oidcConfig, flowAlias)\n\t\t\t);\n\t\t\tawait this.createIdpDefaultMapper(oidcConfig.idpHint);\n\t\t}\n\t}\n\n\tprivate async updateIdentityProvider(oidcConfig: OidcConfigDto): Promise {\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tif (oidcConfig && oidcConfig?.idpHint) {\n\t\t\tawait kc.identityProviders.update(\n\t\t\t\t{ alias: oidcConfig.idpHint },\n\t\t\t\tthis.oidcIdentityProviderMapper.mapToKeycloakIdentityProvider(oidcConfig, flowAlias)\n\t\t\t);\n\t\t\tawait this.updateOrCreateIdpDefaultMapper(oidcConfig.idpHint);\n\t\t}\n\t}\n\n\tprivate async deleteIdentityProvider(alias: string): Promise {\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tawait kc.identityProviders.del({ alias });\n\t}\n\n\tprivate async updateOrCreateIdpDefaultMapper(idpAlias: string) {\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tconst allMappers = await kc.identityProviders.findMappers({ alias: idpAlias });\n\t\tconst defaultMapper = allMappers.find((mapper) => mapper.name === oidcUserAttributeMapperName);\n\t\tif (defaultMapper?.id) {\n\t\t\tawait kc.identityProviders.updateMapper(\n\t\t\t\t{ alias: idpAlias, id: defaultMapper.id },\n\t\t\t\tthis.getIdpMapperConfiguration(idpAlias, defaultMapper.id)\n\t\t\t);\n\t\t} else {\n\t\t\tawait this.createIdpDefaultMapper(idpAlias);\n\t\t}\n\t}\n\n\tprivate async createIdpDefaultMapper(idpAlias: string) {\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tawait kc.identityProviders.createMapper({\n\t\t\talias: idpAlias,\n\t\t\tidentityProviderMapper: this.getIdpMapperConfiguration(idpAlias),\n\t\t});\n\t}\n\n\tprivate getIdpMapperConfiguration(idpAlias: string, id?: string): IdentityProviderMapperRepresentation {\n\t\treturn {\n\t\t\tid,\n\t\t\tname: oidcUserAttributeMapperName,\n\t\t\tidentityProviderAlias: idpAlias,\n\t\t\tidentityProviderMapper: 'oidc-user-attribute-idp-mapper',\n\t\t\tconfig: {\n\t\t\t\tsyncMode: 'FORCE',\n\t\t\t\t'are.claim.values.regex': false,\n\t\t\t\tclaim: 'sub',\n\t\t\t\t'user.attribute': 'external_sub',\n\t\t\t},\n\t\t};\n\t}\n\n\tprivate getExternalSubClientMapperConfiguration(): ProtocolMapperRepresentation {\n\t\treturn {\n\t\t\tname: oidcExternalSubMapperName,\n\t\t\tprotocol: 'openid-connect',\n\t\t\tprotocolMapper: 'oidc-usermodel-attribute-mapper',\n\t\t\tconfig: {\n\t\t\t\t'aggregate.attrs': false,\n\t\t\t\t'userinfo.token.claim': true,\n\t\t\t\tmultivalued: false,\n\t\t\t\t'user.attribute': 'external_sub',\n\t\t\t\t'id.token.claim': true,\n\t\t\t\t'access.token.claim': true,\n\t\t\t\t'claim.name': 'external_sub',\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/KeycloakConfigurationUc.html":{"url":"injectables/KeycloakConfigurationUc.html","title":"injectable - KeycloakConfigurationUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n KeycloakConfigurationUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/uc/keycloak-configuration.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n check\n \n \n Public\n Async\n clean\n \n \n Async\n configure\n \n \n Public\n Async\n migrate\n \n \n Public\n Async\n seed\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(kcAdmin: KeycloakAdministrationService, keycloakConfigService: KeycloakConfigurationService, keycloakSeedService: KeycloakSeedService, keycloakMigrationService: KeycloakMigrationService)\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/uc/keycloak-configuration.uc.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n kcAdmin\n \n \n KeycloakAdministrationService\n \n \n \n No\n \n \n \n \n keycloakConfigService\n \n \n KeycloakConfigurationService\n \n \n \n No\n \n \n \n \n keycloakSeedService\n \n \n KeycloakSeedService\n \n \n \n No\n \n \n \n \n keycloakMigrationService\n \n \n KeycloakMigrationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n check\n \n \n \n \n \n \n \n check()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/uc/keycloak-configuration.uc.ts:16\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n clean\n \n \n \n \n \n \n \n clean(pageSize?: number)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/uc/keycloak-configuration.uc.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pageSize\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n configure\n \n \n \n \n \n \n \n configure()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/uc/keycloak-configuration.uc.ts:32\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n migrate\n \n \n \n \n \n \n \n migrate(skip?: number, verbose?: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/uc/keycloak-configuration.uc.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n skip\n \n number\n \n\n \n Yes\n \n\n\n \n \n verbose\n \n boolean\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n seed\n \n \n \n \n \n \n \n seed()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/uc/keycloak-configuration.uc.ts:24\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { KeycloakAdministrationService } from '../../keycloak-administration/service/keycloak-administration.service';\nimport { KeycloakConfigurationService } from '../service/keycloak-configuration.service';\nimport { KeycloakSeedService } from '../service/keycloak-seed.service';\nimport { KeycloakMigrationService } from '../service/keycloak-migration.service';\n\n@Injectable()\nexport class KeycloakConfigurationUc {\n\tconstructor(\n\t\tprivate readonly kcAdmin: KeycloakAdministrationService,\n\t\tprivate readonly keycloakConfigService: KeycloakConfigurationService,\n\t\tprivate readonly keycloakSeedService: KeycloakSeedService,\n\t\tprivate readonly keycloakMigrationService: KeycloakMigrationService\n\t) {}\n\n\tpublic async check(): Promise {\n\t\treturn this.kcAdmin.testKcConnection();\n\t}\n\n\tpublic async clean(pageSize?: number): Promise {\n\t\treturn this.keycloakSeedService.clean(pageSize);\n\t}\n\n\tpublic async seed(): Promise {\n\t\treturn this.keycloakSeedService.seed();\n\t}\n\n\tpublic async migrate(skip?: number, verbose?: boolean): Promise {\n\t\treturn this.keycloakMigrationService.migrate(skip, verbose);\n\t}\n\n\tasync configure(): Promise {\n\t\tawait this.kcAdmin.setPasswordPolicy();\n\t\tawait this.keycloakConfigService.configureClient();\n\t\tawait this.keycloakConfigService.configureBrokerFlows();\n\t\tawait this.keycloakConfigService.configureRealm();\n\t\treturn this.keycloakConfigService.configureIdentityProviders();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/KeycloakConsole.html":{"url":"classes/KeycloakConsole.html","title":"class - KeycloakConsole","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n KeycloakConsole\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n retryFlags\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n check\n \n \n \n Async\n clean\n \n \n \n Async\n configure\n \n \n Private\n delay\n \n \n \n Async\n migrate\n \n \n Private\n Async\n repeatCommand\n \n \n \n Async\n seed\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(console: ConsoleWriterService, keycloakConfigurationUc: KeycloakConfigurationUc, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts:23\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n console\n \n \n ConsoleWriterService\n \n \n \n No\n \n \n \n \n keycloakConfigurationUc\n \n \n KeycloakConfigurationUc\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n retryFlags\n \n \n \n \n \n \n Type : CommandOption[]\n\n \n \n \n \n Default value : [\n\t\t{\n\t\t\tflags: '-rc, --retry-count ',\n\t\t\tdescription: 'If the command fails, it will be retried this number of times. Default is no retry.',\n\t\t\trequired: false,\n\t\t\tdefaultValue: 1,\n\t\t},\n\t\t{\n\t\t\tflags: '-rd, --retry-delay ',\n\t\t\tdescription: 'If \"retry\" is active, this delay is used between each retry. Default is 10 seconds.',\n\t\t\trequired: false,\n\t\t\tdefaultValue: 10,\n\t\t},\n\t]\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts:32\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n check\n \n \n \n \n \n \n \n check()\n \n \n\n \n \n Decorators : \n \n @Command({command: 'check', description: 'Test the connection to the IDM.'})\n \n \n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts:51\n \n \n\n\n \n \n For local development. Checks if connection to IDM is working.\n\n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n clean\n \n \n \n \n \n \n \n clean(options)\n \n \n\n \n \n Decorators : \n \n @Command({command: 'clean', description: 'Remove all users from the IDM.', options: undefined})\n \n \n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts:77\n \n \n\n\n \n \n Cleans users from IDM\n\n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n options\n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n configure\n \n \n \n \n \n \n \n configure(options: RetryOptions)\n \n \n\n \n \n Decorators : \n \n @Command({command: 'configure', description: 'Configures Keycloak identity providers.', options: undefined})\n \n \n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts:121\n \n \n\n\n \n \n Used in production and for local development to transfer configuration to keycloak.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n RetryOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n delay\n \n \n \n \n \n \n \n delay(ms: number)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts:201\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n ms\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n migrate\n \n \n \n \n \n \n \n migrate(options)\n \n \n\n \n \n Decorators : \n \n @Command({command: 'migrate', description: 'Add all database users to the IDM.', options: undefined})\n \n \n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts:156\n \n \n\n\n \n \n For migration purpose. Moves all database accounts to the IDM\n\n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n options\n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n repeatCommand\n \n \n \n \n \n \n \n repeatCommand(commandName: string, command: () => void, count: number, delay: number)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts:172\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n commandName\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n command\n \n function\n \n\n \n No\n \n\n \n \n\n \n \n count\n \n number\n \n\n \n No\n \n\n \n 1\n \n\n \n \n delay\n \n number\n \n\n \n No\n \n\n \n 10\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n seed\n \n \n \n \n \n \n \n seed(options: RetryOptions)\n \n \n\n \n \n Decorators : \n \n @Command({command: 'seed', description: 'Add all seed users to the IDM.', options: undefined})\n \n \n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts:99\n \n \n\n\n \n \n For local development. Seeds user into IDM\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n RetryOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ConsoleWriterService } from '@infra/console';\nimport { LegacyLogger } from '@src/core/logger';\nimport { Command, CommandOption, Console } from 'nestjs-console';\nimport { KeycloakConfigurationUc } from '../uc/keycloak-configuration.uc';\n\nconst defaultError = new Error('IDM is not reachable or authentication failed.');\n\ninterface RetryOptions {\n\tretryCount?: number;\n\tretryDelay?: number;\n}\n\ninterface MigrationOptions {\n\tskip?: number;\n\tquery?: string;\n\tverbose?: boolean;\n}\n\ninterface CleanOptions {\n\tpageSize?: number;\n}\n@Console({ command: 'idm', description: 'Prefixes all Identity Management (IDM) related console commands.' })\nexport class KeycloakConsole {\n\tconstructor(\n\t\tprivate readonly console: ConsoleWriterService,\n\t\tprivate readonly keycloakConfigurationUc: KeycloakConfigurationUc,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(KeycloakConsole.name);\n\t}\n\n\tstatic retryFlags: CommandOption[] = [\n\t\t{\n\t\t\tflags: '-rc, --retry-count ',\n\t\t\tdescription: 'If the command fails, it will be retried this number of times. Default is no retry.',\n\t\t\trequired: false,\n\t\t\tdefaultValue: 1,\n\t\t},\n\t\t{\n\t\t\tflags: '-rd, --retry-delay ',\n\t\t\tdescription: 'If \"retry\" is active, this delay is used between each retry. Default is 10 seconds.',\n\t\t\trequired: false,\n\t\t\tdefaultValue: 10,\n\t\t},\n\t];\n\n\t/**\n\t * For local development. Checks if connection to IDM is working.\n\t */\n\t@Command({ command: 'check', description: 'Test the connection to the IDM.' })\n\tasync check(): Promise {\n\t\tif (await this.keycloakConfigurationUc.check()) {\n\t\t\tthis.console.info('Connected to IDM');\n\t\t} else {\n\t\t\tthrow defaultError;\n\t\t}\n\t}\n\n\t/**\n\t * Cleans users from IDM\n\t *\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'clean',\n\t\tdescription: 'Remove all users from the IDM.',\n\t\toptions: [\n\t\t\t...KeycloakConsole.retryFlags,\n\t\t\t{\n\t\t\t\tflags: '- mps, --maxPageSize ',\n\t\t\t\tdescription: 'Maximum users to delete per Keycloak API session. Default 100.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: 100,\n\t\t\t},\n\t\t],\n\t})\n\tasync clean(options: RetryOptions & CleanOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'clean',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.clean(options.pageSize ? Number(options.pageSize) : 100);\n\t\t\t\tthis.console.info(`Cleaned ${count} users in IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * For local development. Seeds user into IDM\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'seed',\n\t\tdescription: 'Add all seed users to the IDM.',\n\t\toptions: KeycloakConsole.retryFlags,\n\t})\n\tasync seed(options: RetryOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'seed',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.seed();\n\t\t\t\tthis.console.info(`Seeded ${count} users into IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * Used in production and for local development to transfer configuration to keycloak.\n\t *\n\t */\n\t@Command({\n\t\tcommand: 'configure',\n\t\tdescription: 'Configures Keycloak identity providers.',\n\t\toptions: [...KeycloakConsole.retryFlags],\n\t})\n\tasync configure(options: RetryOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'configure',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.configure();\n\t\t\t\tthis.console.info(`Configured ${count} identity provider(s).`);\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * For migration purpose. Moves all database accounts to the IDM\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'migrate',\n\t\tdescription: 'Add all database users to the IDM.',\n\t\toptions: [\n\t\t\t...KeycloakConsole.retryFlags,\n\t\t\t{\n\t\t\t\tflags: '-s, --skip',\n\t\t\t\tdescription: 'Skip the first \"s\" accounts during migration. Default 0.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: undefined,\n\t\t\t},\n\t\t\t{\n\t\t\t\tflags: '-v, --verbose',\n\t\t\t\tdescription: 'Log all events. Default is false.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: false,\n\t\t\t},\n\t\t],\n\t})\n\tasync migrate(options: RetryOptions & MigrationOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'migrate',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.migrate(\n\t\t\t\t\toptions.skip ? Number(options.skip) : undefined,\n\t\t\t\t\toptions.verbose ? Boolean(options.verbose) : false\n\t\t\t\t);\n\t\t\t\tthis.console.info(`Migrated ${count} users into IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\tprivate async repeatCommand(commandName: string, command: () => Promise, count = 1, delay = 10): Promise {\n\t\tlet repetitions = 0;\n\t\tlet error = new Error('error could be thrown if count is {\n\t\t\tsetTimeout(resolve, ms);\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/KeycloakIdentityManagementOauthService.html":{"url":"injectables/KeycloakIdentityManagementOauthService.html","title":"injectable - KeycloakIdentityManagementOauthService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n KeycloakIdentityManagementOauthService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak/service/keycloak-identity-management-oauth.service.ts\n \n\n\n\n \n Extends\n \n \n IdentityManagementOauthService\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _oauthConfigCache\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getOauthConfig\n \n \n Async\n isOauthConfigAvailable\n \n \n resetOauthConfigCache\n \n \n Async\n resourceOwnerPasswordGrant\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(kcAdminService: KeycloakAdministrationService, configService: ConfigService, httpService: HttpService, oAuthEncryptionService: EncryptionService)\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak/service/keycloak-identity-management-oauth.service.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n kcAdminService\n \n \n KeycloakAdministrationService\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n httpService\n \n \n HttpService\n \n \n \n No\n \n \n \n \n oAuthEncryptionService\n \n \n EncryptionService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getOauthConfig\n \n \n \n \n \n \n \n getOauthConfig()\n \n \n\n\n \n \n Inherited from IdentityManagementOauthService\n\n \n \n \n \n Defined in IdentityManagementOauthService:24\n\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n isOauthConfigAvailable\n \n \n \n \n \n \n \n isOauthConfigAvailable()\n \n \n\n\n \n \n Inherited from IdentityManagementOauthService\n\n \n \n \n \n Defined in IdentityManagementOauthService:54\n\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n resetOauthConfigCache\n \n \n \n \n \n \nresetOauthConfigCache()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak/service/keycloak-identity-management-oauth.service.ts:50\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n resourceOwnerPasswordGrant\n \n \n \n \n \n \n \n resourceOwnerPasswordGrant(username: string, password: string)\n \n \n\n\n \n \n Inherited from IdentityManagementOauthService\n\n \n \n \n \n Defined in IdentityManagementOauthService:61\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n password\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _oauthConfigCache\n \n \n \n \n \n \n Type : OauthConfigDto | undefined\n\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak/service/keycloak-identity-management-oauth.service.ts:13\n \n \n\n\n \n \n\n\n \n\n\n \n import { DefaultEncryptionService, EncryptionService } from '@infra/encryption';\nimport { OauthConfigDto } from '@modules/system/service/dto';\nimport { HttpService } from '@nestjs/axios';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport qs from 'qs';\nimport { lastValueFrom } from 'rxjs';\nimport { IdentityManagementOauthService } from '../../identity-management-oauth.service';\nimport { KeycloakAdministrationService } from '../../keycloak-administration/service/keycloak-administration.service';\n\n@Injectable()\nexport class KeycloakIdentityManagementOauthService extends IdentityManagementOauthService {\n\tprivate _oauthConfigCache: OauthConfigDto | undefined;\n\n\tconstructor(\n\t\tprivate readonly kcAdminService: KeycloakAdministrationService,\n\t\tprivate readonly configService: ConfigService,\n\t\tprivate readonly httpService: HttpService,\n\t\t@Inject(DefaultEncryptionService) private readonly oAuthEncryptionService: EncryptionService\n\t) {\n\t\tsuper();\n\t}\n\n\tasync getOauthConfig(): Promise {\n\t\tif (this._oauthConfigCache) {\n\t\t\treturn this._oauthConfigCache;\n\t\t}\n\t\tconst wellKnownUrl = this.kcAdminService.getWellKnownUrl();\n\t\tconst response = (await lastValueFrom(this.httpService.get>(wellKnownUrl))).data;\n\t\tconst scDomain = this.configService.get('SC_DOMAIN') || '';\n\t\tconst redirectUri =\n\t\t\tscDomain === 'localhost' ? 'http://localhost:3030/api/v3/sso/oauth/' : `https://${scDomain}/api/v3/sso/oauth/`;\n\t\tthis._oauthConfigCache = new OauthConfigDto({\n\t\t\tclientId: this.kcAdminService.getClientId(),\n\t\t\tclientSecret: this.oAuthEncryptionService.encrypt(await this.kcAdminService.getClientSecret()),\n\t\t\tprovider: 'oauth',\n\t\t\tredirectUri,\n\t\t\tresponseType: 'code',\n\t\t\tgrantType: 'authorization_code',\n\t\t\tscope: 'openid profile email',\n\t\t\tissuer: response.issuer as string,\n\t\t\ttokenEndpoint: response.token_endpoint as string,\n\t\t\tauthEndpoint: response.authorization_endpoint as string,\n\t\t\tlogoutEndpoint: response.end_session_endpoint as string,\n\t\t\tjwksEndpoint: response.jwks_uri as string,\n\t\t});\n\t\treturn this._oauthConfigCache;\n\t}\n\n\tresetOauthConfigCache(): void {\n\t\tthis._oauthConfigCache = undefined;\n\t}\n\n\tasync isOauthConfigAvailable(): Promise {\n\t\tif (this._oauthConfigCache) {\n\t\t\treturn true;\n\t\t}\n\t\treturn this.kcAdminService.testKcConnection();\n\t}\n\n\tasync resourceOwnerPasswordGrant(username: string, password: string): Promise {\n\t\tconst { clientId, clientSecret, tokenEndpoint } = await this.getOauthConfig();\n\t\tconst data = {\n\t\t\tusername,\n\t\t\tpassword,\n\t\t\tgrant_type: 'password',\n\t\t\tclient_id: clientId,\n\t\t\tclient_secret: this.oAuthEncryptionService.decrypt(clientSecret),\n\t\t};\n\t\ttry {\n\t\t\tconst response = await lastValueFrom(\n\t\t\t\tthis.httpService.request({\n\t\t\t\t\tmethod: 'post',\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'Content-Type': 'application/x-www-form-urlencoded',\n\t\t\t\t\t},\n\t\t\t\t\turl: tokenEndpoint,\n\t\t\t\t\tdata: qs.stringify(data),\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn response.data.access_token;\n\t\t} catch (err) {\n\t\t\treturn undefined;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/KeycloakIdentityManagementService.html":{"url":"injectables/KeycloakIdentityManagementService.html","title":"injectable - KeycloakIdentityManagementService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n KeycloakIdentityManagementService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak/service/keycloak-identity-management.service.ts\n \n\n\n\n \n Extends\n \n \n IdentityManagementService\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createAccount\n \n \n Async\n deleteAccountById\n \n \n Private\n extractAccount\n \n \n Private\n extractAttributeValue\n \n \n Async\n findAccountByDbcAccountId\n \n \n Async\n findAccountByDbcUserId\n \n \n Async\n findAccountById\n \n \n Async\n findAccountsByUsername\n \n \n Async\n getAllAccounts\n \n \n Async\n getUserAttribute\n \n \n Async\n setUserAttribute\n \n \n Async\n updateAccount\n \n \n Async\n updateAccountPassword\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \n Public\n constructor(kcAdminClient: KeycloakAdministrationService)\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak/service/keycloak-identity-management.service.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n kcAdminClient\n \n \n KeycloakAdministrationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createAccount\n \n \n \n \n \n \n \n createAccount(account: IdmAccount, password?: string)\n \n \n\n\n \n \n Inherited from IdentityManagementService\n\n \n \n \n \n Defined in IdentityManagementService:15\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n IdmAccount\n \n\n \n No\n \n\n\n \n \n password\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteAccountById\n \n \n \n \n \n \n \n deleteAccountById(id: string)\n \n \n\n\n \n \n Inherited from IdentityManagementService\n\n \n \n \n \n Defined in IdentityManagementService:132\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n extractAccount\n \n \n \n \n \n \n \n extractAccount(user: UserRepresentation)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak/service/keycloak-identity-management.service.ts:171\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserRepresentation\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : IdmAccount\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n extractAttributeValue\n \n \n \n \n \n \n \n extractAttributeValue(value)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak/service/keycloak-identity-management.service.ts:187\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n value\n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAccountByDbcAccountId\n \n \n \n \n \n \n \n findAccountByDbcAccountId(accountDbcAccountId: string)\n \n \n\n\n \n \n Inherited from IdentityManagementService\n\n \n \n \n \n Defined in IdentityManagementService:85\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountDbcAccountId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAccountByDbcUserId\n \n \n \n \n \n \n \n findAccountByDbcUserId(accountDbcUserId: string)\n \n \n\n\n \n \n Inherited from IdentityManagementService\n\n \n \n \n \n Defined in IdentityManagementService:99\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountDbcUserId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAccountById\n \n \n \n \n \n \n \n findAccountById(id: string)\n \n \n\n\n \n \n Inherited from IdentityManagementService\n\n \n \n \n \n Defined in IdentityManagementService:77\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAccountsByUsername\n \n \n \n \n \n \n \n findAccountsByUsername(username: string, options?: SearchOptions)\n \n \n\n\n \n \n Inherited from IdentityManagementService\n\n \n \n \n \n Defined in IdentityManagementService:114\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n options\n \n SearchOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getAllAccounts\n \n \n \n \n \n \n \n getAllAccounts()\n \n \n\n\n \n \n Inherited from IdentityManagementService\n\n \n \n \n \n Defined in IdentityManagementService:127\n\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n getUserAttribute\n \n \n \n \n \n \n \n getUserAttribute(userId: string, attributeName: string)\n \n \n\n\n \n \n Inherited from IdentityManagementService\n\n \n \n \n \n Defined in IdentityManagementService:137\n\n \n \n\n \n \n Type parameters :\n \n TValue\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n attributeName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n setUserAttribute\n \n \n \n \n \n \n \n setUserAttribute(userId: string, attributeName: string, attributeValue: TValue)\n \n \n\n\n \n \n Inherited from IdentityManagementService\n\n \n \n \n \n Defined in IdentityManagementService:153\n\n \n \n\n \n \n Type parameters :\n \n TValue\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n attributeName\n \n string\n \n\n \n No\n \n\n\n \n \n attributeValue\n \n TValue\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateAccount\n \n \n \n \n \n \n \n updateAccount(id: string, account: IdmAccountUpdate)\n \n \n\n\n \n \n Inherited from IdentityManagementService\n\n \n \n \n \n Defined in IdentityManagementService:47\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n account\n \n IdmAccountUpdate\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateAccountPassword\n \n \n \n \n \n \n \n updateAccountPassword(id: string, password: string)\n \n \n\n\n \n \n Inherited from IdentityManagementService\n\n \n \n \n \n Defined in IdentityManagementService:63\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n password\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import UserRepresentation from '@keycloak/keycloak-admin-client/lib/defs/userRepresentation';\nimport { Injectable } from '@nestjs/common';\nimport { EntityNotFoundError } from '@shared/common';\nimport { IdmAccount, IdmAccountUpdate } from '@shared/domain/interface';\nimport { Counted } from '@shared/domain/types';\nimport { IdentityManagementService, SearchOptions } from '../../identity-management.service';\nimport { KeycloakAdministrationService } from '../../keycloak-administration/service/keycloak-administration.service';\n\n@Injectable()\nexport class KeycloakIdentityManagementService extends IdentityManagementService {\n\tpublic constructor(private readonly kcAdminClient: KeycloakAdministrationService) {\n\t\tsuper();\n\t}\n\n\tasync createAccount(account: IdmAccount, password?: string): Promise {\n\t\tconst kc = await this.kcAdminClient.callKcAdminClient();\n\t\tconst id = await kc.users.create({\n\t\t\tusername: account.username,\n\t\t\temail: account.email,\n\t\t\tfirstName: account.firstName,\n\t\t\tlastName: account.lastName,\n\t\t\tenabled: true,\n\t\t\tattributes: {\n\t\t\t\tdbcAccountId: account.attDbcAccountId,\n\t\t\t\tdbcUserId: account.attDbcUserId,\n\t\t\t\tdbcSystemId: account.attDbcSystemId,\n\t\t\t},\n\t\t});\n\t\tif (id && password) {\n\t\t\ttry {\n\t\t\t\tawait kc.users.resetPassword({\n\t\t\t\t\tid: id.id,\n\t\t\t\t\tcredential: {\n\t\t\t\t\t\ttemporary: false,\n\t\t\t\t\t\ttype: 'password',\n\t\t\t\t\t\tvalue: password,\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t} catch (err) {\n\t\t\t\tawait kc.users.del(id);\n\t\t\t\tthrow err;\n\t\t\t}\n\t\t}\n\t\treturn id.id;\n\t}\n\n\tasync updateAccount(id: string, account: IdmAccountUpdate): Promise {\n\t\tawait (\n\t\t\tawait this.kcAdminClient.callKcAdminClient()\n\t\t).users.update(\n\t\t\t{ id },\n\t\t\t{\n\t\t\t\tusername: account.username,\n\t\t\t\temail: account.email,\n\t\t\t\tfirstName: account.firstName,\n\t\t\t\tlastName: account.lastName,\n\t\t\t\tenabled: true,\n\t\t\t}\n\t\t);\n\t\treturn id;\n\t}\n\n\tasync updateAccountPassword(id: string, password: string): Promise {\n\t\tawait (\n\t\t\tawait this.kcAdminClient.callKcAdminClient()\n\t\t).users.resetPassword({\n\t\t\tid,\n\t\t\tcredential: {\n\t\t\t\ttemporary: false,\n\t\t\t\ttype: 'password',\n\t\t\t\tvalue: password,\n\t\t\t},\n\t\t});\n\t\treturn id;\n\t}\n\n\tasync findAccountById(id: string): Promise {\n\t\tconst keycloakUser = await (await this.kcAdminClient.callKcAdminClient()).users.findOne({ id });\n\t\tif (!keycloakUser) {\n\t\t\tthrow new Error(`Account '${id}' not found`);\n\t\t}\n\t\treturn this.extractAccount(keycloakUser);\n\t}\n\n\tasync findAccountByDbcAccountId(accountDbcAccountId: string): Promise {\n\t\tconst keycloakUsers = await (\n\t\t\tawait this.kcAdminClient.callKcAdminClient()\n\t\t).users.find({ q: `dbcAccountId:${accountDbcAccountId} }` });\n\t\tif (keycloakUsers.length > 1) {\n\t\t\tthrow new Error('Multiple accounts for the same id!');\n\t\t}\n\t\tif (keycloakUsers.length === 0) {\n\t\t\tthrow new Error(`Account '${accountDbcAccountId}' not found`);\n\t\t}\n\n\t\treturn this.extractAccount(keycloakUsers[0]);\n\t}\n\n\tasync findAccountByDbcUserId(accountDbcUserId: string): Promise {\n\t\tconst keycloakUsers = await (\n\t\t\tawait this.kcAdminClient.callKcAdminClient()\n\t\t).users.find({ q: `dbcUserId:${accountDbcUserId} }` });\n\n\t\tif (keycloakUsers.length > 1) {\n\t\t\tthrow new Error('Multiple accounts for the same id!');\n\t\t}\n\t\tif (keycloakUsers.length === 0) {\n\t\t\tthrow new Error(`Account '${accountDbcUserId}' not found`);\n\t\t}\n\n\t\treturn this.extractAccount(keycloakUsers[0]);\n\t}\n\n\tasync findAccountsByUsername(username: string, options?: SearchOptions): Promise> {\n\t\tconst kc = await this.kcAdminClient.callKcAdminClient();\n\t\tconst total = await kc.users.count({ username });\n\t\tconst results = await kc.users.find({\n\t\t\tusername,\n\t\t\texact: options?.exact,\n\t\t\tfirst: options?.skip,\n\t\t\tmax: options?.limit,\n\t\t});\n\t\tconst accounts = results.map((account) => this.extractAccount(account));\n\t\treturn [accounts, total];\n\t}\n\n\tasync getAllAccounts(): Promise {\n\t\tconst keycloakUsers = await (await this.kcAdminClient.callKcAdminClient()).users.find();\n\t\treturn keycloakUsers.map((user: UserRepresentation) => this.extractAccount(user));\n\t}\n\n\tasync deleteAccountById(id: string): Promise {\n\t\tawait (await this.kcAdminClient.callKcAdminClient()).users.del({ id });\n\t\treturn id;\n\t}\n\n\tasync getUserAttribute(\n\t\tuserId: string,\n\t\tattributeName: string\n\t): Promise {\n\t\tconst kc = await this.kcAdminClient.callKcAdminClient();\n\t\tconst user = await kc.users.findOne({ id: userId });\n\t\tif (!user) {\n\t\t\tthrow new EntityNotFoundError(`User '${userId}' not found`);\n\t\t}\n\t\tif (user.attributes && user.attributes[attributeName] && Array.isArray(user.attributes[attributeName])) {\n\t\t\tconst [value] = (user.attributes[attributeName] as TValue[]) || null;\n\t\t\treturn value;\n\t\t}\n\t\treturn null;\n\t}\n\n\tasync setUserAttribute(\n\t\tuserId: string,\n\t\tattributeName: string,\n\t\tattributeValue: TValue\n\t): Promise {\n\t\tconst kc = await this.kcAdminClient.callKcAdminClient();\n\t\tconst user = await kc.users.findOne({ id: userId });\n\t\tif (!user) {\n\t\t\tthrow new EntityNotFoundError(`User '${userId}' not found`);\n\t\t}\n\t\tif (user.attributes) {\n\t\t\tuser.attributes[attributeName] = attributeValue;\n\t\t} else {\n\t\t\tuser.attributes = { [attributeName]: attributeValue };\n\t\t}\n\t\tawait kc.users.update({ id: userId }, user);\n\t}\n\n\tprivate extractAccount(user: UserRepresentation): IdmAccount {\n\t\tconst ret: IdmAccount = {\n\t\t\tid: user.id ?? '',\n\t\t\tusername: user.username,\n\t\t\temail: user.email,\n\t\t\tfirstName: user.firstName,\n\t\t\tlastName: user.lastName,\n\t\t\tcreatedDate: user.createdTimestamp ? new Date(user.createdTimestamp) : undefined,\n\t\t};\n\t\tret.attDbcSystemId = this.extractAttributeValue(user.attributes?.dbcSystemId);\n\t\tret.attDbcUserId = this.extractAttributeValue(user.attributes?.dbcUserId);\n\t\tret.attDbcAccountId = this.extractAttributeValue(user.attributes?.dbcAccountId);\n\n\t\treturn ret;\n\t}\n\n\tprivate extractAttributeValue(value: unknown): string {\n\t\tif (Array.isArray(value)) {\n\t\t\treturn value[0] as string;\n\t\t}\n\t\treturn value as string;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/KeycloakManagementController.html":{"url":"controllers/KeycloakManagementController.html","title":"controller - KeycloakManagementController","body":"\n \n\n\n\n\n\n\n Controllers\n KeycloakManagementController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/controller/keycloak-configuration.controller.ts\n \n\n \n Prefix\n \n \n management/idm\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n importSeedData\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n importSeedData\n \n \n \n \n \n \n \n importSeedData()\n \n \n\n \n \n Decorators : \n \n @Post('seed')\n \n \n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/controller/keycloak-configuration.controller.ts:19\n \n \n\n\n \n \n This connects to IDM, seeds the test users and seeds the identity providers.\nUsed by auto-deployment for develop environment (job_init_idm.yml.j2) via cURL\n\n\n \n Returns : Promise\n\n \n \n The number of seeded users\n\n \n \n \n \n \n \n\n\n \n import { Controller, Post, ServiceUnavailableException } from '@nestjs/common';\nimport { LegacyLogger } from '@src/core/logger';\nimport { KeycloakConfigurationUc } from '../uc/keycloak-configuration.uc';\n\n@Controller('management/idm')\nexport class KeycloakManagementController {\n\tconstructor(private readonly keycloakManagementUc: KeycloakConfigurationUc, private readonly logger: LegacyLogger) {\n\t\tthis.logger.setContext(KeycloakManagementController.name);\n\t}\n\n\t/**\n\t * This connects to IDM, seeds the test users and seeds the identity providers.\n\t * Used by auto-deployment for develop environment (job_init_idm.yml.j2) via cURL\n\t *\n\t * @returns The number of seeded users\n\t * @throws ServiceUnavailableException if IDM is not ready.\n\t */\n\t@Post('seed')\n\tasync importSeedData(): Promise {\n\t\tif (await this.keycloakManagementUc.check()) {\n\t\t\ttry {\n\t\t\t\tawait this.keycloakManagementUc.configure();\n\t\t\t\treturn await this.keycloakManagementUc.seed();\n\t\t\t} catch (err) {\n\t\t\t\tthis.logger.error(err);\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\t\tthrow new ServiceUnavailableException();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/KeycloakMigrationService.html":{"url":"injectables/KeycloakMigrationService.html","title":"injectable - KeycloakMigrationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n KeycloakMigrationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-migration.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n createOrUpdateIdmAccount\n \n \n Async\n migrate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(kcAdmin: KeycloakAdministrationService, accountService: AccountService, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-migration.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n kcAdmin\n \n \n KeycloakAdministrationService\n \n \n \n No\n \n \n \n \n accountService\n \n \n AccountService\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n createOrUpdateIdmAccount\n \n \n \n \n \n \n \n createOrUpdateIdmAccount(account: AccountDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-migration.service.ts:48\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n AccountDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n migrate\n \n \n \n \n \n \n \n migrate(start: number, verbose)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-migration.service.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n start\n \n number\n \n\n \n No\n \n\n \n 0\n \n\n \n \n verbose\n \n \n\n \n No\n \n\n \n false\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import UserRepresentation from '@keycloak/keycloak-admin-client/lib/defs/userRepresentation';\nimport { Injectable } from '@nestjs/common';\nimport { LegacyLogger } from '@src/core/logger';\nimport { AccountService } from '@modules/account/services/account.service';\nimport { AccountDto } from '@modules/account/services/dto';\nimport { KeycloakAdministrationService } from '../../keycloak-administration/service/keycloak-administration.service';\n\n@Injectable()\nexport class KeycloakMigrationService {\n\tconstructor(\n\t\tprivate readonly kcAdmin: KeycloakAdministrationService,\n\t\tprivate readonly accountService: AccountService,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(KeycloakMigrationService.name);\n\t}\n\n\tasync migrate(start = 0, verbose = false): Promise {\n\t\tconst amount = 100;\n\t\tlet skip = start;\n\t\tlet foundAccounts = 1;\n\t\tlet migratedAccounts = 0;\n\t\tlet accounts: AccountDto[] = [];\n\t\twhile (foundAccounts > 0) {\n\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\taccounts = await this.accountService.findMany(skip, amount);\n\t\t\tfoundAccounts = accounts.length;\n\t\t\tfor (const account of accounts) {\n\t\t\t\ttry {\n\t\t\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\t\t\tconst retAccountId = await this.createOrUpdateIdmAccount(account);\n\t\t\t\t\tmigratedAccounts += 1;\n\t\t\t\t\tif (verbose) {\n\t\t\t\t\t\tthis.logger.log(`Migration of account ${account.id} done, new id is ${retAccountId}.`);\n\t\t\t\t\t}\n\t\t\t\t} catch (err) {\n\t\t\t\t\tthis.logger.error(`Migration of account ${account.id} failed.`, err);\n\t\t\t\t}\n\t\t\t}\n\t\t\tskip += foundAccounts;\n\t\t\tif (!verbose) {\n\t\t\t\tthis.logger.log(`...migrated ${skip} accounts.`);\n\t\t\t}\n\t\t}\n\t\treturn migratedAccounts;\n\t}\n\n\tprivate async createOrUpdateIdmAccount(account: AccountDto): Promise {\n\t\tconst idmUserRepresentation: UserRepresentation = {\n\t\t\tusername: account.username,\n\t\t\tenabled: true,\n\t\t\tcredentials: [\n\t\t\t\t{\n\t\t\t\t\ttype: 'password',\n\t\t\t\t\tsecretData: `{\"value\": \"${account.password ?? ''}\", \"salt\": \"\", \"additionalParameters\": {}}`,\n\t\t\t\t\tcredentialData: '{ \"hashIterations\": 10, \"algorithm\": \"bcrypt\", \"additionalParameters\": {}}',\n\t\t\t\t},\n\t\t\t],\n\t\t\tattributes: {\n\t\t\t\tdbcAccountId: account.id,\n\t\t\t\tdbcUserId: account.userId,\n\t\t\t\tdbcSystemId: account.systemId,\n\t\t\t},\n\t\t};\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tconst existingAccounts = await kc.users.find({ username: account.username, exact: true });\n\t\tif (existingAccounts.length === 1 && existingAccounts[0].id) {\n\t\t\tconst existingAccountId = existingAccounts[0].id;\n\t\t\tawait kc.users.update({ id: existingAccountId }, idmUserRepresentation);\n\t\t\treturn existingAccountId;\n\t\t}\n\t\tif (existingAccounts.length === 0) {\n\t\t\tconst createdAccountId = await kc.users.create(idmUserRepresentation);\n\t\t\treturn createdAccountId.id;\n\t\t}\n\t\tthrow Error(`Duplicate username ${account.username} update operation aborted.`);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/KeycloakModule.html":{"url":"modules/KeycloakModule.html","title":"module - KeycloakModule","body":"\n \n\n\n\n\n Modules\n KeycloakModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_KeycloakModule\n\n\n\ncluster_KeycloakModule_exports\n\n\n\ncluster_KeycloakModule_imports\n\n\n\ncluster_KeycloakModule_providers\n\n\n\n\nEncryptionModule\n\nEncryptionModule\n\n\n\nKeycloakModule\n\nKeycloakModule\n\nKeycloakModule -->\n\nEncryptionModule->KeycloakModule\n\n\n\n\n\nKeycloakAdministrationModule\n\nKeycloakAdministrationModule\n\nKeycloakModule -->\n\nKeycloakAdministrationModule->KeycloakModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nKeycloakModule -->\n\nLoggerModule->KeycloakModule\n\n\n\n\n\nKeycloakIdentityManagementOauthService \n\nKeycloakIdentityManagementOauthService \n\nKeycloakIdentityManagementOauthService -->\n\nKeycloakModule->KeycloakIdentityManagementOauthService \n\n\n\n\n\nKeycloakIdentityManagementService \n\nKeycloakIdentityManagementService \n\nKeycloakIdentityManagementService -->\n\nKeycloakModule->KeycloakIdentityManagementService \n\n\n\n\n\nKeycloakIdentityManagementOauthService\n\nKeycloakIdentityManagementOauthService\n\nKeycloakModule -->\n\nKeycloakIdentityManagementOauthService->KeycloakModule\n\n\n\n\n\nKeycloakIdentityManagementService\n\nKeycloakIdentityManagementService\n\nKeycloakModule -->\n\nKeycloakIdentityManagementService->KeycloakModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/identity-management/keycloak/keycloak.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n KeycloakIdentityManagementOauthService\n \n \n KeycloakIdentityManagementService\n \n \n \n \n Imports\n \n \n EncryptionModule\n \n \n KeycloakAdministrationModule\n \n \n LoggerModule\n \n \n \n \n Exports\n \n \n KeycloakIdentityManagementOauthService\n \n \n KeycloakIdentityManagementService\n \n \n \n \n \n\n\n \n\n\n \n import { HttpModule } from '@nestjs/axios';\nimport { Module } from '@nestjs/common';\nimport { EncryptionModule } from '@infra/encryption';\nimport { LoggerModule } from '@src/core/logger';\nimport { KeycloakAdministrationModule } from '../keycloak-administration/keycloak-administration.module';\nimport { KeycloakIdentityManagementOauthService } from './service/keycloak-identity-management-oauth.service';\nimport { KeycloakIdentityManagementService } from './service/keycloak-identity-management.service';\n\n@Module({\n\timports: [LoggerModule, EncryptionModule, HttpModule, KeycloakAdministrationModule],\n\tproviders: [KeycloakIdentityManagementService, KeycloakIdentityManagementOauthService],\n\texports: [KeycloakIdentityManagementService, KeycloakIdentityManagementOauthService],\n})\nexport class KeycloakModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/KeycloakSeedService.html":{"url":"classes/KeycloakSeedService.html","title":"class - KeycloakSeedService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n KeycloakSeedService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-seed.service.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n clean\n \n \n Private\n Async\n createOrUpdateIdmAccount\n \n \n Private\n Async\n loadAccounts\n \n \n Private\n Async\n loadUsers\n \n \n Async\n seed\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(kcAdmin: KeycloakAdministrationService, logger: LegacyLogger, inputFiles: IKeycloakConfigurationInputFiles)\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-seed.service.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n kcAdmin\n \n \n KeycloakAdministrationService\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n inputFiles\n \n \n IKeycloakConfigurationInputFiles\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n clean\n \n \n \n \n \n \n \n clean(pageSize: number)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-seed.service.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n pageSize\n \n number\n \n\n \n No\n \n\n \n 100\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createOrUpdateIdmAccount\n \n \n \n \n \n \n \n createOrUpdateIdmAccount(account: JsonAccount, user: JsonUser)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-seed.service.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n JsonAccount\n \n\n \n No\n \n\n\n \n \n user\n \n JsonUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n loadAccounts\n \n \n \n \n \n \n \n loadAccounts()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-seed.service.ts:94\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n loadUsers\n \n \n \n \n \n \n \n loadUsers()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-seed.service.ts:99\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n seed\n \n \n \n \n \n \n \n seed()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-seed.service.ts:20\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import UserRepresentation from '@keycloak/keycloak-admin-client/lib/defs/userRepresentation';\nimport { Inject } from '@nestjs/common';\nimport { LegacyLogger } from '@src/core/logger';\nimport fs from 'node:fs/promises';\nimport { KeycloakAdministrationService } from '../../keycloak-administration/service/keycloak-administration.service';\nimport { JsonAccount } from '../interface/json-account.interface';\nimport { JsonUser } from '../interface/json-user.interface';\nimport {\n\tIKeycloakConfigurationInputFiles,\n\tKeycloakConfigurationInputFiles,\n} from '../interface/keycloak-configuration-input-files.interface';\n\nexport class KeycloakSeedService {\n\tconstructor(\n\t\tprivate readonly kcAdmin: KeycloakAdministrationService,\n\t\tprivate readonly logger: LegacyLogger,\n\t\t@Inject(KeycloakConfigurationInputFiles) private readonly inputFiles: IKeycloakConfigurationInputFiles\n\t) {}\n\n\tasync seed(): Promise {\n\t\tlet userCount = 0;\n\t\tconst users = await this.loadUsers();\n\t\tconst accounts = await this.loadAccounts();\n\t\t// eslint-disable-next-line no-restricted-syntax\n\t\tfor (const user of users) {\n\t\t\tconst account = accounts.find((a) => a.userId.$oid === user._id.$oid);\n\t\t\tif (account) {\n\t\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\t\tuserCount += (await this.createOrUpdateIdmAccount(account, user)) ? 1 : 0;\n\t\t\t}\n\t\t}\n\t\treturn userCount;\n\t}\n\n\tpublic async clean(pageSize = 100): Promise {\n\t\tlet foundUsers = 1;\n\t\tlet deletedUsers = 0;\n\t\tconst adminUser = this.kcAdmin.getAdminUser();\n\t\tlet kc = await this.kcAdmin.callKcAdminClient();\n\t\tthis.logger.log(`Starting to delete users...`);\n\t\twhile (foundUsers > 0) {\n\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\tkc = await this.kcAdmin.callKcAdminClient();\n\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\tconst users = (await kc.users.find({ max: pageSize })).filter((user) => user.username !== adminUser);\n\t\t\tfoundUsers = users.length;\n\t\t\tthis.logger.log(`Amount of found Users: ${foundUsers}`);\n\t\t\tfor (const user of users) {\n\t\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\t\tawait kc.users.del({\n\t\t\t\t\tid: user.id ?? '',\n\t\t\t\t});\n\t\t\t}\n\t\t\tdeletedUsers += foundUsers;\n\t\t\tthis.logger.log(`...deleted ${deletedUsers} users so far.`);\n\t\t}\n\t\treturn deletedUsers;\n\t}\n\n\tprivate async createOrUpdateIdmAccount(account: JsonAccount, user: JsonUser): Promise {\n\t\tconst idmUserRepresentation: UserRepresentation = {\n\t\t\tusername: account.username,\n\t\t\tfirstName: user.firstName,\n\t\t\tlastName: user.lastName,\n\t\t\temail: user.email,\n\t\t\tenabled: true,\n\t\t\tcredentials: [\n\t\t\t\t{\n\t\t\t\t\ttype: 'password',\n\t\t\t\t\tsecretData: `{\"value\": \"${account.password}\", \"salt\": \"\", \"additionalParameters\": {}}`,\n\t\t\t\t\tcredentialData: '{ \"hashIterations\": 10, \"algorithm\": \"bcrypt\", \"additionalParameters\": {}}',\n\t\t\t\t},\n\t\t\t],\n\t\t\tattributes: {\n\t\t\t\tdbcAccountId: account._id.$oid,\n\t\t\t\tdbcUserId: account.userId.$oid,\n\t\t\t\tdbcSystemId: account.systemId,\n\t\t\t},\n\t\t};\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tconst existingAccounts = await kc.users.find({ username: account.username, exact: true });\n\t\tif (existingAccounts.length === 1 && existingAccounts[0].id) {\n\t\t\tawait kc.users.update({ id: existingAccounts[0].id }, idmUserRepresentation);\n\t\t\treturn true;\n\t\t}\n\t\tif (existingAccounts.length === 0) {\n\t\t\tawait kc.users.create(idmUserRepresentation);\n\t\t\treturn true;\n\t\t}\n\t\t// else, unreachable, multiple accounts for same username (unique)\n\t\treturn false;\n\t}\n\n\tprivate async loadAccounts(): Promise {\n\t\tconst data = await fs.readFile(this.inputFiles.accountsFile, { encoding: 'utf-8' });\n\t\treturn JSON.parse(data) as JsonAccount[];\n\t}\n\n\tprivate async loadUsers(): Promise {\n\t\tconst data = await fs.readFile(this.inputFiles.usersFile, { encoding: 'utf-8' });\n\t\treturn JSON.parse(data) as JsonUser[];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LdapAlreadyPersistedException.html":{"url":"classes/LdapAlreadyPersistedException.html","title":"class - LdapAlreadyPersistedException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LdapAlreadyPersistedException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/uc/ldap-user-migration.error.ts\n \n\n\n\n \n Extends\n \n \n LdapUserMigrationException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(descriptionOrOptions?: string | HttpExceptionOptions)\n \n \n \n \n Defined in apps/server/src/modules/user-import/uc/ldap-user-migration.error.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n descriptionOrOptions\n \n \n string | HttpExceptionOptions\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/uc/ldap-user-migration.error.ts:11\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BadRequestException, HttpExceptionOptions } from '@nestjs/common';\nimport { ErrorLogMessage, LogMessage, Loggable, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class LdapUserMigrationException extends BadRequestException {}\n\nexport class LdapAlreadyPersistedException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('ldapAlreadyPersisted', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'LDAP is already Persisted',\n\t\t};\n\t}\n}\nexport class MissingSchoolNumberException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('LDAP migration Exception', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'The school is missing a official school number',\n\t\t};\n\t}\n}\nexport class MigrationAlreadyActivatedException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('LDAP migration Exception', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'Migration is already activated for this school',\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LdapAuthorizationBodyParams.html":{"url":"classes/LdapAuthorizationBodyParams.html","title":"class - LdapAuthorizationBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LdapAuthorizationBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/controllers/dto/ldap-authorization.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n password\n \n \n \n \n schoolId\n \n \n \n \n systemId\n \n \n \n \n \n username\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n password\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/ldap-authorization.body.params.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/ldap-authorization.body.params.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n systemId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/ldap-authorization.body.params.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/ldap-authorization.body.params.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId, IsNotEmpty, IsString } from 'class-validator';\n\nexport class LdapAuthorizationBodyParams {\n\t@IsMongoId()\n\t@ApiProperty()\n\tsystemId!: string;\n\n\t@IsString()\n\t@IsNotEmpty()\n\t@ApiProperty()\n\tusername!: string;\n\n\t@IsString()\n\t@IsNotEmpty()\n\t@ApiProperty()\n\tpassword!: string;\n\n\t@IsMongoId()\n\t@ApiProperty()\n\tschoolId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LdapConfig.html":{"url":"classes/LdapConfig.html","title":"class - LdapConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LdapConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/domain/ldap-config.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n active\n \n \n Optional\n provider\n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: LdapConfig)\n \n \n \n \n Defined in apps/server/src/modules/system/domain/ldap-config.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n LdapConfig\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n active\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/ldap-config.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n provider\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/ldap-config.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/ldap-config.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class LdapConfig {\n\tactive: boolean;\n\n\turl: string;\n\n\tprovider?: string;\n\n\tconstructor(props: LdapConfig) {\n\t\tthis.active = props.active;\n\t\tthis.url = props.url;\n\t\tthis.provider = props.provider;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LdapConfigEntity.html":{"url":"classes/LdapConfigEntity.html","title":"class - LdapConfigEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LdapConfigEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/system.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n active\n \n \n \n Optional\n federalState\n \n \n \n Optional\n lastModifyTimestamp\n \n \n \n Optional\n lastSuccessfulFullSync\n \n \n \n Optional\n lastSuccessfulPartialSync\n \n \n \n Optional\n lastSyncAttempt\n \n \n \n Optional\n provider\n \n \n \n Optional\n providerOptions\n \n \n \n Optional\n rootPath\n \n \n \n Optional\n searchUser\n \n \n \n Optional\n searchUserPassword\n \n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ldapConfig: Readonly)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:76\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ldapConfig\n \n \n Readonly\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n active\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:93\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n federalState\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:96\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n lastModifyTimestamp\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:108\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n lastSuccessfulFullSync\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:102\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n lastSuccessfulPartialSync\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:105\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n lastSyncAttempt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:99\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n provider\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:123\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n providerOptions\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:126\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n rootPath\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:114\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n searchUser\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:117\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n searchUserPassword\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:120\n \n \n\n\n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:111\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Embedded, Entity, Enum, Property } from '@mikro-orm/core';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface SystemEntityProps {\n\ttype: string;\n\turl?: string;\n\talias?: string;\n\tdisplayName?: string;\n\toauthConfig?: OauthConfigEntity;\n\toidcConfig?: OidcConfigEntity;\n\tldapConfig?: LdapConfigEntity;\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\tprovisioningUrl?: string;\n}\n\nexport class OauthConfigEntity {\n\tconstructor(oauthConfig: OauthConfigEntity) {\n\t\tthis.clientId = oauthConfig.clientId;\n\t\tthis.clientSecret = oauthConfig.clientSecret;\n\t\tthis.idpHint = oauthConfig.idpHint;\n\t\tthis.tokenEndpoint = oauthConfig.tokenEndpoint;\n\t\tthis.grantType = oauthConfig.grantType;\n\t\tthis.redirectUri = oauthConfig.redirectUri;\n\t\tthis.scope = oauthConfig.scope;\n\t\tthis.responseType = oauthConfig.responseType;\n\t\tthis.authEndpoint = oauthConfig.authEndpoint;\n\t\tthis.provider = oauthConfig.provider;\n\t\tthis.logoutEndpoint = oauthConfig.logoutEndpoint;\n\t\tthis.issuer = oauthConfig.issuer;\n\t\tthis.jwksEndpoint = oauthConfig.jwksEndpoint;\n\t}\n\n\t@Property()\n\tclientId: string;\n\n\t@Property()\n\tclientSecret: string;\n\n\t@Property({ nullable: true })\n\tidpHint?: string;\n\n\t@Property()\n\tredirectUri: string;\n\n\t@Property()\n\tgrantType: string;\n\n\t@Property()\n\ttokenEndpoint: string;\n\n\t@Property()\n\tauthEndpoint: string;\n\n\t@Property()\n\tresponseType: string;\n\n\t@Property()\n\tscope: string;\n\n\t@Property()\n\tprovider: string;\n\n\t@Property({ nullable: true })\n\tlogoutEndpoint?: string;\n\n\t@Property()\n\tissuer: string;\n\n\t@Property()\n\tjwksEndpoint: string;\n}\n\n@Embeddable()\nexport class LdapConfigEntity {\n\tconstructor(ldapConfig: Readonly) {\n\t\tthis.active = ldapConfig.active;\n\t\tthis.federalState = ldapConfig.federalState;\n\t\tthis.lastSyncAttempt = ldapConfig.lastSyncAttempt;\n\t\tthis.lastSuccessfulFullSync = ldapConfig.lastSuccessfulFullSync;\n\t\tthis.lastSuccessfulPartialSync = ldapConfig.lastSuccessfulPartialSync;\n\t\tthis.lastModifyTimestamp = ldapConfig.lastModifyTimestamp;\n\t\tthis.url = ldapConfig.url;\n\t\tthis.rootPath = ldapConfig.rootPath;\n\t\tthis.searchUser = ldapConfig.searchUser;\n\t\tthis.searchUserPassword = ldapConfig.searchUserPassword;\n\t\tthis.provider = ldapConfig.provider;\n\t\tthis.providerOptions = ldapConfig.providerOptions;\n\t}\n\n\t@Property({ nullable: true })\n\tactive?: boolean;\n\n\t@Property({ nullable: true })\n\tfederalState?: EntityId;\n\n\t@Property({ nullable: true })\n\tlastSyncAttempt?: Date;\n\n\t@Property({ nullable: true })\n\tlastSuccessfulFullSync?: Date;\n\n\t@Property({ nullable: true })\n\tlastSuccessfulPartialSync?: Date;\n\n\t@Property({ nullable: true })\n\tlastModifyTimestamp?: string;\n\n\t@Property()\n\turl: string;\n\n\t@Property({ nullable: true })\n\trootPath?: string;\n\n\t@Property({ nullable: true })\n\tsearchUser?: string;\n\n\t@Property({ nullable: true })\n\tsearchUserPassword?: string;\n\n\t@Property({ nullable: true })\n\tprovider?: string;\n\n\t@Property({ nullable: true })\n\tproviderOptions?: {\n\t\tschoolName?: string;\n\t\tuserPathAdditions?: string;\n\t\tclassPathAdditions?: string;\n\t\troleType?: string;\n\t\tuserAttributeNameMapping?: {\n\t\t\tgivenName?: string;\n\t\t\tsn?: string;\n\t\t\tdn?: string;\n\t\t\tuuid?: string;\n\t\t\tuid?: string;\n\t\t\tmail?: string;\n\t\t\trole?: string;\n\t\t};\n\t\troleAttributeNameMapping?: {\n\t\t\troleStudent?: string;\n\t\t\troleTeacher?: string;\n\t\t\troleAdmin?: string;\n\t\t\troleNoSc?: string;\n\t\t};\n\t\tclassAttributeNameMapping?: {\n\t\t\tdescription?: string;\n\t\t\tdn?: string;\n\t\t\tuniqueMember?: string;\n\t\t};\n\t};\n}\nexport class OidcConfigEntity {\n\tconstructor(oidcConfig: OidcConfigEntity) {\n\t\tthis.clientId = oidcConfig.clientId;\n\t\tthis.clientSecret = oidcConfig.clientSecret;\n\t\tthis.idpHint = oidcConfig.idpHint;\n\t\tthis.authorizationUrl = oidcConfig.authorizationUrl;\n\t\tthis.tokenUrl = oidcConfig.tokenUrl;\n\t\tthis.logoutUrl = oidcConfig.logoutUrl;\n\t\tthis.userinfoUrl = oidcConfig.userinfoUrl;\n\t\tthis.defaultScopes = oidcConfig.defaultScopes;\n\t}\n\n\t@Property()\n\tclientId: string;\n\n\t@Property()\n\tclientSecret: string;\n\n\t@Property()\n\tidpHint: string;\n\n\t@Property()\n\tauthorizationUrl: string;\n\n\t@Property()\n\ttokenUrl: string;\n\n\t@Property()\n\tlogoutUrl: string;\n\n\t@Property()\n\tuserinfoUrl: string;\n\n\t@Property()\n\tdefaultScopes: string;\n}\n\n@Entity({ tableName: 'systems' })\nexport class SystemEntity extends BaseEntityWithTimestamps {\n\tconstructor(props: SystemEntityProps) {\n\t\tsuper();\n\t\tthis.type = props.type;\n\t\tthis.url = props.url;\n\t\tthis.alias = props.alias;\n\t\tthis.displayName = props.displayName;\n\t\tthis.oauthConfig = props.oauthConfig;\n\t\tthis.oidcConfig = props.oidcConfig;\n\t\tthis.ldapConfig = props.ldapConfig;\n\t\tthis.provisioningStrategy = props.provisioningStrategy;\n\t\tthis.provisioningUrl = props.provisioningUrl;\n\t}\n\n\t@Property({ nullable: false })\n\ttype: string; // see legacy enum for valid values\n\n\t@Property({ nullable: true })\n\turl?: string;\n\n\t@Property({ nullable: true })\n\talias?: string;\n\n\t@Property({ nullable: true })\n\tdisplayName?: string;\n\n\t@Property({ nullable: true })\n\toauthConfig?: OauthConfigEntity;\n\n\t@Property({ nullable: true })\n\t@Enum()\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\n\t@Property({ nullable: true })\n\toidcConfig?: OidcConfigEntity;\n\n\t@Embedded({ entity: () => LdapConfigEntity, object: true, nullable: true })\n\tldapConfig?: LdapConfigEntity;\n\n\t@Property({ nullable: true })\n\tprovisioningUrl?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LdapConnectionError.html":{"url":"classes/LdapConnectionError.html","title":"class - LdapConnectionError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LdapConnectionError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/errors/ldap-connection.error.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(details?: Record)\n \n \n \n \n Defined in apps/server/src/modules/authentication/errors/ldap-connection.error.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n details\n \n \n Record\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { BusinessError } from '@shared/common';\n\nexport class LdapConnectionError extends BusinessError {\n\tconstructor(details?: Record) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'LDAP_CONNECTION_FAILED',\n\t\t\t\ttitle: 'LDAP connection failed',\n\t\t\t\tdefaultMessage: 'LDAP connection failed',\n\t\t\t},\n\t\t\tHttpStatus.BAD_GATEWAY,\n\t\t\tdetails\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LdapService.html":{"url":"injectables/LdapService.html","title":"injectable - LdapService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LdapService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/services/ldap.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n checkLdapCredentials\n \n \n Private\n connect\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/authentication/services/ldap.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n checkLdapCredentials\n \n \n \n \n \n \n \n checkLdapCredentials(system: SystemEntity, username: string, password: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/services/ldap.service.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n system\n \n SystemEntity\n \n\n \n No\n \n\n\n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n password\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n connect\n \n \n \n \n \n \n \n connect(system: SystemEntity, username: string, password: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/services/ldap.service.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n system\n \n SystemEntity\n \n\n \n No\n \n\n\n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n password\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, UnauthorizedException } from '@nestjs/common';\nimport { SystemEntity } from '@shared/domain/entity';\nimport { ErrorUtils } from '@src/core/error/utils';\nimport { LegacyLogger } from '@src/core/logger';\nimport { Client, createClient } from 'ldapjs';\nimport { LdapConnectionError } from '../errors/ldap-connection.error';\n\n@Injectable()\nexport class LdapService {\n\tconstructor(private readonly logger: LegacyLogger) {\n\t\tthis.logger.setContext(LdapService.name);\n\t}\n\n\tasync checkLdapCredentials(system: SystemEntity, username: string, password: string): Promise {\n\t\tconst connection = await this.connect(system, username, password);\n\t\tif (connection.connected) {\n\t\t\tconnection.unbind();\n\t\t\treturn;\n\t\t}\n\t\tthrow new UnauthorizedException('User could not authenticate');\n\t}\n\n\tprivate connect(system: SystemEntity, username: string, password: string): Promise {\n\t\tconst { ldapConfig } = system;\n\t\tif (!ldapConfig) {\n\t\t\tthrow Error(`no LDAP config found in system ${system.id}`);\n\t\t}\n\t\tconst client: Client = createClient({\n\t\t\turl: ldapConfig.url,\n\t\t\treconnect: {\n\t\t\t\tinitialDelay: 100,\n\t\t\t\tmaxDelay: 300,\n\t\t\t\tfailAfter: 3,\n\t\t\t},\n\t\t});\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tclient.on('connect', () => {\n\t\t\t\tclient.bind(username, password, (err) => {\n\t\t\t\t\tif (err) {\n\t\t\t\t\t\tthis.logger.debug(err);\n\t\t\t\t\t\treject(\n\t\t\t\t\t\t\tnew UnauthorizedException(\n\t\t\t\t\t\t\t\t'User could not authenticate',\n\t\t\t\t\t\t\t\tErrorUtils.createHttpExceptionOptions(err, 'LdapService:connect')\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.logger.debug('[LDAP] Bind successful');\n\t\t\t\t\t\tresolve(client);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t\tclient.on('error', (err) => {\n\t\t\t\treject(new LdapConnectionError({ error: err }));\n\t\t\t});\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LdapStrategy.html":{"url":"injectables/LdapStrategy.html","title":"injectable - LdapStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LdapStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/strategy/ldap.strategy.ts\n \n\n\n\n \n Extends\n \n \n PassportStrategy(Strategy, 'ldap')\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n checkCredentials\n \n \n Private\n checkValue\n \n \n Private\n extractParamsFromRequest\n \n \n Private\n Async\n loadAccount\n \n \n Async\n validate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(systemRepo: LegacySystemRepo, schoolRepo: LegacySchoolRepo, ldapService: LdapService, authenticationService: AuthenticationService, userRepo: UserRepo, logger: Logger)\n \n \n \n \n Defined in apps/server/src/modules/authentication/strategy/ldap.strategy.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemRepo\n \n \n LegacySystemRepo\n \n \n \n No\n \n \n \n \n schoolRepo\n \n \n LegacySchoolRepo\n \n \n \n No\n \n \n \n \n ldapService\n \n \n LdapService\n \n \n \n No\n \n \n \n \n authenticationService\n \n \n AuthenticationService\n \n \n \n No\n \n \n \n \n userRepo\n \n \n UserRepo\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n checkCredentials\n \n \n \n \n \n \n \n checkCredentials(account: AccountDto, system: SystemEntity, ldapDn: string, password: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/ldap.strategy.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n AccountDto\n \n\n \n No\n \n\n\n \n \n system\n \n SystemEntity\n \n\n \n No\n \n\n\n \n \n ldapDn\n \n string\n \n\n \n No\n \n\n\n \n \n password\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n checkValue\n \n \n \n \n \n \n \n checkValue(value: T | null | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/ldap.strategy.ts:69\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n T | null | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T | never\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n extractParamsFromRequest\n \n \n \n \n \n \n \n extractParamsFromRequest(request: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/ldap.strategy.ts:57\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n request\n \n literal type\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Required\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n loadAccount\n \n \n \n \n \n \n \n loadAccount(username: string, systemId: string, school: LegacySchoolDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/ldap.strategy.ts:92\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n school\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n validate\n \n \n \n \n \n \n \n validate(request: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/ldap.strategy.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n request\n \n literal type\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AccountDto } from '@modules/account/services/dto';\nimport { Injectable, UnauthorizedException } from '@nestjs/common';\nimport { PassportStrategy } from '@nestjs/passport';\nimport { LegacySchoolDo } from '@shared/domain/domainobject';\nimport { SystemEntity, User } from '@shared/domain/entity';\nimport { LegacySchoolRepo, LegacySystemRepo, UserRepo } from '@shared/repo';\nimport { ErrorLoggable } from '@src/core/error/loggable/error.loggable';\nimport { Logger } from '@src/core/logger';\nimport { Strategy } from 'passport-custom';\nimport { LdapAuthorizationBodyParams } from '../controllers/dto';\nimport { ICurrentUser } from '../interface';\nimport { CurrentUserMapper } from '../mapper';\nimport { AuthenticationService } from '../services/authentication.service';\nimport { LdapService } from '../services/ldap.service';\n\n@Injectable()\nexport class LdapStrategy extends PassportStrategy(Strategy, 'ldap') {\n\tconstructor(\n\t\tprivate readonly systemRepo: LegacySystemRepo,\n\t\tprivate readonly schoolRepo: LegacySchoolRepo,\n\t\tprivate readonly ldapService: LdapService,\n\t\tprivate readonly authenticationService: AuthenticationService,\n\t\tprivate readonly userRepo: UserRepo,\n\t\tprivate readonly logger: Logger\n\t) {\n\t\tsuper();\n\t}\n\n\tasync validate(request: { body: LdapAuthorizationBodyParams }): Promise {\n\t\tconst { username, password, systemId, schoolId } = this.extractParamsFromRequest(request);\n\n\t\tconst system: SystemEntity = await this.systemRepo.findById(systemId);\n\n\t\tconst school: LegacySchoolDo = await this.schoolRepo.findById(schoolId);\n\n\t\tif (!school.systems || !school.systems.includes(systemId)) {\n\t\t\tthrow new UnauthorizedException(`School ${schoolId} does not have the selected system ${systemId}`);\n\t\t}\n\n\t\tconst account: AccountDto = await this.loadAccount(username, system.id, school);\n\n\t\tconst userId: string = this.checkValue(account.userId);\n\n\t\tthis.authenticationService.checkBrutForce(account);\n\n\t\tconst user: User = await this.userRepo.findById(userId);\n\n\t\tconst ldapDn: string = this.checkValue(user.ldapDn);\n\n\t\tawait this.checkCredentials(account, system, ldapDn, password);\n\n\t\tconst currentUser: ICurrentUser = CurrentUserMapper.userToICurrentUser(account.id, user, true, systemId);\n\n\t\treturn currentUser;\n\t}\n\n\tprivate extractParamsFromRequest(request: {\n\t\tbody: LdapAuthorizationBodyParams;\n\t}): Required {\n\t\tconst { systemId, schoolId } = request.body;\n\t\tlet { username, password } = request.body;\n\n\t\tusername = this.authenticationService.normalizeUsername(username);\n\t\tpassword = this.authenticationService.normalizePassword(password);\n\n\t\treturn { username, password, systemId, schoolId };\n\t}\n\n\tprivate checkValue(value: T | null | undefined): T | never {\n\t\tif (value === null || value === undefined) {\n\t\t\tthrow new UnauthorizedException();\n\t\t}\n\t\treturn value;\n\t}\n\n\tprivate async checkCredentials(\n\t\taccount: AccountDto,\n\t\tsystem: SystemEntity,\n\t\tldapDn: string,\n\t\tpassword: string\n\t): Promise {\n\t\ttry {\n\t\t\tawait this.ldapService.checkLdapCredentials(system, ldapDn, password);\n\t\t} catch (error) {\n\t\t\tif (error instanceof UnauthorizedException) {\n\t\t\t\tawait this.authenticationService.updateLastTriedFailedLogin(account.id);\n\t\t\t}\n\t\t\tthrow error;\n\t\t}\n\t}\n\n\tprivate async loadAccount(username: string, systemId: string, school: LegacySchoolDo): Promise {\n\t\tconst externalSchoolId = this.checkValue(school.externalId);\n\n\t\tlet account: AccountDto;\n\n\t\t// TODO having to check for two values in order to find an account is not optimal and should be changed.\n\t\t// The way the name field of Accounts is used for LDAP should be reconsidered, since\n\t\t// mixing the login name with a technical id from a foreign system is not a good pattern.\n\t\t// Binding the login name to an identifier from a foreign system or an identifier of a school can lead to\n\t\t// accounts not being found when the identifier changes.\n\t\ttry {\n\t\t\taccount = await this.authenticationService.loadAccount(`${externalSchoolId}/${username}`.toLowerCase(), systemId);\n\t\t} catch (err: unknown) {\n\t\t\tif (school.previousExternalId) {\n\t\t\t\tthis.logger.info(\n\t\t\t\t\tnew ErrorLoggable(\n\t\t\t\t\t\tnew Error(\n\t\t\t\t\t\t\t`Could not find LDAP account with externalSchoolId ${externalSchoolId} for user ${username}. Trying to use the previousExternalId ${school.previousExternalId} next...`\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t);\n\n\t\t\t\taccount = await this.authenticationService.loadAccount(\n\t\t\t\t\t`${school.previousExternalId}/${username}`.toLowerCase(),\n\t\t\t\t\tsystemId\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tthrow err;\n\t\t\t}\n\t\t}\n\n\t\treturn account;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LdapUserMigrationException.html":{"url":"classes/LdapUserMigrationException.html","title":"class - LdapUserMigrationException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LdapUserMigrationException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/uc/ldap-user-migration.error.ts\n \n\n\n\n \n Extends\n \n \n BadRequestException\n \n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n \n import { BadRequestException, HttpExceptionOptions } from '@nestjs/common';\nimport { ErrorLogMessage, LogMessage, Loggable, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class LdapUserMigrationException extends BadRequestException {}\n\nexport class LdapAlreadyPersistedException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('ldapAlreadyPersisted', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'LDAP is already Persisted',\n\t\t};\n\t}\n}\nexport class MissingSchoolNumberException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('LDAP migration Exception', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'The school is missing a official school number',\n\t\t};\n\t}\n}\nexport class MigrationAlreadyActivatedException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('LDAP migration Exception', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'Migration is already activated for this school',\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Learnroom.html":{"url":"interfaces/Learnroom.html","title":"interface - Learnroom","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Learnroom\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/interface/learnroom.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n getMetadata\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n getMetadata\n \n \n \n \n \n \n \n \n getMetadata: function\n\n \n \n\n\n \n \n Type : function\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { LearnroomMetadata } from '@shared/domain/types';\n\nexport interface Learnroom {\n\tgetMetadata: () => LearnroomMetadata;\n}\n\nexport interface LearnroomElement {\n\tpublish: () => void;\n\tunpublish: () => void;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/LearnroomApiModule.html":{"url":"modules/LearnroomApiModule.html","title":"module - LearnroomApiModule","body":"\n \n\n\n\n\n Modules\n LearnroomApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_LearnroomApiModule\n\n\n\ncluster_LearnroomApiModule_imports\n\n\n\ncluster_LearnroomApiModule_providers\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nLearnroomApiModule\n\nLearnroomApiModule\n\nLearnroomApiModule -->\n\nAuthorizationModule->LearnroomApiModule\n\n\n\n\n\nAuthorizationReferenceModule\n\nAuthorizationReferenceModule\n\nLearnroomApiModule -->\n\nAuthorizationReferenceModule->LearnroomApiModule\n\n\n\n\n\nCopyHelperModule\n\nCopyHelperModule\n\nLearnroomApiModule -->\n\nCopyHelperModule->LearnroomApiModule\n\n\n\n\n\nLearnroomModule\n\nLearnroomModule\n\nLearnroomApiModule -->\n\nLearnroomModule->LearnroomApiModule\n\n\n\n\n\nLessonModule\n\nLessonModule\n\nLearnroomApiModule -->\n\nLessonModule->LearnroomApiModule\n\n\n\n\n\nBoardRepo\n\nBoardRepo\n\nLearnroomApiModule -->\n\nBoardRepo->LearnroomApiModule\n\n\n\n\n\nCourseCopyUC\n\nCourseCopyUC\n\nLearnroomApiModule -->\n\nCourseCopyUC->LearnroomApiModule\n\n\n\n\n\nCourseExportUc\n\nCourseExportUc\n\nLearnroomApiModule -->\n\nCourseExportUc->LearnroomApiModule\n\n\n\n\n\nCourseRepo\n\nCourseRepo\n\nLearnroomApiModule -->\n\nCourseRepo->LearnroomApiModule\n\n\n\n\n\nCourseUc\n\nCourseUc\n\nLearnroomApiModule -->\n\nCourseUc->LearnroomApiModule\n\n\n\n\n\nDashboardModelMapper\n\nDashboardModelMapper\n\nLearnroomApiModule -->\n\nDashboardModelMapper->LearnroomApiModule\n\n\n\n\n\nDashboardUc\n\nDashboardUc\n\nLearnroomApiModule -->\n\nDashboardUc->LearnroomApiModule\n\n\n\n\n\nLessonCopyUC\n\nLessonCopyUC\n\nLearnroomApiModule -->\n\nLessonCopyUC->LearnroomApiModule\n\n\n\n\n\nRoomBoardDTOFactory\n\nRoomBoardDTOFactory\n\nLearnroomApiModule -->\n\nRoomBoardDTOFactory->LearnroomApiModule\n\n\n\n\n\nRoomBoardResponseMapper\n\nRoomBoardResponseMapper\n\nLearnroomApiModule -->\n\nRoomBoardResponseMapper->LearnroomApiModule\n\n\n\n\n\nRoomsAuthorisationService\n\nRoomsAuthorisationService\n\nLearnroomApiModule -->\n\nRoomsAuthorisationService->LearnroomApiModule\n\n\n\n\n\nRoomsUc\n\nRoomsUc\n\nLearnroomApiModule -->\n\nRoomsUc->LearnroomApiModule\n\n\n\n\n\nUserRepo\n\nUserRepo\n\nLearnroomApiModule -->\n\nUserRepo->LearnroomApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/learnroom/learnroom-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n BoardRepo\n \n \n CourseCopyUC\n \n \n CourseExportUc\n \n \n CourseRepo\n \n \n CourseUc\n \n \n DashboardModelMapper\n \n \n DashboardUc\n \n \n LessonCopyUC\n \n \n RoomBoardDTOFactory\n \n \n RoomBoardResponseMapper\n \n \n RoomsAuthorisationService\n \n \n RoomsUc\n \n \n UserRepo\n \n \n \n \n Controllers\n \n \n DashboardController\n \n \n CourseController\n \n \n RoomsController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n AuthorizationReferenceModule\n \n \n CopyHelperModule\n \n \n LearnroomModule\n \n \n LessonModule\n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationModule } from '@modules/authorization';\nimport { AuthorizationReferenceModule } from '@modules/authorization/authorization-reference.module';\nimport { CopyHelperModule } from '@modules/copy-helper';\nimport { LessonModule } from '@modules/lesson';\nimport { Module } from '@nestjs/common';\nimport { BoardRepo, CourseRepo, DashboardModelMapper, DashboardRepo, UserRepo } from '@shared/repo';\nimport { CourseController } from './controller/course.controller';\nimport { DashboardController } from './controller/dashboard.controller';\nimport { RoomsController } from './controller/rooms.controller';\nimport { LearnroomModule } from './learnroom.module';\nimport { RoomBoardResponseMapper } from './mapper/room-board-response.mapper';\nimport {\n\tCourseCopyUC,\n\tCourseExportUc,\n\tCourseUc,\n\tDashboardUc,\n\tLessonCopyUC,\n\tRoomBoardDTOFactory,\n\tRoomsAuthorisationService,\n\tRoomsUc,\n} from './uc';\n\n@Module({\n\timports: [AuthorizationModule, LessonModule, CopyHelperModule, LearnroomModule, AuthorizationReferenceModule],\n\tcontrollers: [DashboardController, CourseController, RoomsController],\n\tproviders: [\n\t\tDashboardUc,\n\t\tCourseUc,\n\t\tRoomsUc,\n\t\tRoomBoardResponseMapper,\n\t\tRoomBoardDTOFactory,\n\t\tLessonCopyUC,\n\t\tCourseCopyUC,\n\t\tRoomsAuthorisationService,\n\t\tCourseExportUc,\n\t\t// FIXME Refactor UCs to use services and remove these imports\n\t\t{\n\t\t\tprovide: 'DASHBOARD_REPO',\n\t\t\tuseClass: DashboardRepo,\n\t\t},\n\t\tDashboardModelMapper,\n\t\tCourseRepo,\n\t\tUserRepo,\n\t\tBoardRepo,\n\t],\n})\nexport class LearnroomApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/LearnroomElement.html":{"url":"interfaces/LearnroomElement.html","title":"interface - LearnroomElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n LearnroomElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/interface/learnroom.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n publish\n \n \n \n \n unpublish\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n publish\n \n \n \n \n \n \n \n \n publish: function\n\n \n \n\n\n \n \n Type : function\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n unpublish\n \n \n \n \n \n \n \n \n unpublish: function\n\n \n \n\n\n \n \n Type : function\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { LearnroomMetadata } from '@shared/domain/types';\n\nexport interface Learnroom {\n\tgetMetadata: () => LearnroomMetadata;\n}\n\nexport interface LearnroomElement {\n\tpublish: () => void;\n\tunpublish: () => void;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/LearnroomModule.html":{"url":"modules/LearnroomModule.html","title":"module - LearnroomModule","body":"\n \n\n\n\n\n Modules\n LearnroomModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_LearnroomModule\n\n\n\ncluster_LearnroomModule_providers\n\n\n\ncluster_LearnroomModule_imports\n\n\n\ncluster_LearnroomModule_exports\n\n\n\n\nBoardModule\n\nBoardModule\n\n\n\nLearnroomModule\n\nLearnroomModule\n\nLearnroomModule -->\n\nBoardModule->LearnroomModule\n\n\n\n\n\nCopyHelperModule\n\nCopyHelperModule\n\nLearnroomModule -->\n\nCopyHelperModule->LearnroomModule\n\n\n\n\n\nLessonModule\n\nLessonModule\n\nLearnroomModule -->\n\nLessonModule->LearnroomModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nLearnroomModule -->\n\nLoggerModule->LearnroomModule\n\n\n\n\n\nTaskModule\n\nTaskModule\n\nLearnroomModule -->\n\nTaskModule->LearnroomModule\n\n\n\n\n\nCommonCartridgeExportService \n\nCommonCartridgeExportService \n\nCommonCartridgeExportService -->\n\nLearnroomModule->CommonCartridgeExportService \n\n\n\n\n\nCourseCopyService \n\nCourseCopyService \n\nCourseCopyService -->\n\nLearnroomModule->CourseCopyService \n\n\n\n\n\nCourseGroupService \n\nCourseGroupService \n\nCourseGroupService -->\n\nLearnroomModule->CourseGroupService \n\n\n\n\n\nCourseService \n\nCourseService \n\nCourseService -->\n\nLearnroomModule->CourseService \n\n\n\n\n\nRoomsService \n\nRoomsService \n\nRoomsService -->\n\nLearnroomModule->RoomsService \n\n\n\n\n\nBoardCopyService\n\nBoardCopyService\n\nLearnroomModule -->\n\nBoardCopyService->LearnroomModule\n\n\n\n\n\nBoardRepo\n\nBoardRepo\n\nLearnroomModule -->\n\nBoardRepo->LearnroomModule\n\n\n\n\n\nColumnBoardTargetService\n\nColumnBoardTargetService\n\nLearnroomModule -->\n\nColumnBoardTargetService->LearnroomModule\n\n\n\n\n\nCommonCartridgeExportService\n\nCommonCartridgeExportService\n\nLearnroomModule -->\n\nCommonCartridgeExportService->LearnroomModule\n\n\n\n\n\nCourseCopyService\n\nCourseCopyService\n\nLearnroomModule -->\n\nCourseCopyService->LearnroomModule\n\n\n\n\n\nCourseGroupRepo\n\nCourseGroupRepo\n\nLearnroomModule -->\n\nCourseGroupRepo->LearnroomModule\n\n\n\n\n\nCourseGroupService\n\nCourseGroupService\n\nLearnroomModule -->\n\nCourseGroupService->LearnroomModule\n\n\n\n\n\nCourseRepo\n\nCourseRepo\n\nLearnroomModule -->\n\nCourseRepo->LearnroomModule\n\n\n\n\n\nCourseService\n\nCourseService\n\nLearnroomModule -->\n\nCourseService->LearnroomModule\n\n\n\n\n\nDashboardModelMapper\n\nDashboardModelMapper\n\nLearnroomModule -->\n\nDashboardModelMapper->LearnroomModule\n\n\n\n\n\nRoomsService\n\nRoomsService\n\nLearnroomModule -->\n\nRoomsService->LearnroomModule\n\n\n\n\n\nUserRepo\n\nUserRepo\n\nLearnroomModule -->\n\nUserRepo->LearnroomModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/learnroom/learnroom.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n BoardCopyService\n \n \n BoardRepo\n \n \n ColumnBoardTargetService\n \n \n CommonCartridgeExportService\n \n \n CourseCopyService\n \n \n CourseGroupRepo\n \n \n CourseGroupService\n \n \n CourseRepo\n \n \n CourseService\n \n \n DashboardModelMapper\n \n \n RoomsService\n \n \n UserRepo\n \n \n \n \n Imports\n \n \n BoardModule\n \n \n CopyHelperModule\n \n \n LessonModule\n \n \n LoggerModule\n \n \n TaskModule\n \n \n \n \n Exports\n \n \n CommonCartridgeExportService\n \n \n CourseCopyService\n \n \n CourseGroupService\n \n \n CourseService\n \n \n RoomsService\n \n \n \n \n \n\n\n \n\n\n \n import { BoardModule } from '@modules/board';\nimport { CopyHelperModule } from '@modules/copy-helper';\nimport { LessonModule } from '@modules/lesson';\nimport { TaskModule } from '@modules/task';\nimport { Module } from '@nestjs/common';\nimport { BoardRepo, CourseGroupRepo, CourseRepo, DashboardModelMapper, DashboardRepo, UserRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport {\n\tBoardCopyService,\n\tColumnBoardTargetService,\n\tCommonCartridgeExportService,\n\tCourseCopyService,\n\tCourseGroupService,\n\tCourseService,\n\tRoomsService,\n} from './service';\n\n@Module({\n\timports: [LessonModule, TaskModule, CopyHelperModule, BoardModule, LoggerModule],\n\tproviders: [\n\t\t{\n\t\t\tprovide: 'DASHBOARD_REPO',\n\t\t\tuseClass: DashboardRepo,\n\t\t},\n\t\tDashboardModelMapper,\n\t\tCourseRepo,\n\t\tBoardRepo,\n\t\tUserRepo,\n\t\tBoardCopyService,\n\t\tCourseCopyService,\n\t\tRoomsService,\n\t\tCourseService,\n\t\tCommonCartridgeExportService,\n\t\tColumnBoardTargetService,\n\t\tCourseGroupService,\n\t\tCourseGroupRepo,\n\t],\n\texports: [CourseCopyService, CourseService, RoomsService, CommonCartridgeExportService, CourseGroupService],\n})\nexport class LearnroomModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LegacyLogger.html":{"url":"injectables/LegacyLogger.html","title":"injectable - LegacyLogger","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LegacyLogger\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/logger/legacy-logger.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n context\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n createMessage\n \n \n debug\n \n \n error\n \n \n http\n \n \n log\n \n \n setContext\n \n \n Private\n stringifiedMessage\n \n \n warn\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: WinstonLogger)\n \n \n \n \n Defined in apps/server/src/core/logger/legacy-logger.service.ts:22\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n WinstonLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n createMessage\n \n \n \n \n \n \n \n createMessage(message, context?: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/legacy-logger.service.ts:54\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n \n\n \n No\n \n\n\n \n \n context\n \n string | undefined\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : { message: any; context: string; }\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n debug\n \n \n \n \n \n \ndebug(message, context?: string)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/legacy-logger.service.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n \n\n \n No\n \n\n\n \n \n context\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n error\n \n \n \n \n \n \nerror(message, trace?, context?: string)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/legacy-logger.service.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n \n\n \n No\n \n\n\n \n \n trace\n \n \n\n \n Yes\n \n\n\n \n \n context\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n http\n \n \n \n \n \n \nhttp(message: RequestLoggingBody, context?: string)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/legacy-logger.service.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n RequestLoggingBody\n \n\n \n No\n \n\n\n \n \n context\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n log\n \n \n \n \n \n \nlog(message, context?: string)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/legacy-logger.service.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n \n\n \n No\n \n\n\n \n \n context\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setContext\n \n \n \n \n \n \nsetContext(name: string)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/legacy-logger.service.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n stringifiedMessage\n \n \n \n \n \n \n \n stringifiedMessage(message)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/legacy-logger.service.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n message\n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n warn\n \n \n \n \n \n \nwarn(message, context?: string)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/legacy-logger.service.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n \n\n \n No\n \n\n\n \n \n context\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n context\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : ''\n \n \n \n \n Defined in apps/server/src/core/logger/legacy-logger.service.ts:22\n \n \n\n \n \n This Logger Service can be injected into every Class,\nuse setContext() with CustomProviderClass.name that will be added to every log.\nIt implements @ILegacyLogger which provides the logger methods.\nCAUTION: PREPARE STRINGS AS LOG DATA, DO NOT LOG COMPLEX DATA STRUCTURES\n\n \n \n\n \n \n\n\n \n\n\n \n import { Inject, Injectable, Scope } from '@nestjs/common';\nimport { WINSTON_MODULE_PROVIDER } from 'nest-winston';\nimport util from 'util';\nimport { Logger as WinstonLogger } from 'winston';\nimport { RequestLoggingBody } from './interfaces';\nimport { ILegacyLogger } from './interfaces/legacy-logger.interface';\n\n@Injectable({ scope: Scope.TRANSIENT })\n/**\n * @deprecated The new logger for loggables should be used.\n * Default logger for server application.\n * Must implement ILegacyLogger but must not extend ConsoleLogger (this can be changed).\n * Transient injection: Wherever injected, a separate instance will be created, that can be provided with a custom context.\n */\nexport class LegacyLogger implements ILegacyLogger {\n\t/**\n\t * This Logger Service can be injected into every Class,\n\t * use setContext() with CustomProviderClass.name that will be added to every log.\n\t * It implements @ILegacyLogger which provides the logger methods.\n\t * CAUTION: PREPARE STRINGS AS LOG DATA, DO NOT LOG COMPLEX DATA STRUCTURES\n\t */\n\tprivate context = '';\n\n\tconstructor(@Inject(WINSTON_MODULE_PROVIDER) private readonly logger: WinstonLogger) {}\n\n\tlog(message: unknown, context?: string): void {\n\t\tthis.logger.info(this.createMessage(message, context));\n\t}\n\n\twarn(message: unknown, context?: string): void {\n\t\tthis.logger.warning(this.createMessage(message, context));\n\t}\n\n\tdebug(message: unknown, context?: string): void {\n\t\tthis.logger.debug(this.createMessage(message, context));\n\t}\n\n\thttp(message: RequestLoggingBody, context?: string): void {\n\t\tthis.logger.notice(this.createMessage(message, context));\n\t}\n\n\terror(message: unknown, trace?: unknown, context?: string): void {\n\t\tconst result = {\n\t\t\tmessage,\n\t\t\ttrace,\n\t\t};\n\t\tthis.logger.error(this.createMessage(result, context));\n\t}\n\n\tsetContext(name: string) {\n\t\tthis.context = name;\n\t}\n\n\tprivate createMessage(message: unknown, context?: string | undefined) {\n\t\treturn { message: this.stringifiedMessage(message), context: context || this.context };\n\t}\n\n\tprivate stringifiedMessage(message: unknown) {\n\t\tconst stringifiedMessage = util.inspect(message).replace(/\\n/g, '').replace(/\\\\n/g, '');\n\t\treturn stringifiedMessage;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LegacySchoolDo.html":{"url":"classes/LegacySchoolDo.html","title":"class - LegacySchoolDo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LegacySchoolDo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/legacy-school.do.ts\n \n\n \n Deprecated\n \n \n because it extends the deprecated BaseDO.\n \n\n\n \n Extends\n \n \n BaseDO\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n externalId\n \n \n Optional\n features\n \n \n federalState\n \n \n Optional\n inMaintenanceSince\n \n \n Optional\n inUserMigration\n \n \n name\n \n \n Optional\n officialSchoolNumber\n \n \n Optional\n previousExternalId\n \n \n Optional\n schoolYear\n \n \n Optional\n systems\n \n \n Optional\n userLoginMigrationId\n \n \n Optional\n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(params: LegacySchoolDo)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:31\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n \n LegacySchoolDo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n features\n \n \n \n \n \n \n Type : SchoolFeatures[]\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n federalState\n \n \n \n \n \n \n Type : FederalStateEntity\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n inMaintenanceSince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n inUserMigration\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n officialSchoolNumber\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n previousExternalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n schoolYear\n \n \n \n \n \n \n Type : SchoolYearEntity\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n systems\n \n \n \n \n \n \n Type : EntityId[]\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n userLoginMigrationId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from BaseDO\n\n \n \n \n \n Defined in BaseDO:5\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { FederalStateEntity, SchoolFeatures, SchoolYearEntity } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseDO } from './base.do';\n\n/**\n * @deprecated because it extends the deprecated BaseDO.\n */\nexport class LegacySchoolDo extends BaseDO {\n\texternalId?: string;\n\n\tinMaintenanceSince?: Date;\n\n\tinUserMigration?: boolean;\n\n\tpreviousExternalId?: string;\n\n\tname: string;\n\n\tofficialSchoolNumber?: string;\n\n\tsystems?: EntityId[];\n\n\tfeatures?: SchoolFeatures[];\n\n\t// TODO: N21-990 Refactoring: Create domain objects for schoolYear and federalState\n\tschoolYear?: SchoolYearEntity;\n\n\tuserLoginMigrationId?: EntityId;\n\n\t// TODO: N21-990 Refactoring: Create domain objects for schoolYear and federalState\n\tfederalState: FederalStateEntity;\n\n\tconstructor(params: LegacySchoolDo) {\n\t\tsuper();\n\t\tthis.id = params.id;\n\t\tthis.externalId = params.externalId;\n\t\tthis.features = params.features;\n\t\tthis.inMaintenanceSince = params.inMaintenanceSince;\n\t\tthis.inUserMigration = params.inUserMigration;\n\t\tthis.name = params.name;\n\t\tthis.previousExternalId = params.previousExternalId;\n\t\tthis.officialSchoolNumber = params.officialSchoolNumber;\n\t\tthis.schoolYear = params.schoolYear;\n\t\tthis.systems = params.systems;\n\t\tthis.userLoginMigrationId = params.userLoginMigrationId;\n\t\tthis.federalState = params.federalState;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LegacySchoolFactory.html":{"url":"classes/LegacySchoolFactory.html","title":"class - LegacySchoolFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LegacySchoolFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/domainobject/legacy-school.factory.ts\n \n\n\n\n \n Extends\n \n \n DoBaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n buildWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \n \n buildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { LegacySchoolDo } from '@shared/domain/domainobject';\nimport { federalStateFactory } from '../federal-state.factory';\nimport { schoolYearFactory } from '../schoolyear.factory';\nimport { DoBaseFactory } from './do-base.factory';\n\nclass LegacySchoolFactory extends DoBaseFactory {}\n\nexport const legacySchoolDoFactory = LegacySchoolFactory.define(LegacySchoolDo, ({ sequence }) => {\n\treturn {\n\t\tname: `schoolName-${sequence}`,\n\t\texternalId: '123',\n\t\tfeatures: [],\n\t\tinMaintenanceSince: new Date(2020, 1),\n\t\tinUserMigration: true,\n\t\toauthMigrationMandatory: new Date(2020, 1),\n\t\toauthMigrationPossible: new Date(2020, 1),\n\t\toauthMigrationFinished: new Date(2020, 1),\n\t\tpreviousExternalId: '456',\n\t\tofficialSchoolNumber: '789',\n\t\tsystems: [],\n\t\tfederalState: federalStateFactory.build(),\n\t\tschoolYear: schoolYearFactory.build(),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/LegacySchoolModule.html":{"url":"modules/LegacySchoolModule.html","title":"module - LegacySchoolModule","body":"\n \n\n\n\n\n Modules\n LegacySchoolModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_LegacySchoolModule\n\n\n\ncluster_LegacySchoolModule_providers\n\n\n\ncluster_LegacySchoolModule_imports\n\n\n\ncluster_LegacySchoolModule_exports\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nLegacySchoolModule\n\nLegacySchoolModule\n\nLegacySchoolModule -->\n\nLoggerModule->LegacySchoolModule\n\n\n\n\n\nFederalStateService \n\nFederalStateService \n\nFederalStateService -->\n\nLegacySchoolModule->FederalStateService \n\n\n\n\n\nLegacySchoolService \n\nLegacySchoolService \n\nLegacySchoolService -->\n\nLegacySchoolModule->LegacySchoolService \n\n\n\n\n\nSchoolYearService \n\nSchoolYearService \n\nSchoolYearService -->\n\nLegacySchoolModule->SchoolYearService \n\n\n\n\n\nFederalStateRepo\n\nFederalStateRepo\n\nLegacySchoolModule -->\n\nFederalStateRepo->LegacySchoolModule\n\n\n\n\n\nFederalStateService\n\nFederalStateService\n\nLegacySchoolModule -->\n\nFederalStateService->LegacySchoolModule\n\n\n\n\n\nLegacySchoolRepo\n\nLegacySchoolRepo\n\nLegacySchoolModule -->\n\nLegacySchoolRepo->LegacySchoolModule\n\n\n\n\n\nLegacySchoolService\n\nLegacySchoolService\n\nLegacySchoolModule -->\n\nLegacySchoolService->LegacySchoolModule\n\n\n\n\n\nSchoolValidationService\n\nSchoolValidationService\n\nLegacySchoolModule -->\n\nSchoolValidationService->LegacySchoolModule\n\n\n\n\n\nSchoolYearRepo\n\nSchoolYearRepo\n\nLegacySchoolModule -->\n\nSchoolYearRepo->LegacySchoolModule\n\n\n\n\n\nSchoolYearService\n\nSchoolYearService\n\nLegacySchoolModule -->\n\nSchoolYearService->LegacySchoolModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/legacy-school/legacy-school.module.ts\n \n\n\n \n Deprecated\n \n \n because it uses the deprecated LegacySchoolDo.\n \n\n\n\n \n \n \n Providers\n \n \n FederalStateRepo\n \n \n FederalStateService\n \n \n LegacySchoolRepo\n \n \n LegacySchoolService\n \n \n SchoolValidationService\n \n \n SchoolYearRepo\n \n \n SchoolYearService\n \n \n \n \n Imports\n \n \n LoggerModule\n \n \n \n \n Exports\n \n \n FederalStateService\n \n \n LegacySchoolService\n \n \n SchoolYearService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { FederalStateRepo, LegacySchoolRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { SchoolYearRepo } from './repo';\nimport { FederalStateService, LegacySchoolService, SchoolValidationService, SchoolYearService } from './service';\n\n/**\n * @deprecated because it uses the deprecated LegacySchoolDo.\n */\n@Module({\n\timports: [LoggerModule],\n\tproviders: [\n\t\tLegacySchoolRepo,\n\t\tLegacySchoolService,\n\t\tSchoolYearService,\n\t\tSchoolYearRepo,\n\t\tFederalStateService,\n\t\tFederalStateRepo,\n\t\tSchoolValidationService,\n\t],\n\texports: [LegacySchoolService, SchoolYearService, FederalStateService],\n})\nexport class LegacySchoolModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LegacySchoolRepo.html":{"url":"injectables/LegacySchoolRepo.html","title":"injectable - LegacySchoolRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LegacySchoolRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/school/legacy-school.repo.ts\n \n\n \n Deprecated\n \n \n because it uses the deprecated LegacySchoolDo.\n \n\n\n \n Extends\n \n \n BaseDORepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n entityFactory\n \n \n Async\n findByExternalId\n \n \n Async\n findBySchoolNumber\n \n \n mapDOToEntityProperties\n \n \n mapEntityToDO\n \n \n Private\n createEntity\n \n \n Protected\n createNewEntityFromDO\n \n \n Async\n delete\n \n \n Async\n deleteById\n \n \n Private\n deleteEntityById\n \n \n Async\n findById\n \n \n Private\n removeProtectedEntityFields\n \n \n Async\n save\n \n \n Async\n saveAll\n \n \n Private\n Async\n updateEntity\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(_em: EntityManager, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/shared/repo/school/legacy-school.repo.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n _em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n entityFactory\n \n \n \n \n \n \nentityFactory(props: SchoolProperties)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:40\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n SchoolProperties\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolEntity\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByExternalId\n \n \n \n \n \n \n \n findByExternalId(externalId: string, systemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/school/legacy-school.repo.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalId\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findBySchoolNumber\n \n \n \n \n \n \n \n findBySchoolNumber(officialSchoolNumber: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/school/legacy-school.repo.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n officialSchoolNumber\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapDOToEntityProperties\n \n \n \n \n \n \nmapDOToEntityProperties(entityDO: LegacySchoolDo)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:61\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolProperties\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapEntityToDO\n \n \n \n \n \n \nmapEntityToDO(entity: SchoolEntity)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:44\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n SchoolEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LegacySchoolDo\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createEntity\n \n \n \n \n \n \n \n createEntity(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:44\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : E\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n createNewEntityFromDO\n \n \n \n \n \n \n \n createNewEntityFromDO(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:65\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : E\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(domainObjects: DO[] | DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:87\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[] | DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteById\n \n \n \n \n \n \n [object Object],[object Object],[object Object]\n \n \n \n \n \n deleteById(id: EntityId | EntityId[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:100\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n deleteEntityById\n \n \n \n \n \n \n \n deleteEntityById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:113\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:118\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeProtectedEntityFields\n \n \n \n \n \n \n \n removeProtectedEntityFields(entity: E)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:79\n\n \n \n\n\n \n \n Ignore base entity properties when updating entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n E\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entityDo: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:21\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDo\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAll\n \n \n \n \n \n \n \n saveAll(entityDos: DO[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDos\n \n DO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n updateEntity\n \n \n \n \n \n \n \n updateEntity(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:52\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/school/legacy-school.repo.ts:19\n \n \n\n \n \n\n \n\n\n \n import { EntityName } from '@mikro-orm/core';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { LegacySchoolDo } from '@shared/domain/domainobject';\nimport { SchoolEntity, SchoolProperties, SystemEntity, UserLoginMigrationEntity } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacyLogger } from '@src/core/logger';\nimport { BaseDORepo } from '../base.do.repo';\n\n/**\n * @deprecated because it uses the deprecated LegacySchoolDo.\n */\n@Injectable()\nexport class LegacySchoolRepo extends BaseDORepo {\n\tconstructor(protected readonly _em: EntityManager, protected readonly logger: LegacyLogger) {\n\t\tsuper(_em, logger);\n\t}\n\n\tget entityName(): EntityName {\n\t\treturn SchoolEntity;\n\t}\n\n\tasync findByExternalId(externalId: string, systemId: string): Promise {\n\t\tconst school: SchoolEntity | null = await this._em.findOne(SchoolEntity, { externalId, systems: systemId });\n\n\t\tconst schoolDo: LegacySchoolDo | null = school ? this.mapEntityToDO(school) : null;\n\t\treturn schoolDo;\n\t}\n\n\tasync findBySchoolNumber(officialSchoolNumber: string): Promise {\n\t\tconst [schools, count] = await this._em.findAndCount(SchoolEntity, { officialSchoolNumber });\n\t\tif (count > 1) {\n\t\t\tthrow new InternalServerErrorException(`Multiple schools found for officialSchoolNumber ${officialSchoolNumber}`);\n\t\t}\n\n\t\tconst schoolDo: LegacySchoolDo | null = schools[0] ? this.mapEntityToDO(schools[0]) : null;\n\t\treturn schoolDo;\n\t}\n\n\tentityFactory(props: SchoolProperties): SchoolEntity {\n\t\treturn new SchoolEntity(props);\n\t}\n\n\tmapEntityToDO(entity: SchoolEntity): LegacySchoolDo {\n\t\treturn new LegacySchoolDo({\n\t\t\tid: entity.id,\n\t\t\texternalId: entity.externalId,\n\t\t\tfeatures: entity.features,\n\t\t\tinMaintenanceSince: entity.inMaintenanceSince,\n\t\t\tinUserMigration: entity.inUserMigration,\n\t\t\tname: entity.name,\n\t\t\tpreviousExternalId: entity.previousExternalId,\n\t\t\tofficialSchoolNumber: entity.officialSchoolNumber,\n\t\t\tschoolYear: entity.schoolYear,\n\t\t\tsystems: entity.systems.isInitialized() ? entity.systems.getItems().map((system: SystemEntity) => system.id) : [],\n\t\t\tuserLoginMigrationId: entity.userLoginMigration?.id,\n\t\t\tfederalState: entity.federalState,\n\t\t});\n\t}\n\n\tmapDOToEntityProperties(entityDO: LegacySchoolDo): SchoolProperties {\n\t\treturn {\n\t\t\texternalId: entityDO.externalId,\n\t\t\tfeatures: entityDO.features,\n\t\t\tinMaintenanceSince: entityDO.inMaintenanceSince,\n\t\t\tinUserMigration: entityDO.inUserMigration,\n\t\t\tname: entityDO.name,\n\t\t\tpreviousExternalId: entityDO.previousExternalId,\n\t\t\tofficialSchoolNumber: entityDO.officialSchoolNumber,\n\t\t\tschoolYear: entityDO.schoolYear,\n\t\t\tsystems: entityDO.systems\n\t\t\t\t? entityDO.systems.map((systemId: EntityId) => this._em.getReference(SystemEntity, systemId))\n\t\t\t\t: [],\n\t\t\tuserLoginMigration: entityDO.userLoginMigrationId\n\t\t\t\t? this._em.getReference(UserLoginMigrationEntity, entityDO.userLoginMigrationId)\n\t\t\t\t: undefined,\n\t\t\tfederalState: entityDO.federalState,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LegacySchoolRule.html":{"url":"injectables/LegacySchoolRule.html","title":"injectable - LegacySchoolRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LegacySchoolRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/legacy-school.rule.ts\n \n\n \n Deprecated\n \n \n because it uses the deprecated LegacySchoolDo.\n \n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/legacy-school.rule.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, entity: LegacySchoolDo, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/legacy-school.rule.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, object: AuthorizableObject | BaseDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/legacy-school.rule.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n object\n \n AuthorizableObject | BaseDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { AuthorizableObject } from '@shared/domain/domain-object';\nimport { BaseDO, LegacySchoolDo } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { AuthorizationHelper } from '../service/authorization.helper';\nimport { AuthorizationContext, Rule } from '../type';\n\n/**\n * @deprecated because it uses the deprecated LegacySchoolDo.\n */\n@Injectable()\nexport class LegacySchoolRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper) {}\n\n\tpublic isApplicable(user: User, object: AuthorizableObject | BaseDO): boolean {\n\t\tconst isMatched = object instanceof LegacySchoolDo;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, entity: LegacySchoolDo, context: AuthorizationContext): boolean {\n\t\tconst hasPermission =\n\t\t\tthis.authorizationHelper.hasAllPermissions(user, context.requiredPermissions) && user.school.id === entity.id;\n\n\t\treturn hasPermission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LegacySchoolService.html":{"url":"injectables/LegacySchoolService.html","title":"injectable - LegacySchoolService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LegacySchoolService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/legacy-school/service/legacy-school.service.ts\n \n\n \n Deprecated\n \n \n because it uses the deprecated LegacySchoolDo.\n \n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getSchoolByExternalId\n \n \n Async\n getSchoolById\n \n \n Async\n getSchoolBySchoolNumber\n \n \n Async\n hasFeature\n \n \n Async\n removeFeature\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolRepo: LegacySchoolRepo, schoolValidationService: SchoolValidationService)\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/service/legacy-school.service.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolRepo\n \n \n LegacySchoolRepo\n \n \n \n No\n \n \n \n \n schoolValidationService\n \n \n SchoolValidationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getSchoolByExternalId\n \n \n \n \n \n \n \n getSchoolByExternalId(externalId: string, systemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/legacy-school.service.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalId\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getSchoolById\n \n \n \n \n \n \n \n getSchoolById(id: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/legacy-school.service.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getSchoolBySchoolNumber\n \n \n \n \n \n \n \n getSchoolBySchoolNumber(schoolNumber: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/legacy-school.service.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolNumber\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n hasFeature\n \n \n \n \n \n \n \n hasFeature(schoolId: EntityId, feature: SchoolFeatures)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/legacy-school.service.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n feature\n \n SchoolFeatures\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n removeFeature\n \n \n \n \n \n \n \n removeFeature(schoolId: EntityId, feature: SchoolFeatures)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/legacy-school.service.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n feature\n \n SchoolFeatures\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(school: LegacySchoolDo, validate)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/legacy-school.service.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n school\n \n LegacySchoolDo\n \n\n \n No\n \n\n \n \n\n \n \n validate\n \n \n\n \n No\n \n\n \n false\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { LegacySchoolDo } from '@shared/domain/domainobject';\nimport { SchoolFeatures } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacySchoolRepo } from '@shared/repo';\nimport { SchoolValidationService } from './validation';\n\n/**\n * @deprecated because it uses the deprecated LegacySchoolDo.\n */\n@Injectable()\nexport class LegacySchoolService {\n\tconstructor(\n\t\tprivate readonly schoolRepo: LegacySchoolRepo,\n\t\tprivate readonly schoolValidationService: SchoolValidationService\n\t) {}\n\n\tasync hasFeature(schoolId: EntityId, feature: SchoolFeatures): Promise {\n\t\tconst entity: LegacySchoolDo = await this.schoolRepo.findById(schoolId);\n\t\treturn entity.features ? entity.features.includes(feature) : false;\n\t}\n\n\tasync removeFeature(schoolId: EntityId, feature: SchoolFeatures): Promise {\n\t\tconst school: LegacySchoolDo = await this.schoolRepo.findById(schoolId);\n\t\tif (school.features && school.features.includes(feature)) {\n\t\t\tschool.features = school.features.filter((f: SchoolFeatures) => f !== feature);\n\t\t\tawait this.schoolRepo.save(school);\n\t\t}\n\t}\n\n\tasync getSchoolById(id: string): Promise {\n\t\tconst schoolDO: LegacySchoolDo = await this.schoolRepo.findById(id);\n\n\t\treturn schoolDO;\n\t}\n\n\tasync getSchoolByExternalId(externalId: string, systemId: string): Promise {\n\t\tconst schoolDO: LegacySchoolDo | null = await this.schoolRepo.findByExternalId(externalId, systemId);\n\n\t\treturn schoolDO;\n\t}\n\n\tasync getSchoolBySchoolNumber(schoolNumber: string): Promise {\n\t\tconst schoolDO: LegacySchoolDo | null = await this.schoolRepo.findBySchoolNumber(schoolNumber);\n\n\t\treturn schoolDO;\n\t}\n\n\tasync save(school: LegacySchoolDo, validate = false): Promise {\n\t\tif (validate) {\n\t\t\tawait this.schoolValidationService.validate(school);\n\t\t}\n\n\t\tconst ret: LegacySchoolDo = await this.schoolRepo.save(school);\n\n\t\treturn ret;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LegacySystemRepo.html":{"url":"injectables/LegacySystemRepo.html","title":"injectable - LegacySystemRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LegacySystemRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/system/legacy-system.repo.ts\n \n\n \n Deprecated\n \n \n [object Object],[object Object],[object Object]\n \n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findAll\n \n \n Async\n findByFilter\n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findAll\n \n \n \n \n \n \n \n findAll()\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/system/legacy-system.repo.ts:36\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n findByFilter\n \n \n \n \n \n \n \n findByFilter(type: SystemTypeEnum)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/system/legacy-system.repo.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n SystemTypeEnum\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/system/legacy-system.repo.ts:13\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { SystemEntity } from '@shared/domain/entity';\nimport { SystemTypeEnum } from '@shared/domain/types';\nimport { BaseRepo } from '@shared/repo/base.repo';\nimport { SystemScope } from '@shared/repo/system/system-scope';\n\n// TODO N21-1547: Fully replace this service with SystemService\n/**\n * @deprecated use the {@link SystemRepo} from the system module instead\n */\n@Injectable()\nexport class LegacySystemRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn SystemEntity;\n\t}\n\n\tasync findByFilter(type: SystemTypeEnum): Promise {\n\t\tconst scope = new SystemScope();\n\t\tswitch (type) {\n\t\t\tcase SystemTypeEnum.LDAP:\n\t\t\t\tscope.withLdapConfig();\n\t\t\t\tbreak;\n\t\t\tcase SystemTypeEnum.OAUTH:\n\t\t\t\tscope.withOauthConfig();\n\t\t\t\tbreak;\n\t\t\tcase SystemTypeEnum.OIDC:\n\t\t\t\tscope.withOidcConfig();\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\tthrow new Error(`system type ${type} unknown`);\n\t\t}\n\t\treturn this._em.find(SystemEntity, scope.query);\n\t}\n\n\tasync findAll(): Promise {\n\t\treturn this._em.find(SystemEntity, {});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LegacySystemService.html":{"url":"injectables/LegacySystemService.html","title":"injectable - LegacySystemService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LegacySystemService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/service/legacy-system.service.ts\n \n\n \n Deprecated\n \n \n [object Object],[object Object]\n \n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findById\n \n \n Async\n findByType\n \n \n Private\n Async\n generateBrokerSystems\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(systemRepo: LegacySystemRepo, idmOauthService: IdentityManagementOauthService)\n \n \n \n \n Defined in apps/server/src/modules/system/service/legacy-system.service.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemRepo\n \n \n LegacySystemRepo\n \n \n \n No\n \n \n \n \n idmOauthService\n \n \n IdentityManagementOauthService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/service/legacy-system.service.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByType\n \n \n \n \n \n \n \n findByType(type?: SystemTypeEnum)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/service/legacy-system.service.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n SystemTypeEnum\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n generateBrokerSystems\n \n \n \n \n \n \n \n generateBrokerSystems(systems: SystemEntity[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/service/legacy-system.service.ts:71\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n systems\n \n SystemEntity[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(systemDto: SystemDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/service/legacy-system.service.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemDto\n \n SystemDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { IdentityManagementOauthService } from '@infra/identity-management';\nimport { Injectable } from '@nestjs/common';\nimport { EntityNotFoundError } from '@shared/common';\nimport { SystemEntity } from '@shared/domain/entity';\nimport { EntityId, SystemTypeEnum } from '@shared/domain/types';\nimport { LegacySystemRepo } from '@shared/repo';\nimport { SystemMapper } from '../mapper';\nimport { SystemDto } from './dto';\n\n// TODO N21-1547: Fully replace this service with SystemService\n/**\n * @deprecated use {@link SystemService}\n */\n@Injectable()\nexport class LegacySystemService {\n\tconstructor(\n\t\tprivate readonly systemRepo: LegacySystemRepo,\n\t\tprivate readonly idmOauthService: IdentityManagementOauthService\n\t) {}\n\n\tasync findById(id: EntityId): Promise {\n\t\tlet system = await this.systemRepo.findById(id);\n\t\t[system] = await this.generateBrokerSystems([system]);\n\t\tif (!system) {\n\t\t\tthrow new EntityNotFoundError(SystemEntity.name, { id });\n\t\t}\n\t\treturn SystemMapper.mapFromEntityToDto(system);\n\t}\n\n\tasync findByType(type?: SystemTypeEnum): Promise {\n\t\tlet systems: SystemEntity[];\n\t\tif (type && type === SystemTypeEnum.OAUTH) {\n\t\t\tconst oauthSystems = await this.systemRepo.findByFilter(SystemTypeEnum.OAUTH);\n\t\t\tconst oidcSystems = await this.systemRepo.findByFilter(SystemTypeEnum.OIDC);\n\t\t\tsystems = [...oauthSystems, ...oidcSystems];\n\t\t} else if (type) {\n\t\t\tsystems = await this.systemRepo.findByFilter(type);\n\t\t} else {\n\t\t\tsystems = await this.systemRepo.findAll();\n\t\t}\n\t\tsystems = await this.generateBrokerSystems(systems);\n\t\treturn SystemMapper.mapFromEntitiesToDtos(systems);\n\t}\n\n\tasync save(systemDto: SystemDto): Promise {\n\t\tlet system: SystemEntity;\n\t\tif (systemDto.id) {\n\t\t\tsystem = await this.systemRepo.findById(systemDto.id);\n\t\t\tsystem.type = systemDto.type;\n\t\t\tsystem.alias = systemDto.alias;\n\t\t\tsystem.displayName = systemDto.displayName;\n\t\t\tsystem.oauthConfig = systemDto.oauthConfig;\n\t\t\tsystem.provisioningStrategy = systemDto.provisioningStrategy;\n\t\t\tsystem.provisioningUrl = systemDto.provisioningUrl;\n\t\t\tsystem.url = systemDto.url;\n\t\t} else {\n\t\t\tsystem = new SystemEntity({\n\t\t\t\ttype: systemDto.type,\n\t\t\t\talias: systemDto.alias,\n\t\t\t\tdisplayName: systemDto.displayName,\n\t\t\t\toauthConfig: systemDto.oauthConfig,\n\t\t\t\tprovisioningStrategy: systemDto.provisioningStrategy,\n\t\t\t\tprovisioningUrl: systemDto.provisioningUrl,\n\t\t\t\turl: systemDto.url,\n\t\t\t});\n\t\t}\n\t\tawait this.systemRepo.save(system);\n\t\treturn SystemMapper.mapFromEntityToDto(system);\n\t}\n\n\tprivate async generateBrokerSystems(systems: SystemEntity[]): Promise {\n\t\tif (!(await this.idmOauthService.isOauthConfigAvailable())) {\n\t\t\treturn systems.filter((system) => !(system.oidcConfig && !system.oauthConfig));\n\t\t}\n\t\tconst brokerConfig = await this.idmOauthService.getOauthConfig();\n\t\tlet generatedSystem: SystemEntity;\n\t\treturn systems.map((system) => {\n\t\t\tif (system.oidcConfig && !system.oauthConfig) {\n\t\t\t\tgeneratedSystem = new SystemEntity({\n\t\t\t\t\ttype: SystemTypeEnum.OAUTH,\n\t\t\t\t\talias: system.alias,\n\t\t\t\t\tdisplayName: system.displayName ? system.displayName : system.alias,\n\t\t\t\t\tprovisioningStrategy: system.provisioningStrategy,\n\t\t\t\t\tprovisioningUrl: system.provisioningUrl,\n\t\t\t\t\turl: system.url,\n\t\t\t\t});\n\t\t\t\tgeneratedSystem.id = system.id;\n\t\t\t\tgeneratedSystem.oauthConfig = { ...brokerConfig };\n\t\t\t\tgeneratedSystem.oauthConfig.idpHint = system.oidcConfig.idpHint;\n\t\t\t\tgeneratedSystem.oauthConfig.redirectUri += system.id;\n\t\t\t\treturn generatedSystem;\n\t\t\t}\n\t\t\treturn system;\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/LessonApiModule.html":{"url":"modules/LessonApiModule.html","title":"module - LessonApiModule","body":"\n \n\n\n\n\n Modules\n LessonApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_LessonApiModule\n\n\n\ncluster_LessonApiModule_imports\n\n\n\ncluster_LessonApiModule_providers\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nLessonApiModule\n\nLessonApiModule\n\nLessonApiModule -->\n\nAuthorizationModule->LessonApiModule\n\n\n\n\n\nLessonModule\n\nLessonModule\n\nLessonApiModule -->\n\nLessonModule->LessonApiModule\n\n\n\n\n\nLessonUC\n\nLessonUC\n\nLessonApiModule -->\n\nLessonUC->LessonApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/lesson/lesson-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n LessonUC\n \n \n \n \n Controllers\n \n \n LessonController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n LessonModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { LessonController } from './controller';\nimport { LessonModule } from './lesson.module';\nimport { LessonUC } from './uc';\n\n@Module({\n\timports: [LessonModule, AuthorizationModule],\n\tcontrollers: [LessonController],\n\tproviders: [LessonUC],\n})\nexport class LessonApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/LessonBoardElement.html":{"url":"entities/LessonBoardElement.html","title":"entity - LessonBoardElement","body":"\n \n\n\n\n\n\n\n\n Entities\n LessonBoardElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/legacy-board/lesson-boardelement.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n target\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : LessonEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('LessonEntity')\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/legacy-board/lesson-boardelement.entity.ts:13\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, ManyToOne } from '@mikro-orm/core';\nimport { LessonEntity } from '../lesson.entity';\nimport { BoardElement, BoardElementType } from './boardelement.entity';\n\n@Entity({ discriminatorValue: BoardElementType.Lesson })\nexport class LessonBoardElement extends BoardElement {\n\tconstructor(props: { target: LessonEntity }) {\n\t\tsuper(props);\n\t\tthis.boardElementType = BoardElementType.Lesson;\n\t}\n\n\t@ManyToOne('LessonEntity')\n\ttarget!: LessonEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/LessonController.html":{"url":"controllers/LessonController.html","title":"controller - LessonController","body":"\n \n\n\n\n\n\n\n Controllers\n LessonController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/lesson/controller/lesson.controller.ts\n \n\n \n Prefix\n \n \n lessons\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(urlParams: LessonUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Delete(':lessonId')\n \n \n\n \n \n Defined in apps/server/src/modules/lesson/controller/lesson.controller.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n LessonUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Controller, Delete, Param } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { LessonUC } from '../uc';\nimport { LessonUrlParams } from './dto';\n\n@ApiTags('Lesson')\n@Authenticate('jwt')\n@Controller('lessons')\nexport class LessonController {\n\tconstructor(private readonly lessonUC: LessonUC) {}\n\n\t@Delete(':lessonId')\n\tasync delete(@Param() urlParams: LessonUrlParams, @CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst result = await this.lessonUC.delete(currentUser.userId, urlParams.lessonId);\n\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LessonCopyApiParams.html":{"url":"classes/LessonCopyApiParams.html","title":"class - LessonCopyApiParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LessonCopyApiParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/lesson/lesson-copy.params.ts\n \n\n\n \n Description\n \n \n DTO for creating a task copy.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n courseId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n courseId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsMongoId()@ApiPropertyOptional({pattern: '[a-f0-9]{24}', description: 'Destination course parent Id the lesson is copied to'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/lesson/lesson-copy.params.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsMongoId, IsOptional } from 'class-validator';\n\n/**\n * DTO for creating a task copy.\n */\nexport class LessonCopyApiParams {\n\t@IsOptional()\n\t@IsMongoId()\n\t@ApiPropertyOptional({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'Destination course parent Id the lesson is copied to',\n\t})\n\tcourseId?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LessonCopyUC.html":{"url":"injectables/LessonCopyUC.html","title":"injectable - LessonCopyUC","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LessonCopyUC\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/uc/lesson-copy.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkDestinationCourseAuthorization\n \n \n Private\n checkFeatureEnabled\n \n \n Private\n checkOriginalLessonAuthorization\n \n \n Async\n copyLesson\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorisation: AuthorizationService, lessonCopyService: LessonCopyService, lessonService: LessonService, courseRepo: CourseRepo, copyHelperService: CopyHelperService)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/lesson-copy.uc.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorisation\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n lessonCopyService\n \n \n LessonCopyService\n \n \n \n No\n \n \n \n \n lessonService\n \n \n LessonService\n \n \n \n No\n \n \n \n \n courseRepo\n \n \n CourseRepo\n \n \n \n No\n \n \n \n \n copyHelperService\n \n \n CopyHelperService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkDestinationCourseAuthorization\n \n \n \n \n \n \n \n checkDestinationCourseAuthorization(user: User, destinationCourse: Course)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/lesson-copy.uc.ts:63\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n destinationCourse\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n checkFeatureEnabled\n \n \n \n \n \n \n \n checkFeatureEnabled()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/lesson-copy.uc.ts:68\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n checkOriginalLessonAuthorization\n \n \n \n \n \n \n \n checkOriginalLessonAuthorization(user: User, originalLesson: LessonEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/lesson-copy.uc.ts:55\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n originalLesson\n \n LessonEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n copyLesson\n \n \n \n \n \n \n \n copyLesson(userId: EntityId, lessonId: EntityId, parentParams: LessonCopyParentParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/lesson-copy.uc.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n lessonId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n parentParams\n \n LessonCopyParentParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\nimport { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { CopyHelperService, CopyStatus } from '@modules/copy-helper';\nimport { LessonCopyParentParams, LessonCopyService, LessonService } from '@modules/lesson';\nimport { ForbiddenException, Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { Course, LessonEntity, User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface/permission.enum';\nimport { EntityId } from '@shared/domain/types';\nimport { CourseRepo } from '@shared/repo';\n\n@Injectable()\nexport class LessonCopyUC {\n\tconstructor(\n\t\tprivate readonly authorisation: AuthorizationService,\n\t\tprivate readonly lessonCopyService: LessonCopyService,\n\t\tprivate readonly lessonService: LessonService,\n\t\tprivate readonly courseRepo: CourseRepo,\n\t\tprivate readonly copyHelperService: CopyHelperService\n\t) {}\n\n\tasync copyLesson(userId: EntityId, lessonId: EntityId, parentParams: LessonCopyParentParams): Promise {\n\t\tthis.checkFeatureEnabled();\n\n\t\tconst [user, originalLesson]: [User, LessonEntity] = await Promise.all([\n\t\t\tthis.authorisation.getUserWithPermissions(userId),\n\t\t\tthis.lessonService.findById(lessonId),\n\t\t]);\n\n\t\tthis.checkOriginalLessonAuthorization(user, originalLesson);\n\n\t\t// should be a seperate private method\n\t\tconst destinationCourse = parentParams.courseId\n\t\t\t? await this.courseRepo.findById(parentParams.courseId)\n\t\t\t: originalLesson.course;\n\t\t// ---\n\n\t\tthis.checkDestinationCourseAuthorization(user, destinationCourse);\n\n\t\t// should be a seperate private method\n\t\tconst [existingLessons] = await this.lessonService.findByCourseIds([originalLesson.course.id]);\n\t\tconst existingNames = existingLessons.map((l) => l.name);\n\t\tconst copyName = this.copyHelperService.deriveCopyName(originalLesson.name, existingNames);\n\n\t\tconst copyStatus = await this.lessonCopyService.copyLesson({\n\t\t\toriginalLessonId: originalLesson.id,\n\t\t\tdestinationCourse,\n\t\t\tuser,\n\t\t\tcopyName,\n\t\t});\n\t\t// ---\n\n\t\treturn copyStatus;\n\t}\n\n\tprivate checkOriginalLessonAuthorization(user: User, originalLesson: LessonEntity): void {\n\t\tconst contextReadWithTopicCreate = AuthorizationContextBuilder.read([Permission.TOPIC_CREATE]);\n\t\tif (!this.authorisation.hasPermission(user, originalLesson, contextReadWithTopicCreate)) {\n\t\t\t// error message is not correct, switch to authorisation.checkPermission() makse sense for me\n\t\t\tthrow new ForbiddenException('could not find lesson to copy');\n\t\t}\n\t}\n\n\tprivate checkDestinationCourseAuthorization(user: User, destinationCourse: Course): void {\n\t\tconst contextCanWrite = AuthorizationContextBuilder.write([]);\n\t\tthis.authorisation.checkPermission(user, destinationCourse, contextCanWrite);\n\t}\n\n\tprivate checkFeatureEnabled() {\n\t\tconst enabled = Configuration.get('FEATURE_COPY_SERVICE_ENABLED') as boolean;\n\t\tif (!enabled) {\n\t\t\tthrow new InternalServerErrorException('Copy Feature not enabled');\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/LessonEntity.html":{"url":"entities/LessonEntity.html","title":"entity - LessonEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n LessonEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/lesson.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contents\n \n \n \n \n course\n \n \n \n Optional\n courseGroup\n \n \n \n \n hidden\n \n \n \n materials\n \n \n \n name\n \n \n \n position\n \n \n \n tasks\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n contents\n \n \n \n \n \n \n Type : ComponentProperties[] | \n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/lesson.entity.ts:104\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n course\n \n \n \n \n \n \n Type : Course\n\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToOne('Course', {fieldName: 'courseId'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/lesson.entity.ts:95\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n courseGroup\n \n \n \n \n \n \n Type : CourseGroup\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('CourseGroup', {fieldName: 'courseGroupId', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/lesson.entity.ts:98\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n hidden\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Decorators : \n \n \n @Index()@Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/lesson.entity.ts:91\n \n \n\n\n \n \n \n \n \n \n \n \n \n materials\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @ManyToMany('Material', undefined, {fieldName: 'materialIds'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/lesson.entity.ts:107\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/lesson.entity.ts:87\n \n \n\n\n \n \n \n \n \n \n \n \n \n position\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/lesson.entity.ts:101\n \n \n\n\n \n \n \n \n \n \n \n \n \n tasks\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @OneToMany('Task', 'lesson', {orphanRemoval: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/lesson.entity.ts:110\n \n \n\n\n \n \n\n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { LearnroomElement } from '@shared/domain/interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport { Material } from './materials.entity';\nimport type { TaskParent } from './task.entity';\nimport { Task } from './task.entity';\n\nexport interface LessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: ComponentProperties[] | [];\n\tmaterials?: Material[];\n}\n\nexport enum ComponentType {\n\tETHERPAD = 'Etherpad',\n\tGEOGEBRA = 'geoGebra',\n\tINTERNAL = 'internal',\n\tLERNSTORE = 'resources',\n\tTEXT = 'text',\n\tNEXBOARD = 'neXboard',\n}\n\nexport interface ComponentTextProperties {\n\ttext: string;\n}\n\nexport interface ComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface ComponentLernstoreProperties {\n\tresources: {\n\t\tclient: string;\n\t\tdescription: string;\n\t\tmerlinReference?: string;\n\t\ttitle: string;\n\t\turl: string;\n\t}[];\n}\n\nexport interface ComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentInternalProperties {\n\turl: string;\n}\n\nexport type ComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: ComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: ComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: ComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: ComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: ComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: ComponentNexboardProperties }\n);\n\nexport interface LessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements LearnroomElement, TaskParent {\n\t@Property()\n\tname: string;\n\n\t@Index()\n\t@Property()\n\thidden = false;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId' })\n\tcourse: Course;\n\n\t@ManyToOne('CourseGroup', { fieldName: 'courseGroupId', nullable: true })\n\tcourseGroup?: CourseGroup;\n\n\t@Property()\n\tposition: number;\n\n\t@Property()\n\tcontents: ComponentProperties[] | [];\n\n\t@ManyToMany('Material', undefined, { fieldName: 'materialIds' })\n\tmaterials = new Collection(this);\n\n\t@OneToMany('Task', 'lesson', { orphanRemoval: true })\n\ttasks = new Collection(this);\n\n\tconstructor(props: LessonProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tif (props.hidden !== undefined) this.hidden = props.hidden;\n\t\tthis.course = props.course;\n\t\tthis.courseGroup = props.courseGroup;\n\t\tthis.position = props.position || 0;\n\t\tthis.contents = props.contents;\n\t\tif (props.materials) this.materials.set(props.materials);\n\t}\n\n\tprivate getParent(): LessonParent {\n\t\tconst parent = this.courseGroup || this.course;\n\n\t\treturn parent;\n\t}\n\n\tprivate getTasksItems(): Task[] {\n\t\tif (!this.tasks.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their tasks that are not loaded.');\n\t\t}\n\t\tconst tasks = this.tasks.getItems();\n\t\treturn tasks;\n\t}\n\n\tgetNumberOfPublishedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPublished());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfDraftTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isDraft());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfPlannedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPlanned());\n\t\treturn filtered.length;\n\t}\n\n\tgetLessonComponents(): ComponentProperties[] | [] {\n\t\treturn this.contents;\n\t}\n\n\tgetLessonLinkedTasks(): Task[] {\n\t\tconst tasks = this.getTasksItems();\n\t\treturn tasks;\n\t}\n\n\tgetLessonMaterials(): Material[] {\n\t\tif (!this.materials.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their materials that are not loaded.');\n\t\t}\n\t\tconst materials = this.materials.getItems();\n\t\treturn materials;\n\t}\n\n\tgetSchoolId(): EntityId {\n\t\tif (!this.courseGroup) {\n\t\t\treturn this.course.school.id;\n\t\t}\n\n\t\treturn this.courseGroup.school.id;\n\t}\n\n\tpublish() {\n\t\tthis.hidden = false;\n\t}\n\n\tunpublish() {\n\t\tthis.hidden = true;\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst parent = this.getParent();\n\t\tconst studentIds = parent.getStudentIds();\n\n\t\treturn studentIds;\n\t}\n}\n\nexport function isLesson(reference: unknown): reference is LessonEntity {\n\treturn reference instanceof LessonEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LessonFactory.html":{"url":"classes/LessonFactory.html","title":"class - LessonFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LessonFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/lesson.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ComponentProperties, Course, LessonEntity, LessonProperties } from '@shared/domain/entity';\n\nimport { BaseFactory } from './base.factory';\nimport { courseFactory } from './course.factory';\n\nclass LessonFactory extends BaseFactory {}\n\nexport const lessonFactory = LessonFactory.define(\n\tLessonEntity,\n\t({ sequence, params }) => {\n\t\tlet course: Course;\n\t\tif (params.course) {\n\t\t\tcourse = params.course as Course;\n\t\t} else {\n\t\t\tcourse = courseFactory.build();\n\t\t}\n\n\t\tconst contents: ComponentProperties[] = [];\n\t\tif (params.contents) {\n\t\t\tparams.contents.forEach((element) => {\n\t\t\t\tcontents.push(element);\n\t\t\t});\n\t\t}\n\n\t\tconst hidden = params.hidden || false;\n\n\t\treturn {\n\t\t\tname: `lesson #${sequence}`,\n\t\t\tcourse,\n\t\t\tcontents,\n\t\t\thidden,\n\t\t\tmaterials: [],\n\t\t};\n\t}\n);\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/LessonModule.html":{"url":"modules/LessonModule.html","title":"module - LessonModule","body":"\n \n\n\n\n\n Modules\n LessonModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_LessonModule\n\n\n\ncluster_LessonModule_providers\n\n\n\ncluster_LessonModule_imports\n\n\n\ncluster_LessonModule_exports\n\n\n\n\nCopyHelperModule\n\nCopyHelperModule\n\n\n\nLessonModule\n\nLessonModule\n\nLessonModule -->\n\nCopyHelperModule->LessonModule\n\n\n\n\n\nFilesStorageClientModule\n\nFilesStorageClientModule\n\nLessonModule -->\n\nFilesStorageClientModule->LessonModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nLessonModule -->\n\nLoggerModule->LessonModule\n\n\n\n\n\nTaskModule\n\nTaskModule\n\nLessonModule -->\n\nTaskModule->LessonModule\n\n\n\n\n\nLessonCopyService \n\nLessonCopyService \n\nLessonCopyService -->\n\nLessonModule->LessonCopyService \n\n\n\n\n\nLessonService \n\nLessonService \n\nLessonService -->\n\nLessonModule->LessonService \n\n\n\n\n\nEtherpadService\n\nEtherpadService\n\nLessonModule -->\n\nEtherpadService->LessonModule\n\n\n\n\n\nFeathersServiceProvider\n\nFeathersServiceProvider\n\nLessonModule -->\n\nFeathersServiceProvider->LessonModule\n\n\n\n\n\nLessonCopyService\n\nLessonCopyService\n\nLessonModule -->\n\nLessonCopyService->LessonModule\n\n\n\n\n\nLessonRepo\n\nLessonRepo\n\nLessonModule -->\n\nLessonRepo->LessonModule\n\n\n\n\n\nLessonService\n\nLessonService\n\nLessonModule -->\n\nLessonService->LessonModule\n\n\n\n\n\nNexboardService\n\nNexboardService\n\nLessonModule -->\n\nNexboardService->LessonModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/lesson/lesson.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n EtherpadService\n \n \n FeathersServiceProvider\n \n \n LessonCopyService\n \n \n LessonRepo\n \n \n LessonService\n \n \n NexboardService\n \n \n \n \n Imports\n \n \n CopyHelperModule\n \n \n FilesStorageClientModule\n \n \n LoggerModule\n \n \n TaskModule\n \n \n \n \n Exports\n \n \n LessonCopyService\n \n \n LessonService\n \n \n \n \n \n\n\n \n\n\n \n import { FeathersServiceProvider } from '@infra/feathers';\nimport { CopyHelperModule } from '@modules/copy-helper';\nimport { FilesStorageClientModule } from '@modules/files-storage-client';\nimport { TaskModule } from '@modules/task';\nimport { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { LessonRepo } from './repository';\nimport { EtherpadService, LessonCopyService, LessonService, NexboardService } from './service';\n\n@Module({\n\timports: [FilesStorageClientModule, LoggerModule, CopyHelperModule, TaskModule],\n\tproviders: [LessonRepo, LessonService, EtherpadService, NexboardService, LessonCopyService, FeathersServiceProvider],\n\texports: [LessonService, LessonCopyService],\n})\nexport class LessonModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/LessonParent.html":{"url":"interfaces/LessonParent.html","title":"interface - LessonParent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n LessonParent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/lesson.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n getStudentIds\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n getStudentIds\n \n \n \n \n \n \ngetStudentIds()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/lesson.entity.ts:81\n \n \n\n\n \n \n\n \n Returns : EntityId[]\n\n \n \n \n \n \n\n\n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { LearnroomElement } from '@shared/domain/interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport { Material } from './materials.entity';\nimport type { TaskParent } from './task.entity';\nimport { Task } from './task.entity';\n\nexport interface LessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: ComponentProperties[] | [];\n\tmaterials?: Material[];\n}\n\nexport enum ComponentType {\n\tETHERPAD = 'Etherpad',\n\tGEOGEBRA = 'geoGebra',\n\tINTERNAL = 'internal',\n\tLERNSTORE = 'resources',\n\tTEXT = 'text',\n\tNEXBOARD = 'neXboard',\n}\n\nexport interface ComponentTextProperties {\n\ttext: string;\n}\n\nexport interface ComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface ComponentLernstoreProperties {\n\tresources: {\n\t\tclient: string;\n\t\tdescription: string;\n\t\tmerlinReference?: string;\n\t\ttitle: string;\n\t\turl: string;\n\t}[];\n}\n\nexport interface ComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentInternalProperties {\n\turl: string;\n}\n\nexport type ComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: ComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: ComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: ComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: ComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: ComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: ComponentNexboardProperties }\n);\n\nexport interface LessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements LearnroomElement, TaskParent {\n\t@Property()\n\tname: string;\n\n\t@Index()\n\t@Property()\n\thidden = false;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId' })\n\tcourse: Course;\n\n\t@ManyToOne('CourseGroup', { fieldName: 'courseGroupId', nullable: true })\n\tcourseGroup?: CourseGroup;\n\n\t@Property()\n\tposition: number;\n\n\t@Property()\n\tcontents: ComponentProperties[] | [];\n\n\t@ManyToMany('Material', undefined, { fieldName: 'materialIds' })\n\tmaterials = new Collection(this);\n\n\t@OneToMany('Task', 'lesson', { orphanRemoval: true })\n\ttasks = new Collection(this);\n\n\tconstructor(props: LessonProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tif (props.hidden !== undefined) this.hidden = props.hidden;\n\t\tthis.course = props.course;\n\t\tthis.courseGroup = props.courseGroup;\n\t\tthis.position = props.position || 0;\n\t\tthis.contents = props.contents;\n\t\tif (props.materials) this.materials.set(props.materials);\n\t}\n\n\tprivate getParent(): LessonParent {\n\t\tconst parent = this.courseGroup || this.course;\n\n\t\treturn parent;\n\t}\n\n\tprivate getTasksItems(): Task[] {\n\t\tif (!this.tasks.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their tasks that are not loaded.');\n\t\t}\n\t\tconst tasks = this.tasks.getItems();\n\t\treturn tasks;\n\t}\n\n\tgetNumberOfPublishedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPublished());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfDraftTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isDraft());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfPlannedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPlanned());\n\t\treturn filtered.length;\n\t}\n\n\tgetLessonComponents(): ComponentProperties[] | [] {\n\t\treturn this.contents;\n\t}\n\n\tgetLessonLinkedTasks(): Task[] {\n\t\tconst tasks = this.getTasksItems();\n\t\treturn tasks;\n\t}\n\n\tgetLessonMaterials(): Material[] {\n\t\tif (!this.materials.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their materials that are not loaded.');\n\t\t}\n\t\tconst materials = this.materials.getItems();\n\t\treturn materials;\n\t}\n\n\tgetSchoolId(): EntityId {\n\t\tif (!this.courseGroup) {\n\t\t\treturn this.course.school.id;\n\t\t}\n\n\t\treturn this.courseGroup.school.id;\n\t}\n\n\tpublish() {\n\t\tthis.hidden = false;\n\t}\n\n\tunpublish() {\n\t\tthis.hidden = true;\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst parent = this.getParent();\n\t\tconst studentIds = parent.getStudentIds();\n\n\t\treturn studentIds;\n\t}\n}\n\nexport function isLesson(reference: unknown): reference is LessonEntity {\n\treturn reference instanceof LessonEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/LessonProperties.html":{"url":"interfaces/LessonProperties.html","title":"interface - LessonProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n LessonProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/lesson.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contents\n \n \n \n \n course\n \n \n \n Optional\n \n courseGroup\n \n \n \n \n hidden\n \n \n \n Optional\n \n materials\n \n \n \n \n name\n \n \n \n Optional\n \n position\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contents\n \n \n \n \n \n \n \n \n contents: ComponentProperties[] | \n\n \n \n\n\n \n \n Type : ComponentProperties[] | \n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n course\n \n \n \n \n \n \n \n \n course: Course\n\n \n \n\n\n \n \n Type : Course\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n courseGroup\n \n \n \n \n \n \n \n \n courseGroup: CourseGroup\n\n \n \n\n\n \n \n Type : CourseGroup\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n hidden\n \n \n \n \n \n \n \n \n hidden: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n materials\n \n \n \n \n \n \n \n \n materials: Material[]\n\n \n \n\n\n \n \n Type : Material[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n position\n \n \n \n \n \n \n \n \n position: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { LearnroomElement } from '@shared/domain/interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport { Material } from './materials.entity';\nimport type { TaskParent } from './task.entity';\nimport { Task } from './task.entity';\n\nexport interface LessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: ComponentProperties[] | [];\n\tmaterials?: Material[];\n}\n\nexport enum ComponentType {\n\tETHERPAD = 'Etherpad',\n\tGEOGEBRA = 'geoGebra',\n\tINTERNAL = 'internal',\n\tLERNSTORE = 'resources',\n\tTEXT = 'text',\n\tNEXBOARD = 'neXboard',\n}\n\nexport interface ComponentTextProperties {\n\ttext: string;\n}\n\nexport interface ComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface ComponentLernstoreProperties {\n\tresources: {\n\t\tclient: string;\n\t\tdescription: string;\n\t\tmerlinReference?: string;\n\t\ttitle: string;\n\t\turl: string;\n\t}[];\n}\n\nexport interface ComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentInternalProperties {\n\turl: string;\n}\n\nexport type ComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: ComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: ComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: ComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: ComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: ComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: ComponentNexboardProperties }\n);\n\nexport interface LessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements LearnroomElement, TaskParent {\n\t@Property()\n\tname: string;\n\n\t@Index()\n\t@Property()\n\thidden = false;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId' })\n\tcourse: Course;\n\n\t@ManyToOne('CourseGroup', { fieldName: 'courseGroupId', nullable: true })\n\tcourseGroup?: CourseGroup;\n\n\t@Property()\n\tposition: number;\n\n\t@Property()\n\tcontents: ComponentProperties[] | [];\n\n\t@ManyToMany('Material', undefined, { fieldName: 'materialIds' })\n\tmaterials = new Collection(this);\n\n\t@OneToMany('Task', 'lesson', { orphanRemoval: true })\n\ttasks = new Collection(this);\n\n\tconstructor(props: LessonProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tif (props.hidden !== undefined) this.hidden = props.hidden;\n\t\tthis.course = props.course;\n\t\tthis.courseGroup = props.courseGroup;\n\t\tthis.position = props.position || 0;\n\t\tthis.contents = props.contents;\n\t\tif (props.materials) this.materials.set(props.materials);\n\t}\n\n\tprivate getParent(): LessonParent {\n\t\tconst parent = this.courseGroup || this.course;\n\n\t\treturn parent;\n\t}\n\n\tprivate getTasksItems(): Task[] {\n\t\tif (!this.tasks.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their tasks that are not loaded.');\n\t\t}\n\t\tconst tasks = this.tasks.getItems();\n\t\treturn tasks;\n\t}\n\n\tgetNumberOfPublishedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPublished());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfDraftTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isDraft());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfPlannedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPlanned());\n\t\treturn filtered.length;\n\t}\n\n\tgetLessonComponents(): ComponentProperties[] | [] {\n\t\treturn this.contents;\n\t}\n\n\tgetLessonLinkedTasks(): Task[] {\n\t\tconst tasks = this.getTasksItems();\n\t\treturn tasks;\n\t}\n\n\tgetLessonMaterials(): Material[] {\n\t\tif (!this.materials.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their materials that are not loaded.');\n\t\t}\n\t\tconst materials = this.materials.getItems();\n\t\treturn materials;\n\t}\n\n\tgetSchoolId(): EntityId {\n\t\tif (!this.courseGroup) {\n\t\t\treturn this.course.school.id;\n\t\t}\n\n\t\treturn this.courseGroup.school.id;\n\t}\n\n\tpublish() {\n\t\tthis.hidden = false;\n\t}\n\n\tunpublish() {\n\t\tthis.hidden = true;\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst parent = this.getParent();\n\t\tconst studentIds = parent.getStudentIds();\n\n\t\treturn studentIds;\n\t}\n}\n\nexport function isLesson(reference: unknown): reference is LessonEntity {\n\treturn reference instanceof LessonEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LessonRepo.html":{"url":"injectables/LessonRepo.html","title":"injectable - LessonRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LessonRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/lesson/repository/lesson.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createLesson\n \n \n Async\n findAllByCourseIds\n \n \n Async\n findById\n \n \n Public\n Async\n findByUserId\n \n \n create\n \n \n Async\n delete\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createLesson\n \n \n \n \n \n \n \n createLesson(lesson: LessonEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/repository/lesson.repo.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n lesson\n \n LessonEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllByCourseIds\n \n \n \n \n \n \n \n findAllByCourseIds(courseIds: EntityId[], filters?: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/repository/lesson.repo.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n filters\n \n literal type\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:20\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findByUserId\n \n \n \n \n \n \n \n findByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/repository/lesson.repo.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/lesson/repository/lesson.repo.ts:12\n \n \n\n \n \n\n \n\n\n \n import { EntityDictionary } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { LessonEntity } from '@shared/domain/entity';\nimport { SortOrder } from '@shared/domain/interface';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '@shared/repo';\nimport { LessonScope } from './lesson-scope';\n\n@Injectable()\nexport class LessonRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn LessonEntity;\n\t}\n\n\tasync createLesson(lesson: LessonEntity): Promise {\n\t\treturn this.save(this.create(lesson));\n\t}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst lesson = await super.findById(id);\n\t\tawait this._em.populate(lesson, ['course', 'tasks', 'materials', 'courseGroup.course']);\n\t\treturn lesson;\n\t}\n\n\tasync findAllByCourseIds(courseIds: EntityId[], filters?: { hidden?: boolean }): Promise> {\n\t\tconst scope = new LessonScope();\n\n\t\tscope.byCourseIds(courseIds);\n\n\t\tif (filters?.hidden !== undefined) {\n\t\t\tscope.byHidden(filters.hidden);\n\t\t}\n\n\t\tconst order = { position: SortOrder.asc };\n\n\t\tconst [lessons, count] = await this._em.findAndCount(LessonEntity, scope.query, { orderBy: order });\n\n\t\tawait this._em.populate(lessons, ['course', 'tasks', 'materials']);\n\n\t\treturn [lessons, count];\n\t}\n\n\tpublic async findByUserId(userId: EntityId): Promise {\n\t\tconst pipeline = [\n\t\t\t{\n\t\t\t\t$match: {\n\t\t\t\t\tcontents: {\n\t\t\t\t\t\t$elemMatch: {\n\t\t\t\t\t\t\tuser: new ObjectId(userId),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t];\n\n\t\tconst rawLessonsDocuments = await this._em.aggregate(LessonEntity, pipeline);\n\n\t\tconst lessons = rawLessonsDocuments.map((rawLessonDocument) =>\n\t\t\tthis._em.map(LessonEntity, rawLessonDocument as EntityDictionary)\n\t\t);\n\n\t\treturn lessons;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LessonRule.html":{"url":"injectables/LessonRule.html","title":"injectable - LessonRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LessonRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/lesson.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n courseGroupPermission\n \n \n Private\n coursePermission\n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n Private\n lessonReadPermission\n \n \n Private\n lessonWritePermission\n \n \n Private\n parentPermission\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper, courseRule: CourseRule, courseGroupRule: CourseGroupRule)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n courseRule\n \n \n CourseRule\n \n \n \n No\n \n \n \n \n courseGroupRule\n \n \n CourseGroupRule\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n courseGroupPermission\n \n \n \n \n \n \n \n courseGroupPermission(user: User, entity: CourseGroup, action: Action)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:79\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n CourseGroup\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n coursePermission\n \n \n \n \n \n \n \n coursePermission(user: User, entity: Course, action: Action)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n Course\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, entity: LessonEntity, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n LessonEntity\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, entity: LessonEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n LessonEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n lessonReadPermission\n \n \n \n \n \n \n \n lessonReadPermission(user: User, entity: LessonEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n LessonEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n lessonWritePermission\n \n \n \n \n \n \n \n lessonWritePermission(user: User, entity: LessonEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n LessonEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n parentPermission\n \n \n \n \n \n \n \n parentPermission(user: User, entity: LessonEntity, action: Action)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:59\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n LessonEntity\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, NotImplementedException } from '@nestjs/common';\nimport { Course, CourseGroup, LessonEntity, User } from '@shared/domain/entity';\nimport { Action, AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\nimport { CourseGroupRule } from './course-group.rule';\nimport { CourseRule } from './course.rule';\n\n@Injectable()\nexport class LessonRule implements Rule {\n\tconstructor(\n\t\tprivate readonly authorizationHelper: AuthorizationHelper,\n\t\tprivate readonly courseRule: CourseRule,\n\t\tprivate readonly courseGroupRule: CourseGroupRule\n\t) {}\n\n\tpublic isApplicable(user: User, entity: LessonEntity): boolean {\n\t\tconst isMatched = entity instanceof LessonEntity;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, entity: LessonEntity, context: AuthorizationContext): boolean {\n\t\tconst { action, requiredPermissions } = context;\n\t\tlet hasLessonPermission = false;\n\n\t\tif (action === Action.read) {\n\t\t\thasLessonPermission = this.lessonReadPermission(user, entity);\n\t\t} else if (action === Action.write) {\n\t\t\thasLessonPermission = this.lessonWritePermission(user, entity);\n\t\t} else {\n\t\t\tthrow new NotImplementedException('Action is not supported.');\n\t\t}\n\n\t\tconst hasUserPermission = this.authorizationHelper.hasAllPermissions(user, requiredPermissions);\n\t\tconst result = hasUserPermission && hasLessonPermission;\n\n\t\treturn result;\n\t}\n\n\tprivate lessonReadPermission(user: User, entity: LessonEntity): boolean {\n\t\tconst isVisible = !entity.hidden;\n\t\tlet hasParentReadPermission = false;\n\n\t\tif (isVisible) {\n\t\t\thasParentReadPermission = this.parentPermission(user, entity, Action.read);\n\t\t} else {\n\t\t\thasParentReadPermission = this.parentPermission(user, entity, Action.write);\n\t\t}\n\n\t\treturn hasParentReadPermission;\n\t}\n\n\tprivate lessonWritePermission(user: User, entity: LessonEntity): boolean {\n\t\tconst hasParentWritePermission = this.parentPermission(user, entity, Action.write);\n\n\t\treturn hasParentWritePermission;\n\t}\n\n\tprivate parentPermission(user: User, entity: LessonEntity, action: Action): boolean {\n\t\tlet result: boolean;\n\n\t\tif (entity.courseGroup) {\n\t\t\tresult = this.courseGroupPermission(user, entity.courseGroup, action);\n\t\t} else if (entity.course) {\n\t\t\tresult = this.coursePermission(user, entity.course, action); // ask course for student = read || teacher, sub-teacher = write\n\t\t} else {\n\t\t\tresult = false;\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tprivate coursePermission(user: User, entity: Course, action: Action): boolean {\n\t\tconst result = this.courseRule.hasPermission(user, entity, { action, requiredPermissions: [] });\n\n\t\treturn result;\n\t}\n\n\tprivate courseGroupPermission(user: User, entity: CourseGroup, action: Action): boolean {\n\t\tconst result = this.courseGroupRule.hasPermission(user, entity, {\n\t\t\taction,\n\t\t\trequiredPermissions: [],\n\t\t});\n\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LessonScope.html":{"url":"classes/LessonScope.html","title":"class - LessonScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LessonScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/lesson/repository/lesson-scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n byCourseIds\n \n \n byHidden\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n byCourseIds\n \n \n \n \n \n \nbyCourseIds(courseIds: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/repository/lesson-scope.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LessonScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byHidden\n \n \n \n \n \n \nbyHidden(isHidden: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/repository/lesson-scope.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isHidden\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LessonScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { LessonEntity } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { Scope } from '@shared/repo';\n\nexport class LessonScope extends Scope {\n\tbyCourseIds(courseIds: EntityId[]): LessonScope {\n\t\tthis.addQuery({ course: { $in: courseIds } });\n\t\treturn this;\n\t}\n\n\tbyHidden(isHidden: boolean): LessonScope {\n\t\tthis.addQuery({ hidden: { $eq: isHidden } });\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LessonService.html":{"url":"injectables/LessonService.html","title":"injectable - LessonService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LessonService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/lesson/service/lesson.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteLesson\n \n \n Async\n deleteUserDataFromLessons\n \n \n Async\n findAllLessonsByUserId\n \n \n Async\n findByCourseIds\n \n \n Async\n findById\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(lessonRepo: LessonRepo, filesStorageClientAdapterService: FilesStorageClientAdapterService)\n \n \n \n \n Defined in apps/server/src/modules/lesson/service/lesson.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n lessonRepo\n \n \n LessonRepo\n \n \n \n No\n \n \n \n \n filesStorageClientAdapterService\n \n \n FilesStorageClientAdapterService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteLesson\n \n \n \n \n \n \n \n deleteLesson(lesson: LessonEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/service/lesson.service.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n lesson\n \n LessonEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteUserDataFromLessons\n \n \n \n \n \n \n \n deleteUserDataFromLessons(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/service/lesson.service.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllLessonsByUserId\n \n \n \n \n \n \n \n findAllLessonsByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/service/lesson.service.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByCourseIds\n \n \n \n \n \n \n \n findByCourseIds(courseIds: EntityId[], filters?: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/service/lesson.service.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n filters\n \n literal type\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(lessonId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/service/lesson.service.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n lessonId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { FilesStorageClientAdapterService } from '@modules/files-storage-client';\nimport { Injectable } from '@nestjs/common';\nimport { ComponentProperties, LessonEntity } from '@shared/domain/entity';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { AuthorizationLoaderService } from '@src/modules/authorization';\nimport { LessonRepo } from '../repository';\n\n@Injectable()\nexport class LessonService implements AuthorizationLoaderService {\n\tconstructor(\n\t\tprivate readonly lessonRepo: LessonRepo,\n\t\tprivate readonly filesStorageClientAdapterService: FilesStorageClientAdapterService\n\t) {}\n\n\tasync deleteLesson(lesson: LessonEntity): Promise {\n\t\tawait this.filesStorageClientAdapterService.deleteFilesOfParent(lesson.id);\n\n\t\tawait this.lessonRepo.delete(lesson);\n\t}\n\n\tasync findById(lessonId: EntityId): Promise {\n\t\treturn this.lessonRepo.findById(lessonId);\n\t}\n\n\tasync findByCourseIds(courseIds: EntityId[], filters?: { hidden?: boolean }): Promise> {\n\t\treturn this.lessonRepo.findAllByCourseIds(courseIds, filters);\n\t}\n\n\tasync findAllLessonsByUserId(userId: EntityId): Promise {\n\t\tconst lessons = await this.lessonRepo.findByUserId(userId);\n\n\t\treturn lessons;\n\t}\n\n\tasync deleteUserDataFromLessons(userId: EntityId): Promise {\n\t\tconst lessons = await this.lessonRepo.findByUserId(userId);\n\n\t\tconst updatedLessons = lessons.map((lesson: LessonEntity) => {\n\t\t\tlesson.contents.map((c: ComponentProperties) => {\n\t\t\t\tif (c.user === userId) {\n\t\t\t\t\tc.user = undefined;\n\t\t\t\t}\n\t\t\t\treturn c;\n\t\t\t});\n\t\t\treturn lesson;\n\t\t});\n\n\t\tawait this.lessonRepo.save(updatedLessons);\n\n\t\treturn updatedLessons.length;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LessonUC.html":{"url":"injectables/LessonUC.html","title":"injectable - LessonUC","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LessonUC\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/lesson/uc/lesson.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n delete\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationService: AuthorizationService, lessonService: LessonService)\n \n \n \n \n Defined in apps/server/src/modules/lesson/uc/lesson.uc.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n lessonService\n \n \n LessonService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(userId: EntityId, lessonId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/uc/lesson.uc.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n lessonId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { LessonService } from '../service';\n\n@Injectable()\nexport class LessonUC {\n\tconstructor(\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly lessonService: LessonService\n\t) {}\n\n\tasync delete(userId: EntityId, lessonId: EntityId) {\n\t\tconst [user, lesson] = await Promise.all([\n\t\t\tthis.authorizationService.getUserWithPermissions(userId),\n\t\t\tthis.lessonService.findById(lessonId),\n\t\t]);\n\n\t\t// Check by Permission.TOPIC_VIEW because the student doesn't have Permission.TOPIC_EDIT\n\t\t// is required for CourseGroup lessons\n\t\tthis.authorizationService.checkPermission(user, lesson, AuthorizationContextBuilder.write([Permission.TOPIC_VIEW]));\n\n\t\tawait this.lessonService.deleteLesson(lesson);\n\n\t\treturn true;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LessonUrlHandler.html":{"url":"injectables/LessonUrlHandler.html","title":"injectable - LessonUrlHandler","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LessonUrlHandler\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/service/url-handler/lesson-url-handler.ts\n \n\n\n\n \n Extends\n \n \n AbstractUrlHandler\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n patterns\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getMetaData\n \n \n doesUrlMatch\n \n \n Protected\n extractId\n \n \n getDefaultMetaData\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(lessonService: LessonService)\n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/lesson-url-handler.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n lessonService\n \n \n LessonService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getMetaData\n \n \n \n \n \n \n \n getMetaData(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/lesson-url-handler.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n doesUrlMatch\n \n \n \n \n \n \ndoesUrlMatch(url: string)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n extractId\n \n \n \n \n \n \n \n extractId(url: string)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getDefaultMetaData\n \n \n \n \n \n \ngetDefaultMetaData(url: string, partial: Partial)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n partial\n \n Partial\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : MetaData\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n patterns\n \n \n \n \n \n \n Type : RegExp[]\n\n \n \n \n \n Default value : [/\\/topics\\/([0-9a-z]+)$/i]\n \n \n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:9\n\n \n \n\n\n \n \n\n\n \n\n\n \n import { LessonService } from '@modules/lesson';\nimport { Injectable } from '@nestjs/common';\nimport type { UrlHandler } from '../../interface/url-handler';\nimport { MetaData } from '../../types';\nimport { AbstractUrlHandler } from './abstract-url-handler';\n\n@Injectable()\nexport class LessonUrlHandler extends AbstractUrlHandler implements UrlHandler {\n\tpatterns: RegExp[] = [/\\/topics\\/([0-9a-z]+)$/i];\n\n\tconstructor(private readonly lessonService: LessonService) {\n\t\tsuper();\n\t}\n\n\tasync getMetaData(url: string): Promise {\n\t\tconst id = this.extractId(url);\n\t\tif (id === undefined) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst metaData = this.getDefaultMetaData(url, { type: 'lesson' });\n\t\tconst lesson = await this.lessonService.findById(id);\n\t\tif (lesson) {\n\t\t\tmetaData.title = lesson.name;\n\t\t}\n\n\t\treturn metaData;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LessonUrlParams.html":{"url":"classes/LessonUrlParams.html","title":"class - LessonUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LessonUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/lesson/controller/dto/lesson.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n lessonId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n lessonId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the lesson.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/lesson/controller/dto/lesson.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class LessonUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the lesson.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tlessonId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LessonUrlParams-1.html":{"url":"classes/LessonUrlParams-1.html","title":"class - LessonUrlParams-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LessonUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/lesson/lesson.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n lessonId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n lessonId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the lesson.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/lesson/lesson.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class LessonUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the lesson.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tlessonId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LibrariesBodyParams.html":{"url":"classes/LibrariesBodyParams.html","title":"class - LibrariesBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LibrariesBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/ajax/post.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n libraries\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n libraries\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsArray()@IsString({each: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/post.body.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsArray, IsMongoId, IsOptional, IsString } from 'class-validator';\n\nexport class LibrariesBodyParams {\n\t@ApiProperty()\n\t@IsArray()\n\t@IsString({ each: true })\n\tlibraries!: string[];\n}\n\nexport class ContentBodyParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsOptional()\n\tfield!: string;\n}\n\nexport class LibraryParametersBodyParams {\n\t@ApiProperty()\n\t@IsString()\n\tlibraryParameters!: string;\n}\n\nexport type AjaxPostBodyParams = LibrariesBodyParams | ContentBodyParams | LibraryParametersBodyParams | undefined;\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/LibrariesContentType.html":{"url":"interfaces/LibrariesContentType.html","title":"interface - LibrariesContentType","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n LibrariesContentType\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n h5p_libraries\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n h5p_libraries\n \n \n \n \n \n \n \n \n h5p_libraries: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import {\n\tH5PConfig,\n\tcacheImplementations,\n\tLibraryManager,\n\tContentTypeCache,\n\tIUser,\n\tLibraryAdministration,\n\tILibraryAdministrationOverviewItem,\n} from '@lumieducation/h5p-server';\nimport ContentManager from '@lumieducation/h5p-server/build/src/ContentManager';\nimport ContentTypeInformationRepository from '@lumieducation/h5p-server/build/src/ContentTypeInformationRepository';\nimport { Injectable, InternalServerErrorException, NotFoundException } from '@nestjs/common';\nimport { ContentStorage, LibraryStorage } from '@src/modules/h5p-editor';\nimport { readFileSync } from 'fs';\nimport { parse } from 'yaml';\nimport { ConfigService } from '@nestjs/config';\nimport { IHubContentType } from '@lumieducation/h5p-server/build/src/types';\nimport { IH5PLibraryManagementConfig } from './h5p-library-management.config';\n\nconst h5pConfig = new H5PConfig(undefined, {\n\tbaseUrl: '/api/v3/h5p-editor',\n\tcontentUserStateSaveInterval: false,\n\tsetFinishedEnabled: false,\n});\n\ninterface LibrariesContentType {\n\th5p_libraries: string[];\n}\n\nfunction isLibrariesContentType(object: unknown): object is LibrariesContentType {\n\tconst isType =\n\t\ttypeof object === 'object' &&\n\t\t!Array.isArray(object) &&\n\t\tobject !== null &&\n\t\t'h5p_libraries' in object &&\n\t\tArray.isArray(object.h5p_libraries);\n\n\treturn isType;\n}\n\nexport const castToLibrariesContentType = (object: unknown): LibrariesContentType => {\n\tif (!isLibrariesContentType(object)) {\n\t\tthrow new InternalServerErrorException('Invalid input type for castToLibrariesContentType');\n\t}\n\n\treturn object;\n};\n\n@Injectable()\nexport class H5PLibraryManagementService {\n\t// should all this prop private?\n\tcontentTypeCache: ContentTypeCache;\n\n\tcontentTypeRepo: ContentTypeInformationRepository;\n\n\tlibraryManager: LibraryManager;\n\n\tlibraryAdministration: LibraryAdministration;\n\n\tlibraryWishList: string[];\n\n\tconstructor(\n\t\tprivate readonly libraryStorage: LibraryStorage,\n\t\tprivate readonly contentStorage: ContentStorage,\n\t\tprivate readonly configService: ConfigService\n\t) {\n\t\tconst kvCache = new cacheImplementations.CachedKeyValueStorage('kvcache');\n\t\tthis.contentTypeCache = new ContentTypeCache(h5pConfig, kvCache);\n\t\tthis.libraryManager = new LibraryManager(\n\t\t\tthis.libraryStorage,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\th5pConfig\n\t\t);\n\t\tthis.contentTypeRepo = new ContentTypeInformationRepository(this.contentTypeCache, this.libraryManager, h5pConfig);\n\t\tconst contentManager = new ContentManager(this.contentStorage);\n\t\tthis.libraryAdministration = new LibraryAdministration(this.libraryManager, contentManager);\n\t\tconst filePath = this.configService.get('H5P_EDITOR__LIBRARY_LIST_PATH');\n\n\t\tconst librariesYamlContent = readFileSync(filePath, { encoding: 'utf-8' });\n\t\tconst librariesContentType = castToLibrariesContentType(parse(librariesYamlContent));\n\t\tthis.libraryWishList = librariesContentType.h5p_libraries;\n\t}\n\n\tpublic async uninstallUnwantedLibraries(\n\t\twantedLibraries: string[],\n\t\tlibrariesToCheck: ILibraryAdministrationOverviewItem[]\n\t): Promise {\n\t\tif (librariesToCheck.length === 0) {\n\t\t\treturn;\n\t\t}\n\t\tconst lastPositionLibrariesToCheckArray = librariesToCheck.length - 1;\n\t\tif (\n\t\t\t!wantedLibraries.includes(librariesToCheck[lastPositionLibrariesToCheckArray].machineName) &&\n\t\t\tlibrariesToCheck[lastPositionLibrariesToCheckArray].dependentsCount === 0\n\t\t) {\n\t\t\t// force removal, don't let content prevent it, therefore use libraryStorage directly\n\t\t\t// also to avoid conflicts, remove one-by-one, not using for-await:\n\t\t\tawait this.libraryStorage.deleteLibrary(librariesToCheck[lastPositionLibrariesToCheckArray]);\n\t\t}\n\t\tawait this.uninstallUnwantedLibraries(\n\t\t\tthis.libraryWishList,\n\t\t\tlibrariesToCheck.slice(0, lastPositionLibrariesToCheckArray)\n\t\t);\n\t}\n\n\tprivate checkContentTypeExists(contentType: IHubContentType[]): void {\n\t\tif (contentType === undefined) {\n\t\t\tthrow new NotFoundException('this library does not exist');\n\t\t}\n\t}\n\n\tprivate createDefaultIUser(): IUser {\n\t\tconst user: IUser = {\n\t\t\tcanCreateRestricted: true,\n\t\t\tcanInstallRecommended: true,\n\t\t\tcanUpdateAndInstallLibraries: true,\n\t\t\temail: 'a@b.de',\n\t\t\tid: 'a',\n\t\t\tname: 'a',\n\t\t\ttype: 'local',\n\t\t};\n\n\t\treturn user;\n\t}\n\n\tpublic async installLibraries(librariesToInstall: string[]): Promise {\n\t\tif (librariesToInstall.length === 0) {\n\t\t\treturn;\n\t\t}\n\t\tconst lastPositionLibrariesToInstallArray = librariesToInstall.length - 1;\n\t\t// avoid conflicts, install one-by-one:\n\t\tconst contentType = await this.contentTypeCache.get(librariesToInstall[lastPositionLibrariesToInstallArray]);\n\t\tthis.checkContentTypeExists(contentType);\n\n\t\tconst user = this.createDefaultIUser();\n\n\t\tawait this.contentTypeRepo.installContentType(librariesToInstall[lastPositionLibrariesToInstallArray], user);\n\t\tawait this.installLibraries(librariesToInstall.slice(0, lastPositionLibrariesToInstallArray));\n\t}\n\n\tpublic async run(): Promise {\n\t\tconst installedLibraries = await this.libraryAdministration.getLibraries();\n\t\tawait this.uninstallUnwantedLibraries(this.libraryWishList, installedLibraries);\n\t\tawait this.installLibraries(this.libraryWishList);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LibraryFileUrlParams.html":{"url":"classes/LibraryFileUrlParams.html","title":"class - LibraryFileUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LibraryFileUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/library-file.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n file\n \n \n \n \n \n ubername\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n file\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/library-file.url.params.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n ubername\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/library-file.url.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsNotEmpty, IsString } from 'class-validator';\n\nexport class LibraryFileUrlParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tubername!: string;\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfile!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LibraryName.html":{"url":"classes/LibraryName.html","title":"class - LibraryName","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LibraryName\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/entity/library.entity.ts\n \n\n\n\n\n \n Implements\n \n \n ILibraryName\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n machineName\n \n \n \n majorVersion\n \n \n \n minorVersion\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(machineName: string, majorVersion: number, minorVersion: number)\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:23\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n machineName\n \n \n string\n \n \n \n No\n \n \n \n \n majorVersion\n \n \n number\n \n \n \n No\n \n \n \n \n minorVersion\n \n \n number\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n machineName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n majorVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n minorVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:23\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IInstalledLibrary, ILibraryName } from '@lumieducation/h5p-server';\nimport { IFileStats, ILibraryMetadata, IPath } from '@lumieducation/h5p-server/build/src/types';\nimport { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\n\nexport class Path implements IPath {\n\t@Property()\n\tpath: string;\n\n\tconstructor(path: string) {\n\t\tthis.path = path;\n\t}\n}\n\nexport class LibraryName implements ILibraryName {\n\t@Property()\n\tmachineName: string;\n\n\t@Property()\n\tmajorVersion: number;\n\n\t@Property()\n\tminorVersion: number;\n\n\tconstructor(machineName: string, majorVersion: number, minorVersion: number) {\n\t\tthis.machineName = machineName;\n\t\tthis.majorVersion = majorVersion;\n\t\tthis.minorVersion = minorVersion;\n\t}\n}\n\nexport class FileMetadata implements IFileStats {\n\tname: string;\n\n\tbirthtime: Date;\n\n\tsize: number;\n\n\tconstructor(name: string, birthtime: Date, size: number) {\n\t\tthis.name = name;\n\t\tthis.birthtime = birthtime;\n\t\tthis.size = size;\n\t}\n}\n\n@Entity({ tableName: 'h5p_library' })\nexport class InstalledLibrary extends BaseEntityWithTimestamps implements IInstalledLibrary {\n\t@Property()\n\tmachineName: string;\n\n\t@Property()\n\tmajorVersion: number;\n\n\t@Property()\n\tminorVersion: number;\n\n\t@Property()\n\tpatchVersion: number;\n\n\t/**\n\t * Addons can be added to other content types by\n\t */\n\t@Property({ nullable: true })\n\taddTo?: {\n\t\tcontent?: {\n\t\t\ttypes?: {\n\t\t\t\ttext?: {\n\t\t\t\t\t/**\n\t\t\t\t\t * If any string property in the parameters matches the regex,\n\t\t\t\t\t * the addon will be activated for the content.\n\t\t\t\t\t */\n\t\t\t\t\tregex?: string;\n\t\t\t\t};\n\t\t\t}[];\n\t\t};\n\t\t/**\n\t\t * Contains cases in which the library should be added to the editor.\n\t\t *\n\t\t * This is an extension to the H5P library metadata structure made by\n\t\t * h5p-nodejs-library. That way addons can specify to which editors\n\t\t * they should be added in general. The PHP implementation hard-codes\n\t\t * this list into the server, which we want to avoid here.\n\t\t */\n\t\teditor?: {\n\t\t\t/**\n\t\t\t * A list of machine names in which the addon should be added.\n\t\t\t */\n\t\t\tmachineNames: string[];\n\t\t};\n\t\t/**\n\t\t * Contains cases in which the library should be added to the player.\n\t\t *\n\t\t * This is an extension to the H5P library metadata structure made by\n\t\t * h5p-nodejs-library. That way addons can specify to which editors\n\t\t * they should be added in general. The PHP implementation hard-codes\n\t\t * this list into the server, which we want to avoid here.\n\t\t */\n\t\tplayer?: {\n\t\t\t/**\n\t\t\t * A list of machine names in which the addon should be added.\n\t\t\t */\n\t\t\tmachineNames: string[];\n\t\t};\n\t};\n\n\t/**\n\t * If set to true, the library can only be used be users who have this special\n\t * privilege.\n\t */\n\t@Property()\n\trestricted: boolean;\n\n\t@Property({ nullable: true })\n\tauthor?: string;\n\n\t/**\n\t * The core API required to run the library.\n\t */\n\t@Property({ nullable: true })\n\tcoreApi?: {\n\t\tmajorVersion: number;\n\t\tminorVersion: number;\n\t};\n\n\t@Property({ nullable: true })\n\tdescription?: string;\n\n\t@Property({ nullable: true })\n\tdropLibraryCss?: {\n\t\tmachineName: string;\n\t}[];\n\n\t@Property({ nullable: true })\n\tdynamicDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\teditorDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\tembedTypes?: ('iframe' | 'div')[];\n\n\t@Property({ nullable: true })\n\tfullscreen?: 0 | 1;\n\n\t@Property({ nullable: true })\n\th?: number;\n\n\t@Property({ nullable: true })\n\tlicense?: string;\n\n\t@Property({ nullable: true })\n\tmetadataSettings?: {\n\t\tdisable: 0 | 1;\n\t\tdisableExtraTitleField: 0 | 1;\n\t};\n\n\t@Property({ nullable: true })\n\tpreloadedCss?: Path[];\n\n\t@Property({ nullable: true })\n\tpreloadedDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\tpreloadedJs?: Path[];\n\n\t@Property()\n\trunnable: boolean | 0 | 1;\n\n\t@Property()\n\ttitle: string;\n\n\t@Property({ nullable: true })\n\tw?: number;\n\n\t@Property({ nullable: true })\n\trequiredExtensions?: {\n\t\tsharedState: number;\n\t};\n\n\t@Property({ nullable: true })\n\tstate?: {\n\t\tsnapshotSchema: boolean;\n\t\topSchema: boolean;\n\t\tsnapshotLogicChecks: boolean;\n\t\topLogicChecks: boolean;\n\t};\n\n\t@Property()\n\tfiles: FileMetadata[];\n\n\tpublic static simple_compare(a: number, b: number): number {\n\t\tif (a > b) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (a otherLibrary.machineName ? 1 : -1;\n\t}\n\n\tpublic compareVersions(otherLibrary: ILibraryName & { patchVersion?: number }): number {\n\t\tlet result = InstalledLibrary.simple_compare(this.majorVersion, otherLibrary.majorVersion);\n\t\tif (result !== 0) {\n\t\t\treturn result;\n\t\t}\n\t\tresult = InstalledLibrary.simple_compare(this.minorVersion, otherLibrary.minorVersion);\n\t\tif (result !== 0) {\n\t\t\treturn result;\n\t\t}\n\t\treturn InstalledLibrary.simple_compare(this.patchVersion, otherLibrary.patchVersion as number);\n\t}\n\n\tconstructor(libraryMetadata: ILibraryMetadata, restricted = false, files: FileMetadata[] = []) {\n\t\tsuper();\n\t\tthis.machineName = libraryMetadata.machineName;\n\t\tthis.majorVersion = libraryMetadata.majorVersion;\n\t\tthis.minorVersion = libraryMetadata.minorVersion;\n\t\tthis.patchVersion = libraryMetadata.patchVersion;\n\t\tthis.runnable = libraryMetadata.runnable;\n\t\tthis.title = libraryMetadata.title;\n\t\tthis.addTo = libraryMetadata.addTo;\n\t\tthis.author = libraryMetadata.author;\n\t\tthis.coreApi = libraryMetadata.coreApi;\n\t\tthis.description = libraryMetadata.description;\n\t\tthis.dropLibraryCss = libraryMetadata.dropLibraryCss;\n\t\tthis.dynamicDependencies = libraryMetadata.dynamicDependencies;\n\t\tthis.editorDependencies = libraryMetadata.editorDependencies;\n\t\tthis.embedTypes = libraryMetadata.embedTypes;\n\t\tthis.fullscreen = libraryMetadata.fullscreen;\n\t\tthis.h = libraryMetadata.h;\n\t\tthis.license = libraryMetadata.license;\n\t\tthis.metadataSettings = libraryMetadata.metadataSettings;\n\t\tthis.preloadedCss = libraryMetadata.preloadedCss;\n\t\tthis.preloadedDependencies = libraryMetadata.preloadedDependencies;\n\t\tthis.preloadedJs = libraryMetadata.preloadedJs;\n\t\tthis.w = libraryMetadata.w;\n\t\tthis.requiredExtensions = libraryMetadata.requiredExtensions;\n\t\tthis.state = libraryMetadata.state;\n\t\tthis.restricted = restricted;\n\t\tthis.files = files;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LibraryParametersBodyParams.html":{"url":"classes/LibraryParametersBodyParams.html","title":"class - LibraryParametersBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LibraryParametersBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/ajax/post.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n libraryParameters\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n libraryParameters\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/post.body.params.ts:25\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsArray, IsMongoId, IsOptional, IsString } from 'class-validator';\n\nexport class LibrariesBodyParams {\n\t@ApiProperty()\n\t@IsArray()\n\t@IsString({ each: true })\n\tlibraries!: string[];\n}\n\nexport class ContentBodyParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsOptional()\n\tfield!: string;\n}\n\nexport class LibraryParametersBodyParams {\n\t@ApiProperty()\n\t@IsString()\n\tlibraryParameters!: string;\n}\n\nexport type AjaxPostBodyParams = LibrariesBodyParams | ContentBodyParams | LibraryParametersBodyParams | undefined;\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LibraryRepo.html":{"url":"injectables/LibraryRepo.html","title":"injectable - LibraryRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LibraryRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/repo/library.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createLibrary\n \n \n Async\n findByName\n \n \n Async\n findByNameAndExactVersion\n \n \n Async\n findNewestByNameAndVersion\n \n \n Async\n findOneByNameAndVersionOrFail\n \n \n Async\n getAll\n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createLibrary\n \n \n \n \n \n \n \n createLibrary(library: InstalledLibrary)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/library.repo.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n library\n \n InstalledLibrary\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByName\n \n \n \n \n \n \n \n findByName(machineName: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/library.repo.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n machineName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByNameAndExactVersion\n \n \n \n \n \n \n \n findByNameAndExactVersion(machineName: string, majorVersion: number, minorVersion: number, patchVersion: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/library.repo.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n machineName\n \n string\n \n\n \n No\n \n\n\n \n \n majorVersion\n \n number\n \n\n \n No\n \n\n\n \n \n minorVersion\n \n number\n \n\n \n No\n \n\n\n \n \n patchVersion\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findNewestByNameAndVersion\n \n \n \n \n \n \n \n findNewestByNameAndVersion(machineName: string, majorVersion: number, minorVersion: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/library.repo.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n machineName\n \n string\n \n\n \n No\n \n\n\n \n \n majorVersion\n \n number\n \n\n \n No\n \n\n\n \n \n minorVersion\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findOneByNameAndVersionOrFail\n \n \n \n \n \n \n \n findOneByNameAndVersionOrFail(machineName: string, majorVersion: number, minorVersion: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/library.repo.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n machineName\n \n string\n \n\n \n No\n \n\n\n \n \n majorVersion\n \n number\n \n\n \n No\n \n\n\n \n \n minorVersion\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getAll\n \n \n \n \n \n \n \n getAll()\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/library.repo.ts:16\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/repo/library.repo.ts:7\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { BaseRepo } from '@shared/repo/base.repo';\nimport { InstalledLibrary } from '../entity';\n\n@Injectable()\nexport class LibraryRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn InstalledLibrary;\n\t}\n\n\tasync createLibrary(library: InstalledLibrary): Promise {\n\t\tconst entity = this.create(library);\n\t\tawait this.save(entity);\n\t}\n\n\tasync getAll(): Promise {\n\t\treturn this._em.find(this.entityName, {});\n\t}\n\n\tasync findOneByNameAndVersionOrFail(\n\t\tmachineName: string,\n\t\tmajorVersion: number,\n\t\tminorVersion: number\n\t): Promise {\n\t\tconst libs = await this._em.find(this.entityName, { machineName, majorVersion, minorVersion });\n\t\tif (libs.length === 1) {\n\t\t\treturn libs[0];\n\t\t}\n\t\tif (libs.length === 0) {\n\t\t\tthrow new Error('Library not found');\n\t\t}\n\t\tthrow new Error('Multiple libraries with the same name and version found');\n\t}\n\n\tasync findByName(machineName: string): Promise {\n\t\treturn this._em.find(this.entityName, { machineName });\n\t}\n\n\tasync findNewestByNameAndVersion(\n\t\tmachineName: string,\n\t\tmajorVersion: number,\n\t\tminorVersion: number\n\t): Promise {\n\t\tconst libs = await this._em.find(this.entityName, {\n\t\t\tmachineName,\n\t\t\tmajorVersion,\n\t\t\tminorVersion,\n\t\t});\n\t\tlet latest: InstalledLibrary | null = null;\n\t\tfor (const lib of libs) {\n\t\t\tif (latest === null || lib.patchVersion > latest.patchVersion) {\n\t\t\t\tlatest = lib;\n\t\t\t}\n\t\t}\n\t\treturn latest;\n\t}\n\n\tasync findByNameAndExactVersion(\n\t\tmachineName: string,\n\t\tmajorVersion: number,\n\t\tminorVersion: number,\n\t\tpatchVersion: number\n\t): Promise {\n\t\tconst [libs, count] = await this._em.findAndCount(this.entityName, {\n\t\t\tmachineName,\n\t\t\tmajorVersion,\n\t\t\tminorVersion,\n\t\t\tpatchVersion,\n\t\t});\n\t\tif (count > 1) {\n\t\t\tthrow new Error('too many libraries with same name and version');\n\t\t}\n\t\tif (count === 1) {\n\t\t\treturn libs[0];\n\t\t}\n\t\treturn null;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LinkContentBody.html":{"url":"classes/LinkContentBody.html","title":"class - LinkContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LinkContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n Optional\n imageUrl\n \n \n \n \n \n Optional\n title\n \n \n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n imageUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:39\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LinkElement.html":{"url":"classes/LinkElement.html","title":"class - LinkElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LinkElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/link-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardComposite\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n accept\n \n \n Async\n acceptAsync\n \n \n isAllowedAsChild\n \n \n addChild\n \n \n hasChild\n \n \n removeChild\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n url\n \n \n title\n \n \n description\n \n \n imageUrl\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n accept\n \n \n \n \n \n \naccept(visitor: BoardCompositeVisitor)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:41\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitor\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n acceptAsync\n \n \n \n \n \n \n \n acceptAsync(visitor: BoardCompositeVisitorAsync)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:45\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitorAsync\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isAllowedAsChild\n \n \n \n \n \n \nisAllowedAsChild()\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:37\n\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n addChild\n \n \n \n \n \n \naddChild(child: AnyBoardDo, position?: number)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n position\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasChild\n \n \n \n \n \n \nhasChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeChild\n \n \n \n \n \n \nremoveChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n url\n \n \n\n \n \n geturl()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/link-element.do.ts:5\n \n \n\n \n \n seturl(value: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/link-element.do.ts:9\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n title\n \n \n\n \n \n gettitle()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/link-element.do.ts:13\n \n \n\n \n \n settitle(value: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/link-element.do.ts:17\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n description\n \n \n\n \n \n getdescription()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/link-element.do.ts:21\n \n \n\n \n \n setdescription(value: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/link-element.do.ts:25\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n imageUrl\n \n \n\n \n \n getimageUrl()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/link-element.do.ts:29\n \n \n\n \n \n setimageUrl(value: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/link-element.do.ts:33\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class LinkElement extends BoardComposite {\n\tget url(): string {\n\t\treturn this.props.url ?? '';\n\t}\n\n\tset url(value: string) {\n\t\tthis.props.url = value;\n\t}\n\n\tget title(): string {\n\t\treturn this.props.title ?? '';\n\t}\n\n\tset title(value: string) {\n\t\tthis.props.title = value;\n\t}\n\n\tget description(): string {\n\t\treturn this.props.description ?? '';\n\t}\n\n\tset description(value: string) {\n\t\tthis.props.description = value ?? '';\n\t}\n\n\tget imageUrl(): string {\n\t\treturn this.props.imageUrl ?? '';\n\t}\n\n\tset imageUrl(value: string) {\n\t\tthis.props.imageUrl = value;\n\t}\n\n\tisAllowedAsChild(): boolean {\n\t\treturn false;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitLinkElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitLinkElementAsync(this);\n\t}\n}\n\nexport interface LinkElementProps extends BoardCompositeProps {\n\turl: string;\n\ttitle: string;\n\tdescription?: string;\n\timageUrl?: string;\n}\n\nexport function isLinkElement(reference: unknown): reference is LinkElement {\n\treturn reference instanceof LinkElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LinkElementContent.html":{"url":"classes/LinkElementContent.html","title":"class - LinkElementContent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LinkElementContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/link-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n description\n \n \n \n Optional\n imageUrl\n \n \n \n title\n \n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: LinkElementContent)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/link-element.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n LinkElementContent\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/link-element.response.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n imageUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/link-element.response.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/link-element.response.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/link-element.response.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class LinkElementContent {\n\tconstructor({ url, title, description, imageUrl }: LinkElementContent) {\n\t\tthis.url = url;\n\t\tthis.title = title;\n\t\tthis.description = description;\n\t\tthis.imageUrl = imageUrl;\n\t}\n\n\t@ApiProperty()\n\turl: string;\n\n\t@ApiProperty()\n\ttitle: string;\n\n\t@ApiPropertyOptional()\n\tdescription?: string;\n\n\t@ApiPropertyOptional()\n\timageUrl?: string;\n}\n\nexport class LinkElementResponse {\n\tconstructor({ id, content, timestamps, type }: LinkElementResponse) {\n\t\tthis.id = id;\n\t\tthis.content = content;\n\t\tthis.timestamps = timestamps;\n\t\tthis.type = type;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.LINK;\n\n\t@ApiProperty()\n\tcontent: LinkElementContent;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LinkElementContentBody.html":{"url":"classes/LinkElementContentBody.html","title":"class - LinkElementContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LinkElementContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n \n Extends\n \n \n ElementContentBody\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : LinkContentBody\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()@ApiProperty({})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:63\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.LINK\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from ElementContentBody\n\n \n \n \n \n Defined in ElementContentBody:59\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/LinkElementNode.html":{"url":"entities/LinkElementNode.html","title":"entity - LinkElementNode","body":"\n \n\n\n\n\n\n\n\n Entities\n LinkElementNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/link-element-node.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n imageUrl\n \n \n \n title\n \n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n imageUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/link-element-node.entity.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/link-element-node.entity.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/link-element-node.entity.ts:9\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { AnyBoardDo } from '../../domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.LINK_ELEMENT })\nexport class LinkElementNode extends BoardNode {\n\t@Property()\n\turl: string;\n\n\t@Property()\n\ttitle: string;\n\n\t@Property()\n\timageUrl?: string;\n\n\tconstructor(props: LinkElementNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.LINK_ELEMENT;\n\t\tthis.url = props.url;\n\t\tthis.title = props.title;\n\t\tthis.imageUrl = props.imageUrl;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildLinkElement(this);\n\n\t\treturn domainObject;\n\t}\n}\n\nexport interface LinkElementNodeProps extends BoardNodeProps {\n\turl: string;\n\ttitle: string;\n\timageUrl?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/LinkElementNodeProps.html":{"url":"interfaces/LinkElementNodeProps.html","title":"interface - LinkElementNodeProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n LinkElementNodeProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/link-element-node.entity.ts\n \n\n\n\n \n Extends\n \n \n BoardNodeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n imageUrl\n \n \n \n \n title\n \n \n \n \n url\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n imageUrl\n \n \n \n \n \n \n \n \n imageUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { AnyBoardDo } from '../../domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.LINK_ELEMENT })\nexport class LinkElementNode extends BoardNode {\n\t@Property()\n\turl: string;\n\n\t@Property()\n\ttitle: string;\n\n\t@Property()\n\timageUrl?: string;\n\n\tconstructor(props: LinkElementNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.LINK_ELEMENT;\n\t\tthis.url = props.url;\n\t\tthis.title = props.title;\n\t\tthis.imageUrl = props.imageUrl;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildLinkElement(this);\n\n\t\treturn domainObject;\n\t}\n}\n\nexport interface LinkElementNodeProps extends BoardNodeProps {\n\turl: string;\n\ttitle: string;\n\timageUrl?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/LinkElementProps.html":{"url":"interfaces/LinkElementProps.html","title":"interface - LinkElementProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n LinkElementProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/link-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardCompositeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n description\n \n \n \n Optional\n \n imageUrl\n \n \n \n \n title\n \n \n \n \n url\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n description: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n imageUrl\n \n \n \n \n \n \n \n \n imageUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class LinkElement extends BoardComposite {\n\tget url(): string {\n\t\treturn this.props.url ?? '';\n\t}\n\n\tset url(value: string) {\n\t\tthis.props.url = value;\n\t}\n\n\tget title(): string {\n\t\treturn this.props.title ?? '';\n\t}\n\n\tset title(value: string) {\n\t\tthis.props.title = value;\n\t}\n\n\tget description(): string {\n\t\treturn this.props.description ?? '';\n\t}\n\n\tset description(value: string) {\n\t\tthis.props.description = value ?? '';\n\t}\n\n\tget imageUrl(): string {\n\t\treturn this.props.imageUrl ?? '';\n\t}\n\n\tset imageUrl(value: string) {\n\t\tthis.props.imageUrl = value;\n\t}\n\n\tisAllowedAsChild(): boolean {\n\t\treturn false;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitLinkElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitLinkElementAsync(this);\n\t}\n}\n\nexport interface LinkElementProps extends BoardCompositeProps {\n\turl: string;\n\ttitle: string;\n\tdescription?: string;\n\timageUrl?: string;\n}\n\nexport function isLinkElement(reference: unknown): reference is LinkElement {\n\treturn reference instanceof LinkElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LinkElementResponse.html":{"url":"classes/LinkElementResponse.html","title":"class - LinkElementResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LinkElementResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/link-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n id\n \n \n \n timestamps\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: LinkElementResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/link-element.response.ts:26\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n LinkElementResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : LinkElementContent\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/link-element.response.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/link-element.response.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n timestamps\n \n \n \n \n \n \n Type : TimestampsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/link-element.response.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.LINK\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ContentElementType, enumName: 'ContentElementType'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/link-element.response.ts:38\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class LinkElementContent {\n\tconstructor({ url, title, description, imageUrl }: LinkElementContent) {\n\t\tthis.url = url;\n\t\tthis.title = title;\n\t\tthis.description = description;\n\t\tthis.imageUrl = imageUrl;\n\t}\n\n\t@ApiProperty()\n\turl: string;\n\n\t@ApiProperty()\n\ttitle: string;\n\n\t@ApiPropertyOptional()\n\tdescription?: string;\n\n\t@ApiPropertyOptional()\n\timageUrl?: string;\n}\n\nexport class LinkElementResponse {\n\tconstructor({ id, content, timestamps, type }: LinkElementResponse) {\n\t\tthis.id = id;\n\t\tthis.content = content;\n\t\tthis.timestamps = timestamps;\n\t\tthis.type = type;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.LINK;\n\n\t@ApiProperty()\n\tcontent: LinkElementContent;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LinkElementResponseMapper.html":{"url":"classes/LinkElementResponseMapper.html","title":"class - LinkElementResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LinkElementResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/link-element-response.mapper.ts\n \n\n\n\n\n \n Implements\n \n \n BaseResponseMapper\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n canMap\n \n \n Static\n getInstance\n \n \n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n \n \n Type : LinkElementResponseMapper\n\n \n \n \n \n Defined in apps/server/src/modules/board/controller/mapper/link-element-response.mapper.ts:6\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n canMap\n \n \n \n \n \n \ncanMap(element: LinkElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/link-element-response.mapper.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n LinkElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n getInstance\n \n \n \n \n \n \n \n getInstance()\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/link-element-response.mapper.ts:8\n \n \n\n\n \n \n\n \n Returns : LinkElementResponseMapper\n\n \n \n \n \n \n \n \n \n \n \n \n mapToResponse\n \n \n \n \n \n \nmapToResponse(element: LinkElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/link-element-response.mapper.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n LinkElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LinkElementResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ContentElementType, LinkElement } from '@shared/domain/domainobject';\nimport { LinkElementContent, LinkElementResponse, TimestampsResponse } from '../dto';\nimport { BaseResponseMapper } from './base-mapper.interface';\n\nexport class LinkElementResponseMapper implements BaseResponseMapper {\n\tprivate static instance: LinkElementResponseMapper;\n\n\tpublic static getInstance(): LinkElementResponseMapper {\n\t\tif (!LinkElementResponseMapper.instance) {\n\t\t\tLinkElementResponseMapper.instance = new LinkElementResponseMapper();\n\t\t}\n\n\t\treturn LinkElementResponseMapper.instance;\n\t}\n\n\tmapToResponse(element: LinkElement): LinkElementResponse {\n\t\tconst result = new LinkElementResponse({\n\t\t\tid: element.id,\n\t\t\ttimestamps: new TimestampsResponse({ lastUpdatedAt: element.updatedAt, createdAt: element.createdAt }),\n\t\t\ttype: ContentElementType.LINK,\n\t\t\tcontent: new LinkElementContent({\n\t\t\t\turl: element.url,\n\t\t\t\ttitle: element.title,\n\t\t\t\tdescription: element.description,\n\t\t\t\timageUrl: element.imageUrl,\n\t\t\t}),\n\t\t});\n\n\t\treturn result;\n\t}\n\n\tcanMap(element: LinkElement): boolean {\n\t\treturn element instanceof LinkElement;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ListFiles.html":{"url":"interfaces/ListFiles.html","title":"interface - ListFiles","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ListFiles\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/s3-client/interface/index.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n files\n \n \n \n Optional\n \n maxKeys\n \n \n \n Optional\n \n nextMarker\n \n \n \n \n path\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n files\n \n \n \n \n \n \n \n \n files: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n maxKeys\n \n \n \n \n \n \n \n \n maxKeys: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n nextMarker\n \n \n \n \n \n \n \n \n nextMarker: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n path\n \n \n \n \n \n \n \n \n path: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Readable } from 'stream';\n\nexport interface S3Config {\n\tconnectionName: string;\n\tendpoint: string;\n\tregion: string;\n\tbucket: string;\n\taccessKeyId: string;\n\tsecretAccessKey: string;\n}\n\nexport interface GetFile {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n}\n\nexport interface CopyFiles {\n\tsourcePath: string;\n\ttargetPath: string;\n}\n\nexport interface File {\n\tdata: Readable;\n\tmimeType: string;\n}\n\nexport interface ListFiles {\n\tpath: string;\n\tmaxKeys?: number;\n\tnextMarker?: string;\n\tfiles?: string[];\n}\n\nexport interface ObjectKeysRecursive {\n\tpath: string;\n\tmaxKeys: number | undefined;\n\tnextMarker: string | undefined;\n\tfiles: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ListOauthClientsParams.html":{"url":"classes/ListOauthClientsParams.html","title":"class - ListOauthClientsParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ListOauthClientsParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/request/list-oauth-clients.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n client_name\n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Optional\n offset\n \n \n \n \n \n Optional\n owner\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n client_name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'The name of the clients to filter by.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/list-oauth-clients.params.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@Max(500)@IsOptional()@ApiProperty({description: 'The maximum amount of clients to returned, upper bound is 500 clients.', required: false, nullable: false, minimum: 0, maximum: 500})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/list-oauth-clients.params.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n offset\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@IsOptional()@ApiProperty({description: 'The offset from where to start looking.', required: false, nullable: false, minimum: 0})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/list-oauth-clients.params.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n owner\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'The owner of the clients to filter by.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/list-oauth-clients.params.ts:45\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsNumber, IsOptional, IsString, Max, Min } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\n\nexport class ListOauthClientsParams {\n\t@IsNumber()\n\t@Min(0)\n\t@Max(500)\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'The maximum amount of clients to returned, upper bound is 500 clients.',\n\t\trequired: false,\n\t\tnullable: false,\n\t\tminimum: 0,\n\t\tmaximum: 500,\n\t})\n\tlimit?: number;\n\n\t@IsNumber()\n\t@Min(0)\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'The offset from where to start looking.',\n\t\trequired: false,\n\t\tnullable: false,\n\t\tminimum: 0,\n\t})\n\toffset?: number;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'The name of the clients to filter by.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\tclient_name?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'The owner of the clients to filter by.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\towner?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LocalAuthorizationBodyParams.html":{"url":"classes/LocalAuthorizationBodyParams.html","title":"class - LocalAuthorizationBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LocalAuthorizationBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/controllers/dto/local-authorization.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n password\n \n \n \n \n \n username\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n password\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/local-authorization.body.params.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/local-authorization.body.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsNotEmpty, IsString } from 'class-validator';\n\nexport class LocalAuthorizationBodyParams {\n\t@IsString()\n\t@IsNotEmpty()\n\t@ApiProperty()\n\tusername!: string;\n\n\t@IsString()\n\t@IsNotEmpty()\n\t@ApiProperty()\n\tpassword!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LocalStrategy.html":{"url":"injectables/LocalStrategy.html","title":"injectable - LocalStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LocalStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/strategy/local.strategy.ts\n \n\n\n\n \n Extends\n \n \n PassportStrategy(Strategy)\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n checkCredentials\n \n \n Private\n cleanupInput\n \n \n Async\n validate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authenticationService: AuthenticationService, idmOauthService: IdentityManagementOauthService, configService: ConfigService, userRepo: UserRepo)\n \n \n \n \n Defined in apps/server/src/modules/authentication/strategy/local.strategy.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authenticationService\n \n \n AuthenticationService\n \n \n \n No\n \n \n \n \n idmOauthService\n \n \n IdentityManagementOauthService\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n userRepo\n \n \n UserRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n checkCredentials\n \n \n \n \n \n \n \n checkCredentials(enteredPassword: string, savedPassword: string, account: AccountDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/local.strategy.ts:54\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n enteredPassword\n \n string\n \n\n \n No\n \n\n\n \n \n savedPassword\n \n string\n \n\n \n No\n \n\n\n \n \n account\n \n AccountDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n cleanupInput\n \n \n \n \n \n \n \n cleanupInput(username?: string, password?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/local.strategy.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n string\n \n\n \n Yes\n \n\n\n \n \n password\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : literal type\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n validate\n \n \n \n \n \n \n \n validate(username?: string, password?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/local.strategy.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n string\n \n\n \n Yes\n \n\n\n \n \n password\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { IdentityManagementConfig, IdentityManagementOauthService } from '@infra/identity-management';\nimport { AccountDto } from '@modules/account/services/dto';\nimport { Injectable, UnauthorizedException } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { PassportStrategy } from '@nestjs/passport';\nimport { GuardAgainst } from '@shared/common/utils/guard-against';\nimport { UserRepo } from '@shared/repo';\nimport bcrypt from 'bcryptjs';\nimport { Strategy } from 'passport-local';\nimport { ICurrentUser } from '../interface';\nimport { CurrentUserMapper } from '../mapper';\nimport { AuthenticationService } from '../services/authentication.service';\n\n@Injectable()\nexport class LocalStrategy extends PassportStrategy(Strategy) {\n\tconstructor(\n\t\tprivate readonly authenticationService: AuthenticationService,\n\t\tprivate readonly idmOauthService: IdentityManagementOauthService,\n\t\tprivate readonly configService: ConfigService,\n\t\tprivate readonly userRepo: UserRepo\n\t) {\n\t\tsuper();\n\t}\n\n\tasync validate(username?: string, password?: string): Promise {\n\t\t({ username, password } = this.cleanupInput(username, password));\n\t\tconst account = await this.authenticationService.loadAccount(username);\n\n\t\tif (this.configService.get('FEATURE_IDENTITY_MANAGEMENT_LOGIN_ENABLED')) {\n\t\t\tconst jwt = await this.idmOauthService.resourceOwnerPasswordGrant(username, password);\n\t\t\tGuardAgainst.nullOrUndefined(jwt, new UnauthorizedException());\n\t\t} else {\n\t\t\tconst accountPassword = GuardAgainst.nullOrUndefined(account.password, new UnauthorizedException());\n\t\t\tawait this.checkCredentials(password, accountPassword, account);\n\t\t}\n\n\t\tconst accountUserId = GuardAgainst.nullOrUndefined(\n\t\t\taccount.userId,\n\t\t\tnew Error(`login failing, because account ${account.id} has no userId`)\n\t\t);\n\t\tconst user = await this.userRepo.findById(accountUserId, true);\n\t\tconst currentUser = CurrentUserMapper.userToICurrentUser(account.id, user, false);\n\t\treturn currentUser;\n\t}\n\n\tprivate cleanupInput(username?: string, password?: string): { username: string; password: string } {\n\t\tusername = GuardAgainst.nullOrUndefined(username, new UnauthorizedException());\n\t\tpassword = GuardAgainst.nullOrUndefined(password, new UnauthorizedException());\n\t\tusername = this.authenticationService.normalizeUsername(username);\n\t\tpassword = this.authenticationService.normalizePassword(password);\n\t\treturn { username, password };\n\t}\n\n\tprivate async checkCredentials(\n\t\tenteredPassword: string,\n\t\tsavedPassword: string,\n\t\taccount: AccountDto\n\t): Promise {\n\t\tthis.authenticationService.checkBrutForce(account);\n\t\tif (!(await bcrypt.compare(enteredPassword, savedPassword))) {\n\t\t\tawait this.authenticationService.updateLastTriedFailedLogin(account.id);\n\t\t\tthrow new UnauthorizedException();\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Loggable.html":{"url":"interfaces/Loggable.html","title":"interface - Loggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Loggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/logger/interfaces/loggable.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/interfaces/loggable.ts:4\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n \n\n\n \n import { ErrorLogMessage, LogMessage, ValidationErrorLogMessage } from '../types';\n\nexport interface Loggable {\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/Logger.html":{"url":"injectables/Logger.html","title":"injectable - Logger","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n Logger\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/logger/logger.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n context\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n debug\n \n \n Public\n info\n \n \n Public\n notice\n \n \n Public\n setContext\n \n \n Public\n warning\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: WinstonLogger)\n \n \n \n \n Defined in apps/server/src/core/logger/logger.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n WinstonLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n debug\n \n \n \n \n \n \n \n debug(loggable: Loggable)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/logger.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loggable\n \n Loggable\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n info\n \n \n \n \n \n \n \n info(loggable: Loggable)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/logger.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loggable\n \n Loggable\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n notice\n \n \n \n \n \n \n \n notice(loggable: Loggable)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/logger.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loggable\n \n Loggable\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n setContext\n \n \n \n \n \n \n \n setContext(name: string)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/logger.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n warning\n \n \n \n \n \n \n \n warning(loggable: Loggable)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/logger.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loggable\n \n Loggable\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n context\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : ''\n \n \n \n \n Defined in apps/server/src/core/logger/logger.ts:9\n \n \n\n\n \n \n\n\n \n\n\n \n import { Inject, Injectable, Scope } from '@nestjs/common';\nimport { WINSTON_MODULE_PROVIDER } from 'nest-winston';\nimport { Logger as WinstonLogger } from 'winston';\nimport { Loggable } from './interfaces';\nimport { LoggingUtils } from './logging.utils';\n\n@Injectable({ scope: Scope.TRANSIENT })\nexport class Logger {\n\tprivate context = '';\n\n\tconstructor(@Inject(WINSTON_MODULE_PROVIDER) private readonly logger: WinstonLogger) {}\n\n\tpublic warning(loggable: Loggable): void {\n\t\tconst message = LoggingUtils.createMessageWithContext(loggable, this.context);\n\t\tthis.logger.warning(message);\n\t}\n\n\tpublic notice(loggable: Loggable): void {\n\t\tconst message = LoggingUtils.createMessageWithContext(loggable, this.context);\n\t\tthis.logger.notice(message);\n\t}\n\n\tpublic info(loggable: Loggable): void {\n\t\tconst message = LoggingUtils.createMessageWithContext(loggable, this.context);\n\t\tthis.logger.info(message);\n\t}\n\n\tpublic debug(loggable: Loggable): void {\n\t\tconst message = LoggingUtils.createMessageWithContext(loggable, this.context);\n\t\tthis.logger.debug(message);\n\t}\n\n\tpublic setContext(name: string) {\n\t\tthis.context = name;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/LoggerConfig.html":{"url":"interfaces/LoggerConfig.html","title":"interface - LoggerConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n LoggerConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/logger/interfaces/logger-config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n NEST_LOG_LEVEL\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n NEST_LOG_LEVEL\n \n \n \n \n \n \n \n \n NEST_LOG_LEVEL: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface LoggerConfig {\n\tNEST_LOG_LEVEL: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/LoggerModule.html":{"url":"modules/LoggerModule.html","title":"module - LoggerModule","body":"\n \n\n\n\n\n Modules\n LoggerModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_LoggerModule\n\n\n\ncluster_LoggerModule_providers\n\n\n\ncluster_LoggerModule_exports\n\n\n\n\nErrorLogger \n\nErrorLogger \n\n\n\nLegacyLogger \n\nLegacyLogger \n\n\n\nLogger \n\nLogger \n\n\n\nLoggerModule\n\nLoggerModule\n\nErrorLogger -->\n\nLoggerModule->ErrorLogger \n\n\n\nLegacyLogger -->\n\nLoggerModule->LegacyLogger \n\n\n\nLogger -->\n\nLoggerModule->Logger \n\n\n\n\n\nErrorLogger\n\nErrorLogger\n\nLoggerModule -->\n\nErrorLogger->LoggerModule\n\n\n\n\n\nLegacyLogger\n\nLegacyLogger\n\nLoggerModule -->\n\nLegacyLogger->LoggerModule\n\n\n\n\n\nLogger\n\nLogger\n\nLoggerModule -->\n\nLogger->LoggerModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/core/logger/logger.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ErrorLogger\n \n \n LegacyLogger\n \n \n Logger\n \n \n \n \n Exports\n \n \n ErrorLogger\n \n \n LegacyLogger\n \n \n Logger\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { utilities, WinstonModule } from 'nest-winston';\nimport winston from 'winston';\nimport { ErrorLogger } from './error-logger';\nimport { LoggerConfig } from './interfaces';\nimport { LegacyLogger } from './legacy-logger.service';\nimport { Logger } from './logger';\n\n@Module({\n\timports: [\n\t\tWinstonModule.forRootAsync({\n\t\t\tuseFactory: (configService: ConfigService) => {\n\t\t\t\treturn {\n\t\t\t\t\tlevels: winston.config.syslog.levels,\n\t\t\t\t\tlevel: configService.get('NEST_LOG_LEVEL'),\n\t\t\t\t\texitOnError: false,\n\t\t\t\t\ttransports: [\n\t\t\t\t\t\tnew winston.transports.Console({\n\t\t\t\t\t\t\thandleExceptions: true,\n\t\t\t\t\t\t\thandleRejections: true,\n\t\t\t\t\t\t\tformat: winston.format.combine(\n\t\t\t\t\t\t\t\twinston.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss.SSS' }),\n\t\t\t\t\t\t\t\twinston.format.ms(),\n\t\t\t\t\t\t\t\tutilities.format.nestLike()\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t}),\n\t\t\t\t\t],\n\t\t\t\t};\n\t\t\t},\n\t\t\tinject: [ConfigService],\n\t\t}),\n\t],\n\tproviders: [LegacyLogger, Logger, ErrorLogger],\n\texports: [LegacyLogger, Logger, ErrorLogger],\n})\nexport class LoggerModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LoggingUtils.html":{"url":"classes/LoggingUtils.html","title":"class - LoggingUtils","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LoggingUtils\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/logger/logging.utils.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n createMessageWithContext\n \n \n Static\n isInstanceOfLoggable\n \n \n Private\n Static\n stringifyMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n createMessageWithContext\n \n \n \n \n \n \n \n createMessageWithContext(loggable: Loggable, context?: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/logging.utils.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loggable\n \n Loggable\n \n\n \n No\n \n\n\n \n \n context\n \n string | undefined\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : LogMessageWithContext\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n isInstanceOfLoggable\n \n \n \n \n \n \n \n isInstanceOfLoggable(object: any)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/logging.utils.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n object\n \n any\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Loggable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n stringifyMessage\n \n \n \n \n \n \n \n stringifyMessage(message)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/logging.utils.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n message\n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import util from 'util';\nimport { Loggable } from './interfaces';\nimport { LogMessageWithContext } from './types';\n\nexport class LoggingUtils {\n\tstatic createMessageWithContext(loggable: Loggable, context?: string | undefined): LogMessageWithContext {\n\t\tconst message = loggable.getLogMessage();\n\t\tconst stringifiedMessage = this.stringifyMessage(message);\n\t\tconst messageWithContext = { message: stringifiedMessage, context };\n\t\treturn messageWithContext;\n\t}\n\n\tprivate static stringifyMessage(message: unknown): string {\n\t\tconst stringifiedMessage = util.inspect(message).replace(/\\n/g, '').replace(/\\\\n/g, '');\n\t\treturn stringifiedMessage;\n\t}\n\n\tstatic isInstanceOfLoggable(object: any): object is Loggable {\n\t\treturn 'getLogMessage' in object;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/LoginController.html":{"url":"controllers/LoginController.html","title":"controller - LoginController","body":"\n \n\n\n\n\n\n\n Controllers\n LoginController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/controllers/login.controller.ts\n \n\n \n Prefix\n \n \n authentication\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n loginLdap\n \n \n \n \n \n \n \n \n \n Async\n loginLocal\n \n \n \n \n \n \n \n \n \n Async\n loginOauth2\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n loginLdap\n \n \n \n \n \n \n \n loginLdap(user: ICurrentUser, _: LdapAuthorizationBodyParams)\n \n \n\n \n \n Decorators : \n \n @UseGuards(undefined)@HttpCode(HttpStatus.OK)@Post('ldap')@ApiOperation({summary: 'Starts the login process for users which are authenticated via LDAP'})@ApiResponse({status: 200, type: LoginResponse, description: 'Login was successful.'})@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiResponse({status: 403, type: ForbiddenOperationError, description: 'Invalid user credentials.'})\n \n \n\n \n \n Defined in apps/server/src/modules/authentication/controllers/login.controller.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n _\n \n LdapAuthorizationBodyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n loginLocal\n \n \n \n \n \n \n \n loginLocal(user: ICurrentUser, _: LocalAuthorizationBodyParams)\n \n \n\n \n \n Decorators : \n \n @UseGuards(undefined)@HttpCode(HttpStatus.OK)@Post('local')@ApiOperation({summary: 'Starts the login process for users which are locally managed.'})@ApiResponse({status: 200, type: LoginResponse, description: 'Login was successful.'})@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiResponse({status: 403, type: ForbiddenOperationError, description: 'Invalid user credentials.'})\n \n \n\n \n \n Defined in apps/server/src/modules/authentication/controllers/login.controller.ts:47\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n _\n \n LocalAuthorizationBodyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n loginOauth2\n \n \n \n \n \n \n \n loginOauth2(user: OauthCurrentUser, _: Oauth2AuthorizationBodyParams)\n \n \n\n \n \n Decorators : \n \n @UseGuards(undefined)@HttpCode(HttpStatus.OK)@Post('oauth2')@ApiOperation({summary: 'Starts the login process for users which are authenticated via OAuth 2.'})@ApiResponse({status: 200, type: LoginResponse, description: 'Login was successful.'})@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiResponse({status: 403, type: ForbiddenOperationError, description: 'Invalid user credentials.'})\n \n \n\n \n \n Defined in apps/server/src/modules/authentication/controllers/login.controller.ts:62\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n OauthCurrentUser\n \n\n \n No\n \n\n\n \n \n _\n \n Oauth2AuthorizationBodyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Body, Controller, HttpCode, HttpStatus, Post, UseGuards } from '@nestjs/common';\nimport { AuthGuard } from '@nestjs/passport';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { ForbiddenOperationError, ValidationError } from '@shared/common';\nimport { CurrentUser } from '../decorator';\nimport type { ICurrentUser, OauthCurrentUser } from '../interface';\nimport { LoginDto } from '../uc/dto';\nimport { LoginUc } from '../uc/login.uc';\nimport {\n\tLdapAuthorizationBodyParams,\n\tLocalAuthorizationBodyParams,\n\tLoginResponse,\n\tOauth2AuthorizationBodyParams,\n\tOauthLoginResponse,\n} from './dto';\nimport { LoginResponseMapper } from './mapper/login-response.mapper';\n\n@ApiTags('Authentication')\n@Controller('authentication')\nexport class LoginController {\n\tconstructor(private readonly loginUc: LoginUc) {}\n\n\t@UseGuards(AuthGuard('ldap'))\n\t@HttpCode(HttpStatus.OK)\n\t@Post('ldap')\n\t@ApiOperation({ summary: 'Starts the login process for users which are authenticated via LDAP' })\n\t@ApiResponse({ status: 200, type: LoginResponse, description: 'Login was successful.' })\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiResponse({ status: 403, type: ForbiddenOperationError, description: 'Invalid user credentials.' })\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tasync loginLdap(@CurrentUser() user: ICurrentUser, @Body() _: LdapAuthorizationBodyParams): Promise {\n\t\tconst loginDto: LoginDto = await this.loginUc.getLoginData(user);\n\n\t\tconst mapped: LoginResponse = LoginResponseMapper.mapToLoginResponse(loginDto);\n\n\t\treturn mapped;\n\t}\n\n\t@UseGuards(AuthGuard('local'))\n\t@HttpCode(HttpStatus.OK)\n\t@Post('local')\n\t@ApiOperation({ summary: 'Starts the login process for users which are locally managed.' })\n\t@ApiResponse({ status: 200, type: LoginResponse, description: 'Login was successful.' })\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiResponse({ status: 403, type: ForbiddenOperationError, description: 'Invalid user credentials.' })\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tasync loginLocal(@CurrentUser() user: ICurrentUser, @Body() _: LocalAuthorizationBodyParams): Promise {\n\t\tconst loginDto: LoginDto = await this.loginUc.getLoginData(user);\n\n\t\tconst mapped: LoginResponse = LoginResponseMapper.mapToLoginResponse(loginDto);\n\n\t\treturn mapped;\n\t}\n\n\t@UseGuards(AuthGuard('oauth2'))\n\t@HttpCode(HttpStatus.OK)\n\t@Post('oauth2')\n\t@ApiOperation({ summary: 'Starts the login process for users which are authenticated via OAuth 2.' })\n\t@ApiResponse({ status: 200, type: LoginResponse, description: 'Login was successful.' })\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiResponse({ status: 403, type: ForbiddenOperationError, description: 'Invalid user credentials.' })\n\tasync loginOauth2(\n\t\t@CurrentUser() user: OauthCurrentUser,\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\t@Body() _: Oauth2AuthorizationBodyParams\n\t): Promise {\n\t\tconst loginDto: LoginDto = await this.loginUc.getLoginData(user);\n\n\t\tconst mapped: OauthLoginResponse = LoginResponseMapper.mapToOauthLoginResponse(loginDto, user.externalIdToken);\n\n\t\treturn mapped;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LoginDto.html":{"url":"classes/LoginDto.html","title":"class - LoginDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LoginDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/uc/dto/login.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n accessToken\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: LoginDto)\n \n \n \n \n Defined in apps/server/src/modules/authentication/uc/dto/login.dto.ts:2\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n LoginDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n accessToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/authentication/uc/dto/login.dto.ts:2\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class LoginDto {\n\taccessToken: string;\n\n\tconstructor(props: LoginDto) {\n\t\tthis.accessToken = props.accessToken;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LoginRequestBody.html":{"url":"classes/LoginRequestBody.html","title":"class - LoginRequestBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LoginRequestBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/request/login-request.body.ts\n \n\n\n\n \n Extends\n \n \n OAuthRejectableBody\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n remember\n \n \n \n \n \n Optional\n remember_for\n \n \n \n \n \n Optional\n error\n \n \n \n \n \n Optional\n error_debug\n \n \n \n \n \n Optional\n error_description\n \n \n \n \n \n Optional\n error_hint\n \n \n \n \n \n Optional\n status_code\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n remember\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@IsOptional()@ApiProperty({description: 'Remember, if set to true, tells the oauth provider to remember this consent authorization and reuse it if the same client asks the same user for the same, or a subset of, scope.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/login-request.body.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n remember_for\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsInt()@IsOptional()@ApiProperty({description: 'RememberFor sets how long the consent authorization should be remembered for in seconds. If set to 0, the authorization will be remembered indefinitely.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/login-request.body.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n error\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'The error should follow the OAuth2 error format (e.g. invalid_request, login_required). Defaults to request_denied.', required: false, nullable: false})\n \n \n \n \n \n Inherited from OAuthRejectableBody\n\n \n \n \n \n Defined in OAuthRejectableBody:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n error_debug\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'Debug contains information to help resolve the problem as a developer. Usually not exposed to the public but only in the server logs.', required: false, nullable: false})\n \n \n \n \n \n Inherited from OAuthRejectableBody\n\n \n \n \n \n Defined in OAuthRejectableBody:23\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n error_description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'Description of the error in a human readable format.', required: false, nullable: false})\n \n \n \n \n \n Inherited from OAuthRejectableBody\n\n \n \n \n \n Defined in OAuthRejectableBody:32\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n error_hint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'Hint to help resolve the error.', required: false, nullable: false})\n \n \n \n \n \n Inherited from OAuthRejectableBody\n\n \n \n \n \n Defined in OAuthRejectableBody:41\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n status_code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@IsOptional()@ApiProperty({description: 'Represents the HTTP status code of the error (e.g. 401 or 403). Defaults to 400.', required: false, nullable: false})\n \n \n \n \n \n Inherited from OAuthRejectableBody\n\n \n \n \n \n Defined in OAuthRejectableBody:50\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsBoolean, IsInt, IsOptional } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { OAuthRejectableBody } from './oauth-rejectable.body';\n\nexport class LoginRequestBody extends OAuthRejectableBody {\n\t@IsBoolean()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'Remember, if set to true, tells the oauth provider to remember this consent authorization and reuse it if the same client asks the same user for the same, or a subset of, scope.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\tremember?: boolean;\n\n\t@IsInt()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'RememberFor sets how long the consent authorization should be remembered for in seconds. If set to 0, the authorization will be remembered indefinitely.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\tremember_for?: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LoginResponse.html":{"url":"classes/LoginResponse.html","title":"class - LoginResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LoginResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/controllers/dto/login.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n accessToken\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: LoginResponse)\n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/login.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n LoginResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n accessToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/login.response.ts:5\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class LoginResponse {\n\t@ApiProperty()\n\taccessToken: string;\n\n\tconstructor(props: LoginResponse) {\n\t\tthis.accessToken = props.accessToken;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LoginResponse-1.html":{"url":"classes/LoginResponse-1.html","title":"class - LoginResponse-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LoginResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n challenge\n \n \n \n client\n \n \n \n \n Optional\n client_id\n \n \n \n \n Optional\n oidc_context\n \n \n \n \n Optional\n request_url\n \n \n \n \n Optional\n requested_access_token_audience\n \n \n \n \n \n \n Optional\n requested_scope\n \n \n \n \n Optional\n session_id\n \n \n \n skip\n \n \n \n subject\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(loginResponse: LoginResponse)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n loginResponse\n \n \n LoginResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n challenge\n \n \n \n \n \n \n Type : string | undefined\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The id/challenge of the consent login request.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n client\n \n \n \n \n \n \n Type : OauthClientResponse | undefined\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n client_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty({description: 'Id of the corresponding client.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n oidc_context\n \n \n \n \n \n \n Type : OidcContextResponse\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n request_url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty({description: 'The original oauth2.0 authorization url request by the client.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n requested_access_token_audience\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n requested_scope\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@IsOptional()@IsString({each: true})@ApiProperty({description: 'The request scopes of the login request.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n session_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty({description: 'The login session id. This parameter is used as sid for the oidc front-/backchannel logout.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n \n skip\n \n \n \n \n \n \n Type : boolean | undefined\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Skip, if true, implies that the client has requested the same scopes from the same user previously.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts:48\n \n \n\n\n \n \n \n \n \n \n \n \n \n subject\n \n \n \n \n \n \n Type : string | undefined\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'User id of the end-user that is authenticated.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts:51\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { OauthClientResponse } from '@modules/oauth-provider/controller/dto/response/oauth-client.response';\nimport { OidcContextResponse } from '@modules/oauth-provider/controller/dto/response/oidc-context.response';\nimport { IsArray, IsOptional, IsString } from 'class-validator';\n\nexport class LoginResponse {\n\tconstructor(loginResponse: LoginResponse) {\n\t\tObject.assign(this, loginResponse);\n\t}\n\n\t@IsOptional()\n\t@ApiProperty({ description: 'Id of the corresponding client.' })\n\tclient_id?: string;\n\n\t@ApiProperty({ description: 'The id/challenge of the consent login request.' })\n\tchallenge: string | undefined;\n\n\t@ApiProperty()\n\tclient: OauthClientResponse | undefined;\n\n\t@IsOptional()\n\t@ApiProperty()\n\toidc_context?: OidcContextResponse;\n\n\t@IsOptional()\n\t@ApiProperty({ description: 'The original oauth2.0 authorization url request by the client.' })\n\trequest_url?: string;\n\n\t@IsOptional()\n\t@ApiProperty()\n\trequested_access_token_audience?: string[];\n\n\t@IsArray()\n\t@IsOptional()\n\t@IsString({ each: true })\n\t@ApiProperty({ description: 'The request scopes of the login request.', required: false, nullable: false })\n\trequested_scope?: string[];\n\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'The login session id. This parameter is used as sid for the oidc front-/backchannel logout.',\n\t})\n\tsession_id?: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Skip, if true, implies that the client has requested the same scopes from the same user previously.',\n\t})\n\tskip: boolean | undefined;\n\n\t@ApiProperty({ description: 'User id of the end-user that is authenticated.' })\n\tsubject: string | undefined;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LoginResponseMapper.html":{"url":"classes/LoginResponseMapper.html","title":"class - LoginResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LoginResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/controllers/mapper/login-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToLoginResponse\n \n \n Static\n mapToOauthLoginResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToLoginResponse\n \n \n \n \n \n \n \n mapToLoginResponse(loginDto: LoginDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/controllers/mapper/login-response.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loginDto\n \n LoginDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LoginResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToOauthLoginResponse\n \n \n \n \n \n \n \n mapToOauthLoginResponse(loginDto: LoginDto, externalIdToken?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/controllers/mapper/login-response.mapper.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loginDto\n \n LoginDto\n \n\n \n No\n \n\n\n \n \n externalIdToken\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : OauthLoginResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { LoginDto } from '../../uc/dto';\nimport { LoginResponse, OauthLoginResponse } from '../dto';\n\nexport class LoginResponseMapper {\n\tstatic mapToLoginResponse(loginDto: LoginDto): LoginResponse {\n\t\tconst response: LoginResponse = new LoginResponse({\n\t\t\taccessToken: loginDto.accessToken,\n\t\t});\n\n\t\treturn response;\n\t}\n\n\tstatic mapToOauthLoginResponse(loginDto: LoginDto, externalIdToken?: string): OauthLoginResponse {\n\t\tconst response: OauthLoginResponse = new OauthLoginResponse({\n\t\t\taccessToken: loginDto.accessToken,\n\t\t\texternalIdToken,\n\t\t});\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LoginUc.html":{"url":"injectables/LoginUc.html","title":"injectable - LoginUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LoginUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/uc/login.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getLoginData\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authService: AuthenticationService)\n \n \n \n \n Defined in apps/server/src/modules/authentication/uc/login.uc.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authService\n \n \n AuthenticationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getLoginData\n \n \n \n \n \n \n \n getLoginData(userInfo: ICurrentUser)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/uc/login.uc.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userInfo\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ICurrentUser } from '../interface';\nimport { CreateJwtPayload } from '../interface/jwt-payload';\nimport { CurrentUserMapper } from '../mapper';\nimport { AuthenticationService } from '../services/authentication.service';\nimport { LoginDto } from './dto';\n\n@Injectable()\nexport class LoginUc {\n\tconstructor(private readonly authService: AuthenticationService) {}\n\n\tasync getLoginData(userInfo: ICurrentUser): Promise {\n\t\tconst createJwtPayload: CreateJwtPayload = CurrentUserMapper.mapCurrentUserToCreateJwtPayload(userInfo);\n\n\t\tconst accessTokenDto: LoginDto = await this.authService.generateJwt(createJwtPayload);\n\n\t\tconst loginDto: LoginDto = new LoginDto({\n\t\t\taccessToken: accessTokenDto.accessToken,\n\t\t});\n\n\t\treturn loginDto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/Lti11EncryptionService.html":{"url":"injectables/Lti11EncryptionService.html","title":"injectable - Lti11EncryptionService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n Lti11EncryptionService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/service/lti11-encryption.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n sign\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n sign\n \n \n \n \n \n \n \n sign(key: string, secret: string, url: string, payload: Record)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/lti11-encryption.service.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n key\n \n string\n \n\n \n No\n \n\n\n \n \n secret\n \n string\n \n\n \n No\n \n\n\n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n payload\n \n Record\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Authorization\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport CryptoJS from 'crypto-js';\nimport OAuth, { Authorization, RequestOptions } from 'oauth-1.0a';\n\n@Injectable()\nexport class Lti11EncryptionService {\n\tpublic sign(key: string, secret: string, url: string, payload: Record): Authorization {\n\t\tconst requestData: RequestOptions = {\n\t\t\turl,\n\t\t\tmethod: 'POST',\n\t\t\tdata: payload,\n\t\t};\n\n\t\tconst consumer: OAuth = new OAuth({\n\t\t\tconsumer: {\n\t\t\t\tkey,\n\t\t\t\tsecret,\n\t\t\t},\n\t\t\tsignature_method: 'HMAC-SHA1',\n\t\t\thash_function: (base_string: string, hashKey: string) =>\n\t\t\t\tCryptoJS.HmacSHA1(base_string, hashKey).toString(CryptoJS.enc.Base64),\n\t\t});\n\n\t\tconst authorization: Authorization = consumer.authorize(requestData);\n\n\t\treturn authorization;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Lti11ToolConfig.html":{"url":"classes/Lti11ToolConfig.html","title":"class - Lti11ToolConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Lti11ToolConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/domain/config/lti11-tool-config.do.ts\n \n\n\n\n \n Extends\n \n \n ExternalToolConfig\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n key\n \n \n launch_presentation_locale\n \n \n lti_message_type\n \n \n privacy_permission\n \n \n Optional\n resource_link_id\n \n \n secret\n \n \n baseUrl\n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: Lti11ToolConfig)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/lti11-tool-config.do.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n Lti11ToolConfig\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n key\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/lti11-tool-config.do.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n launch_presentation_locale\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/lti11-tool-config.do.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n lti_message_type\n \n \n \n \n \n \n Type : LtiMessageType\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/lti11-tool-config.do.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n privacy_permission\n \n \n \n \n \n \n Type : LtiPrivacyPermission\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/lti11-tool-config.do.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n resource_link_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/lti11-tool-config.do.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n secret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/lti11-tool-config.do.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from ExternalToolConfig\n\n \n \n \n \n Defined in ExternalToolConfig:6\n\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Inherited from ExternalToolConfig\n\n \n \n \n \n Defined in ExternalToolConfig:4\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { LtiMessageType, LtiPrivacyPermission, ToolConfigType } from '../../../common/enum';\nimport { ExternalToolConfig } from './external-tool-config.do';\n\nexport class Lti11ToolConfig extends ExternalToolConfig {\n\tkey: string;\n\n\tsecret: string;\n\n\tresource_link_id?: string;\n\n\tlti_message_type: LtiMessageType;\n\n\tprivacy_permission: LtiPrivacyPermission;\n\n\tlaunch_presentation_locale: string;\n\n\tconstructor(props: Lti11ToolConfig) {\n\t\tsuper({\n\t\t\ttype: ToolConfigType.LTI11,\n\t\t\tbaseUrl: props.baseUrl,\n\t\t});\n\t\tthis.key = props.key;\n\t\tthis.secret = props.secret;\n\t\tthis.resource_link_id = props.resource_link_id;\n\t\tthis.lti_message_type = props.lti_message_type;\n\t\tthis.privacy_permission = props.privacy_permission;\n\t\tthis.launch_presentation_locale = props.launch_presentation_locale;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Lti11ToolConfigCreateParams.html":{"url":"classes/Lti11ToolConfigCreateParams.html","title":"class - Lti11ToolConfigCreateParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Lti11ToolConfigCreateParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-create.params.ts\n \n\n\n\n \n Extends\n \n \n ExternalToolConfigCreateParams\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n key\n \n \n \n \n launch_presentation_locale\n \n \n \n \n lti_message_type\n \n \n \n \n privacy_permission\n \n \n \n \n \n Optional\n resource_link_id\n \n \n \n \n secret\n \n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigCreateParams\n\n \n \n \n \n Defined in ExternalToolConfigCreateParams:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n key\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-create.params.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n launch_presentation_locale\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsLocale()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-create.params.ts:38\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n lti_message_type\n \n \n \n \n \n \n Type : LtiMessageType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(LtiMessageType)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-create.params.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n privacy_permission\n \n \n \n \n \n \n Type : LtiPrivacyPermission\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(LtiPrivacyPermission)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-create.params.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n resource_link_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-create.params.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n secret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-create.params.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ToolConfigType)@ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigCreateParams\n\n \n \n \n \n Defined in ExternalToolConfigCreateParams:9\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsEnum, IsLocale, IsOptional, IsString } from 'class-validator';\nimport { LtiMessageType, LtiPrivacyPermission, ToolConfigType } from '../../../../../common/enum';\nimport { ExternalToolConfigCreateParams } from './external-tool-config.params';\n\nexport class Lti11ToolConfigCreateParams extends ExternalToolConfigCreateParams {\n\t@IsEnum(ToolConfigType)\n\t@ApiProperty()\n\ttype!: ToolConfigType;\n\n\t@IsString()\n\t@ApiProperty()\n\tbaseUrl!: string;\n\n\t@IsString()\n\t@ApiProperty()\n\tkey!: string;\n\n\t@IsString()\n\t@ApiProperty()\n\tsecret!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tresource_link_id?: string;\n\n\t@IsEnum(LtiMessageType)\n\t@ApiProperty()\n\tlti_message_type!: LtiMessageType;\n\n\t@IsEnum(LtiPrivacyPermission)\n\t@ApiProperty()\n\tprivacy_permission!: LtiPrivacyPermission;\n\n\t@IsLocale()\n\t@ApiProperty()\n\tlaunch_presentation_locale!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Lti11ToolConfigEntity.html":{"url":"classes/Lti11ToolConfigEntity.html","title":"class - Lti11ToolConfigEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Lti11ToolConfigEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/entity/config/lti11-tool-config.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n key\n \n \n \n launch_presentation_locale\n \n \n \n lti_message_type\n \n \n \n privacy_permission\n \n \n \n Optional\n resource_link_id\n \n \n \n secret\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: Lti11ToolConfigEntity)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/lti11-tool-config.entity.ts:24\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n Lti11ToolConfigEntity\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n key\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/lti11-tool-config.entity.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n \n launch_presentation_locale\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/lti11-tool-config.entity.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n lti_message_type\n \n \n \n \n \n \n Type : LtiMessageType\n\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/lti11-tool-config.entity.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n privacy_permission\n \n \n \n \n \n \n Type : LtiPrivacyPermission\n\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/lti11-tool-config.entity.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n resource_link_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/lti11-tool-config.entity.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n secret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/lti11-tool-config.entity.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Enum, Property } from '@mikro-orm/core';\nimport { LtiPrivacyPermission } from '@shared/domain/entity/ltitool.entity';\nimport { LtiMessageType, ToolConfigType } from '../../../common/enum';\nimport { ExternalToolConfigEntity } from './external-tool-config.entity';\n\n@Embeddable({ discriminatorValue: ToolConfigType.LTI11 })\nexport class Lti11ToolConfigEntity extends ExternalToolConfigEntity {\n\t@Property()\n\tkey: string;\n\n\t@Property()\n\tsecret: string;\n\n\t@Property({ nullable: true })\n\tresource_link_id?: string;\n\n\t@Enum()\n\tlti_message_type: LtiMessageType;\n\n\t@Enum()\n\tprivacy_permission: LtiPrivacyPermission;\n\n\t@Property()\n\tlaunch_presentation_locale: string;\n\n\tconstructor(props: Lti11ToolConfigEntity) {\n\t\tsuper(props);\n\t\tthis.type = ToolConfigType.LTI11;\n\t\tthis.key = props.key;\n\t\tthis.secret = props.secret;\n\t\tthis.resource_link_id = props.resource_link_id;\n\t\tthis.lti_message_type = props.lti_message_type;\n\t\tthis.privacy_permission = props.privacy_permission;\n\t\tthis.launch_presentation_locale = props.launch_presentation_locale;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Lti11ToolConfigResponse.html":{"url":"classes/Lti11ToolConfigResponse.html","title":"class - Lti11ToolConfigResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Lti11ToolConfigResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/config/lti11-tool-config.response.ts\n \n\n\n\n \n Extends\n \n \n ExternalToolConfigResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n baseUrl\n \n \n \n key\n \n \n \n launch_presentation_locale\n \n \n \n lti_message_type\n \n \n \n privacy_permission\n \n \n \n Optional\n resource_link_id\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: Lti11ToolConfigResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/lti11-tool-config.response.ts:25\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n Lti11ToolConfigResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigResponse\n\n \n \n \n \n Defined in ExternalToolConfigResponse:10\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n key\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/lti11-tool-config.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n launch_presentation_locale\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/lti11-tool-config.response.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n lti_message_type\n \n \n \n \n \n \n Type : LtiMessageType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/lti11-tool-config.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n privacy_permission\n \n \n \n \n \n \n Type : LtiPrivacyPermission\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/lti11-tool-config.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n resource_link_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/lti11-tool-config.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigResponse\n\n \n \n \n \n Defined in ExternalToolConfigResponse:7\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { LtiMessageType, LtiPrivacyPermission, ToolConfigType } from '../../../../../common/enum';\nimport { ExternalToolConfigResponse } from './external-tool-config.response';\n\nexport class Lti11ToolConfigResponse extends ExternalToolConfigResponse {\n\t@ApiProperty()\n\ttype: ToolConfigType;\n\n\t@ApiProperty()\n\tbaseUrl: string;\n\n\t@ApiProperty()\n\tkey: string;\n\n\t@ApiPropertyOptional()\n\tresource_link_id?: string;\n\n\t@ApiProperty()\n\tlti_message_type: LtiMessageType;\n\n\t@ApiProperty()\n\tprivacy_permission: LtiPrivacyPermission;\n\n\t@ApiProperty()\n\tlaunch_presentation_locale: string;\n\n\tconstructor(props: Lti11ToolConfigResponse) {\n\t\tsuper();\n\t\tthis.type = ToolConfigType.LTI11;\n\t\tthis.baseUrl = props.baseUrl;\n\t\tthis.key = props.key;\n\t\tthis.resource_link_id = props.resource_link_id;\n\t\tthis.lti_message_type = props.lti_message_type;\n\t\tthis.privacy_permission = props.privacy_permission;\n\t\tthis.launch_presentation_locale = props.launch_presentation_locale;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Lti11ToolConfigUpdateParams.html":{"url":"classes/Lti11ToolConfigUpdateParams.html","title":"class - Lti11ToolConfigUpdateParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Lti11ToolConfigUpdateParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-update.params.ts\n \n\n\n\n \n Extends\n \n \n ExternalToolConfigCreateParams\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n key\n \n \n \n \n launch_presentation_locale\n \n \n \n \n lti_message_type\n \n \n \n \n privacy_permission\n \n \n \n \n \n Optional\n resource_link_id\n \n \n \n \n \n Optional\n secret\n \n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigCreateParams\n\n \n \n \n \n Defined in ExternalToolConfigCreateParams:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n key\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-update.params.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n launch_presentation_locale\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsLocale()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-update.params.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n lti_message_type\n \n \n \n \n \n \n Type : LtiMessageType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(LtiMessageType)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-update.params.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n privacy_permission\n \n \n \n \n \n \n Type : LtiPrivacyPermission\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(LtiPrivacyPermission)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-update.params.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n resource_link_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-update.params.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n secret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-update.params.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ToolConfigType)@ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigCreateParams\n\n \n \n \n \n Defined in ExternalToolConfigCreateParams:9\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsEnum, IsLocale, IsOptional, IsString } from 'class-validator';\nimport { LtiMessageType, LtiPrivacyPermission, ToolConfigType } from '../../../../../common/enum';\nimport { ExternalToolConfigCreateParams } from './external-tool-config.params';\n\nexport class Lti11ToolConfigUpdateParams extends ExternalToolConfigCreateParams {\n\t@IsEnum(ToolConfigType)\n\t@ApiProperty()\n\ttype!: ToolConfigType;\n\n\t@IsString()\n\t@ApiProperty()\n\tbaseUrl!: string;\n\n\t@IsString()\n\t@ApiProperty()\n\tkey!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tsecret?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tresource_link_id?: string;\n\n\t@IsEnum(LtiMessageType)\n\t@ApiProperty()\n\tlti_message_type!: LtiMessageType;\n\n\t@IsEnum(LtiPrivacyPermission)\n\t@ApiProperty()\n\tprivacy_permission!: LtiPrivacyPermission;\n\n\t@IsLocale()\n\t@ApiProperty()\n\tlaunch_presentation_locale!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LtiRoleMapper.html":{"url":"classes/LtiRoleMapper.html","title":"class - LtiRoleMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LtiRoleMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/mapper/lti-role.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapRolesToLtiRoles\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapRolesToLtiRoles\n \n \n \n \n \n \n \n mapRolesToLtiRoles(roleNames: RoleName[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/mapper/lti-role.mapper.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roleNames\n \n RoleName[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LtiRole[]\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { RoleName } from '@shared/domain/interface';\nimport { LtiRole } from '../../common/enum';\n\nconst RoleMapping: Partial> = {\n\t[RoleName.USER]: LtiRole.LEARNER,\n\t[RoleName.STUDENT]: LtiRole.LEARNER,\n\t[RoleName.TEACHER]: LtiRole.INSTRUCTOR,\n\t[RoleName.ADMINISTRATOR]: LtiRole.ADMINISTRATOR,\n\t[RoleName.SUPERHERO]: LtiRole.ADMINISTRATOR,\n};\n\nexport class LtiRoleMapper {\n\tpublic static mapRolesToLtiRoles(roleNames: RoleName[]): LtiRole[] {\n\t\tconst ltiRoles: (LtiRole | undefined)[] = roleNames.map((roleName: RoleName) => RoleMapping[roleName]);\n\n\t\tconst filterUndefined: LtiRole[] = ltiRoles.filter(\n\t\t\t(ltiRole: LtiRole | undefined): ltiRole is LtiRole => ltiRole !== undefined\n\t\t);\n\n\t\treturn filterUndefined;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/LtiTool.html":{"url":"entities/LtiTool.html","title":"entity - LtiTool","body":"\n \n\n\n\n\n\n\n\n Entities\n LtiTool\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/ltitool.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n _originToolId\n \n \n \n customs\n \n \n \n \n Optional\n friendlyUrl\n \n \n \n Optional\n frontchannel_logout_uri\n \n \n \n isHidden\n \n \n \n Optional\n isLocal\n \n \n \n isTemplate\n \n \n \n key\n \n \n \n Optional\n logo_url\n \n \n \n Optional\n lti_message_type\n \n \n \n Optional\n lti_version\n \n \n \n name\n \n \n \n Optional\n oAuthClientId\n \n \n \n openNewTab\n \n \n \n privacy_permission\n \n \n \n Optional\n resource_link_id\n \n \n \n \n Optional\n roles\n \n \n \n secret\n \n \n \n Optional\n skipConsent\n \n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n _originToolId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true, fieldName: 'originTool'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:77\n \n \n\n\n \n \n \n \n \n \n \n \n \n customs\n \n \n \n \n \n \n Type : CustomLtiProperty[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:68\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n friendlyUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})@Unique({options: undefined})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:89\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n frontchannel_logout_uri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:98\n \n \n\n\n \n \n \n \n \n \n \n \n \n isHidden\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false, default: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:101\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n isLocal\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:74\n \n \n\n\n \n \n \n \n \n \n \n \n \n isTemplate\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false, default: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:71\n \n \n\n\n \n \n \n \n \n \n \n \n \n key\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n logo_url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:45\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n lti_message_type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:48\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n lti_version\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:51\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n oAuthClientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:85\n \n \n\n\n \n \n \n \n \n \n \n \n \n openNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false, default: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:95\n \n \n\n\n \n \n \n \n \n \n \n \n \n privacy_permission\n \n \n \n \n \n \n Type : LtiPrivacyPermission\n\n \n \n \n \n Decorators : \n \n \n @Enum({items: () => LtiPrivacyPermission, default: undefined, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:65\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n resource_link_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n roles\n \n \n \n \n \n \n Type : LtiRoleType[]\n\n \n \n \n \n Decorators : \n \n \n @Enum({array: true, items: () => LtiRoleType})@Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n \n secret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false, default: 'none'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skipConsent\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:92\n \n \n\n\n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:36\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Enum, Property, Unique } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport type ILtiToolProperties = Readonly>;\n\nexport enum LtiRoleType {\n\tLEARNER = 'Learner',\n\tINSTRUCTOR = 'Instructor',\n\tCONTENT_DEVELOPER = 'ContentDeveloper',\n\tADMINISTRATOR = 'Administrator',\n\tMENTOR = 'Mentor',\n\tTEACHING_ASSISTANT = 'TeachingAssistant',\n}\n\nexport enum LtiPrivacyPermission {\n\tANONYMOUS = 'anonymous',\n\tEMAIL = 'e-mail',\n\tNAME = 'name',\n\tPUBLIC = 'public',\n\tPSEUDONYMOUS = 'pseudonymous',\n}\n\nexport interface CustomLtiProperty {\n\tkey: string;\n\tvalue: string;\n}\n\n@Entity({ tableName: 'ltitools' })\nexport class LtiTool extends BaseEntityWithTimestamps {\n\t@Property({ nullable: false })\n\tname: string;\n\n\t@Property({ nullable: false })\n\turl: string;\n\n\t@Property({ nullable: true })\n\tkey: string;\n\n\t@Property({ nullable: false, default: 'none' })\n\tsecret: string;\n\n\t@Property({ nullable: true })\n\tlogo_url?: string;\n\n\t@Property({ nullable: true })\n\tlti_message_type?: string;\n\n\t@Property({ nullable: true })\n\tlti_version?: string;\n\n\t@Property({ nullable: true })\n\tresource_link_id?: string;\n\n\t@Enum({ array: true, items: () => LtiRoleType })\n\t@Property({ nullable: true })\n\troles?: LtiRoleType[];\n\n\t@Enum({\n\t\titems: () => LtiPrivacyPermission,\n\t\tdefault: LtiPrivacyPermission.ANONYMOUS,\n\t\tnullable: false,\n\t})\n\tprivacy_permission: LtiPrivacyPermission;\n\n\t@Property({ nullable: false })\n\tcustoms: CustomLtiProperty[];\n\n\t@Property({ nullable: false, default: false })\n\tisTemplate: boolean;\n\n\t@Property({ nullable: true })\n\tisLocal?: boolean;\n\n\t@Property({ nullable: true, fieldName: 'originTool' })\n\t_originToolId?: ObjectId;\n\n\t@Property({ persist: false, getter: true })\n\tget originToolId(): EntityId | undefined {\n\t\treturn this._originToolId?.toHexString();\n\t}\n\n\t@Property({ nullable: true })\n\toAuthClientId?: string;\n\n\t@Property({ nullable: true })\n\t@Unique({ options: { sparse: true } })\n\tfriendlyUrl?: string;\n\n\t@Property({ nullable: true })\n\tskipConsent?: boolean;\n\n\t@Property({ nullable: false, default: false })\n\topenNewTab: boolean;\n\n\t@Property({ nullable: true })\n\tfrontchannel_logout_uri?: string;\n\n\t@Property({ nullable: false, default: false })\n\tisHidden: boolean;\n\n\tconstructor(props: ILtiToolProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.url = props.url;\n\t\tthis.key = props.key || 'none';\n\t\tthis.secret = props.secret || 'none';\n\t\tthis.logo_url = props.logo_url;\n\t\tthis.lti_message_type = props.lti_message_type;\n\t\tthis.lti_version = props.lti_version;\n\t\tthis.resource_link_id = props.resource_link_id;\n\t\tthis.roles = props.roles || [];\n\t\tthis.privacy_permission = props.privacy_permission || LtiPrivacyPermission.ANONYMOUS;\n\t\tthis.customs = props.customs || [];\n\t\tthis.isTemplate = props.isTemplate || false;\n\t\tthis.isLocal = props.isLocal;\n\t\tif (props.originToolId !== undefined) {\n\t\t\tthis._originToolId = new ObjectId(props.originToolId);\n\t\t}\n\t\tthis.oAuthClientId = props.oAuthClientId;\n\t\tthis.friendlyUrl = props.friendlyUrl;\n\t\tthis.skipConsent = props.skipConsent;\n\t\tthis.openNewTab = props.openNewTab || false;\n\t\tthis.frontchannel_logout_uri = props.frontchannel_logout_uri;\n\t\tthis.isHidden = props.isHidden || false;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LtiToolDO.html":{"url":"classes/LtiToolDO.html","title":"class - LtiToolDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LtiToolDO\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/ltitool.do.ts\n \n\n\n\n \n Extends\n \n \n BaseDO\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n customs\n \n \n Optional\n friendlyUrl\n \n \n Optional\n frontchannel_logout_uri\n \n \n isHidden\n \n \n Optional\n isLocal\n \n \n isTemplate\n \n \n key\n \n \n Optional\n logo_url\n \n \n Optional\n lti_message_type\n \n \n Optional\n lti_version\n \n \n name\n \n \n Optional\n oAuthClientId\n \n \n openNewTab\n \n \n Optional\n originToolId\n \n \n privacy_permission\n \n \n Optional\n resource_link_id\n \n \n roles\n \n \n secret\n \n \n Optional\n skipConsent\n \n \n url\n \n \n Optional\n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(domainObject: LtiToolDO)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:55\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n \n LtiToolDO\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n customs\n \n \n \n \n \n \n Type : CustomLtiPropertyDO[]\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n friendlyUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:47\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n frontchannel_logout_uri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:53\n \n \n\n\n \n \n \n \n \n \n \n \n isHidden\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n isLocal\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n isTemplate\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n key\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n logo_url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n lti_message_type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n lti_version\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n oAuthClientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:45\n \n \n\n\n \n \n \n \n \n \n \n \n openNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:51\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n originToolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n privacy_permission\n \n \n \n \n \n \n Type : LtiPrivacyPermission\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n resource_link_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n roles\n \n \n \n \n \n \n Type : LtiRoleType[]\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n secret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n skipConsent\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from BaseDO\n\n \n \n \n \n Defined in BaseDO:5\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { LtiPrivacyPermission, LtiRoleType } from '@shared/domain/entity/ltitool.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseDO } from './base.do';\n\nexport class CustomLtiPropertyDO {\n\tkey: string;\n\n\tvalue: string;\n\n\tconstructor(key: string, value: string) {\n\t\tthis.key = key;\n\t\tthis.value = value;\n\t}\n}\n\nexport class LtiToolDO extends BaseDO {\n\tname: string;\n\n\turl: string;\n\n\tkey: string;\n\n\tsecret: string;\n\n\tlogo_url?: string;\n\n\tlti_message_type?: string;\n\n\tlti_version?: string;\n\n\tresource_link_id?: string;\n\n\troles: LtiRoleType[];\n\n\tprivacy_permission: LtiPrivacyPermission;\n\n\tcustoms: CustomLtiPropertyDO[];\n\n\tisTemplate: boolean;\n\n\tisLocal?: boolean;\n\n\toriginToolId?: EntityId;\n\n\toAuthClientId?: string;\n\n\tfriendlyUrl?: string;\n\n\tskipConsent?: boolean;\n\n\topenNewTab: boolean;\n\n\tfrontchannel_logout_uri?: string;\n\n\tisHidden: boolean;\n\n\tconstructor(domainObject: LtiToolDO) {\n\t\tsuper(domainObject.id);\n\n\t\tthis.name = domainObject.name;\n\t\tthis.url = domainObject.url;\n\t\tthis.key = domainObject.key;\n\t\tthis.secret = domainObject.secret;\n\t\tthis.logo_url = domainObject.logo_url;\n\t\tthis.lti_message_type = domainObject.lti_message_type;\n\t\tthis.lti_version = domainObject.lti_version;\n\t\tthis.resource_link_id = domainObject.resource_link_id;\n\t\tthis.roles = domainObject.roles;\n\t\tthis.privacy_permission = domainObject.privacy_permission;\n\t\tthis.customs = domainObject.customs;\n\t\tthis.isTemplate = domainObject.isTemplate;\n\t\tthis.isLocal = domainObject.isLocal;\n\t\tthis.originToolId = domainObject.originToolId;\n\t\tthis.oAuthClientId = domainObject.oAuthClientId;\n\t\tthis.friendlyUrl = domainObject.friendlyUrl;\n\t\tthis.skipConsent = domainObject.skipConsent;\n\t\tthis.openNewTab = domainObject.openNewTab;\n\t\tthis.frontchannel_logout_uri = domainObject.frontchannel_logout_uri;\n\t\tthis.isHidden = domainObject.isHidden;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LtiToolFactory.html":{"url":"classes/LtiToolFactory.html","title":"class - LtiToolFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LtiToolFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/ltitool.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withName\n \n \n withOauthClientId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withName\n \n \n \n \n \n \nwithName(name: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/ltitool.factory.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withOauthClientId\n \n \n \n \n \n \nwithOauthClientId(oAuthClientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/ltitool.factory.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oAuthClientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CustomLtiPropertyDO } from '@shared/domain/domainobject/ltitool.do';\nimport { ILtiToolProperties, LtiPrivacyPermission, LtiRoleType, LtiTool } from '@shared/domain/entity';\nimport { BaseFactory } from '@shared/testing/factory/base.factory';\nimport { DeepPartial } from 'fishery';\n\nclass LtiToolFactory extends BaseFactory {\n\twithName(name: string): this {\n\t\tconst params: DeepPartial = {\n\t\t\tname,\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithOauthClientId(oAuthClientId: string): this {\n\t\tconst params: DeepPartial = {\n\t\t\toAuthClientId,\n\t\t};\n\t\treturn this.params(params);\n\t}\n}\n\nexport const ltiToolFactory = LtiToolFactory.define(LtiTool, ({ sequence }) => {\n\treturn {\n\t\tname: `ltiTool-${sequence}`,\n\t\tisLocal: true,\n\t\toAuthClientId: 'clientId',\n\t\tsecret: 'secret',\n\t\tcustoms: [new CustomLtiPropertyDO('key', 'value')],\n\t\tisHidden: false,\n\t\tisTemplate: false,\n\t\tkey: 'key',\n\t\topenNewTab: false,\n\t\toriginToolId: 'originToolId',\n\t\tprivacy_permission: LtiPrivacyPermission.NAME,\n\t\troles: [LtiRoleType.INSTRUCTOR, LtiRoleType.LEARNER],\n\t\turl: 'url',\n\t\tfriendlyUrl: 'friendlyUrl',\n\t\tfrontchannel_logout_uri: 'frontchannel_logout_uri',\n\t\tlogo_url: 'logo_url',\n\t\tlti_message_type: 'lti_message_type',\n\t\tlti_version: 'lti_version',\n\t\tresource_link_id: 'resource_link_id',\n\t\tskipConsent: true,\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/LtiToolModule.html":{"url":"modules/LtiToolModule.html","title":"module - LtiToolModule","body":"\n \n\n\n\n\n Modules\n LtiToolModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_LtiToolModule\n\n\n\ncluster_LtiToolModule_providers\n\n\n\ncluster_LtiToolModule_exports\n\n\n\n\nLtiToolService \n\nLtiToolService \n\n\n\nLtiToolModule\n\nLtiToolModule\n\nLtiToolService -->\n\nLtiToolModule->LtiToolService \n\n\n\n\n\nLegacyLogger\n\nLegacyLogger\n\nLtiToolModule -->\n\nLegacyLogger->LtiToolModule\n\n\n\n\n\nLtiToolRepo\n\nLtiToolRepo\n\nLtiToolModule -->\n\nLtiToolRepo->LtiToolModule\n\n\n\n\n\nLtiToolService\n\nLtiToolService\n\nLtiToolModule -->\n\nLtiToolService->LtiToolModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/lti-tool/lti-tool.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n LegacyLogger\n \n \n LtiToolRepo\n \n \n LtiToolService\n \n \n \n \n Exports\n \n \n LtiToolService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { LtiToolRepo } from '@shared/repo';\nimport { LegacyLogger } from '@src/core/logger';\nimport { LtiToolService } from './service';\n\n@Module({\n\tproviders: [LtiToolService, LtiToolRepo, LegacyLogger],\n\texports: [LtiToolService],\n})\nexport class LtiToolModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LtiToolRepo.html":{"url":"injectables/LtiToolRepo.html","title":"injectable - LtiToolRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LtiToolRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/ltitool/ltitool.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseDORepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n entityFactory\n \n \n Async\n findByClientIdAndIsLocal\n \n \n Async\n findByName\n \n \n Async\n findByOauthClientId\n \n \n Protected\n mapDOToEntityProperties\n \n \n Protected\n mapEntityToDO\n \n \n Private\n createEntity\n \n \n Protected\n createNewEntityFromDO\n \n \n Async\n delete\n \n \n Async\n deleteById\n \n \n Private\n deleteEntityById\n \n \n Async\n findById\n \n \n Private\n removeProtectedEntityFields\n \n \n Async\n save\n \n \n Async\n saveAll\n \n \n Private\n Async\n updateEntity\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n entityFactory\n \n \n \n \n \n \nentityFactory(props: ILtiToolProperties)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:13\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n ILtiToolProperties\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LtiTool\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByClientIdAndIsLocal\n \n \n \n \n \n \n \n findByClientIdAndIsLocal(oAuthClientId: string, isLocal: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/ltitool/ltitool.repo.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oAuthClientId\n \n string\n \n\n \n No\n \n\n\n \n \n isLocal\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByName\n \n \n \n \n \n \n \n findByName(name: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/ltitool/ltitool.repo.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByOauthClientId\n \n \n \n \n \n \n \n findByOauthClientId(oAuthClientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/ltitool/ltitool.repo.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oAuthClientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n mapDOToEntityProperties\n \n \n \n \n \n \n \n mapDOToEntityProperties(entityDO: LtiToolDO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:69\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n LtiToolDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ILtiToolProperties\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n mapEntityToDO\n \n \n \n \n \n \n \n mapEntityToDO(entity: LtiTool)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:43\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n LtiTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LtiToolDO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createEntity\n \n \n \n \n \n \n \n createEntity(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:44\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : E\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n createNewEntityFromDO\n \n \n \n \n \n \n \n createNewEntityFromDO(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:65\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : E\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(domainObjects: DO[] | DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:87\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[] | DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteById\n \n \n \n \n \n \n [object Object],[object Object],[object Object]\n \n \n \n \n \n deleteById(id: EntityId | EntityId[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:100\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n deleteEntityById\n \n \n \n \n \n \n \n deleteEntityById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:113\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:118\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeProtectedEntityFields\n \n \n \n \n \n \n \n removeProtectedEntityFields(entity: E)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:79\n\n \n \n\n\n \n \n Ignore base entity properties when updating entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n E\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entityDo: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:21\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDo\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAll\n \n \n \n \n \n \n \n saveAll(entityDos: DO[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDos\n \n DO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n updateEntity\n \n \n \n \n \n \n \n updateEntity(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:52\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/ltitool/ltitool.repo.ts:9\n \n \n\n \n \n\n \n\n\n \n import { EntityName, NotFoundError } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\nimport { LtiToolDO } from '@shared/domain/domainobject/ltitool.do';\nimport { ILtiToolProperties, LtiPrivacyPermission, LtiTool } from '@shared/domain/entity';\nimport { BaseDORepo } from '@shared/repo/base.do.repo';\n\n@Injectable()\nexport class LtiToolRepo extends BaseDORepo {\n\tget entityName(): EntityName {\n\t\treturn LtiTool;\n\t}\n\n\tentityFactory(props: ILtiToolProperties): LtiTool {\n\t\treturn new LtiTool(props);\n\t}\n\n\tasync findByName(name: string): Promise {\n\t\tconst entities: LtiTool[] = await this._em.find(LtiTool, { name });\n\t\tif (entities.length === 0) {\n\t\t\tthrow new NotFoundError(`LtiTool with ${name} was not found.`);\n\t\t}\n\t\tconst dos: LtiToolDO[] = entities.map((entity) => this.mapEntityToDO(entity));\n\t\treturn dos;\n\t}\n\n\tasync findByOauthClientId(oAuthClientId: string): Promise {\n\t\tconst entity = await this._em.findOneOrFail(LtiTool, { oAuthClientId });\n\t\treturn this.mapEntityToDO(entity);\n\t}\n\n\tasync findByClientIdAndIsLocal(oAuthClientId: string, isLocal: boolean): Promise {\n\t\tconst entity: LtiTool | null = await this._em.findOne(LtiTool, { oAuthClientId, isLocal });\n\n\t\tif (!entity) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst domainObject: LtiToolDO = this.mapEntityToDO(entity);\n\n\t\treturn domainObject;\n\t}\n\n\tprotected mapEntityToDO(entity: LtiTool): LtiToolDO {\n\t\treturn new LtiToolDO({\n\t\t\tid: entity.id,\n\t\t\tname: entity.name,\n\t\t\turl: entity.url,\n\t\t\tkey: entity.key,\n\t\t\tsecret: entity.secret,\n\t\t\tlogo_url: entity.logo_url,\n\t\t\tlti_message_type: entity.lti_message_type,\n\t\t\tlti_version: entity.lti_version,\n\t\t\tresource_link_id: entity.resource_link_id,\n\t\t\troles: entity.roles || [],\n\t\t\tprivacy_permission: entity.privacy_permission || LtiPrivacyPermission.ANONYMOUS,\n\t\t\tcustoms: entity.customs,\n\t\t\tisTemplate: entity.isTemplate,\n\t\t\tisLocal: entity.isLocal,\n\t\t\toriginToolId: entity.originToolId,\n\t\t\toAuthClientId: entity.oAuthClientId,\n\t\t\tfriendlyUrl: entity.friendlyUrl,\n\t\t\tskipConsent: entity.skipConsent,\n\t\t\topenNewTab: entity.openNewTab,\n\t\t\tfrontchannel_logout_uri: entity.frontchannel_logout_uri,\n\t\t\tisHidden: entity.isHidden,\n\t\t});\n\t}\n\n\tprotected mapDOToEntityProperties(entityDO: LtiToolDO): ILtiToolProperties {\n\t\treturn {\n\t\t\tname: entityDO.name,\n\t\t\turl: entityDO.url,\n\t\t\tkey: entityDO.key,\n\t\t\tsecret: entityDO.secret,\n\t\t\tlogo_url: entityDO.logo_url,\n\t\t\tlti_message_type: entityDO.lti_message_type,\n\t\t\tlti_version: entityDO.lti_version,\n\t\t\tresource_link_id: entityDO.resource_link_id,\n\t\t\troles: entityDO.roles,\n\t\t\tprivacy_permission: entityDO.privacy_permission,\n\t\t\tcustoms: entityDO.customs,\n\t\t\tisTemplate: entityDO.isTemplate,\n\t\t\tisLocal: entityDO.isLocal,\n\t\t\toriginToolId: entityDO.originToolId,\n\t\t\toAuthClientId: entityDO.oAuthClientId,\n\t\t\tfriendlyUrl: entityDO.friendlyUrl,\n\t\t\tskipConsent: entityDO.skipConsent,\n\t\t\topenNewTab: entityDO.openNewTab,\n\t\t\tfrontchannel_logout_uri: entityDO.frontchannel_logout_uri,\n\t\t\tisHidden: entityDO.isHidden,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LtiToolService.html":{"url":"injectables/LtiToolService.html","title":"injectable - LtiToolService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LtiToolService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/lti-tool/service/lti-tool.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n findByClientIdAndIsLocal\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ltiToolRepo: LtiToolRepo)\n \n \n \n \n Defined in apps/server/src/modules/lti-tool/service/lti-tool.service.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ltiToolRepo\n \n \n LtiToolRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n findByClientIdAndIsLocal\n \n \n \n \n \n \n \n findByClientIdAndIsLocal(clientId: string, isLocal: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lti-tool/service/lti-tool.service.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n clientId\n \n string\n \n\n \n No\n \n\n\n \n \n isLocal\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { LtiToolDO } from '@shared/domain/domainobject/ltitool.do';\nimport { LtiToolRepo } from '@shared/repo';\n\n@Injectable()\nexport class LtiToolService {\n\tconstructor(private readonly ltiToolRepo: LtiToolRepo) {}\n\n\tpublic async findByClientIdAndIsLocal(clientId: string, isLocal: boolean): Promise {\n\t\tconst ltiTool: Promise = this.ltiToolRepo.findByClientIdAndIsLocal(clientId, isLocal);\n\n\t\treturn ltiTool;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LumiUserWithContentData.html":{"url":"classes/LumiUserWithContentData.html","title":"class - LumiUserWithContentData","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LumiUserWithContentData\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/types/lumi-types.ts\n \n\n\n\n\n \n Implements\n \n \n IUser\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n canCreateRestricted\n \n \n canInstallRecommended\n \n \n canUpdateAndInstallLibraries\n \n \n contentParentId\n \n \n contentParentType\n \n \n email\n \n \n id\n \n \n name\n \n \n schoolId\n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(user: IUser, parentParams: H5PContentParentParams)\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/types/lumi-types.ts:30\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n \n IUser\n \n \n \n No\n \n \n \n \n parentParams\n \n \n H5PContentParentParams\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n canCreateRestricted\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/types/lumi-types.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n canInstallRecommended\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/types/lumi-types.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n canUpdateAndInstallLibraries\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/types/lumi-types.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n contentParentId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/types/lumi-types.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n contentParentType\n \n \n \n \n \n \n Type : H5PContentParentType\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/types/lumi-types.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n email\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/types/lumi-types.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/types/lumi-types.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/types/lumi-types.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/types/lumi-types.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : \"local\" | string\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/types/lumi-types.ts:30\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IUser } from '@lumieducation/h5p-server';\nimport { EntityId } from '@shared/domain/types';\nimport { H5PContentParentType } from '../entity';\n\nexport interface H5PContentParentParams {\n\tschoolId: EntityId;\n\tparentType: H5PContentParentType;\n\tparentId: EntityId;\n}\n\nexport class LumiUserWithContentData implements IUser {\n\tcontentParentType: H5PContentParentType;\n\n\tcontentParentId: EntityId;\n\n\tschoolId: EntityId;\n\n\tcanCreateRestricted: boolean;\n\n\tcanInstallRecommended: boolean;\n\n\tcanUpdateAndInstallLibraries: boolean;\n\n\temail: string;\n\n\tid: EntityId;\n\n\tname: string;\n\n\ttype: 'local' | string;\n\n\tconstructor(user: IUser, parentParams: H5PContentParentParams) {\n\t\tthis.contentParentType = parentParams.parentType;\n\t\tthis.contentParentId = parentParams.parentId;\n\t\tthis.schoolId = parentParams.schoolId;\n\n\t\tthis.canCreateRestricted = user.canCreateRestricted;\n\t\tthis.canInstallRecommended = user.canInstallRecommended;\n\t\tthis.canUpdateAndInstallLibraries = user.canUpdateAndInstallLibraries;\n\t\tthis.email = user.email;\n\t\tthis.id = user.id;\n\t\tthis.name = user.name;\n\t\tthis.type = user.type;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Mail.html":{"url":"interfaces/Mail.html","title":"interface - Mail","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Mail\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/mail/mail.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n bcc\n \n \n \n Optional\n \n cc\n \n \n \n Optional\n \n from\n \n \n \n \n mail\n \n \n \n \n recipients\n \n \n \n Optional\n \n replyTo\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n bcc\n \n \n \n \n \n \n \n \n bcc: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n cc\n \n \n \n \n \n \n \n \n cc: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n from\n \n \n \n \n \n \n \n \n from: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n mail\n \n \n \n \n \n \n \n \n mail: PlainTextMailContent | HtmlMailContent\n\n \n \n\n\n \n \n Type : PlainTextMailContent | HtmlMailContent\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n recipients\n \n \n \n \n \n \n \n \n recipients: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n replyTo\n \n \n \n \n \n \n \n \n replyTo: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n interface MailAttachment {\n\tbase64Content: string;\n\n\tmimeType: string;\n\n\tname: string;\n}\n\ninterface InlineAttachment extends MailAttachment {\n\tcontentDisposition: 'INLINE';\n\n\tcontentId: string;\n}\n\ninterface AppendedAttachment extends MailAttachment {\n\tcontentDisposition: 'ATTACHMENT';\n}\n\ninterface MailContent {\n\tsubject: string;\n\n\tattachments?: (InlineAttachment | AppendedAttachment)[];\n}\n\ninterface PlainTextMailContent extends MailContent {\n\thtmlContent?: string;\n\n\tplainTextContent: string;\n}\n\ninterface HtmlMailContent extends MailContent {\n\thtmlContent: string;\n\n\tplainTextContent?: string;\n}\n\nexport interface Mail {\n\tmail: PlainTextMailContent | HtmlMailContent;\n\n\trecipients: string[];\n\n\tfrom?: string;\n\n\tcc?: string[];\n\n\tbcc?: string[];\n\n\treplyTo?: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/MailAttachment.html":{"url":"interfaces/MailAttachment.html","title":"interface - MailAttachment","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n MailAttachment\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/mail/mail.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n base64Content\n \n \n \n \n mimeType\n \n \n \n \n name\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n base64Content\n \n \n \n \n \n \n \n \n base64Content: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n mimeType\n \n \n \n \n \n \n \n \n mimeType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n interface MailAttachment {\n\tbase64Content: string;\n\n\tmimeType: string;\n\n\tname: string;\n}\n\ninterface InlineAttachment extends MailAttachment {\n\tcontentDisposition: 'INLINE';\n\n\tcontentId: string;\n}\n\ninterface AppendedAttachment extends MailAttachment {\n\tcontentDisposition: 'ATTACHMENT';\n}\n\ninterface MailContent {\n\tsubject: string;\n\n\tattachments?: (InlineAttachment | AppendedAttachment)[];\n}\n\ninterface PlainTextMailContent extends MailContent {\n\thtmlContent?: string;\n\n\tplainTextContent: string;\n}\n\ninterface HtmlMailContent extends MailContent {\n\thtmlContent: string;\n\n\tplainTextContent?: string;\n}\n\nexport interface Mail {\n\tmail: PlainTextMailContent | HtmlMailContent;\n\n\trecipients: string[];\n\n\tfrom?: string;\n\n\tcc?: string[];\n\n\tbcc?: string[];\n\n\treplyTo?: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/MailConfig.html":{"url":"interfaces/MailConfig.html","title":"interface - MailConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n MailConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/mail/interfaces/mail-config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n ADDITIONAL_BLACKLISTED_EMAIL_DOMAINS\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n ADDITIONAL_BLACKLISTED_EMAIL_DOMAINS\n \n \n \n \n \n \n \n \n ADDITIONAL_BLACKLISTED_EMAIL_DOMAINS: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface MailConfig {\n\tADDITIONAL_BLACKLISTED_EMAIL_DOMAINS: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/MailContent.html":{"url":"interfaces/MailContent.html","title":"interface - MailContent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n MailContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/mail/mail.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n attachments\n \n \n \n \n subject\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n attachments\n \n \n \n \n \n \n \n \n attachments: (InlineAttachment | AppendedAttachment)[]\n\n \n \n\n\n \n \n Type : (InlineAttachment | AppendedAttachment)[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n subject\n \n \n \n \n \n \n \n \n subject: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n interface MailAttachment {\n\tbase64Content: string;\n\n\tmimeType: string;\n\n\tname: string;\n}\n\ninterface InlineAttachment extends MailAttachment {\n\tcontentDisposition: 'INLINE';\n\n\tcontentId: string;\n}\n\ninterface AppendedAttachment extends MailAttachment {\n\tcontentDisposition: 'ATTACHMENT';\n}\n\ninterface MailContent {\n\tsubject: string;\n\n\tattachments?: (InlineAttachment | AppendedAttachment)[];\n}\n\ninterface PlainTextMailContent extends MailContent {\n\thtmlContent?: string;\n\n\tplainTextContent: string;\n}\n\ninterface HtmlMailContent extends MailContent {\n\thtmlContent: string;\n\n\tplainTextContent?: string;\n}\n\nexport interface Mail {\n\tmail: PlainTextMailContent | HtmlMailContent;\n\n\trecipients: string[];\n\n\tfrom?: string;\n\n\tcc?: string[];\n\n\tbcc?: string[];\n\n\treplyTo?: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/MailModule.html":{"url":"modules/MailModule.html","title":"module - MailModule","body":"\n \n\n\n\n\n Modules\n MailModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/mail/mail.module.ts\n \n\n\n\n\n\n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options: MailModuleOptions)\n \n \n\n\n \n \n Defined in apps/server/src/infra/mail/mail.module.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n MailModuleOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { DynamicModule, Module } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { MailConfig } from './interfaces/mail-config';\nimport { MailService } from './mail.service';\n\ninterface MailModuleOptions {\n\texchange: string;\n\troutingKey: string;\n}\n\n@Module({})\nexport class MailModule {\n\tstatic forRoot(options: MailModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: MailModule,\n\t\t\tproviders: [\n\t\t\t\tMailService,\n\t\t\t\t{\n\t\t\t\t\tprovide: 'MAIL_SERVICE_OPTIONS',\n\t\t\t\t\tuseValue: { exchange: options.exchange, routingKey: options.routingKey },\n\t\t\t\t},\n\t\t\t\tConfigService,\n\t\t\t],\n\t\t\texports: [MailService],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/MailModuleOptions.html":{"url":"interfaces/MailModuleOptions.html","title":"interface - MailModuleOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n MailModuleOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/mail/mail.module.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n exchange\n \n \n \n \n routingKey\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n exchange\n \n \n \n \n \n \n \n \n exchange: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n routingKey\n \n \n \n \n \n \n \n \n routingKey: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { DynamicModule, Module } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { MailConfig } from './interfaces/mail-config';\nimport { MailService } from './mail.service';\n\ninterface MailModuleOptions {\n\texchange: string;\n\troutingKey: string;\n}\n\n@Module({})\nexport class MailModule {\n\tstatic forRoot(options: MailModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: MailModule,\n\t\t\tproviders: [\n\t\t\t\tMailService,\n\t\t\t\t{\n\t\t\t\t\tprovide: 'MAIL_SERVICE_OPTIONS',\n\t\t\t\t\tuseValue: { exchange: options.exchange, routingKey: options.routingKey },\n\t\t\t\t},\n\t\t\t\tConfigService,\n\t\t\t],\n\t\t\texports: [MailService],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/MailService.html":{"url":"injectables/MailService.html","title":"injectable - MailService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n MailService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/mail/mail.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n domainBlacklist\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n filterEmailAdresses\n \n \n Private\n getMailDomain\n \n \n Public\n Async\n send\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(amqpConnection: AmqpConnection, options: MailServiceOptions, configService: ConfigService)\n \n \n \n \n Defined in apps/server/src/infra/mail/mail.service.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n amqpConnection\n \n \n AmqpConnection\n \n \n \n No\n \n \n \n \n options\n \n \n MailServiceOptions\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n filterEmailAdresses\n \n \n \n \n \n \n \n filterEmailAdresses(mails: string[] | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/infra/mail/mail.service.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n mails\n \n string[] | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : [] | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getMailDomain\n \n \n \n \n \n \n \n getMailDomain(mail: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/mail/mail.service.ts:54\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n mail\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n send\n \n \n \n \n \n \n \n send(data: Mail)\n \n \n\n\n \n \n Defined in apps/server/src/infra/mail/mail.service.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n Mail\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n domainBlacklist\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in apps/server/src/infra/mail/mail.service.ts:14\n \n \n\n\n \n \n\n\n \n\n\n \n import { AmqpConnection } from '@golevelup/nestjs-rabbitmq';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { MailConfig } from './interfaces/mail-config';\nimport { Mail } from './mail.interface';\n\ninterface MailServiceOptions {\n\texchange: string;\n\troutingKey: string;\n}\n\n@Injectable()\nexport class MailService {\n\tprivate readonly domainBlacklist: string[];\n\n\tconstructor(\n\t\tprivate readonly amqpConnection: AmqpConnection,\n\t\t@Inject('MAIL_SERVICE_OPTIONS') private readonly options: MailServiceOptions,\n\t\tprivate readonly configService: ConfigService\n\t) {\n\t\tthis.domainBlacklist = this.configService.get('ADDITIONAL_BLACKLISTED_EMAIL_DOMAINS');\n\t}\n\n\tpublic async send(data: Mail): Promise {\n\t\tif (this.domainBlacklist.length > 0) {\n\t\t\tdata.recipients = this.filterEmailAdresses(data.recipients) as string[];\n\t\t\tdata.cc = this.filterEmailAdresses(data.cc);\n\t\t\tdata.bcc = this.filterEmailAdresses(data.bcc);\n\t\t\tdata.replyTo = this.filterEmailAdresses(data.replyTo);\n\t\t}\n\n\t\tif (data.recipients.length === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tawait this.amqpConnection.publish(this.options.exchange, this.options.routingKey, data, { persistent: true });\n\t}\n\n\tprivate filterEmailAdresses(mails: string[] | undefined): string[] | undefined {\n\t\tif (mails === undefined || mails === null) {\n\t\t\treturn mails;\n\t\t}\n\t\tconst mailWhitelist: string[] = [];\n\n\t\tfor (const mail of mails) {\n\t\t\tconst mailDomain = this.getMailDomain(mail);\n\t\t\tif (mailDomain && !this.domainBlacklist.includes(mailDomain)) {\n\t\t\t\tmailWhitelist.push(mail);\n\t\t\t}\n\t\t}\n\t\treturn mailWhitelist;\n\t}\n\n\tprivate getMailDomain(mail: string): string {\n\t\treturn mail.split('@')[1];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/MailServiceOptions.html":{"url":"interfaces/MailServiceOptions.html","title":"interface - MailServiceOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n MailServiceOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/mail/mail.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n exchange\n \n \n \n \n routingKey\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n exchange\n \n \n \n \n \n \n \n \n exchange: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n routingKey\n \n \n \n \n \n \n \n \n routingKey: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { AmqpConnection } from '@golevelup/nestjs-rabbitmq';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { MailConfig } from './interfaces/mail-config';\nimport { Mail } from './mail.interface';\n\ninterface MailServiceOptions {\n\texchange: string;\n\troutingKey: string;\n}\n\n@Injectable()\nexport class MailService {\n\tprivate readonly domainBlacklist: string[];\n\n\tconstructor(\n\t\tprivate readonly amqpConnection: AmqpConnection,\n\t\t@Inject('MAIL_SERVICE_OPTIONS') private readonly options: MailServiceOptions,\n\t\tprivate readonly configService: ConfigService\n\t) {\n\t\tthis.domainBlacklist = this.configService.get('ADDITIONAL_BLACKLISTED_EMAIL_DOMAINS');\n\t}\n\n\tpublic async send(data: Mail): Promise {\n\t\tif (this.domainBlacklist.length > 0) {\n\t\t\tdata.recipients = this.filterEmailAdresses(data.recipients) as string[];\n\t\t\tdata.cc = this.filterEmailAdresses(data.cc);\n\t\t\tdata.bcc = this.filterEmailAdresses(data.bcc);\n\t\t\tdata.replyTo = this.filterEmailAdresses(data.replyTo);\n\t\t}\n\n\t\tif (data.recipients.length === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tawait this.amqpConnection.publish(this.options.exchange, this.options.routingKey, data, { persistent: true });\n\t}\n\n\tprivate filterEmailAdresses(mails: string[] | undefined): string[] | undefined {\n\t\tif (mails === undefined || mails === null) {\n\t\t\treturn mails;\n\t\t}\n\t\tconst mailWhitelist: string[] = [];\n\n\t\tfor (const mail of mails) {\n\t\t\tconst mailDomain = this.getMailDomain(mail);\n\t\t\tif (mailDomain && !this.domainBlacklist.includes(mailDomain)) {\n\t\t\t\tmailWhitelist.push(mail);\n\t\t\t}\n\t\t}\n\t\treturn mailWhitelist;\n\t}\n\n\tprivate getMailDomain(mail: string): string {\n\t\treturn mail.split('@')[1];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ManagementModule.html":{"url":"modules/ManagementModule.html","title":"module - ManagementModule","body":"\n \n\n\n\n\n Modules\n ManagementModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ManagementModule\n\n\n\ncluster_ManagementModule_providers\n\n\n\n\nBoardManagementUc\n\nBoardManagementUc\n\n\n\nManagementModule\n\nManagementModule\n\nManagementModule -->\n\nBoardManagementUc->ManagementModule\n\n\n\n\n\nBsonConverter\n\nBsonConverter\n\nManagementModule -->\n\nBsonConverter->ManagementModule\n\n\n\n\n\nConsoleWriterService\n\nConsoleWriterService\n\nManagementModule -->\n\nConsoleWriterService->ManagementModule\n\n\n\n\n\nDatabaseManagementService\n\nDatabaseManagementService\n\nManagementModule -->\n\nDatabaseManagementService->ManagementModule\n\n\n\n\n\nDatabaseManagementUc\n\nDatabaseManagementUc\n\nManagementModule -->\n\nDatabaseManagementUc->ManagementModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/management/management.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n BoardManagementUc\n \n \n BsonConverter\n \n \n ConsoleWriterService\n \n \n DatabaseManagementService\n \n \n DatabaseManagementUc\n \n \n \n \n Controllers\n \n \n DatabaseManagementController\n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { Module } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { ConsoleWriterService } from '@infra/console';\nimport { DatabaseManagementModule, DatabaseManagementService } from '@infra/database';\nimport { EncryptionModule } from '@infra/encryption';\nimport { FileSystemModule } from '@infra/file-system';\nimport { KeycloakConfigurationModule } from '@infra/identity-management/keycloak-configuration/keycloak-configuration.module';\nimport { createConfigModuleOptions } from '@src/config';\nimport { LoggerModule } from '@src/core/logger';\nimport { serverConfig } from '@modules/server';\nimport { BoardManagementConsole } from './console/board-management.console';\nimport { DatabaseManagementConsole } from './console/database-management.console';\nimport { DatabaseManagementController } from './controller/database-management.controller';\nimport { BsonConverter } from './converter/bson.converter';\nimport { BoardManagementUc } from './uc/board-management.uc';\nimport { DatabaseManagementUc } from './uc/database-management.uc';\n\nconst baseImports = [\n\tFileSystemModule,\n\tDatabaseManagementModule,\n\tLoggerModule,\n\tConfigModule.forRoot(createConfigModuleOptions(serverConfig)),\n\tEncryptionModule,\n];\n\nconst imports = (Configuration.get('FEATURE_IDENTITY_MANAGEMENT_ENABLED') as boolean)\n\t? [...baseImports, KeycloakConfigurationModule]\n\t: baseImports;\n\nconst providers = [\n\tDatabaseManagementUc,\n\tDatabaseManagementService,\n\tBsonConverter,\n\t// console providers\n\tDatabaseManagementConsole,\n\t// infra services\n\tConsoleWriterService,\n\tBoardManagementConsole,\n\tBoardManagementUc,\n];\n\nconst controllers = [DatabaseManagementController];\n\n@Module({\n\timports: [...imports],\n\tproviders,\n\tcontrollers,\n})\nexport class ManagementModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ManagementServerModule.html":{"url":"modules/ManagementServerModule.html","title":"module - ManagementServerModule","body":"\n \n\n\n\n\n Modules\n ManagementServerModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ManagementServerModule\n\n\n\ncluster_ManagementServerModule_imports\n\n\n\n\nManagementModule\n\nManagementModule\n\n\n\nManagementServerModule\n\nManagementServerModule\n\nManagementServerModule -->\n\nManagementModule->ManagementServerModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/management/management-server.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n ManagementModule\n \n \n \n \n \n\n\n \n\n\n \n import { MongoMemoryDatabaseModule } from '@infra/database';\nimport { MongoDatabaseModuleOptions } from '@infra/database/mongo-memory-database/types';\nimport { Dictionary, IPrimaryKey } from '@mikro-orm/core';\nimport { MikroOrmModule, MikroOrmModuleSyncOptions } from '@mikro-orm/nestjs';\nimport { DynamicModule, Module, NotFoundException } from '@nestjs/common';\nimport { ALL_ENTITIES } from '@shared/domain/entity';\nimport { DB_PASSWORD, DB_URL, DB_USERNAME } from '@src/config';\nimport { ManagementModule } from './management.module';\n\nexport const defaultMikroOrmOptions: MikroOrmModuleSyncOptions = {\n\tfindOneOrFailHandler: (entityName: string, where: Dictionary | IPrimaryKey) =>\n\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\tnew NotFoundException(`The requested ${entityName}: ${where} has not been found.`),\n};\n\n@Module({\n\timports: [\n\t\tManagementModule,\n\t\tMikroOrmModule.forRoot({\n\t\t\t...defaultMikroOrmOptions,\n\t\t\t// TODO repeats server module definitions\n\t\t\ttype: 'mongo',\n\t\t\tclientUrl: DB_URL,\n\t\t\tpassword: DB_PASSWORD,\n\t\t\tuser: DB_USERNAME,\n\t\t\tentities: ALL_ENTITIES,\n\t\t}),\n\t],\n})\nexport class ManagementServerModule {}\n\n@Module({\n\timports: [ManagementModule, MongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions })],\n})\nexport class ManagementServerTestModule {\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: ManagementModule,\n\t\t\timports: [MongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions, ...options })],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ManagementServerTestModule.html":{"url":"modules/ManagementServerTestModule.html","title":"module - ManagementServerTestModule","body":"\n \n\n\n\n\n Modules\n ManagementServerTestModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ManagementServerTestModule\n\n\n\ncluster_ManagementServerTestModule_imports\n\n\n\n\nManagementModule\n\nManagementModule\n\n\n\nManagementServerTestModule\n\nManagementServerTestModule\n\nManagementServerTestModule -->\n\nManagementModule->ManagementServerTestModule\n\n\n\n\n\nMongoMemoryDatabaseModule\n\nMongoMemoryDatabaseModule\n\nManagementServerTestModule -->\n\nMongoMemoryDatabaseModule->ManagementServerTestModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/management/management-server.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n ManagementModule\n \n \n MongoMemoryDatabaseModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options?: MongoDatabaseModuleOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/management/management-server.module.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n MongoDatabaseModuleOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { MongoMemoryDatabaseModule } from '@infra/database';\nimport { MongoDatabaseModuleOptions } from '@infra/database/mongo-memory-database/types';\nimport { Dictionary, IPrimaryKey } from '@mikro-orm/core';\nimport { MikroOrmModule, MikroOrmModuleSyncOptions } from '@mikro-orm/nestjs';\nimport { DynamicModule, Module, NotFoundException } from '@nestjs/common';\nimport { ALL_ENTITIES } from '@shared/domain/entity';\nimport { DB_PASSWORD, DB_URL, DB_USERNAME } from '@src/config';\nimport { ManagementModule } from './management.module';\n\nexport const defaultMikroOrmOptions: MikroOrmModuleSyncOptions = {\n\tfindOneOrFailHandler: (entityName: string, where: Dictionary | IPrimaryKey) =>\n\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\tnew NotFoundException(`The requested ${entityName}: ${where} has not been found.`),\n};\n\n@Module({\n\timports: [\n\t\tManagementModule,\n\t\tMikroOrmModule.forRoot({\n\t\t\t...defaultMikroOrmOptions,\n\t\t\t// TODO repeats server module definitions\n\t\t\ttype: 'mongo',\n\t\t\tclientUrl: DB_URL,\n\t\t\tpassword: DB_PASSWORD,\n\t\t\tuser: DB_USERNAME,\n\t\t\tentities: ALL_ENTITIES,\n\t\t}),\n\t],\n})\nexport class ManagementServerModule {}\n\n@Module({\n\timports: [ManagementModule, MongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions })],\n})\nexport class ManagementServerTestModule {\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: ManagementModule,\n\t\t\timports: [MongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions, ...options })],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/Material.html":{"url":"entities/Material.html","title":"entity - Material","body":"\n \n\n\n\n\n\n\n\n Entities\n Material\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/materials.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n client\n \n \n \n Optional\n description\n \n \n \n license\n \n \n \n Optional\n merlinReference\n \n \n \n relatedResources\n \n \n \n subjects\n \n \n \n tags\n \n \n \n targetGroups\n \n \n \n title\n \n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n client\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/materials.entity.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/materials.entity.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n \n license\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/materials.entity.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n merlinReference\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/materials.entity.ts:40\n \n \n\n\n \n \n \n \n \n \n \n \n \n relatedResources\n \n \n \n \n \n \n Type : RelatedResourceProperties[] | \n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/materials.entity.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n \n subjects\n \n \n \n \n \n \n Type : string[] | \n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/materials.entity.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n \n tags\n \n \n \n \n \n \n Type : string[] | \n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/materials.entity.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n \n targetGroups\n \n \n \n \n \n \n Type : TargetGroupProperties[] | \n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/materials.entity.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/materials.entity.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/materials.entity.ts:58\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface TargetGroupProperties {\n\tstate?: string;\n\tschoolType?: string;\n\tgrade?: string;\n}\n\nexport interface RelatedResourceProperties {\n\toriginId?: string;\n\trelationType?: string;\n}\n\nexport interface MaterialProperties {\n\tclient: string;\n\tdescription?: string;\n\tlicense: string[];\n\tmerlinReference?: string;\n\trelatedResources: RelatedResourceProperties[];\n\tsubjects: string[];\n\ttags: string[];\n\ttargetGroups: TargetGroupProperties[];\n\ttitle: string;\n\turl: string;\n}\n\n@Entity({ collection: 'materials' })\nexport class Material extends BaseEntityWithTimestamps {\n\t@Property()\n\tclient: string;\n\n\t@Property()\n\tdescription?: string;\n\n\t@Property()\n\tlicense: string[];\n\n\t@Property()\n\tmerlinReference?: string;\n\n\t@Property()\n\trelatedResources: RelatedResourceProperties[] | [];\n\n\t@Property()\n\tsubjects: string[] | [];\n\n\t@Property()\n\ttags: string[] | [];\n\n\t@Property()\n\ttargetGroups: TargetGroupProperties[] | [];\n\n\t@Property()\n\ttitle: string;\n\n\t@Property()\n\turl: string;\n\n\tconstructor(props: MaterialProperties) {\n\t\tsuper();\n\t\tthis.client = props.client;\n\t\tthis.description = props.description || '';\n\t\tthis.license = props.license;\n\t\tthis.merlinReference = props.merlinReference || '';\n\t\tthis.relatedResources = props.relatedResources;\n\t\tthis.subjects = props.subjects;\n\t\tthis.tags = props.tags;\n\t\tthis.targetGroups = props.targetGroups;\n\t\tthis.title = props.title;\n\t\tthis.url = props.url;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MaterialFactory.html":{"url":"classes/MaterialFactory.html","title":"class - MaterialFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MaterialFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/material.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Material, MaterialProperties } from '@shared/domain/entity/materials.entity';\nimport { BaseFactory } from './base.factory';\n\nclass MaterialFactory extends BaseFactory {}\n\nexport const materialFactory = MaterialFactory.define(Material, ({ sequence }) => {\n\treturn {\n\t\tclient: 'test material client',\n\t\tdescription: 'test material description',\n\t\tlicense: [],\n\t\tmerlinReference: '',\n\t\trelatedResources: [],\n\t\tsubjects: [],\n\t\ttags: [],\n\t\ttargetGroups: [],\n\t\ttitle: `material #${sequence}`,\n\t\turl: 'test material url',\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/MaterialProperties.html":{"url":"interfaces/MaterialProperties.html","title":"interface - MaterialProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n MaterialProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/materials.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n client\n \n \n \n Optional\n \n description\n \n \n \n \n license\n \n \n \n Optional\n \n merlinReference\n \n \n \n \n relatedResources\n \n \n \n \n subjects\n \n \n \n \n tags\n \n \n \n \n targetGroups\n \n \n \n \n title\n \n \n \n \n url\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n client\n \n \n \n \n \n \n \n \n client: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n description: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n license\n \n \n \n \n \n \n \n \n license: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n merlinReference\n \n \n \n \n \n \n \n \n merlinReference: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n relatedResources\n \n \n \n \n \n \n \n \n relatedResources: RelatedResourceProperties[]\n\n \n \n\n\n \n \n Type : RelatedResourceProperties[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n subjects\n \n \n \n \n \n \n \n \n subjects: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n tags\n \n \n \n \n \n \n \n \n tags: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n targetGroups\n \n \n \n \n \n \n \n \n targetGroups: TargetGroupProperties[]\n\n \n \n\n\n \n \n Type : TargetGroupProperties[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface TargetGroupProperties {\n\tstate?: string;\n\tschoolType?: string;\n\tgrade?: string;\n}\n\nexport interface RelatedResourceProperties {\n\toriginId?: string;\n\trelationType?: string;\n}\n\nexport interface MaterialProperties {\n\tclient: string;\n\tdescription?: string;\n\tlicense: string[];\n\tmerlinReference?: string;\n\trelatedResources: RelatedResourceProperties[];\n\tsubjects: string[];\n\ttags: string[];\n\ttargetGroups: TargetGroupProperties[];\n\ttitle: string;\n\turl: string;\n}\n\n@Entity({ collection: 'materials' })\nexport class Material extends BaseEntityWithTimestamps {\n\t@Property()\n\tclient: string;\n\n\t@Property()\n\tdescription?: string;\n\n\t@Property()\n\tlicense: string[];\n\n\t@Property()\n\tmerlinReference?: string;\n\n\t@Property()\n\trelatedResources: RelatedResourceProperties[] | [];\n\n\t@Property()\n\tsubjects: string[] | [];\n\n\t@Property()\n\ttags: string[] | [];\n\n\t@Property()\n\ttargetGroups: TargetGroupProperties[] | [];\n\n\t@Property()\n\ttitle: string;\n\n\t@Property()\n\turl: string;\n\n\tconstructor(props: MaterialProperties) {\n\t\tsuper();\n\t\tthis.client = props.client;\n\t\tthis.description = props.description || '';\n\t\tthis.license = props.license;\n\t\tthis.merlinReference = props.merlinReference || '';\n\t\tthis.relatedResources = props.relatedResources;\n\t\tthis.subjects = props.subjects;\n\t\tthis.tags = props.tags;\n\t\tthis.targetGroups = props.targetGroups;\n\t\tthis.title = props.title;\n\t\tthis.url = props.url;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/MaterialsRepo.html":{"url":"injectables/MaterialsRepo.html","title":"injectable - MaterialsRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n MaterialsRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/materials/materials.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/materials/materials.repo.ts:7\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Material } from '@shared/domain/entity/materials.entity';\nimport { BaseRepo } from '../base.repo';\n\n@Injectable()\nexport class MaterialsRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn Material;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Meta.html":{"url":"interfaces/Meta.html","title":"interface - Meta","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Meta\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n itemsperpage\n \n \n \n \n message\n \n \n \n \n status\n \n \n \n \n statuscode\n \n \n \n \n totalitems\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n itemsperpage\n \n \n \n \n \n \n \n \n itemsperpage: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n message\n \n \n \n \n \n \n \n \n message: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n \n \n status: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n statuscode\n \n \n \n \n \n \n \n \n statuscode: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n totalitems\n \n \n \n \n \n \n \n \n totalitems: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface NextcloudGroups {\n\tgroups: string[];\n}\n\nexport interface OcsResponse {\n\tocs: {\n\t\tdata: T;\n\t\tmeta: Meta;\n\t};\n}\n\nexport interface Meta {\n\tstatus: string;\n\tstatuscode: number;\n\tmessage: string;\n\ttotalitems: string;\n\titemsperpage: string;\n}\n\nexport interface SuccessfulRes {\n\tsuccess: boolean;\n}\n\nexport interface GroupUsers {\n\tusers: string[];\n}\n\n// Groupfolders Responses\n\nexport interface GroupfoldersFolder {\n\tfolder_id: number;\n}\n\nexport interface GroupfoldersCreated {\n\tid: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/MetaTagExtractorApiModule.html":{"url":"modules/MetaTagExtractorApiModule.html","title":"module - MetaTagExtractorApiModule","body":"\n \n\n\n\n\n Modules\n MetaTagExtractorApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_MetaTagExtractorApiModule\n\n\n\ncluster_MetaTagExtractorApiModule_imports\n\n\n\ncluster_MetaTagExtractorApiModule_providers\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nMetaTagExtractorApiModule\n\nMetaTagExtractorApiModule\n\nMetaTagExtractorApiModule -->\n\nLoggerModule->MetaTagExtractorApiModule\n\n\n\n\n\nMetaTagExtractorModule\n\nMetaTagExtractorModule\n\nMetaTagExtractorApiModule -->\n\nMetaTagExtractorModule->MetaTagExtractorApiModule\n\n\n\n\n\nMetaTagExtractorUc\n\nMetaTagExtractorUc\n\nMetaTagExtractorApiModule -->\n\nMetaTagExtractorUc->MetaTagExtractorApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/meta-tag-extractor-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n MetaTagExtractorUc\n \n \n \n \n Controllers\n \n \n MetaTagExtractorController\n \n \n \n \n Imports\n \n \n LoggerModule\n \n \n MetaTagExtractorModule\n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationModule } from '@modules/authorization';\nimport { forwardRef, Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { MetaTagExtractorController } from './controller';\nimport { MetaTagExtractorModule } from './meta-tag-extractor.module';\nimport { MetaTagExtractorUc } from './uc';\n\n@Module({\n\timports: [MetaTagExtractorModule, LoggerModule, forwardRef(() => AuthorizationModule)],\n\tcontrollers: [MetaTagExtractorController],\n\tproviders: [MetaTagExtractorUc],\n})\nexport class MetaTagExtractorApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/MetaTagExtractorController.html":{"url":"controllers/MetaTagExtractorController.html","title":"controller - MetaTagExtractorController","body":"\n \n\n\n\n\n\n\n Controllers\n MetaTagExtractorController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/controller/meta-tag-extractor.controller.ts\n \n\n \n Prefix\n \n \n meta-tag-extractor\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n Async\n getMetaTags\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getMetaTags\n \n \n \n \n \n \n \n getMetaTags(currentUser: ICurrentUser, bodyParams: GetMetaTagDataBody)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'return extract meta tags'})@ApiResponse({status: 201, type: MetaTagExtractorResponse})@ApiResponse({status: 401, type: UnauthorizedException})@ApiResponse({status: 500, type: InternalServerErrorException})@Post('')\n \n \n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/controller/meta-tag-extractor.controller.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n GetMetaTagDataBody\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, InternalServerErrorException, Post, UnauthorizedException } from '@nestjs/common';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { MetaTagExtractorUc } from '../uc';\nimport { MetaTagExtractorResponse } from './dto';\nimport { GetMetaTagDataBody } from './post-link-url.body.params';\n\n@ApiTags('Meta Tag Extractor')\n@Authenticate('jwt')\n@Controller('meta-tag-extractor')\nexport class MetaTagExtractorController {\n\tconstructor(private readonly metaTagExtractorUc: MetaTagExtractorUc) {}\n\n\t@ApiOperation({ summary: 'return extract meta tags' })\n\t@ApiResponse({ status: 201, type: MetaTagExtractorResponse })\n\t@ApiResponse({ status: 401, type: UnauthorizedException })\n\t@ApiResponse({ status: 500, type: InternalServerErrorException })\n\t@Post('')\n\tasync getMetaTags(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() bodyParams: GetMetaTagDataBody\n\t): Promise {\n\t\tconst result = await this.metaTagExtractorUc.getMetaData(currentUser.userId, bodyParams.url);\n\t\tconst imageUrl = result.image?.url;\n\t\tconst response = new MetaTagExtractorResponse({ ...result, imageUrl });\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/MetaTagExtractorModule.html":{"url":"modules/MetaTagExtractorModule.html","title":"module - MetaTagExtractorModule","body":"\n \n\n\n\n\n Modules\n MetaTagExtractorModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_MetaTagExtractorModule\n\n\n\ncluster_MetaTagExtractorModule_providers\n\n\n\ncluster_MetaTagExtractorModule_exports\n\n\n\ncluster_MetaTagExtractorModule_imports\n\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\n\n\nMetaTagExtractorModule\n\nMetaTagExtractorModule\n\nMetaTagExtractorModule -->\n\nAuthenticationModule->MetaTagExtractorModule\n\n\n\n\n\nBoardModule\n\nBoardModule\n\nMetaTagExtractorModule -->\n\nBoardModule->MetaTagExtractorModule\n\n\n\n\n\nConsoleWriterModule\n\nConsoleWriterModule\n\nMetaTagExtractorModule -->\n\nConsoleWriterModule->MetaTagExtractorModule\n\n\n\n\n\nLearnroomModule\n\nLearnroomModule\n\nMetaTagExtractorModule -->\n\nLearnroomModule->MetaTagExtractorModule\n\n\n\n\n\nLessonModule\n\nLessonModule\n\nMetaTagExtractorModule -->\n\nLessonModule->MetaTagExtractorModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nMetaTagExtractorModule -->\n\nLoggerModule->MetaTagExtractorModule\n\n\n\n\n\nTaskModule\n\nTaskModule\n\nMetaTagExtractorModule -->\n\nTaskModule->MetaTagExtractorModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nMetaTagExtractorModule -->\n\nUserModule->MetaTagExtractorModule\n\n\n\n\n\nMetaTagExtractorService \n\nMetaTagExtractorService \n\nMetaTagExtractorService -->\n\nMetaTagExtractorModule->MetaTagExtractorService \n\n\n\n\n\nBoardUrlHandler\n\nBoardUrlHandler\n\nMetaTagExtractorModule -->\n\nBoardUrlHandler->MetaTagExtractorModule\n\n\n\n\n\nCourseUrlHandler\n\nCourseUrlHandler\n\nMetaTagExtractorModule -->\n\nCourseUrlHandler->MetaTagExtractorModule\n\n\n\n\n\nLessonUrlHandler\n\nLessonUrlHandler\n\nMetaTagExtractorModule -->\n\nLessonUrlHandler->MetaTagExtractorModule\n\n\n\n\n\nMetaTagExtractorService\n\nMetaTagExtractorService\n\nMetaTagExtractorModule -->\n\nMetaTagExtractorService->MetaTagExtractorModule\n\n\n\n\n\nMetaTagInternalUrlService\n\nMetaTagInternalUrlService\n\nMetaTagExtractorModule -->\n\nMetaTagInternalUrlService->MetaTagExtractorModule\n\n\n\n\n\nTaskUrlHandler\n\nTaskUrlHandler\n\nMetaTagExtractorModule -->\n\nTaskUrlHandler->MetaTagExtractorModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/meta-tag-extractor.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n BoardUrlHandler\n \n \n CourseUrlHandler\n \n \n LessonUrlHandler\n \n \n MetaTagExtractorService\n \n \n MetaTagInternalUrlService\n \n \n TaskUrlHandler\n \n \n \n \n Imports\n \n \n AuthenticationModule\n \n \n BoardModule\n \n \n ConsoleWriterModule\n \n \n LearnroomModule\n \n \n LessonModule\n \n \n LoggerModule\n \n \n TaskModule\n \n \n UserModule\n \n \n \n \n Exports\n \n \n MetaTagExtractorService\n \n \n \n \n \n\n\n \n\n\n \n import { HttpModule } from '@nestjs/axios';\nimport { Module } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { ConsoleWriterModule } from '@infra/console';\nimport { createConfigModuleOptions } from '@src/config';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthenticationModule } from '../authentication/authentication.module';\nimport { BoardModule } from '../board';\nimport { LearnroomModule } from '../learnroom';\nimport { LessonModule } from '../lesson';\nimport { TaskModule } from '../task';\nimport { UserModule } from '../user';\nimport metaTagExtractorConfig from './meta-tag-extractor.config';\nimport { MetaTagExtractorService } from './service';\nimport { MetaTagInternalUrlService } from './service/meta-tag-internal-url.service';\nimport { BoardUrlHandler, CourseUrlHandler, LessonUrlHandler, TaskUrlHandler } from './service/url-handler';\n\n@Module({\n\timports: [\n\t\tAuthenticationModule,\n\t\tBoardModule,\n\t\tConsoleWriterModule,\n\t\tHttpModule,\n\t\tLearnroomModule,\n\t\tLessonModule,\n\t\tLoggerModule,\n\t\tTaskModule,\n\t\tUserModule,\n\t\tConfigModule.forRoot(createConfigModuleOptions(metaTagExtractorConfig)),\n\t],\n\tproviders: [\n\t\tMetaTagExtractorService,\n\t\tMetaTagInternalUrlService,\n\t\tTaskUrlHandler,\n\t\tLessonUrlHandler,\n\t\tCourseUrlHandler,\n\t\tBoardUrlHandler,\n\t],\n\texports: [MetaTagExtractorService],\n})\nexport class MetaTagExtractorModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MetaTagExtractorResponse.html":{"url":"classes/MetaTagExtractorResponse.html","title":"class - MetaTagExtractorResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MetaTagExtractorResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/controller/dto/meta-tag-extractor.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n Optional\n imageUrl\n \n \n \n \n Optional\n parentTitle\n \n \n \n \n Optional\n parentType\n \n \n \n \n Optional\n title\n \n \n \n \n type\n \n \n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: MetaTagExtractorResponse)\n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/controller/dto/meta-tag-extractor.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n MetaTagExtractorResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/controller/dto/meta-tag-extractor.response.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n imageUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/controller/dto/meta-tag-extractor.response.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n parentTitle\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/controller/dto/meta-tag-extractor.response.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n parentType\n \n \n \n \n \n \n Type : MetaDataEntityType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/controller/dto/meta-tag-extractor.response.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/controller/dto/meta-tag-extractor.response.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : MetaDataEntityType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/controller/dto/meta-tag-extractor.response.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsUrl()\n \n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/controller/dto/meta-tag-extractor.response.ts:19\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\nimport { IsString, IsUrl } from 'class-validator';\nimport { MetaDataEntityType } from '../../types';\n\nexport class MetaTagExtractorResponse {\n\tconstructor({ url, title, description, imageUrl, type, parentTitle, parentType }: MetaTagExtractorResponse) {\n\t\tthis.url = url;\n\t\tthis.title = title;\n\t\tthis.description = description;\n\t\tthis.imageUrl = imageUrl;\n\t\tthis.type = type;\n\t\tthis.parentTitle = parentTitle;\n\t\tthis.parentType = parentType;\n\t}\n\n\t@ApiProperty()\n\t@IsUrl()\n\turl!: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\ttitle?: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tdescription?: string;\n\n\t@ApiProperty()\n\t@IsString()\n\timageUrl?: string;\n\n\t@ApiProperty()\n\t@IsString()\n\ttype: MetaDataEntityType;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tparentTitle?: string;\n\n\t@ApiProperty()\n\t@IsString()\n\tparentType?: MetaDataEntityType;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/MetaTagExtractorService.html":{"url":"injectables/MetaTagExtractorService.html","title":"injectable - MetaTagExtractorService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n MetaTagExtractorService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/service/meta-tag-extractor.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n getDefaultMetaData\n \n \n Async\n getMetaData\n \n \n Private\n pickImage\n \n \n Private\n Async\n tryExtractMetaTags\n \n \n Private\n tryFilenameAsFallback\n \n \n Private\n Async\n tryInternalLinkMetaTags\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(internalLinkMataTagService: MetaTagInternalUrlService)\n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-extractor.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n internalLinkMataTagService\n \n \n MetaTagInternalUrlService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n getDefaultMetaData\n \n \n \n \n \n \n \n getDefaultMetaData(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-extractor.service.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : MetaData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getMetaData\n \n \n \n \n \n \n \n getMetaData(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-extractor.service.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n pickImage\n \n \n \n \n \n \n \n pickImage(images: ImageObject[], minWidth: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-extractor.service.ts:69\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n images\n \n ImageObject[]\n \n\n \n No\n \n\n \n \n\n \n \n minWidth\n \n number\n \n\n \n No\n \n\n \n 400\n \n\n \n \n \n \n \n Returns : ImageObject | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n tryExtractMetaTags\n \n \n \n \n \n \n \n tryExtractMetaTags(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-extractor.service.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n tryFilenameAsFallback\n \n \n \n \n \n \n \n tryFilenameAsFallback(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-extractor.service.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : MetaData | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n tryInternalLinkMetaTags\n \n \n \n \n \n \n \n tryInternalLinkMetaTags(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-extractor.service.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport ogs from 'open-graph-scraper';\nimport { ImageObject } from 'open-graph-scraper/dist/lib/types';\nimport { basename } from 'path';\nimport type { MetaData } from '../types';\nimport { MetaTagInternalUrlService } from './meta-tag-internal-url.service';\n\n@Injectable()\nexport class MetaTagExtractorService {\n\tconstructor(private readonly internalLinkMataTagService: MetaTagInternalUrlService) {}\n\n\tasync getMetaData(url: string): Promise {\n\t\tif (url.length === 0) {\n\t\t\tthrow new Error(`MetaTagExtractorService requires a valid URL. Given URL: ${url}`);\n\t\t}\n\n\t\tconst metaData =\n\t\t\t(await this.tryInternalLinkMetaTags(url)) ??\n\t\t\t(await this.tryExtractMetaTags(url)) ??\n\t\t\tthis.tryFilenameAsFallback(url) ??\n\t\t\tthis.getDefaultMetaData(url);\n\n\t\treturn metaData;\n\t}\n\n\tprivate async tryInternalLinkMetaTags(url: string): Promise {\n\t\treturn this.internalLinkMataTagService.tryInternalLinkMetaTags(url);\n\t}\n\n\tprivate async tryExtractMetaTags(url: string): Promise {\n\t\ttry {\n\t\t\tconst data = await ogs({ url, fetchOptions: { headers: { 'User-Agent': 'Open Graph Scraper' } } });\n\n\t\t\tconst title = data.result?.ogTitle ?? '';\n\t\t\tconst description = data.result?.ogDescription ?? '';\n\t\t\tconst image = data.result?.ogImage ? this.pickImage(data?.result?.ogImage) : undefined;\n\n\t\t\treturn {\n\t\t\t\ttitle,\n\t\t\t\tdescription,\n\t\t\t\timage,\n\t\t\t\turl,\n\t\t\t\ttype: 'external',\n\t\t\t};\n\t\t} catch (error) {\n\t\t\treturn undefined;\n\t\t}\n\t}\n\n\tprivate tryFilenameAsFallback(url: string): MetaData | undefined {\n\t\ttry {\n\t\t\tconst urlObject = new URL(url);\n\t\t\tconst title = basename(urlObject.pathname);\n\t\t\treturn {\n\t\t\t\ttitle,\n\t\t\t\tdescription: '',\n\t\t\t\turl,\n\t\t\t\ttype: 'unknown',\n\t\t\t};\n\t\t} catch (error) {\n\t\t\treturn undefined;\n\t\t}\n\t}\n\n\tprivate getDefaultMetaData(url: string): MetaData {\n\t\treturn { url, title: '', description: '', type: 'unknown' };\n\t}\n\n\tprivate pickImage(images: ImageObject[], minWidth = 400): ImageObject | undefined {\n\t\tconst sortedImages = [...images];\n\t\tsortedImages.sort((a, b) => (a.width && b.width ? Number(a.width) - Number(b.width) : 0));\n\t\tconst smallestBigEnoughImage = sortedImages.find((i) => i.width && i.width >= minWidth);\n\t\tconst fallbackImage = images[0] && images[0].width === undefined ? images[0] : undefined;\n\t\treturn smallestBigEnoughImage ?? fallbackImage;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/MetaTagExtractorUc.html":{"url":"injectables/MetaTagExtractorUc.html","title":"injectable - MetaTagExtractorUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n MetaTagExtractorUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/uc/meta-tag-extractor.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getMetaData\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationService: AuthorizationService, metaTagExtractorService: MetaTagExtractorService)\n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/uc/meta-tag-extractor.uc.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n metaTagExtractorService\n \n \n MetaTagExtractorService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getMetaData\n \n \n \n \n \n \n \n getMetaData(userId: EntityId, url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/uc/meta-tag-extractor.uc.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationService } from '@modules/authorization';\nimport { Injectable, UnauthorizedException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { MetaTagExtractorService } from '../service';\nimport { MetaData } from '../types';\n\n@Injectable()\nexport class MetaTagExtractorUc {\n\tconstructor(\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly metaTagExtractorService: MetaTagExtractorService\n\t) {}\n\n\tasync getMetaData(userId: EntityId, url: string): Promise {\n\t\ttry {\n\t\t\tawait this.authorizationService.getUserWithPermissions(userId);\n\t\t} catch (error) {\n\t\t\tthrow new UnauthorizedException();\n\t\t}\n\n\t\tconst result = await this.metaTagExtractorService.getMetaData(url);\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/MetaTagInternalUrlService.html":{"url":"injectables/MetaTagInternalUrlService.html","title":"injectable - MetaTagInternalUrlService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n MetaTagInternalUrlService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/service/meta-tag-internal-url.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n handlers\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n composeMetaTags\n \n \n isInternalUrl\n \n \n Async\n tryInternalLinkMetaTags\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(taskUrlHandler: TaskUrlHandler, lessonUrlHandler: LessonUrlHandler, courseUrlHandler: CourseUrlHandler, boardUrlHandler: BoardUrlHandler)\n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-internal-url.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n taskUrlHandler\n \n \n TaskUrlHandler\n \n \n \n No\n \n \n \n \n lessonUrlHandler\n \n \n LessonUrlHandler\n \n \n \n No\n \n \n \n \n courseUrlHandler\n \n \n CourseUrlHandler\n \n \n \n No\n \n \n \n \n boardUrlHandler\n \n \n BoardUrlHandler\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n composeMetaTags\n \n \n \n \n \n \n \n composeMetaTags(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-internal-url.service.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isInternalUrl\n \n \n \n \n \n \nisInternalUrl(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-internal-url.service.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n tryInternalLinkMetaTags\n \n \n \n \n \n \n \n tryInternalLinkMetaTags(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-internal-url.service.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n handlers\n \n \n \n \n \n \n Type : UrlHandler[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-internal-url.service.ts:9\n \n \n\n\n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { Injectable } from '@nestjs/common';\nimport type { UrlHandler } from '../interface/url-handler';\nimport { MetaData } from '../types';\nimport { BoardUrlHandler, CourseUrlHandler, LessonUrlHandler, TaskUrlHandler } from './url-handler';\n\n@Injectable()\nexport class MetaTagInternalUrlService {\n\tprivate handlers: UrlHandler[] = [];\n\n\tconstructor(\n\t\tprivate readonly taskUrlHandler: TaskUrlHandler,\n\t\tprivate readonly lessonUrlHandler: LessonUrlHandler,\n\t\tprivate readonly courseUrlHandler: CourseUrlHandler,\n\t\tprivate readonly boardUrlHandler: BoardUrlHandler\n\t) {\n\t\tthis.handlers = [this.taskUrlHandler, this.lessonUrlHandler, this.courseUrlHandler, this.boardUrlHandler];\n\t}\n\n\tasync tryInternalLinkMetaTags(url: string): Promise {\n\t\tif (this.isInternalUrl(url)) {\n\t\t\treturn this.composeMetaTags(url);\n\t\t}\n\t\treturn Promise.resolve(undefined);\n\t}\n\n\tisInternalUrl(url: string) {\n\t\tlet domain = Configuration.get('SC_DOMAIN') as string;\n\t\tdomain = domain === '' ? 'nothing-configured-for-internal-url.de' : domain;\n\t\tconst isInternal = url.toLowerCase().includes(domain.toLowerCase());\n\t\treturn isInternal;\n\t}\n\n\tprivate async composeMetaTags(url: string): Promise {\n\t\tconst urlObject = new URL(url);\n\n\t\tconst handler = this.handlers.find((h) => h.doesUrlMatch(url));\n\t\tif (handler) {\n\t\t\tconst result = await handler.getMetaData(url);\n\t\t\treturn result;\n\t\t}\n\n\t\tconst title = urlObject.pathname;\n\t\treturn Promise.resolve({\n\t\t\ttitle,\n\t\t\tdescription: '',\n\t\t\turl,\n\t\t\ttype: 'unknown',\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MetadataTypeMapper.html":{"url":"classes/MetadataTypeMapper.html","title":"class - MetadataTypeMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MetadataTypeMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/mapper/metadata-type.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToAlloweMetadataType\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToAlloweMetadataType\n \n \n \n \n \n \n \n mapToAlloweMetadataType(type: ShareTokenParentType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/mapper/metadata-type.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n ShareTokenParentType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LearnroomTypes\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { NotImplementedException } from '@nestjs/common';\nimport { LearnroomTypes } from '@shared/domain/types';\nimport { ShareTokenParentType } from '../domainobject/share-token.do';\n\nexport class MetadataTypeMapper {\n\tstatic mapToAlloweMetadataType(type: ShareTokenParentType): LearnroomTypes {\n\t\tconst types: Map = new Map();\n\t\ttypes.set(ShareTokenParentType.Course, LearnroomTypes.Course);\n\n\t\tconst res = types.get(type);\n\n\t\tif (!res) {\n\t\t\tthrow new NotImplementedException();\n\t\t}\n\t\treturn res;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MigrationAlreadyActivatedException.html":{"url":"classes/MigrationAlreadyActivatedException.html","title":"class - MigrationAlreadyActivatedException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MigrationAlreadyActivatedException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/uc/ldap-user-migration.error.ts\n \n\n\n\n \n Extends\n \n \n LdapUserMigrationException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(descriptionOrOptions?: string | HttpExceptionOptions)\n \n \n \n \n Defined in apps/server/src/modules/user-import/uc/ldap-user-migration.error.ts:28\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n descriptionOrOptions\n \n \n string | HttpExceptionOptions\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/uc/ldap-user-migration.error.ts:33\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BadRequestException, HttpExceptionOptions } from '@nestjs/common';\nimport { ErrorLogMessage, LogMessage, Loggable, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class LdapUserMigrationException extends BadRequestException {}\n\nexport class LdapAlreadyPersistedException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('ldapAlreadyPersisted', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'LDAP is already Persisted',\n\t\t};\n\t}\n}\nexport class MissingSchoolNumberException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('LDAP migration Exception', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'The school is missing a official school number',\n\t\t};\n\t}\n}\nexport class MigrationAlreadyActivatedException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('LDAP migration Exception', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'Migration is already activated for this school',\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/MigrationCheckService.html":{"url":"injectables/MigrationCheckService.html","title":"injectable - MigrationCheckService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n MigrationCheckService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/service/migration-check.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n isMigrationActive\n \n \n Private\n isUserMigrated\n \n \n Public\n Async\n shouldUserMigrate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userService: UserService, schoolService: LegacySchoolService, userLoginMigrationRepo: UserLoginMigrationRepo)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/migration-check.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n userLoginMigrationRepo\n \n \n UserLoginMigrationRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n isMigrationActive\n \n \n \n \n \n \n \n isMigrationActive(userLoginMigration: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/migration-check.service.ts:48\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigration\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isUserMigrated\n \n \n \n \n \n \n \n isUserMigrated(user: UserDO | null, userLoginMigration: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/migration-check.service.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserDO | null\n \n\n \n No\n \n\n\n \n \n userLoginMigration\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n shouldUserMigrate\n \n \n \n \n \n \n \n shouldUserMigrate(externalUserId: string, systemId: EntityId, officialSchoolNumber: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/migration-check.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalUserId\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n officialSchoolNumber\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { LegacySchoolService } from '@modules/legacy-school';\nimport { UserService } from '@modules/user';\nimport { Injectable } from '@nestjs/common';\nimport { LegacySchoolDo, UserDO, UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { UserLoginMigrationRepo } from '@shared/repo';\n\n@Injectable()\nexport class MigrationCheckService {\n\tconstructor(\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly schoolService: LegacySchoolService,\n\t\tprivate readonly userLoginMigrationRepo: UserLoginMigrationRepo\n\t) {}\n\n\tpublic async shouldUserMigrate(\n\t\texternalUserId: string,\n\t\tsystemId: EntityId,\n\t\tofficialSchoolNumber: string\n\t): Promise {\n\t\tconst school: LegacySchoolDo | null = await this.schoolService.getSchoolBySchoolNumber(officialSchoolNumber);\n\n\t\tif (!school?.id) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationRepo.findBySchoolId(school.id);\n\n\t\tif (!userLoginMigration || !this.isMigrationActive(userLoginMigration)) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst user: UserDO | null = await this.userService.findByExternalId(externalUserId, systemId);\n\n\t\tif (this.isUserMigrated(user, userLoginMigration)) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tprivate isUserMigrated(user: UserDO | null, userLoginMigration: UserLoginMigrationDO): boolean {\n\t\treturn (\n\t\t\t!!user && user.lastLoginSystemChange !== undefined && user.lastLoginSystemChange > userLoginMigration.startedAt\n\t\t);\n\t}\n\n\tprivate isMigrationActive(userLoginMigration: UserLoginMigrationDO): boolean {\n\t\treturn !userLoginMigration.closedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MigrationDto.html":{"url":"classes/MigrationDto.html","title":"class - MigrationDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MigrationDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/service/dto/migration.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n redirect\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userMigrationDto: MigrationDto)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/dto/migration.dto.ts:2\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userMigrationDto\n \n \n MigrationDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n redirect\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/dto/migration.dto.ts:2\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class MigrationDto {\n\tredirect: string;\n\n\tconstructor(userMigrationDto: MigrationDto) {\n\t\tthis.redirect = userMigrationDto.redirect;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MigrationMayBeCompleted.html":{"url":"classes/MigrationMayBeCompleted.html","title":"class - MigrationMayBeCompleted","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MigrationMayBeCompleted\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/loggable/migration-may-be-completed.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(inUserMigration?: boolean)\n \n \n \n \n Defined in apps/server/src/modules/user-import/loggable/migration-may-be-completed.loggable.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n inUserMigration\n \n \n boolean\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/loggable/migration-may-be-completed.loggable.ts:6\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class MigrationMayBeCompleted implements Loggable {\n\tconstructor(private readonly inUserMigration?: boolean) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'The migration may have already been completed or the school may not yet be in maintenance mode',\n\t\t\tdata: {\n\t\t\t\tinUserMigration: this.inUserMigration,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MigrationMayNotBeCompleted.html":{"url":"classes/MigrationMayNotBeCompleted.html","title":"class - MigrationMayNotBeCompleted","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MigrationMayNotBeCompleted\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/loggable/migration-is-not-completed.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(inUserMigration?: boolean)\n \n \n \n \n Defined in apps/server/src/modules/user-import/loggable/migration-is-not-completed.loggable.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n inUserMigration\n \n \n boolean\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/loggable/migration-is-not-completed.loggable.ts:6\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class MigrationMayNotBeCompleted implements Loggable {\n\tconstructor(private readonly inUserMigration?: boolean) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'The migration may not be yet complete or the school may not be in maintenance mode',\n\t\t\tdata: {\n\t\t\t\tinUserMigration: this.inUserMigration,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/MigrationOptions.html":{"url":"interfaces/MigrationOptions.html","title":"interface - MigrationOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n MigrationOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n query\n \n \n \n Optional\n \n skip\n \n \n \n Optional\n \n verbose\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n query\n \n \n \n \n \n \n \n \n query: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n skip\n \n \n \n \n \n \n \n \n skip: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n verbose\n \n \n \n \n \n \n \n \n verbose: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { ConsoleWriterService } from '@infra/console';\nimport { LegacyLogger } from '@src/core/logger';\nimport { Command, CommandOption, Console } from 'nestjs-console';\nimport { KeycloakConfigurationUc } from '../uc/keycloak-configuration.uc';\n\nconst defaultError = new Error('IDM is not reachable or authentication failed.');\n\ninterface RetryOptions {\n\tretryCount?: number;\n\tretryDelay?: number;\n}\n\ninterface MigrationOptions {\n\tskip?: number;\n\tquery?: string;\n\tverbose?: boolean;\n}\n\ninterface CleanOptions {\n\tpageSize?: number;\n}\n@Console({ command: 'idm', description: 'Prefixes all Identity Management (IDM) related console commands.' })\nexport class KeycloakConsole {\n\tconstructor(\n\t\tprivate readonly console: ConsoleWriterService,\n\t\tprivate readonly keycloakConfigurationUc: KeycloakConfigurationUc,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(KeycloakConsole.name);\n\t}\n\n\tstatic retryFlags: CommandOption[] = [\n\t\t{\n\t\t\tflags: '-rc, --retry-count ',\n\t\t\tdescription: 'If the command fails, it will be retried this number of times. Default is no retry.',\n\t\t\trequired: false,\n\t\t\tdefaultValue: 1,\n\t\t},\n\t\t{\n\t\t\tflags: '-rd, --retry-delay ',\n\t\t\tdescription: 'If \"retry\" is active, this delay is used between each retry. Default is 10 seconds.',\n\t\t\trequired: false,\n\t\t\tdefaultValue: 10,\n\t\t},\n\t];\n\n\t/**\n\t * For local development. Checks if connection to IDM is working.\n\t */\n\t@Command({ command: 'check', description: 'Test the connection to the IDM.' })\n\tasync check(): Promise {\n\t\tif (await this.keycloakConfigurationUc.check()) {\n\t\t\tthis.console.info('Connected to IDM');\n\t\t} else {\n\t\t\tthrow defaultError;\n\t\t}\n\t}\n\n\t/**\n\t * Cleans users from IDM\n\t *\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'clean',\n\t\tdescription: 'Remove all users from the IDM.',\n\t\toptions: [\n\t\t\t...KeycloakConsole.retryFlags,\n\t\t\t{\n\t\t\t\tflags: '- mps, --maxPageSize ',\n\t\t\t\tdescription: 'Maximum users to delete per Keycloak API session. Default 100.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: 100,\n\t\t\t},\n\t\t],\n\t})\n\tasync clean(options: RetryOptions & CleanOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'clean',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.clean(options.pageSize ? Number(options.pageSize) : 100);\n\t\t\t\tthis.console.info(`Cleaned ${count} users in IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * For local development. Seeds user into IDM\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'seed',\n\t\tdescription: 'Add all seed users to the IDM.',\n\t\toptions: KeycloakConsole.retryFlags,\n\t})\n\tasync seed(options: RetryOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'seed',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.seed();\n\t\t\t\tthis.console.info(`Seeded ${count} users into IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * Used in production and for local development to transfer configuration to keycloak.\n\t *\n\t */\n\t@Command({\n\t\tcommand: 'configure',\n\t\tdescription: 'Configures Keycloak identity providers.',\n\t\toptions: [...KeycloakConsole.retryFlags],\n\t})\n\tasync configure(options: RetryOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'configure',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.configure();\n\t\t\t\tthis.console.info(`Configured ${count} identity provider(s).`);\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * For migration purpose. Moves all database accounts to the IDM\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'migrate',\n\t\tdescription: 'Add all database users to the IDM.',\n\t\toptions: [\n\t\t\t...KeycloakConsole.retryFlags,\n\t\t\t{\n\t\t\t\tflags: '-s, --skip',\n\t\t\t\tdescription: 'Skip the first \"s\" accounts during migration. Default 0.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: undefined,\n\t\t\t},\n\t\t\t{\n\t\t\t\tflags: '-v, --verbose',\n\t\t\t\tdescription: 'Log all events. Default is false.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: false,\n\t\t\t},\n\t\t],\n\t})\n\tasync migrate(options: RetryOptions & MigrationOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'migrate',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.migrate(\n\t\t\t\t\toptions.skip ? Number(options.skip) : undefined,\n\t\t\t\t\toptions.verbose ? Boolean(options.verbose) : false\n\t\t\t\t);\n\t\t\t\tthis.console.info(`Migrated ${count} users into IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\tprivate async repeatCommand(commandName: string, command: () => Promise, count = 1, delay = 10): Promise {\n\t\tlet repetitions = 0;\n\t\tlet error = new Error('error could be thrown if count is {\n\t\t\tsetTimeout(resolve, ms);\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MissingSchoolNumberException.html":{"url":"classes/MissingSchoolNumberException.html","title":"class - MissingSchoolNumberException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MissingSchoolNumberException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/uc/ldap-user-migration.error.ts\n \n\n\n\n \n Extends\n \n \n LdapUserMigrationException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(descriptionOrOptions?: string | HttpExceptionOptions)\n \n \n \n \n Defined in apps/server/src/modules/user-import/uc/ldap-user-migration.error.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n descriptionOrOptions\n \n \n string | HttpExceptionOptions\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/uc/ldap-user-migration.error.ts:22\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BadRequestException, HttpExceptionOptions } from '@nestjs/common';\nimport { ErrorLogMessage, LogMessage, Loggable, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class LdapUserMigrationException extends BadRequestException {}\n\nexport class LdapAlreadyPersistedException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('ldapAlreadyPersisted', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'LDAP is already Persisted',\n\t\t};\n\t}\n}\nexport class MissingSchoolNumberException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('LDAP migration Exception', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'The school is missing a official school number',\n\t\t};\n\t}\n}\nexport class MigrationAlreadyActivatedException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('LDAP migration Exception', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'Migration is already activated for this school',\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MissingToolParameterValueLoggableException.html":{"url":"classes/MissingToolParameterValueLoggableException.html","title":"class - MissingToolParameterValueLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MissingToolParameterValueLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/error/missing-tool-parameter-value.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(contextExternalTool: ContextExternalTool, parameters: CustomParameter[])\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/error/missing-tool-parameter-value.loggable-exception.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalTool\n \n \n ContextExternalTool\n \n \n \n No\n \n \n \n \n parameters\n \n \n CustomParameter[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/error/missing-tool-parameter-value.loggable-exception.ts:26\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { BusinessError } from '@shared/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { ContextExternalTool } from '../../context-external-tool/domain';\nimport { CustomParameter } from '../../common/domain';\n\nexport class MissingToolParameterValueLoggableException extends BusinessError implements Loggable {\n\tconstructor(\n\t\tprivate readonly contextExternalTool: ContextExternalTool,\n\t\tprivate readonly parameters: CustomParameter[]\n\t) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'MISSING_TOOL_PARAMETER_VALUE',\n\t\t\t\ttitle: 'Missing tool parameter value',\n\t\t\t\tdefaultMessage: 'The external tool was attempted to launch, but a parameter was not configured.',\n\t\t\t},\n\t\t\tHttpStatus.UNPROCESSABLE_ENTITY,\n\t\t\t{\n\t\t\t\tparameterKeys: parameters.map((param): string => param.name),\n\t\t\t\tparameterNames: parameters.map((param): string => param.displayName),\n\t\t\t}\n\t\t);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\tconst parameterNames: string[] = this.parameters.map((param): string => param.name);\n\n\t\treturn {\n\t\t\ttype: this.type,\n\t\t\tmessage: this.message,\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tcontextExternalToolId: this.contextExternalTool.id,\n\t\t\t\tparameterNames: `[${parameterNames.join(', ')}]`,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/MongoMemoryDatabaseModule.html":{"url":"modules/MongoMemoryDatabaseModule.html","title":"module - MongoMemoryDatabaseModule","body":"\n \n\n\n\n\n Modules\n MongoMemoryDatabaseModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/database/mongo-memory-database/mongo-memory-database.module.ts\n \n\n\n\n\n\n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options?: MongoDatabaseModuleOptions)\n \n \n\n\n \n \n Defined in apps/server/src/infra/database/mongo-memory-database/mongo-memory-database.module.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n MongoDatabaseModuleOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n onModuleDestroy\n \n \n \n \n \n \n \n onModuleDestroy()\n \n \n\n\n \n \n Defined in apps/server/src/infra/database/mongo-memory-database/mongo-memory-database.module.ts:42\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n \n\n\n \n import { MikroORM } from '@mikro-orm/core';\nimport { MikroOrmModule, MikroOrmModuleAsyncOptions } from '@mikro-orm/nestjs';\nimport { DynamicModule, Inject, Module, OnModuleDestroy } from '@nestjs/common';\nimport { ALL_ENTITIES } from '@shared/domain/entity';\nimport _ from 'lodash';\nimport { MongoDatabaseModuleOptions } from './types';\n\nconst dbName = () => _.times(20, () => _.random(35).toString(36)).join('');\n\nconst createMikroOrmModule = (options: MikroOrmModuleAsyncOptions): DynamicModule => {\n\tconst mikroOrmModule = MikroOrmModule.forRootAsync({\n\t\tuseFactory: () => {\n\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions, no-process-env\n\t\t\tconst clientUrl = `${process.env.MONGO_TEST_URI}/${dbName()}`;\n\t\t\treturn {\n\t\t\t\tallowGlobalContext: true, // can be overridden by options\n\t\t\t\t...options,\n\t\t\t\ttype: 'mongo',\n\t\t\t\tclientUrl,\n\t\t\t};\n\t\t},\n\t});\n\n\treturn mikroOrmModule;\n};\n\n@Module({})\nexport class MongoMemoryDatabaseModule implements OnModuleDestroy {\n\tconstructor(@Inject(MikroORM) private orm: MikroORM) {}\n\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\tconst defaultOptions = {\n\t\t\tentities: ALL_ENTITIES,\n\t\t};\n\t\treturn {\n\t\t\tmodule: MongoMemoryDatabaseModule,\n\t\t\timports: [createMikroOrmModule({ ...defaultOptions, ...options })],\n\t\t\texports: [MikroOrmModule],\n\t\t};\n\t}\n\n\tasync onModuleDestroy(): Promise {\n\t\tawait this.orm.close();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MongoPatterns.html":{"url":"classes/MongoPatterns.html","title":"class - MongoPatterns","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MongoPatterns\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/mongo.patterns.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n REGEX_MONGO_LANGUAGE_PATTERN_WHITELIST\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n REGEX_MONGO_LANGUAGE_PATTERN_WHITELIST\n \n \n \n \n \n \n Default value : /[^\\-_\\w\\d áàâäãåçéèêëíìîïñóòôöõúùûüýÿæœÁÀÂÄÃÅÇÉÈÊËÍÌÎÏÑÓÒÔÖÕÚÙÛÜÝŸÆŒ]/gi\n \n \n \n \n Defined in apps/server/src/shared/repo/mongo.patterns.ts:6\n \n \n\n \n \n Regex to escape strings before use as regex against database.\nUsed to remove all non-language characters except numbers, whitespace or minus.\n\n \n \n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class MongoPatterns {\n\t/**\n\t * Regex to escape strings before use as regex against database.\n\t * Used to remove all non-language characters except numbers, whitespace or minus.\n\t */\n\tstatic REGEX_MONGO_LANGUAGE_PATTERN_WHITELIST =\n\t\t/[^\\-_\\w\\d áàâäãåçéèêëíìîïñóòôöõúùûüýÿæœÁÀÂÄÃÅÇÉÈÊËÍÌÎÏÑÓÒÔÖÕÚÙÛÜÝŸÆŒ]/gi;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MoveCardBodyParams.html":{"url":"classes/MoveCardBodyParams.html","title":"class - MoveCardBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MoveCardBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/board/move-card.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n toColumnId\n \n \n \n \n \n toPosition\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n toColumnId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/move-card.body.params.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n toPosition\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@ApiProperty({required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/move-card.body.params.ts:18\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId, IsNumber, Min } from 'class-validator';\n\nexport class MoveCardBodyParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\ttoColumnId!: string;\n\n\t@IsNumber()\n\t@Min(0)\n\t@ApiProperty({\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\ttoPosition!: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MoveColumnBodyParams.html":{"url":"classes/MoveColumnBodyParams.html","title":"class - MoveColumnBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MoveColumnBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/board/move-column.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n toBoardId\n \n \n \n \n \n toPosition\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n toBoardId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the target board', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/move-column.body.params.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n toPosition\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@ApiProperty({required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/move-column.body.params.ts:19\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId, IsNumber, Min } from 'class-validator';\n\nexport class MoveColumnBodyParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the target board',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\ttoBoardId!: string;\n\n\t@IsNumber()\n\t@Min(0)\n\t@ApiProperty({\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\ttoPosition!: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MoveContentElementBody.html":{"url":"classes/MoveContentElementBody.html","title":"class - MoveContentElementBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MoveContentElementBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/card/move-content-element.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n toCardId\n \n \n \n \n \n toPosition\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n toCardId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/move-content-element.body.params.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n toPosition\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@ApiProperty({required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/move-content-element.body.params.ts:18\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId, IsNumber, Min } from 'class-validator';\n\nexport class MoveContentElementBody {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\ttoCardId!: string;\n\n\t@IsNumber()\n\t@Min(0)\n\t@ApiProperty({\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\ttoPosition!: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MoveElementParams.html":{"url":"classes/MoveElementParams.html","title":"class - MoveElementParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MoveElementParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/move-element.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n from\n \n \n \n \n to\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n from\n \n \n \n \n \n \n Type : MoveElementPositionParams\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/move-element.body.params.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n to\n \n \n \n \n \n \n Type : MoveElementPositionParams\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/move-element.body.params.ts:33\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { ValidateNested, IsNumber, Min, IsOptional } from 'class-validator';\n\n/**\n * DTO for Updating the position of a Dashboard Element.\n */\n\nexport class MoveElementPositionParams {\n\t@IsNumber()\n\t@Min(0)\n\t@ApiProperty()\n\tx!: number;\n\n\t@IsNumber()\n\t@Min(0)\n\t@ApiProperty()\n\ty!: number;\n\n\t@IsNumber()\n\t@Min(0)\n\t@IsOptional()\n\t@ApiPropertyOptional({ description: 'used to identify a position within a group.' })\n\tgroupIndex?: number;\n}\n\nexport class MoveElementParams {\n\t@ValidateNested()\n\t@ApiProperty()\n\tfrom!: MoveElementPositionParams;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tto!: MoveElementPositionParams;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MoveElementPositionParams.html":{"url":"classes/MoveElementPositionParams.html","title":"class - MoveElementPositionParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MoveElementPositionParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/move-element.body.params.ts\n \n\n\n \n Description\n \n \n DTO for Updating the position of a Dashboard Element.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n groupIndex\n \n \n \n \n \n x\n \n \n \n \n \n y\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n groupIndex\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@IsOptional()@ApiPropertyOptional({description: 'used to identify a position within a group.'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/move-element.body.params.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n x\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/move-element.body.params.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n y\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/move-element.body.params.ts:17\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { ValidateNested, IsNumber, Min, IsOptional } from 'class-validator';\n\n/**\n * DTO for Updating the position of a Dashboard Element.\n */\n\nexport class MoveElementPositionParams {\n\t@IsNumber()\n\t@Min(0)\n\t@ApiProperty()\n\tx!: number;\n\n\t@IsNumber()\n\t@Min(0)\n\t@ApiProperty()\n\ty!: number;\n\n\t@IsNumber()\n\t@Min(0)\n\t@IsOptional()\n\t@ApiPropertyOptional({ description: 'used to identify a position within a group.' })\n\tgroupIndex?: number;\n}\n\nexport class MoveElementParams {\n\t@ValidateNested()\n\t@ApiProperty()\n\tfrom!: MoveElementPositionParams;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tto!: MoveElementPositionParams;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/NameMatch.html":{"url":"interfaces/NameMatch.html","title":"interface - NameMatch","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n NameMatch\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/types/importuser.types.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n name\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Match filter for lastName or firstName\n\n \n \n \n \n \n \n\n\n \n import type { IImportUserRoleName } from '../entity/import-user.entity';\n\nexport enum MatchCreatorScope {\n\tAUTO = 'auto',\n\tMANUAL = 'admin',\n\tNONE = 'none',\n}\n\nexport interface IImportUserScope {\n\tfirstName?: string;\n\tlastName?: string;\n\tloginName?: string;\n\tmatches?: MatchCreatorScope[];\n\tflagged?: boolean;\n\trole?: IImportUserRoleName;\n\tclasses?: string;\n}\n\nexport interface NameMatch {\n\t/**\n\t * Match filter for lastName or firstName\n\t */\n\tname?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/News.html":{"url":"entities/News.html","title":"entity - News","body":"\n \n\n\n\n\n\n\n\n Entities\n News\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/news.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n creator\n \n \n \n \n displayAt\n \n \n \n Optional\n externalId\n \n \n permissions\n \n \n \n school\n \n \n \n Optional\n source\n \n \n \n Optional\n sourceDescription\n \n \n target\n \n \n \n targetModel\n \n \n \n title\n \n \n \n Optional\n updater\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:38\n \n \n\n \n \n the news content as html\n\n \n \n\n \n \n \n \n \n \n \n \n \n creator\n \n \n \n \n \n \n Type : User\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('User', {fieldName: 'creatorId'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:65\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n displayAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property()@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:43\n \n \n\n \n \n only past news are visible for viewers, when edit permission, news visible in the future might be accessed too\n\n \n \n\n \n \n \n \n \n \n \n \n \n Optional\n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n permissions\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:70\n \n \n\n\n \n \n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n Type : SchoolEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined, {fieldName: 'schoolId'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:62\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n source\n \n \n \n \n \n \n Type : \"internal\" | \"rss\"\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n sourceDescription\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : NewsTarget\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:55\n \n \n\n \n \n id reference to a collection populated later with name\n\n \n \n\n \n \n \n \n \n \n \n \n \n targetModel\n \n \n \n \n \n \n Type : NewsTargetModel\n\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:59\n \n \n\n \n \n name of a collection which is referenced in target\n\n \n \n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:34\n \n \n\n \n \n the news title\n\n \n \n\n \n \n \n \n \n \n \n \n \n Optional\n updater\n \n \n \n \n \n \n Type : User\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('User', {fieldName: 'updaterId', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:68\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Enum, Index, ManyToOne, Property } from '@mikro-orm/core';\nimport { EntityId } from '../types';\nimport { NewsTarget, NewsTargetModel } from '../types/news.types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { TeamEntity } from './team.entity';\nimport type { User } from './user.entity';\n\nexport interface NewsProperties {\n\ttitle: string;\n\tcontent: string;\n\tdisplayAt: Date;\n\tschool: EntityId | SchoolEntity;\n\tcreator: EntityId | User;\n\ttarget: EntityId | NewsTarget;\n\n\texternalId?: string;\n\tsource?: 'internal' | 'rss';\n\tsourceDescription?: string;\n\tupdater?: User;\n}\n\n@Entity({\n\tdiscriminatorColumn: 'targetModel',\n\tabstract: true,\n})\n@Index({ properties: ['school', 'target'] })\n@Index({ properties: ['school', 'target', 'targetModel'] })\n@Index({ properties: ['target', 'targetModel'] })\nexport abstract class News extends BaseEntityWithTimestamps {\n\t/** the news title */\n\t@Property()\n\ttitle: string;\n\n\t/** the news content as html */\n\t@Property()\n\tcontent: string;\n\n\t/** only past news are visible for viewers, when edit permission, news visible in the future might be accessed too */\n\t@Property()\n\t@Index()\n\tdisplayAt: Date;\n\n\t@Property({ nullable: true })\n\texternalId?: string;\n\n\t@Property({ nullable: true })\n\tsource?: 'internal' | 'rss';\n\n\t@Property({ nullable: true })\n\tsourceDescription?: string;\n\n\t/** id reference to a collection populated later with name */\n\ttarget!: NewsTarget;\n\n\t/** name of a collection which is referenced in target */\n\t@Enum()\n\ttargetModel!: NewsTargetModel;\n\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool!: SchoolEntity;\n\n\t@ManyToOne('User', { fieldName: 'creatorId' })\n\tcreator!: User;\n\n\t@ManyToOne('User', { fieldName: 'updaterId', nullable: true })\n\tupdater?: User;\n\n\tpermissions: string[] = [];\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper();\n\t\tthis.title = props.title;\n\t\tthis.content = props.content;\n\t\tthis.displayAt = props.displayAt;\n\t\tObject.assign(this, { school: props.school, creator: props.creator, updater: props.updater, target: props.target });\n\t\tthis.externalId = props.externalId;\n\t\tthis.source = props.source;\n\t\tthis.sourceDescription = props.sourceDescription;\n\t}\n\n\tstatic createInstance(targetModel: NewsTargetModel, props: NewsProperties): News {\n\t\tlet news: News;\n\t\tif (targetModel === NewsTargetModel.Course) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new CourseNews(props);\n\t\t} else if (targetModel === NewsTargetModel.Team) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new TeamNews(props);\n\t\t} else {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new SchoolNews(props);\n\t\t}\n\t\treturn news;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.School })\nexport class SchoolNews extends News {\n\t@ManyToOne(() => SchoolEntity)\n\ttarget!: SchoolEntity;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.School;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.Course })\nexport class CourseNews extends News {\n\t// FIXME Due to a weird behaviour in the mikro-orm validation we have to\n\t// disable the validation by setting the reference nullable.\n\t// Remove when fixed in mikro-orm.\n\t@ManyToOne('Course', { nullable: true })\n\ttarget!: Course;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.Course;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.Team })\nexport class TeamNews extends News {\n\t@ManyToOne('TeamEntity')\n\ttarget!: TeamEntity;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.Team;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/NewsController.html":{"url":"controllers/NewsController.html","title":"controller - NewsController","body":"\n \n\n\n\n\n\n\n Controllers\n NewsController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/news.controller.ts\n \n\n \n Prefix\n \n \n news\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n create\n \n \n \n Async\n delete\n \n \n \n Async\n findAll\n \n \n \n Async\n findOne\n \n \n \n Async\n update\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n create\n \n \n \n \n \n \n \n create(currentUser: ICurrentUser, params: CreateNewsParams)\n \n \n\n \n \n Decorators : \n \n @Post()\n \n \n\n \n \n Defined in apps/server/src/modules/news/controller/news.controller.ts:26\n \n \n\n\n \n \n Create a news by a user in a given scope (school or team).\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n CreateNewsParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(urlParams: NewsUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Delete(':newsId')\n \n \n\n \n \n Defined in apps/server/src/modules/news/controller/news.controller.ts:89\n \n \n\n\n \n \n Delete a news.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n NewsUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAll\n \n \n \n \n \n \n \n findAll(currentUser: ICurrentUser, scope: FilterNewsParams, pagination: PaginationParams)\n \n \n\n \n \n Decorators : \n \n @Get()\n \n \n\n \n \n Defined in apps/server/src/modules/news/controller/news.controller.ts:40\n \n \n\n\n \n \n Responds with all news for a user.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n scope\n \n FilterNewsParams\n \n\n \n No\n \n\n\n \n \n pagination\n \n PaginationParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findOne\n \n \n \n \n \n \n \n findOne(urlParams: NewsUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get(':newsId')\n \n \n\n \n \n Defined in apps/server/src/modules/news/controller/news.controller.ts:61\n \n \n\n\n \n \n Retrieve a specific news entry by id.\nA user may only read news of scopes he has the read permission.\nThe news entity has school and user names populated.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n NewsUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n update\n \n \n \n \n \n \n \n update(urlParams: NewsUrlParams, currentUser: ICurrentUser, params: UpdateNewsParams)\n \n \n\n \n \n Decorators : \n \n @Patch(':newsId')\n \n \n\n \n \n Defined in apps/server/src/modules/news/controller/news.controller.ts:71\n \n \n\n\n \n \n Update properties of a news.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n NewsUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n UpdateNewsParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, Delete, Get, Param, Patch, Post, Query } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { PaginationParams } from '@shared/controller';\nimport { NewsMapper } from '../mapper/news.mapper';\nimport { NewsUc } from '../uc/news.uc';\nimport {\n\tCreateNewsParams,\n\tFilterNewsParams,\n\tNewsListResponse,\n\tNewsResponse,\n\tNewsUrlParams,\n\tUpdateNewsParams,\n} from './dto';\n\n@ApiTags('News')\n@Authenticate('jwt')\n@Controller('news')\nexport class NewsController {\n\tconstructor(private readonly newsUc: NewsUc) {}\n\n\t/**\n\t * Create a news by a user in a given scope (school or team).\n\t */\n\t@Post()\n\tasync create(@CurrentUser() currentUser: ICurrentUser, @Body() params: CreateNewsParams): Promise {\n\t\tconst news = await this.newsUc.create(\n\t\t\tcurrentUser.userId,\n\t\t\tcurrentUser.schoolId,\n\t\t\tNewsMapper.mapCreateNewsToDomain(params)\n\t\t);\n\t\tconst dto = NewsMapper.mapToResponse(news);\n\t\treturn dto;\n\t}\n\n\t/**\n\t * Responds with all news for a user.\n\t */\n\t@Get()\n\tasync findAll(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() scope: FilterNewsParams,\n\t\t@Query() pagination: PaginationParams\n\t): Promise {\n\t\tconst [newsList, count] = await this.newsUc.findAllForUser(\n\t\t\tcurrentUser.userId,\n\t\t\tNewsMapper.mapNewsScopeToDomain(scope),\n\t\t\t{ pagination }\n\t\t);\n\t\tconst dtoList = newsList.map((news) => NewsMapper.mapToResponse(news));\n\t\tconst response = new NewsListResponse(dtoList, count);\n\t\treturn response;\n\t}\n\n\t/**\n\t * Retrieve a specific news entry by id.\n\t * A user may only read news of scopes he has the read permission.\n\t * The news entity has school and user names populated.\n\t */\n\t@Get(':newsId')\n\tasync findOne(@Param() urlParams: NewsUrlParams, @CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst news = await this.newsUc.findOneByIdForUser(urlParams.newsId, currentUser.userId);\n\t\tconst dto = NewsMapper.mapToResponse(news);\n\t\treturn dto;\n\t}\n\n\t/**\n\t * Update properties of a news.\n\t */\n\t@Patch(':newsId')\n\tasync update(\n\t\t@Param() urlParams: NewsUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() params: UpdateNewsParams\n\t): Promise {\n\t\tconst news = await this.newsUc.update(\n\t\t\turlParams.newsId,\n\t\t\tcurrentUser.userId,\n\t\t\tNewsMapper.mapUpdateNewsToDomain(params)\n\t\t);\n\t\tconst dto = NewsMapper.mapToResponse(news);\n\t\treturn dto;\n\t}\n\n\t/**\n\t * Delete a news.\n\t */\n\t@Delete(':newsId')\n\tasync delete(@Param() urlParams: NewsUrlParams, @CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst deletedId = await this.newsUc.delete(urlParams.newsId, currentUser.userId);\n\t\treturn deletedId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/NewsCrudOperationLoggable.html":{"url":"classes/NewsCrudOperationLoggable.html","title":"class - NewsCrudOperationLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n NewsCrudOperationLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/loggable/news-crud-operation.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(operation: CrudOperation, userId: EntityId, news: News)\n \n \n \n \n Defined in apps/server/src/modules/news/loggable/news-crud-operation.loggable.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n operation\n \n \n CrudOperation\n \n \n \n No\n \n \n \n \n userId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n news\n \n \n News\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/loggable/news-crud-operation.loggable.ts:14\n \n \n\n\n \n \n\n \n Returns : LogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { News } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { CrudOperation } from '@shared/types';\nimport { Loggable, LogMessage } from '@src/core/logger';\nimport { NewsMapper } from '../mapper/news.mapper';\n\nexport class NewsCrudOperationLoggable implements Loggable {\n\tconstructor(\n\t\tprivate readonly operation: CrudOperation,\n\t\tprivate readonly userId: EntityId,\n\t\tprivate readonly news: News\n\t) {}\n\n\tgetLogMessage(): LogMessage {\n\t\treturn {\n\t\t\tmessage: 'Performing a CRUD operation on a news',\n\t\t\tdata: {\n\t\t\t\toperation: this.operation,\n\t\t\t\tuserId: this.userId,\n\t\t\t\tnews: NewsMapper.mapToLogMessageData(this.news),\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/NewsListResponse.html":{"url":"classes/NewsListResponse.html","title":"class - NewsListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n NewsListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/dto/news.response.ts\n \n\n\n\n \n Extends\n \n \n PaginationResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: NewsResponse[], total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:129\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n NewsResponse[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : NewsResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:136\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:14\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { PaginationResponse } from '@shared/controller';\nimport { NewsTargetModel } from '@shared/domain/types';\nimport { SchoolInfoResponse } from './school-info.response';\nimport { TargetInfoResponse } from './target-info.response';\nimport { UserInfoResponse } from './user-info.response';\n\nconst NEWS_SOURCES = ['internal', 'rss'] as const;\nconst TARGET_MODEL_VALUES = Object.values(NewsTargetModel);\n\ntype SourceType = typeof NEWS_SOURCES[number];\nexport class NewsResponse {\n\tconstructor({\n\t\tid,\n\t\ttitle,\n\t\tcontent,\n\t\tdisplayAt,\n\t\tsource,\n\t\tsourceDescription,\n\t\ttargetModel,\n\t\ttargetId,\n\t\ttarget,\n\t\tschool,\n\t\tcreator,\n\t\tupdater,\n\t\tcreatedAt,\n\t\tupdatedAt,\n\t\tpermissions,\n\t}: NewsResponse) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.content = content;\n\t\tthis.displayAt = displayAt;\n\t\tthis.source = source;\n\t\tthis.sourceDescription = sourceDescription;\n\t\tthis.targetModel = targetModel;\n\t\tthis.targetId = targetId;\n\t\tthis.target = target;\n\t\tthis.school = school;\n\t\tthis.creator = creator;\n\t\tthis.updater = updater;\n\t\tthis.createdAt = createdAt;\n\t\tthis.updatedAt = updatedAt;\n\t\tthis.permissions = permissions;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the News entity',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Title of the News entity',\n\t})\n\ttitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Content of the News entity',\n\t})\n\tcontent: string;\n\n\t@ApiProperty({\n\t\tdescription: 'The point in time from when the News entity schould be displayed',\n\t})\n\tdisplayAt: Date;\n\n\t@ApiPropertyOptional({\n\t\ttype: 'string',\n\t\tenum: NEWS_SOURCES,\n\t\tdescription: 'The type of source of the News entity',\n\t})\n\tsource?: SourceType;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'The source description of the News entity',\n\t})\n\tsourceDescription?: string;\n\n\t@ApiProperty({\n\t\tenum: TARGET_MODEL_VALUES,\n\t\tenumName: 'NewsTargetModel',\n\t\tdescription: 'Target model to which the News entity is related',\n\t})\n\ttargetModel: string;\n\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'Specific target id to which the News entity is related',\n\t})\n\ttargetId: string;\n\n\t@ApiProperty({\n\t\tdescription: 'The target object with id and name, could be the school, team, or course name',\n\t})\n\ttarget: TargetInfoResponse;\n\n\t@ApiProperty({\n\t\tdescription: 'The School ownership',\n\t})\n\tschool: SchoolInfoResponse;\n\n\t@ApiProperty({\n\t\tdescription: 'Reference to the User that created the News entity',\n\t})\n\tcreator: UserInfoResponse;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Reference to the User that updated the News entity',\n\t})\n\tupdater?: UserInfoResponse;\n\n\t@ApiProperty({\n\t\tdescription: 'The creation timestamp',\n\t})\n\tcreatedAt: Date;\n\n\t@ApiProperty({\n\t\tdescription: 'The update timestamp',\n\t})\n\tupdatedAt: Date;\n\n\t@ApiProperty({\n\t\tdescription: 'List of permissions the current user has for the News entity',\n\t})\n\tpermissions: string[];\n}\n\nexport class NewsListResponse extends PaginationResponse {\n\tconstructor(data: NewsResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [NewsResponse] })\n\tdata: NewsResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/NewsMapper.html":{"url":"classes/NewsMapper.html","title":"class - NewsMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n NewsMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/mapper/news.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapCreateNewsToDomain\n \n \n Static\n mapNewsScopeToDomain\n \n \n Static\n mapToLogMessageData\n \n \n Static\n mapToResponse\n \n \n Static\n mapUpdateNewsToDomain\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapCreateNewsToDomain\n \n \n \n \n \n \n \n mapCreateNewsToDomain(params: CreateNewsParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/mapper/news.mapper.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n CreateNewsParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CreateNews\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapNewsScopeToDomain\n \n \n \n \n \n \n \n mapNewsScopeToDomain(query: FilterNewsParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/mapper/news.mapper.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterNewsParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : INewsScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToLogMessageData\n \n \n \n \n \n \n \n mapToLogMessageData(news: News)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/mapper/news.mapper.ts:75\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n news\n \n News\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LogMessageData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(news: News)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/mapper/news.mapper.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n news\n \n News\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : NewsResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapUpdateNewsToDomain\n \n \n \n \n \n \n \n mapUpdateNewsToDomain(params: UpdateNewsParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/mapper/news.mapper.ts:66\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n UpdateNewsParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : IUpdateNews\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { News } from '@shared/domain/entity';\nimport { CreateNews, INewsScope, IUpdateNews, NewsTargetModel } from '@shared/domain/types';\nimport { LogMessageData } from '@src/core/logger';\nimport { CreateNewsParams, FilterNewsParams, NewsResponse, UpdateNewsParams } from '../controller/dto';\nimport { SchoolInfoMapper } from './school-info.mapper';\nimport { TargetInfoMapper } from './target-info.mapper';\nimport { UserInfoMapper } from './user-info.mapper';\n\nexport class NewsMapper {\n\tstatic mapToResponse(news: News): NewsResponse {\n\t\tconst target = TargetInfoMapper.mapToResponse(news.target);\n\t\tconst school = SchoolInfoMapper.mapToResponse(news.school);\n\t\tconst creator = UserInfoMapper.mapToResponse(news.creator);\n\n\t\tconst dto = new NewsResponse({\n\t\t\tid: news.id,\n\t\t\ttitle: news.title,\n\t\t\tcontent: news.content,\n\t\t\tdisplayAt: news.displayAt,\n\t\t\tsource: news.source,\n\t\t\tsourceDescription: news.sourceDescription,\n\t\t\ttargetId: news.target.id,\n\t\t\ttargetModel: news.targetModel,\n\t\t\ttarget,\n\t\t\tschool,\n\t\t\tcreator,\n\t\t\tcreatedAt: news.createdAt,\n\t\t\tupdatedAt: news.updatedAt,\n\t\t\tpermissions: news.permissions,\n\t\t});\n\n\t\tif (news.updater) {\n\t\t\tdto.updater = UserInfoMapper.mapToResponse(news.updater);\n\t\t}\n\n\t\treturn dto;\n\t}\n\n\tstatic mapNewsScopeToDomain(query: FilterNewsParams): INewsScope {\n\t\tconst dto: INewsScope = {};\n\t\tif (query.targetModel) {\n\t\t\tdto.target = {\n\t\t\t\ttargetModel: query.targetModel as NewsTargetModel,\n\t\t\t\ttargetId: query.targetId,\n\t\t\t};\n\t\t}\n\t\tif ('unpublished' in query) {\n\t\t\tdto.unpublished = query.unpublished;\n\t\t}\n\t\treturn dto;\n\t}\n\n\tstatic mapCreateNewsToDomain(params: CreateNewsParams): CreateNews {\n\t\tconst dto = {\n\t\t\ttitle: params.title,\n\t\t\tcontent: params.content,\n\t\t\tdisplayAt: params.displayAt,\n\t\t\ttarget: {\n\t\t\t\ttargetModel: params.targetModel as NewsTargetModel,\n\t\t\t\ttargetId: params.targetId,\n\t\t\t},\n\t\t};\n\t\treturn dto;\n\t}\n\n\tstatic mapUpdateNewsToDomain(params: UpdateNewsParams): IUpdateNews {\n\t\tconst dto = {\n\t\t\ttitle: params.title,\n\t\t\tcontent: params.content,\n\t\t\tdisplayAt: params.displayAt,\n\t\t};\n\t\treturn dto;\n\t}\n\n\tstatic mapToLogMessageData(news: News): LogMessageData {\n\t\tconst data = {\n\t\t\tentityType: 'News',\n\t\t\tid: news.id,\n\t\t\ttargetModel: news.targetModel,\n\t\t\ttargetId: news.target.id,\n\t\t};\n\n\t\treturn data;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/NewsModule.html":{"url":"modules/NewsModule.html","title":"module - NewsModule","body":"\n \n\n\n\n\n Modules\n NewsModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_NewsModule\n\n\n\ncluster_NewsModule_imports\n\n\n\ncluster_NewsModule_exports\n\n\n\ncluster_NewsModule_providers\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nNewsModule\n\nNewsModule\n\nNewsModule -->\n\nAuthorizationModule->NewsModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nNewsModule -->\n\nLoggerModule->NewsModule\n\n\n\n\n\nNewsUc \n\nNewsUc \n\nNewsUc -->\n\nNewsModule->NewsUc \n\n\n\n\n\nNewsRepo\n\nNewsRepo\n\nNewsModule -->\n\nNewsRepo->NewsModule\n\n\n\n\n\nNewsUc\n\nNewsUc\n\nNewsModule -->\n\nNewsUc->NewsModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/news/news.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n NewsRepo\n \n \n NewsUc\n \n \n \n \n Controllers\n \n \n NewsController\n \n \n TeamNewsController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n LoggerModule\n \n \n \n \n Exports\n \n \n NewsUc\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { NewsRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { NewsController } from './controller/news.controller';\nimport { TeamNewsController } from './controller/team-news.controller';\nimport { NewsUc } from './uc/news.uc';\n\n@Module({\n\timports: [AuthorizationModule, LoggerModule],\n\tcontrollers: [NewsController, TeamNewsController],\n\tproviders: [NewsUc, NewsRepo],\n\texports: [NewsUc],\n})\nexport class NewsModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/NewsProperties.html":{"url":"interfaces/NewsProperties.html","title":"interface - NewsProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n NewsProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/news.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n \n creator\n \n \n \n \n displayAt\n \n \n \n Optional\n \n externalId\n \n \n \n \n school\n \n \n \n Optional\n \n source\n \n \n \n Optional\n \n sourceDescription\n \n \n \n \n target\n \n \n \n \n title\n \n \n \n Optional\n \n updater\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n content\n \n \n \n \n \n \n \n \n content: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n creator\n \n \n \n \n \n \n \n \n creator: EntityId | User\n\n \n \n\n\n \n \n Type : EntityId | User\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n displayAt\n \n \n \n \n \n \n \n \n displayAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n externalId\n \n \n \n \n \n \n \n \n externalId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n \n \n school: EntityId | SchoolEntity\n\n \n \n\n\n \n \n Type : EntityId | SchoolEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n source\n \n \n \n \n \n \n \n \n source: \"internal\" | \"rss\"\n\n \n \n\n\n \n \n Type : \"internal\" | \"rss\"\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n sourceDescription\n \n \n \n \n \n \n \n \n sourceDescription: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n \n \n target: EntityId | NewsTarget\n\n \n \n\n\n \n \n Type : EntityId | NewsTarget\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n updater\n \n \n \n \n \n \n \n \n updater: User\n\n \n \n\n\n \n \n Type : User\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Enum, Index, ManyToOne, Property } from '@mikro-orm/core';\nimport { EntityId } from '../types';\nimport { NewsTarget, NewsTargetModel } from '../types/news.types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { TeamEntity } from './team.entity';\nimport type { User } from './user.entity';\n\nexport interface NewsProperties {\n\ttitle: string;\n\tcontent: string;\n\tdisplayAt: Date;\n\tschool: EntityId | SchoolEntity;\n\tcreator: EntityId | User;\n\ttarget: EntityId | NewsTarget;\n\n\texternalId?: string;\n\tsource?: 'internal' | 'rss';\n\tsourceDescription?: string;\n\tupdater?: User;\n}\n\n@Entity({\n\tdiscriminatorColumn: 'targetModel',\n\tabstract: true,\n})\n@Index({ properties: ['school', 'target'] })\n@Index({ properties: ['school', 'target', 'targetModel'] })\n@Index({ properties: ['target', 'targetModel'] })\nexport abstract class News extends BaseEntityWithTimestamps {\n\t/** the news title */\n\t@Property()\n\ttitle: string;\n\n\t/** the news content as html */\n\t@Property()\n\tcontent: string;\n\n\t/** only past news are visible for viewers, when edit permission, news visible in the future might be accessed too */\n\t@Property()\n\t@Index()\n\tdisplayAt: Date;\n\n\t@Property({ nullable: true })\n\texternalId?: string;\n\n\t@Property({ nullable: true })\n\tsource?: 'internal' | 'rss';\n\n\t@Property({ nullable: true })\n\tsourceDescription?: string;\n\n\t/** id reference to a collection populated later with name */\n\ttarget!: NewsTarget;\n\n\t/** name of a collection which is referenced in target */\n\t@Enum()\n\ttargetModel!: NewsTargetModel;\n\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool!: SchoolEntity;\n\n\t@ManyToOne('User', { fieldName: 'creatorId' })\n\tcreator!: User;\n\n\t@ManyToOne('User', { fieldName: 'updaterId', nullable: true })\n\tupdater?: User;\n\n\tpermissions: string[] = [];\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper();\n\t\tthis.title = props.title;\n\t\tthis.content = props.content;\n\t\tthis.displayAt = props.displayAt;\n\t\tObject.assign(this, { school: props.school, creator: props.creator, updater: props.updater, target: props.target });\n\t\tthis.externalId = props.externalId;\n\t\tthis.source = props.source;\n\t\tthis.sourceDescription = props.sourceDescription;\n\t}\n\n\tstatic createInstance(targetModel: NewsTargetModel, props: NewsProperties): News {\n\t\tlet news: News;\n\t\tif (targetModel === NewsTargetModel.Course) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new CourseNews(props);\n\t\t} else if (targetModel === NewsTargetModel.Team) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new TeamNews(props);\n\t\t} else {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new SchoolNews(props);\n\t\t}\n\t\treturn news;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.School })\nexport class SchoolNews extends News {\n\t@ManyToOne(() => SchoolEntity)\n\ttarget!: SchoolEntity;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.School;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.Course })\nexport class CourseNews extends News {\n\t// FIXME Due to a weird behaviour in the mikro-orm validation we have to\n\t// disable the validation by setting the reference nullable.\n\t// Remove when fixed in mikro-orm.\n\t@ManyToOne('Course', { nullable: true })\n\ttarget!: Course;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.Course;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.Team })\nexport class TeamNews extends News {\n\t@ManyToOne('TeamEntity')\n\ttarget!: TeamEntity;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.Team;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/NewsRepo.html":{"url":"injectables/NewsRepo.html","title":"injectable - NewsRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n NewsRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/news/news.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n propertiesToPopulate\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findAllPublished\n \n \n Async\n findAllUnpublishedByUser\n \n \n Private\n Async\n findNewsAndCount\n \n \n Async\n findOneById\n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findAllPublished\n \n \n \n \n \n \n \n findAllPublished(targets: NewsTargetFilter[], options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/news/news.repo.ts:23\n \n \n\n\n \n \n Find news\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n targets\n \n NewsTargetFilter[]\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllUnpublishedByUser\n \n \n \n \n \n \n \n findAllUnpublishedByUser(targets: NewsTargetFilter[], creatorId: EntityId, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/news/news.repo.ts:38\n \n \n\n\n \n \n Find news\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n targets\n \n NewsTargetFilter[]\n \n\n \n No\n \n\n\n \n \n \n \n creatorId\n \n EntityId\n \n\n \n No\n \n\n\n \n \ncreatorId\n\n\n \n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findNewsAndCount\n \n \n \n \n \n \n \n findNewsAndCount(query: FilterQuery, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/news/news.repo.ts:60\n \n \n\n\n \n \n resolves a news documents list with some elements (school, target, and updator/creator) populated already\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findOneById\n \n \n \n \n \n \n \n findOneById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/news/news.repo.ts:53\n \n \n\n\n \n \n resolves a news document with some elements (school, target, and updator/creator) populated already\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n propertiesToPopulate\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : ['school', 'target', 'creator', 'updater']\n \n \n \n \n Defined in apps/server/src/shared/repo/news/news.repo.ts:12\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/news/news.repo.ts:14\n \n \n\n \n \n\n \n\n\n \n import { FilterQuery, QueryOrderMap } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\nimport { CourseNews, News, SchoolNews, TeamNews } from '@shared/domain/entity';\nimport { IFindOptions } from '@shared/domain/interface';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '@shared/repo/base.repo';\nimport { NewsScope } from './news-scope';\nimport { NewsTargetFilter } from './news-target-filter';\n\n@Injectable()\nexport class NewsRepo extends BaseRepo {\n\tpropertiesToPopulate = ['school', 'target', 'creator', 'updater'];\n\n\tget entityName() {\n\t\treturn News;\n\t}\n\n\t/**\n\t * Find news\n\t * @param targets\n\t * @param options\n\t */\n\tasync findAllPublished(targets: NewsTargetFilter[], options?: IFindOptions): Promise> {\n\t\tconst scope = new NewsScope();\n\t\tscope.byTargets(targets);\n\t\tscope.byPublished();\n\n\t\tconst countedNewsList = await this.findNewsAndCount(scope.query, options);\n\t\treturn countedNewsList;\n\t}\n\n\t/**\n\t * Find news\n\t * @param targets\n\t * @param creatorId - creatorId\n\t * @param options\n\t */\n\tasync findAllUnpublishedByUser(\n\t\ttargets: NewsTargetFilter[],\n\t\tcreatorId: EntityId,\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst scope = new NewsScope();\n\t\tscope.byTargets(targets);\n\t\tscope.byUnpublished();\n\t\tscope.byCreator(creatorId);\n\n\t\tconst countedNewsList = await this.findNewsAndCount(scope.query, options);\n\t\treturn countedNewsList;\n\t}\n\n\t/** resolves a news document with some elements (school, target, and updator/creator) populated already */\n\tasync findOneById(id: EntityId): Promise {\n\t\tconst newsEntity = await this._em.findOneOrFail(News, id);\n\t\tawait this._em.populate(newsEntity, this.propertiesToPopulate as never[]);\n\t\treturn newsEntity;\n\t}\n\n\t/** resolves a news documents list with some elements (school, target, and updator/creator) populated already */\n\tprivate async findNewsAndCount(query: FilterQuery, options?: IFindOptions): Promise> {\n\t\tconst { pagination, order } = options || {};\n\t\tconst [newsEntities, count] = await this._em.findAndCount(News, query, {\n\t\t\t...pagination,\n\t\t\torderBy: order as QueryOrderMap,\n\t\t});\n\t\tawait this._em.populate(newsEntities, this.propertiesToPopulate as never[]);\n\t\t// populate target for all inheritances of news which not works when the list contains different types\n\t\tconst discriminatorColumn = 'target';\n\t\tconst schoolNews = newsEntities.filter((news) => news instanceof SchoolNews);\n\t\tawait this._em.populate(schoolNews, [discriminatorColumn]);\n\t\tconst teamNews = newsEntities.filter((news) => news instanceof TeamNews);\n\t\tawait this._em.populate(teamNews, [discriminatorColumn]);\n\t\tconst courseNews = newsEntities.filter((news) => news instanceof CourseNews);\n\t\tawait this._em.populate(courseNews, [discriminatorColumn]);\n\t\treturn [newsEntities, count];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/NewsResponse.html":{"url":"classes/NewsResponse.html","title":"class - NewsResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n NewsResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/dto/news.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n createdAt\n \n \n \n creator\n \n \n \n displayAt\n \n \n \n id\n \n \n \n permissions\n \n \n \n school\n \n \n \n Optional\n source\n \n \n \n Optional\n sourceDescription\n \n \n \n target\n \n \n \n targetId\n \n \n \n targetModel\n \n \n \n title\n \n \n \n updatedAt\n \n \n \n Optional\n updater\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: NewsResponse)\n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n NewsResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Content of the News entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:61\n \n \n\n\n \n \n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The creation timestamp'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:116\n \n \n\n\n \n \n \n \n \n \n \n \n \n creator\n \n \n \n \n \n \n Type : UserInfoResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Reference to the User that created the News entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:106\n \n \n\n\n \n \n \n \n \n \n \n \n \n displayAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The point in time from when the News entity schould be displayed'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:66\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The id of the News entity', pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:51\n \n \n\n\n \n \n \n \n \n \n \n \n \n permissions\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'List of permissions the current user has for the News entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:126\n \n \n\n\n \n \n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n Type : SchoolInfoResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The School ownership'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:101\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n source\n \n \n \n \n \n \n Type : SourceType\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({type: 'string', enum: NEWS_SOURCES, description: 'The type of source of the News entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:73\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n sourceDescription\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The source description of the News entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:78\n \n \n\n\n \n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : TargetInfoResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The target object with id and name, could be the school, team, or course name'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:96\n \n \n\n\n \n \n \n \n \n \n \n \n \n targetId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}', description: 'Specific target id to which the News entity is related'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:91\n \n \n\n\n \n \n \n \n \n \n \n \n \n targetModel\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: TARGET_MODEL_VALUES, enumName: 'NewsTargetModel', description: 'Target model to which the News entity is related'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:85\n \n \n\n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Title of the News entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:56\n \n \n\n\n \n \n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The update timestamp'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:121\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n updater\n \n \n \n \n \n \n Type : UserInfoResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Reference to the User that updated the News entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:111\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { PaginationResponse } from '@shared/controller';\nimport { NewsTargetModel } from '@shared/domain/types';\nimport { SchoolInfoResponse } from './school-info.response';\nimport { TargetInfoResponse } from './target-info.response';\nimport { UserInfoResponse } from './user-info.response';\n\nconst NEWS_SOURCES = ['internal', 'rss'] as const;\nconst TARGET_MODEL_VALUES = Object.values(NewsTargetModel);\n\ntype SourceType = typeof NEWS_SOURCES[number];\nexport class NewsResponse {\n\tconstructor({\n\t\tid,\n\t\ttitle,\n\t\tcontent,\n\t\tdisplayAt,\n\t\tsource,\n\t\tsourceDescription,\n\t\ttargetModel,\n\t\ttargetId,\n\t\ttarget,\n\t\tschool,\n\t\tcreator,\n\t\tupdater,\n\t\tcreatedAt,\n\t\tupdatedAt,\n\t\tpermissions,\n\t}: NewsResponse) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.content = content;\n\t\tthis.displayAt = displayAt;\n\t\tthis.source = source;\n\t\tthis.sourceDescription = sourceDescription;\n\t\tthis.targetModel = targetModel;\n\t\tthis.targetId = targetId;\n\t\tthis.target = target;\n\t\tthis.school = school;\n\t\tthis.creator = creator;\n\t\tthis.updater = updater;\n\t\tthis.createdAt = createdAt;\n\t\tthis.updatedAt = updatedAt;\n\t\tthis.permissions = permissions;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the News entity',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Title of the News entity',\n\t})\n\ttitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Content of the News entity',\n\t})\n\tcontent: string;\n\n\t@ApiProperty({\n\t\tdescription: 'The point in time from when the News entity schould be displayed',\n\t})\n\tdisplayAt: Date;\n\n\t@ApiPropertyOptional({\n\t\ttype: 'string',\n\t\tenum: NEWS_SOURCES,\n\t\tdescription: 'The type of source of the News entity',\n\t})\n\tsource?: SourceType;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'The source description of the News entity',\n\t})\n\tsourceDescription?: string;\n\n\t@ApiProperty({\n\t\tenum: TARGET_MODEL_VALUES,\n\t\tenumName: 'NewsTargetModel',\n\t\tdescription: 'Target model to which the News entity is related',\n\t})\n\ttargetModel: string;\n\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'Specific target id to which the News entity is related',\n\t})\n\ttargetId: string;\n\n\t@ApiProperty({\n\t\tdescription: 'The target object with id and name, could be the school, team, or course name',\n\t})\n\ttarget: TargetInfoResponse;\n\n\t@ApiProperty({\n\t\tdescription: 'The School ownership',\n\t})\n\tschool: SchoolInfoResponse;\n\n\t@ApiProperty({\n\t\tdescription: 'Reference to the User that created the News entity',\n\t})\n\tcreator: UserInfoResponse;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Reference to the User that updated the News entity',\n\t})\n\tupdater?: UserInfoResponse;\n\n\t@ApiProperty({\n\t\tdescription: 'The creation timestamp',\n\t})\n\tcreatedAt: Date;\n\n\t@ApiProperty({\n\t\tdescription: 'The update timestamp',\n\t})\n\tupdatedAt: Date;\n\n\t@ApiProperty({\n\t\tdescription: 'List of permissions the current user has for the News entity',\n\t})\n\tpermissions: string[];\n}\n\nexport class NewsListResponse extends PaginationResponse {\n\tconstructor(data: NewsResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [NewsResponse] })\n\tdata: NewsResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/NewsScope.html":{"url":"classes/NewsScope.html","title":"class - NewsScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n NewsScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/news/news-scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n byCreator\n \n \n byPublished\n \n \n byTargets\n \n \n byUnpublished\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n byCreator\n \n \n \n \n \n \nbyCreator(creatorId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/news/news-scope.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n creatorId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : NewsScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byPublished\n \n \n \n \n \n \nbyPublished()\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/news/news-scope.ts:26\n \n \n\n\n \n \n\n \n Returns : NewsScope\n\n \n \n \n \n \n \n \n \n \n \n \n byTargets\n \n \n \n \n \n \nbyTargets(targets: NewsTargetFilter[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/news/news-scope.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n targets\n \n NewsTargetFilter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : NewsScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byUnpublished\n \n \n \n \n \n \nbyUnpublished()\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/news/news-scope.ts:32\n \n \n\n\n \n \n\n \n Returns : NewsScope\n\n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { FilterQuery } from '@mikro-orm/core';\nimport { News } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { EmptyResultQuery } from '../query';\nimport { Scope } from '../scope';\nimport { NewsTargetFilter } from './news-target-filter';\n\nexport class NewsScope extends Scope {\n\tbyTargets(targets: NewsTargetFilter[]): NewsScope {\n\t\tconst queries: FilterQuery[] = targets.map((target) => {\n\t\t\treturn {\n\t\t\t\t$and: [{ targetModel: target.targetModel }, { 'target:in': target.targetIds }],\n\t\t\t};\n\t\t});\n\t\tif (queries.length === 0) {\n\t\t\t// mission impossile query to ensure empty query result\n\t\t\tthis.addQuery(EmptyResultQuery);\n\t\t} else if (queries.length === 1) {\n\t\t\tthis.addQuery(queries[0]);\n\t\t} else {\n\t\t\tthis.addQuery({ $or: queries });\n\t\t}\n\t\treturn this;\n\t}\n\n\tbyPublished(): NewsScope {\n\t\tconst now = new Date();\n\t\tthis.addQuery({ displayAt: { $lte: now } });\n\t\treturn this;\n\t}\n\n\tbyUnpublished(): NewsScope {\n\t\tconst now = new Date();\n\t\tthis.addQuery({ displayAt: { $gt: now } });\n\t\treturn this;\n\t}\n\n\tbyCreator(creatorId: EntityId): NewsScope {\n\t\tif (creatorId !== undefined) {\n\t\t\tthis.addQuery({ creator: creatorId });\n\t\t}\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/NewsTargetFilter.html":{"url":"interfaces/NewsTargetFilter.html","title":"interface - NewsTargetFilter","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n NewsTargetFilter\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/news/news-target-filter.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n targetIds\n \n \n \n \n targetModel\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n targetIds\n \n \n \n \n \n \n \n \n targetIds: EntityId[]\n\n \n \n\n\n \n \n Type : EntityId[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n targetModel\n \n \n \n \n \n \n \n \n targetModel: NewsTargetModel\n\n \n \n\n\n \n \n Type : NewsTargetModel\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId, NewsTargetModel } from '@shared/domain/types';\n\nexport interface NewsTargetFilter {\n\ttargetModel: NewsTargetModel;\n\ttargetIds: EntityId[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/NewsUc.html":{"url":"injectables/NewsUc.html","title":"injectable - NewsUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n NewsUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/uc/news.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n create\n \n \n Public\n Async\n delete\n \n \n Public\n Async\n findAllForUser\n \n \n Public\n Async\n findOneByIdForUser\n \n \n Private\n Async\n getNewsPermissions\n \n \n Private\n Async\n getPermittedTargets\n \n \n Private\n Static\n getRequiredPermissions\n \n \n Private\n Async\n getTargetFilters\n \n \n Public\n Async\n update\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(newsRepo: NewsRepo, authorizationService: FeathersAuthorizationService, logger: Logger)\n \n \n \n \n Defined in apps/server/src/modules/news/uc/news.uc.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n newsRepo\n \n \n NewsRepo\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n FeathersAuthorizationService\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n create\n \n \n \n \n \n \n \n create(userId: EntityId, schoolId: EntityId, params: CreateNews)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/uc/news.uc.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n params\n \n CreateNews\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n delete\n \n \n \n \n \n \n \n delete(id: EntityId, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/uc/news.uc.ts:139\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findAllForUser\n \n \n \n \n \n \n \n findAllForUser(userId: EntityId, scope?: INewsScope, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/uc/news.uc.ts:58\n \n \n\n\n \n \n Provides news for a user, by default odered by displayAt to show latest news first.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n scope\n \n INewsScope\n \n\n \n Yes\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findOneByIdForUser\n \n \n \n \n \n \n \n findOneByIdForUser(id: EntityId, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/uc/news.uc.ts:91\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getNewsPermissions\n \n \n \n \n \n \n \n getNewsPermissions(userId: EntityId, news: News)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/uc/news.uc.ts:188\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n news\n \n News\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getPermittedTargets\n \n \n \n \n \n \n \n getPermittedTargets(userId: EntityId, scope: INewsScope | undefined, permissions: NewsPermission[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/uc/news.uc.ts:150\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n scope\n \n INewsScope | undefined\n \n\n \n No\n \n\n\n \n \n permissions\n \n NewsPermission[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n getRequiredPermissions\n \n \n \n \n \n \n \n getRequiredPermissions(unpublished: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/uc/news.uc.ts:198\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n unpublished\n \n boolean\n \n\n \n No\n \n\n\n \n news with displayAt set to future date are not published for users with view permission\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getTargetFilters\n \n \n \n \n \n \n \n getTargetFilters(userId: EntityId, targetModels: NewsTargetModel[], permissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/uc/news.uc.ts:170\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetModels\n \n NewsTargetModel[]\n \n\n \n No\n \n\n\n \n \n permissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n update\n \n \n \n \n \n \n \n update(id: EntityId, userId: EntityId, params: IUpdateNews)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/uc/news.uc.ts:113\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n params\n \n IUpdateNews\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { FeathersAuthorizationService } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport { News } from '@shared/domain/entity';\nimport { IFindOptions, Permission, SortOrder } from '@shared/domain/interface';\nimport { Counted, CreateNews, EntityId, INewsScope, IUpdateNews, NewsTargetModel } from '@shared/domain/types';\nimport { NewsRepo, NewsTargetFilter } from '@shared/repo';\nimport { CrudOperation } from '@shared/types';\nimport { Logger } from '@src/core/logger';\nimport { NewsCrudOperationLoggable } from '../loggable/news-crud-operation.loggable';\n\ntype NewsPermission = Permission.NEWS_VIEW | Permission.NEWS_EDIT;\n\n@Injectable()\nexport class NewsUc {\n\tconstructor(\n\t\tprivate newsRepo: NewsRepo,\n\t\tprivate authorizationService: FeathersAuthorizationService,\n\t\tprivate logger: Logger\n\t) {\n\t\tthis.logger.setContext(NewsUc.name);\n\t}\n\n\t/**\n\t *\n\t * @param userId\n\t * @param schoolId\n\t * @param params\n\t * @returns\n\t */\n\tpublic async create(userId: EntityId, schoolId: EntityId, params: CreateNews): Promise {\n\t\tconst { targetModel, targetId } = params.target;\n\t\tawait this.authorizationService.checkEntityPermissions(userId, targetModel, targetId, [Permission.NEWS_CREATE]);\n\n\t\tconst { target, displayAt: paramDisplayAt, ...props } = params;\n\t\t// set news as published by default\n\t\tconst displayAt = paramDisplayAt || new Date();\n\t\tconst news = News.createInstance(targetModel, {\n\t\t\t...props,\n\t\t\tdisplayAt,\n\t\t\tschool: schoolId,\n\t\t\tcreator: userId,\n\t\t\ttarget: targetId,\n\t\t});\n\t\tawait this.newsRepo.save(news);\n\n\t\tthis.logger.info(new NewsCrudOperationLoggable(CrudOperation.CREATE, userId, news));\n\n\t\treturn news;\n\t}\n\n\t/**\n\t * Provides news for a user, by default odered by displayAt to show latest news first.\n\t * @param userId\n\t * @param scope\n\t * @param pagination\n\t * @returns\n\t */\n\tpublic async findAllForUser(\n\t\tuserId: EntityId,\n\t\tscope?: INewsScope,\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst unpublished = !!scope?.unpublished; // default is only published news\n\t\tconst permissions: [NewsPermission] = NewsUc.getRequiredPermissions(unpublished);\n\n\t\tconst targets = await this.getPermittedTargets(userId, scope, permissions);\n\n\t\tif (options == null) options = {};\n\t\t// by default show latest news first\n\t\tif (options.order == null) options.order = { displayAt: SortOrder.desc };\n\n\t\tconst [newsList, newsCount] = unpublished\n\t\t\t? await this.newsRepo.findAllUnpublishedByUser(targets, userId, options)\n\t\t\t: await this.newsRepo.findAllPublished(targets, options);\n\n\t\tawait Promise.all(\n\t\t\tnewsList.map(async (news: News) => {\n\t\t\t\tnews.permissions = await this.getNewsPermissions(userId, news);\n\t\t\t})\n\t\t);\n\n\t\treturn [newsList, newsCount];\n\t}\n\n\t/**\n\t *\n\t * @param id\n\t * @param userId\n\t * @returns\n\t */\n\tpublic async findOneByIdForUser(id: EntityId, userId: EntityId): Promise {\n\t\tconst news = await this.newsRepo.findOneById(id);\n\t\tconst isPublished = news.displayAt > new Date();\n\t\tconst requiredPermissions = NewsUc.getRequiredPermissions(isPublished);\n\t\tawait this.authorizationService.checkEntityPermissions(\n\t\t\tuserId,\n\t\t\tnews.targetModel,\n\t\t\tnews.target.id,\n\t\t\trequiredPermissions\n\t\t);\n\t\tnews.permissions = await this.getNewsPermissions(userId, news);\n\n\t\treturn news;\n\t}\n\n\t/**\n\t *\n\t * @param id\n\t * @param userId\n\t * @param params\n\t * @returns\n\t */\n\tpublic async update(id: EntityId, userId: EntityId, params: IUpdateNews): Promise {\n\t\tconst news = await this.newsRepo.findOneById(id);\n\t\tawait this.authorizationService.checkEntityPermissions(userId, news.targetModel, news.target.id, [\n\t\t\tPermission.NEWS_EDIT,\n\t\t]);\n\n\t\t// eslint-disable-next-line no-restricted-syntax\n\t\tfor (const [key, value] of Object.entries(params)) {\n\t\t\tif (value) {\n\t\t\t\tnews[key] = value;\n\t\t\t}\n\t\t}\n\n\t\tawait this.newsRepo.save(news);\n\n\t\tthis.logger.info(new NewsCrudOperationLoggable(CrudOperation.UPDATE, userId, news));\n\n\t\treturn news;\n\t}\n\n\t/**\n\t *\n\t * @param id\n\t * @param userId\n\t * @returns\n\t */\n\tpublic async delete(id: EntityId, userId: EntityId): Promise {\n\t\tconst news = await this.newsRepo.findOneById(id);\n\t\tawait this.authorizationService.checkEntityPermissions(userId, news.targetModel, news.target.id, ['NEWS_EDIT']);\n\n\t\tawait this.newsRepo.delete(news);\n\n\t\tthis.logger.info(new NewsCrudOperationLoggable(CrudOperation.DELETE, userId, news));\n\n\t\treturn id;\n\t}\n\n\tprivate async getPermittedTargets(userId: EntityId, scope: INewsScope | undefined, permissions: NewsPermission[]) {\n\t\tlet targets: NewsTargetFilter[];\n\n\t\tif (scope?.target == null) {\n\t\t\t// for all target models\n\t\t\ttargets = await this.getTargetFilters(userId, Object.values(NewsTargetModel), permissions);\n\t\t} else {\n\t\t\tconst { targetModel, targetId } = scope.target;\n\t\t\tif (targetModel && targetId) {\n\t\t\t\t// for specific news target\n\t\t\t\tawait this.authorizationService.checkEntityPermissions(userId, targetModel, targetId, permissions);\n\t\t\t\ttargets = [{ targetModel, targetIds: [targetId] }];\n\t\t\t} else {\n\t\t\t\t// for single target model\n\t\t\t\ttargets = await this.getTargetFilters(userId, [targetModel], permissions);\n\t\t\t}\n\t\t}\n\t\treturn targets;\n\t}\n\n\tprivate async getTargetFilters(\n\t\tuserId: EntityId,\n\t\ttargetModels: NewsTargetModel[],\n\t\tpermissions: string[]\n\t): Promise {\n\t\tconst targets = await Promise.all(\n\t\t\ttargetModels.map(async (targetModel) => {\n\t\t\t\treturn {\n\t\t\t\t\ttargetModel,\n\t\t\t\t\ttargetIds: await this.authorizationService.getPermittedEntities(userId, targetModel, permissions),\n\t\t\t\t};\n\t\t\t})\n\t\t);\n\t\tconst nonEmptyTargets = targets.filter((target) => target.targetIds.length > 0);\n\n\t\treturn nonEmptyTargets;\n\t}\n\n\tprivate async getNewsPermissions(userId: EntityId, news: News): Promise {\n\t\tconst permissions = await this.authorizationService.getEntityPermissions(userId, news.targetModel, news.target.id);\n\t\treturn permissions.filter((permission) => permission.includes('NEWS'));\n\t}\n\n\t/**\n\t *\n\t * @param unpublished news with displayAt set to future date are not published for users with view permission\n\t * @returns\n\t */\n\tprivate static getRequiredPermissions(unpublished: boolean): [NewsPermission] {\n\t\treturn unpublished ? [Permission.NEWS_EDIT] : [Permission.NEWS_VIEW];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/NewsUrlParams.html":{"url":"classes/NewsUrlParams.html","title":"class - NewsUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n NewsUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/dto/news.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n newsId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n newsId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the news.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class NewsUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the news.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tnewsId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/NexboardService.html":{"url":"injectables/NexboardService.html","title":"injectable - NexboardService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n NexboardService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/lesson/service/nexboard.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createNexboard\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(feathersServiceProvider: FeathersServiceProvider, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/lesson/service/nexboard.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n feathersServiceProvider\n \n \n FeathersServiceProvider\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createNexboard\n \n \n \n \n \n \n \n createNexboard(userId: EntityId, title: string, description: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/service/nexboard.service.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n title\n \n string\n \n\n \n No\n \n\n\n \n \n description\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { FeathersServiceProvider } from '@infra/feathers/feathers-service.provider';\nimport { LegacyLogger } from '@src/core/logger';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\n\nexport type NexboardResponse = { id: string; publicLink: string };\n\n@Injectable()\nexport class NexboardService {\n\tconstructor(private readonly feathersServiceProvider: FeathersServiceProvider, private logger: LegacyLogger) {}\n\n\tasync createNexboard(\n\t\tuserId: EntityId,\n\t\ttitle: string,\n\t\tdescription: string\n\t): Promise {\n\t\tconst data = {\n\t\t\ttitle,\n\t\t\tdescription,\n\t\t};\n\t\ttry {\n\t\t\tconst service = this.feathersServiceProvider.getService('/nexboard/boards');\n\t\t\tconst nexBoard = (await service.create(data, { account: { userId } })) as NexboardResponse;\n\t\t\treturn { board: nexBoard.id, url: nexBoard.publicLink };\n\t\t} catch (error) {\n\t\t\tthis.logger.error('Could not create new Nexboard', error);\n\t\t\treturn false;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/NextcloudGroups.html":{"url":"interfaces/NextcloudGroups.html","title":"interface - NextcloudGroups","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n NextcloudGroups\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n groups\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n groups\n \n \n \n \n \n \n \n \n groups: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface NextcloudGroups {\n\tgroups: string[];\n}\n\nexport interface OcsResponse {\n\tocs: {\n\t\tdata: T;\n\t\tmeta: Meta;\n\t};\n}\n\nexport interface Meta {\n\tstatus: string;\n\tstatuscode: number;\n\tmessage: string;\n\ttotalitems: string;\n\titemsperpage: string;\n}\n\nexport interface SuccessfulRes {\n\tsuccess: boolean;\n}\n\nexport interface GroupUsers {\n\tusers: string[];\n}\n\n// Groupfolders Responses\n\nexport interface GroupfoldersFolder {\n\tfolder_id: number;\n}\n\nexport interface GroupfoldersCreated {\n\tid: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/NextcloudStrategy.html":{"url":"injectables/NextcloudStrategy.html","title":"injectable - NextcloudStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n NextcloudStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.strategy.ts\n \n\n\n \n Description\n \n \n Nextcloud Strategy Implementation for Collaborative Storage\n\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createTeam\n \n \n Async\n deleteTeam\n \n \n Private\n Async\n findLegacyLtiTool\n \n \n Private\n Async\n findNextcloudTool\n \n \n Protected\n Static\n generateGroupFolderName\n \n \n Protected\n Static\n generateGroupId\n \n \n Async\n updateTeam\n \n \n Async\n updateTeamPermissionsForRole\n \n \n Protected\n Async\n updateTeamUsersInGroup\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: LegacyLogger, client: NextcloudClient, pseudonymService: PseudonymService, ltiToolRepo: LtiToolRepo, externalToolService: ExternalToolService, userService: UserService)\n \n \n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.strategy.ts:21\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n client\n \n \n NextcloudClient\n \n \n \n No\n \n \n \n \n pseudonymService\n \n \n PseudonymService\n \n \n \n No\n \n \n \n \n ltiToolRepo\n \n \n LtiToolRepo\n \n \n \n No\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createTeam\n \n \n \n \n \n \n \n createTeam(team: TeamDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.strategy.ts:75\n \n \n\n\n \n \n Creates a team in nextcloud.\nThis includes the creation of the related group, its groupfolder and the adding of the teamUsers (the creator).\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n schulcloud team\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteTeam\n \n \n \n \n \n \n \n deleteTeam(teamId: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.strategy.ts:59\n \n \n\n\n \n \n Deletes a whole team in nextcloud.\nThis includes the related group in nextcloud and the groupfolder of the group.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n teamId\n \n string\n \n\n \n No\n \n\n\n \n id of the schulcloud team\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findLegacyLtiTool\n \n \n \n \n \n \n \n findLegacyLtiTool()\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.strategy.ts:172\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findNextcloudTool\n \n \n \n \n \n \n \n findNextcloudTool()\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.strategy.ts:158\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n Static\n generateGroupFolderName\n \n \n \n \n \n \n \n generateGroupFolderName(teamId: string, teamName: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.strategy.ts:192\n \n \n\n\n \n \n Generates the groupfolder name by concatenating the teamId and teamName.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n teamId\n \n string\n \n\n \n No\n \n\n\n \n id of the team\n\n \n \n \n teamName\n \n string\n \n\n \n No\n \n\n\n \n name of the team\n\n \n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Static\n generateGroupId\n \n \n \n \n \n \n \n generateGroupId(dto: TeamRolePermissionsDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.strategy.ts:202\n \n \n\n\n \n \n Generates groupId of the nextcloud group by concatenating some TeamRolePermissionsDto properties.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n dto\n \n TeamRolePermissionsDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateTeam\n \n \n \n \n \n \n \n updateTeam(team: TeamDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.strategy.ts:98\n \n \n\n\n \n \n Updates a team in nextcloud.\nThis includes the teamuser and the displayname of the team.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n schulcloud team\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateTeamPermissionsForRole\n \n \n \n \n \n \n \n updateTeamPermissionsForRole(dto: TeamRolePermissionsDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.strategy.ts:38\n \n \n\n\n \n \n At the moment unused.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n dto\n \n TeamRolePermissionsDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n updateTeamUsersInGroup\n \n \n \n \n \n \n \n updateTeamUsersInGroup(groupId: string, teamUsers: TeamUserDto[])\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.strategy.ts:129\n \n \n\n\n \n \n Updating nextcloud group to be in sync with schulcloud team members.\nTo do this, we have to get the link between the school cloud user ID and the Nextcloud user ID from the\npseudonym table and distinguish between added and deleted users.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n groupId\n \n string\n \n\n \n No\n \n\n\n \n nextclouds groupId\n\n \n \n \n teamUsers\n \n TeamUserDto[]\n \n\n \n No\n \n\n\n \n all users of a TeamDto\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { TeamDto, TeamUserDto } from '@modules/collaborative-storage';\nimport { PseudonymService } from '@modules/pseudonym';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { ExternalToolService } from '@modules/tool/external-tool/service';\nimport { UserService } from '@modules/user';\nimport { Injectable, UnprocessableEntityException } from '@nestjs/common';\nimport { Pseudonym, UserDO } from '@shared/domain/domainobject';\nimport { LtiToolDO } from '@shared/domain/domainobject/ltitool.do';\nimport { LtiToolRepo } from '@shared/repo/ltitool/';\nimport { LegacyLogger } from '@src/core/logger';\nimport { TeamRolePermissionsDto } from '../../dto/team-role-permissions.dto';\nimport { CollaborativeStorageStrategy } from '../base.interface.strategy';\nimport { NextcloudClient } from './nextcloud.client';\n\n/**\n * Nextcloud Strategy Implementation for Collaborative Storage\n *\n * @implements {CollaborativeStorageStrategy}\n */\n@Injectable()\nexport class NextcloudStrategy implements CollaborativeStorageStrategy {\n\tconstructor(\n\t\tprivate readonly logger: LegacyLogger,\n\t\tprivate readonly client: NextcloudClient,\n\t\tprivate readonly pseudonymService: PseudonymService,\n\t\tprivate readonly ltiToolRepo: LtiToolRepo,\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly userService: UserService\n\t) {\n\t\tthis.logger.setContext(NextcloudStrategy.name);\n\t}\n\n\t/**\n\t * At the moment unused.\n\t *\n\t * @param dto\n\t */\n\tasync updateTeamPermissionsForRole(dto: TeamRolePermissionsDto): Promise {\n\t\tconst groupId: string = await this.client.findGroupId(NextcloudStrategy.generateGroupId(dto));\n\t\tlet folderId: number;\n\n\t\ttry {\n\t\t\tfolderId = await this.client.findGroupFolderIdForGroupId(groupId);\n\t\t\tawait this.client.setGroupPermissions(groupId, folderId, dto.permissions);\n\t\t} catch (e) {\n\t\t\tthis.logger.log(\n\t\t\t\t`Permissions in nextcloud were not set because of missing groupId or folderId for teamId ${dto.teamId}`\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Deletes a whole team in nextcloud.\n\t *\n\t * This includes the related group in nextcloud and the groupfolder of the group.\n\t *\n\t * @param teamId id of the schulcloud team\n\t */\n\tasync deleteTeam(teamId: string): Promise {\n\t\tconst groupId: string = this.client.getNameWithPrefix(teamId);\n\t\tif (groupId) {\n\t\t\tconst folderId: number = await this.client.findGroupFolderIdForGroupId(groupId);\n\t\t\tawait this.client.deleteGroup(groupId);\n\t\t\tawait this.client.deleteGroupFolder(folderId);\n\t\t}\n\t}\n\n\t/**\n\t * Creates a team in nextcloud.\n\t *\n\t * This includes the creation of the related group, its groupfolder and the adding of the {@link TeamUserDto teamUsers} (the creator).\n\t *\n\t * @param team schulcloud team\n\t */\n\tasync createTeam(team: TeamDto): Promise {\n\t\tconst groupId: string = this.client.getNameWithPrefix(team.id);\n\n\t\tawait this.client.createGroup(groupId, team.name);\n\n\t\tawait this.updateTeamUsersInGroup(groupId, team.teamUsers);\n\n\t\tconst folderName: string = NextcloudStrategy.generateGroupFolderName(team.id, team.name);\n\t\t// TODO N21-124: move the creation of group folders from the schulcloud-nextcloud-app to here, when all existing teams are migrated to the nextcloud\n\t\t// Due to the schulcloud-nextcloud-app creating the group folder, when the group is created, it only needs to be renamed here\n\t\tconst folderId: number = await this.client.findGroupFolderIdForGroupId(groupId);\n\t\tawait this.client.changeGroupFolderName(folderId, folderName);\n\t\t// const folderId: number = await this.client.createGroupFolder(folderName);\n\t\t// await this.client.addAccessToGroupFolder(folderId, groupId);\n\t}\n\n\t/**\n\t * Updates a team in nextcloud.\n\t *\n\t * This includes the {@link TeamUserDto teamuser} and the displayname of the team.\n\t *\n\t * @param team schulcloud team\n\t */\n\tasync updateTeam(team: TeamDto): Promise {\n\t\tif (!team.id) {\n\t\t\tthrow new UnprocessableEntityException('Cannot update team without id');\n\t\t}\n\n\t\tconst groupId: string = this.client.getNameWithPrefix(team.id);\n\n\t\tif (team.teamUsers && team.teamUsers.length > 0) {\n\t\t\tawait this.updateTeamUsersInGroup(groupId, team.teamUsers);\n\t\t}\n\n\t\tif (team.name) {\n\t\t\tconst folderName: string = NextcloudStrategy.generateGroupFolderName(team.id, team.name);\n\n\t\t\tawait this.client.renameGroup(groupId, team.name);\n\n\t\t\tconst folderId: number = await this.client.findGroupFolderIdForGroupId(groupId);\n\t\t\tawait this.client.changeGroupFolderName(folderId, folderName);\n\t\t}\n\t}\n\n\t/**\n\t * Updating nextcloud group to be in sync with schulcloud team members.\n\t *\n\t * To do this, we have to get the link between the school cloud user ID and the Nextcloud user ID from the\n\t * pseudonym table and distinguish between added and deleted users.\n\t *\n\t * @param groupId nextclouds groupId\n\t * @param teamUsers all users of a {@link TeamDto}\n\t * @protected\n\t */\n\tprotected async updateTeamUsersInGroup(groupId: string, teamUsers: TeamUserDto[]): Promise {\n\t\tconst groupUserIds: string[] = await this.client.getGroupUsers(groupId);\n\t\tconst nextcloudTool: ExternalTool | LtiToolDO = await this.findNextcloudTool();\n\n\t\tlet convertedTeamUserIds: string[] = await Promise.all[]>(\n\t\t\t// The Oauth authentication generates a pseudonym which will be used from external systems as identifier\n\t\t\tteamUsers.map(async (teamUser: TeamUserDto): Promise => {\n\t\t\t\tconst user: UserDO = await this.userService.findById(teamUser.userId);\n\t\t\t\tconst userId = await this.pseudonymService\n\t\t\t\t\t.findByUserAndToolOrThrow(user, nextcloudTool)\n\t\t\t\t\t.then((pseudonymDO: Pseudonym) => this.client.getNameWithPrefix(pseudonymDO.pseudonym))\n\t\t\t\t\t.catch(() => '');\n\n\t\t\t\treturn userId;\n\t\t\t})\n\t\t);\n\t\tconvertedTeamUserIds = convertedTeamUserIds.filter(Boolean);\n\n\t\tconst removeUserIds: string[] = groupUserIds.filter((userId) => !convertedTeamUserIds.includes(userId));\n\t\tthis.logger.debug(`Removing nextcloud userIds [${removeUserIds.toString()}]`);\n\t\tconst addUserIds: string[] = convertedTeamUserIds.filter((userId) => !groupUserIds.includes(userId));\n\t\tthis.logger.debug(`Adding nextcloud userIds [${addUserIds.toString()}]`);\n\n\t\treturn Promise.all([\n\t\t\tPromise.all(removeUserIds.map((nextcloudUserId) => this.client.removeUserFromGroup(nextcloudUserId, groupId))),\n\t\t\tPromise.all(addUserIds.map((nextcloudUserId) => this.client.addUserToGroup(nextcloudUserId, groupId))),\n\t\t]);\n\t}\n\n\tprivate async findNextcloudTool(): Promise {\n\t\tconst tool: ExternalTool | null = await this.externalToolService.findExternalToolByName(\n\t\t\tthis.client.oidcInternalName\n\t\t);\n\n\t\tif (!tool) {\n\t\t\tconst ltiToolPromise: Promise = this.findLegacyLtiTool();\n\n\t\t\treturn ltiToolPromise;\n\t\t}\n\n\t\treturn tool;\n\t}\n\n\tprivate async findLegacyLtiTool(): Promise {\n\t\tconst foundTools: LtiToolDO[] = await this.ltiToolRepo.findByName(this.client.oidcInternalName);\n\n\t\tif (foundTools.length > 1) {\n\t\t\tthis.logger.warn(\n\t\t\t\t`Please check the configured lti tools. There should one be one tool with the name ${this.client.oidcInternalName}. \n\t\t\t\tOtherwise teams can not be created or updated on demand.`\n\t\t\t);\n\t\t}\n\n\t\treturn foundTools[0];\n\t}\n\n\t/**\n\t * Generates the groupfolder name by concatenating the teamId and teamName.\n\t *\n\t * @param teamId id of the team\n\t * @param teamName name of the team\n\t * @protected\n\t */\n\tprotected static generateGroupFolderName(teamId: string, teamName: string): string {\n\t\treturn `${teamName} (${teamId})`;\n\t}\n\n\t/**\n\t * Generates groupId of the nextcloud group by concatenating some {@link TeamRolePermissionsDto} properties.\n\t *\n\t * @param dto\n\t * @protected\n\t */\n\tprotected static generateGroupId(dto: TeamRolePermissionsDto): string {\n\t\treturn `${dto.teamName}-${dto.teamId}-${dto.roleName}`;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/NotFoundLoggableException.html":{"url":"classes/NotFoundLoggableException.html","title":"class - NotFoundLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n NotFoundLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/loggable-exception/not-found.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n NotFoundException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(resourceName: string, identifierName: string, resourceId: string)\n \n \n \n \n Defined in apps/server/src/shared/common/loggable-exception/not-found.loggable-exception.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n resourceName\n \n \n string\n \n \n \n No\n \n \n \n \n identifierName\n \n \n string\n \n \n \n No\n \n \n \n \n resourceId\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/shared/common/loggable-exception/not-found.loggable-exception.ts:14\n \n \n\n\n \n \n\n \n Returns : ErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { NotFoundException } from '@nestjs/common';\nimport { Loggable } from '@src/core/logger/interfaces';\nimport { ErrorLogMessage } from '@src/core/logger/types';\n\nexport class NotFoundLoggableException extends NotFoundException implements Loggable {\n\tconstructor(\n\t\tprivate readonly resourceName: string,\n\t\tprivate readonly identifierName: string,\n\t\tprivate readonly resourceId: string\n\t) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): ErrorLogMessage {\n\t\tconst message: ErrorLogMessage = {\n\t\t\ttype: 'NOT_FOUND',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tresourceName: this.resourceName,\n\t\t\t\t[this.identifierName]: this.resourceId,\n\t\t\t},\n\t\t};\n\n\t\treturn message;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OAuth2ToolLaunchStrategy.html":{"url":"injectables/OAuth2ToolLaunchStrategy.html","title":"injectable - OAuth2ToolLaunchStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OAuth2ToolLaunchStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/service/launch-strategy/oauth2-tool-launch.strategy.ts\n \n\n\n\n \n Extends\n \n \n AbstractLaunchStrategy\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n autoParameterStrategyMap\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n \n buildToolLaunchDataFromConcreteConfig\n \n \n Public\n \n buildToolLaunchRequestPayload\n \n \n Public\n \n determineLaunchRequestMethod\n \n \n Private\n Async\n addParameters\n \n \n Private\n addProperty\n \n \n Private\n applyPropertiesToPathParams\n \n \n Private\n buildToolLaunchDataFromExternalTool\n \n \n Private\n Async\n buildToolLaunchDataFromTools\n \n \n Private\n buildUrl\n \n \n Public\n Async\n createLaunchData\n \n \n Public\n createLaunchRequest\n \n \n Private\n Async\n getParameterValue\n \n \n Private\n Async\n handleParametersToInclude\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n \n buildToolLaunchDataFromConcreteConfig\n \n \n \n \n \n \n \n buildToolLaunchDataFromConcreteConfig(userId: EntityId, data: ToolLaunchParams)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:9\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n data\n \n ToolLaunchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n \n buildToolLaunchRequestPayload\n \n \n \n \n \n \n \n buildToolLaunchRequestPayload(url: string, properties: PropertyData[])\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n properties\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string | null\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n \n determineLaunchRequestMethod\n \n \n \n \n \n \n \n determineLaunchRequestMethod(properties: PropertyData[])\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n properties\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LaunchRequestMethod\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n addParameters\n \n \n \n \n \n \n \n addParameters(propertyData: PropertyData[], customParameterDOs: CustomParameter[], scopes: literal type[], schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:155\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n propertyData\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n customParameterDOs\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n scopes\n \n literal type[]\n \n\n \n No\n \n\n\n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n addProperty\n \n \n \n \n \n \n \n addProperty(propertyData: PropertyData[], propertyName: string, value: string | undefined, customParameterLocation: CustomParameterLocation)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:249\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n propertyData\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n propertyName\n \n string\n \n\n \n No\n \n\n\n \n \n value\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n customParameterLocation\n \n CustomParameterLocation\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n applyPropertiesToPathParams\n \n \n \n \n \n \n \n applyPropertiesToPathParams(url: URL, pathProperties: PropertyData[])\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:105\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n URL\n \n\n \n No\n \n\n\n \n \n pathProperties\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n buildToolLaunchDataFromExternalTool\n \n \n \n \n \n \n \n buildToolLaunchDataFromExternalTool(externalTool: ExternalTool)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:128\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolLaunchData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n buildToolLaunchDataFromTools\n \n \n \n \n \n \n \n buildToolLaunchDataFromTools(data: ToolLaunchParams)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:139\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n ToolLaunchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n buildUrl\n \n \n \n \n \n \n \n buildUrl(toolLaunchDataDO: ToolLaunchData)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:79\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolLaunchDataDO\n \n ToolLaunchData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n createLaunchData\n \n \n \n \n \n \n \n createLaunchData(userId: EntityId, data: ToolLaunchParams)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:40\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n data\n \n ToolLaunchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n createLaunchRequest\n \n \n \n \n \n \n \n createLaunchRequest(toolLaunchData: ToolLaunchData)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:64\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolLaunchData\n \n ToolLaunchData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolLaunchRequest\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getParameterValue\n \n \n \n \n \n \n \n getParameterValue(customParameter: CustomParameter, matchingParameterEntry: CustomParameterEntry | undefined, schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:218\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameter\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n matchingParameterEntry\n \n CustomParameterEntry | undefined\n \n\n \n No\n \n\n\n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n handleParametersToInclude\n \n \n \n \n \n \n \n handleParametersToInclude(propertyData: PropertyData[], parametersToInclude: CustomParameter[], params: CustomParameterEntry[], schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:181\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n propertyData\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n parametersToInclude\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n params\n \n CustomParameterEntry[]\n \n\n \n No\n \n\n\n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n autoParameterStrategyMap\n \n \n \n \n \n \n Type : Map\n\n \n \n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:24\n\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { LaunchRequestMethod, PropertyData } from '../../types';\nimport { AbstractLaunchStrategy } from './abstract-launch.strategy';\nimport { ToolLaunchParams } from './tool-launch-params.interface';\n\n@Injectable()\nexport class OAuth2ToolLaunchStrategy extends AbstractLaunchStrategy {\n\tpublic override buildToolLaunchDataFromConcreteConfig(\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\tuserId: EntityId,\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\tdata: ToolLaunchParams\n\t): Promise {\n\t\treturn Promise.resolve([]);\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tpublic override buildToolLaunchRequestPayload(url: string, properties: PropertyData[]): string | null {\n\t\treturn null;\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tpublic override determineLaunchRequestMethod(properties: PropertyData[]): LaunchRequestMethod {\n\t\treturn LaunchRequestMethod.GET;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OAuthProcessDto.html":{"url":"classes/OAuthProcessDto.html","title":"class - OAuthProcessDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OAuthProcessDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/service/dto/oauth-process.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n jwt\n \n \n redirect\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(response: OAuthProcessDto)\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/oauth-process.dto.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n \n OAuthProcessDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n jwt\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/oauth-process.dto.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n redirect\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/oauth-process.dto.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class OAuthProcessDto {\n\tjwt?: string;\n\n\tredirect: string;\n\n\tconstructor(response: OAuthProcessDto) {\n\t\tthis.jwt = response.jwt;\n\t\tthis.redirect = response.redirect;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OAuthRejectableBody.html":{"url":"classes/OAuthRejectableBody.html","title":"class - OAuthRejectableBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OAuthRejectableBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/request/oauth-rejectable.body.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n error\n \n \n \n \n \n Optional\n error_debug\n \n \n \n \n \n Optional\n error_description\n \n \n \n \n \n Optional\n error_hint\n \n \n \n \n \n Optional\n status_code\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n error\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'The error should follow the OAuth2 error format (e.g. invalid_request, login_required). Defaults to request_denied.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-rejectable.body.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n error_debug\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'Debug contains information to help resolve the problem as a developer. Usually not exposed to the public but only in the server logs.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-rejectable.body.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n error_description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'Description of the error in a human readable format.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-rejectable.body.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n error_hint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'Hint to help resolve the error.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-rejectable.body.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n status_code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@IsOptional()@ApiProperty({description: 'Represents the HTTP status code of the error (e.g. 401 or 403). Defaults to 400.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-rejectable.body.ts:50\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsNumber, IsOptional, IsString } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\n\nexport class OAuthRejectableBody {\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'The error should follow the OAuth2 error format (e.g. invalid_request, login_required). Defaults to request_denied.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\terror?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'Debug contains information to help resolve the problem as a developer. Usually not exposed to the public but only in the server logs.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\terror_debug?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'Description of the error in a human readable format.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\terror_description?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'Hint to help resolve the error.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\terror_hint?: string;\n\n\t@IsNumber()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'Represents the HTTP status code of the error (e.g. 401 or 403). Defaults to 400.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\tstatus_code?: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OAuthService.html":{"url":"injectables/OAuthService.html","title":"injectable - OAuthService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OAuthService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/service/oauth.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n authenticateUser\n \n \n Private\n buildTokenRequestPayload\n \n \n Private\n Async\n findUserAfterProvisioningOrThrow\n \n \n Async\n isOauthProvisioningEnabledForSchool\n \n \n Async\n provisionUser\n \n \n Async\n requestToken\n \n \n Async\n validateToken\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userService: UserService, oauthAdapterService: OauthAdapterService, oAuthEncryptionService: EncryptionService, logger: LegacyLogger, provisioningService: ProvisioningService, systemService: LegacySystemService, migrationCheckService: MigrationCheckService, schoolService: LegacySchoolService)\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/oauth.service.ts:27\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n oauthAdapterService\n \n \n OauthAdapterService\n \n \n \n No\n \n \n \n \n oAuthEncryptionService\n \n \n EncryptionService\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n provisioningService\n \n \n ProvisioningService\n \n \n \n No\n \n \n \n \n systemService\n \n \n LegacySystemService\n \n \n \n No\n \n \n \n \n migrationCheckService\n \n \n MigrationCheckService\n \n \n \n No\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n authenticateUser\n \n \n \n \n \n \n \n authenticateUser(systemId: string, redirectUri: string, authCode?: string, errorCode?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth.service.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n redirectUri\n \n string\n \n\n \n No\n \n\n\n \n \n authCode\n \n string\n \n\n \n Yes\n \n\n\n \n \n errorCode\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n buildTokenRequestPayload\n \n \n \n \n \n \n \n buildTokenRequestPayload(code: string, oauthConfig: OauthConfigEntity, redirectUri: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth.service.ts:152\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n code\n \n string\n \n\n \n No\n \n\n\n \n \n oauthConfig\n \n OauthConfigEntity\n \n\n \n No\n \n\n\n \n \n redirectUri\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AuthenticationCodeGrantTokenRequest\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findUserAfterProvisioningOrThrow\n \n \n \n \n \n \n \n findUserAfterProvisioningOrThrow(externalUserId: string, systemId: EntityId, officialSchoolNumber?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth.service.ts:99\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalUserId\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n officialSchoolNumber\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n isOauthProvisioningEnabledForSchool\n \n \n \n \n \n \n \n isOauthProvisioningEnabledForSchool(officialSchoolNumber: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth.service.ts:115\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n officialSchoolNumber\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n provisionUser\n \n \n \n \n \n \n \n provisionUser(systemId: string, idToken: string, accessToken: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth.service.ts:64\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n idToken\n \n string\n \n\n \n No\n \n\n\n \n \n accessToken\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n requestToken\n \n \n \n \n \n \n \n requestToken(code: string, oauthConfig: OauthConfigEntity, redirectUri: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth.service.ts:125\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n code\n \n string\n \n\n \n No\n \n\n\n \n \n oauthConfig\n \n OauthConfigEntity\n \n\n \n No\n \n\n\n \n \n redirectUri\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n validateToken\n \n \n \n \n \n \n \n validateToken(idToken: string, oauthConfig: OauthConfigEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth.service.ts:137\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n idToken\n \n string\n \n\n \n No\n \n\n\n \n \n oauthConfig\n \n OauthConfigEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { DefaultEncryptionService, EncryptionService } from '@infra/encryption';\nimport { LegacySchoolService } from '@modules/legacy-school';\nimport { OauthDataDto, ProvisioningService } from '@modules/provisioning';\nimport { LegacySystemService } from '@modules/system';\nimport { SystemDto } from '@modules/system/service';\nimport { UserService } from '@modules/user';\nimport { MigrationCheckService } from '@modules/user-login-migration';\nimport { Inject } from '@nestjs/common';\nimport { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { LegacySchoolDo, UserDO } from '@shared/domain/domainobject';\nimport { OauthConfigEntity, SchoolFeatures } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacyLogger } from '@src/core/logger';\nimport jwt, { JwtPayload } from 'jsonwebtoken';\nimport { OAuthTokenDto } from '../interface';\nimport {\n\tAuthCodeFailureLoggableException,\n\tIdTokenInvalidLoggableException,\n\tOauthConfigMissingLoggableException,\n\tUserNotFoundAfterProvisioningLoggableException,\n} from '../loggable';\nimport { TokenRequestMapper } from '../mapper/token-request.mapper';\nimport { AuthenticationCodeGrantTokenRequest, OauthTokenResponse } from './dto';\nimport { OauthAdapterService } from './oauth-adapter.service';\n\n@Injectable()\nexport class OAuthService {\n\tconstructor(\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly oauthAdapterService: OauthAdapterService,\n\t\t@Inject(DefaultEncryptionService) private readonly oAuthEncryptionService: EncryptionService,\n\t\tprivate readonly logger: LegacyLogger,\n\t\tprivate readonly provisioningService: ProvisioningService,\n\t\tprivate readonly systemService: LegacySystemService,\n\t\tprivate readonly migrationCheckService: MigrationCheckService,\n\t\tprivate readonly schoolService: LegacySchoolService\n\t) {\n\t\tthis.logger.setContext(OAuthService.name);\n\t}\n\n\tasync authenticateUser(\n\t\tsystemId: string,\n\t\tredirectUri: string,\n\t\tauthCode?: string,\n\t\terrorCode?: string\n\t): Promise {\n\t\tif (errorCode || !authCode) {\n\t\t\tthrow new AuthCodeFailureLoggableException(errorCode);\n\t\t}\n\n\t\tconst system: SystemDto = await this.systemService.findById(systemId);\n\t\tif (!system.oauthConfig) {\n\t\t\tthrow new OauthConfigMissingLoggableException(systemId);\n\t\t}\n\t\tconst { oauthConfig } = system;\n\n\t\tconst oauthTokens: OAuthTokenDto = await this.requestToken(authCode, oauthConfig, redirectUri);\n\n\t\tawait this.validateToken(oauthTokens.idToken, oauthConfig);\n\n\t\treturn oauthTokens;\n\t}\n\n\tasync provisionUser(systemId: string, idToken: string, accessToken: string): Promise {\n\t\tconst data: OauthDataDto = await this.provisioningService.getData(systemId, idToken, accessToken);\n\n\t\tconst externalUserId: string = data.externalUser.externalId;\n\t\tconst officialSchoolNumber: string | undefined = data.externalSchool?.officialSchoolNumber;\n\n\t\tlet isProvisioningEnabled = true;\n\n\t\tif (officialSchoolNumber) {\n\t\t\tisProvisioningEnabled = await this.isOauthProvisioningEnabledForSchool(officialSchoolNumber);\n\n\t\t\tconst shouldUserMigrate: boolean = await this.migrationCheckService.shouldUserMigrate(\n\t\t\t\texternalUserId,\n\t\t\t\tsystemId,\n\t\t\t\tofficialSchoolNumber\n\t\t\t);\n\n\t\t\tif (shouldUserMigrate) {\n\t\t\t\tconst existingUser: UserDO | null = await this.userService.findByExternalId(externalUserId, systemId);\n\n\t\t\t\tif (!existingUser) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (isProvisioningEnabled) {\n\t\t\tawait this.provisioningService.provisionData(data);\n\t\t}\n\n\t\tconst user: UserDO = await this.findUserAfterProvisioningOrThrow(externalUserId, systemId, officialSchoolNumber);\n\n\t\treturn user;\n\t}\n\n\tprivate async findUserAfterProvisioningOrThrow(\n\t\texternalUserId: string,\n\t\tsystemId: EntityId,\n\t\tofficialSchoolNumber?: string\n\t): Promise {\n\t\tconst user: UserDO | null = await this.userService.findByExternalId(externalUserId, systemId);\n\n\t\tif (!user) {\n\t\t\t// This can happen, when OAuth2 provisioning is disabled, because the school doesn't have the feature.\n\t\t\t// OAuth2 provisioning is disabled for schools that don't have migrated, yet.\n\t\t\tthrow new UserNotFoundAfterProvisioningLoggableException(externalUserId, systemId, officialSchoolNumber);\n\t\t}\n\n\t\treturn user;\n\t}\n\n\tasync isOauthProvisioningEnabledForSchool(officialSchoolNumber: string): Promise {\n\t\tconst school: LegacySchoolDo | null = await this.schoolService.getSchoolBySchoolNumber(officialSchoolNumber);\n\n\t\tif (!school) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn !!school.features?.includes(SchoolFeatures.OAUTH_PROVISIONING_ENABLED);\n\t}\n\n\tasync requestToken(code: string, oauthConfig: OauthConfigEntity, redirectUri: string): Promise {\n\t\tconst payload: AuthenticationCodeGrantTokenRequest = this.buildTokenRequestPayload(code, oauthConfig, redirectUri);\n\n\t\tconst responseToken: OauthTokenResponse = await this.oauthAdapterService.sendAuthenticationCodeTokenRequest(\n\t\t\toauthConfig.tokenEndpoint,\n\t\t\tpayload\n\t\t);\n\n\t\tconst tokenDto: OAuthTokenDto = TokenRequestMapper.mapTokenResponseToDto(responseToken);\n\t\treturn tokenDto;\n\t}\n\n\tasync validateToken(idToken: string, oauthConfig: OauthConfigEntity): Promise {\n\t\tconst publicKey: string = await this.oauthAdapterService.getPublicKey(oauthConfig.jwksEndpoint);\n\t\tconst decodedJWT: string | JwtPayload = jwt.verify(idToken, publicKey, {\n\t\t\talgorithms: ['RS256'],\n\t\t\tissuer: oauthConfig.issuer,\n\t\t\taudience: oauthConfig.clientId,\n\t\t});\n\n\t\tif (typeof decodedJWT === 'string') {\n\t\t\tthrow new IdTokenInvalidLoggableException();\n\t\t}\n\n\t\treturn decodedJWT;\n\t}\n\n\tprivate buildTokenRequestPayload(\n\t\tcode: string,\n\t\toauthConfig: OauthConfigEntity,\n\t\tredirectUri: string\n\t): AuthenticationCodeGrantTokenRequest {\n\t\tconst decryptedClientSecret: string = this.oAuthEncryptionService.decrypt(oauthConfig.clientSecret);\n\n\t\tconst tokenRequestPayload: AuthenticationCodeGrantTokenRequest =\n\t\t\tTokenRequestMapper.createAuthenticationCodeGrantTokenRequestPayload(\n\t\t\t\toauthConfig.clientId,\n\t\t\t\tdecryptedClientSecret,\n\t\t\t\tcode,\n\t\t\t\tredirectUri\n\t\t\t);\n\n\t\treturn tokenRequestPayload;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OAuthTokenDto.html":{"url":"classes/OAuthTokenDto.html","title":"class - OAuthTokenDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OAuthTokenDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/interface/oauth-token.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n accessToken\n \n \n idToken\n \n \n refreshToken\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: OAuthTokenDto)\n \n \n \n \n Defined in apps/server/src/modules/oauth/interface/oauth-token.dto.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n OAuthTokenDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n accessToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/interface/oauth-token.dto.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n idToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/interface/oauth-token.dto.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n refreshToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/interface/oauth-token.dto.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class OAuthTokenDto {\n\tidToken: string;\n\n\trefreshToken: string;\n\n\taccessToken: string;\n\n\tconstructor(props: OAuthTokenDto) {\n\t\tthis.idToken = props.idToken;\n\t\tthis.refreshToken = props.refreshToken;\n\t\tthis.accessToken = props.accessToken;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Oauth2AuthorizationBodyParams.html":{"url":"classes/Oauth2AuthorizationBodyParams.html","title":"class - Oauth2AuthorizationBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Oauth2AuthorizationBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/controllers/dto/oauth2-authorization.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n code\n \n \n \n \n \n redirectUri\n \n \n \n \n systemId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n code\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/oauth2-authorization.body.params.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n redirectUri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/oauth2-authorization.body.params.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n systemId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/oauth2-authorization.body.params.ts:17\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId, IsNotEmpty, IsString } from 'class-validator';\n\nexport class Oauth2AuthorizationBodyParams {\n\t@IsString()\n\t@IsNotEmpty()\n\t@ApiProperty()\n\tredirectUri!: string;\n\n\t@IsString()\n\t@IsNotEmpty()\n\t@ApiProperty()\n\tcode!: string;\n\n\t@IsMongoId()\n\t@ApiProperty()\n\tsystemId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Oauth2MigrationParams.html":{"url":"classes/Oauth2MigrationParams.html","title":"class - Oauth2MigrationParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Oauth2MigrationParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/controller/dto/oauth2-migration.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n code\n \n \n \n \n \n redirectUri\n \n \n \n \n systemId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n code\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/oauth2-migration.params.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n redirectUri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/oauth2-migration.params.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n systemId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/oauth2-migration.params.ts:17\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId, IsNotEmpty, IsString } from 'class-validator';\n\nexport class Oauth2MigrationParams {\n\t@IsString()\n\t@IsNotEmpty()\n\t@ApiProperty()\n\tredirectUri!: string;\n\n\t@IsString()\n\t@IsNotEmpty()\n\t@ApiProperty()\n\tcode!: string;\n\n\t@IsMongoId()\n\t@ApiProperty()\n\tsystemId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/Oauth2Strategy.html":{"url":"injectables/Oauth2Strategy.html","title":"injectable - Oauth2Strategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n Oauth2Strategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/strategy/oauth2.strategy.ts\n \n\n\n\n \n Extends\n \n \n PassportStrategy(Strategy, 'oauth2')\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n validate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthService: OAuthService, accountService: AccountService)\n \n \n \n \n Defined in apps/server/src/modules/authentication/strategy/oauth2.strategy.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthService\n \n \n OAuthService\n \n \n \n No\n \n \n \n \n accountService\n \n \n AccountService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n validate\n \n \n \n \n \n \n \n validate(request: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/oauth2.strategy.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n request\n \n literal type\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AccountService } from '@modules/account/services/account.service';\nimport { AccountDto } from '@modules/account/services/dto';\nimport { OAuthService, OAuthTokenDto } from '@modules/oauth';\nimport { Injectable, UnauthorizedException } from '@nestjs/common';\nimport { PassportStrategy } from '@nestjs/passport';\nimport { UserDO } from '@shared/domain/domainobject/user.do';\nimport { Strategy } from 'passport-custom';\nimport { Oauth2AuthorizationBodyParams } from '../controllers/dto';\nimport { ICurrentUser, OauthCurrentUser } from '../interface';\nimport { SchoolInMigrationLoggableException } from '../loggable';\nimport { CurrentUserMapper } from '../mapper';\n\n@Injectable()\nexport class Oauth2Strategy extends PassportStrategy(Strategy, 'oauth2') {\n\tconstructor(private readonly oauthService: OAuthService, private readonly accountService: AccountService) {\n\t\tsuper();\n\t}\n\n\tasync validate(request: { body: Oauth2AuthorizationBodyParams }): Promise {\n\t\tconst { systemId, redirectUri, code } = request.body;\n\n\t\tconst tokenDto: OAuthTokenDto = await this.oauthService.authenticateUser(systemId, redirectUri, code);\n\n\t\tconst user: UserDO | null = await this.oauthService.provisionUser(systemId, tokenDto.idToken, tokenDto.accessToken);\n\n\t\tif (!user || !user.id) {\n\t\t\tthrow new SchoolInMigrationLoggableException();\n\t\t}\n\n\t\tconst account: AccountDto | null = await this.accountService.findByUserId(user.id);\n\t\tif (!account) {\n\t\t\tthrow new UnauthorizedException('no account found');\n\t\t}\n\n\t\tconst currentUser: OauthCurrentUser = CurrentUserMapper.mapToOauthCurrentUser(\n\t\t\taccount.id,\n\t\t\tuser,\n\t\t\tsystemId,\n\t\t\ttokenDto.idToken\n\t\t);\n\n\t\treturn currentUser;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Oauth2ToolConfig.html":{"url":"classes/Oauth2ToolConfig.html","title":"class - Oauth2ToolConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Oauth2ToolConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/domain/config/oauth2-tool-config.do.ts\n \n\n\n\n \n Extends\n \n \n ExternalToolConfig\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n clientId\n \n \n Optional\n clientSecret\n \n \n Optional\n frontchannelLogoutUri\n \n \n Optional\n redirectUris\n \n \n Optional\n scope\n \n \n skipConsent\n \n \n Optional\n tokenEndpointAuthMethod\n \n \n baseUrl\n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: Oauth2ToolConfig)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/oauth2-tool-config.do.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n Oauth2ToolConfig\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n clientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/oauth2-tool-config.do.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n clientSecret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/oauth2-tool-config.do.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n frontchannelLogoutUri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/oauth2-tool-config.do.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n redirectUris\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/oauth2-tool-config.do.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n scope\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/oauth2-tool-config.do.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n skipConsent\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/oauth2-tool-config.do.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n tokenEndpointAuthMethod\n \n \n \n \n \n \n Type : TokenEndpointAuthMethod\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/oauth2-tool-config.do.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from ExternalToolConfig\n\n \n \n \n \n Defined in ExternalToolConfig:6\n\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Inherited from ExternalToolConfig\n\n \n \n \n \n Defined in ExternalToolConfig:4\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ExternalToolConfig } from './external-tool-config.do';\nimport { TokenEndpointAuthMethod, ToolConfigType } from '../../../common/enum';\n\nexport class Oauth2ToolConfig extends ExternalToolConfig {\n\tclientId: string;\n\n\tclientSecret?: string;\n\n\tskipConsent: boolean;\n\n\ttokenEndpointAuthMethod?: TokenEndpointAuthMethod;\n\n\tfrontchannelLogoutUri?: string;\n\n\tscope?: string;\n\n\tredirectUris?: string[];\n\n\tconstructor(props: Oauth2ToolConfig) {\n\t\tsuper({\n\t\t\ttype: ToolConfigType.OAUTH2,\n\t\t\tbaseUrl: props.baseUrl,\n\t\t});\n\t\tthis.clientId = props.clientId;\n\t\tthis.clientSecret = props.clientSecret;\n\t\tthis.skipConsent = props.skipConsent;\n\t\tthis.redirectUris = props.redirectUris;\n\t\tthis.scope = props.scope;\n\t\tthis.tokenEndpointAuthMethod = props.tokenEndpointAuthMethod;\n\t\tthis.frontchannelLogoutUri = props.frontchannelLogoutUri;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Oauth2ToolConfigCreateParams.html":{"url":"classes/Oauth2ToolConfigCreateParams.html","title":"class - Oauth2ToolConfigCreateParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Oauth2ToolConfigCreateParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-create.params.ts\n \n\n\n\n \n Extends\n \n \n ExternalToolConfigCreateParams\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n clientId\n \n \n \n \n clientSecret\n \n \n \n \n \n Optional\n frontchannelLogoutUri\n \n \n \n \n redirectUris\n \n \n \n \n \n Optional\n scope\n \n \n \n \n skipConsent\n \n \n \n \n tokenEndpointAuthMethod\n \n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigCreateParams\n\n \n \n \n \n Defined in ExternalToolConfigCreateParams:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n clientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-create.params.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n clientSecret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-create.params.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n frontchannelLogoutUri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-create.params.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n redirectUris\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-create.params.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n scope\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-create.params.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n skipConsent\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-create.params.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n tokenEndpointAuthMethod\n \n \n \n \n \n \n Type : TokenEndpointAuthMethod\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(TokenEndpointAuthMethod)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-create.params.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ToolConfigType)@ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigCreateParams\n\n \n \n \n \n Defined in ExternalToolConfigCreateParams:9\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsArray, IsBoolean, IsEnum, IsOptional, IsString } from 'class-validator';\nimport { TokenEndpointAuthMethod, ToolConfigType } from '../../../../../common/enum';\nimport { ExternalToolConfigCreateParams } from './external-tool-config.params';\n\nexport class Oauth2ToolConfigCreateParams extends ExternalToolConfigCreateParams {\n\t@IsEnum(ToolConfigType)\n\t@ApiProperty()\n\ttype!: ToolConfigType;\n\n\t@IsString()\n\t@ApiProperty()\n\tbaseUrl!: string;\n\n\t@IsString()\n\t@ApiProperty()\n\tclientId!: string;\n\n\t@IsString()\n\t@ApiProperty()\n\tclientSecret!: string;\n\n\t@IsBoolean()\n\t@ApiProperty()\n\tskipConsent!: boolean;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tfrontchannelLogoutUri?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tscope?: string;\n\n\t@IsArray()\n\t@ApiProperty()\n\tredirectUris!: string[];\n\n\t@IsEnum(TokenEndpointAuthMethod)\n\t@ApiProperty()\n\ttokenEndpointAuthMethod!: TokenEndpointAuthMethod;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Oauth2ToolConfigEntity.html":{"url":"classes/Oauth2ToolConfigEntity.html","title":"class - Oauth2ToolConfigEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Oauth2ToolConfigEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/entity/config/oauth2-tool-config.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n clientId\n \n \n \n skipConsent\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: Oauth2ToolConfigEntity)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/oauth2-tool-config.entity.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n Oauth2ToolConfigEntity\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n clientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/oauth2-tool-config.entity.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n skipConsent\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/oauth2-tool-config.entity.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Property } from '@mikro-orm/core';\nimport { ExternalToolConfigEntity } from './external-tool-config.entity';\nimport { ToolConfigType } from '../../../common/enum';\n\n@Embeddable({ discriminatorValue: ToolConfigType.OAUTH2 })\nexport class Oauth2ToolConfigEntity extends ExternalToolConfigEntity {\n\t@Property()\n\tclientId: string;\n\n\t@Property()\n\tskipConsent: boolean;\n\n\tconstructor(props: Oauth2ToolConfigEntity) {\n\t\tsuper(props);\n\t\tthis.type = ToolConfigType.OAUTH2;\n\t\tthis.clientId = props.clientId;\n\t\tthis.skipConsent = props.skipConsent;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Oauth2ToolConfigFactory.html":{"url":"classes/Oauth2ToolConfigFactory.html","title":"class - Oauth2ToolConfigFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Oauth2ToolConfigFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/domainobject/tool/external-tool.factory.ts\n \n\n\n\n \n Extends\n \n \n DoBaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withExternalData\n \n \n \n buildWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withExternalData\n \n \n \n \n \n \nwithExternalData(oauth2Params?: DeepPartial)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/domainobject/tool/external-tool.factory.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauth2Params\n \n DeepPartial\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \n \n buildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CustomParameter } from '@modules/tool/common/domain';\nimport {\n\tCustomParameterLocation,\n\tCustomParameterScope,\n\tCustomParameterType,\n\tLtiMessageType,\n\tLtiPrivacyPermission,\n\tTokenEndpointAuthMethod,\n\tToolConfigType,\n} from '@modules/tool/common/enum';\nimport {\n\tBasicToolConfig,\n\tExternalTool,\n\tExternalToolProps,\n\tLti11ToolConfig,\n\tOauth2ToolConfig,\n} from '@modules/tool/external-tool/domain';\nimport { DeepPartial } from 'fishery';\nimport { DoBaseFactory } from '../do-base.factory';\n\nexport const basicToolConfigFactory = DoBaseFactory.define(BasicToolConfig, () => {\n\treturn {\n\t\ttype: ToolConfigType.BASIC,\n\t\tbaseUrl: 'https://www.basic-baseUrl.com/',\n\t};\n});\n\nclass Oauth2ToolConfigFactory extends DoBaseFactory {\n\twithExternalData(oauth2Params?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tclientSecret: 'clientSecret',\n\t\t\tscope: 'offline openid',\n\t\t\tfrontchannelLogoutUri: 'https://www.frontchannel.com/',\n\t\t\tredirectUris: ['https://www.redirect.com/'],\n\t\t\ttokenEndpointAuthMethod: TokenEndpointAuthMethod.CLIENT_SECRET_POST,\n\t\t};\n\n\t\treturn this.params({ ...params, ...oauth2Params });\n\t}\n}\n\nexport const oauth2ToolConfigFactory = Oauth2ToolConfigFactory.define(Oauth2ToolConfig, () => {\n\treturn {\n\t\ttype: ToolConfigType.OAUTH2,\n\t\tbaseUrl: 'https://www.oauth2-baseUrl.com/',\n\t\tclientId: 'clientId',\n\t\tskipConsent: false,\n\t};\n});\n\nexport const lti11ToolConfigFactory = DoBaseFactory.define(Lti11ToolConfig, () => {\n\treturn {\n\t\ttype: ToolConfigType.LTI11,\n\t\tbaseUrl: 'https://www.lti11-baseUrl.com/',\n\t\tkey: 'key',\n\t\tsecret: 'secret',\n\t\tprivacy_permission: LtiPrivacyPermission.PSEUDONYMOUS,\n\t\tlti_message_type: LtiMessageType.BASIC_LTI_LAUNCH_REQUEST,\n\t\tresource_link_id: 'linkId',\n\t\tlaunch_presentation_locale: 'de-DE',\n\t};\n});\n\nclass CustomParameterFactory extends DoBaseFactory {\n\tbuildListWithEachType(params?: DeepPartial): CustomParameter[] {\n\t\tconst globalParameter = this.build({ ...params, scope: CustomParameterScope.GLOBAL });\n\t\tconst schoolParameter = this.build({ ...params, scope: CustomParameterScope.SCHOOL });\n\t\tconst contextParameter = this.build({ ...params, scope: CustomParameterScope.CONTEXT });\n\n\t\treturn [globalParameter, schoolParameter, contextParameter];\n\t}\n}\n\nexport const customParameterFactory = CustomParameterFactory.define(CustomParameter, ({ sequence }) => {\n\treturn {\n\t\tname: `custom-parameter-${sequence}`,\n\t\tdisplayName: 'User Friendly Name',\n\t\ttype: CustomParameterType.STRING,\n\t\tscope: CustomParameterScope.SCHOOL,\n\t\tlocation: CustomParameterLocation.BODY,\n\t\tisOptional: false,\n\t};\n});\n\nclass ExternalToolFactory extends DoBaseFactory {\n\twithOauth2Config(customParam?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tconfig: oauth2ToolConfigFactory.build(customParam),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithLti11Config(customParam?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tconfig: lti11ToolConfigFactory.build(customParam),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithCustomParameters(number: number, customParam?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tparameters: customParameterFactory.buildList(number, customParam),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithBase64Logo(): this {\n\t\tconst params: DeepPartial = {\n\t\t\tlogo: 'iVBORw0KGgoAAAANSUhEUgAAAfQAAADICAYAAAAeGRPoAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjQ2MUQ2Q0Y5RTQxMTExRTdBMTg3QkQ2MDVGMUFEMUIwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjQ2MUQ2Q0ZBRTQxMTExRTdBMTg3QkQ2MDVGMUFEMUIwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NDYxRDZDRjdFNDExMTFFN0ExODdCRDYwNUYxQUQxQjAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NDYxRDZDRjhFNDExMTFFN0ExODdCRDYwNUYxQUQxQjAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz45EjsrAAALfUlEQVR42uzdgXWjOAIGYHLvGsiV4CnBU4JTgqeEpIS4hKSEpIS4BLsEu4RJCeMScmhGzPplkyCMAGO+7z3ezs3tYsuS+BEIcfX29lYAAOP2Hz8BAAh0AECgAwACHQAQ6AAg0AEAgQ4ACHQAQKADgEAHAAQ6ACDQAQCBDgACHQAQ6ACAQAcABDoACHQAQKADAAIdABDoACDQAQCBDgAIdABAoAOAQAcABDoAINABAIEOAAIdABDoAIBABwAEOgAIdABAoAMAAh0AEOgAINABAIEOAAh0AECgA4BABwAEOgAg0AEAgQ4ACHQAEOgAgEAHAAQ6ACDQAUCgAwACHQAQ6ACAQAcAgQ4ACHQAQKADAAIdAAQ6ACDQAQCBDgAIdAAQ6ACAQAcABDoAINABQKADAAIdABDoAIBABwCBDgAIdABAoAMAAh0ABDoAINABgN79109AbldXV9flPxblNov/DOblFv7+UG77+HfVn39vb29vB78emdpg1fauP2iDwWvcgm3883aMbbAs6/yorPP414ujf+W4z+2r/12WdasOL6zdl4Ufa4fdvGu0gyp/x6sTyjD0jx8a/03GOgn1cVtuyxN3EQ4267CV3+t16u2jhz701lfb6DEAlnGbt2yDz+ccDDHEq7LOTtzNIZY11PVaHV6AEOhj3ErhgP12LtuJZRj6e28y1cW8g/p4CgeqKbePHvpQ522jp3LMYnvJWWe/2rbBjsq66Kht/wwn4+pw3Jt76LQ9o76NB5jco+Gw35/l/p/iJXx43/auy+2+CqPMu7+O+9zFzziHsj511Nf+Bmr5GT/jlTZ1OEICnbZh/lT8c0+rC1WwL/3ivLvkvCu3h44/KrTth/LzdvFy8BBlXXQUeJ8F+6b8zIeuT6SnVIcCnXM/oC5jmPchdMiXqZxlk3QiuStOv3d8inkc6c0HKOum45Pmj9zHYJ+pQ4HOZR9Qr08I8zBRZRu3U4RJcs9+fWHe44nkRyeWu/gd+ijr04BlrRzU4Xh4bI1T3CaMGMKB4LH4M4N2/0Gnrh5JqWbr1u3vzmNtwrxhEFSzuEP7ez1+TCu2v9lR+2syagv3mvcfteuMZb0vml1ifz0q6/74KZF3Za3Km/Lb/cjd56ZUh4OYyuy/1NnPZhknfe9fNd/9JQR0g/1Vk1d+frK/hym2D+3vX7O7G83YbtgGm86yDn1g1lFZlw3Lumy4/9Df7mv68VwdjrBPC3SBnrlT7lru//2BZtekUwv0y2t/MYB+JR6kH9q0lzjK2yV+1q6jx7dSy3qf4Xe9/2C/t+rQY2tMQ91lrceWV4zCf/8tXmZzqZ2iSH+SIrSVVZv2Ei/BhgV1UuZrzDuYqJlS1upyeNu+doj7+F78s+LaY/l3z+pwnAQ6WQM9x4pT8UDzI3TKi7vHRdN7rovEe753uYIotr+7xEC4zzUTPD45kvIM+E3Old1iH/sew3ylDgU609Hb4zPnvtY0vUgZPd11MaqMgbBP6A+5RngPiWXdd1DWQxdhPsE6FOhc1IjKqm7kHNnVjVjXHV0iroQrRXWXf2/btvtY1tnAZVWHAp2JqesYVnQjl5S2tOryC8THv1LuVbd9rvk2od+t1OFZ16FAZ3TqLl89XPJKTPQ2srtOCIPHtm/lSwyEEAZ1n7PsuKzPfZRVHQp0pqWuU4ROvLnUlZjoTfUe7C9DrsfvU/dZ8xYTq5YZPl8dDluHAp1RSpmo9ntp2Pjmpnv31TlB3VWefc8j1nWG7/yZ2ZmVVR0KdKYgPh+aelYdDlRh5u6vMtQ3MdxdjidHGKx7bvchePYJ7X30ZVWHAp38FmX4vXWwbTJ8t3A/qunCD4sY7uHFCCHgX2LAz1Q1n7SXL0d3A3ynbcvvPKayqsMR8nIWTjrTLYM4zEw99Y1J1WSZsIVJdNWLJdYWkiHREJegD2Mqa3ineZHpEnLZL2/UoUDnckP9uTxgFEWe1yCGUXpY2CGM2EOgP4/teVvySbktM9A95bqTzcUJZV10WNb5UCPOKdXhOXHJnVahXqQt2tD0IFRNqPNM+zSZRKkOEegMEOrhUnl4mcoqc7CHUXu4z/5kljyAQKefUD8cvSUtBHvOS2nhefaNUGcEvBVQHQp0LivYyy0E+++3NxV5ZrKGy/AvfuHJtKPatQ4Gevyx9nnxCyqrOhToZLQtO8VVB9tNTx16H99rHIL9f8Wfe+1tAn5xSe8tpvMDcxeuJ1RWdSjQ4dOR+/oo4MMIPrzWsOnCEladm9AJbc3/P8TobtHyO5/6381O7Hc3qSf6RTcvSJlSHQp0Jhvwr2GGfLn9iKP31Al1KS974DKc1Ys04onkouV3HkVZ1aFAhzaj92pCXcqz55aOnYbaJTp7vgebEj7bjso61peGTKkOBTq8C/a7hFC3VOw0pNyO6fONfnWftY3vOTjF9szKqg4FOmRRdy9v4SeaxgleQiDc9jFyja8C7uxFI4kvDbkd2yh9SnUo0OHzg8DWL0HiAfapyy8Q77vWPV1xKNqHQd2VqfA9HtThWdehQGecQieJZ73Q1cldOMDWTVLq+nHGEKJ1I8jHtpdq4zLKdftYjq3PTakOBTpjFl7D+hTf6JTbV4+meRvbtKQ8TvXQRdCFZYeL+vuuhyJtMmeKx8SyztXh2dahQGd0o/PQSaqDSng2fJPrPljcz1cHrFc1MLlResotmKeco7zEIMg6sotPe9S173Cyu+ngxUVzdSjQmV6Y337QScJEtV2mzlh3P80IfXruirR1CsIo76XN4kPhhDKcoCYGwTaGcO6y1gnle8nR38JoP5Z3qQ4FOtMK88UXgXsdO2N47elt0w4Z78m/FPWz2NdqYnKj9DBqTV3JLARTaIONVhWMIRACclekPUkRwulHB2UNI9nUgPnb307py3EEm1pedTiGY3T5Q08tlDZfVXZcBrGv7zL4j59a3njfblM0Wwv5OY6ow7ru+y/2u4xn03X73na9Fv05tY9Lbn+n/I7xYN10zsa6aoOxHR6qE8jiz2XmamsyQg37uPmsTWeqm5cTvlNV1tfjl6MclbW6nbUoGq7nkKvdT6kOBbpAP+dAv46B3uZe26H455L5rGi+SMz3rjugQD/fQI/fOfW+aFd6CYJM/S2XcI95lbFsk6jDIbjkTuoB+BBfrNLmflO1lnLjEUJpdYkdkMbtMNyLXQ308b0FQRyFhqtRQ86+/n1JOmeYT6kOBTpjOKCu4oGmz9nmz5c0cYXWbfAxtsE+ZyaHS9jf+gyCo+WQhwi/dSzvWh0KdC77gBo6xvci/S1pbaziQQ3et8HUF/q0HdHdxVeRHgYqaxV+fQTRaxzB/ui6vFOqQ4HOuR9Qj9+StupgxL6PBxYjc+pGsDdF/uWCD7Fdf4uruA1+AhNved0V3VwdC79fCPFvxxPq1OG4mBT37wZmUtzp5VnG3zb889TnSMMlvnVXl/rG1D4uuf118TvGRYluY/ubtWh/29gGD2dcdzn62j6W9Tk+VnYO5ZpMHQp0xhQW1aMk1+8Csvrz69FIYxv/vJ1aB6TTYKgmX87ftb3j9lc9eTHa9hf7WlXW2Qdl3cdyjqqsU6pDgQ4A/OUeOgAIdABAoAMAAh0AEOgAINABAIEOAAh0AECgA4BABwAEOgAg0AEAgQ4AAh0AEOgAgEAHAAQ6AAh0AECgAwACHQAQ6AAg0AEAgQ4ACHQAQKADgEAHAAQ6ACDQAQCBDgACHQAQ6ACAQAcABDoACHQAQKADAAIdABDoACDQAQCBDgAIdABAoAOAQAcABDoAINABAIEOAAh0ABDoAIBABwAEOgAg0AFAoAMAAh0AEOgAgEAHAIEOAAh0AECgAwACHQAEOgAg0AEAgQ4ACHQAEOgAgEAHAAQ6ACDQAUCgAwACHQAQ6ACAQAcAgQ4ACHQAQKADAAIdAAQ6ACDQAYD+/V+AAQADXuXS75wQpQAAAABJRU5ErkJggg==',\n\t\t};\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const externalToolFactory = ExternalToolFactory.define(ExternalTool, ({ sequence }) => {\n\treturn {\n\t\tname: `external-tool-${sequence}`,\n\t\turl: 'https://url.com/',\n\t\tconfig: basicToolConfigFactory.build(),\n\t\tlogoUrl: 'https://logo.com/',\n\t\tisHidden: false,\n\t\topenNewTab: false,\n\t\tversion: 1,\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Oauth2ToolConfigResponse.html":{"url":"classes/Oauth2ToolConfigResponse.html","title":"class - Oauth2ToolConfigResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Oauth2ToolConfigResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/config/oauth2-tool-config.response.ts\n \n\n\n\n \n Extends\n \n \n ExternalToolConfigResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n baseUrl\n \n \n \n clientId\n \n \n \n Optional\n frontchannelLogoutUri\n \n \n \n Optional\n redirectUris\n \n \n \n Optional\n scope\n \n \n \n skipConsent\n \n \n \n Optional\n tokenEndpointAuthMethod\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: Oauth2ToolConfigResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/oauth2-tool-config.response.ts:28\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n Oauth2ToolConfigResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigResponse\n\n \n \n \n \n Defined in ExternalToolConfigResponse:10\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n clientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/oauth2-tool-config.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n frontchannelLogoutUri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/oauth2-tool-config.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n redirectUris\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/oauth2-tool-config.response.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n scope\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/oauth2-tool-config.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n skipConsent\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/oauth2-tool-config.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n tokenEndpointAuthMethod\n \n \n \n \n \n \n Type : TokenEndpointAuthMethod\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/oauth2-tool-config.response.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigResponse\n\n \n \n \n \n Defined in ExternalToolConfigResponse:7\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { ExternalToolConfigResponse } from './external-tool-config.response';\nimport { TokenEndpointAuthMethod, ToolConfigType } from '../../../../../common/enum';\n\nexport class Oauth2ToolConfigResponse extends ExternalToolConfigResponse {\n\t@ApiProperty()\n\ttype: ToolConfigType;\n\n\t@ApiProperty()\n\tbaseUrl: string;\n\n\t@ApiProperty()\n\tclientId: string;\n\n\t@ApiProperty()\n\tskipConsent: boolean;\n\n\t@ApiPropertyOptional()\n\tfrontchannelLogoutUri?: string;\n\n\t@ApiPropertyOptional()\n\tscope?: string;\n\n\t@ApiPropertyOptional()\n\tredirectUris?: string[];\n\n\t@ApiPropertyOptional()\n\ttokenEndpointAuthMethod?: TokenEndpointAuthMethod;\n\n\tconstructor(props: Oauth2ToolConfigResponse) {\n\t\tsuper();\n\t\tthis.type = ToolConfigType.OAUTH2;\n\t\tthis.baseUrl = props.baseUrl;\n\t\tthis.clientId = props.clientId;\n\t\tthis.skipConsent = props.skipConsent;\n\t\tthis.frontchannelLogoutUri = props.frontchannelLogoutUri;\n\t\tthis.scope = props.scope;\n\t\tthis.redirectUris = props.redirectUris;\n\t\tthis.tokenEndpointAuthMethod = props.tokenEndpointAuthMethod;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Oauth2ToolConfigUpdateParams.html":{"url":"classes/Oauth2ToolConfigUpdateParams.html","title":"class - Oauth2ToolConfigUpdateParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Oauth2ToolConfigUpdateParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-update.params.ts\n \n\n\n\n \n Extends\n \n \n ExternalToolConfigCreateParams\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n clientId\n \n \n \n \n \n Optional\n clientSecret\n \n \n \n \n \n Optional\n frontchannelLogoutUri\n \n \n \n \n redirectUris\n \n \n \n \n \n Optional\n scope\n \n \n \n \n skipConsent\n \n \n \n \n tokenEndpointAuthMethod\n \n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigCreateParams\n\n \n \n \n \n Defined in ExternalToolConfigCreateParams:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n clientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-update.params.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n clientSecret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-update.params.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n frontchannelLogoutUri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-update.params.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n redirectUris\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-update.params.ts:40\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n scope\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-update.params.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n skipConsent\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-update.params.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n tokenEndpointAuthMethod\n \n \n \n \n \n \n Type : TokenEndpointAuthMethod\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(TokenEndpointAuthMethod)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-update.params.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ToolConfigType)@ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigCreateParams\n\n \n \n \n \n Defined in ExternalToolConfigCreateParams:9\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsArray, IsBoolean, IsEnum, IsOptional, IsString } from 'class-validator';\nimport { TokenEndpointAuthMethod, ToolConfigType } from '../../../../../common/enum';\nimport { ExternalToolConfigCreateParams } from './external-tool-config.params';\n\nexport class Oauth2ToolConfigUpdateParams extends ExternalToolConfigCreateParams {\n\t@IsEnum(ToolConfigType)\n\t@ApiProperty()\n\ttype!: ToolConfigType;\n\n\t@IsString()\n\t@ApiProperty()\n\tbaseUrl!: string;\n\n\t@IsString()\n\t@ApiProperty()\n\tclientId!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tclientSecret?: string;\n\n\t@IsBoolean()\n\t@ApiProperty()\n\tskipConsent!: boolean;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tfrontchannelLogoutUri?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tscope?: string;\n\n\t@IsArray()\n\t@ApiProperty()\n\tredirectUris!: string[];\n\n\t@IsEnum(TokenEndpointAuthMethod)\n\t@ApiProperty()\n\ttokenEndpointAuthMethod!: TokenEndpointAuthMethod;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OauthAdapterService.html":{"url":"injectables/OauthAdapterService.html","title":"injectable - OauthAdapterService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OauthAdapterService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/service/oauth-adapter.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getPublicKey\n \n \n Private\n Async\n resolveTokenRequest\n \n \n Public\n sendAuthenticationCodeTokenRequest\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(httpService: HttpService)\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/oauth-adapter.service.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n httpService\n \n \n HttpService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getPublicKey\n \n \n \n \n \n \n \n getPublicKey(jwksUri: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth-adapter.service.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n jwksUri\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n resolveTokenRequest\n \n \n \n \n \n \n \n resolveTokenRequest(observable: Observable>)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth-adapter.service.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n observable\n \n Observable>\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n sendAuthenticationCodeTokenRequest\n \n \n \n \n \n \n \n sendAuthenticationCodeTokenRequest(tokenEndpoint: string, payload: AuthenticationCodeGrantTokenRequest)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth-adapter.service.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n tokenEndpoint\n \n string\n \n\n \n No\n \n\n\n \n \n payload\n \n AuthenticationCodeGrantTokenRequest\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { HttpService } from '@nestjs/axios';\nimport { Injectable } from '@nestjs/common/decorators';\nimport { AxiosResponse, isAxiosError } from 'axios';\nimport JwksRsa from 'jwks-rsa';\nimport QueryString from 'qs';\nimport { lastValueFrom, Observable } from 'rxjs';\nimport { TokenRequestLoggableException } from '../loggable';\nimport { AuthenticationCodeGrantTokenRequest, OauthTokenResponse } from './dto';\n\n@Injectable()\nexport class OauthAdapterService {\n\tconstructor(private readonly httpService: HttpService) {}\n\n\tasync getPublicKey(jwksUri: string): Promise {\n\t\tconst client: JwksRsa.JwksClient = JwksRsa({\n\t\t\tcache: true,\n\t\t\tjwksUri,\n\t\t});\n\t\tconst key: JwksRsa.SigningKey = await client.getSigningKey();\n\t\treturn key.getPublicKey();\n\t}\n\n\tpublic sendAuthenticationCodeTokenRequest(\n\t\ttokenEndpoint: string,\n\t\tpayload: AuthenticationCodeGrantTokenRequest\n\t): Promise {\n\t\tconst urlEncodedPayload: string = QueryString.stringify(payload);\n\t\tconst responseTokenObservable = this.httpService.post(tokenEndpoint, urlEncodedPayload, {\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/x-www-form-urlencoded',\n\t\t\t},\n\t\t});\n\t\tconst responseData: Promise = this.resolveTokenRequest(responseTokenObservable);\n\t\treturn responseData;\n\t}\n\n\tprivate async resolveTokenRequest(\n\t\tobservable: Observable>\n\t): Promise {\n\t\tlet responseToken: AxiosResponse;\n\t\ttry {\n\t\t\tresponseToken = await lastValueFrom(observable);\n\t\t} catch (error: unknown) {\n\t\t\tif (isAxiosError(error)) {\n\t\t\t\tthrow new TokenRequestLoggableException(error);\n\t\t\t}\n\t\t\tthrow error;\n\t\t}\n\n\t\treturn responseToken.data;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/OauthApiModule.html":{"url":"modules/OauthApiModule.html","title":"module - OauthApiModule","body":"\n \n\n\n\n\n Modules\n OauthApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_OauthApiModule\n\n\n\ncluster_OauthApiModule_imports\n\n\n\ncluster_OauthApiModule_providers\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nOauthApiModule\n\nOauthApiModule\n\nOauthApiModule -->\n\nLoggerModule->OauthApiModule\n\n\n\n\n\nOauthModule\n\nOauthModule\n\nOauthApiModule -->\n\nOauthModule->OauthApiModule\n\n\n\n\n\nHydraOauthUc\n\nHydraOauthUc\n\nOauthApiModule -->\n\nHydraOauthUc->OauthApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/oauth/oauth-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n HydraOauthUc\n \n \n \n \n Controllers\n \n \n OauthSSOController\n \n \n \n \n Imports\n \n \n LoggerModule\n \n \n OauthModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { OauthSSOController } from './controller/oauth-sso.controller';\nimport { OauthModule } from './oauth.module';\nimport { HydraOauthUc } from './uc';\n\n@Module({\n\timports: [OauthModule, LoggerModule],\n\tcontrollers: [OauthSSOController],\n\tproviders: [HydraOauthUc],\n})\nexport class OauthApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthClientBody.html":{"url":"classes/OauthClientBody.html","title":"class - OauthClientBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthClientBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/request/oauth-client.body.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n client_id\n \n \n \n \n \n Optional\n client_name\n \n \n \n \n \n Optional\n client_secret\n \n \n \n \n \n Optional\n frontchannel_logout_uri\n \n \n \n \n \n \n Optional\n grant_types\n \n \n \n \n \n \n Optional\n redirect_uris\n \n \n \n \n \n \n Optional\n response_types\n \n \n \n \n \n Optional\n scope\n \n \n \n \n \n Optional\n subject_type\n \n \n \n \n \n Optional\n token_endpoint_auth_method\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n client_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'The Oauth2 client id.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-client.body.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n client_name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'The Oauth2 client name.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-client.body.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n client_secret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'The Oauth2 client secret.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-client.body.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n frontchannel_logout_uri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'Thr frontchannel logout uri.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-client.body.ts:65\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n grant_types\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@IsOptional()@IsString({each: true})@ApiProperty({description: 'The grant types of the Oauth2 client.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-client.body.ts:71\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n redirect_uris\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@IsOptional()@IsString({each: true})@ApiProperty({description: 'The allowed redirect urls of the Oauth2 client.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-client.body.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n response_types\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@IsOptional()@IsString({each: true})@ApiProperty({description: 'The response types of the Oauth2 client.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-client.body.ts:77\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n scope\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'Scope is a string containing a space-separated list of scope values (as described in Section 3.3 of OAuth 2.0 [RFC6749]) that the client can use when requesting access tokens.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-client.body.ts:56\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n subject_type\n \n \n \n \n \n \n Type : SubjectTypeEnum\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(SubjectTypeEnum)@IsOptional()@ApiProperty({description: 'SubjectType requested for responses to this Client. The subject_types_supported Discovery parameter contains a list of the supported subject_type values for this server. Valid types include pairwise and public.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-client.body.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n token_endpoint_auth_method\n \n \n \n \n \n \n Type : TokenAuthMethod\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(TokenAuthMethod)@IsOptional()@ApiProperty({description: 'Requested Client Authentication method for the Token Endpoint. The options are client_secret_post, client_secret_basic, private_key_jwt, and none.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-client.body.ts:36\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsArray, IsEnum, IsOptional, IsString } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { SubjectTypeEnum } from '@modules/oauth-provider/interface/subject-type.enum';\nimport { TokenAuthMethod } from '@modules/oauth-provider/interface/token-auth-method.enum';\n\nexport class OauthClientBody {\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({ description: 'The Oauth2 client id.', required: false, nullable: false })\n\tclient_id?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({ description: 'The Oauth2 client name.', required: false, nullable: false })\n\tclient_name?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({ description: 'The Oauth2 client secret.', required: false, nullable: false })\n\tclient_secret?: string;\n\n\t@IsArray()\n\t@IsOptional()\n\t@IsString({ each: true })\n\t@ApiProperty({ description: 'The allowed redirect urls of the Oauth2 client.', required: false, nullable: false })\n\tredirect_uris?: string[];\n\n\t@IsEnum(TokenAuthMethod)\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'Requested Client Authentication method for the Token Endpoint. The options are client_secret_post, client_secret_basic, private_key_jwt, and none.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\ttoken_endpoint_auth_method?: TokenAuthMethod;\n\n\t@IsEnum(SubjectTypeEnum)\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'SubjectType requested for responses to this Client. The subject_types_supported Discovery parameter contains a list of the supported subject_type values for this server. Valid types include pairwise and public.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\tsubject_type?: SubjectTypeEnum;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'Scope is a string containing a space-separated list of scope values (as described in Section 3.3 of OAuth 2.0 [RFC6749]) that the client can use when requesting access tokens.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\tscope?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'Thr frontchannel logout uri.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\tfrontchannel_logout_uri?: string;\n\n\t@IsArray()\n\t@IsOptional()\n\t@IsString({ each: true })\n\t@ApiProperty({ description: 'The grant types of the Oauth2 client.', required: false, nullable: false })\n\tgrant_types?: string[];\n\n\t@IsArray()\n\t@IsOptional()\n\t@IsString({ each: true })\n\t@ApiProperty({ description: 'The response types of the Oauth2 client.', required: false, nullable: false })\n\tresponse_types?: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthConfig.html":{"url":"classes/OauthConfig.html","title":"class - OauthConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/domain/oauth-config.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n authEndpoint\n \n \n clientId\n \n \n clientSecret\n \n \n grantType\n \n \n Optional\n idpHint\n \n \n issuer\n \n \n jwksEndpoint\n \n \n Optional\n logoutEndpoint\n \n \n provider\n \n \n redirectUri\n \n \n responseType\n \n \n scope\n \n \n tokenEndpoint\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthConfigDto: OauthConfig)\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:29\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthConfigDto\n \n \n OauthConfig\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n authEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n clientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n clientSecret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n grantType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n idpHint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n issuer\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n jwksEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n logoutEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:25\n \n \n\n \n \n If this is set it will be used to redirect the user after login to the logout endpoint of the identity provider.\n\n \n \n\n \n \n \n \n \n \n \n \n provider\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n redirectUri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n responseType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n scope\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n tokenEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class OauthConfig {\n\tclientId: string;\n\n\tclientSecret: string;\n\n\tidpHint?: string;\n\n\tredirectUri: string;\n\n\tgrantType: string;\n\n\ttokenEndpoint: string;\n\n\tauthEndpoint: string;\n\n\tresponseType: string;\n\n\tscope: string;\n\n\tprovider: string;\n\n\t/**\n\t * If this is set it will be used to redirect the user after login to the logout endpoint of the identity provider.\n\t */\n\tlogoutEndpoint?: string;\n\n\tissuer: string;\n\n\tjwksEndpoint: string;\n\n\tconstructor(oauthConfigDto: OauthConfig) {\n\t\tthis.clientId = oauthConfigDto.clientId;\n\t\tthis.clientSecret = oauthConfigDto.clientSecret;\n\t\tthis.idpHint = oauthConfigDto.idpHint;\n\t\tthis.redirectUri = oauthConfigDto.redirectUri;\n\t\tthis.grantType = oauthConfigDto.grantType;\n\t\tthis.tokenEndpoint = oauthConfigDto.tokenEndpoint;\n\t\tthis.authEndpoint = oauthConfigDto.authEndpoint;\n\t\tthis.responseType = oauthConfigDto.responseType;\n\t\tthis.scope = oauthConfigDto.scope;\n\t\tthis.provider = oauthConfigDto.provider;\n\t\tthis.logoutEndpoint = oauthConfigDto.logoutEndpoint;\n\t\tthis.issuer = oauthConfigDto.issuer;\n\t\tthis.jwksEndpoint = oauthConfigDto.jwksEndpoint;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthConfigDto.html":{"url":"classes/OauthConfigDto.html","title":"class - OauthConfigDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthConfigDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/service/dto/oauth-config.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n authEndpoint\n \n \n clientId\n \n \n clientSecret\n \n \n grantType\n \n \n Optional\n idpHint\n \n \n issuer\n \n \n jwksEndpoint\n \n \n Optional\n logoutEndpoint\n \n \n provider\n \n \n redirectUri\n \n \n responseType\n \n \n scope\n \n \n tokenEndpoint\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthConfigDto: OauthConfigDto)\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:29\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthConfigDto\n \n \n OauthConfigDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n authEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n clientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n clientSecret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n grantType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n idpHint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n issuer\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n jwksEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n logoutEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:25\n \n \n\n \n \n If this is set it will be used to redirect the user after login to the logout endpoint of the identity provider.\n\n \n \n\n \n \n \n \n \n \n \n \n provider\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n redirectUri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n responseType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n scope\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n tokenEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class OauthConfigDto {\n\tclientId: string;\n\n\tclientSecret: string;\n\n\tidpHint?: string;\n\n\tredirectUri: string;\n\n\tgrantType: string;\n\n\ttokenEndpoint: string;\n\n\tauthEndpoint: string;\n\n\tresponseType: string;\n\n\tscope: string;\n\n\tprovider: string;\n\n\t/**\n\t * If this is set it will be used to redirect the user after login to the logout endpoint of the identity provider.\n\t */\n\tlogoutEndpoint?: string;\n\n\tissuer: string;\n\n\tjwksEndpoint: string;\n\n\tconstructor(oauthConfigDto: OauthConfigDto) {\n\t\tthis.clientId = oauthConfigDto.clientId;\n\t\tthis.clientSecret = oauthConfigDto.clientSecret;\n\t\tthis.idpHint = oauthConfigDto.idpHint;\n\t\tthis.redirectUri = oauthConfigDto.redirectUri;\n\t\tthis.grantType = oauthConfigDto.grantType;\n\t\tthis.tokenEndpoint = oauthConfigDto.tokenEndpoint;\n\t\tthis.authEndpoint = oauthConfigDto.authEndpoint;\n\t\tthis.responseType = oauthConfigDto.responseType;\n\t\tthis.scope = oauthConfigDto.scope;\n\t\tthis.provider = oauthConfigDto.provider;\n\t\tthis.logoutEndpoint = oauthConfigDto.logoutEndpoint;\n\t\tthis.issuer = oauthConfigDto.issuer;\n\t\tthis.jwksEndpoint = oauthConfigDto.jwksEndpoint;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthConfigEntity.html":{"url":"classes/OauthConfigEntity.html","title":"class - OauthConfigEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthConfigEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/system.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n authEndpoint\n \n \n \n clientId\n \n \n \n clientSecret\n \n \n \n grantType\n \n \n \n Optional\n idpHint\n \n \n \n issuer\n \n \n \n jwksEndpoint\n \n \n \n Optional\n logoutEndpoint\n \n \n \n provider\n \n \n \n redirectUri\n \n \n \n responseType\n \n \n \n scope\n \n \n \n tokenEndpoint\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthConfig: OauthConfigEntity)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthConfig\n \n \n OauthConfigEntity\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n authEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n \n clientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n clientSecret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n \n grantType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:48\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n idpHint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n \n issuer\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:69\n \n \n\n\n \n \n \n \n \n \n \n \n \n jwksEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:72\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n logoutEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:66\n \n \n\n\n \n \n \n \n \n \n \n \n \n provider\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:63\n \n \n\n\n \n \n \n \n \n \n \n \n \n redirectUri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:45\n \n \n\n\n \n \n \n \n \n \n \n \n \n responseType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:57\n \n \n\n\n \n \n \n \n \n \n \n \n \n scope\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:60\n \n \n\n\n \n \n \n \n \n \n \n \n \n tokenEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:51\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Embedded, Entity, Enum, Property } from '@mikro-orm/core';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface SystemEntityProps {\n\ttype: string;\n\turl?: string;\n\talias?: string;\n\tdisplayName?: string;\n\toauthConfig?: OauthConfigEntity;\n\toidcConfig?: OidcConfigEntity;\n\tldapConfig?: LdapConfigEntity;\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\tprovisioningUrl?: string;\n}\n\nexport class OauthConfigEntity {\n\tconstructor(oauthConfig: OauthConfigEntity) {\n\t\tthis.clientId = oauthConfig.clientId;\n\t\tthis.clientSecret = oauthConfig.clientSecret;\n\t\tthis.idpHint = oauthConfig.idpHint;\n\t\tthis.tokenEndpoint = oauthConfig.tokenEndpoint;\n\t\tthis.grantType = oauthConfig.grantType;\n\t\tthis.redirectUri = oauthConfig.redirectUri;\n\t\tthis.scope = oauthConfig.scope;\n\t\tthis.responseType = oauthConfig.responseType;\n\t\tthis.authEndpoint = oauthConfig.authEndpoint;\n\t\tthis.provider = oauthConfig.provider;\n\t\tthis.logoutEndpoint = oauthConfig.logoutEndpoint;\n\t\tthis.issuer = oauthConfig.issuer;\n\t\tthis.jwksEndpoint = oauthConfig.jwksEndpoint;\n\t}\n\n\t@Property()\n\tclientId: string;\n\n\t@Property()\n\tclientSecret: string;\n\n\t@Property({ nullable: true })\n\tidpHint?: string;\n\n\t@Property()\n\tredirectUri: string;\n\n\t@Property()\n\tgrantType: string;\n\n\t@Property()\n\ttokenEndpoint: string;\n\n\t@Property()\n\tauthEndpoint: string;\n\n\t@Property()\n\tresponseType: string;\n\n\t@Property()\n\tscope: string;\n\n\t@Property()\n\tprovider: string;\n\n\t@Property({ nullable: true })\n\tlogoutEndpoint?: string;\n\n\t@Property()\n\tissuer: string;\n\n\t@Property()\n\tjwksEndpoint: string;\n}\n\n@Embeddable()\nexport class LdapConfigEntity {\n\tconstructor(ldapConfig: Readonly) {\n\t\tthis.active = ldapConfig.active;\n\t\tthis.federalState = ldapConfig.federalState;\n\t\tthis.lastSyncAttempt = ldapConfig.lastSyncAttempt;\n\t\tthis.lastSuccessfulFullSync = ldapConfig.lastSuccessfulFullSync;\n\t\tthis.lastSuccessfulPartialSync = ldapConfig.lastSuccessfulPartialSync;\n\t\tthis.lastModifyTimestamp = ldapConfig.lastModifyTimestamp;\n\t\tthis.url = ldapConfig.url;\n\t\tthis.rootPath = ldapConfig.rootPath;\n\t\tthis.searchUser = ldapConfig.searchUser;\n\t\tthis.searchUserPassword = ldapConfig.searchUserPassword;\n\t\tthis.provider = ldapConfig.provider;\n\t\tthis.providerOptions = ldapConfig.providerOptions;\n\t}\n\n\t@Property({ nullable: true })\n\tactive?: boolean;\n\n\t@Property({ nullable: true })\n\tfederalState?: EntityId;\n\n\t@Property({ nullable: true })\n\tlastSyncAttempt?: Date;\n\n\t@Property({ nullable: true })\n\tlastSuccessfulFullSync?: Date;\n\n\t@Property({ nullable: true })\n\tlastSuccessfulPartialSync?: Date;\n\n\t@Property({ nullable: true })\n\tlastModifyTimestamp?: string;\n\n\t@Property()\n\turl: string;\n\n\t@Property({ nullable: true })\n\trootPath?: string;\n\n\t@Property({ nullable: true })\n\tsearchUser?: string;\n\n\t@Property({ nullable: true })\n\tsearchUserPassword?: string;\n\n\t@Property({ nullable: true })\n\tprovider?: string;\n\n\t@Property({ nullable: true })\n\tproviderOptions?: {\n\t\tschoolName?: string;\n\t\tuserPathAdditions?: string;\n\t\tclassPathAdditions?: string;\n\t\troleType?: string;\n\t\tuserAttributeNameMapping?: {\n\t\t\tgivenName?: string;\n\t\t\tsn?: string;\n\t\t\tdn?: string;\n\t\t\tuuid?: string;\n\t\t\tuid?: string;\n\t\t\tmail?: string;\n\t\t\trole?: string;\n\t\t};\n\t\troleAttributeNameMapping?: {\n\t\t\troleStudent?: string;\n\t\t\troleTeacher?: string;\n\t\t\troleAdmin?: string;\n\t\t\troleNoSc?: string;\n\t\t};\n\t\tclassAttributeNameMapping?: {\n\t\t\tdescription?: string;\n\t\t\tdn?: string;\n\t\t\tuniqueMember?: string;\n\t\t};\n\t};\n}\nexport class OidcConfigEntity {\n\tconstructor(oidcConfig: OidcConfigEntity) {\n\t\tthis.clientId = oidcConfig.clientId;\n\t\tthis.clientSecret = oidcConfig.clientSecret;\n\t\tthis.idpHint = oidcConfig.idpHint;\n\t\tthis.authorizationUrl = oidcConfig.authorizationUrl;\n\t\tthis.tokenUrl = oidcConfig.tokenUrl;\n\t\tthis.logoutUrl = oidcConfig.logoutUrl;\n\t\tthis.userinfoUrl = oidcConfig.userinfoUrl;\n\t\tthis.defaultScopes = oidcConfig.defaultScopes;\n\t}\n\n\t@Property()\n\tclientId: string;\n\n\t@Property()\n\tclientSecret: string;\n\n\t@Property()\n\tidpHint: string;\n\n\t@Property()\n\tauthorizationUrl: string;\n\n\t@Property()\n\ttokenUrl: string;\n\n\t@Property()\n\tlogoutUrl: string;\n\n\t@Property()\n\tuserinfoUrl: string;\n\n\t@Property()\n\tdefaultScopes: string;\n}\n\n@Entity({ tableName: 'systems' })\nexport class SystemEntity extends BaseEntityWithTimestamps {\n\tconstructor(props: SystemEntityProps) {\n\t\tsuper();\n\t\tthis.type = props.type;\n\t\tthis.url = props.url;\n\t\tthis.alias = props.alias;\n\t\tthis.displayName = props.displayName;\n\t\tthis.oauthConfig = props.oauthConfig;\n\t\tthis.oidcConfig = props.oidcConfig;\n\t\tthis.ldapConfig = props.ldapConfig;\n\t\tthis.provisioningStrategy = props.provisioningStrategy;\n\t\tthis.provisioningUrl = props.provisioningUrl;\n\t}\n\n\t@Property({ nullable: false })\n\ttype: string; // see legacy enum for valid values\n\n\t@Property({ nullable: true })\n\turl?: string;\n\n\t@Property({ nullable: true })\n\talias?: string;\n\n\t@Property({ nullable: true })\n\tdisplayName?: string;\n\n\t@Property({ nullable: true })\n\toauthConfig?: OauthConfigEntity;\n\n\t@Property({ nullable: true })\n\t@Enum()\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\n\t@Property({ nullable: true })\n\toidcConfig?: OidcConfigEntity;\n\n\t@Embedded({ entity: () => LdapConfigEntity, object: true, nullable: true })\n\tldapConfig?: LdapConfigEntity;\n\n\t@Property({ nullable: true })\n\tprovisioningUrl?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthConfigMissingLoggableException.html":{"url":"classes/OauthConfigMissingLoggableException.html","title":"class - OauthConfigMissingLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthConfigMissingLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/loggable/oauth-config-missing-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n OauthSsoErrorLoggableException\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(systemId: string)\n \n \n \n \n Defined in apps/server/src/modules/oauth/loggable/oauth-config-missing-loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemId\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \n \n getLogMessage()\n \n \n\n\n \n \n Inherited from OauthSsoErrorLoggableException\n\n \n \n \n \n Defined in OauthSsoErrorLoggableException:9\n\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { OauthSsoErrorLoggableException } from './oauth-sso-error-loggable-exception';\n\nexport class OauthConfigMissingLoggableException extends OauthSsoErrorLoggableException {\n\tconstructor(private readonly systemId: string) {\n\t\tsuper();\n\t}\n\n\toverride getLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'SSO_INTERNAL_ERROR',\n\t\t\tmessage: 'Requested system has no oauth configured',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tsystemId: this.systemId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthConfigResponse.html":{"url":"classes/OauthConfigResponse.html","title":"class - OauthConfigResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthConfigResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/controller/dto/oauth-config.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n authEndpoint\n \n \n \n clientId\n \n \n \n grantType\n \n \n \n Optional\n idpHint\n \n \n \n issuer\n \n \n \n jwksEndpoint\n \n \n \n Optional\n logoutEndpoint\n \n \n \n provider\n \n \n \n redirectUri\n \n \n \n responseType\n \n \n \n scope\n \n \n \n tokenEndpoint\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthConfigResponse: literal type)\n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:86\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthConfigResponse\n \n \n literal type\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n authEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Auth endpoint', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n \n clientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Client id', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n \n grantType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Grant type', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n idpHint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Hint for idp redirects (optional)', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n issuer\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Issuer', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:79\n \n \n\n\n \n \n \n \n \n \n \n \n \n jwksEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Jwks endpoint', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:86\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n logoutEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Logout endpoint', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:72\n \n \n\n\n \n \n \n \n \n \n \n \n \n provider\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Provider', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:65\n \n \n\n\n \n \n \n \n \n \n \n \n \n redirectUri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Redirect uri', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n responseType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Response type', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:51\n \n \n\n\n \n \n \n \n \n \n \n \n \n scope\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Scope', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n \n tokenEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Token endpoint', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:37\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class OauthConfigResponse {\n\t@ApiProperty({\n\t\tdescription: 'Client id',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tclientId: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Hint for idp redirects (optional)',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\tidpHint?: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Redirect uri',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tredirectUri: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Grant type',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tgrantType: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Token endpoint',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\ttokenEndpoint: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Auth endpoint',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tauthEndpoint: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Response type',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tresponseType: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Scope',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tscope: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Provider',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tprovider: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Logout endpoint',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\tlogoutEndpoint?: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Issuer',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tissuer: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Jwks endpoint',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tjwksEndpoint: string;\n\n\tconstructor(oauthConfigResponse: {\n\t\tredirectUri: string;\n\t\tidpHint?: string;\n\t\ttokenEndpoint: string;\n\t\tresponseType: string;\n\t\tclientId: string;\n\t\tprovider: string;\n\t\tjwksEndpoint: string;\n\t\tauthEndpoint: string;\n\t\tscope: string;\n\t\tlogoutEndpoint?: string;\n\t\tgrantType: string;\n\t\tissuer: string;\n\t}) {\n\t\tthis.clientId = oauthConfigResponse.clientId;\n\t\tthis.idpHint = oauthConfigResponse.idpHint;\n\t\tthis.redirectUri = oauthConfigResponse.redirectUri;\n\t\tthis.grantType = oauthConfigResponse.grantType;\n\t\tthis.tokenEndpoint = oauthConfigResponse.tokenEndpoint;\n\t\tthis.authEndpoint = oauthConfigResponse.authEndpoint;\n\t\tthis.responseType = oauthConfigResponse.responseType;\n\t\tthis.scope = oauthConfigResponse.scope;\n\t\tthis.provider = oauthConfigResponse.provider;\n\t\tthis.logoutEndpoint = oauthConfigResponse.logoutEndpoint;\n\t\tthis.issuer = oauthConfigResponse.issuer;\n\t\tthis.jwksEndpoint = oauthConfigResponse.jwksEndpoint;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/OauthCurrentUser.html":{"url":"interfaces/OauthCurrentUser.html","title":"interface - OauthCurrentUser","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n OauthCurrentUser\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/interface/oauth-current-user.ts\n \n\n\n\n \n Extends\n \n \n ICurrentUser\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n externalIdToken\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n externalIdToken\n \n \n \n \n \n \n \n \n externalIdToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Contains the idToken of the external idp. Will be set during oAuth2 login and used for rp initiated logout\n\n \n \n \n \n \n \n\n\n \n import { ICurrentUser } from './user';\n\nexport interface OauthCurrentUser extends ICurrentUser {\n\t/** Contains the idToken of the external idp. Will be set during oAuth2 login and used for rp initiated logout */\n\texternalIdToken?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthDataDto.html":{"url":"classes/OauthDataDto.html","title":"class - OauthDataDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthDataDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/dto/oauth-data.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n externalGroups\n \n \n Optional\n externalSchool\n \n \n externalUser\n \n \n system\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: OauthDataDto)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/oauth-data.dto.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n OauthDataDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n externalGroups\n \n \n \n \n \n \n Type : ExternalGroupDto[]\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/oauth-data.dto.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n externalSchool\n \n \n \n \n \n \n Type : ExternalSchoolDto\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/oauth-data.dto.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n externalUser\n \n \n \n \n \n \n Type : ExternalUserDto\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/oauth-data.dto.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n system\n \n \n \n \n \n \n Type : ProvisioningSystemDto\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/oauth-data.dto.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ExternalUserDto } from './external-user.dto';\nimport { ExternalSchoolDto } from './external-school.dto';\nimport { ProvisioningSystemDto } from './provisioning-system.dto';\nimport { ExternalGroupDto } from './external-group.dto';\n\nexport class OauthDataDto {\n\tsystem: ProvisioningSystemDto;\n\n\texternalUser: ExternalUserDto;\n\n\texternalSchool?: ExternalSchoolDto;\n\n\texternalGroups?: ExternalGroupDto[];\n\n\tconstructor(props: OauthDataDto) {\n\t\tthis.system = props.system;\n\t\tthis.externalUser = props.externalUser;\n\t\tthis.externalSchool = props.externalSchool;\n\t\tthis.externalGroups = props.externalGroups;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthDataStrategyInputDto.html":{"url":"classes/OauthDataStrategyInputDto.html","title":"class - OauthDataStrategyInputDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthDataStrategyInputDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/dto/oauth-data-strategy-input.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n accessToken\n \n \n idToken\n \n \n system\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: OauthDataStrategyInputDto)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/oauth-data-strategy-input.dto.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n OauthDataStrategyInputDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n accessToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/oauth-data-strategy-input.dto.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n idToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/oauth-data-strategy-input.dto.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n system\n \n \n \n \n \n \n Type : ProvisioningSystemDto\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/oauth-data-strategy-input.dto.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ProvisioningSystemDto } from './provisioning-system.dto';\n\nexport class OauthDataStrategyInputDto {\n\taccessToken: string;\n\n\tidToken: string;\n\n\tsystem: ProvisioningSystemDto;\n\n\tconstructor(props: OauthDataStrategyInputDto) {\n\t\tthis.accessToken = props.accessToken;\n\t\tthis.idToken = props.idToken;\n\t\tthis.system = props.system;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthLoginResponse.html":{"url":"classes/OauthLoginResponse.html","title":"class - OauthLoginResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthLoginResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/controllers/dto/oauth-login.response.ts\n \n\n\n\n \n Extends\n \n \n LoginResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n externalIdToken\n \n \n \n accessToken\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: OauthLoginResponse)\n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/oauth-login.response.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n OauthLoginResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n externalIdToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The external id token which is from the external oauth system and set when scope openid is available.'})\n \n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/oauth-login.response.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n \n accessToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Inherited from LoginResponse\n\n \n \n \n \n Defined in LoginResponse:5\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { LoginResponse } from './login.response';\n\nexport class OauthLoginResponse extends LoginResponse {\n\t@ApiPropertyOptional({\n\t\tdescription:\n\t\t\t'The external id token which is from the external oauth system and set when scope openid is available.',\n\t})\n\texternalIdToken?: string;\n\n\tconstructor(props: OauthLoginResponse) {\n\t\tsuper(props);\n\t\tthis.externalIdToken = props.externalIdToken;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/OauthModule.html":{"url":"modules/OauthModule.html","title":"module - OauthModule","body":"\n \n\n\n\n\n Modules\n OauthModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_OauthModule\n\n\n\ncluster_OauthModule_providers\n\n\n\ncluster_OauthModule_imports\n\n\n\ncluster_OauthModule_exports\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nOauthModule\n\nOauthModule\n\nOauthModule -->\n\nAuthorizationModule->OauthModule\n\n\n\n\n\nCacheWrapperModule\n\nCacheWrapperModule\n\nOauthModule -->\n\nCacheWrapperModule->OauthModule\n\n\n\n\n\nEncryptionModule\n\nEncryptionModule\n\nOauthModule -->\n\nEncryptionModule->OauthModule\n\n\n\n\n\nLegacySchoolModule\n\nLegacySchoolModule\n\nOauthModule -->\n\nLegacySchoolModule->OauthModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nOauthModule -->\n\nLoggerModule->OauthModule\n\n\n\n\n\nProvisioningModule\n\nProvisioningModule\n\nOauthModule -->\n\nProvisioningModule->OauthModule\n\n\n\n\n\nSystemModule\n\nSystemModule\n\nOauthModule -->\n\nSystemModule->OauthModule\n\n\n\n\n\nUserLoginMigrationModule\n\nUserLoginMigrationModule\n\nOauthModule -->\n\nUserLoginMigrationModule->OauthModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nOauthModule -->\n\nUserModule->OauthModule\n\n\n\n\n\nHydraSsoService \n\nHydraSsoService \n\nHydraSsoService -->\n\nOauthModule->HydraSsoService \n\n\n\n\n\nOAuthService \n\nOAuthService \n\nOAuthService -->\n\nOauthModule->OAuthService \n\n\n\n\n\nHydraSsoService\n\nHydraSsoService\n\nOauthModule -->\n\nHydraSsoService->OauthModule\n\n\n\n\n\nLtiToolRepo\n\nLtiToolRepo\n\nOauthModule -->\n\nLtiToolRepo->OauthModule\n\n\n\n\n\nOAuthService\n\nOAuthService\n\nOauthModule -->\n\nOAuthService->OauthModule\n\n\n\n\n\nOauthAdapterService\n\nOauthAdapterService\n\nOauthModule -->\n\nOauthAdapterService->OauthModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/oauth/oauth.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n HydraSsoService\n \n \n LtiToolRepo\n \n \n OAuthService\n \n \n OauthAdapterService\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n CacheWrapperModule\n \n \n EncryptionModule\n \n \n LegacySchoolModule\n \n \n LoggerModule\n \n \n ProvisioningModule\n \n \n SystemModule\n \n \n UserLoginMigrationModule\n \n \n UserModule\n \n \n \n \n Exports\n \n \n HydraSsoService\n \n \n OAuthService\n \n \n \n \n \n\n\n \n\n\n \n import { CacheWrapperModule } from '@infra/cache';\nimport { EncryptionModule } from '@infra/encryption';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { LegacySchoolModule } from '@modules/legacy-school';\nimport { ProvisioningModule } from '@modules/provisioning';\nimport { SystemModule } from '@modules/system';\nimport { UserModule } from '@modules/user';\nimport { UserLoginMigrationModule } from '@modules/user-login-migration';\nimport { HttpModule } from '@nestjs/axios';\nimport { Module } from '@nestjs/common';\nimport { LtiToolRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { HydraSsoService } from './service/hydra.service';\nimport { OauthAdapterService } from './service/oauth-adapter.service';\nimport { OAuthService } from './service/oauth.service';\n\n@Module({\n\timports: [\n\t\tLoggerModule,\n\t\tAuthorizationModule,\n\t\tHttpModule,\n\t\tEncryptionModule,\n\t\tUserModule,\n\t\tProvisioningModule,\n\t\tSystemModule,\n\t\tCacheWrapperModule,\n\t\tUserLoginMigrationModule,\n\t\tLegacySchoolModule,\n\t],\n\tproviders: [OAuthService, OauthAdapterService, HydraSsoService, LtiToolRepo],\n\texports: [OAuthService, HydraSsoService],\n})\nexport class OauthModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/OauthProviderApiModule.html":{"url":"modules/OauthProviderApiModule.html","title":"module - OauthProviderApiModule","body":"\n \n\n\n\n\n Modules\n OauthProviderApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_OauthProviderApiModule\n\n\n\ncluster_OauthProviderApiModule_imports\n\n\n\ncluster_OauthProviderApiModule_providers\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nOauthProviderApiModule\n\nOauthProviderApiModule\n\nOauthProviderApiModule -->\n\nAuthorizationModule->OauthProviderApiModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nOauthProviderApiModule -->\n\nLoggerModule->OauthProviderApiModule\n\n\n\n\n\nOauthProviderModule\n\nOauthProviderModule\n\nOauthProviderApiModule -->\n\nOauthProviderModule->OauthProviderApiModule\n\n\n\n\n\nOauthProviderServiceModule\n\nOauthProviderServiceModule\n\nOauthProviderApiModule -->\n\nOauthProviderServiceModule->OauthProviderApiModule\n\n\n\n\n\nPseudonymModule\n\nPseudonymModule\n\nOauthProviderApiModule -->\n\nPseudonymModule->OauthProviderApiModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nOauthProviderApiModule -->\n\nUserModule->OauthProviderApiModule\n\n\n\n\n\nOauthProviderClientCrudUc\n\nOauthProviderClientCrudUc\n\nOauthProviderApiModule -->\n\nOauthProviderClientCrudUc->OauthProviderApiModule\n\n\n\n\n\nOauthProviderConsentFlowUc\n\nOauthProviderConsentFlowUc\n\nOauthProviderApiModule -->\n\nOauthProviderConsentFlowUc->OauthProviderApiModule\n\n\n\n\n\nOauthProviderLoginFlowUc\n\nOauthProviderLoginFlowUc\n\nOauthProviderApiModule -->\n\nOauthProviderLoginFlowUc->OauthProviderApiModule\n\n\n\n\n\nOauthProviderLogoutFlowUc\n\nOauthProviderLogoutFlowUc\n\nOauthProviderApiModule -->\n\nOauthProviderLogoutFlowUc->OauthProviderApiModule\n\n\n\n\n\nOauthProviderResponseMapper\n\nOauthProviderResponseMapper\n\nOauthProviderApiModule -->\n\nOauthProviderResponseMapper->OauthProviderApiModule\n\n\n\n\n\nOauthProviderUc\n\nOauthProviderUc\n\nOauthProviderApiModule -->\n\nOauthProviderUc->OauthProviderApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/oauth-provider/oauth-provider-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n OauthProviderClientCrudUc\n \n \n OauthProviderConsentFlowUc\n \n \n OauthProviderLoginFlowUc\n \n \n OauthProviderLogoutFlowUc\n \n \n OauthProviderResponseMapper\n \n \n OauthProviderUc\n \n \n \n \n Controllers\n \n \n OauthProviderController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n LoggerModule\n \n \n OauthProviderModule\n \n \n OauthProviderServiceModule\n \n \n PseudonymModule\n \n \n UserModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { OauthProviderServiceModule } from '@infra/oauth-provider';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { PseudonymModule } from '@modules/pseudonym';\nimport { UserModule } from '@modules/user';\nimport { OauthProviderController } from './controller/oauth-provider.controller';\nimport { OauthProviderResponseMapper } from './mapper/oauth-provider-response.mapper';\nimport { OauthProviderModule } from './oauth-provider.module';\nimport {\n\tOauthProviderClientCrudUc,\n\tOauthProviderConsentFlowUc,\n\tOauthProviderLoginFlowUc,\n\tOauthProviderLogoutFlowUc,\n\tOauthProviderUc,\n} from './uc';\n\n@Module({\n\timports: [\n\t\tOauthProviderServiceModule,\n\t\tOauthProviderModule,\n\t\tPseudonymModule,\n\t\tLoggerModule,\n\t\tAuthorizationModule,\n\t\tUserModule,\n\t],\n\tproviders: [\n\t\tOauthProviderUc,\n\t\tOauthProviderClientCrudUc,\n\t\tOauthProviderConsentFlowUc,\n\t\tOauthProviderLogoutFlowUc,\n\t\tOauthProviderLoginFlowUc,\n\t\tOauthProviderResponseMapper,\n\t],\n\tcontrollers: [OauthProviderController],\n})\nexport class OauthProviderApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OauthProviderClientCrudUc.html":{"url":"injectables/OauthProviderClientCrudUc.html","title":"injectable - OauthProviderClientCrudUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OauthProviderClientCrudUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/uc/oauth-provider.client-crud.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n defaultOauthClientBody\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createOAuth2Client\n \n \n Async\n deleteOAuth2Client\n \n \n Async\n getOAuth2Client\n \n \n Async\n listOAuth2Clients\n \n \n Async\n updateOAuth2Client\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthProviderService: OauthProviderService, authorizationService: AuthorizationService)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.client-crud.uc.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthProviderService\n \n \n OauthProviderService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createOAuth2Client\n \n \n \n \n \n \n \n createOAuth2Client(currentUser: ICurrentUser, data: ProviderOauthClient)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.client-crud.uc.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n data\n \n ProviderOauthClient\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteOAuth2Client\n \n \n \n \n \n \n \n deleteOAuth2Client(currentUser: ICurrentUser, id: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.client-crud.uc.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getOAuth2Client\n \n \n \n \n \n \n \n getOAuth2Client(currentUser: ICurrentUser, id: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.client-crud.uc.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n listOAuth2Clients\n \n \n \n \n \n \n \n listOAuth2Clients(currentUser: ICurrentUser, limit?: number, offset?: number, client_name?: string, owner?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.client-crud.uc.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n limit\n \n number\n \n\n \n Yes\n \n\n\n \n \n offset\n \n number\n \n\n \n Yes\n \n\n\n \n \n client_name\n \n string\n \n\n \n Yes\n \n\n\n \n \n owner\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateOAuth2Client\n \n \n \n \n \n \n \n updateOAuth2Client(currentUser: ICurrentUser, id: string, data: ProviderOauthClient)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.client-crud.uc.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n data\n \n ProviderOauthClient\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n defaultOauthClientBody\n \n \n \n \n \n \n Type : ProviderOauthClient\n\n \n \n \n \n Default value : {\n\t\tscope: 'openid offline',\n\t\tgrant_types: ['authorization_code', 'refresh_token'],\n\t\tresponse_types: ['code', 'token', 'id_token'],\n\t\tredirect_uris: [],\n\t}\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.client-crud.uc.ts:16\n \n \n\n\n \n \n\n\n \n\n\n \n import { ProviderOauthClient } from '@infra/oauth-provider/dto';\nimport { OauthProviderService } from '@infra/oauth-provider/index';\nimport { ICurrentUser } from '@modules/authentication';\nimport { AuthorizationService } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport { User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\n\n@Injectable()\nexport class OauthProviderClientCrudUc {\n\tconstructor(\n\t\tprivate readonly oauthProviderService: OauthProviderService,\n\t\tprivate readonly authorizationService: AuthorizationService\n\t) {}\n\n\tprivate readonly defaultOauthClientBody: ProviderOauthClient = {\n\t\tscope: 'openid offline',\n\t\tgrant_types: ['authorization_code', 'refresh_token'],\n\t\tresponse_types: ['code', 'token', 'id_token'],\n\t\tredirect_uris: [],\n\t};\n\n\tasync listOAuth2Clients(\n\t\tcurrentUser: ICurrentUser,\n\t\tlimit?: number,\n\t\toffset?: number,\n\t\tclient_name?: string,\n\t\towner?: string\n\t): Promise {\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(currentUser.userId);\n\t\tthis.authorizationService.checkAllPermissions(user, [Permission.OAUTH_CLIENT_VIEW]);\n\n\t\tconst client: ProviderOauthClient[] = await this.oauthProviderService.listOAuth2Clients(\n\t\t\tlimit,\n\t\t\toffset,\n\t\t\tclient_name,\n\t\t\towner\n\t\t);\n\t\treturn client;\n\t}\n\n\tasync getOAuth2Client(currentUser: ICurrentUser, id: string): Promise {\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(currentUser.userId);\n\t\tthis.authorizationService.checkAllPermissions(user, [Permission.OAUTH_CLIENT_VIEW]);\n\n\t\tconst client: ProviderOauthClient = await this.oauthProviderService.getOAuth2Client(id);\n\n\t\treturn client;\n\t}\n\n\tasync createOAuth2Client(currentUser: ICurrentUser, data: ProviderOauthClient): Promise {\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(currentUser.userId);\n\t\tthis.authorizationService.checkAllPermissions(user, [Permission.OAUTH_CLIENT_EDIT]);\n\n\t\tconst dataWithDefaults: ProviderOauthClient = { ...this.defaultOauthClientBody, ...data };\n\t\tconst client: ProviderOauthClient = await this.oauthProviderService.createOAuth2Client(dataWithDefaults);\n\t\treturn client;\n\t}\n\n\tasync updateOAuth2Client(\n\t\tcurrentUser: ICurrentUser,\n\t\tid: string,\n\t\tdata: ProviderOauthClient\n\t): Promise {\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(currentUser.userId);\n\t\tthis.authorizationService.checkAllPermissions(user, [Permission.OAUTH_CLIENT_EDIT]);\n\n\t\tconst dataWithDefaults: ProviderOauthClient = { ...this.defaultOauthClientBody, ...data };\n\t\tconst client: ProviderOauthClient = await this.oauthProviderService.updateOAuth2Client(id, dataWithDefaults);\n\t\treturn client;\n\t}\n\n\tasync deleteOAuth2Client(currentUser: ICurrentUser, id: string): Promise {\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(currentUser.userId);\n\t\tthis.authorizationService.checkAllPermissions(user, [Permission.OAUTH_CLIENT_EDIT]);\n\n\t\treturn this.oauthProviderService.deleteOAuth2Client(id);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OauthProviderConsentFlowUc.html":{"url":"injectables/OauthProviderConsentFlowUc.html","title":"injectable - OauthProviderConsentFlowUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OauthProviderConsentFlowUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/uc/oauth-provider.consent-flow.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n acceptConsentRequest\n \n \n Async\n getConsentRequest\n \n \n Async\n patchConsentRequest\n \n \n Private\n rejectConsentRequest\n \n \n Private\n validateSubject\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthProviderService: OauthProviderService, idTokenService: IdTokenService)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.consent-flow.uc.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthProviderService\n \n \n OauthProviderService\n \n \n \n No\n \n \n \n \n idTokenService\n \n \n IdTokenService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n acceptConsentRequest\n \n \n \n \n \n \n \n acceptConsentRequest(challenge: string, body: AcceptConsentRequestBody, userId: string, requested_scope: string[] | undefined, client_id: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.consent-flow.uc.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n body\n \n AcceptConsentRequestBody\n \n\n \n No\n \n\n\n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n requested_scope\n \n string[] | undefined\n \n\n \n No\n \n\n\n \n \n client_id\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getConsentRequest\n \n \n \n \n \n \n \n getConsentRequest(challenge: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.consent-flow.uc.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n patchConsentRequest\n \n \n \n \n \n \n \n patchConsentRequest(challenge: string, query: AcceptQuery, body: ConsentRequestBody, currentUser: ICurrentUser)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.consent-flow.uc.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n query\n \n AcceptQuery\n \n\n \n No\n \n\n\n \n \n body\n \n ConsentRequestBody\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n rejectConsentRequest\n \n \n \n \n \n \n \n rejectConsentRequest(challenge: string, body: RejectRequestBody)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.consent-flow.uc.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n body\n \n RejectRequestBody\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n validateSubject\n \n \n \n \n \n \n \n validateSubject(currentUser: ICurrentUser, response: ProviderConsentResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.consent-flow.uc.ts:80\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n response\n \n ProviderConsentResponse\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { OauthProviderService } from '@infra/oauth-provider';\nimport {\n\tAcceptConsentRequestBody,\n\tProviderConsentResponse,\n\tProviderRedirectResponse,\n\tRejectRequestBody,\n} from '@infra/oauth-provider/dto';\nimport { ICurrentUser } from '@modules/authentication';\nimport { AcceptQuery, ConsentRequestBody } from '@modules/oauth-provider/controller/dto';\nimport { IdToken } from '@modules/oauth-provider/interface/id-token';\nimport { IdTokenService } from '@modules/oauth-provider/service/id-token.service';\nimport { ForbiddenException, Injectable } from '@nestjs/common';\n\n@Injectable()\nexport class OauthProviderConsentFlowUc {\n\tconstructor(\n\t\tprivate readonly oauthProviderService: OauthProviderService,\n\t\tprivate readonly idTokenService: IdTokenService\n\t) {}\n\n\tasync getConsentRequest(challenge: string): Promise {\n\t\tconst consentResponse: ProviderConsentResponse = await this.oauthProviderService.getConsentRequest(challenge);\n\t\treturn consentResponse;\n\t}\n\n\tasync patchConsentRequest(\n\t\tchallenge: string,\n\t\tquery: AcceptQuery,\n\t\tbody: ConsentRequestBody,\n\t\tcurrentUser: ICurrentUser\n\t): Promise {\n\t\tconst consentResponse = await this.oauthProviderService.getConsentRequest(challenge);\n\t\tthis.validateSubject(currentUser, consentResponse);\n\n\t\tlet response: Promise;\n\t\tif (query.accept) {\n\t\t\tresponse = this.acceptConsentRequest(\n\t\t\t\tchallenge,\n\t\t\t\tbody,\n\t\t\t\tcurrentUser.userId,\n\t\t\t\tconsentResponse.requested_scope,\n\t\t\t\tconsentResponse.client?.client_id\n\t\t\t);\n\t\t} else {\n\t\t\tresponse = this.rejectConsentRequest(challenge, body);\n\t\t}\n\t\treturn response;\n\t}\n\n\tprivate rejectConsentRequest(challenge: string, body: RejectRequestBody): Promise {\n\t\tconst redirectResponse: Promise = this.oauthProviderService.rejectConsentRequest(\n\t\t\tchallenge,\n\t\t\tbody\n\t\t);\n\t\treturn redirectResponse;\n\t}\n\n\tprivate async acceptConsentRequest(\n\t\tchallenge: string,\n\t\tbody: AcceptConsentRequestBody,\n\t\tuserId: string,\n\t\trequested_scope: string[] | undefined,\n\t\tclient_id: string | undefined\n\t): Promise {\n\t\tconst idToken: IdToken = await this.idTokenService.createIdToken(userId, requested_scope || [], client_id || '');\n\t\tif (idToken) {\n\t\t\tbody.session = {\n\t\t\t\tid_token: idToken,\n\t\t\t};\n\t\t}\n\n\t\tconst redirectResponse: ProviderRedirectResponse = await this.oauthProviderService.acceptConsentRequest(\n\t\t\tchallenge,\n\t\t\tbody\n\t\t);\n\n\t\treturn redirectResponse;\n\t}\n\n\tprivate validateSubject(currentUser: ICurrentUser, response: ProviderConsentResponse): void {\n\t\tif (response.subject !== currentUser.userId) {\n\t\t\tthrow new ForbiddenException(\"You want to patch another user's consent\");\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/OauthProviderController.html":{"url":"controllers/OauthProviderController.html","title":"controller - OauthProviderController","body":"\n \n\n\n\n\n\n\n Controllers\n OauthProviderController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts\n \n\n \n Prefix\n \n \n oauth2\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n acceptLogoutRequest\n \n \n \n \n Async\n createOAuth2Client\n \n \n \n \n deleteOAuth2Client\n \n \n \n \n Async\n getConsentRequest\n \n \n \n Async\n getLoginRequest\n \n \n \n \n Async\n getOAuth2Client\n \n \n \n getUrl\n \n \n \n \n Async\n listConsentSessions\n \n \n \n \n Async\n listOAuth2Clients\n \n \n \n \n Async\n patchConsentRequest\n \n \n \n \n Async\n patchLoginRequest\n \n \n \n \n revokeConsentSession\n \n \n \n \n Async\n updateOAuth2Client\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n Async\n acceptLogoutRequest\n \n \n \n \n \n \n \n acceptLogoutRequest(params: ChallengeParams)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Patch('logoutRequest/:challenge')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:135\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n ChallengeParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createOAuth2Client\n \n \n \n \n \n \n \n createOAuth2Client(currentUser: ICurrentUser, body: OauthClientBody)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Post('clients')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:80\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n body\n \n OauthClientBody\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n deleteOAuth2Client\n \n \n \n \n \n \n \n deleteOAuth2Client(currentUser: ICurrentUser, params: IdParams)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Delete('clients/:id')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:103\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n IdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getConsentRequest\n \n \n \n \n \n \n \n getConsentRequest(params: ChallengeParams)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Get('consentRequest/:challenge')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:143\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n ChallengeParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getLoginRequest\n \n \n \n \n \n \n \n getLoginRequest(params: ChallengeParams)\n \n \n\n \n \n Decorators : \n \n @Get('loginRequest/:challenge')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:109\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n ChallengeParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getOAuth2Client\n \n \n \n \n \n \n \n getOAuth2Client(currentUser: ICurrentUser, params: IdParams)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Get('clients/:id')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n IdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getUrl\n \n \n \n \n \n \n \n getUrl()\n \n \n\n \n \n Decorators : \n \n @Get('baseUrl')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:188\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n listConsentSessions\n \n \n \n \n \n \n \n listConsentSessions(currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Get('auth/sessions/consent')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:169\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n listOAuth2Clients\n \n \n \n \n \n \n \n listOAuth2Clients(currentUser: ICurrentUser, params: ListOauthClientsParams)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Get('clients')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ListOauthClientsParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n patchConsentRequest\n \n \n \n \n \n \n \n patchConsentRequest(params: ChallengeParams, query: AcceptQuery, body: ConsentRequestBody, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Patch('consentRequest/:challenge')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:151\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n ChallengeParams\n \n\n \n No\n \n\n\n \n \n query\n \n AcceptQuery\n \n\n \n No\n \n\n\n \n \n body\n \n ConsentRequestBody\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n patchLoginRequest\n \n \n \n \n \n \n \n patchLoginRequest(params: ChallengeParams, query: AcceptQuery, body: LoginRequestBody, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Patch('loginRequest/:challenge')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:117\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n ChallengeParams\n \n\n \n No\n \n\n\n \n \n query\n \n AcceptQuery\n \n\n \n No\n \n\n\n \n \n body\n \n LoginRequestBody\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n revokeConsentSession\n \n \n \n \n \n \n \n revokeConsentSession(currentUser: ICurrentUser, params: RevokeConsentParams)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Delete('auth/sessions/consent')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:182\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n RevokeConsentParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateOAuth2Client\n \n \n \n \n \n \n \n updateOAuth2Client(currentUser: ICurrentUser, params: IdParams, body: OauthClientBody)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Put('clients/:id')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:91\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n IdParams\n \n\n \n No\n \n\n\n \n \n body\n \n OauthClientBody\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\nimport { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, Delete, Get, Param, Patch, Post, Put, Query } from '@nestjs/common';\n// import should be @infra/oauth-provider\nimport {\n\tProviderConsentResponse,\n\tProviderConsentSessionResponse,\n\tProviderLoginResponse,\n\tProviderOauthClient,\n\tProviderRedirectResponse,\n} from '@infra/oauth-provider/dto';\nimport { ApiTags } from '@nestjs/swagger';\nimport { OauthProviderResponseMapper } from '../mapper/oauth-provider-response.mapper';\nimport { OauthProviderClientCrudUc } from '../uc/oauth-provider.client-crud.uc';\nimport { OauthProviderConsentFlowUc } from '../uc/oauth-provider.consent-flow.uc';\nimport { OauthProviderLoginFlowUc } from '../uc/oauth-provider.login-flow.uc';\nimport { OauthProviderLogoutFlowUc } from '../uc/oauth-provider.logout-flow.uc';\nimport { OauthProviderUc } from '../uc/oauth-provider.uc';\nimport {\n\tAcceptQuery,\n\tChallengeParams,\n\tConsentRequestBody,\n\tConsentSessionResponse,\n\tIdParams,\n\tListOauthClientsParams,\n\tLoginRequestBody,\n\tLoginResponse,\n\tOauthClientBody,\n\tOauthClientResponse,\n\tRevokeConsentParams,\n} from './dto';\nimport { ConsentResponse } from './dto/response/consent.response';\nimport { RedirectResponse } from './dto/response/redirect.response';\n\n@Controller('oauth2')\n@ApiTags('Oauth2')\nexport class OauthProviderController {\n\tconstructor(\n\t\tprivate readonly consentFlowUc: OauthProviderConsentFlowUc,\n\t\tprivate readonly logoutFlowUc: OauthProviderLogoutFlowUc,\n\t\tprivate readonly crudUc: OauthProviderClientCrudUc,\n\t\tprivate readonly oauthProviderUc: OauthProviderUc,\n\t\tprivate readonly oauthProviderLoginFlowUc: OauthProviderLoginFlowUc,\n\t\tprivate readonly oauthProviderResponseMapper: OauthProviderResponseMapper\n\t) {}\n\n\t@Authenticate('jwt')\n\t@Get('clients/:id')\n\tasync getOAuth2Client(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: IdParams\n\t): Promise {\n\t\tconst client: ProviderOauthClient = await this.crudUc.getOAuth2Client(currentUser, params.id);\n\t\tconst mapped: OauthClientResponse = this.oauthProviderResponseMapper.mapOauthClientResponse(client);\n\t\treturn mapped;\n\t}\n\n\t@Authenticate('jwt')\n\t@Get('clients')\n\tasync listOAuth2Clients(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ListOauthClientsParams\n\t): Promise {\n\t\tconst clients: ProviderOauthClient[] = await this.crudUc.listOAuth2Clients(\n\t\t\tcurrentUser,\n\t\t\tparams.limit,\n\t\t\tparams.offset,\n\t\t\tparams.client_name,\n\t\t\tparams.owner\n\t\t);\n\t\tconst mapped: OauthClientResponse[] = clients.map(\n\t\t\t(client: ProviderOauthClient): OauthClientResponse =>\n\t\t\t\tthis.oauthProviderResponseMapper.mapOauthClientResponse(client)\n\t\t);\n\t\treturn mapped;\n\t}\n\n\t@Authenticate('jwt')\n\t@Post('clients')\n\tasync createOAuth2Client(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() body: OauthClientBody\n\t): Promise {\n\t\tconst client: ProviderOauthClient = await this.crudUc.createOAuth2Client(currentUser, body);\n\t\tconst mapped: OauthClientResponse = this.oauthProviderResponseMapper.mapOauthClientResponse(client);\n\t\treturn mapped;\n\t}\n\n\t@Authenticate('jwt')\n\t@Put('clients/:id')\n\tasync updateOAuth2Client(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: IdParams,\n\t\t@Body() body: OauthClientBody\n\t): Promise {\n\t\tconst client: ProviderOauthClient = await this.crudUc.updateOAuth2Client(currentUser, params.id, body);\n\t\tconst mapped: OauthClientResponse = this.oauthProviderResponseMapper.mapOauthClientResponse(client);\n\t\treturn mapped;\n\t}\n\n\t@Authenticate('jwt')\n\t@Delete('clients/:id')\n\tdeleteOAuth2Client(@CurrentUser() currentUser: ICurrentUser, @Param() params: IdParams): Promise {\n\t\tconst promise: Promise = this.crudUc.deleteOAuth2Client(currentUser, params.id);\n\t\treturn promise;\n\t}\n\n\t@Get('loginRequest/:challenge')\n\tasync getLoginRequest(@Param() params: ChallengeParams): Promise {\n\t\tconst loginResponse: ProviderLoginResponse = await this.oauthProviderLoginFlowUc.getLoginRequest(params.challenge);\n\t\tconst mapped: LoginResponse = this.oauthProviderResponseMapper.mapLoginResponse(loginResponse);\n\t\treturn mapped;\n\t}\n\n\t@Authenticate('jwt')\n\t@Patch('loginRequest/:challenge')\n\tasync patchLoginRequest(\n\t\t@Param() params: ChallengeParams,\n\t\t@Query() query: AcceptQuery,\n\t\t@Body() body: LoginRequestBody,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst redirectResponse: ProviderRedirectResponse = await this.oauthProviderLoginFlowUc.patchLoginRequest(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.challenge,\n\t\t\tbody,\n\t\t\tquery\n\t\t);\n\t\tconst mapped: RedirectResponse = this.oauthProviderResponseMapper.mapRedirectResponse(redirectResponse);\n\t\treturn mapped;\n\t}\n\n\t@Authenticate('jwt')\n\t@Patch('logoutRequest/:challenge')\n\tasync acceptLogoutRequest(@Param() params: ChallengeParams): Promise {\n\t\tconst redirect: ProviderRedirectResponse = await this.logoutFlowUc.logoutFlow(params.challenge);\n\t\tconst mapped: RedirectResponse = this.oauthProviderResponseMapper.mapRedirectResponse(redirect);\n\t\treturn mapped;\n\t}\n\n\t@Authenticate('jwt')\n\t@Get('consentRequest/:challenge')\n\tasync getConsentRequest(@Param() params: ChallengeParams): Promise {\n\t\tconst consentRequest: ProviderConsentResponse = await this.consentFlowUc.getConsentRequest(params.challenge);\n\t\tconst mapped: ConsentResponse = this.oauthProviderResponseMapper.mapConsentResponse(consentRequest);\n\t\treturn mapped;\n\t}\n\n\t@Authenticate('jwt')\n\t@Patch('consentRequest/:challenge')\n\tasync patchConsentRequest(\n\t\t@Param() params: ChallengeParams,\n\t\t@Query() query: AcceptQuery,\n\t\t@Body() body: ConsentRequestBody,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst redirectResponse: ProviderRedirectResponse = await this.consentFlowUc.patchConsentRequest(\n\t\t\tparams.challenge,\n\t\t\tquery,\n\t\t\tbody,\n\t\t\tcurrentUser\n\t\t);\n\t\tconst response: RedirectResponse = this.oauthProviderResponseMapper.mapRedirectResponse(redirectResponse);\n\t\treturn response;\n\t}\n\n\t@Authenticate('jwt')\n\t@Get('auth/sessions/consent')\n\tasync listConsentSessions(@CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst sessions: ProviderConsentSessionResponse[] = await this.oauthProviderUc.listConsentSessions(\n\t\t\tcurrentUser.userId\n\t\t);\n\t\tconst mapped: ConsentSessionResponse[] = sessions.map(\n\t\t\t(session: ProviderConsentSessionResponse): ConsentSessionResponse =>\n\t\t\t\tthis.oauthProviderResponseMapper.mapConsentSessionsToResponse(session)\n\t\t);\n\t\treturn mapped;\n\t}\n\n\t@Authenticate('jwt')\n\t@Delete('auth/sessions/consent')\n\trevokeConsentSession(@CurrentUser() currentUser: ICurrentUser, @Param() params: RevokeConsentParams): Promise {\n\t\tconst promise: Promise = this.oauthProviderUc.revokeConsentSession(currentUser.userId, params.client);\n\t\treturn promise;\n\t}\n\n\t@Get('baseUrl')\n\tgetUrl(): Promise {\n\t\treturn Promise.resolve(Configuration.get('HYDRA_URI') as string);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OauthProviderLoginFlowService.html":{"url":"injectables/OauthProviderLoginFlowService.html","title":"injectable - OauthProviderLoginFlowService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OauthProviderLoginFlowService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/service/oauth-provider.login-flow.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n findToolByClientId\n \n \n Public\n isNextcloudTool\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ltiToolService: LtiToolService, externalToolService: ExternalToolService, toolFeatures: IToolFeatures)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/service/oauth-provider.login-flow.service.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ltiToolService\n \n \n LtiToolService\n \n \n \n No\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n toolFeatures\n \n \n IToolFeatures\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n findToolByClientId\n \n \n \n \n \n \n \n findToolByClientId(clientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/service/oauth-provider.login-flow.service.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n clientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isNextcloudTool\n \n \n \n \n \n \n \n isNextcloudTool(tool: ExternalTool | LtiToolDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/service/oauth-provider.login-flow.service.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n tool\n \n ExternalTool | LtiToolDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { LtiToolService } from '@modules/lti-tool/service';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { ExternalToolService } from '@modules/tool/external-tool/service';\nimport { IToolFeatures, ToolFeatures } from '@modules/tool/tool-config';\nimport { Inject } from '@nestjs/common';\nimport { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { NotFoundException } from '@nestjs/common/exceptions/not-found.exception';\nimport { LtiToolDO } from '@shared/domain/domainobject/ltitool.do';\n\n@Injectable()\nexport class OauthProviderLoginFlowService {\n\tconstructor(\n\t\tprivate readonly ltiToolService: LtiToolService,\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\t@Inject(ToolFeatures) private readonly toolFeatures: IToolFeatures\n\t) {}\n\n\tpublic async findToolByClientId(clientId: string): Promise {\n\t\tif (this.toolFeatures.ctlToolsTabEnabled) {\n\t\t\tconst externalTool: ExternalTool | null = await this.externalToolService.findExternalToolByOAuth2ConfigClientId(\n\t\t\t\tclientId\n\t\t\t);\n\n\t\t\tif (externalTool) {\n\t\t\t\treturn externalTool;\n\t\t\t}\n\t\t}\n\n\t\tconst ltiTool: LtiToolDO | null = await this.ltiToolService.findByClientIdAndIsLocal(clientId, true);\n\n\t\tif (ltiTool) {\n\t\t\treturn ltiTool;\n\t\t}\n\n\t\tthrow new NotFoundException(`Unable to find ExternalTool or LtiTool for clientId: ${clientId}`);\n\t}\n\n\t// TODO N21-91. Magic Strings are not desireable\n\tpublic isNextcloudTool(tool: ExternalTool | LtiToolDO): boolean {\n\t\tconst isNextcloud: boolean = tool.name === 'SchulcloudNextcloud';\n\n\t\treturn isNextcloud;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OauthProviderLoginFlowUc.html":{"url":"injectables/OauthProviderLoginFlowUc.html","title":"injectable - OauthProviderLoginFlowUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OauthProviderLoginFlowUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/uc/oauth-provider.login-flow.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n acceptLoginRequest\n \n \n Async\n getLoginRequest\n \n \n Async\n patchLoginRequest\n \n \n Private\n Async\n rejectLoginRequest\n \n \n Private\n shouldSkipConsent\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthProviderService: OauthProviderService, oauthProviderLoginFlowService: OauthProviderLoginFlowService, pseudonymService: PseudonymService, authorizationService: AuthorizationService, userService: UserService)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.login-flow.uc.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthProviderService\n \n \n OauthProviderService\n \n \n \n No\n \n \n \n \n oauthProviderLoginFlowService\n \n \n OauthProviderLoginFlowService\n \n \n \n No\n \n \n \n \n pseudonymService\n \n \n PseudonymService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n acceptLoginRequest\n \n \n \n \n \n \n \n acceptLoginRequest(currentUserId: string, challenge: string, loginRequestBody: LoginRequestBody)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.login-flow.uc.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUserId\n \n string\n \n\n \n No\n \n\n\n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n loginRequestBody\n \n LoginRequestBody\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getLoginRequest\n \n \n \n \n \n \n \n getLoginRequest(challenge: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.login-flow.uc.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n patchLoginRequest\n \n \n \n \n \n \n \n patchLoginRequest(currentUserId: string, challenge: string, body: LoginRequestBody, query: AcceptQuery)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.login-flow.uc.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUserId\n \n string\n \n\n \n No\n \n\n\n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n body\n \n LoginRequestBody\n \n\n \n No\n \n\n\n \n \n query\n \n AcceptQuery\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n rejectLoginRequest\n \n \n \n \n \n \n \n rejectLoginRequest(challenge: string, rejectRequestBody: OAuthRejectableBody)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.login-flow.uc.ts:104\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n rejectRequestBody\n \n OAuthRejectableBody\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n shouldSkipConsent\n \n \n \n \n \n \n \n shouldSkipConsent(tool: ExternalTool | LtiToolDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.login-flow.uc.ts:92\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n tool\n \n ExternalTool | LtiToolDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { OauthProviderService } from '@infra/oauth-provider';\nimport { AcceptLoginRequestBody, ProviderLoginResponse, ProviderRedirectResponse } from '@infra/oauth-provider/dto';\nimport { AuthorizationService } from '@modules/authorization';\nimport { AcceptQuery, LoginRequestBody, OAuthRejectableBody } from '@modules/oauth-provider/controller/dto';\nimport { OauthProviderRequestMapper } from '@modules/oauth-provider/mapper/oauth-provider-request.mapper';\nimport { PseudonymService } from '@modules/pseudonym/service';\nimport { ExternalTool, Oauth2ToolConfig } from '@modules/tool/external-tool/domain';\nimport { UserService } from '@modules/user';\nimport { Injectable, InternalServerErrorException, UnprocessableEntityException } from '@nestjs/common';\nimport { Pseudonym, UserDO } from '@shared/domain/domainobject';\nimport { LtiToolDO } from '@shared/domain/domainobject/ltitool.do';\nimport { User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { OauthProviderLoginFlowService } from '../service/oauth-provider.login-flow.service';\n\n@Injectable()\nexport class OauthProviderLoginFlowUc {\n\tconstructor(\n\t\tprivate readonly oauthProviderService: OauthProviderService,\n\t\tprivate readonly oauthProviderLoginFlowService: OauthProviderLoginFlowService,\n\t\tprivate readonly pseudonymService: PseudonymService,\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly userService: UserService\n\t) {}\n\n\tasync getLoginRequest(challenge: string): Promise {\n\t\tconst loginResponse: Promise = this.oauthProviderService.getLoginRequest(challenge);\n\t\treturn loginResponse;\n\t}\n\n\tasync patchLoginRequest(\n\t\tcurrentUserId: string,\n\t\tchallenge: string,\n\t\tbody: LoginRequestBody,\n\t\tquery: AcceptQuery\n\t): Promise {\n\t\tlet redirectResponse: ProviderRedirectResponse;\n\t\tif (query.accept) {\n\t\t\tredirectResponse = await this.acceptLoginRequest(currentUserId, challenge, body);\n\t\t} else {\n\t\t\tredirectResponse = await this.rejectLoginRequest(challenge, body);\n\t\t}\n\t\treturn redirectResponse;\n\t}\n\n\tprivate async acceptLoginRequest(\n\t\tcurrentUserId: string,\n\t\tchallenge: string,\n\t\tloginRequestBody: LoginRequestBody\n\t): Promise {\n\t\tconst loginResponse: ProviderLoginResponse = await this.oauthProviderService.getLoginRequest(challenge);\n\n\t\tif (!loginResponse.client.client_id) {\n\t\t\tthrow new InternalServerErrorException(`Cannot find oAuthClientId in login response for challenge: ${challenge}`);\n\t\t}\n\n\t\tconst tool: ExternalTool | LtiToolDO = await this.oauthProviderLoginFlowService.findToolByClientId(\n\t\t\tloginResponse.client.client_id\n\t\t);\n\n\t\tif (!tool.id) {\n\t\t\tthrow new InternalServerErrorException('Tool has no id');\n\t\t}\n\n\t\tif (this.oauthProviderLoginFlowService.isNextcloudTool(tool)) {\n\t\t\tconst user: User = await this.authorizationService.getUserWithPermissions(currentUserId);\n\t\t\tthis.authorizationService.checkAllPermissions(user, [Permission.NEXTCLOUD_USER]);\n\t\t}\n\n\t\tconst user: UserDO = await this.userService.findById(currentUserId);\n\t\tconst pseudonym: Pseudonym = await this.pseudonymService.findOrCreatePseudonym(user, tool);\n\n\t\tconst skipConsent: boolean = this.shouldSkipConsent(tool);\n\n\t\tconst acceptLoginRequestBody: AcceptLoginRequestBody = OauthProviderRequestMapper.mapCreateAcceptLoginRequestBody(\n\t\t\tloginRequestBody,\n\t\t\tcurrentUserId,\n\t\t\tpseudonym.pseudonym,\n\t\t\t{\n\t\t\t\tskipConsent,\n\t\t\t}\n\t\t);\n\n\t\tconst redirectResponse: ProviderRedirectResponse = await this.oauthProviderService.acceptLoginRequest(\n\t\t\tloginResponse.challenge,\n\t\t\tacceptLoginRequestBody\n\t\t);\n\n\t\treturn redirectResponse;\n\t}\n\n\tprivate shouldSkipConsent(tool: ExternalTool | LtiToolDO): boolean {\n\t\tif (tool instanceof LtiToolDO) {\n\t\t\treturn !!tool.skipConsent;\n\t\t}\n\t\tif (tool.config instanceof Oauth2ToolConfig) {\n\t\t\treturn tool.config.skipConsent;\n\t\t}\n\t\tthrow new UnprocessableEntityException(\n\t\t\t`Cannot use Tool ${tool.name} for OAuth2 login, since it is not a LtiTool or OAuth2-ExternalTool`\n\t\t);\n\t}\n\n\tprivate async rejectLoginRequest(\n\t\tchallenge: string,\n\t\trejectRequestBody: OAuthRejectableBody\n\t): Promise {\n\t\tconst redirectResponse: Promise = this.oauthProviderService.rejectLoginRequest(\n\t\t\tchallenge,\n\t\t\trejectRequestBody\n\t\t);\n\t\treturn redirectResponse;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OauthProviderLogoutFlowUc.html":{"url":"injectables/OauthProviderLogoutFlowUc.html","title":"injectable - OauthProviderLogoutFlowUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OauthProviderLogoutFlowUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/uc/oauth-provider.logout-flow.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n logoutFlow\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthProviderService: OauthProviderService)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.logout-flow.uc.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthProviderService\n \n \n OauthProviderService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n logoutFlow\n \n \n \n \n \n \nlogoutFlow(challenge: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.logout-flow.uc.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { OauthProviderService } from '@infra/oauth-provider';\nimport { ProviderRedirectResponse } from '@infra/oauth-provider/dto';\n\n@Injectable()\nexport class OauthProviderLogoutFlowUc {\n\tconstructor(private readonly oauthProviderService: OauthProviderService) {}\n\n\tlogoutFlow(challenge: string): Promise {\n\t\tconst logoutResponse: Promise = this.oauthProviderService.acceptLogoutRequest(challenge);\n\t\treturn logoutResponse;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/OauthProviderModule.html":{"url":"modules/OauthProviderModule.html","title":"module - OauthProviderModule","body":"\n \n\n\n\n\n Modules\n OauthProviderModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_OauthProviderModule\n\n\n\ncluster_OauthProviderModule_exports\n\n\n\ncluster_OauthProviderModule_imports\n\n\n\ncluster_OauthProviderModule_providers\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nOauthProviderModule\n\nOauthProviderModule\n\nOauthProviderModule -->\n\nLoggerModule->OauthProviderModule\n\n\n\n\n\nLtiToolModule\n\nLtiToolModule\n\nOauthProviderModule -->\n\nLtiToolModule->OauthProviderModule\n\n\n\n\n\nOauthProviderServiceModule\n\nOauthProviderServiceModule\n\nOauthProviderModule -->\n\nOauthProviderServiceModule->OauthProviderModule\n\n\n\n\n\nPseudonymModule\n\nPseudonymModule\n\nOauthProviderModule -->\n\nPseudonymModule->OauthProviderModule\n\n\n\n\n\nToolConfigModule\n\nToolConfigModule\n\nOauthProviderModule -->\n\nToolConfigModule->OauthProviderModule\n\n\n\n\n\nToolModule\n\nToolModule\n\nOauthProviderModule -->\n\nToolModule->OauthProviderModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nOauthProviderModule -->\n\nUserModule->OauthProviderModule\n\n\n\n\n\nIdTokenService \n\nIdTokenService \n\nIdTokenService -->\n\nOauthProviderModule->IdTokenService \n\n\n\n\n\nOauthProviderLoginFlowService \n\nOauthProviderLoginFlowService \n\nOauthProviderLoginFlowService -->\n\nOauthProviderModule->OauthProviderLoginFlowService \n\n\n\n\n\nIdTokenService\n\nIdTokenService\n\nOauthProviderModule -->\n\nIdTokenService->OauthProviderModule\n\n\n\n\n\nOauthProviderLoginFlowService\n\nOauthProviderLoginFlowService\n\nOauthProviderModule -->\n\nOauthProviderLoginFlowService->OauthProviderModule\n\n\n\n\n\nTeamsRepo\n\nTeamsRepo\n\nOauthProviderModule -->\n\nTeamsRepo->OauthProviderModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/oauth-provider/oauth-provider.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n IdTokenService\n \n \n OauthProviderLoginFlowService\n \n \n TeamsRepo\n \n \n \n \n Imports\n \n \n LoggerModule\n \n \n LtiToolModule\n \n \n OauthProviderServiceModule\n \n \n PseudonymModule\n \n \n ToolConfigModule\n \n \n ToolModule\n \n \n UserModule\n \n \n \n \n Exports\n \n \n IdTokenService\n \n \n OauthProviderLoginFlowService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { OauthProviderServiceModule } from '@infra/oauth-provider';\nimport { TeamsRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { LtiToolModule } from '@modules/lti-tool';\nimport { PseudonymModule } from '@modules/pseudonym';\nimport { ToolModule } from '@modules/tool';\nimport { ToolConfigModule } from '@modules/tool/tool-config.module';\nimport { UserModule } from '@modules/user';\nimport { IdTokenService } from './service/id-token.service';\nimport { OauthProviderLoginFlowService } from './service/oauth-provider.login-flow.service';\n\n@Module({\n\timports: [\n\t\tOauthProviderServiceModule,\n\t\tUserModule,\n\t\tLoggerModule,\n\t\tPseudonymModule,\n\t\tLtiToolModule,\n\t\tToolModule,\n\t\tToolConfigModule,\n\t],\n\tproviders: [OauthProviderLoginFlowService, IdTokenService, TeamsRepo],\n\texports: [OauthProviderLoginFlowService, IdTokenService],\n})\nexport class OauthProviderModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthProviderRequestMapper.html":{"url":"classes/OauthProviderRequestMapper.html","title":"class - OauthProviderRequestMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthProviderRequestMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/mapper/oauth-provider-request.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapCreateAcceptLoginRequestBody\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapCreateAcceptLoginRequestBody\n \n \n \n \n \n \n \n mapCreateAcceptLoginRequestBody(loginRequestBody: LoginRequestBody, currentUserId: string, pseudonym: string, context?: object)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/mapper/oauth-provider-request.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loginRequestBody\n \n LoginRequestBody\n \n\n \n No\n \n\n\n \n \n currentUserId\n \n string\n \n\n \n No\n \n\n\n \n \n pseudonym\n \n string\n \n\n \n No\n \n\n\n \n \n context\n \n object\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : AcceptLoginRequestBody\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { AcceptLoginRequestBody } from '@infra/oauth-provider/dto';\nimport { LoginRequestBody } from '@modules/oauth-provider/controller/dto';\n\nexport class OauthProviderRequestMapper {\n\tstatic mapCreateAcceptLoginRequestBody(\n\t\tloginRequestBody: LoginRequestBody,\n\t\tcurrentUserId: string,\n\t\tpseudonym: string,\n\t\tcontext?: object\n\t): AcceptLoginRequestBody {\n\t\treturn {\n\t\t\tremember: loginRequestBody.remember,\n\t\t\tremember_for: loginRequestBody.remember_for,\n\t\t\tsubject: currentUserId,\n\t\t\tforce_subject_identifier: pseudonym,\n\t\t\tcontext,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OauthProviderResponseMapper.html":{"url":"injectables/OauthProviderResponseMapper.html","title":"injectable - OauthProviderResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OauthProviderResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/mapper/oauth-provider-response.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n mapConsentResponse\n \n \n mapConsentSessionsToResponse\n \n \n mapLoginResponse\n \n \n mapOauthClientResponse\n \n \n mapRedirectResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n mapConsentResponse\n \n \n \n \n \n \nmapConsentResponse(consent: ProviderConsentResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/mapper/oauth-provider-response.mapper.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n consent\n \n ProviderConsentResponse\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ConsentResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapConsentSessionsToResponse\n \n \n \n \n \n \nmapConsentSessionsToResponse(session: ProviderConsentSessionResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/mapper/oauth-provider-response.mapper.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n session\n \n ProviderConsentSessionResponse\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ConsentSessionResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapLoginResponse\n \n \n \n \n \n \nmapLoginResponse(providerLoginResponse: ProviderLoginResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/mapper/oauth-provider-response.mapper.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n providerLoginResponse\n \n ProviderLoginResponse\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LoginResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapOauthClientResponse\n \n \n \n \n \n \nmapOauthClientResponse(oauthClient: ProviderOauthClient)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/mapper/oauth-provider-response.mapper.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthClient\n \n ProviderOauthClient\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : OauthClientResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapRedirectResponse\n \n \n \n \n \n \nmapRedirectResponse(redirect: ProviderRedirectResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/mapper/oauth-provider-response.mapper.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n redirect\n \n ProviderRedirectResponse\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RedirectResponse\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport {\n\tProviderConsentResponse,\n\tProviderConsentSessionResponse,\n\tProviderLoginResponse,\n\tProviderOauthClient,\n\tProviderRedirectResponse,\n} from '@infra/oauth-provider/dto';\nimport {\n\tConsentResponse,\n\tConsentSessionResponse,\n\tLoginResponse,\n\tOauthClientResponse,\n\tRedirectResponse,\n} from '@modules/oauth-provider/controller/dto';\n\n@Injectable()\nexport class OauthProviderResponseMapper {\n\tmapRedirectResponse(redirect: ProviderRedirectResponse): RedirectResponse {\n\t\treturn new RedirectResponse({ ...redirect });\n\t}\n\n\tmapConsentResponse(consent: ProviderConsentResponse): ConsentResponse {\n\t\treturn new ConsentResponse({ ...consent });\n\t}\n\n\tmapOauthClientResponse(oauthClient: ProviderOauthClient): OauthClientResponse {\n\t\tdelete oauthClient.client_secret;\n\t\treturn new OauthClientResponse({ ...oauthClient });\n\t}\n\n\tmapConsentSessionsToResponse(session: ProviderConsentSessionResponse): ConsentSessionResponse {\n\t\treturn new ConsentSessionResponse(\n\t\t\tsession.consent_request.client?.client_id,\n\t\t\tsession.consent_request.client?.client_name,\n\t\t\tsession.consent_request.challenge\n\t\t);\n\t}\n\n\tmapLoginResponse(providerLoginResponse: ProviderLoginResponse): LoginResponse {\n\t\treturn new LoginResponse({ ...providerLoginResponse });\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthProviderService.html":{"url":"classes/OauthProviderService.html","title":"class - OauthProviderService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthProviderService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/oauth-provider/oauth-provider.service.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Abstract\n acceptConsentRequest\n \n \n Abstract\n acceptLoginRequest\n \n \n Abstract\n acceptLogoutRequest\n \n \n Abstract\n createOAuth2Client\n \n \n Abstract\n deleteOAuth2Client\n \n \n Abstract\n getConsentRequest\n \n \n Abstract\n getLoginRequest\n \n \n Abstract\n getOAuth2Client\n \n \n Abstract\n introspectOAuth2Token\n \n \n Abstract\n isInstanceAlive\n \n \n Abstract\n listConsentSessions\n \n \n Abstract\n listOAuth2Clients\n \n \n Abstract\n rejectConsentRequest\n \n \n Abstract\n rejectLoginRequest\n \n \n Abstract\n revokeConsentSession\n \n \n Abstract\n updateOAuth2Client\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Abstract\n acceptConsentRequest\n \n \n \n \n \n \n \n acceptConsentRequest(challenge: string, body: AcceptConsentRequestBody)\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n body\n \n AcceptConsentRequestBody\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n acceptLoginRequest\n \n \n \n \n \n \n \n acceptLoginRequest(challenge: string, body: AcceptLoginRequestBody)\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n body\n \n AcceptLoginRequestBody\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n acceptLogoutRequest\n \n \n \n \n \n \n \n acceptLogoutRequest(challenge: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n createOAuth2Client\n \n \n \n \n \n \n \n createOAuth2Client(data: ProviderOauthClient)\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n ProviderOauthClient\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n deleteOAuth2Client\n \n \n \n \n \n \n \n deleteOAuth2Client(id: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getConsentRequest\n \n \n \n \n \n \n \n getConsentRequest(challenge: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getLoginRequest\n \n \n \n \n \n \n \n getLoginRequest(challenge: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getOAuth2Client\n \n \n \n \n \n \n \n getOAuth2Client(id: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n introspectOAuth2Token\n \n \n \n \n \n \n \n introspectOAuth2Token(token: string, scope?: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n token\n \n string\n \n\n \n No\n \n\n\n \n \n scope\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n isInstanceAlive\n \n \n \n \n \n \n \n isInstanceAlive()\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:30\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n listConsentSessions\n \n \n \n \n \n \n \n listConsentSessions(user: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:47\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n listOAuth2Clients\n \n \n \n \n \n \n \n listOAuth2Clients(limit?: number, offset?: number, client_name?: string, owner?: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n limit\n \n number\n \n\n \n Yes\n \n\n\n \n \n offset\n \n number\n \n\n \n Yes\n \n\n\n \n \n client_name\n \n string\n \n\n \n Yes\n \n\n\n \n \n owner\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n rejectConsentRequest\n \n \n \n \n \n \n \n rejectConsentRequest(challenge: string, body: RejectRequestBody)\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n body\n \n RejectRequestBody\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n rejectLoginRequest\n \n \n \n \n \n \n \n rejectLoginRequest(challenge: string, body: RejectRequestBody)\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n body\n \n RejectRequestBody\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n revokeConsentSession\n \n \n \n \n \n \n \n revokeConsentSession(user: string, client: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n string\n \n\n \n No\n \n\n\n \n \n client\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n updateOAuth2Client\n \n \n \n \n \n \n \n updateOAuth2Client(id: string, data: ProviderOauthClient)\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n data\n \n ProviderOauthClient\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import {\n\tAcceptConsentRequestBody,\n\tAcceptLoginRequestBody,\n\tIntrospectResponse,\n\tProviderConsentResponse,\n\tProviderConsentSessionResponse,\n\tProviderLoginResponse,\n\tProviderOauthClient,\n\tProviderRedirectResponse,\n\tRejectRequestBody,\n} from './dto';\n\nexport abstract class OauthProviderService {\n\tabstract getLoginRequest(challenge: string): Promise;\n\n\tabstract acceptLoginRequest(challenge: string, body: AcceptLoginRequestBody): Promise;\n\n\tabstract rejectLoginRequest(challenge: string, body: RejectRequestBody): Promise;\n\n\tabstract getConsentRequest(challenge: string): Promise;\n\n\tabstract acceptConsentRequest(challenge: string, body: AcceptConsentRequestBody): Promise;\n\n\tabstract rejectConsentRequest(challenge: string, body: RejectRequestBody): Promise;\n\n\tabstract acceptLogoutRequest(challenge: string): Promise;\n\n\tabstract introspectOAuth2Token(token: string, scope?: string): Promise;\n\n\tabstract isInstanceAlive(): Promise;\n\n\tabstract listOAuth2Clients(\n\t\tlimit?: number,\n\t\toffset?: number,\n\t\tclient_name?: string,\n\t\towner?: string\n\t): Promise;\n\n\tabstract createOAuth2Client(data: ProviderOauthClient): Promise;\n\n\tabstract getOAuth2Client(id: string): Promise;\n\n\tabstract updateOAuth2Client(id: string, data: ProviderOauthClient): Promise;\n\n\tabstract deleteOAuth2Client(id: string): Promise;\n\n\tabstract listConsentSessions(user: string): Promise;\n\n\tabstract revokeConsentSession(user: string, client: string): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/OauthProviderServiceModule.html":{"url":"modules/OauthProviderServiceModule.html","title":"module - OauthProviderServiceModule","body":"\n \n\n\n\n\n Modules\n OauthProviderServiceModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_OauthProviderServiceModule\n\n\n\ncluster_OauthProviderServiceModule_exports\n\n\n\n\nOauthProviderService \n\nOauthProviderService \n\n\n\nOauthProviderServiceModule\n\nOauthProviderServiceModule\n\nOauthProviderService -->\n\nOauthProviderServiceModule->OauthProviderService \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/oauth-provider/oauth-provider-service.module.ts\n \n\n\n\n\n\n \n \n \n Exports\n \n \n OauthProviderService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { HttpModule } from '@nestjs/axios';\nimport { OauthProviderService } from './oauth-provider.service';\nimport { HydraAdapter } from './hydra/hydra.adapter';\n\n@Module({\n\timports: [HttpModule],\n\tproviders: [{ provide: OauthProviderService, useClass: HydraAdapter }],\n\texports: [OauthProviderService],\n})\nexport class OauthProviderServiceModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OauthProviderUc.html":{"url":"injectables/OauthProviderUc.html","title":"injectable - OauthProviderUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OauthProviderUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/uc/oauth-provider.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n listConsentSessions\n \n \n revokeConsentSession\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthProviderService: OauthProviderService)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.uc.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthProviderService\n \n \n OauthProviderService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n listConsentSessions\n \n \n \n \n \n \nlistConsentSessions(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.uc.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n revokeConsentSession\n \n \n \n \n \n \nrevokeConsentSession(userId: EntityId, clientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.uc.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n clientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { OauthProviderService } from '@infra/oauth-provider';\nimport { ProviderConsentSessionResponse } from '@infra/oauth-provider/dto/';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\n\n@Injectable()\nexport class OauthProviderUc {\n\tconstructor(private readonly oauthProviderService: OauthProviderService) {}\n\n\tlistConsentSessions(userId: EntityId): Promise {\n\t\tconst sessions: Promise = this.oauthProviderService.listConsentSessions(userId);\n\t\treturn sessions;\n\t}\n\n\trevokeConsentSession(userId: EntityId, clientId: string): Promise {\n\t\tconst promise: Promise = this.oauthProviderService.revokeConsentSession(userId, clientId);\n\t\treturn promise;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/OauthSSOController.html":{"url":"controllers/OauthSSOController.html","title":"controller - OauthSSOController","body":"\n \n\n\n\n\n\n\n Controllers\n OauthSSOController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/controller/oauth-sso.controller.ts\n \n\n \n Prefix\n \n \n sso\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n getHydraOauthToken\n \n \n \n \n Async\n requestAuthToken\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n Async\n getHydraOauthToken\n \n \n \n \n \n \n \n getHydraOauthToken(query: StatelessAuthorizationParams, oauthClientId: string)\n \n \n\n \n \n Decorators : \n \n @Get('hydra/:oauthClientId')@Authenticate('jwt')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth/controller/oauth-sso.controller.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n StatelessAuthorizationParams\n \n\n \n No\n \n\n\n \n \n oauthClientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n requestAuthToken\n \n \n \n \n \n \n \n requestAuthToken(currentUser: ICurrentUser, req: Request, oauthClientId: string)\n \n \n\n \n \n Decorators : \n \n @Get('auth/:oauthClientId')@Authenticate('jwt')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth/controller/oauth-sso.controller.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n req\n \n Request\n \n\n \n No\n \n\n\n \n \n oauthClientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Controller, Get, Param, Query, Req, UnauthorizedException } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { LegacyLogger } from '@src/core/logger';\nimport { Request } from 'express';\nimport { OAuthTokenDto } from '../interface';\nimport { HydraOauthUc } from '../uc';\nimport { AuthorizationParams } from './dto';\nimport { StatelessAuthorizationParams } from './dto/stateless-authorization.params';\n\n@ApiTags('SSO')\n@Controller('sso')\nexport class OauthSSOController {\n\tconstructor(private readonly hydraUc: HydraOauthUc, private readonly logger: LegacyLogger) {\n\t\tthis.logger.setContext(OauthSSOController.name);\n\t}\n\n\t@Get('hydra/:oauthClientId')\n\t@Authenticate('jwt')\n\tasync getHydraOauthToken(\n\t\t@Query() query: StatelessAuthorizationParams,\n\t\t@Param('oauthClientId') oauthClientId: string\n\t): Promise {\n\t\tconst oauthToken = this.hydraUc.getOauthToken(oauthClientId, query.code, query.error);\n\t\treturn oauthToken;\n\t}\n\n\t@Get('auth/:oauthClientId')\n\t@Authenticate('jwt')\n\tasync requestAuthToken(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Req() req: Request,\n\t\t@Param('oauthClientId') oauthClientId: string\n\t): Promise {\n\t\tlet jwt: string;\n\t\tconst authHeader: string | undefined = req.headers.authorization;\n\t\tif (authHeader?.toLowerCase()?.startsWith('bearer ')) {\n\t\t\t[, jwt] = authHeader.split(' ');\n\t\t} else {\n\t\t\tthrow new UnauthorizedException(\n\t\t\t\t`No bearer token in header for authorization process of user ${currentUser.userId} on oauth system ${oauthClientId}`\n\t\t\t);\n\t\t}\n\t\treturn this.hydraUc.requestAuthCode(jwt, oauthClientId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthSsoErrorLoggableException.html":{"url":"classes/OauthSsoErrorLoggableException.html","title":"class - OauthSsoErrorLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthSsoErrorLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/loggable/oauth-sso-error-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n InternalServerErrorException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/loggable/oauth-sso-error-loggable-exception.ts:5\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { InternalServerErrorException } from '@nestjs/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class OauthSsoErrorLoggableException extends InternalServerErrorException implements Loggable {\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'SSO_LOGIN_FAILED',\n\t\t\tmessage: this.message,\n\t\t\tstack: this.stack,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/OauthTokenResponse.html":{"url":"interfaces/OauthTokenResponse.html","title":"interface - OauthTokenResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n OauthTokenResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/service/dto/oauth-token.response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n access_token\n \n \n \n \n id_token\n \n \n \n \n refresh_token\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n access_token\n \n \n \n \n \n \n \n \n access_token: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n id_token\n \n \n \n \n \n \n \n \n id_token: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n refresh_token\n \n \n \n \n \n \n \n \n refresh_token: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface OauthTokenResponse {\n\taccess_token: string;\n\n\trefresh_token: string;\n\n\tid_token: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ObjectKeysRecursive.html":{"url":"interfaces/ObjectKeysRecursive.html","title":"interface - ObjectKeysRecursive","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ObjectKeysRecursive\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/s3-client/interface/index.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n files\n \n \n \n \n maxKeys\n \n \n \n \n nextMarker\n \n \n \n \n path\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n files\n \n \n \n \n \n \n \n \n files: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n maxKeys\n \n \n \n \n \n \n \n \n maxKeys: number | undefined\n\n \n \n\n\n \n \n Type : number | undefined\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n nextMarker\n \n \n \n \n \n \n \n \n nextMarker: string | undefined\n\n \n \n\n\n \n \n Type : string | undefined\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n path\n \n \n \n \n \n \n \n \n path: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Readable } from 'stream';\n\nexport interface S3Config {\n\tconnectionName: string;\n\tendpoint: string;\n\tregion: string;\n\tbucket: string;\n\taccessKeyId: string;\n\tsecretAccessKey: string;\n}\n\nexport interface GetFile {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n}\n\nexport interface CopyFiles {\n\tsourcePath: string;\n\ttargetPath: string;\n}\n\nexport interface File {\n\tdata: Readable;\n\tmimeType: string;\n}\n\nexport interface ListFiles {\n\tpath: string;\n\tmaxKeys?: number;\n\tnextMarker?: string;\n\tfiles?: string[];\n}\n\nexport interface ObjectKeysRecursive {\n\tpath: string;\n\tmaxKeys: number | undefined;\n\tnextMarker: string | undefined;\n\tfiles: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/OcsResponse.html":{"url":"interfaces/OcsResponse.html","title":"interface - OcsResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n OcsResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n ocs\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n ocs\n \n \n \n \n \n \n \n \n ocs: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface NextcloudGroups {\n\tgroups: string[];\n}\n\nexport interface OcsResponse {\n\tocs: {\n\t\tdata: T;\n\t\tmeta: Meta;\n\t};\n}\n\nexport interface Meta {\n\tstatus: string;\n\tstatuscode: number;\n\tmessage: string;\n\ttotalitems: string;\n\titemsperpage: string;\n}\n\nexport interface SuccessfulRes {\n\tsuccess: boolean;\n}\n\nexport interface GroupUsers {\n\tusers: string[];\n}\n\n// Groupfolders Responses\n\nexport interface GroupfoldersFolder {\n\tfolder_id: number;\n}\n\nexport interface GroupfoldersCreated {\n\tid: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OidcConfigDto.html":{"url":"classes/OidcConfigDto.html","title":"class - OidcConfigDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OidcConfigDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/service/dto/oidc-config.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n authorizationUrl\n \n \n clientId\n \n \n clientSecret\n \n \n defaultScopes\n \n \n idpHint\n \n \n logoutUrl\n \n \n parentSystemId\n \n \n tokenUrl\n \n \n userinfoUrl\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oidcConfigDto: OidcConfigDto)\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oidc-config.dto.ts:1\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oidcConfigDto\n \n \n OidcConfigDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n authorizationUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oidc-config.dto.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n clientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oidc-config.dto.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n clientSecret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oidc-config.dto.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n defaultScopes\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oidc-config.dto.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n idpHint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oidc-config.dto.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n logoutUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oidc-config.dto.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n parentSystemId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oidc-config.dto.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n tokenUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oidc-config.dto.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n userinfoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oidc-config.dto.ts:28\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class OidcConfigDto {\n\tconstructor(oidcConfigDto: OidcConfigDto) {\n\t\tthis.parentSystemId = oidcConfigDto.parentSystemId;\n\t\tthis.clientId = oidcConfigDto.clientId;\n\t\tthis.clientSecret = oidcConfigDto.clientSecret;\n\t\tthis.idpHint = oidcConfigDto.idpHint;\n\t\tthis.authorizationUrl = oidcConfigDto.authorizationUrl;\n\t\tthis.tokenUrl = oidcConfigDto.tokenUrl;\n\t\tthis.userinfoUrl = oidcConfigDto.userinfoUrl;\n\t\tthis.logoutUrl = oidcConfigDto.logoutUrl;\n\t\tthis.defaultScopes = oidcConfigDto.defaultScopes;\n\t}\n\n\tparentSystemId: string;\n\n\tclientId: string;\n\n\tclientSecret: string;\n\n\tidpHint: string;\n\n\tauthorizationUrl: string;\n\n\ttokenUrl: string;\n\n\tlogoutUrl: string;\n\n\tuserinfoUrl: string;\n\n\tdefaultScopes: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OidcConfigEntity.html":{"url":"classes/OidcConfigEntity.html","title":"class - OidcConfigEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OidcConfigEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/system.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n authorizationUrl\n \n \n \n clientId\n \n \n \n clientSecret\n \n \n \n defaultScopes\n \n \n \n idpHint\n \n \n \n logoutUrl\n \n \n \n tokenUrl\n \n \n \n userinfoUrl\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oidcConfig: OidcConfigEntity)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:153\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oidcConfig\n \n \n OidcConfigEntity\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n authorizationUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:175\n \n \n\n\n \n \n \n \n \n \n \n \n \n clientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:166\n \n \n\n\n \n \n \n \n \n \n \n \n \n clientSecret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:169\n \n \n\n\n \n \n \n \n \n \n \n \n \n defaultScopes\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:187\n \n \n\n\n \n \n \n \n \n \n \n \n \n idpHint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:172\n \n \n\n\n \n \n \n \n \n \n \n \n \n logoutUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:181\n \n \n\n\n \n \n \n \n \n \n \n \n \n tokenUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:178\n \n \n\n\n \n \n \n \n \n \n \n \n \n userinfoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:184\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Embedded, Entity, Enum, Property } from '@mikro-orm/core';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface SystemEntityProps {\n\ttype: string;\n\turl?: string;\n\talias?: string;\n\tdisplayName?: string;\n\toauthConfig?: OauthConfigEntity;\n\toidcConfig?: OidcConfigEntity;\n\tldapConfig?: LdapConfigEntity;\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\tprovisioningUrl?: string;\n}\n\nexport class OauthConfigEntity {\n\tconstructor(oauthConfig: OauthConfigEntity) {\n\t\tthis.clientId = oauthConfig.clientId;\n\t\tthis.clientSecret = oauthConfig.clientSecret;\n\t\tthis.idpHint = oauthConfig.idpHint;\n\t\tthis.tokenEndpoint = oauthConfig.tokenEndpoint;\n\t\tthis.grantType = oauthConfig.grantType;\n\t\tthis.redirectUri = oauthConfig.redirectUri;\n\t\tthis.scope = oauthConfig.scope;\n\t\tthis.responseType = oauthConfig.responseType;\n\t\tthis.authEndpoint = oauthConfig.authEndpoint;\n\t\tthis.provider = oauthConfig.provider;\n\t\tthis.logoutEndpoint = oauthConfig.logoutEndpoint;\n\t\tthis.issuer = oauthConfig.issuer;\n\t\tthis.jwksEndpoint = oauthConfig.jwksEndpoint;\n\t}\n\n\t@Property()\n\tclientId: string;\n\n\t@Property()\n\tclientSecret: string;\n\n\t@Property({ nullable: true })\n\tidpHint?: string;\n\n\t@Property()\n\tredirectUri: string;\n\n\t@Property()\n\tgrantType: string;\n\n\t@Property()\n\ttokenEndpoint: string;\n\n\t@Property()\n\tauthEndpoint: string;\n\n\t@Property()\n\tresponseType: string;\n\n\t@Property()\n\tscope: string;\n\n\t@Property()\n\tprovider: string;\n\n\t@Property({ nullable: true })\n\tlogoutEndpoint?: string;\n\n\t@Property()\n\tissuer: string;\n\n\t@Property()\n\tjwksEndpoint: string;\n}\n\n@Embeddable()\nexport class LdapConfigEntity {\n\tconstructor(ldapConfig: Readonly) {\n\t\tthis.active = ldapConfig.active;\n\t\tthis.federalState = ldapConfig.federalState;\n\t\tthis.lastSyncAttempt = ldapConfig.lastSyncAttempt;\n\t\tthis.lastSuccessfulFullSync = ldapConfig.lastSuccessfulFullSync;\n\t\tthis.lastSuccessfulPartialSync = ldapConfig.lastSuccessfulPartialSync;\n\t\tthis.lastModifyTimestamp = ldapConfig.lastModifyTimestamp;\n\t\tthis.url = ldapConfig.url;\n\t\tthis.rootPath = ldapConfig.rootPath;\n\t\tthis.searchUser = ldapConfig.searchUser;\n\t\tthis.searchUserPassword = ldapConfig.searchUserPassword;\n\t\tthis.provider = ldapConfig.provider;\n\t\tthis.providerOptions = ldapConfig.providerOptions;\n\t}\n\n\t@Property({ nullable: true })\n\tactive?: boolean;\n\n\t@Property({ nullable: true })\n\tfederalState?: EntityId;\n\n\t@Property({ nullable: true })\n\tlastSyncAttempt?: Date;\n\n\t@Property({ nullable: true })\n\tlastSuccessfulFullSync?: Date;\n\n\t@Property({ nullable: true })\n\tlastSuccessfulPartialSync?: Date;\n\n\t@Property({ nullable: true })\n\tlastModifyTimestamp?: string;\n\n\t@Property()\n\turl: string;\n\n\t@Property({ nullable: true })\n\trootPath?: string;\n\n\t@Property({ nullable: true })\n\tsearchUser?: string;\n\n\t@Property({ nullable: true })\n\tsearchUserPassword?: string;\n\n\t@Property({ nullable: true })\n\tprovider?: string;\n\n\t@Property({ nullable: true })\n\tproviderOptions?: {\n\t\tschoolName?: string;\n\t\tuserPathAdditions?: string;\n\t\tclassPathAdditions?: string;\n\t\troleType?: string;\n\t\tuserAttributeNameMapping?: {\n\t\t\tgivenName?: string;\n\t\t\tsn?: string;\n\t\t\tdn?: string;\n\t\t\tuuid?: string;\n\t\t\tuid?: string;\n\t\t\tmail?: string;\n\t\t\trole?: string;\n\t\t};\n\t\troleAttributeNameMapping?: {\n\t\t\troleStudent?: string;\n\t\t\troleTeacher?: string;\n\t\t\troleAdmin?: string;\n\t\t\troleNoSc?: string;\n\t\t};\n\t\tclassAttributeNameMapping?: {\n\t\t\tdescription?: string;\n\t\t\tdn?: string;\n\t\t\tuniqueMember?: string;\n\t\t};\n\t};\n}\nexport class OidcConfigEntity {\n\tconstructor(oidcConfig: OidcConfigEntity) {\n\t\tthis.clientId = oidcConfig.clientId;\n\t\tthis.clientSecret = oidcConfig.clientSecret;\n\t\tthis.idpHint = oidcConfig.idpHint;\n\t\tthis.authorizationUrl = oidcConfig.authorizationUrl;\n\t\tthis.tokenUrl = oidcConfig.tokenUrl;\n\t\tthis.logoutUrl = oidcConfig.logoutUrl;\n\t\tthis.userinfoUrl = oidcConfig.userinfoUrl;\n\t\tthis.defaultScopes = oidcConfig.defaultScopes;\n\t}\n\n\t@Property()\n\tclientId: string;\n\n\t@Property()\n\tclientSecret: string;\n\n\t@Property()\n\tidpHint: string;\n\n\t@Property()\n\tauthorizationUrl: string;\n\n\t@Property()\n\ttokenUrl: string;\n\n\t@Property()\n\tlogoutUrl: string;\n\n\t@Property()\n\tuserinfoUrl: string;\n\n\t@Property()\n\tdefaultScopes: string;\n}\n\n@Entity({ tableName: 'systems' })\nexport class SystemEntity extends BaseEntityWithTimestamps {\n\tconstructor(props: SystemEntityProps) {\n\t\tsuper();\n\t\tthis.type = props.type;\n\t\tthis.url = props.url;\n\t\tthis.alias = props.alias;\n\t\tthis.displayName = props.displayName;\n\t\tthis.oauthConfig = props.oauthConfig;\n\t\tthis.oidcConfig = props.oidcConfig;\n\t\tthis.ldapConfig = props.ldapConfig;\n\t\tthis.provisioningStrategy = props.provisioningStrategy;\n\t\tthis.provisioningUrl = props.provisioningUrl;\n\t}\n\n\t@Property({ nullable: false })\n\ttype: string; // see legacy enum for valid values\n\n\t@Property({ nullable: true })\n\turl?: string;\n\n\t@Property({ nullable: true })\n\talias?: string;\n\n\t@Property({ nullable: true })\n\tdisplayName?: string;\n\n\t@Property({ nullable: true })\n\toauthConfig?: OauthConfigEntity;\n\n\t@Property({ nullable: true })\n\t@Enum()\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\n\t@Property({ nullable: true })\n\toidcConfig?: OidcConfigEntity;\n\n\t@Embedded({ entity: () => LdapConfigEntity, object: true, nullable: true })\n\tldapConfig?: LdapConfigEntity;\n\n\t@Property({ nullable: true })\n\tprovisioningUrl?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OidcContextResponse.html":{"url":"classes/OidcContextResponse.html","title":"class - OidcContextResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OidcContextResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/response/oidc-context.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n acr_values\n \n \n \n Optional\n display\n \n \n \n Optional\n id_token_hint_claims\n \n \n \n Optional\n login_hint\n \n \n \n \n Optional\n ui_locales\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n acr_values\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/oidc-context.response.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n display\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/oidc-context.response.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n id_token_hint_claims\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/oidc-context.response.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n login_hint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/oidc-context.response.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n ui_locales\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @Optional()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/oidc-context.response.ts:19\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { Optional } from '@nestjs/common';\n\nexport class OidcContextResponse {\n\t@ApiProperty()\n\tacr_values?: string[];\n\n\t@ApiProperty()\n\tdisplay?: string;\n\n\t@ApiProperty()\n\tid_token_hint_claims?: object;\n\n\t@ApiProperty()\n\tlogin_hint?: string;\n\n\t@Optional()\n\t@ApiProperty()\n\tui_locales?: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OidcIdentityProviderMapper.html":{"url":"classes/OidcIdentityProviderMapper.html","title":"class - OidcIdentityProviderMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OidcIdentityProviderMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/mapper/identity-provider.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n mapToKeycloakIdentityProvider\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(defaultEncryptionService: EncryptionService)\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/mapper/identity-provider.mapper.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n defaultEncryptionService\n \n \n EncryptionService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n mapToKeycloakIdentityProvider\n \n \n \n \n \n \n \n mapToKeycloakIdentityProvider(oidcConfig: OidcConfigDto, flowAlias: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/mapper/identity-provider.mapper.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oidcConfig\n \n OidcConfigDto\n \n\n \n No\n \n\n\n \n \n flowAlias\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : IdentityProviderRepresentation\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DefaultEncryptionService, EncryptionService } from '@infra/encryption';\nimport IdentityProviderRepresentation from '@keycloak/keycloak-admin-client/lib/defs/identityProviderRepresentation';\nimport { OidcConfigDto } from '@modules/system/service';\nimport { Inject } from '@nestjs/common';\n\nexport class OidcIdentityProviderMapper {\n\tconstructor(@Inject(DefaultEncryptionService) private readonly defaultEncryptionService: EncryptionService) {}\n\n\tpublic mapToKeycloakIdentityProvider(oidcConfig: OidcConfigDto, flowAlias: string): IdentityProviderRepresentation {\n\t\treturn {\n\t\t\tproviderId: 'oidc',\n\t\t\talias: oidcConfig.idpHint,\n\t\t\tdisplayName: oidcConfig.idpHint,\n\t\t\tenabled: true,\n\t\t\tfirstBrokerLoginFlowAlias: flowAlias,\n\t\t\tconfig: {\n\t\t\t\tclientId: oidcConfig.clientId,\n\t\t\t\tclientSecret: this.defaultEncryptionService.decrypt(oidcConfig.clientSecret),\n\t\t\t\tauthorizationUrl: oidcConfig.authorizationUrl,\n\t\t\t\ttokenUrl: oidcConfig.tokenUrl,\n\t\t\t\tlogoutUrl: oidcConfig.logoutUrl,\n\t\t\t\tuserInfoUrl: oidcConfig.userinfoUrl,\n\t\t\t\tdefaultScope: oidcConfig.defaultScopes,\n\t\t\t\tsyncMode: 'IMPORT',\n\t\t\t\tsync_mode: 'import',\n\t\t\t\tclientAuthMethod: 'client_secret_post',\n\t\t\t\tbackchannelSupported: 'true',\n\t\t\t\tprompt: 'login',\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OidcMockProvisioningStrategy.html":{"url":"injectables/OidcMockProvisioningStrategy.html","title":"injectable - OidcMockProvisioningStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OidcMockProvisioningStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/oidc-mock/oidc-mock.strategy.ts\n \n\n\n\n \n Extends\n \n \n ProvisioningStrategy\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n apply\n \n \n \n Async\n getData\n \n \n getType\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n apply\n \n \n \n \n \n \n \n apply(data: OauthDataDto)\n \n \n\n\n \n \n Inherited from ProvisioningStrategy\n\n \n \n \n \n Defined in ProvisioningStrategy:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n OauthDataDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getData\n \n \n \n \n \n \n \n getData(input: OauthDataStrategyInputDto)\n \n \n\n\n \n \n Inherited from ProvisioningStrategy\n\n \n \n \n \n Defined in ProvisioningStrategy:14\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n input\n \n OauthDataStrategyInputDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getType\n \n \n \n \n \n \ngetType()\n \n \n\n\n \n \n Inherited from ProvisioningStrategy\n\n \n \n \n \n Defined in ProvisioningStrategy:10\n\n \n \n\n\n \n \n\n \n Returns : SystemProvisioningStrategy\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport jwt, { JwtPayload } from 'jsonwebtoken';\nimport { IdTokenExtractionFailureLoggableException } from '@modules/oauth/loggable';\nimport { ExternalUserDto, OauthDataDto, OauthDataStrategyInputDto, ProvisioningDto } from '../../dto';\nimport { ProvisioningStrategy } from '../base.strategy';\n\n@Injectable()\nexport class OidcMockProvisioningStrategy extends ProvisioningStrategy {\n\tgetType(): SystemProvisioningStrategy {\n\t\treturn SystemProvisioningStrategy.OIDC;\n\t}\n\n\toverride async getData(input: OauthDataStrategyInputDto): Promise {\n\t\tconst idToken = jwt.decode(input.idToken, { json: true }) as (JwtPayload & { external_sub?: string }) | null;\n\t\tif (!idToken || !idToken.external_sub) {\n\t\t\tthrow new IdTokenExtractionFailureLoggableException('external_sub');\n\t\t}\n\n\t\tconst externalUser: ExternalUserDto = new ExternalUserDto({\n\t\t\texternalId: idToken.external_sub,\n\t\t});\n\n\t\tconst oauthData: OauthDataDto = new OauthDataDto({\n\t\t\tsystem: input.system,\n\t\t\texternalUser,\n\t\t});\n\t\treturn Promise.resolve(oauthData);\n\t}\n\n\toverride apply(data: OauthDataDto): Promise {\n\t\treturn Promise.resolve(new ProvisioningDto({ externalUserId: data.externalUser.externalId }));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OidcProvisioningService.html":{"url":"injectables/OidcProvisioningService.html","title":"injectable - OidcProvisioningService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OidcProvisioningService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/oidc/service/oidc-provisioning.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n getFilteredGroupUsers\n \n \n Private\n Async\n getGroupUser\n \n \n Private\n getSchoolName\n \n \n Async\n provisionExternalGroup\n \n \n Async\n provisionExternalSchool\n \n \n Async\n provisionExternalUser\n \n \n Async\n removeExternalGroupsAndAffiliation\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userService: UserService, schoolService: LegacySchoolService, groupService: GroupService, roleService: RoleService, accountService: AccountService, schoolYearService: SchoolYearService, federalStateService: FederalStateService, logger: Logger)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/oidc/service/oidc-provisioning.service.ts:21\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n groupService\n \n \n GroupService\n \n \n \n No\n \n \n \n \n roleService\n \n \n RoleService\n \n \n \n No\n \n \n \n \n accountService\n \n \n AccountService\n \n \n \n No\n \n \n \n \n schoolYearService\n \n \n SchoolYearService\n \n \n \n No\n \n \n \n \n federalStateService\n \n \n FederalStateService\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n getFilteredGroupUsers\n \n \n \n \n \n \n \n getFilteredGroupUsers(externalGroup: ExternalGroupDto, systemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/oidc/service/oidc-provisioning.service.ts:189\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalGroup\n \n ExternalGroupDto\n \n\n \n No\n \n\n\n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getGroupUser\n \n \n \n \n \n \n \n getGroupUser(externalGroupUser: ExternalGroupUserDto, systemId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/oidc/service/oidc-provisioning.service.ts:206\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalGroupUser\n \n ExternalGroupUserDto\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getSchoolName\n \n \n \n \n \n \n \n getSchoolName(externalSchool: ExternalSchoolDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/oidc/service/oidc-provisioning.service.ts:71\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalSchool\n \n ExternalSchoolDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n provisionExternalGroup\n \n \n \n \n \n \n \n provisionExternalGroup(externalGroup: ExternalGroupDto, externalSchool: ExternalSchoolDto | undefined, systemId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/oidc/service/oidc-provisioning.service.ts:133\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalGroup\n \n ExternalGroupDto\n \n\n \n No\n \n\n\n \n \n externalSchool\n \n ExternalSchoolDto | undefined\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n provisionExternalSchool\n \n \n \n \n \n \n \n provisionExternalSchool(externalSchool: ExternalSchoolDto, systemId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/oidc/service/oidc-provisioning.service.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalSchool\n \n ExternalSchoolDto\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n provisionExternalUser\n \n \n \n \n \n \n \n provisionExternalUser(externalUser: ExternalUserDto, systemId: EntityId, schoolId?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/oidc/service/oidc-provisioning.service.ts:79\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalUser\n \n ExternalUserDto\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolId\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n removeExternalGroupsAndAffiliation\n \n \n \n \n \n \n \n removeExternalGroupsAndAffiliation(externalUserId: string, externalGroups: ExternalGroupDto[], systemId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/oidc/service/oidc-provisioning.service.ts:223\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalUserId\n \n string\n \n\n \n No\n \n\n\n \n \n externalGroups\n \n ExternalGroupDto[]\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AccountService } from '@modules/account/services/account.service';\nimport { AccountSaveDto } from '@modules/account/services/dto';\nimport { Group, GroupService, GroupUser } from '@modules/group';\nimport { FederalStateService, LegacySchoolService, SchoolYearService } from '@modules/legacy-school';\nimport { FederalStateNames } from '@modules/legacy-school/types';\nimport { RoleService } from '@modules/role';\nimport { RoleDto } from '@modules/role/service/dto/role.dto';\nimport { UserService } from '@modules/user';\nimport { Injectable, UnprocessableEntityException } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { ExternalSource, LegacySchoolDo, RoleReference, UserDO } from '@shared/domain/domainobject';\nimport { FederalStateEntity, SchoolFeatures, SchoolYearEntity } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { Logger } from '@src/core/logger';\nimport { ObjectId } from 'bson';\nimport CryptoJS from 'crypto-js';\nimport { ExternalGroupDto, ExternalGroupUserDto, ExternalSchoolDto, ExternalUserDto } from '../../../dto';\nimport { SchoolForGroupNotFoundLoggable, UserForGroupNotFoundLoggable } from '../../../loggable';\n\n@Injectable()\nexport class OidcProvisioningService {\n\tconstructor(\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly schoolService: LegacySchoolService,\n\t\tprivate readonly groupService: GroupService,\n\t\tprivate readonly roleService: RoleService,\n\t\tprivate readonly accountService: AccountService,\n\t\tprivate readonly schoolYearService: SchoolYearService,\n\t\tprivate readonly federalStateService: FederalStateService,\n\t\tprivate readonly logger: Logger\n\t) {}\n\n\tasync provisionExternalSchool(externalSchool: ExternalSchoolDto, systemId: EntityId): Promise {\n\t\tconst existingSchool: LegacySchoolDo | null = await this.schoolService.getSchoolByExternalId(\n\t\t\texternalSchool.externalId,\n\t\t\tsystemId\n\t\t);\n\t\tlet school: LegacySchoolDo;\n\t\tif (existingSchool) {\n\t\t\tschool = existingSchool;\n\t\t\tschool.name = this.getSchoolName(externalSchool);\n\t\t\tschool.officialSchoolNumber = externalSchool.officialSchoolNumber ?? existingSchool.officialSchoolNumber;\n\t\t\tif (!school.systems) {\n\t\t\t\tschool.systems = [systemId];\n\t\t\t} else if (!school.systems.includes(systemId)) {\n\t\t\t\tschool.systems.push(systemId);\n\t\t\t}\n\t\t} else {\n\t\t\tconst schoolYear: SchoolYearEntity = await this.schoolYearService.getCurrentSchoolYear();\n\t\t\tconst federalState: FederalStateEntity = await this.federalStateService.findFederalStateByName(\n\t\t\t\tFederalStateNames.NIEDERSACHEN\n\t\t\t);\n\n\t\t\tschool = new LegacySchoolDo({\n\t\t\t\texternalId: externalSchool.externalId,\n\t\t\t\tname: this.getSchoolName(externalSchool),\n\t\t\t\tofficialSchoolNumber: externalSchool.officialSchoolNumber,\n\t\t\t\tsystems: [systemId],\n\t\t\t\tfeatures: [SchoolFeatures.OAUTH_PROVISIONING_ENABLED],\n\t\t\t\t// TODO: N21-990 Refactoring: Create domain objects for schoolYear and federalState\n\t\t\t\tschoolYear,\n\t\t\t\tfederalState,\n\t\t\t});\n\t\t}\n\n\t\tconst savedSchool: LegacySchoolDo = await this.schoolService.save(school, true);\n\n\t\treturn savedSchool;\n\t}\n\n\tprivate getSchoolName(externalSchool: ExternalSchoolDto): string {\n\t\tconst schoolName: string = externalSchool.location\n\t\t\t? `${externalSchool.name} (${externalSchool.location})`\n\t\t\t: externalSchool.name;\n\n\t\treturn schoolName;\n\t}\n\n\tasync provisionExternalUser(externalUser: ExternalUserDto, systemId: EntityId, schoolId?: string): Promise {\n\t\tlet roleRefs: RoleReference[] | undefined;\n\t\tif (externalUser.roles) {\n\t\t\tconst roles: RoleDto[] = await this.roleService.findByNames(externalUser.roles);\n\t\t\troleRefs = roles.map((role: RoleDto): RoleReference => new RoleReference({ id: role.id || '', name: role.name }));\n\t\t}\n\n\t\tconst existingUser: UserDO | null = await this.userService.findByExternalId(externalUser.externalId, systemId);\n\t\tlet user: UserDO;\n\t\tlet createNewAccount = false;\n\t\tif (existingUser) {\n\t\t\tuser = existingUser;\n\t\t\tuser.firstName = externalUser.firstName ?? existingUser.firstName;\n\t\t\tuser.lastName = externalUser.lastName ?? existingUser.lastName;\n\t\t\tuser.email = externalUser.email ?? existingUser.email;\n\t\t\tuser.roles = roleRefs ?? existingUser.roles;\n\t\t\tuser.schoolId = schoolId ?? existingUser.schoolId;\n\t\t\tuser.birthday = externalUser.birthday ?? existingUser.birthday;\n\t\t} else {\n\t\t\tcreateNewAccount = true;\n\n\t\t\tif (!schoolId) {\n\t\t\t\tthrow new UnprocessableEntityException(\n\t\t\t\t\t`Unable to create new external user ${externalUser.externalId} without a school`\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tuser = new UserDO({\n\t\t\t\texternalId: externalUser.externalId,\n\t\t\t\tfirstName: externalUser.firstName ?? '',\n\t\t\t\tlastName: externalUser.lastName ?? '',\n\t\t\t\temail: externalUser.email ?? '',\n\t\t\t\troles: roleRefs ?? [],\n\t\t\t\tschoolId,\n\t\t\t\tbirthday: externalUser.birthday,\n\t\t\t});\n\t\t}\n\n\t\tconst savedUser: UserDO = await this.userService.save(user);\n\n\t\tif (createNewAccount) {\n\t\t\tawait this.accountService.saveWithValidation(\n\t\t\t\tnew AccountSaveDto({\n\t\t\t\t\tuserId: savedUser.id,\n\t\t\t\t\tusername: CryptoJS.SHA256(savedUser.id as string).toString(CryptoJS.enc.Base64),\n\t\t\t\t\tsystemId,\n\t\t\t\t\tactivated: true,\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\n\t\treturn savedUser;\n\t}\n\n\tasync provisionExternalGroup(\n\t\texternalGroup: ExternalGroupDto,\n\t\texternalSchool: ExternalSchoolDto | undefined,\n\t\tsystemId: EntityId\n\t): Promise {\n\t\tlet organizationId: string | undefined;\n\t\tif (externalSchool) {\n\t\t\tconst existingSchool: LegacySchoolDo | null = await this.schoolService.getSchoolByExternalId(\n\t\t\t\texternalSchool.externalId,\n\t\t\t\tsystemId\n\t\t\t);\n\n\t\t\tif (!existingSchool || !existingSchool.id) {\n\t\t\t\tthis.logger.info(new SchoolForGroupNotFoundLoggable(externalGroup, externalSchool));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\torganizationId = existingSchool.id;\n\t\t}\n\n\t\tconst existingGroup: Group | null = await this.groupService.findByExternalSource(\n\t\t\texternalGroup.externalId,\n\t\t\tsystemId\n\t\t);\n\n\t\tconst group: Group = new Group({\n\t\t\tid: existingGroup?.id ?? new ObjectId().toHexString(),\n\t\t\tname: externalGroup.name,\n\t\t\texternalSource: new ExternalSource({\n\t\t\t\texternalId: externalGroup.externalId,\n\t\t\t\tsystemId,\n\t\t\t}),\n\t\t\ttype: externalGroup.type,\n\t\t\torganizationId,\n\t\t\tvalidFrom: externalGroup.from,\n\t\t\tvalidUntil: externalGroup.until,\n\t\t\tusers: existingGroup?.users ?? [],\n\t\t});\n\n\t\tif (externalGroup.otherUsers !== undefined) {\n\t\t\tconst otherUsers: GroupUser[] = await this.getFilteredGroupUsers(externalGroup, systemId);\n\n\t\t\tgroup.users = otherUsers;\n\t\t}\n\n\t\tconst self: GroupUser | null = await this.getGroupUser(externalGroup.user, systemId);\n\n\t\tif (!self) {\n\t\t\tthrow new NotFoundLoggableException(UserDO.name, 'externalId', externalGroup.user.externalUserId);\n\t\t}\n\n\t\tgroup.addUser(self);\n\n\t\tawait this.groupService.save(group);\n\t}\n\n\tprivate async getFilteredGroupUsers(externalGroup: ExternalGroupDto, systemId: string): Promise {\n\t\tif (!externalGroup.otherUsers?.length) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst users: (GroupUser | null)[] = await Promise.all(\n\t\t\texternalGroup.otherUsers.map(\n\t\t\t\tasync (externalGroupUser: ExternalGroupUserDto): Promise =>\n\t\t\t\t\tthis.getGroupUser(externalGroupUser, systemId)\n\t\t\t)\n\t\t);\n\n\t\tconst filteredUsers: GroupUser[] = users.filter((groupUser): groupUser is GroupUser => groupUser !== null);\n\n\t\treturn filteredUsers;\n\t}\n\n\tprivate async getGroupUser(externalGroupUser: ExternalGroupUserDto, systemId: EntityId): Promise {\n\t\tconst user: UserDO | null = await this.userService.findByExternalId(externalGroupUser.externalUserId, systemId);\n\t\tconst roles: RoleDto[] = await this.roleService.findByNames([externalGroupUser.roleName]);\n\n\t\tif (!user?.id || roles.length !== 1 || !roles[0].id) {\n\t\t\tthis.logger.info(new UserForGroupNotFoundLoggable(externalGroupUser));\n\t\t\treturn null;\n\t\t}\n\n\t\tconst groupUser: GroupUser = new GroupUser({\n\t\t\tuserId: user.id,\n\t\t\troleId: roles[0].id,\n\t\t});\n\n\t\treturn groupUser;\n\t}\n\n\tasync removeExternalGroupsAndAffiliation(\n\t\texternalUserId: string,\n\t\texternalGroups: ExternalGroupDto[],\n\t\tsystemId: EntityId\n\t): Promise {\n\t\tconst user: UserDO | null = await this.userService.findByExternalId(externalUserId, systemId);\n\n\t\tif (!user) {\n\t\t\tthrow new NotFoundLoggableException(UserDO.name, 'externalId', externalUserId);\n\t\t}\n\n\t\tconst existingGroupsOfUser: Group[] = await this.groupService.findByUser(user);\n\n\t\tconst groupsFromSystem: Group[] = existingGroupsOfUser.filter(\n\t\t\t(existingGroup: Group) => existingGroup.externalSource?.systemId === systemId\n\t\t);\n\n\t\tconst groupsWithoutUser: Group[] = groupsFromSystem.filter((existingGroupFromSystem: Group) => {\n\t\t\tconst isUserInGroup = externalGroups.some(\n\t\t\t\t(externalGroup: ExternalGroupDto) =>\n\t\t\t\t\texternalGroup.externalId === existingGroupFromSystem.externalSource?.externalId\n\t\t\t);\n\n\t\t\treturn !isUserInGroup;\n\t\t});\n\n\t\tawait Promise.all(\n\t\t\tgroupsWithoutUser.map(async (group: Group) => {\n\t\t\t\tgroup.removeUser(user);\n\n\t\t\t\tif (group.isEmpty()) {\n\t\t\t\t\tawait this.groupService.delete(group);\n\t\t\t\t} else {\n\t\t\t\t\tawait this.groupService.save(group);\n\t\t\t\t}\n\t\t\t})\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OidcProvisioningStrategy.html":{"url":"injectables/OidcProvisioningStrategy.html","title":"injectable - OidcProvisioningStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OidcProvisioningStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/oidc/oidc.strategy.ts\n \n\n\n\n \n Extends\n \n \n ProvisioningStrategy\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n apply\n \n \n Abstract\n getData\n \n \n Abstract\n getType\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oidcProvisioningService: OidcProvisioningService)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/oidc/oidc.strategy.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oidcProvisioningService\n \n \n OidcProvisioningService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n apply\n \n \n \n \n \n \n \n apply(data: OauthDataDto)\n \n \n\n\n \n \n Inherited from ProvisioningStrategy\n\n \n \n \n \n Defined in ProvisioningStrategy:14\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n OauthDataDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getData\n \n \n \n \n \n \n \n getData(input: OauthDataStrategyInputDto)\n \n \n\n\n \n \n Inherited from ProvisioningStrategy\n\n \n \n \n \n Defined in ProvisioningStrategy:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n input\n \n OauthDataStrategyInputDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getType\n \n \n \n \n \n \n \n getType()\n \n \n\n\n \n \n Inherited from ProvisioningStrategy\n\n \n \n \n \n Defined in ProvisioningStrategy:5\n\n \n \n\n\n \n \n\n \n Returns : SystemProvisioningStrategy\n\n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { Injectable } from '@nestjs/common';\nimport { LegacySchoolDo, UserDO } from '@shared/domain/domainobject';\nimport { OauthDataDto, ProvisioningDto } from '../../dto';\nimport { ProvisioningStrategy } from '../base.strategy';\nimport { OidcProvisioningService } from './service/oidc-provisioning.service';\n\n@Injectable()\nexport abstract class OidcProvisioningStrategy extends ProvisioningStrategy {\n\tconstructor(protected readonly oidcProvisioningService: OidcProvisioningService) {\n\t\tsuper();\n\t}\n\n\toverride async apply(data: OauthDataDto): Promise {\n\t\tlet school: LegacySchoolDo | undefined;\n\t\tif (data.externalSchool) {\n\t\t\tschool = await this.oidcProvisioningService.provisionExternalSchool(data.externalSchool, data.system.systemId);\n\t\t}\n\n\t\tconst user: UserDO = await this.oidcProvisioningService.provisionExternalUser(\n\t\t\tdata.externalUser,\n\t\t\tdata.system.systemId,\n\t\t\tschool?.id\n\t\t);\n\n\t\tif (Configuration.get('FEATURE_SANIS_GROUP_PROVISIONING_ENABLED')) {\n\t\t\tawait this.oidcProvisioningService.removeExternalGroupsAndAffiliation(\n\t\t\t\tdata.externalUser.externalId,\n\t\t\t\tdata.externalGroups ?? [],\n\t\t\t\tdata.system.systemId\n\t\t\t);\n\n\t\t\tif (data.externalGroups) {\n\t\t\t\tawait Promise.all(\n\t\t\t\t\tdata.externalGroups.map((externalGroup) =>\n\t\t\t\t\t\tthis.oidcProvisioningService.provisionExternalGroup(\n\t\t\t\t\t\t\texternalGroup,\n\t\t\t\t\t\t\tdata.externalSchool,\n\t\t\t\t\t\t\tdata.system.systemId\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\treturn new ProvisioningDto({ externalUserId: user.externalId || data.externalUser.externalId });\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Options.html":{"url":"interfaces/Options.html","title":"interface - Options","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Options\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/management/console/database-management.console.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n collection\n \n \n \n Optional\n \n onlyfactories\n \n \n \n Optional\n \n override\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n collection\n \n \n \n \n \n \n \n \n collection: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n onlyfactories\n \n \n \n \n \n \n \n \n onlyfactories: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n override\n \n \n \n \n \n \n \n \n override: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { ConsoleWriterService } from '@infra/console/console-writer/console-writer.service';\nimport { Command, Console } from 'nestjs-console';\nimport { DatabaseManagementUc } from '../uc/database-management.uc';\n\ninterface Options {\n\tcollection?: string;\n\toverride?: boolean;\n\tonlyfactories?: boolean;\n}\n\n@Console({ command: 'database', description: 'database setup console' })\nexport class DatabaseManagementConsole {\n\tconstructor(private consoleWriter: ConsoleWriterService, private databaseManagementUc: DatabaseManagementUc) {}\n\n\t@Command({\n\t\tcommand: 'seed',\n\t\toptions: [\n\t\t\t{\n\t\t\t\tflags: '-c, --collection ',\n\t\t\t\trequired: false,\n\t\t\t\tdescription: 'filter for a single ',\n\t\t\t},\n\t\t\t{\n\t\t\t\tflags: '-o, --onlyfactories',\n\t\t\t\trequired: false,\n\t\t\t\tdescription: 'seed from factories only',\n\t\t\t},\n\t\t],\n\t\tdescription: 'reset database collections with seed data from filesystem',\n\t})\n\tasync seedCollections(options: Options): Promise {\n\t\tconst filter = options?.collection ? [options.collection] : undefined;\n\n\t\tconst collections = options.onlyfactories\n\t\t\t? await this.databaseManagementUc.seedDatabaseCollectionsFromFactories(filter)\n\t\t\t: await this.databaseManagementUc.seedDatabaseCollectionsFromFileSystem(filter);\n\t\tconst report = JSON.stringify(collections);\n\t\tthis.consoleWriter.info(report);\n\t\treturn collections;\n\t}\n\n\t@Command({\n\t\tcommand: 'export',\n\t\toptions: [\n\t\t\t{\n\t\t\t\tflags: '-c, --collection ',\n\t\t\t\trequired: false,\n\t\t\t\tdescription: 'filter for a single ',\n\t\t\t},\n\t\t\t{\n\t\t\t\tflags: '-o, --override',\n\t\t\t\trequired: false,\n\t\t\t\tdescription: 'optional export collections to setup folder and override existing files',\n\t\t\t},\n\t\t],\n\t\tdescription: 'export database collections to filesystem',\n\t})\n\tasync exportCollections(options: Options): Promise {\n\t\tconst filter = options?.collection ? [options.collection] : undefined;\n\t\tconst toSeedFolder = options?.override ? true : undefined;\n\t\tconst collections = await this.databaseManagementUc.exportCollectionsToFileSystem(filter, toSeedFolder);\n\t\tconst report = JSON.stringify(collections);\n\t\tthis.consoleWriter.info(report);\n\t\treturn collections;\n\t}\n\n\t@Command({\n\t\tcommand: 'sync-indexes',\n\t\toptions: [],\n\t\tdescription: 'sync indexes from nest and mikroorm',\n\t})\n\tasync syncIndexes(): Promise {\n\t\tawait this.databaseManagementUc.syncIndexes();\n\t\tconst report = 'sync of indexes is completed';\n\t\tthis.consoleWriter.info(report);\n\t\treturn report;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Page.html":{"url":"classes/Page.html","title":"class - Page","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Page\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/page.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n data\n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: T[], total: number)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/page.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n T[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : T[]\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/page.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/page.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class Page {\n\tdata: T[];\n\n\ttotal: number;\n\n\tconstructor(data: T[], total: number) {\n\t\tthis.data = data;\n\t\tthis.total = total;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PageContentDto.html":{"url":"classes/PageContentDto.html","title":"class - PageContentDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PageContentDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/service/dto/page-content.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n cancelButtonUrl\n \n \n proceedButtonUrl\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: PageContentDto)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/dto/page-content.dto.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n PageContentDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n cancelButtonUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/dto/page-content.dto.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n proceedButtonUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/dto/page-content.dto.ts:2\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class PageContentDto {\n\tproceedButtonUrl: string;\n\n\tcancelButtonUrl: string;\n\n\tconstructor(props: PageContentDto) {\n\t\tthis.proceedButtonUrl = props.proceedButtonUrl;\n\t\tthis.cancelButtonUrl = props.cancelButtonUrl;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Pagination.html":{"url":"interfaces/Pagination.html","title":"interface - Pagination","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Pagination\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/interface/find-options.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n limit\n \n \n \n Optional\n \n skip\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n limit\n \n \n \n \n \n \n \n \n limit: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n skip\n \n \n \n \n \n \n \n \n skip: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface Pagination {\n\tskip?: number;\n\tlimit?: number;\n}\n\nexport enum SortOrder {\n\tasc = 'asc',\n\tdesc = 'desc',\n}\n\nexport type SortOrderMap = Partial>;\n\nexport interface IFindOptions {\n\tpagination?: Pagination;\n\torder?: SortOrderMap;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PaginationParams.html":{"url":"classes/PaginationParams.html","title":"class - PaginationParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PaginationParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/controller/dto/pagination.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n Optional\n skip\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 10\n \n \n \n \n Decorators : \n \n \n @IsInt()@Min(1)@Max(100)@ApiPropertyOptional({description: 'Page limit, defaults to 10.', minimum: 1, maximum: 99})\n \n \n \n \n \n Defined in apps/server/src/shared/controller/dto/pagination.params.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Decorators : \n \n \n @IsInt()@Min(0)@ApiPropertyOptional({description: 'Number of elements (not pages) to be skipped'})\n \n \n \n \n \n Defined in apps/server/src/shared/controller/dto/pagination.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsInt, Max, Min } from 'class-validator';\nimport { ApiPropertyOptional } from '@nestjs/swagger';\n\nexport class PaginationParams {\n\t@IsInt()\n\t@Min(0)\n\t@ApiPropertyOptional({ description: 'Number of elements (not pages) to be skipped' })\n\tskip?: number = 0;\n\n\t@IsInt()\n\t@Min(1)\n\t@Max(100)\n\t@ApiPropertyOptional({ description: 'Page limit, defaults to 10.', minimum: 1, maximum: 99 })\n\tlimit?: number = 10;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PaginationResponse.html":{"url":"classes/PaginationResponse.html","title":"class - PaginationResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PaginationResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/controller/dto/pagination.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Abstract\n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/shared/controller/dto/pagination.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Abstract\n data\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The items for the current page.'})\n \n \n \n \n \n Defined in apps/server/src/shared/controller/dto/pagination.response.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Defined in apps/server/src/shared/controller/dto/pagination.response.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Defined in apps/server/src/shared/controller/dto/pagination.response.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Defined in apps/server/src/shared/controller/dto/pagination.response.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport abstract class PaginationResponse {\n\tconstructor(total: number, skip?: number, limit?: number) {\n\t\tthis.total = total;\n\t\tthis.skip = skip;\n\t\tthis.limit = limit;\n\t}\n\n\t@ApiProperty({ description: 'The items for the current page.' })\n\tabstract data: T;\n\n\t@ApiProperty({ description: 'The total amount of items.', type: 'number' })\n\ttotal: number;\n\n\t@ApiProperty({ description: 'The amount of items skipped from the start.', type: 'number' })\n\tskip?: number;\n\n\t@ApiProperty({ description: 'The page size of the response.', type: 'number' })\n\tlimit?: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ParameterTypeNotImplementedLoggableException.html":{"url":"classes/ParameterTypeNotImplementedLoggableException.html","title":"class - ParameterTypeNotImplementedLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ParameterTypeNotImplementedLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/error/parameter-type-not-implemented.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n NotImplementedException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(parameterType: string)\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/error/parameter-type-not-implemented.loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n parameterType\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/error/parameter-type-not-implemented.loggable-exception.ts:9\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { NotImplementedException } from '@nestjs/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class ParameterTypeNotImplementedLoggableException extends NotImplementedException implements Loggable {\n\tconstructor(private readonly parameterType: string) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'PARAMETER_TYPE_NOT_IMPLEMENTED',\n\t\t\tmessage: 'Launching an external tool with this parameter type is not implemented.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tparameterType: this.parameterType,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ParentInfo.html":{"url":"interfaces/ParentInfo.html","title":"interface - ParentInfo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ParentInfo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/entity/filerecord.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n parentId\n \n \n \n \n parentType\n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n parentId\n \n \n \n \n \n \n \n \n parentId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n \n \n parentType: FileRecordParentType\n\n \n \n\n\n \n \n Type : FileRecordParentType\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n schoolId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { PreviewInputMimeTypes } from '@infra/preview-generator';\nimport { Embeddable, Embedded, Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BadRequestException } from '@nestjs/common';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport path from 'path';\nimport { v4 as uuid } from 'uuid';\nimport { ErrorType } from '../error';\n\nexport enum ScanStatus {\n\tPENDING = 'pending',\n\tVERIFIED = 'verified',\n\tBLOCKED = 'blocked',\n\tWONT_CHECK = 'wont_check',\n\tERROR = 'error',\n}\n\nexport enum FileRecordParentType {\n\t'User' = 'users',\n\t'School' = 'schools',\n\t'Course' = 'courses',\n\t'Task' = 'tasks',\n\t'Lesson' = 'lessons',\n\t'Submission' = 'submissions',\n\t'BoardNode' = 'boardnodes',\n}\n\nexport enum PreviewStatus {\n\tPREVIEW_POSSIBLE = 'preview_possible',\n\tAWAITING_SCAN_STATUS = 'awaiting_scan_status',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_ERROR = 'preview_not_possible_scan_status_error',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_WONT_CHECK = 'preview_not_possible_scan_status_wont_check',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_BLOCKED = 'preview_not_possible_scan_status_blocked',\n\tPREVIEW_NOT_POSSIBLE_WRONG_MIME_TYPE = 'preview_not_possible_wrong_mime_type',\n}\n\nexport interface FileRecordSecurityCheckProperties {\n\tstatus?: ScanStatus;\n\treason?: string;\n\trequestToken?: string;\n}\n@Embeddable()\nexport class FileRecordSecurityCheck {\n\t@Enum()\n\tstatus: ScanStatus = ScanStatus.PENDING;\n\n\t@Property()\n\treason = 'not yet scanned';\n\n\t@Property()\n\trequestToken?: string = uuid();\n\n\t@Property()\n\tcreatedAt = new Date();\n\n\t@Property()\n\tupdatedAt = new Date();\n\n\tconstructor(props: FileRecordSecurityCheckProperties) {\n\t\tif (props.status !== undefined) {\n\t\t\tthis.status = props.status;\n\t\t}\n\t\tif (props.reason !== undefined) {\n\t\t\tthis.reason = props.reason;\n\t\t}\n\t\tif (props.requestToken !== undefined) {\n\t\t\tthis.requestToken = props.requestToken;\n\t\t}\n\t}\n}\n\nexport interface FileRecordProperties {\n\tsize: number;\n\tname: string;\n\tmimeType: string;\n\tparentType: FileRecordParentType;\n\tparentId: EntityId;\n\tcreatorId: EntityId;\n\tschoolId: EntityId;\n\tdeletedSince?: Date;\n\tisCopyFrom?: EntityId;\n}\n\ninterface ParentInfo {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\n// TODO: EntityWithSchool\n\n/**\n * Note: The file record entity will not manage any entity relations by itself.\n * That's why we do not map any relations in the entity class\n * and instead just use the plain object ids.\n */\n@Entity({ tableName: 'filerecords' })\n@Index({ properties: ['_schoolId', '_parentId'], options: { background: true } })\n// https://github.com/mikro-orm/mikro-orm/issues/1230\n@Index({ options: { 'securityCheck.requestToken': 1 } })\nexport class FileRecord extends BaseEntityWithTimestamps {\n\t@Index({ options: { expireAfterSeconds: 7 * 24 * 60 * 60 } })\n\t@Property({ nullable: true })\n\tdeletedSince?: Date;\n\n\t@Property()\n\tsize: number;\n\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tmimeType: string; // TODO mime-type enum?\n\n\t@Embedded(() => FileRecordSecurityCheck, { object: true, nullable: false })\n\tsecurityCheck: FileRecordSecurityCheck;\n\n\t@Index()\n\t@Enum()\n\tparentType: FileRecordParentType;\n\n\t@Index()\n\t@Property({ fieldName: 'parent' })\n\t_parentId: ObjectId;\n\n\tget parentId(): EntityId {\n\t\treturn this._parentId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'creator' })\n\t_creatorId: ObjectId;\n\n\tget creatorId(): EntityId {\n\t\treturn this._creatorId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'school' })\n\t_schoolId: ObjectId;\n\n\tget schoolId(): EntityId {\n\t\treturn this._schoolId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'isCopyFrom', nullable: true })\n\t_isCopyFrom?: ObjectId;\n\n\tget isCopyFrom(): EntityId | undefined {\n\t\tconst result = this._isCopyFrom?.toHexString();\n\n\t\treturn result;\n\t}\n\n\tconstructor(props: FileRecordProperties) {\n\t\tsuper();\n\t\tthis.size = props.size;\n\t\tthis.name = props.name;\n\t\tthis.mimeType = props.mimeType;\n\t\tthis.parentType = props.parentType;\n\t\tthis._parentId = new ObjectId(props.parentId);\n\t\tthis._creatorId = new ObjectId(props.creatorId);\n\t\tthis._schoolId = new ObjectId(props.schoolId);\n\t\tif (props.isCopyFrom) {\n\t\t\tthis._isCopyFrom = new ObjectId(props.isCopyFrom);\n\t\t}\n\t\tthis.securityCheck = new FileRecordSecurityCheck({});\n\t\tthis.deletedSince = props.deletedSince;\n\t}\n\n\tpublic updateSecurityCheckStatus(status: ScanStatus, reason: string): void {\n\t\tthis.securityCheck.status = status;\n\t\tthis.securityCheck.reason = reason;\n\t\tthis.securityCheck.updatedAt = new Date();\n\t\tthis.securityCheck.requestToken = undefined;\n\t}\n\n\tpublic getSecurityToken(): string | undefined {\n\t\treturn this.securityCheck.requestToken;\n\t}\n\n\tpublic copy(userId: EntityId, targetParentInfo: ParentInfo): FileRecord {\n\t\tconst { size, name, mimeType, id } = this;\n\t\tconst { parentType, parentId, schoolId } = targetParentInfo;\n\n\t\tconst fileRecordCopy = new FileRecord({\n\t\t\tsize,\n\t\t\tname,\n\t\t\tmimeType,\n\t\t\tparentType,\n\t\t\tparentId,\n\t\t\tcreatorId: userId,\n\t\t\tschoolId,\n\t\t\tisCopyFrom: id,\n\t\t});\n\n\t\tif (this.isVerified()) {\n\t\t\tfileRecordCopy.securityCheck = this.securityCheck;\n\t\t}\n\n\t\treturn fileRecordCopy;\n\t}\n\n\tpublic markForDelete(): void {\n\t\tthis.deletedSince = new Date();\n\t}\n\n\tpublic unmarkForDelete(): void {\n\t\tthis.deletedSince = undefined;\n\t}\n\n\tpublic setName(name: string): void {\n\t\tif (name.length === 0) {\n\t\t\tthrow new BadRequestException(ErrorType.FILE_NAME_EMPTY);\n\t\t}\n\n\t\tthis.name = name;\n\t}\n\n\tpublic hasName(name: string): boolean {\n\t\tconst hasName = this.name === name;\n\n\t\treturn hasName;\n\t}\n\n\tpublic getName(): string {\n\t\treturn this.name;\n\t}\n\n\tpublic isBlocked(): boolean {\n\t\tconst isBlocked = this.securityCheck.status === ScanStatus.BLOCKED;\n\n\t\treturn isBlocked;\n\t}\n\n\tpublic hasScanStatusError(): boolean {\n\t\tconst hasError = this.securityCheck.status === ScanStatus.ERROR;\n\n\t\treturn hasError;\n\t}\n\n\tpublic hasScanStatusWontCheck(): boolean {\n\t\tconst hasWontCheckStatus = this.securityCheck.status === ScanStatus.WONT_CHECK;\n\n\t\treturn hasWontCheckStatus;\n\t}\n\n\tpublic isPending(): boolean {\n\t\tconst isPending = this.securityCheck.status === ScanStatus.PENDING;\n\n\t\treturn isPending;\n\t}\n\n\tpublic isVerified(): boolean {\n\t\tconst isVerified = this.securityCheck.status === ScanStatus.VERIFIED;\n\n\t\treturn isVerified;\n\t}\n\n\tpublic isPreviewPossible(): boolean {\n\t\tconst isPreviewPossible = Object.values(PreviewInputMimeTypes).includes(this.mimeType);\n\n\t\treturn isPreviewPossible;\n\t}\n\n\tpublic getParentInfo(): ParentInfo {\n\t\tconst { parentId, parentType, schoolId } = this;\n\n\t\treturn { parentId, parentType, schoolId };\n\t}\n\n\tpublic getSchoolId(): EntityId {\n\t\treturn this.schoolId;\n\t}\n\n\tpublic getPreviewStatus(): PreviewStatus {\n\t\tif (this.isBlocked()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_BLOCKED;\n\t\t}\n\n\t\tif (!this.isPreviewPossible()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_WRONG_MIME_TYPE;\n\t\t}\n\n\t\tif (this.isVerified()) {\n\t\t\treturn PreviewStatus.PREVIEW_POSSIBLE;\n\t\t}\n\n\t\tif (this.isPending()) {\n\t\t\treturn PreviewStatus.AWAITING_SCAN_STATUS;\n\t\t}\n\n\t\tif (this.hasScanStatusWontCheck()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_WONT_CHECK;\n\t\t}\n\n\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_ERROR;\n\t}\n\n\tpublic get fileNameWithoutExtension(): string {\n\t\tconst filenameObj = path.parse(this.name);\n\n\t\treturn filenameObj.name;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PatchGroupParams.html":{"url":"classes/PatchGroupParams.html","title":"class - PatchGroupParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PatchGroupParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/patch-group.params.ts\n \n\n\n \n Description\n \n \n DTO for Patching a the group name of a grid element.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@SanitizeHtml()@ApiProperty({description: 'Title of the Group grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/patch-group.params.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\nimport { IsString } from 'class-validator';\n\n/**\n * DTO for Patching a the group name of a grid element.\n */\nexport class PatchGroupParams {\n\t@IsString()\n\t@SanitizeHtml()\n\t@ApiProperty({\n\t\tdescription: 'Title of the Group grid element',\n\t})\n\ttitle!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PatchMyAccountParams.html":{"url":"classes/PatchMyAccountParams.html","title":"class - PatchMyAccountParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PatchMyAccountParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/controller/dto/patch-my-account.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n email\n \n \n \n \n \n Optional\n firstName\n \n \n \n \n \n Optional\n lastName\n \n \n \n \n \n \n \n Optional\n passwordNew\n \n \n \n \n passwordOld\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n email\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsEmail()@IsOptional()@ApiProperty({description: 'The new email address for the current user.', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/patch-my-account.params.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'The new first name for the current user.', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/patch-my-account.params.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'The new last name for the current user.', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/patch-my-account.params.ts:51\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n passwordNew\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @PrivacyProtect()@IsString()@IsOptional()@Matches(passwordPattern)@ApiProperty({description: 'The new password for the current user.', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/patch-my-account.params.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n passwordOld\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({description: 'The current user password to authorize the update action.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/patch-my-account.params.ts:13\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { PrivacyProtect } from '@shared/controller';\nimport { IsEmail, IsOptional, IsString, Matches } from 'class-validator';\nimport { passwordPattern } from './password-pattern';\n\nexport class PatchMyAccountParams {\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'The current user password to authorize the update action.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tpasswordOld!: string;\n\n\t@PrivacyProtect()\n\t@IsString()\n\t@IsOptional()\n\t@Matches(passwordPattern)\n\t@ApiProperty({\n\t\tdescription: 'The new password for the current user.',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\tpasswordNew?: string;\n\n\t@IsEmail()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'The new email address for the current user.',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\temail?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'The new first name for the current user.',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\tfirstName?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'The new last name for the current user.',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\tlastName?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PatchMyPasswordParams.html":{"url":"classes/PatchMyPasswordParams.html","title":"class - PatchMyPasswordParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PatchMyPasswordParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/controller/dto/patch-my-password.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n confirmPassword\n \n \n \n \n \n \n password\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n confirmPassword\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @PrivacyProtect()@IsString()@Matches(passwordPattern)@ApiProperty({description: 'The confirmed new user password. Must match the password field.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/patch-my-password.params.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n password\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @PrivacyProtect()@IsString()@Matches(passwordPattern)@ApiProperty({description: 'The new user password.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/patch-my-password.params.ts:15\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { PrivacyProtect } from '@shared/controller';\nimport { IsString, Matches } from 'class-validator';\nimport { passwordPattern } from './password-pattern';\n\nexport class PatchMyPasswordParams {\n\t@PrivacyProtect()\n\t@IsString()\n\t@Matches(passwordPattern)\n\t@ApiProperty({\n\t\tdescription: 'The new user password.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tpassword!: string;\n\n\t@PrivacyProtect()\n\t@IsString()\n\t@Matches(passwordPattern)\n\t@ApiProperty({\n\t\tdescription: 'The confirmed new user password. Must match the password field.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tconfirmPassword!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PatchOrderParams.html":{"url":"classes/PatchOrderParams.html","title":"class - PatchOrderParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PatchOrderParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/patch-order.params.ts\n \n\n\n \n Description\n \n \n DTO for Patching the order of elements within the board.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n elements\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n elements\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@IsMongoId({each: true})@ApiProperty({description: 'Array ids determining the new order'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/patch-order.params.ts:13\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsArray, IsMongoId } from 'class-validator';\n\n/**\n * DTO for Patching the order of elements within the board.\n */\nexport class PatchOrderParams {\n\t@IsArray()\n\t@IsMongoId({ each: true })\n\t@ApiProperty({\n\t\tdescription: 'Array ids determining the new order',\n\t})\n\telements!: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PatchVisibilityParams.html":{"url":"classes/PatchVisibilityParams.html","title":"class - PatchVisibilityParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PatchVisibilityParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/patch-visibility.params.ts\n \n\n\n \n Description\n \n \n DTO for Patching the visibility of a board element.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n visibility\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n visibility\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty({description: 'true to publish the element, false to unpublish'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/patch-visibility.params.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsBoolean } from 'class-validator';\n\n/**\n * DTO for Patching the visibility of a board element.\n */\nexport class PatchVisibilityParams {\n\t@IsBoolean()\n\t@ApiProperty({\n\t\tdescription: 'true to publish the element, false to unpublish',\n\t})\n\tvisibility!: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Path.html":{"url":"classes/Path.html","title":"class - Path","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Path\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/entity/library.entity.ts\n \n\n\n\n\n \n Implements\n \n \n IPath\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n path\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(path: string)\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n path\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n path\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IInstalledLibrary, ILibraryName } from '@lumieducation/h5p-server';\nimport { IFileStats, ILibraryMetadata, IPath } from '@lumieducation/h5p-server/build/src/types';\nimport { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\n\nexport class Path implements IPath {\n\t@Property()\n\tpath: string;\n\n\tconstructor(path: string) {\n\t\tthis.path = path;\n\t}\n}\n\nexport class LibraryName implements ILibraryName {\n\t@Property()\n\tmachineName: string;\n\n\t@Property()\n\tmajorVersion: number;\n\n\t@Property()\n\tminorVersion: number;\n\n\tconstructor(machineName: string, majorVersion: number, minorVersion: number) {\n\t\tthis.machineName = machineName;\n\t\tthis.majorVersion = majorVersion;\n\t\tthis.minorVersion = minorVersion;\n\t}\n}\n\nexport class FileMetadata implements IFileStats {\n\tname: string;\n\n\tbirthtime: Date;\n\n\tsize: number;\n\n\tconstructor(name: string, birthtime: Date, size: number) {\n\t\tthis.name = name;\n\t\tthis.birthtime = birthtime;\n\t\tthis.size = size;\n\t}\n}\n\n@Entity({ tableName: 'h5p_library' })\nexport class InstalledLibrary extends BaseEntityWithTimestamps implements IInstalledLibrary {\n\t@Property()\n\tmachineName: string;\n\n\t@Property()\n\tmajorVersion: number;\n\n\t@Property()\n\tminorVersion: number;\n\n\t@Property()\n\tpatchVersion: number;\n\n\t/**\n\t * Addons can be added to other content types by\n\t */\n\t@Property({ nullable: true })\n\taddTo?: {\n\t\tcontent?: {\n\t\t\ttypes?: {\n\t\t\t\ttext?: {\n\t\t\t\t\t/**\n\t\t\t\t\t * If any string property in the parameters matches the regex,\n\t\t\t\t\t * the addon will be activated for the content.\n\t\t\t\t\t */\n\t\t\t\t\tregex?: string;\n\t\t\t\t};\n\t\t\t}[];\n\t\t};\n\t\t/**\n\t\t * Contains cases in which the library should be added to the editor.\n\t\t *\n\t\t * This is an extension to the H5P library metadata structure made by\n\t\t * h5p-nodejs-library. That way addons can specify to which editors\n\t\t * they should be added in general. The PHP implementation hard-codes\n\t\t * this list into the server, which we want to avoid here.\n\t\t */\n\t\teditor?: {\n\t\t\t/**\n\t\t\t * A list of machine names in which the addon should be added.\n\t\t\t */\n\t\t\tmachineNames: string[];\n\t\t};\n\t\t/**\n\t\t * Contains cases in which the library should be added to the player.\n\t\t *\n\t\t * This is an extension to the H5P library metadata structure made by\n\t\t * h5p-nodejs-library. That way addons can specify to which editors\n\t\t * they should be added in general. The PHP implementation hard-codes\n\t\t * this list into the server, which we want to avoid here.\n\t\t */\n\t\tplayer?: {\n\t\t\t/**\n\t\t\t * A list of machine names in which the addon should be added.\n\t\t\t */\n\t\t\tmachineNames: string[];\n\t\t};\n\t};\n\n\t/**\n\t * If set to true, the library can only be used be users who have this special\n\t * privilege.\n\t */\n\t@Property()\n\trestricted: boolean;\n\n\t@Property({ nullable: true })\n\tauthor?: string;\n\n\t/**\n\t * The core API required to run the library.\n\t */\n\t@Property({ nullable: true })\n\tcoreApi?: {\n\t\tmajorVersion: number;\n\t\tminorVersion: number;\n\t};\n\n\t@Property({ nullable: true })\n\tdescription?: string;\n\n\t@Property({ nullable: true })\n\tdropLibraryCss?: {\n\t\tmachineName: string;\n\t}[];\n\n\t@Property({ nullable: true })\n\tdynamicDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\teditorDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\tembedTypes?: ('iframe' | 'div')[];\n\n\t@Property({ nullable: true })\n\tfullscreen?: 0 | 1;\n\n\t@Property({ nullable: true })\n\th?: number;\n\n\t@Property({ nullable: true })\n\tlicense?: string;\n\n\t@Property({ nullable: true })\n\tmetadataSettings?: {\n\t\tdisable: 0 | 1;\n\t\tdisableExtraTitleField: 0 | 1;\n\t};\n\n\t@Property({ nullable: true })\n\tpreloadedCss?: Path[];\n\n\t@Property({ nullable: true })\n\tpreloadedDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\tpreloadedJs?: Path[];\n\n\t@Property()\n\trunnable: boolean | 0 | 1;\n\n\t@Property()\n\ttitle: string;\n\n\t@Property({ nullable: true })\n\tw?: number;\n\n\t@Property({ nullable: true })\n\trequiredExtensions?: {\n\t\tsharedState: number;\n\t};\n\n\t@Property({ nullable: true })\n\tstate?: {\n\t\tsnapshotSchema: boolean;\n\t\topSchema: boolean;\n\t\tsnapshotLogicChecks: boolean;\n\t\topLogicChecks: boolean;\n\t};\n\n\t@Property()\n\tfiles: FileMetadata[];\n\n\tpublic static simple_compare(a: number, b: number): number {\n\t\tif (a > b) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (a otherLibrary.machineName ? 1 : -1;\n\t}\n\n\tpublic compareVersions(otherLibrary: ILibraryName & { patchVersion?: number }): number {\n\t\tlet result = InstalledLibrary.simple_compare(this.majorVersion, otherLibrary.majorVersion);\n\t\tif (result !== 0) {\n\t\t\treturn result;\n\t\t}\n\t\tresult = InstalledLibrary.simple_compare(this.minorVersion, otherLibrary.minorVersion);\n\t\tif (result !== 0) {\n\t\t\treturn result;\n\t\t}\n\t\treturn InstalledLibrary.simple_compare(this.patchVersion, otherLibrary.patchVersion as number);\n\t}\n\n\tconstructor(libraryMetadata: ILibraryMetadata, restricted = false, files: FileMetadata[] = []) {\n\t\tsuper();\n\t\tthis.machineName = libraryMetadata.machineName;\n\t\tthis.majorVersion = libraryMetadata.majorVersion;\n\t\tthis.minorVersion = libraryMetadata.minorVersion;\n\t\tthis.patchVersion = libraryMetadata.patchVersion;\n\t\tthis.runnable = libraryMetadata.runnable;\n\t\tthis.title = libraryMetadata.title;\n\t\tthis.addTo = libraryMetadata.addTo;\n\t\tthis.author = libraryMetadata.author;\n\t\tthis.coreApi = libraryMetadata.coreApi;\n\t\tthis.description = libraryMetadata.description;\n\t\tthis.dropLibraryCss = libraryMetadata.dropLibraryCss;\n\t\tthis.dynamicDependencies = libraryMetadata.dynamicDependencies;\n\t\tthis.editorDependencies = libraryMetadata.editorDependencies;\n\t\tthis.embedTypes = libraryMetadata.embedTypes;\n\t\tthis.fullscreen = libraryMetadata.fullscreen;\n\t\tthis.h = libraryMetadata.h;\n\t\tthis.license = libraryMetadata.license;\n\t\tthis.metadataSettings = libraryMetadata.metadataSettings;\n\t\tthis.preloadedCss = libraryMetadata.preloadedCss;\n\t\tthis.preloadedDependencies = libraryMetadata.preloadedDependencies;\n\t\tthis.preloadedJs = libraryMetadata.preloadedJs;\n\t\tthis.w = libraryMetadata.w;\n\t\tthis.requiredExtensions = libraryMetadata.requiredExtensions;\n\t\tthis.state = libraryMetadata.state;\n\t\tthis.restricted = restricted;\n\t\tthis.files = files;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/PermissionService.html":{"url":"injectables/PermissionService.html","title":"injectable - PermissionService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n PermissionService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/service/permission.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n hasUserAllSchoolPermissions\n \n \n resolvePermissions\n \n \n Private\n resolvePermissionsByRoles\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n hasUserAllSchoolPermissions\n \n \n \n \n \n \n \n \n \n \n \nhasUserAllSchoolPermissions(user: User, requiredPermissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/service/permission.service.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n requiredPermissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n resolvePermissions\n \n \n \n \n \n \n \n \n \n \n \nresolvePermissions(user: User)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/service/permission.service.ts:17\n \n \n\n\n \n \n Recursively resolve all roles and permissions of a user.\nIMPORTANT: The role collections of the user and nested roles will not be loaded lazily.\nPlease make sure you populate them before calling this method.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n resolvePermissionsByRoles\n \n \n \n \n \n \n \n resolvePermissionsByRoles(inputRoles: Role[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/service/permission.service.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n inputRoles\n \n Role[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string[]\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Role } from '../entity/role.entity';\nimport { User } from '../entity/user.entity';\n\n// TODO: Remove the PermissionService because it duplicates methods from the AuthorizationService.\n// Do not use this service, use the AuthorizationService!\n@Injectable()\nexport class PermissionService {\n\t/**\n\t * Recursively resolve all roles and permissions of a user.\n\t * IMPORTANT: The role collections of the user and nested roles will not be loaded lazily.\n\t * Please make sure you populate them before calling this method.\n\t * @param user\n\t * @deprecated\n\t * @returns\n\t */\n\tresolvePermissions(user: User): string[] {\n\t\tif (!user.roles.isInitialized(true)) {\n\t\t\tthrow new Error('Roles items are not loaded.');\n\t\t}\n\t\tconst rolesAndPermissions = this.resolvePermissionsByRoles(user.roles.getItems());\n\n\t\treturn rolesAndPermissions;\n\t}\n\n\tprivate resolvePermissionsByRoles(inputRoles: Role[]): string[] {\n\t\tlet permissions: string[] = [];\n\n\t\tfor (let i = 0; i 0) {\n\t\t\t\tconst subPermissions = this.resolvePermissionsByRoles(innerRoles);\n\t\t\t\tpermissions = [...permissions, ...subPermissions];\n\t\t\t}\n\t\t}\n\n\t\tpermissions = [...new Set(permissions)];\n\n\t\treturn permissions;\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\thasUserAllSchoolPermissions(user: User, requiredPermissions: string[]): boolean {\n\t\tif (!Array.isArray(requiredPermissions) || requiredPermissions.length === 0) {\n\t\t\treturn false;\n\t\t}\n\t\tconst usersPermissions = this.resolvePermissions(user);\n\t\tconst hasPermissions = requiredPermissions.every((p) => usersPermissions.includes(p));\n\t\treturn hasPermissions;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PlainTextMailContent.html":{"url":"interfaces/PlainTextMailContent.html","title":"interface - PlainTextMailContent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PlainTextMailContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/mail/mail.interface.ts\n \n\n\n\n \n Extends\n \n \n MailContent\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n htmlContent\n \n \n \n \n plainTextContent\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n htmlContent\n \n \n \n \n \n \n \n \n htmlContent: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n plainTextContent\n \n \n \n \n \n \n \n \n plainTextContent: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n interface MailAttachment {\n\tbase64Content: string;\n\n\tmimeType: string;\n\n\tname: string;\n}\n\ninterface InlineAttachment extends MailAttachment {\n\tcontentDisposition: 'INLINE';\n\n\tcontentId: string;\n}\n\ninterface AppendedAttachment extends MailAttachment {\n\tcontentDisposition: 'ATTACHMENT';\n}\n\ninterface MailContent {\n\tsubject: string;\n\n\tattachments?: (InlineAttachment | AppendedAttachment)[];\n}\n\ninterface PlainTextMailContent extends MailContent {\n\thtmlContent?: string;\n\n\tplainTextContent: string;\n}\n\ninterface HtmlMailContent extends MailContent {\n\thtmlContent: string;\n\n\tplainTextContent?: string;\n}\n\nexport interface Mail {\n\tmail: PlainTextMailContent | HtmlMailContent;\n\n\trecipients: string[];\n\n\tfrom?: string;\n\n\tcc?: string[];\n\n\tbcc?: string[];\n\n\treplyTo?: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PostH5PContentCreateParams.html":{"url":"classes/PostH5PContentCreateParams.html","title":"class - PostH5PContentCreateParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PostH5PContentCreateParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n library\n \n \n \n \n \n params\n \n \n \n \n parentId\n \n \n \n \n parentType\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n library\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:83\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsNotEmpty()@IsObject()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:75\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:70\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n Type : H5PContentParentType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: H5PContentParentType, enumName: 'H5PContentParentType'})@IsEnum(H5PContentParentType)\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:66\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IContentMetadata } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\n\nimport { LanguageType } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { IsEnum, IsMongoId, IsNotEmpty, IsObject, IsOptional, IsString } from 'class-validator';\nimport { H5PContentParentType } from '../../entity';\n\nexport class GetH5PContentParams {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\t@IsOptional()\n\tlanguage?: LanguageType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class GetH5PEditorParamsCreate {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class GetH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class SaveH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class PostH5PContentParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tparams!: unknown;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tmetadata!: IContentMetadata;\n\n\t@ApiProperty()\n\t@IsString()\n\t@SanitizeHtml()\n\t@IsNotEmpty()\n\tmainLibraryUbername!: string;\n}\n\nexport class PostH5PContentCreateParams {\n\t@ApiProperty({ enum: H5PContentParentType, enumName: 'H5PContentParentType' })\n\t@IsEnum(H5PContentParentType)\n\tparentType!: H5PContentParentType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\t@IsObject()\n\tparams!: {\n\t\tparams: unknown;\n\t\tmetadata: IContentMetadata;\n\t};\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tlibrary!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PostH5PContentParams.html":{"url":"classes/PostH5PContentParams.html","title":"class - PostH5PContentParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PostH5PContentParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contentId\n \n \n \n \n \n \n mainLibraryUbername\n \n \n \n \n metadata\n \n \n \n \n params\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contentId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n mainLibraryUbername\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()@SanitizeHtml()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:60\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n metadata\n \n \n \n \n \n \n Type : IContentMetadata\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:50\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IContentMetadata } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\n\nimport { LanguageType } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { IsEnum, IsMongoId, IsNotEmpty, IsObject, IsOptional, IsString } from 'class-validator';\nimport { H5PContentParentType } from '../../entity';\n\nexport class GetH5PContentParams {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\t@IsOptional()\n\tlanguage?: LanguageType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class GetH5PEditorParamsCreate {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class GetH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class SaveH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class PostH5PContentParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tparams!: unknown;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tmetadata!: IContentMetadata;\n\n\t@ApiProperty()\n\t@IsString()\n\t@SanitizeHtml()\n\t@IsNotEmpty()\n\tmainLibraryUbername!: string;\n}\n\nexport class PostH5PContentCreateParams {\n\t@ApiProperty({ enum: H5PContentParentType, enumName: 'H5PContentParentType' })\n\t@IsEnum(H5PContentParentType)\n\tparentType!: H5PContentParentType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\t@IsObject()\n\tparams!: {\n\t\tparams: unknown;\n\t\tmetadata: IContentMetadata;\n\t};\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tlibrary!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PreviewActionsLoggable.html":{"url":"classes/PreviewActionsLoggable.html","title":"class - PreviewActionsLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PreviewActionsLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/preview-generator/loggable/preview-actions.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(message: string, payload: PreviewFileOptions)\n \n \n \n \n Defined in apps/server/src/infra/preview-generator/loggable/preview-actions.loggable.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n \n string\n \n \n \n No\n \n \n \n \n payload\n \n \n PreviewFileOptions\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/infra/preview-generator/loggable/preview-actions.loggable.ts:7\n \n \n\n\n \n \n\n \n Returns : LogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { LogMessage, Loggable } from '@src/core/logger';\nimport { PreviewFileOptions } from '../interface';\n\nexport class PreviewActionsLoggable implements Loggable {\n\tconstructor(private readonly message: string, private readonly payload: PreviewFileOptions) {}\n\n\tgetLogMessage(): LogMessage {\n\t\tconst { originFilePath, previewFilePath, previewOptions } = this.payload;\n\t\treturn {\n\t\t\tmessage: this.message,\n\t\t\tdata: {\n\t\t\t\toriginFilePath,\n\t\t\t\tpreviewFilePath,\n\t\t\t\tformat: previewOptions.format,\n\t\t\t\twidth: previewOptions.width,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PreviewBuilder.html":{"url":"classes/PreviewBuilder.html","title":"class - PreviewBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PreviewBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/mapper/preview.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n buildParams\n \n \n Static\n buildPayload\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n buildParams\n \n \n \n \n \n \n \n buildParams(fileRecord: FileRecord, previewParams: PreviewParams, bytesRange: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/preview.builder.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileRecord\n \n FileRecord\n \n\n \n No\n \n\n\n \n \n previewParams\n \n PreviewParams\n \n\n \n No\n \n\n\n \n \n bytesRange\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : PreviewFileParams\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n buildPayload\n \n \n \n \n \n \n \n buildPayload(params: PreviewFileParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/preview.builder.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n PreviewFileParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : PreviewFileOptions\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { PreviewFileOptions } from '@infra/preview-generator';\nimport { PreviewParams } from '../controller/dto';\nimport { FileRecord } from '../entity';\nimport { createPath, createPreviewFilePath, createPreviewNameHash, getFormat } from '../helper';\nimport { PreviewFileParams } from '../interface';\n\nexport class PreviewBuilder {\n\tpublic static buildParams(\n\t\tfileRecord: FileRecord,\n\t\tpreviewParams: PreviewParams,\n\t\tbytesRange: string | undefined\n\t): PreviewFileParams {\n\t\tconst { schoolId, id, mimeType } = fileRecord;\n\t\tconst originFilePath = createPath(schoolId, id);\n\t\tconst format = getFormat(previewParams.outputFormat ?? mimeType);\n\n\t\tconst hash = createPreviewNameHash(id, previewParams);\n\t\tconst previewFilePath = createPreviewFilePath(schoolId, hash, id);\n\n\t\tconst previewFileParams = {\n\t\t\tfileRecord,\n\t\t\tpreviewParams,\n\t\t\thash,\n\t\t\tpreviewFilePath,\n\t\t\toriginFilePath,\n\t\t\tformat,\n\t\t\tbytesRange,\n\t\t};\n\n\t\treturn previewFileParams;\n\t}\n\n\tpublic static buildPayload(params: PreviewFileParams): PreviewFileOptions {\n\t\tconst { originFilePath, previewFilePath, previewParams, format } = params;\n\n\t\tconst payload = {\n\t\t\toriginFilePath,\n\t\t\tpreviewFilePath,\n\t\t\tpreviewOptions: {\n\t\t\t\tformat,\n\t\t\t\twidth: previewParams.width,\n\t\t\t},\n\t\t};\n\n\t\treturn payload;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PreviewConfig.html":{"url":"interfaces/PreviewConfig.html","title":"interface - PreviewConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PreviewConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/preview-generator/interface/preview-consumer-config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n serverConfig\n \n \n \n \n storageConfig\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n serverConfig\n \n \n \n \n \n \n \n \n serverConfig: PreviewModuleConfig\n\n \n \n\n\n \n \n Type : PreviewModuleConfig\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n storageConfig\n \n \n \n \n \n \n \n \n storageConfig: S3Config\n\n \n \n\n\n \n \n Type : S3Config\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { S3Config } from '@infra/s3-client';\n\nexport interface PreviewModuleConfig {\n\tNEST_LOG_LEVEL: string;\n\tINCOMING_REQUEST_TIMEOUT: number;\n}\n\nexport interface PreviewConfig {\n\tstorageConfig: S3Config;\n\tserverConfig: PreviewModuleConfig;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PreviewFileOptions.html":{"url":"interfaces/PreviewFileOptions.html","title":"interface - PreviewFileOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PreviewFileOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/preview-generator/interface/preview.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n originFilePath\n \n \n \n \n previewFilePath\n \n \n \n \n previewOptions\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n originFilePath\n \n \n \n \n \n \n \n \n originFilePath: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n previewFilePath\n \n \n \n \n \n \n \n \n previewFilePath: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n previewOptions\n \n \n \n \n \n \n \n \n previewOptions: PreviewOptions\n\n \n \n\n\n \n \n Type : PreviewOptions\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface PreviewOptions {\n\tformat: string;\n\twidth?: number;\n}\n\nexport interface PreviewFileOptions {\n\toriginFilePath: string;\n\tpreviewFilePath: string;\n\tpreviewOptions: PreviewOptions;\n}\n\nexport interface PreviewResponseMessage {\n\tpreviewFilePath: string;\n\tstatus: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PreviewFileParams.html":{"url":"interfaces/PreviewFileParams.html","title":"interface - PreviewFileParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PreviewFileParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/interface/interfaces.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n bytesRange\n \n \n \n \n fileRecord\n \n \n \n \n format\n \n \n \n \n hash\n \n \n \n \n originFilePath\n \n \n \n \n previewFilePath\n \n \n \n \n previewParams\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n bytesRange\n \n \n \n \n \n \n \n \n bytesRange: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n fileRecord\n \n \n \n \n \n \n \n \n fileRecord: FileRecord\n\n \n \n\n\n \n \n Type : FileRecord\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n format\n \n \n \n \n \n \n \n \n format: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n hash\n \n \n \n \n \n \n \n \n hash: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n originFilePath\n \n \n \n \n \n \n \n \n originFilePath: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n previewFilePath\n \n \n \n \n \n \n \n \n previewFilePath: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n previewParams\n \n \n \n \n \n \n \n \n previewParams: PreviewParams\n\n \n \n\n\n \n \n Type : PreviewParams\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Readable } from 'stream';\nimport type { PreviewParams } from '../controller/dto';\nimport { FileRecord } from '../entity';\n\nexport interface GetFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\nexport interface PreviewFileParams {\n\tfileRecord: FileRecord;\n\tpreviewParams: PreviewParams;\n\thash: string;\n\toriginFilePath: string;\n\tpreviewFilePath: string;\n\tformat: string;\n\tbytesRange?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/PreviewGeneratorAMQPModule.html":{"url":"modules/PreviewGeneratorAMQPModule.html","title":"module - PreviewGeneratorAMQPModule","body":"\n \n\n\n\n\n Modules\n PreviewGeneratorAMQPModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_PreviewGeneratorAMQPModule\n\n\n\ncluster_PreviewGeneratorAMQPModule_imports\n\n\n\n\nCoreModule\n\nCoreModule\n\n\n\nPreviewGeneratorAMQPModule\n\nPreviewGeneratorAMQPModule\n\nPreviewGeneratorAMQPModule -->\n\nCoreModule->PreviewGeneratorAMQPModule\n\n\n\n\n\nPreviewGeneratorConsumerModule\n\nPreviewGeneratorConsumerModule\n\nPreviewGeneratorAMQPModule -->\n\nPreviewGeneratorConsumerModule->PreviewGeneratorAMQPModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/files-storage/files-preview-amqp.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n CoreModule\n \n \n PreviewGeneratorConsumerModule\n \n \n \n \n \n\n\n \n\n\n \n import { PreviewGeneratorConsumerModule } from '@infra/preview-generator';\nimport { Module } from '@nestjs/common';\nimport { CoreModule } from '@src/core';\nimport { defaultConfig, s3Config } from './files-storage.config';\n\n@Module({\n\timports: [\n\t\tPreviewGeneratorConsumerModule.register({ storageConfig: s3Config, serverConfig: defaultConfig }),\n\t\tCoreModule,\n\t],\n})\nexport class PreviewGeneratorAMQPModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PreviewGeneratorBuilder.html":{"url":"classes/PreviewGeneratorBuilder.html","title":"class - PreviewGeneratorBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PreviewGeneratorBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/preview-generator/preview-generator.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n buildFile\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n buildFile\n \n \n \n \n \n \n \n buildFile(preview: PassThrough, previewOptions: PreviewOptions)\n \n \n\n\n \n \n Defined in apps/server/src/infra/preview-generator/preview-generator.builder.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n preview\n \n PassThrough\n \n\n \n No\n \n\n\n \n \n previewOptions\n \n PreviewOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : File\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { File } from '@infra/s3-client';\nimport { PassThrough } from 'stream';\nimport { PreviewOptions } from './interface';\n\nexport class PreviewGeneratorBuilder {\n\tpublic static buildFile(preview: PassThrough, previewOptions: PreviewOptions): File {\n\t\tconst { format } = previewOptions;\n\n\t\tconst file = {\n\t\t\tdata: preview,\n\t\t\tmimeType: format,\n\t\t};\n\n\t\treturn file;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/PreviewGeneratorConsumer.html":{"url":"injectables/PreviewGeneratorConsumer.html","title":"injectable - PreviewGeneratorConsumer","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n PreviewGeneratorConsumer\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/preview-generator/preview-generator.consumer.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n generatePreview\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(previewGeneratorService: PreviewGeneratorService, logger: Logger)\n \n \n \n \n Defined in apps/server/src/infra/preview-generator/preview-generator.consumer.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n previewGeneratorService\n \n \n PreviewGeneratorService\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Public\n Async\n generatePreview\n \n \n \n \n \n \n \n generatePreview(payload: PreviewFileOptions)\n \n \n\n \n \n Decorators : \n \n @RabbitRPC({exchange: FilesPreviewExchange, routingKey: undefined, queue: undefined})\n \n \n\n \n \n Defined in apps/server/src/infra/preview-generator/preview-generator.consumer.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n payload\n \n PreviewFileOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { RabbitPayload, RabbitRPC } from '@golevelup/nestjs-rabbitmq';\nimport { FilesPreviewEvents, FilesPreviewExchange } from '@infra/rabbitmq';\nimport { Injectable } from '@nestjs/common';\nimport { Logger } from '@src/core/logger';\nimport { PreviewFileOptions } from './interface';\nimport { PreviewActionsLoggable } from './loggable/preview-actions.loggable';\nimport { PreviewGeneratorService } from './preview-generator.service';\n\n@Injectable()\nexport class PreviewGeneratorConsumer {\n\tconstructor(private readonly previewGeneratorService: PreviewGeneratorService, private logger: Logger) {\n\t\tthis.logger.setContext(PreviewGeneratorConsumer.name);\n\t}\n\n\t@RabbitRPC({\n\t\texchange: FilesPreviewExchange,\n\t\troutingKey: FilesPreviewEvents.GENERATE_PREVIEW,\n\t\tqueue: FilesPreviewEvents.GENERATE_PREVIEW,\n\t})\n\tpublic async generatePreview(@RabbitPayload() payload: PreviewFileOptions) {\n\t\tthis.logger.info(new PreviewActionsLoggable('PreviewGeneratorConsumer.generatePreview:start', payload));\n\n\t\tconst response = await this.previewGeneratorService.generatePreview(payload);\n\n\t\tthis.logger.info(new PreviewActionsLoggable('PreviewGeneratorConsumer.generatePreview:end', payload));\n\n\t\treturn { message: response };\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/PreviewGeneratorConsumerModule.html":{"url":"modules/PreviewGeneratorConsumerModule.html","title":"module - PreviewGeneratorConsumerModule","body":"\n \n\n\n\n\n Modules\n PreviewGeneratorConsumerModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/preview-generator/preview-generator-consumer.module.ts\n \n\n\n\n\n\n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n register\n \n \n \n \n \n \n \n register(config: PreviewConfig)\n \n \n\n\n \n \n Defined in apps/server/src/infra/preview-generator/preview-generator-consumer.module.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n PreviewConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { DynamicModule, Module } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { RabbitMQWrapperModule } from '@infra/rabbitmq';\nimport { S3ClientAdapter, S3ClientModule } from '@infra/s3-client';\nimport { createConfigModuleOptions } from '@src/config';\nimport { Logger, LoggerModule } from '@src/core/logger';\nimport { PreviewConfig } from './interface/preview-consumer-config';\nimport { PreviewGeneratorConsumer } from './preview-generator.consumer';\nimport { PreviewGeneratorService } from './preview-generator.service';\n\n@Module({})\nexport class PreviewGeneratorConsumerModule {\n\tstatic register(config: PreviewConfig): DynamicModule {\n\t\tconst { storageConfig, serverConfig } = config;\n\t\tconst providers = [\n\t\t\t{\n\t\t\t\tprovide: PreviewGeneratorService,\n\t\t\t\tuseFactory: (logger: Logger, storageClient: S3ClientAdapter) =>\n\t\t\t\t\tnew PreviewGeneratorService(storageClient, logger),\n\t\t\t\tinject: [Logger, storageConfig.connectionName],\n\t\t\t},\n\t\t\tPreviewGeneratorConsumer,\n\t\t];\n\n\t\treturn {\n\t\t\tmodule: PreviewGeneratorConsumerModule,\n\t\t\timports: [\n\t\t\t\tLoggerModule,\n\t\t\t\tS3ClientModule.register([storageConfig]),\n\t\t\t\tRabbitMQWrapperModule,\n\t\t\t\tConfigModule.forRoot(createConfigModuleOptions(() => serverConfig)),\n\t\t\t],\n\t\t\tproviders,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/PreviewGeneratorProducerModule.html":{"url":"modules/PreviewGeneratorProducerModule.html","title":"module - PreviewGeneratorProducerModule","body":"\n \n\n\n\n\n Modules\n PreviewGeneratorProducerModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_PreviewGeneratorProducerModule\n\n\n\ncluster_PreviewGeneratorProducerModule_providers\n\n\n\ncluster_PreviewGeneratorProducerModule_exports\n\n\n\ncluster_PreviewGeneratorProducerModule_imports\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nPreviewGeneratorProducerModule\n\nPreviewGeneratorProducerModule\n\nPreviewGeneratorProducerModule -->\n\nLoggerModule->PreviewGeneratorProducerModule\n\n\n\n\n\nRabbitMQWrapperModule\n\nRabbitMQWrapperModule\n\nPreviewGeneratorProducerModule -->\n\nRabbitMQWrapperModule->PreviewGeneratorProducerModule\n\n\n\n\n\nPreviewProducer \n\nPreviewProducer \n\nPreviewProducer -->\n\nPreviewGeneratorProducerModule->PreviewProducer \n\n\n\n\n\nPreviewProducer\n\nPreviewProducer\n\nPreviewGeneratorProducerModule -->\n\nPreviewProducer->PreviewGeneratorProducerModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/preview-generator/preview-generator-producer.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n PreviewProducer\n \n \n \n \n Imports\n \n \n LoggerModule\n \n \n RabbitMQWrapperModule\n \n \n \n \n Exports\n \n \n PreviewProducer\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { RabbitMQWrapperModule } from '../rabbitmq';\nimport { PreviewProducer } from './preview.producer';\n\n@Module({\n\timports: [LoggerModule, RabbitMQWrapperModule],\n\tproviders: [PreviewProducer],\n\texports: [PreviewProducer],\n})\nexport class PreviewGeneratorProducerModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/PreviewGeneratorService.html":{"url":"injectables/PreviewGeneratorService.html","title":"injectable - PreviewGeneratorService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n PreviewGeneratorService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/preview-generator/preview-generator.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n imageMagick\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkIfPreviewPossible\n \n \n Private\n Async\n downloadOriginFile\n \n \n Public\n Async\n generatePreview\n \n \n Private\n resizeAndConvert\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(storageClient: S3ClientAdapter, logger: Logger)\n \n \n \n \n Defined in apps/server/src/infra/preview-generator/preview-generator.service.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n storageClient\n \n \n S3ClientAdapter\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkIfPreviewPossible\n \n \n \n \n \n \n \n checkIfPreviewPossible(original: GetFile, params: PreviewFileOptions)\n \n \n\n\n \n \n Defined in apps/server/src/infra/preview-generator/preview-generator.service.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n GetFile\n \n\n \n No\n \n\n\n \n \n params\n \n PreviewFileOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void | UnprocessableEntityException\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n downloadOriginFile\n \n \n \n \n \n \n \n downloadOriginFile(pathToFile: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/preview-generator/preview-generator.service.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pathToFile\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n generatePreview\n \n \n \n \n \n \n \n generatePreview(params: PreviewFileOptions)\n \n \n\n\n \n \n Defined in apps/server/src/infra/preview-generator/preview-generator.service.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n PreviewFileOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n resizeAndConvert\n \n \n \n \n \n \n \n resizeAndConvert(original: GetFile, previewParams: PreviewOptions)\n \n \n\n\n \n \n Defined in apps/server/src/infra/preview-generator/preview-generator.service.ts:56\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n GetFile\n \n\n \n No\n \n\n\n \n \n previewParams\n \n PreviewOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : PassThrough\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n imageMagick\n \n \n \n \n \n \n Default value : subClass({ imageMagick: '7+' })\n \n \n \n \n Defined in apps/server/src/infra/preview-generator/preview-generator.service.ts:12\n \n \n\n\n \n \n\n\n \n\n\n \n import { GetFile, S3ClientAdapter } from '@infra/s3-client';\nimport { Injectable, UnprocessableEntityException } from '@nestjs/common';\nimport { Logger } from '@src/core/logger';\nimport { subClass } from 'gm';\nimport { PassThrough } from 'stream';\nimport { PreviewFileOptions, PreviewInputMimeTypes, PreviewOptions, PreviewResponseMessage } from './interface';\nimport { PreviewActionsLoggable } from './loggable/preview-actions.loggable';\nimport { PreviewGeneratorBuilder } from './preview-generator.builder';\n\n@Injectable()\nexport class PreviewGeneratorService {\n\tprivate imageMagick = subClass({ imageMagick: '7+' });\n\n\tconstructor(private readonly storageClient: S3ClientAdapter, private logger: Logger) {\n\t\tthis.logger.setContext(PreviewGeneratorService.name);\n\t}\n\n\tpublic async generatePreview(params: PreviewFileOptions): Promise {\n\t\tthis.logger.info(new PreviewActionsLoggable('PreviewGeneratorService.generatePreview:start', params));\n\t\tconst { originFilePath, previewFilePath, previewOptions } = params;\n\n\t\tconst original = await this.downloadOriginFile(originFilePath);\n\n\t\tthis.checkIfPreviewPossible(original, params);\n\n\t\tconst preview = this.resizeAndConvert(original, previewOptions);\n\n\t\tconst file = PreviewGeneratorBuilder.buildFile(preview, params.previewOptions);\n\n\t\tawait this.storageClient.create(previewFilePath, file);\n\n\t\tthis.logger.info(new PreviewActionsLoggable('PreviewGeneratorService.generatePreview:end', params));\n\n\t\treturn {\n\t\t\tpreviewFilePath,\n\t\t\tstatus: true,\n\t\t};\n\t}\n\n\tprivate checkIfPreviewPossible(original: GetFile, params: PreviewFileOptions): void | UnprocessableEntityException {\n\t\tconst isPreviewPossible =\n\t\t\toriginal.contentType && Object.values(PreviewInputMimeTypes).includes(original.contentType);\n\n\t\tif (!isPreviewPossible) {\n\t\t\tthis.logger.warning(new PreviewActionsLoggable('PreviewGeneratorService.previewNotPossible', params));\n\t\t\tthrow new UnprocessableEntityException();\n\t\t}\n\t}\n\n\tprivate async downloadOriginFile(pathToFile: string): Promise {\n\t\tconst file = await this.storageClient.get(pathToFile);\n\n\t\treturn file;\n\t}\n\n\tprivate resizeAndConvert(original: GetFile, previewParams: PreviewOptions): PassThrough {\n\t\tconst { format, width } = previewParams;\n\n\t\tconst preview = this.imageMagick(original.data);\n\n\t\tif (original.contentType === PreviewInputMimeTypes.APPLICATION_PDF) {\n\t\t\tpreview.selectFrame(0);\n\t\t}\n\n\t\tif (original.contentType === PreviewInputMimeTypes.IMAGE_GIF) {\n\t\t\tpreview.coalesce();\n\t\t}\n\n\t\tif (width) {\n\t\t\tpreview.resize(width, undefined, '>');\n\t\t}\n\n\t\tconst result = preview.stream(format);\n\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PreviewModuleConfig.html":{"url":"interfaces/PreviewModuleConfig.html","title":"interface - PreviewModuleConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PreviewModuleConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/preview-generator/interface/preview-consumer-config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT\n \n \n \n \n NEST_LOG_LEVEL\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT\n \n \n \n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n NEST_LOG_LEVEL\n \n \n \n \n \n \n \n \n NEST_LOG_LEVEL: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { S3Config } from '@infra/s3-client';\n\nexport interface PreviewModuleConfig {\n\tNEST_LOG_LEVEL: string;\n\tINCOMING_REQUEST_TIMEOUT: number;\n}\n\nexport interface PreviewConfig {\n\tstorageConfig: S3Config;\n\tserverConfig: PreviewModuleConfig;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PreviewOptions.html":{"url":"interfaces/PreviewOptions.html","title":"interface - PreviewOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PreviewOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/preview-generator/interface/preview.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n format\n \n \n \n Optional\n \n width\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n format\n \n \n \n \n \n \n \n \n format: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n width\n \n \n \n \n \n \n \n \n width: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface PreviewOptions {\n\tformat: string;\n\twidth?: number;\n}\n\nexport interface PreviewFileOptions {\n\toriginFilePath: string;\n\tpreviewFilePath: string;\n\tpreviewOptions: PreviewOptions;\n}\n\nexport interface PreviewResponseMessage {\n\tpreviewFilePath: string;\n\tstatus: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PreviewParams.html":{"url":"classes/PreviewParams.html","title":"class - PreviewParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PreviewParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n forceUpdate\n \n \n \n \n \n Optional\n outputFormat\n \n \n \n \n \n Optional\n width\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n forceUpdate\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsBoolean()@StringToBoolean()@ApiPropertyOptional({description: 'If true, the preview will be generated again.'})\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:126\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n outputFormat\n \n \n \n \n \n \n Type : PreviewOutputMimeTypes\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes'})@IsOptional()@IsEnum(PreviewOutputMimeTypes)\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:113\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n width\n \n \n \n \n \n \n Type : PreviewWidth\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({enum: PreviewWidth, enumName: 'PreviewWidth'})@IsOptional()@IsEnum(PreviewWidth)\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:118\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanResult } from '@infra/antivirus';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { Allow, IsBoolean, IsEnum, IsMongoId, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { FileRecordParentType } from '../../entity';\nimport { PreviewOutputMimeTypes, PreviewWidth } from '../../interface';\n\nexport class FileRecordParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\t@IsEnum(FileRecordParentType)\n\tparentType!: FileRecordParentType;\n}\n\nexport class FileUrlParams {\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\turl!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@Allow()\n\theaders?: Record;\n}\n\nexport class FileParams {\n\t@ApiProperty({ type: 'string', format: 'binary' })\n\t@Allow()\n\tfile!: string;\n}\n\nexport class DownloadFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileName!: string;\n}\n\nexport class ScanResultParams implements ScanResult {\n\t@ApiProperty()\n\t@Allow()\n\tvirus_detected?: boolean;\n\n\t@ApiProperty()\n\t@Allow()\n\tvirus_signature?: string;\n\n\t@ApiProperty()\n\t@Allow()\n\terror?: string;\n}\n\nexport class SingleFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n}\n\nexport class RenameFileParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n}\n\nexport class CopyFilesOfParentParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class CopyFileParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileNamePrefix!: string;\n}\n\nexport class CopyFilesOfParentPayload {\n\t@IsMongoId()\n\tuserId!: EntityId;\n\n\t@ValidateNested()\n\tsource!: FileRecordParams;\n\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class PreviewParams {\n\t@ApiPropertyOptional({ enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes' })\n\t@IsOptional()\n\t@IsEnum(PreviewOutputMimeTypes)\n\toutputFormat?: PreviewOutputMimeTypes;\n\n\t@ApiPropertyOptional({ enum: PreviewWidth, enumName: 'PreviewWidth' })\n\t@IsOptional()\n\t@IsEnum(PreviewWidth)\n\twidth?: PreviewWidth;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'If true, the preview will be generated again.',\n\t})\n\tforceUpdate?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/PreviewProducer.html":{"url":"injectables/PreviewProducer.html","title":"injectable - PreviewProducer","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n PreviewProducer\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/preview-generator/preview.producer.ts\n \n\n\n\n \n Extends\n \n \n RpcMessageProducer\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n generate\n \n \n Protected\n checkError\n \n \n Protected\n createRequest\n \n \n Protected\n Async\n request\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(amqpConnection: AmqpConnection, logger: Logger, configService: ConfigService)\n \n \n \n \n Defined in apps/server/src/infra/preview-generator/preview.producer.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n amqpConnection\n \n \n AmqpConnection\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n generate\n \n \n \n \n \n \n \n generate(payload: PreviewFileOptions)\n \n \n\n\n \n \n Defined in apps/server/src/infra/preview-generator/preview.producer.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n payload\n \n PreviewFileOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n checkError\n \n \n \n \n \n \n \n checkError(response: RpcMessage)\n \n \n\n\n \n \n Inherited from RpcMessageProducer\n\n \n \n \n \n Defined in RpcMessageProducer:21\n\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n RpcMessage\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n createRequest\n \n \n \n \n \n \n \n createRequest(event: string, payload)\n \n \n\n\n \n \n Inherited from RpcMessageProducer\n\n \n \n \n \n Defined in RpcMessageProducer:29\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n event\n \n string\n \n\n \n No\n \n\n\n \n \n payload\n \n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : { exchange: string; routingKey: string; payload: unknown; timeout: number; }\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n request\n \n \n \n \n \n \n \n request(event: string, payload)\n \n \n\n\n \n \n Inherited from RpcMessageProducer\n\n \n \n \n \n Defined in RpcMessageProducer:12\n\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n event\n \n string\n \n\n \n No\n \n\n\n \n \n payload\n \n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AmqpConnection } from '@golevelup/nestjs-rabbitmq';\nimport { FilesPreviewEvents, FilesPreviewExchange, RpcMessageProducer } from '@infra/rabbitmq';\nimport { Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { Logger } from '@src/core/logger';\nimport { PreviewFileOptions, PreviewResponseMessage } from './interface';\nimport { PreviewModuleConfig } from './interface/preview-consumer-config';\nimport { PreviewActionsLoggable } from './loggable/preview-actions.loggable';\n\n@Injectable()\nexport class PreviewProducer extends RpcMessageProducer {\n\tconstructor(\n\t\tprotected readonly amqpConnection: AmqpConnection,\n\t\tprivate readonly logger: Logger,\n\t\tprotected readonly configService: ConfigService\n\t) {\n\t\tconst timeout = configService.get('INCOMING_REQUEST_TIMEOUT');\n\n\t\tsuper(amqpConnection, FilesPreviewExchange, timeout);\n\t\tthis.logger.setContext(PreviewProducer.name);\n\t}\n\n\tasync generate(payload: PreviewFileOptions): Promise {\n\t\tthis.logger.info(new PreviewActionsLoggable('PreviewProducer.generate:started', payload));\n\n\t\tconst response = await this.request(FilesPreviewEvents.GENERATE_PREVIEW, payload);\n\n\t\tthis.logger.info(new PreviewActionsLoggable('PreviewProducer.generate:finished', payload));\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PreviewResponseMessage.html":{"url":"interfaces/PreviewResponseMessage.html","title":"interface - PreviewResponseMessage","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PreviewResponseMessage\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/preview-generator/interface/preview.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n previewFilePath\n \n \n \n \n status\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n previewFilePath\n \n \n \n \n \n \n \n \n previewFilePath: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n \n \n status: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface PreviewOptions {\n\tformat: string;\n\twidth?: number;\n}\n\nexport interface PreviewFileOptions {\n\toriginFilePath: string;\n\tpreviewFilePath: string;\n\tpreviewOptions: PreviewOptions;\n}\n\nexport interface PreviewResponseMessage {\n\tpreviewFilePath: string;\n\tstatus: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/PreviewService.html":{"url":"injectables/PreviewService.html","title":"injectable - PreviewService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n PreviewService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/service/preview.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkIfPreviewPossible\n \n \n Public\n Async\n deletePreviews\n \n \n Public\n Async\n download\n \n \n Private\n Async\n generatePreview\n \n \n Private\n Async\n getPreviewFile\n \n \n Private\n Async\n tryGetPreviewOrGenerate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(storageClient: S3ClientAdapter, logger: LegacyLogger, previewProducer: PreviewProducer)\n \n \n \n \n Defined in apps/server/src/modules/files-storage/service/preview.service.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n storageClient\n \n \n S3ClientAdapter\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n previewProducer\n \n \n PreviewProducer\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkIfPreviewPossible\n \n \n \n \n \n \n \n checkIfPreviewPossible(fileRecord: FileRecord)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/service/preview.service.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileRecord\n \n FileRecord\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void | UnprocessableEntityException\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n deletePreviews\n \n \n \n \n \n \n \n deletePreviews(fileRecords: FileRecord[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/service/preview.service.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileRecords\n \n FileRecord[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n download\n \n \n \n \n \n \n \n download(fileRecord: FileRecord, previewParams: PreviewParams, bytesRange?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/service/preview.service.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileRecord\n \n FileRecord\n \n\n \n No\n \n\n\n \n \n previewParams\n \n PreviewParams\n \n\n \n No\n \n\n\n \n \n bytesRange\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n generatePreview\n \n \n \n \n \n \n \n generatePreview(params: PreviewFileParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/service/preview.service.ts:83\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n PreviewFileParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getPreviewFile\n \n \n \n \n \n \n \n getPreviewFile(params: PreviewFileParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/service/preview.service.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n PreviewFileParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n tryGetPreviewOrGenerate\n \n \n \n \n \n \n \n tryGetPreviewOrGenerate(params: PreviewFileParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/service/preview.service.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n PreviewFileParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Inject, Injectable, NotFoundException, UnprocessableEntityException } from '@nestjs/common';\nimport { PreviewProducer } from '@infra/preview-generator';\nimport { S3ClientAdapter } from '@infra/s3-client';\nimport { LegacyLogger } from '@src/core/logger';\nimport { PreviewParams } from '../controller/dto';\nimport { FileRecord, PreviewStatus } from '../entity';\nimport { ErrorType } from '../error';\nimport { FILES_STORAGE_S3_CONNECTION } from '../files-storage.config';\nimport { createPreviewDirectoryPath, getPreviewName } from '../helper';\nimport { GetFileResponse, PreviewFileParams } from '../interface';\nimport { FileResponseBuilder, PreviewBuilder } from '../mapper';\n\n@Injectable()\nexport class PreviewService {\n\tconstructor(\n\t\t@Inject(FILES_STORAGE_S3_CONNECTION) private readonly storageClient: S3ClientAdapter,\n\t\tprivate logger: LegacyLogger,\n\t\tprivate readonly previewProducer: PreviewProducer\n\t) {\n\t\tthis.logger.setContext(PreviewService.name);\n\t}\n\n\tpublic async download(\n\t\tfileRecord: FileRecord,\n\t\tpreviewParams: PreviewParams,\n\t\tbytesRange?: string\n\t): Promise {\n\t\tthis.checkIfPreviewPossible(fileRecord);\n\n\t\tconst previewFileParams = PreviewBuilder.buildParams(fileRecord, previewParams, bytesRange);\n\n\t\tconst response = await this.tryGetPreviewOrGenerate(previewFileParams);\n\n\t\treturn response;\n\t}\n\n\tpublic async deletePreviews(fileRecords: FileRecord[]): Promise {\n\t\tconst paths = fileRecords.map((fileRecord) => createPreviewDirectoryPath(fileRecord.getSchoolId(), fileRecord.id));\n\n\t\tconst promises = paths.map((path) => this.storageClient.deleteDirectory(path));\n\n\t\tawait Promise.all(promises);\n\t}\n\n\tprivate checkIfPreviewPossible(fileRecord: FileRecord): void | UnprocessableEntityException {\n\t\tif (fileRecord.getPreviewStatus() !== PreviewStatus.PREVIEW_POSSIBLE) {\n\t\t\tthis.logger.warn(`could not generate preview for : ${fileRecord.id} ${fileRecord.mimeType}`);\n\t\t\tthrow new UnprocessableEntityException(ErrorType.PREVIEW_NOT_POSSIBLE);\n\t\t}\n\t}\n\n\tprivate async tryGetPreviewOrGenerate(params: PreviewFileParams): Promise {\n\t\tlet file: GetFileResponse;\n\n\t\ttry {\n\t\t\tif (params.previewParams.forceUpdate) {\n\t\t\t\tawait this.generatePreview(params);\n\t\t\t}\n\n\t\t\tfile = await this.getPreviewFile(params);\n\t\t} catch (error) {\n\t\t\tif (!(error instanceof NotFoundException)) {\n\t\t\t\tthrow error;\n\t\t\t}\n\n\t\t\tawait this.generatePreview(params);\n\t\t\tfile = await this.getPreviewFile(params);\n\t\t}\n\n\t\treturn file;\n\t}\n\n\tprivate async getPreviewFile(params: PreviewFileParams): Promise {\n\t\tconst { fileRecord, previewFilePath, bytesRange, previewParams } = params;\n\t\tconst name = getPreviewName(fileRecord, previewParams.outputFormat);\n\t\tconst file = await this.storageClient.get(previewFilePath, bytesRange);\n\n\t\tconst response = FileResponseBuilder.build(file, name);\n\n\t\treturn response;\n\t}\n\n\tprivate async generatePreview(params: PreviewFileParams): Promise {\n\t\tconst payload = PreviewBuilder.buildPayload(params);\n\n\t\tawait this.previewProducer.generate(payload);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PrometheusMetricsConfig.html":{"url":"classes/PrometheusMetricsConfig.html","title":"class - PrometheusMetricsConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PrometheusMetricsConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/metrics/prometheus/config.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n _collectDefaultMetrics\n \n \n Private\n Readonly\n _collectMetricsRouteMetrics\n \n \n Private\n Static\n _instance\n \n \n Private\n Readonly\n _isEnabled\n \n \n Private\n Readonly\n _port\n \n \n Private\n Readonly\n _route\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n reload\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n isEnabled\n \n \n route\n \n \n port\n \n \n collectDefaultMetrics\n \n \n collectMetricsRouteMetrics\n \n \n instance\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \n Private\n constructor()\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:34\n \n \n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n _collectDefaultMetrics\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n _collectMetricsRouteMetrics\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Static\n _instance\n \n \n \n \n \n \n Type : PrometheusMetricsConfig\n\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n _isEnabled\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n _port\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n _route\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:12\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n reload\n \n \n \n \n \n \n \n reload()\n \n \n\n\n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:52\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n isEnabled\n \n \n\n \n \n getisEnabled()\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:8\n \n \n\n \n \n \n \n \n \n \n route\n \n \n\n \n \n getroute()\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:14\n \n \n\n \n \n \n \n \n \n \n port\n \n \n\n \n \n getport()\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:20\n \n \n\n \n \n \n \n \n \n \n collectDefaultMetrics\n \n \n\n \n \n getcollectDefaultMetrics()\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:26\n \n \n\n \n \n \n \n \n \n \n collectMetricsRouteMetrics\n \n \n\n \n \n getcollectMetricsRouteMetrics()\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:32\n \n \n\n \n \n \n \n \n \n \n instance\n \n \n\n \n \n getinstance()\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:44\n \n \n\n \n \n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\n\nexport class PrometheusMetricsConfig {\n\tprivate static _instance: PrometheusMetricsConfig;\n\n\tprivate readonly _isEnabled: boolean;\n\n\tget isEnabled(): boolean {\n\t\treturn this._isEnabled;\n\t}\n\n\tprivate readonly _route: string;\n\n\tget route(): string {\n\t\treturn this._route;\n\t}\n\n\tprivate readonly _port: number;\n\n\tget port(): number {\n\t\treturn this._port;\n\t}\n\n\tprivate readonly _collectDefaultMetrics: boolean;\n\n\tget collectDefaultMetrics(): boolean {\n\t\treturn this._collectDefaultMetrics;\n\t}\n\n\tprivate readonly _collectMetricsRouteMetrics: boolean;\n\n\tget collectMetricsRouteMetrics(): boolean {\n\t\treturn this._collectMetricsRouteMetrics;\n\t}\n\n\tprivate constructor() {\n\t\tthis._isEnabled = Configuration.get('FEATURE_PROMETHEUS_METRICS_ENABLED') as boolean;\n\t\tthis._route = Configuration.get('PROMETHEUS_METRICS_ROUTE') as string;\n\t\tthis._port = Configuration.get('PROMETHEUS_METRICS_PORT') as number;\n\t\tthis._collectDefaultMetrics = Configuration.get('PROMETHEUS_METRICS_COLLECT_DEFAULT_METRICS') as boolean;\n\t\tthis._collectMetricsRouteMetrics = Configuration.get('PROMETHEUS_METRICS_COLLECT_METRICS_ROUTE_METRICS') as boolean;\n\t}\n\n\tpublic static get instance() {\n\t\tif (this._instance === undefined) {\n\t\t\tthis._instance = new this();\n\t\t}\n\n\t\treturn this._instance;\n\t}\n\n\tpublic static reload() {\n\t\tthis._instance = new this();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PrometheusMetricsSetupStateLoggable.html":{"url":"classes/PrometheusMetricsSetupStateLoggable.html","title":"class - PrometheusMetricsSetupStateLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PrometheusMetricsSetupStateLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/apps/helpers/prometheus-metrics.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(state: PrometheusMetricsSetupState)\n \n \n \n \n Defined in apps/server/src/apps/helpers/prometheus-metrics.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n \n PrometheusMetricsSetupState\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/apps/helpers/prometheus-metrics.ts:22\n \n \n\n\n \n \n\n \n Returns : LogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Express } from 'express';\n\nimport {\n\tPrometheusMetricsConfig,\n\tcreateAPIResponseTimeMetricMiddleware,\n\tcreatePrometheusMetricsApp,\n} from '@infra/metrics';\nimport { LogMessage, Loggable, Logger } from '@src/core/logger';\nimport { AppStartLoggable } from './app-start-loggable';\n\nexport const enum PrometheusMetricsSetupState {\n\tFEATURE_DISABLED_MIDDLEWARES_WILL_NOT_BE_CREATED = 'Prometheus metrics feature is disabled - no metrics middlewares will be added to the app',\n\tAPI_RESPONSE_TIME_METRIC_MIDDLEWARE_SUCCESSFULLY_ADDED = 'API response time metric middleware successfully added to the app',\n\tFEATURE_DISABLED_APP_WILL_NOT_BE_CREATED = 'Prometheus metrics feature is disabled - Prometheus metrics app will not be created',\n\tCOLLECTING_DEFAULT_METRICS_DISABLED = 'Collecting default metrics is disabled - only the custom metrics will be collected',\n\tCOLLECTING_METRICS_ROUTE_METRICS_DISABLED = 'Collecting metrics route metrics is disabled - no metrics route calls will be added to the metrics',\n}\n\nexport class PrometheusMetricsSetupStateLoggable implements Loggable {\n\tconstructor(private readonly state: PrometheusMetricsSetupState) {}\n\n\tgetLogMessage(): LogMessage {\n\t\treturn {\n\t\t\tmessage: 'Setting up Prometheus metrics...',\n\t\t\tdata: {\n\t\t\t\tstate: this.state,\n\t\t\t},\n\t\t};\n\t}\n}\n\nexport const addPrometheusMetricsMiddlewaresIfEnabled = (logger: Logger, app: Express) => {\n\tif (!PrometheusMetricsConfig.instance.isEnabled) {\n\t\tlogger.debug(\n\t\t\tnew PrometheusMetricsSetupStateLoggable(\n\t\t\t\tPrometheusMetricsSetupState.FEATURE_DISABLED_MIDDLEWARES_WILL_NOT_BE_CREATED\n\t\t\t)\n\t\t);\n\n\t\treturn;\n\t}\n\n\tapp.use(createAPIResponseTimeMetricMiddleware());\n\n\tlogger.debug(\n\t\tnew PrometheusMetricsSetupStateLoggable(\n\t\t\tPrometheusMetricsSetupState.API_RESPONSE_TIME_METRIC_MIDDLEWARE_SUCCESSFULLY_ADDED\n\t\t)\n\t);\n};\n\nexport const createAndStartPrometheusMetricsAppIfEnabled = (logger: Logger) => {\n\tif (!PrometheusMetricsConfig.instance.isEnabled) {\n\t\tlogger.debug(\n\t\t\tnew PrometheusMetricsSetupStateLoggable(PrometheusMetricsSetupState.FEATURE_DISABLED_APP_WILL_NOT_BE_CREATED)\n\t\t);\n\n\t\treturn;\n\t}\n\n\tconst { route, collectDefaultMetrics, collectMetricsRouteMetrics } = PrometheusMetricsConfig.instance;\n\n\tif (!collectDefaultMetrics) {\n\t\tlogger.debug(\n\t\t\tnew PrometheusMetricsSetupStateLoggable(PrometheusMetricsSetupState.COLLECTING_DEFAULT_METRICS_DISABLED)\n\t\t);\n\t}\n\n\tif (!collectMetricsRouteMetrics) {\n\t\tlogger.debug(\n\t\t\tnew PrometheusMetricsSetupStateLoggable(PrometheusMetricsSetupState.COLLECTING_METRICS_ROUTE_METRICS_DISABLED)\n\t\t);\n\t}\n\n\tconst prometheusMetricsAppPort = PrometheusMetricsConfig.instance.port;\n\n\tconst prometheusMetricsApp = createPrometheusMetricsApp(route, collectDefaultMetrics, collectMetricsRouteMetrics);\n\n\tprometheusMetricsApp.listen(prometheusMetricsAppPort, () => {\n\t\tlogger.info(\n\t\t\tnew AppStartLoggable({\n\t\t\t\tappName: 'Prometheus metrics server app',\n\t\t\t\tport: prometheusMetricsAppPort,\n\t\t\t\tmountsDescription: `${route} --> Prometheus metrics`,\n\t\t\t})\n\t\t);\n\t});\n};\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PropertyData.html":{"url":"classes/PropertyData.html","title":"class - PropertyData","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PropertyData\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/types/property-data.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n location\n \n \n name\n \n \n value\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: PropertyData)\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/property-data.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n PropertyData\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n location\n \n \n \n \n \n \n Type : PropertyLocation\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/property-data.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/property-data.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n value\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/property-data.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { PropertyLocation } from './property-location';\n\nexport class PropertyData {\n\tname: string;\n\n\tvalue: string;\n\n\tlocation?: PropertyLocation;\n\n\tconstructor(props: PropertyData) {\n\t\tthis.name = props.name;\n\t\tthis.value = props.value;\n\t\tthis.location = props.location;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ProviderConsentResponse.html":{"url":"interfaces/ProviderConsentResponse.html","title":"interface - ProviderConsentResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ProviderConsentResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/oauth-provider/dto/response/consent.response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n acr\n \n \n \n Optional\n \n amr\n \n \n \n \n challenge\n \n \n \n Optional\n \n client\n \n \n \n Optional\n \n context\n \n \n \n Optional\n \n login_challenge\n \n \n \n Optional\n \n login_session_id\n \n \n \n Optional\n \n oidc_context\n \n \n \n Optional\n \n request_url\n \n \n \n Optional\n \n requested_access_token_audience\n \n \n \n Optional\n \n requested_scope\n \n \n \n Optional\n \n skip\n \n \n \n Optional\n \n subject\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n acr\n \n \n \n \n \n \n \n \n acr: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n amr\n \n \n \n \n \n \n \n \n amr: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n challenge\n \n \n \n \n \n \n \n \n challenge: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n client\n \n \n \n \n \n \n \n \n client: ProviderOauthClient\n\n \n \n\n\n \n \n Type : ProviderOauthClient\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n context\n \n \n \n \n \n \n \n \n context: object\n\n \n \n\n\n \n \n Type : object\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n login_challenge\n \n \n \n \n \n \n \n \n login_challenge: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n login_session_id\n \n \n \n \n \n \n \n \n login_session_id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n oidc_context\n \n \n \n \n \n \n \n \n oidc_context: ProviderOidcContext\n\n \n \n\n\n \n \n Type : ProviderOidcContext\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n request_url\n \n \n \n \n \n \n \n \n request_url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n requested_access_token_audience\n \n \n \n \n \n \n \n \n requested_access_token_audience: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n requested_scope\n \n \n \n \n \n \n \n \n requested_scope: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n skip\n \n \n \n \n \n \n \n \n skip: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n subject\n \n \n \n \n \n \n \n \n subject: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { ProviderOauthClient } from '../interface/oauth-client.interface';\nimport { ProviderOidcContext } from '../interface/oidc-context.interface';\n\nexport interface ProviderConsentResponse {\n\tacr?: string;\n\n\tamr?: string[];\n\n\tchallenge: string;\n\n\tclient?: ProviderOauthClient;\n\n\tcontext?: object;\n\n\tlogin_challenge?: string;\n\n\tlogin_session_id?: string;\n\n\toidc_context?: ProviderOidcContext;\n\n\trequest_url?: string;\n\n\trequested_access_token_audience?: string[];\n\n\trequested_scope?: string[];\n\n\tskip?: boolean;\n\n\tsubject?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ProviderConsentSessionResponse.html":{"url":"interfaces/ProviderConsentSessionResponse.html","title":"interface - ProviderConsentSessionResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ProviderConsentSessionResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/oauth-provider/dto/response/consent-session.response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n consent_request\n \n \n \n Optional\n \n grant_access_token_audience\n \n \n \n Optional\n \n grant_scope\n \n \n \n Optional\n \n handled_at\n \n \n \n Optional\n \n remember\n \n \n \n Optional\n \n remember_for\n \n \n \n Optional\n \n session\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n consent_request\n \n \n \n \n \n \n \n \n consent_request: ProviderConsentResponse\n\n \n \n\n\n \n \n Type : ProviderConsentResponse\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n grant_access_token_audience\n \n \n \n \n \n \n \n \n grant_access_token_audience: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n grant_scope\n \n \n \n \n \n \n \n \n grant_scope: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n handled_at\n \n \n \n \n \n \n \n \n handled_at: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n remember\n \n \n \n \n \n \n \n \n remember: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n remember_for\n \n \n \n \n \n \n \n \n remember_for: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n session\n \n \n \n \n \n \n \n \n session: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { ProviderConsentResponse } from './consent.response';\n\nexport interface ProviderConsentSessionResponse {\n\tconsent_request: ProviderConsentResponse;\n\n\tgrant_access_token_audience?: string[];\n\n\tgrant_scope?: string[];\n\n\thandled_at?: string;\n\n\tremember?: boolean;\n\n\tremember_for?: number;\n\n\tsession?: {\n\t\taccess_token: string;\n\n\t\tid_token: string;\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ProviderLoginResponse.html":{"url":"interfaces/ProviderLoginResponse.html","title":"interface - ProviderLoginResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ProviderLoginResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/oauth-provider/dto/response/login.response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n challenge\n \n \n \n \n client\n \n \n \n Optional\n \n oidc_context\n \n \n \n \n request_url\n \n \n \n \n requested_access_token_audience\n \n \n \n \n requested_scope\n \n \n \n Optional\n \n session_id\n \n \n \n \n skip\n \n \n \n \n subject\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n challenge\n \n \n \n \n \n \n \n \n challenge: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n client\n \n \n \n \n \n \n \n \n client: ProviderOauthClient\n\n \n \n\n\n \n \n Type : ProviderOauthClient\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n oidc_context\n \n \n \n \n \n \n \n \n oidc_context: ProviderOidcContext\n\n \n \n\n\n \n \n Type : ProviderOidcContext\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n request_url\n \n \n \n \n \n \n \n \n request_url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n requested_access_token_audience\n \n \n \n \n \n \n \n \n requested_access_token_audience: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n requested_scope\n \n \n \n \n \n \n \n \n requested_scope: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n session_id\n \n \n \n \n \n \n \n \n session_id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n skip\n \n \n \n \n \n \n \n \n skip: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n subject\n \n \n \n \n \n \n \n \n subject: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { ProviderOauthClient } from '../interface/oauth-client.interface';\nimport { ProviderOidcContext } from '../interface/oidc-context.interface';\n\nexport interface ProviderLoginResponse {\n\tchallenge: string;\n\n\tclient: ProviderOauthClient;\n\n\toidc_context?: ProviderOidcContext;\n\n\trequest_url: string;\n\n\trequested_access_token_audience: string[];\n\n\trequested_scope: string[];\n\n\tsession_id?: string;\n\n\tskip: boolean;\n\n\tsubject: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ProviderOidcContext.html":{"url":"interfaces/ProviderOidcContext.html","title":"interface - ProviderOidcContext","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ProviderOidcContext\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/oauth-provider/dto/interface/oidc-context.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n acr_values\n \n \n \n Optional\n \n display\n \n \n \n Optional\n \n id_token_hint_claims\n \n \n \n Optional\n \n login_hint\n \n \n \n Optional\n \n ui_locales\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n acr_values\n \n \n \n \n \n \n \n \n acr_values: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n display\n \n \n \n \n \n \n \n \n display: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n id_token_hint_claims\n \n \n \n \n \n \n \n \n id_token_hint_claims: object\n\n \n \n\n\n \n \n Type : object\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n login_hint\n \n \n \n \n \n \n \n \n login_hint: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n ui_locales\n \n \n \n \n \n \n \n \n ui_locales: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface ProviderOidcContext {\n\tacr_values?: string[];\n\n\tdisplay?: string;\n\n\tid_token_hint_claims?: object;\n\n\tlogin_hint?: string;\n\n\tui_locales?: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ProviderRedirectResponse.html":{"url":"interfaces/ProviderRedirectResponse.html","title":"interface - ProviderRedirectResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ProviderRedirectResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/oauth-provider/dto/response/redirect.response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n redirect_to\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n redirect_to\n \n \n \n \n \n \n \n \n redirect_to: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface ProviderRedirectResponse {\n\tredirect_to: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ProvisioningDto.html":{"url":"classes/ProvisioningDto.html","title":"class - ProvisioningDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ProvisioningDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/dto/provisioning.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n externalUserId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(provisioningDto: ProvisioningDto)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/provisioning.dto.ts:2\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n provisioningDto\n \n \n ProvisioningDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n externalUserId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/provisioning.dto.ts:2\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class ProvisioningDto {\n\texternalUserId: string;\n\n\tconstructor(provisioningDto: ProvisioningDto) {\n\t\tthis.externalUserId = provisioningDto.externalUserId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ProvisioningModule.html":{"url":"modules/ProvisioningModule.html","title":"module - ProvisioningModule","body":"\n \n\n\n\n\n Modules\n ProvisioningModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ProvisioningModule\n\n\n\ncluster_ProvisioningModule_providers\n\n\n\ncluster_ProvisioningModule_exports\n\n\n\ncluster_ProvisioningModule_imports\n\n\n\n\nAccountModule\n\nAccountModule\n\n\n\nProvisioningModule\n\nProvisioningModule\n\nProvisioningModule -->\n\nAccountModule->ProvisioningModule\n\n\n\n\n\nGroupModule\n\nGroupModule\n\nProvisioningModule -->\n\nGroupModule->ProvisioningModule\n\n\n\n\n\nLegacySchoolModule\n\nLegacySchoolModule\n\nProvisioningModule -->\n\nLegacySchoolModule->ProvisioningModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nProvisioningModule -->\n\nLoggerModule->ProvisioningModule\n\n\n\n\n\nRoleModule\n\nRoleModule\n\nProvisioningModule -->\n\nRoleModule->ProvisioningModule\n\n\n\n\n\nSystemModule\n\nSystemModule\n\nProvisioningModule -->\n\nSystemModule->ProvisioningModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nProvisioningModule -->\n\nUserModule->ProvisioningModule\n\n\n\n\n\nProvisioningService \n\nProvisioningService \n\nProvisioningService -->\n\nProvisioningModule->ProvisioningService \n\n\n\n\n\nIservProvisioningStrategy\n\nIservProvisioningStrategy\n\nProvisioningModule -->\n\nIservProvisioningStrategy->ProvisioningModule\n\n\n\n\n\nOidcMockProvisioningStrategy\n\nOidcMockProvisioningStrategy\n\nProvisioningModule -->\n\nOidcMockProvisioningStrategy->ProvisioningModule\n\n\n\n\n\nOidcProvisioningService\n\nOidcProvisioningService\n\nProvisioningModule -->\n\nOidcProvisioningService->ProvisioningModule\n\n\n\n\n\nProvisioningService\n\nProvisioningService\n\nProvisioningModule -->\n\nProvisioningService->ProvisioningModule\n\n\n\n\n\nSanisProvisioningStrategy\n\nSanisProvisioningStrategy\n\nProvisioningModule -->\n\nSanisProvisioningStrategy->ProvisioningModule\n\n\n\n\n\nSanisResponseMapper\n\nSanisResponseMapper\n\nProvisioningModule -->\n\nSanisResponseMapper->ProvisioningModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/provisioning/provisioning.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n IservProvisioningStrategy\n \n \n OidcMockProvisioningStrategy\n \n \n OidcProvisioningService\n \n \n ProvisioningService\n \n \n SanisProvisioningStrategy\n \n \n SanisResponseMapper\n \n \n \n \n Imports\n \n \n AccountModule\n \n \n GroupModule\n \n \n LegacySchoolModule\n \n \n LoggerModule\n \n \n RoleModule\n \n \n SystemModule\n \n \n UserModule\n \n \n \n \n Exports\n \n \n ProvisioningService\n \n \n \n \n \n\n\n \n\n\n \n import { HttpModule } from '@nestjs/axios';\nimport { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { AccountModule } from '@modules/account/account.module';\nimport { RoleModule } from '@modules/role';\nimport { LegacySchoolModule } from '@modules/legacy-school';\nimport { SystemModule } from '@modules/system/system.module';\nimport { UserModule } from '@modules/user';\nimport { GroupModule } from '@modules/group';\nimport { ProvisioningService } from './service/provisioning.service';\nimport { IservProvisioningStrategy, OidcMockProvisioningStrategy, SanisProvisioningStrategy } from './strategy';\nimport { OidcProvisioningService } from './strategy/oidc/service/oidc-provisioning.service';\nimport { SanisResponseMapper } from './strategy/sanis/sanis-response.mapper';\n\n@Module({\n\timports: [\n\t\tAccountModule,\n\t\tLegacySchoolModule,\n\t\tUserModule,\n\t\tRoleModule,\n\t\tSystemModule,\n\t\tHttpModule,\n\t\tLoggerModule,\n\t\tGroupModule,\n\t],\n\tproviders: [\n\t\tProvisioningService,\n\t\tSanisResponseMapper,\n\t\tOidcProvisioningService,\n\t\tSanisProvisioningStrategy,\n\t\tIservProvisioningStrategy,\n\t\tOidcMockProvisioningStrategy,\n\t],\n\texports: [ProvisioningService],\n})\nexport class ProvisioningModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ProvisioningService.html":{"url":"injectables/ProvisioningService.html","title":"injectable - ProvisioningService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ProvisioningService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/service/provisioning.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n strategies\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n determineInput\n \n \n Async\n getData\n \n \n Private\n getProvisioningStrategy\n \n \n Async\n provisionData\n \n \n Protected\n registerStrategy\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(systemService: LegacySystemService, sanisStrategy: SanisProvisioningStrategy, iservStrategy: IservProvisioningStrategy, oidcMockStrategy: OidcMockProvisioningStrategy)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/service/provisioning.service.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemService\n \n \n LegacySystemService\n \n \n \n No\n \n \n \n \n sanisStrategy\n \n \n SanisProvisioningStrategy\n \n \n \n No\n \n \n \n \n iservStrategy\n \n \n IservProvisioningStrategy\n \n \n \n No\n \n \n \n \n oidcMockStrategy\n \n \n OidcMockProvisioningStrategy\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n determineInput\n \n \n \n \n \n \n \n determineInput(systemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/service/provisioning.service.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getData\n \n \n \n \n \n \n \n getData(systemId: string, idToken: string, accessToken: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/service/provisioning.service.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n idToken\n \n string\n \n\n \n No\n \n\n\n \n \n accessToken\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getProvisioningStrategy\n \n \n \n \n \n \n \n getProvisioningStrategy(systemStrategy: SystemProvisioningStrategy)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/service/provisioning.service.ts:62\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemStrategy\n \n SystemProvisioningStrategy\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ProvisioningStrategy\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n provisionData\n \n \n \n \n \n \n \n provisionData(oauthData: OauthDataDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/service/provisioning.service.ts:56\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthData\n \n OauthDataDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n registerStrategy\n \n \n \n \n \n \n \n registerStrategy(strategy: ProvisioningStrategy)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/service/provisioning.service.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n strategy\n \n ProvisioningStrategy\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n strategies\n \n \n \n \n \n \n Type : Map\n\n \n \n \n \n Default value : new Map()\n \n \n \n \n Defined in apps/server/src/modules/provisioning/service/provisioning.service.ts:16\n \n \n\n\n \n \n\n\n \n\n\n \n import { LegacySystemService } from '@modules/system';\nimport { SystemDto } from '@modules/system/service/dto/system.dto';\nimport { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { OauthDataDto, OauthDataStrategyInputDto, ProvisioningDto, ProvisioningSystemDto } from '../dto';\nimport { ProvisioningSystemInputMapper } from '../mapper/provisioning-system-input.mapper';\nimport {\n\tIservProvisioningStrategy,\n\tOidcMockProvisioningStrategy,\n\tProvisioningStrategy,\n\tSanisProvisioningStrategy,\n} from '../strategy';\n\n@Injectable()\nexport class ProvisioningService {\n\tstrategies: Map = new Map();\n\n\tconstructor(\n\t\tprivate readonly systemService: LegacySystemService,\n\t\tprivate readonly sanisStrategy: SanisProvisioningStrategy,\n\t\tprivate readonly iservStrategy: IservProvisioningStrategy,\n\t\tprivate readonly oidcMockStrategy: OidcMockProvisioningStrategy\n\t) {\n\t\tthis.registerStrategy(sanisStrategy);\n\t\tthis.registerStrategy(iservStrategy);\n\t\tthis.registerStrategy(oidcMockStrategy);\n\t}\n\n\tprotected registerStrategy(strategy: ProvisioningStrategy) {\n\t\tthis.strategies.set(strategy.getType(), strategy);\n\t}\n\n\tasync getData(systemId: string, idToken: string, accessToken: string): Promise {\n\t\tconst system: ProvisioningSystemDto = await this.determineInput(systemId);\n\t\tconst input: OauthDataStrategyInputDto = new OauthDataStrategyInputDto({\n\t\t\taccessToken,\n\t\t\tidToken,\n\t\t\tsystem,\n\t\t});\n\n\t\tconst strategy: ProvisioningStrategy = this.getProvisioningStrategy(system.provisioningStrategy);\n\n\t\tconst data: OauthDataDto = await strategy.getData(input);\n\t\treturn data;\n\t}\n\n\tprivate async determineInput(systemId: string): Promise {\n\t\tconst systemDto: SystemDto = await this.systemService.findById(systemId);\n\t\tconst inputDto: ProvisioningSystemDto = ProvisioningSystemInputMapper.mapToInternal(systemDto);\n\t\treturn inputDto;\n\t}\n\n\tasync provisionData(oauthData: OauthDataDto): Promise {\n\t\tconst strategy: ProvisioningStrategy = this.getProvisioningStrategy(oauthData.system.provisioningStrategy);\n\t\tconst provisioningDto: Promise = strategy.apply(oauthData);\n\t\treturn provisioningDto;\n\t}\n\n\tprivate getProvisioningStrategy(systemStrategy: SystemProvisioningStrategy): ProvisioningStrategy {\n\t\tconst strategy: ProvisioningStrategy | undefined = this.strategies.get(systemStrategy);\n\n\t\tif (!strategy) {\n\t\t\tthrow new InternalServerErrorException('Provisioning Strategy is not defined.');\n\t\t}\n\n\t\treturn strategy;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ProvisioningStrategy.html":{"url":"classes/ProvisioningStrategy.html","title":"class - ProvisioningStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ProvisioningStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/base.strategy.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Abstract\n apply\n \n \n Abstract\n getData\n \n \n Abstract\n getType\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Abstract\n apply\n \n \n \n \n \n \n \n apply(data: OauthDataDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/base.strategy.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n OauthDataDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getData\n \n \n \n \n \n \n \n getData(input: OauthDataStrategyInputDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/base.strategy.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n input\n \n OauthDataStrategyInputDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getType\n \n \n \n \n \n \n \n getType()\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/base.strategy.ts:5\n \n \n\n\n \n \n\n \n Returns : SystemProvisioningStrategy\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { OauthDataDto, OauthDataStrategyInputDto, ProvisioningDto } from '../dto';\n\nexport abstract class ProvisioningStrategy {\n\tabstract getType(): SystemProvisioningStrategy;\n\n\tabstract getData(input: OauthDataStrategyInputDto): Promise;\n\n\tabstract apply(data: OauthDataDto): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ProvisioningSystemDto.html":{"url":"classes/ProvisioningSystemDto.html","title":"class - ProvisioningSystemDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ProvisioningSystemDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/dto/provisioning-system.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n provisioningStrategy\n \n \n Optional\n provisioningUrl\n \n \n systemId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ProvisioningSystemDto)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/provisioning-system.dto.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ProvisioningSystemDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n provisioningStrategy\n \n \n \n \n \n \n Type : SystemProvisioningStrategy\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/provisioning-system.dto.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n provisioningUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/provisioning-system.dto.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n systemId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/provisioning-system.dto.ts:5\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { EntityId } from '@shared/domain/types';\n\nexport class ProvisioningSystemDto {\n\tsystemId: EntityId;\n\n\tprovisioningStrategy: SystemProvisioningStrategy;\n\n\tprovisioningUrl?: string;\n\n\tconstructor(props: ProvisioningSystemDto) {\n\t\tthis.systemId = props.systemId;\n\t\tthis.provisioningStrategy = props.provisioningStrategy;\n\t\tthis.provisioningUrl = props.provisioningUrl;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ProvisioningSystemInputMapper.html":{"url":"classes/ProvisioningSystemInputMapper.html","title":"class - ProvisioningSystemInputMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ProvisioningSystemInputMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/mapper/provisioning-system-input.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToInternal\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToInternal\n \n \n \n \n \n \n \n mapToInternal(dto: SystemDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/mapper/provisioning-system-input.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n dto\n \n SystemDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { SystemDto } from '@modules/system/service/dto/system.dto';\nimport { ProvisioningSystemDto } from '../dto';\n\nexport class ProvisioningSystemInputMapper {\n\tstatic mapToInternal(dto: SystemDto) {\n\t\treturn new ProvisioningSystemDto({\n\t\t\tsystemId: dto.id || '',\n\t\t\tprovisioningStrategy: dto.provisioningStrategy || SystemProvisioningStrategy.UNDEFINED,\n\t\t\tprovisioningUrl: dto.provisioningUrl || undefined,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Pseudonym.html":{"url":"classes/Pseudonym.html","title":"class - Pseudonym","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Pseudonym\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/pseudonym.do.ts\n \n\n\n\n \n Extends\n \n \n DomainObject\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n pseudonym\n \n \n toolId\n \n \n userId\n \n \n createdAt\n \n \n updatedAt\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n pseudonym\n \n \n\n \n \n getpseudonym()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/pseudonym.do.ts:13\n \n \n\n \n \n \n \n \n \n \n toolId\n \n \n\n \n \n gettoolId()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/pseudonym.do.ts:17\n \n \n\n \n \n \n \n \n \n \n userId\n \n \n\n \n \n getuserId()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/pseudonym.do.ts:21\n \n \n\n \n \n \n \n \n \n \n createdAt\n \n \n\n \n \n getcreatedAt()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/pseudonym.do.ts:25\n \n \n\n \n \n \n \n \n \n \n updatedAt\n \n \n\n \n \n getupdatedAt()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/pseudonym.do.ts:29\n \n \n\n \n \n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { AuthorizableObject, DomainObject } from '../domain-object';\n\nexport interface PseudonymProps extends AuthorizableObject {\n\tpseudonym: string;\n\ttoolId: EntityId;\n\tuserId: EntityId;\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\nexport class Pseudonym extends DomainObject {\n\tget pseudonym(): string {\n\t\treturn this.props.pseudonym;\n\t}\n\n\tget toolId(): EntityId {\n\t\treturn this.props.toolId;\n\t}\n\n\tget userId(): EntityId {\n\t\treturn this.props.userId;\n\t}\n\n\tget createdAt(): Date {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date {\n\t\treturn this.props.updatedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/PseudonymApiModule.html":{"url":"modules/PseudonymApiModule.html","title":"module - PseudonymApiModule","body":"\n \n\n\n\n\n Modules\n PseudonymApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_PseudonymApiModule\n\n\n\ncluster_PseudonymApiModule_providers\n\n\n\ncluster_PseudonymApiModule_imports\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nPseudonymApiModule\n\nPseudonymApiModule\n\nPseudonymApiModule -->\n\nAuthorizationModule->PseudonymApiModule\n\n\n\n\n\nLegacySchoolModule\n\nLegacySchoolModule\n\nPseudonymApiModule -->\n\nLegacySchoolModule->PseudonymApiModule\n\n\n\n\n\nPseudonymModule\n\nPseudonymModule\n\nPseudonymApiModule -->\n\nPseudonymModule->PseudonymApiModule\n\n\n\n\n\nPseudonymUc\n\nPseudonymUc\n\nPseudonymApiModule -->\n\nPseudonymUc->PseudonymApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/pseudonym/pseudonym-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n PseudonymUc\n \n \n \n \n Controllers\n \n \n PseudonymController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n LegacySchoolModule\n \n \n PseudonymModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { LegacySchoolModule } from '@modules/legacy-school';\nimport { PseudonymModule } from './pseudonym.module';\nimport { PseudonymController } from './controller/pseudonym.controller';\nimport { PseudonymUc } from './uc';\n\n@Module({\n\timports: [PseudonymModule, AuthorizationModule, LegacySchoolModule],\n\tproviders: [PseudonymUc],\n\tcontrollers: [PseudonymController],\n})\nexport class PseudonymApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/PseudonymController.html":{"url":"controllers/PseudonymController.html","title":"controller - PseudonymController","body":"\n \n\n\n\n\n\n\n Controllers\n PseudonymController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/controller/pseudonym.controller.ts\n \n\n \n Prefix\n \n \n pseudonyms\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n Async\n getPseudonym\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getPseudonym\n \n \n \n \n \n \n \n getPseudonym(params: PseudonymParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get(':pseudonym')@ApiFoundResponse({description: 'Pseudonym has been found.', type: PseudonymResponse})@ApiUnauthorizedResponse()@ApiForbiddenResponse()@ApiOperation({summary: 'Returns the related user and tool information to a pseudonym'})\n \n \n\n \n \n Defined in apps/server/src/modules/pseudonym/controller/pseudonym.controller.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n PseudonymParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Controller, Get, Param } from '@nestjs/common';\nimport {\n\tApiForbiddenResponse,\n\tApiFoundResponse,\n\tApiOperation,\n\tApiTags,\n\tApiUnauthorizedResponse,\n} from '@nestjs/swagger';\nimport { Pseudonym } from '@shared/domain/domainobject';\nimport { PseudonymMapper } from '../mapper/pseudonym.mapper';\nimport { PseudonymUc } from '../uc';\nimport { PseudonymResponse } from './dto';\nimport { PseudonymParams } from './dto/pseudonym-params';\n\n@ApiTags('Pseudonym')\n@Authenticate('jwt')\n@Controller('pseudonyms')\nexport class PseudonymController {\n\tconstructor(private readonly pseudonymUc: PseudonymUc) {}\n\n\t@Get(':pseudonym')\n\t@ApiFoundResponse({ description: 'Pseudonym has been found.', type: PseudonymResponse })\n\t@ApiUnauthorizedResponse()\n\t@ApiForbiddenResponse()\n\t@ApiOperation({ summary: 'Returns the related user and tool information to a pseudonym' })\n\tasync getPseudonym(\n\t\t@Param() params: PseudonymParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst pseudonym: Pseudonym = await this.pseudonymUc.findPseudonymByPseudonym(currentUser.userId, params.pseudonym);\n\n\t\tconst pseudonymResponse: PseudonymResponse = PseudonymMapper.mapToResponse(pseudonym);\n\n\t\treturn pseudonymResponse;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/PseudonymEntity.html":{"url":"entities/PseudonymEntity.html","title":"entity - PseudonymEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n PseudonymEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/entity/pseudonym.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n pseudonym\n \n \n \n toolId\n \n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n pseudonym\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()@Unique()\n \n \n \n \n \n Defined in apps/server/src/modules/pseudonym/entity/pseudonym.entity.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n toolId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/pseudonym/entity/pseudonym.entity.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/pseudonym/entity/pseudonym.entity.ts:24\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property, Unique } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface PseudonymEntityProps {\n\tid?: EntityId;\n\tpseudonym: string;\n\ttoolId: ObjectId;\n\tuserId: ObjectId;\n}\n\n@Entity({ tableName: 'pseudonyms' })\n@Unique({ properties: ['userId', 'toolId'] })\nexport class PseudonymEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Unique()\n\tpseudonym: string;\n\n\t@Property()\n\ttoolId: ObjectId;\n\n\t@Property()\n\tuserId: ObjectId;\n\n\tconstructor(props: PseudonymEntityProps) {\n\t\tsuper();\n\t\tif (props.id != null) {\n\t\t\tthis.id = props.id;\n\t\t}\n\t\tthis.pseudonym = props.pseudonym;\n\t\tthis.toolId = props.toolId;\n\t\tthis.userId = props.userId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PseudonymEntityProps.html":{"url":"interfaces/PseudonymEntityProps.html","title":"interface - PseudonymEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PseudonymEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/entity/pseudonym.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n id\n \n \n \n \n pseudonym\n \n \n \n \n toolId\n \n \n \n \n userId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n pseudonym\n \n \n \n \n \n \n \n \n pseudonym: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n toolId\n \n \n \n \n \n \n \n \n toolId: ObjectId\n\n \n \n\n\n \n \n Type : ObjectId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: ObjectId\n\n \n \n\n\n \n \n Type : ObjectId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property, Unique } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface PseudonymEntityProps {\n\tid?: EntityId;\n\tpseudonym: string;\n\ttoolId: ObjectId;\n\tuserId: ObjectId;\n}\n\n@Entity({ tableName: 'pseudonyms' })\n@Unique({ properties: ['userId', 'toolId'] })\nexport class PseudonymEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Unique()\n\tpseudonym: string;\n\n\t@Property()\n\ttoolId: ObjectId;\n\n\t@Property()\n\tuserId: ObjectId;\n\n\tconstructor(props: PseudonymEntityProps) {\n\t\tsuper();\n\t\tif (props.id != null) {\n\t\t\tthis.id = props.id;\n\t\t}\n\t\tthis.pseudonym = props.pseudonym;\n\t\tthis.toolId = props.toolId;\n\t\tthis.userId = props.userId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PseudonymMapper.html":{"url":"classes/PseudonymMapper.html","title":"class - PseudonymMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PseudonymMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/mapper/pseudonym.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(pseudonym: Pseudonym)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/mapper/pseudonym.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonym\n \n Pseudonym\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : PseudonymResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Pseudonym } from '@shared/domain/domainobject';\nimport { PseudonymResponse } from '../controller/dto';\n\nexport class PseudonymMapper {\n\tstatic mapToResponse(pseudonym: Pseudonym): PseudonymResponse {\n\t\tconst response: PseudonymResponse = new PseudonymResponse({\n\t\t\tid: pseudonym.id,\n\t\t\ttoolId: pseudonym.toolId,\n\t\t\tuserId: pseudonym.userId,\n\t\t});\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/PseudonymModule.html":{"url":"modules/PseudonymModule.html","title":"module - PseudonymModule","body":"\n \n\n\n\n\n Modules\n PseudonymModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_PseudonymModule\n\n\n\ncluster_PseudonymModule_exports\n\n\n\ncluster_PseudonymModule_imports\n\n\n\ncluster_PseudonymModule_providers\n\n\n\n\nLearnroomModule\n\nLearnroomModule\n\n\n\nPseudonymModule\n\nPseudonymModule\n\nPseudonymModule -->\n\nLearnroomModule->PseudonymModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nPseudonymModule -->\n\nUserModule->PseudonymModule\n\n\n\n\n\nFeathersRosterService \n\nFeathersRosterService \n\nFeathersRosterService -->\n\nPseudonymModule->FeathersRosterService \n\n\n\n\n\nPseudonymService \n\nPseudonymService \n\nPseudonymService -->\n\nPseudonymModule->PseudonymService \n\n\n\n\n\nExternalToolPseudonymRepo\n\nExternalToolPseudonymRepo\n\nPseudonymModule -->\n\nExternalToolPseudonymRepo->PseudonymModule\n\n\n\n\n\nFeathersRosterService\n\nFeathersRosterService\n\nPseudonymModule -->\n\nFeathersRosterService->PseudonymModule\n\n\n\n\n\nLegacyLogger\n\nLegacyLogger\n\nPseudonymModule -->\n\nLegacyLogger->PseudonymModule\n\n\n\n\n\nPseudonymService\n\nPseudonymService\n\nPseudonymModule -->\n\nPseudonymService->PseudonymModule\n\n\n\n\n\nPseudonymsRepo\n\nPseudonymsRepo\n\nPseudonymModule -->\n\nPseudonymsRepo->PseudonymModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/pseudonym/pseudonym.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ExternalToolPseudonymRepo\n \n \n FeathersRosterService\n \n \n LegacyLogger\n \n \n PseudonymService\n \n \n PseudonymsRepo\n \n \n \n \n Imports\n \n \n LearnroomModule\n \n \n UserModule\n \n \n \n \n Exports\n \n \n FeathersRosterService\n \n \n PseudonymService\n \n \n \n \n \n\n\n \n\n\n \n import { LearnroomModule } from '@modules/learnroom';\nimport { ToolModule } from '@modules/tool';\nimport { UserModule } from '@modules/user';\nimport { forwardRef, Module } from '@nestjs/common';\nimport { LegacyLogger } from '@src/core/logger';\nimport { ExternalToolPseudonymRepo, PseudonymsRepo } from './repo';\nimport { FeathersRosterService, PseudonymService } from './service';\n\n@Module({\n\timports: [UserModule, LearnroomModule, forwardRef(() => ToolModule)],\n\tproviders: [PseudonymService, PseudonymsRepo, ExternalToolPseudonymRepo, LegacyLogger, FeathersRosterService],\n\texports: [PseudonymService, FeathersRosterService],\n})\nexport class PseudonymModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PseudonymParams.html":{"url":"classes/PseudonymParams.html","title":"class - PseudonymParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PseudonymParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/controller/dto/pseudonym-params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n pseudonym\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n pseudonym\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({nullable: false, required: true})\n \n \n \n \n \n Defined in apps/server/src/modules/pseudonym/controller/dto/pseudonym-params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsString } from 'class-validator';\n\nexport class PseudonymParams {\n\t@IsString()\n\t@ApiProperty({ nullable: false, required: true })\n\tpseudonym!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PseudonymProps.html":{"url":"interfaces/PseudonymProps.html","title":"interface - PseudonymProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PseudonymProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/pseudonym.do.ts\n \n\n\n\n \n Extends\n \n \n AuthorizableObject\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n createdAt\n \n \n \n \n pseudonym\n \n \n \n \n toolId\n \n \n \n \n updatedAt\n \n \n \n \n userId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n pseudonym\n \n \n \n \n \n \n \n \n pseudonym: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n toolId\n \n \n \n \n \n \n \n \n toolId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { AuthorizableObject, DomainObject } from '../domain-object';\n\nexport interface PseudonymProps extends AuthorizableObject {\n\tpseudonym: string;\n\ttoolId: EntityId;\n\tuserId: EntityId;\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\nexport class Pseudonym extends DomainObject {\n\tget pseudonym(): string {\n\t\treturn this.props.pseudonym;\n\t}\n\n\tget toolId(): EntityId {\n\t\treturn this.props.toolId;\n\t}\n\n\tget userId(): EntityId {\n\t\treturn this.props.userId;\n\t}\n\n\tget createdAt(): Date {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date {\n\t\treturn this.props.updatedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PseudonymResponse.html":{"url":"classes/PseudonymResponse.html","title":"class - PseudonymResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PseudonymResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/controller/dto/pseudonym.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n toolId\n \n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(response: PseudonymResponse)\n \n \n \n \n Defined in apps/server/src/modules/pseudonym/controller/dto/pseudonym.response.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n \n PseudonymResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/pseudonym/controller/dto/pseudonym.response.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n \n toolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/pseudonym/controller/dto/pseudonym.response.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/pseudonym/controller/dto/pseudonym.response.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class PseudonymResponse {\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\ttoolId: string;\n\n\t@ApiProperty()\n\tuserId: string;\n\n\tconstructor(response: PseudonymResponse) {\n\t\tthis.id = response.id;\n\t\tthis.toolId = response.toolId;\n\t\tthis.userId = response.userId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PseudonymScope.html":{"url":"classes/PseudonymScope.html","title":"class - PseudonymScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PseudonymScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/entity/pseudonym.scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n byPseudonym\n \n \n byToolId\n \n \n byUserId\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n byPseudonym\n \n \n \n \n \n \nbyPseudonym(pseudonym: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/entity/pseudonym.scope.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonym\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byToolId\n \n \n \n \n \n \nbyToolId(toolId: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/entity/pseudonym.scope.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolId\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byUserId\n \n \n \n \n \n \nbyUserId(userId: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/entity/pseudonym.scope.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Scope } from '@shared/repo';\nimport { ObjectId } from 'bson';\nimport { ExternalToolPseudonymEntity } from './external-tool-pseudonym.entity';\n\nexport class PseudonymScope extends Scope {\n\tbyPseudonym(pseudonym: string | undefined): this {\n\t\tif (pseudonym) {\n\t\t\tthis.addQuery({ pseudonym });\n\t\t}\n\t\treturn this;\n\t}\n\n\tbyUserId(userId: string | undefined): this {\n\t\tif (userId) {\n\t\t\tthis.addQuery({ userId: new ObjectId(userId) });\n\t\t}\n\t\treturn this;\n\t}\n\n\tbyToolId(toolId: string | undefined): this {\n\t\tif (toolId) {\n\t\t\tthis.addQuery({ toolId: new ObjectId(toolId) });\n\t\t}\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PseudonymSearchQuery.html":{"url":"interfaces/PseudonymSearchQuery.html","title":"interface - PseudonymSearchQuery","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PseudonymSearchQuery\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/domain/pseudonym-search-query.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n pseudonym\n \n \n \n Optional\n \n toolId\n \n \n \n Optional\n \n userId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n pseudonym\n \n \n \n \n \n \n \n \n pseudonym: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n toolId\n \n \n \n \n \n \n \n \n toolId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface PseudonymSearchQuery {\n\tpseudonym?: string;\n\ttoolId?: string;\n\tuserId?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/PseudonymService.html":{"url":"injectables/PseudonymService.html","title":"injectable - PseudonymService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n PseudonymService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/service/pseudonym.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n deleteByUserId\n \n \n Private\n Async\n deleteExternalToolPseudonymsByUserId\n \n \n Private\n Async\n deletePseudonymsByUserId\n \n \n Public\n Async\n findByUserAndToolOrThrow\n \n \n Public\n Async\n findByUserId\n \n \n Private\n Async\n findExternalToolPseudonymsByUserId\n \n \n Public\n Async\n findOrCreatePseudonym\n \n \n Async\n findPseudonym\n \n \n Async\n findPseudonymByPseudonym\n \n \n Private\n Async\n findPseudonymsByUserId\n \n \n getIframeSubject\n \n \n Private\n getRepository\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(pseudonymRepo: PseudonymsRepo, externalToolPseudonymRepo: ExternalToolPseudonymRepo)\n \n \n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonymRepo\n \n \n PseudonymsRepo\n \n \n \n No\n \n \n \n \n externalToolPseudonymRepo\n \n \n ExternalToolPseudonymRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n deleteByUserId\n \n \n \n \n \n \n \n deleteByUserId(userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:75\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n deleteExternalToolPseudonymsByUserId\n \n \n \n \n \n \n \n deleteExternalToolPseudonymsByUserId(userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:106\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n deletePseudonymsByUserId\n \n \n \n \n \n \n \n deletePseudonymsByUserId(userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:100\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findByUserAndToolOrThrow\n \n \n \n \n \n \n \n findByUserAndToolOrThrow(user: UserDO, tool: ExternalTool | LtiToolDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserDO\n \n\n \n No\n \n\n\n \n \n tool\n \n ExternalTool | LtiToolDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findByUserId\n \n \n \n \n \n \n \n findByUserId(userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findExternalToolPseudonymsByUserId\n \n \n \n \n \n \n \n findExternalToolPseudonymsByUserId(userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:94\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findOrCreatePseudonym\n \n \n \n \n \n \n \n findOrCreatePseudonym(user: UserDO, tool: ExternalTool | LtiToolDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserDO\n \n\n \n No\n \n\n\n \n \n tool\n \n ExternalTool | LtiToolDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findPseudonym\n \n \n \n \n \n \n \n findPseudonym(query: PseudonymSearchQuery, options: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:127\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n PseudonymSearchQuery\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findPseudonymByPseudonym\n \n \n \n \n \n \n \n findPseudonymByPseudonym(pseudonym: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:121\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonym\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findPseudonymsByUserId\n \n \n \n \n \n \n \n findPseudonymsByUserId(userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:88\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getIframeSubject\n \n \n \n \n \n \ngetIframeSubject(pseudonym: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:133\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonym\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getRepository\n \n \n \n \n \n \n \n getRepository(tool: ExternalTool | LtiToolDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:113\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n tool\n \n ExternalTool | LtiToolDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : PseudonymsRepo | ExternalToolPseudonymRepo\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { LtiToolDO, Page, Pseudonym, UserDO } from '@shared/domain/domainobject';\nimport { IFindOptions } from '@shared/domain/interface';\nimport { v4 as uuidv4 } from 'uuid';\nimport { PseudonymSearchQuery } from '../domain';\nimport { ExternalToolPseudonymRepo, PseudonymsRepo } from '../repo';\n\n@Injectable()\nexport class PseudonymService {\n\tconstructor(\n\t\tprivate readonly pseudonymRepo: PseudonymsRepo,\n\t\tprivate readonly externalToolPseudonymRepo: ExternalToolPseudonymRepo\n\t) {}\n\n\tpublic async findByUserAndToolOrThrow(user: UserDO, tool: ExternalTool | LtiToolDO): Promise {\n\t\tif (!user.id || !tool.id) {\n\t\t\tthrow new InternalServerErrorException('User or tool id is missing');\n\t\t}\n\n\t\tconst pseudonymPromise: Promise = this.getRepository(tool).findByUserIdAndToolIdOrFail(user.id, tool.id);\n\n\t\treturn pseudonymPromise;\n\t}\n\n\tpublic async findByUserId(userId: string): Promise {\n\t\tif (!userId) {\n\t\t\tthrow new InternalServerErrorException('User id is missing');\n\t\t}\n\n\t\tlet [pseudonyms, externalToolPseudonyms] = await Promise.all([\n\t\t\tthis.findPseudonymsByUserId(userId),\n\t\t\tthis.findExternalToolPseudonymsByUserId(userId),\n\t\t]);\n\n\t\tif (pseudonyms === undefined) {\n\t\t\tpseudonyms = [];\n\t\t}\n\n\t\tif (externalToolPseudonyms === undefined) {\n\t\t\texternalToolPseudonyms = [];\n\t\t}\n\n\t\tconst allPseudonyms = [...pseudonyms, ...externalToolPseudonyms];\n\n\t\treturn allPseudonyms;\n\t}\n\n\tpublic async findOrCreatePseudonym(user: UserDO, tool: ExternalTool | LtiToolDO): Promise {\n\t\tif (!user.id || !tool.id) {\n\t\t\tthrow new InternalServerErrorException('User or tool id is missing');\n\t\t}\n\n\t\tconst repository: PseudonymsRepo | ExternalToolPseudonymRepo = this.getRepository(tool);\n\n\t\tlet pseudonym: Pseudonym | null = await repository.findByUserIdAndToolId(user.id, tool.id);\n\t\tif (!pseudonym) {\n\t\t\tpseudonym = new Pseudonym({\n\t\t\t\tid: new ObjectId().toHexString(),\n\t\t\t\tpseudonym: uuidv4(),\n\t\t\t\tuserId: user.id,\n\t\t\t\ttoolId: tool.id,\n\t\t\t\tcreatedAt: new Date(),\n\t\t\t\tupdatedAt: new Date(),\n\t\t\t});\n\n\t\t\tpseudonym = await repository.createOrUpdate(pseudonym);\n\t\t}\n\n\t\treturn pseudonym;\n\t}\n\n\tpublic async deleteByUserId(userId: string): Promise {\n\t\tif (!userId) {\n\t\t\tthrow new InternalServerErrorException('User id is missing');\n\t\t}\n\n\t\tconst [deletedPseudonyms, deletedExternalToolPseudonyms] = await Promise.all([\n\t\t\tthis.deletePseudonymsByUserId(userId),\n\t\t\tthis.deleteExternalToolPseudonymsByUserId(userId),\n\t\t]);\n\n\t\treturn deletedPseudonyms + deletedExternalToolPseudonyms;\n\t}\n\n\tprivate async findPseudonymsByUserId(userId: string): Promise {\n\t\tconst pseudonymPromise: Promise = this.pseudonymRepo.findByUserId(userId);\n\n\t\treturn pseudonymPromise;\n\t}\n\n\tprivate async findExternalToolPseudonymsByUserId(userId: string): Promise {\n\t\tconst externalToolPseudonymPromise: Promise = this.externalToolPseudonymRepo.findByUserId(userId);\n\n\t\treturn externalToolPseudonymPromise;\n\t}\n\n\tprivate async deletePseudonymsByUserId(userId: string): Promise {\n\t\tconst pseudonymPromise: Promise = this.pseudonymRepo.deletePseudonymsByUserId(userId);\n\n\t\treturn pseudonymPromise;\n\t}\n\n\tprivate async deleteExternalToolPseudonymsByUserId(userId: string): Promise {\n\t\tconst externalToolPseudonymPromise: Promise =\n\t\t\tthis.externalToolPseudonymRepo.deletePseudonymsByUserId(userId);\n\n\t\treturn externalToolPseudonymPromise;\n\t}\n\n\tprivate getRepository(tool: ExternalTool | LtiToolDO): PseudonymsRepo | ExternalToolPseudonymRepo {\n\t\tif (tool instanceof ExternalTool) {\n\t\t\treturn this.externalToolPseudonymRepo;\n\t\t}\n\n\t\treturn this.pseudonymRepo;\n\t}\n\n\tasync findPseudonymByPseudonym(pseudonym: string): Promise {\n\t\tconst result: Pseudonym | null = await this.externalToolPseudonymRepo.findPseudonymByPseudonym(pseudonym);\n\n\t\treturn result;\n\t}\n\n\tasync findPseudonym(query: PseudonymSearchQuery, options: IFindOptions): Promise> {\n\t\tconst result: Page = await this.externalToolPseudonymRepo.findPseudonym(query, options);\n\n\t\treturn result;\n\t}\n\n\tgetIframeSubject(pseudonym: string): string {\n\t\tconst iFrameSubject = ``;\n\n\t\treturn iFrameSubject;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/PseudonymUc.html":{"url":"injectables/PseudonymUc.html","title":"injectable - PseudonymUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n PseudonymUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/uc/pseudonym.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findPseudonymByPseudonym\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(pseudonymService: PseudonymService, authorizationService: AuthorizationService, schoolService: LegacySchoolService)\n \n \n \n \n Defined in apps/server/src/modules/pseudonym/uc/pseudonym.uc.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonymService\n \n \n PseudonymService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findPseudonymByPseudonym\n \n \n \n \n \n \n \n findPseudonymByPseudonym(userId: EntityId, pseudonym: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/uc/pseudonym.uc.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n pseudonym\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { LegacySchoolService } from '@modules/legacy-school';\nimport { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { LegacySchoolDo, Pseudonym } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { PseudonymService } from '../service';\n\n@Injectable()\nexport class PseudonymUc {\n\tconstructor(\n\t\tprivate readonly pseudonymService: PseudonymService,\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly schoolService: LegacySchoolService\n\t) {}\n\n\tasync findPseudonymByPseudonym(userId: EntityId, pseudonym: string): Promise {\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(userId);\n\n\t\tconst foundPseudonym: Pseudonym | null = await this.pseudonymService.findPseudonymByPseudonym(pseudonym);\n\n\t\tif (foundPseudonym === null) {\n\t\t\tthrow new NotFoundLoggableException(Pseudonym.name, 'pseudonym', pseudonym);\n\t\t}\n\n\t\tconst pseudonymUserId: string = foundPseudonym.userId;\n\t\tconst pseudonymUser: User = await this.authorizationService.getUserWithPermissions(pseudonymUserId);\n\t\tconst pseudonymSchool: LegacySchoolDo = await this.schoolService.getSchoolById(pseudonymUser.school.id);\n\n\t\tthis.authorizationService.checkPermission(user, pseudonymSchool, AuthorizationContextBuilder.read([]));\n\n\t\treturn foundPseudonym;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/PseudonymsRepo.html":{"url":"injectables/PseudonymsRepo.html","title":"injectable - PseudonymsRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n PseudonymsRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createOrUpdate\n \n \n Async\n deletePseudonymsByUserId\n \n \n Async\n findByUserId\n \n \n Async\n findByUserIdAndToolId\n \n \n Async\n findByUserIdAndToolIdOrFail\n \n \n Protected\n mapDomainObjectToEntityProperties\n \n \n Protected\n mapEntityToDomainObject\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createOrUpdate\n \n \n \n \n \n \n \n createOrUpdate(domainObject: Pseudonym)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n Pseudonym\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deletePseudonymsByUserId\n \n \n \n \n \n \n \n deletePseudonymsByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:66\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserId\n \n \n \n \n \n \n \n findByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserIdAndToolId\n \n \n \n \n \n \n \n findByUserIdAndToolId(userId: EntityId, toolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n toolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserIdAndToolIdOrFail\n \n \n \n \n \n \n \n findByUserIdAndToolIdOrFail(userId: EntityId, toolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n toolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n mapDomainObjectToEntityProperties\n \n \n \n \n \n \n \n mapDomainObjectToEntityProperties(entityDO: Pseudonym)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:83\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n Pseudonym\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : PseudonymEntityProps\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n mapEntityToDomainObject\n \n \n \n \n \n \n \n mapEntityToDomainObject(entity: PseudonymEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n PseudonymEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Pseudonym\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager, ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { Pseudonym } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { PseudonymEntity, PseudonymEntityProps } from '../entity';\n\n@Injectable()\nexport class PseudonymsRepo {\n\tconstructor(private readonly em: EntityManager) {}\n\n\tasync findByUserIdAndToolIdOrFail(userId: EntityId, toolId: EntityId): Promise {\n\t\tconst entity: PseudonymEntity = await this.em.findOneOrFail(PseudonymEntity, {\n\t\t\tuserId: new ObjectId(userId),\n\t\t\ttoolId: new ObjectId(toolId),\n\t\t});\n\n\t\tconst domainObject: Pseudonym = this.mapEntityToDomainObject(entity);\n\n\t\treturn domainObject;\n\t}\n\n\tasync findByUserIdAndToolId(userId: EntityId, toolId: EntityId): Promise {\n\t\tconst entity: PseudonymEntity | null = await this.em.findOne(PseudonymEntity, {\n\t\t\tuserId: new ObjectId(userId),\n\t\t\ttoolId: new ObjectId(toolId),\n\t\t});\n\n\t\tif (!entity) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst domainObject: Pseudonym = this.mapEntityToDomainObject(entity);\n\n\t\treturn domainObject;\n\t}\n\n\tasync findByUserId(userId: EntityId): Promise {\n\t\tconst entities: PseudonymEntity[] = await this.em.find(PseudonymEntity, { userId: new ObjectId(userId) });\n\n\t\tconst pseudonyms: Pseudonym[] = entities.map((entity) => this.mapEntityToDomainObject(entity));\n\n\t\treturn pseudonyms;\n\t}\n\n\tasync createOrUpdate(domainObject: Pseudonym): Promise {\n\t\tconst existing: PseudonymEntity | undefined = this.em\n\t\t\t.getUnitOfWork()\n\t\t\t.getById(PseudonymEntity.name, domainObject.id);\n\n\t\tconst entityProps: PseudonymEntityProps = this.mapDomainObjectToEntityProperties(domainObject);\n\t\tlet entity: PseudonymEntity = new PseudonymEntity(entityProps);\n\n\t\tif (existing) {\n\t\t\tentity = this.em.assign(existing, entity);\n\t\t} else {\n\t\t\tthis.em.persist(entity);\n\t\t}\n\n\t\tawait this.em.flush();\n\n\t\tconst savedDomainObject: Pseudonym = this.mapEntityToDomainObject(entity);\n\n\t\treturn savedDomainObject;\n\t}\n\n\tasync deletePseudonymsByUserId(userId: EntityId): Promise {\n\t\tconst promise: Promise = this.em.nativeDelete(PseudonymEntity, { userId: new ObjectId(userId) });\n\n\t\treturn promise;\n\t}\n\n\tprotected mapEntityToDomainObject(entity: PseudonymEntity): Pseudonym {\n\t\treturn new Pseudonym({\n\t\t\tid: entity.id,\n\t\t\tpseudonym: entity.pseudonym,\n\t\t\ttoolId: entity.toolId.toHexString(),\n\t\t\tuserId: entity.userId.toHexString(),\n\t\t\tcreatedAt: entity.createdAt,\n\t\t\tupdatedAt: entity.updatedAt,\n\t\t});\n\t}\n\n\tprotected mapDomainObjectToEntityProperties(entityDO: Pseudonym): PseudonymEntityProps {\n\t\treturn {\n\t\t\tid: entityDO.id,\n\t\t\tpseudonym: entityDO.pseudonym,\n\t\t\ttoolId: new ObjectId(entityDO.toolId),\n\t\t\tuserId: new ObjectId(entityDO.userId),\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PublicSystemListResponse.html":{"url":"classes/PublicSystemListResponse.html","title":"class - PublicSystemListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PublicSystemListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/controller/dto/public-system-list.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(systemResponses: PublicSystemResponse[])\n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/public-system-list.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemResponses\n \n \n PublicSystemResponse[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : PublicSystemResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/public-system-list.response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { PublicSystemResponse } from './public-system-response';\n\nexport class PublicSystemListResponse {\n\t@ApiProperty({ type: [PublicSystemResponse] })\n\tdata: PublicSystemResponse[];\n\n\tconstructor(systemResponses: PublicSystemResponse[]) {\n\t\tthis.data = systemResponses;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PublicSystemResponse.html":{"url":"classes/PublicSystemResponse.html","title":"class - PublicSystemResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PublicSystemResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/controller/dto/public-system-response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n alias\n \n \n \n Optional\n displayName\n \n \n \n id\n \n \n \n Optional\n oauthConfig\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(system: PublicSystemResponse)\n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/public-system-response.ts:39\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n system\n \n \n PublicSystemResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n alias\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Alias of the system.', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/public-system-response.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Display name of the system.', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/public-system-response.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Id of the system.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/public-system-response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n oauthConfig\n \n \n \n \n \n \n Type : OauthConfigResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Oauth config of the system.', type: OauthConfigResponse, required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/public-system-response.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Flag to request only systems with oauth-config.', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/public-system-response.ts:17\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { OauthConfigResponse } from '@modules/system/controller/dto/oauth-config.response';\n\nexport class PublicSystemResponse {\n\t@ApiProperty({\n\t\tdescription: 'Id of the system.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tid: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Flag to request only systems with oauth-config.',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\ttype: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Alias of the system.',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\talias?: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Display name of the system.',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\tdisplayName?: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Oauth config of the system.',\n\t\ttype: OauthConfigResponse,\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\toauthConfig?: OauthConfigResponse;\n\n\tconstructor(system: PublicSystemResponse) {\n\t\tthis.id = system.id;\n\t\tthis.type = system.type;\n\t\tthis.alias = system.alias;\n\t\tthis.displayName = system.displayName;\n\t\tthis.oauthConfig = system.oauthConfig;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PushDeleteRequestsOptionsBuilder.html":{"url":"classes/PushDeleteRequestsOptionsBuilder.html","title":"class - PushDeleteRequestsOptionsBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PushDeleteRequestsOptionsBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/console/builder/push-delete-requests-options.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(refsFilePath: string, targetRefDomain: string, deleteInMinutes: number, callsDelayMs: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/console/builder/push-delete-requests-options.builder.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n refsFilePath\n \n string\n \n\n \n No\n \n\n\n \n \n targetRefDomain\n \n string\n \n\n \n No\n \n\n\n \n \n deleteInMinutes\n \n number\n \n\n \n No\n \n\n\n \n \n callsDelayMs\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : PushDeletionRequestsOptions\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { PushDeletionRequestsOptions } from '../interface';\n\nexport class PushDeleteRequestsOptionsBuilder {\n\tstatic build(\n\t\trefsFilePath: string,\n\t\ttargetRefDomain: string,\n\t\tdeleteInMinutes: number,\n\t\tcallsDelayMs: number\n\t): PushDeletionRequestsOptions {\n\t\treturn {\n\t\t\trefsFilePath,\n\t\t\ttargetRefDomain,\n\t\t\tdeleteInMinutes,\n\t\t\tcallsDelayMs,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PushDeletionRequestsOptions.html":{"url":"interfaces/PushDeletionRequestsOptions.html","title":"interface - PushDeletionRequestsOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PushDeletionRequestsOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/console/interface/push-delete-requests-options.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n callsDelayMs\n \n \n \n \n deleteInMinutes\n \n \n \n \n refsFilePath\n \n \n \n \n targetRefDomain\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n callsDelayMs\n \n \n \n \n \n \n \n \n callsDelayMs: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n deleteInMinutes\n \n \n \n \n \n \n \n \n deleteInMinutes: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n refsFilePath\n \n \n \n \n \n \n \n \n refsFilePath: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n targetRefDomain\n \n \n \n \n \n \n \n \n targetRefDomain: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface PushDeletionRequestsOptions {\n\trefsFilePath: string;\n\ttargetRefDomain: string;\n\tdeleteInMinutes: number;\n\tcallsDelayMs: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/QueueDeletionRequestInput.html":{"url":"interfaces/QueueDeletionRequestInput.html","title":"interface - QueueDeletionRequestInput","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n QueueDeletionRequestInput\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/services/interface/queue-deletion-request-input.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n deleteInMinutes\n \n \n \n \n targetRefDomain\n \n \n \n \n targetRefId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n deleteInMinutes\n \n \n \n \n \n \n \n \n deleteInMinutes: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n targetRefDomain\n \n \n \n \n \n \n \n \n targetRefDomain: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n targetRefId\n \n \n \n \n \n \n \n \n targetRefId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface QueueDeletionRequestInput {\n\ttargetRefDomain: string;\n\ttargetRefId: string;\n\tdeleteInMinutes: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/QueueDeletionRequestInputBuilder.html":{"url":"classes/QueueDeletionRequestInputBuilder.html","title":"class - QueueDeletionRequestInputBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n QueueDeletionRequestInputBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/services/builder/queue-deletion-request-input.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(targetRefDomain: string, targetRefId: string, deleteInMinutes: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/builder/queue-deletion-request-input.builder.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n targetRefDomain\n \n string\n \n\n \n No\n \n\n\n \n \n targetRefId\n \n string\n \n\n \n No\n \n\n\n \n \n deleteInMinutes\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : QueueDeletionRequestInput\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { QueueDeletionRequestInput } from '../interface';\n\nexport class QueueDeletionRequestInputBuilder {\n\tstatic build(targetRefDomain: string, targetRefId: string, deleteInMinutes: number): QueueDeletionRequestInput {\n\t\treturn { targetRefDomain, targetRefId, deleteInMinutes };\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/QueueDeletionRequestOutput.html":{"url":"interfaces/QueueDeletionRequestOutput.html","title":"interface - QueueDeletionRequestOutput","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n QueueDeletionRequestOutput\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/services/interface/queue-deletion-request-output.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n deletionPlannedAt\n \n \n \n Optional\n \n error\n \n \n \n Optional\n \n requestId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n deletionPlannedAt\n \n \n \n \n \n \n \n \n deletionPlannedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n error\n \n \n \n \n \n \n \n \n error: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n requestId\n \n \n \n \n \n \n \n \n requestId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface QueueDeletionRequestOutput {\n\trequestId?: string;\n\tdeletionPlannedAt?: Date;\n\terror?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/QueueDeletionRequestOutputBuilder.html":{"url":"classes/QueueDeletionRequestOutputBuilder.html","title":"class - QueueDeletionRequestOutputBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n QueueDeletionRequestOutputBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/services/builder/queue-deletion-request-output.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Static\n build\n \n \n Static\n buildError\n \n \n Static\n buildSuccess\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Static\n build\n \n \n \n \n \n \n \n build(requestId?: string, deletionPlannedAt?: Date, error?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/builder/queue-deletion-request-output.builder.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n requestId\n \n string\n \n\n \n Yes\n \n\n\n \n \n deletionPlannedAt\n \n Date\n \n\n \n Yes\n \n\n\n \n \n error\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : QueueDeletionRequestOutput\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n buildError\n \n \n \n \n \n \n \n buildError(err: Error)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/builder/queue-deletion-request-output.builder.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n err\n \n Error\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : QueueDeletionRequestOutput\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n buildSuccess\n \n \n \n \n \n \n \n buildSuccess(requestId: string, deletionPlannedAt: Date)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/builder/queue-deletion-request-output.builder.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n requestId\n \n string\n \n\n \n No\n \n\n\n \n \n deletionPlannedAt\n \n Date\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : QueueDeletionRequestOutput\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { QueueDeletionRequestOutput } from '../interface';\n\nexport class QueueDeletionRequestOutputBuilder {\n\tprivate static build(requestId?: string, deletionPlannedAt?: Date, error?: string): QueueDeletionRequestOutput {\n\t\tconst output: QueueDeletionRequestOutput = {};\n\n\t\tif (requestId) {\n\t\t\toutput.requestId = requestId;\n\t\t}\n\n\t\tif (deletionPlannedAt) {\n\t\t\toutput.deletionPlannedAt = deletionPlannedAt;\n\t\t}\n\n\t\tif (error) {\n\t\t\toutput.error = error.toString();\n\t\t}\n\n\t\treturn output;\n\t}\n\n\tstatic buildSuccess(requestId: string, deletionPlannedAt: Date): QueueDeletionRequestOutput {\n\t\treturn this.build(requestId, deletionPlannedAt);\n\t}\n\n\tstatic buildError(err: Error): QueueDeletionRequestOutput {\n\t\treturn this.build(undefined, undefined, err.toString());\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RabbitMQWrapperModule.html":{"url":"modules/RabbitMQWrapperModule.html","title":"module - RabbitMQWrapperModule","body":"\n \n\n\n\n\n Modules\n RabbitMQWrapperModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/rabbitmq/rabbitmq.module.ts\n \n\n\n\n\n\n \n \n \n \n\n\n \n\n\n \n import { AmqpConnectionManager, RabbitMQModule } from '@golevelup/nestjs-rabbitmq';\nimport { Configuration } from '@hpi-schul-cloud/commons';\nimport { Global, Module, OnModuleDestroy } from '@nestjs/common';\nimport { FilesPreviewExchange, FilesStorageExchange } from './exchange';\n\n/**\n * https://www.npmjs.com/package/@golevelup/nestjs-rabbitmq#usage\n * we want to have the RabbitMQModule globally available, since it provides via a factory the AMQPConnection.\n * You shall not explicitly declare the AMQPConnection in your modules since it will create a new AMQPConnection which will not be initialized!\n *\n * Therefore, the combination of @Global() and export: [RabbitMQModule] is required.\n */\n\nconst imports = [\n\tRabbitMQModule.forRoot(RabbitMQModule, {\n\t\t// Please don't change the global prefetch count, if you need constraint, change it at channel level\n\t\tprefetchCount: 5,\n\t\texchanges: [\n\t\t\t{\n\t\t\t\tname: Configuration.get('MAIL_SEND_EXCHANGE') as string,\n\t\t\t\ttype: 'direct',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: Configuration.get('ANTIVIRUS_EXCHANGE') as string,\n\t\t\t\ttype: 'direct',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: FilesStorageExchange,\n\t\t\t\ttype: 'direct',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: FilesPreviewExchange,\n\t\t\t\ttype: 'direct',\n\t\t\t},\n\t\t],\n\t\turi: Configuration.get('RABBITMQ_URI') as string,\n\t}),\n];\n@Global()\n@Module({\n\timports,\n\texports: [RabbitMQModule],\n})\nexport class RabbitMQWrapperModule {}\n\n@Global()\n@Module({\n\timports,\n\texports: [RabbitMQModule],\n})\nexport class RabbitMQWrapperTestModule implements OnModuleDestroy {\n\tconstructor(private readonly amqpConnectionManager: AmqpConnectionManager) {}\n\n\t// In tests we need to close connections when the module is destroyed.\n\tasync onModuleDestroy() {\n\t\tawait Promise.all(\n\t\t\tthis.amqpConnectionManager.getConnections().map((connection) => connection.managedConnection.close())\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RabbitMQWrapperTestModule.html":{"url":"modules/RabbitMQWrapperTestModule.html","title":"module - RabbitMQWrapperTestModule","body":"\n \n\n\n\n\n Modules\n RabbitMQWrapperTestModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/rabbitmq/rabbitmq.module.ts\n \n\n\n\n\n\n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n onModuleDestroy\n \n \n \n \n \n \n \n onModuleDestroy()\n \n \n\n\n \n \n Defined in apps/server/src/infra/rabbitmq/rabbitmq.module.ts:55\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n\n \n\n\n \n import { AmqpConnectionManager, RabbitMQModule } from '@golevelup/nestjs-rabbitmq';\nimport { Configuration } from '@hpi-schul-cloud/commons';\nimport { Global, Module, OnModuleDestroy } from '@nestjs/common';\nimport { FilesPreviewExchange, FilesStorageExchange } from './exchange';\n\n/**\n * https://www.npmjs.com/package/@golevelup/nestjs-rabbitmq#usage\n * we want to have the RabbitMQModule globally available, since it provides via a factory the AMQPConnection.\n * You shall not explicitly declare the AMQPConnection in your modules since it will create a new AMQPConnection which will not be initialized!\n *\n * Therefore, the combination of @Global() and export: [RabbitMQModule] is required.\n */\n\nconst imports = [\n\tRabbitMQModule.forRoot(RabbitMQModule, {\n\t\t// Please don't change the global prefetch count, if you need constraint, change it at channel level\n\t\tprefetchCount: 5,\n\t\texchanges: [\n\t\t\t{\n\t\t\t\tname: Configuration.get('MAIL_SEND_EXCHANGE') as string,\n\t\t\t\ttype: 'direct',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: Configuration.get('ANTIVIRUS_EXCHANGE') as string,\n\t\t\t\ttype: 'direct',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: FilesStorageExchange,\n\t\t\t\ttype: 'direct',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: FilesPreviewExchange,\n\t\t\t\ttype: 'direct',\n\t\t\t},\n\t\t],\n\t\turi: Configuration.get('RABBITMQ_URI') as string,\n\t}),\n];\n@Global()\n@Module({\n\timports,\n\texports: [RabbitMQModule],\n})\nexport class RabbitMQWrapperModule {}\n\n@Global()\n@Module({\n\timports,\n\texports: [RabbitMQModule],\n})\nexport class RabbitMQWrapperTestModule implements OnModuleDestroy {\n\tconstructor(private readonly amqpConnectionManager: AmqpConnectionManager) {}\n\n\t// In tests we need to close connections when the module is destroyed.\n\tasync onModuleDestroy() {\n\t\tawait Promise.all(\n\t\t\tthis.amqpConnectionManager.getConnections().map((connection) => connection.managedConnection.close())\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ReadableStreamWithFileTypeImp.html":{"url":"classes/ReadableStreamWithFileTypeImp.html","title":"class - ReadableStreamWithFileTypeImp","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ReadableStreamWithFileTypeImp\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/readable-stream-with-file-type.factory.ts\n \n\n\n\n \n Extends\n \n \n Readable\n \n\n \n Implements\n \n \n ReadableStreamWithFileType\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n fileType\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ReadableStreamWithFileTypeProps)\n \n \n \n \n Defined in apps/server/src/shared/testing/factory/readable-stream-with-file-type.factory.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ReadableStreamWithFileTypeProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n fileType\n \n \n \n \n \n \n Type : FileTypeResult\n\n \n \n \n \n Defined in apps/server/src/shared/testing/factory/readable-stream-with-file-type.factory.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { FileTypeResult, ReadableStreamWithFileType } from 'file-type';\nimport { Readable } from 'stream';\nimport { BaseFactory } from './base.factory';\n\ntype ReadableStreamWithFileTypeProps = {\n\tfileType?: FileTypeResult;\n\treadable: Readable;\n};\n\nclass ReadableStreamWithFileTypeImp extends Readable implements ReadableStreamWithFileType {\n\tfileType?: FileTypeResult;\n\n\tconstructor(props: ReadableStreamWithFileTypeProps) {\n\t\tsuper();\n\t\tthis.fileType = props.fileType;\n\t}\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const readableStreamWithFileTypeFactory = BaseFactory.define(ReadableStreamWithFileTypeImp, () => {\n\tconst readable = Readable.from('abc');\n\n\treturn {\n\t\tfileType: {\n\t\t\text: 'png',\n\t\t\tmime: 'image/png',\n\t\t},\n\t\treadable,\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RecursiveCopyVisitor.html":{"url":"classes/RecursiveCopyVisitor.html","title":"class - RecursiveCopyVisitor","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RecursiveCopyVisitor\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts\n \n\n\n\n\n \n Implements\n \n \n BoardCompositeVisitorAsync\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n copyMap\n \n \n resultMap\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n copy\n \n \n getCopiesForChildrenOf\n \n \n getCopyStatusesForChildrenOf\n \n \n Async\n visitCardAsync\n \n \n Async\n visitChildrenOf\n \n \n Async\n visitColumnAsync\n \n \n Async\n visitColumnBoardAsync\n \n \n Async\n visitDrawingElementAsync\n \n \n visitExternalToolElementAsync\n \n \n Async\n visitFileElementAsync\n \n \n Async\n visitLinkElementAsync\n \n \n Async\n visitRichTextElementAsync\n \n \n Async\n visitSubmissionContainerElementAsync\n \n \n Async\n visitSubmissionItemAsync\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(fileCopyService: SchoolSpecificFileCopyService)\n \n \n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:24\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileCopyService\n \n \n SchoolSpecificFileCopyService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n copyMap\n \n \n \n \n \n \n Default value : new Map()\n \n \n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n resultMap\n \n \n \n \n \n \n Default value : new Map()\n \n \n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:22\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n copy\n \n \n \n \n \n \n \n copy(original: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getCopiesForChildrenOf\n \n \n \n \n \n \ngetCopiesForChildrenOf(original: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:273\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : {}\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getCopyStatusesForChildrenOf\n \n \n \n \n \n \ngetCopyStatusesForChildrenOf(original: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:260\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : {}\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitCardAsync\n \n \n \n \n \n \n \n visitCardAsync(original: Card)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:78\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n Card\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitChildrenOf\n \n \n \n \n \n \n \n visitChildrenOf(boardDo: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:256\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitColumnAsync\n \n \n \n \n \n \n \n visitColumnAsync(original: Column)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n Column\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitColumnBoardAsync\n \n \n \n \n \n \n \n visitColumnBoardAsync(original: ColumnBoard)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitDrawingElementAsync\n \n \n \n \n \n \n \n visitDrawingElementAsync(original: DrawingElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:127\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n DrawingElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitExternalToolElementAsync\n \n \n \n \n \n \nvisitExternalToolElementAsync(original: ExternalToolElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:238\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n ExternalToolElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitFileElementAsync\n \n \n \n \n \n \n \n visitFileElementAsync(original: FileElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:97\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n FileElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitLinkElementAsync\n \n \n \n \n \n \n \n visitLinkElementAsync(original: LinkElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:145\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n LinkElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitRichTextElementAsync\n \n \n \n \n \n \n \n visitRichTextElementAsync(original: RichTextElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:192\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n RichTextElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitSubmissionContainerElementAsync\n \n \n \n \n \n \n \n visitSubmissionContainerElementAsync(original: SubmissionContainerElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:211\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n SubmissionContainerElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitSubmissionItemAsync\n \n \n \n \n \n \n \n visitSubmissionItemAsync(original: SubmissionItem)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:229\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { FileRecordParentType } from '@infra/rabbitmq';\nimport { CopyElementType, CopyStatus, CopyStatusEnum } from '@modules/copy-helper';\nimport {\n\tAnyBoardDo,\n\tBoardCompositeVisitorAsync,\n\tCard,\n\tColumn,\n\tColumnBoard,\n\tDrawingElement,\n\tExternalToolElement,\n\tFileElement,\n\tRichTextElement,\n\tSubmissionContainerElement,\n\tSubmissionItem,\n} from '@shared/domain/domainobject';\nimport { LinkElement } from '@shared/domain/domainobject/board/link-element.do';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport { SchoolSpecificFileCopyService } from './school-specific-file-copy.interface';\n\nexport class RecursiveCopyVisitor implements BoardCompositeVisitorAsync {\n\tresultMap = new Map();\n\n\tcopyMap = new Map();\n\n\tconstructor(private readonly fileCopyService: SchoolSpecificFileCopyService) {}\n\n\tasync copy(original: AnyBoardDo): Promise {\n\t\tawait original.acceptAsync(this);\n\n\t\tconst result = this.resultMap.get(original.id);\n\t\t/* istanbul ignore next */\n\t\tif (result === undefined) {\n\t\t\tthrow new Error('nothing copied');\n\t\t}\n\t\treturn result;\n\t}\n\n\tasync visitColumnBoardAsync(original: ColumnBoard): Promise {\n\t\tawait this.visitChildrenOf(original);\n\n\t\tconst copy = new ColumnBoard({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttitle: original.title,\n\t\t\tcontext: original.context,\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t\tchildren: this.getCopiesForChildrenOf(original),\n\t\t});\n\n\t\tthis.resultMap.set(original.id, {\n\t\t\tcopyEntity: copy,\n\t\t\ttype: CopyElementType.COLUMNBOARD,\n\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t\telements: this.getCopyStatusesForChildrenOf(original),\n\t\t});\n\t\tthis.copyMap.set(original.id, copy);\n\t}\n\n\tasync visitColumnAsync(original: Column): Promise {\n\t\tawait this.visitChildrenOf(original);\n\t\tconst copy = new Column({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttitle: original.title,\n\t\t\tchildren: this.getCopiesForChildrenOf(original),\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\t\tthis.resultMap.set(original.id, {\n\t\t\tcopyEntity: copy,\n\t\t\ttype: CopyElementType.COLUMN,\n\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t\telements: this.getCopyStatusesForChildrenOf(original),\n\t\t});\n\t\tthis.copyMap.set(original.id, copy);\n\t}\n\n\tasync visitCardAsync(original: Card): Promise {\n\t\tawait this.visitChildrenOf(original);\n\t\tconst copy = new Card({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttitle: original.title,\n\t\t\theight: original.height,\n\t\t\tchildren: this.getCopiesForChildrenOf(original),\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\t\tthis.resultMap.set(original.id, {\n\t\t\tcopyEntity: copy,\n\t\t\ttype: CopyElementType.CARD,\n\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t\telements: this.getCopyStatusesForChildrenOf(original),\n\t\t});\n\t\tthis.copyMap.set(original.id, copy);\n\t}\n\n\tasync visitFileElementAsync(original: FileElement): Promise {\n\t\tconst copy = new FileElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\tcaption: original.caption,\n\t\t\talternativeText: original.alternativeText,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\t\tconst fileCopy = await this.fileCopyService.copyFilesOfParent({\n\t\t\tsourceParentId: original.id,\n\t\t\ttargetParentId: copy.id,\n\t\t\tparentType: FileRecordParentType.BoardNode,\n\t\t});\n\t\tconst fileCopyStatus = fileCopy.map((copyFileDto) => {\n\t\t\treturn {\n\t\t\t\ttype: CopyElementType.FILE,\n\t\t\t\tstatus: copyFileDto.id ? CopyStatusEnum.SUCCESS : CopyStatusEnum.FAIL,\n\t\t\t\ttitle: copyFileDto.name ?? `(old fileid: ${copyFileDto.sourceId})`,\n\t\t\t};\n\t\t});\n\t\tthis.resultMap.set(original.id, {\n\t\t\tcopyEntity: copy,\n\t\t\ttype: CopyElementType.FILE_ELEMENT,\n\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t\telements: fileCopyStatus,\n\t\t});\n\t\tthis.copyMap.set(original.id, copy);\n\t}\n\n\tasync visitDrawingElementAsync(original: DrawingElement): Promise {\n\t\tconst copy = new DrawingElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\tdescription: original.description,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\t\tthis.resultMap.set(original.id, {\n\t\t\tcopyEntity: copy,\n\t\t\ttype: CopyElementType.DRAWING_ELEMENT,\n\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t});\n\t\tthis.copyMap.set(original.id, copy);\n\n\t\treturn Promise.resolve();\n\t}\n\n\tasync visitLinkElementAsync(original: LinkElement): Promise {\n\t\tconst copy = new LinkElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\turl: original.url,\n\t\t\ttitle: original.title,\n\t\t\timageUrl: original.imageUrl,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\n\t\tconst result: CopyStatus = {\n\t\t\tcopyEntity: copy,\n\t\t\ttype: CopyElementType.LINK_ELEMENT,\n\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t};\n\n\t\tif (original.imageUrl) {\n\t\t\tconst fileCopy = await this.fileCopyService.copyFilesOfParent({\n\t\t\t\tsourceParentId: original.id,\n\t\t\t\ttargetParentId: copy.id,\n\t\t\t\tparentType: FileRecordParentType.BoardNode,\n\t\t\t});\n\t\t\tfileCopy.forEach((copyFileDto) => {\n\t\t\t\tif (copyFileDto.id) {\n\t\t\t\t\tif (copy.imageUrl.includes(copyFileDto.sourceId)) {\n\t\t\t\t\t\tcopy.imageUrl = copy.imageUrl.replace(copyFileDto.sourceId, copyFileDto.id);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcopy.imageUrl = '';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\tconst fileCopyStatus = fileCopy.map((copyFileDto) => {\n\t\t\t\treturn {\n\t\t\t\t\ttype: CopyElementType.FILE,\n\t\t\t\t\tstatus: copyFileDto.id ? CopyStatusEnum.SUCCESS : CopyStatusEnum.FAIL,\n\t\t\t\t\ttitle: copyFileDto.name ?? `(old fileid: ${copyFileDto.sourceId})`,\n\t\t\t\t};\n\t\t\t});\n\t\t\tresult.elements = fileCopyStatus;\n\t\t}\n\t\tthis.resultMap.set(original.id, result);\n\t\tthis.copyMap.set(original.id, copy);\n\n\t\treturn Promise.resolve();\n\t}\n\n\tasync visitRichTextElementAsync(original: RichTextElement): Promise {\n\t\tconst copy = new RichTextElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttext: original.text,\n\t\t\tinputFormat: original.inputFormat,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\t\tthis.resultMap.set(original.id, {\n\t\t\tcopyEntity: copy,\n\t\t\ttype: CopyElementType.RICHTEXT_ELEMENT,\n\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t});\n\t\tthis.copyMap.set(original.id, copy);\n\n\t\treturn Promise.resolve();\n\t}\n\n\tasync visitSubmissionContainerElementAsync(original: SubmissionContainerElement): Promise {\n\t\tawait this.visitChildrenOf(original);\n\t\tconst copy = new SubmissionContainerElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\tdueDate: original.dueDate,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\t\tthis.resultMap.set(original.id, {\n\t\t\tcopyEntity: copy,\n\t\t\ttype: CopyElementType.SUBMISSION_CONTAINER_ELEMENT,\n\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t\telements: this.getCopyStatusesForChildrenOf(original),\n\t\t});\n\t\tthis.copyMap.set(original.id, copy);\n\t}\n\n\tasync visitSubmissionItemAsync(original: SubmissionItem): Promise {\n\t\tthis.resultMap.set(original.id, {\n\t\t\ttype: CopyElementType.SUBMISSION_ITEM,\n\t\t\tstatus: CopyStatusEnum.NOT_DOING,\n\t\t});\n\n\t\treturn Promise.resolve();\n\t}\n\n\tvisitExternalToolElementAsync(original: ExternalToolElement): Promise {\n\t\tconst copy = new ExternalToolElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\tcontextExternalToolId: undefined,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\t\tthis.resultMap.set(original.id, {\n\t\t\tcopyEntity: copy,\n\t\t\ttype: CopyElementType.EXTERNAL_TOOL_ELEMENT,\n\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t});\n\t\tthis.copyMap.set(original.id, copy);\n\n\t\treturn Promise.resolve();\n\t}\n\n\tasync visitChildrenOf(boardDo: AnyBoardDo) {\n\t\treturn Promise.allSettled(boardDo.children.map((child) => child.acceptAsync(this)));\n\t}\n\n\tgetCopyStatusesForChildrenOf(original: AnyBoardDo) {\n\t\tconst childstatusses: CopyStatus[] = [];\n\n\t\toriginal.children.forEach((child) => {\n\t\t\tconst childStatus = this.resultMap.get(child.id);\n\t\t\tif (childStatus) {\n\t\t\t\tchildstatusses.push(childStatus);\n\t\t\t}\n\t\t});\n\n\t\treturn childstatusses;\n\t}\n\n\tgetCopiesForChildrenOf(original: AnyBoardDo) {\n\t\tconst copies: AnyBoardDo[] = [];\n\t\toriginal.children.forEach((child) => {\n\t\t\tconst childCopy = this.copyMap.get(child.id);\n\t\t\tif (childCopy) {\n\t\t\t\tcopies.push(childCopy);\n\t\t\t}\n\t\t});\n\n\t\treturn copies;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RecursiveDeleteVisitor.html":{"url":"injectables/RecursiveDeleteVisitor.html","title":"injectable - RecursiveDeleteVisitor","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RecursiveDeleteVisitor\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/repo/recursive-delete.vistor.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n deleteNode\n \n \n Async\n visitCardAsync\n \n \n Async\n visitChildrenAsync\n \n \n Async\n visitColumnAsync\n \n \n Async\n visitColumnBoardAsync\n \n \n Async\n visitDrawingElementAsync\n \n \n Async\n visitExternalToolElementAsync\n \n \n Async\n visitFileElementAsync\n \n \n Async\n visitLinkElementAsync\n \n \n Async\n visitRichTextElementAsync\n \n \n Async\n visitSubmissionContainerElementAsync\n \n \n Async\n visitSubmissionItemAsync\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager, filesStorageClientAdapterService: FilesStorageClientAdapterService, contextExternalToolService: ContextExternalToolService, drawingElementAdapterService: DrawingElementAdapterService)\n \n \n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:24\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n filesStorageClientAdapterService\n \n \n FilesStorageClientAdapterService\n \n \n \n No\n \n \n \n \n contextExternalToolService\n \n \n ContextExternalToolService\n \n \n \n No\n \n \n \n \n drawingElementAdapterService\n \n \n DrawingElementAdapterService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n deleteNode\n \n \n \n \n \n \ndeleteNode(domainObject: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:99\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitCardAsync\n \n \n \n \n \n \n \n visitCardAsync(card: Card)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n card\n \n Card\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitChildrenAsync\n \n \n \n \n \n \n \n visitChildrenAsync(domainObject: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:103\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitColumnAsync\n \n \n \n \n \n \n \n visitColumnAsync(column: Column)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n column\n \n Column\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitColumnBoardAsync\n \n \n \n \n \n \n \n visitColumnBoardAsync(columnBoard: ColumnBoard)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n columnBoard\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitDrawingElementAsync\n \n \n \n \n \n \n \n visitDrawingElementAsync(drawingElement: DrawingElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:66\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n drawingElement\n \n DrawingElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitExternalToolElementAsync\n \n \n \n \n \n \n \n visitExternalToolElementAsync(externalToolElement: ExternalToolElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:83\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolElement\n \n ExternalToolElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitFileElementAsync\n \n \n \n \n \n \n \n visitFileElementAsync(fileElement: FileElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:47\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileElement\n \n FileElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitLinkElementAsync\n \n \n \n \n \n \n \n visitLinkElementAsync(linkElement: LinkElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:54\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n linkElement\n \n LinkElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitRichTextElementAsync\n \n \n \n \n \n \n \n visitRichTextElementAsync(richTextElement: RichTextElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n richTextElement\n \n RichTextElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitSubmissionContainerElementAsync\n \n \n \n \n \n \n \n visitSubmissionContainerElementAsync(submissionContainerElement: SubmissionContainerElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionContainerElement\n \n SubmissionContainerElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitSubmissionItemAsync\n \n \n \n \n \n \n \n visitSubmissionItemAsync(submission: SubmissionItem)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:78\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submission\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager } from '@mikro-orm/mongodb';\nimport { FilesStorageClientAdapterService } from '@modules/files-storage-client';\nimport { DrawingElementAdapterService } from '@modules/tldraw-client/service/drawing-element-adapter.service';\nimport { ContextExternalTool } from '@modules/tool/context-external-tool/domain';\nimport { ContextExternalToolService } from '@modules/tool/context-external-tool/service';\nimport { Injectable } from '@nestjs/common';\nimport {\n\tAnyBoardDo,\n\tBoardCompositeVisitorAsync,\n\tCard,\n\tColumn,\n\tColumnBoard,\n\tExternalToolElement,\n\tFileElement,\n\tRichTextElement,\n\tSubmissionContainerElement,\n\tSubmissionItem,\n} from '@shared/domain/domainobject';\nimport { DrawingElement } from '@shared/domain/domainobject/board/drawing-element.do';\nimport { LinkElement } from '@shared/domain/domainobject/board/link-element.do';\nimport { BoardNode } from '@shared/domain/entity';\n\n@Injectable()\nexport class RecursiveDeleteVisitor implements BoardCompositeVisitorAsync {\n\tconstructor(\n\t\tprivate readonly em: EntityManager,\n\t\tprivate readonly filesStorageClientAdapterService: FilesStorageClientAdapterService,\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService,\n\t\tprivate readonly drawingElementAdapterService: DrawingElementAdapterService\n\t) {}\n\n\tasync visitColumnBoardAsync(columnBoard: ColumnBoard): Promise {\n\t\tthis.deleteNode(columnBoard);\n\t\tawait this.visitChildrenAsync(columnBoard);\n\t}\n\n\tasync visitColumnAsync(column: Column): Promise {\n\t\tthis.deleteNode(column);\n\t\tawait this.visitChildrenAsync(column);\n\t}\n\n\tasync visitCardAsync(card: Card): Promise {\n\t\tthis.deleteNode(card);\n\t\tawait this.visitChildrenAsync(card);\n\t}\n\n\tasync visitFileElementAsync(fileElement: FileElement): Promise {\n\t\tawait this.filesStorageClientAdapterService.deleteFilesOfParent(fileElement.id);\n\t\tthis.deleteNode(fileElement);\n\n\t\tawait this.visitChildrenAsync(fileElement);\n\t}\n\n\tasync visitLinkElementAsync(linkElement: LinkElement): Promise {\n\t\tawait this.filesStorageClientAdapterService.deleteFilesOfParent(linkElement.id);\n\t\tthis.deleteNode(linkElement);\n\n\t\tawait this.visitChildrenAsync(linkElement);\n\t}\n\n\tasync visitRichTextElementAsync(richTextElement: RichTextElement): Promise {\n\t\tthis.deleteNode(richTextElement);\n\t\tawait this.visitChildrenAsync(richTextElement);\n\t}\n\n\tasync visitDrawingElementAsync(drawingElement: DrawingElement): Promise {\n\t\tawait this.drawingElementAdapterService.deleteDrawingBinData(drawingElement.id);\n\n\t\tthis.deleteNode(drawingElement);\n\t\tawait this.visitChildrenAsync(drawingElement);\n\t}\n\n\tasync visitSubmissionContainerElementAsync(submissionContainerElement: SubmissionContainerElement): Promise {\n\t\tthis.deleteNode(submissionContainerElement);\n\t\tawait this.visitChildrenAsync(submissionContainerElement);\n\t}\n\n\tasync visitSubmissionItemAsync(submission: SubmissionItem): Promise {\n\t\tthis.deleteNode(submission);\n\t\tawait this.visitChildrenAsync(submission);\n\t}\n\n\tasync visitExternalToolElementAsync(externalToolElement: ExternalToolElement): Promise {\n\t\tif (externalToolElement.contextExternalToolId) {\n\t\t\tconst linkedTool: ContextExternalTool | null = await this.contextExternalToolService.findById(\n\t\t\t\texternalToolElement.contextExternalToolId\n\t\t\t);\n\n\t\t\tif (linkedTool) {\n\t\t\t\tawait this.contextExternalToolService.deleteContextExternalTool(linkedTool);\n\t\t\t}\n\t\t}\n\n\t\tthis.deleteNode(externalToolElement);\n\n\t\tawait this.visitChildrenAsync(externalToolElement);\n\t}\n\n\tdeleteNode(domainObject: AnyBoardDo): void {\n\t\tthis.em.remove(this.em.getReference(BoardNode, domainObject.id));\n\t}\n\n\tasync visitChildrenAsync(domainObject: AnyBoardDo): Promise {\n\t\tawait Promise.all(domainObject.children.map(async (child) => child.acceptAsync(this)));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RecursiveSaveVisitor.html":{"url":"classes/RecursiveSaveVisitor.html","title":"class - RecursiveSaveVisitor","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RecursiveSaveVisitor\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/repo/recursive-save.visitor.ts\n \n\n\n\n\n \n Implements\n \n \n BoardCompositeVisitor\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n parentsMap\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n createOrUpdateBoardNode\n \n \n Private\n registerParentData\n \n \n Async\n save\n \n \n Private\n saveRecursive\n \n \n visitCard\n \n \n Private\n visitChildren\n \n \n visitColumn\n \n \n visitColumnBoard\n \n \n visitDrawingElement\n \n \n visitExternalToolElement\n \n \n visitFileElement\n \n \n visitLinkElement\n \n \n visitRichTextElement\n \n \n visitSubmissionContainerElement\n \n \n visitSubmissionItem\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager, boardNodeRepo: BoardNodeRepo)\n \n \n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:41\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n boardNodeRepo\n \n \n BoardNodeRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n parentsMap\n \n \n \n \n \n \n Type : Map\n\n \n \n \n \n Default value : new Map()\n \n \n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:41\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n createOrUpdateBoardNode\n \n \n \n \n \n \ncreateOrUpdateBoardNode(boardNode: BoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:220\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n registerParentData\n \n \n \n \n \n \n \n registerParentData(parent: AnyBoardDo, child: AnyBoardDo, parentNode: BoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:206\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n parent\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n parentNode\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(domainObject: AnyBoardDo | AnyBoardDo[], parent?: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n AnyBoardDo | AnyBoardDo[]\n \n\n \n No\n \n\n\n \n \n parent\n \n AnyBoardDo\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n saveRecursive\n \n \n \n \n \n \n \n saveRecursive(boardNode: BoardNode, anyBoardDo: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:214\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n anyBoardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitCard\n \n \n \n \n \n \nvisitCard(card: Card)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:86\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n card\n \n Card\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n visitChildren\n \n \n \n \n \n \n \n visitChildren(parent: AnyBoardDo, parentNode: BoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:199\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n parent\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n parentNode\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitColumn\n \n \n \n \n \n \nvisitColumn(column: Column)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n column\n \n Column\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitColumnBoard\n \n \n \n \n \n \nvisitColumnBoard(columnBoard: ColumnBoard)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:59\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n columnBoard\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitDrawingElement\n \n \n \n \n \n \nvisitDrawingElement(drawingElement: DrawingElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:144\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n drawingElement\n \n DrawingElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitExternalToolElement\n \n \n \n \n \n \nvisitExternalToolElement(externalToolElement: ExternalToolElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:183\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolElement\n \n ExternalToolElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitFileElement\n \n \n \n \n \n \nvisitFileElement(fileElement: FileElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:100\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileElement\n \n FileElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitLinkElement\n \n \n \n \n \n \nvisitLinkElement(linkElement: LinkElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:114\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n linkElement\n \n LinkElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitRichTextElement\n \n \n \n \n \n \nvisitRichTextElement(richTextElement: RichTextElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:130\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n richTextElement\n \n RichTextElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitSubmissionContainerElement\n \n \n \n \n \n \nvisitSubmissionContainerElement(submissionContainerElement: SubmissionContainerElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:157\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionContainerElement\n \n SubmissionContainerElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitSubmissionItem\n \n \n \n \n \n \nvisitSubmissionItem(submissionItem: SubmissionItem)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:170\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionItem\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Utils } from '@mikro-orm/core';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { ContextExternalToolEntity } from '@modules/tool/context-external-tool/entity';\nimport {\n\tAnyBoardDo,\n\tBoardCompositeVisitor,\n\tCard,\n\tColumn,\n\tColumnBoard,\n\tExternalToolElement,\n\tFileElement,\n\tRichTextElement,\n\tSubmissionContainerElement,\n\tSubmissionItem,\n} from '@shared/domain/domainobject';\nimport { DrawingElement } from '@shared/domain/domainobject/board/drawing-element.do';\nimport { LinkElement } from '@shared/domain/domainobject/board/link-element.do';\nimport {\n\tBoardNode,\n\tCardNode,\n\tColumnBoardNode,\n\tColumnNode,\n\tExternalToolElementNodeEntity,\n\tFileElementNode,\n\tRichTextElementNode,\n\tSubmissionContainerElementNode,\n\tSubmissionItemNode,\n} from '@shared/domain/entity';\nimport { DrawingElementNode } from '@shared/domain/entity/boardnode/drawing-element-node.entity';\nimport { LinkElementNode } from '@shared/domain/entity/boardnode/link-element-node.entity';\nimport { EntityId } from '@shared/domain/types';\n\nimport { BoardNodeRepo } from './board-node.repo';\n\ntype ParentData = {\n\tboardNode: BoardNode;\n\tposition: number;\n};\n\nexport class RecursiveSaveVisitor implements BoardCompositeVisitor {\n\tprivate parentsMap: Map = new Map();\n\n\tconstructor(private readonly em: EntityManager, private readonly boardNodeRepo: BoardNodeRepo) {}\n\n\tasync save(domainObject: AnyBoardDo | AnyBoardDo[], parent?: AnyBoardDo): Promise {\n\t\tconst domainObjects = Utils.asArray(domainObject);\n\n\t\tif (parent) {\n\t\t\tconst parentNode = await this.boardNodeRepo.findById(parent.id);\n\n\t\t\tdomainObjects.forEach((child) => {\n\t\t\t\tthis.registerParentData(parent, child, parentNode);\n\t\t\t});\n\t\t}\n\n\t\tdomainObjects.forEach((child) => child.accept(this));\n\t}\n\n\tvisitColumnBoard(columnBoard: ColumnBoard): void {\n\t\tconst parentData = this.parentsMap.get(columnBoard.id);\n\n\t\tconst boardNode = new ColumnBoardNode({\n\t\t\tid: columnBoard.id,\n\t\t\ttitle: columnBoard.title,\n\t\t\tparent: parentData?.boardNode,\n\t\t\tposition: parentData?.position,\n\t\t\tcontext: columnBoard.context,\n\t\t});\n\n\t\tthis.saveRecursive(boardNode, columnBoard);\n\t}\n\n\tvisitColumn(column: Column): void {\n\t\tconst parentData = this.parentsMap.get(column.id);\n\n\t\tconst boardNode = new ColumnNode({\n\t\t\tid: column.id,\n\t\t\ttitle: column.title,\n\t\t\tparent: parentData?.boardNode,\n\t\t\tposition: parentData?.position,\n\t\t});\n\n\t\tthis.saveRecursive(boardNode, column);\n\t}\n\n\tvisitCard(card: Card): void {\n\t\tconst parentData = this.parentsMap.get(card.id);\n\n\t\tconst boardNode = new CardNode({\n\t\t\tid: card.id,\n\t\t\theight: card.height,\n\t\t\ttitle: card.title,\n\t\t\tparent: parentData?.boardNode,\n\t\t\tposition: parentData?.position,\n\t\t});\n\n\t\tthis.saveRecursive(boardNode, card);\n\t}\n\n\tvisitFileElement(fileElement: FileElement): void {\n\t\tconst parentData = this.parentsMap.get(fileElement.id);\n\n\t\tconst boardNode = new FileElementNode({\n\t\t\tid: fileElement.id,\n\t\t\tcaption: fileElement.caption,\n\t\t\talternativeText: fileElement.alternativeText,\n\t\t\tparent: parentData?.boardNode,\n\t\t\tposition: parentData?.position,\n\t\t});\n\n\t\tthis.saveRecursive(boardNode, fileElement);\n\t}\n\n\tvisitLinkElement(linkElement: LinkElement): void {\n\t\tconst parentData = this.parentsMap.get(linkElement.id);\n\n\t\tconst boardNode = new LinkElementNode({\n\t\t\tid: linkElement.id,\n\t\t\turl: linkElement.url,\n\t\t\ttitle: linkElement.title,\n\t\t\timageUrl: linkElement.imageUrl,\n\t\t\tparent: parentData?.boardNode,\n\t\t\tposition: parentData?.position,\n\t\t});\n\n\t\tthis.createOrUpdateBoardNode(boardNode);\n\t\tthis.visitChildren(linkElement, boardNode);\n\t}\n\n\tvisitRichTextElement(richTextElement: RichTextElement): void {\n\t\tconst parentData = this.parentsMap.get(richTextElement.id);\n\n\t\tconst boardNode = new RichTextElementNode({\n\t\t\tid: richTextElement.id,\n\t\t\ttext: richTextElement.text,\n\t\t\tinputFormat: richTextElement.inputFormat,\n\t\t\tparent: parentData?.boardNode,\n\t\t\tposition: parentData?.position,\n\t\t});\n\n\t\tthis.saveRecursive(boardNode, richTextElement);\n\t}\n\n\tvisitDrawingElement(drawingElement: DrawingElement): void {\n\t\tconst parentData = this.parentsMap.get(drawingElement.id);\n\n\t\tconst boardNode = new DrawingElementNode({\n\t\t\tid: drawingElement.id,\n\t\t\tdescription: drawingElement.description ?? '',\n\t\t\tparent: parentData?.boardNode,\n\t\t\tposition: parentData?.position,\n\t\t});\n\n\t\tthis.saveRecursive(boardNode, drawingElement);\n\t}\n\n\tvisitSubmissionContainerElement(submissionContainerElement: SubmissionContainerElement): void {\n\t\tconst parentData = this.parentsMap.get(submissionContainerElement.id);\n\n\t\tconst boardNode = new SubmissionContainerElementNode({\n\t\t\tid: submissionContainerElement.id,\n\t\t\tparent: parentData?.boardNode,\n\t\t\tposition: parentData?.position,\n\t\t\tdueDate: submissionContainerElement.dueDate,\n\t\t});\n\n\t\tthis.saveRecursive(boardNode, submissionContainerElement);\n\t}\n\n\tvisitSubmissionItem(submissionItem: SubmissionItem): void {\n\t\tconst parentData = this.parentsMap.get(submissionItem.id);\n\t\tconst boardNode = new SubmissionItemNode({\n\t\t\tid: submissionItem.id,\n\t\t\tparent: parentData?.boardNode,\n\t\t\tposition: parentData?.position,\n\t\t\tcompleted: submissionItem.completed,\n\t\t\tuserId: submissionItem.userId,\n\t\t});\n\n\t\tthis.saveRecursive(boardNode, submissionItem);\n\t}\n\n\tvisitExternalToolElement(externalToolElement: ExternalToolElement): void {\n\t\tconst parentData: ParentData | undefined = this.parentsMap.get(externalToolElement.id);\n\n\t\tconst boardNode: ExternalToolElementNodeEntity = new ExternalToolElementNodeEntity({\n\t\t\tid: externalToolElement.id,\n\t\t\tcontextExternalTool: externalToolElement.contextExternalToolId\n\t\t\t\t? this.em.getReference(ContextExternalToolEntity, externalToolElement.contextExternalToolId)\n\t\t\t\t: undefined,\n\t\t\tparent: parentData?.boardNode,\n\t\t\tposition: parentData?.position,\n\t\t});\n\n\t\tthis.createOrUpdateBoardNode(boardNode);\n\t\tthis.visitChildren(externalToolElement, boardNode);\n\t}\n\n\tprivate visitChildren(parent: AnyBoardDo, parentNode: BoardNode) {\n\t\tparent.children.forEach((child) => {\n\t\t\tthis.registerParentData(parent, child, parentNode);\n\t\t\tchild.accept(this);\n\t\t});\n\t}\n\n\tprivate registerParentData(parent: AnyBoardDo, child: AnyBoardDo, parentNode: BoardNode) {\n\t\tconst position = parent.children.findIndex((obj) => obj.id === child.id);\n\t\tif (position === -1) {\n\t\t\tthrow new Error(`Cannot get child position. Child doesnt belong to parent`);\n\t\t}\n\t\tthis.parentsMap.set(child.id, { boardNode: parentNode, position });\n\t}\n\n\tprivate saveRecursive(boardNode: BoardNode, anyBoardDo: AnyBoardDo): void {\n\t\tthis.createOrUpdateBoardNode(boardNode);\n\t\tthis.visitChildren(anyBoardDo, boardNode);\n\t}\n\n\t// TODO make private (change tests)\n\tcreateOrUpdateBoardNode(boardNode: BoardNode): void {\n\t\tconst existing = this.em.getUnitOfWork().getById(BoardNode.name, boardNode.id);\n\t\tif (existing) {\n\t\t\tthis.em.assign(existing, boardNode);\n\t\t} else {\n\t\t\tthis.em.persist(boardNode);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RedirectResponse.html":{"url":"classes/RedirectResponse.html","title":"class - RedirectResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RedirectResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/response/redirect.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n redirect_to\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(redirectReponse: RedirectResponse)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/redirect.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n redirectReponse\n \n \n RedirectResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n redirect_to\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'RedirectURL is the URL which you should redirect the user to once the authentication process is completed.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/redirect.response.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class RedirectResponse {\n\tconstructor(redirectReponse: RedirectResponse) {\n\t\tthis.redirect_to = redirectReponse.redirect_to;\n\t}\n\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'RedirectURL is the URL which you should redirect the user to once the authentication process is completed.',\n\t})\n\tredirect_to: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RedisModule.html":{"url":"modules/RedisModule.html","title":"module - RedisModule","body":"\n \n\n\n\n\n Modules\n RedisModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_RedisModule\n\n\n\ncluster_RedisModule_imports\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nRedisModule\n\nRedisModule\n\nRedisModule -->\n\nLoggerModule->RedisModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/redis/redis.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n LoggerModule\n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { Module } from '@nestjs/common';\nimport { LegacyLogger, LoggerModule } from '@src/core/logger';\nimport { createClient, RedisClient } from 'redis';\nimport { REDIS_CLIENT } from './interface/redis.constants';\n\n@Module({\n\timports: [LoggerModule],\n\tproviders: [\n\t\t{\n\t\t\tprovide: REDIS_CLIENT,\n\t\t\tuseFactory: (logger: LegacyLogger) => {\n\t\t\t\tlogger.setContext(RedisModule.name);\n\n\t\t\t\tif (Configuration.has('REDIS_URI')) {\n\t\t\t\t\tconst redisUrl: string = Configuration.get('REDIS_URI') as string;\n\t\t\t\t\tconst client: RedisClient = createClient({ url: redisUrl });\n\n\t\t\t\t\tclient.on('error', (error) => logger.error(error));\n\t\t\t\t\tclient.on('connect', (msg) => logger.log(msg));\n\n\t\t\t\t\treturn client;\n\t\t\t\t}\n\n\t\t\t\treturn undefined;\n\t\t\t},\n\t\t\tinject: [LegacyLogger],\n\t\t},\n\t],\n\texports: [REDIS_CLIENT],\n})\nexport class RedisModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ReferenceLoader.html":{"url":"injectables/ReferenceLoader.html","title":"injectable - ReferenceLoader","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ReferenceLoader\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/service/reference.loader.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n repos\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n loadAuthorizableObject\n \n \n Private\n resolveRepo\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userRepo: UserRepo, courseRepo: CourseRepo, courseGroupRepo: CourseGroupRepo, taskRepo: TaskRepo, schoolRepo: LegacySchoolRepo, lessonService: LessonService, teamsRepo: TeamsRepo, submissionRepo: SubmissionRepo, schoolExternalToolRepo: SchoolExternalToolRepo, boardNodeAuthorizableService: BoardDoAuthorizableService, contextExternalToolAuthorizableService: ContextExternalToolAuthorizableService)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/service/reference.loader.ts:41\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userRepo\n \n \n UserRepo\n \n \n \n No\n \n \n \n \n courseRepo\n \n \n CourseRepo\n \n \n \n No\n \n \n \n \n courseGroupRepo\n \n \n CourseGroupRepo\n \n \n \n No\n \n \n \n \n taskRepo\n \n \n TaskRepo\n \n \n \n No\n \n \n \n \n schoolRepo\n \n \n LegacySchoolRepo\n \n \n \n No\n \n \n \n \n lessonService\n \n \n LessonService\n \n \n \n No\n \n \n \n \n teamsRepo\n \n \n TeamsRepo\n \n \n \n No\n \n \n \n \n submissionRepo\n \n \n SubmissionRepo\n \n \n \n No\n \n \n \n \n schoolExternalToolRepo\n \n \n SchoolExternalToolRepo\n \n \n \n No\n \n \n \n \n boardNodeAuthorizableService\n \n \n BoardDoAuthorizableService\n \n \n \n No\n \n \n \n \n contextExternalToolAuthorizableService\n \n \n ContextExternalToolAuthorizableService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n loadAuthorizableObject\n \n \n \n \n \n \n \n loadAuthorizableObject(objectName: AuthorizableReferenceType, objectId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/reference.loader.ts:79\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n objectName\n \n AuthorizableReferenceType\n \n\n \n No\n \n\n\n \n \n objectId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n resolveRepo\n \n \n \n \n \n \n \n resolveRepo(type: AuthorizableReferenceType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/reference.loader.ts:71\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n AuthorizableReferenceType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RepoLoader\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n repos\n \n \n \n \n \n \n Type : Map\n\n \n \n \n \n Default value : new Map()\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/service/reference.loader.ts:41\n \n \n\n\n \n \n\n\n \n\n\n \n import { BoardDoAuthorizableService } from '@modules/board';\n\nimport { LessonService } from '@modules/lesson';\nimport { ContextExternalToolAuthorizableService } from '@modules/tool';\nimport { Injectable, NotImplementedException } from '@nestjs/common';\nimport { AuthorizableObject } from '@shared/domain/domain-object';\nimport { BaseDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport {\n\tCourseGroupRepo,\n\tCourseRepo,\n\tLegacySchoolRepo,\n\tSchoolExternalToolRepo,\n\tSubmissionRepo,\n\tTaskRepo,\n\tTeamsRepo,\n\tUserRepo,\n} from '@shared/repo';\nimport { AuthorizableReferenceType } from '../type';\n\ntype RepoType =\n\t| TaskRepo\n\t| CourseRepo\n\t| UserRepo\n\t| LegacySchoolRepo\n\t| TeamsRepo\n\t| CourseGroupRepo\n\t| SubmissionRepo\n\t| SchoolExternalToolRepo\n\t| BoardDoAuthorizableService\n\t| ContextExternalToolAuthorizableService\n\t| LessonService;\n\ninterface RepoLoader {\n\trepo: RepoType;\n\tpopulate?: boolean;\n}\n\n@Injectable()\nexport class ReferenceLoader {\n\tprivate repos: Map = new Map();\n\n\tconstructor(\n\t\tprivate readonly userRepo: UserRepo,\n\t\tprivate readonly courseRepo: CourseRepo,\n\t\tprivate readonly courseGroupRepo: CourseGroupRepo,\n\t\tprivate readonly taskRepo: TaskRepo,\n\t\tprivate readonly schoolRepo: LegacySchoolRepo,\n\t\tprivate readonly lessonService: LessonService,\n\t\tprivate readonly teamsRepo: TeamsRepo,\n\t\tprivate readonly submissionRepo: SubmissionRepo,\n\t\tprivate readonly schoolExternalToolRepo: SchoolExternalToolRepo,\n\t\tprivate readonly boardNodeAuthorizableService: BoardDoAuthorizableService,\n\t\tprivate readonly contextExternalToolAuthorizableService: ContextExternalToolAuthorizableService\n\t) {\n\t\tthis.repos.set(AuthorizableReferenceType.Task, { repo: this.taskRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.Course, { repo: this.courseRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.CourseGroup, { repo: this.courseGroupRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.User, { repo: this.userRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.School, { repo: this.schoolRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.Lesson, { repo: this.lessonService });\n\t\tthis.repos.set(AuthorizableReferenceType.Team, { repo: this.teamsRepo, populate: true });\n\t\tthis.repos.set(AuthorizableReferenceType.Submission, { repo: this.submissionRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.SchoolExternalToolEntity, { repo: this.schoolExternalToolRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.BoardNode, { repo: this.boardNodeAuthorizableService });\n\t\tthis.repos.set(AuthorizableReferenceType.ContextExternalToolEntity, {\n\t\t\trepo: this.contextExternalToolAuthorizableService,\n\t\t});\n\t}\n\n\tprivate resolveRepo(type: AuthorizableReferenceType): RepoLoader {\n\t\tconst repo = this.repos.get(type);\n\t\tif (repo) {\n\t\t\treturn repo;\n\t\t}\n\t\tthrow new NotImplementedException('REPO_OR_SERVICE_NOT_IMPLEMENT');\n\t}\n\n\tasync loadAuthorizableObject(\n\t\tobjectName: AuthorizableReferenceType,\n\t\tobjectId: EntityId\n\t): Promise {\n\t\tconst repoLoader: RepoLoader = this.resolveRepo(objectName);\n\n\t\tlet object: AuthorizableObject | BaseDO;\n\t\tif (repoLoader.populate) {\n\t\t\tobject = await repoLoader.repo.findById(objectId, true);\n\t\t} else {\n\t\t\tobject = await repoLoader.repo.findById(objectId);\n\t\t}\n\n\t\treturn object;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ReferencedEntityNotFoundLoggable.html":{"url":"classes/ReferencedEntityNotFoundLoggable.html","title":"class - ReferencedEntityNotFoundLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ReferencedEntityNotFoundLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/loggable/referenced-entity-not-found-loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(sourceEntityName: string, sourceEntityId: EntityId, referencedEntityName: string, referencedEntityId: EntityId)\n \n \n \n \n Defined in apps/server/src/shared/common/loggable/referenced-entity-not-found-loggable.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n sourceEntityName\n \n \n string\n \n \n \n No\n \n \n \n \n sourceEntityId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n referencedEntityName\n \n \n string\n \n \n \n No\n \n \n \n \n referencedEntityId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/shared/common/loggable/referenced-entity-not-found-loggable.ts:12\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { EntityId } from '../../domain/types';\n\nexport class ReferencedEntityNotFoundLoggable implements Loggable {\n\tconstructor(\n\t\tprivate readonly sourceEntityName: string,\n\t\tprivate readonly sourceEntityId: EntityId,\n\t\tprivate readonly referencedEntityName: string,\n\t\tprivate readonly referencedEntityId: EntityId\n\t) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'The requested entity could not been found, but it is still referenced.',\n\t\t\tdata: {\n\t\t\t\treferencedEntityName: this.referencedEntityName,\n\t\t\t\treferencedEntityId: this.referencedEntityId,\n\t\t\t\tsourceEntityName: this.sourceEntityName,\n\t\t\t\tsourceEntityId: this.sourceEntityId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ReferencesService.html":{"url":"classes/ReferencesService.html","title":"class - ReferencesService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ReferencesService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/services/references.service.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n loadFromTxtFile\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n loadFromTxtFile\n \n \n \n \n \n \n \n loadFromTxtFile(filePath: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/references.service.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n filePath\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string[]\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import fs from 'fs';\n\nexport class ReferencesService {\n\tstatic loadFromTxtFile(filePath: string): string[] {\n\t\tlet fileContent = fs.readFileSync(filePath).toString();\n\n\t\t// Replace all the CRLF occurrences with just a LF.\n\t\tfileContent = fileContent.replace(/\\r\\n?/g, '\\n');\n\n\t\t// Split the whole file content by a line feed (LF) char (\\n).\n\t\tconst fileLines = fileContent.split('\\n');\n\n\t\tconst references: string[] = [];\n\n\t\t// Iterate over all the file lines and if it contains a valid id (which is\n\t\t// basically any non-empty string), add it to the loaded references array.\n\t\tfileLines.forEach((fileLine) => {\n\t\t\tconst reference = fileLine.trim();\n\n\t\t\tif (reference && reference.length > 0) {\n\t\t\t\treferences.push(reference);\n\t\t\t}\n\t\t});\n\n\t\treturn references;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/RegistrationPinEntity.html":{"url":"entities/RegistrationPinEntity.html","title":"entity - RegistrationPinEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n RegistrationPinEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/registration-pin/entity/registration-pin.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n email\n \n \n \n \n importHash\n \n \n \n pin\n \n \n \n verified\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n email\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()@Index()\n \n \n \n \n \n Defined in apps/server/src/modules/registration-pin/entity/registration-pin.entity.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n importHash\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()@Index()\n \n \n \n \n \n Defined in apps/server/src/modules/registration-pin/entity/registration-pin.entity.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n pin\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/registration-pin/entity/registration-pin.entity.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n verified\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({default: false})\n \n \n \n \n \n Defined in apps/server/src/modules/registration-pin/entity/registration-pin.entity.ts:24\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Index, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface RegistrationPinEntityProps {\n\tid?: EntityId;\n\temail: string;\n\tpin: string;\n\tverified: boolean;\n\timportHash: string;\n}\n\n@Entity({ tableName: 'registrationpins' })\n@Index({ properties: ['email', 'pin'] })\nexport class RegistrationPinEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Index()\n\temail: string;\n\n\t@Property()\n\tpin: string;\n\n\t@Property({ default: false })\n\tverified: boolean;\n\n\t@Property()\n\t@Index()\n\timportHash: string;\n\n\tconstructor(props: RegistrationPinEntityProps) {\n\t\tsuper();\n\t\tif (props.id !== undefined) {\n\t\t\tthis.id = props.id;\n\t\t}\n\t\tthis.email = props.email;\n\t\tthis.pin = props.pin;\n\t\tthis.verified = props.verified;\n\t\tthis.importHash = props.importHash;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RegistrationPinEntityProps.html":{"url":"interfaces/RegistrationPinEntityProps.html","title":"interface - RegistrationPinEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RegistrationPinEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/registration-pin/entity/registration-pin.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n email\n \n \n \n Optional\n \n id\n \n \n \n \n importHash\n \n \n \n \n pin\n \n \n \n \n verified\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n email\n \n \n \n \n \n \n \n \n email: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n importHash\n \n \n \n \n \n \n \n \n importHash: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n pin\n \n \n \n \n \n \n \n \n pin: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n verified\n \n \n \n \n \n \n \n \n verified: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Index, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface RegistrationPinEntityProps {\n\tid?: EntityId;\n\temail: string;\n\tpin: string;\n\tverified: boolean;\n\timportHash: string;\n}\n\n@Entity({ tableName: 'registrationpins' })\n@Index({ properties: ['email', 'pin'] })\nexport class RegistrationPinEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Index()\n\temail: string;\n\n\t@Property()\n\tpin: string;\n\n\t@Property({ default: false })\n\tverified: boolean;\n\n\t@Property()\n\t@Index()\n\timportHash: string;\n\n\tconstructor(props: RegistrationPinEntityProps) {\n\t\tsuper();\n\t\tif (props.id !== undefined) {\n\t\t\tthis.id = props.id;\n\t\t}\n\t\tthis.email = props.email;\n\t\tthis.pin = props.pin;\n\t\tthis.verified = props.verified;\n\t\tthis.importHash = props.importHash;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RegistrationPinModule.html":{"url":"modules/RegistrationPinModule.html","title":"module - RegistrationPinModule","body":"\n \n\n\n\n\n Modules\n RegistrationPinModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_RegistrationPinModule\n\n\n\ncluster_RegistrationPinModule_imports\n\n\n\ncluster_RegistrationPinModule_providers\n\n\n\ncluster_RegistrationPinModule_exports\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nRegistrationPinModule\n\nRegistrationPinModule\n\nRegistrationPinModule -->\n\nLoggerModule->RegistrationPinModule\n\n\n\n\n\nRegistrationPinService \n\nRegistrationPinService \n\nRegistrationPinService -->\n\nRegistrationPinModule->RegistrationPinService \n\n\n\n\n\nRegistrationPinRepo\n\nRegistrationPinRepo\n\nRegistrationPinModule -->\n\nRegistrationPinRepo->RegistrationPinModule\n\n\n\n\n\nRegistrationPinService\n\nRegistrationPinService\n\nRegistrationPinModule -->\n\nRegistrationPinService->RegistrationPinModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/registration-pin/registration-pin.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n RegistrationPinRepo\n \n \n RegistrationPinService\n \n \n \n \n Imports\n \n \n LoggerModule\n \n \n \n \n Exports\n \n \n RegistrationPinService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { RegistrationPinService } from './service';\nimport { RegistrationPinRepo } from './repo';\n\n@Module({\n\timports: [LoggerModule],\n\tproviders: [RegistrationPinService, RegistrationPinRepo],\n\texports: [RegistrationPinService],\n})\nexport class RegistrationPinModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RegistrationPinRepo.html":{"url":"injectables/RegistrationPinRepo.html","title":"injectable - RegistrationPinRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RegistrationPinRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/registration-pin/repo/registration-pin.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteRegistrationPinByEmail\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/registration-pin/repo/registration-pin.repo.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteRegistrationPinByEmail\n \n \n \n \n \n \n \n deleteRegistrationPinByEmail(email: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/registration-pin/repo/registration-pin.repo.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n email\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { RegistrationPinEntity } from '../entity';\n\n@Injectable()\nexport class RegistrationPinRepo {\n\tconstructor(private readonly em: EntityManager) {}\n\n\tasync deleteRegistrationPinByEmail(email: string): Promise {\n\t\tconst promise: Promise = this.em.nativeDelete(RegistrationPinEntity, { email });\n\n\t\treturn promise;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RegistrationPinService.html":{"url":"injectables/RegistrationPinService.html","title":"injectable - RegistrationPinService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RegistrationPinService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/registration-pin/service/registration-pin.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteRegistrationPinByEmail\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(registrationPinRepo: RegistrationPinRepo)\n \n \n \n \n Defined in apps/server/src/modules/registration-pin/service/registration-pin.service.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n registrationPinRepo\n \n \n RegistrationPinRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteRegistrationPinByEmail\n \n \n \n \n \n \n \n deleteRegistrationPinByEmail(email: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/registration-pin/service/registration-pin.service.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n email\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { RegistrationPinRepo } from '../repo';\n\n@Injectable()\nexport class RegistrationPinService {\n\tconstructor(private readonly registrationPinRepo: RegistrationPinRepo) {}\n\n\tasync deleteRegistrationPinByEmail(email: string): Promise {\n\t\treturn this.registrationPinRepo.deleteRegistrationPinByEmail(email);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RejectRequestBody.html":{"url":"interfaces/RejectRequestBody.html","title":"interface - RejectRequestBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RejectRequestBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/oauth-provider/dto/request/reject-request.body.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n error\n \n \n \n Optional\n \n error_debug\n \n \n \n Optional\n \n error_description\n \n \n \n Optional\n \n error_hint\n \n \n \n Optional\n \n status_code\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n error\n \n \n \n \n \n \n \n \n error: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n error_debug\n \n \n \n \n \n \n \n \n error_debug: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n error_description\n \n \n \n \n \n \n \n \n error_description: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n error_hint\n \n \n \n \n \n \n \n \n error_hint: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n status_code\n \n \n \n \n \n \n \n \n status_code: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface RejectRequestBody {\n\terror?: string;\n\n\terror_debug?: string;\n\n\terror_description?: string;\n\n\terror_hint?: string;\n\n\tstatus_code?: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RelatedResourceProperties.html":{"url":"interfaces/RelatedResourceProperties.html","title":"interface - RelatedResourceProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RelatedResourceProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/materials.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n originId\n \n \n \n Optional\n \n relationType\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n originId\n \n \n \n \n \n \n \n \n originId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n relationType\n \n \n \n \n \n \n \n \n relationType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface TargetGroupProperties {\n\tstate?: string;\n\tschoolType?: string;\n\tgrade?: string;\n}\n\nexport interface RelatedResourceProperties {\n\toriginId?: string;\n\trelationType?: string;\n}\n\nexport interface MaterialProperties {\n\tclient: string;\n\tdescription?: string;\n\tlicense: string[];\n\tmerlinReference?: string;\n\trelatedResources: RelatedResourceProperties[];\n\tsubjects: string[];\n\ttags: string[];\n\ttargetGroups: TargetGroupProperties[];\n\ttitle: string;\n\turl: string;\n}\n\n@Entity({ collection: 'materials' })\nexport class Material extends BaseEntityWithTimestamps {\n\t@Property()\n\tclient: string;\n\n\t@Property()\n\tdescription?: string;\n\n\t@Property()\n\tlicense: string[];\n\n\t@Property()\n\tmerlinReference?: string;\n\n\t@Property()\n\trelatedResources: RelatedResourceProperties[] | [];\n\n\t@Property()\n\tsubjects: string[] | [];\n\n\t@Property()\n\ttags: string[] | [];\n\n\t@Property()\n\ttargetGroups: TargetGroupProperties[] | [];\n\n\t@Property()\n\ttitle: string;\n\n\t@Property()\n\turl: string;\n\n\tconstructor(props: MaterialProperties) {\n\t\tsuper();\n\t\tthis.client = props.client;\n\t\tthis.description = props.description || '';\n\t\tthis.license = props.license;\n\t\tthis.merlinReference = props.merlinReference || '';\n\t\tthis.relatedResources = props.relatedResources;\n\t\tthis.subjects = props.subjects;\n\t\tthis.tags = props.tags;\n\t\tthis.targetGroups = props.targetGroups;\n\t\tthis.title = props.title;\n\t\tthis.url = props.url;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RenameBodyParams.html":{"url":"classes/RenameBodyParams.html","title":"class - RenameBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RenameBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/board/rename.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({required: true, nullable: false})@SanitizeHtml()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/rename.body.params.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsString } from 'class-validator';\nimport { SanitizeHtml } from '@shared/controller';\n\nexport class RenameBodyParams {\n\t@IsString()\n\t@ApiProperty({\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\t@SanitizeHtml()\n\ttitle!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RenameFileParams.html":{"url":"classes/RenameFileParams.html","title":"class - RenameFileParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RenameFileParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n fileName\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n fileName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:79\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanResult } from '@infra/antivirus';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { Allow, IsBoolean, IsEnum, IsMongoId, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { FileRecordParentType } from '../../entity';\nimport { PreviewOutputMimeTypes, PreviewWidth } from '../../interface';\n\nexport class FileRecordParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\t@IsEnum(FileRecordParentType)\n\tparentType!: FileRecordParentType;\n}\n\nexport class FileUrlParams {\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\turl!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@Allow()\n\theaders?: Record;\n}\n\nexport class FileParams {\n\t@ApiProperty({ type: 'string', format: 'binary' })\n\t@Allow()\n\tfile!: string;\n}\n\nexport class DownloadFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileName!: string;\n}\n\nexport class ScanResultParams implements ScanResult {\n\t@ApiProperty()\n\t@Allow()\n\tvirus_detected?: boolean;\n\n\t@ApiProperty()\n\t@Allow()\n\tvirus_signature?: string;\n\n\t@ApiProperty()\n\t@Allow()\n\terror?: string;\n}\n\nexport class SingleFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n}\n\nexport class RenameFileParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n}\n\nexport class CopyFilesOfParentParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class CopyFileParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileNamePrefix!: string;\n}\n\nexport class CopyFilesOfParentPayload {\n\t@IsMongoId()\n\tuserId!: EntityId;\n\n\t@ValidateNested()\n\tsource!: FileRecordParams;\n\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class PreviewParams {\n\t@ApiPropertyOptional({ enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes' })\n\t@IsOptional()\n\t@IsEnum(PreviewOutputMimeTypes)\n\toutputFormat?: PreviewOutputMimeTypes;\n\n\t@ApiPropertyOptional({ enum: PreviewWidth, enumName: 'PreviewWidth' })\n\t@IsOptional()\n\t@IsEnum(PreviewWidth)\n\twidth?: PreviewWidth;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'If true, the preview will be generated again.',\n\t})\n\tforceUpdate?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RepoLoader.html":{"url":"interfaces/RepoLoader.html","title":"interface - RepoLoader","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RepoLoader\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/service/reference.loader.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n populate\n \n \n \n \n repo\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n populate\n \n \n \n \n \n \n \n \n populate: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n repo\n \n \n \n \n \n \n \n \n repo: RepoType\n\n \n \n\n\n \n \n Type : RepoType\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BoardDoAuthorizableService } from '@modules/board';\n\nimport { LessonService } from '@modules/lesson';\nimport { ContextExternalToolAuthorizableService } from '@modules/tool';\nimport { Injectable, NotImplementedException } from '@nestjs/common';\nimport { AuthorizableObject } from '@shared/domain/domain-object';\nimport { BaseDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport {\n\tCourseGroupRepo,\n\tCourseRepo,\n\tLegacySchoolRepo,\n\tSchoolExternalToolRepo,\n\tSubmissionRepo,\n\tTaskRepo,\n\tTeamsRepo,\n\tUserRepo,\n} from '@shared/repo';\nimport { AuthorizableReferenceType } from '../type';\n\ntype RepoType =\n\t| TaskRepo\n\t| CourseRepo\n\t| UserRepo\n\t| LegacySchoolRepo\n\t| TeamsRepo\n\t| CourseGroupRepo\n\t| SubmissionRepo\n\t| SchoolExternalToolRepo\n\t| BoardDoAuthorizableService\n\t| ContextExternalToolAuthorizableService\n\t| LessonService;\n\ninterface RepoLoader {\n\trepo: RepoType;\n\tpopulate?: boolean;\n}\n\n@Injectable()\nexport class ReferenceLoader {\n\tprivate repos: Map = new Map();\n\n\tconstructor(\n\t\tprivate readonly userRepo: UserRepo,\n\t\tprivate readonly courseRepo: CourseRepo,\n\t\tprivate readonly courseGroupRepo: CourseGroupRepo,\n\t\tprivate readonly taskRepo: TaskRepo,\n\t\tprivate readonly schoolRepo: LegacySchoolRepo,\n\t\tprivate readonly lessonService: LessonService,\n\t\tprivate readonly teamsRepo: TeamsRepo,\n\t\tprivate readonly submissionRepo: SubmissionRepo,\n\t\tprivate readonly schoolExternalToolRepo: SchoolExternalToolRepo,\n\t\tprivate readonly boardNodeAuthorizableService: BoardDoAuthorizableService,\n\t\tprivate readonly contextExternalToolAuthorizableService: ContextExternalToolAuthorizableService\n\t) {\n\t\tthis.repos.set(AuthorizableReferenceType.Task, { repo: this.taskRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.Course, { repo: this.courseRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.CourseGroup, { repo: this.courseGroupRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.User, { repo: this.userRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.School, { repo: this.schoolRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.Lesson, { repo: this.lessonService });\n\t\tthis.repos.set(AuthorizableReferenceType.Team, { repo: this.teamsRepo, populate: true });\n\t\tthis.repos.set(AuthorizableReferenceType.Submission, { repo: this.submissionRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.SchoolExternalToolEntity, { repo: this.schoolExternalToolRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.BoardNode, { repo: this.boardNodeAuthorizableService });\n\t\tthis.repos.set(AuthorizableReferenceType.ContextExternalToolEntity, {\n\t\t\trepo: this.contextExternalToolAuthorizableService,\n\t\t});\n\t}\n\n\tprivate resolveRepo(type: AuthorizableReferenceType): RepoLoader {\n\t\tconst repo = this.repos.get(type);\n\t\tif (repo) {\n\t\t\treturn repo;\n\t\t}\n\t\tthrow new NotImplementedException('REPO_OR_SERVICE_NOT_IMPLEMENT');\n\t}\n\n\tasync loadAuthorizableObject(\n\t\tobjectName: AuthorizableReferenceType,\n\t\tobjectId: EntityId\n\t): Promise {\n\t\tconst repoLoader: RepoLoader = this.resolveRepo(objectName);\n\n\t\tlet object: AuthorizableObject | BaseDO;\n\t\tif (repoLoader.populate) {\n\t\t\tobject = await repoLoader.repo.findById(objectId, true);\n\t\t} else {\n\t\t\tobject = await repoLoader.repo.findById(objectId);\n\t\t}\n\n\t\treturn object;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RequestInfo.html":{"url":"classes/RequestInfo.html","title":"class - RequestInfo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RequestInfo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/metrics/prometheus/middleware.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n baseUrl\n \n \n fullPath\n \n \n method\n \n \n routePath\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n hasPath\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(req: Request)\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/middleware.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n req\n \n \n Request\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/middleware.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n fullPath\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/middleware.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n method\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/middleware.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n routePath\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : ''\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/middleware.ts:12\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n hasPath\n \n \n \n \n \n \n \n hasPath(reqRoute)\n \n \n\n\n \n \n Defined in apps/server/src/infra/metrics/prometheus/middleware.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n reqRoute\n\n \n No\n \n\n\n \n \n \n \n \n Returns : literal type\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import client from 'prom-client';\nimport responseTime from 'response-time';\nimport { Request, RequestHandler, Response } from 'express';\n\nclass RequestInfo {\n\tmethod: string;\n\n\tbaseUrl: string;\n\n\tfullPath: string;\n\n\troutePath = '';\n\n\tprivate hasPath(reqRoute: unknown): reqRoute is { path: string } {\n\t\treturn typeof reqRoute === 'object' && reqRoute != null && 'path' in reqRoute;\n\t}\n\n\tconstructor(req: Request) {\n\t\tthis.method = req.method;\n\t\tthis.baseUrl = req.baseUrl === undefined ? '' : req.baseUrl;\n\t\tthis.fullPath = this.baseUrl;\n\n\t\tif (this.hasPath(req.route)) {\n\t\t\tthis.routePath = req.route.path;\n\n\t\t\tthis.fullPath += this.routePath;\n\t\t}\n\t}\n}\n\nclass ResponseInfo {\n\tstatusCode: number;\n\n\tconstructor(res: Response) {\n\t\tthis.statusCode = res.statusCode;\n\t}\n}\n\nconst apiResponseTimeMetricLabelNames = ['method', 'base_url', 'full_path', 'route_path', 'status_code'];\n\nexport const getAPIResponseTimeMetricLabels = (req: Request, res: Response) => {\n\tconst reqInfo = new RequestInfo(req);\n\tconst resInfo = new ResponseInfo(res);\n\n\treturn {\n\t\tmethod: reqInfo.method,\n\t\tbase_url: reqInfo.baseUrl,\n\t\tfull_path: reqInfo.fullPath,\n\t\troute_path: reqInfo.routePath,\n\t\tstatus_code: resInfo.statusCode,\n\t};\n};\n\nexport const apiResponseTimeMetricHistogram = new client.Histogram({\n\tname: 'sc_api_response_time_in_seconds',\n\thelp: 'SC API response time in seconds',\n\tlabelNames: apiResponseTimeMetricLabelNames,\n});\n\nexport const createAPIResponseTimeMetricMiddleware = (): RequestHandler =>\n\tresponseTime((req: Request, res: Response, time: number) => {\n\t\tconst labels = getAPIResponseTimeMetricLabels(req, res);\n\n\t\tapiResponseTimeMetricHistogram.observe(labels, time / 1000);\n\t});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RequestLoggingInterceptor.html":{"url":"injectables/RequestLoggingInterceptor.html","title":"injectable - RequestLoggingInterceptor","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RequestLoggingInterceptor\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/interceptor/request-logging.interceptor.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n intercept\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/shared/common/interceptor/request-logging.interceptor.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n intercept\n \n \n \n \n \n \nintercept(context: ExecutionContext, next: CallHandler)\n \n \n\n\n \n \n Defined in apps/server/src/shared/common/interceptor/request-logging.interceptor.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n context\n \n ExecutionContext\n \n\n \n No\n \n\n\n \n \n next\n \n CallHandler\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Observable<>\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ICurrentUser } from '@modules/authentication/interface/user';\nimport { CallHandler, ExecutionContext, Injectable, NestInterceptor } from '@nestjs/common';\nimport { LegacyLogger, RequestLoggingBody } from '@src/core/logger';\nimport { Request } from 'express';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError, tap } from 'rxjs/operators';\n\n@Injectable()\nexport class RequestLoggingInterceptor implements NestInterceptor {\n\tconstructor(private logger: LegacyLogger) {}\n\n\tintercept(context: ExecutionContext, next: CallHandler): Observable {\n\t\tthis.logger.setContext(`${context.getClass().name}::${context.getHandler().name}()`);\n\n\t\tconst req: Request = context.switchToHttp().getRequest();\n\t\tconst currentUser = req.user as ICurrentUser;\n\t\tconst logging: RequestLoggingBody = {\n\t\t\tuserId: currentUser.userId,\n\t\t\trequest: {\n\t\t\t\turl: req.url,\n\t\t\t\tmethod: req.method,\n\t\t\t\tparams: req.params,\n\t\t\t\tquery: req.query,\n\t\t\t},\n\t\t\terror: undefined,\n\t\t};\n\t\treturn next.handle().pipe(\n\t\t\ttap(() => {\n\t\t\t\tthis.logger.http(logging);\n\t\t\t}),\n\t\t\tcatchError((err: unknown) => {\n\t\t\t\tlogging.error = err;\n\t\t\t\tthis.logger.http(logging);\n\t\t\t\treturn throwError(() => err);\n\t\t\t})\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ResolvedGroupDto.html":{"url":"classes/ResolvedGroupDto.html","title":"class - ResolvedGroupDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ResolvedGroupDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/uc/dto/resolved-group.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n externalSource\n \n \n id\n \n \n name\n \n \n Optional\n organizationId\n \n \n type\n \n \n users\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(group: ResolvedGroupDto)\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/resolved-group.dto.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n group\n \n \n ResolvedGroupDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n externalSource\n \n \n \n \n \n \n Type : ExternalSource\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/resolved-group.dto.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/resolved-group.dto.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/resolved-group.dto.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n organizationId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/resolved-group.dto.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : GroupTypes\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/resolved-group.dto.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n users\n \n \n \n \n \n \n Type : ResolvedGroupUser[]\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/resolved-group.dto.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ExternalSource } from '@shared/domain/domainobject';\nimport { GroupTypes } from '../../domain';\nimport { ResolvedGroupUser } from './resolved-group-user';\n\nexport class ResolvedGroupDto {\n\tid: string;\n\n\tname: string;\n\n\ttype: GroupTypes;\n\n\tusers: ResolvedGroupUser[];\n\n\texternalSource?: ExternalSource;\n\n\torganizationId?: string;\n\n\tconstructor(group: ResolvedGroupDto) {\n\t\tthis.id = group.id;\n\t\tthis.name = group.name;\n\t\tthis.type = group.type;\n\t\tthis.users = group.users;\n\t\tthis.externalSource = group.externalSource;\n\t\tthis.organizationId = group.organizationId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ResolvedGroupUser.html":{"url":"classes/ResolvedGroupUser.html","title":"class - ResolvedGroupUser","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ResolvedGroupUser\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/uc/dto/resolved-group-user.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n role\n \n \n user\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ResolvedGroupUser)\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/resolved-group-user.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ResolvedGroupUser\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n role\n \n \n \n \n \n \n Type : RoleDto\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/resolved-group-user.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n user\n \n \n \n \n \n \n Type : UserDO\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/resolved-group-user.ts:5\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { RoleDto } from '@modules/role/service/dto/role.dto';\nimport { UserDO } from '@shared/domain/domainobject';\n\nexport class ResolvedGroupUser {\n\tuser: UserDO;\n\n\trole: RoleDto;\n\n\tconstructor(props: ResolvedGroupUser) {\n\t\tthis.user = props.user;\n\t\tthis.role = props.role;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ResolvedUserMapper.html":{"url":"classes/ResolvedUserMapper.html","title":"class - ResolvedUserMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ResolvedUserMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user/mapper/resolved-user.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(user: User, permissions: string[], roles: Role[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/mapper/resolved-user.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n \n \n\n \n \n permissions\n \n string[]\n \n\n \n No\n \n\n \n []\n \n\n \n \n roles\n \n Role[]\n \n\n \n No\n \n\n \n []\n \n\n \n \n \n \n \n Returns : ResolvedUserResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Role, User } from '@shared/domain/entity';\nimport { ResolvedUserResponse } from '../controller/dto';\n\nexport class ResolvedUserMapper {\n\tstatic mapToResponse(user: User, permissions: string[] = [], roles: Role[] = []): ResolvedUserResponse {\n\t\tconst dto = new ResolvedUserResponse();\n\t\tdto.id = user.id;\n\t\tdto.firstName = user.firstName;\n\t\tdto.lastName = user.lastName;\n\t\tdto.createdAt = user.createdAt;\n\t\tdto.updatedAt = user.updatedAt;\n\t\tdto.schoolId = user.school.toString();\n\t\tdto.roles = roles.map((role) => {\n\t\t\treturn { name: role.name, id: role.id };\n\t\t});\n\n\t\tdto.permissions = permissions;\n\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ResolvedUserResponse.html":{"url":"classes/ResolvedUserResponse.html","title":"class - ResolvedUserResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ResolvedUserResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user/controller/dto/resolved-user.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n createdAt\n \n \n \n firstName\n \n \n \n id\n \n \n \n lastName\n \n \n \n permissions\n \n \n \n roles\n \n \n \n schoolId\n \n \n \n updatedAt\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user/controller/dto/resolved-user.response.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user/controller/dto/resolved-user.response.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user/controller/dto/resolved-user.response.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user/controller/dto/resolved-user.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n permissions\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user/controller/dto/resolved-user.response.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n roles\n \n \n \n \n \n \n Type : Role[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user/controller/dto/resolved-user.response.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user/controller/dto/resolved-user.response.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user/controller/dto/resolved-user.response.ts:23\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport type Role = {\n\tname: string;\n\n\tid: string;\n};\n\nexport class ResolvedUserResponse {\n\t@ApiProperty()\n\tfirstName!: string;\n\n\t@ApiProperty()\n\tlastName!: string;\n\n\t@ApiProperty()\n\tid!: string;\n\n\t@ApiProperty()\n\tcreatedAt!: Date;\n\n\t@ApiProperty()\n\tupdatedAt!: Date;\n\n\t@ApiProperty()\n\troles!: Role[];\n\n\t@ApiProperty()\n\tpermissions!: string[];\n\n\t@ApiProperty()\n\tschoolId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ResponseInfo.html":{"url":"classes/ResponseInfo.html","title":"class - ResponseInfo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ResponseInfo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/metrics/prometheus/middleware.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n statusCode\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(res: Response)\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/middleware.ts:32\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n res\n \n \n Response\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n statusCode\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/middleware.ts:32\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import client from 'prom-client';\nimport responseTime from 'response-time';\nimport { Request, RequestHandler, Response } from 'express';\n\nclass RequestInfo {\n\tmethod: string;\n\n\tbaseUrl: string;\n\n\tfullPath: string;\n\n\troutePath = '';\n\n\tprivate hasPath(reqRoute: unknown): reqRoute is { path: string } {\n\t\treturn typeof reqRoute === 'object' && reqRoute != null && 'path' in reqRoute;\n\t}\n\n\tconstructor(req: Request) {\n\t\tthis.method = req.method;\n\t\tthis.baseUrl = req.baseUrl === undefined ? '' : req.baseUrl;\n\t\tthis.fullPath = this.baseUrl;\n\n\t\tif (this.hasPath(req.route)) {\n\t\t\tthis.routePath = req.route.path;\n\n\t\t\tthis.fullPath += this.routePath;\n\t\t}\n\t}\n}\n\nclass ResponseInfo {\n\tstatusCode: number;\n\n\tconstructor(res: Response) {\n\t\tthis.statusCode = res.statusCode;\n\t}\n}\n\nconst apiResponseTimeMetricLabelNames = ['method', 'base_url', 'full_path', 'route_path', 'status_code'];\n\nexport const getAPIResponseTimeMetricLabels = (req: Request, res: Response) => {\n\tconst reqInfo = new RequestInfo(req);\n\tconst resInfo = new ResponseInfo(res);\n\n\treturn {\n\t\tmethod: reqInfo.method,\n\t\tbase_url: reqInfo.baseUrl,\n\t\tfull_path: reqInfo.fullPath,\n\t\troute_path: reqInfo.routePath,\n\t\tstatus_code: resInfo.statusCode,\n\t};\n};\n\nexport const apiResponseTimeMetricHistogram = new client.Histogram({\n\tname: 'sc_api_response_time_in_seconds',\n\thelp: 'SC API response time in seconds',\n\tlabelNames: apiResponseTimeMetricLabelNames,\n});\n\nexport const createAPIResponseTimeMetricMiddleware = (): RequestHandler =>\n\tresponseTime((req: Request, res: Response, time: number) => {\n\t\tconst labels = getAPIResponseTimeMetricLabels(req, res);\n\n\t\tapiResponseTimeMetricHistogram.observe(labels, time / 1000);\n\t});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RestartUserLoginMigrationUc.html":{"url":"injectables/RestartUserLoginMigrationUc.html","title":"injectable - RestartUserLoginMigrationUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RestartUserLoginMigrationUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/uc/restart-user-login-migration.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n restartMigration\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userLoginMigrationService: UserLoginMigrationService, authorizationService: AuthorizationService, schoolMigrationService: SchoolMigrationService, logger: Logger)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/uc/restart-user-login-migration.uc.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigrationService\n \n \n UserLoginMigrationService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n schoolMigrationService\n \n \n SchoolMigrationService\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n restartMigration\n \n \n \n \n \n \n \n restartMigration(userId: string, schoolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/uc/restart-user-login-migration.uc.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n schoolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { Logger } from '@src/core/logger';\nimport { UserLoginMigrationNotFoundLoggableException, UserLoginMigrationStartLoggable } from '../loggable';\nimport { SchoolMigrationService, UserLoginMigrationService } from '../service';\n\n@Injectable()\nexport class RestartUserLoginMigrationUc {\n\tconstructor(\n\t\tprivate readonly userLoginMigrationService: UserLoginMigrationService,\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly schoolMigrationService: SchoolMigrationService,\n\t\tprivate readonly logger: Logger\n\t) {\n\t\tthis.logger.setContext(RestartUserLoginMigrationUc.name);\n\t}\n\n\tpublic async restartMigration(userId: string, schoolId: string): Promise {\n\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationService.findMigrationBySchool(\n\t\t\tschoolId\n\t\t);\n\n\t\tif (!userLoginMigration) {\n\t\t\tthrow new UserLoginMigrationNotFoundLoggableException(schoolId);\n\t\t}\n\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(userId);\n\t\tthis.authorizationService.checkPermission(\n\t\t\tuser,\n\t\t\tuserLoginMigration,\n\t\t\tAuthorizationContextBuilder.write([Permission.USER_LOGIN_MIGRATION_ADMIN])\n\t\t);\n\n\t\tconst updatedUserLoginMigration: UserLoginMigrationDO = await this.userLoginMigrationService.restartMigration(\n\t\t\tuserLoginMigration\n\t\t);\n\n\t\tawait this.schoolMigrationService.unmarkOutdatedUsers(updatedUserLoginMigration);\n\n\t\tthis.logger.info(new UserLoginMigrationStartLoggable(userId, updatedUserLoginMigration.id));\n\n\t\treturn updatedUserLoginMigration;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RestrictedContextMismatchLoggable.html":{"url":"classes/RestrictedContextMismatchLoggable.html","title":"class - RestrictedContextMismatchLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RestrictedContextMismatchLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/service/restricted-context-mismatch-loggabble.ts\n \n\n\n\n \n Extends\n \n \n UnprocessableEntityException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolName: string, context: ToolContextType)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/restricted-context-mismatch-loggabble.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolName\n \n \n string\n \n \n \n No\n \n \n \n \n context\n \n \n ToolContextType\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/restricted-context-mismatch-loggabble.ts:11\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UnprocessableEntityException } from '@nestjs/common';\nimport { Loggable } from '@src/core/logger/interfaces';\nimport { ErrorLogMessage, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { ToolContextType } from '../../common/enum';\n\nexport class RestrictedContextMismatchLoggable extends UnprocessableEntityException implements Loggable {\n\tconstructor(private readonly externalToolName: string, private readonly context: ToolContextType) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\tconst message: LogMessage | ErrorLogMessage | ValidationErrorLogMessage = {\n\t\t\ttype: 'UNPROCESSABLE_ENTITY_EXCEPTION',\n\t\t\tmessage: `Could not create an instance of ${this.externalToolName} in context: ${this.context} because of the context restrictions of the tool.`,\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\texternalToolName: this.externalToolName,\n\t\t\t\tcontext: this.context,\n\t\t\t},\n\t\t};\n\n\t\treturn message;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RetryOptions.html":{"url":"interfaces/RetryOptions.html","title":"interface - RetryOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RetryOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n retryCount\n \n \n \n Optional\n \n retryDelay\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n retryCount\n \n \n \n \n \n \n \n \n retryCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n retryDelay\n \n \n \n \n \n \n \n \n retryDelay: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { ConsoleWriterService } from '@infra/console';\nimport { LegacyLogger } from '@src/core/logger';\nimport { Command, CommandOption, Console } from 'nestjs-console';\nimport { KeycloakConfigurationUc } from '../uc/keycloak-configuration.uc';\n\nconst defaultError = new Error('IDM is not reachable or authentication failed.');\n\ninterface RetryOptions {\n\tretryCount?: number;\n\tretryDelay?: number;\n}\n\ninterface MigrationOptions {\n\tskip?: number;\n\tquery?: string;\n\tverbose?: boolean;\n}\n\ninterface CleanOptions {\n\tpageSize?: number;\n}\n@Console({ command: 'idm', description: 'Prefixes all Identity Management (IDM) related console commands.' })\nexport class KeycloakConsole {\n\tconstructor(\n\t\tprivate readonly console: ConsoleWriterService,\n\t\tprivate readonly keycloakConfigurationUc: KeycloakConfigurationUc,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(KeycloakConsole.name);\n\t}\n\n\tstatic retryFlags: CommandOption[] = [\n\t\t{\n\t\t\tflags: '-rc, --retry-count ',\n\t\t\tdescription: 'If the command fails, it will be retried this number of times. Default is no retry.',\n\t\t\trequired: false,\n\t\t\tdefaultValue: 1,\n\t\t},\n\t\t{\n\t\t\tflags: '-rd, --retry-delay ',\n\t\t\tdescription: 'If \"retry\" is active, this delay is used between each retry. Default is 10 seconds.',\n\t\t\trequired: false,\n\t\t\tdefaultValue: 10,\n\t\t},\n\t];\n\n\t/**\n\t * For local development. Checks if connection to IDM is working.\n\t */\n\t@Command({ command: 'check', description: 'Test the connection to the IDM.' })\n\tasync check(): Promise {\n\t\tif (await this.keycloakConfigurationUc.check()) {\n\t\t\tthis.console.info('Connected to IDM');\n\t\t} else {\n\t\t\tthrow defaultError;\n\t\t}\n\t}\n\n\t/**\n\t * Cleans users from IDM\n\t *\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'clean',\n\t\tdescription: 'Remove all users from the IDM.',\n\t\toptions: [\n\t\t\t...KeycloakConsole.retryFlags,\n\t\t\t{\n\t\t\t\tflags: '- mps, --maxPageSize ',\n\t\t\t\tdescription: 'Maximum users to delete per Keycloak API session. Default 100.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: 100,\n\t\t\t},\n\t\t],\n\t})\n\tasync clean(options: RetryOptions & CleanOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'clean',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.clean(options.pageSize ? Number(options.pageSize) : 100);\n\t\t\t\tthis.console.info(`Cleaned ${count} users in IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * For local development. Seeds user into IDM\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'seed',\n\t\tdescription: 'Add all seed users to the IDM.',\n\t\toptions: KeycloakConsole.retryFlags,\n\t})\n\tasync seed(options: RetryOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'seed',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.seed();\n\t\t\t\tthis.console.info(`Seeded ${count} users into IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * Used in production and for local development to transfer configuration to keycloak.\n\t *\n\t */\n\t@Command({\n\t\tcommand: 'configure',\n\t\tdescription: 'Configures Keycloak identity providers.',\n\t\toptions: [...KeycloakConsole.retryFlags],\n\t})\n\tasync configure(options: RetryOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'configure',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.configure();\n\t\t\t\tthis.console.info(`Configured ${count} identity provider(s).`);\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * For migration purpose. Moves all database accounts to the IDM\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'migrate',\n\t\tdescription: 'Add all database users to the IDM.',\n\t\toptions: [\n\t\t\t...KeycloakConsole.retryFlags,\n\t\t\t{\n\t\t\t\tflags: '-s, --skip',\n\t\t\t\tdescription: 'Skip the first \"s\" accounts during migration. Default 0.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: undefined,\n\t\t\t},\n\t\t\t{\n\t\t\t\tflags: '-v, --verbose',\n\t\t\t\tdescription: 'Log all events. Default is false.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: false,\n\t\t\t},\n\t\t],\n\t})\n\tasync migrate(options: RetryOptions & MigrationOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'migrate',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.migrate(\n\t\t\t\t\toptions.skip ? Number(options.skip) : undefined,\n\t\t\t\t\toptions.verbose ? Boolean(options.verbose) : false\n\t\t\t\t);\n\t\t\t\tthis.console.info(`Migrated ${count} users into IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\tprivate async repeatCommand(commandName: string, command: () => Promise, count = 1, delay = 10): Promise {\n\t\tlet repetitions = 0;\n\t\tlet error = new Error('error could be thrown if count is {\n\t\t\tsetTimeout(resolve, ms);\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RevokeConsentParams.html":{"url":"classes/RevokeConsentParams.html","title":"class - RevokeConsentParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RevokeConsentParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/request/revoke-consent.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n client\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n client\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({description: 'The Oauth2 client id.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/revoke-consent.params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsString } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\n\nexport class RevokeConsentParams {\n\t@IsString()\n\t@ApiProperty({ description: 'The Oauth2 client id.', required: true, nullable: false })\n\tclient!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RichText.html":{"url":"classes/RichText.html","title":"class - RichText","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RichText\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/types/rich-text.types.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: RichText)\n \n \n \n \n Defined in apps/server/src/shared/domain/types/rich-text.types.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n RichText\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Content of the rich text element'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/types/rich-text.types.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : InputFormat\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Input format of the rich text element', enum: InputFormat})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/types/rich-text.types.ts:20\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { sanitizeRichText } from '../../controller/transformer/sanitize-html.transformer';\nimport { InputFormat } from './input-format.types';\n\nexport class RichText {\n\tconstructor({ content, type }: RichText) {\n\t\tthis.content = sanitizeRichText(content, type);\n\t\tthis.type = type;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'Content of the rich text element',\n\t})\n\tcontent: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Input format of the rich text element',\n\t\tenum: InputFormat,\n\t})\n\ttype: InputFormat;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RichTextContentBody.html":{"url":"classes/RichTextContentBody.html","title":"class - RichTextContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RichTextContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n inputFormat\n \n \n \n \n text\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n inputFormat\n \n \n \n \n \n \n Type : InputFormat\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(InputFormat)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:88\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n text\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:84\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RichTextElement.html":{"url":"classes/RichTextElement.html","title":"class - RichTextElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RichTextElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/rich-text-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardComposite\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n accept\n \n \n Async\n acceptAsync\n \n \n isAllowedAsChild\n \n \n addChild\n \n \n hasChild\n \n \n removeChild\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n text\n \n \n inputFormat\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n accept\n \n \n \n \n \n \naccept(visitor: BoardCompositeVisitor)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitor\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n acceptAsync\n \n \n \n \n \n \n \n acceptAsync(visitor: BoardCompositeVisitorAsync)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitorAsync\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isAllowedAsChild\n \n \n \n \n \n \nisAllowedAsChild()\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:22\n\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n addChild\n \n \n \n \n \n \naddChild(child: AnyBoardDo, position?: number)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n position\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasChild\n \n \n \n \n \n \nhasChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeChild\n \n \n \n \n \n \nremoveChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n text\n \n \n\n \n \n gettext()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/rich-text-element.do.ts:6\n \n \n\n \n \n settext(value: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/rich-text-element.do.ts:10\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n inputFormat\n \n \n\n \n \n getinputFormat()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/rich-text-element.do.ts:14\n \n \n\n \n \n setinputFormat(value: InputFormat)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/rich-text-element.do.ts:18\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n InputFormat\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { InputFormat } from '@shared/domain/types';\nimport { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class RichTextElement extends BoardComposite {\n\tget text(): string {\n\t\treturn this.props.text;\n\t}\n\n\tset text(value: string) {\n\t\tthis.props.text = value;\n\t}\n\n\tget inputFormat(): InputFormat {\n\t\treturn this.props.inputFormat;\n\t}\n\n\tset inputFormat(value: InputFormat) {\n\t\tthis.props.inputFormat = value;\n\t}\n\n\tisAllowedAsChild(): boolean {\n\t\treturn false;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitRichTextElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitRichTextElementAsync(this);\n\t}\n}\n\nexport interface RichTextElementProps extends BoardCompositeProps {\n\ttext: string;\n\tinputFormat: InputFormat;\n}\n\nexport function isRichTextElement(reference: unknown): reference is RichTextElement {\n\treturn reference instanceof RichTextElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RichTextElementContent.html":{"url":"classes/RichTextElementContent.html","title":"class - RichTextElementContent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RichTextElementContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/rich-text-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n inputFormat\n \n \n \n text\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: RichTextElementContent)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/rich-text-element.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n RichTextElementContent\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n inputFormat\n \n \n \n \n \n \n Type : InputFormat\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/rich-text-element.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n text\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/rich-text-element.response.ts:13\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class RichTextElementContent {\n\tconstructor({ text, inputFormat }: RichTextElementContent) {\n\t\tthis.text = text;\n\t\tthis.inputFormat = inputFormat;\n\t}\n\n\t@ApiProperty()\n\ttext: string;\n\n\t@ApiProperty()\n\tinputFormat: InputFormat;\n}\n\nexport class RichTextElementResponse {\n\tconstructor({ id, content, timestamps, type }: RichTextElementResponse) {\n\t\tthis.id = id;\n\t\tthis.content = content;\n\t\tthis.timestamps = timestamps;\n\t\tthis.type = type;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.RICH_TEXT;\n\n\t@ApiProperty()\n\tcontent: RichTextElementContent;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RichTextElementContentBody.html":{"url":"classes/RichTextElementContentBody.html","title":"class - RichTextElementContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RichTextElementContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n \n Extends\n \n \n ElementContentBody\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : RichTextContentBody\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:97\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.RICH_TEXT\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from ElementContentBody\n\n \n \n \n \n Defined in ElementContentBody:93\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/RichTextElementNode.html":{"url":"entities/RichTextElementNode.html","title":"entity - RichTextElementNode","body":"\n \n\n\n\n\n\n\n\n Entities\n RichTextElementNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/rich-text-element-node.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n inputFormat\n \n \n \n text\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n inputFormat\n \n \n \n \n \n \n Type : InputFormat\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/rich-text-element-node.entity.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n text\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/rich-text-element-node.entity.ts:10\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { AnyBoardDo } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.RICH_TEXT_ELEMENT })\nexport class RichTextElementNode extends BoardNode {\n\t@Property()\n\ttext: string;\n\n\t@Property()\n\tinputFormat: InputFormat;\n\n\tconstructor(props: RichTextElementNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.RICH_TEXT_ELEMENT;\n\t\tthis.text = props.text;\n\t\tthis.inputFormat = props.inputFormat;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildRichTextElement(this);\n\t\treturn domainObject;\n\t}\n}\n\nexport interface RichTextElementNodeProps extends BoardNodeProps {\n\ttext: string;\n\tinputFormat: InputFormat;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RichTextElementNodeProps.html":{"url":"interfaces/RichTextElementNodeProps.html","title":"interface - RichTextElementNodeProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RichTextElementNodeProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/rich-text-element-node.entity.ts\n \n\n\n\n \n Extends\n \n \n BoardNodeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n inputFormat\n \n \n \n \n text\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n inputFormat\n \n \n \n \n \n \n \n \n inputFormat: InputFormat\n\n \n \n\n\n \n \n Type : InputFormat\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n text\n \n \n \n \n \n \n \n \n text: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { AnyBoardDo } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.RICH_TEXT_ELEMENT })\nexport class RichTextElementNode extends BoardNode {\n\t@Property()\n\ttext: string;\n\n\t@Property()\n\tinputFormat: InputFormat;\n\n\tconstructor(props: RichTextElementNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.RICH_TEXT_ELEMENT;\n\t\tthis.text = props.text;\n\t\tthis.inputFormat = props.inputFormat;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildRichTextElement(this);\n\t\treturn domainObject;\n\t}\n}\n\nexport interface RichTextElementNodeProps extends BoardNodeProps {\n\ttext: string;\n\tinputFormat: InputFormat;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RichTextElementProps.html":{"url":"interfaces/RichTextElementProps.html","title":"interface - RichTextElementProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RichTextElementProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/rich-text-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardCompositeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n inputFormat\n \n \n \n \n text\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n inputFormat\n \n \n \n \n \n \n \n \n inputFormat: InputFormat\n\n \n \n\n\n \n \n Type : InputFormat\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n text\n \n \n \n \n \n \n \n \n text: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { InputFormat } from '@shared/domain/types';\nimport { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class RichTextElement extends BoardComposite {\n\tget text(): string {\n\t\treturn this.props.text;\n\t}\n\n\tset text(value: string) {\n\t\tthis.props.text = value;\n\t}\n\n\tget inputFormat(): InputFormat {\n\t\treturn this.props.inputFormat;\n\t}\n\n\tset inputFormat(value: InputFormat) {\n\t\tthis.props.inputFormat = value;\n\t}\n\n\tisAllowedAsChild(): boolean {\n\t\treturn false;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitRichTextElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitRichTextElementAsync(this);\n\t}\n}\n\nexport interface RichTextElementProps extends BoardCompositeProps {\n\ttext: string;\n\tinputFormat: InputFormat;\n}\n\nexport function isRichTextElement(reference: unknown): reference is RichTextElement {\n\treturn reference instanceof RichTextElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RichTextElementResponse.html":{"url":"classes/RichTextElementResponse.html","title":"class - RichTextElementResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RichTextElementResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/rich-text-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n id\n \n \n \n timestamps\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: RichTextElementResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/rich-text-element.response.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n RichTextElementResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : RichTextElementContent\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/rich-text-element.response.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/rich-text-element.response.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n timestamps\n \n \n \n \n \n \n Type : TimestampsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/rich-text-element.response.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.RICH_TEXT\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ContentElementType, enumName: 'ContentElementType'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/rich-text-element.response.ts:31\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class RichTextElementContent {\n\tconstructor({ text, inputFormat }: RichTextElementContent) {\n\t\tthis.text = text;\n\t\tthis.inputFormat = inputFormat;\n\t}\n\n\t@ApiProperty()\n\ttext: string;\n\n\t@ApiProperty()\n\tinputFormat: InputFormat;\n}\n\nexport class RichTextElementResponse {\n\tconstructor({ id, content, timestamps, type }: RichTextElementResponse) {\n\t\tthis.id = id;\n\t\tthis.content = content;\n\t\tthis.timestamps = timestamps;\n\t\tthis.type = type;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.RICH_TEXT;\n\n\t@ApiProperty()\n\tcontent: RichTextElementContent;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RichTextElementResponseMapper.html":{"url":"classes/RichTextElementResponseMapper.html","title":"class - RichTextElementResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RichTextElementResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/rich-text-element-response.mapper.ts\n \n\n\n\n\n \n Implements\n \n \n BaseResponseMapper\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n canMap\n \n \n Static\n getInstance\n \n \n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n \n \n Type : RichTextElementResponseMapper\n\n \n \n \n \n Defined in apps/server/src/modules/board/controller/mapper/rich-text-element-response.mapper.ts:7\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n canMap\n \n \n \n \n \n \ncanMap(element: RichTextElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/rich-text-element-response.mapper.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n RichTextElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n getInstance\n \n \n \n \n \n \n \n getInstance()\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/rich-text-element-response.mapper.ts:9\n \n \n\n\n \n \n\n \n Returns : RichTextElementResponseMapper\n\n \n \n \n \n \n \n \n \n \n \n \n mapToResponse\n \n \n \n \n \n \nmapToResponse(element: RichTextElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/rich-text-element-response.mapper.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n RichTextElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RichTextElementResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ContentElementType, RichTextElement } from '@shared/domain/domainobject';\nimport { TimestampsResponse } from '../dto';\nimport { RichTextElementContent, RichTextElementResponse } from '../dto/element/rich-text-element.response';\nimport { BaseResponseMapper } from './base-mapper.interface';\n\nexport class RichTextElementResponseMapper implements BaseResponseMapper {\n\tprivate static instance: RichTextElementResponseMapper;\n\n\tpublic static getInstance(): RichTextElementResponseMapper {\n\t\tif (!RichTextElementResponseMapper.instance) {\n\t\t\tRichTextElementResponseMapper.instance = new RichTextElementResponseMapper();\n\t\t}\n\n\t\treturn RichTextElementResponseMapper.instance;\n\t}\n\n\tmapToResponse(element: RichTextElement): RichTextElementResponse {\n\t\tconst result = new RichTextElementResponse({\n\t\t\tid: element.id,\n\t\t\ttimestamps: new TimestampsResponse({ lastUpdatedAt: element.updatedAt, createdAt: element.createdAt }),\n\t\t\ttype: ContentElementType.RICH_TEXT,\n\t\t\tcontent: new RichTextElementContent({ text: element.text, inputFormat: element.inputFormat }),\n\t\t});\n\n\t\treturn result;\n\t}\n\n\tcanMap(element: RichTextElement): boolean {\n\t\treturn element instanceof RichTextElement;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RocketChatError.html":{"url":"classes/RocketChatError.html","title":"class - RocketChatError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RocketChatError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat/rocket-chat.service.ts\n \n\n\n\n \n Extends\n \n \n Error\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n errorType\n \n \n Private\n response\n \n \n Private\n statusCode\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(e: any)\n \n \n \n \n Defined in apps/server/src/modules/rocketchat/rocket-chat.service.ts:47\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n e\n \n \n any\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n errorType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/rocketchat/rocket-chat.service.ts:47\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n response\n \n \n \n \n \n \n Type : GenericData\n\n \n \n \n \n Defined in apps/server/src/modules/rocketchat/rocket-chat.service.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n statusCode\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/modules/rocketchat/rocket-chat.service.ts:42\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { HttpService } from '@nestjs/axios';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { lastValueFrom } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\nexport interface RocketChatOptions {\n\turi?: string;\n\tadminUser?: string;\n\tadminPassword?: string;\n\tadminId?: string;\n\tadminToken?: string;\n}\n\nexport interface RocketChatGroupModel {\n\tgroup: {\n\t\t_id: string;\n\t\tname: string;\n\t\tfname: string;\n\t\tt: string;\n\t\tmsgs: number;\n\t\tusersCount: number;\n\t\tu: {\n\t\t\t_id: string;\n\t\t\tusername: string;\n\t\t};\n\t\tcustomfields: object;\n\t\tbroadcast: boolean;\n\t\tencrypted: boolean;\n\t\tts: Date;\n\t\tro: boolean;\n\t\tdefaults: boolean;\n\t\tsysmes: boolean;\n\t\t_updatedAt: Date;\n\t};\n\tsuccess: boolean;\n}\n\ntype GenericData = Record;\n\nexport class RocketChatError extends Error {\n\tprivate statusCode: number;\n\n\tprivate response: GenericData;\n\n\t// rocketchat specific error type\n\tprivate errorType: string;\n\n\tconstructor(e: any) {\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-argument\n\t\tsuper(e.response.statusText);\n\n\t\t// Set the prototype explicitly.\n\t\tObject.setPrototypeOf(this, RocketChatError.prototype);\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-member-access\n\t\tthis.statusCode = e.response.statusCode;\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment\n\t\tthis.response = e.response.data;\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment\n\t\tthis.errorType = e.response.data.errorType;\n\t}\n}\n\ninterface AdminIdAndToken {\n\tid: string;\n\ttoken: string;\n}\n\n@Injectable()\nexport class RocketChatService {\n\tprivate adminIdAndToken?: AdminIdAndToken;\n\n\tconstructor(\n\t\t@Inject('ROCKET_CHAT_OPTIONS') private readonly options: RocketChatOptions,\n\t\tprivate readonly httpService: HttpService\n\t) {}\n\n\tpublic async me(authToken: string, userId: string): Promise {\n\t\treturn this.get('/api/v1/me', authToken, userId);\n\t}\n\n\tpublic async setUserStatus(authToken: string, userId: string, status: string): Promise {\n\t\treturn this.post('/api/v1/users.setStatus', authToken, userId, {\n\t\t\tmessage: '',\n\t\t\tstatus,\n\t\t});\n\t}\n\n\tpublic async createUserToken(userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.createToken', {\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async logoutUser(authToken: string, userId: string): Promise {\n\t\treturn this.post('/api/v1/logout', authToken, userId, {});\n\t}\n\n\tpublic async getUserList(queryString: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/users.list?${queryString}`);\n\t}\n\n\tpublic async unarchiveGroup(groupName: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.unarchive', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async archiveGroup(groupName: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.archive', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async kickUserFromGroup(groupName: string, userId: string): Promise {\n\t\tconst groupInfo: RocketChatGroupModel = await this.getGroupData(groupName);\n\n\t\treturn this.postAsAdmin('/api/v1/groups.kick', {\n\t\t\troomId: groupInfo.group._id,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async inviteUserToGroup(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.invite', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async addGroupModerator(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.addModerator', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async removeGroupModerator(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.removeModerator', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async getGroupModerators(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.moderators?roomName=${groupName}`);\n\t}\n\n\tpublic async getGroupMembers(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.members?roomName=${groupName}`);\n\t}\n\n\tprivate async getGroupData(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.info?roomName=${groupName}`);\n\t}\n\n\tpublic async createGroup(name: string, members: string[]): Promise {\n\t\t// group.name is only used\n\t\treturn this.postAsAdmin('/api/v1/groups.create', {\n\t\t\tname,\n\t\t\tmembers,\n\t\t});\n\t}\n\n\tpublic async deleteGroup(groupName: string): Promise {\n\t\t// group.name is only used\n\t\treturn this.postAsAdmin('/api/v1/groups.delete', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async createUser(email: string, password: string, username: string, name: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.create', {\n\t\t\temail,\n\t\t\tpassword,\n\t\t\tusername,\n\t\t\tname,\n\t\t\tverified: true,\n\t\t});\n\t}\n\n\tpublic async deleteUser(username: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.delete', {\n\t\t\tusername,\n\t\t});\n\t}\n\n\tprivate async postAsAdmin(path: string, body: GenericData): Promise {\n\t\tconst adminIdAndToken = await this.getAdminIdAndToken();\n\t\treturn this.post(path, adminIdAndToken.token, adminIdAndToken.id, body);\n\t}\n\n\tprivate async getAsAdmin(path: string): Promise {\n\t\tconst adminIdAndToken = await this.getAdminIdAndToken();\n\t\treturn this.get(path, adminIdAndToken.token, adminIdAndToken.id);\n\t}\n\n\tprivate async get(path: string, authToken: string, userId: string): Promise {\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.get(`${this.options.uri}${path}`, {\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'X-Auth-Token': authToken,\n\t\t\t\t\t\t'X-User-ID': userId,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\t\treturn response?.data as Type;\n\t}\n\n\tprivate async post(path: string, authToken: string, userId: string, body: GenericData): Promise {\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.post(`${this.options.uri}${path}`, body, {\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'X-Auth-Token': authToken,\n\t\t\t\t\t\t'X-User-ID': userId,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\t\treturn response?.data as GenericData;\n\t}\n\n\tprivate async getAdminIdAndToken(): Promise {\n\t\tthis.validateRocketChatConfig();\n\n\t\tif (this.adminIdAndToken) {\n\t\t\treturn this.adminIdAndToken;\n\t\t}\n\n\t\tif (this.options.adminId && this.options.adminToken) {\n\t\t\tconst newVar = { id: this.options.adminId, token: this.options.adminToken } as AdminIdAndToken;\n\t\t\tthis.adminIdAndToken = newVar;\n\t\t\treturn newVar;\n\t\t}\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.post(`${this.options.uri}/api/v1/login`, {\n\t\t\t\t\tuser: this.options.adminUser,\n\t\t\t\t\tpassword: this.options.adminPassword,\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\tconst responseJson = response?.data;\n\t\tthis.adminIdAndToken = {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\tid: responseJson.data.userId as string,\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\ttoken: responseJson.data.authToken as string,\n\t\t} as AdminIdAndToken;\n\t\treturn this.adminIdAndToken;\n\t}\n\n\tprivate validateRocketChatConfig(): void {\n\t\tif (!this.options.uri) {\n\t\t\tthrow new Error('rocket chat uri not set');\n\t\t}\n\t\tif (!(this.options.adminId && this.options.adminToken) && !(this.options.adminUser && this.options.adminPassword)) {\n\t\t\tthrow new Error('rocket chat adminId and adminToken OR adminUser and adminPassword must be set');\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RocketChatGroupModel.html":{"url":"interfaces/RocketChatGroupModel.html","title":"interface - RocketChatGroupModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RocketChatGroupModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat/rocket-chat.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n group\n \n \n \n \n success\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n group\n \n \n \n \n \n \n \n \n group: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n success\n \n \n \n \n \n \n \n \n success: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { HttpService } from '@nestjs/axios';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { lastValueFrom } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\nexport interface RocketChatOptions {\n\turi?: string;\n\tadminUser?: string;\n\tadminPassword?: string;\n\tadminId?: string;\n\tadminToken?: string;\n}\n\nexport interface RocketChatGroupModel {\n\tgroup: {\n\t\t_id: string;\n\t\tname: string;\n\t\tfname: string;\n\t\tt: string;\n\t\tmsgs: number;\n\t\tusersCount: number;\n\t\tu: {\n\t\t\t_id: string;\n\t\t\tusername: string;\n\t\t};\n\t\tcustomfields: object;\n\t\tbroadcast: boolean;\n\t\tencrypted: boolean;\n\t\tts: Date;\n\t\tro: boolean;\n\t\tdefaults: boolean;\n\t\tsysmes: boolean;\n\t\t_updatedAt: Date;\n\t};\n\tsuccess: boolean;\n}\n\ntype GenericData = Record;\n\nexport class RocketChatError extends Error {\n\tprivate statusCode: number;\n\n\tprivate response: GenericData;\n\n\t// rocketchat specific error type\n\tprivate errorType: string;\n\n\tconstructor(e: any) {\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-argument\n\t\tsuper(e.response.statusText);\n\n\t\t// Set the prototype explicitly.\n\t\tObject.setPrototypeOf(this, RocketChatError.prototype);\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-member-access\n\t\tthis.statusCode = e.response.statusCode;\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment\n\t\tthis.response = e.response.data;\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment\n\t\tthis.errorType = e.response.data.errorType;\n\t}\n}\n\ninterface AdminIdAndToken {\n\tid: string;\n\ttoken: string;\n}\n\n@Injectable()\nexport class RocketChatService {\n\tprivate adminIdAndToken?: AdminIdAndToken;\n\n\tconstructor(\n\t\t@Inject('ROCKET_CHAT_OPTIONS') private readonly options: RocketChatOptions,\n\t\tprivate readonly httpService: HttpService\n\t) {}\n\n\tpublic async me(authToken: string, userId: string): Promise {\n\t\treturn this.get('/api/v1/me', authToken, userId);\n\t}\n\n\tpublic async setUserStatus(authToken: string, userId: string, status: string): Promise {\n\t\treturn this.post('/api/v1/users.setStatus', authToken, userId, {\n\t\t\tmessage: '',\n\t\t\tstatus,\n\t\t});\n\t}\n\n\tpublic async createUserToken(userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.createToken', {\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async logoutUser(authToken: string, userId: string): Promise {\n\t\treturn this.post('/api/v1/logout', authToken, userId, {});\n\t}\n\n\tpublic async getUserList(queryString: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/users.list?${queryString}`);\n\t}\n\n\tpublic async unarchiveGroup(groupName: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.unarchive', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async archiveGroup(groupName: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.archive', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async kickUserFromGroup(groupName: string, userId: string): Promise {\n\t\tconst groupInfo: RocketChatGroupModel = await this.getGroupData(groupName);\n\n\t\treturn this.postAsAdmin('/api/v1/groups.kick', {\n\t\t\troomId: groupInfo.group._id,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async inviteUserToGroup(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.invite', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async addGroupModerator(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.addModerator', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async removeGroupModerator(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.removeModerator', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async getGroupModerators(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.moderators?roomName=${groupName}`);\n\t}\n\n\tpublic async getGroupMembers(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.members?roomName=${groupName}`);\n\t}\n\n\tprivate async getGroupData(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.info?roomName=${groupName}`);\n\t}\n\n\tpublic async createGroup(name: string, members: string[]): Promise {\n\t\t// group.name is only used\n\t\treturn this.postAsAdmin('/api/v1/groups.create', {\n\t\t\tname,\n\t\t\tmembers,\n\t\t});\n\t}\n\n\tpublic async deleteGroup(groupName: string): Promise {\n\t\t// group.name is only used\n\t\treturn this.postAsAdmin('/api/v1/groups.delete', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async createUser(email: string, password: string, username: string, name: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.create', {\n\t\t\temail,\n\t\t\tpassword,\n\t\t\tusername,\n\t\t\tname,\n\t\t\tverified: true,\n\t\t});\n\t}\n\n\tpublic async deleteUser(username: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.delete', {\n\t\t\tusername,\n\t\t});\n\t}\n\n\tprivate async postAsAdmin(path: string, body: GenericData): Promise {\n\t\tconst adminIdAndToken = await this.getAdminIdAndToken();\n\t\treturn this.post(path, adminIdAndToken.token, adminIdAndToken.id, body);\n\t}\n\n\tprivate async getAsAdmin(path: string): Promise {\n\t\tconst adminIdAndToken = await this.getAdminIdAndToken();\n\t\treturn this.get(path, adminIdAndToken.token, adminIdAndToken.id);\n\t}\n\n\tprivate async get(path: string, authToken: string, userId: string): Promise {\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.get(`${this.options.uri}${path}`, {\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'X-Auth-Token': authToken,\n\t\t\t\t\t\t'X-User-ID': userId,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\t\treturn response?.data as Type;\n\t}\n\n\tprivate async post(path: string, authToken: string, userId: string, body: GenericData): Promise {\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.post(`${this.options.uri}${path}`, body, {\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'X-Auth-Token': authToken,\n\t\t\t\t\t\t'X-User-ID': userId,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\t\treturn response?.data as GenericData;\n\t}\n\n\tprivate async getAdminIdAndToken(): Promise {\n\t\tthis.validateRocketChatConfig();\n\n\t\tif (this.adminIdAndToken) {\n\t\t\treturn this.adminIdAndToken;\n\t\t}\n\n\t\tif (this.options.adminId && this.options.adminToken) {\n\t\t\tconst newVar = { id: this.options.adminId, token: this.options.adminToken } as AdminIdAndToken;\n\t\t\tthis.adminIdAndToken = newVar;\n\t\t\treturn newVar;\n\t\t}\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.post(`${this.options.uri}/api/v1/login`, {\n\t\t\t\t\tuser: this.options.adminUser,\n\t\t\t\t\tpassword: this.options.adminPassword,\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\tconst responseJson = response?.data;\n\t\tthis.adminIdAndToken = {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\tid: responseJson.data.userId as string,\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\ttoken: responseJson.data.authToken as string,\n\t\t} as AdminIdAndToken;\n\t\treturn this.adminIdAndToken;\n\t}\n\n\tprivate validateRocketChatConfig(): void {\n\t\tif (!this.options.uri) {\n\t\t\tthrow new Error('rocket chat uri not set');\n\t\t}\n\t\tif (!(this.options.adminId && this.options.adminToken) && !(this.options.adminUser && this.options.adminPassword)) {\n\t\t\tthrow new Error('rocket chat adminId and adminToken OR adminUser and adminPassword must be set');\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RocketChatModule.html":{"url":"modules/RocketChatModule.html","title":"module - RocketChatModule","body":"\n \n\n\n\n\n Modules\n RocketChatModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/rocketchat/rocket-chat.module.ts\n \n\n\n\n\n\n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options: RocketChatOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/rocketchat/rocket-chat.module.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n RocketChatOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { HttpModule } from '@nestjs/axios';\nimport { DynamicModule, Module } from '@nestjs/common';\nimport { RocketChatOptions, RocketChatService } from './rocket-chat.service';\n\n@Module({})\nexport class RocketChatModule {\n\tstatic forRoot(options: RocketChatOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: RocketChatModule,\n\t\t\timports: [HttpModule],\n\t\t\tproviders: [\n\t\t\t\tRocketChatService,\n\t\t\t\t{\n\t\t\t\t\tprovide: 'ROCKET_CHAT_OPTIONS',\n\t\t\t\t\tuseValue: options,\n\t\t\t\t},\n\t\t\t],\n\t\t\texports: [RocketChatService],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RocketChatOptions.html":{"url":"interfaces/RocketChatOptions.html","title":"interface - RocketChatOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RocketChatOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat/rocket-chat.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n adminId\n \n \n \n Optional\n \n adminPassword\n \n \n \n Optional\n \n adminToken\n \n \n \n Optional\n \n adminUser\n \n \n \n Optional\n \n uri\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n adminId\n \n \n \n \n \n \n \n \n adminId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n adminPassword\n \n \n \n \n \n \n \n \n adminPassword: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n adminToken\n \n \n \n \n \n \n \n \n adminToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n adminUser\n \n \n \n \n \n \n \n \n adminUser: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n uri\n \n \n \n \n \n \n \n \n uri: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { HttpService } from '@nestjs/axios';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { lastValueFrom } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\nexport interface RocketChatOptions {\n\turi?: string;\n\tadminUser?: string;\n\tadminPassword?: string;\n\tadminId?: string;\n\tadminToken?: string;\n}\n\nexport interface RocketChatGroupModel {\n\tgroup: {\n\t\t_id: string;\n\t\tname: string;\n\t\tfname: string;\n\t\tt: string;\n\t\tmsgs: number;\n\t\tusersCount: number;\n\t\tu: {\n\t\t\t_id: string;\n\t\t\tusername: string;\n\t\t};\n\t\tcustomfields: object;\n\t\tbroadcast: boolean;\n\t\tencrypted: boolean;\n\t\tts: Date;\n\t\tro: boolean;\n\t\tdefaults: boolean;\n\t\tsysmes: boolean;\n\t\t_updatedAt: Date;\n\t};\n\tsuccess: boolean;\n}\n\ntype GenericData = Record;\n\nexport class RocketChatError extends Error {\n\tprivate statusCode: number;\n\n\tprivate response: GenericData;\n\n\t// rocketchat specific error type\n\tprivate errorType: string;\n\n\tconstructor(e: any) {\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-argument\n\t\tsuper(e.response.statusText);\n\n\t\t// Set the prototype explicitly.\n\t\tObject.setPrototypeOf(this, RocketChatError.prototype);\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-member-access\n\t\tthis.statusCode = e.response.statusCode;\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment\n\t\tthis.response = e.response.data;\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment\n\t\tthis.errorType = e.response.data.errorType;\n\t}\n}\n\ninterface AdminIdAndToken {\n\tid: string;\n\ttoken: string;\n}\n\n@Injectable()\nexport class RocketChatService {\n\tprivate adminIdAndToken?: AdminIdAndToken;\n\n\tconstructor(\n\t\t@Inject('ROCKET_CHAT_OPTIONS') private readonly options: RocketChatOptions,\n\t\tprivate readonly httpService: HttpService\n\t) {}\n\n\tpublic async me(authToken: string, userId: string): Promise {\n\t\treturn this.get('/api/v1/me', authToken, userId);\n\t}\n\n\tpublic async setUserStatus(authToken: string, userId: string, status: string): Promise {\n\t\treturn this.post('/api/v1/users.setStatus', authToken, userId, {\n\t\t\tmessage: '',\n\t\t\tstatus,\n\t\t});\n\t}\n\n\tpublic async createUserToken(userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.createToken', {\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async logoutUser(authToken: string, userId: string): Promise {\n\t\treturn this.post('/api/v1/logout', authToken, userId, {});\n\t}\n\n\tpublic async getUserList(queryString: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/users.list?${queryString}`);\n\t}\n\n\tpublic async unarchiveGroup(groupName: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.unarchive', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async archiveGroup(groupName: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.archive', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async kickUserFromGroup(groupName: string, userId: string): Promise {\n\t\tconst groupInfo: RocketChatGroupModel = await this.getGroupData(groupName);\n\n\t\treturn this.postAsAdmin('/api/v1/groups.kick', {\n\t\t\troomId: groupInfo.group._id,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async inviteUserToGroup(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.invite', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async addGroupModerator(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.addModerator', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async removeGroupModerator(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.removeModerator', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async getGroupModerators(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.moderators?roomName=${groupName}`);\n\t}\n\n\tpublic async getGroupMembers(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.members?roomName=${groupName}`);\n\t}\n\n\tprivate async getGroupData(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.info?roomName=${groupName}`);\n\t}\n\n\tpublic async createGroup(name: string, members: string[]): Promise {\n\t\t// group.name is only used\n\t\treturn this.postAsAdmin('/api/v1/groups.create', {\n\t\t\tname,\n\t\t\tmembers,\n\t\t});\n\t}\n\n\tpublic async deleteGroup(groupName: string): Promise {\n\t\t// group.name is only used\n\t\treturn this.postAsAdmin('/api/v1/groups.delete', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async createUser(email: string, password: string, username: string, name: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.create', {\n\t\t\temail,\n\t\t\tpassword,\n\t\t\tusername,\n\t\t\tname,\n\t\t\tverified: true,\n\t\t});\n\t}\n\n\tpublic async deleteUser(username: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.delete', {\n\t\t\tusername,\n\t\t});\n\t}\n\n\tprivate async postAsAdmin(path: string, body: GenericData): Promise {\n\t\tconst adminIdAndToken = await this.getAdminIdAndToken();\n\t\treturn this.post(path, adminIdAndToken.token, adminIdAndToken.id, body);\n\t}\n\n\tprivate async getAsAdmin(path: string): Promise {\n\t\tconst adminIdAndToken = await this.getAdminIdAndToken();\n\t\treturn this.get(path, adminIdAndToken.token, adminIdAndToken.id);\n\t}\n\n\tprivate async get(path: string, authToken: string, userId: string): Promise {\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.get(`${this.options.uri}${path}`, {\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'X-Auth-Token': authToken,\n\t\t\t\t\t\t'X-User-ID': userId,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\t\treturn response?.data as Type;\n\t}\n\n\tprivate async post(path: string, authToken: string, userId: string, body: GenericData): Promise {\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.post(`${this.options.uri}${path}`, body, {\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'X-Auth-Token': authToken,\n\t\t\t\t\t\t'X-User-ID': userId,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\t\treturn response?.data as GenericData;\n\t}\n\n\tprivate async getAdminIdAndToken(): Promise {\n\t\tthis.validateRocketChatConfig();\n\n\t\tif (this.adminIdAndToken) {\n\t\t\treturn this.adminIdAndToken;\n\t\t}\n\n\t\tif (this.options.adminId && this.options.adminToken) {\n\t\t\tconst newVar = { id: this.options.adminId, token: this.options.adminToken } as AdminIdAndToken;\n\t\t\tthis.adminIdAndToken = newVar;\n\t\t\treturn newVar;\n\t\t}\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.post(`${this.options.uri}/api/v1/login`, {\n\t\t\t\t\tuser: this.options.adminUser,\n\t\t\t\t\tpassword: this.options.adminPassword,\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\tconst responseJson = response?.data;\n\t\tthis.adminIdAndToken = {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\tid: responseJson.data.userId as string,\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\ttoken: responseJson.data.authToken as string,\n\t\t} as AdminIdAndToken;\n\t\treturn this.adminIdAndToken;\n\t}\n\n\tprivate validateRocketChatConfig(): void {\n\t\tif (!this.options.uri) {\n\t\t\tthrow new Error('rocket chat uri not set');\n\t\t}\n\t\tif (!(this.options.adminId && this.options.adminToken) && !(this.options.adminUser && this.options.adminPassword)) {\n\t\t\tthrow new Error('rocket chat adminId and adminToken OR adminUser and adminPassword must be set');\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RocketChatUser.html":{"url":"classes/RocketChatUser.html","title":"class - RocketChatUser","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RocketChatUser\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat-user/domain/rocket-chat-user.do.ts\n \n\n\n\n \n Extends\n \n \n DomainObject\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n userId\n \n \n username\n \n \n rcId\n \n \n authToken\n \n \n createdAt\n \n \n updatedAt\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n userId\n \n \n\n \n \n getuserId()\n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/domain/rocket-chat-user.do.ts:14\n \n \n\n \n \n \n \n \n \n \n username\n \n \n\n \n \n getusername()\n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/domain/rocket-chat-user.do.ts:18\n \n \n\n \n \n \n \n \n \n \n rcId\n \n \n\n \n \n getrcId()\n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/domain/rocket-chat-user.do.ts:22\n \n \n\n \n \n \n \n \n \n \n authToken\n \n \n\n \n \n getauthToken()\n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/domain/rocket-chat-user.do.ts:26\n \n \n\n \n \n \n \n \n \n \n createdAt\n \n \n\n \n \n getcreatedAt()\n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/domain/rocket-chat-user.do.ts:30\n \n \n\n \n \n \n \n \n \n \n updatedAt\n \n \n\n \n \n getupdatedAt()\n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/domain/rocket-chat-user.do.ts:34\n \n \n\n \n \n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\n\nexport interface RocketChatUserProps extends AuthorizableObject {\n\tuserId: EntityId;\n\tusername: string;\n\trcId: string;\n\tauthToken?: string;\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n}\n\nexport class RocketChatUser extends DomainObject {\n\tget userId(): EntityId {\n\t\treturn this.props.userId;\n\t}\n\n\tget username(): string {\n\t\treturn this.props.username;\n\t}\n\n\tget rcId(): string {\n\t\treturn this.props.rcId;\n\t}\n\n\tget authToken(): string | undefined {\n\t\treturn this.props.authToken;\n\t}\n\n\tget createdAt(): Date | undefined {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date | undefined {\n\t\treturn this.props.updatedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/RocketChatUserEntity.html":{"url":"entities/RocketChatUserEntity.html","title":"entity - RocketChatUserEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n RocketChatUserEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat-user/entity/rocket-chat-user.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n authToken\n \n \n \n \n rcId\n \n \n \n \n userId\n \n \n \n \n username\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n authToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/entity/rocket-chat-user.entity.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n rcId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()@Index()\n \n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/entity/rocket-chat-user.entity.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property()@Unique()\n \n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/entity/rocket-chat-user.entity.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()@Unique()\n \n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/entity/rocket-chat-user.entity.ts:20\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Index, Property, Unique } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface RocketChatUserEntityProps {\n\tid?: EntityId;\n\tuserId: ObjectId;\n\tusername: string;\n\trcId: string;\n\tauthToken?: string;\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n}\n\n@Entity({ tableName: 'rocketchatusers' })\nexport class RocketChatUserEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Unique()\n\tusername: string;\n\n\t@Property()\n\t@Unique()\n\tuserId: ObjectId;\n\n\t@Property()\n\t@Index()\n\trcId: string;\n\n\t@Property({ nullable: true })\n\tauthToken?: string;\n\n\tconstructor(props: RocketChatUserEntityProps) {\n\t\tsuper();\n\n\t\tif (props.id !== undefined) {\n\t\t\tthis.id = props.id;\n\t\t}\n\n\t\tthis.userId = props.userId;\n\t\tthis.username = props.username;\n\t\tthis.rcId = props.rcId;\n\n\t\tif (props.authToken !== undefined) {\n\t\t\tthis.authToken = props.authToken;\n\t\t}\n\n\t\tif (props.createdAt !== undefined) {\n\t\t\tthis.createdAt = props.createdAt;\n\t\t}\n\n\t\tif (props.updatedAt !== undefined) {\n\t\t\tthis.updatedAt = props.updatedAt;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RocketChatUserEntityProps.html":{"url":"interfaces/RocketChatUserEntityProps.html","title":"interface - RocketChatUserEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RocketChatUserEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat-user/entity/rocket-chat-user.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n authToken\n \n \n \n Optional\n \n createdAt\n \n \n \n Optional\n \n id\n \n \n \n \n rcId\n \n \n \n Optional\n \n updatedAt\n \n \n \n \n userId\n \n \n \n \n username\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n authToken\n \n \n \n \n \n \n \n \n authToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n rcId\n \n \n \n \n \n \n \n \n rcId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: ObjectId\n\n \n \n\n\n \n \n Type : ObjectId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n \n \n username: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Index, Property, Unique } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface RocketChatUserEntityProps {\n\tid?: EntityId;\n\tuserId: ObjectId;\n\tusername: string;\n\trcId: string;\n\tauthToken?: string;\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n}\n\n@Entity({ tableName: 'rocketchatusers' })\nexport class RocketChatUserEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Unique()\n\tusername: string;\n\n\t@Property()\n\t@Unique()\n\tuserId: ObjectId;\n\n\t@Property()\n\t@Index()\n\trcId: string;\n\n\t@Property({ nullable: true })\n\tauthToken?: string;\n\n\tconstructor(props: RocketChatUserEntityProps) {\n\t\tsuper();\n\n\t\tif (props.id !== undefined) {\n\t\t\tthis.id = props.id;\n\t\t}\n\n\t\tthis.userId = props.userId;\n\t\tthis.username = props.username;\n\t\tthis.rcId = props.rcId;\n\n\t\tif (props.authToken !== undefined) {\n\t\t\tthis.authToken = props.authToken;\n\t\t}\n\n\t\tif (props.createdAt !== undefined) {\n\t\t\tthis.createdAt = props.createdAt;\n\t\t}\n\n\t\tif (props.updatedAt !== undefined) {\n\t\t\tthis.updatedAt = props.updatedAt;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RocketChatUserFactory.html":{"url":"classes/RocketChatUserFactory.html","title":"class - RocketChatUserFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RocketChatUserFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat-user/entity/testing/rocket-chat-user.entity.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseFactory } from '@shared/testing';\nimport { RocketChatUserEntity, RocketChatUserEntityProps } from '../rocket-chat-user.entity';\n\nclass RocketChatUserFactory extends BaseFactory {}\n\nexport const rocketChatUserEntityFactory = RocketChatUserFactory.define(RocketChatUserEntity, ({ sequence }) => {\n\treturn {\n\t\tid: new ObjectId().toHexString(),\n\t\tuserId: new ObjectId(),\n\t\tusername: `username-${sequence}`,\n\t\trcId: `rcId-${sequence}`,\n\t\tauthToken: `aythToken-${sequence}`,\n\t\tcreatedAt: new Date(),\n\t\tupdatedAt: new Date(),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RocketChatUserMapper.html":{"url":"classes/RocketChatUserMapper.html","title":"class - RocketChatUserMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RocketChatUserMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat-user/repo/mapper/rocket-chat-user.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToDO\n \n \n Static\n mapToEntity\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToDO\n \n \n \n \n \n \n \n mapToDO(entity: RocketChatUserEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/rocketchat-user/repo/mapper/rocket-chat-user.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n RocketChatUserEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RocketChatUser\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToEntity\n \n \n \n \n \n \n \n mapToEntity(domainObject: RocketChatUser)\n \n \n\n\n \n \n Defined in apps/server/src/modules/rocketchat-user/repo/mapper/rocket-chat-user.mapper.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n RocketChatUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RocketChatUserEntity\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { RocketChatUserEntity } from '../../entity';\nimport { RocketChatUser } from '../../domain/rocket-chat-user.do';\n\nexport class RocketChatUserMapper {\n\tstatic mapToDO(entity: RocketChatUserEntity): RocketChatUser {\n\t\treturn new RocketChatUser({\n\t\t\tid: entity.id,\n\t\t\tuserId: entity.userId.toHexString(),\n\t\t\tusername: entity.username,\n\t\t\trcId: entity.rcId,\n\t\t\tauthToken: entity.authToken,\n\t\t\tcreatedAt: entity.createdAt,\n\t\t\tupdatedAt: entity.updatedAt,\n\t\t});\n\t}\n\n\tstatic mapToEntity(domainObject: RocketChatUser): RocketChatUserEntity {\n\t\treturn new RocketChatUserEntity({\n\t\t\tid: domainObject.id,\n\t\t\tuserId: new ObjectId(domainObject.userId),\n\t\t\tusername: domainObject.username,\n\t\t\trcId: domainObject.rcId,\n\t\t\tauthToken: domainObject.authToken,\n\t\t\tcreatedAt: domainObject.createdAt,\n\t\t\tupdatedAt: domainObject.updatedAt,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RocketChatUserModule.html":{"url":"modules/RocketChatUserModule.html","title":"module - RocketChatUserModule","body":"\n \n\n\n\n\n Modules\n RocketChatUserModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_RocketChatUserModule\n\n\n\ncluster_RocketChatUserModule_exports\n\n\n\ncluster_RocketChatUserModule_providers\n\n\n\n\nRocketChatUserService \n\nRocketChatUserService \n\n\n\nRocketChatUserModule\n\nRocketChatUserModule\n\nRocketChatUserService -->\n\nRocketChatUserModule->RocketChatUserService \n\n\n\n\n\nRocketChatUserRepo\n\nRocketChatUserRepo\n\nRocketChatUserModule -->\n\nRocketChatUserRepo->RocketChatUserModule\n\n\n\n\n\nRocketChatUserService\n\nRocketChatUserService\n\nRocketChatUserModule -->\n\nRocketChatUserService->RocketChatUserModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/rocketchat-user/rocketchat-user.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n RocketChatUserRepo\n \n \n RocketChatUserService\n \n \n \n \n Exports\n \n \n RocketChatUserService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { RocketChatUserRepo } from './repo';\nimport { RocketChatUserService } from './service/rocket-chat-user.service';\n\n@Module({\n\tproviders: [RocketChatUserRepo, RocketChatUserService],\n\texports: [RocketChatUserService],\n})\nexport class RocketChatUserModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RocketChatUserProps.html":{"url":"interfaces/RocketChatUserProps.html","title":"interface - RocketChatUserProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RocketChatUserProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat-user/domain/rocket-chat-user.do.ts\n \n\n\n\n \n Extends\n \n \n AuthorizableObject\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n authToken\n \n \n \n Optional\n \n createdAt\n \n \n \n \n rcId\n \n \n \n Optional\n \n updatedAt\n \n \n \n \n userId\n \n \n \n \n username\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n authToken\n \n \n \n \n \n \n \n \n authToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n rcId\n \n \n \n \n \n \n \n \n rcId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n \n \n username: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\n\nexport interface RocketChatUserProps extends AuthorizableObject {\n\tuserId: EntityId;\n\tusername: string;\n\trcId: string;\n\tauthToken?: string;\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n}\n\nexport class RocketChatUser extends DomainObject {\n\tget userId(): EntityId {\n\t\treturn this.props.userId;\n\t}\n\n\tget username(): string {\n\t\treturn this.props.username;\n\t}\n\n\tget rcId(): string {\n\t\treturn this.props.rcId;\n\t}\n\n\tget authToken(): string | undefined {\n\t\treturn this.props.authToken;\n\t}\n\n\tget createdAt(): Date | undefined {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date | undefined {\n\t\treturn this.props.updatedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RocketChatUserRepo.html":{"url":"injectables/RocketChatUserRepo.html","title":"injectable - RocketChatUserRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RocketChatUserRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat-user/repo/rocket-chat-user.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteByUserId\n \n \n Async\n findByUserId\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/repo/rocket-chat-user.repo.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteByUserId\n \n \n \n \n \n \n \n deleteByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/rocketchat-user/repo/rocket-chat-user.repo.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserId\n \n \n \n \n \n \n \n findByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/rocketchat-user/repo/rocket-chat-user.repo.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/repo/rocket-chat-user.repo.ts:12\n \n \n\n \n \n\n \n\n\n \n import { EntityManager, ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { RocketChatUser } from '../domain/rocket-chat-user.do';\nimport { RocketChatUserEntity } from '../entity';\nimport { RocketChatUserMapper } from './mapper';\n\n@Injectable()\nexport class RocketChatUserRepo {\n\tconstructor(private readonly em: EntityManager) {}\n\n\tget entityName() {\n\t\treturn RocketChatUserEntity;\n\t}\n\n\tasync findByUserId(userId: EntityId): Promise {\n\t\tconst entity: RocketChatUserEntity = await this.em.findOneOrFail(RocketChatUserEntity, {\n\t\t\tuserId: new ObjectId(userId),\n\t\t});\n\n\t\tconst mapped: RocketChatUser = RocketChatUserMapper.mapToDO(entity);\n\n\t\treturn mapped;\n\t}\n\n\tasync deleteByUserId(userId: EntityId): Promise {\n\t\tconst promise: Promise = this.em.nativeDelete(RocketChatUserEntity, {\n\t\t\tuserId: new ObjectId(userId),\n\t\t});\n\n\t\treturn promise;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RocketChatUserService.html":{"url":"injectables/RocketChatUserService.html","title":"injectable - RocketChatUserService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RocketChatUserService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat-user/service/rocket-chat-user.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n deleteByUserId\n \n \n Public\n Async\n findByUserId\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(rocketChatUserRepo: RocketChatUserRepo)\n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/service/rocket-chat-user.service.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n rocketChatUserRepo\n \n \n RocketChatUserRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n deleteByUserId\n \n \n \n \n \n \n \n deleteByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/rocketchat-user/service/rocket-chat-user.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findByUserId\n \n \n \n \n \n \n \n findByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/rocketchat-user/service/rocket-chat-user.service.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { RocketChatUser } from '../domain';\nimport { RocketChatUserRepo } from '../repo';\n\n@Injectable()\nexport class RocketChatUserService {\n\tconstructor(private readonly rocketChatUserRepo: RocketChatUserRepo) {}\n\n\tpublic async findByUserId(userId: EntityId): Promise {\n\t\tconst user: RocketChatUser = await this.rocketChatUserRepo.findByUserId(userId);\n\n\t\treturn user;\n\t}\n\n\tpublic deleteByUserId(userId: EntityId): Promise {\n\t\treturn this.rocketChatUserRepo.deleteByUserId(userId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/Role.html":{"url":"entities/Role.html","title":"entity - Role","body":"\n \n\n\n\n\n\n\n\n Entities\n Role\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/role.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n name\n \n \n \n permissions\n \n \n \n roles\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : RoleName\n\n \n \n \n \n Decorators : \n \n \n @Property()@Unique()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/role.entity.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n permissions\n \n \n \n \n \n \n Type : Permission[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/role.entity.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n roles\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @ManyToMany({entity: 'Role'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/role.entity.ts:21\n \n \n\n\n \n \n\n \n\n\n \n import { Collection, Entity, ManyToMany, Property, Unique } from '@mikro-orm/core';\nimport { Permission, RoleName } from '../interface';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface RoleProperties {\n\tpermissions?: Permission[];\n\troles?: Role[];\n\tname: RoleName;\n}\n\n@Entity({ tableName: 'roles' })\nexport class Role extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Unique()\n\tname: RoleName;\n\n\t@Property()\n\tpermissions: Permission[] = [];\n\n\t@ManyToMany({ entity: 'Role' })\n\troles = new Collection(this);\n\n\tconstructor(props: RoleProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tif (props.permissions) this.permissions = props.permissions;\n\t\tif (props.roles) this.roles.set(props.roles);\n\t}\n\n\tpublic resolvePermissions(): string[] {\n\t\tif (!this.roles.isInitialized(true)) {\n\t\t\tthrow new Error('Roles items are not loaded.');\n\t\t}\n\n\t\tlet permissions: string[] = [...this.permissions];\n\n\t\tconst innerRoles = this.roles.getItems();\n\t\tinnerRoles.forEach((innerRole) => {\n\t\t\tconst innerPermissions = innerRole.resolvePermissions();\n\t\t\tpermissions = [...permissions, ...innerPermissions];\n\t\t});\n\n\t\tconst uniquePermissions = [...new Set(permissions)];\n\n\t\treturn uniquePermissions;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RoleDto.html":{"url":"classes/RoleDto.html","title":"class - RoleDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RoleDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/role/service/dto/role.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n id\n \n \n name\n \n \n Optional\n permissions\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: RoleDto)\n \n \n \n \n Defined in apps/server/src/modules/role/service/dto/role.dto.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n RoleDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/role/service/dto/role.dto.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : RoleName\n\n \n \n \n \n Defined in apps/server/src/modules/role/service/dto/role.dto.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n permissions\n \n \n \n \n \n \n Type : Permission[]\n\n \n \n \n \n Defined in apps/server/src/modules/role/service/dto/role.dto.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Permission, RoleName } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\n\nexport class RoleDto {\n\tid?: EntityId;\n\n\tname: RoleName;\n\n\tpermissions?: Permission[];\n\n\tconstructor(props: RoleDto) {\n\t\tthis.id = props.id;\n\t\tthis.name = props.name;\n\t\tthis.permissions = props.permissions;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RoleMapper.html":{"url":"classes/RoleMapper.html","title":"class - RoleMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RoleMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/role/mapper/role.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapFromEntitiesToDtos\n \n \n Static\n mapFromEntityToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapFromEntitiesToDtos\n \n \n \n \n \n \n \n mapFromEntitiesToDtos(enities: Role[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/role/mapper/role.mapper.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n enities\n \n Role[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RoleDto[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapFromEntityToDto\n \n \n \n \n \n \n \n mapFromEntityToDto(entity: Role)\n \n \n\n\n \n \n Defined in apps/server/src/modules/role/mapper/role.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n Role\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RoleDto\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { RoleDto } from '@modules/role/service/dto/role.dto';\nimport { Role } from '@shared/domain/entity';\n\nexport class RoleMapper {\n\tstatic mapFromEntityToDto(entity: Role): RoleDto {\n\t\treturn new RoleDto({\n\t\t\tid: entity.id,\n\t\t\tname: entity.name,\n\t\t\tpermissions: entity.permissions,\n\t\t});\n\t}\n\n\tstatic mapFromEntitiesToDtos(enities: Role[]): RoleDto[] {\n\t\treturn enities.map((entity) => this.mapFromEntityToDto(entity));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RoleModule.html":{"url":"modules/RoleModule.html","title":"module - RoleModule","body":"\n \n\n\n\n\n Modules\n RoleModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_RoleModule\n\n\n\ncluster_RoleModule_exports\n\n\n\ncluster_RoleModule_providers\n\n\n\n\nRoleRepo \n\nRoleRepo \n\n\n\nRoleService \n\nRoleService \n\n\n\nRoleUc \n\nRoleUc \n\n\n\nRoleModule\n\nRoleModule\n\nRoleRepo -->\n\nRoleModule->RoleRepo \n\n\n\nRoleService -->\n\nRoleModule->RoleService \n\n\n\nRoleUc -->\n\nRoleModule->RoleUc \n\n\n\n\n\nRoleRepo\n\nRoleRepo\n\nRoleModule -->\n\nRoleRepo->RoleModule\n\n\n\n\n\nRoleService\n\nRoleService\n\nRoleModule -->\n\nRoleService->RoleModule\n\n\n\n\n\nRoleUc\n\nRoleUc\n\nRoleModule -->\n\nRoleUc->RoleModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/role/role.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n RoleRepo\n \n \n RoleService\n \n \n RoleUc\n \n \n \n \n Exports\n \n \n RoleRepo\n \n \n RoleService\n \n \n RoleUc\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { RoleRepo } from '@shared/repo';\nimport { RoleService } from '@modules/role/service/role.service';\nimport { RoleUc } from '@modules/role/uc/role.uc';\n\n@Module({\n\tproviders: [RoleRepo, RoleService, RoleUc],\n\texports: [RoleService, RoleUc, RoleRepo],\n})\nexport class RoleModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RoleNameMapper.html":{"url":"classes/RoleNameMapper.html","title":"class - RoleNameMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RoleNameMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/mapper/role-name.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToDomain\n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToDomain\n \n \n \n \n \n \n \n mapToDomain(roleName: FilterRoleType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/mapper/role-name.mapper.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roleName\n \n FilterRoleType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : IImportUserRoleName\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(roleName: IImportUserRoleName)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/mapper/role-name.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roleName\n \n IImportUserRoleName\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserRole\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { IImportUserRoleName } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { FilterRoleType, UserRole } from '../controller/dto';\n\nexport class RoleNameMapper {\n\tstatic mapToResponse(roleName: IImportUserRoleName): UserRole {\n\t\tif (roleName === RoleName.ADMINISTRATOR) return UserRole.ADMIN;\n\t\tif (roleName === RoleName.TEACHER) return UserRole.TEACHER;\n\t\tif (roleName === RoleName.STUDENT) return UserRole.STUDENT;\n\t\tthrow Error('invalid role name from domain');\n\t}\n\n\tstatic mapToDomain(roleName: FilterRoleType): IImportUserRoleName {\n\t\tif (roleName === FilterRoleType.ADMIN) return RoleName.ADMINISTRATOR;\n\t\tif (roleName === FilterRoleType.TEACHER) return RoleName.TEACHER;\n\t\tif (roleName === FilterRoleType.STUDENT) return RoleName.STUDENT;\n\t\tthrow Error('invalid role name from query');\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RoleProperties.html":{"url":"interfaces/RoleProperties.html","title":"interface - RoleProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RoleProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/role.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n name\n \n \n \n Optional\n \n permissions\n \n \n \n Optional\n \n roles\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: RoleName\n\n \n \n\n\n \n \n Type : RoleName\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n permissions\n \n \n \n \n \n \n \n \n permissions: Permission[]\n\n \n \n\n\n \n \n Type : Permission[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n roles\n \n \n \n \n \n \n \n \n roles: Role[]\n\n \n \n\n\n \n \n Type : Role[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Entity, ManyToMany, Property, Unique } from '@mikro-orm/core';\nimport { Permission, RoleName } from '../interface';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface RoleProperties {\n\tpermissions?: Permission[];\n\troles?: Role[];\n\tname: RoleName;\n}\n\n@Entity({ tableName: 'roles' })\nexport class Role extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Unique()\n\tname: RoleName;\n\n\t@Property()\n\tpermissions: Permission[] = [];\n\n\t@ManyToMany({ entity: 'Role' })\n\troles = new Collection(this);\n\n\tconstructor(props: RoleProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tif (props.permissions) this.permissions = props.permissions;\n\t\tif (props.roles) this.roles.set(props.roles);\n\t}\n\n\tpublic resolvePermissions(): string[] {\n\t\tif (!this.roles.isInitialized(true)) {\n\t\t\tthrow new Error('Roles items are not loaded.');\n\t\t}\n\n\t\tlet permissions: string[] = [...this.permissions];\n\n\t\tconst innerRoles = this.roles.getItems();\n\t\tinnerRoles.forEach((innerRole) => {\n\t\t\tconst innerPermissions = innerRole.resolvePermissions();\n\t\t\tpermissions = [...permissions, ...innerPermissions];\n\t\t});\n\n\t\tconst uniquePermissions = [...new Set(permissions)];\n\n\t\treturn uniquePermissions;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RoleReference.html":{"url":"classes/RoleReference.html","title":"class - RoleReference","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RoleReference\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/role-reference.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n id\n \n \n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: RoleReference)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/role-reference.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n RoleReference\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/role-reference.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : RoleName\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/role-reference.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { RoleName } from '../interface';\nimport { EntityId } from '../types';\n\nexport class RoleReference {\n\tid: EntityId;\n\n\tname: RoleName;\n\n\tconstructor(props: RoleReference) {\n\t\tthis.id = props.id;\n\t\tthis.name = props.name;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RoleRepo.html":{"url":"injectables/RoleRepo.html","title":"injectable - RoleRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RoleRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/role/role.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n cacheExpiration\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findById\n \n \n Async\n findByIds\n \n \n Async\n findByName\n \n \n Async\n findByNames\n \n \n create\n \n \n Async\n delete\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:20\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByIds\n \n \n \n \n \n \n \n findByIds(ids: string[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/role/role.repo.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n ids\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByName\n \n \n \n \n \n \n \n findByName(name: RoleName)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/role/role.repo.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n RoleName\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByNames\n \n \n \n \n \n \n \n findByNames(names: RoleName[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/role/role.repo.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n names\n \n RoleName[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n cacheExpiration\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 60000\n \n \n \n \n Defined in apps/server/src/shared/repo/role/role.repo.ts:13\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/role/role.repo.ts:9\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Role } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '../base.repo';\n\n@Injectable()\nexport class RoleRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn Role;\n\t}\n\n\tcacheExpiration = 60000;\n\n\tasync findByName(name: RoleName): Promise {\n\t\tconst promise: Promise = this._em.findOneOrFail(Role, { name }, { cache: this.cacheExpiration });\n\t\treturn promise;\n\t}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst promise: Promise = this._em.findOneOrFail(Role, { id }, { cache: this.cacheExpiration });\n\t\treturn promise;\n\t}\n\n\tasync findByNames(names: RoleName[]): Promise {\n\t\tconst promise: Promise = this._em.find(Role, { name: { $in: names } }, { cache: this.cacheExpiration });\n\t\treturn promise;\n\t}\n\n\tasync findByIds(ids: string[]): Promise {\n\t\tconst promise: Promise = this._em.find(Role, { id: { $in: ids } }, { cache: this.cacheExpiration });\n\t\treturn promise;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RoleService.html":{"url":"injectables/RoleService.html","title":"injectable - RoleService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RoleService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/role/service/role.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findById\n \n \n Async\n findByIds\n \n \n Async\n findByNames\n \n \n Async\n getProtectedRoles\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(roleRepo: RoleRepo)\n \n \n \n \n Defined in apps/server/src/modules/role/service/role.service.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n roleRepo\n \n \n RoleRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/role/service/role.service.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByIds\n \n \n \n \n \n \n \n findByIds(ids: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/role/service/role.service.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n ids\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByNames\n \n \n \n \n \n \n \n findByNames(names: RoleName[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/role/service/role.service.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n names\n \n RoleName[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getProtectedRoles\n \n \n \n \n \n \n \n getProtectedRoles()\n \n \n\n\n \n \n Defined in apps/server/src/modules/role/service/role.service.ts:13\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Role } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { RoleRepo } from '@shared/repo';\nimport { RoleMapper } from '../mapper/role.mapper';\nimport { RoleDto } from './dto/role.dto';\n\n@Injectable()\nexport class RoleService {\n\tconstructor(private readonly roleRepo: RoleRepo) {}\n\n\tasync getProtectedRoles(): Promise {\n\t\tconst roleDtos: RoleDto[] = await this.findByNames([RoleName.ADMINISTRATOR, RoleName.TEACHER]);\n\t\treturn roleDtos;\n\t}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst entity: Role = await this.roleRepo.findById(id);\n\t\tconst roleDto: RoleDto = RoleMapper.mapFromEntityToDto(entity);\n\t\treturn roleDto;\n\t}\n\n\tasync findByIds(ids: EntityId[]): Promise {\n\t\tconst roles: Role[] = await this.roleRepo.findByIds(ids);\n\t\tconst roleDtos: RoleDto[] = RoleMapper.mapFromEntitiesToDtos(roles);\n\t\treturn roleDtos;\n\t}\n\n\tasync findByNames(names: RoleName[]): Promise {\n\t\tconst entities: Role[] = await this.roleRepo.findByNames(names);\n\t\tconst roleDtos: RoleDto[] = RoleMapper.mapFromEntitiesToDtos(entities);\n\t\treturn roleDtos;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RoleUc.html":{"url":"injectables/RoleUc.html","title":"injectable - RoleUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RoleUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/role/uc/role.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findByNames\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(roleService: RoleService)\n \n \n \n \n Defined in apps/server/src/modules/role/uc/role.uc.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n roleService\n \n \n RoleService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findByNames\n \n \n \n \n \n \n \n findByNames(names: RoleName[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/role/uc/role.uc.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n names\n \n RoleName[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { RoleDto } from '@modules/role/service/dto/role.dto';\nimport { RoleService } from '@modules/role/service/role.service';\nimport { Injectable } from '@nestjs/common';\nimport { RoleName } from '@shared/domain/interface';\n\n@Injectable()\nexport class RoleUc {\n\tconstructor(private readonly roleService: RoleService) {}\n\n\tasync findByNames(names: RoleName[]): Promise {\n\t\tconst promise: Promise = this.roleService.findByNames(names);\n\t\treturn promise;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RoomBoardDTOFactory.html":{"url":"injectables/RoomBoardDTOFactory.html","title":"injectable - RoomBoardDTOFactory","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RoomBoardDTOFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n createDTO\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorisationService: AuthorizationService, roomsAuthorisationService: RoomsAuthorisationService)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:186\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorisationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n roomsAuthorisationService\n \n \n RoomsAuthorisationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n createDTO\n \n \n \n \n \n \ncreateDTO(undefined: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:192\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n literal type\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RoomBoardDTO\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { Action, AuthorizationService } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport {\n\tBoard,\n\tBoardElement,\n\tBoardElementType,\n\tColumnBoardTarget,\n\tColumnboardBoardElement,\n\tCourse,\n\tLessonEntity,\n\tTask,\n\tTaskWithStatusVo,\n\tUser,\n} from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { TaskStatus } from '@shared/domain/types';\nimport {\n\tColumnBoardMetaData,\n\tLessonMetaData,\n\tRoomBoardDTO,\n\tRoomBoardElementDTO,\n\tRoomBoardElementTypes,\n} from '../types/room-board.types';\nimport { RoomsAuthorisationService } from './rooms.authorisation.service';\n\nclass DtoCreator {\n\troom: Course;\n\n\tboard: Board;\n\n\tuser: User;\n\n\tauthorisationService: AuthorizationService;\n\n\troomsAuthorisationService: RoomsAuthorisationService;\n\n\tconstructor({\n\t\troom,\n\t\tboard,\n\t\tuser,\n\t\tauthorisationService,\n\t\troomsAuthorisationService,\n\t}: {\n\t\troom: Course;\n\t\tboard: Board;\n\t\tuser: User;\n\t\tauthorisationService: AuthorizationService;\n\t\troomsAuthorisationService: RoomsAuthorisationService;\n\t}) {\n\t\tthis.room = room;\n\t\tthis.board = board;\n\t\tthis.user = user;\n\t\tthis.authorisationService = authorisationService;\n\t\tthis.roomsAuthorisationService = roomsAuthorisationService;\n\t}\n\n\tmanufacture(): RoomBoardDTO {\n\t\tconst elements = this.board.getElements();\n\t\tconst filtered = this.filterByPermission(elements);\n\n\t\tconst mappedElements = this.mapToElementDTOs(filtered);\n\t\tconst dto = this.buildDTOWithElements(mappedElements);\n\t\treturn dto;\n\t}\n\n\tprivate filterByPermission(elements: BoardElement[]) {\n\t\tconst filtered = elements.filter((element) => {\n\t\t\tlet result = false;\n\t\t\tif (element.boardElementType === BoardElementType.Task) {\n\t\t\t\tresult = this.roomsAuthorisationService.hasTaskReadPermission(this.user, element.target as Task);\n\t\t\t}\n\n\t\t\tif (element.boardElementType === BoardElementType.Lesson) {\n\t\t\t\tresult = this.roomsAuthorisationService.hasLessonReadPermission(this.user, element.target as LessonEntity);\n\t\t\t}\n\n\t\t\tif (element instanceof ColumnboardBoardElement && this.isColumnBoardFeatureFlagActive()) {\n\t\t\t\tresult = this.authorisationService.hasPermission(this.user, this.room, {\n\t\t\t\t\taction: Action.read,\n\t\t\t\t\trequiredPermissions: [Permission.COURSE_VIEW],\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn result;\n\t\t});\n\t\treturn filtered;\n\t}\n\n\tprivate isColumnBoardFeatureFlagActive() {\n\t\tconst isActive = (Configuration.get('FEATURE_COLUMN_BOARD_ENABLED') as boolean) === true;\n\n\t\treturn isActive;\n\t}\n\n\tprivate isTeacher(): boolean {\n\t\tif (this.room.teachers.contains(this.user) || this.room.substitutionTeachers.contains(this.user)) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprivate mapToElementDTOs(elements: BoardElement[]) {\n\t\tconst results: RoomBoardElementDTO[] = [];\n\t\telements.forEach((element) => {\n\t\t\tif (element.boardElementType === BoardElementType.Task) {\n\t\t\t\tconst mapped = this.mapTaskElement(element);\n\t\t\t\tresults.push(mapped);\n\t\t\t}\n\t\t\tif (element.boardElementType === BoardElementType.Lesson) {\n\t\t\t\tconst mapped = this.mapLessonElement(element);\n\t\t\t\tresults.push(mapped);\n\t\t\t}\n\t\t\tif (element.boardElementType === BoardElementType.ColumnBoard) {\n\t\t\t\tconst mapped = this.mapColumnBoardElement(element);\n\t\t\t\tresults.push(mapped);\n\t\t\t}\n\t\t});\n\t\treturn results;\n\t}\n\n\tprivate mapTaskElement(element: BoardElement): RoomBoardElementDTO {\n\t\tconst task = element.target as Task;\n\t\tconst status = this.createTaskStatus(task);\n\n\t\tconst content = new TaskWithStatusVo(task, status);\n\t\treturn { type: RoomBoardElementTypes.TASK, content };\n\t}\n\n\tprivate createTaskStatus(task: Task): TaskStatus {\n\t\tlet status: TaskStatus;\n\t\tif (this.isTeacher()) {\n\t\t\tstatus = task.createTeacherStatusForUser(this.user);\n\t\t} else {\n\t\t\tstatus = task.createStudentStatusForUser(this.user);\n\t\t}\n\t\treturn status;\n\t}\n\n\tprivate mapLessonElement(element: BoardElement): RoomBoardElementDTO {\n\t\tconst type = RoomBoardElementTypes.LESSON;\n\t\tconst lesson = element.target as LessonEntity;\n\t\tconst content: LessonMetaData = {\n\t\t\tid: lesson.id,\n\t\t\tname: lesson.name,\n\t\t\thidden: lesson.hidden,\n\t\t\tcreatedAt: lesson.createdAt,\n\t\t\tupdatedAt: lesson.updatedAt,\n\t\t\tcourseName: lesson.course.name,\n\t\t\tnumberOfPublishedTasks: lesson.getNumberOfPublishedTasks(),\n\t\t};\n\t\tif (this.isTeacher()) {\n\t\t\tcontent.numberOfDraftTasks = lesson.getNumberOfDraftTasks();\n\t\t\tcontent.numberOfPlannedTasks = lesson.getNumberOfPlannedTasks();\n\t\t}\n\t\treturn { type, content };\n\t}\n\n\tprivate mapColumnBoardElement(element: BoardElement): RoomBoardElementDTO {\n\t\tconst type = RoomBoardElementTypes.COLUMN_BOARD;\n\t\tconst columnBoardTarget = element.target as ColumnBoardTarget;\n\t\tconst content: ColumnBoardMetaData = {\n\t\t\tid: columnBoardTarget.id,\n\t\t\tcolumnBoardId: columnBoardTarget.columnBoardId,\n\t\t\ttitle: columnBoardTarget.title,\n\t\t\tcreatedAt: columnBoardTarget.createdAt,\n\t\t\tupdatedAt: columnBoardTarget.updatedAt,\n\t\t\tpublished: columnBoardTarget.published,\n\t\t};\n\n\t\treturn { type, content };\n\t}\n\n\tprivate buildDTOWithElements(elements: RoomBoardElementDTO[]): RoomBoardDTO {\n\t\tconst dto = {\n\t\t\troomId: this.room.id,\n\t\t\tdisplayColor: this.room.color,\n\t\t\ttitle: this.room.name,\n\t\t\telements,\n\t\t\tisArchived: this.room.isFinished(),\n\t\t};\n\t\treturn dto;\n\t}\n}\n\n@Injectable()\nexport class RoomBoardDTOFactory {\n\tconstructor(\n\t\tprivate readonly authorisationService: AuthorizationService,\n\t\tprivate readonly roomsAuthorisationService: RoomsAuthorisationService\n\t) {}\n\n\tcreateDTO({ room, board, user }: { room: Course; board: Board; user: User }): RoomBoardDTO {\n\t\tconst worker = new DtoCreator({\n\t\t\troom,\n\t\t\tboard,\n\t\t\tuser,\n\t\t\tauthorisationService: this.authorisationService,\n\t\t\troomsAuthorisationService: this.roomsAuthorisationService,\n\t\t});\n\t\tconst result = worker.manufacture();\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RoomBoardResponseMapper.html":{"url":"injectables/RoomBoardResponseMapper.html","title":"injectable - RoomBoardResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RoomBoardResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/mapper/room-board-response.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n mapBoardElements\n \n \n Private\n mapColumnBoard\n \n \n Private\n mapLesson\n \n \n Private\n mapTask\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n mapToResponse\n \n \n \n \n \n \nmapToResponse(board: RoomBoardDTO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/mapper/room-board-response.mapper.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n board\n \n RoomBoardDTO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SingleColumnBoardResponse\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n mapBoardElements\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/modules/learnroom/mapper/room-board-response.mapper.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n mapColumnBoard\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/modules/learnroom/mapper/room-board-response.mapper.ts:93\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n mapLesson\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/modules/learnroom/mapper/room-board-response.mapper.ts:73\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n mapTask\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/modules/learnroom/mapper/room-board-response.mapper.ts:47\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Course, TaskWithStatusVo } from '@shared/domain/entity';\nimport {\n\tBoardElementResponse,\n\tBoardLessonResponse,\n\tBoardTaskResponse,\n\tSingleColumnBoardResponse,\n} from '../controller/dto';\nimport { BoardColumnBoardResponse } from '../controller/dto/single-column-board/board-column-board.response';\nimport { ColumnBoardMetaData, LessonMetaData, RoomBoardDTO, RoomBoardElementTypes } from '../types';\nimport { BoardTaskStatusMapper } from './board-taskStatus.mapper';\n\n@Injectable()\nexport class RoomBoardResponseMapper {\n\tmapToResponse(board: RoomBoardDTO): SingleColumnBoardResponse {\n\t\tconst elements = this.mapBoardElements(board);\n\n\t\tconst mapped = new SingleColumnBoardResponse({\n\t\t\troomId: board.roomId,\n\t\t\ttitle: board.title,\n\t\t\tdisplayColor: board.displayColor,\n\t\t\telements,\n\t\t\tisArchived: board.isArchived,\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tprivate mapBoardElements = (board: RoomBoardDTO): BoardElementResponse[] => {\n\t\tconst elements: BoardElementResponse[] = [];\n\t\tboard.elements.forEach((element) => {\n\t\t\tif (element.type === RoomBoardElementTypes.TASK) {\n\t\t\t\telements.push(this.mapTask(element.content as TaskWithStatusVo));\n\t\t\t}\n\n\t\t\tif (element.type === RoomBoardElementTypes.LESSON) {\n\t\t\t\telements.push(this.mapLesson(element.content as LessonMetaData));\n\t\t\t}\n\n\t\t\tif (element.type === RoomBoardElementTypes.COLUMN_BOARD) {\n\t\t\t\telements.push(this.mapColumnBoard(element.content as ColumnBoardMetaData));\n\t\t\t}\n\t\t});\n\t\treturn elements;\n\t};\n\n\tprivate mapTask = (taskWithStatus: TaskWithStatusVo): BoardElementResponse => {\n\t\tconst { task: boardTask, status } = taskWithStatus;\n\t\tconst boardTaskDesc = boardTask.getParentData();\n\t\tconst boardTaskStatus = BoardTaskStatusMapper.mapToResponse(status);\n\n\t\tconst mappedTask = new BoardTaskResponse({\n\t\t\tid: boardTask.id,\n\t\t\tname: boardTask.name,\n\t\t\tcreatedAt: boardTask.createdAt,\n\t\t\tupdatedAt: boardTask.updatedAt,\n\t\t\tstatus: boardTaskStatus,\n\t\t});\n\n\t\tconst taskCourse = boardTask.course as Course;\n\t\tmappedTask.courseName = taskCourse.name;\n\t\tmappedTask.availableDate = boardTask.availableDate;\n\t\tmappedTask.dueDate = boardTask.dueDate;\n\t\tmappedTask.displayColor = boardTaskDesc.color;\n\t\tmappedTask.description = boardTask.description;\n\t\tconst boardElementResponse = new BoardElementResponse({\n\t\t\ttype: RoomBoardElementTypes.TASK,\n\t\t\tcontent: mappedTask,\n\t\t});\n\t\treturn boardElementResponse;\n\t};\n\n\tprivate mapLesson = (lesson: LessonMetaData): BoardElementResponse => {\n\t\tconst mappedLesson = new BoardLessonResponse({\n\t\t\tid: lesson.id,\n\t\t\tname: lesson.name,\n\t\t\thidden: lesson.hidden,\n\t\t\tcreatedAt: lesson.createdAt,\n\t\t\tupdatedAt: lesson.updatedAt,\n\t\t\tnumberOfPublishedTasks: lesson.numberOfPublishedTasks,\n\t\t\tnumberOfDraftTasks: lesson.numberOfDraftTasks,\n\t\t\tnumberOfPlannedTasks: lesson.numberOfPlannedTasks,\n\t\t\tcourseName: lesson.courseName,\n\t\t});\n\n\t\tconst boardElementResponse = new BoardElementResponse({\n\t\t\ttype: RoomBoardElementTypes.LESSON,\n\t\t\tcontent: mappedLesson,\n\t\t});\n\t\treturn boardElementResponse;\n\t};\n\n\tprivate mapColumnBoard = (columnBoardInfo: ColumnBoardMetaData): BoardElementResponse => {\n\t\tconst mappedColumnBoard = new BoardColumnBoardResponse({\n\t\t\tid: columnBoardInfo.id,\n\t\t\tcolumnBoardId: columnBoardInfo.columnBoardId,\n\t\t\ttitle: columnBoardInfo.title,\n\t\t\tpublished: columnBoardInfo.published,\n\t\t\tcreatedAt: columnBoardInfo.createdAt,\n\t\t\tupdatedAt: columnBoardInfo.updatedAt,\n\t\t});\n\n\t\tconst boardElementResponse = new BoardElementResponse({\n\t\t\ttype: RoomBoardElementTypes.COLUMN_BOARD,\n\t\t\tcontent: mappedColumnBoard,\n\t\t});\n\t\treturn boardElementResponse;\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RoomElementUrlParams.html":{"url":"classes/RoomElementUrlParams.html","title":"class - RoomElementUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RoomElementUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/room-element.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n elementId\n \n \n \n \n roomId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n elementId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the element within the room.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/room-element.url.params.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n roomId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the room.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/room-element.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class RoomElementUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the room.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\troomId!: string;\n\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the element within the room.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\telementId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RoomUrlParams.html":{"url":"classes/RoomUrlParams.html","title":"class - RoomUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RoomUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/room.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n roomId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n roomId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the room.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/room.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class RoomUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the room.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\troomId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RoomsAuthorisationService.html":{"url":"injectables/RoomsAuthorisationService.html","title":"injectable - RoomsAuthorisationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RoomsAuthorisationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n hasCourseReadPermission\n \n \n hasCourseWritePermission\n \n \n hasLessonReadPermission\n \n \n hasTaskReadPermission\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n hasCourseReadPermission\n \n \n \n \n \n \nhasCourseReadPermission(user: User, course: Course)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n course\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasCourseWritePermission\n \n \n \n \n \n \nhasCourseWritePermission(user: User, course: Course)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n course\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasLessonReadPermission\n \n \n \n \n \n \nhasLessonReadPermission(user: User, lesson: LessonEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n lesson\n \n LessonEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasTaskReadPermission\n \n \n \n \n \n \nhasTaskReadPermission(user: User, task: Task)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n task\n \n Task\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, NotImplementedException } from '@nestjs/common';\nimport { Course, LessonEntity, Task, User } from '@shared/domain/entity';\n\nexport enum TaskParentPermission {\n\tread,\n\twrite,\n}\n\n@Injectable()\nexport class RoomsAuthorisationService {\n\thasCourseWritePermission(user: User, course: Course): boolean {\n\t\tconst hasPermission = course.substitutionTeachers.contains(user) || course.teachers.contains(user);\n\n\t\treturn hasPermission;\n\t}\n\n\thasCourseReadPermission(user: User, course: Course): boolean {\n\t\tconst hasPermission =\n\t\t\tcourse.students.contains(user) || course.substitutionTeachers.contains(user) || course.teachers.contains(user);\n\n\t\treturn hasPermission;\n\t}\n\n\thasTaskReadPermission(user: User, task: Task): boolean {\n\t\tconst isCreator = task.creator === user;\n\t\tlet hasCoursePermission = false;\n\n\t\tif (task.lesson) {\n\t\t\tthrow new NotImplementedException('rooms currenlty do not support tasks in lessons');\n\t\t}\n\n\t\tif (task.course) {\n\t\t\thasCoursePermission = this.hasCourseReadPermission(user, task.course);\n\n\t\t\tif (!task.isPublished()) {\n\t\t\t\thasCoursePermission = this.hasCourseWritePermission(user, task.course);\n\t\t\t}\n\t\t}\n\n\t\tconst hasPermission = isCreator || hasCoursePermission;\n\n\t\treturn hasPermission;\n\t}\n\n\thasLessonReadPermission(user: User, lesson: LessonEntity): boolean {\n\t\tlet hasCoursePermission = false;\n\t\thasCoursePermission = this.hasCourseReadPermission(user, lesson.course);\n\t\tif (lesson.hidden) {\n\t\t\thasCoursePermission = this.hasCourseWritePermission(user, lesson.course);\n\t\t}\n\n\t\treturn hasCoursePermission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/RoomsController.html":{"url":"controllers/RoomsController.html","title":"controller - RoomsController","body":"\n \n\n\n\n\n\n\n Controllers\n RoomsController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/rooms.controller.ts\n \n\n \n Prefix\n \n \n rooms\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n copyCourse\n \n \n \n \n Async\n copyLesson\n \n \n \n Async\n getRoomBoard\n \n \n \n Async\n patchElementVisibility\n \n \n \n Async\n patchOrderingOfElements\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n Async\n copyCourse\n \n \n \n \n \n \n \n copyCourse(currentUser: ICurrentUser, urlParams: RoomUrlParams)\n \n \n\n \n \n Decorators : \n \n @Post(':roomId/copy')@RequestTimeout(undefined.INCOMING_REQUEST_TIMEOUT_COPY_API)\n \n \n\n \n \n Defined in apps/server/src/modules/learnroom/controller/rooms.controller.ts:67\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n urlParams\n \n RoomUrlParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n copyLesson\n \n \n \n \n \n \n \n copyLesson(currentUser: ICurrentUser, urlParams: LessonUrlParams, params: LessonCopyApiParams)\n \n \n\n \n \n Decorators : \n \n @Post('lessons/:lessonId/copy')@RequestTimeout(undefined.INCOMING_REQUEST_TIMEOUT_COPY_API)\n \n \n\n \n \n Defined in apps/server/src/modules/learnroom/controller/rooms.controller.ts:78\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n urlParams\n \n LessonUrlParams\n \n\n \n No\n \n\n\n \n \n params\n \n LessonCopyApiParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getRoomBoard\n \n \n \n \n \n \n \n getRoomBoard(urlParams: RoomUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get(':roomId/board')\n \n \n\n \n \n Defined in apps/server/src/modules/learnroom/controller/rooms.controller.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n RoomUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n patchElementVisibility\n \n \n \n \n \n \n \n patchElementVisibility(urlParams: RoomElementUrlParams, params: PatchVisibilityParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Patch(':roomId/elements/:elementId/visibility')\n \n \n\n \n \n Defined in apps/server/src/modules/learnroom/controller/rooms.controller.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n RoomElementUrlParams\n \n\n \n No\n \n\n\n \n \n params\n \n PatchVisibilityParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n patchOrderingOfElements\n \n \n \n \n \n \n \n patchOrderingOfElements(urlParams: RoomUrlParams, params: PatchOrderParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Patch(':roomId/board/order')\n \n \n\n \n \n Defined in apps/server/src/modules/learnroom/controller/rooms.controller.ts:57\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n RoomUrlParams\n \n\n \n No\n \n\n\n \n \n params\n \n PatchOrderParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { CopyApiResponse, CopyMapper } from '@modules/copy-helper';\nimport { serverConfig } from '@modules/server/server.config';\nimport { Body, Controller, Get, Param, Patch, Post } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { RequestTimeout } from '@shared/common';\nimport { RoomBoardResponseMapper } from '../mapper/room-board-response.mapper';\nimport { CourseCopyUC } from '../uc/course-copy.uc';\nimport { LessonCopyUC } from '../uc/lesson-copy.uc';\nimport { RoomsUc } from '../uc/rooms.uc';\nimport {\n\tLessonCopyApiParams,\n\tLessonUrlParams,\n\tPatchOrderParams,\n\tPatchVisibilityParams,\n\tRoomElementUrlParams,\n\tRoomUrlParams,\n\tSingleColumnBoardResponse,\n} from './dto';\n\n@ApiTags('Rooms')\n@Authenticate('jwt')\n@Controller('rooms')\nexport class RoomsController {\n\tconstructor(\n\t\tprivate readonly roomsUc: RoomsUc,\n\t\tprivate readonly mapper: RoomBoardResponseMapper,\n\t\tprivate readonly courseCopyUc: CourseCopyUC,\n\t\tprivate readonly lessonCopyUc: LessonCopyUC\n\t) {}\n\n\t@Get(':roomId/board')\n\tasync getRoomBoard(\n\t\t@Param() urlParams: RoomUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst board = await this.roomsUc.getBoard(urlParams.roomId, currentUser.userId);\n\t\tconst mapped = this.mapper.mapToResponse(board);\n\t\treturn mapped;\n\t}\n\n\t@Patch(':roomId/elements/:elementId/visibility')\n\tasync patchElementVisibility(\n\t\t@Param() urlParams: RoomElementUrlParams,\n\t\t@Body() params: PatchVisibilityParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tawait this.roomsUc.updateVisibilityOfBoardElement(\n\t\t\turlParams.roomId,\n\t\t\turlParams.elementId,\n\t\t\tcurrentUser.userId,\n\t\t\tparams.visibility\n\t\t);\n\t}\n\n\t@Patch(':roomId/board/order')\n\tasync patchOrderingOfElements(\n\t\t@Param() urlParams: RoomUrlParams,\n\t\t@Body() params: PatchOrderParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tawait this.roomsUc.reorderBoardElements(urlParams.roomId, currentUser.userId, params.elements);\n\t}\n\n\t@Post(':roomId/copy')\n\t@RequestTimeout(serverConfig().INCOMING_REQUEST_TIMEOUT_COPY_API)\n\tasync copyCourse(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() urlParams: RoomUrlParams\n\t): Promise {\n\t\tconst copyStatus = await this.courseCopyUc.copyCourse(currentUser.userId, urlParams.roomId);\n\t\tconst dto = CopyMapper.mapToResponse(copyStatus);\n\t\treturn dto;\n\t}\n\n\t@Post('lessons/:lessonId/copy')\n\t@RequestTimeout(serverConfig().INCOMING_REQUEST_TIMEOUT_COPY_API)\n\tasync copyLesson(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() urlParams: LessonUrlParams,\n\t\t@Body() params: LessonCopyApiParams\n\t): Promise {\n\t\tconst copyStatus = await this.lessonCopyUc.copyLesson(\n\t\t\tcurrentUser.userId,\n\t\t\turlParams.lessonId,\n\t\t\tCopyMapper.mapLessonCopyToDomain(params, currentUser.userId)\n\t\t);\n\t\tconst dto = CopyMapper.mapToResponse(copyStatus);\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RoomsService.html":{"url":"injectables/RoomsService.html","title":"injectable - RoomsService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RoomsService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/service/rooms.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n handleColumnBoardIntegration\n \n \n Async\n updateBoard\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(taskService: TaskService, lessonService: LessonService, boardRepo: BoardRepo, columnBoardService: ColumnBoardService, columnBoardTargetService: ColumnBoardTargetService)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/service/rooms.service.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n taskService\n \n \n TaskService\n \n \n \n No\n \n \n \n \n lessonService\n \n \n LessonService\n \n \n \n No\n \n \n \n \n boardRepo\n \n \n BoardRepo\n \n \n \n No\n \n \n \n \n columnBoardService\n \n \n ColumnBoardService\n \n \n \n No\n \n \n \n \n columnBoardTargetService\n \n \n ColumnBoardTargetService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n handleColumnBoardIntegration\n \n \n \n \n \n \n \n handleColumnBoardIntegration(roomId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/rooms.service.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roomId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateBoard\n \n \n \n \n \n \n \n updateBoard(board: Board, roomId: EntityId, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/rooms.service.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n board\n \n Board\n \n\n \n No\n \n\n\n \n \n roomId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { ColumnBoardService } from '@modules/board';\nimport { LessonService } from '@modules/lesson';\nimport { TaskService } from '@modules/task';\nimport { Injectable } from '@nestjs/common';\nimport { BoardExternalReferenceType } from '@shared/domain/domainobject';\nimport { Board, ColumnBoardTarget } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { BoardRepo } from '@shared/repo';\nimport { ColumnBoardTargetService } from './column-board-target.service';\n\n@Injectable()\nexport class RoomsService {\n\tconstructor(\n\t\tprivate readonly taskService: TaskService,\n\t\tprivate readonly lessonService: LessonService,\n\t\tprivate readonly boardRepo: BoardRepo,\n\t\tprivate readonly columnBoardService: ColumnBoardService,\n\t\tprivate readonly columnBoardTargetService: ColumnBoardTargetService\n\t) {}\n\n\tasync updateBoard(board: Board, roomId: EntityId, userId: EntityId): Promise {\n\t\tconst [courseLessons] = await this.lessonService.findByCourseIds([roomId]);\n\t\tconst [courseTasks] = await this.taskService.findBySingleParent(userId, roomId);\n\n\t\tconst courseColumnBoardTargets = await this.handleColumnBoardIntegration(roomId);\n\n\t\tconst boardElementTargets = [...courseLessons, ...courseTasks, ...courseColumnBoardTargets];\n\n\t\tboard.syncBoardElementReferences(boardElementTargets);\n\n\t\tawait this.boardRepo.save(board);\n\t\treturn board;\n\t}\n\n\tprivate async handleColumnBoardIntegration(roomId: EntityId): Promise {\n\t\tlet courseColumnBoardTargets: ColumnBoardTarget[] = [];\n\n\t\tif ((Configuration.get('FEATURE_COLUMN_BOARD_ENABLED') as boolean) === true) {\n\t\t\tconst courseReference = {\n\t\t\t\ttype: BoardExternalReferenceType.Course,\n\t\t\t\tid: roomId,\n\t\t\t};\n\n\t\t\tconst columnBoardIds = await this.columnBoardService.findIdsByExternalReference(courseReference);\n\t\t\tif (columnBoardIds.length === 0) {\n\t\t\t\tconst columnBoard = await this.columnBoardService.createWelcomeColumnBoard(courseReference);\n\t\t\t\tcolumnBoardIds.push(columnBoard.id);\n\t\t\t}\n\n\t\t\tcourseColumnBoardTargets = await this.columnBoardTargetService.findOrCreateTargets(columnBoardIds);\n\t\t}\n\t\treturn courseColumnBoardTargets;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RoomsUc.html":{"url":"injectables/RoomsUc.html","title":"injectable - RoomsUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RoomsUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/uc/rooms.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getBoard\n \n \n Async\n reorderBoardElements\n \n \n Async\n updateVisibilityOfBoardElement\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(courseRepo: CourseRepo, userRepo: UserRepo, boardRepo: BoardRepo, factory: RoomBoardDTOFactory, authorisationService: RoomsAuthorisationService, roomsService: RoomsService)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/rooms.uc.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseRepo\n \n \n CourseRepo\n \n \n \n No\n \n \n \n \n userRepo\n \n \n UserRepo\n \n \n \n No\n \n \n \n \n boardRepo\n \n \n BoardRepo\n \n \n \n No\n \n \n \n \n factory\n \n \n RoomBoardDTOFactory\n \n \n \n No\n \n \n \n \n authorisationService\n \n \n RoomsAuthorisationService\n \n \n \n No\n \n \n \n \n roomsService\n \n \n RoomsService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getBoard\n \n \n \n \n \n \n \n getBoard(roomId: EntityId, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/rooms.uc.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roomId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n reorderBoardElements\n \n \n \n \n \n \n \n reorderBoardElements(roomId: EntityId, userId: EntityId, orderedList: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/rooms.uc.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roomId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n orderedList\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateVisibilityOfBoardElement\n \n \n \n \n \n \n \n updateVisibilityOfBoardElement(roomId: EntityId, elementId: EntityId, userId: EntityId, visibility: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/rooms.uc.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roomId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n elementId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n visibility\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ForbiddenException, Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { BoardRepo, CourseRepo, UserRepo } from '@shared/repo';\nimport { RoomsService } from '../service/rooms.service';\nimport { RoomBoardDTO } from '../types';\nimport { RoomBoardDTOFactory } from './room-board-dto.factory';\nimport { RoomsAuthorisationService } from './rooms.authorisation.service';\n\n@Injectable()\nexport class RoomsUc {\n\tconstructor(\n\t\tprivate readonly courseRepo: CourseRepo,\n\t\tprivate readonly userRepo: UserRepo,\n\t\tprivate readonly boardRepo: BoardRepo,\n\t\tprivate readonly factory: RoomBoardDTOFactory,\n\t\tprivate readonly authorisationService: RoomsAuthorisationService,\n\t\tprivate readonly roomsService: RoomsService\n\t) {}\n\n\tasync getBoard(roomId: EntityId, userId: EntityId): Promise {\n\t\tconst user = await this.userRepo.findById(userId, true);\n\t\tconst course = await this.courseRepo.findOne(roomId, userId);\n\t\tconst board = await this.boardRepo.findByCourseId(roomId);\n\n\t\tawait this.roomsService.updateBoard(board, roomId, userId);\n\n\t\tconst roomBoardDTO = this.factory.createDTO({ room: course, board, user });\n\t\treturn roomBoardDTO;\n\t}\n\n\tasync updateVisibilityOfBoardElement(\n\t\troomId: EntityId,\n\t\telementId: EntityId,\n\t\tuserId: EntityId,\n\t\tvisibility: boolean\n\t): Promise {\n\t\tconst user = await this.userRepo.findById(userId);\n\t\tconst course = await this.courseRepo.findOne(roomId, userId);\n\t\tif (!this.authorisationService.hasCourseWritePermission(user, course)) {\n\t\t\tthrow new ForbiddenException('you are not allowed to edit this');\n\t\t}\n\t\tconst board = await this.boardRepo.findByCourseId(course.id);\n\t\tconst element = board.getByTargetId(elementId);\n\t\tif (visibility) {\n\t\t\telement.publish();\n\t\t} else {\n\t\t\telement.unpublish();\n\t\t}\n\t\tawait this.boardRepo.save(board);\n\t}\n\n\tasync reorderBoardElements(roomId: EntityId, userId: EntityId, orderedList: EntityId[]): Promise {\n\t\tconst user = await this.userRepo.findById(userId);\n\t\tconst course = await this.courseRepo.findOne(roomId, userId);\n\t\tif (!this.authorisationService.hasCourseWritePermission(user, course)) {\n\t\t\tthrow new ForbiddenException('you are not allowed to edit this');\n\t\t}\n\t\tconst board = await this.boardRepo.findByCourseId(course.id);\n\t\tboard.reorderElements(orderedList);\n\t\tawait this.boardRepo.save(board);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RpcMessage.html":{"url":"interfaces/RpcMessage.html","title":"interface - RpcMessage","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RpcMessage\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/rabbitmq/rpc-message.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n error\n \n \n \n \n message\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n error\n \n \n \n \n \n \n \n \n error: IError\n\n \n \n\n\n \n \n Type : IError\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n message\n \n \n \n \n \n \n \n \n message: T\n\n \n \n\n\n \n \n Type : T\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface IError extends Error {\n\tstatus?: number;\n\tmessage: string;\n}\nexport interface RpcMessage {\n\tmessage: T;\n\terror?: IError;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RpcMessageProducer.html":{"url":"classes/RpcMessageProducer.html","title":"class - RpcMessageProducer","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RpcMessageProducer\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/rabbitmq/rpc-message-producer.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Protected\n checkError\n \n \n Protected\n createRequest\n \n \n Protected\n Async\n request\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(amqpConnection: AmqpConnection, exchange: string, timeout: number)\n \n \n \n \n Defined in apps/server/src/infra/rabbitmq/rpc-message-producer.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n amqpConnection\n \n \n AmqpConnection\n \n \n \n No\n \n \n \n \n exchange\n \n \n string\n \n \n \n No\n \n \n \n \n timeout\n \n \n number\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Protected\n checkError\n \n \n \n \n \n \n \n checkError(response: RpcMessage)\n \n \n\n\n \n \n Defined in apps/server/src/infra/rabbitmq/rpc-message-producer.ts:21\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n RpcMessage\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n createRequest\n \n \n \n \n \n \n \n createRequest(event: string, payload)\n \n \n\n\n \n \n Defined in apps/server/src/infra/rabbitmq/rpc-message-producer.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n event\n \n string\n \n\n \n No\n \n\n\n \n \n payload\n \n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : { exchange: string; routingKey: string; payload: unknown; timeout: number; }\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n request\n \n \n \n \n \n \n \n request(event: string, payload)\n \n \n\n\n \n \n Defined in apps/server/src/infra/rabbitmq/rpc-message-producer.ts:12\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n event\n \n string\n \n\n \n No\n \n\n\n \n \n payload\n \n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { AmqpConnection } from '@golevelup/nestjs-rabbitmq';\nimport { ErrorMapper } from './error.mapper';\nimport { RpcMessage } from './rpc-message';\n\nexport abstract class RpcMessageProducer {\n\tconstructor(\n\t\tprotected readonly amqpConnection: AmqpConnection,\n\t\tprotected readonly exchange: string,\n\t\tprotected readonly timeout: number\n\t) {}\n\n\tprotected async request(event: string, payload: unknown) {\n\t\tconst response = await this.amqpConnection.request>(this.createRequest(event, payload));\n\n\t\tthis.checkError(response);\n\t\treturn response.message;\n\t}\n\n\t// need to be fixed with https://ticketsystem.dbildungscloud.de/browse/BC-2984\n\t// mapRpcErrorResponseToDomainError should also removed with this ticket\n\tprotected checkError(response: RpcMessage) {\n\t\tconst { error } = response;\n\t\tif (error) {\n\t\t\tconst domainError = ErrorMapper.mapRpcErrorResponseToDomainError(error);\n\t\t\tthrow domainError;\n\t\t}\n\t}\n\n\tprotected createRequest(event: string, payload: unknown) {\n\t\treturn {\n\t\t\texchange: this.exchange,\n\t\t\troutingKey: event,\n\t\t\tpayload,\n\t\t\ttimeout: this.timeout,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Rule.html":{"url":"interfaces/Rule.html","title":"interface - Rule","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Rule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/type/rule.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n hasPermission\n \n \n \n \n isApplicable\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n hasPermission\n \n \n \n \n \n \nhasPermission(user: User, object: T, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/type/rule.interface.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n object\n \n T\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isApplicable\n \n \n \n \n \n \nisApplicable(user: User, object: T, context?: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/type/rule.interface.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n object\n \n T\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizableObject } from '@shared/domain/domain-object'; // fix import when it is avaible\nimport { BaseDO } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { AuthorizationContext } from './authorization-context.interface';\n\nexport interface Rule {\n\tisApplicable(user: User, object: T, context?: AuthorizationContext): boolean;\n\thasPermission(user: User, object: T, context: AuthorizationContext): boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RuleManager.html":{"url":"injectables/RuleManager.html","title":"injectable - RuleManager","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RuleManager\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/service/rule-manager.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n rules\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n matchSingleRule\n \n \n Public\n selectRule\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(courseRule: CourseRule, courseGroupRule: CourseGroupRule, lessonRule: LessonRule, legaySchoolRule: LegacySchoolRule, taskRule: TaskRule, userRule: UserRule, teamRule: TeamRule, submissionRule: SubmissionRule, schoolExternalToolRule: SchoolExternalToolRule, boardDoRule: BoardDoRule, contextExternalToolRule: ContextExternalToolRule, userLoginMigrationRule: UserLoginMigrationRule, groupRule: GroupRule, systemRule: SystemRule)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/service/rule-manager.ts:25\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseRule\n \n \n CourseRule\n \n \n \n No\n \n \n \n \n courseGroupRule\n \n \n CourseGroupRule\n \n \n \n No\n \n \n \n \n lessonRule\n \n \n LessonRule\n \n \n \n No\n \n \n \n \n legaySchoolRule\n \n \n LegacySchoolRule\n \n \n \n No\n \n \n \n \n taskRule\n \n \n TaskRule\n \n \n \n No\n \n \n \n \n userRule\n \n \n UserRule\n \n \n \n No\n \n \n \n \n teamRule\n \n \n TeamRule\n \n \n \n No\n \n \n \n \n submissionRule\n \n \n SubmissionRule\n \n \n \n No\n \n \n \n \n schoolExternalToolRule\n \n \n SchoolExternalToolRule\n \n \n \n No\n \n \n \n \n boardDoRule\n \n \n BoardDoRule\n \n \n \n No\n \n \n \n \n contextExternalToolRule\n \n \n ContextExternalToolRule\n \n \n \n No\n \n \n \n \n userLoginMigrationRule\n \n \n UserLoginMigrationRule\n \n \n \n No\n \n \n \n \n groupRule\n \n \n GroupRule\n \n \n \n No\n \n \n \n \n systemRule\n \n \n SystemRule\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n matchSingleRule\n \n \n \n \n \n \n \n matchSingleRule(rules: Rule[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/rule-manager.ts:68\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n rules\n \n Rule[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n selectRule\n \n \n \n \n \n \n \n selectRule(user: User, object: AuthorizableObject | BaseDO, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/rule-manager.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n object\n \n AuthorizableObject | BaseDO\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Rule\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n rules\n \n \n \n \n \n \n Type : Rule[]\n\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/service/rule-manager.ts:25\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable, InternalServerErrorException, NotImplementedException } from '@nestjs/common';\nimport { AuthorizableObject } from '@shared/domain/domain-object'; // fix import when it is avaible\nimport { BaseDO } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport {\n\tBoardDoRule,\n\tContextExternalToolRule,\n\tCourseGroupRule,\n\tCourseRule,\n\tGroupRule,\n\tLegacySchoolRule,\n\tLessonRule,\n\tSchoolExternalToolRule,\n\tSubmissionRule,\n\tSystemRule,\n\tTaskRule,\n\tTeamRule,\n\tUserLoginMigrationRule,\n\tUserRule,\n} from '../rules';\nimport type { AuthorizationContext, Rule } from '../type';\n\n@Injectable()\nexport class RuleManager {\n\tprivate readonly rules: Rule[];\n\n\tconstructor(\n\t\tprivate readonly courseRule: CourseRule,\n\t\tprivate readonly courseGroupRule: CourseGroupRule,\n\t\tprivate readonly lessonRule: LessonRule,\n\t\tprivate readonly legaySchoolRule: LegacySchoolRule,\n\t\tprivate readonly taskRule: TaskRule,\n\t\tprivate readonly userRule: UserRule,\n\t\tprivate readonly teamRule: TeamRule,\n\t\tprivate readonly submissionRule: SubmissionRule,\n\t\tprivate readonly schoolExternalToolRule: SchoolExternalToolRule,\n\t\tprivate readonly boardDoRule: BoardDoRule,\n\t\tprivate readonly contextExternalToolRule: ContextExternalToolRule,\n\t\tprivate readonly userLoginMigrationRule: UserLoginMigrationRule,\n\t\tprivate readonly groupRule: GroupRule,\n\t\tprivate readonly systemRule: SystemRule\n\t) {\n\t\tthis.rules = [\n\t\t\tthis.courseRule,\n\t\t\tthis.courseGroupRule,\n\t\t\tthis.lessonRule,\n\t\t\tthis.taskRule,\n\t\t\tthis.teamRule,\n\t\t\tthis.userRule,\n\t\t\tthis.legaySchoolRule,\n\t\t\tthis.submissionRule,\n\t\t\tthis.schoolExternalToolRule,\n\t\t\tthis.boardDoRule,\n\t\t\tthis.contextExternalToolRule,\n\t\t\tthis.userLoginMigrationRule,\n\t\t\tthis.groupRule,\n\t\t\tthis.systemRule,\n\t\t];\n\t}\n\n\tpublic selectRule(user: User, object: AuthorizableObject | BaseDO, context: AuthorizationContext): Rule {\n\t\tconst selectedRules = this.rules.filter((rule) => rule.isApplicable(user, object, context));\n\t\tconst rule = this.matchSingleRule(selectedRules);\n\n\t\treturn rule;\n\t}\n\n\tprivate matchSingleRule(rules: Rule[]) {\n\t\tif (rules.length === 0) {\n\t\t\tthrow new NotImplementedException();\n\t\t}\n\t\tif (rules.length > 1) {\n\t\t\tthrow new InternalServerErrorException('MULTIPLE_MATCHES_ARE_NOT_ALLOWED');\n\t\t}\n\t\treturn rules[0];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/S3ClientAdapter.html":{"url":"injectables/S3ClientAdapter.html","title":"injectable - S3ClientAdapter","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n S3ClientAdapter\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/s3-client/s3-client.adapter.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n deletedFolderName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkStreamResponsive\n \n \n Public\n Async\n copy\n \n \n Public\n Async\n create\n \n \n Public\n Async\n createBucket\n \n \n Public\n Async\n delete\n \n \n Public\n Async\n deleteDirectory\n \n \n Public\n Async\n get\n \n \n Public\n Async\n head\n \n \n Public\n Async\n list\n \n \n Private\n Async\n listObjectKeysRecursive\n \n \n Public\n Async\n moveToTrash\n \n \n Public\n Async\n restore\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(client: S3Client, config: S3Config, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:23\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n client\n \n \n S3Client\n \n \n \n No\n \n \n \n \n config\n \n \n S3Config\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkStreamResponsive\n \n \n \n \n \n \n \n checkStreamResponsive(stream: Readable, context: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:292\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n stream\n \n Readable\n \n\n \n No\n \n\n\n \n \n context\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n copy\n \n \n \n \n \n \n \n copy(paths: CopyFiles[])\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:157\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n paths\n \n CopyFiles[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n create\n \n \n \n \n \n \n \n create(path: string, file: File)\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n path\n \n string\n \n\n \n No\n \n\n\n \n \n file\n \n File\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n createBucket\n \n \n \n \n \n \n \n createBucket()\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:34\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n delete\n \n \n \n \n \n \n \n delete(paths: string[])\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:181\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n paths\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n deleteDirectory\n \n \n \n \n \n \n \n deleteDirectory(path: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:265\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n path\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n get\n \n \n \n \n \n \n \n get(path: string, bytesRange?: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n path\n \n string\n \n\n \n No\n \n\n\n \n \n bytesRange\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n head\n \n \n \n \n \n \n \n head(path: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:243\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n path\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n list\n \n \n \n \n \n \n \n list(params: ListFiles)\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:201\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n ListFiles\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n listObjectKeysRecursive\n \n \n \n \n \n \n \n listObjectKeysRecursive(params: ListFiles)\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:213\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n ListFiles\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n moveToTrash\n \n \n \n \n \n \n \n moveToTrash(paths: string[])\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:113\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n paths\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n restore\n \n \n \n \n \n \n \n restore(paths: string[])\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:136\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n paths\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n deletedFolderName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'trash'\n \n \n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:23\n \n \n\n\n \n \n\n\n \n\n\n \n import {\n\tCopyObjectCommand,\n\tCopyObjectCommandOutput,\n\tCreateBucketCommand,\n\tDeleteObjectsCommand,\n\tGetObjectCommand,\n\tHeadObjectCommand,\n\tHeadObjectCommandOutput,\n\tListObjectsV2Command,\n\tS3Client,\n\tServiceOutputTypes,\n} from '@aws-sdk/client-s3';\nimport { Upload } from '@aws-sdk/lib-storage';\nimport { Inject, Injectable, InternalServerErrorException, NotFoundException } from '@nestjs/common';\nimport { ErrorUtils } from '@src/core/error/utils';\nimport { LegacyLogger } from '@src/core/logger';\nimport { Readable } from 'stream';\nimport { S3_CLIENT, S3_CONFIG } from './constants';\nimport { CopyFiles, File, GetFile, ListFiles, ObjectKeysRecursive, S3Config } from './interface';\n\n@Injectable()\nexport class S3ClientAdapter {\n\tprivate deletedFolderName = 'trash';\n\n\tconstructor(\n\t\t@Inject(S3_CLIENT) readonly client: S3Client,\n\t\t@Inject(S3_CONFIG) readonly config: S3Config,\n\t\tprivate logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(S3ClientAdapter.name);\n\t}\n\n\t// is public but only used internally\n\tpublic async createBucket() {\n\t\ttry {\n\t\t\tthis.logger.debug({ action: 'create bucket', params: { bucket: this.config.bucket } });\n\n\t\t\tconst req = new CreateBucketCommand({ Bucket: this.config.bucket });\n\t\t\tawait this.client.send(req);\n\t\t} catch (err) {\n\t\t\tif (err instanceof Error) {\n\t\t\t\tthis.logger.error(`${err.message} \"${this.config.bucket}\"`);\n\t\t\t}\n\t\t\tthrow new InternalServerErrorException(\n\t\t\t\t'S3ClientAdapter:createBucket',\n\t\t\t\tErrorUtils.createHttpExceptionOptions(err)\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic async get(path: string, bytesRange?: string): Promise {\n\t\ttry {\n\t\t\tthis.logger.debug({ action: 'get', params: { path, bucket: this.config.bucket } });\n\n\t\t\tconst req = new GetObjectCommand({\n\t\t\t\tBucket: this.config.bucket,\n\t\t\t\tKey: path,\n\t\t\t\tRange: bytesRange,\n\t\t\t});\n\n\t\t\tconst data = await this.client.send(req);\n\t\t\tconst stream = data.Body as Readable;\n\n\t\t\tthis.checkStreamResponsive(stream, path);\n\n\t\t\treturn {\n\t\t\t\tdata: stream,\n\t\t\t\tcontentType: data.ContentType,\n\t\t\t\tcontentLength: data.ContentLength,\n\t\t\t\tcontentRange: data.ContentRange,\n\t\t\t\tetag: data.ETag,\n\t\t\t};\n\t\t} catch (err) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\tif (err?.Code === 'NoSuchKey') {\n\t\t\t\tthis.logger.warn(`could not find one of the files for deletion with id ${path}`);\n\t\t\t\tthrow new NotFoundException('NoSuchKey', ErrorUtils.createHttpExceptionOptions(err));\n\t\t\t} else {\n\t\t\t\tthrow new InternalServerErrorException('S3ClientAdapter:get', ErrorUtils.createHttpExceptionOptions(err));\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic async create(path: string, file: File): Promise {\n\t\ttry {\n\t\t\tthis.logger.debug({ action: 'create', params: { path, bucket: this.config.bucket } });\n\n\t\t\tconst req = {\n\t\t\t\tBody: file.data,\n\t\t\t\tBucket: this.config.bucket,\n\t\t\t\tKey: path,\n\t\t\t\tContentType: file.mimeType,\n\t\t\t};\n\t\t\tconst upload = new Upload({\n\t\t\t\tclient: this.client,\n\t\t\t\tparams: req,\n\t\t\t});\n\n\t\t\tconst commandOutput = await upload.done();\n\t\t\treturn commandOutput;\n\t\t} catch (err) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\tif (err?.Code === 'NoSuchBucket') {\n\t\t\t\tawait this.createBucket();\n\n\t\t\t\treturn await this.create(path, file);\n\t\t\t}\n\n\t\t\tthrow new InternalServerErrorException('S3ClientAdapter:create', ErrorUtils.createHttpExceptionOptions(err));\n\t\t}\n\t}\n\n\tpublic async moveToTrash(paths: string[]): Promise {\n\t\ttry {\n\t\t\tconst copyPaths = paths.map((path) => {\n\t\t\t\treturn { sourcePath: path, targetPath: `${this.deletedFolderName}/${path}` };\n\t\t\t});\n\n\t\t\tconst result = await this.copy(copyPaths);\n\n\t\t\t// try catch with rollback is not needed,\n\t\t\t// because the second copyRequest try override existing files in trash folder\n\t\t\tawait this.delete(paths);\n\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\tif (err?.cause?.name === 'NoSuchKey') {\n\t\t\t\tthis.logger.warn(`could not find one of the files for deletion with ids ${paths.join(',')}`);\n\t\t\t\treturn [];\n\t\t\t}\n\t\t\tthrow new InternalServerErrorException('S3ClientAdapter:delete', ErrorUtils.createHttpExceptionOptions(err));\n\t\t}\n\t}\n\n\tpublic async restore(paths: string[]): Promise {\n\t\ttry {\n\t\t\tthis.logger.debug({ action: 'restore', params: { paths, bucket: this.config.bucket } });\n\n\t\t\tconst copyPaths = paths.map((path) => {\n\t\t\t\treturn { sourcePath: `${this.deletedFolderName}/${path}`, targetPath: path };\n\t\t\t});\n\n\t\t\tconst result = await this.copy(copyPaths);\n\n\t\t\t// try catch with rollback is not needed,\n\t\t\t// because the second copyRequest try override existing files in trash folder\n\t\t\tconst deleteObjects = copyPaths.map((p) => p.sourcePath);\n\t\t\tawait this.delete(deleteObjects);\n\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthrow new InternalServerErrorException('S3ClientAdapter:restore', ErrorUtils.createHttpExceptionOptions(err));\n\t\t}\n\t}\n\n\tpublic async copy(paths: CopyFiles[]) {\n\t\ttry {\n\t\t\tthis.logger.debug({ action: 'copy', params: { paths, bucket: this.config.bucket } });\n\n\t\t\tconst copyRequests = paths.map(async (path) => {\n\t\t\t\tconst req = new CopyObjectCommand({\n\t\t\t\t\tBucket: this.config.bucket,\n\t\t\t\t\tCopySource: `${this.config.bucket}/${path.sourcePath}`,\n\t\t\t\t\tKey: `${path.targetPath}`,\n\t\t\t\t});\n\n\t\t\t\tconst data = await this.client.send(req);\n\n\t\t\t\treturn data;\n\t\t\t});\n\n\t\t\tconst result = await Promise.all(copyRequests);\n\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthrow new InternalServerErrorException('S3ClientAdapter:copy', ErrorUtils.createHttpExceptionOptions(err));\n\t\t}\n\t}\n\n\tpublic async delete(paths: string[]) {\n\t\ttry {\n\t\t\tthis.logger.debug({ action: 'delete', params: { paths, bucket: this.config.bucket } });\n\n\t\t\tconst pathObjects = paths.map((p) => {\n\t\t\t\treturn { Key: p };\n\t\t\t});\n\t\t\tconst req = new DeleteObjectsCommand({\n\t\t\t\tBucket: this.config.bucket,\n\t\t\t\tDelete: { Objects: pathObjects },\n\t\t\t});\n\n\t\t\tconst result = await this.client.send(req);\n\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthrow new InternalServerErrorException('S3ClientAdapter:delete', ErrorUtils.createHttpExceptionOptions(err));\n\t\t}\n\t}\n\n\tpublic async list(params: ListFiles): Promise {\n\t\ttry {\n\t\t\tthis.logger.debug({ action: 'list', params });\n\n\t\t\tconst result = await this.listObjectKeysRecursive(params);\n\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthrow new NotFoundException(null, ErrorUtils.createHttpExceptionOptions(err, 'S3ClientAdapter:listDirectory'));\n\t\t}\n\t}\n\n\tprivate async listObjectKeysRecursive(params: ListFiles): Promise {\n\t\tconst { path, maxKeys, nextMarker } = params;\n\t\tlet files: string[] = params.files ? params.files : [];\n\t\tconst MaxKeys = maxKeys && maxKeys - files.length;\n\n\t\tconst req = new ListObjectsV2Command({\n\t\t\tBucket: this.config.bucket,\n\t\t\tPrefix: path,\n\t\t\tContinuationToken: nextMarker,\n\t\t\tMaxKeys,\n\t\t});\n\n\t\tconst data = await this.client.send(req);\n\n\t\tconst returnedFiles =\n\t\t\tdata?.Contents?.filter((o) => o.Key)\n\t\t\t\t.map((o) => o.Key as string) // Can not be undefined because of filter above\n\t\t\t\t.map((key) => key.substring(path.length)) ?? [];\n\n\t\tfiles = files.concat(returnedFiles);\n\n\t\tlet res: ObjectKeysRecursive = { path, maxKeys, nextMarker: data?.ContinuationToken, files };\n\n\t\tif (data?.IsTruncated && (!maxKeys || res.files.length {\n\t\ttry {\n\t\t\tthis.logger.debug({ action: 'head', params: { path, bucket: this.config.bucket } });\n\n\t\t\tconst req = new HeadObjectCommand({\n\t\t\t\tBucket: this.config.bucket,\n\t\t\t\tKey: path,\n\t\t\t});\n\n\t\t\tconst headResponse = await this.client.send(req);\n\n\t\t\treturn headResponse;\n\t\t} catch (err) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\tif (err.message && err.message === 'NoSuchKey') {\n\t\t\t\tthis.logger.warn(`could not find the file for head with id ${path}`);\n\t\t\t\tthrow new NotFoundException(null, ErrorUtils.createHttpExceptionOptions(err, 'NoSuchKey'));\n\t\t\t}\n\t\t\tthrow new InternalServerErrorException(null, ErrorUtils.createHttpExceptionOptions(err, 'S3ClientAdapter:head'));\n\t\t}\n\t}\n\n\tpublic async deleteDirectory(path: string) {\n\t\ttry {\n\t\t\tthis.logger.debug({ action: 'deleteDirectory', params: { path, bucket: this.config.bucket } });\n\n\t\t\tconst req = new ListObjectsV2Command({\n\t\t\t\tBucket: this.config.bucket,\n\t\t\t\tPrefix: path,\n\t\t\t});\n\n\t\t\tconst data = await this.client.send(req);\n\n\t\t\tif (data.Contents?.length && data.Contents?.length > 0) {\n\t\t\t\tconst pathObjects = data.Contents.map((p) => p.Key);\n\n\t\t\t\tconst filteredPathObjects = pathObjects.filter((p): p is string => !!p);\n\n\t\t\t\tawait this.delete(filteredPathObjects);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tthrow new InternalServerErrorException(\n\t\t\t\t'S3ClientAdapter:deleteDirectory',\n\t\t\t\tErrorUtils.createHttpExceptionOptions(err)\n\t\t\t);\n\t\t}\n\t}\n\n\t/* istanbul ignore next */\n\tprivate checkStreamResponsive(stream: Readable, context: string) {\n\t\tlet timer: NodeJS.Timeout;\n\t\tconst refreshTimeout = () => {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n\t\t\tif (timer) clearTimeout(timer);\n\t\t\ttimer = setTimeout(() => {\n\t\t\t\tthis.logger.log(`Stream unresponsive: S3 object key ${context}`);\n\t\t\t\tstream.destroy();\n\t\t\t}, 60 * 1000);\n\t\t};\n\n\t\tstream.on('data', () => {\n\t\t\trefreshTimeout();\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/S3ClientModule.html":{"url":"modules/S3ClientModule.html","title":"module - S3ClientModule","body":"\n \n\n\n\n\n Modules\n S3ClientModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/s3-client/s3-client.module.ts\n \n\n\n\n\n\n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n register\n \n \n \n \n \n \n \n register(configs: S3Config[])\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.module.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n configs\n \n S3Config[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { S3Client } from '@aws-sdk/client-s3';\nimport { DynamicModule, Module } from '@nestjs/common';\nimport { LegacyLogger, LoggerModule } from '@src/core/logger';\nimport { S3Config } from './interface';\nimport { S3ClientAdapter } from './s3-client.adapter';\n\nconst createS3ClientAdapter = (config: S3Config, legacyLogger: LegacyLogger) => {\n\tconst { region, accessKeyId, secretAccessKey, endpoint } = config;\n\n\tconst s3Client = new S3Client({\n\t\tregion,\n\t\tcredentials: {\n\t\t\taccessKeyId,\n\t\t\tsecretAccessKey,\n\t\t},\n\t\tendpoint,\n\t\tforcePathStyle: true,\n\t\ttls: true,\n\t});\n\treturn new S3ClientAdapter(s3Client, config, legacyLogger);\n};\n\n@Module({})\nexport class S3ClientModule {\n\tstatic register(configs: S3Config[]): DynamicModule {\n\t\tconst providers = configs.flatMap((config) => [\n\t\t\t{\n\t\t\t\tprovide: config.connectionName,\n\t\t\t\tuseFactory: (logger: LegacyLogger) => createS3ClientAdapter(config, logger),\n\t\t\t\tinject: [LegacyLogger],\n\t\t\t},\n\t\t]);\n\n\t\treturn {\n\t\t\tmodule: S3ClientModule,\n\t\t\timports: [LoggerModule],\n\t\t\tproviders,\n\t\t\texports: providers,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/S3Config.html":{"url":"interfaces/S3Config.html","title":"interface - S3Config","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n S3Config\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/s3-client/interface/index.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n accessKeyId\n \n \n \n \n bucket\n \n \n \n \n connectionName\n \n \n \n \n endpoint\n \n \n \n \n region\n \n \n \n \n secretAccessKey\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n accessKeyId\n \n \n \n \n \n \n \n \n accessKeyId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n bucket\n \n \n \n \n \n \n \n \n bucket: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n connectionName\n \n \n \n \n \n \n \n \n connectionName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n endpoint\n \n \n \n \n \n \n \n \n endpoint: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n region\n \n \n \n \n \n \n \n \n region: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n secretAccessKey\n \n \n \n \n \n \n \n \n secretAccessKey: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Readable } from 'stream';\n\nexport interface S3Config {\n\tconnectionName: string;\n\tendpoint: string;\n\tregion: string;\n\tbucket: string;\n\taccessKeyId: string;\n\tsecretAccessKey: string;\n}\n\nexport interface GetFile {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n}\n\nexport interface CopyFiles {\n\tsourcePath: string;\n\ttargetPath: string;\n}\n\nexport interface File {\n\tdata: Readable;\n\tmimeType: string;\n}\n\nexport interface ListFiles {\n\tpath: string;\n\tmaxKeys?: number;\n\tnextMarker?: string;\n\tfiles?: string[];\n}\n\nexport interface ObjectKeysRecursive {\n\tpath: string;\n\tmaxKeys: number | undefined;\n\tnextMarker: string | undefined;\n\tfiles: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/S3Config-1.html":{"url":"interfaces/S3Config-1.html","title":"interface - S3Config-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n S3Config\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/fwu-learning-contents/interface/config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n accessKeyId\n \n \n \n \n bucket\n \n \n \n \n endpoint\n \n \n \n \n region\n \n \n \n \n secretAccessKey\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n accessKeyId\n \n \n \n \n \n \n \n \n accessKeyId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n bucket\n \n \n \n \n \n \n \n \n bucket: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n endpoint\n \n \n \n \n \n \n \n \n endpoint: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n region\n \n \n \n \n \n \n \n \n region: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n secretAccessKey\n \n \n \n \n \n \n \n \n secretAccessKey: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface S3Config {\n\tendpoint: string;\n\tregion: string;\n\tbucket: string;\n\taccessKeyId: string;\n\tsecretAccessKey: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SanisAnschriftResponse.html":{"url":"classes/SanisAnschriftResponse.html","title":"class - SanisAnschriftResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SanisAnschriftResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/response/sanis-anschrift-response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n ort\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n ort\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-anschrift-response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsOptional, IsString } from 'class-validator';\n\nexport class SanisAnschriftResponse {\n\t@IsString()\n\t@IsOptional()\n\tort?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SanisGeburtResponse.html":{"url":"classes/SanisGeburtResponse.html","title":"class - SanisGeburtResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SanisGeburtResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/response/sanis-geburt-response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n datum\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n datum\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-geburt-response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsOptional, IsString } from 'class-validator';\n\nexport class SanisGeburtResponse {\n\t@IsOptional()\n\t@IsString()\n\tdatum?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SanisGruppeResponse.html":{"url":"classes/SanisGruppeResponse.html","title":"class - SanisGruppeResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SanisGruppeResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/response/sanis-gruppe-response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n bezeichnung\n \n \n \n id\n \n \n \n typ\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n bezeichnung\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-gruppe-response.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-gruppe-response.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n \n typ\n \n \n \n \n \n \n Type : SanisGroupType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(SanisGroupType)\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-gruppe-response.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsEnum, IsString } from 'class-validator';\nimport { SanisGroupType } from './sanis-group-type';\n\nexport class SanisGruppeResponse {\n\t@IsString()\n\tid!: string;\n\n\t@IsString()\n\tbezeichnung!: string;\n\n\t@IsEnum(SanisGroupType)\n\ttyp!: SanisGroupType;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SanisGruppenResponse.html":{"url":"classes/SanisGruppenResponse.html","title":"class - SanisGruppenResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SanisGruppenResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/response/sanis-gruppen-response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n gruppe\n \n \n \n \n \n gruppenzugehoerigkeit\n \n \n \n \n \n \n Optional\n sonstige_gruppenzugehoerige\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n gruppe\n \n \n \n \n \n \n Type : SanisGruppeResponse\n\n \n \n \n \n Decorators : \n \n \n @IsObject()@ValidateNested()@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-gruppen-response.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n gruppenzugehoerigkeit\n \n \n \n \n \n \n Type : SanisGruppenzugehoerigkeitResponse\n\n \n \n \n \n Decorators : \n \n \n @IsObject()@ValidateNested()@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-gruppen-response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n sonstige_gruppenzugehoerige\n \n \n \n \n \n \n Type : SanisSonstigeGruppenzugehoerigeResponse[]\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsArray()@ValidateNested({each: true})@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-gruppen-response.ts:22\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Type } from 'class-transformer';\nimport { IsArray, IsObject, IsOptional, ValidateNested } from 'class-validator';\nimport { SanisGruppeResponse } from './sanis-gruppe-response';\nimport { SanisGruppenzugehoerigkeitResponse } from './sanis-gruppenzugehoerigkeit-response';\nimport { SanisSonstigeGruppenzugehoerigeResponse } from './sanis-sonstige-gruppenzugehoerige-response';\n\nexport class SanisGruppenResponse {\n\t@IsObject()\n\t@ValidateNested()\n\t@Type(() => SanisGruppeResponse)\n\tgruppe!: SanisGruppeResponse;\n\n\t@IsObject()\n\t@ValidateNested()\n\t@Type(() => SanisGruppenzugehoerigkeitResponse)\n\tgruppenzugehoerigkeit!: SanisGruppenzugehoerigkeitResponse;\n\n\t@IsOptional()\n\t@IsArray()\n\t@ValidateNested({ each: true })\n\t@Type(() => SanisSonstigeGruppenzugehoerigeResponse)\n\tsonstige_gruppenzugehoerige?: SanisSonstigeGruppenzugehoerigeResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SanisGruppenzugehoerigkeitResponse.html":{"url":"classes/SanisGruppenzugehoerigkeitResponse.html","title":"class - SanisGruppenzugehoerigkeitResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SanisGruppenzugehoerigkeitResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/response/sanis-gruppenzugehoerigkeit-response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n rollen\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n rollen\n \n \n \n \n \n \n Type : SanisGroupRole[]\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsArray()@IsEnum(SanisGroupRole, {each: true})\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-gruppenzugehoerigkeit-response.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsArray, IsEnum, IsOptional } from 'class-validator';\nimport { SanisGroupRole } from './sanis-group-role';\n\nexport class SanisGruppenzugehoerigkeitResponse {\n\t@IsOptional()\n\t@IsArray()\n\t@IsEnum(SanisGroupRole, { each: true })\n\trollen?: SanisGroupRole[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SanisNameResponse.html":{"url":"classes/SanisNameResponse.html","title":"class - SanisNameResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SanisNameResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/response/sanis-name-response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n familienname\n \n \n \n vorname\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n familienname\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-name-response.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n \n vorname\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-name-response.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsString } from 'class-validator';\n\nexport class SanisNameResponse {\n\t@IsString()\n\tfamilienname!: string;\n\n\t@IsString()\n\tvorname!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SanisOrganisationResponse.html":{"url":"classes/SanisOrganisationResponse.html","title":"class - SanisOrganisationResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SanisOrganisationResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/response/sanis-organisation-response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n anschrift\n \n \n \n id\n \n \n \n kennung\n \n \n \n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n anschrift\n \n \n \n \n \n \n Type : SanisAnschriftResponse\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsObject()@ValidateNested()@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-organisation-response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-organisation-response.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n \n kennung\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-organisation-response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-organisation-response.ts:13\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Type } from 'class-transformer';\nimport { IsObject, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { SanisAnschriftResponse } from './sanis-anschrift-response';\n\nexport class SanisOrganisationResponse {\n\t@IsString()\n\tid!: string;\n\n\t@IsString()\n\tkennung!: string;\n\n\t@IsString()\n\tname!: string;\n\n\t@IsOptional()\n\t@IsObject()\n\t@ValidateNested()\n\t@Type(() => SanisAnschriftResponse)\n\tanschrift?: SanisAnschriftResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SanisPersonResponse.html":{"url":"classes/SanisPersonResponse.html","title":"class - SanisPersonResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SanisPersonResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/response/sanis-person-response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n geburt\n \n \n \n \n \n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n geburt\n \n \n \n \n \n \n Type : SanisGeburtResponse\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsObject()@ValidateNested()@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-person-response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : SanisNameResponse\n\n \n \n \n \n Decorators : \n \n \n @IsObject()@ValidateNested()@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-person-response.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Type } from 'class-transformer';\nimport { IsObject, IsOptional, ValidateNested } from 'class-validator';\nimport { SanisGeburtResponse } from './sanis-geburt-response';\nimport { SanisNameResponse } from './sanis-name-response';\n\nexport class SanisPersonResponse {\n\t@IsObject()\n\t@ValidateNested()\n\t@Type(() => SanisNameResponse)\n\tname!: SanisNameResponse;\n\n\t@IsOptional()\n\t@IsObject()\n\t@ValidateNested()\n\t@Type(() => SanisGeburtResponse)\n\tgeburt?: SanisGeburtResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SanisPersonenkontextResponse.html":{"url":"classes/SanisPersonenkontextResponse.html","title":"class - SanisPersonenkontextResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SanisPersonenkontextResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/response/sanis-personenkontext-response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n gruppen\n \n \n \n id\n \n \n \n \n \n organisation\n \n \n \n rolle\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n gruppen\n \n \n \n \n \n \n Type : SanisGruppenResponse[]\n\n \n \n \n \n Decorators : \n \n \n @IsOptional({groups: undefined})@IsArray({groups: undefined})@ValidateNested({each: true, groups: undefined})@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-personenkontext-response.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString({groups: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-personenkontext-response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n organisation\n \n \n \n \n \n \n Type : SanisOrganisationResponse\n\n \n \n \n \n Decorators : \n \n \n @IsObject({groups: undefined})@ValidateNested({groups: undefined})@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-personenkontext-response.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n rolle\n \n \n \n \n \n \n Type : SanisRole\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(SanisRole, {groups: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-personenkontext-response.ts:13\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Type } from 'class-transformer';\nimport { IsArray, IsEnum, IsObject, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { SanisGruppenResponse } from './sanis-gruppen-response';\nimport { SanisOrganisationResponse } from './sanis-organisation-response';\nimport { SanisResponseValidationGroups } from './sanis-response-validation-groups';\nimport { SanisRole } from './sanis-role';\n\nexport class SanisPersonenkontextResponse {\n\t@IsString({ groups: [SanisResponseValidationGroups.USER, SanisResponseValidationGroups.GROUPS] })\n\tid!: string;\n\n\t@IsEnum(SanisRole, { groups: [SanisResponseValidationGroups.USER] })\n\trolle!: SanisRole;\n\n\t@IsObject({ groups: [SanisResponseValidationGroups.SCHOOL] })\n\t@ValidateNested({ groups: [SanisResponseValidationGroups.SCHOOL] })\n\t@Type(() => SanisOrganisationResponse)\n\torganisation!: SanisOrganisationResponse;\n\n\t@IsOptional({ groups: [SanisResponseValidationGroups.GROUPS] })\n\t@IsArray({ groups: [SanisResponseValidationGroups.GROUPS] })\n\t@ValidateNested({ each: true, groups: [SanisResponseValidationGroups.GROUPS] })\n\t@Type(() => SanisGruppenResponse)\n\tgruppen?: SanisGruppenResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SanisProvisioningStrategy.html":{"url":"injectables/SanisProvisioningStrategy.html","title":"injectable - SanisProvisioningStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SanisProvisioningStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts\n \n\n\n\n \n Extends\n \n \n OidcProvisioningStrategy\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n addTeacherRoleIfAdmin\n \n \n Private\n Async\n checkResponseValidation\n \n \n \n Async\n getData\n \n \n getType\n \n \n Private\n isObjectEmpty\n \n \n Private\n removeEmptyObjectsFromResponse\n \n \n \n Async\n apply\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(responseMapper: SanisResponseMapper, httpService: HttpService, oidcProvisioningService: OidcProvisioningService)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts:24\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n responseMapper\n \n \n SanisResponseMapper\n \n \n \n No\n \n \n \n \n httpService\n \n \n HttpService\n \n \n \n No\n \n \n \n \n oidcProvisioningService\n \n \n OidcProvisioningService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n addTeacherRoleIfAdmin\n \n \n \n \n \n \n \n addTeacherRoleIfAdmin(externalUser: ExternalUserDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts:129\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalUser\n \n ExternalUserDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n checkResponseValidation\n \n \n \n \n \n \n \n checkResponseValidation(response: SanisResponse, groups: SanisResponseValidationGroups[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts:117\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n SanisResponse\n \n\n \n No\n \n\n\n \n \n groups\n \n SanisResponseValidationGroups[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getData\n \n \n \n \n \n \n \n getData(input: OauthDataStrategyInputDto)\n \n \n\n\n \n \n Inherited from ProvisioningStrategy\n\n \n \n \n \n Defined in ProvisioningStrategy:37\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n input\n \n OauthDataStrategyInputDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getType\n \n \n \n \n \n \ngetType()\n \n \n\n\n \n \n Inherited from ProvisioningStrategy\n\n \n \n \n \n Defined in ProvisioningStrategy:33\n\n \n \n\n\n \n \n\n \n Returns : SystemProvisioningStrategy\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n isObjectEmpty\n \n \n \n \n \n \n \n isObjectEmpty(obj)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts:113\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n obj\n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeEmptyObjectsFromResponse\n \n \n \n \n \n \n \n removeEmptyObjectsFromResponse(response: SanisResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts:87\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n SanisResponse\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SanisResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n apply\n \n \n \n \n \n \n \n apply(data: OauthDataDto)\n \n \n\n\n \n \n Inherited from ProvisioningStrategy\n\n \n \n \n \n Defined in ProvisioningStrategy:14\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n OauthDataDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { HttpService } from '@nestjs/axios';\nimport { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { ValidationErrorLoggableException } from '@shared/common/loggable-exception';\nimport { RoleName } from '@shared/domain/interface';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { AxiosRequestConfig, AxiosResponse } from 'axios';\nimport { plainToClass } from 'class-transformer';\nimport { validate, ValidationError } from 'class-validator';\nimport { firstValueFrom } from 'rxjs';\nimport {\n\tExternalGroupDto,\n\tExternalSchoolDto,\n\tExternalUserDto,\n\tOauthDataDto,\n\tOauthDataStrategyInputDto,\n} from '../../dto';\nimport { OidcProvisioningStrategy } from '../oidc/oidc.strategy';\nimport { OidcProvisioningService } from '../oidc/service/oidc-provisioning.service';\nimport { SanisGruppenResponse, SanisResponse, SanisResponseValidationGroups } from './response';\nimport { SanisResponseMapper } from './sanis-response.mapper';\n\n@Injectable()\nexport class SanisProvisioningStrategy extends OidcProvisioningStrategy {\n\tconstructor(\n\t\tprivate readonly responseMapper: SanisResponseMapper,\n\t\tprivate readonly httpService: HttpService,\n\t\tprotected readonly oidcProvisioningService: OidcProvisioningService\n\t) {\n\t\tsuper(oidcProvisioningService);\n\t}\n\n\tgetType(): SystemProvisioningStrategy {\n\t\treturn SystemProvisioningStrategy.SANIS;\n\t}\n\n\toverride async getData(input: OauthDataStrategyInputDto): Promise {\n\t\tif (!input.system.provisioningUrl) {\n\t\t\tthrow new InternalServerErrorException(\n\t\t\t\t`Sanis system with id: ${input.system.systemId} is missing a provisioning url`\n\t\t\t);\n\t\t}\n\n\t\tconst axiosConfig: AxiosRequestConfig = {\n\t\t\theaders: {\n\t\t\t\tAuthorization: `Bearer ${input.accessToken}`,\n\t\t\t\t'Accept-Encoding': 'gzip',\n\t\t\t},\n\t\t};\n\n\t\tconst axiosResponse: AxiosResponse = await firstValueFrom(\n\t\t\tthis.httpService.get(input.system.provisioningUrl, axiosConfig)\n\t\t);\n\n\t\tconst fixedData: SanisResponse = this.removeEmptyObjectsFromResponse(axiosResponse.data);\n\n\t\tconst response: SanisResponse = plainToClass(SanisResponse, fixedData);\n\n\t\tawait this.checkResponseValidation(response, [\n\t\t\tSanisResponseValidationGroups.USER,\n\t\t\tSanisResponseValidationGroups.SCHOOL,\n\t\t]);\n\n\t\tconst externalUser: ExternalUserDto = this.responseMapper.mapToExternalUserDto(axiosResponse.data);\n\t\tthis.addTeacherRoleIfAdmin(externalUser);\n\n\t\tconst externalSchool: ExternalSchoolDto = this.responseMapper.mapToExternalSchoolDto(axiosResponse.data);\n\n\t\tlet externalGroups: ExternalGroupDto[] | undefined;\n\t\tif (Configuration.get('FEATURE_SANIS_GROUP_PROVISIONING_ENABLED')) {\n\t\t\tawait this.checkResponseValidation(response, [SanisResponseValidationGroups.GROUPS]);\n\n\t\t\texternalGroups = this.responseMapper.mapToExternalGroupDtos(axiosResponse.data);\n\t\t}\n\n\t\tconst oauthData: OauthDataDto = new OauthDataDto({\n\t\t\tsystem: input.system,\n\t\t\texternalSchool,\n\t\t\texternalUser,\n\t\t\texternalGroups,\n\t\t});\n\n\t\treturn oauthData;\n\t}\n\n\t// This is a temporary fix to a problem with moin.schule and should be resolved after 12.12.23\n\tprivate removeEmptyObjectsFromResponse(response: SanisResponse): SanisResponse {\n\t\tconst fixedResponse: SanisResponse = { ...response };\n\n\t\tif (fixedResponse?.personenkontexte?.length && fixedResponse.personenkontexte[0].gruppen) {\n\t\t\tconst groups: SanisGruppenResponse[] = fixedResponse.personenkontexte[0].gruppen;\n\n\t\t\tfor (const group of groups) {\n\t\t\t\tgroup.sonstige_gruppenzugehoerige = group.sonstige_gruppenzugehoerige?.filter(\n\t\t\t\t\t(relation) => !this.isObjectEmpty(relation)\n\t\t\t\t);\n\n\t\t\t\tif (!group.sonstige_gruppenzugehoerige?.length) {\n\t\t\t\t\tgroup.sonstige_gruppenzugehoerige = undefined;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfixedResponse.personenkontexte[0].gruppen = groups.filter((group) => !this.isObjectEmpty(group));\n\n\t\t\tif (!fixedResponse.personenkontexte[0].gruppen.length) {\n\t\t\t\tfixedResponse.personenkontexte[0].gruppen = undefined;\n\t\t\t}\n\t\t}\n\n\t\treturn fixedResponse;\n\t}\n\n\tprivate isObjectEmpty(obj: unknown): boolean {\n\t\treturn typeof obj === 'object' && !!obj && !Object.keys(obj).some((key) => obj[key] !== undefined);\n\t}\n\n\tprivate async checkResponseValidation(response: SanisResponse, groups: SanisResponseValidationGroups[]) {\n\t\tconst validationErrors: ValidationError[] = await validate(response, {\n\t\t\talways: true,\n\t\t\tforbidUnknownValues: false,\n\t\t\tgroups,\n\t\t});\n\n\t\tif (validationErrors.length) {\n\t\t\tthrow new ValidationErrorLoggableException(validationErrors);\n\t\t}\n\t}\n\n\tprivate addTeacherRoleIfAdmin(externalUser: ExternalUserDto): void {\n\t\tif (externalUser.roles && externalUser.roles.includes(RoleName.ADMINISTRATOR)) {\n\t\t\texternalUser.roles.push(RoleName.TEACHER);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SanisResponse.html":{"url":"classes/SanisResponse.html","title":"class - SanisResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SanisResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/response/sanis.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n person\n \n \n \n \n \n \n personenkontexte\n \n \n \n pid\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n person\n \n \n \n \n \n \n Type : SanisPersonResponse\n\n \n \n \n \n Decorators : \n \n \n @IsObject({groups: undefined})@ValidateNested({groups: undefined})@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n personenkontexte\n \n \n \n \n \n \n Type : SanisPersonenkontextResponse[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@ArrayMinSize(1)@ValidateNested({each: true})@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis.response.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n pid\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString({groups: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis.response.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Type } from 'class-transformer';\nimport { ArrayMinSize, IsArray, IsObject, IsString, ValidateNested } from 'class-validator';\nimport { SanisPersonResponse } from './sanis-person-response';\nimport { SanisPersonenkontextResponse } from './sanis-personenkontext-response';\nimport { SanisResponseValidationGroups } from './sanis-response-validation-groups';\n\nexport class SanisResponse {\n\t@IsString({ groups: [SanisResponseValidationGroups.USER] })\n\tpid!: string;\n\n\t@IsObject({ groups: [SanisResponseValidationGroups.USER] })\n\t@ValidateNested({ groups: [SanisResponseValidationGroups.USER] })\n\t@Type(() => SanisPersonResponse)\n\tperson!: SanisPersonResponse;\n\n\t@IsArray()\n\t@ArrayMinSize(1)\n\t@ValidateNested({ each: true })\n\t@Type(() => SanisPersonenkontextResponse)\n\tpersonenkontexte!: SanisPersonenkontextResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SanisResponseMapper.html":{"url":"injectables/SanisResponseMapper.html","title":"injectable - SanisResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SanisResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/sanis-response.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n SCHOOLNUMBER_PREFIX_REGEX\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n mapExternalGroup\n \n \n Private\n mapSanisRoleToRoleName\n \n \n Public\n mapToExternalGroupDtos\n \n \n Private\n mapToExternalGroupUser\n \n \n mapToExternalSchoolDto\n \n \n mapToExternalUserDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: Logger)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/sanis-response.mapper.ts:34\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n mapExternalGroup\n \n \n \n \n \n \n \n mapExternalGroup(source: SanisResponse, group: SanisGruppenResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/sanis-response.mapper.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n source\n \n SanisResponse\n \n\n \n No\n \n\n\n \n \n group\n \n SanisGruppenResponse\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalGroupDto | null\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapSanisRoleToRoleName\n \n \n \n \n \n \n \n mapSanisRoleToRoleName(source: SanisResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/sanis-response.mapper.ts:66\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n source\n \n SanisResponse\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RoleName\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n mapToExternalGroupDtos\n \n \n \n \n \n \n \n mapToExternalGroupDtos(source: SanisResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/sanis-response.mapper.ts:70\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n source\n \n SanisResponse\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : [] | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapToExternalGroupUser\n \n \n \n \n \n \n \n mapToExternalGroupUser(relation: SanisSonstigeGruppenzugehoerigeResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/sanis-response.mapper.ts:118\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n relation\n \n SanisSonstigeGruppenzugehoerigeResponse\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalGroupUserDto | null\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapToExternalSchoolDto\n \n \n \n \n \n \nmapToExternalSchoolDto(source: SanisResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/sanis-response.mapper.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n source\n \n SanisResponse\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalSchoolDto\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapToExternalUserDto\n \n \n \n \n \n \nmapToExternalUserDto(source: SanisResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/sanis-response.mapper.ts:54\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n source\n \n SanisResponse\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalUserDto\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n SCHOOLNUMBER_PREFIX_REGEX\n \n \n \n \n \n \n Default value : /^NI_/\n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/sanis-response.mapper.ts:34\n \n \n\n\n \n \n\n\n \n\n\n \n import { GroupTypes } from '@modules/group';\nimport { Injectable } from '@nestjs/common';\nimport { RoleName } from '@shared/domain/interface';\nimport { Logger } from '@src/core/logger';\nimport { ExternalGroupDto, ExternalGroupUserDto, ExternalSchoolDto, ExternalUserDto } from '../../dto';\nimport { GroupRoleUnknownLoggable } from '../../loggable';\nimport {\n\tSanisGroupRole,\n\tSanisGroupType,\n\tSanisGruppenResponse,\n\tSanisResponse,\n\tSanisRole,\n\tSanisSonstigeGruppenzugehoerigeResponse,\n} from './response';\n\nconst RoleMapping: Record = {\n\t[SanisRole.LEHR]: RoleName.TEACHER,\n\t[SanisRole.LERN]: RoleName.STUDENT,\n\t[SanisRole.LEIT]: RoleName.ADMINISTRATOR,\n\t[SanisRole.ORGADMIN]: RoleName.ADMINISTRATOR,\n};\n\nconst GroupRoleMapping: Partial> = {\n\t[SanisGroupRole.TEACHER]: RoleName.TEACHER,\n\t[SanisGroupRole.STUDENT]: RoleName.STUDENT,\n};\n\nconst GroupTypeMapping: Partial> = {\n\t[SanisGroupType.CLASS]: GroupTypes.CLASS,\n};\n\n@Injectable()\nexport class SanisResponseMapper {\n\tSCHOOLNUMBER_PREFIX_REGEX = /^NI_/;\n\n\tconstructor(private readonly logger: Logger) {}\n\n\tmapToExternalSchoolDto(source: SanisResponse): ExternalSchoolDto {\n\t\tconst officialSchoolNumber: string = source.personenkontexte[0].organisation.kennung.replace(\n\t\t\tthis.SCHOOLNUMBER_PREFIX_REGEX,\n\t\t\t''\n\t\t);\n\n\t\tconst mapped = new ExternalSchoolDto({\n\t\t\tname: source.personenkontexte[0].organisation.name,\n\t\t\texternalId: source.personenkontexte[0].organisation.id.toString(),\n\t\t\tofficialSchoolNumber,\n\t\t\tlocation: source.personenkontexte[0].organisation.anschrift?.ort,\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tmapToExternalUserDto(source: SanisResponse): ExternalUserDto {\n\t\tconst mapped = new ExternalUserDto({\n\t\t\tfirstName: source.person.name.vorname,\n\t\t\tlastName: source.person.name.familienname,\n\t\t\troles: [this.mapSanisRoleToRoleName(source)],\n\t\t\texternalId: source.pid,\n\t\t\tbirthday: source.person.geburt?.datum ? new Date(source.person.geburt?.datum) : undefined,\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tprivate mapSanisRoleToRoleName(source: SanisResponse): RoleName {\n\t\treturn RoleMapping[source.personenkontexte[0].rolle];\n\t}\n\n\tpublic mapToExternalGroupDtos(source: SanisResponse): ExternalGroupDto[] | undefined {\n\t\tconst groups: SanisGruppenResponse[] | undefined = source.personenkontexte[0].gruppen;\n\n\t\tif (!groups) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst mapped: ExternalGroupDto[] = groups\n\t\t\t.map((group) => this.mapExternalGroup(source, group))\n\t\t\t.filter((group): group is ExternalGroupDto => group !== null);\n\n\t\treturn mapped;\n\t}\n\n\tprivate mapExternalGroup(source: SanisResponse, group: SanisGruppenResponse): ExternalGroupDto | null {\n\t\tconst groupType: GroupTypes | undefined = GroupTypeMapping[group.gruppe.typ];\n\n\t\tif (!groupType) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst user: ExternalGroupUserDto | null = this.mapToExternalGroupUser({\n\t\t\tktid: source.personenkontexte[0].id,\n\t\t\trollen: group.gruppenzugehoerigkeit.rollen,\n\t\t});\n\n\t\tif (!user) {\n\t\t\treturn null;\n\t\t}\n\n\t\tlet otherUsers: ExternalGroupUserDto[] | undefined;\n\t\tif (group.sonstige_gruppenzugehoerige) {\n\t\t\totherUsers = group.sonstige_gruppenzugehoerige\n\t\t\t\t.map((relation: SanisSonstigeGruppenzugehoerigeResponse): ExternalGroupUserDto | null =>\n\t\t\t\t\tthis.mapToExternalGroupUser(relation)\n\t\t\t\t)\n\t\t\t\t.filter((otherUser: ExternalGroupUserDto | null): otherUser is ExternalGroupUserDto => otherUser !== null);\n\t\t}\n\n\t\treturn new ExternalGroupDto({\n\t\t\tname: group.gruppe.bezeichnung,\n\t\t\ttype: groupType,\n\t\t\texternalId: group.gruppe.id,\n\t\t\tuser,\n\t\t\totherUsers,\n\t\t});\n\t}\n\n\tprivate mapToExternalGroupUser(relation: SanisSonstigeGruppenzugehoerigeResponse): ExternalGroupUserDto | null {\n\t\tif (!relation.rollen?.length) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst userRole: RoleName | undefined = GroupRoleMapping[relation.rollen[0]];\n\n\t\tif (!userRole) {\n\t\t\tthis.logger.info(new GroupRoleUnknownLoggable(relation));\n\t\t\treturn null;\n\t\t}\n\n\t\tconst mapped = new ExternalGroupUserDto({\n\t\t\troleName: userRole,\n\t\t\texternalUserId: relation.ktid,\n\t\t});\n\n\t\treturn mapped;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{"url":"classes/SanisSonstigeGruppenzugehoerigeResponse.html","title":"class - SanisSonstigeGruppenzugehoerigeResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SanisSonstigeGruppenzugehoerigeResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/response/sanis-sonstige-gruppenzugehoerige-response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n ktid\n \n \n \n \n \n Optional\n rollen\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n ktid\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-sonstige-gruppenzugehoerige-response.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n rollen\n \n \n \n \n \n \n Type : SanisGroupRole[]\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsArray()@IsEnum(SanisGroupRole, {each: true})\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-sonstige-gruppenzugehoerige-response.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsArray, IsEnum, IsOptional, IsString } from 'class-validator';\nimport { SanisGroupRole } from './sanis-group-role';\n\nexport class SanisSonstigeGruppenzugehoerigeResponse {\n\t@IsString()\n\tktid!: string;\n\n\t@IsOptional()\n\t@IsArray()\n\t@IsEnum(SanisGroupRole, { each: true })\n\trollen?: SanisGroupRole[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SaveH5PEditorParams.html":{"url":"classes/SaveH5PEditorParams.html","title":"class - SaveH5PEditorParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SaveH5PEditorParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contentId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contentId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:40\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IContentMetadata } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\n\nimport { LanguageType } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { IsEnum, IsMongoId, IsNotEmpty, IsObject, IsOptional, IsString } from 'class-validator';\nimport { H5PContentParentType } from '../../entity';\n\nexport class GetH5PContentParams {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\t@IsOptional()\n\tlanguage?: LanguageType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class GetH5PEditorParamsCreate {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class GetH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class SaveH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class PostH5PContentParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tparams!: unknown;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tmetadata!: IContentMetadata;\n\n\t@ApiProperty()\n\t@IsString()\n\t@SanitizeHtml()\n\t@IsNotEmpty()\n\tmainLibraryUbername!: string;\n}\n\nexport class PostH5PContentCreateParams {\n\t@ApiProperty({ enum: H5PContentParentType, enumName: 'H5PContentParentType' })\n\t@IsEnum(H5PContentParentType)\n\tparentType!: H5PContentParentType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\t@IsObject()\n\tparams!: {\n\t\tparams: unknown;\n\t\tmetadata: IContentMetadata;\n\t};\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tlibrary!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ScanResult.html":{"url":"interfaces/ScanResult.html","title":"interface - ScanResult","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ScanResult\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/antivirus/interfaces/antivirus.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n error\n \n \n \n Optional\n \n virus_detected\n \n \n \n Optional\n \n virus_signature\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n error\n \n \n \n \n \n \n \n \n error: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n virus_detected\n \n \n \n \n \n \n \n \n virus_detected: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n virus_signature\n \n \n \n \n \n \n \n \n virus_signature: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface AntivirusModuleOptions {\n\tenabled: boolean;\n\tfilesServiceBaseUrl: string;\n\texchange: string;\n\troutingKey: string;\n\thostname: string;\n\tport: number;\n}\n\nexport interface AntivirusServiceOptions {\n\tenabled: boolean;\n\tfilesServiceBaseUrl: string;\n\texchange: string;\n\troutingKey: string;\n}\n\nexport interface ScanResult {\n\tvirus_detected?: boolean;\n\tvirus_signature?: string;\n\terror?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ScanResultDto.html":{"url":"classes/ScanResultDto.html","title":"class - ScanResultDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ScanResultDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/scan-result.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n reason\n \n \n status\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ScanResultDto)\n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/scan-result.dto.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ScanResultDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n reason\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/scan-result.dto.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : ScanStatus\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/scan-result.dto.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanStatus } from '../../entity';\n\nexport class ScanResultDto {\n\tstatus: ScanStatus;\n\n\treason: string;\n\n\tconstructor(props: ScanResultDto) {\n\t\tthis.status = props.status;\n\t\tthis.reason = props.reason;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ScanResultParams.html":{"url":"classes/ScanResultParams.html","title":"class - ScanResultParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ScanResultParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts\n \n\n\n\n\n \n Implements\n \n \n ScanResult\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n error\n \n \n \n \n Optional\n virus_detected\n \n \n \n \n Optional\n virus_signature\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n error\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@Allow()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:66\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n virus_detected\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@Allow()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n virus_signature\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@Allow()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:62\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanResult } from '@infra/antivirus';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { Allow, IsBoolean, IsEnum, IsMongoId, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { FileRecordParentType } from '../../entity';\nimport { PreviewOutputMimeTypes, PreviewWidth } from '../../interface';\n\nexport class FileRecordParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\t@IsEnum(FileRecordParentType)\n\tparentType!: FileRecordParentType;\n}\n\nexport class FileUrlParams {\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\turl!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@Allow()\n\theaders?: Record;\n}\n\nexport class FileParams {\n\t@ApiProperty({ type: 'string', format: 'binary' })\n\t@Allow()\n\tfile!: string;\n}\n\nexport class DownloadFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileName!: string;\n}\n\nexport class ScanResultParams implements ScanResult {\n\t@ApiProperty()\n\t@Allow()\n\tvirus_detected?: boolean;\n\n\t@ApiProperty()\n\t@Allow()\n\tvirus_signature?: string;\n\n\t@ApiProperty()\n\t@Allow()\n\terror?: string;\n}\n\nexport class SingleFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n}\n\nexport class RenameFileParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n}\n\nexport class CopyFilesOfParentParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class CopyFileParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileNamePrefix!: string;\n}\n\nexport class CopyFilesOfParentPayload {\n\t@IsMongoId()\n\tuserId!: EntityId;\n\n\t@ValidateNested()\n\tsource!: FileRecordParams;\n\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class PreviewParams {\n\t@ApiPropertyOptional({ enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes' })\n\t@IsOptional()\n\t@IsEnum(PreviewOutputMimeTypes)\n\toutputFormat?: PreviewOutputMimeTypes;\n\n\t@ApiPropertyOptional({ enum: PreviewWidth, enumName: 'PreviewWidth' })\n\t@IsOptional()\n\t@IsEnum(PreviewWidth)\n\twidth?: PreviewWidth;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'If true, the preview will be generated again.',\n\t})\n\tforceUpdate?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/SchoolEntity.html":{"url":"entities/SchoolEntity.html","title":"entity - SchoolEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n SchoolEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/school.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n externalId\n \n \n \n Optional\n features\n \n \n \n federalState\n \n \n \n Optional\n inMaintenanceSince\n \n \n \n Optional\n inUserMigration\n \n \n \n name\n \n \n \n Optional\n officialSchoolNumber\n \n \n \n Optional\n permissions\n \n \n \n Optional\n previousExternalId\n \n \n \n Optional\n schoolYear\n \n \n \n systems\n \n \n \n Optional\n userLoginMigration\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true, fieldName: 'ldapSchoolIdentifier'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/school.entity.ts:75\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n features\n \n \n \n \n \n \n Type : SchoolFeatures[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/school.entity.ts:66\n \n \n\n\n \n \n \n \n \n \n \n \n \n federalState\n \n \n \n \n \n \n Type : FederalStateEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined, {fieldName: 'federalState', nullable: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/school.entity.ts:107\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n inMaintenanceSince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/school.entity.ts:69\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n inUserMigration\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/school.entity.ts:72\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/school.entity.ts:81\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n officialSchoolNumber\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/school.entity.ts:84\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n permissions\n \n \n \n \n \n \n Type : SchoolRoles\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {object: true, nullable: true, prefix: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/school.entity.ts:90\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n previousExternalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/school.entity.ts:78\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n schoolYear\n \n \n \n \n \n \n Type : SchoolYearEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined, {fieldName: 'currentYear', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/school.entity.ts:93\n \n \n\n\n \n \n \n \n \n \n \n \n \n systems\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @ManyToMany(undefined, undefined, {fieldName: 'systems'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/school.entity.ts:87\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n userLoginMigration\n \n \n \n \n \n \n Type : UserLoginMigrationEntity\n\n \n \n \n \n Decorators : \n \n \n @OneToOne(undefined, userLoginMigration => userLoginMigration.school, {orphanRemoval: true, nullable: true, fieldName: 'userLoginMigrationId'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/school.entity.ts:104\n \n \n\n\n \n \n\n \n\n\n \n import {\n\tCollection,\n\tEmbeddable,\n\tEmbedded,\n\tEntity,\n\tIndex,\n\tManyToMany,\n\tManyToOne,\n\tOneToOne,\n\tProperty,\n} from '@mikro-orm/core';\nimport { UserLoginMigrationEntity } from '@shared/domain/entity/user-login-migration.entity';\nimport { BaseEntity } from './base.entity';\nimport { FederalStateEntity } from './federal-state.entity';\nimport { SchoolYearEntity } from './schoolyear.entity';\nimport { SystemEntity } from './system.entity';\n\nexport enum SchoolFeatures {\n\tROCKET_CHAT = 'rocketChat',\n\tVIDEOCONFERENCE = 'videoconference',\n\tNEXTCLOUD = 'nextcloud',\n\tSTUDENTVISIBILITY = 'studentVisibility', // deprecated\n\tLDAP_UNIVENTION_MIGRATION = 'ldapUniventionMigrationSchool',\n\tOAUTH_PROVISIONING_ENABLED = 'oauthProvisioningEnabled',\n\tSHOW_OUTDATED_USERS = 'showOutdatedUsers',\n\tENABLE_LDAP_SYNC_DURING_MIGRATION = 'enableLdapSyncDuringMigration',\n}\n\nexport interface SchoolProperties {\n\t_id?: string;\n\texternalId?: string;\n\tinMaintenanceSince?: Date;\n\tinUserMigration?: boolean;\n\tpreviousExternalId?: string;\n\tname: string;\n\tofficialSchoolNumber?: string;\n\tsystems?: SystemEntity[];\n\tfeatures?: SchoolFeatures[];\n\tschoolYear?: SchoolYearEntity;\n\tuserLoginMigration?: UserLoginMigrationEntity;\n\tfederalState: FederalStateEntity;\n}\n\n@Embeddable()\nexport class SchoolRolePermission {\n\t@Property({ nullable: true })\n\tSTUDENT_LIST?: boolean;\n\n\t@Property({ nullable: true })\n\tLERNSTORE_VIEW?: boolean;\n}\n\n@Embeddable()\nexport class SchoolRoles {\n\t@Property({ nullable: true, fieldName: 'student' })\n\tstudent?: SchoolRolePermission;\n\n\t@Property({ nullable: true, fieldName: 'teacher' })\n\tteacher?: SchoolRolePermission;\n}\n\n@Entity({ tableName: 'schools' })\n@Index({ properties: ['externalId', 'systems'] })\nexport class SchoolEntity extends BaseEntity {\n\t@Property({ nullable: true })\n\tfeatures?: SchoolFeatures[];\n\n\t@Property({ nullable: true })\n\tinMaintenanceSince?: Date;\n\n\t@Property({ nullable: true })\n\tinUserMigration?: boolean;\n\n\t@Property({ nullable: true, fieldName: 'ldapSchoolIdentifier' })\n\texternalId?: string;\n\n\t@Property({ nullable: true })\n\tpreviousExternalId?: string;\n\n\t@Property()\n\tname: string;\n\n\t@Property({ nullable: true })\n\tofficialSchoolNumber?: string;\n\n\t@ManyToMany(() => SystemEntity, undefined, { fieldName: 'systems' })\n\tsystems = new Collection(this);\n\n\t@Embedded(() => SchoolRoles, { object: true, nullable: true, prefix: false })\n\tpermissions?: SchoolRoles;\n\n\t@ManyToOne(() => SchoolYearEntity, { fieldName: 'currentYear', nullable: true })\n\tschoolYear?: SchoolYearEntity;\n\n\t@OneToOne(\n\t\t() => UserLoginMigrationEntity,\n\t\t(userLoginMigration: UserLoginMigrationEntity) => userLoginMigration.school,\n\t\t{\n\t\t\torphanRemoval: true,\n\t\t\tnullable: true,\n\t\t\tfieldName: 'userLoginMigrationId',\n\t\t}\n\t)\n\tuserLoginMigration?: UserLoginMigrationEntity;\n\n\t@ManyToOne(() => FederalStateEntity, { fieldName: 'federalState', nullable: false })\n\tfederalState: FederalStateEntity;\n\n\tconstructor(props: SchoolProperties) {\n\t\tsuper();\n\t\tif (props.externalId) {\n\t\t\tthis.externalId = props.externalId;\n\t\t}\n\t\tif (props.previousExternalId) {\n\t\t\tthis.previousExternalId = props.previousExternalId;\n\t\t}\n\t\tthis.inMaintenanceSince = props.inMaintenanceSince;\n\t\tif (props.inUserMigration !== null) {\n\t\t\tthis.inUserMigration = props.inUserMigration;\n\t\t}\n\t\tthis.name = props.name;\n\t\tif (props.officialSchoolNumber) {\n\t\t\tthis.officialSchoolNumber = props.officialSchoolNumber;\n\t\t}\n\t\tif (props.systems) {\n\t\t\tthis.systems.set(props.systems);\n\t\t}\n\t\tif (props.features) {\n\t\t\tthis.features = props.features;\n\t\t}\n\t\tif (props.schoolYear) {\n\t\t\tthis.schoolYear = props.schoolYear;\n\t\t}\n\t\tif (props.userLoginMigration) {\n\t\t\tthis.userLoginMigration = props.userLoginMigration;\n\t\t}\n\t\tthis.federalState = props.federalState;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalTool.html":{"url":"classes/SchoolExternalTool.html","title":"class - SchoolExternalTool","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalTool\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/domain/school-external-tool.do.ts\n \n\n\n\n \n Extends\n \n \n BaseDO\n \n\n \n Implements\n \n \n ToolVersion\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n name\n \n \n parameters\n \n \n schoolId\n \n \n Optional\n status\n \n \n toolId\n \n \n toolVersion\n \n \n Optional\n id\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getVersion\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: SchoolExternalToolProps)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool.do.ts:33\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n SchoolExternalToolProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool.do.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n Type : CustomParameterEntry[]\n\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool.do.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool.do.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n status\n \n \n \n \n \n \n Type : SchoolExternalToolConfigurationStatus\n\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool.do.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n toolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool.do.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n toolVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool.do.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from BaseDO\n\n \n \n \n \n Defined in BaseDO:5\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getVersion\n \n \n \n \n \n \ngetVersion()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool.do.ts:45\n \n \n\n\n \n \n\n \n Returns : number\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BaseDO } from '@shared/domain/domainobject/base.do';\nimport { CustomParameterEntry } from '../../common/domain';\nimport { ToolVersion } from '../../common/interface';\nimport { SchoolExternalToolConfigurationStatus } from '../controller/dto';\n\nexport interface SchoolExternalToolProps {\n\tid?: string;\n\n\tname?: string;\n\n\ttoolId: string;\n\n\tschoolId: string;\n\n\tparameters: CustomParameterEntry[];\n\n\ttoolVersion: number;\n\n\tstatus?: SchoolExternalToolConfigurationStatus;\n}\n\nexport class SchoolExternalTool extends BaseDO implements ToolVersion {\n\tname?: string;\n\n\ttoolId: string;\n\n\tschoolId: string;\n\n\tparameters: CustomParameterEntry[];\n\n\ttoolVersion: number;\n\n\tstatus?: SchoolExternalToolConfigurationStatus;\n\n\tconstructor(props: SchoolExternalToolProps) {\n\t\tsuper(props.id);\n\t\tthis.name = props.name;\n\t\tthis.toolId = props.toolId;\n\t\tthis.schoolId = props.schoolId;\n\t\tthis.parameters = props.parameters;\n\t\tthis.toolVersion = props.toolVersion;\n\t\tthis.status = props.status;\n\t}\n\n\tgetVersion(): number {\n\t\treturn this.toolVersion;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolConfigurationStatus.html":{"url":"classes/SchoolExternalToolConfigurationStatus.html","title":"class - SchoolExternalToolConfigurationStatus","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolConfigurationStatus\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/controller/domain/school-external-tool-configuration-status.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n isOutdatedOnScopeSchool\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: SchoolExternalToolConfigurationStatus)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/domain/school-external-tool-configuration-status.ts:2\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n SchoolExternalToolConfigurationStatus\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n isOutdatedOnScopeSchool\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/domain/school-external-tool-configuration-status.ts:2\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class SchoolExternalToolConfigurationStatus {\n\tisOutdatedOnScopeSchool: boolean;\n\n\tconstructor(props: SchoolExternalToolConfigurationStatus) {\n\t\tthis.isOutdatedOnScopeSchool = props.isOutdatedOnScopeSchool;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolConfigurationStatusResponse.html":{"url":"classes/SchoolExternalToolConfigurationStatusResponse.html","title":"class - SchoolExternalToolConfigurationStatusResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolConfigurationStatusResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-configuration.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n isOutdatedOnScopeSchool\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: SchoolExternalToolConfigurationStatusResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-configuration.response.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n SchoolExternalToolConfigurationStatusResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n isOutdatedOnScopeSchool\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: Boolean, description: 'Is the tool outdated on school scope, because of non matching versions or required parameter changes on ExternalTool?'})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-configuration.response.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class SchoolExternalToolConfigurationStatusResponse {\n\t@ApiProperty({\n\t\ttype: Boolean,\n\t\tdescription:\n\t\t\t'Is the tool outdated on school scope, because of non matching versions or required parameter changes on ExternalTool?',\n\t})\n\tisOutdatedOnScopeSchool: boolean;\n\n\tconstructor(props: SchoolExternalToolConfigurationStatusResponse) {\n\t\tthis.isOutdatedOnScopeSchool = props.isOutdatedOnScopeSchool;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{"url":"classes/SchoolExternalToolConfigurationTemplateListResponse.html","title":"class - SchoolExternalToolConfigurationTemplateListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolConfigurationTemplateListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/school-external-tool-configuration-template-list.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: SchoolExternalToolConfigurationTemplateResponse[])\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/school-external-tool-configuration-template-list.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n SchoolExternalToolConfigurationTemplateResponse[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : SchoolExternalToolConfigurationTemplateResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/school-external-tool-configuration-template-list.response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { SchoolExternalToolConfigurationTemplateResponse } from './school-external-tool-configuration-template.response';\n\nexport class SchoolExternalToolConfigurationTemplateListResponse {\n\t@ApiProperty({ type: [SchoolExternalToolConfigurationTemplateResponse] })\n\tdata: SchoolExternalToolConfigurationTemplateResponse[];\n\n\tconstructor(data: SchoolExternalToolConfigurationTemplateResponse[]) {\n\t\tthis.data = data;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{"url":"classes/SchoolExternalToolConfigurationTemplateResponse.html","title":"class - SchoolExternalToolConfigurationTemplateResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolConfigurationTemplateResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/school-external-tool-configuration-template.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n externalToolId\n \n \n \n Optional\n logoUrl\n \n \n \n name\n \n \n \n parameters\n \n \n \n version\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(configuration: SchoolExternalToolConfigurationTemplateResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/school-external-tool-configuration-template.response.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n configuration\n \n \n SchoolExternalToolConfigurationTemplateResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n externalToolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/school-external-tool-configuration-template.response.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/school-external-tool-configuration-template.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/school-external-tool-configuration-template.response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n Type : CustomParameterResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/school-external-tool-configuration-template.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n version\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/school-external-tool-configuration-template.response.ts:19\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { EntityId } from '@shared/domain/types';\nimport { CustomParameterResponse } from './custom-parameter.response';\n\nexport class SchoolExternalToolConfigurationTemplateResponse {\n\t@ApiProperty()\n\texternalToolId: EntityId;\n\n\t@ApiProperty()\n\tname: string;\n\n\t@ApiPropertyOptional()\n\tlogoUrl?: string;\n\n\t@ApiProperty({ type: [CustomParameterResponse] })\n\tparameters: CustomParameterResponse[];\n\n\t@ApiProperty()\n\tversion: number;\n\n\tconstructor(configuration: SchoolExternalToolConfigurationTemplateResponse) {\n\t\tthis.externalToolId = configuration.externalToolId;\n\t\tthis.name = configuration.name;\n\t\tthis.logoUrl = configuration.logoUrl;\n\t\tthis.parameters = configuration.parameters;\n\t\tthis.version = configuration.version;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/SchoolExternalToolEntity.html":{"url":"entities/SchoolExternalToolEntity.html","title":"entity - SchoolExternalToolEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n SchoolExternalToolEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/entity/school-external-tool.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n school\n \n \n \n schoolParameters\n \n \n \n tool\n \n \n \n toolVersion\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n Type : SchoolEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined, {eager: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/entity/school-external-tool.entity.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n schoolParameters\n \n \n \n \n \n \n Type : CustomParameterEntryEntity[]\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {array: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/entity/school-external-tool.entity.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n tool\n \n \n \n \n \n \n Type : ExternalToolEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/entity/school-external-tool.entity.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n toolVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/entity/school-external-tool.entity.ts:26\n \n \n\n\n \n \n\n \n\n\n \n import { Embedded, Entity, ManyToOne, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { SchoolEntity } from '@shared/domain/entity/school.entity';\nimport { CustomParameterEntryEntity } from '../../common/entity';\nimport { ExternalToolEntity } from '../../external-tool/entity';\n\nexport interface SchoolExternalToolProperties {\n\ttool: ExternalToolEntity;\n\tschool: SchoolEntity;\n\tschoolParameters?: CustomParameterEntryEntity[];\n\ttoolVersion: number;\n}\n\n@Entity({ tableName: 'school-external-tools' })\nexport class SchoolExternalToolEntity extends BaseEntityWithTimestamps {\n\t@ManyToOne()\n\ttool: ExternalToolEntity;\n\n\t@ManyToOne(() => SchoolEntity, { eager: true })\n\tschool: SchoolEntity;\n\n\t@Embedded(() => CustomParameterEntryEntity, { array: true })\n\tschoolParameters: CustomParameterEntryEntity[];\n\n\t@Property()\n\ttoolVersion: number;\n\n\tconstructor(props: SchoolExternalToolProperties) {\n\t\tsuper();\n\t\tthis.tool = props.tool;\n\t\tthis.school = props.school;\n\t\tthis.schoolParameters = props.schoolParameters ?? [];\n\t\tthis.toolVersion = props.toolVersion;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolFactory.html":{"url":"classes/SchoolExternalToolFactory.html","title":"class - SchoolExternalToolFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/domainobject/tool/school-external-tool.factory.ts\n \n\n\n\n \n Extends\n \n \n DoBaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withSchoolId\n \n \n \n buildWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withSchoolId\n \n \n \n \n \n \nwithSchoolId(schoolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/domainobject/tool/school-external-tool.factory.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \n \n buildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CustomParameterEntry } from '@modules/tool/common/domain';\nimport { SchoolExternalTool, SchoolExternalToolProps } from '@modules/tool/school-external-tool/domain';\nimport { DeepPartial } from 'fishery';\nimport { DoBaseFactory } from '../do-base.factory';\nimport { schoolToolConfigurationStatusFactory } from './school-external-tool-configuration-status.factory';\n\nclass SchoolExternalToolFactory extends DoBaseFactory {\n\twithSchoolId(schoolId: string): this {\n\t\tconst params: DeepPartial = {\n\t\t\tschoolId,\n\t\t};\n\t\treturn this.params(params);\n\t}\n}\n\nexport const schoolExternalToolFactory = SchoolExternalToolFactory.define(SchoolExternalTool, ({ sequence }) => {\n\treturn {\n\t\tname: `schoolExternal-${sequence}`,\n\t\tschoolId: `schoolId-${sequence}`,\n\t\ttoolVersion: 1,\n\t\tparameters: [\n\t\t\tnew CustomParameterEntry({\n\t\t\t\tname: 'name',\n\t\t\t\tvalue: 'value',\n\t\t\t}),\n\t\t],\n\t\ttoolId: 'toolId',\n\t\tstatus: schoolToolConfigurationStatusFactory.build(),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolIdParams.html":{"url":"classes/SchoolExternalToolIdParams.html","title":"class - SchoolExternalToolIdParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolIdParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-id.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n schoolExternalToolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n schoolExternalToolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({nullable: false, required: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-id.params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsMongoId } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\n\nexport class SchoolExternalToolIdParams {\n\t@IsMongoId()\n\t@ApiProperty({ nullable: false, required: true })\n\tschoolExternalToolId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolIdParams-1.html":{"url":"classes/SchoolExternalToolIdParams-1.html","title":"class - SchoolExternalToolIdParams-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolIdParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/school-external-tool-id.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n schoolExternalToolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n schoolExternalToolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/school-external-tool-id.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { EntityId } from '@shared/domain/types';\nimport { IsMongoId } from 'class-validator';\n\nexport class SchoolExternalToolIdParams {\n\t@IsMongoId()\n\t@ApiProperty()\n\tschoolExternalToolId!: EntityId;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolMetadata.html":{"url":"classes/SchoolExternalToolMetadata.html","title":"class - SchoolExternalToolMetadata","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolMetadata\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/domain/school-external-tool-metadata.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n contextExternalToolCountPerContext\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolExternalToolMetadata: SchoolExternalToolMetadata)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool-metadata.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolMetadata\n \n \n SchoolExternalToolMetadata\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n contextExternalToolCountPerContext\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool-metadata.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ContextExternalToolType } from '../../context-external-tool/entity';\n\nexport class SchoolExternalToolMetadata {\n\tcontextExternalToolCountPerContext: Record;\n\n\tconstructor(schoolExternalToolMetadata: SchoolExternalToolMetadata) {\n\t\tthis.contextExternalToolCountPerContext = schoolExternalToolMetadata.contextExternalToolCountPerContext;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolMetadataMapper.html":{"url":"classes/SchoolExternalToolMetadataMapper.html","title":"class - SchoolExternalToolMetadataMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolMetadataMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/mapper/school-external-tool-metadata.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToSchoolExternalToolMetadataResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToSchoolExternalToolMetadataResponse\n \n \n \n \n \n \n \n mapToSchoolExternalToolMetadataResponse(schoolExternalToolMetadata: SchoolExternalToolMetadata)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/mapper/school-external-tool-metadata.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolMetadata\n \n SchoolExternalToolMetadata\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolExternalToolMetadataResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ContextExternalToolCountPerContextResponse } from '../../common/controller/dto';\nimport { SchoolExternalToolMetadataResponse } from '../controller/dto';\nimport { SchoolExternalToolMetadata } from '../domain';\n\nexport class SchoolExternalToolMetadataMapper {\n\tstatic mapToSchoolExternalToolMetadataResponse(\n\t\tschoolExternalToolMetadata: SchoolExternalToolMetadata\n\t): SchoolExternalToolMetadataResponse {\n\t\tconst externalToolMetadataResponse: SchoolExternalToolMetadataResponse = new SchoolExternalToolMetadataResponse({\n\t\t\tcontextExternalToolCountPerContext: new ContextExternalToolCountPerContextResponse(\n\t\t\t\tschoolExternalToolMetadata.contextExternalToolCountPerContext\n\t\t\t),\n\t\t});\n\n\t\treturn externalToolMetadataResponse;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolMetadataResponse.html":{"url":"classes/SchoolExternalToolMetadataResponse.html","title":"class - SchoolExternalToolMetadataResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolMetadataResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-metadata.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contextExternalToolCountPerContext\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolExternalToolMetadataResponse: SchoolExternalToolMetadataResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-metadata.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolMetadataResponse\n \n \n SchoolExternalToolMetadataResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextExternalToolCountPerContext\n \n \n \n \n \n \n Type : ContextExternalToolCountPerContextResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-metadata.response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContextExternalToolCountPerContextResponse } from '../../../common/controller/dto';\n\nexport class SchoolExternalToolMetadataResponse {\n\t@ApiProperty()\n\tcontextExternalToolCountPerContext: ContextExternalToolCountPerContextResponse;\n\n\tconstructor(schoolExternalToolMetadataResponse: SchoolExternalToolMetadataResponse) {\n\t\tthis.contextExternalToolCountPerContext = schoolExternalToolMetadataResponse.contextExternalToolCountPerContext;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolExternalToolMetadataService.html":{"url":"injectables/SchoolExternalToolMetadataService.html","title":"injectable - SchoolExternalToolMetadataService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolExternalToolMetadataService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/service/school-external-tool-metadata.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getMetadata\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(contextToolRepo: ContextExternalToolRepo)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool-metadata.service.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextToolRepo\n \n \n ContextExternalToolRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getMetadata\n \n \n \n \n \n \n \n getMetadata(schoolExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool-metadata.service.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ContextExternalToolRepo } from '@shared/repo';\nimport { ToolContextType } from '../../common/enum';\nimport { ToolContextMapper } from '../../common/mapper/tool-context.mapper';\nimport { ContextExternalToolType } from '../../context-external-tool/entity';\nimport { SchoolExternalToolMetadata } from '../domain';\n\n@Injectable()\nexport class SchoolExternalToolMetadataService {\n\tconstructor(private readonly contextToolRepo: ContextExternalToolRepo) {}\n\n\tasync getMetadata(schoolExternalToolId: EntityId) {\n\t\tconst contextExternalToolCount: Record = {\n\t\t\t[ContextExternalToolType.BOARD_ELEMENT]: 0,\n\t\t\t[ContextExternalToolType.COURSE]: 0,\n\t\t};\n\n\t\tawait Promise.all(\n\t\t\tObject.values(ToolContextType).map(async (contextType: ToolContextType): Promise => {\n\t\t\t\tconst type: ContextExternalToolType = ToolContextMapper.contextMapping[contextType];\n\n\t\t\t\tconst countPerContext: number = await this.contextToolRepo.countBySchoolToolIdsAndContextType(type, [\n\t\t\t\t\tschoolExternalToolId,\n\t\t\t\t]);\n\n\t\t\t\tcontextExternalToolCount[type] = countPerContext;\n\t\t\t})\n\t\t);\n\n\t\tconst schoolExternalToolMetadata: SchoolExternalToolMetadata = new SchoolExternalToolMetadata({\n\t\t\tcontextExternalToolCountPerContext: contextExternalToolCount,\n\t\t});\n\n\t\treturn schoolExternalToolMetadata;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/SchoolExternalToolModule.html":{"url":"modules/SchoolExternalToolModule.html","title":"module - SchoolExternalToolModule","body":"\n \n\n\n\n\n Modules\n SchoolExternalToolModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_SchoolExternalToolModule\n\n\n\ncluster_SchoolExternalToolModule_providers\n\n\n\ncluster_SchoolExternalToolModule_imports\n\n\n\ncluster_SchoolExternalToolModule_exports\n\n\n\n\nCommonToolModule\n\nCommonToolModule\n\n\n\nSchoolExternalToolModule\n\nSchoolExternalToolModule\n\nSchoolExternalToolModule -->\n\nCommonToolModule->SchoolExternalToolModule\n\n\n\n\n\nExternalToolModule\n\nExternalToolModule\n\nSchoolExternalToolModule -->\n\nExternalToolModule->SchoolExternalToolModule\n\n\n\n\n\nToolConfigModule\n\nToolConfigModule\n\nSchoolExternalToolModule -->\n\nToolConfigModule->SchoolExternalToolModule\n\n\n\n\n\nSchoolExternalToolMetadataService \n\nSchoolExternalToolMetadataService \n\nSchoolExternalToolMetadataService -->\n\nSchoolExternalToolModule->SchoolExternalToolMetadataService \n\n\n\n\n\nSchoolExternalToolService \n\nSchoolExternalToolService \n\nSchoolExternalToolService -->\n\nSchoolExternalToolModule->SchoolExternalToolService \n\n\n\n\n\nSchoolExternalToolValidationService \n\nSchoolExternalToolValidationService \n\nSchoolExternalToolValidationService -->\n\nSchoolExternalToolModule->SchoolExternalToolValidationService \n\n\n\n\n\nSchoolExternalToolMetadataService\n\nSchoolExternalToolMetadataService\n\nSchoolExternalToolModule -->\n\nSchoolExternalToolMetadataService->SchoolExternalToolModule\n\n\n\n\n\nSchoolExternalToolService\n\nSchoolExternalToolService\n\nSchoolExternalToolModule -->\n\nSchoolExternalToolService->SchoolExternalToolModule\n\n\n\n\n\nSchoolExternalToolValidationService\n\nSchoolExternalToolValidationService\n\nSchoolExternalToolModule -->\n\nSchoolExternalToolValidationService->SchoolExternalToolModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/school-external-tool.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n SchoolExternalToolMetadataService\n \n \n SchoolExternalToolService\n \n \n SchoolExternalToolValidationService\n \n \n \n \n Imports\n \n \n CommonToolModule\n \n \n ExternalToolModule\n \n \n ToolConfigModule\n \n \n \n \n Exports\n \n \n SchoolExternalToolMetadataService\n \n \n SchoolExternalToolService\n \n \n SchoolExternalToolValidationService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { CommonToolModule } from '../common';\nimport {\n\tSchoolExternalToolService,\n\tSchoolExternalToolValidationService,\n\tSchoolExternalToolMetadataService,\n} from './service';\nimport { ExternalToolModule } from '../external-tool';\nimport { ToolConfigModule } from '../tool-config.module';\n\n@Module({\n\timports: [CommonToolModule, ExternalToolModule, ToolConfigModule],\n\tproviders: [SchoolExternalToolService, SchoolExternalToolValidationService, SchoolExternalToolMetadataService],\n\texports: [SchoolExternalToolService, SchoolExternalToolValidationService, SchoolExternalToolMetadataService],\n})\nexport class SchoolExternalToolModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolPostParams.html":{"url":"classes/SchoolExternalToolPostParams.html","title":"class - SchoolExternalToolPostParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolPostParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-post.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n parameters\n \n \n \n \n \n schoolId\n \n \n \n \n \n toolId\n \n \n \n \n version\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n parameters\n \n \n \n \n \n \n Type : CustomParameterEntryParam[]\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested({each: true})@IsArray()@IsOptional()@ApiPropertyOptional({type: undefined})@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-post.params.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-post.params.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n toolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-post.params.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n version\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsNumber()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-post.params.ts:26\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { Type } from 'class-transformer';\nimport { IsArray, IsMongoId, IsNumber, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { CustomParameterEntryParam } from './custom-parameter-entry.params';\n\nexport class SchoolExternalToolPostParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsMongoId()\n\ttoolId!: string;\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsMongoId()\n\tschoolId!: string;\n\n\t@ValidateNested({ each: true })\n\t@IsArray()\n\t@IsOptional()\n\t@ApiPropertyOptional({ type: [CustomParameterEntryParam] })\n\t@Type(() => CustomParameterEntryParam)\n\tparameters?: CustomParameterEntryParam[];\n\n\t@ApiProperty()\n\t@IsNumber()\n\tversion!: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SchoolExternalToolProperties.html":{"url":"interfaces/SchoolExternalToolProperties.html","title":"interface - SchoolExternalToolProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SchoolExternalToolProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/entity/school-external-tool.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n school\n \n \n \n Optional\n \n schoolParameters\n \n \n \n \n tool\n \n \n \n \n toolVersion\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n school\n \n \n \n \n \n \n \n \n school: SchoolEntity\n\n \n \n\n\n \n \n Type : SchoolEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolParameters\n \n \n \n \n \n \n \n \n schoolParameters: CustomParameterEntryEntity[]\n\n \n \n\n\n \n \n Type : CustomParameterEntryEntity[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n tool\n \n \n \n \n \n \n \n \n tool: ExternalToolEntity\n\n \n \n\n\n \n \n Type : ExternalToolEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n toolVersion\n \n \n \n \n \n \n \n \n toolVersion: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Embedded, Entity, ManyToOne, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { SchoolEntity } from '@shared/domain/entity/school.entity';\nimport { CustomParameterEntryEntity } from '../../common/entity';\nimport { ExternalToolEntity } from '../../external-tool/entity';\n\nexport interface SchoolExternalToolProperties {\n\ttool: ExternalToolEntity;\n\tschool: SchoolEntity;\n\tschoolParameters?: CustomParameterEntryEntity[];\n\ttoolVersion: number;\n}\n\n@Entity({ tableName: 'school-external-tools' })\nexport class SchoolExternalToolEntity extends BaseEntityWithTimestamps {\n\t@ManyToOne()\n\ttool: ExternalToolEntity;\n\n\t@ManyToOne(() => SchoolEntity, { eager: true })\n\tschool: SchoolEntity;\n\n\t@Embedded(() => CustomParameterEntryEntity, { array: true })\n\tschoolParameters: CustomParameterEntryEntity[];\n\n\t@Property()\n\ttoolVersion: number;\n\n\tconstructor(props: SchoolExternalToolProperties) {\n\t\tsuper();\n\t\tthis.tool = props.tool;\n\t\tthis.school = props.school;\n\t\tthis.schoolParameters = props.schoolParameters ?? [];\n\t\tthis.toolVersion = props.toolVersion;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SchoolExternalToolProps.html":{"url":"interfaces/SchoolExternalToolProps.html","title":"interface - SchoolExternalToolProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SchoolExternalToolProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/domain/school-external-tool.do.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n id\n \n \n \n Optional\n \n name\n \n \n \n \n parameters\n \n \n \n \n schoolId\n \n \n \n Optional\n \n status\n \n \n \n \n toolId\n \n \n \n \n toolVersion\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n \n \n parameters: CustomParameterEntry[]\n\n \n \n\n\n \n \n Type : CustomParameterEntry[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n schoolId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n \n \n status: SchoolExternalToolConfigurationStatus\n\n \n \n\n\n \n \n Type : SchoolExternalToolConfigurationStatus\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n toolId\n \n \n \n \n \n \n \n \n toolId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n toolVersion\n \n \n \n \n \n \n \n \n toolVersion: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BaseDO } from '@shared/domain/domainobject/base.do';\nimport { CustomParameterEntry } from '../../common/domain';\nimport { ToolVersion } from '../../common/interface';\nimport { SchoolExternalToolConfigurationStatus } from '../controller/dto';\n\nexport interface SchoolExternalToolProps {\n\tid?: string;\n\n\tname?: string;\n\n\ttoolId: string;\n\n\tschoolId: string;\n\n\tparameters: CustomParameterEntry[];\n\n\ttoolVersion: number;\n\n\tstatus?: SchoolExternalToolConfigurationStatus;\n}\n\nexport class SchoolExternalTool extends BaseDO implements ToolVersion {\n\tname?: string;\n\n\ttoolId: string;\n\n\tschoolId: string;\n\n\tparameters: CustomParameterEntry[];\n\n\ttoolVersion: number;\n\n\tstatus?: SchoolExternalToolConfigurationStatus;\n\n\tconstructor(props: SchoolExternalToolProps) {\n\t\tsuper(props.id);\n\t\tthis.name = props.name;\n\t\tthis.toolId = props.toolId;\n\t\tthis.schoolId = props.schoolId;\n\t\tthis.parameters = props.parameters;\n\t\tthis.toolVersion = props.toolVersion;\n\t\tthis.status = props.status;\n\t}\n\n\tgetVersion(): number {\n\t\treturn this.toolVersion;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolRefDO.html":{"url":"classes/SchoolExternalToolRefDO.html","title":"class - SchoolExternalToolRefDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolRefDO\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/domain/school-external-tool-ref.do.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n schoolId\n \n \n schoolToolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: SchoolExternalToolRefDO)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool-ref.do.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n SchoolExternalToolRefDO\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n schoolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool-ref.do.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n schoolToolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool-ref.do.ts:2\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class SchoolExternalToolRefDO {\n\tschoolToolId: string;\n\n\tschoolId?: string;\n\n\tconstructor(props: SchoolExternalToolRefDO) {\n\t\tthis.schoolToolId = props.schoolToolId;\n\t\tthis.schoolId = props.schoolId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolExternalToolRepo.html":{"url":"injectables/SchoolExternalToolRepo.html","title":"injectable - SchoolExternalToolRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolExternalToolRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/schoolexternaltool/school-external-tool.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseDORepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n buildScope\n \n \n Async\n deleteByExternalToolId\n \n \n entityFactory\n \n \n Async\n find\n \n \n Async\n findByExternalToolId\n \n \n Async\n findBySchoolId\n \n \n mapDOToEntityProperties\n \n \n mapEntityToDO\n \n \n Private\n createEntity\n \n \n Protected\n createNewEntityFromDO\n \n \n Async\n delete\n \n \n Async\n deleteById\n \n \n Private\n deleteEntityById\n \n \n Async\n findById\n \n \n Private\n removeProtectedEntityFields\n \n \n Async\n save\n \n \n Async\n saveAll\n \n \n Private\n Async\n updateEntity\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(_em: EntityManager, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/shared/repo/schoolexternaltool/school-external-tool.repo.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n _em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n buildScope\n \n \n \n \n \n \n \n buildScope(query: SchoolExternalToolQuery)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/schoolexternaltool/school-external-tool.repo.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n SchoolExternalToolQuery\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolExternalToolScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteByExternalToolId\n \n \n \n \n \n \n \n deleteByExternalToolId(toolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/schoolexternaltool/school-external-tool.repo.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n entityFactory\n \n \n \n \n \n \nentityFactory(props: SchoolExternalToolProperties)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:28\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n SchoolExternalToolProperties\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolExternalToolEntity\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n find\n \n \n \n \n \n \n \n find(query: SchoolExternalToolQuery)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/schoolexternaltool/school-external-tool.repo.ts:56\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n SchoolExternalToolQuery\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByExternalToolId\n \n \n \n \n \n \n \n findByExternalToolId(toolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/schoolexternaltool/school-external-tool.repo.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findBySchoolId\n \n \n \n \n \n \n \n findBySchoolId(schoolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/schoolexternaltool/school-external-tool.repo.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapDOToEntityProperties\n \n \n \n \n \n \nmapDOToEntityProperties(entityDO: SchoolExternalTool)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:85\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolExternalToolProperties\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapEntityToDO\n \n \n \n \n \n \nmapEntityToDO(entity: SchoolExternalToolEntity)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:75\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n SchoolExternalToolEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolExternalTool\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createEntity\n \n \n \n \n \n \n \n createEntity(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:44\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : E\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n createNewEntityFromDO\n \n \n \n \n \n \n \n createNewEntityFromDO(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:65\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : E\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(domainObjects: DO[] | DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:87\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[] | DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteById\n \n \n \n \n \n \n [object Object],[object Object],[object Object]\n \n \n \n \n \n deleteById(id: EntityId | EntityId[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:100\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n deleteEntityById\n \n \n \n \n \n \n \n deleteEntityById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:113\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:118\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeProtectedEntityFields\n \n \n \n \n \n \n \n removeProtectedEntityFields(entity: E)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:79\n\n \n \n\n\n \n \n Ignore base entity properties when updating entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n E\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entityDo: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:21\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDo\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAll\n \n \n \n \n \n \n \n saveAll(entityDos: DO[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDos\n \n DO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n updateEntity\n \n \n \n \n \n \n \n updateEntity(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:52\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/schoolexternaltool/school-external-tool.repo.ts:24\n \n \n\n \n \n\n \n\n\n \n import { EntityName } from '@mikro-orm/core';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { ExternalToolEntity } from '@modules/tool/external-tool/entity';\nimport { SchoolExternalTool } from '@modules/tool/school-external-tool/domain';\nimport { SchoolExternalToolEntity, SchoolExternalToolProperties } from '@modules/tool/school-external-tool/entity';\nimport { SchoolExternalToolQuery } from '@modules/tool/school-external-tool/uc/dto/school-external-tool.types';\nimport { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { SchoolEntity } from '@shared/domain/entity';\nimport { BaseDORepo } from '@shared/repo/base.do.repo';\nimport { LegacyLogger } from '@src/core/logger';\nimport { ExternalToolRepoMapper } from '../externaltool';\nimport { SchoolExternalToolScope } from './school-external-tool.scope';\n\n@Injectable()\nexport class SchoolExternalToolRepo extends BaseDORepo {\n\tconstructor(protected readonly _em: EntityManager, protected readonly logger: LegacyLogger) {\n\t\tsuper(_em, logger);\n\t}\n\n\tget entityName(): EntityName {\n\t\treturn SchoolExternalToolEntity;\n\t}\n\n\tentityFactory(props: SchoolExternalToolProperties): SchoolExternalToolEntity {\n\t\treturn new SchoolExternalToolEntity(props);\n\t}\n\n\tasync findByExternalToolId(toolId: string): Promise {\n\t\tconst entities: SchoolExternalToolEntity[] = await this._em.find(this.entityName, { tool: toolId });\n\t\tconst domainObjects: SchoolExternalTool[] = entities.map((entity: SchoolExternalToolEntity): SchoolExternalTool => {\n\t\t\tconst domainObject: SchoolExternalTool = this.mapEntityToDO(entity);\n\t\t\treturn domainObject;\n\t\t});\n\t\treturn domainObjects;\n\t}\n\n\tasync findBySchoolId(schoolId: string): Promise {\n\t\tconst entities: SchoolExternalToolEntity[] = await this._em.find(this.entityName, { school: schoolId });\n\t\tconst domainObjects: SchoolExternalTool[] = entities.map((entity: SchoolExternalToolEntity): SchoolExternalTool => {\n\t\t\tconst domainObject: SchoolExternalTool = this.mapEntityToDO(entity);\n\t\t\treturn domainObject;\n\t\t});\n\n\t\treturn domainObjects;\n\t}\n\n\tasync deleteByExternalToolId(toolId: string): Promise {\n\t\tconst count: Promise = this._em.nativeDelete(this.entityName, { tool: toolId });\n\t\treturn count;\n\t}\n\n\tasync find(query: SchoolExternalToolQuery): Promise {\n\t\tconst scope: SchoolExternalToolScope = this.buildScope(query);\n\n\t\tconst entities: SchoolExternalToolEntity[] = await this._em.find(this.entityName, scope.query);\n\n\t\tconst dos: SchoolExternalTool[] = entities.map((entity: SchoolExternalToolEntity) => this.mapEntityToDO(entity));\n\t\treturn dos;\n\t}\n\n\tprivate buildScope(query: SchoolExternalToolQuery): SchoolExternalToolScope {\n\t\tconst scope: SchoolExternalToolScope = new SchoolExternalToolScope();\n\n\t\tscope.bySchoolId(query.schoolId);\n\t\tscope.byToolId(query.toolId);\n\t\tscope.allowEmptyQuery(true);\n\n\t\treturn scope;\n\t}\n\n\tmapEntityToDO(entity: SchoolExternalToolEntity): SchoolExternalTool {\n\t\treturn new SchoolExternalTool({\n\t\t\tid: entity.id,\n\t\t\ttoolId: entity.tool.id,\n\t\t\tschoolId: entity.school.id,\n\t\t\ttoolVersion: entity.toolVersion,\n\t\t\tparameters: ExternalToolRepoMapper.mapCustomParameterEntryEntitiesToDOs(entity.schoolParameters),\n\t\t});\n\t}\n\n\tmapDOToEntityProperties(entityDO: SchoolExternalTool): SchoolExternalToolProperties {\n\t\treturn {\n\t\t\tschool: this._em.getReference(SchoolEntity, entityDO.schoolId),\n\t\t\ttool: this._em.getReference(ExternalToolEntity, entityDO.toolId),\n\t\t\ttoolVersion: entityDO.toolVersion,\n\t\t\tschoolParameters: ExternalToolRepoMapper.mapCustomParameterEntryDOsToEntities(entityDO.parameters),\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolExternalToolRequestMapper.html":{"url":"injectables/SchoolExternalToolRequestMapper.html","title":"injectable - SchoolExternalToolRequestMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolExternalToolRequestMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/mapper/school-external-tool-request.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n mapRequestToCustomParameterEntryDO\n \n \n mapSchoolExternalToolRequest\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n mapRequestToCustomParameterEntryDO\n \n \n \n \n \n \n \n mapRequestToCustomParameterEntryDO(customParameterParams: CustomParameterEntryParam[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/mapper/school-external-tool-request.mapper.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameterParams\n \n CustomParameterEntryParam[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CustomParameterEntry[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapSchoolExternalToolRequest\n \n \n \n \n \n \nmapSchoolExternalToolRequest(request: SchoolExternalToolPostParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/mapper/school-external-tool-request.mapper.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n request\n \n SchoolExternalToolPostParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolExternalToolDto\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { CustomParameterEntry } from '../../common/domain';\nimport { CustomParameterEntryParam, SchoolExternalToolPostParams } from '../controller/dto';\nimport { SchoolExternalToolDto } from '../uc/dto/school-external-tool.types';\n\n@Injectable()\nexport class SchoolExternalToolRequestMapper {\n\tmapSchoolExternalToolRequest(request: SchoolExternalToolPostParams): SchoolExternalToolDto {\n\t\treturn {\n\t\t\ttoolId: request.toolId,\n\t\t\tschoolId: request.schoolId,\n\t\t\ttoolVersion: request.version,\n\t\t\tparameters: this.mapRequestToCustomParameterEntryDO(request.parameters ?? []),\n\t\t};\n\t}\n\n\tprivate mapRequestToCustomParameterEntryDO(\n\t\tcustomParameterParams: CustomParameterEntryParam[]\n\t): CustomParameterEntry[] {\n\t\treturn customParameterParams.map((customParameterParam: CustomParameterEntryParam) => {\n\t\t\treturn {\n\t\t\t\tname: customParameterParam.name,\n\t\t\t\tvalue: customParameterParam.value || undefined,\n\t\t\t};\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolResponse.html":{"url":"classes/SchoolExternalToolResponse.html","title":"class - SchoolExternalToolResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n Optional\n logoUrl\n \n \n \n name\n \n \n \n parameters\n \n \n \n schoolId\n \n \n \n status\n \n \n \n toolId\n \n \n \n toolVersion\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(response: SchoolExternalToolResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool.response.ts:28\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n \n SchoolExternalToolResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool.response.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool.response.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool.response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n Type : CustomParameterEntryResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : SchoolExternalToolConfigurationStatusResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: SchoolExternalToolConfigurationStatusResponse})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool.response.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n toolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n toolVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool.response.ts:22\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { CustomParameterEntryResponse } from './custom-parameter-entry.response';\nimport { SchoolExternalToolConfigurationStatusResponse } from './school-external-tool-configuration.response';\n\nexport class SchoolExternalToolResponse {\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\tname: string;\n\n\t@ApiProperty()\n\ttoolId: string;\n\n\t@ApiProperty()\n\tschoolId: string;\n\n\t@ApiProperty({ type: [CustomParameterEntryResponse] })\n\tparameters: CustomParameterEntryResponse[];\n\n\t@ApiProperty()\n\ttoolVersion: number;\n\n\t@ApiProperty({ type: SchoolExternalToolConfigurationStatusResponse })\n\tstatus: SchoolExternalToolConfigurationStatusResponse;\n\n\t@ApiPropertyOptional()\n\tlogoUrl?: string;\n\n\tconstructor(response: SchoolExternalToolResponse) {\n\t\tthis.id = response.id;\n\t\tthis.name = response.name;\n\t\tthis.toolId = response.toolId;\n\t\tthis.schoolId = response.schoolId;\n\t\tthis.parameters = response.parameters;\n\t\tthis.toolVersion = response.toolVersion;\n\t\tthis.status = response.status;\n\t\tthis.logoUrl = response.logoUrl;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolExternalToolResponseMapper.html":{"url":"injectables/SchoolExternalToolResponseMapper.html","title":"injectable - SchoolExternalToolResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolExternalToolResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/mapper/school-external-tool-response.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n mapToCustomParameterEntryResponse\n \n \n mapToSchoolExternalToolResponse\n \n \n mapToSearchListResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n mapToCustomParameterEntryResponse\n \n \n \n \n \n \n \n mapToCustomParameterEntryResponse(entries: CustomParameterEntry[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/mapper/school-external-tool-response.mapper.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entries\n \n CustomParameterEntry[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CustomParameterEntryResponse[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapToSchoolExternalToolResponse\n \n \n \n \n \n \nmapToSchoolExternalToolResponse(schoolExternalTool: SchoolExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/mapper/school-external-tool-response.mapper.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolExternalToolResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapToSearchListResponse\n \n \n \n \n \n \nmapToSearchListResponse(externalTools: SchoolExternalTool[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/mapper/school-external-tool-response.mapper.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTools\n \n SchoolExternalTool[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolExternalToolSearchListResponse\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { CustomParameterEntry } from '../../common/domain';\nimport {\n\tCustomParameterEntryResponse,\n\tSchoolExternalToolResponse,\n\tSchoolExternalToolSearchListResponse,\n} from '../controller/dto';\nimport { SchoolExternalTool } from '../domain';\nimport { SchoolToolConfigurationStatusResponseMapper } from './school-external-tool-status-response.mapper';\n\n@Injectable()\nexport class SchoolExternalToolResponseMapper {\n\tmapToSearchListResponse(externalTools: SchoolExternalTool[]): SchoolExternalToolSearchListResponse {\n\t\tconst responses: SchoolExternalToolResponse[] = externalTools.map((toolDO: SchoolExternalTool) =>\n\t\t\tthis.mapToSchoolExternalToolResponse(toolDO)\n\t\t);\n\t\treturn new SchoolExternalToolSearchListResponse(responses);\n\t}\n\n\tmapToSchoolExternalToolResponse(schoolExternalTool: SchoolExternalTool): SchoolExternalToolResponse {\n\t\treturn {\n\t\t\tid: schoolExternalTool.id ?? '',\n\t\t\tname: schoolExternalTool.name ?? '',\n\t\t\ttoolId: schoolExternalTool.toolId,\n\t\t\tschoolId: schoolExternalTool.schoolId,\n\t\t\tparameters: this.mapToCustomParameterEntryResponse(schoolExternalTool.parameters),\n\t\t\ttoolVersion: schoolExternalTool.toolVersion,\n\t\t\tstatus: SchoolToolConfigurationStatusResponseMapper.mapToResponse(\n\t\t\t\tschoolExternalTool.status ?? { isOutdatedOnScopeSchool: false }\n\t\t\t),\n\t\t};\n\t}\n\n\tprivate mapToCustomParameterEntryResponse(entries: CustomParameterEntry[]): CustomParameterEntryResponse[] {\n\t\treturn entries.map(\n\t\t\t(entry: CustomParameterEntry): CustomParameterEntry =>\n\t\t\t\tnew CustomParameterEntryResponse({\n\t\t\t\t\tname: entry.name,\n\t\t\t\t\tvalue: entry.value,\n\t\t\t\t})\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolExternalToolRule.html":{"url":"injectables/SchoolExternalToolRule.html","title":"injectable - SchoolExternalToolRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolExternalToolRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/school-external-tool.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/school-external-tool.rule.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, entity: SchoolExternalToolEntity | SchoolExternalTool, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/school-external-tool.rule.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n SchoolExternalToolEntity | SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, entity: SchoolExternalToolEntity | SchoolExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/school-external-tool.rule.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n SchoolExternalToolEntity | SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { SchoolExternalTool } from '@modules/tool/school-external-tool/domain';\nimport { SchoolExternalToolEntity } from '@modules/tool/school-external-tool/entity';\nimport { User } from '@shared/domain/entity';\nimport { AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\n\n@Injectable()\nexport class SchoolExternalToolRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper) {}\n\n\tpublic isApplicable(user: User, entity: SchoolExternalToolEntity | SchoolExternalTool): boolean {\n\t\tconst isMatched: boolean = entity instanceof SchoolExternalToolEntity || entity instanceof SchoolExternalTool;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(\n\t\tuser: User,\n\t\tentity: SchoolExternalToolEntity | SchoolExternalTool,\n\t\tcontext: AuthorizationContext\n\t): boolean {\n\t\tlet hasPermission: boolean;\n\t\tif (entity instanceof SchoolExternalToolEntity) {\n\t\t\thasPermission =\n\t\t\t\tthis.authorizationHelper.hasAllPermissions(user, context.requiredPermissions) &&\n\t\t\t\tuser.school.id === entity.school.id;\n\t\t} else {\n\t\t\thasPermission =\n\t\t\t\tthis.authorizationHelper.hasAllPermissions(user, context.requiredPermissions) &&\n\t\t\t\tuser.school.id === entity.schoolId;\n\t\t}\n\t\treturn hasPermission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolScope.html":{"url":"classes/SchoolExternalToolScope.html","title":"class - SchoolExternalToolScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/schoolexternaltool/school-external-tool.scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n bySchoolId\n \n \n byToolId\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n bySchoolId\n \n \n \n \n \n \nbySchoolId(schoolId: EntityId | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/schoolexternaltool/school-external-tool.scope.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byToolId\n \n \n \n \n \n \nbyToolId(toolId: EntityId | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/schoolexternaltool/school-external-tool.scope.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolId\n \n EntityId | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { SchoolExternalToolEntity } from '@modules/tool/school-external-tool/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { Scope } from '@shared/repo/scope';\n\nexport class SchoolExternalToolScope extends Scope {\n\tbySchoolId(schoolId: EntityId | undefined): this {\n\t\tif (schoolId !== undefined) {\n\t\t\tthis.addQuery({ school: schoolId });\n\t\t}\n\t\treturn this;\n\t}\n\n\tbyToolId(toolId: EntityId | undefined): this {\n\t\tif (toolId !== undefined) {\n\t\t\tthis.addQuery({ tool: toolId });\n\t\t}\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolSearchListResponse.html":{"url":"classes/SchoolExternalToolSearchListResponse.html","title":"class - SchoolExternalToolSearchListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolSearchListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-search-list.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: SchoolExternalToolResponse[])\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-search-list.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n SchoolExternalToolResponse[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : SchoolExternalToolResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-search-list.response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { SchoolExternalToolResponse } from './school-external-tool.response';\n\nexport class SchoolExternalToolSearchListResponse {\n\t@ApiProperty({ type: [SchoolExternalToolResponse] })\n\tdata: SchoolExternalToolResponse[];\n\n\tconstructor(data: SchoolExternalToolResponse[]) {\n\t\tthis.data = data;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolSearchParams.html":{"url":"classes/SchoolExternalToolSearchParams.html","title":"class - SchoolExternalToolSearchParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolSearchParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-search.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-search.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId, IsString } from 'class-validator';\n\nexport class SchoolExternalToolSearchParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsMongoId()\n\tschoolId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolExternalToolService.html":{"url":"injectables/SchoolExternalToolService.html","title":"injectable - SchoolExternalToolService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolExternalToolService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/service/school-external-tool.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteSchoolExternalToolById\n \n \n Private\n Async\n determineSchoolToolStatus\n \n \n Private\n Async\n enrichDataFromExternalTool\n \n \n Private\n Async\n enrichWithDataFromExternalTools\n \n \n Async\n findById\n \n \n Async\n findSchoolExternalTools\n \n \n Async\n saveSchoolExternalTool\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolExternalToolRepo: SchoolExternalToolRepo, externalToolService: ExternalToolService, schoolExternalToolValidationService: SchoolExternalToolValidationService, toolFeatures: IToolFeatures)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool.service.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolRepo\n \n \n SchoolExternalToolRepo\n \n \n \n No\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n schoolExternalToolValidationService\n \n \n SchoolExternalToolValidationService\n \n \n \n No\n \n \n \n \n toolFeatures\n \n \n IToolFeatures\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteSchoolExternalToolById\n \n \n \n \n \n \n \n deleteSchoolExternalToolById(schoolExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool.service.ts:85\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n determineSchoolToolStatus\n \n \n \n \n \n \n \n determineSchoolToolStatus(tool: SchoolExternalTool, externalTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool.service.ts:56\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n tool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n enrichDataFromExternalTool\n \n \n \n \n \n \n \n enrichDataFromExternalTool(tool: SchoolExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool.service.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n tool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n enrichWithDataFromExternalTools\n \n \n \n \n \n \n \n enrichWithDataFromExternalTools(tools: SchoolExternalTool[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool.service.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n tools\n \n SchoolExternalTool[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(schoolExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool.service.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findSchoolExternalTools\n \n \n \n \n \n \n \n findSchoolExternalTools(query: SchoolExternalToolQuery)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool.service.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n SchoolExternalToolQuery\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveSchoolExternalTool\n \n \n \n \n \n \n \n saveSchoolExternalTool(schoolExternalTool: SchoolExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool.service.ts:89\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Inject, Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { SchoolExternalToolRepo } from '@shared/repo';\nimport { ExternalTool } from '../../external-tool/domain';\nimport { ExternalToolService } from '../../external-tool/service';\nimport { IToolFeatures, ToolFeatures } from '../../tool-config';\nimport { SchoolExternalToolConfigurationStatus } from '../controller/dto';\nimport { SchoolExternalTool } from '../domain';\nimport { SchoolExternalToolQuery } from '../uc/dto/school-external-tool.types';\nimport { SchoolExternalToolValidationService } from './school-external-tool-validation.service';\n\n@Injectable()\nexport class SchoolExternalToolService {\n\tconstructor(\n\t\tprivate readonly schoolExternalToolRepo: SchoolExternalToolRepo,\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly schoolExternalToolValidationService: SchoolExternalToolValidationService,\n\t\t@Inject(ToolFeatures) private readonly toolFeatures: IToolFeatures\n\t) {}\n\n\tasync findById(schoolExternalToolId: EntityId): Promise {\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolRepo.findById(schoolExternalToolId);\n\t\treturn schoolExternalTool;\n\t}\n\n\tasync findSchoolExternalTools(query: SchoolExternalToolQuery): Promise {\n\t\tlet schoolExternalTools: SchoolExternalTool[] = await this.schoolExternalToolRepo.find({\n\t\t\tschoolId: query.schoolId,\n\t\t});\n\n\t\tschoolExternalTools = await this.enrichWithDataFromExternalTools(schoolExternalTools);\n\n\t\treturn schoolExternalTools;\n\t}\n\n\tprivate async enrichWithDataFromExternalTools(tools: SchoolExternalTool[]): Promise {\n\t\tconst enrichedTools: SchoolExternalTool[] = await Promise.all(\n\t\t\ttools.map(async (tool: SchoolExternalTool): Promise => this.enrichDataFromExternalTool(tool))\n\t\t);\n\n\t\treturn enrichedTools;\n\t}\n\n\tprivate async enrichDataFromExternalTool(tool: SchoolExternalTool): Promise {\n\t\tconst externalTool: ExternalTool = await this.externalToolService.findById(tool.toolId);\n\t\tconst status: SchoolExternalToolConfigurationStatus = await this.determineSchoolToolStatus(tool, externalTool);\n\t\tconst schoolExternalTool: SchoolExternalTool = new SchoolExternalTool({\n\t\t\t...tool,\n\t\t\tstatus,\n\t\t\tname: externalTool.name,\n\t\t});\n\n\t\treturn schoolExternalTool;\n\t}\n\n\tprivate async determineSchoolToolStatus(\n\t\ttool: SchoolExternalTool,\n\t\texternalTool: ExternalTool\n\t): Promise {\n\t\tconst status: SchoolExternalToolConfigurationStatus = new SchoolExternalToolConfigurationStatus({\n\t\t\tisOutdatedOnScopeSchool: true,\n\t\t});\n\n\t\tif (this.toolFeatures.toolStatusWithoutVersions) {\n\t\t\ttry {\n\t\t\t\tawait this.schoolExternalToolValidationService.validate(tool);\n\n\t\t\t\tstatus.isOutdatedOnScopeSchool = false;\n\n\t\t\t\treturn status;\n\t\t\t} catch (err) {\n\t\t\t\treturn status;\n\t\t\t}\n\t\t}\n\n\t\tif (externalTool.version {\n\t\tawait this.schoolExternalToolRepo.deleteById(schoolExternalToolId);\n\t}\n\n\tasync saveSchoolExternalTool(schoolExternalTool: SchoolExternalTool): Promise {\n\t\tlet createdSchoolExternalTool: SchoolExternalTool = await this.schoolExternalToolRepo.save(schoolExternalTool);\n\t\tcreatedSchoolExternalTool = await this.enrichDataFromExternalTool(createdSchoolExternalTool);\n\t\treturn createdSchoolExternalTool;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolExternalToolUc.html":{"url":"injectables/SchoolExternalToolUc.html","title":"injectable - SchoolExternalToolUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolExternalToolUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/uc/school-external-tool.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createSchoolExternalTool\n \n \n Async\n deleteSchoolExternalTool\n \n \n Private\n Async\n ensureSchoolPermissions\n \n \n Async\n findSchoolExternalTools\n \n \n Async\n getMetadataForSchoolExternalTool\n \n \n Async\n getSchoolExternalTool\n \n \n Async\n updateSchoolExternalTool\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolExternalToolService: SchoolExternalToolService, contextExternalToolService: ContextExternalToolService, schoolExternalToolValidationService: SchoolExternalToolValidationService, schoolExternalToolMetadataService: SchoolExternalToolMetadataService, toolPermissionHelper: ToolPermissionHelper)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/uc/school-external-tool.uc.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolService\n \n \n SchoolExternalToolService\n \n \n \n No\n \n \n \n \n contextExternalToolService\n \n \n ContextExternalToolService\n \n \n \n No\n \n \n \n \n schoolExternalToolValidationService\n \n \n SchoolExternalToolValidationService\n \n \n \n No\n \n \n \n \n schoolExternalToolMetadataService\n \n \n SchoolExternalToolMetadataService\n \n \n \n No\n \n \n \n \n toolPermissionHelper\n \n \n ToolPermissionHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createSchoolExternalTool\n \n \n \n \n \n \n \n createSchoolExternalTool(userId: EntityId, schoolExternalToolDto: SchoolExternalToolDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/uc/school-external-tool.uc.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolExternalToolDto\n \n SchoolExternalToolDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteSchoolExternalTool\n \n \n \n \n \n \n \n deleteSchoolExternalTool(userId: EntityId, schoolExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/uc/school-external-tool.uc.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n ensureSchoolPermissions\n \n \n \n \n \n \n \n ensureSchoolPermissions(userId: EntityId, tools: SchoolExternalTool[], context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/uc/school-external-tool.uc.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n tools\n \n SchoolExternalTool[]\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findSchoolExternalTools\n \n \n \n \n \n \n \n findSchoolExternalTools(userId: EntityId, query: SchoolExternalToolQueryInput)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/uc/school-external-tool.uc.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n query\n \n SchoolExternalToolQueryInput\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getMetadataForSchoolExternalTool\n \n \n \n \n \n \n \n getMetadataForSchoolExternalTool(userId: EntityId, schoolExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/uc/school-external-tool.uc.ts:105\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getSchoolExternalTool\n \n \n \n \n \n \n \n getSchoolExternalTool(userId: EntityId, schoolExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/uc/school-external-tool.uc.ts:77\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateSchoolExternalTool\n \n \n \n \n \n \n \n updateSchoolExternalTool(userId: EntityId, schoolExternalToolId: string, schoolExternalToolDto: SchoolExternalToolDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/uc/school-external-tool.uc.ts:85\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolExternalToolId\n \n string\n \n\n \n No\n \n\n\n \n \n schoolExternalToolDto\n \n SchoolExternalToolDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContext, AuthorizationContextBuilder } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { ToolPermissionHelper } from '../../common/uc/tool-permission-helper';\nimport { ContextExternalToolService } from '../../context-external-tool/service';\nimport { SchoolExternalTool, SchoolExternalToolMetadata } from '../domain';\nimport {\n\tSchoolExternalToolMetadataService,\n\tSchoolExternalToolService,\n\tSchoolExternalToolValidationService,\n} from '../service';\nimport { SchoolExternalToolDto, SchoolExternalToolQueryInput } from './dto/school-external-tool.types';\n\n@Injectable()\nexport class SchoolExternalToolUc {\n\tconstructor(\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService,\n\t\tprivate readonly schoolExternalToolValidationService: SchoolExternalToolValidationService,\n\t\tprivate readonly schoolExternalToolMetadataService: SchoolExternalToolMetadataService,\n\t\tprivate readonly toolPermissionHelper: ToolPermissionHelper\n\t) {}\n\n\tasync findSchoolExternalTools(userId: EntityId, query: SchoolExternalToolQueryInput): Promise {\n\t\tlet tools: SchoolExternalTool[] = [];\n\t\tif (query.schoolId) {\n\t\t\ttools = await this.schoolExternalToolService.findSchoolExternalTools({ schoolId: query.schoolId });\n\t\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.SCHOOL_TOOL_ADMIN]);\n\n\t\t\tawait this.ensureSchoolPermissions(userId, tools, context);\n\t\t}\n\t\treturn tools;\n\t}\n\n\tasync createSchoolExternalTool(\n\t\tuserId: EntityId,\n\t\tschoolExternalToolDto: SchoolExternalToolDto\n\t): Promise {\n\t\tconst schoolExternalTool = new SchoolExternalTool({ ...schoolExternalToolDto });\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.SCHOOL_TOOL_ADMIN]);\n\n\t\tawait this.toolPermissionHelper.ensureSchoolPermissions(userId, schoolExternalTool, context);\n\t\tawait this.schoolExternalToolValidationService.validate(schoolExternalTool);\n\n\t\tconst createdSchoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.saveSchoolExternalTool(\n\t\t\tschoolExternalTool\n\t\t);\n\n\t\treturn createdSchoolExternalTool;\n\t}\n\n\tprivate async ensureSchoolPermissions(\n\t\tuserId: EntityId,\n\t\ttools: SchoolExternalTool[],\n\t\tcontext: AuthorizationContext\n\t): Promise {\n\t\tawait Promise.all(\n\t\t\ttools.map(async (tool: SchoolExternalTool) =>\n\t\t\t\tthis.toolPermissionHelper.ensureSchoolPermissions(userId, tool, context)\n\t\t\t)\n\t\t);\n\t}\n\n\tasync deleteSchoolExternalTool(userId: EntityId, schoolExternalToolId: EntityId): Promise {\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(schoolExternalToolId);\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.SCHOOL_TOOL_ADMIN]);\n\n\t\tawait this.toolPermissionHelper.ensureSchoolPermissions(userId, schoolExternalTool, context);\n\n\t\tawait Promise.all([\n\t\t\tthis.contextExternalToolService.deleteBySchoolExternalToolId(schoolExternalToolId),\n\t\t\tthis.schoolExternalToolService.deleteSchoolExternalToolById(schoolExternalToolId),\n\t\t]);\n\t}\n\n\tasync getSchoolExternalTool(userId: EntityId, schoolExternalToolId: EntityId): Promise {\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(schoolExternalToolId);\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.SCHOOL_TOOL_ADMIN]);\n\n\t\tawait this.toolPermissionHelper.ensureSchoolPermissions(userId, schoolExternalTool, context);\n\t\treturn schoolExternalTool;\n\t}\n\n\tasync updateSchoolExternalTool(\n\t\tuserId: EntityId,\n\t\tschoolExternalToolId: string,\n\t\tschoolExternalToolDto: SchoolExternalToolDto\n\t): Promise {\n\t\tconst schoolExternalTool = new SchoolExternalTool({ ...schoolExternalToolDto });\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.SCHOOL_TOOL_ADMIN]);\n\n\t\tawait this.toolPermissionHelper.ensureSchoolPermissions(userId, schoolExternalTool, context);\n\t\tawait this.schoolExternalToolValidationService.validate(schoolExternalTool);\n\n\t\tconst updated: SchoolExternalTool = new SchoolExternalTool({\n\t\t\t...schoolExternalToolDto,\n\t\t\tid: schoolExternalToolId,\n\t\t});\n\n\t\tconst saved = await this.schoolExternalToolService.saveSchoolExternalTool(updated);\n\t\treturn saved;\n\t}\n\n\tasync getMetadataForSchoolExternalTool(\n\t\tuserId: EntityId,\n\t\tschoolExternalToolId: EntityId\n\t): Promise {\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(schoolExternalToolId);\n\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.SCHOOL_TOOL_ADMIN]);\n\t\tawait this.toolPermissionHelper.ensureSchoolPermissions(userId, schoolExternalTool, context);\n\n\t\tconst metadata: SchoolExternalToolMetadata = await this.schoolExternalToolMetadataService.getMetadata(\n\t\t\tschoolExternalToolId\n\t\t);\n\n\t\treturn metadata;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolExternalToolValidationService.html":{"url":"injectables/SchoolExternalToolValidationService.html","title":"injectable - SchoolExternalToolValidationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolExternalToolValidationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/service/school-external-tool-validation.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkVersionMatch\n \n \n Async\n validate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolService: ExternalToolService, commonToolValidationService: CommonToolValidationService, toolFeatures: IToolFeatures)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool-validation.service.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n commonToolValidationService\n \n \n CommonToolValidationService\n \n \n \n No\n \n \n \n \n toolFeatures\n \n \n IToolFeatures\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkVersionMatch\n \n \n \n \n \n \n \n checkVersionMatch(schoolExternalToolVersion: number, externalToolVersion: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool-validation.service.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolVersion\n \n number\n \n\n \n No\n \n\n\n \n \n externalToolVersion\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n validate\n \n \n \n \n \n \n \n validate(schoolExternalTool: SchoolExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool-validation.service.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Inject, Injectable } from '@nestjs/common';\nimport { ValidationError } from '@shared/common';\nimport { CommonToolValidationService } from '../../common/service';\nimport { ExternalTool } from '../../external-tool/domain';\nimport { ExternalToolService } from '../../external-tool/service';\nimport { IToolFeatures, ToolFeatures } from '../../tool-config';\nimport { SchoolExternalTool } from '../domain';\n\n@Injectable()\nexport class SchoolExternalToolValidationService {\n\tconstructor(\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly commonToolValidationService: CommonToolValidationService,\n\t\t@Inject(ToolFeatures) private readonly toolFeatures: IToolFeatures\n\t) {}\n\n\tasync validate(schoolExternalTool: SchoolExternalTool): Promise {\n\t\tconst loadedExternalTool: ExternalTool = await this.externalToolService.findById(schoolExternalTool.toolId);\n\n\t\tif (!this.toolFeatures.toolStatusWithoutVersions) {\n\t\t\tthis.checkVersionMatch(schoolExternalTool.toolVersion, loadedExternalTool.version);\n\t\t}\n\n\t\tthis.commonToolValidationService.checkCustomParameterEntries(loadedExternalTool, schoolExternalTool);\n\t}\n\n\tprivate checkVersionMatch(schoolExternalToolVersion: number, externalToolVersion: number): void {\n\t\tif (schoolExternalToolVersion !== externalToolVersion) {\n\t\t\tthrow new ValidationError(\n\t\t\t\t`tool_version_mismatch: The version ${schoolExternalToolVersion} of given schoolExternalTool does not match the externalTool version ${externalToolVersion}.`\n\t\t\t);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolForGroupNotFoundLoggable.html":{"url":"classes/SchoolForGroupNotFoundLoggable.html","title":"class - SchoolForGroupNotFoundLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolForGroupNotFoundLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/loggable/school-for-group-not-found.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(group: ExternalGroupDto, school: ExternalSchoolDto)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/loggable/school-for-group-not-found.loggable.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n group\n \n \n ExternalGroupDto\n \n \n \n No\n \n \n \n \n school\n \n \n ExternalSchoolDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/loggable/school-for-group-not-found.loggable.ts:7\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { ExternalGroupDto, ExternalSchoolDto } from '../dto';\n\nexport class SchoolForGroupNotFoundLoggable implements Loggable {\n\tconstructor(private readonly group: ExternalGroupDto, private readonly school: ExternalSchoolDto) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'Unable to provision group, since the connected school cannot be found.',\n\t\t\tdata: {\n\t\t\t\texternalGroupId: this.group.externalId,\n\t\t\t\texternalOrganizationId: this.school.externalId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{"url":"classes/SchoolIdDoesNotMatchWithUserSchoolId.html","title":"class - SchoolIdDoesNotMatchWithUserSchoolId","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolIdDoesNotMatchWithUserSchoolId\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/loggable/school-id-does-not-match-with-user-school-id.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userMatchSchoolId: string, importUserSchoolId: string, schoolId?: EntityId)\n \n \n \n \n Defined in apps/server/src/modules/user-import/loggable/school-id-does-not-match-with-user-school-id.loggable.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userMatchSchoolId\n \n \n string\n \n \n \n No\n \n \n \n \n importUserSchoolId\n \n \n string\n \n \n \n No\n \n \n \n \n schoolId\n \n \n EntityId\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/loggable/school-id-does-not-match-with-user-school-id.loggable.ts:11\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class SchoolIdDoesNotMatchWithUserSchoolId implements Loggable {\n\tconstructor(\n\t\tprivate readonly userMatchSchoolId: string,\n\t\tprivate readonly importUserSchoolId: string,\n\t\tprivate readonly schoolId?: EntityId\n\t) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'School ID does not match with user school ID or with imported user school ID',\n\t\t\tdata: {\n\t\t\t\tuserMatchSchoolId: this.userMatchSchoolId,\n\t\t\t\timportUserId: this.importUserSchoolId,\n\t\t\t\tschoolId: this.schoolId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolIdParams.html":{"url":"classes/SchoolIdParams.html","title":"class - SchoolIdParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolIdParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/controller/dto/request/school-id.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/request/school-id.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { EntityId } from '@shared/domain/types';\nimport { IsMongoId } from 'class-validator';\n\nexport class SchoolIdParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolIdParams-1.html":{"url":"classes/SchoolIdParams-1.html","title":"class - SchoolIdParams-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolIdParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/school-id.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/school-id.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { EntityId } from '@shared/domain/types';\nimport { IsMongoId } from 'class-validator';\n\nexport class SchoolIdParams {\n\t@IsMongoId()\n\t@ApiProperty()\n\tschoolId!: EntityId;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolInMigrationLoggableException.html":{"url":"classes/SchoolInMigrationLoggableException.html","title":"class - SchoolInMigrationLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolInMigrationLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/loggable/school-in-migration.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor()\n \n \n \n \n Defined in apps/server/src/modules/authentication/loggable/school-in-migration.loggable-exception.ts:5\n \n \n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/loggable/school-in-migration.loggable-exception.ts:17\n \n \n\n\n \n \n\n \n Returns : ErrorLogMessage\n\n \n \n \n \n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { BusinessError } from '@shared/common';\nimport { ErrorLogMessage, Loggable } from '@src/core/logger';\n\nexport class SchoolInMigrationLoggableException extends BusinessError implements Loggable {\n\tconstructor() {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'SCHOOL_IN_MIGRATION',\n\t\t\t\ttitle: 'Login failed because school is in migration',\n\t\t\t\tdefaultMessage: 'Login failed because creation of user is not possible during migration',\n\t\t\t},\n\t\t\tHttpStatus.UNAUTHORIZED\n\t\t);\n\t}\n\n\tgetLogMessage(): ErrorLogMessage {\n\t\treturn {\n\t\t\ttype: this.type,\n\t\t\tstack: this.stack,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolInUserMigrationEndLoggable.html":{"url":"classes/SchoolInUserMigrationEndLoggable.html","title":"class - SchoolInUserMigrationEndLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolInUserMigrationEndLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/loggable/school-in-user-migration-end.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolName: string)\n \n \n \n \n Defined in apps/server/src/modules/user-import/loggable/school-in-user-migration-end.loggable.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolName\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/loggable/school-in-user-migration-end.loggable.ts:6\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class SchoolInUserMigrationEndLoggable implements Loggable {\n\tconstructor(private readonly schoolName: string) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'Migration for school is completed',\n\t\t\tdata: {\n\t\t\t\tschoolName: this.schoolName,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolInUserMigrationStartLoggable.html":{"url":"classes/SchoolInUserMigrationStartLoggable.html","title":"class - SchoolInUserMigrationStartLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolInUserMigrationStartLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/loggable/school-in-user-migration-start.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userId: EntityId, schoolName: string, useCentralLdap: boolean)\n \n \n \n \n Defined in apps/server/src/modules/user-import/loggable/school-in-user-migration-start.loggable.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n schoolName\n \n \n string\n \n \n \n No\n \n \n \n \n useCentralLdap\n \n \n boolean\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/loggable/school-in-user-migration-start.loggable.ts:11\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class SchoolInUserMigrationStartLoggable implements Loggable {\n\tconstructor(\n\t\tprivate readonly userId: EntityId,\n\t\tprivate readonly schoolName: string,\n\t\tprivate readonly useCentralLdap: boolean\n\t) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'The school administrator started the migration for his school.',\n\t\t\tdata: {\n\t\t\t\tcurrentUserId: this.userId,\n\t\t\t\tschoolName: this.schoolName,\n\t\t\t\tcentralLdap: this.useCentralLdap,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolInfoMapper.html":{"url":"classes/SchoolInfoMapper.html","title":"class - SchoolInfoMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolInfoMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/mapper/school-info.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(schoolInfo: SchoolEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/mapper/school-info.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolInfo\n \n SchoolEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolInfoResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { SchoolEntity } from '@shared/domain/entity';\nimport { SchoolInfoResponse } from '../controller/dto';\n\nexport class SchoolInfoMapper {\n\tstatic mapToResponse(schoolInfo: SchoolEntity): SchoolInfoResponse {\n\t\tconst dto = new SchoolInfoResponse({ id: schoolInfo.id, name: schoolInfo.name });\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolInfoResponse.html":{"url":"classes/SchoolInfoResponse.html","title":"class - SchoolInfoResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolInfoResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/dto/school-info.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: SchoolInfoResponse)\n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/school-info.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n SchoolInfoResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}', description: 'The id of the School entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/school-info.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The name of the School entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/school-info.response.ts:18\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class SchoolInfoResponse {\n\tconstructor({ id, name }: SchoolInfoResponse) {\n\t\tthis.id = id;\n\t\tthis.name = name;\n\t}\n\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'The id of the School entity',\n\t})\n\tid: string;\n\n\t@ApiProperty({\n\t\tdescription: 'The name of the School entity',\n\t})\n\tname: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{"url":"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html","title":"class - SchoolMigrationDatabaseOperationFailedLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolMigrationDatabaseOperationFailedLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/school-migration-database-operation-failed.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n InternalServerErrorException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(school: LegacySchoolDo, operation: \"migration\" | \"rollback\", error)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/school-migration-database-operation-failed.loggable-exception.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n school\n \n \n LegacySchoolDo\n \n \n \n No\n \n \n \n \n operation\n \n \n \"migration\" | \"rollback\"\n \n \n \n No\n \n \n \n \n error\n \n \n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n getLogMessage\n \n \n \n \n \n \n \n getLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/school-migration-database-operation-failed.loggable-exception.ts:19\n \n \n\n\n \n \n\n \n Returns : ErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { InternalServerErrorException } from '@nestjs/common';\nimport { LegacySchoolDo } from '@shared/domain/domainobject';\nimport { ErrorUtils } from '@src/core/error/utils';\nimport { ErrorLogMessage, Loggable } from '@src/core/logger';\n\nexport class SchoolMigrationDatabaseOperationFailedLoggableException\n\textends InternalServerErrorException\n\timplements Loggable\n{\n\t// TODO: Remove undefined type from schoolId when using the new School DO\n\tconstructor(\n\t\tprivate readonly school: LegacySchoolDo,\n\t\tprivate readonly operation: 'migration' | 'rollback',\n\t\terror: unknown\n\t) {\n\t\tsuper(ErrorUtils.createHttpExceptionOptions(error));\n\t}\n\n\tpublic getLogMessage(): ErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'SCHOOL_LOGIN_MIGRATION_DATABASE_OPERATION_FAILED',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tschoolId: this.school.id,\n\t\t\t\toperation: this.operation,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolMigrationService.html":{"url":"injectables/SchoolMigrationService.html","title":"injectable - SchoolMigrationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolMigrationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/service/school-migration.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkOfficialSchoolNumbersMatch\n \n \n Private\n Async\n doMigration\n \n \n Public\n Async\n getSchoolForMigration\n \n \n Private\n hasSchoolMigrated\n \n \n Public\n Async\n hasSchoolMigratedUser\n \n \n Public\n Async\n markUnmigratedUsersAsOutdated\n \n \n Public\n Async\n migrateSchool\n \n \n Private\n Async\n tryRollbackMigration\n \n \n Public\n Async\n unmarkOutdatedUsers\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolService: LegacySchoolService, legacyLogger: LegacyLogger, logger: Logger, userService: UserService, userLoginMigrationRepo: UserLoginMigrationRepo)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.service.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n legacyLogger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n userLoginMigrationRepo\n \n \n UserLoginMigrationRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkOfficialSchoolNumbersMatch\n \n \n \n \n \n \n \n checkOfficialSchoolNumbersMatch(schoolDO: LegacySchoolDo, officialExternalSchoolNumber: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.service.ts:81\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolDO\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n officialExternalSchoolNumber\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n doMigration\n \n \n \n \n \n \n \n doMigration(externalId: string, school: LegacySchoolDo, targetSystemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.service.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalId\n \n string\n \n\n \n No\n \n\n\n \n \n school\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n targetSystemId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getSchoolForMigration\n \n \n \n \n \n \n \n getSchoolForMigration(userId: string, externalId: string, officialSchoolNumber: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.service.ts:62\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n externalId\n \n string\n \n\n \n No\n \n\n\n \n \n officialSchoolNumber\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n hasSchoolMigrated\n \n \n \n \n \n \n \n hasSchoolMigrated(sourceExternalId: string | undefined, targetExternalId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.service.ts:90\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n sourceExternalId\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n targetExternalId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n hasSchoolMigratedUser\n \n \n \n \n \n \n \n hasSchoolMigratedUser(schoolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.service.ts:139\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n markUnmigratedUsersAsOutdated\n \n \n \n \n \n \n \n markUnmigratedUsersAsOutdated(userLoginMigration: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.service.ts:96\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigration\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n migrateSchool\n \n \n \n \n \n \n \n migrateSchool(existingSchool: LegacySchoolDo, externalId: string, targetSystemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.service.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n existingSchool\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n externalId\n \n string\n \n\n \n No\n \n\n\n \n \n targetSystemId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n tryRollbackMigration\n \n \n \n \n \n \n \n tryRollbackMigration(originalSchoolDO: LegacySchoolDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.service.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n originalSchoolDO\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n unmarkOutdatedUsers\n \n \n \n \n \n \n \n unmarkOutdatedUsers(userLoginMigration: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.service.ts:119\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigration\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { LegacySchoolService } from '@modules/legacy-school';\nimport { UserService } from '@modules/user';\nimport { Injectable } from '@nestjs/common';\nimport { LegacySchoolDo, Page, UserDO, UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { UserLoginMigrationRepo } from '@shared/repo';\nimport { LegacyLogger, Logger } from '@src/core/logger';\nimport { performance } from 'perf_hooks';\nimport {\n\tSchoolMigrationDatabaseOperationFailedLoggableException,\n\tSchoolNumberMismatchLoggableException,\n} from '../loggable';\n\n@Injectable()\nexport class SchoolMigrationService {\n\tconstructor(\n\t\tprivate readonly schoolService: LegacySchoolService,\n\t\tprivate readonly legacyLogger: LegacyLogger,\n\t\tprivate readonly logger: Logger,\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly userLoginMigrationRepo: UserLoginMigrationRepo\n\t) {}\n\n\tpublic async migrateSchool(\n\t\texistingSchool: LegacySchoolDo,\n\t\texternalId: string,\n\t\ttargetSystemId: string\n\t): Promise {\n\t\tconst schoolDOCopy: LegacySchoolDo = new LegacySchoolDo({ ...existingSchool });\n\n\t\ttry {\n\t\t\tawait this.doMigration(externalId, existingSchool, targetSystemId);\n\t\t} catch (error: unknown) {\n\t\t\tawait this.tryRollbackMigration(schoolDOCopy);\n\n\t\t\tthrow new SchoolMigrationDatabaseOperationFailedLoggableException(existingSchool, 'migration', error);\n\t\t}\n\t}\n\n\tprivate async doMigration(externalId: string, school: LegacySchoolDo, targetSystemId: string): Promise {\n\t\tschool.previousExternalId = school.externalId;\n\t\tschool.externalId = externalId;\n\t\tif (!school.systems) {\n\t\t\tschool.systems = [];\n\t\t}\n\t\tif (!school.systems.includes(targetSystemId)) {\n\t\t\tschool.systems.push(targetSystemId);\n\t\t}\n\n\t\tawait this.schoolService.save(school);\n\t}\n\n\tprivate async tryRollbackMigration(originalSchoolDO: LegacySchoolDo): Promise {\n\t\ttry {\n\t\t\tawait this.schoolService.save(originalSchoolDO);\n\t\t} catch (error: unknown) {\n\t\t\tthis.logger.warning(\n\t\t\t\tnew SchoolMigrationDatabaseOperationFailedLoggableException(originalSchoolDO, 'rollback', error)\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic async getSchoolForMigration(\n\t\tuserId: string,\n\t\texternalId: string,\n\t\tofficialSchoolNumber: string\n\t): Promise {\n\t\tconst user: UserDO = await this.userService.findById(userId);\n\t\tconst school: LegacySchoolDo = await this.schoolService.getSchoolById(user.schoolId);\n\n\t\tthis.checkOfficialSchoolNumbersMatch(school, officialSchoolNumber);\n\n\t\tconst schoolMigrated: boolean = this.hasSchoolMigrated(school.externalId, externalId);\n\n\t\tif (schoolMigrated) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn school;\n\t}\n\n\tprivate checkOfficialSchoolNumbersMatch(schoolDO: LegacySchoolDo, officialExternalSchoolNumber: string): void {\n\t\tif (schoolDO.officialSchoolNumber !== officialExternalSchoolNumber) {\n\t\t\tthrow new SchoolNumberMismatchLoggableException(\n\t\t\t\tschoolDO.officialSchoolNumber ?? '',\n\t\t\t\tofficialExternalSchoolNumber\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate hasSchoolMigrated(sourceExternalId: string | undefined, targetExternalId: string): boolean {\n\t\tconst isExternalIdEquivalent: boolean = sourceExternalId === targetExternalId;\n\n\t\treturn isExternalIdEquivalent;\n\t}\n\n\tpublic async markUnmigratedUsersAsOutdated(userLoginMigration: UserLoginMigrationDO): Promise {\n\t\tconst startTime: number = performance.now();\n\n\t\tconst notMigratedUsers: Page = await this.userService.findUsers({\n\t\t\tschoolId: userLoginMigration.schoolId,\n\t\t\tisOutdated: false,\n\t\t\tlastLoginSystemChangeSmallerThan: userLoginMigration.startedAt,\n\t\t});\n\n\t\tnotMigratedUsers.data.forEach((user: UserDO) => {\n\t\t\tuser.outdatedSince = userLoginMigration.closedAt;\n\t\t});\n\n\t\tawait this.userService.saveAll(notMigratedUsers.data);\n\n\t\tconst endTime: number = performance.now();\n\t\tthis.legacyLogger.warn(\n\t\t\t`markUnmigratedUsersAsOutdated for schoolId ${userLoginMigration.schoolId} took ${\n\t\t\t\tendTime - startTime\n\t\t\t} milliseconds`\n\t\t);\n\t}\n\n\tpublic async unmarkOutdatedUsers(userLoginMigration: UserLoginMigrationDO): Promise {\n\t\tconst startTime: number = performance.now();\n\n\t\tconst migratedUsers: Page = await this.userService.findUsers({\n\t\t\tschoolId: userLoginMigration.schoolId,\n\t\t\toutdatedSince: userLoginMigration.finishedAt,\n\t\t});\n\n\t\tmigratedUsers.data.forEach((user: UserDO) => {\n\t\t\tuser.outdatedSince = undefined;\n\t\t});\n\n\t\tawait this.userService.saveAll(migratedUsers.data);\n\n\t\tconst endTime: number = performance.now();\n\t\tthis.legacyLogger.warn(\n\t\t\t`unmarkOutdatedUsers for schoolId ${userLoginMigration.schoolId} took ${endTime - startTime} milliseconds`\n\t\t);\n\t}\n\n\tpublic async hasSchoolMigratedUser(schoolId: string): Promise {\n\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationRepo.findBySchoolId(schoolId);\n\n\t\tif (!userLoginMigration) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst users: Page = await this.userService.findUsers({\n\t\t\tlastLoginSystemChangeBetweenStart: userLoginMigration.startedAt,\n\t\t\tlastLoginSystemChangeBetweenEnd: userLoginMigration.closedAt,\n\t\t});\n\n\t\tif (users.total > 0) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolMigrationSuccessfulLoggable.html":{"url":"classes/SchoolMigrationSuccessfulLoggable.html","title":"class - SchoolMigrationSuccessfulLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolMigrationSuccessfulLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/debug/school-migration-successful.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(school: LegacySchoolDo, userLoginMigration: UserLoginMigrationDO)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/debug/school-migration-successful.loggable.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n school\n \n \n LegacySchoolDo\n \n \n \n No\n \n \n \n \n userLoginMigration\n \n \n UserLoginMigrationDO\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/debug/school-migration-successful.loggable.ts:7\n \n \n\n\n \n \n\n \n Returns : LogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { LegacySchoolDo, UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { Loggable, LogMessage } from '@src/core/logger';\n\nexport class SchoolMigrationSuccessfulLoggable implements Loggable {\n\tconstructor(private readonly school: LegacySchoolDo, private readonly userLoginMigration: UserLoginMigrationDO) {}\n\n\tgetLogMessage(): LogMessage {\n\t\treturn {\n\t\t\tmessage: 'A school has successfully migrated.',\n\t\t\tdata: {\n\t\t\t\tschoolId: this.school.id,\n\t\t\t\texternalId: this.school.externalId,\n\t\t\t\tpreviousExternalId: this.school.previousExternalId,\n\t\t\t\tuserLoginMigrationId: this.userLoginMigration.id,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/SchoolNews.html":{"url":"entities/SchoolNews.html","title":"entity - SchoolNews","body":"\n \n\n\n\n\n\n\n\n Entities\n SchoolNews\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/news.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n target\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : SchoolEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined)\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:102\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Enum, Index, ManyToOne, Property } from '@mikro-orm/core';\nimport { EntityId } from '../types';\nimport { NewsTarget, NewsTargetModel } from '../types/news.types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { TeamEntity } from './team.entity';\nimport type { User } from './user.entity';\n\nexport interface NewsProperties {\n\ttitle: string;\n\tcontent: string;\n\tdisplayAt: Date;\n\tschool: EntityId | SchoolEntity;\n\tcreator: EntityId | User;\n\ttarget: EntityId | NewsTarget;\n\n\texternalId?: string;\n\tsource?: 'internal' | 'rss';\n\tsourceDescription?: string;\n\tupdater?: User;\n}\n\n@Entity({\n\tdiscriminatorColumn: 'targetModel',\n\tabstract: true,\n})\n@Index({ properties: ['school', 'target'] })\n@Index({ properties: ['school', 'target', 'targetModel'] })\n@Index({ properties: ['target', 'targetModel'] })\nexport abstract class News extends BaseEntityWithTimestamps {\n\t/** the news title */\n\t@Property()\n\ttitle: string;\n\n\t/** the news content as html */\n\t@Property()\n\tcontent: string;\n\n\t/** only past news are visible for viewers, when edit permission, news visible in the future might be accessed too */\n\t@Property()\n\t@Index()\n\tdisplayAt: Date;\n\n\t@Property({ nullable: true })\n\texternalId?: string;\n\n\t@Property({ nullable: true })\n\tsource?: 'internal' | 'rss';\n\n\t@Property({ nullable: true })\n\tsourceDescription?: string;\n\n\t/** id reference to a collection populated later with name */\n\ttarget!: NewsTarget;\n\n\t/** name of a collection which is referenced in target */\n\t@Enum()\n\ttargetModel!: NewsTargetModel;\n\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool!: SchoolEntity;\n\n\t@ManyToOne('User', { fieldName: 'creatorId' })\n\tcreator!: User;\n\n\t@ManyToOne('User', { fieldName: 'updaterId', nullable: true })\n\tupdater?: User;\n\n\tpermissions: string[] = [];\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper();\n\t\tthis.title = props.title;\n\t\tthis.content = props.content;\n\t\tthis.displayAt = props.displayAt;\n\t\tObject.assign(this, { school: props.school, creator: props.creator, updater: props.updater, target: props.target });\n\t\tthis.externalId = props.externalId;\n\t\tthis.source = props.source;\n\t\tthis.sourceDescription = props.sourceDescription;\n\t}\n\n\tstatic createInstance(targetModel: NewsTargetModel, props: NewsProperties): News {\n\t\tlet news: News;\n\t\tif (targetModel === NewsTargetModel.Course) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new CourseNews(props);\n\t\t} else if (targetModel === NewsTargetModel.Team) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new TeamNews(props);\n\t\t} else {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new SchoolNews(props);\n\t\t}\n\t\treturn news;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.School })\nexport class SchoolNews extends News {\n\t@ManyToOne(() => SchoolEntity)\n\ttarget!: SchoolEntity;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.School;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.Course })\nexport class CourseNews extends News {\n\t// FIXME Due to a weird behaviour in the mikro-orm validation we have to\n\t// disable the validation by setting the reference nullable.\n\t// Remove when fixed in mikro-orm.\n\t@ManyToOne('Course', { nullable: true })\n\ttarget!: Course;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.Course;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.Team })\nexport class TeamNews extends News {\n\t@ManyToOne('TeamEntity')\n\ttarget!: TeamEntity;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.Team;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolNumberDuplicateLoggableException.html":{"url":"classes/SchoolNumberDuplicateLoggableException.html","title":"class - SchoolNumberDuplicateLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolNumberDuplicateLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/legacy-school/loggable/school-number-duplicate.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n UnprocessableEntityException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(officialSchoolNumber: string)\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/loggable/school-number-duplicate.loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n officialSchoolNumber\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/loggable/school-number-duplicate.loggable-exception.ts:9\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UnprocessableEntityException } from '@nestjs/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class SchoolNumberDuplicateLoggableException extends UnprocessableEntityException implements Loggable {\n\tconstructor(private readonly officialSchoolNumber: string) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'SCHOOL_NUMBER_DUPLICATE',\n\t\t\tmessage: 'Unable to save the school. A school with this official school number does already exist.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tofficialSchoolNumber: this.officialSchoolNumber,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolNumberMismatchLoggableException.html":{"url":"classes/SchoolNumberMismatchLoggableException.html","title":"class - SchoolNumberMismatchLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolNumberMismatchLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/school-number-mismatch.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(sourceSchoolNumber: string, targetSchoolNumber: string)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/school-number-mismatch.loggable-exception.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n sourceSchoolNumber\n \n \n string\n \n \n \n No\n \n \n \n \n targetSchoolNumber\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/school-number-mismatch.loggable-exception.ts:21\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { BusinessError } from '@shared/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class SchoolNumberMismatchLoggableException extends BusinessError implements Loggable {\n\tconstructor(private readonly sourceSchoolNumber: string, private readonly targetSchoolNumber: string) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'SCHOOL_MIGRATION_FAILED',\n\t\t\t\ttitle: 'Migration of school failed.',\n\t\t\t\tdefaultMessage: 'School could not migrate during user migration process.',\n\t\t\t},\n\t\t\tHttpStatus.INTERNAL_SERVER_ERROR,\n\t\t\t{\n\t\t\t\tsourceSchoolNumber,\n\t\t\t\ttargetSchoolNumber,\n\t\t\t}\n\t\t);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: this.type,\n\t\t\tmessage: this.message,\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tsourceSchoolNumber: this.sourceSchoolNumber,\n\t\t\t\ttargetSchoolNumber: this.targetSchoolNumber,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolNumberMissingLoggableException.html":{"url":"classes/SchoolNumberMissingLoggableException.html","title":"class - SchoolNumberMissingLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolNumberMissingLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/school-number-missing.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n UnprocessableEntityException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolId: EntityId)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/school-number-missing.loggable-exception.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/school-number-missing.loggable-exception.ts:10\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UnprocessableEntityException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class SchoolNumberMissingLoggableException extends UnprocessableEntityException implements Loggable {\n\tconstructor(private readonly schoolId: EntityId) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'SCHOOL_NUMBER_MISSING',\n\t\t\tmessage: 'The school is missing a official school number.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tschoolId: this.schoolId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SchoolProperties.html":{"url":"interfaces/SchoolProperties.html","title":"interface - SchoolProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SchoolProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/school.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n _id\n \n \n \n Optional\n \n externalId\n \n \n \n Optional\n \n features\n \n \n \n \n federalState\n \n \n \n Optional\n \n inMaintenanceSince\n \n \n \n Optional\n \n inUserMigration\n \n \n \n \n name\n \n \n \n Optional\n \n officialSchoolNumber\n \n \n \n Optional\n \n previousExternalId\n \n \n \n Optional\n \n schoolYear\n \n \n \n Optional\n \n systems\n \n \n \n Optional\n \n userLoginMigration\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n _id\n \n \n \n \n \n \n \n \n _id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n externalId\n \n \n \n \n \n \n \n \n externalId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n features\n \n \n \n \n \n \n \n \n features: SchoolFeatures[]\n\n \n \n\n\n \n \n Type : SchoolFeatures[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n federalState\n \n \n \n \n \n \n \n \n federalState: FederalStateEntity\n\n \n \n\n\n \n \n Type : FederalStateEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n inMaintenanceSince\n \n \n \n \n \n \n \n \n inMaintenanceSince: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n inUserMigration\n \n \n \n \n \n \n \n \n inUserMigration: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n officialSchoolNumber\n \n \n \n \n \n \n \n \n officialSchoolNumber: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n previousExternalId\n \n \n \n \n \n \n \n \n previousExternalId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n schoolYear\n \n \n \n \n \n \n \n \n schoolYear: SchoolYearEntity\n\n \n \n\n\n \n \n Type : SchoolYearEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n systems\n \n \n \n \n \n \n \n \n systems: SystemEntity[]\n\n \n \n\n\n \n \n Type : SystemEntity[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n userLoginMigration\n \n \n \n \n \n \n \n \n userLoginMigration: UserLoginMigrationEntity\n\n \n \n\n\n \n \n Type : UserLoginMigrationEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import {\n\tCollection,\n\tEmbeddable,\n\tEmbedded,\n\tEntity,\n\tIndex,\n\tManyToMany,\n\tManyToOne,\n\tOneToOne,\n\tProperty,\n} from '@mikro-orm/core';\nimport { UserLoginMigrationEntity } from '@shared/domain/entity/user-login-migration.entity';\nimport { BaseEntity } from './base.entity';\nimport { FederalStateEntity } from './federal-state.entity';\nimport { SchoolYearEntity } from './schoolyear.entity';\nimport { SystemEntity } from './system.entity';\n\nexport enum SchoolFeatures {\n\tROCKET_CHAT = 'rocketChat',\n\tVIDEOCONFERENCE = 'videoconference',\n\tNEXTCLOUD = 'nextcloud',\n\tSTUDENTVISIBILITY = 'studentVisibility', // deprecated\n\tLDAP_UNIVENTION_MIGRATION = 'ldapUniventionMigrationSchool',\n\tOAUTH_PROVISIONING_ENABLED = 'oauthProvisioningEnabled',\n\tSHOW_OUTDATED_USERS = 'showOutdatedUsers',\n\tENABLE_LDAP_SYNC_DURING_MIGRATION = 'enableLdapSyncDuringMigration',\n}\n\nexport interface SchoolProperties {\n\t_id?: string;\n\texternalId?: string;\n\tinMaintenanceSince?: Date;\n\tinUserMigration?: boolean;\n\tpreviousExternalId?: string;\n\tname: string;\n\tofficialSchoolNumber?: string;\n\tsystems?: SystemEntity[];\n\tfeatures?: SchoolFeatures[];\n\tschoolYear?: SchoolYearEntity;\n\tuserLoginMigration?: UserLoginMigrationEntity;\n\tfederalState: FederalStateEntity;\n}\n\n@Embeddable()\nexport class SchoolRolePermission {\n\t@Property({ nullable: true })\n\tSTUDENT_LIST?: boolean;\n\n\t@Property({ nullable: true })\n\tLERNSTORE_VIEW?: boolean;\n}\n\n@Embeddable()\nexport class SchoolRoles {\n\t@Property({ nullable: true, fieldName: 'student' })\n\tstudent?: SchoolRolePermission;\n\n\t@Property({ nullable: true, fieldName: 'teacher' })\n\tteacher?: SchoolRolePermission;\n}\n\n@Entity({ tableName: 'schools' })\n@Index({ properties: ['externalId', 'systems'] })\nexport class SchoolEntity extends BaseEntity {\n\t@Property({ nullable: true })\n\tfeatures?: SchoolFeatures[];\n\n\t@Property({ nullable: true })\n\tinMaintenanceSince?: Date;\n\n\t@Property({ nullable: true })\n\tinUserMigration?: boolean;\n\n\t@Property({ nullable: true, fieldName: 'ldapSchoolIdentifier' })\n\texternalId?: string;\n\n\t@Property({ nullable: true })\n\tpreviousExternalId?: string;\n\n\t@Property()\n\tname: string;\n\n\t@Property({ nullable: true })\n\tofficialSchoolNumber?: string;\n\n\t@ManyToMany(() => SystemEntity, undefined, { fieldName: 'systems' })\n\tsystems = new Collection(this);\n\n\t@Embedded(() => SchoolRoles, { object: true, nullable: true, prefix: false })\n\tpermissions?: SchoolRoles;\n\n\t@ManyToOne(() => SchoolYearEntity, { fieldName: 'currentYear', nullable: true })\n\tschoolYear?: SchoolYearEntity;\n\n\t@OneToOne(\n\t\t() => UserLoginMigrationEntity,\n\t\t(userLoginMigration: UserLoginMigrationEntity) => userLoginMigration.school,\n\t\t{\n\t\t\torphanRemoval: true,\n\t\t\tnullable: true,\n\t\t\tfieldName: 'userLoginMigrationId',\n\t\t}\n\t)\n\tuserLoginMigration?: UserLoginMigrationEntity;\n\n\t@ManyToOne(() => FederalStateEntity, { fieldName: 'federalState', nullable: false })\n\tfederalState: FederalStateEntity;\n\n\tconstructor(props: SchoolProperties) {\n\t\tsuper();\n\t\tif (props.externalId) {\n\t\t\tthis.externalId = props.externalId;\n\t\t}\n\t\tif (props.previousExternalId) {\n\t\t\tthis.previousExternalId = props.previousExternalId;\n\t\t}\n\t\tthis.inMaintenanceSince = props.inMaintenanceSince;\n\t\tif (props.inUserMigration !== null) {\n\t\t\tthis.inUserMigration = props.inUserMigration;\n\t\t}\n\t\tthis.name = props.name;\n\t\tif (props.officialSchoolNumber) {\n\t\t\tthis.officialSchoolNumber = props.officialSchoolNumber;\n\t\t}\n\t\tif (props.systems) {\n\t\t\tthis.systems.set(props.systems);\n\t\t}\n\t\tif (props.features) {\n\t\t\tthis.features = props.features;\n\t\t}\n\t\tif (props.schoolYear) {\n\t\t\tthis.schoolYear = props.schoolYear;\n\t\t}\n\t\tif (props.userLoginMigration) {\n\t\t\tthis.userLoginMigration = props.userLoginMigration;\n\t\t}\n\t\tthis.federalState = props.federalState;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolRolePermission.html":{"url":"classes/SchoolRolePermission.html","title":"class - SchoolRolePermission","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolRolePermission\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/school.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n LERNSTORE_VIEW\n \n \n \n Optional\n STUDENT_LIST\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n LERNSTORE_VIEW\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/school.entity.ts:50\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n STUDENT_LIST\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/school.entity.ts:47\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import {\n\tCollection,\n\tEmbeddable,\n\tEmbedded,\n\tEntity,\n\tIndex,\n\tManyToMany,\n\tManyToOne,\n\tOneToOne,\n\tProperty,\n} from '@mikro-orm/core';\nimport { UserLoginMigrationEntity } from '@shared/domain/entity/user-login-migration.entity';\nimport { BaseEntity } from './base.entity';\nimport { FederalStateEntity } from './federal-state.entity';\nimport { SchoolYearEntity } from './schoolyear.entity';\nimport { SystemEntity } from './system.entity';\n\nexport enum SchoolFeatures {\n\tROCKET_CHAT = 'rocketChat',\n\tVIDEOCONFERENCE = 'videoconference',\n\tNEXTCLOUD = 'nextcloud',\n\tSTUDENTVISIBILITY = 'studentVisibility', // deprecated\n\tLDAP_UNIVENTION_MIGRATION = 'ldapUniventionMigrationSchool',\n\tOAUTH_PROVISIONING_ENABLED = 'oauthProvisioningEnabled',\n\tSHOW_OUTDATED_USERS = 'showOutdatedUsers',\n\tENABLE_LDAP_SYNC_DURING_MIGRATION = 'enableLdapSyncDuringMigration',\n}\n\nexport interface SchoolProperties {\n\t_id?: string;\n\texternalId?: string;\n\tinMaintenanceSince?: Date;\n\tinUserMigration?: boolean;\n\tpreviousExternalId?: string;\n\tname: string;\n\tofficialSchoolNumber?: string;\n\tsystems?: SystemEntity[];\n\tfeatures?: SchoolFeatures[];\n\tschoolYear?: SchoolYearEntity;\n\tuserLoginMigration?: UserLoginMigrationEntity;\n\tfederalState: FederalStateEntity;\n}\n\n@Embeddable()\nexport class SchoolRolePermission {\n\t@Property({ nullable: true })\n\tSTUDENT_LIST?: boolean;\n\n\t@Property({ nullable: true })\n\tLERNSTORE_VIEW?: boolean;\n}\n\n@Embeddable()\nexport class SchoolRoles {\n\t@Property({ nullable: true, fieldName: 'student' })\n\tstudent?: SchoolRolePermission;\n\n\t@Property({ nullable: true, fieldName: 'teacher' })\n\tteacher?: SchoolRolePermission;\n}\n\n@Entity({ tableName: 'schools' })\n@Index({ properties: ['externalId', 'systems'] })\nexport class SchoolEntity extends BaseEntity {\n\t@Property({ nullable: true })\n\tfeatures?: SchoolFeatures[];\n\n\t@Property({ nullable: true })\n\tinMaintenanceSince?: Date;\n\n\t@Property({ nullable: true })\n\tinUserMigration?: boolean;\n\n\t@Property({ nullable: true, fieldName: 'ldapSchoolIdentifier' })\n\texternalId?: string;\n\n\t@Property({ nullable: true })\n\tpreviousExternalId?: string;\n\n\t@Property()\n\tname: string;\n\n\t@Property({ nullable: true })\n\tofficialSchoolNumber?: string;\n\n\t@ManyToMany(() => SystemEntity, undefined, { fieldName: 'systems' })\n\tsystems = new Collection(this);\n\n\t@Embedded(() => SchoolRoles, { object: true, nullable: true, prefix: false })\n\tpermissions?: SchoolRoles;\n\n\t@ManyToOne(() => SchoolYearEntity, { fieldName: 'currentYear', nullable: true })\n\tschoolYear?: SchoolYearEntity;\n\n\t@OneToOne(\n\t\t() => UserLoginMigrationEntity,\n\t\t(userLoginMigration: UserLoginMigrationEntity) => userLoginMigration.school,\n\t\t{\n\t\t\torphanRemoval: true,\n\t\t\tnullable: true,\n\t\t\tfieldName: 'userLoginMigrationId',\n\t\t}\n\t)\n\tuserLoginMigration?: UserLoginMigrationEntity;\n\n\t@ManyToOne(() => FederalStateEntity, { fieldName: 'federalState', nullable: false })\n\tfederalState: FederalStateEntity;\n\n\tconstructor(props: SchoolProperties) {\n\t\tsuper();\n\t\tif (props.externalId) {\n\t\t\tthis.externalId = props.externalId;\n\t\t}\n\t\tif (props.previousExternalId) {\n\t\t\tthis.previousExternalId = props.previousExternalId;\n\t\t}\n\t\tthis.inMaintenanceSince = props.inMaintenanceSince;\n\t\tif (props.inUserMigration !== null) {\n\t\t\tthis.inUserMigration = props.inUserMigration;\n\t\t}\n\t\tthis.name = props.name;\n\t\tif (props.officialSchoolNumber) {\n\t\t\tthis.officialSchoolNumber = props.officialSchoolNumber;\n\t\t}\n\t\tif (props.systems) {\n\t\t\tthis.systems.set(props.systems);\n\t\t}\n\t\tif (props.features) {\n\t\t\tthis.features = props.features;\n\t\t}\n\t\tif (props.schoolYear) {\n\t\t\tthis.schoolYear = props.schoolYear;\n\t\t}\n\t\tif (props.userLoginMigration) {\n\t\t\tthis.userLoginMigration = props.userLoginMigration;\n\t\t}\n\t\tthis.federalState = props.federalState;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolRoles.html":{"url":"classes/SchoolRoles.html","title":"class - SchoolRoles","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolRoles\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/school.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n student\n \n \n \n Optional\n teacher\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n student\n \n \n \n \n \n \n Type : SchoolRolePermission\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true, fieldName: 'student'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/school.entity.ts:56\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n teacher\n \n \n \n \n \n \n Type : SchoolRolePermission\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true, fieldName: 'teacher'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/school.entity.ts:59\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import {\n\tCollection,\n\tEmbeddable,\n\tEmbedded,\n\tEntity,\n\tIndex,\n\tManyToMany,\n\tManyToOne,\n\tOneToOne,\n\tProperty,\n} from '@mikro-orm/core';\nimport { UserLoginMigrationEntity } from '@shared/domain/entity/user-login-migration.entity';\nimport { BaseEntity } from './base.entity';\nimport { FederalStateEntity } from './federal-state.entity';\nimport { SchoolYearEntity } from './schoolyear.entity';\nimport { SystemEntity } from './system.entity';\n\nexport enum SchoolFeatures {\n\tROCKET_CHAT = 'rocketChat',\n\tVIDEOCONFERENCE = 'videoconference',\n\tNEXTCLOUD = 'nextcloud',\n\tSTUDENTVISIBILITY = 'studentVisibility', // deprecated\n\tLDAP_UNIVENTION_MIGRATION = 'ldapUniventionMigrationSchool',\n\tOAUTH_PROVISIONING_ENABLED = 'oauthProvisioningEnabled',\n\tSHOW_OUTDATED_USERS = 'showOutdatedUsers',\n\tENABLE_LDAP_SYNC_DURING_MIGRATION = 'enableLdapSyncDuringMigration',\n}\n\nexport interface SchoolProperties {\n\t_id?: string;\n\texternalId?: string;\n\tinMaintenanceSince?: Date;\n\tinUserMigration?: boolean;\n\tpreviousExternalId?: string;\n\tname: string;\n\tofficialSchoolNumber?: string;\n\tsystems?: SystemEntity[];\n\tfeatures?: SchoolFeatures[];\n\tschoolYear?: SchoolYearEntity;\n\tuserLoginMigration?: UserLoginMigrationEntity;\n\tfederalState: FederalStateEntity;\n}\n\n@Embeddable()\nexport class SchoolRolePermission {\n\t@Property({ nullable: true })\n\tSTUDENT_LIST?: boolean;\n\n\t@Property({ nullable: true })\n\tLERNSTORE_VIEW?: boolean;\n}\n\n@Embeddable()\nexport class SchoolRoles {\n\t@Property({ nullable: true, fieldName: 'student' })\n\tstudent?: SchoolRolePermission;\n\n\t@Property({ nullable: true, fieldName: 'teacher' })\n\tteacher?: SchoolRolePermission;\n}\n\n@Entity({ tableName: 'schools' })\n@Index({ properties: ['externalId', 'systems'] })\nexport class SchoolEntity extends BaseEntity {\n\t@Property({ nullable: true })\n\tfeatures?: SchoolFeatures[];\n\n\t@Property({ nullable: true })\n\tinMaintenanceSince?: Date;\n\n\t@Property({ nullable: true })\n\tinUserMigration?: boolean;\n\n\t@Property({ nullable: true, fieldName: 'ldapSchoolIdentifier' })\n\texternalId?: string;\n\n\t@Property({ nullable: true })\n\tpreviousExternalId?: string;\n\n\t@Property()\n\tname: string;\n\n\t@Property({ nullable: true })\n\tofficialSchoolNumber?: string;\n\n\t@ManyToMany(() => SystemEntity, undefined, { fieldName: 'systems' })\n\tsystems = new Collection(this);\n\n\t@Embedded(() => SchoolRoles, { object: true, nullable: true, prefix: false })\n\tpermissions?: SchoolRoles;\n\n\t@ManyToOne(() => SchoolYearEntity, { fieldName: 'currentYear', nullable: true })\n\tschoolYear?: SchoolYearEntity;\n\n\t@OneToOne(\n\t\t() => UserLoginMigrationEntity,\n\t\t(userLoginMigration: UserLoginMigrationEntity) => userLoginMigration.school,\n\t\t{\n\t\t\torphanRemoval: true,\n\t\t\tnullable: true,\n\t\t\tfieldName: 'userLoginMigrationId',\n\t\t}\n\t)\n\tuserLoginMigration?: UserLoginMigrationEntity;\n\n\t@ManyToOne(() => FederalStateEntity, { fieldName: 'federalState', nullable: false })\n\tfederalState: FederalStateEntity;\n\n\tconstructor(props: SchoolProperties) {\n\t\tsuper();\n\t\tif (props.externalId) {\n\t\t\tthis.externalId = props.externalId;\n\t\t}\n\t\tif (props.previousExternalId) {\n\t\t\tthis.previousExternalId = props.previousExternalId;\n\t\t}\n\t\tthis.inMaintenanceSince = props.inMaintenanceSince;\n\t\tif (props.inUserMigration !== null) {\n\t\t\tthis.inUserMigration = props.inUserMigration;\n\t\t}\n\t\tthis.name = props.name;\n\t\tif (props.officialSchoolNumber) {\n\t\t\tthis.officialSchoolNumber = props.officialSchoolNumber;\n\t\t}\n\t\tif (props.systems) {\n\t\t\tthis.systems.set(props.systems);\n\t\t}\n\t\tif (props.features) {\n\t\t\tthis.features = props.features;\n\t\t}\n\t\tif (props.schoolYear) {\n\t\t\tthis.schoolYear = props.schoolYear;\n\t\t}\n\t\tif (props.userLoginMigration) {\n\t\t\tthis.userLoginMigration = props.userLoginMigration;\n\t\t}\n\t\tthis.federalState = props.federalState;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SchoolSpecificFileCopyService.html":{"url":"interfaces/SchoolSpecificFileCopyService.html","title":"interface - SchoolSpecificFileCopyService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SchoolSpecificFileCopyService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/board-do-copy-service/school-specific-file-copy.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n copyFilesOfParent\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n copyFilesOfParent\n \n \n \n \n \n \ncopyFilesOfParent(params: SchoolSpecificFileCopyServiceCopyParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/school-specific-file-copy.interface.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n SchoolSpecificFileCopyServiceCopyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CopyFileDto } from '@modules/files-storage-client/dto';\nimport { FileRecordParentType } from '@modules/files-storage/entity';\nimport { EntityId } from '@shared/domain/types';\n\nexport type SchoolSpecificFileCopyServiceCopyParams = {\n\tsourceParentId: EntityId;\n\ttargetParentId: EntityId;\n\tparentType: FileRecordParentType;\n};\n\nexport type SchoolSpecificFileCopyServiceProps = {\n\tsourceSchoolId: EntityId;\n\ttargetSchoolId: EntityId;\n\tuserId: EntityId;\n};\n\nexport interface SchoolSpecificFileCopyService {\n\tcopyFilesOfParent(params: SchoolSpecificFileCopyServiceCopyParams): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolSpecificFileCopyServiceFactory.html":{"url":"injectables/SchoolSpecificFileCopyServiceFactory.html","title":"injectable - SchoolSpecificFileCopyServiceFactory","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolSpecificFileCopyServiceFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/board-do-copy-service/school-specific-file-copy-service.factory.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(filesStorageClientAdapterService: FilesStorageClientAdapterService)\n \n \n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/school-specific-file-copy-service.factory.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filesStorageClientAdapterService\n \n \n FilesStorageClientAdapterService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(props: SchoolSpecificFileCopyServiceProps)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/school-specific-file-copy-service.factory.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n SchoolSpecificFileCopyServiceProps\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolSpecificFileCopyService\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { FilesStorageClientAdapterService } from '@modules/files-storage-client';\nimport {\n\tSchoolSpecificFileCopyService,\n\tSchoolSpecificFileCopyServiceProps,\n} from './school-specific-file-copy.interface';\nimport { SchoolSpecificFileCopyServiceImpl } from './school-specific-file-copy.service';\n\n@Injectable()\nexport class SchoolSpecificFileCopyServiceFactory {\n\tconstructor(private readonly filesStorageClientAdapterService: FilesStorageClientAdapterService) {}\n\n\tbuild(props: SchoolSpecificFileCopyServiceProps): SchoolSpecificFileCopyService {\n\t\treturn new SchoolSpecificFileCopyServiceImpl(this.filesStorageClientAdapterService, props);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolSpecificFileCopyServiceImpl.html":{"url":"classes/SchoolSpecificFileCopyServiceImpl.html","title":"class - SchoolSpecificFileCopyServiceImpl","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolSpecificFileCopyServiceImpl\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/board-do-copy-service/school-specific-file-copy.service.ts\n \n\n\n\n\n \n Implements\n \n \n SchoolSpecificFileCopyService\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n copyFilesOfParent\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(filesStorageClientAdapterService: FilesStorageClientAdapterService, props: SchoolSpecificFileCopyServiceProps)\n \n \n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/school-specific-file-copy.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filesStorageClientAdapterService\n \n \n FilesStorageClientAdapterService\n \n \n \n No\n \n \n \n \n props\n \n \n SchoolSpecificFileCopyServiceProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n copyFilesOfParent\n \n \n \n \n \n \n \n copyFilesOfParent(params: SchoolSpecificFileCopyServiceCopyParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/school-specific-file-copy.service.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n SchoolSpecificFileCopyServiceCopyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { FilesStorageClientAdapterService } from '@modules/files-storage-client';\nimport { CopyFileDto } from '@modules/files-storage-client/dto';\nimport {\n\tSchoolSpecificFileCopyService,\n\tSchoolSpecificFileCopyServiceCopyParams,\n\tSchoolSpecificFileCopyServiceProps,\n} from './school-specific-file-copy.interface';\n\nexport class SchoolSpecificFileCopyServiceImpl implements SchoolSpecificFileCopyService {\n\tconstructor(\n\t\tprivate readonly filesStorageClientAdapterService: FilesStorageClientAdapterService,\n\t\tprivate readonly props: SchoolSpecificFileCopyServiceProps\n\t) {}\n\n\tpublic async copyFilesOfParent(params: SchoolSpecificFileCopyServiceCopyParams): Promise {\n\t\treturn this.filesStorageClientAdapterService.copyFilesOfParent({\n\t\t\tsource: {\n\t\t\t\tparentId: params.sourceParentId,\n\t\t\t\tparentType: params.parentType,\n\t\t\t\tschoolId: this.props.sourceSchoolId,\n\t\t\t},\n\t\t\ttarget: {\n\t\t\t\tparentId: params.targetParentId,\n\t\t\t\tparentType: params.parentType,\n\t\t\t\tschoolId: this.props.targetSchoolId,\n\t\t\t},\n\t\t\tuserId: this.props.userId,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolToolConfigurationStatusResponseMapper.html":{"url":"classes/SchoolToolConfigurationStatusResponseMapper.html","title":"class - SchoolToolConfigurationStatusResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolToolConfigurationStatusResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/mapper/school-external-tool-status-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(status: SchoolExternalToolConfigurationStatus)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/mapper/school-external-tool-status-response.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n status\n \n SchoolExternalToolConfigurationStatus\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolExternalToolConfigurationStatusResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { SchoolExternalToolConfigurationStatus } from '../controller/dto';\nimport { SchoolExternalToolConfigurationStatusResponse } from '../controller/dto/school-external-tool-configuration.response';\n\nexport class SchoolToolConfigurationStatusResponseMapper {\n\tstatic mapToResponse(status: SchoolExternalToolConfigurationStatus): SchoolExternalToolConfigurationStatusResponse {\n\t\tconst configurationStatus: SchoolExternalToolConfigurationStatusResponse =\n\t\t\tnew SchoolExternalToolConfigurationStatusResponse({\n\t\t\t\tisOutdatedOnScopeSchool: status.isOutdatedOnScopeSchool,\n\t\t\t});\n\n\t\treturn configurationStatus;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolValidationService.html":{"url":"injectables/SchoolValidationService.html","title":"injectable - SchoolValidationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolValidationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/legacy-school/service/validation/school-validation.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n isSchoolNumberUnique\n \n \n Public\n Async\n validate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolRepo: LegacySchoolRepo)\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/service/validation/school-validation.service.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolRepo\n \n \n LegacySchoolRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n isSchoolNumberUnique\n \n \n \n \n \n \n \n isSchoolNumberUnique(school: LegacySchoolDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/validation/school-validation.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n school\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n validate\n \n \n \n \n \n \n \n validate(school: LegacySchoolDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/validation/school-validation.service.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n school\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { LegacySchoolDo } from '@shared/domain/domainobject';\nimport { LegacySchoolRepo } from '@shared/repo';\nimport { SchoolNumberDuplicateLoggableException } from '../../loggable';\n\n@Injectable()\nexport class SchoolValidationService {\n\tconstructor(private readonly schoolRepo: LegacySchoolRepo) {}\n\n\tpublic async validate(school: LegacySchoolDo): Promise {\n\t\tif (!(await this.isSchoolNumberUnique(school))) {\n\t\t\tthrow new SchoolNumberDuplicateLoggableException(school.officialSchoolNumber as string);\n\t\t}\n\t}\n\n\tprivate async isSchoolNumberUnique(school: LegacySchoolDo): Promise {\n\t\tif (!school.officialSchoolNumber) {\n\t\t\treturn true;\n\t\t}\n\n\t\tconst foundSchool: LegacySchoolDo | null = await this.schoolRepo.findBySchoolNumber(school.officialSchoolNumber);\n\n\t\treturn foundSchool === null || foundSchool.id === school.id;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/SchoolYearEntity.html":{"url":"entities/SchoolYearEntity.html","title":"entity - SchoolYearEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n SchoolYearEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/schoolyear.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n endDate\n \n \n \n name\n \n \n \n startDate\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n endDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/schoolyear.entity.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/schoolyear.entity.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n startDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/schoolyear.entity.ts:16\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntity } from './base.entity';\n\nexport interface SchoolYearProperties {\n\tname: string;\n\tstartDate: Date;\n\tendDate: Date;\n}\n\n@Entity({ tableName: 'years' })\nexport class SchoolYearEntity extends BaseEntity implements SchoolYearProperties {\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tstartDate: Date;\n\n\t@Property()\n\tendDate: Date;\n\n\tconstructor(props: SchoolYearProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.startDate = props.startDate;\n\t\tthis.endDate = props.endDate;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SchoolYearProperties.html":{"url":"interfaces/SchoolYearProperties.html","title":"interface - SchoolYearProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SchoolYearProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/schoolyear.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n endDate\n \n \n \n \n name\n \n \n \n \n startDate\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n endDate\n \n \n \n \n \n \n \n \n endDate: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n startDate\n \n \n \n \n \n \n \n \n startDate: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntity } from './base.entity';\n\nexport interface SchoolYearProperties {\n\tname: string;\n\tstartDate: Date;\n\tendDate: Date;\n}\n\n@Entity({ tableName: 'years' })\nexport class SchoolYearEntity extends BaseEntity implements SchoolYearProperties {\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tstartDate: Date;\n\n\t@Property()\n\tendDate: Date;\n\n\tconstructor(props: SchoolYearProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.startDate = props.startDate;\n\t\tthis.endDate = props.endDate;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolYearRepo.html":{"url":"injectables/SchoolYearRepo.html","title":"injectable - SchoolYearRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolYearRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/legacy-school/repo/schoolyear.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findCurrentYear\n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findCurrentYear\n \n \n \n \n \n \n \n findCurrentYear()\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/repo/schoolyear.repo.ts:11\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/repo/schoolyear.repo.ts:7\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { SchoolYearEntity } from '@shared/domain/entity';\nimport { BaseRepo } from '@shared/repo/base.repo';\n\n@Injectable()\nexport class SchoolYearRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn SchoolYearEntity;\n\t}\n\n\tasync findCurrentYear(): Promise {\n\t\tconst currentDate = new Date();\n\t\tconst year: SchoolYearEntity | null = await this._em.findOneOrFail(SchoolYearEntity, {\n\t\t\t$and: [{ startDate: { $lte: currentDate } }, { endDate: { $gte: currentDate } }],\n\t\t});\n\t\treturn year;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolYearService.html":{"url":"injectables/SchoolYearService.html","title":"injectable - SchoolYearService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolYearService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/legacy-school/service/school-year.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findById\n \n \n Async\n getCurrentSchoolYear\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolYearRepo: SchoolYearRepo)\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/service/school-year.service.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolYearRepo\n \n \n SchoolYearRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/school-year.service.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getCurrentSchoolYear\n \n \n \n \n \n \n \n getCurrentSchoolYear()\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/school-year.service.ts:11\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { SchoolYearEntity } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { SchoolYearRepo } from '../repo';\n\n@Injectable()\nexport class SchoolYearService {\n\tconstructor(private readonly schoolYearRepo: SchoolYearRepo) {}\n\n\t// TODO: N21-990 Refactoring: Create domain objects for schoolYear and federalState\n\tasync getCurrentSchoolYear(): Promise {\n\t\tconst current: SchoolYearEntity = await this.schoolYearRepo.findCurrentYear();\n\n\t\treturn current;\n\t}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst year: SchoolYearEntity = await this.schoolYearRepo.findById(id);\n\n\t\treturn year;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Scope.html":{"url":"classes/Scope.html","title":"class - Scope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Scope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/scope.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n query\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(operator: ScopeOperator)\n \n \n \n \n Defined in apps/server/src/shared/repo/scope.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n operator\n \n \n ScopeOperator\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/shared/repo/scope.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Defined in apps/server/src/shared/repo/scope.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in apps/server/src/shared/repo/scope.ts:9\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/scope.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/scope.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n query\n \n \n\n \n \n getquery()\n \n \n \n \n Defined in apps/server/src/shared/repo/scope.ts:20\n \n \n\n \n \n\n \n\n\n \n import { FilterQuery } from '@mikro-orm/core';\nimport { EmptyResultQuery } from './query/empty-result.query';\n\ntype EmptyResultQueryType = typeof EmptyResultQuery;\n\ntype ScopeOperator = '$and' | '$or';\n\nexport class Scope {\n\tprivate _queries: FilterQuery[] = [];\n\n\tprivate _operator: ScopeOperator;\n\n\tprivate _allowEmptyQuery: boolean;\n\n\tconstructor(operator: ScopeOperator = '$and') {\n\t\tthis._operator = operator;\n\t\tthis._allowEmptyQuery = false;\n\t}\n\n\tget query(): FilterQuery {\n\t\tif (this._queries.length === 0) {\n\t\t\tif (this._allowEmptyQuery) {\n\t\t\t\treturn {} as FilterQuery;\n\t\t\t}\n\t\t\treturn EmptyResultQuery as FilterQuery;\n\t\t}\n\t\tconst query = this._queries.length > 1 ? { [this._operator]: this._queries } : this._queries[0];\n\t\treturn query as FilterQuery;\n\t}\n\n\taddQuery(query: FilterQuery | EmptyResultQueryType): void {\n\t\tthis._queries.push(query);\n\t}\n\n\tallowEmptyQuery(isEmptyQueryAllowed: boolean): Scope {\n\t\tthis._allowEmptyQuery = isEmptyQueryAllowed;\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ScopeInfo.html":{"url":"interfaces/ScopeInfo.html","title":"interface - ScopeInfo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ScopeInfo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/uc/dto/scope-info.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n logoutUrl\n \n \n \n \n scopeId\n \n \n \n \n scopeName\n \n \n \n \n title\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n logoutUrl\n \n \n \n \n \n \n \n \n logoutUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n scopeId\n \n \n \n \n \n \n \n \n scopeId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n scopeName\n \n \n \n \n \n \n \n \n scopeName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\n\nexport interface ScopeInfo {\n\tscopeId: EntityId;\n\n\tscopeName: string;\n\n\ttitle: string;\n\n\tlogoutUrl: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ScopeRef.html":{"url":"classes/ScopeRef.html","title":"class - ScopeRef","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ScopeRef\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/uc/dto/scope-ref.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n id\n \n \n scope\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(id: EntityId, scope: VideoConferenceScope)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/scope-ref.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n \n EntityId\n \n \n \n No\n \n \n \n \n scope\n \n \n VideoConferenceScope\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/scope-ref.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n scope\n \n \n \n \n \n \n Type : VideoConferenceScope\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/scope-ref.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { VideoConferenceScope } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\n\nexport class ScopeRef {\n\tid: EntityId;\n\n\tscope: VideoConferenceScope;\n\n\tconstructor(id: EntityId, scope: VideoConferenceScope) {\n\t\tthis.id = id;\n\t\tthis.scope = scope;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ServerConfig.html":{"url":"interfaces/ServerConfig.html","title":"interface - ServerConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ServerConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/server/server.config.ts\n \n\n\n\n \n Extends\n \n \n CoreModuleConfig\n UserConfig\n FilesStorageClientConfig\n AccountConfig\n IdentityManagementConfig\n CommonCartridgeConfig\n MailConfig\n XApiKeyConfig\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n NODE_ENV\n \n \n \n \n SC_DOMAIN\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n NODE_ENV\n \n \n \n \n \n \n \n \n NODE_ENV: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n SC_DOMAIN\n \n \n \n \n \n \n \n \n SC_DOMAIN: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\nimport type { IdentityManagementConfig } from '@infra/identity-management';\nimport type { AccountConfig } from '@modules/account';\nimport type { FilesStorageClientConfig } from '@modules/files-storage-client';\nimport type { CommonCartridgeConfig } from '@modules/learnroom/common-cartridge';\nimport type { UserConfig } from '@modules/user';\nimport type { CoreModuleConfig } from '@src/core';\nimport { MailConfig } from '@src/infra/mail/interfaces/mail-config';\nimport { XApiKeyConfig } from '@modules/authentication';\n\nexport enum NodeEnvType {\n\tTEST = 'test',\n\tDEVELOPMENT = 'development',\n\tPRODUCTION = 'production',\n\tMIGRATION = 'migration',\n}\n\nexport interface ServerConfig\n\textends CoreModuleConfig,\n\t\tUserConfig,\n\t\tFilesStorageClientConfig,\n\t\tAccountConfig,\n\t\tIdentityManagementConfig,\n\t\tCommonCartridgeConfig,\n\t\tMailConfig,\n\t\tXApiKeyConfig {\n\tNODE_ENV: string;\n\tSC_DOMAIN: string;\n}\n\nconst config: ServerConfig = {\n\tSC_DOMAIN: Configuration.get('SC_DOMAIN') as string,\n\tINCOMING_REQUEST_TIMEOUT: Configuration.get('INCOMING_REQUEST_TIMEOUT_API') as number,\n\tINCOMING_REQUEST_TIMEOUT_COPY_API: Configuration.get('INCOMING_REQUEST_TIMEOUT_COPY_API') as number,\n\tNEST_LOG_LEVEL: Configuration.get('NEST_LOG_LEVEL') as string,\n\tAVAILABLE_LANGUAGES: (Configuration.get('I18N__AVAILABLE_LANGUAGES') as string).split(','),\n\tNODE_ENV: Configuration.get('NODE_ENV') as NodeEnvType,\n\tLOGIN_BLOCK_TIME: Configuration.get('LOGIN_BLOCK_TIME') as number,\n\tTEACHER_STUDENT_VISIBILITY__IS_CONFIGURABLE: Configuration.get(\n\t\t'TEACHER_STUDENT_VISIBILITY__IS_CONFIGURABLE'\n\t) as boolean,\n\tFEATURE_IMSCC_COURSE_EXPORT_ENABLED: Configuration.get('FEATURE_IMSCC_COURSE_EXPORT_ENABLED') as boolean,\n\tFEATURE_IDENTITY_MANAGEMENT_ENABLED: Configuration.get('FEATURE_IDENTITY_MANAGEMENT_ENABLED') as boolean,\n\tFEATURE_IDENTITY_MANAGEMENT_STORE_ENABLED: Configuration.get('FEATURE_IDENTITY_MANAGEMENT_STORE_ENABLED') as boolean,\n\tFEATURE_IDENTITY_MANAGEMENT_LOGIN_ENABLED: Configuration.get('FEATURE_IDENTITY_MANAGEMENT_LOGIN_ENABLED') as boolean,\n\tADMIN_API__ALLOWED_API_KEYS: (Configuration.get('ADMIN_API__ALLOWED_API_KEYS') as string)\n\t\t.split(',')\n\t\t.map((apiKey) => apiKey.trim()),\n\tADDITIONAL_BLACKLISTED_EMAIL_DOMAINS: (Configuration.get('ADDITIONAL_BLACKLISTED_EMAIL_DOMAINS') as string)\n\t\t.split(',')\n\t\t.map((domain) => domain.trim()),\n};\n\nexport const serverConfig = () => config;\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ServerConsole.html":{"url":"classes/ServerConsole.html","title":"class - ServerConsole","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ServerConsole\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/console/server.console.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getHello\n \n \n \n getInOut\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(consoleWriter: ConsoleWriterService)\n \n \n \n \n Defined in apps/server/src/console/server.console.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n consoleWriter\n \n \n ConsoleWriterService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getHello\n \n \n \n \n \n \n \n getHello()\n \n \n\n \n \n Decorators : \n \n @Command({command: 'test', description: 'sample test output'})\n \n \n\n \n \n Defined in apps/server/src/console/server.console.ts:11\n \n \n\n\n \n \n test method for console output\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n getInOut\n \n \n \n \n \n \n \n getInOut(whatever: string)\n \n \n\n \n \n Decorators : \n \n @Command({command: 'out ', description: 'return input args'})\n \n \n\n \n \n Defined in apps/server/src/console/server.console.ts:17\n \n \n\n\n \n \n test method for console input\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n whatever\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Command, Console } from 'nestjs-console';\nimport { ConsoleWriterService } from '@infra/console';\n\n@Console({ command: 'server', description: 'sample server console' })\nexport class ServerConsole {\n\tconstructor(private consoleWriter: ConsoleWriterService) {}\n\n\t/** test method for console output */\n\t@Command({ command: 'test', description: 'sample test output' })\n\tgetHello(): void {\n\t\tthis.consoleWriter.info('Schulcloud Server API');\n\t}\n\n\t/** test method for console input */\n\t@Command({ command: 'out ', description: 'return input args' })\n\tgetInOut(whatever: string): void {\n\t\tthis.consoleWriter.info(`input was: ${whatever}`);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ServerConsoleModule.html":{"url":"modules/ServerConsoleModule.html","title":"module - ServerConsoleModule","body":"\n \n\n\n\n\n Modules\n ServerConsoleModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ServerConsoleModule\n\n\n\ncluster_ServerConsoleModule_imports\n\n\n\n\nConsoleWriterModule\n\nConsoleWriterModule\n\n\n\nServerConsoleModule\n\nServerConsoleModule\n\nServerConsoleModule -->\n\nConsoleWriterModule->ServerConsoleModule\n\n\n\n\n\nFilesModule\n\nFilesModule\n\nServerConsoleModule -->\n\nFilesModule->ServerConsoleModule\n\n\n\n\n\nManagementModule\n\nManagementModule\n\nServerConsoleModule -->\n\nManagementModule->ServerConsoleModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/console/console.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n \n \n \n ConsoleWriterModule\n \n \n FilesModule\n \n \n ManagementModule\n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { ConsoleWriterModule } from '@infra/console/console-writer/console-writer.module';\nimport { KeycloakModule } from '@infra/identity-management/keycloak/keycloak.module';\nimport { Dictionary, IPrimaryKey } from '@mikro-orm/core';\nimport { MikroOrmModule } from '@mikro-orm/nestjs';\nimport { FilesModule } from '@modules/files';\nimport { FileRecord } from '@modules/files-storage/entity';\nimport { FileEntity } from '@modules/files/entity';\nimport { ManagementModule } from '@modules/management/management.module';\nimport { serverConfig } from '@modules/server';\nimport { Module, NotFoundException } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { ALL_ENTITIES } from '@shared/domain/entity';\nimport { DB_PASSWORD, DB_URL, DB_USERNAME, createConfigModuleOptions } from '@src/config';\nimport { ConsoleModule } from 'nestjs-console';\nimport { ServerConsole } from './server.console';\n\n@Module({\n\timports: [\n\t\tManagementModule,\n\t\tConsoleModule,\n\t\tConsoleWriterModule,\n\t\tFilesModule,\n\t\tConfigModule.forRoot(createConfigModuleOptions(serverConfig)),\n\t\t...((Configuration.get('FEATURE_IDENTITY_MANAGEMENT_ENABLED') as boolean) ? [KeycloakModule] : []),\n\t\tMikroOrmModule.forRoot({\n\t\t\t// TODO repeats server module definitions\n\t\t\ttype: 'mongo',\n\t\t\tclientUrl: DB_URL,\n\t\t\tpassword: DB_PASSWORD,\n\t\t\tuser: DB_USERNAME,\n\t\t\tentities: [...ALL_ENTITIES, FileEntity, FileRecord],\n\t\t\tallowGlobalContext: true,\n\t\t\tfindOneOrFailHandler: (entityName: string, where: Dictionary | IPrimaryKey) =>\n\t\t\t\tnew NotFoundException(`The requested ${entityName}: ${JSON.stringify(where)} has not been found.`),\n\t\t}),\n\t],\n\tproviders: [\n\t\t/** add console services as providers */\n\t\tServerConsole,\n\t],\n})\nexport class ServerConsoleModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/ServerController.html":{"url":"controllers/ServerController.html","title":"controller - ServerController","body":"\n \n\n\n\n\n\n\n Controllers\n ServerController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/server/controller/server.controller.ts\n \n\n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getHello\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getHello\n \n \n \n \n \n \n \n getHello()\n \n \n\n \n \n Decorators : \n \n @Get()\n \n \n\n \n \n Defined in apps/server/src/modules/server/controller/server.controller.ts:7\n \n \n\n\n \n \n default route to test public access\n\n\n \n Returns : string\n\n \n \n \n \n \n \n\n\n \n import { Controller, Get } from '@nestjs/common';\n\n@Controller()\nexport class ServerController {\n\t/** default route to test public access */\n\t@Get()\n\tgetHello(): string {\n\t\treturn 'Schulcloud Server API';\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ServerModule.html":{"url":"modules/ServerModule.html","title":"module - ServerModule","body":"\n \n\n\n\n\n Modules\n ServerModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ServerModule\n\n\n\ncluster_ServerModule_imports\n\n\n\n\nDeletionApiModule\n\nDeletionApiModule\n\n\n\nServerModule\n\nServerModule\n\nServerModule -->\n\nDeletionApiModule->ServerModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nServerModule -->\n\nLoggerModule->ServerModule\n\n\n\n\n\nRabbitMQWrapperModule\n\nRabbitMQWrapperModule\n\nServerModule -->\n\nRabbitMQWrapperModule->ServerModule\n\n\n\n\n\nRedisModule\n\nRedisModule\n\nServerModule -->\n\nRedisModule->ServerModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/server/server.module.ts\n \n\n\n\n \n Description\n \n \n Server Module used for production\n\n \n\n\n \n \n \n Controllers\n \n \n ServerController\n \n \n \n \n Imports\n \n \n DeletionApiModule\n \n \n LoggerModule\n \n \n RabbitMQWrapperModule\n \n \n RedisModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n configure\n \n \n \n \n \n \nconfigure(consumer: MiddlewareConsumer)\n \n \n\n\n \n \n Defined in apps/server/src/modules/server/server.module.ts:155\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n consumer\n \n MiddlewareConsumer\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\nimport { MongoDatabaseModuleOptions, MongoMemoryDatabaseModule } from '@infra/database';\nimport { MailModule } from '@infra/mail';\nimport { RabbitMQWrapperModule, RabbitMQWrapperTestModule } from '@infra/rabbitmq';\nimport { REDIS_CLIENT, RedisModule } from '@infra/redis';\nimport { Dictionary, IPrimaryKey } from '@mikro-orm/core';\nimport { MikroOrmModule, MikroOrmModuleSyncOptions } from '@mikro-orm/nestjs';\nimport { AccountApiModule } from '@modules/account/account-api.module';\nimport { AuthenticationApiModule } from '@modules/authentication/authentication-api.module';\nimport { BoardApiModule } from '@modules/board/board-api.module';\nimport { CollaborativeStorageModule } from '@modules/collaborative-storage';\nimport { FilesStorageClientModule } from '@modules/files-storage-client';\nimport { GroupApiModule } from '@modules/group/group-api.module';\nimport { LearnroomApiModule } from '@modules/learnroom/learnroom-api.module';\nimport { LessonApiModule } from '@modules/lesson/lesson-api.module';\nimport { MetaTagExtractorApiModule, MetaTagExtractorModule } from '@modules/meta-tag-extractor';\nimport { NewsModule } from '@modules/news';\nimport { OauthProviderApiModule } from '@modules/oauth-provider';\nimport { OauthApiModule } from '@modules/oauth/oauth-api.module';\nimport { PseudonymApiModule } from '@modules/pseudonym/pseudonym-api.module';\nimport { RocketChatModule } from '@modules/rocketchat';\nimport { SharingApiModule } from '@modules/sharing/sharing.module';\nimport { SystemApiModule } from '@modules/system/system-api.module';\nimport { TaskApiModule } from '@modules/task/task-api.module';\nimport { TeamsApiModule } from '@modules/teams/teams-api.module';\nimport { ToolApiModule } from '@modules/tool/tool-api.module';\nimport { ImportUserModule } from '@modules/user-import';\nimport { UserLoginMigrationApiModule } from '@modules/user-login-migration/user-login-migration-api.module';\nimport { UserApiModule } from '@modules/user/user-api.module';\nimport { VideoConferenceApiModule } from '@modules/video-conference/video-conference-api.module';\nimport { DynamicModule, Inject, MiddlewareConsumer, Module, NestModule, NotFoundException } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { ALL_ENTITIES } from '@shared/domain/entity';\nimport { DB_PASSWORD, DB_URL, DB_USERNAME, createConfigModuleOptions } from '@src/config';\nimport { CoreModule } from '@src/core';\nimport { LegacyLogger, LoggerModule } from '@src/core/logger';\nimport connectRedis from 'connect-redis';\nimport session from 'express-session';\nimport { RedisClient } from 'redis';\nimport { ServerController } from './controller/server.controller';\nimport { serverConfig } from './server.config';\n\nconst serverModules = [\n\tConfigModule.forRoot(createConfigModuleOptions(serverConfig)),\n\tCoreModule,\n\tAuthenticationApiModule,\n\tAccountApiModule,\n\tCollaborativeStorageModule,\n\tOauthApiModule,\n\tMetaTagExtractorModule,\n\tTaskApiModule,\n\tLessonApiModule,\n\tNewsModule,\n\tUserApiModule,\n\tImportUserModule,\n\tLearnroomApiModule,\n\tFilesStorageClientModule,\n\tSystemApiModule,\n\tMailModule.forRoot({\n\t\texchange: Configuration.get('MAIL_SEND_EXCHANGE') as string,\n\t\troutingKey: Configuration.get('MAIL_SEND_ROUTING_KEY') as string,\n\t}),\n\tRocketChatModule.forRoot({\n\t\turi: Configuration.get('ROCKET_CHAT_URI') as string,\n\t\tadminId: Configuration.get('ROCKET_CHAT_ADMIN_ID') as string,\n\t\tadminToken: Configuration.get('ROCKET_CHAT_ADMIN_TOKEN') as string,\n\t\tadminUser: Configuration.get('ROCKET_CHAT_ADMIN_USER') as string,\n\t\tadminPassword: Configuration.get('ROCKET_CHAT_ADMIN_PASSWORD') as string,\n\t}),\n\tVideoConferenceApiModule,\n\tOauthProviderApiModule,\n\tSharingApiModule,\n\tToolApiModule,\n\tUserLoginMigrationApiModule,\n\tBoardApiModule,\n\tGroupApiModule,\n\tTeamsApiModule,\n\tMetaTagExtractorApiModule,\n\tPseudonymApiModule,\n];\n\nexport const defaultMikroOrmOptions: MikroOrmModuleSyncOptions = {\n\tfindOneOrFailHandler: (entityName: string, where: Dictionary | IPrimaryKey) =>\n\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\tnew NotFoundException(`The requested ${entityName}: ${where} has not been found.`),\n};\n\nconst setupSessions = (consumer: MiddlewareConsumer, redisClient: RedisClient | undefined, logger: LegacyLogger) => {\n\tconst sessionDuration: number = Configuration.get('SESSION__EXPIRES_SECONDS') as number;\n\n\tlet store: connectRedis.RedisStore | undefined;\n\tif (redisClient) {\n\t\tconst RedisStore: connectRedis.RedisStore = connectRedis(session);\n\t\tstore = new RedisStore({\n\t\t\tclient: redisClient,\n\t\t\tttl: sessionDuration,\n\t\t});\n\t} else {\n\t\tlogger.warn(\n\t\t\t'The RedisStore for sessions is not setup, since the environment variable REDIS_URI is not defined. Sessions are using the build-in MemoryStore. This should not be used in production!'\n\t\t);\n\t}\n\n\tconsumer\n\t\t.apply(\n\t\t\tsession({\n\t\t\t\tstore,\n\t\t\t\tsecret: Configuration.get('SESSION__SECRET') as string,\n\t\t\t\tresave: false,\n\t\t\t\tsaveUninitialized: false,\n\t\t\t\tname: Configuration.has('SESSION__NAME') ? (Configuration.get('SESSION__NAME') as string) : undefined,\n\t\t\t\tproxy: Configuration.has('SESSION__PROXY') ? (Configuration.get('SESSION__PROXY') as boolean) : undefined,\n\t\t\t\tcookie: {\n\t\t\t\t\tsecure: Configuration.get('SESSION__SECURE') as boolean,\n\t\t\t\t\tsameSite: Configuration.get('SESSION__SAME_SITE') as boolean | 'lax' | 'strict' | 'none',\n\t\t\t\t\thttpOnly: Configuration.get('SESSION__HTTP_ONLY') as boolean,\n\t\t\t\t\tmaxAge: sessionDuration * 1000,\n\t\t\t\t},\n\t\t\t})\n\t\t)\n\t\t.forRoutes('*');\n};\n\n/**\n * Server Module used for production\n */\n@Module({\n\timports: [\n\t\tRabbitMQWrapperModule,\n\t\t...serverModules,\n\t\tMikroOrmModule.forRoot({\n\t\t\t...defaultMikroOrmOptions,\n\t\t\ttype: 'mongo',\n\t\t\t// TODO add mongoose options as mongo options (see database.js)\n\t\t\tclientUrl: DB_URL,\n\t\t\tpassword: DB_PASSWORD,\n\t\t\tuser: DB_USERNAME,\n\t\t\tentities: ALL_ENTITIES,\n\n\t\t\t// debug: true, // use it for locally debugging of queries\n\t\t}),\n\t\tLoggerModule,\n\t\tRedisModule,\n\t],\n\tcontrollers: [ServerController],\n})\nexport class ServerModule implements NestModule {\n\tconstructor(\n\t\t@Inject(REDIS_CLIENT) private readonly redisClient: RedisClient | undefined,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tlogger.setContext(ServerModule.name);\n\t}\n\n\tconfigure(consumer: MiddlewareConsumer) {\n\t\tsetupSessions(consumer, this.redisClient, this.logger);\n\t}\n}\n\n/**\n * Server module used for testing.\n * Should have same modules than the @ServerModule while infrastucture Modules can be different.\n * Customizations:\n * - In Memory Database instead of external connection\n * // TODO add custom mail, rocketchat, and rabbitmq modules\n * // TODO use instead of ServerModule when NODE_ENV=test\n */\n@Module({\n\timports: [\n\t\t...serverModules,\n\t\tMongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions }),\n\t\tRabbitMQWrapperTestModule,\n\t\tLoggerModule,\n\t\tRedisModule,\n\t],\n\tcontrollers: [ServerController],\n})\nexport class ServerTestModule implements NestModule {\n\tconstructor(\n\t\t@Inject(REDIS_CLIENT) private readonly redisClient: RedisClient | undefined,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tlogger.setContext(ServerTestModule.name);\n\t}\n\n\tconfigure(consumer: MiddlewareConsumer) {\n\t\tsetupSessions(consumer, undefined, this.logger);\n\t}\n\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: ServerTestModule,\n\t\t\timports: [\n\t\t\t\t...serverModules,\n\t\t\t\tMongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions, ...options }),\n\t\t\t\tRabbitMQWrapperTestModule,\n\t\t\t],\n\t\t\tcontrollers: [ServerController],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ServerTestModule.html":{"url":"modules/ServerTestModule.html","title":"module - ServerTestModule","body":"\n \n\n\n\n\n Modules\n ServerTestModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ServerTestModule\n\n\n\ncluster_ServerTestModule_imports\n\n\n\n\nDeletionApiModule\n\nDeletionApiModule\n\n\n\nServerTestModule\n\nServerTestModule\n\nServerTestModule -->\n\nDeletionApiModule->ServerTestModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nServerTestModule -->\n\nLoggerModule->ServerTestModule\n\n\n\n\n\nMongoMemoryDatabaseModule\n\nMongoMemoryDatabaseModule\n\nServerTestModule -->\n\nMongoMemoryDatabaseModule->ServerTestModule\n\n\n\n\n\nRabbitMQWrapperTestModule\n\nRabbitMQWrapperTestModule\n\nServerTestModule -->\n\nRabbitMQWrapperTestModule->ServerTestModule\n\n\n\n\n\nRedisModule\n\nRedisModule\n\nServerTestModule -->\n\nRedisModule->ServerTestModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/server/server.module.ts\n \n\n\n\n \n Description\n \n \n Server module used for testing.\nShould have same modules than the @ServerModule while infrastucture Modules can be different.\nCustomizations:\n\nIn Memory Database instead of external connection\n// TODO add custom mail, rocketchat, and rabbitmq modules\n// TODO use instead of ServerModule when NODE_ENV=test\n\n\n \n\n\n \n \n \n Controllers\n \n \n ServerController\n \n \n \n \n Imports\n \n \n DeletionApiModule\n \n \n LoggerModule\n \n \n MongoMemoryDatabaseModule\n \n \n RabbitMQWrapperTestModule\n \n \n RedisModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n configure\n \n \n \n \n \n \nconfigure(consumer: MiddlewareConsumer)\n \n \n\n\n \n \n Defined in apps/server/src/modules/server/server.module.ts:186\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n consumer\n \n MiddlewareConsumer\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options?: MongoDatabaseModuleOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/server/server.module.ts:190\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n MongoDatabaseModuleOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\nimport { MongoDatabaseModuleOptions, MongoMemoryDatabaseModule } from '@infra/database';\nimport { MailModule } from '@infra/mail';\nimport { RabbitMQWrapperModule, RabbitMQWrapperTestModule } from '@infra/rabbitmq';\nimport { REDIS_CLIENT, RedisModule } from '@infra/redis';\nimport { Dictionary, IPrimaryKey } from '@mikro-orm/core';\nimport { MikroOrmModule, MikroOrmModuleSyncOptions } from '@mikro-orm/nestjs';\nimport { AccountApiModule } from '@modules/account/account-api.module';\nimport { AuthenticationApiModule } from '@modules/authentication/authentication-api.module';\nimport { BoardApiModule } from '@modules/board/board-api.module';\nimport { CollaborativeStorageModule } from '@modules/collaborative-storage';\nimport { FilesStorageClientModule } from '@modules/files-storage-client';\nimport { GroupApiModule } from '@modules/group/group-api.module';\nimport { LearnroomApiModule } from '@modules/learnroom/learnroom-api.module';\nimport { LessonApiModule } from '@modules/lesson/lesson-api.module';\nimport { MetaTagExtractorApiModule, MetaTagExtractorModule } from '@modules/meta-tag-extractor';\nimport { NewsModule } from '@modules/news';\nimport { OauthProviderApiModule } from '@modules/oauth-provider';\nimport { OauthApiModule } from '@modules/oauth/oauth-api.module';\nimport { PseudonymApiModule } from '@modules/pseudonym/pseudonym-api.module';\nimport { RocketChatModule } from '@modules/rocketchat';\nimport { SharingApiModule } from '@modules/sharing/sharing.module';\nimport { SystemApiModule } from '@modules/system/system-api.module';\nimport { TaskApiModule } from '@modules/task/task-api.module';\nimport { TeamsApiModule } from '@modules/teams/teams-api.module';\nimport { ToolApiModule } from '@modules/tool/tool-api.module';\nimport { ImportUserModule } from '@modules/user-import';\nimport { UserLoginMigrationApiModule } from '@modules/user-login-migration/user-login-migration-api.module';\nimport { UserApiModule } from '@modules/user/user-api.module';\nimport { VideoConferenceApiModule } from '@modules/video-conference/video-conference-api.module';\nimport { DynamicModule, Inject, MiddlewareConsumer, Module, NestModule, NotFoundException } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { ALL_ENTITIES } from '@shared/domain/entity';\nimport { DB_PASSWORD, DB_URL, DB_USERNAME, createConfigModuleOptions } from '@src/config';\nimport { CoreModule } from '@src/core';\nimport { LegacyLogger, LoggerModule } from '@src/core/logger';\nimport connectRedis from 'connect-redis';\nimport session from 'express-session';\nimport { RedisClient } from 'redis';\nimport { ServerController } from './controller/server.controller';\nimport { serverConfig } from './server.config';\n\nconst serverModules = [\n\tConfigModule.forRoot(createConfigModuleOptions(serverConfig)),\n\tCoreModule,\n\tAuthenticationApiModule,\n\tAccountApiModule,\n\tCollaborativeStorageModule,\n\tOauthApiModule,\n\tMetaTagExtractorModule,\n\tTaskApiModule,\n\tLessonApiModule,\n\tNewsModule,\n\tUserApiModule,\n\tImportUserModule,\n\tLearnroomApiModule,\n\tFilesStorageClientModule,\n\tSystemApiModule,\n\tMailModule.forRoot({\n\t\texchange: Configuration.get('MAIL_SEND_EXCHANGE') as string,\n\t\troutingKey: Configuration.get('MAIL_SEND_ROUTING_KEY') as string,\n\t}),\n\tRocketChatModule.forRoot({\n\t\turi: Configuration.get('ROCKET_CHAT_URI') as string,\n\t\tadminId: Configuration.get('ROCKET_CHAT_ADMIN_ID') as string,\n\t\tadminToken: Configuration.get('ROCKET_CHAT_ADMIN_TOKEN') as string,\n\t\tadminUser: Configuration.get('ROCKET_CHAT_ADMIN_USER') as string,\n\t\tadminPassword: Configuration.get('ROCKET_CHAT_ADMIN_PASSWORD') as string,\n\t}),\n\tVideoConferenceApiModule,\n\tOauthProviderApiModule,\n\tSharingApiModule,\n\tToolApiModule,\n\tUserLoginMigrationApiModule,\n\tBoardApiModule,\n\tGroupApiModule,\n\tTeamsApiModule,\n\tMetaTagExtractorApiModule,\n\tPseudonymApiModule,\n];\n\nexport const defaultMikroOrmOptions: MikroOrmModuleSyncOptions = {\n\tfindOneOrFailHandler: (entityName: string, where: Dictionary | IPrimaryKey) =>\n\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\tnew NotFoundException(`The requested ${entityName}: ${where} has not been found.`),\n};\n\nconst setupSessions = (consumer: MiddlewareConsumer, redisClient: RedisClient | undefined, logger: LegacyLogger) => {\n\tconst sessionDuration: number = Configuration.get('SESSION__EXPIRES_SECONDS') as number;\n\n\tlet store: connectRedis.RedisStore | undefined;\n\tif (redisClient) {\n\t\tconst RedisStore: connectRedis.RedisStore = connectRedis(session);\n\t\tstore = new RedisStore({\n\t\t\tclient: redisClient,\n\t\t\tttl: sessionDuration,\n\t\t});\n\t} else {\n\t\tlogger.warn(\n\t\t\t'The RedisStore for sessions is not setup, since the environment variable REDIS_URI is not defined. Sessions are using the build-in MemoryStore. This should not be used in production!'\n\t\t);\n\t}\n\n\tconsumer\n\t\t.apply(\n\t\t\tsession({\n\t\t\t\tstore,\n\t\t\t\tsecret: Configuration.get('SESSION__SECRET') as string,\n\t\t\t\tresave: false,\n\t\t\t\tsaveUninitialized: false,\n\t\t\t\tname: Configuration.has('SESSION__NAME') ? (Configuration.get('SESSION__NAME') as string) : undefined,\n\t\t\t\tproxy: Configuration.has('SESSION__PROXY') ? (Configuration.get('SESSION__PROXY') as boolean) : undefined,\n\t\t\t\tcookie: {\n\t\t\t\t\tsecure: Configuration.get('SESSION__SECURE') as boolean,\n\t\t\t\t\tsameSite: Configuration.get('SESSION__SAME_SITE') as boolean | 'lax' | 'strict' | 'none',\n\t\t\t\t\thttpOnly: Configuration.get('SESSION__HTTP_ONLY') as boolean,\n\t\t\t\t\tmaxAge: sessionDuration * 1000,\n\t\t\t\t},\n\t\t\t})\n\t\t)\n\t\t.forRoutes('*');\n};\n\n/**\n * Server Module used for production\n */\n@Module({\n\timports: [\n\t\tRabbitMQWrapperModule,\n\t\t...serverModules,\n\t\tMikroOrmModule.forRoot({\n\t\t\t...defaultMikroOrmOptions,\n\t\t\ttype: 'mongo',\n\t\t\t// TODO add mongoose options as mongo options (see database.js)\n\t\t\tclientUrl: DB_URL,\n\t\t\tpassword: DB_PASSWORD,\n\t\t\tuser: DB_USERNAME,\n\t\t\tentities: ALL_ENTITIES,\n\n\t\t\t// debug: true, // use it for locally debugging of queries\n\t\t}),\n\t\tLoggerModule,\n\t\tRedisModule,\n\t],\n\tcontrollers: [ServerController],\n})\nexport class ServerModule implements NestModule {\n\tconstructor(\n\t\t@Inject(REDIS_CLIENT) private readonly redisClient: RedisClient | undefined,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tlogger.setContext(ServerModule.name);\n\t}\n\n\tconfigure(consumer: MiddlewareConsumer) {\n\t\tsetupSessions(consumer, this.redisClient, this.logger);\n\t}\n}\n\n/**\n * Server module used for testing.\n * Should have same modules than the @ServerModule while infrastucture Modules can be different.\n * Customizations:\n * - In Memory Database instead of external connection\n * // TODO add custom mail, rocketchat, and rabbitmq modules\n * // TODO use instead of ServerModule when NODE_ENV=test\n */\n@Module({\n\timports: [\n\t\t...serverModules,\n\t\tMongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions }),\n\t\tRabbitMQWrapperTestModule,\n\t\tLoggerModule,\n\t\tRedisModule,\n\t],\n\tcontrollers: [ServerController],\n})\nexport class ServerTestModule implements NestModule {\n\tconstructor(\n\t\t@Inject(REDIS_CLIENT) private readonly redisClient: RedisClient | undefined,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tlogger.setContext(ServerTestModule.name);\n\t}\n\n\tconfigure(consumer: MiddlewareConsumer) {\n\t\tsetupSessions(consumer, undefined, this.logger);\n\t}\n\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: ServerTestModule,\n\t\t\timports: [\n\t\t\t\t...serverModules,\n\t\t\t\tMongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions, ...options }),\n\t\t\t\tRabbitMQWrapperTestModule,\n\t\t\t],\n\t\t\tcontrollers: [ServerController],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SetHeightBodyParams.html":{"url":"classes/SetHeightBodyParams.html","title":"class - SetHeightBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SetHeightBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/board/set-height.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n height\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n height\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsPositive()@ApiProperty({required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/set-height.body.params.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsPositive } from 'class-validator';\n\nexport class SetHeightBodyParams {\n\t@IsPositive()\n\t@ApiProperty({\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\theight!: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/ShareToken.html":{"url":"entities/ShareToken.html","title":"entity - ShareToken","body":"\n \n\n\n\n\n\n\n\n Entities\n ShareToken\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/entity/share-token.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n _contextId\n \n \n \n _parentId\n \n \n \n Optional\n contextType\n \n \n \n \n Optional\n expiresAt\n \n \n \n parentType\n \n \n \n token\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n _contextId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'context', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/entity/share-token.entity.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n _parentId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'parent'})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/entity/share-token.entity.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n contextType\n \n \n \n \n \n \n Type : ShareTokenContextType\n\n \n \n \n \n Decorators : \n \n \n @Enum({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/entity/share-token.entity.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n expiresAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Index({options: undefined})@Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/entity/share-token.entity.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n Type : ShareTokenParentType\n\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/entity/share-token.entity.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n token\n \n \n \n \n \n \n Type : ShareTokenString\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/entity/share-token.entity.ts:19\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types/entity-id';\nimport { ShareTokenContextType, ShareTokenParentType, ShareTokenString } from '../domainobject/share-token.do';\n\nexport interface ShareTokenProperties {\n\ttoken: ShareTokenString;\n\tparentType: ShareTokenParentType;\n\tparentId: EntityId | ObjectId;\n\tcontextType?: ShareTokenContextType;\n\tcontextId?: EntityId | ObjectId;\n\texpiresAt?: Date;\n}\n\n@Entity({ tableName: 'sharetokens' })\nexport class ShareToken extends BaseEntityWithTimestamps {\n\t@Property()\n\ttoken: ShareTokenString;\n\n\t@Enum()\n\tparentType: ShareTokenParentType;\n\n\t@Property({ fieldName: 'parent' })\n\t_parentId: ObjectId;\n\n\tget parentId(): EntityId {\n\t\treturn this._parentId.toHexString();\n\t}\n\n\t@Enum({ nullable: true })\n\tcontextType?: ShareTokenContextType;\n\n\t@Property({ fieldName: 'context', nullable: true })\n\t_contextId?: ObjectId;\n\n\tget contextId(): EntityId | undefined {\n\t\treturn this._contextId?.toHexString();\n\t}\n\n\t@Index({ options: { expireAfterSeconds: 0 } })\n\t@Property({ nullable: true })\n\texpiresAt?: Date;\n\n\tconstructor(props: ShareTokenProperties) {\n\t\tsuper();\n\t\tthis.token = props.token;\n\t\tthis.parentType = props.parentType;\n\t\tthis._parentId = new ObjectId(props.parentId);\n\t\tthis.contextType = props.contextType;\n\t\tif (props.contextId !== undefined) {\n\t\t\tthis._contextId = new ObjectId(props.contextId);\n\t\t}\n\t\tthis.expiresAt = props.expiresAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenBodyParams.html":{"url":"classes/ShareTokenBodyParams.html","title":"class - ShareTokenBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/controller/dto/share-token.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n expiresInDays\n \n \n \n \n parentId\n \n \n \n \n parentType\n \n \n \n \n \n Optional\n schoolExclusive\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n expiresInDays\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsInt()@IsOptional()@IsPositive()@ApiProperty({description: 'when defined, the sharetoken will expire after the given number of days.', required: false, nullable: true, minimum: 1})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token.body.params.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'the id of the object being shared.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token.body.params.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n Type : ShareTokenParentType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ShareTokenParentType)@ApiProperty({description: 'the type of the object being shared', required: true, nullable: false, enum: ShareTokenParentType})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token.body.params.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n schoolExclusive\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@IsOptional()@ApiProperty({description: 'when defined, the sharetoken will be usable exclusively by members of the users school.', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token.body.params.ts:41\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsBoolean, IsEnum, IsInt, IsMongoId, IsOptional, IsPositive } from 'class-validator';\nimport { ShareTokenParentType } from '../../domainobject/share-token.do';\n\nexport class ShareTokenBodyParams {\n\t@IsEnum(ShareTokenParentType)\n\t@ApiProperty({\n\t\tdescription: 'the type of the object being shared',\n\t\trequired: true,\n\t\tnullable: false,\n\t\tenum: ShareTokenParentType,\n\t})\n\tparentType!: ShareTokenParentType;\n\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'the id of the object being shared.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tparentId!: string;\n\n\t@IsInt()\n\t@IsOptional()\n\t@IsPositive()\n\t@ApiProperty({\n\t\tdescription: 'when defined, the sharetoken will expire after the given number of days.',\n\t\trequired: false,\n\t\tnullable: true,\n\t\tminimum: 1,\n\t})\n\texpiresInDays?: number;\n\n\t@IsBoolean()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'when defined, the sharetoken will be usable exclusively by members of the users school.',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\tschoolExclusive?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenContextTypeMapper.html":{"url":"classes/ShareTokenContextTypeMapper.html","title":"class - ShareTokenContextTypeMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenContextTypeMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/mapper/context-type.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToAllowedAuthorizationEntityType\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToAllowedAuthorizationEntityType\n \n \n \n \n \n \n \n mapToAllowedAuthorizationEntityType(type: ShareTokenContextType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/mapper/context-type.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n ShareTokenContextType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AuthorizableReferenceType\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { NotImplementedException } from '@nestjs/common';\nimport { AuthorizableReferenceType } from '@modules/authorization/domain';\nimport { ShareTokenContextType } from '../domainobject/share-token.do';\n\nexport class ShareTokenContextTypeMapper {\n\tstatic mapToAllowedAuthorizationEntityType(type: ShareTokenContextType): AuthorizableReferenceType {\n\t\tconst types: Map = new Map();\n\t\ttypes.set(ShareTokenContextType.School, AuthorizableReferenceType.School);\n\n\t\tconst res = types.get(type);\n\n\t\tif (!res) {\n\t\t\tthrow new NotImplementedException();\n\t\t}\n\n\t\treturn res;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/ShareTokenController.html":{"url":"controllers/ShareTokenController.html","title":"controller - ShareTokenController","body":"\n \n\n\n\n\n\n\n Controllers\n ShareTokenController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/controller/share-token.controller.ts\n \n\n \n Prefix\n \n \n sharetoken\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createShareToken\n \n \n \n \n \n \n \n \n \n \n Async\n importShareToken\n \n \n \n \n \n \n \n \n Async\n lookupShareToken\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createShareToken\n \n \n \n \n \n \n \n createShareToken(currentUser: ICurrentUser, body: ShareTokenBodyParams)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Create a share token.'})@ApiResponse({status: 201, type: ShareTokenResponse})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 500, type: InternalServerErrorException})@Post()\n \n \n\n \n \n Defined in apps/server/src/modules/sharing/controller/share-token.controller.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n body\n \n ShareTokenBodyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n importShareToken\n \n \n \n \n \n \n \n importShareToken(currentUser: ICurrentUser, urlParams: ShareTokenUrlParams, body: ShareTokenImportBodyParams)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Import a share token payload.'})@ApiResponse({status: 201, type: CopyApiResponse})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@ApiResponse({status: 500, type: InternalServerErrorException})@ApiResponse({status: 501, type: NotImplementedException})@Post(':token/import')@RequestTimeout(undefined.INCOMING_REQUEST_TIMEOUT_COPY_API)\n \n \n\n \n \n Defined in apps/server/src/modules/sharing/controller/share-token.controller.ts:86\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n urlParams\n \n ShareTokenUrlParams\n \n\n \n No\n \n\n\n \n \n body\n \n ShareTokenImportBodyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n lookupShareToken\n \n \n \n \n \n \n \n lookupShareToken(currentUser: ICurrentUser, urlParams: ShareTokenUrlParams)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Look up a share token.'})@ApiResponse({status: 200, type: ShareTokenInfoResponse})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@ApiResponse({status: 500, type: InternalServerErrorException})@Get(':token')\n \n \n\n \n \n Defined in apps/server/src/modules/sharing/controller/share-token.controller.ts:67\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n urlParams\n \n ShareTokenUrlParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { CopyApiResponse, CopyMapper } from '@modules/copy-helper';\nimport {\n\tBody,\n\tController,\n\tForbiddenException,\n\tGet,\n\tInternalServerErrorException,\n\tNotFoundException,\n\tNotImplementedException,\n\tParam,\n\tPost,\n} from '@nestjs/common';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { ApiValidationError, RequestTimeout } from '@shared/common';\n// invalid import can produce dependency cycles\nimport { serverConfig } from '@modules/server/server.config';\nimport { ShareTokenInfoResponseMapper, ShareTokenResponseMapper } from '../mapper';\nimport { ShareTokenUC } from '../uc';\nimport {\n\tShareTokenBodyParams,\n\tShareTokenImportBodyParams,\n\tShareTokenInfoResponse,\n\tShareTokenResponse,\n\tShareTokenUrlParams,\n} from './dto';\n\n@ApiTags('ShareToken')\n@Authenticate('jwt')\n@Controller('sharetoken')\nexport class ShareTokenController {\n\tconstructor(private readonly shareTokenUC: ShareTokenUC) {}\n\n\t@ApiOperation({ summary: 'Create a share token.' })\n\t@ApiResponse({ status: 201, type: ShareTokenResponse })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 500, type: InternalServerErrorException })\n\t@Post()\n\tasync createShareToken(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() body: ShareTokenBodyParams\n\t): Promise {\n\t\tconst shareToken = await this.shareTokenUC.createShareToken(\n\t\t\tcurrentUser.userId,\n\t\t\t{\n\t\t\t\tparentType: body.parentType,\n\t\t\t\tparentId: body.parentId,\n\t\t\t},\n\t\t\t{\n\t\t\t\tschoolExclusive: body.schoolExclusive,\n\t\t\t\texpiresInDays: body.expiresInDays,\n\t\t\t}\n\t\t);\n\n\t\tconst response = ShareTokenResponseMapper.mapToResponse(shareToken);\n\n\t\treturn Promise.resolve(response);\n\t}\n\n\t@ApiOperation({ summary: 'Look up a share token.' })\n\t@ApiResponse({ status: 200, type: ShareTokenInfoResponse })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@ApiResponse({ status: 500, type: InternalServerErrorException })\n\t@Get(':token')\n\tasync lookupShareToken(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() urlParams: ShareTokenUrlParams\n\t): Promise {\n\t\tconst shareTokenInfo = await this.shareTokenUC.lookupShareToken(currentUser.userId, urlParams.token);\n\n\t\tconst response = ShareTokenInfoResponseMapper.mapToResponse(shareTokenInfo);\n\n\t\treturn response;\n\t}\n\n\t@ApiOperation({ summary: 'Import a share token payload.' })\n\t@ApiResponse({ status: 201, type: CopyApiResponse })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@ApiResponse({ status: 500, type: InternalServerErrorException })\n\t@ApiResponse({ status: 501, type: NotImplementedException })\n\t@Post(':token/import')\n\t@RequestTimeout(serverConfig().INCOMING_REQUEST_TIMEOUT_COPY_API)\n\tasync importShareToken(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() urlParams: ShareTokenUrlParams,\n\t\t@Body() body: ShareTokenImportBodyParams\n\t): Promise {\n\t\tconst copyStatus = await this.shareTokenUC.importShareToken(\n\t\t\tcurrentUser.userId,\n\t\t\turlParams.token,\n\t\t\tbody.newName,\n\t\t\tbody.destinationCourseId\n\t\t);\n\n\t\tconst response = CopyMapper.mapToResponse(copyStatus);\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenDO.html":{"url":"classes/ShareTokenDO.html","title":"class - ShareTokenDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenDO\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/domainobject/share-token.do.ts\n \n\n\n\n \n Extends\n \n \n BaseDO\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n context\n \n \n Optional\n expiresAt\n \n \n payload\n \n \n token\n \n \n Optional\n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(domainObject: ShareTokenDO)\n \n \n \n \n Defined in apps/server/src/modules/sharing/domainobject/share-token.do.ts:33\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n \n ShareTokenDO\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n context\n \n \n \n \n \n \n Type : ShareTokenContext\n\n \n \n \n \n Defined in apps/server/src/modules/sharing/domainobject/share-token.do.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n expiresAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/modules/sharing/domainobject/share-token.do.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n payload\n \n \n \n \n \n \n Type : ShareTokenPayload\n\n \n \n \n \n Defined in apps/server/src/modules/sharing/domainobject/share-token.do.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n token\n \n \n \n \n \n \n Type : ShareTokenString\n\n \n \n \n \n Defined in apps/server/src/modules/sharing/domainobject/share-token.do.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from BaseDO\n\n \n \n \n \n Defined in BaseDO:5\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { BaseDO } from '@shared/domain/domainobject';\n\nexport enum ShareTokenParentType {\n\t'Course' = 'courses',\n\t'Task' = 'tasks',\n\t'Lesson' = 'lessons',\n}\n\nexport enum ShareTokenContextType {\n\t'School' = 'schools',\n}\n\nexport type ShareTokenString = string;\n\nexport type ShareTokenPayload = {\n\tparentType: ShareTokenParentType;\n\tparentId: EntityId;\n};\n\nexport type ShareTokenContext = {\n\tcontextType: ShareTokenContextType;\n\tcontextId: EntityId;\n};\n\nexport class ShareTokenDO extends BaseDO {\n\ttoken: ShareTokenString;\n\n\tpayload: ShareTokenPayload;\n\n\tcontext?: ShareTokenContext;\n\n\texpiresAt?: Date;\n\n\tconstructor(domainObject: ShareTokenDO) {\n\t\tsuper(domainObject.id);\n\n\t\tthis.token = domainObject.token;\n\t\tthis.payload = domainObject.payload;\n\t\tthis.context = domainObject.context;\n\t\tthis.expiresAt = domainObject.expiresAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenFactory.html":{"url":"classes/ShareTokenFactory.html","title":"class - ShareTokenFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/share-token.do.factory.ts\n \n\n\n\n \n Extends\n \n \n Factory\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n withId\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withId\n \n \n \n \n \n \nwithId(id?: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/share-token.do.factory.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ShareTokenDO, ShareTokenParentType } from '@modules/sharing/domainobject/share-token.do';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport { Factory } from 'fishery';\n\nclass ShareTokenFactory extends Factory {\n\t/* istanbul ignore next */\n\twithId(id?: EntityId) {\n\t\treturn this.params({ id: new ObjectId(id).toHexString() });\n\t}\n}\n\nexport const shareTokenFactory = ShareTokenFactory.define(({ sequence }) => {\n\treturn {\n\t\ttoken: `share-token-${sequence}`,\n\t\tpayload: {\n\t\t\tparentType: ShareTokenParentType.Course,\n\t\t\tparentId: new ObjectId().toHexString(),\n\t\t},\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenImportBodyParams.html":{"url":"classes/ShareTokenImportBodyParams.html","title":"class - ShareTokenImportBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenImportBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/controller/dto/share-token-import.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n destinationCourseId\n \n \n \n \n \n newName\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n destinationCourseId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()@ApiProperty({description: 'Id of the course to which the lesson/task will be added', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token-import.body.params.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n newName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@SanitizeHtml()@ApiProperty({description: 'the new name of the imported object.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token-import.body.params.ts:13\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\nimport { IsOptional, IsString } from 'class-validator';\n\nexport class ShareTokenImportBodyParams {\n\t@IsString()\n\t@SanitizeHtml()\n\t@ApiProperty({\n\t\tdescription: 'the new name of the imported object.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tnewName!: string;\n\n\t@IsOptional()\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'Id of the course to which the lesson/task will be added',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\tdestinationCourseId?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ShareTokenInfoDto.html":{"url":"interfaces/ShareTokenInfoDto.html","title":"interface - ShareTokenInfoDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ShareTokenInfoDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/uc/dto/share-token-info.dto.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n parentName\n \n \n \n \n parentType\n \n \n \n \n token\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n parentName\n \n \n \n \n \n \n \n \n parentName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n \n \n parentType: ShareTokenParentType\n\n \n \n\n\n \n \n Type : ShareTokenParentType\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n token\n \n \n \n \n \n \n \n \n token: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { ShareTokenParentType } from '../../domainobject/share-token.do';\n\nexport interface ShareTokenInfoDto {\n\ttoken: string;\n\tparentType: ShareTokenParentType;\n\tparentName: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenInfoResponse.html":{"url":"classes/ShareTokenInfoResponse.html","title":"class - ShareTokenInfoResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenInfoResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/controller/dto/share-token-info.reponse.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n parentName\n \n \n \n parentType\n \n \n \n token\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: ShareTokenInfoResponse)\n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token-info.reponse.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n ShareTokenInfoResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n parentName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token-info.reponse.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n Type : ShareTokenParentType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ShareTokenParentType})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token-info.reponse.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n token\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token-info.reponse.ts:13\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\nimport { ShareTokenParentType } from '../../domainobject/share-token.do';\n\nexport class ShareTokenInfoResponse {\n\tconstructor({ token, parentType, parentName }: ShareTokenInfoResponse) {\n\t\tthis.token = token;\n\t\tthis.parentType = parentType;\n\t\tthis.parentName = parentName;\n\t}\n\n\t@ApiProperty()\n\ttoken: string;\n\n\t@ApiProperty({ enum: ShareTokenParentType })\n\tparentType: ShareTokenParentType;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tparentName: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenInfoResponseMapper.html":{"url":"classes/ShareTokenInfoResponseMapper.html","title":"class - ShareTokenInfoResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenInfoResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/mapper/share-token-info-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(shareTokenInfo: ShareTokenInfoDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/mapper/share-token-info-response.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n shareTokenInfo\n \n ShareTokenInfoDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ShareTokenInfoResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ShareTokenInfoResponse } from '../controller/dto';\nimport { ShareTokenInfoDto } from '../uc/dto';\n\nexport class ShareTokenInfoResponseMapper {\n\tstatic mapToResponse(shareTokenInfo: ShareTokenInfoDto): ShareTokenInfoResponse {\n\t\tconst dto = new ShareTokenInfoResponse({\n\t\t\ttoken: shareTokenInfo.token,\n\t\t\tparentType: shareTokenInfo.parentType,\n\t\t\tparentName: shareTokenInfo.parentName,\n\t\t});\n\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenParentTypeMapper.html":{"url":"classes/ShareTokenParentTypeMapper.html","title":"class - ShareTokenParentTypeMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenParentTypeMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/mapper/parent-type.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToAllowedAuthorizationEntityType\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToAllowedAuthorizationEntityType\n \n \n \n \n \n \n \n mapToAllowedAuthorizationEntityType(type: ShareTokenParentType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/mapper/parent-type.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n ShareTokenParentType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AuthorizableReferenceType\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { NotImplementedException } from '@nestjs/common';\nimport { AuthorizableReferenceType } from '@modules/authorization/domain';\nimport { ShareTokenParentType } from '../domainobject/share-token.do';\n\nexport class ShareTokenParentTypeMapper {\n\tstatic mapToAllowedAuthorizationEntityType(type: ShareTokenParentType): AuthorizableReferenceType {\n\t\tconst types: Map = new Map();\n\t\ttypes.set(ShareTokenParentType.Course, AuthorizableReferenceType.Course);\n\t\ttypes.set(ShareTokenParentType.Lesson, AuthorizableReferenceType.Lesson);\n\t\ttypes.set(ShareTokenParentType.Task, AuthorizableReferenceType.Task);\n\n\t\tconst res = types.get(type);\n\n\t\tif (!res) {\n\t\t\tthrow new NotImplementedException();\n\t\t}\n\t\treturn res;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenPayloadResponse.html":{"url":"classes/ShareTokenPayloadResponse.html","title":"class - ShareTokenPayloadResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenPayloadResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/controller/dto/share-token-payload.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n parentId\n \n \n \n parentType\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(payload: ShareTokenPayload)\n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token-payload.response.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n payload\n \n \n ShareTokenPayload\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token-payload.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n Type : ShareTokenParentType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ShareTokenParentType})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token-payload.response.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ShareTokenParentType, ShareTokenPayload } from '../../domainobject/share-token.do';\n\nexport class ShareTokenPayloadResponse {\n\tconstructor(payload: ShareTokenPayload) {\n\t\tthis.parentType = payload.parentType;\n\t\tthis.parentId = payload.parentId;\n\t}\n\n\t@ApiProperty({ enum: ShareTokenParentType })\n\tparentType: ShareTokenParentType;\n\n\t@ApiProperty()\n\tparentId: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ShareTokenProperties.html":{"url":"interfaces/ShareTokenProperties.html","title":"interface - ShareTokenProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ShareTokenProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/entity/share-token.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n contextId\n \n \n \n Optional\n \n contextType\n \n \n \n Optional\n \n expiresAt\n \n \n \n \n parentId\n \n \n \n \n parentType\n \n \n \n \n token\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contextId\n \n \n \n \n \n \n \n \n contextId: EntityId | ObjectId\n\n \n \n\n\n \n \n Type : EntityId | ObjectId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contextType\n \n \n \n \n \n \n \n \n contextType: ShareTokenContextType\n\n \n \n\n\n \n \n Type : ShareTokenContextType\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n expiresAt\n \n \n \n \n \n \n \n \n expiresAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n \n \n parentId: EntityId | ObjectId\n\n \n \n\n\n \n \n Type : EntityId | ObjectId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n \n \n parentType: ShareTokenParentType\n\n \n \n\n\n \n \n Type : ShareTokenParentType\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n token\n \n \n \n \n \n \n \n \n token: ShareTokenString\n\n \n \n\n\n \n \n Type : ShareTokenString\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types/entity-id';\nimport { ShareTokenContextType, ShareTokenParentType, ShareTokenString } from '../domainobject/share-token.do';\n\nexport interface ShareTokenProperties {\n\ttoken: ShareTokenString;\n\tparentType: ShareTokenParentType;\n\tparentId: EntityId | ObjectId;\n\tcontextType?: ShareTokenContextType;\n\tcontextId?: EntityId | ObjectId;\n\texpiresAt?: Date;\n}\n\n@Entity({ tableName: 'sharetokens' })\nexport class ShareToken extends BaseEntityWithTimestamps {\n\t@Property()\n\ttoken: ShareTokenString;\n\n\t@Enum()\n\tparentType: ShareTokenParentType;\n\n\t@Property({ fieldName: 'parent' })\n\t_parentId: ObjectId;\n\n\tget parentId(): EntityId {\n\t\treturn this._parentId.toHexString();\n\t}\n\n\t@Enum({ nullable: true })\n\tcontextType?: ShareTokenContextType;\n\n\t@Property({ fieldName: 'context', nullable: true })\n\t_contextId?: ObjectId;\n\n\tget contextId(): EntityId | undefined {\n\t\treturn this._contextId?.toHexString();\n\t}\n\n\t@Index({ options: { expireAfterSeconds: 0 } })\n\t@Property({ nullable: true })\n\texpiresAt?: Date;\n\n\tconstructor(props: ShareTokenProperties) {\n\t\tsuper();\n\t\tthis.token = props.token;\n\t\tthis.parentType = props.parentType;\n\t\tthis._parentId = new ObjectId(props.parentId);\n\t\tthis.contextType = props.contextType;\n\t\tif (props.contextId !== undefined) {\n\t\t\tthis._contextId = new ObjectId(props.contextId);\n\t\t}\n\t\tthis.expiresAt = props.expiresAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ShareTokenRepo.html":{"url":"injectables/ShareTokenRepo.html","title":"injectable - ShareTokenRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ShareTokenRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/repo/share-token.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseDORepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n entityFactory\n \n \n Async\n findOneByToken\n \n \n Protected\n mapDOToEntityProperties\n \n \n Protected\n mapEntityToDO\n \n \n Private\n createEntity\n \n \n Protected\n createNewEntityFromDO\n \n \n Async\n delete\n \n \n Async\n deleteById\n \n \n Private\n deleteEntityById\n \n \n Async\n findById\n \n \n Private\n removeProtectedEntityFields\n \n \n Async\n save\n \n \n Async\n saveAll\n \n \n Private\n Async\n updateEntity\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n entityFactory\n \n \n \n \n \n \nentityFactory(props: ShareTokenProperties)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:13\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n ShareTokenProperties\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ShareToken\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findOneByToken\n \n \n \n \n \n \n \n findOneByToken(token: ShareTokenString)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/repo/share-token.repo.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n token\n \n ShareTokenString\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n mapDOToEntityProperties\n \n \n \n \n \n \n \n mapDOToEntityProperties(domainObject: ShareTokenDO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:46\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n ShareTokenDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ShareTokenProperties\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n mapEntityToDO\n \n \n \n \n \n \n \n mapEntityToDO(entity: ShareToken)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:25\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n ShareToken\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ShareTokenDO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createEntity\n \n \n \n \n \n \n \n createEntity(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:44\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : E\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n createNewEntityFromDO\n \n \n \n \n \n \n \n createNewEntityFromDO(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:65\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : E\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(domainObjects: DO[] | DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:87\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[] | DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteById\n \n \n \n \n \n \n [object Object],[object Object],[object Object]\n \n \n \n \n \n deleteById(id: EntityId | EntityId[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:100\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n deleteEntityById\n \n \n \n \n \n \n \n deleteEntityById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:113\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:118\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeProtectedEntityFields\n \n \n \n \n \n \n \n removeProtectedEntityFields(entity: E)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:79\n\n \n \n\n\n \n \n Ignore base entity properties when updating entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n E\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entityDo: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:21\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDo\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAll\n \n \n \n \n \n \n \n saveAll(entityDos: DO[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDos\n \n DO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n updateEntity\n \n \n \n \n \n \n \n updateEntity(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:52\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/sharing/repo/share-token.repo.ts:9\n \n \n\n \n \n\n \n\n\n \n import { EntityName } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\nimport { BaseDORepo } from '@shared/repo/base.do.repo';\nimport { ShareTokenContext, ShareTokenDO, ShareTokenPayload, ShareTokenString } from '../domainobject/share-token.do';\nimport { ShareToken, ShareTokenProperties } from '../entity/share-token.entity';\n\n@Injectable()\nexport class ShareTokenRepo extends BaseDORepo {\n\tget entityName(): EntityName {\n\t\treturn ShareToken;\n\t}\n\n\tentityFactory(props: ShareTokenProperties): ShareToken {\n\t\treturn new ShareToken(props);\n\t}\n\n\tasync findOneByToken(token: ShareTokenString): Promise {\n\t\tconst entity = await this._em.findOneOrFail(ShareToken, { token });\n\n\t\tconst shareToken = this.mapEntityToDO(entity);\n\n\t\treturn shareToken;\n\t}\n\n\tprotected mapEntityToDO(entity: ShareToken): ShareTokenDO {\n\t\tconst payload: ShareTokenPayload = {\n\t\t\tparentType: entity.parentType,\n\t\t\tparentId: entity.parentId,\n\t\t};\n\n\t\tconst context: ShareTokenContext | undefined =\n\t\t\tentity.contextType && entity.contextId\n\t\t\t\t? { contextType: entity.contextType, contextId: entity.contextId }\n\t\t\t\t: undefined;\n\n\t\tconst domainObject = new ShareTokenDO({\n\t\t\ttoken: entity.token,\n\t\t\tpayload,\n\t\t\tcontext,\n\t\t\texpiresAt: entity.expiresAt,\n\t\t});\n\n\t\treturn domainObject;\n\t}\n\n\tprotected mapDOToEntityProperties(domainObject: ShareTokenDO): ShareTokenProperties {\n\t\tconst properties: ShareTokenProperties = {\n\t\t\ttoken: domainObject.token,\n\t\t\tparentType: domainObject.payload.parentType,\n\t\t\tparentId: domainObject.payload.parentId,\n\t\t\tcontextType: domainObject.context?.contextType,\n\t\t\tcontextId: domainObject.context?.contextId,\n\t\t\texpiresAt: domainObject.expiresAt,\n\t\t};\n\n\t\treturn properties;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenResponse.html":{"url":"classes/ShareTokenResponse.html","title":"class - ShareTokenResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/controller/dto/share-token.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n expiresAt\n \n \n \n payload\n \n \n \n token\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: ShareTokenResponse)\n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token.response.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n ShareTokenResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n expiresAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token.response.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n payload\n \n \n \n \n \n \n Type : ShareTokenPayloadResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token.response.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n token\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token.response.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { ShareTokenPayloadResponse } from './share-token-payload.response';\n\nexport class ShareTokenResponse {\n\tconstructor({ token, payload, expiresAt }: ShareTokenResponse) {\n\t\tthis.token = token;\n\t\tthis.payload = new ShareTokenPayloadResponse(payload);\n\t\tthis.expiresAt = expiresAt;\n\t}\n\n\t@ApiProperty()\n\ttoken: string;\n\n\t@ApiProperty()\n\tpayload: ShareTokenPayloadResponse;\n\n\t@ApiPropertyOptional()\n\texpiresAt?: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenResponseMapper.html":{"url":"classes/ShareTokenResponseMapper.html","title":"class - ShareTokenResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/mapper/share-token-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(shareToken: ShareTokenDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/mapper/share-token-response.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n shareToken\n \n ShareTokenDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ShareTokenResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ShareTokenDO } from '../domainobject/share-token.do';\nimport { ShareTokenResponse } from '../controller/dto';\n\nexport class ShareTokenResponseMapper {\n\tstatic mapToResponse(shareToken: ShareTokenDO): ShareTokenResponse {\n\t\tconst dto = new ShareTokenResponse({\n\t\t\ttoken: shareToken.token,\n\t\t\tpayload: shareToken.payload,\n\t\t\texpiresAt: shareToken.expiresAt,\n\t\t});\n\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ShareTokenService.html":{"url":"injectables/ShareTokenService.html","title":"injectable - ShareTokenService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ShareTokenService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/service/share-token.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkExpired\n \n \n Async\n createToken\n \n \n Async\n lookupToken\n \n \n Async\n lookupTokenWithParentName\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(tokenGenerator: TokenGenerator, shareTokenRepo: ShareTokenRepo, courseService: CourseService, lessonService: LessonService, taskService: TaskService)\n \n \n \n \n Defined in apps/server/src/modules/sharing/service/share-token.service.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n tokenGenerator\n \n \n TokenGenerator\n \n \n \n No\n \n \n \n \n shareTokenRepo\n \n \n ShareTokenRepo\n \n \n \n No\n \n \n \n \n courseService\n \n \n CourseService\n \n \n \n No\n \n \n \n \n lessonService\n \n \n LessonService\n \n \n \n No\n \n \n \n \n taskService\n \n \n TaskService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkExpired\n \n \n \n \n \n \n \n checkExpired(shareToken: ShareTokenDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/service/share-token.service.ts:70\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n shareToken\n \n ShareTokenDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createToken\n \n \n \n \n \n \n \n createToken(payload: ShareTokenPayload, options?: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/service/share-token.service.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n payload\n \n ShareTokenPayload\n \n\n \n No\n \n\n\n \n \n options\n \n literal type\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n lookupToken\n \n \n \n \n \n \n \n lookupToken(token: ShareTokenString)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/service/share-token.service.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n token\n \n ShareTokenString\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n lookupTokenWithParentName\n \n \n \n \n \n \n \n lookupTokenWithParentName(token: ShareTokenString)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/service/share-token.service.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n token\n \n ShareTokenString\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { CourseService } from '@modules/learnroom/service';\nimport { LessonService } from '@modules/lesson/service';\nimport { TaskService } from '@modules/task/service';\nimport {\n\tShareTokenContext,\n\tShareTokenDO,\n\tShareTokenParentType,\n\tShareTokenPayload,\n\tShareTokenString,\n} from '../domainobject/share-token.do';\nimport { ShareTokenRepo } from '../repo/share-token.repo';\nimport { TokenGenerator } from './token-generator.service';\n\n@Injectable()\nexport class ShareTokenService {\n\tconstructor(\n\t\tprivate readonly tokenGenerator: TokenGenerator,\n\t\tprivate readonly shareTokenRepo: ShareTokenRepo,\n\t\tprivate readonly courseService: CourseService,\n\t\tprivate readonly lessonService: LessonService,\n\t\tprivate readonly taskService: TaskService\n\t) {}\n\n\tasync createToken(\n\t\tpayload: ShareTokenPayload,\n\t\toptions?: { context?: ShareTokenContext; expiresAt?: Date }\n\t): Promise {\n\t\tconst token = this.tokenGenerator.generateShareToken();\n\t\tconst shareToken = new ShareTokenDO({\n\t\t\ttoken,\n\t\t\tpayload,\n\t\t\tcontext: options?.context,\n\t\t\texpiresAt: options?.expiresAt,\n\t\t});\n\n\t\tawait this.shareTokenRepo.save(shareToken);\n\n\t\treturn shareToken;\n\t}\n\n\tasync lookupToken(token: ShareTokenString): Promise {\n\t\tconst shareToken = await this.shareTokenRepo.findOneByToken(token);\n\n\t\tthis.checkExpired(shareToken);\n\n\t\treturn shareToken;\n\t}\n\n\tasync lookupTokenWithParentName(token: ShareTokenString): Promise {\n\t\tconst shareToken = await this.lookupToken(token);\n\n\t\tlet parentName = '';\n\t\tswitch (shareToken.payload.parentType) {\n\t\t\tcase ShareTokenParentType.Course:\n\t\t\t\tparentName = (await this.courseService.findById(shareToken.payload.parentId)).name;\n\t\t\t\tbreak;\n\t\t\tcase ShareTokenParentType.Lesson:\n\t\t\t\tparentName = (await this.lessonService.findById(shareToken.payload.parentId)).name;\n\t\t\t\tbreak;\n\t\t\tcase ShareTokenParentType.Task:\n\t\t\t\tparentName = (await this.taskService.findById(shareToken.payload.parentId)).name;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t}\n\n\t\treturn { shareToken, parentName };\n\t}\n\n\tprivate checkExpired(shareToken: ShareTokenDO) {\n\t\tif (shareToken.expiresAt != null && shareToken.expiresAt \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ShareTokenUC.html":{"url":"injectables/ShareTokenUC.html","title":"injectable - ShareTokenUC","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ShareTokenUC\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/uc/share-token.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n checkContextReadPermission\n \n \n Private\n Async\n checkCreatePermission\n \n \n Private\n checkFeatureEnabled\n \n \n Private\n Async\n checkParentWritePermission\n \n \n Private\n Async\n copyCourse\n \n \n Private\n Async\n copyLesson\n \n \n Private\n Async\n copyTask\n \n \n Async\n createShareToken\n \n \n Async\n importShareToken\n \n \n Async\n lookupShareToken\n \n \n Private\n nowPlusDays\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(shareTokenService: ShareTokenService, authorizationService: AuthorizationService, authorizationReferenceService: AuthorizationReferenceService, courseCopyService: CourseCopyService, lessonCopyService: LessonCopyService, courseService: CourseService, taskCopyService: TaskCopyService, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:25\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n shareTokenService\n \n \n ShareTokenService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n authorizationReferenceService\n \n \n AuthorizationReferenceService\n \n \n \n No\n \n \n \n \n courseCopyService\n \n \n CourseCopyService\n \n \n \n No\n \n \n \n \n lessonCopyService\n \n \n LessonCopyService\n \n \n \n No\n \n \n \n \n courseService\n \n \n CourseService\n \n \n \n No\n \n \n \n \n taskCopyService\n \n \n TaskCopyService\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n checkContextReadPermission\n \n \n \n \n \n \n \n checkContextReadPermission(userId: EntityId, context: ShareTokenContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:193\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n context\n \n ShareTokenContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n checkCreatePermission\n \n \n \n \n \n \n \n checkCreatePermission(userId: EntityId, parentType: ShareTokenParentType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:205\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n parentType\n \n ShareTokenParentType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n checkFeatureEnabled\n \n \n \n \n \n \n \n checkFeatureEnabled(parentType: ShareTokenParentType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:232\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n parentType\n \n ShareTokenParentType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n checkParentWritePermission\n \n \n \n \n \n \n \n checkParentWritePermission(userId: EntityId, payload: ShareTokenPayload)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:167\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n payload\n \n ShareTokenPayload\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n copyCourse\n \n \n \n \n \n \n \n copyCourse(userId: EntityId, courseId: string, newName: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:132\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n courseId\n \n string\n \n\n \n No\n \n\n\n \n \n newName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n copyLesson\n \n \n \n \n \n \n \n copyLesson(userId: string, lessonId: string, courseId: string, copyName?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:140\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n lessonId\n \n string\n \n\n \n No\n \n\n\n \n \n courseId\n \n string\n \n\n \n No\n \n\n\n \n \n copyName\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n copyTask\n \n \n \n \n \n \n \n copyTask(userId: string, originalTaskId: string, courseId: string, copyName?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:151\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n originalTaskId\n \n string\n \n\n \n No\n \n\n\n \n \n courseId\n \n string\n \n\n \n No\n \n\n\n \n \n copyName\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createShareToken\n \n \n \n \n \n \n \n createShareToken(userId: EntityId, payload: ShareTokenPayload, options?: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n payload\n \n ShareTokenPayload\n \n\n \n No\n \n\n\n \n \n options\n \n literal type\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n importShareToken\n \n \n \n \n \n \n \n importShareToken(userId: EntityId, token: string, newName: string, destinationCourseId?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:90\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n token\n \n string\n \n\n \n No\n \n\n\n \n \n newName\n \n string\n \n\n \n No\n \n\n\n \n \n destinationCourseId\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n lookupShareToken\n \n \n \n \n \n \n \n lookupShareToken(userId: EntityId, token: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:68\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n token\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n nowPlusDays\n \n \n \n \n \n \n \n nowPlusDays(days: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:226\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n days\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { AuthorizationReferenceService } from '@modules/authorization/domain';\nimport { CopyStatus } from '@modules/copy-helper';\nimport { CourseCopyService } from '@modules/learnroom';\nimport { CourseService } from '@modules/learnroom/service';\nimport { LessonCopyService } from '@modules/lesson/service';\nimport { TaskCopyService } from '@modules/task/service';\nimport { BadRequestException, Injectable, InternalServerErrorException, NotImplementedException } from '@nestjs/common';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacyLogger } from '@src/core/logger';\nimport {\n\tShareTokenContext,\n\tShareTokenContextType,\n\tShareTokenDO,\n\tShareTokenParentType,\n\tShareTokenPayload,\n} from '../domainobject/share-token.do';\nimport { ShareTokenContextTypeMapper, ShareTokenParentTypeMapper } from '../mapper';\nimport { ShareTokenService } from '../service';\nimport { ShareTokenInfoDto } from './dto';\n\n@Injectable()\nexport class ShareTokenUC {\n\tconstructor(\n\t\tprivate readonly shareTokenService: ShareTokenService,\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly authorizationReferenceService: AuthorizationReferenceService,\n\t\tprivate readonly courseCopyService: CourseCopyService,\n\t\tprivate readonly lessonCopyService: LessonCopyService,\n\t\tprivate readonly courseService: CourseService,\n\t\tprivate readonly taskCopyService: TaskCopyService,\n\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(ShareTokenUC.name);\n\t}\n\n\tasync createShareToken(\n\t\tuserId: EntityId,\n\t\tpayload: ShareTokenPayload,\n\t\toptions?: { schoolExclusive?: boolean; expiresInDays?: number }\n\t): Promise {\n\t\tthis.checkFeatureEnabled(payload.parentType);\n\n\t\tthis.logger.debug({ action: 'createShareToken', userId, payload, options });\n\n\t\tawait this.checkParentWritePermission(userId, payload);\n\n\t\tconst serviceOptions: { context?: ShareTokenContext; expiresAt?: Date } = {};\n\t\tif (options?.schoolExclusive) {\n\t\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\t\t\tserviceOptions.context = {\n\t\t\t\tcontextType: ShareTokenContextType.School,\n\t\t\t\tcontextId: user.school.id,\n\t\t\t};\n\t\t\tawait this.checkContextReadPermission(userId, serviceOptions.context);\n\t\t}\n\t\tif (options?.expiresInDays) {\n\t\t\tserviceOptions.expiresAt = this.nowPlusDays(options.expiresInDays);\n\t\t}\n\n\t\tconst shareToken = await this.shareTokenService.createToken(payload, serviceOptions);\n\t\treturn shareToken;\n\t}\n\n\tasync lookupShareToken(userId: EntityId, token: string): Promise {\n\t\tthis.logger.debug({ action: 'lookupShareToken', userId, token });\n\n\t\tconst { shareToken, parentName } = await this.shareTokenService.lookupTokenWithParentName(token);\n\n\t\tthis.checkFeatureEnabled(shareToken.payload.parentType);\n\n\t\tawait this.checkCreatePermission(userId, shareToken.payload.parentType);\n\n\t\tif (shareToken.context) {\n\t\t\tawait this.checkContextReadPermission(userId, shareToken.context);\n\t\t}\n\n\t\tconst shareTokenInfo: ShareTokenInfoDto = {\n\t\t\ttoken,\n\t\t\tparentType: shareToken.payload.parentType,\n\t\t\tparentName,\n\t\t};\n\n\t\treturn shareTokenInfo;\n\t}\n\n\tasync importShareToken(\n\t\tuserId: EntityId,\n\t\ttoken: string,\n\t\tnewName: string,\n\t\tdestinationCourseId?: string\n\t): Promise {\n\t\tthis.logger.debug({ action: 'importShareToken', userId, token, newName });\n\n\t\tconst shareToken = await this.shareTokenService.lookupToken(token);\n\n\t\tthis.checkFeatureEnabled(shareToken.payload.parentType);\n\n\t\tif (shareToken.context) {\n\t\t\tawait this.checkContextReadPermission(userId, shareToken.context);\n\t\t}\n\n\t\tawait this.checkCreatePermission(userId, shareToken.payload.parentType);\n\n\t\tlet result: CopyStatus;\n\t\tswitch (shareToken.payload.parentType) {\n\t\t\tcase ShareTokenParentType.Course:\n\t\t\t\tresult = await this.copyCourse(userId, shareToken.payload.parentId, newName);\n\t\t\t\tbreak;\n\t\t\tcase ShareTokenParentType.Lesson:\n\t\t\t\tif (destinationCourseId === undefined) {\n\t\t\t\t\tthrow new BadRequestException('Destination course id is required to copy lesson');\n\t\t\t\t}\n\t\t\t\tresult = await this.copyLesson(userId, shareToken.payload.parentId, destinationCourseId, newName);\n\t\t\t\tbreak;\n\t\t\tcase ShareTokenParentType.Task:\n\t\t\t\tif (destinationCourseId === undefined) {\n\t\t\t\t\tthrow new BadRequestException('Destination course id is required to copy task');\n\t\t\t\t}\n\t\t\t\tresult = await this.copyTask(userId, shareToken.payload.parentId, destinationCourseId, newName);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new NotImplementedException('Copy not implemented');\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tprivate async copyCourse(userId: EntityId, courseId: string, newName: string): Promise {\n\t\treturn this.courseCopyService.copyCourse({\n\t\t\tuserId,\n\t\t\tcourseId,\n\t\t\tnewName,\n\t\t});\n\t}\n\n\tprivate async copyLesson(userId: string, lessonId: string, courseId: string, copyName?: string): Promise {\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\t\tconst destinationCourse = await this.courseService.findById(courseId);\n\t\treturn this.lessonCopyService.copyLesson({\n\t\t\tuser,\n\t\t\toriginalLessonId: lessonId,\n\t\t\tdestinationCourse,\n\t\t\tcopyName,\n\t\t});\n\t}\n\n\tprivate async copyTask(\n\t\tuserId: string,\n\t\toriginalTaskId: string,\n\t\tcourseId: string,\n\t\tcopyName?: string\n\t): Promise {\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\t\tconst destinationCourse = await this.courseService.findById(courseId);\n\t\treturn this.taskCopyService.copyTask({\n\t\t\tuser,\n\t\t\toriginalTaskId,\n\t\t\tdestinationCourse,\n\t\t\tcopyName,\n\t\t});\n\t}\n\n\tprivate async checkParentWritePermission(userId: EntityId, payload: ShareTokenPayload) {\n\t\tconst allowedParentType = ShareTokenParentTypeMapper.mapToAllowedAuthorizationEntityType(payload.parentType);\n\n\t\tlet requiredPermissions: Permission[] = [];\n\t\t// eslint-disable-next-line default-case\n\t\tswitch (payload.parentType) {\n\t\t\tcase ShareTokenParentType.Course:\n\t\t\t\trequiredPermissions = [Permission.COURSE_CREATE];\n\t\t\t\tbreak;\n\t\t\tcase ShareTokenParentType.Lesson:\n\t\t\t\trequiredPermissions = [Permission.TOPIC_CREATE];\n\t\t\t\tbreak;\n\t\t\tcase ShareTokenParentType.Task:\n\t\t\t\trequiredPermissions = [Permission.HOMEWORK_CREATE];\n\t\t}\n\n\t\tconst authorizationContext = AuthorizationContextBuilder.write(requiredPermissions);\n\n\t\tawait this.authorizationReferenceService.checkPermissionByReferences(\n\t\t\tuserId,\n\t\t\tallowedParentType,\n\t\t\tpayload.parentId,\n\t\t\tauthorizationContext\n\t\t);\n\t}\n\n\tprivate async checkContextReadPermission(userId: EntityId, context: ShareTokenContext) {\n\t\tconst allowedContextType = ShareTokenContextTypeMapper.mapToAllowedAuthorizationEntityType(context.contextType);\n\t\tconst authorizationContext = AuthorizationContextBuilder.read([]);\n\n\t\tawait this.authorizationReferenceService.checkPermissionByReferences(\n\t\t\tuserId,\n\t\t\tallowedContextType,\n\t\t\tcontext.contextId,\n\t\t\tauthorizationContext\n\t\t);\n\t}\n\n\tprivate async checkCreatePermission(userId: EntityId, parentType: ShareTokenParentType) {\n\t\t// checks if parent type is supported\n\t\tShareTokenParentTypeMapper.mapToAllowedAuthorizationEntityType(parentType);\n\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\n\t\tlet requiredPermissions: Permission[] = [];\n\t\t// eslint-disable-next-line default-case\n\t\tswitch (parentType) {\n\t\t\tcase ShareTokenParentType.Course:\n\t\t\t\trequiredPermissions = [Permission.COURSE_CREATE];\n\t\t\t\tbreak;\n\t\t\tcase ShareTokenParentType.Lesson:\n\t\t\t\trequiredPermissions = [Permission.TOPIC_CREATE];\n\t\t\t\tbreak;\n\t\t\tcase ShareTokenParentType.Task:\n\t\t\t\trequiredPermissions = [Permission.HOMEWORK_CREATE];\n\t\t}\n\t\tthis.authorizationService.checkAllPermissions(user, requiredPermissions);\n\t}\n\n\tprivate nowPlusDays(days: number) {\n\t\tconst date = new Date();\n\t\tdate.setDate(date.getDate() + days);\n\t\treturn date;\n\t}\n\n\tprivate checkFeatureEnabled(parentType: ShareTokenParentType) {\n\t\tswitch (parentType) {\n\t\t\tcase ShareTokenParentType.Course:\n\t\t\t\t// Configuration.get is the deprecated way to read envirment variables\n\t\t\t\tif (!(Configuration.get('FEATURE_COURSE_SHARE_NEW') as boolean)) {\n\t\t\t\t\tthrow new InternalServerErrorException('Import Course Feature not enabled');\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase ShareTokenParentType.Lesson:\n\t\t\t\t// Configuration.get is the deprecated way to read envirment variables\n\t\t\t\tif (!(Configuration.get('FEATURE_LESSON_SHARE') as boolean)) {\n\t\t\t\t\tthrow new InternalServerErrorException('Import Lesson Feature not enabled');\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase ShareTokenParentType.Task:\n\t\t\t\t// Configuration.get is the deprecated way to read envirment variables\n\t\t\t\tif (!(Configuration.get('FEATURE_TASK_SHARE') as boolean)) {\n\t\t\t\t\tthrow new InternalServerErrorException('Import Task Feature not enabled');\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new NotImplementedException('Import Feature not implemented');\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenUrlParams.html":{"url":"classes/ShareTokenUrlParams.html","title":"class - ShareTokenUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/controller/dto/share-token.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n token\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n token\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({description: 'The token that identifies the shared object', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsString } from 'class-validator';\n\nexport class ShareTokenUrlParams {\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'The token that identifies the shared object',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\ttoken!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/SharingApiModule.html":{"url":"modules/SharingApiModule.html","title":"module - SharingApiModule","body":"\n \n\n\n\n\n Modules\n SharingApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_SharingApiModule\n\n\n\ncluster_SharingApiModule_imports\n\n\n\ncluster_SharingApiModule_providers\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nSharingApiModule\n\nSharingApiModule\n\nSharingApiModule -->\n\nAuthorizationModule->SharingApiModule\n\n\n\n\n\nAuthorizationReferenceModule\n\nAuthorizationReferenceModule\n\nSharingApiModule -->\n\nAuthorizationReferenceModule->SharingApiModule\n\n\n\n\n\nLearnroomModule\n\nLearnroomModule\n\nSharingApiModule -->\n\nLearnroomModule->SharingApiModule\n\n\n\n\n\nLessonModule\n\nLessonModule\n\nSharingApiModule -->\n\nLessonModule->SharingApiModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nSharingApiModule -->\n\nLoggerModule->SharingApiModule\n\n\n\n\n\nSharingModule\n\nSharingModule\n\nSharingApiModule -->\n\nSharingModule->SharingApiModule\n\n\n\n\n\nTaskModule\n\nTaskModule\n\nSharingApiModule -->\n\nTaskModule->SharingApiModule\n\n\n\n\n\nShareTokenUC\n\nShareTokenUC\n\nSharingApiModule -->\n\nShareTokenUC->SharingApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/sharing/sharing.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ShareTokenUC\n \n \n \n \n Controllers\n \n \n ShareTokenController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n AuthorizationReferenceModule\n \n \n LearnroomModule\n \n \n LessonModule\n \n \n LoggerModule\n \n \n SharingModule\n \n \n TaskModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { AuthorizationReferenceModule } from '@modules/authorization/authorization-reference.module';\nimport { ShareTokenController } from './controller/share-token.controller';\nimport { ShareTokenUC } from './uc';\nimport { ShareTokenService, TokenGenerator } from './service';\nimport { ShareTokenRepo } from './repo/share-token.repo';\nimport { LessonModule } from '../lesson';\nimport { LearnroomModule } from '../learnroom';\nimport { TaskModule } from '../task';\n\n@Module({\n\timports: [AuthorizationModule, AuthorizationReferenceModule, LoggerModule, LearnroomModule, LessonModule, TaskModule],\n\tcontrollers: [],\n\tproviders: [ShareTokenService, TokenGenerator, ShareTokenRepo],\n\texports: [ShareTokenService],\n})\nexport class SharingModule {}\n\n@Module({\n\timports: [\n\t\tSharingModule,\n\t\tAuthorizationModule,\n\t\tAuthorizationReferenceModule,\n\t\tLearnroomModule,\n\t\tLessonModule,\n\t\tTaskModule,\n\t\tLoggerModule,\n\t],\n\tcontrollers: [ShareTokenController],\n\tproviders: [ShareTokenUC],\n})\nexport class SharingApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/SharingModule.html":{"url":"modules/SharingModule.html","title":"module - SharingModule","body":"\n \n\n\n\n\n Modules\n SharingModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_SharingModule\n\n\n\ncluster_SharingModule_exports\n\n\n\ncluster_SharingModule_imports\n\n\n\ncluster_SharingModule_providers\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nSharingModule\n\nSharingModule\n\nSharingModule -->\n\nAuthorizationModule->SharingModule\n\n\n\n\n\nAuthorizationReferenceModule\n\nAuthorizationReferenceModule\n\nSharingModule -->\n\nAuthorizationReferenceModule->SharingModule\n\n\n\n\n\nLearnroomModule\n\nLearnroomModule\n\nSharingModule -->\n\nLearnroomModule->SharingModule\n\n\n\n\n\nLessonModule\n\nLessonModule\n\nSharingModule -->\n\nLessonModule->SharingModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nSharingModule -->\n\nLoggerModule->SharingModule\n\n\n\n\n\nTaskModule\n\nTaskModule\n\nSharingModule -->\n\nTaskModule->SharingModule\n\n\n\n\n\nShareTokenService \n\nShareTokenService \n\nShareTokenService -->\n\nSharingModule->ShareTokenService \n\n\n\n\n\nShareTokenRepo\n\nShareTokenRepo\n\nSharingModule -->\n\nShareTokenRepo->SharingModule\n\n\n\n\n\nShareTokenService\n\nShareTokenService\n\nSharingModule -->\n\nShareTokenService->SharingModule\n\n\n\n\n\nTokenGenerator\n\nTokenGenerator\n\nSharingModule -->\n\nTokenGenerator->SharingModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/sharing/sharing.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ShareTokenRepo\n \n \n ShareTokenService\n \n \n TokenGenerator\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n AuthorizationReferenceModule\n \n \n LearnroomModule\n \n \n LessonModule\n \n \n LoggerModule\n \n \n TaskModule\n \n \n \n \n Exports\n \n \n ShareTokenService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { AuthorizationReferenceModule } from '@modules/authorization/authorization-reference.module';\nimport { ShareTokenController } from './controller/share-token.controller';\nimport { ShareTokenUC } from './uc';\nimport { ShareTokenService, TokenGenerator } from './service';\nimport { ShareTokenRepo } from './repo/share-token.repo';\nimport { LessonModule } from '../lesson';\nimport { LearnroomModule } from '../learnroom';\nimport { TaskModule } from '../task';\n\n@Module({\n\timports: [AuthorizationModule, AuthorizationReferenceModule, LoggerModule, LearnroomModule, LessonModule, TaskModule],\n\tcontrollers: [],\n\tproviders: [ShareTokenService, TokenGenerator, ShareTokenRepo],\n\texports: [ShareTokenService],\n})\nexport class SharingModule {}\n\n@Module({\n\timports: [\n\t\tSharingModule,\n\t\tAuthorizationModule,\n\t\tAuthorizationReferenceModule,\n\t\tLearnroomModule,\n\t\tLessonModule,\n\t\tTaskModule,\n\t\tLoggerModule,\n\t],\n\tcontrollers: [ShareTokenController],\n\tproviders: [ShareTokenUC],\n})\nexport class SharingApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SingleColumnBoardResponse.html":{"url":"classes/SingleColumnBoardResponse.html","title":"class - SingleColumnBoardResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SingleColumnBoardResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/single-column-board/board.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n displayColor\n \n \n \n elements\n \n \n \n isArchived\n \n \n \n roomId\n \n \n \n \n title\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: SingleColumnBoardResponse)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n SingleColumnBoardResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n displayColor\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Color of the Board'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board.response.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n elements\n \n \n \n \n \n \n Type : BoardElementResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined, description: 'Array of board specific tasks or lessons with matching type property'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board.response.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n isArchived\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Boolean if the room this board belongs to is archived'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board.response.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n \n roomId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The id of the room this board belongs to', pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @DecodeHtmlEntities()@ApiProperty({description: 'Title of the Board'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board.response.ts:25\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\nimport { BoardElementResponse } from './board-element.response';\n\n// TODO: this and DashboardResponse should be combined\nexport class SingleColumnBoardResponse {\n\tconstructor({ roomId, title, displayColor, elements, isArchived }: SingleColumnBoardResponse) {\n\t\tthis.roomId = roomId;\n\t\tthis.title = title;\n\t\tthis.displayColor = displayColor;\n\t\tthis.elements = elements;\n\t\tthis.isArchived = isArchived;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the room this board belongs to',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\troomId: string;\n\n\t@DecodeHtmlEntities()\n\t@ApiProperty({\n\t\tdescription: 'Title of the Board',\n\t})\n\ttitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Color of the Board',\n\t})\n\tdisplayColor: string;\n\n\t@ApiProperty({\n\t\ttype: [BoardElementResponse],\n\t\tdescription: 'Array of board specific tasks or lessons with matching type property',\n\t})\n\telements: BoardElementResponse[];\n\n\t@ApiProperty({\n\t\tdescription: 'Boolean if the room this board belongs to is archived',\n\t})\n\tisArchived: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SingleFileParams.html":{"url":"classes/SingleFileParams.html","title":"class - SingleFileParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SingleFileParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n fileRecordId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n fileRecordId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:72\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanResult } from '@infra/antivirus';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { Allow, IsBoolean, IsEnum, IsMongoId, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { FileRecordParentType } from '../../entity';\nimport { PreviewOutputMimeTypes, PreviewWidth } from '../../interface';\n\nexport class FileRecordParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\t@IsEnum(FileRecordParentType)\n\tparentType!: FileRecordParentType;\n}\n\nexport class FileUrlParams {\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\turl!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@Allow()\n\theaders?: Record;\n}\n\nexport class FileParams {\n\t@ApiProperty({ type: 'string', format: 'binary' })\n\t@Allow()\n\tfile!: string;\n}\n\nexport class DownloadFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileName!: string;\n}\n\nexport class ScanResultParams implements ScanResult {\n\t@ApiProperty()\n\t@Allow()\n\tvirus_detected?: boolean;\n\n\t@ApiProperty()\n\t@Allow()\n\tvirus_signature?: string;\n\n\t@ApiProperty()\n\t@Allow()\n\terror?: string;\n}\n\nexport class SingleFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n}\n\nexport class RenameFileParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n}\n\nexport class CopyFilesOfParentParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class CopyFileParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileNamePrefix!: string;\n}\n\nexport class CopyFilesOfParentPayload {\n\t@IsMongoId()\n\tuserId!: EntityId;\n\n\t@ValidateNested()\n\tsource!: FileRecordParams;\n\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class PreviewParams {\n\t@ApiPropertyOptional({ enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes' })\n\t@IsOptional()\n\t@IsEnum(PreviewOutputMimeTypes)\n\toutputFormat?: PreviewOutputMimeTypes;\n\n\t@ApiPropertyOptional({ enum: PreviewWidth, enumName: 'PreviewWidth' })\n\t@IsOptional()\n\t@IsEnum(PreviewWidth)\n\twidth?: PreviewWidth;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'If true, the preview will be generated again.',\n\t})\n\tforceUpdate?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SortExternalToolParams.html":{"url":"classes/SortExternalToolParams.html","title":"class - SortExternalToolParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SortExternalToolParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-sort.params.ts\n \n\n\n\n \n Extends\n \n \n SortingParams\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n sortBy\n \n \n \n \n \n sortOrder\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n sortBy\n \n \n \n \n \n \n Type : ExternalToolSortBy\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsEnum(ExternalToolSortBy)@ApiPropertyOptional({enum: ExternalToolSortBy})\n \n \n \n \n \n Inherited from SortingParams\n\n \n \n \n \n Defined in SortingParams:14\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n sortOrder\n \n \n \n \n \n \n Type : SortOrder\n\n \n \n \n \n Default value : SortOrder.asc\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsEnum(SortOrder)@ApiPropertyOptional({enum: SortOrder})\n \n \n \n \n \n Inherited from SortingParams\n\n \n \n \n \n Defined in SortingParams:18\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { SortingParams } from '@shared/controller';\nimport { IsEnum, IsOptional } from 'class-validator';\nimport { ApiPropertyOptional } from '@nestjs/swagger';\n\nexport enum ExternalToolSortBy {\n\tID = 'id',\n\tNAME = 'name',\n}\n\nexport class SortExternalToolParams extends SortingParams {\n\t@IsOptional()\n\t@IsEnum(ExternalToolSortBy)\n\t@ApiPropertyOptional({ enum: ExternalToolSortBy })\n\tsortBy?: ExternalToolSortBy;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SortHelper.html":{"url":"classes/SortHelper.html","title":"class - SortHelper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SortHelper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/util/sort-helper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n genericSortFunction\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n genericSortFunction\n \n \n \n \n \n \n \n genericSortFunction(a: T, b: T, sortOrder: SortOrder)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/util/sort-helper.ts:4\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n a\n \n T\n \n\n \n No\n \n\n\n \n \n b\n \n T\n \n\n \n No\n \n\n\n \n \n sortOrder\n \n SortOrder\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : number\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { SortOrder } from '@shared/domain/interface';\n\nexport class SortHelper {\n\tpublic static genericSortFunction(a: T, b: T, sortOrder: SortOrder): number {\n\t\tlet order: number;\n\n\t\tif (typeof a !== 'undefined' && typeof b === 'undefined') {\n\t\t\torder = 1;\n\t\t} else if (typeof a === 'undefined' && typeof b !== 'undefined') {\n\t\t\torder = -1;\n\t\t} else if (typeof a === 'string' && typeof b === 'string') {\n\t\t\torder = a.localeCompare(b);\n\t\t} else if (typeof a === 'number' && typeof b === 'number') {\n\t\t\torder = a - b;\n\t\t} else {\n\t\t\torder = 0;\n\t\t}\n\n\t\treturn sortOrder === SortOrder.desc ? -order : order;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SortImportUserParams.html":{"url":"classes/SortImportUserParams.html","title":"class - SortImportUserParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SortImportUserParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/controller/dto/sort-import-user.params.ts\n \n\n\n\n \n Extends\n \n \n SortingParams\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n sortBy\n \n \n \n \n \n sortOrder\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n sortBy\n \n \n \n \n \n \n Type : ImportUserSortOrder\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsEnum(ImportUserSortOrder)@ApiPropertyOptional({enum: ImportUserSortOrder})\n \n \n \n \n \n Inherited from SortingParams\n\n \n \n \n \n Defined in SortingParams:14\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n sortOrder\n \n \n \n \n \n \n Type : SortOrder\n\n \n \n \n \n Default value : SortOrder.asc\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsEnum(SortOrder)@ApiPropertyOptional({enum: SortOrder})\n \n \n \n \n \n Inherited from SortingParams\n\n \n \n \n \n Defined in SortingParams:18\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { SortingParams } from '@shared/controller';\nimport { IsEnum, IsOptional } from 'class-validator';\n\nexport enum ImportUserSortOrder {\n\tFIRSTNAME = 'firstName',\n\tLASTNAME = 'lastName',\n}\n\nexport class SortImportUserParams extends SortingParams {\n\t@IsOptional()\n\t@IsEnum(ImportUserSortOrder)\n\t@ApiPropertyOptional({ enum: ImportUserSortOrder })\n\tsortBy?: ImportUserSortOrder;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SortingParams.html":{"url":"classes/SortingParams.html","title":"class - SortingParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SortingParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/controller/dto/sorting.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Abstract\n Optional\n sortBy\n \n \n \n \n \n sortOrder\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Abstract\n Optional\n sortBy\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Defined in apps/server/src/shared/controller/dto/sorting.params.ts:13\n \n \n\n \n \n Set type and Decorators in extending classes\n\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n sortOrder\n \n \n \n \n \n \n Type : SortOrder\n\n \n \n \n \n Default value : SortOrder.asc\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsEnum(SortOrder)@ApiPropertyOptional({enum: SortOrder})\n \n \n \n \n \n Defined in apps/server/src/shared/controller/dto/sorting.params.ts:18\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsEnum, IsOptional } from 'class-validator';\nimport { ApiPropertyOptional } from '@nestjs/swagger';\n\nenum SortOrder {\n\tasc = 'asc',\n\tdesc = 'desc',\n}\n\nexport abstract class SortingParams {\n\t/**\n\t * Set type and Decorators in extending classes\n\t */\n\tabstract sortBy?: T;\n\n\t@IsOptional()\n\t@IsEnum(SortOrder)\n\t@ApiPropertyOptional({ enum: SortOrder })\n\tsortOrder: SortOrder = SortOrder.asc;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/StartUserLoginMigrationUc.html":{"url":"injectables/StartUserLoginMigrationUc.html","title":"injectable - StartUserLoginMigrationUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n StartUserLoginMigrationUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/uc/start-user-login-migration.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n checkPreconditions\n \n \n Async\n startMigration\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userLoginMigrationService: UserLoginMigrationService, authorizationService: AuthorizationService, schoolService: LegacySchoolService, logger: Logger)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/uc/start-user-login-migration.uc.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigrationService\n \n \n UserLoginMigrationService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n checkPreconditions\n \n \n \n \n \n \n \n checkPreconditions(userId: string, schoolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/uc/start-user-login-migration.uc.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n schoolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n startMigration\n \n \n \n \n \n \n \n startMigration(userId: EntityId, schoolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/uc/start-user-login-migration.uc.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContext, AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { LegacySchoolService } from '@modules/legacy-school';\nimport { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { LegacySchoolDo, UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { Logger } from '@src/core/logger';\nimport {\n\tSchoolNumberMissingLoggableException,\n\tUserLoginMigrationAlreadyClosedLoggableException,\n\tUserLoginMigrationStartLoggable,\n} from '../loggable';\nimport { UserLoginMigrationService } from '../service';\n\n@Injectable()\nexport class StartUserLoginMigrationUc {\n\tconstructor(\n\t\tprivate readonly userLoginMigrationService: UserLoginMigrationService,\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly schoolService: LegacySchoolService,\n\t\tprivate readonly logger: Logger\n\t) {\n\t\tthis.logger.setContext(StartUserLoginMigrationUc.name);\n\t}\n\n\tasync startMigration(userId: EntityId, schoolId: EntityId): Promise {\n\t\tawait this.checkPreconditions(userId, schoolId);\n\n\t\tlet userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationService.findMigrationBySchool(\n\t\t\tschoolId\n\t\t);\n\n\t\tif (!userLoginMigration) {\n\t\t\tuserLoginMigration = await this.userLoginMigrationService.startMigration(schoolId);\n\n\t\t\tthis.logger.info(new UserLoginMigrationStartLoggable(userId, userLoginMigration.id));\n\t\t} else if (userLoginMigration.closedAt) {\n\t\t\tthrow new UserLoginMigrationAlreadyClosedLoggableException(userLoginMigration.closedAt, userLoginMigration.id);\n\t\t}\n\n\t\treturn userLoginMigration;\n\t}\n\n\tprivate async checkPreconditions(userId: string, schoolId: string): Promise {\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(userId);\n\t\tconst school: LegacySchoolDo = await this.schoolService.getSchoolById(schoolId);\n\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.write([Permission.USER_LOGIN_MIGRATION_ADMIN]);\n\t\tthis.authorizationService.checkPermission(user, school, context);\n\n\t\tif (!school.officialSchoolNumber) {\n\t\t\tthrow new SchoolNumberMissingLoggableException(schoolId);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/StatelessAuthorizationParams.html":{"url":"classes/StatelessAuthorizationParams.html","title":"class - StatelessAuthorizationParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n StatelessAuthorizationParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/controller/dto/stateless-authorization.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n code\n \n \n \n \n Optional\n error\n \n \n \n \n Optional\n error_description\n \n \n \n \n Optional\n error_uri\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n code\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth/controller/dto/stateless-authorization.params.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n error\n \n \n \n \n \n \n Type : SSOAuthenticationError\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsEnum(SSOAuthenticationError)\n \n \n \n \n \n Defined in apps/server/src/modules/oauth/controller/dto/stateless-authorization.params.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n error_description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth/controller/dto/stateless-authorization.params.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n error_uri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth/controller/dto/stateless-authorization.params.ts:20\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsEnum, IsNotEmpty, IsOptional, IsString } from 'class-validator';\nimport { SSOAuthenticationError } from '../../interface/sso-authentication-error.enum';\n\nexport class StatelessAuthorizationParams {\n\t@IsOptional()\n\t@IsString()\n\t@IsNotEmpty()\n\tcode?: string;\n\n\t@IsOptional()\n\t@IsEnum(SSOAuthenticationError)\n\terror?: SSOAuthenticationError;\n\n\t@IsOptional()\n\t@IsString()\n\terror_description?: string;\n\n\t@IsOptional()\n\t@IsString()\n\terror_uri?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/StorageProviderEncryptedStringType.html":{"url":"classes/StorageProviderEncryptedStringType.html","title":"class - StorageProviderEncryptedStringType","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n StorageProviderEncryptedStringType\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/types/StorageProviderEncryptedString.type.ts\n \n\n\n \n Description\n \n \n Serialization type to transparent encrypt string values in database.\n\n \n\n \n Extends\n \n \n Type\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n key\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n convertToDatabaseValue\n \n \n convertToJSValue\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(customKey?: string)\n \n \n \n \n Defined in apps/server/src/shared/repo/types/StorageProviderEncryptedString.type.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n customKey\n \n \n string\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n key\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/repo/types/StorageProviderEncryptedString.type.ts:10\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n convertToDatabaseValue\n \n \n \n \n \n \nconvertToDatabaseValue(value: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/types/StorageProviderEncryptedString.type.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n convertToJSValue\n \n \n \n \n \n \nconvertToJSValue(value: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/types/StorageProviderEncryptedString.type.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\nimport { Type } from '@mikro-orm/core';\nimport CryptoJs from 'crypto-js';\n\n/**\n * Serialization type to transparent encrypt string values in database.\n */\nexport class StorageProviderEncryptedStringType extends Type {\n\t// TODO modularize service?\n\tprivate key: string;\n\n\tconstructor(customKey?: string) {\n\t\tsuper();\n\t\tif (customKey) {\n\t\t\tthis.key = customKey;\n\t\t} else {\n\t\t\tthis.key = Configuration.get('S3_KEY') as string;\n\t\t}\n\t}\n\n\tconvertToDatabaseValue(value: string | undefined): string {\n\t\t// keep nullish values\n\t\tif (value == null) {\n\t\t\treturn value as unknown as string;\n\t\t}\n\n\t\t// encrypt non-empty strings only\n\t\tif (value.length === 0) {\n\t\t\treturn '';\n\t\t}\n\t\tconst encryptedString = CryptoJs.AES.encrypt(value, this.key).toString();\n\n\t\treturn encryptedString;\n\t}\n\n\tconvertToJSValue(value: string | undefined): string {\n\t\t// keep nullish values\n\t\tif (value == null) {\n\t\t\treturn value as unknown as string;\n\t\t}\n\n\t\t// decrypt non-empty strings only\n\t\tif (value.length === 0) {\n\t\t\treturn '';\n\t\t}\n\n\t\t// decrypt only non-empty strings\n\t\tconst decryptedString: string = CryptoJs.AES.decrypt(value, this.key).toString(CryptoJs.enc.Utf8);\n\n\t\treturn decryptedString;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/StorageProviderEntity.html":{"url":"entities/StorageProviderEntity.html","title":"entity - StorageProviderEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n StorageProviderEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/storageprovider.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n accessKeyId\n \n \n \n endpointUrl\n \n \n \n Optional\n region\n \n \n \n secretAccessKey\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n accessKeyId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/storageprovider.entity.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n endpointUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/storageprovider.entity.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n region\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/storageprovider.entity.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n secretAccessKey\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'secretAccessKey', type: StorageProviderEncryptedStringType})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/storageprovider.entity.ts:21\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { StorageProviderEncryptedStringType } from '@shared/repo/types/StorageProviderEncryptedString.type';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface StorageProviderProperties {\n\tendpointUrl: string;\n\taccessKeyId: string;\n\tsecretAccessKey: string;\n\tregion?: string;\n}\n\n@Entity({ tableName: 'storageproviders' })\nexport class StorageProviderEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tendpointUrl: string;\n\n\t@Property()\n\taccessKeyId: string;\n\n\t@Property({ fieldName: 'secretAccessKey', type: StorageProviderEncryptedStringType })\n\tsecretAccessKey: string;\n\n\t@Property({ nullable: true })\n\tregion?: string;\n\n\tconstructor(props: StorageProviderProperties) {\n\t\tsuper();\n\t\tthis.endpointUrl = props.endpointUrl;\n\t\tthis.accessKeyId = props.accessKeyId;\n\t\tthis.secretAccessKey = props.secretAccessKey;\n\t\tthis.region = props.region;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/StorageProviderProperties.html":{"url":"interfaces/StorageProviderProperties.html","title":"interface - StorageProviderProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n StorageProviderProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/storageprovider.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n accessKeyId\n \n \n \n \n endpointUrl\n \n \n \n Optional\n \n region\n \n \n \n \n secretAccessKey\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n accessKeyId\n \n \n \n \n \n \n \n \n accessKeyId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n endpointUrl\n \n \n \n \n \n \n \n \n endpointUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n region\n \n \n \n \n \n \n \n \n region: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n secretAccessKey\n \n \n \n \n \n \n \n \n secretAccessKey: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { StorageProviderEncryptedStringType } from '@shared/repo/types/StorageProviderEncryptedString.type';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface StorageProviderProperties {\n\tendpointUrl: string;\n\taccessKeyId: string;\n\tsecretAccessKey: string;\n\tregion?: string;\n}\n\n@Entity({ tableName: 'storageproviders' })\nexport class StorageProviderEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tendpointUrl: string;\n\n\t@Property()\n\taccessKeyId: string;\n\n\t@Property({ fieldName: 'secretAccessKey', type: StorageProviderEncryptedStringType })\n\tsecretAccessKey: string;\n\n\t@Property({ nullable: true })\n\tregion?: string;\n\n\tconstructor(props: StorageProviderProperties) {\n\t\tsuper();\n\t\tthis.endpointUrl = props.endpointUrl;\n\t\tthis.accessKeyId = props.accessKeyId;\n\t\tthis.secretAccessKey = props.secretAccessKey;\n\t\tthis.region = props.region;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/StorageProviderRepo.html":{"url":"injectables/StorageProviderRepo.html","title":"injectable - StorageProviderRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n StorageProviderRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/storageprovider/storageprovider.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findAll\n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(_em: EntityManager)\n \n \n \n \n Defined in apps/server/src/shared/repo/storageprovider/storageprovider.repo.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n _em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findAll\n \n \n \n \n \n \n \n findAll()\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/storageprovider/storageprovider.repo.ts:16\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/storageprovider/storageprovider.repo.ts:12\n \n \n\n \n \n\n \n\n\n \n import { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { StorageProviderEntity } from '@shared/domain/entity';\nimport { BaseRepo } from '../base.repo';\n\n@Injectable()\nexport class StorageProviderRepo extends BaseRepo {\n\tconstructor(protected readonly _em: EntityManager) {\n\t\tsuper(_em);\n\t}\n\n\tget entityName() {\n\t\treturn StorageProviderEntity;\n\t}\n\n\tasync findAll(): Promise {\n\t\tconst providers = this._em.find(StorageProviderEntity, {});\n\n\t\treturn providers;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/StringValidator.html":{"url":"classes/StringValidator.html","title":"class - StringValidator","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n StringValidator\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/validator/string.validator.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n isNotEmptyString\n \n \n Static\n isString\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n isNotEmptyString\n \n \n \n \n \n \n \n isNotEmptyString(value?: string, trim)\n \n \n\n\n \n \n Defined in apps/server/src/shared/common/validator/string.validator.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n value\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n trim\n \n \n\n \n No\n \n\n \n false\n \n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n isString\n \n \n \n \n \n \n \n isString(value?: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/common/validator/string.validator.ts:2\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n export class StringValidator {\n\tstatic isString(value?: string): value is string {\n\t\tconst result = value != null && typeof value === 'string';\n\t\tif (result === true) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tstatic isNotEmptyString(value?: string, trim = false): boolean {\n\t\tif (StringValidator.isString(value)) {\n\t\t\tconst result = trim ? value.trim().length > 0 : value.length > 0;\n\t\t\treturn result;\n\t\t}\n\t\treturn false;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/Submission.html":{"url":"entities/Submission.html","title":"entity - Submission","body":"\n \n\n\n\n\n\n\n\n Entities\n Submission\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/submission.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n comment\n \n \n \n Optional\n courseGroup\n \n \n \n Optional\n grade\n \n \n \n Optional\n gradeComment\n \n \n \n graded\n \n \n \n \n school\n \n \n \n student\n \n \n \n submitted\n \n \n \n \n task\n \n \n \n teamMembers\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n comment\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/submission.entity.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n courseGroup\n \n \n \n \n \n \n Type : CourseGroup\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('CourseGroup', {fieldName: 'courseGroupId', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/submission.entity.ts:40\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n grade\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/submission.entity.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n gradeComment\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/submission.entity.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n \n graded\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/submission.entity.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n Type : SchoolEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined, {fieldName: 'schoolId'})@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/submission.entity.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n student\n \n \n \n \n \n \n Type : User\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('User', {fieldName: 'studentId'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/submission.entity.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n \n submitted\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/submission.entity.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n task\n \n \n \n \n \n \n Type : Task\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('Task', {fieldName: 'homeworkId'})@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/submission.entity.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n \n teamMembers\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @ManyToMany('User', undefined, {fieldName: 'teamMembers'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/submission.entity.ts:43\n \n \n\n\n \n \n\n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, Property, Unique } from '@mikro-orm/core';\n\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { CourseGroup } from './coursegroup.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { Task } from './task.entity';\nimport type { User } from './user.entity';\n\nexport interface SubmissionProperties {\n\tschool: SchoolEntity;\n\ttask: Task;\n\tstudent: User;\n\tcourseGroup?: CourseGroup;\n\tteamMembers?: User[];\n\tcomment: string;\n\tsubmitted?: boolean;\n\tgraded?: boolean;\n\tgrade?: number;\n\tgradeComment?: string;\n}\n\n@Entity({ tableName: 'submissions' })\n@Index({ properties: ['student', 'teamMembers'] })\n@Unique({ properties: ['student', 'task'] })\nexport class Submission extends BaseEntityWithTimestamps {\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\t@Index()\n\tschool: SchoolEntity;\n\n\t@ManyToOne('Task', { fieldName: 'homeworkId' })\n\t@Index()\n\ttask: Task;\n\n\t@ManyToOne('User', { fieldName: 'studentId' })\n\tstudent: User;\n\n\t@ManyToOne('CourseGroup', { fieldName: 'courseGroupId', nullable: true })\n\tcourseGroup?: CourseGroup;\n\n\t@ManyToMany('User', undefined, { fieldName: 'teamMembers' })\n\tteamMembers = new Collection(this);\n\n\t@Property({ nullable: true })\n\tcomment?: string;\n\n\t@Property()\n\tsubmitted: boolean;\n\n\t@Property()\n\tgraded: boolean;\n\n\t@Property({ nullable: true })\n\tgrade?: number;\n\n\t@Property({ nullable: true })\n\tgradeComment?: string;\n\n\tconstructor(props: SubmissionProperties) {\n\t\tsuper();\n\t\tthis.school = props.school;\n\t\tthis.student = props.student;\n\t\tthis.comment = props.comment;\n\t\tthis.task = props.task;\n\t\tthis.submitted = props.submitted || false;\n\t\tthis.graded = props.graded || false;\n\t\tthis.grade = props.grade;\n\t\tthis.gradeComment = props.gradeComment;\n\t\tthis.courseGroup = props.courseGroup;\n\n\t\tif (props.teamMembers !== undefined) {\n\t\t\tthis.teamMembers.set(props.teamMembers);\n\t\t}\n\t}\n\n\tprivate getCourseGroupStudentIds(): EntityId[] {\n\t\tlet courseGroupMemberIds: EntityId[] = [];\n\n\t\tif (this.courseGroup) {\n\t\t\tcourseGroupMemberIds = this.courseGroup.getStudentIds();\n\t\t}\n\n\t\treturn courseGroupMemberIds;\n\t}\n\n\tprivate getTeamMemberIds(): EntityId[] {\n\t\tif (!this.teamMembers) {\n\t\t\tthrow new InternalServerErrorException(\n\t\t\t\t'Submission.teamMembers is undefined. The submission need to be populated.'\n\t\t\t);\n\t\t}\n\n\t\tconst teamMemberObjectIds = this.teamMembers.getIdentifiers('_id');\n\t\tconst teamMemberIds = teamMemberObjectIds.map((id): string => id.toString());\n\n\t\treturn teamMemberIds;\n\t}\n\n\tpublic isSubmitted(): boolean {\n\t\treturn this.submitted;\n\t}\n\n\tpublic isSubmittedForUser(user: User): boolean {\n\t\tconst isMember = this.isUserSubmitter(user);\n\t\tconst isSubmitted = this.isSubmitted();\n\t\tconst isSubmittedForUser = isMember && isSubmitted;\n\n\t\treturn isSubmittedForUser;\n\t}\n\n\t// Bad that the logic is needed to expose the userIds, but is used in task for now.\n\t// Check later if it can be replaced and remove all related code.\n\tpublic getSubmitterIds(): EntityId[] {\n\t\tconst creatorId = this.student.id;\n\t\tconst teamMemberIds = this.getTeamMemberIds();\n\t\tconst courseGroupMemberIds = this.getCourseGroupStudentIds();\n\t\tconst memberIds = [creatorId, ...teamMemberIds, ...courseGroupMemberIds];\n\n\t\tconst uniqueMemberIds = [...new Set(memberIds)];\n\n\t\treturn uniqueMemberIds;\n\t}\n\n\tpublic isUserSubmitter(user: User): boolean {\n\t\tconst memberIds = this.getSubmitterIds();\n\t\tconst isMember = memberIds.some((id) => id === user.id);\n\n\t\treturn isMember;\n\t}\n\n\tpublic isGraded(): boolean {\n\t\treturn this.graded;\n\t}\n\n\tpublic isGradedForUser(user: User): boolean {\n\t\tconst isMember = this.isUserSubmitter(user);\n\t\tconst isGraded = this.isGraded();\n\t\tconst isGradedForUser = isMember && isGraded;\n\n\t\treturn isGradedForUser;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionContainerContentBody.html":{"url":"classes/SubmissionContainerContentBody.html","title":"class - SubmissionContainerContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionContainerContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n dueDate\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n dueDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsDate()@IsOptional()@ApiPropertyOptional({description: 'The point in time until when a submission can be handed in.'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:106\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionContainerElement.html":{"url":"classes/SubmissionContainerElement.html","title":"class - SubmissionContainerElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionContainerElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/submission-container-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardComposite\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n accept\n \n \n Async\n acceptAsync\n \n \n isAllowedAsChild\n \n \n addChild\n \n \n hasChild\n \n \n removeChild\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n dueDate\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n accept\n \n \n \n \n \n \naccept(visitor: BoardCompositeVisitor)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitor\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n acceptAsync\n \n \n \n \n \n \n \n acceptAsync(visitor: BoardCompositeVisitorAsync)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:23\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitorAsync\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isAllowedAsChild\n \n \n \n \n \n \nisAllowedAsChild(domainObject: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:14\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addChild\n \n \n \n \n \n \naddChild(child: AnyBoardDo, position?: number)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n position\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasChild\n \n \n \n \n \n \nhasChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeChild\n \n \n \n \n \n \nremoveChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n dueDate\n \n \n\n \n \n getdueDate()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/submission-container-element.do.ts:6\n \n \n\n \n \n setdueDate(value: Date | null)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/submission-container-element.do.ts:10\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n Date | null\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport { SubmissionItem } from './submission-item.do';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class SubmissionContainerElement extends BoardComposite {\n\tget dueDate(): Date | null {\n\t\treturn this.props.dueDate;\n\t}\n\n\tset dueDate(value: Date | null) {\n\t\tthis.props.dueDate = value;\n\t}\n\n\tisAllowedAsChild(domainObject: AnyBoardDo): boolean {\n\t\tconst allowed = domainObject instanceof SubmissionItem;\n\t\treturn allowed;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitSubmissionContainerElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitSubmissionContainerElementAsync(this);\n\t}\n}\n\nexport interface SubmissionContainerElementProps extends BoardCompositeProps {\n\tdueDate: Date | null;\n}\n\nexport function isSubmissionContainerElement(reference: unknown): reference is SubmissionContainerElement {\n\treturn reference instanceof SubmissionContainerElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionContainerElementContent.html":{"url":"classes/SubmissionContainerElementContent.html","title":"class - SubmissionContainerElementContent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionContainerElementContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/submission-container-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n dueDate\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: SubmissionContainerElementContent)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/submission-container-element.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n SubmissionContainerElementContent\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n dueDate\n \n \n \n \n \n \n Type : Date | null\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: Date, description: 'The dueDate as date string or null of not set', example: '2023-08-17T14:17:51.958+00:00'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/submission-container-element.response.ts:15\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class SubmissionContainerElementContent {\n\tconstructor({ dueDate }: SubmissionContainerElementContent) {\n\t\tthis.dueDate = dueDate;\n\t}\n\n\t@ApiProperty({\n\t\ttype: Date,\n\t\tdescription: 'The dueDate as date string or null of not set',\n\t\texample: '2023-08-17T14:17:51.958+00:00',\n\t})\n\tdueDate: Date | null;\n}\n\nexport class SubmissionContainerElementResponse {\n\tconstructor({ id, content, timestamps, type }: SubmissionContainerElementResponse) {\n\t\tthis.id = id;\n\t\tthis.content = content;\n\t\tthis.timestamps = timestamps;\n\t\tthis.type = type;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ApiProperty()\n\tcontent: SubmissionContainerElementContent;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionContainerElementContentBody.html":{"url":"classes/SubmissionContainerElementContentBody.html","title":"class - SubmissionContainerElementContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionContainerElementContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n \n Extends\n \n \n ElementContentBody\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : SubmissionContainerContentBody\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:115\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.SUBMISSION_CONTAINER\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from ElementContentBody\n\n \n \n \n \n Defined in ElementContentBody:111\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/SubmissionContainerElementNode.html":{"url":"entities/SubmissionContainerElementNode.html","title":"entity - SubmissionContainerElementNode","body":"\n \n\n\n\n\n\n\n\n Entities\n SubmissionContainerElementNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/submission-container-element-node.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n dueDate\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n dueDate\n \n \n \n \n \n \n Type : Date | null\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/submission-container-element-node.entity.ts:9\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { AnyBoardDo } from '../../domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.SUBMISSION_CONTAINER_ELEMENT })\nexport class SubmissionContainerElementNode extends BoardNode {\n\t@Property({ nullable: true })\n\tdueDate: Date | null;\n\n\tconstructor(props: SubmissionContainerNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.SUBMISSION_CONTAINER_ELEMENT;\n\t\tthis.dueDate = props.dueDate;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildSubmissionContainerElement(this);\n\n\t\treturn domainObject;\n\t}\n}\n\nexport interface SubmissionContainerNodeProps extends BoardNodeProps {\n\tdueDate: Date | null;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SubmissionContainerElementProps.html":{"url":"interfaces/SubmissionContainerElementProps.html","title":"interface - SubmissionContainerElementProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SubmissionContainerElementProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/submission-container-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardCompositeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n dueDate\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n dueDate\n \n \n \n \n \n \n \n \n dueDate: Date | null\n\n \n \n\n\n \n \n Type : Date | null\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport { SubmissionItem } from './submission-item.do';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class SubmissionContainerElement extends BoardComposite {\n\tget dueDate(): Date | null {\n\t\treturn this.props.dueDate;\n\t}\n\n\tset dueDate(value: Date | null) {\n\t\tthis.props.dueDate = value;\n\t}\n\n\tisAllowedAsChild(domainObject: AnyBoardDo): boolean {\n\t\tconst allowed = domainObject instanceof SubmissionItem;\n\t\treturn allowed;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitSubmissionContainerElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitSubmissionContainerElementAsync(this);\n\t}\n}\n\nexport interface SubmissionContainerElementProps extends BoardCompositeProps {\n\tdueDate: Date | null;\n}\n\nexport function isSubmissionContainerElement(reference: unknown): reference is SubmissionContainerElement {\n\treturn reference instanceof SubmissionContainerElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionContainerElementResponse.html":{"url":"classes/SubmissionContainerElementResponse.html","title":"class - SubmissionContainerElementResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionContainerElementResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/submission-container-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n id\n \n \n \n timestamps\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: SubmissionContainerElementResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/submission-container-element.response.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n SubmissionContainerElementResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : SubmissionContainerElementContent\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/submission-container-element.response.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/submission-container-element.response.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n timestamps\n \n \n \n \n \n \n Type : TimestampsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/submission-container-element.response.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.SUBMISSION_CONTAINER\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ContentElementType, enumName: 'ContentElementType'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/submission-container-element.response.ts:30\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class SubmissionContainerElementContent {\n\tconstructor({ dueDate }: SubmissionContainerElementContent) {\n\t\tthis.dueDate = dueDate;\n\t}\n\n\t@ApiProperty({\n\t\ttype: Date,\n\t\tdescription: 'The dueDate as date string or null of not set',\n\t\texample: '2023-08-17T14:17:51.958+00:00',\n\t})\n\tdueDate: Date | null;\n}\n\nexport class SubmissionContainerElementResponse {\n\tconstructor({ id, content, timestamps, type }: SubmissionContainerElementResponse) {\n\t\tthis.id = id;\n\t\tthis.content = content;\n\t\tthis.timestamps = timestamps;\n\t\tthis.type = type;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ApiProperty()\n\tcontent: SubmissionContainerElementContent;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionContainerElementResponseMapper.html":{"url":"classes/SubmissionContainerElementResponseMapper.html","title":"class - SubmissionContainerElementResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionContainerElementResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/submission-container-element-response.mapper.ts\n \n\n\n\n\n \n Implements\n \n \n BaseResponseMapper\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n canMap\n \n \n Static\n getInstance\n \n \n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n \n \n Type : SubmissionContainerElementResponseMapper\n\n \n \n \n \n Defined in apps/server/src/modules/board/controller/mapper/submission-container-element-response.mapper.ts:6\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n canMap\n \n \n \n \n \n \ncanMap(element: SubmissionContainerElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/submission-container-element-response.mapper.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n SubmissionContainerElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n getInstance\n \n \n \n \n \n \n \n getInstance()\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/submission-container-element-response.mapper.ts:8\n \n \n\n\n \n \n\n \n Returns : SubmissionContainerElementResponseMapper\n\n \n \n \n \n \n \n \n \n \n \n \n mapToResponse\n \n \n \n \n \n \nmapToResponse(element: SubmissionContainerElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/submission-container-element-response.mapper.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n SubmissionContainerElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SubmissionContainerElementResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ContentElementType, SubmissionContainerElement } from '@shared/domain/domainobject';\nimport { SubmissionContainerElementContent, SubmissionContainerElementResponse, TimestampsResponse } from '../dto';\nimport { BaseResponseMapper } from './base-mapper.interface';\n\nexport class SubmissionContainerElementResponseMapper implements BaseResponseMapper {\n\tprivate static instance: SubmissionContainerElementResponseMapper;\n\n\tpublic static getInstance(): SubmissionContainerElementResponseMapper {\n\t\tif (!SubmissionContainerElementResponseMapper.instance) {\n\t\t\tSubmissionContainerElementResponseMapper.instance = new SubmissionContainerElementResponseMapper();\n\t\t}\n\n\t\treturn SubmissionContainerElementResponseMapper.instance;\n\t}\n\n\tmapToResponse(element: SubmissionContainerElement): SubmissionContainerElementResponse {\n\t\tconst result = new SubmissionContainerElementResponse({\n\t\t\tid: element.id,\n\t\t\ttimestamps: new TimestampsResponse({ lastUpdatedAt: element.updatedAt, createdAt: element.createdAt }),\n\t\t\ttype: ContentElementType.SUBMISSION_CONTAINER,\n\t\t\tcontent: new SubmissionContainerElementContent({\n\t\t\t\tdueDate: element.dueDate,\n\t\t\t}),\n\t\t});\n\n\t\tif (element.dueDate) {\n\t\t\tresult.content = new SubmissionContainerElementContent({ dueDate: element.dueDate });\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tcanMap(element: SubmissionContainerElement): boolean {\n\t\treturn element instanceof SubmissionContainerElement;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SubmissionContainerNodeProps.html":{"url":"interfaces/SubmissionContainerNodeProps.html","title":"interface - SubmissionContainerNodeProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SubmissionContainerNodeProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/submission-container-element-node.entity.ts\n \n\n\n\n \n Extends\n \n \n BoardNodeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n dueDate\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n dueDate\n \n \n \n \n \n \n \n \n dueDate: Date | null\n\n \n \n\n\n \n \n Type : Date | null\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { AnyBoardDo } from '../../domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.SUBMISSION_CONTAINER_ELEMENT })\nexport class SubmissionContainerElementNode extends BoardNode {\n\t@Property({ nullable: true })\n\tdueDate: Date | null;\n\n\tconstructor(props: SubmissionContainerNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.SUBMISSION_CONTAINER_ELEMENT;\n\t\tthis.dueDate = props.dueDate;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildSubmissionContainerElement(this);\n\n\t\treturn domainObject;\n\t}\n}\n\nexport interface SubmissionContainerNodeProps extends BoardNodeProps {\n\tdueDate: Date | null;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionContainerUrlParams.html":{"url":"classes/SubmissionContainerUrlParams.html","title":"class - SubmissionContainerUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionContainerUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/submission-item/submission-container.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n submissionContainerId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n submissionContainerId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the submission container.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/submission-container.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class SubmissionContainerUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the submission container.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tsubmissionContainerId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/SubmissionController.html":{"url":"controllers/SubmissionController.html","title":"controller - SubmissionController","body":"\n \n\n\n\n\n\n\n Controllers\n SubmissionController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/submission.controller.ts\n \n\n \n Prefix\n \n \n submissions\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n delete\n \n \n \n Async\n findStatusesByTask\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(urlParams: SubmissionUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Delete(':submissionId')\n \n \n\n \n \n Defined in apps/server/src/modules/task/controller/submission.controller.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n SubmissionUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findStatusesByTask\n \n \n \n \n \n \n \n findStatusesByTask(currentUser: ICurrentUser, params: TaskUrlParams)\n \n \n\n \n \n Decorators : \n \n @Get('status/task/:taskId')\n \n \n\n \n \n Defined in apps/server/src/modules/task/controller/submission.controller.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n TaskUrlParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Controller, Delete, Get, Param } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { SubmissionMapper } from '../mapper';\nimport { SubmissionUc } from '../uc';\nimport { SubmissionStatusListResponse, SubmissionUrlParams, TaskUrlParams } from './dto';\n\n@ApiTags('Submission')\n@Authenticate('jwt')\n@Controller('submissions')\nexport class SubmissionController {\n\tconstructor(private readonly submissionUc: SubmissionUc) {}\n\n\t@Get('status/task/:taskId')\n\tasync findStatusesByTask(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: TaskUrlParams\n\t): Promise {\n\t\tconst submissions = await this.submissionUc.findAllByTask(currentUser.userId, params.taskId);\n\n\t\tconst submissionResponses = submissions.map((submission) => SubmissionMapper.mapToStatusResponse(submission));\n\n\t\tconst listResponse = new SubmissionStatusListResponse(submissionResponses);\n\n\t\treturn listResponse;\n\t}\n\n\t@Delete(':submissionId')\n\tasync delete(@Param() urlParams: SubmissionUrlParams, @CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst result = await this.submissionUc.delete(currentUser.userId, urlParams.submissionId);\n\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionFactory.html":{"url":"classes/SubmissionFactory.html","title":"class - SubmissionFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/submission.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n graded\n \n \n studentWithId\n \n \n submitted\n \n \n teamMembersWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n graded\n \n \n \n \n \n \ngraded()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/submission.factory.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n studentWithId\n \n \n \n \n \n \nstudentWithId()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/submission.factory.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n submitted\n \n \n \n \n \n \nsubmitted()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/submission.factory.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n teamMembersWithId\n \n \n \n \n \n \nteamMembersWithId(numberOfTeamMembers: number)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/submission.factory.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n numberOfTeamMembers\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Submission, SubmissionProperties } from '@shared/domain/entity';\nimport { DeepPartial } from 'fishery';\nimport { BaseFactory } from './base.factory';\nimport { schoolFactory } from './school.factory';\nimport { taskFactory } from './task.factory';\nimport { userFactory } from './user.factory';\n\nclass SubmissionFactory extends BaseFactory {\n\tgraded(): this {\n\t\tconst params: DeepPartial = { graded: true };\n\n\t\treturn this.params(params);\n\t}\n\n\tsubmitted(): this {\n\t\tconst params: DeepPartial = { submitted: true };\n\n\t\treturn this.params(params);\n\t}\n\n\tstudentWithId(): this {\n\t\tconst params: DeepPartial = { student: userFactory.buildWithId() };\n\n\t\treturn this.params(params);\n\t}\n\n\tteamMembersWithId(numberOfTeamMembers: number): this {\n\t\tconst teamMembers = userFactory.buildListWithId(numberOfTeamMembers);\n\t\tconst params: DeepPartial = { teamMembers };\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const submissionFactory = SubmissionFactory.define(Submission, ({ sequence }) => {\n\treturn {\n\t\tschool: schoolFactory.build(),\n\t\ttask: taskFactory.build(),\n\t\tstudent: userFactory.build(),\n\t\tcomment: `submission comment #${sequence}`,\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionItem.html":{"url":"classes/SubmissionItem.html","title":"class - SubmissionItem","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionItem\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/submission-item.do.ts\n \n\n\n\n \n Extends\n \n \n BoardComposite\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n accept\n \n \n Async\n acceptAsync\n \n \n isAllowedAsChild\n \n \n addChild\n \n \n hasChild\n \n \n removeChild\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n completed\n \n \n userId\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n accept\n \n \n \n \n \n \naccept(visitor: BoardCompositeVisitor)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:29\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitor\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n acceptAsync\n \n \n \n \n \n \n \n acceptAsync(visitor: BoardCompositeVisitorAsync)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:33\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitorAsync\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isAllowedAsChild\n \n \n \n \n \n \nisAllowedAsChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:23\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addChild\n \n \n \n \n \n \naddChild(child: AnyBoardDo, position?: number)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n position\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasChild\n \n \n \n \n \n \nhasChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeChild\n \n \n \n \n \n \nremoveChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n completed\n \n \n\n \n \n getcompleted()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/submission-item.do.ts:7\n \n \n\n \n \n setcompleted(value: boolean)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/submission-item.do.ts:11\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n boolean\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n userId\n \n \n\n \n \n getuserId()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/submission-item.do.ts:15\n \n \n\n \n \n setuserId(value: EntityId)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/submission-item.do.ts:19\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n EntityId\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { FileElement, isFileElement, isRichTextElement, RichTextElement } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class SubmissionItem extends BoardComposite {\n\tget completed(): boolean {\n\t\treturn this.props.completed;\n\t}\n\n\tset completed(value: boolean) {\n\t\tthis.props.completed = value;\n\t}\n\n\tget userId(): EntityId {\n\t\treturn this.props.userId;\n\t}\n\n\tset userId(value: EntityId) {\n\t\tthis.props.userId = value;\n\t}\n\n\tisAllowedAsChild(child: AnyBoardDo): boolean {\n\t\tconst allowed = isFileElement(child) || isRichTextElement(child);\n\n\t\treturn allowed;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitSubmissionItem(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitSubmissionItemAsync(this);\n\t}\n}\n\nexport interface SubmissionItemProps extends BoardCompositeProps {\n\tcompleted: boolean;\n\tuserId: EntityId;\n}\n\nexport function isSubmissionItem(reference: unknown): reference is SubmissionItem {\n\treturn reference instanceof SubmissionItem;\n}\n\nexport const isSubmissionItemContent = (element: AnyBoardDo): element is RichTextElement | FileElement =>\n\tisRichTextElement(element) || isFileElement(element);\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SubmissionItemFactory.html":{"url":"injectables/SubmissionItemFactory.html","title":"injectable - SubmissionItemFactory","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SubmissionItemFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/submission-item.factory.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/submission-item.factory.ts:7\n \n \n\n\n \n \n\n \n Returns : SubmissionItem\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ObjectId } from 'bson';\nimport { SubmissionItem } from './submission-item.do';\n\n@Injectable()\nexport class SubmissionItemFactory {\n\tbuild(): SubmissionItem {\n\t\treturn new SubmissionItem({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t\tcompleted: false,\n\t\t\tuserId: new ObjectId().toHexString(),\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/SubmissionItemNode.html":{"url":"entities/SubmissionItemNode.html","title":"entity - SubmissionItemNode","body":"\n \n\n\n\n\n\n\n\n Entities\n SubmissionItemNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/submission-item-node.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n completed\n \n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n completed\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/submission-item-node.entity.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @Property({comment: 'The user whos submission this is. Usually the student submitting the work.'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/submission-item-node.entity.ts:16\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { EntityId } from '@shared/domain/types';\nimport { AnyBoardDo } from '../../domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.SUBMISSION_ITEM })\nexport class SubmissionItemNode extends BoardNode {\n\t@Property()\n\tcompleted!: boolean;\n\n\t// @Index() // TODO if enabled tests in management fails with ERROR [ExceptionsHandler] Failed to create indexes\n\t@Property({\n\t\tcomment: 'The user whos submission this is. Usually the student submitting the work.',\n\t})\n\tuserId!: EntityId;\n\n\tconstructor(props: SubmissionItemNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.SUBMISSION_ITEM;\n\t\tthis.completed = props.completed;\n\t\tthis.userId = props.userId;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildSubmissionItem(this);\n\n\t\treturn domainObject;\n\t}\n}\n\nexport interface SubmissionItemNodeProps extends BoardNodeProps {\n\tcompleted: boolean;\n\tuserId: EntityId;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SubmissionItemNodeProps.html":{"url":"interfaces/SubmissionItemNodeProps.html","title":"interface - SubmissionItemNodeProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SubmissionItemNodeProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/submission-item-node.entity.ts\n \n\n\n\n \n Extends\n \n \n BoardNodeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n completed\n \n \n \n \n userId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n completed\n \n \n \n \n \n \n \n \n completed: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { EntityId } from '@shared/domain/types';\nimport { AnyBoardDo } from '../../domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.SUBMISSION_ITEM })\nexport class SubmissionItemNode extends BoardNode {\n\t@Property()\n\tcompleted!: boolean;\n\n\t// @Index() // TODO if enabled tests in management fails with ERROR [ExceptionsHandler] Failed to create indexes\n\t@Property({\n\t\tcomment: 'The user whos submission this is. Usually the student submitting the work.',\n\t})\n\tuserId!: EntityId;\n\n\tconstructor(props: SubmissionItemNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.SUBMISSION_ITEM;\n\t\tthis.completed = props.completed;\n\t\tthis.userId = props.userId;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildSubmissionItem(this);\n\n\t\treturn domainObject;\n\t}\n}\n\nexport interface SubmissionItemNodeProps extends BoardNodeProps {\n\tcompleted: boolean;\n\tuserId: EntityId;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SubmissionItemProps.html":{"url":"interfaces/SubmissionItemProps.html","title":"interface - SubmissionItemProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SubmissionItemProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/submission-item.do.ts\n \n\n\n\n \n Extends\n \n \n BoardCompositeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n completed\n \n \n \n \n userId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n completed\n \n \n \n \n \n \n \n \n completed: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { FileElement, isFileElement, isRichTextElement, RichTextElement } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class SubmissionItem extends BoardComposite {\n\tget completed(): boolean {\n\t\treturn this.props.completed;\n\t}\n\n\tset completed(value: boolean) {\n\t\tthis.props.completed = value;\n\t}\n\n\tget userId(): EntityId {\n\t\treturn this.props.userId;\n\t}\n\n\tset userId(value: EntityId) {\n\t\tthis.props.userId = value;\n\t}\n\n\tisAllowedAsChild(child: AnyBoardDo): boolean {\n\t\tconst allowed = isFileElement(child) || isRichTextElement(child);\n\n\t\treturn allowed;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitSubmissionItem(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitSubmissionItemAsync(this);\n\t}\n}\n\nexport interface SubmissionItemProps extends BoardCompositeProps {\n\tcompleted: boolean;\n\tuserId: EntityId;\n}\n\nexport function isSubmissionItem(reference: unknown): reference is SubmissionItem {\n\treturn reference instanceof SubmissionItem;\n}\n\nexport const isSubmissionItemContent = (element: AnyBoardDo): element is RichTextElement | FileElement =>\n\tisRichTextElement(element) || isFileElement(element);\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionItemResponse.html":{"url":"classes/SubmissionItemResponse.html","title":"class - SubmissionItemResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionItemResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/submission-item/submission-item.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n completed\n \n \n \n elements\n \n \n \n id\n \n \n \n timestamps\n \n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: SubmissionItemResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/submission-item.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n SubmissionItemResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n completed\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/submission-item.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n elements\n \n \n \n \n \n \n Type : (RichTextElementResponse | FileElementResponse)[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: 'array', items: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/submission-item.response.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/submission-item.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n timestamps\n \n \n \n \n \n \n Type : TimestampsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/submission-item.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/submission-item.response.ts:25\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiExtraModels, ApiProperty, getSchemaPath } from '@nestjs/swagger';\nimport { TimestampsResponse } from '../timestamps.response';\nimport { FileElementResponse, RichTextElementResponse } from '../element';\n\n@ApiExtraModels(FileElementResponse, RichTextElementResponse)\nexport class SubmissionItemResponse {\n\tconstructor({ id, timestamps, completed, userId, elements }: SubmissionItemResponse) {\n\t\tthis.id = id;\n\t\tthis.timestamps = timestamps;\n\t\tthis.completed = completed;\n\t\tthis.userId = userId;\n\t\tthis.elements = elements;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n\n\t@ApiProperty()\n\tcompleted: boolean;\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tuserId: string;\n\n\t@ApiProperty({\n\t\ttype: 'array',\n\t\titems: {\n\t\t\toneOf: [{ $ref: getSchemaPath(FileElementResponse) }, { $ref: getSchemaPath(RichTextElementResponse) }],\n\t\t},\n\t})\n\telements: (RichTextElementResponse | FileElementResponse)[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionItemResponseMapper.html":{"url":"classes/SubmissionItemResponseMapper.html","title":"class - SubmissionItemResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionItemResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/submission-item-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n getInstance\n \n \n Public\n mapSubmissionItemToResponse\n \n \n Public\n mapToResponse\n \n \n Private\n mapUsersToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n \n \n Type : SubmissionItemResponseMapper\n\n \n \n \n \n Defined in apps/server/src/modules/board/controller/mapper/submission-item-response.mapper.ts:12\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n getInstance\n \n \n \n \n \n \n \n getInstance()\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/submission-item-response.mapper.ts:14\n \n \n\n\n \n \n\n \n Returns : SubmissionItemResponseMapper\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n mapSubmissionItemToResponse\n \n \n \n \n \n \n \n mapSubmissionItemToResponse(submissionItem: SubmissionItem)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/submission-item-response.mapper.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionItem\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SubmissionItemResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(submissionItems: SubmissionItem[], users: UserBoardRoles[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/submission-item-response.mapper.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionItems\n \n SubmissionItem[]\n \n\n \n No\n \n\n\n \n \n users\n \n UserBoardRoles[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SubmissionsResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapUsersToResponse\n \n \n \n \n \n \n \n mapUsersToResponse(user: UserBoardRoles)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/submission-item-response.mapper.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserBoardRoles\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import {\n\tFileElement,\n\tisSubmissionItemContent,\n\tRichTextElement,\n\tSubmissionItem,\n\tUserBoardRoles,\n} from '@shared/domain/domainobject';\nimport { SubmissionItemResponse, SubmissionsResponse, TimestampsResponse, UserDataResponse } from '../dto';\nimport { ContentElementResponseFactory } from './content-element-response.factory';\n\nexport class SubmissionItemResponseMapper {\n\tprivate static instance: SubmissionItemResponseMapper;\n\n\tpublic static getInstance(): SubmissionItemResponseMapper {\n\t\tif (!SubmissionItemResponseMapper.instance) {\n\t\t\tSubmissionItemResponseMapper.instance = new SubmissionItemResponseMapper();\n\t\t}\n\n\t\treturn SubmissionItemResponseMapper.instance;\n\t}\n\n\tpublic mapToResponse(submissionItems: SubmissionItem[], users: UserBoardRoles[]): SubmissionsResponse {\n\t\tconst submissionItemsResponse: SubmissionItemResponse[] = submissionItems.map((item) =>\n\t\t\tthis.mapSubmissionItemToResponse(item)\n\t\t);\n\t\tconst usersResponse: UserDataResponse[] = users.map((user) => this.mapUsersToResponse(user));\n\n\t\tconst response = new SubmissionsResponse(submissionItemsResponse, usersResponse);\n\n\t\treturn response;\n\t}\n\n\tpublic mapSubmissionItemToResponse(submissionItem: SubmissionItem): SubmissionItemResponse {\n\t\tconst children: (FileElement | RichTextElement)[] = submissionItem.children.filter(isSubmissionItemContent);\n\t\tconst result = new SubmissionItemResponse({\n\t\t\tcompleted: submissionItem.completed,\n\t\t\tid: submissionItem.id,\n\t\t\ttimestamps: new TimestampsResponse({\n\t\t\t\tlastUpdatedAt: submissionItem.updatedAt,\n\t\t\t\tcreatedAt: submissionItem.createdAt,\n\t\t\t}),\n\t\t\tuserId: submissionItem.userId,\n\t\t\telements: children.map((element) => ContentElementResponseFactory.mapSubmissionContentToResponse(element)),\n\t\t});\n\n\t\treturn result;\n\t}\n\n\tprivate mapUsersToResponse(user: UserBoardRoles) {\n\t\tconst result = new UserDataResponse({\n\t\t\tuserId: user.userId,\n\t\t\tfirstName: user.firstName || '',\n\t\t\tlastName: user.lastName || '',\n\t\t});\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SubmissionItemService.html":{"url":"injectables/SubmissionItemService.html","title":"injectable - SubmissionItemService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SubmissionItemService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/submission-item.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n create\n \n \n Async\n findById\n \n \n Async\n update\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(boardDoRepo: BoardDoRepo, boardDoService: BoardDoService)\n \n \n \n \n Defined in apps/server/src/modules/board/service/submission-item.service.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDoRepo\n \n \n BoardDoRepo\n \n \n \n No\n \n \n \n \n boardDoService\n \n \n BoardDoService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n create\n \n \n \n \n \n \n \n create(userId: EntityId, submissionContainer: SubmissionContainerElement, payload: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/submission-item.service.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n submissionContainer\n \n SubmissionContainerElement\n \n\n \n No\n \n\n\n \n \n payload\n \n literal type\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/submission-item.service.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n update\n \n \n \n \n \n \n \n update(submissionItem: SubmissionItem, completed: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/submission-item.service.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionItem\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n completed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, NotFoundException, UnprocessableEntityException } from '@nestjs/common';\nimport { ObjectId } from 'bson';\n\nimport { ValidationError } from '@shared/common';\nimport { isSubmissionContainerElement, SubmissionContainerElement, SubmissionItem } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\n\nimport { BoardDoRepo } from '../repo';\nimport { BoardDoService } from './board-do.service';\n\n@Injectable()\nexport class SubmissionItemService {\n\tconstructor(private readonly boardDoRepo: BoardDoRepo, private readonly boardDoService: BoardDoService) {}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst element = await this.boardDoRepo.findById(id);\n\n\t\tif (!(element instanceof SubmissionItem)) {\n\t\t\tthrow new NotFoundException(`There is no '${element.constructor.name}' with this id`);\n\t\t}\n\n\t\treturn element;\n\t}\n\n\tasync create(\n\t\tuserId: EntityId,\n\t\tsubmissionContainer: SubmissionContainerElement,\n\t\tpayload: { completed: boolean }\n\t): Promise {\n\t\tconst submissionItem = new SubmissionItem({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t\tcompleted: payload.completed,\n\t\t\tuserId,\n\t\t});\n\n\t\tsubmissionContainer.addChild(submissionItem);\n\n\t\tawait this.boardDoRepo.save(submissionContainer.children, submissionContainer);\n\n\t\treturn submissionItem;\n\t}\n\n\tasync update(submissionItem: SubmissionItem, completed: boolean): Promise {\n\t\tconst submissionContainterElement = await this.boardDoRepo.findParentOfId(submissionItem.id);\n\t\tif (!isSubmissionContainerElement(submissionContainterElement)) {\n\t\t\tthrow new UnprocessableEntityException();\n\t\t}\n\n\t\tconst now = new Date();\n\t\tif (submissionContainterElement.dueDate && submissionContainterElement.dueDate \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SubmissionItemUc.html":{"url":"injectables/SubmissionItemUc.html","title":"injectable - SubmissionItemUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SubmissionItemUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/uc/submission-item.uc.ts\n \n\n\n\n \n Extends\n \n \n BaseUc\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createElement\n \n \n Async\n findSubmissionItems\n \n \n Async\n updateSubmissionItem\n \n \n Protected\n Async\n checkPermission\n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationService: AuthorizationService, boardDoAuthorizableService: BoardDoAuthorizableService, elementService: ContentElementService, submissionItemService: SubmissionItemService)\n \n \n \n \n Defined in apps/server/src/modules/board/uc/submission-item.uc.ts:27\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n boardDoAuthorizableService\n \n \n BoardDoAuthorizableService\n \n \n \n No\n \n \n \n \n elementService\n \n \n ContentElementService\n \n \n \n No\n \n \n \n \n submissionItemService\n \n \n SubmissionItemService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createElement\n \n \n \n \n \n \n \n createElement(userId: EntityId, submissionItemId: EntityId, type: ContentElementType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/submission-item.uc.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n submissionItemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n type\n \n ContentElementType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findSubmissionItems\n \n \n \n \n \n \n \n findSubmissionItems(userId: EntityId, submissionContainerId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/submission-item.uc.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n submissionContainerId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateSubmissionItem\n \n \n \n \n \n \n \n updateSubmissionItem(userId: EntityId, submissionItemId: EntityId, completed: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/submission-item.uc.ts:64\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n submissionItemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n completed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n checkPermission\n \n \n \n \n \n \n \n checkPermission(userId: EntityId, anyBoardDo: AnyBoardDo, action: Action, requiredUserRole?: UserRoleEnum)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:13\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n anyBoardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n requiredUserRole\n \n UserRoleEnum\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n \n \n \n \n \n checkSubmissionItemWritePermission(userId: EntityId, submissionItem: SubmissionItem)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:45\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n submissionItem\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n \n \n \n isAuthorizedStudent(userId: EntityId, boardDo: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:29\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Action, AuthorizationService } from '@modules/authorization';\nimport {\n\tBadRequestException,\n\tforwardRef,\n\tInject,\n\tInjectable,\n\tNotFoundException,\n\tUnprocessableEntityException,\n} from '@nestjs/common';\nimport {\n\tContentElementType,\n\tFileElement,\n\tisFileElement,\n\tisRichTextElement,\n\tisSubmissionContainerElement,\n\tisSubmissionItem,\n\tRichTextElement,\n\tSubmissionItem,\n\tUserBoardRoles,\n\tUserRoleEnum,\n} from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { BoardDoAuthorizableService, ContentElementService, SubmissionItemService } from '../service';\nimport { BaseUc } from './base.uc';\n\n@Injectable()\nexport class SubmissionItemUc extends BaseUc {\n\tconstructor(\n\t\t@Inject(forwardRef(() => AuthorizationService))\n\t\tprotected readonly authorizationService: AuthorizationService,\n\t\tprotected readonly boardDoAuthorizableService: BoardDoAuthorizableService,\n\t\tprotected readonly elementService: ContentElementService,\n\t\tprotected readonly submissionItemService: SubmissionItemService\n\t) {\n\t\tsuper(authorizationService, boardDoAuthorizableService);\n\t}\n\n\tasync findSubmissionItems(\n\t\tuserId: EntityId,\n\t\tsubmissionContainerId: EntityId\n\t): Promise {\n\t\tconst submissionContainerElement = await this.elementService.findById(submissionContainerId);\n\n\t\tif (!isSubmissionContainerElement(submissionContainerElement)) {\n\t\t\tthrow new NotFoundException('Could not find a submission container with this id');\n\t\t}\n\n\t\tawait this.checkPermission(userId, submissionContainerElement, Action.read);\n\n\t\tlet submissionItems = submissionContainerElement.children.filter(isSubmissionItem);\n\n\t\tconst boardAuthorizable = await this.boardDoAuthorizableService.getBoardAuthorizable(submissionContainerElement);\n\t\tlet users = boardAuthorizable.users.filter((user) => user.userRoleEnum === UserRoleEnum.STUDENT);\n\n\t\tconst isAuthorizedStudent = await this.isAuthorizedStudent(userId, submissionContainerElement);\n\t\tif (isAuthorizedStudent) {\n\t\t\tsubmissionItems = submissionItems.filter((item) => item.userId === userId);\n\t\t\tusers = [];\n\t\t}\n\n\t\treturn { submissionItems, users };\n\t}\n\n\tasync updateSubmissionItem(\n\t\tuserId: EntityId,\n\t\tsubmissionItemId: EntityId,\n\t\tcompleted: boolean\n\t): Promise {\n\t\tconst submissionItem = await this.submissionItemService.findById(submissionItemId);\n\t\tawait this.checkSubmissionItemWritePermission(userId, submissionItem);\n\t\tawait this.submissionItemService.update(submissionItem, completed);\n\n\t\treturn submissionItem;\n\t}\n\n\tasync createElement(\n\t\tuserId: EntityId,\n\t\tsubmissionItemId: EntityId,\n\t\ttype: ContentElementType\n\t): Promise {\n\t\tif (type !== ContentElementType.RICH_TEXT && type !== ContentElementType.FILE) {\n\t\t\tthrow new BadRequestException();\n\t\t}\n\n\t\tconst submissionItem = await this.submissionItemService.findById(submissionItemId);\n\n\t\tawait this.checkSubmissionItemWritePermission(userId, submissionItem);\n\n\t\tconst element = await this.elementService.create(submissionItem, type);\n\n\t\tif (!isFileElement(element) && !isRichTextElement(element)) {\n\t\t\tthrow new UnprocessableEntityException();\n\t\t}\n\n\t\treturn element;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionItemUrlParams.html":{"url":"classes/SubmissionItemUrlParams.html","title":"class - SubmissionItemUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionItemUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/submission-item/submission-item.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n submissionItemId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n submissionItemId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the submission item.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/submission-item.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class SubmissionItemUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the submission item.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tsubmissionItemId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionMapper.html":{"url":"classes/SubmissionMapper.html","title":"class - SubmissionMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/mapper/submission.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToStatusResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToStatusResponse\n \n \n \n \n \n \n \n mapToStatusResponse(submission: Submission)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/mapper/submission.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submission\n \n Submission\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SubmissionStatusResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Submission } from '@shared/domain/entity';\nimport { SubmissionStatusResponse } from '../controller/dto';\n\nexport class SubmissionMapper {\n\tstatic mapToStatusResponse(submission: Submission): SubmissionStatusResponse {\n\t\tconst dto = new SubmissionStatusResponse({\n\t\t\tid: submission.id,\n\t\t\tsubmitters: submission.getSubmitterIds(),\n\t\t\tisSubmitted: submission.isSubmitted(),\n\t\t\tgrade: submission.grade,\n\t\t\tisGraded: submission.isGraded(),\n\t\t\tsubmittingCourseGroupName: submission.courseGroup?.name,\n\t\t});\n\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SubmissionProperties.html":{"url":"interfaces/SubmissionProperties.html","title":"interface - SubmissionProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SubmissionProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/submission.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n comment\n \n \n \n Optional\n \n courseGroup\n \n \n \n Optional\n \n grade\n \n \n \n Optional\n \n gradeComment\n \n \n \n Optional\n \n graded\n \n \n \n \n school\n \n \n \n \n student\n \n \n \n Optional\n \n submitted\n \n \n \n \n task\n \n \n \n Optional\n \n teamMembers\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n comment\n \n \n \n \n \n \n \n \n comment: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n courseGroup\n \n \n \n \n \n \n \n \n courseGroup: CourseGroup\n\n \n \n\n\n \n \n Type : CourseGroup\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n grade\n \n \n \n \n \n \n \n \n grade: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n gradeComment\n \n \n \n \n \n \n \n \n gradeComment: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n graded\n \n \n \n \n \n \n \n \n graded: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n \n \n school: SchoolEntity\n\n \n \n\n\n \n \n Type : SchoolEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n student\n \n \n \n \n \n \n \n \n student: User\n\n \n \n\n\n \n \n Type : User\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n submitted\n \n \n \n \n \n \n \n \n submitted: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n task\n \n \n \n \n \n \n \n \n task: Task\n\n \n \n\n\n \n \n Type : Task\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n teamMembers\n \n \n \n \n \n \n \n \n teamMembers: User[]\n\n \n \n\n\n \n \n Type : User[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, Property, Unique } from '@mikro-orm/core';\n\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { CourseGroup } from './coursegroup.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { Task } from './task.entity';\nimport type { User } from './user.entity';\n\nexport interface SubmissionProperties {\n\tschool: SchoolEntity;\n\ttask: Task;\n\tstudent: User;\n\tcourseGroup?: CourseGroup;\n\tteamMembers?: User[];\n\tcomment: string;\n\tsubmitted?: boolean;\n\tgraded?: boolean;\n\tgrade?: number;\n\tgradeComment?: string;\n}\n\n@Entity({ tableName: 'submissions' })\n@Index({ properties: ['student', 'teamMembers'] })\n@Unique({ properties: ['student', 'task'] })\nexport class Submission extends BaseEntityWithTimestamps {\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\t@Index()\n\tschool: SchoolEntity;\n\n\t@ManyToOne('Task', { fieldName: 'homeworkId' })\n\t@Index()\n\ttask: Task;\n\n\t@ManyToOne('User', { fieldName: 'studentId' })\n\tstudent: User;\n\n\t@ManyToOne('CourseGroup', { fieldName: 'courseGroupId', nullable: true })\n\tcourseGroup?: CourseGroup;\n\n\t@ManyToMany('User', undefined, { fieldName: 'teamMembers' })\n\tteamMembers = new Collection(this);\n\n\t@Property({ nullable: true })\n\tcomment?: string;\n\n\t@Property()\n\tsubmitted: boolean;\n\n\t@Property()\n\tgraded: boolean;\n\n\t@Property({ nullable: true })\n\tgrade?: number;\n\n\t@Property({ nullable: true })\n\tgradeComment?: string;\n\n\tconstructor(props: SubmissionProperties) {\n\t\tsuper();\n\t\tthis.school = props.school;\n\t\tthis.student = props.student;\n\t\tthis.comment = props.comment;\n\t\tthis.task = props.task;\n\t\tthis.submitted = props.submitted || false;\n\t\tthis.graded = props.graded || false;\n\t\tthis.grade = props.grade;\n\t\tthis.gradeComment = props.gradeComment;\n\t\tthis.courseGroup = props.courseGroup;\n\n\t\tif (props.teamMembers !== undefined) {\n\t\t\tthis.teamMembers.set(props.teamMembers);\n\t\t}\n\t}\n\n\tprivate getCourseGroupStudentIds(): EntityId[] {\n\t\tlet courseGroupMemberIds: EntityId[] = [];\n\n\t\tif (this.courseGroup) {\n\t\t\tcourseGroupMemberIds = this.courseGroup.getStudentIds();\n\t\t}\n\n\t\treturn courseGroupMemberIds;\n\t}\n\n\tprivate getTeamMemberIds(): EntityId[] {\n\t\tif (!this.teamMembers) {\n\t\t\tthrow new InternalServerErrorException(\n\t\t\t\t'Submission.teamMembers is undefined. The submission need to be populated.'\n\t\t\t);\n\t\t}\n\n\t\tconst teamMemberObjectIds = this.teamMembers.getIdentifiers('_id');\n\t\tconst teamMemberIds = teamMemberObjectIds.map((id): string => id.toString());\n\n\t\treturn teamMemberIds;\n\t}\n\n\tpublic isSubmitted(): boolean {\n\t\treturn this.submitted;\n\t}\n\n\tpublic isSubmittedForUser(user: User): boolean {\n\t\tconst isMember = this.isUserSubmitter(user);\n\t\tconst isSubmitted = this.isSubmitted();\n\t\tconst isSubmittedForUser = isMember && isSubmitted;\n\n\t\treturn isSubmittedForUser;\n\t}\n\n\t// Bad that the logic is needed to expose the userIds, but is used in task for now.\n\t// Check later if it can be replaced and remove all related code.\n\tpublic getSubmitterIds(): EntityId[] {\n\t\tconst creatorId = this.student.id;\n\t\tconst teamMemberIds = this.getTeamMemberIds();\n\t\tconst courseGroupMemberIds = this.getCourseGroupStudentIds();\n\t\tconst memberIds = [creatorId, ...teamMemberIds, ...courseGroupMemberIds];\n\n\t\tconst uniqueMemberIds = [...new Set(memberIds)];\n\n\t\treturn uniqueMemberIds;\n\t}\n\n\tpublic isUserSubmitter(user: User): boolean {\n\t\tconst memberIds = this.getSubmitterIds();\n\t\tconst isMember = memberIds.some((id) => id === user.id);\n\n\t\treturn isMember;\n\t}\n\n\tpublic isGraded(): boolean {\n\t\treturn this.graded;\n\t}\n\n\tpublic isGradedForUser(user: User): boolean {\n\t\tconst isMember = this.isUserSubmitter(user);\n\t\tconst isGraded = this.isGraded();\n\t\tconst isGradedForUser = isMember && isGraded;\n\n\t\treturn isGradedForUser;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SubmissionRepo.html":{"url":"injectables/SubmissionRepo.html","title":"injectable - SubmissionRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SubmissionRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/submission/submission.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n byUserIdQuery\n \n \n Async\n findAllByTaskIds\n \n \n Async\n findAllByUserId\n \n \n Async\n findById\n \n \n Private\n Async\n populateReferences\n \n \n create\n \n \n Async\n delete\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n byUserIdQuery\n \n \n \n \n \n \n \n byUserIdQuery(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/submission/submission.repo.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllByTaskIds\n \n \n \n \n \n \n \n findAllByTaskIds(taskIds: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/submission/submission.repo.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n taskIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllByUserId\n \n \n \n \n \n \n \n findAllByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/submission/submission.repo.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: string)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:15\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n populateReferences\n \n \n \n \n \n \n \n populateReferences(submissions: Submission[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/submission/submission.repo.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissions\n \n Submission[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/submission/submission.repo.ts:11\n \n \n\n \n \n\n \n\n\n \n import { FilterQuery } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\nimport { CourseGroup, Submission } from '@shared/domain/entity';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '../base.repo';\n\n// TODO: add scope helper\n\n@Injectable()\nexport class SubmissionRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn Submission;\n\t}\n\n\tasync findById(id: string): Promise {\n\t\tconst submission = await super.findById(id);\n\t\tawait this.populateReferences([submission]);\n\n\t\treturn submission;\n\t}\n\n\tasync findAllByTaskIds(taskIds: EntityId[]): Promise> {\n\t\tconst [submissions, count] = await this._em.findAndCount(this.entityName, {\n\t\t\ttask: { $in: taskIds },\n\t\t});\n\t\tawait this.populateReferences(submissions);\n\n\t\treturn [submissions, count];\n\t}\n\n\tasync findAllByUserId(userId: EntityId): Promise> {\n\t\tconst result = await this._em.findAndCount(this.entityName, await this.byUserIdQuery(userId));\n\t\treturn result;\n\t}\n\n\tprivate async byUserIdQuery(userId: EntityId): Promise> {\n\t\tconst courseGroupsOfUser = await this._em.find(CourseGroup, { students: userId });\n\t\tconst query = { $or: [{ student: userId }, { teamMembers: userId }, { courseGroup: { $in: courseGroupsOfUser } }] };\n\t\treturn query;\n\t}\n\n\tprivate async populateReferences(submissions: Submission[]): Promise {\n\t\tawait this._em.populate(submissions, [\n\t\t\t'courseGroup',\n\t\t\t'task.course',\n\t\t\t'task.lesson.course',\n\t\t\t'task.lesson.courseGroup.course',\n\t\t]);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SubmissionRule.html":{"url":"injectables/SubmissionRule.html","title":"injectable - SubmissionRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SubmissionRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/submission.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n hasAccessToSubmission\n \n \n Private\n hasParentTaskReadAccess\n \n \n Private\n hasParentTaskWriteAccess\n \n \n Public\n hasPermission\n \n \n Private\n hasReadAccess\n \n \n Private\n hasWriteAccess\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper, taskRule: TaskRule)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/submission.rule.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n taskRule\n \n \n TaskRule\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n hasAccessToSubmission\n \n \n \n \n \n \n \n hasAccessToSubmission(user: User, submission: Submission, action: Action)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/submission.rule.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n submission\n \n Submission\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n hasParentTaskReadAccess\n \n \n \n \n \n \n \n hasParentTaskReadAccess(user: User, submission: Submission)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/submission.rule.ts:70\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n submission\n \n Submission\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n hasParentTaskWriteAccess\n \n \n \n \n \n \n \n hasParentTaskWriteAccess(user: User, submission: Submission)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/submission.rule.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n submission\n \n Submission\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, submission: Submission, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/submission.rule.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n submission\n \n Submission\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n hasReadAccess\n \n \n \n \n \n \n \n hasReadAccess(user: User, submission: Submission)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/submission.rule.ts:47\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n submission\n \n Submission\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n hasWriteAccess\n \n \n \n \n \n \n \n hasWriteAccess(user: User, submission: Submission)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/submission.rule.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n submission\n \n Submission\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, entity: Submission)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/submission.rule.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n Submission\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, NotImplementedException } from '@nestjs/common';\nimport { Submission, User } from '@shared/domain/entity';\nimport { Action, AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\nimport { TaskRule } from './task.rule';\n\n@Injectable()\nexport class SubmissionRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper, private readonly taskRule: TaskRule) {}\n\n\tpublic isApplicable(user: User, entity: Submission): boolean {\n\t\tconst isMatched = entity instanceof Submission;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, submission: Submission, context: AuthorizationContext): boolean {\n\t\tconst { action, requiredPermissions } = context;\n\n\t\tconst result =\n\t\t\tthis.authorizationHelper.hasAllPermissions(user, requiredPermissions) &&\n\t\t\tthis.hasAccessToSubmission(user, submission, action);\n\n\t\treturn result;\n\t}\n\n\tprivate hasAccessToSubmission(user: User, submission: Submission, action: Action): boolean {\n\t\tlet hasAccessToSubmission = false;\n\n\t\tif (action === Action.write) {\n\t\t\thasAccessToSubmission = this.hasWriteAccess(user, submission);\n\t\t} else if (action === Action.read) {\n\t\t\thasAccessToSubmission = this.hasReadAccess(user, submission);\n\t\t} else {\n\t\t\tthrow new NotImplementedException('Action is not supported.');\n\t\t}\n\n\t\treturn hasAccessToSubmission;\n\t}\n\n\tprivate hasWriteAccess(user: User, submission: Submission) {\n\t\tconst hasWriteAccess = submission.isUserSubmitter(user) || this.hasParentTaskWriteAccess(user, submission);\n\n\t\treturn hasWriteAccess;\n\t}\n\n\tprivate hasReadAccess(user: User, submission: Submission) {\n\t\tlet hasReadAccess = false;\n\n\t\tif (submission.isSubmitted()) {\n\t\t\thasReadAccess =\n\t\t\t\tthis.hasWriteAccess(user, submission) ||\n\t\t\t\t(this.hasParentTaskReadAccess(user, submission) && submission.task.areSubmissionsPublic());\n\t\t} else {\n\t\t\thasReadAccess = submission.isUserSubmitter(user);\n\t\t}\n\n\t\treturn hasReadAccess;\n\t}\n\n\tprivate hasParentTaskWriteAccess(user: User, submission: Submission) {\n\t\tconst hasParentTaskWriteAccess = this.taskRule.hasPermission(user, submission.task, {\n\t\t\taction: Action.write,\n\t\t\trequiredPermissions: [],\n\t\t});\n\n\t\treturn hasParentTaskWriteAccess;\n\t}\n\n\tprivate hasParentTaskReadAccess(user: User, submission: Submission) {\n\t\tconst hasParentTaskReadAccess = this.taskRule.hasPermission(user, submission.task, {\n\t\t\taction: Action.read,\n\t\t\trequiredPermissions: [],\n\t\t});\n\n\t\treturn hasParentTaskReadAccess;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SubmissionService.html":{"url":"injectables/SubmissionService.html","title":"injectable - SubmissionService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SubmissionService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/service/submission.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n delete\n \n \n Async\n findAllByTask\n \n \n Async\n findById\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(submissionRepo: SubmissionRepo, filesStorageClientAdapterService: FilesStorageClientAdapterService)\n \n \n \n \n Defined in apps/server/src/modules/task/service/submission.service.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionRepo\n \n \n SubmissionRepo\n \n \n \n No\n \n \n \n \n filesStorageClientAdapterService\n \n \n FilesStorageClientAdapterService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(submission: Submission)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/service/submission.service.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submission\n \n Submission\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllByTask\n \n \n \n \n \n \n \n findAllByTask(taskId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/service/submission.service.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n taskId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(submissionId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/service/submission.service.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { FilesStorageClientAdapterService } from '@modules/files-storage-client';\nimport { Injectable } from '@nestjs/common';\nimport { Submission } from '@shared/domain/entity';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { SubmissionRepo } from '@shared/repo';\n\n@Injectable()\nexport class SubmissionService {\n\tconstructor(\n\t\tprivate readonly submissionRepo: SubmissionRepo,\n\t\tprivate readonly filesStorageClientAdapterService: FilesStorageClientAdapterService\n\t) {}\n\n\tasync findById(submissionId: EntityId): Promise {\n\t\treturn this.submissionRepo.findById(submissionId);\n\t}\n\n\tasync findAllByTask(taskId: EntityId): Promise> {\n\t\tconst submissions = this.submissionRepo.findAllByTaskIds([taskId]);\n\n\t\treturn submissions;\n\t}\n\n\tasync delete(submission: Submission): Promise {\n\t\tawait this.filesStorageClientAdapterService.deleteFilesOfParent(submission.id);\n\n\t\tawait this.submissionRepo.delete(submission);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionStatusListResponse.html":{"url":"classes/SubmissionStatusListResponse.html","title":"class - SubmissionStatusListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionStatusListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/dto/submission.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: SubmissionStatusResponse[])\n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/submission.response.ts:32\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n SubmissionStatusResponse[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : SubmissionStatusResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/submission.response.ts:38\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\n\nexport class SubmissionStatusResponse {\n\tconstructor({ id, submitters, isSubmitted, grade, isGraded, submittingCourseGroupName }: SubmissionStatusResponse) {\n\t\tthis.id = id;\n\t\tthis.submitters = submitters;\n\t\tthis.isSubmitted = isSubmitted;\n\t\tthis.grade = grade;\n\t\tthis.isGraded = isGraded;\n\t\tthis.submittingCourseGroupName = submittingCourseGroupName;\n\t}\n\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\tsubmitters: string[];\n\n\t@ApiProperty()\n\tisSubmitted: boolean;\n\n\t@ApiPropertyOptional()\n\tgrade?: number;\n\n\t@ApiProperty()\n\tisGraded: boolean;\n\n\t@ApiPropertyOptional()\n\tsubmittingCourseGroupName?: string;\n}\n\nexport class SubmissionStatusListResponse {\n\tconstructor(data: SubmissionStatusResponse[]) {\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [SubmissionStatusResponse] })\n\tdata: SubmissionStatusResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionStatusResponse.html":{"url":"classes/SubmissionStatusResponse.html","title":"class - SubmissionStatusResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionStatusResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/dto/submission.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n grade\n \n \n \n id\n \n \n \n isGraded\n \n \n \n isSubmitted\n \n \n \n submitters\n \n \n \n Optional\n submittingCourseGroupName\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: SubmissionStatusResponse)\n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/submission.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n SubmissionStatusResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n grade\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/submission.response.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/submission.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n isGraded\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/submission.response.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n isSubmitted\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/submission.response.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n submitters\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/submission.response.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n submittingCourseGroupName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/submission.response.ts:29\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\n\nexport class SubmissionStatusResponse {\n\tconstructor({ id, submitters, isSubmitted, grade, isGraded, submittingCourseGroupName }: SubmissionStatusResponse) {\n\t\tthis.id = id;\n\t\tthis.submitters = submitters;\n\t\tthis.isSubmitted = isSubmitted;\n\t\tthis.grade = grade;\n\t\tthis.isGraded = isGraded;\n\t\tthis.submittingCourseGroupName = submittingCourseGroupName;\n\t}\n\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\tsubmitters: string[];\n\n\t@ApiProperty()\n\tisSubmitted: boolean;\n\n\t@ApiPropertyOptional()\n\tgrade?: number;\n\n\t@ApiProperty()\n\tisGraded: boolean;\n\n\t@ApiPropertyOptional()\n\tsubmittingCourseGroupName?: string;\n}\n\nexport class SubmissionStatusListResponse {\n\tconstructor(data: SubmissionStatusResponse[]) {\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [SubmissionStatusResponse] })\n\tdata: SubmissionStatusResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SubmissionUc.html":{"url":"injectables/SubmissionUc.html","title":"injectable - SubmissionUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SubmissionUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/uc/submission.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n delete\n \n \n Private\n filterSubmissionsByPermission\n \n \n Async\n findAllByTask\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(submissionService: SubmissionService, authorizationService: AuthorizationService)\n \n \n \n \n Defined in apps/server/src/modules/task/uc/submission.uc.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionService\n \n \n SubmissionService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(userId: EntityId, submissionId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/submission.uc.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n submissionId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n filterSubmissionsByPermission\n \n \n \n \n \n \n \n filterSubmissionsByPermission(submissions: Submission[], user: User)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/submission.uc.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissions\n \n Submission[]\n \n\n \n No\n \n\n\n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Submission[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllByTask\n \n \n \n \n \n \n \n findAllByTask(userId: EntityId, taskId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/submission.uc.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n taskId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport { Submission, User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { SubmissionService } from '../service';\n\n@Injectable()\nexport class SubmissionUc {\n\tconstructor(\n\t\tprivate readonly submissionService: SubmissionService,\n\t\tprivate readonly authorizationService: AuthorizationService\n\t) {}\n\n\tasync findAllByTask(userId: EntityId, taskId: EntityId): Promise {\n\t\tconst [submissions] = await this.submissionService.findAllByTask(taskId);\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\n\t\tconst permittedSubmissions = this.filterSubmissionsByPermission(submissions, user);\n\n\t\treturn permittedSubmissions;\n\t}\n\n\tasync delete(userId: EntityId, submissionId: EntityId) {\n\t\tconst [user, submission] = await Promise.all([\n\t\t\tthis.authorizationService.getUserWithPermissions(userId),\n\t\t\tthis.submissionService.findById(submissionId),\n\t\t]);\n\n\t\tthis.authorizationService.checkPermission(\n\t\t\tuser,\n\t\t\tsubmission,\n\t\t\tAuthorizationContextBuilder.write([Permission.SUBMISSIONS_EDIT])\n\t\t);\n\n\t\tawait this.submissionService.delete(submission);\n\n\t\treturn true;\n\t}\n\n\tprivate filterSubmissionsByPermission(submissions: Submission[], user: User): Submission[] {\n\t\tconst permissionContext = AuthorizationContextBuilder.read([Permission.SUBMISSIONS_VIEW]);\n\n\t\tconst permittedSubmissions = submissions.filter((submission) => {\n\t\t\tconst hasPermission = this.authorizationService.hasPermission(user, submission, permissionContext);\n\n\t\t\treturn hasPermission;\n\t\t});\n\n\t\treturn permittedSubmissions;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionUrlParams.html":{"url":"classes/SubmissionUrlParams.html","title":"class - SubmissionUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/dto/submission.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n submissionId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n submissionId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the submission.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/submission.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class SubmissionUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the submission.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tsubmissionId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionsResponse.html":{"url":"classes/SubmissionsResponse.html","title":"class - SubmissionsResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionsResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/submission-item/submissions.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n submissionItemsResponse\n \n \n \n users\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(submissionItemsResponse: SubmissionItemResponse[], users: UserDataResponse[])\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/submissions.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionItemsResponse\n \n \n SubmissionItemResponse[]\n \n \n \n No\n \n \n \n \n users\n \n \n UserDataResponse[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n submissionItemsResponse\n \n \n \n \n \n \n Type : SubmissionItemResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/submissions.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n users\n \n \n \n \n \n \n Type : UserDataResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/submissions.response.ts:19\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { UserDataResponse } from '../user-data.response';\nimport { SubmissionItemResponse } from './submission-item.response';\n\nexport class SubmissionsResponse {\n\tconstructor(submissionItemsResponse: SubmissionItemResponse[], users: UserDataResponse[]) {\n\t\tthis.submissionItemsResponse = submissionItemsResponse;\n\t\tthis.users = users;\n\t}\n\n\t@ApiProperty({\n\t\ttype: [SubmissionItemResponse],\n\t})\n\tsubmissionItemsResponse: SubmissionItemResponse[];\n\n\t@ApiProperty({\n\t\ttype: [UserDataResponse],\n\t})\n\tusers: UserDataResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SuccessfulRes.html":{"url":"interfaces/SuccessfulRes.html","title":"interface - SuccessfulRes","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SuccessfulRes\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n success\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n success\n \n \n \n \n \n \n \n \n success: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface NextcloudGroups {\n\tgroups: string[];\n}\n\nexport interface OcsResponse {\n\tocs: {\n\t\tdata: T;\n\t\tmeta: Meta;\n\t};\n}\n\nexport interface Meta {\n\tstatus: string;\n\tstatuscode: number;\n\tmessage: string;\n\ttotalitems: string;\n\titemsperpage: string;\n}\n\nexport interface SuccessfulRes {\n\tsuccess: boolean;\n}\n\nexport interface GroupUsers {\n\tusers: string[];\n}\n\n// Groupfolders Responses\n\nexport interface GroupfoldersFolder {\n\tfolder_id: number;\n}\n\nexport interface GroupfoldersCreated {\n\tid: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SuccessfulResponse.html":{"url":"classes/SuccessfulResponse.html","title":"class - SuccessfulResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SuccessfulResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user/controller/dto/user.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n successful\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(successful: boolean)\n \n \n \n \n Defined in apps/server/src/modules/user/controller/dto/user.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n successful\n \n \n boolean\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n successful\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user/controller/dto/user.response.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class SuccessfulResponse {\n\tconstructor(successful: boolean) {\n\t\tthis.successful = successful;\n\t}\n\n\t@ApiProperty()\n\tsuccessful: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SymetricKeyEncryptionService.html":{"url":"injectables/SymetricKeyEncryptionService.html","title":"injectable - SymetricKeyEncryptionService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SymetricKeyEncryptionService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/encryption/encryption.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n decrypt\n \n \n Public\n encrypt\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: LegacyLogger, key?: string)\n \n \n \n \n Defined in apps/server/src/infra/encryption/encryption.service.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n key\n \n \n string\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n decrypt\n \n \n \n \n \n \n \n decrypt(data: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/encryption/encryption.service.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n encrypt\n \n \n \n \n \n \n \n encrypt(data: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/encryption/encryption.service.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import CryptoJs from 'crypto-js';\n\nimport { Injectable } from '@nestjs/common';\nimport { LegacyLogger } from '@src/core/logger';\nimport { EncryptionService } from './encryption.interface';\n\n@Injectable()\nexport class SymetricKeyEncryptionService implements EncryptionService {\n\tconstructor(private logger: LegacyLogger, private key?: string) {\n\t\tif (!this.key) {\n\t\t\tthis.logger.warn('No AES key defined. Encryption will no work');\n\t\t}\n\t}\n\n\tpublic encrypt(data: string): string {\n\t\tif (!this.key) {\n\t\t\tthis.logger.warn('No AES key defined. Will return plain text');\n\t\t\treturn data;\n\t\t}\n\t\treturn CryptoJs.AES.encrypt(data, this.key).toString();\n\t}\n\n\tpublic decrypt(data: string): string {\n\t\tif (!this.key) {\n\t\t\tthis.logger.warn('No AES key defined. Will return plain text');\n\t\t\treturn data;\n\t\t}\n\t\treturn CryptoJs.AES.decrypt(data, this.key).toString(CryptoJs.enc.Utf8);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/System.html":{"url":"classes/System.html","title":"class - System","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n System\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/domain/system.do.ts\n \n\n\n\n \n Extends\n \n \n DomainObject\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n ldapConfig\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n ldapConfig\n \n \n\n \n \n getldapConfig()\n \n \n \n \n Defined in apps/server/src/modules/system/domain/system.do.ts:25\n \n \n\n \n \n\n \n\n\n \n import { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { LdapConfig } from './ldap-config';\nimport { OauthConfig } from './oauth-config';\n\nexport interface SystemProps extends AuthorizableObject {\n\ttype: string;\n\n\turl?: string;\n\n\talias?: string;\n\n\tdisplayName?: string;\n\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\n\tprovisioningUrl?: string;\n\n\toauthConfig?: OauthConfig;\n\n\tldapConfig?: LdapConfig;\n}\n\nexport class System extends DomainObject {\n\tget ldapConfig(): LdapConfig | undefined {\n\t\treturn this.props.ldapConfig;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/SystemApiModule.html":{"url":"modules/SystemApiModule.html","title":"module - SystemApiModule","body":"\n \n\n\n\n\n Modules\n SystemApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_SystemApiModule\n\n\n\ncluster_SystemApiModule_imports\n\n\n\ncluster_SystemApiModule_providers\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nSystemApiModule\n\nSystemApiModule\n\nSystemApiModule -->\n\nAuthorizationModule->SystemApiModule\n\n\n\n\n\nSystemModule\n\nSystemModule\n\nSystemApiModule -->\n\nSystemModule->SystemApiModule\n\n\n\n\n\nSystemUc\n\nSystemUc\n\nSystemApiModule -->\n\nSystemUc->SystemApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/system/system-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n SystemUc\n \n \n \n \n Controllers\n \n \n SystemController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n SystemModule\n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationModule } from '@modules/authorization';\nimport { SystemController } from '@modules/system/controller/system.controller';\nimport { SystemUc } from '@modules/system/uc/system.uc';\nimport { Module } from '@nestjs/common';\nimport { SystemModule } from './system.module';\n\n@Module({\n\timports: [SystemModule, AuthorizationModule],\n\tproviders: [SystemUc],\n\tcontrollers: [SystemController],\n})\nexport class SystemApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/SystemController.html":{"url":"controllers/SystemController.html","title":"controller - SystemController","body":"\n \n\n\n\n\n\n\n Controllers\n SystemController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/controller/system.controller.ts\n \n\n \n Prefix\n \n \n systems\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteSystem\n \n \n \n \n \n Async\n find\n \n \n \n \n \n Async\n getSystem\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteSystem\n \n \n \n \n \n \n \n deleteSystem(currentUser: ICurrentUser, params: SystemIdParams)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Delete(':systemId')@ApiForbiddenResponse()@ApiUnauthorizedResponse()@ApiOperation({summary: 'Deletes a system.'})@HttpCode(HttpStatus.NO_CONTENT)\n \n \n\n \n \n Defined in apps/server/src/modules/system/controller/system.controller.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n SystemIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n find\n \n \n \n \n \n \n \n find(filterParams: SystemFilterParams)\n \n \n\n \n \n Decorators : \n \n @Get('public')@ApiOperation({summary: 'Finds all publicly available systems.'})@ApiResponse({status: 200, type: PublicSystemListResponse, description: 'Returns a list of systems.'})\n \n \n\n \n \n Defined in apps/server/src/modules/system/controller/system.controller.ts:21\n \n \n\n\n \n \n This endpoint is used to show users the possible login systems that exist.\nNo sensible data should be returned!\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n filterParams\n \n SystemFilterParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getSystem\n \n \n \n \n \n \n \n getSystem(params: SystemIdParams)\n \n \n\n \n \n Decorators : \n \n @Get('public/:systemId')@ApiOperation({summary: 'Finds a publicly available system.'})@ApiResponse({status: 200, type: PublicSystemResponse, description: 'Returns a system.'})\n \n \n\n \n \n Defined in apps/server/src/modules/system/controller/system.controller.ts:36\n \n \n\n\n \n \n This endpoint is used to get information about a possible login systems.\nNo sensible data should be returned!\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n SystemIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Controller, Delete, Get, HttpCode, HttpStatus, Param, Query } from '@nestjs/common';\nimport { ApiForbiddenResponse, ApiOperation, ApiResponse, ApiTags, ApiUnauthorizedResponse } from '@nestjs/swagger';\nimport { SystemDto } from '../service';\nimport { SystemUc } from '../uc/system.uc';\nimport { PublicSystemListResponse, PublicSystemResponse, SystemFilterParams, SystemIdParams } from './dto';\nimport { SystemResponseMapper } from './mapper/system-response.mapper';\n\n@ApiTags('Systems')\n@Controller('systems')\nexport class SystemController {\n\tconstructor(private readonly systemUc: SystemUc) {}\n\n\t/**\n\t * This endpoint is used to show users the possible login systems that exist.\n\t * No sensible data should be returned!\n\t */\n\t@Get('public')\n\t@ApiOperation({ summary: 'Finds all publicly available systems.' })\n\t@ApiResponse({ status: 200, type: PublicSystemListResponse, description: 'Returns a list of systems.' })\n\tasync find(@Query() filterParams: SystemFilterParams): Promise {\n\t\tconst systemDtos: SystemDto[] = await this.systemUc.findByFilter(filterParams.type, filterParams.onlyOauth);\n\n\t\tconst mapped: PublicSystemListResponse = SystemResponseMapper.mapFromDtoToListResponse(systemDtos);\n\n\t\treturn mapped;\n\t}\n\n\t/**\n\t * This endpoint is used to get information about a possible login systems.\n\t * No sensible data should be returned!\n\t */\n\t@Get('public/:systemId')\n\t@ApiOperation({ summary: 'Finds a publicly available system.' })\n\t@ApiResponse({ status: 200, type: PublicSystemResponse, description: 'Returns a system.' })\n\tasync getSystem(@Param() params: SystemIdParams): Promise {\n\t\tconst systemDto: SystemDto = await this.systemUc.findById(params.systemId);\n\n\t\tconst mapped: PublicSystemResponse = SystemResponseMapper.mapFromDtoToResponse(systemDto);\n\n\t\treturn mapped;\n\t}\n\n\t@Authenticate('jwt')\n\t@Delete(':systemId')\n\t@ApiForbiddenResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiOperation({ summary: 'Deletes a system.' })\n\t@HttpCode(HttpStatus.NO_CONTENT)\n\tasync deleteSystem(@CurrentUser() currentUser: ICurrentUser, @Param() params: SystemIdParams): Promise {\n\t\tawait this.systemUc.delete(currentUser.userId, params.systemId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SystemDomainMapper.html":{"url":"classes/SystemDomainMapper.html","title":"class - SystemDomainMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SystemDomainMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/repo/system-domain.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapEntityToDomainObjectProperties\n \n \n Private\n Static\n mapLdapConfigEntityToDomainObject\n \n \n Private\n Static\n mapOauthConfigEntityToDomainObject\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapEntityToDomainObjectProperties\n \n \n \n \n \n \n \n mapEntityToDomainObjectProperties(entity: SystemEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/repo/system-domain.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n SystemEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SystemProps\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n mapLdapConfigEntityToDomainObject\n \n \n \n \n \n \n \n mapLdapConfigEntityToDomainObject(ldapConfig: LdapConfigEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/repo/system-domain.mapper.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n ldapConfig\n \n LdapConfigEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LdapConfig\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n mapOauthConfigEntityToDomainObject\n \n \n \n \n \n \n \n mapOauthConfigEntityToDomainObject(oauthConfig: OauthConfigEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/repo/system-domain.mapper.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthConfig\n \n OauthConfigEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : OauthConfig\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { LdapConfigEntity, OauthConfigEntity, SystemEntity } from '@shared/domain/entity';\nimport { LdapConfig, OauthConfig, SystemProps } from '../domain';\n\nexport class SystemDomainMapper {\n\tpublic static mapEntityToDomainObjectProperties(entity: SystemEntity): SystemProps {\n\t\tconst mapped: SystemProps = {\n\t\t\tid: entity.id,\n\t\t\turl: entity.url,\n\t\t\ttype: entity.type,\n\t\t\tprovisioningUrl: entity.provisioningUrl,\n\t\t\tprovisioningStrategy: entity.provisioningStrategy,\n\t\t\tdisplayName: entity.displayName,\n\t\t\talias: entity.alias,\n\t\t\toauthConfig: entity.oauthConfig ? this.mapOauthConfigEntityToDomainObject(entity.oauthConfig) : undefined,\n\t\t\tldapConfig: entity.ldapConfig ? this.mapLdapConfigEntityToDomainObject(entity.ldapConfig) : undefined,\n\t\t};\n\n\t\treturn mapped;\n\t}\n\n\tprivate static mapOauthConfigEntityToDomainObject(oauthConfig: OauthConfigEntity): OauthConfig {\n\t\tconst mapped: OauthConfig = new OauthConfig({\n\t\t\tclientId: oauthConfig.clientId,\n\t\t\tclientSecret: oauthConfig.clientSecret,\n\t\t\tidpHint: oauthConfig.idpHint,\n\t\t\tauthEndpoint: oauthConfig.authEndpoint,\n\t\t\tresponseType: oauthConfig.responseType,\n\t\t\tscope: oauthConfig.scope,\n\t\t\tprovider: oauthConfig.provider,\n\t\t\tlogoutEndpoint: oauthConfig.logoutEndpoint,\n\t\t\tissuer: oauthConfig.issuer,\n\t\t\tjwksEndpoint: oauthConfig.jwksEndpoint,\n\t\t\tgrantType: oauthConfig.grantType,\n\t\t\ttokenEndpoint: oauthConfig.tokenEndpoint,\n\t\t\tredirectUri: oauthConfig.redirectUri,\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tprivate static mapLdapConfigEntityToDomainObject(ldapConfig: LdapConfigEntity): LdapConfig {\n\t\tconst mapped: LdapConfig = new LdapConfig({\n\t\t\tactive: !!ldapConfig.active,\n\t\t\turl: ldapConfig.url,\n\t\t\tprovider: ldapConfig.provider,\n\t\t});\n\n\t\treturn mapped;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SystemDto.html":{"url":"classes/SystemDto.html","title":"class - SystemDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SystemDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/service/dto/system.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n alias\n \n \n Optional\n displayName\n \n \n Optional\n id\n \n \n Optional\n ldapActive\n \n \n Optional\n oauthConfig\n \n \n Optional\n provisioningStrategy\n \n \n Optional\n provisioningUrl\n \n \n type\n \n \n Optional\n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(system: SystemDto)\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/system.dto.ts:22\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n system\n \n \n SystemDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n alias\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/system.dto.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/system.dto.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/system.dto.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n ldapActive\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/system.dto.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n oauthConfig\n \n \n \n \n \n \n Type : OauthConfigDto\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/system.dto.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n provisioningStrategy\n \n \n \n \n \n \n Type : SystemProvisioningStrategy\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/system.dto.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n provisioningUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/system.dto.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/system.dto.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/system.dto.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { OauthConfigDto } from '@modules/system/service/dto/oauth-config.dto';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { EntityId } from '@shared/domain/types';\n\nexport class SystemDto {\n\tid?: EntityId;\n\n\ttype: string;\n\n\turl?: string;\n\n\talias?: string;\n\n\tdisplayName?: string;\n\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\n\tprovisioningUrl?: string;\n\n\toauthConfig?: OauthConfigDto;\n\n\tldapActive?: boolean;\n\n\tconstructor(system: SystemDto) {\n\t\tthis.id = system.id;\n\t\tthis.type = system.type;\n\t\tthis.url = system.url;\n\t\tthis.alias = system.alias;\n\t\tthis.displayName = system.displayName;\n\t\tthis.provisioningStrategy = system.provisioningStrategy;\n\t\tthis.provisioningUrl = system.provisioningUrl;\n\t\tthis.oauthConfig = system.oauthConfig;\n\t\tthis.ldapActive = system.ldapActive;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/SystemEntity.html":{"url":"entities/SystemEntity.html","title":"entity - SystemEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n SystemEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/system.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n alias\n \n \n \n Optional\n displayName\n \n \n \n Optional\n ldapConfig\n \n \n \n Optional\n oauthConfig\n \n \n \n Optional\n oidcConfig\n \n \n \n \n Optional\n provisioningStrategy\n \n \n \n Optional\n provisioningUrl\n \n \n \n type\n \n \n \n Optional\n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n alias\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:212\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:215\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n ldapConfig\n \n \n \n \n \n \n Type : LdapConfigEntity\n\n \n \n \n \n Decorators : \n \n \n @Embedded({entity: () => LdapConfigEntity, object: true, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:228\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n oauthConfig\n \n \n \n \n \n \n Type : OauthConfigEntity\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:218\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n oidcConfig\n \n \n \n \n \n \n Type : OidcConfigEntity\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:225\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n provisioningStrategy\n \n \n \n \n \n \n Type : SystemProvisioningStrategy\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})@Enum()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:222\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n provisioningUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:231\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:206\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:209\n \n \n\n\n \n \n\n \n\n\n \n import { Embeddable, Embedded, Entity, Enum, Property } from '@mikro-orm/core';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface SystemEntityProps {\n\ttype: string;\n\turl?: string;\n\talias?: string;\n\tdisplayName?: string;\n\toauthConfig?: OauthConfigEntity;\n\toidcConfig?: OidcConfigEntity;\n\tldapConfig?: LdapConfigEntity;\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\tprovisioningUrl?: string;\n}\n\nexport class OauthConfigEntity {\n\tconstructor(oauthConfig: OauthConfigEntity) {\n\t\tthis.clientId = oauthConfig.clientId;\n\t\tthis.clientSecret = oauthConfig.clientSecret;\n\t\tthis.idpHint = oauthConfig.idpHint;\n\t\tthis.tokenEndpoint = oauthConfig.tokenEndpoint;\n\t\tthis.grantType = oauthConfig.grantType;\n\t\tthis.redirectUri = oauthConfig.redirectUri;\n\t\tthis.scope = oauthConfig.scope;\n\t\tthis.responseType = oauthConfig.responseType;\n\t\tthis.authEndpoint = oauthConfig.authEndpoint;\n\t\tthis.provider = oauthConfig.provider;\n\t\tthis.logoutEndpoint = oauthConfig.logoutEndpoint;\n\t\tthis.issuer = oauthConfig.issuer;\n\t\tthis.jwksEndpoint = oauthConfig.jwksEndpoint;\n\t}\n\n\t@Property()\n\tclientId: string;\n\n\t@Property()\n\tclientSecret: string;\n\n\t@Property({ nullable: true })\n\tidpHint?: string;\n\n\t@Property()\n\tredirectUri: string;\n\n\t@Property()\n\tgrantType: string;\n\n\t@Property()\n\ttokenEndpoint: string;\n\n\t@Property()\n\tauthEndpoint: string;\n\n\t@Property()\n\tresponseType: string;\n\n\t@Property()\n\tscope: string;\n\n\t@Property()\n\tprovider: string;\n\n\t@Property({ nullable: true })\n\tlogoutEndpoint?: string;\n\n\t@Property()\n\tissuer: string;\n\n\t@Property()\n\tjwksEndpoint: string;\n}\n\n@Embeddable()\nexport class LdapConfigEntity {\n\tconstructor(ldapConfig: Readonly) {\n\t\tthis.active = ldapConfig.active;\n\t\tthis.federalState = ldapConfig.federalState;\n\t\tthis.lastSyncAttempt = ldapConfig.lastSyncAttempt;\n\t\tthis.lastSuccessfulFullSync = ldapConfig.lastSuccessfulFullSync;\n\t\tthis.lastSuccessfulPartialSync = ldapConfig.lastSuccessfulPartialSync;\n\t\tthis.lastModifyTimestamp = ldapConfig.lastModifyTimestamp;\n\t\tthis.url = ldapConfig.url;\n\t\tthis.rootPath = ldapConfig.rootPath;\n\t\tthis.searchUser = ldapConfig.searchUser;\n\t\tthis.searchUserPassword = ldapConfig.searchUserPassword;\n\t\tthis.provider = ldapConfig.provider;\n\t\tthis.providerOptions = ldapConfig.providerOptions;\n\t}\n\n\t@Property({ nullable: true })\n\tactive?: boolean;\n\n\t@Property({ nullable: true })\n\tfederalState?: EntityId;\n\n\t@Property({ nullable: true })\n\tlastSyncAttempt?: Date;\n\n\t@Property({ nullable: true })\n\tlastSuccessfulFullSync?: Date;\n\n\t@Property({ nullable: true })\n\tlastSuccessfulPartialSync?: Date;\n\n\t@Property({ nullable: true })\n\tlastModifyTimestamp?: string;\n\n\t@Property()\n\turl: string;\n\n\t@Property({ nullable: true })\n\trootPath?: string;\n\n\t@Property({ nullable: true })\n\tsearchUser?: string;\n\n\t@Property({ nullable: true })\n\tsearchUserPassword?: string;\n\n\t@Property({ nullable: true })\n\tprovider?: string;\n\n\t@Property({ nullable: true })\n\tproviderOptions?: {\n\t\tschoolName?: string;\n\t\tuserPathAdditions?: string;\n\t\tclassPathAdditions?: string;\n\t\troleType?: string;\n\t\tuserAttributeNameMapping?: {\n\t\t\tgivenName?: string;\n\t\t\tsn?: string;\n\t\t\tdn?: string;\n\t\t\tuuid?: string;\n\t\t\tuid?: string;\n\t\t\tmail?: string;\n\t\t\trole?: string;\n\t\t};\n\t\troleAttributeNameMapping?: {\n\t\t\troleStudent?: string;\n\t\t\troleTeacher?: string;\n\t\t\troleAdmin?: string;\n\t\t\troleNoSc?: string;\n\t\t};\n\t\tclassAttributeNameMapping?: {\n\t\t\tdescription?: string;\n\t\t\tdn?: string;\n\t\t\tuniqueMember?: string;\n\t\t};\n\t};\n}\nexport class OidcConfigEntity {\n\tconstructor(oidcConfig: OidcConfigEntity) {\n\t\tthis.clientId = oidcConfig.clientId;\n\t\tthis.clientSecret = oidcConfig.clientSecret;\n\t\tthis.idpHint = oidcConfig.idpHint;\n\t\tthis.authorizationUrl = oidcConfig.authorizationUrl;\n\t\tthis.tokenUrl = oidcConfig.tokenUrl;\n\t\tthis.logoutUrl = oidcConfig.logoutUrl;\n\t\tthis.userinfoUrl = oidcConfig.userinfoUrl;\n\t\tthis.defaultScopes = oidcConfig.defaultScopes;\n\t}\n\n\t@Property()\n\tclientId: string;\n\n\t@Property()\n\tclientSecret: string;\n\n\t@Property()\n\tidpHint: string;\n\n\t@Property()\n\tauthorizationUrl: string;\n\n\t@Property()\n\ttokenUrl: string;\n\n\t@Property()\n\tlogoutUrl: string;\n\n\t@Property()\n\tuserinfoUrl: string;\n\n\t@Property()\n\tdefaultScopes: string;\n}\n\n@Entity({ tableName: 'systems' })\nexport class SystemEntity extends BaseEntityWithTimestamps {\n\tconstructor(props: SystemEntityProps) {\n\t\tsuper();\n\t\tthis.type = props.type;\n\t\tthis.url = props.url;\n\t\tthis.alias = props.alias;\n\t\tthis.displayName = props.displayName;\n\t\tthis.oauthConfig = props.oauthConfig;\n\t\tthis.oidcConfig = props.oidcConfig;\n\t\tthis.ldapConfig = props.ldapConfig;\n\t\tthis.provisioningStrategy = props.provisioningStrategy;\n\t\tthis.provisioningUrl = props.provisioningUrl;\n\t}\n\n\t@Property({ nullable: false })\n\ttype: string; // see legacy enum for valid values\n\n\t@Property({ nullable: true })\n\turl?: string;\n\n\t@Property({ nullable: true })\n\talias?: string;\n\n\t@Property({ nullable: true })\n\tdisplayName?: string;\n\n\t@Property({ nullable: true })\n\toauthConfig?: OauthConfigEntity;\n\n\t@Property({ nullable: true })\n\t@Enum()\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\n\t@Property({ nullable: true })\n\toidcConfig?: OidcConfigEntity;\n\n\t@Embedded({ entity: () => LdapConfigEntity, object: true, nullable: true })\n\tldapConfig?: LdapConfigEntity;\n\n\t@Property({ nullable: true })\n\tprovisioningUrl?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SystemEntityFactory.html":{"url":"classes/SystemEntityFactory.html","title":"class - SystemEntityFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SystemEntityFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/systemEntityFactory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withLdapConfig\n \n \n withOauthConfig\n \n \n withOidcConfig\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withLdapConfig\n \n \n \n \n \n \nwithLdapConfig(otherParams?: DeepPartial)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/systemEntityFactory.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n otherParams\n \n DeepPartial\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withOauthConfig\n \n \n \n \n \n \nwithOauthConfig()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/systemEntityFactory.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n withOidcConfig\n \n \n \n \n \n \nwithOidcConfig()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/systemEntityFactory.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import {\n\tLdapConfigEntity,\n\tOauthConfigEntity,\n\tOidcConfigEntity,\n\tSystemEntity,\n\tSystemEntityProps,\n} from '@shared/domain/entity';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { DeepPartial } from 'fishery';\nimport { BaseFactory } from './base.factory';\n\nexport class SystemEntityFactory extends BaseFactory {\n\twithOauthConfig(): this {\n\t\tconst params: DeepPartial = {\n\t\t\toauthConfig: new OauthConfigEntity({\n\t\t\t\tclientId: '12345',\n\t\t\t\tclientSecret: 'mocksecret',\n\t\t\t\tidpHint: 'mock-oauth-idpHint',\n\t\t\t\ttokenEndpoint: 'https://mock.de/mock/auth/public/mockToken',\n\t\t\t\tgrantType: 'authorization_code',\n\t\t\t\tredirectUri: 'https://mockhost:3030/api/v3/sso/oauth/',\n\t\t\t\tscope: 'openid uuid',\n\t\t\t\tresponseType: 'code',\n\t\t\t\tauthEndpoint: 'https://mock.de/auth',\n\t\t\t\tprovider: 'mock_type',\n\t\t\t\tlogoutEndpoint: 'https://mock.de/logout',\n\t\t\t\tissuer: 'mock_issuer',\n\t\t\t\tjwksEndpoint: 'https://mock.de/jwks',\n\t\t\t}),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithLdapConfig(otherParams?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tldapConfig: new LdapConfigEntity({\n\t\t\t\turl: 'ldaps:mock.de:389',\n\t\t\t\tactive: true,\n\t\t\t\t...otherParams,\n\t\t\t}),\n\t\t};\n\n\t\treturn this.params(params);\n\t}\n\n\twithOidcConfig(): this {\n\t\tconst params = {\n\t\t\toidcConfig: new OidcConfigEntity({\n\t\t\t\tclientId: 'mock-client-id',\n\t\t\t\tclientSecret: 'mock-client-secret',\n\t\t\t\tidpHint: 'mock-oidc-idpHint',\n\t\t\t\tdefaultScopes: 'openid email userinfo',\n\t\t\t\tauthorizationUrl: 'https://mock.tld/auth',\n\t\t\t\ttokenUrl: 'https://mock.tld/token',\n\t\t\t\tuserinfoUrl: 'https://mock.tld/userinfo',\n\t\t\t\tlogoutUrl: 'https://mock.tld/logout',\n\t\t\t}),\n\t\t};\n\t\treturn this.params(params);\n\t}\n}\n\nexport const systemEntityFactory = SystemEntityFactory.define(SystemEntity, ({ sequence }) => {\n\treturn {\n\t\ttype: 'oauth',\n\t\turl: 'https://mock.de',\n\t\talias: `system #${sequence}`,\n\t\tdisplayName: `system #${sequence}DisplayName`,\n\t\tprovisioningStrategy: SystemProvisioningStrategy.OIDC,\n\t\tprovisioningUrl: 'https://provisioningurl.de',\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SystemEntityProps.html":{"url":"interfaces/SystemEntityProps.html","title":"interface - SystemEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SystemEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/system.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n alias\n \n \n \n Optional\n \n displayName\n \n \n \n Optional\n \n ldapConfig\n \n \n \n Optional\n \n oauthConfig\n \n \n \n Optional\n \n oidcConfig\n \n \n \n Optional\n \n provisioningStrategy\n \n \n \n Optional\n \n provisioningUrl\n \n \n \n \n type\n \n \n \n Optional\n \n url\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n alias\n \n \n \n \n \n \n \n \n alias: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n displayName\n \n \n \n \n \n \n \n \n displayName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n ldapConfig\n \n \n \n \n \n \n \n \n ldapConfig: LdapConfigEntity\n\n \n \n\n\n \n \n Type : LdapConfigEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n oauthConfig\n \n \n \n \n \n \n \n \n oauthConfig: OauthConfigEntity\n\n \n \n\n\n \n \n Type : OauthConfigEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n oidcConfig\n \n \n \n \n \n \n \n \n oidcConfig: OidcConfigEntity\n\n \n \n\n\n \n \n Type : OidcConfigEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n provisioningStrategy\n \n \n \n \n \n \n \n \n provisioningStrategy: SystemProvisioningStrategy\n\n \n \n\n\n \n \n Type : SystemProvisioningStrategy\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n provisioningUrl\n \n \n \n \n \n \n \n \n provisioningUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Embeddable, Embedded, Entity, Enum, Property } from '@mikro-orm/core';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface SystemEntityProps {\n\ttype: string;\n\turl?: string;\n\talias?: string;\n\tdisplayName?: string;\n\toauthConfig?: OauthConfigEntity;\n\toidcConfig?: OidcConfigEntity;\n\tldapConfig?: LdapConfigEntity;\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\tprovisioningUrl?: string;\n}\n\nexport class OauthConfigEntity {\n\tconstructor(oauthConfig: OauthConfigEntity) {\n\t\tthis.clientId = oauthConfig.clientId;\n\t\tthis.clientSecret = oauthConfig.clientSecret;\n\t\tthis.idpHint = oauthConfig.idpHint;\n\t\tthis.tokenEndpoint = oauthConfig.tokenEndpoint;\n\t\tthis.grantType = oauthConfig.grantType;\n\t\tthis.redirectUri = oauthConfig.redirectUri;\n\t\tthis.scope = oauthConfig.scope;\n\t\tthis.responseType = oauthConfig.responseType;\n\t\tthis.authEndpoint = oauthConfig.authEndpoint;\n\t\tthis.provider = oauthConfig.provider;\n\t\tthis.logoutEndpoint = oauthConfig.logoutEndpoint;\n\t\tthis.issuer = oauthConfig.issuer;\n\t\tthis.jwksEndpoint = oauthConfig.jwksEndpoint;\n\t}\n\n\t@Property()\n\tclientId: string;\n\n\t@Property()\n\tclientSecret: string;\n\n\t@Property({ nullable: true })\n\tidpHint?: string;\n\n\t@Property()\n\tredirectUri: string;\n\n\t@Property()\n\tgrantType: string;\n\n\t@Property()\n\ttokenEndpoint: string;\n\n\t@Property()\n\tauthEndpoint: string;\n\n\t@Property()\n\tresponseType: string;\n\n\t@Property()\n\tscope: string;\n\n\t@Property()\n\tprovider: string;\n\n\t@Property({ nullable: true })\n\tlogoutEndpoint?: string;\n\n\t@Property()\n\tissuer: string;\n\n\t@Property()\n\tjwksEndpoint: string;\n}\n\n@Embeddable()\nexport class LdapConfigEntity {\n\tconstructor(ldapConfig: Readonly) {\n\t\tthis.active = ldapConfig.active;\n\t\tthis.federalState = ldapConfig.federalState;\n\t\tthis.lastSyncAttempt = ldapConfig.lastSyncAttempt;\n\t\tthis.lastSuccessfulFullSync = ldapConfig.lastSuccessfulFullSync;\n\t\tthis.lastSuccessfulPartialSync = ldapConfig.lastSuccessfulPartialSync;\n\t\tthis.lastModifyTimestamp = ldapConfig.lastModifyTimestamp;\n\t\tthis.url = ldapConfig.url;\n\t\tthis.rootPath = ldapConfig.rootPath;\n\t\tthis.searchUser = ldapConfig.searchUser;\n\t\tthis.searchUserPassword = ldapConfig.searchUserPassword;\n\t\tthis.provider = ldapConfig.provider;\n\t\tthis.providerOptions = ldapConfig.providerOptions;\n\t}\n\n\t@Property({ nullable: true })\n\tactive?: boolean;\n\n\t@Property({ nullable: true })\n\tfederalState?: EntityId;\n\n\t@Property({ nullable: true })\n\tlastSyncAttempt?: Date;\n\n\t@Property({ nullable: true })\n\tlastSuccessfulFullSync?: Date;\n\n\t@Property({ nullable: true })\n\tlastSuccessfulPartialSync?: Date;\n\n\t@Property({ nullable: true })\n\tlastModifyTimestamp?: string;\n\n\t@Property()\n\turl: string;\n\n\t@Property({ nullable: true })\n\trootPath?: string;\n\n\t@Property({ nullable: true })\n\tsearchUser?: string;\n\n\t@Property({ nullable: true })\n\tsearchUserPassword?: string;\n\n\t@Property({ nullable: true })\n\tprovider?: string;\n\n\t@Property({ nullable: true })\n\tproviderOptions?: {\n\t\tschoolName?: string;\n\t\tuserPathAdditions?: string;\n\t\tclassPathAdditions?: string;\n\t\troleType?: string;\n\t\tuserAttributeNameMapping?: {\n\t\t\tgivenName?: string;\n\t\t\tsn?: string;\n\t\t\tdn?: string;\n\t\t\tuuid?: string;\n\t\t\tuid?: string;\n\t\t\tmail?: string;\n\t\t\trole?: string;\n\t\t};\n\t\troleAttributeNameMapping?: {\n\t\t\troleStudent?: string;\n\t\t\troleTeacher?: string;\n\t\t\troleAdmin?: string;\n\t\t\troleNoSc?: string;\n\t\t};\n\t\tclassAttributeNameMapping?: {\n\t\t\tdescription?: string;\n\t\t\tdn?: string;\n\t\t\tuniqueMember?: string;\n\t\t};\n\t};\n}\nexport class OidcConfigEntity {\n\tconstructor(oidcConfig: OidcConfigEntity) {\n\t\tthis.clientId = oidcConfig.clientId;\n\t\tthis.clientSecret = oidcConfig.clientSecret;\n\t\tthis.idpHint = oidcConfig.idpHint;\n\t\tthis.authorizationUrl = oidcConfig.authorizationUrl;\n\t\tthis.tokenUrl = oidcConfig.tokenUrl;\n\t\tthis.logoutUrl = oidcConfig.logoutUrl;\n\t\tthis.userinfoUrl = oidcConfig.userinfoUrl;\n\t\tthis.defaultScopes = oidcConfig.defaultScopes;\n\t}\n\n\t@Property()\n\tclientId: string;\n\n\t@Property()\n\tclientSecret: string;\n\n\t@Property()\n\tidpHint: string;\n\n\t@Property()\n\tauthorizationUrl: string;\n\n\t@Property()\n\ttokenUrl: string;\n\n\t@Property()\n\tlogoutUrl: string;\n\n\t@Property()\n\tuserinfoUrl: string;\n\n\t@Property()\n\tdefaultScopes: string;\n}\n\n@Entity({ tableName: 'systems' })\nexport class SystemEntity extends BaseEntityWithTimestamps {\n\tconstructor(props: SystemEntityProps) {\n\t\tsuper();\n\t\tthis.type = props.type;\n\t\tthis.url = props.url;\n\t\tthis.alias = props.alias;\n\t\tthis.displayName = props.displayName;\n\t\tthis.oauthConfig = props.oauthConfig;\n\t\tthis.oidcConfig = props.oidcConfig;\n\t\tthis.ldapConfig = props.ldapConfig;\n\t\tthis.provisioningStrategy = props.provisioningStrategy;\n\t\tthis.provisioningUrl = props.provisioningUrl;\n\t}\n\n\t@Property({ nullable: false })\n\ttype: string; // see legacy enum for valid values\n\n\t@Property({ nullable: true })\n\turl?: string;\n\n\t@Property({ nullable: true })\n\talias?: string;\n\n\t@Property({ nullable: true })\n\tdisplayName?: string;\n\n\t@Property({ nullable: true })\n\toauthConfig?: OauthConfigEntity;\n\n\t@Property({ nullable: true })\n\t@Enum()\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\n\t@Property({ nullable: true })\n\toidcConfig?: OidcConfigEntity;\n\n\t@Embedded({ entity: () => LdapConfigEntity, object: true, nullable: true })\n\tldapConfig?: LdapConfigEntity;\n\n\t@Property({ nullable: true })\n\tprovisioningUrl?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SystemFilterParams.html":{"url":"classes/SystemFilterParams.html","title":"class - SystemFilterParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SystemFilterParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/controller/dto/system.filter.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n onlyOauth\n \n \n \n \n \n Optional\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n onlyOauth\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Flag to request only systems with oauth-config.'})@IsOptional()@IsBoolean()@StringToBoolean()\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/system.filter.params.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n type\n \n \n \n \n \n \n Type : SystemTypeEnum\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The type of the system.'})@IsOptional()@IsEnum(SystemTypeEnum)\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/system.filter.params.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { SystemTypeEnum } from '@shared/domain/types';\nimport { IsBoolean, IsEnum, IsOptional } from 'class-validator';\n\nexport class SystemFilterParams {\n\t@ApiPropertyOptional({ description: 'The type of the system.' })\n\t@IsOptional()\n\t@IsEnum(SystemTypeEnum)\n\ttype?: SystemTypeEnum;\n\n\t@ApiPropertyOptional({ description: 'Flag to request only systems with oauth-config.' })\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\tonlyOauth?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SystemIdParams.html":{"url":"classes/SystemIdParams.html","title":"class - SystemIdParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SystemIdParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/controller/dto/system-id.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n systemId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n systemId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/system-id.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { EntityId } from '@shared/domain/types';\nimport { IsMongoId } from 'class-validator';\n\nexport class SystemIdParams {\n\t@IsMongoId()\n\t@ApiProperty()\n\tsystemId!: EntityId;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SystemMapper.html":{"url":"classes/SystemMapper.html","title":"class - SystemMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SystemMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/mapper/system.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapFromEntitiesToDtos\n \n \n Static\n mapFromEntityToDto\n \n \n Static\n mapFromOauthConfigEntityToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapFromEntitiesToDtos\n \n \n \n \n \n \n \n mapFromEntitiesToDtos(entities: SystemEntity[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/mapper/system.mapper.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n SystemEntity[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SystemDto[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapFromEntityToDto\n \n \n \n \n \n \n \n mapFromEntityToDto(entity: SystemEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/mapper/system.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n SystemEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SystemDto\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapFromOauthConfigEntityToDto\n \n \n \n \n \n \n \n mapFromOauthConfigEntityToDto(oauthConfig: OauthConfigEntity | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/mapper/system.mapper.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthConfig\n \n OauthConfigEntity | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : OauthConfigDto | undefined\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { OauthConfigDto } from '@modules/system/service/dto/oauth-config.dto';\nimport { SystemDto } from '@modules/system/service/dto/system.dto';\nimport { OauthConfigEntity, SystemEntity } from '@shared/domain/entity';\n\nexport class SystemMapper {\n\tstatic mapFromEntityToDto(entity: SystemEntity): SystemDto {\n\t\treturn new SystemDto({\n\t\t\tid: entity.id,\n\t\t\ttype: entity.type,\n\t\t\turl: entity.url,\n\t\t\talias: entity.alias,\n\t\t\tdisplayName: entity.displayName ?? entity.alias,\n\t\t\tprovisioningStrategy: entity.provisioningStrategy,\n\t\t\tprovisioningUrl: entity.provisioningUrl,\n\t\t\toauthConfig: SystemMapper.mapFromOauthConfigEntityToDto(entity.oauthConfig),\n\t\t\tldapActive: entity.ldapConfig?.active,\n\t\t});\n\t}\n\n\tstatic mapFromOauthConfigEntityToDto(oauthConfig: OauthConfigEntity | undefined): OauthConfigDto | undefined {\n\t\tif (!oauthConfig) return undefined;\n\t\treturn new OauthConfigDto({\n\t\t\tclientId: oauthConfig.clientId,\n\t\t\tclientSecret: oauthConfig.clientSecret,\n\t\t\tidpHint: oauthConfig.idpHint,\n\t\t\tredirectUri: oauthConfig.redirectUri,\n\t\t\tgrantType: oauthConfig.grantType,\n\t\t\ttokenEndpoint: oauthConfig.tokenEndpoint,\n\t\t\tauthEndpoint: oauthConfig.authEndpoint,\n\t\t\tresponseType: oauthConfig.responseType,\n\t\t\tscope: oauthConfig.scope,\n\t\t\tprovider: oauthConfig.provider,\n\t\t\tlogoutEndpoint: oauthConfig.logoutEndpoint,\n\t\t\tissuer: oauthConfig.issuer,\n\t\t\tjwksEndpoint: oauthConfig.jwksEndpoint,\n\t\t});\n\t}\n\n\tstatic mapFromEntitiesToDtos(entities: SystemEntity[]): SystemDto[] {\n\t\treturn entities.map((entity) => this.mapFromEntityToDto(entity));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/SystemModule.html":{"url":"modules/SystemModule.html","title":"module - SystemModule","body":"\n \n\n\n\n\n Modules\n SystemModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_SystemModule\n\n\n\ncluster_SystemModule_exports\n\n\n\ncluster_SystemModule_imports\n\n\n\ncluster_SystemModule_providers\n\n\n\n\nIdentityManagementModule\n\nIdentityManagementModule\n\n\n\nSystemModule\n\nSystemModule\n\nSystemModule -->\n\nIdentityManagementModule->SystemModule\n\n\n\n\n\nLegacySystemService \n\nLegacySystemService \n\nLegacySystemService -->\n\nSystemModule->LegacySystemService \n\n\n\n\n\nSystemOidcService \n\nSystemOidcService \n\nSystemOidcService -->\n\nSystemModule->SystemOidcService \n\n\n\n\n\nSystemService \n\nSystemService \n\nSystemService -->\n\nSystemModule->SystemService \n\n\n\n\n\nLegacySystemRepo\n\nLegacySystemRepo\n\nSystemModule -->\n\nLegacySystemRepo->SystemModule\n\n\n\n\n\nLegacySystemService\n\nLegacySystemService\n\nSystemModule -->\n\nLegacySystemService->SystemModule\n\n\n\n\n\nSystemOidcService\n\nSystemOidcService\n\nSystemModule -->\n\nSystemOidcService->SystemModule\n\n\n\n\n\nSystemRepo\n\nSystemRepo\n\nSystemModule -->\n\nSystemRepo->SystemModule\n\n\n\n\n\nSystemService\n\nSystemService\n\nSystemModule -->\n\nSystemService->SystemModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/system/system.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n LegacySystemRepo\n \n \n LegacySystemService\n \n \n SystemOidcService\n \n \n SystemRepo\n \n \n SystemService\n \n \n \n \n Imports\n \n \n IdentityManagementModule\n \n \n \n \n Exports\n \n \n LegacySystemService\n \n \n SystemOidcService\n \n \n SystemService\n \n \n \n \n \n\n\n \n\n\n \n import { IdentityManagementModule } from '@infra/identity-management/identity-management.module';\nimport { Module } from '@nestjs/common';\nimport { LegacySystemRepo } from '@shared/repo';\nimport { SystemRepo } from './repo';\nimport { LegacySystemService, SystemService } from './service';\nimport { SystemOidcService } from './service/system-oidc.service';\n\n@Module({\n\timports: [IdentityManagementModule],\n\tproviders: [LegacySystemRepo, LegacySystemService, SystemOidcService, SystemService, SystemRepo],\n\texports: [LegacySystemService, SystemOidcService, SystemService],\n})\nexport class SystemModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SystemOidcMapper.html":{"url":"classes/SystemOidcMapper.html","title":"class - SystemOidcMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SystemOidcMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/mapper/system-oidc.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapFromEntitiesToDtos\n \n \n Static\n mapFromEntityToDto\n \n \n Static\n mapFromOidcConfigEntityToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapFromEntitiesToDtos\n \n \n \n \n \n \n \n mapFromEntitiesToDtos(entities: SystemEntity[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/mapper/system-oidc.mapper.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n SystemEntity[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : OidcConfigDto[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapFromEntityToDto\n \n \n \n \n \n \n \n mapFromEntityToDto(entity: SystemEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/mapper/system-oidc.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n SystemEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : OidcConfigDto | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapFromOidcConfigEntityToDto\n \n \n \n \n \n \n \n mapFromOidcConfigEntityToDto(systemId: string, oidcConfig: OidcConfigEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/mapper/system-oidc.mapper.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n oidcConfig\n \n OidcConfigEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : OidcConfigDto\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { OidcConfigDto } from '@modules/system/service/dto/oidc-config.dto';\nimport { OidcConfigEntity, SystemEntity } from '@shared/domain/entity';\n\nexport class SystemOidcMapper {\n\tstatic mapFromEntityToDto(entity: SystemEntity): OidcConfigDto | undefined {\n\t\tif (entity.oidcConfig) {\n\t\t\treturn SystemOidcMapper.mapFromOidcConfigEntityToDto(entity.id, entity.oidcConfig);\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tstatic mapFromOidcConfigEntityToDto(systemId: string, oidcConfig: OidcConfigEntity): OidcConfigDto {\n\t\treturn new OidcConfigDto({\n\t\t\tparentSystemId: systemId,\n\t\t\tclientId: oidcConfig.clientId,\n\t\t\tclientSecret: oidcConfig?.clientSecret,\n\t\t\tidpHint: oidcConfig.idpHint,\n\t\t\tauthorizationUrl: oidcConfig.authorizationUrl,\n\t\t\ttokenUrl: oidcConfig.tokenUrl,\n\t\t\tuserinfoUrl: oidcConfig.userinfoUrl,\n\t\t\tlogoutUrl: oidcConfig.logoutUrl,\n\t\t\tdefaultScopes: oidcConfig.defaultScopes,\n\t\t});\n\t}\n\n\tstatic mapFromEntitiesToDtos(entities: SystemEntity[]): OidcConfigDto[] {\n\t\treturn entities\n\t\t\t.map((entity) => this.mapFromEntityToDto(entity))\n\t\t\t.filter((entity): entity is OidcConfigDto => entity !== undefined);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SystemOidcService.html":{"url":"injectables/SystemOidcService.html","title":"injectable - SystemOidcService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SystemOidcService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/service/system-oidc.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findAll\n \n \n Async\n findById\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(systemRepo: LegacySystemRepo)\n \n \n \n \n Defined in apps/server/src/modules/system/service/system-oidc.service.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemRepo\n \n \n LegacySystemRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findAll\n \n \n \n \n \n \n \n findAll()\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/service/system-oidc.service.ts:22\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/service/system-oidc.service.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityNotFoundError } from '@shared/common';\nimport { SystemEntity } from '@shared/domain/entity';\nimport { EntityId, SystemTypeEnum } from '@shared/domain/types';\nimport { LegacySystemRepo } from '@shared/repo';\nimport { SystemOidcMapper } from '../mapper';\nimport { OidcConfigDto } from './dto';\n\n@Injectable()\nexport class SystemOidcService {\n\tconstructor(private readonly systemRepo: LegacySystemRepo) {}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst system = await this.systemRepo.findById(id);\n\t\tconst mappedEntity = SystemOidcMapper.mapFromEntityToDto(system);\n\t\tif (!mappedEntity) {\n\t\t\tthrow new EntityNotFoundError(SystemEntity.name, { id });\n\t\t}\n\t\treturn mappedEntity;\n\t}\n\n\tasync findAll(): Promise {\n\t\tconst system = await this.systemRepo.findByFilter(SystemTypeEnum.OIDC);\n\t\treturn SystemOidcMapper.mapFromEntitiesToDtos(system);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SystemProps.html":{"url":"interfaces/SystemProps.html","title":"interface - SystemProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SystemProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/domain/system.do.ts\n \n\n\n\n \n Extends\n \n \n AuthorizableObject\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n alias\n \n \n \n Optional\n \n displayName\n \n \n \n Optional\n \n ldapConfig\n \n \n \n Optional\n \n oauthConfig\n \n \n \n Optional\n \n provisioningStrategy\n \n \n \n Optional\n \n provisioningUrl\n \n \n \n \n type\n \n \n \n Optional\n \n url\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n alias\n \n \n \n \n \n \n \n \n alias: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n displayName\n \n \n \n \n \n \n \n \n displayName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n ldapConfig\n \n \n \n \n \n \n \n \n ldapConfig: LdapConfig\n\n \n \n\n\n \n \n Type : LdapConfig\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n oauthConfig\n \n \n \n \n \n \n \n \n oauthConfig: OauthConfig\n\n \n \n\n\n \n \n Type : OauthConfig\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n provisioningStrategy\n \n \n \n \n \n \n \n \n provisioningStrategy: SystemProvisioningStrategy\n\n \n \n\n\n \n \n Type : SystemProvisioningStrategy\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n provisioningUrl\n \n \n \n \n \n \n \n \n provisioningUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { LdapConfig } from './ldap-config';\nimport { OauthConfig } from './oauth-config';\n\nexport interface SystemProps extends AuthorizableObject {\n\ttype: string;\n\n\turl?: string;\n\n\talias?: string;\n\n\tdisplayName?: string;\n\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\n\tprovisioningUrl?: string;\n\n\toauthConfig?: OauthConfig;\n\n\tldapConfig?: LdapConfig;\n}\n\nexport class System extends DomainObject {\n\tget ldapConfig(): LdapConfig | undefined {\n\t\treturn this.props.ldapConfig;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SystemRepo.html":{"url":"injectables/SystemRepo.html","title":"injectable - SystemRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SystemRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/repo/system.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n delete\n \n \n Public\n Async\n findById\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/system/repo/system.repo.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n delete\n \n \n \n \n \n \n \n delete(domainObject: System)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/repo/system.repo.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n System\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/repo/system.repo.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { SystemEntity } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { System, SystemProps } from '../domain';\nimport { SystemDomainMapper } from './system-domain.mapper';\n\n@Injectable()\nexport class SystemRepo {\n\tconstructor(private readonly em: EntityManager) {}\n\n\tpublic async findById(id: EntityId): Promise {\n\t\tconst entity: SystemEntity | null = await this.em.findOne(SystemEntity, { id });\n\n\t\tif (!entity) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst props: SystemProps = SystemDomainMapper.mapEntityToDomainObjectProperties(entity);\n\n\t\tconst domainObject: System = new System(props);\n\n\t\treturn domainObject;\n\t}\n\n\tpublic async delete(domainObject: System): Promise {\n\t\tconst entity: SystemEntity | null = await this.em.findOne(SystemEntity, { id: domainObject.id });\n\n\t\tif (!entity) {\n\t\t\treturn false;\n\t\t}\n\n\t\tawait this.em.removeAndFlush(entity);\n\n\t\treturn true;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SystemResponseMapper.html":{"url":"classes/SystemResponseMapper.html","title":"class - SystemResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SystemResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/controller/mapper/system-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapFromDtoToListResponse\n \n \n Static\n mapFromDtoToResponse\n \n \n Static\n mapFromOauthConfigDtoToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapFromDtoToListResponse\n \n \n \n \n \n \n \n mapFromDtoToListResponse(systems: SystemDto[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/controller/mapper/system-response.mapper.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n systems\n \n SystemDto[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : PublicSystemListResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapFromDtoToResponse\n \n \n \n \n \n \n \n mapFromDtoToResponse(system: SystemDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/controller/mapper/system-response.mapper.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n system\n \n SystemDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : PublicSystemResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapFromOauthConfigDtoToResponse\n \n \n \n \n \n \n \n mapFromOauthConfigDtoToResponse(oauthConfigDto: OauthConfigDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/controller/mapper/system-response.mapper.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthConfigDto\n \n OauthConfigDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : OauthConfigResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { OauthConfigResponse } from '@modules/system/controller/dto/oauth-config.response';\nimport { OauthConfigDto } from '@modules/system/service/dto/oauth-config.dto';\nimport { SystemDto } from '@modules/system/service/dto/system.dto';\nimport { PublicSystemListResponse } from '../dto/public-system-list.response';\nimport { PublicSystemResponse } from '../dto/public-system-response';\n\nexport class SystemResponseMapper {\n\tstatic mapFromDtoToListResponse(systems: SystemDto[]): PublicSystemListResponse {\n\t\tconst systemResponses: PublicSystemResponse[] = systems.map(\n\t\t\t(system: SystemDto): PublicSystemResponse => this.mapFromDtoToResponse(system)\n\t\t);\n\n\t\tconst systemListResponse: PublicSystemListResponse = new PublicSystemListResponse(systemResponses);\n\n\t\treturn systemListResponse;\n\t}\n\n\tstatic mapFromDtoToResponse(system: SystemDto): PublicSystemResponse {\n\t\tconst systemResponse: PublicSystemResponse = new PublicSystemResponse({\n\t\t\tid: system.id || '',\n\t\t\ttype: system.type,\n\t\t\talias: system.alias,\n\t\t\tdisplayName: system.displayName,\n\t\t\toauthConfig: system.oauthConfig\n\t\t\t\t? SystemResponseMapper.mapFromOauthConfigDtoToResponse(system.oauthConfig)\n\t\t\t\t: undefined,\n\t\t});\n\n\t\treturn systemResponse;\n\t}\n\n\tstatic mapFromOauthConfigDtoToResponse(oauthConfigDto: OauthConfigDto): OauthConfigResponse {\n\t\tconst oauthConfigResponse: OauthConfigResponse = new OauthConfigResponse({\n\t\t\tclientId: oauthConfigDto.clientId,\n\t\t\t// clientSecret will not be mapped for security reasons,\n\t\t\tidpHint: oauthConfigDto.idpHint,\n\t\t\tredirectUri: oauthConfigDto.redirectUri,\n\t\t\tgrantType: oauthConfigDto.grantType,\n\t\t\ttokenEndpoint: oauthConfigDto.tokenEndpoint,\n\t\t\tauthEndpoint: oauthConfigDto.authEndpoint,\n\t\t\tresponseType: oauthConfigDto.responseType,\n\t\t\tscope: oauthConfigDto.scope,\n\t\t\tprovider: oauthConfigDto.provider,\n\t\t\tlogoutEndpoint: oauthConfigDto.logoutEndpoint,\n\t\t\tissuer: oauthConfigDto.issuer,\n\t\t\tjwksEndpoint: oauthConfigDto.jwksEndpoint,\n\t\t});\n\n\t\treturn oauthConfigResponse;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SystemRule.html":{"url":"injectables/SystemRule.html","title":"injectable - SystemRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SystemRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/system.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n canEdit\n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/system.rule.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n canEdit\n \n \n \n \n \n \n \n canEdit(system)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/system.rule.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n system\n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, domainObject: System, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/system.rule.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n domainObject\n \n System\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, domainObject: System)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/system.rule.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n domainObject\n \n System\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { System } from '@modules/system';\nimport { Injectable } from '@nestjs/common';\nimport { User } from '@shared/domain/entity';\nimport { AuthorizationHelper } from '../service/authorization.helper';\nimport { Action, AuthorizationContext, Rule } from '../type';\n\n@Injectable()\nexport class SystemRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper) {}\n\n\tpublic isApplicable(user: User, domainObject: System): boolean {\n\t\tconst isMatched: boolean = domainObject instanceof System;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, domainObject: System, context: AuthorizationContext): boolean {\n\t\tconst hasPermissions: boolean = this.authorizationHelper.hasAllPermissions(user, context.requiredPermissions);\n\n\t\tconst hasAccess: boolean = user.school.systems.getIdentifiers().includes(domainObject.id);\n\n\t\tlet isAuthorized: boolean = hasPermissions && hasAccess;\n\n\t\tif (context.action === Action.write) {\n\t\t\tisAuthorized = isAuthorized && this.canEdit(domainObject);\n\t\t}\n\n\t\treturn isAuthorized;\n\t}\n\n\tpublic canEdit(system: unknown): boolean {\n\t\tconst canEdit: boolean =\n\t\t\ttypeof system === 'object' &&\n\t\t\t!!system &&\n\t\t\t'ldapConfig' in system &&\n\t\t\ttypeof system.ldapConfig === 'object' &&\n\t\t\t!!system.ldapConfig &&\n\t\t\t'provider' in system.ldapConfig &&\n\t\t\tsystem.ldapConfig.provider === 'general';\n\n\t\treturn canEdit;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SystemScope.html":{"url":"classes/SystemScope.html","title":"class - SystemScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SystemScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/system/system-scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withLdapConfig\n \n \n withOauthConfig\n \n \n withOidcConfig\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withLdapConfig\n \n \n \n \n \n \nwithLdapConfig()\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/system/system-scope.ts:5\n \n \n\n\n \n \n\n \n Returns : SystemScope\n\n \n \n \n \n \n \n \n \n \n \n \n withOauthConfig\n \n \n \n \n \n \nwithOauthConfig()\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/system/system-scope.ts:10\n \n \n\n\n \n \n\n \n Returns : SystemScope\n\n \n \n \n \n \n \n \n \n \n \n \n withOidcConfig\n \n \n \n \n \n \nwithOidcConfig()\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/system/system-scope.ts:15\n \n \n\n\n \n \n\n \n Returns : SystemScope\n\n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { SystemEntity } from '@shared/domain/entity';\nimport { Scope } from '../scope';\n\nexport class SystemScope extends Scope {\n\twithLdapConfig(): SystemScope {\n\t\tthis.addQuery({ ldapConfig: { $ne: null } });\n\t\treturn this;\n\t}\n\n\twithOauthConfig(): SystemScope {\n\t\tthis.addQuery({ oauthConfig: { $ne: null } });\n\t\treturn this;\n\t}\n\n\twithOidcConfig(): SystemScope {\n\t\tthis.addQuery({ oidcConfig: { $ne: null } });\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SystemService.html":{"url":"injectables/SystemService.html","title":"injectable - SystemService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SystemService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/service/system.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n delete\n \n \n Public\n Async\n findById\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(systemRepo: SystemRepo)\n \n \n \n \n Defined in apps/server/src/modules/system/service/system.service.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemRepo\n \n \n SystemRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n delete\n \n \n \n \n \n \n \n delete(domainObject: System)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/service/system.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n System\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/service/system.service.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { System } from '../domain';\nimport { SystemRepo } from '../repo';\n\n@Injectable()\nexport class SystemService {\n\tconstructor(private readonly systemRepo: SystemRepo) {}\n\n\tpublic async findById(id: EntityId): Promise {\n\t\tconst system: System | null = await this.systemRepo.findById(id);\n\n\t\treturn system;\n\t}\n\n\tpublic async delete(domainObject: System): Promise {\n\t\tconst deleted: boolean = await this.systemRepo.delete(domainObject);\n\n\t\treturn deleted;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SystemUc.html":{"url":"injectables/SystemUc.html","title":"injectable - SystemUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SystemUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/uc/system.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n delete\n \n \n Async\n findByFilter\n \n \n Async\n findById\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(legacySystemService: LegacySystemService, systemService: SystemService, authorizationService: AuthorizationService)\n \n \n \n \n Defined in apps/server/src/modules/system/uc/system.uc.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n legacySystemService\n \n \n LegacySystemService\n \n \n \n No\n \n \n \n \n systemService\n \n \n SystemService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(userId: EntityId, systemId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/uc/system.uc.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByFilter\n \n \n \n \n \n \n \n findByFilter(type?: SystemType, onlyOauth)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/uc/system.uc.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n type\n \n SystemType\n \n\n \n Yes\n \n\n \n \n\n \n \n onlyOauth\n \n \n\n \n No\n \n\n \n false\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/uc/system.uc.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport { EntityNotFoundError } from '@shared/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { SystemEntity, User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId, SystemType, SystemTypeEnum } from '@shared/domain/types';\nimport { System } from '../domain';\nimport { LegacySystemService, SystemDto, SystemService } from '../service';\n\n@Injectable()\nexport class SystemUc {\n\tconstructor(\n\t\tprivate readonly legacySystemService: LegacySystemService,\n\t\tprivate readonly systemService: SystemService,\n\t\tprivate readonly authorizationService: AuthorizationService\n\t) {}\n\n\tasync findByFilter(type?: SystemType, onlyOauth = false): Promise {\n\t\tlet systems: SystemDto[];\n\n\t\tif (onlyOauth) {\n\t\t\tsystems = await this.legacySystemService.findByType(SystemTypeEnum.OAUTH);\n\t\t} else {\n\t\t\tsystems = await this.legacySystemService.findByType(type);\n\t\t}\n\n\t\tsystems = systems.filter((system: SystemDto) => system.ldapActive !== false);\n\n\t\treturn systems;\n\t}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst system: SystemDto = await this.legacySystemService.findById(id);\n\n\t\tif (system.ldapActive === false) {\n\t\t\tthrow new EntityNotFoundError(SystemEntity.name, { id });\n\t\t}\n\n\t\treturn system;\n\t}\n\n\tasync delete(userId: EntityId, systemId: EntityId): Promise {\n\t\tconst system: System | null = await this.systemService.findById(systemId);\n\n\t\tif (!system) {\n\t\t\tthrow new NotFoundLoggableException(System.name, 'id', systemId);\n\t\t}\n\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(userId);\n\t\tthis.authorizationService.checkPermission(\n\t\t\tuser,\n\t\t\tsystem,\n\t\t\tAuthorizationContextBuilder.write([Permission.SYSTEM_CREATE])\n\t\t);\n\n\t\tawait this.systemService.delete(system);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TargetGroupProperties.html":{"url":"interfaces/TargetGroupProperties.html","title":"interface - TargetGroupProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TargetGroupProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/materials.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n grade\n \n \n \n Optional\n \n schoolType\n \n \n \n Optional\n \n state\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n grade\n \n \n \n \n \n \n \n \n grade: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n schoolType\n \n \n \n \n \n \n \n \n schoolType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n state\n \n \n \n \n \n \n \n \n state: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface TargetGroupProperties {\n\tstate?: string;\n\tschoolType?: string;\n\tgrade?: string;\n}\n\nexport interface RelatedResourceProperties {\n\toriginId?: string;\n\trelationType?: string;\n}\n\nexport interface MaterialProperties {\n\tclient: string;\n\tdescription?: string;\n\tlicense: string[];\n\tmerlinReference?: string;\n\trelatedResources: RelatedResourceProperties[];\n\tsubjects: string[];\n\ttags: string[];\n\ttargetGroups: TargetGroupProperties[];\n\ttitle: string;\n\turl: string;\n}\n\n@Entity({ collection: 'materials' })\nexport class Material extends BaseEntityWithTimestamps {\n\t@Property()\n\tclient: string;\n\n\t@Property()\n\tdescription?: string;\n\n\t@Property()\n\tlicense: string[];\n\n\t@Property()\n\tmerlinReference?: string;\n\n\t@Property()\n\trelatedResources: RelatedResourceProperties[] | [];\n\n\t@Property()\n\tsubjects: string[] | [];\n\n\t@Property()\n\ttags: string[] | [];\n\n\t@Property()\n\ttargetGroups: TargetGroupProperties[] | [];\n\n\t@Property()\n\ttitle: string;\n\n\t@Property()\n\turl: string;\n\n\tconstructor(props: MaterialProperties) {\n\t\tsuper();\n\t\tthis.client = props.client;\n\t\tthis.description = props.description || '';\n\t\tthis.license = props.license;\n\t\tthis.merlinReference = props.merlinReference || '';\n\t\tthis.relatedResources = props.relatedResources;\n\t\tthis.subjects = props.subjects;\n\t\tthis.tags = props.tags;\n\t\tthis.targetGroups = props.targetGroups;\n\t\tthis.title = props.title;\n\t\tthis.url = props.url;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TargetInfoMapper.html":{"url":"classes/TargetInfoMapper.html","title":"class - TargetInfoMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TargetInfoMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/mapper/target-info.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(target: NewsTarget)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/mapper/target-info.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n target\n \n NewsTarget\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TargetInfoResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { NewsTarget } from '@shared/domain/types';\nimport { TargetInfoResponse } from '../controller/dto/target-info.response';\n\nexport class TargetInfoMapper {\n\tstatic mapToResponse(target: NewsTarget): TargetInfoResponse {\n\t\tconst dto = new TargetInfoResponse({ id: target.id, name: target.name });\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TargetInfoResponse.html":{"url":"classes/TargetInfoResponse.html","title":"class - TargetInfoResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TargetInfoResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/dto/target-info.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: TargetInfoResponse)\n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/target-info.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n TargetInfoResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}', description: 'The id of the Target entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/target-info.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The name of the Target entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/target-info.response.ts:18\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class TargetInfoResponse {\n\tconstructor({ id, name }: TargetInfoResponse) {\n\t\tthis.id = id;\n\t\tthis.name = name;\n\t}\n\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'The id of the Target entity',\n\t})\n\tid: string;\n\n\t@ApiProperty({\n\t\tdescription: 'The name of the Target entity',\n\t})\n\tname: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/Task.html":{"url":"entities/Task.html","title":"entity - Task","body":"\n \n\n\n\n\n\n\n\n Entities\n Task\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/task.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n availableDate\n \n \n \n \n Optional\n course\n \n \n \n \n creator\n \n \n \n description\n \n \n \n descriptionInputFormat\n \n \n \n \n Optional\n dueDate\n \n \n \n \n finished\n \n \n \n \n Optional\n lesson\n \n \n \n name\n \n \n \n private\n \n \n \n Optional\n publicSubmissions\n \n \n \n \n school\n \n \n \n submissions\n \n \n \n Optional\n teamSubmissions\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n availableDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n course\n \n \n \n \n \n \n Type : Course\n\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToOne('Course', {fieldName: 'courseId', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:75\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n creator\n \n \n \n \n \n \n Type : User\n\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToOne('User', {fieldName: 'teacherId'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:71\n \n \n\n\n \n \n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:48\n \n \n\n\n \n \n \n \n \n \n \n \n \n descriptionInputFormat\n \n \n \n \n \n \n Type : InputFormat\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:51\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n dueDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n finished\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToMany('User', undefined, {fieldName: 'archived'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:90\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n lesson\n \n \n \n \n \n \n Type : LessonEntity\n\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToOne('LessonEntity', {fieldName: 'lessonId', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:83\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:45\n \n \n\n\n \n \n \n \n \n \n \n \n \n private\n \n \n \n \n \n \n Default value : true\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:61\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n publicSubmissions\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:64\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n Type : SchoolEntity\n\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToOne(undefined, {fieldName: 'schoolId'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:79\n \n \n\n\n \n \n \n \n \n \n \n \n \n submissions\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @OneToMany('Submission', 'task')\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:86\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n teamSubmissions\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:67\n \n \n\n\n \n \n\n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { SchoolEntity } from '@shared/domain/entity/school.entity';\nimport { InputFormat } from '@shared/domain/types/input-format.types';\nimport type { EntityWithSchool } from '../interface';\nimport type { LearnroomElement } from '../interface/learnroom';\nimport type { EntityId } from '../types/entity-id';\nimport type { TaskProperties, TaskStatus } from '../types/task.types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport type { LessonEntity } from './lesson.entity';\nimport type { Submission } from './submission.entity';\nimport { User } from './user.entity';\n\nexport class TaskWithStatusVo {\n\ttask!: Task;\n\n\tstatus!: TaskStatus;\n\n\tconstructor(task: Task, status: TaskStatus) {\n\t\tthis.task = task;\n\t\tthis.status = status;\n\t}\n}\n\nexport type TaskParentDescriptions = {\n\tcourseName: string;\n\tcourseId: string;\n\tlessonName: string;\n\tlessonHidden: boolean;\n\tcolor: string;\n};\n\nexport interface TaskParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'homeworks' })\n@Index({ properties: ['private', 'dueDate', 'finished'] })\n@Index({ properties: ['id', 'private'] })\n@Index({ properties: ['finished', 'course'] })\n@Index({ properties: ['finished', 'course'] })\nexport class Task extends BaseEntityWithTimestamps implements LearnroomElement, EntityWithSchool {\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tdescription: string;\n\n\t@Property()\n\tdescriptionInputFormat: InputFormat;\n\n\t@Property({ nullable: true })\n\tavailableDate?: Date;\n\n\t@Property({ nullable: true })\n\t@Index()\n\tdueDate?: Date;\n\n\t@Property()\n\tprivate = true;\n\n\t@Property({ nullable: true })\n\tpublicSubmissions?: boolean;\n\n\t@Property({ nullable: true })\n\tteamSubmissions?: boolean;\n\n\t@Index()\n\t@ManyToOne('User', { fieldName: 'teacherId' })\n\tcreator: User;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId', nullable: true })\n\tcourse?: Course;\n\n\t@Index()\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool: SchoolEntity;\n\n\t@Index()\n\t@ManyToOne('LessonEntity', { fieldName: 'lessonId', nullable: true })\n\tlesson?: LessonEntity; // In database exist also null, but it can not set.\n\n\t@OneToMany('Submission', 'task')\n\tsubmissions = new Collection(this);\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'archived' })\n\tfinished = new Collection(this);\n\n\tconstructor(props: TaskProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.description = props.description || '';\n\t\tthis.descriptionInputFormat = props.descriptionInputFormat || InputFormat.RICH_TEXT_CK4;\n\t\tthis.availableDate = props.availableDate;\n\t\tthis.dueDate = props.dueDate;\n\n\t\tif (props.private !== undefined) this.private = props.private;\n\t\tthis.creator = props.creator;\n\t\tthis.course = props.course;\n\t\tthis.school = props.school;\n\t\tthis.lesson = props.lesson;\n\t\tthis.submissions.set(props.submissions || []);\n\t\tthis.finished.set(props.finished || []);\n\t\tthis.publicSubmissions = props.publicSubmissions || false;\n\t\tthis.teamSubmissions = props.teamSubmissions || false;\n\t}\n\n\tprivate getSubmissionItems(): Submission[] {\n\t\tif (!this.submissions || !this.submissions.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Submissions items are not loaded.');\n\t\t}\n\t\tconst submissions = this.submissions.getItems();\n\n\t\treturn submissions;\n\t}\n\n\tprivate getFinishedUserIds(): EntityId[] {\n\t\tif (!this.finished) {\n\t\t\tthrow new InternalServerErrorException('Task.finished is undefined. The task need to be populated.');\n\t\t}\n\n\t\tconst finishedObjectIds = this.finished.getIdentifiers('_id');\n\t\tconst finishedIds = finishedObjectIds.map((id): string => id.toString());\n\n\t\treturn finishedIds;\n\t}\n\n\tprivate getParent(): TaskParent | User {\n\t\tconst parent = this.lesson || this.course || this.creator;\n\n\t\treturn parent;\n\t}\n\n\tprivate getMaxSubmissions(): number {\n\t\tconst parent = this.getParent();\n\t\t// For draft (user as parent) propaly user is not a student, but for maxSubmission one is valid result\n\t\tconst maxSubmissions = parent instanceof User ? 1 : parent.getStudentIds().length;\n\n\t\treturn maxSubmissions;\n\t}\n\n\tprivate isFinishedForUser(user: User): boolean {\n\t\tconst finishedUserIds = this.getFinishedUserIds();\n\t\tconst isUserInFinishedUser = finishedUserIds.some((finishedUserId) => finishedUserId === user.id);\n\n\t\tconst isCourseFinished = this.course ? this.course.isFinished() : false;\n\n\t\tconst isFinishedForUser = isUserInFinishedUser || isCourseFinished;\n\n\t\treturn isFinishedForUser;\n\t}\n\n\tpublic isDraft(): boolean {\n\t\t// private can be undefined in the database\n\t\treturn !!this.private;\n\t}\n\n\tpublic isPublished(): boolean {\n\t\tif (this.isDraft()) {\n\t\t\treturn false;\n\t\t}\n\t\tif (this.availableDate && this.availableDate > new Date()) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tpublic isPlanned(): boolean {\n\t\tif (this.isDraft()) {\n\t\t\treturn false;\n\t\t}\n\t\tif (this.availableDate && this.availableDate > new Date()) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tprivate getSubmittedSubmissions(): Submission[] {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst submittedSubmissions = submissions.filter((submission) => submission.isSubmitted());\n\n\t\treturn submittedSubmissions;\n\t}\n\n\tpublic areSubmissionsPublic(): boolean {\n\t\tconst areSubmissionsPublic = !!this.publicSubmissions;\n\n\t\treturn areSubmissionsPublic;\n\t}\n\n\tprivate getGradedSubmissions(): Submission[] {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst gradedSubmissions = submissions.filter((submission) => submission.isGraded());\n\n\t\treturn gradedSubmissions;\n\t}\n\n\tprivate isSubmittedForUser(user: User): boolean {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst isSubmitted = submissions.some((submission) => submission.isSubmittedForUser(user));\n\n\t\treturn isSubmitted;\n\t}\n\n\tprivate isGradedForUser(user: User): boolean {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst isGraded = submissions.some((submission) => submission.isGradedForUser(user));\n\n\t\treturn isGraded;\n\t}\n\n\tprivate calculateNumberOfSubmitters(submissions: Submission[]): number {\n\t\tlet taskSubmitterIds: EntityId[] = [];\n\n\t\tsubmissions.forEach((submission) => {\n\t\t\tconst submitterIds = submission.getSubmitterIds();\n\t\t\ttaskSubmitterIds = [...taskSubmitterIds, ...submitterIds];\n\t\t});\n\n\t\tconst uniqueIds = [...new Set(taskSubmitterIds)];\n\t\tconst numberOfSubmitters = uniqueIds.length;\n\n\t\treturn numberOfSubmitters;\n\t}\n\n\tprivate isUserSubstitutionTeacherInCourse(user: User): boolean {\n\t\tconst isSubstitutionTeacher = this.course ? this.course.isUserSubstitutionTeacher(user) : false;\n\n\t\treturn isSubstitutionTeacher;\n\t}\n\n\tpublic createTeacherStatusForUser(user: User): TaskStatus {\n\t\tconst submittedSubmissions = this.getSubmittedSubmissions();\n\t\tconst gradedSubmissions = this.getGradedSubmissions();\n\n\t\tconst numberOfSubmitters = this.calculateNumberOfSubmitters(submittedSubmissions);\n\t\tconst numberOfSubmittersWithGrade = this.calculateNumberOfSubmitters(gradedSubmissions);\n\t\tconst maxSubmissions = this.getMaxSubmissions();\n\t\tconst isDraft = this.isDraft();\n\t\tconst isFinished = this.isFinishedForUser(user);\n\t\tconst isSubstitutionTeacher = this.isUserSubstitutionTeacherInCourse(user);\n\n\t\tconst status = {\n\t\t\tsubmitted: numberOfSubmitters,\n\t\t\tgraded: numberOfSubmittersWithGrade,\n\t\t\tmaxSubmissions,\n\t\t\tisDraft,\n\t\t\tisSubstitutionTeacher,\n\t\t\tisFinished,\n\t\t};\n\n\t\treturn status;\n\t}\n\n\tpublic createStudentStatusForUser(user: User): TaskStatus {\n\t\tconst isSubmitted = this.isSubmittedForUser(user);\n\t\tconst isGraded = this.isGradedForUser(user);\n\t\tconst maxSubmissions = 1;\n\t\tconst isDraft = this.isDraft();\n\t\tconst isSubstitutionTeacher = false;\n\t\tconst isFinished = this.isFinishedForUser(user);\n\n\t\tconst status = {\n\t\t\tsubmitted: isSubmitted ? 1 : 0,\n\t\t\tgraded: isGraded ? 1 : 0,\n\t\t\tmaxSubmissions,\n\t\t\tisDraft,\n\t\t\tisSubstitutionTeacher,\n\t\t\tisFinished,\n\t\t};\n\n\t\treturn status;\n\t}\n\n\t// TODO: based on the parent relationship\n\tpublic getParentData(): TaskParentDescriptions {\n\t\tlet descriptions: TaskParentDescriptions;\n\t\tif (this.course) {\n\t\t\tdescriptions = {\n\t\t\t\tcourseName: this.course.name,\n\t\t\t\tcourseId: this.course.id,\n\t\t\t\tlessonName: this.lesson ? this.lesson.name : '',\n\t\t\t\tlessonHidden: this.lesson ? this.lesson.hidden : false,\n\t\t\t\tcolor: this.course.color,\n\t\t\t};\n\t\t} else {\n\t\t\tdescriptions = {\n\t\t\t\tcourseName: '',\n\t\t\t\tcourseId: '',\n\t\t\t\tlessonName: '',\n\t\t\t\tlessonHidden: false,\n\t\t\t\tcolor: '#ACACAC',\n\t\t\t};\n\t\t}\n\n\t\treturn descriptions;\n\t}\n\n\tpublic finishForUser(user: User): void {\n\t\tthis.finished.add(user);\n\t}\n\n\tpublic restoreForUser(user: User): void {\n\t\tthis.finished.remove(user);\n\t}\n\n\tpublic getSchoolId(): EntityId {\n\t\treturn this.school.id;\n\t}\n\n\tpublic publish(): void {\n\t\tthis.private = false;\n\t\tthis.availableDate = new Date();\n\t}\n\n\tpublic unpublish(): void {\n\t\tthis.private = true;\n\t}\n}\n\nexport function isTask(reference: unknown): reference is Task {\n\treturn reference instanceof Task;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TaskApiModule.html":{"url":"modules/TaskApiModule.html","title":"module - TaskApiModule","body":"\n \n\n\n\n\n Modules\n TaskApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_TaskApiModule\n\n\n\ncluster_TaskApiModule_providers\n\n\n\ncluster_TaskApiModule_imports\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nTaskApiModule\n\nTaskApiModule\n\nTaskApiModule -->\n\nAuthorizationModule->TaskApiModule\n\n\n\n\n\nCopyHelperModule\n\nCopyHelperModule\n\nTaskApiModule -->\n\nCopyHelperModule->TaskApiModule\n\n\n\n\n\nLessonModule\n\nLessonModule\n\nTaskApiModule -->\n\nLessonModule->TaskApiModule\n\n\n\n\n\nTaskModule\n\nTaskModule\n\nTaskApiModule -->\n\nTaskModule->TaskApiModule\n\n\n\n\n\nCourseRepo\n\nCourseRepo\n\nTaskApiModule -->\n\nCourseRepo->TaskApiModule\n\n\n\n\n\nSubmissionUc\n\nSubmissionUc\n\nTaskApiModule -->\n\nSubmissionUc->TaskApiModule\n\n\n\n\n\nTaskCopyUC\n\nTaskCopyUC\n\nTaskApiModule -->\n\nTaskCopyUC->TaskApiModule\n\n\n\n\n\nTaskRepo\n\nTaskRepo\n\nTaskApiModule -->\n\nTaskRepo->TaskApiModule\n\n\n\n\n\nTaskUC\n\nTaskUC\n\nTaskApiModule -->\n\nTaskUC->TaskApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/task/task-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n CourseRepo\n \n \n SubmissionUc\n \n \n TaskCopyUC\n \n \n TaskRepo\n \n \n TaskUC\n \n \n \n \n Controllers\n \n \n TaskController\n \n \n SubmissionController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n CopyHelperModule\n \n \n LessonModule\n \n \n TaskModule\n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationModule } from '@modules/authorization';\nimport { CopyHelperModule } from '@modules/copy-helper/copy-helper.module';\nimport { Module } from '@nestjs/common';\nimport { CourseRepo, TaskRepo } from '@shared/repo';\nimport { LessonModule } from '@modules/lesson';\nimport { SubmissionController, TaskController } from './controller';\nimport { TaskModule } from './task.module';\nimport { SubmissionUc, TaskCopyUC, TaskUC } from './uc';\n\n@Module({\n\timports: [AuthorizationModule, CopyHelperModule, TaskModule, LessonModule],\n\tcontrollers: [TaskController, SubmissionController],\n\tproviders: [TaskUC, TaskRepo, CourseRepo, TaskCopyUC, SubmissionUc],\n})\nexport class TaskApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/TaskBoardElement.html":{"url":"entities/TaskBoardElement.html","title":"entity - TaskBoardElement","body":"\n \n\n\n\n\n\n\n\n Entities\n TaskBoardElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/legacy-board/task-boardelement.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n target\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : Task\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('Task', {nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/legacy-board/task-boardelement.entity.ts:16\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, ManyToOne } from '@mikro-orm/core';\nimport { Task } from '../task.entity';\nimport { BoardElement, BoardElementType } from './boardelement.entity';\n\n@Entity({ discriminatorValue: BoardElementType.Task })\nexport class TaskBoardElement extends BoardElement {\n\tconstructor(props: { target: Task }) {\n\t\tsuper(props);\n\t\tthis.boardElementType = BoardElementType.Task;\n\t}\n\n\t// FIXME Due to a weird behaviour in the mikro-orm validation we have to\n\t// disable the validation by setting the reference nullable.\n\t// Remove when fixed in mikro-orm.\n\t@ManyToOne('Task', { nullable: true })\n\ttarget!: Task;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/TaskController.html":{"url":"controllers/TaskController.html","title":"controller - TaskController","body":"\n \n\n\n\n\n\n\n Controllers\n TaskController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/task.controller.ts\n \n\n \n Prefix\n \n \n tasks\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n copyTask\n \n \n \n Async\n delete\n \n \n \n Async\n findAll\n \n \n \n Async\n findAllFinished\n \n \n Private\n Async\n findAllTasks\n \n \n \n Async\n finish\n \n \n \n Async\n restore\n \n \n \n Async\n revertPublished\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n Async\n copyTask\n \n \n \n \n \n \n \n copyTask(currentUser: ICurrentUser, urlParams: TaskUrlParams, params: TaskCopyApiParams)\n \n \n\n \n \n Decorators : \n \n @Post(':taskId/copy')@RequestTimeout(undefined.INCOMING_REQUEST_TIMEOUT_COPY_API)\n \n \n\n \n \n Defined in apps/server/src/modules/task/controller/task.controller.ts:85\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n urlParams\n \n TaskUrlParams\n \n\n \n No\n \n\n\n \n \n params\n \n TaskCopyApiParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(urlParams: TaskUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Delete(':taskId')\n \n \n\n \n \n Defined in apps/server/src/modules/task/controller/task.controller.ts:100\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n TaskUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAll\n \n \n \n \n \n \n \n findAll(currentUser: ICurrentUser, pagination: PaginationParams)\n \n \n\n \n \n Decorators : \n \n @Get()\n \n \n\n \n \n Defined in apps/server/src/modules/task/controller/task.controller.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n pagination\n \n PaginationParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllFinished\n \n \n \n \n \n \n \n findAllFinished(currentUser: ICurrentUser, pagination: PaginationParams)\n \n \n\n \n \n Decorators : \n \n @Get('finished')\n \n \n\n \n \n Defined in apps/server/src/modules/task/controller/task.controller.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n pagination\n \n PaginationParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findAllTasks\n \n \n \n \n \n \n \n findAllTasks(currentUser: ICurrentUser, pagination: PaginationParams, finished)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/controller/task.controller.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n \n \n\n \n \n pagination\n \n PaginationParams\n \n\n \n No\n \n\n \n \n\n \n \n finished\n \n \n\n \n No\n \n\n \n false\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n finish\n \n \n \n \n \n \n \n finish(urlParams: TaskUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Patch(':taskId/finish')\n \n \n\n \n \n Defined in apps/server/src/modules/task/controller/task.controller.ts:54\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n TaskUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n restore\n \n \n \n \n \n \n \n restore(urlParams: TaskUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Patch(':taskId/restore')\n \n \n\n \n \n Defined in apps/server/src/modules/task/controller/task.controller.ts:63\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n TaskUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n revertPublished\n \n \n \n \n \n \n \n revertPublished(urlParams: TaskUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Patch(':taskId/revertPublished')\n \n \n\n \n \n Defined in apps/server/src/modules/task/controller/task.controller.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n TaskUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { CopyApiResponse, CopyMapper } from '@modules/copy-helper';\nimport { Body, Controller, Delete, Get, Param, Patch, Post, Query } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { RequestTimeout } from '@shared/common';\nimport { PaginationParams } from '@shared/controller/';\n// invalid import can produce dependency cycles\nimport { serverConfig } from '@modules/server/server.config';\nimport { TaskMapper } from '../mapper';\nimport { TaskCopyUC } from '../uc/task-copy.uc';\nimport { TaskUC } from '../uc/task.uc';\nimport { TaskListResponse, TaskResponse, TaskUrlParams } from './dto';\nimport { TaskCopyApiParams } from './dto/task-copy.params';\n\n@ApiTags('Task')\n@Authenticate('jwt')\n@Controller('tasks')\nexport class TaskController {\n\tconstructor(private readonly taskUc: TaskUC, private readonly taskCopyUc: TaskCopyUC) {}\n\n\t@Get()\n\tasync findAll(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() pagination: PaginationParams\n\t): Promise {\n\t\treturn this.findAllTasks(currentUser, pagination);\n\t}\n\n\t@Get('finished')\n\tasync findAllFinished(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() pagination: PaginationParams\n\t): Promise {\n\t\treturn this.findAllTasks(currentUser, pagination, true);\n\t}\n\n\tprivate async findAllTasks(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() pagination: PaginationParams,\n\t\tfinished = false\n\t): Promise {\n\t\tconst [tasksWithStatus, total] = finished\n\t\t\t? await this.taskUc.findAllFinished(currentUser.userId, pagination)\n\t\t\t: await this.taskUc.findAll(currentUser.userId, pagination);\n\n\t\tconst taskResponses = tasksWithStatus.map((task) => TaskMapper.mapToResponse(task));\n\n\t\tconst { skip, limit } = pagination;\n\t\tconst result = new TaskListResponse(taskResponses, total, skip, limit);\n\t\treturn result;\n\t}\n\n\t@Patch(':taskId/finish')\n\tasync finish(@Param() urlParams: TaskUrlParams, @CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst task = await this.taskUc.changeFinishedForUser(currentUser.userId, urlParams.taskId, true);\n\n\t\tconst response = TaskMapper.mapToResponse(task);\n\n\t\treturn response;\n\t}\n\n\t@Patch(':taskId/restore')\n\tasync restore(@Param() urlParams: TaskUrlParams, @CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst task = await this.taskUc.changeFinishedForUser(currentUser.userId, urlParams.taskId, false);\n\n\t\tconst response = TaskMapper.mapToResponse(task);\n\n\t\treturn response;\n\t}\n\n\t@Patch(':taskId/revertPublished')\n\tasync revertPublished(\n\t\t@Param() urlParams: TaskUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst task = await this.taskUc.revertPublished(currentUser.userId, urlParams.taskId);\n\n\t\tconst response = TaskMapper.mapToResponse(task);\n\n\t\treturn response;\n\t}\n\n\t@Post(':taskId/copy')\n\t@RequestTimeout(serverConfig().INCOMING_REQUEST_TIMEOUT_COPY_API)\n\tasync copyTask(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() urlParams: TaskUrlParams,\n\t\t@Body() params: TaskCopyApiParams\n\t): Promise {\n\t\tconst copyStatus = await this.taskCopyUc.copyTask(\n\t\t\tcurrentUser.userId,\n\t\t\turlParams.taskId,\n\t\t\tCopyMapper.mapTaskCopyToDomain(params, currentUser.userId)\n\t\t);\n\t\tconst dto = CopyMapper.mapToResponse(copyStatus);\n\t\treturn dto;\n\t}\n\n\t@Delete(':taskId')\n\tasync delete(@Param() urlParams: TaskUrlParams, @CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst result = await this.taskUc.delete(currentUser.userId, urlParams.taskId);\n\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskCopyApiParams.html":{"url":"classes/TaskCopyApiParams.html","title":"class - TaskCopyApiParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskCopyApiParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/dto/task-copy.params.ts\n \n\n\n \n Description\n \n \n DTO for creating a task copy.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n courseId\n \n \n \n \n \n Optional\n lessonId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n courseId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsMongoId()@ApiPropertyOptional({pattern: '[a-f0-9]{24}', description: 'Destination course parent Id the task is copied to'})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-copy.params.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n lessonId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsMongoId()@ApiPropertyOptional({pattern: '[a-f0-9]{24}', description: 'Destination lesson parent Id the task is copied to'})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-copy.params.ts:22\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsMongoId, IsOptional } from 'class-validator';\n\n/**\n * DTO for creating a task copy.\n */\nexport class TaskCopyApiParams {\n\t@IsOptional()\n\t@IsMongoId()\n\t@ApiPropertyOptional({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'Destination course parent Id the task is copied to',\n\t})\n\tcourseId?: string;\n\n\t@IsOptional()\n\t@IsMongoId()\n\t@ApiPropertyOptional({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'Destination lesson parent Id the task is copied to',\n\t})\n\tlessonId?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TaskCopyService.html":{"url":"injectables/TaskCopyService.html","title":"injectable - TaskCopyService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TaskCopyService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/service/task-copy.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n copyTask\n \n \n Private\n Async\n copyTaskEntity\n \n \n Private\n deriveCopyStatus\n \n \n Private\n Async\n updateFileUrls\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(taskRepo: TaskRepo, copyHelperService: CopyHelperService, copyFilesService: CopyFilesService)\n \n \n \n \n Defined in apps/server/src/modules/task/service/task-copy.service.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n taskRepo\n \n \n TaskRepo\n \n \n \n No\n \n \n \n \n copyHelperService\n \n \n CopyHelperService\n \n \n \n No\n \n \n \n \n copyFilesService\n \n \n CopyFilesService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n copyTask\n \n \n \n \n \n \n \n copyTask(params: TaskCopyParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/service/task-copy.service.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n TaskCopyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n copyTaskEntity\n \n \n \n \n \n \n \n copyTaskEntity(params: TaskCopyParams, originalTask: Task, user: User, destinationCourse: Course | undefined, destinationLesson: LessonEntity | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/service/task-copy.service.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n TaskCopyParams\n \n\n \n No\n \n\n\n \n \n originalTask\n \n Task\n \n\n \n No\n \n\n\n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n destinationCourse\n \n Course | undefined\n \n\n \n No\n \n\n\n \n \n destinationLesson\n \n LessonEntity | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n deriveCopyStatus\n \n \n \n \n \n \n \n deriveCopyStatus(fileCopyStatus: CopyStatus, originalTask: Task, taskCopy: Task)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/service/task-copy.service.ts:70\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileCopyStatus\n \n CopyStatus\n \n\n \n No\n \n\n\n \n \n originalTask\n \n Task\n \n\n \n No\n \n\n\n \n \n taskCopy\n \n Task\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CopyStatus\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n updateFileUrls\n \n \n \n \n \n \n \n updateFileUrls(task: Task, fileUrlReplacements: FileUrlReplacement[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/service/task-copy.service.ts:63\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n task\n \n Task\n \n\n \n No\n \n\n\n \n \n fileUrlReplacements\n \n FileUrlReplacement[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CopyElementType, CopyHelperService, CopyStatus, CopyStatusEnum } from '@modules/copy-helper';\nimport { CopyFilesService } from '@modules/files-storage-client';\nimport { FileUrlReplacement } from '@modules/files-storage-client/service/copy-files.service';\nimport { Injectable } from '@nestjs/common';\nimport { Course, LessonEntity, Task, User } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { TaskRepo } from '@shared/repo';\n\ntype TaskCopyParams = {\n\toriginalTaskId: EntityId;\n\tdestinationCourse?: Course;\n\tdestinationLesson?: LessonEntity;\n\tuser: User;\n\tcopyName?: string;\n};\n\n@Injectable()\nexport class TaskCopyService {\n\tconstructor(\n\t\tprivate readonly taskRepo: TaskRepo,\n\t\tprivate readonly copyHelperService: CopyHelperService,\n\t\tprivate readonly copyFilesService: CopyFilesService\n\t) {}\n\n\tasync copyTask(params: TaskCopyParams): Promise {\n\t\tconst { user, destinationLesson, destinationCourse } = params;\n\t\tconst originalTask = await this.taskRepo.findById(params.originalTaskId);\n\n\t\tconst taskCopy = await this.copyTaskEntity(params, originalTask, user, destinationCourse, destinationLesson);\n\n\t\tconst { fileUrlReplacements, fileCopyStatus } = await this.copyFilesService.copyFilesOfEntity(\n\t\t\toriginalTask,\n\t\t\ttaskCopy,\n\t\t\tuser.id\n\t\t);\n\n\t\tawait this.updateFileUrls(taskCopy, fileUrlReplacements);\n\n\t\treturn this.deriveCopyStatus(fileCopyStatus, originalTask, taskCopy);\n\t}\n\n\tprivate async copyTaskEntity(\n\t\tparams: TaskCopyParams,\n\t\toriginalTask: Task,\n\t\tuser: User,\n\t\tdestinationCourse: Course | undefined,\n\t\tdestinationLesson: LessonEntity | undefined\n\t) {\n\t\tconst taskCopy = new Task({\n\t\t\tname: params.copyName || originalTask.name,\n\t\t\tdescription: originalTask.description,\n\t\t\tdescriptionInputFormat: originalTask.descriptionInputFormat,\n\t\t\tschool: user.school,\n\t\t\tcreator: user,\n\t\t\tcourse: destinationCourse,\n\t\t\tlesson: destinationLesson,\n\t\t\tteamSubmissions: originalTask.teamSubmissions,\n\t\t});\n\t\tawait this.taskRepo.createTask(taskCopy);\n\t\treturn taskCopy;\n\t}\n\n\tprivate async updateFileUrls(task: Task, fileUrlReplacements: FileUrlReplacement[]) {\n\t\tfileUrlReplacements.forEach(({ regex, replacement }) => {\n\t\t\ttask.description = task.description.replace(regex, replacement);\n\t\t});\n\t\tawait this.taskRepo.save(task);\n\t}\n\n\tprivate deriveCopyStatus(fileCopyStatus: CopyStatus, originalTask: Task, taskCopy: Task) {\n\t\tconst elements = [\n\t\t\t{\n\t\t\t\ttype: CopyElementType.METADATA,\n\t\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: CopyElementType.CONTENT,\n\t\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: CopyElementType.SUBMISSION_GROUP,\n\t\t\t\tstatus: CopyStatusEnum.NOT_DOING,\n\t\t\t},\n\t\t\tfileCopyStatus,\n\t\t];\n\n\t\tconst status: CopyStatus = {\n\t\t\ttitle: taskCopy.name,\n\t\t\ttype: CopyElementType.TASK,\n\t\t\tstatus: this.copyHelperService.deriveStatusFromElements(elements),\n\t\t\tcopyEntity: taskCopy,\n\t\t\toriginalEntity: originalTask,\n\t\t\telements,\n\t\t};\n\t\treturn status;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TaskCopyUC.html":{"url":"injectables/TaskCopyUC.html","title":"injectable - TaskCopyUC","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TaskCopyUC\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/uc/task-copy.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkDestinationCourseAuthorisation\n \n \n Private\n checkDestinationLessonAuthorization\n \n \n Private\n checkFeatureEnabled\n \n \n Private\n checkOriginalTaskAuthorization\n \n \n Async\n copyTask\n \n \n Private\n Async\n getCopyName\n \n \n Private\n Async\n getDestinationCourse\n \n \n Private\n Async\n getDestinationLesson\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(courseRepo: CourseRepo, lessonService: LessonService, authorisation: AuthorizationService, taskCopyService: TaskCopyService, taskRepo: TaskRepo, copyHelperService: CopyHelperService)\n \n \n \n \n Defined in apps/server/src/modules/task/uc/task-copy.uc.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseRepo\n \n \n CourseRepo\n \n \n \n No\n \n \n \n \n lessonService\n \n \n LessonService\n \n \n \n No\n \n \n \n \n authorisation\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n taskCopyService\n \n \n TaskCopyService\n \n \n \n No\n \n \n \n \n taskRepo\n \n \n TaskRepo\n \n \n \n No\n \n \n \n \n copyHelperService\n \n \n CopyHelperService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkDestinationCourseAuthorisation\n \n \n \n \n \n \n \n checkDestinationCourseAuthorisation(authorizableUser: User, destinationCourse: Course)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task-copy.uc.ts:71\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizableUser\n \n User\n \n\n \n No\n \n\n\n \n \n destinationCourse\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n checkDestinationLessonAuthorization\n \n \n \n \n \n \n \n checkDestinationLessonAuthorization(authorizableUser: User, destinationLesson: LessonEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task-copy.uc.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizableUser\n \n User\n \n\n \n No\n \n\n\n \n \n destinationLesson\n \n LessonEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n checkFeatureEnabled\n \n \n \n \n \n \n \n checkFeatureEnabled()\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task-copy.uc.ts:114\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n checkOriginalTaskAuthorization\n \n \n \n \n \n \n \n checkOriginalTaskAuthorization(authorizableUser: User, originalTask: Task)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task-copy.uc.ts:63\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizableUser\n \n User\n \n\n \n No\n \n\n\n \n \n originalTask\n \n Task\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n copyTask\n \n \n \n \n \n \n \n copyTask(userId: EntityId, taskId: EntityId, parentParams: TaskCopyParentParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task-copy.uc.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n taskId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n parentParams\n \n TaskCopyParentParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getCopyName\n \n \n \n \n \n \n \n getCopyName(originalTaskName: string, parentCourseId: EntityId | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task-copy.uc.ts:83\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n originalTaskName\n \n string\n \n\n \n No\n \n\n\n \n \n parentCourseId\n \n EntityId | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getDestinationCourse\n \n \n \n \n \n \n \n getDestinationCourse(courseId: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task-copy.uc.ts:94\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getDestinationLesson\n \n \n \n \n \n \n \n getDestinationLesson(lessonId: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task-copy.uc.ts:104\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n lessonId\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\nimport { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { CopyHelperService, CopyStatus } from '@modules/copy-helper';\nimport { LessonService } from '@modules/lesson';\nimport { ForbiddenException, Injectable, InternalServerErrorException, NotFoundException } from '@nestjs/common';\nimport { Course, LessonEntity, Task, User } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { CourseRepo, TaskRepo } from '@shared/repo';\nimport { TaskCopyService } from '../service';\nimport { TaskCopyParentParams } from '../types';\n\n@Injectable()\nexport class TaskCopyUC {\n\tconstructor(\n\t\tprivate readonly courseRepo: CourseRepo,\n\t\tprivate readonly lessonService: LessonService,\n\t\tprivate readonly authorisation: AuthorizationService,\n\t\tprivate readonly taskCopyService: TaskCopyService,\n\t\tprivate readonly taskRepo: TaskRepo,\n\t\tprivate readonly copyHelperService: CopyHelperService\n\t) {}\n\n\tasync copyTask(userId: EntityId, taskId: EntityId, parentParams: TaskCopyParentParams): Promise {\n\t\tthis.checkFeatureEnabled();\n\n\t\t// i put it to promise all, it do not look like any more information can be expose over errors if it is called between the authorizations\n\t\t// TODO: Add try catch around it with throw BadRequest invalid data\n\t\tconst [authorizableUser, originalTask, destinationCourse]: [User, Task, Course | undefined] = await Promise.all([\n\t\t\tthis.authorisation.getUserWithPermissions(userId),\n\t\t\tthis.taskRepo.findById(taskId),\n\t\t\tthis.getDestinationCourse(parentParams.courseId),\n\t\t]);\n\n\t\tthis.checkOriginalTaskAuthorization(authorizableUser, originalTask);\n\n\t\tif (destinationCourse) {\n\t\t\tthis.checkDestinationCourseAuthorisation(authorizableUser, destinationCourse);\n\t\t}\n\n\t\t// i think getDestinationLesson can also to a promise.all on top\n\t\t// then getCopyName can be put into if (destinationCourse) {\n\t\t// but then the test need to cleanup\n\t\tconst [destinationLesson, copyName]: [LessonEntity | undefined, string | undefined] = await Promise.all([\n\t\t\tthis.getDestinationLesson(parentParams.lessonId),\n\t\t\tthis.getCopyName(originalTask.name, parentParams.courseId),\n\t\t]);\n\n\t\tif (destinationLesson) {\n\t\t\tthis.checkDestinationLessonAuthorization(authorizableUser, destinationLesson);\n\t\t}\n\n\t\tconst status = await this.taskCopyService.copyTask({\n\t\t\toriginalTaskId: originalTask.id,\n\t\t\tdestinationCourse,\n\t\t\tdestinationLesson,\n\t\t\tuser: authorizableUser,\n\t\t\tcopyName,\n\t\t});\n\n\t\treturn status;\n\t}\n\n\tprivate checkOriginalTaskAuthorization(authorizableUser: User, originalTask: Task): void {\n\t\tconst context = AuthorizationContextBuilder.read([]);\n\t\tif (!this.authorisation.hasPermission(authorizableUser, originalTask, context)) {\n\t\t\t// error message and erorr type are not correct\n\t\t\tthrow new NotFoundException('could not find task to copy');\n\t\t}\n\t}\n\n\tprivate checkDestinationCourseAuthorisation(authorizableUser: User, destinationCourse: Course): void {\n\t\tconst context = AuthorizationContextBuilder.write([]);\n\t\tthis.authorisation.checkPermission(authorizableUser, destinationCourse, context);\n\t}\n\n\tprivate checkDestinationLessonAuthorization(authorizableUser: User, destinationLesson: LessonEntity): void {\n\t\tconst context = AuthorizationContextBuilder.write([]);\n\t\tif (!this.authorisation.hasPermission(authorizableUser, destinationLesson, context)) {\n\t\t\tthrow new ForbiddenException('you dont have permission to add to this lesson');\n\t\t}\n\t}\n\n\tprivate async getCopyName(originalTaskName: string, parentCourseId: EntityId | undefined) {\n\t\tlet existingNames: string[] = [];\n\t\tif (parentCourseId) {\n\t\t\t// It should really get an task where the creatorId === '' ?\n\t\t\tconst [existingTasks] = await this.taskRepo.findBySingleParent('', parentCourseId);\n\t\t\texistingNames = existingTasks.map((t) => t.name);\n\t\t}\n\n\t\treturn this.copyHelperService.deriveCopyName(originalTaskName, existingNames);\n\t}\n\n\tprivate async getDestinationCourse(courseId: string | undefined): Promise {\n\t\tif (courseId === undefined) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst destinationCourse = await this.courseRepo.findById(courseId);\n\n\t\treturn destinationCourse;\n\t}\n\n\tprivate async getDestinationLesson(lessonId: string | undefined): Promise {\n\t\tif (lessonId === undefined) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst destinationLesson = await this.lessonService.findById(lessonId);\n\n\t\treturn destinationLesson;\n\t}\n\n\tprivate checkFeatureEnabled() {\n\t\t// This is the deprecated way to read envirement variables\n\t\tconst enabled = Configuration.get('FEATURE_COPY_SERVICE_ENABLED') as boolean;\n\t\tif (!enabled) {\n\t\t\tthrow new InternalServerErrorException('Copy Feature not enabled');\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TaskCreate.html":{"url":"interfaces/TaskCreate.html","title":"interface - TaskCreate","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TaskCreate\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/types/task.types.ts\n \n\n\n\n \n Extends\n \n \n ITask\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n courseId\n \n \n \n Optional\n \n lessonId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n courseId\n \n \n \n \n \n \n \n \n courseId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n lessonId\n \n \n \n \n \n \n \n \n lessonId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import type { Course, LessonEntity, SchoolEntity, Submission, User } from '@shared/domain/entity';\nimport type { InputFormat } from '@shared/domain/types';\n\ninterface ITask {\n\tname: string;\n\tdescription?: string;\n\tdescriptionInputFormat?: InputFormat;\n\tavailableDate?: Date;\n\tdueDate?: Date;\n}\n\nexport interface TaskUpdate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface TaskCreate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface TaskProperties extends ITask {\n\tcourse?: Course;\n\tlesson?: LessonEntity;\n\tcreator: User;\n\tschool: SchoolEntity;\n\tfinished?: User[];\n\tprivate?: boolean;\n\tsubmissions?: Submission[];\n\tpublicSubmissions?: boolean;\n\tteamSubmissions?: boolean;\n}\n\nexport interface TaskStatus {\n\tsubmitted: number;\n\tmaxSubmissions: number;\n\tgraded: number;\n\tisDraft: boolean;\n\tisSubstitutionTeacher: boolean;\n\tisFinished: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskCreateParams.html":{"url":"classes/TaskCreateParams.html","title":"class - TaskCreateParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskCreateParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/dto/task-create.params.ts\n \n\n\n\n\n \n Implements\n \n \n TaskCreate\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n availableDate\n \n \n \n \n \n \n Optional\n courseId\n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n Optional\n dueDate\n \n \n \n \n \n \n Optional\n lessonId\n \n \n \n \n \n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n availableDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsDate()@IsOptional()@ApiPropertyOptional({description: 'Date since the task is published', type: Date})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-create.params.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n courseId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsMongoId()@IsOptional()@ApiPropertyOptional({description: 'The id of an course object.', pattern: '[a-f0-9]{24}', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-create.params.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@SanitizeHtml(InputFormat.RICH_TEXT_CK5)@ApiPropertyOptional({description: 'The description of the task'})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-create.params.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n dueDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsDate()@IsOptional()@ApiPropertyOptional({description: 'Date until the task submissions can be sent', type: Date})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-create.params.ts:57\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n lessonId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsMongoId()@IsOptional()@ApiPropertyOptional({description: 'The id of an lesson object.', pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-create.params.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@SanitizeHtml()@ApiProperty({description: 'The title of the task', required: true})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-create.params.ts:33\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\nimport { InputFormat, TaskCreate } from '@shared/domain/types';\nimport { IsDate, IsMongoId, IsOptional, IsString } from 'class-validator';\n\nexport class TaskCreateParams implements TaskCreate {\n\t@IsString()\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The id of an course object.',\n\t\tpattern: '[a-f0-9]{24}',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tcourseId?: string;\n\n\t@IsString()\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The id of an lesson object.',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tlessonId?: string;\n\n\t@IsString()\n\t@SanitizeHtml()\n\t@ApiProperty({\n\t\tdescription: 'The title of the task',\n\t\trequired: true,\n\t})\n\tname!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@SanitizeHtml(InputFormat.RICH_TEXT_CK5)\n\t@ApiPropertyOptional({\n\t\tdescription: 'The description of the task',\n\t})\n\tdescription?: string;\n\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'Date since the task is published',\n\t\ttype: Date,\n\t})\n\tavailableDate?: Date;\n\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'Date until the task submissions can be sent',\n\t\ttype: Date,\n\t})\n\tdueDate?: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskFactory.html":{"url":"classes/TaskFactory.html","title":"class - TaskFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/task.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n draft\n \n \n finished\n \n \n isPlanned\n \n \n isPublished\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n draft\n \n \n \n \n \n \ndraft()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/task.factory.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n finished\n \n \n \n \n \n \nfinished(user: User)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/task.factory.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isPlanned\n \n \n \n \n \n \nisPlanned()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/task.factory.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n isPublished\n \n \n \n \n \n \nisPublished()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/task.factory.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Task, User } from '@shared/domain/entity';\nimport { TaskProperties } from '@shared/domain/types';\nimport { DeepPartial } from 'fishery';\nimport { BaseFactory } from './base.factory';\nimport { schoolFactory } from './school.factory';\nimport { userFactory } from './user.factory';\n\nconst yesterday = new Date(Date.now() - 86400000);\n\nclass TaskFactory extends BaseFactory {\n\tdraft(): this {\n\t\tconst params: DeepPartial = { private: true };\n\n\t\treturn this.params(params);\n\t}\n\n\tisPlanned(): this {\n\t\tconst params: DeepPartial = { private: false, availableDate: new Date(Date.now() + 10000) };\n\n\t\treturn this.params(params);\n\t}\n\n\tisPublished(): this {\n\t\tconst params: DeepPartial = { private: false, availableDate: new Date(Date.now() - 10000) };\n\n\t\treturn this.params(params);\n\t}\n\n\tfinished(user: User): this {\n\t\tconst params: DeepPartial = { finished: [user] };\n\t\treturn this.params(params);\n\t}\n}\n\nexport const taskFactory = TaskFactory.define(Task, ({ sequence }) => {\n\tconst school = schoolFactory.build();\n\tconst creator = userFactory.build({ school });\n\t// private is by default in constructor true, but in the most test cases we need private: false\n\treturn {\n\t\tname: `task #${sequence}`,\n\t\tprivate: false,\n\t\tavailableDate: yesterday,\n\t\tcreator,\n\t\tschool,\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskListResponse.html":{"url":"classes/TaskListResponse.html","title":"class - TaskListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/dto/task.response.ts\n \n\n\n\n \n Extends\n \n \n PaginationResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: TaskResponse[], total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:67\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n TaskResponse[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : TaskResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:74\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:14\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { DecodeHtmlEntities, PaginationResponse } from '@shared/controller';\nimport { RichText } from '@shared/domain/types';\nimport { TaskStatusResponse } from './task-status.response';\n\n/**\n * DTO for returning a task document via api.\n */\nexport class TaskResponse {\n\tconstructor({ id, name, courseName, courseId, createdAt, updatedAt, status }: TaskResponse) {\n\t\tthis.id = id;\n\t\tthis.name = name;\n\t\tthis.courseName = courseName;\n\t\tthis.courseId = courseId;\n\t\tthis.createdAt = createdAt;\n\t\tthis.updatedAt = updatedAt;\n\t\tthis.lessonHidden = false;\n\t\tthis.status = status;\n\t}\n\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tname: string;\n\n\t@ApiPropertyOptional()\n\tavailableDate?: Date;\n\n\t@ApiPropertyOptional()\n\tdueDate?: Date;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tcourseName: string = '' as string;\n\n\t@ApiPropertyOptional()\n\tlessonName?: string;\n\n\t@ApiProperty()\n\tcourseId: string = '' as string;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Task description object, with props content: string and type: input format types',\n\t\ttype: RichText,\n\t})\n\t@DecodeHtmlEntities()\n\tdescription?: RichText;\n\n\t@ApiProperty()\n\tlessonHidden: boolean;\n\n\t@ApiPropertyOptional()\n\tdisplayColor?: string;\n\n\t@ApiProperty()\n\tcreatedAt: Date;\n\n\t@ApiProperty()\n\tupdatedAt: Date;\n\n\t@ApiProperty()\n\tstatus: TaskStatusResponse;\n}\n\nexport class TaskListResponse extends PaginationResponse {\n\tconstructor(data: TaskResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [TaskResponse] })\n\tdata: TaskResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskMapper.html":{"url":"classes/TaskMapper.html","title":"class - TaskMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/mapper/task.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapTaskCreateToDomain\n \n \n Static\n mapTaskUpdateToDomain\n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapTaskCreateToDomain\n \n \n \n \n \n \n \n mapTaskCreateToDomain(params: TaskCreateParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/mapper/task.mapper.ts:55\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n TaskCreateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskCreate\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapTaskUpdateToDomain\n \n \n \n \n \n \n \n mapTaskUpdateToDomain(params: TaskUpdateParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/mapper/task.mapper.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n TaskUpdateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskUpdate\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(taskWithStatus: TaskWithStatusVo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/mapper/task.mapper.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n taskWithStatus\n \n TaskWithStatusVo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { TaskWithStatusVo } from '@shared/domain/entity';\nimport { InputFormat, RichText, TaskCreate, TaskUpdate } from '@shared/domain/types';\nimport { TaskCreateParams, TaskResponse, TaskUpdateParams } from '../controller/dto';\nimport { TaskStatusMapper } from './task-status.mapper';\n\nexport class TaskMapper {\n\tstatic mapToResponse(taskWithStatus: TaskWithStatusVo): TaskResponse {\n\t\tconst { task, status } = taskWithStatus;\n\t\tconst taskDesc = task.getParentData();\n\t\tconst statusDto = TaskStatusMapper.mapToResponse(status);\n\n\t\tconst dto = new TaskResponse({\n\t\t\tid: task.id,\n\t\t\tname: task.name,\n\t\t\tcourseName: taskDesc.courseName,\n\t\t\tcourseId: taskDesc.courseId,\n\t\t\tcreatedAt: task.createdAt,\n\t\t\tupdatedAt: task.updatedAt,\n\t\t\tlessonHidden: false,\n\t\t\tstatus: statusDto,\n\t\t});\n\t\tif (task.description) {\n\t\t\tdto.description = new RichText({\n\t\t\t\tcontent: task.description,\n\t\t\t\ttype: task.descriptionInputFormat || InputFormat.RICH_TEXT_CK4,\n\t\t\t});\n\t\t}\n\t\tdto.availableDate = task.availableDate;\n\t\tdto.dueDate = task.dueDate;\n\n\t\tdto.displayColor = taskDesc.color;\n\t\tif (taskDesc.lessonName) {\n\t\t\tdto.lessonName = taskDesc.lessonName;\n\t\t}\n\t\tdto.lessonHidden = taskDesc.lessonHidden;\n\n\t\treturn dto;\n\t}\n\n\tstatic mapTaskUpdateToDomain(params: TaskUpdateParams): TaskUpdate {\n\t\tconst dto: TaskUpdate = {\n\t\t\tname: params.name,\n\t\t\tcourseId: params.courseId,\n\t\t\tlessonId: params.lessonId,\n\t\t\tdescription: params.description,\n\t\t\tavailableDate: params.availableDate,\n\t\t\tdueDate: params.dueDate,\n\t\t};\n\t\tif (params.description) {\n\t\t\tdto.descriptionInputFormat = InputFormat.RICH_TEXT_CK5;\n\t\t}\n\t\treturn dto;\n\t}\n\n\tstatic mapTaskCreateToDomain(params: TaskCreateParams): TaskCreate {\n\t\tconst dto: TaskCreate = {\n\t\t\tname: params.name || 'Draft',\n\t\t\tcourseId: params.courseId,\n\t\t\tlessonId: params.lessonId,\n\t\t\tdescription: params.description,\n\t\t\tavailableDate: params.availableDate,\n\t\t\tdueDate: params.dueDate,\n\t\t};\n\t\tif (params.description) {\n\t\t\tdto.descriptionInputFormat = InputFormat.RICH_TEXT_CK5;\n\t\t}\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TaskModule.html":{"url":"modules/TaskModule.html","title":"module - TaskModule","body":"\n \n\n\n\n\n Modules\n TaskModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_TaskModule\n\n\n\ncluster_TaskModule_exports\n\n\n\ncluster_TaskModule_imports\n\n\n\ncluster_TaskModule_providers\n\n\n\n\nCopyHelperModule\n\nCopyHelperModule\n\n\n\nTaskModule\n\nTaskModule\n\nTaskModule -->\n\nCopyHelperModule->TaskModule\n\n\n\n\n\nFilesStorageClientModule\n\nFilesStorageClientModule\n\nTaskModule -->\n\nFilesStorageClientModule->TaskModule\n\n\n\n\n\nSubmissionService \n\nSubmissionService \n\nSubmissionService -->\n\nTaskModule->SubmissionService \n\n\n\n\n\nTaskCopyService \n\nTaskCopyService \n\nTaskCopyService -->\n\nTaskModule->TaskCopyService \n\n\n\n\n\nTaskService \n\nTaskService \n\nTaskService -->\n\nTaskModule->TaskService \n\n\n\n\n\nCourseRepo\n\nCourseRepo\n\nTaskModule -->\n\nCourseRepo->TaskModule\n\n\n\n\n\nSubmissionRepo\n\nSubmissionRepo\n\nTaskModule -->\n\nSubmissionRepo->TaskModule\n\n\n\n\n\nSubmissionService\n\nSubmissionService\n\nTaskModule -->\n\nSubmissionService->TaskModule\n\n\n\n\n\nTaskCopyService\n\nTaskCopyService\n\nTaskModule -->\n\nTaskCopyService->TaskModule\n\n\n\n\n\nTaskRepo\n\nTaskRepo\n\nTaskModule -->\n\nTaskRepo->TaskModule\n\n\n\n\n\nTaskService\n\nTaskService\n\nTaskModule -->\n\nTaskService->TaskModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/task/task.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n CourseRepo\n \n \n SubmissionRepo\n \n \n SubmissionService\n \n \n TaskCopyService\n \n \n TaskRepo\n \n \n TaskService\n \n \n \n \n Imports\n \n \n CopyHelperModule\n \n \n FilesStorageClientModule\n \n \n \n \n Exports\n \n \n SubmissionService\n \n \n TaskCopyService\n \n \n TaskService\n \n \n \n \n \n\n\n \n\n\n \n import { CopyHelperModule } from '@modules/copy-helper';\nimport { FilesStorageClientModule } from '@modules/files-storage-client';\nimport { Module } from '@nestjs/common';\nimport { CourseRepo, SubmissionRepo, TaskRepo } from '@shared/repo';\nimport { SubmissionService, TaskCopyService, TaskService } from './service';\n\n@Module({\n\timports: [FilesStorageClientModule, CopyHelperModule],\n\tproviders: [TaskService, TaskCopyService, SubmissionService, TaskRepo, CourseRepo, SubmissionRepo],\n\texports: [TaskService, TaskCopyService, SubmissionService],\n})\nexport class TaskModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TaskParent.html":{"url":"interfaces/TaskParent.html","title":"interface - TaskParent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TaskParent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/task.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n getStudentIds\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n getStudentIds\n \n \n \n \n \n \ngetStudentIds()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:35\n \n \n\n\n \n \n\n \n Returns : EntityId[]\n\n \n \n \n \n \n\n\n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { SchoolEntity } from '@shared/domain/entity/school.entity';\nimport { InputFormat } from '@shared/domain/types/input-format.types';\nimport type { EntityWithSchool } from '../interface';\nimport type { LearnroomElement } from '../interface/learnroom';\nimport type { EntityId } from '../types/entity-id';\nimport type { TaskProperties, TaskStatus } from '../types/task.types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport type { LessonEntity } from './lesson.entity';\nimport type { Submission } from './submission.entity';\nimport { User } from './user.entity';\n\nexport class TaskWithStatusVo {\n\ttask!: Task;\n\n\tstatus!: TaskStatus;\n\n\tconstructor(task: Task, status: TaskStatus) {\n\t\tthis.task = task;\n\t\tthis.status = status;\n\t}\n}\n\nexport type TaskParentDescriptions = {\n\tcourseName: string;\n\tcourseId: string;\n\tlessonName: string;\n\tlessonHidden: boolean;\n\tcolor: string;\n};\n\nexport interface TaskParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'homeworks' })\n@Index({ properties: ['private', 'dueDate', 'finished'] })\n@Index({ properties: ['id', 'private'] })\n@Index({ properties: ['finished', 'course'] })\n@Index({ properties: ['finished', 'course'] })\nexport class Task extends BaseEntityWithTimestamps implements LearnroomElement, EntityWithSchool {\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tdescription: string;\n\n\t@Property()\n\tdescriptionInputFormat: InputFormat;\n\n\t@Property({ nullable: true })\n\tavailableDate?: Date;\n\n\t@Property({ nullable: true })\n\t@Index()\n\tdueDate?: Date;\n\n\t@Property()\n\tprivate = true;\n\n\t@Property({ nullable: true })\n\tpublicSubmissions?: boolean;\n\n\t@Property({ nullable: true })\n\tteamSubmissions?: boolean;\n\n\t@Index()\n\t@ManyToOne('User', { fieldName: 'teacherId' })\n\tcreator: User;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId', nullable: true })\n\tcourse?: Course;\n\n\t@Index()\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool: SchoolEntity;\n\n\t@Index()\n\t@ManyToOne('LessonEntity', { fieldName: 'lessonId', nullable: true })\n\tlesson?: LessonEntity; // In database exist also null, but it can not set.\n\n\t@OneToMany('Submission', 'task')\n\tsubmissions = new Collection(this);\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'archived' })\n\tfinished = new Collection(this);\n\n\tconstructor(props: TaskProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.description = props.description || '';\n\t\tthis.descriptionInputFormat = props.descriptionInputFormat || InputFormat.RICH_TEXT_CK4;\n\t\tthis.availableDate = props.availableDate;\n\t\tthis.dueDate = props.dueDate;\n\n\t\tif (props.private !== undefined) this.private = props.private;\n\t\tthis.creator = props.creator;\n\t\tthis.course = props.course;\n\t\tthis.school = props.school;\n\t\tthis.lesson = props.lesson;\n\t\tthis.submissions.set(props.submissions || []);\n\t\tthis.finished.set(props.finished || []);\n\t\tthis.publicSubmissions = props.publicSubmissions || false;\n\t\tthis.teamSubmissions = props.teamSubmissions || false;\n\t}\n\n\tprivate getSubmissionItems(): Submission[] {\n\t\tif (!this.submissions || !this.submissions.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Submissions items are not loaded.');\n\t\t}\n\t\tconst submissions = this.submissions.getItems();\n\n\t\treturn submissions;\n\t}\n\n\tprivate getFinishedUserIds(): EntityId[] {\n\t\tif (!this.finished) {\n\t\t\tthrow new InternalServerErrorException('Task.finished is undefined. The task need to be populated.');\n\t\t}\n\n\t\tconst finishedObjectIds = this.finished.getIdentifiers('_id');\n\t\tconst finishedIds = finishedObjectIds.map((id): string => id.toString());\n\n\t\treturn finishedIds;\n\t}\n\n\tprivate getParent(): TaskParent | User {\n\t\tconst parent = this.lesson || this.course || this.creator;\n\n\t\treturn parent;\n\t}\n\n\tprivate getMaxSubmissions(): number {\n\t\tconst parent = this.getParent();\n\t\t// For draft (user as parent) propaly user is not a student, but for maxSubmission one is valid result\n\t\tconst maxSubmissions = parent instanceof User ? 1 : parent.getStudentIds().length;\n\n\t\treturn maxSubmissions;\n\t}\n\n\tprivate isFinishedForUser(user: User): boolean {\n\t\tconst finishedUserIds = this.getFinishedUserIds();\n\t\tconst isUserInFinishedUser = finishedUserIds.some((finishedUserId) => finishedUserId === user.id);\n\n\t\tconst isCourseFinished = this.course ? this.course.isFinished() : false;\n\n\t\tconst isFinishedForUser = isUserInFinishedUser || isCourseFinished;\n\n\t\treturn isFinishedForUser;\n\t}\n\n\tpublic isDraft(): boolean {\n\t\t// private can be undefined in the database\n\t\treturn !!this.private;\n\t}\n\n\tpublic isPublished(): boolean {\n\t\tif (this.isDraft()) {\n\t\t\treturn false;\n\t\t}\n\t\tif (this.availableDate && this.availableDate > new Date()) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tpublic isPlanned(): boolean {\n\t\tif (this.isDraft()) {\n\t\t\treturn false;\n\t\t}\n\t\tif (this.availableDate && this.availableDate > new Date()) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tprivate getSubmittedSubmissions(): Submission[] {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst submittedSubmissions = submissions.filter((submission) => submission.isSubmitted());\n\n\t\treturn submittedSubmissions;\n\t}\n\n\tpublic areSubmissionsPublic(): boolean {\n\t\tconst areSubmissionsPublic = !!this.publicSubmissions;\n\n\t\treturn areSubmissionsPublic;\n\t}\n\n\tprivate getGradedSubmissions(): Submission[] {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst gradedSubmissions = submissions.filter((submission) => submission.isGraded());\n\n\t\treturn gradedSubmissions;\n\t}\n\n\tprivate isSubmittedForUser(user: User): boolean {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst isSubmitted = submissions.some((submission) => submission.isSubmittedForUser(user));\n\n\t\treturn isSubmitted;\n\t}\n\n\tprivate isGradedForUser(user: User): boolean {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst isGraded = submissions.some((submission) => submission.isGradedForUser(user));\n\n\t\treturn isGraded;\n\t}\n\n\tprivate calculateNumberOfSubmitters(submissions: Submission[]): number {\n\t\tlet taskSubmitterIds: EntityId[] = [];\n\n\t\tsubmissions.forEach((submission) => {\n\t\t\tconst submitterIds = submission.getSubmitterIds();\n\t\t\ttaskSubmitterIds = [...taskSubmitterIds, ...submitterIds];\n\t\t});\n\n\t\tconst uniqueIds = [...new Set(taskSubmitterIds)];\n\t\tconst numberOfSubmitters = uniqueIds.length;\n\n\t\treturn numberOfSubmitters;\n\t}\n\n\tprivate isUserSubstitutionTeacherInCourse(user: User): boolean {\n\t\tconst isSubstitutionTeacher = this.course ? this.course.isUserSubstitutionTeacher(user) : false;\n\n\t\treturn isSubstitutionTeacher;\n\t}\n\n\tpublic createTeacherStatusForUser(user: User): TaskStatus {\n\t\tconst submittedSubmissions = this.getSubmittedSubmissions();\n\t\tconst gradedSubmissions = this.getGradedSubmissions();\n\n\t\tconst numberOfSubmitters = this.calculateNumberOfSubmitters(submittedSubmissions);\n\t\tconst numberOfSubmittersWithGrade = this.calculateNumberOfSubmitters(gradedSubmissions);\n\t\tconst maxSubmissions = this.getMaxSubmissions();\n\t\tconst isDraft = this.isDraft();\n\t\tconst isFinished = this.isFinishedForUser(user);\n\t\tconst isSubstitutionTeacher = this.isUserSubstitutionTeacherInCourse(user);\n\n\t\tconst status = {\n\t\t\tsubmitted: numberOfSubmitters,\n\t\t\tgraded: numberOfSubmittersWithGrade,\n\t\t\tmaxSubmissions,\n\t\t\tisDraft,\n\t\t\tisSubstitutionTeacher,\n\t\t\tisFinished,\n\t\t};\n\n\t\treturn status;\n\t}\n\n\tpublic createStudentStatusForUser(user: User): TaskStatus {\n\t\tconst isSubmitted = this.isSubmittedForUser(user);\n\t\tconst isGraded = this.isGradedForUser(user);\n\t\tconst maxSubmissions = 1;\n\t\tconst isDraft = this.isDraft();\n\t\tconst isSubstitutionTeacher = false;\n\t\tconst isFinished = this.isFinishedForUser(user);\n\n\t\tconst status = {\n\t\t\tsubmitted: isSubmitted ? 1 : 0,\n\t\t\tgraded: isGraded ? 1 : 0,\n\t\t\tmaxSubmissions,\n\t\t\tisDraft,\n\t\t\tisSubstitutionTeacher,\n\t\t\tisFinished,\n\t\t};\n\n\t\treturn status;\n\t}\n\n\t// TODO: based on the parent relationship\n\tpublic getParentData(): TaskParentDescriptions {\n\t\tlet descriptions: TaskParentDescriptions;\n\t\tif (this.course) {\n\t\t\tdescriptions = {\n\t\t\t\tcourseName: this.course.name,\n\t\t\t\tcourseId: this.course.id,\n\t\t\t\tlessonName: this.lesson ? this.lesson.name : '',\n\t\t\t\tlessonHidden: this.lesson ? this.lesson.hidden : false,\n\t\t\t\tcolor: this.course.color,\n\t\t\t};\n\t\t} else {\n\t\t\tdescriptions = {\n\t\t\t\tcourseName: '',\n\t\t\t\tcourseId: '',\n\t\t\t\tlessonName: '',\n\t\t\t\tlessonHidden: false,\n\t\t\t\tcolor: '#ACACAC',\n\t\t\t};\n\t\t}\n\n\t\treturn descriptions;\n\t}\n\n\tpublic finishForUser(user: User): void {\n\t\tthis.finished.add(user);\n\t}\n\n\tpublic restoreForUser(user: User): void {\n\t\tthis.finished.remove(user);\n\t}\n\n\tpublic getSchoolId(): EntityId {\n\t\treturn this.school.id;\n\t}\n\n\tpublic publish(): void {\n\t\tthis.private = false;\n\t\tthis.availableDate = new Date();\n\t}\n\n\tpublic unpublish(): void {\n\t\tthis.private = true;\n\t}\n}\n\nexport function isTask(reference: unknown): reference is Task {\n\treturn reference instanceof Task;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TaskProperties.html":{"url":"interfaces/TaskProperties.html","title":"interface - TaskProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TaskProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/types/task.types.ts\n \n\n\n\n \n Extends\n \n \n ITask\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n course\n \n \n \n \n creator\n \n \n \n Optional\n \n finished\n \n \n \n Optional\n \n lesson\n \n \n \n Optional\n \n private\n \n \n \n Optional\n \n publicSubmissions\n \n \n \n \n school\n \n \n \n Optional\n \n submissions\n \n \n \n Optional\n \n teamSubmissions\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n course\n \n \n \n \n \n \n \n \n course: Course\n\n \n \n\n\n \n \n Type : Course\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n creator\n \n \n \n \n \n \n \n \n creator: User\n\n \n \n\n\n \n \n Type : User\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n finished\n \n \n \n \n \n \n \n \n finished: User[]\n\n \n \n\n\n \n \n Type : User[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n lesson\n \n \n \n \n \n \n \n \n lesson: LessonEntity\n\n \n \n\n\n \n \n Type : LessonEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n private\n \n \n \n \n \n \n \n \n private: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n publicSubmissions\n \n \n \n \n \n \n \n \n publicSubmissions: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n \n \n school: SchoolEntity\n\n \n \n\n\n \n \n Type : SchoolEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n submissions\n \n \n \n \n \n \n \n \n submissions: Submission[]\n\n \n \n\n\n \n \n Type : Submission[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n teamSubmissions\n \n \n \n \n \n \n \n \n teamSubmissions: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import type { Course, LessonEntity, SchoolEntity, Submission, User } from '@shared/domain/entity';\nimport type { InputFormat } from '@shared/domain/types';\n\ninterface ITask {\n\tname: string;\n\tdescription?: string;\n\tdescriptionInputFormat?: InputFormat;\n\tavailableDate?: Date;\n\tdueDate?: Date;\n}\n\nexport interface TaskUpdate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface TaskCreate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface TaskProperties extends ITask {\n\tcourse?: Course;\n\tlesson?: LessonEntity;\n\tcreator: User;\n\tschool: SchoolEntity;\n\tfinished?: User[];\n\tprivate?: boolean;\n\tsubmissions?: Submission[];\n\tpublicSubmissions?: boolean;\n\tteamSubmissions?: boolean;\n}\n\nexport interface TaskStatus {\n\tsubmitted: number;\n\tmaxSubmissions: number;\n\tgraded: number;\n\tisDraft: boolean;\n\tisSubstitutionTeacher: boolean;\n\tisFinished: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TaskRepo.html":{"url":"injectables/TaskRepo.html","title":"injectable - TaskRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TaskRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/task/task.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createTask\n \n \n Async\n findAllByParentIds\n \n \n Async\n findAllFinishedByParentIds\n \n \n Async\n findById\n \n \n Async\n findBySingleParent\n \n \n Private\n Async\n findTasksAndCount\n \n \n Private\n Async\n populate\n \n \n create\n \n \n Async\n delete\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createTask\n \n \n \n \n \n \n \n createTask(task: Task)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task.repo.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n task\n \n Task\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllByParentIds\n \n \n \n \n \n \n \n findAllByParentIds(parentIds: literal type, filters?: literal type, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task.repo.ts:106\n \n \n\n\n \n \n Find all tasks by their parents which can be any of\n\na teacher who owns the task\na list of courses\na list of lessons\n\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n parentIds\n \n literal type\n \n\n \n No\n \n\n\n \n parentIds for teacher, courses and lesson\n\n \n \n \n filters\n \n literal type\n \n\n \n Yes\n \n\n\n \n filters\n\n \n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n pagination, sorting\n\n \n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllFinishedByParentIds\n \n \n \n \n \n \n \n findAllFinishedByParentIds(parentIds: literal type, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task.repo.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n parentIds\n \n literal type\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findBySingleParent\n \n \n \n \n \n \n \n findBySingleParent(creatorId: EntityId, courseId: EntityId, filters?: literal type, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task.repo.ts:164\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n creatorId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n filters\n \n literal type\n \n\n \n Yes\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findTasksAndCount\n \n \n \n \n \n \n \n findTasksAndCount(query: FilterQuery, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task.repo.ts:190\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n populate\n \n \n \n \n \n \n \n populate(tasks: Task[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task.repo.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n tasks\n \n Task[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/task/task.repo.ts:11\n \n \n\n \n \n\n \n\n\n \n import { FilterQuery } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\nimport { Task } from '@shared/domain/entity';\nimport { IFindOptions, SortOrder } from '@shared/domain/interface';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '../base.repo';\nimport { TaskScope } from './task-scope';\n\n@Injectable()\nexport class TaskRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn Task;\n\t}\n\n\tprivate async populate(tasks: Task[]): Promise {\n\t\tawait this._em.populate(tasks, [\n\t\t\t'course',\n\t\t\t'lesson',\n\t\t\t'lesson.course',\n\t\t\t'lesson.courseGroup',\n\t\t\t'submissions',\n\t\t\t'submissions.courseGroup',\n\t\t]);\n\t}\n\n\tasync createTask(task: Task): Promise {\n\t\treturn this.save(this.create(task));\n\t}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst task = await super.findById(id);\n\n\t\tawait this.populate([task]);\n\n\t\treturn task;\n\t}\n\n\tasync findAllFinishedByParentIds(\n\t\tparentIds: {\n\t\t\tcreatorId: EntityId;\n\t\t\topenCourseIds: EntityId[];\n\t\t\tlessonIdsOfOpenCourses: EntityId[];\n\t\t\tfinishedCourseIds: EntityId[];\n\t\t\tlessonIdsOfFinishedCourses: EntityId[];\n\t\t},\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst scope = new TaskScope('$or');\n\n\t\tconst parentsOpen = new TaskScope('$or');\n\t\tparentsOpen.byCourseIds(parentIds.openCourseIds);\n\t\tparentsOpen.byLessonIds(parentIds.lessonIdsOfOpenCourses);\n\n\t\tconst parentsFinished = new TaskScope('$or');\n\t\tparentsFinished.byCourseIds(parentIds.finishedCourseIds);\n\t\tparentsFinished.byLessonIds(parentIds.lessonIdsOfFinishedCourses);\n\n\t\tconst closedForOpenCoursesAndLessons = new TaskScope();\n\t\tclosedForOpenCoursesAndLessons.addQuery(parentsOpen.query);\n\t\tclosedForOpenCoursesAndLessons.byDraft(false);\n\t\tclosedForOpenCoursesAndLessons.byFinished(parentIds.creatorId, true);\n\n\t\tconst allForFinishedCoursesAndLessons = new TaskScope();\n\t\tallForFinishedCoursesAndLessons.addQuery(parentsFinished.query);\n\t\tallForFinishedCoursesAndLessons.byDraft(false);\n\n\t\t// must find also closed without course or lesson as parent\n\t\tconst closedWithoutParentForCreator = new TaskScope();\n\t\tclosedWithoutParentForCreator.byFinished(parentIds.creatorId, true);\n\t\tclosedWithoutParentForCreator.byOnlyCreatorId(parentIds.creatorId);\n\n\t\tconst closedDraftsForCreator = new TaskScope();\n\t\tclosedDraftsForCreator.addQuery(parentsOpen.query);\n\t\tclosedDraftsForCreator.byFinished(parentIds.creatorId, true);\n\t\tclosedDraftsForCreator.byCreatorId(parentIds.creatorId);\n\n\t\tconst allForFinishedCoursesAndLessonsForCreator = new TaskScope();\n\t\tallForFinishedCoursesAndLessonsForCreator.addQuery(parentsFinished.query);\n\t\tallForFinishedCoursesAndLessonsForCreator.byCreatorId(parentIds.creatorId);\n\n\t\tconst allForCreator = new TaskScope('$or');\n\t\tallForCreator.addQuery(closedWithoutParentForCreator.query);\n\t\tallForCreator.addQuery(closedDraftsForCreator.query);\n\t\tallForCreator.addQuery(allForFinishedCoursesAndLessonsForCreator.query);\n\n\t\tscope.addQuery(closedForOpenCoursesAndLessons.query);\n\t\tscope.addQuery(allForFinishedCoursesAndLessons.query);\n\t\tscope.addQuery(allForCreator.query);\n\n\t\tconst countedTaskList = await this.findTasksAndCount(scope.query, options);\n\n\t\treturn countedTaskList;\n\t}\n\n\t/**\n\t * Find all tasks by their parents which can be any of\n\t * - a teacher who owns the task\n\t * - a list of courses\n\t * - a list of lessons\n\t *\n\t * @param parentIds parentIds for teacher, courses and lesson\n\t * @param filters filters\n\t * @param options pagination, sorting\n\t * @returns\n\t */\n\tasync findAllByParentIds(\n\t\tparentIds: {\n\t\t\tcreatorId?: EntityId;\n\t\t\tcourseIds?: EntityId[];\n\t\t\tlessonIds?: EntityId[];\n\t\t},\n\t\tfilters?: {\n\t\t\tafterDueDateOrNone?: Date;\n\t\t\tfinished?: { userId: EntityId; value: boolean };\n\t\t\tavailableOn?: Date;\n\t\t},\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst scope = new TaskScope();\n\n\t\tconst parentIdScope = new TaskScope('$or');\n\n\t\tif (parentIds.creatorId) {\n\t\t\tparentIdScope.byOnlyCreatorId(parentIds.creatorId);\n\t\t}\n\n\t\tif (parentIds.courseIds) {\n\t\t\tparentIdScope.byCourseIds(parentIds.courseIds);\n\t\t}\n\n\t\tif (parentIds.lessonIds) {\n\t\t\tparentIdScope.byLessonIds(parentIds.lessonIds);\n\t\t}\n\n\t\tscope.addQuery(parentIdScope.query);\n\n\t\tif (filters?.finished) {\n\t\t\tscope.byFinished(filters.finished.userId, filters.finished.value);\n\t\t}\n\n\t\tif (parentIds.creatorId) {\n\t\t\tscope.excludeDraftsOfOthers(parentIds.creatorId);\n\t\t} else {\n\t\t\tscope.byDraft(false);\n\t\t}\n\n\t\tif (filters?.afterDueDateOrNone !== undefined) {\n\t\t\tscope.afterDueDateOrNone(filters.afterDueDateOrNone);\n\t\t}\n\n\t\tif (filters?.availableOn !== undefined) {\n\t\t\tif (parentIds.creatorId) {\n\t\t\t\tscope.excludeUnavailableOfOthers(parentIds.creatorId, filters.availableOn);\n\t\t\t} else {\n\t\t\t\tscope.byAvailable(filters?.availableOn);\n\t\t\t}\n\t\t}\n\n\t\tconst countedTaskList = await this.findTasksAndCount(scope.query, options);\n\n\t\treturn countedTaskList;\n\t}\n\n\tasync findBySingleParent(\n\t\tcreatorId: EntityId,\n\t\tcourseId: EntityId,\n\t\tfilters?: { draft?: boolean; noFutureAvailableDate?: boolean },\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst scope = new TaskScope();\n\t\tscope.byCourseIds([courseId]);\n\n\t\tif (filters?.draft !== undefined) {\n\t\t\tif (filters?.draft === true) {\n\t\t\t\tscope.excludeDraftsOfOthers(creatorId);\n\t\t\t} else {\n\t\t\t\tscope.byDraft(false);\n\t\t\t}\n\t\t}\n\n\t\tif (filters?.noFutureAvailableDate !== undefined) {\n\t\t\tscope.noFutureAvailableDate();\n\t\t}\n\n\t\tconst countedTaskList = await this.findTasksAndCount(scope.query, options);\n\n\t\treturn countedTaskList;\n\t}\n\n\tprivate async findTasksAndCount(query: FilterQuery, options?: IFindOptions): Promise> {\n\t\tconst pagination = options?.pagination || {};\n\t\tconst order = options?.order || {};\n\n\t\t// In order to solve pagination missmatches we apply a default order by _id. This is necessary\n\t\t// because other fields like the dueDate can be equal or null.\n\t\t// When pagination is used, sorting takes place on every page and if ambiguous leads to unwanted results.\n\t\t// Note: Indexes for dueDate and for _id do exist but there's no combined index.\n\t\t// This is okay, because the combined index would be too expensive for the particular purpose here.\n\t\tif (order._id == null) {\n\t\t\torder._id = SortOrder.asc;\n\t\t}\n\n\t\tconst [tasks, count] = await this._em.findAndCount(Task, query, {\n\t\t\toffset: pagination?.skip,\n\t\t\tlimit: pagination?.limit,\n\t\t\torderBy: order,\n\t\t});\n\n\t\tawait this.populate(tasks);\n\n\t\treturn [tasks, count];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskResponse.html":{"url":"classes/TaskResponse.html","title":"class - TaskResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/dto/task.response.ts\n \n\n\n \n Description\n \n \n DTO for returning a task document via api.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n availableDate\n \n \n \n courseId\n \n \n \n \n courseName\n \n \n \n createdAt\n \n \n \n \n Optional\n description\n \n \n \n Optional\n displayColor\n \n \n \n Optional\n dueDate\n \n \n \n id\n \n \n \n lessonHidden\n \n \n \n Optional\n lessonName\n \n \n \n \n name\n \n \n \n status\n \n \n \n updatedAt\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: TaskResponse)\n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n TaskResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n availableDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n courseId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '' as string\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n courseName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '' as string\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : RichText\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Task description object, with props content: string and type: input format types', type: RichText})@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n displayColor\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n dueDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n lessonHidden\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n lessonName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : TaskStatusResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:64\n \n \n\n\n \n \n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:61\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { DecodeHtmlEntities, PaginationResponse } from '@shared/controller';\nimport { RichText } from '@shared/domain/types';\nimport { TaskStatusResponse } from './task-status.response';\n\n/**\n * DTO for returning a task document via api.\n */\nexport class TaskResponse {\n\tconstructor({ id, name, courseName, courseId, createdAt, updatedAt, status }: TaskResponse) {\n\t\tthis.id = id;\n\t\tthis.name = name;\n\t\tthis.courseName = courseName;\n\t\tthis.courseId = courseId;\n\t\tthis.createdAt = createdAt;\n\t\tthis.updatedAt = updatedAt;\n\t\tthis.lessonHidden = false;\n\t\tthis.status = status;\n\t}\n\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tname: string;\n\n\t@ApiPropertyOptional()\n\tavailableDate?: Date;\n\n\t@ApiPropertyOptional()\n\tdueDate?: Date;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tcourseName: string = '' as string;\n\n\t@ApiPropertyOptional()\n\tlessonName?: string;\n\n\t@ApiProperty()\n\tcourseId: string = '' as string;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Task description object, with props content: string and type: input format types',\n\t\ttype: RichText,\n\t})\n\t@DecodeHtmlEntities()\n\tdescription?: RichText;\n\n\t@ApiProperty()\n\tlessonHidden: boolean;\n\n\t@ApiPropertyOptional()\n\tdisplayColor?: string;\n\n\t@ApiProperty()\n\tcreatedAt: Date;\n\n\t@ApiProperty()\n\tupdatedAt: Date;\n\n\t@ApiProperty()\n\tstatus: TaskStatusResponse;\n}\n\nexport class TaskListResponse extends PaginationResponse {\n\tconstructor(data: TaskResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [TaskResponse] })\n\tdata: TaskResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TaskRule.html":{"url":"injectables/TaskRule.html","title":"injectable - TaskRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TaskRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/task.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n hasParentPermission\n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper, courseRule: CourseRule, lessonRule: LessonRule)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/task.rule.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n courseRule\n \n \n CourseRule\n \n \n \n No\n \n \n \n \n lessonRule\n \n \n LessonRule\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n hasParentPermission\n \n \n \n \n \n \n \n hasParentPermission(user: User, entity: Task, action: Action)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/task.rule.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n Task\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, entity: Task, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/task.rule.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n Task\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, entity: Task)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/task.rule.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n Task\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Task, User } from '@shared/domain/entity';\nimport { Action, AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\nimport { CourseRule } from './course.rule';\nimport { LessonRule } from './lesson.rule';\n\n@Injectable()\nexport class TaskRule implements Rule {\n\tconstructor(\n\t\tprivate readonly authorizationHelper: AuthorizationHelper,\n\t\tprivate readonly courseRule: CourseRule,\n\t\tprivate readonly lessonRule: LessonRule\n\t) {}\n\n\tpublic isApplicable(user: User, entity: Task): boolean {\n\t\tconst isMatched = entity instanceof Task;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, entity: Task, context: AuthorizationContext): boolean {\n\t\tlet { action } = context;\n\t\tconst { requiredPermissions } = context;\n\t\tconst hasRequiredPermission = this.authorizationHelper.hasAllPermissions(user, requiredPermissions);\n\t\tif (!hasRequiredPermission) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst isCreator = this.authorizationHelper.hasAccessToEntity(user, entity, ['creator']);\n\t\tif (entity.isDraft()) {\n\t\t\taction = Action.write;\n\t\t}\n\n\t\tconst hasParentPermission = this.hasParentPermission(user, entity, action);\n\n\t\t// TODO why parent permission has OR cond?\n\t\tconst result = isCreator || hasParentPermission;\n\n\t\treturn result;\n\t}\n\n\tprivate hasParentPermission(user: User, entity: Task, action: Action): boolean {\n\t\tif (entity.lesson) {\n\t\t\tconst hasLessonPermission = this.lessonRule.hasPermission(user, entity.lesson, {\n\t\t\t\taction,\n\t\t\t\trequiredPermissions: [],\n\t\t\t});\n\t\t\treturn hasLessonPermission;\n\t\t}\n\t\tif (entity.course) {\n\t\t\tconst hasCoursePermission = this.courseRule.hasPermission(user, entity.course, {\n\t\t\t\taction,\n\t\t\t\trequiredPermissions: [],\n\t\t\t});\n\n\t\t\treturn hasCoursePermission;\n\t\t}\n\t\treturn true;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskScope.html":{"url":"classes/TaskScope.html","title":"class - TaskScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/task/task-scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n afterDueDateOrNone\n \n \n byAvailable\n \n \n byCourseIds\n \n \n byCreatorId\n \n \n byDraft\n \n \n byFinished\n \n \n byLessonIds\n \n \n byOnlyCreatorId\n \n \n excludeDraftsOfOthers\n \n \n excludeUnavailableOfOthers\n \n \n Private\n getByDraftForCreatorQuery\n \n \n Private\n getByDraftQuery\n \n \n noFutureAvailableDate\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n afterDueDateOrNone\n \n \n \n \n \n \nafterDueDateOrNone(dueDate: Date)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:83\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n dueDate\n \n Date\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byAvailable\n \n \n \n \n \n \nbyAvailable(availableDate: Date)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n availableDate\n \n Date\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byCourseIds\n \n \n \n \n \n \nbyCourseIds(courseIds: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byCreatorId\n \n \n \n \n \n \nbyCreatorId(creatorId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n creatorId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byDraft\n \n \n \n \n \n \nbyDraft(isDraft: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isDraft\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byFinished\n \n \n \n \n \n \nbyFinished(userId: EntityId, value: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n value\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byLessonIds\n \n \n \n \n \n \nbyLessonIds(lessonIds: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n lessonIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byOnlyCreatorId\n \n \n \n \n \n \nbyOnlyCreatorId(creatorId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n creatorId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n excludeDraftsOfOthers\n \n \n \n \n \n \nexcludeDraftsOfOthers(creatorId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n creatorId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n excludeUnavailableOfOthers\n \n \n \n \n \n \nexcludeUnavailableOfOthers(creatorId: EntityId, availableOn: Date)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n creatorId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n availableOn\n \n Date\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getByDraftForCreatorQuery\n \n \n \n \n \n \n \n getByDraftForCreatorQuery(creatorId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:95\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n creatorId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FilterQuery\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getByDraftQuery\n \n \n \n \n \n \n \n getByDraftQuery(isDraft: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:89\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isDraft\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FilterQuery\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n noFutureAvailableDate\n \n \n \n \n \n \nnoFutureAvailableDate()\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:66\n \n \n\n\n \n \n\n \n Returns : TaskScope\n\n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { FilterQuery } from '@mikro-orm/core';\nimport { Task } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { Scope } from '../scope';\n\nexport class TaskScope extends Scope {\n\tbyFinished(userId: EntityId, value: boolean): TaskScope {\n\t\tif (value === true) {\n\t\t\tthis.addQuery({ finished: userId });\n\t\t} else {\n\t\t\tthis.addQuery({ finished: { $ne: userId } });\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tbyOnlyCreatorId(creatorId: EntityId): TaskScope {\n\t\tthis.addQuery({\n\t\t\t$and: [{ creator: creatorId }, { course: null }, { lesson: null }],\n\t\t});\n\n\t\treturn this;\n\t}\n\n\tbyCreatorId(creatorId: EntityId): TaskScope {\n\t\tthis.addQuery({ creator: creatorId });\n\n\t\treturn this;\n\t}\n\n\tbyCourseIds(courseIds: EntityId[]): TaskScope {\n\t\tthis.addQuery({\n\t\t\t$and: [{ course: { $in: courseIds } }, { lesson: null }],\n\t\t});\n\n\t\treturn this;\n\t}\n\n\tbyLessonIds(lessonIds: EntityId[]): TaskScope {\n\t\tthis.addQuery({ lesson: { $in: lessonIds } });\n\n\t\treturn this;\n\t}\n\n\tbyDraft(isDraft: boolean): TaskScope {\n\t\tconst query = this.getByDraftQuery(isDraft);\n\t\tthis.addQuery(query);\n\n\t\treturn this;\n\t}\n\n\texcludeDraftsOfOthers(creatorId: EntityId): TaskScope {\n\t\tthis.addQuery({\n\t\t\t$or: [this.getByDraftForCreatorQuery(creatorId), this.getByDraftQuery(false)],\n\t\t});\n\n\t\treturn this;\n\t}\n\n\tbyAvailable(availableDate: Date): TaskScope {\n\t\tthis.addQuery({ availableDate: { $lte: availableDate } });\n\n\t\treturn this;\n\t}\n\n\tnoFutureAvailableDate(): TaskScope {\n\t\tconst query = { availableDate: { $lte: new Date(Date.now()) } };\n\t\tthis.addQuery(query);\n\n\t\treturn this;\n\t}\n\n\texcludeUnavailableOfOthers(creatorId: EntityId, availableOn: Date): TaskScope {\n\t\tthis.addQuery({\n\t\t\t$or: [\n\t\t\t\t{ creator: creatorId },\n\t\t\t\t{ $and: [{ creator: { $ne: creatorId } }, { availableDate: { $lte: availableOn } }] },\n\t\t\t],\n\t\t});\n\t\treturn this;\n\t}\n\n\tafterDueDateOrNone(dueDate: Date): TaskScope {\n\t\tthis.addQuery({ $or: [{ dueDate: { $gte: dueDate } }, { dueDate: null }] });\n\n\t\treturn this;\n\t}\n\n\tprivate getByDraftQuery(isDraft: boolean): FilterQuery {\n\t\tconst query = isDraft ? { private: { $eq: true } } : { private: { $ne: true } };\n\n\t\treturn query;\n\t}\n\n\tprivate getByDraftForCreatorQuery(creatorId: EntityId): FilterQuery {\n\t\tconst query = { $and: [{ creator: creatorId }, this.getByDraftQuery(true)] };\n\n\t\treturn query;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TaskService.html":{"url":"injectables/TaskService.html","title":"injectable - TaskService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TaskService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/service/task.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n delete\n \n \n Private\n Async\n deleteSubmissions\n \n \n Async\n findById\n \n \n Async\n findBySingleParent\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(taskRepo: TaskRepo, submissionService: SubmissionService, filesStorageClientAdapterService: FilesStorageClientAdapterService)\n \n \n \n \n Defined in apps/server/src/modules/task/service/task.service.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n taskRepo\n \n \n TaskRepo\n \n \n \n No\n \n \n \n \n submissionService\n \n \n SubmissionService\n \n \n \n No\n \n \n \n \n filesStorageClientAdapterService\n \n \n FilesStorageClientAdapterService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(task: Task)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/service/task.service.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n task\n \n Task\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n deleteSubmissions\n \n \n \n \n \n \n \n deleteSubmissions(task: Task)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/service/task.service.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n task\n \n Task\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(taskId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/service/task.service.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n taskId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findBySingleParent\n \n \n \n \n \n \n \n findBySingleParent(creatorId: EntityId, courseId: EntityId, filters?: literal type, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/service/task.service.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n creatorId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n filters\n \n literal type\n \n\n \n Yes\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { FilesStorageClientAdapterService } from '@modules/files-storage-client';\nimport { Injectable } from '@nestjs/common';\nimport { Task } from '@shared/domain/entity';\nimport { IFindOptions } from '@shared/domain/interface';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { TaskRepo } from '@shared/repo';\nimport { SubmissionService } from './submission.service';\n\n@Injectable()\nexport class TaskService {\n\tconstructor(\n\t\tprivate readonly taskRepo: TaskRepo,\n\t\tprivate readonly submissionService: SubmissionService,\n\t\tprivate readonly filesStorageClientAdapterService: FilesStorageClientAdapterService\n\t) {}\n\n\tasync findBySingleParent(\n\t\tcreatorId: EntityId,\n\t\tcourseId: EntityId,\n\t\tfilters?: { draft?: boolean; noFutureAvailableDate?: boolean },\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\treturn this.taskRepo.findBySingleParent(creatorId, courseId, filters, options);\n\t}\n\n\tasync delete(task: Task): Promise {\n\t\tawait this.filesStorageClientAdapterService.deleteFilesOfParent(task.id);\n\n\t\tawait this.deleteSubmissions(task);\n\n\t\tawait this.taskRepo.delete(task);\n\t}\n\n\tprivate async deleteSubmissions(task: Task): Promise {\n\t\tconst submissions = task.submissions.getItems();\n\t\tconst promises = submissions.map((submission) => this.submissionService.delete(submission));\n\n\t\tawait Promise.all(promises);\n\t}\n\n\tasync findById(taskId: EntityId): Promise {\n\t\treturn this.taskRepo.findById(taskId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TaskStatus.html":{"url":"interfaces/TaskStatus.html","title":"interface - TaskStatus","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TaskStatus\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/types/task.types.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n graded\n \n \n \n \n isDraft\n \n \n \n \n isFinished\n \n \n \n \n isSubstitutionTeacher\n \n \n \n \n maxSubmissions\n \n \n \n \n submitted\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n graded\n \n \n \n \n \n \n \n \n graded: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n isDraft\n \n \n \n \n \n \n \n \n isDraft: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n isFinished\n \n \n \n \n \n \n \n \n isFinished: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n isSubstitutionTeacher\n \n \n \n \n \n \n \n \n isSubstitutionTeacher: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n maxSubmissions\n \n \n \n \n \n \n \n \n maxSubmissions: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n submitted\n \n \n \n \n \n \n \n \n submitted: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import type { Course, LessonEntity, SchoolEntity, Submission, User } from '@shared/domain/entity';\nimport type { InputFormat } from '@shared/domain/types';\n\ninterface ITask {\n\tname: string;\n\tdescription?: string;\n\tdescriptionInputFormat?: InputFormat;\n\tavailableDate?: Date;\n\tdueDate?: Date;\n}\n\nexport interface TaskUpdate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface TaskCreate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface TaskProperties extends ITask {\n\tcourse?: Course;\n\tlesson?: LessonEntity;\n\tcreator: User;\n\tschool: SchoolEntity;\n\tfinished?: User[];\n\tprivate?: boolean;\n\tsubmissions?: Submission[];\n\tpublicSubmissions?: boolean;\n\tteamSubmissions?: boolean;\n}\n\nexport interface TaskStatus {\n\tsubmitted: number;\n\tmaxSubmissions: number;\n\tgraded: number;\n\tisDraft: boolean;\n\tisSubstitutionTeacher: boolean;\n\tisFinished: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskStatusMapper.html":{"url":"classes/TaskStatusMapper.html","title":"class - TaskStatusMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskStatusMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/mapper/task-status.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(status: TaskStatus)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/mapper/task-status.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n status\n \n TaskStatus\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskStatusResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { TaskStatus } from '@shared/domain/types';\nimport { TaskStatusResponse } from '../controller/dto/task-status.response';\n\nexport class TaskStatusMapper {\n\tstatic mapToResponse(status: TaskStatus): TaskStatusResponse {\n\t\tconst dto = new TaskStatusResponse(status);\n\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskStatusResponse.html":{"url":"classes/TaskStatusResponse.html","title":"class - TaskStatusResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskStatusResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/dto/task-status.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n graded\n \n \n \n isDraft\n \n \n \n isFinished\n \n \n \n isSubstitutionTeacher\n \n \n \n maxSubmissions\n \n \n \n submitted\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: TaskStatusResponse)\n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-status.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n TaskStatusResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n graded\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-status.response.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n isDraft\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-status.response.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n isFinished\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-status.response.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n isSubstitutionTeacher\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-status.response.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n maxSubmissions\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-status.response.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n submitted\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-status.response.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class TaskStatusResponse {\n\tconstructor({ submitted, maxSubmissions, graded, isDraft, isSubstitutionTeacher, isFinished }: TaskStatusResponse) {\n\t\tthis.submitted = submitted;\n\t\tthis.maxSubmissions = maxSubmissions;\n\t\tthis.graded = graded;\n\t\tthis.isDraft = isDraft;\n\t\tthis.isSubstitutionTeacher = isSubstitutionTeacher;\n\t\tthis.isFinished = isFinished;\n\t}\n\n\t@ApiProperty()\n\tsubmitted: number;\n\n\t@ApiProperty()\n\tmaxSubmissions: number;\n\n\t@ApiProperty()\n\tgraded: number;\n\n\t@ApiProperty()\n\tisDraft: boolean;\n\n\t@ApiProperty()\n\tisSubstitutionTeacher: boolean;\n\n\t@ApiProperty()\n\tisFinished: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TaskUC.html":{"url":"injectables/TaskUC.html","title":"injectable - TaskUC","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TaskUC\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/uc/task.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n changeFinishedForUser\n \n \n Async\n delete\n \n \n Async\n findAll\n \n \n Async\n findAllFinished\n \n \n Private\n Async\n findAllForStudent\n \n \n Private\n Async\n findAllForTeacher\n \n \n Private\n getDefaultMaxDueDate\n \n \n Private\n Async\n getPermittedCourses\n \n \n Private\n Async\n getPermittedLessons\n \n \n Async\n revertPublished\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(taskRepo: TaskRepo, authorizationService: AuthorizationService, courseRepo: CourseRepo, lessonService: LessonService, taskService: TaskService)\n \n \n \n \n Defined in apps/server/src/modules/task/uc/task.uc.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n taskRepo\n \n \n TaskRepo\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n courseRepo\n \n \n CourseRepo\n \n \n \n No\n \n \n \n \n lessonService\n \n \n LessonService\n \n \n \n No\n \n \n \n \n taskService\n \n \n TaskService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n changeFinishedForUser\n \n \n \n \n \n \n \n changeFinishedForUser(userId: EntityId, taskId: EntityId, isFinished: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.ts:77\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n taskId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n isFinished\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(userId: EntityId, taskId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.ts:217\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n taskId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAll\n \n \n \n \n \n \n \n findAll(userId: EntityId, pagination: Pagination)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n pagination\n \n Pagination\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllFinished\n \n \n \n \n \n \n \n findAllFinished(userId: EntityId, pagination?: Pagination)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n pagination\n \n Pagination\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findAllForStudent\n \n \n \n \n \n \n \n findAllForStudent(user: User, pagination: Pagination)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.ts:118\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n pagination\n \n Pagination\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findAllForTeacher\n \n \n \n \n \n \n \n findAllForTeacher(user: User, pagination: Pagination)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.ts:147\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n pagination\n \n Pagination\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getDefaultMaxDueDate\n \n \n \n \n \n \n \n getDefaultMaxDueDate()\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.ts:210\n \n \n\n\n \n \n\n \n Returns : Date\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getPermittedCourses\n \n \n \n \n \n \n \n getPermittedCourses(user: User, neededPermission: Action)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.ts:177\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n neededPermission\n \n Action\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getPermittedLessons\n \n \n \n \n \n \n \n getPermittedLessons(user: User, courses: Course[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.ts:189\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n courses\n \n Course[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n revertPublished\n \n \n \n \n \n \n \n revertPublished(userId: EntityId, taskId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.ts:102\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n taskId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Action, AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { LessonService } from '@modules/lesson';\nimport { Injectable, UnauthorizedException } from '@nestjs/common';\nimport { Course, LessonEntity, TaskWithStatusVo, User } from '@shared/domain/entity';\nimport { Pagination, Permission, SortOrder } from '@shared/domain/interface';\nimport { Counted, EntityId, TaskStatus } from '@shared/domain/types';\nimport { CourseRepo, TaskRepo } from '@shared/repo';\nimport { TaskService } from '../service';\n\n@Injectable()\nexport class TaskUC {\n\tconstructor(\n\t\tprivate readonly taskRepo: TaskRepo,\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly courseRepo: CourseRepo,\n\t\tprivate readonly lessonService: LessonService,\n\t\tprivate readonly taskService: TaskService\n\t) {}\n\n\tasync findAllFinished(userId: EntityId, pagination?: Pagination): Promise> {\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\n\t\tthis.authorizationService.checkOneOfPermissions(user, [\n\t\t\tPermission.TASK_DASHBOARD_TEACHER_VIEW_V3,\n\t\t\tPermission.TASK_DASHBOARD_VIEW_V3,\n\t\t]);\n\n\t\tconst courses = await this.getPermittedCourses(user, Action.read);\n\t\tconst lessons = await this.getPermittedLessons(user, courses);\n\n\t\tconst openCourseIds = courses.filter((c) => !c.isFinished()).map((c) => c.id);\n\t\tconst finishedCourseIds = courses.filter((c) => c.isFinished()).map((c) => c.id);\n\t\tconst lessonIdsOfOpenCourses = lessons.filter((l) => !l.course.isFinished()).map((l) => l.id);\n\t\tconst lessonIdsOfFinishedCourses = lessons.filter((l) => l.course.isFinished()).map((l) => l.id);\n\n\t\tconst [tasks, total] = await this.taskRepo.findAllFinishedByParentIds(\n\t\t\t{\n\t\t\t\tcreatorId: userId,\n\t\t\t\topenCourseIds,\n\t\t\t\tfinishedCourseIds,\n\t\t\t\tlessonIdsOfOpenCourses,\n\t\t\t\tlessonIdsOfFinishedCourses,\n\t\t\t},\n\t\t\t{ pagination, order: { dueDate: SortOrder.desc } }\n\t\t);\n\n\t\tconst taskWithStatusVos = tasks.map((task) => {\n\t\t\tlet status: TaskStatus;\n\t\t\tif (this.authorizationService.hasPermission(user, task, AuthorizationContextBuilder.write([]))) {\n\t\t\t\tstatus = task.createTeacherStatusForUser(user);\n\t\t\t} else {\n\t\t\t\tstatus = task.createStudentStatusForUser(user);\n\t\t\t}\n\n\t\t\treturn new TaskWithStatusVo(task, status);\n\t\t});\n\n\t\treturn [taskWithStatusVos, total];\n\t}\n\n\tasync findAll(userId: EntityId, pagination: Pagination): Promise> {\n\t\tlet response: Counted;\n\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\n\t\tif (this.authorizationService.hasAllPermissions(user, [Permission.TASK_DASHBOARD_VIEW_V3])) {\n\t\t\tresponse = await this.findAllForStudent(user, pagination);\n\t\t} else if (this.authorizationService.hasAllPermissions(user, [Permission.TASK_DASHBOARD_TEACHER_VIEW_V3])) {\n\t\t\tresponse = await this.findAllForTeacher(user, pagination);\n\t\t} else {\n\t\t\tthrow new UnauthorizedException();\n\t\t}\n\n\t\treturn response;\n\t}\n\n\tasync changeFinishedForUser(userId: EntityId, taskId: EntityId, isFinished: boolean): Promise {\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\t\tconst task = await this.taskRepo.findById(taskId);\n\n\t\tthis.authorizationService.checkPermission(user, task, AuthorizationContextBuilder.read([]));\n\n\t\tif (isFinished) {\n\t\t\ttask.finishForUser(user);\n\t\t} else {\n\t\t\ttask.restoreForUser(user);\n\t\t}\n\t\tawait this.taskRepo.save(task);\n\n\t\t// TODO fix student case - why have student as fallback?\n\t\t// should be based on permission too and use this.createStatus() instead\n\t\t// add status\n\t\tconst status = this.authorizationService.hasOneOfPermissions(user, [Permission.TASK_DASHBOARD_TEACHER_VIEW_V3])\n\t\t\t? task.createTeacherStatusForUser(user)\n\t\t\t: task.createStudentStatusForUser(user);\n\n\t\tconst result = new TaskWithStatusVo(task, status);\n\n\t\treturn result;\n\t}\n\n\tasync revertPublished(userId: EntityId, taskId: EntityId): Promise {\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\t\tconst task = await this.taskRepo.findById(taskId);\n\n\t\tthis.authorizationService.checkPermission(user, task, AuthorizationContextBuilder.write([]));\n\n\t\ttask.unpublish();\n\t\tawait this.taskRepo.save(task);\n\n\t\tconst status = task.createTeacherStatusForUser(user);\n\n\t\tconst result = new TaskWithStatusVo(task, status);\n\n\t\treturn result;\n\t}\n\n\tprivate async findAllForStudent(user: User, pagination: Pagination): Promise> {\n\t\tconst courses = await this.getPermittedCourses(user, Action.read);\n\t\tconst openCourses = courses.filter((c) => !c.isFinished());\n\t\tconst lessons = await this.getPermittedLessons(user, openCourses);\n\n\t\tconst dueDate = this.getDefaultMaxDueDate();\n\t\tconst notFinished = { userId: user.id, value: false };\n\n\t\tconst [tasks, total] = await this.taskRepo.findAllByParentIds(\n\t\t\t{\n\t\t\t\tcreatorId: user.id,\n\t\t\t\tcourseIds: openCourses.map((c) => c.id),\n\t\t\t\tlessonIds: lessons.map((l) => l.id),\n\t\t\t},\n\t\t\t{ afterDueDateOrNone: dueDate, finished: notFinished, availableOn: new Date() },\n\t\t\t{\n\t\t\t\tpagination,\n\t\t\t\torder: { dueDate: SortOrder.asc },\n\t\t\t}\n\t\t);\n\n\t\tconst taskWithStatusVos = tasks.map((task) => {\n\t\t\tconst status = task.createStudentStatusForUser(user);\n\t\t\treturn new TaskWithStatusVo(task, status);\n\t\t});\n\n\t\treturn [taskWithStatusVos, total];\n\t}\n\n\tprivate async findAllForTeacher(user: User, pagination: Pagination): Promise> {\n\t\tconst courses = await this.getPermittedCourses(user, Action.write);\n\t\tconst openCourses = courses.filter((c) => !c.isFinished());\n\t\tconst lessons = await this.getPermittedLessons(user, openCourses);\n\n\t\tconst notFinished = { userId: user.id, value: false };\n\n\t\tconst [tasks, total] = await this.taskRepo.findAllByParentIds(\n\t\t\t{\n\t\t\t\tcreatorId: user.id,\n\t\t\t\tcourseIds: openCourses.map((c) => c.id),\n\t\t\t\tlessonIds: lessons.map((l) => l.id),\n\t\t\t},\n\t\t\t{ finished: notFinished, availableOn: new Date() },\n\t\t\t{\n\t\t\t\tpagination,\n\t\t\t\torder: { dueDate: SortOrder.desc },\n\t\t\t}\n\t\t);\n\n\t\tconst taskWithStatusVos = tasks.map((task) => {\n\t\t\tconst status = task.createTeacherStatusForUser(user);\n\t\t\treturn new TaskWithStatusVo(task, status);\n\t\t});\n\n\t\treturn [taskWithStatusVos, total];\n\t}\n\n\t// it should return also the scopePermissions for this user added to the entity .scopePermission: { userId, read: boolean, write: boolean }\n\t// then we can pass and allow only scoped courses to getPermittedLessonIds and validate read write of .scopePermission\n\tprivate async getPermittedCourses(user: User, neededPermission: Action): Promise {\n\t\tlet permittedCourses: Course[] = [];\n\n\t\tif (neededPermission === Action.write) {\n\t\t\t[permittedCourses] = await this.courseRepo.findAllForTeacherOrSubstituteTeacher(user.id);\n\t\t} else if (neededPermission === Action.read) {\n\t\t\t[permittedCourses] = await this.courseRepo.findAllByUserId(user.id);\n\t\t}\n\n\t\treturn permittedCourses;\n\t}\n\n\tprivate async getPermittedLessons(user: User, courses: Course[]): Promise {\n\t\tconst writeCourses = courses.filter((c) =>\n\t\t\tthis.authorizationService.hasPermission(user, c, AuthorizationContextBuilder.write([]))\n\t\t);\n\t\tconst readCourses = courses.filter((c) => !writeCourses.includes(c));\n\n\t\tconst writeCourseIds = writeCourses.map((c) => c.id);\n\t\tconst readCourseIds = readCourses.map((c) => c.id);\n\n\t\t// idea as combined query:\n\t\t// [{courseIds: onlyWriteCoursesIds}, { courseIds: onlyReadCourses, filter: { hidden: false }}]\n\t\tconst [[writeLessons], [readLessons]] = await Promise.all([\n\t\t\tthis.lessonService.findByCourseIds(writeCourseIds),\n\t\t\tthis.lessonService.findByCourseIds(readCourseIds, { hidden: false }),\n\t\t]);\n\n\t\tconst permittedLessons = [...writeLessons, ...readLessons];\n\n\t\treturn permittedLessons;\n\t}\n\n\tprivate getDefaultMaxDueDate(): Date {\n\t\tconst oneWeekAgo = new Date();\n\t\toneWeekAgo.setDate(oneWeekAgo.getDate() - 7);\n\n\t\treturn oneWeekAgo;\n\t}\n\n\tasync delete(userId: EntityId, taskId: EntityId): Promise {\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\t\tconst task = await this.taskRepo.findById(taskId);\n\n\t\tthis.authorizationService.checkPermission(user, task, AuthorizationContextBuilder.write([]));\n\n\t\tawait this.taskService.delete(task);\n\n\t\treturn true;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TaskUpdate.html":{"url":"interfaces/TaskUpdate.html","title":"interface - TaskUpdate","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TaskUpdate\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/types/task.types.ts\n \n\n\n\n \n Extends\n \n \n ITask\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n courseId\n \n \n \n Optional\n \n lessonId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n courseId\n \n \n \n \n \n \n \n \n courseId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n lessonId\n \n \n \n \n \n \n \n \n lessonId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import type { Course, LessonEntity, SchoolEntity, Submission, User } from '@shared/domain/entity';\nimport type { InputFormat } from '@shared/domain/types';\n\ninterface ITask {\n\tname: string;\n\tdescription?: string;\n\tdescriptionInputFormat?: InputFormat;\n\tavailableDate?: Date;\n\tdueDate?: Date;\n}\n\nexport interface TaskUpdate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface TaskCreate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface TaskProperties extends ITask {\n\tcourse?: Course;\n\tlesson?: LessonEntity;\n\tcreator: User;\n\tschool: SchoolEntity;\n\tfinished?: User[];\n\tprivate?: boolean;\n\tsubmissions?: Submission[];\n\tpublicSubmissions?: boolean;\n\tteamSubmissions?: boolean;\n}\n\nexport interface TaskStatus {\n\tsubmitted: number;\n\tmaxSubmissions: number;\n\tgraded: number;\n\tisDraft: boolean;\n\tisSubstitutionTeacher: boolean;\n\tisFinished: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskUpdateParams.html":{"url":"classes/TaskUpdateParams.html","title":"class - TaskUpdateParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskUpdateParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/dto/task-update.params.ts\n \n\n\n\n\n \n Implements\n \n \n TaskUpdate\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n availableDate\n \n \n \n \n \n \n Optional\n courseId\n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n Optional\n dueDate\n \n \n \n \n \n \n Optional\n lessonId\n \n \n \n \n \n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n availableDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsDate()@IsOptional()@ApiPropertyOptional({description: 'Date since the task is published', type: Date})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-update.params.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n courseId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsMongoId()@IsOptional()@ApiPropertyOptional({description: 'The id of an course object.', pattern: '[a-f0-9]{24}', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-update.params.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@SanitizeHtml(InputFormat.RICH_TEXT_CK5)@ApiPropertyOptional({description: 'The description of the task'})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-update.params.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n dueDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsDate()@IsOptional()@ApiPropertyOptional({description: 'Date until the task submissions can be sent', type: Date})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-update.params.ts:57\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n lessonId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsMongoId()@IsOptional()@ApiPropertyOptional({description: 'The id of an lesson object.', pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-update.params.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@SanitizeHtml()@ApiProperty({description: 'The title of the task', required: true})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-update.params.ts:33\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\nimport { InputFormat, TaskUpdate } from '@shared/domain/types';\nimport { IsDate, IsMongoId, IsOptional, IsString } from 'class-validator';\n\nexport class TaskUpdateParams implements TaskUpdate {\n\t@IsString()\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The id of an course object.',\n\t\tpattern: '[a-f0-9]{24}',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tcourseId?: string;\n\n\t@IsString()\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The id of an lesson object.',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tlessonId?: string;\n\n\t@IsString()\n\t@SanitizeHtml()\n\t@ApiProperty({\n\t\tdescription: 'The title of the task',\n\t\trequired: true,\n\t})\n\tname!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@SanitizeHtml(InputFormat.RICH_TEXT_CK5)\n\t@ApiPropertyOptional({\n\t\tdescription: 'The description of the task',\n\t})\n\tdescription?: string;\n\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'Date since the task is published',\n\t\ttype: Date,\n\t})\n\tavailableDate?: Date;\n\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'Date until the task submissions can be sent',\n\t\ttype: Date,\n\t})\n\tdueDate?: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TaskUrlHandler.html":{"url":"injectables/TaskUrlHandler.html","title":"injectable - TaskUrlHandler","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TaskUrlHandler\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/service/url-handler/task-url-handler.ts\n \n\n\n\n \n Extends\n \n \n AbstractUrlHandler\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n patterns\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getMetaData\n \n \n doesUrlMatch\n \n \n Protected\n extractId\n \n \n getDefaultMetaData\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(taskService: TaskService)\n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/task-url-handler.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n taskService\n \n \n TaskService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getMetaData\n \n \n \n \n \n \n \n getMetaData(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/task-url-handler.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n doesUrlMatch\n \n \n \n \n \n \ndoesUrlMatch(url: string)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n extractId\n \n \n \n \n \n \n \n extractId(url: string)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getDefaultMetaData\n \n \n \n \n \n \ngetDefaultMetaData(url: string, partial: Partial)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n partial\n \n Partial\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : MetaData\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n patterns\n \n \n \n \n \n \n Type : RegExp[]\n\n \n \n \n \n Default value : [/\\/homework\\/([0-9a-z]+)$/i]\n \n \n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:9\n\n \n \n\n\n \n \n\n\n \n\n\n \n import { TaskService } from '@modules/task';\nimport { Injectable } from '@nestjs/common';\nimport type { UrlHandler } from '../../interface/url-handler';\nimport { MetaData } from '../../types';\nimport { AbstractUrlHandler } from './abstract-url-handler';\n\n@Injectable()\nexport class TaskUrlHandler extends AbstractUrlHandler implements UrlHandler {\n\tpatterns: RegExp[] = [/\\/homework\\/([0-9a-z]+)$/i];\n\n\tconstructor(private readonly taskService: TaskService) {\n\t\tsuper();\n\t}\n\n\tasync getMetaData(url: string): Promise {\n\t\tconst id = this.extractId(url);\n\t\tif (id === undefined) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst metaData = this.getDefaultMetaData(url, { type: 'task' });\n\t\tconst task = await this.taskService.findById(id);\n\t\tif (task) {\n\t\t\tmetaData.title = task.name;\n\t\t}\n\n\t\treturn metaData;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskUrlParams.html":{"url":"classes/TaskUrlParams.html","title":"class - TaskUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/dto/task.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n taskId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n taskId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the task.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class TaskUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the task.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\ttaskId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskWithStatusVo.html":{"url":"classes/TaskWithStatusVo.html","title":"class - TaskWithStatusVo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskWithStatusVo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/task.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n status\n \n \n task\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(task: Task, status: TaskStatus)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n task\n \n \n Task\n \n \n \n No\n \n \n \n \n status\n \n \n TaskStatus\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : TaskStatus\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n task\n \n \n \n \n \n \n Type : Task\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:16\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { SchoolEntity } from '@shared/domain/entity/school.entity';\nimport { InputFormat } from '@shared/domain/types/input-format.types';\nimport type { EntityWithSchool } from '../interface';\nimport type { LearnroomElement } from '../interface/learnroom';\nimport type { EntityId } from '../types/entity-id';\nimport type { TaskProperties, TaskStatus } from '../types/task.types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport type { LessonEntity } from './lesson.entity';\nimport type { Submission } from './submission.entity';\nimport { User } from './user.entity';\n\nexport class TaskWithStatusVo {\n\ttask!: Task;\n\n\tstatus!: TaskStatus;\n\n\tconstructor(task: Task, status: TaskStatus) {\n\t\tthis.task = task;\n\t\tthis.status = status;\n\t}\n}\n\nexport type TaskParentDescriptions = {\n\tcourseName: string;\n\tcourseId: string;\n\tlessonName: string;\n\tlessonHidden: boolean;\n\tcolor: string;\n};\n\nexport interface TaskParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'homeworks' })\n@Index({ properties: ['private', 'dueDate', 'finished'] })\n@Index({ properties: ['id', 'private'] })\n@Index({ properties: ['finished', 'course'] })\n@Index({ properties: ['finished', 'course'] })\nexport class Task extends BaseEntityWithTimestamps implements LearnroomElement, EntityWithSchool {\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tdescription: string;\n\n\t@Property()\n\tdescriptionInputFormat: InputFormat;\n\n\t@Property({ nullable: true })\n\tavailableDate?: Date;\n\n\t@Property({ nullable: true })\n\t@Index()\n\tdueDate?: Date;\n\n\t@Property()\n\tprivate = true;\n\n\t@Property({ nullable: true })\n\tpublicSubmissions?: boolean;\n\n\t@Property({ nullable: true })\n\tteamSubmissions?: boolean;\n\n\t@Index()\n\t@ManyToOne('User', { fieldName: 'teacherId' })\n\tcreator: User;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId', nullable: true })\n\tcourse?: Course;\n\n\t@Index()\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool: SchoolEntity;\n\n\t@Index()\n\t@ManyToOne('LessonEntity', { fieldName: 'lessonId', nullable: true })\n\tlesson?: LessonEntity; // In database exist also null, but it can not set.\n\n\t@OneToMany('Submission', 'task')\n\tsubmissions = new Collection(this);\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'archived' })\n\tfinished = new Collection(this);\n\n\tconstructor(props: TaskProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.description = props.description || '';\n\t\tthis.descriptionInputFormat = props.descriptionInputFormat || InputFormat.RICH_TEXT_CK4;\n\t\tthis.availableDate = props.availableDate;\n\t\tthis.dueDate = props.dueDate;\n\n\t\tif (props.private !== undefined) this.private = props.private;\n\t\tthis.creator = props.creator;\n\t\tthis.course = props.course;\n\t\tthis.school = props.school;\n\t\tthis.lesson = props.lesson;\n\t\tthis.submissions.set(props.submissions || []);\n\t\tthis.finished.set(props.finished || []);\n\t\tthis.publicSubmissions = props.publicSubmissions || false;\n\t\tthis.teamSubmissions = props.teamSubmissions || false;\n\t}\n\n\tprivate getSubmissionItems(): Submission[] {\n\t\tif (!this.submissions || !this.submissions.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Submissions items are not loaded.');\n\t\t}\n\t\tconst submissions = this.submissions.getItems();\n\n\t\treturn submissions;\n\t}\n\n\tprivate getFinishedUserIds(): EntityId[] {\n\t\tif (!this.finished) {\n\t\t\tthrow new InternalServerErrorException('Task.finished is undefined. The task need to be populated.');\n\t\t}\n\n\t\tconst finishedObjectIds = this.finished.getIdentifiers('_id');\n\t\tconst finishedIds = finishedObjectIds.map((id): string => id.toString());\n\n\t\treturn finishedIds;\n\t}\n\n\tprivate getParent(): TaskParent | User {\n\t\tconst parent = this.lesson || this.course || this.creator;\n\n\t\treturn parent;\n\t}\n\n\tprivate getMaxSubmissions(): number {\n\t\tconst parent = this.getParent();\n\t\t// For draft (user as parent) propaly user is not a student, but for maxSubmission one is valid result\n\t\tconst maxSubmissions = parent instanceof User ? 1 : parent.getStudentIds().length;\n\n\t\treturn maxSubmissions;\n\t}\n\n\tprivate isFinishedForUser(user: User): boolean {\n\t\tconst finishedUserIds = this.getFinishedUserIds();\n\t\tconst isUserInFinishedUser = finishedUserIds.some((finishedUserId) => finishedUserId === user.id);\n\n\t\tconst isCourseFinished = this.course ? this.course.isFinished() : false;\n\n\t\tconst isFinishedForUser = isUserInFinishedUser || isCourseFinished;\n\n\t\treturn isFinishedForUser;\n\t}\n\n\tpublic isDraft(): boolean {\n\t\t// private can be undefined in the database\n\t\treturn !!this.private;\n\t}\n\n\tpublic isPublished(): boolean {\n\t\tif (this.isDraft()) {\n\t\t\treturn false;\n\t\t}\n\t\tif (this.availableDate && this.availableDate > new Date()) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tpublic isPlanned(): boolean {\n\t\tif (this.isDraft()) {\n\t\t\treturn false;\n\t\t}\n\t\tif (this.availableDate && this.availableDate > new Date()) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tprivate getSubmittedSubmissions(): Submission[] {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst submittedSubmissions = submissions.filter((submission) => submission.isSubmitted());\n\n\t\treturn submittedSubmissions;\n\t}\n\n\tpublic areSubmissionsPublic(): boolean {\n\t\tconst areSubmissionsPublic = !!this.publicSubmissions;\n\n\t\treturn areSubmissionsPublic;\n\t}\n\n\tprivate getGradedSubmissions(): Submission[] {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst gradedSubmissions = submissions.filter((submission) => submission.isGraded());\n\n\t\treturn gradedSubmissions;\n\t}\n\n\tprivate isSubmittedForUser(user: User): boolean {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst isSubmitted = submissions.some((submission) => submission.isSubmittedForUser(user));\n\n\t\treturn isSubmitted;\n\t}\n\n\tprivate isGradedForUser(user: User): boolean {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst isGraded = submissions.some((submission) => submission.isGradedForUser(user));\n\n\t\treturn isGraded;\n\t}\n\n\tprivate calculateNumberOfSubmitters(submissions: Submission[]): number {\n\t\tlet taskSubmitterIds: EntityId[] = [];\n\n\t\tsubmissions.forEach((submission) => {\n\t\t\tconst submitterIds = submission.getSubmitterIds();\n\t\t\ttaskSubmitterIds = [...taskSubmitterIds, ...submitterIds];\n\t\t});\n\n\t\tconst uniqueIds = [...new Set(taskSubmitterIds)];\n\t\tconst numberOfSubmitters = uniqueIds.length;\n\n\t\treturn numberOfSubmitters;\n\t}\n\n\tprivate isUserSubstitutionTeacherInCourse(user: User): boolean {\n\t\tconst isSubstitutionTeacher = this.course ? this.course.isUserSubstitutionTeacher(user) : false;\n\n\t\treturn isSubstitutionTeacher;\n\t}\n\n\tpublic createTeacherStatusForUser(user: User): TaskStatus {\n\t\tconst submittedSubmissions = this.getSubmittedSubmissions();\n\t\tconst gradedSubmissions = this.getGradedSubmissions();\n\n\t\tconst numberOfSubmitters = this.calculateNumberOfSubmitters(submittedSubmissions);\n\t\tconst numberOfSubmittersWithGrade = this.calculateNumberOfSubmitters(gradedSubmissions);\n\t\tconst maxSubmissions = this.getMaxSubmissions();\n\t\tconst isDraft = this.isDraft();\n\t\tconst isFinished = this.isFinishedForUser(user);\n\t\tconst isSubstitutionTeacher = this.isUserSubstitutionTeacherInCourse(user);\n\n\t\tconst status = {\n\t\t\tsubmitted: numberOfSubmitters,\n\t\t\tgraded: numberOfSubmittersWithGrade,\n\t\t\tmaxSubmissions,\n\t\t\tisDraft,\n\t\t\tisSubstitutionTeacher,\n\t\t\tisFinished,\n\t\t};\n\n\t\treturn status;\n\t}\n\n\tpublic createStudentStatusForUser(user: User): TaskStatus {\n\t\tconst isSubmitted = this.isSubmittedForUser(user);\n\t\tconst isGraded = this.isGradedForUser(user);\n\t\tconst maxSubmissions = 1;\n\t\tconst isDraft = this.isDraft();\n\t\tconst isSubstitutionTeacher = false;\n\t\tconst isFinished = this.isFinishedForUser(user);\n\n\t\tconst status = {\n\t\t\tsubmitted: isSubmitted ? 1 : 0,\n\t\t\tgraded: isGraded ? 1 : 0,\n\t\t\tmaxSubmissions,\n\t\t\tisDraft,\n\t\t\tisSubstitutionTeacher,\n\t\t\tisFinished,\n\t\t};\n\n\t\treturn status;\n\t}\n\n\t// TODO: based on the parent relationship\n\tpublic getParentData(): TaskParentDescriptions {\n\t\tlet descriptions: TaskParentDescriptions;\n\t\tif (this.course) {\n\t\t\tdescriptions = {\n\t\t\t\tcourseName: this.course.name,\n\t\t\t\tcourseId: this.course.id,\n\t\t\t\tlessonName: this.lesson ? this.lesson.name : '',\n\t\t\t\tlessonHidden: this.lesson ? this.lesson.hidden : false,\n\t\t\t\tcolor: this.course.color,\n\t\t\t};\n\t\t} else {\n\t\t\tdescriptions = {\n\t\t\t\tcourseName: '',\n\t\t\t\tcourseId: '',\n\t\t\t\tlessonName: '',\n\t\t\t\tlessonHidden: false,\n\t\t\t\tcolor: '#ACACAC',\n\t\t\t};\n\t\t}\n\n\t\treturn descriptions;\n\t}\n\n\tpublic finishForUser(user: User): void {\n\t\tthis.finished.add(user);\n\t}\n\n\tpublic restoreForUser(user: User): void {\n\t\tthis.finished.remove(user);\n\t}\n\n\tpublic getSchoolId(): EntityId {\n\t\treturn this.school.id;\n\t}\n\n\tpublic publish(): void {\n\t\tthis.private = false;\n\t\tthis.availableDate = new Date();\n\t}\n\n\tpublic unpublish(): void {\n\t\tthis.private = true;\n\t}\n}\n\nexport function isTask(reference: unknown): reference is Task {\n\treturn reference instanceof Task;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TeamDto.html":{"url":"classes/TeamDto.html","title":"class - TeamDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TeamDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/collaborative-storage/services/dto/team.dto.ts\n \n\n\n \n Description\n \n \n TODO\nThis DTO and all associated functionality should be moved to a general teams module once it has been created\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n id\n \n \n name\n \n \n teamUsers\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: TeamDto)\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team.dto.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n TeamDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team.dto.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team.dto.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n teamUsers\n \n \n \n \n \n \n Type : TeamUserDto[]\n\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team.dto.ts:13\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\n\n/**\n * TODO\n * This DTO and all associated functionality should be moved to a general teams module once it has been created\n */\n\nexport class TeamDto {\n\tid: EntityId;\n\n\tname: string;\n\n\tteamUsers: TeamUserDto[];\n\n\tconstructor(props: TeamDto) {\n\t\tthis.id = props.id;\n\t\tthis.name = props.name;\n\t\tthis.teamUsers = props.teamUsers;\n\t}\n}\n\nexport class TeamUserDto {\n\tuserId: string;\n\n\troleId: string;\n\n\tschoolId: string;\n\n\tconstructor(props: TeamUserDto) {\n\t\tthis.userId = props.userId;\n\t\tthis.roleId = props.roleId;\n\t\tthis.schoolId = props.schoolId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/TeamEntity.html":{"url":"entities/TeamEntity.html","title":"entity - TeamEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n TeamEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/team.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n name\n \n \n \n userIds\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/team.entity.ts:56\n \n \n\n\n \n \n \n \n \n \n \n \n \n userIds\n \n \n \n \n \n \n Type : TeamUserEntity[]\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {array: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/team.entity.ts:59\n \n \n\n\n \n \n\n \n\n\n \n import { Embeddable, Embedded, Entity, ManyToOne, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { Role } from './role.entity';\nimport { SchoolEntity } from './school.entity';\nimport { User } from './user.entity';\n\nexport interface TeamProperties {\n\tname: string;\n\tteamUsers?: TeamUserEntity[];\n}\n\nexport interface TeamUserProperties {\n\tuser: User;\n\trole: Role;\n\tschool: SchoolEntity;\n}\n\n@Embeddable()\nexport class TeamUserEntity {\n\tconstructor(props: TeamUserProperties) {\n\t\tthis.userId = props.user;\n\t\tthis.role = props.role;\n\t\tthis.schoolId = props.school;\n\t}\n\n\t@ManyToOne(() => User)\n\tuserId: User;\n\n\t@ManyToOne(() => Role)\n\trole: Role;\n\n\t@ManyToOne(() => SchoolEntity)\n\tprivate schoolId: SchoolEntity;\n\n\t// fieldName cannot be used in ManyToOne on Embeddable due to a mikro-orm bug (https://github.com/mikro-orm/mikro-orm/issues/2165)\n\tget user(): User {\n\t\treturn this.userId;\n\t}\n\n\tset user(value: User) {\n\t\tthis.userId = value;\n\t}\n\n\tget school(): SchoolEntity {\n\t\treturn this.schoolId;\n\t}\n\n\tset school(value: SchoolEntity) {\n\t\tthis.schoolId = value;\n\t}\n}\n\n@Entity({ tableName: 'teams' })\nexport class TeamEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tname: string;\n\n\t@Embedded(() => TeamUserEntity, { array: true })\n\tuserIds: TeamUserEntity[];\n\n\tget teamUsers(): TeamUserEntity[] {\n\t\treturn this.userIds;\n\t}\n\n\tset teamUsers(value: TeamUserEntity[]) {\n\t\tthis.userIds = value;\n\t}\n\n\tconstructor(props: TeamProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.userIds = props.teamUsers ? props.teamUsers.map((teamUser) => new TeamUserEntity(teamUser)) : [];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TeamFactory.html":{"url":"classes/TeamFactory.html","title":"class - TeamFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TeamFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/team.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withRoleAndUserId\n \n \n withTeamUser\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withRoleAndUserId\n \n \n \n \n \n \nwithRoleAndUserId(role: Role, userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/team.factory.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n role\n \n Role\n \n\n \n No\n \n\n\n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withTeamUser\n \n \n \n \n \n \nwithTeamUser(teamUser: TeamUserEntity[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/team.factory.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n teamUser\n \n TeamUserEntity[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Role, TeamEntity, TeamProperties, TeamUserEntity } from '@shared/domain/entity';\nimport { BaseFactory } from '@shared/testing/factory/base.factory';\nimport { teamUserFactory } from '@shared/testing/factory/teamuser.factory';\nimport { DeepPartial } from 'fishery';\n\nclass TeamFactory extends BaseFactory {\n\twithRoleAndUserId(role: Role, userId: string): this {\n\t\tconst params: DeepPartial = {\n\t\t\tteamUsers: [teamUserFactory.withRoleAndUserId(role, userId).buildWithId()],\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithTeamUser(teamUser: TeamUserEntity[]): this {\n\t\tconst params: DeepPartial = {\n\t\t\tteamUsers: teamUser,\n\t\t};\n\t\treturn this.params(params);\n\t}\n}\n\nexport const teamFactory = TeamFactory.define(TeamEntity, ({ sequence }) => {\n\treturn {\n\t\tname: `team #${sequence}`,\n\t\tteamUsers: [teamUserFactory.buildWithId()],\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TeamMapper.html":{"url":"injectables/TeamMapper.html","title":"injectable - TeamMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TeamMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/collaborative-storage/mapper/team.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n mapEntityToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n mapEntityToDto\n \n \n \n \n \n \n \n mapEntityToDto(teamEntity: TeamEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/collaborative-storage/mapper/team.mapper.ts:12\n \n \n\n\n \n \n Maps a Team Entity to the ServiceDTO\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n teamEntity\n \n TeamEntity\n \n\n \n No\n \n\n\n \n The Entity\n\n \n \n \n \n \n \n Returns : TeamDto\n\n \n \n The Dto\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { TeamEntity, TeamUserEntity } from '@shared/domain/entity';\nimport { TeamDto, TeamUserDto } from '../services/dto/team.dto';\n\n@Injectable()\nexport class TeamMapper {\n\t/**\n\t * Maps a Team Entity to the ServiceDTO\n\t * @param teamEntity The Entity\n\t * @return The Dto\n\t */\n\tpublic mapEntityToDto(teamEntity: TeamEntity): TeamDto {\n\t\tconst teamUsers: TeamUserDto[] = teamEntity.teamUsers.map(\n\t\t\t(teamUser: TeamUserEntity) =>\n\t\t\t\tnew TeamUserDto({\n\t\t\t\t\tuserId: teamUser.user.id,\n\t\t\t\t\troleId: teamUser.role.id,\n\t\t\t\t\tschoolId: teamUser.school.id,\n\t\t\t\t})\n\t\t);\n\t\treturn new TeamDto({ id: teamEntity.id, name: teamEntity.name, teamUsers });\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/TeamNews.html":{"url":"entities/TeamNews.html","title":"entity - TeamNews","body":"\n \n\n\n\n\n\n\n\n Entities\n TeamNews\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/news.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n target\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : TeamEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('TeamEntity')\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:127\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Enum, Index, ManyToOne, Property } from '@mikro-orm/core';\nimport { EntityId } from '../types';\nimport { NewsTarget, NewsTargetModel } from '../types/news.types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { TeamEntity } from './team.entity';\nimport type { User } from './user.entity';\n\nexport interface NewsProperties {\n\ttitle: string;\n\tcontent: string;\n\tdisplayAt: Date;\n\tschool: EntityId | SchoolEntity;\n\tcreator: EntityId | User;\n\ttarget: EntityId | NewsTarget;\n\n\texternalId?: string;\n\tsource?: 'internal' | 'rss';\n\tsourceDescription?: string;\n\tupdater?: User;\n}\n\n@Entity({\n\tdiscriminatorColumn: 'targetModel',\n\tabstract: true,\n})\n@Index({ properties: ['school', 'target'] })\n@Index({ properties: ['school', 'target', 'targetModel'] })\n@Index({ properties: ['target', 'targetModel'] })\nexport abstract class News extends BaseEntityWithTimestamps {\n\t/** the news title */\n\t@Property()\n\ttitle: string;\n\n\t/** the news content as html */\n\t@Property()\n\tcontent: string;\n\n\t/** only past news are visible for viewers, when edit permission, news visible in the future might be accessed too */\n\t@Property()\n\t@Index()\n\tdisplayAt: Date;\n\n\t@Property({ nullable: true })\n\texternalId?: string;\n\n\t@Property({ nullable: true })\n\tsource?: 'internal' | 'rss';\n\n\t@Property({ nullable: true })\n\tsourceDescription?: string;\n\n\t/** id reference to a collection populated later with name */\n\ttarget!: NewsTarget;\n\n\t/** name of a collection which is referenced in target */\n\t@Enum()\n\ttargetModel!: NewsTargetModel;\n\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool!: SchoolEntity;\n\n\t@ManyToOne('User', { fieldName: 'creatorId' })\n\tcreator!: User;\n\n\t@ManyToOne('User', { fieldName: 'updaterId', nullable: true })\n\tupdater?: User;\n\n\tpermissions: string[] = [];\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper();\n\t\tthis.title = props.title;\n\t\tthis.content = props.content;\n\t\tthis.displayAt = props.displayAt;\n\t\tObject.assign(this, { school: props.school, creator: props.creator, updater: props.updater, target: props.target });\n\t\tthis.externalId = props.externalId;\n\t\tthis.source = props.source;\n\t\tthis.sourceDescription = props.sourceDescription;\n\t}\n\n\tstatic createInstance(targetModel: NewsTargetModel, props: NewsProperties): News {\n\t\tlet news: News;\n\t\tif (targetModel === NewsTargetModel.Course) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new CourseNews(props);\n\t\t} else if (targetModel === NewsTargetModel.Team) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new TeamNews(props);\n\t\t} else {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new SchoolNews(props);\n\t\t}\n\t\treturn news;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.School })\nexport class SchoolNews extends News {\n\t@ManyToOne(() => SchoolEntity)\n\ttarget!: SchoolEntity;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.School;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.Course })\nexport class CourseNews extends News {\n\t// FIXME Due to a weird behaviour in the mikro-orm validation we have to\n\t// disable the validation by setting the reference nullable.\n\t// Remove when fixed in mikro-orm.\n\t@ManyToOne('Course', { nullable: true })\n\ttarget!: Course;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.Course;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.Team })\nexport class TeamNews extends News {\n\t@ManyToOne('TeamEntity')\n\ttarget!: TeamEntity;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.Team;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/TeamNewsController.html":{"url":"controllers/TeamNewsController.html","title":"controller - TeamNewsController","body":"\n \n\n\n\n\n\n\n Controllers\n TeamNewsController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/team-news.controller.ts\n \n\n \n Prefix\n \n \n team\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n findAllForTeam\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n findAllForTeam\n \n \n \n \n \n \n \n findAllForTeam(urlParams: TeamUrlParams, currentUser: ICurrentUser, scope: FilterNewsParams, pagination: PaginationParams)\n \n \n\n \n \n Decorators : \n \n @Get(':teamId/news')\n \n \n\n \n \n Defined in apps/server/src/modules/news/controller/team-news.controller.ts:19\n \n \n\n\n \n \n Responds with news of a given team for a user.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n TeamUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n scope\n \n FilterNewsParams\n \n\n \n No\n \n\n\n \n \n pagination\n \n PaginationParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Controller, Get, Param, Query } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { PaginationParams } from '@shared/controller';\nimport { NewsMapper } from '../mapper/news.mapper';\nimport { NewsUc } from '../uc';\nimport { FilterNewsParams, NewsListResponse, TeamUrlParams } from './dto';\n\n@ApiTags('News')\n@Authenticate('jwt')\n@Controller('team')\nexport class TeamNewsController {\n\tconstructor(private readonly newsUc: NewsUc) {}\n\n\t/**\n\t * Responds with news of a given team for a user.\n\t */\n\t@Get(':teamId/news')\n\tasync findAllForTeam(\n\t\t@Param() urlParams: TeamUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() scope: FilterNewsParams,\n\t\t@Query() pagination: PaginationParams\n\t): Promise {\n\t\t// enforce filter by a given team, used in team tab\n\t\tscope.targetId = urlParams.teamId;\n\t\tscope.targetModel = 'teams';\n\t\tconst [newsList, count] = await this.newsUc.findAllForUser(\n\t\t\tcurrentUser.userId,\n\t\t\tNewsMapper.mapNewsScopeToDomain(scope),\n\t\t\t{ pagination }\n\t\t);\n\t\tconst dtoList = newsList.map((news) => NewsMapper.mapToResponse(news));\n\t\tconst response = new NewsListResponse(dtoList, count);\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TeamPermissionsBody.html":{"url":"classes/TeamPermissionsBody.html","title":"class - TeamPermissionsBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TeamPermissionsBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/collaborative-storage/controller/dto/team-permissions.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n create\n \n \n \n \n delete\n \n \n \n \n read\n \n \n \n \n share\n \n \n \n \n write\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/controller/dto/team-permissions.body.params.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n delete\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/controller/dto/team-permissions.body.params.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n read\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/controller/dto/team-permissions.body.params.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n share\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/controller/dto/team-permissions.body.params.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n write\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/controller/dto/team-permissions.body.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsBoolean } from 'class-validator';\n\nexport class TeamPermissionsBody {\n\t@IsBoolean()\n\t@ApiProperty()\n\tread!: boolean;\n\n\t@IsBoolean()\n\t@ApiProperty()\n\twrite!: boolean;\n\n\t@IsBoolean()\n\t@ApiProperty()\n\tcreate!: boolean;\n\n\t@IsBoolean()\n\t@ApiProperty()\n\tdelete!: boolean;\n\n\t@IsBoolean()\n\t@ApiProperty()\n\tshare!: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TeamPermissionsDto.html":{"url":"classes/TeamPermissionsDto.html","title":"class - TeamPermissionsDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TeamPermissionsDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/collaborative-storage/services/dto/team-permissions.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n create\n \n \n Optional\n delete\n \n \n Optional\n read\n \n \n Optional\n share\n \n \n Optional\n write\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: TeamPermissionsDto)\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team-permissions.dto.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n TeamPermissionsDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n create\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team-permissions.dto.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n delete\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team-permissions.dto.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n read\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team-permissions.dto.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n share\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team-permissions.dto.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n write\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team-permissions.dto.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class TeamPermissionsDto {\n\tread?: boolean;\n\n\twrite?: boolean;\n\n\tcreate?: boolean;\n\n\tdelete?: boolean;\n\n\tshare?: boolean;\n\n\tconstructor(props: TeamPermissionsDto) {\n\t\tthis.read = !!props.read;\n\t\tthis.write = !!props.write;\n\t\tthis.create = !!props.create;\n\t\tthis.delete = !!props.delete;\n\t\tthis.share = !!props.share;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TeamPermissionsMapper.html":{"url":"injectables/TeamPermissionsMapper.html","title":"injectable - TeamPermissionsMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TeamPermissionsMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/collaborative-storage/mapper/team-permissions.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n mapBodyToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n mapBodyToDto\n \n \n \n \n \n \n \n mapBodyToDto(body: TeamPermissionsBody)\n \n \n\n\n \n \n Defined in apps/server/src/modules/collaborative-storage/mapper/team-permissions.mapper.ts:12\n \n \n\n\n \n \n Maps a TeamPermissions Body to a ServiceDTO\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n body\n \n TeamPermissionsBody\n \n\n \n No\n \n\n\n \n The TeamPermissions Body\n\n \n \n \n \n \n \n Returns : TeamPermissionsDto\n\n \n \n The mapped DTO\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { TeamPermissionsBody } from '../controller/dto/team-permissions.body.params';\nimport { TeamPermissionsDto } from '../services/dto/team-permissions.dto';\n\n@Injectable()\nexport class TeamPermissionsMapper {\n\t/**\n\t * Maps a TeamPermissions Body to a ServiceDTO\n\t * @param body The TeamPermissions Body\n\t * @return The mapped DTO\n\t */\n\tpublic mapBodyToDto(body: TeamPermissionsBody): TeamPermissionsDto {\n\t\treturn new TeamPermissionsDto({\n\t\t\tcreate: body.create,\n\t\t\tdelete: body.delete,\n\t\t\tread: body.read,\n\t\t\tshare: body.share,\n\t\t\twrite: body.write,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TeamProperties.html":{"url":"interfaces/TeamProperties.html","title":"interface - TeamProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TeamProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/team.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n name\n \n \n \n Optional\n \n teamUsers\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n teamUsers\n \n \n \n \n \n \n \n \n teamUsers: TeamUserEntity[]\n\n \n \n\n\n \n \n Type : TeamUserEntity[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Embeddable, Embedded, Entity, ManyToOne, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { Role } from './role.entity';\nimport { SchoolEntity } from './school.entity';\nimport { User } from './user.entity';\n\nexport interface TeamProperties {\n\tname: string;\n\tteamUsers?: TeamUserEntity[];\n}\n\nexport interface TeamUserProperties {\n\tuser: User;\n\trole: Role;\n\tschool: SchoolEntity;\n}\n\n@Embeddable()\nexport class TeamUserEntity {\n\tconstructor(props: TeamUserProperties) {\n\t\tthis.userId = props.user;\n\t\tthis.role = props.role;\n\t\tthis.schoolId = props.school;\n\t}\n\n\t@ManyToOne(() => User)\n\tuserId: User;\n\n\t@ManyToOne(() => Role)\n\trole: Role;\n\n\t@ManyToOne(() => SchoolEntity)\n\tprivate schoolId: SchoolEntity;\n\n\t// fieldName cannot be used in ManyToOne on Embeddable due to a mikro-orm bug (https://github.com/mikro-orm/mikro-orm/issues/2165)\n\tget user(): User {\n\t\treturn this.userId;\n\t}\n\n\tset user(value: User) {\n\t\tthis.userId = value;\n\t}\n\n\tget school(): SchoolEntity {\n\t\treturn this.schoolId;\n\t}\n\n\tset school(value: SchoolEntity) {\n\t\tthis.schoolId = value;\n\t}\n}\n\n@Entity({ tableName: 'teams' })\nexport class TeamEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tname: string;\n\n\t@Embedded(() => TeamUserEntity, { array: true })\n\tuserIds: TeamUserEntity[];\n\n\tget teamUsers(): TeamUserEntity[] {\n\t\treturn this.userIds;\n\t}\n\n\tset teamUsers(value: TeamUserEntity[]) {\n\t\tthis.userIds = value;\n\t}\n\n\tconstructor(props: TeamProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.userIds = props.teamUsers ? props.teamUsers.map((teamUser) => new TeamUserEntity(teamUser)) : [];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TeamRoleDto.html":{"url":"classes/TeamRoleDto.html","title":"class - TeamRoleDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TeamRoleDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/collaborative-storage/controller/dto/team-role.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n roleId\n \n \n \n \n teamId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n roleId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/controller/dto/team-role.params.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n teamId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/controller/dto/team-role.params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class TeamRoleDto {\n\t@IsMongoId()\n\t@ApiProperty()\n\tteamId!: string;\n\n\t@IsMongoId()\n\t@ApiProperty()\n\troleId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TeamRolePermissionsDto.html":{"url":"classes/TeamRolePermissionsDto.html","title":"class - TeamRolePermissionsDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TeamRolePermissionsDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/dto/team-role-permissions.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n permissions\n \n \n roleName\n \n \n teamId\n \n \n teamName\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: TeamRolePermissionsDto)\n \n \n \n \n Defined in apps/server/src/infra/collaborative-storage/dto/team-role-permissions.dto.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n TeamRolePermissionsDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n permissions\n \n \n \n \n \n \n Type : boolean[]\n\n \n \n \n \n Defined in apps/server/src/infra/collaborative-storage/dto/team-role-permissions.dto.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n roleName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/infra/collaborative-storage/dto/team-role-permissions.dto.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n teamId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/infra/collaborative-storage/dto/team-role-permissions.dto.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n teamName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/infra/collaborative-storage/dto/team-role-permissions.dto.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class TeamRolePermissionsDto {\n\tteamId: string;\n\n\tteamName: string;\n\n\troleName: string;\n\n\tpermissions: boolean[];\n\n\tconstructor(props: TeamRolePermissionsDto) {\n\t\tthis.teamId = props.teamId;\n\t\tthis.teamName = props.teamName;\n\t\tthis.roleName = props.roleName;\n\t\tthis.permissions = props.permissions;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TeamRule.html":{"url":"injectables/TeamRule.html","title":"injectable - TeamRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TeamRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/team.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/team.rule.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, entity: TeamEntity, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/team.rule.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n TeamEntity\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, entity: TeamEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/team.rule.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n TeamEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { TeamEntity, TeamUserEntity, User } from '@shared/domain/entity';\nimport { AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\n\n@Injectable()\nexport class TeamRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper) {}\n\n\tpublic isApplicable(user: User, entity: TeamEntity): boolean {\n\t\treturn entity instanceof TeamEntity;\n\t}\n\n\tpublic hasPermission(user: User, entity: TeamEntity, context: AuthorizationContext): boolean {\n\t\tlet hasPermission = false;\n\t\tconst isTeamUser = entity.teamUsers.find((teamUser: TeamUserEntity) => teamUser.user.id === user.id);\n\t\tif (isTeamUser) {\n\t\t\thasPermission = this.authorizationHelper.hasAllPermissionsByRole(isTeamUser.role, context.requiredPermissions);\n\t\t}\n\t\treturn hasPermission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TeamService.html":{"url":"injectables/TeamService.html","title":"injectable - TeamService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TeamService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/teams/service/team.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n deleteUserDataFromTeams\n \n \n Public\n Async\n findUserDataFromTeams\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(teamsRepo: TeamsRepo)\n \n \n \n \n Defined in apps/server/src/modules/teams/service/team.service.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n teamsRepo\n \n \n TeamsRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n deleteUserDataFromTeams\n \n \n \n \n \n \n \n deleteUserDataFromTeams(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/teams/service/team.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findUserDataFromTeams\n \n \n \n \n \n \n \n findUserDataFromTeams(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/teams/service/team.service.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { TeamEntity } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { TeamsRepo } from '@shared/repo';\n\n@Injectable()\nexport class TeamService {\n\tconstructor(private readonly teamsRepo: TeamsRepo) {}\n\n\tpublic async findUserDataFromTeams(userId: EntityId): Promise {\n\t\tconst teams = await this.teamsRepo.findByUserId(userId);\n\n\t\treturn teams;\n\t}\n\n\tpublic async deleteUserDataFromTeams(userId: EntityId): Promise {\n\t\tconst teams = await this.teamsRepo.findByUserId(userId);\n\n\t\tteams.forEach((team) => {\n\t\t\tteam.userIds = team.userIds.filter((u) => u.userId.id !== userId);\n\t\t});\n\n\t\tawait this.teamsRepo.save(teams);\n\n\t\treturn teams.length;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TeamUrlParams.html":{"url":"classes/TeamUrlParams.html","title":"class - TeamUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TeamUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/dto/team.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n teamId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n teamId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the team.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/team.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class TeamUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the team.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tteamId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TeamUserDto.html":{"url":"classes/TeamUserDto.html","title":"class - TeamUserDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TeamUserDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/collaborative-storage/services/dto/team.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n roleId\n \n \n schoolId\n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: TeamUserDto)\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team.dto.ts:27\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n TeamUserDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n roleId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team.dto.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team.dto.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team.dto.ts:23\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\n\n/**\n * TODO\n * This DTO and all associated functionality should be moved to a general teams module once it has been created\n */\n\nexport class TeamDto {\n\tid: EntityId;\n\n\tname: string;\n\n\tteamUsers: TeamUserDto[];\n\n\tconstructor(props: TeamDto) {\n\t\tthis.id = props.id;\n\t\tthis.name = props.name;\n\t\tthis.teamUsers = props.teamUsers;\n\t}\n}\n\nexport class TeamUserDto {\n\tuserId: string;\n\n\troleId: string;\n\n\tschoolId: string;\n\n\tconstructor(props: TeamUserDto) {\n\t\tthis.userId = props.userId;\n\t\tthis.roleId = props.roleId;\n\t\tthis.schoolId = props.schoolId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TeamUserEntity.html":{"url":"classes/TeamUserEntity.html","title":"class - TeamUserEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TeamUserEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/team.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n role\n \n \n \n Private\n schoolId\n \n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n user\n \n \n school\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: TeamUserProperties)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/team.entity.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n TeamUserProperties\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n role\n \n \n \n \n \n \n Type : Role\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined)\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/team.entity.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n Private\n schoolId\n \n \n \n \n \n \n Type : SchoolEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined)\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/team.entity.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : User\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined)\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/team.entity.ts:27\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n user\n \n \n\n \n \n getuser()\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/team.entity.ts:36\n \n \n\n \n \n setuser(value: User)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/team.entity.ts:40\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n User\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n school\n \n \n\n \n \n getschool()\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/team.entity.ts:44\n \n \n\n \n \n setschool(value: SchoolEntity)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/team.entity.ts:48\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n SchoolEntity\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { Embeddable, Embedded, Entity, ManyToOne, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { Role } from './role.entity';\nimport { SchoolEntity } from './school.entity';\nimport { User } from './user.entity';\n\nexport interface TeamProperties {\n\tname: string;\n\tteamUsers?: TeamUserEntity[];\n}\n\nexport interface TeamUserProperties {\n\tuser: User;\n\trole: Role;\n\tschool: SchoolEntity;\n}\n\n@Embeddable()\nexport class TeamUserEntity {\n\tconstructor(props: TeamUserProperties) {\n\t\tthis.userId = props.user;\n\t\tthis.role = props.role;\n\t\tthis.schoolId = props.school;\n\t}\n\n\t@ManyToOne(() => User)\n\tuserId: User;\n\n\t@ManyToOne(() => Role)\n\trole: Role;\n\n\t@ManyToOne(() => SchoolEntity)\n\tprivate schoolId: SchoolEntity;\n\n\t// fieldName cannot be used in ManyToOne on Embeddable due to a mikro-orm bug (https://github.com/mikro-orm/mikro-orm/issues/2165)\n\tget user(): User {\n\t\treturn this.userId;\n\t}\n\n\tset user(value: User) {\n\t\tthis.userId = value;\n\t}\n\n\tget school(): SchoolEntity {\n\t\treturn this.schoolId;\n\t}\n\n\tset school(value: SchoolEntity) {\n\t\tthis.schoolId = value;\n\t}\n}\n\n@Entity({ tableName: 'teams' })\nexport class TeamEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tname: string;\n\n\t@Embedded(() => TeamUserEntity, { array: true })\n\tuserIds: TeamUserEntity[];\n\n\tget teamUsers(): TeamUserEntity[] {\n\t\treturn this.userIds;\n\t}\n\n\tset teamUsers(value: TeamUserEntity[]) {\n\t\tthis.userIds = value;\n\t}\n\n\tconstructor(props: TeamProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.userIds = props.teamUsers ? props.teamUsers.map((teamUser) => new TeamUserEntity(teamUser)) : [];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TeamUserFactory.html":{"url":"classes/TeamUserFactory.html","title":"class - TeamUserFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TeamUserFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/teamuser.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withRoleAndUserId\n \n \n withUserId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withRoleAndUserId\n \n \n \n \n \n \nwithRoleAndUserId(role: Role, userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/teamuser.factory.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n role\n \n Role\n \n\n \n No\n \n\n\n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withUserId\n \n \n \n \n \n \nwithUserId(userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/teamuser.factory.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Role, TeamUserEntity } from '@shared/domain/entity';\nimport { BaseFactory } from '@shared/testing/factory/base.factory';\nimport { roleFactory } from '@shared/testing/factory/role.factory';\nimport { schoolFactory } from '@shared/testing/factory/school.factory';\nimport { userFactory } from '@shared/testing/factory/user.factory';\nimport { DeepPartial } from 'fishery';\n\nclass TeamUserFactory extends BaseFactory {\n\twithRoleAndUserId(role: Role, userId: string): this {\n\t\tconst school = schoolFactory.build();\n\t\tconst params: DeepPartial = {\n\t\t\tuser: userFactory.buildWithId({ school, roles: [roleFactory.build({ roles: [role] })] }, userId),\n\t\t\tschool,\n\t\t\trole,\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithUserId(userId: string): this {\n\t\tconst school = schoolFactory.build();\n\t\tconst params: DeepPartial = {\n\t\t\tuser: userFactory.buildWithId({ school }, userId),\n\t\t\tschool,\n\t\t};\n\t\treturn this.params(params);\n\t}\n}\n\nexport const teamUserFactory = TeamUserFactory.define(TeamUserEntity, () => {\n\tconst role = roleFactory.buildWithId();\n\tconst school = schoolFactory.buildWithId();\n\tconst user = userFactory.buildWithId({ roles: [role] });\n\n\treturn new TeamUserEntity({\n\t\tuser,\n\t\tschool,\n\t\trole,\n\t});\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TeamUserProperties.html":{"url":"interfaces/TeamUserProperties.html","title":"interface - TeamUserProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TeamUserProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/team.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n role\n \n \n \n \n school\n \n \n \n \n user\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n role\n \n \n \n \n \n \n \n \n role: Role\n\n \n \n\n\n \n \n Type : Role\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n \n \n school: SchoolEntity\n\n \n \n\n\n \n \n Type : SchoolEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n user\n \n \n \n \n \n \n \n \n user: User\n\n \n \n\n\n \n \n Type : User\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Embeddable, Embedded, Entity, ManyToOne, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { Role } from './role.entity';\nimport { SchoolEntity } from './school.entity';\nimport { User } from './user.entity';\n\nexport interface TeamProperties {\n\tname: string;\n\tteamUsers?: TeamUserEntity[];\n}\n\nexport interface TeamUserProperties {\n\tuser: User;\n\trole: Role;\n\tschool: SchoolEntity;\n}\n\n@Embeddable()\nexport class TeamUserEntity {\n\tconstructor(props: TeamUserProperties) {\n\t\tthis.userId = props.user;\n\t\tthis.role = props.role;\n\t\tthis.schoolId = props.school;\n\t}\n\n\t@ManyToOne(() => User)\n\tuserId: User;\n\n\t@ManyToOne(() => Role)\n\trole: Role;\n\n\t@ManyToOne(() => SchoolEntity)\n\tprivate schoolId: SchoolEntity;\n\n\t// fieldName cannot be used in ManyToOne on Embeddable due to a mikro-orm bug (https://github.com/mikro-orm/mikro-orm/issues/2165)\n\tget user(): User {\n\t\treturn this.userId;\n\t}\n\n\tset user(value: User) {\n\t\tthis.userId = value;\n\t}\n\n\tget school(): SchoolEntity {\n\t\treturn this.schoolId;\n\t}\n\n\tset school(value: SchoolEntity) {\n\t\tthis.schoolId = value;\n\t}\n}\n\n@Entity({ tableName: 'teams' })\nexport class TeamEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tname: string;\n\n\t@Embedded(() => TeamUserEntity, { array: true })\n\tuserIds: TeamUserEntity[];\n\n\tget teamUsers(): TeamUserEntity[] {\n\t\treturn this.userIds;\n\t}\n\n\tset teamUsers(value: TeamUserEntity[]) {\n\t\tthis.userIds = value;\n\t}\n\n\tconstructor(props: TeamProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.userIds = props.teamUsers ? props.teamUsers.map((teamUser) => new TeamUserEntity(teamUser)) : [];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TeamsApiModule.html":{"url":"modules/TeamsApiModule.html","title":"module - TeamsApiModule","body":"\n \n\n\n\n\n Modules\n TeamsApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_TeamsApiModule\n\n\n\ncluster_TeamsApiModule_imports\n\n\n\n\nTeamsModule\n\nTeamsModule\n\n\n\nTeamsApiModule\n\nTeamsApiModule\n\nTeamsApiModule -->\n\nTeamsModule->TeamsApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/teams/teams-api.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n TeamsModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { TeamsModule } from '@modules/teams/teams.module';\n\n@Module({\n\timports: [TeamsModule],\n\tproviders: [],\n\tcontrollers: [],\n\texports: [],\n})\nexport class TeamsApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TeamsModule.html":{"url":"modules/TeamsModule.html","title":"module - TeamsModule","body":"\n \n\n\n\n\n Modules\n TeamsModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_TeamsModule\n\n\n\ncluster_TeamsModule_providers\n\n\n\ncluster_TeamsModule_exports\n\n\n\n\nTeamService \n\nTeamService \n\n\n\nTeamsModule\n\nTeamsModule\n\nTeamService -->\n\nTeamsModule->TeamService \n\n\n\n\n\nTeamService\n\nTeamService\n\nTeamsModule -->\n\nTeamService->TeamsModule\n\n\n\n\n\nTeamsRepo\n\nTeamsRepo\n\nTeamsModule -->\n\nTeamsRepo->TeamsModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/teams/teams.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n TeamService\n \n \n TeamsRepo\n \n \n \n \n Exports\n \n \n TeamService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { TeamsRepo } from '@shared/repo';\nimport { TeamService } from './service';\n\n@Module({\n\tproviders: [TeamService, TeamsRepo],\n\texports: [TeamService],\n})\nexport class TeamsModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TeamsRepo.html":{"url":"injectables/TeamsRepo.html","title":"injectable - TeamsRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TeamsRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/teams/teams.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n cacheExpiration\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findById\n \n \n Async\n findByUserId\n \n \n Private\n Async\n populateRoles\n \n \n create\n \n \n Async\n delete\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId, populate)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:15\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n \n \n\n \n \n populate\n \n \n\n \n No\n \n\n \n false\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserId\n \n \n \n \n \n \n \n findByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/teams/teams.repo.ts:36\n \n \n\n\n \n \n Finds teams which the user is a member.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n Array of teams\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n populateRoles\n \n \n \n \n \n \n \n populateRoles(roles: Role[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/teams/teams.repo.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roles\n \n Role[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n cacheExpiration\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 60000\n \n \n \n \n Defined in apps/server/src/shared/repo/teams/teams.repo.ts:13\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/teams/teams.repo.ts:9\n \n \n\n \n \n\n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { Role, TeamEntity, TeamUserEntity } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '../base.repo';\n\n@Injectable()\nexport class TeamsRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn TeamEntity;\n\t}\n\n\tcacheExpiration = 60000;\n\n\tasync findById(id: EntityId, populate = false): Promise {\n\t\tconst team = await this._em.findOneOrFail(TeamEntity, { id }, { cache: this.cacheExpiration });\n\n\t\tif (populate) {\n\t\t\tawait Promise.all(\n\t\t\t\tteam.teamUsers.map(async (teamUser: TeamUserEntity): Promise => {\n\t\t\t\t\tawait this._em.populate(teamUser, ['role']);\n\t\t\t\t\tawait this.populateRoles([teamUser.role]);\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\n\t\treturn team;\n\t}\n\n\t/**\n\t * Finds teams which the user is a member.\n\t *\n\t * @param userId\n\t * @return Array of teams\n\t */\n\tasync findByUserId(userId: EntityId): Promise {\n\t\tconst teams: TeamEntity[] = await this._em.find(TeamEntity, {\n\t\t\tuserIds: { userId: new ObjectId(userId) },\n\t\t});\n\t\treturn teams;\n\t}\n\n\tprivate async populateRoles(roles: Role[]): Promise {\n\t\treturn Promise.all(\n\t\t\troles.map(async (role: Role): Promise => {\n\t\t\t\tif (!role.roles.isInitialized(true)) {\n\t\t\t\t\tawait this._em.populate(role, ['roles']);\n\t\t\t\t\tawait this.populateRoles(role.roles.getItems());\n\t\t\t\t}\n\t\t\t})\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TemporaryFileProperties.html":{"url":"interfaces/TemporaryFileProperties.html","title":"interface - TemporaryFileProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TemporaryFileProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/entity/h5p-editor-tempfile.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n birthtime\n \n \n \n \n expiresAt\n \n \n \n \n filename\n \n \n \n \n ownedByUserId\n \n \n \n \n size\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n birthtime\n \n \n \n \n \n \n \n \n birthtime: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n expiresAt\n \n \n \n \n \n \n \n \n expiresAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n filename\n \n \n \n \n \n \n \n \n filename: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n ownedByUserId\n \n \n \n \n \n \n \n \n ownedByUserId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n size\n \n \n \n \n \n \n \n \n size: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { IFileStats, ITemporaryFile } from '@lumieducation/h5p-server';\nimport { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\n\nexport interface TemporaryFileProperties {\n\tfilename: string;\n\townedByUserId: string;\n\texpiresAt: Date;\n\tbirthtime: Date;\n\tsize: number;\n}\n\n@Entity({ tableName: 'h5p-editor-temp-file' })\nexport class H5pEditorTempFile extends BaseEntityWithTimestamps implements ITemporaryFile, IFileStats {\n\t/**\n\t * The name by which the file can be identified; can be a path including subdirectories (e.g. 'images/xyz.png')\n\t */\n\t@Property()\n\tfilename: string;\n\n\t@Property()\n\texpiresAt: Date;\n\n\t@Property()\n\townedByUserId: string;\n\n\t@Property()\n\tbirthtime: Date;\n\n\t@Property()\n\tsize: number;\n\n\tconstructor({ filename, ownedByUserId, expiresAt, birthtime, size }: TemporaryFileProperties) {\n\t\tsuper();\n\t\tthis.filename = filename;\n\t\tthis.ownedByUserId = ownedByUserId;\n\t\tthis.expiresAt = expiresAt;\n\t\tthis.birthtime = birthtime;\n\t\tthis.size = size;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TemporaryFileRepo.html":{"url":"injectables/TemporaryFileRepo.html","title":"injectable - TemporaryFileRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TemporaryFileRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/repo/temporary-file.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findAllByUserAndFilename\n \n \n Async\n findByUser\n \n \n Async\n findByUserAndFilename\n \n \n Async\n findExpired\n \n \n Async\n findExpiredByUser\n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findAllByUserAndFilename\n \n \n \n \n \n \n \n findAllByUserAndFilename(userId: EntityId, filename: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/temporary-file.repo.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n filename\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUser\n \n \n \n \n \n \n \n findByUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/temporary-file.repo.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserAndFilename\n \n \n \n \n \n \n \n findByUserAndFilename(userId: EntityId, filename: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/temporary-file.repo.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n filename\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findExpired\n \n \n \n \n \n \n \n findExpired()\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/temporary-file.repo.ts:20\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n findExpiredByUser\n \n \n \n \n \n \n \n findExpiredByUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/temporary-file.repo.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/repo/temporary-file.repo.ts:8\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '@shared/repo/base.repo';\nimport { H5pEditorTempFile } from '../entity';\n\n@Injectable()\nexport class TemporaryFileRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn H5pEditorTempFile;\n\t}\n\n\tasync findByUserAndFilename(userId: EntityId, filename: string): Promise {\n\t\treturn this._em.findOneOrFail(this.entityName, { ownedByUserId: userId, filename });\n\t}\n\n\tasync findAllByUserAndFilename(userId: EntityId, filename: string): Promise {\n\t\treturn this._em.find(this.entityName, { ownedByUserId: userId, filename });\n\t}\n\n\tasync findExpired(): Promise {\n\t\tconst now = new Date();\n\t\treturn this._em.find(this.entityName, { expiresAt: { $lt: now } });\n\t}\n\n\tasync findByUser(userId: EntityId): Promise {\n\t\treturn this._em.find(this.entityName, { ownedByUserId: userId });\n\t}\n\n\tasync findExpiredByUser(userId: EntityId): Promise {\n\t\tconst now = new Date();\n\t\treturn this._em.find(this.entityName, { $and: [{ ownedByUserId: userId }, { expiresAt: { $lt: now } }] });\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TemporaryFileStorage.html":{"url":"injectables/TemporaryFileStorage.html","title":"injectable - TemporaryFileStorage","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TemporaryFileStorage\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/service/temporary-file-storage.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkFilename\n \n \n Public\n Async\n deleteFile\n \n \n Public\n Async\n fileExists\n \n \n Private\n getFileInfo\n \n \n Private\n getFilePath\n \n \n Public\n Async\n getFileStats\n \n \n Public\n Async\n getFileStream\n \n \n Public\n Async\n listFiles\n \n \n Public\n Async\n saveFile\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(repo: TemporaryFileRepo, s3Client: S3ClientAdapter)\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/service/temporary-file-storage.service.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n repo\n \n \n TemporaryFileRepo\n \n \n \n No\n \n \n \n \n s3Client\n \n \n S3ClientAdapter\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkFilename\n \n \n \n \n \n \n \n checkFilename(filename: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/service/temporary-file-storage.service.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n filename\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n deleteFile\n \n \n \n \n \n \n \n deleteFile(filename: string, userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/service/temporary-file-storage.service.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n filename\n \n string\n \n\n \n No\n \n\n\n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n fileExists\n \n \n \n \n \n \n \n fileExists(filename: string, user: IUser)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/service/temporary-file-storage.service.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n filename\n \n string\n \n\n \n No\n \n\n\n \n \n user\n \n IUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getFileInfo\n \n \n \n \n \n \n \n getFileInfo(filename: string, userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/service/temporary-file-storage.service.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n filename\n \n string\n \n\n \n No\n \n\n\n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getFilePath\n \n \n \n \n \n \n \n getFilePath(userId: string, filename: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/service/temporary-file-storage.service.ts:119\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n filename\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getFileStats\n \n \n \n \n \n \n \n getFileStats(filename: string, user: IUser)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/service/temporary-file-storage.service.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n filename\n \n string\n \n\n \n No\n \n\n\n \n \n user\n \n IUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getFileStream\n \n \n \n \n \n \n \n getFileStream(filename: string, user: IUser, rangeStart: number, rangeEnd?: number | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/service/temporary-file-storage.service.ts:47\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n filename\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n user\n \n IUser\n \n\n \n No\n \n\n \n \n\n \n \n rangeStart\n \n number\n \n\n \n No\n \n\n \n 0\n \n\n \n \n rangeEnd\n \n number | undefined\n \n\n \n Yes\n \n\n \n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n listFiles\n \n \n \n \n \n \n \n listFiles(user?: IUser)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/service/temporary-file-storage.service.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n IUser\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n saveFile\n \n \n \n \n \n \n \n saveFile(filename: string, dataStream: ReadStream, user: IUser, expirationTime: Date)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/service/temporary-file-storage.service.ts:79\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n filename\n \n string\n \n\n \n No\n \n\n\n \n \n dataStream\n \n ReadStream\n \n\n \n No\n \n\n\n \n \n user\n \n IUser\n \n\n \n No\n \n\n\n \n \n expirationTime\n \n Date\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ITemporaryFile, ITemporaryFileStorage, IUser } from '@lumieducation/h5p-server';\nimport { Inject, Injectable, NotAcceptableException } from '@nestjs/common';\nimport { S3ClientAdapter } from '@infra/s3-client';\nimport { ReadStream } from 'fs';\nimport { Readable } from 'stream';\nimport { H5pFileDto } from '../controller/dto/h5p-file.dto';\nimport { H5pEditorTempFile } from '../entity/h5p-editor-tempfile.entity';\nimport { H5P_CONTENT_S3_CONNECTION } from '../h5p-editor.config';\nimport { TemporaryFileRepo } from '../repo/temporary-file.repo';\n\n@Injectable()\nexport class TemporaryFileStorage implements ITemporaryFileStorage {\n\tconstructor(\n\t\tprivate readonly repo: TemporaryFileRepo,\n\t\t@Inject(H5P_CONTENT_S3_CONNECTION) private readonly s3Client: S3ClientAdapter\n\t) {}\n\n\tprivate checkFilename(filename: string): void {\n\t\tif (!/^[a-zA-Z0-9/._-]+$/g.test(filename) && filename.includes('..') && filename.startsWith('/')) {\n\t\t\tthrow new NotAcceptableException(`Filename contains forbidden characters or is empty: '${filename}'`);\n\t\t}\n\t}\n\n\tprivate getFileInfo(filename: string, userId: string): Promise {\n\t\tthis.checkFilename(filename);\n\t\treturn this.repo.findByUserAndFilename(userId, filename);\n\t}\n\n\tpublic async deleteFile(filename: string, userId: string): Promise {\n\t\tthis.checkFilename(filename);\n\t\tconst meta = await this.repo.findByUserAndFilename(userId, filename);\n\t\tawait this.s3Client.delete([this.getFilePath(userId, filename)]);\n\t\tawait this.repo.delete(meta);\n\t}\n\n\tpublic async fileExists(filename: string, user: IUser): Promise {\n\t\tthis.checkFilename(filename);\n\t\tconst files = await this.repo.findAllByUserAndFilename(user.id, filename);\n\t\tconst exists = files.length !== 0;\n\t\treturn exists;\n\t}\n\n\tpublic async getFileStats(filename: string, user: IUser): Promise {\n\t\treturn this.getFileInfo(filename, user.id);\n\t}\n\n\tpublic async getFileStream(\n\t\tfilename: string,\n\t\tuser: IUser,\n\t\trangeStart = 0,\n\t\trangeEnd?: number | undefined\n\t): Promise {\n\t\tthis.checkFilename(filename);\n\t\tconst tempFile = await this.repo.findByUserAndFilename(user.id, filename);\n\t\tconst path = this.getFilePath(user.id, filename);\n\t\tlet rangeEndNew = 0;\n\t\tif (rangeEnd === undefined) {\n\t\t\trangeEndNew = tempFile.size - 1;\n\t\t}\n\t\tconst response = await this.s3Client.get(path, `${rangeStart}-${rangeEndNew}`);\n\n\t\treturn response.data;\n\t}\n\n\tpublic async listFiles(user?: IUser): Promise {\n\t\t// method is expected to support listing all files in database\n\t\t// Lumi uses the variant without a user to search for expired files, so we only return those\n\n\t\tlet files: ITemporaryFile[];\n\t\tif (user) {\n\t\t\tfiles = await this.repo.findByUser(user.id);\n\t\t} else {\n\t\t\tfiles = await this.repo.findExpired();\n\t\t}\n\n\t\treturn files;\n\t}\n\n\tpublic async saveFile(\n\t\tfilename: string,\n\t\tdataStream: ReadStream,\n\t\tuser: IUser,\n\t\texpirationTime: Date\n\t): Promise {\n\t\tthis.checkFilename(filename);\n\t\tconst now = new Date();\n\t\tif (expirationTime \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TestApiClient.html":{"url":"classes/TestApiClient.html","title":"class - TestApiClient","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TestApiClient\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/test-api-client.ts\n \n\n\n \n Description\n \n \n Note res.cookie is not supported atm, feel free to add this\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n app\n \n \n Private\n Readonly\n baseRoute\n \n \n Private\n Readonly\n formattedJwt\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkAndAddPrefix\n \n \n Private\n cleanupPath\n \n \n Public\n delete\n \n \n Public\n get\n \n \n Private\n getJwtFromResponse\n \n \n Private\n getPath\n \n \n Private\n isAuthenticationResponse\n \n \n Private\n isSlash\n \n \n Public\n Async\n login\n \n \n Public\n patch\n \n \n Public\n post\n \n \n Public\n put\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(app: INestApplication, baseRoute: string, jwt?: string)\n \n \n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:30\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n app\n \n \n INestApplication\n \n \n \n No\n \n \n \n \n baseRoute\n \n \n string\n \n \n \n No\n \n \n \n \n jwt\n \n \n string\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n app\n \n \n \n \n \n \n Type : INestApplication\n\n \n \n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n baseRoute\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n formattedJwt\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:30\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkAndAddPrefix\n \n \n \n \n \n \n \n checkAndAddPrefix(inputPath: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:110\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n inputPath\n \n string\n \n\n \n No\n \n\n \n '/'\n \n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n cleanupPath\n \n \n \n \n \n \n \n cleanupPath(inputPath: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:120\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n inputPath\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n delete\n \n \n \n \n \n \n \n delete(subPath?: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n subPath\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : supertest.Test\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n get\n \n \n \n \n \n \n \n get(subPath?: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n subPath\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : supertest.Test\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getJwtFromResponse\n \n \n \n \n \n \n \n getJwtFromResponse(response: Response)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:142\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n Response\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getPath\n \n \n \n \n \n \n \n getPath(routeNameInput: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:129\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n routeNameInput\n \n string\n \n\n \n No\n \n\n \n ''\n \n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isAuthenticationResponse\n \n \n \n \n \n \n \n isAuthenticationResponse(body)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:136\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n body\n\n \n No\n \n\n\n \n \n \n \n \n Returns : AuthenticationResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isSlash\n \n \n \n \n \n \n \n isSlash(inputPath: string, pos: number)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:104\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n inputPath\n \n string\n \n\n \n No\n \n\n\n \n \n pos\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n login\n \n \n \n \n \n \n \n login(account: Account)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n Account\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise<>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n patch\n \n \n \n \n \n \n \n patch(subPath?: string, data: object)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:64\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n subPath\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n data\n \n object\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : supertest.Test\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n post\n \n \n \n \n \n \n \n post(subPath?: string, data: object)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:74\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n subPath\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n data\n \n object\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : supertest.Test\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n put\n \n \n \n \n \n \n \n put(subPath?: string, data: object)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:54\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n subPath\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n data\n \n object\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : supertest.Test\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { INestApplication } from '@nestjs/common';\nimport { Account } from '@shared/domain/entity';\nimport supertest, { Response } from 'supertest';\nimport { defaultTestPassword } from './factory/account.factory';\n\ninterface AuthenticationResponse {\n\taccessToken: string;\n}\n\nconst headerConst = {\n\taccept: 'accept',\n\tjson: 'application/json',\n};\n\nconst testReqestConst = {\n\tprefix: 'Bearer',\n\tloginPath: '/authentication/local',\n\taccessToken: 'accessToken',\n\terrorMessage: 'TestApiClient: Can not cast to local AutenticationResponse:',\n};\n\n/**\n * Note res.cookie is not supported atm, feel free to add this\n */\nexport class TestApiClient {\n\tprivate readonly app: INestApplication;\n\n\tprivate readonly baseRoute: string;\n\n\tprivate readonly formattedJwt: string;\n\n\tconstructor(app: INestApplication, baseRoute: string, jwt?: string) {\n\t\tthis.app = app;\n\t\tthis.baseRoute = this.checkAndAddPrefix(baseRoute);\n\t\tthis.formattedJwt = `${testReqestConst.prefix} ${jwt || ''}`;\n\t}\n\n\tpublic get(subPath?: string): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer()).get(path).set('authorization', this.formattedJwt);\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic delete(subPath?: string): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer())\n\t\t\t.delete(path)\n\t\t\t.set('authorization', this.formattedJwt);\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic put(subPath?: string, data = {}): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer())\n\t\t\t.put(path)\n\t\t\t.set('authorization', this.formattedJwt)\n\t\t\t.send(data);\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic patch(subPath?: string, data = {}): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer())\n\t\t\t.patch(path)\n\t\t\t.set('authorization', this.formattedJwt)\n\t\t\t.send(data);\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic post(subPath?: string, data = {}): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer())\n\t\t\t.post(path)\n\t\t\t.set('authorization', this.formattedJwt)\n\t\t\t.send(data);\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic async login(account: Account): Promise {\n\t\tconst path = testReqestConst.loginPath;\n\t\tconst params: { username: string; password: string } = {\n\t\t\tusername: account.username,\n\t\t\tpassword: defaultTestPassword,\n\t\t};\n\t\tconst response = await supertest(this.app.getHttpServer())\n\t\t\t.post(path)\n\t\t\t.set(headerConst.accept, headerConst.json)\n\t\t\t.send(params);\n\n\t\tconst jwtFromResponse = this.getJwtFromResponse(response);\n\n\t\treturn new (this.constructor as new (app: INestApplication, baseRoute: string, jwt?: string) => this)(\n\t\t\tthis.app,\n\t\t\tthis.baseRoute,\n\t\t\tjwtFromResponse\n\t\t);\n\t}\n\n\tprivate isSlash(inputPath: string, pos: number): boolean {\n\t\tconst isSlash = inputPath.charAt(pos) === '/';\n\n\t\treturn isSlash;\n\t}\n\n\tprivate checkAndAddPrefix(inputPath = '/'): string {\n\t\tlet path = '';\n\t\tif (!this.isSlash(inputPath, 0)) {\n\t\t\tpath = '/';\n\t\t}\n\t\tpath += inputPath;\n\n\t\treturn path;\n\t}\n\n\tprivate cleanupPath(inputPath: string): string {\n\t\tlet path = inputPath;\n\t\tif (this.isSlash(path, 0) && this.isSlash(path, 1)) {\n\t\t\tpath = path.slice(1);\n\t\t}\n\n\t\treturn path;\n\t}\n\n\tprivate getPath(routeNameInput = ''): string {\n\t\tconst routeName = this.checkAndAddPrefix(routeNameInput);\n\t\tconst path = this.cleanupPath(this.baseRoute + routeName);\n\n\t\treturn path;\n\t}\n\n\tprivate isAuthenticationResponse(body: unknown): body is AuthenticationResponse {\n\t\tconst isAuthenticationResponse = typeof body === 'object' && body !== null && testReqestConst.accessToken in body;\n\n\t\treturn isAuthenticationResponse;\n\t}\n\n\tprivate getJwtFromResponse(response: Response): string {\n\t\tif (response.error) {\n\t\t\tconst error = JSON.stringify(response.error);\n\t\t\tthrow new Error(error);\n\t\t}\n\t\tif (!this.isAuthenticationResponse(response.body)) {\n\t\t\tconst body = JSON.stringify(response.body);\n\t\t\tthrow new Error(`${testReqestConst.errorMessage} ${body}`);\n\t\t}\n\t\tconst authenticationResponse = response.body;\n\t\tconst jwt = authenticationResponse.accessToken;\n\n\t\treturn jwt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TestBootstrapConsole.html":{"url":"classes/TestBootstrapConsole.html","title":"class - TestBootstrapConsole","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TestBootstrapConsole\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/console/api-test/test-bootstrap.console.ts\n \n\n\n\n \n Extends\n \n \n AbstractBootstrapConsole\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n create\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate()\n \n \n\n\n \n \n Defined in apps/server/src/console/api-test/test-bootstrap.console.ts:8\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { createMock } from '@golevelup/ts-jest';\nimport { Test, TestingModule } from '@nestjs/testing';\nimport { ConsoleWriterService } from '@infra/console';\nimport { DatabaseManagementUc } from '@modules/management/uc/database-management.uc';\nimport { AbstractBootstrapConsole, BootstrapConsole } from 'nestjs-console';\n\nexport class TestBootstrapConsole extends AbstractBootstrapConsole {\n\tcreate(): Promise {\n\t\treturn Test.createTestingModule({\n\t\t\timports: [this.options.module],\n\t\t})\n\t\t\t.overrideProvider(DatabaseManagementUc)\n\t\t\t.useValue(createMock())\n\t\t\t.overrideProvider(ConsoleWriterService)\n\t\t\t.useValue(createMock())\n\t\t\t.compile();\n\t}\n}\n\nexport const execute = async (bootstrap: BootstrapConsole, args: string[]): Promise => {\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tconst commandResponse = await bootstrap.boot([process.argv0, 'console', ...args]);\n\treturn Promise.resolve();\n};\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TestConnection.html":{"url":"classes/TestConnection.html","title":"class - TestConnection","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TestConnection\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/testing/test-connection.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n getWsUrl\n \n \n Static\n setupWs\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n getWsUrl\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/modules/tldraw/testing/test-connection.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n Static\n setupWs\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/modules/tldraw/testing/test-connection.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import WebSocket from 'ws';\n\nexport class TestConnection {\n\tpublic static getWsUrl = (gatewayPort: number): string => {\n\t\tconst wsUrl = `ws://localhost:${gatewayPort}`;\n\t\treturn wsUrl;\n\t};\n\n\tpublic static setupWs = async (wsUrl: string, docName?: string): Promise => {\n\t\tlet ws: WebSocket;\n\t\tif (docName) {\n\t\t\tws = new WebSocket(`${wsUrl}/${docName}`);\n\t\t} else {\n\t\t\tws = new WebSocket(`${wsUrl}`);\n\t\t}\n\t\tawait new Promise((resolve) => {\n\t\t\tws.on('open', resolve);\n\t\t});\n\n\t\treturn ws;\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TestHelper.html":{"url":"classes/TestHelper.html","title":"class - TestHelper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TestHelper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/helper/test-helper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n createFile\n \n \n Static\n createFileResponse\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n createFile\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/modules/files-storage/helper/test-helper.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n Static\n createFileResponse\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/modules/files-storage/helper/test-helper.ts:21\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { GetFile } from '@infra/s3-client';\nimport { Readable } from 'stream';\nimport { GetFileResponse } from '../interface';\n\nexport class TestHelper {\n\tpublic static createFile = (contentRange?: string): GetFile => {\n\t\tconst text = 'testText';\n\t\tconst readable = Readable.from(text);\n\n\t\tconst fileResponse = {\n\t\t\tdata: readable,\n\t\t\tcontentType: 'image/webp',\n\t\t\tcontentLength: text.length,\n\t\t\tcontentRange,\n\t\t\tetag: 'testTag',\n\t\t};\n\n\t\treturn fileResponse;\n\t};\n\n\tpublic static createFileResponse = (contentRange?: string): GetFileResponse => {\n\t\tconst name = 'testName';\n\t\tconst file = this.createFile(contentRange);\n\t\tconst fileResponse = { ...file, name };\n\n\t\treturn fileResponse;\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TestXApiKeyClient.html":{"url":"classes/TestXApiKeyClient.html","title":"class - TestXApiKeyClient","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TestXApiKeyClient\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/test-xApiKey-client.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n app\n \n \n Private\n Readonly\n baseRoute\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkAndAddPrefix\n \n \n Private\n cleanupPath\n \n \n Public\n delete\n \n \n Public\n get\n \n \n Private\n getPath\n \n \n Private\n isSlash\n \n \n Public\n post\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(app: INestApplication, baseRoute: string)\n \n \n \n \n Defined in apps/server/src/shared/testing/test-xApiKey-client.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n app\n \n \n INestApplication\n \n \n \n No\n \n \n \n \n baseRoute\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n app\n \n \n \n \n \n \n Type : INestApplication\n\n \n \n \n \n Defined in apps/server/src/shared/testing/test-xApiKey-client.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n baseRoute\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/testing/test-xApiKey-client.ts:7\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkAndAddPrefix\n \n \n \n \n \n \n \n checkAndAddPrefix(inputPath: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-xApiKey-client.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n inputPath\n \n string\n \n\n \n No\n \n\n \n '/'\n \n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n cleanupPath\n \n \n \n \n \n \n \n cleanupPath(inputPath: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-xApiKey-client.ts:54\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n inputPath\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n delete\n \n \n \n \n \n \n \n delete(subPath?: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-xApiKey-client.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n subPath\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : supertest.Test\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n get\n \n \n \n \n \n \n \n get(subPath?: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-xApiKey-client.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n subPath\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : supertest.Test\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getPath\n \n \n \n \n \n \n \n getPath(routeNameInput: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-xApiKey-client.ts:63\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n routeNameInput\n \n string\n \n\n \n No\n \n\n \n ''\n \n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isSlash\n \n \n \n \n \n \n \n isSlash(inputPath: string, pos: number)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-xApiKey-client.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n inputPath\n \n string\n \n\n \n No\n \n\n\n \n \n pos\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n post\n \n \n \n \n \n \n \n post(subPath?: string, data: object)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-xApiKey-client.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n subPath\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n data\n \n object\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : supertest.Test\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { INestApplication } from '@nestjs/common';\nimport supertest from 'supertest';\n\nexport class TestXApiKeyClient {\n\tprivate readonly app: INestApplication;\n\n\tprivate readonly baseRoute: string;\n\n\tconstructor(app: INestApplication, baseRoute: string) {\n\t\tthis.app = app;\n\t\tthis.baseRoute = this.checkAndAddPrefix(baseRoute);\n\t}\n\n\tpublic get(subPath?: string): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer()).get(path).set('Accept', 'application/json');\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic delete(subPath?: string): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer()).delete(path).set('Accept', 'application/json');\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic post(subPath?: string, data = {}): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer())\n\t\t\t.post(path)\n\t\t\t.set('Accept', 'application/json')\n\t\t\t.send(data);\n\n\t\treturn testRequestInstance;\n\t}\n\n\tprivate isSlash(inputPath: string, pos: number): boolean {\n\t\tconst isSlash = inputPath.charAt(pos) === '/';\n\n\t\treturn isSlash;\n\t}\n\n\tprivate checkAndAddPrefix(inputPath = '/'): string {\n\t\tlet path = '';\n\t\tif (!this.isSlash(inputPath, 0)) {\n\t\t\tpath = '/';\n\t\t}\n\t\tpath += inputPath;\n\n\t\treturn path;\n\t}\n\n\tprivate cleanupPath(inputPath: string): string {\n\t\tlet path = inputPath;\n\t\tif (this.isSlash(path, 0) && this.isSlash(path, 1)) {\n\t\t\tpath = path.slice(1);\n\t\t}\n\n\t\treturn path;\n\t}\n\n\tprivate getPath(routeNameInput = ''): string {\n\t\tconst routeName = this.checkAndAddPrefix(routeNameInput);\n\t\tconst path = this.cleanupPath(this.baseRoute + routeName);\n\n\t\treturn path;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TimeoutInterceptor.html":{"url":"injectables/TimeoutInterceptor.html","title":"injectable - TimeoutInterceptor","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TimeoutInterceptor\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/interceptor/timeout.interceptor.ts\n \n\n\n \n Description\n \n \n This interceptor leaves the request execution after a given timeout in ms.\nThis will not stop the running services behind the controller.\n\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n intercept\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(requestTimeout: number)\n \n \n \n \n Defined in apps/server/src/shared/common/interceptor/timeout.interceptor.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n requestTimeout\n \n \n number\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n intercept\n \n \n \n \n \n \nintercept(context: ExecutionContext, next: CallHandler)\n \n \n\n\n \n \n Defined in apps/server/src/shared/common/interceptor/timeout.interceptor.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n context\n \n ExecutionContext\n \n\n \n No\n \n\n\n \n \n next\n \n CallHandler\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CallHandler, ExecutionContext, Injectable, NestInterceptor, RequestTimeoutException } from '@nestjs/common';\nimport { Reflector } from '@nestjs/core';\nimport { Observable, throwError, TimeoutError } from 'rxjs';\nimport { catchError, timeout } from 'rxjs/operators';\n\n/**\n * This interceptor leaves the request execution after a given timeout in ms.\n * This will not stop the running services behind the controller.\n */\n@Injectable()\nexport class TimeoutInterceptor implements NestInterceptor {\n\tconstructor(private readonly requestTimeout: number) {}\n\n\tintercept(context: ExecutionContext, next: CallHandler): Observable {\n\t\tconst reflector = new Reflector();\n\t\tconst timeoutValue =\n\t\t\treflector.get('timeout', context.getHandler()) || reflector.get('timeout', context.getClass());\n\t\treturn next.handle().pipe(\n\t\t\ttimeout(timeoutValue || this.requestTimeout),\n\t\t\tcatchError((err: Error) => {\n\t\t\t\tif (err instanceof TimeoutError) {\n\t\t\t\t\treturn throwError(() => new RequestTimeoutException());\n\t\t\t\t}\n\t\t\t\treturn throwError(() => err);\n\t\t\t})\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TimestampsResponse.html":{"url":"classes/TimestampsResponse.html","title":"class - TimestampsResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TimestampsResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/timestamps.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n createdAt\n \n \n \n Optional\n deletedAt\n \n \n \n lastUpdatedAt\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: TimestampsResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/timestamps.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n TimestampsResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/timestamps.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n deletedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/timestamps.response.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n lastUpdatedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/timestamps.response.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\n\nexport class TimestampsResponse {\n\tconstructor({ lastUpdatedAt, createdAt, deletedAt }: TimestampsResponse) {\n\t\tthis.lastUpdatedAt = lastUpdatedAt;\n\t\tthis.createdAt = createdAt;\n\t\tthis.deletedAt = deletedAt;\n\t}\n\n\t@ApiProperty()\n\tlastUpdatedAt: Date;\n\n\t@ApiProperty()\n\tcreatedAt: Date;\n\n\t@ApiPropertyOptional()\n\tdeletedAt?: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TldrawBoardRepo.html":{"url":"injectables/TldrawBoardRepo.html","title":"injectable - TldrawBoardRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TldrawBoardRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Public\n collectionName\n \n \n Public\n Readonly\n configService\n \n \n Public\n connectionString\n \n \n Public\n flushSize\n \n \n Public\n mdb\n \n \n Public\n multipleCollections\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n flushDocument\n \n \n Public\n Async\n getYDocFromMdb\n \n \n Public\n Async\n updateDocument\n \n \n Public\n updateStoredDocWithDiff\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(configService: ConfigService)\n \n \n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n flushDocument\n \n \n \n \n \n \n \n flushDocument(docName: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts:68\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n docName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getYDocFromMdb\n \n \n \n \n \n \n \n getYDocFromMdb(docName: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n docName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n updateDocument\n \n \n \n \n \n \n \n updateDocument(docName: string, ydoc: WsSharedDocDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n docName\n \n string\n \n\n \n No\n \n\n\n \n \n ydoc\n \n WsSharedDocDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n updateStoredDocWithDiff\n \n \n \n \n \n \n \n updateStoredDocWithDiff(docName: string, diff: Uint8Array)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n docName\n \n string\n \n\n \n No\n \n\n\n \n \n diff\n \n Uint8Array\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Public\n collectionName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n Readonly\n configService\n \n \n \n \n \n \n Type : ConfigService\n\n \n \n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n connectionString\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n flushSize\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n mdb\n \n \n \n \n \n \n Type : MongodbPersistence\n\n \n \n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n multipleCollections\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts:17\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { MongodbPersistence } from 'y-mongodb-provider';\nimport { ConfigService } from '@nestjs/config';\nimport { applyUpdate, Doc, encodeStateAsUpdate, encodeStateVector } from 'yjs';\nimport { TldrawConfig } from '../config';\nimport { calculateDiff } from '../utils';\nimport { WsSharedDocDo } from '../domain/ws-shared-doc.do';\n\n@Injectable()\nexport class TldrawBoardRepo {\n\tpublic connectionString: string;\n\n\tpublic collectionName: string;\n\n\tpublic flushSize: number;\n\n\tpublic multipleCollections: boolean;\n\n\tpublic mdb: MongodbPersistence;\n\n\tconstructor(public readonly configService: ConfigService) {\n\t\tthis.connectionString = this.configService.get('CONNECTION_STRING');\n\t\tthis.collectionName = this.configService.get('TLDRAW_DB_COLLECTION_NAME') ?? 'drawings';\n\t\tthis.flushSize = this.configService.get('TLDRAW_DB_FLUSH_SIZE') ?? 400;\n\t\tthis.multipleCollections = this.configService.get('TLDRAW_DB_MULTIPLE_COLLECTIONS');\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-assignment\n\t\tthis.mdb = new MongodbPersistence(this.connectionString, {\n\t\t\tcollectionName: this.collectionName,\n\t\t\tflushSize: this.flushSize,\n\t\t\tmultipleCollections: this.multipleCollections,\n\t\t});\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t// @ts-ignore\n\t// eslint-disable-next-line consistent-return\n\tpublic async getYDocFromMdb(docName: string): Promise {\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-member-access\n\t\tconst yDoc = await this.mdb.getYDoc(docName);\n\t\tif (yDoc instanceof Doc) {\n\t\t\treturn yDoc;\n\t\t}\n\t}\n\n\tpublic updateStoredDocWithDiff(docName: string, diff: Uint8Array): void {\n\t\tconst calc = calculateDiff(diff);\n\t\tif (calc > 0) {\n\t\t\tvoid this.mdb.storeUpdate(docName, diff);\n\t\t}\n\t}\n\n\tpublic async updateDocument(docName: string, ydoc: WsSharedDocDo): Promise {\n\t\tconst persistedYdoc = await this.getYDocFromMdb(docName);\n\t\tconst persistedStateVector = encodeStateVector(persistedYdoc);\n\t\tconst diff = encodeStateAsUpdate(ydoc, persistedStateVector);\n\t\tthis.updateStoredDocWithDiff(docName, diff);\n\n\t\tapplyUpdate(ydoc, encodeStateAsUpdate(persistedYdoc));\n\n\t\tydoc.on('update', (update: Uint8Array) => {\n\t\t\tvoid this.mdb.storeUpdate(docName, update);\n\t\t});\n\n\t\tpersistedYdoc.destroy();\n\t}\n\n\tpublic async flushDocument(docName: string): Promise {\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access\n\t\tawait this.mdb.flushDocument(docName);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TldrawClientModule.html":{"url":"modules/TldrawClientModule.html","title":"module - TldrawClientModule","body":"\n \n\n\n\n\n Modules\n TldrawClientModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_TldrawClientModule\n\n\n\ncluster_TldrawClientModule_providers\n\n\n\ncluster_TldrawClientModule_imports\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nTldrawClientModule\n\nTldrawClientModule\n\nTldrawClientModule -->\n\nLoggerModule->TldrawClientModule\n\n\n\n\n\nDrawingElementAdapterService\n\nDrawingElementAdapterService\n\nTldrawClientModule -->\n\nDrawingElementAdapterService->TldrawClientModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tldraw-client/tldraw-client.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n DrawingElementAdapterService\n \n \n \n \n Imports\n \n \n LoggerModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { DrawingElementAdapterService } from './service';\n\n@Module({\n\timports: [LoggerModule],\n\tproviders: [DrawingElementAdapterService],\n\texports: [],\n})\nexport class TldrawClientModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TldrawConfig.html":{"url":"interfaces/TldrawConfig.html","title":"interface - TldrawConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TldrawConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n CONNECTION_STRING\n \n \n \n \n FEATURE_TLDRAW_ENABLED\n \n \n \n \n INCOMING_REQUEST_TIMEOUT\n \n \n \n \n NEST_LOG_LEVEL\n \n \n \n \n TLDRAW_DB_COLLECTION_NAME\n \n \n \n \n TLDRAW_DB_FLUSH_SIZE\n \n \n \n \n TLDRAW_DB_MULTIPLE_COLLECTIONS\n \n \n \n \n TLDRAW_GC_ENABLED\n \n \n \n \n TLDRAW_PING_TIMEOUT\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n CONNECTION_STRING\n \n \n \n \n \n \n \n \n CONNECTION_STRING: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n FEATURE_TLDRAW_ENABLED\n \n \n \n \n \n \n \n \n FEATURE_TLDRAW_ENABLED: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT\n \n \n \n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n NEST_LOG_LEVEL\n \n \n \n \n \n \n \n \n NEST_LOG_LEVEL: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n TLDRAW_DB_COLLECTION_NAME\n \n \n \n \n \n \n \n \n TLDRAW_DB_COLLECTION_NAME: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n TLDRAW_DB_FLUSH_SIZE\n \n \n \n \n \n \n \n \n TLDRAW_DB_FLUSH_SIZE: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n TLDRAW_DB_MULTIPLE_COLLECTIONS\n \n \n \n \n \n \n \n \n TLDRAW_DB_MULTIPLE_COLLECTIONS: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n TLDRAW_GC_ENABLED\n \n \n \n \n \n \n \n \n TLDRAW_GC_ENABLED: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n TLDRAW_PING_TIMEOUT\n \n \n \n \n \n \n \n \n TLDRAW_PING_TIMEOUT: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\n\nexport interface TldrawConfig {\n\tNEST_LOG_LEVEL: string;\n\tINCOMING_REQUEST_TIMEOUT: number;\n\tTLDRAW_DB_COLLECTION_NAME: string;\n\tTLDRAW_DB_FLUSH_SIZE: string;\n\tTLDRAW_DB_MULTIPLE_COLLECTIONS: boolean;\n\tCONNECTION_STRING: string;\n\tFEATURE_TLDRAW_ENABLED: boolean;\n\tTLDRAW_PING_TIMEOUT: number;\n\tTLDRAW_GC_ENABLED: number;\n}\n\nconst tldrawConnectionString: string = Configuration.get('TLDRAW_DB_URL') as string;\n\nconst tldrawConfig = {\n\tNEST_LOG_LEVEL: Configuration.get('NEST_LOG_LEVEL') as string,\n\tINCOMING_REQUEST_TIMEOUT: Configuration.get('INCOMING_REQUEST_TIMEOUT_API') as number,\n\tTLDRAW_DB_COLLECTION_NAME: Configuration.get('TLDRAW__DB_COLLECTION_NAME') as string,\n\tTLDRAW_DB_FLUSH_SIZE: Configuration.get('TLDRAW__DB_FLUSH_SIZE') as number,\n\tTLDRAW_DB_MULTIPLE_COLLECTIONS: Configuration.get('TLDRAW__DB_MULTIPLE_COLLECTIONS') as boolean,\n\tFEATURE_TLDRAW_ENABLED: Configuration.get('FEATURE_TLDRAW_ENABLED') as boolean,\n\tCONNECTION_STRING: tldrawConnectionString,\n\tTLDRAW_PING_TIMEOUT: Configuration.get('TLDRAW__PING_TIMEOUT') as number,\n\tTLDRAW_GC_ENABLED: Configuration.get('TLDRAW__GC_ENABLED') as boolean,\n};\n\nexport const SOCKET_PORT = Configuration.get('TLDRAW__SOCKET_PORT') as number;\nexport const config = () => tldrawConfig;\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/TldrawController.html":{"url":"controllers/TldrawController.html","title":"controller - TldrawController","body":"\n \n\n\n\n\n\n\n Controllers\n TldrawController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/controller/tldraw.controller.ts\n \n\n \n Prefix\n \n \n tldraw-document\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteByDocName\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteByDocName\n \n \n \n \n \n \n \n deleteByDocName(urlParams: TldrawDeleteParams)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Delete every element of tldraw drawing by its docName.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Delete(':docName')\n \n \n\n \n \n Defined in apps/server/src/modules/tldraw/controller/tldraw.controller.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n TldrawDeleteParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { Controller, Delete, ForbiddenException, HttpCode, NotFoundException, Param } from '@nestjs/common';\nimport { ApiValidationError } from '@shared/common';\nimport { TldrawService } from '../service/tldraw.service';\nimport { TldrawDeleteParams } from './tldraw.params';\n\n@ApiTags('Tldraw Document')\n@Controller('tldraw-document')\nexport class TldrawController {\n\tconstructor(private readonly tldrawService: TldrawService) {}\n\n\t@ApiOperation({ summary: 'Delete every element of tldraw drawing by its docName.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Delete(':docName')\n\tasync deleteByDocName(@Param() urlParams: TldrawDeleteParams) {\n\t\tawait this.tldrawService.deleteByDocName(urlParams.docName);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TldrawDeleteParams.html":{"url":"classes/TldrawDeleteParams.html","title":"class - TldrawDeleteParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TldrawDeleteParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/controller/tldraw.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n docName\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n docName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({description: 'The name of drawing that should be deleted.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/tldraw/controller/tldraw.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsString } from 'class-validator';\n\nexport class TldrawDeleteParams {\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'The name of drawing that should be deleted.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tdocName!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/TldrawDrawing.html":{"url":"entities/TldrawDrawing.html","title":"entity - TldrawDrawing","body":"\n \n\n\n\n\n\n\n\n Entities\n TldrawDrawing\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/entities/tldraw-drawing.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n _id\n \n \n \n Optional\n action\n \n \n \n Optional\n clock\n \n \n \n docName\n \n \n \n value\n \n \n \n version\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n _id\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @PrimaryKey()\n \n \n \n \n \n Defined in apps/server/src/modules/tldraw/entities/tldraw-drawing.entity.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n action\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tldraw/entities/tldraw-drawing.entity.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n clock\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tldraw/entities/tldraw-drawing.entity.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n docName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/tldraw/entities/tldraw-drawing.entity.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n value\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/tldraw/entities/tldraw-drawing.entity.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n version\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/tldraw/entities/tldraw-drawing.entity.ts:27\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, PrimaryKey, Property } from '@mikro-orm/core';\nimport { BadRequestException } from '@nestjs/common';\nimport { ObjectId } from '@mikro-orm/mongodb';\n\n@Entity({ tableName: 'drawings' })\nexport class TldrawDrawing {\n\tconstructor(props: TldrawDrawingProps) {\n\t\tif (!props.docName) throw new BadRequestException('Tldraw element should have name.');\n\t\tthis.docName = props.docName;\n\t\tthis.version = props.version;\n\t\tthis.value = props.value;\n\t\tif (typeof props.clock === 'number') {\n\t\t\tthis.clock = props.clock;\n\t\t}\n\t\tif (props.action) {\n\t\t\tthis.action = props.action;\n\t\t}\n\t}\n\n\t@PrimaryKey()\n\t_id!: ObjectId;\n\n\t@Property({ nullable: false })\n\tdocName: string;\n\n\t@Property({ nullable: false })\n\tversion: string;\n\n\t@Property({ nullable: false })\n\tvalue: string;\n\n\t@Property({ nullable: true })\n\tclock?: number;\n\n\t@Property({ nullable: true })\n\taction?: string;\n}\n\nexport interface TldrawDrawingProps {\n\t_id?: string;\n\tdocName: string;\n\tversion: string;\n\tclock?: number;\n\taction?: string;\n\tvalue: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TldrawDrawingProps.html":{"url":"interfaces/TldrawDrawingProps.html","title":"interface - TldrawDrawingProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TldrawDrawingProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/entities/tldraw-drawing.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n _id\n \n \n \n Optional\n \n action\n \n \n \n Optional\n \n clock\n \n \n \n \n docName\n \n \n \n \n value\n \n \n \n \n version\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n _id\n \n \n \n \n \n \n \n \n _id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n action\n \n \n \n \n \n \n \n \n action: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n clock\n \n \n \n \n \n \n \n \n clock: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n docName\n \n \n \n \n \n \n \n \n docName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n value\n \n \n \n \n \n \n \n \n value: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n version\n \n \n \n \n \n \n \n \n version: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, PrimaryKey, Property } from '@mikro-orm/core';\nimport { BadRequestException } from '@nestjs/common';\nimport { ObjectId } from '@mikro-orm/mongodb';\n\n@Entity({ tableName: 'drawings' })\nexport class TldrawDrawing {\n\tconstructor(props: TldrawDrawingProps) {\n\t\tif (!props.docName) throw new BadRequestException('Tldraw element should have name.');\n\t\tthis.docName = props.docName;\n\t\tthis.version = props.version;\n\t\tthis.value = props.value;\n\t\tif (typeof props.clock === 'number') {\n\t\t\tthis.clock = props.clock;\n\t\t}\n\t\tif (props.action) {\n\t\t\tthis.action = props.action;\n\t\t}\n\t}\n\n\t@PrimaryKey()\n\t_id!: ObjectId;\n\n\t@Property({ nullable: false })\n\tdocName: string;\n\n\t@Property({ nullable: false })\n\tversion: string;\n\n\t@Property({ nullable: false })\n\tvalue: string;\n\n\t@Property({ nullable: true })\n\tclock?: number;\n\n\t@Property({ nullable: true })\n\taction?: string;\n}\n\nexport interface TldrawDrawingProps {\n\t_id?: string;\n\tdocName: string;\n\tversion: string;\n\tclock?: number;\n\taction?: string;\n\tvalue: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TldrawModule.html":{"url":"modules/TldrawModule.html","title":"module - TldrawModule","body":"\n \n\n\n\n\n Modules\n TldrawModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_TldrawModule\n\n\n\ncluster_TldrawModule_imports\n\n\n\ncluster_TldrawModule_providers\n\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\n\n\nTldrawModule\n\nTldrawModule\n\nTldrawModule -->\n\nAuthenticationModule->TldrawModule\n\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\nTldrawModule -->\n\nAuthorizationModule->TldrawModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nTldrawModule -->\n\nCoreModule->TldrawModule\n\n\n\n\n\nRabbitMQWrapperTestModule\n\nRabbitMQWrapperTestModule\n\nTldrawModule -->\n\nRabbitMQWrapperTestModule->TldrawModule\n\n\n\n\n\nLogger\n\nLogger\n\nTldrawModule -->\n\nLogger->TldrawModule\n\n\n\n\n\nTldrawBoardRepo\n\nTldrawBoardRepo\n\nTldrawModule -->\n\nTldrawBoardRepo->TldrawModule\n\n\n\n\n\nTldrawRepo\n\nTldrawRepo\n\nTldrawModule -->\n\nTldrawRepo->TldrawModule\n\n\n\n\n\nTldrawService\n\nTldrawService\n\nTldrawModule -->\n\nTldrawService->TldrawModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tldraw/tldraw.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n Logger\n \n \n TldrawBoardRepo\n \n \n TldrawRepo\n \n \n TldrawService\n \n \n \n \n Controllers\n \n \n TldrawController\n \n \n \n \n Imports\n \n \n AuthenticationModule\n \n \n AuthorizationModule\n \n \n CoreModule\n \n \n RabbitMQWrapperTestModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module, NotFoundException } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { createConfigModuleOptions, DB_PASSWORD, DB_USERNAME, TLDRAW_DB_URL } from '@src/config';\nimport { CoreModule } from '@src/core';\nimport { Logger } from '@src/core/logger';\nimport { MikroOrmModule, MikroOrmModuleSyncOptions } from '@mikro-orm/nestjs';\nimport { AuthenticationModule } from '@modules/authentication/authentication.module';\nimport { RabbitMQWrapperTestModule } from '@infra/rabbitmq';\nimport { Dictionary, IPrimaryKey } from '@mikro-orm/core';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { TldrawDrawing } from './entities';\nimport { config } from './config';\nimport { TldrawService } from './service/tldraw.service';\nimport { TldrawBoardRepo } from './repo';\nimport { TldrawController } from './controller/tldraw.controller';\nimport { TldrawRepo } from './repo/tldraw.repo';\n\nconst defaultMikroOrmOptions: MikroOrmModuleSyncOptions = {\n\tfindOneOrFailHandler: (entityName: string, where: Dictionary | IPrimaryKey) =>\n\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\tnew NotFoundException(`The requested ${entityName}: ${where} has not been found.`),\n};\n\n@Module({\n\timports: [\n\t\tAuthorizationModule,\n\t\tAuthenticationModule,\n\t\tCoreModule,\n\t\tRabbitMQWrapperTestModule,\n\t\tMikroOrmModule.forRoot({\n\t\t\t...defaultMikroOrmOptions,\n\t\t\ttype: 'mongo',\n\t\t\tclientUrl: TLDRAW_DB_URL,\n\t\t\tpassword: DB_PASSWORD,\n\t\t\tuser: DB_USERNAME,\n\t\t\tentities: [TldrawDrawing],\n\t\t}),\n\t\tConfigModule.forRoot(createConfigModuleOptions(config)),\n\t],\n\tproviders: [Logger, TldrawService, TldrawBoardRepo, TldrawRepo],\n\tcontrollers: [TldrawController],\n})\nexport class TldrawModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TldrawRepo.html":{"url":"injectables/TldrawRepo.html","title":"injectable - TldrawRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TldrawRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/repo/tldraw.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n create\n \n \n Async\n delete\n \n \n Async\n findByDocName\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(_em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw.repo.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n _em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n create\n \n \n \n \n \n \n \n create(entity: TldrawDrawing)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw.repo.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n TldrawDrawing\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entity: TldrawDrawing | TldrawDrawing[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw.repo.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n TldrawDrawing | TldrawDrawing[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByDocName\n \n \n \n \n \n \n \n findByDocName(docName: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw.repo.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n docName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { TldrawDrawing } from '../entities';\n\n@Injectable()\nexport class TldrawRepo {\n\tconstructor(private readonly _em: EntityManager) {}\n\n\tasync create(entity: TldrawDrawing): Promise {\n\t\tawait this._em.persistAndFlush(entity);\n\t}\n\n\tasync findByDocName(docName: string): Promise {\n\t\treturn this._em.find(TldrawDrawing, { docName });\n\t}\n\n\tasync delete(entity: TldrawDrawing | TldrawDrawing[]): Promise {\n\t\tawait this._em.removeAndFlush(entity);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TldrawService.html":{"url":"injectables/TldrawService.html","title":"injectable - TldrawService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TldrawService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/service/tldraw.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteByDocName\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(tldrawRepo: TldrawRepo)\n \n \n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.service.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n tldrawRepo\n \n \n TldrawRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteByDocName\n \n \n \n \n \n \n \n deleteByDocName(docName: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.service.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n docName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { TldrawRepo } from '../repo/tldraw.repo';\n\n@Injectable()\nexport class TldrawService {\n\tconstructor(private readonly tldrawRepo: TldrawRepo) {}\n\n\tasync deleteByDocName(docName: string): Promise {\n\t\tconst drawings = await this.tldrawRepo.findByDocName(docName);\n\t\tawait this.tldrawRepo.delete(drawings);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TldrawTestModule.html":{"url":"modules/TldrawTestModule.html","title":"module - TldrawTestModule","body":"\n \n\n\n\n\n Modules\n TldrawTestModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_TldrawTestModule\n\n\n\ncluster_TldrawTestModule_imports\n\n\n\ncluster_TldrawTestModule_providers\n\n\n\n\nAuthenticationApiModule\n\nAuthenticationApiModule\n\n\n\nTldrawTestModule\n\nTldrawTestModule\n\nTldrawTestModule -->\n\nAuthenticationApiModule->TldrawTestModule\n\n\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\nTldrawTestModule -->\n\nAuthenticationModule->TldrawTestModule\n\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\nTldrawTestModule -->\n\nAuthorizationModule->TldrawTestModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nTldrawTestModule -->\n\nCoreModule->TldrawTestModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nTldrawTestModule -->\n\nLoggerModule->TldrawTestModule\n\n\n\n\n\nMongoMemoryDatabaseModule\n\nMongoMemoryDatabaseModule\n\nTldrawTestModule -->\n\nMongoMemoryDatabaseModule->TldrawTestModule\n\n\n\n\n\nTldrawWsModule\n\nTldrawWsModule\n\nTldrawTestModule -->\n\nTldrawWsModule->TldrawTestModule\n\n\n\n\n\nTldrawBoardRepo\n\nTldrawBoardRepo\n\nTldrawTestModule -->\n\nTldrawBoardRepo->TldrawTestModule\n\n\n\n\n\nTldrawWsService\n\nTldrawWsService\n\nTldrawTestModule -->\n\nTldrawWsService->TldrawTestModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tldraw/tldraw-test.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n TldrawBoardRepo\n \n \n TldrawWsService\n \n \n \n \n Imports\n \n \n AuthenticationApiModule\n \n \n AuthenticationModule\n \n \n AuthorizationModule\n \n \n CoreModule\n \n \n LoggerModule\n \n \n MongoMemoryDatabaseModule\n \n \n TldrawWsModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options?: MongoDatabaseModuleOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/tldraw-test.module.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n MongoDatabaseModuleOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { DynamicModule, Module } from '@nestjs/common';\nimport { MongoMemoryDatabaseModule, MongoDatabaseModuleOptions } from '@infra/database';\nimport { CoreModule } from '@src/core';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthenticationModule } from '@modules/authentication/authentication.module';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { Course, User } from '@shared/domain/entity';\nimport { AuthenticationApiModule } from '../authentication/authentication-api.module';\nimport { TldrawWsModule } from './tldraw-ws.module';\nimport { TldrawWs } from './controller';\nimport { TldrawBoardRepo } from './repo';\nimport { TldrawWsService } from './service';\n\nconst imports = [\n\tTldrawWsModule,\n\tMongoMemoryDatabaseModule.forRoot({ entities: [User, Course] }),\n\tAuthenticationApiModule,\n\tAuthorizationModule,\n\tAuthenticationModule,\n\tCoreModule,\n\tLoggerModule,\n];\nconst providers = [TldrawWs, TldrawBoardRepo, TldrawWsService];\n@Module({\n\timports,\n\tproviders,\n})\nexport class TldrawTestModule {\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: TldrawTestModule,\n\t\t\timports: [...imports, MongoMemoryDatabaseModule.forRoot({ ...options })],\n\t\t\tproviders,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TldrawWs.html":{"url":"classes/TldrawWs.html","title":"class - TldrawWs","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TldrawWs\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/controller/tldraw.ws.ts\n \n\n\n\n\n \n Implements\n \n \n OnGatewayInit\n OnGatewayConnection\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n server\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n afterInit\n \n \n Private\n getDocNameFromRequest\n \n \n Public\n handleConnection\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(configService: ConfigService, tldrawWsService: TldrawWsService)\n \n \n \n \n Defined in apps/server/src/modules/tldraw/controller/tldraw.ws.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n tldrawWsService\n \n \n TldrawWsService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n server\n \n \n \n \n \n \n Type : Server\n\n \n \n \n \n Decorators : \n \n \n @WebSocketServer()\n \n \n \n \n \n Defined in apps/server/src/modules/tldraw/controller/tldraw.ws.ts:11\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n afterInit\n \n \n \n \n \n \n \n afterInit()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/controller/tldraw.ws.ts:31\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n getDocNameFromRequest\n \n \n \n \n \n \n \n getDocNameFromRequest(request: Request)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/controller/tldraw.ws.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n request\n \n Request\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n handleConnection\n \n \n \n \n \n \n \n handleConnection(client: WebSocket, request: Request)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/controller/tldraw.ws.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n client\n \n WebSocket\n \n\n \n No\n \n\n\n \n \n request\n \n Request\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { WebSocketGateway, WebSocketServer, OnGatewayInit, OnGatewayConnection } from '@nestjs/websockets';\nimport { Server, WebSocket } from 'ws';\nimport { ConfigService } from '@nestjs/config';\nimport { TldrawConfig, SOCKET_PORT } from '../config';\nimport { WsCloseCodeEnum } from '../types';\nimport { TldrawWsService } from '../service';\n\n@WebSocketGateway(SOCKET_PORT)\nexport class TldrawWs implements OnGatewayInit, OnGatewayConnection {\n\t@WebSocketServer()\n\tserver!: Server;\n\n\tconstructor(\n\t\tprivate readonly configService: ConfigService,\n\t\tprivate readonly tldrawWsService: TldrawWsService\n\t) {}\n\n\tpublic handleConnection(client: WebSocket, request: Request): void {\n\t\tconst docName = this.getDocNameFromRequest(request);\n\n\t\tif (docName.length > 0 && this.configService.get('FEATURE_TLDRAW_ENABLED')) {\n\t\t\tthis.tldrawWsService.setupWSConnection(client, docName);\n\t\t} else {\n\t\t\tclient.close(\n\t\t\t\tWsCloseCodeEnum.WS_CLIENT_BAD_REQUEST_CODE,\n\t\t\t\t'Document name is mandatory in url or Tldraw Tool is turned off.'\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic afterInit(): void {\n\t\tthis.tldrawWsService.setPersistence({\n\t\t\tbindState: async (docName, ydoc) => {\n\t\t\t\tawait this.tldrawWsService.updateDocument(docName, ydoc);\n\t\t\t},\n\t\t\twriteState: async (docName) => {\n\t\t\t\t// This is called when all connections to the document are closed.\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access\n\t\t\t\tawait this.tldrawWsService.flushDocument(docName);\n\t\t\t},\n\t\t});\n\t}\n\n\tprivate getDocNameFromRequest(request: Request): string {\n\t\tconst urlStripped = request.url.replace(/(\\/)|(tldraw-server)/g, '');\n\t\treturn urlStripped;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TldrawWsFactory.html":{"url":"classes/TldrawWsFactory.html","title":"class - TldrawWsFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TldrawWsFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/tldraw.ws.factory.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n createWebsocket\n \n \n Static\n createWsSharedDocDo\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n createWebsocket\n \n \n \n \n \n \n \n createWebsocket(readyState: number)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/tldraw.ws.factory.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n readyState\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : WebSocket\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n createWsSharedDocDo\n \n \n \n \n \n \n \n createWsSharedDocDo()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/tldraw.ws.factory.ts:5\n \n \n\n\n \n \n\n \n Returns : WsSharedDocDo\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { WsSharedDocDo } from '@modules/tldraw/domain/ws-shared-doc.do';\nimport WebSocket from 'ws';\n\nexport class TldrawWsFactory {\n\tpublic static createWsSharedDocDo(): WsSharedDocDo {\n\t\treturn { conns: new Map(), destroy: () => {} } as WsSharedDocDo;\n\t}\n\n\tpublic static createWebsocket(readyState: number): WebSocket {\n\t\treturn { readyState, close: () => {} } as WebSocket;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TldrawWsModule.html":{"url":"modules/TldrawWsModule.html","title":"module - TldrawWsModule","body":"\n \n\n\n\n\n Modules\n TldrawWsModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_TldrawWsModule\n\n\n\ncluster_TldrawWsModule_imports\n\n\n\ncluster_TldrawWsModule_providers\n\n\n\n\nCoreModule\n\nCoreModule\n\n\n\nTldrawWsModule\n\nTldrawWsModule\n\nTldrawWsModule -->\n\nCoreModule->TldrawWsModule\n\n\n\n\n\nLogger\n\nLogger\n\nTldrawWsModule -->\n\nLogger->TldrawWsModule\n\n\n\n\n\nTldrawBoardRepo\n\nTldrawBoardRepo\n\nTldrawWsModule -->\n\nTldrawBoardRepo->TldrawWsModule\n\n\n\n\n\nTldrawWsService\n\nTldrawWsService\n\nTldrawWsModule -->\n\nTldrawWsService->TldrawWsModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tldraw/tldraw-ws.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n Logger\n \n \n TldrawBoardRepo\n \n \n TldrawWsService\n \n \n \n \n Imports\n \n \n CoreModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { createConfigModuleOptions } from '@src/config';\nimport { CoreModule } from '@src/core';\nimport { Logger } from '@src/core/logger';\nimport { TldrawBoardRepo } from './repo';\nimport { TldrawWsService } from './service';\nimport { TldrawWs } from './controller';\nimport { config } from './config';\n\n@Module({\n\timports: [CoreModule, ConfigModule.forRoot(createConfigModuleOptions(config))],\n\tproviders: [Logger, TldrawWs, TldrawWsService, TldrawBoardRepo],\n})\nexport class TldrawWsModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TldrawWsService.html":{"url":"injectables/TldrawWsService.html","title":"injectable - TldrawWsService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TldrawWsService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/service/tldraw.ws.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Public\n docs\n \n \n Public\n persistence\n \n \n Public\n pingTimeout\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n closeConn\n \n \n Public\n Async\n flushDocument\n \n \n getYDoc\n \n \n Public\n messageHandler\n \n \n Public\n send\n \n \n Public\n setPersistence\n \n \n Public\n setupWSConnection\n \n \n Public\n Async\n updateDocument\n \n \n Public\n updateHandler\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(configService: ConfigService, tldrawBoardRepo: TldrawBoardRepo)\n \n \n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n tldrawBoardRepo\n \n \n TldrawBoardRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n closeConn\n \n \n \n \n \n \n \n closeConn(doc: WsSharedDocDo, ws: WebSocket)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n doc\n \n WsSharedDocDo\n \n\n \n No\n \n\n\n \n \n ws\n \n WebSocket\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n flushDocument\n \n \n \n \n \n \n \n flushDocument(docName: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:206\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n docName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getYDoc\n \n \n \n \n \n \ngetYDoc(docName: string, gc)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:102\n \n \n\n\n \n \n Gets a Y.Doc by name, whether in memory or on disk\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n Description\n \n \n \n \n docName\n \n string\n \n\n \n No\n \n\n \n \n\n \n \nthe name of the Y.Doc to find or create\n\n\n \n \n \n gc\n \n \n\n \n No\n \n\n \n true\n \n\n \n \nwhether to allow gc on the doc (applies only when created)\n\n\n \n \n \n \n \n \n Returns : WsSharedDocDo\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n messageHandler\n \n \n \n \n \n \n \n messageHandler(conn: WebSocket, doc: WsSharedDocDo, message: Uint8Array)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:113\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n conn\n \n WebSocket\n \n\n \n No\n \n\n\n \n \n doc\n \n WsSharedDocDo\n \n\n \n No\n \n\n\n \n \n message\n \n Uint8Array\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n send\n \n \n \n \n \n \n \n send(doc: WsSharedDocDo, conn: WebSocket, message: Uint8Array)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n doc\n \n WsSharedDocDo\n \n\n \n No\n \n\n\n \n \n conn\n \n WebSocket\n \n\n \n No\n \n\n\n \n \n message\n \n Uint8Array\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n setPersistence\n \n \n \n \n \n \n \n setPersistence(persistence_: Persitence)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n persistence_\n \n Persitence\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n setupWSConnection\n \n \n \n \n \n \n \n setupWSConnection(ws: WebSocket, docName: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:146\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n ws\n \n WebSocket\n \n\n \n No\n \n\n \n \n\n \n \n docName\n \n string\n \n\n \n No\n \n\n \n 'GLOBAL'\n \n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n updateDocument\n \n \n \n \n \n \n \n updateDocument(docName: string, ydoc: WsSharedDocDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:202\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n docName\n \n string\n \n\n \n No\n \n\n\n \n \n ydoc\n \n WsSharedDocDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n updateHandler\n \n \n \n \n \n \n \n updateHandler(update: Uint8Array, origin, doc: WsSharedDocDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:85\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n update\n \n Uint8Array\n \n\n \n No\n \n\n\n \n \n origin\n \n \n\n \n No\n \n\n\n \n \n doc\n \n WsSharedDocDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Public\n docs\n \n \n \n \n \n \n Default value : new Map()\n \n \n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n persistence\n \n \n \n \n \n \n Type : Persitence | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n pingTimeout\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:14\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport WebSocket from 'ws';\nimport { applyAwarenessUpdate, encodeAwarenessUpdate, removeAwarenessStates } from 'y-protocols/awareness';\nimport { encoding, decoding, map } from 'lib0';\nimport { readSyncMessage, writeSyncStep1, writeUpdate } from 'y-protocols/sync';\nimport { Persitence, WSConnectionState, WSMessageType } from '../types';\nimport { TldrawConfig } from '../config';\nimport { WsSharedDocDo } from '../domain/ws-shared-doc.do';\nimport { TldrawBoardRepo } from '../repo';\n\n@Injectable()\nexport class TldrawWsService {\n\tpublic pingTimeout: number;\n\n\tpublic persistence: Persitence | null = null;\n\n\tpublic docs = new Map();\n\n\tconstructor(\n\t\tprivate readonly configService: ConfigService,\n\t\tprivate readonly tldrawBoardRepo: TldrawBoardRepo\n\t) {\n\t\tthis.pingTimeout = this.configService.get('TLDRAW_PING_TIMEOUT');\n\t}\n\n\tpublic setPersistence(persistence_: Persitence): void {\n\t\tthis.persistence = persistence_;\n\t}\n\n\t/**\n\t * @param {WsSharedDocDo} doc\n\t * @param {WebSocket} ws\n\t */\n\tpublic closeConn(doc: WsSharedDocDo, ws: WebSocket): void {\n\t\tif (doc.conns.has(ws)) {\n\t\t\tconst controlledIds = doc.conns.get(ws) as Set;\n\t\t\tdoc.conns.delete(ws);\n\t\t\tremoveAwarenessStates(doc.awareness, Array.from(controlledIds), null);\n\t\t\tif (doc.conns.size === 0 && this.persistence !== null) {\n\t\t\t\t// if persisted, we store state and destroy ydocument\n\t\t\t\tthis.persistence\n\t\t\t\t\t.writeState(doc.name, doc)\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tdoc.destroy();\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t})\n\t\t\t\t\t.catch(() => {});\n\t\t\t\tthis.docs.delete(doc.name);\n\t\t\t}\n\t\t}\n\n\t\ttry {\n\t\t\tws.close();\n\t\t} catch (err) {\n\t\t\tthrow new Error('Cannot close the connection. It is possible that connection is already closed.');\n\t\t}\n\t}\n\n\t/**\n\t * @param {WsSharedDocDo} doc\n\t * @param {WebSocket} conn\n\t * @param {Uint8Array} message\n\t */\n\tpublic send(doc: WsSharedDocDo, conn: WebSocket, message: Uint8Array): void {\n\t\tif (conn.readyState !== WSConnectionState.CONNECTING && conn.readyState !== WSConnectionState.OPEN) {\n\t\t\tthis.closeConn(doc, conn);\n\t\t}\n\t\ttry {\n\t\t\tconn.send(message, (err: Error | undefined) => {\n\t\t\t\tif (err != null) {\n\t\t\t\t\tthis.closeConn(doc, conn);\n\t\t\t\t}\n\t\t\t});\n\t\t} catch (e) {\n\t\t\tthis.closeConn(doc, conn);\n\t\t}\n\t}\n\n\t/**\n\t * @param {Uint8Array} update\n\t * @param {any} origin\n\t * @param {WsSharedDocDo} doc\n\t */\n\tpublic updateHandler(update: Uint8Array, origin, doc: WsSharedDocDo): void {\n\t\tconst encoder = encoding.createEncoder();\n\t\tencoding.writeVarUint(encoder, WSMessageType.SYNC);\n\t\twriteUpdate(encoder, update);\n\t\tconst message = encoding.toUint8Array(encoder);\n\t\tdoc.conns.forEach((_, conn) => {\n\t\t\tthis.send(doc, conn, message);\n\t\t});\n\t}\n\n\t/**\n\t * Gets a Y.Doc by name, whether in memory or on disk\n\t *\n\t * @param {string} docName - the name of the Y.Doc to find or create\n\t * @param {boolean} gc - whether to allow gc on the doc (applies only when created)\n\t * @return {WsSharedDocDo}\n\t */\n\tgetYDoc(docName: string, gc = true): WsSharedDocDo {\n\t\treturn map.setIfUndefined(this.docs, docName, () => {\n\t\t\tconst doc = new WsSharedDocDo(docName, this, gc);\n\t\t\tif (this.persistence !== null) {\n\t\t\t\tthis.persistence.bindState(docName, doc).catch(() => {});\n\t\t\t}\n\t\t\tthis.docs.set(docName, doc);\n\t\t\treturn doc;\n\t\t});\n\t}\n\n\tpublic messageHandler(conn: WebSocket, doc: WsSharedDocDo, message: Uint8Array): void {\n\t\ttry {\n\t\t\tconst encoder = encoding.createEncoder();\n\t\t\tconst decoder = decoding.createDecoder(message);\n\t\t\tconst messageType = decoding.readVarUint(decoder);\n\t\t\tswitch (messageType) {\n\t\t\t\tcase WSMessageType.SYNC:\n\t\t\t\t\tencoding.writeVarUint(encoder, WSMessageType.SYNC);\n\t\t\t\t\treadSyncMessage(decoder, encoder, doc, conn);\n\n\t\t\t\t\t// If the `encoder` only contains the type of reply message and no\n\t\t\t\t\t// message, there is no need to send the message. When `encoder` only\n\t\t\t\t\t// contains the type of reply, its length is 1.\n\t\t\t\t\tif (encoding.length(encoder) > 1) {\n\t\t\t\t\t\tthis.send(doc, conn, encoding.toUint8Array(encoder));\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase WSMessageType.AWARENESS: {\n\t\t\t\t\tapplyAwarenessUpdate(doc.awareness, decoding.readVarUint8Array(decoder), conn);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tdoc.emit('error', [err]);\n\t\t}\n\t}\n\n\t/**\n\t * @param {WebSocket} ws\n\t * @param {string} docName\n\t */\n\tpublic setupWSConnection(ws: WebSocket, docName = 'GLOBAL'): void {\n\t\tws.binaryType = 'arraybuffer';\n\t\t// get doc, initialize if it does not exist yet\n\t\tconst doc = this.getYDoc(docName, true);\n\t\tdoc.conns.set(ws, new Set());\n\n\t\t// listen and reply to events\n\t\tws.on('message', (message: ArrayBufferLike) => {\n\t\t\tthis.messageHandler(ws, doc, new Uint8Array(message));\n\t\t});\n\n\t\t// Check if connection is still alive\n\t\tlet pongReceived = true;\n\t\tconst pingInterval = setInterval(() => {\n\t\t\tconst hasConn = doc.conns.has(ws);\n\n\t\t\tif (pongReceived) {\n\t\t\t\tif (!hasConn) return;\n\t\t\t\tpongReceived = false;\n\n\t\t\t\ttry {\n\t\t\t\t\tws.ping();\n\t\t\t\t} catch (e) {\n\t\t\t\t\tthis.closeConn(doc, ws);\n\t\t\t\t\tclearInterval(pingInterval);\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (hasConn) {\n\t\t\t\tthis.closeConn(doc, ws);\n\t\t\t}\n\n\t\t\tclearInterval(pingInterval);\n\t\t}, this.pingTimeout);\n\t\tws.on('close', () => {\n\t\t\tthis.closeConn(doc, ws);\n\t\t\tclearInterval(pingInterval);\n\t\t});\n\t\tws.on('pong', () => {\n\t\t\tpongReceived = true;\n\t\t});\n\t\t{\n\t\t\tconst encoder = encoding.createEncoder();\n\t\t\tencoding.writeVarUint(encoder, WSMessageType.SYNC);\n\t\t\twriteSyncStep1(encoder, doc);\n\t\t\tthis.send(doc, ws, encoding.toUint8Array(encoder));\n\t\t\tconst awarenessStates = doc.awareness.getStates();\n\t\t\tif (awarenessStates.size > 0) {\n\t\t\t\tencoding.writeVarUint(encoder, WSMessageType.AWARENESS);\n\t\t\t\tencoding.writeVarUint8Array(encoder, encodeAwarenessUpdate(doc.awareness, Array.from(awarenessStates.keys())));\n\t\t\t\tthis.send(doc, ws, encoding.toUint8Array(encoder));\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic async updateDocument(docName: string, ydoc: WsSharedDocDo): Promise {\n\t\tawait this.tldrawBoardRepo.updateDocument(docName, ydoc);\n\t}\n\n\tpublic async flushDocument(docName: string): Promise {\n\t\tawait this.tldrawBoardRepo.flushDocument(docName);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TldrawWsTestModule.html":{"url":"modules/TldrawWsTestModule.html","title":"module - TldrawWsTestModule","body":"\n \n\n\n\n\n Modules\n TldrawWsTestModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_TldrawWsTestModule\n\n\n\ncluster_TldrawWsTestModule_imports\n\n\n\ncluster_TldrawWsTestModule_providers\n\n\n\n\nCoreModule\n\nCoreModule\n\n\n\nTldrawWsTestModule\n\nTldrawWsTestModule\n\nTldrawWsTestModule -->\n\nCoreModule->TldrawWsTestModule\n\n\n\n\n\nTldrawBoardRepo\n\nTldrawBoardRepo\n\nTldrawWsTestModule -->\n\nTldrawBoardRepo->TldrawWsTestModule\n\n\n\n\n\nTldrawWsService\n\nTldrawWsService\n\nTldrawWsTestModule -->\n\nTldrawWsService->TldrawWsTestModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tldraw/tldraw-ws-test.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n TldrawBoardRepo\n \n \n TldrawWsService\n \n \n \n \n Imports\n \n \n CoreModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options?: MongoDatabaseModuleOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/tldraw-ws-test.module.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n MongoDatabaseModuleOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { DynamicModule, Module } from '@nestjs/common';\nimport { MongoMemoryDatabaseModule, MongoDatabaseModuleOptions } from '@infra/database';\nimport { CoreModule } from '@src/core';\nimport { ConfigModule } from '@nestjs/config';\nimport { createConfigModuleOptions } from '@src/config';\nimport { TldrawBoardRepo } from './repo';\nimport { TldrawWsService } from './service';\nimport { config } from './config';\nimport { TldrawWs } from './controller';\n\nconst imports = [CoreModule, ConfigModule.forRoot(createConfigModuleOptions(config))];\nconst providers = [TldrawWs, TldrawBoardRepo, TldrawWsService];\n@Module({\n\timports,\n\tproviders,\n})\nexport class TldrawWsTestModule {\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: TldrawWsTestModule,\n\t\t\timports: [...imports, MongoMemoryDatabaseModule.forRoot({ ...options })],\n\t\t\tproviders,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ToggleUserLoginMigrationUc.html":{"url":"injectables/ToggleUserLoginMigrationUc.html","title":"injectable - ToggleUserLoginMigrationUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ToggleUserLoginMigrationUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/uc/toggle-user-login-migration.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n checkPermission\n \n \n Async\n setMigrationMandatory\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userLoginMigrationService: UserLoginMigrationService, authorizationService: AuthorizationService, schoolService: LegacySchoolService, logger: Logger)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/uc/toggle-user-login-migration.uc.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigrationService\n \n \n UserLoginMigrationService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n checkPermission\n \n \n \n \n \n \n \n checkPermission(userId: string, schoolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/uc/toggle-user-login-migration.uc.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n schoolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n setMigrationMandatory\n \n \n \n \n \n \n \n setMigrationMandatory(userId: EntityId, schoolId: EntityId, mandatory: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/uc/toggle-user-login-migration.uc.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n mandatory\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContext, AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { LegacySchoolService } from '@modules/legacy-school';\nimport { Injectable } from '@nestjs/common';\nimport { LegacySchoolDo, UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { Logger } from '@src/core/logger';\nimport { UserLoginMigrationMandatoryLoggable, UserLoginMigrationNotFoundLoggableException } from '../loggable';\nimport { UserLoginMigrationService } from '../service';\n\n@Injectable()\nexport class ToggleUserLoginMigrationUc {\n\tconstructor(\n\t\tprivate readonly userLoginMigrationService: UserLoginMigrationService,\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly schoolService: LegacySchoolService,\n\t\tprivate readonly logger: Logger\n\t) {}\n\n\tasync setMigrationMandatory(userId: EntityId, schoolId: EntityId, mandatory: boolean): Promise {\n\t\tawait this.checkPermission(userId, schoolId);\n\n\t\tlet userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationService.findMigrationBySchool(\n\t\t\tschoolId\n\t\t);\n\n\t\tif (!userLoginMigration) {\n\t\t\tthrow new UserLoginMigrationNotFoundLoggableException(schoolId);\n\t\t}\n\n\t\tuserLoginMigration = await this.userLoginMigrationService.setMigrationMandatory(userLoginMigration, mandatory);\n\n\t\tthis.logger.debug(new UserLoginMigrationMandatoryLoggable(userId, userLoginMigration.id, mandatory));\n\n\t\treturn userLoginMigration;\n\t}\n\n\tprivate async checkPermission(userId: string, schoolId: string): Promise {\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(userId);\n\t\tconst school: LegacySchoolDo = await this.schoolService.getSchoolById(schoolId);\n\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.write([Permission.USER_LOGIN_MIGRATION_ADMIN]);\n\t\tthis.authorizationService.checkPermission(user, school, context);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TokenGenerator.html":{"url":"injectables/TokenGenerator.html","title":"injectable - TokenGenerator","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TokenGenerator\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/service/token-generator.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n generateShareToken\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n generateShareToken\n \n \n \n \n \n \ngenerateShareToken()\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/service/token-generator.service.ts:7\n \n \n\n\n \n \n\n \n Returns : ShareTokenString\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { nanoid } from 'nanoid';\nimport { ShareTokenString } from '../domainobject/share-token.do';\n\n@Injectable()\nexport class TokenGenerator {\n\tgenerateShareToken(): ShareTokenString {\n\t\tconst token = nanoid(12);\n\t\treturn token;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TokenRequestLoggableException.html":{"url":"classes/TokenRequestLoggableException.html","title":"class - TokenRequestLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TokenRequestLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/loggable/token-request-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n AxiosErrorLoggable\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(error: AxiosError)\n \n \n \n \n Defined in apps/server/src/modules/oauth/loggable/token-request-loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n \n AxiosError\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Inherited from AxiosErrorLoggable\n\n \n \n \n \n Defined in AxiosErrorLoggable:12\n\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { AxiosErrorLoggable } from '@src/core/error/loggable';\nimport { AxiosError } from 'axios';\n\nexport class TokenRequestLoggableException extends AxiosErrorLoggable {\n\tconstructor(error: AxiosError) {\n\t\tsuper(error, 'OAUTH_TOKEN_REQUEST_ERROR');\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TokenRequestMapper.html":{"url":"classes/TokenRequestMapper.html","title":"class - TokenRequestMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TokenRequestMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/mapper/token-request.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n createAuthenticationCodeGrantTokenRequestPayload\n \n \n Static\n mapTokenResponseToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n createAuthenticationCodeGrantTokenRequestPayload\n \n \n \n \n \n \n \n createAuthenticationCodeGrantTokenRequestPayload(clientId: string, decryptedClientSecret: string, code: string, redirectUri: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/mapper/token-request.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n clientId\n \n string\n \n\n \n No\n \n\n\n \n \n decryptedClientSecret\n \n string\n \n\n \n No\n \n\n\n \n \n code\n \n string\n \n\n \n No\n \n\n\n \n \n redirectUri\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AuthenticationCodeGrantTokenRequest\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapTokenResponseToDto\n \n \n \n \n \n \n \n mapTokenResponseToDto(response: OauthTokenResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/mapper/token-request.mapper.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n OauthTokenResponse\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : OAuthTokenDto\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { OAuthTokenDto } from '../interface';\nimport { OAuthGrantType } from '../interface/oauth-grant-type.enum';\nimport { AuthenticationCodeGrantTokenRequest, OauthTokenResponse } from '../service/dto';\n\nexport class TokenRequestMapper {\n\tstatic createAuthenticationCodeGrantTokenRequestPayload(\n\t\tclientId: string,\n\t\tdecryptedClientSecret: string,\n\t\tcode: string,\n\t\tredirectUri: string\n\t): AuthenticationCodeGrantTokenRequest {\n\t\treturn new AuthenticationCodeGrantTokenRequest({\n\t\t\tclient_id: clientId,\n\t\t\tclient_secret: decryptedClientSecret,\n\t\t\tredirect_uri: redirectUri,\n\t\t\tgrant_type: OAuthGrantType.AUTHORIZATION_CODE_GRANT,\n\t\t\tcode,\n\t\t});\n\t}\n\n\tstatic mapTokenResponseToDto(response: OauthTokenResponse): OAuthTokenDto {\n\t\treturn new OAuthTokenDto({\n\t\t\tidToken: response.id_token,\n\t\t\trefreshToken: response.refresh_token,\n\t\t\taccessToken: response.access_token,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TooManyPseudonymsLoggableException.html":{"url":"classes/TooManyPseudonymsLoggableException.html","title":"class - TooManyPseudonymsLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TooManyPseudonymsLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/loggable/too-many-pseudonyms.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(pseudonym: string)\n \n \n \n \n Defined in apps/server/src/modules/pseudonym/loggable/too-many-pseudonyms.loggable-exception.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonym\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/loggable/too-many-pseudonyms.loggable-exception.ts:18\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { BusinessError } from '@shared/common';\nimport { Loggable } from '@src/core/logger/interfaces';\nimport { ErrorLogMessage, LogMessage, ValidationErrorLogMessage } from '@src/core/logger/types';\n\nexport class TooManyPseudonymsLoggableException extends BusinessError implements Loggable {\n\tconstructor(private readonly pseudonym: string) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'PSEUDONYMS_TOO_MANY_PSEUDONYMS_FOUND',\n\t\t\t\ttitle: 'Too many pseudonyms where found.',\n\t\t\t\tdefaultMessage: 'Too many pseudonyms where found.',\n\t\t\t},\n\t\t\tHttpStatus.BAD_REQUEST\n\t\t);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'PSEUDONYMS_TOO_MANY_PSEUDONYMS_FOUND',\n\t\t\tmessage: 'Too many pseudonyms where found.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tpseudonym: this.pseudonym,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ToolApiModule.html":{"url":"modules/ToolApiModule.html","title":"module - ToolApiModule","body":"\n \n\n\n\n\n Modules\n ToolApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ToolApiModule\n\n\n\ncluster_ToolApiModule_imports\n\n\n\ncluster_ToolApiModule_providers\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nToolApiModule\n\nToolApiModule\n\nToolApiModule -->\n\nAuthorizationModule->ToolApiModule\n\n\n\n\n\nBoardModule\n\nBoardModule\n\nToolApiModule -->\n\nBoardModule->ToolApiModule\n\n\n\n\n\nCommonToolModule\n\nCommonToolModule\n\nToolApiModule -->\n\nCommonToolModule->ToolApiModule\n\n\n\n\n\nLearnroomModule\n\nLearnroomModule\n\nToolApiModule -->\n\nLearnroomModule->ToolApiModule\n\n\n\n\n\nLegacySchoolModule\n\nLegacySchoolModule\n\nToolApiModule -->\n\nLegacySchoolModule->ToolApiModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nToolApiModule -->\n\nLoggerModule->ToolApiModule\n\n\n\n\n\nToolConfigModule\n\nToolConfigModule\n\nToolApiModule -->\n\nToolConfigModule->ToolApiModule\n\n\n\n\n\nToolModule\n\nToolModule\n\nToolApiModule -->\n\nToolModule->ToolApiModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nToolApiModule -->\n\nUserModule->ToolApiModule\n\n\n\n\n\nContextExternalToolUc\n\nContextExternalToolUc\n\nToolApiModule -->\n\nContextExternalToolUc->ToolApiModule\n\n\n\n\n\nExternalToolConfigurationService\n\nExternalToolConfigurationService\n\nToolApiModule -->\n\nExternalToolConfigurationService->ToolApiModule\n\n\n\n\n\nExternalToolConfigurationUc\n\nExternalToolConfigurationUc\n\nToolApiModule -->\n\nExternalToolConfigurationUc->ToolApiModule\n\n\n\n\n\nExternalToolRequestMapper\n\nExternalToolRequestMapper\n\nToolApiModule -->\n\nExternalToolRequestMapper->ToolApiModule\n\n\n\n\n\nExternalToolResponseMapper\n\nExternalToolResponseMapper\n\nToolApiModule -->\n\nExternalToolResponseMapper->ToolApiModule\n\n\n\n\n\nExternalToolUc\n\nExternalToolUc\n\nToolApiModule -->\n\nExternalToolUc->ToolApiModule\n\n\n\n\n\nLtiToolRepo\n\nLtiToolRepo\n\nToolApiModule -->\n\nLtiToolRepo->ToolApiModule\n\n\n\n\n\nSchoolExternalToolRequestMapper\n\nSchoolExternalToolRequestMapper\n\nToolApiModule -->\n\nSchoolExternalToolRequestMapper->ToolApiModule\n\n\n\n\n\nSchoolExternalToolResponseMapper\n\nSchoolExternalToolResponseMapper\n\nToolApiModule -->\n\nSchoolExternalToolResponseMapper->ToolApiModule\n\n\n\n\n\nSchoolExternalToolUc\n\nSchoolExternalToolUc\n\nToolApiModule -->\n\nSchoolExternalToolUc->ToolApiModule\n\n\n\n\n\nToolLaunchUc\n\nToolLaunchUc\n\nToolApiModule -->\n\nToolLaunchUc->ToolApiModule\n\n\n\n\n\nToolPermissionHelper\n\nToolPermissionHelper\n\nToolApiModule -->\n\nToolPermissionHelper->ToolApiModule\n\n\n\n\n\nToolReferenceUc\n\nToolReferenceUc\n\nToolApiModule -->\n\nToolReferenceUc->ToolApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tool/tool-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ContextExternalToolUc\n \n \n ExternalToolConfigurationService\n \n \n ExternalToolConfigurationUc\n \n \n ExternalToolRequestMapper\n \n \n ExternalToolResponseMapper\n \n \n ExternalToolUc\n \n \n LtiToolRepo\n \n \n SchoolExternalToolRequestMapper\n \n \n SchoolExternalToolResponseMapper\n \n \n SchoolExternalToolUc\n \n \n ToolLaunchUc\n \n \n ToolPermissionHelper\n \n \n ToolReferenceUc\n \n \n \n \n Controllers\n \n \n ToolLaunchController\n \n \n ToolConfigurationController\n \n \n ToolSchoolController\n \n \n ToolContextController\n \n \n ToolReferenceController\n \n \n ToolController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n BoardModule\n \n \n CommonToolModule\n \n \n LearnroomModule\n \n \n LegacySchoolModule\n \n \n LoggerModule\n \n \n ToolConfigModule\n \n \n ToolModule\n \n \n UserModule\n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationModule } from '@modules/authorization';\nimport { LegacySchoolModule } from '@modules/legacy-school';\nimport { UserModule } from '@modules/user';\nimport { Module } from '@nestjs/common';\nimport { LtiToolRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { BoardModule } from '../board';\nimport { LearnroomModule } from '../learnroom';\nimport { CommonToolModule } from './common';\nimport { ToolPermissionHelper } from './common/uc/tool-permission-helper';\nimport { ToolContextController } from './context-external-tool/controller';\nimport { ToolReferenceController } from './context-external-tool/controller/tool-reference.controller';\nimport { ContextExternalToolUc, ToolReferenceUc } from './context-external-tool/uc';\nimport { ToolConfigurationController, ToolController } from './external-tool/controller';\nimport { ExternalToolRequestMapper, ExternalToolResponseMapper } from './external-tool/mapper';\nimport { ExternalToolConfigurationService } from './external-tool/service';\nimport { ExternalToolConfigurationUc, ExternalToolUc } from './external-tool/uc';\nimport { ToolSchoolController } from './school-external-tool/controller';\nimport { SchoolExternalToolRequestMapper, SchoolExternalToolResponseMapper } from './school-external-tool/mapper';\nimport { SchoolExternalToolUc } from './school-external-tool/uc';\nimport { ToolConfigModule } from './tool-config.module';\nimport { ToolLaunchController } from './tool-launch/controller/tool-launch.controller';\nimport { ToolLaunchUc } from './tool-launch/uc';\nimport { ToolModule } from './tool.module';\n\n@Module({\n\timports: [\n\t\tToolModule,\n\t\tCommonToolModule,\n\t\tUserModule,\n\t\tAuthorizationModule,\n\t\tLoggerModule,\n\t\tLegacySchoolModule,\n\t\tToolConfigModule,\n\t\tLearnroomModule,\n\t\tBoardModule,\n\t],\n\tcontrollers: [\n\t\tToolLaunchController,\n\t\tToolConfigurationController,\n\t\tToolSchoolController,\n\t\tToolContextController,\n\t\tToolReferenceController,\n\t\tToolController,\n\t],\n\tproviders: [\n\t\tLtiToolRepo,\n\t\tExternalToolUc,\n\t\tExternalToolConfigurationUc,\n\t\tExternalToolConfigurationService,\n\t\tExternalToolRequestMapper,\n\t\tExternalToolResponseMapper,\n\t\tSchoolExternalToolUc,\n\t\tSchoolExternalToolResponseMapper,\n\t\tSchoolExternalToolRequestMapper,\n\t\tContextExternalToolUc,\n\t\tToolLaunchUc,\n\t\tToolReferenceUc,\n\t\tToolPermissionHelper,\n\t],\n})\nexport class ToolApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ToolConfigModule.html":{"url":"modules/ToolConfigModule.html","title":"module - ToolConfigModule","body":"\n \n\n\n\n\n Modules\n ToolConfigModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tool/tool-config.module.ts\n \n\n\n\n\n\n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport ToolConfiguration, { ToolFeatures } from './tool-config';\n\n@Module({\n\tproviders: [\n\t\t{\n\t\t\tprovide: ToolFeatures,\n\t\t\tuseValue: ToolConfiguration.toolFeatures,\n\t\t},\n\t],\n\texports: [ToolFeatures],\n})\nexport class ToolConfigModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolConfiguration.html":{"url":"classes/ToolConfiguration.html","title":"class - ToolConfiguration","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolConfiguration\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-config.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n toolFeatures\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n toolFeatures\n \n \n \n \n \n \n Type : IToolFeatures\n\n \n \n \n \n Default value : {\n\t\tctlToolsTabEnabled: Configuration.get('FEATURE_CTL_TOOLS_TAB_ENABLED') as boolean,\n\t\tltiToolsTabEnabled: Configuration.get('FEATURE_LTI_TOOLS_TAB_ENABLED') as boolean,\n\t\tcontextConfigurationEnabled: Configuration.get('FEATURE_CTL_CONTEXT_CONFIGURATION_ENABLED') as boolean,\n\t\t// TODO N21-1337 refactor after feature flag is removed\n\t\ttoolStatusWithoutVersions: Configuration.get('FEATURE_COMPUTE_TOOL_STATUS_WITHOUT_VERSIONS_ENABLED') as boolean,\n\t\tmaxExternalToolLogoSizeInBytes: Configuration.get('CTL_TOOLS__EXTERNAL_TOOL_MAX_LOGO_SIZE_IN_BYTES') as number,\n\t\tbackEndUrl: Configuration.get('PUBLIC_BACKEND_URL') as string,\n\t}\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-config.ts:16\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\n\nexport const ToolFeatures = Symbol('ToolFeatures');\n\nexport interface IToolFeatures {\n\tctlToolsTabEnabled: boolean;\n\tltiToolsTabEnabled: boolean;\n\tcontextConfigurationEnabled: boolean;\n\t// TODO N21-1337 refactor after feature flag is removed\n\ttoolStatusWithoutVersions: boolean;\n\tmaxExternalToolLogoSizeInBytes: number;\n\tbackEndUrl: string;\n}\n\nexport default class ToolConfiguration {\n\tstatic toolFeatures: IToolFeatures = {\n\t\tctlToolsTabEnabled: Configuration.get('FEATURE_CTL_TOOLS_TAB_ENABLED') as boolean,\n\t\tltiToolsTabEnabled: Configuration.get('FEATURE_LTI_TOOLS_TAB_ENABLED') as boolean,\n\t\tcontextConfigurationEnabled: Configuration.get('FEATURE_CTL_CONTEXT_CONFIGURATION_ENABLED') as boolean,\n\t\t// TODO N21-1337 refactor after feature flag is removed\n\t\ttoolStatusWithoutVersions: Configuration.get('FEATURE_COMPUTE_TOOL_STATUS_WITHOUT_VERSIONS_ENABLED') as boolean,\n\t\tmaxExternalToolLogoSizeInBytes: Configuration.get('CTL_TOOLS__EXTERNAL_TOOL_MAX_LOGO_SIZE_IN_BYTES') as number,\n\t\tbackEndUrl: Configuration.get('PUBLIC_BACKEND_URL') as string,\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/ToolConfigurationController.html":{"url":"controllers/ToolConfigurationController.html","title":"controller - ToolConfigurationController","body":"\n \n\n\n\n\n\n\n Controllers\n ToolConfigurationController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/tool-configuration.controller.ts\n \n\n \n Prefix\n \n \n tools\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getAvailableToolsForContext\n \n \n \n \n \n \n Public\n Async\n getAvailableToolsForSchool\n \n \n \n \n \n \n \n Public\n Async\n getConfigurationTemplateForContext\n \n \n \n \n \n \n \n Public\n Async\n getConfigurationTemplateForSchool\n \n \n \n \n \n \n Public\n Async\n getToolContextTypes\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getAvailableToolsForContext\n \n \n \n \n \n \n \n getAvailableToolsForContext(currentUser: ICurrentUser, params: ContextRefParams)\n \n \n\n \n \n Decorators : \n \n @Get(':contextType/:contextId/available-tools')@ApiForbiddenResponse()@ApiOperation({summary: 'Lists all available tools that can be added for a given context'})@ApiOkResponse({description: 'List of available tools for a context', type: ContextExternalToolConfigurationTemplateListResponse})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool-configuration.controller.ts:80\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ContextRefParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getAvailableToolsForSchool\n \n \n \n \n \n \n \n getAvailableToolsForSchool(currentUser: ICurrentUser, params: SchoolIdParams)\n \n \n\n \n \n Decorators : \n \n @Get('school/:schoolId/available-tools')@ApiForbiddenResponse()@ApiOperation({summary: 'Lists all available tools that can be added for a given school'})@ApiOkResponse({description: 'List of available tools for a school', type: SchoolExternalToolConfigurationTemplateListResponse})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool-configuration.controller.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n SchoolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getConfigurationTemplateForContext\n \n \n \n \n \n \n \n getConfigurationTemplateForContext(currentUser: ICurrentUser, params: ContextExternalToolIdParams)\n \n \n\n \n \n Decorators : \n \n @Get('context-external-tools/:contextExternalToolId/configuration-template')@ApiUnauthorizedResponse()@ApiForbiddenResponse()@ApiOperation({summary: 'Get the latest configuration template for a Context External Tool'})@ApiFoundResponse({description: 'Configuration template for a Context External Tool', type: ContextExternalToolConfigurationTemplateResponse})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool-configuration.controller.ts:129\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ContextExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getConfigurationTemplateForSchool\n \n \n \n \n \n \n \n getConfigurationTemplateForSchool(currentUser: ICurrentUser, params: SchoolExternalToolIdParams)\n \n \n\n \n \n Decorators : \n \n @Get('school-external-tools/:schoolExternalToolId/configuration-template')@ApiUnauthorizedResponse()@ApiForbiddenResponse()@ApiOperation({summary: 'Get the latest configuration template for a School External Tool'})@ApiFoundResponse({description: 'Configuration template for a School External Tool', type: SchoolExternalToolConfigurationTemplateResponse})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool-configuration.controller.ts:106\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n SchoolExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getToolContextTypes\n \n \n \n \n \n \n \n getToolContextTypes(currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get('context-types')@ApiForbiddenResponse()@ApiOperation({summary: 'Lists all context types available in the SVS'})@ApiOkResponse({description: 'List of available context types', type: ToolContextTypesListResponse})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool-configuration.controller.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Controller, Get, Param } from '@nestjs/common';\nimport {\n\tApiForbiddenResponse,\n\tApiFoundResponse,\n\tApiOkResponse,\n\tApiOperation,\n\tApiTags,\n\tApiUnauthorizedResponse,\n} from '@nestjs/swagger';\nimport { ExternalTool } from '../domain';\nimport { ToolConfigurationMapper } from '../mapper/tool-configuration.mapper';\nimport { ContextExternalToolTemplateInfo, ExternalToolConfigurationUc } from '../uc';\nimport {\n\tContextExternalToolConfigurationTemplateListResponse,\n\tContextExternalToolConfigurationTemplateResponse,\n\tContextExternalToolIdParams,\n\tContextRefParams,\n\tSchoolExternalToolConfigurationTemplateListResponse,\n\tSchoolExternalToolConfigurationTemplateResponse,\n\tSchoolExternalToolIdParams,\n\tSchoolIdParams,\n\tToolContextTypesListResponse,\n} from './dto';\nimport { ToolContextType } from '../../common/enum';\n\n@ApiTags('Tool')\n@Authenticate('jwt')\n@Controller('tools')\nexport class ToolConfigurationController {\n\tconstructor(private readonly externalToolConfigurationUc: ExternalToolConfigurationUc) {}\n\n\t@Get('context-types')\n\t@ApiForbiddenResponse()\n\t@ApiOperation({ summary: 'Lists all context types available in the SVS' })\n\t@ApiOkResponse({\n\t\tdescription: 'List of available context types',\n\t\ttype: ToolContextTypesListResponse,\n\t})\n\tpublic async getToolContextTypes(@CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst toolContextTypes: ToolContextType[] = await this.externalToolConfigurationUc.getToolContextTypes(\n\t\t\tcurrentUser.userId\n\t\t);\n\n\t\tconst mapped: ToolContextTypesListResponse =\n\t\t\tToolConfigurationMapper.mapToToolContextTypesListResponse(toolContextTypes);\n\n\t\treturn mapped;\n\t}\n\n\t@Get('school/:schoolId/available-tools')\n\t@ApiForbiddenResponse()\n\t@ApiOperation({ summary: 'Lists all available tools that can be added for a given school' })\n\t@ApiOkResponse({\n\t\tdescription: 'List of available tools for a school',\n\t\ttype: SchoolExternalToolConfigurationTemplateListResponse,\n\t})\n\tpublic async getAvailableToolsForSchool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: SchoolIdParams\n\t): Promise {\n\t\tconst availableTools: ExternalTool[] = await this.externalToolConfigurationUc.getAvailableToolsForSchool(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.schoolId\n\t\t);\n\n\t\tconst mapped: SchoolExternalToolConfigurationTemplateListResponse =\n\t\t\tToolConfigurationMapper.mapToSchoolExternalToolConfigurationTemplateListResponse(availableTools);\n\n\t\treturn mapped;\n\t}\n\n\t@Get(':contextType/:contextId/available-tools')\n\t@ApiForbiddenResponse()\n\t@ApiOperation({ summary: 'Lists all available tools that can be added for a given context' })\n\t@ApiOkResponse({\n\t\tdescription: 'List of available tools for a context',\n\t\ttype: ContextExternalToolConfigurationTemplateListResponse,\n\t})\n\tpublic async getAvailableToolsForContext(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ContextRefParams\n\t): Promise {\n\t\tconst availableTools: ContextExternalToolTemplateInfo[] =\n\t\t\tawait this.externalToolConfigurationUc.getAvailableToolsForContext(\n\t\t\t\tcurrentUser.userId,\n\t\t\t\tcurrentUser.schoolId,\n\t\t\t\tparams.contextId,\n\t\t\t\tparams.contextType\n\t\t\t);\n\n\t\tconst mapped: ContextExternalToolConfigurationTemplateListResponse =\n\t\t\tToolConfigurationMapper.mapToContextExternalToolConfigurationTemplateListResponse(availableTools);\n\n\t\treturn mapped;\n\t}\n\n\t@Get('school-external-tools/:schoolExternalToolId/configuration-template')\n\t@ApiUnauthorizedResponse()\n\t@ApiForbiddenResponse()\n\t@ApiOperation({ summary: 'Get the latest configuration template for a School External Tool' })\n\t@ApiFoundResponse({\n\t\tdescription: 'Configuration template for a School External Tool',\n\t\ttype: SchoolExternalToolConfigurationTemplateResponse,\n\t})\n\tpublic async getConfigurationTemplateForSchool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: SchoolExternalToolIdParams\n\t): Promise {\n\t\tconst tool: ExternalTool = await this.externalToolConfigurationUc.getTemplateForSchoolExternalTool(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.schoolExternalToolId\n\t\t);\n\n\t\tconst mapped: SchoolExternalToolConfigurationTemplateResponse =\n\t\t\tToolConfigurationMapper.mapToSchoolExternalToolConfigurationTemplateResponse(tool);\n\n\t\treturn mapped;\n\t}\n\n\t@Get('context-external-tools/:contextExternalToolId/configuration-template')\n\t@ApiUnauthorizedResponse()\n\t@ApiForbiddenResponse()\n\t@ApiOperation({ summary: 'Get the latest configuration template for a Context External Tool' })\n\t@ApiFoundResponse({\n\t\tdescription: 'Configuration template for a Context External Tool',\n\t\ttype: ContextExternalToolConfigurationTemplateResponse,\n\t})\n\tpublic async getConfigurationTemplateForContext(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ContextExternalToolIdParams\n\t): Promise {\n\t\tconst tool: ContextExternalToolTemplateInfo =\n\t\t\tawait this.externalToolConfigurationUc.getTemplateForContextExternalTool(\n\t\t\t\tcurrentUser.userId,\n\t\t\t\tparams.contextExternalToolId\n\t\t\t);\n\n\t\tconst mapped: ContextExternalToolConfigurationTemplateResponse =\n\t\t\tToolConfigurationMapper.mapToContextExternalToolConfigurationTemplateResponse(tool);\n\n\t\treturn mapped;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolConfigurationMapper.html":{"url":"classes/ToolConfigurationMapper.html","title":"class - ToolConfigurationMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolConfigurationMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/mapper/tool-configuration.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToContextExternalToolConfigurationTemplateListResponse\n \n \n Static\n mapToContextExternalToolConfigurationTemplateResponse\n \n \n Static\n mapToSchoolExternalToolConfigurationTemplateListResponse\n \n \n Static\n mapToSchoolExternalToolConfigurationTemplateResponse\n \n \n Static\n mapToToolContextTypesListResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToContextExternalToolConfigurationTemplateListResponse\n \n \n \n \n \n \n \n mapToContextExternalToolConfigurationTemplateListResponse(toolInfos: ContextExternalToolTemplateInfo[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/tool-configuration.mapper.ts:62\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolInfos\n \n ContextExternalToolTemplateInfo[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolConfigurationTemplateListResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToContextExternalToolConfigurationTemplateResponse\n \n \n \n \n \n \n \n mapToContextExternalToolConfigurationTemplateResponse(toolInfo: ContextExternalToolTemplateInfo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/tool-configuration.mapper.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolInfo\n \n ContextExternalToolTemplateInfo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolConfigurationTemplateResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToSchoolExternalToolConfigurationTemplateListResponse\n \n \n \n \n \n \n \n mapToSchoolExternalToolConfigurationTemplateListResponse(externalTools: ExternalTool[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/tool-configuration.mapper.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTools\n \n ExternalTool[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolExternalToolConfigurationTemplateListResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToSchoolExternalToolConfigurationTemplateResponse\n \n \n \n \n \n \n \n mapToSchoolExternalToolConfigurationTemplateResponse(externalTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/tool-configuration.mapper.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolExternalToolConfigurationTemplateResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToToolContextTypesListResponse\n \n \n \n \n \n \n \n mapToToolContextTypesListResponse(toolContextTypes: ToolContextType[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/tool-configuration.mapper.ts:75\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolContextTypes\n \n ToolContextType[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolContextTypesListResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import {\n\tContextExternalToolConfigurationTemplateListResponse,\n\tContextExternalToolConfigurationTemplateResponse,\n\tSchoolExternalToolConfigurationTemplateListResponse,\n\tSchoolExternalToolConfigurationTemplateResponse,\n\tToolContextTypesListResponse,\n} from '../controller/dto';\nimport { ExternalTool } from '../domain';\nimport { ContextExternalToolTemplateInfo } from '../uc';\nimport { ExternalToolResponseMapper } from './external-tool-response.mapper';\nimport { ToolContextType } from '../../common/enum';\n\nexport class ToolConfigurationMapper {\n\tstatic mapToSchoolExternalToolConfigurationTemplateResponse(\n\t\texternalTool: ExternalTool\n\t): SchoolExternalToolConfigurationTemplateResponse {\n\t\tconst mapped = new SchoolExternalToolConfigurationTemplateResponse({\n\t\t\texternalToolId: externalTool.id ?? '',\n\t\t\tname: externalTool.name,\n\t\t\tlogoUrl: externalTool.logoUrl,\n\t\t\tparameters: externalTool.parameters\n\t\t\t\t? ExternalToolResponseMapper.mapCustomParameterToResponse(externalTool.parameters)\n\t\t\t\t: [],\n\t\t\tversion: externalTool.version,\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tstatic mapToSchoolExternalToolConfigurationTemplateListResponse(\n\t\texternalTools: ExternalTool[]\n\t): SchoolExternalToolConfigurationTemplateListResponse {\n\t\tconst mappedTools = externalTools.map(\n\t\t\t(tool): SchoolExternalToolConfigurationTemplateResponse =>\n\t\t\t\tthis.mapToSchoolExternalToolConfigurationTemplateResponse(tool)\n\t\t);\n\n\t\tconst mapped = new SchoolExternalToolConfigurationTemplateListResponse(mappedTools);\n\n\t\treturn mapped;\n\t}\n\n\tstatic mapToContextExternalToolConfigurationTemplateResponse(\n\t\ttoolInfo: ContextExternalToolTemplateInfo\n\t): ContextExternalToolConfigurationTemplateResponse {\n\t\tconst { externalTool, schoolExternalTool } = toolInfo;\n\n\t\tconst mapped = new ContextExternalToolConfigurationTemplateResponse({\n\t\t\texternalToolId: externalTool.id ?? '',\n\t\t\tschoolExternalToolId: schoolExternalTool.id ?? '',\n\t\t\tname: externalTool.name,\n\t\t\tlogoUrl: externalTool.logoUrl,\n\t\t\tparameters: externalTool.parameters\n\t\t\t\t? ExternalToolResponseMapper.mapCustomParameterToResponse(externalTool.parameters)\n\t\t\t\t: [],\n\t\t\tversion: externalTool.version,\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tstatic mapToContextExternalToolConfigurationTemplateListResponse(\n\t\ttoolInfos: ContextExternalToolTemplateInfo[]\n\t): ContextExternalToolConfigurationTemplateListResponse {\n\t\tconst mappedTools = toolInfos.map(\n\t\t\t(tool): ContextExternalToolConfigurationTemplateResponse =>\n\t\t\t\tthis.mapToContextExternalToolConfigurationTemplateResponse(tool)\n\t\t);\n\n\t\tconst mapped = new ContextExternalToolConfigurationTemplateListResponse(mappedTools);\n\n\t\treturn mapped;\n\t}\n\n\tstatic mapToToolContextTypesListResponse(toolContextTypes: ToolContextType[]): ToolContextTypesListResponse {\n\t\tconst mappedTypes = new ToolContextTypesListResponse(toolContextTypes);\n\n\t\treturn mappedTypes;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/ToolContextController.html":{"url":"controllers/ToolContextController.html","title":"controller - ToolContextController","body":"\n \n\n\n\n\n\n\n Controllers\n ToolContextController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/controller/tool-context.controller.ts\n \n\n \n Prefix\n \n \n tools/context-external-tools\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createContextExternalTool\n \n \n \n \n \n \n \n Async\n deleteContextExternalTool\n \n \n \n \n \n \n \n \n Async\n getContextExternalTool\n \n \n \n \n \n \n \n Async\n getContextExternalToolsForContext\n \n \n \n \n \n \n \n \n Async\n updateContextExternalTool\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createContextExternalTool\n \n \n \n \n \n \n \n createContextExternalTool(currentUser: ICurrentUser, body: ContextExternalToolPostParams)\n \n \n\n \n \n Decorators : \n \n @Post()@ApiCreatedResponse({description: 'The ContextExternalTool has been successfully created.', type: ContextExternalToolResponse})@ApiForbiddenResponse()@ApiUnprocessableEntityResponse()@ApiUnauthorizedResponse()@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiOperation({summary: 'Creates a ContextExternalTool'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/tool-context.controller.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n body\n \n ContextExternalToolPostParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteContextExternalTool\n \n \n \n \n \n \n \n deleteContextExternalTool(currentUser: ICurrentUser, params: ContextExternalToolIdParams)\n \n \n\n \n \n Decorators : \n \n @Delete(':contextExternalToolId')@ApiForbiddenResponse()@ApiUnauthorizedResponse()@ApiOperation({summary: 'Deletes a ContextExternalTool'})@HttpCode(HttpStatus.NO_CONTENT)\n \n \n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/tool-context.controller.ts:70\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ContextExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getContextExternalTool\n \n \n \n \n \n \n \n getContextExternalTool(currentUser: ICurrentUser, params: ContextExternalToolIdParams)\n \n \n\n \n \n Decorators : \n \n @Get(':contextExternalToolId')@ApiForbiddenResponse()@ApiUnauthorizedResponse()@ApiNotFoundResponse()@ApiOkResponse({description: 'Returns a ContextExternalTool for the given id', type: ContextExternalToolResponse})@ApiOperation({summary: 'Searches a ContextExternalTool for the given id'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/tool-context.controller.ts:122\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ContextExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getContextExternalToolsForContext\n \n \n \n \n \n \n \n getContextExternalToolsForContext(currentUser: ICurrentUser, params: ContextExternalToolContextParams)\n \n \n\n \n \n Decorators : \n \n @Get(':contextType/:contextId')@ApiForbiddenResponse()@ApiUnauthorizedResponse()@ApiOkResponse({description: 'Returns a list of ContextExternalTools for the given context', type: ContextExternalToolSearchListResponse})@ApiOperation({summary: 'Returns a list of ContextExternalTools for the given context'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/tool-context.controller.ts:89\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ContextExternalToolContextParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateContextExternalTool\n \n \n \n \n \n \n \n updateContextExternalTool(currentUser: ICurrentUser, params: ContextExternalToolIdParams, body: ContextExternalToolPostParams)\n \n \n\n \n \n Decorators : \n \n @Put(':contextExternalToolId')@ApiOkResponse({description: 'The ContextExternalTool has been successfully updated.', type: ContextExternalToolResponse})@ApiForbiddenResponse()@ApiUnauthorizedResponse()@ApiUnprocessableEntityResponse()@ApiOperation({summary: 'Updates a ContextExternalTool'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/tool-context.controller.ts:146\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ContextExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n body\n \n ContextExternalToolPostParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, Delete, Get, HttpCode, HttpStatus, Param, Post, Put } from '@nestjs/common';\nimport {\n\tApiCreatedResponse,\n\tApiForbiddenResponse,\n\tApiNotFoundResponse,\n\tApiOkResponse,\n\tApiOperation,\n\tApiResponse,\n\tApiTags,\n\tApiUnauthorizedResponse,\n\tApiUnprocessableEntityResponse,\n} from '@nestjs/swagger';\nimport { ValidationError } from '@shared/common';\nimport { LegacyLogger } from '@src/core/logger';\nimport { ContextExternalTool } from '../domain';\nimport { ContextExternalToolRequestMapper, ContextExternalToolResponseMapper } from '../mapper';\nimport { ContextExternalToolUc } from '../uc';\nimport { ContextExternalToolDto } from '../uc/dto/context-external-tool.types';\nimport {\n\tContextExternalToolContextParams,\n\tContextExternalToolIdParams,\n\tContextExternalToolPostParams,\n\tContextExternalToolResponse,\n\tContextExternalToolSearchListResponse,\n} from './dto';\n\n@ApiTags('Tool')\n@Authenticate('jwt')\n@Controller('tools/context-external-tools')\nexport class ToolContextController {\n\tconstructor(private readonly contextExternalToolUc: ContextExternalToolUc, private readonly logger: LegacyLogger) {}\n\n\t@Post()\n\t@ApiCreatedResponse({\n\t\tdescription: 'The ContextExternalTool has been successfully created.',\n\t\ttype: ContextExternalToolResponse,\n\t})\n\t@ApiForbiddenResponse()\n\t@ApiUnprocessableEntityResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiOperation({ summary: 'Creates a ContextExternalTool' })\n\tasync createContextExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() body: ContextExternalToolPostParams\n\t): Promise {\n\t\tconst contextExternalTool: ContextExternalToolDto =\n\t\t\tContextExternalToolRequestMapper.mapContextExternalToolRequest(body);\n\n\t\tconst createdTool: ContextExternalTool = await this.contextExternalToolUc.createContextExternalTool(\n\t\t\tcurrentUser.userId,\n\t\t\tcurrentUser.schoolId,\n\t\t\tcontextExternalTool\n\t\t);\n\n\t\tconst response: ContextExternalToolResponse =\n\t\t\tContextExternalToolResponseMapper.mapContextExternalToolResponse(createdTool);\n\n\t\tthis.logger.debug(`ContextExternalTool with id ${response.id} was created by user with id ${currentUser.userId}`);\n\n\t\treturn response;\n\t}\n\n\t@Delete(':contextExternalToolId')\n\t@ApiForbiddenResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiOperation({ summary: 'Deletes a ContextExternalTool' })\n\t@HttpCode(HttpStatus.NO_CONTENT)\n\tasync deleteContextExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ContextExternalToolIdParams\n\t): Promise {\n\t\tawait this.contextExternalToolUc.deleteContextExternalTool(currentUser.userId, params.contextExternalToolId);\n\n\t\tthis.logger.debug(\n\t\t\t`ContextExternalTool with id ${params.contextExternalToolId} was deleted by user with id ${currentUser.userId}`\n\t\t);\n\t}\n\n\t@Get(':contextType/:contextId')\n\t@ApiForbiddenResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiOkResponse({\n\t\tdescription: 'Returns a list of ContextExternalTools for the given context',\n\t\ttype: ContextExternalToolSearchListResponse,\n\t})\n\t@ApiOperation({ summary: 'Returns a list of ContextExternalTools for the given context' })\n\tasync getContextExternalToolsForContext(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ContextExternalToolContextParams\n\t): Promise {\n\t\tconst contextExternalTools: ContextExternalTool[] =\n\t\t\tawait this.contextExternalToolUc.getContextExternalToolsForContext(\n\t\t\t\tcurrentUser.userId,\n\t\t\t\tparams.contextType,\n\t\t\t\tparams.contextId\n\t\t\t);\n\n\t\tconst mappedTools: ContextExternalToolResponse[] = contextExternalTools.map(\n\t\t\t(tool: ContextExternalTool): ContextExternalToolResponse =>\n\t\t\t\tContextExternalToolResponseMapper.mapContextExternalToolResponse(tool)\n\t\t);\n\n\t\tthis.logger.debug(\n\t\t\t`User with id ${currentUser.userId} fetched ContextExternalTools for contextType: ${params.contextType} and contextId: ${params.contextId}`\n\t\t);\n\n\t\tconst response: ContextExternalToolSearchListResponse = new ContextExternalToolSearchListResponse(mappedTools);\n\t\treturn response;\n\t}\n\n\t@Get(':contextExternalToolId')\n\t@ApiForbiddenResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiNotFoundResponse()\n\t@ApiOkResponse({\n\t\tdescription: 'Returns a ContextExternalTool for the given id',\n\t\ttype: ContextExternalToolResponse,\n\t})\n\t@ApiOperation({ summary: 'Searches a ContextExternalTool for the given id' })\n\tasync getContextExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ContextExternalToolIdParams\n\t): Promise {\n\t\tconst contextExternalTool: ContextExternalTool = await this.contextExternalToolUc.getContextExternalTool(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.contextExternalToolId\n\t\t);\n\n\t\tconst response: ContextExternalToolResponse =\n\t\t\tContextExternalToolResponseMapper.mapContextExternalToolResponse(contextExternalTool);\n\n\t\treturn response;\n\t}\n\n\t@Put(':contextExternalToolId')\n\t@ApiOkResponse({\n\t\tdescription: 'The ContextExternalTool has been successfully updated.',\n\t\ttype: ContextExternalToolResponse,\n\t})\n\t@ApiForbiddenResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiUnprocessableEntityResponse()\n\t@ApiOperation({ summary: 'Updates a ContextExternalTool' })\n\tasync updateContextExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ContextExternalToolIdParams,\n\t\t@Body() body: ContextExternalToolPostParams\n\t): Promise {\n\t\tconst contextExternalTool: ContextExternalToolDto =\n\t\t\tContextExternalToolRequestMapper.mapContextExternalToolRequest(body);\n\n\t\tconst updatedTool: ContextExternalTool = await this.contextExternalToolUc.updateContextExternalTool(\n\t\t\tcurrentUser.userId,\n\t\t\tcurrentUser.schoolId,\n\t\t\tparams.contextExternalToolId,\n\t\t\tcontextExternalTool\n\t\t);\n\n\t\tconst response: ContextExternalToolResponse =\n\t\t\tContextExternalToolResponseMapper.mapContextExternalToolResponse(updatedTool);\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolContextMapper.html":{"url":"classes/ToolContextMapper.html","title":"class - ToolContextMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolContextMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/mapper/tool-context.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n contextMapping\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n contextMapping\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Default value : {\n\t\t[ToolContextType.COURSE]: ContextExternalToolType.COURSE,\n\t\t[ToolContextType.BOARD_ELEMENT]: ContextExternalToolType.BOARD_ELEMENT,\n\t}\n \n \n \n \n Defined in apps/server/src/modules/tool/common/mapper/tool-context.mapper.ts:5\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ToolContextType } from '../enum';\nimport { ContextExternalToolType } from '../../context-external-tool/entity';\n\nexport class ToolContextMapper {\n\tstatic contextMapping: Record = {\n\t\t[ToolContextType.COURSE]: ContextExternalToolType.COURSE,\n\t\t[ToolContextType.BOARD_ELEMENT]: ContextExternalToolType.BOARD_ELEMENT,\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolContextTypesListResponse.html":{"url":"classes/ToolContextTypesListResponse.html","title":"class - ToolContextTypesListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolContextTypesListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/tool-context-types-list.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: ToolContextType[])\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/tool-context-types-list.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n ToolContextType[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : ToolContextType[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ToolContextType, enumName: 'ToolContextType', isArray: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/tool-context-types-list.response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ToolContextType } from '../../../../common/enum';\n\nexport class ToolContextTypesListResponse {\n\t@ApiProperty({ enum: ToolContextType, enumName: 'ToolContextType', isArray: true })\n\tdata: ToolContextType[];\n\n\tconstructor(data: ToolContextType[]) {\n\t\tthis.data = data;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/ToolController.html":{"url":"controllers/ToolController.html","title":"controller - ToolController","body":"\n \n\n\n\n\n\n\n Controllers\n ToolController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/tool.controller.ts\n \n\n \n Prefix\n \n \n tools/external-tools\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createExternalTool\n \n \n \n \n \n \n \n Async\n deleteExternalTool\n \n \n \n \n \n \n \n Async\n findExternalTool\n \n \n \n \n Async\n getExternalTool\n \n \n \n \n \n \n Async\n getExternalToolLogo\n \n \n \n \n \n \n Async\n getMetaDataForExternalTool\n \n \n \n \n \n \n \n \n Async\n updateExternalTool\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createExternalTool\n \n \n \n \n \n \n \n createExternalTool(currentUser: ICurrentUser, externalToolParams: ExternalToolCreateParams)\n \n \n\n \n \n Decorators : \n \n @Post()@ApiCreatedResponse({description: 'The Tool has been successfully created.', type: ExternalToolResponse})@ApiForbiddenResponse()@ApiUnprocessableEntityResponse()@ApiUnauthorizedResponse()@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiOperation({summary: 'Creates an ExternalTool'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool.controller.ts:56\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n externalToolParams\n \n ExternalToolCreateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteExternalTool\n \n \n \n \n \n \n \n deleteExternalTool(currentUser: ICurrentUser, params: ExternalToolIdParams)\n \n \n\n \n \n Decorators : \n \n @Delete(':externalToolId')@ApiForbiddenResponse({description: 'User is not allowed to access this resource.'})@ApiUnauthorizedResponse({description: 'User is not logged in.'})@ApiOperation({summary: 'Deletes an ExternalTool'})@HttpCode(HttpStatus.NO_CONTENT)\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool.controller.ts:145\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findExternalTool\n \n \n \n \n \n \n \n findExternalTool(currentUser: ICurrentUser, filterQuery: ExternalToolSearchParams, pagination: PaginationParams, sortingQuery: SortExternalToolParams)\n \n \n\n \n \n Decorators : \n \n @Get()@ApiFoundResponse({description: 'Tools has been found.', type: ExternalToolSearchListResponse})@ApiUnauthorizedResponse()@ApiForbiddenResponse()@ApiOperation({summary: 'Returns a list of ExternalTools'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool.controller.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n filterQuery\n \n ExternalToolSearchParams\n \n\n \n No\n \n\n\n \n \n pagination\n \n PaginationParams\n \n\n \n No\n \n\n\n \n \n sortingQuery\n \n SortExternalToolParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getExternalTool\n \n \n \n \n \n \n \n getExternalTool(currentUser: ICurrentUser, params: ExternalToolIdParams)\n \n \n\n \n \n Decorators : \n \n @Get(':externalToolId')@ApiOperation({summary: 'Returns an ExternalTool for the given id'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool.controller.ts:104\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getExternalToolLogo\n \n \n \n \n \n \n \n getExternalToolLogo(params: ExternalToolIdParams, res: Response)\n \n \n\n \n \n Decorators : \n \n @Get('/:externalToolId/logo')@ApiOperation({summary: 'Gets the logo of an external tool.'})@ApiOkResponse({description: 'Logo of external tool fetched successfully.'})@ApiUnauthorizedResponse({description: 'User is not logged in.'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool.controller.ts:163\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n ExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n res\n \n Response\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getMetaDataForExternalTool\n \n \n \n \n \n \n \n getMetaDataForExternalTool(currentUser: ICurrentUser, params: ExternalToolIdParams)\n \n \n\n \n \n Decorators : \n \n @Get('/:externalToolId/metadata')@ApiOperation({summary: 'Gets the metadata of an external tool.'})@ApiOkResponse({description: 'Metadata of external tool fetched successfully.', type: ExternalToolMetadataResponse})@ApiUnauthorizedResponse({description: 'User is not logged in.'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool.controller.ts:179\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateExternalTool\n \n \n \n \n \n \n \n updateExternalTool(currentUser: ICurrentUser, params: ExternalToolIdParams, externalToolParams: ExternalToolUpdateParams)\n \n \n\n \n \n Decorators : \n \n @Post('/:externalToolId')@ApiOkResponse({description: 'The Tool has been successfully updated.', type: ExternalToolResponse})@ApiForbiddenResponse()@ApiUnauthorizedResponse()@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiOperation({summary: 'Updates an ExternalTool'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool.controller.ts:123\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n externalToolParams\n \n ExternalToolUpdateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, Delete, Get, HttpCode, HttpStatus, Param, Post, Query, Res } from '@nestjs/common';\nimport {\n\tApiCreatedResponse,\n\tApiForbiddenResponse,\n\tApiFoundResponse,\n\tApiOkResponse,\n\tApiOperation,\n\tApiResponse,\n\tApiTags,\n\tApiUnauthorizedResponse,\n\tApiUnprocessableEntityResponse,\n} from '@nestjs/swagger';\nimport { ValidationError } from '@shared/common';\nimport { PaginationParams } from '@shared/controller';\nimport { Page } from '@shared/domain/domainobject';\nimport { IFindOptions } from '@shared/domain/interface';\nimport { LegacyLogger } from '@src/core/logger';\nimport { Response } from 'express';\nimport { ExternalToolSearchQuery } from '../../common/interface';\nimport { ExternalTool, ExternalToolMetadata } from '../domain';\nimport { ExternalToolLogo } from '../domain/external-tool-logo';\n\nimport { ExternalToolMetadataMapper, ExternalToolRequestMapper, ExternalToolResponseMapper } from '../mapper';\nimport { ExternalToolLogoService } from '../service';\nimport { ExternalToolCreate, ExternalToolUc, ExternalToolUpdate } from '../uc';\nimport {\n\tExternalToolCreateParams,\n\tExternalToolIdParams,\n\tExternalToolMetadataResponse,\n\tExternalToolResponse,\n\tExternalToolSearchListResponse,\n\tExternalToolSearchParams,\n\tExternalToolUpdateParams,\n\tSortExternalToolParams,\n} from './dto';\n\n@ApiTags('Tool')\n@Authenticate('jwt')\n@Controller('tools/external-tools')\nexport class ToolController {\n\tconstructor(\n\t\tprivate readonly externalToolUc: ExternalToolUc,\n\t\tprivate readonly externalToolDOMapper: ExternalToolRequestMapper,\n\t\tprivate readonly logger: LegacyLogger,\n\t\tprivate readonly externalToolLogoService: ExternalToolLogoService\n\t) {}\n\n\t@Post()\n\t@ApiCreatedResponse({ description: 'The Tool has been successfully created.', type: ExternalToolResponse })\n\t@ApiForbiddenResponse()\n\t@ApiUnprocessableEntityResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiOperation({ summary: 'Creates an ExternalTool' })\n\tasync createExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() externalToolParams: ExternalToolCreateParams\n\t): Promise {\n\t\tconst externalTool: ExternalToolCreate = this.externalToolDOMapper.mapCreateRequest(externalToolParams);\n\n\t\tconst created: ExternalTool = await this.externalToolUc.createExternalTool(currentUser.userId, externalTool);\n\n\t\tconst mapped: ExternalToolResponse = ExternalToolResponseMapper.mapToExternalToolResponse(created);\n\n\t\tthis.logger.debug(`ExternalTool with id ${mapped.id} was created by user with id ${currentUser.userId}`);\n\n\t\treturn mapped;\n\t}\n\n\t@Get()\n\t@ApiFoundResponse({ description: 'Tools has been found.', type: ExternalToolSearchListResponse })\n\t@ApiUnauthorizedResponse()\n\t@ApiForbiddenResponse()\n\t@ApiOperation({ summary: 'Returns a list of ExternalTools' })\n\tasync findExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() filterQuery: ExternalToolSearchParams,\n\t\t@Query() pagination: PaginationParams,\n\t\t@Query() sortingQuery: SortExternalToolParams\n\t): Promise {\n\t\tconst options: IFindOptions = { pagination };\n\t\toptions.order = this.externalToolDOMapper.mapSortingQueryToDomain(sortingQuery);\n\t\tconst query: ExternalToolSearchQuery =\n\t\t\tthis.externalToolDOMapper.mapExternalToolFilterQueryToExternalToolSearchQuery(filterQuery);\n\n\t\tconst tools: Page = await this.externalToolUc.findExternalTool(currentUser.userId, query, options);\n\n\t\tconst dtoList: ExternalToolResponse[] = tools.data.map(\n\t\t\t(tool: ExternalTool): ExternalToolResponse => ExternalToolResponseMapper.mapToExternalToolResponse(tool)\n\t\t);\n\t\tconst response: ExternalToolSearchListResponse = new ExternalToolSearchListResponse(\n\t\t\tdtoList,\n\t\t\ttools.total,\n\t\t\tpagination.skip,\n\t\t\tpagination.limit\n\t\t);\n\n\t\treturn response;\n\t}\n\n\t@Get(':externalToolId')\n\t@ApiOperation({ summary: 'Returns an ExternalTool for the given id' })\n\tasync getExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ExternalToolIdParams\n\t): Promise {\n\t\tconst externalTool: ExternalTool = await this.externalToolUc.getExternalTool(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.externalToolId\n\t\t);\n\t\tconst mapped: ExternalToolResponse = ExternalToolResponseMapper.mapToExternalToolResponse(externalTool);\n\n\t\treturn mapped;\n\t}\n\n\t@Post('/:externalToolId')\n\t@ApiOkResponse({ description: 'The Tool has been successfully updated.', type: ExternalToolResponse })\n\t@ApiForbiddenResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiOperation({ summary: 'Updates an ExternalTool' })\n\tasync updateExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ExternalToolIdParams,\n\t\t@Body() externalToolParams: ExternalToolUpdateParams\n\t): Promise {\n\t\tconst externalTool: ExternalToolUpdate = this.externalToolDOMapper.mapUpdateRequest(externalToolParams);\n\t\tconst updated: ExternalTool = await this.externalToolUc.updateExternalTool(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.externalToolId,\n\t\t\texternalTool\n\t\t);\n\t\tconst mapped: ExternalToolResponse = ExternalToolResponseMapper.mapToExternalToolResponse(updated);\n\t\tthis.logger.debug(`ExternalTool with id ${mapped.id} was updated by user with id ${currentUser.userId}`);\n\n\t\treturn mapped;\n\t}\n\n\t@Delete(':externalToolId')\n\t@ApiForbiddenResponse({ description: 'User is not allowed to access this resource.' })\n\t@ApiUnauthorizedResponse({ description: 'User is not logged in.' })\n\t@ApiOperation({ summary: 'Deletes an ExternalTool' })\n\t@HttpCode(HttpStatus.NO_CONTENT)\n\tasync deleteExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ExternalToolIdParams\n\t): Promise {\n\t\tconst promise: Promise = this.externalToolUc.deleteExternalTool(currentUser.userId, params.externalToolId);\n\t\tthis.logger.debug(\n\t\t\t`ExternalTool with id ${params.externalToolId} was deleted by user with id ${currentUser.userId}`\n\t\t);\n\n\t\treturn promise;\n\t}\n\n\t@Get('/:externalToolId/logo')\n\t@ApiOperation({ summary: 'Gets the logo of an external tool.' })\n\t@ApiOkResponse({\n\t\tdescription: 'Logo of external tool fetched successfully.',\n\t})\n\t@ApiUnauthorizedResponse({ description: 'User is not logged in.' })\n\tasync getExternalToolLogo(@Param() params: ExternalToolIdParams, @Res() res: Response): Promise {\n\t\tconst externalToolLogo: ExternalToolLogo = await this.externalToolLogoService.getExternalToolBinaryLogo(\n\t\t\tparams.externalToolId\n\t\t);\n\t\tres.setHeader('Content-Type', externalToolLogo.contentType);\n\t\tres.setHeader('Cache-Control', 'must-revalidate');\n\t\tres.send(externalToolLogo.logo);\n\t}\n\n\t@Get('/:externalToolId/metadata')\n\t@ApiOperation({ summary: 'Gets the metadata of an external tool.' })\n\t@ApiOkResponse({\n\t\tdescription: 'Metadata of external tool fetched successfully.',\n\t\ttype: ExternalToolMetadataResponse,\n\t})\n\t@ApiUnauthorizedResponse({ description: 'User is not logged in.' })\n\tasync getMetaDataForExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ExternalToolIdParams\n\t): Promise {\n\t\tconst externalToolMetadata: ExternalToolMetadata = await this.externalToolUc.getMetadataForExternalTool(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.externalToolId\n\t\t);\n\n\t\tconst mapped: ExternalToolMetadataResponse =\n\t\t\tExternalToolMetadataMapper.mapToExternalToolMetadataResponse(externalToolMetadata);\n\n\t\treturn mapped;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/ToolLaunchController.html":{"url":"controllers/ToolLaunchController.html","title":"controller - ToolLaunchController","body":"\n \n\n\n\n\n\n\n Controllers\n ToolLaunchController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/controller/tool-launch.controller.ts\n \n\n \n Prefix\n \n \n tools\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getToolLaunchRequest\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getToolLaunchRequest\n \n \n \n \n \n \n \n getToolLaunchRequest(currentUser: ICurrentUser, params: ToolLaunchParams)\n \n \n\n \n \n Decorators : \n \n @Get('context/:contextExternalToolId/launch')@ApiOperation({summary: 'Get tool launch request for a context external tool id'})@ApiOkResponse({description: 'Tool launch request', type: ToolLaunchRequestResponse})@ApiUnauthorizedResponse({description: 'Unauthorized'})@ApiForbiddenResponse({description: 'Forbidden'})@ApiBadRequestResponse({description: 'Outdated tools cannot be launched'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/controller/tool-launch.controller.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ToolLaunchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Controller, Get, Param } from '@nestjs/common';\nimport {\n\tApiBadRequestResponse,\n\tApiForbiddenResponse,\n\tApiOkResponse,\n\tApiOperation,\n\tApiTags,\n\tApiUnauthorizedResponse,\n} from '@nestjs/swagger';\nimport { ToolLaunchMapper } from '../mapper';\nimport { ToolLaunchRequest } from '../types';\nimport { ToolLaunchUc } from '../uc';\nimport { ToolLaunchParams, ToolLaunchRequestResponse } from './dto';\n\n@ApiTags('Tool')\n@Authenticate('jwt')\n@Controller('tools')\nexport class ToolLaunchController {\n\tconstructor(private readonly toolLaunchUc: ToolLaunchUc) {}\n\n\t@Get('context/:contextExternalToolId/launch')\n\t@ApiOperation({ summary: 'Get tool launch request for a context external tool id' })\n\t@ApiOkResponse({ description: 'Tool launch request', type: ToolLaunchRequestResponse })\n\t@ApiUnauthorizedResponse({ description: 'Unauthorized' })\n\t@ApiForbiddenResponse({ description: 'Forbidden' })\n\t@ApiBadRequestResponse({ description: 'Outdated tools cannot be launched' })\n\tasync getToolLaunchRequest(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ToolLaunchParams\n\t): Promise {\n\t\tconst toolLaunchRequest: ToolLaunchRequest = await this.toolLaunchUc.getToolLaunchRequest(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.contextExternalToolId\n\t\t);\n\n\t\tconst response: ToolLaunchRequestResponse = ToolLaunchMapper.mapToToolLaunchRequestResponse(toolLaunchRequest);\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolLaunchData.html":{"url":"classes/ToolLaunchData.html","title":"class - ToolLaunchData","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolLaunchData\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/types/tool-launch-data.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n baseUrl\n \n \n openNewTab\n \n \n properties\n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ToolLaunchData)\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/tool-launch-data.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ToolLaunchData\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/tool-launch-data.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n openNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/tool-launch-data.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n properties\n \n \n \n \n \n \n Type : PropertyData[]\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/tool-launch-data.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolLaunchDataType\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/tool-launch-data.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { PropertyData } from './property-data';\nimport { ToolLaunchDataType } from './tool-launch-data-type';\n\nexport class ToolLaunchData {\n\tbaseUrl: string;\n\n\ttype: ToolLaunchDataType;\n\n\tproperties: PropertyData[];\n\n\topenNewTab: boolean;\n\n\tconstructor(props: ToolLaunchData) {\n\t\tthis.baseUrl = props.baseUrl;\n\t\tthis.type = props.type;\n\t\tthis.properties = props.properties;\n\t\tthis.openNewTab = props.openNewTab;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolLaunchMapper.html":{"url":"classes/ToolLaunchMapper.html","title":"class - ToolLaunchMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolLaunchMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/mapper/tool-launch.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToParameterLocation\n \n \n Static\n mapToToolConfigType\n \n \n Static\n mapToToolLaunchDataType\n \n \n Static\n mapToToolLaunchRequestResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToParameterLocation\n \n \n \n \n \n \n \n mapToParameterLocation(location: CustomParameterLocation)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/mapper/tool-launch.mapper.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n location\n \n CustomParameterLocation\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : PropertyLocation\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToToolConfigType\n \n \n \n \n \n \n \n mapToToolConfigType(launchDataType: ToolLaunchDataType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/mapper/tool-launch.mapper.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n launchDataType\n \n ToolLaunchDataType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolConfigType\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToToolLaunchDataType\n \n \n \n \n \n \n \n mapToToolLaunchDataType(configType: ToolConfigType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/mapper/tool-launch.mapper.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n configType\n \n ToolConfigType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolLaunchDataType\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToToolLaunchRequestResponse\n \n \n \n \n \n \n \n mapToToolLaunchRequestResponse(toolLaunchRequest: ToolLaunchRequest)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/mapper/tool-launch.mapper.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolLaunchRequest\n \n ToolLaunchRequest\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolLaunchRequestResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { PropertyLocation, ToolLaunchDataType, ToolLaunchRequest } from '../types';\nimport { ToolLaunchRequestResponse } from '../controller/dto';\nimport { CustomParameterLocation, ToolConfigType } from '../../common/enum';\n\nconst customToParameterLocationMapping: Record = {\n\t[CustomParameterLocation.PATH]: PropertyLocation.PATH,\n\t[CustomParameterLocation.BODY]: PropertyLocation.BODY,\n\t[CustomParameterLocation.QUERY]: PropertyLocation.QUERY,\n};\n\nconst toolConfigTypeToToolLaunchDataTypeMapping: Record = {\n\t[ToolConfigType.BASIC]: ToolLaunchDataType.BASIC,\n\t[ToolConfigType.LTI11]: ToolLaunchDataType.LTI11,\n\t[ToolConfigType.OAUTH2]: ToolLaunchDataType.OAUTH2,\n};\n\nconst toolLaunchDataTypeToToolConfigTypeMapping: Record = {\n\t[ToolLaunchDataType.BASIC]: ToolConfigType.BASIC,\n\t[ToolLaunchDataType.LTI11]: ToolConfigType.LTI11,\n\t[ToolLaunchDataType.OAUTH2]: ToolConfigType.OAUTH2,\n};\n\nexport class ToolLaunchMapper {\n\tstatic mapToParameterLocation(location: CustomParameterLocation): PropertyLocation {\n\t\tconst mappedLocation = customToParameterLocationMapping[location];\n\t\treturn mappedLocation;\n\t}\n\n\tstatic mapToToolLaunchDataType(configType: ToolConfigType): ToolLaunchDataType {\n\t\tconst mappedType = toolConfigTypeToToolLaunchDataTypeMapping[configType];\n\t\treturn mappedType;\n\t}\n\n\tstatic mapToToolConfigType(launchDataType: ToolLaunchDataType): ToolConfigType {\n\t\tconst mappedType = toolLaunchDataTypeToToolConfigTypeMapping[launchDataType];\n\t\treturn mappedType;\n\t}\n\n\tstatic mapToToolLaunchRequestResponse(toolLaunchRequest: ToolLaunchRequest): ToolLaunchRequestResponse {\n\t\tconst { method, url, payload, openNewTab } = toolLaunchRequest;\n\n\t\tconst response = new ToolLaunchRequestResponse({\n\t\t\tmethod,\n\t\t\turl,\n\t\t\tpayload,\n\t\t\topenNewTab,\n\t\t});\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ToolLaunchModule.html":{"url":"modules/ToolLaunchModule.html","title":"module - ToolLaunchModule","body":"\n \n\n\n\n\n Modules\n ToolLaunchModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ToolLaunchModule\n\n\n\ncluster_ToolLaunchModule_exports\n\n\n\ncluster_ToolLaunchModule_providers\n\n\n\ncluster_ToolLaunchModule_imports\n\n\n\n\nBoardModule\n\nBoardModule\n\n\n\nToolLaunchModule\n\nToolLaunchModule\n\nToolLaunchModule -->\n\nBoardModule->ToolLaunchModule\n\n\n\n\n\nCommonToolModule\n\nCommonToolModule\n\nToolLaunchModule -->\n\nCommonToolModule->ToolLaunchModule\n\n\n\n\n\nContextExternalToolModule\n\nContextExternalToolModule\n\nToolLaunchModule -->\n\nContextExternalToolModule->ToolLaunchModule\n\n\n\n\n\nExternalToolModule\n\nExternalToolModule\n\nToolLaunchModule -->\n\nExternalToolModule->ToolLaunchModule\n\n\n\n\n\nLearnroomModule\n\nLearnroomModule\n\nToolLaunchModule -->\n\nLearnroomModule->ToolLaunchModule\n\n\n\n\n\nLegacySchoolModule\n\nLegacySchoolModule\n\nToolLaunchModule -->\n\nLegacySchoolModule->ToolLaunchModule\n\n\n\n\n\nSchoolExternalToolModule\n\nSchoolExternalToolModule\n\nToolLaunchModule -->\n\nSchoolExternalToolModule->ToolLaunchModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nToolLaunchModule -->\n\nUserModule->ToolLaunchModule\n\n\n\n\n\nToolLaunchService \n\nToolLaunchService \n\nToolLaunchService -->\n\nToolLaunchModule->ToolLaunchService \n\n\n\n\n\nAutoContextIdStrategy\n\nAutoContextIdStrategy\n\nToolLaunchModule -->\n\nAutoContextIdStrategy->ToolLaunchModule\n\n\n\n\n\nAutoContextNameStrategy\n\nAutoContextNameStrategy\n\nToolLaunchModule -->\n\nAutoContextNameStrategy->ToolLaunchModule\n\n\n\n\n\nAutoSchoolIdStrategy\n\nAutoSchoolIdStrategy\n\nToolLaunchModule -->\n\nAutoSchoolIdStrategy->ToolLaunchModule\n\n\n\n\n\nAutoSchoolNumberStrategy\n\nAutoSchoolNumberStrategy\n\nToolLaunchModule -->\n\nAutoSchoolNumberStrategy->ToolLaunchModule\n\n\n\n\n\nBasicToolLaunchStrategy\n\nBasicToolLaunchStrategy\n\nToolLaunchModule -->\n\nBasicToolLaunchStrategy->ToolLaunchModule\n\n\n\n\n\nLti11EncryptionService\n\nLti11EncryptionService\n\nToolLaunchModule -->\n\nLti11EncryptionService->ToolLaunchModule\n\n\n\n\n\nLti11ToolLaunchStrategy\n\nLti11ToolLaunchStrategy\n\nToolLaunchModule -->\n\nLti11ToolLaunchStrategy->ToolLaunchModule\n\n\n\n\n\nOAuth2ToolLaunchStrategy\n\nOAuth2ToolLaunchStrategy\n\nToolLaunchModule -->\n\nOAuth2ToolLaunchStrategy->ToolLaunchModule\n\n\n\n\n\nToolLaunchService\n\nToolLaunchService\n\nToolLaunchModule -->\n\nToolLaunchService->ToolLaunchModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tool/tool-launch/tool-launch.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n AutoContextIdStrategy\n \n \n AutoContextNameStrategy\n \n \n AutoSchoolIdStrategy\n \n \n AutoSchoolNumberStrategy\n \n \n BasicToolLaunchStrategy\n \n \n Lti11EncryptionService\n \n \n Lti11ToolLaunchStrategy\n \n \n OAuth2ToolLaunchStrategy\n \n \n ToolLaunchService\n \n \n \n \n Imports\n \n \n BoardModule\n \n \n CommonToolModule\n \n \n ContextExternalToolModule\n \n \n ExternalToolModule\n \n \n LearnroomModule\n \n \n LegacySchoolModule\n \n \n SchoolExternalToolModule\n \n \n UserModule\n \n \n \n \n Exports\n \n \n ToolLaunchService\n \n \n \n \n \n\n\n \n\n\n \n import { BoardModule } from '@modules/board';\nimport { LearnroomModule } from '@modules/learnroom';\nimport { LegacySchoolModule } from '@modules/legacy-school';\nimport { PseudonymModule } from '@modules/pseudonym';\nimport { UserModule } from '@modules/user';\nimport { forwardRef, Module } from '@nestjs/common';\nimport { CommonToolModule } from '../common';\nimport { ContextExternalToolModule } from '../context-external-tool';\nimport { ExternalToolModule } from '../external-tool';\nimport { SchoolExternalToolModule } from '../school-external-tool';\nimport { Lti11EncryptionService, ToolLaunchService } from './service';\nimport {\n\tAutoContextIdStrategy,\n\tAutoContextNameStrategy,\n\tAutoSchoolIdStrategy,\n\tAutoSchoolNumberStrategy,\n} from './service/auto-parameter-strategy';\nimport { BasicToolLaunchStrategy, Lti11ToolLaunchStrategy, OAuth2ToolLaunchStrategy } from './service/launch-strategy';\n\n@Module({\n\timports: [\n\t\tCommonToolModule,\n\t\tExternalToolModule,\n\t\tSchoolExternalToolModule,\n\t\tContextExternalToolModule,\n\t\tLegacySchoolModule,\n\t\tUserModule,\n\t\tforwardRef(() => PseudonymModule), // i do not like this solution, the root problem is on other place but not detectable for me\n\t\tLearnroomModule,\n\t\tBoardModule,\n\t],\n\tproviders: [\n\t\tToolLaunchService,\n\t\tLti11EncryptionService,\n\t\tBasicToolLaunchStrategy,\n\t\tLti11ToolLaunchStrategy,\n\t\tOAuth2ToolLaunchStrategy,\n\t\tAutoContextIdStrategy,\n\t\tAutoContextNameStrategy,\n\t\tAutoSchoolIdStrategy,\n\t\tAutoSchoolNumberStrategy,\n\t],\n\texports: [ToolLaunchService],\n})\nexport class ToolLaunchModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolLaunchParams.html":{"url":"classes/ToolLaunchParams.html","title":"class - ToolLaunchParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolLaunchParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/controller/dto/tool-launch.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextExternalToolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contextExternalToolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the context external tool', nullable: false, required: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/controller/dto/tool-launch.params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsMongoId } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\n\nexport class ToolLaunchParams {\n\t@IsMongoId()\n\t@ApiProperty({ description: 'The id of the context external tool', nullable: false, required: true })\n\tcontextExternalToolId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolLaunchRequest.html":{"url":"classes/ToolLaunchRequest.html","title":"class - ToolLaunchRequest","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolLaunchRequest\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/types/tool-launch-request.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n method\n \n \n openNewTab\n \n \n Optional\n payload\n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ToolLaunchRequest)\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/tool-launch-request.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ToolLaunchRequest\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n method\n \n \n \n \n \n \n Type : LaunchRequestMethod\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/tool-launch-request.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n openNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/tool-launch-request.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n payload\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/tool-launch-request.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/tool-launch-request.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { LaunchRequestMethod } from './launch-request-method';\n\nexport class ToolLaunchRequest {\n\tmethod: LaunchRequestMethod;\n\n\turl: string;\n\n\tpayload?: string;\n\n\topenNewTab: boolean;\n\n\tconstructor(props: ToolLaunchRequest) {\n\t\tthis.url = props.url;\n\t\tthis.method = props.method;\n\t\tthis.payload = props.payload;\n\t\tthis.openNewTab = props.openNewTab;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolLaunchRequestResponse.html":{"url":"classes/ToolLaunchRequestResponse.html","title":"class - ToolLaunchRequestResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolLaunchRequestResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/controller/dto/tool-launch-request.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n method\n \n \n \n Optional\n openNewTab\n \n \n \n Optional\n payload\n \n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ToolLaunchRequestResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/controller/dto/tool-launch-request.response.ts:30\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ToolLaunchRequestResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n method\n \n \n \n \n \n \n Type : LaunchRequestMethod\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The Launch Request method (GET or POST)', enum: LaunchRequestMethod, example: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/controller/dto/tool-launch-request.response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n openNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Specifies whether the Tool should be launched in a new tab', example: true, required: false})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/controller/dto/tool-launch-request.response.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n payload\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The payload for the Tool Launch Request (optional)', example: '{ \"key\": \"value\" }', required: false})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/controller/dto/tool-launch-request.response.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The URL for the Tool Launch Request', example: 'https://example.com/tool-launch'})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/controller/dto/tool-launch-request.response.ts:16\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { LaunchRequestMethod } from '../../types';\n\nexport class ToolLaunchRequestResponse {\n\t@ApiProperty({\n\t\tdescription: 'The Launch Request method (GET or POST)',\n\t\tenum: LaunchRequestMethod,\n\t\texample: LaunchRequestMethod.GET,\n\t})\n\tmethod!: LaunchRequestMethod;\n\n\t@ApiProperty({\n\t\tdescription: 'The URL for the Tool Launch Request',\n\t\texample: 'https://example.com/tool-launch',\n\t})\n\turl!: string;\n\n\t@ApiProperty({\n\t\tdescription: 'The payload for the Tool Launch Request (optional)',\n\t\texample: '{ \"key\": \"value\" }',\n\t\trequired: false,\n\t})\n\tpayload?: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Specifies whether the Tool should be launched in a new tab',\n\t\texample: true,\n\t\trequired: false,\n\t})\n\topenNewTab?: boolean;\n\n\tconstructor(props: ToolLaunchRequestResponse) {\n\t\tthis.url = props.url;\n\t\tthis.method = props.method;\n\t\tthis.payload = props.payload;\n\t\tthis.openNewTab = props.openNewTab;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ToolLaunchService.html":{"url":"injectables/ToolLaunchService.html","title":"injectable - ToolLaunchService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ToolLaunchService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/service/tool-launch.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n strategies\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n generateLaunchRequest\n \n \n Async\n getLaunchData\n \n \n Private\n Async\n isToolStatusLatestOrThrow\n \n \n Private\n Async\n loadToolHierarchy\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolExternalToolService: SchoolExternalToolService, externalToolService: ExternalToolService, basicToolLaunchStrategy: BasicToolLaunchStrategy, lti11ToolLaunchStrategy: Lti11ToolLaunchStrategy, oauth2ToolLaunchStrategy: OAuth2ToolLaunchStrategy, toolVersionService: ToolVersionService)\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/tool-launch.service.ts:23\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolService\n \n \n SchoolExternalToolService\n \n \n \n No\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n basicToolLaunchStrategy\n \n \n BasicToolLaunchStrategy\n \n \n \n No\n \n \n \n \n lti11ToolLaunchStrategy\n \n \n Lti11ToolLaunchStrategy\n \n \n \n No\n \n \n \n \n oauth2ToolLaunchStrategy\n \n \n OAuth2ToolLaunchStrategy\n \n \n \n No\n \n \n \n \n toolVersionService\n \n \n ToolVersionService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n generateLaunchRequest\n \n \n \n \n \n \ngenerateLaunchRequest(toolLaunchData: ToolLaunchData)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/tool-launch.service.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolLaunchData\n \n ToolLaunchData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolLaunchRequest\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getLaunchData\n \n \n \n \n \n \n \n getLaunchData(userId: EntityId, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/tool-launch.service.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n isToolStatusLatestOrThrow\n \n \n \n \n \n \n \n isToolStatusLatestOrThrow(userId: EntityId, externalTool: ExternalTool, schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/tool-launch.service.ts:87\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n loadToolHierarchy\n \n \n \n \n \n \n \n loadToolHierarchy(schoolExternalToolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/tool-launch.service.ts:74\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n strategies\n \n \n \n \n \n \n Type : Map\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/tool-launch.service.ts:23\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ContextExternalToolConfigurationStatus } from '../../common/domain';\nimport { ToolConfigType } from '../../common/enum';\nimport { ContextExternalTool } from '../../context-external-tool/domain';\nimport { ToolVersionService } from '../../context-external-tool/service/tool-version-service';\nimport { ExternalTool } from '../../external-tool/domain';\nimport { ExternalToolService } from '../../external-tool/service';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { SchoolExternalToolService } from '../../school-external-tool/service';\nimport { ToolStatusOutdatedLoggableException } from '../error';\nimport { ToolLaunchMapper } from '../mapper';\nimport { ToolLaunchData, ToolLaunchRequest } from '../types';\nimport {\n\tBasicToolLaunchStrategy,\n\tLti11ToolLaunchStrategy,\n\tOAuth2ToolLaunchStrategy,\n\tToolLaunchStrategy,\n} from './launch-strategy';\n\n@Injectable()\nexport class ToolLaunchService {\n\tprivate strategies: Map;\n\n\tconstructor(\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly basicToolLaunchStrategy: BasicToolLaunchStrategy,\n\t\tprivate readonly lti11ToolLaunchStrategy: Lti11ToolLaunchStrategy,\n\t\tprivate readonly oauth2ToolLaunchStrategy: OAuth2ToolLaunchStrategy,\n\t\tprivate readonly toolVersionService: ToolVersionService\n\t) {\n\t\tthis.strategies = new Map();\n\t\tthis.strategies.set(ToolConfigType.BASIC, basicToolLaunchStrategy);\n\t\tthis.strategies.set(ToolConfigType.LTI11, lti11ToolLaunchStrategy);\n\t\tthis.strategies.set(ToolConfigType.OAUTH2, oauth2ToolLaunchStrategy);\n\t}\n\n\tgenerateLaunchRequest(toolLaunchData: ToolLaunchData): ToolLaunchRequest {\n\t\tconst toolConfigType: ToolConfigType = ToolLaunchMapper.mapToToolConfigType(toolLaunchData.type);\n\t\tconst strategy: ToolLaunchStrategy | undefined = this.strategies.get(toolConfigType);\n\n\t\tif (!strategy) {\n\t\t\tthrow new InternalServerErrorException('Unknown tool launch data type');\n\t\t}\n\n\t\tconst launchRequest: ToolLaunchRequest = strategy.createLaunchRequest(toolLaunchData);\n\n\t\treturn launchRequest;\n\t}\n\n\tasync getLaunchData(userId: EntityId, contextExternalTool: ContextExternalTool): Promise {\n\t\tconst schoolExternalToolId: EntityId = contextExternalTool.schoolToolRef.schoolToolId;\n\n\t\tconst { externalTool, schoolExternalTool } = await this.loadToolHierarchy(schoolExternalToolId);\n\n\t\tawait this.isToolStatusLatestOrThrow(userId, externalTool, schoolExternalTool, contextExternalTool);\n\n\t\tconst strategy: ToolLaunchStrategy | undefined = this.strategies.get(externalTool.config.type);\n\n\t\tif (!strategy) {\n\t\t\tthrow new InternalServerErrorException('Unknown tool config type');\n\t\t}\n\n\t\tconst launchData: ToolLaunchData = await strategy.createLaunchData(userId, {\n\t\t\texternalTool,\n\t\t\tschoolExternalTool,\n\t\t\tcontextExternalTool,\n\t\t});\n\n\t\treturn launchData;\n\t}\n\n\tprivate async loadToolHierarchy(\n\t\tschoolExternalToolId: string\n\t): Promise {\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(schoolExternalToolId);\n\n\t\tconst externalTool: ExternalTool = await this.externalToolService.findById(schoolExternalTool.toolId);\n\n\t\treturn {\n\t\t\tschoolExternalTool,\n\t\t\texternalTool,\n\t\t};\n\t}\n\n\tprivate async isToolStatusLatestOrThrow(\n\t\tuserId: EntityId,\n\t\texternalTool: ExternalTool,\n\t\tschoolExternalTool: SchoolExternalTool,\n\t\tcontextExternalTool: ContextExternalTool\n\t): Promise {\n\t\tconst status: ContextExternalToolConfigurationStatus =\n\t\t\tawait this.toolVersionService.determineToolConfigurationStatus(\n\t\t\t\texternalTool,\n\t\t\t\tschoolExternalTool,\n\t\t\t\tcontextExternalTool\n\t\t\t);\n\n\t\tif (status.isOutdatedOnScopeSchool || status.isOutdatedOnScopeContext) {\n\t\t\tthrow new ToolStatusOutdatedLoggableException(\n\t\t\t\tuserId,\n\t\t\t\tcontextExternalTool.id ?? '',\n\t\t\t\tstatus.isOutdatedOnScopeSchool,\n\t\t\t\tstatus.isOutdatedOnScopeContext\n\t\t\t);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ToolLaunchStrategy.html":{"url":"interfaces/ToolLaunchStrategy.html","title":"interface - ToolLaunchStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ToolLaunchStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/service/launch-strategy/tool-launch-strategy.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n createLaunchData\n \n \n \n \n createLaunchRequest\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n createLaunchData\n \n \n \n \n \n \ncreateLaunchData(userId: EntityId, params: ToolLaunchParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/launch-strategy/tool-launch-strategy.interface.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n params\n \n ToolLaunchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n createLaunchRequest\n \n \n \n \n \n \ncreateLaunchRequest(toolLaunchDataDO: ToolLaunchData)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/launch-strategy/tool-launch-strategy.interface.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolLaunchDataDO\n \n ToolLaunchData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolLaunchRequest\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { ToolLaunchData, ToolLaunchRequest } from '../../types';\nimport { ToolLaunchParams } from './tool-launch-params.interface';\n\nexport interface ToolLaunchStrategy {\n\tcreateLaunchData(userId: EntityId, params: ToolLaunchParams): Promise;\n\n\tcreateLaunchRequest(toolLaunchDataDO: ToolLaunchData): ToolLaunchRequest;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ToolLaunchUc.html":{"url":"injectables/ToolLaunchUc.html","title":"injectable - ToolLaunchUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ToolLaunchUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/uc/tool-launch.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getToolLaunchRequest\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(toolLaunchService: ToolLaunchService, contextExternalToolService: ContextExternalToolService, toolPermissionHelper: ToolPermissionHelper)\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/uc/tool-launch.uc.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolLaunchService\n \n \n ToolLaunchService\n \n \n \n No\n \n \n \n \n contextExternalToolService\n \n \n ContextExternalToolService\n \n \n \n No\n \n \n \n \n toolPermissionHelper\n \n \n ToolPermissionHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getToolLaunchRequest\n \n \n \n \n \n \n \n getToolLaunchRequest(userId: EntityId, contextExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/uc/tool-launch.uc.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContext, AuthorizationContextBuilder } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { ToolPermissionHelper } from '../../common/uc/tool-permission-helper';\nimport { ContextExternalTool } from '../../context-external-tool/domain';\nimport { ContextExternalToolService } from '../../context-external-tool/service';\nimport { ToolLaunchService } from '../service';\nimport { ToolLaunchData, ToolLaunchRequest } from '../types';\n\n@Injectable()\nexport class ToolLaunchUc {\n\tconstructor(\n\t\tprivate readonly toolLaunchService: ToolLaunchService,\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService,\n\t\tprivate readonly toolPermissionHelper: ToolPermissionHelper\n\t) {}\n\n\tasync getToolLaunchRequest(userId: EntityId, contextExternalToolId: EntityId): Promise {\n\t\tconst contextExternalTool: ContextExternalTool = await this.contextExternalToolService.findByIdOrFail(\n\t\t\tcontextExternalToolId\n\t\t);\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.CONTEXT_TOOL_USER]);\n\n\t\tawait this.toolPermissionHelper.ensureContextPermissions(userId, contextExternalTool, context);\n\n\t\tconst toolLaunchData: ToolLaunchData = await this.toolLaunchService.getLaunchData(userId, contextExternalTool);\n\t\tconst launchRequest: ToolLaunchRequest = this.toolLaunchService.generateLaunchRequest(toolLaunchData);\n\n\t\treturn launchRequest;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ToolModule.html":{"url":"modules/ToolModule.html","title":"module - ToolModule","body":"\n \n\n\n\n\n Modules\n ToolModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ToolModule\n\n\n\ncluster_ToolModule_providers\n\n\n\ncluster_ToolModule_exports\n\n\n\ncluster_ToolModule_imports\n\n\n\n\nContextExternalToolModule\n\nContextExternalToolModule\n\n\n\nToolModule\n\nToolModule\n\nToolModule -->\n\nContextExternalToolModule->ToolModule\n\n\n\n\n\nExternalToolModule\n\nExternalToolModule\n\nToolModule -->\n\nExternalToolModule->ToolModule\n\n\n\n\n\nSchoolExternalToolModule\n\nSchoolExternalToolModule\n\nToolModule -->\n\nSchoolExternalToolModule->ToolModule\n\n\n\n\n\nToolConfigModule\n\nToolConfigModule\n\nToolModule -->\n\nToolConfigModule->ToolModule\n\n\n\n\n\nToolLaunchModule\n\nToolLaunchModule\n\nToolModule -->\n\nToolLaunchModule->ToolModule\n\n\n\n\n\nCommonToolService \n\nCommonToolService \n\nCommonToolService -->\n\nToolModule->CommonToolService \n\n\n\n\n\nContextExternalToolModule \n\nContextExternalToolModule \n\nContextExternalToolModule -->\n\nToolModule->ContextExternalToolModule \n\n\n\n\n\nExternalToolModule \n\nExternalToolModule \n\nExternalToolModule -->\n\nToolModule->ExternalToolModule \n\n\n\n\n\nSchoolExternalToolModule \n\nSchoolExternalToolModule \n\nSchoolExternalToolModule -->\n\nToolModule->SchoolExternalToolModule \n\n\n\n\n\nToolLaunchModule \n\nToolLaunchModule \n\nToolLaunchModule -->\n\nToolModule->ToolLaunchModule \n\n\n\n\n\nCommonToolService\n\nCommonToolService\n\nToolModule -->\n\nCommonToolService->ToolModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tool/tool.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n CommonToolService\n \n \n \n \n Imports\n \n \n ContextExternalToolModule\n \n \n ExternalToolModule\n \n \n SchoolExternalToolModule\n \n \n ToolConfigModule\n \n \n ToolLaunchModule\n \n \n \n \n Exports\n \n \n CommonToolService\n \n \n ContextExternalToolModule\n \n \n ExternalToolModule\n \n \n SchoolExternalToolModule\n \n \n ToolLaunchModule\n \n \n \n \n \n\n\n \n\n\n \n import { forwardRef, Module } from '@nestjs/common';\nimport { ContextExternalToolModule } from './context-external-tool';\nimport { SchoolExternalToolModule } from './school-external-tool';\nimport { ExternalToolModule } from './external-tool';\nimport { CommonToolModule } from './common';\nimport { ToolLaunchModule } from './tool-launch';\nimport { CommonToolService } from './common/service';\nimport { ToolConfigModule } from './tool-config.module';\n\n@Module({\n\timports: [\n\t\tToolConfigModule,\n\t\tforwardRef(() => CommonToolModule),\n\t\tExternalToolModule,\n\t\tSchoolExternalToolModule,\n\t\tContextExternalToolModule,\n\t\tToolLaunchModule,\n\t],\n\tproviders: [CommonToolService],\n\texports: [\n\t\tExternalToolModule,\n\t\tSchoolExternalToolModule,\n\t\tContextExternalToolModule,\n\t\tToolLaunchModule,\n\t\t// TODO: remove this when reference loader is using service instead of repo\n\t\tCommonToolService,\n\t],\n})\nexport class ToolModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ToolPermissionHelper.html":{"url":"injectables/ToolPermissionHelper.html","title":"injectable - ToolPermissionHelper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ToolPermissionHelper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/uc/tool-permission-helper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n ensureContextPermissions\n \n \n Public\n Async\n ensureSchoolPermissions\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationService: AuthorizationService, schoolService: LegacySchoolService, courseService: CourseService, boardElementService: ContentElementService, boardService: BoardDoAuthorizableService)\n \n \n \n \n Defined in apps/server/src/modules/tool/common/uc/tool-permission-helper.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n courseService\n \n \n CourseService\n \n \n \n No\n \n \n \n \n boardElementService\n \n \n ContentElementService\n \n \n \n No\n \n \n \n \n boardService\n \n \n BoardDoAuthorizableService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n ensureContextPermissions\n \n \n \n \n \n \n \n ensureContextPermissions(userId: EntityId, contextExternalTool: ContextExternalTool, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/uc/tool-permission-helper.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n ensureSchoolPermissions\n \n \n \n \n \n \n \n ensureSchoolPermissions(userId: EntityId, schoolExternalTool: SchoolExternalTool, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/uc/tool-permission-helper.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContext, AuthorizationService, ForbiddenLoggableException } from '@modules/authorization';\nimport { AuthorizableReferenceType } from '@modules/authorization/domain';\nimport { BoardDoAuthorizableService, ContentElementService } from '@modules/board';\nimport { CourseService } from '@modules/learnroom';\nimport { LegacySchoolService } from '@modules/legacy-school';\nimport { Inject, Injectable, forwardRef } from '@nestjs/common';\nimport { BoardDoAuthorizable, LegacySchoolDo } from '@shared/domain/domainobject';\nimport { Course, User } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { ContextExternalTool } from '../../context-external-tool/domain';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { ToolContextType } from '../enum';\n\n@Injectable()\nexport class ToolPermissionHelper {\n\tconstructor(\n\t\t@Inject(forwardRef(() => AuthorizationService)) private readonly authorizationService: AuthorizationService,\n\t\tprivate readonly schoolService: LegacySchoolService,\n\t\t// invalid dependency on this place it is in UC layer in a other module\n\t\t// loading of ressources should be part of service layer\n\t\t// if it must resolve different loadings based on the request it can be added in own service and use in UC\n\t\tprivate readonly courseService: CourseService,\n\t\tprivate readonly boardElementService: ContentElementService,\n\t\tprivate readonly boardService: BoardDoAuthorizableService\n\t) {}\n\n\t// TODO build interface to get contextDO by contextType\n\tpublic async ensureContextPermissions(\n\t\tuserId: EntityId,\n\t\tcontextExternalTool: ContextExternalTool,\n\t\tcontext: AuthorizationContext\n\t): Promise {\n\t\tconst authorizableUser = await this.authorizationService.getUserWithPermissions(userId);\n\n\t\tthis.authorizationService.checkPermission(authorizableUser, contextExternalTool, context);\n\n\t\tif (contextExternalTool.contextRef.type === ToolContextType.COURSE) {\n\t\t\t// loading of ressources should be part of the UC -> unnessasary awaits\n\t\t\tconst course: Course = await this.courseService.findById(contextExternalTool.contextRef.id);\n\n\t\t\tthis.authorizationService.checkPermission(authorizableUser, course, context);\n\t\t} else if (contextExternalTool.contextRef.type === ToolContextType.BOARD_ELEMENT) {\n\t\t\tconst boardElement = await this.boardElementService.findById(contextExternalTool.contextRef.id);\n\n\t\t\tconst board: BoardDoAuthorizable = await this.boardService.getBoardAuthorizable(boardElement);\n\n\t\t\tthis.authorizationService.checkPermission(authorizableUser, board, context);\n\t\t} else {\n\t\t\tthrow new ForbiddenLoggableException(userId, AuthorizableReferenceType.ContextExternalToolEntity, context);\n\t\t}\n\t}\n\n\tpublic async ensureSchoolPermissions(\n\t\tuserId: EntityId,\n\t\tschoolExternalTool: SchoolExternalTool,\n\t\tcontext: AuthorizationContext\n\t): Promise {\n\t\t// loading of ressources should be part of the UC -> unnessasary awaits\n\t\tconst [user, school]: [User, LegacySchoolDo] = await Promise.all([\n\t\t\tthis.authorizationService.getUserWithPermissions(userId),\n\t\t\tthis.schoolService.getSchoolById(schoolExternalTool.schoolId),\n\t\t]);\n\n\t\tthis.authorizationService.checkPermission(user, school, context);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolReference.html":{"url":"classes/ToolReference.html","title":"class - ToolReference","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolReference\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/domain/tool-reference.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n contextToolId\n \n \n displayName\n \n \n Optional\n logoUrl\n \n \n openInNewTab\n \n \n status\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(toolReference: ToolReference)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/tool-reference.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolReference\n \n \n ToolReference\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n contextToolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/tool-reference.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/tool-reference.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/tool-reference.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n openInNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/tool-reference.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : ContextExternalToolConfigurationStatus\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/tool-reference.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ContextExternalToolConfigurationStatus } from '../../common/domain';\n\nexport class ToolReference {\n\tcontextToolId: string;\n\n\tlogoUrl?: string;\n\n\tdisplayName: string;\n\n\topenInNewTab: boolean;\n\n\tstatus: ContextExternalToolConfigurationStatus;\n\n\tconstructor(toolReference: ToolReference) {\n\t\tthis.contextToolId = toolReference.contextToolId;\n\t\tthis.logoUrl = toolReference.logoUrl;\n\t\tthis.displayName = toolReference.displayName;\n\t\tthis.openInNewTab = toolReference.openInNewTab;\n\t\tthis.status = toolReference.status;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/ToolReferenceController.html":{"url":"controllers/ToolReferenceController.html","title":"controller - ToolReferenceController","body":"\n \n\n\n\n\n\n\n Controllers\n ToolReferenceController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/controller/tool-reference.controller.ts\n \n\n \n Prefix\n \n \n tools/tool-references\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n Async\n getToolReference\n \n \n \n \n \n \n \n Async\n getToolReferencesForContext\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getToolReference\n \n \n \n \n \n \n \n getToolReference(currentUser: ICurrentUser, params: ContextExternalToolIdParams)\n \n \n\n \n \n Decorators : \n \n @Get('context-external-tools/:contextExternalToolId')@ApiOperation({summary: 'Get ExternalTool Reference for a given context external tool'})@ApiOkResponse({description: 'The Tool Reference has been successfully fetched.', type: ToolReferenceResponse})@ApiForbiddenResponse({description: 'User is not allowed to access this resource.'})@ApiUnauthorizedResponse({description: 'User is not logged in.'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/tool-reference.controller.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ContextExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getToolReferencesForContext\n \n \n \n \n \n \n \n getToolReferencesForContext(currentUser: ICurrentUser, params: ContextExternalToolContextParams)\n \n \n\n \n \n Decorators : \n \n @Get('/:contextType/:contextId')@ApiOperation({summary: 'Get ExternalTool References for a given context'})@ApiOkResponse({description: 'The Tool References has been successfully fetched.', type: ToolReferenceListResponse})@ApiForbiddenResponse({description: 'User is not allowed to access this resource.'})@ApiUnauthorizedResponse({description: 'User is not logged in.'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/tool-reference.controller.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ContextExternalToolContextParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Controller, Get, Param } from '@nestjs/common';\nimport { ApiForbiddenResponse, ApiOkResponse, ApiOperation, ApiTags, ApiUnauthorizedResponse } from '@nestjs/swagger';\nimport { ToolReference } from '../domain';\nimport { ContextExternalToolResponseMapper } from '../mapper';\nimport { ToolReferenceUc } from '../uc';\nimport {\n\tContextExternalToolContextParams,\n\tContextExternalToolIdParams,\n\tToolReferenceListResponse,\n\tToolReferenceResponse,\n} from './dto';\n\n@ApiTags('Tool')\n@Authenticate('jwt')\n@Controller('tools/tool-references')\nexport class ToolReferenceController {\n\tconstructor(private readonly toolReferenceUc: ToolReferenceUc) {}\n\n\t@Get('context-external-tools/:contextExternalToolId')\n\t@ApiOperation({ summary: 'Get ExternalTool Reference for a given context external tool' })\n\t@ApiOkResponse({\n\t\tdescription: 'The Tool Reference has been successfully fetched.',\n\t\ttype: ToolReferenceResponse,\n\t})\n\t@ApiForbiddenResponse({ description: 'User is not allowed to access this resource.' })\n\t@ApiUnauthorizedResponse({ description: 'User is not logged in.' })\n\tasync getToolReference(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ContextExternalToolIdParams\n\t): Promise {\n\t\tconst toolReference: ToolReference = await this.toolReferenceUc.getToolReference(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.contextExternalToolId\n\t\t);\n\n\t\tconst toolReferenceResponse: ToolReferenceResponse =\n\t\t\tContextExternalToolResponseMapper.mapToToolReferenceResponse(toolReference);\n\n\t\treturn toolReferenceResponse;\n\t}\n\n\t@Get('/:contextType/:contextId')\n\t@ApiOperation({ summary: 'Get ExternalTool References for a given context' })\n\t@ApiOkResponse({\n\t\tdescription: 'The Tool References has been successfully fetched.',\n\t\ttype: ToolReferenceListResponse,\n\t})\n\t@ApiForbiddenResponse({ description: 'User is not allowed to access this resource.' })\n\t@ApiUnauthorizedResponse({ description: 'User is not logged in.' })\n\tasync getToolReferencesForContext(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ContextExternalToolContextParams\n\t): Promise {\n\t\tconst toolReferences: ToolReference[] = await this.toolReferenceUc.getToolReferencesForContext(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.contextType,\n\t\t\tparams.contextId\n\t\t);\n\n\t\tconst toolReferenceResponses: ToolReferenceResponse[] =\n\t\t\tContextExternalToolResponseMapper.mapToToolReferenceResponses(toolReferences);\n\n\t\tconst toolReferenceListResponse: ToolReferenceListResponse = new ToolReferenceListResponse(toolReferenceResponses);\n\n\t\treturn toolReferenceListResponse;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolReferenceListResponse.html":{"url":"classes/ToolReferenceListResponse.html","title":"class - ToolReferenceListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolReferenceListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/controller/dto/tool-reference-list.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: ToolReferenceResponse[])\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/tool-reference-list.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n ToolReferenceResponse[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : ToolReferenceResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/tool-reference-list.response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ToolReferenceResponse } from './tool-reference.response';\n\nexport class ToolReferenceListResponse {\n\t@ApiProperty({ type: [ToolReferenceResponse] })\n\tdata: ToolReferenceResponse[];\n\n\tconstructor(data: ToolReferenceResponse[]) {\n\t\tthis.data = data;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolReferenceMapper.html":{"url":"classes/ToolReferenceMapper.html","title":"class - ToolReferenceMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolReferenceMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/mapper/tool-reference.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToToolReference\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToToolReference\n \n \n \n \n \n \n \n mapToToolReference(externalTool: ExternalTool, contextExternalTool: ContextExternalTool, status: ContextExternalToolConfigurationStatus)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/mapper/tool-reference.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n status\n \n ContextExternalToolConfigurationStatus\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolReference\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ContextExternalToolConfigurationStatus } from '../../common/domain';\nimport { ExternalTool } from '../../external-tool/domain';\nimport { ContextExternalTool, ToolReference } from '../domain';\n\nexport class ToolReferenceMapper {\n\tstatic mapToToolReference(\n\t\texternalTool: ExternalTool,\n\t\tcontextExternalTool: ContextExternalTool,\n\t\tstatus: ContextExternalToolConfigurationStatus\n\t): ToolReference {\n\t\tconst toolReference = new ToolReference({\n\t\t\tcontextToolId: contextExternalTool.id ?? '',\n\t\t\tlogoUrl: externalTool.logoUrl,\n\t\t\tdisplayName: contextExternalTool.displayName ?? externalTool.name,\n\t\t\tstatus,\n\t\t\topenInNewTab: externalTool.openNewTab,\n\t\t});\n\n\t\treturn toolReference;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolReferenceResponse.html":{"url":"classes/ToolReferenceResponse.html","title":"class - ToolReferenceResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolReferenceResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/controller/dto/tool-reference.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contextToolId\n \n \n \n displayName\n \n \n \n Optional\n logoUrl\n \n \n \n openInNewTab\n \n \n \n status\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(toolReferenceResponse: ToolReferenceResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/tool-reference.response.ts:27\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolReferenceResponse\n \n \n ToolReferenceResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextToolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({nullable: false, required: true, description: 'The id of the tool in the context'})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/tool-reference.response.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n \n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({nullable: false, required: true, description: 'The display name of the tool'})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/tool-reference.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({nullable: false, required: false, description: 'The url of the logo which is stored in the db'})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/tool-reference.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n openInNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({nullable: false, required: true, description: 'Whether the tool should be opened in a new tab'})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/tool-reference.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : ContextExternalToolConfigurationStatusResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: ContextExternalToolConfigurationStatusResponse, nullable: false, required: true, description: 'The status of the tool'})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/tool-reference.response.ts:27\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { ContextExternalToolConfigurationStatusResponse } from '../../../common/controller/dto';\n\nexport class ToolReferenceResponse {\n\t@ApiProperty({ nullable: false, required: true, description: 'The id of the tool in the context' })\n\tcontextToolId: string;\n\n\t@ApiPropertyOptional({\n\t\tnullable: false,\n\t\trequired: false,\n\t\tdescription: 'The url of the logo which is stored in the db',\n\t})\n\tlogoUrl?: string;\n\n\t@ApiProperty({ nullable: false, required: true, description: 'The display name of the tool' })\n\tdisplayName: string;\n\n\t@ApiProperty({ nullable: false, required: true, description: 'Whether the tool should be opened in a new tab' })\n\topenInNewTab: boolean;\n\n\t@ApiProperty({\n\t\ttype: ContextExternalToolConfigurationStatusResponse,\n\t\tnullable: false,\n\t\trequired: true,\n\t\tdescription: 'The status of the tool',\n\t})\n\tstatus: ContextExternalToolConfigurationStatusResponse;\n\n\tconstructor(toolReferenceResponse: ToolReferenceResponse) {\n\t\tthis.contextToolId = toolReferenceResponse.contextToolId;\n\t\tthis.logoUrl = toolReferenceResponse.logoUrl;\n\t\tthis.displayName = toolReferenceResponse.displayName;\n\t\tthis.openInNewTab = toolReferenceResponse.openInNewTab;\n\t\tthis.status = toolReferenceResponse.status;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ToolReferenceService.html":{"url":"injectables/ToolReferenceService.html","title":"injectable - ToolReferenceService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ToolReferenceService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/service/tool-reference.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getToolReference\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolService: ExternalToolService, schoolExternalToolService: SchoolExternalToolService, contextExternalToolService: ContextExternalToolService, externalToolLogoService: ExternalToolLogoService, toolVersionService: ToolVersionService)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/tool-reference.service.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n schoolExternalToolService\n \n \n SchoolExternalToolService\n \n \n \n No\n \n \n \n \n contextExternalToolService\n \n \n ContextExternalToolService\n \n \n \n No\n \n \n \n \n externalToolLogoService\n \n \n ExternalToolLogoService\n \n \n \n No\n \n \n \n \n toolVersionService\n \n \n ToolVersionService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getToolReference\n \n \n \n \n \n \n \n getToolReference(contextExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/tool-reference.service.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ExternalTool } from '../../external-tool/domain';\nimport { ExternalToolLogoService, ExternalToolService } from '../../external-tool/service';\nimport { ContextExternalToolConfigurationStatus } from '../../common/domain';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { SchoolExternalToolService } from '../../school-external-tool/service';\nimport { ContextExternalTool, ToolReference } from '../domain';\nimport { ToolReferenceMapper } from '../mapper';\nimport { ContextExternalToolService } from './context-external-tool.service';\nimport { ToolVersionService } from './tool-version-service';\n\n@Injectable()\nexport class ToolReferenceService {\n\tconstructor(\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService,\n\t\tprivate readonly externalToolLogoService: ExternalToolLogoService,\n\t\tprivate readonly toolVersionService: ToolVersionService\n\t) {}\n\n\tasync getToolReference(contextExternalToolId: EntityId): Promise {\n\t\tconst contextExternalTool: ContextExternalTool = await this.contextExternalToolService.findByIdOrFail(\n\t\t\tcontextExternalToolId\n\t\t);\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(\n\t\t\tcontextExternalTool.schoolToolRef.schoolToolId\n\t\t);\n\t\tconst externalTool: ExternalTool = await this.externalToolService.findById(schoolExternalTool.toolId);\n\n\t\tconst status: ContextExternalToolConfigurationStatus =\n\t\t\tawait this.toolVersionService.determineToolConfigurationStatus(\n\t\t\t\texternalTool,\n\t\t\t\tschoolExternalTool,\n\t\t\t\tcontextExternalTool\n\t\t\t);\n\n\t\tconst toolReference: ToolReference = ToolReferenceMapper.mapToToolReference(\n\t\t\texternalTool,\n\t\t\tcontextExternalTool,\n\t\t\tstatus\n\t\t);\n\t\ttoolReference.logoUrl = this.externalToolLogoService.buildLogoUrl(\n\t\t\t'/v3/tools/external-tools/{id}/logo',\n\t\t\texternalTool\n\t\t);\n\n\t\treturn toolReference;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ToolReferenceUc.html":{"url":"injectables/ToolReferenceUc.html","title":"injectable - ToolReferenceUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ToolReferenceUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/uc/tool-reference.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n ensureToolPermissions\n \n \n Async\n getToolReference\n \n \n Async\n getToolReferencesForContext\n \n \n Private\n Async\n tryBuildToolReference\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(contextExternalToolService: ContextExternalToolService, toolReferenceService: ToolReferenceService, toolPermissionHelper: ToolPermissionHelper)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/tool-reference.uc.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalToolService\n \n \n ContextExternalToolService\n \n \n \n No\n \n \n \n \n toolReferenceService\n \n \n ToolReferenceService\n \n \n \n No\n \n \n \n \n toolPermissionHelper\n \n \n ToolPermissionHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n ensureToolPermissions\n \n \n \n \n \n \n \n ensureToolPermissions(userId: EntityId, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/tool-reference.uc.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getToolReference\n \n \n \n \n \n \n \n getToolReference(userId: EntityId, contextExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/tool-reference.uc.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getToolReferencesForContext\n \n \n \n \n \n \n \n getToolReferencesForContext(userId: EntityId, contextType: ToolContextType, contextId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/tool-reference.uc.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextType\n \n ToolContextType\n \n\n \n No\n \n\n\n \n \n contextId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n tryBuildToolReference\n \n \n \n \n \n \n \n tryBuildToolReference(userId: EntityId, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/tool-reference.uc.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContext, AuthorizationContextBuilder } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { ToolContextType } from '../../common/enum';\nimport { ToolPermissionHelper } from '../../common/uc/tool-permission-helper';\nimport { ContextExternalTool, ContextRef, ToolReference } from '../domain';\nimport { ContextExternalToolService, ToolReferenceService } from '../service';\n\n@Injectable()\nexport class ToolReferenceUc {\n\tconstructor(\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService,\n\t\tprivate readonly toolReferenceService: ToolReferenceService,\n\t\tprivate readonly toolPermissionHelper: ToolPermissionHelper\n\t) {}\n\n\tasync getToolReferencesForContext(\n\t\tuserId: EntityId,\n\t\tcontextType: ToolContextType,\n\t\tcontextId: EntityId\n\t): Promise {\n\t\tconst contextRef = new ContextRef({ type: contextType, id: contextId });\n\n\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolService.findAllByContext(\n\t\t\tcontextRef\n\t\t);\n\n\t\tconst toolReferencesPromises: Promise[] = contextExternalTools.map(\n\t\t\tasync (contextExternalTool: ContextExternalTool) => this.tryBuildToolReference(userId, contextExternalTool)\n\t\t);\n\n\t\tconst toolReferencesWithNull: (ToolReference | null)[] = await Promise.all(toolReferencesPromises);\n\t\tconst filteredToolReferences: ToolReference[] = toolReferencesWithNull.filter(\n\t\t\t(toolReference: ToolReference | null): toolReference is ToolReference => toolReference !== null\n\t\t);\n\n\t\treturn filteredToolReferences;\n\t}\n\n\tprivate async tryBuildToolReference(\n\t\tuserId: EntityId,\n\t\tcontextExternalTool: ContextExternalTool\n\t): Promise {\n\t\ttry {\n\t\t\tawait this.ensureToolPermissions(userId, contextExternalTool);\n\n\t\t\tconst toolReference: ToolReference = await this.toolReferenceService.getToolReference(\n\t\t\t\tcontextExternalTool.id as string\n\t\t\t);\n\n\t\t\treturn toolReference;\n\t\t} catch (e: unknown) {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tasync getToolReference(userId: EntityId, contextExternalToolId: EntityId): Promise {\n\t\tconst contextExternalTool: ContextExternalTool = await this.contextExternalToolService.findByIdOrFail(\n\t\t\tcontextExternalToolId\n\t\t);\n\n\t\tawait this.ensureToolPermissions(userId, contextExternalTool);\n\n\t\tconst toolReference: ToolReference = await this.toolReferenceService.getToolReference(\n\t\t\tcontextExternalTool.id as string\n\t\t);\n\n\t\treturn toolReference;\n\t}\n\n\tprivate async ensureToolPermissions(userId: EntityId, contextExternalTool: ContextExternalTool): Promise {\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.CONTEXT_TOOL_USER]);\n\n\t\tconst promise: Promise = this.toolPermissionHelper.ensureContextPermissions(\n\t\t\tuserId,\n\t\t\tcontextExternalTool,\n\t\t\tcontext\n\t\t);\n\n\t\treturn promise;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/ToolSchoolController.html":{"url":"controllers/ToolSchoolController.html","title":"controller - ToolSchoolController","body":"\n \n\n\n\n\n\n\n Controllers\n ToolSchoolController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/controller/tool-school.controller.ts\n \n\n \n Prefix\n \n \n tools/school-external-tools\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createSchoolExternalTool\n \n \n \n \n \n \n \n Async\n deleteSchoolExternalTool\n \n \n \n \n \n \n Async\n getMetaDataForExternalTool\n \n \n \n \n \n \n Async\n getSchoolExternalTool\n \n \n \n \n \n \n \n Async\n getSchoolExternalTools\n \n \n \n \n \n \n \n \n Async\n updateSchoolExternalTool\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createSchoolExternalTool\n \n \n \n \n \n \n \n createSchoolExternalTool(currentUser: ICurrentUser, body: SchoolExternalToolPostParams)\n \n \n\n \n \n Decorators : \n \n @Post()@ApiCreatedResponse({description: 'The SchoolExternalTool has been successfully created.', type: SchoolExternalToolResponse})@ApiForbiddenResponse()@ApiUnprocessableEntityResponse()@ApiUnauthorizedResponse()@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiOperation({summary: 'Creates a SchoolExternalTool'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/tool-school.controller.ts:126\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n body\n \n SchoolExternalToolPostParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteSchoolExternalTool\n \n \n \n \n \n \n \n deleteSchoolExternalTool(currentUser: ICurrentUser, params: SchoolExternalToolIdParams)\n \n \n\n \n \n Decorators : \n \n @Delete(':schoolExternalToolId')@ApiForbiddenResponse()@ApiUnauthorizedResponse()@ApiOperation({summary: 'Deletes a SchoolExternalTool'})@HttpCode(HttpStatus.NO_CONTENT)\n \n \n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/tool-school.controller.ts:106\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n SchoolExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getMetaDataForExternalTool\n \n \n \n \n \n \n \n getMetaDataForExternalTool(currentUser: ICurrentUser, params: SchoolExternalToolIdParams)\n \n \n\n \n \n Decorators : \n \n @Get('/:schoolExternalToolId/metadata')@ApiOperation({summary: 'Gets the metadata of an school external tool.'})@ApiOkResponse({description: 'Metadata of school external tool fetched successfully.', type: SchoolExternalToolMetadataResponse})@ApiUnauthorizedResponse({description: 'User is not logged in.'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/tool-school.controller.ts:152\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n SchoolExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getSchoolExternalTool\n \n \n \n \n \n \n \n getSchoolExternalTool(currentUser: ICurrentUser, params: SchoolExternalToolIdParams)\n \n \n\n \n \n Decorators : \n \n @Get(':schoolExternalToolId')@ApiForbiddenResponse()@ApiUnauthorizedResponse()@ApiOperation({summary: 'Returns a SchoolExternalTool for the given id'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/tool-school.controller.ts:66\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n SchoolExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getSchoolExternalTools\n \n \n \n \n \n \n \n getSchoolExternalTools(currentUser: ICurrentUser, schoolExternalToolParams: SchoolExternalToolSearchParams)\n \n \n\n \n \n Decorators : \n \n @Get()@ApiFoundResponse({description: 'SchoolExternalTools has been found.', type: ExternalToolSearchListResponse})@ApiForbiddenResponse()@ApiUnauthorizedResponse()@ApiOperation({summary: 'Returns a list of SchoolExternalTools for a given school'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/tool-school.controller.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n schoolExternalToolParams\n \n SchoolExternalToolSearchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateSchoolExternalTool\n \n \n \n \n \n \n \n updateSchoolExternalTool(currentUser: ICurrentUser, params: SchoolExternalToolIdParams, body: SchoolExternalToolPostParams)\n \n \n\n \n \n Decorators : \n \n @Put('/:schoolExternalToolId')@ApiOkResponse({description: 'The Tool has been successfully updated.', type: SchoolExternalToolResponse})@ApiForbiddenResponse()@ApiUnauthorizedResponse()@ApiBadRequestResponse({type: ValidationError, description: 'Request data has invalid format.'})@ApiOperation({summary: 'Updates a SchoolExternalTool'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/tool-school.controller.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n SchoolExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n body\n \n SchoolExternalToolPostParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, Delete, Get, HttpCode, HttpStatus, Param, Post, Put, Query } from '@nestjs/common';\nimport {\n\tApiBadRequestResponse,\n\tApiCreatedResponse,\n\tApiForbiddenResponse,\n\tApiFoundResponse,\n\tApiOkResponse,\n\tApiOperation,\n\tApiResponse,\n\tApiTags,\n\tApiUnauthorizedResponse,\n\tApiUnprocessableEntityResponse,\n} from '@nestjs/swagger';\nimport { ValidationError } from '@shared/common';\nimport { LegacyLogger } from '@src/core/logger';\nimport { ExternalToolSearchListResponse } from '../../external-tool/controller/dto';\nimport { SchoolExternalTool, SchoolExternalToolMetadata } from '../domain';\nimport {\n\tSchoolExternalToolMetadataMapper,\n\tSchoolExternalToolRequestMapper,\n\tSchoolExternalToolResponseMapper,\n} from '../mapper';\nimport { SchoolExternalToolUc } from '../uc';\nimport { SchoolExternalToolDto } from '../uc/dto/school-external-tool.types';\nimport {\n\tSchoolExternalToolIdParams,\n\tSchoolExternalToolMetadataResponse,\n\tSchoolExternalToolPostParams,\n\tSchoolExternalToolResponse,\n\tSchoolExternalToolSearchListResponse,\n\tSchoolExternalToolSearchParams,\n} from './dto';\n\n@ApiTags('Tool')\n@Authenticate('jwt')\n@Controller('tools/school-external-tools')\nexport class ToolSchoolController {\n\tconstructor(\n\t\tprivate readonly schoolExternalToolUc: SchoolExternalToolUc,\n\t\tprivate readonly responseMapper: SchoolExternalToolResponseMapper,\n\t\tprivate readonly requestMapper: SchoolExternalToolRequestMapper,\n\t\tprivate readonly logger: LegacyLogger\n\t) {}\n\n\t@Get()\n\t@ApiFoundResponse({ description: 'SchoolExternalTools has been found.', type: ExternalToolSearchListResponse })\n\t@ApiForbiddenResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiOperation({ summary: 'Returns a list of SchoolExternalTools for a given school' })\n\tasync getSchoolExternalTools(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() schoolExternalToolParams: SchoolExternalToolSearchParams\n\t): Promise {\n\t\tconst found: SchoolExternalTool[] = await this.schoolExternalToolUc.findSchoolExternalTools(currentUser.userId, {\n\t\t\tschoolId: schoolExternalToolParams.schoolId,\n\t\t});\n\t\tconst response: SchoolExternalToolSearchListResponse = this.responseMapper.mapToSearchListResponse(found);\n\t\treturn response;\n\t}\n\n\t@Get(':schoolExternalToolId')\n\t@ApiForbiddenResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiOperation({ summary: 'Returns a SchoolExternalTool for the given id' })\n\tasync getSchoolExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: SchoolExternalToolIdParams\n\t): Promise {\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolUc.getSchoolExternalTool(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.schoolExternalToolId\n\t\t);\n\t\tconst mapped: SchoolExternalToolResponse = this.responseMapper.mapToSchoolExternalToolResponse(schoolExternalTool);\n\t\treturn mapped;\n\t}\n\n\t@Put('/:schoolExternalToolId')\n\t@ApiOkResponse({ description: 'The Tool has been successfully updated.', type: SchoolExternalToolResponse })\n\t@ApiForbiddenResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiBadRequestResponse({ type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiOperation({ summary: 'Updates a SchoolExternalTool' })\n\tasync updateSchoolExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: SchoolExternalToolIdParams,\n\t\t@Body() body: SchoolExternalToolPostParams\n\t): Promise {\n\t\tconst schoolExternalToolDto: SchoolExternalToolDto = this.requestMapper.mapSchoolExternalToolRequest(body);\n\t\tconst updated: SchoolExternalTool = await this.schoolExternalToolUc.updateSchoolExternalTool(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.schoolExternalToolId,\n\t\t\tschoolExternalToolDto\n\t\t);\n\n\t\tconst mapped: SchoolExternalToolResponse = this.responseMapper.mapToSchoolExternalToolResponse(updated);\n\t\tthis.logger.debug(`SchoolExternalTool with id ${mapped.id} was updated by user with id ${currentUser.userId}`);\n\t\treturn mapped;\n\t}\n\n\t@Delete(':schoolExternalToolId')\n\t@ApiForbiddenResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiOperation({ summary: 'Deletes a SchoolExternalTool' })\n\t@HttpCode(HttpStatus.NO_CONTENT)\n\tasync deleteSchoolExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: SchoolExternalToolIdParams\n\t): Promise {\n\t\tawait this.schoolExternalToolUc.deleteSchoolExternalTool(currentUser.userId, params.schoolExternalToolId);\n\t\tthis.logger.debug(\n\t\t\t`SchoolExternalTool with id ${params.schoolExternalToolId} was deleted by user with id ${currentUser.userId}`\n\t\t);\n\t}\n\n\t@Post()\n\t@ApiCreatedResponse({\n\t\tdescription: 'The SchoolExternalTool has been successfully created.',\n\t\ttype: SchoolExternalToolResponse,\n\t})\n\t@ApiForbiddenResponse()\n\t@ApiUnprocessableEntityResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiOperation({ summary: 'Creates a SchoolExternalTool' })\n\tasync createSchoolExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() body: SchoolExternalToolPostParams\n\t): Promise {\n\t\tconst schoolExternalToolDto: SchoolExternalToolDto = this.requestMapper.mapSchoolExternalToolRequest(body);\n\n\t\tconst createdSchoolExternalToolDO: SchoolExternalTool = await this.schoolExternalToolUc.createSchoolExternalTool(\n\t\t\tcurrentUser.userId,\n\t\t\tschoolExternalToolDto\n\t\t);\n\n\t\tconst response: SchoolExternalToolResponse =\n\t\t\tthis.responseMapper.mapToSchoolExternalToolResponse(createdSchoolExternalToolDO);\n\n\t\tthis.logger.debug(`SchoolExternalTool with id ${response.id} was created by user with id ${currentUser.userId}`);\n\n\t\treturn response;\n\t}\n\n\t@Get('/:schoolExternalToolId/metadata')\n\t@ApiOperation({ summary: 'Gets the metadata of an school external tool.' })\n\t@ApiOkResponse({\n\t\tdescription: 'Metadata of school external tool fetched successfully.',\n\t\ttype: SchoolExternalToolMetadataResponse,\n\t})\n\t@ApiUnauthorizedResponse({ description: 'User is not logged in.' })\n\tasync getMetaDataForExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: SchoolExternalToolIdParams\n\t): Promise {\n\t\tconst schoolExternalToolMetadata: SchoolExternalToolMetadata =\n\t\t\tawait this.schoolExternalToolUc.getMetadataForSchoolExternalTool(currentUser.userId, params.schoolExternalToolId);\n\n\t\tconst mapped: SchoolExternalToolMetadataResponse =\n\t\t\tSchoolExternalToolMetadataMapper.mapToSchoolExternalToolMetadataResponse(schoolExternalToolMetadata);\n\n\t\treturn mapped;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolStatusOutdatedLoggableException.html":{"url":"classes/ToolStatusOutdatedLoggableException.html","title":"class - ToolStatusOutdatedLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolStatusOutdatedLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/error/tool-status-outdated.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n BadRequestException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userId: EntityId, toolId: EntityId, isOutdatedOnScopeSchool: boolean, isOutdatedOnScopeContext: boolean)\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/error/tool-status-outdated.loggable-exception.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n toolId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n isOutdatedOnScopeSchool\n \n \n boolean\n \n \n \n No\n \n \n \n \n isOutdatedOnScopeContext\n \n \n boolean\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/error/tool-status-outdated.loggable-exception.ts:15\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BadRequestException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class ToolStatusOutdatedLoggableException extends BadRequestException implements Loggable {\n\tconstructor(\n\t\tprivate readonly userId: EntityId,\n\t\tprivate readonly toolId: EntityId,\n\t\tprivate readonly isOutdatedOnScopeSchool: boolean,\n\t\tprivate readonly isOutdatedOnScopeContext: boolean\n\t) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'TOOL_STATUS_OUTDATED',\n\t\t\tmessage: 'The status of the tool is outdated and cannot be launched by the user.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tuserId: this.userId,\n\t\t\t\ttoolId: this.toolId,\n\t\t\t\tisOutdatedOnScopeSchool: this.isOutdatedOnScopeSchool,\n\t\t\t\tisOutdatedOnScopeContext: this.isOutdatedOnScopeContext,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolStatusResponseMapper.html":{"url":"classes/ToolStatusResponseMapper.html","title":"class - ToolStatusResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolStatusResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/mapper/tool-status-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(status: ContextExternalToolConfigurationStatus)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/mapper/tool-status-response.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n status\n \n ContextExternalToolConfigurationStatus\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolConfigurationStatusResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ContextExternalToolConfigurationStatusResponse } from '../controller/dto';\nimport { ContextExternalToolConfigurationStatus } from '../domain';\n\nexport class ToolStatusResponseMapper {\n\tstatic mapToResponse(status: ContextExternalToolConfigurationStatus): ContextExternalToolConfigurationStatusResponse {\n\t\tconst configurationStatus: ContextExternalToolConfigurationStatusResponse =\n\t\t\tnew ContextExternalToolConfigurationStatusResponse({\n\t\t\t\tisOutdatedOnScopeSchool: status.isOutdatedOnScopeSchool,\n\t\t\t\tisOutdatedOnScopeContext: status.isOutdatedOnScopeContext,\n\t\t\t});\n\n\t\treturn configurationStatus;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ToolVersion.html":{"url":"interfaces/ToolVersion.html","title":"interface - ToolVersion","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ToolVersion\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/interface/tool-version.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n getVersion\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n getVersion\n \n \n \n \n \n \ngetVersion()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/interface/tool-version.interface.ts:2\n \n \n\n\n \n \n\n \n Returns : number\n\n \n \n \n \n \n\n\n \n\n\n \n export interface ToolVersion {\n\tgetVersion(): number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ToolVersionService.html":{"url":"injectables/ToolVersionService.html","title":"injectable - ToolVersionService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ToolVersionService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/service/tool-version-service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n determineToolConfigurationStatus\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(contextExternalToolValidationService: ContextExternalToolValidationService, schoolExternalToolValidationService: SchoolExternalToolValidationService, commonToolService: CommonToolService, toolFeatures: IToolFeatures)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/tool-version-service.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalToolValidationService\n \n \n ContextExternalToolValidationService\n \n \n \n No\n \n \n \n \n schoolExternalToolValidationService\n \n \n SchoolExternalToolValidationService\n \n \n \n No\n \n \n \n \n commonToolService\n \n \n CommonToolService\n \n \n \n No\n \n \n \n \n toolFeatures\n \n \n IToolFeatures\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n determineToolConfigurationStatus\n \n \n \n \n \n \n \n determineToolConfigurationStatus(externalTool: ExternalTool, schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/tool-version-service.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Inject } from '@nestjs/common';\nimport { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { ContextExternalToolConfigurationStatus } from '../../common/domain';\nimport { CommonToolService } from '../../common/service';\nimport { ExternalTool } from '../../external-tool/domain';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { SchoolExternalToolValidationService } from '../../school-external-tool/service';\nimport { IToolFeatures, ToolFeatures } from '../../tool-config';\nimport { ContextExternalTool } from '../domain';\nimport { ContextExternalToolValidationService } from './context-external-tool-validation.service';\n\n@Injectable()\nexport class ToolVersionService {\n\tconstructor(\n\t\tprivate readonly contextExternalToolValidationService: ContextExternalToolValidationService,\n\t\tprivate readonly schoolExternalToolValidationService: SchoolExternalToolValidationService,\n\t\tprivate readonly commonToolService: CommonToolService,\n\t\t@Inject(ToolFeatures) private readonly toolFeatures: IToolFeatures\n\t) {}\n\n\tasync determineToolConfigurationStatus(\n\t\texternalTool: ExternalTool,\n\t\tschoolExternalTool: SchoolExternalTool,\n\t\tcontextExternalTool: ContextExternalTool\n\t): Promise {\n\t\t// TODO N21-1337 remove if statement, when feature flag is removed\n\t\tif (this.toolFeatures.toolStatusWithoutVersions) {\n\t\t\tconst configurationStatus: ContextExternalToolConfigurationStatus = new ContextExternalToolConfigurationStatus({\n\t\t\t\tisOutdatedOnScopeContext: false,\n\t\t\t\tisOutdatedOnScopeSchool: false,\n\t\t\t});\n\n\t\t\ttry {\n\t\t\t\tawait this.schoolExternalToolValidationService.validate(schoolExternalTool);\n\t\t\t} catch (err) {\n\t\t\t\tconfigurationStatus.isOutdatedOnScopeSchool = true;\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tawait this.contextExternalToolValidationService.validate(contextExternalTool);\n\t\t\t} catch (err) {\n\t\t\t\tconfigurationStatus.isOutdatedOnScopeContext = true;\n\t\t\t}\n\n\t\t\treturn configurationStatus;\n\t\t}\n\t\tconst status: ContextExternalToolConfigurationStatus = this.commonToolService.determineToolConfigurationStatus(\n\t\t\texternalTool,\n\t\t\tschoolExternalTool,\n\t\t\tcontextExternalTool\n\t\t);\n\n\t\treturn status;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TriggerDeletionExecutionOptions.html":{"url":"interfaces/TriggerDeletionExecutionOptions.html","title":"interface - TriggerDeletionExecutionOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TriggerDeletionExecutionOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/console/interface/trigger-deletion-execution-options.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n limit\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n limit\n \n \n \n \n \n \n \n \n limit: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface TriggerDeletionExecutionOptions {\n\tlimit: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TriggerDeletionExecutionOptionsBuilder.html":{"url":"classes/TriggerDeletionExecutionOptionsBuilder.html","title":"class - TriggerDeletionExecutionOptionsBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TriggerDeletionExecutionOptionsBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/console/builder/trigger-deletion-execution-options.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(limit: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/console/builder/trigger-deletion-execution-options.builder.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n limit\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TriggerDeletionExecutionOptions\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { TriggerDeletionExecutionOptions } from '../interface';\n\nexport class TriggerDeletionExecutionOptionsBuilder {\n\tstatic build(limit: number): TriggerDeletionExecutionOptions {\n\t\treturn { limit };\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UnauthorizedLoggableException.html":{"url":"classes/UnauthorizedLoggableException.html","title":"class - UnauthorizedLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UnauthorizedLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/errors/unauthorized.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n UnauthorizedException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(username: string, systemId?: string)\n \n \n \n \n Defined in apps/server/src/modules/authentication/errors/unauthorized.loggable-exception.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n \n string\n \n \n \n No\n \n \n \n \n systemId\n \n \n string\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/errors/unauthorized.loggable-exception.ts:10\n \n \n\n\n \n \n\n \n Returns : ErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UnauthorizedException } from '@nestjs/common';\nimport { Loggable } from '@src/core/logger/interfaces';\nimport { ErrorLogMessage } from '@src/core/logger/types';\n\nexport class UnauthorizedLoggableException extends UnauthorizedException implements Loggable {\n\tconstructor(private readonly username: string, private readonly systemId?: string) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): ErrorLogMessage {\n\t\tconst message: ErrorLogMessage = {\n\t\t\ttype: 'UNAUTHORIZED_EXCEPTION',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tuserName: this.username,\n\t\t\t\tsystemId: this.systemId,\n\t\t\t},\n\t\t};\n\n\t\treturn message;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UnknownQueryTypeLoggableException.html":{"url":"classes/UnknownQueryTypeLoggableException.html","title":"class - UnknownQueryTypeLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UnknownQueryTypeLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/loggable/unknown-query-type-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n InternalServerErrorException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(unknownQueryType: string)\n \n \n \n \n Defined in apps/server/src/modules/group/loggable/unknown-query-type-loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n unknownQueryType\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/loggable/unknown-query-type-loggable-exception.ts:9\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { InternalServerErrorException } from '@nestjs/common';\n\nexport class UnknownQueryTypeLoggableException extends InternalServerErrorException implements Loggable {\n\tconstructor(private readonly unknownQueryType: string) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'INTERNAL_SERVER_ERROR',\n\t\t\tstack: this.stack,\n\t\t\tmessage: 'Unable to process unknown query type for class years.',\n\t\t\tdata: {\n\t\t\t\tunknownQueryType: this.unknownQueryType,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UpdateElementContentBodyParams.html":{"url":"classes/UpdateElementContentBodyParams.html","title":"class - UpdateElementContentBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UpdateElementContentBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n data\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : FileElementContentBody | LinkElementContentBody | RichTextElementContentBody | SubmissionContainerElementContentBody | ExternalToolElementContentBody | DrawingElementContentBody\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()@Type(undefined, {discriminator: undefined, keepDiscriminatorProperty: true})@ApiProperty({oneOf: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:169\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UpdateFlagParams.html":{"url":"classes/UpdateFlagParams.html","title":"class - UpdateFlagParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UpdateFlagParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/controller/dto/update-flag.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n flagged\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n flagged\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'updates flag for an import user'})@IsBoolean()\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/update-flag.params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsBoolean } from 'class-validator';\n\nexport class UpdateFlagParams {\n\t@ApiProperty({ description: 'updates flag for an import user' })\n\t@IsBoolean()\n\tflagged!: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UpdateMatchParams.html":{"url":"classes/UpdateMatchParams.html","title":"class - UpdateMatchParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UpdateMatchParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/controller/dto/update-match.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'updates local user reference for an import user'})@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/update-match.params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class UpdateMatchParams {\n\t@ApiProperty({ description: 'updates local user reference for an import user' })\n\t@IsMongoId()\n\tuserId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UpdateNewsParams.html":{"url":"classes/UpdateNewsParams.html","title":"class - UpdateNewsParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UpdateNewsParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/dto/update-news.params.ts\n \n\n\n \n Description\n \n \n DTO for Updating a news document.\nA PartialType is a halper which allows to extend an existing class by making all its properties optional.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n displayAt\n \n \n \n \n \n \n title\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()@SanitizeHtml(InputFormat.RICH_TEXT)@ApiPropertyOptional({description: 'Content of the News entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/update-news.params.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n displayAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsDate()@ApiPropertyOptional({description: 'The point in time from when the News entity schould be displayed'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/update-news.params.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()@SanitizeHtml()@ApiPropertyOptional({description: 'Title of the News entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/update-news.params.ts:17\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\nimport { InputFormat } from '@shared/domain/types';\nimport { IsDate, IsOptional, IsString } from 'class-validator';\n\n/**\n * DTO for Updating a news document.\n * A PartialType is a halper which allows to extend an existing class by making all its properties optional.\n */\nexport class UpdateNewsParams {\n\t@IsOptional()\n\t@IsString()\n\t@SanitizeHtml()\n\t@ApiPropertyOptional({\n\t\tdescription: 'Title of the News entity',\n\t})\n\ttitle!: string;\n\n\t@IsOptional()\n\t@IsString()\n\t@SanitizeHtml(InputFormat.RICH_TEXT)\n\t@ApiPropertyOptional({\n\t\tdescription: 'Content of the News entity',\n\t})\n\tcontent!: string;\n\n\t@IsOptional()\n\t@IsDate()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time from when the News entity schould be displayed',\n\t})\n\tdisplayAt!: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UpdateSubmissionItemBodyParams.html":{"url":"classes/UpdateSubmissionItemBodyParams.html","title":"class - UpdateSubmissionItemBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UpdateSubmissionItemBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/submission-item/update-submission-item.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n completed\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n completed\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty({description: 'Boolean indicating whether the submission is completed.', required: true})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/update-submission-item.body.params.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsBoolean } from 'class-validator';\n\nexport class UpdateSubmissionItemBodyParams {\n\t@IsBoolean()\n\t@ApiProperty({\n\t\tdescription: 'Boolean indicating whether the submission is completed.',\n\t\trequired: true,\n\t})\n\tcompleted!: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UrlHandler.html":{"url":"interfaces/UrlHandler.html","title":"interface - UrlHandler","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UrlHandler\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/interface/url-handler.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n doesUrlMatch\n \n \n \n \n getMetaData\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n doesUrlMatch\n \n \n \n \n \n \ndoesUrlMatch(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/interface/url-handler.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getMetaData\n \n \n \n \n \n \ngetMetaData(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/interface/url-handler.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { MetaData } from '../types';\n\nexport interface UrlHandler {\n\tdoesUrlMatch(url: string): boolean;\n\tgetMetaData(url: string): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/User.html":{"url":"entities/User.html","title":"entity - User","body":"\n \n\n\n\n\n\n\n\n Entities\n User\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/user.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n birthday\n \n \n \n \n Optional\n deletedAt\n \n \n \n \n email\n \n \n \n Optional\n emailSearchValues\n \n \n \n Optional\n externalId\n \n \n \n firstName\n \n \n \n Optional\n firstNameSearchValues\n \n \n \n Optional\n forcePasswordChange\n \n \n \n \n Optional\n importHash\n \n \n \n Optional\n language\n \n \n \n Optional\n lastLoginSystemChange\n \n \n \n lastName\n \n \n \n Optional\n lastNameSearchValues\n \n \n \n \n Optional\n ldapDn\n \n \n \n Optional\n outdatedSince\n \n \n \n Optional\n parents\n \n \n \n Optional\n preferences\n \n \n \n Optional\n previousExternalId\n \n \n \n \n roles\n \n \n \n \n school\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n birthday\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:103\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n deletedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:94\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n email\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n emailSearchValues\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:81\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true, fieldName: 'ldapId'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:65\n \n \n\n\n \n \n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:47\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n firstNameSearchValues\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:75\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n forcePasswordChange\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:87\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n importHash\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:72\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n language\n \n \n \n \n \n \n Type : LanguageType\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:84\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n lastLoginSystemChange\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:97\n \n \n\n\n \n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:50\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n lastNameSearchValues\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:78\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n ldapDn\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:62\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n outdatedSince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:100\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n parents\n \n \n \n \n \n \n Type : UserParentsEntity[]\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {array: true, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:106\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n preferences\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:90\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n previousExternalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:68\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n roles\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToMany({fieldName: 'roles', entity: () => Role})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n Type : SchoolEntity\n\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToOne(undefined, {fieldName: 'schoolId'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:58\n \n \n\n\n \n \n\n \n\n\n \n import { Collection, Embedded, Entity, Index, ManyToMany, ManyToOne, Property } from '@mikro-orm/core';\nimport { EntityWithSchool } from '../interface';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { Role } from './role.entity';\nimport { SchoolEntity } from './school.entity';\nimport { UserParentsEntity } from './user-parents.entity';\n\nexport enum LanguageType {\n\tDE = 'de',\n\tEN = 'en',\n\tES = 'es',\n\tUK = 'uk',\n}\n\nexport interface UserProperties {\n\temail: string;\n\tfirstName: string;\n\tlastName: string;\n\tschool: SchoolEntity;\n\troles: Role[];\n\tldapDn?: string;\n\texternalId?: string;\n\tlanguage?: LanguageType;\n\tforcePasswordChange?: boolean;\n\tpreferences?: Record;\n\tdeletedAt?: Date;\n\tlastLoginSystemChange?: Date;\n\toutdatedSince?: Date;\n\tpreviousExternalId?: string;\n\tbirthday?: Date;\n\tparents?: UserParentsEntity[];\n}\n\n@Entity({ tableName: 'users' })\n@Index({ properties: ['id', 'email'] })\n@Index({ properties: ['firstName', 'lastName'] })\n@Index({ properties: ['externalId', 'school'] })\n@Index({ properties: ['school', 'ldapDn'] })\n@Index({ properties: ['school', 'roles'] })\nexport class User extends BaseEntityWithTimestamps implements EntityWithSchool {\n\t@Property()\n\t@Index()\n\t// @Unique()\n\temail: string;\n\n\t@Property()\n\tfirstName: string;\n\n\t@Property()\n\tlastName: string;\n\n\t@Index()\n\t@ManyToMany({ fieldName: 'roles', entity: () => Role })\n\troles = new Collection(this);\n\n\t@Index()\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool: SchoolEntity;\n\n\t@Property({ nullable: true })\n\t@Index()\n\tldapDn?: string;\n\n\t@Property({ nullable: true, fieldName: 'ldapId' })\n\texternalId?: string;\n\n\t@Property({ nullable: true })\n\tpreviousExternalId?: string;\n\n\t@Property({ nullable: true })\n\t@Index()\n\timportHash?: string;\n\n\t@Property({ nullable: true })\n\tfirstNameSearchValues?: string[];\n\n\t@Property({ nullable: true })\n\tlastNameSearchValues?: string[];\n\n\t@Property({ nullable: true })\n\temailSearchValues?: string[];\n\n\t@Property({ nullable: true })\n\tlanguage?: LanguageType;\n\n\t@Property({ nullable: true })\n\tforcePasswordChange?: boolean;\n\n\t@Property({ nullable: true })\n\tpreferences?: Record;\n\n\t@Property({ nullable: true })\n\t@Index()\n\tdeletedAt?: Date;\n\n\t@Property({ nullable: true })\n\tlastLoginSystemChange?: Date;\n\n\t@Property({ nullable: true })\n\toutdatedSince?: Date;\n\n\t@Property({ nullable: true })\n\tbirthday?: Date;\n\n\t@Embedded(() => UserParentsEntity, { array: true, nullable: true })\n\tparents?: UserParentsEntity[];\n\n\tconstructor(props: UserProperties) {\n\t\tsuper();\n\t\tthis.firstName = props.firstName;\n\t\tthis.lastName = props.lastName;\n\t\tthis.email = props.email;\n\t\tthis.school = props.school;\n\t\tthis.roles.set(props.roles);\n\t\tthis.ldapDn = props.ldapDn;\n\t\tthis.externalId = props.externalId;\n\t\tthis.forcePasswordChange = props.forcePasswordChange;\n\t\tthis.language = props.language;\n\t\tthis.preferences = props.preferences ?? {};\n\t\tthis.deletedAt = props.deletedAt;\n\t\tthis.lastLoginSystemChange = props.lastLoginSystemChange;\n\t\tthis.outdatedSince = props.outdatedSince;\n\t\tthis.previousExternalId = props.previousExternalId;\n\t\tthis.birthday = props.birthday;\n\t\tthis.parents = props.parents;\n\t}\n\n\tpublic resolvePermissions(): string[] {\n\t\tif (!this.roles.isInitialized(true)) {\n\t\t\tthrow new Error('Roles items are not loaded.');\n\t\t}\n\n\t\tlet permissions: string[] = [];\n\n\t\tconst roles = this.roles.getItems();\n\t\troles.forEach((role) => {\n\t\t\tconst rolePermissions = role.resolvePermissions();\n\t\t\tpermissions = [...permissions, ...rolePermissions];\n\t\t});\n\n\t\tconst uniquePermissions = [...new Set(permissions)];\n\n\t\treturn uniquePermissions;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserAlreadyAssignedToImportUserError.html":{"url":"classes/UserAlreadyAssignedToImportUserError.html","title":"class - UserAlreadyAssignedToImportUserError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserAlreadyAssignedToImportUserError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/error/user-already-assigned-to-import-user.business-error.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor()\n \n \n \n \n Defined in apps/server/src/shared/common/error/user-already-assigned-to-import-user.business-error.ts:3\n \n \n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BusinessError } from './business.error';\n\nexport class UserAlreadyAssignedToImportUserError extends BusinessError {\n\tconstructor() {\n\t\tsuper({\n\t\t\ttype: 'USER_ALREADY_ASSIGNED_TO_IMPORT_USER_ERROR',\n\t\t\ttitle: 'USER_ALREADY_ASSIGNED_TO_IMPORT_USER_ERROR',\n\t\t\tdefaultMessage:\n\t\t\t\t'The selected user already has been referenced to a different import user. Only one reference is allowed.',\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UserAndAccountParams.html":{"url":"interfaces/UserAndAccountParams.html","title":"interface - UserAndAccountParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UserAndAccountParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/user-and-account.test.factory.ts\n \n\n\n\n \n Extends\n \n \n UserParams\n AccountParams\n \n\n\n\n\n \n\n\n \n import { Account, SchoolEntity, User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport _ from 'lodash';\nimport { accountFactory } from './account.factory';\nimport { userFactory } from './user.factory';\n\ninterface UserParams {\n\tfirstName?: string;\n\tlastName?: string;\n\temail?: string;\n\tschool?: SchoolEntity;\n\texternalId?: string;\n}\n\ninterface AccountParams {\n\tusername?: string;\n\tsystemId?: EntityId | ObjectId;\n}\n\nexport interface UserAndAccountParams extends UserParams, AccountParams {}\n\nexport class UserAndAccountTestFactory {\n\tprivate static getUserParams(params: UserAndAccountParams): UserParams {\n\t\tconst userParams = _.pick(params, 'firstName', 'lastName', 'email', 'school', 'externalId');\n\t\treturn userParams;\n\t}\n\n\tprivate static buildAccount(user: User, params: UserAndAccountParams = {}): Account {\n\t\tconst accountParams = _.pick(params, 'username', 'systemId');\n\t\tconst account = accountFactory.withUser(user).build(accountParams);\n\t\treturn account;\n\t}\n\n\tpublic static buildStudent(\n\t\tparams: UserAndAccountParams = {},\n\t\tadditionalPermissions: Permission[] = []\n\t): {\n\t\tstudentAccount: Account;\n\t\tstudentUser: User;\n\t} {\n\t\tconst user = userFactory\n\t\t\t.asStudent(additionalPermissions)\n\t\t\t.buildWithId(UserAndAccountTestFactory.getUserParams(params));\n\t\tconst account = UserAndAccountTestFactory.buildAccount(user, params);\n\n\t\treturn { studentAccount: account, studentUser: user };\n\t}\n\n\tpublic static buildTeacher(\n\t\tparams: UserAndAccountParams = {},\n\t\tadditionalPermissions: Permission[] = []\n\t): { teacherAccount: Account; teacherUser: User } {\n\t\tconst user = userFactory\n\t\t\t.asTeacher(additionalPermissions)\n\t\t\t.buildWithId(UserAndAccountTestFactory.getUserParams(params));\n\t\tconst account = UserAndAccountTestFactory.buildAccount(user, params);\n\n\t\treturn { teacherAccount: account, teacherUser: user };\n\t}\n\n\tpublic static buildAdmin(\n\t\tparams: UserAndAccountParams = {},\n\t\tadditionalPermissions: Permission[] = []\n\t): { adminAccount: Account; adminUser: User } {\n\t\tconst user = userFactory\n\t\t\t.asAdmin(additionalPermissions)\n\t\t\t.buildWithId(UserAndAccountTestFactory.getUserParams(params));\n\t\tconst account = UserAndAccountTestFactory.buildAccount(user, params);\n\n\t\treturn { adminAccount: account, adminUser: user };\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserAndAccountTestFactory.html":{"url":"classes/UserAndAccountTestFactory.html","title":"class - UserAndAccountTestFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserAndAccountTestFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/user-and-account.test.factory.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Static\n buildAccount\n \n \n Static\n buildAdmin\n \n \n Static\n buildStudent\n \n \n Static\n buildTeacher\n \n \n Private\n Static\n getUserParams\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Static\n buildAccount\n \n \n \n \n \n \n \n buildAccount(user: User, params: UserAndAccountParams)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/user-and-account.test.factory.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n UserAndAccountParams\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : Account\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n buildAdmin\n \n \n \n \n \n \n \n buildAdmin(params: UserAndAccountParams, additionalPermissions: Permission[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/user-and-account.test.factory.ts:63\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n UserAndAccountParams\n \n\n \n No\n \n\n \n {}\n \n\n \n \n additionalPermissions\n \n Permission[]\n \n\n \n No\n \n\n \n []\n \n\n \n \n \n \n \n Returns : literal type\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n buildStudent\n \n \n \n \n \n \n \n buildStudent(params: UserAndAccountParams, additionalPermissions: Permission[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/user-and-account.test.factory.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n UserAndAccountParams\n \n\n \n No\n \n\n \n {}\n \n\n \n \n additionalPermissions\n \n Permission[]\n \n\n \n No\n \n\n \n []\n \n\n \n \n \n \n \n Returns : literal type\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n buildTeacher\n \n \n \n \n \n \n \n buildTeacher(params: UserAndAccountParams, additionalPermissions: Permission[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/user-and-account.test.factory.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n UserAndAccountParams\n \n\n \n No\n \n\n \n {}\n \n\n \n \n additionalPermissions\n \n Permission[]\n \n\n \n No\n \n\n \n []\n \n\n \n \n \n \n \n Returns : literal type\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n getUserParams\n \n \n \n \n \n \n \n getUserParams(params: UserAndAccountParams)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/user-and-account.test.factory.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n UserAndAccountParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserParams\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Account, SchoolEntity, User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport _ from 'lodash';\nimport { accountFactory } from './account.factory';\nimport { userFactory } from './user.factory';\n\ninterface UserParams {\n\tfirstName?: string;\n\tlastName?: string;\n\temail?: string;\n\tschool?: SchoolEntity;\n\texternalId?: string;\n}\n\ninterface AccountParams {\n\tusername?: string;\n\tsystemId?: EntityId | ObjectId;\n}\n\nexport interface UserAndAccountParams extends UserParams, AccountParams {}\n\nexport class UserAndAccountTestFactory {\n\tprivate static getUserParams(params: UserAndAccountParams): UserParams {\n\t\tconst userParams = _.pick(params, 'firstName', 'lastName', 'email', 'school', 'externalId');\n\t\treturn userParams;\n\t}\n\n\tprivate static buildAccount(user: User, params: UserAndAccountParams = {}): Account {\n\t\tconst accountParams = _.pick(params, 'username', 'systemId');\n\t\tconst account = accountFactory.withUser(user).build(accountParams);\n\t\treturn account;\n\t}\n\n\tpublic static buildStudent(\n\t\tparams: UserAndAccountParams = {},\n\t\tadditionalPermissions: Permission[] = []\n\t): {\n\t\tstudentAccount: Account;\n\t\tstudentUser: User;\n\t} {\n\t\tconst user = userFactory\n\t\t\t.asStudent(additionalPermissions)\n\t\t\t.buildWithId(UserAndAccountTestFactory.getUserParams(params));\n\t\tconst account = UserAndAccountTestFactory.buildAccount(user, params);\n\n\t\treturn { studentAccount: account, studentUser: user };\n\t}\n\n\tpublic static buildTeacher(\n\t\tparams: UserAndAccountParams = {},\n\t\tadditionalPermissions: Permission[] = []\n\t): { teacherAccount: Account; teacherUser: User } {\n\t\tconst user = userFactory\n\t\t\t.asTeacher(additionalPermissions)\n\t\t\t.buildWithId(UserAndAccountTestFactory.getUserParams(params));\n\t\tconst account = UserAndAccountTestFactory.buildAccount(user, params);\n\n\t\treturn { teacherAccount: account, teacherUser: user };\n\t}\n\n\tpublic static buildAdmin(\n\t\tparams: UserAndAccountParams = {},\n\t\tadditionalPermissions: Permission[] = []\n\t): { adminAccount: Account; adminUser: User } {\n\t\tconst user = userFactory\n\t\t\t.asAdmin(additionalPermissions)\n\t\t\t.buildWithId(UserAndAccountTestFactory.getUserParams(params));\n\t\tconst account = UserAndAccountTestFactory.buildAccount(user, params);\n\n\t\treturn { adminAccount: account, adminUser: user };\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/UserApiModule.html":{"url":"modules/UserApiModule.html","title":"module - UserApiModule","body":"\n \n\n\n\n\n Modules\n UserApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_UserApiModule\n\n\n\ncluster_UserApiModule_imports\n\n\n\ncluster_UserApiModule_providers\n\n\n\n\nUserModule\n\nUserModule\n\n\n\nUserApiModule\n\nUserApiModule\n\nUserApiModule -->\n\nUserModule->UserApiModule\n\n\n\n\n\nUserUc\n\nUserUc\n\nUserApiModule -->\n\nUserUc->UserApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/user/user-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n UserUc\n \n \n \n \n Controllers\n \n \n UserController\n \n \n \n \n Imports\n \n \n UserModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { UserController } from './controller';\nimport { UserUc } from './uc';\nimport { UserModule } from './user.module';\n\n@Module({\n\timports: [UserModule],\n\tcontrollers: [UserController],\n\tproviders: [UserUc],\n})\nexport class UserApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UserBoardRoles.html":{"url":"interfaces/UserBoardRoles.html","title":"interface - UserBoardRoles","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UserBoardRoles\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/types/board-do-authorizable.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n firstName\n \n \n \n Optional\n \n lastName\n \n \n \n \n roles\n \n \n \n \n userId\n \n \n \n \n userRoleEnum\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n firstName\n \n \n \n \n \n \n \n \n firstName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n lastName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n roles\n \n \n \n \n \n \n \n \n roles: BoardRoles[]\n\n \n \n\n\n \n \n Type : BoardRoles[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n userRoleEnum\n \n \n \n \n \n \n \n \n userRoleEnum: UserRoleEnum\n\n \n \n\n\n \n \n Type : UserRoleEnum\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { EntityId } from '@shared/domain/types';\n\nexport enum BoardRoles {\n\tEDITOR = 'editor',\n\tREADER = 'reader',\n}\n/**\n\tdeprecated: This is a temporary solution. This will be replaced with a more proper permission system.\n*/\nexport enum UserRoleEnum {\n\tTEACHER = 'teacher',\n\tSTUDENT = 'student',\n\tSUBSTITUTION_TEACHER = 'subsitution teacher',\n}\n\nexport interface UserBoardRoles {\n\tfirstName?: string;\n\tlastName?: string;\n\troles: BoardRoles[];\n\tuserId: EntityId;\n\tuserRoleEnum: UserRoleEnum;\n}\n\nexport interface BoardDoAuthorizableProps extends AuthorizableObject {\n\tid: EntityId;\n\tusers: UserBoardRoles[];\n\trequiredUserRole?: UserRoleEnum;\n}\n\nexport class BoardDoAuthorizable extends DomainObject {\n\tget users(): UserBoardRoles[] {\n\t\treturn this.props.users;\n\t}\n\n\tget requiredUserRole(): UserRoleEnum | undefined {\n\t\treturn this.props.requiredUserRole;\n\t}\n\n\tset requiredUserRole(userRoleEnum: UserRoleEnum | undefined) {\n\t\tthis.props.requiredUserRole = userRoleEnum;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UserConfig.html":{"url":"interfaces/UserConfig.html","title":"interface - UserConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UserConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user/interfaces/user-config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n AVAILABLE_LANGUAGES\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n AVAILABLE_LANGUAGES\n \n \n \n \n \n \n \n \n AVAILABLE_LANGUAGES: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface UserConfig {\n\tAVAILABLE_LANGUAGES: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/UserController.html":{"url":"controllers/UserController.html","title":"controller - UserController","body":"\n \n\n\n\n\n\n\n Controllers\n UserController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user/controller/user.controller.ts\n \n\n \n Prefix\n \n \n user\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n changeLanguage\n \n \n \n Async\n me\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n changeLanguage\n \n \n \n \n \n \n \n changeLanguage(params: ChangeLanguageParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Patch('/language')\n \n \n\n \n \n Defined in apps/server/src/modules/user/controller/user.controller.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n ChangeLanguageParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n me\n \n \n \n \n \n \n \n me(currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get('me')\n \n \n\n \n \n Defined in apps/server/src/modules/user/controller/user.controller.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, Get, Patch } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { ResolvedUserMapper } from '../mapper';\nimport { UserUc } from '../uc';\nimport { ChangeLanguageParams, ResolvedUserResponse, SuccessfulResponse } from './dto';\n\n@ApiTags('User')\n@Authenticate('jwt')\n@Controller('user')\nexport class UserController {\n\tconstructor(private readonly userUc: UserUc) {}\n\n\t@Get('me')\n\tasync me(@CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst [user, permissions] = await this.userUc.me(currentUser.userId);\n\n\t\t// only the root roles of the user get published\n\t\tconst resolvedUser = ResolvedUserMapper.mapToResponse(user, permissions, user.roles.getItems());\n\n\t\treturn resolvedUser;\n\t}\n\n\t@Patch('/language')\n\tasync changeLanguage(\n\t\t@Body() params: ChangeLanguageParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst result = await this.userUc.patchLanguage(currentUser.userId, params);\n\n\t\tconst successfulResponse = new SuccessfulResponse(result);\n\n\t\treturn successfulResponse;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserDO.html":{"url":"classes/UserDO.html","title":"class - UserDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserDO\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/user.do.ts\n \n\n\n\n \n Extends\n \n \n BaseDO\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n birthday\n \n \n Optional\n createdAt\n \n \n email\n \n \n Optional\n emailSearchValues\n \n \n Optional\n externalId\n \n \n firstName\n \n \n Optional\n firstNameSearchValues\n \n \n Optional\n forcePasswordChange\n \n \n Optional\n importHash\n \n \n Optional\n language\n \n \n Optional\n lastLoginSystemChange\n \n \n lastName\n \n \n Optional\n lastNameSearchValues\n \n \n Optional\n ldapDn\n \n \n Optional\n outdatedSince\n \n \n Optional\n preferences\n \n \n Optional\n previousExternalId\n \n \n roles\n \n \n schoolId\n \n \n Optional\n updatedAt\n \n \n Optional\n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(domainObject: UserDO)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:45\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n \n UserDO\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n birthday\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:45\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n createdAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n email\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n emailSearchValues\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n firstNameSearchValues\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n forcePasswordChange\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n importHash\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n language\n \n \n \n \n \n \n Type : LanguageType\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n lastLoginSystemChange\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n lastNameSearchValues\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n ldapDn\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n outdatedSince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n preferences\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n previousExternalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n roles\n \n \n \n \n \n \n Type : RoleReference[]\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n updatedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from BaseDO\n\n \n \n \n \n Defined in BaseDO:5\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { LanguageType } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseDO } from './base.do';\nimport { RoleReference } from './role-reference';\n\nexport class UserDO extends BaseDO {\n\tcreatedAt?: Date;\n\n\tupdatedAt?: Date;\n\n\temail: string;\n\n\tfirstName: string;\n\n\tlastName: string;\n\n\troles: RoleReference[];\n\n\tschoolId: EntityId;\n\n\tldapDn?: string;\n\n\texternalId?: string;\n\n\timportHash?: string;\n\n\tfirstNameSearchValues?: string[];\n\n\tlastNameSearchValues?: string[];\n\n\temailSearchValues?: string[];\n\n\tlanguage?: LanguageType;\n\n\tforcePasswordChange?: boolean;\n\n\tpreferences?: Record;\n\n\tlastLoginSystemChange?: Date;\n\n\toutdatedSince?: Date;\n\n\tpreviousExternalId?: string;\n\n\tbirthday?: Date;\n\n\tconstructor(domainObject: UserDO) {\n\t\tsuper(domainObject.id);\n\n\t\tthis.createdAt = domainObject.createdAt;\n\t\tthis.updatedAt = domainObject.updatedAt;\n\t\tthis.email = domainObject.email;\n\t\tthis.firstName = domainObject.firstName;\n\t\tthis.lastName = domainObject.lastName;\n\t\tthis.roles = domainObject.roles;\n\t\tthis.schoolId = domainObject.schoolId;\n\t\tthis.ldapDn = domainObject.ldapDn;\n\t\tthis.externalId = domainObject.externalId;\n\t\tthis.importHash = domainObject.importHash;\n\t\tthis.firstNameSearchValues = domainObject.firstNameSearchValues;\n\t\tthis.lastNameSearchValues = domainObject.lastNameSearchValues;\n\t\tthis.emailSearchValues = domainObject.emailSearchValues;\n\t\tthis.language = domainObject.language;\n\t\tthis.forcePasswordChange = domainObject.forcePasswordChange;\n\t\tthis.preferences = domainObject.preferences;\n\t\tthis.lastLoginSystemChange = domainObject.lastLoginSystemChange;\n\t\tthis.outdatedSince = domainObject.outdatedSince;\n\t\tthis.previousExternalId = domainObject.previousExternalId;\n\t\tthis.birthday = domainObject.birthday;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UserDORepo.html":{"url":"injectables/UserDORepo.html","title":"injectable - UserDORepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n UserDORepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/user/user-do.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseDORepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n createQueryOrderMap\n \n \n entityFactory\n \n \n Async\n find\n \n \n Async\n findByExternalId\n \n \n Async\n findByExternalIdOrFail\n \n \n Async\n findById\n \n \n Async\n findByIdOrNull\n \n \n mapDOToEntityProperties\n \n \n mapEntityToDO\n \n \n Private\n Async\n populateRoles\n \n \n Private\n createEntity\n \n \n Protected\n createNewEntityFromDO\n \n \n Async\n delete\n \n \n Async\n deleteById\n \n \n Private\n deleteEntityById\n \n \n Private\n removeProtectedEntityFields\n \n \n Async\n save\n \n \n Async\n saveAll\n \n \n Private\n Async\n updateEntity\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n createQueryOrderMap\n \n \n \n \n \n \n \n createQueryOrderMap(sort: SortOrderMap)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user-do.repo.ts:150\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n sort\n \n SortOrderMap\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : QueryOrderMap\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n entityFactory\n \n \n \n \n \n \nentityFactory(props: UserProperties)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n UserProperties\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : User\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n find\n \n \n \n \n \n \n \n find(query: UserQuery, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user-do.repo.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n UserQuery\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByExternalId\n \n \n \n \n \n \n \n findByExternalId(externalId: string, systemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user-do.repo.ts:86\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalId\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByExternalIdOrFail\n \n \n \n \n \n \n \n findByExternalIdOrFail(externalId: string, systemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user-do.repo.ts:78\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalId\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId, populate)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:50\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n \n \n\n \n \n populate\n \n \n\n \n No\n \n\n \n false\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByIdOrNull\n \n \n \n \n \n \n \n findByIdOrNull(id: EntityId, populate)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user-do.repo.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n \n \n\n \n \n populate\n \n \n\n \n No\n \n\n \n false\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapDOToEntityProperties\n \n \n \n \n \n \nmapDOToEntityProperties(entityDO: UserDO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:131\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n UserDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserProperties\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapEntityToDO\n \n \n \n \n \n \nmapEntityToDO(entity: User)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:97\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserDO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n populateRoles\n \n \n \n \n \n \n \n populateRoles(roles: Role[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user-do.repo.ts:160\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roles\n \n Role[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createEntity\n \n \n \n \n \n \n \n createEntity(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:44\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : E\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n createNewEntityFromDO\n \n \n \n \n \n \n \n createNewEntityFromDO(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:65\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : E\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(domainObjects: DO[] | DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:87\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[] | DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteById\n \n \n \n \n \n \n [object Object],[object Object],[object Object]\n \n \n \n \n \n deleteById(id: EntityId | EntityId[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:100\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n deleteEntityById\n \n \n \n \n \n \n \n deleteEntityById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:113\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeProtectedEntityFields\n \n \n \n \n \n \n \n removeProtectedEntityFields(entity: E)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:79\n\n \n \n\n\n \n \n Ignore base entity properties when updating entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n E\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entityDo: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:21\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDo\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAll\n \n \n \n \n \n \n \n saveAll(entityDos: DO[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDos\n \n DO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n updateEntity\n \n \n \n \n \n \n \n updateEntity(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:52\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/user/user-do.repo.ts:15\n \n \n\n \n \n\n \n\n\n \n import { EntityName, FilterQuery, QueryOrderMap } from '@mikro-orm/core';\nimport { UserQuery } from '@modules/user/service/user-query.type';\nimport { Injectable } from '@nestjs/common';\nimport { EntityNotFoundError } from '@shared/common';\nimport { Page, RoleReference } from '@shared/domain/domainobject';\nimport { UserDO } from '@shared/domain/domainobject/user.do';\nimport { Role, SchoolEntity, SystemEntity, User, UserProperties } from '@shared/domain/entity';\nimport { IFindOptions, Pagination, SortOrder, SortOrderMap } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseDORepo, Scope } from '@shared/repo';\nimport { UserScope } from './user.scope';\n\n@Injectable()\nexport class UserDORepo extends BaseDORepo {\n\tget entityName(): EntityName {\n\t\treturn User;\n\t}\n\n\tentityFactory(props: UserProperties): User {\n\t\treturn new User(props);\n\t}\n\n\tasync find(query: UserQuery, options?: IFindOptions) {\n\t\tconst pagination: Pagination = options?.pagination || {};\n\t\tconst order: QueryOrderMap = this.createQueryOrderMap(options?.order || {});\n\t\tconst scope: Scope = new UserScope()\n\t\t\t.bySchoolId(query.schoolId)\n\t\t\t.isOutdated(query.isOutdated)\n\t\t\t.whereLastLoginSystemChangeSmallerThan(query.lastLoginSystemChangeSmallerThan)\n\t\t\t.whereLastLoginSystemChangeIsBetween(\n\t\t\t\tquery.lastLoginSystemChangeBetweenStart,\n\t\t\t\tquery.lastLoginSystemChangeBetweenEnd\n\t\t\t)\n\t\t\t.withOutdatedSince(query.outdatedSince)\n\t\t\t.allowEmptyQuery(true);\n\n\t\torder._id = order._id ?? SortOrder.asc;\n\n\t\tconst [entities, total]: [User[], number] = await this._em.findAndCount(User, scope.query, {\n\t\t\toffset: pagination?.skip,\n\t\t\tlimit: pagination?.limit,\n\t\t\torderBy: order,\n\t\t});\n\n\t\tconst entityDos: UserDO[] = entities.map((entity) => this.mapEntityToDO(entity));\n\t\tconst page: Page = new Page(entityDos, total);\n\t\treturn page;\n\t}\n\n\tasync findById(id: EntityId, populate = false): Promise {\n\t\tconst userEntity: User = await this._em.findOneOrFail(this.entityName, id as FilterQuery);\n\n\t\tif (populate) {\n\t\t\tawait this._em.populate(userEntity, ['roles', 'school.systems', 'school.schoolYear']);\n\t\t\tawait this.populateRoles(userEntity.roles.getItems());\n\t\t}\n\n\t\treturn this.mapEntityToDO(userEntity);\n\t}\n\n\tasync findByIdOrNull(id: EntityId, populate = false): Promise {\n\t\tconst user: User | null = await this._em.findOne(this.entityName, id as FilterQuery);\n\n\t\tif (!user) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif (populate) {\n\t\t\tawait this._em.populate(user, ['roles', 'school.systems', 'school.schoolYear']);\n\t\t\tawait this.populateRoles(user.roles.getItems());\n\t\t}\n\n\t\tconst domainObject: UserDO = this.mapEntityToDO(user);\n\n\t\treturn domainObject;\n\t}\n\n\tasync findByExternalIdOrFail(externalId: string, systemId: string): Promise {\n\t\tconst userDo: UserDO | null = await this.findByExternalId(externalId, systemId);\n\t\tif (userDo) {\n\t\t\treturn userDo;\n\t\t}\n\t\tthrow new EntityNotFoundError('User');\n\t}\n\n\tasync findByExternalId(externalId: string, systemId: string): Promise {\n\t\tconst userEntitys: User[] = await this._em.find(User, { externalId }, { populate: ['school.systems'] });\n\t\tconst userEntity: User | undefined = userEntitys.find((user: User): boolean => {\n\t\t\tconst { systems } = user.school;\n\t\t\treturn systems && !!systems.getItems().find((system: SystemEntity): boolean => system.id === systemId);\n\t\t});\n\n\t\tconst userDo: UserDO | null = userEntity ? this.mapEntityToDO(userEntity) : null;\n\t\treturn userDo;\n\t}\n\n\tmapEntityToDO(entity: User): UserDO {\n\t\tconst user: UserDO = new UserDO({\n\t\t\tid: entity.id,\n\t\t\tcreatedAt: entity.createdAt,\n\t\t\tupdatedAt: entity.updatedAt,\n\t\t\temail: entity.email,\n\t\t\tfirstName: entity.firstName,\n\t\t\tlastName: entity.lastName,\n\t\t\troles: [],\n\t\t\tschoolId: entity.school.id,\n\t\t\tldapDn: entity.ldapDn,\n\t\t\texternalId: entity.externalId,\n\t\t\timportHash: entity.importHash,\n\t\t\tfirstNameSearchValues: entity.firstNameSearchValues,\n\t\t\tlastNameSearchValues: entity.lastNameSearchValues,\n\t\t\temailSearchValues: entity.emailSearchValues,\n\t\t\tlanguage: entity.language,\n\t\t\tforcePasswordChange: entity.forcePasswordChange,\n\t\t\tpreferences: entity.preferences,\n\t\t\tlastLoginSystemChange: entity.lastLoginSystemChange,\n\t\t\toutdatedSince: entity.outdatedSince,\n\t\t\tpreviousExternalId: entity.previousExternalId,\n\t\t\tbirthday: entity.birthday,\n\t\t});\n\n\t\tif (entity.roles.isInitialized()) {\n\t\t\tuser.roles = entity.roles\n\t\t\t\t.getItems()\n\t\t\t\t.map((role: Role): RoleReference => new RoleReference({ id: role.id, name: role.name }));\n\t\t}\n\n\t\treturn user;\n\t}\n\n\tmapDOToEntityProperties(entityDO: UserDO): UserProperties {\n\t\treturn {\n\t\t\temail: entityDO.email,\n\t\t\tfirstName: entityDO.firstName,\n\t\t\tlastName: entityDO.lastName,\n\t\t\tschool: this._em.getReference(SchoolEntity, entityDO.schoolId),\n\t\t\troles: entityDO.roles.map((roleRef: RoleReference) => this._em.getReference(Role, roleRef.id)),\n\t\t\tldapDn: entityDO.ldapDn,\n\t\t\texternalId: entityDO.externalId,\n\t\t\tlanguage: entityDO.language,\n\t\t\tforcePasswordChange: entityDO.forcePasswordChange,\n\t\t\tpreferences: entityDO.preferences,\n\t\t\tlastLoginSystemChange: entityDO.lastLoginSystemChange,\n\t\t\toutdatedSince: entityDO.outdatedSince,\n\t\t\tpreviousExternalId: entityDO.previousExternalId,\n\t\t\tbirthday: entityDO.birthday,\n\t\t};\n\t}\n\n\tprivate createQueryOrderMap(sort: SortOrderMap): QueryOrderMap {\n\t\tconst queryOrderMap: QueryOrderMap = {\n\t\t\t_id: sort.id,\n\t\t};\n\t\tObject.keys(queryOrderMap)\n\t\t\t.filter((key) => queryOrderMap[key] === undefined)\n\t\t\t.forEach((key) => delete queryOrderMap[key]);\n\t\treturn queryOrderMap;\n\t}\n\n\tprivate async populateRoles(roles: Role[]): Promise {\n\t\tfor (let i = 0; i \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UserData.html":{"url":"interfaces/UserData.html","title":"interface - UserData","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UserData\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/service/feathers-roster.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n user_id\n \n \n \n \n username\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n user_id\n \n \n \n \n \n \n \n \n user_id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n \n \n username: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { CourseService } from '@modules/learnroom/service';\nimport { ToolContextType } from '@modules/tool/common/enum';\nimport { ContextExternalTool, ContextRef } from '@modules/tool/context-external-tool/domain';\nimport { ContextExternalToolService } from '@modules/tool/context-external-tool/service';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { ExternalToolService } from '@modules/tool/external-tool/service';\nimport { SchoolExternalTool } from '@modules/tool/school-external-tool/domain';\nimport { SchoolExternalToolService } from '@modules/tool/school-external-tool/service';\nimport { UserService } from '@modules/user';\nimport { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { Pseudonym, RoleReference, UserDO } from '@shared/domain/domainobject';\nimport { Course } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { PseudonymService } from './pseudonym.service';\n\ninterface UserMetdata {\n\tdata: {\n\t\tuser_id: string;\n\t\tusername: string;\n\t\ttype: string;\n\t};\n}\n\ninterface UserGroups {\n\tdata: {\n\t\tgroups: UserGroup[];\n\t};\n}\n\ninterface UserGroup {\n\tgroup_id: string;\n\tname: string;\n\tstudent_count: number;\n}\n\ninterface UserData {\n\tuser_id: string;\n\tusername: string;\n}\n\ninterface Group {\n\tdata: {\n\t\tstudents: UserData[];\n\t\tteachers: UserData[];\n\t};\n}\n\n/**\n * Please do not use this service in any other nest modules.\n * This service will be called from feathers to get the roster data for ctl pseudonyms {@link ExternalToolPseudonymEntity}.\n * These data will be used e.g. by bettermarks to resolve and display the usernames.\n */\n@Injectable()\nexport class FeathersRosterService {\n\tconstructor(\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly pseudonymService: PseudonymService,\n\t\tprivate readonly courseService: CourseService,\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService\n\t) {}\n\n\tasync getUsersMetadata(pseudonym: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym = await this.findPseudonymByPseudonym(pseudonym);\n\t\tconst user: UserDO = await this.userService.findById(loadedPseudonym.userId);\n\n\t\tconst userMetadata: UserMetdata = {\n\t\t\tdata: {\n\t\t\t\tuser_id: user.id as string,\n\t\t\t\tusername: this.pseudonymService.getIframeSubject(loadedPseudonym.pseudonym),\n\t\t\t\ttype: this.getUserRole(user),\n\t\t\t},\n\t\t};\n\n\t\treturn userMetadata;\n\t}\n\n\tasync getUserGroups(pseudonym: string, oauth2ClientId: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym = await this.findPseudonymByPseudonym(pseudonym);\n\t\tconst externalTool: ExternalTool = await this.validateAndGetExternalTool(oauth2ClientId);\n\n\t\tlet courses: Course[] = await this.getCoursesFromUsersPseudonym(loadedPseudonym);\n\t\tcourses = await this.filterCoursesByToolAvailability(courses, externalTool.id as string);\n\n\t\tconst userGroups: UserGroups = {\n\t\t\tdata: {\n\t\t\t\tgroups: courses.map((course) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tgroup_id: course.id,\n\t\t\t\t\t\tname: course.name,\n\t\t\t\t\t\tstudent_count: course.students.length,\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t},\n\t\t};\n\n\t\treturn userGroups;\n\t}\n\n\tasync getGroup(courseId: EntityId, oauth2ClientId: string): Promise {\n\t\tconst course: Course = await this.courseService.findById(courseId);\n\t\tconst externalTool: ExternalTool = await this.validateAndGetExternalTool(oauth2ClientId);\n\n\t\tawait this.validateSchoolExternalTool(course.school.id, externalTool.id as string);\n\t\tawait this.validateContextExternalTools(courseId);\n\n\t\tconst [studentEntities, teacherEntities, substitutionTeacherEntities] = await Promise.all([\n\t\t\tcourse.students.loadItems(),\n\t\t\tcourse.teachers.loadItems(),\n\t\t\tcourse.substitutionTeachers.loadItems(),\n\t\t]);\n\n\t\tconst [students, teachers, substitutionTeachers] = await Promise.all([\n\t\t\tPromise.all(studentEntities.map((user) => this.userService.findById(user.id))),\n\t\t\tPromise.all(teacherEntities.map((user) => this.userService.findById(user.id))),\n\t\t\tPromise.all(substitutionTeacherEntities.map((user) => this.userService.findById(user.id))),\n\t\t]);\n\n\t\tconst [studentPseudonyms, teacherPseudonyms, substitutionTeacherPseudonyms] = await Promise.all([\n\t\t\tthis.getAndPseudonyms(students, externalTool),\n\t\t\tthis.getAndPseudonyms(teachers, externalTool),\n\t\t\tthis.getAndPseudonyms(substitutionTeachers, externalTool),\n\t\t]);\n\n\t\tconst allTeacherPseudonyms: Pseudonym[] = teacherPseudonyms.concat(substitutionTeacherPseudonyms);\n\n\t\tconst group: Group = {\n\t\t\tdata: {\n\t\t\t\tstudents: studentPseudonyms.map((pseudonym: Pseudonym) => this.mapPseudonymToUserData(pseudonym)),\n\t\t\t\tteachers: allTeacherPseudonyms.map((pseudonym: Pseudonym) => this.mapPseudonymToUserData(pseudonym)),\n\t\t\t},\n\t\t};\n\n\t\treturn group;\n\t}\n\n\tprivate async getAndPseudonyms(users: UserDO[], externalTool: ExternalTool): Promise {\n\t\tconst pseudonyms: Pseudonym[] = await Promise.all(\n\t\t\tusers.map((user: UserDO) => this.pseudonymService.findOrCreatePseudonym(user, externalTool))\n\t\t);\n\n\t\treturn pseudonyms;\n\t}\n\n\tprivate getUserRole(user: UserDO): string {\n\t\tconst roleName = user.roles.some((role: RoleReference) => role.name === RoleName.TEACHER)\n\t\t\t? RoleName.TEACHER\n\t\t\t: RoleName.STUDENT;\n\n\t\treturn roleName;\n\t}\n\n\tprivate async findPseudonymByPseudonym(pseudonym: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym | null = await this.pseudonymService.findPseudonymByPseudonym(pseudonym);\n\n\t\tif (!loadedPseudonym) {\n\t\t\tthrow new NotFoundLoggableException(Pseudonym.name, 'pseudonym', pseudonym);\n\t\t}\n\n\t\treturn loadedPseudonym;\n\t}\n\n\tprivate async getCoursesFromUsersPseudonym(pseudonym: Pseudonym): Promise {\n\t\tconst courses: Course[] = await this.courseService.findAllByUserId(pseudonym.userId);\n\n\t\treturn courses;\n\t}\n\n\tprivate async filterCoursesByToolAvailability(courses: Course[], externalToolId: string): Promise {\n\t\tconst validCourses: Course[] = [];\n\n\t\tawait Promise.all(\n\t\t\tcourses.map(async (course: Course) => {\n\t\t\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolService.findAllByContext(\n\t\t\t\t\tnew ContextRef({\n\t\t\t\t\t\tid: course.id,\n\t\t\t\t\t\ttype: ToolContextType.COURSE,\n\t\t\t\t\t})\n\t\t\t\t);\n\n\t\t\t\tfor await (const contextExternalTool of contextExternalTools) {\n\t\t\t\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(\n\t\t\t\t\t\tcontextExternalTool.schoolToolRef.schoolToolId\n\t\t\t\t\t);\n\t\t\t\t\tconst externalTool: ExternalTool = await this.externalToolService.findById(schoolExternalTool.toolId);\n\t\t\t\t\tconst isRequiredTool: boolean = externalTool.id === externalToolId;\n\n\t\t\t\t\tif (isRequiredTool) {\n\t\t\t\t\t\tvalidCourses.push(course);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t);\n\n\t\treturn validCourses;\n\t}\n\n\tprivate async validateAndGetExternalTool(oauth2ClientId: string): Promise {\n\t\tconst externalTool: ExternalTool | null = await this.externalToolService.findExternalToolByOAuth2ConfigClientId(\n\t\t\toauth2ClientId\n\t\t);\n\n\t\tif (!externalTool || !externalTool.id) {\n\t\t\tthrow new NotFoundLoggableException(ExternalTool.name, 'config.clientId', oauth2ClientId);\n\t\t}\n\n\t\treturn externalTool;\n\t}\n\n\tprivate async validateSchoolExternalTool(schoolId: EntityId, toolId: string): Promise {\n\t\tconst schoolExternalTools: SchoolExternalTool[] = await this.schoolExternalToolService.findSchoolExternalTools({\n\t\t\tschoolId,\n\t\t\ttoolId,\n\t\t});\n\n\t\tif (schoolExternalTools.length === 0) {\n\t\t\tthrow new NotFoundLoggableException(SchoolExternalTool.name, 'toolId', toolId);\n\t\t}\n\t}\n\n\tprivate async validateContextExternalTools(courseId: EntityId): Promise {\n\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolService.findAllByContext(\n\t\t\tnew ContextRef({ id: courseId, type: ToolContextType.COURSE })\n\t\t);\n\n\t\tif (contextExternalTools.length === 0) {\n\t\t\tthrow new NotFoundLoggableException(ContextExternalTool.name, 'contextRef.id', courseId);\n\t\t}\n\t}\n\n\tprivate mapPseudonymToUserData(pseudonym: Pseudonym): UserData {\n\t\tconst userData: UserData = {\n\t\t\tuser_id: pseudonym.pseudonym,\n\t\t\tusername: this.pseudonymService.getIframeSubject(pseudonym.pseudonym),\n\t\t};\n\n\t\treturn userData;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserDataResponse.html":{"url":"classes/UserDataResponse.html","title":"class - UserDataResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserDataResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/user-data.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n firstName\n \n \n \n lastName\n \n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: UserDataResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/user-data.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n UserDataResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/user-data.response.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/user-data.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/user-data.response.ts:17\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class UserDataResponse {\n\tconstructor({ userId, firstName, lastName }: UserDataResponse) {\n\t\tthis.userId = userId;\n\t\tthis.firstName = firstName;\n\t\tthis.lastName = lastName;\n\t}\n\n\t@ApiProperty()\n\tfirstName: string;\n\n\t@ApiProperty()\n\tlastName: string;\n\n\t@ApiProperty()\n\tuserId: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserDoFactory.html":{"url":"classes/UserDoFactory.html","title":"class - UserDoFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserDoFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/user.do.factory.ts\n \n\n\n\n \n Extends\n \n \n DoBaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withRoles\n \n \n \n buildWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withRoles\n \n \n \n \n \n \nwithRoles(roles: literal type[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/user.do.factory.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roles\n \n literal type[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \n \n buildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UserDO } from '@shared/domain/domainobject/user.do';\nimport { RoleName } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport { DeepPartial } from 'fishery';\nimport { DoBaseFactory } from './domainobject';\n\nclass UserDoFactory extends DoBaseFactory {\n\twithRoles(roles: { id: EntityId; name: RoleName }[]) {\n\t\tconst params: DeepPartial = {\n\t\t\troles,\n\t\t};\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const userDoFactory = UserDoFactory.define(UserDO, ({ sequence }) => {\n\treturn {\n\t\tfirstName: 'John',\n\t\tlastName: `Doe ${sequence}`,\n\t\temail: `user-${sequence}@example.com`,\n\t\troles: [],\n\t\tschoolId: new ObjectId().toString(),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserDto.html":{"url":"classes/UserDto.html","title":"class - UserDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user/uc/dto/user.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n email\n \n \n Optional\n externalId\n \n \n firstName\n \n \n Optional\n forcePasswordChange\n \n \n Optional\n id\n \n \n Optional\n language\n \n \n Optional\n lastLoginSystemChange\n \n \n lastName\n \n \n Optional\n ldapDn\n \n \n Optional\n outdatedSince\n \n \n Optional\n preferences\n \n \n roleIds\n \n \n schoolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(user: UserDto)\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n \n UserDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n email\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n forcePasswordChange\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n language\n \n \n \n \n \n \n Type : LanguageType\n\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n lastLoginSystemChange\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n ldapDn\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n outdatedSince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n preferences\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Default value : {}\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n roleIds\n \n \n \n \n \n \n Type : EntityId[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:31\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { LanguageType } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\n\nexport class UserDto {\n\tconstructor(user: UserDto) {\n\t\tthis.id = user.id;\n\t\tthis.email = user.email;\n\t\tthis.firstName = user.firstName;\n\t\tthis.lastName = user.lastName;\n\t\tthis.roleIds = user.roleIds;\n\t\tthis.schoolId = user.schoolId;\n\t\tthis.ldapDn = user.ldapDn;\n\t\tthis.externalId = user.externalId;\n\t\tthis.language = user.language;\n\t\tthis.forcePasswordChange = user.forcePasswordChange;\n\t\tthis.preferences = user.preferences;\n\t\tthis.lastLoginSystemChange = user.lastLoginSystemChange;\n\t\tthis.outdatedSince = user.outdatedSince;\n\t}\n\n\tid?: EntityId;\n\n\temail: string;\n\n\tfirstName: string;\n\n\tlastName: string;\n\n\troleIds: EntityId[] = [];\n\n\tschoolId: string;\n\n\tldapDn?: string;\n\n\texternalId?: string;\n\n\tlanguage?: LanguageType;\n\n\tforcePasswordChange?: boolean;\n\n\t// See user entity\n\tpreferences?: Record = {};\n\n\tlastLoginSystemChange?: Date;\n\n\toutdatedSince?: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserFactory.html":{"url":"classes/UserFactory.html","title":"class - UserFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/user.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n asAdmin\n \n \n asStudent\n \n \n asTeacher\n \n \n withRole\n \n \n withRoleByName\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n asAdmin\n \n \n \n \n \n \nasAdmin(additionalPermissions: Permission[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/user.factory.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n additionalPermissions\n \n Permission[]\n \n\n \n No\n \n\n \n []\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n asStudent\n \n \n \n \n \n \nasStudent(additionalPermissions: Permission[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/user.factory.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n additionalPermissions\n \n Permission[]\n \n\n \n No\n \n\n \n []\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n asTeacher\n \n \n \n \n \n \nasTeacher(additionalPermissions: Permission[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/user.factory.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n additionalPermissions\n \n Permission[]\n \n\n \n No\n \n\n \n []\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withRole\n \n \n \n \n \n \nwithRole(role: Role)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/user.factory.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n role\n \n Role\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withRoleByName\n \n \n \n \n \n \nwithRoleByName(name: RoleName)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/user.factory.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n RoleName\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Role, User, UserProperties } from '@shared/domain/entity';\nimport { Permission, RoleName } from '@shared/domain/interface';\nimport { DeepPartial } from 'fishery';\nimport _ from 'lodash';\nimport { adminPermissions, studentPermissions, teacherPermissions, userPermissions } from '../user-role-permissions';\nimport { BaseFactory } from './base.factory';\nimport { roleFactory } from './role.factory';\nimport { schoolFactory } from './school.factory';\n\nclass UserFactory extends BaseFactory {\n\twithRoleByName(name: RoleName): this {\n\t\tconst params: DeepPartial = { roles: [roleFactory.buildWithId({ name })] };\n\n\t\treturn this.params(params);\n\t}\n\n\twithRole(role: Role): this {\n\t\tconst params: DeepPartial = { roles: [role] };\n\n\t\treturn this.params(params);\n\t}\n\n\tasStudent(additionalPermissions: Permission[] = []): this {\n\t\tconst permissions = _.union(userPermissions, studentPermissions, additionalPermissions);\n\t\tconst role = roleFactory.buildWithId({ permissions, name: RoleName.STUDENT });\n\n\t\tconst params: DeepPartial = { roles: [role] };\n\n\t\treturn this.params(params);\n\t}\n\n\tasTeacher(additionalPermissions: Permission[] = []): this {\n\t\tconst permissions = _.union(userPermissions, teacherPermissions, additionalPermissions);\n\t\tconst role = roleFactory.buildWithId({ permissions, name: RoleName.TEACHER });\n\n\t\tconst params: DeepPartial = { roles: [role] };\n\n\t\treturn this.params(params);\n\t}\n\n\tasAdmin(additionalPermissions: Permission[] = []): this {\n\t\tconst permissions = _.union(userPermissions, adminPermissions, additionalPermissions);\n\t\tconst role = roleFactory.buildWithId({ permissions, name: RoleName.ADMINISTRATOR });\n\n\t\tconst params: DeepPartial = { roles: [role] };\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const userFactory = UserFactory.define(User, ({ sequence }) => {\n\treturn {\n\t\tfirstName: 'John',\n\t\tlastName: `Doe ${sequence}`,\n\t\temail: `user-${sequence}@example.com`,\n\t\troles: [],\n\t\tschool: schoolFactory.build(),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserForGroupNotFoundLoggable.html":{"url":"classes/UserForGroupNotFoundLoggable.html","title":"class - UserForGroupNotFoundLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserForGroupNotFoundLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/loggable/user-for-group-not-found.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(groupUser: ExternalGroupUserDto)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/loggable/user-for-group-not-found.loggable.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n groupUser\n \n \n ExternalGroupUserDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/loggable/user-for-group-not-found.loggable.ts:7\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { ExternalGroupUserDto } from '../dto';\n\nexport class UserForGroupNotFoundLoggable implements Loggable {\n\tconstructor(private readonly groupUser: ExternalGroupUserDto) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'Unable to add unknown user to group during provisioning.',\n\t\t\tdata: {\n\t\t\t\texternalUserId: this.groupUser.externalUserId,\n\t\t\t\troleName: this.groupUser.roleName,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UserGroup.html":{"url":"interfaces/UserGroup.html","title":"interface - UserGroup","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UserGroup\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/service/feathers-roster.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n group_id\n \n \n \n \n name\n \n \n \n \n student_count\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n group_id\n \n \n \n \n \n \n \n \n group_id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n student_count\n \n \n \n \n \n \n \n \n student_count: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { CourseService } from '@modules/learnroom/service';\nimport { ToolContextType } from '@modules/tool/common/enum';\nimport { ContextExternalTool, ContextRef } from '@modules/tool/context-external-tool/domain';\nimport { ContextExternalToolService } from '@modules/tool/context-external-tool/service';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { ExternalToolService } from '@modules/tool/external-tool/service';\nimport { SchoolExternalTool } from '@modules/tool/school-external-tool/domain';\nimport { SchoolExternalToolService } from '@modules/tool/school-external-tool/service';\nimport { UserService } from '@modules/user';\nimport { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { Pseudonym, RoleReference, UserDO } from '@shared/domain/domainobject';\nimport { Course } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { PseudonymService } from './pseudonym.service';\n\ninterface UserMetdata {\n\tdata: {\n\t\tuser_id: string;\n\t\tusername: string;\n\t\ttype: string;\n\t};\n}\n\ninterface UserGroups {\n\tdata: {\n\t\tgroups: UserGroup[];\n\t};\n}\n\ninterface UserGroup {\n\tgroup_id: string;\n\tname: string;\n\tstudent_count: number;\n}\n\ninterface UserData {\n\tuser_id: string;\n\tusername: string;\n}\n\ninterface Group {\n\tdata: {\n\t\tstudents: UserData[];\n\t\tteachers: UserData[];\n\t};\n}\n\n/**\n * Please do not use this service in any other nest modules.\n * This service will be called from feathers to get the roster data for ctl pseudonyms {@link ExternalToolPseudonymEntity}.\n * These data will be used e.g. by bettermarks to resolve and display the usernames.\n */\n@Injectable()\nexport class FeathersRosterService {\n\tconstructor(\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly pseudonymService: PseudonymService,\n\t\tprivate readonly courseService: CourseService,\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService\n\t) {}\n\n\tasync getUsersMetadata(pseudonym: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym = await this.findPseudonymByPseudonym(pseudonym);\n\t\tconst user: UserDO = await this.userService.findById(loadedPseudonym.userId);\n\n\t\tconst userMetadata: UserMetdata = {\n\t\t\tdata: {\n\t\t\t\tuser_id: user.id as string,\n\t\t\t\tusername: this.pseudonymService.getIframeSubject(loadedPseudonym.pseudonym),\n\t\t\t\ttype: this.getUserRole(user),\n\t\t\t},\n\t\t};\n\n\t\treturn userMetadata;\n\t}\n\n\tasync getUserGroups(pseudonym: string, oauth2ClientId: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym = await this.findPseudonymByPseudonym(pseudonym);\n\t\tconst externalTool: ExternalTool = await this.validateAndGetExternalTool(oauth2ClientId);\n\n\t\tlet courses: Course[] = await this.getCoursesFromUsersPseudonym(loadedPseudonym);\n\t\tcourses = await this.filterCoursesByToolAvailability(courses, externalTool.id as string);\n\n\t\tconst userGroups: UserGroups = {\n\t\t\tdata: {\n\t\t\t\tgroups: courses.map((course) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tgroup_id: course.id,\n\t\t\t\t\t\tname: course.name,\n\t\t\t\t\t\tstudent_count: course.students.length,\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t},\n\t\t};\n\n\t\treturn userGroups;\n\t}\n\n\tasync getGroup(courseId: EntityId, oauth2ClientId: string): Promise {\n\t\tconst course: Course = await this.courseService.findById(courseId);\n\t\tconst externalTool: ExternalTool = await this.validateAndGetExternalTool(oauth2ClientId);\n\n\t\tawait this.validateSchoolExternalTool(course.school.id, externalTool.id as string);\n\t\tawait this.validateContextExternalTools(courseId);\n\n\t\tconst [studentEntities, teacherEntities, substitutionTeacherEntities] = await Promise.all([\n\t\t\tcourse.students.loadItems(),\n\t\t\tcourse.teachers.loadItems(),\n\t\t\tcourse.substitutionTeachers.loadItems(),\n\t\t]);\n\n\t\tconst [students, teachers, substitutionTeachers] = await Promise.all([\n\t\t\tPromise.all(studentEntities.map((user) => this.userService.findById(user.id))),\n\t\t\tPromise.all(teacherEntities.map((user) => this.userService.findById(user.id))),\n\t\t\tPromise.all(substitutionTeacherEntities.map((user) => this.userService.findById(user.id))),\n\t\t]);\n\n\t\tconst [studentPseudonyms, teacherPseudonyms, substitutionTeacherPseudonyms] = await Promise.all([\n\t\t\tthis.getAndPseudonyms(students, externalTool),\n\t\t\tthis.getAndPseudonyms(teachers, externalTool),\n\t\t\tthis.getAndPseudonyms(substitutionTeachers, externalTool),\n\t\t]);\n\n\t\tconst allTeacherPseudonyms: Pseudonym[] = teacherPseudonyms.concat(substitutionTeacherPseudonyms);\n\n\t\tconst group: Group = {\n\t\t\tdata: {\n\t\t\t\tstudents: studentPseudonyms.map((pseudonym: Pseudonym) => this.mapPseudonymToUserData(pseudonym)),\n\t\t\t\tteachers: allTeacherPseudonyms.map((pseudonym: Pseudonym) => this.mapPseudonymToUserData(pseudonym)),\n\t\t\t},\n\t\t};\n\n\t\treturn group;\n\t}\n\n\tprivate async getAndPseudonyms(users: UserDO[], externalTool: ExternalTool): Promise {\n\t\tconst pseudonyms: Pseudonym[] = await Promise.all(\n\t\t\tusers.map((user: UserDO) => this.pseudonymService.findOrCreatePseudonym(user, externalTool))\n\t\t);\n\n\t\treturn pseudonyms;\n\t}\n\n\tprivate getUserRole(user: UserDO): string {\n\t\tconst roleName = user.roles.some((role: RoleReference) => role.name === RoleName.TEACHER)\n\t\t\t? RoleName.TEACHER\n\t\t\t: RoleName.STUDENT;\n\n\t\treturn roleName;\n\t}\n\n\tprivate async findPseudonymByPseudonym(pseudonym: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym | null = await this.pseudonymService.findPseudonymByPseudonym(pseudonym);\n\n\t\tif (!loadedPseudonym) {\n\t\t\tthrow new NotFoundLoggableException(Pseudonym.name, 'pseudonym', pseudonym);\n\t\t}\n\n\t\treturn loadedPseudonym;\n\t}\n\n\tprivate async getCoursesFromUsersPseudonym(pseudonym: Pseudonym): Promise {\n\t\tconst courses: Course[] = await this.courseService.findAllByUserId(pseudonym.userId);\n\n\t\treturn courses;\n\t}\n\n\tprivate async filterCoursesByToolAvailability(courses: Course[], externalToolId: string): Promise {\n\t\tconst validCourses: Course[] = [];\n\n\t\tawait Promise.all(\n\t\t\tcourses.map(async (course: Course) => {\n\t\t\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolService.findAllByContext(\n\t\t\t\t\tnew ContextRef({\n\t\t\t\t\t\tid: course.id,\n\t\t\t\t\t\ttype: ToolContextType.COURSE,\n\t\t\t\t\t})\n\t\t\t\t);\n\n\t\t\t\tfor await (const contextExternalTool of contextExternalTools) {\n\t\t\t\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(\n\t\t\t\t\t\tcontextExternalTool.schoolToolRef.schoolToolId\n\t\t\t\t\t);\n\t\t\t\t\tconst externalTool: ExternalTool = await this.externalToolService.findById(schoolExternalTool.toolId);\n\t\t\t\t\tconst isRequiredTool: boolean = externalTool.id === externalToolId;\n\n\t\t\t\t\tif (isRequiredTool) {\n\t\t\t\t\t\tvalidCourses.push(course);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t);\n\n\t\treturn validCourses;\n\t}\n\n\tprivate async validateAndGetExternalTool(oauth2ClientId: string): Promise {\n\t\tconst externalTool: ExternalTool | null = await this.externalToolService.findExternalToolByOAuth2ConfigClientId(\n\t\t\toauth2ClientId\n\t\t);\n\n\t\tif (!externalTool || !externalTool.id) {\n\t\t\tthrow new NotFoundLoggableException(ExternalTool.name, 'config.clientId', oauth2ClientId);\n\t\t}\n\n\t\treturn externalTool;\n\t}\n\n\tprivate async validateSchoolExternalTool(schoolId: EntityId, toolId: string): Promise {\n\t\tconst schoolExternalTools: SchoolExternalTool[] = await this.schoolExternalToolService.findSchoolExternalTools({\n\t\t\tschoolId,\n\t\t\ttoolId,\n\t\t});\n\n\t\tif (schoolExternalTools.length === 0) {\n\t\t\tthrow new NotFoundLoggableException(SchoolExternalTool.name, 'toolId', toolId);\n\t\t}\n\t}\n\n\tprivate async validateContextExternalTools(courseId: EntityId): Promise {\n\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolService.findAllByContext(\n\t\t\tnew ContextRef({ id: courseId, type: ToolContextType.COURSE })\n\t\t);\n\n\t\tif (contextExternalTools.length === 0) {\n\t\t\tthrow new NotFoundLoggableException(ContextExternalTool.name, 'contextRef.id', courseId);\n\t\t}\n\t}\n\n\tprivate mapPseudonymToUserData(pseudonym: Pseudonym): UserData {\n\t\tconst userData: UserData = {\n\t\t\tuser_id: pseudonym.pseudonym,\n\t\t\tusername: this.pseudonymService.getIframeSubject(pseudonym.pseudonym),\n\t\t};\n\n\t\treturn userData;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UserGroups.html":{"url":"interfaces/UserGroups.html","title":"interface - UserGroups","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UserGroups\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/service/feathers-roster.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { CourseService } from '@modules/learnroom/service';\nimport { ToolContextType } from '@modules/tool/common/enum';\nimport { ContextExternalTool, ContextRef } from '@modules/tool/context-external-tool/domain';\nimport { ContextExternalToolService } from '@modules/tool/context-external-tool/service';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { ExternalToolService } from '@modules/tool/external-tool/service';\nimport { SchoolExternalTool } from '@modules/tool/school-external-tool/domain';\nimport { SchoolExternalToolService } from '@modules/tool/school-external-tool/service';\nimport { UserService } from '@modules/user';\nimport { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { Pseudonym, RoleReference, UserDO } from '@shared/domain/domainobject';\nimport { Course } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { PseudonymService } from './pseudonym.service';\n\ninterface UserMetdata {\n\tdata: {\n\t\tuser_id: string;\n\t\tusername: string;\n\t\ttype: string;\n\t};\n}\n\ninterface UserGroups {\n\tdata: {\n\t\tgroups: UserGroup[];\n\t};\n}\n\ninterface UserGroup {\n\tgroup_id: string;\n\tname: string;\n\tstudent_count: number;\n}\n\ninterface UserData {\n\tuser_id: string;\n\tusername: string;\n}\n\ninterface Group {\n\tdata: {\n\t\tstudents: UserData[];\n\t\tteachers: UserData[];\n\t};\n}\n\n/**\n * Please do not use this service in any other nest modules.\n * This service will be called from feathers to get the roster data for ctl pseudonyms {@link ExternalToolPseudonymEntity}.\n * These data will be used e.g. by bettermarks to resolve and display the usernames.\n */\n@Injectable()\nexport class FeathersRosterService {\n\tconstructor(\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly pseudonymService: PseudonymService,\n\t\tprivate readonly courseService: CourseService,\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService\n\t) {}\n\n\tasync getUsersMetadata(pseudonym: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym = await this.findPseudonymByPseudonym(pseudonym);\n\t\tconst user: UserDO = await this.userService.findById(loadedPseudonym.userId);\n\n\t\tconst userMetadata: UserMetdata = {\n\t\t\tdata: {\n\t\t\t\tuser_id: user.id as string,\n\t\t\t\tusername: this.pseudonymService.getIframeSubject(loadedPseudonym.pseudonym),\n\t\t\t\ttype: this.getUserRole(user),\n\t\t\t},\n\t\t};\n\n\t\treturn userMetadata;\n\t}\n\n\tasync getUserGroups(pseudonym: string, oauth2ClientId: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym = await this.findPseudonymByPseudonym(pseudonym);\n\t\tconst externalTool: ExternalTool = await this.validateAndGetExternalTool(oauth2ClientId);\n\n\t\tlet courses: Course[] = await this.getCoursesFromUsersPseudonym(loadedPseudonym);\n\t\tcourses = await this.filterCoursesByToolAvailability(courses, externalTool.id as string);\n\n\t\tconst userGroups: UserGroups = {\n\t\t\tdata: {\n\t\t\t\tgroups: courses.map((course) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tgroup_id: course.id,\n\t\t\t\t\t\tname: course.name,\n\t\t\t\t\t\tstudent_count: course.students.length,\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t},\n\t\t};\n\n\t\treturn userGroups;\n\t}\n\n\tasync getGroup(courseId: EntityId, oauth2ClientId: string): Promise {\n\t\tconst course: Course = await this.courseService.findById(courseId);\n\t\tconst externalTool: ExternalTool = await this.validateAndGetExternalTool(oauth2ClientId);\n\n\t\tawait this.validateSchoolExternalTool(course.school.id, externalTool.id as string);\n\t\tawait this.validateContextExternalTools(courseId);\n\n\t\tconst [studentEntities, teacherEntities, substitutionTeacherEntities] = await Promise.all([\n\t\t\tcourse.students.loadItems(),\n\t\t\tcourse.teachers.loadItems(),\n\t\t\tcourse.substitutionTeachers.loadItems(),\n\t\t]);\n\n\t\tconst [students, teachers, substitutionTeachers] = await Promise.all([\n\t\t\tPromise.all(studentEntities.map((user) => this.userService.findById(user.id))),\n\t\t\tPromise.all(teacherEntities.map((user) => this.userService.findById(user.id))),\n\t\t\tPromise.all(substitutionTeacherEntities.map((user) => this.userService.findById(user.id))),\n\t\t]);\n\n\t\tconst [studentPseudonyms, teacherPseudonyms, substitutionTeacherPseudonyms] = await Promise.all([\n\t\t\tthis.getAndPseudonyms(students, externalTool),\n\t\t\tthis.getAndPseudonyms(teachers, externalTool),\n\t\t\tthis.getAndPseudonyms(substitutionTeachers, externalTool),\n\t\t]);\n\n\t\tconst allTeacherPseudonyms: Pseudonym[] = teacherPseudonyms.concat(substitutionTeacherPseudonyms);\n\n\t\tconst group: Group = {\n\t\t\tdata: {\n\t\t\t\tstudents: studentPseudonyms.map((pseudonym: Pseudonym) => this.mapPseudonymToUserData(pseudonym)),\n\t\t\t\tteachers: allTeacherPseudonyms.map((pseudonym: Pseudonym) => this.mapPseudonymToUserData(pseudonym)),\n\t\t\t},\n\t\t};\n\n\t\treturn group;\n\t}\n\n\tprivate async getAndPseudonyms(users: UserDO[], externalTool: ExternalTool): Promise {\n\t\tconst pseudonyms: Pseudonym[] = await Promise.all(\n\t\t\tusers.map((user: UserDO) => this.pseudonymService.findOrCreatePseudonym(user, externalTool))\n\t\t);\n\n\t\treturn pseudonyms;\n\t}\n\n\tprivate getUserRole(user: UserDO): string {\n\t\tconst roleName = user.roles.some((role: RoleReference) => role.name === RoleName.TEACHER)\n\t\t\t? RoleName.TEACHER\n\t\t\t: RoleName.STUDENT;\n\n\t\treturn roleName;\n\t}\n\n\tprivate async findPseudonymByPseudonym(pseudonym: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym | null = await this.pseudonymService.findPseudonymByPseudonym(pseudonym);\n\n\t\tif (!loadedPseudonym) {\n\t\t\tthrow new NotFoundLoggableException(Pseudonym.name, 'pseudonym', pseudonym);\n\t\t}\n\n\t\treturn loadedPseudonym;\n\t}\n\n\tprivate async getCoursesFromUsersPseudonym(pseudonym: Pseudonym): Promise {\n\t\tconst courses: Course[] = await this.courseService.findAllByUserId(pseudonym.userId);\n\n\t\treturn courses;\n\t}\n\n\tprivate async filterCoursesByToolAvailability(courses: Course[], externalToolId: string): Promise {\n\t\tconst validCourses: Course[] = [];\n\n\t\tawait Promise.all(\n\t\t\tcourses.map(async (course: Course) => {\n\t\t\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolService.findAllByContext(\n\t\t\t\t\tnew ContextRef({\n\t\t\t\t\t\tid: course.id,\n\t\t\t\t\t\ttype: ToolContextType.COURSE,\n\t\t\t\t\t})\n\t\t\t\t);\n\n\t\t\t\tfor await (const contextExternalTool of contextExternalTools) {\n\t\t\t\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(\n\t\t\t\t\t\tcontextExternalTool.schoolToolRef.schoolToolId\n\t\t\t\t\t);\n\t\t\t\t\tconst externalTool: ExternalTool = await this.externalToolService.findById(schoolExternalTool.toolId);\n\t\t\t\t\tconst isRequiredTool: boolean = externalTool.id === externalToolId;\n\n\t\t\t\t\tif (isRequiredTool) {\n\t\t\t\t\t\tvalidCourses.push(course);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t);\n\n\t\treturn validCourses;\n\t}\n\n\tprivate async validateAndGetExternalTool(oauth2ClientId: string): Promise {\n\t\tconst externalTool: ExternalTool | null = await this.externalToolService.findExternalToolByOAuth2ConfigClientId(\n\t\t\toauth2ClientId\n\t\t);\n\n\t\tif (!externalTool || !externalTool.id) {\n\t\t\tthrow new NotFoundLoggableException(ExternalTool.name, 'config.clientId', oauth2ClientId);\n\t\t}\n\n\t\treturn externalTool;\n\t}\n\n\tprivate async validateSchoolExternalTool(schoolId: EntityId, toolId: string): Promise {\n\t\tconst schoolExternalTools: SchoolExternalTool[] = await this.schoolExternalToolService.findSchoolExternalTools({\n\t\t\tschoolId,\n\t\t\ttoolId,\n\t\t});\n\n\t\tif (schoolExternalTools.length === 0) {\n\t\t\tthrow new NotFoundLoggableException(SchoolExternalTool.name, 'toolId', toolId);\n\t\t}\n\t}\n\n\tprivate async validateContextExternalTools(courseId: EntityId): Promise {\n\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolService.findAllByContext(\n\t\t\tnew ContextRef({ id: courseId, type: ToolContextType.COURSE })\n\t\t);\n\n\t\tif (contextExternalTools.length === 0) {\n\t\t\tthrow new NotFoundLoggableException(ContextExternalTool.name, 'contextRef.id', courseId);\n\t\t}\n\t}\n\n\tprivate mapPseudonymToUserData(pseudonym: Pseudonym): UserData {\n\t\tconst userData: UserData = {\n\t\t\tuser_id: pseudonym.pseudonym,\n\t\t\tusername: this.pseudonymService.getIframeSubject(pseudonym.pseudonym),\n\t\t};\n\n\t\treturn userData;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserInfoMapper.html":{"url":"classes/UserInfoMapper.html","title":"class - UserInfoMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserInfoMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/mapper/user-info.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(user: User)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/mapper/user-info.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserInfoResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { User } from '@shared/domain/entity';\nimport { UserInfoResponse } from '../controller/dto';\n\nexport class UserInfoMapper {\n\tstatic mapToResponse(user: User): UserInfoResponse {\n\t\tconst dto = new UserInfoResponse({\n\t\t\tid: user.id,\n\t\t\tfirstName: user.firstName,\n\t\t\tlastName: user.lastName,\n\t\t});\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserInfoResponse.html":{"url":"classes/UserInfoResponse.html","title":"class - UserInfoResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserInfoResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/dto/user-info.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n firstName\n \n \n \n id\n \n \n \n Optional\n lastName\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: UserInfoResponse)\n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/user-info.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n UserInfoResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'First name of the user'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/user-info.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}', description: 'The id of the User entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/user-info.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Last name of the user'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/user-info.response.ts:24\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\n\nexport class UserInfoResponse {\n\tconstructor({ id, firstName, lastName }: UserInfoResponse) {\n\t\tthis.id = id;\n\t\tthis.firstName = firstName;\n\t\tthis.lastName = lastName;\n\t}\n\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'The id of the User entity',\n\t})\n\tid: string;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'First name of the user',\n\t})\n\tfirstName?: string;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Last name of the user',\n\t})\n\tlastName?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{"url":"classes/UserLoginMigrationAlreadyClosedLoggableException.html","title":"class - UserLoginMigrationAlreadyClosedLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationAlreadyClosedLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/user-login-migration-already-closed.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n UnprocessableEntityException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(closedAt: Date, userLoginMigrationId?: EntityId)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-login-migration-already-closed.loggable-exception.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n closedAt\n \n \n Date\n \n \n \n No\n \n \n \n \n userLoginMigrationId\n \n \n EntityId\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-login-migration-already-closed.loggable-exception.ts:10\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UnprocessableEntityException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class UserLoginMigrationAlreadyClosedLoggableException extends UnprocessableEntityException implements Loggable {\n\tconstructor(private readonly closedAt: Date, private readonly userLoginMigrationId?: EntityId) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'USER_LOGIN_MIGRATION_ALREADY_CLOSED',\n\t\t\tmessage: 'Migration of school cannot be started or changed, because it is already closed.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tuserLoginMigrationId: this.userLoginMigrationId,\n\t\t\t\tclosedAt: this.closedAt.toISOString(),\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/UserLoginMigrationApiModule.html":{"url":"modules/UserLoginMigrationApiModule.html","title":"module - UserLoginMigrationApiModule","body":"\n \n\n\n\n\n Modules\n UserLoginMigrationApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_UserLoginMigrationApiModule\n\n\n\ncluster_UserLoginMigrationApiModule_providers\n\n\n\ncluster_UserLoginMigrationApiModule_imports\n\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\n\n\nUserLoginMigrationApiModule\n\nUserLoginMigrationApiModule\n\nUserLoginMigrationApiModule -->\n\nAuthenticationModule->UserLoginMigrationApiModule\n\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\nUserLoginMigrationApiModule -->\n\nAuthorizationModule->UserLoginMigrationApiModule\n\n\n\n\n\nLegacySchoolModule\n\nLegacySchoolModule\n\nUserLoginMigrationApiModule -->\n\nLegacySchoolModule->UserLoginMigrationApiModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nUserLoginMigrationApiModule -->\n\nLoggerModule->UserLoginMigrationApiModule\n\n\n\n\n\nOauthModule\n\nOauthModule\n\nUserLoginMigrationApiModule -->\n\nOauthModule->UserLoginMigrationApiModule\n\n\n\n\n\nProvisioningModule\n\nProvisioningModule\n\nUserLoginMigrationApiModule -->\n\nProvisioningModule->UserLoginMigrationApiModule\n\n\n\n\n\nUserLoginMigrationModule\n\nUserLoginMigrationModule\n\nUserLoginMigrationApiModule -->\n\nUserLoginMigrationModule->UserLoginMigrationApiModule\n\n\n\n\n\nCloseUserLoginMigrationUc\n\nCloseUserLoginMigrationUc\n\nUserLoginMigrationApiModule -->\n\nCloseUserLoginMigrationUc->UserLoginMigrationApiModule\n\n\n\n\n\nRestartUserLoginMigrationUc\n\nRestartUserLoginMigrationUc\n\nUserLoginMigrationApiModule -->\n\nRestartUserLoginMigrationUc->UserLoginMigrationApiModule\n\n\n\n\n\nStartUserLoginMigrationUc\n\nStartUserLoginMigrationUc\n\nUserLoginMigrationApiModule -->\n\nStartUserLoginMigrationUc->UserLoginMigrationApiModule\n\n\n\n\n\nToggleUserLoginMigrationUc\n\nToggleUserLoginMigrationUc\n\nUserLoginMigrationApiModule -->\n\nToggleUserLoginMigrationUc->UserLoginMigrationApiModule\n\n\n\n\n\nUserLoginMigrationUc\n\nUserLoginMigrationUc\n\nUserLoginMigrationApiModule -->\n\nUserLoginMigrationUc->UserLoginMigrationApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/user-login-migration/user-login-migration-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n CloseUserLoginMigrationUc\n \n \n RestartUserLoginMigrationUc\n \n \n StartUserLoginMigrationUc\n \n \n ToggleUserLoginMigrationUc\n \n \n UserLoginMigrationUc\n \n \n \n \n Controllers\n \n \n UserLoginMigrationController\n \n \n \n \n Imports\n \n \n AuthenticationModule\n \n \n AuthorizationModule\n \n \n LegacySchoolModule\n \n \n LoggerModule\n \n \n OauthModule\n \n \n ProvisioningModule\n \n \n UserLoginMigrationModule\n \n \n \n \n \n\n\n \n\n\n \n import { AuthenticationModule } from '@modules/authentication/authentication.module';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { LegacySchoolModule } from '@modules/legacy-school';\nimport { OauthModule } from '@modules/oauth';\nimport { ProvisioningModule } from '@modules/provisioning';\nimport { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { UserLoginMigrationController } from './controller/user-login-migration.controller';\nimport {\n\tCloseUserLoginMigrationUc,\n\tRestartUserLoginMigrationUc,\n\tStartUserLoginMigrationUc,\n\tToggleUserLoginMigrationUc,\n\tUserLoginMigrationUc,\n} from './uc';\nimport { UserLoginMigrationModule } from './user-login-migration.module';\n\n@Module({\n\timports: [\n\t\tUserLoginMigrationModule,\n\t\tOauthModule,\n\t\tProvisioningModule,\n\t\tAuthenticationModule,\n\t\tAuthorizationModule,\n\t\tLoggerModule,\n\t\tLegacySchoolModule,\n\t],\n\tproviders: [\n\t\tUserLoginMigrationUc,\n\t\tStartUserLoginMigrationUc,\n\t\tRestartUserLoginMigrationUc,\n\t\tToggleUserLoginMigrationUc,\n\t\tCloseUserLoginMigrationUc,\n\t],\n\tcontrollers: [UserLoginMigrationController],\n})\nexport class UserLoginMigrationApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/UserLoginMigrationController.html":{"url":"controllers/UserLoginMigrationController.html","title":"controller - UserLoginMigrationController","body":"\n \n\n\n\n\n\n\n Controllers\n UserLoginMigrationController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/controller/user-login-migration.controller.ts\n \n\n \n Prefix\n \n \n user-login-migrations\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n closeMigration\n \n \n \n \n \n \n Async\n findUserLoginMigrationBySchool\n \n \n \n \n \n \n \n Async\n getMigrations\n \n \n \n \n \n Async\n migrateUserLogin\n \n \n \n \n \n \n \n \n Async\n restartMigration\n \n \n \n \n \n \n \n \n \n Async\n setMigrationMandatory\n \n \n \n \n \n \n \n Async\n startMigration\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n closeMigration\n \n \n \n \n \n \n \n closeMigration(currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Post('close')@HttpCode(HttpStatus.OK)@ApiUnprocessableEntityResponse({description: 'User login migration is already closed and cannot be modified. Restart is possible.', type: UserLoginMigrationAlreadyClosedLoggableException})@ApiUnprocessableEntityResponse({description: 'User login migration is already closed and cannot be modified. It cannot be restarted.', type: UserLoginMigrationGracePeriodExpiredLoggableException})@ApiNotFoundResponse({description: 'User login migration does not exist', type: UserLoginMigrationNotFoundLoggableException})@ApiOkResponse({description: 'User login migration closed', type: UserLoginMigrationResponse})@ApiUnauthorizedResponse()@ApiForbiddenResponse()@ApiNoContentResponse({description: 'User login migration was reverted'})\n \n \n\n \n \n Defined in apps/server/src/modules/user-login-migration/controller/user-login-migration.controller.ts:201\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findUserLoginMigrationBySchool\n \n \n \n \n \n \n \n findUserLoginMigrationBySchool(user: ICurrentUser, params: SchoolIdParams)\n \n \n\n \n \n Decorators : \n \n @Get('schools/:schoolId')@ApiForbiddenResponse()@ApiOkResponse({description: 'UserLoginMigrations has been found', type: UserLoginMigrationResponse})@ApiNotFoundResponse({description: 'Cannot find UserLoginMigration'})\n \n \n\n \n \n Defined in apps/server/src/modules/user-login-migration/controller/user-login-migration.controller.ts:89\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n SchoolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getMigrations\n \n \n \n \n \n \n \n getMigrations(user: ICurrentUser, params: UserLoginMigrationSearchParams)\n \n \n\n \n \n Decorators : \n \n @Get()@ApiForbiddenResponse()@ApiOperation({summary: 'Get UserLoginMigrations', description: 'Currently there can only be one migration for a user. Therefore only one migration is returned.'})@ApiOkResponse({description: 'UserLoginMigrations has been found.', type: UserLoginMigrationSearchListResponse})@ApiInternalServerErrorResponse({description: 'Cannot find target system information.'})\n \n \n\n \n \n Defined in apps/server/src/modules/user-login-migration/controller/user-login-migration.controller.ts:59\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n UserLoginMigrationSearchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n migrateUserLogin\n \n \n \n \n \n \n \n migrateUserLogin(jwt: string, currentUser: ICurrentUser, body: Oauth2MigrationParams)\n \n \n\n \n \n Decorators : \n \n @Post('migrate-to-oauth2')@ApiOkResponse({description: 'The User has been successfully migrated.', status: 200})@ApiInternalServerErrorResponse({description: 'The migration of the User was not possible.'})\n \n \n\n \n \n Defined in apps/server/src/modules/user-login-migration/controller/user-login-migration.controller.ts:218\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n jwt\n \n string\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n body\n \n Oauth2MigrationParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n restartMigration\n \n \n \n \n \n \n \n restartMigration(currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Put('restart')@ApiNotFoundResponse({description: 'User login migration was not found', type: UserLoginMigrationNotFoundLoggableException})@ApiUnprocessableEntityResponse({description: 'Grace period for changing the user login migration is expired', type: UserLoginMigrationGracePeriodExpiredLoggableException})@ApiOkResponse({description: 'User login migration started', type: UserLoginMigrationResponse})@ApiUnauthorizedResponse()@ApiForbiddenResponse()\n \n \n\n \n \n Defined in apps/server/src/modules/user-login-migration/controller/user-login-migration.controller.ts:139\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n setMigrationMandatory\n \n \n \n \n \n \n \n setMigrationMandatory(currentUser: ICurrentUser, body: UserLoginMigrationMandatoryParams)\n \n \n\n \n \n Decorators : \n \n @Put('mandatory')@ApiNotFoundResponse({description: 'User login migration was not found', type: UserLoginMigrationNotFoundLoggableException})@ApiUnprocessableEntityResponse({description: 'Grace period for changing the user login migration is expired', type: UserLoginMigrationGracePeriodExpiredLoggableException})@ApiUnprocessableEntityResponse({description: 'User login migration is already closed and cannot be modified', type: UserLoginMigrationAlreadyClosedLoggableException})@ApiOkResponse({description: 'User login migration is set mandatory/optional', type: UserLoginMigrationResponse})@ApiUnauthorizedResponse()@ApiForbiddenResponse()\n \n \n\n \n \n Defined in apps/server/src/modules/user-login-migration/controller/user-login-migration.controller.ts:167\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n body\n \n UserLoginMigrationMandatoryParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n startMigration\n \n \n \n \n \n \n \n startMigration(currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Post('start')@ApiUnprocessableEntityResponse({description: 'User login migration is already closed and cannot be modified', type: UserLoginMigrationAlreadyClosedLoggableException})@ApiUnprocessableEntityResponse({description: 'School has no official school number', type: SchoolNumberMissingLoggableException})@ApiOkResponse({description: 'User login migration started', type: UserLoginMigrationResponse})@ApiForbiddenResponse()\n \n \n\n \n \n Defined in apps/server/src/modules/user-login-migration/controller/user-login-migration.controller.ts:115\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser, JWT } from '@modules/authentication';\nimport { Body, Controller, Get, HttpCode, HttpStatus, Param, Post, Put, Query } from '@nestjs/common';\nimport {\n\tApiForbiddenResponse,\n\tApiInternalServerErrorResponse,\n\tApiNoContentResponse,\n\tApiNotFoundResponse,\n\tApiOkResponse,\n\tApiOperation,\n\tApiTags,\n\tApiUnauthorizedResponse,\n\tApiUnprocessableEntityResponse,\n} from '@nestjs/swagger';\nimport { Page, UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport {\n\tSchoolNumberMissingLoggableException,\n\tUserLoginMigrationAlreadyClosedLoggableException,\n\tUserLoginMigrationGracePeriodExpiredLoggableException,\n\tUserLoginMigrationNotFoundLoggableException,\n} from '../loggable';\nimport { UserLoginMigrationMapper } from '../mapper';\nimport {\n\tCloseUserLoginMigrationUc,\n\tRestartUserLoginMigrationUc,\n\tStartUserLoginMigrationUc,\n\tToggleUserLoginMigrationUc,\n\tUserLoginMigrationQuery,\n\tUserLoginMigrationUc,\n} from '../uc';\nimport {\n\tUserLoginMigrationResponse,\n\tUserLoginMigrationSearchListResponse,\n\tUserLoginMigrationSearchParams,\n} from './dto';\nimport { Oauth2MigrationParams } from './dto/oauth2-migration.params';\nimport { SchoolIdParams } from './dto/request/school-id.params';\nimport { UserLoginMigrationMandatoryParams } from './dto/request/user-login-migration-mandatory.params';\n\n@ApiTags('UserLoginMigration')\n@Controller('user-login-migrations')\n@Authenticate('jwt')\nexport class UserLoginMigrationController {\n\tconstructor(\n\t\tprivate readonly userLoginMigrationUc: UserLoginMigrationUc,\n\t\tprivate readonly startUserLoginMigrationUc: StartUserLoginMigrationUc,\n\t\tprivate readonly restartUserLoginMigrationUc: RestartUserLoginMigrationUc,\n\t\tprivate readonly toggleUserLoginMigrationUc: ToggleUserLoginMigrationUc,\n\t\tprivate readonly closeUserLoginMigrationUc: CloseUserLoginMigrationUc\n\t) {}\n\n\t@Get()\n\t@ApiForbiddenResponse()\n\t@ApiOperation({\n\t\tsummary: 'Get UserLoginMigrations',\n\t\tdescription: 'Currently there can only be one migration for a user. Therefore only one migration is returned.',\n\t})\n\t@ApiOkResponse({ description: 'UserLoginMigrations has been found.', type: UserLoginMigrationSearchListResponse })\n\t@ApiInternalServerErrorResponse({ description: 'Cannot find target system information.' })\n\tasync getMigrations(\n\t\t@CurrentUser() user: ICurrentUser,\n\t\t@Query() params: UserLoginMigrationSearchParams\n\t): Promise {\n\t\tconst userLoginMigrationQuery: UserLoginMigrationQuery = UserLoginMigrationMapper.mapSearchParamsToQuery(params);\n\n\t\tconst migrationPage: Page = await this.userLoginMigrationUc.getMigrations(\n\t\t\tuser.userId,\n\t\t\tuserLoginMigrationQuery\n\t\t);\n\n\t\tconst migrationResponses: UserLoginMigrationResponse[] = migrationPage.data.map(\n\t\t\t(userLoginMigration: UserLoginMigrationDO) =>\n\t\t\t\tUserLoginMigrationMapper.mapUserLoginMigrationDoToResponse(userLoginMigration)\n\t\t);\n\n\t\tconst response: UserLoginMigrationSearchListResponse = new UserLoginMigrationSearchListResponse(\n\t\t\tmigrationResponses,\n\t\t\tmigrationPage.total,\n\t\t\tundefined,\n\t\t\tundefined\n\t\t);\n\n\t\treturn response;\n\t}\n\n\t@Get('schools/:schoolId')\n\t@ApiForbiddenResponse()\n\t@ApiOkResponse({ description: 'UserLoginMigrations has been found', type: UserLoginMigrationResponse })\n\t@ApiNotFoundResponse({ description: 'Cannot find UserLoginMigration' })\n\tasync findUserLoginMigrationBySchool(\n\t\t@CurrentUser() user: ICurrentUser,\n\t\t@Param() params: SchoolIdParams\n\t): Promise {\n\t\tconst userLoginMigration: UserLoginMigrationDO = await this.userLoginMigrationUc.findUserLoginMigrationBySchool(\n\t\t\tuser.userId,\n\t\t\tparams.schoolId\n\t\t);\n\n\t\tconst response: UserLoginMigrationResponse =\n\t\t\tUserLoginMigrationMapper.mapUserLoginMigrationDoToResponse(userLoginMigration);\n\n\t\treturn response;\n\t}\n\n\t@Post('start')\n\t@ApiUnprocessableEntityResponse({\n\t\tdescription: 'User login migration is already closed and cannot be modified',\n\t\ttype: UserLoginMigrationAlreadyClosedLoggableException,\n\t})\n\t@ApiUnprocessableEntityResponse({\n\t\tdescription: 'School has no official school number',\n\t\ttype: SchoolNumberMissingLoggableException,\n\t})\n\t@ApiOkResponse({ description: 'User login migration started', type: UserLoginMigrationResponse })\n\t@ApiForbiddenResponse()\n\tasync startMigration(@CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst migrationDto: UserLoginMigrationDO = await this.startUserLoginMigrationUc.startMigration(\n\t\t\tcurrentUser.userId,\n\t\t\tcurrentUser.schoolId\n\t\t);\n\n\t\tconst migrationResponse: UserLoginMigrationResponse =\n\t\t\tUserLoginMigrationMapper.mapUserLoginMigrationDoToResponse(migrationDto);\n\n\t\treturn migrationResponse;\n\t}\n\n\t@Put('restart')\n\t@ApiNotFoundResponse({\n\t\tdescription: 'User login migration was not found',\n\t\ttype: UserLoginMigrationNotFoundLoggableException,\n\t})\n\t@ApiUnprocessableEntityResponse({\n\t\tdescription: 'Grace period for changing the user login migration is expired',\n\t\ttype: UserLoginMigrationGracePeriodExpiredLoggableException,\n\t})\n\t@ApiOkResponse({ description: 'User login migration started', type: UserLoginMigrationResponse })\n\t@ApiUnauthorizedResponse()\n\t@ApiForbiddenResponse()\n\tasync restartMigration(@CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst migrationDto: UserLoginMigrationDO = await this.restartUserLoginMigrationUc.restartMigration(\n\t\t\tcurrentUser.userId,\n\t\t\tcurrentUser.schoolId\n\t\t);\n\n\t\tconst migrationResponse: UserLoginMigrationResponse =\n\t\t\tUserLoginMigrationMapper.mapUserLoginMigrationDoToResponse(migrationDto);\n\n\t\treturn migrationResponse;\n\t}\n\n\t@Put('mandatory')\n\t@ApiNotFoundResponse({\n\t\tdescription: 'User login migration was not found',\n\t\ttype: UserLoginMigrationNotFoundLoggableException,\n\t})\n\t@ApiUnprocessableEntityResponse({\n\t\tdescription: 'Grace period for changing the user login migration is expired',\n\t\ttype: UserLoginMigrationGracePeriodExpiredLoggableException,\n\t})\n\t@ApiUnprocessableEntityResponse({\n\t\tdescription: 'User login migration is already closed and cannot be modified',\n\t\ttype: UserLoginMigrationAlreadyClosedLoggableException,\n\t})\n\t@ApiOkResponse({ description: 'User login migration is set mandatory/optional', type: UserLoginMigrationResponse })\n\t@ApiUnauthorizedResponse()\n\t@ApiForbiddenResponse()\n\tasync setMigrationMandatory(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() body: UserLoginMigrationMandatoryParams\n\t): Promise {\n\t\tconst migrationDto: UserLoginMigrationDO = await this.toggleUserLoginMigrationUc.setMigrationMandatory(\n\t\t\tcurrentUser.userId,\n\t\t\tcurrentUser.schoolId,\n\t\t\tbody.mandatory\n\t\t);\n\n\t\tconst migrationResponse: UserLoginMigrationResponse =\n\t\t\tUserLoginMigrationMapper.mapUserLoginMigrationDoToResponse(migrationDto);\n\n\t\treturn migrationResponse;\n\t}\n\n\t@Post('close')\n\t@HttpCode(HttpStatus.OK)\n\t@ApiUnprocessableEntityResponse({\n\t\tdescription: 'User login migration is already closed and cannot be modified. Restart is possible.',\n\t\ttype: UserLoginMigrationAlreadyClosedLoggableException,\n\t})\n\t@ApiUnprocessableEntityResponse({\n\t\tdescription: 'User login migration is already closed and cannot be modified. It cannot be restarted.',\n\t\ttype: UserLoginMigrationGracePeriodExpiredLoggableException,\n\t})\n\t@ApiNotFoundResponse({\n\t\tdescription: 'User login migration does not exist',\n\t\ttype: UserLoginMigrationNotFoundLoggableException,\n\t})\n\t@ApiOkResponse({ description: 'User login migration closed', type: UserLoginMigrationResponse })\n\t@ApiUnauthorizedResponse()\n\t@ApiForbiddenResponse()\n\t@ApiNoContentResponse({ description: 'User login migration was reverted' })\n\tasync closeMigration(@CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst userLoginMigration: UserLoginMigrationDO | undefined = await this.closeUserLoginMigrationUc.closeMigration(\n\t\t\tcurrentUser.userId,\n\t\t\tcurrentUser.schoolId\n\t\t);\n\n\t\tif (userLoginMigration) {\n\t\t\tconst migrationResponse: UserLoginMigrationResponse =\n\t\t\t\tUserLoginMigrationMapper.mapUserLoginMigrationDoToResponse(userLoginMigration);\n\t\t\treturn migrationResponse;\n\t\t}\n\t\treturn undefined;\n\t}\n\n\t@Post('migrate-to-oauth2')\n\t@ApiOkResponse({ description: 'The User has been successfully migrated.', status: 200 })\n\t@ApiInternalServerErrorResponse({ description: 'The migration of the User was not possible.' })\n\tasync migrateUserLogin(\n\t\t@JWT() jwt: string,\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() body: Oauth2MigrationParams\n\t): Promise {\n\t\tawait this.userLoginMigrationUc.migrate(jwt, currentUser.userId, body.systemId, body.code, body.redirectUri);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserLoginMigrationDO.html":{"url":"classes/UserLoginMigrationDO.html","title":"class - UserLoginMigrationDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationDO\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/user-login-migration.do.ts\n \n\n\n\n \n Extends\n \n \n BaseDO\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n closedAt\n \n \n Optional\n finishedAt\n \n \n Optional\n mandatorySince\n \n \n schoolId\n \n \n Optional\n sourceSystemId\n \n \n startedAt\n \n \n targetSystemId\n \n \n Optional\n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: UserLoginMigrationDO)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user-login-migration.do.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n UserLoginMigrationDO\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n closedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user-login-migration.do.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n finishedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user-login-migration.do.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n mandatorySince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user-login-migration.do.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user-login-migration.do.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n sourceSystemId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user-login-migration.do.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n startedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user-login-migration.do.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n targetSystemId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user-login-migration.do.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from BaseDO\n\n \n \n \n \n Defined in BaseDO:5\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '../types';\nimport { BaseDO } from './base.do';\n\nexport class UserLoginMigrationDO extends BaseDO {\n\tschoolId: EntityId;\n\n\tsourceSystemId?: EntityId;\n\n\ttargetSystemId: EntityId;\n\n\tmandatorySince?: Date;\n\n\tstartedAt: Date;\n\n\tclosedAt?: Date;\n\n\tfinishedAt?: Date;\n\n\tconstructor(props: UserLoginMigrationDO) {\n\t\tsuper(props.id);\n\t\tthis.schoolId = props.schoolId;\n\t\tthis.sourceSystemId = props.sourceSystemId;\n\t\tthis.targetSystemId = props.targetSystemId;\n\t\tthis.mandatorySince = props.mandatorySince;\n\t\tthis.startedAt = props.startedAt;\n\t\tthis.closedAt = props.closedAt;\n\t\tthis.finishedAt = props.finishedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/UserLoginMigrationEntity.html":{"url":"entities/UserLoginMigrationEntity.html","title":"entity - UserLoginMigrationEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n UserLoginMigrationEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/user-login-migration.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n closedAt\n \n \n \n Optional\n finishedAt\n \n \n \n Optional\n mandatorySince\n \n \n \n school\n \n \n \n Optional\n sourceSystem\n \n \n \n startedAt\n \n \n \n targetSystem\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n closedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user-login-migration.entity.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n finishedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user-login-migration.entity.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n mandatorySince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user-login-migration.entity.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n Type : SchoolEntity\n\n \n \n \n \n Decorators : \n \n \n @OneToOne(undefined, undefined, {nullable: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user-login-migration.entity.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n sourceSystem\n \n \n \n \n \n \n Type : SystemEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined, {nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user-login-migration.entity.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n startedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user-login-migration.entity.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n targetSystem\n \n \n \n \n \n \n Type : SystemEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined)\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user-login-migration.entity.ts:18\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, ManyToOne, OneToOne, Property } from '@mikro-orm/core';\nimport { SchoolEntity } from '@shared/domain/entity/school.entity';\nimport { SystemEntity } from '@shared/domain/entity/system.entity';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport type IUserLoginMigration = Readonly>;\n\n@Entity({ tableName: 'user-login-migrations' })\nexport class UserLoginMigrationEntity extends BaseEntityWithTimestamps {\n\t@OneToOne(() => SchoolEntity, undefined, { nullable: false })\n\tschool: SchoolEntity;\n\n\t// undefined, if migrating from 'local'\n\t@ManyToOne(() => SystemEntity, { nullable: true })\n\tsourceSystem?: SystemEntity;\n\n\t@ManyToOne(() => SystemEntity)\n\ttargetSystem: SystemEntity;\n\n\t@Property({ nullable: true })\n\tmandatorySince?: Date;\n\n\t@Property()\n\tstartedAt: Date;\n\n\t@Property({ nullable: true })\n\tclosedAt?: Date;\n\n\t@Property({ nullable: true })\n\tfinishedAt?: Date;\n\n\tconstructor(props: IUserLoginMigration) {\n\t\tsuper();\n\t\tthis.school = props.school;\n\t\tthis.sourceSystem = props.sourceSystem;\n\t\tthis.targetSystem = props.targetSystem;\n\t\tthis.mandatorySince = props.mandatorySince;\n\t\tthis.startedAt = props.startedAt;\n\t\tthis.closedAt = props.closedAt;\n\t\tthis.finishedAt = props.finishedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{"url":"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html","title":"class - UserLoginMigrationGracePeriodExpiredLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationGracePeriodExpiredLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/user-login-migration-grace-period-expired-loggable.exception.ts\n \n\n\n\n \n Extends\n \n \n UnprocessableEntityException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userLoginMigrationId: EntityId, finishedAt: Date)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-login-migration-grace-period-expired-loggable.exception.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigrationId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n finishedAt\n \n \n Date\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-login-migration-grace-period-expired-loggable.exception.ts:13\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UnprocessableEntityException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class UserLoginMigrationGracePeriodExpiredLoggableException\n\textends UnprocessableEntityException\n\timplements Loggable\n{\n\tconstructor(private readonly userLoginMigrationId: EntityId, private readonly finishedAt: Date) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'USER_LOGIN_MIGRATION_GRACE_PERIOD_EXPIRED',\n\t\t\tmessage: 'The grace period after finishing the user login migration has expired. It cannot be restarted.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tuserLoginMigrationId: this.userLoginMigrationId,\n\t\t\t\tfinishedAt: this.finishedAt.toISOString(),\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserLoginMigrationMandatoryLoggable.html":{"url":"classes/UserLoginMigrationMandatoryLoggable.html","title":"class - UserLoginMigrationMandatoryLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationMandatoryLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/user-login-migration-mandatory.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userId: EntityId, userLoginMigrationId: EntityId | undefined, mandatory: boolean)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-login-migration-mandatory.loggable.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n userLoginMigrationId\n \n \n EntityId | undefined\n \n \n \n No\n \n \n \n \n mandatory\n \n \n boolean\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-login-migration-mandatory.loggable.ts:11\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class UserLoginMigrationMandatoryLoggable implements Loggable {\n\tconstructor(\n\t\tprivate readonly userId: EntityId,\n\t\tprivate readonly userLoginMigrationId: EntityId | undefined,\n\t\tprivate readonly mandatory: boolean\n\t) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'The school administrator changed the requirement status of the user login migration for his school.',\n\t\t\tdata: {\n\t\t\t\tuserId: this.userId,\n\t\t\t\tuserLoginMigrationId: this.userLoginMigrationId,\n\t\t\t\tmandatory: this.mandatory,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserLoginMigrationMandatoryParams.html":{"url":"classes/UserLoginMigrationMandatoryParams.html","title":"class - UserLoginMigrationMandatoryParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationMandatoryParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/controller/dto/request/user-login-migration-mandatory.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n mandatory\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n mandatory\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/request/user-login-migration-mandatory.params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsBoolean } from 'class-validator';\n\nexport class UserLoginMigrationMandatoryParams {\n\t@IsBoolean()\n\t@ApiProperty()\n\tmandatory!: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserLoginMigrationMapper.html":{"url":"classes/UserLoginMigrationMapper.html","title":"class - UserLoginMigrationMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/mapper/user-login-migration.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapSearchParamsToQuery\n \n \n Static\n mapUserLoginMigrationDoToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapSearchParamsToQuery\n \n \n \n \n \n \n \n mapSearchParamsToQuery(searchParams: UserLoginMigrationSearchParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/mapper/user-login-migration.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n searchParams\n \n UserLoginMigrationSearchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserLoginMigrationQuery\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapUserLoginMigrationDoToResponse\n \n \n \n \n \n \n \n mapUserLoginMigrationDoToResponse(domainObject: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/mapper/user-login-migration.mapper.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserLoginMigrationResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { UserLoginMigrationResponse, UserLoginMigrationSearchParams } from '../controller/dto';\nimport { UserLoginMigrationQuery } from '../uc';\n\nexport class UserLoginMigrationMapper {\n\tstatic mapSearchParamsToQuery(searchParams: UserLoginMigrationSearchParams): UserLoginMigrationQuery {\n\t\tconst query: UserLoginMigrationQuery = {\n\t\t\tuserId: searchParams.userId,\n\t\t};\n\n\t\treturn query;\n\t}\n\n\tstatic mapUserLoginMigrationDoToResponse(domainObject: UserLoginMigrationDO): UserLoginMigrationResponse {\n\t\tconst response: UserLoginMigrationResponse = new UserLoginMigrationResponse({\n\t\t\tid: domainObject.id as string,\n\t\t\tsourceSystemId: domainObject.sourceSystemId,\n\t\t\ttargetSystemId: domainObject.targetSystemId,\n\t\t\tstartedAt: domainObject.startedAt,\n\t\t\tclosedAt: domainObject.closedAt,\n\t\t\tfinishedAt: domainObject.finishedAt,\n\t\t\tmandatorySince: domainObject.mandatorySince,\n\t\t});\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/UserLoginMigrationModule.html":{"url":"modules/UserLoginMigrationModule.html","title":"module - UserLoginMigrationModule","body":"\n \n\n\n\n\n Modules\n UserLoginMigrationModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_UserLoginMigrationModule\n\n\n\ncluster_UserLoginMigrationModule_providers\n\n\n\ncluster_UserLoginMigrationModule_exports\n\n\n\ncluster_UserLoginMigrationModule_imports\n\n\n\n\nAccountModule\n\nAccountModule\n\n\n\nUserLoginMigrationModule\n\nUserLoginMigrationModule\n\nUserLoginMigrationModule -->\n\nAccountModule->UserLoginMigrationModule\n\n\n\n\n\nLegacySchoolModule\n\nLegacySchoolModule\n\nUserLoginMigrationModule -->\n\nLegacySchoolModule->UserLoginMigrationModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nUserLoginMigrationModule -->\n\nLoggerModule->UserLoginMigrationModule\n\n\n\n\n\nSystemModule\n\nSystemModule\n\nUserLoginMigrationModule -->\n\nSystemModule->UserLoginMigrationModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nUserLoginMigrationModule -->\n\nUserModule->UserLoginMigrationModule\n\n\n\n\n\nMigrationCheckService \n\nMigrationCheckService \n\nMigrationCheckService -->\n\nUserLoginMigrationModule->MigrationCheckService \n\n\n\n\n\nSchoolMigrationService \n\nSchoolMigrationService \n\nSchoolMigrationService -->\n\nUserLoginMigrationModule->SchoolMigrationService \n\n\n\n\n\nUserLoginMigrationRevertService \n\nUserLoginMigrationRevertService \n\nUserLoginMigrationRevertService -->\n\nUserLoginMigrationModule->UserLoginMigrationRevertService \n\n\n\n\n\nUserLoginMigrationService \n\nUserLoginMigrationService \n\nUserLoginMigrationService -->\n\nUserLoginMigrationModule->UserLoginMigrationService \n\n\n\n\n\nUserMigrationService \n\nUserMigrationService \n\nUserMigrationService -->\n\nUserLoginMigrationModule->UserMigrationService \n\n\n\n\n\nMigrationCheckService\n\nMigrationCheckService\n\nUserLoginMigrationModule -->\n\nMigrationCheckService->UserLoginMigrationModule\n\n\n\n\n\nSchoolMigrationService\n\nSchoolMigrationService\n\nUserLoginMigrationModule -->\n\nSchoolMigrationService->UserLoginMigrationModule\n\n\n\n\n\nUserLoginMigrationRepo\n\nUserLoginMigrationRepo\n\nUserLoginMigrationModule -->\n\nUserLoginMigrationRepo->UserLoginMigrationModule\n\n\n\n\n\nUserLoginMigrationRevertService\n\nUserLoginMigrationRevertService\n\nUserLoginMigrationModule -->\n\nUserLoginMigrationRevertService->UserLoginMigrationModule\n\n\n\n\n\nUserLoginMigrationService\n\nUserLoginMigrationService\n\nUserLoginMigrationModule -->\n\nUserLoginMigrationService->UserLoginMigrationModule\n\n\n\n\n\nUserMigrationService\n\nUserMigrationService\n\nUserLoginMigrationModule -->\n\nUserMigrationService->UserLoginMigrationModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/user-login-migration/user-login-migration.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n MigrationCheckService\n \n \n SchoolMigrationService\n \n \n UserLoginMigrationRepo\n \n \n UserLoginMigrationRevertService\n \n \n UserLoginMigrationService\n \n \n UserMigrationService\n \n \n \n \n Imports\n \n \n AccountModule\n \n \n LegacySchoolModule\n \n \n LoggerModule\n \n \n SystemModule\n \n \n UserModule\n \n \n \n \n Exports\n \n \n MigrationCheckService\n \n \n SchoolMigrationService\n \n \n UserLoginMigrationRevertService\n \n \n UserLoginMigrationService\n \n \n UserMigrationService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { UserLoginMigrationRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { AccountModule } from '@modules/account';\nimport { LegacySchoolModule } from '@modules/legacy-school';\nimport { SystemModule } from '@modules/system';\nimport { UserModule } from '@modules/user';\nimport {\n\tMigrationCheckService,\n\tSchoolMigrationService,\n\tUserLoginMigrationRevertService,\n\tUserLoginMigrationService,\n\tUserMigrationService,\n} from './service';\n\n@Module({\n\timports: [UserModule, LegacySchoolModule, LoggerModule, AccountModule, SystemModule],\n\tproviders: [\n\t\tUserMigrationService,\n\t\tSchoolMigrationService,\n\t\tMigrationCheckService,\n\t\tUserLoginMigrationService,\n\t\tUserLoginMigrationRepo,\n\t\tUserLoginMigrationRevertService,\n\t],\n\texports: [\n\t\tUserMigrationService,\n\t\tSchoolMigrationService,\n\t\tMigrationCheckService,\n\t\tUserLoginMigrationService,\n\t\tUserLoginMigrationRevertService,\n\t],\n})\nexport class UserLoginMigrationModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserLoginMigrationNotFoundLoggableException.html":{"url":"classes/UserLoginMigrationNotFoundLoggableException.html","title":"class - UserLoginMigrationNotFoundLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationNotFoundLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/user-login-migration-not-found.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n NotFoundException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolId: EntityId, userLoginMigrationId?: EntityId)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-login-migration-not-found.loggable-exception.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n userLoginMigrationId\n \n \n EntityId\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-login-migration-not-found.loggable-exception.ts:10\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { NotFoundException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class UserLoginMigrationNotFoundLoggableException extends NotFoundException implements Loggable {\n\tconstructor(private readonly schoolId: EntityId, private readonly userLoginMigrationId?: EntityId) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'USER_LOGIN_MIGRATION_NOT_FOUND',\n\t\t\tmessage: 'Cannot find requested user login migration for school.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tschoolId: this.schoolId,\n\t\t\t\tuserLoginMigrationId: this.userLoginMigrationId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UserLoginMigrationQuery.html":{"url":"interfaces/UserLoginMigrationQuery.html","title":"interface - UserLoginMigrationQuery","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UserLoginMigrationQuery\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/uc/dto/user-login-migration-query.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n userId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface UserLoginMigrationQuery {\n\tuserId?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UserLoginMigrationRepo.html":{"url":"injectables/UserLoginMigrationRepo.html","title":"injectable - UserLoginMigrationRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n UserLoginMigrationRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/userloginmigration/user-login-migration.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseDORepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n entityFactory\n \n \n Async\n findBySchoolId\n \n \n mapDOToEntityProperties\n \n \n mapEntityToDO\n \n \n Private\n createEntity\n \n \n Protected\n createNewEntityFromDO\n \n \n Async\n delete\n \n \n Async\n deleteById\n \n \n Private\n deleteEntityById\n \n \n Async\n findById\n \n \n Private\n removeProtectedEntityFields\n \n \n Async\n save\n \n \n Async\n saveAll\n \n \n Private\n Async\n updateEntity\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(_em: EntityManager, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/shared/repo/userloginmigration/user-login-migration.repo.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n _em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n entityFactory\n \n \n \n \n \n \nentityFactory(props: IUserLoginMigration)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:25\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n IUserLoginMigration\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserLoginMigrationEntity\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findBySchoolId\n \n \n \n \n \n \n \n findBySchoolId(schoolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/userloginmigration/user-login-migration.repo.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapDOToEntityProperties\n \n \n \n \n \n \nmapDOToEntityProperties(entityDO: UserLoginMigrationDO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:57\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : IUserLoginMigration\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapEntityToDO\n \n \n \n \n \n \nmapEntityToDO(entity: UserLoginMigrationEntity)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:42\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n UserLoginMigrationEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserLoginMigrationDO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createEntity\n \n \n \n \n \n \n \n createEntity(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:44\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : E\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n createNewEntityFromDO\n \n \n \n \n \n \n \n createNewEntityFromDO(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:65\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : E\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(domainObjects: DO[] | DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:87\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[] | DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteById\n \n \n \n \n \n \n [object Object],[object Object],[object Object]\n \n \n \n \n \n deleteById(id: EntityId | EntityId[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:100\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n deleteEntityById\n \n \n \n \n \n \n \n deleteEntityById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:113\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:118\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeProtectedEntityFields\n \n \n \n \n \n \n \n removeProtectedEntityFields(entity: E)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:79\n\n \n \n\n\n \n \n Ignore base entity properties when updating entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n E\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entityDo: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:21\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDo\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAll\n \n \n \n \n \n \n \n saveAll(entityDos: DO[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDos\n \n DO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n updateEntity\n \n \n \n \n \n \n \n updateEntity(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:52\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/userloginmigration/user-login-migration.repo.ts:21\n \n \n\n \n \n\n \n\n\n \n import { EntityName } from '@mikro-orm/core';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { SchoolEntity, SystemEntity } from '@shared/domain/entity';\nimport { IUserLoginMigration, UserLoginMigrationEntity } from '@shared/domain/entity/user-login-migration.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacyLogger } from '@src/core/logger';\nimport { BaseDORepo } from '../base.do.repo';\n\n@Injectable()\nexport class UserLoginMigrationRepo extends BaseDORepo {\n\tconstructor(protected readonly _em: EntityManager, protected readonly logger: LegacyLogger) {\n\t\tsuper(_em, logger);\n\t}\n\n\tget entityName(): EntityName {\n\t\treturn UserLoginMigrationEntity;\n\t}\n\n\tentityFactory(props: IUserLoginMigration): UserLoginMigrationEntity {\n\t\treturn new UserLoginMigrationEntity(props);\n\t}\n\n\tasync findBySchoolId(schoolId: EntityId): Promise {\n\t\tconst userLoginMigration: UserLoginMigrationEntity | null = await this._em.findOne(UserLoginMigrationEntity, {\n\t\t\tschool: schoolId,\n\t\t});\n\n\t\tif (userLoginMigration) {\n\t\t\tconst userLoginMigrationDO = this.mapEntityToDO(userLoginMigration);\n\t\t\treturn userLoginMigrationDO;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tmapEntityToDO(entity: UserLoginMigrationEntity): UserLoginMigrationDO {\n\t\tconst userLoginMigrationDO: UserLoginMigrationDO = new UserLoginMigrationDO({\n\t\t\tid: entity.id,\n\t\t\tschoolId: entity.school.id,\n\t\t\tsourceSystemId: entity.sourceSystem?.id,\n\t\t\ttargetSystemId: entity.targetSystem.id,\n\t\t\tmandatorySince: entity.mandatorySince,\n\t\t\tstartedAt: entity.startedAt,\n\t\t\tclosedAt: entity.closedAt,\n\t\t\tfinishedAt: entity.finishedAt,\n\t\t});\n\n\t\treturn userLoginMigrationDO;\n\t}\n\n\tmapDOToEntityProperties(entityDO: UserLoginMigrationDO): IUserLoginMigration {\n\t\tconst userLoginMigrationProps: IUserLoginMigration = {\n\t\t\tschool: this._em.getReference(SchoolEntity, entityDO.schoolId),\n\t\t\tsourceSystem: entityDO.sourceSystemId ? this._em.getReference(SystemEntity, entityDO.sourceSystemId) : undefined,\n\t\t\ttargetSystem: this._em.getReference(SystemEntity, entityDO.targetSystemId),\n\t\t\tmandatorySince: entityDO.mandatorySince,\n\t\t\tstartedAt: entityDO.startedAt,\n\t\t\tclosedAt: entityDO.closedAt,\n\t\t\tfinishedAt: entityDO.finishedAt,\n\t\t};\n\n\t\treturn userLoginMigrationProps;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserLoginMigrationResponse.html":{"url":"classes/UserLoginMigrationResponse.html","title":"class - UserLoginMigrationResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n closedAt\n \n \n \n Optional\n finishedAt\n \n \n \n id\n \n \n \n Optional\n mandatorySince\n \n \n \n Optional\n sourceSystemId\n \n \n \n startedAt\n \n \n \n targetSystemId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: UserLoginMigrationResponse)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration.response.ts:35\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n UserLoginMigrationResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n closedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Date when the migration was completed'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration.response.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n finishedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Date when the migration was completed including the grace period'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration.response.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration.response.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n mandatorySince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Date when the migration was marked as required'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration.response.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n sourceSystemId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Id of the system which is the origin of the migration'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration.response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n startedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Date when the migration was started'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration.response.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n targetSystemId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Id of the system which is the target of the migration'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration.response.ts:15\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\n\nexport class UserLoginMigrationResponse {\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Id of the system which is the origin of the migration',\n\t})\n\tsourceSystemId?: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Id of the system which is the target of the migration',\n\t})\n\ttargetSystemId: string;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Date when the migration was marked as required',\n\t})\n\tmandatorySince?: Date;\n\n\t@ApiProperty({\n\t\tdescription: 'Date when the migration was started',\n\t})\n\tstartedAt: Date;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Date when the migration was completed',\n\t})\n\tclosedAt?: Date;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Date when the migration was completed including the grace period',\n\t})\n\tfinishedAt?: Date;\n\n\tconstructor(props: UserLoginMigrationResponse) {\n\t\tthis.id = props.id;\n\t\tthis.sourceSystemId = props.sourceSystemId;\n\t\tthis.targetSystemId = props.targetSystemId;\n\t\tthis.mandatorySince = props.mandatorySince;\n\t\tthis.startedAt = props.startedAt;\n\t\tthis.closedAt = props.closedAt;\n\t\tthis.finishedAt = props.finishedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UserLoginMigrationRevertService.html":{"url":"injectables/UserLoginMigrationRevertService.html","title":"injectable - UserLoginMigrationRevertService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n UserLoginMigrationRevertService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/service/user-login-migration-revert.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n revertUserLoginMigration\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userLoginMigrationService: UserLoginMigrationService, schoolService: LegacySchoolService)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration-revert.service.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigrationService\n \n \n UserLoginMigrationService\n \n \n \n No\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n revertUserLoginMigration\n \n \n \n \n \n \n \n revertUserLoginMigration(userLoginMigration: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration-revert.service.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigration\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { LegacySchoolService } from '@modules/legacy-school';\nimport { Injectable } from '@nestjs/common';\nimport { UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { SchoolFeatures } from '@shared/domain/entity';\nimport { UserLoginMigrationService } from './user-login-migration.service';\n\n@Injectable()\nexport class UserLoginMigrationRevertService {\n\tconstructor(\n\t\tprivate readonly userLoginMigrationService: UserLoginMigrationService,\n\t\tprivate readonly schoolService: LegacySchoolService\n\t) {}\n\n\tasync revertUserLoginMigration(userLoginMigration: UserLoginMigrationDO): Promise {\n\t\tawait this.schoolService.removeFeature(userLoginMigration.schoolId, SchoolFeatures.OAUTH_PROVISIONING_ENABLED);\n\t\tawait this.userLoginMigrationService.deleteUserLoginMigration(userLoginMigration);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UserLoginMigrationRule.html":{"url":"injectables/UserLoginMigrationRule.html","title":"injectable - UserLoginMigrationRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n UserLoginMigrationRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/user-login-migration.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/user-login-migration.rule.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, entity: UserLoginMigrationDO, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/user-login-migration.rule.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, entity: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/user-login-migration.rule.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\n\n@Injectable()\nexport class UserLoginMigrationRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper) {}\n\n\tpublic isApplicable(user: User, entity: UserLoginMigrationDO): boolean {\n\t\tconst isMatched: boolean = entity instanceof UserLoginMigrationDO;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, entity: UserLoginMigrationDO, context: AuthorizationContext): boolean {\n\t\tconst hasPermission: boolean =\n\t\t\tthis.authorizationHelper.hasAllPermissions(user, context.requiredPermissions) &&\n\t\t\tuser.school.id === entity.schoolId;\n\n\t\treturn hasPermission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserLoginMigrationSearchListResponse.html":{"url":"classes/UserLoginMigrationSearchListResponse.html","title":"class - UserLoginMigrationSearchListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationSearchListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration-search-list.response.ts\n \n\n\n\n \n Extends\n \n \n PaginationResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: UserLoginMigrationResponse[], total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration-search-list.response.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n UserLoginMigrationResponse[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : UserLoginMigrationResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:7\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:14\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { PaginationResponse } from '@shared/controller';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { UserLoginMigrationResponse } from './user-login-migration.response';\n\nexport class UserLoginMigrationSearchListResponse extends PaginationResponse {\n\t@ApiProperty({ type: [UserLoginMigrationResponse] })\n\tdata: UserLoginMigrationResponse[];\n\n\tconstructor(data: UserLoginMigrationResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserLoginMigrationSearchParams.html":{"url":"classes/UserLoginMigrationSearchParams.html","title":"class - UserLoginMigrationSearchParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationSearchParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/controller/dto/request/user-login-migration-search.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n userId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()@IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/request/user-login-migration-search.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsOptional, IsString } from 'class-validator';\n\nexport class UserLoginMigrationSearchParams {\n\t@ApiPropertyOptional()\n\t@IsString()\n\t@IsOptional()\n\tuserId?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UserLoginMigrationService.html":{"url":"injectables/UserLoginMigrationService.html","title":"injectable - UserLoginMigrationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n UserLoginMigrationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkGracePeriod\n \n \n Public\n Async\n closeMigration\n \n \n Private\n Async\n createNewMigration\n \n \n Public\n Async\n deleteUserLoginMigration\n \n \n Private\n enableOauthMigrationFeature\n \n \n Public\n Async\n findMigrationBySchool\n \n \n Public\n Async\n findMigrationByUser\n \n \n Private\n isGracePeriodExpired\n \n \n Public\n Async\n restartMigration\n \n \n Public\n Async\n setMigrationMandatory\n \n \n Public\n Async\n startMigration\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userService: UserService, userLoginMigrationRepo: UserLoginMigrationRepo, schoolService: LegacySchoolService, systemService: LegacySystemService)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n userLoginMigrationRepo\n \n \n UserLoginMigrationRepo\n \n \n \n No\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n systemService\n \n \n LegacySystemService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkGracePeriod\n \n \n \n \n \n \n \n checkGracePeriod(userLoginMigration: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:96\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigration\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n closeMigration\n \n \n \n \n \n \n \n closeMigration(userLoginMigration: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigration\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createNewMigration\n \n \n \n \n \n \n \n createNewMigration(school: LegacySchoolDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:112\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n school\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n deleteUserLoginMigration\n \n \n \n \n \n \n \n deleteUserLoginMigration(userLoginMigration: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:168\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigration\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n enableOauthMigrationFeature\n \n \n \n \n \n \n \n enableOauthMigrationFeature(schoolDo: LegacySchoolDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:134\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolDo\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findMigrationBySchool\n \n \n \n \n \n \n \n findMigrationBySchool(schoolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:142\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findMigrationByUser\n \n \n \n \n \n \n \n findMigrationByUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:148\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isGracePeriodExpired\n \n \n \n \n \n \n \n isGracePeriodExpired(userLoginMigration: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:105\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigration\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n restartMigration\n \n \n \n \n \n \n \n restartMigration(userLoginMigration: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigration\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n setMigrationMandatory\n \n \n \n \n \n \n \n setMigrationMandatory(userLoginMigration: UserLoginMigrationDO, mandatory: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigration\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n mandatory\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n startMigration\n \n \n \n \n \n \n \n startMigration(schoolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { LegacySchoolService } from '@modules/legacy-school';\nimport { LegacySystemService, SystemDto } from '@modules/system';\nimport { UserService } from '@modules/user';\nimport { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { LegacySchoolDo, UserDO, UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { SchoolFeatures } from '@shared/domain/entity';\nimport { EntityId, SystemTypeEnum } from '@shared/domain/types';\nimport { UserLoginMigrationRepo } from '@shared/repo';\nimport {\n\tUserLoginMigrationAlreadyClosedLoggableException,\n\tUserLoginMigrationGracePeriodExpiredLoggableException,\n} from '../loggable';\n\n@Injectable()\nexport class UserLoginMigrationService {\n\tconstructor(\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly userLoginMigrationRepo: UserLoginMigrationRepo,\n\t\tprivate readonly schoolService: LegacySchoolService,\n\t\tprivate readonly systemService: LegacySystemService\n\t) {}\n\n\tpublic async startMigration(schoolId: string): Promise {\n\t\tconst schoolDo: LegacySchoolDo = await this.schoolService.getSchoolById(schoolId);\n\n\t\tconst userLoginMigrationDO: UserLoginMigrationDO = await this.createNewMigration(schoolDo);\n\n\t\tthis.enableOauthMigrationFeature(schoolDo);\n\t\tawait this.schoolService.save(schoolDo);\n\n\t\tconst userLoginMigration: UserLoginMigrationDO = await this.userLoginMigrationRepo.save(userLoginMigrationDO);\n\n\t\treturn userLoginMigration;\n\t}\n\n\tpublic async restartMigration(userLoginMigration: UserLoginMigrationDO): Promise {\n\t\tthis.checkGracePeriod(userLoginMigration);\n\n\t\tif (!userLoginMigration.closedAt || !userLoginMigration.finishedAt) {\n\t\t\treturn userLoginMigration;\n\t\t}\n\n\t\tuserLoginMigration.closedAt = undefined;\n\t\tuserLoginMigration.finishedAt = undefined;\n\n\t\tconst updatedUserLoginMigration: UserLoginMigrationDO = await this.userLoginMigrationRepo.save(userLoginMigration);\n\n\t\treturn updatedUserLoginMigration;\n\t}\n\n\tpublic async setMigrationMandatory(\n\t\tuserLoginMigration: UserLoginMigrationDO,\n\t\tmandatory: boolean\n\t): Promise {\n\t\tthis.checkGracePeriod(userLoginMigration);\n\n\t\tif (userLoginMigration.closedAt) {\n\t\t\tthrow new UserLoginMigrationAlreadyClosedLoggableException(userLoginMigration.closedAt, userLoginMigration.id);\n\t\t}\n\n\t\tif (mandatory) {\n\t\t\tuserLoginMigration.mandatorySince = userLoginMigration.mandatorySince ?? new Date();\n\t\t} else {\n\t\t\tuserLoginMigration.mandatorySince = undefined;\n\t\t}\n\n\t\tuserLoginMigration = await this.userLoginMigrationRepo.save(userLoginMigration);\n\n\t\treturn userLoginMigration;\n\t}\n\n\tpublic async closeMigration(userLoginMigration: UserLoginMigrationDO): Promise {\n\t\tthis.checkGracePeriod(userLoginMigration);\n\n\t\tif (userLoginMigration.closedAt) {\n\t\t\treturn userLoginMigration;\n\t\t}\n\n\t\tawait this.schoolService.removeFeature(\n\t\t\tuserLoginMigration.schoolId,\n\t\t\tSchoolFeatures.ENABLE_LDAP_SYNC_DURING_MIGRATION\n\t\t);\n\n\t\tconst now: Date = new Date();\n\t\tconst gracePeriodDuration: number = Configuration.get('MIGRATION_END_GRACE_PERIOD_MS') as number;\n\n\t\tuserLoginMigration.closedAt = now;\n\t\tuserLoginMigration.finishedAt = new Date(now.getTime() + gracePeriodDuration);\n\n\t\tuserLoginMigration = await this.userLoginMigrationRepo.save(userLoginMigration);\n\n\t\treturn userLoginMigration;\n\t}\n\n\tprivate checkGracePeriod(userLoginMigration: UserLoginMigrationDO) {\n\t\tif (userLoginMigration.finishedAt && this.isGracePeriodExpired(userLoginMigration)) {\n\t\t\tthrow new UserLoginMigrationGracePeriodExpiredLoggableException(\n\t\t\t\tuserLoginMigration.id as string,\n\t\t\t\tuserLoginMigration.finishedAt\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate isGracePeriodExpired(userLoginMigration: UserLoginMigrationDO): boolean {\n\t\tconst isGracePeriodExpired: boolean =\n\t\t\t!!userLoginMigration.finishedAt && Date.now() >= userLoginMigration.finishedAt.getTime();\n\n\t\treturn isGracePeriodExpired;\n\t}\n\n\tprivate async createNewMigration(school: LegacySchoolDo): Promise {\n\t\tconst oauthSystems: SystemDto[] = await this.systemService.findByType(SystemTypeEnum.OAUTH);\n\t\tconst sanisSystem: SystemDto | undefined = oauthSystems.find((system: SystemDto) => system.alias === 'SANIS');\n\n\t\tif (!sanisSystem) {\n\t\t\tthrow new InternalServerErrorException('Cannot find SANIS system');\n\t\t}\n\n\t\tconst systemIds: EntityId[] =\n\t\t\tschool.systems?.filter((systemId: EntityId) => systemId !== (sanisSystem.id as string)) || [];\n\t\tconst sourceSystemId = systemIds[0];\n\n\t\tconst userLoginMigrationDO: UserLoginMigrationDO = new UserLoginMigrationDO({\n\t\t\tschoolId: school.id as string,\n\t\t\ttargetSystemId: sanisSystem.id as string,\n\t\t\tsourceSystemId,\n\t\t\tstartedAt: new Date(),\n\t\t});\n\n\t\treturn userLoginMigrationDO;\n\t}\n\n\tprivate enableOauthMigrationFeature(schoolDo: LegacySchoolDo) {\n\t\tif (schoolDo.features && !schoolDo.features.includes(SchoolFeatures.OAUTH_PROVISIONING_ENABLED)) {\n\t\t\tschoolDo.features.push(SchoolFeatures.OAUTH_PROVISIONING_ENABLED);\n\t\t} else {\n\t\t\tschoolDo.features = [SchoolFeatures.OAUTH_PROVISIONING_ENABLED];\n\t\t}\n\t}\n\n\tpublic async findMigrationBySchool(schoolId: string): Promise {\n\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationRepo.findBySchoolId(schoolId);\n\n\t\treturn userLoginMigration;\n\t}\n\n\tpublic async findMigrationByUser(userId: EntityId): Promise {\n\t\tconst userDO: UserDO = await this.userService.findById(userId);\n\t\tconst { schoolId } = userDO;\n\n\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.findMigrationBySchool(schoolId);\n\n\t\tif (!userLoginMigration) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst hasUserMigrated: boolean =\n\t\t\t!!userDO.lastLoginSystemChange && userDO.lastLoginSystemChange > userLoginMigration.startedAt;\n\n\t\tif (hasUserMigrated) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn userLoginMigration;\n\t}\n\n\tpublic async deleteUserLoginMigration(userLoginMigration: UserLoginMigrationDO): Promise {\n\t\tawait this.userLoginMigrationRepo.delete(userLoginMigration);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserLoginMigrationStartLoggable.html":{"url":"classes/UserLoginMigrationStartLoggable.html","title":"class - UserLoginMigrationStartLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationStartLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/user-login-migration-start.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userId: EntityId, userLoginMigrationId: EntityId | undefined)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-login-migration-start.loggable.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n userLoginMigrationId\n \n \n EntityId | undefined\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-login-migration-start.loggable.ts:7\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class UserLoginMigrationStartLoggable implements Loggable {\n\tconstructor(private readonly userId: EntityId, private readonly userLoginMigrationId: EntityId | undefined) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'The school administrator started the migration for his school.',\n\t\t\tdata: {\n\t\t\t\tuserId: this.userId,\n\t\t\t\tuserLoginMigrationId: this.userLoginMigrationId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UserLoginMigrationUc.html":{"url":"injectables/UserLoginMigrationUc.html","title":"injectable - UserLoginMigrationUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n UserLoginMigrationUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/uc/user-login-migration.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findUserLoginMigrationBySchool\n \n \n Async\n getMigrations\n \n \n Async\n migrate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userMigrationService: UserMigrationService, userLoginMigrationService: UserLoginMigrationService, oauthService: OAuthService, provisioningService: ProvisioningService, schoolMigrationService: SchoolMigrationService, authenticationService: AuthenticationService, authorizationService: AuthorizationService, logger: Logger)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/uc/user-login-migration.uc.ts:23\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userMigrationService\n \n \n UserMigrationService\n \n \n \n No\n \n \n \n \n userLoginMigrationService\n \n \n UserLoginMigrationService\n \n \n \n No\n \n \n \n \n oauthService\n \n \n OAuthService\n \n \n \n No\n \n \n \n \n provisioningService\n \n \n ProvisioningService\n \n \n \n No\n \n \n \n \n schoolMigrationService\n \n \n SchoolMigrationService\n \n \n \n No\n \n \n \n \n authenticationService\n \n \n AuthenticationService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findUserLoginMigrationBySchool\n \n \n \n \n \n \n \n findUserLoginMigrationBySchool(userId: EntityId, schoolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/uc/user-login-migration.uc.ts:55\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getMigrations\n \n \n \n \n \n \n \n getMigrations(userId: EntityId, query: UserLoginMigrationQuery)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/uc/user-login-migration.uc.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n query\n \n UserLoginMigrationQuery\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n migrate\n \n \n \n \n \n \n \n migrate(userJwt: string, currentUserId: EntityId, targetSystemId: EntityId, code: string, redirectUri: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/uc/user-login-migration.uc.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userJwt\n \n string\n \n\n \n No\n \n\n\n \n \n currentUserId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetSystemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n code\n \n string\n \n\n \n No\n \n\n\n \n \n redirectUri\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthenticationService } from '@modules/authentication';\nimport { Action, AuthorizationService } from '@modules/authorization';\nimport { OAuthService, OAuthTokenDto } from '@modules/oauth';\nimport { OauthDataDto, ProvisioningService } from '@modules/provisioning';\nimport { ForbiddenException, Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { LegacySchoolDo, Page, UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { Logger } from '@src/core/logger';\nimport {\n\tExternalSchoolNumberMissingLoggableException,\n\tInvalidUserLoginMigrationLoggableException,\n\tSchoolMigrationSuccessfulLoggable,\n\tUserMigrationStartedLoggable,\n\tUserMigrationSuccessfulLoggable,\n} from '../loggable';\nimport { SchoolMigrationService, UserLoginMigrationService, UserMigrationService } from '../service';\nimport { UserLoginMigrationQuery } from './dto';\n\n@Injectable()\nexport class UserLoginMigrationUc {\n\tconstructor(\n\t\tprivate readonly userMigrationService: UserMigrationService,\n\t\tprivate readonly userLoginMigrationService: UserLoginMigrationService,\n\t\tprivate readonly oauthService: OAuthService,\n\t\tprivate readonly provisioningService: ProvisioningService,\n\t\tprivate readonly schoolMigrationService: SchoolMigrationService,\n\t\tprivate readonly authenticationService: AuthenticationService,\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly logger: Logger\n\t) {}\n\n\tasync getMigrations(userId: EntityId, query: UserLoginMigrationQuery): Promise> {\n\t\tlet page = new Page([], 0);\n\n\t\tif (query.userId) {\n\t\t\tif (userId !== query.userId) {\n\t\t\t\tthrow new ForbiddenException('Accessing migration status of another user is forbidden.');\n\t\t\t}\n\n\t\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationService.findMigrationByUser(\n\t\t\t\tquery.userId\n\t\t\t);\n\n\t\t\tif (userLoginMigration) {\n\t\t\t\tpage = new Page([userLoginMigration], 1);\n\t\t\t}\n\t\t}\n\n\t\treturn page;\n\t}\n\n\tasync findUserLoginMigrationBySchool(userId: EntityId, schoolId: EntityId): Promise {\n\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationService.findMigrationBySchool(\n\t\t\tschoolId\n\t\t);\n\n\t\tif (!userLoginMigration) {\n\t\t\tthrow new NotFoundLoggableException('UserLoginMigration', 'schoolId', schoolId);\n\t\t}\n\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(userId);\n\t\tthis.authorizationService.checkPermission(user, userLoginMigration, {\n\t\t\trequiredPermissions: [Permission.USER_LOGIN_MIGRATION_ADMIN],\n\t\t\taction: Action.read,\n\t\t});\n\n\t\treturn userLoginMigration;\n\t}\n\n\tasync migrate(\n\t\tuserJwt: string,\n\t\tcurrentUserId: EntityId,\n\t\ttargetSystemId: EntityId,\n\t\tcode: string,\n\t\tredirectUri: string\n\t): Promise {\n\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationService.findMigrationByUser(\n\t\t\tcurrentUserId\n\t\t);\n\n\t\tif (!userLoginMigration || userLoginMigration.closedAt || userLoginMigration.targetSystemId !== targetSystemId) {\n\t\t\tthrow new InvalidUserLoginMigrationLoggableException(currentUserId, targetSystemId);\n\t\t}\n\n\t\tconst tokenDto: OAuthTokenDto = await this.oauthService.authenticateUser(targetSystemId, redirectUri, code);\n\n\t\tthis.logger.debug(new UserMigrationStartedLoggable(currentUserId, userLoginMigration));\n\n\t\tconst data: OauthDataDto = await this.provisioningService.getData(\n\t\t\ttargetSystemId,\n\t\t\ttokenDto.idToken,\n\t\t\ttokenDto.accessToken\n\t\t);\n\n\t\tif (data.externalSchool) {\n\t\t\tif (!data.externalSchool.officialSchoolNumber) {\n\t\t\t\tthrow new ExternalSchoolNumberMissingLoggableException(data.externalSchool.externalId);\n\t\t\t}\n\n\t\t\tconst schoolToMigrate: LegacySchoolDo | null = await this.schoolMigrationService.getSchoolForMigration(\n\t\t\t\tcurrentUserId,\n\t\t\t\tdata.externalSchool.externalId,\n\t\t\t\tdata.externalSchool.officialSchoolNumber\n\t\t\t);\n\n\t\t\tif (schoolToMigrate) {\n\t\t\t\tawait this.schoolMigrationService.migrateSchool(\n\t\t\t\t\tschoolToMigrate,\n\t\t\t\t\tdata.externalSchool.externalId,\n\t\t\t\t\ttargetSystemId\n\t\t\t\t);\n\n\t\t\t\tthis.logger.debug(new SchoolMigrationSuccessfulLoggable(schoolToMigrate, userLoginMigration));\n\t\t\t}\n\t\t}\n\n\t\tawait this.userMigrationService.migrateUser(currentUserId, data.externalUser.externalId, targetSystemId);\n\n\t\tthis.logger.debug(new UserMigrationSuccessfulLoggable(currentUserId, userLoginMigration));\n\n\t\tawait this.authenticationService.removeJwtFromWhitelist(userJwt);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserMapper.html":{"url":"classes/UserMapper.html","title":"class - UserMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user/mapper/user.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapFromEntityToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapFromEntityToDto\n \n \n \n \n \n \n \n mapFromEntityToDto(entity: User)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/mapper/user.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserDto\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UserDto } from '@modules/user/uc/dto/user.dto';\nimport { Role, User } from '@shared/domain/entity';\n\nexport class UserMapper {\n\tstatic mapFromEntityToDto(entity: User): UserDto {\n\t\treturn new UserDto({\n\t\t\tid: entity.id,\n\t\t\temail: entity.email,\n\t\t\tfirstName: entity.firstName,\n\t\t\tlastName: entity.lastName,\n\t\t\tschoolId: entity.school.id,\n\t\t\troleIds: entity.roles.getItems().map((role: Role) => role.id),\n\t\t\tldapDn: entity.ldapDn,\n\t\t\texternalId: entity.externalId,\n\t\t\tlanguage: entity.language,\n\t\t\tforcePasswordChange: entity.forcePasswordChange,\n\t\t\tpreferences: entity.preferences,\n\t\t\tlastLoginSystemChange: entity.lastLoginSystemChange,\n\t\t\toutdatedSince: entity.outdatedSince,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserMatchListResponse.html":{"url":"classes/UserMatchListResponse.html","title":"class - UserMatchListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserMatchListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/controller/dto/user-match.response.ts\n \n\n\n\n \n Extends\n \n \n PaginationResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: UserMatchResponse[], total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/user-match.response.ts:44\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n UserMatchResponse[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : UserMatchResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:51\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:14\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { PaginationResponse } from '@shared/controller';\nimport { IsMongoId } from 'class-validator';\nimport { MatchType } from './match-type';\nimport { UserRole } from './user-role';\n\nexport class UserMatchResponse {\n\tconstructor(props: UserMatchResponse) {\n\t\tthis.userId = props.userId;\n\t\tthis.loginName = props.loginName;\n\t\tthis.firstName = props.firstName;\n\t\tthis.lastName = props.lastName;\n\t\tthis.roleNames = props.roleNames;\n\t\tif (props.matchedBy != null) this.matchedBy = props.matchedBy;\n\t}\n\n\t@IsMongoId()\n\t@ApiProperty({ description: 'local user id' })\n\tuserId: string;\n\n\t@ApiProperty({ description: 'login name of local user' })\n\tloginName: string;\n\n\t@ApiProperty({ description: 'firstname of local user' })\n\tfirstName: string;\n\n\t@ApiProperty({ description: 'lastname of local user' })\n\tlastName: string;\n\n\t@ApiProperty({\n\t\tdescription: 'list of user roles from external system: student, teacher, admin',\n\t\tenum: UserRole,\n\t\tisArray: true,\n\t})\n\troleNames: UserRole[];\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'match type: admin (manual) or auto (set, when names match exactly for a single user',\n\t\tenum: MatchType,\n\t})\n\tmatchedBy?: MatchType;\n}\n\nexport class UserMatchListResponse extends PaginationResponse {\n\tconstructor(data: UserMatchResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [UserMatchResponse] })\n\tdata: UserMatchResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserMatchMapper.html":{"url":"classes/UserMatchMapper.html","title":"class - UserMatchMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserMatchMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/mapper/user-match.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToDomain\n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToDomain\n \n \n \n \n \n \n \n mapToDomain(query: FilterUserParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/mapper/user-match.mapper.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterUserParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : NameMatch\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(user: User, matchCreator?: MatchCreator)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/mapper/user-match.mapper.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n matchCreator\n \n MatchCreator\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : UserMatchResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { StringValidator } from '@shared/common';\nimport { MatchCreator, User } from '@shared/domain/entity';\nimport { NameMatch } from '@shared/domain/types';\nimport { UserMatchResponse, UserRole } from '../controller/dto';\nimport { FilterUserParams } from '../controller/dto/filter-user.params';\nimport { ImportUserMatchMapper } from './match.mapper';\n\nexport class UserMatchMapper {\n\tstatic mapToDomain(query: FilterUserParams): NameMatch {\n\t\tconst scope: NameMatch = {};\n\t\tif (query.name) {\n\t\t\tif (StringValidator.isNotEmptyString(query.name, true)) {\n\t\t\t\tscope.name = query.name;\n\t\t\t} else {\n\t\t\t\tthrow Error('invalid name from query');\n\t\t\t}\n\t\t}\n\t\treturn scope;\n\t}\n\n\tstatic mapToResponse(user: User, matchCreator?: MatchCreator): UserMatchResponse {\n\t\tconst domainRoles = user.roles.getItems(true);\n\t\tconst domainRoleNames = domainRoles.map((role) => role.name);\n\t\tconst roleNames: UserRole[] = domainRoleNames\n\t\t\t.map((roleName) => {\n\t\t\t\tswitch (roleName) {\n\t\t\t\t\tcase 'teacher':\n\t\t\t\t\t\treturn UserRole.TEACHER;\n\t\t\t\t\tcase 'administrator':\n\t\t\t\t\t\treturn UserRole.ADMIN;\n\t\t\t\t\tcase 'student':\n\t\t\t\t\t\treturn UserRole.STUDENT;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t})\n\t\t\t.filter((roleName) => roleName != null) as UserRole[];\n\t\tconst dto = new UserMatchResponse({\n\t\t\tuserId: user.id,\n\t\t\tfirstName: user.firstName,\n\t\t\tlastName: user.lastName,\n\t\t\tloginName: user.email,\n\t\t\troleNames,\n\t\t});\n\t\tif (matchCreator != null) {\n\t\t\tconst matchedBy = ImportUserMatchMapper.mapMatchCreatorToResponse(matchCreator);\n\t\t\tdto.matchedBy = matchedBy;\n\t\t}\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserMatchResponse.html":{"url":"classes/UserMatchResponse.html","title":"class - UserMatchResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserMatchResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/controller/dto/user-match.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n firstName\n \n \n \n lastName\n \n \n \n loginName\n \n \n \n Optional\n matchedBy\n \n \n \n roleNames\n \n \n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: UserMatchResponse)\n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/user-match.response.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n UserMatchResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'firstname of local user'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/user-match.response.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'lastname of local user'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/user-match.response.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n loginName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'login name of local user'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/user-match.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n matchedBy\n \n \n \n \n \n \n Type : MatchType\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'match type: admin (manual) or auto (set, when names match exactly for a single user', enum: MatchType})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/user-match.response.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n \n roleNames\n \n \n \n \n \n \n Type : UserRole[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'list of user roles from external system: student, teacher, admin', enum: UserRole, isArray: true})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/user-match.response.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'local user id'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/user-match.response.ts:19\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { PaginationResponse } from '@shared/controller';\nimport { IsMongoId } from 'class-validator';\nimport { MatchType } from './match-type';\nimport { UserRole } from './user-role';\n\nexport class UserMatchResponse {\n\tconstructor(props: UserMatchResponse) {\n\t\tthis.userId = props.userId;\n\t\tthis.loginName = props.loginName;\n\t\tthis.firstName = props.firstName;\n\t\tthis.lastName = props.lastName;\n\t\tthis.roleNames = props.roleNames;\n\t\tif (props.matchedBy != null) this.matchedBy = props.matchedBy;\n\t}\n\n\t@IsMongoId()\n\t@ApiProperty({ description: 'local user id' })\n\tuserId: string;\n\n\t@ApiProperty({ description: 'login name of local user' })\n\tloginName: string;\n\n\t@ApiProperty({ description: 'firstname of local user' })\n\tfirstName: string;\n\n\t@ApiProperty({ description: 'lastname of local user' })\n\tlastName: string;\n\n\t@ApiProperty({\n\t\tdescription: 'list of user roles from external system: student, teacher, admin',\n\t\tenum: UserRole,\n\t\tisArray: true,\n\t})\n\troleNames: UserRole[];\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'match type: admin (manual) or auto (set, when names match exactly for a single user',\n\t\tenum: MatchType,\n\t})\n\tmatchedBy?: MatchType;\n}\n\nexport class UserMatchListResponse extends PaginationResponse {\n\tconstructor(data: UserMatchResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [UserMatchResponse] })\n\tdata: UserMatchResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UserMetdata.html":{"url":"interfaces/UserMetdata.html","title":"interface - UserMetdata","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UserMetdata\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/service/feathers-roster.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { CourseService } from '@modules/learnroom/service';\nimport { ToolContextType } from '@modules/tool/common/enum';\nimport { ContextExternalTool, ContextRef } from '@modules/tool/context-external-tool/domain';\nimport { ContextExternalToolService } from '@modules/tool/context-external-tool/service';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { ExternalToolService } from '@modules/tool/external-tool/service';\nimport { SchoolExternalTool } from '@modules/tool/school-external-tool/domain';\nimport { SchoolExternalToolService } from '@modules/tool/school-external-tool/service';\nimport { UserService } from '@modules/user';\nimport { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { Pseudonym, RoleReference, UserDO } from '@shared/domain/domainobject';\nimport { Course } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { PseudonymService } from './pseudonym.service';\n\ninterface UserMetdata {\n\tdata: {\n\t\tuser_id: string;\n\t\tusername: string;\n\t\ttype: string;\n\t};\n}\n\ninterface UserGroups {\n\tdata: {\n\t\tgroups: UserGroup[];\n\t};\n}\n\ninterface UserGroup {\n\tgroup_id: string;\n\tname: string;\n\tstudent_count: number;\n}\n\ninterface UserData {\n\tuser_id: string;\n\tusername: string;\n}\n\ninterface Group {\n\tdata: {\n\t\tstudents: UserData[];\n\t\tteachers: UserData[];\n\t};\n}\n\n/**\n * Please do not use this service in any other nest modules.\n * This service will be called from feathers to get the roster data for ctl pseudonyms {@link ExternalToolPseudonymEntity}.\n * These data will be used e.g. by bettermarks to resolve and display the usernames.\n */\n@Injectable()\nexport class FeathersRosterService {\n\tconstructor(\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly pseudonymService: PseudonymService,\n\t\tprivate readonly courseService: CourseService,\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService\n\t) {}\n\n\tasync getUsersMetadata(pseudonym: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym = await this.findPseudonymByPseudonym(pseudonym);\n\t\tconst user: UserDO = await this.userService.findById(loadedPseudonym.userId);\n\n\t\tconst userMetadata: UserMetdata = {\n\t\t\tdata: {\n\t\t\t\tuser_id: user.id as string,\n\t\t\t\tusername: this.pseudonymService.getIframeSubject(loadedPseudonym.pseudonym),\n\t\t\t\ttype: this.getUserRole(user),\n\t\t\t},\n\t\t};\n\n\t\treturn userMetadata;\n\t}\n\n\tasync getUserGroups(pseudonym: string, oauth2ClientId: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym = await this.findPseudonymByPseudonym(pseudonym);\n\t\tconst externalTool: ExternalTool = await this.validateAndGetExternalTool(oauth2ClientId);\n\n\t\tlet courses: Course[] = await this.getCoursesFromUsersPseudonym(loadedPseudonym);\n\t\tcourses = await this.filterCoursesByToolAvailability(courses, externalTool.id as string);\n\n\t\tconst userGroups: UserGroups = {\n\t\t\tdata: {\n\t\t\t\tgroups: courses.map((course) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tgroup_id: course.id,\n\t\t\t\t\t\tname: course.name,\n\t\t\t\t\t\tstudent_count: course.students.length,\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t},\n\t\t};\n\n\t\treturn userGroups;\n\t}\n\n\tasync getGroup(courseId: EntityId, oauth2ClientId: string): Promise {\n\t\tconst course: Course = await this.courseService.findById(courseId);\n\t\tconst externalTool: ExternalTool = await this.validateAndGetExternalTool(oauth2ClientId);\n\n\t\tawait this.validateSchoolExternalTool(course.school.id, externalTool.id as string);\n\t\tawait this.validateContextExternalTools(courseId);\n\n\t\tconst [studentEntities, teacherEntities, substitutionTeacherEntities] = await Promise.all([\n\t\t\tcourse.students.loadItems(),\n\t\t\tcourse.teachers.loadItems(),\n\t\t\tcourse.substitutionTeachers.loadItems(),\n\t\t]);\n\n\t\tconst [students, teachers, substitutionTeachers] = await Promise.all([\n\t\t\tPromise.all(studentEntities.map((user) => this.userService.findById(user.id))),\n\t\t\tPromise.all(teacherEntities.map((user) => this.userService.findById(user.id))),\n\t\t\tPromise.all(substitutionTeacherEntities.map((user) => this.userService.findById(user.id))),\n\t\t]);\n\n\t\tconst [studentPseudonyms, teacherPseudonyms, substitutionTeacherPseudonyms] = await Promise.all([\n\t\t\tthis.getAndPseudonyms(students, externalTool),\n\t\t\tthis.getAndPseudonyms(teachers, externalTool),\n\t\t\tthis.getAndPseudonyms(substitutionTeachers, externalTool),\n\t\t]);\n\n\t\tconst allTeacherPseudonyms: Pseudonym[] = teacherPseudonyms.concat(substitutionTeacherPseudonyms);\n\n\t\tconst group: Group = {\n\t\t\tdata: {\n\t\t\t\tstudents: studentPseudonyms.map((pseudonym: Pseudonym) => this.mapPseudonymToUserData(pseudonym)),\n\t\t\t\tteachers: allTeacherPseudonyms.map((pseudonym: Pseudonym) => this.mapPseudonymToUserData(pseudonym)),\n\t\t\t},\n\t\t};\n\n\t\treturn group;\n\t}\n\n\tprivate async getAndPseudonyms(users: UserDO[], externalTool: ExternalTool): Promise {\n\t\tconst pseudonyms: Pseudonym[] = await Promise.all(\n\t\t\tusers.map((user: UserDO) => this.pseudonymService.findOrCreatePseudonym(user, externalTool))\n\t\t);\n\n\t\treturn pseudonyms;\n\t}\n\n\tprivate getUserRole(user: UserDO): string {\n\t\tconst roleName = user.roles.some((role: RoleReference) => role.name === RoleName.TEACHER)\n\t\t\t? RoleName.TEACHER\n\t\t\t: RoleName.STUDENT;\n\n\t\treturn roleName;\n\t}\n\n\tprivate async findPseudonymByPseudonym(pseudonym: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym | null = await this.pseudonymService.findPseudonymByPseudonym(pseudonym);\n\n\t\tif (!loadedPseudonym) {\n\t\t\tthrow new NotFoundLoggableException(Pseudonym.name, 'pseudonym', pseudonym);\n\t\t}\n\n\t\treturn loadedPseudonym;\n\t}\n\n\tprivate async getCoursesFromUsersPseudonym(pseudonym: Pseudonym): Promise {\n\t\tconst courses: Course[] = await this.courseService.findAllByUserId(pseudonym.userId);\n\n\t\treturn courses;\n\t}\n\n\tprivate async filterCoursesByToolAvailability(courses: Course[], externalToolId: string): Promise {\n\t\tconst validCourses: Course[] = [];\n\n\t\tawait Promise.all(\n\t\t\tcourses.map(async (course: Course) => {\n\t\t\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolService.findAllByContext(\n\t\t\t\t\tnew ContextRef({\n\t\t\t\t\t\tid: course.id,\n\t\t\t\t\t\ttype: ToolContextType.COURSE,\n\t\t\t\t\t})\n\t\t\t\t);\n\n\t\t\t\tfor await (const contextExternalTool of contextExternalTools) {\n\t\t\t\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(\n\t\t\t\t\t\tcontextExternalTool.schoolToolRef.schoolToolId\n\t\t\t\t\t);\n\t\t\t\t\tconst externalTool: ExternalTool = await this.externalToolService.findById(schoolExternalTool.toolId);\n\t\t\t\t\tconst isRequiredTool: boolean = externalTool.id === externalToolId;\n\n\t\t\t\t\tif (isRequiredTool) {\n\t\t\t\t\t\tvalidCourses.push(course);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t);\n\n\t\treturn validCourses;\n\t}\n\n\tprivate async validateAndGetExternalTool(oauth2ClientId: string): Promise {\n\t\tconst externalTool: ExternalTool | null = await this.externalToolService.findExternalToolByOAuth2ConfigClientId(\n\t\t\toauth2ClientId\n\t\t);\n\n\t\tif (!externalTool || !externalTool.id) {\n\t\t\tthrow new NotFoundLoggableException(ExternalTool.name, 'config.clientId', oauth2ClientId);\n\t\t}\n\n\t\treturn externalTool;\n\t}\n\n\tprivate async validateSchoolExternalTool(schoolId: EntityId, toolId: string): Promise {\n\t\tconst schoolExternalTools: SchoolExternalTool[] = await this.schoolExternalToolService.findSchoolExternalTools({\n\t\t\tschoolId,\n\t\t\ttoolId,\n\t\t});\n\n\t\tif (schoolExternalTools.length === 0) {\n\t\t\tthrow new NotFoundLoggableException(SchoolExternalTool.name, 'toolId', toolId);\n\t\t}\n\t}\n\n\tprivate async validateContextExternalTools(courseId: EntityId): Promise {\n\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolService.findAllByContext(\n\t\t\tnew ContextRef({ id: courseId, type: ToolContextType.COURSE })\n\t\t);\n\n\t\tif (contextExternalTools.length === 0) {\n\t\t\tthrow new NotFoundLoggableException(ContextExternalTool.name, 'contextRef.id', courseId);\n\t\t}\n\t}\n\n\tprivate mapPseudonymToUserData(pseudonym: Pseudonym): UserData {\n\t\tconst userData: UserData = {\n\t\t\tuser_id: pseudonym.pseudonym,\n\t\t\tusername: this.pseudonymService.getIframeSubject(pseudonym.pseudonym),\n\t\t};\n\n\t\treturn userData;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{"url":"classes/UserMigrationDatabaseOperationFailedLoggableException.html","title":"class - UserMigrationDatabaseOperationFailedLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserMigrationDatabaseOperationFailedLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/user-migration-database-operation-failed.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n InternalServerErrorException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userId: EntityId, operation: \"migration\" | \"rollback\", error)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-migration-database-operation-failed.loggable-exception.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n operation\n \n \n \"migration\" | \"rollback\"\n \n \n \n No\n \n \n \n \n error\n \n \n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n getLogMessage\n \n \n \n \n \n \n \n getLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-migration-database-operation-failed.loggable-exception.ts:14\n \n \n\n\n \n \n\n \n Returns : ErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { InternalServerErrorException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ErrorUtils } from '@src/core/error/utils';\nimport { ErrorLogMessage, Loggable } from '@src/core/logger';\n\nexport class UserMigrationDatabaseOperationFailedLoggableException\n\textends InternalServerErrorException\n\timplements Loggable\n{\n\tconstructor(private readonly userId: EntityId, private readonly operation: 'migration' | 'rollback', error: unknown) {\n\t\tsuper(ErrorUtils.createHttpExceptionOptions(error));\n\t}\n\n\tpublic getLogMessage(): ErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'USER_LOGIN_MIGRATION_DATABASE_OPERATION_FAILED',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tuserId: this.userId,\n\t\t\t\toperation: this.operation,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserMigrationIsNotEnabled.html":{"url":"classes/UserMigrationIsNotEnabled.html","title":"class - UserMigrationIsNotEnabled","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserMigrationIsNotEnabled\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/loggable/user-migration-not-enable.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/loggable/user-migration-not-enable.loggable.ts:4\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class UserMigrationIsNotEnabled implements Loggable {\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'Feature flag of user migration may be disable or the school is not an LDAP pilot',\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UserMigrationService.html":{"url":"injectables/UserMigrationService.html","title":"injectable - UserMigrationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n UserMigrationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/service/user-migration.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n doMigration\n \n \n Async\n migrateUser\n \n \n Private\n Async\n tryRollbackMigration\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userService: UserService, accountService: AccountService, logger: Logger)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-migration.service.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n accountService\n \n \n AccountService\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n doMigration\n \n \n \n \n \n \n \n doMigration(userDO: UserDO, externalUserId: string, account: AccountDto, targetSystemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-migration.service.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userDO\n \n UserDO\n \n\n \n No\n \n\n\n \n \n externalUserId\n \n string\n \n\n \n No\n \n\n\n \n \n account\n \n AccountDto\n \n\n \n No\n \n\n\n \n \n targetSystemId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n migrateUser\n \n \n \n \n \n \n \n migrateUser(currentUserId: EntityId, externalUserId: string, targetSystemId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-migration.service.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUserId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n externalUserId\n \n string\n \n\n \n No\n \n\n\n \n \n targetSystemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n tryRollbackMigration\n \n \n \n \n \n \n \n tryRollbackMigration(currentUserId: EntityId, userDOCopy: UserDO, accountCopy: AccountDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-migration.service.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUserId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userDOCopy\n \n UserDO\n \n\n \n No\n \n\n\n \n \n accountCopy\n \n AccountDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AccountService } from '@modules/account/services/account.service';\nimport { AccountDto } from '@modules/account/services/dto';\nimport { UserService } from '@modules/user';\nimport { Injectable } from '@nestjs/common';\nimport { UserDO } from '@shared/domain/domainobject/user.do';\nimport { EntityId } from '@shared/domain/types';\nimport { Logger } from '@src/core/logger';\nimport { UserMigrationDatabaseOperationFailedLoggableException } from '../loggable';\n\n@Injectable()\nexport class UserMigrationService {\n\tconstructor(\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly accountService: AccountService,\n\t\tprivate readonly logger: Logger\n\t) {}\n\n\tasync migrateUser(currentUserId: EntityId, externalUserId: string, targetSystemId: EntityId): Promise {\n\t\tconst userDO: UserDO = await this.userService.findById(currentUserId);\n\t\tconst account: AccountDto = await this.accountService.findByUserIdOrFail(currentUserId);\n\n\t\tconst userDOCopy: UserDO = new UserDO({ ...userDO });\n\t\tconst accountCopy: AccountDto = new AccountDto({ ...account });\n\n\t\ttry {\n\t\t\tawait this.doMigration(userDO, externalUserId, account, targetSystemId);\n\t\t} catch (error: unknown) {\n\t\t\tawait this.tryRollbackMigration(currentUserId, userDOCopy, accountCopy);\n\n\t\t\tthrow new UserMigrationDatabaseOperationFailedLoggableException(currentUserId, 'migration', error);\n\t\t}\n\t}\n\n\tprivate async doMigration(\n\t\tuserDO: UserDO,\n\t\texternalUserId: string,\n\t\taccount: AccountDto,\n\t\ttargetSystemId: string\n\t): Promise {\n\t\tuserDO.previousExternalId = userDO.externalId;\n\t\tuserDO.externalId = externalUserId;\n\t\tuserDO.lastLoginSystemChange = new Date();\n\t\tawait this.userService.save(userDO);\n\n\t\taccount.systemId = targetSystemId;\n\t\tawait this.accountService.save(account);\n\t}\n\n\tprivate async tryRollbackMigration(\n\t\tcurrentUserId: EntityId,\n\t\tuserDOCopy: UserDO,\n\t\taccountCopy: AccountDto\n\t): Promise {\n\t\ttry {\n\t\t\tawait this.userService.save(userDOCopy);\n\t\t\tawait this.accountService.save(accountCopy);\n\t\t} catch (error: unknown) {\n\t\t\tthis.logger.warning(new UserMigrationDatabaseOperationFailedLoggableException(currentUserId, 'rollback', error));\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserMigrationStartedLoggable.html":{"url":"classes/UserMigrationStartedLoggable.html","title":"class - UserMigrationStartedLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserMigrationStartedLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/debug/user-migration-started.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userId: EntityId, userLoginMigration: UserLoginMigrationDO)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/debug/user-migration-started.loggable.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n userLoginMigration\n \n \n UserLoginMigrationDO\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/debug/user-migration-started.loggable.ts:8\n \n \n\n\n \n \n\n \n Returns : LogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { Loggable, LogMessage } from '@src/core/logger';\n\nexport class UserMigrationStartedLoggable implements Loggable {\n\tconstructor(private readonly userId: EntityId, private readonly userLoginMigration: UserLoginMigrationDO) {}\n\n\tgetLogMessage(): LogMessage {\n\t\treturn {\n\t\t\tmessage: 'A user started the user login migration.',\n\t\t\tdata: {\n\t\t\t\tuserId: this.userId,\n\t\t\t\tuserLoginMigrationId: this.userLoginMigration.id,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserMigrationSuccessfulLoggable.html":{"url":"classes/UserMigrationSuccessfulLoggable.html","title":"class - UserMigrationSuccessfulLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserMigrationSuccessfulLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/debug/user-migration-successful.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userId: EntityId, userLoginMigration: UserLoginMigrationDO)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/debug/user-migration-successful.loggable.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n userLoginMigration\n \n \n UserLoginMigrationDO\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/debug/user-migration-successful.loggable.ts:8\n \n \n\n\n \n \n\n \n Returns : LogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { Loggable, LogMessage } from '@src/core/logger';\n\nexport class UserMigrationSuccessfulLoggable implements Loggable {\n\tconstructor(private readonly userId: EntityId, private readonly userLoginMigration: UserLoginMigrationDO) {}\n\n\tgetLogMessage(): LogMessage {\n\t\treturn {\n\t\t\tmessage: 'A user has successfully migrated.',\n\t\t\tdata: {\n\t\t\t\tuserId: this.userId,\n\t\t\t\tuserLoginMigrationId: this.userLoginMigration.id,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/UserModule.html":{"url":"modules/UserModule.html","title":"module - UserModule","body":"\n \n\n\n\n\n Modules\n UserModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_UserModule\n\n\n\ncluster_UserModule_imports\n\n\n\ncluster_UserModule_exports\n\n\n\ncluster_UserModule_providers\n\n\n\n\nAccountModule\n\nAccountModule\n\n\n\nUserModule\n\nUserModule\n\nUserModule -->\n\nAccountModule->UserModule\n\n\n\n\n\nLegacySchoolModule\n\nLegacySchoolModule\n\nUserModule -->\n\nLegacySchoolModule->UserModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nUserModule -->\n\nLoggerModule->UserModule\n\n\n\n\n\nRoleModule\n\nRoleModule\n\nUserModule -->\n\nRoleModule->UserModule\n\n\n\n\n\nUserRepo \n\nUserRepo \n\nUserRepo -->\n\nUserModule->UserRepo \n\n\n\n\n\nUserService \n\nUserService \n\nUserService -->\n\nUserModule->UserService \n\n\n\n\n\nUserDORepo\n\nUserDORepo\n\nUserModule -->\n\nUserDORepo->UserModule\n\n\n\n\n\nUserRepo\n\nUserRepo\n\nUserModule -->\n\nUserRepo->UserModule\n\n\n\n\n\nUserService\n\nUserService\n\nUserModule -->\n\nUserService->UserModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/user/user.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n UserDORepo\n \n \n UserRepo\n \n \n UserService\n \n \n \n \n Imports\n \n \n AccountModule\n \n \n LegacySchoolModule\n \n \n LoggerModule\n \n \n RoleModule\n \n \n \n \n Exports\n \n \n UserRepo\n \n \n UserService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { UserRepo } from '@shared/repo';\nimport { UserDORepo } from '@shared/repo/user/user-do.repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { AccountModule } from '@modules/account';\nimport { RoleModule } from '@modules/role/role.module';\nimport { LegacySchoolModule } from '@modules/legacy-school';\nimport { UserService } from './service/user.service';\n\n@Module({\n\timports: [LegacySchoolModule, RoleModule, AccountModule, LoggerModule],\n\tproviders: [UserRepo, UserDORepo, UserService],\n\texports: [UserService, UserRepo],\n})\nexport class UserModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserNotFoundAfterProvisioningLoggableException.html":{"url":"classes/UserNotFoundAfterProvisioningLoggableException.html","title":"class - UserNotFoundAfterProvisioningLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserNotFoundAfterProvisioningLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/loggable/user-not-found-after-provisioning.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n OauthSsoErrorLoggableException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalUserId: string, systemId: EntityId, officialSchoolNumber?: string)\n \n \n \n \n Defined in apps/server/src/modules/oauth/loggable/user-not-found-after-provisioning.loggable-exception.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalUserId\n \n \n string\n \n \n \n No\n \n \n \n \n systemId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n officialSchoolNumber\n \n \n string\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \n \n getLogMessage()\n \n \n\n\n \n \n Inherited from OauthSsoErrorLoggableException\n\n \n \n \n \n Defined in OauthSsoErrorLoggableException:17\n\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { OauthSsoErrorLoggableException } from './oauth-sso-error-loggable-exception';\n\nexport class UserNotFoundAfterProvisioningLoggableException extends OauthSsoErrorLoggableException implements Loggable {\n\tconstructor(\n\t\tprivate readonly externalUserId: string,\n\t\tprivate readonly systemId: EntityId,\n\t\tprivate readonly officialSchoolNumber?: string\n\t) {\n\t\tsuper(\n\t\t\t'Unable to find user after provisioning. The feature for OAuth2 provisioning might be disabled for this school.',\n\t\t\t'sso_user_not_found_after_provisioning'\n\t\t);\n\t}\n\n\toverride getLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: this.message,\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\texternalUserId: this.externalUserId,\n\t\t\t\tsystemId: this.systemId,\n\t\t\t\tofficialSchoolNumber: this.officialSchoolNumber,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserParams.html":{"url":"classes/UserParams.html","title":"class - UserParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/request/user.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The user id.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/user.params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsMongoId } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\n\nexport class UserParams {\n\t@IsMongoId()\n\t@ApiProperty({ description: 'The user id.', required: true, nullable: false })\n\tuserId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserParentsEntity.html":{"url":"classes/UserParentsEntity.html","title":"class - UserParentsEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserParentsEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/user-parents.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n email\n \n \n \n firstName\n \n \n \n lastName\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: UserParentsEntityProps)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user-parents.entity.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n UserParentsEntityProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n email\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user-parents.entity.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user-parents.entity.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user-parents.entity.ts:15\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Property } from '@mikro-orm/core';\n\nexport interface UserParentsEntityProps {\n\tfirstName: string;\n\tlastName: string;\n\temail: string;\n}\n\n@Embeddable()\nexport class UserParentsEntity {\n\t@Property()\n\tfirstName: string;\n\n\t@Property()\n\tlastName: string;\n\n\t@Property()\n\temail: string;\n\n\tconstructor(props: UserParentsEntityProps) {\n\t\tthis.firstName = props.firstName;\n\t\tthis.lastName = props.lastName;\n\t\tthis.email = props.email;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UserParentsEntityProps.html":{"url":"interfaces/UserParentsEntityProps.html","title":"interface - UserParentsEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UserParentsEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/user-parents.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n email\n \n \n \n \n firstName\n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n email\n \n \n \n \n \n \n \n \n email: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n \n \n firstName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n lastName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Embeddable, Property } from '@mikro-orm/core';\n\nexport interface UserParentsEntityProps {\n\tfirstName: string;\n\tlastName: string;\n\temail: string;\n}\n\n@Embeddable()\nexport class UserParentsEntity {\n\t@Property()\n\tfirstName: string;\n\n\t@Property()\n\tlastName: string;\n\n\t@Property()\n\temail: string;\n\n\tconstructor(props: UserParentsEntityProps) {\n\t\tthis.firstName = props.firstName;\n\t\tthis.lastName = props.lastName;\n\t\tthis.email = props.email;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UserProperties.html":{"url":"interfaces/UserProperties.html","title":"interface - UserProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UserProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/user.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n birthday\n \n \n \n Optional\n \n deletedAt\n \n \n \n \n email\n \n \n \n Optional\n \n externalId\n \n \n \n \n firstName\n \n \n \n Optional\n \n forcePasswordChange\n \n \n \n Optional\n \n language\n \n \n \n Optional\n \n lastLoginSystemChange\n \n \n \n \n lastName\n \n \n \n Optional\n \n ldapDn\n \n \n \n Optional\n \n outdatedSince\n \n \n \n Optional\n \n parents\n \n \n \n Optional\n \n preferences\n \n \n \n Optional\n \n previousExternalId\n \n \n \n \n roles\n \n \n \n \n school\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n birthday\n \n \n \n \n \n \n \n \n birthday: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n deletedAt\n \n \n \n \n \n \n \n \n deletedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n email\n \n \n \n \n \n \n \n \n email: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n externalId\n \n \n \n \n \n \n \n \n externalId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n \n \n firstName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n forcePasswordChange\n \n \n \n \n \n \n \n \n forcePasswordChange: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n language\n \n \n \n \n \n \n \n \n language: LanguageType\n\n \n \n\n\n \n \n Type : LanguageType\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n lastLoginSystemChange\n \n \n \n \n \n \n \n \n lastLoginSystemChange: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n lastName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n ldapDn\n \n \n \n \n \n \n \n \n ldapDn: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n outdatedSince\n \n \n \n \n \n \n \n \n outdatedSince: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n parents\n \n \n \n \n \n \n \n \n parents: UserParentsEntity[]\n\n \n \n\n\n \n \n Type : UserParentsEntity[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n preferences\n \n \n \n \n \n \n \n \n preferences: Record\n\n \n \n\n\n \n \n Type : Record\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n previousExternalId\n \n \n \n \n \n \n \n \n previousExternalId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n roles\n \n \n \n \n \n \n \n \n roles: Role[]\n\n \n \n\n\n \n \n Type : Role[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n \n \n school: SchoolEntity\n\n \n \n\n\n \n \n Type : SchoolEntity\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Embedded, Entity, Index, ManyToMany, ManyToOne, Property } from '@mikro-orm/core';\nimport { EntityWithSchool } from '../interface';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { Role } from './role.entity';\nimport { SchoolEntity } from './school.entity';\nimport { UserParentsEntity } from './user-parents.entity';\n\nexport enum LanguageType {\n\tDE = 'de',\n\tEN = 'en',\n\tES = 'es',\n\tUK = 'uk',\n}\n\nexport interface UserProperties {\n\temail: string;\n\tfirstName: string;\n\tlastName: string;\n\tschool: SchoolEntity;\n\troles: Role[];\n\tldapDn?: string;\n\texternalId?: string;\n\tlanguage?: LanguageType;\n\tforcePasswordChange?: boolean;\n\tpreferences?: Record;\n\tdeletedAt?: Date;\n\tlastLoginSystemChange?: Date;\n\toutdatedSince?: Date;\n\tpreviousExternalId?: string;\n\tbirthday?: Date;\n\tparents?: UserParentsEntity[];\n}\n\n@Entity({ tableName: 'users' })\n@Index({ properties: ['id', 'email'] })\n@Index({ properties: ['firstName', 'lastName'] })\n@Index({ properties: ['externalId', 'school'] })\n@Index({ properties: ['school', 'ldapDn'] })\n@Index({ properties: ['school', 'roles'] })\nexport class User extends BaseEntityWithTimestamps implements EntityWithSchool {\n\t@Property()\n\t@Index()\n\t// @Unique()\n\temail: string;\n\n\t@Property()\n\tfirstName: string;\n\n\t@Property()\n\tlastName: string;\n\n\t@Index()\n\t@ManyToMany({ fieldName: 'roles', entity: () => Role })\n\troles = new Collection(this);\n\n\t@Index()\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool: SchoolEntity;\n\n\t@Property({ nullable: true })\n\t@Index()\n\tldapDn?: string;\n\n\t@Property({ nullable: true, fieldName: 'ldapId' })\n\texternalId?: string;\n\n\t@Property({ nullable: true })\n\tpreviousExternalId?: string;\n\n\t@Property({ nullable: true })\n\t@Index()\n\timportHash?: string;\n\n\t@Property({ nullable: true })\n\tfirstNameSearchValues?: string[];\n\n\t@Property({ nullable: true })\n\tlastNameSearchValues?: string[];\n\n\t@Property({ nullable: true })\n\temailSearchValues?: string[];\n\n\t@Property({ nullable: true })\n\tlanguage?: LanguageType;\n\n\t@Property({ nullable: true })\n\tforcePasswordChange?: boolean;\n\n\t@Property({ nullable: true })\n\tpreferences?: Record;\n\n\t@Property({ nullable: true })\n\t@Index()\n\tdeletedAt?: Date;\n\n\t@Property({ nullable: true })\n\tlastLoginSystemChange?: Date;\n\n\t@Property({ nullable: true })\n\toutdatedSince?: Date;\n\n\t@Property({ nullable: true })\n\tbirthday?: Date;\n\n\t@Embedded(() => UserParentsEntity, { array: true, nullable: true })\n\tparents?: UserParentsEntity[];\n\n\tconstructor(props: UserProperties) {\n\t\tsuper();\n\t\tthis.firstName = props.firstName;\n\t\tthis.lastName = props.lastName;\n\t\tthis.email = props.email;\n\t\tthis.school = props.school;\n\t\tthis.roles.set(props.roles);\n\t\tthis.ldapDn = props.ldapDn;\n\t\tthis.externalId = props.externalId;\n\t\tthis.forcePasswordChange = props.forcePasswordChange;\n\t\tthis.language = props.language;\n\t\tthis.preferences = props.preferences ?? {};\n\t\tthis.deletedAt = props.deletedAt;\n\t\tthis.lastLoginSystemChange = props.lastLoginSystemChange;\n\t\tthis.outdatedSince = props.outdatedSince;\n\t\tthis.previousExternalId = props.previousExternalId;\n\t\tthis.birthday = props.birthday;\n\t\tthis.parents = props.parents;\n\t}\n\n\tpublic resolvePermissions(): string[] {\n\t\tif (!this.roles.isInitialized(true)) {\n\t\t\tthrow new Error('Roles items are not loaded.');\n\t\t}\n\n\t\tlet permissions: string[] = [];\n\n\t\tconst roles = this.roles.getItems();\n\t\troles.forEach((role) => {\n\t\t\tconst rolePermissions = role.resolvePermissions();\n\t\t\tpermissions = [...permissions, ...rolePermissions];\n\t\t});\n\n\t\tconst uniquePermissions = [...new Set(permissions)];\n\n\t\treturn uniquePermissions;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UserRepo.html":{"url":"injectables/UserRepo.html","title":"injectable - UserRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n UserRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/user/user.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteUser\n \n \n Async\n findByEmail\n \n \n Async\n findByExternalIdOrFail\n \n \n Async\n findById\n \n \n Async\n findWithoutImportUser\n \n \n Async\n flush\n \n \n Async\n getParentEmailsFromUser\n \n \n Private\n Async\n populateRoles\n \n \n saveWithoutFlush\n \n \n create\n \n \n Async\n delete\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteUser\n \n \n \n \n \n \n \n deleteUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.repo.ts:158\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByEmail\n \n \n \n \n \n \n \n findByEmail(email: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.repo.ts:150\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n email\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByExternalIdOrFail\n \n \n \n \n \n \n \n findByExternalIdOrFail(externalId: string, systemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.repo.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalId\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId, populate)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:17\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n \n \n\n \n \n populate\n \n \n\n \n No\n \n\n \n false\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findWithoutImportUser\n \n \n \n \n \n \n \n findWithoutImportUser(school: SchoolEntity, filters?: NameMatch, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.repo.ts:40\n \n \n\n\n \n \n used for importusers module to request users not referenced in importusers\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n school\n \n SchoolEntity\n \n\n \n No\n \n\n\n \n \n filters\n \n NameMatch\n \n\n \n Yes\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n flush\n \n \n \n \n \n \n \n flush()\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.repo.ts:188\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n getParentEmailsFromUser\n \n \n \n \n \n \n \n getParentEmailsFromUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.repo.ts:165\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n populateRoles\n \n \n \n \n \n \n \n populateRoles(roles: Role[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.repo.ts:172\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roles\n \n Role[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n saveWithoutFlush\n \n \n \n \n \n \nsaveWithoutFlush(user: User)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.repo.ts:184\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/user/user.repo.ts:13\n \n \n\n \n \n\n \n\n\n \n import { QueryOrderMap, QueryOrderNumeric } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { StringValidator } from '@shared/common';\nimport { ImportUser, Role, SchoolEntity, User } from '@shared/domain/entity';\nimport { IFindOptions, SortOrder } from '@shared/domain/interface';\nimport { Counted, EntityId, NameMatch } from '@shared/domain/types';\nimport { BaseRepo } from '@shared/repo/base.repo';\nimport { MongoPatterns } from '../mongo.patterns';\n\n@Injectable()\nexport class UserRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn User;\n\t}\n\n\tasync findById(id: EntityId, populate = false): Promise {\n\t\tconst user = await super.findById(id);\n\n\t\tif (populate) {\n\t\t\tawait this._em.populate(user, ['roles', 'school.systems', 'school.schoolYear']);\n\t\t\tawait this.populateRoles(user.roles.getItems());\n\t\t}\n\n\t\treturn user;\n\t}\n\n\tasync findByExternalIdOrFail(externalId: string, systemId: string): Promise {\n\t\tconst [users] = await this._em.findAndCount(User, { externalId }, { populate: ['school.systems'] });\n\t\tconst resultUser = users.find((user) => {\n\t\t\tconst { systems } = user.school;\n\t\t\treturn systems && systems.getItems().find((system) => system.id === systemId);\n\t\t});\n\t\treturn resultUser ?? Promise.reject();\n\t}\n\n\t/**\n\t * used for importusers module to request users not referenced in importusers\n\t */\n\tasync findWithoutImportUser(\n\t\tschool: SchoolEntity,\n\t\tfilters?: NameMatch,\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst { _id: schoolId } = school;\n\t\tif (!ObjectId.isValid(schoolId)) throw new Error('invalid school id');\n\n\t\tconst existingMatch = { deletedAt: null };\n\t\tconst permittedMatch = { schoolId };\n\n\t\tconst queryFilterMatch: { $or?: unknown[] } = {};\n\t\tif (filters?.name && StringValidator.isNotEmptyString(filters.name, true)) {\n\t\t\tconst escapedName = filters.name.replace(MongoPatterns.REGEX_MONGO_LANGUAGE_PATTERN_WHITELIST, '').trim();\n\t\t\t// TODO make db agnostic\n\t\t\tif (StringValidator.isNotEmptyString(escapedName, true)) {\n\t\t\t\tqueryFilterMatch.$or = [\n\t\t\t\t\t{\n\t\t\t\t\t\tfirstName: {\n\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\t$regex: escapedName,\n\t\t\t\t\t\t\t$options: 'i',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlastName: {\n\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\t$regex: escapedName,\n\t\t\t\t\t\t\t$options: 'i',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t];\n\t\t\t}\n\t\t}\n\n\t\tconst pipeline: unknown[] = [\n\t\t\t{ $match: existingMatch },\n\t\t\t{ $match: permittedMatch },\n\t\t\t{\n\t\t\t\t$lookup: {\n\t\t\t\t\tfrom: 'importusers',\n\t\t\t\t\tlocalField: '_id',\n\t\t\t\t\tforeignField: 'match_userId',\n\t\t\t\t\tas: 'importusers',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\t$match: {\n\t\t\t\t\timportusers: {\n\t\t\t\t\t\t$size: 0,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\t{ $match: queryFilterMatch },\n\t\t\t{\n\t\t\t\t$project: {\n\t\t\t\t\timportusers: 0,\n\t\t\t\t},\n\t\t\t},\n\t\t];\n\n\t\tconst countPipeline = [...pipeline];\n\t\tcountPipeline.push({ $group: { _id: null, count: { $sum: 1 } } });\n\t\tconst total = (await this._em.aggregate(User, countPipeline)) as { count: number }[];\n\t\tconst count = total.length > 0 ? total[0].count : 0;\n\t\tconst { pagination, order } = options || {};\n\n\t\tif (order) {\n\t\t\tconst orderQuery: QueryOrderMap = {};\n\t\t\tif (order.firstName) {\n\t\t\t\tswitch (order.firstName) {\n\t\t\t\t\tcase SortOrder.desc:\n\t\t\t\t\t\torderQuery.firstName = QueryOrderNumeric.DESC;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase SortOrder.asc:\n\t\t\t\t\tdefault:\n\t\t\t\t\t\torderQuery.firstName = QueryOrderNumeric.ASC;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (order.lastName) {\n\t\t\t\tswitch (order.lastName) {\n\t\t\t\t\tcase SortOrder.desc:\n\t\t\t\t\t\torderQuery.lastName = QueryOrderNumeric.DESC;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase SortOrder.asc:\n\t\t\t\t\tdefault:\n\t\t\t\t\t\torderQuery.lastName = QueryOrderNumeric.ASC;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tpipeline.push({ $sort: orderQuery });\n\t\t}\n\n\t\tif (pagination?.skip) {\n\t\t\tpipeline.push({ $skip: pagination.skip });\n\t\t}\n\t\tif (pagination?.limit) {\n\t\t\tpipeline.push({ $limit: pagination.limit });\n\t\t}\n\n\t\tconst userDocuments = await this._em.aggregate(User, pipeline);\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n\t\tconst users = userDocuments.map((userDocument) => this._em.map(User, userDocument));\n\t\tawait this._em.populate(users, ['roles']);\n\t\treturn [users, count];\n\t}\n\n\tasync findByEmail(email: string): Promise {\n\t\t// find mail case-insensitive by regex\n\t\tconst promise: Promise = this._em.find(User, {\n\t\t\temail: new RegExp(`^${email.replace(/\\W/g, '\\\\$&')}$`, 'i'),\n\t\t});\n\t\treturn promise;\n\t}\n\n\tasync deleteUser(userId: EntityId): Promise {\n\t\tconst deletedUserNumber: Promise = this._em.nativeDelete(User, {\n\t\t\tid: userId,\n\t\t});\n\t\treturn deletedUserNumber;\n\t}\n\n\tasync getParentEmailsFromUser(userId: EntityId): Promise {\n\t\tconst user = await this._em.findOneOrFail(User, { id: userId });\n\t\tconst parentsEmails = user.parents?.map((parent) => parent.email) ?? [];\n\n\t\treturn parentsEmails;\n\t}\n\n\tprivate async populateRoles(roles: Role[]): Promise {\n\t\tfor (let i = 0; i {\n\t\tawait this._em.flush();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UserRule.html":{"url":"injectables/UserRule.html","title":"injectable - UserRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n UserRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/user.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/user.rule.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, entity: User, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/user.rule.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n User\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, entity: User)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/user.rule.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { User } from '@shared/domain/entity';\nimport { AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\n\n@Injectable()\nexport class UserRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper) {}\n\n\tpublic isApplicable(user: User, entity: User): boolean {\n\t\tconst isMatched = entity instanceof User;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, entity: User, context: AuthorizationContext): boolean {\n\t\tconst hasPermission = this.authorizationHelper.hasAllPermissions(user, context.requiredPermissions);\n\t\tconst isOwner = user === entity;\n\n\t\treturn hasPermission || isOwner;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserScope.html":{"url":"classes/UserScope.html","title":"class - UserScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/user/user.scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n bySchoolId\n \n \n isOutdated\n \n \n whereLastLoginSystemChangeIsBetween\n \n \n whereLastLoginSystemChangeSmallerThan\n \n \n withOutdatedSince\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n bySchoolId\n \n \n \n \n \n \nbySchoolId(schoolId: EntityId | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.scope.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isOutdated\n \n \n \n \n \n \nisOutdated(isOutdated?: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.scope.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isOutdated\n \n boolean\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : UserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n whereLastLoginSystemChangeIsBetween\n \n \n \n \n \n \nwhereLastLoginSystemChangeIsBetween(startDate?: Date, endDate?: Date)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.scope.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n startDate\n \n Date\n \n\n \n Yes\n \n\n\n \n \n endDate\n \n Date\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : UserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n whereLastLoginSystemChangeSmallerThan\n \n \n \n \n \n \nwhereLastLoginSystemChangeSmallerThan(date?: Date)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.scope.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n date\n \n Date\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : UserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withOutdatedSince\n \n \n \n \n \n \nwithOutdatedSince(date?: Date)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.scope.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n date\n \n Date\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : UserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { User } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { Scope } from '@shared/repo';\n\nexport class UserScope extends Scope {\n\tisOutdated(isOutdated?: boolean): UserScope {\n\t\tif (isOutdated !== undefined) {\n\t\t\tthis.addQuery({ outdatedSince: { $exists: isOutdated } });\n\t\t}\n\t\treturn this;\n\t}\n\n\twhereLastLoginSystemChangeSmallerThan(date?: Date): UserScope {\n\t\tif (date) {\n\t\t\tthis.addQuery({ $or: [{ lastLoginSystemChange: { $lt: date } }, { lastLoginSystemChange: { $exists: false } }] });\n\t\t}\n\t\treturn this;\n\t}\n\n\twhereLastLoginSystemChangeIsBetween(startDate?: Date, endDate?: Date): UserScope {\n\t\tif (startDate && endDate) {\n\t\t\tthis.addQuery({\n\t\t\t\tlastLoginSystemChange: { $gte: startDate, $lt: endDate },\n\t\t\t});\n\t\t}\n\t\treturn this;\n\t}\n\n\twithOutdatedSince(date?: Date): UserScope {\n\t\tif (date) {\n\t\t\tthis.addQuery({ outdatedSince: { $eq: date } });\n\t\t}\n\t\treturn this;\n\t}\n\n\tbySchoolId(schoolId: EntityId | undefined): UserScope {\n\t\tif (schoolId !== undefined) {\n\t\t\tthis.addQuery({ school: schoolId });\n\t\t}\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UserService.html":{"url":"injectables/UserService.html","title":"injectable - UserService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n UserService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user/service/user.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkAvailableLanguages\n \n \n Async\n deleteUser\n \n \n Async\n findByEmail\n \n \n Async\n findByExternalId\n \n \n Async\n findById\n \n \n Public\n Async\n findByIdOrNull\n \n \n Async\n findUsers\n \n \n Async\n getDisplayName\n \n \n Async\n getParentEmailsFromUser\n \n \n Async\n getResolvedUser\n \n \n Async\n getUser\n \n \n Async\n me\n \n \n Async\n patchLanguage\n \n \n Async\n save\n \n \n Async\n saveAll\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userRepo: UserRepo, userDORepo: UserDORepo, configService: ConfigService, roleService: RoleService, accountService: AccountService)\n \n \n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:22\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userRepo\n \n \n UserRepo\n \n \n \n No\n \n \n \n \n userDORepo\n \n \n UserDORepo\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n roleService\n \n \n RoleService\n \n \n \n No\n \n \n \n \n accountService\n \n \n AccountService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkAvailableLanguages\n \n \n \n \n \n \n \n checkAvailableLanguages(language: LanguageType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:120\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n language\n \n LanguageType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void | BadRequestException\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteUser\n \n \n \n \n \n \n \n deleteUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:126\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByEmail\n \n \n \n \n \n \n \n findByEmail(email: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:93\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n email\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByExternalId\n \n \n \n \n \n \n \n findByExternalId(externalId: string, systemId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:87\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalId\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:57\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findByIdOrNull\n \n \n \n \n \n \n \n findByIdOrNull(id: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:63\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findUsers\n \n \n \n \n \n \n \n findUsers(query: UserQuery, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:81\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n UserQuery\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getDisplayName\n \n \n \n \n \n \n \n getDisplayName(user: UserDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:99\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getParentEmailsFromUser\n \n \n \n \n \n \n \n getParentEmailsFromUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:132\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getResolvedUser\n \n \n \n \n \n \n \n getResolvedUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:48\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getUser\n \n \n \n \n \n \n [object Object],[object Object],[object Object]\n \n \n \n \n \n getUser(id: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n me\n \n \n \n \n \n \n \n me(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise<>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n patchLanguage\n \n \n \n \n \n \n \n patchLanguage(userId: EntityId, newLanguage: LanguageType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:111\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n newLanguage\n \n LanguageType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(user: UserDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:69\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAll\n \n \n \n \n \n \n \n saveAll(users: UserDO[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:75\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n users\n \n UserDO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AccountService } from '@modules/account';\nimport { AccountDto } from '@modules/account/services/dto';\n// invalid import\nimport { OauthCurrentUser } from '@modules/authentication/interface';\nimport { CurrentUserMapper } from '@modules/authentication/mapper';\nimport { RoleDto } from '@modules/role/service/dto/role.dto';\nimport { RoleService } from '@modules/role/service/role.service';\nimport { BadRequestException, Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { Page, RoleReference, UserDO } from '@shared/domain/domainobject';\nimport { LanguageType, User } from '@shared/domain/entity';\nimport { IFindOptions } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { UserRepo } from '@shared/repo';\nimport { UserDORepo } from '@shared/repo/user/user-do.repo';\nimport { UserConfig } from '../interfaces';\nimport { UserMapper } from '../mapper/user.mapper';\nimport { UserDto } from '../uc/dto/user.dto';\nimport { UserQuery } from './user-query.type';\n\n@Injectable()\nexport class UserService {\n\tconstructor(\n\t\tprivate readonly userRepo: UserRepo,\n\t\tprivate readonly userDORepo: UserDORepo,\n\t\tprivate readonly configService: ConfigService,\n\t\tprivate readonly roleService: RoleService,\n\t\tprivate readonly accountService: AccountService\n\t) {}\n\n\tasync me(userId: EntityId): Promise {\n\t\tconst user = await this.userRepo.findById(userId, true);\n\t\tconst permissions = user.resolvePermissions();\n\n\t\treturn [user, permissions];\n\t}\n\n\t/**\n\t * @deprecated use {@link UserService.findById} instead\n\t */\n\tasync getUser(id: string): Promise {\n\t\tconst userEntity = await this.userRepo.findById(id, true);\n\t\tconst userDto = UserMapper.mapFromEntityToDto(userEntity);\n\n\t\treturn userDto;\n\t}\n\n\tasync getResolvedUser(userId: EntityId): Promise {\n\t\tconst user: UserDO = await this.findById(userId);\n\t\tconst account: AccountDto = await this.accountService.findByUserIdOrFail(userId);\n\n\t\tconst resolvedUser: OauthCurrentUser = CurrentUserMapper.mapToOauthCurrentUser(account.id, user, account.systemId);\n\n\t\treturn resolvedUser;\n\t}\n\n\tasync findById(id: string): Promise {\n\t\tconst userDO = await this.userDORepo.findById(id, true);\n\n\t\treturn userDO;\n\t}\n\n\tpublic async findByIdOrNull(id: string): Promise {\n\t\tconst userDO: UserDO | null = await this.userDORepo.findByIdOrNull(id, true);\n\n\t\treturn userDO;\n\t}\n\n\tasync save(user: UserDO): Promise {\n\t\tconst savedUser: Promise = this.userDORepo.save(user);\n\n\t\treturn savedUser;\n\t}\n\n\tasync saveAll(users: UserDO[]): Promise {\n\t\tconst savedUsers: Promise = this.userDORepo.saveAll(users);\n\n\t\treturn savedUsers;\n\t}\n\n\tasync findUsers(query: UserQuery, options?: IFindOptions): Promise> {\n\t\tconst users: Page = await this.userDORepo.find(query, options);\n\n\t\treturn users;\n\t}\n\n\tasync findByExternalId(externalId: string, systemId: EntityId): Promise {\n\t\tconst user: Promise = this.userDORepo.findByExternalId(externalId, systemId);\n\n\t\treturn user;\n\t}\n\n\tasync findByEmail(email: string): Promise {\n\t\tconst user: Promise = this.userRepo.findByEmail(email);\n\n\t\treturn user;\n\t}\n\n\tasync getDisplayName(user: UserDO): Promise {\n\t\tconst protectedRoles: RoleDto[] = await this.roleService.getProtectedRoles();\n\t\tconst isProtectedUser: boolean = user.roles.some(\n\t\t\t(roleRef: RoleReference): boolean =>\n\t\t\t\t!!protectedRoles.find((protectedRole: RoleDto): boolean => roleRef.id === protectedRole.id)\n\t\t);\n\n\t\tconst displayName: string = isProtectedUser ? user.lastName : `${user.firstName} ${user.lastName}`;\n\n\t\treturn displayName;\n\t}\n\n\tasync patchLanguage(userId: EntityId, newLanguage: LanguageType): Promise {\n\t\tthis.checkAvailableLanguages(newLanguage);\n\t\tconst user = await this.userRepo.findById(userId);\n\t\tuser.language = newLanguage;\n\t\tawait this.userRepo.save(user);\n\n\t\treturn true;\n\t}\n\n\tprivate checkAvailableLanguages(language: LanguageType): void | BadRequestException {\n\t\tif (!this.configService.get('AVAILABLE_LANGUAGES').includes(language)) {\n\t\t\tthrow new BadRequestException('Language is not activated.');\n\t\t}\n\t}\n\n\tasync deleteUser(userId: EntityId): Promise {\n\t\tconst deletedUserNumber: Promise = this.userRepo.deleteUser(userId);\n\n\t\treturn deletedUserNumber;\n\t}\n\n\tasync getParentEmailsFromUser(userId: EntityId): Promise {\n\t\tconst parentEmails = this.userRepo.getParentEmailsFromUser(userId);\n\n\t\treturn parentEmails;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UserUc.html":{"url":"injectables/UserUc.html","title":"injectable - UserUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n UserUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user/uc/user.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkAvaibleLanguages\n \n \n Async\n me\n \n \n Async\n patchLanguage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userRepo: UserRepo, configService: ConfigService)\n \n \n \n \n Defined in apps/server/src/modules/user/uc/user.uc.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userRepo\n \n \n UserRepo\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkAvaibleLanguages\n \n \n \n \n \n \n \n checkAvaibleLanguages(settedLanguage: LanguageType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/uc/user.uc.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n settedLanguage\n \n LanguageType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void | Error\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n me\n \n \n \n \n \n \n \n me(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/uc/user.uc.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise<>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n patchLanguage\n \n \n \n \n \n \n \n patchLanguage(userId: EntityId, params: ChangeLanguageParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/uc/user.uc.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n params\n \n ChangeLanguageParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { BadRequestException, Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { LanguageType, User } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { UserRepo } from '@shared/repo';\nimport { ChangeLanguageParams } from '../controller/dto';\nimport { UserConfig } from '../interfaces';\n\n@Injectable()\nexport class UserUc {\n\tconstructor(private readonly userRepo: UserRepo, private readonly configService: ConfigService) {}\n\n\tasync me(userId: EntityId): Promise {\n\t\tconst user = await this.userRepo.findById(userId, true);\n\t\tconst permissions = user.resolvePermissions();\n\n\t\treturn [user, permissions];\n\t}\n\n\tprivate checkAvaibleLanguages(settedLanguage: LanguageType): void | Error {\n\t\tif (!this.configService.get('AVAILABLE_LANGUAGES').includes(settedLanguage)) {\n\t\t\tthrow new BadRequestException('Language is not activated.');\n\t\t}\n\t}\n\n\tasync patchLanguage(userId: EntityId, params: ChangeLanguageParams): Promise {\n\t\tthis.checkAvaibleLanguages(params.language);\n\t\tconst user = await this.userRepo.findById(userId);\n\t\tuser.language = params.language;\n\t\tawait this.userRepo.save(user);\n\n\t\treturn true;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UsersList.html":{"url":"classes/UsersList.html","title":"class - UsersList","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UsersList\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/course.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n firstName\n \n \n id\n \n \n lastName\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:48\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Collection, Entity, Enum, Index, ManyToMany, ManyToOne, OneToMany, Property, Unique } from '@mikro-orm/core';\nimport { ClassEntity } from '@modules/class/entity/class.entity';\nimport { GroupEntity } from '@modules/group/entity/group.entity';\nimport { InternalServerErrorException } from '@nestjs/common/exceptions/internal-server-error.exception';\nimport { EntityWithSchool, Learnroom } from '@shared/domain/interface';\nimport { EntityId, LearnroomMetadata, LearnroomTypes } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport type { LessonParent } from './lesson.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { TaskParent } from './task.entity';\nimport type { User } from './user.entity';\n\nexport interface CourseProperties {\n\tname?: string;\n\tdescription?: string;\n\tschool: SchoolEntity;\n\tstudents?: User[];\n\tteachers?: User[];\n\tsubstitutionTeachers?: User[];\n\t// TODO: color format\n\tcolor?: string;\n\tstartDate?: Date;\n\tuntilDate?: Date;\n\tcopyingSince?: Date;\n\tfeatures?: CourseFeatures[];\n\tclasses?: ClassEntity[];\n\tgroups?: GroupEntity[];\n}\n\n// that is really really shit default handling :D constructor, getter, js default, em default...what the hell\n// i hope it can cleanup with adding schema instant of I...Properties.\nconst DEFAULT = {\n\tcolor: '#ACACAC',\n\tname: 'Kurse',\n\tdescription: '',\n};\n\nconst enum CourseFeatures {\n\tVIDEOCONFERENCE = 'videoconference',\n}\n\nexport class UsersList {\n\tid!: string;\n\n\tfirstName!: string;\n\n\tlastName!: string;\n}\n\n@Entity({ tableName: 'courses' })\nexport class Course extends BaseEntityWithTimestamps implements Learnroom, EntityWithSchool, TaskParent, LessonParent {\n\t@Property()\n\tname: string = DEFAULT.name;\n\n\t@Property()\n\tdescription: string = DEFAULT.description;\n\n\t@Index()\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool: SchoolEntity;\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'userIds' })\n\tstudents = new Collection(this);\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'teacherIds' })\n\tteachers = new Collection(this);\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'substitutionIds' })\n\tsubstitutionTeachers = new Collection(this);\n\n\t@OneToMany('CourseGroup', 'course', { orphanRemoval: true })\n\tcourseGroups = new Collection(this);\n\n\t// TODO: string color format\n\t@Property()\n\tcolor: string = DEFAULT.color;\n\n\t@Property({ nullable: true })\n\tstartDate?: Date;\n\n\t@Index()\n\t@Property({ nullable: true })\n\tuntilDate?: Date;\n\n\t@Property({ nullable: true })\n\tcopyingSince?: Date;\n\n\t@Property({ nullable: true })\n\t@Unique({ options: { sparse: true } })\n\tshareToken?: string;\n\n\t@Enum({ nullable: true, array: true })\n\tfeatures?: CourseFeatures[];\n\n\t@ManyToMany(() => ClassEntity, undefined, { fieldName: 'classIds' })\n\tclasses = new Collection(this);\n\n\t@ManyToMany(() => GroupEntity, undefined, { fieldName: 'groupIds' })\n\tgroups = new Collection(this);\n\n\tconstructor(props: CourseProperties) {\n\t\tsuper();\n\t\tif (props.name) this.name = props.name;\n\t\tif (props.description) this.description = props.description;\n\t\tthis.school = props.school;\n\t\tthis.students.set(props.students || []);\n\t\tthis.teachers.set(props.teachers || []);\n\t\tthis.substitutionTeachers.set(props.substitutionTeachers || []);\n\t\tif (props.color) this.color = props.color;\n\t\tif (props.untilDate) this.untilDate = props.untilDate;\n\t\tif (props.startDate) this.startDate = props.startDate;\n\t\tif (props.copyingSince) this.copyingSince = props.copyingSince;\n\t\tif (props.features) this.features = props.features;\n\t\tthis.classes.set(props.classes || []);\n\t\tthis.groups.set(props.groups || []);\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst studentIds = Course.extractIds(this.students);\n\t\treturn studentIds;\n\t}\n\n\tpublic getTeacherIds(): EntityId[] {\n\t\tconst teacherIds = Course.extractIds(this.teachers);\n\t\treturn teacherIds;\n\t}\n\n\tpublic getSubstitutionTeacherIds(): EntityId[] {\n\t\tconst substitutionTeacherIds = Course.extractIds(this.substitutionTeachers);\n\t\treturn substitutionTeacherIds;\n\t}\n\n\tprivate static extractIds(users: Collection): EntityId[] {\n\t\tif (!users) {\n\t\t\tthrow new InternalServerErrorException(\n\t\t\t\t`Students, teachers or stubstitution is undefined. The course needs to be populated`\n\t\t\t);\n\t\t}\n\n\t\tconst objectIds = users.getIdentifiers('_id');\n\t\tconst ids = objectIds.map((id): string => id.toString());\n\n\t\treturn ids;\n\t}\n\n\tpublic getStudentsList(): UsersList[] {\n\t\tconst users = this.students.getItems();\n\t\tif (users.length) {\n\t\t\tconst usersList = Course.extractUserList(users);\n\t\t\treturn usersList;\n\t\t}\n\t\treturn [];\n\t}\n\n\tpublic getTeachersList(): UsersList[] {\n\t\tconst users = this.teachers.getItems();\n\t\tif (users.length) {\n\t\t\tconst usersList = Course.extractUserList(users);\n\t\t\treturn usersList;\n\t\t}\n\t\treturn [];\n\t}\n\n\tpublic getSubstitutionTeachersList(): UsersList[] {\n\t\tconst users = this.substitutionTeachers.getItems();\n\t\tif (users.length) {\n\t\t\tconst usersList = Course.extractUserList(users);\n\t\t\treturn usersList;\n\t\t}\n\t\treturn [];\n\t}\n\n\tprivate static extractUserList(users: User[]): UsersList[] {\n\t\tconst usersList: UsersList[] = users.map((user) => {\n\t\t\treturn {\n\t\t\t\tid: user.id,\n\t\t\t\tfirstName: user.firstName,\n\t\t\t\tlastName: user.lastName,\n\t\t\t};\n\t\t});\n\t\treturn usersList;\n\t}\n\n\tpublic isUserSubstitutionTeacher(user: User): boolean {\n\t\tconst isSubstitutionTeacher = this.substitutionTeachers.contains(user);\n\n\t\treturn isSubstitutionTeacher;\n\t}\n\n\tpublic getCourseGroupItems(): CourseGroup[] {\n\t\tif (!this.courseGroups.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Courses trying to access their course groups that are not loaded.');\n\t\t}\n\t\tconst courseGroups = this.courseGroups.getItems();\n\n\t\treturn courseGroups;\n\t}\n\n\tgetShortTitle(): string {\n\t\tif (this.name.length === 1) {\n\t\t\treturn this.name;\n\t\t}\n\t\tconst [firstChar, secondChar] = [...this.name];\n\t\tconst pattern = /\\p{Extended_Pictographic}/u;\n\t\tif (pattern.test(firstChar)) {\n\t\t\treturn firstChar;\n\t\t}\n\t\treturn firstChar + secondChar;\n\t}\n\n\tpublic getMetadata(): LearnroomMetadata {\n\t\treturn {\n\t\t\tid: this.id,\n\t\t\ttype: LearnroomTypes.Course,\n\t\t\ttitle: this.name,\n\t\t\tshortTitle: this.getShortTitle(),\n\t\t\tdisplayColor: this.color,\n\t\t\tuntilDate: this.untilDate,\n\t\t\tstartDate: this.startDate,\n\t\t\tcopyingSince: this.copyingSince,\n\t\t};\n\t}\n\n\tpublic isFinished(): boolean {\n\t\tif (!this.untilDate) {\n\t\t\treturn false;\n\t\t}\n\t\tconst isFinished = this.untilDate u.id === userId);\n\t}\n\n\tprivate removeTeacher(userId: EntityId): void {\n\t\tthis.teachers.remove((u) => u.id === userId);\n\t}\n\n\tprivate removeSubstitutionTeacher(userId: EntityId): void {\n\t\tthis.substitutionTeachers.remove((u) => u.id === userId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ValidationError.html":{"url":"classes/ValidationError.html","title":"class - ValidationError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ValidationError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/error/validation.error.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(message: string, details?: Record)\n \n \n \n \n Defined in apps/server/src/shared/common/error/validation.error.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n \n string\n \n \n \n No\n \n \n \n \n details\n \n \n Record\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { BusinessError } from './business.error';\n\nexport class ValidationError extends BusinessError {\n\tconstructor(readonly message: string, details?: Record) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'VALIDATION_ERROR',\n\t\t\t\ttitle: 'Validation Error',\n\t\t\t\tdefaultMessage: message,\n\t\t\t},\n\t\t\tHttpStatus.BAD_REQUEST,\n\t\t\tdetails\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ValidationErrorDetailResponse.html":{"url":"classes/ValidationErrorDetailResponse.html","title":"class - ValidationErrorDetailResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ValidationErrorDetailResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/error/dto/validation-error-detail.response.ts\n \n\n\n\n\n\n\n\n \n Constructor\n \n \n \n \nconstructor(field: string[], errors: string[])\n \n \n \n \n Defined in apps/server/src/core/error/dto/validation-error-detail.response.ts:1\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n field\n \n \n string[]\n \n \n \n No\n \n \n \n \n errors\n \n \n string[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n\n\n\n \n\n\n \n export class ValidationErrorDetailResponse {\n\tconstructor(readonly field: string[], readonly errors: string[]) {}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ValidationErrorLoggableException.html":{"url":"classes/ValidationErrorLoggableException.html","title":"class - ValidationErrorLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ValidationErrorLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/loggable-exception/validation-error.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n InternalServerErrorException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(validationErrors: ValidationError[])\n \n \n \n \n Defined in apps/server/src/shared/common/loggable-exception/validation-error.loggable-exception.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n validationErrors\n \n \n ValidationError[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/shared/common/loggable-exception/validation-error.loggable-exception.ts:11\n \n \n\n\n \n \n\n \n Returns : ErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { InternalServerErrorException } from '@nestjs/common';\nimport { Loggable } from '@src/core/logger/interfaces';\nimport { ErrorLogMessage } from '@src/core/logger/types';\nimport { ValidationError } from 'class-validator';\n\nexport class ValidationErrorLoggableException extends InternalServerErrorException implements Loggable {\n\tconstructor(private readonly validationErrors: ValidationError[]) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): ErrorLogMessage {\n\t\tconst validationErrorListObject: { [key: number]: string } = this.validationErrors.reduce(\n\t\t\t(accumulator, currentValue, currentIndex) => {\n\t\t\t\treturn {\n\t\t\t\t\t...accumulator,\n\t\t\t\t\t[currentIndex]: currentValue.toString(false, undefined, undefined, true),\n\t\t\t\t};\n\t\t\t},\n\t\t\t{}\n\t\t);\n\n\t\tconst message: ErrorLogMessage = {\n\t\t\ttype: 'VALIDATION_ERROR',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\t...validationErrorListObject,\n\t\t\t},\n\t\t};\n\n\t\treturn message;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ValidationModule.html":{"url":"modules/ValidationModule.html","title":"module - ValidationModule","body":"\n \n\n\n\n\n Modules\n ValidationModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/core/validation/validation.module.ts\n \n\n\n\n\n\n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { APP_PIPE } from '@nestjs/core';\nimport { GlobalValidationPipe } from './pipe/global-validation.pipe';\n\n@Module({\n\tproviders: [\n\t\t{\n\t\t\tprovide: APP_PIPE,\n\t\t\tuseClass: GlobalValidationPipe,\n\t\t},\n\t],\n})\nexport class ValidationModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/VideoConference.html":{"url":"entities/VideoConference.html","title":"entity - VideoConference","body":"\n \n\n\n\n\n\n\n\n Entities\n VideoConference\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/video-conference.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n options\n \n \n \n \n target\n \n \n \n targetModel\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n options\n \n \n \n \n \n \n Type : VideoConferenceOptions\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/video-conference.entity.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/video-conference.entity.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n targetModel\n \n \n \n \n \n \n Type : TargetModels\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/video-conference.entity.ts:34\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Index, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport enum TargetModels {\n\tCOURSES = 'courses',\n\tEVENTS = 'events',\n}\n\nexport class VideoConferenceOptions {\n\teveryAttendeJoinsMuted: boolean;\n\n\teverybodyJoinsAsModerator: boolean;\n\n\tmoderatorMustApproveJoinRequests: boolean;\n\n\tconstructor(options: VideoConferenceOptions) {\n\t\tthis.everyAttendeJoinsMuted = options.everyAttendeJoinsMuted;\n\t\tthis.everybodyJoinsAsModerator = options.everybodyJoinsAsModerator;\n\t\tthis.moderatorMustApproveJoinRequests = options.moderatorMustApproveJoinRequests;\n\t}\n}\n\nexport type IVideoConferenceProperties = Readonly>;\n\n// Preset options for opening a video conference\n@Entity({ tableName: 'videoconferences' })\n@Index({ properties: ['target', 'targetModel'] })\nexport class VideoConference extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Index()\n\ttarget: string;\n\n\t@Property()\n\ttargetModel: TargetModels;\n\n\t@Property()\n\toptions: VideoConferenceOptions;\n\n\tconstructor(props: IVideoConferenceProperties) {\n\t\tsuper();\n\t\tthis.target = props.target;\n\t\tthis.targetModel = props.targetModel;\n\t\tthis.options = props.options;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConference-1.html":{"url":"classes/VideoConference-1.html","title":"class - VideoConference-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConference\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/uc/dto/video-conference.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n bbbResponse\n \n \n permission\n \n \n state\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dto: VideoConference)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/video-conference.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n dto\n \n \n VideoConference\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n bbbResponse\n \n \n \n \n \n \n Type : BBBResponse\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/video-conference.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n permission\n \n \n \n \n \n \n Type : Permission\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/video-conference.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n state\n \n \n \n \n \n \n Type : VideoConferenceState\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/video-conference.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Permission } from '@shared/domain/interface';\nimport { BBBBaseResponse, BBBResponse } from '../../bbb';\nimport { VideoConferenceState } from './video-conference-state.enum';\n\nexport class VideoConference {\n\tstate: VideoConferenceState;\n\n\tpermission: Permission;\n\n\tbbbResponse?: BBBResponse;\n\n\tconstructor(dto: VideoConference) {\n\t\tthis.state = dto.state;\n\t\tthis.bbbResponse = dto.bbbResponse;\n\t\tthis.permission = dto.permission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/VideoConferenceApiModule.html":{"url":"modules/VideoConferenceApiModule.html","title":"module - VideoConferenceApiModule","body":"\n \n\n\n\n\n Modules\n VideoConferenceApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_VideoConferenceApiModule\n\n\n\ncluster_VideoConferenceApiModule_providers\n\n\n\ncluster_VideoConferenceApiModule_imports\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nVideoConferenceApiModule\n\nVideoConferenceApiModule\n\nVideoConferenceApiModule -->\n\nAuthorizationModule->VideoConferenceApiModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nVideoConferenceApiModule -->\n\nUserModule->VideoConferenceApiModule\n\n\n\n\n\nVideoConferenceModule\n\nVideoConferenceModule\n\nVideoConferenceApiModule -->\n\nVideoConferenceModule->VideoConferenceApiModule\n\n\n\n\n\nVideoConferenceCreateUc\n\nVideoConferenceCreateUc\n\nVideoConferenceApiModule -->\n\nVideoConferenceCreateUc->VideoConferenceApiModule\n\n\n\n\n\nVideoConferenceEndUc\n\nVideoConferenceEndUc\n\nVideoConferenceApiModule -->\n\nVideoConferenceEndUc->VideoConferenceApiModule\n\n\n\n\n\nVideoConferenceInfoUc\n\nVideoConferenceInfoUc\n\nVideoConferenceApiModule -->\n\nVideoConferenceInfoUc->VideoConferenceApiModule\n\n\n\n\n\nVideoConferenceJoinUc\n\nVideoConferenceJoinUc\n\nVideoConferenceApiModule -->\n\nVideoConferenceJoinUc->VideoConferenceApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/video-conference/video-conference-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n VideoConferenceCreateUc\n \n \n VideoConferenceEndUc\n \n \n VideoConferenceInfoUc\n \n \n VideoConferenceJoinUc\n \n \n \n \n Controllers\n \n \n VideoConferenceController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n UserModule\n \n \n VideoConferenceModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { UserModule } from '@modules/user';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { VideoConferenceController } from './controller';\nimport { VideoConferenceCreateUc, VideoConferenceJoinUc, VideoConferenceEndUc, VideoConferenceInfoUc } from './uc';\nimport { VideoConferenceModule } from './video-conference.module';\n\n@Module({\n\timports: [VideoConferenceModule, UserModule, AuthorizationModule],\n\tcontrollers: [VideoConferenceController],\n\tproviders: [VideoConferenceCreateUc, VideoConferenceJoinUc, VideoConferenceEndUc, VideoConferenceInfoUc],\n})\nexport class VideoConferenceApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceBaseResponse.html":{"url":"classes/VideoConferenceBaseResponse.html","title":"class - VideoConferenceBaseResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceBaseResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/controller/dto/response/video-conference-deprecated.response.ts\n \n\n \n Deprecated\n \n \n Please use new video conference response classes\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n permission\n \n \n state\n \n \n Optional\n status\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(resp: VideoConferenceBaseResponse)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-deprecated.response.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n resp\n \n \n VideoConferenceBaseResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n permission\n \n \n \n \n \n \n Type : Permission\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-deprecated.response.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n state\n \n \n \n \n \n \n Type : VideoConferenceStateResponse\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-deprecated.response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n status\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-deprecated.response.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Permission } from '@shared/domain/interface';\nimport { VideoConferenceStateResponse } from './video-conference-state.response';\n\n/**\n * @deprecated Please use new video conference response classes\n */\nexport class VideoConferenceBaseResponse {\n\tstatus?: string;\n\n\tstate: VideoConferenceStateResponse;\n\n\tpermission: Permission;\n\n\tconstructor(resp: VideoConferenceBaseResponse) {\n\t\tthis.status = 'SUCCESS';\n\t\tthis.state = resp.state;\n\t\tthis.permission = resp.permission;\n\t}\n}\n\n/**\n * @deprecated Please use new video conference response classes\n */\nexport class DeprecatedVideoConferenceJoinResponse extends VideoConferenceBaseResponse {\n\turl?: string;\n\n\tconstructor(resp: DeprecatedVideoConferenceJoinResponse) {\n\t\tsuper(resp);\n\t\tthis.url = resp.url;\n\t}\n}\n\n/**\n * @deprecated Please use new video conference response classes\n */\nexport class DeprecatedVideoConferenceInfoResponse extends VideoConferenceBaseResponse {\n\toptions?: {\n\t\teveryAttendeeJoinsMuted: boolean;\n\n\t\teverybodyJoinsAsModerator: boolean;\n\n\t\tmoderatorMustApproveJoinRequests: boolean;\n\t};\n\n\tconstructor(resp: DeprecatedVideoConferenceInfoResponse) {\n\t\tsuper(resp);\n\t\tthis.options = resp.options;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceConfiguration.html":{"url":"classes/VideoConferenceConfiguration.html","title":"class - VideoConferenceConfiguration","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceConfiguration\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/video-conference-config.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n bbb\n \n \n Static\n videoConference\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n bbb\n \n \n \n \n \n \n Type : IBbbSettings\n\n \n \n \n \n Default value : {\n\t\thost: Configuration.get('VIDEOCONFERENCE_HOST') as string,\n\t\tsalt: Configuration.get('VIDEOCONFERENCE_SALT') as string,\n\t\tpresentationUrl: Configuration.get('VIDEOCONFERENCE_DEFAULT_PRESENTATION') as string,\n\t}\n \n \n \n \n Defined in apps/server/src/modules/video-conference/video-conference-config.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n Static\n videoConference\n \n \n \n \n \n \n Type : IVideoConferenceSettings\n\n \n \n \n \n Default value : {\n\t\tenabled: Configuration.get('FEATURE_VIDEOCONFERENCE_ENABLED') as boolean,\n\t\thostUrl: Configuration.get('HOST') as string,\n\t\tbbb: VideoConferenceConfiguration.bbb,\n\t}\n \n \n \n \n Defined in apps/server/src/modules/video-conference/video-conference-config.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { IBbbSettings } from './bbb';\nimport { IVideoConferenceSettings } from './interface';\n\nexport default class VideoConferenceConfiguration {\n\tstatic bbb: IBbbSettings = {\n\t\thost: Configuration.get('VIDEOCONFERENCE_HOST') as string,\n\t\tsalt: Configuration.get('VIDEOCONFERENCE_SALT') as string,\n\t\tpresentationUrl: Configuration.get('VIDEOCONFERENCE_DEFAULT_PRESENTATION') as string,\n\t};\n\n\tstatic videoConference: IVideoConferenceSettings = {\n\t\tenabled: Configuration.get('FEATURE_VIDEOCONFERENCE_ENABLED') as boolean,\n\t\thostUrl: Configuration.get('HOST') as string,\n\t\tbbb: VideoConferenceConfiguration.bbb,\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/VideoConferenceController.html":{"url":"controllers/VideoConferenceController.html","title":"controller - VideoConferenceController","body":"\n \n\n\n\n\n\n\n Controllers\n VideoConferenceController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/controller/video-conference.controller.ts\n \n\n \n Prefix\n \n \n videoconference2\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n end\n \n \n \n \n \n \n \n \n Async\n info\n \n \n \n \n \n \n \n \n Async\n join\n \n \n \n \n \n \n \n \n Async\n start\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n end\n \n \n \n \n \n \n \n end(currentUser: ICurrentUser, scopeParams: VideoConferenceScopeParams)\n \n \n\n \n \n Decorators : \n \n @Get(':scope/:scopeId/end')@ApiOperation({summary: 'Ends a running video conference.', description: 'Use this endpoint to end a running video conference.'})@ApiResponse({status: undefined, description: 'Returns the status of the operation.'})@ApiResponse({status: undefined, description: 'Invalid parameters.'})@ApiResponse({status: undefined, description: 'User does not have the permission to end this conference.'})@ApiResponse({status: undefined, description: 'Unable to fetch required data.'})\n \n \n\n \n \n Defined in apps/server/src/modules/video-conference/controller/video-conference.controller.ts:132\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n scopeParams\n \n VideoConferenceScopeParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n info\n \n \n \n \n \n \n \n info(currentUser: ICurrentUser, scopeParams: VideoConferenceScopeParams)\n \n \n\n \n \n Decorators : \n \n @Get(':scope/:scopeId/info')@ApiOperation({summary: 'Returns information about a running video conference.', description: 'Use this endpoint to get information about a running video conference.'})@ApiResponse({status: undefined, description: 'Returns a list of information about a video conference.', type: VideoConferenceInfoResponse})@ApiResponse({status: undefined, description: 'Invalid parameters.'})@ApiResponse({status: undefined, description: 'User does not have the permission to get information about this conference.'})@ApiResponse({status: undefined, description: 'Unable to fetch required data.'})\n \n \n\n \n \n Defined in apps/server/src/modules/video-conference/controller/video-conference.controller.ts:105\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n scopeParams\n \n VideoConferenceScopeParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n join\n \n \n \n \n \n \n \n join(currentUser: ICurrentUser, scopeParams: VideoConferenceScopeParams)\n \n \n\n \n \n Decorators : \n \n @Get(':scope/:scopeId/join')@ApiOperation({summary: 'Creates a join link for a video conference, if it has started.', description: 'Use this endpoint to get a link to join an existing video conference. The conference must be running.'})@ApiResponse({status: undefined, description: 'Returns the information for joining the conference.', type: VideoConferenceJoinResponse})@ApiResponse({status: undefined, description: 'Invalid parameters.'})@ApiResponse({status: undefined, description: 'User does not have the permission to join this conference.'})@ApiResponse({status: undefined, description: 'Unable to fetch required data.'})\n \n \n\n \n \n Defined in apps/server/src/modules/video-conference/controller/video-conference.controller.ts:77\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n scopeParams\n \n VideoConferenceScopeParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n start\n \n \n \n \n \n \n \n start(req: Request, currentUser: ICurrentUser, scopeParams: VideoConferenceScopeParams, params: VideoConferenceCreateParams)\n \n \n\n \n \n Decorators : \n \n @Put(':scope/:scopeId/start')@ApiOperation({summary: 'Creates the video conference, if it has not started yet.', description: 'Use this endpoint to start a video conference. If the conference is not yet running, it will be created.'})@ApiResponse({status: undefined, description: 'Video conference was created.'})@ApiResponse({status: undefined, description: 'Invalid parameters.'})@ApiResponse({status: undefined, description: 'User does not have the permission to create this conference.'})@ApiResponse({status: undefined, description: 'Unable to fetch required data.'})\n \n \n\n \n \n Defined in apps/server/src/modules/video-conference/controller/video-conference.controller.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n req\n \n Request\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n scopeParams\n \n VideoConferenceScopeParams\n \n\n \n No\n \n\n\n \n \n params\n \n VideoConferenceCreateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, Get, HttpStatus, Param, Put, Req } from '@nestjs/common';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { Request } from 'express';\nimport { InvalidOriginForLogoutUrlLoggableException } from '../error';\nimport { VideoConferenceOptions } from '../interface';\nimport { VideoConferenceMapper } from '../mapper/video-conference.mapper';\nimport { VideoConferenceCreateUc, VideoConferenceEndUc, VideoConferenceInfoUc, VideoConferenceJoinUc } from '../uc';\nimport { ScopeRef, VideoConferenceInfo, VideoConferenceJoin } from '../uc/dto';\nimport {\n\tVideoConferenceCreateParams,\n\tVideoConferenceInfoResponse,\n\tVideoConferenceJoinResponse,\n\tVideoConferenceScopeParams,\n} from './dto';\n\n@ApiTags('VideoConference')\n@Authenticate('jwt')\n@Controller('videoconference2')\nexport class VideoConferenceController {\n\tconstructor(\n\t\tprivate readonly videoConferenceCreateUc: VideoConferenceCreateUc,\n\t\tprivate readonly videoConferenceJoinUc: VideoConferenceJoinUc,\n\t\tprivate readonly videoConferenceEndUc: VideoConferenceEndUc,\n\t\tprivate readonly videoConferenceInfoUc: VideoConferenceInfoUc\n\t) {}\n\n\t@Put(':scope/:scopeId/start')\n\t@ApiOperation({\n\t\tsummary: 'Creates the video conference, if it has not started yet.',\n\t\tdescription:\n\t\t\t'Use this endpoint to start a video conference. If the conference is not yet running, it will be created.',\n\t})\n\t@ApiResponse({\n\t\tstatus: HttpStatus.OK,\n\t\tdescription: 'Video conference was created.',\n\t})\n\t@ApiResponse({ status: HttpStatus.BAD_REQUEST, description: 'Invalid parameters.' })\n\t@ApiResponse({\n\t\tstatus: HttpStatus.FORBIDDEN,\n\t\tdescription: 'User does not have the permission to create this conference.',\n\t})\n\t@ApiResponse({ status: HttpStatus.INTERNAL_SERVER_ERROR, description: 'Unable to fetch required data.' })\n\tasync start(\n\t\t@Req() req: Request,\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() scopeParams: VideoConferenceScopeParams,\n\t\t@Body() params: VideoConferenceCreateParams\n\t): Promise {\n\t\tif (params.logoutUrl && new URL(params.logoutUrl).origin !== req.headers.origin) {\n\t\t\tthrow new InvalidOriginForLogoutUrlLoggableException(params.logoutUrl, req.headers.origin);\n\t\t}\n\n\t\tconst scopeRef = new ScopeRef(scopeParams.scopeId, scopeParams.scope);\n\t\tconst videoConferenceOptions: VideoConferenceOptions = VideoConferenceMapper.toVideoConferenceOptions(params);\n\n\t\tawait this.videoConferenceCreateUc.createIfNotRunning(currentUser.userId, scopeRef, videoConferenceOptions);\n\t}\n\n\t@Get(':scope/:scopeId/join')\n\t@ApiOperation({\n\t\tsummary: 'Creates a join link for a video conference, if it has started.',\n\t\tdescription:\n\t\t\t'Use this endpoint to get a link to join an existing video conference. The conference must be running.',\n\t})\n\t@ApiResponse({\n\t\tstatus: HttpStatus.OK,\n\t\tdescription: 'Returns the information for joining the conference.',\n\t\ttype: VideoConferenceJoinResponse,\n\t})\n\t@ApiResponse({ status: HttpStatus.BAD_REQUEST, description: 'Invalid parameters.' })\n\t@ApiResponse({\n\t\tstatus: HttpStatus.FORBIDDEN,\n\t\tdescription: 'User does not have the permission to join this conference.',\n\t})\n\t@ApiResponse({ status: HttpStatus.INTERNAL_SERVER_ERROR, description: 'Unable to fetch required data.' })\n\tasync join(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() scopeParams: VideoConferenceScopeParams\n\t): Promise {\n\t\tconst scopeRef = new ScopeRef(scopeParams.scopeId, scopeParams.scope);\n\t\tconst dto: VideoConferenceJoin = await this.videoConferenceJoinUc.join(currentUser.userId, scopeRef);\n\n\t\tconst resp: VideoConferenceJoinResponse = VideoConferenceMapper.toVideoConferenceJoinResponse(dto);\n\n\t\treturn resp;\n\t}\n\n\t@Get(':scope/:scopeId/info')\n\t@ApiOperation({\n\t\tsummary: 'Returns information about a running video conference.',\n\t\tdescription: 'Use this endpoint to get information about a running video conference.',\n\t})\n\t@ApiResponse({\n\t\tstatus: HttpStatus.OK,\n\t\tdescription: 'Returns a list of information about a video conference.',\n\t\ttype: VideoConferenceInfoResponse,\n\t})\n\t@ApiResponse({ status: HttpStatus.BAD_REQUEST, description: 'Invalid parameters.' })\n\t@ApiResponse({\n\t\tstatus: HttpStatus.FORBIDDEN,\n\t\tdescription: 'User does not have the permission to get information about this conference.',\n\t})\n\t@ApiResponse({ status: HttpStatus.INTERNAL_SERVER_ERROR, description: 'Unable to fetch required data.' })\n\tasync info(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() scopeParams: VideoConferenceScopeParams\n\t): Promise {\n\t\tconst scopeRef = new ScopeRef(scopeParams.scopeId, scopeParams.scope);\n\t\tconst dto: VideoConferenceInfo = await this.videoConferenceInfoUc.getMeetingInfo(currentUser.userId, scopeRef);\n\n\t\tconst resp: VideoConferenceInfoResponse = VideoConferenceMapper.toVideoConferenceInfoResponse(dto);\n\n\t\treturn resp;\n\t}\n\n\t@Get(':scope/:scopeId/end')\n\t@ApiOperation({\n\t\tsummary: 'Ends a running video conference.',\n\t\tdescription: 'Use this endpoint to end a running video conference.',\n\t})\n\t@ApiResponse({\n\t\tstatus: HttpStatus.OK,\n\t\tdescription: 'Returns the status of the operation.',\n\t})\n\t@ApiResponse({ status: HttpStatus.BAD_REQUEST, description: 'Invalid parameters.' })\n\t@ApiResponse({\n\t\tstatus: HttpStatus.FORBIDDEN,\n\t\tdescription: 'User does not have the permission to end this conference.',\n\t})\n\t@ApiResponse({ status: HttpStatus.INTERNAL_SERVER_ERROR, description: 'Unable to fetch required data.' })\n\tasync end(@CurrentUser() currentUser: ICurrentUser, @Param() scopeParams: VideoConferenceScopeParams): Promise {\n\t\tconst scopeRef = new ScopeRef(scopeParams.scopeId, scopeParams.scope);\n\n\t\tawait this.videoConferenceEndUc.end(currentUser.userId, scopeRef);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceCreateParams.html":{"url":"classes/VideoConferenceCreateParams.html","title":"class - VideoConferenceCreateParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceCreateParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/controller/dto/request/video-conference-create.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n everyAttendeeJoinsMuted\n \n \n \n \n \n Optional\n everybodyJoinsAsModerator\n \n \n \n \n \n Optional\n logoutUrl\n \n \n \n \n \n Optional\n moderatorMustApproveJoinRequests\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n everyAttendeeJoinsMuted\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({default: undefined})@IsBoolean()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/request/video-conference-create.params.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n everybodyJoinsAsModerator\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({default: undefined})@IsBoolean()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/request/video-conference-create.params.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n logoutUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The URL that the BigBlueButton client will go to after users click the OK button on the ‘You have been logged out’ or ’This session was ended’ message. Has to be a URL from the same domain that the conference is started from.'})@IsUrl({require_tld: false})@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/request/video-conference-create.params.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n moderatorMustApproveJoinRequests\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({default: undefined})@IsBoolean()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/request/video-conference-create.params.ts:19\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsBoolean, IsOptional, IsUrl } from 'class-validator';\nimport { defaultVideoConferenceOptions } from '../../../interface';\n\nexport class VideoConferenceCreateParams {\n\t@ApiPropertyOptional({ default: defaultVideoConferenceOptions.everyAttendeeJoinsMuted })\n\t@IsBoolean()\n\t@IsOptional()\n\teveryAttendeeJoinsMuted?: boolean;\n\n\t@ApiPropertyOptional({ default: defaultVideoConferenceOptions.everybodyJoinsAsModerator })\n\t@IsBoolean()\n\t@IsOptional()\n\teverybodyJoinsAsModerator?: boolean;\n\n\t@ApiPropertyOptional({ default: defaultVideoConferenceOptions.moderatorMustApproveJoinRequests })\n\t@IsBoolean()\n\t@IsOptional()\n\tmoderatorMustApproveJoinRequests?: boolean;\n\n\t@ApiPropertyOptional({\n\t\tdescription:\n\t\t\t'The URL that the BigBlueButton client will go to after users click the OK button on the ‘You have been logged out’ or ’This session was ended’ message. Has to be a URL from the same domain that the conference is started from.',\n\t})\n\t@IsUrl({ require_tld: false })\n\t@IsOptional()\n\tlogoutUrl?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/VideoConferenceCreateUc.html":{"url":"injectables/VideoConferenceCreateUc.html","title":"injectable - VideoConferenceCreateUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n VideoConferenceCreateUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/uc/video-conference-create.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n create\n \n \n Async\n createIfNotRunning\n \n \n Private\n prepareBBBCreateConfigBuilder\n \n \n Private\n throwIfNotModerator\n \n \n Private\n Async\n verifyFeaturesEnabled\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(bbbService: BBBService, userService: UserService, videoConferenceService: VideoConferenceService)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-create.uc.ts:20\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n bbbService\n \n \n BBBService\n \n \n \n No\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n videoConferenceService\n \n \n VideoConferenceService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n create\n \n \n \n \n \n \n \n create(currentUserId: EntityId, scope: ScopeRef, options: VideoConferenceOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-create.uc.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUserId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n scope\n \n ScopeRef\n \n\n \n No\n \n\n\n \n \n options\n \n VideoConferenceOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createIfNotRunning\n \n \n \n \n \n \n \n createIfNotRunning(currentUserId: EntityId, scope: ScopeRef, options: VideoConferenceOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-create.uc.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUserId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n scope\n \n ScopeRef\n \n\n \n No\n \n\n\n \n \n options\n \n VideoConferenceOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n prepareBBBCreateConfigBuilder\n \n \n \n \n \n \n \n prepareBBBCreateConfigBuilder(scope: ScopeRef, options: VideoConferenceOptions, scopeInfo: ScopeInfo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-create.uc.ts:68\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n scope\n \n ScopeRef\n \n\n \n No\n \n\n\n \n \n options\n \n VideoConferenceOptions\n \n\n \n No\n \n\n\n \n \n scopeInfo\n \n ScopeInfo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BBBCreateConfigBuilder\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n throwIfNotModerator\n \n \n \n \n \n \n \n throwIfNotModerator(role: BBBRole, errorMessage: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-create.uc.ts:93\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n role\n \n BBBRole\n \n\n \n No\n \n\n\n \n \n errorMessage\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n verifyFeaturesEnabled\n \n \n \n \n \n \n \n verifyFeaturesEnabled(schoolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-create.uc.ts:89\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { UserService } from '@modules/user';\nimport { ForbiddenException, Injectable } from '@nestjs/common';\nimport { UserDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport {\n\tBBBBaseMeetingConfig,\n\tBBBCreateConfigBuilder,\n\tBBBMeetingInfoResponse,\n\tBBBResponse,\n\tBBBRole,\n\tBBBService,\n\tGuestPolicy,\n} from '../bbb';\nimport { ErrorStatus } from '../error/error-status.enum';\nimport { VideoConferenceOptions } from '../interface';\nimport { VideoConferenceService } from '../service';\nimport { ScopeInfo, ScopeRef } from './dto';\n\n@Injectable()\nexport class VideoConferenceCreateUc {\n\tconstructor(\n\t\tprivate readonly bbbService: BBBService,\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly videoConferenceService: VideoConferenceService\n\t) {}\n\n\tasync createIfNotRunning(currentUserId: EntityId, scope: ScopeRef, options: VideoConferenceOptions): Promise {\n\t\tlet bbbMeetingInfoResponse: BBBResponse | undefined;\n\t\t// try and catch based on legacy behavior\n\t\ttry {\n\t\t\tbbbMeetingInfoResponse = await this.bbbService.getMeetingInfo(new BBBBaseMeetingConfig({ meetingID: scope.id }));\n\t\t} catch (e) {\n\t\t\tbbbMeetingInfoResponse = undefined;\n\t\t}\n\n\t\tif (bbbMeetingInfoResponse === undefined) {\n\t\t\tawait this.create(currentUserId, scope, options);\n\t\t}\n\t}\n\n\tprivate async create(currentUserId: EntityId, scope: ScopeRef, options: VideoConferenceOptions): Promise {\n\t\t/* need to be replace with\n\t\tconst [authorizableUser, scopeRessource]: [User, TeamEntity | Course] = await Promise.all([\n\t\t\tthis.authorizationService.getUserWithPermissions(userId),\n\t\t\tthis.videoConferenceService.loadScopeRessources(scopeId, scope),\n\t\t]);\n\t\t*/\n\t\tconst user: UserDO = await this.userService.findById(currentUserId);\n\n\t\tawait this.verifyFeaturesEnabled(user.schoolId);\n\n\t\tconst scopeInfo: ScopeInfo = await this.videoConferenceService.getScopeInfo(currentUserId, scope.id, scope.scope);\n\n\t\tconst bbbRole: BBBRole = await this.videoConferenceService.determineBbbRole(\n\t\t\tcurrentUserId,\n\t\t\tscopeInfo.scopeId,\n\t\t\tscope.scope\n\t\t);\n\t\tthis.throwIfNotModerator(bbbRole, 'You are not allowed to start the videoconference. Ask a moderator.');\n\n\t\tawait this.videoConferenceService.createOrUpdateVideoConferenceForScopeWithOptions(scope.id, scope.scope, options);\n\n\t\tconst configBuilder: BBBCreateConfigBuilder = this.prepareBBBCreateConfigBuilder(scope, options, scopeInfo);\n\n\t\tawait this.bbbService.create(configBuilder.build());\n\t}\n\n\tprivate prepareBBBCreateConfigBuilder(\n\t\tscope: ScopeRef,\n\t\toptions: VideoConferenceOptions,\n\t\tscopeInfo: ScopeInfo\n\t): BBBCreateConfigBuilder {\n\t\tconst configBuilder: BBBCreateConfigBuilder = new BBBCreateConfigBuilder({\n\t\t\tname: this.videoConferenceService.sanitizeString(scopeInfo.title),\n\t\t\tmeetingID: scope.id,\n\t\t}).withLogoutUrl(options.logoutUrl ?? scopeInfo.logoutUrl);\n\n\t\tif (options.moderatorMustApproveJoinRequests) {\n\t\t\tconfigBuilder.withGuestPolicy(GuestPolicy.ASK_MODERATOR);\n\t\t}\n\n\t\tif (options.everyAttendeeJoinsMuted) {\n\t\t\tconfigBuilder.withMuteOnStart(true);\n\t\t}\n\n\t\treturn configBuilder;\n\t}\n\n\tprivate async verifyFeaturesEnabled(schoolId: string): Promise {\n\t\tawait this.videoConferenceService.throwOnFeaturesDisabled(schoolId);\n\t}\n\n\tprivate throwIfNotModerator(role: BBBRole, errorMessage: string) {\n\t\tif (role !== BBBRole.MODERATOR) {\n\t\t\tthrow new ForbiddenException(ErrorStatus.INSUFFICIENT_PERMISSION, errorMessage);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceDO.html":{"url":"classes/VideoConferenceDO.html","title":"class - VideoConferenceDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceDO\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/video-conference.do.ts\n \n\n\n\n \n Extends\n \n \n BaseDO\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n options\n \n \n target\n \n \n targetModel\n \n \n Optional\n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(domainObject: VideoConferenceDO)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/video-conference.do.ts:23\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n \n VideoConferenceDO\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n options\n \n \n \n \n \n \n Type : VideoConferenceOptionsDO\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/video-conference.do.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/video-conference.do.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n targetModel\n \n \n \n \n \n \n Type : VideoConferenceScope\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/video-conference.do.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from BaseDO\n\n \n \n \n \n Defined in BaseDO:5\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { VideoConferenceScope } from '@shared/domain/interface/video-conference-scope.enum';\nimport { BaseDO } from './base.do';\n\nexport class VideoConferenceOptionsDO {\n\teveryAttendeeJoinsMuted: boolean;\n\n\teverybodyJoinsAsModerator: boolean;\n\n\tmoderatorMustApproveJoinRequests: boolean;\n\n\tconstructor(options: VideoConferenceOptionsDO) {\n\t\tthis.everyAttendeeJoinsMuted = options.everyAttendeeJoinsMuted;\n\t\tthis.everybodyJoinsAsModerator = options.everybodyJoinsAsModerator;\n\t\tthis.moderatorMustApproveJoinRequests = options.moderatorMustApproveJoinRequests;\n\t}\n}\n\nexport class VideoConferenceDO extends BaseDO {\n\ttarget: string;\n\n\ttargetModel: VideoConferenceScope;\n\n\toptions: VideoConferenceOptionsDO;\n\n\tconstructor(domainObject: VideoConferenceDO) {\n\t\tsuper(domainObject.id);\n\n\t\tthis.target = domainObject.target;\n\t\tthis.targetModel = domainObject.targetModel;\n\t\tthis.options = domainObject.options;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/VideoConferenceDeprecatedController.html":{"url":"controllers/VideoConferenceDeprecatedController.html","title":"controller - VideoConferenceDeprecatedController","body":"\n \n\n\n\n\n\n\n Controllers\n VideoConferenceDeprecatedController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/controller/video-conference-deprecated.controller.ts\n \n\n \n Prefix\n \n \n videoconference\n \n\n\n \n Description\n \n \n This controller is deprecated. Please use VideoConferenceController instead.\n\n \n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n Async\n createAndJoin\n \n \n \n \n \n \n \n Async\n end\n \n \n \n \n \n \n \n \n Async\n info\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createAndJoin\n \n \n \n \n \n \n \n createAndJoin(currentUser: ICurrentUser, scope: VideoConferenceScope, scopeId: string, params: VideoConferenceCreateParams)\n \n \n\n \n \n Decorators : \n \n @Post(':scope/:scopeId')@ApiOperation({summary: 'Creates a join link for a video conference and creates the video conference, if it has not started yet.'})@ApiResponse({status: 400, type: BadRequestException, description: 'Invalid parameters.'})@ApiResponse({status: 403, type: ForbiddenException, description: 'User does not have the permission to create this conference.'})@ApiResponse({status: 500, type: InternalServerErrorException, description: 'Unable to fetch required data.'})\n \n \n\n \n \n Defined in apps/server/src/modules/video-conference/controller/video-conference-deprecated.controller.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n scope\n \n VideoConferenceScope\n \n\n \n No\n \n\n\n \n \n scopeId\n \n string\n \n\n \n No\n \n\n\n \n \n params\n \n VideoConferenceCreateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n end\n \n \n \n \n \n \n \n end(currentUser: ICurrentUser, scope: VideoConferenceScope, scopeId: string)\n \n \n\n \n \n Decorators : \n \n @Delete(':scope/:scopeId')@ApiOperation({summary: 'Ends a running video conference.'})@ApiResponse({status: 400, type: BadRequestException, description: 'Invalid parameters.'})@ApiResponse({status: 403, type: ForbiddenException, description: 'User does not have the permission to get information about this conference.'})@ApiResponse({status: 500, type: InternalServerErrorException, description: 'Unable to fetch required data.'})\n \n \n\n \n \n Defined in apps/server/src/modules/video-conference/controller/video-conference-deprecated.controller.ts:106\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n scope\n \n VideoConferenceScope\n \n\n \n No\n \n\n\n \n \n scopeId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n info\n \n \n \n \n \n \n \n info(currentUser: ICurrentUser, scope: VideoConferenceScope, scopeId: string)\n \n \n\n \n \n Decorators : \n \n @Get(':scope/:scopeId')@ApiOperation({summary: 'Returns information about a running video conference.'})@ApiResponse({status: 200, type: DeprecatedVideoConferenceInfoResponse, description: 'Returns a list of information about a video conference.'})@ApiResponse({status: 400, type: BadRequestException, description: 'Invalid parameters.'})@ApiResponse({status: 403, type: ForbiddenException, description: 'User does not have the permission to get information about this conference.'})@ApiResponse({status: 500, type: InternalServerErrorException, description: 'Unable to fetch required data.'})\n \n \n\n \n \n Defined in apps/server/src/modules/video-conference/controller/video-conference-deprecated.controller.ts:86\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n scope\n \n VideoConferenceScope\n \n\n \n No\n \n\n\n \n \n scopeId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport {\n\tBadRequestException,\n\tBody,\n\tController,\n\tDelete,\n\tForbiddenException,\n\tGet,\n\tInternalServerErrorException,\n\tParam,\n\tPost,\n} from '@nestjs/common';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { VideoConferenceScope } from '@shared/domain/interface';\nimport { BBBBaseResponse } from '../bbb';\nimport { defaultVideoConferenceOptions } from '../interface';\nimport { VideoConferenceResponseDeprecatedMapper } from '../mapper/vc-deprecated-response.mapper';\nimport { VideoConferenceDeprecatedUc } from '../uc';\nimport { VideoConference, VideoConferenceInfo, VideoConferenceJoin, VideoConferenceState } from '../uc/dto';\nimport { VideoConferenceCreateParams } from './dto';\nimport {\n\tDeprecatedVideoConferenceInfoResponse,\n\tVideoConferenceBaseResponse,\n} from './dto/response/video-conference-deprecated.response';\n\n/**\n * This controller is deprecated. Please use {@link VideoConferenceController} instead.\n */\n@ApiTags('VideoConference')\n@Authenticate('jwt')\n@Controller('videoconference')\nexport class VideoConferenceDeprecatedController {\n\tconstructor(private readonly videoConferenceUc: VideoConferenceDeprecatedUc) {}\n\n\t@Post(':scope/:scopeId')\n\t@ApiOperation({\n\t\tsummary: 'Creates a join link for a video conference and creates the video conference, if it has not started yet.',\n\t})\n\t@ApiResponse({ status: 400, type: BadRequestException, description: 'Invalid parameters.' })\n\t@ApiResponse({\n\t\tstatus: 403,\n\t\ttype: ForbiddenException,\n\t\tdescription: 'User does not have the permission to create this conference.',\n\t})\n\t@ApiResponse({ status: 500, type: InternalServerErrorException, description: 'Unable to fetch required data.' })\n\tasync createAndJoin(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param('scope') scope: VideoConferenceScope,\n\t\t@Param('scopeId') scopeId: string,\n\t\t@Body() params: VideoConferenceCreateParams\n\t): Promise {\n\t\tconst infoDto: VideoConferenceInfo = await this.videoConferenceUc.getMeetingInfo(currentUser, scope, scopeId);\n\n\t\tif (infoDto.state !== VideoConferenceState.RUNNING) {\n\t\t\tawait this.videoConferenceUc.create(currentUser, scope, scopeId, {\n\t\t\t\teveryAttendeeJoinsMuted:\n\t\t\t\t\tparams.everyAttendeeJoinsMuted ?? defaultVideoConferenceOptions.everyAttendeeJoinsMuted,\n\t\t\t\teverybodyJoinsAsModerator:\n\t\t\t\t\tparams.everybodyJoinsAsModerator ?? defaultVideoConferenceOptions.everybodyJoinsAsModerator,\n\t\t\t\tmoderatorMustApproveJoinRequests:\n\t\t\t\t\tparams.moderatorMustApproveJoinRequests ?? defaultVideoConferenceOptions.moderatorMustApproveJoinRequests,\n\t\t\t});\n\t\t}\n\n\t\tconst dto: VideoConferenceJoin = await this.videoConferenceUc.join(currentUser, scope, scopeId);\n\n\t\treturn VideoConferenceResponseDeprecatedMapper.mapToJoinResponse(dto);\n\t}\n\n\t@Get(':scope/:scopeId')\n\t@ApiOperation({\n\t\tsummary: 'Returns information about a running video conference.',\n\t})\n\t@ApiResponse({\n\t\tstatus: 200,\n\t\ttype: DeprecatedVideoConferenceInfoResponse,\n\t\tdescription: 'Returns a list of information about a video conference.',\n\t})\n\t@ApiResponse({ status: 400, type: BadRequestException, description: 'Invalid parameters.' })\n\t@ApiResponse({\n\t\tstatus: 403,\n\t\ttype: ForbiddenException,\n\t\tdescription: 'User does not have the permission to get information about this conference.',\n\t})\n\t@ApiResponse({ status: 500, type: InternalServerErrorException, description: 'Unable to fetch required data.' })\n\tasync info(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param('scope') scope: VideoConferenceScope,\n\t\t@Param('scopeId') scopeId: string\n\t): Promise {\n\t\tconst dto: VideoConferenceInfo = await this.videoConferenceUc.getMeetingInfo(currentUser, scope, scopeId);\n\t\treturn VideoConferenceResponseDeprecatedMapper.mapToInfoResponse(dto);\n\t}\n\n\t@Delete(':scope/:scopeId')\n\t@ApiOperation({\n\t\tsummary: 'Ends a running video conference.',\n\t})\n\t@ApiResponse({ status: 400, type: BadRequestException, description: 'Invalid parameters.' })\n\t@ApiResponse({\n\t\tstatus: 403,\n\t\ttype: ForbiddenException,\n\t\tdescription: 'User does not have the permission to get information about this conference.',\n\t})\n\t@ApiResponse({ status: 500, type: InternalServerErrorException, description: 'Unable to fetch required data.' })\n\tasync end(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param('scope') scope: VideoConferenceScope,\n\t\t@Param('scopeId') scopeId: string\n\t): Promise {\n\t\tconst dto: VideoConference = await this.videoConferenceUc.end(currentUser, scope, scopeId);\n\t\treturn VideoConferenceResponseDeprecatedMapper.mapToBaseResponse(dto);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/VideoConferenceEndUc.html":{"url":"injectables/VideoConferenceEndUc.html","title":"injectable - VideoConferenceEndUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n VideoConferenceEndUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/uc/video-conference-end.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n end\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(bbbService: BBBService, userService: UserService, videoConferenceService: VideoConferenceService)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-end.uc.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n bbbService\n \n \n BBBService\n \n \n \n No\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n videoConferenceService\n \n \n VideoConferenceService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n end\n \n \n \n \n \n \n \n end(currentUserId: EntityId, scope: ScopeRef)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-end.uc.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUserId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n scope\n \n ScopeRef\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { UserService } from '@modules/user';\nimport { ErrorStatus } from '@modules/video-conference/error/error-status.enum';\nimport { ForbiddenException, Injectable } from '@nestjs/common';\nimport { UserDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { BBBBaseMeetingConfig, BBBBaseResponse, BBBResponse, BBBRole, BBBService } from '../bbb';\nimport { PermissionMapping } from '../mapper/video-conference.mapper';\nimport { VideoConferenceService } from '../service';\nimport { ScopeInfo, ScopeRef, VideoConference, VideoConferenceState } from './dto';\n\n@Injectable()\nexport class VideoConferenceEndUc {\n\tconstructor(\n\t\tprivate readonly bbbService: BBBService,\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly videoConferenceService: VideoConferenceService\n\t) {}\n\n\tasync end(currentUserId: EntityId, scope: ScopeRef): Promise> {\n\t\t/* need to be replace with\n\t\tconst [authorizableUser, scopeRessource]: [User, TeamEntity | Course] = await Promise.all([\n\t\t\tthis.authorizationService.getUserWithPermissions(userId),\n\t\t\tthis.videoConferenceService.loadScopeRessources(scopeId, scope),\n\t\t]);\n\t\t*/\n\t\tconst user: UserDO = await this.userService.findById(currentUserId);\n\t\tconst userId: string = user.id as string;\n\n\t\tawait this.videoConferenceService.throwOnFeaturesDisabled(user.schoolId);\n\n\t\tconst scopeInfo: ScopeInfo = await this.videoConferenceService.getScopeInfo(userId, scope.id, scope.scope);\n\n\t\tconst bbbRole: BBBRole = await this.videoConferenceService.determineBbbRole(userId, scopeInfo.scopeId, scope.scope);\n\n\t\tif (bbbRole !== BBBRole.MODERATOR) {\n\t\t\tthrow new ForbiddenException(ErrorStatus.INSUFFICIENT_PERMISSION);\n\t\t}\n\n\t\tconst config: BBBBaseMeetingConfig = new BBBBaseMeetingConfig({\n\t\t\tmeetingID: scope.id,\n\t\t});\n\n\t\tconst bbbResponse: BBBResponse = await this.bbbService.end(config);\n\n\t\tconst videoConference = new VideoConference({\n\t\t\tstate: VideoConferenceState.FINISHED,\n\t\t\tpermission: PermissionMapping[bbbRole],\n\t\t\tbbbResponse,\n\t\t});\n\t\treturn videoConference;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceInfo.html":{"url":"classes/VideoConferenceInfo.html","title":"class - VideoConferenceInfo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceInfo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/uc/dto/video-conference-info.ts\n \n\n\n\n \n Extends\n \n \n VideoConference\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n options\n \n \n \n \n target\n \n \n \n targetModel\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dto: VideoConferenceInfo)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/video-conference-info.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n dto\n \n \n VideoConferenceInfo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n options\n \n \n \n \n \n \n Type : VideoConferenceOptions\n\n \n \n \n \n Inherited from VideoConference\n\n \n \n \n \n Defined in VideoConference:6\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()@Index()\n \n \n \n \n \n Inherited from VideoConference\n\n \n \n \n \n Defined in VideoConference:31\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n targetModel\n \n \n \n \n \n \n Type : TargetModels\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Inherited from VideoConference\n\n \n \n \n \n Defined in VideoConference:34\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { VideoConference } from './video-conference';\nimport { BBBMeetingInfoResponse } from '../../bbb';\nimport { VideoConferenceOptions } from '../../interface';\n\nexport class VideoConferenceInfo extends VideoConference {\n\toptions: VideoConferenceOptions;\n\n\tconstructor(dto: VideoConferenceInfo) {\n\t\tsuper(dto);\n\t\tthis.options = dto.options;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceInfoResponse.html":{"url":"classes/VideoConferenceInfoResponse.html","title":"class - VideoConferenceInfoResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceInfoResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/controller/dto/response/video-conference-info.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n options\n \n \n \n state\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(resp: VideoConferenceInfoResponse)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-info.response.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n resp\n \n \n VideoConferenceInfoResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n options\n \n \n \n \n \n \n Type : VideoConferenceOptionsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The options for the video conference.'})\n \n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-info.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n state\n \n \n \n \n \n \n Type : VideoConferenceStateResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: VideoConferenceStateResponse, enumName: 'VideoConferenceStateResponse', description: 'The state of the video conference.'})\n \n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-info.response.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { VideoConferenceOptionsResponse } from './video-conference-options.response';\nimport { VideoConferenceStateResponse } from './video-conference-state.response';\n\nexport class VideoConferenceInfoResponse {\n\t@ApiProperty({\n\t\tenum: VideoConferenceStateResponse,\n\t\tenumName: 'VideoConferenceStateResponse',\n\t\tdescription: 'The state of the video conference.',\n\t})\n\tstate: VideoConferenceStateResponse;\n\n\t@ApiProperty({ description: 'The options for the video conference.' })\n\toptions: VideoConferenceOptionsResponse;\n\n\tconstructor(resp: VideoConferenceInfoResponse) {\n\t\tthis.state = resp.state;\n\t\tthis.options = resp.options;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/VideoConferenceInfoUc.html":{"url":"injectables/VideoConferenceInfoUc.html","title":"injectable - VideoConferenceInfoUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n VideoConferenceInfoUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/uc/video-conference-info.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getMeetingInfo\n \n \n Private\n Async\n getVideoConferenceOptions\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(bbbService: BBBService, userService: UserService, videoConferenceService: VideoConferenceService)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-info.uc.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n bbbService\n \n \n BBBService\n \n \n \n No\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n videoConferenceService\n \n \n VideoConferenceService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getMeetingInfo\n \n \n \n \n \n \n \n getMeetingInfo(currentUserId: EntityId, scope: ScopeRef)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-info.uc.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUserId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n scope\n \n ScopeRef\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getVideoConferenceOptions\n \n \n \n \n \n \n \n getVideoConferenceOptions(scope: ScopeRef)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-info.uc.ts:75\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n scope\n \n ScopeRef\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { UserService } from '@modules/user';\nimport { ErrorStatus } from '@modules/video-conference/error/error-status.enum';\nimport { ForbiddenException, Injectable } from '@nestjs/common';\nimport { UserDO, VideoConferenceDO, VideoConferenceOptionsDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { BBBBaseMeetingConfig, BBBMeetingInfoResponse, BBBResponse, BBBRole, BBBService } from '../bbb';\nimport { defaultVideoConferenceOptions, VideoConferenceOptions } from '../interface';\nimport { PermissionMapping } from '../mapper/video-conference.mapper';\nimport { VideoConferenceService } from '../service';\nimport { ScopeInfo, ScopeRef, VideoConferenceInfo, VideoConferenceState } from './dto';\n\n@Injectable()\nexport class VideoConferenceInfoUc {\n\tconstructor(\n\t\tprivate readonly bbbService: BBBService,\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly videoConferenceService: VideoConferenceService\n\t) {}\n\n\tasync getMeetingInfo(currentUserId: EntityId, scope: ScopeRef): Promise {\n\t\t/* need to be replace with\n\t\tconst [authorizableUser, scopeRessource]: [User, TeamEntity | Course] = await Promise.all([\n\t\t\tthis.authorizationService.getUserWithPermissions(userId),\n\t\t\tthis.videoConferenceService.loadScopeRessources(scopeId, scope),\n\t\t]);\n\t\t*/\n\t\tconst user: UserDO = await this.userService.findById(currentUserId);\n\n\t\tawait this.videoConferenceService.throwOnFeaturesDisabled(user.schoolId);\n\n\t\tconst scopeInfo: ScopeInfo = await this.videoConferenceService.getScopeInfo(currentUserId, scope.id, scope.scope);\n\n\t\tconst bbbRole: BBBRole = await this.videoConferenceService.determineBbbRole(\n\t\t\tcurrentUserId,\n\t\t\tscopeInfo.scopeId,\n\t\t\tscope.scope\n\t\t);\n\n\t\tconst config: BBBBaseMeetingConfig = new BBBBaseMeetingConfig({\n\t\t\tmeetingID: scope.id,\n\t\t});\n\n\t\tconst options: VideoConferenceOptionsDO = await this.getVideoConferenceOptions(scope);\n\n\t\tlet response: VideoConferenceInfo;\n\t\ttry {\n\t\t\tconst bbbResponse: BBBResponse = await this.bbbService.getMeetingInfo(config);\n\t\t\tresponse = new VideoConferenceInfo({\n\t\t\t\tstate: VideoConferenceState.RUNNING,\n\t\t\t\tpermission: PermissionMapping[bbbRole],\n\t\t\t\tbbbResponse,\n\t\t\t\toptions: bbbRole === BBBRole.MODERATOR ? options : ({} as VideoConferenceOptions),\n\t\t\t});\n\t\t} catch {\n\t\t\tresponse = new VideoConferenceInfo({\n\t\t\t\tstate: VideoConferenceState.NOT_STARTED,\n\t\t\t\tpermission: PermissionMapping[bbbRole],\n\t\t\t\toptions: bbbRole === BBBRole.MODERATOR ? options : ({} as VideoConferenceOptions),\n\t\t\t});\n\t\t}\n\n\t\tconst isGuest: boolean = await this.videoConferenceService.hasExpertRole(\n\t\t\tcurrentUserId,\n\t\t\tscope.scope,\n\t\t\tscopeInfo.scopeId\n\t\t);\n\n\t\tif (!this.videoConferenceService.canGuestJoin(isGuest, response.state, options.moderatorMustApproveJoinRequests)) {\n\t\t\tthrow new ForbiddenException(ErrorStatus.GUESTS_CANNOT_JOIN_CONFERENCE);\n\t\t}\n\n\t\treturn response;\n\t}\n\n\tprivate async getVideoConferenceOptions(scope: ScopeRef): Promise {\n\t\tlet options: VideoConferenceOptionsDO;\n\t\ttry {\n\t\t\tconst vcDO: VideoConferenceDO = await this.videoConferenceService.findVideoConferenceByScopeIdAndScope(\n\t\t\t\tscope.id,\n\t\t\t\tscope.scope\n\t\t\t);\n\t\t\toptions = vcDO.options;\n\t\t} catch {\n\t\t\toptions = defaultVideoConferenceOptions;\n\t\t}\n\t\treturn options;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceJoin.html":{"url":"classes/VideoConferenceJoin.html","title":"class - VideoConferenceJoin","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceJoin\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/uc/dto/video-conference-join.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n permission\n \n \n state\n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dto: VideoConferenceJoin)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/video-conference-join.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n dto\n \n \n VideoConferenceJoin\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n permission\n \n \n \n \n \n \n Type : Permission\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/video-conference-join.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n state\n \n \n \n \n \n \n Type : VideoConferenceState\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/video-conference-join.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/video-conference-join.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Permission } from '@shared/domain/interface';\nimport { VideoConferenceState } from './video-conference-state.enum';\n\nexport class VideoConferenceJoin {\n\tstate: VideoConferenceState;\n\n\tpermission: Permission;\n\n\turl: string;\n\n\tconstructor(dto: VideoConferenceJoin) {\n\t\tthis.state = dto.state;\n\t\tthis.permission = dto.permission;\n\t\tthis.url = dto.url;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceJoinResponse.html":{"url":"classes/VideoConferenceJoinResponse.html","title":"class - VideoConferenceJoinResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceJoinResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/controller/dto/response/video-conference-join.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(resp: VideoConferenceJoinResponse)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-join.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n resp\n \n \n VideoConferenceJoinResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The URL to join the video conference.'})\n \n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-join.response.ts:5\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class VideoConferenceJoinResponse {\n\t@ApiProperty({ description: 'The URL to join the video conference.' })\n\turl: string;\n\n\tconstructor(resp: VideoConferenceJoinResponse) {\n\t\tthis.url = resp.url;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/VideoConferenceJoinUc.html":{"url":"injectables/VideoConferenceJoinUc.html","title":"injectable - VideoConferenceJoinUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n VideoConferenceJoinUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/uc/video-conference-join.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n join\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(bbbService: BBBService, userService: UserService, videoConferenceService: VideoConferenceService)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-join.uc.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n bbbService\n \n \n BBBService\n \n \n \n No\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n videoConferenceService\n \n \n VideoConferenceService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n join\n \n \n \n \n \n \n \n join(currentUserId: EntityId, scope: ScopeRef)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-join.uc.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUserId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n scope\n \n ScopeRef\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { UserService } from '@modules/user';\nimport { ErrorStatus } from '@modules/video-conference/error/error-status.enum';\nimport { ForbiddenException, Injectable } from '@nestjs/common';\nimport { UserDO, VideoConferenceDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { BBBJoinConfigBuilder, BBBRole, BBBService } from '../bbb';\nimport { PermissionMapping } from '../mapper/video-conference.mapper';\nimport { VideoConferenceService } from '../service';\nimport { ScopeRef, VideoConferenceJoin, VideoConferenceState } from './dto';\n\n@Injectable()\nexport class VideoConferenceJoinUc {\n\tconstructor(\n\t\tprivate readonly bbbService: BBBService,\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly videoConferenceService: VideoConferenceService\n\t) {}\n\n\tasync join(currentUserId: EntityId, scope: ScopeRef): Promise {\n\t\tconst user: UserDO = await this.userService.findById(currentUserId);\n\n\t\tawait this.videoConferenceService.throwOnFeaturesDisabled(user.schoolId);\n\n\t\tconst { role, isGuest } = await this.videoConferenceService.getUserRoleAndGuestStatusByUserIdForBbb(\n\t\t\tcurrentUserId,\n\t\t\tscope.id,\n\t\t\tscope.scope\n\t\t);\n\n\t\tconst joinBuilder: BBBJoinConfigBuilder = new BBBJoinConfigBuilder({\n\t\t\tfullName: this.videoConferenceService.sanitizeString(`${user.firstName} ${user.lastName}`),\n\t\t\tmeetingID: scope.id,\n\t\t\trole,\n\t\t})\n\t\t\t.withUserId(currentUserId)\n\t\t\t.asGuest(isGuest);\n\n\t\tconst videoConference: VideoConferenceDO = await this.videoConferenceService.findVideoConferenceByScopeIdAndScope(\n\t\t\tscope.id,\n\t\t\tscope.scope\n\t\t);\n\n\t\tif (videoConference.options.everybodyJoinsAsModerator && !isGuest) {\n\t\t\tjoinBuilder.withRole(BBBRole.MODERATOR);\n\t\t}\n\n\t\tif (\n\t\t\tvideoConference.options.moderatorMustApproveJoinRequests &&\n\t\t\t!videoConference.options.everybodyJoinsAsModerator\n\t\t) {\n\t\t\tjoinBuilder.asGuest(true);\n\t\t}\n\n\t\tif (!videoConference.options.moderatorMustApproveJoinRequests && isGuest) {\n\t\t\tthrow new ForbiddenException(\n\t\t\t\tErrorStatus.GUESTS_CANNOT_JOIN_CONFERENCE,\n\t\t\t\t'Guests cannot join this conference, since the waiting room is not enabled.'\n\t\t\t);\n\t\t}\n\n\t\tconst url: string = await this.bbbService.join(joinBuilder.build());\n\n\t\tconst videoConferenceJoin: VideoConferenceJoin = new VideoConferenceJoin({\n\t\t\tstate: VideoConferenceState.RUNNING,\n\t\t\tpermission: PermissionMapping[role],\n\t\t\turl,\n\t\t});\n\t\treturn videoConferenceJoin;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceMapper.html":{"url":"classes/VideoConferenceMapper.html","title":"class - VideoConferenceMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/mapper/video-conference.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n toVideoConferenceInfoResponse\n \n \n Static\n toVideoConferenceJoinResponse\n \n \n Static\n toVideoConferenceOptions\n \n \n Static\n toVideoConferenceStateResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n toVideoConferenceInfoResponse\n \n \n \n \n \n \n \n toVideoConferenceInfoResponse(videoConferenceInfo: VideoConferenceInfo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/mapper/video-conference.mapper.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n videoConferenceInfo\n \n VideoConferenceInfo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : VideoConferenceInfoResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n toVideoConferenceJoinResponse\n \n \n \n \n \n \n \n toVideoConferenceJoinResponse(videoConferenceJoin: VideoConferenceJoin)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/mapper/video-conference.mapper.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n videoConferenceJoin\n \n VideoConferenceJoin\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : VideoConferenceJoinResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n toVideoConferenceOptions\n \n \n \n \n \n \n \n toVideoConferenceOptions(params: VideoConferenceCreateParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/mapper/video-conference.mapper.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n VideoConferenceCreateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : VideoConferenceOptions\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n toVideoConferenceStateResponse\n \n \n \n \n \n \n \n toVideoConferenceStateResponse(state: VideoConferenceState)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/mapper/video-conference.mapper.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n VideoConferenceState\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : VideoConferenceStateResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Permission } from '@shared/domain/interface';\nimport { BBBRole } from '../bbb';\nimport {\n\tVideoConferenceCreateParams,\n\tVideoConferenceInfoResponse,\n\tVideoConferenceJoinResponse,\n\tVideoConferenceStateResponse,\n} from '../controller/dto';\nimport { VideoConferenceOptionsResponse } from '../controller/dto/response/video-conference-options.response';\nimport { VideoConferenceOptions, defaultVideoConferenceOptions } from '../interface';\nimport { VideoConferenceInfo, VideoConferenceJoin, VideoConferenceState } from '../uc/dto';\n\nexport const PermissionMapping = {\n\t[BBBRole.MODERATOR]: Permission.START_MEETING,\n\t[BBBRole.VIEWER]: Permission.JOIN_MEETING,\n};\n\nconst stateMapping = {\n\t[VideoConferenceState.NOT_STARTED]: VideoConferenceStateResponse.NOT_STARTED,\n\t[VideoConferenceState.RUNNING]: VideoConferenceStateResponse.RUNNING,\n\t[VideoConferenceState.FINISHED]: VideoConferenceStateResponse.FINISHED,\n};\n\nexport class VideoConferenceMapper {\n\tstatic toVideoConferenceInfoResponse(videoConferenceInfo: VideoConferenceInfo): VideoConferenceInfoResponse {\n\t\treturn new VideoConferenceInfoResponse({\n\t\t\tstate: this.toVideoConferenceStateResponse(videoConferenceInfo.state),\n\t\t\toptions: new VideoConferenceOptionsResponse(videoConferenceInfo.options),\n\t\t});\n\t}\n\n\tstatic toVideoConferenceJoinResponse(videoConferenceJoin: VideoConferenceJoin): VideoConferenceJoinResponse {\n\t\treturn new VideoConferenceJoinResponse({\n\t\t\turl: videoConferenceJoin.url,\n\t\t});\n\t}\n\n\tstatic toVideoConferenceStateResponse(state: VideoConferenceState): VideoConferenceStateResponse {\n\t\treturn stateMapping[state];\n\t}\n\n\tstatic toVideoConferenceOptions(params: VideoConferenceCreateParams): VideoConferenceOptions {\n\t\treturn {\n\t\t\teveryAttendeeJoinsMuted: params.everyAttendeeJoinsMuted ?? defaultVideoConferenceOptions.everyAttendeeJoinsMuted,\n\t\t\teverybodyJoinsAsModerator:\n\t\t\t\tparams.everybodyJoinsAsModerator ?? defaultVideoConferenceOptions.everybodyJoinsAsModerator,\n\t\t\tmoderatorMustApproveJoinRequests:\n\t\t\t\tparams.moderatorMustApproveJoinRequests ?? defaultVideoConferenceOptions.moderatorMustApproveJoinRequests,\n\t\t\tlogoutUrl: params.logoutUrl,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/VideoConferenceModule.html":{"url":"modules/VideoConferenceModule.html","title":"module - VideoConferenceModule","body":"\n \n\n\n\n\n Modules\n VideoConferenceModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_VideoConferenceModule\n\n\n\ncluster_VideoConferenceModule_exports\n\n\n\ncluster_VideoConferenceModule_imports\n\n\n\ncluster_VideoConferenceModule_providers\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nVideoConferenceModule\n\nVideoConferenceModule\n\nVideoConferenceModule -->\n\nAuthorizationModule->VideoConferenceModule\n\n\n\n\n\nAuthorizationReferenceModule\n\nAuthorizationReferenceModule\n\nVideoConferenceModule -->\n\nAuthorizationReferenceModule->VideoConferenceModule\n\n\n\n\n\nCalendarModule\n\nCalendarModule\n\nVideoConferenceModule -->\n\nCalendarModule->VideoConferenceModule\n\n\n\n\n\nLearnroomModule\n\nLearnroomModule\n\nVideoConferenceModule -->\n\nLearnroomModule->VideoConferenceModule\n\n\n\n\n\nLegacySchoolModule\n\nLegacySchoolModule\n\nVideoConferenceModule -->\n\nLegacySchoolModule->VideoConferenceModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nVideoConferenceModule -->\n\nLoggerModule->VideoConferenceModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nVideoConferenceModule -->\n\nUserModule->VideoConferenceModule\n\n\n\nVideoConferenceModule -->\n\nUserModule->VideoConferenceModule\n\n\n\n\n\nBBBService \n\nBBBService \n\nBBBService -->\n\nVideoConferenceModule->BBBService \n\n\n\n\n\nVideoConferenceService \n\nVideoConferenceService \n\nVideoConferenceService -->\n\nVideoConferenceModule->VideoConferenceService \n\n\n\n\n\nBBBService\n\nBBBService\n\nVideoConferenceModule -->\n\nBBBService->VideoConferenceModule\n\n\n\n\n\nConverterUtil\n\nConverterUtil\n\nVideoConferenceModule -->\n\nConverterUtil->VideoConferenceModule\n\n\n\n\n\nTeamsRepo\n\nTeamsRepo\n\nVideoConferenceModule -->\n\nTeamsRepo->VideoConferenceModule\n\n\n\n\n\nVideoConferenceDeprecatedUc\n\nVideoConferenceDeprecatedUc\n\nVideoConferenceModule -->\n\nVideoConferenceDeprecatedUc->VideoConferenceModule\n\n\n\n\n\nVideoConferenceRepo\n\nVideoConferenceRepo\n\nVideoConferenceModule -->\n\nVideoConferenceRepo->VideoConferenceModule\n\n\n\n\n\nVideoConferenceService\n\nVideoConferenceService\n\nVideoConferenceModule -->\n\nVideoConferenceService->VideoConferenceModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/video-conference/video-conference.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n BBBService\n \n \n ConverterUtil\n \n \n TeamsRepo\n \n \n VideoConferenceDeprecatedUc\n \n \n VideoConferenceRepo\n \n \n VideoConferenceService\n \n \n \n \n Controllers\n \n \n VideoConferenceDeprecatedController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n AuthorizationReferenceModule\n \n \n CalendarModule\n \n \n LearnroomModule\n \n \n LegacySchoolModule\n \n \n LoggerModule\n \n \n UserModule\n \n \n UserModule\n \n \n \n \n Exports\n \n \n BBBService\n \n \n VideoConferenceService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { HttpModule } from '@nestjs/axios';\nimport { CalendarModule } from '@infra/calendar';\nimport { VideoConferenceRepo } from '@shared/repo/videoconference/video-conference.repo';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { AuthorizationReferenceModule } from '@modules/authorization/authorization-reference.module';\nimport { TeamsRepo } from '@shared/repo';\nimport { LegacySchoolModule } from '@modules/legacy-school';\nimport { LoggerModule } from '@src/core/logger';\nimport { ConverterUtil } from '@shared/common';\nimport { UserModule } from '@modules/user';\nimport { BBBService, BbbSettings } from './bbb';\nimport { VideoConferenceService } from './service';\nimport { VideoConferenceDeprecatedUc } from './uc';\nimport { VideoConferenceDeprecatedController } from './controller';\nimport VideoConferenceConfiguration from './video-conference-config';\nimport { VideoConferenceSettings } from './interface';\nimport { LearnroomModule } from '../learnroom';\n\n@Module({\n\timports: [\n\t\tAuthorizationModule,\n\t\tAuthorizationReferenceModule, // can be removed wenn video-conference-deprecated is removed\n\t\tCalendarModule,\n\t\tHttpModule,\n\t\tLegacySchoolModule,\n\t\tLoggerModule,\n\t\tUserModule,\n\t\tLearnroomModule,\n\t\tUserModule,\n\t],\n\tproviders: [\n\t\t{\n\t\t\tprovide: VideoConferenceSettings,\n\t\t\tuseValue: VideoConferenceConfiguration.videoConference,\n\t\t},\n\t\t{\n\t\t\tprovide: BbbSettings,\n\t\t\tuseValue: VideoConferenceConfiguration.bbb,\n\t\t},\n\t\tBBBService,\n\t\tVideoConferenceRepo,\n\t\t// TODO: N21-1010 clean up video conferences - remove repos\n\t\tTeamsRepo,\n\t\tConverterUtil,\n\t\tVideoConferenceService,\n\t\t// TODO: N21-885 remove VideoConferenceDeprecatedUc from providers\n\t\tVideoConferenceDeprecatedUc,\n\t],\n\t// TODO: N21-885 remove VideoConferenceDeprecatedController from exports\n\tcontrollers: [VideoConferenceDeprecatedController],\n\texports: [BBBService, VideoConferenceService],\n})\nexport class VideoConferenceModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceOptions.html":{"url":"classes/VideoConferenceOptions.html","title":"class - VideoConferenceOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/video-conference.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n everyAttendeJoinsMuted\n \n \n everybodyJoinsAsModerator\n \n \n moderatorMustApproveJoinRequests\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(options: VideoConferenceOptions)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/video-conference.entity.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n \n VideoConferenceOptions\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n everyAttendeJoinsMuted\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/video-conference.entity.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n everybodyJoinsAsModerator\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/video-conference.entity.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n moderatorMustApproveJoinRequests\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/video-conference.entity.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Entity, Index, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport enum TargetModels {\n\tCOURSES = 'courses',\n\tEVENTS = 'events',\n}\n\nexport class VideoConferenceOptions {\n\teveryAttendeJoinsMuted: boolean;\n\n\teverybodyJoinsAsModerator: boolean;\n\n\tmoderatorMustApproveJoinRequests: boolean;\n\n\tconstructor(options: VideoConferenceOptions) {\n\t\tthis.everyAttendeJoinsMuted = options.everyAttendeJoinsMuted;\n\t\tthis.everybodyJoinsAsModerator = options.everybodyJoinsAsModerator;\n\t\tthis.moderatorMustApproveJoinRequests = options.moderatorMustApproveJoinRequests;\n\t}\n}\n\nexport type IVideoConferenceProperties = Readonly>;\n\n// Preset options for opening a video conference\n@Entity({ tableName: 'videoconferences' })\n@Index({ properties: ['target', 'targetModel'] })\nexport class VideoConference extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Index()\n\ttarget: string;\n\n\t@Property()\n\ttargetModel: TargetModels;\n\n\t@Property()\n\toptions: VideoConferenceOptions;\n\n\tconstructor(props: IVideoConferenceProperties) {\n\t\tsuper();\n\t\tthis.target = props.target;\n\t\tthis.targetModel = props.targetModel;\n\t\tthis.options = props.options;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceOptionsDO.html":{"url":"classes/VideoConferenceOptionsDO.html","title":"class - VideoConferenceOptionsDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceOptionsDO\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/video-conference.do.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n everyAttendeeJoinsMuted\n \n \n everybodyJoinsAsModerator\n \n \n moderatorMustApproveJoinRequests\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(options: VideoConferenceOptionsDO)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/video-conference.do.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n \n VideoConferenceOptionsDO\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n everyAttendeeJoinsMuted\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/video-conference.do.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n everybodyJoinsAsModerator\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/video-conference.do.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n moderatorMustApproveJoinRequests\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/video-conference.do.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { VideoConferenceScope } from '@shared/domain/interface/video-conference-scope.enum';\nimport { BaseDO } from './base.do';\n\nexport class VideoConferenceOptionsDO {\n\teveryAttendeeJoinsMuted: boolean;\n\n\teverybodyJoinsAsModerator: boolean;\n\n\tmoderatorMustApproveJoinRequests: boolean;\n\n\tconstructor(options: VideoConferenceOptionsDO) {\n\t\tthis.everyAttendeeJoinsMuted = options.everyAttendeeJoinsMuted;\n\t\tthis.everybodyJoinsAsModerator = options.everybodyJoinsAsModerator;\n\t\tthis.moderatorMustApproveJoinRequests = options.moderatorMustApproveJoinRequests;\n\t}\n}\n\nexport class VideoConferenceDO extends BaseDO {\n\ttarget: string;\n\n\ttargetModel: VideoConferenceScope;\n\n\toptions: VideoConferenceOptionsDO;\n\n\tconstructor(domainObject: VideoConferenceDO) {\n\t\tsuper(domainObject.id);\n\n\t\tthis.target = domainObject.target;\n\t\tthis.targetModel = domainObject.targetModel;\n\t\tthis.options = domainObject.options;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceOptionsResponse.html":{"url":"classes/VideoConferenceOptionsResponse.html","title":"class - VideoConferenceOptionsResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceOptionsResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/controller/dto/response/video-conference-options.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n everyAttendeeJoinsMuted\n \n \n \n everybodyJoinsAsModerator\n \n \n \n moderatorMustApproveJoinRequests\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(resp: VideoConferenceOptionsResponse)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-options.response.ts:20\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n resp\n \n \n VideoConferenceOptionsResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n everyAttendeeJoinsMuted\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Every attendee joins muted', example: false})\n \n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-options.response.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n everybodyJoinsAsModerator\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Every attendee joins as a moderator', example: false})\n \n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-options.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n moderatorMustApproveJoinRequests\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Moderator must approve join requests', example: true})\n \n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-options.response.ts:20\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class VideoConferenceOptionsResponse {\n\t@ApiProperty({\n\t\tdescription: 'Every attendee joins muted',\n\t\texample: false,\n\t})\n\teveryAttendeeJoinsMuted: boolean;\n\n\t@ApiProperty({\n\t\tdescription: 'Every attendee joins as a moderator',\n\t\texample: false,\n\t})\n\teverybodyJoinsAsModerator: boolean;\n\n\t@ApiProperty({\n\t\tdescription: 'Moderator must approve join requests',\n\t\texample: true,\n\t})\n\tmoderatorMustApproveJoinRequests: boolean;\n\n\tconstructor(resp: VideoConferenceOptionsResponse) {\n\t\tthis.everyAttendeeJoinsMuted = resp.everyAttendeeJoinsMuted;\n\t\tthis.everybodyJoinsAsModerator = resp.everybodyJoinsAsModerator;\n\t\tthis.moderatorMustApproveJoinRequests = resp.moderatorMustApproveJoinRequests;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/VideoConferenceRepo.html":{"url":"injectables/VideoConferenceRepo.html","title":"injectable - VideoConferenceRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n VideoConferenceRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/videoconference/video-conference.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseDORepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n entityFactory\n \n \n Async\n findByScopeAndScopeId\n \n \n Protected\n mapDOToEntityProperties\n \n \n Protected\n mapEntityToDO\n \n \n Private\n createEntity\n \n \n Protected\n createNewEntityFromDO\n \n \n Async\n delete\n \n \n Async\n deleteById\n \n \n Private\n deleteEntityById\n \n \n Async\n findById\n \n \n Private\n removeProtectedEntityFields\n \n \n Async\n save\n \n \n Async\n saveAll\n \n \n Private\n Async\n updateEntity\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n entityFactory\n \n \n \n \n \n \nentityFactory(props: IVideoConferenceProperties)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:25\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n IVideoConferenceProperties\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : VideoConference\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByScopeAndScopeId\n \n \n \n \n \n \n \n findByScopeAndScopeId(scopeId: string, videoConferenceScope: VideoConferenceScope)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/videoconference/video-conference.repo.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n scopeId\n \n string\n \n\n \n No\n \n\n\n \n \n videoConferenceScope\n \n VideoConferenceScope\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n mapDOToEntityProperties\n \n \n \n \n \n \n \n mapDOToEntityProperties(entityDO: VideoConferenceDO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:51\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n VideoConferenceDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : IVideoConferenceProperties\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n mapEntityToDO\n \n \n \n \n \n \n \n mapEntityToDO(entity: VideoConference)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:38\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n VideoConference\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : VideoConferenceDO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createEntity\n \n \n \n \n \n \n \n createEntity(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:44\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : E\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n createNewEntityFromDO\n \n \n \n \n \n \n \n createNewEntityFromDO(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:65\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : E\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(domainObjects: DO[] | DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:87\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[] | DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteById\n \n \n \n \n \n \n [object Object],[object Object],[object Object]\n \n \n \n \n \n deleteById(id: EntityId | EntityId[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:100\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n deleteEntityById\n \n \n \n \n \n \n \n deleteEntityById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:113\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:118\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeProtectedEntityFields\n \n \n \n \n \n \n \n removeProtectedEntityFields(entity: E)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:79\n\n \n \n\n\n \n \n Ignore base entity properties when updating entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n E\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entityDo: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:21\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDo\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAll\n \n \n \n \n \n \n \n saveAll(entityDos: DO[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDos\n \n DO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n updateEntity\n \n \n \n \n \n \n \n updateEntity(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:52\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/videoconference/video-conference.repo.ts:21\n \n \n\n \n \n\n \n\n\n \n import { EntityName, Loaded } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\nimport { VideoConferenceDO } from '@shared/domain/domainobject';\nimport { IVideoConferenceProperties } from '@shared/domain/entity';\nimport { TargetModels, VideoConference } from '@shared/domain/entity/video-conference.entity';\nimport { VideoConferenceScope } from '@shared/domain/interface';\nimport { BaseDORepo } from '@shared/repo/base.do.repo';\n\nconst TargetModelsMapping = {\n\t[VideoConferenceScope.EVENT]: TargetModels.EVENTS,\n\t[VideoConferenceScope.COURSE]: TargetModels.COURSES,\n};\n\nconst VideoConferencingScopeMapping = {\n\t[TargetModels.EVENTS]: VideoConferenceScope.EVENT,\n\t[TargetModels.COURSES]: VideoConferenceScope.COURSE,\n};\n\n@Injectable()\nexport class VideoConferenceRepo extends BaseDORepo {\n\tget entityName(): EntityName {\n\t\treturn VideoConference;\n\t}\n\n\tentityFactory(props: IVideoConferenceProperties): VideoConference {\n\t\treturn new VideoConference(props);\n\t}\n\n\tasync findByScopeAndScopeId(scopeId: string, videoConferenceScope: VideoConferenceScope): Promise {\n\t\tconst entity: Loaded = await this._em.findOneOrFail(VideoConference, {\n\t\t\ttarget: scopeId,\n\t\t\ttargetModel: TargetModelsMapping[videoConferenceScope],\n\t\t});\n\n\t\treturn this.mapEntityToDO(entity);\n\t}\n\n\tprotected mapEntityToDO(entity: VideoConference): VideoConferenceDO {\n\t\treturn new VideoConferenceDO({\n\t\t\tid: entity.id,\n\t\t\ttarget: entity.target,\n\t\t\ttargetModel: VideoConferencingScopeMapping[entity.targetModel],\n\t\t\toptions: {\n\t\t\t\teverybodyJoinsAsModerator: entity.options.everybodyJoinsAsModerator,\n\t\t\t\teveryAttendeeJoinsMuted: entity.options.everyAttendeJoinsMuted,\n\t\t\t\tmoderatorMustApproveJoinRequests: entity.options.moderatorMustApproveJoinRequests,\n\t\t\t},\n\t\t});\n\t}\n\n\tprotected mapDOToEntityProperties(entityDO: VideoConferenceDO): IVideoConferenceProperties {\n\t\treturn {\n\t\t\ttarget: entityDO.target,\n\t\t\ttargetModel: TargetModelsMapping[entityDO.targetModel],\n\t\t\toptions: {\n\t\t\t\teverybodyJoinsAsModerator: entityDO.options.everybodyJoinsAsModerator,\n\t\t\t\teveryAttendeJoinsMuted: entityDO.options.everyAttendeeJoinsMuted,\n\t\t\t\tmoderatorMustApproveJoinRequests: entityDO.options.moderatorMustApproveJoinRequests,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceResponseDeprecatedMapper.html":{"url":"classes/VideoConferenceResponseDeprecatedMapper.html","title":"class - VideoConferenceResponseDeprecatedMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceResponseDeprecatedMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/mapper/vc-deprecated-response.mapper.ts\n \n\n \n Deprecated\n \n \n Please use the VideoConferenceResponseMapper instead.\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToBaseResponse\n \n \n Static\n mapToInfoResponse\n \n \n Static\n mapToJoinResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToBaseResponse\n \n \n \n \n \n \n \n mapToBaseResponse(from: VideoConference)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/mapper/vc-deprecated-response.mapper.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n from\n \n VideoConference\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : VideoConferenceBaseResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToInfoResponse\n \n \n \n \n \n \n \n mapToInfoResponse(from: VideoConferenceInfo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/mapper/vc-deprecated-response.mapper.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n from\n \n VideoConferenceInfo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeprecatedVideoConferenceInfoResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToJoinResponse\n \n \n \n \n \n \n \n mapToJoinResponse(from: VideoConferenceJoin)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/mapper/vc-deprecated-response.mapper.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n from\n \n VideoConferenceJoin\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeprecatedVideoConferenceJoinResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BBBBaseResponse } from '../bbb';\nimport {\n\tDeprecatedVideoConferenceInfoResponse,\n\tDeprecatedVideoConferenceJoinResponse,\n\tVideoConferenceBaseResponse,\n} from '../controller/dto/response/video-conference-deprecated.response';\nimport { VideoConference, VideoConferenceInfo, VideoConferenceJoin } from '../uc/dto';\nimport { VideoConferenceMapper } from './video-conference.mapper';\n\n/**\n * @deprecated Please use the VideoConferenceResponseMapper instead.\n */\nexport class VideoConferenceResponseDeprecatedMapper {\n\tstatic mapToBaseResponse(from: VideoConference): VideoConferenceBaseResponse {\n\t\treturn new VideoConferenceBaseResponse({\n\t\t\tstate: VideoConferenceMapper.toVideoConferenceStateResponse(from.state),\n\t\t\tpermission: from.permission,\n\t\t});\n\t}\n\n\tstatic mapToJoinResponse(from: VideoConferenceJoin): DeprecatedVideoConferenceJoinResponse {\n\t\treturn new DeprecatedVideoConferenceJoinResponse({\n\t\t\tstate: VideoConferenceMapper.toVideoConferenceStateResponse(from.state),\n\t\t\tpermission: from.permission,\n\t\t\turl: from.url,\n\t\t});\n\t}\n\n\tstatic mapToInfoResponse(from: VideoConferenceInfo): DeprecatedVideoConferenceInfoResponse {\n\t\treturn new DeprecatedVideoConferenceInfoResponse({\n\t\t\tstate: VideoConferenceMapper.toVideoConferenceStateResponse(from.state),\n\t\t\tpermission: from.permission,\n\t\t\toptions: from.options,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceScopeParams.html":{"url":"classes/VideoConferenceScopeParams.html","title":"class - VideoConferenceScopeParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceScopeParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/controller/dto/request/video-conference-scope.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n scope\n \n \n \n \n scopeId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n scope\n \n \n \n \n \n \n Type : VideoConferenceScope\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({nullable: false, required: true, enum: VideoConferenceScope, enumName: 'VideoConferenceScope'})@IsEnum(VideoConferenceScope)\n \n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/request/video-conference-scope.params.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n scopeId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({nullable: false, required: true})@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/request/video-conference-scope.params.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { VideoConferenceScope } from '@shared/domain/interface';\nimport { IsEnum, IsMongoId } from 'class-validator';\n\nexport class VideoConferenceScopeParams {\n\t@ApiProperty({ nullable: false, required: true, enum: VideoConferenceScope, enumName: 'VideoConferenceScope' })\n\t@IsEnum(VideoConferenceScope)\n\tscope!: VideoConferenceScope;\n\n\t@ApiProperty({ nullable: false, required: true })\n\t@IsMongoId()\n\tscopeId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VisibilitySettingsResponse.html":{"url":"classes/VisibilitySettingsResponse.html","title":"class - VisibilitySettingsResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VisibilitySettingsResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/card/visibility-settings.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n publishedAt\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: VisibilitySettingsResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/visibility-settings.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n VisibilitySettingsResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n publishedAt\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/visibility-settings.response.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\n\nexport class VisibilitySettingsResponse {\n\tconstructor({ publishedAt }: VisibilitySettingsResponse) {\n\t\tthis.publishedAt = publishedAt;\n\t}\n\n\t@ApiPropertyOptional()\n\tpublishedAt?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/WsSharedDocDo.html":{"url":"classes/WsSharedDocDo.html","title":"class - WsSharedDocDo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n WsSharedDocDo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/domain/ws-shared-doc.do.ts\n \n\n\n\n \n Extends\n \n \n Doc\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Public\n awareness\n \n \n Public\n awarenessChangeHandler\n \n \n Public\n conns\n \n \n Public\n name\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n manageClientsConnections\n \n \n Private\n prepareAwarenessMessage\n \n \n Private\n sendAwarenessMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(name: string, tldrawService: TldrawWsService, gcEnabled)\n \n \n \n \n Defined in apps/server/src/modules/tldraw/domain/ws-shared-doc.do.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n \n string\n \n \n \n No\n \n \n \n \n tldrawService\n \n \n TldrawWsService\n \n \n \n No\n \n \n \n \n gcEnabled\n \n \n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Public\n awareness\n \n \n \n \n \n \n Type : Awareness\n\n \n \n \n \n Defined in apps/server/src/modules/tldraw/domain/ws-shared-doc.do.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n awarenessChangeHandler\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/modules/tldraw/domain/ws-shared-doc.do.ts:37\n \n \n\n\n \n \n \n Parameters :\n \n \n \n Name\n Description\n \n \n \n \n changes\n \n \n \n \n wsConnection\n \n Origin is the connection that made the change\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n conns\n \n \n \n \n \n \n Type : Map>\n\n \n \n \n \n Defined in apps/server/src/modules/tldraw/domain/ws-shared-doc.do.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tldraw/domain/ws-shared-doc.do.ts:9\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n manageClientsConnections\n \n \n \n \n \n \n \n manageClientsConnections(undefined: literal type, wsConnection: WebSocket | null)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/domain/ws-shared-doc.do.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n \n literal type\n \n\n \n No\n \n\n\n \n \n \n \n wsConnection\n \n WebSocket | null\n \n\n \n No\n \n\n\n \n Origin is the connection that made the change\n\n \n \n \n \n \n \n Returns : number[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n prepareAwarenessMessage\n \n \n \n \n \n \n \n prepareAwarenessMessage(changedClients: number[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/domain/ws-shared-doc.do.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n changedClients\n \n number[]\n \n\n \n No\n \n\n\n \n array of changed clients\n\n \n \n \n \n \n \n Returns : Uint8Array\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n sendAwarenessMessage\n \n \n \n \n \n \n \n sendAwarenessMessage(buff: Uint8Array)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/domain/ws-shared-doc.do.ts:83\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n buff\n \n Uint8Array\n \n\n \n No\n \n\n\n \n encoded message about changes\n\n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Doc } from 'yjs';\nimport WebSocket from 'ws';\nimport { Awareness, encodeAwarenessUpdate } from 'y-protocols/awareness';\nimport { encoding } from 'lib0';\nimport { TldrawWsService } from '@modules/tldraw/service';\nimport { WSMessageType } from '../types/connection-enum';\n\nexport class WsSharedDocDo extends Doc {\n\tpublic name: string;\n\n\tpublic conns: Map>;\n\n\tpublic awareness: Awareness;\n\n\t/**\n\t * @param {string} name\n\t * @param {TldrawWsService} tldrawService\n\t * @param {boolean} gcEnabled\n\t */\n\tconstructor(name: string, private tldrawService: TldrawWsService, gcEnabled = true) {\n\t\tsuper({ gc: gcEnabled });\n\t\tthis.name = name;\n\t\tthis.conns = new Map();\n\t\tthis.awareness = new Awareness(this);\n\t\tthis.awareness.setLocalState(null);\n\n\t\tthis.awareness.on('update', this.awarenessChangeHandler);\n\t\tthis.on('update', (update: Uint8Array, origin, doc: WsSharedDocDo) => {\n\t\t\tthis.tldrawService.updateHandler(update, origin, doc);\n\t\t});\n\t}\n\n\t/**\n\t * @param {{ added: Array, updated: Array, removed: Array }} changes\n\t * @param {WebSocket | null} wsConnection Origin is the connection that made the change\n\t */\n\tpublic awarenessChangeHandler = (\n\t\t{ added, updated, removed }: { added: Array; updated: Array; removed: Array },\n\t\twsConnection: WebSocket | null\n\t): void => {\n\t\tconst changedClients = this.manageClientsConnections({ added, updated, removed }, wsConnection);\n\t\tconst buff = this.prepareAwarenessMessage(changedClients);\n\t\tthis.sendAwarenessMessage(buff);\n\t};\n\n\t/**\n\t * @param {{ added: Array, updated: Array, removed: Array }} changes\n\t * @param {WebSocket | null} wsConnection Origin is the connection that made the change\n\t */\n\tprivate manageClientsConnections(\n\t\t{ added, updated, removed }: { added: Array; updated: Array; removed: Array },\n\t\twsConnection: WebSocket | null\n\t): number[] {\n\t\tconst changedClients = added.concat(updated, removed);\n\t\tif (wsConnection !== null) {\n\t\t\tconst connControlledIDs = this.conns.get(wsConnection);\n\t\t\tif (connControlledIDs !== undefined) {\n\t\t\t\tadded.forEach((clientID) => {\n\t\t\t\t\tconnControlledIDs.add(clientID);\n\t\t\t\t});\n\t\t\t\tremoved.forEach((clientID) => {\n\t\t\t\t\tconnControlledIDs.delete(clientID);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn changedClients;\n\t}\n\n\t/**\n\t * @param changedClients array of changed clients\n\t */\n\tprivate prepareAwarenessMessage(changedClients: number[]): Uint8Array {\n\t\tconst encoder = encoding.createEncoder();\n\t\tencoding.writeVarUint(encoder, WSMessageType.AWARENESS);\n\t\tencoding.writeVarUint8Array(encoder, encodeAwarenessUpdate(this.awareness, changedClients));\n\t\tconst message = encoding.toUint8Array(encoder);\n\t\treturn message;\n\t}\n\n\t/**\n\t * @param {{ Uint8Array }} buff encoded message about changes\n\t */\n\tprivate sendAwarenessMessage(buff: Uint8Array): void {\n\t\tthis.conns.forEach((_, c) => {\n\t\t\tthis.tldrawService.send(this, c, buff);\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/XApiKeyConfig.html":{"url":"interfaces/XApiKeyConfig.html","title":"interface - XApiKeyConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n XApiKeyConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/config/x-api-key.config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n ADMIN_API__ALLOWED_API_KEYS\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n ADMIN_API__ALLOWED_API_KEYS\n \n \n \n \n \n \n \n \n ADMIN_API__ALLOWED_API_KEYS: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface XApiKeyConfig {\n\tADMIN_API__ALLOWED_API_KEYS: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/XApiKeyStrategy.html":{"url":"injectables/XApiKeyStrategy.html","title":"injectable - XApiKeyStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n XApiKeyStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/strategy/x-api-key.strategy.ts\n \n\n\n\n \n Extends\n \n \n PassportStrategy(Strategy, 'api-key')\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n allowedApiKeys\n \n \n Public\n validate\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(configService: ConfigService)\n \n \n \n \n Defined in apps/server/src/modules/authentication/strategy/x-api-key.strategy.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n allowedApiKeys\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in apps/server/src/modules/authentication/strategy/x-api-key.strategy.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n validate\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/modules/authentication/strategy/x-api-key.strategy.ts:16\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable, UnauthorizedException } from '@nestjs/common';\nimport { PassportStrategy } from '@nestjs/passport';\nimport { ConfigService } from '@nestjs/config';\nimport Strategy from 'passport-headerapikey';\nimport { XApiKeyConfig } from '../config/x-api-key.config';\n\n@Injectable()\nexport class XApiKeyStrategy extends PassportStrategy(Strategy, 'api-key') {\n\tprivate readonly allowedApiKeys: string[];\n\n\tconstructor(private readonly configService: ConfigService) {\n\t\tsuper({ header: 'X-API-KEY' }, false);\n\t\tthis.allowedApiKeys = this.configService.get('ADMIN_API__ALLOWED_API_KEYS');\n\t}\n\n\tpublic validate = (apiKey: string, done: (error: Error | null, data: boolean | null) => void) => {\n\t\tif (this.allowedApiKeys.includes(apiKey)) {\n\t\t\tdone(null, true);\n\t\t}\n\t\tdone(new UnauthorizedException(), null);\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"dependencies.html":{"url":"dependencies.html","title":"package-dependencies - dependencies","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n Dependencies\n \n \n \n @aws-sdk/lib-storage : ^3.100.0\n \n @feathersjs/authentication : ^4.5.16\n \n @feathersjs/authentication-local : ^4.5.11\n \n @feathersjs/configuration : ^4.5.11\n \n @feathersjs/errors : ^4.5.11\n \n @feathersjs/express : ^4.5.11\n \n @feathersjs/feathers : ^4.5.11\n \n @golevelup/nestjs-rabbitmq : ^4.0.0\n \n @hendt/xml2json : ^1.0.3\n \n @hpi-schul-cloud/commons : ^1.3.4\n \n @keycloak/keycloak-admin-client : ^21.1.2\n \n @lumieducation/h5p-server : ^9.2.0\n \n @mikro-orm/core : ^5.4.2\n \n @mikro-orm/mongodb : ^5.4.2\n \n @mikro-orm/nestjs : ^5.2.1\n \n @nestjs/axios : ^3.0.0\n \n @nestjs/cache-manager : ^2.1.0\n \n @nestjs/common : ^10.2.4\n \n @nestjs/config : ^3.0.1\n \n @nestjs/core : ^10.2.4\n \n @nestjs/jwt : ^10.1.1\n \n @nestjs/microservices : ^10.2.4\n \n @nestjs/passport : ^10.0.1\n \n @nestjs/platform-express : ^10.2.4\n \n @nestjs/platform-ws : ^10.2.4\n \n @nestjs/swagger : ^7.1.10\n \n @nestjs/websockets : ^10.2.4\n \n @types/cache-manager-redis-store : ^2.0.1\n \n @types/connect-redis : ^0.0.19\n \n @types/gm : ^1.25.1\n \n @types/ldapjs : ^2.2.5\n \n @types/redis : ^2.8.32\n \n @types/xml2js : ^0.4.11\n \n adm-zip : ^0.5.9\n \n ajv : ^8.8.2\n \n amqp-connection-manager : ^3.2.2\n \n amqplib : ^0.8.0\n \n arg : ^5.0.0\n \n args : ^5.0.1\n \n async : ^3.2.2\n \n async-mutex : ^0.4.0\n \n aws-sdk : ^2.1375.0\n \n axios : ^1.5.0\n \n axios-mock-adapter : ^1.21.2\n \n bbb-promise : ^1.2.0\n \n bcryptjs : *\n \n body-parser : ^1.15.2\n \n bson : ^4.6.0\n \n busboy : ^1.6.0\n \n cache-manager : ^2.9.0\n \n cache-manager-redis-store : ^2.0.0\n \n chalk : ^5.0.0\n \n clamscan : ^2.1.2\n \n class-transformer : ^0.4.0\n \n class-validator : ^0.14.0\n \n client-oauth2 : ^4.2.5\n \n commander : ^8.1.0\n \n compression : ^1.6.2\n \n concurrently : ^6.0.0\n \n connect-redis : ^6.1.3\n \n cors : ^2.8.1\n \n cross-env : ^7.0.0\n \n crypto-js : ^4.2.0\n \n disposable-email-domains : ^1.0.56\n \n es6-promisify : ^7.0.0\n \n express : ^4.14.0\n \n express-openapi-validator : ^4.13.2\n \n express-session : ^1.17.3\n \n feathers-hooks-common : ^5.0.3\n \n feathers-mongoose : ^6.3.0\n \n feathers-swagger : ^3.0.0\n \n file-type : ^18.5.0\n \n freeport : ^1.0.5\n \n gm : ^1.25.0\n \n html-entities : ^2.3.2\n \n i18next : ^23.3.0\n \n i18next-fs-backend : ^2.1.5\n \n jose : ^1.28.1\n \n jsonwebtoken : ^9.0.0\n \n jwks-rsa : ^2.0.5\n \n ldapjs : git://github.com/hpi-schul-cloud/node-ldapjs.git\n \n lodash : ^4.17.19\n \n migrate-mongoose : ^4.0.0\n \n mixwith : ^0.1.1\n \n moment : ^2.19.2\n \n mongodb-uri : ^0.9.7\n \n mongoose : ^5.13.20\n \n mongoose-delete : ^0.5.4\n \n mongoose-id-validator : ^0.6.0\n \n mongoose-lean-virtuals : ^0.8.1\n \n mongoose-shortid-nodeps : git://github.com/leeroybrun/mongoose-shortid-nodeps.git\n \n moodle-client : ^0.5.2\n \n nanoid : ^3.3.4\n \n nest-winston : ^1.9.4\n \n nestjs-console : ^9.0.0\n \n oauth-1.0a : ^2.2.6\n \n open-graph-scraper : ^6.2.2\n \n p-limit : ^3.1.0\n \n papaparse : ^5.1.1\n \n passport : ^0.6.0\n \n passport-custom : ^1.1.1\n \n passport-headerapikey : ^1.2.2\n \n passport-jwt : ^4.0.1\n \n passport-local : ^1.0.0\n \n prom-client : ^13.1.0\n \n qs : ^6.9.7\n \n read-chunk : ^3.0.0\n \n redis : ^3.0.0\n \n reflect-metadata : ^0.1.13\n \n request-promise-core : ^1.1.4\n \n request-promise-native : ^1.0.3\n \n response-time : ^2.3.2\n \n rimraf : ^3.0.2\n \n rss-parser : ^3.13.0\n \n rxjs : ^7.3.1\n \n sanitize-html : ^2.1.0\n \n serve-favicon : ^2.3.2\n \n service : ^0.1.4\n \n socketio-file-upload : ^0.7.0\n \n source-map-support : ^0.5.19\n \n strip-bom : ^4.0.0\n \n swagger-ui-dist : ^4.18.2\n \n swagger-ui-express : ^4.1.6\n \n tiny-async-pool : ^1.2.0\n \n universal-analytics : ^0.5.1\n \n urlsafe-base64 : ^1.0.0\n \n uuid : ^8.3.0\n \n winston : ^3.8.2\n \n y-mongodb-provider : ^0.1.7\n \n y-protocols : ^1.0.5\n \n yjs : ^13.6.7\n \n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"index.html":{"url":"index.html","title":"getting-started - index","body":"\n \n\nSchul-Cloud Server\n\n\n\nNestJS application\n\nFind the NestJS applications documentation of this repository at GitHub pages. It contains information about\n\n\nsetup & preconditions\nstarting the application\ntesting\ntools setup (VSCode, Git)\narchitecture\n\nBased on NestJS\nFeathers application\nThis is legacy part of the application!\nBased on Node.js and Feathers\nApplication seperation\nIn order to seperate NestJS and Feathers each application runs in its own express instance. These express instances are then mounted on seperate paths under a common root express instance.\nExample :Root-Express-App \n├─ api/v1/ --> Feathers-App\n├─ api/v3/ --> NestJS-AppThis ensures that each application can run its own middleware stack for authentication, error handling, logging etc.\nThe mount paths don't have any impact on the routes inside of the applications, e.g. the path /api/v3/news will translate to the inner path /news. That means that in terms of route matching each child application doesn't have to take any measures regarding the path prefix. It simply works as it was mounted to /.\nHowever note that when URLs are generated inside a child application the path prefix has to be prepended. Only then the generated URLs match the appropriate child application, e.g. the path /news has to be provided as the external path /api/v3/news.\nIt is possible (not very likely) that the server api is called with URLs that use the old schema without a path prefix. As a safety net for that we additionally mount the Feathers application as before under the paths:\n\n/ - for internal calls\n/api - for external calls\n\nWhen these paths are accessed an error with context [DEPRECATED-PATH] is logged.\nSetup\nThe whole application setup with all dependencies can be found in System Architecture. It contains information about how different application components are connected to each other.\nDebugger Configuration in Visual Studio Code\nFor more details how to set up Visual Studio Code, read this document.\nHow to name your branch and create a pull request (PR)\n\nTake the Ticket Number from JIRA (ticketsystem.dbildungscloud.de), e.g. SC-999\nName the feature branch beginning with Ticket Number, all words separated by dash \"-\", e.g. feature/SC-999-fantasy-problem\nCreate a PR on branch develop containing the Ticket Number in PR title\nKeep the WIP label as long as this PR is in development, complete PR checklist (is automatically added), keep or increase code test coverage, and pass all tests before you remove the WIP label. Reviewers will be added automatically.\n\nCommitting\nDefault branch: main\n\nGo into project folder\nCheckout to develop branch (or clone for the first time)\nRun git pull\nCreate a branch for your new feature named feature/BC-Ticket-ID-Description\nRun the tests (see above)\nCommit with a meaningful commit message(!) even at 4 a.m. and not stuff like \"dfsdfsf\"\nStart a pull request (see above) to branch develop to merge your changes\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"license.html":{"url":"license.html","title":"getting-started - license","body":"\n \n\nExample : GNU AFFERO GENERAL PUBLIC LICENSE\n Version 3, 19 November 2007 Copyright (C) 2007 Free Software Foundation, Inc. http://fsf.org/\n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\nExample : Preamble The GNU Affero General Public License is a free, copyleft license for\nsoftware and other kinds of works, specifically designed to ensure\ncooperation with the community in the case of network server software.\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nour General Public Licenses are intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users.\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n Developers that use our General Public Licenses protect your rights\nwith two steps: (1) assert copyright on the software, and (2) offer\nyou this License which gives you legal permission to copy, distribute\nand/or modify the software.\n A secondary benefit of defending all users' freedom is that\nimprovements made in alternate versions of the program, if they\nreceive widespread use, become available for other developers to\nincorporate. Many developers of free software are heartened and\nencouraged by the resulting cooperation. However, in the case of\nsoftware used on network servers, this result may fail to come about.\nThe GNU General Public License permits making a modified version and\nletting the public access it on a server without ever releasing its\nsource code to the public.\n The GNU Affero General Public License is designed specifically to\nensure that, in such cases, the modified source code becomes available\nto the community. It requires the operator of a network server to\nprovide the source code of the modified version running there to the\nusers of that server. Therefore, public use of a modified version, on\na publicly accessible server, gives the public access to the source\ncode of the modified version.\n An older license, called the Affero General Public License and\npublished by Affero, was designed to accomplish similar goals. This is\na different license, not a version of the Affero GPL, but Affero has\nreleased a new version of the Affero GPL which permits relicensing under\nthis license.\n The precise terms and conditions for copying, distribution and\nmodification follow.\nExample : TERMS AND CONDITIONS\nDefinitions.\n\n \"This License\" refers to version 3 of the GNU Affero General Public License.\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\nSource Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n The Corresponding Source for a work in source code form is that\nsame work.\n\nBasic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\nProtecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\nConveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\nConveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\nExample :a) The work must carry prominent notices stating that you modified\nit, and giving a relevant date.\n\nb) The work must carry prominent notices stating that it is\nreleased under this License and any conditions added under section\n7. This requirement modifies the requirement in section 4 to\n\"keep intact all notices\".\n\nc) You must license the entire work, as a whole, under this\nLicense to anyone who comes into possession of a copy. This\nLicense will therefore apply, along with any applicable section 7\nadditional terms, to the whole of the work, and all its parts,\nregardless of how they are packaged. This License gives no\npermission to license the work in any other way, but it does not\ninvalidate such permission if you have separately received it.\n\nd) If the work has interactive user interfaces, each must display\nAppropriate Legal Notices; however, if the Program has interactive\ninterfaces that do not display Appropriate Legal Notices, your\nwork need not make them do so. A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\nConveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\nExample :a) Convey the object code in, or embodied in, a physical product\n(including a physical distribution medium), accompanied by the\nCorresponding Source fixed on a durable physical medium\ncustomarily used for software interchange.\n\nb) Convey the object code in, or embodied in, a physical product\n(including a physical distribution medium), accompanied by a\nwritten offer, valid for at least three years and valid for as\nlong as you offer spare parts or customer support for that product\nmodel, to give anyone who possesses the object code either (1) a\ncopy of the Corresponding Source for all the software in the\nproduct that is covered by this License, on a durable physical\nmedium customarily used for software interchange, for a price no\nmore than your reasonable cost of physically performing this\nconveying of source, or (2) access to copy the\nCorresponding Source from a network server at no charge.\n\nc) Convey individual copies of the object code with a copy of the\nwritten offer to provide the Corresponding Source. This\nalternative is allowed only occasionally and noncommercially, and\nonly if you received the object code with such an offer, in accord\nwith subsection 6b.\n\nd) Convey the object code by offering access from a designated\nplace (gratis or for a charge), and offer equivalent access to the\nCorresponding Source in the same way through the same place at no\nfurther charge. You need not require recipients to copy the\nCorresponding Source along with the object code. If the place to\ncopy the object code is a network server, the Corresponding Source\nmay be on a different server (operated by you or a third party)\nthat supports equivalent copying facilities, provided you maintain\nclear directions next to the object code saying where to find the\nCorresponding Source. Regardless of what server hosts the\nCorresponding Source, you remain obligated to ensure that it is\navailable for as long as needed to satisfy these requirements.\n\ne) Convey the object code using peer-to-peer transmission, provided\nyou inform other peers where the object code and Corresponding\nSource of the work are being offered to the general public at no\ncharge under subsection 6d. A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\nAdditional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\nExample :a) Disclaiming warranty or limiting liability differently from the\nterms of sections 15 and 16 of this License; or\n\nb) Requiring preservation of specified reasonable legal notices or\nauthor attributions in that material or in the Appropriate Legal\nNotices displayed by works containing it; or\n\nc) Prohibiting misrepresentation of the origin of that material, or\nrequiring that modified versions of such material be marked in\nreasonable ways as different from the original version; or\n\nd) Limiting the use for publicity purposes of names of licensors or\nauthors of the material; or\n\ne) Declining to grant rights under trademark law for use of some\ntrade names, trademarks, or service marks; or\n\nf) Requiring indemnification of licensors and authors of that\nmaterial by anyone who conveys the material (or modified versions of\nit) with contractual assumptions of liability to the recipient, for\nany liability that these contractual assumptions directly impose on\nthose licensors and authors. All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\nTermination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\nAcceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\nAutomatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\nPatents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\nNo Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\nRemote Network Interaction; Use with the GNU General Public License.\n\n Notwithstanding any other provision of this License, if you modify the\nProgram, your modified version must prominently offer all users\ninteracting with it remotely through a computer network (if your version\nsupports such interaction) an opportunity to receive the Corresponding\nSource of your version by providing access to the Corresponding Source\nfrom a network server at no charge, through some standard or customary\nmeans of facilitating copying of software. This Corresponding Source\nshall include the Corresponding Source for any work covered by version 3\nof the GNU General Public License that is incorporated pursuant to the\nfollowing paragraph.\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the work with which it is combined will remain governed by version\n3 of the GNU General Public License.\n\nRevised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU Affero General Public License from time to time. Such new versions\nwill be similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU Affero General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU Affero General Public License, you may choose any version ever published\nby the Free Software Foundation.\n If the Program specifies that a proxy can decide which future\nversions of the GNU Affero General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\nDisclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\nLimitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\nInterpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\nExample : END OF TERMS AND CONDITIONS\n\n How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\nExample :\nCopyright (C) \n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU Affero General Public License as published\nby the Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Affero General Public License for more details.\n\nYou should have received a copy of the GNU Affero General Public License\nalong with this program. If not, see .Also add information on how to contact you by electronic and paper mail.\n If your software can interact with users remotely through a computer\nnetwork, you should also make sure that it provides a way for users to\nget its source. For example, if your program is a web application, its\ninterface could display a \"Source\" link that leads users to an archive\nof the code. There are many ways you could offer source, and different\nsolutions will be better for different programs; see section 13 for the\nspecific requirements.\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU AGPL, see\nhttp://www.gnu.org/licenses/.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"properties.html":{"url":"properties.html","title":"package-properties - properties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n Properties\n \n \n \n Description : dBildungscloud server\n \n Keywords : feathers, nest, jest, domain driven design\n \n Homepage : https://dBildungscloud.de/\n \n Bugs : \n \n License : AGPL-3.0\n \n Repository : \n \n Author : dBildungscloud Team\n \n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"todo.html":{"url":"todo.html","title":"getting-started - todo","body":"\n \n\nTechnical TODO around Nest Introduction\nSUGGESTED\n\nfilter logs by request with reflect-metadata (see mikroorm em setup)\ndisable Document from window\nfind a name for base entity id type\nfind a name for base entity class\ndecide if we want to use our entity id type in all layers (also in dtos etc.)\nuse index.ts files to bundle exports - we could use path names for imports then, e.g. @shared/domain\ncheck how we can implement mandatory/optional fields in dtos\nshould we use Expose() as default in dtos?\nin the controller we have to prohibit serialization of properties that have no @EXPOSE\nfind the best way ORM entity discovery\ndecide where to put domain interfaces (directory)\nhow can we log validation errors during development?\nsanitizer\nremove non-node async library\nfix async cleanup & remove timeout in tests\ntest object creator for nest entities\nenable log only for failed tests: https://stackoverflow.com/a/61909588\nremove mongoose history (keep one)\nremove custom npm packages (ldap, ...)\nAPI default tests to extend: auth required, fails without/succeeds with\n\nACCEPTED\n\ndocumentation\n\nentity constructor\nem to be used in repositories only (!!!)\n\n\nload/perf test\n\ndisable legacy ts support (app, tests)\n\nfix .env/config for windows\n\n\nMERGE\n\napi path prefix cleanup: remove middleware and multiple path mounts, sync with nest\nuser module stucture\nsingle domain: shared entity (main.ts), shared repository \nrequest.user.user in jwt strategy\nremove outdated sorting.ts \nremove default launch/settings json files, apply them\nfix https://github.com/hpi-schul-cloud/schulcloud-server/pull/2729#pullrequestreview-699615164\n\nSELECTED\n\ntest shared / core module \n\nasync test fixes (remove this.timeout and red promise chains)\n\ndb configuration\n\nkeep mongoose options as mongo options\npovider for mikroorm options and db url\ntest db provider\nentity discovery\ncheck indexes in mikroorm: when are they updated?\nteardown (test, server module, main.ts)\nreplikaset for test module\nentity discovery\n\n\nnews\n\nuc cleanup: 2auth, visibilities\ndocument best practices/layers/orm\n\n\ncontext: user-/request-context (see mikroorm/asynclocalstorage)\n\n\nDONE\n\ncheck build & start for production with ops\nfix jest, linter, ...\ninject APP_FILTER (exception handler) and APP_INTERCEPTOR (logger), see core module\ncustom error handling (log/response), see global-error.filter.ts\nwatch docs should hot reload on md file change\n404 error handling in feathers has to be replaced (tests too). better: have nest before feathers... but seems not to be working\nremove mongoose\npublish documentation, see https://hpi-schul-cloud.github.io/schulcloud-server/overview.html\nfix all tests (nest/legacy)\nremove legacy scripts from package json (except tests) goal: have separated tests (legacy/nest) but only execute the nest app\nusing legacy database connection string\nv3 with/-out slash: diffenrent routes should respond with different result (/v3 is a resssource, /v3/ === /v3/index)\nvscode/lauch files: we put only default files into the repo\nnaming of dtos and dto-files: api vs domain, we leave out \"dto\" suffix for simplicity (we know that they are dtos) and instead append a specific suffix:\ne.g.\napi: , , \ndomain: , \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application.html":{"url":"additional-documentation/nestjs-application.html","title":"additional-page - NestJS Application","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nHPI Schul-Cloud NestJS server\nThis application extends the existing server-application based on feathers and express by introducing dependency injection supporting unit testing and modularization, the possibility to develop against interfaces, and start implementation of modules using TypeScript.\nYou find the whole documentation published as GitHub Page\nRequirements\n\nNode.js (see .nvmrc for version)\nMongoDB (4.x)\nRabbitMQ (configure using RABBITMQ_URL, see default.schema.json)\nS3 Object Storage e.g. MinIO locally\n\npreconditions\n\nHave a MongoDB started, run mongod\nHave some seed data in database, use npm run setup to reset the db and apply seed data\nHave RabbitMQ started, run docker run -d -p 5672:5672 -p 15672:15672 --name rabbitmq rabbitmq:3.8.9-management. This starts RabbitMQ on port 5672 and a web admin console at localhost:15672 (use guest:guest to login).\nHave MinIO (S3 compatible object storage), run [optional if you need files-storage module]\n\nExample :docker run \\\n --name minioS3storage \\\n -p 9000:9000 \\\n -p 9001:9001 \\\n -e \"MINIO_ROOT_USER=`miniouser`\" \\\n -e \"MINIO_ROOT_PASSWORD=miniouser\" \\\n quay.io/minio/minio server /data --console-address \":9001\"\nHave ErWIn-IDM started [currently not needed, but will be mandatory in the future]. For more information look here.\n\nChange directory to the schulcloud-server root folder. Execute following command to setup the ErWIn-IDM container:\nExample :docker run \\\n --name erwinidm \\\n -p 8080:8080 \\\n -p 8443:8443 \\\n -v \"$PWD/backup/idm/keycloak:/tmp/realms\" \\\n ghcr.io/hpi-schul-cloud/erwin-idm/dev:latest \\\n \"&& /opt/keycloak/bin/kc.sh import --dir /tmp/realms\"To add seed data into ErWIn-IDM, use npm run setup:idm to reset and apply seed data.\nSee ErWIn-IDM specific documentation to learn how to add the ErWIn-IDM identity broker feature.\n\nAdd secrets to systems (optional)\n\nThe systems of the seed data do not contain any secrets, so connecting to those systems will fail.\nYou can add these secrets by putting them into your env vars. E.g. if you add SANIS_CLIENT_ID= into your .env file, the secret will be written into the db, when you run the database setup. You need to add the env var AES_KEY as well to encrypt those secrets in the DB.\nThe real secrets can be found in the password store.\nWhile exporting the systems to JSON the secrets will be replaced by placeholders following the pattern _. So the system with alias \"sanis\" and the secret property \"clientId\" will be replaced by \"SANIS_CLIENT_ID\"\nHow to start the application\nBeside existing scripts, for the nestJS application the following scripts have been added. Try not changing the scripts as they should match what NestJS defines by default. Execute npm run ...\n\nnest:prebuild remove existing data from previous build\nnest:build compile the applications typescript ressources from apps/server to dist folder, keeps legacy js-code where it is\nnest:build:all currently executes nest:build, could additionaly build static assets\nnest:start starts the nest application on localhost:3030\nnest:start:dev run application without build from sources in dev-mode with hot-reload\nnest:start:debug run application in dev-mode with hot-reload and debug port opened on port :9229\nnest:start:prod start applicaiton in production mode, requires nest:build to be executed beforehand\n\nIt exist a file storage module. It is started as a microservice on port :4444\n\nnest:start:files-storage starts the nest file storage\nnest:start:files-storage:dev run file storage without build from sources in dev-mode with hot-reload\nnest:start:files-storage:debug run file storage in dev-mode with hot-reload and debug port opened on port :9229\nnest:start:files-storage:prod start file storage in production mode, requires nest:build to be executed beforehand\n\nHow to build and serve the documentation\n\nnest:docs:build builds code documentation and module relations into /documentation folder\nnest:docs:serve builds code documentation and module relations into /documentation folder and serves it on port :8080 with hot reload on changes\n\nHow to start the server console\nThe console offers management capabilities of the application.\n\nnest:console after nest:build in production or\nnest:console:dev for development\n\nTo run a specific command run npm run nest:console:dev -- command . The --is required for npm to send params to the console. Use --helpto get an overview about existing commands.\nHow to test the nest-application with jest\nNestJS must not use _.test.[ts|js] as filename but instead either *.spec.ts for unit tests or *.api.spec.ts API tests. This ensures legacy/feathers/mocha tests can be separated from jest test suites.\nThe application must pass the following statement which executes separate checks:\n\nnest:test executes all jest (NestJS) tests with coverage and eslint\n\nTo test a subset, use\n\nnest:test:all execute unit and API tests\n\nnest:test:api execute API tests only\n\nnest:test:unit execute unit tests only\n\nnest:test:cov executes all jest tests with coverage check\n\nnest:test:watch executes changed tests again on save\n\nnest:test:debug executes tests with debugging\n\nnest:lint run eslint to report linter issues and apply formatting\n\nnest:lint:fix run eslint to report and auto-fix fixable linter issues and apply formatting\n\n\nQuality gates\nWith coverage on tests and static code analysis we ensure some quality gates which are all handled by running nest:test:\n\nESLint with prettier ensures formatting and static code analysis to pass, see .eslintrc.js for details.\nTests ensure functional requirements via unit & API tests.\nCoverage on tests ensures a coverage of 80% on NestJS code, see jest.config.ts for details.\n\nGates are part of pull request checks.\nOpenAPI documentation\nThe NestJS applicaiton serves a documentation at :3030/api/v3/docs. The JSON-representation can be found at /api/v3/docs-json to be used for generating a client application.\nLegacy/feathers Swagger UI documentation when running the server locally, it is served at :3030/docs/.\nLegacy (feathers) testing with mocha\n\nnpm run test\nTo run a single test, use npm run mocha-single -- .\n\nHow to get full documentation\nThe documentation is provided by compodoc, run npm run nest:docs:serve, check generated compodoc features, custom information can be found in additional information section. Your console will tell you, where it is served.\nThe updated documentation is published as GitHub Page\nContent\nFor further reading, browse apps/server/doc.\nNestJS CLI\nTo use the NestJS CLI, install the nest cli globally.\nExample : npm i -g @nestjs/cliThen you may use features like nest g service foo within of /apps/server/src.\nDebugging\nThere are launch configurations available for VSCode in .vscode/launch.default.json\nTech Stack\nFeel free to find related documentation:\n\nhttps://nestjs.com/\nhttps://jestjs.io/\nhttps://mikro-orm.io/\nhttps://min.io/\nhttps://www.rabbitmq.com/\n\nConfiguration\nhttps://github.com/hpi-schul-cloud/schulcloud-server/blob/main/config/README.md\nNestJS Modules\nAuthorisation\nhttps://github.com/hpi-schul-cloud/schulcloud-server/blob/main/apps/server/src/modules/authorization/README.md\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/software-architecture.html":{"url":"additional-documentation/nestjs-application/software-architecture.html","title":"additional-page - Software Architecture","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nSoftware Architecture\nGoals\nOur architecture aims to achieve the following goals:\n\nMaintainability\nit should be easy as possible to make changes that do not change the behaviour of the system (refactoring)\nit should be easy to exchange entire components of the system, without impact on other components.\n\n\nExtendability\nit should be easy to add new functionality to the system\n\n\nAgility\nit should be easy to react to changing requirements during our development process\n\n\nChange Security\nit should be easy to determine the correctness of the system after making any changes\n\nPrinciples\nIn order to achieve these goals, we try to follow the principles detailed below.\nThese principles apply to all layers of our software, from lines of code and methods to modules and architectural layers.\n\nSingle Responsibility / Seperation of Concerns\neach piece of code should have a single layer of abstraction/detail\neach piece of code should have a single reason to change\n\n\nOpen/Closed Principle\ndesign to be open to extension, but closed to modification\nLiskov Substitution\nthe specific input may be more generic than its interface\nthe specific output may be more specialized than its interface\n\n\nInterface Segregation\nmultiple small interfaces are preferred over big interfaces\n\n\nDependency Inversion Principle\nalways depend on interfaces, not implementations\nhigher level parts should not depend on lower level parts.\n\n\nKeep It Simple (KISS)\nany piece of code should be simple and readable\nany logic should be broken down to be trivial\nbeware of overenginiering and premature optimisation\n\n\nYou Aint Gonna Need It (YAGNI)\nkeep decisions open for as long as possible\nbuild only what you need to build, stay flexible for future requirements\n\n\nDo Not Repeat Yourself (DRY)\ndo not solve the same responsability or concern in multiple places\nbeware of things that look similar, but are not. for example, things that change for different reasons should not be combined, even if their code looks the same\n\n\n\nServer Layer Architecture\nWe generally distinguish three different layers in our server architecture: The API Layer, the Repository Layer, and the Domain Layer.\n\nNote that based on the Dependency Inversion Principle, the Domain Layer does not have any dependencies. Instead, both the API and Repository Layer depend on its abstractions.\nDomain Layer\nThe Domain Layer contains the business logic of the application. As mentioned above, it is not allowed to know about anything outside the domain layer itself.\n\nAny operation within the system is defined by a usecase (UC). It describes how an external actor, for example a user, can interact with the system.\nEach usecase defines what needs to be done to authorize it, and what needs to be done to fulfill it. To this end, it orchestrates services.\nA service is a public part of a domain module, that provides an interface for logic. It might be a simple class doing simple calculations, an interface to a complex hierarchy of classes within a module, or anything in between.\nThe domain layer might also define other classes, types, and interfaces to be used internally by its services, as well as the interface definitions for the repository layer. That way, the domain does not have to depend on the repositories, and the repositories have to depend on the domain instead (dependency inversion)\nTODO: the exact way of implementing the interfaces between repositories and domain layer is still in active discussion and development within the architecture chapter\nAPI Layer\nThe API Layer is responsible for providing the API that is exposed outside the system, and to map the various incoming requests into domain DTOs.\n\nThe params.dto and response.dto are used to automatically generate the API Documentation based on openAPI. The params.dto also contains information that is used for input validation.\nThe controller is responsible for sanitizing and authenticating incoming requests, and to map to and from the format that the domain usecase implementations expect. To this end, mappers are being used.\nRepository Layer\nThe Repository Layer is responsible for outgoing requests to external services. The most prominent example is accessing the database, but the same principles apply for sending emails or other interactions with external systems.\n\nIn order to access these external systems without knowing them, the domain layer may define interfaces that describe how it would like to use external services in its own domain language. The repositories implement these interfaces, recieving and returning exclusively objects or dtos defined in the domain.\nThe datamodel itself is defined through Entities, that have to be mapped into domain objects before they can be returned to the domain layer. We use MikroORM to create, persist and load the entities and their references among each other.\nModules\nThe codebase is broken into modules, each dealing with a part of the businesslogic, or seperated technical concerns.\nThese modules define what code is available where, and ensure a clean dependency graph.\nAll Code written should be part of exactly one module. Each module contains any services, typedefinitions, interfaces, repositories, mappers, and other files it needs internally to function.\nWhen something is needed in more than one module, it needs to be explicitly exported by the module, to be part of its public interface. It can then be imported by other modules. Services are exported published via the dependency injection mechanism provided by Nestjs.\nExample :@Module({\n providers: [InternalRepo, InternalService, PublicService],\n exports: [PublicService],\n})\nexport class ExampleModule {}\n\n@Module({\n imports: [ExampleModule]\n providers: [SomeOtherService],\n})\nexport class OtherModule {}Notice that in the above example, the PublicService can be used anywhere within the OtherModule, including in the SomeOtherService, whereas the InternalRepo and InternalService can not.\nThings that cant be injectables, like types and interfaces, are exported via the index file at the root of the module.\nCode that needs to be shared across many modules can either be put into their own seperate module, if there is a clearly defined seperate concern covered by it, or into the shared module if not.\nApi Modules\nThe controllers and the corresponding usecases, along with the api tests for these routes, are seperated into api modules\nExample :@Module({\n imports: [ExampleModule]\n providers: [ExampleUc],\n controllers: [ExampleController],\n})\nexport class ExampleApiModule {}This allows us to include the domain modules in different server deployments, without each of them having all api definitions. This also means that no usecase can ever be imported, as only services are ever exported, enforcing a seperation of concerns between logic and orchestration.\nHorizontal Architecture\nThe application is split into different modules that implement different parts of our domain.\nThe exact split of modules is still work in progress, or left open as implementation detail. Some important considerations are:\n\nthings with high cohesion and coupling should be in the same module\nthings with low coupling should be in seperate modules\nthe modules define an explicit public interface of usecases and types they expose to other modules\nno module should ever try to access a class of a different module that is not explicitly exported\nno injectable should ever be defined in more than one module\na module should only export services to be used by other modules.\na module that other modules might need to import, especially in another mikroservice, should not contain controllers.\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/file-structure.html":{"url":"additional-documentation/nestjs-application/file-structure.html","title":"additional-page - File Structure","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nArchitecture mapping to Code\nConventions\nFile structure\nThe server app located in /apps/server is structured like. Beside each ts-file, a test file _.spec.ts has to be added for unit tests (hidden for simplification). Use index.ts files that combine a folders content and export all files from within of the folder using export _ from './file' where this makes sense. When there are naming conflicts, use more specific names and correct concepts. Think about not to create sub-folders, when only one concept exist.\nExample :src/ // sourcecode & unit tests\n - config/ // for global definitions\n - modules/ // for your NestJS modules\n - [module] // where [module] could be like user, homework, school\n - entity/\n - .entity.ts // (where might be a user, news, ... owned by the module) exports entity class & document type\n - .entity.ts // where related-info is a partial of another entity used in the entity above\n - index.ts // exports all entities\n - controller/ // where controllers define the api\n - dto/ // dto's define api in/out types as a class with annotations\n - [params].ts // (like create-user.params.ts)\n - [response].ts // (like create-user.response.ts)\n - index.ts // exports all dto's\n - .controller.ts // defines rest api, references main service file\n - .controller.ts // think about a new module when require multiple controllers :)\n - repo/ // repositories take care to load/persist/... entities\n - schema/ // contains schema imports from legacy app or new definitions (might be replaced by OR mapper)\n - .schema.ts // exports (legacy-) mongoose schemas\n - .repo.ts // where entity might be user, news, school\n - service/ // for technical dependencies (libraries, infrastructure layer concerns)\n - .service.ts // the modules main service file, might be exported for other modules\n - .service.ts // use services not for features\n - mapper/\n - .mapper.ts // mapper for a domain entity, should contain mapDomainToResponse and mapFooToDomain\n - uc/ // preferred for features\n - .uc.ts // one file per single use case (use a long name)\n - .module.ts // DI instructions to build the module\n - shared/ // reused stuff without module ownership\n - core/ // shared concepts (decorators, pipes, guards, errors, ...) folders might be added\n - domain // (abstract) domain base entities which will be extended in the modules\n - util/ // helpers, tools, utils can be located here (but find a better name)\ntest/ // contains globalSetup and globalTeardown for MongoMemoryServer for tests\nFor concepts (see https://docs.nestjs.com/first-steps) of NestJS put implementations in shared/core. You might use shared/utils for own solutions, assume TextUtils but when it contains text validators, move it better to shared/validators/text.validator.ts before merge. The core concepts of NestJS can be extended with ours (like repo).\nFile naming conventions\nIn TypeScript files: for Classes we use PascalCase (names start with uppercase letter), variables use lowercase for the first letter camelCase.\nWhen assigning names, they may end with a concept name:\n\nA Concept might be a known term which is widely used. Samples from NestJS: Controller, Provider, Module, Middleware, Exception, Pipe, Guard, Interceptor.\n\nBeside we have own concepts like comparator, validator (generic ones should not be part of a modules (and located in shared folder btw) or repo, use-case which might be owned by a module.\n\n\nIn file names, we use lowercase and minus in the beginning and end with ..ts\nSamples\n\n\n\nFile name\nClass name\nConcept\nLocation\n\n\n\n\nlogin-user.uc.ts\nLoginUserUc\nuse case\nmodule/uc\n\n\ntext.validator.ts\nTextValidator\nvalidator\nshared/validators\n\n\nuser.repo.ts\nUserRepo\nrepository\nmodule/repo\n\n\nparse-object-id.pipe.ts\nParseObjectIdPipe\npipe\nshared/pipes\n\n\n\nComponents\nComponents are defined as NestJS Modules. \nCommunication between components\nTo access other modules services, it can be injected anywhere. The usage is allowed only, when the module which owns that service has exported it in the modules definition.\nExample :// modules/feathers/feathers-service.provider.ts\n// modules/feathers/feathers.module.ts\n@Module({\n providers: [FeathersServiceProvider],\n exports: [FeathersServiceProvider],\n})\nexport class FeathersModule {}\nThe feathers module is used to handle how the application is using legacy services, when access them, inject the FeathersServiceProvider but in your module definition, import the FeathersModule.\nExample :// your module, here modules/authorization/authorization.module.ts\n@Module({\n imports: [FeathersModule], // here import the services module\n // providers: [AuthorizationService, FeathersAuthProvider],\n // exports: [AuthorizationService],\n})\nexport class AuthorizationModule {}\n\n// inside of your service, here feathers-auth.provider.ts\n@Injectable()\nexport class FeathersAuthProvider {\n\n // inject the service in constructor\n constructor(private feathersServiceProvider: FeathersServiceProvider) {}\n \n // ...\n\n async getUserTargetPermissions(\n // ...\n ): Promise {\n const service = this.feathersServiceProvider.getService(`path`);\n const result = await service.get(...)\n // ...\n return result;\n }\nAccess legacy Code\nUse the feathers module introduced above to get access to legacy services.\nIt is important to introduce strong typing like it happened above in the FeathersAuthProvider. While the FeathersServiceProvider from the feathers module, has only an abstract implementation for all services, add a concrete service inside your module for a specific feathers-service, like above in FeathersAuthProvider.\nAccess NestJS injectable from Feathers\nTo access a NestJS service from a legacy Feathers service you need to make the NestJS service known to the Feathers service-collection in main.ts. \nThis possibility should not be used for new features in Feathers, but it can help if you want to refactor a Feathers service to NestJs although other Feathers services depend on it.\nExample : // main.ts\n async function bootstrap() {\n // (...)\n feathersExpress.services['nest-rocket-chat'] = nestApp.get(RocketChatService);\n // (...)\n }Afterwards you can access it the same way as you access other Feathers services with\napp.service('/nest-rocket-chat');\nLayered Architecture\nThe different layers use separately defined objects that must be mapped when crossing layers.\n\nNever export entities through the service layer without DTO-mapping which is defined in the controller\nConcepts owned by a layer must not be shared with other layers\n\n\nFurther reading: https://khalilstemmler.com/articles/software-design-architecture/organizing-app-logic/\nController\nA modules api layer is defined within of controllers.\nThe main responsibilities of a controller is to define the REST API interface as openAPI specification and map DTO's to match the logic layers interfaces.\nExample : @Post()\n async create(@CurrentUser() currentUser: ICurrentUser, @Body() params: CreateNewsParams): Promise {\n const news = await this.newsUc.create(\n currentUser.userId,\n currentUser.schoolId,\n NewsMapper.mapCreateNewsToDomain(params)\n );\n const dto = NewsMapper.mapToResponse(news);\n return dto;\n }JWT-Authentication\nFor authentication, use guards like JwtAuthGuard. It can be applied to a whole controller or a single controller method only. Then, ICurrentUser can be injected using the @CurrentUser() decorator.\nValidation\nGlobal settings of the core-module ensure request/response validation against the api definition. Simple input types might additionally use a custom pipe while for complex types injected as query/body are validated by default when parsed as DTO class.\nFile naming\nComplex input DTOs are defined like [create-news].params.ts (class-name: CreateNewsParams).\nWhen DTO's are shared between multiple modules, locate them in the layer-related shared folder.\n\nSecurity: When exporting data, internal entities must be mapped to a response DTO class named like [news].response.dto. The mapping ensures which data of internal entities are exported.\n\nopenAPI specification\nDefining the request/response DTOs in a controller will define the openAPI specification automatically. Additional validation rules and openAPI definitions can be added using decorators. For simplification, openAPI decorators should define a type and if a property is required, while additional decorators can be used from class-validator to validate content.\nMapping\nIt is forbidden, to directly pass a DTO to a use-case or return an Entity (or other use-case result) via REST. In-between a mapper must transform the given data, to protect the logic layer from outside implications.\nThe use of a mapper gives us the guarantee, that\n\nno additional data beside the known properties is published.\nA plain object might contain more properties than defined in TS-interfaces.\nSample: All school properties are published while only name & id are intended to be published.\n\n\nthe API definition is complete\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/api-design.html":{"url":"additional-documentation/nestjs-application/api-design.html","title":"additional-page - API Design","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nto be documented\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/logging.html":{"url":"additional-documentation/nestjs-application/logging.html","title":"additional-page - Logging","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nLogging\nFor logging use the Logger, exported by the logger module. It encapsulates a Winston logger. Its injection scope is transient, so you can set a context when you inject it.\nFor better privacy protection and searchability of logs, the logger cannot log arbitrary strings but only so called loggables. If you want to log something you have to use or create a loggable that implements the Loggable interface.\nThe message should be fixed in each loggable. If you want to log further data, put in the data field of the LogMessage, like in the example below.\nExample :export class YourLoggable implements Loggable {\n constructor(private readonly userId: EntityId) {}\n\n getLogMessage(): LogMessage {\n return {\n message: 'I am a log message.',\n data: { userId: this.userId, },\n };\n }\n}\nExample :import { Logger } from '@src/core/logger';\n\nexport class YourUc {\n constructor(private logger: Logger) {\n this.logger.setContext(YourUc.name);\n }\n\n public sampleUcMethod(user) {\n this.logger.log(new YourLoggable(userId: user.id));\n }\n}This produces a logging output like\nExample :[NestWinston] Info - 2023-05-31 15:20:30.888 [YourUc] { message: 'I am a log message.', data: { userId: '0000d231816abba584714c9e' }}Log levels and error logging\nThe logger exposes the methods log, warn, debug and verbose. It does not expose an error method because we don't want errors to be logged manually. All errors are logged in the exception filter.\nLegacy logger\nWhile transitioning to the new logger for loggables, the old logger for strings is still available as LegacyLogger.\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/exception-handling.html":{"url":"additional-documentation/nestjs-application/exception-handling.html","title":"additional-page - Exception Handling","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nException Handling\n\nWe separate our business exceptions from technical exceptions. While for technical exceptions, we use the predefined HTTPExceptions from NestJS, business exceptions inherit from abstract BusinessException.\nBy default, implementations of BusinessException must define\nExample : code: 500\n type: \"CUSTOM_ERROR_TYPE\",\n title: \"Custom Error Type\",\n message: \"Human readable details\",\n // additional: optionalDataThere is a GlobalErrorFilter provided to handle exceptions, which cares about the response format of exceptions and logging. It overrides the default NestJS APP_FILTER in the core/error-module.\nIn client applications, for technical errors, evaluate the http-error-code, then for business exceptions, the type can be used as identifier and additional data can be evaluated.\nFor business errors we use 409/conflict as default to clearly have all business errors with one error code identified.\n\nSample: For API validation errors, 400/Bad Request will be extended with validationError: ValidationError[{ field: string, error: string }] and a custom type API_VALIDATION_ERROR.\n\nPipes can be used as input validation. To get errors reported in the correct format, they can define a custom exception factory when they should produce api validation error or other exceptions, handled by clients.\nChaining errors with the cause property\nIf you catch an error and throw a new one, put the original error in the cause property of the new error. See example:\nExample :try {\n someMethod();\n} catch(error) {\n throw new ForbiddenException('some message', { cause: error });\n}Loggable exceptions\nIf you want the error log to contain more information than just the exception message, use or create an exception which implements the Loggable interface. Don't put data directly in the exception message!\nA loggable exception should extend the respective Built-in HTTP exception from NestJS. For the name just put in \"Loggable\" before the word \"Exception\", e.g. \"BadRequestLoggableException\". Except for logging a loggable exception behaves like any other exception, specifically the error response is not affected by this.\nSee example below.\nExample :export class UnauthorizedLoggableException extends UnauthorizedException implements Loggable {\n constructor(private readonly username: string, private readonly systemId?: string) {\n super();\n }\n\n getLogMessage(): ErrorLogMessage {\n const message = {\n type: 'UNAUTHORIZED_EXCEPTION',\n stack: this.stack,\n data: {\n userName: this.username,\n systemId: this.systemId,\n },\n };\n\n return message;\n }\n}Example :export class YourService {\n public sampleServiceMethod(username, systemId) {\n throw new UnauthorizedLoggableException(username, systemId);\n }\n}\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/domain-object-validation.html":{"url":"additional-documentation/nestjs-application/domain-object-validation.html","title":"additional-page - Domain Object Validation","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nDomain Object Validation\nIf you need to validate a domain object, please write an independent class, so that the domain object itself, its repo and services can reuse it.\nEric Evans suggests using the specification pattern.A specification fulfills the following interface:\nExample :public interface Specification {\n boolean isSatisfiedBy(T t);\n}A specification checks if a domain object fulfills the conditions of the specification.\nA specification can simply specify that a domain object is valid. E.g. a Task has an owner and a description.A specification can specify more complex and specialized conditions. E.g. Task where every student assigned to the task's course has handed in a submission. \nThe specification pattern in its full extend describes how to use logic operators to combine multiple specifications into combined specifications as well. Please don't build this as long as you don't need it. YAGNI.More about full specification pattern\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/testing.html":{"url":"additional-documentation/nestjs-application/testing.html","title":"additional-page - Testing","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nTesting\nAutomated testing is the essential part of the software development process.\nIt improves the code quality and ensure that the code operates correctly especially after refactoring.\nGeneral Test Conventions\nLean Tests\nThe tests should be as simple to read and understand as possible. They should be effortless to write and change, in order to not slow down development. Wherever possible:\n\navoid complex logic\ncover only one case per test\nonly use clearly named and widely used helper functions\nstick to blackbox testing: think about the unit from the outside, not its inner workings.\nits okay to duplicate code for each test\n\nNaming Convention\nWhen a test fails, the name of the test is the first hint to the developer (or any other person) to what went wrong where. (along with the \"describe\" blocks the test is in).\nThus, your describe structure and testcase names should be designed to enable a person unfamiliar with the code to identify the problem as fast as possible. It should tell him:\n\nwhat component is being tested\nunder what condition\nthe expected outcome\n\nTo facilitate this, your tests should be wrapped in at least two describe levels.\nExample :// Name of the unit under test\ndescribe(\"Course Service\", (() => {\n // method that is called\n describe('createCourse', () => {\n // a \"when...\" sentence\n describe(\"When a student tries to create a course\", (() => {\n // a \"should...\" sentence\n it(\"should return course\", async () => {\n ...\n });\n });\n });\n});Isolation\nEach test should be able to run alone, as well as together with any other tests. To ensure this, it is important that the test does not depend on any preexisting data.\n\nEach test should generate the data it needs, and ensure that its data is deleted afterwards. (this is usually done via mocha's \"afterEach\" function.\nWhen you create objects with fields that have to be globally unique, like the account username, you must ensure the name you choose is unique. This can be done by including a timestamp.\nNever use seeddata.\n\nTest Structure\nYour test should be structured in three seperate areas, each distinguished by at least an empty line:\n\nArrange - set up your testdata\nAct - call the function you want to test\nAssert - check the result\n\nthis is known as the AAA-pattern.\nThe tests for a unit should cover as much scenarios as possible. Parameters and the combination of parameters can often take numerous values. Therefore it largely differs from case to case what a sufficient amount of scenarios would be. Parameter values that contradict the typescript type definition should be ignored as a test case. \nThe test coverage report already enforces scenarios that test every possible if/else result in the code. But still some scenarios are not covered by the report and must be tested:\n\nAll error scenarios: That means one describe block for every call that can reject.\n\nWe use different levels of describe blocks to structure the tests in a way, that the tested scenarios could easily be recognized. The outer describe would be the function call itself. Every scenario is added as another describe inside the outer describe. \nAll of the data and mock preparation should happen in a setup function. Every describe scenario only contains one setup function and is called in every test. No further data or mock preparation should be added to the test. Often there will be only one test in every describe scenario, this is perfectly fine with our desired structure.\nExample :describe('[method]', () => {\n describe('when [senario description that is prepared in setup]', () => {\n const setup = () => {\n // prepare the data and mocks for this scenario\n };\n\n it('...', () => {\n const { } = setup();\n });\n\n it('...', () => {\n const { } = setup();\n });\n }); \n\n describe('when [senario description that is prepared in setup]', () => {\n const setup = () => {\n // prepare the data and mocks for this scenario\n };\n\n it('...', () => {\n const { } = setup();\n });\n });\n});Testing Samples\nHandling of function return values\nWhen assigning a value to an expect, separate the function call from the expectation to simplify debugging. This later helps when you not know about the return value type or if it's an promise or not. This is good style not only for tests.\nExample : // doSomethingCrazy : retValue\n it('bad sample', () => {\n expect(doSomethingCrazy(x,y,z)).to...\n })\n it('good sample', () => {\n const result = doSomethingCrazy(x,y,z)\n expect(result).to... // here we can simply debug\n })\nPromises and Timouts in tests\nWhen using asynchronous functions and/opr promises, results must be awaited within of an async test function instead of using promise chains. While for expecting error conditions it might be helpful to use catch for extracting a value from an expected error, in every case avoid writing long promise chains.\n\nInstead of using done callback, use async test functions.\nUse await instead of (long) promise chains\nnever manually set a timeout\n\nExample : // doSomethingCrazy : Promise\n it('bad async sample', async function (done) => {\n this.timeout(10000);\n return doSomethingCrazy(x,y,z).then(result=>{\n expect(result).to...\n done() // expected done\n }).catch(()=>{\n logger.info(`Could not ... ${error}`);\n done() // unexpected done, test will always succeed which is wrong\n })\n })\n it('good async sample', async () => {\n // no timeout set\n const result = await doSomethingCrazy(x,y,z)\n expect(result).to...\n })\nTimeouts must not be used, when async handling is correctly defined!\n\nExpecting errors in tests\nWhen expecting an error, you might take values from an error, test for the error type thrown and must care of promises.\nExample : // doSomethingCrazy : Promise\n it('bad async sample expecting an error', () => {\n expect(doSomethingCrazy(x,y,z)).to...\n })\n it('good async sample expecting an error value', async () => {\n const code = await doSomethingCrazy(x,y,z).catch(err => err.code)\n expect(code).to...\n })\n it('good sample expecting an error type from a sync function', () => {\n expect(() => doSomethingCrazySync(wrong, param)).toThrow(BadRequestException);\n })\n it('good sample expecting an error type from an async function', async () => {\n await expect(doSomethingCrazySync(wrong, param)).rejects.toThrow(BadRequestException);\n })Testing Utilities\nNestJS:\n\nprovides default tooling (such as test runner that builds an isolated module/application loader)\nprovides integration with Jest and Supertest out of the box\nmakes the Nest dependency injection system available in the testing environment for mocking components\n\nThe @nestjs/testing.Test class provides an execution context that mocks the full Nest runtime, but gives\nhooks that can help to manage class instances, including mocking and overriding.\nThe method Test.createTestingModule() takes module metadata as argument it returns TestingModule instance.\nThe TestingModule instance provides method compile() which bootstraps a module with its dependencies.\nEvery provider can be overwritten with custom provider implementation for testing purposes.\nExample : beforeAll(async () => {\n const moduleRef = await Test.createTestingModule({\n controllers: [SampleController],\n providers: [SampleService],\n }).compile();\n\n sampleService = moduleRef.get(SampleService);\n sampleController = moduleRef.get(CatsController);\n });Mocking\nUsing the utilities provided by NestJs, we can easily inject mocks into our testing module. The mocks themselves, we create using a library by @golevelup.\nYou can create a mock using createMock(). As result you will recieved a DeepMocked\nExample :let fut: FeatureUnderTest;\nlet mockService: DeepMocked;\n\nbeforeAll(async () => {\n const module = await Test.createTestingModule({\n providers: [\n FeatureUnderTest,\n {\n provide: MockService,\n useValue: createMock(),\n },\n ],\n }).compile();\n\n fut = module.get(FeatureUnderTest);\n mockService = module.get(MockService);\n});\n\nafterAll(async () => {\n await module.close();\n});\n\nafterEach(() => {\n jest.resetAllMocks();\n})The resulting mock has all the functions of the original Class, replaced with jest spies. This gives you code completion and type safety, combined with all the features of spies.\ncreateTestingModule should only be calld in beforeAll and not in beforeEach to keep the setup and teardown for each test as simple as possible. Therefore module.close should only be called in afterAll and not in afterEach.\nTo generally reset specific mock implementation after each test jest.resetAllMocks can be used in afterEach. jest.restoreAllMocks should not be used, because in some cases it will not properly restore mocks created by ts-jest.\nExample :describe('somefunction', () => {\n describe('when service returns user', () => {\n const setup = () => {\n const resultUser = userFactory.buildWithId();\n\n mockService.getUser.mockReturnValueOnce(resultUser);\n\n return { resultUser };\n };\n\n it('should call service', async () => {\n setup();\n await fut.somefunction();\n expect(mockService.getUser).toHaveBeenCalled();\n });\n\n it('should return user passed by service', async () => {\n const { resultUser } = setup();\n const result = await fut.somefunction();\n expect(result).toEqual(resultUser);\n });\n });\n});For creating specific mock implementations the helper functions which only mock the implementation once, must be used (e.g. mockReturnValueOnce). With that approach more control over mocked functions can be achieved.\nIf you want to mock a method that is not part of a dependency you can mock it with jest.spyOn. We strongly recommend the use of jest.spyOn and not jest.fn, because jest.spyOn can be restored a lot easier. \nUnit Tests vs Integration Tests\nIn Unit Tests we access directly only the component which is currently testing.\nAny dependencies should be mocked or are replaced with default testing implementation.\nEspecially the database access and database calls should be mocked.\nIn contrast to unit tests the integration tests use access to the database and execute\nreal queries using repositories.\nRepo Tests\nFor the data access layer, integration tests can be used to check the repositories base functionality against a database.\nFor Queries care DRY principle, they should be tested very carefully.\n\nUse a in-memory database for testing to allow parallel test execution and have isolated execution of tests.\n\n\nA test must define the before and after state of the data set clearly and cleanup the database after execution to the before state.\n\n\nInstead of using predefined data sets, all preconditions should be defined in code through fixtures.\n\nOur repository layer uses mikro-orm/EntityManager to execute the queries.\nBy testing repositories we want to verify the correct behaviour of the repository functions.\nIt includes verifying expected database state after executed repository function.\nTherefore, the *.repo.integration.spec.js should be used.\nThe basic structure of the repo integration test:\nPreconditions (beforeAll):\n\nCreate Nest JS testing module:\n1.1 with MongoMemoryDatabaseModule defining entities which are used in tests. This will wrap MikroOrmModule.forRoot() with running a MongoDB in memory.\n1.2 provide the repo which should be tested\nGet repo, orm and entityManager from testing module\n\nExample : import { MongoMemoryDatabaseModule } from '@src/modules/database';\n\n let repo: NewsRepo;\n let em: EntityManager;\n let testModule: TestingModule;\n\n beforeAll(async () => {\n testModule: TestingModule = await Test.createTestingModule({ (1)\n imports: [\n MongoMemoryDatabaseModule.forRoot({ (1.1)\n entities: [News, CourseNews, ...],\n }),\n ],\n providers: [NewsRepo], (1.2)\n }).compile();\n repo = testModule.get(NewsRepo); (2)\n orm = testModule.get(MikroORM);\n em = testModule.get(EntityManager);\n })Post conditions (afterAll), Teardown\nAfter all tests are executed close the app and orm to release the resources by closing the test module.\nExample : afterAll(async () => {\n await testModule.close();\n });\nWhen Jest reports open handles that not have been closed, ensure all Promises are awaited and all application parts started are correctly closed.\n\nEntity Factories\nTo fill the in-memory-db we use factories. They are located in \\apps\\server\\src\\shared\\testing\\factory. If you create a new one, please add it to the index.ts in that folder.\nAccessing the in-memory-db\nWhile debugging the tests, the URL to the in-memory-db can be found in the EntityManager instance of your repo in em.config.options.clientUrl.\nCopy paste this URL to your DB Tool e.g. MongoDB Compass. You will find a database called 'test' with the data you created for your test.\nMapping Tests\nMapping tests are Unit Tests which verify the correct mapping between entities and Dto objects.\nThese tests should not have any external dependencies to other layers like database or use cases.\nUse Case Tests\nSince a usecase only contains orchestration, its tests should be decoupled from the components it depends on. We thus use unittests to verify the orchestration where necessary\n\nAll Dependencies should be mocked.\n\n\nUse Spies to verify necessary steps, such as authorisation checks.\n\nto be documented\nController Tests\nControllers do not contain any logic, but exclusively information to map and validate between dataformats used on the network, and those used internally, as well as documentation of the api.\nMost of these things can not be covered by unit tests. Therefore we do not write specific unittests for them, and only cover them with api tests.\nAPI Tests\nThe API tests are plumbing or integration tests. Their job is to make sure all components that interact to fulfill a specific api endpoint are wired up correctly, and fulfil the expectation set up in the documentation.\nAPI tests should be located in the folder controller/api-test of each module.\nThey should call the endpoint like a external entity would, treating it like a blackbox. It should try all parameters available on the API, users with different roles, as well as relevant error cases.\nDuring the API test, all components that are part of the server, or controlled by the server, should be available. This includes an in-memory database.\nAny external services or servers that are outside our control should be mocked away via their respective adapters.\nReferences\nThis guide is inspired by https://github.com/goldbergyoni/javascript-testing-best-practices/\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/vscode.html":{"url":"additional-documentation/nestjs-application/vscode.html","title":"additional-page - VSCode","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nVSCode\nLaunch scripts\nIn the file ./vscode/launch.default.json you find following actions:\n\nAttach to NestJS will allow to attach VSCode debugger to an already running application\nDeubg NestJS via NPM will start the application and attach the debugger\n\nSettings\nIn the file ./vscode/settings.default.json find suggested settings.\nRecommended extensions\nSee ./vscode/extensions.json for recommendations.\nJest\nJest is used to care of unit- and end2end tests on all *.spec.ts files.\n Allows to just see failing tests in Problems tab.\n and get small icons like ✔️ or a cross beside it-definitions inside of test files.\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/git.html":{"url":"additional-documentation/nestjs-application/git.html","title":"additional-page - Git","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nGit\nBranch name conventions\n\nEach change should be done in a ticket (no matter how small)\nThe ticket does not need to be refined for very small things\nMight be relevant for reporting later\n\n\nFolder (feature/..) should no longer be used\nStay below 64 letters\nDo not simply use ticket title, usually we need a shorter description :-)\n\n\nTicket number needs to be uppercase (BC-1234)\nRelated to matching with Jira\nCareful: namespace is lowercase\n\n\n\nExample :BC-XXXX-kebab-case-short-descriptionCommit message conventions\n\nSquashed commit subject should start with a ticket number, and end with a PR number\nClean body (contains all commits by default)\nOnly leave changes relevant for main\nRemove commits likes 'fix for linter', 'add tests', 'fix review comments'\nSee example below\n\n\nWrite commit messages in imperative and active\nGood: \"make the code better\"\nBad: \"made the code better\", \"makes the code better\"\n\n\nFeel free to write actual text\n\nExample :BC-1993 - lesson lernstore and geogebra copy (#3532)\n \nIn order to make sure developers in the future can find out why changes have been made,\nwe would like some descriptive text here that explains what we did and why.\n \n- change some important things\n- change some other things\n- refactor some existing things\n \n# I dont need to mention tests, changes that didnt make it to main, linter, or other fixups\n# only leave lines that are relevant changes compared to main\n# comments like this will not actually show up in the git historyWindows\nWe strongly recommend to let git translate line endings. Please set git config --global --add core.autocrlf input when working with windows.\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/keycloak.html":{"url":"additional-documentation/nestjs-application/keycloak.html","title":"additional-page - Keycloak","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nErWIn-IDM (Keycloak)\n\nErWIn-IDM, namely Keycloak, will be the future Identity Management System (IDM) for the dBildungscloud. Keycloak\nprovides OpenID Connect, SAML 2.0 and other identity related functionalities like SSO out of the box. It can\nalso act as identity broker or aggregate identities from third party services which can be an active directory or LDAP.\n\nDocker\nTo run Keycloak locally for development purpose use the following Bash or PowerShell command. You can log into Keycloak\nhere http://localhost:8080. If you don't want to block your terminal, you can add the -d option to start the container\nin the background. Execute these commands in the repository root or the data seeding will fail, and you can not log into\nKeycloak with any user.\nBash:\nExample :docker run \\\n --name erwinidm \\\n -p 8080:8080 \\\n -p 8443:8443 \\\n -v \"$PWD/backup/idm/keycloak:/tmp/realms\" \\\n ghcr.io/hpi-schul-cloud/erwin-idm/dev:latest \\\n \"&& /opt/keycloak/bin/kc.sh import --dir /tmp/realms\"PowerShell:\nExample :docker run `\n --name erwinidm `\n -p 8080:8080 `\n -p 8443:8443 `\n -v \"$PWD/backup/idm/keycloak:/tmp/realms\" `\n ghcr.io/hpi-schul-cloud/erwin-idm/dev:latest `\n \"&& /opt/keycloak/bin/kc.sh import --dir /tmp/realms\"Setup OpenID Connect Identity Provider mock for ErWIn-IDM brokering\nTo add ErWIn-IDM identity broker feature via OpenID Connect (OIDC) Identity Provider (IdP) mock follow the steps below. Execute these commands in the repository root.\n\nSet env vars (or in your .env file) 'OIDCMOCK__BASE_URL' to http://:4011.\nTo make it work with the nuxt client set the env var HOST=http://localhost:4000\nre-trigger npm run setup:db and npm run setup:idm to reset and apply seed data.\nstart the 'oidc-server-mock' as follows:\n\nExample :docker run \\\n --name oidc-server-mock \\\n -p 4011:80 \\\n -e ASPNETCORE_ENVIRONMENT='Development' \\\n -e SERVER_OPTIONS_PATH='/tmp/config/server-config.json' \\\n -e USERS_CONFIGURATION_PATH='/tmp/config/users-config.json' \\\n -e CLIENTS_CONFIGURATION_PATH='/tmp/config/clients-config.json' \\\n -v \"$PWD/backup/idm/oidcmock:/tmp/config\" \\\n ghcr.io/soluto/oidc-server-mock:0.6.0PowerShell:\nExample :docker run `\n --name oidc-server-mock `\n -p 4011:80 `\n -e ASPNETCORE_ENVIRONMENT='Development' `\n -e SERVER_OPTIONS_PATH='/tmp/config/server-config.json' `\n -e USERS_CONFIGURATION_PATH='/tmp/config/users-config.json' `\n -e CLIENTS_CONFIGURATION_PATH='/tmp/config/clients-config.json' `\n -v \"$PWD/backup/idm/oidcmock:/tmp/config\" `\n ghcr.io/soluto/oidc-server-mock:0.6.0Setup OpenID Connect Identity Provider mock for ErWIn-IDM brokering with LDAP provisioning\nThe broker feature can be setup in conjunction with LDAP provisioning for local testing purpose. Therefore, run the sc-openldap-single container:\nExample :docker run \\\n --name sc-openldap-single \\\n -p 389:389 \\\n ghcr.io/hpi-schul-cloud/sc-openldap-single:latestExample :docker run `\n --name sc-openldap-single `\n -p 389:389 `\n ghcr.io/hpi-schul-cloud/sc-openldap-single:latestThe LDAP provisioning is trigger as follows:\nExample :curl -X POST \\\n  'http://localhost:3030/api/v1/sync?target=ldap' \\\n  --header 'Accept: */*' \\\n  --header 'X-API-KEY: example'Example :Invoke-RestMethod `\n -Uri 'http://localhost:3030/api/v1/sync?target=ldap' `\n -Method Post `\n -Headers @{ \"Accept\" = \"*/*\"; \"X-API-KEY\" = \"example\" }See '/tmp/config/users-config.json' for the users details.\nTest local environment\nYou may test your local setup executing 'keycloak-identity-management.integration.spec.ts':\nExample :npx jest apps/server/src/shared/infra/identity-management/keycloak/service/keycloak-identity-management.service.integration.spec.tsSeeding Data\nDuring container startup Keycloak will always create the Master realm with the admin user. After startup, we use the\nKeycloak-CLI to import the dBildungscloud realm, which contains some seed users, groups and permissions for development\nand testing. In the table below you can see the username and password combinations for the Keycloak login.\n\n\n\nUsername\nPassword\nDescription\n\n\n\n\nkeycloak\nkeycloak\nThe overall Keycloak administrator with all permissions.\n\n\ndbildungscloud\ndBildungscloud\nThe dBildungscloud realm specific administrator.\n\n\n\nUpdating Seed Data\n\nRun Keycloak and make the desired changes\nUse docker container exec -it keycloak bash to start a bash in the container\nUse the Keycloak-CLI to export all Keycloak data with /opt/keycloak/bin/kc.sh export --dir /tmp/realms\nSave your changes with a commit\nIf you start your container with a command from the docker section, your changes will be directly applied to the starting Keycloak container\n\n\nIMPORTANT: During the export process there will be some errors, that's because the export process will be done on the\nsame port as the Keycloak server. This leads to Keycloak failing to start the server in import/export mode. Due to the\ntransition from WildFly to Quarkus as application server there is currently no documentation on this topic.\n\nIn order to re-apply the seeding data for a running keycloak container, you may run following commands (to be executed in the repository root):\n\ndocker cp ./backup/idm/keycloak keycloak:/tmp/realms\ndocker exec erwinidm /opt/keycloak/bin/kc.sh import --dir /tmp/realms\n\nNPM Commands\nA list of available NPM commands regarding Keycloak / IDM.\n\n\n\nCommand\nDescription\n\n\n\n\nsetup:idm:seed\nSeeds users for development and testing purpose into the IDM\n\n\nsetup:idm:configure\nConfigures identity and authentication providers and other details in the IDM\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/rocket.chat.html":{"url":"additional-documentation/nestjs-application/rocket.chat.html","title":"additional-page - Rocket.Chat","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nRocket.Chat\nStart Mongodb\nIt makes sense for Rocket.Chat to launch its own mongodb in Docker. Reason for this is Rocket.Chat requires Mongodb as replicaSet setup.\nExample :docker run --name rocket-chat-mongodb -m=256m -p27030:27017 -d docker.io/mongo --replSet rs0 --oplogSize 10Start mongoDB console and execute\nExample :rs.initiate({\"_id\" : \"rs0\", \"members\" : [{\"_id\" : 0, \"host\" : \"localhost:27017\"}]})Start rocketChat\n(check the latest settings https://github.com/hpi-schul-cloud/dof_app_deploy/blob/main/ansible/roles/rocketchat/templates/configmap.yml.j2#L9)\nPlease not that the displayed //172.29.173.128 is the IP address of the mongoDB docker container.\nYou can get the ip over the command: docker inspect rocket-chat-mongodb | grep \"IPAddress\" (dependent on our system)\nExample :docker run\\\n -e CREATE_TOKENS_FOR_USERS=true \\\n -e MONGO_URL=mongodb://172.29.173.128:27030/rocketchat \\\n -e ADMIN_PASS=huhu \\\n -e API_Enable_Rate_Limiter_Limit_Calls_Default=255 \\\n -e Accounts_iframe_enabled=true \\\n -e Accounts_iframe_url=http://localhost:4000/rocketChat/Iframe \\\n -e Accounts_Iframe_api_url=http://localhost:4000/rocketChat/authGet \\\n -e Accounts_AllowRealNameChange=false \\\n -e Accounts_AllowUsernameChange=false \\\n -e Accounts_AllowEmailChange=false \\\n -e Accounts_AllowAnonymousRead=false \\\n -e Accounts_Send_Email_When_Activating=false \\\n -e Accounts_Send_Email_When_Deactivating=false \\\n -e Accounts_UseDefaultBlockedDomainsList=false \\\n -e Analytics_features_messages=false \\\n -e Analytics_features_rooms=false \\\n -e Analytics_features_users=false \\\n -e Statistics_reporting=false \\\n -e API_Enable_CORS=true \\\n -e Discussion_enabled=false \\\n -e FileUpload_Enabled=false \\\n -e UI_Use_Real_Name=true \\\n -e Threads_enabled=false \\\n -e Accounts_SetDefaultAvatar=false \\\n -e Iframe_Restrict_Access=false \\\n -e Accounts_Iframe_api_method=GET \\\n -e OVERWRITE_SETTING_Show_Setup_Wizard='completed' \\\n -p 3000:3000 docker.io/rocketchat/rocket.chat:4.7.2ENVS\nYou must also configure you server and legacy client application.\nUse the .env file in top of the project folders.\ndBildungscloud Backend Server\nExample :ROCKETCHAT_SERVICE_ENABLED=true\nROCKET_CHAT_URI=\"http://localhost:3000\"\nROCKET_CHAT_ADMIN_USER=admin\nROCKET_CHAT_ADMIN_PASSWORD=huhudBildungscloud Legacy Client\nExample :ROCKETCHAT_SERVICE_ENABLED=true\nROCKET_CHAT_URI=\"http://localhost:3000\"\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/configuration.html":{"url":"additional-documentation/nestjs-application/configuration.html","title":"additional-page - Configuration","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nSchul-Cloud Server\n\n\n\nNestJS application\n\nFind the NestJS applications documentation of this repository at GitHub pages. It contains information about\n\n\nsetup & preconditions\nstarting the application\ntesting\ntools setup (VSCode, Git)\narchitecture\n\nBased on NestJS\nFeathers application\nThis is legacy part of the application!\nBased on Node.js and Feathers\nApplication seperation\nIn order to seperate NestJS and Feathers each application runs in its own express instance. These express instances are then mounted on seperate paths under a common root express instance.\nExample :Root-Express-App \n├─ api/v1/ --> Feathers-App\n├─ api/v3/ --> NestJS-AppThis ensures that each application can run its own middleware stack for authentication, error handling, logging etc.\nThe mount paths don't have any impact on the routes inside of the applications, e.g. the path /api/v3/news will translate to the inner path /news. That means that in terms of route matching each child application doesn't have to take any measures regarding the path prefix. It simply works as it was mounted to /.\nHowever note that when URLs are generated inside a child application the path prefix has to be prepended. Only then the generated URLs match the appropriate child application, e.g. the path /news has to be provided as the external path /api/v3/news.\nIt is possible (not very likely) that the server api is called with URLs that use the old schema without a path prefix. As a safety net for that we additionally mount the Feathers application as before under the paths:\n\n/ - for internal calls\n/api - for external calls\n\nWhen these paths are accessed an error with context [DEPRECATED-PATH] is logged.\nSetup\nThe whole application setup with all dependencies can be found in System Architecture. It contains information about how different application components are connected to each other.\nDebugger Configuration in Visual Studio Code\nFor more details how to set up Visual Studio Code, read this document.\nHow to name your branch and create a pull request (PR)\n\nTake the Ticket Number from JIRA (ticketsystem.dbildungscloud.de), e.g. SC-999\nName the feature branch beginning with Ticket Number, all words separated by dash \"-\", e.g. feature/SC-999-fantasy-problem\nCreate a PR on branch develop containing the Ticket Number in PR title\nKeep the WIP label as long as this PR is in development, complete PR checklist (is automatically added), keep or increase code test coverage, and pass all tests before you remove the WIP label. Reviewers will be added automatically.\n\nCommitting\nDefault branch: main\n\nGo into project folder\nCheckout to develop branch (or clone for the first time)\nRun git pull\nCreate a branch for your new feature named feature/BC-Ticket-ID-Description\nRun the tests (see above)\nCommit with a meaningful commit message(!) even at 4 a.m. and not stuff like \"dfsdfsf\"\nStart a pull request (see above) to branch develop to merge your changes\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/authorisation.html":{"url":"additional-documentation/nestjs-application/authorisation.html","title":"additional-page - Authorisation","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nNestJS Authorization Module\nObjectives\nBreaking down complexity and isolate it.\nOne place to solve a specific authorization for a scope.\nOne implementation to handle all different situations in our system.\nIt should not be possible to use it in a wrong way.\n\nYou should not need to understand the complete system, to know if something is authorized\n\nWe also want to avoid any specific code for modules, collections, or something else, in the authorization module.\nExplanation of Terms\nPermissions\nWe have string based permissions.\nFor examples check \"enum Permission\".\nIt includes all available permissions and is not seperated by concerns or abstraction levels.\nThe permissions have different implicit scopes like instance, school, or named scope like team and course.\n(Feature Flag Permissions)\nSome of the permissions are used like feature flags. We want to seperate and move these in the future.\nPlease keep that in mind, while becoming familiar with permissions.\nRoles\nWe have a role collection, where each role has a permissions array that includes string based permissions.\nRoles inherit permissions from the roles they have in their \"roles\" field.\nLike the \"user\" role, some of these roles are abstract and only used for inheritance.\nSome others are scope based with a prefix name like team*, or course*.\nThe \"real\" user roles by name are expert, student, teacher and administrator. All of these are in the school scope and the superhero is in the scope of an instance.\n\nIn future we want to remove the inherit logic.\nWe want to add scope types to each role.\nAdd more technical users for the instance scope.\n\nEntities\nThe entities are the representation of a single document of the collection, or the type.\nThey are used for authorization for now, but should be replaced by domain objects soon.\nDomain Objects\nThey are not really introduced. They should map between the repository layer and the domain.\n\nIn future they are the base for authorization and the authorization service doesn't know anything about entities anymore.\n\nScopes\nEverything what the system, or a user wants to do, is executed in a scope.\nA scope means an area like the complete instance, the school, the course, the user itself and so on.\nThe scopes are highly bind to the real domain objects that we have in our domain.\nScope Actions\nThe permission for a base action, like they are defined in CRUD operations, is needed to execute something in a scope.\nThe most implicit action you ever need is the \"read\" action. That means, you must have the authorization to \"read\" the scope, otherwise it should not exist for you. :-)\nThe other possible action is to have write access to the scope.\nIt is a combination of delete, edit, create from CRUD side.\n\nFrom our current perspective, we need no differentiation.\nBut we force the implementation in a way, that allows us to add some more.\n\nScope Permission\nWe have different situations where it is hard to say you can write/read to the domain scope.\nWe need the possibility to define different permissions for a single domain scope, or a single domain object it self.\n\nLet say the user can edit his own user account, but we want to disallow that they can change his age.\nBut an administrator should have the authorization to do it.\n\nor a other case..\n\nA student has limited permissions in a team, where he is only a member, but would have more permissions in a team, where he is the owner. So at this point, we need to distingush between instances of domain objects.\n\nUser(s)\nIn authorization scope it can be a system user, or a real user in our application.\nEach user has a role with permissions in the scope of the domain object they want to interact with.\nEach authorization requires a user.\nSystem Users\nWe have console operations, or operations based on API_KEYS that are used between internal services for already authorized operations like copy and copy files in file service.\nFor this we want to use system user and roles with own permissions.\n\nThey are not introduced for now\n\nRules\nThe rules are implemented with a strategy pattern and are called from the authorization service.\nThe implementation should solve the authorization for a domain object based on the executed action.\nIt implements a check for which domain object, entity, or additional conditions should be used.\n\nThe rule must validate our scope actions.\nWe highly recommend that every single operation and check in the rule is implemented as a additional method to keep the logic clean and moveable.\n\nUser (Role) Permissions vs Scope Based Permissions\nThe permissions of the user come from his role.\nThis permissions have no explicit scope. But implicitly the roles expert, student, teacher and administrator are in the school scope. The superhero is implicitly in the scope of the instance.\nIt exists also scope based permissions. A user can have different (scope)roles in different (domain)scopes. For example in teams where the student can have team member role in one team, or team adminstrator in another.\n\nIn future we want to switch the implicit scope of the user role permissions to explicit scopes like in teams.\nAt the moment we must handle scope-, user- and system-user-permissions as seperated special cases in our implementation.\nBy implementing user role permissions bind to scopes, we can do it in one way for all situations.\n\nHow should you Authorize an Operation?\nAuthorization must be handled in use cases (UC). They solve the authorization and orchestrate the logic that should be done in services, or private methods.\nYou should never implement authorization on service level, to avoid different authorization steps.\nWhen calling other internal micro service for already authorized operations please use a queue based on RabbitMQ.\n\nNot implemented but coming soon.\n\nHow to use Authorization Service\n\nPlease avoid to catch the errors of the authorization in UC.\nWe set empty array as required for passing permissions to make it visible that no string base permission is needed.\n\nExample 1 - Execute a Single Operation\nExample : this.authorizationService.checkPermission(user, course, AuthorizationContextBuilder.write([])\n // or\n this.authorizationService.hasPermission(user, course, AuthorizationContextBuilder.write([])\n // next orchestration stepsExample 2 - Set Permission(s) of User as Required\nExample :// Multiple permissions can be added. For a successful authorization, the user need all of them.\nawait this.authorizationService.hasPermission(userId, course, AuthorizationContextBuilder.read([Permissions.COURSE_VIEW]));\n// next orchestration stepsExample 4 - Define Context for Multiple Places\nExample :/** const **/\nexport const FileStorageAuthorizationContext = {\n create: AuthorizationContextBuilder.write([Permission.FILESTORAGE_CREATE]),\n read: AuthorizationContextBuilder.read([Permission.FILESTORAGE_VIEW]),\n update: AuthorizationContextBuilder.write([Permission.FILESTORAGE_EDIT]),\n delete: AuthorizationContextBuilder.write([Permission.FILESTORAGE_REMOVE]),\n};\n\n/** UC **/\nthis.authorizationService.hasPermission(userId, course, PermissionContexts.create);\n// do other orchestration stepsHow to use in our use cases\nExample - Create a school by superhero\nExample :async createSchoolBySuperhero(userId: EntityId, params: { name: string }) {\n\n const user = this.authorizationService.getUserWithPermissions(userId);\n this.authorizationService.hasAllPermissions(user, [Permission.SCHOOL_CREATE]);\n\n const school = new School(params);\n await this.schoolService.save(school);\n\n return true;\n}\nExample - Create user by admin\nExample :\nasync createUserByAdmin(userId: EntityId, params: { email: string, firstName: string, lastName: string, schoolId: EntityId }) {\n\n const user = this.authorizationService.getUserWithPermissions(userId);\n \n const context = AuthorizationContextBuilder.write([Permission.INSTANCE, Permission.CREATE_USER])\n await this.authorizationService.checkPermission(user, school, context);\n\n const newUser = new User(params)\n await this.userService.save(newUser);\n\n return true;\n}\nExample - Edit course by admin\nExample :// admin\nasync editCourseByAdmin(userId: EntityId, params: { courseId: EntityId, description: string }) {\n\n const course = this.courseService.getCourse(params.courseId);\n const user = this.authorizationService.getUserWithPermissions(userId);\n const school = course.school;\n\n const context = AuthorizationContextBuilder.write([Permission.INSTANCE, Permission.CREATE_USER]);\n this.authorizationService.checkPermissions(user, school, context);\n\n course.description = params.description;\n await this.courseService.save(course);\n\n return true;\n}\nExample - Create a Course\nExample :// User can create a course in scope a school, you need to check if he can it by school\nasync createCourse(userId: EntityId, params: { schoolId: EntityId }) {\n const user = this.authorizationService.getUserWithPermissions(userId);\n const school = this.schoolService.getSchool(params.schoolId);\n\n this.authorizationService.checkPermission(user, school\n {\n action: Actions.write,\n requiredPermissions: [Permission.COURSE_CREATE],\n }\n );\n\n const course = new Course({ school });\n await this.courseService.saveCourse(course);\n\n return course;\n}\nExample - Create a Lesson\nExample :// User can create a lesson to course, so you have a courseId\nasync createLesson(userId: EntityId, params: { courseId: EntityId }) {\n const course = this.courseService.getCourse(params.courseId);\n const user = this.authorizationService.getUserWithPermissions(userId);\n // check authorization for user and course\n this.authorizationService.checkPermission(user, course\n {\n action: Actions.write,\n requiredPermissions: [Permission.COURSE_EDIT],\n }\n );\n\n const lesson = new Lesson({course});\n await this.lessonService.saveLesson(lesson);\n\n return true;\n}How to write a rule\nSo a rule must validate our scope actions. For example we have a news for the school or course. The news has a creator and target model.\n\nAttention: The target model must be populated\n\nExample :@Injectable()\nexport class NewsRule extends BasePermission {\n constructor(private readonly authorizationHelper: AuthorizationHelper, private readonly schoolRule: SchoolRule, private readonly courseRule: CourseRule) {\n super();\n }\n\n // Is used to select the matching rule in the rule manager. Therefore we keep the condition to which case the rule\n // applies in the rule itself. In future we expect more complex conditions that could apply here.\n public isApplicable(user: User, entity: News): boolean {\n const isMatched = entity instanceof News;\n\n return isMatched;\n }\n\n public hasPermission(user: User, entity: News, context: AuthorizationContext): boolean {\n const { action, requiredPermissions } = context;\n\n // check required permissions passed by UC\n const hasPermission = this.authorizationHelper.hasAllPermissions(user, requiredPermissions);\n // check access to entity by property\n const isCreator = this.authorizationHelper.hasAccessToEntity(user, entity, ['creator']);\n let hasNewsPermission = false;\n\n if (action === Actions.read) {\n hasNewsPermission = this.parentPermission(user, entity, action);\n } else if (action === Actions.write) {\n hasNewsPermission = isCreator;\n }\n\n const result = hasPermission && hasNewsPermission;\n\n return result;\n }\n\n private parentPermission(user: User, entity: News, action: Actions): boolean {\n let hasParentPermission = false;\n // check by parentRule, because the schoolRule can contain extra logic\n // e.g. school is offline\n // or courseRule has complex permissions-resolves\n if (entity.targetModel === NewsTargetModel.School) {\n hasParentPermission = this.schoolRule.hasPermission(user, entity.target, { action, requiredPermissions: [] });\n } else if (entity.targetModel === NewsTargetModel.Course) {\n hasParentPermission = this.courseRule.hasPermission(user, entity.target, { action, requiredPermissions: [] });\n }\n\n return hasParentPermission;\n }\n}\nStructure of the Authorization Components\nfeathers-* (legacy/deprecated)\nIt exists a adapter to call featherJS endpoints that solve authorizations.\n\nThis service is only used in news and should not be used in any other place.\nWe want to remove it completly.\n\nAuthorization Module\nThe authorization module is the core of authorization. It collects all needed information and handles it behind a small interface. It exports the authoriation service that can be used in your use case over injections.\nReference.loader\nIt should be use only inside of the authorization module.\nIt is use to load registrated ressouces by the id and name of the ressource.\nThis is needed to solve the API requests from external services. (API implementation is missing for now)\n\nPlease keep in mind that it can have an impact on the performance if you use it wrongly.\nWe keep it as a seperate method to avoid the usage in areas where the domain object should exist, because we see the risk that a developer could be tempted by the ease of only passing the id.\n\nauthorization-context.builder\nWe export an authorization context builder to prepare the parameter for the authorization service called \"authorization context\".\nThis is optional and not required.\nBut it enables us to easily change the structure of the authorization context without touching many different places.\nshared/domain/interface/*\nrolename.enum\nAn enum that holds all avaible role names.\npermission.enum\nA enum that holds all avaible permission names, however it's mixing all domain scopes atm.\nWorking other Internal MicroServices\n\nExample FilesStorageService\n\nWe have the files storage service application that is a bundle of modules of this repository.\nThe application is startet as additional micro service.\nIt exists the need that the server application can call the file service.\nWe add a files storage client module to the server.\nThis module exports a service to communicate with the file service.\nFor communication it uses RabbitMQ.\nEvery operation must already be authorized in the UC of the server. There is no need to do it again in files storage service.\nFor this reason, we want the consumer of the RabbitMQ item to call the files storage service directly without authorization.\nLegacy Tech Stack FeatherJS Hooks\nIn featherJS all the authorization is done in hooks. Mostly before hooks and sometimes in after hooks.\nBefore and after means before, or after the database operation. For self writen services before, or after the call of the operation that should be executed.\nThey work similar to express middleware and bring their own request context.\nIt exists hooks that can be used for all http(s) calls, or for specific type based on CRUD operations.\nAdditionally it also exists the find operations that are a http(s) GET requests without the ID of a specific element.\nEach function that adds to the hooks will be executed in order. Hooks for all methods first, then hooks for specific methodes.\nEach hooks exists for a featherJS service that exposes directly the api endpoints directly. Additional it exists a global hook pattern for the whole application.\nExample: https://github.com/hpi-schul-cloud/schulcloud-server/blob/main/src/services/lesson/hooks/index.js#L232\nDesired Changes in Future\nSome small steps are done. But many next steps still exist.\nThey follow our general target.\nNext Steps\n\nImplementation of Scope Based Permissions as generell solution instead of User Permissions that has only implicit school scopes for now.\nRemove populate logic in reference loader.\nSolve eager loading in coursegroups.\nIntroduce RabbitMQ. Splitting Service(logic) from UC, that we can call services over the consumer for internal communication between micro services of already authorized operations.\nThink about: Move hasPermission checks from rules to a more generic place.\nRemove jwt decorator and cleanup copy logic.\nMove authorization-context.builder to authorization module.\nRemove inheritance from roles, because we want to write it explicitly into the collection documents.\nMoving role api endpoints to nestjs.\nFixing of dashboard to handle roles in the right way as superhero.\nSwitching entity based authorization to domain objects based in steps.\nCleanup of feature flags from user permissions.\nAdd existing feature flags to rules on places where it make sense.\nIntroduce instance as a scope to have an implemenation that handles all scopes/rules/permissions/user types in the same way.\n\nRefactoring Todos\n\nTask module should fully use authorization service.\nNews module should start to use authorization service.\n\nIs Needed\n\nWe can introduce a new layer called \"policy\" that combines different rules (any of them has their own matching strategy) for a single domain object between authorization and rule to reduce complexity in a single rule.\nWe can switch to a behaviour where rules register themself at the authorization service than.\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/code-style.html":{"url":"additional-documentation/nestjs-application/code-style.html","title":"additional-page - Code Style","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nCode Style\nFunction\nNaming\nThe name of a function should clearly communicate what it does. There should be no need to read the implementation of a function to understand what it does.\nThere are a few keywords that we use with specific meaning:\nis...\nisTask(), isPublished(), isAuthenticated(), isValid()\nA function with the prefix \"is...\" is checking wether the input belongs to a certain (sub)class, or fulfils a specific criteria.\nThe function should return a boolean, and have no sideeffects.\ncheck...\ncheckPermission(), checkInputIsValid()\nA function with the prefix \"check...\" is checking the condition described in its name, throwing an error if it does not apply.\nhas...\nhasPermission(),\nsimilar to \"is...\", the prefix \"has...\" means that the function is checking a condition, and returns a boolean. It does NOT throw an error.\nClasses\nOrder of declarations\nClasses are declared in the following order:\n\nproperties\nconstructor\nmethods\n\nExample:\nExample :export class Course {\n // 1. properties\n name: string;\n \n // more properties...\n\n // 2. constructor\n constructor(props: { name: string }) {\n // ...\n }\n\n // 3. methods\n getShortTitle(): string {\n // ...\n }\n\n // more methods...\n}\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/s3clientmodule.html":{"url":"additional-documentation/nestjs-application/s3clientmodule.html","title":"additional-page - S3ClientModule","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nS3 client module\nThis module allows to connect to the S3 storage with our abstraction layer.\nhow to use\nYou need to create a unique connection token and set it as the connection name in S3 configuration. And you must use this token, when injecting the S3 client into your service. This is very important, because multiple modules could potentially use the S3 client with different configurations.\nThe S3ClientModule.register method awaits an array of S3 configurations. Also you can create many connections to different S3 providers and buckets.\nExample :// your.config.ts\nexport const YOUR_S3_UNIQ_CONNECTION_TOKEN = \"YOUR_S3_UNIQ_CONNECTION_TOKEN\";\n\nconst s3Config: S3Config = {\n connectionName: YOUR_S3_UNIQ_CONNECTION_TOKEN, // Important!\n endpoint: \"\",\n region: \"\",\n bucket: \"\",\n accessKeyId: \"\",\n secretAccessKey: \"\",\n};\n\n// your.service.ts\n\n@Injectable()\nexport class FilesStorageService {\n constructor(\n @Inject(YOUR_S3_UNIQ_CONNECTION_TOKEN) // Important!\n private readonly storageClient: S3ClientAdapter)\n}\n\n// your.module.ts\n@Module({\n imports: [S3ClientModule.register([s3Config]),]\n providers: [YourService]\n})\n\nexport class YourModule {}\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"}} + "index": {"version":"2.3.9","fields":["title","body"],"fieldVectors":[["title/classes/AbstractAccountService.html",[0,0.239,1,6.094]],["body/classes/AbstractAccountService.html",[0,0.173,1,6.628,2,0.535,3,0.01,4,0.01,5,0.005,6,5.027,7,0.071,8,0.871,9,6.763,10,3.023,11,5.951,12,3.407,13,5.327,14,6.628,15,6.628,16,6.628,17,6.628,18,3.822,19,6.628,20,6.628,21,6.628,22,6.996,23,6.996,24,6.996,25,6.628,26,2.936,27,0.527,28,5.027,29,1.026,30,0.001,31,0.75,32,0.167,33,0.612,34,1.29,35,1.55,36,3.011,37,5.951,38,5.027,39,2.512,40,3.645,41,5.027,42,5.327,43,5.027,44,6.628,45,5.027,46,6.628,47,0.97,48,4.455,49,3.809,50,5.027,51,5.452,52,3.822,53,5.536,54,6.628,55,2.61,56,5.364,57,5.027,58,3.282,59,2.346,60,6.628,61,5.027,62,2.994,63,6.996,64,7.949,65,5.027,66,7.062,67,6.628,68,5.027,69,6.628,70,4.621,71,5.027,72,3.458,73,6.996,74,5.794,75,7.555,76,6.996,77,4.867,78,5.151,79,6.628,80,5.657,81,6.996,82,7.149,83,2.643,84,5.027,85,6.095,86,6.996,87,4.563,88,5.027,89,6.996,90,5.027,91,6.996,92,8.405,93,5.027,94,2.543,95,0.104,96,1.325,97,2.051,98,3.024,99,1.029,100,1.755,101,0.007,102,4.005,103,0,104,0]],["title/classes/AbstractUrlHandler.html",[0,0.239,105,5.472]],["body/classes/AbstractUrlHandler.html",[0,0.249,2,0.769,3,0.014,4,0.014,5,0.007,7,0.102,8,1.13,9,5.535,27,0.469,29,0.851,30,0.001,31,0.622,32,0.155,33,0.508,35,1.286,47,0.98,95,0.112,101,0.009,103,0.001,104,0,105,7.715,106,8.36,107,8.127,108,10.107,109,12.449,110,4.681,111,5.692,112,0.765,113,5.116,114,9.021,115,7.715,116,7.952,117,7.715,118,8.752,119,6.692,120,7.715,121,7.227,122,2.044,123,7.952,124,7.227,125,2.644,126,7.715,127,6.559,128,7.227,129,2.158,130,1.977,131,5.657,132,6.692,133,7.227,134,2.554,135,1.554,136,9.795,137,7.227,138,7.227,139,7.227,140,7.227,141,3.099,142,2.628,143,7.227,144,7.227,145,2.709,146,4.928,147,9.795,148,1.178,149,9.795,150,7.227,151,7.227,152,6.34,153,1.185,154,6.077,155,3.107,156,6.692,157,1.664,158,2.664]],["title/interfaces/AcceptConsentRequestBody.html",[159,0.714,160,5.842]],["body/interfaces/AcceptConsentRequestBody.html",[3,0.017,4,0.017,5,0.008,7,0.126,30,0.001,32,0.174,33,0.657,47,1.009,55,2.48,95,0.103,101,0.012,103,0.001,104,0.001,112,0.882,122,2.578,159,0.924,160,9.5,161,2.135,162,6.231,163,8.326,164,6.733,165,7.3,166,12.001,167,11.369,168,12.001,169,10.208,170,10.208,171,8.702,172,4.803,173,7.477,174,6.131,175,7.561,176,4.549,177,7.888,178,7.3]],["title/interfaces/AcceptLoginRequestBody.html",[159,0.714,179,5.64]],["body/interfaces/AcceptLoginRequestBody.html",[3,0.017,4,0.017,5,0.008,7,0.127,30,0.001,32,0.173,33,0.662,47,1.021,55,2.487,77,8.37,101,0.012,103,0.001,104,0.001,112,0.886,122,2.586,159,0.931,161,2.15,162,6.273,163,8.383,165,7.349,169,10.232,170,10.232,179,9.211,180,3.865,181,11.397,182,11.397,183,4.955,184,12.03,185,4.246]],["title/classes/AcceptQuery.html",[0,0.239,186,5.64]],["body/classes/AcceptQuery.html",[0,0.409,2,1.035,3,0.018,4,0.018,5,0.009,7,0.137,27,0.383,30,0.001,32,0.121,95,0.146,101,0.013,103,0.001,104,0.001,112,0.927,122,2.476,157,2.241,180,5.066,186,9.633,187,6.69,188,9.732,189,7.865,190,1.747,191,9.732,192,6.529,193,5.156,194,4.641,195,2.596,196,3.925,197,3.299,198,9.732,199,6.581,200,2.982,201,4.608,202,2.236,203,7.967,204,9.732]],["title/entities/Account.html",[94,3.515,205,1.416]],["body/entities/Account.html",[0,0.23,3,0.013,4,0.013,5,0.006,7,0.162,27,0.524,30,0.001,32,0.168,33,0.643,39,3.19,47,0.93,48,5.658,49,4.571,51,5.118,82,8.403,83,3.356,87,5.364,94,4.698,95,0.122,96,2.448,97,2.727,101,0.012,103,0,104,0,112,0.833,122,1.938,176,5.397,190,2.39,195,3.08,196,4.336,197,2.582,205,1.893,206,2.174,207,6.685,208,6.706,209,8.661,210,6.873,211,7.271,212,6.685,213,6.685,214,6.685,215,6.685,216,6.685,217,6.685,218,6.685,219,5.192,220,6.685,221,5.006,222,6.685,223,4.185,224,1.942,225,3.567,226,3.03,227,8.598,228,1.211,229,2.644,230,4.425,231,1.159,232,1.812,233,2.087,234,5.127,235,5.622,236,6.191,237,6.191,238,5.127,239,5.622,240,6.191,241,6.191,242,3.519,243,4.202,244,4.898,245,5.427,246,6.191,247,6.191,248,5.006,249,5.622,250,5.865,251,6.191]],["title/modules/AccountApiModule.html",[252,1.836,253,5.842]],["body/modules/AccountApiModule.html",[0,0.299,3,0.016,4,0.016,5,0.008,30,0.001,95,0.156,101,0.011,103,0.001,104,0.001,252,3.208,253,12.124,254,3.12,255,3.304,256,3.388,257,3.376,258,3.364,259,4.416,260,4.108,261,8.661,262,8.661,263,8.661,264,9.694,265,6.24,266,12.499,267,11.35,268,8.205,269,4.316,270,3.327,271,3.258,272,8.021,273,5.445,274,4.612,275,10.652,276,4.316,277,1.244,278,8.021,279,3.621,280,8.661,281,8.661,282,8.661,283,8.021]],["title/classes/AccountByIdBodyParams.html",[0,0.239,284,6.094]],["body/classes/AccountByIdBodyParams.html",[0,0.362,2,0.855,3,0.015,4,0.015,5,0.007,7,0.113,27,0.461,30,0.001,31,0.589,32,0.146,33,0.605,47,0.882,51,5.621,87,6.652,95,0.142,101,0.011,103,0.001,104,0.001,112,0.821,122,2.194,153,2.17,157,2.697,190,2.104,194,5.176,195,2.895,196,4.377,197,3.679,199,5.831,200,2.463,202,1.846,208,7.365,284,9.223,285,10.451,286,8.037,287,8.037,288,10.513,289,6.085,290,3.234,291,8.037,292,8.037,293,8.037,294,8.037,295,8.037,296,3.247,297,8.535,298,3.477,299,4.567,300,4.757,301,5.178,302,9.736,303,6.759,304,3.968,305,6.759]],["title/classes/AccountByIdParams.html",[0,0.239,306,6.094]],["body/classes/AccountByIdParams.html",[0,0.414,2,1.056,3,0.019,4,0.019,5,0.009,7,0.139,27,0.391,30,0.001,32,0.124,34,2.346,47,0.852,94,6.075,95,0.137,101,0.013,103,0.001,104,0.001,112,0.938,157,2.285,190,1.782,194,4.697,195,2.627,196,3.972,197,3.339,200,3.041,202,2.28,285,10.097,296,3.137,299,4.68,306,10.534,307,7.272,308,7.272,309,9.925]],["title/interfaces/AccountConfig.html",[159,0.714,310,6.094]],["body/interfaces/AccountConfig.html",[3,0.02,4,0.02,5,0.01,7,0.147,30,0.001,32,0.155,55,2.654,101,0.014,103,0.001,104,0.001,112,0.97,122,2.759,159,1.079,161,2.493,272,9.72,310,10.892,311,6.852,312,11.988,313,12.654]],["title/controllers/AccountController.html",[275,6.094,314,2.659]],["body/controllers/AccountController.html",[0,0.118,3,0.006,4,0.006,5,0.003,7,0.048,8,0.644,10,1.37,27,0.38,29,0.74,30,0.001,31,0.541,32,0.177,33,0.441,34,1.65,35,1.477,36,2.499,87,4.857,94,6.789,95,0.116,100,1.195,101,0.004,103,0,104,0,148,0.955,157,3.255,190,1.734,193,5.132,194,3.196,202,0.787,228,0.62,230,4.686,266,6.557,274,1.431,275,4.903,277,0.492,283,3.17,284,7.169,290,2.793,306,9.92,314,1.311,315,3.424,316,1.652,317,2.764,318,6.212,319,6.212,320,7.08,321,7.08,322,8.171,323,7.08,324,3.424,325,6.39,326,4.89,327,3.424,328,4.185,329,6.46,330,11.127,331,4.703,332,8.171,333,7.931,334,8.273,335,3.752,336,7.08,337,7.257,338,7.384,339,3.465,340,8.058,341,8.945,342,7.71,343,10.105,344,7.08,345,8.121,346,8.482,347,5.794,348,3.424,349,6.495,350,3.424,351,3.424,352,3.424,353,3.424,354,7.169,355,3.424,356,6.486,357,6.267,358,6.634,359,5.175,360,5.165,361,3.424,362,5.588,363,3.424,364,3.424,365,4.294,366,7.169,367,3.424,368,5.588,369,4.903,370,5.175,371,2.962,372,6.212,373,5.588,374,2.417,375,3.424,376,4.095,377,3.424,378,3.424,379,5.411,380,3.424,381,3.424,382,3.424,383,7.169,384,3.424,385,4.828,386,3.424,387,3.424,388,3.504,389,2.235,390,6.01,391,8.167,392,1.79,393,1.69,394,3.424,395,1.841,396,3.424,397,3.424,398,1.855,399,3.424,400,1.02,401,5.401,402,4.731,403,4.887,404,3.424,405,3.424,406,3.424,407,2.373,408,3.424,409,2.178,410,3.424,411,2.564,412,1.515,413,2.081,414,2.827,415,1.947,416,3.17,417,1.914,418,3.424,419,3.424,420,3.424,421,3.424,422,3.424,423,3.424,424,3.424,425,3.424,426,3.424,427,3.424,428,3.424]],["title/classes/AccountDto.html",[0,0.239,66,4.535]],["body/classes/AccountDto.html",[0,0.237,2,0.731,3,0.013,4,0.013,5,0.006,7,0.096,26,2.517,27,0.55,29,0.526,30,0.001,31,0.385,32,0.174,33,0.653,34,1.848,39,2.618,47,0.868,48,4.643,51,4.539,64,11.125,66,7.983,82,7.452,83,3.681,87,4.756,94,3.475,95,0.108,99,1.406,101,0.009,103,0,104,0,112,0.739,122,1.433,176,4.786,190,2.433,208,5.947,209,7.68,210,6.095,228,2.427,231,1.64,232,2.564,300,2.629,429,6.868,430,4.432,431,4.62,432,7.955,433,0.846,434,6.868,435,2.397,436,4.118,437,6.868,438,6.868,439,6.868,440,6.36,441,6.868,442,7.68,443,6.868,444,8.76,445,6.868,446,6.868,447,6.868,448,6.36,449,6.868,450,8.76,451,6.868,452,6.868,453,6.868,454,5.576,455,6.868,456,6.868,457,3.809,458,2.748,459,3.615,460,4.175,461,4.683,462,4.175,463,4.683]],["title/classes/AccountEntityToDtoMapper.html",[0,0.239,464,5.842]],["body/classes/AccountEntityToDtoMapper.html",[0,0.274,2,0.845,3,0.015,4,0.015,5,0.007,7,0.112,8,1.203,27,0.458,29,0.892,30,0.001,31,0.652,32,0.145,33,0.532,34,1.356,35,1.348,39,2.198,48,3.898,51,3.81,55,2.338,66,8.774,82,6.256,87,3.993,94,7.098,95,0.133,98,7.008,99,1.625,101,0.01,103,0.001,104,0.001,135,1.361,148,1.152,153,1.303,176,4.018,205,2.522,208,4.992,209,6.448,210,5.117,230,5.256,430,3.253,431,3.391,464,8.772,465,10.043,466,7.942,467,4.017,468,10.431,469,10.431,470,8.469,471,10.431,472,7.942,473,10.431,474,7.942,475,7.354,476,8.772,477,7.942,478,2.23,479,6.678,480,5.819,481,7.942,482,7.354,483,6.967,484,5.704,485,6.967,486,7.354,487,7.354,488,6.967,489,6.678,490,7.942,491,7.354,492,7.354,493,7.942,494,10.431,495,7.942,496,7.942,497,7.942,498,7.354]],["title/classes/AccountFactory.html",[0,0.239,499,5.64]],["body/classes/AccountFactory.html",[0,0.16,2,0.493,3,0.009,4,0.009,5,0.004,7,0.065,8,0.82,26,1.993,27,0.519,29,1.019,30,0.001,31,0.715,32,0.168,33,0.584,34,1.881,35,1.404,39,1.967,47,0.504,48,2.277,49,3.941,51,3.41,55,2.302,59,3.242,87,2.332,94,2.347,95,0.119,99,0.949,101,0.011,103,0,104,0,112,0.555,113,4.391,127,4.839,129,3.532,130,3.236,135,1.362,148,0.855,153,1.166,157,1.989,172,3.021,185,2.435,192,2.552,205,2.128,206,2.311,227,4.295,228,1.288,231,1.232,290,2.469,326,4.855,374,3.074,407,3.214,433,0.572,436,3.832,467,2.069,478,1.302,499,7.014,500,4.638,501,7.208,502,5.371,503,7.107,504,7.107,505,3.942,506,5.371,507,5.342,508,3.942,509,3.942,510,3.942,511,3.88,512,4.399,513,4.792,514,6.213,515,5.701,516,6.994,517,2.594,518,7.107,519,4.638,520,7.107,521,4.638,522,2.573,523,3.942,524,2.594,525,5.063,526,5.209,527,4.099,528,4.899,529,3.911,530,2.573,531,2.425,532,4.087,533,2.476,534,2.425,535,2.573,536,2.594,537,4.717,538,2.573,539,7.172,540,4.154,541,6.561,542,2.594,543,4.192,544,2.573,545,2.594,546,2.573,547,2.594,548,2.573,549,2.882,550,2.71,551,2.573,552,6.015,553,2.594,554,2.573,555,3.942,556,3.596,557,3.942,558,2.594,559,2.495,560,2.459,561,2.082,562,2.573,563,2.573,564,2.573,565,2.594,566,2.594,567,1.763,568,2.573,569,1.44,570,2.594,571,2.811,572,2.573,573,2.594,574,2.615,575,2.661,576,2.735,577,4.233,578,3.715,579,1.328,580,4.638,581,4.069,582,4.638,583,7.107,584,4.638,585,3.399,586,4.295,587,4.638,588,4.638]],["title/injectables/AccountIdmToDtoMapper.html",[589,0.926,590,5.64]],["body/injectables/AccountIdmToDtoMapper.html",[0,0.34,3,0.019,4,0.019,5,0.009,7,0.139,8,1.38,9,6.223,27,0.389,29,0.757,30,0.001,31,0.553,32,0.123,33,0.451,35,1.143,66,8.409,78,8.163,94,4.997,95,0.147,101,0.013,103,0.001,104,0.001,277,1.419,465,9.719,470,9.719,476,10.067,479,8.305,589,1.596,590,9.719,591,2.351,592,9.876,593,10.872,594,9.876,595,3.728]],["title/classes/AccountIdmToDtoMapperDb.html",[0,0.239,596,6.094]],["body/classes/AccountIdmToDtoMapperDb.html",[0,0.314,2,0.97,3,0.017,4,0.017,5,0.008,7,0.128,8,1.314,27,0.359,29,0.698,30,0.001,31,0.51,32,0.114,33,0.417,34,1.557,35,1.055,39,2.522,48,4.473,51,4.373,66,8.501,78,7.769,83,2.654,94,5.764,95,0.142,101,0.012,103,0.001,104,0.001,135,1.189,148,0.902,153,1.869,231,1.975,430,3.733,431,3.891,432,7.664,436,2.701,465,7.399,470,9.25,476,9.581,479,7.664,480,6.678,484,6.546,590,10.572,593,10.572,595,3.44,596,9.996,597,9.114,598,8.44,599,8.44,600,10.905,601,10.551,602,8.44,603,7.996,604,7.996]],["title/classes/AccountIdmToDtoMapperIdm.html",[0,0.239,605,6.094]],["body/classes/AccountIdmToDtoMapperIdm.html",[0,0.316,2,0.974,3,0.017,4,0.017,5,0.008,7,0.129,8,1.318,27,0.36,29,0.701,30,0.001,31,0.513,32,0.114,33,0.418,34,1.564,35,1.06,39,2.534,48,4.494,51,4.393,66,8.515,78,7.791,83,2.666,94,5.781,95,0.142,101,0.012,103,0.001,104,0.001,125,2.179,135,1.194,148,0.906,153,1.874,231,1.98,430,3.75,431,3.909,432,7.699,436,2.713,465,7.433,470,9.276,476,9.608,479,7.699,480,6.708,484,6.576,590,10.589,593,10.589,595,3.456,598,8.478,599,8.478,600,10.927,601,10.581,603,8.032,604,8.032,605,10.024,606,9.155]],["title/injectables/AccountLookupService.html",[589,0.926,607,5.842]],["body/injectables/AccountLookupService.html",[0,0.188,3,0.01,4,0.01,5,0.005,7,0.076,8,0.924,26,2.49,27,0.374,29,0.729,30,0.001,31,0.533,32,0.119,33,0.435,34,2.486,35,1.215,36,2.22,47,0.569,49,4.783,78,5.465,94,4.055,95,0.133,99,1.114,101,0.007,103,0,104,0,135,1.045,142,4.256,148,1.157,153,1.315,157,2.19,185,2.747,195,1.754,228,1.452,277,0.782,317,2.535,388,3.437,407,8.109,433,0.988,480,3.988,534,5.486,574,5.364,589,1.069,591,1.295,607,6.74,608,9.718,609,5.443,610,4.136,611,11.496,612,5.382,613,7.723,614,4.072,615,7.547,616,9.207,617,9.207,618,5.164,619,7.537,620,4.98,621,8.015,622,6.313,623,5.232,624,6.002,625,8.015,626,7.032,627,10.265,628,6.968,629,6.159,630,8.015,631,7.422,632,5.443,633,8.52,634,7.003,635,5.443,636,8.015,637,8.015,638,5.443,639,10.494,640,6.448,641,5.968,642,12.414,643,10.494,644,6.379,645,7.422,646,5.443,647,3.988,648,3.422,649,3.422,650,4.419,651,2.754,652,1.634,653,3.309,654,7.422,655,4.775,656,8.015,657,1.834,658,5.443,659,5.443,660,5.443]],["title/modules/AccountModule.html",[252,1.836,264,4.989]],["body/modules/AccountModule.html",[0,0.234,3,0.013,4,0.013,5,0.006,30,0.001,95,0.159,101,0.009,103,0,104,0,148,0.927,153,1.537,195,1.483,252,2.839,254,2.44,255,2.584,256,2.65,257,2.641,258,2.631,259,3.908,260,4,264,10.449,265,5.819,267,10.585,268,7.652,269,3.666,270,2.603,271,2.549,276,3.666,277,0.973,278,6.274,279,2.832,527,2.868,590,8.723,596,8.222,605,8.222,607,10.585,634,6.219,647,4.965,648,4.259,649,4.259,651,3.428,661,6.775,662,6.775,663,6.775,664,6.775,665,10.219,666,10.56,667,12.079,668,10.219,669,11.043,670,12.587,671,9.223,672,6.775,673,6.775,674,6.775,675,3.45,676,5.944,677,10.744,678,6.775,679,6.775,680,6.274,681,6.775,682,6.775,683,6.775,684,6.775,685,3.958,686,4.866,687,6.775,688,3.198]],["title/interfaces/AccountParams.html",[159,0.714,689,5.842]],["body/interfaces/AccountParams.html",[0,0.228,3,0.013,4,0.013,5,0.006,7,0.093,26,2.361,30,0.001,32,0.115,33,0.524,47,0.91,48,5.92,49,4.329,51,5.786,94,6.989,95,0.146,99,1.352,101,0.012,103,0,104,0,112,0.719,135,1.732,148,1.193,159,1.09,161,1.569,231,1.145,290,3.214,326,4.871,467,3.512,478,1.855,499,5.365,574,3.726,595,2.494,652,1.878,689,9.644,690,5.797,691,5.797,692,4.348,693,5.223,694,4.842,695,4.746,696,5.797,697,8.237,698,5.068,699,9.791,700,4.444,701,4.444,702,4.547,703,2.86,704,4.689,705,10.503,706,5.557,707,5.797,708,8.08,709,5.797,710,5.797,711,3.142,712,5.797,713,8.916,714,8.08,715,8.08,716,5.557,717,9.302,718,9.302,719,5.797,720,8.08,721,8.08,722,5.557,723,5.797,724,8.08,725,6.494,726,5.557]],["title/injectables/AccountRepo.html",[589,0.926,668,5.64]],["body/injectables/AccountRepo.html",[0,0.125,3,0.007,4,0.007,5,0.003,7,0.051,8,0.674,10,2.34,11,4.607,12,2.638,13,4.124,14,5.131,15,5.131,16,5.131,17,5.131,18,2.959,19,5.131,20,5.131,26,2.731,27,0.508,29,0.98,30,0.001,31,0.709,32,0.159,33,0.579,34,1.915,35,1.48,36,2.85,37,4.607,39,2.887,40,1.747,42,4.124,44,5.131,46,5.131,47,0.852,48,4.146,49,4.909,51,5.209,52,2.959,53,4.286,54,5.131,55,2.611,56,5.978,58,6.472,60,5.131,62,2.157,67,5.131,69,5.131,70,5.528,85,2.432,94,5.957,95,0.119,96,1.542,97,1.477,99,0.741,101,0.005,102,1.92,103,0,104,0,122,1.535,129,2.522,130,2.012,135,1.293,141,2.508,145,3.716,148,1.165,153,1.521,157,0.834,195,0.792,197,1.007,205,1.722,206,1.902,224,1.052,231,1.014,277,0.52,290,1.998,317,3.042,388,1.553,436,2.503,532,4.369,543,1.757,569,1.816,589,0.78,591,0.862,595,1.367,616,9.152,652,1.5,655,3.177,657,2.121,668,4.748,727,3.621,728,6.038,729,3.988,730,7.821,731,7.357,732,5.416,733,7.357,734,2.455,735,2.664,736,5.536,737,5.849,738,3.621,739,3.621,740,3.621,741,5.131,742,3.621,743,3.621,744,3.621,745,4.201,746,3.621,747,3.621,748,3.621,749,3.621,750,5.849,751,3.621,752,3.621,753,8.446,754,3.621,755,3.621,756,2.91,757,3.621,758,4.053,759,2.157,760,2.201,761,2.179,762,2.201,763,2.51,764,2.179,765,2.201,766,1.948,767,3.621,768,3.621,769,3.621,770,2.276,771,2.601,772,5.849,773,4.201,774,4.918,775,3.621,776,3.621,777,3.621,778,3.621,779,3.621,780,3.621,781,3.177,782,5.849,783,3.621,784,3.621,785,3.621,786,3.621,787,2.777,788,3.988,789,1.977,790,2.469,791,3.621,792,3.621,793,3.621,794,2.653,795,3.621,796,3.353,797,7.357,798,3.621,799,3.621,800,3.353,801,3.177,802,2.397,803,3.353,804,2.712,805,3.621,806,2.777,807,2.777,808,3.621,809,2.364,810,2.653,811,3.621,812,2.333,813,2.025,814,3.045,815,3.177,816,2.51,817,3.621,818,3.621,819,3.621]],["title/classes/AccountResponse.html",[0,0.239,334,5.64]],["body/classes/AccountResponse.html",[0,0.291,2,0.898,3,0.016,4,0.016,5,0.008,7,0.119,27,0.528,29,0.647,30,0.001,31,0.473,32,0.167,33,0.623,34,2.237,39,3.625,47,0.952,51,6.285,83,3.161,95,0.096,101,0.011,103,0.001,104,0.001,112,0.848,122,2.265,190,2.352,202,1.94,208,8.234,234,6.475,242,4.444,250,7.407,296,3.701,334,10.635,431,5.593,433,1.338,458,3.378,462,5.132,820,8.443,821,4.299,822,8.443,823,8.443,824,8.443,825,8.443,826,8.443,827,8.443]],["title/classes/AccountResponseMapper.html",[0,0.239,828,6.433]],["body/classes/AccountResponseMapper.html",[0,0.302,2,0.934,3,0.017,4,0.017,5,0.008,7,0.123,8,1.283,27,0.438,29,0.852,30,0.001,31,0.623,32,0.139,33,0.508,34,1.9,35,1.288,39,3.079,51,5.338,66,8.385,94,6.852,95,0.139,101,0.012,103,0.001,104,0.001,148,1.1,153,1.825,208,6.993,334,11.169,431,4.75,465,9.917,467,3.944,478,2.464,480,8.152,482,10.302,483,7.698,484,7.99,485,9.76,828,10.302,829,5.175,830,6.17,831,11.125,832,11.125,833,7.124,834,11.125,835,6.73,836,8.775,837,4.332,838,7.379]],["title/classes/AccountSaveDto.html",[0,0.239,64,5.472]],["body/classes/AccountSaveDto.html",[0,0.294,2,0.631,3,0.011,4,0.011,5,0.005,7,0.083,26,2.557,27,0.538,29,0.455,30,0.001,31,0.332,32,0.17,33,0.654,34,1.707,39,2.766,47,0.933,48,4.906,51,4.796,64,9.121,82,7.873,83,3.702,87,5.025,95,0.125,99,1.214,101,0.008,103,0,104,0,112,0.667,122,1.781,176,5.057,190,2.436,199,4.734,200,1.818,208,6.283,209,8.115,210,6.44,228,2.347,232,2.313,234,4.551,235,4.99,236,5.495,237,5.495,238,4.551,239,4.99,240,5.495,241,5.495,242,3.124,243,3.73,244,4.348,245,4.818,246,5.495,247,5.495,248,4.444,249,4.99,250,5.206,251,5.495,297,6.929,298,2.567,299,4.26,300,5.233,301,3.823,303,4.99,304,2.93,305,4.99,430,4.094,431,4.268,432,8.405,433,0.731,435,2.071,440,5.495,442,6.929,444,10.122,448,5.495,450,9.256,454,4.818,458,2.374,459,3.124,460,3.607,461,4.046,462,3.607,463,4.046,839,13.762,840,5.934,841,8.535,842,5.934,843,5.934,844,5.934,845,5.934,846,5.934,847,5.934,848,5.934,849,5.934,850,5.934,851,5.934,852,5.934,853,5.934,854,7.279,855,4.424,856,4.734,857,5.934,858,5.934,859,5.934]],["title/classes/AccountSearchListResponse.html",[0,0.239,372,6.094]],["body/classes/AccountSearchListResponse.html",[0,0.275,2,0.848,3,0.015,4,0.015,5,0.007,7,0.112,27,0.506,29,0.611,30,0.001,31,0.447,32,0.172,33,0.588,55,2.876,56,6.232,59,3.247,70,6.722,95,0.133,101,0.01,103,0.001,104,0.001,112,0.817,125,1.898,190,2.224,202,1.832,231,1.813,285,8.795,296,2.733,298,3.449,334,10.923,339,3.774,372,9.175,433,0.983,436,3.671,860,7.374,861,5.525,862,8.36,863,7.264,864,6,865,7.383,866,3.96,867,7.383,868,5.6,869,3.914,870,4.353,871,2.919,872,5.622,873,6.654,874,6.11,875,5.277,876,4.14,877,5.622,878,5.622,879,7.973,880,5.073,881,4.353]],["title/classes/AccountSearchQueryParams.html",[0,0.239,366,6.094]],["body/classes/AccountSearchQueryParams.html",[0,0.361,2,0.85,3,0.015,4,0.015,5,0.007,7,0.112,27,0.488,30,0.001,32,0.17,33,0.567,47,0.743,55,2.345,56,5.514,70,5.332,94,4.042,95,0.141,101,0.01,103,0.001,104,0.001,112,0.818,129,3.127,130,3.682,145,2.995,157,2.411,190,2.226,194,4.85,195,2.713,196,4.102,197,3.448,200,2.448,202,1.835,231,1.815,285,9.824,296,3.052,298,3.456,299,4.082,308,5.854,366,9.187,369,9.187,436,3.103,756,3.16,758,7.257,860,9.076,869,3.921,875,5.288,882,7.989,883,9.076,884,12.872,885,7.989,886,3.295,887,7.989,888,7.989,889,7.398,890,5.536,891,6.486,892,6.127,893,7.398,894,7.989,895,7.398,896,4.467,897,6.718,898,7.989,899,3.638,900,7.989]],["title/injectables/AccountServiceDb.html",[589,0.926,669,6.094]],["body/injectables/AccountServiceDb.html",[0,0.114,1,11.106,3,0.006,4,0.006,5,0.003,7,0.046,8,0.625,10,2.169,11,4.271,12,2.445,13,3.823,14,4.757,15,4.757,16,4.757,17,4.757,18,2.743,19,4.757,20,4.757,21,4.757,22,5.021,23,5.021,24,5.021,25,4.757,26,2.828,27,0.498,29,0.97,30,0.001,31,0.709,32,0.158,33,0.579,34,1.365,35,1.451,36,2.906,37,4.271,39,2.212,40,2.616,42,3.823,44,4.757,46,4.757,47,0.921,48,4.334,49,3.786,51,5.026,54,4.757,55,2.242,56,4.944,58,2.154,60,4.757,62,1.965,63,5.021,64,6.295,66,5.764,67,4.757,69,4.757,70,4.069,81,5.021,82,6.955,83,2.01,85,4.635,86,5.021,87,4.439,89,5.021,91,5.021,92,6.391,94,5.79,95,0.131,96,0.87,97,1.346,98,1.985,99,0.675,100,1.152,101,0.004,103,0,104,0,125,1.643,129,0.985,130,0.903,135,1.635,142,1.972,145,2.032,148,1.252,153,1.645,176,1.669,208,2.074,209,2.679,210,2.126,228,0.983,231,0.94,233,1.03,277,0.474,317,3.048,346,2.418,347,1.691,393,1.629,400,0.983,433,0.407,436,3.63,464,2.775,475,6.391,478,0.926,484,3.894,485,2.895,486,3.056,487,3.056,488,4.757,489,6.721,491,3.056,498,7.401,579,1.552,589,0.723,591,0.785,607,8.434,608,7.401,631,5.021,645,5.021,652,2.045,657,3.053,668,7.706,669,4.757,675,1.68,676,2.895,680,3.056,745,3.894,758,2.287,838,2.775,901,3.3,902,5.422,903,3.056,904,3.3,905,3.3,906,3.3,907,5.422,908,3.3,909,3.3,910,3.3,911,3.3,912,3.3,913,3.3,914,3.3,915,3.3,916,3.3,917,3.3,918,3.3,919,3.3,920,3.3,921,3.3,922,3.3,923,2.775,924,2.895,925,3.3,926,10.849,927,5.422,928,10.03,929,8.829,930,3.3,931,3.3,932,5.021,933,3.3,934,3.3,935,3.3,936,3.3,937,5.422,938,2.679,939,5.422,940,5.422,941,5.422,942,5.422,943,5.422,944,5.422,945,5.422,946,5.422,947,5.422,948,5.422,949,8.829,950,7.992,951,6.902,952,3.3,953,3.3,954,3.3,955,3.3,956,5.422,957,3.3,958,3.3,959,3.3,960,3.3,961,3.3,962,2.327,963,3.3,964,3.3,965,3.3]],["title/injectables/AccountValidationService.html",[589,0.926,667,6.094]],["body/injectables/AccountValidationService.html",[0,0.23,3,0.013,4,0.013,5,0.006,7,0.094,8,1.071,26,2.897,27,0.454,29,0.883,30,0.001,31,0.646,32,0.144,33,0.527,35,1.235,36,2.652,39,3.628,47,0.945,48,5.658,49,2.523,59,3.312,85,8.633,94,4.698,95,0.138,99,1.368,101,0.009,103,0,104,0,135,1.504,142,2.431,148,1.055,205,1.363,230,4.425,268,7.815,277,0.96,279,2.795,317,2.884,400,1.991,433,0.824,464,5.622,480,4.898,483,5.865,531,3.495,589,1.238,591,1.591,652,1.363,657,2.441,667,8.146,668,10.177,676,5.865,702,5.267,756,4.56,903,6.191,932,6.191,966,6.685,967,9.285,968,9.285,969,9.285,970,6.685,971,9.285,972,6.685,973,9.285,974,6.685,975,9.285,976,6.685,977,6.685,978,6.685,979,6.191,980,3.708,981,4.064,982,5.266,983,4.307,984,5.622,985,3.87,986,6.191,987,6.191,988,6.685,989,6.685,990,6.685,991,6.685,992,6.191,993,9.285,994,9.285,995,6.685,996,6.685,997,4.202,998,3.156,999,6.685,1000,6.685,1001,6.685,1002,6.685,1003,9.285,1004,6.685,1005,9.285,1006,6.685]],["title/modules/AdminApiServerModule.html",[252,1.836,1007,6.094]],["body/modules/AdminApiServerModule.html",[0,0.346,3,0.014,4,0.014,5,0.007,30,0.001,32,0.093,87,3.762,95,0.161,96,1.973,101,0.013,103,0,104,0,135,0.976,148,0.74,195,1.637,206,2.434,252,3.329,254,2.695,255,2.854,256,2.927,257,2.916,258,2.906,259,2.722,260,2.786,265,6.123,269,3.923,270,2.875,271,2.815,276,4.726,277,1.075,290,1.77,467,2.179,478,2.101,540,2.628,623,4.885,649,4.704,651,3.786,1007,12.085,1008,7.483,1009,7.483,1010,10.214,1011,8.842,1012,6.929,1013,6.929,1014,5.186,1015,5.102,1016,6.38,1017,7.837,1018,6.565,1019,7.347,1020,6.565,1021,4.821,1022,6.949,1023,7.07,1024,6.949,1025,4.821,1026,4.704,1027,2.293,1028,6.949,1029,5.025,1030,6.929,1031,7.974,1032,6.929,1033,6.929,1034,5.739,1035,6.292,1036,8.677,1037,6.929,1038,10.16,1039,5.894,1040,5.186,1041,5.102,1042,4.952,1043,6.949,1044,8.797,1045,4.885]],["title/modules/AdminApiServerTestModule.html",[252,1.836,1044,6.094]],["body/modules/AdminApiServerTestModule.html",[0,0.335,3,0.014,4,0.014,5,0.007,8,0.823,27,0.281,29,0.547,30,0.001,31,0.4,32,0.121,33,0.326,35,0.826,59,2.216,87,3.588,95,0.159,96,1.882,101,0.013,103,0,104,0,135,0.931,148,0.706,195,1.562,206,2.321,252,3.275,254,2.571,255,2.722,256,2.792,257,2.782,258,2.771,259,2.596,260,2.657,265,6.049,269,3.799,270,2.742,271,2.685,276,4.635,277,1.025,290,1.688,467,2.828,478,2.004,540,3.41,623,4.659,649,4.486,651,3.611,1007,6.261,1010,10.073,1011,6.622,1012,8.994,1013,6.609,1014,4.946,1015,4.866,1016,7.024,1017,7.65,1018,6.261,1019,7.116,1020,6.261,1021,4.598,1022,6.73,1023,6.848,1024,6.73,1025,4.598,1026,4.486,1027,2.187,1028,8.212,1029,8.324,1030,6.609,1031,9.225,1032,6.609,1033,6.609,1034,5.474,1035,6.002,1036,8.511,1037,6.609,1038,9.965,1039,5.622,1040,4.946,1041,4.866,1042,4.724,1043,6.73,1044,12.265,1045,6.34,1046,7.137,1047,7.137,1048,4.946,1049,7.137]],["title/interfaces/AdminIdAndToken.html",[159,0.714,1050,5.64]],["body/interfaces/AdminIdAndToken.html",[0,0.199,3,0.007,4,0.007,5,0.003,7,0.05,30,0.001,31,0.469,32,0.115,34,1.844,36,2.815,39,3.589,47,1.021,51,4.017,55,1.462,72,2.644,83,1.682,87,3.661,95,0.096,101,0.011,103,0,104,0,112,0.451,122,2.054,135,1.408,148,1.33,153,1.509,159,0.749,161,0.847,176,5.462,185,1.222,195,0.78,228,1.047,231,0.618,277,0.512,290,1.722,317,2.883,371,3.86,379,4.262,402,2.067,433,0.44,532,1.323,540,1.252,559,1.918,567,2.768,569,1.107,571,4.533,579,2.632,589,0.77,652,2.476,657,2.252,688,1.684,702,1.761,711,3.778,725,4.073,789,3.154,809,4.753,871,3.065,890,2.472,1050,8.764,1051,2.896,1052,2.999,1053,4.965,1054,2.011,1055,6.42,1056,2.298,1057,2.809,1058,2.735,1059,4.551,1060,3.939,1061,4.431,1062,4.431,1063,4.431,1064,4.69,1065,1.751,1066,2.999,1067,2.999,1068,2.999,1069,2.999,1070,2.999,1071,2.999,1072,2.562,1073,2.999,1074,2.999,1075,2.999,1076,2.269,1077,7.734,1078,1.564,1079,2.896,1080,1.992,1081,2.432,1082,2.515,1083,2.011,1084,2.432,1085,2.999,1086,5.468,1087,5.297,1088,5.38,1089,5.726,1090,6.399,1091,7.87,1092,6.611,1093,6.123,1094,2.735,1095,2.999,1096,2.999,1097,2.515,1098,2.999,1099,2.999,1100,2.896,1101,2.809,1102,2.999,1103,5.585,1104,2.896,1105,2.999,1106,2.999,1107,2.999,1108,2.896,1109,2.999,1110,2.999,1111,2.999,1112,7.446,1113,2.999,1114,2.999,1115,1.365,1116,2.999,1117,2.999,1118,2.999,1119,2.999,1120,2.999,1121,2.999,1122,2.999,1123,2.999,1124,8.279,1125,8.279,1126,2.999,1127,2.999,1128,2.999,1129,2.999,1130,2.999,1131,2.999,1132,2.472,1133,2.999,1134,2.999,1135,2.999,1136,2.999,1137,2.999,1138,2.999,1139,2.999,1140,2.999,1141,2.999,1142,2.999,1143,2.999,1144,2.999,1145,2.999,1146,2.999,1147,4.431,1148,4.431,1149,2.999,1150,2.999,1151,2.999,1152,2.999,1153,2.999,1154,2.432,1155,2.999,1156,2.999,1157,2.999,1158,4.858,1159,2.999,1160,4.858,1161,4.858,1162,2.999,1163,2.999,1164,2.735,1165,6.123,1166,4.819,1167,4.474,1168,2.999,1169,3.344,1170,5.262,1171,4.431,1172,5.453,1173,6.123,1174,6.123,1175,6.123,1176,2.735,1177,2.999,1178,2.999,1179,2.999,1180,7.734,1181,6.123,1182,6.123,1183,6.123,1184,2.999,1185,4.858,1186,4.858,1187,2.999,1188,2.999,1189,2.999,1190,2.999,1191,2.999,1192,4.858,1193,3.824]],["title/classes/AjaxGetQueryParams.html",[0,0.239,1194,6.094]],["body/classes/AjaxGetQueryParams.html",[0,0.384,2,0.938,3,0.017,4,0.017,5,0.008,7,0.124,27,0.522,30,0.001,32,0.165,33,0.637,47,1.006,95,0.101,101,0.012,103,0.001,104,0.001,112,0.871,190,2.383,200,2.701,299,5.284,300,5.081,454,7.155,856,6.188,1194,9.787,1195,6.694,1196,8.814,1197,6.633,1198,7.364,1199,9.388,1200,9.388,1201,9.388,1202,8.814,1203,11.287,1204,8.814,1205,8.814,1206,8.814,1207,8.814]],["title/injectables/AjaxPostBodyParamsTransformPipe.html",[589,0.926,1208,6.094]],["body/injectables/AjaxPostBodyParamsTransformPipe.html",[0,0.396,3,0.015,4,0.015,5,0.007,7,0.108,8,1.18,27,0.304,29,0.591,30,0.001,31,0.432,32,0.096,33,0.353,35,0.893,36,2.165,95,0.14,101,0.01,103,0,104,0,125,2.435,130,3.845,135,1.498,145,2.891,148,1.012,153,1.265,157,1.776,193,4.446,200,2.363,277,1.108,317,2.487,579,2.208,589,1.364,591,1.836,657,1.765,806,7.847,1172,7.662,1195,5.052,1208,8.976,1209,10.232,1210,7.713,1211,7.879,1212,6.592,1213,7.305,1214,8.976,1215,6.155,1216,8.976,1217,10.232,1218,7.983,1219,10.232,1220,5.87,1221,11.784,1222,8.059,1223,7.662,1224,7.349,1225,9.475,1226,8.976,1227,10.232,1228,9.928,1229,7.713,1230,10.232,1231,6.767,1232,4.464,1233,6.262,1234,6.262,1235,6.262,1236,7.713,1237,2.274,1238,5.915,1239,7.713,1240,4.549,1241,7.713,1242,6.486,1243,7.713,1244,7.713,1245,7.713,1246,7.713,1247,7.142,1248,7.713,1249,7.713]],["title/classes/AjaxPostQueryParams.html",[0,0.239,1250,6.094]],["body/classes/AjaxPostQueryParams.html",[0,0.376,2,0.904,3,0.016,4,0.016,5,0.008,7,0.119,27,0.528,30,0.001,32,0.167,33,0.644,34,2.055,47,1.012,95,0.097,101,0.011,103,0.001,104,0.001,112,0.851,190,2.411,200,2.603,299,5.323,300,5.141,454,6.898,856,6.045,1195,6.743,1197,6.52,1198,7.239,1199,9.228,1200,9.228,1201,9.228,1203,11.515,1250,9.561,1251,8.496,1252,8.496,1253,8.496,1254,8.496,1255,8.496,1256,8.496,1257,8.496]],["title/modules/AntivirusModule.html",[252,1.836,1258,6.094]],["body/modules/AntivirusModule.html",[0,0.3,3,0.017,4,0.017,5,0.008,8,1.003,27,0.342,29,0.666,30,0.001,31,0.487,32,0.108,33,0.398,35,1.007,95,0.146,101,0.011,103,0.001,104,0.001,135,1.135,148,1.094,153,1.427,161,2.066,197,2.419,252,3.215,254,3.133,259,3.164,260,3.239,277,1.249,467,3.222,540,3.055,685,6.463,686,6.248,1016,7.741,1045,7.222,1048,6.028,1258,10.674,1259,8.699,1260,10.395,1261,8.699,1262,10.245,1263,7.632,1264,10.674,1265,8.699,1266,8.699,1267,6.248,1268,5.345,1269,8.699,1270,7.062,1271,8.699,1272,5.468,1273,7.632,1274,5.679,1275,7.632,1276,12.166,1277,11.064,1278,7.632,1279,8.699,1280,8.699,1281,8.699,1282,6.852,1283,6.133,1284,8.699,1285,8.699,1286,8.699]],["title/interfaces/AntivirusModuleOptions.html",[159,0.714,1260,5.64]],["body/interfaces/AntivirusModuleOptions.html",[3,0.017,4,0.017,5,0.008,7,0.128,30,0.001,32,0.17,47,1.038,55,2.492,101,0.016,103,0.001,104,0.001,112,0.889,122,2.795,159,1.276,161,2.16,1080,3.135,1260,9.237,1268,8.232,1270,10.876,1272,8.421,1274,8.745,1283,9.174,1287,7.977,1288,10.942,1289,7.382,1290,5.858,1291,6.018,1292,6.018]],["title/injectables/AntivirusService.html",[589,0.926,1264,6.094]],["body/injectables/AntivirusService.html",[0,0.214,3,0.012,4,0.012,5,0.006,7,0.087,8,1.016,27,0.439,29,0.854,30,0.001,31,0.624,32,0.139,33,0.51,35,1.185,36,1.863,47,0.953,95,0.144,101,0.008,103,0,104,0,110,2.144,125,2.995,135,1.596,142,3.203,148,0.871,153,1.68,158,2.285,161,1.472,176,5.182,195,2.241,197,1.724,228,1.856,277,0.891,317,2.651,414,3.137,433,1.085,540,3.596,579,2.521,589,1.174,591,1.476,629,4.636,652,2.494,657,2.015,688,2.927,711,3.626,1080,2.137,1262,10.325,1263,5.439,1264,7.726,1289,9.053,1290,7.184,1291,4.103,1292,4.103,1293,6.2,1294,8.806,1295,7.405,1296,7.405,1297,5.033,1298,9.163,1299,10.242,1300,6.2,1301,8.806,1302,6.184,1303,6.2,1304,5.008,1305,8.806,1306,6.2,1307,8.806,1308,6.2,1309,8.009,1310,4.371,1311,4.047,1312,4.135,1313,4.227,1314,4.543,1315,5.033,1316,5.741,1317,3.897,1318,4.755,1319,4.884,1320,6.2,1321,10.242,1322,6.2,1323,6.2,1324,10.242,1325,6.2,1326,6.2,1327,6.2,1328,4.668,1329,5.353,1330,7.405,1331,6.2,1332,6.2,1333,8.806,1334,6.2,1335,8.806,1336,6.2,1337,6.2,1338,6.2,1339,5.439,1340,6.2,1341,6.2,1342,5.439,1343,5.214,1344,6.2,1345,6.2,1346,6.2,1347,6.2,1348,6.2,1349,6.2,1350,6.2]],["title/interfaces/AntivirusServiceOptions.html",[159,0.714,1289,5.64]],["body/interfaces/AntivirusServiceOptions.html",[3,0.018,4,0.018,5,0.009,7,0.132,30,0.001,32,0.164,47,1.036,55,1.885,101,0.017,103,0.001,104,0.001,112,0.907,122,2.822,159,1.295,161,2.23,1080,3.238,1260,7.624,1268,8.309,1270,10.979,1272,8.501,1274,8.828,1283,6.621,1287,8.239,1288,7.897,1289,9.424,1290,6.05,1291,6.215,1292,6.215]],["title/classes/ApiValidationError.html",[0,0.239,1351,4.665]],["body/classes/ApiValidationError.html",[0,0.27,2,0.833,3,0.015,4,0.015,5,0.007,7,0.11,8,1.192,27,0.527,29,0.6,30,0.001,31,0.439,32,0.173,33,0.529,35,0.907,47,0.821,55,1.572,95,0.118,101,0.01,103,0,104,0,112,0.807,155,3.903,190,2.296,228,2.517,231,1.792,233,2.445,277,1.125,338,7.56,402,2.803,433,0.965,436,3.893,561,3.516,644,4.762,868,5.903,871,2.868,998,5.461,1078,3.435,1080,4.409,1115,4.429,1351,6.941,1352,10.337,1353,7.833,1354,8.648,1355,7.058,1356,7.553,1357,7.254,1358,7.833,1359,9.393,1360,5.184,1361,4.494,1362,5.184,1363,5.184,1364,5.184,1365,5.184,1366,5.184,1367,4.813,1368,4.417,1369,6.17,1370,6.587,1371,7.254,1372,5.442,1373,6.219,1374,5.047,1375,6.008]],["title/classes/ApiValidationErrorResponse.html",[0,0.239,1376,6.094]],["body/classes/ApiValidationErrorResponse.html",[0,0.227,2,0.7,3,0.012,4,0.012,5,0.006,7,0.092,8,1.058,27,0.514,29,0.703,30,0.001,31,0.514,32,0.172,33,0.523,35,0.761,47,0.927,55,1.32,95,0.131,101,0.009,103,0,104,0,112,0.717,129,2.741,130,2.511,135,1.379,155,3.63,157,2.113,219,3.677,228,2.434,231,1.591,277,0.945,338,7.864,393,3.247,403,4.644,415,3.739,433,0.81,436,3.567,569,2.85,652,2.156,871,3.361,998,5.683,1078,2.883,1080,4.15,1115,4.381,1220,5.266,1351,8.374,1355,6.066,1359,8.585,1367,8.022,1372,4.832,1373,7.699,1376,8.053,1377,11.444,1378,6.576,1379,7.595,1380,6.874,1381,7.685,1382,9.179,1383,9.179,1384,9.179,1385,9.277,1386,6.576,1387,6.576,1388,5.467,1389,6.576,1390,4.086,1391,6.576,1392,5.769,1393,3.739,1394,6.576,1395,6.089,1396,4.237,1397,6.089,1398,9.179,1399,11.444,1400,6.576,1401,6.576,1402,6.576,1403,6.576,1404,6.576,1405,6.576,1406,9.179,1407,6.576,1408,6.576,1409,6.576,1410,6.576,1411,6.576,1412,6.576,1413,6.576,1414,6.576,1415,6.576]],["title/interfaces/AppStartInfo.html",[159,0.714,1416,6.094]],["body/interfaces/AppStartInfo.html",[0,0.295,3,0.021,4,0.016,5,0.008,7,0.12,30,0.001,32,0.159,33,0.615,47,0.993,55,2.422,95,0.098,101,0.011,103,0.001,104,0.001,112,0.855,125,2.872,135,1.115,148,0.846,159,0.879,161,2.031,228,1.55,339,3.21,385,5.83,400,2.547,876,4.44,1027,2.62,1115,3.273,1237,2.521,1283,8.971,1416,10.588,1417,7.918,1418,7.191,1419,11.537,1420,11.162,1421,11.162,1422,4.482,1423,5.166,1424,9.601,1425,7.191,1426,3.838,1427,7.918,1428,10.134,1429,7.918,1430,10.134,1431,7.918,1432,10.134,1433,7.918,1434,5.509,1435,7.918]],["title/classes/AppStartLoggable.html",[0,0.239,1425,5.842]],["body/classes/AppStartLoggable.html",[0,0.3,2,0.925,3,0.023,4,0.017,5,0.008,7,0.122,8,1.276,27,0.435,29,0.666,30,0.001,31,0.487,32,0.108,33,0.398,35,1.007,47,0.864,55,1.746,95,0.099,101,0.011,103,0.001,104,0.001,125,2.896,135,1.135,148,0.86,159,0.894,228,1.576,339,3.246,385,5.931,400,2.591,433,1.072,876,6.317,1027,2.665,1115,3.33,1237,3.262,1283,6.133,1416,11.233,1417,11.266,1418,7.315,1419,9.706,1420,7.632,1421,7.632,1422,4.983,1423,5.743,1424,9.706,1425,9.304,1426,5.747,1427,8.056,1428,10.245,1429,8.056,1430,10.245,1431,8.056,1432,10.245,1433,8.056,1434,5.605,1435,8.056,1436,8.699,1437,8.699,1438,8.699]],["title/interfaces/AppendedAttachment.html",[159,0.714,1439,5.202]],["body/interfaces/AppendedAttachment.html",[3,0.017,4,0.017,5,0.008,7,0.128,30,0.001,31,0.512,47,1.03,77,5.885,101,0.012,103,0.001,104,0.001,112,0.891,159,1.427,161,2.169,231,2.325,1240,5.387,1439,9.318,1440,7.006,1441,9.759,1442,10.288,1443,7.006,1444,5.066,1445,8.544,1446,6.693,1447,6.693,1448,9.318,1449,7.006,1450,8.544,1451,8.751,1452,8.751,1453,8.544,1454,7.011,1455,6.84,1456,6.84,1457,7.006,1458,7.006]],["title/classes/AuthCodeFailureLoggableException.html",[0,0.239,1459,5.842]],["body/classes/AuthCodeFailureLoggableException.html",[0,0.3,2,0.925,3,0.017,4,0.017,5,0.008,7,0.122,8,1.276,27,0.435,29,0.666,30,0.001,31,0.487,32,0.138,33,0.398,35,1.007,47,0.864,59,2.701,95,0.126,101,0.011,103,0.001,104,0.001,148,0.86,185,3.791,228,1.576,231,1.918,339,2.552,365,4.919,400,2.591,433,1.072,436,2.578,998,6.044,1027,2.665,1080,4.194,1115,3.33,1422,4.983,1423,5.743,1426,5.747,1459,9.304,1460,11.064,1461,8.285,1462,4.787,1463,9.588,1464,8.699,1465,6.028,1466,11.266,1467,7.315,1468,5.743,1469,6.043,1470,4.864,1471,6.374,1472,4.864,1473,8.699,1474,11.064,1475,8.049,1476,5.288,1477,4.517,1478,4.714,1479,8.699]],["title/modules/AuthenticationApiModule.html",[252,1.836,1480,5.472]],["body/modules/AuthenticationApiModule.html",[0,0.326,3,0.018,4,0.018,5,0.009,30,0.001,95,0.151,101,0.012,103,0.001,104,0.001,252,3.34,254,3.406,255,3.607,256,3.7,257,3.686,258,3.673,259,4.597,260,4.34,269,4.561,270,3.633,271,3.557,273,5.945,274,4.873,276,4.561,277,1.358,1480,11.125,1481,9.457,1482,9.457,1483,9.457,1484,9.266,1485,11.604,1486,9.457,1487,11.088,1488,9.457,1489,9.457,1490,8.758]],["title/classes/AuthenticationCodeGrantTokenRequest.html",[0,0.239,1491,5.64]],["body/classes/AuthenticationCodeGrantTokenRequest.html",[0,0.296,2,0.914,3,0.016,4,0.016,5,0.008,7,0.121,27,0.53,29,0.658,30,0.001,31,0.481,32,0.168,33,0.392,47,0.984,95,0.098,101,0.011,103,0.001,104,0.001,112,0.857,232,2.974,433,1.058,435,2.997,998,6.66,1491,10.691,1492,13.689,1493,11.253,1494,8.587,1495,8.686,1496,9.818,1497,10.609,1498,10.609,1499,10.973,1500,8.587,1501,8.587,1502,10.161,1503,8.587,1504,8.587,1505,7.952,1506,7.221,1507,6.431,1508,7.952,1509,8.587,1510,8.587,1511,8.587,1512,8.587,1513,8.587,1514,8.587,1515,8.587,1516,7.534,1517,8.587]],["title/modules/AuthenticationModule.html",[252,1.836,1484,4.665]],["body/modules/AuthenticationModule.html",[0,0.189,3,0.01,4,0.01,5,0.005,30,0.001,32,0.068,95,0.16,101,0.007,103,0,104,0,135,1.374,153,0.9,252,2.526,254,1.977,255,2.093,256,2.147,257,2.139,258,2.131,259,3.477,260,3.559,264,8.429,265,5.425,268,7.134,269,3.154,270,2.108,271,2.064,276,3.154,277,0.788,279,2.294,579,1.571,628,3.268,647,4.021,648,3.45,665,9.527,671,8.599,1027,1.681,1372,2.889,1380,4.11,1484,9.781,1518,5.488,1519,5.488,1520,5.488,1521,5.488,1522,9.868,1523,9.527,1524,9,1525,8.599,1526,10.156,1527,10.295,1528,9.527,1529,9.868,1530,10.295,1531,8.274,1532,10.295,1533,10.295,1534,10.295,1535,5.488,1536,4.815,1537,4.11,1538,5.488,1539,4.455,1540,3.942,1541,5.488,1542,9.559,1543,4.815,1544,8.063,1545,3.869,1546,8.841,1547,11.224,1548,4.11,1549,4.615,1550,4.815,1551,4.615,1552,5.082,1553,5.082,1554,4.815,1555,5.488,1556,5.488,1557,5.488,1558,5.488,1559,5.488,1560,5.488,1561,3.869,1562,4.323,1563,3.536,1564,5.082,1565,5.488,1566,4.815,1567,5.082,1568,3.803,1569,5.082,1570,5.488,1571,5.488,1572,5.488,1573,4.615,1574,5.488,1575,5.488,1576,5.488,1577,5.488,1578,5.488,1579,5.488,1580,5.488,1581,5.488,1582,3.942,1583,5.488,1584,5.488,1585,3.336,1586,5.488,1587,9.559,1588,5.488,1589,4.209,1590,5.488,1591,5.082,1592,5.488,1593,3.372,1594,5.488,1595,4.455,1596,5.488,1597,5.488,1598,3.237,1599,5.082,1600,5.488,1601,5.488]],["title/interfaces/AuthenticationResponse.html",[159,0.714,1602,6.094]],["body/interfaces/AuthenticationResponse.html",[0,0.181,3,0.01,4,0.01,5,0.005,7,0.074,30,0.001,32,0.066,36,1.112,47,0.993,51,3.748,55,1.055,87,3.928,94,3.952,95,0.118,101,0.007,103,0,104,0,112,0.61,122,1.097,135,1.837,142,1.912,145,2.928,148,1.299,153,1.693,158,1.938,159,0.54,161,1.249,185,1.802,189,4.8,228,1.689,277,0.755,316,2.537,317,1.139,326,1.998,339,2.735,379,5.883,414,6.827,478,1.476,484,3.776,579,2.236,581,6.854,652,2.56,657,1.203,711,3.424,756,2.08,802,3.48,871,3.413,1080,1.813,1176,5.992,1372,2.768,1585,6.703,1602,9.053,1603,4.613,1604,4.613,1605,7.879,1606,9.053,1607,6.57,1608,4.869,1609,4.869,1610,3.853,1611,4.269,1612,4.869,1613,4.421,1614,4.869,1615,4.869,1616,4.613,1617,6.854,1618,4.869,1619,3.231,1620,4.869,1621,4.869,1622,3.776,1623,4.613,1624,4.421,1625,4.269,1626,2.916,1627,6.695,1628,8.178,1629,4.869,1630,4.613,1631,6.854,1632,6.854,1633,4.613,1634,10.7,1635,4.869,1636,4.613,1637,9.674,1638,9.674,1639,11.211,1640,4.869,1641,4.613,1642,9.674,1643,4.869,1644,9.556,1645,4.869,1646,4.869,1647,7.568,1648,4.869,1649,4.869,1650,4.613,1651,4.869,1652,4.869,1653,4.869,1654,4.869,1655,4.869,1656,7.234,1657,4.869,1658,4.613,1659,4.613,1660,3.937,1661,6.854,1662,4.613,1663,4.613,1664,4.613,1665,6.854,1666,4.613,1667,6.854,1668,4.613,1669,4.613,1670,6.854,1671,4.613,1672,4.613,1673,4.869,1674,7.234,1675,3.163,1676,4.869,1677,4.869,1678,4.869,1679,4.869,1680,4.869,1681,4.869,1682,4.869,1683,4.869,1684,4.869,1685,4.869]],["title/injectables/AuthenticationService.html",[589,0.926,1526,5.328]],["body/injectables/AuthenticationService.html",[0,0.179,3,0.01,4,0.01,5,0.005,7,0.073,8,0.893,21,6.794,27,0.482,29,0.938,30,0.001,31,0.686,32,0.156,33,0.56,34,0.888,35,1.38,36,2.591,47,0.995,48,5.647,51,3.716,59,1.613,66,7.163,73,4.812,74,3.986,77,3.348,83,1.513,87,2.613,94,5.821,95,0.152,101,0.007,103,0,104,0,125,1.237,135,1.501,141,3.321,142,3.367,148,1.015,153,1.8,195,1.137,228,1.859,230,3.439,277,0.746,290,1.229,312,4.559,317,2.837,340,4.99,433,0.954,488,4.559,569,2.404,579,2.217,589,1.033,591,1.237,634,6.899,649,3.267,651,2.629,652,2.091,657,2.51,666,9.141,992,4.812,1381,3.49,1526,5.94,1528,9.676,1537,3.891,1543,4.559,1548,3.891,1553,4.812,1554,4.559,1585,3.159,1605,3.543,1610,3.808,1675,3.126,1686,5.197,1687,7.744,1688,7.744,1689,7.172,1690,7.744,1691,7.744,1692,7.744,1693,5.197,1694,11.505,1695,5.197,1696,7.744,1697,5.197,1698,7.744,1699,8.081,1700,5.197,1701,7.172,1702,5.197,1703,7.744,1704,5.197,1705,7.744,1706,5.197,1707,7.744,1708,5.197,1709,5.197,1710,7.744,1711,5.197,1712,3.891,1713,4.219,1714,3.891,1715,4.559,1716,4.559,1717,7.744,1718,3.808,1719,5.675,1720,4.559,1721,4.37,1722,4.37,1723,2.955,1724,7.292,1725,3.664,1726,5.197,1727,5.197,1728,5.197,1729,4.812,1730,6.932,1731,5.197,1732,5.197,1733,5.197,1734,5.197,1735,7.172,1736,5.197,1737,7.744,1738,7.744,1739,5.197,1740,7.744,1741,4.812,1742,5.197,1743,3.732,1744,7.172,1745,5.197,1746,5.197,1747,5.197,1748,5.197,1749,2.955,1750,5.197,1751,4.093,1752,5.197,1753,5.197,1754,5.197]],["title/classes/AuthenticationValues.html",[0,0.239,1755,6.433]],["body/classes/AuthenticationValues.html",[0,0.336,2,1.038,3,0.019,4,0.019,5,0.009,7,0.137,27,0.504,29,0.747,30,0.001,31,0.546,32,0.16,33,0.446,47,0.947,101,0.013,103,0.001,104,0.001,112,0.928,232,3.22,433,1.202,435,3.405,1755,12.659,1756,7.65,1757,13.336,1758,9.756,1759,12.813,1760,12.813,1761,11.882,1762,9.756,1763,9.756,1764,9.756,1765,9.756,1766,9.756]],["title/interfaces/AuthorizableObject.html",[159,0.714,1767,3.822]],["body/interfaces/AuthorizableObject.html",[0,0.34,3,0.019,4,0.019,5,0.009,9,4.589,26,2.652,30,0.001,34,2.045,95,0.113,101,0.016,103,0.001,104,0.001,113,3.936,134,3.49,135,1.288,148,1.184,159,1.015,161,2.346,232,2.676,435,4.178,532,4.78,711,3.547,1237,2.912,1767,7.088,1768,9.146,1769,8.664,1770,3.998,1771,10.067,1772,9.146,1773,6.069,1774,11.086]],["title/interfaces/AuthorizationContext.html",[159,0.714,1775,3.822]],["body/interfaces/AuthorizationContext.html",[3,0.019,4,0.019,5,0.009,7,0.144,30,0.001,32,0.152,95,0.139,101,0.013,103,0.001,104,0.001,112,0.955,159,1.051,161,2.429,595,3.861,693,6.171,1197,7.762,1775,6.728,1776,8.974,1777,9.472,1778,8.517,1779,10.228]],["title/classes/AuthorizationContextBuilder.html",[0,0.239,1780,4.223]],["body/classes/AuthorizationContextBuilder.html",[0,0.287,2,0.885,3,0.016,4,0.016,5,0.008,7,0.117,8,1.24,27,0.469,29,0.913,30,0.001,31,0.667,32,0.157,33,0.545,35,1.379,95,0.123,101,0.011,103,0.001,104,0.001,135,1.554,148,1.178,183,5.094,467,4.052,507,4.736,595,3.141,652,2.429,693,6.391,1197,7.463,1775,7.478,1778,7.916,1780,6.536,1781,12.593,1782,8.32,1783,6.607,1784,7.22,1785,10.752,1786,8.32,1787,10.752,1788,8.32,1789,10.752,1790,8.32,1791,10.752,1792,5.766,1793,5.507]],["title/classes/AuthorizationError.html",[0,0.239,1794,6.433]],["body/classes/AuthorizationError.html",[0,0.27,2,0.833,3,0.015,4,0.015,5,0.007,7,0.11,8,1.192,27,0.527,29,0.6,30,0.001,31,0.439,32,0.173,33,0.529,35,0.907,47,0.932,55,1.572,59,3.209,95,0.118,101,0.01,103,0,104,0,112,0.807,155,3.903,190,2.296,228,2.517,231,1.792,233,2.445,277,1.125,402,2.803,433,0.965,436,3.893,868,5.903,871,2.868,998,5.461,1078,5.395,1080,4.409,1115,4.896,1197,4.245,1354,8.648,1355,7.685,1356,7.553,1360,5.184,1361,4.494,1362,5.184,1363,5.184,1364,5.184,1365,5.184,1366,5.184,1367,4.813,1368,4.417,1369,6.17,1374,5.047,1475,4.924,1794,9.573,1795,7.833,1796,8.693,1797,7.833,1798,7.833,1799,6.872,1800,7.254]],["title/injectables/AuthorizationHelper.html",[589,0.926,1801,4.316]],["body/injectables/AuthorizationHelper.html",[0,0.211,3,0.012,4,0.012,5,0.006,7,0.086,8,1.008,27,0.462,29,0.961,30,0.001,31,0.657,32,0.156,33,0.536,35,1.358,47,0.94,95,0.116,96,1.617,101,0.008,103,0,104,0,122,2.724,135,1.673,141,5.38,145,2.299,148,1.241,158,2.261,195,1.342,197,2.43,205,2.558,224,1.782,277,0.881,290,3.334,331,5.19,478,1.722,532,4.759,578,3.207,589,1.165,591,1.46,652,2.075,653,3.609,711,4.009,1778,8.205,1801,5.43,1802,6.134,1803,8.739,1804,10.697,1805,8.739,1806,8.093,1807,8.739,1808,8.739,1809,10.181,1810,12.826,1811,6.134,1812,8.093,1813,6.134,1814,8.739,1815,6.134,1816,8.093,1817,6.134,1818,8.739,1819,9.735,1820,6.134,1821,4.24,1822,5.68,1823,7.667,1824,8.093,1825,5.68,1826,5.217,1827,5.381,1828,8.739,1829,2.608,1830,6.134,1831,4.059,1832,3.902,1833,4.98,1834,4.494,1835,3.143,1836,5.68,1837,5.68,1838,5.313,1839,6.134,1840,6.134,1841,6.134,1842,5.341,1843,6.134,1844,6.134]],["title/interfaces/AuthorizationLoaderService.html",[159,0.714,1845,5.472]],["body/interfaces/AuthorizationLoaderService.html",[3,0.018,4,0.018,5,0.009,7,0.135,8,1.36,12,5.319,26,2.804,27,0.379,29,0.738,30,0.001,31,0.54,32,0.12,33,0.441,34,1.646,35,1.116,36,2.696,40,6.149,95,0.152,99,1.973,101,0.015,103,0.001,104,0.001,159,1.213,161,2.289,185,3.303,231,1.671,1767,5.304,1776,10.348,1845,10.04,1846,9.291,1847,8.106,1848,9.639,1849,5.579,1850,6.796,1851,7.393,1852,5.685,1853,3.153,1854,8.106]],["title/interfaces/AuthorizationLoaderServiceGeneric.html",[159,0.714,1854,5.842]],["body/interfaces/AuthorizationLoaderServiceGeneric.html",[3,0.018,4,0.018,5,0.009,7,0.135,8,1.356,12,5.304,26,2.801,27,0.378,29,0.735,30,0.001,31,0.537,32,0.12,33,0.438,34,1.638,35,1.11,36,2.691,40,6.136,95,0.151,99,1.963,101,0.015,103,0.001,104,0.001,159,1.209,161,2.278,185,3.287,231,2.038,1767,5.279,1776,10.318,1845,10.018,1846,9.264,1847,8.067,1849,5.553,1850,6.764,1851,7.357,1852,5.658,1853,3.137,1854,9.89,1855,9.593]],["title/modules/AuthorizationModule.html",[252,1.836,1856,3.985]],["body/modules/AuthorizationModule.html",[0,0.216,3,0.012,4,0.012,5,0.006,30,0.001,95,0.144,101,0.008,103,0,104,0,252,2.725,254,2.261,255,2.394,256,2.456,257,2.447,258,2.438,259,3.751,260,3.839,265,5.68,268,7.468,269,3.475,270,2.412,271,2.361,276,3.475,277,0.902,279,2.624,1027,1.923,1801,7.634,1856,8.48,1857,6.277,1858,6.277,1859,6.277,1860,6.277,1861,10.331,1862,7.254,1863,11.425,1864,11.425,1865,10.331,1866,10.331,1867,9.974,1868,9.2,1869,9.974,1870,10.331,1871,10.331,1872,9.974,1873,10.331,1874,10.331,1875,10.331,1876,9.974,1877,10.331,1878,10.331,1879,10.331,1880,6.277,1881,5.279,1882,2.394,1883,6.277,1884,3.857,1885,4.945]],["title/classes/AuthorizationParams.html",[0,0.239,1886,5.64]],["body/classes/AuthorizationParams.html",[0,0.383,2,0.931,3,0.017,4,0.017,5,0.008,7,0.123,27,0.521,30,0.001,32,0.165,33,0.636,47,0.988,95,0.127,101,0.011,103,0.001,104,0.001,112,0.868,190,2.378,200,2.683,289,7.064,299,5.163,300,5.071,442,9.02,454,7.109,856,6.768,899,3.987,998,5.76,1080,4.207,1886,9.02,1887,8.756,1888,9.612,1889,11.301,1890,8.108,1891,8.756,1892,11.301,1893,8.108,1894,8.756,1895,8.756,1896,8.756,1897,8.756,1898,8.108,1899,5.716,1900,8.108,1901,8.108]],["title/modules/AuthorizationReferenceModule.html",[252,1.836,1902,5.09]],["body/modules/AuthorizationReferenceModule.html",[0,0.219,3,0.012,4,0.012,5,0.006,30,0.001,72,4.107,95,0.148,101,0.008,103,0,104,0,157,1.466,252,3.351,254,2.293,255,2.429,256,2.491,257,2.482,258,2.473,259,3.78,260,3.869,265,5.706,268,7.503,269,3.51,270,2.446,271,2.395,276,3.51,277,0.915,279,2.662,289,5.194,339,3.31,412,4.993,543,4.354,1027,1.951,1224,6.445,1475,5.641,1531,8.702,1801,7.669,1829,2.707,1856,7.429,1882,2.429,1902,10.684,1903,6.367,1904,6.367,1905,6.367,1906,6.367,1907,8.702,1908,10.729,1909,9.466,1910,7.584,1911,10.02,1912,9.044,1913,9.466,1914,8.702,1915,8.553,1916,6.367,1917,6.367,1918,6.219,1919,8.974,1920,5.939,1921,6.219,1922,8.974,1923,6.026,1924,6.219,1925,5.455,1926,7.577,1927,5.292,1928,6.575,1929,6.445,1930,8.31,1931,6.72,1932,4.573,1933,6.882,1934,5.015,1935,7.577,1936,2.99,1937,6.367,1938,3.424,1939,6.367,1940,4.156,1941,6.367]],["title/injectables/AuthorizationReferenceService.html",[589,0.926,1908,5.472]],["body/injectables/AuthorizationReferenceService.html",[0,0.243,3,0.013,4,0.013,5,0.007,7,0.099,8,1.112,26,2.965,27,0.432,29,0.841,30,0.001,31,0.615,32,0.147,33,0.502,35,1.116,36,2.496,39,3.265,95,0.145,99,1.445,101,0.009,103,0,104,0,135,1.258,148,0.699,153,1.158,157,1.626,183,5.138,185,3.304,228,1.747,252,2.548,277,1.014,290,1.67,317,2.762,400,2.103,412,4.267,433,0.87,561,4.327,579,2.021,589,1.286,591,1.681,613,5.633,652,1.439,657,2.206,711,3.777,736,6.558,980,3.917,1080,2.434,1475,6.061,1775,7.18,1838,5.861,1846,7.595,1862,6.966,1908,7.595,1911,9.578,1942,11.797,1943,6.539,1944,7.828,1945,8.459,1946,9.642,1947,10.979,1948,10.979,1949,7.061,1950,7.061,1951,7.061,1952,9.199,1953,7.061,1954,7.061,1955,7.061,1956,5.562,1957,7.061,1958,6.539,1959,7.061,1960,6.195,1961,4.248,1962,7.061,1963,5.562]],["title/injectables/AuthorizationService.html",[589,0.926,1862,3.709]],["body/injectables/AuthorizationService.html",[0,0.185,3,0.01,4,0.01,5,0.005,7,0.075,8,0.914,26,2.145,27,0.486,29,0.947,30,0.001,31,0.692,32,0.157,33,0.565,35,1.394,36,1.677,39,1.484,47,0.936,95,0.146,99,1.098,101,0.007,103,0,104,0,122,2.429,135,1.23,148,1.031,153,1.547,183,4.898,185,4.4,195,1.174,228,1.709,268,7.32,277,0.77,279,2.242,290,3.348,317,2.043,433,0.977,478,1.506,569,3.613,579,2.699,589,1.057,591,1.276,610,2.114,641,3.05,652,1.923,657,1.227,711,4.141,1080,1.849,1767,6.626,1775,6.626,1778,8.569,1801,7.482,1804,6.955,1806,7.342,1812,7.342,1816,7.342,1829,3.37,1838,6.334,1849,3.104,1852,7.101,1853,1.754,1862,4.233,1873,9.787,1945,4.705,1956,7.429,1964,5.363,1965,7.928,1966,7.928,1967,5.809,1968,9.431,1969,5.363,1970,5.363,1971,7.928,1972,5.363,1973,7.928,1974,5.363,1975,7.928,1976,5.363,1977,7.928,1978,5.363,1979,5.363,1980,5.363,1981,5.108,1982,5.363,1983,6.333,1984,5.363,1985,4.926,1986,4.354,1987,5.363,1988,5.363,1989,5.363,1990,5.363,1991,5.363,1992,5.247,1993,7.928,1994,3.93,1995,5.363,1996,7.928,1997,4.224]],["title/injectables/AutoContextIdStrategy.html",[589,0.926,1998,6.094]],["body/injectables/AutoContextIdStrategy.html",[0,0.318,3,0.018,4,0.018,5,0.009,7,0.13,8,1.325,27,0.364,29,0.708,30,0.001,31,0.517,32,0.115,33,0.422,35,1.069,47,0.816,95,0.149,101,0.012,103,0.001,104,0.001,125,2.735,148,0.914,183,4.771,277,1.327,417,6.426,589,1.532,591,2.199,614,3.54,703,2.869,1237,2.724,1756,6.592,1998,10.081,1999,9.329,2000,9.329,2001,8.556,2002,9.329,2003,9.329,2004,7.135,2005,7.274,2006,8.556,2007,5.708,2008,9.052,2009,6.115,2010,7.77,2011,8.556]],["title/injectables/AutoContextNameStrategy.html",[589,0.926,2012,6.094]],["body/injectables/AutoContextNameStrategy.html",[0,0.213,3,0.012,4,0.012,5,0.006,7,0.087,8,1.012,26,2.587,27,0.438,29,0.852,30,0.001,31,0.623,32,0.139,33,0.509,35,1.182,36,2.585,47,0.79,95,0.153,99,1.263,101,0.008,103,0,104,0,125,2.089,129,1.843,135,1.594,148,1.163,153,1.012,183,4.66,228,1.851,277,0.886,317,2.832,417,6.574,433,1.082,478,1.733,579,1.766,589,1.17,591,1.469,614,2.704,652,2.664,657,2.795,703,1.916,1080,2.128,1237,1.82,1393,4.991,1756,6.744,1853,2.018,1932,4.432,1999,9.545,2000,9.545,2002,8.294,2003,5.01,2004,6.476,2005,6.571,2007,4.36,2008,6.914,2009,4.084,2010,5.19,2012,7.701,2013,6.171,2014,8.777,2015,8.777,2016,5.414,2017,8.086,2018,9.21,2019,9.412,2020,6.171,2021,8.777,2022,6.171,2023,4.861,2024,8.777,2025,6.171,2026,3.012,2027,6.171,2028,4.621,2029,7.126,2030,4.277,2031,5.228,2032,3.883,2033,4.432,2034,3.396,2035,3.029,2036,7.701,2037,3.926,2038,5.19,2039,4.351,2040,8.777,2041,6.171,2042,5.19,2043,8.777,2044,6.171,2045,6.171,2046,4.621,2047,4.432,2048,2.508,2049,6.171,2050,2.601,2051,6.171,2052,6.171,2053,4.621,2054,6.083,2055,6.171]],["title/interfaces/AutoParameterStrategy.html",[159,0.714,2008,5.472]],["body/interfaces/AutoParameterStrategy.html",[3,0.018,4,0.018,5,0.009,7,0.134,8,1.352,27,0.376,29,0.731,30,0.001,31,0.535,32,0.119,33,0.436,35,1.105,36,2.481,47,0.832,95,0.134,101,0.013,103,0.001,104,0.001,125,2.791,159,0.981,161,2.267,183,3.642,417,6.557,614,3.612,703,2.964,1756,6.727,1999,9.52,2000,9.52,2002,10.304,2003,7.751,2004,7.332,2005,7.324,2007,5.824,2008,9.237,2056,9.547,2057,9.547]],["title/injectables/AutoSchoolIdStrategy.html",[589,0.926,2058,6.094]],["body/injectables/AutoSchoolIdStrategy.html",[0,0.311,3,0.017,4,0.017,5,0.008,7,0.127,8,1.305,27,0.355,29,0.69,30,0.001,31,0.505,32,0.112,33,0.412,35,1.043,47,0.803,95,0.148,101,0.012,103,0.001,104,0.001,125,2.693,148,0.891,183,3.437,277,1.294,417,6.326,571,3.565,589,1.508,591,2.145,614,3.485,703,3.839,1086,4.3,1087,4.166,1088,4.231,1089,4.503,1090,4.92,1237,2.657,1756,6.49,1999,9.185,2000,9.185,2001,8.345,2002,10.04,2003,7.316,2004,7.228,2005,7.234,2006,8.345,2007,5.619,2008,8.911,2009,5.964,2010,7.578,2058,9.925,2059,6.603,2060,6.472,2061,7.906]],["title/injectables/AutoSchoolNumberStrategy.html",[589,0.926,2062,6.094]],["body/injectables/AutoSchoolNumberStrategy.html",[0,0.286,3,0.016,4,0.016,5,0.008,7,0.117,8,1.238,27,0.423,29,0.823,30,0.001,31,0.601,32,0.134,33,0.491,35,0.961,36,2.272,95,0.152,101,0.011,103,0.001,104,0.001,135,1.083,148,0.821,183,3.167,228,1.505,277,1.193,317,2.578,400,2.473,417,6.655,433,1.023,571,3.285,589,1.432,591,1.976,614,3.308,657,1.9,703,4.144,1086,3.962,1087,3.839,1088,3.899,1089,4.149,1090,4.533,1237,2.448,1756,6.828,1853,2.716,1999,9.663,2000,9.663,2002,9.663,2003,6.741,2004,7.076,2005,7.101,2007,5.333,2008,8.458,2009,5.495,2010,6.982,2059,6.084,2060,5.964,2062,9.421,2063,8.303,2064,7.284,2065,8.328,2066,8.303,2067,7.442,2068,8.303,2069,4.945,2070,6.333,2071,7.689,2072,6.982]],["title/classes/AxiosErrorFactory.html",[0,0.239,2073,6.433]],["body/classes/AxiosErrorFactory.html",[0,0.302,2,0.931,3,0.017,4,0.017,5,0.008,7,0.123,8,1.281,27,0.345,29,0.671,30,0.001,31,0.622,33,0.4,95,0.146,101,0.011,103,0.001,104,0.001,135,1.142,148,1.207,153,1.436,158,3.227,193,3.805,195,1.916,231,1.926,277,1.258,339,2.569,402,4.367,516,6.469,575,5.023,871,4.067,998,4.133,1080,3.83,1115,3.352,1169,5.068,1368,4.937,1375,9.359,1477,4.547,2073,11.301,2074,10.288,2075,8.756,2076,11.11,2077,11.11,2078,8.756,2079,8.108,2080,7.109,2081,7.363,2082,10.288,2083,5.795,2084,6.068,2085,11.11,2086,8.756,2087,3.788,2088,8.108,2089,8.756,2090,7.363,2091,8.108,2092,8.756,2093,8.756,2094,11.11]],["title/classes/AxiosErrorLoggable.html",[0,0.239,2095,5.842]],["body/classes/AxiosErrorLoggable.html",[0,0.302,2,0.931,3,0.017,4,0.017,5,0.008,7,0.123,8,1.281,27,0.437,29,0.671,30,0.001,31,0.49,32,0.165,33,0.4,35,1.013,47,0.866,95,0.139,101,0.011,103,0.001,104,0.001,113,3.49,148,0.866,228,2.013,231,1.926,277,1.258,339,2.569,400,2.608,433,1.079,1027,2.683,1115,3.352,1237,3.276,1368,4.937,1422,4.998,1423,5.76,1426,5.761,1468,5.76,1469,6.061,1477,4.547,2081,11.382,2083,5.795,2095,9.342,2096,12.203,2097,8.756,2098,9.138,2099,8.756,2100,8.756,2101,8.756,2102,8.756,2103,8.756,2104,7.363,2105,6.897,2106,8.756,2107,8.756,2108,3.822,2109,8.756,2110,8.756]],["title/classes/AxiosResponseImp.html",[0,0.239,2111,6.433]],["body/classes/AxiosResponseImp.html",[0,0.263,2,0.813,3,0.014,4,0.014,5,0.007,7,0.107,27,0.513,29,0.585,30,0.001,31,0.428,32,0.168,33,0.349,47,0.865,55,2.294,95,0.116,101,0.013,103,0,104,0,112,0.794,135,0.996,148,0.756,153,1.874,232,2.755,333,5.13,339,3.721,402,4.54,433,0.942,435,2.666,501,4.14,532,4.24,571,3.022,576,4.505,881,4.171,1086,3.645,1087,3.532,1088,3.587,1089,3.817,1090,4.171,1169,7.55,1237,2.998,2074,12.329,2079,7.074,2082,11.747,2083,5.056,2087,5.488,2111,10.582,2112,7.074,2113,8.208,2114,12.685,2115,12.685,2116,10.167,2117,12.182,2118,7.639,2119,7.639,2120,7.639,2121,7.639,2122,10.167,2123,10.167,2124,4.05,2125,7.639,2126,4.463,2127,5.209,2128,7.639,2129,7.639,2130,7.639,2131,7.639,2132,6.202,2133,7.074,2134,5.386,2135,7.074]],["title/classes/BBBBaseMeetingConfig.html",[0,0.239,2136,5.202]],["body/classes/BBBBaseMeetingConfig.html",[0,0.345,2,1.066,3,0.019,4,0.019,5,0.009,7,0.141,27,0.475,29,0.768,30,0.001,31,0.561,32,0.15,33,0.458,47,0.857,101,0.013,103,0.001,104,0.001,112,0.943,433,1.235,2087,4.336,2136,10.314,2137,6.825,2138,11.375,2139,7.438,2140,10.024,2141,9.312,2142,10.597,2143,10.024,2144,10.024,2145,9.283,2146,8.794]],["title/interfaces/BBBBaseResponse.html",[159,0.714,2147,4.898]],["body/interfaces/BBBBaseResponse.html",[3,0.019,4,0.019,5,0.009,7,0.142,30,0.001,32,0.162,47,0.994,95,0.115,101,0.013,103,0.001,104,0.001,112,0.946,159,1.036,161,2.393,1115,5.161,2137,5.303,2147,8.542,2148,8.472,2149,10.074,2150,13.481,2151,13.481,2152,12.484,2153,6.124,2154,7.935]],["title/classes/BBBCreateConfig.html",[0,0.239,2155,5.842]],["body/classes/BBBCreateConfig.html",[0,0.24,2,0.742,3,0.013,4,0.013,5,0.006,7,0.098,27,0.54,29,0.534,30,0.001,31,0.752,32,0.171,33,0.649,47,0.989,95,0.08,101,0.013,103,0,104,0,112,0.747,122,2.449,231,1.657,433,0.86,436,2.067,886,2.195,2087,3.018,2136,8.789,2137,7.224,2138,12.04,2139,4.002,2141,6.868,2142,8.388,2145,6.46,2146,6.12,2153,4.24,2155,10.341,2156,6.976,2157,10.91,2158,10.91,2159,11.142,2160,7.221,2161,10.91,2162,9.431,2163,5.685,2164,10.91,2165,10.91,2166,10.103,2167,6.976,2168,6.976,2169,6.976,2170,6.976,2171,6.976,2172,6.976,2173,6.976,2174,6.976,2175,6.976,2176,6.976,2177,6.46,2178,6.46,2179,9.561,2180,9.561,2181,9.561,2182,6.46,2183,2.749,2184,6.976,2185,5.35,2186,6.976,2187,6.976,2188,6.976,2189,6.976,2190,6.976,2191,6.976,2192,6.976,2193,6.976,2194,6.976,2195,6.976,2196,6.976,2197,6.976,2198,6.976]],["title/classes/BBBCreateConfigBuilder.html",[0,0.239,2199,6.094]],["body/classes/BBBCreateConfigBuilder.html",[0,0.245,2,0.757,3,0.013,4,0.013,5,0.007,7,0.1,8,1.117,27,0.503,29,0.907,30,0.001,31,0.693,32,0.154,33,0.541,35,1.433,47,0.928,95,0.126,101,0.009,102,3.77,103,0,104,0,112,0.757,113,3.862,122,2.299,130,3.014,148,1.225,193,3.09,195,1.556,228,1.756,231,1.679,436,2.871,507,5.212,531,3.718,532,2.639,567,2.703,734,5.362,812,4.582,1080,2.452,1476,4.323,2137,6.517,2153,4.323,2155,9.267,2159,11.207,2160,6.412,2162,5.454,2163,3.288,2166,8.972,2199,11.97,2200,11.464,2201,6.586,2202,8.339,2203,8.147,2204,9.688,2205,9.688,2206,9.688,2207,9.688,2208,6.586,2209,7.112,2210,9.688,2211,7.112,2212,9.688,2213,7.112,2214,9.688,2215,7.112,2216,9.688,2217,7.112,2218,3.177,2219,3.576,2220,3.451,2221,4.47,2222,5.325,2223,7.112,2224,7.112,2225,7.112,2226,7.112,2227,7.112,2228,6.239,2229,5.211,2230,5.98,2231,4.044,2232,4.323,2233,4.849,2234,5.602,2235,7.112,2236,5.774,2237,7.112,2238,6.586,2239,7.112,2240,7.112]],["title/interfaces/BBBCreateResponse.html",[159,0.714,2241,6.094]],["body/interfaces/BBBCreateResponse.html",[3,0.016,4,0.016,5,0.008,7,0.121,30,0.001,32,0.176,47,1.026,55,2.812,95,0.098,101,0.011,103,0.001,104,0.001,112,0.859,122,2.813,159,0.887,161,2.048,231,1.907,2137,4.54,2141,9.167,2147,8.543,2148,7.252,2153,5.243,2241,9.653,2242,8.624,2243,11.819,2244,11.819,2245,11.819,2246,11.197,2247,11.819,2248,11.819,2249,11.819,2250,11.819,2251,11.819,2252,7.252]],["title/classes/BBBJoinConfig.html",[0,0.239,2253,5.842]],["body/classes/BBBJoinConfig.html",[0,0.281,2,0.869,3,0.015,4,0.015,5,0.008,7,0.115,27,0.532,29,0.626,30,0.001,31,0.457,32,0.169,33,0.618,39,3.268,47,0.96,95,0.093,101,0.014,103,0.001,104,0.001,112,0.83,122,2.217,231,1.842,242,4.3,331,5.225,433,1.007,436,2.42,886,2.57,2087,3.533,2136,9.364,2137,7.123,2138,11.871,2139,4.686,2141,7.631,2142,9.321,2153,4.965,2177,7.564,2178,7.564,2182,7.564,2222,8.842,2253,10.902,2254,8.168,2255,10.36,2256,11.808,2257,8.481,2258,8.168,2259,8.168,2260,8.168,2261,8.168,2262,8.168,2263,8.168,2264,9.321,2265,10.624,2266,8.168,2267,8.168,2268,5.985,2269,8.168,2270,8.168,2271,8.168,2272,8.168,2273,7.166,2274,8.168]],["title/classes/BBBJoinConfigBuilder.html",[0,0.239,2275,6.094]],["body/classes/BBBJoinConfigBuilder.html",[0,0.281,2,0.869,3,0.015,4,0.015,5,0.008,7,0.115,8,1.225,27,0.51,29,0.905,30,0.001,31,0.661,32,0.156,33,0.54,35,1.447,47,0.838,95,0.121,101,0.011,103,0.001,104,0.001,112,0.83,113,4.235,122,2.464,130,3.635,148,1.168,228,1.925,231,1.842,436,3.148,507,5.201,532,3.942,2137,6.583,2200,11.58,2201,7.564,2202,8.675,2203,8.934,2208,7.564,2222,9.364,2253,6.869,2275,12.036,2276,9.591,2277,10.624,2278,9.839,2279,9.839,2280,10.624,2281,8.168,2282,10.624,2283,8.168,2284,10.624,2285,8.168,2286,8.168,2287,8.168,2288,8.168,2289,8.168,2290,8.168,2291,8.168]],["title/interfaces/BBBJoinResponse.html",[159,0.714,2292,6.433]],["body/interfaces/BBBJoinResponse.html",[3,0.018,4,0.018,5,0.009,7,0.134,30,0.001,32,0.169,47,1.038,95,0.109,101,0.013,103,0.001,104,0.001,110,4.577,112,0.916,159,0.981,161,2.267,231,2.033,2137,5.026,2147,8.949,2148,8.029,2153,5.804,2252,8.029,2292,10.859,2293,8.841,2294,13.237,2295,13.237,2296,13.237,2297,10.426]],["title/interfaces/BBBMeetingInfoResponse.html",[159,0.714,2298,5.472]],["body/interfaces/BBBMeetingInfoResponse.html",[3,0.012,4,0.012,5,0.006,7,0.088,30,0.001,32,0.181,33,0.513,39,1.743,47,1.011,55,2.928,95,0.072,101,0.008,103,0,104,0,112,0.695,122,2.961,131,5.717,158,2.321,159,0.647,161,1.496,172,5.228,231,1.543,331,2.787,514,3.412,2137,3.315,2141,8.065,2147,7.283,2148,5.295,2153,3.828,2243,10.398,2244,10.398,2245,10.398,2246,9.851,2247,10.398,2248,10.398,2249,10.398,2250,5.831,2251,10.398,2252,5.295,2255,5.525,2298,7.014,2299,5.831,2300,4.96,2301,11.228,2302,11.847,2303,11.228,2304,9.851,2305,11.228,2306,11.228,2307,11.228,2308,11.228,2309,11.228,2310,11.228,2311,11.228,2312,8.227,2313,9.851,2314,11.228,2315,11.228,2316,5.831,2317,6.297,2318,6.297,2319,6.297,2320,6.297,2321,6.297,2322,6.297]],["title/interfaces/BBBResponse.html",[159,0.714,2323,5.328]],["body/interfaces/BBBResponse.html",[3,0.02,4,0.02,5,0.01,7,0.149,30,0.001,32,0.132,95,0.121,101,0.014,103,0.001,104,0.001,112,0.974,159,1.088,161,2.512,532,4.922,871,5.016,2137,5.569,2147,7.459,2153,6.431,2252,8.896,2323,9.567,2324,10.579]],["title/injectables/BBBService.html",[589,0.926,2325,5.328]],["body/injectables/BBBService.html",[0,0.12,3,0.007,4,0.007,5,0.003,7,0.049,8,0.655,27,0.468,29,0.952,30,0.001,31,0.652,32,0.142,33,0.506,35,1.495,36,2.465,47,0.96,95,0.133,101,0.005,103,0,104,0,110,4.178,113,4.735,135,1.656,142,1.271,148,1.229,153,1.867,157,0.805,185,3.522,193,1.519,228,1.301,277,0.502,317,1.556,326,2.16,339,1.667,388,4.749,433,0.7,527,2.406,531,4.325,579,2.792,589,0.758,591,0.832,641,1.988,652,2.095,657,0.8,688,1.65,734,3.472,735,2.588,812,3.661,871,1.28,1053,7.009,1054,1.971,1056,2.252,1169,2.023,1295,4.779,1312,4.58,1313,2.383,1314,2.561,1343,4.779,1372,2.992,1390,3.531,1718,4.164,2083,2.313,2087,4.634,2113,5.941,2124,1.853,2136,9.048,2137,6.361,2141,2.51,2146,3.066,2147,2.464,2152,3.237,2153,7.345,2155,9.008,2229,4.164,2232,3.455,2233,3.875,2234,4.476,2241,3.066,2253,7.654,2276,7.48,2298,2.753,2299,9.92,2323,7.48,2325,4.359,2326,3.495,2327,3.572,2328,5.683,2329,5.683,2330,5.263,2331,5.683,2332,4.016,2333,5.83,2334,7.985,2335,3.495,2336,6.716,2337,8.644,2338,3.495,2339,6.3,2340,5.683,2341,3.495,2342,5.941,2343,5.683,2344,3.455,2345,5.263,2346,5.683,2347,5.683,2348,3.495,2349,4.986,2350,5.683,2351,9.716,2352,11.503,2353,3.495,2354,5.263,2355,4.986,2356,9.753,2357,3.232,2358,8.272,2359,5.683,2360,3.495,2361,5.683,2362,3.495,2363,5.683,2364,3.495,2365,7.257,2366,5.683,2367,5.683,2368,3.495,2369,3.178,2370,5.683,2371,3.495,2372,4.986,2373,4.164,2374,3.495,2375,3.495,2376,3.495,2377,3.495,2378,3.495,2379,3.495,2380,3.495,2381,2.753,2382,7.884,2383,2.939,2384,3.495,2385,3.495,2386,3.495,2387,3.495,2388,6.716,2389,3.495,2390,8.272,2391,5.683,2392,1.333,2393,3.495,2394,3.495,2395,3.495,2396,7.182,2397,6.65,2398,9.753,2399,5.683,2400,5.263,2401,7.182,2402,7.182,2403,7.182,2404,7.182,2405,6.65,2406,6.65,2407,3.495,2408,3.495,2409,3.495,2410,3.495,2411,5.263,2412,3.495,2413,3.495,2414,3.495,2415,3.495,2416,4.986,2417,5.263,2418,3.495,2419,3.495,2420,3.495,2421,3.495,2422,3.495,2423,3.495,2424,3.495,2425,3.495,2426,3.495,2427,3.495,2428,3.237,2429,3.237,2430,3.495,2431,3.237,2432,3.495]],["title/classes/BaseDO.html",[0,0.239,1852,4.097]],["body/classes/BaseDO.html",[0,0.347,2,1.072,3,0.019,4,0.019,5,0.009,7,0.142,9,4.681,27,0.477,29,0.772,30,0.001,31,0.564,32,0.151,33,0.594,34,2.356,47,0.979,59,3.128,101,0.013,102,5.341,103,0.001,104,0.001,112,0.946,113,4.829,433,1.242,458,4.031,1852,7.145,2433,10.074,2434,8.261,2435,12.116]],["title/injectables/BaseDORepo.html",[589,0.926,2436,4.814]],["body/injectables/BaseDORepo.html",[0,0.163,3,0.009,4,0.009,5,0.004,7,0.067,8,0.833,9,5.533,10,4.217,12,3.257,18,3.654,26,2.562,27,0.498,29,0.954,30,0.001,31,0.697,32,0.155,33,0.569,34,1.8,35,1.412,36,2.715,40,3.484,95,0.132,96,1.904,97,1.932,99,0.969,101,0.006,102,2.511,103,0,104,0,112,0.564,113,4.604,125,1.127,135,1.694,148,1.099,153,0.777,185,2.999,205,2.264,206,2.349,224,1.376,228,1.309,277,0.68,317,2.932,412,2.096,430,2.958,431,3.083,433,0.584,478,1.33,569,1.471,579,1.356,589,0.963,591,1.127,615,4.39,616,8.589,652,2.264,657,2.643,729,4.924,735,3.289,736,5.484,766,2.548,781,4.156,812,3.052,863,3.974,1027,1.451,1312,2.224,1770,4.266,1829,2.014,1852,2.794,1853,1.549,1994,3.471,2139,4.143,2369,2.649,2436,5.005,2437,4.737,2438,5.187,2439,5.092,2440,5.092,2441,5.187,2442,5.092,2443,3.402,2444,5.43,2445,3.644,2446,4.573,2447,4.737,2448,5.187,2449,5.187,2450,4.737,2451,5.187,2452,4.737,2453,4.714,2454,4.924,2455,5.187,2456,4.737,2457,4.737,2458,5.187,2459,4.737,2460,3.282,2461,8.776,2462,5.092,2463,6.391,2464,4.737,2465,5.187,2466,4.737,2467,4.345,2468,4.487,2469,4.924,2470,4.737,2471,5.187,2472,4.737,2473,4.737,2474,5.213,2475,7.222,2476,3.633,2477,3.23,2478,4.156,2479,3.23,2480,8.753,2481,4.737,2482,4.737,2483,3.471,2484,4.737,2485,4.737,2486,4.737,2487,3.731,2488,4.737,2489,4.737,2490,6.688,2491,6.903,2492,4.737,2493,8.753,2494,4.737,2495,4.737,2496,4.737,2497,3.846,2498,4.737,2499,3.846,2500,4.737,2501,4.737,2502,7.222,2503,3.983,2504,7.222,2505,7.222,2506,7.222,2507,7.222,2508,4.737,2509,4.737,2510,3.846,2511,2.821,2512,2.694,2513,4.386,2514,4.737,2515,3.846,2516,3.547,2517,4.737,2518,4.737,2519,4.737]],["title/classes/BaseDomainObject.html",[0,0.239,2520,6.433]],["body/classes/BaseDomainObject.html",[0,0.413,2,1.051,3,0.019,4,0.019,5,0.009,7,0.139,9,6.374,27,0.389,30,0.001,32,0.123,34,2.2,47,0.85,95,0.113,101,0.013,102,6.346,103,0.001,104,0.001,112,0.935,159,1.015,185,3.384,1197,5.352,1237,3.53,1767,7.088,1769,8.664,1882,4.914,2520,11.086,2521,11.971,2522,9.876,2523,9.146,2524,6.963,2525,5.312,2526,8.018,2527,9.146,2528,9.876]],["title/classes/BaseEntity.html",[0,0.239,2477,4.737]],["body/classes/BaseEntity.html",[0,0.395,2,0.816,3,0.015,4,0.015,5,0.007,7,0.108,9,4.736,27,0.401,30,0.001,32,0.158,33,0.35,34,2.23,47,0.813,49,4.605,72,3.51,83,3.334,95,0.139,96,2.687,97,3.129,101,0.016,103,0,104,0,112,0.953,135,1,153,1.878,159,0.788,185,2.628,190,2.056,205,2.078,206,2.494,223,3.555,224,2.227,225,3.916,412,3.394,430,4.69,431,4.888,512,3.904,561,3.442,789,7.13,794,5.619,802,5.075,816,5.314,985,4.439,998,3.62,1097,5.407,1237,3.376,1767,6.714,1829,3.26,1882,2.925,2229,5.619,2468,4.765,2477,7.807,2478,6.728,2529,7.101,2530,9.018,2531,10.26,2532,7.669,2533,11.298,2534,7.669,2535,9.439,2536,6.449,2537,4.821,2538,5.619,2539,6.449,2540,6.226,2541,6.449,2542,6.449,2543,7.101,2544,4.613,2545,4.941,2546,5.314,2547,4.821,2548,7.101,2549,6.226,2550,7.101,2551,5.15,2552,6.449,2553,6.728,2554,7.101,2555,6.728,2556,7.101]],["title/classes/BaseEntityWithTimestamps.html",[0,0.239,225,2.669]],["body/classes/BaseEntityWithTimestamps.html",[0,0.38,2,0.759,3,0.014,4,0.014,5,0.007,7,0.1,9,4.513,27,0.488,30,0.001,32,0.159,33,0.542,34,2.184,47,0.784,49,4.473,72,3.266,83,3.609,95,0.135,96,2.561,97,2.912,101,0.016,103,0,104,0,112,0.925,129,2.9,130,2.657,135,0.931,153,2.033,159,0.734,185,2.446,190,2.225,205,1.98,206,2.321,223,3.679,224,2.073,225,4.241,412,3.158,430,5.238,431,5.46,512,3.634,561,3.203,789,6.982,794,5.229,802,4.724,816,4.946,985,4.131,998,3.369,1097,5.032,1237,3.255,1767,6.52,1829,3.034,1882,2.722,2229,5.229,2468,4.435,2477,6.622,2478,6.261,2529,6.609,2530,7.65,2531,9.965,2533,10.973,2535,10.973,2536,6.002,2537,4.486,2538,5.229,2539,6.002,2540,5.794,2541,6.002,2542,6.002,2543,6.609,2544,4.293,2545,4.598,2546,4.946,2547,4.486,2548,6.609,2549,5.794,2550,6.609,2551,4.792,2552,6.002,2553,6.261,2554,6.609,2555,6.261,2556,6.609,2557,7.137,2558,7.137,2559,7.137,2560,7.137,2561,7.137,2562,7.137]],["title/classes/BaseFactory.html",[0,0.239,501,3.764]],["body/classes/BaseFactory.html",[0,0.237,2,0.348,3,0.006,4,0.006,5,0.003,7,0.046,8,0.621,27,0.475,29,0.977,30,0.001,31,0.639,32,0.159,33,0.522,34,1.707,35,1.449,47,0.487,49,1.236,55,2.236,59,2.73,95,0.061,101,0.004,103,0,104,0,112,0.621,113,4.313,127,4.726,129,3.481,130,3.123,135,1.649,145,2.02,148,1.07,153,1.947,157,1.832,159,0.554,172,3.383,185,2.726,192,1.802,205,2.6,206,2.588,228,1.442,326,4.705,374,4.092,388,4.777,400,0.976,433,0.846,435,3.069,467,1.999,501,2.92,502,6.689,505,2.989,506,5.246,507,5.386,508,2.989,509,2.989,510,2.989,511,2.943,512,4.478,513,4.413,514,6.037,515,6.083,516,7.452,522,1.817,523,3.808,525,5.227,526,5.377,527,3.723,528,5.058,529,4.839,530,1.817,531,1.712,532,4.732,533,1.749,534,1.712,535,2.989,537,5.164,538,2.989,539,6.782,540,4.235,541,6.584,543,4.589,544,2.989,546,1.817,548,2.989,550,3.148,551,1.817,552,6.234,554,1.817,555,5.793,556,4.025,557,4.413,559,5.377,560,3.64,561,2.419,562,2.989,563,4.413,564,2.989,567,2.048,568,2.989,569,1.673,571,4.131,572,2.989,575,1.879,655,2.874,789,1.788,804,2.453,1086,3.797,1087,3.678,1088,3.736,1089,3.976,1090,3.749,1091,2.2,1103,2.512,1167,6.418,1658,2.874,2134,3.8,2563,3.276,2564,3.472,2565,5.389,2566,3.276,2567,5.389,2568,3.276,2569,3.276,2570,3.276,2571,3.276,2572,3.276,2573,3.276,2574,3.276,2575,3.276,2576,3.276,2577,3.276,2578,3.276,2579,3.276,2580,4.991,2581,4.133,2582,3.388,2583,3.276,2584,3.276,2585,3.276,2586,3.276,2587,3.276,2588,3.033,2589,5.389,2590,5.389,2591,3.276,2592,3.276,2593,7.956,2594,3.276,2595,10.444,2596,7.956,2597,3.276,2598,3.276,2599,3.276,2600,3.276,2601,3.276,2602,3.276,2603,3.276,2604,3.276,2605,3.276,2606,3.276,2607,3.276]],["title/injectables/BaseRepo.html",[589,0.926,728,4.021]],["body/injectables/BaseRepo.html",[0,0.235,3,0.013,4,0.013,5,0.006,7,0.096,8,1.086,9,4.375,10,3.767,12,4.246,18,4.764,26,2.393,27,0.496,29,0.935,30,0.001,31,0.683,32,0.152,33,0.558,34,1.608,35,1.346,36,2.829,40,4.543,49,4.389,95,0.144,96,2.482,97,2.783,99,1.396,101,0.009,103,0,104,0,135,0.89,148,0.931,157,1.57,205,1.919,206,3.062,224,1.981,228,1.236,277,0.98,317,2.897,433,0.841,478,1.915,532,5.258,574,3.846,589,1.255,591,1.624,619,6.763,657,2.154,728,5.45,734,3.952,735,4.288,736,6.023,759,5.608,761,5.664,764,5.664,766,3.669,1832,5.991,1882,3.592,1920,6.232,1921,6.525,2369,3.814,2436,6.525,2443,4.899,2444,6.449,2448,6.763,2474,5.608,2477,4.651,2479,4.651,2515,5.538,2608,6.821,2609,5.707,2610,8.719,2611,9.416,2612,9.416,2613,8.719,2614,5.724,2615,6.42,2616,6.42,2617,6.821,2618,6.821,2619,6.821,2620,6.821,2621,6.821,2622,6.821,2623,6.821,2624,6.821,2625,6.821]],["title/interfaces/BaseResponseMapper.html",[159,0.714,2626,5.09]],["body/interfaces/BaseResponseMapper.html",[3,0.018,4,0.018,5,0.009,7,0.135,8,1.36,27,0.464,29,0.904,30,0.001,31,0.661,32,0.165,33,0.539,35,1.365,95,0.135,100,3.364,101,0.013,103,0.001,104,0.001,122,2.461,159,0.991,161,2.289,532,5.144,830,6.542,1853,3.153,2048,4.793,2626,8.643,2627,12.746,2628,9.639,2629,9.046,2630,9.046,2631,9.639,2632,8.833,2633,9.639,2634,10.348,2635,4.599]],["title/classes/BaseUc.html",[0,0.239,2636,5.328]],["body/classes/BaseUc.html",[0,0.227,2,0.7,3,0.012,4,0.012,5,0.006,7,0.092,8,1.058,9,3.056,26,2.765,27,0.45,29,0.877,30,0.001,31,0.641,32,0.143,33,0.523,35,1.224,36,2.421,39,3.332,59,2.042,95,0.137,99,1.346,101,0.009,103,0,104,0,113,5.411,135,1.57,148,1.046,153,1.506,183,3.501,195,1.439,197,1.829,228,1.663,277,0.945,290,1.555,317,2.873,331,2.91,433,1.131,543,3.191,579,2.627,610,2.591,657,2.618,693,2.995,1197,7.074,1778,4.134,1793,4.352,1829,2.795,1853,2.151,1862,6.658,1885,5.18,1918,4.557,1961,3.956,1967,7.748,2050,2.772,2512,3.739,2635,6.41,2636,7.04,2637,6.576,2638,7.23,2639,7.23,2640,4.818,2641,8.869,2642,6.576,2643,5.043,2644,8.821,2645,9.192,2646,6.576,2647,7.23,2648,7.775,2649,6.576,2650,7.23,2651,7.595,2652,6.576,2653,3.04,2654,5.467,2655,7.748,2656,6.576,2657,6.089,2658,4.818,2659,6.576,2660,6.576,2661,5.769,2662,6.576,2663,6.576,2664,6.576,2665,7.719,2666,5.769,2667,5.043]],["title/classes/BasicToolConfig.html",[0,0.239,2668,5.09]],["body/classes/BasicToolConfig.html",[0,0.325,2,1.004,3,0.018,4,0.018,5,0.009,7,0.133,27,0.497,29,0.723,30,0.001,31,0.528,32,0.172,33,0.431,47,0.67,95,0.133,101,0.012,103,0.001,104,0.001,112,0.909,231,2.018,232,3.155,233,2.945,433,1.163,435,3.293,436,3.45,614,2.906,2035,4.631,2332,7.06,2668,9.922,2669,5.276,2670,11.641,2671,4.072,2672,7.934,2673,10.14,2674,8.737,2675,8.278,2676,6.564,2677,8.278,2678,8.278,2679,6.433,2680,6.777]],["title/classes/BasicToolConfigEntity.html",[0,0.239,2681,5.64]],["body/classes/BasicToolConfigEntity.html",[0,0.335,2,1.033,3,0.018,4,0.018,5,0.009,27,0.382,29,0.744,30,0.001,31,0.544,32,0.121,33,0.444,95,0.146,96,2.56,101,0.013,103,0.001,104,0.001,224,2.82,231,1.683,232,3.211,433,1.197,435,3.388,457,5.385,614,2.991,2035,4.765,2108,4.238,2669,5.369,2671,4.124,2676,5.474,2679,8.078,2680,6.973,2681,11.083,2682,11.847,2683,8.164,2684,9.709,2685,6.032,2686,9.619,2687,8.518,2688,5.474,2689,6.845]],["title/classes/BasicToolConfigParams.html",[0,0.239,2690,5.64]],["body/classes/BasicToolConfigParams.html",[0,0.401,2,1.001,3,0.018,4,0.018,5,0.009,7,0.132,27,0.457,30,0.001,32,0.169,47,0.825,95,0.15,101,0.012,103,0.001,104,0.001,112,0.908,190,2.087,200,2.884,202,2.163,231,2.015,296,3.295,299,4.531,436,3.445,614,2.899,899,4.287,2035,4.62,2332,7.052,2669,4.266,2671,3.749,2676,7.111,2690,9.438,2691,9.413,2692,8.717,2693,9.915,2694,6.523,2695,7.642,2696,7.642,2697,7.642,2698,7.642,2699,7.642]],["title/classes/BasicToolConfigResponse.html",[0,0.239,2700,5.842]],["body/classes/BasicToolConfigResponse.html",[0,0.312,2,0.963,3,0.017,4,0.017,5,0.008,7,0.127,27,0.488,29,0.694,30,0.001,31,0.507,32,0.17,33,0.414,47,0.805,95,0.141,101,0.012,103,0.001,104,0.001,112,0.886,190,2.037,202,2.08,231,1.966,232,3.075,233,2.825,296,3.496,433,1.116,435,3.159,436,3.362,614,2.788,2035,4.443,2108,3.951,2332,6.929,2669,5.141,2671,3.996,2676,6.987,2679,6.172,2680,6.502,2689,6.382,2700,11.25,2701,11.345,2702,7.349,2703,10.862,2704,9.052,2705,7.942,2706,7.942,2707,7.349]],["title/injectables/BasicToolLaunchStrategy.html",[589,0.926,2708,5.842]],["body/injectables/BasicToolLaunchStrategy.html",[0,0.158,3,0.009,4,0.009,5,0.004,7,0.064,8,0.813,9,2.133,26,2.258,27,0.513,29,0.988,30,0.001,31,0.723,32,0.165,33,0.59,35,1.493,36,2.417,39,2.376,47,0.876,95,0.119,99,0.939,101,0.006,103,0,104,0,110,3.331,112,0.857,122,0.958,125,2.292,130,1.929,134,1.622,135,1.356,142,3.122,145,1.721,148,0.953,172,2.997,223,2.189,228,1.278,231,1.222,277,0.659,317,2.674,326,2.68,339,3.218,436,3.865,569,2.189,571,2.789,589,0.94,591,1.093,652,2.745,711,3.823,1078,2.013,1086,3.364,1087,3.26,1088,3.311,1089,3.523,1090,3.85,1476,5.218,1723,2.61,1756,2.633,2004,6.754,2005,6.661,2059,5.166,2060,5.064,2671,2.274,2708,5.929,2709,4.027,2710,4.59,2711,4.251,2712,12.387,2713,6.529,2714,7.949,2715,6.529,2716,6.529,2717,6.529,2718,6.529,2719,6.529,2720,6.529,2721,6.529,2722,6.529,2723,6.186,2724,6.186,2725,6.529,2726,6.529,2727,4.251,2728,9.287,2729,4.251,2730,6.529,2731,11.058,2732,4.59,2733,6.529,2734,4.59,2735,9.225,2736,4.251,2737,6.529,2738,7.458,2739,5.408,2740,4.251,2741,4.251,2742,6.529,2743,6.791,2744,4.251,2745,4.251,2746,6.529,2747,4.251,2748,4.251,2749,4.238,2750,4.251,2751,8.414,2752,4.251,2753,4.251,2754,4.251,2755,4.251,2756,4.027,2757,4.027,2758,4.251,2759,4.251,2760,4.251,2761,3.364,2762,4.251,2763,6.529,2764,6.375,2765,4.251,2766,4.251,2767,6.529,2768,4.251,2769,2.506,2770,4.251,2771,4.027,2772,4.251,2773,3.13,2774,4.027,2775,3.521,2776,7.051,2777,4.59,2778,7.051,2779,6.529,2780,4.59,2781,4.59,2782,4.59,2783,4.59,2784,7.051,2785,4.59,2786,4.59,2787,4.027]],["title/injectables/BatchDeletionService.html",[589,0.926,2788,5.842]],["body/injectables/BatchDeletionService.html",[0,0.241,3,0.013,4,0.013,5,0.006,7,0.098,8,1.105,27,0.377,29,0.734,30,0.001,31,0.537,32,0.119,33,0.438,35,0.81,36,2.028,55,2.194,59,2.173,95,0.134,101,0.009,103,0,104,0,135,1.533,141,3.002,145,2.624,148,0.692,153,1.148,159,0.72,193,3.042,228,1.269,277,1.005,317,2.368,400,2.085,433,0.863,534,3.659,571,3.791,589,1.278,591,1.666,612,4.701,628,4.169,629,5.045,657,2.689,871,4.001,873,4.454,1080,3.768,1086,4.573,1087,4.431,1088,4.5,1115,2.68,1328,3.711,1329,4.255,1393,6.684,1461,5.242,1561,6.758,1626,6.062,1749,3.981,2202,4.57,2357,6.215,2788,8.06,2789,10.929,2790,7,2791,10.929,2792,6.482,2793,10.322,2794,7,2795,7,2796,9.015,2797,11.773,2798,7,2799,10.121,2800,6.141,2801,6.141,2802,5.087,2803,7.549,2804,11.401,2805,4.633,2806,5.599,2807,5.683,2808,4.633,2809,7,2810,5.886,2811,6.436,2812,6.343,2813,9.584,2814,6.482,2815,5.683,2816,7,2817,7,2818,7,2819,7,2820,7.781,2821,5.683,2822,7,2823,5.514,2824,7,2825,7,2826,7,2827,7,2828,5.242,2829,7,2830,5.514,2831,5.369,2832,4.51,2833,7,2834,5.683,2835,6.141,2836,5.683]],["title/interfaces/BatchDeletionSummary.html",[159,0.714,2837,5.842]],["body/interfaces/BatchDeletionSummary.html",[3,0.018,4,0.018,5,0.009,7,0.135,30,0.001,32,0.169,47,0.903,55,2.864,95,0.109,101,0.013,103,0.001,104,0.001,112,0.918,159,0.986,161,2.278,401,5.364,1355,7.606,2806,6.871,2837,9.89,2838,8.883,2839,9.593,2840,12.278,2841,12.278,2842,12.278,2843,12.278,2844,11.15,2845,8.067,2846,9.593]],["title/classes/BatchDeletionSummaryBuilder.html",[0,0.239,2847,6.094]],["body/classes/BatchDeletionSummaryBuilder.html",[0,0.338,2,1.043,3,0.019,4,0.019,5,0.009,7,0.138,8,1.374,27,0.386,29,0.751,30,0.001,31,0.549,32,0.122,33,0.448,35,1.135,55,2.577,95,0.112,101,0.013,103,0.001,104,0.001,145,4.467,148,0.97,159,1.008,467,3.739,507,5.25,1355,5.624,2806,6.962,2837,10.798,2840,11.036,2841,9.079,2842,9.079,2843,9.079,2847,10.456,2848,11.036,2849,9.804,2850,11.918,2851,9.804,2852,9.079,2853,9.804]],["title/interfaces/BatchDeletionSummaryDetail.html",[159,0.714,2844,5.842]],["body/interfaces/BatchDeletionSummaryDetail.html",[3,0.02,4,0.02,5,0.009,7,0.144,30,0.001,32,0.153,95,0.117,101,0.013,103,0.001,104,0.001,112,0.958,159,1.057,161,2.442,401,5.749,2357,7.718,2796,10.41,2803,10.691,2806,6.006,2838,9.52,2844,10.313,2854,10.281,2855,9.748,2856,6.541]],["title/classes/BatchDeletionSummaryDetailBuilder.html",[0,0.239,2857,6.094]],["body/classes/BatchDeletionSummaryDetailBuilder.html",[0,0.333,2,1.028,3,0.018,4,0.018,5,0.009,7,0.136,8,1.362,27,0.38,29,0.74,30,0.001,31,0.541,32,0.12,33,0.442,35,1.118,95,0.135,101,0.013,103,0.001,104,0.001,148,0.956,159,0.993,401,6.605,467,3.715,507,5.203,2357,6.717,2796,10.194,2803,10.47,2806,6.901,2844,10.729,2848,10.939,2855,9.547,2856,6.147,2857,10.363,2858,9.662,2859,11.813,2860,9.662]],["title/injectables/BatchDeletionUc.html",[589,0.926,2861,5.842]],["body/injectables/BatchDeletionUc.html",[0,0.229,3,0.013,4,0.013,5,0.01,7,0.093,8,1.067,27,0.364,29,0.709,30,0.001,31,0.518,32,0.115,33,0.423,35,0.77,36,1.958,47,0.858,55,2.577,59,2.065,95,0.131,101,0.009,103,0,104,0,129,1.986,130,1.82,135,1.633,141,2.852,145,2.494,153,1.091,159,0.684,228,1.205,277,0.955,290,2.188,317,2.305,329,5.625,340,4.286,347,3.409,400,1.981,401,3.72,409,4.232,413,4.044,414,3.365,415,3.783,433,0.82,534,4.837,579,2.648,589,1.234,591,1.583,610,3.647,641,3.783,657,1.522,873,4.232,876,3.454,1076,4.232,1080,3.965,1393,5.262,1461,4.981,1626,3.689,1749,3.783,1835,3.409,1842,3.029,1926,4.467,2202,4.342,2229,4.874,2304,5.836,2313,8.118,2327,4.181,2344,4.044,2512,3.783,2525,3.578,2788,10.525,2796,7.097,2797,10.651,2799,11.195,2804,10.651,2805,6.124,2806,5.406,2837,7.781,2845,7.781,2847,5.836,2852,6.16,2855,4.778,2856,4.232,2857,5.836,2861,7.781,2862,10.64,2863,6.652,2864,10.64,2865,6.652,2866,6.652,2867,6.652,2868,7.147,2869,7.892,2870,6.652,2871,7.781,2872,9.853,2873,5.836,2874,5.836,2875,6.16,2876,6.652,2877,6.652,2878,5.836,2879,5.24,2880,4.087,2881,3.174,2882,6.652,2883,6.652,2884,4.002,2885,6.652,2886,6.652,2887,3.783,2888,6.16,2889,6.16,2890,6.16,2891,6.646,2892,4.981,2893,8.569,2894,6.652,2895,3.85,2896,5.24,2897,9.253,2898,9.253,2899,5.102,2900,6.16,2901,8.118,2902,6.652,2903,5.594,2904,5.4,2905,6.652,2906,7.781,2907,5.308]],["title/entities/Board.html",[205,1.416,2050,2.928]],["body/entities/Board.html",[0,0.193,3,0.011,4,0.011,5,0.005,7,0.079,26,2.434,27,0.322,30,0.001,32,0.133,34,0.958,95,0.153,96,1.479,101,0.011,103,0,104,0,112,0.64,122,1.171,125,1.95,129,1.675,130,1.535,134,1.983,135,1.735,148,1.17,153,2.054,159,0.577,190,1.471,195,2.588,205,1.671,206,1.825,219,4.582,224,1.63,225,3.148,226,2.543,229,2.219,231,0.972,232,1.52,233,1.751,277,0.806,409,3.57,415,3.191,569,1.742,579,2.771,585,4.111,628,3.341,652,2.309,653,3.998,896,4.582,1821,2.722,1936,2.634,2026,3.999,2032,4.759,2048,4.806,2050,4.986,2511,3.341,2538,7.094,2880,7.505,2908,7.626,2909,5.611,2910,5.611,2911,4.922,2912,6.285,2913,5.886,2914,5.611,2915,4.545,2916,8.195,2917,6.653,2918,5.611,2919,3.112,2920,6.455,2921,4.111,2922,3.248,2923,2.974,2924,5.28,2925,3.341,2926,4.408,2927,3.956,2928,4.431,2929,3.527,2930,7.507,2931,11.595,2932,8.142,2933,6.285,2934,4.376,2935,5.886,2936,4.922,2937,6.653,2938,6.653,2939,8.195,2940,5.611,2941,3.663,2942,5.611,2943,5.611,2944,8.195,2945,4.718,2946,5.611,2947,9.682,2948,5.611,2949,5.611,2950,5.611,2951,5.611,2952,5.611,2953,8.195,2954,5.611,2955,8.195,2956,8.195,2957,5.611,2958,5.611,2959,4.555,2960,5.611,2961,5.611,2962,5.196,2963,5.611,2964,3.888,2965,5.611,2966,4.718,2967,5.611,2968,5.611,2969,5.611,2970,5.611,2971,5.611,2972,5.611,2973,5.611,2974,5.611,2975,5.611,2976,5.611,2977,5.611,2978,5.611,2979,5.611,2980,4.825,2981,5.611,2982,8.195,2983,5.611,2984,5.611,2985,5.611,2986,5.611,2987,11.827,2988,4.922]],["title/modules/BoardApiModule.html",[252,1.836,2989,5.842]],["body/modules/BoardApiModule.html",[0,0.276,3,0.015,4,0.015,5,0.007,30,0.001,95,0.156,101,0.01,103,0.001,104,0.001,252,3.09,254,2.883,255,3.053,256,3.131,257,3.12,258,3.109,259,4.253,260,2.98,265,6.11,269,4.102,270,3.075,271,3.011,273,5.032,274,4.383,276,4.102,277,1.15,314,3.064,1027,2.453,1856,6.015,1931,9.897,1935,7.041,2653,3.701,2989,12.17,2990,8.005,2991,8.005,2992,8.005,2993,10.73,2994,10.41,2995,10.73,2996,10.73,2997,11.114,2998,8.005,2999,10.259,3000,10.259,3001,10.259,3002,10.259,3003,10.259,3004,8.005,3005,3.779,3006,7.023,3007,7.413,3008,7.413]],["title/classes/BoardColumnBoardResponse.html",[0,0.239,3009,5.842]],["body/classes/BoardColumnBoardResponse.html",[0,0.264,2,0.814,3,0.015,4,0.015,5,0.007,7,0.108,27,0.524,29,0.586,30,0.001,31,0.429,32,0.166,33,0.35,34,2.168,47,0.926,83,3.55,95,0.116,101,0.01,103,0,104,0,112,0.795,122,2.124,155,4.027,190,2.343,202,1.758,296,3.669,298,3.311,430,5.199,431,5.42,433,1.255,458,3.062,460,4.653,462,4.653,821,3.897,2934,7.642,3009,10.674,3010,10.656,3011,10.656,3012,7.654,3013,9.735,3014,8.401,3015,7.654,3016,7.654,3017,7.654,3018,7.654,3019,7.654,3020,5.397,3021,7.654,3022,7.654,3023,6.325,3024,7.654,3025,3.672,3026,7.088]],["title/classes/BoardComposite.html",[0,0.239,3027,4.179]],["body/classes/BoardComposite.html",[0,0.203,2,0.628,3,0.011,4,0.011,5,0.005,7,0.083,8,0.98,9,6.099,26,1.749,27,0.523,29,0.922,30,0.001,31,0.674,32,0.161,33,0.55,34,1.452,35,1.436,36,1.798,55,2,59,1.832,83,3.174,95,0.132,99,1.207,101,0.011,103,0,104,0,112,0.664,113,3.387,122,2.275,134,2.085,135,0.769,145,2.211,148,1.078,153,1.634,159,0.606,185,2.912,189,5.222,231,1.473,277,0.847,430,4.465,431,4.654,435,2.966,436,2.518,532,3.153,569,3.736,579,2.851,711,2.518,735,3.87,985,3.415,1626,4.714,1770,4.871,1773,6.121,1829,2.508,1849,3.415,1850,4.159,1851,4.524,2512,3.355,2635,6.561,2654,3.513,2922,3.415,3027,5.113,3028,12.155,3029,5.463,3030,5.992,3031,5.992,3032,5.992,3033,5.548,3034,5.992,3035,7.554,3036,3.708,3037,5.166,3038,6.368,3039,5.899,3040,5.89,3041,5.166,3042,6.253,3043,5.899,3044,5.89,3045,6.778,3046,5.899,3047,7.796,3048,5.89,3049,5.899,3050,6.104,3051,5.899,3052,5.89,3053,5.899,3054,3.708,3055,5.463,3056,5.899,3057,4.647,3058,5.899,3059,4.647,3060,5.899,3061,7.87,3062,4.088,3063,4.088,3064,5.463,3065,5.463,3066,5.463,3067,7.87,3068,5.463,3069,5.463,3070,5.463,3071,3.549,3072,5.463,3073,5.463,3074,5.463,3075,5.463,3076,7.456,3077,3.851,3078,5.992,3079,5.463,3080,5.175,3081,3.549]],["title/interfaces/BoardCompositeProps.html",[159,0.714,3081,4.179]],["body/interfaces/BoardCompositeProps.html",[0,0.251,3,0.014,4,0.014,5,0.007,7,0.102,9,5.555,26,2.461,30,0.001,32,0.16,33,0.45,34,2.133,36,1.543,55,1.464,83,3.897,95,0.142,99,1.492,101,0.013,103,0,104,0,112,0.77,122,2.056,134,2.577,135,0.951,145,2.734,148,1.183,153,1.831,159,0.75,161,1.732,185,3.377,231,1.264,277,1.047,430,5.115,431,5.332,569,3.466,579,3.195,985,4.221,1626,5.466,1770,3.989,1829,3.1,1849,4.221,1850,5.142,1851,5.593,2512,4.147,2635,6.471,2654,4.343,2922,4.221,3027,4.387,3028,6.753,3029,6.753,3035,8.654,3037,4.433,3038,5.757,3041,4.433,3042,5.653,3044,5.054,3045,6.872,3047,7.515,3048,5.054,3050,5.238,3052,5.054,3061,9.126,3062,5.054,3063,5.054,3064,6.753,3065,6.753,3066,6.753,3067,9.126,3068,6.753,3069,6.753,3070,6.753,3071,4.387,3072,6.753,3073,6.753,3074,6.753,3075,6.753,3076,8.646,3077,4.76,3078,6.948,3079,6.753,3080,6.398,3081,5.929]],["title/interfaces/BoardCompositeVisitor.html",[159,0.714,3038,4.058]],["body/interfaces/BoardCompositeVisitor.html",[3,0.011,4,0.011,5,0.008,7,0.083,8,0.98,27,0.517,29,1.006,30,0.001,31,0.735,32,0.175,33,0.6,35,1.519,36,2.777,95,0.15,101,0.011,103,0,104,0,159,0.874,161,1.401,569,4.373,614,1.817,2031,7.167,2369,3.299,2648,7.167,2671,1.903,2881,2.815,2934,6.622,3038,4.965,3042,3.384,3082,10.469,3083,12.307,3084,5.463,3085,7.87,3086,7.87,3087,7.87,3088,7.87,3089,7.87,3090,7.87,3091,7.87,3092,7.87,3093,7.87,3094,7.87,3095,7.456,3096,6.903,3097,5.899,3098,7.456,3099,5.899,3100,7.456,3101,5.899,3102,7.456,3103,7.965,3104,5.899,3105,7.456,3106,7.965,3107,5.899,3108,7.456,3109,7.478,3110,5.899,3111,7.456,3112,7.965,3113,5.899,3114,7.456,3115,7.395,3116,5.899,3117,7.456,3118,7.656,3119,5.899,3120,7.456,3121,5.899,3122,4.524,3123,8.485,3124,4.961,3125,5.463,3126,4.961,3127,4.418,3128,3.833,3129,3.586,3130,4.789,3131,4.961,3132,4.961,3133,4.961,3134,4.961,3135,4.961,3136,4.961,3137,4.961,3138,4.961,3139,5.463,3140,4.961]],["title/interfaces/BoardCompositeVisitorAsync.html",[159,0.714,3042,3.985]],["body/interfaces/BoardCompositeVisitorAsync.html",[3,0.011,4,0.011,5,0.008,7,0.083,8,0.98,27,0.517,29,1.006,30,0.001,31,0.735,32,0.175,33,0.6,35,1.519,36,2.98,95,0.15,101,0.011,103,0,104,0,159,0.874,161,1.401,569,4.075,614,1.817,2031,7.167,2369,3.299,2648,7.167,2671,1.903,2881,2.815,2934,6.622,3038,3.446,3042,4.875,3082,10.469,3083,12.307,3084,5.463,3095,5.175,3096,6.903,3098,5.175,3100,5.175,3102,5.175,3103,7.965,3105,5.175,3106,7.965,3108,5.175,3109,7.478,3111,5.175,3112,7.965,3114,5.175,3115,7.395,3117,5.175,3118,7.656,3120,5.175,3122,4.524,3123,8.485,3124,4.961,3125,5.463,3126,4.961,3127,4.418,3128,3.833,3129,3.586,3130,4.789,3131,7.147,3132,7.147,3133,7.147,3134,7.147,3135,7.147,3136,7.147,3137,7.147,3138,7.147,3139,7.87,3140,7.147,3141,7.147,3142,7.147,3143,7.147,3144,7.147,3145,7.147,3146,7.147,3147,7.147,3148,7.147,3149,7.147,3150,7.147,3151,5.899,3152,5.899,3153,5.899,3154,5.899,3155,5.899,3156,5.899,3157,5.899,3158,5.899,3159,5.899,3160,5.899]],["title/classes/BoardContextResponse.html",[0,0.239,3161,6.094]],["body/classes/BoardContextResponse.html",[0,0.313,2,0.967,3,0.017,4,0.017,5,0.008,7,0.128,27,0.489,29,0.697,30,0.001,31,0.509,32,0.175,33,0.416,34,2.288,47,0.808,95,0.13,101,0.012,103,0.001,104,0.001,112,0.889,190,2.043,202,2.089,296,3.244,304,4.49,433,1.402,458,3.638,821,4.63,886,2.861,1853,2.974,2030,9.609,2108,3.969,3161,11.753,3162,13.012,3163,9.093,3164,9.093,3165,5.936,3166,6.075,3167,6.075,3168,9.093,3169,5.415,3170,5.314,3171,9.093]],["title/controllers/BoardController.html",[314,2.659,2999,6.094]],["body/controllers/BoardController.html",[0,0.156,3,0.009,4,0.009,5,0.004,7,0.064,8,0.806,10,3.41,27,0.407,29,0.792,30,0.001,31,0.579,32,0.179,33,0.473,35,1.197,36,2.603,95,0.134,100,1.584,101,0.006,103,0,104,0,135,1.425,148,0.843,153,1.398,155,2.217,183,2.666,190,1.856,202,1.043,228,0.822,274,1.897,277,0.652,314,1.737,316,2.19,317,2.846,325,6.581,333,6.429,337,7.561,342,8.033,345,8.838,349,6.958,379,3.559,388,4.434,389,2.963,390,6.441,391,8.398,392,2.373,393,2.241,395,2.441,398,2.459,400,1.352,401,5.781,402,4.866,657,2.366,675,2.311,734,2.934,871,3.998,1351,7.333,2050,4.603,2654,6.504,2923,5.789,2934,4.551,2993,6.92,2999,6.132,3005,2.142,3161,6.132,3172,4.538,3173,4.203,3174,7.893,3175,6.472,3176,8.523,3177,8.523,3178,7.893,3179,4.538,3180,11.624,3181,7.426,3182,10.339,3183,5.234,3184,4.538,3185,7.742,3186,7.742,3187,4.538,3188,4.538,3189,8.033,3190,4.538,3191,5.505,3192,4.538,3193,4.538,3194,4.538,3195,4.538,3196,4.538,3197,4.538,3198,4.538,3199,6.989,3200,4.538,3201,4.538,3202,4.538,3203,4.538,3204,6.714,3205,7.773,3206,4.046,3207,4.538,3208,4.538,3209,2.341,3210,3.048,3211,2.497,3212,5.877,3213,5.674,3214,4.538,3215,4.538,3216,3.982,3217,3.817,3218,3.685,3219,4.538,3220,4.538,3221,4.538,3222,10.339,3223,4.538,3224,4.538,3225,4.538,3226,4.538,3227,4.538,3228,5.121,3229,5.234,3230,4.538,3231,4.538,3232,3.982,3233,4.538,3234,4.538,3235,4.538,3236,4.538,3237,4.538,3238,4.203]],["title/injectables/BoardCopyService.html",[589,0.926,3239,5.842]],["body/injectables/BoardCopyService.html",[0,0.127,3,0.007,4,0.007,5,0.003,7,0.052,8,0.682,27,0.443,29,0.863,30,0.001,31,0.631,32,0.15,33,0.515,34,0.628,35,1.264,36,2.501,39,1.017,55,0.738,95,0.137,101,0.005,103,0,104,0,125,0.874,135,1.673,148,1.243,153,1.532,155,1.877,205,0.749,228,1.809,277,0.528,279,1.536,290,3.29,317,2.723,326,2.249,402,4.033,433,0.729,478,1.032,571,2.341,578,1.921,589,0.789,591,0.874,629,1.934,652,2.775,653,3.068,657,1.7,695,2.639,896,4.154,1027,1.126,1317,2.31,1328,1.948,1329,2.234,1660,7.473,1835,1.883,1853,1.202,2030,2.546,2031,3.524,2032,4.777,2050,4.424,2053,2.751,2445,2.464,2446,3.979,2467,3.56,2483,2.692,2880,5.234,2926,5.023,2928,4.274,2930,8.156,2933,4.539,2935,7.537,2937,4.804,2938,4.804,2945,3.09,2980,3.86,3013,2.818,3239,4.976,3240,11.567,3241,2.894,3242,5.918,3243,7.43,3244,6.88,3245,4.976,3246,4.804,3247,5.918,3248,5.918,3249,5.918,3250,2.467,3251,7.858,3252,8.266,3253,8.825,3254,8.825,3255,7.689,3256,3.674,3257,5.918,3258,8.518,3259,3.674,3260,3.674,3261,10.193,3262,3.674,3263,7.43,3264,3.674,3265,3.674,3266,5.918,3267,3.674,3268,3.403,3269,5.918,3270,3.674,3271,3.224,3272,5.918,3273,8.204,3274,3.674,3275,9.339,3276,5.918,3277,3.674,3278,4.804,3279,5.918,3280,3.674,3281,5.48,3282,3.674,3283,3.09,3284,2.894,3285,2.751,3286,2.258,3287,2.089,3288,3.674,3289,3.674,3290,3.09,3291,3.09,3292,3.09,3293,5.698,3294,3.674,3295,3.674,3296,3.403,3297,2.818,3298,5.192,3299,3.674,3300,3.674,3301,3.674,3302,7.43,3303,3.674,3304,3.224,3305,2.894,3306,3.09,3307,3.674,3308,3.674,3309,9.718,3310,3.674,3311,3.674,3312,3.674,3313,3.09,3314,3.674,3315,5.48,3316,3.674,3317,3.674,3318,6.518,3319,3.09,3320,3.674,3321,3.674,3322,7.43,3323,3.09,3324,3.674,3325,3.674,3326,3.09,3327,3.674,3328,3.674,3329,4.25,3330,3.674,3331,4.25,3332,4.539,3333,3.674,3334,3.674,3335,3.674,3336,3.674,3337,3.224,3338,3.224,3339,3.403,3340,3.224,3341,3.09,3342,3.403,3343,3.674,3344,3.403,3345,3.224,3346,3.403,3347,3.674,3348,3.674,3349,3.674,3350,3.674,3351,3.674,3352,3.674,3353,3.674,3354,3.674,3355,3.674,3356,3.674,3357,5.918,3358,3.674,3359,5.918,3360,5.918,3361,3.674,3362,3.674,3363,3.674,3364,3.674,3365,3.674,3366,3.674,3367,3.674,3368,3.674]],["title/classes/BoardDoAuthorizable.html",[0,0.239,2655,5.09]],["body/classes/BoardDoAuthorizable.html",[0,0.263,2,0.811,3,0.014,4,0.014,5,0.007,7,0.107,8,1.171,26,2.35,27,0.499,29,0.584,30,0.001,31,0.427,32,0.127,33,0.348,34,1.302,35,1.175,39,2.11,47,0.721,95,0.116,99,1.56,101,0.017,102,4.042,103,0,104,0,112,0.793,113,4.047,125,2.897,148,1.004,159,1.044,185,2.613,231,1.979,357,5.848,435,3.544,436,3.009,532,3.768,567,2.898,569,2.367,693,3.472,700,3.679,701,3.679,711,3.009,735,4.624,886,3.195,1767,5.587,1770,5.131,1773,7.015,1832,4.851,1849,4.414,1921,5.284,2644,8.92,2645,9.928,2655,7.44,3036,4.793,3054,4.793,3082,9.589,3369,6.689,3370,5.464,3371,7.061,3372,7.625,3373,7.625,3374,7.625,3375,7.625,3376,7.625,3377,8.244,3378,5.989,3379,8.908,3380,6.19,3381,6.412,3382,3.49,3383,7.355,3384,5.825,3385,6.689,3386,6.689,3387,8.756,3388,3.907,3389,6.412,3390,6.19,3391,8.908,3392,6.689]],["title/interfaces/BoardDoAuthorizableProps.html",[159,0.714,3389,5.842]],["body/interfaces/BoardDoAuthorizableProps.html",[0,0.281,3,0.015,4,0.015,5,0.008,7,0.115,26,2.668,30,0.001,32,0.147,33,0.486,34,2.136,39,2.261,47,0.754,95,0.121,99,1.672,101,0.017,102,4.33,103,0.001,104,0.001,112,0.83,125,2.529,148,1.051,159,1.092,161,1.94,185,2.799,231,2.047,357,6.264,567,3.105,693,3.72,700,3.941,701,3.941,886,3.343,1767,6.498,1770,4.301,1832,5.197,1849,4.728,1921,5.66,2644,9.499,2645,9.961,2655,5.985,3082,6.434,3369,7.166,3370,5.818,3377,8.626,3378,6.266,3379,9.321,3380,6.631,3381,6.869,3382,3.738,3383,7.608,3384,6.095,3385,7.166,3386,7.166,3387,9.943,3388,4.186,3389,8.934,3390,6.631,3391,9.321,3392,7.166]],["title/injectables/BoardDoAuthorizableService.html",[589,0.926,2641,4.814]],["body/injectables/BoardDoAuthorizableService.html",[0,0.21,3,0.012,4,0.012,5,0.006,7,0.086,8,1.002,12,3.92,26,2.276,27,0.435,29,0.847,30,0.001,31,0.619,32,0.138,33,0.505,34,1.889,35,1.173,36,2.339,39,2.806,40,4.194,95,0.143,99,1.246,101,0.008,103,0,104,0,135,1.724,148,1.238,153,1.814,228,1.575,277,0.874,279,2.545,317,2.635,433,1.071,478,1.709,578,5.3,579,1.742,589,1.159,591,1.449,615,3.7,652,2.384,653,2.513,657,2.676,688,2.873,700,4.891,701,4.891,756,3.438,1237,1.795,1845,6.846,1853,1.991,1910,7.692,1935,4.087,2030,4.218,2031,6.038,2032,4.623,2053,4.558,2609,2.988,2635,5.276,2641,6.023,2645,7.942,2651,6.243,2653,2.814,2655,8.911,2665,5.119,2899,4.669,3370,5.619,3377,4.942,3387,7.776,3388,5.195,3393,8.969,3394,5.637,3395,8.692,3396,8.692,3397,4.558,3398,8.826,3399,6.087,3400,6.087,3401,8.692,3402,6.087,3403,8.692,3404,6.087,3405,4.558,3406,5.637,3407,6.087,3408,7.309,3409,5.637,3410,9.388,3411,5.637,3412,6.087,3413,8.049,3414,5.637,3415,6.087,3416,6.087,3417,6.087,3418,6.087,3419,3.25,3420,6.087,3421,6.808,3422,6.618,3423,8.692,3424,6.087,3425,6.087,3426,6.087,3427,6.087,3428,6.087]],["title/interfaces/BoardDoBuilder.html",[159,0.714,3429,4.137]],["body/interfaces/BoardDoBuilder.html",[3,0.012,4,0.012,5,0.008,7,0.085,8,1.001,27,0.52,29,1.012,30,0.001,31,0.74,32,0.177,33,0.604,35,1.529,95,0.153,101,0.008,103,0,104,0,159,0.625,161,1.443,614,1.872,1770,2.46,2031,6.033,2048,4.94,2050,2.562,2369,3.399,2648,6.033,2671,1.96,2881,2.9,2934,6.241,3096,6.339,3103,6.704,3106,6.704,3109,6.294,3112,6.704,3115,6.224,3118,6.445,3122,4.661,3127,4.551,3128,3.916,3129,3.695,3419,7.054,3429,5.171,3430,13.371,3431,6.078,3432,8.04,3433,8.04,3434,8.04,3435,8.04,3436,8.04,3437,8.04,3438,8.04,3439,8.04,3440,8.04,3441,8.04,3442,8.04,3443,8.704,3444,6.078,3445,8.04,3446,8.972,3447,6.078,3448,8.04,3449,8.475,3450,6.078,3451,8.04,3452,8.704,3453,6.078,3454,8.04,3455,8.704,3456,6.078,3457,8.04,3458,8.704,3459,6.078,3460,8.04,3461,8.704,3462,6.078,3463,8.04,3464,8.704,3465,6.078,3466,8.04,3467,8.704,3468,6.078,3469,8.04,3470,8.704,3471,6.078,3472,11.591,3473,3.916]],["title/classes/BoardDoBuilderImpl.html",[0,0.239,3474,6.094]],["body/classes/BoardDoBuilderImpl.html",[0,0.114,2,0.353,3,0.006,4,0.006,5,0.003,7,0.047,8,0.629,27,0.494,29,0.971,30,0.001,31,0.696,32,0.172,33,0.568,34,1.912,35,1.42,39,0.919,95,0.101,101,0.004,103,0,104,0,110,1.149,112,0.426,129,0.992,130,0.909,135,1.705,145,1.245,148,1.179,153,1.92,155,2.545,157,0.765,183,1.267,277,0.477,430,4.585,431,4.779,433,0.409,478,0.933,532,4.153,569,1.693,579,1.56,652,1.413,711,4.023,896,5.324,1078,2.39,1237,1.607,1853,1.086,2031,5.671,2048,4.986,2635,1.585,2648,4.779,2805,2.198,2881,1.585,2934,5.084,2964,2.302,3035,8.503,3055,5.048,3096,5.462,3103,5.311,3106,5.864,3109,4.986,3112,5.311,3115,4.931,3118,5.105,3123,2.342,3419,7.462,3429,4.129,3432,5.048,3433,5.048,3434,5.048,3435,5.048,3436,5.048,3437,5.048,3438,5.048,3439,5.048,3440,5.048,3441,5.048,3442,5.048,3443,6.32,3445,5.048,3446,6.515,3448,5.048,3449,6.154,3451,5.048,3452,6.32,3454,5.048,3455,6.32,3457,5.048,3458,6.32,3460,5.048,3461,6.32,3463,5.048,3464,6.32,3466,5.048,3467,6.32,3469,5.048,3470,6.32,3472,2.914,3474,4.783,3475,11.122,3476,11.739,3477,3.322,3478,6.421,3479,5.451,3480,5.451,3481,5.451,3482,5.451,3483,5.451,3484,5.451,3485,4.783,3486,3.322,3487,5.451,3488,3.322,3489,3.322,3490,3.322,3491,5.451,3492,3.322,3493,3.322,3494,3.322,3495,3.322,3496,3.322,3497,3.322,3498,3.322,3499,3.322,3500,5.451,3501,6.611,3502,3.322,3503,5.451,3504,3.322,3505,5.451,3506,3.322,3507,2.113,3508,2.548,3509,3.076,3510,3.322,3511,3.322,3512,3.322,3513,8.86,3514,3.076,3515,4.082,3516,8.86,3517,10.365,3518,8.024,3519,11.193,3520,11.193,3521,3.322,3522,2.914,3523,4.181,3524,4.783,3525,2.914,3526,4.783,3527,2.914,3528,2.914,3529,2.914,3530,2.14,3531,3.322,3532,8.86,3533,1.959,3534,3.322,3535,1.959,3536,3.322,3537,3.322,3538,1.941,3539,3.322,3540,3.322,3541,1.725,3542,3.322,3543,3.322,3544,2.914,3545,1.713,3546,3.322,3547,2.041,3548,3.322,3549,3.322,3550,1.857,3551,3.322,3552,3.322,3553,3.322,3554,3.322,3555,5.451,3556,3.322,3557,3.322,3558,3.322,3559,3.322,3560,3.322,3561,3.322,3562,3.322,3563,3.717,3564,2.113,3565,3.322,3566,4.584,3567,3.322,3568,3.322,3569,5.451,3570,3.322,3571,3.322,3572,3.322,3573,3.322,3574,3.322]],["title/injectables/BoardDoCopyService.html",[589,0.926,3575,5.842]],["body/injectables/BoardDoCopyService.html",[0,0.308,3,0.017,4,0.017,5,0.01,7,0.125,8,1.297,27,0.351,29,0.684,30,0.001,31,0.5,32,0.14,33,0.408,35,1.034,36,2.38,95,0.152,101,0.015,103,0.001,104,0.001,135,1.467,141,4.824,148,0.883,153,1.465,277,1.283,317,2.668,326,3.395,589,1.5,591,2.126,657,2.043,703,2.773,711,3.649,1083,5.036,1853,2.921,2602,7.859,2635,5.368,3040,6.189,3241,7.035,3273,5.83,3286,5.488,3287,5.079,3393,8.628,3575,9.46,3576,9.87,3577,11.25,3578,12.928,3579,8.931,3580,7.835,3581,7.835,3582,8.931,3583,8.861,3584,7.51,3585,6.415,3586,7.835,3587,8.931,3588,8.931]],["title/injectables/BoardDoRepo.html",[589,0.926,3398,4.898]],["body/injectables/BoardDoRepo.html",[0,0.153,3,0.008,4,0.008,5,0.004,7,0.062,8,0.794,10,2.753,12,3.103,18,3.482,26,2.775,27,0.482,29,0.954,30,0.001,31,0.685,32,0.16,33,0.559,34,1.993,35,1.386,36,2.834,40,3.32,49,1.679,55,2.174,59,2.613,95,0.14,96,1.814,97,1.815,99,0.91,101,0.006,103,0,104,0,125,1.059,135,1.747,148,1.185,153,1.777,172,2.925,224,1.292,228,1.525,277,0.639,317,3.021,433,0.848,435,1.552,478,1.249,532,2.553,579,1.273,589,0.917,591,1.059,615,6.585,652,1.716,653,1.837,657,2.932,1751,5.42,1770,5.043,1842,2.026,1853,1.455,2050,2.901,2444,5.254,2453,4.492,2469,4.692,2476,3.411,2510,5.587,2513,4.119,2635,6.299,2651,3.195,2769,2.429,2923,2.358,3035,3.082,3398,4.852,3419,5.058,3449,3.411,3474,3.902,3475,10.93,3476,4.119,3478,4.119,3485,3.902,3563,3.033,3581,6.037,3589,4.119,3590,8.416,3591,5.787,3592,6.372,3593,6.372,3594,6.881,3595,6.881,3596,2.904,3597,9.171,3598,8.416,3599,7.966,3600,4.448,3601,4.02,3602,4.448,3603,4.448,3604,10.807,3605,4.448,3606,8.416,3607,4.448,3608,6.037,3609,4.448,3610,6.372,3611,6.804,3612,4.448,3613,6.881,3614,4.448,3615,4.448,3616,6.881,3617,4.448,3618,6.881,3619,4.448,3620,4.793,3621,4.448,3622,4.448,3623,4.119,3624,4.448,3625,3.902,3626,4.448,3627,4.448,3628,4.448,3629,4.448,3630,4.448,3631,3.902,3632,4.448,3633,6.045,3634,6.372,3635,4.448,3636,4.448,3637,4.448,3638,4.448,3639,6.372,3640,4.448,3641,4.448,3642,4.448,3643,4.448,3644,3.611,3645,4.448,3646,3.902,3647,4.448,3648,4.448,3649,4.448,3650,4.448,3651,4.448,3652,4.448,3653,4.448,3654,4.448,3655,4.448,3656,4.448,3657,4.448,3658,4.448,3659,5.278,3660,4.448]],["title/injectables/BoardDoRule.html",[589,0.926,1865,5.842]],["body/injectables/BoardDoRule.html",[0,0.252,3,0.014,4,0.014,5,0.007,7,0.103,8,1.138,27,0.44,29,0.856,30,0.001,31,0.626,32,0.149,33,0.511,35,1.142,39,2.731,95,0.143,101,0.01,103,0,104,0,122,2.497,135,1.457,148,1.302,183,4.262,195,2.159,197,3.475,228,1.324,277,1.049,290,3.209,400,2.176,433,0.9,478,2.051,578,3.819,589,1.316,591,1.739,653,3.017,711,3.816,1197,3.959,1237,2.154,1775,6.584,1792,5.063,1793,4.835,1801,8.001,1838,7.273,1853,2.389,1865,8.297,1981,6.357,1985,6.131,1992,4.835,2655,10.386,2657,9.137,3377,5.931,3661,11.964,3662,7.306,3663,6.531,3664,4.906,3665,7.306,3666,7.306,3667,6.441,3668,7.306,3669,4.906,3670,6.626,3671,5.353,3672,9.867,3673,7.306,3674,7.306,3675,9.137,3676,9.867,3677,7.306]],["title/injectables/BoardDoService.html",[589,0.926,3678,5.202]],["body/injectables/BoardDoService.html",[0,0.278,3,0.015,4,0.015,5,0.007,7,0.113,8,1.214,27,0.462,29,0.899,30,0.001,31,0.657,32,0.146,33,0.536,35,1.218,36,2.631,55,2.354,59,2.5,95,0.134,101,0.011,103,0.001,104,0.001,135,1.373,228,1.459,277,1.157,317,2.868,400,2.399,433,0.993,589,1.404,591,1.917,657,3.029,1770,3.26,1853,2.634,2609,3.953,2635,6.66,3047,5.062,3393,9.539,3397,6.031,3398,9.334,3620,5.933,3678,7.883,3679,8.053,3680,10.527,3681,7.561,3682,8.053,3683,10.527,3684,8.053,3685,10.527,3686,12.437,3687,9.539,3688,8.053,3689,8.053,3690,8.053,3691,6.772,3692,8.053,3693,8.053,3694,8.053,3695,11.728,3696,8.053,3697,8.053,3698,8.053,3699,8.053,3700,8.053]],["title/entities/BoardElement.html",[205,1.416,2930,4.898]],["body/entities/BoardElement.html",[0,0.278,3,0.015,4,0.015,5,0.007,7,0.113,9,4.892,26,2.167,27,0.414,30,0.001,31,0.697,32,0.155,34,1.798,95,0.151,96,2.123,101,0.016,103,0.001,104,0.001,112,0.822,134,2.846,190,1.446,195,1.762,205,2.146,206,2.619,224,2.339,225,4.044,226,3.65,231,1.396,232,2.182,233,2.514,886,3.913,1821,6.035,1842,4.794,1936,4.943,2031,6.269,2050,3.395,2908,9.238,2926,5.662,2927,5.678,2928,5.692,2929,5.062,2930,7.422,2931,11.517,2934,4.3,2935,7.561,2936,7.065,2980,6.111,3293,10.343,3701,8.053,3702,8.053,3703,7.178,3704,8.053,3705,6.782,3706,7.422,3707,10.527,3708,5.784,3709,5.678,3710,6.031]],["title/classes/BoardElementResponse.html",[0,0.239,3711,5.842]],["body/classes/BoardElementResponse.html",[0,0.278,2,0.857,3,0.015,4,0.015,5,0.007,7,0.113,27,0.462,29,0.617,30,0.001,31,0.451,32,0.174,33,0.368,95,0.147,101,0.011,103,0.001,104,0.001,112,0.822,134,3.72,157,2.423,190,1.89,202,1.85,296,3.064,433,1.297,821,4.1,868,5.051,886,3.913,1083,5.936,1936,4.943,2048,4.278,2050,5.685,2108,3.515,2392,5.276,2511,6.269,2615,7.178,2928,4.818,2934,6.891,3009,9.862,3010,9.796,3011,9.796,3711,10.853,3712,5.491,3713,8.053,3714,9.862,3715,9.862,3716,8.053,3717,10.853,3718,10.527,3719,7.458,3720,8.053,3721,7.458,3722,8.053,3723,8.053,3724,4.75]],["title/interfaces/BoardExternalReference.html",[159,0.714,3611,4.989]],["body/interfaces/BoardExternalReference.html",[3,0.019,4,0.019,5,0.009,7,0.142,26,2.78,30,0.001,32,0.175,34,2.306,95,0.116,99,2.072,101,0.016,103,0.001,104,0.001,112,0.949,159,1.041,161,2.405,614,3.119,886,3.186,2030,9.358,2032,4.619,3082,7.975,3611,8.728,3725,8.883]],["title/classes/BoardLessonResponse.html",[0,0.239,3715,5.842]],["body/classes/BoardLessonResponse.html",[0,0.321,2,0.716,3,0.013,4,0.013,5,0.006,7,0.095,27,0.531,29,0.516,30,0.001,31,0.703,32,0.168,33,0.589,34,2.073,47,0.892,55,2.521,83,3.366,95,0.122,101,0.009,103,0,104,0,112,0.729,122,1.947,190,2.394,200,2.062,201,3.622,202,1.546,296,3.62,298,2.911,300,4.098,430,4.973,431,5.183,433,1.15,458,2.693,460,4.091,462,4.091,821,3.427,2054,7.419,2183,2.652,2934,7.28,3010,10.74,3011,10.74,3020,4.745,3023,6.652,3715,10.209,3726,6.73,3727,7.632,3728,11.242,3729,11.242,3730,10.209,3731,6.73,3732,5.904,3733,6.73,3734,6.73,3735,6.73,3736,6.73,3737,6.73,3738,9.328,3739,6.73,3740,6.73,3741,6.232,3742,6.73,3743,6.73,3744,8.15,3745,4.664,3746,4.834,3747,6.73,3748,6.73,3749,6.73,3750,7.689]],["title/classes/BoardManagementConsole.html",[0,0.239,3751,6.094]],["body/classes/BoardManagementConsole.html",[0,0.278,2,0.857,3,0.015,4,0.015,5,0.007,7,0.113,8,1.214,27,0.414,29,0.807,30,0.001,31,0.59,32,0.131,33,0.481,35,0.932,36,2.227,47,0.747,49,3.04,95,0.142,101,0.011,103,0.001,104,0.001,129,2.405,130,2.203,135,1.05,148,0.797,153,1.321,157,2.7,190,1.446,317,2.541,400,2.399,433,0.993,574,4.541,628,4.796,652,1.642,657,1.843,685,4.705,734,5.221,2026,6.069,2050,5.766,2511,4.796,2934,5.621,3547,4.948,3751,9.235,3752,11.728,3753,7.065,3754,9.748,3755,6.343,3756,8.119,3757,11.341,3758,8.053,3759,8.074,3760,9.748,3761,6.177,3762,10.527,3763,8.053,3764,5.33,3765,8.352,3766,7.642,3767,4.705,3768,7.458,3769,6.343,3770,5.33,3771,8.053,3772,8.053,3773,6.772,3774,10.459,3775,8.053,3776,8.053,3777,6.031]],["title/injectables/BoardManagementUc.html",[589,0.926,3757,5.842]],["body/injectables/BoardManagementUc.html",[0,0.177,3,0.01,4,0.01,5,0.005,7,0.072,8,0.885,26,2.444,27,0.48,29,0.956,30,0.001,31,0.684,32,0.158,33,0.558,34,0.877,35,1.374,36,2.158,55,2.801,95,0.135,96,1.354,97,2.096,99,1.051,101,0.007,103,0,104,0,125,1.223,129,1.534,130,1.405,135,1.549,148,1.234,155,2.436,183,2.929,195,1.124,197,1.428,277,0.738,317,2.482,400,1.53,433,0.633,478,1.442,527,2.174,532,2.849,569,1.595,589,1.024,591,1.223,629,2.704,652,2.808,657,2.621,756,4.035,873,5.849,896,2.872,1328,2.723,1329,3.123,1563,3.309,1853,1.68,2026,5.59,2030,3.56,2032,2.918,2050,3.236,2053,3.847,2080,4.17,2444,5.658,2881,3.664,2934,4.099,3045,4.909,3096,4.404,3419,7.228,3515,3.847,3523,3.94,3530,3.309,3541,3.987,3601,5.371,3620,6.609,3745,6.371,3754,7.11,3755,4.046,3756,6.659,3757,6.456,3759,5.889,3760,7.11,3764,3.4,3778,12.479,3779,4.757,3780,7.678,3781,7.678,3782,7.678,3783,7.678,3784,7.678,3785,7.11,3786,5.137,3787,5.137,3788,7.678,3789,5.137,3790,7.678,3791,5.137,3792,7.678,3793,5.137,3794,7.678,3795,5.137,3796,7.678,3797,9.194,3798,5.137,3799,4.046,3800,7.678,3801,8.282,3802,5.137,3803,5.137,3804,5.137,3805,5.137,3806,5.137,3807,5.137,3808,5.137,3809,5.137,3810,5.137,3811,5.137,3812,5.137,3813,5.137,3814,5.137,3815,4.17,3816,5.137,3817,5.137,3818,5.137,3819,4.757,3820,5.137,3821,5.137,3822,5.137,3823,4.757,3824,9.194,3825,5.137,3826,5.137,3827,5.137,3828,5.137,3829,5.137,3830,4.506,3831,5.137,3832,5.137,3833,5.137,3834,5.137,3835,5.137]],["title/modules/BoardModule.html",[252,1.836,1931,5.202]],["body/modules/BoardModule.html",[0,0.193,3,0.011,4,0.011,5,0.005,30,0.001,95,0.156,101,0.007,103,0,104,0,252,2.808,254,2.012,255,2.131,256,2.186,257,2.178,258,2.17,259,3.513,260,3.596,265,5.46,269,3.196,270,2.146,271,2.102,276,3.196,277,0.803,279,2.336,610,3.806,614,1.721,619,4.013,1027,1.712,1054,3.15,1317,3.512,1714,4.184,1829,2.375,1853,1.827,1910,7.257,1931,11.02,2018,9.738,2019,9.952,2048,2.27,2050,2.355,2512,3.177,2602,3.396,2609,2.742,2615,3.81,2641,9.21,2671,1.802,2802,2.235,3254,11.176,3283,4.698,3398,8.327,3575,9.931,3576,4.902,3597,9.588,3599,9.931,3678,8.844,3764,3.698,3836,5.587,3837,5.587,3838,5.587,3839,5.587,3840,9.058,3841,9.588,3842,9.058,3843,7.338,3844,10.468,3845,10.79,3846,10.79,3847,9.588,3848,9.588,3849,9.931,3850,5.587,3851,2.809,3852,3.752,3853,2.941,3854,5.174,3855,4.902,3856,4.698,3857,5.333,3858,5.587,3859,3.647,3860,3.81,3861,5.587,3862,4.401]],["title/entities/BoardNode.html",[205,1.416,3419,3.709]],["body/entities/BoardNode.html",[0,0.22,3,0.012,4,0.012,5,0.006,7,0.159,9,4.175,26,2.45,27,0.468,30,0.001,32,0.166,33,0.411,34,1.928,47,0.901,55,2.389,95,0.145,96,1.681,101,0.012,103,0,104,0,112,0.702,125,2.138,134,3.175,135,1.357,142,3.268,145,3.899,148,1.177,153,1.046,155,3.582,159,0.656,190,2.137,195,1.966,196,3.735,197,3.434,205,1.831,206,2.074,211,5.769,223,3.695,224,1.852,225,3.451,226,2.89,229,2.523,231,1.105,232,1.728,233,1.99,277,0.916,414,5.262,458,3.594,459,4.729,467,1.857,579,1.825,734,2.677,756,3.554,886,2.827,1312,2.994,1770,2.581,2050,2.688,2503,5.363,2635,4.287,3025,3.06,3045,6.029,3408,5.363,3419,5.553,3429,5.35,3501,6.864,3563,6.126,3620,4.545,3633,4.58,3708,4.58,3863,5.905,3864,7.789,3865,6.377,3866,5.905,3867,6.377,3868,6.377,3869,6.377,3870,6.377,3871,6.377,3872,4.891,3873,8.319,3874,5.461,3875,9.631,3876,8.319,3877,5.023,3878,5.023,3879,5.905,3880,5.905,3881,5.905,3882,4.496,3883,4.496,3884,4.109,3885,4.91,3886,5.905,3887,5.905,3888,7.882,3889,5.905,3890,5.905,3891,5.905,3892,5.905,3893,5.905,3894,3.919,3895,5.905,3896,5.905]],["title/interfaces/BoardNodeProps.html",[159,0.714,3874,4.223]],["body/interfaces/BoardNodeProps.html",[0,0.227,3,0.012,4,0.012,5,0.006,7,0.161,9,4.27,26,2.636,30,0.001,32,0.16,33,0.597,34,2.187,47,0.909,55,2.418,95,0.146,96,1.737,101,0.012,103,0,104,0,112,0.718,125,2.187,134,3.247,135,1.381,142,3.342,145,3.967,148,1.192,153,1.08,155,3.821,159,0.677,161,1.564,195,1.441,196,3.789,197,2.943,205,1.873,223,3.74,224,1.913,225,3.53,226,2.985,229,2.605,231,1.142,232,1.785,233,2.056,277,0.946,414,3.332,458,3.677,459,4.837,467,1.918,579,1.885,734,2.765,756,3.635,886,2.891,1312,3.093,1770,2.666,2050,2.776,2503,5.539,2635,4.385,3025,3.16,3045,6.432,3408,5.539,3419,6.115,3429,5.473,3501,6.434,3563,6.266,3620,6.094,3633,4.731,3708,4.731,3863,6.099,3864,4.932,3872,5.052,3873,8.51,3874,6.434,3875,9.801,3876,8.51,3877,5.188,3878,5.188,3879,6.099,3880,6.099,3881,6.099,3882,4.644,3883,4.644,3884,4.244,3885,4.996,3886,6.099,3887,6.099,3888,8.062,3889,6.099,3890,6.099,3891,6.099,3892,6.099,3893,6.099,3894,4.047,3895,6.099,3896,6.099]],["title/injectables/BoardNodeRepo.html",[589,0.926,3597,5.64]],["body/injectables/BoardNodeRepo.html",[0,0.22,3,0.012,4,0.012,5,0.006,7,0.09,8,1.038,12,4.061,26,2.327,27,0.445,29,0.866,30,0.001,31,0.633,32,0.141,33,0.517,34,1.779,35,1.206,36,2.615,40,4.344,55,2.091,59,1.986,95,0.129,96,1.687,97,2.61,99,1.309,101,0.008,103,0,104,0,125,1.523,135,1.719,141,3.861,145,2.398,148,1.256,205,2.429,228,1.159,277,0.919,317,2.856,400,1.905,412,2.831,414,4.555,433,0.788,478,1.796,589,1.2,591,1.523,657,2.384,813,3.577,814,7.572,1065,3.14,1078,2.805,1829,2.72,1832,4.07,2444,6.272,2769,5.689,3419,7.037,3475,10.455,3485,10.455,3563,4.362,3596,4.176,3597,7.31,3601,5.26,3604,11.035,3634,8.338,3864,4.791,3897,6.397,3898,9.004,3899,9.004,3900,6.397,3901,6.397,3902,9.004,3903,6.397,3904,9.004,3905,6.397,3906,6.397,3907,5.924,3908,6.397,3909,9.004,3910,8.338,3911,10.419,3912,5.194,3913,9.004,3914,9.004,3915,6.397,3916,6.397,3917,5.613,3918,6.397,3919,6.397,3920,9.004,3921,6.397,3922,6.397,3923,6.397,3924,4.234,3925,6.397,3926,6.397,3927,6.397,3928,6.397,3929,5.38,3930,6.397,3931,6.397,3932,6.397,3933,6.397,3934,6.397]],["title/injectables/BoardRepo.html",[589,0.926,3251,5.202]],["body/injectables/BoardRepo.html",[0,0.198,3,0.011,4,0.011,5,0.005,7,0.081,8,0.962,10,3.337,12,3.761,18,4.219,26,2.776,27,0.506,29,0.966,30,0.001,31,0.706,32,0.157,33,0.576,34,1.424,35,1.459,36,2.761,40,4.024,95,0.123,99,1.176,101,0.008,103,0,104,0,135,1.644,148,1.18,153,0.943,158,2.118,205,1.172,206,2.712,231,1.446,277,0.825,317,3.03,436,3.191,478,1.613,532,4.905,589,1.112,591,1.368,652,2.619,653,4.053,657,3.058,728,7.122,734,3.501,735,3.798,736,4.846,759,3.423,760,3.494,761,3.457,762,3.494,764,3.457,765,3.494,766,3.091,896,3.214,2026,5.58,2032,4.093,2050,5.869,2880,3.531,2933,6.396,2937,6.771,2938,6.771,2980,4.448,3251,6.245,3935,5.747,3936,8.34,3937,8.34,3938,8.34,3939,8.34,3940,8.34,3941,5.747,3942,8.34,3943,5.747,3944,5.747,3945,8.34,3946,5.747,3947,8.34,3948,5.747,3949,5.747,3950,4.052,3951,5.747,3952,8.34,3953,5.747,3954,5.747,3955,5.042,3956,5.747,3957,5.747,3958,5.747,3959,5.747,3960,5.747,3961,9.816,3962,9.09,3963,5.747,3964,5.747,3965,5.747,3966,5.747,3967,5.747]],["title/classes/BoardResponse.html",[0,0.239,3212,5.842]],["body/classes/BoardResponse.html",[0,0.288,2,0.889,3,0.016,4,0.016,5,0.008,7,0.117,27,0.514,29,0.64,30,0.001,31,0.468,32,0.167,33,0.546,34,2.23,47,0.895,95,0.144,101,0.011,103,0.001,104,0.001,112,0.842,125,1.988,155,4.142,190,2.265,202,1.919,296,3.493,298,3.614,304,4.125,433,1.329,458,3.343,821,4.254,866,4.15,2895,7.558,3020,5.891,3023,6.699,3025,4.009,3165,5.454,3166,5.756,3167,5.756,3212,10.98,3213,10.24,3515,9.777,3968,8.355,3969,8.355,3970,8.355,3971,8.355,3972,6.848,3973,8.355,3974,8.355,3975,8.355,3976,5.454,3977,7.026,3978,5.454]],["title/classes/BoardResponseMapper.html",[0,0.239,3216,6.094]],["body/classes/BoardResponseMapper.html",[0,0.301,2,0.929,3,0.017,4,0.017,5,0.008,7,0.123,8,1.279,27,0.344,29,0.669,30,0.001,31,0.489,32,0.138,33,0.399,34,1.492,35,1.011,95,0.146,100,3.049,101,0.011,103,0.001,104,0.001,135,1.14,141,4.757,148,1.097,153,2,155,2.772,277,1.255,430,3.579,467,3.55,571,3.456,579,2.501,653,3.608,829,5.153,830,6.153,1368,4.926,1853,2.857,2031,7.638,2050,3.683,2098,8.308,2467,5.256,2895,5.057,2934,6.847,3047,5.492,3212,10.784,3216,9.733,3217,7.347,3238,8.091,3329,6.275,3515,6.542,3823,8.091,3972,6.364,3979,11.094,3980,10.274,3981,7.665,3982,5.867,3983,7.665,3984,8.737,3985,8.737,3986,8.737,3987,7.665,3988,6.16,3989,8.737,3990,8.737]],["title/controllers/BoardSubmissionController.html",[314,2.659,3003,6.094]],["body/controllers/BoardSubmissionController.html",[0,0.177,3,0.01,4,0.01,5,0.005,7,0.072,8,0.886,27,0.362,29,0.705,30,0.001,31,0.515,32,0.174,33,0.421,35,1.065,36,2.159,95,0.145,100,1.795,101,0.007,103,0,104,0,135,1.495,148,0.76,153,1.261,190,1.652,202,1.182,228,1.667,274,2.15,277,0.739,314,1.969,316,2.482,317,2.705,325,6.313,333,5.161,337,7.043,342,7.482,345,7.331,349,6.569,374,3.325,379,4.685,388,4.377,389,3.358,390,6.02,391,8.029,392,2.689,393,2.539,395,2.766,398,2.787,401,5.145,402,4.617,433,0.634,652,1.876,657,2.105,675,3.913,734,3.226,871,3.737,874,4.49,1351,6.854,2048,3.739,2050,2.168,2654,6.079,2887,4.37,2923,4.878,2994,7.247,2996,7.47,2997,7.737,3003,6.742,3005,2.428,3006,4.512,3007,4.763,3008,4.763,3128,5.357,3129,3.127,3181,6.608,3183,5.755,3185,6.89,3186,5.755,3189,7.972,3191,4.051,3204,9.356,3206,4.448,3209,2.653,3210,3.454,3211,2.83,3218,4.176,3228,3.769,3229,3.851,3370,3.449,3473,4.951,3564,4.89,3620,3.888,3991,10.207,3992,5.143,3993,4.49,3994,7.737,3995,7.737,3996,8.52,3997,4.763,3998,10.421,3999,8.584,4000,5.143,4001,5.143,4002,5.52,4003,4.512,4004,5.143,4005,5.143,4006,5.143,4007,8.955,4008,5.143,4009,5.143,4010,5.143,4011,5.143,4012,5.143,4013,8.955,4014,5.143,4015,5.143,4016,5.143,4017,3.945,4018,3.16,4019,5.52,4020,3.694,4021,6.463,4022,5.143,4023,5.143,4024,3.945,4025,4.325,4026,5.143,4027,5.143,4028,4.512,4029,5.143,4030,4.623,4031,5.143,4032,4.763,4033,5.143,4034,5.143,4035,5.143,4036,7.685,4037,4.763,4038,5.143,4039,3.16,4040,4.176,4041,4.176,4042,5.143,4043,5.143,4044,4.763]],["title/classes/BoardTaskResponse.html",[0,0.239,3714,5.842]],["body/classes/BoardTaskResponse.html",[0,0.232,2,0.716,3,0.013,4,0.013,5,0.006,7,0.095,27,0.537,29,0.516,30,0.001,31,0.703,32,0.17,33,0.623,34,2.073,47,0.958,83,3.823,95,0.122,101,0.009,103,0,104,0,112,0.729,157,2.465,190,2.423,201,5.177,202,1.546,296,3.526,298,2.911,402,4.345,430,4.973,431,5.183,433,1.15,458,2.693,460,4.091,462,4.091,821,3.427,2050,2.837,2054,7.419,2126,3.932,2183,2.652,2928,3.08,2934,7.343,3010,10.833,3011,10.833,3020,4.745,3023,7.183,3545,5.522,3714,10.209,3732,8.184,4045,6.73,4046,6.989,4047,6.73,4048,6.73,4049,6.73,4050,6.73,4051,6.73,4052,6.73,4053,6.73,4054,6.73,4055,6.73,4056,6.73,4057,9.003,4058,6.73,4059,6.73,4060,5.659]],["title/classes/BoardTaskStatusMapper.html",[0,0.239,4061,6.094]],["body/classes/BoardTaskStatusMapper.html",[0,0.34,2,1.051,3,0.019,4,0.019,5,0.009,7,0.139,8,1.38,27,0.389,29,0.757,30,0.001,31,0.553,32,0.123,33,0.451,35,1.143,95,0.137,99,2.021,100,4.178,101,0.013,103,0.001,104,0.001,135,1.288,148,0.977,153,1.62,402,3.534,467,3.751,830,6.64,837,4.876,4057,10.833,4061,10.502,4062,11.971,4063,9.876,4064,10.067,4065,8.992,4066,9.876,4067,9.876]],["title/classes/BoardTaskStatusResponse.html",[0,0.239,4057,5.842]],["body/classes/BoardTaskStatusResponse.html",[0,0.267,2,0.824,3,0.015,4,0.015,5,0.007,7,0.109,27,0.526,29,0.593,30,0.001,31,0.434,32,0.166,33,0.354,55,2.628,95,0.088,101,0.01,103,0,104,0,112,0.801,122,2.732,190,2.351,202,1.779,296,3.696,433,1.264,821,3.942,2928,6.207,2934,7.241,3010,10.683,3011,10.683,4057,10.715,4068,6.793,4069,8.688,4070,8.984,4071,8.433,4072,8.433,4073,9.152,4074,8.688,4075,7.17,4076,7.743,4077,7.743,4078,7.743,4079,7.743,4080,7.743,4081,7.743,4082,6.511,4083,7.17,4084,6.511,4085,6.286,4086,7.17,4087,7.17]],["title/injectables/BoardUc.html",[589,0.926,2993,5.64]],["body/injectables/BoardUc.html",[0,0.155,3,0.009,4,0.009,5,0.004,7,0.063,8,0.799,26,2.973,27,0.483,29,0.94,30,0.001,31,0.687,32,0.153,33,0.561,35,1.39,36,2.746,39,3.66,47,0.601,55,1.699,59,1.393,95,0.137,99,0.918,101,0.006,103,0,104,0,113,4.665,135,1.527,148,0.837,155,3.263,228,1.97,231,1.201,277,0.645,317,2.994,433,0.854,436,2.508,589,0.924,591,1.068,610,1.769,652,1.94,657,3.07,688,2.118,1027,1.375,1197,6.766,1792,7.128,1793,4.586,1853,1.468,1862,6.05,1935,3.014,1967,5.077,2019,8.486,2031,2.673,2050,5.263,2445,3.523,2446,4.446,2635,5.187,2636,8.338,2638,5.458,2639,5.458,2640,3.288,2641,8.111,2643,3.442,2644,5.077,2645,4.977,2647,3.535,2648,5.668,2650,3.535,2651,4.977,2653,2.075,2667,8.691,2934,5.492,2993,5.625,3174,7.838,3175,7.838,3178,7.838,3405,3.361,3576,3.937,3611,3.223,3687,7.889,3774,11.415,3844,8.926,3845,9.2,4088,4.488,4089,8.464,4090,8.464,4091,8.814,4092,4.488,4093,6.929,4094,4.488,4095,6.929,4096,4.488,4097,6.929,4098,4.488,4099,6.929,4100,4.488,4101,4.488,4102,8.004,4103,9.518,4104,4.488,4105,6.929,4106,4.488,4107,3.643,4108,3.643,4109,3.643,4110,3.288,4111,4.488,4112,3.643,4113,3.643,4114,4.488,4115,7.808,4116,10.286,4117,4.488,4118,4.488,4119,4.488,4120,4.488,4121,4.156,4122,7.838,4123,4.488,4124,4.488]],["title/injectables/BoardUrlHandler.html",[589,0.926,4125,5.842]],["body/injectables/BoardUrlHandler.html",[0,0.228,3,0.013,4,0.013,5,0.006,7,0.093,8,1.062,9,3.071,27,0.491,29,0.924,30,0.001,31,0.675,32,0.163,33,0.551,34,1.573,35,1.327,36,1.949,47,0.954,95,0.146,101,0.009,103,0,104,0,105,10.094,106,7.12,107,6.921,108,8.608,110,4.52,111,5.205,112,0.719,113,3.671,114,8.608,115,7.255,116,7.478,117,7.255,118,7.255,120,5.205,122,1.379,123,5.365,125,2.523,126,5.205,127,5.731,129,2.75,130,2.519,131,5.839,134,2.335,135,1.496,148,0.911,228,1.669,231,1.596,233,2.063,277,0.949,317,2.297,400,1.968,433,0.814,436,3.399,589,1.228,591,1.573,652,1.347,657,2.107,1237,1.948,1853,2.161,1932,4.746,2017,8.482,2019,9.353,2028,4.948,2030,4.579,2031,5.485,2032,3.501,2047,4.746,2050,2.786,2053,4.948,4125,7.745,4126,10.602,4127,6.185,4128,6.119,4129,6.608,4130,7.255,4131,6.608,4132,5.557,4133,5.557,4134,5.557,4135,9.21,4136,6.608,4137,7.064,4138,5.365,4139,7.064,4140,5.557,4141,5.365,4142,6.608,4143,4.437,4144,6.119,4145,6.608,4146,6.608,4147,6.608,4148,6.608]],["title/classes/BoardUrlParams.html",[0,0.239,3180,6.094]],["body/classes/BoardUrlParams.html",[0,0.415,2,1.061,3,0.019,4,0.019,5,0.009,7,0.14,27,0.393,30,0.001,32,0.124,34,2.057,47,0.855,95,0.137,101,0.013,103,0.001,104,0.001,112,0.941,157,2.296,190,1.791,194,4.711,195,2.635,196,3.984,197,3.349,200,3.056,202,2.291,296,3.147,855,4.875,2050,5.076,3180,10.565,3774,10.879,4149,9.974,4150,6.063,4151,9.974]],["title/classes/BruteForceError.html",[0,0.239,1720,6.094]],["body/classes/BruteForceError.html",[0,0.262,2,0.81,3,0.014,4,0.014,5,0.007,7,0.107,8,1.169,27,0.532,29,0.583,30,0.001,31,0.426,32,0.174,33,0.521,35,0.881,47,0.925,55,2.615,95,0.116,101,0.01,103,0,104,0,112,0.792,155,3.859,190,2.275,205,1.551,228,2.557,231,1.758,233,2.375,277,1.093,347,3.9,393,3.757,402,2.724,433,0.938,436,3.861,868,5.836,871,2.786,998,5.384,1078,3.337,1080,4.194,1115,5.091,1354,8.599,1355,6.543,1356,7.446,1360,5.037,1361,4.366,1362,5.037,1363,5.037,1364,5.037,1365,5.037,1366,5.037,1367,4.676,1368,4.291,1374,4.903,1720,8.897,1744,12.066,4152,11.406,4153,7.61,4154,10.141,4155,10.141,4156,7.047,4157,7.61,4158,7.61]],["title/injectables/BsonConverter.html",[589,0.926,4159,5.842]],["body/injectables/BsonConverter.html",[0,0.272,3,0.015,4,0.015,5,0.007,7,0.111,8,1.198,27,0.409,29,0.796,30,0.001,31,0.582,32,0.129,33,0.475,35,1.428,95,0.119,101,0.01,103,0.001,104,0.001,135,1.355,148,1.028,157,2.392,158,4.852,277,1.134,388,4.456,574,4.451,589,1.385,591,1.879,623,8.891,1610,9.98,2373,9.98,4159,8.738,4160,7.895,4161,9.622,4162,9.622,4163,10.391,4164,7.895,4165,10.391,4166,11.292,4167,9.721,4168,9.776,4169,9.242,4170,11.429,4171,12.341,4172,10.391,4173,7.895,4174,10.391,4175,7.895,4176,7.895,4177,9.116,4178,7.895]],["title/classes/Builder.html",[0,0.239,2202,4.535]],["body/classes/Builder.html",[0,0.331,2,1.023,3,0.018,4,0.018,5,0.009,7,0.135,8,1.358,27,0.501,29,0.737,30,0.001,31,0.539,32,0.147,33,0.439,35,1.113,101,0.013,103,0.001,104,0.001,112,0.92,113,5.075,148,0.951,228,2.307,433,1.185,507,5.845,532,5.206,2137,6.985,2202,7.689,2203,10.707,4179,9.616,4180,11.778,4181,11.778,4182,11.778,4183,9.616,4184,11.778]],["title/classes/BusinessError.html",[0,0.239,1354,4.367]],["body/classes/BusinessError.html",[0,0.35,2,0.649,3,0.012,4,0.012,5,0.006,7,0.086,8,1.003,9,4.715,27,0.493,29,0.467,30,0.001,31,0.341,32,0.172,33,0.464,35,0.706,47,0.864,55,1.747,59,2.702,95,0.126,101,0.008,103,0,104,0,112,0.68,113,3.468,125,1.451,135,0.795,148,0.603,153,1.664,155,4.062,157,2.801,158,2.247,185,2.089,190,2.101,201,3.379,202,1.401,228,2.504,231,1.508,233,1.903,277,0.876,296,3.057,402,3.114,433,1.072,640,3.746,653,2.517,821,3.104,868,5.309,871,3.186,998,6.315,1078,5.131,1080,4.493,1084,7.545,1115,4.658,1354,5.47,1355,7.477,1356,7.224,1361,3.497,1367,7.696,1368,6.239,1373,3.667,1374,6.537,1381,7.431,1476,3.706,1516,7.634,1675,3.667,2098,8.286,2105,9.865,2108,3.798,2139,4.992,2802,3.481,3025,4.175,4185,6.096,4186,7.064,4187,7.064,4188,6.03,4189,6.674,4190,5.606,4191,8.701,4192,6.096,4193,6.096,4194,6.096,4195,6.096,4196,6.096,4197,6.096,4198,6.096,4199,5.348,4200,5.645,4201,5.645,4202,6.674,4203,8.058,4204,8.701,4205,6.096,4206,6.096]],["title/injectables/CacheService.html",[589,0.926,4207,5.842]],["body/injectables/CacheService.html",[0,0.345,3,0.019,4,0.019,5,0.009,7,0.14,8,1.391,27,0.393,30,0.001,35,1.157,95,0.148,101,0.013,103,0.001,104,0.001,148,0.989,277,1.436,589,1.608,591,2.38,1507,7.488,2218,4.467,2219,5.027,2220,4.852,4207,10.142,4208,9.999,4209,13.447,4210,9.999,4211,11.362,4212,5.841,4213,9.999,4214,7.488,4215,9.26,4216,8.772,4217,9.999]],["title/modules/CacheWrapperModule.html",[252,1.836,1522,5.842]],["body/modules/CacheWrapperModule.html",[0,0.275,3,0.015,4,0.015,5,0.007,30,0.001,47,0.742,95,0.156,101,0.01,103,0.001,104,0.001,110,2.757,135,1.522,148,1.035,159,0.82,252,3.084,254,2.872,255,3.041,256,3.119,257,3.108,258,3.096,259,4.245,260,4.345,265,4.835,269,4.091,270,3.063,271,2.999,276,4.091,277,1.145,686,5.727,688,3.764,734,4.39,1027,2.443,1080,2.749,1522,11.478,1986,8.491,2218,3.562,2219,4.009,2220,3.869,2445,3.319,2446,5.451,2802,3.19,4207,12.05,4211,6.995,4212,4.658,4214,8.74,4216,6.995,4218,7.973,4219,7.973,4220,7.973,4221,7.973,4222,10.458,4223,10.458,4224,6.995,4225,6.28,4226,8.238,4227,8.795,4228,7.973,4229,7.973,4230,7.973,4231,9.685,4232,7.383,4233,7.973,4234,6.995,4235,7.383,4236,6.995,4237,6.995,4238,7.383]],["title/interfaces/CalendarEvent.html",[159,0.714,4239,5.842]],["body/interfaces/CalendarEvent.html",[3,0.02,4,0.02,5,0.01,7,0.146,30,0.001,32,0.164,47,0.877,101,0.014,103,0.001,104,0.001,112,0.965,159,1.071,161,2.473,172,5.254,339,3.999,401,5.823,1170,6.547,4239,10.392,4240,10.414,4241,10.414,4242,8.455,4243,7.987,4244,7.217]],["title/classes/CalendarEventDto.html",[0,0.239,4245,5.842]],["body/classes/CalendarEventDto.html",[0,0.34,2,1.048,3,0.019,4,0.019,5,0.009,7,0.138,27,0.506,29,0.755,30,0.001,31,0.552,32,0.16,33,0.45,47,0.95,100,3.438,101,0.013,103,0.001,104,0.001,112,0.934,155,4.082,433,1.214,3025,4.727,4244,8.918,4245,11.527,4246,13.38,4247,9.852,4248,10.052,4249,11.953,4250,9.852,4251,9.852,4252,9.123,4253,9.123]],["title/injectables/CalendarMapper.html",[589,0.926,4254,5.842]],["body/injectables/CalendarMapper.html",[0,0.331,3,0.018,4,0.018,5,0.009,7,0.135,8,1.356,27,0.378,29,0.735,30,0.001,31,0.537,32,0.12,33,0.438,35,1.11,95,0.145,101,0.013,103,0.001,104,0.001,135,1.251,148,0.949,153,1.574,155,3.043,277,1.378,470,9.548,589,1.568,591,2.283,4239,11.15,4242,7.788,4243,7.357,4244,8.15,4245,11.15,4254,9.89,4255,9.593,4256,11.761,4257,9.593,4258,7.788,4259,9.593,4260,8.883,4261,8.883,4262,8.883,4263,9.593,4264,9.593,4265,9.593]],["title/modules/CalendarModule.html",[252,1.836,4266,6.094]],["body/modules/CalendarModule.html",[0,0.324,3,0.018,4,0.018,5,0.009,30,0.001,95,0.15,101,0.012,103,0.001,104,0.001,252,3.329,254,3.382,255,3.582,256,3.674,257,3.66,258,3.647,259,4.582,260,4.691,269,4.541,270,3.608,271,3.532,276,3.674,277,1.349,1054,5.295,3857,7.577,4254,11.584,4266,12.474,4267,9.391,4268,9.391,4269,9.391,4270,12.677,4271,9.391,4272,9.391,4273,8.696]],["title/injectables/CalendarService.html",[589,0.926,4270,6.094]],["body/injectables/CalendarService.html",[0,0.226,3,0.012,4,0.012,5,0.006,7,0.092,8,1.056,26,2.632,27,0.473,29,0.809,30,0.001,31,0.591,32,0.15,33,0.482,34,1.119,35,1.06,36,1.937,39,2.535,47,0.884,55,2.119,95,0.155,99,1.341,101,0.009,103,0,104,0,110,3.952,112,0.715,135,1.195,142,2.384,148,0.906,153,1.732,189,4.027,228,2.364,277,0.941,317,2.287,326,3.481,400,1.952,414,5.34,433,0.808,579,1.876,589,1.221,591,1.56,652,2.737,1053,8.494,1054,3.696,1056,4.223,1164,5.027,1169,3.794,1312,4.3,1313,4.469,1314,4.802,1475,4.12,1611,5.321,2083,4.338,2087,4.944,2113,6.578,2218,2.928,2219,3.295,2220,3.18,2332,5.903,2351,9.261,2352,11.135,2381,7.214,2382,8.096,2397,6.069,2405,6.069,2406,6.069,2417,6.069,2428,6.069,2429,6.069,2431,6.069,2689,4.621,4212,3.829,4239,5.512,4245,5.512,4254,10.752,4260,6.069,4261,6.069,4262,6.069,4270,8.034,4273,6.069,4274,6.554,4275,10.556,4276,9.158,4277,5.75,4278,9.158,4279,9.158,4280,11.428,4281,6.554,4282,9.278,4283,6.554,4284,6.554,4285,6.554,4286,6.554,4287,9.158,4288,6.554,4289,6.554,4290,6.554,4291,4.908,4292,6.554,4293,6.554,4294,6.554]],["title/classes/Card.html",[0,0.239,3096,3.985]],["body/classes/Card.html",[0,0.198,2,0.611,3,0.011,4,0.011,5,0.008,7,0.081,8,0.961,27,0.526,29,0.965,30,0.001,31,0.706,32,0.163,33,0.576,35,1.487,36,1.763,47,0.811,55,2.469,59,1.782,95,0.144,101,0.013,103,0,104,0,112,0.651,113,3.321,122,2.047,134,2.028,135,0.749,148,1.065,155,3.782,158,2.115,159,0.59,189,5.119,231,1.7,317,2.125,435,2.908,436,3.734,527,2.429,532,3.091,567,3.167,569,3.701,614,1.768,653,5.079,657,1.313,711,2.469,735,3.794,1770,5.199,1773,6.027,1842,3.794,2050,2.419,2369,3.209,2635,6.225,2671,1.851,2881,2.738,3027,7.726,3030,5.874,3031,5.874,3032,5.874,3033,5.439,3034,5.874,3036,3.608,3037,5.064,3038,6.287,3040,5.773,3041,5.064,3042,6.174,3044,3.977,3045,4.448,3047,6.165,3048,3.977,3050,5.984,3052,3.977,3054,3.608,3081,5.012,3096,6.174,3103,5.514,3106,5.514,3109,5.177,3112,5.514,3115,5.119,3118,5.301,3123,8.405,3127,4.298,3128,2.588,3129,3.489,3508,4.402,3530,7.68,4295,5.314,4296,5.739,4297,5.739,4298,5.314,4299,4.122,4300,4.122,4301,4.122,4302,4.826,4303,5.739,4304,5.035,4305,5.739,4306,5.739,4307,5.739,4308,5.739,4309,5.739,4310,3.566,4311,5.773,4312,4.52,4313,7.715,4314,5.314,4315,5.119,4316,5.314,4317,5.314,4318,5.035,4319,5.314]],["title/controllers/CardController.html",[314,2.659,3001,6.094]],["body/controllers/CardController.html",[0,0.13,3,0.007,4,0.007,5,0.003,7,0.053,8,0.697,10,3.027,27,0.397,29,0.774,30,0.001,31,0.566,32,0.177,33,0.462,35,1.169,36,2.567,95,0.126,100,1.317,101,0.005,103,0,104,0,135,1.384,141,2.593,148,0.598,153,1.241,155,1.918,190,1.814,202,0.867,228,1.096,274,1.578,277,0.542,314,1.445,316,1.821,317,2.818,325,6.51,333,4.061,337,7.457,339,1.107,342,7.922,345,8.378,349,6.87,365,2.688,374,2.616,379,4.82,388,4.059,389,2.464,390,6.257,391,8.291,392,1.973,393,1.864,395,2.03,398,2.045,400,1.124,401,5.648,402,4.805,615,2.295,652,0.769,657,2.311,675,1.922,734,2.538,871,2.214,1351,7.124,2048,3.074,2634,3.064,2654,6.318,2887,5.744,2923,5.355,2994,5.959,2995,6.142,3001,5.305,3005,1.782,3096,5.795,3181,7.255,3183,4.528,3185,7.564,3186,7.089,3189,7.615,3191,6.814,3204,9.709,3205,7.023,3206,5.007,3209,1.947,3210,2.535,3211,2.077,3218,3.064,3228,6.339,3229,6.478,3232,3.311,3523,6.635,3530,3.896,3564,7.014,3681,4.343,3819,3.495,3994,6.362,3997,3.495,3999,7.275,4002,4.343,4003,3.311,4017,4.638,4018,2.319,4019,5.434,4020,5.434,4024,2.895,4039,2.319,4040,3.064,4041,3.064,4320,3.775,4321,5.6,4322,7.565,4323,6.637,4324,7.005,4325,7.005,4326,11.21,4327,3.775,4328,5.802,4329,3.775,4330,3.775,4331,3.775,4332,3.775,4333,8.651,4334,3.775,4335,3.775,4336,3.775,4337,7.565,4338,7.59,4339,3.775,4340,3.775,4341,3.775,4342,3.775,4343,3.775,4344,7.59,4345,3.775,4346,3.775,4347,3.775,4348,7.59,4349,3.775,4350,3.775,4351,3.775,4352,3.775,4353,3.775,4354,2.432,4355,6.637,4356,2.895,4357,4.638,4358,4.638,4359,3.775,4360,3.775,4361,3.174,4362,3.775,4363,5.305,4364,3.775,4365,6.047,4366,3.775,4367,6.047,4368,3.495,4369,3.775,4370,3.775,4371,9.466,4372,3.775,4373,3.311,4374,3.775,4375,3.775,4376,3.775,4377,3.775,4378,3.775,4379,3.775,4380,3.775,4381,3.775,4382,3.311,4383,3.311,4384,3.311,4385,3.311,4386,3.775,4387,4.638,4388,3.775,4389,3.311]],["title/classes/CardIdsParams.html",[0,0.239,4338,6.094]],["body/classes/CardIdsParams.html",[0,0.41,2,1.04,3,0.019,4,0.019,5,0.009,7,0.137,27,0.385,30,0.001,32,0.16,47,0.971,95,0.136,101,0.013,103,0.001,104,0.001,112,0.929,125,2.328,157,2.251,190,1.756,195,2.14,200,2.997,202,2.247,296,3.109,615,8.316,855,4.817,1835,6.098,2525,5.26,4338,10.44,4390,11.02,4391,9.78,4392,9.78,4393,7.94,4394,7.018,4395,9.78]],["title/classes/CardListResponse.html",[0,0.239,4355,6.094]],["body/classes/CardListResponse.html",[0,0.335,2,1.033,3,0.018,4,0.018,5,0.009,7,0.136,27,0.466,29,0.744,30,0.001,31,0.544,32,0.159,33,0.444,95,0.135,101,0.013,103,0.001,104,0.001,112,0.925,125,2.311,190,1.743,202,2.231,296,3.096,339,4.005,433,1.46,821,4.943,861,6.728,866,4.822,881,5.301,4355,11.977,4390,11.84,4396,9.709,4397,10.809,4398,9.709,4399,9.709]],["title/entities/CardNode.html",[205,1.416,3443,5.472]],["body/entities/CardNode.html",[0,0.311,3,0.017,4,0.017,5,0.008,7,0.127,27,0.355,30,0.001,32,0.141,55,2.482,95,0.152,96,2.376,101,0.015,103,0.001,104,0.001,112,0.884,134,3.184,135,1.175,148,0.891,159,0.926,190,1.618,205,2.306,206,2.931,223,3.839,224,2.618,231,1.961,232,2.442,457,4.998,1770,4.579,1853,2.947,2108,3.933,2688,5.081,3096,6.49,3419,6.04,3429,6.738,3443,8.911,3501,5.478,3522,9.925,3530,8.356,3563,6.144,3872,6.911,3874,6.877,3894,5.537,4400,10.476,4401,5.665,4402,8.345,4403,5.665,4404,9.925,4405,7.578,4406,8.345,4407,8.345]],["title/interfaces/CardNodeProps.html",[159,0.714,4404,6.094]],["body/interfaces/CardNodeProps.html",[0,0.312,3,0.017,4,0.017,5,0.008,7,0.127,30,0.001,32,0.141,55,2.608,95,0.153,96,2.387,101,0.015,103,0.001,104,0.001,112,0.886,134,3.199,135,1.181,148,0.895,159,0.931,161,2.15,205,2.313,223,3.522,224,2.629,231,2.148,232,2.453,457,5.021,1770,4.592,1853,2.961,2108,3.951,2688,5.104,3096,6.508,3419,6.057,3429,6.757,3443,7.13,3501,5.503,3522,9.953,3530,8.62,3563,6.172,3872,6.943,3874,7.533,3894,5.562,4400,8.383,4401,5.69,4403,5.69,4404,10.871,4405,7.612,4406,8.383,4407,8.383]],["title/interfaces/CardProps.html",[159,0.714,4318,6.094]],["body/interfaces/CardProps.html",[0,0.259,3,0.014,4,0.014,5,0.009,7,0.106,30,0.001,32,0.141,36,1.592,47,0.896,55,2.533,95,0.154,101,0.015,103,0,104,0,112,0.786,122,1.57,134,2.659,135,0.982,148,1.198,155,4.12,158,2.773,159,0.774,161,1.787,231,1.966,317,1.63,527,3.185,567,3.826,569,2.336,614,2.318,653,5.476,657,1.722,1770,5.257,1842,4.584,2050,3.172,2369,4.208,2635,4.803,2671,2.427,2881,3.591,3027,6.055,3037,4.574,3038,5.88,3041,4.574,3042,5.774,3050,5.405,3081,6.823,3096,6.506,3103,6.662,3106,6.662,3109,6.254,3112,6.662,3115,6.185,3118,6.404,3123,9.157,3127,5.635,3128,3.394,3129,4.574,3508,5.771,3530,8.368,4295,6.968,4310,4.676,4311,6.975,4312,5.927,4313,9.321,4314,6.968,4315,6.185,4316,6.968,4317,6.968,4318,8.83,4319,6.968]],["title/classes/CardResponse.html",[0,0.239,4397,5.64]],["body/classes/CardResponse.html",[0,0.243,2,0.75,3,0.013,4,0.013,5,0.006,7,0.099,27,0.513,29,0.54,30,0.001,31,0.395,32,0.165,33,0.501,34,2.108,47,0.837,55,1.933,95,0.141,101,0.009,103,0,104,0,112,0.752,125,1.678,155,3.915,190,2.287,201,3.74,202,1.619,296,3.518,298,3.049,304,3.48,433,1.187,458,2.82,821,3.589,866,3.501,874,5.626,896,6.901,1835,4.935,2048,2.865,2634,8.906,2887,7.245,2895,7.144,3023,5.984,3025,3.382,3165,4.602,3166,5.142,3167,5.142,3530,7.952,3732,6.184,3972,6.293,3976,4.602,3978,4.602,4017,7.386,4018,4.331,4019,6.917,4020,6.917,4039,4.331,4040,5.723,4041,5.723,4328,7.386,4356,7.386,4357,7.386,4358,7.386,4382,6.184,4383,6.184,4384,6.184,4385,6.184,4397,10.02,4405,5.928,4408,7.049,4409,11.429,4410,7.049,4411,7.049,4412,7.049,4413,7.049,4414,7.049,4415,7.049,4416,9.224,4417,7.049,4418,6.184,4419,7.049,4420,6.184,4421,7.049]],["title/classes/CardResponseMapper.html",[0,0.239,4361,5.842]],["body/classes/CardResponseMapper.html",[0,0.316,2,0.976,3,0.017,4,0.017,5,0.008,7,0.129,8,1.319,27,0.361,29,0.703,30,0.001,31,0.514,32,0.114,33,0.419,34,1.567,35,1.062,95,0.142,100,3.202,101,0.012,103,0.001,104,0.001,135,1.197,141,4.907,148,0.908,153,2.045,155,2.911,430,3.759,467,3.631,829,5.412,830,6.346,835,7.038,896,5.131,1853,3.001,2048,3.729,2392,3.5,2895,5.312,3096,7.706,3530,5.912,3972,6.564,3988,6.47,4024,7.038,4361,9.622,4389,8.05,4397,10.598,4409,8.497,4416,9.622,4422,11.442,4423,11.442,4424,8.497,4425,8.05,4426,8.05,4427,7.717,4428,9.176,4429,9.176,4430,9.176]],["title/injectables/CardService.html",[589,0.926,3844,5.472]],["body/injectables/CardService.html",[0,0.18,3,0.01,4,0.01,5,0.005,7,0.074,8,0.898,10,3.117,12,3.513,26,2.46,27,0.494,29,0.961,30,0.001,31,0.703,32,0.156,33,0.573,34,0.894,35,1.421,36,2.873,47,0.66,49,1.977,55,2.316,59,2.418,83,2.268,95,0.136,99,1.072,101,0.007,103,0,104,0,135,1.436,148,0.92,153,1.806,155,3.492,228,1.685,277,0.752,317,3.05,430,2.145,431,2.236,433,0.96,574,2.953,579,1.499,589,1.039,591,1.246,615,3.184,652,2.352,653,2.163,657,2.964,734,3.27,1853,1.713,2018,8.755,2050,2.208,2392,1.998,2609,2.571,2923,2.776,2934,6.38,3035,3.629,3096,8.162,3397,3.922,3398,8.135,3523,5.974,3530,7.092,3591,6.55,3620,5.837,3678,8.948,3681,5.595,3687,7.899,3691,4.404,3844,6.136,4363,4.595,4426,4.595,4427,4.404,4431,5.237,4432,7.789,4433,7.789,4434,6.834,4435,5.237,4436,6.834,4437,10.549,4438,6.204,4439,5.237,4440,7.789,4441,5.237,4442,7.789,4443,5.237,4444,7.789,4445,5.237,4446,6.136,4447,7.789,4448,5.237,4449,7.789,4450,9.537,4451,5.237,4452,7.789,4453,5.237,4454,7.789,4455,5.237,4456,4.252,4457,5.237,4458,5.237,4459,5.237,4460,5.237,4461,5.237,4462,4.85,4463,3.254,4464,4.85,4465,5.237,4466,5.237,4467,5.237,4468,5.237,4469,7.789,4470,7.789,4471,7.789,4472,5.237]],["title/classes/CardSkeletonResponse.html",[0,0.239,4473,5.842]],["body/classes/CardSkeletonResponse.html",[0,0.3,2,0.927,3,0.017,4,0.017,5,0.008,7,0.122,27,0.479,29,0.668,30,0.001,31,0.488,32,0.152,33,0.398,47,0.786,55,2.224,72,5.07,95,0.099,101,0.011,103,0.001,104,0.001,112,0.865,130,3.03,157,2.007,190,1.989,202,2.003,296,3.182,304,4.304,433,1.365,802,7.333,821,4.439,868,4.183,1218,7.232,2581,8.497,3096,6.356,3165,5.691,3166,5.915,3167,5.915,3530,8.85,3703,7.554,4405,7.331,4446,10.42,4473,11.124,4474,12.814,4475,8.718,4476,8.718,4477,8.718,4478,11.079,4479,9.72,4480,11.079,4481,9.72,4482,11.079,4483,10.26,4484,10.26,4485,8.718,4486,8.718]],["title/injectables/CardUc.html",[589,0.926,2994,5.472]],["body/injectables/CardUc.html",[0,0.136,3,0.007,4,0.007,5,0.004,7,0.055,8,0.721,26,2.955,27,0.474,29,0.94,30,0.001,31,0.675,32,0.162,33,0.551,35,1.367,36,2.727,39,3.628,47,0.552,55,2.371,59,1.94,95,0.123,99,0.805,101,0.005,103,0,104,0,113,4.46,125,0.936,135,1.645,141,1.687,148,0.956,155,3.065,183,2.384,228,1.751,231,1.083,277,0.565,290,0.93,317,2.976,433,0.77,436,2.304,532,3.585,589,0.833,591,0.936,610,1.55,652,2.097,657,3.076,688,1.857,896,2.2,1027,1.205,1197,7.103,1675,2.366,1778,2.473,1792,7.128,1793,2.603,1853,1.287,1862,5.758,1935,2.641,1961,2.366,1963,3.098,1967,4.579,2018,6.489,2023,6.976,2029,3.194,2048,3.599,2445,3.237,2446,4.137,2483,2.882,2487,3.098,2635,5.146,2636,7.889,2638,4.922,2639,4.922,2640,2.882,2641,7.755,2643,3.017,2644,4.579,2645,4.489,2647,3.098,2648,5.274,2650,3.098,2651,6.361,2653,1.819,2655,5.697,2667,7.889,2994,4.922,3096,6.776,3405,2.946,3523,4.793,3530,6.225,3687,7.411,3844,8.494,3994,7.447,4107,3.194,4108,3.194,4109,3.194,4112,3.194,4113,3.194,4115,7.388,4315,3.84,4321,7.2,4323,3.451,4324,7.2,4325,7.2,4363,7.77,4387,7.889,4438,4.599,4446,10.152,4487,3.934,4488,6.249,4489,7.775,4490,6.538,4491,6.821,4492,3.934,4493,3.643,4494,3.934,4495,6.249,4496,3.934,4497,6.249,4498,7.775,4499,3.934,4500,6.249,4501,3.934,4502,3.934,4503,8.856,4504,3.934,4505,6.249,4506,3.934,4507,6.249,4508,3.934,4509,3.934,4510,3.934,4511,6.249,4512,3.934,4513,8.201,4514,3.934,4515,3.934,4516,3.934,4517,3.934,4518,6.249,4519,3.643,4520,7.2,4521,3.934,4522,3.934,4523,3.934,4524,3.934,4525,3.934,4526,3.934]],["title/classes/CardUrlParams.html",[0,0.239,4326,6.094]],["body/classes/CardUrlParams.html",[0,0.415,2,1.061,3,0.019,4,0.019,5,0.009,7,0.14,27,0.393,30,0.001,32,0.124,34,2.057,47,0.855,95,0.137,101,0.013,103,0.001,104,0.001,112,0.941,157,2.296,190,1.791,194,4.711,195,2.635,196,3.984,197,3.349,200,3.056,202,2.291,296,3.147,855,4.875,3096,6.909,4150,6.063,4326,10.565,4446,10.191,4527,9.974,4528,9.974]],["title/classes/ChallengeParams.html",[0,0.239,4529,6.094]],["body/classes/ChallengeParams.html",[0,0.414,2,1.056,3,0.019,4,0.019,5,0.009,7,0.139,27,0.391,30,0.001,32,0.124,47,0.852,95,0.137,101,0.013,103,0.001,104,0.001,112,0.938,157,2.285,180,5.126,187,6.77,190,1.782,194,4.697,195,2.627,196,3.972,197,3.339,200,3.041,202,2.28,296,3.137,299,4.68,308,7.272,4529,10.534,4530,9.925,4531,9.866,4532,9.925]],["title/classes/ChangeLanguageParams.html",[0,0.239,4533,5.842]],["body/classes/ChangeLanguageParams.html",[0,0.418,2,1.074,3,0.019,4,0.019,5,0.009,7,0.142,27,0.397,30,0.001,32,0.126,95,0.148,101,0.013,103,0.001,104,0.001,112,0.948,190,1.813,200,3.095,202,2.32,296,3.17,478,2.835,886,3.178,899,4.599,1198,7.825,3169,6.015,4533,10.204,4534,10.1,4535,9.2,4536,10.1,4537,10.1,4538,7.746]],["title/classes/Class.html",[0,0.329]],["body/classes/Class.html",[0,0.388,2,0.672,3,0.012,4,0.023,5,0.006,7,0.089,8,1.029,26,2.773,27,0.55,29,0.484,30,0.001,31,0.664,32,0.111,33,0.289,35,1.033,39,2.47,47,0.956,55,1.791,62,6.696,83,3.274,95,0.118,99,1.293,101,0.012,103,0,104,0,112,0.697,113,3.557,125,3.076,148,1.356,159,0.649,185,2.165,231,1.793,430,4.606,431,4.801,435,3.114,436,2.644,532,3.311,569,1.961,711,3.515,735,4.064,1767,4.91,1770,4.801,1773,6.358,1849,3.656,3036,3.971,3054,3.971,3057,4.976,3059,4.976,3062,4.378,3063,4.378,4539,5.85,4540,8.264,4541,3.924,4542,7.928,4543,8.624,4544,8.239,4545,8.624,4546,7.154,4547,8.624,4548,8.624,4549,8.264,4550,6.317,4551,4.845,4552,6.317,4553,4.019,4554,6.317,4555,6.317,4556,6.317,4557,5.312,4558,6.317,4559,6.317,4560,6.317,4561,6.317,4562,6.317,4563,6.317,4564,6.317,4565,6.317,4566,6.317,4567,6.317,4568,6.317,4569,6.317,4570,6.317,4571,6.317,4572,6.317,4573,6.317,4574,6.317,4575,7.936,4576,5.312,4577,5.312,4578,5.312,4579,5.85,4580,8.264,4581,5.85,4582,5.85,4583,5.85,4584,5.85,4585,5.85,4586,5.85,4587,5.85,4588,5.85,4589,5.85,4590,5.85]],["title/entities/ClassEntity.html",[205,1.416,4591,5.09]],["body/entities/ClassEntity.html",[0,0.274,2,0.573,3,0.01,4,0.022,5,0.005,7,0.169,26,1.637,27,0.513,30,0.001,31,0.585,32,0.162,33,0.623,34,0.92,47,0.936,49,5.149,55,1.898,62,6.217,95,0.127,96,2.096,97,2.197,99,1.102,101,0.01,103,0,104,0,112,0.738,125,3.059,130,1.473,153,0.883,159,0.554,185,2.725,190,2.34,195,2.985,196,4.18,205,1.621,206,1.751,211,6.687,221,5.954,223,4.096,224,1.564,225,3.055,229,2.13,231,0.933,232,1.459,233,1.681,458,2.154,459,4.186,579,1.541,652,1.098,756,2.13,2183,2.122,4541,3.643,4542,7.361,4543,8.007,4544,8.16,4545,8.007,4546,7.086,4547,8.007,4548,8.007,4591,5.826,4592,4.986,4593,5.385,4594,5.385,4595,5.385,4596,5.385,4597,5.385,4598,6.687,4599,5.385,4600,8.772,4601,3.732,4602,5.385,4603,5.385,4604,5.385,4605,5.385,4606,5.385,4607,4.246,4608,3.062,4609,4.986,4610,7.95,4611,4.528,4612,9.667,4613,6.687,4614,4.986,4615,4.986,4616,4.528,4617,2.417,4618,3.176,4619,4.032,4620,7.363,4621,4.241,4622,4.986,4623,4.986,4624,7.363,4625,4.986,4626,7.363,4627,4.986,4628,4.986,4629,6.263,4630,4.032,4631,7.363,4632,4.986,4633,6.099,4634,3.732,4635,7.363,4636,4.986]],["title/classes/ClassEntityFactory.html",[0,0.239,4637,6.433]],["body/classes/ClassEntityFactory.html",[0,0.166,2,0.512,3,0.009,4,0.017,5,0.004,7,0.068,8,0.843,27,0.518,29,1.018,30,0.001,31,0.73,32,0.168,33,0.581,34,1.687,35,1.419,47,0.519,49,4.627,55,2.332,59,3.297,62,5.266,95,0.113,101,0.006,103,0,104,0,112,0.571,113,4.456,127,4.934,129,3.574,130,3.274,135,0.954,148,0.724,153,1.906,157,2.036,172,3.109,185,2.506,192,2.65,205,2.165,206,2.379,228,1.325,231,1.268,326,4.829,374,3.164,433,0.594,436,3.862,467,2.13,501,7.256,502,5.477,505,4.057,506,5.477,507,5.4,508,4.057,509,4.057,510,4.057,511,3.993,512,4.502,513,4.905,514,7.063,515,5.798,516,7.043,517,2.693,522,2.671,523,4.057,524,2.693,525,5.162,526,5.311,527,4.18,528,4.996,529,4.025,530,2.671,531,2.518,532,4.148,533,2.572,534,2.518,535,2.671,536,2.693,537,4.828,538,2.671,539,7.145,540,4.203,541,6.639,542,2.693,543,4.291,544,2.671,545,2.693,546,2.671,547,2.693,548,2.671,549,2.993,550,2.814,551,2.671,552,6.104,553,2.693,554,2.671,555,4.057,556,3.7,557,4.057,558,2.693,559,2.59,560,2.553,561,2.162,562,2.671,563,2.671,564,2.671,565,2.693,566,2.693,567,1.831,568,2.671,569,1.495,570,2.693,571,2.893,572,2.671,573,2.693,574,2.716,575,2.763,577,2.868,1835,2.468,2369,2.693,4541,1.681,4542,3.396,4543,3.694,4544,3.529,4545,3.694,4546,3.064,4547,3.694,4548,3.694,4591,3.529,4600,5.761,4610,4.05,4637,8.189,4638,4.816,4639,6.417,4640,6.773,4641,4.816,4642,4.816,4643,4.05,4644,4.816,4645,3.459,4646,3.694]],["title/interfaces/ClassEntityProps.html",[159,0.714,4610,5.842]],["body/interfaces/ClassEntityProps.html",[0,0.284,2,0.601,3,0.011,4,0.023,5,0.005,7,0.172,26,2.199,30,0.001,31,0.636,32,0.166,33,0.635,34,1.825,47,0.976,49,5.308,55,2.144,62,6.764,95,0.13,96,2.172,97,2.305,99,1.156,101,0.011,103,0,104,0,112,0.759,125,3.094,130,1.545,153,0.927,159,0.581,161,1.342,185,1.936,195,2.799,196,4.15,205,1.679,223,4.089,224,1.641,225,3.164,229,2.235,231,0.979,232,1.531,233,1.764,458,2.261,459,4.336,579,1.617,652,1.152,756,2.235,2183,2.227,4541,3.964,4542,8.008,4543,8.711,4544,8.687,4545,8.711,4546,7.543,4547,8.711,4548,8.711,4591,4.14,4592,5.232,4600,9.339,4607,4.398,4608,3.213,4609,5.232,4610,8.983,4611,4.751,4612,9.893,4613,6.927,4614,5.232,4615,5.232,4616,4.751,4617,2.536,4618,3.332,4619,4.231,4620,7.628,4621,4.45,4622,5.232,4623,5.232,4624,7.628,4625,5.232,4626,7.628,4627,5.232,4628,5.232,4629,6.488,4630,4.231,4631,7.628,4632,5.232,4633,6.318,4634,3.915,4635,7.628,4636,5.232]],["title/classes/ClassFactory.html",[0,0.239,4647,6.433]],["body/classes/ClassFactory.html",[0,0.302,2,0.506,3,0.009,4,0.019,5,0.004,7,0.067,8,0.835,27,0.517,29,1.015,30,0.001,31,0.728,32,0.168,33,0.579,34,1.675,35,1.414,47,0.749,49,1.794,55,2.321,59,3.278,62,5.224,83,2.109,95,0.12,96,1.253,97,1.939,101,0.006,103,0,104,0,112,0.566,113,4.433,127,4.901,129,3.56,130,3.261,135,0.945,148,0.716,153,2.078,157,2.019,172,3.079,185,2.481,192,2.616,205,1.788,206,2.355,228,1.312,231,1.255,326,4.814,374,3.133,430,1.947,431,2.03,433,0.586,436,3.852,467,2.109,501,7.043,502,5.44,505,4.016,506,5.44,507,5.251,508,4.016,509,4.016,510,4.016,511,3.954,512,4.466,513,4.865,514,7.043,515,5.764,516,6.962,517,2.658,522,2.636,523,4.016,524,2.658,525,5.128,526,5.275,527,4.152,528,4.962,529,3.985,530,2.636,531,2.485,532,4.127,533,2.538,534,2.485,535,2.636,536,2.658,537,4.789,538,2.636,539,7.124,540,4.186,541,6.612,542,2.658,543,3.514,544,2.636,545,2.658,546,2.636,547,2.658,548,2.636,551,2.636,552,6.073,553,2.658,554,2.636,555,4.016,556,3.664,557,4.016,558,2.658,559,2.557,560,2.52,561,2.133,562,2.636,563,2.636,564,2.636,565,2.658,566,2.658,567,1.807,568,2.636,569,1.476,570,2.658,571,2.865,572,2.636,573,2.658,575,2.727,577,2.831,2080,3.859,2369,2.658,4463,7.407,4541,1.659,4542,3.352,4543,3.646,4544,3.483,4545,3.646,4546,3.024,4547,3.646,4548,3.646,4575,5.554,4576,3.997,4577,3.997,4639,6.353,4640,6.706,4645,3.414,4646,3.646,4647,8.123,4648,4.753,4649,6.185,4650,4.753,4651,3.414,4652,4.753,4653,4.753]],["title/classes/ClassFilterParams.html",[0,0.239,4654,6.094]],["body/classes/ClassFilterParams.html",[0,0.411,2,1.043,3,0.019,4,0.019,5,0.009,7,0.138,27,0.386,30,0.001,32,0.166,33,0.545,95,0.146,101,0.013,103,0.001,104,0.001,112,0.931,159,1.008,190,1.76,200,3.004,201,4.628,202,2.252,300,4.562,886,3.085,899,4.465,3170,5.567,4654,10.456,4655,11.036,4656,7.17,4657,8.244,4658,14.088,4659,9.804,4660,9.804,4661,9.804]],["title/classes/ClassInfoDto.html",[0,0.239,4662,5.64]],["body/classes/ClassInfoDto.html",[0,0.363,2,0.857,3,0.015,4,0.015,5,0.007,7,0.113,27,0.544,29,0.617,30,0.001,31,0.697,32,0.177,33,0.616,34,2.003,47,0.991,55,2.113,95,0.092,101,0.011,103,0.001,104,0.001,112,0.822,122,2.197,232,2.853,433,0.993,435,2.811,458,3.222,459,4.239,2108,3.515,2183,3.174,2546,5.581,4617,3.614,4662,10.478,4663,13.957,4664,7.458,4665,9.862,4666,9.862,4667,7.875,4668,9.862,4669,10.86,4670,10.527,4671,8.053,4672,8.053,4673,8.053,4674,8.053,4675,8.053,4676,8.053,4677,10.289,4678,8.053,4679,4.895,4680,7.458,4681,7.458,4682,8.053,4683,8.053,4684,6.177,4685,6.343,4686,7.458,4687,7.458,4688,7.458,4689,7.458]],["title/classes/ClassInfoResponse.html",[0,0.239,4690,5.842]],["body/classes/ClassInfoResponse.html",[0,0.254,2,0.784,3,0.014,4,0.014,5,0.007,7,0.104,27,0.535,29,0.565,30,0.001,31,0.673,32,0.176,33,0.603,34,1.917,47,0.984,55,1.993,95,0.113,101,0.01,103,0,104,0,112,0.775,122,2.072,125,1.755,190,2.409,201,5.124,202,1.694,232,2.69,296,3.551,433,0.909,435,2.573,458,2.95,459,3.881,866,3.662,886,2.32,2108,3.218,2183,2.906,2300,5.807,2546,5.109,3169,4.391,4617,3.309,4665,9.439,4666,9.439,4667,7.538,4668,9.439,4677,10.997,4679,4.482,4680,6.827,4681,6.827,4684,5.655,4685,5.807,4686,6.827,4687,6.827,4688,6.827,4689,6.827,4690,10.541,4691,12.721,4692,7.232,4693,9.928,4694,7.373,4695,7.373,4696,6.827,4697,7.373,4698,7.373,4699,6.468,4700,7.373,4701,7.373,4702,7.373,4703,7.373]],["title/classes/ClassInfoSearchListResponse.html",[0,0.239,4704,5.842]],["body/classes/ClassInfoSearchListResponse.html",[0,0.359,2,0.843,3,0.022,4,0.015,5,0.007,7,0.111,27,0.505,29,0.607,30,0.001,31,0.444,32,0.172,33,0.587,55,2.874,56,6.221,59,3.234,70,6.71,95,0.133,101,0.01,103,0.001,104,0.001,112,0.814,125,1.886,190,2.219,202,1.821,231,1.806,296,2.722,298,3.429,339,3.767,433,0.977,436,3.663,860,7.345,861,5.493,862,8.348,863,7.252,864,5.976,865,7.34,866,3.937,867,7.34,868,5.583,869,3.89,870,4.328,871,2.902,872,5.588,873,6.628,874,6.086,875,5.246,876,4.116,877,5.588,878,5.588,880,5.043,881,4.328,4690,11.297,4691,9.647,4704,8.76,4705,6.665]],["title/classes/ClassMapper.html",[0,0.239,4706,6.094]],["body/classes/ClassMapper.html",[0,0.479,2,0.733,3,0.013,4,0.022,5,0.006,7,0.097,8,1.093,27,0.46,29,0.895,30,0.001,31,0.709,32,0.145,33,0.534,34,1.62,35,1.352,49,2.601,62,5.647,95,0.133,96,1.817,97,2.812,101,0.009,103,0,104,0,125,2.779,148,1.155,153,2.166,205,1.933,206,2.241,430,2.823,431,2.943,467,4.021,652,2.21,773,4.95,1770,2.79,1882,2.629,2453,4.499,2491,4.859,4541,3.309,4542,6.686,4543,7.273,4544,6.948,4545,7.273,4546,6.033,4547,7.273,4548,7.273,4575,7.273,4576,5.795,4591,10.118,4646,5.286,4706,8.319,4707,6.892,4708,7.974,4709,8.781,4710,8.781,4711,7.974,4712,7.974,4713,6.892,4714,8.781,4715,6.892,4716,8.781,4717,6.892,4718,7.974,4719,6.892,4720,6.892,4721,4.189,4722,5.429,4723,6.892,4724,6.892,4725,6.892,4726,6.892,4727,6.892,4728,6.892,4729,6.892,4730,6.892,4731,6.046,4732,6.892,4733,6.892,4734,6.892,4735,5.286,4736,5.286,4737,6.046,4738,6.892,4739,6.892,4740,6.892,4741,6.892,4742,6.892,4743,6.892,4744,6.892,4745,6.892,4746,6.382,4747,6.892,4748,6.892,4749,6.892,4750,6.892,4751,4.859,4752,6.382,4753,6.046,4754,6.382]],["title/modules/ClassModule.html",[252,1.836,4755,5.842]],["body/modules/ClassModule.html",[0,0.329,3,0.018,4,0.018,5,0.009,30,0.001,95,0.145,101,0.013,103,0.001,104,0.001,252,3.354,254,3.439,255,3.642,256,3.735,257,3.721,258,3.708,259,4.616,260,4.725,269,4.587,270,3.668,271,3.591,277,1.371,610,3.763,2609,4.686,4755,11.989,4756,9.547,4757,9.547,4758,9.547,4759,12.704,4760,11.631,4761,9.547]],["title/interfaces/ClassProps.html",[159,0.714,4577,5.842]],["body/interfaces/ClassProps.html",[0,0.358,3,0.012,4,0.024,5,0.006,7,0.089,26,2.933,30,0.001,31,0.665,32,0.171,33,0.639,39,1.757,47,0.997,55,2.262,62,7.076,83,3.768,95,0.118,99,1.299,101,0.012,103,0,104,0,112,0.699,125,3.08,148,1.357,159,0.652,161,1.507,185,2.175,231,1.798,430,4.867,431,5.073,711,1.881,1767,5.708,1770,3.624,1849,3.674,3062,4.398,3063,4.398,4539,5.877,4541,4.147,4542,8.377,4543,9.113,4544,8.706,4545,9.113,4546,7.56,4547,9.113,4548,9.113,4549,5.877,4575,9.113,4576,5.337,4577,7.529,4578,5.337,4579,5.877,4580,8.291,4581,5.877,4582,5.877,4583,5.877,4584,5.877,4585,5.877,4586,5.877,4587,5.877,4588,5.877,4589,5.877,4590,5.877]],["title/injectables/ClassService.html",[589,0.926,4759,6.094]],["body/injectables/ClassService.html",[0,0.434,2,1.285,3,0.014,4,0.014,5,0.007,7,0.105,8,1.156,26,2.835,27,0.475,29,0.926,30,0.001,31,0.677,32,0.151,33,0.552,34,1.278,35,1.309,36,2.743,39,3.13,95,0.138,99,1.531,101,0.01,103,0,104,0,125,1.781,135,1.576,148,1.195,153,1.227,228,1.356,277,1.075,317,2.954,400,2.229,433,0.922,579,2.142,589,1.337,591,1.781,641,4.255,657,2.764,711,4.04,983,4.821,1312,3.513,1770,3.029,1882,2.854,2453,4.885,2609,3.673,4541,2.611,4753,6.565,4759,8.797,4760,10.904,4762,7.483,4763,10.027,4764,7.898,4765,8.797,4766,7.483,4767,7.483,4768,10.027,4769,7.483,4770,8.141,4771,7.483,4772,8.797,4773,7.483,4774,7.483,4775,10.027,4776,5.483,4777,6.292,4778,6.929,4779,7.483,4780,7.483,4781,7.483,4782,7.483,4783,7.483]],["title/classes/ClassSortParams.html",[0,0.239,4784,6.094]],["body/classes/ClassSortParams.html",[0,0.398,2,0.99,3,0.018,4,0.018,5,0.009,7,0.131,27,0.454,30,0.001,32,0.144,33,0.527,95,0.15,101,0.012,103,0.001,104,0.001,112,0.901,129,2.778,130,2.545,159,0.956,190,2.072,200,2.851,201,4.482,202,2.137,231,2,298,4.025,300,4.418,436,3.42,770,8.246,790,6.344,886,2.928,899,4.237,3297,9.623,4655,8.616,4657,7.824,4784,10.125,4785,7.554,4786,10.949,4787,13.486,4788,9.304,4789,9.304,4790,7.824,4791,8.162,4792,9.304]],["title/classes/ClassSourceOptions.html",[0,0.239,4575,5.328]],["body/classes/ClassSourceOptions.html",[0,0.326,2,1.006,3,0.018,4,0.026,5,0.009,7,0.133,27,0.497,29,0.725,30,0.001,31,0.53,32,0.145,33,0.432,47,0.828,101,0.015,103,0.001,104,0.001,112,0.91,113,5.037,125,2.251,148,0.936,159,0.972,232,3.159,433,1.166,435,4.729,735,5.309,1771,7.953,4575,8.941,4646,10.119,4793,12.217,4794,8.758,4795,12.106,4796,11.658,4797,9.457,4798,9.457,4799,8.758]],["title/classes/ClassSourceOptionsEntity.html",[0,0.239,4600,5.472]],["body/classes/ClassSourceOptionsEntity.html",[0,0.324,2,0.999,3,0.018,4,0.025,5,0.009,7,0.132,27,0.457,29,0.719,30,0.001,31,0.526,32,0.145,33,0.576,47,0.894,95,0.107,96,2.476,101,0.015,103,0.001,104,0.001,112,0.907,125,2.235,159,0.965,190,1.686,195,2.54,196,3.107,211,5.209,223,3.604,224,2.728,232,3.146,433,1.157,435,3.277,2685,5.91,4600,9.143,4646,10.094,4800,11.667,4801,8.696,4802,11.546,4803,11.608,4804,10.749,4805,8.696]],["title/interfaces/ClassSourceOptionsEntityProps.html",[159,0.714,4802,6.094]],["body/interfaces/ClassSourceOptionsEntityProps.html",[0,0.34,3,0.019,4,0.023,5,0.009,7,0.138,30,0.001,32,0.123,33,0.546,47,0.95,95,0.112,96,2.597,101,0.016,103,0.001,104,0.001,112,0.934,125,2.345,159,1.013,161,2.34,195,2.156,196,3.259,223,3.711,224,2.862,232,2.67,2685,6.086,4600,7.76,4646,10.513,4800,9.123,4801,9.123,4802,11.289,4804,11.069,4805,9.123]],["title/interfaces/ClassSourceOptionsProps.html",[159,0.714,4795,6.094]],["body/interfaces/ClassSourceOptionsProps.html",[0,0.346,3,0.019,4,0.023,5,0.009,7,0.141,30,0.001,32,0.125,33,0.553,47,0.956,101,0.016,103,0.001,104,0.001,112,0.945,113,4.005,125,2.392,148,0.994,159,1.033,161,2.387,232,2.723,435,4.222,1771,8.451,4575,7.707,4646,10.571,4793,9.306,4794,9.306,4795,11.817,4799,9.306]],["title/injectables/ClassesRepo.html",[589,0.926,4760,5.842]],["body/injectables/ClassesRepo.html",[0,0.47,2,1.141,3,0.013,4,0.013,5,0.006,7,0.095,8,1.078,26,2.654,27,0.456,29,0.887,30,0.001,31,0.648,32,0.144,33,0.529,34,1.597,35,1.241,36,2.66,39,1.869,47,0.479,49,2.549,62,4.022,95,0.147,96,1.78,97,2.755,99,1.382,101,0.009,103,0,104,0,125,1.607,135,1.714,148,0.925,153,1.994,205,1.377,228,1.224,277,0.97,317,2.89,400,2.011,433,0.832,579,1.933,589,1.247,591,1.607,657,2.649,675,3.438,773,6.716,1472,3.776,1882,2.576,2444,6.421,2769,5.105,3596,4.408,3601,5.462,4541,3.263,4542,4.761,4591,8.906,4706,5.924,4721,4.105,4760,7.863,4764,7.365,4770,7.591,4806,6.753,4807,9.35,4808,9.35,4809,6.753,4810,9.35,4811,6.753,4812,6.753,4813,9.35,4814,6.753,4815,4.534,4816,4.604,4817,10.725,4818,5.482,4819,6.641,4820,9.35,4821,6.753,4822,6.753,4823,6.253,4824,6.253,4825,6.753,4826,6.753,4827,6.753,4828,6.753,4829,6.753,4830,6.753,4831,6.753,4832,6.753,4833,6.753,4834,6.753,4835,9.35,4836,6.753,4837,6.753,4838,6.753]],["title/interfaces/CleanOptions.html",[159,0.714,4839,5.64]],["body/interfaces/CleanOptions.html",[0,0.163,3,0.009,4,0.009,5,0.004,7,0.067,10,1.897,30,0.001,32,0.059,33,0.33,36,2.445,47,0.513,52,3.657,53,3.475,55,2.32,70,4.46,72,3.308,78,8.951,95,0.112,101,0.006,103,0,104,0,112,0.565,122,0.99,125,1.72,129,3.149,135,1.376,145,2.71,148,0.866,153,1.186,157,2.914,159,0.9,161,1.126,171,3.184,194,4.125,197,3.313,228,1.587,230,4.784,259,1.725,290,1.122,317,2.697,365,2.108,388,3.756,413,2.883,433,0.584,467,1.381,540,4.058,579,1.357,612,3.184,618,5.643,644,2.883,648,2.981,652,1.997,657,2.793,745,6.291,756,2.859,758,6.07,892,3.637,981,2.883,985,4.184,1027,1.453,1080,1.635,1372,2.496,1619,5.382,1626,4.009,1751,5.694,1899,3.096,1927,4.263,1938,2.551,2218,2.118,2234,3.735,2445,1.974,2446,3.376,2525,2.551,2830,6.899,2836,3.85,2907,7.531,3077,5.718,3370,5.346,3756,4.719,3764,3.139,3765,8.815,3766,6.48,3767,2.77,4839,7.111,4840,2.77,4841,2.947,4842,3.988,4843,3.988,4844,7.716,4845,6.079,4846,6.559,4847,3.735,4848,3.735,4849,6.079,4850,3.988,4851,3.988,4852,8.562,4853,3.988,4854,3.988,4855,5.869,4856,5.544,4857,3.988,4858,3.055,4859,3.637,4860,3.735,4861,3.988,4862,3.988,4863,7.727,4864,3.988,4865,8.868,4866,3.475,4867,3.988,4868,8.088,4869,3.988,4870,3.055,4871,3.551,4872,5.972,4873,3.406,4874,4.854,4875,3.551,4876,3.988,4877,3.988,4878,3.988,4879,5.097,4880,8.238,4881,3.988,4882,3.988,4883,3.551,4884,3.988,4885,8.238,4886,3.988,4887,3.988,4888,3.988,4889,8.238,4890,8.238,4891,3.735,4892,6.176,4893,3.988,4894,3.988,4895,3.988,4896,3.475,4897,3.85,4898,5.297,4899,3.735,4900,3.988,4901,3.988,4902,3.988,4903,3.988,4904,3.988,4905,5.297,4906,3.139,4907,3.735,4908,3.234,4909,3.637,4910,3.988,4911,3.988,4912,3.988,4913,3.988,4914,3.988,4915,3.988,4916,3.988,4917,3.988,4918,3.988,4919,3.988,4920,3.735,4921,3.85]],["title/injectables/CloseUserLoginMigrationUc.html",[589,0.926,4922,5.842]],["body/injectables/CloseUserLoginMigrationUc.html",[0,0.253,3,0.014,4,0.014,5,0.007,7,0.103,8,1.141,26,2.712,27,0.389,29,0.758,30,0.001,31,0.554,32,0.123,33,0.452,35,0.849,36,2.093,39,2.029,95,0.153,99,1.501,101,0.01,103,0,104,0,122,1.53,125,1.745,135,1.563,142,2.667,148,0.978,153,1.203,180,5.504,228,2.171,290,3.116,317,2.425,433,1.219,478,2.059,579,2.099,589,1.319,591,1.745,595,2.768,610,2.89,652,2.443,657,2.949,693,3.339,1422,3.003,1780,4.457,1853,2.398,1862,7.035,1961,4.411,2653,3.39,4541,4.182,4922,8.318,4923,5.123,4924,11.194,4925,5.953,4926,8.678,4927,5.953,4928,9.445,4929,10.378,4930,11.08,4931,6.79,4932,9.891,4933,7.332,4934,5.373,4935,7.122,4936,5.776,4937,7.532,4938,5.953,4939,6.433,4940,6.166,4941,6.166,4942,8.678,4943,7.332,4944,9.16,4945,7.332,4946,7.332,4947,7.332]],["title/injectables/CollaborativeStorageAdapter.html",[589,0.926,4948,5.842]],["body/injectables/CollaborativeStorageAdapter.html",[0,0.187,3,0.01,4,0.01,5,0.005,7,0.076,8,0.922,27,0.476,29,0.896,30,0.001,31,0.655,32,0.151,33,0.534,34,1.366,35,1.293,36,2.624,47,0.674,72,3.661,95,0.138,100,4.329,101,0.007,103,0,104,0,112,0.625,148,1.037,157,2.691,277,0.78,328,5.99,329,7.106,331,5.604,339,2.347,356,5.371,388,5.183,433,0.986,567,3.984,569,1.685,589,1.066,591,1.292,614,2.464,652,1.631,675,4.836,688,2.562,1027,1.663,1826,6.489,2342,5.745,2445,3.954,2446,4.895,3206,4.63,3851,6.367,4244,5.543,4948,6.727,4949,8.458,4950,10.883,4951,5.428,4952,5.861,4953,8.509,4954,10.431,4955,7.018,4956,6.494,4957,9.11,4958,6.727,4959,6.494,4960,6.494,4961,7.999,4962,6.494,4963,6.494,4964,5.428,4965,10.281,4966,8.813,4967,7.999,4968,6.494,4969,9.249,4970,5.428,4971,8.829,4972,6.494,4973,5.428,4974,7.999,4975,5.428,4976,6.494,4977,5.428,4978,7.999,4979,7.528,4980,8.255,4981,5.428,4982,6.135,4983,4.762,4984,4.276,4985,4.565,4986,4.163,4987,5.428,4988,5.428,4989,5.428,4990,5.428,4991,5.428,4992,7.999,4993,5.428,4994,5.428,4995,5.428,4996,5.428]],["title/injectables/CollaborativeStorageAdapterMapper.html",[589,0.926,4966,5.842]],["body/injectables/CollaborativeStorageAdapterMapper.html",[0,0.277,3,0.015,4,0.015,5,0.007,7,0.113,8,1.212,27,0.316,29,0.616,30,0.001,31,0.45,32,0.1,33,0.367,35,0.93,95,0.147,100,4.869,101,0.011,103,0.001,104,0.001,148,1.04,153,1.318,157,1.85,277,1.154,331,5.965,388,5.024,589,1.402,591,1.913,711,3.472,1826,6.907,1882,4.01,3851,5.286,4244,5.57,4819,6.031,4949,7.168,4953,10.09,4956,8.535,4966,8.841,4969,8.926,4971,7.812,4979,8.926,4980,9.789,4982,8.063,4983,7.051,4984,8.281,4985,6.759,4986,6.164,4997,10.513,4998,8.037,4999,10.513,5000,10.513,5001,8.037,5002,8.535,5003,8.535,5004,10.09,5005,6.525,5006,7.051,5007,7.051,5008,7.051,5009,4.458,5010,5.773,5011,8.037,5012,8.037,5013,8.037,5014,8.037,5015,8.037]],["title/modules/CollaborativeStorageAdapterModule.html",[252,1.836,5016,6.094]],["body/modules/CollaborativeStorageAdapterModule.html",[0,0.25,3,0.014,4,0.014,5,0.007,30,0.001,47,0.516,95,0.159,101,0.01,103,0,104,0,135,0.948,252,2.944,254,2.617,255,2.772,256,2.842,257,2.832,258,2.822,259,4.052,260,4.148,265,5.943,269,3.846,270,2.791,271,2.733,276,3.846,277,1.044,675,3.699,685,5.743,1027,2.226,1054,4.097,1267,5.219,1933,9.86,1934,5.723,2218,3.246,2219,3.653,2220,3.526,3843,7.988,3851,3.653,3853,3.825,3857,6.418,4212,4.245,4948,11.712,4949,4.954,4950,6.375,4954,6.11,4965,5.899,4966,10.811,5016,12.726,5017,7.266,5018,7.266,5019,7.266,5020,7.266,5021,9.627,5022,9.42,5023,11.905,5024,11.532,5025,7.266,5026,5.573,5027,5.005,5028,6.729,5029,7.266,5030,7.266,5031,7.266,5032,9.831,5033,7.266,5034,7.266,5035,7.266]],["title/controllers/CollaborativeStorageController.html",[314,2.659,5036,6.094]],["body/controllers/CollaborativeStorageController.html",[0,0.37,3,0.013,4,0.013,5,0.006,7,0.095,8,1.079,27,0.266,29,0.518,30,0.001,31,0.379,32,0.084,33,0.309,35,0.783,36,1.98,95,0.147,101,0.009,103,0,104,0,148,0.669,153,1.536,157,3.11,190,1.214,193,2.939,202,1.554,228,1.226,274,2.827,277,0.972,290,2.74,314,2.589,316,3.263,325,5.754,331,5.567,333,6.286,337,5.752,342,6.111,345,6.723,347,4.797,349,6.192,356,7.779,360,5.37,371,4.962,379,4.766,388,5.215,389,4.416,391,7.474,392,3.536,395,3.638,398,3.665,400,2.015,402,4.146,614,3.568,652,1.379,693,3.08,1027,2.073,1080,3.227,1083,5.278,1826,5.936,2445,2.816,2446,4.372,2526,7.6,3209,3.489,3851,6.325,4954,10.228,4963,8.715,4971,8.264,5005,7.6,5036,8.212,5037,6.6,5038,9.361,5039,6.764,5040,7.373,5041,6.764,5042,11.263,5043,9.742,5044,12.162,5045,9.405,5046,6.764,5047,6.764,5048,8.212,5049,9.361,5050,6.264,5051,7.179,5052,6.764,5053,6.764,5054,9.361,5055,6.487,5056,8.212,5057,7.872,5058,6.764,5059,6.764,5060,5.934,5061,6.264,5062,6.764,5063,6.764,5064,6.764,5065,6.764,5066,6.764,5067,6.764]],["title/modules/CollaborativeStorageModule.html",[252,1.836,5068,5.842]],["body/modules/CollaborativeStorageModule.html",[0,0.265,3,0.015,4,0.015,5,0.007,30,0.001,95,0.158,101,0.01,103,0,104,0,252,3.028,254,2.767,255,2.931,256,3.006,257,2.995,258,2.984,259,4.168,260,4.267,265,6.04,269,3.992,270,2.952,271,2.89,274,4.266,276,3.992,277,1.104,279,3.212,314,2.941,675,3.912,1027,2.354,1524,10.021,1539,6.238,1856,7.495,1915,9.054,2653,3.552,2856,4.888,3005,3.627,3851,3.863,4950,6.741,5016,11.463,5036,10.054,5037,5.417,5057,11.815,5068,12.256,5069,7.683,5070,7.683,5071,7.683,5072,7.683,5073,10.987,5074,10.987,5075,10.987,5076,7.115,5077,7.115]],["title/injectables/CollaborativeStorageService.html",[589,0.926,5073,5.842]],["body/injectables/CollaborativeStorageService.html",[0,0.187,3,0.01,4,0.01,5,0.005,7,0.076,8,0.922,26,2.157,27,0.46,29,0.896,30,0.001,31,0.655,32,0.146,33,0.534,34,1.366,35,1.293,36,2.724,47,0.938,95,0.149,99,1.111,100,3.658,101,0.007,103,0,104,0,129,1.621,130,1.485,148,1.227,153,1.312,157,1.841,195,1.75,197,2.224,205,1.631,277,0.78,279,2.269,290,1.892,317,2.532,331,3.54,388,5.013,433,0.986,589,1.066,591,1.292,595,2.049,652,2.383,657,2.398,693,2.472,1027,1.663,1780,3.3,1826,5.371,1862,5.596,1915,8.377,1925,4.863,2445,3.954,2446,4.895,2653,2.51,2834,6.494,3370,3.59,3851,2.729,4244,9.05,4819,4.589,4948,8.813,4953,6.494,4959,6.494,4960,6.494,4962,6.494,4963,7.711,4968,6.494,4969,8.682,4971,7.348,4972,6.494,4976,6.494,4980,8.255,4984,4.276,5005,4.407,5037,8.523,5055,5.543,5073,6.727,5074,8.813,5077,5.027,5078,11.194,5079,5.027,5080,7.999,5081,5.428,5082,9.271,5083,9.498,5084,8.796,5085,5.428,5086,5.027,5087,5.428,5088,7.999,5089,8.117,5090,5.428,5091,4.271,5092,6.727,5093,5.222,5094,5.428,5095,5.428,5096,8.753,5097,10.347,5098,5.027,5099,6.301,5100,6.697,5101,7.407,5102,7.407,5103,4.565,5104,5.428,5105,5.428,5106,5.428,5107,5.428,5108,7.999,5109,5.428,5110,5.428,5111,5.428,5112,5.428,5113,5.428,5114,5.428,5115,5.428,5116,5.428,5117,5.428]],["title/interfaces/CollaborativeStorageStrategy.html",[159,0.714,4965,5.64]],["body/interfaces/CollaborativeStorageStrategy.html",[3,0.015,4,0.015,5,0.008,7,0.115,8,1.224,27,0.492,29,0.957,30,0.001,31,0.7,32,0.156,33,0.571,35,1.446,36,2.901,47,0.837,95,0.121,100,4.361,101,0.011,103,0.001,104,0.001,157,2.443,159,1.213,161,1.936,329,7.596,331,5.22,356,7.125,388,3.495,1826,5.437,2139,6.087,2814,9.826,4244,5.649,4949,8.834,4959,8.614,4960,8.614,4962,8.614,4963,8.614,4965,8.614,4968,8.614,4969,9.714,4971,7.855,4972,8.614,4976,8.614,4982,6.252,4984,6.421,4985,6.855,5004,10.144,5005,6.618,5118,8.151,5119,10.61,5120,9.309,5121,8.151,5122,8.151,5123,8.151,5124,9.826,5125,8.151]],["title/injectables/CollaborativeStorageUc.html",[589,0.926,5057,5.842]],["body/injectables/CollaborativeStorageUc.html",[0,0.232,3,0.013,4,0.013,5,0.006,7,0.094,8,1.074,27,0.477,29,0.93,30,0.001,31,0.679,32,0.151,33,0.555,35,1.337,36,2.777,47,0.891,95,0.143,101,0.009,103,0,104,0,148,1.143,153,1.528,157,1.547,228,1.689,277,0.965,290,2.204,317,2.317,331,5.112,388,4.587,433,1.148,589,1.242,591,1.599,610,3.672,652,1.899,1826,5.919,1925,5.664,2834,7.565,4244,4.656,4959,7.565,4960,7.565,4962,7.565,4968,7.565,4969,9.247,4971,7.892,4972,7.565,4976,7.565,4982,8.204,4985,5.65,5037,8.852,5042,10.697,5043,9.714,5045,9.378,5055,6.457,5057,7.835,5060,5.894,5061,6.222,5073,9.714,5075,9.714,5078,6.222,5099,7.339,5100,8.144,5101,8.628,5102,8.628,5126,12.555,5127,6.719,5128,10.696,5129,6.719,5130,10.696,5131,6.719,5132,6.719,5133,6.719,5134,6.719,5135,6.719,5136,11.551,5137,6.719,5138,9.317,5139,6.222,5140,6.222,5141,6.719,5142,8.628,5143,6.719,5144,6.719,5145,6.719,5146,6.719,5147,6.719,5148,6.719,5149,6.719]],["title/interfaces/CollectionFilePath.html",[159,0.714,5150,6.433]],["body/interfaces/CollectionFilePath.html",[0,0.091,3,0.005,4,0.017,5,0.008,7,0.037,10,1.058,27,0.104,30,0.001,31,0.437,32,0.056,33,0.269,35,0.982,36,1.916,47,0.906,55,0.904,83,1.312,95,0.129,96,0.697,97,1.079,101,0.01,103,0,104,0,112,0.352,122,0.94,125,0.63,130,0.724,135,1.751,145,1.689,146,1.804,148,1.255,153,0.966,158,2.169,159,0.272,161,0.628,195,0.986,206,0.86,228,1.26,260,0.985,276,1.035,277,0.38,317,2.156,329,1.608,339,2.657,340,1.704,356,1.776,371,1.402,374,1.949,388,3.343,403,2.28,414,2.28,415,2.562,433,0.326,478,0.743,514,1.433,571,1.046,574,4.396,579,0.757,589,0.601,611,2.45,619,1.9,623,1.727,634,3.407,651,1.338,652,2.586,657,2.957,688,1.249,695,1.9,700,2.174,701,2.174,702,2.225,734,2.471,756,2.75,788,1.804,980,2.499,985,1.531,1027,0.811,1080,0.912,1086,1.262,1087,1.223,1088,1.242,1089,1.322,1090,1.444,1091,1.776,1092,1.776,1420,2.321,1476,1.608,1582,1.9,1598,1.56,1610,6.989,1821,5.686,1842,1.205,1923,1.776,1926,3.953,1927,5.868,1994,4.313,2139,1.517,2218,1.182,2219,1.33,2220,1.283,2221,1.663,2327,1.663,2392,1.009,2444,2.499,2445,1.101,2446,2.105,2483,1.938,2487,2.084,2512,1.504,2537,2.833,2564,5.467,2881,4.748,2884,1.591,3071,5.105,3078,3.177,3206,1.531,3278,2.148,3382,2.062,3601,1.545,3770,2.982,3779,2.45,3815,3.658,4159,4.95,4161,2.45,4162,2.45,4166,7.744,4168,1.833,4170,4.173,4177,7.945,4541,0.923,4656,3.541,4785,2.148,4858,2.903,4892,5.497,4955,3.953,5055,1.833,5150,7.858,5151,2.645,5152,10.112,5153,7.744,5154,4.779,5155,1.865,5156,3.374,5157,4.313,5158,3.953,5159,1.865,5160,4.95,5161,2.45,5162,4.408,5163,4.669,5164,2.45,5165,2.645,5166,2.645,5167,7.797,5168,3.377,5169,5.886,5170,3.953,5171,8.485,5172,5.886,5173,2.084,5174,2.45,5175,4.817,5176,1.683,5177,6.951,5178,2.148,5179,2.645,5180,2.645,5181,2.45,5182,2.645,5183,4.173,5184,2.645,5185,2.645,5186,2.321,5187,4.071,5188,2.645,5189,4.506,5190,2.645,5191,5.164,5192,8.485,5193,4.506,5194,4.506,5195,2.645,5196,2.645,5197,2.645,5198,5.214,5199,2.45,5200,4.514,5201,2.645,5202,8.939,5203,2.645,5204,6.951,5205,2.645,5206,2.645,5207,2.645,5208,2.645,5209,2.45,5210,2.645,5211,2.645,5212,2.645,5213,1.663,5214,2.645,5215,2.645,5216,2.645,5217,1.865,5218,5.886,5219,3.026,5220,2.645,5221,6.951,5222,2.645,5223,2.645,5224,1.663,5225,2.645,5226,4.506,5227,4.506,5228,2.645,5229,2.645,5230,2.645,5231,1.663,5232,4.506,5233,2.645,5234,2.645,5235,2.645,5236,6.437,5237,4.506,5238,3.953,5239,4.506,5240,4.506,5241,2.645,5242,2.645,5243,2.645,5244,2.645,5245,2.645,5246,2.645,5247,2.645,5248,2.645,5249,2.645,5250,2.645,5251,2.645,5252,6.951,5253,5.845,5254,3.177,5255,2.645,5256,3.789,5257,4.95,5258,2.645,5259,4.506,5260,4.506,5261,2.645,5262,4.506,5263,2.645,5264,4.173,5265,2.645,5266,2.645,5267,2.645,5268,5.886,5269,2.645,5270,2.029,5271,2.645,5272,2.084,5273,2.45,5274,2.645,5275,2.645,5276,2.645,5277,3.302,5278,2.224,5279,2.645,5280,2.645,5281,2.645,5282,2.645,5283,2.645,5284,4.506,5285,2.645,5286,2.645,5287,2.645,5288,2.645,5289,2.645,5290,2.645,5291,2.645,5292,2.645,5293,3.658,5294,3.658,5295,2.645,5296,2.148,5297,2.645,5298,2.645,5299,2.645,5300,3.374,5301,1.981,5302,2.148,5303,2.645,5304,2.645,5305,2.645,5306,2.645,5307,2.645,5308,4.506,5309,2.645,5310,2.645,5311,5.886,5312,2.645,5313,2.645,5314,2.645,5315,2.645,5316,2.321,5317,2.645,5318,2.645,5319,3.658,5320,3.658,5321,3.658,5322,2.645,5323,5.451,5324,2.645,5325,2.45,5326,2.321,5327,2.645,5328,2.645,5329,1.981,5330,2.645,5331,3.953,5332,2.645,5333,2.645,5334,2.645,5335,2.645,5336,2.645,5337,2.645,5338,2.645,5339,2.645,5340,5.886,5341,2.645,5342,2.645,5343,2.645,5344,2.645,5345,2.645,5346,4.506,5347,3.549,5348,4.506,5349,2.645,5350,4.173,5351,4.506,5352,2.645,5353,4.173,5354,5.886,5355,2.645,5356,2.45,5357,2.321,5358,2.45,5359,2.084,5360,2.645,5361,1.9,5362,2.321,5363,2.645,5364,2.45,5365,2.029,5366,2.45,5367,2.645,5368,2.645,5369,2.645,5370,2.645,5371,2.645,5372,2.45,5373,2.45,5374,2.645]],["title/classes/Column.html",[0,0.239,2934,3.709]],["body/classes/Column.html",[0,0.227,2,0.7,3,0.012,4,0.012,5,0.006,7,0.092,8,1.058,27,0.529,29,0.98,30,0.001,31,0.717,32,0.165,33,0.585,35,1.511,36,1.942,47,0.855,55,1.842,59,2.042,95,0.121,101,0.014,103,0,104,0,112,0.717,113,3.659,122,2.207,134,2.324,135,0.858,148,1.046,155,3.956,158,2.424,159,0.676,189,5.64,231,1.833,317,2.291,435,3.203,436,3.869,527,2.784,532,3.406,567,2.499,569,3.738,653,3.79,657,1.504,711,2.72,735,4.18,1770,4.632,1773,6.498,1842,4.18,2050,2.772,2635,6.41,2934,6.11,3027,7.979,3030,6.472,3031,6.472,3032,6.472,3033,5.992,3034,6.472,3036,4.134,3037,5.58,3038,6.686,3040,6.361,3041,5.58,3042,6.565,3044,4.557,3045,4.901,3047,6.647,3048,4.557,3050,6.593,3052,4.557,3054,4.134,3081,5.522,3096,5.266,3124,5.53,4299,6.593,4300,4.723,4301,4.723,4302,5.53,4304,5.769,4310,4.086,4311,6.361,4312,5.18,4315,5.64,5375,6.089,5376,5.769,5377,6.089,5378,6.576,5379,6.576,5380,6.089,5381,6.089,5382,5.769,5383,6.089]],["title/classes/ColumnBoard.html",[0,0.239,2031,4.137]],["body/classes/ColumnBoard.html",[0,0.212,2,0.656,3,0.012,4,0.012,5,0.006,7,0.087,8,1.011,27,0.533,29,0.984,30,0.001,31,0.719,32,0.165,33,0.587,35,1.512,36,1.855,47,0.834,55,1.76,59,1.913,95,0.116,101,0.013,103,0,104,0,112,0.685,113,3.495,122,2.13,134,2.177,135,0.804,148,1.1,155,3.874,158,2.271,159,0.633,183,4.658,189,5.388,231,1.769,317,2.211,435,3.06,436,3.805,527,2.608,532,3.253,567,3.333,569,3.791,653,3.62,657,1.41,711,2.598,735,3.993,1770,4.501,1773,6.272,1842,3.993,2031,6.622,2050,2.597,2635,6.323,2934,4.681,3027,7.86,3030,6.182,3031,6.182,3032,6.182,3033,5.724,3034,6.182,3036,3.873,3037,5.33,3038,6.496,3040,6.076,3041,5.33,3042,6.379,3044,4.27,3045,4.681,3047,6.416,3048,4.27,3050,6.297,3052,4.27,3054,3.873,3081,5.275,3126,5.182,3611,8.77,4298,5.706,4299,4.426,4300,4.426,4301,4.426,4302,5.182,4304,5.406,4310,3.829,4311,6.076,4312,4.854,4315,5.388,5384,10.88,5385,5.706,5386,6.162,5387,5.706,5388,6.162,5389,6.162,5390,6.162,5391,6.162,5392,6.162,5393,6.162,5394,8.119,5395,5.706,5396,5.706,5397,5.706,5398,5.182,5399,5.706]],["title/injectables/ColumnBoardCopyService.html",[589,0.926,3254,5.842]],["body/injectables/ColumnBoardCopyService.html",[0,0.238,3,0.013,4,0.013,5,0.006,7,0.097,8,1.096,26,2.236,27,0.374,29,0.728,30,0.001,31,0.532,32,0.146,33,0.434,35,0.8,36,2.011,39,2.631,95,0.151,99,1.415,101,0.009,103,0,104,0,135,1.599,148,0.684,153,1.559,172,4.041,228,2.222,243,4.347,277,0.993,279,2.891,290,1.636,317,2.353,433,1.171,435,2.413,571,3.76,579,2.72,589,1.267,591,1.646,610,2.725,652,2.499,657,2.805,1312,3.247,1622,4.967,1829,2.94,1853,2.262,1910,7.973,2030,4.792,2031,6.468,2032,2.629,2050,5.168,2053,5.179,2467,5.718,2602,5.778,2609,3.394,3241,5.447,3244,8.802,3254,7.993,3273,7.09,3286,4.249,3287,3.933,3298,8.339,3329,6.827,3344,6.404,3346,6.404,3397,5.179,3398,8.931,3507,4.4,3575,10.911,3585,4.967,3586,8.339,3611,6.827,3849,9.834,3853,3.64,5400,10.057,5401,7.806,5402,10.86,5403,6.404,5404,9.505,5405,6.404,5406,6.915,5407,6.404,5408,6.915,5409,6.915,5410,6.915,5411,6.915,5412,3.967,5413,5.815,5414,6.915,5415,6.915,5416,6.915,5417,6.404,5418,6.915,5419,6.404,5420,5.614,5421,6.915,5422,6.915,5423,6.915,5424,6.915,5425,6.915,5426,6.915]],["title/classes/ColumnBoardFactory.html",[0,0.239,5427,6.433]],["body/classes/ColumnBoardFactory.html",[0,0.17,2,0.524,3,0.009,4,0.009,5,0.005,7,0.069,8,0.857,27,0.52,29,1.013,30,0.001,31,0.704,32,0.17,33,0.575,34,1.831,35,1.428,47,0.528,49,1.858,55,2.349,59,3.328,83,2.165,95,0.114,101,0.01,103,0,104,0,112,0.581,113,4.493,125,1.172,127,4.99,129,3.598,130,3.296,135,0.97,148,0.736,153,1.638,155,1.562,157,2.063,172,3.161,183,2.836,185,2.548,192,2.709,205,2.185,206,2.418,228,1.624,231,1.289,326,4.854,374,3.217,430,2.016,431,2.102,433,0.607,436,3.88,467,2.165,501,7.283,502,5.538,505,4.124,506,5.538,507,5.433,508,4.124,509,4.124,510,4.124,511,4.06,512,4.563,513,4.97,514,6.53,515,5.853,516,7.071,517,2.753,522,2.73,523,4.124,524,2.753,525,5.22,526,5.37,527,4.227,528,5.052,529,4.092,530,2.73,531,2.573,532,4.183,533,2.628,534,2.573,535,2.73,536,2.753,537,4.893,538,2.73,539,6.972,540,4.232,541,6.684,542,2.753,543,4.348,544,2.73,545,2.753,546,2.73,547,2.753,548,2.73,549,3.059,550,2.876,551,2.73,552,6.155,553,2.753,554,2.73,555,4.124,556,3.762,557,4.124,558,2.753,559,2.648,560,2.61,561,2.209,562,2.73,563,2.73,564,2.73,565,2.753,566,2.753,567,1.871,568,2.73,569,1.528,570,2.753,571,2.942,572,2.73,573,2.753,574,2.776,576,2.903,577,2.932,1853,1.61,2030,3.411,2031,2.932,2050,2.075,2053,3.686,2934,2.628,3035,3.411,3292,4.139,4463,4.62,5398,4.139,5427,8.298,5428,7.436,5429,4.922,5430,9.985,5431,4.922,5432,4.922,5433,4.922]],["title/entities/ColumnBoardNode.html",[205,1.416,3449,5.328]],["body/entities/ColumnBoardNode.html",[0,0.281,3,0.015,4,0.015,5,0.008,7,0.115,27,0.418,30,0.001,32,0.156,34,1.392,49,4.453,95,0.152,96,2.149,101,0.014,103,0.001,104,0.001,112,0.829,134,2.88,135,1.063,148,1.05,153,1.337,159,0.838,183,4.766,190,1.905,205,2.163,206,2.651,223,3.663,224,2.368,231,1.839,232,2.209,457,4.521,574,4.596,1770,4.295,2030,8.175,2050,4.973,2108,3.558,2635,5.063,2688,4.596,2911,4.905,3292,6.855,3419,5.665,3429,6.319,3449,8.138,3501,4.955,3563,5.558,3611,8.473,3644,9.577,3646,10.349,3872,6.252,3874,6.45,3894,5.009,4401,5.124,4403,5.124,5434,10.349,5435,7.945,5436,8.151,5437,6.258,5438,8.151,5439,9.826,5440,9.309,5441,9.826,5442,7.548,5443,6.855,5444,7.548,5445,7.548,5446,7.548]],["title/interfaces/ColumnBoardNodeProps.html",[159,0.714,5440,6.094]],["body/interfaces/ColumnBoardNodeProps.html",[0,0.291,3,0.016,4,0.016,5,0.008,7,0.119,30,0.001,32,0.149,34,1.442,49,4.097,95,0.153,96,2.226,101,0.014,103,0.001,104,0.001,112,0.848,134,2.983,135,1.101,148,1.074,153,1.385,159,0.868,161,2.005,183,5.114,205,2.213,223,3.725,224,2.452,231,2.079,232,2.288,457,4.683,574,4.76,1770,4.394,2030,7.522,2050,3.559,2108,3.685,2635,5.179,2688,4.76,2911,5.018,3292,7.1,3419,5.795,3429,6.464,3449,6.475,3501,5.132,3563,5.757,3611,9.408,3644,6.854,3646,7.407,3872,6.475,3874,7.293,3894,5.188,4401,5.307,4403,5.307,5434,7.407,5437,4.979,5439,10.051,5440,10.525,5441,10.051,5442,7.818,5443,7.1,5444,7.818,5445,7.818,5446,7.818]],["title/interfaces/ColumnBoardProps.html",[159,0.714,5398,5.842]],["body/interfaces/ColumnBoardProps.html",[0,0.287,3,0.016,4,0.016,5,0.008,7,0.117,30,0.001,32,0.149,36,1.764,47,0.926,95,0.136,101,0.016,103,0.001,104,0.001,112,0.841,122,1.74,134,2.946,135,1.088,148,1.247,155,4.239,158,3.073,159,0.857,161,1.98,183,5.097,231,2.067,317,1.806,527,3.529,567,4.093,569,2.589,653,4.446,657,1.908,1770,3.375,1842,4.903,2031,7.102,2050,3.515,2635,5.138,2934,5.749,3027,6.477,3037,5.068,3038,6.29,3041,5.068,3042,6.177,3050,5.988,3081,7.174,3126,7.011,3611,9.598,4310,5.181,4311,7.461,4312,6.567,4315,6.616,5384,7.721,5385,7.721,5394,9.971,5395,7.721,5396,7.721,5397,7.721,5398,9.054,5399,7.721]],["title/injectables/ColumnBoardService.html",[589,0.926,2019,5.202]],["body/injectables/ColumnBoardService.html",[0,0.143,3,0.008,4,0.008,5,0.004,7,0.058,8,0.752,10,2.61,12,2.942,26,2.471,27,0.472,29,0.92,30,0.001,31,0.672,32,0.15,33,0.549,34,1.694,35,1.358,36,2.702,47,0.883,49,1.568,83,3.321,95,0.13,99,0.85,101,0.005,103,0,104,0,129,1.948,130,1.136,135,1.749,148,1.089,153,2.155,155,3.882,158,1.531,183,3.073,228,1.46,277,0.597,317,2.964,430,3.739,431,3.897,433,0.804,574,2.342,579,1.189,589,0.87,591,0.989,615,3.966,652,2.146,653,1.715,657,2.52,734,2.738,756,1.643,1041,2.832,1472,2.322,1842,1.891,1853,1.358,2019,4.885,2031,7.605,2048,2.651,2050,4.807,2218,1.855,2219,2.088,2220,2.015,2369,2.322,2609,2.039,2635,4.734,2651,2.983,2881,3.113,2934,4.301,3035,6.326,3096,4.621,3115,6.096,3173,3.846,3397,3.11,3398,7.424,3408,5.486,3409,3.846,3410,3.846,3411,6.041,3413,7.46,3414,3.846,3530,2.676,3592,6.041,3610,6.041,3611,8.621,3678,8.246,3774,5.486,3847,8.941,3983,3.644,4212,2.426,4434,5.723,4438,2.157,4456,3.372,4463,5.672,4464,3.846,4815,2.789,4816,2.832,5400,11.332,5407,3.846,5447,4.153,5448,6.524,5449,6.524,5450,6.524,5451,6.524,5452,4.153,5453,6.524,5454,4.153,5455,6.524,5456,4.153,5457,6.524,5458,4.153,5459,6.041,5460,6.524,5461,4.153,5462,6.524,5463,4.153,5464,6.524,5465,4.153,5466,4.153,5467,6.524,5468,4.153,5469,4.153,5470,6.524,5471,4.153,5472,4.153,5473,4.153,5474,4.153,5475,4.153,5476,6.524,5477,4.153,5478,6.524,5479,4.153,5480,4.153,5481,4.153,5482,4.153,5483,4.153,5484,4.153,5485,4.153,5486,4.153,5487,4.153,5488,4.153,5489,9.128,5490,8.056,5491,4.153,5492,4.153,5493,4.153,5494,4.153,5495,6.524,5496,4.153,5497,4.153,5498,4.153,5499,4.153,5500,4.153,5501,4.153,5502,4.153,5503,4.153,5504,4.153,5505,4.153,5506,4.153,5507,4.153,5508,4.153,5509,6.524,5510,4.153,5511,4.153,5512,6.524,5513,6.524,5514,4.153,5515,4.153,5516,4.153,5517,4.153,5518,4.153,5519,4.153,5520,4.153,5521,4.153,5522,4.153,5523,4.153,5524,4.153,5525,6.524,5526,6.524,5527,4.153,5528,6.524,5529,6.524,5530,4.153,5531,4.153,5532,4.153,5533,6.524,5534,4.153,5535,3.644,5536,4.153,5537,4.153,5538,4.153,5539,4.153,5540,3.846]],["title/entities/ColumnBoardTarget.html",[205,1.416,2935,4.989]],["body/entities/ColumnBoardTarget.html",[0,0.273,3,0.015,4,0.015,5,0.007,7,0.111,26,2.393,27,0.458,30,0.001,32,0.145,47,0.825,49,4.388,95,0.146,96,2.086,99,1.619,101,0.014,103,0.001,104,0.001,112,0.813,129,2.362,130,2.164,148,1.029,153,1.298,155,3.918,158,2.915,190,2.087,195,1.731,197,3.233,205,2.121,206,2.573,223,4.09,224,2.298,225,3.997,226,3.585,231,1.371,232,2.144,233,2.469,527,3.349,569,3.23,574,4.46,595,2.986,653,3.266,1237,2.332,1842,4.738,2031,6.196,2050,5.206,2908,9.729,2911,3.657,2924,6.703,2935,8.871,3013,7.98,3014,7.695,3025,3.795,3026,9.635,3884,5.096,5435,5.924,5541,11.437,5542,7.91,5543,10.766,5544,7.91,5545,7.91,5546,7.91,5547,10.404,5548,7.91,5549,7.91,5550,5.033,5551,5.164,5552,7.91,5553,7.91]],["title/injectables/ColumnBoardTargetService.html",[589,0.926,5554,5.842]],["body/injectables/ColumnBoardTargetService.html",[0,0.252,3,0.014,4,0.014,5,0.007,7,0.103,8,1.139,26,2.711,27,0.44,29,0.857,30,0.001,31,0.626,32,0.139,33,0.511,34,1.687,35,1.143,36,2.533,95,0.147,96,2.605,97,2.986,99,1.498,101,0.01,103,0,104,0,135,1.631,148,1.106,153,1.201,155,3.548,158,2.698,224,2.126,228,1.79,277,1.051,317,2.791,400,2.18,433,0.902,478,2.055,589,1.317,591,1.742,652,2.441,657,2.739,1932,5.257,2019,9.648,2050,5.047,2444,6.641,2474,5.884,2935,7.096,2980,5.426,3013,5.613,3601,6.533,3639,6.778,3659,5.613,4128,6.778,5543,6.778,5554,8.308,5555,11.973,5556,7.319,5557,9.879,5558,9.879,5559,7.319,5560,9.879,5561,7.319,5562,10.356,5563,9.879,5564,7.319,5565,11.183,5566,7.319,5567,7.319,5568,9.879,5569,7.319,5570,7.319,5571,7.319,5572,7.319,5573,7.319,5574,7.319,5575,7.319]],["title/controllers/ColumnController.html",[314,2.659,3000,6.094]],["body/controllers/ColumnController.html",[0,0.167,3,0.009,4,0.009,5,0.004,7,0.068,8,0.849,10,3.556,27,0.39,29,0.76,30,0.001,31,0.555,32,0.177,33,0.453,35,1.148,36,2.539,59,1.508,95,0.137,100,1.695,101,0.006,103,0,104,0,135,1.159,148,0.48,153,1.207,155,2.335,190,1.781,194,1.9,197,2.047,202,1.116,228,1.334,274,2.03,277,0.698,314,1.859,316,2.343,317,2.796,325,6.485,337,7.375,342,7.834,345,8.62,349,6.875,379,5.049,388,4.253,389,3.171,390,6.286,391,8.298,392,2.539,393,2.398,395,2.612,398,2.632,400,1.447,401,5.546,402,4.799,652,0.99,657,2.269,675,2.473,734,3.09,871,2.695,1351,7.157,2654,6.347,2923,5.65,2934,5.69,2993,7.216,2995,7.216,3000,6.458,3005,2.293,3096,5.099,3181,7.123,3183,5.512,3185,7.427,3186,7.427,3189,7.834,3191,7.001,3204,8.834,3205,8.052,3206,4.261,3209,2.505,3210,3.262,3211,2.673,3218,3.943,3228,6.513,3229,6.656,3232,4.261,3515,3.637,3564,7.136,3681,5.287,4091,8.231,4354,3.129,4361,4.084,4368,4.498,4373,4.261,4397,5.976,4437,6.19,5576,4.857,5577,8.231,5578,6.817,5579,8.231,5580,4.857,5581,11.455,5582,10.781,5583,9.917,5584,4.857,5585,4.498,5586,4.857,5587,4.857,5588,4.857,5589,4.857,5590,4.857,5591,4.857,5592,8.701,5593,4.857,5594,4.857,5595,4.857,5596,4.857,5597,4.857,5598,6.817,5599,4.857,5600,4.857,5601,4.857,5602,4.857,5603,4.857,5604,9.917,5605,4.857,5606,4.857,5607,4.857,5608,4.857,5609,4.857,5610,4.857,5611,4.857,5612,4.857]],["title/entities/ColumnNode.html",[205,1.416,3446,5.64]],["body/entities/ColumnNode.html",[0,0.333,3,0.018,4,0.018,5,0.009,30,0.001,32,0.12,95,0.156,96,2.547,101,0.013,103,0.001,104,0.001,134,3.414,135,1.26,148,0.956,205,2.408,206,3.142,224,2.807,231,1.675,232,2.618,457,5.359,1770,5.165,2108,4.217,2635,5.637,2688,5.448,3419,6.307,3429,7.035,3446,9.59,3501,5.874,3514,10.939,3563,6.588,3872,7.411,3874,7.181,3894,5.937,4401,6.074,4403,6.074,5434,8.477,5613,9.662]],["title/interfaces/ColumnProps.html",[159,0.714,5382,6.094]],["body/interfaces/ColumnProps.html",[0,0.303,3,0.017,4,0.017,5,0.008,7,0.124,30,0.001,32,0.139,36,1.861,47,0.941,95,0.14,101,0.016,103,0.001,104,0.001,112,0.87,122,1.835,134,3.108,135,1.147,148,1.21,155,4.299,158,3.241,159,0.904,161,2.089,231,2.119,317,1.905,527,3.723,567,3.343,569,2.73,653,4.6,657,2.012,1770,3.56,1842,5.073,2050,3.707,2635,5.316,2934,6.529,3027,6.702,3037,5.346,3038,6.508,3041,5.346,3042,6.391,3050,6.316,3081,7.356,3096,6.391,3124,7.395,4310,5.464,4311,7.72,4312,6.927,4315,6.846,5375,8.144,5380,8.144,5381,8.144,5382,9.774,5383,8.144]],["title/classes/ColumnResponse.html",[0,0.239,3213,5.64]],["body/classes/ColumnResponse.html",[0,0.287,2,0.887,3,0.016,4,0.016,5,0.008,7,0.117,27,0.513,29,0.639,30,0.001,31,0.467,32,0.166,33,0.545,34,2.229,47,0.895,95,0.144,101,0.011,103,0.001,104,0.001,112,0.841,125,1.984,155,4.139,190,2.263,202,1.915,296,3.491,298,3.607,304,4.117,433,1.327,458,3.336,821,4.245,866,4.141,2895,7.553,3020,5.879,3023,6.69,3025,4,3096,4.783,3165,5.443,3166,5.749,3167,5.749,3213,10.593,3523,10.007,3972,6.841,3976,5.443,3978,5.443,4473,10.598,5614,8.338,5615,8.338,5616,8.338,5617,8.338,5618,8.338,5619,8.338,5620,8.338,5621,8.338]],["title/classes/ColumnResponseMapper.html",[0,0.239,3217,5.842]],["body/classes/ColumnResponseMapper.html",[0,0.302,2,0.931,3,0.017,4,0.017,5,0.008,7,0.123,8,1.281,27,0.345,29,0.671,30,0.001,31,0.49,32,0.138,33,0.4,34,1.495,35,1.013,95,0.139,100,3.056,101,0.011,103,0.001,104,0.001,135,1.142,141,4.764,148,1.099,153,2.105,155,2.778,277,1.258,430,3.586,467,3.553,571,3.464,579,2.506,653,3.615,829,5.164,830,6.162,835,6.715,1368,4.937,1853,2.864,2098,6.557,2467,5.267,2895,5.068,2934,7.073,3047,5.504,3096,7.001,3213,10.42,3217,9.342,3329,6.289,3523,6.715,3530,5.641,3972,6.373,3987,7.682,3988,6.174,4425,7.682,4427,7.363,4446,6.897,4473,9.342,5622,11.11,5623,11.11,5624,8.108,5625,7.682,5626,8.756,5627,8.756,5628,8.756,5629,8.756,5630,8.756]],["title/injectables/ColumnService.html",[589,0.926,3845,5.64]],["body/injectables/ColumnService.html",[0,0.227,3,0.012,4,0.012,5,0.006,7,0.092,8,1.058,10,3.672,12,4.14,26,2.356,27,0.491,29,0.955,30,0.001,31,0.698,32,0.155,33,0.57,34,1.123,35,1.393,36,2.842,47,0.751,49,2.482,55,2.123,59,2.042,83,2.673,95,0.142,99,1.346,101,0.009,103,0,104,0,135,1.379,148,0.908,153,1.877,155,3.819,228,1.663,277,0.945,317,3.027,400,1.958,430,2.693,431,2.808,433,0.81,574,3.708,589,1.224,591,1.565,652,1.34,657,2.853,734,3.853,1853,2.151,2031,7.622,2050,2.772,2609,3.228,2934,7.562,3035,4.557,3397,4.924,3398,8.792,3620,5.79,3678,9.584,3681,6.593,3687,8.777,3691,5.53,3845,7.452,4102,7.719,4122,10.598,4434,8.053,4436,8.053,4456,5.339,4463,4.086,5625,5.769,5631,6.576,5632,6.576,5633,6.576,5634,9.179,5635,6.576,5636,9.179,5637,6.576,5638,9.179,5639,6.576,5640,9.179,5641,6.576,5642,6.576,5643,6.576,5644,6.576,5645,6.576,5646,6.576,5647,6.576]],["title/injectables/ColumnUc.html",[589,0.926,2995,5.64]],["body/injectables/ColumnUc.html",[0,0.175,3,0.01,4,0.01,5,0.005,7,0.072,8,0.879,26,2.955,27,0.479,29,0.933,30,0.001,31,0.682,32,0.152,33,0.556,35,1.37,36,2.682,39,3.563,47,0.649,55,1.836,59,2.368,95,0.135,99,1.042,101,0.007,103,0,104,0,113,4.852,135,1.489,148,0.504,155,3.451,228,1.971,231,1.322,277,0.731,317,2.965,433,0.94,436,2.71,589,1.017,591,1.212,610,2.006,652,1.864,657,3.045,688,2.403,1027,1.56,1197,6.746,1792,7.038,1793,3.37,1853,1.665,1862,6.321,1935,3.419,1967,5.588,2445,3.807,2446,4.744,2635,5.448,2636,8.757,2638,6.007,2639,6.007,2640,3.73,2641,8.437,2643,3.905,2644,5.588,2645,5.478,2647,4.01,2648,6.048,2650,4.01,2651,5.478,2653,2.354,2667,8.342,2934,6.096,2995,6.192,3096,6.24,3405,3.812,3687,8.342,3844,9.325,3845,9.611,4102,10.964,4107,4.133,4108,4.133,4109,4.133,4112,4.133,4113,4.133,4115,7.294,4121,8.468,4323,8.023,4387,3.905,4437,8.54,4438,5.273,4446,8,4450,8.468,4513,4.715,5577,8.468,5578,8.468,5579,8.468,5648,5.091,5649,5.091,5650,7.627,5651,5.091,5652,7.627,5653,5.091,5654,7.627,5655,10.156,5656,5.091,5657,7.627,5658,5.091,5659,5.091,5660,5.091,5661,5.091,5662,5.091,5663,5.091,5664,5.091]],["title/classes/ColumnUrlParams.html",[0,0.239,5581,6.094]],["body/classes/ColumnUrlParams.html",[0,0.415,2,1.061,3,0.019,4,0.019,5,0.009,7,0.14,27,0.393,30,0.001,32,0.124,34,2.057,47,0.855,95,0.137,101,0.013,103,0.001,104,0.001,112,0.941,157,2.296,190,1.791,194,4.711,195,2.635,196,3.984,197,3.349,200,3.056,202,2.291,296,3.147,855,4.875,2934,6.43,4102,10.879,4150,6.063,5581,10.565,5665,9.974,5666,9.974]],["title/entities/ColumnboardBoardElement.html",[205,1.416,2933,5.328]],["body/entities/ColumnboardBoardElement.html",[0,0.33,3,0.018,4,0.018,5,0.009,7,0.134,27,0.377,30,0.001,32,0.119,95,0.145,96,2.523,101,0.013,103,0.001,104,0.001,112,0.917,190,1.718,205,2.394,206,3.112,224,2.78,231,1.659,232,2.593,457,5.308,2050,5.356,2688,5.396,2908,9.25,2930,8.28,2932,8.048,2933,9.007,2934,5.11,2935,9.515,2936,8.396,2980,6.004,3293,7.34,3326,9.875,5541,10.875,5667,9.57,5668,11.743,5669,9.57,5670,4.494,5671,8.396]],["title/interfaces/CommonCartridgeConfig.html",[159,0.714,5672,6.094]],["body/interfaces/CommonCartridgeConfig.html",[3,0.02,4,0.02,5,0.01,7,0.151,30,0.001,32,0.134,101,0.014,103,0.001,104,0.001,112,0.982,122,2.783,159,1.102,161,2.546,5672,11.029,5673,6.998,5674,6.998,5675,10.72,5676,12.741]],["title/interfaces/CommonCartridgeElement.html",[159,0.714,5677,4.598]],["body/interfaces/CommonCartridgeElement.html",[3,0.02,4,0.02,5,0.01,7,0.149,8,1.438,27,0.416,30,0.001,35,1.224,101,0.014,103,0.001,104,0.001,159,1.088,161,2.512,1078,5.469,1211,8.827,5673,8.143,5674,8.143,5677,8.255,5678,7.841,5679,10.579,5680,10.579]],["title/injectables/CommonCartridgeExportService.html",[589,0.926,5681,5.842]],["body/injectables/CommonCartridgeExportService.html",[0,0.143,3,0.008,4,0.008,5,0.004,7,0.058,8,0.753,26,2.683,27,0.434,29,0.844,30,0.001,31,0.617,32,0.157,33,0.504,35,1.219,36,2.229,39,3.049,47,0.833,95,0.134,99,0.851,101,0.005,103,0,104,0,110,3.432,125,1.919,135,1.623,141,2.8,148,1.129,153,0.682,155,3.722,228,1.461,277,0.597,317,2.542,388,1.783,417,3.651,433,0.805,478,1.167,533,3.486,589,0.87,591,0.99,641,3.713,652,2.699,657,2.271,1396,6.787,1821,3.168,2016,3.648,2017,6.972,2026,5.859,2032,4.46,2046,3.113,2047,2.986,2202,6.479,2392,3.484,2928,4.821,3290,3.496,3291,3.496,3383,4.206,4188,4.524,4692,4.206,4776,3.046,5002,5.301,5198,4.012,5678,7.376,5681,5.49,5682,11.409,5683,4.158,5684,8.061,5685,8.061,5686,5.728,5687,8.061,5688,6.529,5689,8.061,5690,7.512,5691,8.25,5692,4.158,5693,4.158,5694,8.986,5695,7.18,5696,9.031,5697,4.158,5698,4.158,5699,4.158,5700,6.046,5701,4.158,5702,4.158,5703,6.329,5704,4.158,5705,4.012,5706,6.183,5707,6.529,5708,4.158,5709,6.529,5710,4.158,5711,4.158,5712,7.072,5713,2.986,5714,4.158,5715,3.85,5716,3.376,5717,3.814,5718,6.046,5719,4.158,5720,4.158,5721,4.158,5722,3.275,5723,4.158,5724,3.275,5725,4.158,5726,4.158,5727,4.158,5728,4.158,5729,2.364,5730,4.158,5731,4.158,5732,5.301,5733,6.529,5734,4.158,5735,3.376,5736,4.206,5737,4.158,5738,5.301,5739,4.158,5740,4.158,5741,4.801,5742,4.158,5743,6.529,5744,6.529,5745,3.85,5746,2.714,5747,2.835,5748,9.925,5749,6.529,5750,6.779,5751,6.529,5752,6.046,5753,8.061,5754,2.986,5755,5.728,5756,6.046,5757,6.046,5758,4.784,5759,4.158,5760,2.986,5761,4.158,5762,5.49,5763,5.728,5764,5.728,5765,2.986,5766,6.529,5767,6.529,5768,4.158,5769,3.85,5770,4.158,5771,4.158,5772,4.158,5773,4.158,5774,6.529,5775,4.158,5776,6.529,5777,4.158,5778,4.158,5779,3.648,5780,4.158,5781,4.158,5782,4.158]],["title/interfaces/CommonCartridgeFile.html",[159,0.714,5783,5.472]],["body/interfaces/CommonCartridgeFile.html",[3,0.019,4,0.019,5,0.009,7,0.144,8,1.41,27,0.481,30,0.001,35,1.415,47,0.868,101,0.013,103,0.001,104,0.001,122,2.551,159,1.051,161,2.429,2392,5.168,5673,8.537,5674,8.537,5678,8.221,5783,9.63,5784,10.228,5785,11.001,5786,10.228,5787,10.228]],["title/classes/CommonCartridgeFileBuilder.html",[0,0.239,5694,5.472]],["body/classes/CommonCartridgeFileBuilder.html",[0,0.269,2,0.559,3,0.01,4,0.01,5,0.012,7,0.074,8,0.9,27,0.483,29,0.714,30,0.001,31,0.522,32,0.128,33,0.426,35,1.078,36,1.971,47,0.732,95,0.136,101,0.014,103,0,104,0,112,0.61,129,3.079,130,2.821,135,1.507,148,1.142,153,2.195,155,2.476,159,0.802,228,2.462,317,2.018,400,1.564,433,0.962,435,3.251,507,4.854,540,2.741,652,2.75,1211,3.383,1237,2.746,1396,5.028,1835,5.284,2048,3.785,2202,6.732,3473,5.028,5673,8.195,5674,8.195,5677,6.165,5678,8.413,5694,6.148,5695,4.026,5696,5.409,5706,9.172,5717,6.438,5722,6.148,5724,6.148,5732,6.336,5736,7.441,5738,4.263,5747,5.322,5788,4.416,5789,9.376,5790,8.681,5791,7.909,5792,8.672,5793,7.227,5794,7.227,5795,4.263,5796,8.672,5797,7.805,5798,5.251,5799,5.251,5800,8.672,5801,5.251,5802,7.833,5803,9.376,5804,5.251,5805,9.709,5806,7.833,5807,5.251,5808,5.251,5809,4.263,5810,4.263,5811,4.027,5812,3.58,5813,3.771,5814,6.148,5815,6.336,5816,4.136,5817,4.136,5818,5.606,5819,6.563,5820,4.263,5821,4.416,5822,4.416,5823,4.416,5824,8.672,5825,4.416,5826,6.563,5827,4.416,5828,4.416,5829,6.563,5830,4.416,5831,4.416,5832,4.416,5833,4.416,5834,4.416,5835,4.416,5836,4.416,5837,4.416,5838,4.416,5839,4.416,5840,4.416,5841,4.263,5842,4.416,5843,4.416,5844,4.416,5845,4.416,5846,4.416,5847,4.416,5848,4.416,5849,4.416]],["title/classes/CommonCartridgeLtiResource.html",[0,0.239,5850,6.094]],["body/classes/CommonCartridgeLtiResource.html",[0,0.22,2,0.678,3,0.012,4,0.012,5,0.008,7,0.09,8,1.036,27,0.444,29,0.489,30,0.001,31,0.357,32,0.141,33,0.291,35,1.204,47,0.901,95,0.129,101,0.012,103,0,104,0,110,2.205,122,1.875,129,1.904,135,0.832,148,1.029,155,2.85,157,2.068,197,1.773,228,1.628,232,1.728,400,1.899,433,0.786,435,3.135,652,1.3,1078,3.939,1211,7.275,1237,2.649,1393,3.626,1396,5.788,2037,4.057,2202,7.371,2392,4.307,4311,4.419,5673,7.77,5674,7.77,5677,6.884,5678,8.144,5695,3.289,5696,6.226,5716,5.177,5717,6.076,5750,7.555,5762,5.363,5783,8.193,5785,9.167,5791,7.977,5811,4.891,5812,4.348,5813,4.58,5850,7.882,5851,10.009,5852,5.595,5853,10.456,5854,6.377,5855,5.905,5856,6.377,5857,6.377,5858,5.363,5859,5.905,5860,6.377,5861,6.377,5862,5.595,5863,6.377,5864,6.377,5865,6.377,5866,5.595,5867,5.595,5868,3.963,5869,5.595,5870,6.377,5871,5.177,5872,6.377,5873,7.555,5874,6.377,5875,6.377,5876,8.319,5877,6.377,5878,6.377,5879,6.377,5880,5.595,5881,8.984,5882,8.984,5883,8.984,5884,8.984,5885,8.984,5886,8.984,5887,8.984,5888,8.984,5889,8.984,5890,6.377,5891,6.377,5892,6.377,5893,6.377,5894,5.946,5895,8.984,5896,8.984,5897,8.984,5898,8.984,5899,6.377,5900,6.377,5901,6.377,5902,6.377,5903,6.377,5904,5.177,5905,5.177,5906,5.595]],["title/classes/CommonCartridgeManifestElement.html",[0,0.239,5814,5.472]],["body/classes/CommonCartridgeManifestElement.html",[0,0.238,2,0.734,3,0.013,4,0.013,5,0.006,7,0.097,8,1.095,27,0.374,29,0.529,30,0.001,31,0.387,32,0.118,33,0.316,35,0.799,47,0.49,95,0.14,101,0.012,103,0,104,0,129,2.061,131,5.525,135,0.901,148,0.939,153,2.077,228,2.118,232,1.871,433,1.17,435,3.313,652,2.382,1078,4.163,1211,7.529,1237,2.799,1393,3.926,1396,6.991,2037,4.392,2048,4.409,5673,7.083,5674,7.083,5677,8.872,5678,8.305,5696,4.784,5717,7.157,5736,7.893,5747,4.707,5762,5.805,5790,9.65,5812,4.707,5813,4.958,5814,7.478,5815,9.947,5818,4.958,5862,8.329,5866,8.329,5867,8.329,5868,5.899,5869,8.329,5904,7.708,5907,5.438,5908,11.686,5909,10.851,5910,10.821,5911,6.393,5912,6.904,5913,6.057,5914,6.057,5915,8.329,5916,6.057,5917,9.494,5918,6.904,5919,9.494,5920,9.494,5921,9.494,5922,9.494,5923,9.494,5924,6.904,5925,9.494,5926,6.904,5927,6.904,5928,6.904,5929,6.904,5930,9.494,5931,9.494,5932,9.494,5933,9.494,5934,9.494,5935,9.494,5936,6.904,5937,6.904,5938,6.904]],["title/classes/CommonCartridgeMetadataElement.html",[0,0.239,5913,6.094]],["body/classes/CommonCartridgeMetadataElement.html",[0,0.294,2,0.908,3,0.016,4,0.016,5,0.008,7,0.12,8,1.26,27,0.43,29,0.654,30,0.001,31,0.478,32,0.136,33,0.39,35,0.988,47,0.856,59,2.649,95,0.125,101,0.014,103,0.001,104,0.001,131,6.139,148,0.844,155,2.707,228,1.546,232,2.312,400,2.541,433,1.052,435,3.814,1078,4.792,1211,8.191,1237,3.222,4002,6.128,4311,5.913,5673,7.87,5674,7.87,5677,7.98,5678,8.452,5695,4.401,5696,7.573,5717,7.043,5722,6.721,5724,6.721,5812,5.818,5813,6.128,5880,7.486,5907,6.721,5910,11.773,5911,7.901,5913,9.587,5939,8.533,5940,8.533,5941,8.533,5942,8.533,5943,8.533,5944,8.533,5945,10.928,5946,8.533,5947,8.533,5948,8.533,5949,8.533,5950,8.533,5951,8.533]],["title/classes/CommonCartridgeOrganizationBuilder.html",[0,0.239,5820,5.64]],["body/classes/CommonCartridgeOrganizationBuilder.html",[0,0.29,2,0.62,3,0.011,4,0.011,5,0.011,7,0.082,8,0.972,27,0.427,29,0.646,30,0.001,31,0.472,32,0.123,33,0.385,35,0.675,36,1.783,47,0.77,95,0.141,101,0.014,103,0,104,0,135,1.563,148,1.186,153,2.148,155,2.673,159,0.866,228,2.293,232,1.58,317,1.263,400,1.737,433,1.039,435,3.454,507,3.712,540,2.048,652,2.519,735,3.838,1211,3.757,1237,2.918,1396,5.43,1835,4.318,2048,4.022,2202,7.507,3473,5.43,5673,7.507,5674,7.507,5677,6.55,5678,8.23,5694,4.593,5695,4.347,5696,5.84,5706,9.479,5717,6.719,5722,6.638,5724,6.638,5732,6.842,5736,7.722,5738,4.734,5747,7.392,5788,4.903,5789,8.802,5790,7.795,5791,8.315,5792,9.117,5796,7.087,5800,9.671,5802,7.087,5803,9.731,5805,10.273,5806,7.087,5809,4.734,5810,4.734,5811,4.472,5812,3.976,5813,4.188,5814,6.638,5815,6.842,5816,4.593,5817,4.593,5818,6.053,5819,8.322,5820,6.842,5821,4.903,5822,4.903,5823,4.903,5824,9.117,5825,4.903,5826,7.087,5827,4.903,5828,4.903,5829,7.087,5830,4.903,5831,4.903,5832,4.903,5833,4.903,5834,4.903,5835,4.903,5836,4.903,5837,4.903,5838,4.903,5839,4.903,5840,4.903,5841,4.734,5842,4.903,5843,4.903,5844,4.903,5845,4.903,5846,4.903,5847,4.903,5848,4.903,5849,4.903,5952,7.804,5953,5.831,5954,5.831,5955,5.831,5956,5.831,5957,5.831,5958,5.831]],["title/classes/CommonCartridgeOrganizationItemElement.html",[0,0.239,5816,5.472]],["body/classes/CommonCartridgeOrganizationItemElement.html",[0,0.292,2,0.902,3,0.016,4,0.016,5,0.008,7,0.119,8,1.255,27,0.428,29,0.65,30,0.001,31,0.475,32,0.136,33,0.388,35,0.981,47,0.853,95,0.137,101,0.014,103,0.001,104,0.001,148,1.077,155,3.813,228,1.536,232,2.298,400,2.525,433,1.045,435,3.798,1078,4.772,1211,8.171,1237,3.209,1396,7.745,2048,3.445,2476,6.503,3473,8.451,4311,5.876,5673,7.847,5674,7.847,5677,7.956,5678,8.245,5695,4.373,5706,8.347,5717,6.358,5718,10.079,5736,5.463,5747,8.196,5752,7.851,5803,10.297,5812,5.781,5816,8.573,5818,6.09,5876,7.851,5904,6.883,5907,6.678,5959,8.478,5960,8.478,5961,8.478,5962,8.478]],["title/classes/CommonCartridgeOrganizationWrapperElement.html",[0,0.239,5914,6.094]],["body/classes/CommonCartridgeOrganizationWrapperElement.html",[0,0.308,2,0.95,3,0.017,4,0.017,5,0.008,7,0.125,8,1.297,27,0.443,29,0.684,30,0.001,31,0.5,32,0.111,33,0.408,35,1.034,95,0.102,101,0.012,103,0.001,104,0.001,148,0.883,228,1.619,400,2.66,433,1.101,756,3.533,1078,4.933,1211,8.329,1237,3.317,1396,7.248,3473,7.248,5673,8.04,5674,8.04,5677,9.004,5678,8.127,5717,5.218,5747,8.815,5812,6.09,5907,7.035,5914,9.87,5915,10.805,5963,8.931,5964,8.271,5965,11.25,5966,8.271,5967,8.931,5968,6.415,5969,8.931,5970,8.271,5971,8.931,5972,8.931,5973,8.931]],["title/classes/CommonCartridgeResourceItemElement.html",[0,0.239,5817,5.472]],["body/classes/CommonCartridgeResourceItemElement.html",[0,0.236,2,0.728,3,0.013,4,0.013,5,0.006,7,0.096,8,1.088,27,0.481,29,0.524,30,0.001,31,0.383,32,0.135,33,0.313,35,1.25,47,0.67,95,0.148,101,0.012,103,0,104,0,112,0.737,122,1.969,148,1.069,153,1.91,158,2.523,228,1.958,232,2.558,433,0.844,435,2.389,579,1.959,652,2.202,1078,4.138,1211,7.502,1237,2.783,2202,7.601,2369,3.827,2392,4.659,3473,8.135,4679,7.078,5673,8.243,5674,8.243,5677,7.706,5678,8.67,5706,8.93,5712,8.28,5716,5.557,5717,7.377,5755,6.005,5763,6.005,5764,6.005,5783,9.171,5785,9.453,5791,9.368,5811,5.25,5812,4.667,5813,4.916,5817,7.434,5818,9.611,5850,6.005,5851,5.756,5853,8.74,5858,5.756,5859,6.338,5907,5.391,5974,9.084,5975,9.438,5976,6.845,5977,6.845,5978,6.845,5979,6.005,5980,7.662,5981,6.005,5982,8.74,5983,10.802,5984,6.845,5985,6.845,5986,6.845,5987,6.845,5988,6.845,5989,6.845,5990,6.845]],["title/classes/CommonCartridgeResourceWrapperElement.html",[0,0.239,5916,6.094]],["body/classes/CommonCartridgeResourceWrapperElement.html",[0,0.325,2,1.004,3,0.018,4,0.018,5,0.009,7,0.133,8,1.342,27,0.458,29,0.723,30,0.001,31,0.528,32,0.118,33,0.431,35,1.092,95,0.108,101,0.012,103,0.001,104,0.001,148,0.933,228,1.71,400,2.81,433,1.163,1078,5.104,1211,8.493,1237,3.432,5673,8.242,5674,8.242,5677,9.128,5678,8.287,5717,5.512,5812,6.433,5818,9.468,5907,7.432,5915,11.076,5916,10.213,5964,8.737,5966,8.737,5991,9.435,5992,11.641,5993,9.435,5994,9.435]],["title/classes/CommonCartridgeWebContentResource.html",[0,0.239,5979,6.094]],["body/classes/CommonCartridgeWebContentResource.html",[0,0.268,2,0.827,3,0.015,4,0.015,5,0.009,7,0.109,8,1.186,27,0.483,29,0.595,30,0.001,31,0.435,32,0.153,33,0.355,35,1.334,47,0.93,95,0.131,101,0.013,103,0,104,0,122,2.146,148,1.14,155,2.466,197,2.161,228,1.409,232,2.106,400,2.315,433,0.958,435,3.589,1078,4.509,1211,7.903,1237,3.032,1396,6.626,2392,5.24,5673,8.328,5674,8.328,5677,7.628,5678,8.533,5695,4.009,5696,7.127,5712,10.761,5715,9.524,5716,6.31,5717,6.733,5750,8.648,5755,6.819,5756,9.524,5757,7.198,5758,5.695,5783,9.079,5785,9.958,5812,5.3,5813,5.583,5852,6.819,5855,7.198,5858,6.536,5904,6.31,5905,6.31,5906,6.819,5979,9.022,5980,10.358,5995,7.198,5996,7.772,5997,7.772,5998,7.772,5999,7.772]],["title/classes/CommonCartridgeWebLinkResourceElement.html",[0,0.239,5981,6.094]],["body/classes/CommonCartridgeWebLinkResourceElement.html",[0,0.236,2,0.729,3,0.013,4,0.013,5,0.009,7,0.096,8,1.09,27,0.459,29,0.525,30,0.001,31,0.384,32,0.145,33,0.313,35,1.251,47,0.897,95,0.133,101,0.012,103,0,104,0,110,3.267,122,1.972,129,2.047,135,0.894,148,1.153,155,2.997,197,1.907,228,1.712,232,1.858,400,2.042,433,0.845,435,3.298,652,1.398,1078,4.143,1211,7.507,1237,2.786,1393,3.899,1396,6.088,2037,4.362,2202,7.606,2369,6.834,2392,4.444,2980,3.107,4311,4.752,5673,7.978,5674,7.978,5677,7.156,5678,8.291,5695,3.537,5696,6.548,5716,5.567,5717,6.316,5750,9.092,5762,5.766,5763,6.015,5764,6.015,5783,8.516,5785,9.46,5791,8.292,5811,5.259,5812,4.675,5813,4.925,5841,7.671,5852,6.015,5858,5.766,5862,8.29,5866,8.29,5867,8.29,5868,5.871,5869,8.29,5873,5.766,5880,6.015,5904,5.567,5905,5.567,5906,6.015,5980,9.922,5981,8.29,5982,10.79,5995,6.349,6000,6.856,6001,6.856,6002,6.856,6003,10.812,6004,6.856,6005,6.856,6006,6.856,6007,6.856,6008,9.449,6009,9.449,6010,6.856,6011,9.449,6012,6.856]],["title/modules/CommonToolModule.html",[252,1.836,6013,5.202]],["body/modules/CommonToolModule.html",[0,0.274,3,0.015,4,0.015,5,0.007,30,0.001,95,0.147,101,0.01,103,0.001,104,0.001,206,2.588,252,3.081,254,2.866,255,3.035,256,3.113,257,3.101,258,3.09,259,4.241,260,4.341,265,6.1,269,4.086,270,3.057,271,2.993,276,4.086,277,1.143,279,3.326,610,3.136,703,2.471,1027,2.438,1829,3.383,1831,5.267,1912,10.349,1938,4.28,2069,4.739,2547,5.002,2806,4.649,6013,10.883,6014,7.957,6015,7.957,6016,7.957,6017,7.957,6018,8.86,6019,10.832,6020,11.125,6021,10.576,6022,7.957,6023,6.46,6024,7.957,6025,7.957,6026,7.957,6027,6.692]],["title/injectables/CommonToolService.html",[589,0.926,6019,5.328]],["body/injectables/CommonToolService.html",[0,0.33,3,0.013,4,0.013,5,0.006,7,0.098,8,1.103,27,0.429,29,0.836,30,0.001,31,0.611,32,0.136,33,0.499,35,1.263,80,5.224,95,0.148,101,0.009,102,3.698,103,0,104,0,122,2.449,135,0.91,148,1.161,153,1.144,159,0.717,183,4.477,195,2.691,197,3.034,277,1.002,412,4.231,589,1.275,591,1.66,614,3.36,652,2.224,703,2.166,711,3.764,886,2.195,1829,2.966,1882,2.661,1938,3.752,1940,4.554,2004,7.021,2005,6.799,2007,5.419,2034,6.458,2671,2.25,2749,6.831,6019,7.333,6028,10.869,6029,5.663,6030,10.103,6031,9.561,6032,9.561,6033,7.531,6034,6.46,6035,6.976,6036,9.01,6037,9.561,6038,6.46,6039,9.561,6040,7.745,6041,10.91,6042,6.46,6043,6.976,6044,5.866,6045,6.976,6046,8.041,6047,5.495,6048,4.918,6049,6.976,6050,9.561,6051,8.854,6052,8.854,6053,6.976,6054,6.976,6055,6.976,6056,6.976]],["title/injectables/CommonToolValidationService.html",[589,0.926,6020,5.472]],["body/injectables/CommonToolValidationService.html",[0,0.134,3,0.007,4,0.007,5,0.004,7,0.055,8,0.716,27,0.464,29,0.903,30,0.001,31,0.738,32,0.152,33,0.525,35,1.33,47,0.816,95,0.127,101,0.008,103,0,104,0,112,0.485,122,2.138,125,2.996,129,1.164,130,1.698,135,1.499,148,0.386,153,1.763,183,1.487,194,1.525,195,1.928,197,3.276,277,0.56,329,2.37,338,6.297,347,1.998,388,5.249,393,1.925,417,4.928,467,2.251,567,1.482,569,3.994,579,2.754,589,0.827,591,0.928,614,2.381,652,2.764,653,2.562,695,2.801,703,1.211,711,3.037,886,1.227,1220,2.237,1882,1.487,1918,2.702,1985,2.423,2004,4.098,2005,4.041,2007,3.839,2033,6.91,2124,2.067,2233,2.659,2344,2.37,2671,4.06,2738,8.809,2749,4.351,2764,8.515,3566,5.219,4656,2.346,6020,4.888,6028,11.137,6057,3.071,6058,7.73,6059,6.206,6060,6.206,6061,6.206,6062,6.206,6063,6.206,6064,6.206,6065,6.206,6066,6.206,6067,6.206,6068,6.206,6069,13.352,6070,3.611,6071,3.421,6072,6.206,6073,3.899,6074,6.206,6075,11.781,6076,3.611,6077,6.206,6078,12.24,6079,3.899,6080,6.206,6081,3.899,6082,6.206,6083,3.899,6084,6.206,6085,3.611,6086,6.206,6087,12.24,6088,3.899,6089,6.206,6090,3.899,6091,4.76,6092,5.444,6093,6.206,6094,5.444,6095,5.444,6096,5.444,6097,5.444,6098,5.444,6099,3.899,6100,3.899,6101,2.702,6102,3.899,6103,3.899,6104,3.899,6105,3.899,6106,5.444,6107,2.92,6108,2.991,6109,3.899,6110,3.899,6111,3.899,6112,3.899,6113,3.899,6114,3.899,6115,3.899,6116,3.899,6117,3.611,6118,3.899,6119,2.3,6120,5.038,6121,3.899,6122,6.206,6123,3.899,6124,5.444,6125,3.899,6126,3.899,6127,5.038,6128,3.899,6129,3.899,6130,3.899,6131,3.899,6132,3.899,6133,3.421,6134,3.899,6135,7.73,6136,3.899,6137,3.611,6138,6.206,6139,3.279,6140,3.279,6141,3.899,6142,3.899,6143,3.899,6144,2.481]],["title/interfaces/ComponentEtherpadProperties.html",[159,0.714,6145,4.989]],["body/interfaces/ComponentEtherpadProperties.html",[0,0.157,3,0.009,4,0.009,5,0.004,7,0.135,26,2.135,30,0.001,31,0.393,32,0.136,47,0.987,55,2.082,95,0.141,96,1.205,101,0.017,103,0,104,0,110,3.944,112,0.549,122,1.466,125,1.672,134,1.615,135,1.66,145,1.713,148,1.259,153,1.576,155,3.618,157,2.521,158,1.684,159,1.21,161,1.085,195,1.873,196,1.512,197,1.954,205,1.432,223,3.22,224,1.327,225,2.699,226,2.071,229,1.808,231,0.792,232,1.238,233,1.426,277,0.656,290,1.081,371,3.725,527,1.934,579,2.011,595,1.725,613,4.105,652,1.432,653,1.887,711,1.354,789,2.495,886,1.438,1237,1.347,1312,2.146,1821,2.217,1842,3.2,1936,2.146,2026,2.23,2032,3.942,2050,1.926,2183,1.801,2392,4.177,2802,1.828,2881,4.084,2911,3.957,2915,3.897,2919,2.534,2924,4.527,2925,2.721,2926,4.604,2928,3.918,2929,4.417,2941,4.587,3045,3.751,3620,4.331,3727,5.381,3746,6.148,3882,3.222,3883,3.222,4394,4.144,4553,2.907,4617,2.051,5219,5.748,5550,2.907,5551,2.983,5670,2.146,5703,6.659,5713,3.282,5729,2.599,5736,4.527,5741,7.191,5754,3.282,5760,3.282,5765,3.282,6145,6.148,6146,3.348,6147,2.872,6148,6.177,6149,3.068,6150,5.515,6151,3.348,6152,4.47,6153,4.954,6154,4.791,6155,6.864,6156,5.046,6157,5.046,6158,3.282,6159,5.046,6160,5.046,6161,5.046,6162,3.348,6163,5.046,6164,3.068,6165,5.046,6166,5.046,6167,7.589,6168,3.348,6169,3.348,6170,3.348,6171,4.65,6172,4.527,6173,2.872,6174,3.222,6175,3.222,6176,3.348,6177,3.348,6178,3.348,6179,2.983,6180,5.148,6181,3.024,6182,6.035,6183,3.222,6184,5.148,6185,3.348,6186,3.348,6187,3.348,6188,3.167,6189,3.348,6190,3.348,6191,5.148,6192,4.791,6193,3.348,6194,3.348,6195,7.041,6196,6.272,6197,3.282,6198,6.148,6199,3.348,6200,3.348,6201,3.348,6202,3.348,6203,3.348,6204,3.348,6205,3.348,6206,3.348,6207,3.348,6208,3.348,6209,3.348,6210,3.167,6211,4.718,6212,3.348,6213,3.348]],["title/interfaces/ComponentGeogebraProperties.html",[159,0.714,6161,4.989]],["body/interfaces/ComponentGeogebraProperties.html",[0,0.16,3,0.009,4,0.009,5,0.004,7,0.136,26,2.15,30,0.001,31,0.398,32,0.121,47,0.973,55,2.097,95,0.141,96,1.224,101,0.017,103,0,104,0,110,3.351,112,0.556,122,1.484,125,1.693,134,1.641,135,1.666,145,1.741,148,1.264,153,1.589,155,3.074,157,1.99,158,1.711,159,1.216,161,1.103,195,1.892,196,1.536,197,1.978,205,1.45,223,3.243,224,1.349,225,2.733,226,2.104,229,1.837,231,0.805,232,1.258,233,1.449,277,0.667,290,1.098,371,3.771,527,1.966,579,2.036,595,1.753,613,4.155,652,1.45,653,1.917,711,1.376,789,2.535,886,1.461,1237,1.369,1312,2.18,1821,2.253,1842,3.239,1936,2.18,2026,2.266,2032,3.971,2050,1.957,2183,1.83,2392,4.204,2802,1.858,2881,4.126,2911,3.997,2915,3.945,2919,2.575,2924,4.583,2925,2.765,2926,4.65,2928,3.957,2929,4.471,2941,4.643,3045,3.798,3620,4.374,3727,5.435,3746,6.21,3882,3.274,3883,3.274,4394,4.195,4553,2.954,4617,2.084,5219,5.806,5550,2.954,5551,3.031,5670,2.18,5703,6.715,5713,3.335,5729,2.641,5736,4.583,5741,7.225,5754,3.335,5760,3.335,5765,3.335,6145,5.109,6146,3.402,6147,2.919,6148,6.222,6149,3.118,6150,5.57,6151,3.402,6152,4.526,6153,5.015,6154,4.85,6155,6.914,6156,5.109,6157,5.109,6158,3.335,6159,5.109,6160,5.109,6161,6.21,6162,7.1,6163,5.109,6164,3.118,6165,5.109,6166,5.109,6167,7.637,6168,3.402,6169,3.402,6170,3.402,6171,4.708,6172,4.583,6173,2.919,6174,3.274,6175,3.274,6176,3.402,6177,3.402,6178,3.402,6179,3.031,6180,5.212,6181,3.073,6182,6.096,6183,3.274,6184,5.212,6185,3.402,6186,3.402,6187,3.402,6188,3.218,6189,3.402,6190,3.402,6191,5.212,6192,4.85,6193,3.402,6194,3.402,6195,7.1,6196,6.335,6197,3.335,6198,6.21,6199,3.402,6200,3.402,6201,3.402,6202,3.402,6203,3.402,6204,3.402,6205,3.402,6206,3.402,6207,3.402,6208,3.402,6209,3.402,6210,3.218,6211,4.777,6212,3.402,6213,3.402]],["title/interfaces/ComponentInternalProperties.html",[159,0.714,6166,4.989]],["body/interfaces/ComponentInternalProperties.html",[0,0.16,3,0.009,4,0.009,5,0.004,7,0.136,26,2.15,30,0.001,31,0.398,32,0.121,47,0.973,55,2.097,95,0.141,96,1.224,101,0.017,103,0,104,0,110,3.967,112,0.556,122,1.484,125,1.693,134,1.641,135,1.666,145,1.741,148,1.264,153,1.589,155,3.074,157,1.99,158,1.711,159,1.216,161,1.103,195,1.892,196,1.536,197,1.978,205,1.45,223,3.243,224,1.349,225,2.733,226,2.104,229,1.837,231,0.805,232,1.258,233,1.449,277,0.667,290,1.098,371,3.771,527,1.966,579,2.036,595,1.753,613,4.155,652,1.45,653,1.917,711,1.376,789,2.535,886,1.461,1237,1.369,1312,2.18,1821,2.253,1842,3.239,1936,2.18,2026,2.266,2032,3.971,2050,1.957,2183,1.83,2392,4.204,2802,1.858,2881,4.126,2911,3.997,2915,3.945,2919,2.575,2924,4.583,2925,2.765,2926,4.65,2928,3.957,2929,4.471,2941,4.643,3045,3.798,3620,4.374,3727,5.435,3746,6.21,3882,3.274,3883,3.274,4394,4.195,4553,2.954,4617,2.084,5219,5.806,5550,2.954,5551,3.031,5670,2.18,5703,6.715,5713,3.335,5729,2.641,5736,4.583,5741,7.225,5754,3.335,5760,3.335,5765,3.335,6145,5.109,6146,3.402,6147,2.919,6148,6.222,6149,3.118,6150,5.57,6151,3.402,6152,4.526,6153,5.015,6154,4.85,6155,6.914,6156,5.109,6157,5.109,6158,3.335,6159,5.109,6160,5.109,6161,5.109,6162,3.402,6163,5.109,6164,3.118,6165,5.109,6166,6.21,6167,7.637,6168,3.402,6169,3.402,6170,3.402,6171,4.708,6172,4.583,6173,2.919,6174,3.274,6175,3.274,6176,3.402,6177,3.402,6178,3.402,6179,3.031,6180,5.212,6181,3.073,6182,6.096,6183,3.274,6184,5.212,6185,3.402,6186,3.402,6187,3.402,6188,3.218,6189,3.402,6190,3.402,6191,5.212,6192,4.85,6193,3.402,6194,3.402,6195,7.1,6196,6.335,6197,3.335,6198,6.21,6199,3.402,6200,3.402,6201,3.402,6202,3.402,6203,3.402,6204,3.402,6205,3.402,6206,3.402,6207,3.402,6208,3.402,6209,3.402,6210,3.218,6211,4.777,6212,3.402,6213,3.402]],["title/interfaces/ComponentLernstoreProperties.html",[159,0.714,6163,4.989]],["body/interfaces/ComponentLernstoreProperties.html",[0,0.16,3,0.009,4,0.009,5,0.004,7,0.136,26,2.148,30,0.001,31,0.398,32,0.137,47,0.963,55,2.095,95,0.141,96,1.221,101,0.017,103,0,104,0,110,3.347,112,0.555,122,1.482,125,1.69,134,1.637,135,1.666,145,1.737,148,1.263,153,1.588,155,3.07,157,1.988,158,1.707,159,1.216,161,1.1,172,3.019,195,1.889,196,1.533,197,1.975,205,1.447,223,3.24,224,1.346,225,2.728,226,2.099,229,1.833,231,0.803,232,1.255,233,1.446,277,0.665,290,1.096,371,3.764,527,1.961,579,2.032,595,1.749,613,4.148,652,1.447,653,1.913,711,1.373,789,2.529,886,1.458,1237,1.366,1312,2.175,1821,2.248,1842,3.234,1936,2.175,2026,2.261,2032,3.967,2050,1.953,2183,1.826,2392,4.2,2802,1.854,2881,4.12,2911,3.991,2915,3.938,2919,2.57,2924,4.575,2925,2.759,2926,4.643,2928,3.951,2929,4.463,2941,4.635,3045,3.791,3620,4.368,3727,5.427,3746,6.201,3882,3.266,3883,3.266,4394,4.188,4553,2.948,4617,2.079,5219,5.797,5550,2.948,5551,3.024,5670,2.175,5703,6.707,5713,3.327,5729,2.635,5736,6.724,5741,7.22,5754,3.327,5760,3.327,5765,3.327,6145,5.1,6146,3.395,6147,2.912,6148,6.215,6149,3.111,6150,5.562,6151,3.395,6152,4.518,6153,5.006,6154,4.842,6155,6.907,6156,5.1,6157,5.1,6158,3.327,6159,5.1,6160,5.1,6161,5.1,6162,3.395,6163,6.201,6164,3.111,6165,5.1,6166,5.1,6167,7.63,6168,3.395,6169,3.395,6170,3.395,6171,4.7,6172,4.575,6173,2.912,6174,3.266,6175,3.266,6176,3.395,6177,3.395,6178,3.395,6179,3.024,6180,5.203,6181,3.066,6182,6.087,6183,3.266,6184,5.203,6185,3.395,6186,3.395,6187,3.395,6188,3.211,6189,3.395,6190,3.395,6191,5.203,6192,4.842,6193,3.395,6194,3.395,6195,7.092,6196,6.326,6197,3.327,6198,6.201,6199,3.395,6200,3.395,6201,3.395,6202,3.395,6203,3.395,6204,3.395,6205,3.395,6206,3.395,6207,3.395,6208,3.395,6209,3.395,6210,3.211,6211,4.768,6212,3.395,6213,3.395]],["title/interfaces/ComponentNexboardProperties.html",[159,0.714,6165,4.989]],["body/interfaces/ComponentNexboardProperties.html",[0,0.156,3,0.009,4,0.009,5,0.004,7,0.134,26,2.127,30,0.001,31,0.391,32,0.142,47,0.992,55,2.074,95,0.14,96,1.195,101,0.017,103,0,104,0,110,3.933,112,0.545,122,1.457,125,1.662,134,1.602,135,1.657,145,1.699,148,1.257,153,1.57,155,3.608,157,2.513,158,1.671,159,1.207,161,1.077,195,1.864,196,1.5,197,1.942,205,1.424,223,3.208,224,1.317,225,2.683,226,2.054,229,1.793,231,0.786,232,1.229,233,1.415,277,0.651,290,1.072,371,3.702,527,1.919,579,1.999,595,1.711,613,4.08,652,1.424,653,1.872,711,1.343,789,2.475,886,1.426,1237,1.337,1312,2.129,1821,2.2,1842,3.18,1936,2.129,2026,2.212,2032,3.928,2050,4.033,2183,1.787,2392,4.164,2802,1.814,2881,4.064,2911,3.938,2915,3.873,2919,2.514,2924,4.499,2925,2.7,2926,4.581,2928,3.898,2929,4.39,2941,4.559,3045,3.729,3620,4.309,3727,5.354,3746,6.118,3882,3.196,3883,3.196,4394,4.118,4553,2.884,4617,2.035,5219,5.72,5550,2.884,5551,2.959,5670,2.129,5703,6.631,5713,3.256,5729,2.578,5736,4.499,5741,7.174,5754,3.256,5760,3.256,5765,3.256,6145,5.016,6146,3.322,6147,2.85,6148,6.154,6149,3.044,6150,5.488,6151,3.322,6152,4.443,6153,4.924,6154,4.762,6155,6.839,6156,5.016,6157,5.016,6158,3.256,6159,5.016,6160,5.016,6161,5.016,6162,3.322,6163,5.016,6164,3.044,6165,6.118,6166,5.016,6167,7.565,6168,3.322,6169,3.322,6170,3.322,6171,4.622,6172,4.499,6173,2.85,6174,3.196,6175,3.196,6176,3.322,6177,3.322,6178,3.322,6179,2.959,6180,5.117,6181,3,6182,6.005,6183,3.196,6184,5.117,6185,3.322,6186,3.322,6187,3.322,6188,3.142,6189,3.322,6190,3.322,6191,5.117,6192,4.762,6193,3.322,6194,3.322,6195,7.011,6196,6.241,6197,3.256,6198,6.118,6199,3.322,6200,3.322,6201,3.322,6202,3.322,6203,3.322,6204,3.322,6205,3.322,6206,3.322,6207,3.322,6208,3.322,6209,3.322,6210,3.142,6211,4.689,6212,3.322,6213,3.322]],["title/interfaces/ComponentTextProperties.html",[159,0.714,6160,4.989]],["body/interfaces/ComponentTextProperties.html",[0,0.16,3,0.009,4,0.009,5,0.004,7,0.136,26,2.15,30,0.001,31,0.398,32,0.121,47,0.973,55,2.097,95,0.141,96,1.224,101,0.017,103,0,104,0,110,3.351,112,0.556,122,1.484,125,1.693,134,1.641,135,1.666,145,1.741,148,1.264,153,1.589,155,3.074,157,1.99,158,1.711,159,1.216,161,1.103,195,1.892,196,1.536,197,1.978,205,1.45,223,3.243,224,1.349,225,2.733,226,2.104,229,1.837,231,0.805,232,1.258,233,1.449,277,0.667,290,1.098,371,3.771,527,1.966,579,2.036,595,1.753,613,4.155,652,1.45,653,1.917,711,1.376,789,2.535,886,1.461,1237,1.369,1312,2.18,1821,2.253,1842,3.239,1936,2.18,2026,2.266,2032,3.971,2050,1.957,2183,1.83,2392,4.204,2802,1.858,2881,5.259,2911,3.997,2915,3.945,2919,2.575,2924,4.583,2925,2.765,2926,4.65,2928,3.957,2929,4.471,2941,4.643,3045,3.798,3620,4.374,3727,5.435,3746,6.21,3882,3.274,3883,3.274,4394,4.195,4553,2.954,4617,2.084,5219,5.806,5550,2.954,5551,3.031,5670,2.18,5703,6.715,5713,3.335,5729,2.641,5736,4.583,5741,7.225,5754,3.335,5760,3.335,5765,3.335,6145,5.109,6146,3.402,6147,2.919,6148,6.222,6149,3.118,6150,5.57,6151,3.402,6152,4.526,6153,5.015,6154,4.85,6155,6.914,6156,5.109,6157,5.109,6158,3.335,6159,5.109,6160,6.21,6161,5.109,6162,3.402,6163,5.109,6164,3.118,6165,5.109,6166,5.109,6167,7.637,6168,3.402,6169,3.402,6170,3.402,6171,4.708,6172,4.583,6173,2.919,6174,3.274,6175,3.274,6176,3.402,6177,3.402,6178,3.402,6179,3.031,6180,5.212,6181,3.073,6182,6.096,6183,3.274,6184,5.212,6185,3.402,6186,3.402,6187,3.402,6188,3.218,6189,3.402,6190,3.402,6191,5.212,6192,4.85,6193,3.402,6194,3.402,6195,7.1,6196,6.335,6197,3.335,6198,6.21,6199,3.402,6200,3.402,6201,3.402,6202,3.402,6203,3.402,6204,3.402,6205,3.402,6206,3.402,6207,3.402,6208,3.402,6209,3.402,6210,3.218,6211,4.777,6212,3.402,6213,3.402]],["title/classes/ConsentRequestBody.html",[0,0.239,6214,5.842]],["body/classes/ConsentRequestBody.html",[0,0.293,2,0.628,3,0.011,4,0.011,5,0.005,7,0.083,27,0.5,30,0.001,32,0.158,33,0.632,34,1.453,47,0.855,55,2.001,95,0.114,101,0.008,103,0,104,0,112,0.664,122,1.775,145,3.189,157,2.511,164,8.168,165,4.796,167,8.747,169,9.774,170,7.853,187,6.15,190,2.28,194,5.201,195,2.182,196,4.398,197,3.943,199,4.719,200,1.81,202,1.357,231,1.475,290,2.012,296,2.85,299,3.316,300,4.175,337,3.63,342,3.857,402,2.114,403,4.304,436,3.426,567,4.146,711,1.751,890,5.896,998,2.789,1042,3.91,1080,4.278,1302,3.277,1379,4.243,1390,3.671,1470,5.575,1475,7.568,1888,6.701,2163,2.731,2344,7.319,2525,3.177,2544,5.118,2802,4.364,4871,6.371,5027,4.332,5099,6.701,5270,4.531,6119,3.484,6214,7.154,6215,10.908,6216,10.31,6217,7.154,6218,7.154,6219,6.701,6220,5.908,6221,5.908,6222,6.695,6223,5.908,6224,5.183,6225,7.464,6226,7.464,6227,7.878,6228,7.464,6229,3.471,6230,5.908,6231,5.471,6232,7.878,6233,6.234,6234,10.101,6235,7.878,6236,5.908,6237,8.592,6238,4.531,6239,5.183,6240,5.183,6241,5.183,6242,5.471,6243,6.525,6244,5.896,6245,4.424,6246,4.796,6247,4.531,6248,4.968,6249,4.796,6250,5.471,6251,4.968,6252,5.471,6253,5.471,6254,5.183,6255,4.968,6256,4.968,6257,5.471,6258,4.925,6259,6.701,6260,5.471]],["title/classes/ConsentResponse.html",[0,0.239,6261,5.64]],["body/classes/ConsentResponse.html",[0,0.346,2,0.531,3,0.009,4,0.009,5,0.005,7,0.07,27,0.522,29,0.382,30,0.001,31,0.279,32,0.165,33,0.642,34,1.717,47,0.968,70,5.49,72,3.438,77,6.948,95,0.115,101,0.007,103,0,104,0,110,2.598,112,0.587,122,1.568,125,1.788,130,2.055,157,2.786,164,7.529,171,7.609,174,5.122,180,4.838,181,9.461,182,7.927,183,3.446,185,2.574,187,7.539,190,2.357,193,4.924,194,3.933,195,2.36,196,3.749,197,3.61,200,1.529,202,1.146,290,2.68,296,3.464,299,3.919,300,5.026,358,6.099,433,0.615,868,2.394,1470,5.622,1475,6.32,1775,4.134,1842,3.421,1899,6.563,2327,4.722,2344,6.112,2525,4.859,2739,7.711,2802,4.705,2832,6.478,3585,5.396,3709,3.518,4393,4.051,4531,8.893,6255,6.317,6258,5.82,6261,9.547,6262,4.99,6263,8.367,6264,8.367,6265,7.598,6266,7.598,6267,7.598,6268,7.335,6269,7.512,6270,4.99,6271,9.942,6272,4.99,6273,7.927,6274,7.512,6275,4.99,6276,7.512,6277,6.317,6278,4.99,6279,7.598,6280,8.367,6281,4.99,6282,4.99,6283,7.512,6284,6.591,6285,4.99,6286,7.512,6287,4.99,6288,7.598,6289,4.99,6290,7.512,6291,8.821,6292,4.99,6293,4.99,6294,4.99,6295,6.957,6296,6.957,6297,4.99,6298,4.99,6299,4.378,6300,4.621,6301,4.621,6302,4.621]],["title/classes/ConsentSessionResponse.html",[0,0.239,6303,5.842]],["body/classes/ConsentSessionResponse.html",[0,0.359,2,0.842,3,0.015,4,0.015,5,0.007,7,0.111,27,0.486,29,0.606,30,0.001,31,0.651,32,0.154,33,0.614,34,1.777,47,1.016,95,0.119,101,0.01,103,0.001,104,0.001,112,0.813,125,3.281,157,2.676,164,7.791,187,7.235,190,2.087,193,4.521,200,2.424,202,1.817,296,3.227,300,3.983,433,0.975,868,4.992,1475,6.54,1495,8.35,1508,7.325,2802,4.942,4531,9.644,6271,6.94,6303,8.749,6304,12.831,6305,7.325,6306,9.157,6307,9.635,6308,12.351,6309,7.91,6310,5.231,6311,9.635,6312,7.91,6313,7.91,6314,7.91,6315,7.91,6316,7.91]],["title/modules/ConsoleWriterModule.html",[252,1.836,3840,5.328]],["body/modules/ConsoleWriterModule.html",[0,0.337,3,0.019,4,0.019,5,0.009,30,0.001,95,0.136,101,0.013,103,0.001,104,0.001,252,3.39,254,3.523,255,3.73,256,3.826,257,3.812,258,3.798,259,4.665,260,4.776,269,4.655,270,3.757,271,3.679,277,1.405,3756,9.481,3766,6.009,3840,10.799,6317,9.78,6318,9.78,6319,9.78,6320,9.056,6321,7.94,6322,9.78,6323,8.58]],["title/injectables/ConsoleWriterService.html",[589,0.926,3756,4.535]],["body/injectables/ConsoleWriterService.html",[0,0.344,3,0.025,4,0.019,5,0.009,7,0.14,8,1.389,27,0.393,29,0.764,30,0.001,31,0.559,32,0.124,33,0.456,35,1.154,47,0.918,95,0.114,101,0.013,103,0.001,104,0.001,277,1.433,569,3.739,571,3.946,589,1.606,591,2.374,1086,4.759,1087,4.611,1088,4.683,2881,5.746,3756,7.862,3766,6.129,6320,11.152,6321,9.777,6324,9.974,6325,12.043,6326,9.974,6327,9.974]],["title/classes/ContentBodyParams.html",[0,0.239,1234,5.64]],["body/classes/ContentBodyParams.html",[0,0.448,2,0.965,3,0.017,4,0.017,5,0.008,7,0.127,27,0.447,30,0.001,32,0.155,47,0.969,95,0.13,101,0.017,103,0.001,104,0.001,112,0.887,125,2.159,190,2.04,195,1.985,200,2.78,202,2.084,296,3.498,299,5.067,300,4.349,855,4.599,1195,6.124,1228,7.366,1233,9.224,1234,10.071,1235,9.224,1238,6.958,1240,7.316,1242,7.629,2525,4.88,6258,6.576,6328,7.959,6329,8.596,6330,6.287,6331,9.072,6332,9.072,6333,9.072]],["title/injectables/ContentElementFactory.html",[589,0.926,3847,5.64]],["body/injectables/ContentElementFactory.html",[0,0.193,3,0.011,4,0.011,5,0.008,7,0.079,8,0.945,27,0.481,29,0.43,30,0.001,31,0.314,32,0.141,33,0.256,34,2.02,35,1.414,49,2.118,83,3.873,95,0.148,99,1.148,101,0.007,103,0,104,0,110,1.94,129,1.675,134,1.983,135,1.543,142,2.041,148,1.208,153,2.333,155,1.78,157,1.292,277,0.806,430,4.844,431,5.05,507,3.61,574,3.163,579,1.606,589,1.093,591,1.335,614,1.728,652,2.829,1393,6.726,2029,8.644,2037,3.57,2048,5.73,2369,3.137,2671,1.809,2881,3.91,3035,7.848,3103,5.424,3106,5.424,3109,5.092,3112,5.424,3115,5.036,3118,5.214,3122,4.303,3123,8.339,3127,4.201,3128,2.53,3129,3.411,3507,3.57,3533,3.309,3535,3.309,3541,4.255,3545,2.894,3830,4.922,3847,6.653,4438,5.529,4463,7.349,5894,8.084,6334,12.521,6335,5.611,6336,10.647,6337,10.647,6338,9.86,6339,10.647,6340,10.647,6341,10.647,6342,8.195,6343,5.611,6344,5.611,6345,5.611,6346,5.611,6347,5.611,6348,5.611,6349,5.611,6350,3.527,6351,5.611,6352,3.57,6353,5.611,6354,3.527,6355,5.611,6356,3.57,6357,5.611,6358,3.57,6359,5.611,6360,3.57,6361,5.611,6362,5.611]],["title/classes/ContentElementResponseFactory.html",[0,0.239,4024,5.328]],["body/classes/ContentElementResponseFactory.html",[0,0.24,2,0.741,3,0.013,4,0.013,5,0.009,7,0.098,8,1.101,27,0.429,29,0.732,30,0.001,31,0.535,32,0.146,33,0.436,35,1.105,95,0.155,100,2.43,101,0.009,103,0,104,0,112,0.746,129,2.079,130,1.905,135,1.422,141,5.029,148,0.945,153,1.567,277,1,467,3.911,579,2.733,614,2.145,652,2.222,830,5.297,1853,2.277,2048,5.694,2112,6.448,2139,3.995,2369,3.894,2626,7.987,2632,7.152,2634,8.849,2635,5.596,2671,2.246,2881,3.323,3109,7.288,3115,7.207,3122,5.341,3127,5.215,3128,3.14,3129,4.233,3507,4.43,3982,8.524,4019,7.829,4020,7.829,4024,7.325,6363,11.728,6364,10.094,6365,10.9,6366,9.55,6367,9.55,6368,9.55,6369,9.55,6370,9.55,6371,9.55,6372,6.963,6373,6.963,6374,6.963,6375,6.963,6376,6.076,6377,6.963,6378,6.963,6379,5.341,6380,6.109,6381,6.109,6382,6.109,6383,6.109,6384,6.109,6385,6.109,6386,9.55,6387,6.963,6388,6.963,6389,6.963,6390,6.109,6391,6.963,6392,6.963,6393,6.963,6394,6.963]],["title/injectables/ContentElementService.html",[589,0.926,2018,5.09]],["body/injectables/ContentElementService.html",[0,0.201,3,0.011,4,0.011,5,0.005,7,0.082,8,0.971,10,3.368,12,3.797,26,2.543,27,0.486,29,0.946,30,0.001,31,0.692,32,0.163,33,0.565,34,1.438,35,1.387,36,2.834,55,1.985,95,0.141,99,1.191,101,0.008,103,0,104,0,135,1.499,148,1.072,153,1.622,228,1.792,277,0.836,317,3.022,433,1.038,579,2.41,589,1.122,591,1.386,652,2.016,657,2.894,734,3.534,837,2.875,1853,1.904,2018,6.169,2023,6.631,2029,10.625,2048,5.238,2050,2.454,2392,4.133,2609,2.858,2635,2.778,2648,6.452,2923,3.086,3096,7.087,3206,4.873,3397,4.36,3398,8.447,3563,3.97,3593,7.796,3620,6.25,3631,5.108,3678,9.251,3681,6.047,3687,8.309,3691,4.896,3847,10.029,4436,7.386,4438,5.626,4456,4.727,4520,10.033,6390,5.108,6395,11.713,6396,5.822,6397,5.822,6398,5.822,6399,8.418,6400,5.822,6401,8.418,6402,5.822,6403,8.418,6404,5.822,6405,8.418,6406,5.822,6407,8.418,6408,6.98,6409,5.822,6410,5.822,6411,5.108,6412,5.822,6413,5.822,6414,5.822,6415,5.822,6416,5.822,6417,5.822,6418,5.822,6419,5.822,6420,5.822,6421,4.266,6422,5.822,6423,5.822,6424,5.822,6425,5.822]],["title/injectables/ContentElementUpdateVisitor.html",[589,0.926,6411,6.094]],["body/injectables/ContentElementUpdateVisitor.html",[0,0.153,3,0.008,4,0.008,5,0.004,7,0.062,8,0.791,27,0.504,29,0.968,30,0.001,31,0.708,32,0.161,33,0.577,35,1.44,36,2.895,47,0.314,95,0.129,99,0.906,101,0.006,103,0,104,0,110,2.902,112,0.536,125,1.632,135,1.095,148,1.324,153,1.125,154,3.724,228,1.521,277,0.636,298,1.916,317,3.045,356,2.974,433,0.546,589,0.914,591,1.054,652,2.204,653,4.465,837,2.186,1237,1.306,1842,2.017,1853,1.448,1938,2.382,2031,6.089,2048,5.313,2392,3.9,2549,3.595,2635,4.509,2648,5.628,2671,2.212,2775,8.293,2934,5.459,3042,3.934,3071,2.664,3096,5.865,3103,6.766,3106,6.766,3109,6.352,3112,6.766,3115,6.282,3118,6.504,3123,4.835,3128,1.997,3131,5.767,3132,5.767,3133,5.767,3134,5.767,3135,5.767,3136,5.767,3137,5.767,3138,5.767,3140,5.767,3141,5.767,3142,5.767,3143,5.767,3144,5.767,3145,5.767,3146,5.767,3147,5.767,3148,5.767,3149,5.767,3150,5.767,3206,2.563,3315,4.101,3508,3.396,3541,2.299,3724,6.651,6167,3.069,6395,11.988,6408,6.967,6411,6.017,6426,4.428,6427,6.858,6428,6.858,6429,6.858,6430,6.858,6431,4.428,6432,4.428,6433,4.428,6434,4.428,6435,4.428,6436,4.428,6437,4.428,6438,4.428,6439,4.428,6440,4.428,6441,6.351,6442,4.428,6443,4.101,6444,3.724,6445,4.477,6446,4.477,6447,4.477,6448,4.477,6449,4.477,6450,4.477,6451,4.428,6452,4.428,6453,4.428,6454,4.101,6455,4.428,6456,6.858,6457,4.101,6458,4.428,6459,4.428,6460,4.101,6461,4.428,6462,4.101,6463,4.428,6464,4.428,6465,6.858,6466,6.858,6467,4.428,6468,8.393,6469,4.428,6470,4.428,6471,4.428,6472,4.428,6473,4.428,6474,4.101,6475,4.428,6476,4.101,6477,4.428,6478,6.858,6479,4.101,6480,4.428,6481,4.101,6482,4.428,6483,6.858,6484,4.101,6485,4.428,6486,4.428,6487,6.858,6488,4.428,6489,3.595,6490,3.885,6491,4.428,6492,4.101,6493,4.428]],["title/classes/ContentElementUrlParams.html",[0,0.239,6494,6.094]],["body/classes/ContentElementUrlParams.html",[0,0.414,2,1.056,3,0.019,4,0.019,5,0.009,7,0.139,27,0.391,30,0.001,32,0.124,34,2.051,47,0.852,95,0.137,101,0.013,103,0.001,104,0.001,112,0.938,157,2.285,190,1.782,194,4.697,195,2.627,196,3.972,197,3.339,200,3.041,202,2.28,296,3.137,855,4.86,2048,4.879,4150,6.033,6494,10.534,6495,12.007,6496,9.191,6497,11.955,6498,9.191]],["title/classes/ContentFileUrlParams.html",[0,0.239,6499,6.094]],["body/classes/ContentFileUrlParams.html",[0,0.41,2,1.038,3,0.019,4,0.019,5,0.009,7,0.137,27,0.468,30,0.001,32,0.148,34,2.188,47,0.947,95,0.136,101,0.013,103,0.001,104,0.001,112,0.928,190,2.133,200,2.989,202,2.241,296,3.348,299,4.631,855,4.81,856,6.591,1195,6.326,5213,8.055,6330,6.761,6499,10.425,6500,12.813,6501,9.034,6502,8.204,6503,9.756,6504,9.756]],["title/classes/ContentMetadata.html",[0,0.239,6505,5.64]],["body/classes/ContentMetadata.html",[0,0.208,2,0.4,3,0.007,4,0.016,5,0.003,7,0.121,26,2.18,27,0.531,29,0.288,30,0.001,31,0.211,32,0.169,33,0.636,47,0.99,49,3.258,95,0.115,96,1.589,97,1.534,99,0.77,101,0.011,103,0,104,0,112,0.471,131,4.811,148,0.746,153,1.238,155,2.394,158,2.222,159,0.387,190,2.409,195,3.036,196,4.224,205,1.229,211,7.082,223,4.34,224,1.092,225,2.316,229,1.488,231,0.652,233,1.174,433,0.743,478,1.056,703,1.167,886,2.374,1195,6.688,1198,4.54,1215,2.262,1237,1.778,1936,1.766,2163,1.738,2392,3.604,2685,3.07,2911,3.489,3025,1.804,3378,2.218,3620,1.903,3724,2.218,3885,3.562,4143,2.525,4541,2.634,4607,3.219,4634,2.606,4818,3.053,5729,2.138,6505,7.671,6506,10.998,6507,3.299,6508,6.583,6509,6.62,6510,6.62,6511,6.346,6512,5.067,6513,4.291,6514,6.346,6515,5.788,6516,5.788,6517,5.651,6518,5.788,6519,4.926,6520,6.62,6521,6.62,6522,5.321,6523,6.62,6524,6.62,6525,5.651,6526,5.788,6527,6.62,6528,6.62,6529,4.33,6530,6.029,6531,3.76,6532,3.76,6533,6.62,6534,3.76,6535,6.62,6536,3.76,6537,3.76,6538,8.124,6539,3.76,6540,3.76,6541,4.251,6542,4.624,6543,3.76,6544,3.76,6545,3.76,6546,3.76,6547,3.76,6548,3.76,6549,3.76,6550,3.76,6551,3.76,6552,3.76,6553,3.76,6554,3.76,6555,3.76,6556,3.76,6557,3.76,6558,3.428,6559,2.755,6560,5.289,6561,2.884,6562,3.299,6563,2.884,6564,3.299,6565,2.701,6566,2.701,6567,3.299,6568,3.299,6569,2.651,6570,3.299,6571,2.884,6572,3.299,6573,2.884,6574,3.299,6575,2.884,6576,3.299,6577,2.884,6578,3.299,6579,3.299,6580,3.299,6581,3.299,6582,3.299,6583,2.884,6584,3.299,6585,3.299,6586,3.299,6587,3.299,6588,3.299,6589,3.299,6590,3.299,6591,3.299,6592,3.299,6593,3.299,6594,3.299,6595,3.299,6596,3.299,6597,3.299,6598,3.299,6599,3.299,6600,3.299,6601,3.299,6602,3.162,6603,3.299,6604,5.145,6605,4.895,6606,4.185,6607,4.075,6608,2.816,6609,2.023,6610,2.701,6611,2.701,6612,2.564,6613,2.701,6614,2.755,6615,2.816,6616,2.392,6617,2.606,6618,3.162,6619,2.701,6620,3.299,6621,2.816,6622,2.701]],["title/classes/ContextExternalTool.html",[0,0.239,2005,3.632]],["body/classes/ContextExternalTool.html",[0,0.25,2,0.77,3,0.014,4,0.014,5,0.007,7,0.102,8,1.131,27,0.526,29,0.954,30,0.001,31,0.405,32,0.164,33,0.569,34,1.899,35,0.838,47,0.884,55,2.5,95,0.142,101,0.013,103,0,104,0,112,0.766,148,0.716,159,0.744,183,2.762,231,1.7,232,2.658,433,0.892,435,2.527,436,2.145,614,4.396,703,2.248,1237,2.891,1852,7.03,2005,5.127,2007,3.596,2764,7.889,2887,4.117,6040,7.821,6623,7.733,6624,11.72,6625,5.703,6626,8.842,6627,6.069,6628,9.142,6629,9.142,6630,10.024,6631,9.807,6632,7.24,6633,7.24,6634,7.24,6635,9.678,6636,7.24,6637,5.305,6638,6.704,6639,5.703,6640,4.551,6641,5.2,6642,5.553,6643,6.704,6644,6.704,6645,6.704,6646,6.704,6647,4.664,6648,5.017,6649,4.862,6650,5.305,6651,7.044,6652,5.421]],["title/injectables/ContextExternalToolAuthorizableService.html",[589,0.926,6653,5.64]],["body/injectables/ContextExternalToolAuthorizableService.html",[0,0.304,3,0.017,4,0.017,5,0.008,7,0.124,8,1.286,12,5.031,26,2.648,27,0.439,29,0.855,30,0.001,31,0.625,32,0.139,33,0.51,34,1.505,35,1.02,36,2.36,40,5.383,95,0.151,99,1.804,101,0.012,103,0.001,104,0.001,135,1.15,148,0.872,228,1.597,277,1.266,279,3.684,317,2.652,400,2.625,433,1.086,589,1.487,591,2.098,614,4.176,657,2.017,1237,2.599,1845,8.787,1882,3.362,2005,6.726,2653,4.075,2671,3.948,3394,8.162,6021,10.153,6623,7.085,6653,9.057,6654,10.739,6655,8.162,6656,8.814,6657,8.814,6658,8.814]],["title/classes/ContextExternalToolConfigurationStatus.html",[0,0.239,6036,5.09]],["body/classes/ContextExternalToolConfigurationStatus.html",[0,0.33,2,1.018,3,0.018,4,0.018,5,0.009,7,0.134,27,0.5,29,0.733,30,0.001,31,0.536,32,0.158,33,0.437,101,0.013,103,0.001,104,0.001,112,0.917,122,2.764,232,3.182,433,1.179,435,3.34,614,4.081,2218,5.918,2671,4.273,6036,9.962,6047,10.008,6048,8.958,6659,13.248,6660,8.862,6661,11.743,6662,8.862,6663,7.77,6664,8.048,6665,8.396,6666,8.862]],["title/classes/ContextExternalToolConfigurationStatusResponse.html",[0,0.239,6667,5.842]],["body/classes/ContextExternalToolConfigurationStatusResponse.html",[0,0.283,2,0.874,3,0.016,4,0.016,5,0.008,7,0.115,27,0.466,29,0.63,30,0.001,31,0.46,32,0.162,33,0.376,95,0.094,101,0.011,103,0.001,104,0.001,112,0.833,122,2.866,157,2.886,183,4.069,190,1.915,194,4.903,202,1.888,232,2.891,296,3.094,417,7.009,433,1.013,435,2.868,614,3.861,703,3.312,866,5.298,2004,5.655,2218,5.599,2671,4.43,2749,5.267,4068,7.21,6047,9.329,6048,8.35,6229,5.114,6512,8.417,6663,6.672,6664,6.911,6665,7.21,6666,7.61,6667,10.923,6668,11.607,6669,10.667,6670,10.176,6671,9.386,6672,10.996,6673,8.218]],["title/classes/ContextExternalToolConfigurationTemplateListResponse.html",[0,0.239,6674,5.842]],["body/classes/ContextExternalToolConfigurationTemplateListResponse.html",[0,0.321,2,0.99,3,0.018,4,0.018,5,0.009,7,0.131,27,0.454,29,0.713,30,0.001,31,0.521,32,0.156,33,0.425,95,0.132,101,0.012,103,0.001,104,0.001,112,0.901,125,2.214,183,3.549,190,1.67,202,2.137,296,3.015,339,3.957,433,1.147,614,4.041,861,6.448,864,6.621,866,4.621,881,5.08,1167,7.709,2218,5.86,2669,5.686,2671,4.231,6674,9.705,6675,11.618,6676,11.313,6677,8.851,6678,8.616]],["title/classes/ContextExternalToolConfigurationTemplateResponse.html",[0,0.239,6676,5.64]],["body/classes/ContextExternalToolConfigurationTemplateResponse.html",[0,0.257,2,0.793,3,0.014,4,0.014,5,0.007,7,0.105,26,2.59,27,0.521,29,0.924,30,0.001,31,0.676,32,0.168,33,0.516,47,0.856,55,2.008,95,0.129,99,1.526,101,0.01,103,0,104,0,112,0.781,125,1.774,190,2.326,201,4.384,202,1.713,296,3.597,433,0.919,614,4.142,866,3.703,1220,4.277,2183,2.938,2218,6.085,2669,6.095,2671,4.337,5695,5.822,6649,5.006,6675,12.454,6676,10.215,6679,6.904,6680,7.959,6681,6.476,6682,8.108,6683,9.262,6684,10.002,6685,6.904,6686,6.904,6687,6.904,6688,9.502,6689,6.904,6690,6.904,6691,6.54,6692,6.269,6693,6.904,6694,7.455,6695,7.455,6696,6.904,6697,4.934,6698,6.904,6699,6.904,6700,5.583,6701,6.904]],["title/classes/ContextExternalToolContextParams.html",[0,0.239,6702,5.842]],["body/classes/ContextExternalToolContextParams.html",[0,0.384,2,0.938,3,0.017,4,0.017,5,0.008,7,0.124,27,0.439,30,0.001,32,0.139,47,0.792,95,0.14,101,0.012,103,0.001,104,0.001,112,0.871,125,2.098,190,2.003,194,5.033,195,2.815,196,4.049,197,3.578,200,2.701,202,2.025,296,3.198,614,4.176,855,4.516,886,2.773,899,4.014,2034,7.577,2035,4.326,2039,6.214,2614,7.821,2671,3.948,3170,5.211,5437,7.219,6623,7.085,6702,9.381,6703,9.938,6704,8.814,6705,7.788,6706,7.732,6707,8.814,6708,8.814,6709,8.814,6710,8.814,6711,8.814,6712,7.155]],["title/classes/ContextExternalToolCountPerContextResponse.html",[0,0.239,6713,5.472]],["body/classes/ContextExternalToolCountPerContextResponse.html",[0,0.317,2,0.978,3,0.017,4,0.017,5,0.008,7,0.129,27,0.491,29,0.705,30,0.001,31,0.515,32,0.155,33,0.42,55,2.622,95,0.105,101,0.012,103,0.001,104,0.001,112,0.895,190,2.057,202,2.113,232,3.105,296,3.512,433,1.134,435,3.21,614,4.024,2032,4.744,2671,4.213,2907,7.495,2930,8.8,2941,6.004,4883,9.783,6181,6.087,6668,12.098,6713,10.588,6714,8.517,6715,11.458,6716,9.197,6717,9.197,6718,9.197]],["title/entities/ContextExternalToolEntity.html",[205,1.416,6719,5.09]],["body/entities/ContextExternalToolEntity.html",[0,0.244,3,0.013,4,0.013,5,0.007,7,0.099,27,0.502,29,0.905,30,0.001,32,0.159,33,0.441,47,0.905,55,2.206,95,0.141,96,1.865,101,0.013,103,0,104,0,112,0.754,159,0.727,183,3.682,190,2.29,195,2.583,196,2.34,205,1.968,206,2.301,211,3.924,223,4.125,224,2.055,225,3.708,229,2.798,231,1.226,232,1.917,233,2.208,614,4.384,703,2.196,1507,5.297,1835,4.947,2671,2.281,4601,4.902,4607,5.154,4608,4.023,5437,6.963,5670,5.16,6040,7.031,6623,7.556,6627,6.011,6647,4.558,6648,4.902,6649,4.75,6650,5.183,6651,5.081,6652,5.297,6705,7.511,6719,7.073,6720,10.977,6721,5.743,6722,9.928,6723,7.074,6724,8.841,6725,7.074,6726,7.074,6727,9.477,6728,7.074,6729,8.651,6730,7.074,6731,7.074,6732,5.949,6733,4.347,6734,8.469,6735,4.3,6736,6.551,6737,6.551,6738,6.206,6739,5.949,6740,5.743,6741,5.949]],["title/classes/ContextExternalToolFactory.html",[0,0.239,6742,6.433]],["body/classes/ContextExternalToolFactory.html",[0,0.162,2,0.502,3,0.009,4,0.009,5,0.004,7,0.066,8,0.83,27,0.516,29,1.022,30,0.001,31,0.718,32,0.168,33,0.578,34,1.491,35,1.41,47,0.844,49,1.779,55,2.315,59,3.442,95,0.126,96,1.243,97,1.923,101,0.006,103,0,104,0,112,0.562,113,4.419,125,2.077,127,4.88,129,3.55,130,3.4,135,0.939,148,0.712,153,1.18,157,2.009,172,3.059,185,2.466,192,2.594,205,1.779,206,2.34,228,1.304,231,1.247,326,4.804,374,3.113,388,2.022,433,0.581,436,3.845,467,2.095,501,7.031,502,5.417,505,3.991,506,5.417,507,5.237,508,3.991,509,3.991,510,3.991,511,3.929,512,4.444,513,4.841,514,6.443,515,5.743,516,6.951,517,2.636,522,2.615,523,3.991,524,2.636,525,5.106,526,5.253,527,4.134,528,4.941,529,3.96,530,2.615,531,2.465,532,4.114,533,2.517,534,2.465,535,2.615,536,2.636,537,4.765,538,2.615,539,7.11,540,4.175,541,6.595,542,2.636,543,3.492,544,2.615,545,2.636,546,2.615,547,2.636,548,2.615,551,2.615,552,6.053,553,2.636,554,2.615,555,3.991,556,3.641,557,3.991,558,2.636,559,2.536,560,2.499,561,2.116,562,2.615,563,2.615,564,2.615,565,2.636,566,2.636,567,1.792,568,2.615,569,1.464,570,2.636,571,2.847,572,2.615,573,2.636,575,2.704,576,2.78,577,2.808,614,2.688,756,2.847,2005,2.465,2007,2.342,2032,1.792,2034,2.594,2039,3.324,2671,1.52,2764,4.763,3852,3.166,4463,2.929,4541,3.869,4649,6.153,4651,3.386,6040,2.808,6626,3.12,6627,2.4,6628,5.519,6630,3.964,6742,8.082,6743,7.196,6744,3.827,6745,7.196,6746,7.196,6747,4.714,6748,7.156,6749,3.713,6750,3.215,6751,4.714]],["title/classes/ContextExternalToolIdParams.html",[0,0.239,6752,5.328]],["body/classes/ContextExternalToolIdParams.html",[0,0.413,2,1.051,3,0.019,4,0.019,5,0.009,7,0.139,27,0.389,30,0.001,32,0.123,47,0.85,95,0.137,101,0.013,103,0.001,104,0.001,112,0.935,190,1.773,194,4.683,195,2.62,196,3.267,197,3.329,200,3.026,202,2.269,296,3.128,307,7.237,614,4.125,855,4.846,2671,3.861,3550,7.203,6623,6.929,6703,9.719,6752,9.181,6753,8.305,6754,8.664]],["title/classes/ContextExternalToolIdParams-1.html",[0,0.199,756,2.285,6752,4.429]],["body/classes/ContextExternalToolIdParams-1.html",[0,0.416,2,1.064,3,0.019,4,0.019,5,0.009,7,0.14,26,2.666,27,0.393,30,0.001,32,0.125,95,0.148,99,2.046,101,0.013,103,0.001,104,0.001,112,0.942,190,1.795,200,3.064,202,2.297,296,3.151,307,7.327,614,3.715,855,4.882,2669,5.466,2671,3.89,3550,7.242,6752,9.25,6755,11.169,6756,7.327,6757,8.118]],["title/modules/ContextExternalToolModule.html",[252,1.836,3841,5.64]],["body/modules/ContextExternalToolModule.html",[0,0.243,3,0.013,4,0.013,5,0.007,30,0.001,95,0.154,101,0.009,103,0,104,0,252,2.901,254,2.543,255,2.694,256,2.762,257,2.752,258,2.742,259,3.993,260,4.088,265,5.893,269,3.772,270,2.713,271,2.656,276,3.772,277,1.014,610,3.8,614,3.804,703,2.192,1027,2.164,2671,3.805,3841,11.865,5695,3.642,5717,4.125,6013,9.546,6023,5.733,6033,10.92,6623,4.087,6653,11.255,6758,7.061,6759,7.061,6760,7.061,6761,7.061,6762,10.041,6763,10.349,6764,9.546,6765,9.05,6766,11.255,6767,11.658,6768,7.061,6769,6.539,6770,5.733,6771,5.562,6772,7.061]],["title/classes/ContextExternalToolPostParams.html",[0,0.239,6773,5.842]],["body/classes/ContextExternalToolPostParams.html",[0,0.39,2,0.796,3,0.014,4,0.014,5,0.007,7,0.105,27,0.51,29,0.866,30,0.001,32,0.17,33,0.552,47,0.92,55,2.013,95,0.144,101,0.01,103,0,104,0,112,0.783,190,2.328,195,1.637,200,2.293,201,4.392,202,1.719,296,3.292,299,3.908,300,4.329,614,4.379,703,2.323,855,4.578,899,3.408,1232,4.331,2034,6.223,2035,3.673,2525,4.025,2671,4.271,3744,7.07,5437,6.67,6040,6.735,6258,5.804,6330,6.949,6623,7.666,6627,5.758,6703,10.753,6705,7.195,6712,6.075,6748,8.287,6773,8.432,6774,6.929,6775,7.483,6776,7.483,6777,7.483,6778,5.483,6779,7.483,6780,9.662,6781,6.292,6782,6.292,6783,5.894,6784,7.483,6785,6.929,6786,6.929,6787,7.483,6788,5.393,6789,6.075]],["title/interfaces/ContextExternalToolProperties.html",[159,0.714,6734,6.094]],["body/interfaces/ContextExternalToolProperties.html",[0,0.264,3,0.015,4,0.015,5,0.007,7,0.108,29,0.972,30,0.001,32,0.163,33,0.557,47,0.96,55,2.447,95,0.145,96,2.018,101,0.013,103,0,104,0,112,0.795,159,0.787,161,1.818,183,3.883,195,2.228,196,2.532,205,2.075,223,3.941,224,2.223,225,3.911,229,3.028,231,1.327,232,2.074,233,2.389,614,3.91,703,2.376,1507,5.732,1835,3.922,2671,2.468,4607,5.435,4608,4.353,5437,7.486,5670,4.78,6040,7.56,6623,4.43,6627,6.463,6647,4.931,6648,5.304,6649,5.14,6650,5.608,6651,5.497,6652,5.732,6705,8.076,6719,5.608,6720,6.436,6721,6.214,6722,10.674,6724,9.505,6727,10.01,6729,9.301,6732,6.436,6733,4.703,6734,10.035,6735,4.653,6736,7.088,6737,7.088,6738,6.715,6739,6.436,6740,6.214,6741,6.436]],["title/interfaces/ContextExternalToolProps.html",[159,0.714,6630,5.842]],["body/interfaces/ContextExternalToolProps.html",[0,0.278,3,0.015,4,0.015,5,0.007,7,0.113,29,0.989,30,0.001,32,0.165,33,0.568,34,2.124,47,0.957,55,2.59,95,0.147,101,0.014,103,0.001,104,0.001,112,0.822,148,0.797,159,0.828,161,1.913,183,3.072,231,1.396,232,2.182,614,3.612,703,2.5,1237,2.374,1852,6.208,2005,4.21,2007,4,2764,8.542,2887,4.58,6040,8.032,6623,4.661,6624,7.065,6625,6.343,6626,9.237,6627,6.571,6628,9.898,6629,6.177,6630,9.862,6635,10.478,6639,6.343,6640,5.062,6641,5.784,6642,6.177,6643,7.458,6644,7.458,6645,7.458,6646,7.458,6647,5.189,6648,5.581,6649,5.408,6650,5.901,6651,7.561,6652,6.031]],["title/injectables/ContextExternalToolRepo.html",[589,0.926,6021,5.202]],["body/injectables/ContextExternalToolRepo.html",[0,0.125,3,0.007,4,0.007,5,0.003,7,0.051,8,0.675,10,2.342,12,2.64,18,2.961,26,2.424,27,0.508,29,0.997,30,0.001,31,0.716,32,0.165,33,0.585,34,1.782,35,1.466,36,2.618,40,2.824,47,0.704,95,0.141,96,1.543,97,1.479,99,0.742,101,0.005,103,0,104,0,112,0.283,113,1.445,129,1.748,135,1.566,142,2.129,148,1.224,153,1.627,158,1.336,183,2.233,185,2.006,205,2.022,206,1.179,224,1.053,228,1.061,231,1.014,277,0.521,279,1.515,317,2.919,365,2.602,433,0.447,436,3.324,569,1.125,579,1.675,589,0.78,591,0.863,614,3.94,652,2.487,657,1.933,711,2.939,729,3.991,735,2.665,736,4.579,766,1.949,787,2.78,801,5.135,1027,1.111,1393,4.806,1476,2.203,1507,2.714,1770,2.369,2005,6.021,2007,2.907,2034,5.742,2037,3.724,2039,4.127,2042,4.922,2139,2.079,2436,8.317,2438,4.204,2439,4.127,2440,4.127,2441,4.204,2442,4.127,2443,2.603,2444,4.687,2445,3.518,2446,3.947,2448,4.204,2449,2.603,2451,2.603,2453,3.821,2454,3.991,2455,2.603,2458,4.204,2460,2.512,2461,6.993,2462,4.127,2465,2.603,2467,2.181,2468,2.252,2469,2.471,2471,2.603,2479,2.471,2516,5.513,2749,1.79,2907,3.358,3852,4.943,4541,1.265,4721,2.203,4751,2.556,4819,4.848,5089,4.943,5091,3.125,5437,4.342,6021,4.383,6040,3.486,6229,3.003,6626,6.138,6627,2.98,6628,4.489,6635,5.977,6705,2.306,6719,8.218,6722,6.191,6724,8.625,6729,2.656,6733,3.596,6748,2.656,6790,10.666,6791,3.18,6792,5.42,6793,5.853,6794,5.853,6795,5.135,6796,5.853,6797,5.853,6798,3.625,6799,5.42,6800,9.664,6801,3.625,6802,8.701,6803,5.853,6804,8.701,6805,3.625,6806,5.853,6807,3.625,6808,4.922,6809,3.18,6810,3.625,6811,5.135,6812,3.625,6813,5.853,6814,3.625,6815,5.853,6816,3.625,6817,3.625,6818,3.625,6819,2.656,6820,2.656,6821,2.656,6822,2.656,6823,2.656,6824,2.656,6825,3.625,6826,3.625,6827,3.625,6828,2.603,6829,4.204,6830,2.943,6831,3.18,6832,2.78,6833,3.356,6834,3.356,6835,2.512,6836,7.362,6837,5.135,6838,5.135,6839,3.356,6840,3.625,6841,3.625,6842,3.625,6843,3.625,6844,3.625,6845,3.625,6846,3.356,6847,3.625,6848,3.625,6849,3.356,6850,3.625,6851,3.18,6852,3.356,6853,3.625,6854,3.625,6855,3.625,6856,3.625,6857,3.625,6858,3.625,6859,3.356,6860,3.356,6861,4.922,6862,4.922,6863,5.853]],["title/classes/ContextExternalToolRequestMapper.html",[0,0.239,6864,6.094]],["body/classes/ContextExternalToolRequestMapper.html",[0,0.28,2,0.865,3,0.015,4,0.015,5,0.007,7,0.114,8,1.222,27,0.417,29,0.903,30,0.001,31,0.66,32,0.147,33,0.484,34,1.389,35,1.226,95,0.142,101,0.011,103,0.001,104,0.001,125,1.936,130,2.225,148,1.166,193,3.535,467,3.865,614,4.222,652,2.402,703,2.526,837,4.016,2671,3.801,2764,7.8,6040,4.845,6623,6.822,6626,5.384,6627,4.142,6628,6.239,6640,5.114,6748,5.961,6773,10.499,6780,9.93,6789,6.604,6828,5.843,6864,9.296,6865,10.913,6866,6.408,6867,10.596,6868,10.339,6869,10.596,6870,8.135,6871,10.339,6872,7.137,6873,8.135,6874,8.911,6875,7.137,6876,8.135,6877,8.135,6878,8.135,6879,8.135,6880,8.135,6881,7.533,6882,7.137,6883,6.841,6884,7.137]],["title/classes/ContextExternalToolResponse.html",[0,0.239,6885,5.64]],["body/classes/ContextExternalToolResponse.html",[0,0.237,2,0.732,3,0.013,4,0.013,5,0.006,7,0.097,27,0.527,29,0.894,30,0.001,31,0.385,32,0.169,33,0.559,34,1.85,47,0.962,55,1.901,95,0.124,101,0.009,103,0,104,0,112,0.74,125,1.637,129,2.054,130,1.882,190,2.37,201,4.752,202,1.581,296,3.577,433,0.848,458,2.753,614,4.425,703,2.136,866,3.417,871,2.519,886,2.165,2034,6.733,2035,3.377,3169,4.097,5437,6.388,6040,6.451,6623,7.847,6627,5.515,6647,4.433,6649,4.62,6651,4.941,6681,6.213,6697,4.554,6703,11.006,6705,6.891,6738,6.036,6740,5.586,6748,7.936,6789,5.586,6885,9.935,6886,6.036,6887,7.264,6888,8.771,6889,6.371,6890,6.371,6891,6.371,6892,6.371,6893,9.191,6894,6.371,6895,6.371,6896,6.371,6897,5.277,6898,6.371,6899,6.88,6900,6.88,6901,6.88,6902,6.88,6903,6.036,6904,6.371,6905,6.036]],["title/classes/ContextExternalToolResponseMapper.html",[0,0.239,6906,5.842]],["body/classes/ContextExternalToolResponseMapper.html",[0,0.232,2,0.716,3,0.013,4,0.013,5,0.006,7,0.095,8,1.076,27,0.455,29,0.93,30,0.001,31,0.68,32,0.144,33,0.528,34,1.149,35,1.338,95,0.132,101,0.009,103,0,104,0,130,1.841,135,1.584,148,1.201,153,1.756,402,3.338,467,4.005,614,4.2,652,2.182,703,2.089,829,3.969,837,3.323,871,3.415,1882,2.567,2005,6.347,2011,6.232,2038,5.659,2671,3.915,3981,5.904,3982,4.519,4819,6.631,5437,3.969,6040,4.008,6623,7.027,6627,4.749,6681,3.861,6705,4.282,6748,4.931,6780,9.311,6789,5.464,6865,11.242,6868,9.392,6872,5.904,6874,7.844,6883,5.659,6884,5.904,6885,9.856,6893,10.342,6906,7.844,6907,9.328,6908,9.328,6909,9.328,6910,9.328,6911,6.232,6912,9.328,6913,10.225,6914,6.73,6915,10.457,6916,9.328,6917,6.232,6918,6.232,6919,5.904,6920,5.659,6921,5.301,6922,4.664,6923,5.904,6924,6.73,6925,6.73,6926,6.73,6927,6.73,6928,8.638,6929,6.73,6930,6.73,6931,5.464,6932,6.232,6933,6.232,6934,5.904,6935,5.659,6936,6.232,6937,6.73]],["title/injectables/ContextExternalToolRule.html",[589,0.926,1866,5.842]],["body/injectables/ContextExternalToolRule.html",[0,0.253,3,0.014,4,0.014,5,0.007,7,0.103,8,1.142,27,0.441,29,0.858,30,0.001,31,0.627,32,0.149,33,0.512,35,1.146,95,0.147,101,0.01,103,0,104,0,122,2.691,135,0.958,148,0.98,183,4.274,205,2.769,228,1.331,277,1.055,290,3.247,400,2.188,433,0.905,478,2.062,589,1.32,591,1.748,614,3.973,653,4.626,711,3.822,1237,2.166,1775,6.598,1801,8.014,1838,8.013,1866,8.328,1981,4.733,1985,6.154,1992,6.555,2005,7.007,2007,3.649,3663,6.555,3664,4.933,3667,6.465,3669,4.933,3670,6.65,3671,7.257,3852,6.65,6719,9.952,6733,4.514,6938,11.991,6939,6.802,6940,6.802,6941,6.802,6942,6.802,6943,7.113,6944,7.346,6945,7.346]],["title/classes/ContextExternalToolScope.html",[0,0.239,6802,6.094]],["body/classes/ContextExternalToolScope.html",[0,0.222,2,0.685,3,0.012,4,0.012,5,0.006,7,0.09,8,1.043,26,2.753,27,0.519,29,0.949,30,0.001,31,0.694,32,0.164,33,0.566,34,1.786,35,1.434,95,0.129,99,1.318,101,0.008,103,0,104,0,112,0.706,122,2.182,125,3.333,129,1.923,130,1.761,148,1.122,231,1.568,279,2.691,365,2.863,436,3.54,569,1.999,614,3.815,652,2.525,2034,6.239,2474,6.227,3852,4.324,5437,6.166,6229,5.385,6705,6.652,6719,4.718,6722,5.414,6733,3.956,6748,7.661,6750,4.39,6790,11.062,6802,11.734,6946,5.649,6947,6.073,6948,6.073,6949,6.073,6950,9.044,6951,9.044,6952,9.044,6953,9.044,6954,6.073,6955,6.073,6956,4.39,6957,4.324,6958,4.39,6959,4.39,6960,9.044,6961,6.438,6962,9.044,6963,6.438,6964,9.044,6965,6.438,6966,9.044,6967,6.438,6968,4.324,6969,6.073,6970,4.39,6971,4.324,6972,4.39,6973,4.324,6974,7.614]],["title/classes/ContextExternalToolSearchListResponse.html",[0,0.239,6975,6.094]],["body/classes/ContextExternalToolSearchListResponse.html",[0,0.322,2,0.994,3,0.018,4,0.018,5,0.009,7,0.131,27,0.455,29,0.716,30,0.001,31,0.523,32,0.157,33,0.427,95,0.132,101,0.012,103,0.001,104,0.001,112,0.904,125,2.225,183,3.565,190,1.678,202,2.147,296,3.024,339,3.962,433,1.152,614,4.296,860,8.865,861,6.478,864,6.64,866,4.643,881,5.104,2671,4.055,6623,7.277,6677,8.877,6703,10.207,6885,11.324,6975,10.154,6976,8.2]],["title/injectables/ContextExternalToolService.html",[589,0.926,6765,4.535]],["body/injectables/ContextExternalToolService.html",[0,0.17,3,0.009,4,0.009,5,0.005,7,0.069,8,0.861,12,3.366,26,2.591,27,0.486,29,0.946,30,0.001,31,0.692,32,0.154,33,0.565,35,1.397,36,2.8,95,0.146,99,1.012,101,0.006,103,0,104,0,135,1.574,142,1.799,148,1.063,153,0.811,183,2.847,228,1.814,277,0.711,279,2.068,317,3.03,365,2.199,433,0.92,579,1.416,589,0.995,591,1.177,614,4.322,652,2.041,657,2.88,703,2.317,711,4.145,1882,1.887,2004,4.765,2005,7.162,2007,3.707,2038,6.276,2671,3.228,2749,4.438,3550,4.173,6019,8.992,6021,8.458,6029,4.016,6042,4.581,6623,7.286,6626,7.475,6628,3.794,6654,11.043,6655,4.581,6682,5.361,6748,3.625,6765,4.872,6800,9.27,6828,3.553,6875,4.34,6922,3.428,6977,7.464,6978,7.464,6979,6.548,6980,7.464,6981,7.464,6982,7.464,6983,7.464,6984,7.204,6985,7.76,6986,4.947,6987,7.464,6988,4.947,6989,7.464,6990,4.581,6991,7.464,6992,4.581,6993,7.464,6994,4.947,6995,7.464,6996,4.947,6997,7.464,6998,4.947,6999,7.464,7000,4.947,7001,7.464,7002,4.638,7003,4.34,7004,3.704,7005,4.581,7006,4.947,7007,3.794,7008,8.045,7009,4.947,7010,4.947,7011,4.947,7012,7.464,7013,4.947,7014,7.464,7015,4.947,7016,4.947,7017,3.553,7018,3.553,7019,4.947,7020,4.947]],["title/injectables/ContextExternalToolUc.html",[589,0.926,7021,5.842]],["body/injectables/ContextExternalToolUc.html",[0,0.148,3,0.008,4,0.008,5,0.004,7,0.06,8,0.77,26,2.909,27,0.438,29,0.853,30,0.001,31,0.624,32,0.144,33,0.509,34,1.141,35,1.234,36,2.562,39,3.351,47,0.583,95,0.147,99,0.876,101,0.006,103,0,104,0,135,1.71,148,0.996,153,1.651,158,1.578,183,4.78,228,1.824,277,0.615,290,1.943,317,2.884,433,0.823,478,1.202,579,1.912,589,0.891,591,1.019,595,1.616,610,1.687,614,4.151,652,2.349,657,3.045,693,3.043,703,2.074,711,3.16,1775,5.538,1780,2.603,1862,5.947,1882,1.633,1952,3.019,1956,3.373,1960,5.861,1961,2.576,1963,3.373,2004,5.335,2005,7.046,2007,2.127,2034,5.107,2035,2.102,2061,5.861,2653,1.98,2671,3.592,3287,2.435,3550,6.229,4110,3.137,4541,4.226,5437,5.474,6623,6.67,6626,4.422,6705,5.905,6735,6.118,6765,7.271,6766,9.043,6769,3.965,6770,3.476,6828,3.075,6871,11.277,6921,3.373,6931,6.67,6979,5.861,6985,7.372,7002,2.661,7017,4.799,7021,5.618,7022,11.523,7023,3.757,7024,7.608,7025,8.215,7026,6.187,7027,7.608,7028,7.608,7029,4.282,7030,7.986,7031,4.282,7032,4.282,7033,4.282,7034,6.681,7035,4.282,7036,4.282,7037,4.282,7038,6.681,7039,4.282,7040,4.282,7041,4.282,7042,4.282,7043,3.965,7044,3.373,7045,4.282,7046,8.215,7047,6.681,7048,6.187,7049,4.282,7050,4.282,7051,8.142,7052,4.282,7053,6.187,7054,6.187,7055,6.681,7056,3.476,7057,4.282,7058,6.187,7059,4.282,7060,4.282,7061,3.284,7062,9.281,7063,4.282,7064,4.282,7065,6.187,7066,4.282]],["title/injectables/ContextExternalToolValidationService.html",[589,0.926,6766,5.64]],["body/injectables/ContextExternalToolValidationService.html",[0,0.23,3,0.013,4,0.013,5,0.006,7,0.094,8,1.068,27,0.419,29,0.816,30,0.001,31,0.677,32,0.133,33,0.487,35,1.072,36,1.96,95,0.152,101,0.009,103,0,104,0,135,1.208,145,2.498,153,1.093,183,3.534,219,3.726,228,2.086,277,0.957,317,2.713,338,5.692,356,4.474,393,3.29,433,1.142,579,1.907,589,1.235,591,1.586,614,4.26,619,4.786,640,4.094,652,2.618,657,2.633,703,2.876,1213,5.894,1882,2.542,1924,4.617,2004,4.911,2005,7.115,2007,4.601,2032,3.521,2344,5.631,2671,4.143,2749,4.574,3773,5.603,4187,5.409,4188,4.617,5198,4.094,6020,10.118,6057,5.248,6070,6.17,6071,5.846,6623,6.662,6628,5.11,6654,10.098,6735,4.05,6765,8.174,6766,7.521,6921,5.248,6922,4.617,6923,5.846,6984,7.893,6985,8.501,7002,5.756,7007,5.11,7017,4.786,7067,9.264,7068,6.17,7069,6.663,7070,9.264,7071,9.264,7072,6.663,7073,5.409,7074,6.663,7075,6.663,7076,6.663,7077,6.17,7078,7.79,7079,6.17,7080,6.663,7081,6.663,7082,5.846,7083,6.17,7084,6.663,7085,6.663,7086,6.663,7087,6.663,7088,6.663,7089,6.663]],["title/classes/ContextRef.html",[0,0.239,6626,4.598]],["body/classes/ContextRef.html",[0,0.329,2,1.016,3,0.018,4,0.018,5,0.009,7,0.134,27,0.499,29,0.731,30,0.001,31,0.535,32,0.172,33,0.436,34,2.168,47,0.832,95,0.109,101,0.013,103,0.001,104,0.001,112,0.916,232,3.178,433,1.177,435,3.332,458,3.82,459,5.026,614,4.077,2034,6.984,2035,4.686,2108,4.167,4679,5.804,6623,7.662,6624,11.613,6626,8.993,7090,8.841,7091,11.726,7092,9.547]],["title/classes/ContextRefParams.html",[0,0.239,7093,6.094]],["body/classes/ContextRefParams.html",[0,0.402,2,1.008,3,0.018,4,0.018,5,0.009,7,0.133,26,2.604,27,0.459,30,0.001,32,0.158,95,0.151,99,1.94,101,0.012,103,0.001,104,0.001,112,0.912,190,2.096,200,2.905,202,2.178,296,3.306,855,4.726,899,4.317,2034,7.461,2035,4.653,2669,5.734,5437,7.462,6705,8.05,6712,7.696,6755,11.716,6756,6.946,7093,10.243,7094,9.48,7095,9.48,7096,9.48,7097,9.48]],["title/injectables/ConverterUtil.html",[589,0.926,2337,5.842]],["body/injectables/ConverterUtil.html",[0,0.443,3,0.019,4,0.019,5,0.009,7,0.138,8,1.376,27,0.387,29,0.914,30,0.001,31,0.55,32,0.149,33,0.449,35,1.138,47,0.912,95,0.136,101,0.013,103,0.001,104,0.001,148,0.972,157,2.262,277,1.412,532,4.961,589,1.591,591,2.339,2337,10.037,5056,10.471,7098,9.828,7099,11.935,7100,11.935,7101,9.828,7102,9.828,7103,9.828,7104,9.101,7105,9.828]],["title/classes/CookiesDto.html",[0,0.239,7106,5.842]],["body/classes/CookiesDto.html",[0,0.343,2,1.058,3,0.019,4,0.019,5,0.009,7,0.14,27,0.509,29,0.762,30,0.001,31,0.557,32,0.161,33,0.455,47,0.953,101,0.013,103,0.001,104,0.001,112,0.939,232,3.259,433,1.226,435,3.472,7106,11.559,7107,9.95,7108,11.338,7109,11.338,7110,12.025,7111,9.95,7112,9.95,7113,9.95,7114,9.95,7115,9.95]],["title/classes/CopyApiResponse.html",[0,0.239,7116,5.472]],["body/classes/CopyApiResponse.html",[0,0.232,2,0.715,3,0.013,4,0.013,5,0.006,7,0.094,27,0.507,29,0.515,30,0.001,31,0.376,32,0.178,33,0.609,34,2.199,47,0.958,95,0.106,100,3.252,101,0.009,103,0,104,0,112,0.728,125,1.599,155,4.163,157,3.106,190,2.254,201,4.712,202,1.544,296,2.795,374,4.031,402,4.769,433,1.148,821,3.421,866,4.628,886,3.635,896,6.784,1361,6.136,1372,4.905,1562,10.338,2032,3.542,2048,5.333,2108,2.933,2126,3.925,2602,7.022,2808,6.167,3025,3.224,3284,9.557,3285,9.086,3286,4.128,3581,8.174,5968,6.692,7116,10.338,7117,11.037,7118,6.719,7119,7.339,7120,6.257,7121,9.384,7122,6.719,7123,8.174,7124,6.719,7125,6.222,7126,8.628,7127,6.692,7128,6.719,7129,6.719,7130,8.628,7131,6.719,7132,6.719,7133,6.719,7134,6.719]],["title/interfaces/CopyFileDO.html",[159,0.714,7135,5.64]],["body/interfaces/CopyFileDO.html",[3,0.015,4,0.019,5,0.007,7,0.108,10,3.074,26,2.849,30,0.001,31,0.712,32,0.143,33,0.466,34,2.171,39,2.126,47,0.973,55,1.542,83,2.237,95,0.116,99,1.572,101,0.018,103,0,104,0,112,0.797,135,1.002,159,1.255,161,1.825,290,1.817,374,3.324,703,2.385,870,4.195,886,3.606,1080,3.518,1154,6.959,1444,4.262,1936,3.608,2032,2.92,2218,3.432,2219,3.863,2220,3.728,2602,4.671,2928,3.516,2980,3.482,3128,3.465,3370,3.448,3419,4.102,3620,5.798,3633,5.518,3885,4.817,3993,4.489,4212,4.489,4541,2.681,5187,5.498,5412,4.408,5729,4.369,5741,4.576,6606,4.262,6607,4.817,7135,8.286,7136,7.115,7137,7.115,7138,8.609,7139,6.052,7140,7.115,7141,6.461,7142,7.115,7143,7.115,7144,7.115,7145,6.959,7146,7.827,7147,7.827,7148,7.827,7149,6.462,7150,5.016,7151,5.016,7152,7.383,7153,6.238,7154,6.052,7155,5.239]],["title/interfaces/CopyFileDomainObjectProps.html",[159,0.714,7156,5.842]],["body/interfaces/CopyFileDomainObjectProps.html",[3,0.019,4,0.019,5,0.011,7,0.138,26,2.9,30,0.001,31,0.748,32,0.16,33,0.545,34,2.281,47,0.911,95,0.112,99,2.006,101,0.013,103,0.001,104,0.001,112,0.931,125,3.056,159,1.008,161,2.328,185,3.36,1882,3.74,3851,4.929,7138,9.418,7156,10.022,7157,4.653,7158,9.079,7159,9.079]],["title/classes/CopyFileDto.html",[0,0.239,7160,5.328]],["body/classes/CopyFileDto.html",[0,0.31,2,0.957,3,0.017,4,0.017,5,0.008,7,0.126,26,2.748,27,0.51,29,0.689,30,0.001,31,0.726,32,0.161,33,0.565,34,2.11,47,0.802,95,0.129,99,1.84,101,0.012,103,0.001,104,0.001,112,0.882,125,2.689,161,2.135,339,2.638,433,1.108,458,3.597,864,6.481,2183,3.543,3851,6.713,7138,8.71,7156,10.898,7157,6.337,7160,8.665,7161,13.352,7162,7.561,7163,11.297,7164,8.991,7165,8.991,7166,7.3,7167,7.3,7168,7.3,7169,7.3]],["title/classes/CopyFileListResponse.html",[0,0.239,7170,5.472]],["body/classes/CopyFileListResponse.html",[0,0.38,2,0.645,3,0.011,4,0.011,5,0.006,7,0.085,27,0.459,29,0.464,30,0.001,31,0.566,32,0.164,33,0.534,34,1.48,47,0.924,55,2.826,56,6.035,59,2.69,70,6.509,83,1.764,95,0.126,101,0.014,103,0,104,0,110,2.095,112,0.677,125,1.442,190,1.981,201,3.927,202,1.392,205,1.235,231,1.753,296,3.607,298,2.621,339,3.668,433,0.747,436,3.27,458,3.466,862,7.944,863,6.879,864,6.331,866,3.01,868,4.852,869,2.974,870,4.73,871,2.218,872,4.272,873,5.512,874,5.061,875,4.01,876,3.146,877,4.272,878,4.272,880,5.512,881,4.73,886,3.182,1315,4.919,1319,4.773,1444,3.361,2183,3.414,3023,6.284,3170,4.723,3885,2.86,5187,2.907,6606,3.361,6607,2.86,6616,3.855,7138,4.272,7145,6.895,7149,6.222,7154,4.773,7155,4.132,7157,4.112,7166,4.919,7167,4.919,7168,4.919,7169,4.919,7170,6.824,7171,5.734,7172,5.096,7173,10.071,7174,6.059,7175,6.059,7176,5.267,7177,8.385,7178,8.264,7179,5.096,7180,4.919,7181,5.096,7182,3.283,7183,5.096,7184,3.904,7185,5.096,7186,5.096,7187,5.096,7188,4.773,7189,4.919,7190,5.096,7191,5.096,7192,4.132,7193,4.919,7194,4.919,7195,4.44,7196,5.096,7197,5.096,7198,4.919,7199,5.096,7200,4.538]],["title/classes/CopyFileParams.html",[0,0.239,7201,4.814]],["body/classes/CopyFileParams.html",[0,0.471,2,0.692,3,0.012,4,0.017,5,0.008,7,0.091,26,2.558,27,0.358,30,0.001,32,0.155,39,1.799,47,0.978,95,0.146,99,1.33,101,0.018,103,0,104,0,110,2.248,112,0.711,122,1.9,157,1.497,159,0.668,190,1.635,195,1.423,199,5.051,200,1.992,201,4.422,202,1.494,203,6.115,205,1.325,296,3.695,298,2.812,299,4.843,300,4.359,403,3.289,855,5.029,856,6.316,886,3.307,899,2.961,1078,2.851,1080,2.241,1169,3.763,1237,1.917,1290,5.867,1291,4.303,1292,4.303,2980,5.433,3170,4.909,3885,3.069,4541,2.269,5213,6.607,6607,3.069,6788,6.448,7149,6.421,7151,4.244,7152,8.005,7157,4.988,7171,6.956,7201,6.31,7202,4.584,7203,7.41,7204,5.467,7205,6.501,7206,6.02,7207,6.501,7208,4.505,7209,8.224,7210,8.029,7211,8.029,7212,4.584,7213,4.505,7214,4.505,7215,4.584,7216,4.433,7217,6.209,7218,4.366,7219,4.433,7220,4.505,7221,4.433,7222,4.189,7223,4.584,7224,4.584,7225,4.584,7226,4.189,7227,4.189,7228,4.303,7229,4.433,7230,4.584]],["title/classes/CopyFileResponse.html",[0,0.239,7173,5.472]],["body/classes/CopyFileResponse.html",[0,0.393,2,0.694,3,0.012,4,0.012,5,0.006,7,0.092,27,0.449,29,0.5,30,0.001,31,0.672,32,0.155,33,0.481,34,1.948,47,0.971,55,2.563,56,5.383,70,5.806,83,1.899,95,0.13,101,0.015,103,0,104,0,110,2.255,112,0.713,190,1.89,201,4.428,202,1.498,205,1.33,231,1.582,296,3.665,298,2.822,339,3.521,433,0.804,458,3.652,862,6.542,863,5.022,864,6.542,870,3.561,880,5.807,881,4.983,886,3.313,1315,5.295,1319,5.137,1444,3.618,2183,3.597,3020,4.599,3023,6.542,3170,4.918,3885,3.079,5187,3.129,6606,3.618,6607,3.079,6616,4.15,7138,7.423,7145,7.179,7149,6.43,7154,5.137,7155,4.447,7157,5.696,7166,5.295,7167,5.295,7168,5.295,7169,5.295,7170,5.137,7171,7.944,7172,5.485,7173,10.263,7176,5.548,7177,8.621,7178,8.539,7179,5.485,7180,5.295,7181,5.485,7182,3.534,7183,5.485,7184,4.202,7185,5.485,7186,5.485,7187,5.485,7188,5.137,7189,5.295,7190,5.485,7191,5.485,7192,4.447,7193,5.295,7194,5.295,7195,4.779,7196,5.485,7197,5.485,7198,5.295,7199,5.485,7200,4.884,7231,6.522,7232,6.522,7233,6.522,7234,6.522]],["title/classes/CopyFileResponseBuilder.html",[0,0.239,7235,6.433]],["body/classes/CopyFileResponseBuilder.html",[0,0.327,2,1.011,3,0.018,4,0.018,5,0.012,7,0.133,8,1.348,27,0.374,29,0.728,30,0.001,31,0.76,32,0.118,33,0.434,34,1.997,35,1.1,47,1.011,95,0.108,101,0.012,103,0.001,104,0.001,135,1.239,148,0.94,153,1.559,467,3.688,507,5.15,711,2.816,837,4.691,7138,9.318,7157,5.549,7173,10.882,7235,10.827,7236,11.692,7237,8.336,7238,11.692,7239,9.502]],["title/interfaces/CopyFiles.html",[159,0.714,7240,5.202]],["body/interfaces/CopyFiles.html",[3,0.017,4,0.017,5,0.01,7,0.123,30,0.001,32,0.138,47,1.044,55,2.449,95,0.1,101,0.018,103,0.001,104,0.001,112,0.868,125,2.644,159,1.391,161,2.08,339,3.259,414,5.621,1302,6.768,1304,4.979,1444,4.856,2232,5.323,5187,5.33,6513,4.979,7240,8.319,7241,6.557,7242,6.897,7243,9.844,7244,9.844,7245,5.504,7246,6.557,7247,5.97,7248,5.97,7249,5.97,7250,5.97,7251,6.174,7252,5.441,7253,5.323,7254,5.323,7255,6.416,7256,8.521,7257,8.521,7258,6.557]],["title/classes/CopyFilesOfParentParamBuilder.html",[0,0.239,7259,6.094]],["body/classes/CopyFilesOfParentParamBuilder.html",[0,0.316,2,0.976,3,0.022,4,0.025,5,0.011,7,0.129,8,1.319,26,2.687,27,0.361,29,0.703,30,0.001,31,0.514,32,0.114,33,0.419,35,1.062,39,3.167,95,0.142,99,1.878,101,0.012,103,0.001,104,0.001,135,1.197,148,0.908,161,2.179,193,3.987,467,3.631,507,5.04,2980,5.916,3620,5.789,3851,5.753,5187,5.49,7157,5.43,7259,10.038,7260,11.442,7261,8.497,7262,11.442,7263,11.155,7264,8.497,7265,10.485,7266,8.497]],["title/classes/CopyFilesOfParentParams.html",[0,0.239,7151,4.535]],["body/classes/CopyFilesOfParentParams.html",[0,0.473,2,0.705,3,0.013,4,0.018,5,0.009,7,0.093,26,2.574,27,0.261,30,0.001,32,0.15,39,1.835,47,0.974,95,0.146,99,1.357,101,0.018,103,0,104,0,110,2.293,112,0.721,122,1.926,157,1.526,159,0.682,190,1.19,195,1.451,199,5.12,200,2.031,201,4.46,202,1.523,203,6.199,205,1.352,296,3.704,298,2.868,299,4.873,300,4.396,403,3.354,855,5.061,856,6.37,886,3.342,899,3.019,1078,2.907,1080,2.286,1169,3.838,1237,1.955,1290,5.948,1291,4.388,1292,4.388,2980,5.472,3170,4.961,3885,3.13,4541,2.314,5213,6.676,6607,3.13,6788,6.494,7149,6.476,7151,6.026,7152,8.055,7157,4.381,7171,6.11,7201,4.595,7202,4.675,7203,4.675,7206,6.14,7208,4.595,7209,8.275,7210,8.098,7211,8.098,7212,4.675,7213,4.595,7214,4.595,7215,4.675,7216,4.521,7217,6.295,7218,4.452,7219,4.521,7220,4.595,7221,4.521,7222,4.272,7223,4.675,7224,4.675,7225,4.675,7226,4.272,7227,4.272,7228,4.388,7229,4.521,7230,4.675,7267,6.63]],["title/classes/CopyFilesOfParentPayload.html",[0,0.239,7221,4.737]],["body/classes/CopyFilesOfParentPayload.html",[0,0.47,2,0.678,3,0.012,4,0.021,5,0.008,7,0.09,26,2.612,27,0.409,30,0.001,32,0.158,39,2.879,47,0.967,95,0.145,99,1.305,101,0.018,103,0,104,0,110,2.205,112,0.702,122,1.875,157,1.468,159,0.656,190,1.867,195,1.395,199,4.983,200,1.954,201,4.385,202,1.465,203,6.033,205,1.3,296,3.687,298,2.759,299,4.813,300,4.322,403,3.226,855,5.136,856,6.263,886,3.273,899,2.904,1078,2.796,1080,2.199,1169,3.691,1237,1.88,1290,5.788,1291,4.221,1292,4.221,2980,5.394,3170,4.858,3885,3.01,4541,2.226,5213,6.538,6607,3.01,6788,6.824,7149,6.367,7151,4.163,7152,8.175,7157,5.359,7171,7.473,7201,4.419,7202,4.496,7203,4.496,7208,4.419,7209,8.173,7210,7.961,7211,7.961,7212,4.496,7213,4.419,7214,4.419,7215,4.496,7216,4.348,7217,6.126,7218,4.282,7219,4.348,7220,4.419,7221,6.126,7222,4.109,7223,4.496,7224,4.496,7225,4.496,7226,4.109,7227,4.109,7228,4.221,7229,4.348,7230,4.496,7268,6.377,7269,6.377,7270,6.377]],["title/interfaces/CopyFilesRequestInfo.html",[159,0.714,7265,5.842]],["body/interfaces/CopyFilesRequestInfo.html",[3,0.023,4,0.026,5,0.012,7,0.138,26,2.754,30,0.001,32,0.16,39,3.703,95,0.136,99,2.016,101,0.013,103,0.001,104,0.001,112,0.934,159,1.013,161,2.34,193,5.194,2980,6.064,3851,4.953,7157,4.675,7158,9.123,7263,11.108,7265,10.052,7271,8.643]],["title/injectables/CopyFilesService.html",[589,0.926,7272,5.842]],["body/injectables/CopyFilesService.html",[0,0.205,3,0.011,4,0.019,5,0.008,7,0.084,8,0.987,26,2.254,27,0.431,29,0.889,30,0.001,31,0.697,32,0.159,33,0.501,34,1.981,35,1.16,36,1.811,39,2.773,47,0.423,95,0.142,99,1.22,100,2.08,101,0.011,103,0,104,0,118,4.695,135,1.771,141,3.672,148,1.147,153,0.978,155,1.891,161,1.416,228,1.552,277,0.856,317,2.171,402,3.064,412,2.638,433,1.055,532,4.616,589,1.142,591,1.419,652,2.595,657,1.364,675,3.035,896,3.333,1562,4.695,2980,3.88,3255,8.849,3273,7.15,3284,4.695,3285,4.463,3286,3.663,3287,3.39,3305,8.627,3306,8.426,3313,5.012,3851,6.072,5187,2.86,5270,4.571,5362,8.791,6144,5.448,7138,7.065,7151,3.891,7157,5.505,7160,9.542,7259,5.229,7272,7.2,7273,10.742,7274,5.96,7275,10.02,7276,8.562,7277,7.929,7278,5.96,7279,8.936,7280,5.96,7281,5.96,7282,5.96,7283,8.562,7284,5.96,7285,10.02,7286,11.521,7287,8.562,7288,5.96,7289,5.96,7290,5.229,7291,5.52,7292,8.562,7293,5.96,7294,5.96,7295,5.96,7296,5.96,7297,5.96,7298,7.929,7299,5.96,7300,7.512,7301,5.96,7302,5.96,7303,4.463,7304,5.96,7305,5.96,7306,5.52,7307,5.96,7308,8.562,7309,5.96,7310,5.52,7311,4.695,7312,4.839,7313,5.229,7314,8.562,7315,5.96,7316,5.96]],["title/modules/CopyHelperModule.html",[252,1.836,7317,5.202]],["body/modules/CopyHelperModule.html",[0,0.337,3,0.019,4,0.019,5,0.009,30,0.001,95,0.136,101,0.013,103,0.001,104,0.001,252,3.39,254,3.523,255,3.73,256,3.826,257,3.812,258,3.798,259,4.665,260,4.776,269,4.655,270,3.757,271,3.679,277,1.405,3255,10.642,7117,8.224,7317,10.544,7318,9.78,7319,9.78,7320,9.78,7321,9.056,7322,9.78,7323,9.056,7324,9.78]],["title/injectables/CopyHelperService.html",[589,0.926,3255,5.09]],["body/injectables/CopyHelperService.html",[0,0.237,3,0.013,4,0.013,5,0.006,7,0.097,8,1.092,26,1.416,27,0.426,29,0.83,30,0.001,31,0.726,32,0.135,33,0.495,35,1.254,47,0.937,95,0.133,99,1.408,101,0.009,103,0,104,0,129,2.054,130,1.882,135,1.65,145,2.579,148,1.282,153,1.129,185,2.358,277,0.988,301,6.102,402,4.526,589,1.263,591,1.637,756,3.747,896,3.847,1767,3.786,1849,3.982,2124,3.647,2769,5.914,3255,6.94,3273,8.617,3285,8.111,3309,8.771,3313,5.786,3962,6.371,5219,4.62,6198,4.941,7117,9.813,7311,8.531,7325,11.669,7326,6.88,7327,9.471,7328,9.471,7329,9.471,7330,9.471,7331,6.88,7332,10.831,7333,9.471,7334,9.813,7335,6.88,7336,9.471,7337,6.88,7338,6.371,7339,6.88,7340,9.471,7341,6.88,7342,5.786,7343,6.88,7344,6.88,7345,5.786,7346,6.88,7347,6.88,7348,6.88,7349,6.88,7350,10.831,7351,6.88,7352,5.152,7353,9.471,7354,6.88,7355,9.471,7356,6.88,7357,6.88,7358,6.88,7359,6.88,7360,6.88,7361,6.88,7362,6.88]],["title/classes/CopyMapper.html",[0,0.239,7363,5.64]],["body/classes/CopyMapper.html",[0,0.245,2,0.755,3,0.013,4,0.013,5,0.007,7,0.1,8,1.116,26,2.689,27,0.433,29,0.843,30,0.001,31,0.617,32,0.147,33,0.503,35,1.274,39,3.681,95,0.152,99,1.453,100,4.456,101,0.009,103,0,104,0,135,1.542,148,1.089,153,1.164,155,2.252,326,3.678,402,2.541,467,3.927,478,1.993,830,5.367,2026,4.722,2926,5.205,2928,4.429,3273,8.077,3285,5.316,3305,5.592,5705,4.362,7116,9.313,7117,9.943,7311,7.622,7338,6.574,7363,7.856,7364,7.099,7365,9.677,7366,9.677,7367,9.677,7368,9.943,7369,7.099,7370,10.195,7371,9.677,7372,9.943,7373,7.099,7374,10.195,7375,9.677,7376,7.099,7377,7.099,7378,8.961,7379,7.099,7380,7.099,7381,7.099,7382,7.099,7383,7.099,7384,7.099,7385,9.677,7386,9.677,7387,5.97,7388,7.099,7389,7.099,7390,7.099,7391,9.677,7392,7.099,7393,7.099,7394,7.099,7395,7.099,7396,7.099,7397,8.961,7398,6.574]],["title/modules/CoreModule.html",[252,1.836,7399,4.476]],["body/modules/CoreModule.html",[0,0.284,3,0.016,4,0.016,5,0.008,30,0.001,95,0.148,101,0.011,103,0.001,104,0.001,157,1.896,252,3.435,254,2.966,255,3.141,256,3.221,257,3.21,258,3.198,259,2.995,260,4.414,265,6.562,269,4.178,270,3.164,271,3.098,276,4.178,277,1.183,1080,4.087,1373,4.954,2445,3.428,4190,6.882,4899,8.413,5040,8.413,5254,7.531,7399,9.192,7400,8.235,7401,8.235,7402,8.235,7403,11.2,7404,11.684,7405,11.684,7406,8.235,7407,7.672,7408,8.982,7409,9.891,7410,10.681,7411,7.672,7412,7.998,7413,10.681,7414,7.402,7415,9.371,7416,9.891,7417,10.681,7418,8.982,7419,6.686]],["title/interfaces/CoreModuleConfig.html",[159,0.714,7420,5.842]],["body/interfaces/CoreModuleConfig.html",[3,0.02,4,0.02,5,0.01,30,0.001,95,0.143,101,0.014,103,0.001,104,0.001,159,1.093,161,2.526,231,2.169,252,2.81,311,6.943,393,5.251,2445,4.427,7420,10.522,7421,10.635,7422,11.18,7423,11.18]],["title/classes/County.html",[0,0.239,7424,5.842]],["body/classes/County.html",[0,0.358,2,0.838,3,0.015,4,0.015,5,0.007,7,0.111,27,0.485,29,0.604,30,0.001,31,0.737,32,0.154,33,0.36,47,0.987,55,2.083,83,3.022,95,0.118,96,2.077,101,0.015,103,0.001,104,0.001,112,0.81,159,0.81,195,2.271,196,3.839,197,2.886,205,2.115,223,3.829,224,2.289,225,3.987,226,3.571,229,3.117,231,1.366,232,2.135,233,2.459,430,3.227,431,3.364,433,0.971,460,4.79,461,5.373,462,4.79,463,5.373,1835,4.038,2183,4.09,2685,5.284,4607,5.541,4617,3.536,6681,5.953,6697,5.215,7424,11.582,7425,11.243,7426,6.913,7427,10.18,7428,10.18,7429,9.104,7430,7.879,7431,7.879,7432,7.879,7433,7.879,7434,8.727,7435,9.104,7436,9.104,7437,6.913,7438,6.913,7439,6.913,7440,6.913,7441,6.913,7442,6.913,7443,5.46,7444,6.913,7445,6.913,7446,6.206]],["title/entities/Course.html",[205,1.416,2032,2.64]],["body/entities/Course.html",[0,0.187,2,0.85,3,0.006,4,0.006,5,0.003,7,0.141,26,2.064,27,0.482,30,0.001,31,0.494,32,0.148,33,0.51,34,1.179,39,1.91,47,0.89,62,3.229,83,3.159,95,0.133,96,0.87,101,0.009,103,0,104,0,112,0.423,122,1.131,125,2.781,129,3.489,130,2.968,134,1.166,135,1.666,148,1.263,153,1.982,155,1.047,157,2.033,159,0.339,190,2.199,195,2.644,196,2.921,197,0.918,205,1.105,206,1.073,211,3.828,219,3.032,223,3.553,224,0.958,225,2.083,226,1.495,229,1.305,231,0.572,232,0.894,233,1.03,290,2.245,304,1.629,371,1.749,403,2.743,433,0.407,458,1.32,467,1.579,526,1.775,540,1.159,569,1.683,578,1.725,579,1.552,595,1.246,615,3.296,652,1.629,692,4.168,700,2.616,701,2.616,703,2.481,711,3.31,756,1.305,774,2.775,886,2.172,962,2.327,1237,0.973,1312,2.546,1821,2.631,1829,2.305,1835,2.778,1925,2.006,2032,3.608,2163,1.525,2183,3.15,2911,5.402,2915,6.481,2919,3.828,2927,2.327,2929,2.074,3370,3.587,3421,2.216,3422,2.154,3601,1.928,3705,2.126,3859,3.54,3866,3.056,4002,2.37,4047,2.074,4071,3.589,4072,3.589,4127,2.216,4394,1.946,4541,1.892,4542,5.635,4557,2.775,4591,5.057,4617,2.434,4692,5.688,5412,1.893,5670,2.546,6147,2.074,6148,3.229,6149,2.216,6152,3.45,6171,3.589,6172,2.126,6179,3.54,6192,2.25,6211,3.641,7352,2.471,7411,2.37,7447,2.895,7448,6.735,7449,6.02,7450,6.341,7451,5.367,7452,5.111,7453,4.783,7454,6.341,7455,5.617,7456,5.635,7457,6.469,7458,5.021,7459,4.757,7460,3.3,7461,4.757,7462,3.3,7463,3.3,7464,4.757,7465,3.3,7466,4.757,7467,3.3,7468,7.012,7469,2.775,7470,3.3,7471,4.757,7472,3.3,7473,4.757,7474,3.3,7475,2.895,7476,3.3,7477,2.895,7478,3.3,7479,3.3,7480,6.391,7481,3.3,7482,4.757,7483,3.3,7484,3.3,7485,3.3,7486,2.895,7487,5.168,7488,2.895,7489,2.895,7490,2.895,7491,3.332,7492,3.973,7493,2.679,7494,2.05,7495,1.861,7496,4.402,7497,4.402,7498,2.895,7499,2.679,7500,2.37,7501,2.895,7502,2.895,7503,2.775,7504,2.471,7505,2.895,7506,2.895,7507,2.599,7508,2.895,7509,3.369,7510,10.161,7511,4.957,7512,2.679,7513,3.589,7514,1.965,7515,2.074,7516,2.006,7517,2.679,7518,2.895,7519,2.895,7520,4.757,7521,4.757,7522,4.757,7523,6.489,7524,4.402,7525,4.159,7526,4.757,7527,4.06,7528,4.159,7529,2.471,7530,2.895,7531,2.895,7532,2.895,7533,2.895,7534,2.895,7535,4.757,7536,2.895,7537,2.895,7538,2.895,7539,2.895,7540,2.895,7541,2.895,7542,2.895,7543,5.804,7544,6.055,7545,2.895,7546,2.895,7547,2.895,7548,2.895,7549,2.895,7550,2.418,7551,2.895,7552,2.895,7553,2.895,7554,2.895,7555,2.895,7556,2.895,7557,2.775,7558,2.895,7559,6.055,7560,4.757,7561,2.895,7562,2.895,7563,2.679,7564,2.287,7565,2.895,7566,5.603,7567,2.895,7568,2.895,7569,2.895,7570,2.895]],["title/controllers/CourseController.html",[314,2.659,7571,6.094]],["body/controllers/CourseController.html",[0,0.236,3,0.013,4,0.013,5,0.006,7,0.096,8,1.088,27,0.371,29,0.723,30,0.001,31,0.529,32,0.135,33,0.431,35,1.092,36,2.463,56,4.455,70,4.805,95,0.154,100,2.389,101,0.009,103,0,104,0,135,1.593,141,4.632,148,0.934,153,1.772,190,1.694,195,1.498,202,1.572,228,1.958,274,2.861,277,0.983,298,2.961,314,2.62,316,3.302,317,2.736,325,6.427,349,6.588,365,4.802,388,4.047,392,3.578,395,3.681,398,3.709,433,0.844,579,1.959,634,6.253,651,3.463,652,2.202,657,2.159,863,5.193,871,4.737,883,8.209,1447,5.015,2351,9.477,2392,3.6,2923,5.003,3189,7.052,3209,3.531,4030,4.118,5412,5.414,5686,9.477,7571,8.28,7572,6.845,7573,10.003,7574,6.845,7575,10.215,7576,10.215,7577,9.438,7578,6.845,7579,6.338,7580,7.348,7581,6.845,7582,6.246,7583,5.557,7584,4.118,7585,6.005,7586,6.845,7587,9.084,7588,6.338,7589,6.845,7590,9.084,7591,6.845,7592,5.756,7593,6.845,7594,6.845,7595,6.845,7596,6.845,7597,5.391,7598,6.845,7599,6.845,7600,5.557,7601,6.845,7602,6.845,7603,6.845,7604,6.845,7605,6.845,7606,5.756,7607,6.845]],["title/injectables/CourseCopyService.html",[589,0.926,7608,5.64]],["body/injectables/CourseCopyService.html",[0,0.173,3,0.01,4,0.01,5,0.005,7,0.071,8,0.87,10,2.009,26,1.867,27,0.426,29,0.828,30,0.001,31,0.66,32,0.165,33,0.494,35,1.167,36,2.134,39,2.51,47,0.536,83,1.462,95,0.134,99,1.028,101,0.007,103,0,104,0,125,1.195,135,1.731,145,1.882,148,0.998,153,1.238,155,1.593,158,1.851,172,3.209,195,1.099,228,2.058,268,7.163,277,0.721,279,2.099,290,2.933,317,2.687,326,2.869,402,4.339,433,0.93,478,1.41,589,1.006,591,1.195,652,2.729,657,2.891,703,1.559,896,4.221,1910,6.98,1997,3.955,2026,4.426,2032,5.088,2047,3.606,2050,3.823,2602,3.052,2959,4.076,3239,9.909,3241,3.955,3251,8.824,3255,8.634,3261,3.955,3273,7.415,3281,10.518,3283,4.222,3284,3.955,3285,3.76,3286,3.085,3287,2.855,3298,7.957,3304,4.405,3305,3.955,3306,4.222,3332,3.851,3585,3.606,4692,3.235,5403,4.65,7311,3.955,7334,6.347,7345,7.626,7448,3.372,7449,3.424,7454,3.606,7457,3.679,7608,6.128,7609,11.359,7610,7.626,7611,7.548,7612,7.548,7613,7.548,7614,4.222,7615,9.567,7616,5.021,7617,5.021,7618,7.548,7619,10.086,7620,5.021,7621,7.548,7622,12.634,7623,5.021,7624,11.359,7625,7.548,7626,5.021,7627,5.021,7628,8.778,7629,6.622,7630,4.65,7631,5.021,7632,5.021,7633,5.021,7634,5.021,7635,5.021,7636,4.65,7637,5.021,7638,5.021,7639,5.021,7640,5.021,7641,5.021,7642,7.548,7643,5.021,7644,7.548,7645,5.021,7646,4.222,7647,5.021,7648,5.021,7649,5.021,7650,5.021,7651,5.021,7652,5.021,7653,4.65,7654,5.021,7655,5.021,7656,5.021,7657,7.548,7658,5.021,7659,5.021,7660,5.021,7661,5.021,7662,5.021,7663,5.021]],["title/injectables/CourseCopyUC.html",[589,0.926,7664,5.842]],["body/injectables/CourseCopyUC.html",[0,0.264,3,0.015,4,0.015,5,0.007,7,0.108,8,1.174,26,2.742,27,0.45,29,0.78,30,0.001,31,0.57,32,0.127,33,0.465,35,1.178,36,2.154,39,2.817,95,0.154,99,1.566,101,0.01,102,4.057,103,0,104,0,122,1.597,135,1.492,141,4.365,148,0.757,153,1.256,183,3.883,228,1.845,277,1.099,317,2.478,433,1.255,569,2.376,579,2.191,589,1.357,591,1.822,595,2.889,610,3.016,652,2.588,657,2.329,693,3.486,1268,7.028,1312,3.594,1475,6.399,1780,4.653,1908,9.603,1952,5.397,2026,6.194,2218,3.419,2219,5.118,2220,4.939,2221,6.399,2653,3.538,3273,4.996,3286,4.703,3287,4.353,3924,5.066,4110,5.608,7608,10.814,7610,8.561,7664,8.561,7665,11.29,7666,6.715,7667,10.252,7668,7.654,7669,7.654,7670,7.654,7671,9.427,7672,7.654,7673,6.715,7674,7.654,7675,7.654,7676,6.436,7677,7.088,7678,7.654,7679,6.715,7680,6.715,7681,4.811]],["title/injectables/CourseExportUc.html",[589,0.926,7587,5.842]],["body/injectables/CourseExportUc.html",[0,0.286,3,0.016,4,0.016,5,0.008,7,0.116,8,1.237,26,2.795,27,0.422,29,0.822,30,0.001,31,0.601,32,0.134,33,0.49,35,0.959,36,2.269,39,3.604,95,0.155,99,1.696,101,0.011,103,0.001,104,0.001,135,1.081,148,0.82,183,4.09,228,1.943,277,1.19,317,2.576,433,1.322,589,1.43,591,1.972,595,3.128,652,2.186,657,1.896,693,3.773,1780,5.037,1862,6.348,1908,9.904,1952,5.842,2026,5.233,2653,3.831,4110,6.071,5678,6.741,5681,10.573,5686,9.408,5695,6.485,5696,8.713,5700,9.931,5717,4.841,7587,9.018,7665,11.01,7676,6.968,7682,8.286,7683,8.286,7684,8.286,7685,10.724,7686,8.286,7687,8.286,7688,8.286,7689,8.286,7690,8.286,7691,8.286]],["title/classes/CourseFactory.html",[0,0.239,7692,5.842]],["body/classes/CourseFactory.html",[0,0.153,2,0.474,3,0.008,4,0.008,5,0.004,7,0.063,8,0.794,27,0.524,29,1.012,30,0.001,31,0.718,32,0.167,33,0.578,34,1.438,35,1.387,47,0.489,55,2.573,59,3.182,95,0.117,101,0.006,103,0,104,0,112,0.538,113,4.319,127,4.736,129,3.486,130,3.193,135,1.597,148,1.014,153,1.13,157,2.36,172,2.928,185,2.36,192,2.45,205,2.089,206,2.24,228,1.248,231,1.194,326,4.926,374,2.979,433,0.549,436,3.798,467,2.006,478,1.25,501,7.155,502,5.257,505,3.82,506,5.257,507,5.278,508,3.82,509,3.82,510,3.82,511,3.76,512,4.288,513,4.671,514,6.493,515,5.596,516,6.939,517,2.49,522,2.47,523,3.82,524,2.49,525,4.955,526,5.098,527,4.012,528,4.795,529,3.79,530,2.47,531,2.328,532,4.021,533,2.378,534,2.328,535,2.47,536,2.49,537,4.599,538,2.47,539,7.26,540,4.1,541,6.475,542,2.49,543,4.087,544,2.47,545,2.49,546,2.47,547,2.49,548,2.47,549,2.767,550,2.601,551,2.47,552,5.917,553,2.49,554,2.47,555,3.82,556,3.485,557,3.82,558,2.49,559,2.395,560,2.361,561,1.999,562,2.47,563,2.47,564,2.47,565,2.49,566,2.49,567,1.693,568,2.47,569,1.382,570,2.49,571,2.724,572,2.47,573,2.49,575,2.554,576,2.626,577,5.645,697,3.198,698,3.415,703,1.382,1743,3.198,2032,3.201,4071,6.273,4692,4.437,7448,2.99,7455,4.382,7457,6.945,7496,3.615,7692,7.082,7693,4.453,7694,9.478,7695,6.378,7696,6.887,7697,4.453,7698,4.453,7699,6.378,7700,4.453,7701,4.124,7702,6.887,7703,4.453,7704,4.453,7705,3.507,7706,3.615,7707,7.799,7708,3.198,7709,4.773,7710,5.592,7711,4.124,7712,4.453,7713,4.453,7714,4.453,7715,3.507]],["title/entities/CourseGroup.html",[205,1.416,6148,4.137]],["body/entities/CourseGroup.html",[0,0.234,3,0.013,4,0.013,5,0.006,7,0.177,26,2.388,27,0.457,30,0.001,31,0.65,32,0.161,39,1.878,47,0.823,62,4.042,95,0.152,96,1.789,101,0.012,103,0,104,0,112,0.84,125,2.233,129,2.027,130,1.856,134,2.398,135,0.885,148,0.671,153,1.539,159,0.965,190,2.083,205,1.913,206,2.207,223,3.339,224,1.971,225,3.604,226,3.076,229,2.685,231,1.176,232,1.839,233,2.118,290,2.219,569,2.107,692,5.476,703,3.602,711,2.78,813,3.795,962,4.785,1065,3.331,1080,2.34,1237,2.001,1393,3.86,1821,3.293,2026,4.579,2032,5.139,2183,2.675,2512,3.86,2547,4.266,2911,5.822,2915,5.204,2919,3.764,2925,4.042,2927,4.785,2929,4.266,2941,4.43,3071,4.083,3128,3.061,3332,5.205,3703,4.628,4541,2.369,4617,3.046,5670,4.406,6148,5.588,6152,5.97,6171,6.21,6172,4.373,6173,4.266,6181,4.492,6211,7.221,7119,5.346,7450,4.875,7455,7.381,7491,5.765,7494,4.217,7495,3.827,7511,6.739,7515,4.266,7517,5.51,7566,5.51,7716,6.285,7717,5.954,7718,6.787,7719,6.787,7720,4.628,7721,6.285,7722,6.787,7723,6.787,7724,6.787,7725,7.89,7726,6.285,7727,6.285,7728,4.785,7729,6.285,7730,6.285,7731,6.285,7732,6.285,7733,6.285,7734,6.285]],["title/classes/CourseGroupFactory.html",[0,0.239,7735,6.433]],["body/classes/CourseGroupFactory.html",[0,0.171,2,0.528,3,0.009,4,0.009,5,0.005,7,0.07,8,0.863,27,0.521,29,1.024,30,0.001,31,0.726,32,0.169,33,0.585,34,1.539,35,1.431,47,0.531,55,2.529,59,3.341,95,0.123,101,0.007,103,0,104,0,112,0.585,113,4.508,127,5.011,129,3.608,130,3.305,135,1.175,148,0.74,157,2.074,172,3.182,185,2.565,192,2.732,205,2.194,206,2.434,228,1.356,231,1.297,326,4.864,374,3.238,433,0.612,436,3.887,467,2.179,478,1.394,501,7.294,502,5.562,505,4.151,506,5.562,507,5.446,508,4.151,509,4.151,510,4.151,511,4.087,512,4.586,513,4.996,514,6.547,515,5.875,516,7.082,517,2.776,522,2.754,523,4.151,524,2.776,525,5.243,526,5.394,527,4.245,528,5.074,529,4.118,530,2.754,531,2.596,532,4.197,533,2.651,534,2.596,535,2.754,536,2.776,537,4.918,538,2.754,539,7.193,540,4.243,541,6.702,542,2.776,543,4.371,544,2.754,545,2.776,546,2.754,547,2.776,548,2.754,549,3.085,550,2.901,551,2.754,552,6.176,553,2.776,554,2.754,555,4.151,556,3.787,557,4.151,558,2.776,559,2.67,560,2.632,561,2.228,562,2.754,563,2.754,564,2.754,565,2.776,566,2.776,567,1.887,568,2.754,569,1.542,570,2.776,571,2.961,572,2.754,573,2.776,575,2.848,576,2.928,577,2.957,697,3.566,698,3.808,2032,1.887,6148,4.457,7455,4.762,7692,4.175,7695,6.931,7699,6.931,7701,4.598,7711,4.598,7725,4.175,7735,8.342,7736,4.965,7737,4.965,7738,4.598,7739,4.965,7740,4.598]],["title/interfaces/CourseGroupProperties.html",[159,0.714,7725,5.842]],["body/interfaces/CourseGroupProperties.html",[0,0.245,3,0.013,4,0.013,5,0.007,7,0.179,26,2.434,30,0.001,31,0.693,32,0.163,33,0.442,39,1.965,47,0.878,62,4.228,95,0.154,96,1.872,101,0.013,103,0,104,0,112,0.86,125,1.69,134,2.509,135,0.926,148,0.702,153,1.164,159,0.995,161,1.686,205,1.973,223,3.004,224,2.062,225,3.717,226,3.217,229,2.808,231,1.23,232,1.924,233,2.216,290,2.796,569,2.204,692,5.197,703,3.004,711,2.868,813,3.97,962,5.005,1065,3.484,1080,2.447,1237,2.093,1393,4.037,1821,3.444,2026,3.464,2032,5.274,2183,2.798,2512,4.037,2547,4.462,2911,5.09,2915,3.937,2919,3.937,2925,4.228,2927,5.005,2929,4.462,2941,4.634,3071,4.271,3128,3.202,3332,5.445,3703,4.84,4541,2.478,4617,3.186,5670,4.544,6148,4.228,6152,6.157,6171,6.405,6172,4.574,6173,4.462,6181,4.698,6211,7.393,7119,5.592,7450,5.099,7455,7.872,7491,5.946,7494,4.411,7495,4.003,7511,5.099,7515,4.462,7517,5.763,7566,5.763,7716,6.574,7725,9.258,7726,6.574,7727,6.574,7728,5.005,7729,6.574,7730,6.574,7731,6.574,7732,6.574,7733,6.574,7734,6.574]],["title/injectables/CourseGroupRepo.html",[589,0.926,1909,5.328]],["body/injectables/CourseGroupRepo.html",[0,0.236,3,0.013,4,0.013,5,0.006,7,0.096,8,1.088,10,3.776,12,4.256,13,6.654,18,4.775,26,2.663,27,0.509,29,0.967,30,0.001,31,0.707,32,0.157,33,0.577,34,1.169,35,1.462,36,2.789,39,1.894,40,4.554,42,6.654,47,0.767,49,2.584,95,0.139,96,1.805,97,2.792,98,4.118,99,1.401,101,0.009,103,0,104,0,135,1.409,148,1.152,153,1.123,205,1.395,206,3.069,231,1.636,277,0.983,317,3.009,436,3.45,478,1.922,532,5.075,589,1.258,591,1.629,657,2.664,728,7.49,734,3.962,735,4.298,736,5.333,759,4.076,760,4.161,761,4.118,762,4.161,764,4.118,765,4.161,766,3.681,773,4.916,1909,7.238,2032,3.587,2907,6.679,3950,4.826,6148,6.934,7450,8.363,7455,4.355,7741,6.845,7742,8.74,7743,8.74,7744,6.845,7745,7.238,7746,6.845,7747,6.845,7748,6.845,7749,5.25,7750,6.845,7751,9.438]],["title/injectables/CourseGroupRule.html",[589,0.926,1867,5.64]],["body/injectables/CourseGroupRule.html",[0,0.262,3,0.014,4,0.014,5,0.007,7,0.107,8,1.169,27,0.449,29,0.874,30,0.001,31,0.639,32,0.152,33,0.521,35,1.174,95,0.145,101,0.01,103,0,104,0,122,2.538,135,1.587,148,1.003,183,4.64,205,2.754,228,1.838,277,1.093,290,3.235,400,2.267,433,0.938,478,2.137,589,1.352,591,1.811,652,1.551,653,3.142,711,3.861,1197,5.495,1237,2.244,1775,6.693,1778,7.17,1792,5.274,1801,8.097,1804,8.897,1838,7.394,1867,8.233,1868,9.96,1981,6.534,1985,6.301,1992,5.037,3663,6.712,3664,5.11,3667,6.62,3669,5.11,3670,6.81,6148,8.047,7455,4.842,7752,12.164,7753,7.61,7754,7.61,7755,7.61,7756,7.61,7757,6.677,7758,6.677,7759,6.4,7760,6.677]],["title/injectables/CourseGroupService.html",[589,0.926,7761,6.094]],["body/injectables/CourseGroupService.html",[0,0.289,3,0.016,4,0.016,5,0.008,7,0.118,8,1.247,26,2.803,27,0.471,29,0.916,30,0.001,31,0.67,32,0.149,33,0.547,35,1.251,36,2.673,39,2.992,95,0.144,98,5.047,99,1.717,101,0.011,103,0.001,104,0.001,135,1.41,148,1.069,228,1.52,277,1.205,279,3.507,317,2.9,400,2.499,433,1.034,478,2.355,589,1.441,591,1.997,657,2.737,711,3.966,1909,9.689,2609,5.306,2907,7.247,6148,4.997,7450,8.591,7761,9.484,7762,8.39,7763,10.81,7764,10.81,7765,7.055,7766,8.39,7767,10.81,7768,8.39,7769,10.81,7770,8.39,7771,10.81,7772,8.39,7773,8.39,7774,8.39]],["title/classes/CourseMapper.html",[0,0.239,7585,6.094]],["body/classes/CourseMapper.html",[0,0.332,2,1.025,3,0.018,4,0.018,5,0.009,7,0.135,8,1.36,27,0.379,29,0.738,30,0.001,31,0.54,32,0.12,33,0.441,35,1.116,95,0.135,100,4.116,101,0.013,103,0.001,104,0.001,135,1.539,148,0.953,153,1.581,467,3.711,478,2.706,837,4.759,2032,5.178,7585,10.348,7775,9.639,7776,11.795,7777,11.795,7778,9.639,7779,11.168,7780,9.639,7781,9.639,7782,9.639,7783,9.639,7784,9.639,7785,9.639,7786,9.639,7787,9.639,7788,9.639]],["title/classes/CourseMetadataListResponse.html",[0,0.239,7592,5.842]],["body/classes/CourseMetadataListResponse.html",[0,0.315,2,0.695,3,0.012,4,0.012,5,0.006,7,0.092,26,1.881,27,0.473,29,0.501,30,0.001,31,0.366,32,0.165,33,0.549,34,1.949,47,0.907,55,2.802,56,5.874,59,2.837,70,6.336,83,3.795,95,0.12,99,1.337,101,0.012,103,0,104,0,112,0.714,125,1.555,155,3.81,157,2.941,190,2.049,201,4.432,202,1.501,223,2.028,231,1.584,296,3.251,298,2.826,304,3.225,339,3.523,433,1.126,436,3.382,458,2.614,567,2.483,862,7.938,863,6.848,864,5.242,866,3.245,868,5.056,869,3.207,870,3.567,871,2.392,872,4.606,873,5.813,874,5.338,875,4.324,876,5.472,877,4.606,878,4.606,880,4.156,881,3.567,1568,4.527,2032,4.005,2048,4.637,2327,4.107,3025,3.134,3166,3.488,3167,3.488,4047,6.624,7448,4.387,7449,7.185,7454,7.568,7457,7.721,7523,5.304,7525,5.01,7527,4.892,7564,7.302,7592,7.684,7779,10.743,7789,8.461,7790,5.494,7791,6.533,7792,6.533,7793,5.304,7794,5.146,7795,7.908,7796,5.146,7797,6.05,7798,5.146,7799,5.146,7800,4.265,7801,4.606,7802,5.304]],["title/classes/CourseMetadataResponse.html",[0,0.239,7779,5.842]],["body/classes/CourseMetadataResponse.html",[0,0.295,2,0.635,3,0.011,4,0.011,5,0.005,7,0.084,26,2.256,27,0.501,29,0.457,30,0.001,31,0.334,32,0.162,33,0.569,34,2.175,47,0.989,55,2.013,56,4.046,59,3.114,70,4.364,83,4.092,95,0.114,99,1.222,101,0.011,103,0,104,0,112,0.669,155,4.226,157,2.865,190,2.235,201,4.256,202,1.371,223,2.661,231,1.035,296,3.157,298,2.582,304,4.232,339,2.515,433,1.056,458,2.388,567,3.258,862,5.326,863,3.285,864,3.424,868,5.259,876,5.691,880,3.798,881,3.259,1361,5.753,1568,5.94,2032,4.592,2048,5.175,2327,5.388,2434,4.07,3025,2.864,3166,4.576,3167,4.576,4047,7.824,7448,5.756,7449,8.487,7454,8.94,7457,9.12,7523,4.846,7525,4.578,7527,4.47,7564,8.625,7592,5.02,7779,9.76,7789,12.008,7790,5.02,7793,4.846,7794,4.702,7795,8.825,7796,6.751,7797,7.937,7798,6.751,7799,6.751,7800,5.595,7801,6.043,7802,6.959,7803,5.969,7804,5.969,7805,5.969,7806,5.969,7807,5.969,7808,5.969,7809,5.969,7810,5.969]],["title/entities/CourseNews.html",[205,1.416,7811,5.202]],["body/entities/CourseNews.html",[0,0.354,3,0.01,4,0.018,5,0.005,7,0.162,9,3.599,26,2.112,27,0.204,30,0.001,31,0.434,32,0.128,34,0.888,47,0.889,83,2.255,95,0.14,96,2.441,101,0.014,103,0,104,0,112,0.857,134,1.836,148,0.514,153,1.519,155,2.937,159,0.534,190,0.933,195,2.608,196,3.943,205,2.237,206,1.69,223,3.7,224,1.509,225,2.975,226,2.355,231,1.778,232,2.78,233,1.622,290,2.595,409,5.89,412,4.097,435,1.814,457,5.135,467,1.513,512,4.713,571,3.662,613,4.524,692,5.431,693,2.367,703,3.407,704,3.943,886,2.437,1086,4.417,1087,4.743,1088,4.347,1089,4.626,1090,5.055,1373,4.659,1821,3.758,1826,2.663,1842,3.527,1920,3.439,1938,2.795,2032,3.519,2392,3.531,2688,5.22,2892,3.891,2911,4.28,2925,3.095,2980,5.934,3025,2.493,3703,3.543,3705,3.348,3706,3.664,3708,3.732,3709,3.664,3710,3.891,3724,3.065,3860,3.543,3884,3.348,4541,1.814,4633,3.986,4634,3.601,4776,3.808,5254,3.664,5670,4.347,5758,3.808,6173,4.868,6421,6.783,6606,2.882,6609,4.979,7494,3.229,7495,2.93,7516,3.159,7811,5.799,7812,4.219,7813,5.197,7814,6.932,7815,6.043,7816,4.219,7817,4.759,7818,4.219,7819,9.062,7820,5.2,7821,5.799,7822,5.799,7823,6.921,7824,7.795,7825,4.219,7826,5.562,7827,4.219,7828,3.986,7829,3.986,7830,5.056,7831,4.219,7832,3.986,7833,3.986,7834,4.219,7835,3.891,7836,4.219,7837,3.126,7838,3.229,7839,3.986,7840,4.219,7841,4.219,7842,7.292,7843,4.219,7844,7.516,7845,4.219,7846,4.219,7847,5.94,7848,3.986,7849,6.527,7850,4.093,7851,5.126,7852,3.808,7853,3.986,7854,4.219]],["title/interfaces/CourseProperties.html",[159,0.714,7496,5.64]],["body/interfaces/CourseProperties.html",[0,0.2,2,0.981,3,0.007,4,0.007,5,0.003,7,0.146,26,2.139,30,0.001,31,0.553,32,0.159,33,0.612,34,1.248,39,2.023,47,0.921,62,2.136,83,3.484,95,0.137,96,0.945,101,0.01,103,0,104,0,112,0.453,122,1.211,125,2.349,129,2.182,134,1.267,135,1.693,148,1.284,153,1.774,155,1.137,157,2.272,159,0.369,161,0.852,195,2.367,196,3.051,197,0.997,205,1.183,219,3.244,223,3.358,224,1.042,225,2.229,226,1.625,229,1.418,231,0.622,232,0.972,233,1.119,290,2.83,304,1.77,371,1.901,403,2.935,433,0.442,458,1.435,467,1.69,526,1.929,540,1.259,569,1.801,578,1.875,579,1.661,595,1.353,615,3.527,652,1.712,692,4.659,700,2.799,701,2.799,703,2.863,711,3.401,756,1.418,774,3.015,886,2.299,962,2.528,1237,1.057,1312,2.724,1821,2.815,1829,2.467,1835,1.837,1925,2.18,2032,3.192,2163,1.658,2183,3.309,2911,4.562,2915,5.474,2919,4.053,2927,2.528,2929,2.254,3370,3.769,3421,2.408,3422,2.341,3601,2.095,3705,2.31,3859,3.788,4002,2.575,4047,2.254,4071,3.84,4072,3.84,4127,2.408,4394,2.115,4541,1.251,4542,5.153,4557,3.015,4591,6.758,4617,2.604,4692,6.358,5412,2.057,5670,2.724,6147,2.254,6148,3.456,6149,2.408,6152,3.692,6171,3.84,6172,2.31,6179,2.341,6192,2.445,6211,3.896,7352,2.685,7411,2.575,7447,3.146,7448,7.264,7449,6.729,7450,5.249,7451,6.193,7452,5.713,7453,2.485,7454,7.088,7455,6.279,7456,6.503,7457,7.231,7459,3.146,7461,3.146,7464,3.146,7466,3.146,7468,8.091,7471,3.146,7473,3.146,7482,3.146,7486,3.146,7487,6.906,7488,3.146,7489,3.146,7490,3.146,7491,3.565,7492,4.251,7493,2.911,7494,2.228,7495,2.022,7496,5.933,7497,4.711,7498,3.146,7499,2.911,7500,2.575,7501,3.146,7502,3.146,7503,3.015,7504,2.685,7505,3.146,7506,3.146,7507,2.824,7508,3.146,7509,3.605,7510,10.377,7511,5.249,7512,2.911,7513,3.84,7514,2.136,7515,2.254,7516,2.18,7517,2.911,7518,3.146,7519,3.146,7520,5.09,7521,5.09,7522,5.09,7523,6.818,7524,4.711,7525,4.45,7526,5.09,7527,4.345,7528,4.45,7529,2.685,7530,3.146,7531,3.146,7532,3.146,7533,3.146,7534,3.146,7535,5.09,7536,3.146,7537,3.146,7538,3.146,7539,3.146,7540,3.146,7541,3.146,7542,3.146,7543,6.145,7544,6.411,7545,3.146,7546,3.146,7547,3.146,7548,3.146,7549,3.146,7550,2.627,7551,3.146,7552,3.146,7553,3.146,7554,3.146,7555,3.146,7556,3.146,7557,3.015,7558,3.146,7559,6.411,7560,5.09,7561,3.146,7562,3.146,7563,2.911,7564,2.485,7565,3.146,7566,5.933,7567,3.146,7568,3.146,7569,3.146,7570,3.146]],["title/classes/CourseQueryParams.html",[0,0.239,7576,6.094]],["body/classes/CourseQueryParams.html",[0,0.407,2,1.025,3,0.018,4,0.018,5,0.009,7,0.135,27,0.379,30,0.001,32,0.12,95,0.145,101,0.017,103,0.001,104,0.001,112,0.921,157,2.219,190,1.731,194,4.614,195,2.581,196,3.902,197,3.28,200,2.953,202,2.214,296,3.082,299,4.597,301,6.21,886,3.711,1456,8.833,5678,6.059,5695,7.027,5696,9.441,5717,5.631,7576,10.348,7855,9.639,7856,9.639,7857,9.639,7858,9.639]],["title/injectables/CourseRepo.html",[589,0.926,1910,4.269]],["body/injectables/CourseRepo.html",[0,0.228,3,0.008,4,0.008,5,0.004,7,0.06,8,0.764,10,2.651,12,2.988,18,3.352,26,2.811,27,0.475,29,0.904,30,0.001,31,0.661,32,0.158,33,0.539,34,1.132,35,1.366,36,2.713,39,3.65,40,3.197,56,3.128,58,4.325,59,3.109,83,1.234,95,0.127,96,1.117,98,2.549,99,0.867,101,0.006,103,0,104,0,122,1.383,129,1.265,130,1.159,135,1.765,148,1.237,153,1.643,172,3.923,195,1.45,197,1.178,205,0.864,206,2.155,224,1.231,231,1.414,277,0.609,317,2.946,436,2.734,478,1.189,532,4.565,540,4.032,589,0.883,591,1.008,595,1.599,657,2.429,728,6.422,734,2.781,735,3.017,736,4.029,759,2.523,760,2.575,761,2.549,762,2.575,764,2.549,765,2.575,766,2.279,788,4.518,1910,4.071,1923,4.449,2026,3.233,2032,4.589,2231,5.248,2474,3.946,2907,6.091,3078,2.987,3950,2.987,3955,3.717,4072,6.107,4692,5.945,4764,6.427,4770,3.44,5089,6.196,5217,7.486,5412,6.091,6229,4.526,6835,6.395,6974,6.725,7450,3.043,7455,4.216,7456,5.753,7457,4.855,7580,3.986,7749,3.249,7859,3.923,7860,6.626,7861,7.159,7862,6.626,7863,6.136,7864,6.136,7865,4.237,7866,6.818,7867,4.237,7868,4.237,7869,4.237,7870,6.136,7871,4.237,7872,4.237,7873,6.136,7874,4.237,7875,4.237,7876,6.11,7877,10.591,7878,3.923,7879,6.136,7880,7.76,7881,3.923,7882,3.923,7883,3.923,7884,6.136,7885,6.136,7886,3.44,7887,3.923,7888,3.923,7889,3.923,7890,5.813,7891,6.136,7892,6.136,7893,6.136,7894,8.096,7895,4.855,7896,4.855,7897,7.556,7898,3.923,7899,3.717,7900,3.923,7901,3.923,7902,3.923]],["title/injectables/CourseRule.html",[589,0.926,1868,5.202]],["body/injectables/CourseRule.html",[0,0.272,3,0.015,4,0.015,5,0.007,7,0.111,8,1.197,27,0.457,29,0.889,30,0.001,31,0.65,32,0.154,33,0.53,35,1.201,95,0.141,101,0.01,103,0.001,104,0.001,122,2.573,135,1.514,148,1.027,183,4.704,205,2.775,228,1.428,277,1.132,290,3.288,400,2.347,433,0.971,478,2.212,589,1.384,591,1.875,653,3.253,711,3.899,1197,6.287,1237,2.323,1775,6.786,1778,6.523,1793,5.215,1801,8.176,1838,7.497,1868,7.771,1981,6.686,1985,6.448,1992,5.215,2032,5.175,3663,6.868,3664,5.291,3667,6.774,3669,5.291,3670,6.968,4692,6.686,7455,5.013,7456,7.317,7903,7.879,7904,7.879,7905,7.879,7906,7.879,7907,7.879]],["title/classes/CourseScope.html",[0,0.239,7877,6.094]],["body/classes/CourseScope.html",[0,0.242,2,0.484,3,0.009,4,0.009,5,0.004,7,0.064,8,0.808,26,2.785,27,0.485,29,0.838,30,0.001,31,0.612,32,0.15,33,0.5,34,0.778,35,1.319,36,2.314,39,3.638,40,2.197,56,3.308,58,4.575,83,1.326,95,0.13,96,1.201,98,2.74,99,0.932,101,0.006,103,0,104,0,112,0.547,122,2.161,129,1.36,130,1.246,135,1.784,148,1.258,153,1.699,195,0.996,197,1.266,224,1.323,231,1.481,277,0.654,317,2.369,365,2.025,436,3.069,478,1.278,540,3.368,569,1.414,589,0.934,595,1.719,652,2.229,657,2.502,728,4.056,736,2.248,788,4.778,1910,2.798,1923,4.706,2026,3.42,2032,4.33,2231,5.454,2474,6.167,2907,6.273,3078,3.211,3950,3.211,3955,3.995,4072,6.348,4692,6.18,4764,3.587,5089,4.706,5217,4.941,5412,6.273,6229,5.312,6835,6.647,6947,4.706,6948,4.706,6949,4.706,6954,4.706,6955,4.706,6956,3.105,6957,3.058,6958,3.105,6959,3.105,6968,3.058,6969,4.706,6970,3.105,6971,3.058,6972,3.105,6973,3.058,6974,6.954,7450,3.271,7455,4.458,7456,6.022,7457,5.135,7580,4.216,7749,3.493,7859,4.217,7861,3.995,7864,4.217,7866,5.249,7870,4.217,7873,4.217,7876,6.396,7877,11.632,7878,6.489,7879,6.489,7880,8.066,7881,6.489,7882,6.489,7883,8.882,7884,6.489,7885,6.489,7886,3.697,7887,6.489,7888,4.217,7889,4.217,7890,6.148,7891,6.489,7892,6.489,7893,6.489,7894,8.415,7895,5.135,7896,5.135,7897,7.91,7898,4.217,7899,3.995,7900,4.217,7901,4.217,7902,4.217,7908,7.008,7909,7.008,7910,7.008,7911,7.008,7912,4.554,7913,4.554,7914,4.554,7915,4.554,7916,4.554]],["title/injectables/CourseService.html",[589,0.926,2017,4.598]],["body/injectables/CourseService.html",[0,0.258,3,0.014,4,0.014,5,0.007,7,0.105,8,1.156,12,4.522,26,2.898,27,0.496,29,0.965,30,0.001,31,0.706,32,0.157,33,0.576,35,1.398,36,2.848,39,3.13,95,0.138,98,4.502,99,1.531,101,0.01,103,0,104,0,135,1.475,148,1.195,228,1.356,277,1.075,279,3.128,317,3.031,400,2.229,433,0.922,478,2.101,589,1.337,591,1.781,657,2.764,711,3.843,1910,7.424,2017,6.637,2026,3.652,2032,3.811,2609,4.922,2907,6.931,4764,7.898,4770,8.141,5412,7.227,7765,6.292,7917,7.483,7918,10.027,7919,10.027,7920,7.483,7921,10.027,7922,7.483,7923,7.483,7924,10.027,7925,7.483,7926,10.027,7927,7.483,7928,7.483,7929,11.309,7930,7.483,7931,7.483,7932,7.483]],["title/injectables/CourseUc.html",[589,0.926,7590,5.842]],["body/injectables/CourseUc.html",[0,0.306,3,0.017,4,0.017,5,0.008,7,0.125,8,1.292,26,2.655,27,0.441,29,0.858,30,0.001,31,0.627,32,0.14,33,0.512,35,1.027,36,2.37,39,2.455,59,2.754,95,0.155,98,5.337,99,1.816,101,0.012,103,0.001,104,0.001,148,0.878,228,1.608,277,1.274,279,3.709,298,3.838,400,2.642,431,3.788,433,1.093,478,2.491,540,4.529,589,1.494,591,2.112,595,3.349,770,5.577,883,9.093,1910,8.345,2032,3.372,2231,5.045,7580,5.337,7590,9.421,7614,7.461,7636,8.216,7933,8.872,7934,11.203,7935,8.872,7936,11.203,7937,8.872,7938,6.804]],["title/injectables/CourseUrlHandler.html",[589,0.926,7939,5.842]],["body/injectables/CourseUrlHandler.html",[0,0.24,3,0.013,4,0.013,5,0.006,7,0.098,8,1.1,9,3.23,27,0.499,29,0.941,30,0.001,31,0.688,32,0.165,33,0.561,34,1.629,35,1.357,36,2.018,47,0.964,95,0.14,101,0.009,103,0,104,0,105,10.235,106,7.313,107,7.109,108,8.841,110,4.576,111,5.476,112,0.745,113,3.802,114,8.841,115,7.514,116,7.744,117,7.514,118,7.514,120,5.476,122,1.451,123,5.644,125,2.592,126,5.476,127,5.856,129,2.848,130,2.609,131,5.967,134,2.456,135,1.42,148,0.944,228,1.26,231,1.653,233,2.17,277,0.998,317,2.359,400,2.07,433,0.857,436,3.473,589,1.272,591,1.654,657,1.59,1237,2.05,2016,6.099,2017,8.397,2028,5.206,2032,4.139,2047,4.993,4127,6.405,4130,7.514,4132,5.846,4133,5.846,4134,5.846,4137,7.316,4138,5.644,4139,7.316,4140,5.846,4141,5.644,4143,4.668,7939,8.021,7940,10.89,7941,6.099,7942,6.099,7943,9.539,7944,8.369,7945,8.369,7946,6.099,7947,6.951]],["title/classes/CourseUrlParams.html",[0,0.239,7575,6.094]],["body/classes/CourseUrlParams.html",[0,0.415,2,1.061,3,0.019,4,0.019,5,0.009,7,0.14,27,0.393,30,0.001,32,0.124,34,2.057,47,0.855,95,0.137,101,0.013,103,0.001,104,0.001,112,0.941,157,2.296,190,1.791,194,4.711,195,2.635,196,3.984,197,3.349,200,3.056,202,2.291,296,3.147,855,4.875,2026,6.313,2032,4.578,4150,6.063,7575,10.565,7948,9.974,7949,9.974]],["title/classes/CreateCardBodyParams.html",[0,0.239,5582,6.094]],["body/classes/CreateCardBodyParams.html",[0,0.406,2,1.023,3,0.018,4,0.018,5,0.009,7,0.135,27,0.378,30,0.001,32,0.12,33,0.538,95,0.145,101,0.013,103,0.001,104,0.001,112,0.92,190,1.726,194,3.762,195,2.786,197,3.275,200,2.946,201,4.574,202,2.209,300,4.509,886,3.706,899,4.379,1853,3.145,2525,6.335,4437,10.707,4438,7.069,5582,10.333,6258,6.817,7950,11.778,7951,8.905,7952,7.689,7953,9.616,7954,9.616]],["title/classes/CreateContentElementBodyParams.html",[0,0.239,3999,5.842]],["body/classes/CreateContentElementBodyParams.html",[0,0.376,2,0.906,3,0.016,4,0.016,5,0.008,7,0.12,27,0.429,30,0.001,32,0.174,33,0.499,55,2.55,95,0.137,101,0.011,103,0.001,104,0.001,112,0.852,129,3.259,157,2.512,190,1.959,194,4.969,195,2.388,196,4.202,197,3.737,200,2.609,201,4.238,202,1.956,296,2.851,300,4.178,886,3.434,899,3.878,1083,6.153,1853,2.785,2048,5.162,2392,4.594,3045,6.782,3170,5.097,3745,5.9,3750,6.115,3999,9.177,4387,9.238,4438,7.095,6259,8.596,7952,5.558,7955,12.044,7956,7.16,7957,8.514,7958,10.106,7959,9.574,7960,8.514,7961,8.514,7962,8.514]],["title/interfaces/CreateJwtParams.html",[159,0.714,7963,6.094]],["body/interfaces/CreateJwtParams.html",[0,0.255,3,0.014,4,0.014,5,0.007,7,0.104,30,0.001,32,0.167,33,0.638,47,1.029,85,8.679,95,0.114,101,0.01,103,0,104,0,112,0.777,135,1.569,148,0.985,159,0.761,161,1.757,403,5.035,467,2.898,711,2.949,1546,5.829,1548,5.541,1573,6.223,1585,4.498,1589,5.675,1593,4.547,1718,7.293,1730,7.453,7127,9.014,7963,9.866,7964,6.853,7965,9.886,7966,10.554,7967,9.886,7968,11.969,7969,10.869,7970,9.217,7971,6.853,7972,6.853,7973,6.853,7974,6.853,7975,8.732,7976,6.853,7977,9.217,7978,9.217,7979,6.853,7980,6.492,7981,6.492,7982,6.853,7983,9.217,7984,6.853,7985,6.853,7986,6.853,7987,6.853,7988,6.853,7989,5.829,7990,8.369,7991,5.829,7992,6.492,7993,6.853,7994,6.853,7995,6.853,7996,6.853]],["title/interfaces/CreateJwtPayload.html",[159,0.714,1699,5.472]],["body/interfaces/CreateJwtPayload.html",[3,0.016,4,0.016,5,0.008,7,0.117,30,0.001,32,0.169,33,0.576,39,3.609,47,1.034,48,6.181,55,2.158,85,8.456,101,0.014,103,0.001,104,0.001,112,0.84,122,2.787,159,1.105,161,1.976,180,3.552,231,1.442,290,1.968,413,5.058,561,3.734,812,5.361,1589,6.381,1593,5.113,1699,9.384,1719,6.097,1730,6.231,1829,4.571,1925,5.058,2524,9.194,3388,6.453,4541,4.395,4906,5.507,5746,5.431,7127,5.976,7965,6.554,7967,6.554,7989,6.554,7991,6.554,7997,7.705,7998,7.705,7999,10.59,8000,7.3,8001,7.705,8002,7.3,8003,7.3]],["title/interfaces/CreateNews.html",[159,0.714,8004,5.64]],["body/interfaces/CreateNews.html",[3,0.015,4,0.015,5,0.007,7,0.113,26,2.414,30,0.001,32,0.175,33,0.536,34,1.375,47,0.94,83,3.415,95,0.142,101,0.017,103,0.001,104,0.001,112,0.822,122,1.68,127,4.024,155,3.945,157,1.854,159,1.361,161,1.913,172,4.475,205,1.642,692,4.969,703,2.5,886,2.534,2032,4.458,2392,4.744,2468,5.004,2980,5.848,3917,7.065,4971,5.062,5412,4.62,7150,5.257,7814,6.031,7815,7.656,7817,6.469,7820,8.352,7823,6.333,7824,7.806,8004,8.547,8005,7.458,8006,9.748,8007,7.458,8008,7.458,8009,7.458,8010,5.408,8011,8.423,8012,6.772,8013,6.538,8014,6.538]],["title/classes/CreateNewsParams.html",[0,0.239,8015,5.64]],["body/classes/CreateNewsParams.html",[0,0.334,2,0.757,3,0.013,4,0.013,5,0.007,7,0.1,27,0.487,30,0.001,32,0.154,33,0.443,34,1.655,47,0.944,83,2.821,95,0.135,99,1.455,100,3.381,101,0.009,103,0,104,0,112,0.757,155,3.927,157,3.063,190,2.223,200,2.179,201,3.762,202,1.634,205,2.781,296,3.235,298,3.076,299,4.295,300,3.709,304,3.511,403,3.598,854,6.09,855,3.922,886,2.238,890,6.714,899,3.239,1083,5.463,1373,4.278,1626,3.944,1749,5.51,1829,3.023,1923,6.506,2357,4.044,2392,4.722,2980,5.362,3014,6.412,3166,5.173,3167,5.173,3541,3.693,4858,7.623,5051,5.454,7120,6.506,7815,7.193,7820,7.4,7823,6.629,7824,8.135,8011,7.915,8015,7.866,8016,12.774,8017,6.239,8018,7.631,8019,7.112,8020,7.112,8021,5.98,8022,5.66,8023,8.147,8024,7.631,8025,7.112,8026,6.586,8027,7.112,8028,7.112,8029,7.099,8030,7.112,8031,5.774,8032,7.112,8033,6.606,8034,6.586,8035,6.586]],["title/classes/CreateSubmissionItemBodyParams.html",[0,0.239,8036,6.094]],["body/classes/CreateSubmissionItemBodyParams.html",[0,0.41,2,1.04,3,0.019,4,0.019,5,0.009,7,0.137,27,0.385,30,0.001,32,0.122,95,0.136,101,0.013,103,0.001,104,0.001,112,0.929,122,2.785,157,2.251,190,1.756,194,4.655,195,2.604,199,6.6,200,2.997,202,2.247,296,3.109,3128,6.019,3547,8.406,8036,10.44,8037,9.374,8038,11.9,8039,9.056,8040,8.58,8041,10.44,8042,9.374,8043,9.056]],["title/classes/CurrentUserMapper.html",[0,0.239,8044,5.202]],["body/classes/CurrentUserMapper.html",[0,0.226,2,0.697,3,0.012,4,0.012,5,0.006,7,0.092,8,1.056,27,0.45,29,0.876,30,0.001,31,0.64,32,0.142,33,0.522,34,1.119,35,1.323,39,3.163,47,0.991,48,6.589,59,3.277,85,8.586,95,0.142,101,0.009,103,0,104,0,122,2.203,148,1.13,153,1.075,159,0.674,195,1.434,290,3.175,325,6.479,331,4.053,338,4.027,349,3.337,393,3.236,467,3.986,478,1.84,578,5.518,579,1.876,1699,8.315,1719,8.81,1722,5.512,1723,3.727,1853,2.144,2524,4.621,3388,5.856,4030,3.943,4541,3.988,5420,5.321,6943,4.707,7999,10.752,8044,6.858,8045,12.024,8046,5.512,8047,9.158,8048,9.158,8049,10.556,8050,9.158,8051,9.158,8052,6.554,8053,9.158,8054,6.554,8055,6.554,8056,6.192,8057,9.61,8058,6.554,8059,8.315,8060,9.158,8061,6.554,8062,6.244,8063,5.321,8064,6.554,8065,5.321,8066,6.554,8067,6.554,8068,5.75,8069,6.554,8070,5.027,8071,6.554,8072,6.554,8073,6.554,8074,6.554,8075,6.554,8076,6.554,8077,6.554,8078,6.554,8079,6.554,8080,6.069,8081,6.554,8082,6.554]],["title/interfaces/CustomLtiProperty.html",[159,0.714,8083,6.094]],["body/interfaces/CustomLtiProperty.html",[0,0.193,3,0.011,4,0.011,5,0.005,7,0.078,26,1.682,30,0.001,31,0.541,32,0.12,47,0.979,49,3.084,95,0.121,96,2.154,97,2.279,99,1.143,101,0.015,103,0,104,0,110,1.932,112,0.638,122,2.359,125,1.944,129,3.376,130,2.907,148,0.553,153,0.916,159,0.574,161,1.327,195,2.983,196,4.628,197,3.791,205,1.665,219,4.568,223,4.36,224,1.623,225,3.139,226,2.532,228,1.013,229,2.21,231,0.968,232,1.514,233,1.744,376,5.986,540,1.962,702,2.759,711,2.421,874,4.773,886,3.558,1454,3.433,1582,6.937,1598,3.295,1835,2.863,2124,5.994,2183,2.202,2463,3.647,2911,2.583,3388,2.863,4617,2.508,5296,4.536,7182,3.027,7499,4.536,7512,4.536,8083,8.473,8084,5.174,8085,7.168,8086,7.841,8087,7.566,8088,7.566,8089,5.174,8090,5.174,8091,7.566,8092,5.174,8093,5.174,8094,6.392,8095,7.566,8096,7.566,8097,5.174,8098,4.184,8099,4.401,8100,3.647,8101,4.401,8102,3.647,8103,6.87,8104,3.647,8105,4.401,8106,4.401,8107,4.184,8108,5.174,8109,5.174,8110,4.401,8111,5.174,8112,4.013,8113,4.401,8114,3.6,8115,3.361,8116,4.184,8117,3.396,8118,3.512,8119,4.094,8120,4.536,8121,4.401,8122,4.698,8123,4.698,8124,5.174,8125,4.285,8126,4.536,8127,4.698,8128,5.174,8129,4.285,8130,4.536,8131,4.401,8132,4.536,8133,4.285,8134,4.536,8135,4.698,8136,5.174,8137,4.698,8138,5.174,8139,4.698,8140,5.174,8141,5.174,8142,5.174,8143,5.174,8144,4.698,8145,5.174,8146,4.698,8147,5.174,8148,4.285,8149,4.536,8150,3.939,8151,4.184,8152,4.698,8153,5.174,8154,4.184,8155,4.536]],["title/classes/CustomLtiPropertyDO.html",[0,0.239,8156,5.842]],["body/classes/CustomLtiPropertyDO.html",[0,0.345,2,0.795,3,0.014,4,0.014,5,0.007,7,0.105,26,2.061,27,0.445,29,0.572,30,0.001,31,0.561,32,0.141,33,0.341,47,1.028,95,0.129,99,1.528,101,0.013,103,0,104,0,110,2.583,112,0.782,122,2.627,130,3.621,231,1.295,433,0.921,1598,4.405,1852,5.906,2124,6.87,2183,2.943,3388,3.827,4737,6.552,7182,4.047,8086,8.131,8094,6.628,8099,5.883,8100,4.876,8101,5.883,8102,4.876,8104,4.876,8105,5.883,8106,5.883,8107,5.593,8110,5.883,8112,5.364,8113,5.883,8114,4.812,8115,4.493,8116,5.593,8117,4.54,8119,7.338,8121,5.883,8123,6.281,8125,5.728,8127,6.281,8129,5.728,8131,5.883,8133,5.728,8135,6.281,8137,6.281,8139,6.281,8144,6.281,8146,6.281,8148,5.728,8150,5.266,8152,6.281,8154,5.593,8156,9.501,8157,6.916,8158,9.274,8159,10.015,8160,7.469,8161,6.552,8162,5.728,8163,5.593,8164,7.061,8165,5.883,8166,5.883,8167,6.916,8168,6.916,8169,6.916,8170,6.916,8171,6.916,8172,6.916,8173,6.916,8174,6.552,8175,6.916,8176,6.916,8177,6.916,8178,6.916,8179,6.916,8180,6.916,8181,6.916,8182,6.916,8183,6.916,8184,6.916,8185,6.916,8186,6.916]],["title/classes/CustomParameter.html",[0,0.239,2738,4.535]],["body/classes/CustomParameter.html",[0,0.263,2,0.811,3,0.014,4,0.014,5,0.007,7,0.107,27,0.548,29,0.584,30,0.001,31,0.682,32,0.177,33,0.625,47,0.996,95,0.087,101,0.01,103,0,104,0,112,0.793,122,2.119,129,3.409,157,2.628,232,2.752,300,4.37,433,0.94,435,2.661,886,2.399,2033,8.2,2108,3.328,2183,3.005,2738,8.276,2743,8.049,4617,3.422,4679,4.635,5176,7.264,6101,7.912,6144,7.264,6229,4.658,6627,5.813,6647,4.913,6648,5.284,7513,5.047,7514,4.541,8187,12.995,8188,7.625,8189,8.756,8190,10.154,8191,7.625,8192,7.625,8193,7.625,8194,7.625,8195,7.625,8196,7.625,8197,7.625,8198,7.625,8199,7.625,8200,7.061,8201,7.061,8202,6.19,8203,6.19,8204,5.12,8205,6.19,8206,6.689,8207,6.689,8208,6.689,8209,6.689,8210,6.689,8211,6.689]],["title/classes/CustomParameterEntity.html",[0,0.239,8212,5.64]],["body/classes/CustomParameterEntity.html",[0,0.225,2,0.694,3,0.012,4,0.012,5,0.006,7,0.092,27,0.533,29,0.5,30,0.001,31,0.639,32,0.173,33,0.605,47,0.971,95,0.104,96,1.72,101,0.009,103,0,104,0,112,0.713,122,1.904,129,3.144,157,2.424,190,2.408,195,2.851,196,3.772,211,6.325,223,4.209,224,1.894,232,2.473,300,4.03,433,0.804,435,2.276,886,4.018,2033,7.562,2035,3.201,2108,2.847,2183,2.57,2669,6.199,2685,4.647,2743,7.423,4617,2.927,4679,3.965,5176,6.698,6101,7.296,6144,6.698,6229,4.295,6627,5.36,6647,4.202,6648,4.52,7513,4.317,7514,3.884,8189,8.075,8200,6.04,8201,6.04,8202,5.295,8203,5.295,8204,4.38,8205,5.295,8206,5.722,8207,5.722,8208,5.722,8209,5.722,8210,5.722,8211,5.722,8212,9.744,8213,13.679,8214,13.679,8215,6.522,8216,9.127,8217,6.522,8218,6.522,8219,6.522,8220,6.522,8221,6.522,8222,6.522,8223,6.522,8224,6.522,8225,6.522]],["title/classes/CustomParameterEntry.html",[0,0.239,2764,4.598]],["body/classes/CustomParameterEntry.html",[0,0.335,2,1.033,3,0.018,4,0.018,5,0.009,7,0.136,27,0.503,29,0.744,30,0.001,31,0.746,32,0.159,33,0.584,47,0.945,101,0.013,103,0.001,104,0.001,112,0.925,130,3.497,232,3.211,417,7.445,433,1.197,435,3.388,2183,3.826,2764,9.035,4617,4.358,8163,7.27,8187,12.329,8226,9.709,8227,11.847,8228,9.709,8229,7.648]],["title/classes/CustomParameterEntryEntity.html",[0,0.239,6727,5.328]],["body/classes/CustomParameterEntryEntity.html",[0,0.322,2,0.994,3,0.018,4,0.018,5,0.009,7,0.131,27,0.495,29,0.716,30,0.001,31,0.736,32,0.157,33,0.575,47,0.933,95,0.107,96,2.464,101,0.012,103,0.001,104,0.001,112,0.904,130,3.439,190,2.078,223,4.193,224,2.715,232,3.137,417,7.347,433,1.152,435,3.262,2183,3.684,2685,5.893,4617,4.195,6727,10.358,8163,7,8229,7.363,8230,13.139,8231,9.347,8232,11.574,8233,9.347]],["title/classes/CustomParameterEntryParam.html",[0,0.239,6780,5.328]],["body/classes/CustomParameterEntryParam.html",[0,0.405,2,1.018,3,0.018,4,0.018,5,0.009,7,0.134,27,0.462,30,0.001,31,0.712,32,0.146,33,0.537,47,0.94,95,0.134,101,0.013,103,0.001,104,0.001,112,0.917,130,3.475,190,2.108,200,2.932,201,4.56,202,2.199,296,3.068,299,4.952,300,4.495,417,7.104,614,3.913,2694,6.632,6778,7.012,6780,9.007,8234,7.422,8235,11.766,8236,9.57,8237,9.57,8238,9.57]],["title/classes/CustomParameterEntryResponse.html",[0,0.239,6893,5.472]],["body/classes/CustomParameterEntryResponse.html",[0,0.317,2,0.978,3,0.017,4,0.017,5,0.008,7,0.129,27,0.491,29,0.705,30,0.001,31,0.732,32,0.155,33,0.57,47,0.927,95,0.105,101,0.012,103,0.001,104,0.001,112,0.895,130,3.414,190,2.057,201,4.45,202,2.113,232,3.105,296,3.414,417,7.305,433,1.134,435,3.21,614,4.024,2183,3.625,4617,4.128,6893,10.588,8163,6.887,8229,7.245,8234,7.632,8235,12.098,8239,9.197,8240,11.458,8241,9.197,8242,9.197]],["title/classes/CustomParameterFactory.html",[0,0.239,8243,5.842]],["body/classes/CustomParameterFactory.html",[0,0.265,2,0.411,3,0.007,4,0.007,5,0.004,7,0.054,8,0.711,27,0.494,29,0.984,30,0.001,31,0.704,32,0.166,33,0.548,34,1.053,35,1.36,47,0.437,55,2.232,59,3.169,95,0.109,101,0.013,103,0,104,0,110,1.337,112,0.481,113,4.069,127,4.382,129,3.32,130,3.042,135,1.617,148,1.187,157,1.769,172,2.62,185,2.112,192,2.127,197,2.438,205,1.567,206,2.004,228,1.117,231,1.52,290,0.914,300,1.48,326,5.037,374,2.666,417,2.161,433,0.476,436,3.674,467,1.795,501,6.719,502,4.864,505,3.418,506,4.864,507,4.898,508,3.418,509,3.418,510,3.418,511,3.365,512,3.913,513,4.263,514,6.367,515,5.23,516,6.66,517,2.161,522,2.144,523,3.418,524,2.161,525,4.584,526,4.716,527,3.712,528,4.437,529,3.391,530,2.144,531,2.021,532,3.788,533,2.064,534,2.021,535,2.144,536,2.161,537,4.196,538,2.144,539,7.475,540,3.905,541,6.168,542,2.161,543,2.99,544,2.144,545,2.161,546,2.144,547,2.161,548,2.144,551,2.144,552,5.574,553,2.161,554,2.144,555,3.418,556,3.118,557,3.418,558,2.161,559,2.079,560,2.049,561,1.735,562,2.144,563,2.144,564,2.144,565,2.161,566,2.161,567,1.469,568,2.144,569,1.2,570,2.161,571,2.438,572,2.144,573,2.161,575,2.217,576,2.28,577,5.223,614,1.191,756,1.529,1220,2.217,1598,3.635,2007,1.92,2033,2.776,2084,2.679,2087,3.325,2124,3.267,2332,4.298,2668,2.832,2671,1.247,2676,2.179,2679,2.636,2738,5.017,2743,2.725,2749,1.908,4649,6.754,4651,2.776,5176,2.459,5329,4.615,5695,1.994,6091,2.965,6101,2.679,6107,4.615,6108,2.965,6229,3.908,6310,3.099,6627,1.968,6681,2.217,6744,3.138,6749,3.045,6750,2.636,8094,2.558,8100,2.523,8102,2.523,8104,2.523,8114,2.49,8115,2.325,8117,2.35,8243,6.463,8244,5.407,8245,6.163,8246,5.407,8247,3.865,8248,2.832,8249,4.615,8250,3.045,8251,2.832,8252,2.679,8253,2.43,8254,3.391,8255,3.391,8256,3.391,8257,6.743,8258,5.183,8259,3.391,8260,3.708,8261,3.138,8262,2.832,8263,2.965,8264,3.391,8265,2.895,8266,3.391,8267,3.391,8268,3.391,8269,3.391,8270,2.636,8271,3.391,8272,3.391,8273,3.391,8274,2.679,8275,3.391,8276,3.391,8277,3.251,8278,3.391,8279,2.776,8280,5.407,8281,6.743,8282,3.045,8283,5.407,8284,5.407,8285,3.391,8286,3.251,8287,3.045,8288,5.183,8289,3.391,8290,3.391,8291,3.391,8292,3.391,8293,3.391,8294,5.407,8295,3.391,8296,3.251,8297,2.558,8298,3.251,8299,3.391,8300,3.391,8301,3.391,8302,3.391]],["title/classes/CustomParameterPostParams.html",[0,0.239,8303,5.64]],["body/classes/CustomParameterPostParams.html",[0,0.335,2,0.759,3,0.014,4,0.014,5,0.007,7,0.1,27,0.537,30,0.001,31,0.618,32,0.174,33,0.609,47,0.986,95,0.126,101,0.009,103,0,104,0,112,0.758,122,2.027,157,2.541,190,2.451,199,5.387,200,2.187,201,4.814,202,1.64,296,3.419,299,5.1,300,5.097,856,6.123,899,3.25,2035,3.503,2669,6.245,4868,8.467,5176,7.024,6144,7.024,6229,4.504,6627,5.621,6778,8.683,8189,8.467,8303,7.885,8304,13.78,8305,7.137,8306,7.137,8307,7.137,8308,7.885,8309,7.137,8310,5.474,8311,7.137,8312,9.284,8313,7.137,8314,7.137,8315,7.137,8316,7.137,8317,7.137,8318,9.284,8319,7.137,8320,7.137,8321,9.284,8322,7.137,8323,7.137,8324,7.137,8325,7.137,8326,7.137]],["title/classes/CustomParameterResponse.html",[0,0.239,6688,5.472]],["body/classes/CustomParameterResponse.html",[0,0.232,2,0.716,3,0.013,4,0.013,5,0.006,7,0.095,27,0.537,29,0.516,30,0.001,31,0.647,32,0.174,33,0.609,47,0.976,95,0.106,101,0.009,103,0,104,0,112,0.729,122,1.947,157,2.465,190,2.423,201,5.177,202,1.546,232,2.528,296,3.526,300,4.098,433,0.829,435,2.349,886,3.369,2035,3.303,2108,2.938,2183,2.652,2669,6.232,3169,6.376,4617,3.021,4679,4.091,4868,8.211,5176,6.811,6144,6.811,6229,4.368,6627,5.451,6647,4.336,6648,4.664,6688,9.563,7513,4.454,7514,4.008,8189,8.211,8202,5.464,8203,5.464,8204,4.519,8205,5.464,8206,5.904,8207,5.904,8208,5.904,8209,5.904,8210,5.904,8211,5.904,8312,10.209,8318,10.209,8321,10.209,8327,13.753,8328,6.73,8329,9.328,8330,6.73,8331,6.73,8332,6.73,8333,6.73,8334,6.73,8335,6.73,8336,6.73,8337,6.73,8338,6.73,8339,6.73,8340,6.73]],["title/controllers/DashboardController.html",[314,2.659,8341,6.094]],["body/controllers/DashboardController.html",[0,0.234,3,0.013,4,0.013,5,0.006,7,0.095,8,1.083,27,0.424,29,0.825,30,0.001,31,0.603,32,0.134,33,0.492,35,1.246,36,2.666,55,2.529,95,0.144,100,4.507,101,0.009,103,0,104,0,135,1.644,148,1.065,190,1.932,202,1.562,228,1.232,274,2.842,277,0.976,314,2.602,316,3.28,317,2.895,325,6.717,326,4.789,349,6.955,365,3.023,379,5.48,388,4.616,389,4.438,392,3.554,395,3.656,398,3.684,400,2.025,657,2.463,1170,7.298,3189,6.132,3209,3.507,4030,5.651,4490,9.051,7573,8.699,7579,6.296,8341,8.241,8342,6.798,8343,7.48,8344,10.763,8345,6.798,8346,6.798,8347,11.331,8348,9.763,8349,9.394,8350,6.798,8351,6.798,8352,7.796,8353,10.185,8354,9.394,8355,6.798,8356,5.964,8357,6.798,8358,9.051,8359,6.798,8360,5.214,8361,6.798,8362,6.798,8363,6.798,8364,6.798,8365,10.763,8366,8.241,8367,6.798,8368,6.798,8369,6.798,8370,6.798,8371,6.798,8372,6.798,8373,6.798,8374,6.296]],["title/classes/DashboardEntity.html",[0,0.239,8375,5.09]],["body/classes/DashboardEntity.html",[0,0.173,2,0.32,3,0.006,4,0.006,5,0.003,7,0.118,8,0.579,26,2.426,27,0.501,29,0.87,30,0.001,31,0.636,32,0.159,33,0.519,34,1.79,35,1.403,39,2.089,47,0.861,55,2.514,83,0.876,95,0.074,99,0.616,101,0.013,103,0,104,0,112,0.392,122,1.575,125,1.797,130,1.374,135,1.723,141,3.237,145,2.83,146,2.051,148,1.307,153,1.655,155,3.053,159,0.309,232,0.815,242,2.644,243,1.891,277,0.432,433,0.371,435,2.256,458,3.358,459,2.644,467,2.198,569,3.659,579,1.85,595,1.135,652,2.749,756,2.557,896,1.682,1065,4.12,1170,4.745,1237,0.887,1660,5.653,1675,3.021,1842,2.944,2048,4.512,2434,3.424,2769,3.53,2880,6.645,2922,1.741,2923,1.595,2964,2.085,3025,3.622,3045,5.774,3515,4.841,3709,2.121,3859,8.739,3884,3.235,3977,7.058,4047,3.157,4490,4.223,7342,2.53,7449,2.051,7492,3.68,7564,3.48,7795,6.286,8352,5.069,8375,3.68,8376,2.639,8377,5.022,8378,6.623,8379,5.022,8380,5.022,8381,6.623,8382,6.348,8383,7.627,8384,5.022,8385,5.946,8386,5.022,8387,5.022,8388,5.022,8389,5.022,8390,5.022,8391,5.022,8392,6.623,8393,3.008,8394,3.008,8395,3.008,8396,3.008,8397,3.008,8398,4.406,8399,3.008,8400,2.253,8401,3.008,8402,4.406,8403,3.008,8404,4.65,8405,4.406,8406,9.741,8407,3.008,8408,9.91,8409,3.008,8410,3.008,8411,6.956,8412,3.008,8413,4.406,8414,9.741,8415,3.008,8416,3.008,8417,4.406,8418,3.008,8419,4.406,8420,3.008,8421,4.406,8422,3.008,8423,4.406,8424,3.008,8425,4.406,8426,3.008,8427,4.406,8428,3.008,8429,3.008,8430,4.406,8431,3.008,8432,4.406,8433,2.253,8434,4.406,8435,2.639,8436,4.406,8437,4.406,8438,4.406,8439,2.639,8440,4.406,8441,2.639,8442,4.406,8443,2.639,8444,3.761,8445,8.947,8446,2.639,8447,4.406,8448,2.639,8449,4.406,8450,2.639,8451,4.406,8452,2.639,8453,2.639,8454,2.639,8455,2.639,8456,2.639,8457,4.406,8458,2.639,8459,4.406,8460,2.53,8461,4.406,8462,2.639,8463,4.406,8464,2.639,8465,2.639,8466,2.639,8467,2.639,8468,2.442,8469,2.639,8470,4.406,8471,2.639,8472,2.307,8473,2.639,8474,2.639,8475,2.639,8476,2.639,8477,2.639,8478,2.639,8479,2.639,8480,2.639,8481,2.639,8482,4.406,8483,4.406,8484,2.53,8485,5.671,8486,2.639,8487,4.406,8488,2.639,8489,2.639,8490,2.639,8491,2.639,8492,2.639,8493,2.639,8494,2.639,8495,2.639,8496,2.639,8497,2.639,8498,2.639,8499,2.639,8500,2.639,8501,2.639,8502,2.639,8503,2.639,8504,2.639,8505,2.639,8506,2.639,8507,2.639,8508,2.639,8509,2.639,8510,2.639,8511,4.406,8512,2.639,8513,2.639,8514,2.639,8515,4.406,8516,4.406,8517,2.639,8518,2.639,8519,2.639,8520,2.639,8521,2.639,8522,2.639,8523,2.639,8524,5.671,8525,2.639,8526,2.639]],["title/entities/DashboardGridElementModel.html",[205,1.416,8527,5.472]],["body/entities/DashboardGridElementModel.html",[0,0.318,3,0.013,4,0.013,5,0.006,7,0.17,27,0.475,30,0.001,32,0.143,33,0.422,34,2.062,39,2.555,47,0.857,49,2.503,55,2.51,95,0.138,96,2.434,97,2.705,101,0.015,103,0,104,0,112,0.721,125,2.197,129,1.98,130,1.814,153,1.742,155,3.966,159,0.949,190,2.168,195,2.642,196,2.193,205,2.165,206,2.156,211,3.677,223,3.882,224,1.926,225,4.08,229,3.652,231,1.6,232,1.797,233,2.881,290,2.716,433,0.817,458,3.694,459,3.49,1821,4.479,2032,3.509,2538,8.416,2880,7.42,2911,4.91,2912,8.146,2915,5.891,2917,7.495,2919,3.677,2921,4.858,2925,3.949,3025,3.181,4608,3.77,5670,3.113,6147,4.168,7495,3.738,7830,4.328,8343,8.264,8527,8.366,8528,5.575,8529,10.15,8530,10.15,8531,6.63,8532,6.63,8533,6.63,8534,6.63,8535,6.63,8536,6.63,8537,6.63,8538,7.495,8539,6.913,8540,5.575,8541,7.763,8542,5.575,8543,5.575,8544,5.575,8545,5.575,8546,5.575,8547,5.383,8548,5.575,8549,5.575,8550,7.495,8551,6.764,8552,5.575,8553,4.595,8554,5.575,8555,5.575,8556,5.575,8557,5.575,8558,5.575]],["title/interfaces/DashboardGridElementModelProperties.html",[159,0.714,8538,5.64]],["body/interfaces/DashboardGridElementModelProperties.html",[0,0.323,3,0.013,4,0.013,5,0.006,7,0.171,30,0.001,32,0.157,33,0.53,34,2.247,39,2.597,47,0.934,49,2.562,55,2.641,95,0.139,96,2.474,97,2.769,101,0.015,103,0,104,0,112,0.733,125,1.615,153,1.539,155,4.095,159,0.965,161,1.612,195,2.353,196,2.245,205,2.192,223,3.602,224,1.971,225,4.131,229,3.712,231,1.626,232,1.839,233,2.929,290,2.744,433,0.836,458,3.754,459,3.573,1821,4.553,2032,4.41,2538,7.88,2880,7.739,2911,4.338,2912,7.196,2915,5.204,2917,5.51,2919,3.764,2921,4.973,2925,4.042,3025,3.256,4608,3.86,5670,3.187,6147,4.266,7495,3.827,7830,4.43,8343,8.477,8527,7.391,8528,5.707,8529,10.481,8530,10.481,8538,8.731,8539,8.688,8540,5.707,8541,7.89,8542,5.707,8543,5.707,8544,5.707,8545,5.707,8546,5.707,8547,5.51,8548,5.707,8549,5.707,8550,7.618,8551,6.875,8552,5.707,8553,4.703,8554,5.707,8555,5.707,8556,5.707,8557,5.707,8558,5.707]],["title/classes/DashboardGridElementResponse.html",[0,0.239,8559,5.64]],["body/classes/DashboardGridElementResponse.html",[0,0.322,2,0.56,3,0.01,4,0.01,5,0.005,7,0.074,27,0.503,29,0.403,30,0.001,31,0.295,32,0.164,33,0.593,34,2.336,47,0.958,55,2.073,83,2.277,95,0.089,101,0.012,103,0,104,0,112,0.611,125,1.861,155,4.248,157,3.129,190,2.255,202,1.209,205,1.073,223,2.428,296,3.551,298,2.278,304,5.708,374,4.036,433,1.273,458,3.733,567,2.972,821,2.681,866,2.615,868,5.743,876,4.06,896,2.944,1065,5.068,1170,4.916,1568,5.419,2048,5.589,3023,5.797,3025,3.752,3045,5.513,3166,6.172,3167,6.172,4047,7.729,7448,6.265,7449,7.523,7527,3.942,7564,8.521,7793,6.349,7794,6.16,7795,9.419,7796,7.348,7799,6.16,7800,5.105,7801,5.514,7802,6.349,7826,3.781,8343,5.038,8352,5.251,8360,5.998,8444,8.262,8551,6.836,8559,9.717,8560,4.619,8561,9.679,8562,9.278,8563,9.278,8564,5.265,8565,5.265,8566,5.265,8567,8.957,8568,6.86,8569,5.265,8570,5.265,8571,5.265,8572,5.265,8573,4.619,8574,5.265,8575,5.265,8576,5.265,8577,4.619,8578,4.619,8579,4.619,8580,4.619,8581,4.619]],["title/classes/DashboardGridSubElementResponse.html",[0,0.239,8567,5.64]],["body/classes/DashboardGridSubElementResponse.html",[0,0.345,2,0.632,3,0.011,4,0.011,5,0.005,7,0.083,27,0.456,29,0.455,30,0.001,31,0.333,32,0.155,33,0.272,34,2.365,47,0.971,55,1.715,83,1.73,95,0.097,101,0.013,103,0,104,0,112,0.667,125,1.414,155,4.338,157,3.169,190,1.964,202,1.365,205,1.211,223,1.845,296,3.618,298,2.571,304,5.721,374,3.696,433,1.348,458,4.002,567,2.259,821,3.026,868,4.8,876,3.086,896,3.323,1065,4.194,1170,3.736,1568,4.118,2048,5.594,3023,6.216,3025,4.099,3045,4.562,3166,6.186,3167,6.186,4047,7.995,7448,6.717,7449,6.821,7527,4.45,7564,8.814,7793,6.937,7794,6.73,7795,9.476,7796,7.879,7799,4.681,7800,3.879,7801,4.19,7802,4.825,7826,4.268,8343,5.505,8352,3.991,8360,6.553,8444,7.491,8551,7.33,8559,8.88,8560,5.214,8561,8.776,8562,8.412,8563,8.412,8567,10.091,8568,5.214,8573,5.214,8577,5.214,8578,5.214,8579,5.214,8580,5.214,8581,5.214,8582,5.943,8583,5.943,8584,5.943,8585,5.943,8586,5.943]],["title/classes/DashboardMapper.html",[0,0.239,8356,6.094]],["body/classes/DashboardMapper.html",[0,0.262,2,0.81,3,0.014,4,0.014,5,0.007,7,0.107,8,1.169,27,0.449,29,0.874,30,0.001,31,0.639,32,0.142,33,0.521,34,1.3,35,1.32,95,0.13,99,1.557,100,4.245,101,0.01,103,0,104,0,125,1.811,131,3.875,135,1.587,148,1.128,153,1.871,155,2.414,339,2.233,467,3.983,478,2.137,652,2.656,830,5.625,837,3.757,3045,4.063,4047,4.784,7387,6.4,7449,5.189,7492,8.913,7564,5.274,8343,6.534,8356,8.897,8360,9.329,8375,8.913,8382,6.4,8411,9.329,8551,5.576,8559,9.875,8562,6.4,8563,6.4,8567,9.26,8587,7.61,8588,10.141,8589,10.141,8590,10.141,8591,7.61,8592,10.141,8593,7.61,8594,10.141,8595,7.61,8596,7.61,8597,7.61,8598,7.61,8599,7.61,8600,7.61,8601,7.61,8602,7.61,8603,7.61,8604,7.61,8605,7.61,8606,7.61,8607,7.61,8608,10.141,8609,7.61,8610,10.141,8611,7.61,8612,7.61,8613,7.61,8614,7.61,8615,7.61]],["title/entities/DashboardModelEntity.html",[205,1.416,8539,5.202]],["body/entities/DashboardModelEntity.html",[0,0.33,3,0.013,4,0.013,5,0.006,7,0.173,27,0.376,30,0.001,32,0.119,34,2.1,39,3.019,47,0.833,49,2.633,55,2.356,95,0.14,96,2.521,97,2.846,101,0.015,103,0,104,0,112,0.747,125,1.66,129,2.083,130,1.908,153,1.79,155,3.723,159,0.983,190,1.717,195,2.568,196,2.308,205,2.224,206,2.269,223,3.644,224,2.026,225,4.191,229,3.782,231,1.657,232,1.89,233,2.984,290,3.004,433,0.86,458,3.826,459,3.672,1821,5.293,2032,3.634,2538,8.6,2880,6.704,2911,5.044,2912,8.367,2915,6.051,2917,5.663,2919,3.869,2921,5.111,2925,4.154,3025,3.347,4608,3.967,5670,3.275,6147,4.385,7495,3.933,7830,4.554,8343,8.183,8527,7.531,8528,5.866,8529,9.529,8530,9.529,8538,7.763,8539,8.17,8540,5.866,8541,8.041,8542,5.866,8543,5.866,8544,5.866,8545,5.866,8546,5.866,8547,5.663,8548,5.866,8549,5.866,8550,7.763,8551,8.6,8552,5.866,8553,4.834,8554,5.866,8555,5.866,8556,5.866,8557,8.041,8558,5.866,8616,6.976,8617,6.46,8618,6.976]],["title/injectables/DashboardModelMapper.html",[589,0.926,8619,5.472]],["body/injectables/DashboardModelMapper.html",[0,0.148,3,0.008,4,0.008,5,0.004,7,0.06,8,0.774,27,0.486,29,0.946,30,0.001,31,0.692,32,0.156,33,0.565,34,1.146,35,1.404,36,2.818,39,1.191,47,0.306,95,0.115,96,1.135,99,0.881,101,0.006,103,0,104,0,125,1.025,131,2.192,135,1.769,141,2.877,148,1.258,153,1.527,205,1.368,224,1.25,228,0.78,277,0.618,290,1.95,317,3.01,433,0.531,478,1.209,579,1.232,589,0.894,591,1.025,595,1.625,652,2.558,657,2.944,980,2.388,1170,2.706,1312,2.021,1660,3.224,1842,3.055,2032,4.508,2444,5.163,2463,2.81,2479,2.935,2880,6.2,2921,3.154,3071,6.945,3596,2.81,3601,3.919,3859,6.587,7493,3.495,7563,3.495,7795,4.649,8343,8.085,8352,2.891,8375,8.178,8411,9.755,8445,7.947,8460,3.62,8527,9.093,8529,3.495,8530,3.495,8539,9.637,8547,3.495,8551,3.154,8619,5.284,8620,4.305,8621,8.243,8622,8.243,8623,6.709,8624,6.709,8625,6.709,8626,6.709,8627,8.243,8628,6.709,8629,6.709,8630,8.243,8631,4.305,8632,4.305,8633,4.305,8634,12.719,8635,4.305,8636,4.305,8637,6.709,8638,4.305,8639,6.709,8640,4.305,8641,9.377,8642,6.709,8643,4.305,8644,6.709,8645,4.305,8646,4.305,8647,4.305,8648,6.709,8649,4.305,8650,6.709,8651,4.305,8652,4.305,8653,4.305,8654,10.09,8655,6.709,8656,4.305,8657,4.305,8658,4.305,8659,4.305,8660,4.305,8661,4.305,8662,4.305,8663,4.305,8664,4.305,8665,4.305,8666,4.305,8667,4.305,8668,4.305,8669,4.305,8670,4.305,8671,4.305,8672,3.986,8673,4.305,8674,6.709,8675,4.305,8676,6.709,8677,4.305,8678,4.305,8679,4.305,8680,6.709,8681,4.305,8682,6.709,8683,4.305,8684,6.709,8685,4.305,8686,4.305,8687,4.305,8688,6.709,8689,6.709,8690,4.305,8691,4.305,8692,4.305,8693,3.777,8694,4.305,8695,4.305,8696,4.305,8697,4.305,8698,4.305,8699,4.305,8700,3.777,8701,6.709,8702,4.305,8703,4.305]],["title/interfaces/DashboardModelProperties.html",[159,0.714,8550,5.64]],["body/interfaces/DashboardModelProperties.html",[0,0.332,3,0.013,4,0.013,5,0.007,7,0.173,30,0.001,32,0.137,33,0.441,34,2.268,39,2.669,47,0.905,49,2.665,55,2.368,95,0.141,96,2.542,97,2.881,101,0.015,103,0,104,0,112,0.753,125,1.681,153,1.582,155,3.742,159,0.991,161,1.677,195,2.402,196,2.336,205,2.238,223,3.663,224,2.051,225,4.218,229,3.814,231,1.671,232,1.914,233,3.01,290,3.186,433,0.87,458,3.858,459,3.717,1821,4.678,2032,3.665,2538,8.045,2880,6.746,2911,4.457,2912,7.395,2915,5.348,2917,5.733,2919,3.917,2921,5.174,2925,4.206,3025,3.388,4608,4.016,5670,3.316,6147,4.439,7495,3.982,7830,4.61,8343,7.957,8527,9.293,8528,5.938,8529,9.578,8530,9.578,8538,7.828,8539,7.22,8540,5.938,8541,8.108,8542,5.938,8543,5.938,8544,5.938,8545,5.938,8546,5.938,8547,5.733,8548,5.938,8549,5.938,8550,8.914,8551,9.049,8552,5.938,8553,4.894,8554,5.938,8555,5.938,8556,5.938,8557,5.938,8558,5.938]],["title/injectables/DashboardRepo.html",[589,0.926,8704,5.472]],["body/injectables/DashboardRepo.html",[0,0.315,3,0.012,4,0.012,5,0.006,7,0.092,8,1.052,9,3.031,26,2.761,27,0.472,29,0.92,30,0.001,31,0.672,32,0.15,33,0.549,34,1.559,35,1.32,36,2.868,39,3.156,49,2.462,95,0.137,96,1.72,97,2.661,99,1.335,101,0.012,103,0,104,0,113,2.6,135,1.727,148,1.23,153,1.07,159,0.67,205,1.86,228,1.654,277,0.937,290,1.543,317,2.963,433,0.804,478,1.831,561,2.927,589,1.217,591,1.552,657,2.921,675,5.36,728,3.775,1237,1.923,1829,2.773,2444,6.325,2479,4.447,3596,4.258,3601,5.332,5296,7.41,7795,4.52,8343,8.014,8375,9.547,8411,7,8539,4.884,8619,8.982,8641,8.007,8700,5.722,8704,7.189,8705,6.04,8706,8.452,8707,8.007,8708,8.452,8709,6.522,8710,9.749,8711,6.522,8712,9.236,8713,6.522,8714,8.452,8715,6.522,8716,9.749,8717,6.522,8718,6.04,8719,6.04,8720,8.452,8721,6.04,8722,5.722,8723,7.675,8724,4.884,8725,8.452,8726,6.04,8727,8.452,8728,6.04,8729,9.749,8730,6.04,8731,8.452,8732,6.04,8733,6.04]],["title/classes/DashboardResponse.html",[0,0.239,8360,5.328]],["body/classes/DashboardResponse.html",[0,0.352,2,0.656,3,0.012,4,0.012,5,0.006,7,0.087,27,0.402,29,0.472,30,0.001,31,0.345,32,0.146,33,0.282,34,2.377,47,0.952,55,1.76,83,1.794,95,0.1,101,0.013,103,0,104,0,112,0.685,125,2.087,155,4.204,157,3.204,190,1.574,202,1.416,205,1.787,223,1.913,296,3.637,298,2.666,304,5.801,374,4.416,433,1.37,458,4.084,567,2.342,821,3.137,866,3.06,868,2.956,876,3.2,896,4.903,1065,4.304,1170,3.873,1568,4.27,2048,5.448,3023,6.342,3025,4.207,3045,4.681,3166,6.273,3167,6.273,4047,7.676,7448,5.888,7449,6.96,7527,4.614,7564,8.462,7793,7.118,7794,6.906,7795,9.183,7796,6.906,7799,4.854,7800,4.022,7801,4.344,7802,5.003,7826,6.297,8343,7.164,8352,4.138,8360,9.011,8444,7.643,8551,8.609,8559,9.539,8560,5.406,8561,8.955,8562,8.583,8563,8.583,8567,9.027,8568,5.406,8577,5.406,8578,5.406,8579,5.406,8580,5.406,8581,5.406,8734,6.162,8735,6.162,8736,6.162]],["title/injectables/DashboardUc.html",[589,0.926,8358,5.842]],["body/injectables/DashboardUc.html",[0,0.218,3,0.012,4,0.012,5,0.006,7,0.089,8,1.029,26,2.912,27,0.467,29,0.909,30,0.001,31,0.689,32,0.148,33,0.542,35,1.301,36,2.604,39,3.822,47,0.734,95,0.144,99,1.293,101,0.008,103,0,104,0,135,1.547,148,1.024,153,1.036,195,1.382,228,1.617,277,0.907,279,2.641,317,2.847,326,3.933,347,3.237,433,1.1,478,1.773,561,2.835,569,1.961,579,1.808,589,1.19,591,1.503,595,2.384,652,2.418,657,2.895,688,2.982,770,3.971,790,4.307,1910,7.775,2231,3.592,2923,4.731,2966,5.312,3045,5.525,5412,3.624,7890,5.542,8343,8.327,8358,7.504,8366,9.864,8375,8.239,8406,9.455,8414,10.641,8445,4.976,8484,5.312,8704,7.029,8707,7.829,8712,7.829,8723,9.455,8737,6.317,8738,10.347,8739,10.347,8740,8.924,8741,6.317,8742,6.317,8743,6.317,8744,6.317,8745,6.317,8746,6.317,8747,6.317,8748,8.924,8749,6.317,8750,6.317,8751,5.85,8752,4.845,8753,6.317,8754,6.317,8755,6.317,8756,6.317,8757,10.347,8758,8.924,8759,8.924,8760,6.317,8761,6.317,8762,6.317,8763,6.317]],["title/classes/DashboardUrlParams.html",[0,0.239,8347,6.094]],["body/classes/DashboardUrlParams.html",[0,0.415,2,1.061,3,0.019,4,0.019,5,0.009,7,0.14,27,0.393,30,0.001,32,0.124,34,2.057,47,0.855,95,0.137,101,0.013,103,0.001,104,0.001,112,0.941,157,2.296,190,1.791,194,4.711,195,2.635,196,3.984,197,3.349,200,3.056,202,2.291,296,3.147,855,4.875,4150,6.063,8343,7.759,8347,10.565,8366,11.35,8764,9.974,8765,9.974]],["title/classes/DatabaseManagementConsole.html",[0,0.239,8766,5.842]],["body/classes/DatabaseManagementConsole.html",[0,0.202,2,0.623,3,0.011,4,0.011,5,0.005,7,0.082,8,0.975,27,0.428,29,0.76,30,0.001,31,0.556,32,0.124,33,0.497,35,1.148,36,2.54,47,0.416,95,0.113,101,0.016,103,0,104,0,122,1.764,125,2.857,135,1.653,148,0.981,157,3.055,159,0.602,190,1.781,194,4.25,195,1.281,197,3.021,270,3.248,317,2.796,339,2.48,400,1.744,433,0.722,540,4.823,560,4.482,652,1.194,657,2.486,1212,5.447,1476,6.031,1821,4.814,1927,7.08,3071,3.523,3547,3.598,3564,5.379,3753,5.138,3755,4.613,3756,7.092,3759,6.484,3761,7.609,3765,8.507,3766,6.675,3767,3.421,3769,4.613,3770,5.595,4656,6.535,4863,7.96,4892,8.123,5173,9.748,5175,4.058,5187,2.81,5191,7.417,5202,10.167,5253,9.135,5300,8.627,5302,8.82,6321,4.754,6323,5.138,8766,7.109,8767,10.668,8768,7.829,8769,8.454,8770,5.856,8771,7.829,8772,5.856,8773,7.829,8774,5.856,8775,9.074,8776,6.484,8777,5.856,8778,5.138,8779,4.925,8780,7.829,8781,7.829,8782,5.138,8783,7.829,8784,7.829,8785,5.423,8786,5.423,8787,5.423,8788,9.135,8789,7.829,8790,9.187,8791,5.423,8792,5.423,8793,5.138]],["title/controllers/DatabaseManagementController.html",[314,2.659,8794,6.094]],["body/controllers/DatabaseManagementController.html",[0,0.259,3,0.014,4,0.014,5,0.007,7,0.106,8,1.161,27,0.497,29,0.869,30,0.001,31,0.635,32,0.141,33,0.518,35,1.461,36,2.851,47,0.922,95,0.115,101,0.01,103,0,104,0,122,2.367,135,0.982,148,1.249,190,2.266,274,3.146,277,1.081,314,2.88,316,3.631,317,3.034,365,3.345,388,3.227,400,2.241,657,2.303,3211,4.141,3769,5.927,5152,10.183,5173,8.933,5300,8.493,5302,9.831,7582,6.662,8768,11.213,8779,6.328,8793,8.83,8794,8.83,8795,12.988,8796,7.525,8797,7.525,8798,10.065,8799,9.321,8800,10.065,8801,7.525,8802,10.065,8803,7.525,8804,10.065,8805,7.525,8806,6.968,8807,10.065,8808,7.525,8809,7.525,8810,10.065,8811,7.525,8812,11.341,8813,10.065,8814,7.525,8815,7.525,8816,7.525,8817,7.525,8818,7.525,8819,7.525,8820,7.525,8821,7.525,8822,7.525]],["title/modules/DatabaseManagementModule.html",[252,1.836,8823,6.094]],["body/modules/DatabaseManagementModule.html",[0,0.338,3,0.019,4,0.019,5,0.009,30,0.001,95,0.136,101,0.013,103,0.001,104,0.001,252,3.393,254,3.531,255,3.74,256,3.835,257,3.821,258,3.807,259,4.67,260,4.781,269,4.662,270,3.766,271,3.688,277,1.408,1927,5.782,5154,11.795,8823,12.359,8824,9.804,8825,9.804,8826,9.804,8827,9.079,8828,8.601,8829,8.244]],["title/injectables/DatabaseManagementService.html",[589,0.926,5154,5.64]],["body/injectables/DatabaseManagementService.html",[0,0.186,3,0.01,4,0.01,5,0.005,7,0.076,8,0.92,27,0.513,29,0.949,30,0.001,31,0.708,32,0.154,33,0.566,35,1.464,36,2.888,47,0.997,95,0.127,96,2.103,97,2.206,101,0.007,103,0,104,0,135,1.702,141,3.42,145,3.552,148,1.251,158,3.492,195,2.074,224,1.57,228,0.98,277,0.777,317,3.061,400,1.61,433,0.666,478,1.518,589,1.063,591,1.287,624,8.353,652,1.626,657,2.762,735,3.632,804,4.049,1821,6.012,2444,5.802,2477,5.438,3596,3.529,3601,4.659,4166,6.475,4177,8.313,5152,10.152,5154,6.475,5202,6.282,5236,7.385,5302,8.492,5769,5.007,7851,6.272,8776,8.022,8799,7.385,8806,7.385,8827,12.226,8830,4.389,8831,7.975,8832,7.975,8833,7.975,8834,7.975,8835,10.46,8836,7.975,8837,5.407,8838,7.975,8839,5.407,8840,7.975,8841,4.743,8842,7.975,8843,5.007,8844,7.975,8845,5.407,8846,7.975,8847,5.407,8848,5.007,8849,7.975,8850,5.407,8851,5.407,8852,5.407,8853,5.407,8854,5.407,8855,5.407,8856,5.407,8857,5.407,8858,9.476,8859,7.975,8860,5.407,8861,5.407,8862,5.407,8863,5.407,8864,5.278,8865,5.407,8866,5.407,8867,5.407,8868,7.975,8869,5.407,8870,5.407,8871,5.407,8872,5.407,8873,5.407,8874,5.407,8875,5.407]],["title/classes/DeleteFilesConsole.html",[0,0.239,8876,6.094]],["body/classes/DeleteFilesConsole.html",[0,0.272,2,0.84,3,0.015,4,0.015,5,0.01,7,0.111,8,1.198,27,0.409,29,0.796,30,0.001,31,0.582,32,0.129,33,0.475,35,0.914,36,2.198,55,2.574,83,2.299,95,0.133,101,0.01,103,0.001,104,0.001,129,2.357,130,2.159,135,1.03,153,1.295,157,2.674,190,1.417,317,2.516,400,2.351,433,0.973,652,1.609,657,1.806,870,4.311,876,4.099,1027,2.419,1743,7.463,1938,5.589,2445,4.835,2446,5.765,2806,7.21,2845,6.639,2879,9.149,3005,3.727,3761,6.055,3765,8.287,3766,7.584,3767,4.612,5187,5.921,7504,9.602,8876,9.116,8877,11.615,8878,7.895,8879,9.622,8880,7.895,8881,11.071,8882,7.895,8883,10.391,8884,11.55,8885,11.55,8886,10.19,8887,10.756,8888,7.895,8889,11.615,8890,7.895,8891,6.926,8892,7.311,8893,6.926,8894,7.895,8895,7.895,8896,7.895,8897,7.895,8898,5.225]],["title/injectables/DeleteFilesUc.html",[589,0.926,8881,5.842]],["body/injectables/DeleteFilesUc.html",[0,0.175,3,0.01,4,0.01,5,0.008,7,0.071,8,0.878,27,0.465,29,0.832,30,0.001,31,0.608,32,0.142,33,0.497,35,1.258,36,2.146,47,0.648,55,1.833,58,4.969,83,2.659,95,0.135,101,0.007,103,0,104,0,112,0.594,129,1.516,130,1.389,135,1.7,145,4.276,148,0.903,153,1.664,195,1.998,197,1.412,205,1.035,228,1.655,259,1.847,271,1.91,277,0.729,317,2.823,335,5.112,385,3.463,433,0.938,478,1.426,589,1.015,591,1.209,629,2.673,644,3.087,652,2.789,657,2.706,711,2.706,756,3.011,1019,8.667,1027,1.556,1076,4.843,1080,1.751,1328,2.692,2124,2.692,2232,3.087,2445,3.801,2446,4.738,2483,3.721,2487,4,2609,2.493,2769,5.538,2802,3.653,2845,4.27,5162,8.136,5187,4.867,5372,4.703,5373,4.703,7247,3.463,7248,6.226,7249,3.463,7250,3.463,7313,6.678,8879,7.049,8881,6.401,8884,8.899,8891,6.678,8893,4.455,8898,3.361,8899,12.165,8900,5.078,8901,10.143,8902,6.678,8903,7.049,8904,7.612,8905,10.143,8906,5.078,8907,9.261,8908,9.947,8909,7.612,8910,7.612,8911,5.078,8912,6.401,8913,9.137,8914,7.612,8915,5.078,8916,7.612,8917,5.078,8918,7.612,8919,5.078,8920,5.078,8921,7.612,8922,4.27,8923,4.455,8924,4.123,8925,4.703,8926,5.078,8927,5.078,8928,9.131,8929,10.143,8930,10.143,8931,5.078,8932,9.131,8933,5.078,8934,5.078,8935,5.078,8936,9.131,8937,5.078,8938,5.078,8939,5.078,8940,6.678,8941,5.078,8942,5.078,8943,3.803,8944,5.078,8945,5.078,8946,5.078,8947,5.078,8948,5.078,8949,5.078,8950,5.078,8951,4.123,8952,5.078,8953,4.703,8954,5.078,8955,4.703,8956,3.803,8957,5.078,8958,5.078,8959,5.078,8960,7.612,8961,5.078,8962,5.078,8963,6.678,8964,5.078,8965,5.078,8966,5.078,8967,5.078,8968,5.078]],["title/modules/DeletionApiModule.html",[252,1.836,1010,5.472]],["body/modules/DeletionApiModule.html",[0,0.22,3,0.012,4,0.012,5,0.006,30,0.001,47,0.846,95,0.162,101,0.008,103,0,104,0,252,2.753,254,2.304,255,2.44,256,2.503,257,2.493,258,2.484,259,3.789,260,2.382,264,8.878,265,5.715,269,3.522,270,2.458,271,2.406,273,4.022,274,3.764,276,3.522,277,0.919,290,1.513,725,4.511,1010,11.503,1027,1.96,1060,4.362,1061,4.907,1062,4.907,1063,4.907,1317,4.022,1484,8.301,1537,4.791,1907,8.716,2028,4.791,2218,2.858,2219,3.217,2220,3.104,2221,4.022,3005,3.02,3209,3.3,3843,7.681,3853,3.368,4755,10.395,5021,9.257,5026,4.907,8969,6.397,8970,6.397,8971,6.397,8972,10.845,8973,10.395,8974,8.716,8975,10.845,8976,9.675,8977,10.845,8978,10.395,8979,10.845,8980,6.397,8981,9.141,8982,9.141,8983,6.397,8984,5.924,8985,4.511,8986,6.397,8987,7.899,8988,6.397,8989,5.613,8990,9.004,8991,6.397,8992,6.397,8993,5.613,8994,5.613,8995,5.613,8996,5.613,8997,5.613,8998,5.613]],["title/injectables/DeletionClient.html",[589,0.926,2793,5.64]],["body/injectables/DeletionClient.html",[0,0.172,3,0.009,4,0.009,5,0.005,7,0.07,8,0.866,27,0.487,29,0.692,30,0.001,31,0.506,32,0.146,33,0.413,35,1.164,36,2.127,47,0.895,55,1.814,56,4.746,59,1.549,83,1.453,95,0.129,101,0.007,103,0,104,0,112,0.587,135,1.311,142,1.815,145,1.87,148,1.067,153,1.929,159,0.513,193,4.369,194,1.952,228,2.403,277,0.717,290,1.18,317,2.455,326,1.897,402,3.598,433,0.926,531,2.609,534,5.256,579,3.716,589,1.002,591,1.188,628,4.474,629,3.955,634,6.806,644,4.567,651,2.525,652,2.81,657,1.719,871,3.308,998,4.746,1053,7.727,1054,2.813,1056,3.215,1080,3.907,1169,4.349,1170,5.68,1313,3.402,1314,3.656,1328,3.983,1329,4.567,1330,6.317,1372,4.756,1379,5.396,1842,2.272,2124,4.79,2163,5.239,2232,3.033,2332,5.052,2357,4.272,2381,3.93,2392,1.903,2400,4.621,2512,4.272,2582,3.137,2689,3.518,2793,6.099,2802,3.006,2806,5.874,2811,5.045,2812,4.972,2815,8.163,2821,4.051,2891,5.396,2899,5.762,3211,2.746,3228,6.62,4277,4.378,8999,4.99,9000,8.367,9001,9.035,9002,9.035,9003,10.054,9004,10.054,9005,6.957,9006,7.512,9007,7.512,9008,4.99,9009,4.99,9010,7.512,9011,4.99,9012,7.512,9013,4.99,9014,4.99,9015,4.99,9016,4.99,9017,4.99,9018,4.378,9019,4.99,9020,7.512,9021,4.99,9022,4.196,9023,4.196,9024,4.621,9025,7.512,9026,4.99,9027,7.512,9028,4.99,9029,4.99,9030,4.99,9031,9.035,9032,5.626,9033,7.512,9034,8.367,9035,4.621,9036,10.054,9037,7.512,9038,7.512,9039,3.827,9040,4.99,9041,7.512,9042,4.196,9043,4.99,9044,4.99,9045,4.621,9046,4.99,9047,6.957,9048,4.99,9049,10.054,9050,4.99,9051,4.99,9052,4.051,9053,4.99,9054,4.99]],["title/interfaces/DeletionClientConfig.html",[159,0.714,9018,6.094]],["body/interfaces/DeletionClientConfig.html",[3,0.02,4,0.02,5,0.01,7,0.147,30,0.001,32,0.154,47,1.003,101,0.014,103,0.001,104,0.001,112,0.968,159,1.076,161,2.486,2802,4.188,9018,10.875,9055,8.803,9056,10.469,9057,13.653,9058,13.653]],["title/modules/DeletionConsoleModule.html",[252,1.836,9059,6.433]],["body/modules/DeletionConsoleModule.html",[0,0.279,3,0.015,4,0.015,5,0.007,30,0.001,95,0.162,101,0.011,103,0.001,104,0.001,252,3.105,254,2.912,255,3.084,256,3.163,257,3.151,258,3.14,259,4.274,260,3.01,269,4.129,270,3.106,271,3.041,276,4.129,277,1.161,651,4.091,1021,5.209,1025,5.209,1026,5.083,1054,4.559,2788,11.144,2793,10.759,2802,3.235,2806,6.166,2856,5.144,2861,11.144,3005,3.817,3764,5.352,3766,4.968,3767,4.724,3840,10.164,3857,6.89,9059,13.239,9060,8.086,9061,8.086,9062,8.086,9063,11.144,9064,7.094,9065,8.086,9066,9.774,9067,8.086,9068,8.086,9069,8.086,9070,9.26,9071,8.086,9072,9.26,9073,8.086,9074,8.086]],["title/classes/DeletionExecutionConsole.html",[0,0.239,9072,6.094]],["body/classes/DeletionExecutionConsole.html",[0,0.258,2,0.796,3,0.014,4,0.014,5,0.007,7,0.105,8,1.156,27,0.395,29,0.768,30,0.001,31,0.562,32,0.125,33,0.458,35,0.866,36,2.121,56,4.733,95,0.144,101,0.01,103,0,104,0,125,2.386,141,5.181,148,0.992,157,2.781,159,0.769,190,1.343,194,2.927,197,2.081,317,2.45,371,3.967,400,2.229,402,3.589,433,0.922,540,3.971,629,5.278,652,1.525,657,1.712,1076,4.761,1080,3.457,1115,2.864,1328,3.967,1329,4.549,1372,3.939,1393,4.255,1461,5.603,1568,5.186,2202,4.885,2802,2.994,2806,7.575,2808,4.952,2823,5.894,2832,4.821,2891,8.123,3005,3.532,3381,6.292,3755,5.894,3756,7.887,3759,7.691,3761,5.739,3764,4.952,3765,8.113,3766,7.424,3767,4.371,4863,5.483,5040,5.894,9052,10.228,9063,11.137,9064,9.922,9072,8.797,9075,7.483,9076,9.286,9077,7.483,9078,10.027,9079,10.16,9080,7.509,9081,7.483,9082,6.565,9083,8.432,9084,10.027,9085,7.483,9086,6.929,9087,6.565,9088,7.483,9089,7.483,9090,7.483,9091,7.483,9092,7.483]],["title/classes/DeletionExecutionParams.html",[0,0.239,9093,6.094]],["body/classes/DeletionExecutionParams.html",[0,0.407,2,1.025,3,0.018,4,0.018,5,0.009,7,0.135,27,0.379,30,0.001,32,0.12,33,0.539,55,2.368,56,6.431,95,0.135,101,0.013,103,0.001,104,0.001,112,0.921,129,2.878,130,2.637,157,2.219,190,1.731,200,2.953,201,4.581,202,2.214,300,4.515,745,9.539,756,4.666,869,5.789,890,8.174,891,9.576,3745,6.68,6259,9.291,9093,10.348,9094,9.919,9095,9.639,9096,9.639,9097,9.639,9098,8.926]],["title/interfaces/DeletionExecutionTriggerResult.html",[159,0.714,9083,5.842]],["body/interfaces/DeletionExecutionTriggerResult.html",[3,0.019,4,0.019,5,0.009,7,0.143,30,0.001,32,0.152,33,0.557,47,0.926,95,0.116,101,0.013,103,0.001,104,0.001,112,0.952,159,1.046,161,2.417,402,4.841,1080,4.663,2154,8.016,2806,5.945,2891,8.755,9052,9.896,9083,10.25,9099,10.177,9100,10.177,9101,12.526]],["title/classes/DeletionExecutionTriggerResultBuilder.html",[0,0.239,9082,6.094]],["body/classes/DeletionExecutionTriggerResultBuilder.html",[0,0.292,2,0.9,3,0.016,4,0.016,5,0.008,7,0.119,8,1.253,27,0.473,29,0.833,30,0.001,31,0.609,32,0.135,33,0.497,35,1.39,47,0.852,59,2.627,95,0.097,101,0.011,103,0.001,104,0.001,135,1.104,148,1.188,159,0.87,402,3.89,467,4.065,507,4.788,652,2.448,1080,4.764,1329,5.143,2855,7.807,2891,9.102,9052,10.289,9082,9.536,9083,11.621,9101,11.735,9102,12.673,9103,8.461,9104,10.869,9105,11.735,9106,10.869,9107,8.461,9108,10.869,9109,8.461,9110,8.461,9111,7.835,9112,8.461,9113,8.461,9114,7.835]],["title/injectables/DeletionExecutionUc.html",[589,0.926,9063,5.842]],["body/injectables/DeletionExecutionUc.html",[0,0.328,3,0.018,4,0.018,5,0.009,7,0.134,8,1.35,27,0.461,29,0.897,30,0.001,31,0.656,32,0.146,33,0.535,35,1.102,36,2.477,55,2.545,56,4.496,59,2.957,95,0.134,101,0.012,103,0.001,104,0.001,228,1.726,277,1.368,317,2.747,400,2.837,433,1.174,589,1.561,591,2.267,657,2.179,2792,8.82,2793,11.222,2802,3.811,9063,9.847,9076,10.843,9115,12.678,9116,9.525,9117,9.525,9118,11.709,9119,9.525,9120,9.525]],["title/controllers/DeletionExecutionsController.html",[314,2.659,8982,6.094]],["body/controllers/DeletionExecutionsController.html",[0,0.306,3,0.017,4,0.017,5,0.008,7,0.125,8,1.292,27,0.349,29,0.68,30,0.001,31,0.497,32,0.111,33,0.405,35,1.027,95,0.152,100,3.096,101,0.012,103,0.001,104,0.001,148,0.878,158,3.27,190,1.593,202,2.038,228,1.608,274,3.709,277,1.274,314,3.396,316,4.281,317,2.66,365,3.944,390,6.607,391,6.884,392,4.638,400,2.642,401,4.961,402,3.175,1545,6.255,2124,4.703,2806,6.545,3005,4.188,3210,5.958,3211,6.164,3228,8.209,3229,6.644,7800,5.792,8979,10.771,8982,9.828,9005,10.374,9093,11.314,9121,10.374,9122,8.872,9123,8.872,9124,8.872,9125,8.872,9126,8.209,9127,8.872,9128,8.872,9129,11.203,9130,7.784,9131,7.461,9132,8.872,9133,8.216,9134,8.872,9135,8.872,9136,8.872]],["title/classes/DeletionLog.html",[0,0.239,9137,5.472]],["body/classes/DeletionLog.html",[0,0.253,2,0.781,3,0.014,4,0.014,5,0.007,7,0.103,8,1.142,26,2.306,27,0.54,30,0.001,32,0.092,35,0.85,55,2.407,83,3.756,95,0.128,99,1.503,101,0.013,103,0,104,0,112,0.773,113,3.947,125,3.137,134,2.596,148,1.326,159,0.755,185,2.517,231,1.942,430,4.912,431,5.12,435,3.456,436,2.935,532,3.675,711,2.935,735,4.51,1767,5.45,1770,5.067,1773,6.885,1849,4.252,1882,4.574,3036,4.618,3054,4.618,3057,5.786,3059,5.786,3062,5.091,3063,5.091,8864,7.936,9137,7.801,9138,11.421,9139,6.802,9140,7.936,9141,8.052,9142,8.786,9143,9.445,9144,7.346,9145,7.346,9146,7.346,9147,7.346,9148,7.346,9149,7.346,9150,7.346,9151,7.346,9152,7.346,9153,7.346,9154,7.346,9155,7.346,9156,7.346,9157,7.346,9158,6.811,9159,9.096,9160,6.445,9161,6.802,9162,6.802,9163,6.802,9164,6.802,9165,6.802,9166,6.802]],["title/entities/DeletionLogEntity.html",[205,1.416,9167,5.64]],["body/entities/DeletionLogEntity.html",[0,0.224,3,0.012,4,0.012,5,0.006,7,0.148,26,1.877,27,0.489,30,0.001,32,0.155,33,0.613,34,1.112,49,4.301,55,2.495,83,3.493,95,0.137,96,1.717,99,1.333,101,0.012,103,0,104,0,112,0.712,125,3.15,159,0.669,190,2.232,195,2.896,196,3.968,205,1.858,206,2.118,211,6.653,223,4.043,224,1.891,225,3.502,229,2.576,231,1.129,232,1.765,233,2.032,430,2.667,431,2.78,458,2.605,459,4.799,460,3.958,461,6.216,462,3.958,463,6.216,540,2.287,574,3.672,1882,4.347,4608,3.703,8864,7.542,9140,7.542,9141,7.652,9142,8.35,9143,8.976,9158,6.927,9159,9.252,9167,7.401,9168,10.733,9169,6.03,9170,6.512,9171,6.512,9172,6.512,9173,6.512,9174,6.512,9175,6.512,9176,6.512,9177,4.44,9178,7.998,9179,5.713,9180,4.591,9181,6.03,9182,6.03,9183,6.03,9184,8.442,9185,5.287,9186,8.442,9187,6.03,9188,8.442,9189,6.03,9190,8.442,9191,6.03,9192,8.442,9193,6.03]],["title/interfaces/DeletionLogEntityProps.html",[159,0.714,9178,6.094]],["body/interfaces/DeletionLogEntityProps.html",[0,0.226,3,0.012,4,0.012,5,0.006,7,0.148,26,2.351,30,0.001,32,0.165,33,0.641,34,1.95,49,4.536,55,2.617,83,3.908,95,0.137,96,1.725,99,1.339,101,0.012,103,0,104,0,112,0.714,125,3.103,159,0.673,161,1.554,195,2.63,196,3.975,205,1.865,223,3.968,224,1.901,225,3.514,229,2.588,231,1.134,232,1.773,233,2.042,430,4.678,431,4.876,458,2.618,459,4.815,460,3.978,461,6.237,462,3.978,463,6.237,540,2.298,574,3.69,1882,4.584,4608,3.721,8864,7.953,9140,7.953,9141,8.069,9142,8.805,9143,9.465,9158,7.305,9159,9.756,9167,5.312,9168,5.503,9169,6.059,9177,4.462,9178,9.253,9179,5.741,9180,4.614,9181,6.059,9182,6.059,9183,6.059,9184,8.471,9185,5.312,9186,8.471,9187,6.059,9188,8.471,9189,6.059,9190,8.471,9191,6.059,9192,8.471,9193,6.059]],["title/classes/DeletionLogMapper.html",[0,0.239,9194,6.094]],["body/classes/DeletionLogMapper.html",[0,0.258,2,0.798,3,0.014,4,0.014,5,0.007,7,0.105,8,1.158,27,0.476,29,0.926,30,0.001,31,0.677,32,0.151,33,0.553,34,1.715,35,1.399,49,2.83,95,0.129,96,1.977,97,3.058,101,0.01,103,0,104,0,148,1.196,153,1.857,205,1.528,206,2.438,430,4.112,431,4.287,467,4.076,1770,3.034,1882,3.83,2453,4.894,2491,5.286,2497,6.086,2499,6.086,4708,8.443,4709,9.297,4710,9.297,4711,8.443,4712,8.443,4714,9.297,4716,9.297,4718,8.443,4721,4.557,4735,5.75,4736,5.75,4751,5.286,4752,6.942,4753,6.577,4754,6.942,8864,6.645,9137,11.025,9140,6.645,9141,6.742,9142,7.357,9143,7.908,9167,11.363,9194,8.808,9195,11.673,9196,7.497,9197,7.497,9198,7.497,9199,7.497,9200,7.497,9201,6.942,9202,6.942,9203,5.905,9204,6.577,9205,7.497,9206,7.497,9207,7.497,9208,7.497,9209,7.497,9210,7.497,9211,7.497,9212,7.497,9213,7.497,9214,7.497,9215,7.497,9216,7.497]],["title/interfaces/DeletionLogProps.html",[159,0.714,9160,6.094]],["body/interfaces/DeletionLogProps.html",[0,0.255,3,0.014,4,0.014,5,0.007,7,0.104,26,2.585,30,0.001,32,0.167,33,0.646,55,2.696,83,4.069,95,0.128,99,1.517,101,0.013,103,0,104,0,112,0.778,125,3.145,134,2.62,148,1.329,159,0.762,161,1.761,185,2.54,231,1.951,430,5.144,431,5.362,1767,6.194,1770,4.034,1849,4.291,1882,4.79,3062,5.138,3063,5.138,8864,8.312,9137,5.84,9138,6.234,9139,6.865,9140,8.312,9141,8.433,9142,9.202,9143,9.892,9158,7.634,9159,10.196,9160,8.742,9161,6.865,9162,6.865,9163,6.865,9164,6.865,9165,6.865,9166,6.865]],["title/injectables/DeletionLogRepo.html",[589,0.926,9217,5.842]],["body/injectables/DeletionLogRepo.html",[0,0.252,3,0.014,4,0.014,5,0.007,7,0.103,8,1.138,12,4.45,26,2.71,27,0.492,29,0.917,30,0.001,31,0.67,32,0.149,33,0.547,34,1.248,35,1.293,36,2.724,49,2.758,95,0.147,96,1.926,97,2.981,99,1.495,101,0.01,103,0,104,0,135,1.63,148,1.105,153,1.198,228,1.324,277,1.049,317,2.939,400,2.176,433,0.9,589,1.316,591,1.739,657,2.556,734,4.142,735,4.494,736,5.516,766,3.929,2444,6.636,3596,4.769,3601,5.764,3659,5.603,4819,6.864,9137,10.545,9142,7.23,9167,10.454,9194,6.409,9201,6.765,9202,6.765,9203,5.755,9204,6.409,9217,8.297,9218,11.297,9219,7.306,9220,9.867,9221,7.306,9222,9.867,9223,7.306,9224,9.867,9225,7.306,9226,9.867,9227,7.306,9228,9.867,9229,7.306,9230,6.765,9231,7.306,9232,7.306,9233,7.306,9234,7.306,9235,7.306,9236,7.306,9237,7.306,9238,7.306,9239,7.306]],["title/injectables/DeletionLogService.html",[589,0.926,9240,6.094]],["body/injectables/DeletionLogService.html",[0,0.266,3,0.015,4,0.015,5,0.007,7,0.109,8,1.181,26,2.748,27,0.452,29,0.88,30,0.001,31,0.644,32,0.143,33,0.525,34,1.32,35,1.186,36,2.589,49,2.917,55,2.627,83,2.25,95,0.149,96,2.037,97,3.153,99,1.581,101,0.01,103,0,104,0,135,1.336,148,0.764,153,1.885,228,1.4,277,1.11,317,2.835,400,2.302,433,0.952,589,1.366,591,1.839,657,2.344,1882,4.668,2609,3.793,4463,4.802,8864,8.1,9137,9.053,9140,8.1,9141,8.218,9142,8.967,9143,6.087,9158,7.439,9159,9.936,9177,5.269,9179,8.988,9203,6.087,9204,6.78,9217,11.005,9240,8.988,9241,11.333,9242,7.728,9243,11.493,9244,10.245,9245,7.728,9246,7.728,9247,7.728,9248,7.728,9249,10.245,9250,7.728,9251,7.728,9252,7.728,9253,7.728]],["title/interfaces/DeletionLogStatistic.html",[159,0.714,9254,4.814]],["body/interfaces/DeletionLogStatistic.html",[3,0.018,4,0.018,5,0.009,7,0.136,26,2.439,30,0.001,32,0.159,33,0.609,34,1.658,55,2.787,95,0.135,99,1.987,101,0.016,103,0.001,104,0.001,112,0.925,159,1.218,161,2.306,1882,5.207,8864,8.812,9141,8.94,9158,8.299,9177,6.62,9254,8.21,9255,8.991,9256,6.52]],["title/interfaces/DeletionLogStatistic-1.html",[159,0.594,756,2.285,9254,4.002]],["body/interfaces/DeletionLogStatistic-1.html",[3,0.017,4,0.017,5,0.008,7,0.125,26,2.661,30,0.001,32,0.153,33,0.591,55,2.772,83,3.276,95,0.128,99,1.828,101,0.017,103,0.001,104,0.001,112,0.879,159,1.37,161,2.121,1882,5.083,2811,5.997,2812,7.446,2868,5.55,2869,5.83,8864,8.556,9141,8.681,9158,8.27,9254,8.535,9256,7.554,9257,7.251,9258,7.035,9259,7.035,9260,7.344,9261,6.85,9262,7.932,9263,6.85,9264,6.415,9265,7.251,9266,7.035]],["title/classes/DeletionLogStatisticBuilder.html",[0,0.239,9267,6.433]],["body/classes/DeletionLogStatisticBuilder.html",[0,0.325,2,1.004,3,0.018,4,0.018,5,0.009,7,0.133,8,1.342,27,0.371,29,0.723,30,0.001,31,0.528,32,0.118,33,0.431,35,1.092,55,2.768,59,3.614,95,0.133,101,0.012,103,0.001,104,0.001,135,1.231,148,0.933,159,0.97,467,3.676,507,5.128,1882,4.44,4908,7.938,8864,8.725,9141,8.852,9158,8.014,9177,6.433,9254,9.384,9267,10.78,9268,9.789,9269,9.435,9270,9.789,9271,9.435]],["title/modules/DeletionModule.html",[252,1.836,8972,6.094]],["body/modules/DeletionModule.html",[0,0.293,3,0.016,4,0.016,5,0.008,30,0.001,95,0.156,101,0.011,103,0.001,104,0.001,252,3.18,254,3.06,255,3.241,256,3.324,257,3.312,258,3.299,259,4.376,260,4.48,269,4.263,270,3.264,271,3.196,277,1.22,634,6.308,651,4.299,1372,4.473,2609,4.17,8972,12.619,9217,11.293,9240,12.508,9272,8.496,9273,8.496,9274,8.496,9275,12.508,9276,11.293,9277,8.496,9278,10.898,9279,8.496,9280,7.868,9281,7.868,9282,6.898,9283,8.496,9284,7.868,9285,8.496]],["title/classes/DeletionQueueConsole.html",[0,0.239,9070,6.094]],["body/classes/DeletionQueueConsole.html",[0,0.25,2,0.772,3,0.014,4,0.014,5,0.009,7,0.102,8,1.132,27,0.386,29,0.752,30,0.001,31,0.623,32,0.122,33,0.449,35,0.839,36,2.077,55,1.456,95,0.136,101,0.01,103,0,104,0,125,2.649,135,0.946,153,1.611,157,3.025,159,0.746,190,1.302,194,4.666,195,1.587,197,3.095,317,2.412,335,4.87,339,2.881,371,3.845,400,2.16,401,4.056,414,3.669,433,0.894,540,3.909,612,4.87,652,1.479,657,1.659,1882,2.767,2802,2.902,2806,7.507,2807,9.685,2830,5.713,2831,5.563,2861,11.049,2868,4.507,2869,4.735,2871,6.099,2875,6.716,2880,4.457,2887,4.125,2980,3.287,3005,3.424,3755,5.713,3756,7.787,3759,7.531,3761,5.563,3764,4.8,3765,8.01,3766,7.33,3767,4.237,4863,8.741,5040,5.713,7800,4.735,9045,6.716,9064,9.766,9070,8.614,9080,7.353,9087,6.363,9286,7.253,9287,9.819,9288,7.253,9289,9.819,9290,10.031,9291,11.929,9292,7.253,9293,7.253,9294,5.888,9295,7.253,9296,7.253,9297,7.253,9298,6.363,9299,6.716,9300,7.253,9301,7.253,9302,7.253,9303,7.253,9304,7.253,9305,7.253,9306,7.253,9307,7.253]],["title/classes/DeletionRequest.html",[0,0.239,9308,5.328]],["body/classes/DeletionRequest.html",[0,0.272,2,0.84,3,0.015,4,0.015,5,0.007,7,0.111,8,1.198,26,2.391,27,0.536,30,0.001,32,0.098,35,0.914,83,3.834,95,0.133,99,1.616,101,0.014,103,0.001,104,0.001,112,0.811,113,4.142,125,2.473,134,2.79,148,1.302,159,0.812,185,2.705,231,2.013,402,4.417,430,5.055,431,5.269,435,3.626,436,3.079,532,3.855,711,3.079,735,4.732,1767,5.718,1770,5.19,1773,7.137,1849,4.57,2868,7.669,3036,4.963,3054,4.963,3057,6.219,3059,6.219,3062,5.471,3063,5.471,9138,11.286,9158,7.06,9260,8.057,9264,5.67,9308,7.969,9309,7.311,9310,9.242,9311,7.895,9312,7.895,9313,7.895,9314,7.895,9315,7.895,9316,7.895,9317,7.895,9318,7.895,9319,7.895,9320,7.895,9321,8.908,9322,7.311,9323,7.311,9324,7.311,9325,7.311]],["title/classes/DeletionRequestBodyProps.html",[0,0.239,9326,5.842]],["body/classes/DeletionRequestBodyProps.html",[0,0.389,2,0.957,3,0.017,4,0.017,5,0.008,7,0.126,27,0.445,30,0.001,32,0.141,33,0.516,55,2.268,95,0.141,101,0.012,103,0.001,104,0.001,112,0.882,129,2.685,130,2.459,135,1.173,159,0.924,190,2.028,194,4.419,195,2.836,196,4.287,197,3.604,200,2.755,201,4.387,202,2.066,296,2.952,300,4.325,2869,8.064,2878,7.888,3744,7.965,3745,6.231,3750,6.458,7708,6.458,7709,6.231,9094,10.388,9256,8.295,9262,8.71,9326,9.5,9327,8.991,9328,12.353,9329,8.991,9330,8.991,9331,8.991,9332,8.991]],["title/classes/DeletionRequestBodyPropsBuilder.html",[0,0.239,9333,6.433]],["body/classes/DeletionRequestBodyPropsBuilder.html",[0,0.318,2,0.983,3,0.018,4,0.018,5,0.009,7,0.13,8,1.325,26,2.694,27,0.364,29,0.708,30,0.001,31,0.517,32,0.115,33,0.422,34,2.235,35,1.069,55,2.511,59,2.869,95,0.143,99,1.891,101,0.012,103,0.001,104,0.001,135,1.205,148,0.914,193,4.993,379,5.851,467,3.642,507,5.062,837,4.562,1882,4.383,2869,8.542,9158,7.955,9177,6.3,9262,6.515,9268,9.663,9270,9.663,9326,10.518,9333,10.641,9334,9.24,9335,9.24,9336,11.491]],["title/interfaces/DeletionRequestCreateAnswer.html",[159,0.714,9266,5.472]],["body/interfaces/DeletionRequestCreateAnswer.html",[3,0.017,4,0.017,5,0.008,7,0.129,26,2.818,30,0.001,32,0.142,55,2.5,83,3.798,95,0.13,99,1.874,101,0.018,103,0.001,104,0.001,112,0.892,159,1.38,161,2.174,1882,4.358,2811,8.759,2812,8.884,2868,5.689,2869,5.977,8864,6.059,9141,6.148,9158,7.929,9254,7.918,9256,7.673,9257,7.433,9258,7.211,9259,7.211,9260,7.459,9261,7.022,9262,8.056,9263,7.022,9264,6.576,9265,7.433,9266,9]],["title/entities/DeletionRequestEntity.html",[205,1.416,9337,5.472]],["body/entities/DeletionRequestEntity.html",[0,0.251,3,0.014,4,0.014,5,0.007,7,0.157,26,2.571,27,0.47,30,0.001,32,0.149,34,1.245,83,3.636,95,0.136,96,1.923,99,1.492,101,0.013,103,0,104,0,112,0.872,125,2.845,135,0.951,159,0.75,190,2.147,205,2.009,206,2.372,219,5.511,223,4.155,224,2.118,225,3.786,229,2.885,231,1.264,232,1.976,233,2.276,402,4.279,430,2.987,431,3.114,458,2.918,459,5.188,460,4.433,461,6.72,462,4.433,463,6.72,540,2.561,569,3.06,644,4.433,711,2.92,2126,6.521,2127,4.972,2868,7.76,4608,4.147,7708,5.238,7709,6.829,9023,6.132,9158,7.268,9168,10.501,9177,4.972,9180,5.142,9260,8.152,9310,8.953,9321,9.169,9337,7.763,9338,6.753,9339,7.292,9340,7.292,9341,7.292,9342,7.292,9343,7.292,9344,9.126,9345,6.753,9346,8.646,9347,6.753,9348,6.753,9349,6.753,9350,6.753,9351,6.753,9352,6.753,9353,5.744,9354,6.753,9355,6.398]],["title/interfaces/DeletionRequestEntityProps.html",[159,0.714,9346,6.094]],["body/interfaces/DeletionRequestEntityProps.html",[0,0.247,3,0.014,4,0.014,5,0.007,7,0.155,26,2.743,30,0.001,32,0.163,33,0.585,34,2.027,83,3.978,95,0.135,96,1.888,99,1.466,101,0.013,103,0,104,0,112,0.864,125,2.632,135,0.934,159,0.736,161,1.701,205,1.985,219,5.444,223,3.853,224,2.08,225,3.74,229,2.833,231,1.241,232,1.941,233,2.236,402,4.441,430,4.861,431,5.067,458,2.866,459,5.125,460,4.354,461,6.638,462,4.354,463,6.638,540,2.515,569,3.023,644,4.354,711,2.885,2126,6.461,2127,4.884,2868,7.955,4608,4.073,7708,5.144,7709,6.747,9023,6.023,9158,7.544,9168,6.023,9177,4.884,9180,5.05,9260,8.357,9310,9.294,9321,9.519,9337,5.642,9338,6.633,9344,9.015,9345,6.633,9346,9.703,9347,6.633,9348,6.633,9349,6.633,9350,6.633,9351,6.633,9352,6.633,9353,5.642,9354,6.633,9355,6.284]],["title/classes/DeletionRequestFactory.html",[0,0.239,9356,6.433]],["body/classes/DeletionRequestFactory.html",[0,0.17,2,0.524,3,0.009,4,0.009,5,0.005,7,0.069,8,0.857,27,0.52,29,1.022,30,0.001,31,0.715,32,0.169,33,0.584,34,1.831,35,1.428,47,0.761,49,1.858,55,2.349,59,3.328,83,2.609,95,0.122,96,1.298,97,2.008,101,0.006,103,0,104,0,112,0.581,113,4.493,127,4.99,129,3.598,130,3.296,134,1.739,135,0.97,148,0.736,153,1.759,157,2.063,172,3.161,185,2.548,192,2.709,205,1.827,206,2.418,228,1.348,231,1.289,326,4.854,374,3.217,402,1.762,430,2.016,431,2.102,433,0.607,436,3.88,467,2.165,501,7.094,502,5.538,505,4.124,506,5.538,507,5.308,508,4.124,509,4.124,510,4.124,511,4.06,512,4.563,513,4.97,514,6.109,515,5.853,516,7.01,517,2.753,522,2.73,523,4.124,524,2.753,525,5.22,526,5.37,527,4.227,528,5.052,529,4.092,530,2.73,531,2.573,532,4.183,533,2.628,534,2.573,535,2.73,536,2.753,537,4.893,538,2.73,539,7.179,540,4.232,541,6.684,542,2.753,543,3.608,544,2.73,545,2.753,546,2.73,547,2.753,548,2.73,551,2.73,552,6.155,553,2.753,554,2.73,555,4.124,556,3.762,557,4.124,558,2.753,559,2.648,560,2.61,561,2.209,562,2.73,563,2.73,564,2.73,565,2.753,566,2.753,567,1.871,568,2.73,569,1.528,570,2.753,571,2.942,572,2.73,573,2.753,575,2.824,577,2.932,2080,3.996,2806,2.876,2868,3.059,4463,4.62,4639,6.524,4649,6.318,4651,3.536,9158,2.992,9260,4.854,9264,3.536,9308,3.775,9310,3.686,9321,3.775,9356,8.298,9357,7.436,9358,4.922,9359,7.436,9360,4.922,9361,4.139,9362,4.922,9363,4.922,9364,4.319]],["title/interfaces/DeletionRequestInput.html",[159,0.714,2815,5.64]],["body/interfaces/DeletionRequestInput.html",[3,0.019,4,0.019,5,0.009,7,0.143,30,0.001,32,0.152,33,0.557,55,2.619,95,0.116,101,0.013,103,0.001,104,0.001,112,0.952,159,1.046,161,2.417,193,5.297,2806,5.945,2815,9.896,2869,8.83,2887,5.787,2980,4.612,9055,8.558,9262,9.537,9365,8.928,9366,11.375,9367,10.177]],["title/classes/DeletionRequestInputBuilder.html",[0,0.239,2801,6.094]],["body/classes/DeletionRequestInputBuilder.html",[0,0.325,2,1.004,3,0.018,4,0.018,5,0.009,7,0.133,8,1.342,27,0.371,29,0.723,30,0.001,31,0.528,32,0.118,33,0.431,35,1.092,47,0.979,55,2.534,59,2.929,95,0.133,101,0.012,103,0.001,104,0.001,148,0.933,159,0.97,193,5.486,467,3.676,507,5.128,2801,10.213,2806,5.512,2815,10.25,2868,5.863,2869,8.606,2887,5.365,2980,4.276,9260,8.606,9262,6.652,9368,10.213,9369,8.278,9370,10.213,9371,9.435,9372,8.278,9373,9.435,9374,9.435]],["title/interfaces/DeletionRequestLog.html",[159,0.714,9261,5.328]],["body/interfaces/DeletionRequestLog.html",[3,0.017,4,0.017,5,0.008,7,0.126,26,2.665,30,0.001,32,0.154,33,0.516,55,2.477,83,3.77,95,0.129,99,1.836,101,0.017,103,0.001,104,0.001,112,0.881,159,1.372,161,2.131,1882,4.303,2811,6.024,2812,8.831,2868,5.574,2869,5.856,8864,5.938,9141,6.024,9158,7.871,9254,8.973,9256,8.695,9257,7.283,9258,7.066,9259,7.066,9260,7.364,9261,8.652,9262,9.408,9263,9.931,9264,6.443,9265,7.283,9266,7.066]],["title/classes/DeletionRequestLogResponse.html",[0,0.239,9375,5.842]],["body/classes/DeletionRequestLogResponse.html",[0,0.383,2,0.934,3,0.017,4,0.017,5,0.008,7,0.123,27,0.505,29,0.672,30,0.001,31,0.491,32,0.16,33,0.558,83,3.239,95,0.139,101,0.012,103,0.001,104,0.001,112,0.869,159,0.902,190,2.193,193,5.76,200,2.689,202,2.016,296,3.539,300,4.259,433,1.081,871,3.213,2812,8.085,6887,8.532,9094,11.146,9254,8.465,9256,8.203,9262,8.613,9263,9.369,9375,11.146,9376,8.775,9377,11.125,9378,8.775,9379,8.775,9380,8.775,9381,8.775,9382,8.775,9383,8.126,9384,8.126,9385,8.775,9386,8.775]],["title/classes/DeletionRequestLogResponseBuilder.html",[0,0.239,9387,6.433]],["body/classes/DeletionRequestLogResponseBuilder.html",[0,0.322,2,0.994,3,0.018,4,0.018,5,0.009,7,0.131,8,1.335,27,0.368,29,0.716,30,0.001,31,0.523,32,0.116,33,0.427,35,1.082,59,2.902,83,3.661,95,0.132,101,0.012,103,0.001,104,0.001,135,1.219,148,0.925,159,0.961,193,5.029,467,3.661,507,5.538,837,4.615,2812,8.696,4908,7.892,7237,8.2,9254,9.106,9256,8.823,9261,8.877,9262,8.865,9263,10.077,9268,9.733,9375,10.573,9387,10.718,9388,9.347,9389,8.656]],["title/classes/DeletionRequestMapper.html",[0,0.239,9390,6.094]],["body/classes/DeletionRequestMapper.html",[0,0.3,2,0.925,3,0.017,4,0.017,5,0.008,7,0.122,8,1.276,27,0.435,29,0.848,30,0.001,31,0.62,32,0.138,33,0.506,34,1.89,35,1.281,95,0.126,101,0.011,103,0.001,104,0.001,148,1.094,153,1.815,205,2.255,402,3.959,430,4.532,431,4.724,467,3.935,1770,3.521,2491,6.133,2497,7.062,2499,7.062,2868,6.875,4708,9.304,4711,9.304,4712,9.304,4718,9.304,4721,5.288,4735,6.672,4736,6.672,6866,6.852,9195,11.266,9203,6.852,9260,7.222,9308,10.53,9310,8.285,9337,10.815,9361,7.315,9390,9.706,9391,8.056,9392,8.056,9393,8.699,9394,8.699,9395,8.699,9396,8.699,9397,8.699,9398,8.699,9399,8.699,9400,8.699]],["title/interfaces/DeletionRequestOutput.html",[159,0.714,2821,5.64]],["body/interfaces/DeletionRequestOutput.html",[3,0.02,4,0.02,5,0.01,7,0.147,30,0.001,32,0.154,47,0.937,83,3.846,101,0.014,103,0.001,104,0.001,112,0.968,159,1.076,161,2.486,193,4.549,2811,9.168,2812,9.037,2821,10.064,9055,8.803,9401,9.694]],["title/classes/DeletionRequestOutputBuilder.html",[0,0.239,9402,6.433]],["body/classes/DeletionRequestOutputBuilder.html",[0,0.34,2,1.048,3,0.019,4,0.019,5,0.009,7,0.138,8,1.378,27,0.388,29,0.755,30,0.001,31,0.552,32,0.123,33,0.45,35,1.14,47,0.913,83,3.747,95,0.112,101,0.013,103,0.001,104,0.001,148,0.975,159,1.013,193,5.194,467,3.747,507,5.265,2811,8.027,2812,8.856,2821,10.447,9368,10.487,9402,11.069,9403,9.123,9404,11.069,9405,9.123]],["title/interfaces/DeletionRequestProps.html",[159,0.714,9264,4.989]],["body/interfaces/DeletionRequestProps.html",[0,0.281,3,0.015,4,0.015,5,0.008,7,0.115,26,2.668,30,0.001,32,0.166,33,0.572,83,4.128,95,0.135,99,1.672,101,0.014,103,0.001,104,0.001,112,0.83,125,2.529,134,2.886,148,1.315,159,0.84,161,1.94,185,2.799,231,2.047,402,4.639,430,5.31,431,5.535,1767,6.498,1770,4.301,1849,4.728,2868,8.055,3062,5.66,3063,5.66,9138,6.869,9158,7.881,9260,8.463,9264,7.631,9308,6.264,9309,7.564,9310,9.708,9321,9.943,9322,7.564,9323,7.564,9324,7.564,9325,7.564]],["title/interfaces/DeletionRequestProps-1.html",[159,0.594,756,2.285,9264,4.148]],["body/interfaces/DeletionRequestProps-1.html",[3,0.017,4,0.017,5,0.008,7,0.127,26,2.676,30,0.001,32,0.162,33,0.519,55,2.687,83,3.308,95,0.13,99,1.857,101,0.018,103,0.001,104,0.001,112,0.887,159,1.376,161,2.155,172,4.83,1882,4.334,2811,6.092,2812,7.519,2868,5.637,2869,8.487,8864,6.005,9141,6.092,9158,7.903,9254,7.873,9256,7.629,9257,7.366,9258,7.146,9259,7.146,9260,7.417,9261,6.958,9262,9.439,9263,6.958,9264,8.16,9265,7.366,9266,7.146]],["title/injectables/DeletionRequestRepo.html",[589,0.926,9276,5.842]],["body/injectables/DeletionRequestRepo.html",[0,0.188,3,0.01,4,0.01,5,0.005,7,0.077,8,0.926,12,3.622,26,2.75,27,0.499,29,0.952,30,0.001,31,0.696,32,0.155,33,0.568,34,1.795,35,1.402,36,2.851,55,1.913,56,3.791,59,1.695,83,1.589,95,0.142,96,1.439,97,2.227,99,1.117,101,0.007,103,0,104,0,135,1.743,142,1.985,148,1.159,153,1.317,193,2.372,195,2.085,205,1.637,228,0.989,277,0.784,317,3.034,400,1.626,430,2.236,433,0.673,589,1.071,591,1.299,595,2.06,657,2.95,729,5.476,734,3.371,735,3.657,736,4.704,766,2.936,770,3.431,788,3.722,2231,4.567,2444,5.828,2806,3.189,3206,4.649,3596,3.563,3601,4.692,3659,4.186,4819,6.028,6229,3.276,6835,3.782,7938,4.186,9142,9.103,9203,4.299,9218,11.312,9230,5.054,9276,6.754,9308,10.336,9337,9.786,9361,4.59,9390,4.788,9406,5.458,9407,8.031,9408,7.437,9409,7.437,9410,5.458,9411,8.031,9412,5.458,9413,7.437,9414,5.458,9415,8.031,9416,5.458,9417,7.437,9418,5.458,9419,7.437,9420,5.458,9421,7.437,9422,5.458,9423,8.031,9424,5.458,9425,5.458,9426,4.788,9427,4.788,9428,10.508,9429,5.458,9430,8.031,9431,5.458,9432,4.788,9433,5.458,9434,5.458,9435,5.458,9436,5.458,9437,5.458,9438,5.458,9439,5.458,9440,5.458,9441,5.458,9442,5.458,9443,8.031,9444,5.458,9445,4.788]],["title/classes/DeletionRequestResponse.html",[0,0.239,9446,6.094]],["body/classes/DeletionRequestResponse.html",[0,0.329,2,1.016,3,0.018,4,0.018,5,0.009,7,0.134,27,0.499,29,0.731,30,0.001,31,0.535,32,0.158,33,0.436,47,0.832,83,3.415,95,0.109,101,0.013,103,0.001,104,0.001,112,0.916,190,2.105,202,2.193,296,3.55,433,1.177,871,3.495,2811,8.523,2812,8.4,6887,8.994,9094,11.131,9383,8.841,9384,8.841,9446,11.92,9447,8.841,9448,11.726,9449,9.547,9450,9.547,9451,9.547]],["title/classes/DeletionRequestScope.html",[0,0.239,9426,6.094]],["body/classes/DeletionRequestScope.html",[0,0.269,2,0.83,3,0.015,4,0.015,5,0.007,7,0.11,8,1.189,27,0.527,29,0.885,30,0.001,31,0.647,32,0.163,33,0.528,35,1.422,83,3.363,95,0.132,101,0.01,103,0,104,0,112,0.805,122,2.41,129,2.33,130,2.134,148,1.02,193,5.018,205,1.591,231,1.787,279,3.262,365,3.469,402,2.792,436,3.785,569,2.423,652,2.675,2474,6.877,6229,5.609,6947,6.924,6948,6.924,6949,6.924,6954,6.924,6955,6.924,6956,5.32,6957,5.24,6958,5.32,6959,5.32,6968,5.24,6969,6.924,6970,5.32,6971,5.24,6972,5.32,6973,5.24,6974,6.924,9177,5.32,9218,10.131,9310,5.843,9321,5.984,9337,6.146,9355,6.845,9364,6.845,9426,11.512,9432,9.046,9452,6.146,9453,10.311,9454,12.285,9455,10.311,9456,7.226,9457,7.803,9458,6.845]],["title/injectables/DeletionRequestService.html",[589,0.926,9275,6.094]],["body/injectables/DeletionRequestService.html",[0,0.207,3,0.011,4,0.011,5,0.006,7,0.084,8,0.994,12,3.886,26,2.855,27,0.502,29,0.978,30,0.001,31,0.715,32,0.159,33,0.583,34,1.027,35,1.444,36,2.898,49,2.27,55,2.337,56,2.839,59,1.867,83,1.751,95,0.138,96,1.586,97,2.454,99,1.231,101,0.008,103,0,104,0,129,1.796,130,1.645,135,1.435,148,1.151,153,1.652,228,1.09,277,0.864,317,3.069,400,1.791,402,2.152,433,0.741,589,1.149,591,1.431,657,2.663,729,5.876,2811,4.038,2812,3.98,2868,6.833,2869,7.179,2872,7.98,3206,4.988,4463,3.737,9142,8.058,9158,6.685,9177,4.101,9203,4.737,9241,12.03,9260,6.574,9275,7.56,9276,10.186,9280,5.569,9281,5.569,9308,9.964,9310,4.504,9321,4.613,9361,5.057,9364,5.276,9408,7.98,9409,7.98,9413,7.98,9417,7.98,9419,7.98,9421,7.98,9459,6.014,9460,10.07,9461,8.617,9462,6.014,9463,6.014,9464,6.014,9465,6.014,9466,6.014,9467,8.617,9468,6.014,9469,6.014,9470,6.014,9471,6.014,9472,8.617,9473,6.014,9474,6.014,9475,8.617,9476,6.014,9477,6.014,9478,6.014,9479,6.014,9480,6.014,9481,6.014,9482,8.617,9483,6.014,9484,6.014,9485,6.014,9486,6.014,9487,6.014]],["title/interfaces/DeletionRequestTargetRefInput.html",[159,0.714,9366,5.842]],["body/interfaces/DeletionRequestTargetRefInput.html",[3,0.02,4,0.02,5,0.01,7,0.146,30,0.001,32,0.154,34,2.328,47,1.002,101,0.014,103,0.001,104,0.001,112,0.965,159,1.071,161,2.473,193,4.525,1882,5.199,2887,5.922,2980,4.719,9055,8.758,9365,9.137,9366,10.392]],["title/classes/DeletionRequestTargetRefInputBuilder.html",[0,0.239,9372,6.094]],["body/classes/DeletionRequestTargetRefInputBuilder.html",[0,0.336,2,1.038,3,0.019,4,0.019,5,0.009,7,0.137,8,1.37,27,0.384,29,0.747,30,0.001,31,0.546,32,0.122,33,0.446,34,2.278,35,1.129,47,0.987,95,0.111,101,0.013,103,0.001,104,0.001,148,0.965,159,1.003,193,5.163,467,3.731,507,5.234,1882,4.532,2887,6.757,2980,5.385,9270,9.992,9366,10.775,9368,10.425,9369,8.559,9372,10.425,9488,9.034]],["title/controllers/DeletionRequestsController.html",[314,2.659,8981,6.094]],["body/controllers/DeletionRequestsController.html",[0,0.234,3,0.013,4,0.013,5,0.006,7,0.095,8,1.083,10,2.72,27,0.424,29,0.825,30,0.001,31,0.603,32,0.161,33,0.492,35,1.41,36,2.456,47,0.894,95,0.139,100,2.373,101,0.009,103,0,104,0,148,1.205,157,2.673,158,2.506,190,1.932,193,5.045,202,1.562,228,1.232,274,2.842,277,0.976,314,2.602,316,3.28,317,2.895,333,6.308,379,4.783,388,2.915,390,6.847,391,7.134,392,3.554,400,2.025,401,6.019,402,3.852,1355,6.66,1396,6.052,1545,4.793,2124,3.604,2806,7.98,2811,7.796,2890,8.699,3005,3.209,3210,4.565,3211,5.169,3228,6.883,3229,5.091,5050,8.699,8979,9.443,8981,8.241,9023,5.717,9034,8.699,9087,10.185,9121,10.751,9130,5.964,9131,5.717,9133,6.296,9326,9.763,9375,9.051,9446,9.443,9489,6.798,9490,9.394,9491,10.763,9492,9.394,9493,6.798,9494,6.798,9495,9.394,9496,6.798,9497,6.798,9498,6.798,9499,12.601,9500,6.798,9501,9.394,9502,6.798,9503,6.798,9504,9.394,9505,6.798,9506,6.798,9507,6.798,9508,6.798,9509,6.798,9510,6.798,9511,6.798,9512,6.798,9513,6.798,9514,6.798,9515,6.798,9516,6.798,9517,6.798]],["title/interfaces/DeletionTargetRef.html",[159,0.714,9256,4.665]],["body/interfaces/DeletionTargetRef.html",[3,0.019,4,0.019,5,0.009,7,0.14,26,2.766,30,0.001,32,0.15,34,2.295,55,2.417,95,0.137,99,2.041,101,0.016,103,0.001,104,0.001,112,0.941,159,1.238,161,2.369,1882,5.247,8864,6.602,9141,6.698,9158,8.361,9177,6.801,9254,6.912,9255,9.237,9256,8.087]],["title/interfaces/DeletionTargetRef-1.html",[159,0.594,756,2.285,9256,3.878]],["body/interfaces/DeletionTargetRef-1.html",[3,0.017,4,0.017,5,0.008,7,0.129,26,2.818,30,0.001,32,0.142,55,2.5,83,3.327,95,0.13,99,1.874,101,0.018,103,0.001,104,0.001,112,0.892,159,1.38,161,2.174,1882,4.358,2811,6.148,2812,7.562,2868,8.105,2869,5.977,8864,6.059,9141,6.148,9158,8.322,9254,7.918,9256,8.364,9257,7.433,9258,7.211,9259,7.211,9260,8.763,9261,7.022,9262,8.056,9263,7.022,9264,6.576,9265,7.433,9266,7.211]],["title/classes/DeletionTargetRefBuilder.html",[0,0.239,9518,5.842]],["body/classes/DeletionTargetRefBuilder.html",[0,0.328,2,1.013,3,0.018,4,0.018,5,0.009,7,0.134,8,1.35,26,2.722,27,0.375,29,0.73,30,0.001,31,0.533,32,0.119,33,0.435,34,2.259,35,1.102,95,0.145,99,1.949,101,0.012,103,0.001,104,0.001,135,1.242,148,0.942,159,0.979,467,3.692,507,5.158,1882,4.466,2980,5.306,9158,8.04,9177,6.494,9256,9.118,9268,9.847,9270,9.847,9518,9.847,9519,8.82,9520,8.82]],["title/classes/DeletionTargetRefBuilder-1.html",[0,0.199,756,2.285,9518,4.857]],["body/classes/DeletionTargetRefBuilder-1.html",[0,0.327,2,1.008,3,0.018,4,0.018,5,0.009,7,0.133,8,1.346,26,2.718,27,0.373,29,0.726,30,0.001,31,0.531,32,0.118,33,0.433,35,1.097,95,0.144,99,1.94,101,0.012,103,0.001,104,0.001,135,1.237,148,0.938,467,3.684,507,5.143,1882,3.616,2868,7.255,2980,5.291,9158,8.027,9256,9.105,9258,7.467,9259,7.467,9260,8.62,9370,10.243,9518,9.818,9519,8.778,9520,8.778,9521,11.675,9522,9.48]],["title/classes/DeprecatedVideoConferenceInfoResponse.html",[0,0.239,9523,5.472]],["body/classes/DeprecatedVideoConferenceInfoResponse.html",[0,0.389,2,1.338,3,0.014,4,0.014,5,0.007,7,0.105,27,0.495,29,0.571,30,0.001,31,0.417,32,0.161,33,0.575,47,0.801,95,0.114,101,0.015,102,6.395,103,0,104,0,110,2.578,112,0.781,122,2.355,153,1.979,172,3.169,231,1.957,289,6.534,402,4.04,412,5.338,433,0.919,436,3.345,540,3.964,595,2.814,693,5.899,871,4.417,1076,4.743,2126,4.355,2137,5.942,2511,7.184,7182,4.04,9032,5.583,9523,9.91,9524,8.891,9525,7.648,9526,6.54,9527,8.327,9528,10.593,9529,9.502,9530,7.455,9531,7.455,9532,6.904,9533,9.164,9534,6.904,9535,6.904,9536,6.269,9537,5.256,9538,6.269,9539,6.052,9540,6.54,9541,8.121,9542,8.775,9543,6.269,9544,5.354,9545,5.166,9546,5.166,9547,5.462,9548,6.269]],["title/classes/DeprecatedVideoConferenceJoinResponse.html",[0,0.239,9541,5.64]],["body/classes/DeprecatedVideoConferenceJoinResponse.html",[0,0.389,2,1.339,3,0.014,4,0.014,5,0.007,7,0.105,27,0.495,29,0.572,30,0.001,31,0.418,32,0.157,33,0.575,47,0.857,95,0.114,101,0.015,102,6.4,103,0,104,0,110,3.907,112,0.782,122,2.358,153,1.98,231,1.958,289,6.54,402,4.043,412,5.342,433,0.921,436,3.348,540,2.623,595,2.819,693,5.902,871,4.42,1076,4.752,2126,4.363,2137,5.948,2511,7.19,7182,4.047,9032,5.593,9523,7.888,9524,8.9,9525,7.651,9526,6.552,9527,8.333,9528,10.598,9529,9.509,9532,6.916,9533,9.173,9534,6.916,9535,6.916,9536,6.281,9537,5.266,9538,6.281,9539,6.064,9540,6.552,9541,10.221,9542,8.786,9543,6.281,9544,5.364,9545,5.176,9546,5.176,9547,5.473,9548,6.281,9549,10.015]],["title/classes/DoBaseFactory.html",[0,0.239,4649,4.898]],["body/classes/DoBaseFactory.html",[0,0.176,2,0.544,3,0.01,4,0.01,5,0.005,7,0.072,8,0.883,27,0.519,29,1.021,30,0.001,31,0.711,32,0.169,33,0.58,34,1.862,35,1.443,47,0.651,49,1.931,55,2.38,59,3.384,95,0.105,96,1.349,97,2.088,101,0.007,103,0,104,0,112,0.598,113,4.56,127,5.088,129,3.641,130,3.41,135,0.667,148,0.506,153,0.839,157,2.112,172,3.255,185,2.623,192,2.816,195,1.12,205,2.222,206,2.49,228,1.387,231,1.327,326,4.825,374,3.312,433,0.631,436,3.91,467,2.229,501,7.331,502,5.647,505,4.246,506,5.647,507,5.371,508,4.246,509,4.246,510,4.246,511,4.18,512,4.67,513,5.088,514,6.199,515,5.952,516,7.061,517,2.861,522,2.838,523,4.246,524,2.861,525,5.323,526,5.476,527,4.31,528,5.151,529,4.213,530,2.838,531,2.675,532,4.524,533,2.732,534,2.675,535,2.838,536,2.861,537,5.008,538,2.838,539,7.239,540,4.458,541,7.041,542,2.861,543,3.715,544,2.838,545,2.861,546,2.838,547,2.861,548,4.246,551,2.838,552,6.246,553,2.861,554,2.838,555,4.246,556,3.873,557,4.246,558,2.861,559,2.752,560,2.713,561,2.297,562,2.838,563,2.838,564,2.838,565,2.861,566,2.861,567,1.945,568,2.838,569,1.589,570,2.861,571,3.629,572,2.838,573,2.861,575,2.935,576,3.018,1086,2.442,1087,2.366,1088,2.403,1089,2.557,1090,2.794,1476,3.111,2134,3.608,2588,4.739,4463,3.18,4649,5.398,4651,3.675,9550,5.117,9551,5.117,9552,5.117,9553,5.117]],["title/classes/DomainObject.html",[0,0.239,1770,2.812]],["body/classes/DomainObject.html",[0,0.304,2,0.938,3,0.017,4,0.017,5,0.008,7,0.124,8,1.286,9,4.095,26,2.52,27,0.506,29,0.675,30,0.001,31,0.494,32,0.139,33,0.403,34,2.197,35,1.02,95,0.101,101,0.015,103,0.001,104,0.001,112,0.871,113,4.879,134,3.114,135,1.15,148,1.104,159,0.906,232,3.023,433,1.086,435,4.632,532,5.109,711,3.813,735,5.08,1237,3.289,1767,6.735,1768,12.291,1769,7.732,1770,4.516,1771,9.381,1772,8.162,1773,7.906,1774,10.331,8383,7.412,9554,11.156,9555,8.814,9556,8.814]],["title/classes/DomainObjectFactory.html",[0,0.239,9557,6.433]],["body/classes/DomainObjectFactory.html",[0,0.17,2,0.526,3,0.009,4,0.009,5,0.005,7,0.069,8,0.86,27,0.516,29,1.014,30,0.001,31,0.705,32,0.168,33,0.575,34,1.928,35,1.429,47,0.638,55,2.352,59,3.334,95,0.114,101,0.006,103,0,104,0,112,0.582,113,4.5,127,4.999,129,3.602,130,3.3,153,0.81,157,2.068,172,3.17,185,3.078,192,2.719,205,1.831,206,2.425,228,1.351,231,1.734,277,0.71,326,4.783,374,3.226,411,3.7,412,2.186,433,0.609,436,3.883,467,2.171,501,7.288,502,5.549,505,4.136,506,5.549,507,5.439,508,4.136,509,4.136,510,4.136,511,4.071,512,4.573,513,4.981,514,6.117,515,5.863,516,7.015,517,2.763,522,2.74,523,4.136,524,2.763,525,5.23,526,5.381,527,4.235,528,5.061,529,4.103,530,2.74,531,2.583,532,4.476,533,2.638,534,2.583,535,2.74,536,2.763,537,4.904,538,2.74,539,7.185,540,4.336,541,6.979,542,2.763,543,3.618,544,2.74,545,2.763,546,2.74,547,2.763,548,4.136,551,2.74,552,6.164,553,2.763,554,2.74,555,4.136,556,3.773,557,4.136,558,2.763,559,4.83,560,3.953,561,2.217,562,2.74,563,2.74,564,2.74,565,2.763,566,2.763,567,2.834,568,2.74,569,1.534,570,2.763,571,3.957,572,2.74,573,2.763,575,2.834,576,2.914,579,1.414,1086,3.558,1087,3.447,1088,3.501,1089,3.726,1090,4.071,1170,3.106,1476,3.003,1767,4.103,1770,3.018,1849,2.86,1882,1.885,2059,3.62,2060,3.549,2134,3.484,4168,3.424,7228,3.27,9557,6.905,9558,4.941,9559,4.941,9560,4.941,9561,7.457,9562,3.62]],["title/classes/DownloadFileParams.html",[0,0.239,7216,4.737]],["body/classes/DownloadFileParams.html",[0,0.471,2,0.692,3,0.012,4,0.017,5,0.008,7,0.091,26,2.626,27,0.358,30,0.001,32,0.155,39,1.799,47,0.978,95,0.146,99,1.33,101,0.018,103,0,104,0,110,2.248,112,0.711,122,1.9,157,1.497,159,0.668,190,1.635,195,1.423,199,5.051,200,1.992,201,4.422,202,1.494,203,6.115,205,1.325,296,3.695,298,2.812,299,4.843,300,4.359,403,3.289,855,5.029,856,6.316,886,3.307,899,2.961,1078,2.851,1080,2.241,1169,3.763,1237,1.917,1290,5.867,1291,4.303,1292,4.303,2980,4.763,3170,4.909,3885,3.069,4541,2.269,5213,7.536,6330,4.505,6607,3.069,6788,6.448,7149,6.421,7151,4.244,7152,7.724,7157,4.988,7171,6.956,7201,4.505,7202,4.584,7203,4.584,7204,5.467,7208,4.505,7209,8.224,7210,8.029,7211,8.029,7212,4.584,7213,4.505,7214,4.505,7215,4.584,7216,6.209,7217,7.765,7218,4.366,7219,4.433,7220,4.505,7221,4.433,7222,4.189,7223,4.584,7224,4.584,7225,4.584,7226,4.189,7227,4.189,7228,4.303,7229,4.433,7230,4.584,9563,6.501,9564,6.501]],["title/classes/DrawingContentBody.html",[0,0.239,6445,4.535]],["body/classes/DrawingContentBody.html",[0,0.471,2,0.581,3,0.01,4,0.01,5,0.005,7,0.077,9,2.54,27,0.215,30,0.001,31,0.678,32,0.173,47,0.916,83,1.591,95,0.128,99,1.118,101,0.018,103,0,104,0,110,1.89,112,0.628,130,3.314,155,1.734,157,2.698,190,0.981,195,1.196,200,1.675,201,3.703,202,1.256,223,1.697,231,2.031,296,3.696,299,4.944,300,4.485,339,1.603,360,3.135,854,5.053,855,3.254,886,1.72,899,2.489,1232,3.164,1749,3.108,1853,1.788,2048,3.875,2392,4.47,2694,3.788,2881,2.608,2887,6.664,3128,2.465,3170,2.553,3533,3.223,3535,3.223,3538,3.193,3541,4.952,3545,2.819,3550,3.056,4018,3.358,4039,3.358,4438,5.46,6350,5.994,6352,6.067,6354,5.994,6356,6.69,6358,6.067,6360,6.067,6408,3.521,6445,6.864,6446,6.225,6447,6.225,6448,6.225,6449,6.225,6450,6.225,6788,6.685,7952,3.568,8022,3.193,9565,5.398,9566,3.67,9567,5.465,9568,8.226,9569,6.225,9570,6.225,9571,6.225,9572,3.67,9573,6.225,9574,3.358,9575,3.617,9576,6.225,9577,6.864,9578,3.568,9579,3.568,9580,3.568,9581,3.568,9582,3.67,9583,3.67,9584,3.67,9585,3.67,9586,3.67,9587,3.67]],["title/classes/DrawingElement.html",[0,0.239,3103,4.598]],["body/classes/DrawingElement.html",[0,0.234,2,0.721,3,0.013,4,0.013,5,0.006,7,0.095,8,1.081,27,0.532,29,0.964,30,0.001,31,0.705,32,0.164,33,0.575,35,1.522,36,1.983,47,0.864,55,1.881,59,2.104,95,0.107,101,0.014,103,0,104,0,112,0.732,113,3.735,122,2.242,130,2.563,134,2.394,148,1.063,157,2.669,158,2.497,159,0.697,189,5.759,197,1.884,231,1.862,317,2.328,435,3.271,436,3.897,527,2.868,532,3.477,567,2.575,569,3.778,653,2.798,657,1.55,711,2.777,735,4.268,1770,3.793,1773,6.602,1842,4.268,2050,2.856,2635,6.006,3027,8.032,3030,6.608,3031,6.608,3032,6.608,3033,7.568,3034,6.608,3036,4.259,3037,5.697,3038,6.773,3040,6.495,3041,5.697,3042,6.65,3044,4.695,3045,5.004,3047,6.754,3048,4.695,3052,4.695,3054,4.259,3081,5.638,3103,7.673,4299,4.866,4300,4.866,4301,4.866,4310,4.21,5871,7.609,9588,9.949,9589,4.695,9590,6.274,9591,5.944,9592,6.274,9593,6.274,9594,5.698,9595,6.274,9596,5.698,9597,5.698,9598,6.274,9599,6.274,9600,5.944,9601,6.274]],["title/injectables/DrawingElementAdapterService.html",[589,0.926,3848,5.64]],["body/injectables/DrawingElementAdapterService.html",[0,0.299,3,0.016,4,0.016,5,0.008,7,0.122,8,1.272,27,0.434,29,0.845,30,0.001,31,0.618,32,0.137,33,0.504,35,1.003,36,2.334,47,0.862,95,0.151,101,0.011,103,0.001,104,0.001,189,5.322,228,1.57,277,1.244,317,2.63,400,2.58,433,1.067,589,1.471,591,2.061,652,1.766,657,1.982,1027,2.654,1053,9.353,1054,4.884,1056,5.58,1169,5.014,1611,7.032,2048,4.934,2218,3.869,2219,4.355,2220,4.203,2381,8.691,2445,4.593,2446,5.971,3250,5.816,3848,8.958,3855,10.652,4212,5.06,9602,11.244,9603,8.021,9604,11.033,9605,8.661,9606,11.033,9607,8.661,9608,6.107,9609,8.661,9610,8.661,9611,8.661,9612,8.661]],["title/classes/DrawingElementContent.html",[0,0.239,9613,5.842]],["body/classes/DrawingElementContent.html",[0,0.381,2,0.925,3,0.017,4,0.017,5,0.008,7,0.122,27,0.435,29,0.666,30,0.001,31,0.487,32,0.165,33,0.398,34,2.078,47,0.864,95,0.139,101,0.015,103,0.001,104,0.001,112,0.864,157,3.043,190,1.562,202,1.998,296,3.587,304,4.295,433,1.499,458,3.48,821,4.429,886,2.737,1853,2.845,2108,3.797,2392,4.641,2895,7.042,3166,4.645,3167,4.645,3170,4.063,3712,5.931,3724,5.13,3972,6.347,3976,5.679,3978,5.679,4356,8.485,4438,6.317,6356,5.535,7514,5.181,9613,11.363,9614,11.266,9615,7.315,9616,8.056]],["title/classes/DrawingElementContentBody.html",[0,0.239,9571,4.535]],["body/classes/DrawingElementContentBody.html",[0,0.47,2,0.57,3,0.01,4,0.01,5,0.005,7,0.075,9,2.489,27,0.312,30,0.001,31,0.674,32,0.175,47,0.896,83,1.56,95,0.127,99,1.096,101,0.018,103,0,104,0,110,1.852,112,0.619,125,1.275,130,3.292,155,1.699,157,2.397,190,1.422,195,1.172,200,1.641,201,3.66,202,1.23,223,1.663,231,2.086,296,3.688,299,4.918,300,4.453,339,1.571,360,3.073,436,1.587,854,4.979,855,3.206,866,2.66,886,1.685,899,2.439,1232,3.1,1749,3.046,1853,1.752,2048,3.83,2392,4.713,2881,2.556,2887,6.615,3128,2.415,3170,2.502,3533,3.159,3535,3.159,3538,3.129,3541,4.893,3545,2.763,3550,2.995,4018,3.291,4039,3.291,4438,5.407,6350,5.924,6352,5.996,6354,5.924,6356,7.07,6358,5.996,6360,5.996,6408,3.451,6445,6.797,6446,6.152,6447,6.152,6448,6.152,6449,6.152,6450,6.152,6788,6.646,7952,3.496,8022,3.129,9565,5.318,9566,3.597,9568,8.496,9569,6.152,9570,6.152,9571,6.797,9572,3.597,9573,6.152,9574,3.291,9575,3.545,9576,6.152,9577,6.797,9578,3.496,9579,3.496,9580,3.496,9581,3.496,9582,3.597,9583,3.597,9584,3.597,9585,3.597,9586,3.597,9587,3.597,9617,4.108,9618,5.356,9619,5.356]],["title/entities/DrawingElementNode.html",[205,1.416,3452,5.472]],["body/entities/DrawingElementNode.html",[0,0.313,3,0.017,4,0.017,5,0.008,7,0.128,27,0.358,30,0.001,32,0.113,47,0.881,95,0.148,96,2.397,101,0.015,103,0.001,104,0.001,112,0.889,134,3.213,135,1.186,148,0.899,157,2.995,159,0.935,190,1.633,205,2.319,206,2.957,223,3.855,224,2.641,231,1.972,232,2.464,457,5.043,1770,4.605,1853,2.974,2048,4.623,2108,3.969,2635,5.429,2688,5.127,3419,6.075,3429,6.776,3452,8.962,3501,5.528,3527,9.981,3874,6.916,3894,5.587,4401,5.716,4403,5.716,7513,6.018,7514,5.415,9620,10.536,9621,7.647,9622,9.981,9623,8.42]],["title/interfaces/DrawingElementNodeProps.html",[159,0.714,9622,6.094]],["body/interfaces/DrawingElementNodeProps.html",[0,0.316,3,0.017,4,0.017,5,0.008,7,0.129,30,0.001,32,0.114,47,0.926,95,0.149,96,2.414,101,0.015,103,0.001,104,0.001,112,0.892,134,3.235,135,1.194,148,0.906,157,3.09,159,0.941,161,2.174,205,2.329,223,3.547,224,2.659,231,2.159,232,2.481,457,5.078,1770,4.625,1853,2.994,2048,3.72,2108,3.996,2635,5.452,2688,5.162,3419,6.101,3429,6.805,3452,7.211,3501,5.565,3527,10.024,3874,7.572,3894,5.626,4401,5.755,4403,5.755,7513,6.059,7514,5.453,9620,8.478,9622,10.927,9623,8.478]],["title/interfaces/DrawingElementProps.html",[159,0.714,9600,6.094]],["body/interfaces/DrawingElementProps.html",[0,0.311,3,0.017,4,0.017,5,0.008,7,0.127,30,0.001,32,0.141,36,1.911,47,0.949,95,0.129,101,0.016,103,0.001,104,0.001,112,0.885,122,1.885,130,2.47,134,3.192,148,1.225,157,3.078,158,3.329,159,0.928,161,2.145,197,2.512,231,2.146,317,1.957,527,3.823,567,3.433,569,2.804,653,3.729,657,2.066,1842,5.159,2050,3.807,3027,6.816,3033,5.896,3037,5.49,3038,6.618,3041,5.49,3042,6.499,3081,7.447,3103,8.193,4310,5.612,5871,9.198,9588,8.364,9589,6.259,9597,7.595,9598,8.364,9599,8.364,9600,9.939,9601,8.364]],["title/classes/DrawingElementResponse.html",[0,0.239,4356,5.328]],["body/classes/DrawingElementResponse.html",[0,0.362,2,0.855,3,0.015,4,0.015,5,0.007,7,0.113,27,0.508,29,0.616,30,0.001,31,0.45,32,0.174,33,0.367,34,2.203,47,0.832,95,0.134,101,0.014,103,0.001,104,0.001,112,0.821,157,2.697,190,2.231,202,1.846,296,3.572,304,3.968,433,1.444,458,3.216,821,4.092,886,2.529,1853,2.629,2108,3.508,2392,4.919,2895,7.465,3165,5.247,3166,5.613,3167,5.613,3169,4.787,3170,4.911,3712,5.48,3724,4.74,3972,6.721,3976,5.247,3978,5.247,4356,9.892,4438,6.697,6356,6.689,7514,4.787,9613,10.451,9614,12.252,9624,6.759,9625,7.443,9626,7.051,9627,7.443,9628,7.051]],["title/classes/DrawingElementResponseMapper.html",[0,0.239,6380,6.094]],["body/classes/DrawingElementResponseMapper.html",[0,0.266,2,0.82,3,0.015,4,0.015,5,0.007,7,0.108,8,1.18,27,0.481,29,0.784,30,0.001,31,0.573,32,0.152,33,0.468,34,1.317,35,1.329,95,0.145,100,2.692,101,0.01,103,0,104,0,112,0.799,122,2.135,135,1.006,141,4.388,148,1.136,153,2.006,157,1.776,430,3.159,467,3.809,652,2.341,653,3.185,711,2.286,829,4.549,830,5.675,1237,3.017,1853,2.523,2048,5.507,2139,4.425,2392,2.942,2626,8.413,2629,7.847,2630,7.847,2632,7.662,2895,4.464,3103,8.969,3123,5.438,3508,5.915,3972,5.87,3988,5.438,4356,9.379,4438,4.005,5868,7.134,6356,4.907,6379,5.915,6380,11.708,9613,8.604,9629,12.725,9630,9.157,9631,6.075,9632,6.767,9633,7.713,9634,6.767,9635,7.713,9636,6.767,9637,11.482,9638,6.075,9639,6.075,9640,6.075,9641,7.142]],["title/classes/DtoCreator.html",[0,0.239,9642,6.094]],["body/classes/DtoCreator.html",[0,0.209,2,0.402,3,0.007,4,0.007,5,0.003,7,0.053,8,0.698,27,0.503,29,0.845,30,0.001,31,0.637,32,0.164,33,0.504,34,1.034,35,1.351,95,0.126,99,0.773,100,3.021,101,0.005,103,0,104,0,112,0.473,122,1.806,135,1.743,141,4.551,148,1.22,153,0.993,155,1.92,172,2.573,195,1.324,197,1.683,228,1.097,277,0.543,290,2.956,402,3.616,430,2.479,431,2.584,433,0.933,478,1.061,589,0.807,595,1.426,652,2.805,653,1.56,693,1.721,821,1.924,896,5.296,1132,2.618,1197,3.279,1778,2.375,1793,2.501,1862,5.057,1936,1.774,2032,3.6,2048,3.517,2050,5.836,2054,2.618,2218,1.688,2219,1.9,2220,1.833,2392,3.855,2653,1.747,2926,4.071,2928,5.047,2930,9.011,2933,4.641,2935,5.437,2945,7.964,3013,2.898,3014,2.501,3293,2.898,3318,8.309,3319,5.089,3323,5.089,3326,3.177,3345,3.315,3717,3.177,3727,2.375,3730,3.177,4047,2.375,4065,5.812,4212,2.207,4819,4.343,5219,5.083,5735,3.067,7880,7.279,8400,8.518,8553,2.618,8693,3.315,9642,6.641,9643,11.947,9644,3.499,9645,9.676,9646,9.711,9647,6.051,9648,6.051,9649,6.051,9650,8.015,9651,8.015,9652,6.051,9653,6.051,9654,6.051,9655,6.051,9656,6.051,9657,3.778,9658,3.778,9659,3.778,9660,3.778,9661,5.604,9662,11.038,9663,3.778,9664,8.498,9665,5.604,9666,3.778,9667,5.604,9668,3.778,9669,3.778,9670,3.778,9671,3.778,9672,5.604,9673,3.778,9674,5.604,9675,3.778,9676,5.604,9677,3.778,9678,5.604,9679,3.778,9680,2.768,9681,5.309,9682,5.309,9683,3.499,9684,3.499,9685,3.315,9686,5.604,9687,3.499,9688,5.604,9689,5.604,9690,3.499,9691,3.499,9692,3.499,9693,3.499,9694,3.499,9695,3.499,9696,3.499,9697,3.499,9698,3.499,9699,3.499,9700,5.604,9701,3.315,9702,3.499,9703,3.499,9704,3.499,9705,3.499,9706,7.01,9707,3.499,9708,3.499,9709,3.499,9710,3.315,9711,3.315,9712,5.604,9713,3.499,9714,3.499,9715,3.315,9716,3.315,9717,3.177,9718,3.315,9719,3.315,9720,3.499,9721,3.499,9722,3.499,9723,3.499,9724,3.499,9725,3.499,9726,3.315,9727,3.499,9728,3.499,9729,3.499,9730,3.499,9731,3.499,9732,3.499,9733,3.499,9734,3.499,9735,3.177,9736,3.499,9737,3.067,9738,3.499,9739,3.499,9740,3.499]],["title/injectables/DurationLoggingInterceptor.html",[589,0.926,9741,6.433]],["body/injectables/DurationLoggingInterceptor.html",[0,0.299,3,0.016,4,0.016,5,0.008,7,0.122,8,1.274,27,0.435,29,0.846,30,0.001,31,0.619,32,0.138,33,0.505,35,1.005,95,0.146,101,0.011,103,0.001,104,0.001,135,1.132,148,0.859,157,1.998,183,3.311,277,1.247,400,2.585,433,1.07,531,5.776,571,4.808,589,1.473,591,2.066,1027,2.66,1056,5.592,1058,6.657,1237,2.559,1923,5.829,2246,9.693,2382,9.322,2445,4.599,2446,5.976,3250,5.829,7412,8.274,7419,8.97,7990,9.291,9741,10.231,9742,12.154,9743,8.038,9744,10.231,9745,9.693,9746,8.68,9747,9.693,9748,11.224,9749,11.224,9750,8.68,9751,9.693,9752,8.038,9753,8.68,9754,8.68,9755,8.68,9756,8.68,9757,8.68]],["title/classes/ElementContentBody.html",[0,0.239,9568,4.598]],["body/classes/ElementContentBody.html",[0,0.471,2,0.576,3,0.01,4,0.01,5,0.005,7,0.076,9,2.516,27,0.213,30,0.001,31,0.676,32,0.175,47,0.898,83,1.576,95,0.127,99,1.108,101,0.018,103,0,104,0,110,1.872,112,0.623,130,3.304,155,1.717,157,2.569,190,0.972,195,1.185,200,1.659,201,3.683,202,1.244,223,1.681,231,2.024,296,3.692,299,4.932,300,4.47,339,1.588,360,4.58,854,5.018,855,3.231,886,1.703,899,2.465,1232,3.134,1749,3.079,1853,1.771,2048,4.253,2392,4.454,2881,2.583,2887,6.641,3128,2.442,3170,3.729,3533,3.193,3535,3.193,3538,3.163,3541,4.924,3545,2.792,3550,3.027,4018,3.327,4039,3.327,4438,6.271,6350,5.961,6352,6.034,6354,5.961,6356,6.659,6358,6.034,6360,6.034,6408,3.488,6445,6.191,6446,6.191,6447,6.191,6448,6.191,6449,6.191,6450,6.191,6788,6.667,7952,3.534,8022,3.163,9565,5.361,9566,3.635,9568,8.375,9569,6.191,9570,6.191,9571,6.191,9572,3.635,9573,6.191,9574,3.327,9575,3.583,9576,6.191,9577,6.833,9578,3.534,9579,3.534,9580,3.534,9581,3.534,9582,3.635,9583,3.635,9584,3.635,9585,3.635,9586,3.635,9587,3.635,9758,5.414,9759,5.414]],["title/controllers/ElementController.html",[314,2.659,3002,6.094]],["body/controllers/ElementController.html",[0,0.151,3,0.008,4,0.008,5,0.004,7,0.062,8,0.786,10,3.342,27,0.37,29,0.721,30,0.001,31,0.527,32,0.176,33,0.43,35,1.089,36,2.459,95,0.133,100,1.534,101,0.006,103,0,104,0,135,1.329,148,0.674,153,1.118,190,1.69,194,1.719,195,1.492,202,1.01,228,1.235,274,1.837,277,0.631,314,1.682,316,2.12,317,2.732,325,6.347,337,7.142,342,7.588,345,8.348,349,6.759,379,4.792,388,4.368,389,2.869,390,6.008,391,8.157,392,2.297,393,2.17,395,2.363,398,2.381,400,1.309,401,5.263,402,4.714,652,0.896,657,2.153,675,3.471,734,2.862,871,3.446,896,2.457,1351,6.841,2048,4.38,2392,4.112,2634,3.568,2648,2.617,2654,6.067,2887,6.13,2923,5.4,2994,6.579,2996,6.781,3002,5.981,3005,2.074,3006,3.855,3128,4.244,3129,4.144,3181,6.76,3183,7.048,3185,7.048,3186,7.048,3189,7.588,3191,5.37,3204,9.401,3206,3.946,3209,2.267,3210,2.951,3211,2.418,3218,3.568,3228,4.995,3229,5.105,3473,4.392,3564,6.858,3620,3.449,3681,4.896,3877,5.37,4002,4.896,4003,3.855,4017,5.229,4018,2.7,4019,3.156,4020,3.156,4024,3.37,4025,3.695,4030,5.025,4032,4.069,4037,4.069,4039,2.7,4040,3.568,4041,3.568,4328,3.37,4354,2.831,4356,3.37,4357,3.37,4358,3.37,4373,3.855,4382,3.855,4383,3.855,4384,3.855,4385,3.855,4389,3.855,4490,7.023,5585,4.069,5598,6.313,6494,11.211,8036,8.937,9569,4.45,9570,5.452,9571,4.45,9573,5.452,9576,5.452,9577,5.452,9578,6.144,9760,4.394,9761,7.734,9762,7.734,9763,8.352,9764,4.394,9765,4.394,9766,4.394,9767,4.394,9768,4.394,9769,4.394,9770,6.817,9771,4.394,9772,4.394,9773,4.394,9774,8.257,9775,4.394,9776,4.394,9777,4.394,9778,4.394,9779,4.394,9780,4.394,9781,4.394,9782,5.535,9783,4.394,9784,4.394,9785,4.394,9786,9.412,9787,4.394,9788,4.394,9789,4.394,9790,4.394,9791,4.394,9792,4.394,9793,4.394,9794,4.394,9795,4.394,9796,4.394,9797,4.394]],["title/injectables/ElementUc.html",[589,0.926,2996,5.64]],["body/injectables/ElementUc.html",[0,0.167,3,0.009,4,0.009,5,0.004,7,0.068,8,0.847,26,2.926,27,0.472,29,0.919,30,0.001,31,0.672,32,0.153,33,0.548,35,1.348,36,2.649,39,3.465,59,1.504,95,0.14,99,0.992,101,0.006,103,0,104,0,113,4.78,122,1.852,135,1.519,148,0.878,153,1.456,228,1.929,231,1.274,277,0.696,290,1.146,317,2.943,433,0.906,436,2.63,579,2.54,589,0.98,591,1.153,610,1.91,652,2.284,657,2.911,688,2.287,734,2.034,837,2.392,874,2.831,1027,1.485,1197,5.769,1792,3.358,1793,3.207,1853,1.585,1862,6.216,1935,3.254,1967,5.384,2018,7.258,2023,10.022,2029,3.934,2048,4.99,2233,3.304,2392,3.778,2445,4.847,2635,5.722,2636,8.594,2638,5.787,2639,5.787,2640,3.55,2641,8.311,2643,3.716,2644,5.384,2645,6.375,2647,3.817,2648,6.933,2650,3.817,2651,5.277,2653,2.24,2654,4.376,2665,4.075,2667,5.635,2996,5.965,3035,3.358,3118,5.647,3128,5.053,3129,5.395,3405,3.628,3473,4.734,3547,6.086,3620,3.717,3846,9.452,4107,3.934,4108,3.934,4109,3.934,4112,3.934,4113,3.934,4315,2.977,4491,7.786,4519,4.487,4883,3.628,6376,4.675,6408,6.382,6497,8.219,6671,3.628,9761,8.219,9762,6.804,9798,4.845,9799,7.347,9800,8.875,9801,4.845,9802,4.845,9803,4.845,9804,7.347,9805,4.845,9806,7.347,9807,4.845,9808,4.845,9809,4.845,9810,4.251,9811,4.487,9812,4.845,9813,4.845,9814,4.845,9815,7.347,9816,4.845,9817,4.845,9818,4.845,9819,4.845,9820,4.487,9821,4.845,9822,4.487,9823,4.487,9824,4.845,9825,4.845,9826,7.347,9827,4.845,9828,4.845,9829,4.845,9830,4.487,9831,4.845]],["title/modules/EncryptionModule.html",[252,1.836,9832,5.202]],["body/modules/EncryptionModule.html",[0,0.295,3,0.016,4,0.016,5,0.008,30,0.001,47,0.608,95,0.15,101,0.011,103,0.001,104,0.001,135,1.118,148,0.848,153,1.406,252,3.192,254,3.086,255,3.269,256,3.352,257,3.34,258,3.328,259,3.986,260,4.08,265,6.222,269,4.287,270,3.292,271,3.223,276,4.287,277,1.231,527,3.627,634,8.02,651,4.335,685,6.402,686,7.871,688,5.173,1027,2.626,2124,5.809,2445,5.478,2446,6.287,5156,9.047,5158,10.599,9832,10.079,9833,8.569,9834,8.569,9835,8.569,9836,7.935,9837,7.518,9838,8.569,9839,12.081,9840,8.569,9841,8.569,9842,8.569,9843,7.935,9844,8.569]],["title/interfaces/EncryptionService.html",[159,0.714,5157,5.09]],["body/interfaces/EncryptionService.html",[3,0.019,4,0.019,5,0.009,7,0.137,8,1.37,27,0.468,29,0.91,30,0.001,31,0.665,32,0.148,33,0.543,35,1.375,47,1.022,101,0.017,103,0.001,104,0.001,135,1.55,159,1.003,161,2.317,339,3.486,5156,7.306,5157,8.707,5158,8.559,9845,9.756,9846,10.425,9847,9.992,9848,11.004,9849,9.756,9850,11.004,9851,9.756,9852,9.756,9853,9.756]],["title/classes/EntityNotFoundError.html",[0,0.239,346,5.09]],["body/classes/EntityNotFoundError.html",[0,0.269,2,0.832,3,0.015,4,0.015,5,0.007,7,0.11,8,1.191,27,0.527,29,0.599,30,0.001,31,0.438,32,0.173,33,0.528,35,0.905,47,0.932,55,1.569,59,2.427,95,0.118,101,0.01,103,0,104,0,112,0.806,155,3.9,190,2.295,205,2.105,228,2.516,231,1.789,233,2.44,277,1.123,346,7.565,347,5.29,402,2.798,433,0.964,436,3.891,736,5.707,868,5.899,871,2.862,998,5.456,1078,5.391,1080,4.238,1115,4.425,1354,8.645,1355,7.681,1356,7.546,1360,5.174,1361,4.485,1362,5.174,1363,5.174,1364,5.174,1365,5.174,1366,5.174,1367,4.804,1368,4.408,1369,6.158,1370,6.574,1374,5.037,4156,7.24,9854,10.324,9855,7.818,9856,7.818,9857,7.818,9858,7.818]],["title/interfaces/EntityWithSchool.html",[159,0.714,7491,4.269]],["body/interfaces/EntityWithSchool.html",[3,0.019,4,0.019,5,0.009,7,0.138,30,0.001,32,0.123,34,1.683,47,0.699,49,4.512,83,3.481,95,0.136,96,2.597,97,4.019,101,0.017,103,0.001,104,0.001,112,0.934,159,1.323,161,2.34,231,2.23,430,4.035,431,4.206,692,6.316,703,4.154,789,5.379,2530,10.539,7491,7.345,9859,8.643,9860,6.946,9861,8.285]],["title/classes/ErrorLoggable.html",[0,0.239,9862,5.64]],["body/classes/ErrorLoggable.html",[0,0.344,2,0.629,3,0.011,4,0.011,5,0.005,7,0.083,8,0.982,27,0.474,29,0.836,30,0.001,31,0.611,32,0.155,33,0.499,35,1.155,47,0.775,95,0.137,101,0.008,103,0,104,0,112,0.665,113,2.358,122,1.777,129,1.767,130,3.164,131,3.012,135,1.509,148,1.192,158,3.139,195,1.864,200,2.61,223,3.591,228,1.978,277,0.85,297,4.803,338,6.707,371,3.136,393,2.921,400,1.762,433,0.729,543,2.871,561,2.655,571,3.369,652,2.739,653,2.443,809,3.862,1078,4.375,1080,4.633,1086,4.064,1087,3.937,1088,3.999,1089,4.256,1090,3.23,1091,3.973,1092,3.973,1115,3.26,1166,3.916,1167,3.636,1237,2.511,1313,4.034,1351,7.767,1359,6.914,1372,3.115,1373,3.559,1422,4.087,1423,4.71,1426,4.899,1468,5.152,1469,5.421,1884,3.636,2463,3.862,2980,3.86,4186,4.803,4908,4.034,5092,4.975,8752,4.538,9862,6.914,9863,5.917,9864,9.978,9865,8.517,9866,8.517,9867,8.517,9868,5.191,9869,5.917,9870,9.978,9871,5.917,9872,8.517,9873,5.917,9874,5.917,9875,8.517,9876,5.917,9877,8.517,9878,5.917,9879,5.917,9880,5.917,9881,5.917,9882,8.517,9883,5.917,9884,5.917,9885,10.915,9886,5.917,9887,5.917,9888,4.538,9889,5.917,9890,8.517,9891,5.917,9892,5.917,9893,8.517,9894,5.917,9895,5.479,9896,4.335,9897,4.975,9898,5.917,9899,5.917,9900,5.917,9901,5.917,9902,5.917,9903,5.917,9904,8.517,9905,5.917,9906,5.917,9907,5.917,9908,5.917]],["title/injectables/ErrorLogger.html",[589,0.926,9909,5.842]],["body/injectables/ErrorLogger.html",[0,0.263,3,0.014,4,0.014,5,0.007,7,0.107,8,1.171,27,0.499,29,0.971,30,0.001,31,0.71,32,0.158,33,0.579,35,1.409,72,3.49,95,0.145,101,0.01,103,0,104,0,135,1.588,161,1.811,228,1.382,254,2.746,277,1.095,412,3.374,433,0.94,569,4.197,589,1.354,591,1.815,652,1.554,688,3.599,1080,3.501,1115,4.66,1212,4.913,1422,5.88,2445,4.753,3250,5.12,7403,6.412,9909,9.6,9910,13.037,9911,7.625,9912,10.154,9913,10.154,9914,10.154,9915,10.68,9916,7.625,9917,10.154,9918,7.625,9919,10.154,9920,7.625,9921,10.154,9922,7.625,9923,10.154,9924,7.625,9925,6.689,9926,7.998,9927,6.19,9928,7.061,9929,6.689,9930,11.273,9931,7.625,9932,7.625,9933,7.625,9934,7.625]],["title/classes/ErrorMapper.html",[0,0.239,9935,6.094]],["body/classes/ErrorMapper.html",[0,0.303,2,0.936,3,0.017,4,0.017,5,0.008,7,0.124,8,1.285,27,0.346,29,0.674,30,0.001,31,0.493,32,0.11,33,0.402,35,1.018,95,0.14,101,0.012,103,0.001,104,0.001,148,0.87,153,2.109,277,1.263,337,5.404,342,5.741,467,3.561,1080,4.672,1312,6.036,1313,5.996,1314,6.444,1343,7.395,2654,7.656,2922,7.441,9935,9.774,9936,8.794,9937,11.323,9938,8.794,9939,10.437,9940,8.794,9941,11.14,9942,5.346,9943,12.228,9944,8.794,9945,8.794,9946,6.745,9947,8.794,9948,8.794]],["title/modules/ErrorModule.html",[252,1.836,7403,5.842]],["body/modules/ErrorModule.html",[0,0.317,3,0.017,4,0.017,5,0.008,30,0.001,95,0.149,101,0.012,103,0.001,104,0.001,129,3.421,157,2.117,252,3.298,254,3.313,255,3.508,256,3.598,257,3.585,258,3.572,259,4.168,260,3.424,265,6.336,269,4.482,270,3.533,271,3.46,276,4.482,277,1.321,685,5.373,1472,6.407,2445,3.829,2805,7.584,3767,6.694,4656,6.893,7403,11.525,7414,7.941,7418,10.986,9949,9.197,9950,9.197,9951,9.197,9952,10.611,9953,7.054,9954,9.636,9955,9.197,9956,9.197,9957,7.054]],["title/classes/ErrorResponse.html",[0,0.239,1367,4.269]],["body/classes/ErrorResponse.html",[0,0.245,2,0.755,3,0.013,4,0.013,5,0.007,7,0.1,27,0.502,29,0.544,30,0.001,31,0.398,32,0.177,33,0.503,47,1.002,55,2.483,59,2.204,95,0.081,101,0.009,103,0,104,0,112,0.756,155,4.145,157,2.534,219,5.411,228,2.559,277,1.02,403,5.982,415,5.503,433,1.193,871,3.543,998,6.366,1078,5.425,1080,4.585,1115,5.001,1220,6.783,1355,7.736,1367,5.946,1368,4.003,1379,8.492,1380,7.246,1381,6.498,1388,7.042,1390,6.013,1392,8.49,1393,5.503,1395,8.961,1396,6.235,1397,8.961,1516,6.228,2108,3.099,3025,3.406,4201,6.574,4202,5.445,4203,6.574,9958,7.099,9959,7.099,9960,9.677,9961,7.099,9962,7.099,9963,7.099,9964,7.099]],["title/interfaces/ErrorType.html",[159,0.714,1084,4.737]],["body/interfaces/ErrorType.html",[3,0.019,4,0.019,5,0.009,7,0.143,30,0.001,32,0.177,47,1.022,101,0.013,103,0.001,104,0.001,112,0.952,155,4.291,159,1.046,161,2.417,228,2.365,1084,8.311,1374,8.715,9965,10.177,9966,10.177]],["title/classes/ErrorUtils.html",[0,0.239,1313,4.737]],["body/classes/ErrorUtils.html",[0,0.261,2,0.807,3,0.014,4,0.014,5,0.007,7,0.106,8,1.167,27,0.478,29,0.931,30,0.001,31,0.68,32,0.126,33,0.555,35,1.406,47,0.808,59,2.354,95,0.13,101,0.01,103,0,104,0,125,2.408,148,1.201,153,1.244,157,2.796,158,4.476,159,0.779,197,2.108,277,1.089,393,3.743,467,4.083,653,5.015,1080,4.961,1313,6.897,1354,7.635,2098,9.095,2105,5.972,9967,7.582,9968,10.116,9969,10.116,9970,12.653,9971,10.116,9972,10.116,9973,7.582,9974,9.242,9975,10.116,9976,7.582,9977,10.116,9978,7.582,9979,10.213,9980,10.116,9981,7.582,9982,7.582,9983,12.145,9984,7.582]],["title/injectables/EtherpadService.html",[589,0.926,9985,6.094]],["body/injectables/EtherpadService.html",[0,0.279,3,0.015,4,0.015,5,0.007,7,0.114,8,1.219,26,2.566,27,0.416,29,0.81,30,0.001,31,0.592,32,0.147,33,0.483,35,0.938,36,2.236,39,2.925,47,0.959,94,4.099,95,0.142,99,1.658,101,0.014,103,0.001,104,0.001,135,1.534,148,1.045,153,1.329,155,3.955,197,2.253,228,1.468,277,1.164,317,2.548,339,3.1,400,2.413,433,0.999,589,1.409,591,1.928,610,3.193,629,4.265,652,1.652,657,1.854,734,3.401,1027,2.482,1080,3.644,1328,4.295,1881,6.813,2026,6.083,2445,4.897,2446,5.823,6156,5.819,9985,9.272,9986,8.102,9987,10.568,9988,7.108,9989,9.716,9990,8.102,9991,10.568,9992,8.102,9993,10.568,9994,8.102,9995,8.102,9996,8.102,9997,8.102,9998,7.503,9999,8.102,10000,7.503]],["title/classes/ExternalGroupDto.html",[0,0.239,10001,5.328]],["body/classes/ExternalGroupDto.html",[0,0.284,2,0.876,3,0.016,4,0.016,5,0.008,7,0.116,27,0.541,29,0.631,30,0.001,31,0.703,32,0.176,33,0.62,47,0.89,83,3.653,95,0.122,101,0.011,103,0.001,104,0.001,112,0.834,232,2.895,290,2.804,433,1.015,435,2.874,614,2.536,704,6.036,1065,4.042,2108,3.594,2183,3.245,4617,3.696,4679,5.006,7837,4.954,7838,5.117,8553,5.707,9574,7.284,10001,9.969,10002,11.68,10003,7.626,10004,10.4,10005,10.681,10006,8.235,10007,8.235,10008,8.235,10009,10.238,10010,8.235,10011,9.092,10012,8.235,10013,8.235,10014,6.925,10015,7.626,10016,5.915,10017,8.235,10018,8.235,10019,7.225,10020,7.225,10021,7.225,10022,7.225]],["title/classes/ExternalGroupUserDto.html",[0,0.239,10009,5.472]],["body/classes/ExternalGroupUserDto.html",[0,0.332,2,1.025,3,0.018,4,0.018,5,0.009,7,0.135,27,0.502,29,0.738,30,0.001,31,0.54,32,0.159,33,0.441,47,0.837,95,0.11,101,0.013,103,0.001,104,0.001,112,0.921,232,3.196,433,1.188,435,3.364,595,3.638,1065,6.519,5009,7.689,10002,11.168,10009,10.731,10023,8.926,10024,8.691,10025,10.923,10026,8.926,10027,8.456,10028,9.639,10029,8.926,10030,8.926]],["title/classes/ExternalSchoolDto.html",[0,0.239,10031,5.09]],["body/classes/ExternalSchoolDto.html",[0,0.316,2,0.976,3,0.017,4,0.017,5,0.008,7,0.129,27,0.529,29,0.703,30,0.001,31,0.731,32,0.167,33,0.614,47,0.997,101,0.012,103,0.001,104,0.001,112,0.894,232,3.101,433,1.131,435,3.202,704,6.348,2183,3.616,4617,4.118,5176,7.933,7837,5.52,7838,5.702,8202,7.45,8203,7.45,10002,11.518,10031,9.842,10032,9.176,10033,8.139,10034,11.442,10035,9.176,10036,9.176,10037,9.176,10038,6.872,10039,7.45]],["title/classes/ExternalSchoolNumberMissingLoggableException.html",[0,0.239,10040,6.094]],["body/classes/ExternalSchoolNumberMissingLoggableException.html",[0,0.3,2,0.925,3,0.017,4,0.017,5,0.008,7,0.122,8,1.276,27,0.435,29,0.666,30,0.001,31,0.487,32,0.138,33,0.398,35,1.007,47,0.864,55,2.57,95,0.126,101,0.011,103,0.001,104,0.001,148,0.86,180,5.194,228,1.576,231,1.918,233,2.715,277,1.249,339,2.552,400,2.591,433,1.072,614,2.679,685,5.082,703,4.104,1027,2.665,1115,3.33,1237,3.262,1422,4.983,1423,5.743,1426,5.747,1462,4.787,1465,6.028,1468,5.743,1469,6.043,1477,4.517,1478,4.714,3382,3.981,4923,5.568,6376,7.741,10040,9.706,10041,12.166,10042,11.266,10043,8.699,10044,11.266,10045,6.514,10046,8.699,10047,6.374,10048,8.699]],["title/classes/ExternalSource.html",[0,0.239,10049,4.737]],["body/classes/ExternalSource.html",[0,0.34,2,1.048,3,0.019,4,0.019,5,0.009,7,0.138,27,0.506,29,0.755,30,0.001,31,0.552,32,0.16,33,0.45,47,0.95,48,6.316,101,0.013,103,0.001,104,0.001,112,0.934,232,3.239,244,7.219,245,7.998,433,1.214,435,3.438,704,6.552,7837,5.927,7838,6.122,10049,9.347,10050,13.38,10051,9.852,10052,11.953,10053,9.852]],["title/classes/ExternalSourceEntity.html",[0,0.239,10054,5.472]],["body/classes/ExternalSourceEntity.html",[0,0.314,2,0.97,3,0.017,4,0.017,5,0.008,7,0.128,27,0.489,29,0.698,30,0.001,31,0.51,32,0.155,33,0.417,47,0.882,95,0.13,96,2.403,101,0.015,103,0.001,104,0.001,112,0.89,159,0.937,190,2.046,223,3.859,224,2.647,232,3.088,433,1.123,435,3.181,704,6.63,2685,5.801,3382,5.96,5163,7.376,5670,5.35,7720,6.214,7837,5.483,7838,5.663,10054,8.974,10055,12.059,10056,8.44,10057,11.425,10058,11.393,10059,9.114,10060,6.825,10061,7.179,10062,7.664]],["title/interfaces/ExternalSourceEntityProps.html",[159,0.714,10057,6.094]],["body/interfaces/ExternalSourceEntityProps.html",[0,0.33,3,0.018,4,0.018,5,0.009,7,0.134,30,0.001,32,0.146,47,0.94,95,0.134,96,2.523,101,0.015,103,0.001,104,0.001,112,0.917,159,0.984,161,2.273,223,3.646,224,2.78,232,2.593,704,6.922,2685,5.979,3382,6.222,5163,7.615,5670,5.514,7837,5.757,7838,5.947,10054,7.538,10055,8.862,10056,8.862,10057,11.147,10060,7.166,10061,7.538,10062,8.048]],["title/classes/ExternalSourceResponse.html",[0,0.239,10063,5.842]],["body/classes/ExternalSourceResponse.html",[0,0.329,2,1.016,3,0.018,4,0.018,5,0.009,7,0.134,27,0.499,29,0.731,30,0.001,31,0.535,32,0.158,33,0.436,47,0.94,48,6.23,95,0.109,101,0.013,103,0.001,104,0.001,112,0.916,190,2.105,202,2.193,232,3.178,244,6.996,245,7.751,296,3.55,433,1.177,435,3.332,704,6.462,7837,5.744,7838,5.932,10063,11.426,10064,13.237,10065,9.547,10066,11.726,10067,9.547]],["title/classes/ExternalTool.html",[0,0.239,2749,3.43]],["body/classes/ExternalTool.html",[0,0.181,2,0.56,3,0.01,4,0.01,5,0.005,7,0.074,8,0.902,27,0.535,29,0.942,30,0.001,31,0.689,32,0.168,33,0.621,34,1.593,35,1.195,47,0.95,55,2.215,95,0.132,101,0.01,103,0,104,0,110,3.571,112,0.611,122,2.412,148,1.021,153,1.694,159,0.541,231,1.355,232,2.119,277,0.756,433,0.649,435,1.837,436,1.56,467,3.658,579,1.507,1237,2.306,1312,2.472,1852,6.09,2034,5.682,2035,2.584,2087,5.68,2132,7.574,2183,2.075,2668,8.471,2669,6.16,2671,1.698,2673,9.573,2676,2.968,2679,3.59,2738,6.741,2749,3.861,4617,2.363,5695,5.326,6040,5.556,6625,4.147,6629,7.919,6637,3.858,6638,4.875,6639,4.147,6640,3.309,6641,3.781,6642,4.038,6649,3.535,6650,3.858,6681,5.923,6697,3.484,6700,5.856,7182,2.853,7446,4.147,8115,6.212,8117,6.277,8118,3.309,8150,3.712,8151,3.942,8154,3.942,8155,4.274,8250,8.133,8251,8.471,8252,8.011,8270,3.59,8274,3.648,8297,6.834,10068,11.43,10069,7.566,10070,7.82,10071,7.82,10072,7.82,10073,7.82,10074,4.875,10075,5.265,10076,5.265,10077,4.875,10078,5.265,10079,5.265,10080,5.265,10081,5.265,10082,5.265,10083,7.241,10084,5.265,10085,7.241,10086,5.265,10087,7.241,10088,5.265,10089,4.619,10090,4.875,10091,4.875,10092,4.875,10093,4.875,10094,4.875,10095,4.875,10096,4.875,10097,4.875,10098,4.274,10099,4.427,10100,4.619,10101,8.639]],["title/classes/ExternalToolConfig.html",[0,0.239,2673,5.202]],["body/classes/ExternalToolConfig.html",[0,0.328,2,1.013,3,0.018,4,0.018,5,0.009,7,0.134,9,4.426,27,0.499,29,0.73,30,0.001,31,0.533,32,0.172,33,0.435,47,0.831,95,0.109,101,0.012,103,0.001,104,0.001,112,0.914,232,3.173,433,1.174,435,3.324,2035,4.675,2108,4.157,2332,7.089,2669,5.994,2671,4.265,2672,8.009,2673,10.168,2674,8.82,2676,7.149,2680,6.841,2689,6.716,4679,5.79,10102,13.226,10103,11.709]],["title/classes/ExternalToolConfigCreateParams.html",[0,0.239,2693,5.09]],["body/classes/ExternalToolConfigCreateParams.html",[0,0.344,2,1.061,3,0.019,4,0.019,5,0.009,7,0.14,9,6.569,27,0.474,30,0.001,32,0.171,47,0.855,95,0.114,101,0.013,103,0.001,104,0.001,112,0.941,2035,4.896,2332,7.234,2669,5.863,2671,4.172,2676,7.295,2692,9.237,2693,8.824,10104,12.937,10105,9.974,10106,9.974]],["title/classes/ExternalToolConfigEntity.html",[0,0.239,2686,5.64]],["body/classes/ExternalToolConfigEntity.html",[0,0.312,2,0.963,3,0.017,4,0.017,5,0.008,7,0.127,9,5.272,27,0.488,29,0.694,30,0.001,31,0.507,32,0.173,33,0.414,47,0.805,95,0.129,96,2.387,101,0.012,103,0.001,104,0.001,112,0.886,190,2.037,195,1.981,223,3.847,224,2.629,232,3.075,433,1.116,435,3.159,886,3.899,2035,4.443,2108,3.951,2332,6.929,2669,5.887,2671,4.19,2676,6.987,2680,6.502,2683,7.612,2685,5.776,2686,10.862,2689,6.382,3708,6.502,4679,5.503,10107,12.991,10108,11.345,10109,9.052]],["title/classes/ExternalToolConfigResponse.html",[0,0.239,2703,5.64]],["body/classes/ExternalToolConfigResponse.html",[0,0.344,2,1.061,3,0.019,4,0.019,5,0.009,7,0.14,9,6.569,27,0.474,30,0.001,32,0.171,47,0.855,95,0.114,101,0.013,103,0.001,104,0.001,112,0.941,2035,4.896,2332,7.234,2669,5.863,2671,4.172,2676,7.295,2702,8.098,2703,9.777,10110,12.937,10111,9.974,10112,9.974]],["title/injectables/ExternalToolConfigurationService.html",[589,0.926,10113,5.64]],["body/injectables/ExternalToolConfigurationService.html",[0,0.173,3,0.01,4,0.01,5,0.005,7,0.071,8,0.87,26,2.076,27,0.464,29,0.87,30,0.001,31,0.636,32,0.142,33,0.519,35,1.315,95,0.146,99,1.028,101,0.007,103,0,104,0,122,2.105,125,1.195,135,1.648,142,2.745,148,1.227,183,1.915,195,1.099,228,1.368,277,0.721,417,2.808,433,0.93,569,1.559,589,1.006,591,1.195,614,2.325,652,1.539,688,2.37,703,1.559,711,4.047,869,4.95,1725,3.54,1853,1.642,1882,1.915,2004,7.096,2005,5.938,2007,3.749,2034,6.484,2035,2.464,2087,2.172,2669,5.494,2671,4.138,2738,4.927,2749,6.779,5437,5.948,6019,9.038,6101,6.989,6229,4.115,6640,3.156,6922,3.48,7007,3.851,10113,6.128,10114,9.079,10115,4.65,10116,9.069,10117,9.069,10118,7.548,10119,9.069,10120,7.548,10121,8.848,10122,4.65,10123,7.39,10124,5.021,10125,6.645,10126,5.021,10127,10.013,10128,5.021,10129,7.363,10130,11.162,10131,5.021,10132,8.398,10133,5.021,10134,5.322,10135,7.548,10136,8.398,10137,5.021,10138,5.021,10139,5.021,10140,9.965,10141,7.548,10142,5.021,10143,5.021,10144,3.955,10145,5.021,10146,5.021,10147,5.021,10148,5.021,10149,6.347,10150,5.021,10151,5.021,10152,5.021,10153,7.548,10154,5.021,10155,4.076,10156,5.021,10157,5.021,10158,5.021,10159,4.405,10160,5.021,10161,5.021,10162,10.813,10163,5.021,10164,5.021,10165,6.99,10166,5.021,10167,5.021,10168,5.021,10169,6.347,10170,5.021,10171,5.021,10172,6.347,10173,5.021]],["title/injectables/ExternalToolConfigurationUc.html",[589,0.926,10174,5.842]],["body/injectables/ExternalToolConfigurationUc.html",[0,0.129,3,0.007,4,0.007,5,0.003,7,0.052,8,0.691,26,2.899,27,0.432,29,0.841,30,0.001,31,0.615,32,0.141,33,0.502,34,0.637,35,1.222,36,2.636,39,3.348,95,0.145,99,0.763,100,1.301,101,0.005,103,0,104,0,135,1.678,148,0.931,153,0.982,183,4.988,228,1.913,277,0.536,290,1.775,317,2.871,433,0.738,478,1.047,579,1.714,589,0.798,591,0.887,595,1.408,610,1.47,614,2.646,652,2.505,657,2.885,688,1.76,693,2.727,703,1.859,711,3.737,869,3.683,980,4.162,1167,3.68,1775,6.534,1780,2.267,1862,5.637,1882,1.422,1935,2.504,1961,2.243,2004,6.756,2005,5.921,2007,2.974,2034,5.177,2035,1.83,2653,1.724,2669,5.132,2671,4.067,2749,5.592,2923,1.977,3287,2.121,3405,2.792,3550,4.804,4541,3.831,5091,3.197,5437,5.549,6101,2.584,6107,4.484,6108,4.593,6682,5.39,6705,5.466,6735,6.107,6765,6.892,6922,2.584,6984,6.173,6985,6.987,7002,3.721,7017,2.678,7018,4.301,7030,8.219,7044,2.937,7051,5.254,7056,3.027,7065,5.545,7079,3.453,10113,8.571,10121,5.254,10127,5.545,10129,6.092,10130,5.036,10132,6.949,10134,4.222,10136,5.545,10140,5.254,10159,3.271,10165,7.955,10172,5.036,10174,5.036,10175,10.488,10176,3.453,10177,6.949,10178,6.583,10179,6.949,10180,5.545,10181,7.504,10182,7.504,10183,2.937,10184,7.906,10185,3.729,10186,3.453,10187,3.729,10188,3.271,10189,3.729,10190,3.729,10191,3.729,10192,5.988,10193,3.729,10194,3.729,10195,3.729,10196,3.729,10197,3.729,10198,5.988,10199,3.729,10200,3.453,10201,3.453,10202,3.729,10203,3.027,10204,3.453,10205,3.729,10206,5.988,10207,5.988,10208,4.593,10209,5.545,10210,3.453,10211,3.729,10212,3.729,10213,5.988,10214,7.504,10215,3.027,10216,5.545,10217,5.545,10218,5.545,10219,3.729,10220,3.729,10221,3.729,10222,3.729,10223,3.729,10224,5.988,10225,3.729,10226,5.988,10227,3.729,10228,3.271,10229,5.545,10230,5.545,10231,5.254,10232,5.254]],["title/classes/ExternalToolContentBody.html",[0,0.239,6446,4.535]],["body/classes/ExternalToolContentBody.html",[0,0.471,2,0.58,3,0.01,4,0.01,5,0.005,7,0.077,9,2.533,27,0.214,30,0.001,31,0.678,32,0.173,33,0.367,47,0.915,83,1.587,95,0.128,99,1.115,101,0.018,103,0,104,0,110,1.885,112,0.627,130,3.311,155,1.729,157,2.417,190,0.979,195,1.193,200,1.67,201,3.697,202,1.252,223,1.692,231,2.029,296,3.695,299,4.941,300,4.481,339,1.599,360,3.127,854,5.043,855,3.248,886,1.715,899,2.482,1232,3.155,1749,3.1,1853,1.783,2048,3.869,2392,4.465,2881,2.601,2887,6.657,3128,2.458,3170,2.546,3533,3.215,3535,3.215,3538,3.184,3541,4.944,3545,2.811,3550,5.324,4018,3.349,4039,3.349,4438,5.453,6350,5.985,6352,6.058,6354,5.985,6356,6.681,6358,6.058,6360,6.058,6408,3.512,6445,6.215,6446,6.855,6447,6.215,6448,6.215,6449,6.215,6450,6.215,6788,6.68,7952,3.558,8022,3.184,9565,5.388,9566,3.66,9568,8.22,9569,6.215,9570,6.215,9571,6.215,9572,3.66,9573,6.215,9574,3.349,9575,3.607,9576,6.215,9577,6.855,9578,3.558,9579,3.558,9580,3.558,9581,3.558,9582,3.66,9583,3.66,9584,3.66,9585,3.66,9586,3.66,9587,3.66,10233,5.451,10234,5.451]],["title/classes/ExternalToolCreateParams.html",[0,0.239,10235,5.842]],["body/classes/ExternalToolCreateParams.html",[0,0.348,2,0.642,3,0.011,4,0.011,5,0.006,7,0.085,27,0.503,29,0.773,30,0.001,31,0.679,32,0.169,33,0.584,47,0.861,95,0.138,101,0.008,103,0,104,0,110,3.488,112,0.674,122,2.298,125,1.436,130,2.759,190,2.293,195,2.653,199,5.595,200,1.848,201,4.526,202,1.386,223,1.873,296,3.045,299,4.292,300,4.461,571,3.416,886,1.898,899,2.747,1220,3.46,1232,3.492,2034,6.87,2035,2.961,2087,4.764,2467,5.195,2525,5.425,2669,5.891,2671,4.193,2676,3.401,2679,4.113,2690,9.462,2693,6.328,2694,4.18,2887,5.736,3170,4.034,3329,6.203,4017,4.626,4018,3.707,4039,3.707,6258,6.746,6681,5.787,6712,4.897,6778,6.328,6781,5.073,6782,5.073,6783,4.751,6788,5.425,8115,6.068,8117,6.132,8270,4.113,8274,4.18,8303,9.462,8310,6.623,9579,5.637,9580,3.938,9581,5.637,10069,7.391,10235,7.262,10236,10.554,10237,4.897,10238,9.261,10239,9.8,10240,5.292,10241,5.586,10242,6.032,10243,6.032,10244,5.586,10245,5.292,10246,6.032,10247,6.032,10248,5.586,10249,5.586,10250,6.032,10251,6.032,10252,5.586,10253,6.032,10254,5.586,10255,6.032,10256,6.032]],["title/classes/ExternalToolElement.html",[0,0.239,3106,4.598]],["body/classes/ExternalToolElement.html",[0,0.229,2,0.708,3,0.013,4,0.013,5,0.006,7,0.093,8,1.067,27,0.53,29,0.959,30,0.001,31,0.701,32,0.163,33,0.572,35,1.515,36,1.958,47,0.858,55,1.857,59,2.065,95,0.106,101,0.014,103,0,104,0,112,0.723,113,3.688,122,2.22,125,2.737,130,2.531,134,2.351,148,1.052,158,2.452,159,0.684,189,5.686,197,1.85,231,1.844,317,2.305,435,3.229,436,3.88,527,2.816,532,3.433,567,2.528,569,3.753,653,2.747,657,1.522,711,2.742,735,4.214,1770,3.745,1773,6.538,1842,4.214,2050,2.804,2635,5.972,2671,3.431,3027,7.999,3030,6.524,3031,6.524,3032,6.524,3033,7.508,3034,6.524,3036,4.181,3037,5.625,3038,6.719,3040,6.412,3041,5.625,3042,6.598,3044,4.61,3045,4.94,3047,6.688,3048,4.61,3052,4.61,3054,4.181,3081,5.567,3106,7.612,3550,6.431,4299,4.778,4300,4.778,4301,4.778,4310,4.133,9589,4.61,9590,6.16,9591,5.836,9592,6.16,9594,5.594,9596,5.594,10257,9.853,10258,6.652,10259,6.652,10260,8.569,10261,6.16,10262,6.16,10263,6.16,10264,5.836,10265,6.16]],["title/classes/ExternalToolElementContent.html",[0,0.239,10266,5.842]],["body/classes/ExternalToolElementContent.html",[0,0.375,2,0.9,3,0.016,4,0.016,5,0.008,7,0.119,27,0.428,29,0.648,30,0.001,31,0.474,32,0.158,33,0.387,34,1.445,47,0.93,95,0.137,101,0.014,103,0.001,104,0.001,112,0.849,142,3.953,190,1.519,194,4.252,195,2.773,196,3.596,202,1.944,232,3.254,296,3.505,304,4.177,433,1.043,435,2.953,458,3.385,459,4.454,866,4.202,886,2.662,1853,2.767,2108,3.693,2392,3.227,2671,3.873,2895,4.897,3166,4.517,3167,4.517,3170,3.952,3550,6.715,3712,5.769,3724,4.99,3972,6.235,3976,5.523,3978,5.523,4357,8.336,4438,6.235,4679,5.143,6360,5.383,7832,6.489,9615,7.115,9616,7.835,10266,11.281,10267,11.12,10268,7.835,10269,7.835,10270,7.835]],["title/classes/ExternalToolElementContentBody.html",[0,0.239,9577,4.535]],["body/classes/ExternalToolElementContentBody.html",[0,0.47,2,0.57,3,0.01,4,0.01,5,0.005,7,0.075,9,2.489,27,0.312,30,0.001,31,0.674,32,0.175,47,0.896,83,1.56,95,0.127,99,1.096,101,0.018,103,0,104,0,110,1.852,112,0.619,125,1.275,130,3.292,155,1.699,157,2.397,190,1.422,195,1.172,200,1.641,201,3.66,202,1.23,223,1.663,231,2.086,296,3.688,299,4.918,300,4.453,339,1.571,360,3.073,436,1.587,854,4.979,855,3.206,866,2.66,886,1.685,899,2.439,1232,3.1,1749,3.046,1853,1.752,2048,3.83,2392,4.713,2881,2.556,2887,6.615,3128,2.415,3170,2.502,3533,3.159,3535,3.159,3538,3.129,3541,4.893,3545,2.763,3550,2.995,4018,3.291,4039,3.291,4438,5.407,6350,5.924,6352,5.996,6354,5.924,6356,6.625,6358,5.996,6360,6.625,6408,3.451,6445,6.152,6446,6.797,6447,6.152,6448,6.152,6449,6.152,6450,6.152,6788,6.646,7952,3.496,8022,3.129,9565,5.318,9566,3.597,9568,8.496,9569,6.152,9570,6.152,9571,6.152,9572,3.597,9573,6.152,9574,3.291,9575,3.545,9576,6.152,9577,7.254,9578,3.496,9579,3.496,9580,3.496,9581,3.496,9582,3.597,9583,3.597,9584,3.597,9585,3.597,9586,3.597,9587,3.597,9617,4.108,10271,5.356,10272,5.356]],["title/entities/ExternalToolElementNodeEntity.html",[205,1.416,3455,5.472]],["body/entities/ExternalToolElementNodeEntity.html",[0,0.302,3,0.017,4,0.017,5,0.008,7,0.123,27,0.345,30,0.001,32,0.109,33,0.508,95,0.151,96,2.308,101,0.015,103,0.001,104,0.001,112,0.868,134,3.094,135,1.142,148,0.866,159,0.9,190,1.572,195,2.431,196,2.897,205,2.265,206,2.848,224,2.543,231,1.926,232,2.373,457,4.856,614,3.422,1770,4.497,1853,2.864,2005,6.71,2048,4.515,2108,3.822,2635,5.301,2671,3.583,2688,4.937,3419,5.932,3429,6.616,3455,8.751,3501,5.323,3529,9.747,3852,5.88,3874,6.753,3894,5.38,4401,5.504,4403,5.504,5670,5.216,6719,9.404,6720,7.363,10273,10.288,10274,8.756,10275,7.682,10276,8.108,10277,9.747,10278,8.108,10279,8.108,10280,8.108]],["title/interfaces/ExternalToolElementNodeEntityProps.html",[159,0.714,10277,6.094]],["body/interfaces/ExternalToolElementNodeEntityProps.html",[0,0.305,3,0.017,4,0.017,5,0.008,7,0.124,30,0.001,32,0.11,33,0.511,95,0.152,96,2.334,101,0.015,103,0.001,104,0.001,112,0.874,134,3.128,135,1.155,148,0.876,159,0.91,161,2.102,195,1.937,196,2.928,205,2.28,224,2.571,231,2.126,232,2.399,457,4.91,614,3.446,1770,4.528,1853,2.895,2005,6.948,2048,3.597,2108,3.864,2635,5.338,2671,2.855,2688,4.991,3419,5.973,3429,6.663,3455,6.973,3501,5.381,3529,9.815,3852,5.944,3874,7.456,3894,5.44,4401,5.565,4403,5.565,5670,5.253,6719,9.738,6720,7.444,10273,8.198,10276,8.198,10277,10.761,10278,8.198,10279,8.198,10280,8.198]],["title/interfaces/ExternalToolElementProps.html",[159,0.714,10264,6.094]],["body/interfaces/ExternalToolElementProps.html",[0,0.306,3,0.017,4,0.017,5,0.008,7,0.125,30,0.001,32,0.14,33,0.513,36,1.881,47,0.945,95,0.128,101,0.016,103,0.001,104,0.001,112,0.876,122,1.855,125,2.67,130,2.432,134,3.142,148,1.216,158,3.277,159,0.914,161,2.112,197,2.473,231,2.13,317,1.926,527,3.764,567,3.38,569,2.761,653,3.671,657,2.034,1842,5.109,2050,3.748,2671,2.868,3027,6.749,3033,5.804,3037,5.405,3038,6.554,3041,5.405,3042,6.436,3081,7.394,3106,8.134,3550,7.441,4310,5.525,9589,6.162,10257,8.234,10260,10.389,10261,8.234,10262,8.234,10263,8.234,10264,9.842,10265,8.234]],["title/classes/ExternalToolElementResponse.html",[0,0.239,4357,5.328]],["body/classes/ExternalToolElementResponse.html",[0,0.358,2,0.84,3,0.015,4,0.015,5,0.007,7,0.111,27,0.505,29,0.605,30,0.001,31,0.442,32,0.172,33,0.361,34,1.984,47,0.876,95,0.133,101,0.014,103,0.001,104,0.001,112,0.811,142,2.871,190,2.216,194,3.088,195,2.274,196,2.612,202,1.814,232,3.148,296,3.559,304,3.898,433,0.973,435,2.755,458,3.159,459,4.156,886,2.484,1853,2.582,2108,3.446,2392,4.43,2671,4.246,2895,6.723,3165,5.154,3166,5.548,3167,5.548,3169,4.702,3170,4.853,3550,4.415,3712,5.383,3724,4.656,3972,6.663,3976,5.154,3978,5.154,4357,9.835,4438,6.658,4679,4.799,6360,6.611,7832,6.055,9624,6.639,9625,7.311,9626,6.926,9627,7.311,9628,6.926,10266,10.378,10267,12.192,10268,7.311,10269,7.311,10270,7.311]],["title/classes/ExternalToolElementResponseMapper.html",[0,0.239,6381,6.094]],["body/classes/ExternalToolElementResponseMapper.html",[0,0.267,2,0.825,3,0.015,4,0.015,5,0.007,7,0.109,8,1.184,27,0.482,29,0.787,30,0.001,31,0.575,32,0.153,33,0.469,34,1.325,35,1.333,95,0.131,100,2.707,101,0.01,103,0,104,0,112,0.802,122,2.143,135,1.012,141,4.404,142,2.822,148,1.139,153,2.011,430,3.177,467,3.815,652,2.347,653,3.203,711,2.299,829,4.575,830,5.697,833,6.298,835,5.95,1237,3.028,1853,2.537,2048,5.514,2139,4.45,2392,2.959,2626,8.437,2629,7.877,2630,7.877,2632,7.691,2671,4.112,2895,4.49,3106,8.98,3550,4.338,3972,5.892,3988,5.47,4357,9.4,4438,4.028,5868,7.155,6360,4.936,6379,5.95,6381,11.724,9630,9.178,9631,6.11,9638,6.11,9639,6.11,9640,6.11,10266,8.637,10281,12.75,10282,6.806,10283,11.515,10284,7.757]],["title/entities/ExternalToolEntity.html",[205,1.416,10285,4.989]],["body/entities/ExternalToolEntity.html",[0,0.214,3,0.012,4,0.012,5,0.006,7,0.087,27,0.523,29,0.786,30,0.001,31,0.575,32,0.167,33,0.607,47,0.914,55,1.772,95,0.135,96,1.64,101,0.012,103,0,104,0,110,3.548,112,0.689,122,2.33,190,2.384,195,2.968,196,4.052,205,1.799,206,2.023,211,6.193,219,4.935,223,4.211,224,1.806,225,3.39,228,1.127,229,2.46,231,1.078,232,1.685,233,1.941,417,3.478,614,1.916,1220,3.568,1835,4.523,2034,5.645,2035,3.053,2087,4.83,2132,5.049,2133,5.759,2183,2.451,2669,6.087,2681,9.065,4601,6.116,4607,5.478,4608,3.537,4617,2.791,5695,5.292,6649,4.176,6650,4.557,6681,5.885,6697,4.116,6700,4.657,6721,5.049,6735,3.781,7182,3.37,7446,4.899,8115,6.172,8117,6.236,8118,3.909,8150,4.385,8151,4.657,8154,4.657,8155,5.049,8212,9.065,10069,7.517,10098,5.049,10099,5.23,10100,5.456,10285,6.339,10286,13.432,10287,8.627,10288,9.065,10289,9.065,10290,5.759,10291,6.219,10292,5.759,10293,5.759,10294,6.219,10295,6.219,10296,6.219,10297,6.219,10298,6.219,10299,5.759,10300,6.219,10301,8.173,10302,6.219,10303,6.219]],["title/classes/ExternalToolEntityFactory.html",[0,0.239,10304,6.433]],["body/classes/ExternalToolEntityFactory.html",[0,0.139,2,0.429,3,0.008,4,0.008,5,0.004,7,0.057,8,0.735,27,0.518,29,1.001,30,0.001,31,0.732,32,0.169,33,0.564,34,1.35,35,1.345,47,0.801,55,2.186,59,3.036,95,0.102,101,0.01,103,0,104,0,110,1.394,112,0.498,113,4.144,127,4.487,129,3.553,130,3.088,135,1.42,148,1.077,153,1.473,157,2.067,172,2.71,185,2.184,192,2.219,195,0.882,197,2.198,205,1.994,206,2.073,228,1.155,231,1.105,290,0.954,300,1.544,326,4.876,374,2.757,417,2.255,433,0.497,436,3.712,467,1.856,501,7.019,502,4.981,505,3.535,506,4.981,507,5.119,508,3.535,509,3.535,510,3.535,511,3.48,512,4.024,513,4.383,514,6.448,515,5.34,516,6.8,517,2.255,522,2.237,523,3.535,524,2.255,525,4.695,526,4.83,527,3.801,528,4.543,529,3.507,530,2.237,531,2.108,532,3.858,533,2.153,534,2.108,535,2.237,536,2.255,537,4.315,538,2.237,539,7.184,540,3.964,541,6.261,542,2.255,543,3.834,544,2.237,545,2.255,546,2.237,547,2.255,548,2.237,549,2.506,550,2.356,551,2.237,552,5.677,553,2.255,554,2.237,555,3.535,556,3.224,557,3.535,558,2.255,559,2.169,560,2.138,561,1.81,562,2.237,563,2.237,564,2.237,565,2.255,566,2.255,567,1.533,568,2.237,569,1.252,570,2.255,571,2.521,572,2.237,573,2.255,575,2.313,576,2.378,577,5.825,614,1.242,756,1.595,1598,3.759,2033,2.896,2087,3.885,2124,3.379,2135,3.734,2332,5.021,2671,3.512,2676,2.274,2679,5.388,2681,6.416,2743,2.843,5176,2.566,5329,4.773,5695,2.08,6091,3.093,6101,2.794,6107,3.02,6229,1.645,6310,3.204,6627,2.053,6681,2.313,6733,2.478,6750,2.75,8094,2.669,8100,2.632,8102,4.161,8103,3.391,8104,2.632,8114,2.598,8115,2.426,8117,2.451,8212,5.174,8248,2.955,8253,2.535,8270,2.75,8277,3.391,8279,2.896,8286,3.391,8296,7.551,8298,3.391,10285,4.578,10287,3.391,10288,5.174,10289,5.174,10301,5.902,10304,7.318,10305,10.397,10306,4.032,10307,8.98,10308,8.316,10309,5.902,10310,5.902,10311,4.032,10312,4.032,10313,4.032,10314,5.902,10315,4.032,10316,6.373,10317,4.032,10318,8.98,10319,4.032,10320,4.032,10321,3.274,10322,3.391,10323,4.032,10324,4.032,10325,4.032]],["title/classes/ExternalToolFactory.html",[0,0.239,8288,5.842]],["body/classes/ExternalToolFactory.html",[0,0.259,2,0.397,3,0.007,4,0.007,5,0.003,7,0.052,8,0.691,27,0.506,29,0.994,30,0.001,31,0.714,32,0.167,33,0.562,34,1.024,35,1.311,47,0.425,55,2.384,59,3.409,95,0.107,101,0.012,103,0,104,0,110,1.291,112,0.468,113,4.006,127,4.295,129,3.278,130,3.003,135,1.603,148,1.175,157,1.729,172,2.548,185,2.054,192,2.054,197,2.39,205,1.531,206,1.949,228,1.086,231,1.49,290,0.883,300,1.429,326,4.972,374,2.592,417,2.087,433,0.46,436,3.642,467,1.745,501,6.66,502,4.767,505,3.324,506,4.767,507,4.836,508,3.324,509,3.324,510,3.324,511,3.272,512,3.823,513,4.165,514,6.299,515,5.14,516,6.606,517,2.087,522,2.07,523,3.324,524,2.087,525,4.494,526,4.623,527,3.639,528,4.349,529,3.298,530,2.07,531,1.951,532,3.729,533,1.993,534,1.951,535,2.07,536,2.087,537,4.1,538,2.07,539,7.567,540,3.856,541,6.09,542,2.087,543,2.908,544,2.07,545,2.087,546,2.07,547,2.087,548,2.07,551,2.07,552,5.487,553,2.087,554,2.07,555,3.324,556,3.032,557,3.324,558,2.087,559,2.007,560,1.979,561,1.675,562,2.07,563,2.07,564,2.07,565,2.087,566,2.087,567,1.419,568,2.07,569,1.159,570,2.087,571,2.371,572,2.07,573,2.087,575,2.141,576,2.201,577,5.119,614,1.15,756,1.476,1220,2.141,1598,3.534,2007,1.854,2033,2.681,2084,2.587,2087,3.248,2124,3.177,2332,4.199,2668,2.735,2671,1.204,2676,2.105,2679,2.545,2738,3.912,2743,2.632,2749,1.843,4649,6.637,4651,2.681,5176,2.375,5329,4.488,5695,1.925,6091,2.863,6101,2.587,6107,4.488,6108,2.863,6229,3.84,6310,3.013,6627,1.9,6681,2.141,6744,3.03,6749,2.94,6750,2.545,8094,2.47,8100,2.437,8102,2.437,8104,2.437,8114,2.405,8115,2.245,8117,2.269,8243,5.039,8244,8.258,8246,3.275,8248,2.735,8249,4.488,8250,2.94,8251,2.735,8252,2.587,8253,2.346,8254,3.275,8255,3.275,8256,3.275,8257,6.587,8258,5.039,8259,3.275,8260,3.605,8261,3.03,8262,2.735,8263,2.863,8264,3.275,8265,2.795,8266,3.275,8267,3.275,8268,3.275,8269,3.275,8270,2.545,8271,3.275,8272,3.275,8273,3.275,8274,2.587,8275,3.275,8276,3.275,8277,3.139,8278,3.275,8279,2.681,8280,5.258,8281,6.587,8282,2.94,8283,5.258,8284,5.258,8285,3.275,8286,3.139,8287,2.94,8288,6.314,8289,5.258,8290,3.275,8291,5.258,8292,3.275,8293,5.258,8294,8.817,8295,3.275,8296,7.228,8297,2.47,8298,3.139,8299,3.275,8300,3.275,8301,3.275,8302,3.275,10308,5.549,10310,5.549,10326,5.993,10327,3.732,10328,3.732,10329,3.732,10330,3.732]],["title/classes/ExternalToolIdParams.html",[0,0.239,10331,6.094]],["body/classes/ExternalToolIdParams.html",[0,0.415,2,1.061,3,0.019,4,0.019,5,0.009,7,0.14,27,0.393,30,0.001,32,0.124,47,0.855,95,0.137,101,0.013,103,0.001,104,0.001,112,0.941,190,1.791,194,4.711,195,2.635,196,3.3,197,3.349,200,3.056,202,2.291,296,3.147,307,7.309,855,4.875,2669,5.458,2671,3.884,6680,9.122,6753,8.388,6754,8.751,10236,9.777,10331,10.565]],["title/classes/ExternalToolLogo.html",[0,0.239,10332,5.842]],["body/classes/ExternalToolLogo.html",[0,0.333,2,1.028,3,0.018,4,0.018,5,0.009,7,0.136,27,0.502,29,0.74,30,0.001,31,0.541,32,0.159,33,0.442,47,0.838,101,0.013,103,0.001,104,0.001,112,0.923,433,1.191,2669,6.023,2671,4.287,6513,7.256,6602,8.125,7969,9.934,8297,8.445,10068,11.177,10089,8.477,10332,11.664,10333,9.662,10334,11.813,10335,11.813,10336,9.662,10337,9.662,10338,8.947]],["title/classes/ExternalToolLogoFetchFailedLoggableException.html",[0,0.239,10339,6.094]],["body/classes/ExternalToolLogoFetchFailedLoggableException.html",[0,0.235,2,0.724,3,0.013,4,0.013,5,0.006,7,0.096,8,1.085,27,0.518,29,0.522,30,0.001,31,0.381,32,0.17,33,0.492,35,1.089,47,0.895,55,1.367,59,2.114,95,0.123,101,0.009,103,0,104,0,112,0.734,148,0.674,155,3.686,190,2.189,228,2.497,231,1.63,233,2.126,277,0.978,339,1.998,393,3.362,400,2.028,402,2.437,433,0.839,436,3.736,614,3.318,644,7.063,652,1.388,868,5.574,871,2.493,998,5.085,1027,2.087,1078,2.986,1080,4.005,1115,4.447,1237,2.773,1354,8.402,1355,6.18,1356,7.033,1360,4.507,1361,3.907,1362,4.507,1363,4.507,1364,4.507,1365,4.507,1366,4.507,1367,4.185,1368,7.425,1374,4.387,1422,5.164,1423,5.085,1426,5.214,1462,3.747,1468,5.085,1469,5.351,1477,3.536,1478,3.69,2104,5.727,2669,4.882,2671,4.066,2959,9.432,6681,6.18,6697,4.507,8297,8.344,10339,8.251,10340,8.746,10341,6.306,10342,4.573,10343,5.974,10344,9.405,10345,7.408,10346,6.81]],["title/classes/ExternalToolLogoFetchedLoggable.html",[0,0.239,10347,6.094]],["body/classes/ExternalToolLogoFetchedLoggable.html",[0,0.313,2,0.965,3,0.017,4,0.017,5,0.008,7,0.127,8,1.31,27,0.447,29,0.695,30,0.001,31,0.508,32,0.142,33,0.415,35,1.05,47,0.88,95,0.104,101,0.012,103,0.001,104,0.001,148,0.897,228,1.644,339,2.662,400,2.702,433,1.118,614,2.794,1027,2.78,1115,3.473,1237,3.35,1418,7.629,1422,5.081,1423,5.855,1426,5.835,1468,5.855,1469,6.161,2669,5.621,2671,4.193,6681,7.116,6697,6.005,8297,8.605,10340,10.071,10341,8.401,10345,10.241,10347,9.967,10348,9.072,10349,9.072,10350,9.072]],["title/classes/ExternalToolLogoNotFoundLoggableException.html",[0,0.239,10351,6.094]],["body/classes/ExternalToolLogoNotFoundLoggableException.html",[0,0.302,2,0.931,3,0.017,4,0.017,5,0.008,7,0.123,8,1.281,27,0.437,29,0.671,30,0.001,31,0.49,32,0.138,33,0.4,35,1.013,47,0.866,95,0.127,101,0.011,103,0.001,104,0.001,148,0.866,228,1.587,231,1.926,233,2.733,277,1.258,339,2.569,347,6.577,400,2.608,433,1.079,614,2.697,1027,2.683,1115,3.352,1237,3.276,1422,5.544,1423,5.76,1426,5.761,1462,4.818,1465,6.068,1468,5.76,1469,6.061,1477,4.547,1478,4.744,2669,5.53,2671,4.139,2923,6.469,6680,8.604,6692,7.363,8297,8.495,10045,6.557,10340,9.907,10351,9.747,10352,8.108,10353,8.756]],["title/classes/ExternalToolLogoService.html",[0,0.239,10184,5.202]],["body/classes/ExternalToolLogoService.html",[0,0.165,2,0.51,3,0.009,4,0.009,5,0.004,7,0.067,8,0.84,26,2.028,27,0.456,29,0.889,30,0.001,31,0.65,32,0.144,33,0.53,34,1.245,35,1.292,36,2.361,47,0.934,95,0.145,99,0.981,101,0.006,103,0,104,0,125,2.344,127,5.576,135,1.716,145,1.797,148,1.182,153,1.961,228,1.785,277,0.688,317,2.652,433,0.898,569,2.263,579,3.194,614,1.476,629,2.523,652,2.545,653,3.641,657,2.017,688,2.263,871,1.755,1027,1.469,1053,7.909,1054,2.703,1055,5.589,1056,3.088,1078,2.102,1080,3.04,1167,2.945,1328,2.541,1422,1.963,1882,1.828,2083,3.172,2087,2.074,2098,5.457,2113,5.234,2445,4.828,2669,5.416,2671,4.093,2749,6.266,6513,5.602,6681,2.75,6984,7.127,7073,3.891,7969,10.051,8297,6.52,8433,3.589,10114,8.95,10122,4.439,10123,7.218,10125,6.46,10144,3.776,10184,5.457,10215,3.891,10287,6.128,10332,8.91,10339,4.205,10347,4.205,10351,4.205,10354,4.793,10355,7.287,10356,7.287,10357,7.287,10358,7.287,10359,7.287,10360,7.287,10361,4.793,10362,7.287,10363,4.793,10364,7.287,10365,4.793,10366,4.793,10367,7.287,10368,4.793,10369,7.287,10370,4.793,10371,7.287,10372,4.793,10373,2.638,10374,7.287,10375,4.793,10376,4.439,10377,6.393,10378,10.176,10379,4.793,10380,4.793,10381,7.287,10382,4.793,10383,4.793,10384,4.439,10385,4.793,10386,4.793,10387,4.205,10388,4.793,10389,4.793,10390,4.793,10391,4.793,10392,4.439,10393,4.793,10394,6.748,10395,4.793,10396,7.287,10397,3.443,10398,8.817,10399,4.793,10400,4.793,10401,3.172,10402,4.439,10403,3.512,10404,4.793,10405,4.793,10406,4.793,10407,4.793,10408,7.287,10409,4.793,10410,4.205,10411,4.793,10412,4.793,10413,7.287,10414,4.793,10415,4.793,10416,4.793,10417,4.793,10418,4.793]],["title/classes/ExternalToolLogoSizeExceededLoggableException.html",[0,0.239,10377,6.094]],["body/classes/ExternalToolLogoSizeExceededLoggableException.html",[0,0.231,2,0.714,3,0.013,4,0.013,5,0.006,7,0.094,8,1.073,27,0.516,29,0.514,30,0.001,31,0.376,32,0.17,33,0.488,35,1.077,47,0.891,55,2.317,95,0.122,101,0.009,103,0,104,0,112,0.727,125,2.543,148,0.664,155,3.662,190,2.177,228,2.491,231,1.613,233,2.094,277,0.963,339,1.968,393,3.312,402,2.4,433,1.147,436,3.718,614,3.292,652,1.897,868,5.538,870,6.851,871,2.456,998,5.045,1027,2.055,1078,2.941,1080,3.979,1115,4.419,1237,2.744,1354,8.374,1355,6.131,1356,6.976,1360,4.439,1361,3.848,1362,4.439,1363,4.439,1364,4.439,1365,4.439,1366,4.439,1367,4.122,1368,3.782,1374,4.322,1375,5.144,1422,5.14,1423,5.045,1426,5.181,1462,3.691,1468,5.045,1469,5.308,1477,3.483,1478,3.635,2669,4.843,2671,4.047,6680,7.535,6692,5.641,8297,8.305,10340,8.676,10342,4.504,10352,6.211,10377,8.165,10419,11.62,10420,10.127,10421,6.707,10422,9.307,10423,6.707]],["title/classes/ExternalToolLogoWrongFileTypeLoggableException.html",[0,0.239,10378,6.094]],["body/classes/ExternalToolLogoWrongFileTypeLoggableException.html",[0,0.239,2,0.738,3,0.013,4,0.013,5,0.012,7,0.097,8,1.099,27,0.521,30,0.001,32,0.176,33,0.435,35,1.103,47,0.772,55,1.393,95,0.124,101,0.009,103,0,104,0,112,0.744,148,0.686,155,3.715,190,2.204,228,2.461,231,1.651,233,2.166,277,0.997,393,3.426,402,2.483,433,1.341,436,3.758,614,3.351,868,5.619,871,2.541,998,5.136,1027,2.126,1078,3.043,1080,4.038,1115,4.483,1237,2.809,1354,8.436,1355,6.242,1356,7.102,1360,4.593,1361,3.981,1362,4.593,1363,4.593,1364,4.593,1365,4.593,1366,4.593,1367,4.264,1368,3.913,1374,4.471,1375,5.322,1422,5.194,1423,5.136,1426,5.256,1462,3.818,1468,5.136,1469,5.404,1477,3.603,1478,3.76,1622,6.843,2669,4.931,2671,4.089,5187,4.571,8297,8.392,8752,9.725,10340,8.833,10342,4.66,10343,6.088,10378,8.359,10424,9.527,10425,9.527,10426,8.823]],["title/classes/ExternalToolMetadata.html",[0,0.239,10427,5.472]],["body/classes/ExternalToolMetadata.html",[0,0.327,2,1.011,3,0.018,4,0.018,5,0.009,7,0.133,27,0.498,29,0.728,30,0.001,31,0.532,32,0.158,33,0.434,55,2.347,95,0.108,101,0.012,103,0.001,104,0.001,112,0.913,183,3.624,433,1.171,614,2.927,1078,5.127,2669,5.989,2671,4.262,6724,7.116,6733,5.839,10068,11.113,10427,10.882,10428,8.799,10429,9.484,10430,10.65,10431,11.692,10432,11.692,10433,8.799,10434,8.799,10435,8.799,10436,7.991,10437,8.799]],["title/classes/ExternalToolMetadataMapper.html",[0,0.239,10438,5.842]],["body/classes/ExternalToolMetadataMapper.html",[0,0.326,2,1.006,3,0.018,4,0.018,5,0.009,7,0.133,8,1.344,27,0.372,29,0.725,30,0.001,31,0.53,32,0.118,33,0.432,35,1.095,95,0.144,101,0.012,103,0.001,104,0.001,135,1.234,148,0.936,153,1.912,467,3.68,837,4.669,1882,3.607,2669,5.283,2671,3.76,6713,9.183,10427,10.673,10429,7.082,10430,7.953,10435,8.758,10437,8.758,10438,9.804,10439,10.228,10440,8.758,10441,11.658,10442,11.658,10443,8.758,10444,11.352,10445,7.678]],["title/classes/ExternalToolMetadataResponse.html",[0,0.239,10444,5.64]],["body/classes/ExternalToolMetadataResponse.html",[0,0.319,2,0.985,3,0.018,4,0.018,5,0.009,7,0.13,27,0.493,29,0.71,30,0.001,31,0.519,32,0.156,33,0.423,55,2.31,95,0.131,101,0.012,103,0.001,104,0.001,112,0.899,190,2.066,202,2.128,296,3.519,433,1.141,2669,5.935,2671,4.224,6713,9.862,7790,7.788,10429,9.376,10430,10.529,10434,8.576,10436,7.788,10444,11.146,10445,7.519,10446,11.49,10447,11.508,10448,11.508,10449,8.576,10450,9.261,10451,9.261]],["title/injectables/ExternalToolMetadataService.html",[589,0.926,10452,5.842]],["body/injectables/ExternalToolMetadataService.html",[0,0.252,3,0.014,4,0.014,5,0.007,7,0.103,8,1.139,26,2.465,27,0.389,29,0.757,30,0.001,31,0.553,32,0.149,33,0.452,34,1.25,35,1.143,36,2.366,47,0.794,55,1.469,95,0.153,99,1.498,101,0.01,103,0,104,0,135,1.681,145,3.703,148,0.724,153,1.201,183,2.792,228,1.79,277,1.051,279,3.059,317,2.423,433,1.218,589,1.317,591,1.742,614,3.043,652,2.014,657,2.559,703,2.272,756,2.895,980,4.059,1078,3.209,1223,5.481,1882,2.792,1912,8.773,2004,6.347,2007,3.635,2034,5.436,2035,3.592,2609,3.592,2669,5.068,2671,3.607,4127,6.634,5437,4.317,6021,8.966,6724,7.398,6733,4.497,6804,8.667,6838,8.667,6861,6.155,6862,6.155,6920,6.155,10114,8.374,10134,5.16,10155,5.942,10373,4.027,10427,9.849,10429,5.481,10430,6.155,10452,8.308,10453,6.778,10454,7.319,10455,10.356,10456,7.319,10457,9.879,10458,9.879,10459,7.319,10460,5.942,10461,6.421,10462,7.319,10463,6.778,10464,7.782,10465,6.778,10466,6.778,10467,9.148,10468,7.319,10469,6.778]],["title/modules/ExternalToolModule.html",[252,1.836,6762,5.472]],["body/modules/ExternalToolModule.html",[0,0.226,3,0.012,4,0.012,5,0.006,30,0.001,95,0.155,101,0.009,103,0,104,0,252,2.792,254,2.365,255,2.504,256,2.568,257,2.559,258,2.549,259,3.843,260,3.933,265,5.762,269,3.587,270,2.522,271,2.469,276,3.587,277,0.943,279,2.744,610,2.587,675,3.342,1027,2.011,1054,3.702,2669,2.975,2671,2.117,3857,5.985,5027,3.342,5159,4.629,5717,3.835,6013,9.333,6023,5.33,6762,11.547,6764,9.333,6771,5.171,6920,5.521,6984,8.415,9832,9.333,10113,11.118,10184,9.772,10438,7.71,10452,11.516,10460,7.444,10461,5.759,10470,6.565,10471,6.565,10472,6.565,10473,6.565,10474,10.119,10475,11.516,10476,11.516,10477,10.481,10478,10.481,10479,10.481,10480,6.565,10481,4.476]],["title/injectables/ExternalToolParameterValidationService.html",[589,0.926,10477,5.842]],["body/injectables/ExternalToolParameterValidationService.html",[0,0.138,3,0.008,4,0.008,5,0.004,7,0.056,8,0.731,27,0.477,29,0.944,30,0.001,31,0.701,32,0.156,33,0.554,35,1.375,36,1.893,72,1.834,95,0.124,101,0.005,103,0,104,0,122,2.765,127,5.182,129,2.35,130,2.153,135,1.167,142,2.307,148,1.291,153,2.022,195,2.465,197,2.189,228,1.15,277,0.576,317,2.247,338,6.922,340,2.582,388,3.838,393,1.979,415,2.279,417,7.5,433,0.782,571,1.586,579,3.32,589,0.846,591,0.954,614,1.235,629,2.11,640,2.463,652,2.825,657,1.451,983,4.087,1086,1.913,1087,1.853,1088,1.882,1220,6.462,1328,2.125,1882,1.529,2035,1.967,2233,2.733,2344,2.437,2463,2.617,2669,5.586,2671,4.086,2738,9.075,2749,5.865,3566,7.526,6020,8.557,6057,3.157,6085,3.712,6101,2.778,6117,3.712,6119,2.364,6127,8.82,6137,3.712,6139,5.334,6140,5.334,6144,5.008,6229,1.635,6640,2.52,6984,6.372,7007,3.074,7073,3.254,7078,5.334,7414,4.396,8282,4.996,10114,9.231,10169,3.371,10183,3.157,10397,2.879,10477,5.334,10482,6.343,10483,6.343,10484,6.343,10485,6.343,10486,6.343,10487,6.343,10488,6.343,10489,6.343,10490,6.343,10491,6.343,10492,3.516,10493,6.343,10494,4.008,10495,6.343,10496,4.008,10497,6.343,10498,6.343,10499,4.008,10500,6.343,10501,4.008,10502,6.343,10503,4.008,10504,6.343,10505,4.008,10506,6.343,10507,4.008,10508,6.343,10509,4.008,10510,6.343,10511,3.516,10512,4.008,10513,4.008,10514,4.008,10515,6.037,10516,4.008,10517,4.008,10518,4.008,10519,4.008,10520,4.008,10521,4.008,10522,2.937,10523,4.008,10524,4.008,10525,3.074,10526,4.008,10527,4.008,10528,4.008,10529,3.002,10530,4.008,10531,4.008,10532,4.008,10533,4.008,10534,4.008,10535,3.516,10536,4.008,10537,3.712,10538,4.008,10539,6.343,10540,4.008,10541,6.343,10542,4.008,10543,4.008,10544,4.008,10545,7.289,10546,4.008,10547,4.008,10548,4.008,10549,4.008,10550,6.343,10551,6.343,10552,4.008,10553,6.343]],["title/interfaces/ExternalToolProps.html",[159,0.714,8250,5.472]],["body/interfaces/ExternalToolProps.html",[0,0.211,3,0.012,4,0.012,5,0.006,7,0.086,29,0.899,30,0.001,31,0.657,32,0.167,33,0.618,34,1.895,47,1.001,55,2.354,95,0.139,101,0.011,103,0,104,0,110,4.056,112,0.683,122,2.676,148,1.098,153,1.82,159,0.631,161,1.457,231,1.063,232,1.662,277,0.881,467,2.965,579,1.756,1237,1.808,1312,2.88,1852,5.154,2034,6.454,2035,3.011,2087,5.727,2132,8.266,2183,2.417,2668,8.934,2669,2.78,2671,1.978,2673,8.309,2676,3.458,2679,4.182,2738,7.657,2749,3.028,4617,2.753,5695,6.05,6040,5.205,6625,4.831,6629,4.704,6639,4.831,6640,3.856,6641,4.405,6642,4.704,6649,4.119,6650,4.494,6681,6.728,6697,4.059,6700,6.544,7182,3.324,7446,4.831,8115,7.056,8117,7.13,8118,3.856,8150,4.325,8151,4.593,8154,4.593,8155,4.98,8250,8.019,8251,8.934,8252,8.449,8270,4.182,8274,4.251,8297,7.763,10068,5.158,10069,8.594,10083,5.68,10085,5.68,10087,5.68,10089,5.381,10090,5.68,10091,5.68,10092,5.68,10093,5.68,10094,5.68,10095,5.68,10096,5.68,10097,5.68,10098,4.98,10099,5.158,10100,5.381,10101,9.428]],["title/entities/ExternalToolPseudonymEntity.html",[205,1.416,10554,4.989]],["body/entities/ExternalToolPseudonymEntity.html",[0,0.286,3,0.016,4,0.016,5,0.008,7,0.117,26,2.21,27,0.468,30,0.001,32,0.148,34,1.418,39,3.607,47,0.845,49,5.127,95,0.144,96,2.831,97,3.387,99,1.699,101,0.014,103,0.001,104,0.001,112,0.929,142,3.02,159,0.854,190,2.137,205,2.189,206,2.7,219,6.655,223,4.144,224,2.412,225,4.125,229,3.285,231,1.439,232,2.25,233,2.592,242,4.371,243,5.219,458,3.322,459,5.653,614,2.557,2671,4.203,4608,4.722,10373,7.171,10554,7.713,10555,11.653,10556,7.689,10557,7.351,10558,6.982,10559,8.303,10560,8.303,10561,8.303,10562,9.03,10563,5.576,10564,6.741,10565,6.982,10566,6.084,10567,6.54]],["title/interfaces/ExternalToolPseudonymEntityProps.html",[159,0.714,10562,5.842]],["body/interfaces/ExternalToolPseudonymEntityProps.html",[0,0.29,3,0.016,4,0.016,5,0.008,7,0.118,26,2.602,30,0.001,32,0.158,33,0.495,34,2.159,39,3.707,47,0.897,49,5.263,95,0.144,96,2.854,97,3.43,99,1.721,101,0.014,103,0.001,104,0.001,112,0.935,142,3.058,159,0.864,161,1.997,205,2.207,219,6.695,223,3.925,224,2.442,225,4.159,229,3.326,231,1.457,232,2.278,233,2.624,242,4.426,243,5.285,458,3.364,459,5.698,614,2.59,2671,3.491,4608,4.781,10373,7.369,10554,6.039,10555,7.786,10556,7.786,10557,7.643,10562,10.068,10563,5.646,10564,6.826,10565,7.07,10566,6.16,10567,6.622]],["title/injectables/ExternalToolPseudonymRepo.html",[589,0.926,10568,5.842]],["body/injectables/ExternalToolPseudonymRepo.html",[0,0.152,3,0.008,4,0.008,5,0.004,7,0.062,8,0.789,13,4.827,26,2.772,27,0.481,29,0.936,30,0.001,31,0.684,32,0.152,33,0.558,34,0.755,35,1.384,36,2.811,39,3.381,42,4.827,47,0.595,49,1.668,56,2.086,58,2.884,59,1.372,95,0.136,96,1.165,97,1.803,99,0.904,101,0.006,103,0,104,0,113,4.306,125,1.052,135,1.745,142,3.433,148,1.23,153,2.071,205,2.374,206,3.07,228,0.801,277,0.635,279,1.847,317,2.949,365,1.964,400,1.316,430,1.81,431,1.887,433,0.545,540,2.943,589,0.913,591,1.052,595,1.668,657,2.472,773,6.78,863,3.767,869,4.633,1770,4.561,1853,1.445,1882,1.685,2444,5.235,2460,3.062,2491,3.115,2671,4.011,3071,4.119,3596,2.884,3601,4,3659,3.389,4721,2.686,4735,3.389,4736,3.389,4751,4.827,6229,3.419,6835,3.062,7580,5.042,7866,5.8,7895,3.238,7896,3.238,10373,6.722,10554,8.774,10557,7.991,10562,7.938,10563,4.597,10568,5.757,10569,12.437,10570,4.419,10571,6.34,10572,6.006,10573,6.34,10574,6.34,10575,6.34,10576,5.757,10577,6.006,10578,6.34,10579,4.419,10580,6.34,10581,4.419,10582,6.006,10583,4.419,10584,4.419,10585,6.34,10586,4.419,10587,6.34,10588,4.419,10589,6.34,10590,7.938,10591,4.419,10592,5.251,10593,4.419,10594,6.34,10595,4.419,10596,6.34,10597,4.419,10598,6.006,10599,4.419,10600,4.419,10601,6.006,10602,9.458,10603,6.846,10604,4.419,10605,3.876,10606,4.092,10607,4.419,10608,3.876,10609,4.092,10610,4.419,10611,3.876,10612,4.092,10613,6.006,10614,4.419,10615,4.419,10616,4.092,10617,4.092,10618,3.876,10619,4.092,10620,4.092,10621,4.092,10622,3.716,10623,4.419,10624,4.419,10625,4.419,10626,3.876,10627,4.419,10628,3.876,10629,3.876]],["title/injectables/ExternalToolRepo.html",[589,0.926,10478,5.842]],["body/injectables/ExternalToolRepo.html",[0,0.145,3,0.008,4,0.008,5,0.004,7,0.059,8,0.761,10,2.64,12,2.976,18,3.338,26,2.181,27,0.509,29,0.981,30,0.001,31,0.732,32,0.163,33,0.586,34,1.127,35,1.465,36,2.71,40,2.033,47,0.752,55,0.846,56,1.989,58,2.751,59,1.308,95,0.142,96,1.74,97,1.719,101,0.006,103,0,104,0,112,0.329,113,1.68,135,1.689,142,4.027,148,1.192,153,1.082,185,2.261,205,2.402,206,2.146,224,1.224,228,1.196,231,1.144,279,1.762,317,2.969,365,1.874,433,0.519,436,3.492,540,2.856,569,1.308,589,0.88,591,1.003,595,1.591,614,1.298,652,1.876,657,2.105,729,4.499,735,3.005,736,4.932,766,2.267,770,2.649,787,3.232,788,2.874,790,2.874,800,3.903,863,3.631,869,4.516,1027,1.291,1770,4.879,1853,1.378,2007,2.093,2087,2.855,2139,2.418,2231,3.752,2436,8.651,2438,4.739,2439,4.653,2440,4.653,2441,4.739,2442,4.653,2443,3.027,2444,5.103,2445,3.83,2446,4.298,2448,4.739,2449,3.027,2451,3.027,2453,6.007,2454,4.499,2455,3.027,2458,4.739,2460,2.921,2461,7.47,2462,4.653,2465,3.027,2467,2.535,2468,2.619,2469,2.874,2471,3.027,2479,2.874,2516,6.89,2676,5.188,2749,6.164,4751,4.653,4934,3.088,5091,3.523,6229,3.318,6310,3.318,6733,2.59,6750,2.874,6791,3.697,6808,5.549,6809,3.697,6819,3.088,6820,3.088,6821,3.088,6822,3.088,6823,3.088,6824,3.088,6830,3.422,6831,3.697,6832,3.232,6835,2.921,7580,4.892,7866,5.654,7876,4.941,7895,3.088,7896,3.088,8253,4.148,10285,8.823,10478,5.549,10622,3.544,10626,3.697,10628,3.697,10629,3.697,10630,9.312,10631,6.599,10632,5.357,10633,6.599,10634,3.903,10635,7.057,10636,4.214,10637,6.599,10638,5.549,10639,3.903,10640,6.599,10641,4.214,10642,4.214,10643,4.214,10644,3.232,10645,3.903,10646,4.214,10647,3.697,10648,5.789,10649,6.111,10650,4.214,10651,3.903,10652,4.214,10653,4.214,10654,4.214,10655,5.789,10656,4.214,10657,4.214]],["title/classes/ExternalToolRepoMapper.html",[0,0.239,6830,5.64]],["body/classes/ExternalToolRepoMapper.html",[0,0.135,2,0.417,3,0.007,4,0.007,5,0.004,7,0.055,8,0.719,27,0.482,29,0.966,30,0.001,31,0.734,32,0.167,33,0.56,34,0.67,35,1.419,95,0.123,96,1.034,101,0.005,103,0,104,0,110,2.156,129,2.64,130,1.705,148,1.213,153,2.041,157,1.435,205,0.8,224,1.139,277,0.563,300,2.387,388,2.674,467,4.097,571,2.466,579,1.785,614,1.92,703,1.218,1393,5.842,1598,3.677,1829,1.667,2007,1.948,2037,3.967,2087,5.303,2124,3.305,2332,5.745,2439,4.396,2440,4.396,2458,4.478,2460,2.718,2461,5.471,2462,4.396,2467,3.751,2609,3.06,2668,8.648,2671,2.011,2676,2.211,2679,4.251,2681,9.075,2738,7.297,2749,5.318,2764,7.622,3329,4.478,4721,2.384,4722,3.089,4777,3.298,5176,3.967,5695,3.216,5894,6.799,6106,5.47,6120,5.062,6124,5.47,6127,5.062,6133,5.47,6139,5.243,6140,5.243,6144,3.967,6229,2.544,6310,3.135,6376,2.495,6627,3.174,6681,3.577,6727,8.833,6733,2.41,6749,3.089,6750,2.674,6830,5.062,8100,4.07,8102,4.07,8104,4.07,8114,4.017,8115,3.751,8117,3.79,8189,4.782,8212,9.075,8251,8.648,8252,8.179,8253,3.919,8270,4.251,8274,4.321,8279,4.478,8297,2.596,10069,4.568,10285,6.35,10287,3.298,10288,9.075,10289,9.075,10535,5.47,10545,5.774,10630,10.464,10658,3.922,10659,6.235,10660,6.235,10661,6.235,10662,6.235,10663,6.235,10664,6.235,10665,6.235,10666,6.235,10667,6.235,10668,6.235,10669,6.235,10670,3.922,10671,8.841,10672,6.235,10673,3.922,10674,6.235,10675,3.922,10676,5.774,10677,6.235,10678,3.922,10679,5.774,10680,6.235,10681,3.922,10682,6.235,10683,3.922,10684,3.922,10685,3.922,10686,6.235,10687,3.922,10688,6.235,10689,3.922,10690,6.235,10691,3.922,10692,5.47,10693,6.235,10694,3.922,10695,3.922,10696,3.922,10697,3.922,10698,3.922,10699,3.922,10700,3.922,10701,3.922,10702,6.235,10703,3.298,10704,3.922,10705,3.922,10706,3.922,10707,3.632,10708,3.632,10709,3.922,10710,3.922,10711,8.841,10712,8.841,10713,6.235,10714,6.235,10715,5.774,10716,6.235,10717,6.235,10718,6.235,10719,6.235,10720,6.235,10721,6.235,10722,6.235,10723,3.922,10724,3.922,10725,3.922,10726,3.922,10727,3.441,10728,3.632,10729,3.922,10730,3.922,10731,3.922,10732,3.632,10733,3.632,10734,3.922,10735,3.922,10736,6.235,10737,6.235,10738,6.235,10739,6.235,10740,5.774,10741,5.774]],["title/injectables/ExternalToolRequestMapper.html",[589,0.926,10742,5.842]],["body/injectables/ExternalToolRequestMapper.html",[0,0.144,3,0.008,4,0.008,5,0.004,7,0.059,8,0.755,27,0.473,29,0.954,30,0.001,31,0.716,32,0.153,33,0.549,34,0.713,35,1.391,55,1.837,95,0.126,101,0.005,103,0,104,0,110,2.265,125,1.924,129,2.414,130,1.792,135,1.49,141,2.809,142,1.519,148,1.232,157,0.961,277,0.6,300,1.598,326,1.587,589,0.873,591,0.994,595,1.576,652,2.701,653,3.78,711,3.127,756,3.621,837,2.061,1078,3.544,1882,1.593,2033,2.999,2035,2.049,2087,2.834,2669,5.553,2671,3.952,2690,8.567,2743,2.944,2749,2.061,3005,1.971,3297,6.199,5176,2.656,5695,5.893,6091,3.202,6092,3.663,6094,3.663,6095,3.663,6096,3.663,6097,3.663,6098,3.663,6101,2.893,6107,3.126,6108,3.202,6144,2.656,6229,1.703,6310,2.099,6627,2.126,6641,2.999,6681,3.758,6866,3.289,6874,3.511,6882,3.663,6883,3.511,8115,3.941,8117,3.982,8189,3.202,8282,3.289,8287,3.289,8303,8.074,8312,3.511,8318,3.511,8321,3.511,10069,4.8,10235,8.363,10238,8.363,10239,7.698,10322,3.511,10439,10.751,10635,7.021,10742,5.508,10743,6.55,10744,6.55,10745,6.55,10746,6.55,10747,8.083,10748,8.083,10749,8.083,10750,8.083,10751,6.066,10752,6.55,10753,6.55,10754,4.175,10755,7.091,10756,6.55,10757,7.698,10758,4.175,10759,6.55,10760,4.175,10761,12.784,10762,9.945,10763,6.55,10764,4.175,10765,9.945,10766,4.175,10767,4.175,10768,9.154,10769,4.175,10770,8.363,10771,4.175,10772,9.154,10773,4.175,10774,4.175,10775,9.154,10776,4.175,10777,7.698,10778,4.175,10779,9.154,10780,6.066,10781,7.698,10782,4.175,10783,5.318,10784,7.21,10785,6.55,10786,8.363,10787,4.175,10788,7.091,10789,3.866,10790,3.866,10791,3.866,10792,3.866,10793,3.866,10794,3.866,10795,3.866,10796,3.663,10797,3.866,10798,3.663,10799,3.866,10800,3.866,10801,3.866,10802,3.866,10803,3.866,10804,3.866,10805,3.866,10806,11.132,10807,6.55,10808,4.175,10809,4.175,10810,4.175,10811,8.477,10812,6.55,10813,4.175,10814,4.175,10815,4.175,10816,4.175,10817,4.175,10818,4.175,10819,4.175,10820,4.175,10821,6.55,10822,4.175,10823,4.175,10824,4.175,10825,4.175,10826,4.175,10827,4.175,10828,4.175,10829,4.175,10830,4.175,10831,4.175,10832,4.175,10833,4.175,10834,4.175,10835,4.175,10836,4.175,10837,4.175,10838,4.175,10839,4.175,10840,4.175,10841,3.663,10842,6.55,10843,3.663,10844,4.175]],["title/classes/ExternalToolResponse.html",[0,0.239,10845,5.64]],["body/classes/ExternalToolResponse.html",[0,0.226,2,0.696,3,0.012,4,0.012,5,0.006,7,0.092,27,0.534,29,0.875,30,0.001,31,0.64,32,0.169,33,0.584,34,1.801,47,0.926,55,1.836,95,0.13,101,0.009,103,0,104,0,110,3.647,112,0.714,122,2.383,190,2.409,195,2.002,201,4.835,202,1.503,296,3.648,433,0.806,458,2.618,871,2.396,886,2.059,1220,3.754,2034,7.033,2035,3.212,2087,4.94,2132,5.312,2183,2.579,2669,6.202,2700,8.869,3170,4.273,5695,5.44,6258,5.295,6649,4.394,6681,6.05,6688,8.307,6691,5.741,6697,4.331,6700,4.9,6886,5.741,6887,7.016,6897,5.019,6903,5.741,6905,5.741,7182,3.546,8115,6.345,8117,6.411,8150,4.614,8154,4.9,10069,7.728,10099,5.503,10446,12.007,10845,9.756,10846,9.147,10847,8.869,10848,8.869,10849,6.543,10850,6.543,10851,6.543,10852,6.543,10853,6.543,10854,6.543,10855,6.543,10856,5.741,10857,6.543,10858,6.543,10859,5.741,10860,6.543,10861,6.543,10862,6.543,10863,6.543,10864,6.543,10865,6.543]],["title/injectables/ExternalToolResponseMapper.html",[589,0.926,10866,5.64]],["body/injectables/ExternalToolResponseMapper.html",[0,0.198,3,0.011,4,0.011,5,0.005,7,0.081,8,0.962,27,0.45,29,0.914,30,0.001,31,0.689,32,0.149,33,0.523,34,0.982,35,1.324,95,0.13,101,0.008,103,0,104,0,110,1.987,135,1.405,148,1.18,153,1.766,157,1.323,277,0.825,300,2.2,467,3.987,589,1.112,591,1.368,652,2.619,653,3.444,829,3.389,837,2.838,1078,4.304,1882,2.192,2033,4.128,2035,2.821,2087,2.486,2668,8.379,2669,5.405,2671,3.846,2700,9.616,2738,7.465,2743,4.052,2749,5.646,4868,4.408,5176,3.657,5695,2.964,6091,4.408,6092,5.042,6094,5.042,6095,5.042,6096,5.042,6097,5.042,6098,5.042,6101,3.983,6107,4.304,6108,4.408,6144,3.657,6229,2.345,6627,2.926,6640,3.613,6681,3.297,6688,8.482,8115,3.457,8117,3.494,8189,4.408,8251,8.379,8252,7.463,8282,4.527,8287,4.527,8312,4.833,8318,4.833,8321,4.833,10069,4.211,10169,4.833,10215,4.666,10230,5.322,10322,4.833,10397,4.128,10439,10.463,10515,4.408,10676,5.322,10789,5.322,10790,5.322,10791,5.322,10792,5.322,10793,5.322,10794,5.322,10795,5.322,10796,5.042,10797,5.322,10798,5.042,10799,5.322,10800,5.322,10801,5.322,10802,5.322,10803,5.322,10804,5.322,10805,5.322,10806,10.589,10811,7.723,10845,8.743,10847,9.616,10848,9.616,10866,6.771,10867,8.34,10868,8.34,10869,8.34,10870,8.34,10871,8.34,10872,8.34,10873,5.747,10874,11.927,10875,8.34,10876,5.322,10877,8.34,10878,5.747,10879,8.34,10880,5.747,10881,8.34,10882,5.747,10883,7.013,10884,5.747,10885,5.747,10886,5.747,10887,5.747,10888,5.747,10889,5.322,10890,5.042,10891,5.747,10892,5.747,10893,5.747,10894,5.747,10895,5.747,10896,5.747,10897,5.747,10898,5.747,10899,5.747,10900,5.747,10901,5.747,10902,5.747]],["title/classes/ExternalToolScope.html",[0,0.239,10648,6.094]],["body/classes/ExternalToolScope.html",[0,0.247,2,0.762,3,0.014,4,0.014,5,0.007,7,0.101,8,1.123,27,0.524,29,0.951,30,0.001,31,0.757,32,0.166,33,0.567,35,1.127,47,0.909,95,0.111,101,0.009,103,0,104,0,112,0.76,122,2.671,125,3.252,129,2.139,130,1.959,148,1.094,231,1.687,365,3.184,436,3.678,569,2.224,652,2.61,814,6.023,2087,3.098,2474,6.587,6229,5.512,6310,5.561,6733,4.401,6946,6.284,6947,6.537,6948,6.537,6949,6.537,6954,6.537,6955,6.537,6956,4.884,6957,4.81,6958,4.884,6959,4.884,6968,4.81,6969,6.537,6970,4.884,6971,4.81,6972,4.884,6973,4.81,6974,7.427,8117,6.723,8253,4.502,10285,5.144,10630,9.979,10648,8.541,10903,9.735,10904,9.015,10905,9.735,10906,9.735,10907,7.162,10908,9.015,10909,7.162,10910,9.735,10911,7.162,10912,6.633]],["title/classes/ExternalToolSearchListResponse.html",[0,0.239,10913,5.842]],["body/classes/ExternalToolSearchListResponse.html",[0,0.272,2,0.84,3,0.015,4,0.015,5,0.007,7,0.111,27,0.505,29,0.605,30,0.001,31,0.442,32,0.172,33,0.586,55,2.873,56,6.215,59,3.226,70,6.703,95,0.133,101,0.01,103,0.001,104,0.001,112,0.811,125,1.879,190,2.216,202,1.814,231,1.801,296,2.715,298,3.415,339,3.762,433,0.973,436,3.657,614,2.432,860,7.326,861,5.471,862,8.34,863,7.244,864,5.961,866,3.921,868,5.573,869,3.875,870,4.311,871,2.89,872,5.566,873,6.611,874,6.07,875,5.225,876,4.099,877,5.566,878,5.566,880,5.023,881,4.311,2669,4.709,2671,3.351,6976,6.926,10446,9.116,10845,10.896,10913,8.738,10914,7.311,10915,7.311]],["title/classes/ExternalToolSearchParams.html",[0,0.239,10757,5.842]],["body/classes/ExternalToolSearchParams.html",[0,0.394,2,0.974,3,0.017,4,0.017,5,0.008,7,0.129,27,0.45,30,0.001,31,0.752,32,0.142,33,0.596,34,1.951,47,0.926,95,0.13,101,0.012,103,0.001,104,0.001,112,0.892,157,2.63,190,2.051,200,2.805,201,4.837,202,2.103,299,4.855,300,4.768,614,4.018,1361,6.555,2669,5.645,2671,4.329,2802,4.572,6222,7.673,6310,6.262,10236,10.112,10757,9.608,10916,8.032,10917,11.426,10918,9.155,10919,8.032]],["title/interfaces/ExternalToolSearchQuery.html",[159,0.714,10635,5.328]],["body/interfaces/ExternalToolSearchQuery.html",[3,0.019,4,0.019,5,0.009,7,0.141,30,0.001,31,0.754,32,0.162,33,0.64,47,0.994,101,0.013,103,0.001,104,0.001,112,0.945,122,2.708,159,1.033,161,2.387,860,7.085,2671,3.241,6310,6.773,8117,8.188,10635,9.278,10920,10.049,10921,8.816]],["title/injectables/ExternalToolService.html",[589,0.926,6984,4.269]],["body/injectables/ExternalToolService.html",[0,0.131,3,0.007,4,0.007,5,0.003,7,0.053,8,0.7,12,2.737,26,2.188,27,0.47,29,0.914,30,0.001,31,0.68,32,0.149,33,0.545,34,1.037,35,1.381,36,2.731,40,2.929,47,0.808,59,1.177,95,0.144,99,0.776,101,0.005,103,0,104,0,125,1.806,135,1.61,148,1.092,153,0.996,228,2.001,271,2.283,277,0.545,279,1.585,317,2.925,365,2.699,433,0.748,540,3.046,579,1.737,589,0.809,591,0.903,595,1.431,614,2.337,629,3.195,652,2.632,657,2.896,675,3.864,688,1.79,703,1.177,869,2.979,980,3.367,1027,1.162,1223,2.84,1328,3.218,1563,2.443,1853,1.24,1882,1.447,1912,7.788,2004,4.598,2007,1.884,2035,1.861,2087,1.641,2446,4.965,2463,3.962,2582,3.816,2609,1.861,2669,5.506,2671,3.848,2749,6.797,5027,1.931,5156,2.84,5157,7.788,5159,2.674,5178,3.079,5219,4.076,5695,1.956,6021,7.959,6029,3.079,6244,5.259,6310,4.361,6376,2.413,6641,2.724,6735,3.69,6804,3.327,6984,3.73,6990,3.512,7866,5.33,8249,4.545,8252,6.011,10114,9.098,10134,2.674,10155,3.079,10373,2.087,10463,3.512,10476,7.294,10478,8.512,10479,7.294,10481,4.139,10515,2.909,10635,6.653,10692,6.658,10883,3.189,10922,6.07,10923,5.325,10924,5.325,10925,6.07,10926,6.07,10927,7.589,10928,5.325,10929,6.07,10930,7.589,10931,3.792,10932,7.788,10933,7.589,10934,3.792,10935,6.07,10936,3.792,10937,6.07,10938,3.792,10939,6.07,10940,3.792,10941,3.792,10942,6.07,10943,3.792,10944,6.07,10945,3.792,10946,3.792,10947,3.792,10948,6.07,10949,7.028,10950,9.843,10951,6.07,10952,3.792,10953,3.792,10954,8.936,10955,10.122,10956,3.792,10957,8.674,10958,2.724,10959,3.792,10960,3.792,10961,3.512,10962,5.621,10963,3.792,10964,3.512,10965,5.621,10966,6.07,10967,3.792,10968,3.792,10969,3.792,10970,3.792,10971,3.792,10972,3.792,10973,3.792,10974,3.792,10975,6.07,10976,6.07,10977,6.07,10978,6.07,10979,3.792,10980,3.792,10981,3.792,10982,3.792,10983,3.327,10984,3.792,10985,3.792,10986,3.792,10987,3.792,10988,3.792,10989,3.792,10990,3.792,10991,6.07,10992,3.792,10993,3.792,10994,3.792,10995,3.792,10996,3.792,10997,3.792,10998,3.792,10999,3.792,11000,3.792,11001,3.792,11002,3.792,11003,3.792,11004,3.792,11005,3.792,11006,3.792,11007,3.792,11008,3.792]],["title/injectables/ExternalToolServiceMapper.html",[589,0.926,10479,5.842]],["body/injectables/ExternalToolServiceMapper.html",[0,0.32,3,0.018,4,0.018,5,0.009,7,0.13,8,1.329,27,0.365,29,0.711,30,0.001,31,0.702,32,0.116,33,0.424,35,1.074,47,0.89,95,0.143,101,0.012,103,0.001,104,0.001,148,0.918,277,1.333,589,1.536,591,2.209,1495,6.667,1496,7.536,1882,3.541,2669,5.223,2671,3.717,6229,3.787,6306,7.312,8116,6.951,8252,9.083,10114,8.63,10479,9.691,10481,6.329,10692,10.996,10715,8.596,10954,9.385,10958,6.667,11009,9.282,11010,11.524,11011,11.524,11012,9.282,11013,9.282,11014,9.282,11015,8.596,11016,9.282,11017,8.144,11018,9.282,11019,9.282,11020,8.596,11021,8.596]],["title/classes/ExternalToolSortingMapper.html",[0,0.239,10647,6.094]],["body/classes/ExternalToolSortingMapper.html",[0,0.317,2,0.978,3,0.017,4,0.017,5,0.008,7,0.129,8,1.321,10,3.68,27,0.362,29,0.705,30,0.001,31,0.642,32,0.115,33,0.42,35,1.065,95,0.149,96,2.425,101,0.012,103,0.001,104,0.001,125,2.189,135,1.2,148,0.91,224,2.672,467,3.634,595,3.472,789,5.022,2007,4.568,2671,3.695,2749,4.541,4785,7.467,6733,5.651,7876,10.263,8253,7.203,10285,6.606,10630,9.636,10647,10.053,10784,10.291,11022,9.197,11023,11.458,11024,11.458,11025,9.197,11026,8.517,11027,9.197,11028,8.517,11029,8.517,11030,10.611,11031,8.517]],["title/injectables/ExternalToolUc.html",[589,0.926,11032,5.842]],["body/injectables/ExternalToolUc.html",[0,0.163,3,0.009,4,0.009,5,0.004,7,0.067,8,0.834,26,2.92,27,0.469,29,0.913,30,0.001,31,0.667,32,0.148,33,0.544,35,1.338,36,2.803,39,3.297,47,0.622,95,0.142,99,0.97,100,1.655,101,0.006,103,0,104,0,131,3.68,135,1.651,148,1.099,153,1.186,228,1.911,277,0.681,290,2.072,317,2.979,365,3.894,412,2.099,433,0.891,478,1.331,540,3.44,589,0.964,591,1.129,595,1.79,610,1.869,614,1.461,652,2.428,657,3.077,693,5.425,869,3.548,1829,2.016,1853,1.551,1862,6.17,1882,1.809,1940,3.096,1961,2.853,2087,2.052,2653,2.192,2669,5.531,2671,3.159,2673,5.413,2749,6.481,4394,5.166,5695,2.446,5746,3.096,6641,3.406,6735,5.325,6984,6.828,7023,4.16,7043,4.391,7866,6.02,10175,11.302,10183,3.735,10184,8.653,10203,3.85,10204,10.29,10373,7.063,10392,6.694,10410,6.342,10427,5.694,10452,9.718,10475,8.238,10635,7.513,10755,10.451,10788,8.594,10883,3.988,10923,6.342,10924,6.342,10928,6.342,10950,4.391,11032,6.079,11033,7.228,11034,8.111,11035,6.694,11036,6.342,11037,8.759,11038,4.742,11039,7.228,11040,4.742,11041,7.228,11042,4.742,11043,7.228,11044,4.742,11045,4.742,11046,7.228,11047,4.742,11048,7.228,11049,4.742,11050,7.228,11051,4.742,11052,11.112,11053,7.228,11054,4.742,11055,4.742,11056,4.742,11057,7.228,11058,4.742,11059,4.742,11060,6.694,11061,4.742,11062,4.742,11063,4.742,11064,4.742,11065,4.742,11066,4.742]],["title/classes/ExternalToolUpdateParams.html",[0,0.239,10786,5.842]],["body/classes/ExternalToolUpdateParams.html",[0,0.343,2,0.626,3,0.011,4,0.011,5,0.005,7,0.083,27,0.508,29,0.762,30,0.001,31,0.673,32,0.17,33,0.58,34,1.699,47,0.9,95,0.137,101,0.008,103,0,104,0,110,3.439,112,0.662,122,2.272,125,1.4,130,2.72,190,2.32,195,2.631,199,5.516,200,1.802,201,4.481,202,1.351,223,1.826,296,3.141,299,4.498,300,4.417,571,3.355,886,1.851,899,2.679,1220,3.374,1232,3.405,2034,6.819,2035,2.887,2087,4.709,2467,5.102,2525,5.349,2669,5.944,2671,4.23,2676,3.316,2679,4.011,2690,9.369,2693,6.214,2694,5.877,2887,5.656,3170,3.961,3329,6.091,4017,4.511,4018,3.614,4039,3.614,6258,6.68,6681,5.705,6712,4.775,6778,6.214,6781,4.946,6782,4.946,6783,4.633,6788,5.349,8115,5.983,8117,6.046,8270,4.011,8274,4.076,8303,9.369,8310,6.504,9579,5.536,9580,3.84,9581,5.536,10069,7.287,10236,10.65,10240,5.16,10241,5.447,10248,5.447,10249,5.447,10252,5.447,10254,5.447,10770,9.154,10777,9.704,10786,7.132,11067,4.946,11068,5.882,11069,5.16,11070,5.882,11071,5.16,11072,5.882,11073,5.882,11074,5.882,11075,5.882,11076,5.447,11077,5.882,11078,5.882,11079,5.882]],["title/injectables/ExternalToolValidationService.html",[589,0.926,10475,5.842]],["body/injectables/ExternalToolValidationService.html",[0,0.187,3,0.01,4,0.01,5,0.005,7,0.076,8,0.923,27,0.46,29,0.896,30,0.001,31,0.655,32,0.151,33,0.535,34,1.624,35,1.294,36,2.625,47,0.675,72,2.488,95,0.133,101,0.007,103,0,104,0,127,4.75,135,0.709,142,3.457,148,0.538,153,1.918,228,1.723,277,0.781,317,2.863,338,7.186,393,2.684,414,2.75,415,3.091,417,4.477,433,0.987,569,2.486,579,3.347,589,1.068,591,1.294,614,2.928,640,3.34,652,2.694,657,2.676,983,5.159,1598,4.722,1882,2.073,2087,2.352,2669,5.48,2671,4.376,2749,6.936,2802,3.803,5851,4.571,6057,4.282,6076,5.034,6770,4.413,6984,7.186,7073,4.413,7078,7.994,10114,9.056,10183,4.282,10184,9.056,10373,4.406,10397,5.751,10410,4.769,10475,6.733,10477,10.169,10511,4.769,10515,8.575,10537,5.034,10883,6.733,10949,5.034,10961,5.034,10962,5.034,10964,8.803,11080,8.007,11081,8.007,11082,8.007,11083,8.007,11084,8.007,11085,5.436,11086,8.007,11087,5.436,11088,8.007,11089,8.007,11090,5.436,11091,8.007,11092,8.007,11093,5.436,11094,5.436,11095,8.007,11096,5.436,11097,5.436,11098,8.007,11099,5.436,11100,8.007,11101,5.436,11102,5.436,11103,5.436,11104,8.007,11105,5.436,11106,5.436,11107,5.436,11108,5.436,11109,5.436,11110,5.436,11111,5.436,11112,5.436,11113,5.436]],["title/injectables/ExternalToolVersionIncrementService.html",[589,0.926,10476,5.842]],["body/injectables/ExternalToolVersionIncrementService.html",[0,0.164,3,0.009,4,0.009,5,0.004,7,0.067,8,0.836,27,0.469,29,0.914,30,0.001,31,0.668,32,0.149,33,0.545,35,1.38,95,0.1,101,0.006,103,0,104,0,122,2.741,135,1.743,148,1.271,277,0.684,569,2.25,589,0.966,591,1.133,652,2.805,756,1.883,1882,1.815,2669,5.537,2671,3.94,2738,9.448,2749,5.712,2906,10.803,5695,6.302,6106,4.175,6127,7.968,6133,4.175,6139,4.002,6140,4.002,6640,2.992,10114,9.149,10476,6.095,11114,4.759,11115,7.248,11116,7.248,11117,7.248,11118,7.248,11119,7.248,11120,7.248,11121,7.248,11122,7.248,11123,7.248,11124,13.363,11125,4.759,11126,8.778,11127,7.248,11128,4.759,11129,7.248,11130,13.363,11131,4.759,11132,7.248,11133,4.759,11134,7.248,11135,4.759,11136,7.248,11137,4.759,11138,7.248,11139,4.759,11140,7.248,11141,8.778,11142,4.759,11143,4.759,11144,4.759,11145,7.248,11146,4.759,11147,4.759,11148,4.759,11149,4.759,11150,7.248,11151,7.248,11152,7.248,11153,4.759,11154,4.759,11155,4.759,11156,4.759,11157,4.759,11158,4.759,11159,4.759,11160,12.218,11161,7.248,11162,4.759,11163,4.759,11164,4.759,11165,7.248,11166,4.759,11167,4.759,11168,7.248,11169,4.759,11170,4.759,11171,4.759,11172,4.759,11173,4.759,11174,4.759,11175,4.759,11176,4.759,11177,9.814,11178,9.814,11179,9.814,11180,4.759,11181,4.759,11182,4.759]],["title/classes/ExternalUserDto.html",[0,0.239,11183,5.09]],["body/classes/ExternalUserDto.html",[0,0.292,2,0.9,3,0.016,4,0.016,5,0.008,7,0.119,27,0.537,29,0.648,30,0.001,31,0.474,32,0.17,33,0.648,47,0.981,83,3.165,95,0.097,101,0.011,103,0.001,104,0.001,112,0.849,232,2.945,433,1.043,435,2.953,595,3.193,700,5.794,701,5.794,702,5.929,704,6.114,3388,6.154,5009,6.66,7837,5.09,7838,5.257,8131,6.664,8132,6.869,10002,11.621,10023,7.835,10025,7.835,10026,7.835,11183,9.605,11184,9.21,11185,10.869,11186,8.461,11187,8.461,11188,8.461,11189,5.523,11190,5.965,11191,5.523,11192,5.965,11193,5.769,11194,6.199,11195,7.115,11196,7.423]],["title/injectables/FeathersAuthProvider.html",[589,0.926,1869,5.64]],["body/injectables/FeathersAuthProvider.html",[0,0.202,3,0.011,4,0.011,5,0.005,7,0.082,8,0.974,26,2.924,27,0.472,29,0.919,30,0.001,31,0.672,32,0.149,33,0.548,35,1.333,36,2.771,39,3.424,47,0.817,49,3.742,95,0.131,96,1.542,97,2.386,99,1.197,101,0.008,103,0,104,0,135,1.709,142,2.127,148,1.187,153,0.959,159,0.601,197,1.626,277,0.84,290,2.995,317,2.975,365,2.6,400,1.742,433,0.721,478,1.642,579,1.674,589,1.126,591,1.392,610,3.907,652,2.021,657,2.634,703,1.816,789,3.193,981,3.555,1092,3.927,1826,5.9,1869,6.856,1881,4.917,2477,5.758,2923,4.477,4541,4.018,7815,8.075,7823,7.218,8011,7.797,9562,6.188,9988,5.13,9989,8.791,11197,11.455,11198,5.415,11199,8.445,11200,9.18,11201,7.409,11202,8.445,11203,9.18,11204,5.848,11205,8.445,11206,5.848,11207,5.415,11208,5.848,11209,8.445,11210,5.848,11211,8.445,11212,5.848,11213,5.848,11214,5.848,11215,8.445,11216,8.445,11217,8.445,11218,5.848,11219,5.848,11220,5.848,11221,8.445,11222,8.445,11223,6.652,11224,6.856,11225,5.848,11226,4.917,11227,5.848,11228,5.848,11229,5.848,11230,7.409,11231,5.415,11232,5.848,11233,5.848]],["title/injectables/FeathersAuthorizationService.html",[589,0.926,1863,5.842]],["body/injectables/FeathersAuthorizationService.html",[0,0.202,3,0.011,4,0.011,5,0.005,7,0.083,8,0.977,26,2.845,27,0.428,29,0.833,30,0.001,31,0.609,32,0.136,33,0.497,35,1.335,36,2.542,39,3.509,47,0.853,95,0.113,99,1.202,101,0.008,103,0,104,0,135,1.419,145,2.202,148,0.838,153,1.39,205,2.449,206,3.538,277,0.844,290,3.101,317,2.798,374,4.706,388,5.623,400,1.749,433,0.724,579,2.425,589,1.13,591,1.398,615,5.15,657,2.639,693,2.675,1083,6.775,1566,5.153,1826,7.284,1863,7.124,1869,9.755,1884,3.609,1983,5.689,2388,4.768,2805,5.607,5231,3.692,7815,8.56,7823,8.36,7847,6.498,8011,9.537,11197,10.68,11234,5.873,11235,9.937,11236,8.472,11237,9.937,11238,5.873,11239,5.873,11240,5.873,11241,5.873,11242,6.498,11243,7.845,11244,8.472,11245,5.873,11246,5.873,11247,5.873,11248,7.845,11249,5.873,11250,5.873,11251,5.873,11252,5.873,11253,5.873,11254,5.873,11255,5.873,11256,5.873,11257,5.873,11258,7.432,11259,5.873,11260,5.873,11261,5.873,11262,8.472,11263,5.873,11264,5.873]],["title/interfaces/FeathersError.html",[159,0.714,9979,5.842]],["body/interfaces/FeathersError.html",[3,0.019,4,0.019,5,0.009,7,0.143,30,0.001,32,0.177,47,0.996,55,2.617,101,0.013,103,0.001,104,0.001,112,0.951,159,1.044,161,2.411,231,2.11,998,6.38,1080,4.196,9979,10.235,11265,10.151,11266,10.151,11267,12.516]],["title/modules/FeathersModule.html",[252,1.836,1861,5.842]],["body/modules/FeathersModule.html",[0,0.311,3,0.017,4,0.017,5,0.008,30,0.001,95,0.129,101,0.012,103,0.001,104,0.001,157,2.075,193,4.916,252,3.531,254,4.454,255,3.437,256,3.525,257,3.512,258,3.499,259,4.498,260,4.604,269,4.426,270,3.462,271,3.39,277,1.294,371,5.997,543,5.489,610,4.459,997,7.112,1861,11.637,1884,7.599,2564,7.289,2856,7.198,9039,8.677,9989,10.531,11268,9.011,11269,9.011,11270,9.011,11271,9.011,11272,9.185,11273,9.185,11274,9.514,11275,9.514,11276,9.925,11277,8.345]],["title/injectables/FeathersRosterService.html",[589,0.926,11278,5.328]],["body/injectables/FeathersRosterService.html",[0,0.104,3,0.006,4,0.006,5,0.003,7,0.043,8,0.582,26,2.231,27,0.457,29,0.889,30,0.001,31,0.671,32,0.153,33,0.53,34,0.862,35,1.317,36,2.676,47,0.97,51,3.636,55,0.607,72,2.31,95,0.139,99,0.619,101,0.004,103,0,104,0,122,0.631,135,1.725,142,1.836,145,1.892,148,1.101,153,1.492,157,0.697,159,0.866,228,1.649,254,1.818,277,0.435,290,1.194,317,2.903,339,3.179,412,2.233,433,0.622,478,0.85,528,2.553,578,1.582,579,2.169,589,0.673,591,0.72,595,1.142,610,2.986,614,2.334,652,2.761,657,2.978,980,4.671,1065,3.719,1212,3.252,1472,1.692,1853,0.99,1884,3.101,2004,4.017,2005,3.961,2007,3.225,2017,6.387,2026,3.698,2032,4.229,2034,1.665,2039,3.559,2046,2.266,2047,2.174,2297,5.968,2369,1.692,2511,3.006,2544,3.036,2749,6.296,3370,1.358,3852,3.389,3853,1.593,4541,1.761,4692,4.183,4815,2.032,4816,2.063,5009,3.601,5010,2.174,5401,5.473,5412,4.831,5894,2.003,6244,3.498,6626,4.297,6680,5.342,6750,2.063,6765,6.3,6829,3.625,6922,2.097,6984,5.93,6985,6.387,7002,4.034,7008,4.862,7017,2.174,7018,2.174,7061,3.871,7452,2.921,7455,4.131,7456,2.134,7550,2.217,7597,2.384,8056,5.691,8062,3.441,8253,3.173,10134,2.134,10208,2.321,10373,5.006,10397,5.442,10464,2.384,10554,3.625,10557,7.45,10563,5.088,10576,4.244,10592,3.871,11278,3.871,11279,9.583,11280,2.457,11281,4.098,11282,4.098,11283,4.098,11284,3.625,11285,4.098,11286,5.047,11287,5.047,11288,5.047,11289,4.674,11290,5.047,11291,5.047,11292,5.047,11293,5.047,11294,5.047,11295,5.047,11296,5.047,11297,2.384,11298,6.688,11299,3.026,11300,4.098,11301,3.026,11302,3.026,11303,4.098,11304,3.026,11305,4.098,11306,3.026,11307,4.098,11308,8.526,11309,3.026,11310,4.098,11311,3.026,11312,4.098,11313,3.026,11314,4.098,11315,3.026,11316,4.098,11317,3.026,11318,7.965,11319,4.098,11320,3.026,11321,4.098,11322,3.026,11323,4.098,11324,3.026,11325,2.321,11326,2.457,11327,3.976,11328,5.968,11329,3.976,11330,4.098,11331,4.098,11332,6.837,11333,4.098,11334,2.457,11335,4.098,11336,2.457,11337,2.457,11338,4.098,11339,2.457,11340,2.457,11341,4.098,11342,2.457,11343,2.457,11344,2.457,11345,2.457,11346,2.457,11347,2.457,11348,2.457,11349,2.457,11350,2.457,11351,2.457,11352,5.271,11353,2.457,11354,2.457,11355,2.457,11356,2.457,11357,2.457,11358,2.457,11359,2.457,11360,2.457,11361,2.457,11362,2.457,11363,2.457,11364,4.098,11365,2.457,11366,2.384,11367,2.457,11368,3.389,11369,2.032,11370,2.384,11371,2.384,11372,2.457,11373,4.098,11374,2.457,11375,4.098,11376,2.457,11377,2.384,11378,2.457,11379,2.457,11380,2.457,11381,2.457,11382,2.457,11383,2.457,11384,2.384,11385,2.384]],["title/interfaces/FeathersService.html",[159,0.714,11386,6.094]],["body/interfaces/FeathersService.html",[0,0.225,3,0.012,4,0.012,5,0.006,7,0.092,8,1.054,27,0.449,29,0.807,30,0.001,31,0.59,32,0.15,33,0.482,34,1.561,35,1.22,36,2.633,47,0.81,59,3.543,95,0.13,101,0.015,102,5.586,103,0,104,0,135,1.192,142,2.376,148,0.646,153,1.072,159,0.672,161,1.552,193,5.219,252,1.726,254,2.353,277,0.938,326,5.034,339,1.917,371,6.367,388,4.519,407,4.527,543,3.17,561,2.932,571,3.614,579,1.87,589,1.218,610,5.137,641,6.49,652,1.332,688,3.084,734,3.835,816,4.527,983,4.209,997,7.549,1078,4.006,1086,4.36,1087,4.224,1088,4.29,1089,4.566,1090,4.989,1197,3.54,1380,4.892,1884,6.475,2134,6.442,2537,4.107,2564,4.209,2856,4.156,4190,5.887,5091,6.093,5868,5.678,6229,3.728,7584,3.93,9039,5.01,9953,5.01,9989,4.787,10522,4.787,11272,5.304,11273,5.304,11274,5.494,11275,5.494,11276,5.731,11386,10.012,11387,10.568,11388,5.731,11389,8.461,11390,12.768,11391,6.533,11392,10.568,11393,8.461,11394,6.533,11395,8.461,11396,6.533,11397,5.731,11398,6.05,11399,6.05,11400,6.05,11401,6.05,11402,6.05,11403,8.461,11404,6.05,11405,5.494,11406,5.146,11407,6.05,11408,6.05,11409,6.05,11410,6.05]],["title/injectables/FeathersServiceProvider.html",[589,0.926,9989,5.09]],["body/injectables/FeathersServiceProvider.html",[0,0.234,3,0.013,4,0.013,5,0.006,7,0.095,8,1.083,27,0.424,29,0.72,30,0.001,31,0.526,32,0.145,33,0.429,34,1.161,35,0.787,36,2.277,47,0.824,95,0.132,101,0.015,102,5.706,103,0,104,0,135,1.225,142,2.473,148,0.672,153,1.115,157,1.565,159,0.699,193,5.806,252,1.796,254,3.383,277,0.976,326,4.413,371,6.155,388,4.616,407,6.51,414,3.439,433,0.838,543,4.558,561,3.051,571,3.716,579,1.946,589,1.252,591,1.618,610,5.187,641,5.342,652,1.386,688,3.209,816,4.711,983,4.38,997,7.298,1078,4.119,1086,4.482,1087,4.343,1088,4.411,1089,4.694,1090,5.129,1197,3.684,1380,5.091,1884,7.134,2134,6.623,2537,4.274,2564,6.052,2856,5.977,4190,6.052,5091,3.63,5868,5.837,6229,3.832,7584,4.09,9039,7.205,9953,5.214,9989,6.883,10522,4.981,11272,7.626,11273,7.626,11274,7.899,11275,7.899,11276,8.241,11386,10.185,11387,9.967,11388,5.964,11389,6.296,11390,11.283,11392,8.699,11393,6.296,11395,6.296,11397,5.964,11398,6.296,11399,6.296,11400,6.296,11401,6.296,11402,8.699,11403,8.699,11404,6.296,11405,5.717,11406,5.355,11407,6.296,11408,6.296,11409,6.296,11410,6.296,11411,9.394,11412,6.798,11413,6.798,11414,6.798]],["title/entities/FederalStateEntity.html",[205,1.416,7443,4.814]],["body/entities/FederalStateEntity.html",[0,0.351,3,0.015,4,0.015,5,0.007,7,0.108,27,0.48,30,0.001,31,0.711,32,0.152,33,0.465,47,0.99,55,1.536,83,2.964,95,0.116,96,2.018,101,0.015,103,0,104,0,112,0.795,159,0.787,190,2.189,195,2.668,196,4.033,197,3.39,205,2.075,206,2.489,211,5.646,223,3.941,224,2.223,225,3.911,226,3.469,229,3.028,231,1.327,232,2.074,233,2.389,430,3.135,431,3.268,460,4.653,461,5.219,462,4.653,463,5.219,1835,5.217,2183,4.012,2685,5.183,4601,5.304,4607,5.435,4617,3.435,6681,6.994,6697,5.066,7424,10.975,7425,11.136,7426,6.715,7427,6.715,7428,6.715,7429,6.715,7434,8.561,7435,10.696,7436,10.696,7437,6.715,7438,6.715,7439,6.715,7440,6.715,7441,6.715,7442,6.715,7443,7.055,7444,6.715,7445,6.715,7446,6.029,11415,7.654,11416,7.654,11417,7.654,11418,7.654]],["title/interfaces/FederalStateProperties.html",[159,0.714,7434,5.842]],["body/interfaces/FederalStateProperties.html",[0,0.354,3,0.015,4,0.015,5,0.007,7,0.109,30,0.001,31,0.734,32,0.163,33,0.47,47,1.01,55,1.56,83,3.817,95,0.117,96,2.049,101,0.015,103,0,104,0,112,0.803,159,0.799,161,1.846,195,2.25,196,3.813,197,2.86,205,2.096,223,3.808,224,2.258,225,3.951,226,3.522,229,3.075,231,1.347,232,2.106,233,2.426,430,5.024,431,5.237,460,4.725,461,5.3,462,4.725,463,5.3,1835,3.983,2183,4.053,2685,5.236,4607,5.491,4617,3.488,6681,7.319,6697,5.144,7424,11.243,7425,6.819,7426,6.819,7427,6.819,7428,6.819,7429,6.819,7434,9.692,7435,11.193,7436,11.193,7437,6.819,7438,6.819,7439,6.819,7440,6.819,7441,6.819,7442,6.819,7443,5.386,7444,6.819,7445,6.819,7446,6.122]],["title/injectables/FederalStateRepo.html",[589,0.926,11419,5.842]],["body/injectables/FederalStateRepo.html",[0,0.265,3,0.015,4,0.015,5,0.007,7,0.108,8,1.178,10,4.089,12,4.608,18,5.17,26,2.103,27,0.514,29,0.974,30,0.001,31,0.747,32,0.158,33,0.581,34,1.315,35,1.472,36,2.69,40,3.714,47,0.814,49,3.857,95,0.139,96,2.03,101,0.01,103,0,104,0,148,1.011,205,1.569,206,3.323,224,2.236,231,1.771,277,1.106,317,2.832,436,3.621,478,2.161,532,5.179,589,1.362,591,1.832,728,7.721,734,4.289,735,4.654,736,6.279,759,4.585,760,4.68,761,4.631,762,4.68,763,5.335,764,4.631,765,4.68,766,4.14,3950,5.428,7443,7.082,10632,8.296,10638,8.593,11419,8.593,11420,11.471,11421,7.698,11422,7.698,11423,7.698,11424,7.698]],["title/injectables/FederalStateService.html",[589,0.926,11425,5.842]],["body/injectables/FederalStateService.html",[0,0.311,3,0.017,4,0.017,5,0.008,7,0.127,8,1.306,27,0.446,29,0.868,30,0.001,31,0.693,32,0.141,33,0.518,35,1.045,36,2.397,47,0.879,95,0.141,101,0.012,103,0.001,104,0.001,135,1.178,148,0.893,228,1.637,277,1.297,279,3.775,317,2.682,400,2.69,433,1.113,478,2.536,589,1.51,591,2.15,657,2.066,734,3.791,1829,3.84,1882,3.445,1940,5.896,4168,6.259,4667,6.065,7443,7.851,11419,11.473,11425,9.527,11426,9.494,11427,12.379,11428,9.032,11429,11.329,11430,9.032,11431,9.032,11432,11.329,11433,9.032,11434,7.595,11435,6.927,11436,8.193,11437,9.032]],["title/interfaces/File.html",[5,0.006,159,0.714]],["body/interfaces/File.html",[3,0.017,4,0.017,5,0.011,7,0.123,30,0.001,32,0.138,47,1.04,55,2.449,95,0.1,101,0.018,103,0.001,104,0.001,112,0.868,125,2.644,159,1.391,161,2.08,339,3.886,414,5.621,1302,7.347,1304,4.979,1444,7.119,2232,5.323,5187,5.33,6513,4.979,7240,6.557,7241,6.557,7242,6.897,7243,6.715,7244,6.715,7245,5.504,7246,6.557,7247,5.97,7248,5.97,7249,5.97,7250,5.97,7251,6.174,7252,5.441,7253,5.323,7254,5.323,7255,6.416,7256,8.521,7257,8.521,7258,6.557]],["title/classes/FileContentBody.html",[0,0.239,6447,4.535]],["body/classes/FileContentBody.html",[0,0.47,2,0.572,3,0.01,4,0.01,5,0.005,7,0.076,9,2.499,27,0.313,30,0.001,31,0.675,32,0.173,47,0.925,83,1.566,95,0.127,99,1.1,101,0.018,103,0,104,0,110,1.86,112,0.62,130,3.296,155,1.706,157,2.402,190,1.426,195,1.177,200,1.648,201,3.668,202,1.235,223,1.67,231,2.019,296,3.689,299,4.923,300,4.459,339,1.578,360,3.085,854,4.993,855,3.215,886,1.692,899,2.449,1232,3.113,1749,3.058,1853,1.759,2048,4.24,2392,4.444,2694,5.505,2881,2.566,2887,6.625,3128,2.425,3170,2.512,3533,5.571,3535,5.571,3538,3.142,3541,4.905,3545,2.774,3550,3.007,4018,3.304,4039,3.304,4438,5.417,6350,5.938,6352,6.01,6354,5.938,6356,6.638,6358,6.01,6360,6.01,6408,3.465,6445,6.166,6446,6.166,6447,6.811,6448,6.166,6449,6.166,6450,6.166,6788,6.654,7952,3.51,8022,3.142,9565,6.343,9566,3.611,9568,8.188,9569,6.166,9570,6.166,9571,6.166,9572,3.611,9573,6.166,9574,3.304,9575,3.559,9576,6.166,9577,6.811,9578,3.51,9579,3.51,9580,3.51,9581,3.51,9582,3.611,9583,3.611,9584,3.611,9585,3.611,9586,3.611,9587,3.611,11438,5.378,11439,5.378]],["title/interfaces/FileDO.html",[159,0.714,7153,5.64]],["body/interfaces/FileDO.html",[3,0.013,4,0.018,5,0.007,7,0.1,10,2.845,26,2.629,30,0.001,31,0.693,32,0.168,33,0.443,34,2.114,39,1.968,47,1.011,55,2.212,83,3.209,95,0.111,99,1.455,101,0.017,103,0,104,0,112,0.757,135,0.928,159,1.216,161,1.689,290,1.682,374,3.076,703,2.208,870,6.46,886,3.467,1080,3.34,1154,6.606,1444,6.563,1936,3.339,2032,2.703,2218,3.177,2219,3.576,2220,3.451,2602,4.323,2928,3.255,2980,3.223,3128,3.207,3370,3.192,3419,3.797,3620,5.575,3633,5.108,3885,5.844,3993,4.155,4212,4.155,4541,2.482,5187,5.287,5412,4.08,5729,4.044,5741,4.235,6606,6.563,6607,5.844,7135,5.774,7136,6.586,7137,6.586,7138,5.014,7139,5.602,7140,6.586,7141,5.98,7142,6.586,7143,6.586,7144,6.586,7145,8.068,7146,7.431,7147,7.431,7148,7.431,7149,6.98,7150,4.642,7151,4.642,7152,7.1,7153,7.866,7154,9.32,7155,8.068]],["title/interfaces/FileDomainObjectProps.html",[159,0.714,11440,5.842]],["body/interfaces/FileDomainObjectProps.html",[3,0.018,4,0.018,5,0.009,7,0.136,26,2.893,30,0.001,31,0.745,32,0.166,34,2.272,47,0.907,95,0.135,99,1.982,101,0.013,103,0.001,104,0.001,112,0.924,159,0.996,161,2.3,185,3.319,1882,3.694,3851,4.87,3885,6.279,6607,6.279,7149,7.501,7157,4.597,7159,8.969,9942,5.888,11440,9.948,11441,8.969]],["title/classes/FileDto.html",[0,0.239,7303,5.202]],["body/classes/FileDto.html",[0,0.318,2,0.981,3,0.017,4,0.017,5,0.012,7,0.129,27,0.515,29,0.706,30,0.001,31,0.732,32,0.163,33,0.421,47,0.928,95,0.131,101,0.012,103,0.001,104,0.001,112,0.896,339,3.665,433,1.136,881,5.033,1237,3.383,1302,6.93,1304,5.242,1444,6.93,2183,3.633,2802,3.688,7157,6.383,7192,6.286,7303,10.072,11442,9.218,11443,9.65,11444,9.218,11445,9.218,11446,9.218,11447,9.218,11448,5.664,11449,7.752,11450,7.261,11451,7.484]],["title/classes/FileDto-1.html",[0,0.199,756,2.285,7303,4.325]],["body/classes/FileDto-1.html",[0,0.304,2,0.94,3,0.017,4,0.017,5,0.008,7,0.124,26,2.734,27,0.523,29,0.677,30,0.001,31,0.721,32,0.165,33,0.404,34,2.093,47,0.793,95,0.14,99,1.808,101,0.012,103,0.001,104,0.001,112,0.872,161,2.098,232,3.027,433,1.089,435,3.083,458,3.534,459,4.65,2183,3.481,3851,6.821,3885,5.784,4617,3.964,6607,5.784,6616,5.62,7149,6.909,7157,6.438,7188,6.958,7303,8.366,9942,5.369,11440,10.828,11452,8.833,11453,11.171,11454,8.833,11455,8.833,11456,8.833,11457,6.614,11458,7.749]],["title/classes/FileDtoBuilder.html",[0,0.239,11459,6.433]],["body/classes/FileDtoBuilder.html",[0,0.263,2,0.813,3,0.014,4,0.014,5,0.012,7,0.107,8,1.172,27,0.45,29,0.875,30,0.001,31,0.731,32,0.142,33,0.522,35,1.323,47,0.972,95,0.139,101,0.01,103,0,104,0,135,1.589,148,1.13,153,1.253,339,3.967,467,3.986,507,4.478,711,3.386,871,4.184,1302,7.384,1304,5.782,1444,7.235,2083,5.056,2113,8.75,7157,5.781,7303,10.126,11459,9.415,11460,10.688,11461,7.639,11462,10.167,11463,10.167,11464,10.167,11465,7.639,11466,10.167,11467,7.639,11468,10.167,11469,12.685,11470,7.639,11471,7.074,11472,7.639,11473,7.639,11474,7.639,11475,7.639,11476,7.639,11477,7.074,11478,7.639,11479,6.424]],["title/classes/FileElement.html",[0,0.239,3109,4.316]],["body/classes/FileElement.html",[0,0.218,2,0.674,3,0.012,4,0.012,5,0.006,7,0.089,8,1.031,27,0.536,29,0.97,30,0.001,31,0.709,32,0.164,33,0.579,35,1.522,36,1.892,47,0.946,55,1.795,59,1.967,95,0.102,101,0.014,103,0,104,0,112,0.698,113,3.565,122,2.163,130,3.08,134,2.239,148,1.114,158,2.336,159,0.651,189,5.496,197,1.762,231,1.797,317,2.246,435,3.121,436,3.833,527,2.683,532,3.319,567,3.399,569,3.826,653,2.617,657,1.45,711,2.65,735,4.073,1770,3.62,1773,6.369,1842,4.073,2050,2.671,2635,5.88,3027,7.912,3030,6.306,3031,6.306,3032,6.306,3033,7.35,3034,6.306,3036,3.983,3037,5.437,3038,6.578,3040,6.198,3041,5.437,3042,6.459,3044,4.391,3045,4.775,3047,6.516,3048,4.391,3052,4.391,3054,3.983,3081,5.38,3109,6.996,3533,6.641,3535,6.641,4299,4.551,4300,4.551,4301,4.551,4310,3.938,9589,4.391,9591,5.559,9594,5.329,9596,5.329,11480,10.996,11481,6.337,11482,5.868,11483,6.337,11484,6.337,11485,6.337,11486,5.868,11487,6.337,11488,5.868,11489,8.282,11490,5.868,11491,8.282,11492,5.868,11493,5.868,11494,5.868,11495,5.559,11496,5.868]],["title/classes/FileElementContent.html",[0,0.239,11497,5.842]],["body/classes/FileElementContent.html",[0,0.369,2,0.878,3,0.016,4,0.016,5,0.008,7,0.116,27,0.467,29,0.632,30,0.001,31,0.462,32,0.166,33,0.377,34,2.027,47,0.923,95,0.143,101,0.014,103,0.001,104,0.001,112,0.835,190,1.92,202,1.896,296,3.544,298,3.57,304,4.074,433,1.463,458,3.302,821,4.201,886,2.596,1853,2.699,2108,3.602,2392,4.526,2895,6.869,3020,7.541,3023,7.373,3166,4.406,3167,4.406,3170,3.854,3533,7.67,3535,7.67,3712,5.627,3724,4.867,3972,6.135,3976,5.387,3978,5.387,4019,7.682,4438,6.162,6350,5.187,9624,6.939,11497,11.206,11498,11.625,11499,7.642,11500,7.642,11501,6.939,11502,6.939]],["title/classes/FileElementContentBody.html",[0,0.239,9569,4.535]],["body/classes/FileElementContentBody.html",[0,0.47,2,0.57,3,0.01,4,0.01,5,0.005,7,0.075,9,2.489,27,0.312,30,0.001,31,0.674,32,0.175,47,0.896,83,1.56,95,0.127,99,1.096,101,0.018,103,0,104,0,110,1.852,112,0.619,125,1.275,130,3.292,155,1.699,157,2.397,190,1.422,195,1.172,200,1.641,201,3.66,202,1.23,223,1.663,231,2.086,296,3.688,299,4.918,300,4.453,339,1.571,360,3.073,436,1.587,854,4.979,855,3.206,866,2.66,886,1.685,899,2.439,1232,3.1,1749,3.046,1853,1.752,2048,3.83,2392,4.713,2881,2.556,2887,6.615,3128,2.415,3170,2.502,3533,3.159,3535,3.159,3538,3.129,3541,4.893,3545,2.763,3550,2.995,4018,3.291,4039,3.291,4438,5.407,6350,6.545,6352,5.996,6354,5.924,6356,6.625,6358,5.996,6360,5.996,6408,3.451,6445,6.152,6446,6.152,6447,6.797,6448,6.152,6449,6.152,6450,6.152,6788,6.646,7952,3.496,8022,3.129,9565,5.318,9566,3.597,9568,8.496,9569,6.797,9570,6.152,9571,6.152,9572,3.597,9573,6.152,9574,3.291,9575,3.545,9576,6.152,9577,6.797,9578,3.496,9579,3.496,9580,3.496,9581,3.496,9582,3.597,9583,3.597,9584,3.597,9585,3.597,9586,3.597,9587,3.597,9617,4.108,11503,5.356,11504,5.356]],["title/entities/FileElementNode.html",[205,1.416,3458,5.472]],["body/entities/FileElementNode.html",[0,0.3,3,0.017,4,0.017,5,0.008,7,0.122,27,0.435,30,0.001,32,0.138,47,0.959,95,0.146,96,2.293,101,0.015,103,0.001,104,0.001,112,0.864,134,3.074,135,1.135,148,0.86,159,0.894,190,1.986,205,2.255,206,2.829,223,4.104,224,2.527,231,1.918,232,2.357,457,4.825,1770,4.925,2048,4.944,2108,3.797,2635,5.279,2688,4.905,3419,5.907,3429,6.589,3458,8.715,3501,5.288,3524,9.706,3533,7.551,3535,7.551,3874,6.726,3894,5.345,4401,5.468,4403,5.468,9621,7.315,11501,7.315,11502,7.315,11505,11.266,11506,8.056,11507,9.706,11508,8.056,11509,8.056,11510,8.056]],["title/interfaces/FileElementNodeProps.html",[159,0.714,11507,6.094]],["body/interfaces/FileElementNodeProps.html",[0,0.305,3,0.017,4,0.017,5,0.008,7,0.124,30,0.001,32,0.139,47,0.99,95,0.147,96,2.334,101,0.015,103,0.001,104,0.001,112,0.874,134,3.128,135,1.155,148,0.876,159,0.91,161,2.102,205,2.28,223,3.808,224,2.571,231,2.126,232,2.399,457,4.91,1770,4.965,2048,3.597,2108,3.864,2635,5.338,2688,4.991,3419,5.973,3429,6.663,3458,6.973,3501,5.381,3524,9.815,3533,7.838,3535,7.838,3874,7.456,3894,5.44,4401,5.565,4403,5.565,11501,7.444,11502,7.444,11505,8.198,11507,10.761,11508,8.198,11509,8.198,11510,8.198]],["title/interfaces/FileElementProps.html",[159,0.714,11495,6.094]],["body/interfaces/FileElementProps.html",[0,0.293,3,0.016,4,0.016,5,0.008,7,0.12,30,0.001,32,0.15,36,1.801,47,1,95,0.125,101,0.016,103,0.001,104,0.001,112,0.852,122,1.777,130,2.985,134,3.009,148,1.257,158,3.138,159,0.875,161,2.022,197,2.368,231,2.088,317,1.845,527,3.604,567,4.148,569,2.643,653,3.516,657,1.948,1842,4.97,2050,3.589,3027,6.565,3033,5.558,3037,5.176,3038,6.376,3041,5.176,3042,6.261,3081,7.246,3109,7.484,3533,7.746,3535,7.746,4310,5.291,9589,5.9,11480,7.885,11489,10.106,11490,7.885,11491,10.106,11492,7.885,11493,7.885,11494,7.885,11495,9.574,11496,7.885]],["title/classes/FileElementResponse.html",[0,0.239,4019,4.989]],["body/classes/FileElementResponse.html",[0,0.356,2,0.832,3,0.015,4,0.015,5,0.007,7,0.11,27,0.503,29,0.599,30,0.001,31,0.438,32,0.173,33,0.357,34,2.183,47,0.873,95,0.14,101,0.014,103,0,104,0,112,0.806,190,2.207,202,1.796,296,3.593,298,3.382,304,3.86,433,1.425,458,3.128,821,3.98,886,2.46,1853,2.557,2108,3.412,2392,4.876,2895,7.399,3023,7.182,3165,5.104,3166,5.512,3167,5.512,3169,4.656,3170,4.822,3533,6.817,3535,6.817,3712,5.331,3724,4.611,3972,6.631,3976,5.104,3978,5.104,4019,9.181,4438,6.637,6350,6.49,11497,10.339,11498,12.158,11501,6.574,11502,6.574,11511,7.818,11512,7.24,11513,7.24,11514,7.818,11515,7.24]],["title/classes/FileElementResponseMapper.html",[0,0.239,6382,6.094]],["body/classes/FileElementResponseMapper.html",[0,0.27,2,0.833,3,0.015,4,0.015,5,0.007,7,0.11,8,1.192,27,0.484,29,0.792,30,0.001,31,0.579,32,0.153,33,0.472,34,1.338,35,1.339,95,0.132,100,2.734,101,0.01,103,0,104,0,112,0.807,122,2.157,135,1.022,141,4.433,148,1.145,153,2.018,430,3.208,467,3.825,652,2.359,653,3.234,711,2.321,829,4.62,830,5.733,833,6.36,835,6.008,1237,3.048,1853,2.562,2048,5.525,2139,4.494,2392,2.988,2626,8.478,2629,7.928,2630,7.928,2632,7.741,2895,4.534,3109,8.449,3533,4.62,3535,4.62,3972,5.93,3988,5.523,4019,8.837,4438,4.067,5868,7.189,6350,4.924,6379,6.008,6382,11.752,9630,9.213,9631,6.17,9638,6.17,9639,6.17,9640,6.17,10282,6.872,11497,8.693,11516,12.79,11517,11.57,11518,7.833,11519,7.833]],["title/entities/FileEntity.html",[205,1.416,1019,5.09]],["body/entities/FileEntity.html",[0,0.122,3,0.007,4,0.007,5,0.008,7,0.145,26,2.35,27,0.513,30,0.001,31,0.512,32,0.165,33,0.604,47,0.932,49,4.193,55,1.966,83,2.852,95,0.127,96,1.509,97,1.438,99,0.722,101,0.008,103,0,104,0,112,0.447,122,1.508,125,2.882,129,2.73,130,2.501,135,0.46,148,0.969,153,1.822,159,0.362,185,1.961,190,2.341,195,2.962,196,4.394,197,3.248,205,1.167,206,1.147,211,5.961,223,4.048,224,1.024,225,2.199,231,0.611,232,0.956,233,1.101,335,5.584,411,2.64,430,1.444,431,1.505,460,2.143,461,3.903,462,2.143,463,3.903,478,0.99,540,1.238,569,1.777,579,1.009,620,5.167,652,0.719,711,2.141,756,1.395,813,1.972,870,4.992,886,1.801,1019,4.194,1080,1.216,1821,1.711,1826,4.261,1835,2.933,1882,1.345,2108,1.539,2124,1.869,2183,1.39,2911,4.769,2913,4.111,3620,2.896,3851,2.878,3885,2.702,4598,4.813,4601,3.966,4607,3.857,4608,2.005,4611,2.965,4616,2.965,4617,1.582,4679,2.143,5027,1.795,5162,6.847,5187,2.746,5435,6.847,5670,2.687,5695,1.819,6606,3.175,6609,1.896,6610,5.189,6611,2.532,6612,4.926,6617,2.443,6619,2.532,7184,2.272,7248,6.234,7469,2.965,7720,2.404,8029,2.584,8912,6.992,8963,7.295,11458,3.093,11520,3.265,11521,6.69,11522,6.69,11523,6.377,11524,7.7,11525,7.295,11526,6.093,11527,6.992,11528,7.7,11529,7.7,11530,7.7,11531,3.526,11532,3.526,11533,7.7,11534,3.526,11535,3.526,11536,3.526,11537,3.526,11538,3.526,11539,3.526,11540,3.526,11541,3.526,11542,3.526,11543,7.423,11544,3.526,11545,7.295,11546,3.526,11547,8.376,11548,3.526,11549,3.526,11550,3.526,11551,3.526,11552,5.3,11553,3.526,11554,3.526,11555,3.526,11556,3.526,11557,5.3,11558,3.526,11559,2.486,11560,3.265,11561,2.64,11562,3.265,11563,6.338,11564,5.3,11565,3.265,11566,8.467,11567,3.265,11568,3.265,11569,3.265,11570,2.532,11571,6.69,11572,4.39,11573,5.3,11574,5.3,11575,5.3,11576,3.265,11577,3.265,11578,3.265,11579,4.286,11580,3.265,11581,3.265,11582,3.265,11583,5.865,11584,6.69,11585,3.265,11586,3.265,11587,2.965,11588,5.3,11589,3.265,11590,3.265,11591,3.265,11592,3.265,11593,3.265,11594,3.265,11595,5.3,11596,3.265,11597,5.3,11598,2.704,11599,5.3,11600,3.265,11601,2.584,11602,3.265,11603,3.265,11604,3.265,11605,3.265,11606,2.704,11607,2.777,11608,3.265,11609,3.265,11610,3.265,11611,5.3,11612,3.265]],["title/interfaces/FileEntityProps.html",[159,0.714,11563,6.094]],["body/interfaces/FileEntityProps.html",[0,0.131,3,0.007,4,0.007,5,0.008,7,0.149,26,2.681,30,0.001,31,0.568,32,0.17,33,0.638,47,0.974,49,3.587,55,2.219,83,3.477,95,0.13,96,1.604,97,1.552,99,0.778,101,0.008,103,0,104,0,112,0.475,122,2.22,125,2.939,135,0.496,148,1.003,153,1.813,159,0.391,161,0.903,185,1.303,195,2.771,196,4.234,197,2.818,205,1.24,223,4.011,224,1.105,225,2.337,231,0.659,232,1.031,233,1.187,335,6.381,411,2.848,430,3.559,431,3.71,460,2.312,461,4.148,462,2.312,463,4.148,478,1.068,540,1.336,569,1.889,579,1.089,620,4.724,652,0.775,711,2.253,756,1.504,813,2.127,870,5.534,886,1.914,1019,2.787,1080,1.311,1821,1.845,1826,4.869,1835,1.949,1882,1.451,2108,1.66,2124,2.016,2183,1.499,2911,4.685,2913,2.732,3620,1.924,3851,3.059,3885,4.485,4607,4.06,4608,2.163,4611,3.198,4616,3.198,4617,1.707,4679,2.312,5027,1.936,5162,7.589,5187,2.919,5670,2.856,5695,1.962,6606,5.27,6609,2.045,6610,2.732,6611,2.732,6612,2.593,6617,2.636,6619,2.732,7184,2.45,7248,6.911,8029,2.787,8912,7.991,8963,8.336,11458,3.337,11520,3.522,11521,3.522,11522,3.522,11523,7.288,11524,8.799,11525,8.336,11526,6.963,11527,7.991,11528,8.799,11529,8.799,11530,8.799,11533,9.385,11543,8.228,11545,8.336,11547,8.639,11552,3.522,11557,3.522,11559,2.682,11560,3.522,11561,2.848,11562,3.522,11563,7.622,11564,8.799,11565,3.522,11566,8.799,11567,3.522,11568,3.522,11569,3.522,11570,2.732,11571,7.041,11572,4.666,11573,5.634,11574,5.634,11575,5.634,11576,3.522,11577,3.522,11578,3.522,11579,4.556,11580,3.522,11581,3.522,11582,3.522,11583,6.173,11584,7.041,11585,3.522,11586,3.522,11587,3.198,11588,5.634,11589,3.522,11590,3.522,11591,3.522,11592,3.522,11593,3.522,11594,3.522,11595,5.634,11596,3.522,11597,5.634,11598,2.917,11599,5.634,11600,3.522,11601,2.787,11602,3.522,11603,3.522,11604,3.522,11605,3.522,11606,2.917,11607,2.996,11608,3.522,11609,3.522,11610,3.522,11611,5.634,11612,3.522]],["title/classes/FileMetadata.html",[0,0.239,11613,5.64]],["body/classes/FileMetadata.html",[0,0.31,2,0.43,3,0.008,4,0.008,5,0.004,7,0.057,27,0.354,29,0.489,30,0.001,31,0.583,32,0.112,33,0.185,47,0.942,55,2.723,72,1.851,83,2.852,95,0.103,96,1.066,101,0.012,103,0,104,0,112,0.499,122,2.172,131,3.253,134,2.258,141,4.464,145,3.903,148,0.89,155,1.283,157,0.931,194,1.582,195,2.904,196,4.359,197,1.125,205,1.302,208,2.542,223,4.343,224,1.175,225,2.454,229,1.6,231,0.701,233,1.262,289,2.341,301,2.606,374,3.891,414,4.955,433,0.498,467,1.178,478,1.135,567,1.537,711,1.893,756,4.312,870,5.952,1087,1.87,1195,4.836,1199,6.899,1200,7.512,1201,7.512,1215,5.411,1224,4.589,1237,2.888,1372,2.129,1928,4.681,2163,3.661,2183,1.594,2392,3.02,2547,4.016,2616,4.356,2881,1.93,2884,6.558,2964,4.427,3025,1.941,3370,1.815,3378,3.768,3878,3.186,3924,4.228,5093,4.17,5187,3.799,5198,3.926,5359,5.032,5968,4.589,6119,3.768,6144,4.065,6515,3.102,6516,3.102,6517,3.029,6518,3.102,6519,2.64,6525,3.029,6526,3.102,6538,6.073,6541,2.852,6542,3.102,6558,3.633,6559,2.964,6561,3.102,6569,2.852,6571,3.102,6573,3.102,6575,3.102,6577,3.102,6583,3.102,7004,5.929,7184,2.606,7407,2.905,7514,2.409,9537,2.852,11613,7.303,11614,3.401,11615,6.237,11616,8.361,11617,5.187,11618,6.389,11619,4.045,11620,4.045,11621,5.372,11622,5.372,11623,5.372,11624,3.401,11625,7.303,11626,3.401,11627,5.372,11628,5.372,11629,5.372,11630,3.186,11631,3.401,11632,3.102,11633,5.187,11634,6.659,11635,3.401,11636,6.659,11637,6.602,11638,5.187,11639,4.9,11640,5.372,11641,5.032,11642,5.372,11643,4.589,11644,5.372,11645,5.372,11646,5.187,11647,5.372,11648,5.372,11649,3.186,11650,3.401,11651,3.186,11652,2.758,11653,3.401,11654,3.401,11655,3.401,11656,3.401,11657,3.401,11658,3.401,11659,3.401,11660,3.401,11661,3.401,11662,3.401,11663,3.401,11664,3.401,11665,3.401,11666,3.401,11667,3.401,11668,3.401,11669,3.401,11670,3.401,11671,3.401,11672,3.401,11673,3.401,11674,3.401,11675,3.401,11676,3.401,11677,3.401,11678,3.401,11679,3.401,11680,3.401,11681,3.401,11682,3.401,11683,3.401,11684,3.401,11685,3.401,11686,3.401,11687,3.401,11688,3.401,11689,3.401,11690,3.401,11691,3.401,11692,3.401,11693,3.401,11694,3.401,11695,3.401,11696,3.401,11697,3.401,11698,3.401,11699,3.401,11700,3.401,11701,3.401,11702,3.401,11703,3.401,11704,3.401,11705,3.401,11706,3.401,11707,3.401,11708,3.401,11709,3.401,11710,3.401,11711,3.401,11712,3.401,11713,3.401]],["title/classes/FileParamBuilder.html",[0,0.239,7290,6.094]],["body/classes/FileParamBuilder.html",[0,0.318,2,0.983,3,0.018,4,0.018,5,0.009,7,0.13,8,1.325,26,2.694,27,0.364,29,0.708,30,0.001,31,0.517,32,0.115,33,0.422,35,1.069,95,0.143,99,1.891,101,0.012,103,0.001,104,0.001,135,1.499,148,0.914,161,2.194,467,3.642,507,5.062,3620,6.328,3851,6.767,3885,4.361,4541,4.01,5187,4.433,6607,5.424,7157,5.454,7261,8.556,7263,10.602,7264,8.556,7290,10.081,11714,10.641,11715,11.491,11716,12.118,11717,7.77,11718,9.24,11719,9.24,11720,9.24]],["title/classes/FileParams.html",[0,0.239,7214,4.814]],["body/classes/FileParams.html",[0,0.472,2,0.702,3,0.013,4,0.017,5,0.011,7,0.093,26,2.57,27,0.26,30,0.001,32,0.15,39,1.826,47,0.987,95,0.146,99,1.35,101,0.018,103,0,104,0,110,2.281,112,0.718,122,1.92,157,1.519,159,0.678,190,1.184,195,1.444,199,5.103,200,2.021,201,4.451,202,1.516,203,6.178,205,1.345,296,3.702,298,2.854,299,4.865,300,4.387,403,4.655,855,5.053,856,6.357,866,3.277,886,3.333,899,3.004,1078,2.893,1080,2.274,1169,3.819,1237,1.945,1290,5.927,1291,4.366,1292,4.366,2980,4.8,3170,4.948,3885,3.114,4541,2.302,5213,6.659,6607,3.114,6788,6.483,7149,6.462,7151,4.307,7152,7.765,7157,4.366,7171,6.089,7201,4.572,7202,4.652,7203,4.652,7208,4.572,7209,8.262,7210,8.081,7211,8.081,7212,4.652,7213,4.572,7214,6.376,7215,4.652,7216,4.498,7217,6.273,7218,4.43,7219,4.498,7220,4.572,7221,4.498,7222,4.25,7223,4.652,7224,4.652,7225,4.652,7226,4.25,7227,4.25,7228,4.366,7229,4.498,7230,4.652,11721,6.597,11722,6.597]],["title/classes/FilePermissionEntity.html",[0,0.239,11543,5.64]],["body/classes/FilePermissionEntity.html",[0,0.246,2,0.759,3,0.014,4,0.014,5,0.007,7,0.1,10,4.741,26,1.999,27,0.515,29,0.547,30,0.001,31,0.4,32,0.138,33,0.326,49,4.167,95,0.135,96,2.561,97,2.912,99,1.461,101,0.013,103,0,104,0,112,0.758,122,2.473,125,2.82,129,3.538,130,3.241,153,1.171,159,0.734,190,2.296,195,2.914,196,3.213,197,3.295,211,3.958,223,4.239,224,2.073,232,2.632,433,0.88,435,2.491,734,4.974,886,3.056,1783,7.281,1784,7.957,1882,2.722,2685,4.945,7469,6.002,11543,7.885,11723,11.197,11724,6.609,11725,10.396,11726,10.973,11727,10.396,11728,9.712,11729,7.137,11730,7.137,11731,7.137,11732,10.973,11733,7.137,11734,7.137,11735,6.609,11736,6.609,11737,6.609,11738,6.609,11739,8.52,11740,6.261,11741,8.52,11742,6.261,11743,8.52,11744,6.261,11745,8.52,11746,6.261]],["title/interfaces/FilePermissionEntityProps.html",[159,0.714,11727,6.094]],["body/interfaces/FilePermissionEntityProps.html",[0,0.262,3,0.014,4,0.014,5,0.007,7,0.107,10,5.069,26,2.504,30,0.001,32,0.162,33,0.618,49,3.828,95,0.139,96,2.674,97,3.105,99,1.557,101,0.013,103,0,104,0,112,0.792,122,2.927,125,2.895,153,1.248,159,0.782,161,1.807,195,2.662,196,3.355,197,2.82,223,4.045,224,2.211,232,2.062,734,5.318,886,3.191,1783,7.785,1784,8.507,1882,2.903,2685,5.163,11543,6.179,11723,6.4,11724,7.047,11725,11.115,11726,11.732,11727,10.006,11732,11.732,11735,7.047,11736,7.047,11737,7.047,11738,7.047,11739,8.897,11740,6.677,11741,8.897,11742,6.677,11743,8.897,11744,6.677,11745,8.897,11746,6.677]],["title/entities/FileRecord.html",[205,1.416,7176,4.223]],["body/entities/FileRecord.html",[0,0.276,3,0.006,4,0.006,5,0.006,7,0.141,26,2.452,27,0.44,30,0.001,31,0.588,32,0.143,33,0.366,34,0.93,39,0.918,47,0.871,49,4.102,55,1.39,83,2.927,95,0.124,96,1.435,97,1.353,99,0.679,101,0.013,103,0,104,0,112,0.541,122,2.097,125,2.392,135,1.554,141,2.335,145,1.243,148,1.3,153,1.88,157,0.763,159,0.712,185,2.747,190,2.009,195,2.199,196,2.928,197,1.514,205,2.139,206,1.078,223,3.854,224,0.963,225,2.091,229,1.312,231,0.575,232,1.475,233,1.035,277,0.476,290,0.784,402,2.478,412,2.409,414,2.754,430,1.358,431,1.416,478,0.931,540,2.432,556,1.678,569,2.489,579,0.949,615,3.309,620,4.303,703,2.15,711,3.755,756,1.312,794,3.989,802,3.603,870,5.195,886,3.163,1078,2.387,1080,2.388,1084,2.261,1154,3.712,1309,3.91,1444,5.277,1829,2.314,1924,3.773,1936,1.557,2032,1.26,2126,1.937,2127,3.712,2183,3.159,2512,3.096,2685,2.772,2769,2.972,2911,3.706,2922,1.92,2928,1.518,3128,1.496,3370,1.488,3419,1.771,3620,2.754,3633,2.382,3885,4.744,3993,1.937,4169,4.077,4541,3.508,4551,2.543,4553,2.11,4601,2.298,4607,2.907,4617,1.488,4618,1.956,5412,1.902,5435,5.186,5729,1.886,5741,1.975,6606,3.841,6607,5.13,6609,2.928,6610,4.974,6611,2.382,6612,5.466,6613,2.382,6614,5.874,6615,2.483,6616,2.11,6617,2.298,6619,2.382,6621,2.483,7145,5.466,7146,4.175,7147,4.175,7148,4.175,7149,4.991,7150,2.165,7155,5.466,7157,5.44,7176,4.873,7177,3.91,7184,2.137,7192,2.261,7195,5.075,7491,2.038,7708,2.382,7709,3.773,9180,2.338,11457,2.483,11526,5.075,11559,2.338,11572,2.543,11598,4.175,11601,2.43,11606,2.543,11747,2.692,11748,4.288,11749,6.314,11750,5.623,11751,3.316,11752,7.187,11753,3.316,11754,3.071,11755,3.316,11756,3.316,11757,3.071,11758,3.071,11759,3.316,11760,3.316,11761,3.316,11762,3.071,11763,3.316,11764,6.629,11765,3.316,11766,3.316,11767,2.612,11768,2.43,11769,4.42,11770,4.42,11771,4.42,11772,4.42,11773,4.42,11774,4.42,11775,4.288,11776,5.466,11777,4.42,11778,2.543,11779,4.077,11780,2.483,11781,4.175,11782,2.543,11783,4.175,11784,5.455,11785,2.382,11786,2.612,11787,2.43,11788,2.43,11789,2.692,11790,2.692,11791,2.483,11792,2.612,11793,2.692,11794,2.692,11795,2.692,11796,2.692,11797,2.692,11798,2.692,11799,2.692,11800,2.692,11801,7.724,11802,2.692,11803,2.692,11804,4.42,11805,2.692,11806,2.692,11807,4.42,11808,4.42,11809,4.42,11810,2.692,11811,2.692,11812,2.692,11813,2.692,11814,2.692,11815,2.692,11816,2.692,11817,4.42,11818,5.623,11819,2.612,11820,2.692,11821,4.42,11822,2.612,11823,2.692,11824,4.42,11825,2.692,11826,5.623,11827,5.623,11828,2.612,11829,5.455,11830,2.692,11831,2.692,11832,2.692,11833,2.692,11834,2.692,11835,2.692,11836,2.692,11837,2.612,11838,2.692,11839,2.692,11840,2.692,11841,2.692,11842,2.692,11843,2.692,11844,2.692,11845,2.692,11846,2.692]],["title/classes/FileRecordFactory.html",[0,0.239,11847,6.433]],["body/classes/FileRecordFactory.html",[0,0.168,2,0.518,3,0.009,4,0.009,5,0.007,7,0.068,8,0.85,27,0.519,29,1.011,30,0.001,31,0.713,32,0.167,33,0.573,34,1.52,35,1.423,47,0.523,49,1.838,55,2.341,59,3.312,95,0.122,101,0.006,103,0,104,0,112,0.576,113,4.475,127,4.962,129,3.586,130,3.285,135,1.161,148,0.729,153,1.75,157,2.049,172,3.135,185,2.527,192,2.679,205,2.175,206,2.398,228,1.336,231,1.278,326,4.842,374,3.19,433,0.6,436,3.871,467,2.147,501,7.27,502,5.507,505,4.09,506,5.507,507,5.416,508,4.09,509,4.09,510,4.09,511,4.026,512,4.532,513,4.937,514,6.508,515,5.825,516,7.057,517,2.722,522,2.7,523,4.09,524,2.722,525,5.191,526,5.341,527,4.203,528,5.024,529,4.058,530,2.7,531,2.545,532,4.165,533,2.6,534,2.545,535,2.7,536,2.722,537,4.86,538,2.7,539,7.162,540,4.218,541,6.662,542,2.722,543,4.319,544,2.7,545,2.722,546,2.7,547,2.722,548,2.7,549,3.025,550,2.844,551,2.7,552,6.13,553,2.722,554,2.7,555,4.09,556,3.731,557,4.09,558,2.722,559,2.619,560,2.581,561,2.185,562,2.7,563,2.7,564,2.7,565,2.722,566,2.722,567,1.851,568,2.7,569,1.512,570,2.722,571,2.917,572,2.7,573,2.722,574,2.745,575,2.793,576,2.871,577,2.9,870,2.658,1078,2.135,1304,2.769,1317,3.061,1444,2.7,3885,2.298,4463,5.531,4541,1.699,6606,2.7,6607,2.298,7149,2.745,7155,3.32,7176,2.96,7710,3.953,7992,4.271,9942,2.96,11477,4.509,11526,3.568,11764,5.522,11783,3.734,11847,8.243,11848,4.869,11849,9.93,11850,4.869,11851,4.271,11852,6.47,11853,4.509,11854,4.869,11855,4.869,11856,4.869]],["title/classes/FileRecordListResponse.html",[0,0.239,7200,5.202]],["body/classes/FileRecordListResponse.html",[0,0.38,2,0.645,3,0.011,4,0.011,5,0.006,7,0.085,27,0.459,29,0.464,30,0.001,31,0.566,32,0.164,33,0.534,34,1.48,47,0.924,55,2.826,56,6.035,59,2.69,70,6.509,83,1.764,95,0.126,101,0.014,103,0,104,0,110,2.095,112,0.677,125,1.442,190,1.981,201,3.927,202,1.392,205,1.235,231,1.753,296,3.607,298,2.621,339,3.668,433,0.747,436,3.27,458,3.466,862,7.944,863,6.879,864,6.331,866,3.01,868,4.852,869,2.974,870,4.73,871,2.218,872,4.272,873,5.512,874,5.061,875,4.01,876,3.146,877,4.272,878,4.272,880,5.512,881,4.73,886,3.182,1315,4.919,1319,4.773,1444,3.361,2183,3.414,3023,6.284,3170,4.723,3885,2.86,5187,2.907,6606,3.361,6607,2.86,6616,3.855,7138,4.272,7145,6.895,7149,6.222,7154,4.773,7155,4.132,7157,4.112,7166,4.919,7167,4.919,7168,4.919,7169,4.919,7170,4.773,7171,5.734,7172,5.096,7173,9.196,7176,5.267,7177,8.385,7178,9.362,7179,5.096,7180,4.919,7181,5.096,7182,3.283,7183,5.096,7184,3.904,7185,5.096,7186,5.096,7187,5.096,7188,4.773,7189,4.919,7190,5.096,7191,5.096,7192,4.132,7193,4.919,7194,4.919,7195,4.44,7196,5.096,7197,5.096,7198,4.919,7199,5.096,7200,6.488,11857,6.059,11858,6.059]],["title/classes/FileRecordMapper.html",[0,0.239,11859,6.433]],["body/classes/FileRecordMapper.html",[0,0.251,2,0.774,3,0.014,4,0.014,5,0.007,7,0.102,8,1.135,27,0.439,29,0.854,30,0.001,31,0.625,32,0.139,33,0.51,35,1.291,55,2.721,56,5.639,59,3.056,70,6.083,95,0.112,101,0.01,103,0,104,0,125,1.732,135,1.558,141,3.121,148,1.103,153,1.829,205,1.484,402,2.605,467,3.947,837,3.594,863,6.574,871,3.604,1290,6.342,4879,5.132,7145,4.963,7157,5.67,7176,8.131,7178,9.346,7200,8.351,7218,8.381,11460,10.481,11776,4.963,11785,7.07,11819,5.734,11822,7.753,11828,5.734,11859,9.115,11860,7.279,11861,9.843,11862,10.327,11863,9.115,11864,9.843,11865,7.279,11866,10.046,11867,6.741,11868,7.279,11869,9.115,11870,7.279,11871,6.741,11872,6.741,11873,6.386,11874,7.279,11875,6.741,11876,9.843,11877,11.152,11878,11.152,11879,7.279,11880,7.279,11881,7.279,11882,11.152,11883,7.279]],["title/classes/FileRecordParams.html",[0,0.239,7152,4.476]],["body/classes/FileRecordParams.html",[0,0.469,2,0.675,3,0.012,4,0.017,5,0.008,7,0.089,26,2.663,27,0.408,30,0.001,32,0.158,39,1.757,47,0.966,95,0.145,99,1.299,101,0.018,103,0,104,0,110,2.195,112,0.699,122,1.868,157,1.461,159,0.652,190,1.863,195,1.389,199,4.966,200,1.945,201,4.376,202,1.458,203,6.012,205,1.294,296,3.685,298,2.746,299,4.806,300,4.313,403,3.211,855,4.991,856,6.25,886,3.264,899,2.89,1078,2.783,1080,2.188,1169,3.674,1237,1.871,1290,5.769,1291,4.201,1292,4.201,2980,4.701,3169,3.78,3170,5.263,3885,4.897,4541,3.62,5213,6.521,6330,6.205,6607,4.897,6788,6.39,7149,6.952,7151,4.143,7152,7.944,7157,5.347,7171,7.457,7201,4.398,7202,4.475,7203,4.475,7208,4.398,7209,8.16,7210,7.944,7211,7.944,7212,4.475,7213,4.398,7214,4.398,7215,4.475,7216,4.328,7217,6.105,7218,4.262,7219,4.328,7220,4.398,7221,4.328,7222,4.089,7223,4.475,7224,4.475,7225,4.475,7226,4.089,7227,4.089,7228,4.201,7229,4.328,7230,4.475,11884,6.347,11885,6.347,11886,6.347,11887,6.347]],["title/interfaces/FileRecordProperties.html",[159,0.714,11783,5.328]],["body/interfaces/FileRecordProperties.html",[0,0.25,3,0.007,4,0.007,5,0.005,7,0.145,26,2.704,30,0.001,31,0.623,32,0.142,33,0.381,34,0.982,39,0.981,47,0.904,49,3.46,55,1.674,83,3.136,95,0.127,96,1.516,97,1.446,99,0.725,101,0.014,103,0,104,0,112,0.566,122,2.158,125,2.461,135,1.582,141,2.465,145,1.329,148,1.315,153,1.919,159,0.745,161,0.842,185,1.97,195,1.825,196,2.399,197,0.986,205,1.869,223,3.765,224,1.03,225,2.208,229,1.402,231,0.614,232,1.558,233,1.106,277,0.509,290,0.838,402,2.595,412,1.569,414,2.908,430,1.452,431,1.513,478,0.995,540,2.546,556,1.793,569,2.59,579,1.015,615,2.155,620,4.505,703,1.785,711,3.807,756,1.402,794,2.597,802,2.346,870,5.645,886,3.253,1078,1.554,1080,2.5,1084,2.417,1154,3.919,1309,4.129,1444,5.735,1829,2.444,1924,2.456,1936,1.664,2032,1.347,2126,2.071,2127,3.919,2183,3.287,2512,2.016,2685,2.927,2769,1.935,2911,3.856,2922,2.052,2928,1.622,3128,1.599,3370,1.591,3419,1.893,3620,1.793,3633,2.546,3885,5.398,3993,2.071,4169,2.654,4541,3.991,4551,2.719,4553,2.255,4607,3.069,4617,1.591,4618,2.09,5412,2.033,5729,2.016,5741,2.111,6606,5.445,6607,5.398,6609,1.906,6610,2.546,6611,2.546,6612,3.919,6613,2.546,6614,4.212,6615,2.654,6616,2.255,6617,2.456,6619,2.546,6621,2.654,7145,5.687,7146,4.409,7147,4.409,7148,4.409,7149,5.535,7150,2.314,7155,6.251,7157,1.682,7176,4.408,7177,4.129,7184,2.284,7192,2.417,7195,5.313,7491,2.178,7708,2.546,7709,3.983,9180,2.499,11457,2.654,11526,2.597,11559,2.499,11572,2.719,11598,4.409,11601,2.597,11606,2.719,11747,2.878,11748,2.792,11749,4.528,11750,2.878,11752,8.394,11764,6.246,11767,2.792,11768,2.597,11769,4.667,11770,4.667,11771,4.667,11772,4.667,11773,4.667,11774,4.667,11775,4.528,11776,5.687,11777,4.667,11778,2.719,11779,4.304,11780,2.654,11781,4.409,11782,2.719,11783,5.561,11784,5.711,11785,2.546,11786,2.792,11787,2.597,11788,2.597,11789,2.878,11790,2.878,11791,2.654,11792,2.792,11793,2.878,11794,2.878,11795,2.878,11796,2.878,11797,2.878,11798,2.878,11799,2.878,11800,2.878,11801,7.97,11802,2.878,11803,2.878,11804,4.667,11805,2.878,11806,2.878,11807,4.667,11808,4.667,11809,4.667,11810,2.878,11811,2.878,11812,2.878,11813,2.878,11814,2.878,11815,2.878,11816,2.878,11817,4.667,11818,5.887,11819,2.792,11820,2.878,11821,4.667,11822,2.792,11823,2.878,11824,4.667,11825,2.878,11826,5.887,11827,5.887,11828,2.792,11829,5.711,11830,2.878,11831,2.878,11832,2.878,11833,2.878,11834,2.878,11835,2.878,11836,2.878,11837,2.792,11838,2.878,11839,2.878,11840,2.878,11841,2.878,11842,2.878,11843,2.878,11844,2.878,11845,2.878,11846,2.878]],["title/injectables/FileRecordRepo.html",[589,0.926,11888,6.094]],["body/injectables/FileRecordRepo.html",[0,0.157,3,0.009,4,0.009,5,0.004,7,0.064,8,0.807,10,2.801,12,3.158,18,3.542,26,2.85,27,0.507,29,0.974,30,0.001,31,0.712,32,0.158,33,0.581,34,1.637,35,1.472,36,2.862,40,2.195,47,0.606,49,2.643,56,2.147,58,2.969,59,2.976,95,0.125,98,2.737,99,0.931,101,0.006,103,0,104,0,135,1.729,141,4.687,148,1.193,153,1.793,176,2.301,205,1.427,206,2.277,231,1.214,277,0.653,279,1.901,317,3.054,430,1.863,436,2.841,532,4.649,540,4.655,589,0.933,591,1.083,595,1.717,652,2.228,657,2.69,728,6.591,734,2.939,735,3.188,736,4.214,759,2.709,760,2.765,761,2.737,762,2.765,763,3.152,764,2.737,765,2.765,766,2.447,770,2.859,788,3.102,790,3.102,1626,2.523,1920,3.011,2231,3.982,2511,2.709,2907,4.016,3885,5.375,4541,3.345,5091,2.429,6229,5.023,6835,4.852,7157,5.843,7176,7.616,7580,2.737,7866,7.912,7895,3.333,7896,3.333,7938,3.489,11785,5.029,11888,6.142,11889,4.549,11890,8.536,11891,7.001,11892,8.536,11893,8.536,11894,7.001,11895,6.484,11896,7.001,11897,7.001,11898,4.549,11899,9.99,11900,4.549,11901,7.001,11902,4.549,11903,4.549,11904,4.549,11905,4.549,11906,4.549,11907,7.001,11908,4.549,11909,6.484,11910,4.549,11911,7.001,11912,4.549,11913,7.001,11914,4.549,11915,4.549,11916,4.549,11917,8.536,11918,4.549,11919,4.549,11920,8.536,11921,4.549,11922,4.549,11923,4.549,11924,4.549,11925,4.549,11926,4.549,11927,4.549]],["title/classes/FileRecordResponse.html",[0,0.239,7178,5.202]],["body/classes/FileRecordResponse.html",[0,0.366,2,0.593,3,0.011,4,0.011,5,0.005,7,0.078,27,0.523,29,0.427,30,0.001,31,0.632,32,0.169,33,0.441,34,1.812,47,0.967,55,2.508,56,5.009,70,5.403,83,2.374,95,0.121,101,0.014,103,0,104,0,110,3.335,112,0.637,190,2.358,201,4.121,202,1.28,205,1.136,231,1.413,296,3.668,298,2.41,339,3.113,433,0.687,458,3.262,862,5.992,863,4.487,864,5.532,870,5.265,880,5.187,881,4.452,886,3.034,1315,4.523,1319,4.389,1444,5.348,2183,3.213,3020,3.928,3023,5.992,3169,5.743,3170,5.511,3885,4.552,5187,2.673,6606,5.348,6607,4.552,6616,3.545,7138,3.928,7145,7.7,7149,6.872,7154,7.596,7155,6.575,7157,6.365,7166,4.523,7167,4.523,7168,4.523,7169,4.523,7170,4.389,7171,8.877,7172,4.685,7173,8.896,7176,6.865,7177,9.306,7178,8.457,7179,6.856,7180,4.523,7181,4.685,7182,3.019,7183,4.685,7184,3.59,7185,4.685,7186,4.685,7187,4.685,7188,4.389,7189,4.523,7190,4.685,7191,4.685,7192,3.799,7193,4.523,7194,4.523,7195,4.083,7196,4.685,7197,4.685,7198,4.523,7199,6.856,7200,4.172,11928,5.572,11929,5.572,11930,5.572,11931,5.572,11932,5.572,11933,5.572,11934,5.572,11935,5.572,11936,5.572,11937,5.572,11938,5.572,11939,5.572]],["title/classes/FileRecordScope.html",[0,0.239,11899,6.094]],["body/classes/FileRecordScope.html",[0,0.22,2,0.678,3,0.012,4,0.012,5,0.006,7,0.09,8,1.036,26,2.748,27,0.525,29,0.972,30,0.001,31,0.711,32,0.164,33,0.58,34,1.089,35,1.469,47,0.738,49,2.407,95,0.129,96,1.681,97,2.602,99,1.305,101,0.008,103,0,104,0,112,0.702,122,2.17,129,2.683,130,2.457,135,0.832,142,3.268,148,1.177,153,1.474,176,4.545,195,1.966,205,1.3,231,1.557,279,2.666,365,3.994,436,3.527,569,1.98,652,2.517,1309,4.58,2474,6.194,3885,3.01,4541,2.226,4818,5.177,6229,5.373,6612,4.348,6614,4.673,6618,5.363,6947,6.033,6948,6.033,6949,6.033,6954,6.033,6955,6.033,6956,4.348,6957,4.282,6958,4.348,6959,4.348,6968,4.282,6969,6.033,6970,4.348,6971,4.282,6972,4.348,6973,4.282,6974,7.582,7155,6.126,7157,5.86,7176,3.877,7217,6.126,9452,5.023,11526,4.673,11899,11.953,11940,12.349,11941,8.984,11942,8.984,11943,8.984,11944,7.882,11945,8.984,11946,8.984,11947,6.377,11948,8.984,11949,5.905,11950,8.984,11951,8.984,11952,5.905,11953,7.882,11954,6.377,11955,8.984,11956,5.905,11957,5.595,11958,5.905]],["title/classes/FileRecordSecurityCheck.html",[0,0.239,11764,5.202]],["body/classes/FileRecordSecurityCheck.html",[0,0.247,2,0.371,3,0.007,4,0.007,5,0.005,7,0.144,26,2.485,27,0.383,29,0.267,30,0.001,31,0.575,32,0.113,33,0.328,34,0.969,39,0.965,47,0.881,49,3.431,55,1.138,83,3.116,95,0.126,96,1.495,97,1.422,99,0.713,101,0.013,103,0,104,0,112,0.56,122,2.143,125,2.444,129,2.714,130,2.486,135,1.575,141,2.432,145,1.307,148,1.311,153,1.981,159,0.737,185,1.943,190,1.632,195,1.807,196,2.371,197,0.969,205,1.853,223,3.939,224,1.013,225,2.179,229,1.379,231,0.604,232,1.943,233,1.088,277,0.501,290,0.824,402,3.253,412,1.543,414,2.869,430,2.936,431,3.061,433,0.43,435,1.217,478,0.979,540,2.517,556,1.764,569,2.564,579,0.998,615,2.119,620,5.132,703,1.761,711,3.795,756,1.379,794,2.554,802,2.307,870,4.51,886,3.367,1078,1.529,1080,2.471,1084,2.377,1154,3.867,1309,5.932,1444,4.581,1829,2.411,1924,2.416,1936,1.637,2032,1.325,2126,2.037,2127,3.867,2183,3.255,2512,1.982,2685,2.887,2769,1.903,2911,3.818,2922,2.018,2928,1.595,3128,1.572,3370,1.565,3419,1.861,3620,1.764,3633,2.504,3885,4.847,3993,2.037,4169,2.611,4541,3.583,4551,2.674,4553,2.218,4607,3.028,4617,1.565,4618,2.056,5412,2,5729,1.982,5741,2.076,6606,3.976,6607,4.847,6609,1.875,6610,2.504,6611,2.504,6612,3.867,6613,2.504,6614,4.155,6615,2.611,6616,2.218,6617,2.416,6619,2.504,6621,2.611,7145,6.197,7146,4.349,7147,4.349,7148,4.349,7149,4.657,7150,2.276,7155,3.867,7157,4.873,7176,4.358,7177,4.073,7184,2.246,7192,2.377,7195,5.253,7491,2.142,7708,2.504,7709,3.93,9180,2.458,11457,2.611,11526,2.554,11559,2.458,11572,2.674,11598,4.349,11601,2.554,11606,2.674,11747,2.83,11748,2.746,11749,4.467,11750,2.83,11752,6.706,11764,6.806,11767,2.746,11768,2.554,11769,4.604,11770,4.604,11771,4.604,11772,4.604,11773,4.604,11774,4.604,11775,6.506,11776,6.642,11777,5.82,11778,4.349,11779,4.247,11780,2.611,11781,4.349,11782,2.674,11783,4.349,11784,5.647,11785,2.504,11786,2.746,11787,2.554,11788,2.554,11789,2.83,11790,2.83,11791,2.611,11792,2.746,11793,2.83,11794,2.83,11795,2.83,11796,2.83,11797,2.83,11798,2.83,11799,2.83,11800,2.83,11801,7.909,11802,2.83,11803,2.83,11804,4.604,11805,2.83,11806,2.83,11807,4.604,11808,4.604,11809,4.604,11810,2.83,11811,2.83,11812,2.83,11813,2.83,11814,2.83,11815,2.83,11816,2.83,11817,4.604,11818,5.82,11819,2.746,11820,2.83,11821,4.604,11822,2.746,11823,2.83,11824,4.604,11825,2.83,11826,5.82,11827,5.82,11828,2.746,11829,5.647,11830,2.83,11831,2.83,11832,2.83,11833,2.83,11834,2.83,11835,2.83,11836,2.83,11837,2.746,11838,2.83,11839,2.83,11840,2.83,11841,2.83,11842,2.83,11843,2.83,11844,2.83,11845,2.83,11846,2.83,11959,5.671,11960,3.486,11961,3.486,11962,3.486,11963,3.486]],["title/interfaces/FileRecordSecurityCheckProperties.html",[159,0.714,11775,5.472]],["body/interfaces/FileRecordSecurityCheckProperties.html",[0,0.256,3,0.007,4,0.007,5,0.005,7,0.147,26,2.52,30,0.001,31,0.559,32,0.106,33,0.456,34,1.011,39,1.017,47,0.911,49,3.525,55,1.188,83,2.906,95,0.129,96,1.56,97,1.499,99,0.752,101,0.014,103,0,104,0,112,0.58,122,2.19,125,2.498,135,1.597,141,2.538,145,1.377,148,1.323,153,1.94,159,0.764,161,0.873,185,2.028,195,1.864,196,2.458,197,1.022,205,1.904,223,3.801,224,1.067,225,2.273,229,1.453,231,0.637,232,1.604,233,1.147,277,0.528,290,0.869,402,3.571,412,1.626,414,2.994,430,1.505,431,1.569,478,1.032,540,2.609,556,1.859,569,2.645,579,1.052,615,2.234,620,4.617,703,1.837,711,3.835,756,1.453,794,2.692,802,2.432,870,4.651,886,3.302,1078,1.611,1080,2.561,1084,2.505,1154,4.035,1309,6.707,1444,4.724,1829,2.516,1924,2.546,1936,1.725,2032,1.397,2126,2.147,2127,4.035,2183,3.357,2512,2.089,2685,3.013,2769,2.006,2911,3.938,2922,2.127,2928,1.682,3128,1.657,3370,1.649,3419,1.962,3620,1.859,3633,2.639,3885,4.954,3993,2.147,4169,2.751,4541,3.662,4551,2.818,4553,2.338,4607,3.16,4617,1.649,4618,2.167,5412,2.108,5729,2.089,5741,2.188,6606,4.121,6607,4.954,6609,1.976,6610,2.639,6611,2.639,6612,4.035,6613,2.639,6614,4.336,6615,2.751,6616,2.338,6617,2.546,6619,2.639,6621,2.751,7145,6.805,7146,4.539,7147,4.539,7148,4.539,7149,4.803,7150,2.399,7155,4.035,7157,1.744,7176,4.516,7177,4.25,7184,2.367,7192,2.505,7195,5.444,7491,2.258,7708,2.639,7709,4.101,9180,2.591,11457,2.751,11526,2.692,11559,2.591,11572,2.818,11598,4.539,11601,2.692,11606,2.818,11747,2.983,11748,2.894,11749,4.661,11750,2.983,11752,6.915,11764,6.379,11767,2.894,11768,2.692,11769,4.804,11770,4.804,11771,4.804,11772,4.804,11773,4.804,11774,4.804,11775,5.852,11776,7.155,11777,4.804,11778,2.818,11779,4.431,11780,2.751,11781,4.539,11782,2.818,11783,4.539,11784,5.852,11785,2.639,11786,2.894,11787,2.692,11788,2.692,11789,2.983,11790,2.983,11791,2.751,11792,2.894,11793,2.983,11794,2.983,11795,2.983,11796,2.983,11797,2.983,11798,2.983,11799,2.983,11800,2.983,11801,8.102,11802,2.983,11803,2.983,11804,4.804,11805,2.983,11806,2.983,11807,4.804,11808,4.804,11809,4.804,11810,2.983,11811,2.983,11812,2.983,11813,2.983,11814,2.983,11815,2.983,11816,2.983,11817,4.804,11818,6.032,11819,2.894,11820,2.983,11821,4.804,11822,2.894,11823,2.983,11824,4.804,11825,2.983,11826,6.032,11827,6.032,11828,2.894,11829,5.852,11830,2.983,11831,2.983,11832,2.983,11833,2.983,11834,2.983,11835,2.983,11836,2.983,11837,2.894,11838,2.983,11839,2.983,11840,2.983,11841,2.983,11842,2.983,11843,2.983,11844,2.983,11845,2.983,11846,2.983]],["title/interfaces/FileRequestInfo.html",[159,0.714,7263,5.472]],["body/interfaces/FileRequestInfo.html",[3,0.019,4,0.019,5,0.009,7,0.139,26,2.907,30,0.001,32,0.161,95,0.137,99,2.031,101,0.013,103,0.001,104,0.001,112,0.938,159,1.02,161,2.357,193,4.313,3851,4.99,3885,6.332,4541,4.681,6607,6.332,7149,7.563,7157,4.71,7263,9.458,7271,8.707,9942,6.033,11441,9.191]],["title/classes/FileResponseBuilder.html",[0,0.239,11964,6.094]],["body/classes/FileResponseBuilder.html",[0,0.329,2,1.016,3,0.018,4,0.018,5,0.012,7,0.134,8,1.352,27,0.376,29,0.731,30,0.001,31,0.761,32,0.119,33,0.436,35,1.105,47,0.901,95,0.134,101,0.013,103,0.001,104,0.001,135,1.245,148,0.944,159,0.981,339,2.801,467,3.696,507,5.165,711,2.829,2802,3.82,7157,5.565,7237,8.376,7251,9.333,9389,8.841,11448,5.867,11450,7.52,11460,10.288,11964,10.288,11965,11.726,11966,8.4,11967,10.288]],["title/classes/FileSecurityCheckEntity.html",[0,0.239,11547,5.64]],["body/classes/FileSecurityCheckEntity.html",[0,0.256,2,0.79,3,0.014,4,0.014,5,0.007,7,0.104,27,0.509,29,0.569,30,0.001,31,0.416,32,0.15,33,0.515,47,0.892,83,3.507,95,0.129,96,1.958,101,0.013,103,0,104,0,112,0.779,125,2.682,129,3.752,130,3.437,153,1.976,159,0.764,190,2.256,223,4.226,224,2.157,232,2.704,402,4.311,430,4.615,431,4.811,433,0.915,435,2.592,620,7.485,886,3.545,1309,8.651,1882,2.833,2126,4.339,2127,6.803,2685,5.08,11547,8.1,11559,5.237,11561,9.899,11723,11.117,11776,8.213,11778,7.652,11779,7.472,11780,5.562,11781,7.652,11782,5.696,11968,6.878,11969,10.567,11970,9.977,11971,7.427,11972,7.427,11973,7.427,11974,11.154,11975,9.239,11976,7.427]],["title/interfaces/FileSecurityCheckEntityProps.html",[159,0.714,11969,6.094]],["body/interfaces/FileSecurityCheckEntityProps.html",[0,0.291,3,0.016,4,0.016,5,0.008,7,0.119,30,0.001,32,0.149,33,0.613,47,0.968,83,3.161,95,0.137,96,2.226,101,0.014,103,0.001,104,0.001,112,0.848,125,2.855,153,1.78,159,0.868,161,2.005,223,4.067,224,2.452,232,2.288,402,4.688,430,3.458,431,3.605,620,7.454,886,3.415,1309,9.408,1882,3.22,2126,4.932,2127,7.401,2685,5.526,11547,6.854,11559,5.953,11561,6.322,11723,7.1,11776,8.932,11778,6.475,11779,8.128,11780,6.322,11781,8.325,11782,6.475,11968,7.818,11969,10.525,11974,12.13,11975,7.818]],["title/controllers/FileSecurityController.html",[314,2.659,11977,6.094]],["body/controllers/FileSecurityController.html",[0,0.272,3,0.015,4,0.015,5,0.007,7,0.111,8,1.198,27,0.409,29,0.796,30,0.001,31,0.582,32,0.145,33,0.475,35,1.203,47,0.935,95,0.15,100,2.755,101,0.01,103,0.001,104,0.001,135,1.03,148,0.781,153,1.295,158,2.91,176,6.488,190,1.866,193,5.363,202,1.814,228,1.431,274,3.3,277,1.134,314,3.977,317,2.852,379,4.02,388,3.385,392,4.127,400,2.351,657,2.377,1316,7.311,1319,6.219,1447,5.785,3005,3.727,4354,5.086,5187,3.788,7157,5.512,7218,8.287,7582,5.225,7583,6.41,7584,4.749,7606,6.639,11561,5.912,11866,9.767,11977,9.116,11978,11.615,11979,7.895,11980,10.391,11981,10.391,11982,7.895,11983,9.396,11984,7.895,11985,7.895,11986,7.895,11987,7.895,11988,7.895,11989,11.615,11990,10.756,11991,7.895,11992,7.895,11993,7.895,11994,7.895,11995,6.926,11996,7.895,11997,7.895,11998,7.895,11999,7.895,12000,7.895,12001,7.895,12002,7.895]],["title/interfaces/FileStorageConfig.html",[159,0.714,12003,6.433]],["body/interfaces/FileStorageConfig.html",[3,0.016,4,0.016,5,0.008,7,0.115,30,0.001,32,0.147,47,0.944,55,2.809,95,0.135,101,0.017,103,0.001,104,0.001,112,0.831,122,2.611,135,1.692,159,0.841,161,1.944,231,1.844,1318,6.277,2087,3.541,2218,3.656,2219,4.115,2220,3.971,2221,5.145,2232,4.975,2545,5.273,2802,3.275,4872,5.581,7157,3.884,7245,7.43,7246,6.129,7247,5.581,7248,5.581,7249,5.581,7250,5.581,7420,9.94,11448,5.029,12003,12.013,12004,8.185,12005,12.972,12006,12.972,12007,12.972,12008,5.273,12009,10.946,12010,9.852,12011,6.447,12012,7.18,12013,6.447,12014,8.185,12015,6.883,12016,7.579,12017,10.639,12018,8.185,12019,7.18,12020,7.579,12021,8.185,12022,8.185,12023,8.185,12024,8.185,12025,8.185,12026,8.185,12027,8.185]],["title/injectables/FileSystemAdapter.html",[589,0.926,5160,5.842]],["body/injectables/FileSystemAdapter.html",[0,0.155,3,0.009,4,0.009,5,0.012,7,0.063,8,0.801,27,0.483,29,0.869,30,0.001,31,0.635,32,0.146,33,0.519,35,1.421,36,2.684,47,1.002,95,0.118,101,0.006,103,0,104,0,112,0.543,135,1.42,148,1.077,157,2.195,277,0.647,317,2.908,329,7.122,388,4.865,403,5.928,412,1.993,414,6.694,433,1.045,589,0.926,591,1.072,640,4.269,652,1.729,657,2.357,735,3.164,890,4.814,1476,4.223,1563,4.476,1783,4.269,1784,4.665,1834,5.09,1835,3.56,2342,6.848,2355,6.095,2392,3.637,2483,3.299,2512,2.561,2582,4.367,2775,3.454,2828,5.202,2881,5.963,3071,7.049,3078,6.723,3563,3.07,3785,6.433,4167,5.472,5153,7.741,5160,5.842,5168,3.985,5175,8.79,5183,10.85,5187,3.333,5200,3.454,5209,10.081,5253,5.842,5356,6.433,12028,11.572,12029,11.572,12030,4.503,12031,8.349,12032,6.947,12033,6.947,12034,6.947,12035,8.481,12036,8.481,12037,6.947,12038,8.481,12039,8.481,12040,6.947,12041,6.947,12042,4.503,12043,5.842,12044,6.947,12045,4.503,12046,8.365,12047,10.302,12048,6.947,12049,6.095,12050,8.829,12051,11.717,12052,6.947,12053,4.503,12054,8.481,12055,4.503,12056,6.433,12057,8.481,12058,4.503,12059,7.132,12060,7.132,12061,9.535,12062,6.947,12063,4.503,12064,6.433,12065,5.328,12066,8.481,12067,4.503,12068,6.947,12069,4.503,12070,4.503,12071,6.947,12072,4.503,12073,3.454,12074,6.433,12075,4.503,12076,4.503,12077,4.503,12078,8.481,12079,4.503,12080,4.503,12081,4.503,12082,4.503,12083,4.503,12084,6.947,12085,4.503,12086,4.503,12087,3.454,12088,4.503,12089,4.503,12090,4.503]],["title/modules/FileSystemModule.html",[252,1.836,12091,6.094]],["body/modules/FileSystemModule.html",[0,0.337,3,0.019,4,0.019,5,0.011,30,0.001,95,0.136,101,0.013,103,0.001,104,0.001,252,3.39,254,3.523,255,3.73,256,3.826,257,3.812,258,3.798,259,4.665,260,4.776,269,4.655,270,3.757,271,3.679,277,1.405,5160,12.214,12028,9.056,12029,9.056,12091,12.353,12092,9.78,12093,9.78,12094,9.78,12095,9.78,12096,9.78]],["title/classes/FileUrlParams.html",[0,0.239,7213,4.814]],["body/classes/FileUrlParams.html",[0,0.469,2,0.673,3,0.012,4,0.017,5,0.008,7,0.089,26,2.535,27,0.408,30,0.001,32,0.158,33,0.408,39,1.751,47,0.98,95,0.144,99,1.295,101,0.018,103,0,104,0,110,3.581,112,0.698,122,1.864,157,1.457,159,0.65,190,1.859,195,1.384,199,4.955,200,1.939,201,4.369,202,1.454,203,5.999,205,1.29,296,3.683,298,2.737,299,4.801,300,4.307,403,3.201,855,4.986,856,6.241,866,5.144,886,3.259,899,2.881,1078,3.917,1080,2.181,1169,5.994,1237,1.865,1290,5.756,1291,4.187,1292,4.187,2980,4.693,3170,4.837,3885,2.987,4541,2.208,5213,7.46,6607,2.987,6788,6.383,7149,6.344,7151,4.13,7152,7.646,7157,5.34,7171,7.447,7201,4.385,7202,4.461,7203,4.461,7208,4.385,7209,8.152,7210,7.933,7211,7.933,7212,4.461,7213,6.191,7214,4.385,7215,4.461,7216,4.314,7217,6.092,7218,4.249,7219,4.314,7220,4.385,7221,4.314,7222,4.076,7223,4.461,7224,4.461,7225,4.461,7226,4.076,7227,4.076,7228,4.187,7229,4.314,7230,4.461,12097,8.934,12098,6.327,12099,6.327,12100,6.327,12101,6.327]],["title/modules/FilesModule.html",[252,1.836,8973,5.842]],["body/modules/FilesModule.html",[0,0.295,3,0.016,4,0.016,5,0.008,30,0.001,95,0.156,101,0.011,103,0.001,104,0.001,252,3.192,254,3.086,255,3.269,256,3.352,257,3.34,258,3.328,259,4.394,260,4.498,265,6.222,269,4.287,270,3.292,271,3.223,276,4.287,277,1.231,610,3.377,1027,2.626,2609,4.206,3005,4.045,8876,9.614,8881,11.319,8885,7.518,8907,10.928,8908,11.319,8925,7.935,8973,12.151,12102,8.569,12103,8.569,12104,8.569,12105,8.569,12106,12.523,12107,8.569]],["title/injectables/FilesRepo.html",[589,0.926,8907,5.64]],["body/injectables/FilesRepo.html",[0,0.194,3,0.011,4,0.011,5,0.005,7,0.079,8,0.949,10,3.292,12,3.711,18,4.163,26,2.632,27,0.503,29,0.961,30,0.001,31,0.702,32,0.156,33,0.573,34,1.405,35,1.416,36,2.706,40,2.722,49,3.666,55,2.379,56,2.663,58,6.969,83,2.828,95,0.14,96,2.169,97,2.302,99,1.155,101,0.007,103,0,104,0,135,1.636,148,1.056,153,1.35,205,1.677,206,2.676,224,1.639,228,1.022,231,1.426,277,0.81,317,2.958,415,3.209,433,0.695,436,3.164,532,4.886,540,2.89,589,1.097,591,1.343,657,2.222,711,3.79,728,7.082,734,3.454,735,3.747,736,4.796,759,3.36,760,3.43,761,3.394,762,3.43,763,3.91,764,3.394,765,3.43,766,3.035,771,4.052,788,3.847,1019,7.822,1826,2.891,1882,2.152,2443,4.052,2444,5.921,2448,5.91,2479,3.847,2913,4.052,3912,4.581,4656,6.422,5089,3.789,5187,5.686,5293,4.581,6832,4.327,8884,9.366,8893,7.219,8907,6.681,8912,4.745,9562,4.134,11523,4.327,11525,4.95,11545,4.95,11725,4.95,12108,5.642,12109,8.229,12110,8.229,12111,8.229,12112,5.642,12113,8.229,12114,5.642,12115,5.642,12116,8.229,12117,5.642,12118,5.642,12119,8.229,12120,5.642,12121,5.642,12122,7.62,12123,8.229,12124,5.642,12125,5.642,12126,7.219,12127,5.225,12128,5.642,12129,5.642,12130,5.642,12131,5.642,12132,5.642,12133,5.642]],["title/injectables/FilesService.html",[589,0.926,12106,6.094]],["body/injectables/FilesService.html",[0,0.256,3,0.014,4,0.014,5,0.007,7,0.105,8,1.152,26,2.896,27,0.495,29,0.963,30,0.001,31,0.704,32,0.157,33,0.575,35,1.395,36,2.844,39,3.336,95,0.138,99,1.523,101,0.01,103,0,104,0,135,1.303,145,4.519,148,1.281,205,1.517,206,3.249,228,1.348,277,1.069,317,3.029,400,2.216,433,0.917,589,1.332,591,1.771,657,2.758,1019,5.452,2609,5.535,7765,6.257,8907,9.787,12106,8.764,12134,7.441,12135,9.99,12136,9.99,12137,9.99,12138,9.99,12139,7.441,12140,9.99,12141,7.441,12142,9.99,12143,7.441,12144,9.99,12145,7.441,12146,9.99,12147,7.441,12148,9.99,12149,11.163,12150,9.99,12151,7.441,12152,9.99,12153,9.99,12154,7.441]],["title/modules/FilesStorageAMQPModule.html",[252,1.836,12155,6.433]],["body/modules/FilesStorageAMQPModule.html",[0,0.313,3,0.017,4,0.017,5,0.008,30,0.001,95,0.153,101,0.012,103,0.001,104,0.001,252,3.278,254,3.268,255,3.461,256,3.549,257,3.536,258,3.523,259,4.512,260,3.378,265,6.314,269,4.444,270,3.485,271,3.413,276,4.444,277,1.303,314,3.473,1027,2.78,1318,6.958,3851,4.561,5187,4.353,7157,4.306,7399,8.8,12008,5.845,12155,13.321,12156,9.072,12157,9.072,12158,9.072,12159,11.486,12160,11.983,12161,8.401,12162,8.401]],["title/modules/FilesStorageApiModule.html",[252,1.836,12163,6.094]],["body/modules/FilesStorageApiModule.html",[0,0.292,3,0.016,4,0.016,5,0.008,30,0.001,95,0.158,101,0.011,103,0.001,104,0.001,252,3.173,254,3.047,255,3.227,256,3.31,257,3.298,258,3.286,259,4.368,260,3.15,269,4.252,270,3.25,271,3.182,273,5.318,274,4.543,276,4.252,277,1.215,314,3.239,1054,4.77,1318,6.489,1484,9.008,1902,9.829,3005,3.994,3851,4.254,3857,7.095,5187,4.059,7157,4.015,7399,8.643,11977,10.535,11990,12.423,12008,5.451,12159,11.281,12162,7.835,12163,12.613,12164,8.461,12165,8.461,12166,8.461,12167,12.008,12168,6.869,12169,6.489,12170,6.489]],["title/injectables/FilesStorageClientAdapterService.html",[589,0.926,7279,4.989]],["body/injectables/FilesStorageClientAdapterService.html",[0,0.247,3,0.018,4,0.014,5,0.009,7,0.101,8,1.123,26,2.443,27,0.467,29,0.909,30,0.001,31,0.665,32,0.148,33,0.542,35,1.28,36,2.708,95,0.152,99,1.466,100,2.5,101,0.009,103,0,104,0,135,1.67,148,1.094,161,1.701,193,3.112,228,1.298,277,1.029,317,2.927,388,4.175,400,2.133,433,0.883,589,1.298,591,1.705,652,1.46,657,2.53,675,3.647,871,4.049,1027,2.195,2445,4.053,2446,5.543,3250,4.81,3851,6.869,3885,3.381,5187,3.436,7157,5.89,7160,5.493,7263,9.348,7265,9.979,7266,6.633,7279,6.992,7303,5.363,11717,6.023,12171,11.493,12172,7.162,12173,7.904,12174,8.541,12175,9.015,12176,11.06,12177,9.979,12178,7.162,12179,9.735,12180,7.162,12181,9.735,12182,7.162,12183,9.735,12184,7.162,12185,6.633,12186,7.162,12187,7.162,12188,12.801,12189,7.162,12190,7.162,12191,9.735,12192,7.162]],["title/interfaces/FilesStorageClientConfig.html",[159,0.714,12193,5.842]],["body/interfaces/FilesStorageClientConfig.html",[3,0.02,4,0.02,5,0.01,7,0.149,30,0.001,32,0.132,55,2.669,101,0.014,103,0.001,104,0.001,112,0.977,159,1.093,161,2.526,311,6.943,2802,4.255,3851,6.291,7157,5.047,12015,11.54,12193,10.522,12194,10.635]],["title/classes/FilesStorageClientMapper.html",[0,0.239,11717,5.842]],["body/classes/FilesStorageClientMapper.html",[0,0.208,2,0.643,3,0.011,4,0.011,5,0.006,7,0.085,8,0.997,27,0.477,29,0.929,30,0.001,31,0.715,32,0.159,33,0.554,34,1.477,35,1.404,47,0.717,95,0.126,100,3.523,101,0.008,103,0,104,0,135,1.666,148,1.305,153,1.808,161,1.435,205,2.246,467,4.081,478,1.696,579,2.474,653,4.169,871,4.035,1622,6.209,2357,5.741,2926,4.65,2928,3.957,3128,3.899,3851,6.893,3885,2.852,6607,4.081,6897,4.633,7138,4.259,7149,7.203,7156,10.504,7157,5.928,7160,8.452,7170,4.759,7178,4.524,7200,4.524,7303,9.881,9942,3.672,10859,5.3,11440,10.743,11714,11.567,11716,10.205,11717,7.27,12195,6.041,12196,8.645,12197,8.645,12198,8.645,12199,8.645,12200,8.645,12201,8.645,12202,8.645,12203,6.041,12204,8.645,12205,6.041,12206,8.645,12207,6.041,12208,8.645,12209,6.041,12210,8.645,12211,6.041,12212,8.645,12213,6.041,12214,11.02,12215,6.041,12216,6.041,12217,6.041,12218,6.041,12219,6.041,12220,6.041,12221,6.041,12222,6.041,12223,6.041,12224,6.041,12225,6.041,12226,6.041,12227,8.645,12228,6.041,12229,6.041,12230,6.041]],["title/modules/FilesStorageClientModule.html",[252,1.836,3842,5.328]],["body/modules/FilesStorageClientModule.html",[0,0.289,3,0.016,4,0.016,5,0.008,30,0.001,95,0.153,101,0.011,103,0.001,104,0.001,252,3.157,254,3.016,255,3.194,256,3.275,257,3.263,258,3.251,259,4.346,260,4.449,265,6.184,269,4.223,270,3.216,271,3.149,276,4.223,277,1.203,1027,2.565,3286,5.145,3287,4.761,3842,11.089,3851,6.008,7157,3.973,7272,11.965,7279,10.219,7291,7.753,7317,10.018,7323,7.753,12177,11.249,12185,7.753,12231,8.372,12232,8.372,12233,8.372,12234,8.372,12235,8.372,12236,7.345,12237,7.753,12238,9.997]],["title/injectables/FilesStorageConsumer.html",[589,0.926,12160,6.094]],["body/injectables/FilesStorageConsumer.html",[0,0.196,3,0.011,4,0.018,5,0.005,7,0.08,8,0.953,26,2.203,27,0.421,29,0.82,30,0.001,31,0.599,32,0.133,33,0.489,35,1.128,36,2.512,39,1.57,95,0.15,96,1.496,99,1.161,100,1.98,101,0.007,103,0,104,0,125,2.319,135,1.549,148,0.964,190,1.75,224,1.648,228,1.766,277,0.815,317,2.775,433,1.018,571,2.245,589,1.102,591,1.35,652,2.182,657,2.603,675,2.889,711,3.795,813,3.173,863,5.89,871,3.919,1027,1.739,1086,2.707,1087,2.623,1088,2.664,1089,2.835,1090,3.098,1115,4.097,1197,5.28,1272,6.125,1274,7.751,1310,4.001,1311,3.704,1723,7.399,1938,3.052,2059,4.158,2060,4.075,2445,4.057,2446,5,2551,3.81,2807,9.64,2980,3.744,4115,6.999,5139,5.254,7135,4.607,7139,9.654,7141,4.771,7152,6.896,7153,4.607,7157,5.399,7221,7.299,7851,6.449,8776,8.21,9942,3.449,11479,6.948,11785,5.935,12160,7.249,12173,8.69,12174,8.549,12238,5.254,12239,11.377,12240,5.674,12241,9.744,12242,5.674,12243,9.985,12244,10.307,12245,5.674,12246,5.254,12247,9.024,12248,9.744,12249,5.674,12250,5.254,12251,5.674,12252,5.674,12253,5.674,12254,7.651,12255,9.912,12256,4.249,12257,5.254,12258,11.377,12259,4.978,12260,5.674,12261,5.674,12262,8.262,12263,5.674,12264,8.262,12265,5.674,12266,5.674,12267,8.262,12268,8.262,12269,5.674,12270,5.674,12271,5.674,12272,5.674]],["title/classes/FilesStorageMapper.html",[0,0.239,12259,6.094]],["body/classes/FilesStorageMapper.html",[0,0.296,2,0.637,3,0.011,4,0.011,5,0.006,7,0.084,8,0.991,27,0.476,29,0.927,30,0.001,31,0.677,32,0.159,33,0.553,35,1.4,55,2.605,56,5.181,59,2.667,70,5.588,95,0.138,101,0.008,103,0,104,0,134,2.116,135,1.625,148,1.196,153,1.906,159,0.615,205,1.22,277,0.86,326,2.276,467,4.076,579,1.714,837,2.956,863,6.039,871,3.145,1231,5.253,1232,3.466,1446,4.387,1952,7.083,2769,4.69,3507,5.465,3799,4.716,3885,2.826,4110,4.387,4541,2.089,6607,2.826,7149,6.188,7152,7.487,7157,5.912,7176,8.187,7178,7.522,7189,4.861,7194,4.861,7200,7.522,7216,7.483,7217,4.082,7219,7.923,7582,6.648,7583,9.434,7606,5.035,7676,5.035,11785,6.169,11862,9.302,11863,7.954,11867,5.544,11869,7.954,11871,5.544,11872,5.544,11873,5.253,11875,5.544,11966,7.264,11967,5.253,12259,7.536,12273,12.457,12274,5.987,12275,8.59,12276,7.223,12277,8.59,12278,8.59,12279,8.59,12280,5.987,12281,7.223,12282,5.987,12283,5.987,12284,5.987,12285,8.59,12286,5.987,12287,8.59,12288,5.987,12289,5.987,12290,5.544,12291,5.987,12292,5.987,12293,5.987,12294,5.987,12295,5.544,12296,5.987,12297,5.253,12298,5.987,12299,5.987,12300,5.987,12301,5.987,12302,4.861,12303,5.987,12304,5.987,12305,5.987,12306,5.987,12307,5.987,12308,5.987,12309,5.987,12310,5.987]],["title/modules/FilesStorageModule.html",[252,1.836,12159,5.842]],["body/modules/FilesStorageModule.html",[0,0.222,3,0.012,4,0.012,5,0.006,30,0.001,32,0.08,47,0.847,55,1.29,87,3.232,95,0.16,96,2.382,101,0.008,103,0,104,0,122,1.341,135,1.363,153,1.054,195,1.407,205,1.31,206,2.091,224,1.867,252,2.76,254,2.315,255,2.452,256,2.515,257,2.505,258,2.496,259,4.121,260,3.889,265,4.177,269,3.534,270,2.469,271,2.418,276,4.433,277,0.923,290,1.52,347,3.294,412,2.845,478,1.805,540,3.173,556,3.252,561,2.885,571,2.543,610,2.533,623,5.898,651,3.252,736,4.46,809,4.196,1011,8.442,1014,4.455,1015,4.383,1017,6.261,1021,4.142,1022,6.261,1023,6.37,1024,6.261,1025,4.142,1026,4.041,1027,1.97,1036,6.489,1040,4.455,1041,4.383,1042,4.255,1086,3.067,1087,2.972,1088,3.018,1089,3.212,1166,4.255,1167,3.95,1258,5.64,1268,3.95,1270,5.219,1272,4.041,1274,4.196,1283,4.532,1288,5.406,1318,4.93,1626,3.565,1829,2.733,2087,2.781,2218,2.871,2219,3.232,2220,3.119,2221,4.041,2609,3.155,2802,2.572,2832,4.142,2923,3.408,5076,5.953,5187,3.084,7157,3.051,7176,5.492,7208,4.455,7245,4.041,9942,3.908,11448,3.95,11570,4.617,11764,6.765,11768,4.71,11888,10.861,12159,11.643,12243,11.473,12244,11.473,12311,6.428,12312,6.428,12313,6.428,12314,6.428,12315,7.926,12316,4.617,12317,6.62,12318,6.62,12319,6.765,12320,5.64,12321,4.93,12322,6.428,12323,6.428,12324,6.428,12325,5.64,12326,6.428,12327,6.428,12328,6.428,12329,5.406,12330,4.71,12331,4.71,12332,5.219,12333,4.93,12334,5.063,12335,5.953]],["title/injectables/FilesStorageProducer.html",[589,0.926,12177,5.842]],["body/injectables/FilesStorageProducer.html",[0,0.205,3,0.011,4,0.011,5,0.005,7,0.084,8,0.986,26,2.253,27,0.489,29,0.993,30,0.001,31,0.696,32,0.161,33,0.568,35,1.397,36,2.554,47,0.857,55,1.195,95,0.142,99,1.218,101,0.008,103,0,104,0,113,5.072,135,1.306,148,0.99,158,3.152,161,1.414,193,3.717,228,1.814,231,1.482,277,0.855,317,2.885,433,1.054,436,2.967,532,3.174,569,1.848,589,1.14,591,1.416,634,7.198,651,3.011,652,1.213,657,2.291,871,4.553,1027,1.824,1197,6.54,1272,3.741,1274,3.885,1297,4.832,1298,9.039,1310,4.196,1311,3.885,1723,7.917,2445,4.168,2446,5.112,3851,5.829,4115,8.669,4258,6.944,4291,4.457,7135,4.832,7139,6.737,7141,5.005,7151,7.145,7152,7.052,7153,4.832,7157,5.502,9942,3.618,12171,10.736,12173,6.944,12174,7.504,12175,7.92,12177,7.192,12193,5.005,12246,7.92,12250,7.92,12256,6.405,12336,5.952,12337,10.15,12338,7.504,12339,7.504,12340,5.952,12341,5.952,12342,5.952,12343,8.553,12344,5.952,12345,5.221,12346,5.511,12347,5.221,12348,5.511,12349,5.221,12350,5.511,12351,5.511,12352,5.952,12353,5.952,12354,5.952,12355,5.952,12356,5.952,12357,5.952,12358,5.952,12359,5.952,12360,5.952,12361,5.952,12362,5.952]],["title/modules/FilesStorageTestModule.html",[252,1.836,12363,6.433]],["body/modules/FilesStorageTestModule.html",[0,0.251,3,0.014,4,0.014,5,0.007,8,0.841,27,0.287,29,0.559,30,0.001,31,0.408,32,0.091,33,0.333,35,0.844,59,2.264,95,0.156,101,0.01,103,0,104,0,135,1.456,148,0.721,205,1.487,206,2.372,252,3.159,254,2.627,255,2.782,256,2.853,257,2.842,258,2.832,259,4.348,260,2.715,265,5.95,269,3.855,270,2.801,271,2.743,274,4.666,276,4.885,277,1.047,467,2.87,478,2.047,540,3.461,1016,7.102,1017,6.829,1027,2.234,1028,8.285,1029,8.386,1031,9.074,1034,5.593,1043,6.829,1045,6.433,1048,5.054,1318,7.558,1484,8.642,1856,7.383,2653,3.371,3209,3.761,3851,5.612,5155,5.142,5187,3.499,7157,4.677,7176,5.991,7399,8.292,9942,4.433,12008,4.698,12163,11.291,12363,13.311,12364,7.292,12365,7.292,12366,5.92,12367,7.292]],["title/classes/FilterImportUserParams.html",[0,0.239,12368,5.842]],["body/classes/FilterImportUserParams.html",[0,0.322,2,1.338,3,0.013,4,0.013,5,0.006,7,0.095,27,0.507,30,0.001,32,0.164,33,0.638,47,0.959,95,0.156,101,0.014,103,0,104,0,112,0.73,122,1.951,190,2.315,195,2.046,199,5.186,200,2.069,201,5.103,202,1.551,298,2.921,299,4.738,300,5.03,331,4.746,415,6.099,700,5.175,701,5.175,856,6.742,886,3.643,899,3.075,1582,6.716,2009,6.188,2525,5.029,2537,5.877,3383,6.024,3384,5.364,4656,5.625,4923,6.014,5361,4.85,6119,5.514,6258,6.701,10856,5.924,12368,7.863,12369,12.169,12370,5.678,12371,7.562,12372,7.432,12373,6.753,12374,6.753,12375,9.932,12376,6.753,12377,6.753,12378,6.753,12379,6.753,12380,6.753,12381,11.256,12382,6.753,12383,6.753,12384,6.753,12385,11.256,12386,6.753,12387,6.753,12388,9.35,12389,6.59,12390,6.753,12391,6.753]],["title/classes/FilterNewsParams.html",[0,0.239,12392,5.64]],["body/classes/FilterNewsParams.html",[0,0.365,2,0.865,3,0.015,4,0.015,5,0.007,7,0.114,27,0.464,30,0.001,32,0.147,33,0.607,34,1.81,47,0.886,95,0.142,99,1.665,101,0.011,103,0.001,104,0.001,112,0.828,122,2.211,157,2.981,190,2.116,199,5.877,200,2.493,201,4.849,202,1.869,203,7.116,299,4.13,300,4.779,304,4.016,855,4.289,886,2.56,899,3.705,1083,5.975,2980,5.658,3014,7.013,3166,5.658,3167,5.658,4858,8.044,5217,7.471,7815,7.693,7823,7.789,7824,7.684,8011,8.465,8014,9.568,8017,7.137,8029,7.764,8035,7.533,12392,8.603,12393,12.485,12394,7.137,12395,8.347,12396,8.911,12397,8.135,12398,8.135,12399,8.135,12400,7.533,12401,7.471,12402,8.135,12403,8.135]],["title/classes/FilterUserParams.html",[0,0.239,12404,5.842]],["body/classes/FilterUserParams.html",[0,0.41,2,1.038,3,0.019,4,0.019,5,0.009,7,0.137,27,0.384,30,0.001,31,0.718,32,0.122,33,0.543,47,0.843,95,0.136,101,0.013,103,0.001,104,0.001,112,0.928,130,3.25,190,1.752,200,2.989,201,4.614,202,2.241,299,4.631,300,4.549,329,7.223,700,5.733,701,5.733,856,6.591,4656,7.148,4923,5.438,12369,11.004,12370,8.204,12375,9.034,12404,9.992,12405,9.756]],["title/classes/ForbiddenLoggableException.html",[0,0.239,1956,5.472]],["body/classes/ForbiddenLoggableException.html",[0,0.293,2,0.906,3,0.016,4,0.016,5,0.008,7,0.12,8,1.258,26,2.615,27,0.429,29,0.652,30,0.001,31,0.477,32,0.15,33,0.389,35,0.986,39,3.333,47,0.855,95,0.15,99,1.742,101,0.011,103,0.001,104,0.001,135,1.111,148,0.842,183,4.594,228,2.183,231,1.892,233,2.658,242,4.482,277,1.223,339,2.498,433,1.345,652,2.455,736,6.272,801,7.47,1115,4.178,1197,4.614,1237,3.218,1422,4.933,1426,5.701,1462,4.685,1468,5.996,1477,4.421,1478,4.614,1775,6.99,1778,5.352,1956,8.596,2654,7.173,12406,12.044,12407,6.239,12408,7.885,12409,8.514,12410,6.707,12411,6.913,12412,8.514,12413,8.514,12414,8.514]],["title/classes/ForbiddenOperationError.html",[0,0.239,343,5.842]],["body/classes/ForbiddenOperationError.html",[0,0.267,2,0.825,3,0.015,4,0.015,5,0.007,7,0.109,8,1.184,27,0.526,29,0.594,30,0.001,31,0.434,32,0.173,33,0.526,35,0.898,47,0.93,55,1.557,59,3.189,95,0.117,101,0.01,103,0,104,0,112,0.802,155,3.888,190,2.289,228,2.513,231,1.78,233,2.421,277,1.114,343,8.637,402,2.776,433,0.956,436,3.882,868,5.881,871,2.84,998,5.435,1078,5.374,1080,4.517,1115,4.88,1354,8.632,1355,7.666,1356,7.517,1360,5.134,1361,4.45,1362,5.134,1363,5.134,1364,5.134,1365,5.134,1366,5.134,1367,4.767,1368,4.374,1369,6.11,1374,4.998,1796,8.637,5048,6.806,9140,6.798,12415,10.271,12416,7.757,12417,7.757,12418,7.757,12419,8.339,12420,7.184]],["title/controllers/FwuLearningContentsController.html",[314,2.659,12421,5.842]],["body/controllers/FwuLearningContentsController.html",[0,0.262,3,0.014,4,0.014,5,0.007,7,0.107,8,1.168,27,0.299,29,0.582,30,0.001,31,0.425,32,0.126,33,0.347,35,0.879,36,2.143,95,0.152,101,0.01,103,0,104,0,135,1.486,148,0.751,153,1.661,189,4.668,190,1.364,193,5.282,195,1.662,202,1.745,228,1.377,274,3.175,277,1.091,314,2.908,316,3.665,317,2.469,326,4.331,388,4.343,392,3.971,395,4.085,398,4.116,400,2.262,414,3.843,579,2.174,657,1.738,871,4.635,1268,4.668,1312,3.567,1368,4.283,1446,5.566,2218,3.393,2219,3.819,2220,3.686,2392,3.863,3209,3.918,3799,5.983,4212,4.438,7582,8.38,7583,6.167,7584,4.57,7600,6.167,7606,6.388,11983,8.906,11995,6.664,12421,8.517,12422,7.978,12423,10.258,12424,10.128,12425,7.596,12426,8.517,12427,7.596,12428,10.663,12429,10.128,12430,7.596,12431,9.251,12432,6.664,12433,6.664,12434,7.596,12435,7.596,12436,7.596,12437,7.596,12438,7.596,12439,7.596,12440,8.739,12441,7.596,12442,7.596,12443,7.596,12444,7.034,12445,7.034,12446,7.034,12447,6.664,12448,7.596,12449,7.034,12450,7.034,12451,7.596,12452,7.596,12453,7.596,12454,7.596,12455,7.596]],["title/modules/FwuLearningContentsModule.html",[252,1.836,12456,6.433]],["body/modules/FwuLearningContentsModule.html",[0,0.226,3,0.012,4,0.012,5,0.006,30,0.001,32,0.082,47,0.465,87,3.295,94,4.633,95,0.16,96,2.414,101,0.009,103,0,104,0,135,0.855,153,1.075,195,1.434,206,2.132,224,1.904,252,2.789,254,2.361,255,2.5,256,2.564,257,2.555,258,2.545,259,3.839,260,2.44,265,5.759,269,3.582,270,2.518,271,2.465,274,3.828,276,3.582,277,0.941,290,2.497,331,4.053,347,3.359,412,2.9,478,1.84,540,3.216,561,2.942,571,2.593,623,5.978,651,3.316,692,4.323,736,4.522,809,4.279,1011,8.494,1014,4.542,1015,4.469,1021,4.223,1022,6.346,1023,6.457,1024,6.346,1025,4.223,1026,4.12,1027,2.008,1036,6.578,1040,4.542,1041,4.469,1042,4.338,1054,3.696,1086,3.127,1087,3.03,1088,3.077,1089,3.275,1166,4.338,1167,4.027,1484,8.365,1626,3.635,1829,2.786,1856,7.146,2087,2.835,2653,3.03,2802,2.622,2832,4.223,2923,3.474,3857,5.978,5163,5.039,7245,4.12,7399,8.026,9942,3.984,11448,4.027,11570,4.707,12008,4.223,12316,8.636,12317,6.71,12318,6.71,12319,6.858,12321,5.027,12329,5.512,12330,4.802,12331,4.802,12332,5.321,12333,5.027,12334,5.163,12335,6.069,12421,8.877,12422,5.163,12423,9.471,12426,5.512,12431,10.114,12432,5.75,12433,5.75,12456,13.11,12457,6.554,12458,6.554,12459,6.554,12460,6.069,12461,6.554,12462,6.15,12463,6.069,12464,6.069,12465,6.069,12466,5.75]],["title/modules/FwuLearningContentsTestModule.html",[252,1.836,12467,6.433]],["body/modules/FwuLearningContentsTestModule.html",[0,0.226,3,0.012,4,0.012,5,0.006,8,0.755,27,0.258,29,0.501,30,0.001,31,0.366,32,0.082,33,0.299,35,0.757,59,2.032,94,4.628,95,0.16,101,0.009,103,0,104,0,135,1.376,148,0.647,206,2.128,252,3.018,254,2.357,255,2.496,256,2.56,257,2.55,258,2.541,259,4.371,260,2.436,265,5.756,269,3.578,270,2.514,271,2.461,274,4.774,276,4.701,277,0.94,290,2.163,331,4.048,467,2.664,478,1.837,540,3.212,651,3.311,692,4.318,1016,6.71,1021,4.216,1025,4.216,1026,4.113,1027,2.005,1028,7.914,1029,8.069,1031,8.779,1043,6.339,1045,5.971,1048,4.535,1054,3.69,1484,8.361,1856,7.143,2087,2.831,2653,3.025,2802,2.618,3857,5.971,5155,4.614,5163,5.034,6154,6.237,7245,4.113,7399,8.022,9942,3.978,11448,4.021,12008,4.216,12168,5.312,12316,8.631,12321,5.019,12329,5.503,12366,5.312,12421,8.869,12422,7.205,12423,10.067,12426,5.503,12431,10.108,12432,5.741,12433,5.741,12460,8.471,12462,6.143,12464,6.059,12465,6.059,12466,5.741,12467,13.237,12468,6.543,12469,6.543,12470,6.543,12471,6.543,12472,5.741,12473,4.9,12474,5.741]],["title/injectables/FwuLearningContentsUc.html",[589,0.926,12431,5.64]],["body/injectables/FwuLearningContentsUc.html",[0,0.297,3,0.016,4,0.016,5,0.008,7,0.121,8,1.269,27,0.433,29,0.843,30,0.001,31,0.616,32,0.137,33,0.503,35,0.998,47,0.957,59,2.678,95,0.146,101,0.011,103,0.001,104,0.001,135,1.125,148,0.853,158,3.179,228,1.563,277,1.239,317,2.625,414,4.363,433,1.356,589,1.467,591,2.053,652,2.243,657,1.973,688,4.071,871,4.028,1027,2.642,1164,8.439,2445,4.581,2446,5.962,2802,3.451,3250,5.791,11448,5.299,12422,9.544,12423,10.794,12426,7.252,12431,8.933,12440,9.789,12466,7.566,12475,12.117,12476,8.624,12477,9.838,12478,9.352,12479,8.624,12480,8.624,12481,8.624,12482,8.624,12483,8.624,12484,8.624]],["title/interfaces/GetFile.html",[159,0.714,7251,4.898]],["body/interfaces/GetFile.html",[3,0.016,4,0.016,5,0.01,7,0.116,30,0.001,32,0.162,33,0.628,47,1.042,55,2.609,95,0.094,101,0.017,103,0.001,104,0.001,112,0.834,125,2.542,159,1.369,161,1.956,339,3.813,414,5.404,1302,7.209,1304,4.683,1444,4.567,2232,5.006,5187,5.125,6513,7.133,7240,6.167,7241,6.167,7242,6.487,7243,6.316,7244,6.316,7245,5.177,7246,6.167,7247,5.615,7248,5.615,7249,5.615,7250,5.615,7251,7.531,7252,7.794,7253,7.625,7254,7.625,7255,6.034,7256,8.192,7257,8.192,7258,6.167]],["title/interfaces/GetFileResponse.html",[159,0.714,11966,4.598]],["body/interfaces/GetFileResponse.html",[3,0.017,4,0.017,5,0.008,7,0.122,30,0.001,31,0.717,32,0.171,33,0.635,47,1.033,55,2.442,95,0.139,101,0.015,103,0.001,104,0.001,112,0.864,159,1.137,161,2.066,205,1.773,339,3.756,403,4.401,837,4.295,1302,7.102,1304,4.947,6513,7.281,7157,4.128,7176,7.396,7222,7.838,7252,7.956,7253,7.783,7254,7.783,11966,7.323,12440,6.672,12485,8.056,12486,7.062,12487,7.632,12488,6.514,12489,6.374]],["title/interfaces/GetFileResponse-1.html",[159,0.594,756,2.285,11966,3.822]],["body/interfaces/GetFileResponse-1.html",[0,0.396,3,0.013,4,0.013,5,0.006,7,0.093,30,0.001,31,0.677,32,0.16,33,0.598,34,1.134,47,1.024,55,2.307,95,0.121,101,0.016,103,0,104,0,112,0.722,131,6.151,155,2.107,158,2.448,159,1.093,161,1.577,202,1.526,231,1.151,296,3.554,326,4.041,339,3.544,374,3.998,1195,3.279,1215,6.395,1240,3.917,1302,6.701,1304,3.776,1925,5.618,1926,6.206,2084,4.602,2163,3.07,2373,4.866,2392,2.533,2434,4.528,3025,3.186,3378,5.451,4143,4.459,5187,4.434,6508,8.166,6513,6.871,6522,4.682,6529,4.77,6558,3.776,6565,4.77,6566,4.77,6622,6.638,7252,7.507,7253,7.345,7254,7.345,8022,5.399,11637,5.399,11966,6.117,12490,4.335,12491,5.093,12492,7.088,12493,8.153,12494,7.088,12495,6.772,12496,7.088,12497,5.093,12498,5.093,12499,5.093,12500,5.093,12501,5.093,12502,5.093,12503,4.973,12504,6.516,12505,4.682,12506,5.093,12507,5.093,12508,4.602,12509,6.921,12510,4.866,12511,5.093,12512,5.093,12513,5.093,12514,5.093,12515,5.093,12516,7.96,12517,4.866,12518,5.093]],["title/classes/GetFwuLearningContentParams.html",[0,0.239,12428,6.094]],["body/classes/GetFwuLearningContentParams.html",[0,0.412,2,1.048,3,0.019,4,0.019,5,0.009,7,0.138,27,0.388,30,0.001,32,0.123,47,0.848,95,0.136,101,0.013,103,0.001,104,0.001,112,0.934,190,1.769,200,3.019,202,2.263,296,3.123,299,4.659,301,7.701,856,6.63,12422,9.415,12423,10.539,12428,10.487,12519,11.953,12520,9.852,12521,12.868,12522,9.852,12523,11.069,12524,11.953,12525,9.852,12526,9.852,12527,9.852]],["title/classes/GetH5PContentParams.html",[0,0.239,12528,5.202]],["body/classes/GetH5PContentParams.html",[0,0.454,2,0.78,3,0.014,4,0.014,5,0.007,7,0.103,26,2.036,27,0.389,30,0.001,32,0.123,33,0.452,47,0.935,95,0.15,99,1.501,101,0.017,103,0,104,0,112,0.772,131,5.036,158,3.646,190,1.776,200,2.247,202,1.685,205,1.495,296,3.705,298,3.172,299,4.363,300,3.786,326,4.255,478,2.059,855,5.218,856,7.15,886,3.77,899,3.339,1195,5.527,1198,7.527,1240,7.602,2163,3.39,3169,4.367,3170,5.844,3885,3.461,4535,9.51,4538,8.585,6330,5.081,6508,7.307,6558,4.17,6604,8.17,6607,3.461,8033,6.744,11637,4.284,12490,7.307,12528,7.407,12529,5.776,12530,7.332,12531,7.332,12532,7.332,12533,6.974,12534,5.491,12535,5.491,12536,5.491,12537,5.624,12538,5.776,12539,5.491,12540,5.776]],["title/classes/GetH5PEditorParams.html",[0,0.239,12535,5.202]],["body/classes/GetH5PEditorParams.html",[0,0.455,2,0.783,3,0.014,4,0.014,5,0.007,7,0.103,26,2.041,27,0.39,30,0.001,32,0.124,47,0.936,95,0.15,99,1.506,101,0.017,103,0,104,0,112,0.774,131,5.049,158,3.655,190,1.78,200,2.255,202,1.691,205,1.5,296,3.707,298,3.184,299,4.371,300,3.796,326,4.263,478,2.066,855,5.223,856,7.157,886,3.776,899,3.351,1195,5.537,1198,7.536,1240,7.611,2163,3.402,3169,4.383,3170,5.851,3885,3.474,4535,9.516,4538,8.601,6330,5.1,6508,7.321,6558,4.185,6604,8.182,6607,3.474,8033,6.761,11637,4.299,12490,7.321,12528,5.511,12529,5.797,12533,6.991,12534,5.511,12535,7.425,12536,5.511,12537,5.644,12538,5.797,12539,5.511,12540,5.797,12541,7.359,12542,6.815,12543,7.359]],["title/classes/GetH5PEditorParamsCreate.html",[0,0.239,12534,5.202]],["body/classes/GetH5PEditorParamsCreate.html",[0,0.457,2,0.801,3,0.014,4,0.014,5,0.007,7,0.106,26,2.072,27,0.296,30,0.001,32,0.094,47,0.922,95,0.151,99,1.54,101,0.017,103,0,104,0,112,0.786,131,5.125,158,3.71,190,1.351,200,2.306,202,1.729,205,1.534,296,3.717,298,3.255,299,4.42,300,3.853,326,4.311,478,2.113,855,5.257,856,7.204,886,3.81,899,3.427,1195,4.969,1198,7.593,1240,7.141,2163,3.479,3169,4.481,3170,5.895,3885,3.552,4535,9.549,4538,8.698,6508,7.404,6558,4.279,6604,8.256,6607,3.552,8033,6.863,11637,4.396,12490,6.57,12528,5.635,12529,5.927,12533,7.097,12534,7.537,12535,5.635,12536,5.635,12537,5.771,12538,5.927,12539,5.635,12540,5.927,12542,6.968,12544,7.525]],["title/interfaces/GetH5PFileResponse.html",[159,0.714,12508,4.814]],["body/interfaces/GetH5PFileResponse.html",[0,0.396,3,0.013,4,0.013,5,0.006,7,0.093,30,0.001,31,0.677,32,0.16,33,0.598,34,1.134,47,1.024,55,2.307,95,0.121,101,0.016,103,0,104,0,112,0.722,131,6.151,155,2.107,158,2.448,159,1.093,161,1.577,202,1.526,231,1.151,296,3.554,326,4.041,339,3.544,374,3.998,1195,3.279,1215,6.395,1240,3.917,1302,6.701,1304,3.776,1925,5.618,1926,6.206,2084,4.602,2163,3.07,2373,4.866,2392,2.533,2434,4.528,3025,3.186,3378,5.451,4143,4.459,5187,4.434,6508,8.166,6513,6.871,6522,4.682,6529,4.77,6558,3.776,6565,4.77,6566,4.77,6622,6.638,7252,7.507,7253,7.345,7254,7.345,8022,5.399,11637,5.399,11966,4.395,12490,4.335,12491,5.093,12492,7.088,12493,8.153,12494,7.088,12495,6.772,12496,7.088,12497,5.093,12498,5.093,12499,5.093,12500,5.093,12501,5.093,12502,5.093,12503,4.973,12504,6.516,12505,4.682,12506,5.093,12507,5.093,12508,6.405,12509,6.921,12510,4.866,12511,5.093,12512,5.093,12513,5.093,12514,5.093,12515,5.093,12516,7.96,12517,4.866,12518,5.093]],["title/interfaces/GetH5pFileResponse.html",[159,0.714,12508,4.814]],["body/interfaces/GetH5pFileResponse.html",[0,0.287,3,0.016,4,0.016,5,0.011,7,0.117,30,0.001,31,0.73,32,0.166,33,0.629,47,1.022,55,2.681,95,0.123,101,0.016,103,0.001,104,0.001,112,0.84,159,1.105,161,1.976,339,3.918,876,4.32,881,4.543,1195,4.108,1237,2.453,1302,7.407,1304,4.732,1444,4.615,2183,3.279,2327,5.23,2802,3.329,6513,7.415,7162,6.997,7192,5.673,7252,7.825,7253,7.927,7254,7.927,11443,6.997,11448,5.113,11449,6.997,11450,6.554,11451,6.755,12490,5.431,12508,7.451,12545,8.73,12546,6.381]],["title/interfaces/GetLibraryFile.html",[159,0.714,12546,5.328]],["body/interfaces/GetLibraryFile.html",[0,0.298,3,0.016,4,0.016,5,0.011,7,0.121,30,0.001,31,0.617,32,0.168,33,0.504,47,0.995,55,2.708,95,0.126,101,0.016,103,0.001,104,0.001,112,0.86,159,1.133,161,2.053,172,4.684,339,3.958,876,4.488,881,4.719,1195,4.267,1237,2.548,1302,7.482,1304,4.915,1444,4.794,2183,3.406,2327,5.433,2802,3.458,6513,7.503,7162,7.268,7192,5.893,7252,5.37,7253,8.02,7254,8.02,11443,7.268,11448,5.311,11449,7.268,11450,6.808,11451,7.017,12490,5.642,12508,5.989,12545,8.945,12546,8.451]],["title/interfaces/GetLibraryFile-1.html",[159,0.594,756,2.285,12546,4.429]],["body/interfaces/GetLibraryFile-1.html",[3,0.018,4,0.018,5,0.009,7,0.136,30,0.001,32,0.173,33,0.54,47,0.906,55,2.736,95,0.11,101,0.013,103,0.001,104,0.001,112,0.923,159,0.993,161,2.295,172,5.022,339,3.899,876,5.017,1195,4.77,1302,7.372,1304,5.495,2327,6.074,6513,7.559,7253,8.08,7254,8.08,12546,9.06,12547,9.662,12548,9.662]],["title/classes/GetMetaTagDataBody.html",[0,0.239,12549,6.094]],["body/classes/GetMetaTagDataBody.html",[0,0.414,2,1.056,3,0.019,4,0.019,5,0.009,7,0.139,27,0.391,30,0.001,32,0.124,47,0.852,95,0.137,101,0.013,103,0.001,104,0.001,106,8.063,107,7.838,110,4.464,112,0.938,190,1.782,194,3.883,195,2.627,196,3.972,197,3.339,200,3.041,202,2.28,296,3.137,299,4.68,2369,6.714,12549,10.534,12550,12.007,12551,9.925,12552,9.191,12553,9.925]],["title/interfaces/GlobalConstants.html",[159,0.714,12554,6.433]],["body/interfaces/GlobalConstants.html",[3,0.018,4,0.018,5,0.009,7,0.133,30,0.001,32,0.164,33,0.603,47,1.026,95,0.108,101,0.012,103,0.001,104,0.001,110,3.263,112,0.909,135,1.519,159,0.97,161,2.241,1022,9.384,1023,9.547,1024,9.384,1927,5.565,12554,11.691,12555,9.435,12556,12.539,12557,11.641,12558,9.435,12559,11.641]],["title/classes/GlobalErrorFilter.html",[0,0.239,9954,5.842]],["body/classes/GlobalErrorFilter.html",[0,0.166,2,0.511,3,0.009,4,0.009,5,0.004,7,0.067,8,0.842,27,0.482,29,0.916,30,0.001,31,0.686,32,0.149,33,0.547,35,1.384,95,0.147,100,1.677,101,0.006,103,0,104,0,125,1.144,135,1.746,148,1.183,153,1.904,155,3.129,158,2.691,159,0.494,228,0.871,277,0.69,393,2.372,400,1.431,433,0.592,532,4.144,569,3.062,571,1.901,652,2.808,653,3.015,694,3.521,695,3.451,871,4.819,998,4.655,1027,1.472,1080,4.537,1086,2.293,1087,2.221,1088,2.256,1115,3.775,1237,2.153,1282,9.144,1312,3.428,1313,3.276,1328,5.228,1351,4.902,1354,6.2,1367,7.911,1376,4.215,1379,3.451,1422,5.117,1472,2.687,2098,7.385,2230,4.04,2445,3.039,2476,3.685,3250,3.226,4237,6.405,5048,4.215,5437,5.208,7584,2.89,9862,3.901,9909,8.294,9927,3.901,9939,3.901,9954,6.139,9979,8.294,11267,4.449,12256,6.612,12257,4.449,12560,12.493,12561,4.449,12562,8.83,12563,7.301,12564,7.301,12565,7.301,12566,7.301,12567,7.301,12568,9.863,12569,7.301,12570,4.805,12571,6.761,12572,11.608,12573,4.805,12574,7.301,12575,4.805,12576,7.301,12577,4.805,12578,7.301,12579,4.805,12580,7.301,12581,4.805,12582,7.301,12583,4.805,12584,4.805,12585,7.301,12586,4.805,12587,4.805,12588,6.139,12589,4.805,12590,4.805,12591,4.805,12592,4.805,12593,4.805,12594,4.805,12595,4.805,12596,4.805,12597,4.805,12598,4.805,12599,4.805,12600,4.805,12601,4.805,12602,4.805,12603,4.805,12604,4.805,12605,4.805,12606,4.805,12607,4.805,12608,4.805,12609,4.805,12610,7.301,12611,4.805,12612,4.805,12613,4.805,12614,7.301,12615,4.805,12616,4.805,12617,4.805,12618,4.805,12619,4.805,12620,4.805,12621,4.805,12622,4.805,12623,4.805]],["title/classes/GlobalValidationPipe.html",[0,0.239,12624,6.094]],["body/classes/GlobalValidationPipe.html",[0,0.401,2,0.842,3,0.015,4,0.015,5,0.007,27,0.311,30,0.001,32,0.145,95,0.119,100,4.478,101,0.01,103,0.001,104,0.001,112,0.618,129,3.107,130,2.846,131,4.028,153,1.298,157,1.821,190,1.868,194,3.094,195,2.882,197,2.2,200,3.188,231,1.803,233,2.469,277,1.136,296,2.067,326,3.007,338,7.144,339,2.321,365,3.517,393,3.906,412,4.604,433,1.433,525,5.439,561,3.55,567,3.007,628,4.711,807,6.067,813,4.423,875,5.235,1080,2.727,1172,7.791,1211,5.096,1214,6.94,1221,10.766,1223,5.924,1247,7.325,1268,6.393,1351,5.312,1373,7.719,1381,5.312,1388,4.711,1831,5.235,1938,4.255,2139,5.968,2233,5.394,2544,4.759,2855,5.682,2980,4.715,3564,5.033,3770,6.886,3777,5.924,5003,8.447,5868,4.915,7414,7.21,9862,6.422,10522,5.796,12624,9.128,12625,10.404,12626,7.91,12627,10.766,12628,7.91,12629,8.447,12630,7.91,12631,7.91,12632,7.91,12633,7.91,12634,6.94,12635,7.91,12636,6.94,12637,7.91,12638,7.325,12639,7.325,12640,7.91,12641,7.91]],["title/classes/GridElement.html",[0,0.239,8445,5.472]],["body/classes/GridElement.html",[0,0.177,2,0.328,3,0.006,4,0.006,5,0.003,7,0.12,8,0.591,26,2.541,27,0.491,29,0.81,30,0.001,31,0.592,32,0.157,33,0.533,34,1.863,35,1.351,39,1.419,47,0.902,55,2.449,83,0.898,95,0.075,99,0.631,101,0.013,103,0,104,0,112,0.4,122,1.916,125,2.317,129,0.921,130,1.8,135,1.73,141,3.288,145,2.874,146,2.103,148,1.312,153,1.672,155,3.632,159,0.317,172,2.18,232,1.39,242,2.699,243,1.939,277,0.443,433,0.38,435,1.79,458,3.405,459,2.699,467,3.334,569,3.684,579,1.884,595,1.164,652,2.455,756,2.603,896,1.725,1065,4.778,1170,4.82,1237,1.512,1660,4.928,1675,3.085,1842,4.433,2048,4.434,2434,2.103,2769,2.8,2880,7.292,2922,1.785,2923,1.635,2964,2.137,3025,3.679,3045,4.544,3515,2.31,3709,2.175,3859,8.892,3884,3.304,3977,7.157,4047,3.223,7342,2.594,7449,2.103,7492,3.757,7564,3.553,7795,5.314,8352,5.149,8375,2.26,8376,2.706,8378,2.706,8381,2.706,8382,2.594,8383,7.723,8385,2.429,8392,4.499,8398,2.706,8402,2.706,8405,2.706,8406,7.723,8408,9.175,8411,5.881,8413,2.706,8414,7.157,8417,2.706,8419,2.706,8421,2.706,8423,2.706,8425,2.706,8427,2.706,8430,2.706,8432,4.499,8433,2.31,8434,7.467,8435,6.727,8436,5.774,8437,7.467,8438,5.774,8439,4.499,8440,7.467,8441,4.499,8442,5.774,8443,2.706,8444,3.84,8445,9.723,8446,5.774,8447,4.499,8448,2.706,8449,4.499,8450,2.706,8451,4.499,8452,2.706,8453,4.499,8454,4.499,8455,4.499,8456,4.499,8457,4.499,8458,2.706,8459,4.499,8460,2.594,8461,4.499,8462,2.706,8463,4.499,8464,2.706,8465,2.706,8466,2.706,8467,4.499,8468,2.504,8469,2.706,8470,4.499,8471,2.706,8472,2.366,8473,2.706,8474,2.706,8475,2.706,8476,2.706,8477,2.706,8478,2.706,8479,2.706,8480,2.706,8481,2.706,8482,4.499,8483,4.499,8484,2.594,8485,5.774,8486,2.706,8487,4.499,8488,2.706,8489,2.706,8490,2.706,8491,2.706,8492,2.706,8493,2.706,8494,2.706,8495,2.706,8496,2.706,8497,2.706,8498,2.706,8499,2.706,8500,2.706,8501,2.706,8502,2.706,8503,2.706,8504,2.706,8505,2.706,8506,2.706,8507,2.706,8508,2.706,8509,2.706,8510,2.706,8511,4.499,8512,2.706,8513,2.706,8514,2.706,8515,4.499,8516,4.499,8517,2.706,8518,2.706,8519,2.706,8520,2.706,8521,2.706,8522,2.706,8523,2.706,8524,5.774,8525,2.706,8526,2.706,12642,4.748,12643,5.128,12644,5.128,12645,5.128,12646,5.128,12647,4.748,12648,4.748,12649,4.748,12650,3.084,12651,3.084,12652,3.084,12653,3.084,12654,3.084,12655,3.084,12656,2.856,12657,3.084,12658,3.084,12659,3.084,12660,3.084,12661,3.084,12662,3.084,12663,3.084,12664,3.084,12665,3.084,12666,3.084,12667,3.084,12668,3.084]],["title/classes/Group.html",[0,0.239,1065,3.41]],["body/classes/Group.html",[0,0.229,2,0.706,3,0.013,4,0.013,5,0.006,7,0.093,8,1.066,26,1.902,27,0.535,29,0.814,30,0.001,31,0.719,32,0.166,33,0.486,34,1.134,35,1.398,47,0.816,83,2.691,95,0.138,99,1.359,101,0.012,103,0,104,0,112,0.722,113,3.684,122,2.218,125,2.2,130,2.528,134,2.347,145,2.489,148,1.237,159,0.683,185,2.276,231,1.843,290,2.514,435,3.226,436,2.739,532,3.429,567,2.524,569,3.751,578,3.472,711,2.739,735,4.209,1065,5.641,1767,5.086,1770,4.89,1773,6.532,1849,3.844,1853,2.172,2661,5.826,3036,4.175,3054,4.175,3370,5.158,3371,6.15,3390,8.63,4540,8.559,4551,5.093,4578,5.585,5905,5.392,8056,6.228,10011,8.153,10049,8.75,12669,6.15,12670,9.242,12671,10.643,12672,8.815,12673,8.559,12674,10.324,12675,6.641,12676,6.641,12677,8.559,12678,6.641,12679,6.641,12680,6.641,12681,6.641,12682,6.641,12683,6.641,12684,6.641,12685,6.641,12686,6.641,12687,5.231,12688,6.641,12689,5.392,12690,5.585,12691,5.585,12692,6.15,12693,6.15,12694,6.15,12695,6.15,12696,5.826,12697,6.15,12698,6.15,12699,5.585,12700,6.15]],["title/modules/GroupApiModule.html",[252,1.836,12701,5.842]],["body/modules/GroupApiModule.html",[0,0.268,3,0.015,4,0.015,5,0.007,30,0.001,95,0.159,101,0.01,103,0,104,0,252,3.046,254,2.8,255,2.965,256,3.041,257,3.029,258,3.018,259,4.192,260,2.894,265,6.06,269,4.023,270,2.986,271,2.924,273,4.886,274,4.299,276,4.023,277,1.116,314,2.975,703,2.413,1027,2.382,1524,10.053,1525,9.605,1539,6.31,1540,5.583,1856,7.52,2069,4.629,2653,3.593,3005,3.669,3843,8.145,3853,4.091,4755,11.023,6018,8.802,8984,7.198,12701,12.246,12702,7.772,12703,7.772,12704,7.772,12705,11.023,12706,12.139,12707,7.772,12708,10.112,12709,7.772]],["title/controllers/GroupController.html",[314,2.659,12708,6.094]],["body/controllers/GroupController.html",[0,0.353,2,0.936,3,0.012,4,0.012,5,0.006,7,0.087,8,1.014,27,0.346,29,0.674,30,0.001,31,0.493,32,0.174,33,0.402,34,1.057,35,1.018,36,2.357,95,0.151,100,2.16,101,0.008,103,0,104,0,125,2.094,135,1.453,148,0.87,190,1.579,202,1.422,228,1.122,274,2.588,277,0.889,290,1.464,298,2.678,314,2.37,316,2.987,317,2.649,325,6.248,326,3.89,349,6.546,359,5.732,365,4.954,374,3.805,388,3.772,390,6.035,391,7.73,392,3.236,395,3.329,398,3.354,400,1.844,401,4.919,402,4.377,657,2.013,675,3.152,711,3.624,869,4.318,871,4.079,883,7.856,1065,5.023,1367,7.515,1368,3.49,1725,4.365,1853,2.025,2050,3.708,3005,2.922,3181,4.446,3209,3.193,4030,3.724,4654,9.775,4662,5.026,4704,8.605,4784,9.775,5055,6.096,7452,5.923,7580,5.292,8070,4.748,10783,8.308,10841,5.431,11289,9.476,12706,9.476,12708,7.717,12710,6.19,12711,10.233,12712,6.19,12713,9.476,12714,6.19,12715,11.142,12716,8.797,12717,11.142,12718,6.19,12719,6.19,12720,6.19,12721,9.775,12722,6.19,12723,6.19,12724,6.19,12725,6.19,12726,6.19,12727,7.142,12728,8.605,12729,5.431,12730,6.19,12731,6.19,12732,8.146,12733,6.19,12734,6.19,12735,6.19,12736,7.717,12737,7.717,12738,6.19,12739,6.19,12740,6.19,12741,6.19,12742,6.19,12743,6.19]],["title/classes/GroupDomainMapper.html",[0,0.239,12744,6.094]],["body/classes/GroupDomainMapper.html",[0,0.188,2,0.58,3,0.01,4,0.01,5,0.005,7,0.077,8,0.925,27,0.461,29,0.897,30,0.001,31,0.696,32,0.155,33,0.535,34,1.37,35,1.355,39,1.509,48,2.675,95,0.128,96,1.437,97,2.224,101,0.007,103,0,104,0,125,2.786,135,1.654,148,1.158,153,1.836,205,2.141,290,1.898,331,3.55,435,1.902,459,2.869,467,4.025,478,1.53,692,2.573,704,4.085,1065,5.494,1078,3.518,1853,1.783,1882,2.079,2444,7.149,3370,3.601,3382,2.495,3601,7.636,4617,2.446,4721,3.313,4722,4.293,4819,7.586,5096,4.082,5163,2.999,5747,3.717,7487,7.864,9574,3.349,10011,4.18,10049,8.912,10054,9.534,10577,7.039,12672,4.18,12674,9.886,12689,9.087,12690,4.584,12691,4.584,12696,4.782,12744,7.039,12745,12.103,12746,5.047,12747,7.43,12748,8.023,12749,9.521,12750,8.023,12751,8.023,12752,8.023,12753,5.451,12754,8.526,12755,7.43,12756,5.451,12757,8.023,12758,5.451,12759,5.451,12760,5.451,12761,8.023,12762,9.782,12763,5.451,12764,8.023,12765,5.451,12766,4.584,12767,7.499,12768,5.451,12769,7.43,12770,7.039,12771,5.451,12772,5.451,12773,8.353,12774,8.023,12775,8.023,12776,5.451,12777,4.782,12778,5.451,12779,5.451,12780,5.451,12781,8.023,12782,5.451,12783,5.451,12784,5.451,12785,8.023,12786,5.451,12787,5.451,12788,5.451,12789,5.451,12790,5.451,12791,5.451,12792,5.451,12793,5.451,12794,5.451,12795,4.584,12796,5.451,12797,5.451,12798,5.451,12799,5.451,12800,5.451,12801,5.451]],["title/entities/GroupEntity.html",[205,1.416,7487,5.202]],["body/entities/GroupEntity.html",[0,0.373,3,0.013,4,0.013,5,0.006,7,0.096,26,1.945,27,0.497,30,0.001,31,0.653,32,0.169,33,0.577,34,1.171,47,0.767,95,0.148,96,1.808,99,1.403,101,0.014,103,0,104,0,112,0.738,159,0.705,190,2.268,195,2.886,196,4.179,205,1.926,206,2.23,223,3.357,224,1.992,225,3.63,229,2.712,231,1.188,232,1.858,233,2.14,458,2.743,459,4.974,628,4.083,692,5.769,886,3.666,1065,4.638,1835,4.842,2108,2.993,2183,2.702,3370,5.23,4601,7.492,4607,6.221,4608,3.899,4617,3.077,4679,4.168,5670,4.437,5747,7.945,7452,3.969,7487,7.076,7495,3.866,7720,4.675,9860,4.834,10049,7.945,10054,9.627,12754,7.671,12762,9.627,12766,9.798,12767,9.627,12773,10.222,12777,6.015,12802,6.349,12803,6.856,12804,6.856,12805,6.856,12806,6.856,12807,6.856,12808,6.856,12809,6.349,12810,6.349,12811,6.349,12812,5.766,12813,6.349,12814,6.349,12815,5.567,12816,6.349,12817,6.349,12818,6.349]],["title/interfaces/GroupEntityProps.html",[159,0.714,12754,5.64]],["body/interfaces/GroupEntityProps.html",[0,0.378,3,0.013,4,0.013,5,0.007,7,0.099,26,2.428,30,0.001,31,0.692,32,0.173,33,0.607,34,2.015,47,0.837,95,0.149,96,1.862,99,1.445,101,0.014,103,0,104,0,112,0.753,159,0.726,161,1.677,195,2.582,196,3.632,205,1.966,223,2.994,224,2.051,225,3.704,229,2.793,231,1.224,232,1.914,233,2.204,458,2.825,459,5.076,628,4.206,692,6.017,886,3.455,1065,4.733,1835,3.619,2108,3.082,2183,2.783,3370,5.543,4607,6.299,4608,4.016,4617,3.169,4679,4.293,5670,4.527,5747,8.421,7452,4.087,7487,5.288,7495,3.982,9860,4.979,10049,8.421,10054,10.041,12754,8.914,12762,10.041,12766,10.385,12767,10.041,12773,10.834,12777,6.195,12802,6.539,12809,6.539,12810,6.539,12811,6.539,12812,5.938,12813,6.539,12814,6.539,12815,5.733,12816,6.539,12817,6.539,12818,6.539]],["title/classes/GroupIdParams.html",[0,0.239,12721,6.094]],["body/classes/GroupIdParams.html",[0,0.416,2,1.066,3,0.019,4,0.019,5,0.009,7,0.141,27,0.394,30,0.001,32,0.125,34,2.063,47,0.857,95,0.138,101,0.013,103,0.001,104,0.001,112,0.943,190,1.8,194,4.725,195,2.643,196,3.316,197,3.359,200,3.071,202,2.303,296,3.156,855,4.889,4657,8.43,6753,8.43,8444,9.709,12721,10.597,12819,12.079,12820,9.283]],["title/modules/GroupModule.html",[252,1.836,12705,5.842]],["body/modules/GroupModule.html",[0,0.329,3,0.018,4,0.018,5,0.009,30,0.001,95,0.145,101,0.013,103,0.001,104,0.001,252,3.354,254,3.439,255,3.642,256,3.735,257,3.721,258,3.708,259,4.616,260,4.725,269,4.587,270,3.668,271,3.591,277,1.371,610,3.763,2609,4.686,12705,11.989,12821,9.547,12822,9.547,12823,9.547,12824,12.177,12825,11.631,12826,9.547]],["title/interfaces/GroupNameIdTuple.html",[159,0.714,12827,5.842]],["body/interfaces/GroupNameIdTuple.html",[3,0.019,4,0.019,5,0.009,7,0.141,30,0.001,31,0.561,32,0.15,39,2.774,47,1.03,101,0.016,103,0.001,104,0.001,112,0.943,159,1.242,161,2.381,173,6.634,175,8.43,187,5.652,702,4.949,4541,3.498,6541,7.068,6627,6.853,7452,5.802,12827,10.903,12828,9.283,12829,11.808]],["title/interfaces/GroupProps.html",[159,0.714,12689,5.64]],["body/interfaces/GroupProps.html",[0,0.246,3,0.014,4,0.014,5,0.007,7,0.1,26,2.439,30,0.001,31,0.694,32,0.175,33,0.609,34,2.024,47,0.945,83,3.724,95,0.141,99,1.461,101,0.013,103,0,104,0,112,0.758,122,2.027,125,2.311,130,1.952,134,2.522,145,2.675,148,1.265,159,0.734,161,1.695,185,2.446,231,1.914,290,1.688,567,2.713,569,3.015,578,3.731,1065,5.419,1767,6.075,1770,3.931,1849,4.131,1853,2.334,2661,6.261,3370,5.563,3390,8.963,4578,6.002,5905,5.794,8056,5.263,10011,9.507,10049,9.309,12669,6.609,12671,6.609,12672,9.507,12673,6.609,12674,10.212,12677,6.609,12689,7.885,12690,9.965,12691,9.965,12692,6.609,12693,6.609,12694,6.609,12695,6.609,12696,6.261,12697,6.609,12698,6.609,12699,6.002,12700,6.609]],["title/injectables/GroupRepo.html",[589,0.926,12825,5.842]],["body/injectables/GroupRepo.html",[0,0.175,3,0.01,4,0.01,5,0.005,7,0.071,8,0.879,10,3.049,12,3.436,18,3.855,26,2.609,27,0.466,29,0.907,30,0.001,31,0.663,32,0.155,33,0.541,34,1.733,35,1.321,36,2.758,40,3.676,47,0.649,48,4.982,49,1.919,95,0.135,96,1.341,97,2.074,99,1.041,101,0.007,103,0,104,0,135,1.785,142,4.151,148,1.273,153,1.941,195,1.113,197,1.414,205,2.412,206,2.478,228,0.921,277,0.73,290,1.802,317,2.964,400,1.514,433,0.627,435,3.542,589,1.016,591,1.21,657,2.784,704,3.879,711,4.055,1065,6.316,1770,4.619,1853,1.663,1882,1.939,2444,5.629,2453,6.625,2469,5.195,2490,7.056,2491,5.372,2510,6.186,3370,2.282,3382,2.327,3596,3.319,3601,4.451,3659,3.9,4541,2.659,4751,5.372,4765,6.685,4772,6.685,5747,3.467,7487,9.319,8056,5.5,9445,4.461,10049,3.467,10605,4.461,10608,4.461,10613,6.685,12689,9.265,12744,4.461,12754,6.186,12766,4.276,12769,4.709,12825,6.407,12830,5.085,12831,7.056,12832,6.685,12833,5.085,12834,5.085,12835,7.056,12836,5.085,12837,5.085,12838,7.056,12839,5.085,12840,5.085,12841,5.085,12842,4.709,12843,10.149,12844,10.149,12845,10.149,12846,7.619,12847,5.085,12848,5.085,12849,9.138,12850,5.085,12851,9.138,12852,5.085,12853,5.085,12854,5.085,12855,5.085,12856,5.085]],["title/classes/GroupResponse.html",[0,0.239,12728,5.842]],["body/classes/GroupResponse.html",[0,0.27,2,0.835,3,0.015,4,0.015,5,0.007,7,0.11,27,0.527,29,0.601,30,0.001,31,0.69,32,0.174,33,0.585,34,1.978,47,0.933,95,0.14,101,0.01,103,0.001,104,0.001,112,0.808,125,1.868,190,2.36,201,4.97,202,1.803,296,3.502,433,0.967,458,3.14,614,2.417,866,3.898,886,2.47,1065,5.684,1148,6.02,2108,3.426,2183,3.093,3169,4.674,3370,5.198,10049,7.897,10063,9.739,12672,8.882,12728,10.763,12812,6.6,12815,6.372,12857,7.848,12858,9.081,12859,10.35,12860,7.848,12861,7.848,12862,7.848,12863,11.852,12864,7.848,12865,10.354,12866,7.848,12867,7.848,12868,7.848,12869,7.848,12870,6.886,12871,6.886,12872,6.886,12873,6.886,12874,7.268,12875,7.268]],["title/classes/GroupResponseMapper.html",[0,0.239,12729,6.094]],["body/classes/GroupResponseMapper.html",[0,0.237,2,0.732,3,0.013,4,0.013,5,0.006,7,0.097,8,1.092,27,0.426,29,0.83,30,0.001,31,0.685,32,0.152,33,0.495,34,1.85,35,1.254,47,0.488,48,3.377,55,2.539,56,5.508,59,2.941,70,5.941,95,0.133,100,2.401,101,0.009,103,0,104,0,125,1.637,135,1.596,148,1.071,153,2.007,290,1.627,331,3.045,467,3.901,652,2.208,700,3.319,701,3.319,704,3.503,829,4.058,869,5.727,871,3.468,1078,3.017,1725,4.851,1853,2.25,1882,2.624,3370,3.088,4662,9.474,4665,5.786,4666,5.786,4667,4.62,4668,5.786,4690,10.29,4692,4.433,4704,10.29,4819,6.694,9634,6.036,10011,5.277,10049,4.691,10063,7.965,10798,6.036,12672,5.277,12727,9.474,12728,10.29,12729,8.309,12770,6.036,12863,6.371,12865,7.965,12876,11.669,12877,10.831,12878,9.471,12879,9.471,12880,6.88,12881,9.471,12882,9.471,12883,6.88,12884,6.88,12885,9.471,12886,6.88,12887,6.88,12888,6.88,12889,9.471,12890,6.88,12891,6.88,12892,6.88,12893,6.88,12894,6.88,12895,6.88,12896,6.88,12897,6.88,12898,6.88,12899,6.88,12900,6.88,12901,6.88,12902,6.88,12903,6.88,12904,6.88,12905,6.88,12906,6.88,12907,6.88,12908,6.88,12909,6.88,12910,6.88,12911,6.88,12912,6.88]],["title/classes/GroupRoleUnknownLoggable.html",[0,0.239,12913,6.094]],["body/classes/GroupRoleUnknownLoggable.html",[0,0.313,2,0.967,3,0.017,4,0.017,5,0.008,7,0.128,8,1.312,27,0.448,29,0.697,30,0.001,31,0.509,32,0.113,33,0.416,35,1.052,95,0.13,101,0.012,103,0.001,104,0.001,148,0.899,158,3.351,228,1.648,290,2.151,331,5.495,339,2.668,400,2.708,433,1.121,1027,2.786,1065,4.463,1115,3.481,1237,3.355,1422,5.086,1423,5.861,1426,5.84,1468,5.861,1469,6.167,1626,5.043,3331,6.531,4906,6.018,10024,6.2,12913,9.981,12914,12.417,12915,9.093,12916,9.093,12917,10.564,12918,9.093,12919,9.981,12920,9.093,12921,9.093,12922,6.809,12923,9.093,12924,9.093,12925,9.093]],["title/injectables/GroupRule.html",[589,0.926,1870,5.842]],["body/injectables/GroupRule.html",[0,0.276,3,0.015,4,0.015,5,0.007,7,0.113,8,1.211,27,0.461,29,0.897,30,0.001,31,0.656,32,0.155,33,0.535,35,1.215,95,0.147,101,0.011,103,0.001,104,0.001,122,2.759,135,1.37,148,1.039,183,4.465,195,1.755,228,1.454,277,1.152,290,3.269,400,2.389,433,0.989,478,2.252,589,1.4,591,1.909,653,3.312,711,3.918,1065,6.708,1237,2.365,1770,5.453,1775,6.833,1801,8.217,1838,7.549,1870,8.829,1981,6.765,1985,6.524,1992,5.309,3663,6.949,3664,5.386,3667,6.854,3669,5.386,3670,7.05,3671,5.877,6943,5.761,12926,8.021,12927,8.021,12928,8.021,12929,8.021,12930,8.021,12931,10.499]],["title/injectables/GroupService.html",[589,0.926,12824,5.842]],["body/injectables/GroupService.html",[0,0.203,3,0.011,4,0.011,5,0.005,7,0.083,8,0.98,10,3.4,12,3.833,18,4.3,26,2.789,27,0.5,29,0.973,30,0.001,31,0.711,32,0.161,33,0.58,34,1.862,35,1.436,36,2.889,40,4.1,47,0.707,48,5.35,95,0.141,99,1.207,101,0.008,103,0,104,0,135,1.57,142,3.623,148,1.19,153,0.968,228,1.069,277,0.847,290,1.395,317,3.062,400,1.757,433,0.727,579,1.688,589,1.133,591,1.404,657,2.838,704,3.004,711,4.188,1065,6.998,1237,1.739,1472,3.299,1853,1.929,1854,7.147,1882,2.25,2609,2.896,2653,2.727,4541,2.059,4765,7.456,4772,7.456,4815,3.961,4816,4.022,7452,4.919,8056,5.907,12824,7.147,12825,10.12,12831,7.87,12832,7.456,12835,7.87,12838,7.87,12932,5.899,12933,8.499,12934,5.899,12935,5.899,12936,8.499,12937,5.899,12938,5.899,12939,5.899,12940,5.899,12941,5.899,12942,8.499,12943,5.899,12944,8.499,12945,5.899,12946,8.499,12947,5.899,12948,5.899,12949,5.899,12950,5.899,12951,8.499,12952,5.899,12953,5.899]],["title/classes/GroupUcMapper.html",[0,0.239,12954,6.433]],["body/classes/GroupUcMapper.html",[0,0.412,2,0.686,3,0.012,4,0.012,5,0.006,7,0.091,8,1.044,27,0.412,29,0.802,30,0.001,31,0.713,32,0.159,33,0.478,34,1.787,35,1.211,59,2.811,95,0.148,100,2.251,101,0.008,103,0,104,0,135,1.559,145,2.417,148,1.035,153,1.716,467,3.845,478,1.81,595,2.434,711,3.101,1065,6.567,1148,6.945,1540,4.632,1853,2.109,1882,2.46,2546,4.469,3370,2.894,3382,4.789,3422,4.21,3799,5.08,4613,5.423,4662,10.72,4665,7.614,4666,7.614,4667,7.62,4668,7.614,4669,8.385,4677,5.658,4692,6.742,4819,7.109,4823,5.972,4824,5.972,5009,3.577,8056,6.477,10049,4.397,11368,4.33,11369,4.33,12462,7.62,12727,9.704,12870,7.944,12871,5.658,12873,5.658,12954,8.385,12955,11.347,12956,6.449,12957,9.055,12958,10.464,12959,9.055,12960,9.055,12961,6.449,12962,6.449,12963,11.347,12964,11.251,12965,7.864,12966,6.449,12967,9.055,12968,11.347,12969,6.449,12970,6.449,12971,6.449,12972,6.449,12973,6.449,12974,6.449,12975,9.055,12976,6.449,12977,6.449,12978,6.449,12979,9.055,12980,6.449,12981,6.449,12982,6.449,12983,6.449,12984,6.449,12985,6.449,12986,6.449,12987,6.449,12988,6.449]],["title/classes/GroupUser.html",[0,0.239,12674,5.328]],["body/classes/GroupUser.html",[0,0.335,2,1.035,3,0.018,4,0.018,5,0.009,7,0.137,26,2.812,27,0.504,29,0.746,30,0.001,31,0.545,32,0.159,33,0.445,39,3.543,95,0.111,99,1.992,101,0.013,103,0.001,104,0.001,112,0.927,232,3.215,242,5.123,243,6.118,433,1.199,435,3.397,5096,9.585,12674,10.477,12989,13.325,12990,8.538,12991,11.865,12992,9.732,12993,8.538,12994,8.538]],["title/classes/GroupUserEntity.html",[0,0.239,12762,5.472]],["body/classes/GroupUserEntity.html",[0,0.313,2,0.965,3,0.017,4,0.017,5,0.008,7,0.127,27,0.488,29,0.695,30,0.001,31,0.508,32,0.155,33,0.415,95,0.13,96,2.392,101,0.015,103,0.001,104,0.001,112,0.887,159,0.933,190,2.04,224,2.635,232,3.079,290,3.343,331,6.255,433,1.118,435,3.166,478,2.547,2268,6.648,2685,5.785,5670,5.824,7720,7.747,8553,6.287,10016,6.516,12762,8.949,12995,10.933,12996,7.146,12997,11.406,12998,11.361,12999,9.072,13000,6.958]],["title/interfaces/GroupUserEntityProps.html",[159,0.714,12997,6.094]],["body/interfaces/GroupUserEntityProps.html",[0,0.328,3,0.018,4,0.018,5,0.009,7,0.134,30,0.001,32,0.146,95,0.134,96,2.511,101,0.015,103,0.001,104,0.001,112,0.914,159,0.979,161,2.262,224,2.767,232,2.581,290,3.409,331,6.379,478,2.674,2268,6.979,2685,5.962,5670,5.953,8553,6.601,10016,6.841,12762,7.502,12995,8.009,12996,7.502,12997,11.123,13000,7.305]],["title/classes/GroupUserResponse.html",[0,0.239,12865,5.842]],["body/classes/GroupUserResponse.html",[0,0.299,2,0.921,3,0.016,4,0.016,5,0.008,7,0.122,27,0.52,29,0.664,30,0.001,31,0.485,32,0.164,33,0.396,34,2.074,47,0.958,95,0.126,101,0.011,103,0.001,104,0.001,112,0.862,190,2.295,202,1.99,290,2.048,296,3.628,331,5.373,433,1.067,458,3.465,578,4.528,595,3.269,700,5.858,701,5.858,886,2.725,2268,6.347,3169,5.158,3421,5.816,3422,5.654,5009,7.323,11189,5.654,11191,5.654,12865,11.102,13001,13.497,13002,7.032,13003,9.278,13004,11.033,13005,8.661,13006,8.661,13007,8.661,13008,8.661]],["title/interfaces/GroupUsers.html",[159,0.714,13009,5.202]],["body/interfaces/GroupUsers.html",[3,0.018,4,0.018,5,0.009,7,0.131,30,0.001,32,0.116,34,1.589,47,0.999,55,2.518,101,0.018,103,0.001,104,0.001,112,0.901,122,1.941,159,1.432,161,2.21,339,2.729,402,3.33,532,3.452,1076,5.919,1081,6.344,1115,3.561,3370,5.888,4949,6.344,7452,5.385,13009,8.642,13010,7.136,13011,6.967,13012,6.967,13013,7.136,13014,8.555,13015,7.136,13016,7.136,13017,6.967,13018,7.136,13019,6.817,13020,6.967,13021,7.136,13022,6.967]],["title/classes/GroupValidPeriodEntity.html",[0,0.239,12767,5.472]],["body/classes/GroupValidPeriodEntity.html",[0,0.32,2,0.987,3,0.018,4,0.018,5,0.009,7,0.13,27,0.493,29,0.711,30,0.001,31,0.52,32,0.156,33,0.424,83,4,95,0.106,96,2.447,101,0.015,103,0.001,104,0.001,112,0.9,159,0.954,190,2.069,223,4.184,224,2.696,232,3.123,433,1.144,435,3.239,628,7.806,2685,5.868,9574,8.054,10019,8.144,10020,8.144,10021,8.144,10022,8.144,12767,9.077,12995,11.022,13023,8.596,13024,11.499,13025,11.524,13026,9.282]],["title/interfaces/GroupValidPeriodEntityProps.html",[159,0.714,13024,6.094]],["body/interfaces/GroupValidPeriodEntityProps.html",[0,0.34,3,0.019,4,0.019,5,0.009,7,0.138,30,0.001,32,0.149,83,4.144,95,0.112,96,2.597,101,0.016,103,0.001,104,0.001,112,0.934,159,1.013,161,2.34,223,3.995,224,2.862,232,2.67,628,5.867,2685,6.086,9574,8.423,10019,8.643,10020,8.643,10021,8.643,10022,8.643,12767,7.76,12995,8.285,13023,9.123,13024,11.289]],["title/interfaces/GroupfoldersCreated.html",[159,0.714,13022,5.202]],["body/interfaces/GroupfoldersCreated.html",[3,0.018,4,0.018,5,0.009,7,0.131,30,0.001,32,0.116,34,2.24,47,0.976,55,2.707,101,0.018,103,0.001,104,0.001,112,0.901,122,1.941,159,1.432,161,2.21,339,2.729,402,3.33,532,3.452,1076,5.919,1081,6.344,1115,3.561,3370,4.176,4949,6.344,7452,5.385,13009,6.967,13010,7.136,13011,6.967,13012,6.967,13013,7.136,13014,8.555,13015,7.136,13016,7.136,13017,6.967,13018,7.136,13019,6.817,13020,6.967,13021,7.136,13022,8.642]],["title/interfaces/GroupfoldersFolder.html",[159,0.714,13020,5.202]],["body/interfaces/GroupfoldersFolder.html",[3,0.018,4,0.018,5,0.009,7,0.131,30,0.001,32,0.116,34,1.589,47,0.976,55,2.707,101,0.018,103,0.001,104,0.001,112,0.901,122,1.941,159,1.432,161,2.21,339,2.729,402,3.33,532,3.452,1076,5.919,1081,6.344,1115,3.561,3370,4.176,4949,6.344,7452,5.385,13009,6.967,13010,7.136,13011,6.967,13012,6.967,13013,7.136,13014,8.555,13015,7.136,13016,7.136,13017,6.967,13018,7.136,13019,6.817,13020,8.642,13021,10.061,13022,6.967]],["title/classes/GuardAgainst.html",[0,0.239,13027,6.094]],["body/classes/GuardAgainst.html",[0,0.295,2,0.912,3,0.016,4,0.016,5,0.008,7,0.12,8,1.264,27,0.337,29,0.84,30,0.001,31,0.48,32,0.137,33,0.392,35,1.268,101,0.011,103,0.001,104,0.001,125,3.203,130,3.827,142,4.896,148,0.848,157,1.973,158,3.158,388,4.699,467,3.518,532,4.994,579,2.453,985,6.343,1461,8.206,1472,7.12,2388,10.338,2834,8.896,4920,8.631,9562,8.029,13027,9.614,13028,10.958,13029,8.569,13030,10.958,13031,10.958,13032,13.159,13033,8.569,13034,10.147,13035,8.404,13036,10.958]],["title/entities/H5PContent.html",[205,1.416,6608,5.202]],["body/entities/H5PContent.html",[0,0.26,3,0.01,4,0.014,5,0.005,7,0.142,26,2.427,27,0.447,30,0.001,32,0.142,47,0.964,49,4.45,95,0.13,96,1.992,97,2.051,99,1.029,101,0.013,103,0,104,0,112,0.59,131,5.786,148,0.898,153,1.489,155,1.595,158,2.784,159,0.517,190,2.04,195,2.952,196,4.462,205,1.54,206,1.635,223,4.4,224,1.46,225,2.902,229,1.989,231,0.871,233,1.569,433,0.62,478,1.411,703,2.346,886,2.856,1195,5.82,1198,3.024,1215,3.024,1237,1.482,1936,2.361,2163,2.324,2392,4.497,2685,3.847,2911,4.196,3025,2.412,3378,2.965,3620,3.822,3724,2.965,3885,4.284,4143,3.376,4541,3.167,4601,3.484,4607,4.034,4634,3.484,4818,4.082,5435,5.657,5729,2.859,6505,8.783,6506,9.571,6507,4.411,6508,5.925,6509,4.411,6510,4.411,6511,4.228,6512,3.376,6513,2.859,6514,4.228,6515,3.856,6516,3.856,6517,3.765,6518,3.856,6519,3.282,6520,4.411,6521,4.411,6522,3.545,6523,4.411,6524,4.411,6525,3.765,6526,3.856,6527,4.411,6528,4.411,6529,3.611,6533,6.628,6535,6.628,6538,7.74,6541,3.545,6542,3.856,6558,4.296,6559,3.684,6560,7.962,6561,3.856,6562,4.411,6563,3.856,6564,4.411,6565,3.611,6566,3.611,6567,4.411,6568,4.411,6569,3.545,6570,4.411,6571,3.856,6572,4.411,6573,3.856,6574,4.411,6575,3.856,6576,4.411,6577,3.856,6578,4.411,6579,4.411,6580,4.411,6581,4.411,6582,4.411,6583,3.856,6584,4.411,6585,4.411,6586,4.411,6587,4.411,6588,4.411,6589,4.411,6590,4.411,6591,4.411,6592,4.411,6593,4.411,6594,4.411,6595,4.411,6596,4.411,6597,4.411,6598,4.411,6599,4.411,6600,4.411,6601,4.411,6602,4.228,6603,4.411,6604,6.881,6605,6.134,6606,5.034,6607,5.364,6608,5.657,6609,4.063,6610,6.519,6611,3.611,6612,6.189,6613,3.611,6614,6.65,6615,3.765,6616,3.199,6617,3.484,6618,4.228,6619,3.611,6620,4.411,6621,3.765,6622,3.611,11754,4.655,11762,4.655,13037,5.027,13038,5.027,13039,5.027,13040,4.655,13041,5.027,13042,5.027,13043,5.027]],["title/classes/H5PContentFactory.html",[0,0.239,13044,6.433]],["body/classes/H5PContentFactory.html",[0,0.17,2,0.524,3,0.009,4,0.009,5,0.005,7,0.069,8,0.857,27,0.515,29,1.013,30,0.001,31,0.704,32,0.167,33,0.575,34,1.531,35,1.428,47,0.528,49,1.858,55,2.349,59,3.328,95,0.102,101,0.006,103,0,104,0,112,0.581,113,4.493,127,4.99,129,3.598,130,3.296,131,2.506,135,0.642,148,0.487,153,1.759,155,2.359,157,2.063,172,3.161,185,2.548,192,2.709,195,1.627,205,2.185,206,2.418,228,1.348,231,1.289,326,4.778,374,3.217,433,0.607,436,3.88,467,2.165,501,7.283,502,5.538,505,4.124,506,5.538,507,5.433,508,4.124,509,4.124,510,4.124,511,4.06,512,4.563,513,4.97,514,6.812,515,5.853,516,7.071,517,2.753,522,2.73,523,4.124,524,2.753,525,5.22,526,5.37,527,4.227,528,5.052,529,4.092,530,2.73,531,2.573,532,4.183,533,2.628,534,2.573,535,2.73,536,2.753,537,4.893,538,2.73,539,6.972,540,4.232,541,6.684,542,2.753,543,4.348,544,2.73,545,2.753,546,2.73,547,2.753,548,2.73,549,3.059,550,2.876,551,2.73,552,6.155,553,2.753,554,2.73,555,4.124,556,3.762,557,4.124,558,2.753,559,2.648,560,2.61,561,2.209,562,2.73,563,2.73,564,2.73,565,2.753,566,2.753,567,1.871,568,2.73,569,1.528,570,2.753,571,2.942,572,2.73,573,2.753,574,2.776,576,2.903,1198,2.961,2392,1.878,3885,2.324,4463,5.568,4541,1.718,5329,7.477,6505,6.037,6514,4.139,6517,3.686,6519,4.854,6522,3.471,6525,3.686,6541,3.471,6604,3.356,6605,3.996,6606,2.73,6607,2.324,6608,3.686,11637,2.876,12395,3.877,13044,8.298,13045,4.558,13046,4.922,13047,4.139,13048,4.558,13049,4.922,13050,4.922,13051,4.922,13052,4.922,13053,4.922,13054,4.922,13055,4.558,13056,4.922]],["title/classes/H5PContentMapper.html",[0,0.239,13057,6.433]],["body/classes/H5PContentMapper.html",[0,0.325,2,1.004,3,0.018,4,0.018,5,0.009,7,0.133,8,1.342,27,0.371,29,0.723,30,0.001,31,0.528,32,0.145,33,0.431,35,1.092,95,0.144,101,0.012,103,0.001,104,0.001,134,3.334,135,1.519,148,0.933,153,1.91,205,1.923,277,1.355,467,3.676,579,2.7,1195,5.748,1952,8.902,2769,5.152,3507,7.407,6604,8.989,7582,8.356,12276,9.789,12281,9.789,12297,8.278,12302,7.66,13057,10.78,13058,10.78,13059,9.435,13060,9.435,13061,9.435,13062,9.435]],["title/classes/H5PContentMetadata.html",[0,0.239,12516,5.202]],["body/classes/H5PContentMetadata.html",[0,0.4,2,0.721,3,0.013,4,0.013,5,0.006,7,0.095,27,0.423,29,0.519,30,0.001,31,0.602,32,0.144,33,0.31,34,1.157,47,1.009,55,1.881,95,0.123,101,0.016,103,0,104,0,112,0.732,131,6.409,155,3.408,158,2.497,159,1.104,190,1.683,202,1.557,231,1.174,296,3.624,326,4.084,339,2.749,374,4.054,433,0.835,1195,5.724,1215,6.464,1240,3.996,1302,5.959,1304,3.853,1925,5.697,1926,6.293,2084,4.695,2163,3.132,2373,4.965,2392,2.584,2434,4.62,3025,3.251,3378,5.527,4143,4.55,5187,4.497,6508,8.585,6513,5.329,6522,7.575,6529,6.731,6558,3.853,6565,4.866,6566,4.866,6622,6.731,7252,5.823,7253,5.697,7254,5.697,8022,5.475,11637,5.475,11966,4.484,12490,7.568,12491,5.196,12492,7.188,12493,8.24,12494,7.188,12495,6.867,12496,7.188,12497,5.196,12498,5.196,12499,5.196,12500,5.196,12501,5.196,12502,5.196,12503,5.074,12504,6.608,12505,4.777,12506,5.196,12507,5.196,12508,4.695,12509,7.018,12510,4.965,12511,5.196,12512,5.196,12513,5.196,12514,5.196,12515,5.196,12516,8.681,12517,4.965,12518,5.196,13063,6.775,13064,6.775,13065,6.775]],["title/interfaces/H5PContentParentParams.html",[159,0.714,13066,6.094]],["body/interfaces/H5PContentParentParams.html",[0,0.292,3,0.016,4,0.016,5,0.008,7,0.119,26,2.898,30,0.001,31,0.475,32,0.158,34,1.448,47,0.853,95,0.137,99,1.735,101,0.014,103,0.001,104,0.001,112,0.85,122,2.508,159,0.872,161,2.014,205,1.728,458,3.392,578,4.432,702,4.186,1195,4.186,1237,2.5,1619,5.21,2108,3.701,2163,3.92,2183,3.341,3885,5.987,4541,4.578,4618,5,6558,4.821,6604,8.943,6607,5.987,11193,5.781,13003,7.13,13066,10.546,13067,7.851,13068,7.851,13069,9.759,13070,7.438,13071,7.851,13072,7.851,13073,7.13,13074,7.13,13075,7.13,13076,7.13,13077,7.851,13078,7.851,13079,7.851,13080,7.851,13081,7.851,13082,7.851,13083,7.851,13084,7.851,13085,7.851,13086,7.851,13087,7.851,13088,6.349,13089,7.851,13090,7.851]],["title/interfaces/H5PContentProperties.html",[159,0.714,6605,5.64]],["body/interfaces/H5PContentProperties.html",[0,0.269,3,0.01,4,0.015,5,0.005,7,0.145,26,2.731,30,0.001,32,0.144,47,0.971,49,3.895,95,0.132,96,2.06,97,2.145,99,1.076,101,0.014,103,0,104,0,112,0.61,131,6.092,148,0.922,153,1.529,155,1.668,158,2.879,159,0.54,161,1.249,195,2.974,196,4.495,205,1.593,223,4.419,224,1.527,225,3.001,229,2.08,231,0.911,233,1.641,433,0.648,478,1.476,703,1.632,886,2.933,1195,2.596,1198,3.163,1215,3.163,1237,1.55,1936,2.469,2163,2.431,2392,4.688,2685,3.978,2911,4.31,3025,2.523,3378,3.101,3620,2.66,3724,3.101,3885,5.454,4143,3.531,4541,4.033,4607,4.171,4634,3.644,4818,4.269,5729,2.99,6505,9.381,6506,4.269,6507,4.613,6508,6.085,6509,4.613,6510,4.613,6511,4.421,6512,3.531,6513,2.99,6514,4.421,6515,4.033,6516,4.033,6517,3.937,6518,4.033,6519,3.432,6520,4.613,6521,4.613,6522,3.707,6523,4.613,6524,4.613,6525,3.937,6526,4.033,6527,4.613,6528,4.613,6529,3.776,6533,6.854,6535,6.854,6538,7.914,6541,3.707,6542,4.033,6558,4.443,6559,3.853,6560,6.854,6561,4.033,6562,4.613,6563,4.033,6564,4.613,6565,3.776,6566,3.776,6567,4.613,6568,4.613,6569,3.707,6570,4.613,6571,4.033,6572,4.613,6573,4.033,6574,4.613,6575,4.033,6576,4.613,6577,4.033,6578,4.613,6579,4.613,6580,4.613,6581,4.613,6582,4.613,6583,4.033,6584,4.613,6585,4.613,6586,4.613,6587,4.613,6588,4.613,6589,4.613,6590,4.613,6591,4.613,6592,4.613,6593,4.613,6594,4.613,6595,4.613,6596,4.613,6597,4.613,6598,4.613,6599,4.613,6600,4.613,6601,4.613,6602,4.421,6603,4.613,6604,7.518,6605,7.568,6606,6.409,6607,5.648,6608,3.937,6609,2.828,6610,3.776,6611,3.776,6612,3.585,6613,3.776,6614,3.853,6615,3.937,6616,3.345,6617,3.644,6618,4.421,6619,3.776,6620,4.613,6621,3.937,6622,3.776]],["title/injectables/H5PContentRepo.html",[589,0.926,13091,5.842]],["body/injectables/H5PContentRepo.html",[0,0.235,3,0.013,4,0.013,5,0.006,7,0.096,8,1.085,10,3.763,12,4.241,18,4.758,26,2.66,27,0.518,29,0.966,30,0.001,31,0.706,32,0.157,33,0.576,34,1.606,35,1.496,36,2.862,95,0.133,99,1.394,101,0.009,103,0,104,0,135,0.888,148,1.206,205,1.917,206,3.059,231,1.63,277,0.978,317,3.057,436,3.443,532,5.07,589,1.254,591,1.621,657,1.558,728,7.479,734,3.948,735,4.283,736,5.319,756,2.694,759,4.056,760,4.14,761,4.097,762,4.14,764,4.097,765,5.717,766,3.663,771,4.891,787,5.223,1195,6.02,1240,6.852,2392,2.598,2515,5.529,6608,9.13,6839,6.306,13091,7.909,13092,12.192,13093,6.81,13094,9.405,13095,9.405,13096,11.618,13097,9.405,13098,6.81,13099,9.405,13100,6.81,13101,9.405,13102,6.81,13103,6.81,13104,9.405,13105,6.81]],["title/interfaces/H5PContentResponse.html",[159,0.714,12509,5.202]],["body/interfaces/H5PContentResponse.html",[0,0.404,3,0.013,4,0.013,5,0.006,7,0.098,30,0.001,31,0.534,32,0.158,34,1.187,47,1.012,55,1.915,95,0.124,101,0.017,103,0,104,0,112,0.745,131,6.253,155,2.205,158,2.562,159,1.119,161,1.651,172,4.055,202,1.597,231,1.205,296,3.584,326,4.822,339,2.798,374,4.127,1195,3.432,1215,7.632,1240,4.1,1302,6.04,1304,3.953,1925,5.799,1926,6.405,2084,4.817,2163,3.214,2373,5.094,2392,2.652,2434,4.74,3025,3.335,3378,5.626,4143,4.668,5187,4.577,6508,8.638,6513,5.424,6522,4.901,6529,4.993,6558,3.953,6565,4.993,6566,4.993,6622,6.851,7252,5.927,7253,5.799,7254,5.799,8022,5.573,11637,7.175,11966,4.601,12490,4.538,12491,5.331,12492,7.316,12493,8.352,12494,7.316,12495,6.989,12496,7.316,12497,5.331,12498,5.331,12499,5.331,12500,5.331,12501,5.331,12502,5.331,12503,5.206,12504,6.726,12505,4.901,12506,5.331,12507,5.331,12508,4.817,12509,8.155,12510,5.094,12511,5.331,12512,5.331,12513,5.331,12514,5.331,12515,5.331,12516,8.155,12517,5.094,12518,5.331]],["title/controllers/H5PEditorController.html",[314,2.659,13106,5.842]],["body/controllers/H5PEditorController.html",[0,0.1,3,0.006,4,0.006,5,0.009,7,0.041,8,0.562,27,0.451,29,0.878,30,0.001,31,0.664,32,0.169,33,0.524,34,0.832,35,1.326,36,1.031,47,0.632,55,1.651,59,1.513,95,0.125,100,1.013,101,0.004,103,0,104,0,135,1.567,141,2.089,148,1.154,153,1.553,158,4.043,172,3.137,189,1.783,190,2.016,193,4.638,195,1.066,202,0.667,274,1.213,277,0.417,314,1.111,316,1.4,317,2.945,325,6.711,326,4.566,333,4.955,337,4.534,339,1.848,342,3.181,349,7.12,365,4.416,374,1.255,379,5.26,388,3.527,390,2.874,391,6.348,392,1.517,393,1.433,395,1.561,398,1.572,400,0.864,401,1.622,402,3.555,467,2.395,569,0.901,652,1.284,657,2.364,756,1.927,871,4.27,876,1.507,1172,2.173,1194,6.473,1195,5.759,1208,2.545,1215,4.948,1228,5.991,1250,6.473,1312,2.288,1351,3.272,1368,1.636,2232,1.764,2327,1.824,2392,3.137,2544,5.358,2654,2.902,2922,2.82,3181,2.084,3183,5.525,3185,2.173,3186,2.173,3209,1.497,3211,1.597,3378,4.851,3799,4.961,5187,3.946,5200,2.225,5758,3.57,6499,6.473,6513,5.064,7253,6.668,7254,4.485,7407,3.5,7582,7.064,7583,2.356,7584,2.931,7600,3.956,9946,3.737,11983,8.681,11995,5.526,12444,2.687,12445,2.687,12446,4.512,12447,7.216,12449,2.687,12450,2.687,12495,4.615,12510,4.615,12517,6.027,12528,7.088,12534,5.525,12535,5.525,12536,5.525,12539,7.088,12546,3.737,13106,4.097,13107,11.664,13108,2.901,13109,4.872,13110,6.299,13111,4.872,13112,7.379,13113,4.872,13114,4.872,13115,4.872,13116,4.872,13117,6.299,13118,6.299,13119,6.299,13120,4.872,13121,2.901,13122,2.901,13123,2.901,13124,2.901,13125,4.872,13126,2.901,13127,2.901,13128,4.872,13129,2.901,13130,2.901,13131,4.872,13132,2.901,13133,2.901,13134,4.872,13135,2.901,13136,2.901,13137,2.901,13138,2.901,13139,2.901,13140,6.473,13141,4.872,13142,2.901,13143,2.901,13144,2.901,13145,2.901,13146,2.901,13147,4.872,13148,2.901,13149,2.901,13150,2.901,13151,2.901,13152,2.901,13153,4.872,13154,4.872,13155,2.901,13156,2.901,13157,2.901,13158,2.901,13159,2.901,13160,2.901,13161,2.901,13162,4.872,13163,2.901,13164,2.901,13165,4.872,13166,4.872,13167,4.872,13168,2.687,13169,5.526,13170,2.545,13171,2.901,13172,2.901,13173,2.901,13174,2.901,13175,2.901,13176,2.084,13177,2.901,13178,2.901,13179,2.901,13180,7.379,13181,2.687,13182,2.901,13183,2.901,13184,2.901,13185,2.901,13186,2.901,13187,2.901,13188,2.901,13189,4.872,13190,2.901,13191,2.901,13192,2.901,13193,2.901,13194,6.299,13195,6.299,13196,2.901,13197,2.901,13198,2.901,13199,2.545,13200,2.901,13201,4.872,13202,2.901,13203,2.901,13204,2.901,13205,2.901,13206,2.901,13207,4.872,13208,2.901,13209,4.872,13210,4.872,13211,2.901,13212,4.872,13213,2.901,13214,2.901,13215,4.872,13216,2.901,13217,2.901,13218,2.901,13219,4.275,13220,2.901,13221,4.512,13222,2.901,13223,2.901,13224,2.901,13225,2.901,13226,2.901,13227,2.901,13228,2.901,13229,2.901,13230,4.872,13231,4.872,13232,4.872,13233,4.512,13234,4.512,13235,7.379,13236,4.872,13237,4.872,13238,2.901,13239,2.901,13240,4.872,13241,2.901,13242,2.901]],["title/classes/H5PEditorModelContentResponse.html",[0,0.239,12510,5.09]],["body/classes/H5PEditorModelContentResponse.html",[0,0.385,2,0.664,3,0.012,4,0.012,5,0.006,7,0.088,27,0.496,29,0.478,30,0.001,31,0.576,32,0.157,33,0.285,34,1.065,47,1.003,55,1.775,95,0.117,101,0.016,103,0,104,0,112,0.691,131,6.42,155,1.979,158,2.299,159,1.056,190,2.201,202,1.433,231,1.533,296,3.661,326,4.487,339,2.595,374,3.826,433,0.769,436,3.045,1195,5.828,1215,6.182,1240,3.679,1302,5.7,1304,3.548,1925,5.377,1926,5.94,2084,4.323,2163,2.884,2373,4.571,2392,3.92,2434,4.254,3025,2.993,3378,5.217,4143,4.189,5187,4.244,6508,8.231,6513,5.03,6522,4.399,6529,4.481,6558,3.548,6565,4.481,6566,4.481,6622,6.353,7252,5.496,7253,5.377,7254,5.377,8022,5.167,11637,6.532,11966,4.129,12490,7.706,12491,4.785,12492,6.784,12493,9.054,12494,7.882,12495,8.984,12496,7.882,12497,4.785,12498,4.785,12499,4.785,12500,4.785,12501,4.785,12502,4.785,12503,7.695,12504,6.236,12505,7.246,12506,4.785,12507,7.882,12508,4.323,12509,8.373,12510,6.481,12511,4.785,12512,4.785,12513,4.785,12514,4.785,12515,4.785,12516,7.695,12517,4.571,12518,4.785,13219,5.473,13243,6.238,13244,6.238,13245,6.238,13246,6.238,13247,6.238,13248,6.238,13249,6.238]],["title/classes/H5PEditorModelResponse.html",[0,0.239,12495,5.09]],["body/classes/H5PEditorModelResponse.html",[0,0.396,2,0.706,3,0.013,4,0.013,5,0.006,7,0.093,27,0.452,29,0.509,30,0.001,31,0.595,32,0.151,33,0.304,34,1.134,47,1.006,55,1.855,95,0.121,101,0.016,103,0,104,0,112,0.722,131,6.151,155,2.107,158,2.448,159,1.093,190,1.909,202,1.526,231,1.151,296,3.635,326,4.041,339,2.711,374,3.998,433,0.818,1195,5.965,1215,6.395,1240,3.917,1302,5.896,1304,3.776,1925,5.618,1926,6.206,2084,4.602,2163,3.07,2373,4.866,2392,2.533,2434,4.528,3025,3.186,3378,5.451,4143,4.459,5187,4.434,6508,8.166,6513,5.256,6522,4.682,6529,4.77,6558,3.776,6565,4.77,6566,4.77,6622,6.638,7252,5.743,7253,5.618,7254,5.618,8022,5.399,11637,5.399,11966,4.395,12490,7.887,12491,5.093,12492,7.088,12493,9.266,12494,8.153,12495,7.789,12496,8.153,12497,5.093,12498,5.093,12499,5.093,12500,5.093,12501,5.093,12502,5.093,12503,7.96,12504,6.516,12505,7.495,12506,5.093,12507,8.153,12508,4.602,12509,6.921,12510,4.866,12511,5.093,12512,5.093,12513,5.093,12514,5.093,12515,5.093,12516,7.96,12517,4.866,12518,5.093,13219,5.826,13250,6.641,13251,6.641,13252,6.641,13253,6.641]],["title/modules/H5PEditorModule.html",[252,1.836,13254,5.842]],["body/modules/H5PEditorModule.html",[0,0.193,3,0.011,4,0.011,5,0.005,30,0.001,32,0.07,47,0.398,87,2.817,95,0.16,96,2.158,101,0.007,103,0,104,0,135,1.388,153,0.919,195,1.226,205,1.142,206,1.822,224,1.627,252,2.556,254,2.018,255,2.137,256,2.192,257,2.184,258,2.176,259,3.87,260,3.602,269,3.203,270,2.152,271,2.107,274,4.044,276,3.784,277,0.805,290,1.325,347,2.871,478,1.573,540,2.875,561,2.515,571,2.216,610,2.208,623,5.344,651,2.835,736,4.042,809,3.657,1011,8.06,1014,3.883,1015,3.82,1017,6.704,1021,3.61,1022,5.673,1023,5.772,1024,5.673,1025,3.61,1026,3.522,1027,1.717,1036,5.88,1040,3.883,1041,3.82,1086,2.673,1087,2.59,1088,2.631,1089,2.8,1166,3.708,1167,3.443,1195,2.766,1215,3.371,1475,3.522,1484,7.938,1626,3.108,1829,2.382,1902,8.662,1925,3.406,2087,2.424,2445,4.921,2609,2.75,2802,2.242,2832,3.61,2923,2.97,3209,2.89,3843,7.345,3853,2.949,5027,2.853,6608,6.131,7399,7.616,9942,3.406,11448,3.443,11570,4.024,11632,6.279,12008,3.61,12169,4.297,12170,4.297,12316,8.13,12317,5.999,12318,5.999,12319,6.131,12321,4.297,12330,4.105,12331,4.105,12332,4.549,13091,9.941,13106,8.135,13169,10.371,13170,4.915,13254,12.165,13255,5.603,13256,5.603,13257,5.603,13258,5.603,13259,11.182,13260,11.182,13261,9.941,13262,9.597,13263,9.941,13264,5.188,13265,5.603,13266,5.603,13267,5.603,13268,6.279,13269,4.915,13270,7.182,13271,4.915,13272,7.581,13273,7.581,13274,7.581,13275,4.915,13276,4.915]],["title/modules/H5PEditorTestModule.html",[252,1.836,13277,6.433]],["body/modules/H5PEditorTestModule.html",[0,0.199,3,0.011,4,0.011,5,0.005,8,0.667,27,0.227,29,0.443,30,0.001,31,0.324,32,0.072,33,0.264,35,0.669,59,1.795,95,0.16,101,0.008,103,0,104,0,135,1.285,148,0.572,205,1.178,206,1.88,252,2.853,254,2.082,255,2.205,256,2.261,257,2.253,258,2.245,259,4.169,260,2.152,265,5.525,269,3.276,270,2.221,271,2.174,274,4.514,276,4.483,277,0.83,314,2.213,467,2.439,478,1.623,540,2.941,610,2.278,1016,6.266,1017,5.804,1027,1.771,1028,7.483,1029,7.696,1031,8.426,1034,4.433,1043,5.804,1045,5.467,1048,4.006,1195,4.135,1215,5.038,1480,9.413,1484,8.025,1902,8.756,2609,2.837,2802,2.313,3209,2.981,3378,4.939,3843,7.426,3853,3.043,5027,2.943,5155,4.075,6608,6.271,7399,7.699,9942,3.514,11448,3.552,12008,3.724,12169,4.433,12170,4.433,12316,8.232,12366,4.693,13091,10.049,13106,8.281,13169,10.484,13170,5.071,13254,10.049,13259,10.049,13260,10.049,13261,10.049,13262,9.702,13263,10.049,13264,7.755,13269,5.071,13270,7.347,13271,5.071,13272,7.755,13273,7.755,13274,7.755,13276,5.071,13277,13.506,13278,5.78,13279,5.78,13280,5.78,13281,5.78,13282,5.071,13283,5.78]],["title/classes/H5PErrorMapper.html",[0,0.239,13284,6.433]],["body/classes/H5PErrorMapper.html",[0,0.342,2,1.056,3,0.019,4,0.019,5,0.009,7,0.139,8,1.385,27,0.391,29,0.76,30,0.001,31,0.556,32,0.124,33,0.454,35,1.149,95,0.137,101,0.013,103,0.001,104,0.001,148,0.982,153,1.628,277,1.426,711,3.826,1080,3.422,1195,5.928,2098,7.432,2163,4.588,6558,5.644,13058,11.119,13284,11.119,13285,9.925,13286,12.007,13287,12.007,13288,13.414,13289,9.925,13290,9.925,13291,9.925]],["title/modules/H5PLibraryManagementModule.html",[252,1.836,13292,6.433]],["body/modules/H5PLibraryManagementModule.html",[0,0.276,3,0.015,4,0.015,5,0.007,30,0.001,95,0.158,101,0.011,103,0.001,104,0.001,135,1.527,252,3.093,254,2.889,255,3.06,256,3.138,257,3.126,258,3.115,259,4.517,260,3.909,269,4.107,270,3.081,271,3.017,274,4.389,276,4.579,277,1.152,610,3.161,651,4.058,1011,9.016,1021,5.168,1025,5.168,1026,5.042,1027,2.458,1195,3.96,2445,5.505,2802,3.209,3378,4.731,7399,8.519,8828,7.037,9942,4.876,11448,4.929,11637,6.134,12008,5.168,12316,9.257,13254,11.12,13269,7.037,13270,9.211,13276,7.037,13292,13.326,13293,8.021,13294,8.021,13295,8.021,13296,11.12,13297,8.021,13298,8.021,13299,7.428,13300,8.021]],["title/injectables/H5PLibraryManagementService.html",[589,0.926,13296,5.842]],["body/injectables/H5PLibraryManagementService.html",[0,0.15,3,0.008,4,0.008,5,0.004,7,0.061,8,0.779,27,0.487,29,0.716,30,0.001,31,0.567,32,0.154,33,0.427,34,0.742,35,1.173,36,2.269,47,0.844,74,3.33,95,0.139,101,0.009,103,0,104,0,112,0.527,125,2.553,135,1.682,142,1.579,145,3.107,148,1.002,153,1.951,158,2.489,159,0.446,185,3.837,195,1.814,197,1.878,228,1.502,277,0.624,290,2.212,317,2.576,412,1.921,433,0.832,527,1.838,543,2.107,569,2.097,579,1.933,589,0.9,591,1.033,634,6.481,651,2.197,652,2.478,657,2.721,702,2.144,711,3.524,756,2.672,810,3.182,1195,6.209,1215,2.612,1312,2.039,1563,2.798,1619,2.668,1675,2.612,1819,3.809,1928,4.949,1938,2.335,2163,2.007,2332,2.428,2357,2.469,2392,1.656,2549,3.525,2551,2.916,2923,2.302,3378,3.983,5153,3.525,5231,5.878,6513,4.714,6558,5.318,6559,3.182,7728,3.061,8830,3.525,8841,3.809,8843,4.021,11637,8.098,11652,6.376,12031,3.33,12059,3.651,12060,3.651,12073,3.33,13047,3.651,13069,7.592,13073,3.651,13074,3.651,13075,3.651,13259,9.415,13260,9.415,13296,5.68,13301,11.032,13302,9.933,13303,7.676,13304,9.933,13305,10.368,13306,7.676,13307,6.754,13308,8.66,13309,6.754,13310,7.676,13311,4.342,13312,6.254,13313,6.254,13314,8.66,13315,4.342,13316,4.342,13317,6.254,13318,4.342,13319,4.342,13320,4.342,13321,4.342,13322,7.676,13323,8.66,13324,4.342,13325,6.254,13326,7.676,13327,4.342,13328,4.342,13329,8.66,13330,4.021,13331,7.676,13332,4.021,13333,4.021,13334,4.021,13335,3.809,13336,4.021,13337,3.651,13338,4.021,13339,4.021,13340,4.021,13341,4.021,13342,4.021,13343,8.204,13344,6.254,13345,6.254,13346,6.254,13347,4.021,13348,4.021,13349,6.254,13350,4.021,13351,6.254,13352,4.021,13353,4.021,13354,4.021,13355,6.254,13356,4.021,13357,4.021,13358,4.021,13359,4.021,13360,4.021,13361,4.021,13362,4.021,13363,4.021,13364,4.021,13365,4.021,13366,6.254,13367,4.021,13368,6.254,13369,6.254,13370,4.021,13371,4.021,13372,3.809,13373,5.925,13374,4.021,13375,4.021,13376,4.021,13377,4.021,13378,4.021,13379,6.254,13380,6.254,13381,3.651,13382,4.021,13383,4.021,13384,4.021,13385,4.021,13386,4.021,13387,6.254,13388,4.021,13389,4.021,13390,4.021]],["title/classes/H5PSaveResponse.html",[0,0.239,12517,5.09]],["body/classes/H5PSaveResponse.html",[0,0.398,2,0.715,3,0.013,4,0.013,5,0.006,7,0.094,27,0.421,29,0.515,30,0.001,31,0.599,32,0.144,33,0.307,34,1.591,47,1.011,55,1.87,95,0.122,101,0.016,103,0,104,0,112,0.728,131,6.785,155,2.131,158,2.476,159,1.1,190,1.673,202,1.544,231,1.165,296,3.592,326,4.066,339,2.733,374,4.031,433,0.828,866,3.337,1195,5.703,1215,6.435,1240,6.308,1302,5.933,1304,3.821,1925,5.664,1926,6.257,2084,4.656,2163,3.106,2373,4.923,2392,2.563,2434,6.353,3025,3.224,3378,5.495,4143,4.512,5187,4.47,6508,8.568,6513,5.299,6522,4.737,6529,4.826,6558,3.821,6565,4.826,6566,4.826,6622,6.692,7252,5.79,7253,5.664,7254,5.664,8022,5.443,11637,5.443,11966,4.447,12490,7.541,12491,5.153,12492,7.146,12493,8.204,12494,7.146,12495,6.827,12496,7.146,12497,5.153,12498,5.153,12499,5.153,12500,5.153,12501,5.153,12502,5.153,12503,5.031,12504,6.569,12505,4.737,12506,5.153,12507,5.153,12508,4.656,12509,6.977,12510,4.923,12511,5.153,12512,5.153,12513,5.153,12514,5.153,12515,5.153,12516,9.086,12517,6.827,12518,5.153,13391,6.719,13392,6.719,13393,6.719]],["title/classes/H5PTemporaryFileFactory.html",[0,0.239,13394,6.433]],["body/classes/H5PTemporaryFileFactory.html",[0,0.165,2,0.509,3,0.009,4,0.009,5,0.007,7,0.067,8,0.839,27,0.517,29,1.007,30,0.001,31,0.699,32,0.167,33,0.57,34,1.504,35,1.416,47,0.516,55,2.326,59,3.286,95,0.1,101,0.006,103,0,104,0,112,0.568,113,4.443,127,4.916,129,3.566,130,3.267,135,1.381,146,3.26,148,0.72,153,1.614,157,2.027,172,3.092,185,2.493,192,2.631,205,2.158,206,2.366,210,5.672,228,1.318,231,1.261,290,1.131,326,4.821,357,5.579,374,3.147,433,0.589,436,3.857,467,2.118,501,7.247,502,5.457,505,4.035,506,5.457,507,5.389,508,4.035,509,4.035,510,4.035,511,3.972,512,4.483,513,4.883,514,6.629,515,5.779,516,7.034,517,2.674,522,2.652,523,4.035,524,2.674,525,5.143,526,5.291,527,4.165,528,4.978,529,4.003,530,2.652,531,2.5,532,4.137,533,2.553,534,2.5,535,2.652,536,2.674,537,4.807,538,2.652,539,7.133,540,4.194,541,6.624,542,2.674,543,4.272,544,2.652,545,2.674,546,2.652,547,2.674,548,2.652,549,2.971,550,2.794,551,2.652,552,6.087,553,2.674,554,2.652,555,4.035,556,3.68,557,4.035,558,2.674,559,2.572,560,2.535,561,2.146,562,2.652,563,2.652,564,2.652,565,2.674,566,2.674,567,1.818,568,2.652,569,1.485,570,2.674,571,2.878,572,2.652,573,2.674,575,2.743,576,2.82,577,2.848,870,2.611,1743,3.434,2582,3.006,2879,3.767,5213,3.006,7707,9.802,7708,3.434,7709,5.041,7710,7.987,8887,4.428,11616,6.752,11852,6.382,13045,6.736,13047,4.021,13048,4.428,13268,3.667,13394,8.153,13395,4.782,13396,9.838,13397,4.782,13398,4.021,13399,4.021,13400,4.021,13401,4.782,13402,4.782,13403,4.021,13404,4.782]],["title/entities/H5pEditorTempFile.html",[205,1.416,13268,5.328]],["body/entities/H5pEditorTempFile.html",[0,0.257,3,0.014,4,0.014,5,0.011,7,0.105,27,0.495,30,0.001,31,0.561,32,0.157,47,0.92,55,2.268,83,3.774,95,0.129,96,1.969,101,0.013,103,0,104,0,112,0.782,159,0.768,190,2.26,205,2.042,206,2.429,210,8.35,223,4.312,224,2.169,225,3.847,229,2.954,231,1.295,233,2.331,248,5.593,414,5.067,433,0.921,478,2.097,870,7.076,1195,6.399,1215,4.493,1237,2.202,2163,3.453,2544,6.025,3378,7.807,5213,8.147,6506,10.522,6558,4.247,7184,4.812,11615,7.888,11616,9.94,11630,5.883,12046,6.552,12065,7.681,13268,7.681,13398,8.422,13403,10.898,13405,6.916,13406,7.469,13407,7.469,13408,7.469,13409,8.786,13410,9.274,13411,9.274,13412,7.469,13413,7.469,13414,8.786,13415,6.916,13416,6.916]],["title/classes/H5pFileDto.html",[0,0.239,12545,5.64]],["body/classes/H5pFileDto.html",[0,0.291,2,0.898,3,0.016,4,0.016,5,0.012,7,0.119,27,0.498,29,0.647,30,0.001,31,0.734,32,0.158,33,0.386,47,0.991,55,2.542,95,0.124,101,0.016,103,0.001,104,0.001,112,0.848,159,1.116,339,3.843,433,1.041,876,4.384,881,4.61,1195,6.467,1237,3.2,1302,7.265,1304,4.801,1444,6.654,2183,3.327,2327,5.307,2802,3.378,6513,6.173,7162,7.1,7192,5.757,7252,5.246,7253,6.598,7254,6.598,11443,9.128,11448,5.188,11449,7.1,11450,6.65,11451,6.854,12490,8.551,12508,5.851,12545,10.635,12546,6.475,13417,8.443,13418,8.443,13419,8.443,13420,8.443]],["title/interfaces/HtmlMailContent.html",[159,0.714,1453,5.202]],["body/interfaces/HtmlMailContent.html",[3,0.017,4,0.017,5,0.008,7,0.125,30,0.001,31,0.497,32,0.14,33,0.512,47,1.037,77,5.716,101,0.012,103,0.001,104,0.001,112,0.875,159,1.418,161,2.107,231,2.305,1240,5.232,1439,8.389,1440,6.804,1441,9.194,1442,8.592,1443,6.804,1444,4.921,1445,8.389,1446,6.501,1447,6.501,1448,9.658,1449,6.804,1450,8.389,1451,10.2,1452,10.2,1453,9.194,1454,6.884,1455,6.644,1456,6.644,1457,6.804,1458,6.804]],["title/classes/HydraOauthFailedLoggableException.html",[0,0.239,13421,6.433]],["body/classes/HydraOauthFailedLoggableException.html",[0,0.33,2,1.018,3,0.018,4,0.018,5,0.009,7,0.134,8,1.354,27,0.462,29,0.733,30,0.001,31,0.536,32,0.119,33,0.437,35,1.108,95,0.134,101,0.013,103,0.001,104,0.001,162,8.138,231,2.036,433,1.179,436,2.836,644,7.139,1080,3.299,1422,4.81,1423,4.517,1426,5.702,1462,5.266,1465,6.632,1468,4.517,1469,4.753,1470,6.567,2081,11.14,2083,6.334,2095,11.14,9868,10.303,13421,10.875,13422,11.743,13423,8.862,13424,8.862,13425,8.862,13426,9.57]],["title/injectables/HydraOauthUc.html",[589,0.926,13427,5.842]],["body/injectables/HydraOauthUc.html",[0,0.19,3,0.01,4,0.01,5,0.005,7,0.078,8,0.934,27,0.463,29,0.809,30,0.001,31,0.592,32,0.14,33,0.483,35,1.11,36,2.487,47,0.983,55,1.925,56,2.605,59,2.514,95,0.145,100,2.825,101,0.007,103,0,104,0,112,0.632,113,3.822,122,1.151,129,2.417,130,2.214,135,1.585,145,3.035,148,0.949,153,1.573,159,0.567,195,1.207,228,2.039,277,0.793,317,2.755,333,3.705,402,3.432,433,0.998,478,1.549,571,2.183,579,2.317,589,1.079,591,1.313,610,2.175,652,2.592,657,2.851,758,5.61,837,2.724,871,2.964,998,5.31,1027,1.691,1080,3.642,1086,2.633,1087,2.551,1088,2.591,1169,3.194,1312,2.591,1422,2.26,1459,4.64,1585,6.838,1886,7.785,2083,3.652,2113,8.08,2445,3.992,2446,4.934,2820,4.48,4282,6.573,7108,4.841,7109,4.841,8112,7.587,10419,5.11,11479,4.64,13427,6.808,13428,12.15,13429,5.518,13430,9.589,13431,10.563,13432,8.096,13433,9.589,13434,8.096,13435,5.11,13436,9.261,13437,10.218,13438,5.518,13439,8.096,13440,5.518,13441,5.518,13442,5.518,13443,10.563,13444,8.096,13445,5.518,13446,5.518,13447,5.518,13448,6.808,13449,5.11,13450,6.645,13451,6.063,13452,5.518,13453,5.518,13454,9.782,13455,8.096,13456,7.497,13457,5.518,13458,5.518,13459,5.518,13460,8.096,13461,8.064,13462,5.518,13463,5.518,13464,5.518,13465,5.518,13466,5.518,13467,8.096,13468,5.11,13469,4.841,13470,4.64,13471,5.518,13472,5.518,13473,5.518,13474,5.518,13475,5.518,13476,8.096,13477,5.518,13478,5.518]],["title/classes/HydraRedirectDto.html",[0,0.239,13448,5.842]],["body/classes/HydraRedirectDto.html",[0,0.307,2,0.948,3,0.017,4,0.017,5,0.008,7,0.125,27,0.535,29,0.683,30,0.001,31,0.499,32,0.169,33,0.407,47,0.797,55,2.255,95,0.128,101,0.012,103,0.001,104,0.001,112,0.877,232,3.044,433,1.098,435,3.11,871,4.504,1104,7.235,2083,5.898,2113,8.836,4282,9.988,7106,10.346,13448,11.198,13461,10.346,13468,11.393,13469,10.793,13470,10.346,13479,8.911,13480,8.911,13481,8.911,13482,8.911,13483,8.911,13484,8.911,13485,8.911,13486,8.252,13487,8.911,13488,8.911,13489,8.911,13490,8.911,13491,8.911,13492,8.911,13493,8.911,13494,8.911,13495,8.911]],["title/injectables/HydraSsoService.html",[589,0.926,13437,5.842]],["body/injectables/HydraSsoService.html",[0,0.156,3,0.009,4,0.009,5,0.004,7,0.064,8,0.806,27,0.448,29,0.837,30,0.001,31,0.612,32,0.142,33,0.499,35,1.197,36,2.603,47,0.97,95,0.151,100,1.584,101,0.006,103,0,104,0,110,1.569,112,0.546,113,3.397,125,1.08,129,1.355,130,1.241,135,1.714,148,1.023,153,1.571,228,2.062,277,0.652,279,1.897,289,2.627,317,2.611,347,2.326,365,2.018,414,2.296,433,0.861,478,1.274,569,1.409,579,1.299,589,0.932,591,1.08,619,3.26,652,2.508,657,1.599,688,2.142,756,1.795,998,2.142,1027,1.391,1053,7.758,1054,2.559,1056,2.924,1282,6.714,1312,2.131,1495,3.26,1498,3.982,1566,3.982,1593,2.789,1622,3.26,1675,2.73,1886,3.685,1925,2.759,2083,3.004,2113,3.26,2218,2.027,2219,2.282,2220,2.202,2229,3.326,2381,3.575,2382,5.361,2411,4.203,2416,3.982,2445,3.548,2446,4.472,2671,2.254,4212,2.651,4282,9.237,4934,3.326,5022,7.015,5027,2.311,5156,3.399,5157,7.015,5159,3.2,5174,4.203,5176,6.092,5178,3.685,5535,7.478,6229,2.851,6310,2.282,7106,10.134,7108,6.132,7109,6.132,7582,6.337,8107,5.234,8112,3.26,8164,4.928,8260,2.73,10401,3.004,13437,5.877,13448,8.694,13449,4.203,13450,7.165,13454,6.472,13461,9.878,13469,3.982,13470,9.184,13486,4.203,13496,4.538,13497,6.989,13498,6.989,13499,6.989,13500,6.989,13501,4.538,13502,7.478,13503,4.538,13504,6.989,13505,6.989,13506,4.538,13507,6.989,13508,4.538,13509,6.989,13510,4.538,13511,2.853,13512,6.989,13513,4.538,13514,4.538,13515,6.989,13516,4.538,13517,4.538,13518,4.538,13519,3.481,13520,6.132,13521,3.817,13522,4.538,13523,4.538,13524,3.399,13525,3.399,13526,3.326,13527,3.399,13528,4.538,13529,4.538,13530,4.538,13531,4.538,13532,6.989,13533,4.538,13534,4.538,13535,4.538,13536,4.538,13537,6.989,13538,4.538,13539,4.538,13540,3.817,13541,4.538,13542,4.538,13543,8.051,13544,4.538,13545,4.538,13546,4.538,13547,6.989,13548,4.538,13549,4.538,13550,4.538,13551,6.989,13552,4.538,13553,4.538,13554,4.538,13555,4.538,13556,4.538,13557,4.538,13558,4.538,13559,4.538,13560,4.538,13561,4.538,13562,4.538,13563,4.538,13564,4.538,13565,6.989,13566,4.538,13567,4.538,13568,4.538,13569,6.989,13570,4.538,13571,3.048,13572,4.538,13573,4.538,13574,2.963,13575,3.817,13576,3.048,13577,4.538,13578,4.538,13579,3.048,13580,4.538,13581,4.538,13582,2.789,13583,4.538,13584,4.538,13585,3.575,13586,3.004,13587,4.538,13588,4.538,13589,4.538]],["title/interfaces/IBbbSettings.html",[159,0.714,2336,5.64]],["body/interfaces/IBbbSettings.html",[3,0.019,4,0.019,5,0.009,7,0.142,30,0.001,32,0.162,47,1.021,101,0.016,103,0.001,104,0.001,112,0.948,135,1.317,159,1.038,161,2.399,1282,10.628,2137,5.317,2333,10.954,2334,11.837,2336,9.851,2339,8.861,13590,10.1,13591,8.861,13592,10.1]],["title/interfaces/ICommonCartridgeFileBuilder.html",[159,0.714,5789,5.64]],["body/interfaces/ICommonCartridgeFileBuilder.html",[0,0.295,3,0.011,4,0.011,5,0.011,7,0.084,8,0.986,27,0.394,29,0.655,30,0.001,31,0.479,32,0.125,33,0.391,35,1.159,36,2.118,47,0.777,95,0.142,101,0.014,103,0,104,0,135,1.574,148,1.194,153,2.157,155,2.713,159,0.879,161,1.414,228,2.306,317,1.289,400,1.773,433,0.734,435,3.494,507,5.107,540,2.09,652,2.535,1211,3.835,1237,2.522,1396,5.511,1835,4.383,2048,4.068,2202,6.536,3473,5.511,5673,7.145,5674,7.145,5677,6.626,5678,8.146,5694,4.688,5695,4.412,5696,5.927,5706,9.537,5717,6.773,5722,6.737,5724,6.737,5732,6.944,5736,7.052,5738,4.832,5747,5.832,5788,5.005,5789,9.799,5790,7.886,5791,6.56,5792,7.192,5793,7.92,5794,7.92,5796,7.192,5800,8.419,5802,8.419,5803,9.799,5805,10.096,5806,8.419,5809,4.832,5810,4.832,5811,4.565,5812,4.058,5813,4.275,5814,6.737,5815,6.944,5816,4.688,5817,4.688,5818,6.143,5819,7.192,5820,4.832,5821,5.005,5822,5.005,5823,5.005,5824,9.204,5825,5.005,5826,7.192,5827,5.005,5828,5.005,5829,7.192,5830,5.005,5831,5.005,5832,5.005,5833,5.005,5834,5.005,5835,5.005,5836,5.005,5837,5.005,5838,5.005,5839,5.005,5840,5.005,5841,4.832,5842,5.005,5843,5.005,5844,5.005,5845,5.005,5846,5.005,5847,5.005,5848,5.005,5849,5.005,13593,5.952,13594,5.952,13595,5.952]],["title/interfaces/ICommonCartridgeOrganizationBuilder.html",[159,0.714,5805,5.64]],["body/interfaces/ICommonCartridgeOrganizationBuilder.html",[0,0.305,3,0.012,4,0.012,5,0.009,7,0.088,8,1.021,27,0.246,29,0.479,30,0.001,31,0.35,32,0.11,33,0.286,35,0.723,36,1.873,47,0.794,95,0.144,101,0.015,103,0,104,0,135,1.6,148,1.213,153,2.18,155,2.809,159,0.91,161,1.484,228,2.336,317,1.354,400,1.861,433,0.77,435,3.09,507,3.9,540,2.194,652,2.571,1211,4.026,1237,2.611,1396,5.705,1835,4.538,2048,4.18,2202,6.714,3473,5.705,5673,5.78,5674,5.78,5677,6.807,5678,7.929,5694,4.922,5695,4.567,5696,6.136,5706,9.674,5717,6.9,5722,6.975,5724,6.975,5732,7.189,5736,7.209,5738,5.073,5747,6.038,5788,5.254,5789,9.084,5790,8.102,5791,6.791,5792,7.446,5796,7.446,5800,8.649,5802,7.446,5803,9.084,5805,10.463,5806,7.446,5809,5.073,5810,5.073,5811,4.792,5812,4.26,5813,4.488,5814,6.975,5815,7.189,5816,4.922,5817,4.922,5818,6.36,5819,8.649,5820,5.073,5821,5.254,5822,5.254,5823,5.254,5824,9.409,5825,5.254,5826,7.446,5827,5.254,5828,5.254,5829,7.446,5830,5.254,5831,5.254,5832,5.254,5833,5.254,5834,5.254,5835,5.254,5836,5.254,5837,5.254,5838,5.254,5839,5.254,5840,5.254,5841,5.073,5842,5.254,5843,5.254,5844,5.254,5845,5.254,5846,5.254,5847,5.254,5848,5.254,5849,5.254,5952,8.2,13596,6.248]],["title/interfaces/ICurrentUser.html",[159,0.714,325,3.45]],["body/interfaces/ICurrentUser.html",[3,0.015,4,0.015,5,0.007,7,0.108,26,2.994,30,0.001,32,0.166,33,0.558,34,2.084,39,3.377,48,5.989,85,8.193,94,5.157,95,0.087,99,1.569,101,0.01,103,0,104,0,112,0.796,122,2.725,159,0.788,161,1.821,180,4.352,195,2.857,290,3.322,325,5.063,331,4.511,358,8.275,413,6.196,614,3.758,615,6.196,1092,6.845,1470,5.7,2524,7.187,2544,6.132,2805,6.746,3370,5.861,3382,4.665,3388,6.252,4541,4.557,5746,6.654,7999,10.26,8000,8.942,8080,11.298,13597,7.669,13598,10.193,13599,6.746]],["title/interfaces/IDashboardRepo.html",[159,0.714,8723,5.842]],["body/interfaces/IDashboardRepo.html",[0,0.33,3,0.013,4,0.013,5,0.006,7,0.098,8,1.103,9,3.241,26,2.798,27,0.429,29,0.836,30,0.001,31,0.611,32,0.136,33,0.499,34,1.633,35,1.263,36,2.876,39,3.248,49,2.633,95,0.14,96,1.839,97,2.846,99,1.428,101,0.013,103,0,104,0,113,2.78,135,1.753,148,1.256,153,1.144,159,0.717,161,1.657,205,1.422,228,1.733,277,1.002,290,1.65,317,2.543,478,1.958,561,3.131,589,1.275,657,2.976,675,3.552,728,4.038,1237,2.057,1829,2.966,2444,5.303,2479,4.756,3601,4.075,7795,4.834,8343,8.183,8375,9.306,8411,7.333,8539,5.224,8619,7.531,8641,8.388,8700,6.12,8704,5.495,8705,6.46,8706,8.854,8707,8.388,8708,8.854,8710,10.103,8712,9.571,8714,6.46,8716,10.103,8718,6.46,8719,6.46,8720,8.854,8721,6.46,8722,6.12,8723,9.174,8724,5.224,8725,8.854,8726,6.46,8727,8.854,8728,6.46,8729,10.103,8730,6.46,8731,8.854,8732,6.46,8733,6.46,13600,6.976,13601,6.976,13602,6.976]],["title/interfaces/IEntity.html",[159,0.714,2530,5.472]],["body/interfaces/IEntity.html",[3,0.018,4,0.018,5,0.009,7,0.137,30,0.001,32,0.148,34,2.276,47,0.909,49,5.029,83,3.455,95,0.135,96,2.566,97,3.971,101,0.017,103,0.001,104,0.001,112,0.927,159,1.316,161,2.311,231,2.057,430,3.986,431,4.155,692,5.601,703,3.022,789,7.275,2530,10.496,7491,5.98,9859,8.538,9860,6.862,9861,8.184]],["title/interfaces/IEntityWithTimestamps.html",[159,0.714,9861,5.842]],["body/interfaces/IEntityWithTimestamps.html",[3,0.018,4,0.018,5,0.009,7,0.136,30,0.001,32,0.147,34,1.654,47,0.687,49,4.465,83,4.041,95,0.135,96,2.554,97,3.951,101,0.017,103,0.001,104,0.001,112,0.924,159,1.313,161,2.3,231,2.214,430,5.449,431,5.68,692,5.584,703,3.007,789,5.288,2530,10.478,7491,5.951,9859,8.497,9860,6.829,9861,9.948]],["title/interfaces/IError.html",[159,0.714,9939,5.64]],["body/interfaces/IError.html",[3,0.019,4,0.019,5,0.009,7,0.142,30,0.001,32,0.151,33,0.555,47,0.923,55,2.611,101,0.016,103,0.001,104,0.001,112,0.948,159,1.247,161,2.399,231,2.103,402,4.829,532,3.747,1080,4.484,1115,5.283,9939,10.56,12256,7.563,13603,8.861,13604,9.353]],["title/interfaces/IFindOptions.html",[159,0.714,7866,4.269]],["body/interfaces/IFindOptions.html",[3,0.019,4,0.019,5,0.009,7,0.137,30,0.001,32,0.16,33,0.61,55,2.385,56,4.605,70,4.967,101,0.017,103,0.001,104,0.001,112,0.928,127,4.875,159,1.222,161,2.317,770,6.133,886,3.07,2231,7.584,3929,9.992,5293,9.647,7580,8.545,7866,7.301,10784,10.504,13605,9.034,13606,9.034]],["title/interfaces/IGridElement.html",[159,0.714,8408,5.842]],["body/interfaces/IGridElement.html",[0,0.195,3,0.007,4,0.007,5,0.003,7,0.128,8,0.654,26,2.396,27,0.404,29,0.633,30,0.001,31,0.463,32,0.145,33,0.377,34,1.664,35,1.188,39,1.57,47,0.881,55,2.521,83,1.015,95,0.082,99,0.713,101,0.014,103,0,104,0,112,0.443,122,2.033,125,1.966,130,1.551,135,1.763,141,3.542,145,3.096,146,2.377,148,1.337,153,1.755,155,3.257,159,0.358,161,0.828,232,0.945,242,2.985,243,2.191,277,0.501,435,1.217,458,3.637,459,2.985,467,2.405,527,3.496,569,3.805,579,2.052,595,1.316,652,2.42,756,2.836,896,1.949,1065,4.461,1170,5.192,1237,1.028,1660,5.368,1675,3.412,1842,3.761,2048,4.622,2434,2.377,2769,3.096,2880,6.989,2922,2.018,2923,1.848,2964,2.416,3025,3.963,3045,4.853,3515,2.611,3709,2.458,3859,8.744,3884,3.654,3977,7.643,4047,3.565,7342,2.932,7449,2.377,7492,4.155,7564,3.93,7795,5.724,8352,5.546,8375,2.554,8376,3.058,8378,3.058,8381,3.058,8382,2.932,8383,8.192,8385,2.746,8392,4.975,8398,3.058,8402,3.058,8405,3.058,8406,8.192,8408,9.565,8411,6.335,8413,3.058,8414,7.643,8417,3.058,8419,3.058,8421,3.058,8423,3.058,8425,3.058,8427,3.058,8430,3.058,8432,4.975,8433,2.611,8434,7.974,8435,7.246,8436,4.975,8437,7.974,8438,6.289,8439,4.975,8440,7.974,8441,4.975,8442,6.289,8443,3.058,8444,4.247,8445,9.351,8446,3.058,8447,4.975,8448,3.058,8449,4.975,8450,3.058,8451,4.975,8452,3.058,8453,3.058,8454,3.058,8455,3.058,8456,3.058,8457,4.975,8458,3.058,8459,4.975,8460,2.932,8461,4.975,8462,3.058,8463,4.975,8464,3.058,8465,3.058,8466,3.058,8467,4.975,8468,2.83,8469,3.058,8470,4.975,8471,3.058,8472,2.674,8473,3.058,8474,3.058,8475,3.058,8476,3.058,8477,3.058,8478,3.058,8479,3.058,8480,3.058,8481,3.058,8482,4.975,8483,4.975,8484,2.932,8485,6.289,8486,3.058,8487,4.975,8488,3.058,8489,3.058,8490,3.058,8491,3.058,8492,3.058,8493,3.058,8494,3.058,8495,3.058,8496,3.058,8497,3.058,8498,3.058,8499,3.058,8500,3.058,8501,3.058,8502,3.058,8503,3.058,8504,3.058,8505,3.058,8506,3.058,8507,3.058,8508,3.058,8509,3.058,8510,3.058,8511,4.975,8512,3.058,8513,3.058,8514,3.058,8515,4.975,8516,4.975,8517,3.058,8518,3.058,8519,3.058,8520,3.058,8521,3.058,8522,3.058,8523,3.058,8524,6.289,8525,3.058,8526,3.058,12642,5.252,12647,5.252,12648,5.252,12649,5.252,12656,3.228,13607,3.486,13608,3.486,13609,3.486,13610,3.486,13611,3.486,13612,3.486,13613,3.486]],["title/interfaces/IH5PLibraryManagementConfig.html",[159,0.714,13337,5.842]],["body/interfaces/IH5PLibraryManagementConfig.html",[3,0.019,4,0.019,5,0.009,7,0.141,30,0.001,32,0.125,47,0.955,95,0.114,101,0.017,103,0.001,104,0.001,112,0.943,135,1.576,159,1.03,161,2.381,1195,4.949,2087,5.225,2218,4.478,2219,5.04,2220,4.864,2221,6.301,11637,7.057,13299,9.283,13301,8.794,13337,10.903,13614,9.283,13615,13.773,13616,10.024]],["title/interfaces/IImportUserScope.html",[159,0.714,13617,5.64]],["body/interfaces/IImportUserScope.html",[2,1.347,3,0.016,4,0.016,5,0.008,7,0.119,30,0.001,31,0.473,32,0.172,33,0.657,47,1.016,95,0.096,101,0.016,103,0.001,104,0.001,112,0.848,122,2.503,159,1.116,161,2.005,301,8.158,331,5.604,415,4.801,700,6.32,701,6.32,886,2.657,1582,7.796,2009,7.184,4656,5.079,5361,6.064,7495,4.76,12371,8.928,12372,8.775,12389,5.188,13617,8.812,13618,7.818,13619,10.648,13620,9.974,13621,7.818,13622,6.854]],["title/interfaces/IKeycloakConfigurationInputFiles.html",[159,0.714,13623,5.842]],["body/interfaces/IKeycloakConfigurationInputFiles.html",[3,0.019,4,0.019,5,0.009,7,0.144,30,0.001,32,0.153,47,0.998,101,0.016,103,0.001,104,0.001,112,0.956,135,1.338,159,1.054,161,2.435,2218,4.581,2357,5.831,4840,5.991,4841,6.372,13623,10.297,13624,10.255,13625,10.255,13626,12.558,13627,12.558,13628,8.997,13629,10.255]],["title/interfaces/IKeycloakSettings.html",[159,0.714,13630,5.842]],["body/interfaces/IKeycloakSettings.html",[3,0.018,4,0.018,5,0.009,7,0.135,30,0.001,32,0.173,47,1.028,51,4.603,87,5.913,101,0.015,103,0.001,104,0.001,112,0.918,135,1.251,159,0.986,161,2.278,172,5,2332,7.414,4840,5.604,4841,5.961,6310,6.841,8956,9.929,13574,6.262,13591,8.416,13630,9.89,13631,9.593,13632,11.15,13633,8.067,13634,9.593]],["title/interfaces/ILegacyLogger.html",[159,0.714,13635,6.094]],["body/interfaces/ILegacyLogger.html",[3,0.014,4,0.014,5,0.007,7,0.106,8,1.159,27,0.496,29,0.966,30,0.001,31,0.706,32,0.162,33,0.577,35,1.46,39,2.079,47,1.028,59,4.03,72,4.601,101,0.013,102,5.329,103,0,104,0,110,2.597,125,1.788,153,1.649,158,4.886,159,0.772,161,1.784,183,5.426,193,3.264,326,2.855,365,3.339,569,4.28,641,4.271,1042,6.653,1080,3.906,1115,4.828,1379,7.22,2445,4.185,4908,6.854,13635,8.819,13636,12.981,13637,7.511,13638,8.819,13639,8.819,13640,9.309,13641,7.511,13642,9.309,13643,10.492,13644,7.511,13645,9.309,13646,10.615,13647,7.511,13648,9.309,13649,7.511,13650,9.309,13651,7.511]],["title/interfaces/INewsScope.html",[159,0.714,8013,5.64]],["body/interfaces/INewsScope.html",[3,0.016,4,0.016,5,0.008,7,0.116,26,2.44,30,0.001,32,0.173,33,0.609,34,1.406,47,0.758,83,2.398,95,0.143,101,0.017,103,0.001,104,0.001,112,0.834,122,2.474,127,4.115,155,2.612,157,1.896,159,1.369,161,1.956,172,4.541,205,1.679,692,5.042,703,2.557,886,2.591,2032,4.506,2392,3.141,2468,5.117,2980,5.89,3917,9.371,4971,5.177,5412,4.724,7150,5.376,7814,6.167,7815,7.739,7817,6.563,7820,5.53,7823,6.426,7824,7.709,8004,6.686,8005,7.626,8006,7.626,8007,7.626,8008,7.626,8009,7.626,8010,5.53,8011,9.01,8012,6.925,8013,8.672,8014,10.184]],["title/interfaces/ITask.html",[159,0.714,13652,5.472]],["body/interfaces/ITask.html",[3,0.015,4,0.015,5,0.007,7,0.114,30,0.001,31,0.698,32,0.168,33,0.626,47,0.992,55,2.361,83,3.861,95,0.121,99,1.658,101,0.016,103,0.001,104,0.001,112,0.825,122,2.767,157,2.87,159,1.329,161,1.924,231,2.039,290,2.782,478,2.275,652,1.652,692,4.989,703,2.515,1936,3.804,2026,5.157,2032,4.471,2926,5.684,3128,4.766,3541,6.473,3545,6.43,3993,4.733,4046,8.138,4065,5.441,4069,5.524,4070,5.712,4071,5.362,4072,5.362,4073,5.819,4074,5.524,5705,6.494,6609,4.358,8898,5.362,13652,10.185,13653,6.578,13654,9.134,13655,6.067,13656,6.067,13657,5.819,13658,6.067,13659,5.937]],["title/interfaces/IToolFeatures.html",[159,0.714,10123,5.09]],["body/interfaces/IToolFeatures.html",[0,0.29,3,0.016,4,0.016,5,0.008,7,0.118,30,0.001,32,0.167,47,0.898,55,2.54,80,8.117,95,0.096,101,0.016,103,0.001,104,0.001,112,0.847,122,3.019,129,2.516,135,1.099,159,0.866,161,2.001,311,5.5,467,2.453,1756,4.833,1829,4.608,1940,7.076,2218,3.763,2219,4.236,2220,4.088,4212,4.922,6044,9.115,7681,6.814,8724,8.117,10123,8.781,10125,7.943,10387,11.485,10420,11.485,12401,7.643,13660,12.122,13661,12.122,13662,12.122,13663,12.122,13664,7.802,13665,7.085,13666,7.802,13667,7.802,13668,7.802,13669,7.802,13670,7.802,13671,7.802]],["title/interfaces/IVideoConferenceSettings.html",[159,0.714,13672,6.094]],["body/interfaces/IVideoConferenceSettings.html",[3,0.019,4,0.019,5,0.009,7,0.14,30,0.001,32,0.161,47,0.917,95,0.114,101,0.016,103,0.001,104,0.001,112,0.939,122,2.697,135,1.298,159,1.023,161,2.363,1268,8.249,2137,5.238,2153,8.356,2336,10.899,9525,5.658,13591,8.729,13672,10.55,13673,9.95,13674,12.432,13675,9.214,13676,9.95]],["title/classes/IdParams.html",[0,0.239,13677,6.094]],["body/classes/IdParams.html",[0,0.413,2,1.051,3,0.019,4,0.019,5,0.009,7,0.139,27,0.389,30,0.001,32,0.123,34,2.343,47,0.85,95,0.137,101,0.013,103,0.001,104,0.001,112,0.935,157,2.274,187,6.75,190,1.773,194,4.683,195,2.62,196,3.96,197,3.329,200,3.026,202,2.269,296,3.128,299,4.666,308,7.237,1470,6.694,2802,4.79,13677,10.502,13678,9.876,13679,9.876]],["title/interfaces/IdToken.html",[159,0.714,173,4.598]],["body/interfaces/IdToken.html",[3,0.017,4,0.017,5,0.008,7,0.129,30,0.001,31,0.73,32,0.171,33,0.651,39,3.61,47,1.038,101,0.015,103,0.001,104,0.001,112,0.892,159,1.175,161,2.174,173,7.562,175,7.699,187,5.162,702,6.44,4541,4.552,6541,9.196,6627,4.661,7452,7.55,12827,10.968,12828,8.478,12829,8.032]],["title/classes/IdTokenCreationLoggableException.html",[0,0.239,13680,6.094]],["body/classes/IdTokenCreationLoggableException.html",[0,0.3,2,0.925,3,0.017,4,0.017,5,0.008,7,0.122,8,1.276,27,0.435,29,0.666,30,0.001,31,0.487,32,0.138,33,0.398,34,1.486,35,1.007,39,3.544,47,0.959,59,2.701,95,0.126,101,0.011,103,0.001,104,0.001,135,1.135,148,0.86,176,6.478,187,6.86,228,2.005,231,1.918,233,2.715,242,4.579,277,1.249,339,2.552,347,4.458,400,2.591,433,1.072,652,1.773,1027,2.665,1115,4.657,1237,3.262,1312,5.713,1422,4.983,1426,5.747,1468,5.743,1477,4.517,1478,4.714,2671,2.805,3777,9.588,6307,8.056,6310,6.117,8752,6.672,13680,9.706,13681,12.166,13682,8.699,13683,8.699,13684,8.699,13685,8.699,13686,7.315,13687,8.056,13688,5.931]],["title/classes/IdTokenExtractionFailureLoggableException.html",[0,0.239,13689,5.842]],["body/classes/IdTokenExtractionFailureLoggableException.html",[0,0.306,2,0.946,3,0.017,4,0.017,5,0.008,7,0.125,8,1.294,27,0.441,29,0.681,30,0.001,31,0.498,32,0.14,33,0.406,35,1.029,47,0.872,95,0.128,101,0.012,103,0.001,104,0.001,148,0.88,176,5.676,228,1.611,231,1.944,233,2.775,339,2.609,400,2.648,433,1.096,436,2.635,644,5.405,1027,2.724,1080,3.065,1115,3.404,1422,5.034,1423,5.801,1426,5.793,1461,8.401,1462,4.893,1463,9.665,1465,6.162,1467,7.477,1468,5.801,1469,6.104,1470,4.972,1471,6.515,1472,4.972,1476,5.405,1477,4.617,1478,4.818,2911,5.682,6329,6.162,13689,9.434,13690,9.842,13691,11.218,13692,8.892,13693,8.234,13694,7.477,13695,8.892]],["title/classes/IdTokenInvalidLoggableException.html",[0,0.239,13696,6.094]],["body/classes/IdTokenInvalidLoggableException.html",[0,0.328,2,1.013,3,0.018,4,0.018,5,0.009,7,0.134,8,1.35,27,0.375,30,0.001,32,0.119,35,1.102,95,0.134,101,0.012,103,0.001,104,0.001,148,0.942,173,6.304,176,4.819,231,2.03,340,6.137,436,2.822,644,5.79,1027,2.918,1080,3.284,1115,3.646,1213,6.06,1422,4.796,1423,5.985,1426,5.936,1462,5.241,1463,9.904,1468,5.985,1469,6.297,1470,5.326,1471,6.979,1472,5.326,1476,5.79,1477,4.946,1478,5.161,13690,8.356,13693,8.82,13696,10.273,13697,9.525]],["title/injectables/IdTokenService.html",[589,0.926,13698,5.842]],["body/injectables/IdTokenService.html",[0,0.201,3,0.011,4,0.011,5,0.005,7,0.082,8,0.972,27,0.427,29,0.831,30,0.001,31,0.692,32,0.135,33,0.496,34,0.996,35,1.145,36,2.294,39,2.332,47,0.974,95,0.149,101,0.008,103,0,104,0,125,2.737,135,1.612,148,1.072,153,0.956,159,0.599,173,3.859,176,4.264,187,6.484,228,1.965,277,0.837,279,2.437,290,1.993,317,2.597,433,1.039,478,1.637,578,4.406,579,1.669,589,1.124,591,1.388,652,2.669,657,2.742,702,2.879,1470,3.26,1829,2.479,1853,1.907,1915,8.565,1940,3.806,2007,2.896,2671,2.718,2739,7.59,2749,4.161,3777,4.366,3853,3.069,4541,2.035,5006,5.115,5008,5.115,5026,4.472,5401,7.435,5420,4.734,6310,6.214,6541,6.978,6627,2.969,7452,5.728,7817,7.365,8010,6.646,8056,6.232,8164,5.942,8253,3.665,8724,4.366,10149,4.903,10557,5.782,11298,8.565,11385,4.593,12827,9.671,12829,5.115,13088,4.366,13680,5.115,13698,7.087,13699,10.65,13700,5.399,13701,8.427,13702,8.427,13703,8.427,13704,5.831,13705,9.731,13706,5.831,13707,8.427,13708,5.399,13709,8.427,13710,5.831,13711,8.427,13712,5.831,13713,5.831,13714,5.831,13715,5.831,13716,4.734,13717,5.115,13718,8.427,13719,5.399,13720,5.115,13721,5.831,13722,5.831,13723,5.831,13724,5.831,13725,8.427,13726,5.831,13727,5.831,13728,5.831,13729,5.831,13730,5.831,13731,7.804]],["title/classes/IdTokenUserNotFoundLoggableException.html",[0,0.239,13732,6.094]],["body/classes/IdTokenUserNotFoundLoggableException.html",[0,0.297,2,0.917,3,0.016,4,0.016,5,0.008,7,0.121,8,1.269,27,0.433,29,0.661,30,0.001,31,0.483,32,0.137,33,0.394,34,1.473,35,0.998,47,0.957,59,2.678,95,0.126,101,0.011,103,0.001,104,0.001,148,0.853,176,6.13,228,1.994,231,1.907,233,2.692,290,2.866,339,2.53,347,5.638,400,2.569,433,1.063,436,2.556,620,7.931,644,5.243,652,1.758,1027,2.642,1080,2.973,1115,3.301,1422,4.963,1423,5.72,1426,5.728,1462,4.746,1463,9.558,1465,5.977,1467,7.252,1468,5.72,1469,6.018,1470,4.822,1471,6.319,1472,4.822,1476,5.243,1477,4.478,1478,4.673,5091,4.605,13690,9.653,13732,9.653,13733,8.624,13734,11.819,13735,8.624,13736,8.624,13737,8.624]],["title/interfaces/IdentityManagementConfig.html",[159,0.714,13738,5.842]],["body/interfaces/IdentityManagementConfig.html",[3,0.019,4,0.019,5,0.009,7,0.144,30,0.001,32,0.163,101,0.013,103,0.001,104,0.001,112,0.955,122,3.008,159,1.051,161,2.429,4840,5.975,13614,9.472,13738,10.281,13739,8.304,13740,12.547,13741,12.547,13742,12.547]],["title/modules/IdentityManagementModule.html",[252,1.836,665,5.64]],["body/modules/IdentityManagementModule.html",[0,0.28,3,0.015,4,0.015,5,0.007,30,0.001,95,0.158,101,0.011,103,0.001,104,0.001,252,3.111,254,2.924,255,3.097,256,3.176,257,3.164,258,3.153,259,3.849,260,4.383,269,4.14,270,3.119,271,3.054,276,4.14,277,1.166,618,5.23,633,11.124,648,6.652,665,11.5,685,6.182,1054,4.577,3077,8.144,3857,6.908,4840,4.743,8828,7.122,8829,8.899,9832,9.935,9957,8.116,13739,6.591,13743,8.118,13744,8.118,13745,8.118,13746,10.771,13747,11.157,13748,10.792,13749,7.518,13750,9.284,13751,6.591,13752,7.122,13753,8.118,13754,8.899,13755,10.582,13756,8.899]],["title/classes/IdentityManagementOauthService.html",[0,0.239,13748,5.472]],["body/classes/IdentityManagementOauthService.html",[0,0.258,2,0.796,3,0.014,4,0.014,5,0.007,7,0.105,8,1.156,9,6.401,27,0.445,29,0.573,30,0.001,31,0.419,32,0.093,33,0.342,35,1.594,36,2.743,47,0.955,51,5.797,78,9.473,87,6.52,94,6.112,95,0.085,101,0.01,103,0,104,0,125,2.386,157,1.723,195,2.194,197,2.788,329,6.096,388,4.3,648,7.595,985,6.993,1076,6.38,1080,2.58,1461,7.509,1470,7.623,1568,6.949,1585,7.344,2087,5.898,2388,6.075,2537,7.919,4840,7.058,4873,8.677,8956,7.509,13739,9.809,13748,7.898,13757,6.929,13758,11.188,13759,11.188,13760,9.286,13761,7.483,13762,7.483,13763,9.286,13764,7.483,13765,5.603,13766,6.929]],["title/classes/IdentityManagementService.html",[0,0.239,633,5.64]],["body/classes/IdentityManagementService.html",[0,0.128,2,0.395,3,0.007,4,0.007,5,0.003,7,0.052,8,0.688,9,6.472,27,0.467,29,0.925,30,0.001,31,0.697,32,0.153,33,0.552,34,2.214,35,1.533,36,2.818,39,2.775,47,0.999,51,4.111,55,1.198,56,1.752,59,1.852,70,1.89,85,7.358,87,6.257,94,7.222,95,0.068,98,2.233,99,0.76,101,0.008,103,0,104,0,122,0.775,125,1.78,130,3.304,142,2.17,153,1.405,157,2.671,230,7.252,290,2.744,318,5.234,319,5.234,328,4.468,335,5.753,339,1.75,347,3.057,360,6.286,385,7.471,388,5.512,533,3.185,540,3.521,567,3.811,593,3.013,595,1.401,633,4.844,648,5.386,734,2.504,860,4.206,1083,6.811,1355,4.915,1568,4.134,1834,6.278,1835,3.057,1926,7.358,2582,3.75,3071,5.154,3077,5.593,3078,7.726,3206,4.959,4394,6.462,4840,7.057,4955,5.234,5099,4.699,5238,5.234,5256,7.205,8830,3.013,8841,3.256,8848,3.437,13312,3.437,13739,9.807,13767,5.525,13768,5.525,13769,5.525,13770,5.525,13771,7.934,13772,6.927,13773,6.927,13774,5.525,13775,5.525,13776,5.525,13777,9.758,13778,3.712,13779,10.957,13780,5.966,13781,3.712,13782,5.525,13783,8.568,13784,5.525,13785,5.525,13786,5.525,13787,5.966,13788,5.525,13789,7.934,13790,3.712,13791,3.712,13792,3.437,13793,10.147,13794,3.712,13795,8.692,13796,11.791,13797,3.437,13798,7.934,13799,3.712,13800,5.966,13801,3.712,13802,5.966,13803,3.712,13804,2.924]],["title/entities/ImportUser.html",[205,1.416,13805,4.989]],["body/entities/ImportUser.html",[0,0.15,3,0.008,4,0.008,5,0.004,7,0.061,27,0.495,30,0.001,31,0.378,32,0.162,33,0.427,47,0.959,49,1.639,95,0.122,96,1.145,101,0.012,103,0,104,0,112,0.838,122,1.73,125,1.973,129,2.475,130,2.267,135,1.081,142,2.457,145,3.107,146,2.961,148,0.668,153,0.712,159,0.694,180,2.884,190,2.258,195,2.789,196,3.094,197,1.878,205,1.377,206,1.412,219,5.665,223,3.957,224,1.261,225,2.595,226,1.968,229,1.718,231,0.753,232,1.177,233,1.355,271,1.633,290,3.049,301,2.798,413,2.64,415,5.318,540,1.525,567,2.567,579,1.243,614,1.337,652,0.885,692,3.913,700,4.512,701,4.512,702,5.296,703,3.594,704,5.158,756,1.718,886,2.942,1065,2.131,1237,1.28,1783,6.225,1829,1.846,2009,4.47,2344,2.64,2372,3.809,2538,7.423,2539,3.651,2828,3.252,2880,5.093,2911,5.176,2912,7.172,2921,3.182,2988,3.809,3206,3.909,3382,4.28,3388,3.461,4541,2.357,4546,6.445,4629,3.42,4630,3.252,4645,4.851,5009,2.408,5163,4.561,5361,3.119,5435,3.252,5670,3.892,6329,6.48,6943,3.119,7477,3.809,7491,4.15,7494,2.698,7495,2.448,7515,2.729,7720,4.605,7830,4.409,7837,2.612,7838,2.698,8553,4.681,10016,3.119,10060,3.252,10061,3.42,11189,2.835,11190,3.061,11191,2.835,11192,3.061,11193,2.961,11194,3.182,11368,2.916,11369,2.916,12371,6.593,12372,5.744,12389,2.668,12396,5.68,12996,3.42,13040,4.021,13620,7.366,13694,3.651,13805,4.851,13806,11.801,13807,7.172,13808,8.879,13809,6.376,13810,4.342,13811,4.342,13812,5.68,13813,4.342,13814,4.342,13815,4.342,13816,4.342,13817,4.342,13818,8.225,13819,6.754,13820,6.254,13821,4.342,13822,7.172,13823,4.342,13824,7.592,13825,4.342,13826,4.342,13827,7.272,13828,4.342,13829,3.33,13830,5.68,13831,3.809,13832,3.809,13833,4.021,13834,3.651,13835,4.021,13836,4.021,13837,4.021,13838,4.021,13839,4.021,13840,4.021,13841,4.021,13842,4.021,13843,5.68,13844,4.021,13845,5.68,13846,3.651,13847,4.021,13848,4.021,13849,4.021,13850,3.33,13851,4.021,13852,4.021,13853,4.021,13854,4.021,13855,3.651,13856,4.021,13857,4.021,13858,3.33,13859,5.68,13860,4.021]],["title/controllers/ImportUserController.html",[314,2.659,13861,6.094]],["body/controllers/ImportUserController.html",[0,0.15,3,0.008,4,0.008,5,0.004,7,0.061,8,0.782,10,1.747,27,0.456,29,0.889,30,0.001,31,0.65,32,0.144,33,0.53,35,1.342,36,2.783,56,4.427,59,1.355,70,4.775,95,0.139,100,1.524,101,0.006,103,0,104,0,122,1.736,135,1.742,141,3.567,148,1.005,153,1.113,158,1.609,190,2.082,202,1.003,228,1.229,274,1.825,277,0.627,290,1.033,298,1.889,314,1.671,316,2.106,317,2.983,325,6.866,326,4.086,349,7.062,365,5.413,379,4.235,388,4.022,389,2.85,392,2.282,395,2.348,398,2.366,400,1.3,478,1.226,540,3.293,595,1.648,652,0.89,657,2.654,863,3.732,871,4.457,883,7.91,2907,3.891,3189,7.018,3209,2.252,3211,2.402,4923,5.451,6229,4.386,7580,7.324,7866,5.111,10783,6.753,12368,7.887,12404,7.887,13805,3.136,13861,5.95,13862,11.911,13863,4.366,13864,4.366,13865,6.783,13866,8.317,13867,8.317,13868,8.317,13869,6.783,13870,8.317,13871,8.317,13872,8.317,13873,4.366,13874,6.783,13875,4.366,13876,4.366,13877,7.887,13878,4.366,13879,4.366,13880,6.783,13881,4.366,13882,4.366,13883,10.681,13884,6.783,13885,4.366,13886,4.366,13887,6.281,13888,4.366,13889,4.366,13890,8.228,13891,6.783,13892,4.366,13893,4.366,13894,8.685,13895,6.783,13896,4.366,13897,4.366,13898,8.228,13899,6.783,13900,4.366,13901,3.83,13902,4.366,13903,4.366,13904,3.671,13905,4.366,13906,3.83,13907,8.685,13908,4.043,13909,4.043,13910,3.671,13911,3.544,13912,5.704,13913,4.366,13914,4.366,13915,3.544,13916,3.83,13917,4.366,13918,4.366,13919,4.366,13920,4.366,13921,5.704,13922,4.366,13923,4.366,13924,4.366,13925,4.366,13926,8.317,13927,4.366,13928,8.317,13929,4.366,13930,4.366,13931,4.366,13932,4.366,13933,4.366,13934,4.366,13935,4.366,13936,4.043,13937,4.366,13938,4.366,13939,4.366,13940,4.366,13941,4.366,13942,4.366,13943,4.366]],["title/classes/ImportUserFactory.html",[0,0.239,13944,6.433]],["body/classes/ImportUserFactory.html",[0,0.162,2,0.499,3,0.009,4,0.009,5,0.004,7,0.066,8,0.827,27,0.516,29,1.013,30,0.001,31,0.707,32,0.167,33,0.577,34,1.486,35,1.408,47,0.618,55,2.311,59,3.259,95,0.131,101,0.006,103,0,104,0,112,0.56,113,4.411,127,4.869,129,3.545,130,3.248,135,0.935,148,0.709,157,2.003,158,1.729,172,3.048,185,2.457,192,2.582,197,1.305,205,2.14,206,2.332,228,1.299,231,1.243,290,2.878,326,4.799,374,3.102,433,0.578,436,3.841,467,2.088,478,1.317,501,7.223,502,5.404,505,3.977,506,5.404,507,5.36,508,3.977,509,3.977,510,3.977,511,3.915,512,4.431,513,4.827,514,6.239,515,5.731,516,7.009,517,2.624,522,2.603,523,3.977,524,2.624,525,5.093,526,5.24,527,4.124,528,4.929,529,3.946,530,2.603,531,3.749,532,4.106,533,2.505,534,2.453,535,2.603,536,2.624,537,4.751,538,2.603,539,7.103,540,4.169,541,6.585,542,2.624,543,4.222,544,2.603,545,2.624,546,2.603,547,2.624,548,2.603,549,2.916,550,2.741,551,2.603,552,6.042,553,2.624,554,2.603,555,3.977,556,3.628,557,3.977,558,2.624,559,2.524,560,2.487,561,2.106,562,2.603,563,2.603,564,2.603,565,2.624,566,2.624,567,1.784,568,2.603,569,1.457,570,2.624,571,3.442,572,2.603,573,2.624,575,2.692,576,2.767,577,2.795,595,1.771,620,2.916,700,2.264,701,2.264,702,2.317,703,1.457,704,2.389,1086,2.239,1087,2.169,1088,2.203,1089,2.345,1090,2.562,1091,3.151,3382,2.148,4199,6.291,4546,2.985,5009,2.603,7705,3.696,7706,3.81,7715,3.696,11369,3.151,11559,3.308,12371,3.308,13620,5.648,13805,3.37,13807,3.599,13808,5.499,13809,3.199,13818,7.91,13830,3.946,13944,8.058,13945,7.17,13946,4.692,13947,7.17,13948,4.692,13949,6.64,13950,6.291,13951,4.692,13952,4.692,13953,4.692,13954,4.692,13955,4.692,13956,4.117,13957,4.692]],["title/classes/ImportUserListResponse.html",[0,0.239,13910,5.842]],["body/classes/ImportUserListResponse.html",[0,0.347,2,0.916,3,0.011,4,0.011,5,0.006,7,0.084,27,0.458,29,0.46,30,0.001,31,0.482,32,0.166,33,0.532,34,1.026,47,0.826,55,2.768,56,5.715,59,2.673,70,6.164,94,3.038,95,0.138,101,0.011,103,0,104,0,112,0.672,122,1.253,125,1.429,134,2.122,142,2.184,157,2.936,180,2.564,190,1.973,195,2.202,197,1.67,200,1.84,201,3.343,202,1.38,231,1.492,232,1.627,290,3.017,296,3.393,298,2.598,299,4.283,304,2.965,331,2.657,339,3.413,374,2.598,415,3.415,433,0.74,436,3.257,556,3.038,571,2.375,614,3.583,700,4.153,701,4.153,703,1.864,855,3.484,862,7.748,863,6.662,864,4.938,866,2.983,868,4.828,869,2.947,870,3.279,871,2.199,872,4.234,873,5.477,874,5.029,875,3.974,876,3.118,877,4.234,878,4.234,880,3.821,881,3.279,886,1.89,1086,2.865,1087,2.776,1088,2.82,1089,3.001,1090,3.279,1619,3.69,1842,2.735,1929,4.313,2134,4.234,3166,3.206,3167,3.206,3382,5.03,3383,3.869,3384,3.445,3388,3.077,4656,3.613,4923,3.94,5168,4.938,5198,3.69,5224,3.775,5361,4.313,6258,3.476,11189,3.92,11190,4.234,11191,3.92,11192,4.234,12371,4.234,12372,4.162,12389,3.69,12401,4.234,13002,4.875,13807,4.606,13809,4.095,13845,5.05,13846,5.05,13910,7.239,13911,10.355,13958,7.552,13959,6.005,13960,6.005,13961,7.926,13962,5.561,13963,7.717,13964,5.561,13965,5.561,13966,5.05,13967,5.05,13968,5.05,13969,5.05,13970,5.561,13971,5.561,13972,7.971,13973,5.561,13974,4.875,13975,5.561,13976,5.561,13977,4.73,13978,5.561]],["title/classes/ImportUserMapper.html",[0,0.239,13901,6.094]],["body/classes/ImportUserMapper.html",[0,0.223,2,0.689,3,0.012,4,0.012,5,0.006,7,0.091,8,1.048,27,0.413,29,0.804,30,0.001,31,0.588,32,0.131,33,0.48,35,1.214,95,0.151,99,1.326,100,3.969,101,0.008,103,0,104,0,125,2.497,129,1.935,135,1.562,141,3.896,142,3.816,148,1.125,153,1.49,195,1.988,277,0.931,290,2.149,331,2.868,365,2.881,393,3.199,467,3.849,478,1.819,579,1.855,595,2.446,700,3.126,701,3.126,830,5.039,837,3.199,1393,5.167,2037,4.123,2922,5.259,3297,8.047,4923,5.204,5894,4.289,8046,5.449,10751,8.413,10780,8.413,10783,7.376,10784,8.957,10841,5.685,12368,9.562,12371,4.569,12372,4.491,13617,9.232,13805,8.915,13807,4.97,13809,4.418,13877,9.562,13901,7.971,13904,5.449,13906,7.971,13911,9.232,13936,6.001,13974,5.261,13979,11.371,13980,9.085,13981,9.085,13982,6.48,13983,6.48,13984,9.085,13985,6.48,13986,5.104,13987,6.001,13988,5.449,13989,5.685,13990,6.48,13991,6.48,13992,6.48,13993,6.48,13994,6.48,13995,6.48,13996,6.48,13997,6.48,13998,6.48,13999,6.48,14000,6.48,14001,6.48,14002,6.001,14003,9.085,14004,6.48,14005,6.48,14006,6.001,14007,6.48,14008,6.48,14009,6.001,14010,6.48,14011,6.48,14012,6.48,14013,6.48,14014,6.48,14015,6.48,14016,6.48,14017,6.48,14018,6.48,14019,6.48,14020,6.48,14021,6.48,14022,6.48,14023,6.48,14024,6.48,14025,6.48]],["title/classes/ImportUserMatchMapper.html",[0,0.239,13988,5.842]],["body/classes/ImportUserMatchMapper.html",[0,0.299,2,0.921,3,0.016,4,0.016,5,0.008,7,0.122,8,1.272,27,0.434,29,0.845,30,0.001,31,0.618,32,0.137,33,0.504,35,1.277,95,0.139,99,1.773,101,0.011,103,0.001,104,0.001,129,2.586,148,1.306,365,3.851,415,7.508,467,3.93,478,2.432,579,2.479,837,4.276,1393,6.274,2037,5.511,4656,5.211,4923,5.557,12381,11.838,13619,10.21,13818,10.958,13988,9.278,14026,8.661,14027,11.033,14028,11.033,14029,11.033,14030,8.661,14031,11.033,14032,8.661,14033,10.652,14034,8.661,14035,8.021,14036,8.661,14037,8.021,14038,8.661,14039,8.021,14040,6.822,14041,8.661,14042,8.661,14043,8.661,14044,8.661]],["title/modules/ImportUserModule.html",[252,1.836,14045,5.842]],["body/modules/ImportUserModule.html",[0,0.263,3,0.014,4,0.014,5,0.007,30,0.001,52,3.865,94,3.865,95,0.154,101,0.01,103,0,104,0,252,3.219,254,2.752,255,2.914,256,2.988,257,2.977,258,2.967,259,4.156,260,3.785,264,9.369,265,6.03,268,7.929,269,3.977,270,2.935,271,2.874,274,4.25,276,3.977,277,1.097,279,3.193,290,1.807,614,2.353,671,9.558,685,4.463,703,2.372,1027,2.341,1475,4.802,1531,9.197,1856,7.483,1899,4.987,2069,4.55,2369,4.272,2880,4.694,3071,4.596,3370,3.429,4923,3.496,6018,8.759,8775,6.017,12629,6.202,13599,5.056,13861,10.025,13907,12.079,13908,7.074,13909,7.074,14045,12.228,14046,7.639,14047,7.639,14048,7.639,14049,11.444,14050,7.639,14051,7.639,14052,7.639,14053,7.639]],["title/interfaces/ImportUserProperties.html",[159,0.714,13830,5.842]],["body/interfaces/ImportUserProperties.html",[0,0.165,3,0.009,4,0.009,5,0.004,7,0.067,30,0.001,31,0.408,32,0.167,33,0.57,47,0.995,49,1.807,95,0.127,96,1.262,101,0.013,103,0,104,0,112,0.871,122,2.054,125,1.733,135,1.149,142,2.648,145,3.303,146,3.264,148,0.72,153,0.785,159,0.748,161,1.137,180,3.109,195,2.614,196,2.409,197,1.331,205,1.484,219,5.922,223,3.709,224,1.391,225,2.797,226,2.17,229,1.894,231,0.83,232,1.297,233,1.494,271,1.801,290,3.111,301,3.084,413,2.91,415,5.01,540,1.681,567,1.82,579,1.37,614,1.475,652,0.976,692,4.999,700,5.11,701,5.11,702,5.724,703,3.8,704,5.679,756,1.894,886,3.098,1065,2.35,1237,1.412,1783,5.414,1829,2.035,2009,4.819,2344,2.91,2372,4.2,2538,6.456,2539,4.026,2828,3.585,2880,4.474,2911,4.896,2912,5.584,2921,3.508,2988,4.2,3206,2.771,3382,4.847,3388,2.453,4541,1.671,4546,7.096,4629,3.771,4630,3.585,4645,5.229,5009,2.655,5163,5.827,5361,3.439,5670,4.137,6329,5.046,6943,3.439,7491,4.474,7494,2.975,7495,2.699,7515,3.009,7830,3.125,7837,2.88,7838,2.975,8553,5.046,10016,3.439,10060,3.585,10061,3.771,11189,3.125,11190,3.376,11191,3.125,11192,3.376,11193,3.264,11194,3.508,11368,3.215,11369,3.215,12371,7.467,12372,6.106,12389,2.942,12396,4.026,12996,3.771,13620,8.342,13694,4.026,13805,3.439,13806,4.433,13807,8.122,13808,9.163,13809,7.221,13812,4.026,13818,9.055,13820,4.433,13822,5.584,13824,5.911,13827,6.388,13829,3.672,13830,7.409,13831,4.2,13832,4.2,13833,4.433,13834,4.026,13835,4.433,13836,4.433,13837,4.433,13838,4.433,13839,4.433,13840,4.433,13841,4.433,13842,4.433,13843,6.123,13844,4.433,13845,6.123,13846,4.026,13847,4.433,13848,4.433,13849,4.433,13850,3.672,13851,4.433,13852,4.433,13853,4.433,13854,4.433,13855,4.026,13856,4.433,13857,4.433,13858,3.672,13859,6.123,13860,4.433]],["title/injectables/ImportUserRepo.html",[589,0.926,14049,6.094]],["body/injectables/ImportUserRepo.html",[0,0.173,3,0.01,4,0.01,5,0.005,7,0.071,8,0.871,10,3.023,12,3.407,18,3.822,26,2.077,27,0.488,29,0.929,30,0.001,31,0.679,32,0.151,33,0.554,34,1.55,35,1.404,36,2.751,40,3.645,49,1.898,56,2.373,58,3.282,59,2.346,94,3.822,95,0.138,96,1.992,97,2.051,98,3.024,99,1.029,101,0.007,103,0,104,0,129,1.501,130,1.375,135,1.618,142,4.411,148,1.07,153,1.489,195,1.1,205,1.025,206,2.457,224,1.46,231,1.31,277,0.722,290,2.934,317,2.975,331,2.225,365,4.035,436,2.991,478,1.411,532,4.762,540,4.259,579,1.439,589,1.007,591,1.197,595,1.898,652,1.85,654,4.655,657,2.697,692,5.565,703,3.133,728,6.824,734,3.171,735,3.441,736,4.481,759,2.994,760,3.056,761,3.024,762,3.056,764,3.024,765,3.056,766,2.704,771,3.611,788,3.428,1619,4.642,1926,3.376,2231,4.296,2474,6.01,2907,4.334,3370,2.256,3388,3.871,3703,3.428,4199,6.628,5198,3.089,5217,6.399,6229,3.082,6835,3.484,7580,3.024,7866,7.244,7876,5.657,7894,6.628,7895,3.684,7896,3.684,13617,8.193,13805,8.162,13834,6.353,14002,4.655,14040,3.96,14049,6.628,14054,5.027,14055,7.555,14056,9.076,14057,9.076,14058,7.555,14059,7.555,14060,5.027,14061,4.655,14062,5.027,14063,5.027,14064,5.027,14065,5.027,14066,7.555,14067,5.027,14068,6.628,14069,5.027,14070,7.962,14071,5.027,14072,5.027,14073,5.027,14074,5.027,14075,5.027,14076,5.027,14077,5.027,14078,5.027,14079,5.027,14080,5.027,14081,5.027,14082,5.027,14083,5.027,14084,5.027,14085,5.027,14086,5.027,14087,5.027,14088,5.027,14089,5.027,14090,5.027,14091,7.555,14092,5.027,14093,7.555,14094,5.027,14095,5.027,14096,5.027,14097,5.027,14098,5.027,14099,5.027]],["title/classes/ImportUserResponse.html",[0,0.239,13911,5.64]],["body/classes/ImportUserResponse.html",[0,0.329,2,1.016,3,0.01,4,0.01,5,0.005,7,0.077,27,0.5,29,0.42,30,0.001,31,0.535,32,0.167,33,0.437,34,1.376,47,0.916,55,1.917,56,3.802,70,4.101,94,4.075,95,0.138,101,0.011,103,0,104,0,112,0.629,122,1.681,129,1.636,130,1.499,134,1.937,142,1.993,157,2.922,180,3.439,190,2.233,195,2.304,197,2.24,200,1.679,201,3.128,202,1.259,231,0.95,232,2.183,290,3.19,296,3.317,298,2.371,299,4.104,304,2.706,308,6.998,331,2.425,339,2.363,374,3.485,415,5.431,433,0.675,435,1.913,556,2.773,571,2.168,614,3.975,700,5.412,701,5.412,703,1.701,855,3.261,862,5.005,863,3.016,864,3.144,868,4.583,880,3.487,881,2.992,886,2.535,1086,2.615,1087,2.534,1088,2.573,1089,2.739,1090,2.992,1361,3.144,1619,4.95,1842,3.668,1929,3.936,2134,3.864,3166,4.301,3167,4.301,3382,5.549,3383,5.19,3384,4.621,3388,4.128,4656,4.846,4923,5.907,5168,6.04,5198,4.95,5224,5.064,5361,5.786,6258,4.663,8026,5.075,11189,3.578,11190,3.864,11191,3.578,11192,3.864,12371,6.734,12372,6.619,12389,4.95,12401,5.68,13002,4.449,13807,7.325,13809,6.512,13845,4.609,13846,4.609,13910,4.609,13911,10.098,13958,11.323,13961,8.836,13962,5.075,13963,8.603,13964,5.075,13965,5.075,13966,4.609,13967,4.609,13968,4.609,13969,4.609,13970,5.075,13971,5.075,13972,7.459,13973,5.075,13974,7.754,13975,7.459,13976,7.459,13977,4.317,13978,5.075,14100,5.48,14101,5.48,14102,5.48,14103,5.48,14104,5.48,14105,5.48,14106,5.48,14107,5.48,14108,5.48]],["title/classes/ImportUserScope.html",[0,0.239,14070,6.094]],["body/classes/ImportUserScope.html",[0,0.149,2,0.717,3,0.008,4,0.008,5,0.004,7,0.061,8,0.778,27,0.507,29,0.948,30,0.001,31,0.722,32,0.159,33,0.566,34,1.152,35,1.432,39,1.199,47,0.892,49,1.635,95,0.132,96,1.778,97,1.768,99,0.887,101,0.006,103,0,104,0,112,0.527,122,1.727,129,2.472,130,1.844,135,1.459,142,3.011,145,1.624,148,1.26,153,1.358,180,2.879,195,2.532,224,1.259,231,1.169,290,2.646,301,4.344,331,1.917,365,1.926,393,2.139,415,5.755,436,2.999,478,1.216,540,3.28,569,1.345,579,2.369,595,1.635,624,6.994,652,2.185,692,4.409,700,3.253,701,3.253,703,2.57,1072,6.709,1393,5.755,1829,4.556,1831,6.182,1918,4.673,2009,2.868,2037,2.757,2467,5.619,2474,6.027,4541,1.512,4546,2.757,4645,4.843,4656,4.056,5009,5.944,5091,3.6,5217,4.754,5894,5.478,6119,3.977,6144,5.943,6229,4.956,6947,4.528,6948,4.528,6949,4.528,6954,4.528,6955,4.528,6956,2.954,6957,2.909,6958,2.954,6959,2.954,6968,2.909,6969,4.528,6970,2.954,6971,2.909,6972,2.954,6973,2.909,6974,8.309,11368,4.528,11369,4.528,12371,5.836,12372,3.003,12389,2.662,13619,7.855,13805,3.112,13807,3.323,13808,6.348,13809,5.644,13829,5.171,13986,3.413,14035,4.012,14037,4.012,14039,4.012,14040,5.311,14070,11.524,14109,4.333,14110,6.743,14111,6.743,14112,6.743,14113,6.743,14114,6.743,14115,6.743,14116,6.743,14117,6.743,14118,6.743,14119,6.743,14120,4.333,14121,6.743,14122,4.333,14123,6.743,14124,4.333,14125,6.743,14126,4.333,14127,6.244,14128,6.743,14129,4.333,14130,6.743,14131,4.333,14132,6.743,14133,4.333,14134,6.743,14135,4.333,14136,6.743,14137,4.333,14138,3.644,14139,4.012,14140,4.333,14141,4.012,14142,4.333,14143,4.333,14144,6.743,14145,4.333,14146,8.194,14147,8.65,14148,4.333,14149,6.743,14150,6.743,14151,6.743,14152,6.743,14153,4.333,14154,4.333,14155,4.333,14156,4.333,14157,4.333,14158,4.333,14159,4.333,14160,6.743,14161,4.333,14162,4.333,14163,5.474,14164,4.333,14165,4.333,14166,4.012]],["title/classes/ImportUserUrlParams.html",[0,0.239,13883,6.094]],["body/classes/ImportUserUrlParams.html",[0,0.405,2,1.021,3,0.018,4,0.018,5,0.009,7,0.135,27,0.378,30,0.001,32,0.12,34,2.009,47,0.835,95,0.134,101,0.013,103,0.001,104,0.001,112,0.918,157,2.208,185,4.03,190,1.722,194,4.601,195,2.573,196,3.891,197,3.27,200,2.939,202,2.204,290,3.136,296,3.073,301,7.577,613,6.871,614,3.622,855,4.76,4150,5.831,4923,5.382,13805,8.447,13883,10.318,13958,10.318,13974,10.326,14167,9.593,14168,9.593]],["title/interfaces/InlineAttachment.html",[159,0.714,1445,5.202]],["body/interfaces/InlineAttachment.html",[3,0.017,4,0.017,5,0.008,7,0.126,30,0.001,31,0.504,32,0.112,47,1.034,77,5.793,101,0.012,103,0.001,104,0.001,112,0.882,159,1.422,161,2.135,231,2.314,1240,7.643,1439,8.46,1440,6.896,1441,9.704,1442,10.24,1443,6.896,1444,4.987,1445,9.251,1446,6.588,1447,6.588,1448,9.251,1449,6.896,1450,8.46,1451,8.665,1452,8.665,1453,8.46,1454,6.942,1455,6.733,1456,6.733,1457,6.896,1458,6.896]],["title/entities/InstalledLibrary.html",[205,1.416,11632,5.328]],["body/entities/InstalledLibrary.html",[0,0.262,3,0.006,4,0.006,5,0.003,7,0.043,27,0.519,29,0.234,30,0.001,31,0.285,32,0.168,33,0.625,47,0.907,55,2.631,72,2.326,83,1.48,95,0.087,96,0.805,101,0.01,103,0,104,0,112,0.397,122,2.117,131,2.588,134,2.308,141,3.917,145,3.804,148,0.753,155,2.072,157,1.504,172,3.884,190,2.366,194,1.988,195,3.01,196,4.116,197,0.849,205,1.036,206,0.992,208,1.918,211,6.902,223,4.291,224,0.886,225,1.952,229,1.207,231,0.529,233,0.952,289,3.78,301,1.966,374,3.295,414,4.901,467,0.889,478,0.857,567,1.932,711,1.506,756,4.168,870,3.566,1087,1.411,1195,6.538,1199,7.007,1200,7.43,1201,7.43,1215,4.582,1224,3.65,1237,2.246,1372,2.675,1928,3.724,2163,3.019,2183,1.203,2392,2.905,2547,3.195,2616,3.465,2881,1.456,2884,6.104,2964,3.522,3025,1.464,3370,2.281,3378,2.997,3878,2.404,3924,3.364,5093,3.318,5187,4.059,5198,3.123,5359,4.003,5968,3.65,6119,2.997,6144,3.233,6515,5.009,6516,5.009,6517,4.891,6518,5.009,6519,4.263,6525,4.891,6526,5.009,6538,5.009,6541,3.583,6542,3.898,6558,2.89,6559,2.236,6561,2.34,6569,2.151,6571,2.34,6573,2.34,6575,2.34,6577,2.34,6583,2.34,7004,6.336,7184,1.966,7407,3.65,7514,1.817,9537,2.151,11613,6.184,11614,2.566,11615,4.003,11616,5.009,11617,2.477,11621,4.274,11622,4.274,11623,4.274,11624,2.566,11625,7.865,11626,2.566,11627,4.274,11628,4.274,11629,4.274,11630,2.404,11631,2.566,11632,3.898,11633,6.184,11634,6.405,11635,5.492,11636,5.492,11637,6.35,11638,4.126,11639,3.898,11640,4.274,11641,4.003,11642,4.274,11643,3.65,11644,4.274,11645,4.274,11646,4.126,11647,4.274,11648,4.274,11649,4.003,11650,4.274,11651,5.144,11652,3.465,11653,5.492,11654,5.492,11655,5.492,11656,5.492,11657,2.566,11658,5.492,11659,5.492,11660,5.492,11661,5.492,11662,2.566,11663,2.566,11664,2.566,11665,2.566,11666,2.566,11667,2.566,11668,2.566,11669,2.566,11670,2.566,11671,2.566,11672,2.566,11673,2.566,11674,2.566,11675,2.566,11676,2.566,11677,2.566,11678,2.566,11679,2.566,11680,2.566,11681,2.566,11682,2.566,11683,2.566,11684,2.566,11685,2.566,11686,2.566,11687,2.566,11688,2.566,11689,2.566,11690,2.566,11691,2.566,11692,2.566,11693,2.566,11694,2.566,11695,2.566,11696,2.566,11697,2.566,11698,2.566,11699,2.566,11700,2.566,11701,2.566,11702,2.566,11703,2.566,11704,2.566,11705,2.566,11706,2.566,11707,2.566,11708,2.566,11709,2.566,11710,2.566,11711,2.566,11712,2.566,11713,2.566,14169,3.051,14170,3.051,14171,3.051,14172,3.051,14173,3.051,14174,3.051,14175,3.051,14176,3.051,14177,3.051,14178,3.051,14179,3.051,14180,3.051,14181,3.051,14182,3.051,14183,3.051,14184,3.051,14185,3.051,14186,3.051,14187,3.051,14188,3.051,14189,3.051,14190,3.051,14191,3.051,14192,3.051,14193,3.051,14194,3.051]],["title/interfaces/InterceptorConfig.html",[159,0.714,7422,5.842]],["body/interfaces/InterceptorConfig.html",[3,0.02,4,0.02,5,0.01,7,0.147,30,0.001,32,0.155,55,2.838,101,0.014,103,0.001,104,0.001,112,0.97,159,1.079,161,2.493,311,6.852,7422,10.44,12013,10.764,12015,11.491,14195,10.496]],["title/modules/InterceptorModule.html",[252,1.836,7404,6.094]],["body/modules/InterceptorModule.html",[0,0.302,3,0.017,4,0.017,5,0.008,30,0.001,95,0.147,101,0.012,103,0.001,104,0.001,135,1.145,148,0.868,153,1.439,157,2.02,252,2.94,254,3.161,259,3.192,277,1.26,339,3.264,393,4.332,543,6.233,567,4.229,634,7.435,651,4.44,685,6.499,686,6.303,688,4.142,1213,7.078,1829,3.731,1938,4.72,2357,6.326,2547,6.993,3770,7.363,4291,9.147,5224,6.993,7404,9.76,7414,7.71,7415,10.717,7419,9.032,7422,7.379,9080,8.331,9953,6.73,9957,6.73,13176,6.303,14196,8.775,14197,9.032,14198,12.845,14199,10.717,14200,8.126,14201,8.775]],["title/interfaces/IntrospectResponse.html",[159,0.714,14202,6.094]],["body/interfaces/IntrospectResponse.html",[3,0.015,4,0.015,5,0.007,7,0.109,30,0.001,32,0.177,33,0.67,47,1.042,51,5.885,55,2.757,101,0.01,103,0,104,0,112,0.803,122,2.405,159,0.799,161,1.846,162,5.386,185,3.95,1495,8.81,4870,7.903,6229,5.004,7127,8.81,7965,9.662,7967,9.662,7989,9.662,7991,9.662,14202,9.022,14203,7.772,14204,11.359,14205,12.266,14206,12.266,14207,12.266,14208,12.266]],["title/classes/InvalidOriginForLogoutUrlLoggableException.html",[0,0.239,14209,6.094]],["body/classes/InvalidOriginForLogoutUrlLoggableException.html",[0,0.29,2,0.896,3,0.016,4,0.016,5,0.008,7,0.118,8,1.25,27,0.427,29,0.645,30,0.001,31,0.472,32,0.135,33,0.385,35,0.975,47,0.951,72,3.856,95,0.124,101,0.011,103,0.001,104,0.001,125,2.852,148,0.833,153,1.382,193,3.661,228,1.964,231,1.879,233,2.63,277,1.21,339,2.472,400,2.509,433,1.038,652,1.717,1027,2.581,1115,3.225,1237,3.196,1422,4.909,1423,5.657,1426,5.679,1462,4.636,1465,5.839,1468,5.657,1469,5.953,1477,4.375,1478,4.565,1882,3.214,2137,6.309,2160,7.932,2162,10.454,2805,5.576,2899,6.462,2901,7.391,2922,6.937,8752,6.462,10045,6.309,12504,5.94,14209,9.51,14210,11.984,14211,9.192,14212,11.984,14213,8.425,14214,8.425,14215,8.425,14216,8.425]],["title/classes/InvalidUserLoginMigrationLoggableException.html",[0,0.239,14217,6.094]],["body/classes/InvalidUserLoginMigrationLoggableException.html",[0,0.291,2,0.898,3,0.016,4,0.016,5,0.008,7,0.119,8,1.252,26,2.807,27,0.427,29,0.647,30,0.001,31,0.473,32,0.135,33,0.386,35,0.977,39,3.32,52,5.492,95,0.137,99,1.728,101,0.011,103,0.001,104,0.001,148,0.835,180,5.724,228,1.967,231,1.881,233,2.635,242,4.444,277,1.213,290,2.837,339,2.477,400,2.515,433,1.041,652,1.721,1027,2.587,1115,3.232,1237,3.2,1422,4.914,1423,5.663,1426,5.683,1434,5.44,1462,4.646,1468,5.663,1469,5.958,1477,4.384,1478,4.575,2980,3.826,3382,3.864,4923,5.49,6376,7.633,10342,5.669,12407,6.186,14217,9.523,14218,11.996,14219,11.109,14220,9.278,14221,6.854,14222,8.443,14223,7.1,14224,7.407]],["title/classes/IservMapper.html",[0,0.239,14225,6.094]],["body/classes/IservMapper.html",[0,0.297,2,0.917,3,0.016,4,0.016,5,0.008,7,0.121,8,1.269,27,0.433,29,0.843,30,0.001,31,0.679,32,0.137,33,0.503,35,1.274,95,0.138,100,3.01,101,0.011,103,0.001,104,0.001,148,1.088,153,1.805,467,3.926,595,3.255,700,4.161,701,4.161,702,4.258,704,5.602,1853,2.821,2070,7.527,3388,4.419,5009,7.079,8056,7.145,10031,9.352,10033,5.63,11183,9.352,13809,8.703,14225,9.653,14226,12.117,14227,8.624,14228,10.189,14229,10.189,14230,11.003,14231,8.624,14232,7.002,14233,11.003,14234,8.624,14235,8.624,14236,8.624,14237,7.986,14238,8.624,14239,8.624,14240,8.624,14241,7.986]],["title/injectables/IservProvisioningStrategy.html",[589,0.926,14242,5.842]],["body/injectables/IservProvisioningStrategy.html",[0,0.202,3,0.011,4,0.011,5,0.005,7,0.082,8,0.975,27,0.453,29,0.832,30,0.001,31,0.608,32,0.135,33,0.497,35,1.257,36,2.54,47,0.878,95,0.153,100,2.044,101,0.008,103,0,104,0,125,2.586,135,1.709,142,3.075,145,2.195,148,1.14,153,1.627,173,5.595,195,1.281,228,1.532,231,1.465,233,1.828,277,0.841,290,2.569,317,2.601,339,1.718,400,1.744,433,0.722,436,2.94,478,1.644,579,2.42,589,1.127,591,1.394,595,2.21,652,1.194,657,2.486,702,4.174,703,1.818,1476,5.139,1548,4.385,1585,3.56,1610,4.291,1719,6.195,1853,1.915,2064,5.138,2065,7.19,2067,5.859,2069,3.488,2070,4.986,2357,3.33,3382,2.68,3853,3.083,4541,2.044,5009,5.503,5224,5.314,5401,7.445,6943,4.206,8056,4.581,8062,5.764,10024,3.993,10031,6.195,11183,6.195,12687,8.557,13689,4.925,13732,5.138,13734,7.829,13809,5.764,14225,5.138,14242,7.109,14243,5.856,14244,7.376,14245,8.454,14246,6.659,14247,5.856,14248,6.864,14249,8.622,14250,5.856,14251,8.454,14252,5.856,14253,6.864,14254,8.135,14255,5.423,14256,5.856,14257,6.392,14258,3.823,14259,3.823,14260,5.423,14261,6.484,14262,5.138,14263,5.856,14264,5.856,14265,5.856,14266,5.423,14267,8.454,14268,5.856,14269,8.454,14270,5.856,14271,5.423,14272,5.856,14273,5.856,14274,5.856,14275,5.856,14276,5.856,14277,5.856,14278,6.864,14279,5.856,14280,7.109,14281,5.856,14282,7.109,14283,5.138,14284,5.423,14285,5.856,14286,5.856,14287,5.856,14288,5.856,14289,5.856,14290,5.856,14291,5.138]],["title/interfaces/JsonAccount.html",[159,0.714,14292,6.094]],["body/interfaces/JsonAccount.html",[3,0.018,4,0.018,5,0.009,7,0.133,30,0.001,32,0.177,33,0.534,39,3.654,47,1.022,48,6.481,51,6.335,87,6.639,101,0.012,103,0.001,104,0.001,112,0.912,159,0.974,161,2.251,172,5.613,789,7.21,4840,5.538,4841,5.89,14292,10.243,14293,8.778,14294,9.48,14295,10.812]],["title/interfaces/JsonUser.html",[159,0.714,14296,6.094]],["body/interfaces/JsonUser.html",[3,0.019,4,0.019,5,0.009,7,0.138,30,0.001,32,0.174,47,1.023,101,0.013,103,0.001,104,0.001,112,0.934,159,1.013,161,2.34,172,5.082,700,6.456,701,6.456,702,6.606,789,7.306,4840,5.755,4841,6.122,14293,9.123,14295,9.123,14296,10.487,14297,9.852]],["title/injectables/JwtAuthGuard.html",[589,0.926,14298,6.094]],["body/injectables/JwtAuthGuard.html",[0,0.368,3,0.02,4,0.02,5,0.01,30,0.001,95,0.143,101,0.014,103,0.001,104,0.001,231,2.176,277,1.536,589,1.673,591,2.545,1545,7.538,9131,8.991,14298,11.011,14299,10.692,14300,10.692,14301,12.551]],["title/interfaces/JwtConstants.html",[159,0.714,1549,5.842]],["body/interfaces/JwtConstants.html",[3,0.017,4,0.017,5,0.008,7,0.127,30,0.001,32,0.162,39,2.505,47,1.003,85,7.618,95,0.103,101,0.015,103,0.001,104,0.001,112,0.886,135,1.48,159,0.931,161,2.15,172,4.823,195,1.981,617,9.953,1546,7.13,1549,10.924,1589,6.943,1591,8.383,1593,5.562,1595,7.349,1598,7.89,1730,6.779,1829,3.848,1884,5.562,2524,6.382,3071,5.446,7127,6.502,7965,7.13,7967,7.13,7989,7.13,7991,7.13,14302,9.052,14303,13.379,14304,11.345,14305,9.052,14306,9.052,14307,7.349,14308,7.612,14309,7.612,14310,9.052,14311,9.052,14312,9.052,14313,8.383,14314,9.052,14315,9.052]],["title/classes/JwtExtractor.html",[0,0.239,14316,6.094]],["body/classes/JwtExtractor.html",[0,0.304,2,0.938,3,0.017,4,0.017,5,0.008,7,0.124,8,1.286,27,0.347,29,0.675,30,0.001,31,0.625,32,0.11,33,0.403,35,1.02,47,0.913,95,0.14,101,0.012,103,0.001,104,0.001,135,1.15,142,4.058,148,1.104,176,6.193,193,5.319,371,5.914,467,3.564,571,4.413,1086,5.323,1087,5.157,1088,5.238,1089,6.117,1090,6.683,1091,8.22,1092,7.491,1103,6.76,1585,5.358,7584,5.302,13470,9.381,13543,9.381,14316,9.787,14317,10.331,14318,8.814,14319,11.156,14320,11.156,14321,8.814,14322,12.24,14323,6.76,14324,8.814,14325,11.156]],["title/interfaces/JwtPayload.html",[159,0.714,1719,5.09]],["body/interfaces/JwtPayload.html",[3,0.016,4,0.016,5,0.008,7,0.117,30,0.001,32,0.167,39,2.984,47,1.029,48,4.101,55,2.684,85,5.61,101,0.014,103,0.001,104,0.001,112,0.842,122,2.25,159,1.108,161,1.984,180,3.567,231,1.869,290,1.976,413,5.079,561,3.75,812,5.383,1589,8.269,1593,6.625,1699,9.403,1719,7.9,1730,9.445,1829,5.362,1925,5.079,2524,7.602,3388,4.281,4541,2.916,4906,5.53,5746,5.454,7127,9.059,7965,9.935,7967,9.935,7989,9.935,7991,9.935,7997,7.737,7998,7.737,7999,7.026,8000,7.33,8001,7.737,8002,7.33,8003,9.459]],["title/injectables/JwtStrategy.html",[589,0.926,1527,6.094]],["body/injectables/JwtStrategy.html",[0,0.265,3,0.015,4,0.015,5,0.007,7,0.108,8,1.177,27,0.402,29,0.782,30,0.001,31,0.572,32,0.127,33,0.466,35,0.889,36,2.159,85,5.159,95,0.156,101,0.01,103,0,104,0,135,1.331,148,0.76,153,1.26,159,0.79,197,2.137,228,1.392,231,1.769,233,2.398,277,1.104,290,1.817,317,2.483,325,3.816,331,3.4,349,5.196,400,2.288,433,0.947,525,4.017,579,2.199,589,1.361,591,1.829,629,4.044,657,1.758,675,3.912,985,6.633,1080,2.649,1213,6.493,1328,4.073,1329,6.204,1527,8.954,1528,10.607,1545,5.417,1549,6.461,1550,6.741,1554,6.741,1585,7.422,1599,7.115,1719,8.947,1722,6.461,1723,6.517,1730,7.642,1829,3.266,1983,5.159,2105,6.052,3078,5.417,4870,4.95,4957,5.159,5231,4.83,6120,6.238,8044,5.754,12634,6.741,14316,6.741,14323,5.893,14326,7.683,14327,8.286,14328,7.683,14329,7.683,14330,10.206,14331,7.683,14332,6.238,14333,7.683,14334,6.238,14335,7.683,14336,7.683,14337,7.683,14338,7.683,14339,7.683,14340,7.683,14341,7.683,14342,7.683,14343,7.683,14344,7.683,14345,7.683,14346,7.683]],["title/classes/JwtTestFactory.html",[0,0.239,7980,6.094]],["body/classes/JwtTestFactory.html",[0,0.268,2,0.828,3,0.015,4,0.015,5,0.007,7,0.109,8,1.187,27,0.405,29,0.597,30,0.001,31,0.436,32,0.144,33,0.356,35,1.192,47,0.999,59,2.418,85,7.747,95,0.117,101,0.01,103,0,104,0,135,1.601,148,1.019,159,0.801,326,2.96,403,5.21,467,3.819,711,3.051,1546,6.134,1548,5.832,1573,6.549,1585,4.734,1589,5.973,1593,4.785,1718,7.545,1730,7.711,7127,7.396,7963,10.769,7964,7.212,7965,8.111,7966,8.659,7967,8.111,7968,10.683,7969,10.735,7970,9.536,7971,7.212,7972,7.212,7973,7.212,7974,7.212,7975,9.034,7976,7.212,7977,9.536,7978,9.536,7979,7.212,7980,9.034,7981,10.769,7982,9.536,7983,9.536,7984,7.212,7985,7.212,7986,7.212,7987,7.212,7988,7.212,7989,6.134,7990,8.659,7991,6.134,7992,6.832,7993,7.212,7994,7.212,7995,7.212,7996,7.212,14347,10.297,14348,7.788,14349,7.788]],["title/injectables/JwtValidationAdapter.html",[589,0.926,1528,5.64]],["body/injectables/JwtValidationAdapter.html",[0,0.22,3,0.012,4,0.012,5,0.006,7,0.09,8,1.036,27,0.444,29,0.865,30,0.001,31,0.632,32,0.141,33,0.516,34,1.928,35,1.204,36,2.612,47,1.005,85,7.993,94,4.545,95,0.141,101,0.008,103,0,104,0,135,1.172,157,1.468,194,3.514,197,1.773,228,1.628,277,0.916,317,2.853,388,3.852,433,1.107,531,5.903,571,3.554,589,1.198,591,1.518,652,1.831,657,2.38,688,3.01,985,5.2,1086,4.287,1087,4.153,1088,4.218,1089,4.489,1090,4.905,1091,6.033,1226,7.882,1507,4.775,1528,7.294,1536,5.595,1585,7.875,1730,10.284,1749,5.109,1831,5.946,1884,3.919,1986,7.294,2547,7.098,2884,5.405,3370,4.032,4167,7.076,4207,10.67,4211,5.595,4214,4.775,4216,5.595,4224,5.595,4225,9.376,4226,7.076,8003,7.882,12634,7.882,13831,7.882,14317,11.022,14350,6.377,14351,8.984,14352,8.984,14353,8.984,14354,6.377,14355,6.377,14356,8.984,14357,8.984,14358,6.377,14359,8.984,14360,6.377,14361,8.984,14362,8.984,14363,8.984,14364,6.377,14365,6.377,14366,6.377,14367,6.377,14368,6.377,14369,8.984,14370,6.377,14371,6.377,14372,6.377,14373,8.984,14374,8.984,14375,6.377,14376,6.377,14377,6.377]],["title/classes/KeycloakAdministration.html",[0,0.239,14378,6.433]],["body/classes/KeycloakAdministration.html",[0,0.301,2,0.929,3,0.017,4,0.017,5,0.008,7,0.123,27,0.344,30,0.001,47,1.016,51,5.323,87,6.448,95,0.127,101,0.011,103,0.001,104,0.001,112,0.866,122,2.315,129,3.313,130,2.39,311,5.703,467,3.55,2218,3.903,2219,4.393,2220,4.239,2332,6.204,2383,7.347,4212,5.104,4840,6.481,4841,6.894,6310,6.448,8956,8.308,13574,7.242,13630,11.132,13632,9.329,13633,10.252,13751,9.007,14378,10.274,14379,9.329,14380,11.094,14381,11.094,14382,11.094,14383,11.094,14384,11.094,14385,11.094,14386,8.737,14387,6.882]],["title/modules/KeycloakAdministrationModule.html",[252,1.836,13746,5.64]],["body/modules/KeycloakAdministrationModule.html",[0,0.313,3,0.017,4,0.017,5,0.008,7,0.127,30,0.001,95,0.153,101,0.012,103,0.001,104,0.001,252,3.278,254,3.268,255,3.461,256,3.549,257,3.536,258,3.523,259,4.512,260,4.618,269,4.444,270,3.485,271,3.413,274,3.793,277,1.303,618,5.845,685,5.3,1267,6.516,2087,3.925,2383,7.629,2802,4.546,4840,5.3,4841,5.637,12389,6.981,13633,9.554,13746,11.251,13751,7.366,14387,7.146,14388,9.072,14389,9.072,14390,9.072,14391,10.541,14392,9.072,14393,10.521,14394,6.794,14395,8.401,14396,8.401,14397,7.629,14398,7.629,14399,6.958,14400,9.072]],["title/injectables/KeycloakAdministrationService.html",[589,0.926,14391,5.09]],["body/injectables/KeycloakAdministrationService.html",[0,0.187,3,0.01,4,0.01,5,0.005,7,0.112,8,0.923,27,0.52,29,0.416,30,0.001,31,0.304,32,0.1,33,0.248,34,0.928,35,1.466,36,2.474,47,0.83,55,1.091,95,0.108,101,0.007,103,0,104,0,112,0.625,129,2.391,130,2.19,135,1.458,145,3.563,148,1.228,153,1.313,195,1.189,197,1.512,228,1.451,277,0.781,317,2.94,433,0.987,467,2.768,569,2.486,589,1.068,591,1.294,629,2.861,652,2.663,657,2.839,688,2.566,711,4.212,1328,2.882,1329,3.304,1741,7.415,1743,5.751,2218,2.428,2332,3.04,2383,4.571,2802,3.204,4840,7.799,4841,8.296,6310,2.733,8260,3.27,12389,4.92,13630,8.819,13632,4.571,13633,4.571,14387,4.282,14391,5.867,14393,9.712,14394,4.071,14395,5.034,14396,5.034,14401,10.239,14402,5.436,14403,9.506,14404,9.506,14405,10.487,14406,10.487,14407,10.487,14408,10.487,14409,10.487,14410,10.487,14411,10.487,14412,10.487,14413,10.487,14414,5.034,14415,9.506,14416,8.007,14417,7.415,14418,5.436,14419,5.436,14420,5.436,14421,5.436,14422,5.436,14423,5.436,14424,5.436,14425,5.436,14426,5.436,14427,8.007,14428,5.436,14429,5.436,14430,5.436,14431,5.436,14432,5.436,14433,5.436,14434,5.436,14435,8.007,14436,5.436,14437,5.436,14438,5.436,14439,8.007,14440,6.501,14441,8.007,14442,9.506,14443,5.034,14444,5.034,14445,5.436,14446,5.436,14447,5.034,14448,4.769,14449,5.436,14450,5.436,14451,5.436,14452,9.506,14453,8.007,14454,5.436]],["title/classes/KeycloakConfiguration.html",[0,0.239,14397,5.842]],["body/classes/KeycloakConfiguration.html",[0,0.34,2,1.051,3,0.019,4,0.019,5,0.009,7,0.139,27,0.389,30,0.001,32,0.123,95,0.113,101,0.013,103,0.001,104,0.001,112,0.935,129,3.575,130,2.701,311,6.447,467,3.751,2218,4.412,2357,5.616,4840,6.994,4841,7.438,13623,10.833,13626,11.086,13627,11.086,14387,7.779,14397,10.067,14455,10.502,14456,12.882,14457,11.971,14458,11.971,14459,8.664,14460,8.664]],["title/modules/KeycloakConfigurationModule.html",[252,1.836,14461,6.094]],["body/modules/KeycloakConfigurationModule.html",[0,0.234,3,0.013,4,0.013,5,0.006,30,0.001,95,0.161,101,0.009,103,0,104,0,252,2.842,254,2.445,255,2.589,256,2.655,257,2.645,258,2.636,259,3.911,260,4.004,264,9.046,265,5.822,269,3.67,270,2.607,271,2.553,274,3.922,276,3.67,277,0.975,618,6.045,685,3.965,1027,2.08,1267,4.875,1525,9.228,1537,5.082,1540,4.875,2087,2.936,2218,3.032,2357,3.86,3764,4.492,3840,9.659,4840,3.965,4841,4.217,4846,9.431,4847,5.346,4848,5.346,4860,10.363,5159,4.785,9832,9.431,13628,8.232,13746,10.225,13751,5.51,13752,5.954,14387,5.346,14397,5.707,14398,9.043,14455,5.954,14460,5.954,14461,12.701,14462,6.787,14463,6.787,14464,6.787,14465,6.787,14466,11.582,14467,11.064,14468,10.591,14469,6.787,14470,9.434,14471,6.787,14472,6.787,14473,7.89,14474,6.285,14475,6.285,14476,6.285,14477,6.285,14478,6.787,14479,6.787,14480,5.954,14481,6.787]],["title/injectables/KeycloakConfigurationService.html",[589,0.926,14466,5.842]],["body/injectables/KeycloakConfigurationService.html",[0,0.092,3,0.005,4,0.005,5,0.002,7,0.037,8,0.522,10,1.81,27,0.447,29,0.764,30,0.001,31,0.596,32,0.124,33,0.456,34,1.863,35,1.315,36,2.404,47,0.873,59,0.825,74,2.038,95,0.127,101,0.003,103,0,104,0,135,1.752,141,1.94,145,0.996,148,0.773,157,0.612,180,1.135,195,1.861,197,2.174,219,1.486,228,1.263,230,1.759,277,0.382,290,1.397,317,2.844,335,3.038,360,2.595,388,1.94,413,1.615,414,3.955,433,0.558,571,3.781,589,0.603,591,0.632,614,0.819,618,3.805,634,5.254,641,4.446,649,1.671,650,2.158,651,1.345,652,2.688,657,3.125,675,3.55,711,2.954,734,2.479,756,2.336,886,0.836,1086,4.561,1087,4.419,1088,4.488,1197,4.609,1268,1.633,1278,2.331,1925,2.75,2009,1.759,2087,3.68,2342,1.909,2369,1.486,2468,1.651,2525,2.433,2820,6.347,2884,2.721,2891,1.909,2907,4.485,3206,2.619,3211,2.489,3382,2.07,4354,1.712,4840,6.753,4841,7.182,5002,2.158,5027,1.353,6310,2.274,7004,4.423,7127,3.249,7966,4.967,8018,2.093,8262,3.315,8265,1.99,8892,2.461,9086,4.189,10115,2.461,10525,2.038,12389,5.227,13582,2.78,13632,8.682,13796,5.47,14391,5.109,14394,6.37,14399,2.038,14401,2.038,14440,8.382,14443,2.461,14444,2.461,14447,2.461,14448,2.331,14466,3.804,14473,7.633,14474,2.461,14475,2.461,14482,10.141,14483,4.524,14484,6.972,14485,6.972,14486,6.972,14487,6.972,14488,4.524,14489,4.524,14490,4.524,14491,6.972,14492,4.524,14493,4.524,14494,4.524,14495,4.524,14496,2.235,14497,7.633,14498,2.657,14499,3.804,14500,4.524,14501,2.657,14502,9.558,14503,2.657,14504,2.657,14505,2.657,14506,2.657,14507,4.524,14508,8.591,14509,2.657,14510,5.007,14511,4.524,14512,2.657,14513,9.077,14514,4.524,14515,2.657,14516,6.423,14517,2.657,14518,5.906,14519,4.524,14520,2.657,14521,5.906,14522,4.524,14523,8.506,14524,6.456,14525,2.657,14526,4.524,14527,5.906,14528,4.524,14529,2.657,14530,4.524,14531,2.657,14532,2.657,14533,2.657,14534,2.657,14535,2.657,14536,4.524,14537,2.657,14538,2.657,14539,2.461,14540,2.657,14541,2.331,14542,2.657,14543,2.461,14544,4.524,14545,9.847,14546,2.331,14547,3.969,14548,6.456,14549,5.906,14550,4.795,14551,5.906,14552,9.057,14553,4.524,14554,4.967,14555,4.524,14556,7.818,14557,4.524,14558,7.818,14559,2.657,14560,8.506,14561,2.657,14562,2.657,14563,2.657,14564,4.524,14565,4.524,14566,4.524,14567,4.524,14568,2.657,14569,4.524,14570,2.461,14571,2.331,14572,2.657,14573,2.657,14574,5.182,14575,4.524,14576,2.657,14577,2.331,14578,2.461,14579,4.189,14580,2.461,14581,2.657,14582,2.657,14583,4.524,14584,4.524,14585,4.524,14586,3.47,14587,2.657,14588,2.657,14589,2.657,14590,2.657,14591,2.657,14592,2.657,14593,4.524,14594,2.657,14595,5.906,14596,5.906,14597,2.657,14598,5.906,14599,2.657,14600,5.906,14601,2.657,14602,2.657,14603,4.524,14604,2.657,14605,4.524,14606,4.524,14607,4.524,14608,6.972,14609,2.657,14610,2.657,14611,4.524,14612,2.657,14613,4.189,14614,2.657,14615,2.657,14616,5.906,14617,4.524,14618,5.906,14619,4.524,14620,2.657,14621,2.657,14622,4.524,14623,2.657,14624,4.524,14625,2.657,14626,2.657,14627,1.99,14628,2.657,14629,2.657,14630,2.657,14631,2.657,14632,4.524,14633,4.524,14634,2.657,14635,2.657,14636,4.524,14637,2.657,14638,2.461,14639,2.657,14640,2.461,14641,4.524,14642,2.657,14643,2.657,14644,2.657,14645,2.657,14646,2.657,14647,2.657,14648,2.657,14649,2.657]],["title/injectables/KeycloakConfigurationUc.html",[589,0.926,4846,5.202]],["body/injectables/KeycloakConfigurationUc.html",[0,0.234,3,0.013,4,0.013,5,0.006,7,0.095,8,1.082,27,0.496,29,0.824,30,0.001,31,0.602,32,0.134,33,0.492,35,1.409,36,2.86,55,2.528,59,3.339,70,3.456,95,0.139,101,0.009,103,0,104,0,122,2.244,148,1.205,228,2.102,277,0.975,317,3.041,433,1.156,589,1.251,591,1.615,618,4.373,652,2.365,657,2.654,711,4.081,985,6.715,4840,7.542,4841,8.022,4844,5.346,4846,7.026,4856,8.898,4879,6.615,4892,8.18,4898,8.501,4905,6.875,10176,6.285,14391,8.501,14398,9.043,14399,5.205,14401,5.205,14466,9.756,14467,10.856,14468,10.856,14476,6.285,14477,6.285,14480,5.954,14496,5.707,14499,7.89,14650,12.91,14651,10.754,14652,6.787,14653,6.787,14654,8.689,14655,6.787,14656,6.787,14657,9.383,14658,6.787,14659,6.787,14660,6.787,14661,6.787,14662,6.787,14663,6.787,14664,6.787,14665,6.787,14666,6.787,14667,6.787,14668,6.787]],["title/classes/KeycloakConsole.html",[0,0.239,4860,5.472]],["body/classes/KeycloakConsole.html",[0,0.12,2,0.369,3,0.007,4,0.007,5,0.003,7,0.049,8,0.652,10,1.389,27,0.435,29,0.819,30,0.001,31,0.574,32,0.128,33,0.468,35,1.186,36,2.552,47,0.585,52,3.616,53,4.141,55,2.38,70,3.639,72,3.77,78,8.981,95,0.094,101,0.005,103,0,104,0,112,0.441,122,0.724,125,2.314,129,3.299,130,1.546,135,1.183,145,2.118,148,0.707,153,0.927,157,2.945,159,0.735,171,2.331,190,1.628,194,4.009,197,3.158,228,1.295,230,4.731,259,2.055,290,1.337,317,2.854,365,1.543,388,3.065,413,2.11,433,0.696,467,2.081,527,1.469,532,1.288,540,4.355,569,1.078,579,0.993,612,3.795,618,5.843,644,2.11,648,2.182,652,2.178,657,2.528,745,5.134,756,3.259,758,6.737,892,2.662,981,3.435,985,5.627,1027,1.064,1080,1.197,1372,1.827,1619,5.974,1626,4.569,1751,4.451,1899,2.266,1927,4.859,1938,3.039,2218,2.524,2234,4.451,2445,2.975,2446,3.848,2525,3.039,2830,8.702,2836,2.818,2907,7.272,3077,5.378,3370,5.322,3756,5.378,3761,6.955,3764,2.297,3765,8.512,3766,5.974,3767,2.028,4839,4.588,4840,6.635,4841,7.058,4842,9.551,4843,2.919,4844,2.734,4845,6.01,4846,7.675,4847,2.734,4848,2.734,4849,4.752,4850,2.919,4851,2.919,4852,8.97,4853,2.919,4854,2.919,4855,4.588,4856,4.334,4857,2.919,4858,2.236,4859,2.662,4860,4.451,4861,2.919,4862,6.01,4863,7.51,4864,4.752,4865,9.551,4866,4.141,4867,4.752,4868,7.861,4869,4.752,4870,3.641,4871,4.232,4872,6.629,4873,4.059,4874,5.532,4875,4.232,4876,2.919,4877,2.919,4878,4.752,4879,6.394,4880,6.928,4881,2.919,4882,2.919,4883,2.599,4884,4.752,4885,6.928,4886,2.919,4887,2.919,4888,2.919,4889,6.928,4890,6.928,4891,4.451,4892,7.226,4893,4.752,4894,2.919,4895,2.919,4896,4.141,4897,4.588,4898,6.645,4899,4.451,4900,4.752,4901,2.919,4902,2.919,4903,2.919,4904,4.752,4905,6.645,4906,2.297,4907,2.734,4908,2.367,4909,2.662,4910,4.752,4911,2.919,4912,2.919,4913,2.919,4914,2.919,4915,2.919,4916,2.919,4917,4.752,4918,2.919,4919,2.919,4920,2.734,4921,4.588,14669,5.651,14670,3.471,14671,3.471,14672,3.471,14673,3.471,14674,3.471,14675,3.471,14676,3.471,14677,3.471,14678,3.471,14679,3.471,14680,3.471,14681,3.471]],["title/injectables/KeycloakIdentityManagementOauthService.html",[589,0.926,13754,5.842]],["body/injectables/KeycloakIdentityManagementOauthService.html",[0,0.195,3,0.011,4,0.011,5,0.005,7,0.079,8,0.951,27,0.467,29,0.632,30,0.001,31,0.462,32,0.133,33,0.377,35,1.237,36,2.51,47,0.935,51,3.956,87,5.713,95,0.146,101,0.007,103,0,104,0,110,1.957,112,0.644,125,2.544,135,1.597,148,1.173,153,0.928,195,1.238,228,1.937,231,1.429,233,1.766,277,0.813,317,2.773,339,2.419,433,1.016,436,2.883,569,2.56,589,1.099,591,1.347,618,3.645,629,2.978,634,7.088,641,3.218,648,7.143,651,2.863,652,2.496,657,2.226,688,2.671,702,2.794,871,3.019,998,2.671,1053,8.35,1054,3.19,1055,6.324,1056,3.645,1169,3.275,1278,4.964,1328,2.999,1329,3.439,1470,3.164,1495,4.064,1496,4.594,1497,4.964,1593,3.477,2392,2.158,2810,4.758,3077,7.418,3211,3.113,4840,6.245,5027,2.881,5156,4.237,5157,7.833,5159,3.989,5178,4.594,6229,2.308,6310,4.891,8260,4.96,8262,4.146,10401,3.745,13502,8.535,13521,6.934,13571,3.799,13574,3.694,13575,4.758,13576,3.799,13579,3.799,13582,5.067,13586,6.439,13748,9.344,13750,4.964,13754,6.934,13757,5.24,13758,9.899,13759,9.899,13760,7.636,13763,7.636,13765,8.005,13766,5.24,14391,7.833,14399,4.339,14401,4.339,14579,7.636,14580,5.24,14682,9.378,14683,9.729,14684,10.69,14685,5.658,14686,8.246,14687,8.246,14688,5.658,14689,5.658,14690,5.658,14691,5.658,14692,11.862,14693,5.658,14694,5.658,14695,5.658,14696,5.658,14697,5.658,14698,5.658,14699,5.658,14700,5.658,14701,5.658,14702,5.658,14703,5.658,14704,5.658,14705,5.658,14706,5.658,14707,5.658,14708,5.658,14709,5.658,14710,5.658,14711,5.24,14712,5.24,14713,5.24,14714,5.658,14715,5.658]],["title/injectables/KeycloakIdentityManagementService.html",[589,0.926,13756,5.842]],["body/injectables/KeycloakIdentityManagementService.html",[0,0.116,3,0.006,4,0.006,5,0.003,7,0.047,8,0.638,27,0.478,29,0.944,30,0.001,31,0.671,32,0.155,33,0.547,34,2.225,35,1.386,36,2.774,39,3.029,47,0.997,51,4.607,59,1.717,87,5.797,94,4.103,95,0.116,98,2.034,99,0.692,101,0.004,103,0,104,0,125,0.805,130,2.626,135,1.627,142,2.011,145,2.073,148,1.203,153,1.735,158,1.246,195,1.21,197,1.538,228,0.613,230,5.367,231,0.959,233,1.055,277,0.486,290,2.271,317,2.977,318,4.852,319,4.852,346,2.477,347,4.583,357,4.242,393,1.669,400,1.007,413,2.055,433,0.417,436,3.417,484,3.972,540,2.465,578,1.767,579,3.027,589,0.737,591,0.805,593,8.228,595,1.276,600,2.966,602,3.13,603,2.966,604,2.966,618,2.178,629,1.779,633,9.871,652,1.957,657,3.064,700,3.386,701,3.386,702,3.465,711,1.639,756,2.188,863,3.043,1268,3.398,1328,1.792,1329,3.362,2344,3.362,3077,5.838,3421,2.27,3422,2.207,3801,2.744,4242,2.744,4840,4.737,8829,2.843,8830,2.744,12389,2.077,13088,2.531,13756,4.651,13767,5.121,13768,5.121,13769,5.121,13770,5.121,13771,7.509,13772,6.499,13773,6.499,13774,5.121,13775,5.121,13776,5.121,13777,7.509,13782,5.121,13784,5.121,13785,5.121,13786,5.121,13788,5.121,13789,7.509,13792,3.13,13793,9.385,13795,8.891,13797,3.13,13798,8.282,13804,2.663,14391,5.942,14394,2.531,14399,2.593,14401,2.593,14414,3.13,14417,5.121,14440,6.584,14682,7.114,14716,5.53,14717,5.53,14718,3.38,14719,3.38,14720,5.53,14721,3.38,14722,5.53,14723,7.846,14724,3.38,14725,5.53,14726,3.38,14727,3.38,14728,3.38,14729,5.53,14730,3.38,14731,3.38,14732,3.38,14733,3.38,14734,3.38,14735,5.53,14736,3.38,14737,5.53,14738,3.38,14739,2.966,14740,10.575,14741,3.38,14742,5.53,14743,5.53,14744,5.53,14745,2.966,14746,2.966,14747,2.966,14748,3.38,14749,5.53,14750,5.53,14751,3.38,14752,3.38,14753,3.38,14754,5.53,14755,3.38,14756,7.018,14757,3.38,14758,7.018,14759,5.53,14760,5.53,14761,3.38,14762,8.109,14763,5.121,14764,5.53,14765,3.38,14766,3.38,14767,2.966,14768,3.38,14769,3.38,14770,3.38,14771,3.38,14772,3.38,14773,3.38,14774,3.38,14775,3.38,14776,3.38,14777,5.53,14778,5.53,14779,7.018,14780,7.018,14781,3.38,14782,2.966,14783,5.121,14784,3.13,14785,3.38,14786,3.38,14787,3.38,14788,3.38,14789,3.38,14790,3.38,14791,3.38,14792,3.38,14793,3.38,14794,3.38]],["title/controllers/KeycloakManagementController.html",[314,2.659,14470,6.094]],["body/controllers/KeycloakManagementController.html",[0,0.281,3,0.015,4,0.015,5,0.008,7,0.115,8,1.224,27,0.321,30,0.001,35,1.228,36,2.245,55,2.13,72,4.856,78,8.044,95,0.135,101,0.011,103,0.001,104,0.001,148,1.05,153,1.337,190,1.464,228,1.923,259,3.859,274,3.407,277,1.171,314,3.12,316,3.933,317,2.556,400,2.428,579,2.333,629,4.291,652,1.662,657,2.699,756,3.224,981,6.45,1027,2.498,1328,4.321,1329,4.955,2009,7.023,2388,6.618,2445,3.393,2446,4.956,2808,7.023,3077,6.926,3211,4.485,3370,5.608,4840,6.199,4841,6.593,4846,7.945,4847,6.421,4848,6.421,4891,9.842,14470,9.309,14795,10.61,14796,7.548,14797,8.151,14798,12.495,14799,10.61,14800,8.151,14801,10.61,14802,10.61,14803,8.614,14804,8.614,14805,10.61,14806,9.826,14807,10.61,14808,11.797,14809,8.151,14810,8.151,14811,8.151,14812,8.151,14813,8.151,14814,8.151,14815,8.151,14816,8.151]],["title/injectables/KeycloakMigrationService.html",[589,0.926,14468,5.842]],["body/injectables/KeycloakMigrationService.html",[0,0.2,3,0.011,4,0.011,5,0.005,7,0.081,8,0.968,27,0.388,29,0.756,30,0.001,31,0.552,32,0.135,33,0.451,34,1.433,35,0.971,36,2.287,51,4.733,55,1.684,66,7.49,70,5.022,87,2.915,94,5.47,95,0.136,101,0.008,103,0,104,0,129,1.731,130,2.296,135,1.648,145,4.301,148,0.976,153,0.951,195,1.836,197,2.334,228,1.788,230,7.156,277,0.833,317,2.592,433,1.034,480,7.228,484,7.085,489,4.875,492,10.013,571,3.32,579,1.659,589,1.119,591,1.38,618,3.735,629,3.052,644,3.524,652,2.439,657,2.891,666,9.462,745,4.164,756,3.902,758,4.017,838,4.875,873,5.339,876,4.358,923,4.875,938,4.706,1027,1.776,1086,4.004,1087,3.88,1088,3.94,1268,3.562,1328,3.073,1329,5.101,1546,4.566,1712,4.341,2333,4.706,2445,4.106,2446,5.05,2820,6.813,3206,3.355,4242,4.706,4840,6.317,4841,6.718,4856,8.8,4905,6.149,8956,4.341,9140,3.837,9896,4.248,12389,3.562,13804,4.566,14391,7.923,14394,4.341,14399,4.446,14401,4.446,14440,4.706,14468,7.057,14482,9.486,14496,4.875,14499,7.057,14552,5.086,14723,7.362,14739,5.086,14745,5.086,14746,5.086,14747,5.086,14767,5.086,14782,5.086,14817,4.875,14818,7.771,14819,5.797,14820,7.771,14821,5.797,14822,8.392,14823,5.368,14824,4.875,14825,5.797,14826,9.864,14827,5.797,14828,5.797,14829,8.392,14830,5.368,14831,5.797,14832,5.797,14833,5.797,14834,7.771,14835,5.368,14836,7.771,14837,5.368,14838,5.368,14839,5.368,14840,7.771,14841,7.771,14842,9.864,14843,5.797,14844,5.368,14845,5.797,14846,5.797,14847,5.797]],["title/modules/KeycloakModule.html",[252,1.836,13747,5.842]],["body/modules/KeycloakModule.html",[0,0.286,3,0.016,4,0.016,5,0.008,30,0.001,95,0.155,101,0.011,103,0.001,104,0.001,252,3.142,254,2.984,255,3.161,256,3.241,257,3.229,258,3.218,259,4.325,260,4.427,265,6.167,269,4.195,270,3.183,271,3.117,276,4.195,277,1.19,618,5.338,648,5.209,1027,2.539,1054,4.672,3077,7,3857,7,4840,4.841,5159,5.842,8829,6.968,9832,9.99,13746,10.831,13747,12.144,13750,7.269,13751,6.727,13752,7.269,13754,11.947,13756,11.947,14398,9.018,14848,8.286,14849,8.286,14850,8.286,14851,8.286,14852,8.286]],["title/classes/KeycloakSeedService.html",[0,0.239,14467,5.842]],["body/classes/KeycloakSeedService.html",[0,0.164,2,0.506,3,0.009,4,0.009,5,0.004,7,0.067,8,0.836,10,1.904,27,0.438,29,0.673,30,0.001,31,0.492,32,0.122,33,0.401,34,1.238,35,1.223,36,2.636,51,4.212,55,1.455,87,2.393,94,4.441,95,0.136,101,0.006,103,0,104,0,129,1.421,130,1.983,135,1.676,145,3.959,148,1.145,195,2.148,197,1.323,219,2.661,228,1.591,230,4.797,277,0.684,290,2.632,317,2.872,339,2.126,347,2.439,433,0.893,484,5.206,489,4.002,571,4.178,578,2.488,618,3.066,652,2.619,657,3.079,688,2.246,700,2.296,701,2.296,702,2.35,711,2.601,725,5.11,745,5.206,756,3.472,758,3.298,923,4.002,938,3.864,979,9.781,986,4.407,1027,1.458,1086,5.04,1087,4.883,1088,4.959,1268,2.924,1546,3.749,2218,2.126,2233,3.245,2333,3.864,2344,2.893,2357,2.706,2445,3.654,2446,4.584,2820,7.968,3370,5.193,3421,3.196,3422,3.107,3801,3.864,4242,3.864,4840,6.759,4841,7.189,4844,5.709,4879,5.11,4892,6.92,7004,3.564,7543,4.002,8956,3.564,12031,5.559,12059,6.095,12060,6.095,12073,3.65,12389,2.924,13088,3.564,13623,8.253,13628,4.175,13804,3.749,14292,9.266,14296,9.266,14387,3.749,14391,7.191,14394,3.564,14399,3.65,14401,3.65,14440,7.127,14460,4.175,14467,6.095,14482,10.151,14496,4.002,14499,6.095,14552,7.701,14574,4.175,14654,6.712,14723,6.359,14739,4.175,14745,4.175,14746,4.175,14747,4.175,14767,6.359,14782,4.175,14784,4.407,14818,6.712,14820,6.712,14830,4.407,14834,6.712,14835,4.407,14836,6.712,14837,4.407,14838,4.407,14839,4.407,14840,6.712,14841,6.712,14844,4.407,14853,4.759,14854,9.814,14855,9.814,14856,8.778,14857,4.759,14858,4.759,14859,4.759,14860,4.759,14861,4.759,14862,4.759,14863,4.759,14864,7.248,14865,4.759,14866,4.759,14867,4.759,14868,8.778,14869,4.759,14870,4.759,14871,4.759,14872,4.759,14873,4.759,14874,9.814,14875,4.759,14876,4.759,14877,4.759,14878,4.759,14879,4.759,14880,4.759,14881,4.759,14882,4.759,14883,4.759,14884,4.759,14885,7.248,14886,4.759]],["title/classes/LdapAlreadyPersistedException.html",[0,0.239,14887,5.64]],["body/classes/LdapAlreadyPersistedException.html",[0,0.42,2,0.816,3,0.015,4,0.015,5,0.007,7,0.108,8,1.175,27,0.401,29,0.588,30,0.001,31,0.429,32,0.096,33,0.35,35,0.888,47,0.902,52,5.792,55,1.539,59,2.381,95,0.116,101,0.016,103,0,104,0,148,1.133,208,4.821,231,2.202,277,1.101,290,2.708,433,0.945,640,6.263,703,3.555,983,4.941,1027,2.35,1115,4.383,1237,3.597,1422,5.202,1423,5.995,1426,5.861,1468,5.995,1469,6.309,1472,5.7,2922,5.9,4923,5.24,9974,10.602,10047,5.619,13599,5.075,14887,8.275,14888,9.628,14889,6.449,14890,10.312,14891,10.26,14892,7.669,14893,10.26,14894,7.669,14895,6.449,14896,6.226,14897,6.226,14898,8.571,14899,6.226]],["title/classes/LdapAuthorizationBodyParams.html",[0,0.239,14900,5.842]],["body/classes/LdapAuthorizationBodyParams.html",[0,0.393,2,0.972,3,0.017,4,0.017,5,0.008,7,0.128,27,0.513,30,0.001,32,0.162,47,0.996,48,6.107,51,5.97,87,6.256,95,0.13,101,0.012,103,0.001,104,0.001,112,0.891,190,2.34,200,2.799,202,2.099,296,3.505,299,4.85,855,5.036,856,6.901,4541,4.342,6756,8.36,8308,9.263,14900,9.595,14901,13.414,14902,8.014,14903,8.459,14904,9.134,14905,9.134,14906,9.134]],["title/classes/LdapConfig.html",[0,0.239,14907,4.665]],["body/classes/LdapConfig.html",[0,0.327,2,1.011,3,0.018,4,0.018,5,0.009,7,0.133,27,0.52,29,0.728,30,0.001,31,0.532,32,0.165,33,0.579,47,0.938,101,0.012,103,0.001,104,0.001,110,4.38,112,0.913,122,2.44,232,3.169,311,6.203,433,1.171,435,3.316,4870,8.16,5027,6.448,7182,5.149,8118,5.973,14459,8.336,14907,9.111,14908,13.569,14909,10.258,14910,8.799,14911,7.485,14912,9.502,14913,6.962,14914,9.502]],["title/classes/LdapConfigEntity.html",[0,0.239,14915,5.202]],["body/classes/LdapConfigEntity.html",[0,0.31,2,0.429,3,0.008,4,0.008,5,0.004,7,0.057,26,1.628,27,0.493,29,0.309,30,0.001,31,0.226,32,0.161,33,0.62,47,1.032,83,3.029,95,0.103,96,1.064,101,0.013,103,0,104,0,110,3.384,112,0.498,122,1.331,134,1.426,157,0.929,159,0.415,172,1.716,185,1.383,190,2.217,195,3.068,196,4.465,197,1.122,205,1.612,211,6.735,223,4.432,224,1.172,225,2.45,226,1.829,228,1.433,229,1.597,231,0.7,232,1.094,233,1.26,331,1.786,433,0.497,561,1.812,620,2.508,628,2.404,886,2.488,997,2.537,1454,2.48,1561,2.846,1593,2.48,2108,1.762,2160,2.672,2185,3.096,2685,3.248,4607,3.406,4645,4.581,4679,2.454,4870,5.095,5027,4.575,5163,2.221,5168,2.316,6229,1.647,6310,3.207,6627,3.248,6647,2.601,6648,2.797,7182,3.456,8118,2.537,8204,2.711,8260,3.837,10401,2.672,11436,5.234,13450,6.227,13511,4.01,13524,3.023,13525,3.023,13526,2.958,13527,3.023,13571,2.711,13574,2.635,13576,2.711,13579,2.711,13582,2.48,13586,2.672,13688,4.349,13850,3.096,14244,3.919,14257,5.095,14258,2.635,14259,2.635,14510,4.581,14516,4.109,14627,3.023,14907,5.31,14911,3.179,14913,4.674,14915,7.327,14916,3.277,14917,6.42,14918,6.42,14919,6.42,14920,6.42,14921,6.42,14922,6.42,14923,6.42,14924,6.42,14925,5.178,14926,4.036,14927,4.036,14928,4.036,14929,4.036,14930,4.036,14931,4.036,14932,4.036,14933,4.036,14934,4.036,14935,4.036,14936,4.036,14937,4.036,14938,4.036,14939,4.892,14940,6.728,14941,4.283,14942,3.277,14943,4.674,14944,3.096,14945,4.674,14946,3.096,14947,3.023,14948,3.023,14949,3.023,14950,3.096,14951,3.023,14952,3.023,14953,3.023,14954,3.096,14955,3.096,14956,3.023,14957,3.096,14958,3.023,14959,3.023,14960,3.023,14961,3.096,14962,4.283,14963,3.179,14964,2.899,14965,3.277,14966,3.277,14967,3.277,14968,3.277,14969,3.277,14970,3.277,14971,3.277,14972,3.277,14973,3.277,14974,3.096,14975,3.277,14976,3.277,14977,3.277,14978,3.277,14979,3.277,14980,3.277,14981,3.179,14982,3.277,14983,3.277,14984,2.958,14985,3.277,14986,3.277,14987,3.277,14988,3.277,14989,3.277,14990,3.277,14991,3.277,14992,3.277,14993,3.277,14994,3.277,14995,3.277,14996,3.277,14997,3.277,14998,3.277,14999,3.096,15000,3.277,15001,3.179,15002,3.096,15003,3.179,15004,3.096,15005,3.096,15006,3.179,15007,3.096,15008,3.179,15009,3.096,15010,2.958,15011,2.958,15012,2.958,15013,3.023,15014,3.096,15015,3.277,15016,3.096,15017,3.277,15018,3.277,15019,3.277,15020,3.277,15021,3.277,15022,3.096,15023,3.179,15024,3.096,15025,3.179]],["title/classes/LdapConnectionError.html",[0,0.239,15026,6.094]],["body/classes/LdapConnectionError.html",[0,0.273,2,0.842,3,0.015,4,0.015,5,0.007,7,0.111,8,1.2,27,0.528,29,0.606,30,0.001,31,0.443,32,0.173,33,0.531,35,0.916,47,0.825,55,1.588,59,2.456,95,0.119,101,0.01,103,0.001,104,0.001,112,0.813,155,3.918,190,2.304,228,2.521,231,1.803,233,2.469,277,1.136,393,3.906,402,2.831,433,0.975,436,3.903,644,6.325,868,5.926,871,2.896,998,5.488,1078,5.416,1080,4.258,1115,4.45,1354,8.665,1355,7.361,1356,7.589,1360,5.235,1361,4.538,1362,5.235,1363,5.235,1364,5.235,1365,5.235,1366,5.235,1367,4.861,1368,4.46,1374,5.096,4874,6.986,13599,6.886,15026,9.128,15027,10.404,15028,7.91,15029,10.404,15030,7.91,15031,7.91,15032,7.91]],["title/injectables/LdapService.html",[589,0.926,1529,5.842]],["body/injectables/LdapService.html",[0,0.237,3,0.013,4,0.013,5,0.006,7,0.096,8,1.091,27,0.426,29,0.829,30,0.001,31,0.606,32,0.135,33,0.495,35,1.095,36,2.467,47,0.98,51,6.214,87,6.634,95,0.144,101,0.009,103,0,104,0,110,2.375,135,1.412,148,0.936,153,1.775,228,1.245,277,0.987,290,1.624,317,2.344,347,3.52,395,5.088,400,2.046,433,0.846,478,1.928,579,2.708,589,1.261,591,1.635,652,2.206,657,1.571,745,4.933,1027,2.104,1080,2.368,1313,4.683,1314,5.033,1329,7.088,1330,5.776,1529,7.955,1983,6.353,2087,2.971,2445,3.938,2446,5.446,2802,4.33,2823,5.41,2835,6.026,3250,4.612,3382,5.337,3815,5.576,4234,6.026,4236,6.026,4874,4.612,5163,7.127,8902,8.299,13599,4.546,14586,7.256,14907,6.353,14974,5.268,15026,8.299,15033,6.868,15034,9.46,15035,6.868,15036,9.46,15037,6.868,15038,9.46,15039,6.868,15040,6.36,15041,6.868,15042,6.868,15043,6.868,15044,6.868,15045,6.868,15046,6.868,15047,6.868,15048,6.868,15049,5.033,15050,6.868,15051,6.868,15052,6.868,15053,6.868,15054,6.868,15055,8.76,15056,6.868,15057,6.868,15058,6.868,15059,6.868,15060,6.36,15061,6.868,15062,6.868]],["title/injectables/LdapStrategy.html",[589,0.926,1530,6.094]],["body/injectables/LdapStrategy.html",[0,0.149,3,0.008,4,0.008,5,0.004,7,0.061,8,0.777,27,0.422,29,0.857,30,0.001,31,0.665,32,0.154,33,0.49,34,0.739,35,1.171,36,2.266,39,1.198,47,0.915,48,5.961,51,5.14,66,6.993,72,1.981,87,5.973,94,6.011,95,0.147,101,0.006,103,0,104,0,125,2.222,130,2.553,135,1.584,142,3.395,148,0.923,153,1.531,158,1.595,159,0.445,172,3.969,180,2.876,193,2.927,194,2.635,195,0.947,228,1.941,230,4.459,231,1.168,233,1.351,268,6.798,277,0.622,279,1.809,290,2.392,304,2.137,317,2.574,325,3.346,347,2.218,349,3.43,379,3.43,412,1.915,433,0.83,478,1.215,532,3.975,571,1.712,579,2.672,589,0.898,591,1.03,629,3.546,652,2.718,653,1.787,657,2.718,671,6.84,675,2.204,703,3.326,985,2.505,1027,1.326,1080,3.218,1213,4.286,1220,2.483,1328,3.571,1329,4.095,1396,5.329,1526,8.577,1529,9.404,1530,5.911,1531,6.582,1545,3.052,1551,3.64,1552,4.008,1561,3.052,1689,6.239,1701,6.239,1712,3.241,1829,1.84,1853,1.416,1983,5.555,1997,3.409,2070,5.966,2231,2.461,2445,4.656,2581,3.319,3382,5.293,3877,3.409,3924,2.865,4483,4.008,4541,3.258,4546,6.815,4957,2.906,5091,3.597,5163,5.566,6192,2.951,6329,2.999,6512,2.906,8044,3.241,9562,4.936,9862,5.47,9888,3.319,10044,7.66,12087,3.319,13399,3.64,13599,6.178,14223,3.64,14323,3.319,14327,5.47,14332,3.514,14900,6.956,15049,3.171,15063,4.328,15064,7.66,15065,6.737,15066,6.737,15067,3.64,15068,6.716,15069,4.328,15070,5.045,15071,4.328,15072,4.328,15073,6.737,15074,4.328,15075,6.737,15076,4.328,15077,4.328,15078,6.239,15079,4.328,15080,4.328,15081,4.008,15082,4.328,15083,4.328,15084,4.008,15085,3.514,15086,4.008,15087,4.328,15088,4.328,15089,4.328,15090,4.008,15091,4.328,15092,4.328,15093,4.008,15094,6.239,15095,4.008,15096,4.008,15097,4.328,15098,4.008,15099,4.328,15100,4.328,15101,4.328,15102,4.008,15103,6.737,15104,3.797,15105,4.328,15106,4.328,15107,6.239,15108,4.328,15109,2.951,15110,4.328,15111,4.328]],["title/classes/LdapUserMigrationException.html",[0,0.239,14890,5.64]],["body/classes/LdapUserMigrationException.html",[0,0.434,2,0.883,3,0.016,4,0.016,5,0.008,30,0.001,47,0.845,52,6.021,55,1.667,95,0.123,101,0.016,103,0.001,104,0.001,148,1.177,208,5.219,231,2.259,277,1.193,290,1.964,640,6.598,703,3.695,983,5.35,1027,2.544,1115,4.556,1237,3.509,1422,5.154,1423,5.94,1426,5.342,1468,5.94,1469,6.25,1472,6.004,2922,6.889,4923,3.8,9974,10.216,10047,6.084,13599,5.495,14887,6.741,14888,6.982,14889,6.982,14890,10.58,14891,10.008,14893,10.008,14895,6.982,14896,6.741,14897,6.741,14898,9.03,14899,6.741]],["title/interfaces/Learnroom.html",[159,0.714,3859,4.535]],["body/interfaces/Learnroom.html",[3,0.019,4,0.019,5,0.009,7,0.144,30,0.001,32,0.127,95,0.117,99,2.093,101,0.016,103,0.001,104,0.001,112,0.955,159,1.257,161,2.429,527,5.176,569,3.796,2924,6.59,3859,7.981,4127,9.099,5550,6.508,5551,6.677,7492,8.959,15112,9.472]],["title/modules/LearnroomApiModule.html",[252,1.836,15113,5.842]],["body/modules/LearnroomApiModule.html",[0,0.221,3,0.012,4,0.012,5,0.006,30,0.001,95,0.156,101,0.008,103,0,104,0,252,2.758,254,2.312,255,2.448,256,2.511,257,2.501,258,2.492,259,3.796,260,2.389,268,7.522,269,3.53,270,2.466,271,2.414,273,4.034,274,3.772,276,4.083,277,0.922,279,2.683,412,2.84,685,3.749,1856,7.099,1902,9.067,1907,8.725,1910,7.604,1938,3.452,2050,2.705,2653,2.967,2856,4.083,3005,3.03,3251,9.266,3286,3.944,3287,3.65,3982,4.31,4776,4.703,7317,9.266,7571,9.156,7587,10.406,7590,10.406,7664,10.406,8341,9.156,8358,10.406,8619,9.747,8704,7.108,8724,4.806,8974,8.725,8985,4.525,9646,9.747,9737,10.046,9957,4.922,12169,4.922,12170,4.922,15113,12.355,15114,6.418,15115,6.418,15116,6.418,15117,10.406,15118,10.406,15119,10.406,15120,6.418,15121,9.156,15122,6.418,15123,6.418,15124,6.418,15125,6.418,15126,5.943,15127,6.418,15128,5.943]],["title/interfaces/LearnroomElement.html",[159,0.714,2924,4.476]],["body/interfaces/LearnroomElement.html",[3,0.019,4,0.019,5,0.009,7,0.141,30,0.001,32,0.151,95,0.115,99,2.057,101,0.016,103,0.001,104,0.001,112,0.945,159,1.244,161,2.387,527,5.702,569,3.756,2924,7.794,3859,6.56,4127,6.748,5550,8.57,5551,8.793,7492,8.864,15112,9.306]],["title/modules/LearnroomModule.html",[252,1.836,8974,4.898]],["body/modules/LearnroomModule.html",[0,0.223,3,0.012,4,0.012,5,0.006,30,0.001,95,0.148,101,0.008,103,0,104,0,252,2.77,254,2.33,255,2.468,256,2.531,257,2.522,258,2.512,259,3.813,260,3.903,265,5.735,268,7.541,269,3.55,270,2.485,271,2.434,276,3.55,277,0.929,279,2.704,610,2.55,685,3.78,1027,1.982,1907,8.747,1909,9.515,1910,7.623,1931,9.29,1932,4.647,2017,9.04,3239,10.432,3251,9.29,3286,3.975,3287,3.679,5554,10.432,5681,11.486,7317,9.29,7608,11.089,7615,11.089,7761,11.983,8619,9.772,8704,7.148,8974,10.387,8985,4.562,9957,4.962,15128,5.991,15129,6.47,15130,6.47,15131,6.47,15132,6.47,15133,9.29,15134,6.47,15135,5.44]],["title/injectables/LegacyLogger.html",[589,0.926,2446,3.245]],["body/injectables/LegacyLogger.html",[0,0.316,3,0.01,4,0.01,5,0.005,7,0.072,8,1.175,27,0.5,29,0.955,30,0.001,31,0.722,32,0.155,33,0.57,35,1.412,47,0.994,59,3.683,72,2.345,95,0.131,101,0.007,102,2.716,103,0,104,0,112,0.598,125,2.185,129,2.288,130,1.401,135,1,141,2.197,148,0.758,153,0.84,158,4.372,161,1.217,183,5.439,228,0.929,277,0.736,339,2.989,412,3.391,433,0.631,515,2.797,525,2.679,569,4.002,589,1.022,591,1.219,610,3.02,622,6.036,652,2.589,688,2.419,1042,5.072,1080,2.642,1115,4.861,1212,3.301,1220,2.939,1237,2.707,1379,5.504,2163,2.369,2445,5.192,2446,3.579,2582,3.221,2805,3.391,2884,4.61,3250,3.441,4190,3.301,4908,8.317,4952,5.615,5868,3.184,6229,3.126,9022,6.444,9915,8.938,9925,4.495,9926,6.036,9929,4.495,11272,7.453,12087,3.93,12588,6.444,13635,9.569,13638,4.495,13639,6.723,13640,7.096,13642,7.096,13643,9.434,13645,7.096,13646,8.938,13648,7.096,13650,7.096,15136,12.891,15137,5.124,15138,7.663,15139,9.434,15140,9.434,15141,7.663,15142,7.663,15143,5.124,15144,5.124,15145,5.124,15146,5.124,15147,5.124,15148,7.096,15149,5.124,15150,7.663,15151,5.124,15152,5.124,15153,7.663,15154,7.663,15155,6.036,15156,7.663,15157,5.124,15158,5.124,15159,4.745,15160,4.16,15161,5.124,15162,4.16,15163,4.745,15164,4.16,15165,5.124,15166,5.124,15167,5.124,15168,5.124,15169,5.124,15170,6.444,15171,5.124,15172,4.745,15173,4.745]],["title/classes/LegacySchoolDo.html",[0,0.239,2070,4.097]],["body/classes/LegacySchoolDo.html",[0,0.227,2,0.701,3,0.012,4,0.012,5,0.006,7,0.093,26,2.479,27,0.543,29,0.505,30,0.001,31,0.641,32,0.172,33,0.654,34,1.569,47,0.942,83,2.676,95,0.121,99,1.348,101,0.009,102,6.071,103,0,104,0,112,0.718,122,1.918,231,1.985,233,2.056,326,2.503,433,0.812,436,1.952,458,2.635,478,1.849,704,5.389,734,3.857,1829,3.907,1852,7.358,1882,3.505,1940,5.999,2070,7.104,2183,2.596,4168,6.368,4667,8.089,4684,5.052,5168,6.071,6637,4.826,7443,7.334,7451,7.107,7529,4.932,7837,3.962,8162,5.052,10033,6.909,10038,4.932,10843,5.778,11434,7.728,11435,7.048,11436,7.972,12462,7.107,13199,5.778,14964,4.731,15109,7.216,15174,13.806,15175,6.586,15176,8.117,15177,7.755,15178,7.602,15179,9.189,15180,9.189,15181,6.586,15182,7.602,15183,6.586,15184,6.586,15185,6.586,15186,6.586,15187,6.586,15188,6.586,15189,6.586,15190,6.586,15191,6.586,15192,6.586,15193,6.586,15194,5.347,15195,6.586,15196,5.052,15197,6.586,15198,4.932,15199,6.586,15200,6.586,15201,6.586,15202,6.586,15203,6.586,15204,5.188,15205,6.586,15206,6.586]],["title/classes/LegacySchoolFactory.html",[0,0.239,15207,6.433]],["body/classes/LegacySchoolFactory.html",[0,0.174,2,0.536,3,0.01,4,0.01,5,0.005,7,0.071,8,0.873,27,0.518,29,1.018,30,0.001,31,0.719,32,0.168,33,0.578,34,1.293,35,1.437,47,0.537,55,2.368,59,3.362,95,0.115,101,0.007,103,0,104,0,112,0.591,113,4.534,127,5.049,129,3.624,130,3.32,135,0.657,148,0.499,153,1.658,157,2.093,172,3.218,185,2.594,192,2.773,195,1.103,205,1.853,206,2.462,228,1.372,231,1.312,326,4.807,374,3.274,433,0.621,436,3.898,467,2.204,501,7.128,502,5.605,505,4.198,506,5.605,507,5.346,508,4.198,509,4.198,510,4.198,511,4.133,512,4.628,513,5.042,514,6.577,515,5.913,516,7.041,517,2.818,522,2.795,523,4.198,524,2.818,525,5.283,526,5.435,527,4.277,528,5.112,529,4.165,530,2.795,531,2.635,532,4.221,533,2.691,534,2.635,535,2.795,536,2.818,537,4.963,538,2.795,539,7.014,540,4.262,541,6.732,542,2.818,543,3.673,544,2.795,545,2.818,546,2.795,547,2.818,548,2.795,551,2.795,552,6.211,553,2.818,554,2.795,555,4.198,556,3.829,557,4.198,558,2.818,559,2.711,560,2.672,561,2.262,562,2.795,563,2.795,564,2.795,565,2.818,566,2.818,567,1.916,568,2.795,569,1.565,570,2.818,571,2.994,572,2.795,573,2.818,576,2.972,704,2.566,756,3.997,1853,1.648,2070,2.972,4649,6.409,4651,3.62,4667,3.384,5168,2.891,7451,3.384,10033,3.29,11436,3.336,14984,3.693,15109,3.437,15176,3.865,15177,3.693,15207,7.009,15208,5.04,15209,5.04,15210,5.04,15211,4.092,15212,5.04,15213,5.04,15214,5.04,15215,5.04,15216,5.04,15217,5.04,15218,10.105,15219,5.04,15220,5.04,15221,5.04,15222,5.04,15223,5.04,15224,5.04,15225,5.04]],["title/modules/LegacySchoolModule.html",[252,1.836,6018,4.665]],["body/modules/LegacySchoolModule.html",[0,0.268,3,0.015,4,0.015,5,0.007,30,0.001,95,0.146,101,0.01,102,6.502,103,0,104,0,252,3.046,254,2.8,255,2.965,256,3.041,257,3.029,258,3.018,259,4.192,260,4.291,265,6.06,269,4.023,270,2.986,271,2.924,276,4.023,277,1.116,279,3.249,610,3.063,1027,2.382,1531,9.242,2065,9.315,2070,6.065,2609,3.815,6018,9.796,11419,11.023,11425,11.835,11426,5.961,15226,7.772,15227,7.772,15228,7.772,15229,7.772,15230,11.835,15231,11.023,15232,11.023,15233,7.772,15234,7.772,15235,7.701]],["title/injectables/LegacySchoolRepo.html",[589,0.926,1531,4.898]],["body/injectables/LegacySchoolRepo.html",[0,0.162,3,0.009,4,0.009,5,0.004,7,0.066,8,0.828,10,2.871,12,3.237,18,3.631,26,2.445,27,0.51,29,0.981,30,0.001,31,0.734,32,0.16,33,0.585,34,1.487,35,1.462,36,2.627,40,2.267,47,0.864,48,5.154,95,0.135,96,1.892,97,1.917,99,0.961,101,0.006,102,5.168,103,0,104,0,112,0.367,113,1.872,125,1.118,135,1.272,142,3.82,148,1.039,153,1.177,185,2.459,205,1.775,224,1.365,228,1.301,231,1.244,277,0.675,317,2.928,347,2.407,433,0.579,436,3.607,478,1.319,569,1.459,579,1.345,589,0.957,591,1.118,652,1.987,657,1.642,692,5.226,703,2.228,704,4.964,729,4.893,735,3.268,736,5.185,756,1.858,766,2.527,1027,1.439,1312,2.206,1531,5.06,1770,2.905,1853,1.536,2070,7.448,2139,2.695,2436,8.877,2438,5.155,2439,5.06,2440,5.06,2441,5.155,2442,5.06,2443,3.374,2444,5.407,2445,4.058,2446,4.554,2448,5.155,2449,3.374,2451,3.374,2453,4.685,2454,4.893,2455,3.374,2458,5.155,2460,3.256,2461,7.806,2462,5.06,2465,3.374,2467,2.826,2468,2.919,2469,3.203,2471,3.374,2479,3.203,2907,4.117,4667,4.819,4721,2.856,4722,3.7,4937,2.953,5163,3.949,5168,4.996,6819,3.442,6820,3.442,6821,3.442,6822,3.442,6823,3.442,6824,3.442,6832,3.603,7150,4.685,7451,4.819,10033,7.227,10644,3.603,10727,4.121,11436,4.75,12795,3.951,14232,7.915,15049,3.442,15109,4.893,15176,5.504,15177,5.259,15178,3.374,15235,5.374,15236,10.501,15237,4.698,15238,6.296,15239,7.177,15240,4.698,15241,6.296,15242,4.698,15243,7.177,15244,4.698,15245,4.698,15246,4.698,15247,4.698,15248,3.518,15249,4.35,15250,4.698,15251,4.698,15252,4.698,15253,4.698,15254,4.698,15255,4.698,15256,4.35,15257,4.698,15258,4.698,15259,4.35,15260,4.698,15261,4.698,15262,4.698,15263,4.698,15264,4.698,15265,4.698,15266,4.35,15267,4.698,15268,4.698,15269,4.698,15270,4.35,15271,4.698,15272,4.698,15273,4.698,15274,4.698,15275,4.35,15276,7.177,15277,4.698,15278,4.698]],["title/injectables/LegacySchoolRule.html",[589,0.926,1871,5.842]],["body/injectables/LegacySchoolRule.html",[0,0.265,3,0.015,4,0.015,5,0.007,7,0.108,8,1.177,27,0.451,29,0.878,30,0.001,31,0.642,32,0.152,33,0.524,35,1.181,95,0.149,101,0.01,102,6.473,103,0,104,0,122,2.548,135,1.331,148,1.01,183,4.371,185,4.355,205,2.336,228,1.392,277,1.104,290,3.241,400,2.288,433,0.947,478,2.157,589,1.361,591,1.829,653,3.172,711,3.872,1237,2.265,1767,6.719,1775,6.719,1801,8.118,1838,7.422,1849,4.447,1852,7.201,1853,2.513,1871,8.582,1981,6.575,1985,6.342,1992,5.085,2070,7.863,3663,6.755,3664,5.159,3667,6.662,3669,5.159,3670,6.853,3671,5.63,4721,4.671,6943,5.518,15235,7.642,15279,12.21,15280,7.683,15281,7.683,15282,7.683,15283,7.683]],["title/injectables/LegacySchoolService.html",[589,0.926,2065,4.598]],["body/injectables/LegacySchoolService.html",[0,0.199,3,0.011,4,0.011,5,0.005,7,0.081,8,0.967,18,4.241,26,2.538,27,0.485,29,0.945,30,0.001,31,0.691,32,0.154,33,0.564,34,0.989,35,1.384,36,2.831,47,0.95,48,5.303,95,0.136,99,1.185,101,0.008,102,5.728,103,0,104,0,129,1.728,130,1.583,135,1.56,142,3.049,148,1.134,197,2.741,205,1.18,228,1.519,277,0.831,279,2.42,317,3.019,433,1.033,478,1.625,552,3.161,589,1.118,591,1.378,652,1.709,657,2.889,703,2.603,704,2.947,1213,6.875,1373,3.482,1531,7.618,1853,1.893,2065,5.549,2070,7.892,4541,2.926,7681,7.752,11426,9.686,14232,9.707,14783,7.763,15068,6.806,15084,7.763,15182,9.071,15231,10.37,15235,6.278,15256,5.36,15284,12.629,15285,5.789,15286,8.383,15287,8.383,15288,8.383,15289,8.383,15290,8.383,15291,5.36,15292,5.789,15293,8.383,15294,5.789,15295,8.383,15296,5.789,15297,8.383,15298,5.789,15299,5.789,15300,8.383,15301,5.789,15302,8.383,15303,5.789,15304,8.383,15305,5.789,15306,5.789,15307,8.383,15308,5.789,15309,5.789,15310,8.383,15311,5.789,15312,5.789,15313,5.789,15314,5.789]],["title/injectables/LegacySystemRepo.html",[589,0.926,671,5.09]],["body/injectables/LegacySystemRepo.html",[0,0.228,3,0.013,4,0.013,5,0.006,7,0.093,8,1.065,10,3.694,12,4.163,18,4.671,26,1.9,27,0.505,29,0.925,30,0.001,31,0.676,32,0.166,33,0.552,34,1.132,35,1.447,36,2.714,40,3.199,49,3.485,95,0.138,99,1.357,101,0.009,102,4.894,103,0,104,0,129,1.98,135,0.865,148,1.051,153,1.514,158,2.444,185,3.163,205,1.352,206,3.002,231,1.6,252,1.752,277,0.952,317,2.972,412,2.934,436,3.403,478,1.861,532,5.045,571,2.623,579,1.898,589,1.231,591,1.578,610,2.613,671,6.764,728,7.425,734,3.875,735,4.204,736,5.244,759,3.949,760,4.03,761,3.989,762,4.03,763,4.595,764,3.989,765,4.03,766,3.566,771,4.762,809,4.328,1086,3.164,1087,3.065,1088,3.113,1089,3.313,1166,4.388,1167,4.074,1393,6.04,1829,2.819,1940,4.328,1994,4.858,2037,4.218,2369,3.707,2454,6.295,2512,3.77,3382,3.034,5163,5.08,5894,7.03,6229,3.766,6835,4.595,15070,4.965,15315,11.485,15316,6.63,15317,9.047,15318,8.549,15319,6.63,15320,8.549,15321,9.047,15322,6.63,15323,6.63,15324,8.099,15325,6.63,15326,6.14,15327,5.817,15328,4.858,15329,6.63,15330,6.63,15331,6.14,15332,6.63,15333,6.63,15334,6.63,15335,6.63,15336,9.232]],["title/injectables/LegacySystemService.html",[589,0.926,15337,5.328]],["body/injectables/LegacySystemService.html",[0,0.187,3,0.01,4,0.01,5,0.005,7,0.076,8,0.922,12,3.604,18,4.043,26,2.156,27,0.439,29,0.856,30,0.001,31,0.625,32,0.163,33,0.51,34,1.365,35,1.212,36,2.623,40,3.856,59,1.683,95,0.141,99,1.109,100,1.892,101,0.007,102,4.236,103,0,104,0,110,2.763,135,1.238,148,1.195,153,1.557,185,2.738,228,1.448,277,0.779,279,2.266,317,2.862,346,3.972,393,2.677,412,2.399,433,0.985,478,1.522,579,1.552,589,1.065,591,1.29,610,2.136,647,3.972,648,3.408,652,2.277,657,2.987,671,7.674,675,2.76,1829,2.305,1940,3.539,1994,3.972,2369,3.031,2454,3.696,3382,5.53,5163,6.966,5168,6.703,5347,7.476,5350,7.4,6627,4.069,12965,7.739,13511,3.408,13748,8.25,14244,4.91,14516,5.149,14941,5.366,15049,5.855,15067,4.559,15070,5.984,15321,8.25,15326,5.02,15327,4.756,15328,5.855,15331,7.4,15337,6.129,15338,11.684,15339,5.421,15340,7.991,15341,7.991,15342,8.789,15343,5.421,15344,5.421,15345,7.991,15346,5.421,15347,7.991,15348,5.421,15349,7.991,15350,5.421,15351,4.756,15352,4.756,15353,5.421,15354,4.756,15355,7.991,15356,7.4,15357,5.421,15358,7.991,15359,5.02,15360,5.421,15361,5.421,15362,5.421,15363,5.421,15364,5.421,15365,5.421,15366,4.559,15367,7.991,15368,7.705,15369,7.991,15370,7.981,15371,7.991,15372,7.991,15373,7.4,15374,7.991,15375,7.4,15376,7.991,15377,7.4,15378,7.991,15379,5.421,15380,5.421,15381,5.02,15382,7.991,15383,5.421,15384,9.491,15385,5.421,15386,5.421,15387,5.421,15388,5.421,15389,5.421,15390,5.421]],["title/modules/LessonApiModule.html",[252,1.836,15391,5.842]],["body/modules/LessonApiModule.html",[0,0.318,3,0.017,4,0.017,5,0.008,30,0.001,95,0.153,101,0.012,103,0.001,104,0.001,252,3.302,254,3.32,255,3.516,256,3.606,257,3.593,258,3.58,259,4.544,260,3.432,269,4.489,270,3.541,271,3.467,273,5.795,274,4.797,276,4.489,277,1.324,314,3.529,1856,7.866,1907,9.668,2653,4.262,3005,4.351,15391,11.999,15392,9.218,15393,9.218,15394,9.218,15395,11.531,15396,9.218,15397,10.961,15398,9.218]],["title/entities/LessonBoardElement.html",[205,1.416,2937,5.64]],["body/entities/LessonBoardElement.html",[0,0.333,3,0.018,4,0.018,5,0.009,7,0.136,27,0.38,30,0.001,32,0.12,95,0.146,96,2.547,101,0.013,103,0.001,104,0.001,112,0.923,190,1.735,205,2.408,206,3.142,224,2.807,231,1.675,232,2.618,457,5.359,2688,5.448,2908,9.305,2926,7.149,2927,6.813,2930,8.329,2932,8.125,2937,9.59,2980,6.023,3293,7.411,3323,9.934,5670,4.537,5671,8.477,15399,11.813,15400,8.947,15401,9.934,15402,9.662]],["title/controllers/LessonController.html",[314,2.659,15397,6.094]],["body/controllers/LessonController.html",[0,0.31,3,0.017,4,0.017,5,0.008,7,0.126,8,1.303,10,4.943,27,0.354,29,0.689,30,0.001,31,0.504,32,0.112,33,0.411,35,1.041,36,2.39,95,0.152,100,3.138,101,0.012,103,0.001,104,0.001,135,1.173,141,4.844,148,0.889,190,1.614,202,2.066,228,1.629,274,3.759,277,1.291,314,3.442,316,4.338,317,2.676,325,6.437,349,6.798,388,3.856,392,4.7,395,4.836,398,4.872,400,2.678,657,2.057,3005,4.244,3189,7.375,3209,4.638,5729,5.113,15395,10.388,15397,9.911,15403,8.991,15404,7.561,15405,10.208,15406,11.297,15407,8.991,15408,8.991,15409,8.991,15410,7.561,15411,8.991,15412,8.326]],["title/classes/LessonCopyApiParams.html",[0,0.239,7368,5.842]],["body/classes/LessonCopyApiParams.html",[0,0.401,2,1.001,3,0.018,4,0.018,5,0.009,7,0.132,27,0.37,30,0.001,32,0.117,33,0.531,34,1.985,47,0.825,95,0.133,100,4.057,101,0.012,103,0.001,104,0.001,112,0.908,157,2.903,190,1.69,200,2.884,201,4.514,202,2.163,300,4.45,304,4.647,855,4.705,1562,9.156,1936,5.458,2026,6.155,2032,4.418,2602,7.066,2928,5.32,3166,6.207,3167,6.207,3620,5.881,7123,10.198,7368,9.775,8018,9.156,12394,8.258,15413,11.624,15414,8.717,15415,8.717]],["title/injectables/LessonCopyUC.html",[589,0.926,15117,5.842]],["body/injectables/LessonCopyUC.html",[0,0.199,3,0.011,4,0.011,5,0.005,7,0.081,8,0.966,26,2.537,27,0.451,29,0.827,30,0.001,31,0.605,32,0.135,33,0.494,35,1.25,36,1.772,39,1.6,95,0.147,99,1.183,101,0.008,103,0,104,0,122,1.206,135,1.678,148,0.572,153,1.374,228,2.077,277,0.83,279,2.416,290,3.164,317,2.134,433,1.032,478,1.623,569,3.558,579,2.397,589,1.117,591,1.376,641,4.762,652,2.811,657,2.47,693,2.632,980,3.206,1080,1.993,1115,2.213,1268,6.051,1312,2.714,1780,3.514,1833,4.693,1862,5.765,1910,7.574,1936,2.714,2032,4.104,2037,3.678,2218,2.582,2219,2.906,2220,2.805,2221,3.634,2602,3.514,2653,2.672,2654,3.442,2926,6.164,3245,7.042,3253,10.366,3255,9.032,3261,9.709,3268,11.066,3273,6.429,3286,3.552,3287,3.287,3337,5.071,3338,5.071,3339,5.353,3862,6.597,5051,4.433,5091,3.086,5690,8.405,5705,6.051,7334,7.042,7370,9.999,7628,6.799,7666,5.071,7667,9.08,7673,5.071,7679,5.071,7680,5.071,7681,3.634,8985,4.075,13076,8.281,15117,7.042,15416,11.95,15417,8.375,15418,8.375,15419,5.78,15420,5.78,15421,8.375,15422,5.353,15423,5.78,15424,8.375,15425,5.78,15426,7.755,15427,5.78,15428,5.78,15429,5.353,15430,5.071,15431,5.78,15432,6.597,15433,5.353,15434,5.78,15435,5.78,15436,5.78,15437,5.78,15438,5.78,15439,5.78,15440,5.78,15441,5.78,15442,8.375,15443,5.78,15444,5.78,15445,5.78,15446,5.78,15447,5.78,15448,8.375,15449,4.861,15450,5.78]],["title/entities/LessonEntity.html",[205,1.416,2926,3.736]],["body/entities/LessonEntity.html",[0,0.144,3,0.008,4,0.008,5,0.004,7,0.129,26,2.051,27,0.45,30,0.001,31,0.514,32,0.143,33,0.3,47,0.953,55,2.122,95,0.137,96,1.105,101,0.016,103,0,104,0,110,3.173,112,0.513,122,1.371,125,1.929,129,2.42,130,2.217,134,1.481,135,1.626,145,1.572,148,1.233,153,1.734,155,2.911,157,1.866,158,1.545,159,1.176,190,2.054,195,2.18,196,2.174,197,2.254,205,1.34,206,1.363,223,3.552,224,1.218,225,2.525,226,1.9,229,1.658,231,0.727,232,1.136,233,1.309,277,0.602,290,0.992,371,3.484,527,1.775,579,1.881,595,1.582,613,3.839,652,1.34,653,1.731,711,1.242,789,2.289,886,1.319,1237,1.236,1312,1.969,1821,2.034,1842,2.993,1936,3.086,2026,3.207,2032,4.349,2050,1.767,2183,1.652,2392,4.032,2802,1.677,2881,3.867,2911,4.887,2915,5.089,2919,2.325,2924,4.234,2925,2.497,2926,4.935,2928,3.709,2929,4.131,2941,4.29,3045,4.899,3620,4.1,3727,6.264,3746,5.821,3882,2.956,3883,2.956,4394,3.876,4553,2.667,4617,1.882,5219,5.442,5550,2.667,5551,2.737,5670,1.969,5703,6.905,5713,3.011,5729,2.384,5736,4.234,5741,7.306,5754,3.011,5760,3.011,5765,3.011,6145,4.72,6146,3.072,6147,2.635,6148,6.814,6149,2.815,6150,5.222,6151,3.072,6152,4.181,6153,4.633,6154,6.256,6155,7.314,6156,4.72,6157,4.72,6158,3.011,6159,4.72,6160,4.72,6161,4.72,6162,3.072,6163,4.72,6164,2.815,6165,4.72,6166,4.72,6167,7.326,6168,3.072,6169,3.072,6170,3.072,6171,4.349,6172,4.234,6173,2.635,6174,4.633,6175,4.633,6176,4.815,6177,4.815,6178,4.815,6179,4.29,6180,4.815,6181,2.775,6182,5.714,6183,2.956,6184,4.815,6185,3.072,6186,3.072,6187,3.072,6188,2.905,6189,3.072,6190,3.072,6191,4.815,6192,4.481,6193,3.072,6194,3.072,6195,6.723,6196,5.939,6197,3.011,6198,5.821,6199,3.072,6200,3.072,6201,3.072,6202,3.072,6203,3.072,6204,3.072,6205,3.072,6206,3.072,6207,3.072,6208,3.072,6209,3.072,6210,2.905,6211,4.413,6212,3.072,6213,3.072,7717,3.678,15451,4.192,15452,4.192,15453,4.192,15454,4.192,15455,4.192,15456,4.192,15457,4.192,15458,4.192,15459,4.192]],["title/classes/LessonFactory.html",[0,0.239,15460,6.433]],["body/classes/LessonFactory.html",[0,0.171,2,0.528,3,0.009,4,0.009,5,0.005,7,0.07,8,0.863,27,0.516,29,1.015,30,0.001,31,0.717,32,0.168,33,0.576,34,1.539,35,1.431,47,0.531,55,2.356,59,3.341,95,0.103,101,0.007,103,0,104,0,112,0.585,113,4.508,127,5.011,129,3.608,130,3.305,135,1.175,148,0.491,157,2.074,172,3.182,185,2.565,192,2.732,197,1.381,205,2.194,206,2.434,228,1.356,231,1.297,326,4.864,374,3.238,433,0.612,436,3.887,467,2.179,478,1.394,501,7.294,502,5.562,505,4.151,506,5.562,507,5.446,508,4.151,509,4.151,510,4.151,511,4.087,512,4.586,513,4.996,514,6.547,515,5.875,516,7.082,517,2.776,522,2.754,523,4.151,524,2.776,525,5.243,526,5.394,527,4.245,528,5.074,529,4.118,530,2.754,531,2.596,532,4.197,533,2.651,534,2.596,535,2.754,536,2.776,537,4.918,538,2.754,539,6.988,540,4.243,541,6.702,542,2.776,543,4.371,544,2.754,545,2.776,546,2.754,547,2.776,548,2.754,549,3.085,550,2.901,551,2.754,552,6.176,553,2.776,554,2.754,555,4.151,556,3.787,557,4.151,558,2.776,559,2.67,560,2.632,561,2.228,562,2.754,563,2.754,564,2.754,565,2.776,566,2.776,567,1.887,568,2.754,569,1.542,570,2.776,571,2.961,572,2.754,573,2.776,576,2.928,1936,2.331,2032,4.462,2926,4.025,3727,4.705,5703,5.187,6153,3.501,6154,5.103,6155,3.286,7692,4.175,7738,4.598,7740,4.598,15460,8.342,15461,4.965,15462,4.965,15463,7.484,15464,4.965,15465,4.965,15466,4.965,15467,4.965]],["title/modules/LessonModule.html",[252,1.836,1907,4.898]],["body/modules/LessonModule.html",[0,0.263,3,0.014,4,0.014,5,0.007,30,0.001,95,0.154,101,0.01,103,0,104,0,252,3.017,254,2.746,255,2.908,256,2.983,257,2.972,258,2.961,259,4.152,260,4.25,265,6.027,269,3.972,270,2.929,271,2.868,276,3.972,277,1.095,610,3.005,1027,2.336,1317,4.793,1881,6.412,1907,10.319,2802,3.051,3253,11.801,3286,4.685,3287,4.336,3842,9.999,3851,3.834,5690,9.569,7317,9.763,9985,11.438,9989,9.553,15133,9.763,15135,6.412,15468,7.625,15469,7.625,15470,7.625,15471,7.625,15472,10.963,15473,11.438,15474,7.625,15475,5.284]],["title/interfaces/LessonParent.html",[159,0.714,6171,4.598]],["body/interfaces/LessonParent.html",[0,0.16,3,0.009,4,0.009,5,0.004,7,0.136,8,0.82,26,2.267,27,0.183,30,0.001,31,0.398,32,0.108,35,0.537,47,0.963,55,2.096,95,0.141,96,1.223,101,0.017,103,0,104,0,110,3.349,122,1.483,125,1.691,134,1.639,135,1.666,145,1.739,148,1.263,153,1.589,155,3.072,157,1.989,158,1.709,159,1.216,161,1.102,195,1.891,196,1.534,197,1.976,205,1.449,223,3.242,224,1.347,225,2.73,226,2.102,229,1.835,231,0.804,232,1.257,233,1.448,277,0.666,290,1.097,371,3.767,527,1.963,579,2.034,595,1.751,613,4.152,652,1.449,653,1.915,711,1.374,789,2.532,886,1.459,1237,1.368,1312,2.178,1821,2.25,1842,3.236,1936,2.178,2026,2.263,2032,3.969,2050,1.955,2183,1.828,2392,4.202,2802,1.856,2881,4.123,2911,3.994,2915,3.942,2919,2.573,2924,4.579,2925,2.762,2926,4.647,2928,3.954,2929,4.467,2941,4.639,3045,3.795,3620,4.371,3727,5.431,3746,6.205,3882,3.27,3883,3.27,4394,4.191,4553,2.951,4617,2.082,5219,5.802,5550,2.951,5551,3.028,5670,2.178,5703,6.711,5713,3.331,5729,2.638,5736,4.579,5741,7.223,5754,3.331,5760,3.331,5765,3.331,6145,5.104,6146,3.399,6147,2.916,6148,6.218,6149,3.115,6150,5.566,6151,3.399,6152,4.522,6153,5.011,6154,4.846,6155,6.911,6156,5.104,6157,5.104,6158,3.331,6159,5.104,6160,5.104,6161,5.104,6162,3.399,6163,5.104,6164,3.115,6165,5.104,6166,5.104,6167,7.634,6168,3.399,6169,3.399,6170,3.399,6171,5.718,6172,6.727,6173,2.916,6174,3.27,6175,3.27,6176,3.399,6177,3.399,6178,3.399,6179,3.028,6180,5.207,6181,3.07,6182,6.092,6183,3.27,6184,5.207,6185,3.399,6186,3.399,6187,3.399,6188,3.214,6189,3.399,6190,3.399,6191,5.207,6192,4.846,6193,3.399,6194,3.399,6195,7.096,6196,6.331,6197,3.331,6198,6.205,6199,3.399,6200,3.399,6201,3.399,6202,3.399,6203,3.399,6204,3.399,6205,3.399,6206,3.399,6207,3.399,6208,3.399,6209,3.399,6210,3.214,6211,4.772,6212,3.399,6213,3.399,15476,4.638]],["title/interfaces/LessonProperties.html",[159,0.714,6153,4.898]],["body/interfaces/LessonProperties.html",[0,0.151,3,0.008,4,0.008,5,0.004,7,0.132,26,2.096,30,0.001,31,0.57,32,0.152,33,0.492,47,0.965,55,2.256,95,0.139,96,1.157,101,0.017,103,0,104,0,110,3.253,112,0.532,122,1.963,125,1.621,134,1.551,135,1.645,145,1.645,148,1.247,153,1.543,155,2.984,157,1.921,158,1.618,159,1.194,161,1.043,195,1.826,196,1.452,197,1.894,205,1.389,223,3.161,224,1.275,225,2.617,226,1.989,229,1.736,231,0.761,232,1.19,233,1.37,277,0.631,290,1.038,371,3.611,527,1.858,579,1.95,595,1.657,613,3.979,652,1.389,653,1.813,711,1.301,789,2.397,886,1.381,1237,1.294,1312,2.061,1821,2.13,1842,3.102,1936,2.061,2026,2.142,2032,4.635,2050,1.85,2183,1.73,2392,4.11,2802,1.756,2881,3.983,2911,3.858,2915,3.778,2919,2.435,2924,4.388,2925,2.614,2926,4.489,2928,3.82,2929,4.282,2941,4.446,3045,5.436,3620,4.223,3727,6.773,3746,5.995,3882,3.095,3883,3.095,4394,4.017,4553,2.793,4617,1.97,5219,5.605,5550,2.793,5551,2.866,5670,2.061,5703,7.467,5713,3.153,5729,2.496,5736,4.388,5741,7.106,5754,3.153,5760,3.153,5765,3.153,6145,4.892,6146,3.216,6147,2.759,6148,7.262,6149,2.948,6150,6.56,6151,3.216,6152,4.334,6153,5.885,6154,6.943,6155,7.69,6156,4.892,6157,4.892,6158,3.153,6159,4.892,6160,4.892,6161,4.892,6162,3.216,6163,4.892,6164,2.948,6165,4.892,6166,4.892,6167,7.467,6168,3.216,6169,3.216,6170,3.216,6171,4.508,6172,4.388,6173,2.759,6174,3.095,6175,3.095,6176,3.216,6177,3.216,6178,3.216,6179,2.866,6180,4.991,6181,2.905,6182,5.885,6183,3.095,6184,4.991,6185,3.216,6186,3.216,6187,3.216,6188,3.042,6189,3.216,6190,3.216,6191,4.991,6192,4.644,6193,3.216,6194,3.216,6195,6.892,6196,6.116,6197,3.153,6198,5.995,6199,3.216,6200,3.216,6201,3.216,6202,3.216,6203,3.216,6204,3.216,6205,3.216,6206,3.216,6207,3.216,6208,3.216,6209,3.216,6210,3.042,6211,4.574,6212,3.216,6213,3.216]],["title/injectables/LessonRepo.html",[589,0.926,15472,5.842]],["body/injectables/LessonRepo.html",[0,0.2,3,0.011,4,0.011,5,0.005,7,0.081,8,0.968,10,3.358,12,3.785,13,5.917,18,4.246,26,2.691,27,0.497,29,0.945,30,0.001,31,0.691,32,0.16,33,0.564,34,0.99,35,1.428,36,2.766,39,1.604,40,4.049,42,5.917,49,2.188,59,1.8,95,0.144,96,2.213,97,2.365,98,3.487,99,1.186,101,0.008,103,0,104,0,122,1.21,125,1.38,135,1.609,148,1.135,153,1.377,172,3.568,205,1.182,206,2.729,224,1.684,231,1.455,277,0.833,279,2.423,290,1.371,317,2.989,415,3.297,436,3.204,478,1.627,532,4.914,589,1.119,591,1.38,595,2.188,657,2.625,711,2.923,728,7.141,734,3.523,735,3.822,736,4.87,759,3.452,760,3.524,761,3.487,762,3.524,764,3.487,765,3.524,766,3.118,770,3.644,773,4.164,788,3.953,790,3.953,1936,5.077,2032,3.19,2231,4.772,2907,4.814,2926,6.171,3045,3.095,3727,3.644,5217,6.955,5729,6.149,5741,4.998,6154,3.953,6155,5.554,6229,3.424,6835,4.017,7745,4.446,7749,4.446,12122,7.771,12126,7.362,12127,5.368,15472,7.057,15477,5.797,15478,8.392,15479,8.392,15480,8.392,15481,5.797,15482,8.392,15483,5.797,15484,5.368,15485,5.797,15486,5.797,15487,7.362,15488,5.797,15489,5.797,15490,5.797,15491,5.797,15492,5.797,15493,5.797,15494,5.797,15495,5.797,15496,5.797,15497,5.797,15498,5.797,15499,5.797,15500,5.797]],["title/injectables/LessonRule.html",[589,0.926,1872,5.64]],["body/injectables/LessonRule.html",[0,0.169,3,0.009,4,0.009,5,0.005,7,0.069,8,0.854,27,0.473,29,0.922,30,0.001,31,0.674,32,0.153,33,0.55,35,1.352,95,0.128,101,0.006,103,0,104,0,122,2.78,135,1.569,141,5.469,148,1.155,153,0.803,183,3.797,197,2.483,205,2.888,228,1.618,277,0.703,290,3.35,433,0.912,478,1.374,579,1.4,589,0.987,591,1.164,652,2.773,653,2.02,711,3.333,1197,7.616,1237,1.443,1622,3.514,1775,5.477,1778,6.257,1783,3.006,1784,3.285,1792,6.187,1793,4.899,1801,6.989,1838,4.499,1867,9.483,1868,8.747,1872,6.009,1981,4.769,1985,4.599,1992,3.238,2032,4.275,2926,7.271,3383,4.769,3384,2.807,3507,3.113,3663,4.899,3664,3.285,3667,4.832,3669,3.285,3670,4.97,6148,5.928,7127,3.514,7757,4.292,7759,4.114,7760,6.494,15501,4.892,15502,7.402,15503,7.402,15504,7.402,15505,7.402,15506,7.402,15507,4.892,15508,7.402,15509,4.892,15510,7.402,15511,4.892,15512,4.892,15513,4.892,15514,7.402,15515,4.892,15516,7.402,15517,4.892,15518,6.854,15519,4.892,15520,4.892,15521,9.218,15522,4.892,15523,4.892,15524,4.531,15525,7.402,15526,7.402,15527,4.892,15528,9.954,15529,8.268,15530,7.402,15531,7.402,15532,4.892,15533,4.892,15534,4.531,15535,4.892]],["title/classes/LessonScope.html",[0,0.239,15487,6.094]],["body/classes/LessonScope.html",[0,0.265,2,0.819,3,0.015,4,0.015,5,0.007,7,0.108,8,1.178,26,2.515,27,0.525,29,0.936,30,0.001,31,0.684,32,0.166,33,0.558,35,1.414,95,0.131,99,1.575,101,0.01,103,0,104,0,112,0.798,122,2.728,129,2.299,130,2.106,148,1.011,231,1.771,279,3.218,365,3.422,436,3.769,478,2.161,569,2.39,652,2.665,2032,2.926,2474,6.832,2926,4.14,3727,4.839,6229,5.594,6947,6.862,6948,6.862,6949,6.862,6954,6.862,6955,6.862,6956,5.249,6957,5.169,6958,5.249,6959,5.249,6968,5.169,6969,6.862,6970,5.249,6971,5.169,6972,5.249,6973,5.169,6974,6.862,7745,7.837,8117,6.212,9452,6.064,9456,7.129,10904,9.463,10908,9.463,15487,11.469,15536,11.471,15537,9.463,15538,9.463,15539,7.698,15540,6.754]],["title/injectables/LessonService.html",[589,0.926,5690,4.737]],["body/injectables/LessonService.html",[0,0.227,3,0.012,4,0.012,5,0.006,7,0.093,8,1.06,12,4.144,26,2.842,27,0.491,29,0.956,30,0.001,31,0.699,32,0.163,33,0.57,35,1.394,36,2.843,39,2.929,59,2.045,95,0.142,98,3.962,99,1.348,101,0.009,103,0,104,0,122,1.374,125,1.568,135,1.381,148,1.234,172,3.907,228,1.665,277,0.946,317,3.028,433,1.133,478,1.849,560,3.492,589,1.225,591,1.568,652,1.873,657,2.756,1237,1.942,1317,4.14,1845,7.238,1936,4.315,2802,2.635,2926,6.479,3727,4.14,3851,3.312,5217,8.075,5690,6.266,5703,6.368,5705,4.047,5729,6.019,7279,9.196,7742,8.51,7743,8.51,7745,5.052,15472,10.492,15475,4.564,15541,6.586,15542,9.189,15543,9.189,15544,9.189,15545,6.586,15546,6.586,15547,9.189,15548,6.586,15549,9.189,15550,6.586,15551,9.189,15552,6.586,15553,6.586,15554,9.189,15555,6.586,15556,6.586,15557,6.586,15558,6.586,15559,6.586,15560,6.586,15561,9.189,15562,6.586,15563,6.586,15564,6.586,15565,9.189,15566,6.586,15567,6.586]],["title/injectables/LessonUC.html",[589,0.926,15395,5.842]],["body/injectables/LessonUC.html",[0,0.293,3,0.016,4,0.016,5,0.008,7,0.119,8,1.257,10,4.361,26,2.811,27,0.429,29,0.835,30,0.001,31,0.61,32,0.136,33,0.498,35,0.983,39,2.352,95,0.15,99,1.739,101,0.011,103,0.001,104,0.001,135,1.108,148,0.84,158,3.131,194,3.324,195,1.859,228,1.975,277,1.22,290,2.009,317,2.607,433,1.343,589,1.453,591,2.022,595,3.207,610,3.348,652,2.222,657,2.494,693,3.869,980,4.713,985,4.918,1780,5.165,1862,7.171,1936,5.117,1961,5.111,2640,6.226,2653,3.928,2658,6.226,2896,6.692,3384,4.874,5690,9.312,5705,7.394,5729,4.832,6148,5.06,15395,9.165,15430,7.454,15568,8.496,15569,8.496,15570,9.165,15571,8.496,15572,8.496,15573,8.496,15574,8.496,15575,8.496]],["title/injectables/LessonUrlHandler.html",[589,0.926,15576,5.842]],["body/injectables/LessonUrlHandler.html",[0,0.24,3,0.013,4,0.013,5,0.006,7,0.098,8,1.1,9,3.23,27,0.499,29,0.941,30,0.001,31,0.688,32,0.165,33,0.561,34,1.629,35,1.357,36,2.018,47,0.964,95,0.14,101,0.009,103,0,104,0,105,10.235,106,7.313,107,7.109,108,8.841,110,4.576,111,5.476,112,0.745,113,3.802,114,8.841,115,7.514,116,7.744,117,7.514,118,7.514,120,5.476,122,1.451,123,5.644,125,2.592,126,5.476,127,5.856,129,2.848,130,2.609,131,5.967,134,2.456,135,1.42,148,0.944,228,1.26,231,1.653,233,2.17,277,0.998,317,2.359,400,2.07,433,0.857,436,3.473,589,1.272,591,1.654,657,1.59,1237,2.05,1936,5.113,4127,6.405,4130,7.514,4132,5.846,4133,5.846,4134,5.846,4137,7.316,4138,5.644,4139,7.316,4140,5.846,4141,5.644,4143,4.668,5690,8.651,5735,5.644,7941,6.099,7942,6.099,7944,8.369,7945,8.369,7946,6.099,8985,4.901,15576,8.021,15577,10.89,15578,6.951,15579,9.539,15580,6.951]],["title/classes/LessonUrlParams.html",[0,0.239,15405,5.472]],["body/classes/LessonUrlParams.html",[0,0.415,2,1.061,3,0.019,4,0.019,5,0.009,7,0.14,27,0.393,30,0.001,32,0.124,34,2.057,47,0.855,95,0.137,101,0.013,103,0.001,104,0.001,112,0.941,157,2.296,190,1.791,194,4.711,195,2.635,196,3.984,197,3.349,200,3.056,202,2.291,296,3.147,855,4.875,1936,5.655,4150,6.063,5705,7.95,15405,9.486,15581,9.974,15582,9.974]],["title/classes/LessonUrlParams-1.html",[0,0.199,756,2.285,15405,4.549]],["body/classes/LessonUrlParams-1.html",[0,0.415,2,1.061,3,0.019,4,0.019,5,0.009,7,0.14,27,0.393,30,0.001,32,0.124,34,2.057,47,0.855,95,0.137,101,0.013,103,0.001,104,0.001,112,0.941,157,2.296,190,1.791,194,4.711,195,2.635,196,3.984,197,3.349,200,3.056,202,2.291,296,3.147,855,4.875,1936,5.655,4150,6.063,5705,7.95,15405,9.486,15583,9.974,15584,9.974]],["title/classes/LibrariesBodyParams.html",[0,0.239,1233,5.64]],["body/classes/LibrariesBodyParams.html",[0,0.452,2,0.987,3,0.018,4,0.018,5,0.009,7,0.13,27,0.365,30,0.001,32,0.144,47,0.957,95,0.131,101,0.017,103,0.001,104,0.001,112,0.9,125,2.209,190,1.667,195,2.522,200,2.844,202,2.132,296,3.521,299,5.109,300,4.411,855,4.665,1195,5.69,1228,7.536,1233,10.175,1234,9.356,1235,9.356,1238,9.613,1240,5.474,1242,7.806,2525,4.992,6258,6.671,6328,8.144,6329,6.433,15585,9.282,15586,9.282]],["title/interfaces/LibrariesContentType.html",[159,0.714,13343,6.094]],["body/interfaces/LibrariesContentType.html",[0,0.185,3,0.01,4,0.01,5,0.005,7,0.076,30,0.001,31,0.301,32,0.118,34,0.918,36,1.998,47,0.827,74,4.124,95,0.147,101,0.01,103,0,104,0,112,0.62,125,2.773,135,1.753,142,1.956,145,3.541,148,1.101,153,2.072,158,2.928,159,0.553,161,1.277,185,4.13,195,2.067,197,2.209,228,1.712,277,0.772,290,2.467,317,2.046,412,2.38,433,0.663,527,2.276,543,2.609,569,1.67,579,2.274,589,1.059,634,5.468,651,2.721,652,2.375,657,2.89,702,2.655,711,2.799,756,3.142,810,3.94,1195,2.655,1215,3.235,1312,2.525,1563,3.465,1619,3.304,1675,3.235,1819,4.718,1928,5.821,1938,2.892,2163,2.486,2332,3.007,2357,3.058,2392,2.051,2549,4.366,2551,3.611,2923,2.851,3378,4.685,5153,4.366,5231,6.558,6513,4.517,6558,5.933,6559,3.94,7728,3.792,8830,4.366,11637,6.095,11652,3.667,12031,4.124,12059,4.522,12060,4.522,12073,4.124,13047,4.522,13069,7.669,13073,4.522,13074,4.522,13075,4.522,13259,7.944,13260,8.773,13296,4.522,13301,4.718,13302,8.748,13303,4.98,13304,8.748,13305,9.661,13306,4.98,13308,4.98,13310,4.98,13313,4.98,13314,7.356,13317,4.98,13322,4.98,13323,7.356,13325,4.98,13326,7.356,13329,9.661,13330,4.98,13331,8.748,13332,4.98,13333,4.98,13334,4.98,13335,4.718,13336,4.98,13337,4.522,13338,4.98,13339,4.98,13340,4.98,13341,4.98,13342,4.98,13343,9.765,13344,10.307,13345,7.356,13346,7.356,13347,4.98,13348,4.98,13349,7.356,13350,4.98,13351,7.356,13352,4.98,13353,4.98,13354,4.98,13355,7.356,13356,4.98,13357,4.98,13358,4.98,13359,4.98,13360,4.98,13361,4.98,13362,4.98,13363,4.98,13364,4.98,13365,4.98,13366,7.356,13367,4.98,13368,7.356,13369,7.356,13370,4.98,13371,4.98,13372,4.718,13373,6.969,13374,4.98,13375,4.98,13376,4.98,13377,4.98,13378,4.98,13379,7.356,13380,7.356,13381,4.522,13382,4.98,13383,4.98,13384,4.98,13385,4.98,13386,4.98,13387,7.356,13388,4.98,13389,4.98,13390,4.98]],["title/classes/LibraryFileUrlParams.html",[0,0.239,13140,6.094]],["body/classes/LibraryFileUrlParams.html",[0,0.41,2,1.038,3,0.019,4,0.019,5,0.012,7,0.137,27,0.468,30,0.001,32,0.148,47,0.947,95,0.136,101,0.013,103,0.001,104,0.001,112,0.928,190,2.133,200,2.989,202,2.241,296,3.348,299,4.994,856,7.107,1195,6.326,6501,9.034,6502,9.992,13140,10.425,15587,12.813,15588,12.813,15589,9.756,15590,9.756]],["title/classes/LibraryName.html",[0,0.239,11625,5.64]],["body/classes/LibraryName.html",[0,0.308,2,0.426,3,0.008,4,0.008,5,0.004,7,0.056,27,0.352,29,0.486,30,0.001,31,0.441,32,0.111,33,0.183,47,0.94,55,2.754,72,1.834,83,1.847,95,0.102,96,1.057,101,0.012,103,0,104,0,112,0.495,122,2.164,131,3.23,134,2.241,141,4.447,145,3.887,148,0.885,155,1.272,157,0.923,190,1.413,194,1.568,195,2.899,196,4.352,197,1.115,205,1.293,208,2.52,223,4.369,224,1.164,225,2.437,229,1.586,231,0.695,233,1.251,289,2.32,301,2.582,374,3.872,414,4.934,433,0.494,467,1.167,478,1.125,567,1.524,711,1.88,756,4.297,870,4.298,1087,1.853,1195,4.815,1199,8.332,1200,8.895,1201,8.895,1215,5.384,1224,4.556,1237,2.875,1372,2.11,1928,4.648,2163,3.639,2183,1.58,2392,3.003,2547,3.987,2616,4.325,2881,1.913,2884,6.535,2964,4.396,3025,1.923,3370,1.799,3378,3.741,3878,3.157,3924,4.198,5093,4.141,5187,3.777,5198,3.898,5359,4.996,5968,4.556,6119,3.741,6144,4.036,6515,3.074,6516,3.074,6517,3.002,6518,3.074,6519,2.617,6525,3.002,6526,3.074,6538,6.864,6541,2.826,6542,3.074,6558,3.607,6559,2.937,6561,3.074,6569,2.826,6571,3.074,6573,3.074,6575,3.074,6577,3.074,6583,3.074,7004,5.895,7184,2.582,7407,2.879,7514,2.387,9537,2.826,11613,6.391,11614,3.371,11615,4.996,11616,6.037,11617,3.254,11621,5.334,11622,5.334,11623,5.334,11624,3.371,11625,7.917,11626,5.334,11627,5.334,11628,5.334,11629,5.334,11630,3.157,11631,3.371,11632,3.074,11633,5.15,11634,6.619,11635,3.371,11636,6.619,11637,6.581,11638,5.15,11639,4.865,11640,5.334,11641,4.996,11642,5.334,11643,4.556,11644,5.334,11645,5.334,11646,5.15,11647,5.334,11648,5.334,11649,3.157,11650,3.371,11651,3.157,11652,2.733,11653,3.371,11654,3.371,11655,3.371,11656,3.371,11657,3.371,11658,3.371,11659,3.371,11660,3.371,11661,3.371,11662,3.371,11663,3.371,11664,3.371,11665,3.371,11666,3.371,11667,3.371,11668,3.371,11669,3.371,11670,3.371,11671,3.371,11672,3.371,11673,3.371,11674,3.371,11675,3.371,11676,3.371,11677,3.371,11678,3.371,11679,3.371,11680,3.371,11681,3.371,11682,3.371,11683,3.371,11684,3.371,11685,3.371,11686,3.371,11687,3.371,11688,3.371,11689,3.371,11690,3.371,11691,3.371,11692,3.371,11693,3.371,11694,3.371,11695,3.371,11696,3.371,11697,3.371,11698,3.371,11699,3.371,11700,3.371,11701,3.371,11702,3.371,11703,3.371,11704,3.371,11705,3.371,11706,3.371,11707,3.371,11708,3.371,11709,3.371,11710,3.371,11711,3.371,11712,3.371,11713,3.371,15591,6.343,15592,4.008,15593,4.008]],["title/classes/LibraryParametersBodyParams.html",[0,0.239,1235,5.64]],["body/classes/LibraryParametersBodyParams.html",[0,0.452,2,0.99,3,0.018,4,0.018,5,0.009,7,0.131,27,0.366,30,0.001,32,0.144,47,0.957,95,0.132,101,0.017,103,0.001,104,0.001,112,0.901,125,2.214,190,1.67,195,2.036,200,2.851,202,2.137,296,3.524,299,5.113,300,4.418,855,4.671,1195,5.698,1228,7.554,1233,9.37,1234,9.37,1235,10.186,1238,7.136,1240,5.487,1242,10.551,2525,5.004,6258,6.68,6328,8.162,6329,6.448,7204,7.824,15594,9.304]],["title/injectables/LibraryRepo.html",[589,0.926,13261,5.842]],["body/injectables/LibraryRepo.html",[0,0.174,3,0.01,4,0.01,5,0.005,7,0.071,8,0.875,10,3.037,12,3.423,18,3.84,26,1.562,27,0.506,29,0.952,30,0.001,31,0.72,32,0.155,33,0.568,34,0.864,35,1.465,36,2.836,40,2.441,47,0.924,49,2.865,55,2.784,95,0.104,101,0.007,103,0,104,0,135,1.415,142,3.682,145,1.896,148,1.169,153,1.494,205,1.857,206,2.469,231,1.316,277,0.727,317,3.038,347,3.89,436,3,532,4.769,579,2.608,589,1.012,591,1.204,657,2.316,728,6.838,734,3.186,735,3.457,736,4.498,756,3.604,759,3.013,760,3.075,761,3.043,762,3.075,763,3.506,764,3.043,765,3.075,766,2.721,771,3.634,787,7.765,1195,5.999,1199,9.858,1200,9.986,1201,9.986,1238,5.822,2344,4.614,2907,5.226,5695,3.915,10632,6.163,11632,8.736,11633,8.219,11637,2.955,13261,6.383,14763,4.685,15595,5.059,15596,7.591,15597,9.11,15598,9.11,15599,9.11,15600,10.124,15601,7.591,15602,5.059,15603,7.591,15604,5.059,15605,5.059,15606,5.059,15607,5.059,15608,5.059,15609,5.059,15610,5.059,15611,5.059,15612,5.059,15613,5.059,15614,5.059,15615,10.124,15616,7.591,15617,7.591,15618,5.059,15619,8.513,15620,7.591,15621,5.059,15622,5.059,15623,4.685,15624,5.059,15625,3.985]],["title/classes/LinkContentBody.html",[0,0.239,6448,4.535]],["body/classes/LinkContentBody.html",[0,0.467,2,0.55,3,0.01,4,0.01,5,0.005,7,0.073,9,2.402,27,0.403,30,0.001,31,0.666,32,0.174,33,0.525,47,0.939,83,1.505,95,0.125,99,1.058,101,0.018,103,0,104,0,110,3.191,112,0.602,130,3.255,155,2.928,157,2.644,190,1.837,195,1.131,200,1.584,201,3.584,202,1.188,223,1.605,231,1.99,296,3.673,299,4.872,300,4.396,339,1.517,360,2.966,854,4.85,855,3.123,886,1.627,899,2.354,1232,2.992,1749,2.94,1853,1.691,2048,4.666,2392,4.38,2694,3.583,2881,2.467,2887,6.53,3128,2.331,3170,2.415,3533,3.049,3535,3.049,3538,5.392,3541,4.792,3545,2.667,3550,2.891,4018,3.177,4039,3.177,4438,5.314,6350,5.801,6352,5.872,6354,5.801,6356,6.511,6358,5.872,6360,5.872,6408,3.331,6445,6.025,6446,6.025,6447,6.025,6448,6.68,6449,6.025,6450,6.025,6788,6.578,7952,3.375,8022,3.02,9565,7.352,9566,3.472,9568,8.094,9569,6.025,9570,6.025,9571,6.025,9572,3.472,9573,6.025,9574,3.177,9575,3.422,9576,6.025,9577,6.68,9578,3.375,9579,3.375,9580,3.375,9581,3.375,9582,3.472,9583,3.472,9584,3.472,9585,3.472,9586,3.472,9587,3.472,15626,9.229,15627,5.17,15628,5.17,15629,5.17,15630,5.17]],["title/classes/LinkElement.html",[0,0.239,3112,4.598]],["body/classes/LinkElement.html",[0,0.194,2,0.599,3,0.011,4,0.011,5,0.005,7,0.079,8,0.947,27,0.54,29,0.979,30,0.001,31,0.716,32,0.164,33,0.584,35,1.523,36,1.737,47,0.994,55,1.648,59,1.747,95,0.094,101,0.013,103,0,104,0,110,3.687,112,0.641,113,3.273,122,2.024,130,3.428,134,1.988,148,1.171,155,3.382,157,2.454,158,2.074,159,0.578,189,5.046,197,1.565,231,1.681,317,2.101,435,2.866,436,3.713,527,2.382,532,3.047,567,4.052,569,3.89,653,2.323,657,1.287,711,2.433,735,3.74,1295,4.731,1770,3.324,1773,5.959,1842,3.74,2050,2.372,2635,5.649,3027,7.688,3030,5.79,3031,5.79,3032,5.79,3033,6.96,3034,5.79,3036,3.537,3037,4.992,3038,6.228,3040,5.691,3041,4.992,3042,6.116,3044,3.899,3045,4.385,3047,6.096,3048,3.899,3052,3.899,3054,3.537,3081,4.94,3112,7.056,3538,6.228,4299,4.041,4300,4.041,4301,4.041,4302,4.731,4310,3.496,4311,5.691,5871,6.667,5873,6.906,9589,3.899,9593,5.21,9594,4.731,9595,5.21,9596,4.731,9597,4.731,11486,5.21,11488,5.21,15631,11.834,15632,5.626,15633,5.626,15634,5.626,15635,5.626,15636,5.626,15637,5.626,15638,5.626,15639,5.626,15640,5.626,15641,5.626,15642,5.626,15643,5.21,15644,5.21,15645,7.604,15646,5.21,15647,5.21,15648,5.21,15649,4.936,15650,5.21]],["title/classes/LinkElementContent.html",[0,0.239,15651,5.842]],["body/classes/LinkElementContent.html",[0,0.353,2,0.82,3,0.015,4,0.015,5,0.007,7,0.108,27,0.501,29,0.591,30,0.001,31,0.432,32,0.169,33,0.582,34,1.961,47,0.974,95,0.131,101,0.013,103,0,104,0,110,4.4,112,0.799,155,4.037,157,2.93,190,2.196,201,4.942,202,1.772,296,3.584,304,3.808,433,1.415,458,3.086,821,3.927,886,2.427,1853,2.523,2108,3.367,2392,4.38,2895,6.646,3025,3.701,3166,4.118,3167,4.118,3170,3.603,3538,7.434,3712,5.259,3719,7.142,3724,4.549,3972,5.87,3976,5.035,3978,5.035,4328,7.847,4438,5.962,6352,4.907,7182,4.179,7514,4.593,9615,6.486,9624,6.486,9626,6.767,15651,10.999,15652,12.112,15653,7.713,15654,6.262]],["title/classes/LinkElementContentBody.html",[0,0.239,9570,4.535]],["body/classes/LinkElementContentBody.html",[0,0.47,2,0.57,3,0.01,4,0.01,5,0.005,7,0.075,9,2.489,27,0.312,30,0.001,31,0.674,32,0.175,47,0.896,83,1.56,95,0.127,99,1.096,101,0.018,103,0,104,0,110,1.852,112,0.619,125,1.275,130,3.292,155,1.699,157,2.397,190,1.422,195,1.172,200,1.641,201,3.66,202,1.23,223,1.663,231,2.086,296,3.688,299,4.918,300,4.453,339,1.571,360,3.073,436,1.587,854,4.979,855,3.206,866,2.66,886,1.685,899,2.439,1232,3.1,1749,3.046,1853,1.752,2048,3.83,2392,4.713,2881,2.556,2887,6.615,3128,2.415,3170,2.502,3533,3.159,3535,3.159,3538,3.129,3541,4.893,3545,2.763,3550,2.995,4018,3.291,4039,3.291,4438,5.407,6350,5.924,6352,6.625,6354,5.924,6356,6.625,6358,5.996,6360,5.996,6408,3.451,6445,6.152,6446,6.152,6447,6.152,6448,6.797,6449,6.152,6450,6.152,6788,6.646,7952,3.496,8022,3.129,9565,5.318,9566,3.597,9568,8.496,9569,6.152,9570,6.797,9571,6.152,9572,3.597,9573,6.152,9574,3.291,9575,3.545,9576,6.152,9577,6.797,9578,3.496,9579,3.496,9580,3.496,9581,3.496,9582,3.597,9583,3.597,9584,3.597,9585,3.597,9586,3.597,9587,3.597,9617,4.108,15655,5.356,15656,5.356]],["title/entities/LinkElementNode.html",[205,1.416,3461,5.472]],["body/entities/LinkElementNode.html",[0,0.286,3,0.016,4,0.016,5,0.008,7,0.117,27,0.468,30,0.001,32,0.148,33,0.491,47,0.987,95,0.144,96,2.189,101,0.014,103,0.001,104,0.001,110,4.351,112,0.839,134,2.934,135,1.083,148,0.821,155,3.992,159,0.854,190,2.137,205,2.189,206,2.7,223,4.217,224,2.412,231,1.861,232,2.25,457,4.605,1770,4.817,2048,5.113,2108,3.624,2635,5.124,2688,4.682,3025,3.984,3419,5.733,3429,6.395,3461,8.458,3501,5.047,3525,9.421,3538,7.351,3874,6.528,3884,5.35,3894,5.102,4401,5.219,4403,5.219,7182,4.499,8118,5.219,9621,6.982,11506,7.689,15654,6.741,15657,11.653,15658,8.303,15659,9.421,15660,7.689,15661,7.689]],["title/interfaces/LinkElementNodeProps.html",[159,0.714,15659,6.094]],["body/interfaces/LinkElementNodeProps.html",[0,0.294,3,0.016,4,0.016,5,0.008,7,0.12,30,0.001,32,0.15,33,0.499,47,1.013,95,0.145,96,2.25,101,0.014,103,0.001,104,0.001,110,4.545,112,0.853,134,3.015,135,1.113,148,0.844,155,4.169,159,0.877,161,2.026,205,2.228,223,3.947,224,2.478,231,2.09,232,2.312,457,4.733,1770,4.88,2048,3.467,2108,3.724,2635,5.215,2688,4.811,3025,4.094,3419,5.835,3429,6.508,3461,6.721,3501,5.187,3525,9.587,3538,7.678,3874,7.329,3884,5.497,3894,5.243,4401,5.364,4403,5.364,7182,4.623,8118,5.364,15654,6.927,15657,7.901,15659,10.577,15660,7.901,15661,7.901]],["title/interfaces/LinkElementProps.html",[159,0.714,15649,6.094]],["body/interfaces/LinkElementProps.html",[0,0.262,3,0.014,4,0.014,5,0.007,7,0.107,30,0.001,32,0.158,33,0.556,36,1.61,47,1.027,95,0.116,101,0.015,103,0,104,0,110,4.381,112,0.792,122,1.588,130,3.327,134,2.689,148,1.289,155,4.019,157,2.917,158,2.805,159,0.782,161,1.807,197,2.116,231,1.977,317,1.649,527,3.222,567,4.623,569,2.363,653,3.142,657,1.741,1842,4.618,2050,3.208,3027,6.101,3033,4.968,3037,4.626,3038,5.925,3041,4.626,3042,5.818,3081,6.862,3112,7.549,3538,7.401,4310,4.729,4311,7.028,5871,8.233,5873,8.528,9589,5.274,9597,6.4,15631,7.047,15643,7.047,15644,7.047,15645,9.391,15646,7.047,15647,7.047,15648,7.047,15649,8.897,15650,7.047]],["title/classes/LinkElementResponse.html",[0,0.239,4328,5.328]],["body/classes/LinkElementResponse.html",[0,0.352,2,0.819,3,0.015,4,0.015,5,0.007,7,0.108,27,0.5,29,0.59,30,0.001,31,0.431,32,0.172,33,0.352,34,2.172,47,0.928,95,0.131,101,0.013,103,0,104,0,110,3.967,112,0.798,155,3.639,157,2.641,190,2.194,201,4.455,202,1.769,296,3.582,304,3.801,433,1.414,458,3.08,821,3.919,886,2.422,1853,2.518,2108,3.36,2392,4.851,2895,7.361,3025,3.693,3165,5.025,3166,5.456,3167,5.456,3169,4.585,3170,4.773,3538,6.701,3712,5.249,3724,4.54,3972,6.58,3976,5.025,3978,5.025,4328,9.754,4438,6.604,6352,6.502,7182,4.171,7514,4.585,9628,6.754,15651,10.276,15652,12.106,15654,6.25,15662,7.698,15663,7.698,15664,7.698,15665,7.698]],["title/classes/LinkElementResponseMapper.html",[0,0.239,6383,6.094]],["body/classes/LinkElementResponseMapper.html",[0,0.268,2,0.827,3,0.015,4,0.015,5,0.007,7,0.109,8,1.186,27,0.483,29,0.788,30,0.001,31,0.576,32,0.153,33,0.47,34,1.327,35,1.334,95,0.131,100,2.713,101,0.01,103,0,104,0,110,2.688,112,0.803,122,2.146,135,1.014,141,4.41,148,1.14,153,2.012,155,2.466,157,1.789,430,3.184,467,3.817,652,2.35,653,3.209,711,2.303,829,4.584,830,5.704,833,6.31,835,5.961,1237,3.032,1853,2.542,2048,5.516,2139,4.459,2392,2.965,2626,8.445,2629,7.888,2630,7.888,2632,7.701,2895,4.499,3112,8.984,3538,4.541,3972,5.9,3988,5.48,4328,9.408,4438,4.036,5868,7.162,6352,4.945,6379,5.961,6383,11.73,9630,9.185,9631,6.122,9638,6.122,9639,6.122,9640,6.122,9641,7.198,15651,8.648,15666,12.758,15667,6.819,15668,11.526,15669,7.772,15670,7.772,15671,7.772]],["title/interfaces/ListFiles.html",[159,0.714,7255,5.09]],["body/interfaces/ListFiles.html",[3,0.016,4,0.016,5,0.01,7,0.118,30,0.001,32,0.157,33,0.612,47,1.043,55,2.624,95,0.096,101,0.018,103,0.001,104,0.001,112,0.844,125,2.573,159,1.376,161,1.993,339,3.171,414,6.614,1302,6.634,1304,4.771,1444,4.653,2232,5.1,5187,6.273,6513,4.771,7240,6.283,7241,6.283,7242,6.609,7243,6.435,7244,6.435,7245,5.274,7246,6.283,7247,5.721,7248,5.721,7249,5.721,7250,5.721,7251,5.915,7252,5.213,7253,5.1,7254,5.1,7255,7.921,7256,10.027,7257,10.027,7258,6.283]],["title/classes/ListOauthClientsParams.html",[0,0.239,15672,6.094]],["body/classes/ListOauthClientsParams.html",[0,0.34,2,0.776,3,0.014,4,0.014,5,0.007,7,0.102,27,0.47,30,0.001,31,0.552,32,0.149,33,0.612,47,0.849,55,2.4,56,5.269,58,8.152,95,0.112,101,0.01,103,0,104,0,112,0.77,145,4.482,157,2.752,187,7.041,190,2.147,194,5.235,196,4.427,197,3.957,200,2.234,202,1.675,296,3.263,299,4.351,300,4.78,534,5.152,873,6.27,876,5.117,891,9.706,892,9.169,1470,6.983,2913,8.969,3744,7.87,3745,5.054,3750,7.078,3801,5.92,4656,7.192,6237,7.763,6306,8.792,8951,10.864,9946,9.169,15672,8.646,15673,12.488,15674,7.292,15675,7.292,15676,7.292,15677,9.855,15678,9.855,15679,7.292,15680,7.292,15681,9.855,15682,7.292,15683,7.292,15684,7.292]],["title/classes/LocalAuthorizationBodyParams.html",[0,0.239,15685,6.094]],["body/classes/LocalAuthorizationBodyParams.html",[0,0.411,2,1.045,3,0.019,4,0.019,5,0.009,7,0.138,27,0.47,30,0.001,32,0.149,47,0.949,51,6.168,87,6.463,95,0.136,101,0.013,103,0.001,104,0.001,112,0.932,190,2.143,200,3.011,202,2.258,296,3.359,299,5.01,856,7.13,8308,9.69,14902,8.622,15685,10.471,15686,12.854,15687,9.101,15688,9.101]],["title/injectables/LocalStrategy.html",[589,0.926,1532,6.094]],["body/injectables/LocalStrategy.html",[0,0.203,3,0.011,4,0.011,5,0.005,7,0.083,8,0.979,27,0.429,29,0.835,30,0.001,31,0.61,32,0.144,33,0.498,35,1.152,36,2.305,39,1.63,47,1,51,5.948,59,3.382,66,7.111,87,6.812,94,6.085,95,0.153,101,0.008,103,0,104,0,135,1.569,148,0.84,153,1.973,159,0.606,172,2.504,195,1.289,197,1.638,228,1.974,231,1.472,233,1.839,268,7.536,277,0.846,279,2.462,290,2.008,317,2.606,325,2.926,349,4.323,433,1.046,480,4.316,579,1.686,589,1.132,591,1.402,634,7.176,647,4.316,648,3.703,651,2.98,652,2.675,657,2.752,675,2.999,838,4.953,923,4.953,924,5.168,1213,5.401,1526,9.225,1532,7.448,1545,4.153,1551,4.953,1585,3.581,1619,3.62,1712,4.411,1983,8.077,4957,3.956,8044,4.411,13027,5.168,13035,4.518,13738,4.953,13748,8.58,14323,4.518,14327,6.893,14332,4.782,15064,9.217,15090,5.455,15093,5.455,15095,5.455,15096,5.455,15098,5.455,15342,9.217,15689,5.89,15690,8.49,15691,5.89,15692,5.89,15693,5.89,15694,10.893,15695,5.89,15696,8.49,15697,8.49,15698,5.89,15699,8.49,15700,5.89,15701,5.89,15702,5.89,15703,5.89,15704,5.89,15705,5.89,15706,5.89,15707,8.49,15708,5.89,15709,5.89,15710,5.89,15711,5.89,15712,5.89,15713,5.168,15714,5.89,15715,5.89,15716,5.89,15717,5.89]],["title/interfaces/Loggable.html",[159,0.714,1422,2.845]],["body/interfaces/Loggable.html",[3,0.02,4,0.02,5,0.01,7,0.145,8,1.419,27,0.407,30,0.001,35,1.196,95,0.118,101,0.014,103,0.001,104,0.001,134,3.652,159,1.062,161,2.454,1422,5.039,1423,6.2,1426,6.102,1468,6.2,1469,6.524,15718,10.334,15719,10.334]],["title/injectables/Logger.html",[589,0.926,2445,2.892]],["body/injectables/Logger.html",[0,0.239,3,0.021,4,0.013,5,0.006,7,0.097,8,1.097,27,0.511,29,0.971,30,0.001,31,0.74,32,0.162,33,0.579,35,1.42,47,0.831,95,0.14,101,0.009,103,0,104,0,112,0.743,129,2.069,130,1.895,135,1.527,161,1.645,183,4.146,228,1.255,277,0.995,433,0.854,569,4.165,589,1.269,591,1.649,652,2.386,688,3.27,711,4.171,1042,6.298,1115,4.48,1212,4.463,1422,5.815,2445,5.107,3250,4.652,6229,3.882,9915,10.267,9925,6.078,9926,7.496,9927,5.624,9928,6.415,9929,6.078,9930,10.837,15139,8.812,15148,8.812,15159,6.415,15170,10.315,15720,6.927,15721,8.349,15722,9.516,15723,9.516,15724,9.516,15725,6.927,15726,9.516,15727,6.927,15728,9.516,15729,6.927,15730,6.927,15731,9.516,15732,6.927,15733,6.927,15734,6.927,15735,6.927,15736,6.927]],["title/interfaces/LoggerConfig.html",[159,0.714,7423,5.842]],["body/interfaces/LoggerConfig.html",[3,0.02,4,0.02,5,0.01,7,0.151,30,0.001,32,0.134,47,0.948,101,0.014,103,0.001,104,0.001,112,0.983,159,1.105,161,2.553,311,7.017,7423,10.588,12011,10.847,15737,10.749]],["title/modules/LoggerModule.html",[252,1.836,265,3.211]],["body/modules/LoggerModule.html",[0,0.268,3,0.015,4,0.015,5,0.007,30,0.001,95,0.155,101,0.01,103,0,104,0,148,0.77,153,1.277,161,1.85,195,2.253,197,2.166,252,3.049,254,2.805,255,2.971,256,3.046,257,3.035,258,3.024,259,4.196,260,4.295,265,6.545,269,4.028,270,2.992,271,2.929,276,3.046,277,1.119,403,5.21,634,7.105,651,3.94,686,5.593,688,3.676,997,4.895,1080,2.685,1212,5.017,2445,5.923,2446,6.576,3864,5.832,7423,6.549,9909,11.839,9926,9.087,15738,7.788,15739,7.788,15740,7.788,15741,7.788,15742,7.212,15743,7.788,15744,7.788,15745,7.788,15746,6.549,15747,7.788,15748,7.788,15749,7.788,15750,7.788,15751,7.788,15752,7.788,15753,7.788,15754,7.788,15755,7.788,15756,7.788,15757,7.788,15758,7.788,15759,7.788,15760,7.788,15761,7.788]],["title/classes/LoggingUtils.html",[0,0.239,9927,5.64]],["body/classes/LoggingUtils.html",[0,0.283,2,0.874,3,0.016,4,0.016,5,0.008,7,0.115,8,1.23,27,0.466,29,0.907,30,0.001,31,0.663,32,0.133,33,0.541,35,1.371,47,0.922,59,2.551,95,0.135,101,0.011,103,0.001,104,0.001,125,2.819,134,2.904,135,1.635,148,1.172,158,3.029,161,1.952,183,4.781,185,4.058,467,4.043,652,2.414,1115,4.533,1422,5.55,1426,3.688,9927,8.66,12588,8.97,15140,11.607,15172,7.61,15173,7.61,15762,8.218,15763,10.667,15764,10.667,15765,10.667,15766,10.667,15767,8.218,15768,11.843,15769,10.667,15770,8.218,15771,10.667,15772,8.218,15773,8.218,15774,8.218,15775,10.667]],["title/controllers/LoginController.html",[314,2.659,1487,6.094]],["body/controllers/LoginController.html",[0,0.168,3,0.009,4,0.009,5,0.004,7,0.068,8,0.85,27,0.35,29,0.682,30,0.001,31,0.499,32,0.173,33,0.407,35,1.03,36,2.375,95,0.143,100,1.699,101,0.006,103,0,104,0,135,1.464,146,3.32,148,0.881,157,3.129,159,0.501,180,5.513,190,1.598,193,4.878,202,1.119,228,0.882,274,2.035,277,0.699,290,3.054,314,1.864,316,2.349,317,2.664,325,5.792,333,7.538,337,6.898,338,7.166,339,3.293,340,8.319,341,8.243,342,7.328,343,9.806,349,3.755,358,8.062,379,5.056,390,5.856,391,7.703,392,2.545,393,2.404,400,1.45,401,4.978,402,4.401,403,4.504,571,3.521,657,2.037,694,9.01,1086,4.247,1087,4.115,1088,4.18,1089,4.448,1090,4.86,1368,2.745,1470,4.124,1485,7.486,1487,6.47,1490,4.509,1545,3.433,1724,9.185,1725,3.433,1899,3.178,2059,6.522,2060,6.393,2808,6.572,2823,7.012,3210,3.269,3211,2.679,3370,5.039,3982,3.269,4819,6.44,7800,7.328,8059,7.821,8956,8.407,9130,4.271,9131,4.094,9897,4.094,12333,5.656,13599,3.222,14900,8.35,15685,8.711,15776,4.869,15777,7.374,15778,7.374,15779,8.902,15780,4.869,15781,4.869,15782,10.396,15783,4.869,15784,8.832,15785,8.902,15786,4.869,15787,4.869,15788,4.869,15789,4.869,15790,4.869,15791,4.869,15792,8.35,15793,4.869,15794,4.869,15795,4.869,15796,6.201,15797,4.271,15798,4.869,15799,4.869,15800,4.869,15801,4.869,15802,8.243,15803,4.869,15804,4.869,15805,8.902,15806,7.374,15807,4.869,15808,4.869,15809,4.869,15810,4.869,15811,4.869,15812,4.869,15813,4.869,15814,4.869]],["title/classes/LoginDto.html",[0,0.239,1724,5.472]],["body/classes/LoginDto.html",[0,0.353,2,1.091,3,0.019,4,0.019,5,0.009,7,0.144,27,0.482,29,0.786,30,0.001,31,0.574,32,0.153,33,0.469,47,0.869,101,0.013,103,0.001,104,0.001,112,0.956,232,3.318,433,1.264,435,3.579,1605,8.927,1724,10.916,15815,10.255,15816,12.245,15817,8.623,15818,8.623]],["title/classes/LoginRequestBody.html",[0,0.239,15819,5.64]],["body/classes/LoginRequestBody.html",[0,0.307,2,0.67,3,0.012,4,0.012,5,0.006,7,0.088,27,0.498,30,0.001,32,0.158,33,0.631,47,0.797,55,2.073,95,0.118,101,0.008,103,0,104,0,112,0.695,122,1.858,145,3.338,157,2.378,164,8.408,165,5.112,169,9.958,170,8.136,187,5.824,190,2.27,194,5.137,195,1.948,196,4.344,197,3.918,199,4.939,200,1.929,202,1.447,231,1.543,290,2.106,296,2.699,300,3.954,337,3.869,342,4.111,402,2.254,403,4.505,436,3.511,567,4.268,711,1.866,890,6.17,998,2.972,1042,4.168,1080,4.359,1302,3.493,1379,4.523,1390,3.913,1470,5.776,1475,7.731,1888,7.014,2163,2.911,2344,7.476,2544,5.357,2802,3.563,4871,6.668,5027,4.533,5099,7.014,5270,4.83,6119,3.714,6216,10.484,6217,7.488,6218,7.488,6219,7.014,6222,4.229,6224,5.525,6225,7.812,6226,7.812,6227,8.245,6228,7.812,6229,3.633,6231,5.831,6232,8.245,6233,6.524,6234,10.398,6235,8.245,6237,8.844,6238,4.83,6239,5.525,6240,5.525,6241,5.525,6242,5.831,6243,6.829,6244,6.17,6245,4.716,6246,5.112,6247,4.83,6248,5.295,6249,5.112,6250,5.831,6251,5.295,6252,5.831,6253,5.831,6254,5.525,6255,5.295,6256,5.295,6257,5.831,6259,7.014,6260,5.831,15819,7.229,15820,10.329,15821,6.297,15822,6.297]],["title/classes/LoginResponse.html",[0,0.239,15784,4.989]],["body/classes/LoginResponse.html",[0,0.345,2,1.066,3,0.019,4,0.019,5,0.009,7,0.141,27,0.475,29,0.768,30,0.001,31,0.561,32,0.15,33,0.458,47,0.857,95,0.114,101,0.013,103,0.001,104,0.001,112,0.943,190,1.8,202,2.303,232,3.273,296,3.388,433,1.235,435,3.498,1605,8.84,15784,9.893,15817,8.43,15818,8.43,15823,10.024,15824,12.079]],["title/classes/LoginResponse-1.html",[0,0.199,756,2.285,15784,4.148]],["body/classes/LoginResponse-1.html",[0,0.288,2,0.613,3,0.011,4,0.011,5,0.005,7,0.081,27,0.521,29,0.442,30,0.001,31,0.323,32,0.165,33,0.617,34,2.039,47,0.966,70,5.829,72,3.825,77,6.334,95,0.123,101,0.008,103,0,104,0,110,2.89,112,0.653,122,1.744,125,3.002,157,2.835,164,6.258,171,5.612,174,5.698,180,5.097,187,7.539,190,2.344,193,5.481,194,3.269,195,2.151,196,2.765,197,2.999,200,1.766,202,1.324,290,2.824,296,3.494,299,3.257,300,4.714,358,6.785,417,4.673,433,0.71,868,4.717,1475,5.253,1495,7.062,2327,5.253,2344,6.555,2525,3.1,2739,8.27,2802,5.144,2832,5.384,3585,6.002,3709,4.064,4393,4.679,4531,7.062,6258,4.837,6265,8.268,6266,8.268,6267,8.268,6268,7.982,6271,8.626,6273,5.057,6279,8.268,6280,7.739,6288,8.268,6295,7.739,6296,7.739,6299,5.057,6300,5.337,6301,5.337,6302,5.337,6311,7.739,14211,6.41,14550,6.785,15784,8.846,15825,5.764,15826,9.105,15827,8.357,15828,5.764,15829,5.764,15830,5.764,15831,7.332,15832,5.764,15833,5.764,15834,8.357,15835,5.764,15836,5.764,15837,5.764,15838,8.357,15839,8.357,15840,8.357,15841,5.764,15842,5.764,15843,5.764]],["title/classes/LoginResponseMapper.html",[0,0.239,15797,6.094]],["body/classes/LoginResponseMapper.html",[0,0.304,2,0.938,3,0.017,4,0.017,5,0.008,7,0.124,8,1.286,27,0.439,29,0.855,30,0.001,31,0.625,32,0.139,33,0.51,35,1.291,47,0.869,59,2.736,95,0.127,100,3.076,101,0.012,103,0.001,104,0.001,135,1.455,148,1.104,153,1.83,467,3.948,829,5.198,871,4.71,1605,7.607,1724,11.077,1725,6.214,8057,10.819,15784,9.533,15796,11.161,15797,9.787,15844,12.24,15845,11.156,15846,11.156,15847,11.156,15848,7.155,15849,11.156,15850,8.162,15851,11.156]],["title/injectables/LoginUc.html",[589,0.926,1485,5.842]],["body/injectables/LoginUc.html",[0,0.302,3,0.017,4,0.017,5,0.008,7,0.123,8,1.281,27,0.437,29,0.851,30,0.001,31,0.622,32,0.138,33,0.508,35,1.013,36,2.35,95,0.154,100,3.056,101,0.011,103,0.001,104,0.001,135,1.592,148,0.866,153,1.436,159,0.9,228,1.587,277,1.258,317,2.644,325,6.375,400,2.608,433,1.079,589,1.481,591,2.084,657,2.003,675,4.458,1485,9.342,1526,9.844,1551,7.363,1605,5.97,1699,9.612,1722,7.363,1723,4.979,1724,10.662,5084,10.288,8044,6.557,15852,8.756,15853,11.11,15854,8.756,15855,8.756,15856,11.11,15857,8.756,15858,8.108,15859,8.756,15860,8.756,15861,8.756,15862,8.756]],["title/injectables/Lti11EncryptionService.html",[589,0.926,15863,6.094]],["body/injectables/Lti11EncryptionService.html",[0,0.295,3,0.016,4,0.016,5,0.008,7,0.12,8,1.264,27,0.337,29,0.656,30,0.001,31,0.48,32,0.107,33,0.392,35,0.992,47,1.008,95,0.138,101,0.011,103,0.001,104,0.001,110,4.403,135,1.576,148,0.848,153,1.406,277,1.231,339,2.514,589,1.461,591,2.039,641,4.873,711,3.58,1078,5.297,1470,7.12,1475,8.461,1598,7.51,1718,6.279,1723,7.241,1756,6.286,2124,5.809,2354,7.935,3211,4.715,7500,6.155,15863,9.614,15864,10.958,15865,8.569,15866,10.147,15867,10.958,15868,8.569,15869,7.206,15870,10.958,15871,7.935,15872,8.569,15873,8.029,15874,8.569,15875,8.569,15876,8.569,15877,8.569,15878,8.569,15879,8.569,15880,8.569,15881,8.569]],["title/classes/Lti11ToolConfig.html",[0,0.239,8251,5.09]],["body/classes/Lti11ToolConfig.html",[0,0.266,2,0.822,3,0.015,4,0.015,5,0.007,7,0.109,27,0.54,29,0.592,30,0.001,31,0.433,32,0.175,33,0.525,47,0.974,95,0.117,101,0.01,103,0,104,0,112,0.8,231,1.776,232,2.776,233,2.412,433,0.952,435,2.697,436,3.036,614,2.38,1598,6.778,2035,3.793,2124,6.092,2332,6.426,2669,6.144,2671,4.425,2672,6.498,2673,9.535,2675,6.78,2676,5.776,2677,6.78,2678,6.78,2680,5.55,8094,7.606,8100,7.502,8102,7.502,8104,7.502,8119,5.662,8120,6.274,8121,6.087,8122,6.498,8125,5.927,8126,6.274,8129,5.927,8130,6.274,8133,5.927,8134,6.274,8248,8.421,8251,9.33,8274,5.355,8279,8.255,15882,13.557,15883,9.487,15884,7.156,15885,7.156,15886,7.156,15887,7.156,15888,7.156,15889,6.78,15890,6.78]],["title/classes/Lti11ToolConfigCreateParams.html",[0,0.239,10238,5.842]],["body/classes/Lti11ToolConfigCreateParams.html",[0,0.343,2,0.786,3,0.014,4,0.014,5,0.007,7,0.104,27,0.528,30,0.001,32,0.173,33,0.454,47,0.975,95,0.137,101,0.01,103,0,104,0,112,0.776,190,2.41,200,2.263,201,3.86,202,1.697,231,1.723,296,3.507,299,4.889,300,3.805,436,2.946,614,2.275,899,3.364,1598,6.626,2035,3.625,2087,5.711,2124,5.956,2332,6.283,2669,5.982,2671,4.328,2676,6.335,2693,9.19,2694,7.786,2695,5.997,2696,5.997,2697,5.997,2698,5.997,2699,5.997,6778,5.412,8094,7.436,8100,7.334,8102,7.334,8104,7.334,8248,8.233,8279,8.07,10237,5.997,10238,8.359,10245,6.48,15891,12.224,15892,6.84,15893,7.386,15894,6.84,15895,6.84,15896,6.84,15897,7.386,15898,7.386,15899,6.84,15900,9.205,15901,6.84,15902,6.84]],["title/classes/Lti11ToolConfigEntity.html",[0,0.239,10289,5.64]],["body/classes/Lti11ToolConfigEntity.html",[0,0.255,2,0.789,3,0.014,4,0.014,5,0.007,7,0.104,27,0.52,29,0.568,30,0.001,31,0.415,32,0.165,33,0.514,47,0.953,95,0.137,96,1.955,101,0.01,103,0,104,0,112,0.778,190,2.322,195,2.181,196,2.453,211,4.112,223,4.17,224,2.153,231,1.285,232,2.701,433,0.914,435,2.587,457,4.112,614,2.284,886,3.952,1598,6.639,2035,3.639,2108,3.236,2124,5.967,2669,6.087,2671,4.388,2676,4.18,2683,6.234,2685,5.074,2686,8.09,2687,6.504,2688,4.18,8094,7.45,8100,7.348,8102,7.348,8104,7.348,8119,5.432,8120,6.019,8121,5.84,8122,6.234,8125,5.686,8126,6.019,8129,5.686,8130,6.019,8133,5.686,8134,6.019,8161,6.504,8248,8.248,8274,6.906,8279,8.085,10289,10.196,15889,6.504,15890,6.504,15903,13.432,15904,9.965,15905,7.414,15906,7.414,15907,7.414,15908,7.414,15909,7.414]],["title/classes/Lti11ToolConfigResponse.html",[0,0.239,10848,5.842]],["body/classes/Lti11ToolConfigResponse.html",[0,0.255,2,0.786,3,0.014,4,0.014,5,0.007,7,0.104,27,0.528,29,0.566,30,0.001,31,0.414,32,0.173,33,0.514,47,0.953,95,0.128,101,0.01,103,0,104,0,112,0.776,190,2.37,201,4.363,202,1.697,231,1.723,232,2.694,233,2.305,296,3.671,433,0.91,435,2.578,436,2.946,614,2.275,2035,3.625,2108,3.224,2124,5.956,2332,6.283,2669,5.982,2671,4.328,2676,6.335,2680,5.305,2689,5.208,2702,5.997,2703,10.183,2705,6.48,2706,6.48,2707,5.997,8094,7.436,8100,7.334,8102,7.334,8104,7.334,8119,5.412,8120,5.997,8125,5.665,8126,5.997,8129,5.665,8130,5.997,8133,5.665,8134,5.997,8248,8.233,8274,5.119,8279,8.07,10848,10.547,15889,6.48,15890,6.48,15910,13.201,15911,9.205,15912,6.84,15913,6.84,15914,6.84,15915,6.48]],["title/classes/Lti11ToolConfigUpdateParams.html",[0,0.239,10770,5.842]],["body/classes/Lti11ToolConfigUpdateParams.html",[0,0.341,2,0.781,3,0.014,4,0.014,5,0.007,7,0.103,27,0.527,30,0.001,32,0.173,33,0.548,47,0.974,95,0.137,101,0.01,103,0,104,0,112,0.773,190,2.407,200,2.251,201,4.351,202,1.688,231,1.717,296,3.444,299,4.879,300,4.289,436,2.935,614,2.263,899,3.345,1598,6.608,2035,3.606,2087,5.703,2124,5.939,2332,6.265,2669,5.974,2671,4.323,2676,6.317,2693,9.173,2694,6.863,2695,5.964,2696,5.964,2697,5.964,2698,5.964,2699,5.964,6778,7.257,8094,7.415,8100,7.314,8102,7.314,8104,7.314,8248,8.21,8279,8.047,10770,8.328,11067,6.177,11069,6.445,11071,6.445,15891,12.207,15892,6.802,15894,6.802,15896,6.802,15900,9.171,15901,6.802,15902,6.802,15916,7.346,15917,7.346,15918,7.346,15919,6.802]],["title/classes/LtiRoleMapper.html",[0,0.239,15920,6.433]],["body/classes/LtiRoleMapper.html",[0,0.31,2,0.957,3,0.017,4,0.017,5,0.008,7,0.126,8,1.303,27,0.354,29,0.689,30,0.001,31,0.504,32,0.112,33,0.411,35,1.041,95,0.129,101,0.012,103,0.001,104,0.001,125,2.94,127,4.493,135,1.611,148,0.889,467,3.597,595,3.394,711,2.664,1756,6.481,2035,4.413,5009,7.406,11368,6.038,11369,6.038,13809,6.131,13829,6.896,15920,10.462,15921,11.297,15922,8.991,15923,11.297,15924,11.297,15925,8.991,15926,14.214,15927,8.326,15928,8.991,15929,11.297,15930,8.991,15931,11.297,15932,8.991,15933,8.991,15934,8.991,15935,8.991,15936,11.297,15937,8.991]],["title/entities/LtiTool.html",[205,1.416,8098,5.202]],["body/entities/LtiTool.html",[0,0.143,3,0.008,4,0.008,5,0.004,7,0.058,26,1.341,27,0.528,30,0.001,31,0.555,32,0.168,33,0.619,47,0.971,49,3.037,95,0.104,96,1.717,97,1.691,99,0.848,101,0.013,103,0,104,0,110,2.782,112,0.509,122,2.503,125,2.17,129,3.582,130,1.134,148,0.41,153,0.68,159,0.426,190,2.407,195,3.026,196,4.46,197,3.832,205,1.328,206,1.348,211,7.34,219,3.642,223,4.186,224,1.204,225,2.502,226,1.878,228,0.751,229,1.64,231,0.718,232,1.123,233,1.294,376,4.772,540,1.456,702,2.046,711,1.93,874,4.7,886,3.118,1454,2.547,1582,6.549,1598,4.745,1835,2.124,2124,4.833,2183,1.633,2463,2.706,2911,3.011,3388,4.123,4617,1.86,5296,3.365,7182,2.246,7477,3.636,7499,3.365,7512,3.365,8083,7.058,8084,3.838,8085,5.714,8086,7.402,8087,6.031,8088,6.031,8089,3.838,8090,3.838,8091,6.031,8092,3.838,8093,3.838,8094,6.559,8095,6.031,8096,6.031,8097,3.838,8098,4.877,8099,6.337,8100,5.252,8101,6.337,8102,5.252,8103,5.477,8104,5.252,8105,6.337,8106,6.337,8107,6.025,8108,6.031,8109,7.45,8110,3.265,8111,3.838,8112,5.778,8113,6.337,8114,5.183,8115,4.84,8116,6.025,8117,4.891,8118,2.605,8119,3.037,8120,3.365,8121,3.265,8122,3.485,8123,3.485,8124,3.838,8125,3.179,8126,3.365,8127,3.485,8128,3.838,8129,3.179,8130,3.365,8131,3.265,8132,3.365,8133,3.179,8134,3.365,8135,3.485,8136,3.838,8137,3.485,8138,3.838,8139,3.485,8140,3.838,8141,3.838,8142,3.838,8143,3.838,8144,3.485,8145,3.838,8146,3.485,8147,3.838,8148,3.179,8149,3.365,8150,2.922,8151,3.104,8152,3.485,8153,3.838,8154,3.104,8155,3.365,15938,4.145,15939,4.145,15940,4.145,15941,4.145,15942,4.145,15943,4.145,15944,4.145,15945,4.145,15946,4.145,15947,4.145,15948,4.145,15949,4.145,15950,4.145,15951,4.145,15952,4.145,15953,4.145,15954,4.145,15955,4.145,15956,4.145,15957,4.145,15958,4.145,15959,4.145,15960,4.145]],["title/classes/LtiToolDO.html",[0,0.239,8164,4.898]],["body/classes/LtiToolDO.html",[0,0.289,2,0.617,3,0.011,4,0.011,5,0.005,7,0.081,26,2.03,27,0.557,29,0.444,30,0.001,31,0.606,32,0.176,33,0.649,34,1.433,47,1.017,95,0.113,99,1.186,101,0.011,103,0,104,0,110,3.411,112,0.655,122,2.728,130,2.698,231,1.455,433,0.714,436,1.718,1598,5.818,1770,2.346,1852,6.377,2124,6.083,2183,2.285,3388,5.055,4737,5.086,6637,4.248,7182,3.141,8086,8.008,8094,6.529,8099,7.77,8100,6.439,8101,7.77,8102,6.439,8104,6.439,8105,7.77,8106,7.77,8107,7.387,8110,7.77,8112,7.085,8113,7.77,8114,6.355,8115,5.934,8116,7.387,8117,5.996,8119,6.149,8121,4.566,8123,4.875,8125,4.446,8127,4.875,8129,4.446,8131,4.566,8133,4.446,8135,4.875,8137,4.875,8139,4.875,8144,4.875,8146,4.875,8148,4.446,8150,4.087,8152,4.875,8154,4.341,8156,8.295,8157,5.368,8158,5.368,8161,5.086,8162,4.446,8163,4.341,8164,8.09,8165,6.61,8166,4.566,8167,5.368,8168,5.368,8169,5.368,8170,5.368,8171,5.368,8172,5.368,8173,5.368,8174,5.086,8175,5.368,8176,5.368,8177,5.368,8178,5.368,8179,5.368,8180,5.368,8181,5.368,8182,5.368,8183,5.368,8184,5.368,8185,5.368,8186,5.368,15961,8.392,15962,5.797,15963,5.797,15964,5.797,15965,5.797,15966,5.797,15967,5.797,15968,5.797,15969,5.797,15970,5.797,15971,5.797,15972,5.797,15973,5.797,15974,5.797,15975,5.797,15976,5.797,15977,5.797,15978,5.797,15979,5.797,15980,5.797]],["title/classes/LtiToolFactory.html",[0,0.239,15981,6.433]],["body/classes/LtiToolFactory.html",[0,0.16,2,0.493,3,0.009,4,0.009,5,0.004,7,0.065,8,0.819,27,0.519,29,1.019,30,0.001,31,0.739,32,0.168,33,0.584,34,1.475,35,1.403,47,0.839,55,2.301,59,3.24,95,0.11,101,0.006,103,0,104,0,110,2.455,112,0.555,113,4.389,127,4.836,129,3.531,130,3.316,135,1.126,148,0.854,153,0.76,157,1.988,172,3.019,185,2.433,192,2.549,195,1.554,197,2.401,205,2.127,206,2.309,228,1.287,231,1.231,326,4.853,374,3.072,433,0.571,436,3.831,467,2.068,478,1.301,501,7.206,502,5.368,505,3.938,506,5.368,507,5.34,508,3.938,509,3.938,510,3.938,511,3.877,512,4.396,513,4.789,514,6.407,515,5.698,516,6.992,517,2.591,522,2.57,523,3.938,524,2.591,525,5.06,526,5.205,527,4.097,528,4.897,529,3.907,530,2.57,531,2.422,532,4.085,533,2.474,534,2.422,535,2.57,536,2.591,537,4.714,538,2.57,539,7.17,540,4.152,541,6.558,542,2.591,543,4.189,544,2.57,545,2.591,546,2.57,547,2.591,548,2.57,549,2.879,550,2.706,551,2.57,552,6.012,553,2.591,554,2.57,555,3.938,556,3.592,557,3.938,558,2.591,559,2.492,560,2.456,561,2.079,562,2.57,563,2.57,564,2.57,565,2.591,566,2.591,567,1.761,568,2.57,569,1.438,570,2.591,571,2.809,572,2.57,573,2.591,575,2.658,577,4.229,1598,4.188,2124,3.764,3388,2.374,4643,3.896,6310,2.329,8085,4.064,8086,3.761,8094,3.066,8098,5.317,8099,5.593,8100,4.635,8101,5.593,8102,4.635,8104,3.024,8105,3.649,8106,3.649,8107,3.469,8110,5.593,8112,6.201,8113,5.593,8114,2.985,8115,2.787,8116,5.317,8117,2.816,8156,3.896,10309,6.575,10314,6.575,13519,3.553,15981,7.995,15982,4.633,15983,7.101,15984,4.633,15985,7.101,15986,4.633,15987,4.633,15988,4.633,15989,4.633,15990,4.633,15991,4.633]],["title/modules/LtiToolModule.html",[252,1.836,15992,6.094]],["body/modules/LtiToolModule.html",[0,0.318,3,0.017,4,0.017,5,0.008,30,0.001,95,0.149,101,0.012,103,0.001,104,0.001,252,3.302,254,3.32,255,3.516,256,3.606,257,3.593,258,3.58,259,4.544,260,4.652,269,4.489,270,3.541,271,3.467,277,1.324,279,3.853,610,3.633,1027,2.825,2446,6.405,5022,10.048,6023,7.484,15992,12.588,15993,9.218,15994,9.218,15995,9.218,15996,12.122,15997,8.537,15998,9.218]],["title/injectables/LtiToolRepo.html",[589,0.926,5022,5.09]],["body/injectables/LtiToolRepo.html",[0,0.164,3,0.009,4,0.009,5,0.004,7,0.067,8,0.834,10,2.895,12,3.263,18,3.66,26,2.288,27,0.511,29,0.984,30,0.001,31,0.753,32,0.16,33,0.587,34,1.497,35,1.486,36,2.716,40,2.291,47,0.867,95,0.12,96,1.252,101,0.006,103,0,104,0,110,2.502,112,0.371,113,4.431,122,1.829,135,1.376,142,2.631,145,1.78,148,1.144,153,1.187,185,2.479,205,2.266,206,1.544,224,1.379,231,1.254,277,0.682,317,2.98,347,2.433,436,3.618,478,1.333,569,1.474,579,1.359,589,0.965,591,1.13,652,1.998,657,2.006,729,4.933,735,3.295,736,5.209,766,2.554,1598,4.267,1770,3.968,2124,3.835,2139,2.724,2436,8.898,2438,5.196,2439,5.101,2440,5.101,2441,5.196,2442,5.101,2449,3.41,2451,3.41,2453,4.723,2454,4.933,2455,3.41,2458,5.196,2460,3.29,2461,7.839,2462,5.101,2465,3.41,2467,2.856,2468,2.95,2469,3.237,2471,3.41,2516,6.564,3388,3.707,4721,2.886,4722,3.74,4751,3.348,5022,5.301,6819,3.479,6820,3.479,6821,3.479,6822,3.479,6823,3.479,6824,3.479,6837,6.347,8094,3.142,8098,8.657,8099,5.699,8100,4.723,8101,5.699,8102,4.723,8103,3.993,8104,4.723,8105,5.699,8106,5.699,8107,8.325,8110,5.699,8112,7.985,8113,5.699,8114,4.661,8115,4.353,8116,5.418,8117,4.398,8164,8.608,10632,5.874,10638,6.084,10644,3.641,10703,3.993,10707,4.397,10708,4.397,10727,4.165,10728,4.397,10732,4.397,10733,4.397,12149,4.397,13519,3.641,15999,4.748,16000,6.7,16001,7.235,16002,7.235,16003,4.748,16004,4.748,16005,7.235,16006,4.748,16007,4.748,16008,4.748,16009,4.748,16010,4.748,16011,3.993,16012,4.748,16013,4.748,16014,4.748,16015,4.748,16016,4.748,16017,4.748,16018,4.748,16019,4.748,16020,4.748,16021,4.748,16022,4.397,16023,4.748,16024,4.748,16025,4.748,16026,4.748,16027,4.748,16028,4.748,16029,4.748,16030,4.748,16031,4.748,16032,4.748,16033,4.748,16034,4.748,16035,4.748,16036,4.748,16037,4.748,16038,4.748,16039,4.748,16040,4.748,16041,4.748,16042,4.748,16043,4.748,16044,4.748,16045,4.748,16046,4.748,16047,4.748]],["title/injectables/LtiToolService.html",[589,0.926,15996,5.842]],["body/injectables/LtiToolService.html",[0,0.312,3,0.017,4,0.017,5,0.008,7,0.127,8,1.308,27,0.446,29,0.869,30,0.001,31,0.635,32,0.141,33,0.519,35,1.048,36,2.622,47,0.88,95,0.141,101,0.012,103,0.001,104,0.001,122,2.586,135,1.181,148,0.895,228,1.64,277,1.3,279,3.784,317,2.685,400,2.696,433,1.116,589,1.513,591,2.154,711,3.672,5022,10.002,6029,7.349,6310,4.551,8098,8.496,8107,9.728,8164,6.382,13519,6.943,15996,9.54,15997,11.475,16000,10.506,16048,12.391,16049,9.052,16050,9.052,16051,11.345,16052,9.052,16053,9.052]],["title/classes/LumiUserWithContentData.html",[0,0.239,13070,6.094]],["body/classes/LumiUserWithContentData.html",[0,0.245,2,0.757,3,0.013,4,0.013,5,0.007,7,0.1,26,2.777,27,0.542,29,0.545,30,0.001,31,0.663,32,0.175,33,0.325,34,1.882,47,0.907,95,0.126,99,1.455,101,0.013,103,0,104,0,112,0.757,122,2.666,159,0.731,205,1.45,290,1.682,433,0.876,458,2.845,578,3.718,702,5.441,1195,6.853,1237,2.857,1619,5.953,2108,3.104,2163,3.288,2183,2.803,3885,3.357,4541,4.129,4618,4.194,6558,4.044,6604,8.068,6607,3.357,11193,4.849,13003,8.147,13066,10.381,13067,12.853,13068,6.586,13069,10.371,13070,8.5,13071,10.204,13072,10.204,13073,9.267,13074,9.267,13075,9.267,13076,9.267,13077,6.586,13078,6.586,13079,6.586,13080,6.586,13081,6.586,13082,6.586,13083,6.586,13084,6.586,13085,6.586,13086,6.586,13087,6.586,13088,5.325,13089,6.586,13090,6.586,16054,9.688,16055,7.112,16056,7.112,16057,7.112,16058,7.112,16059,7.112,16060,7.112,16061,7.112,16062,7.112,16063,7.112]],["title/interfaces/Mail.html",[159,0.714,1454,4.269]],["body/interfaces/Mail.html",[3,0.016,4,0.016,5,0.008,7,0.116,30,0.001,31,0.463,32,0.166,33,0.629,47,1.042,77,5.327,101,0.011,103,0.001,104,0.001,112,0.836,159,1.395,161,1.964,231,2.178,1240,4.877,1439,8.02,1440,6.342,1441,8.895,1442,8.214,1443,6.342,1444,4.586,1445,8.02,1446,6.059,1447,6.059,1448,8.895,1449,6.342,1450,9.408,1451,8.214,1452,8.214,1453,9.408,1454,8.193,1455,9.408,1456,9.408,1457,9.636,1458,9.636]],["title/interfaces/MailAttachment.html",[159,0.714,1441,5.202]],["body/interfaces/MailAttachment.html",[3,0.017,4,0.017,5,0.008,7,0.124,30,0.001,31,0.721,32,0.152,47,1.041,77,5.678,101,0.012,103,0.001,104,0.001,112,0.871,159,1.416,161,2.093,231,2.23,1240,5.198,1439,8.354,1440,6.76,1441,9.634,1442,8.556,1443,9.867,1444,7.136,1445,8.354,1446,6.458,1447,6.458,1448,9.166,1449,6.76,1450,8.354,1451,8.556,1452,8.556,1453,8.354,1454,6.855,1455,6.6,1456,6.6,1457,6.76,1458,6.76]],["title/interfaces/MailConfig.html",[159,0.714,16064,5.328]],["body/interfaces/MailConfig.html",[3,0.02,4,0.02,5,0.01,7,0.151,30,0.001,32,0.134,47,0.948,101,0.014,103,0.001,104,0.001,112,0.983,159,1.105,161,2.553,311,7.017,16064,9.657,16065,10.749,16066,12.752]],["title/interfaces/MailContent.html",[159,0.714,1448,5.202]],["body/interfaces/MailContent.html",[3,0.017,4,0.017,5,0.008,7,0.124,30,0.001,31,0.495,32,0.139,33,0.511,47,1.032,77,8.296,101,0.012,103,0.001,104,0.001,112,0.872,159,1.416,161,2.098,231,2.232,1240,5.209,1439,9.642,1440,6.775,1441,9.175,1442,8.568,1443,6.775,1444,4.899,1445,9.642,1446,6.472,1447,6.472,1448,9.642,1449,9.875,1450,8.366,1451,8.568,1452,8.568,1453,8.366,1454,6.865,1455,6.614,1456,6.614,1457,6.775,1458,6.775]],["title/modules/MailModule.html",[252,1.836,16067,5.64]],["body/modules/MailModule.html",[0,0.316,3,0.017,4,0.017,5,0.008,8,1.058,27,0.361,29,0.703,30,0.001,31,0.514,32,0.114,33,0.419,35,1.062,47,0.812,95,0.149,101,0.012,103,0.001,104,0.001,148,0.908,159,0.943,252,3.295,254,3.305,259,3.338,260,3.416,277,1.318,467,3.332,540,3.222,634,6.623,651,4.643,685,5.361,1016,7.933,1045,7.469,1048,6.359,1267,6.591,1272,7.193,1273,8.05,1274,7.469,1275,8.05,2087,3.97,16064,7.038,16067,10.123,16068,8.497,16069,11.452,16070,9.176,16071,7.717,16072,10.123,16073,8.497,16074,8.497]],["title/interfaces/MailModuleOptions.html",[159,0.714,16069,6.094]],["body/interfaces/MailModuleOptions.html",[0,0.316,3,0.017,4,0.017,5,0.008,7,0.129,30,0.001,32,0.143,47,0.972,95,0.149,101,0.012,103,0.001,104,0.001,112,0.894,148,0.908,159,0.943,161,2.179,252,3.295,259,3.338,260,3.416,277,1.318,467,2.672,634,6.623,651,4.643,685,5.361,1016,7.28,1045,5.99,1267,6.591,1272,8.444,1273,8.05,1274,8.769,1275,8.05,2087,3.97,16064,7.038,16067,9.29,16068,8.497,16069,10.939,16071,7.717,16072,10.123,16073,8.497,16074,8.497]],["title/injectables/MailService.html",[589,0.926,16072,5.64]],["body/injectables/MailService.html",[0,0.227,3,0.012,4,0.012,5,0.006,7,0.093,8,1.06,27,0.474,29,0.877,30,0.001,31,0.641,32,0.15,33,0.523,35,1.225,36,1.944,47,0.992,95,0.137,101,0.009,103,0,104,0,112,0.718,125,2.969,135,1.381,142,2.396,145,3.445,148,1.133,159,0.677,195,1.441,228,2.261,277,0.946,317,2.293,339,2.696,433,1.133,540,3.717,589,1.225,591,1.568,634,7.411,651,3.332,652,2.793,657,1.507,688,3.109,711,3.136,1272,4.14,1274,4.3,1296,7.728,1297,5.347,1298,9.343,1310,4.644,1311,4.3,1339,5.778,1342,5.778,1454,7.667,1647,7.461,2087,2.849,16064,5.052,16071,5.539,16072,7.461,16075,6.099,16076,9.801,16077,9.189,16078,9.189,16079,10.047,16080,9.189,16081,8.51,16082,6.586,16083,11.155,16084,8.51,16085,6.586,16086,6.586,16087,6.099,16088,6.099,16089,6.099,16090,6.099,16091,6.099,16092,6.099,16093,6.099,16094,6.099,16095,6.099,16096,6.099,16097,6.099,16098,6.099,16099,6.099,16100,6.099,16101,6.099,16102,8.51,16103,8.51,16104,6.099,16105,6.099,16106,6.099,16107,6.099]],["title/interfaces/MailServiceOptions.html",[159,0.714,16079,6.094]],["body/interfaces/MailServiceOptions.html",[0,0.262,3,0.014,4,0.014,5,0.007,7,0.107,30,0.001,32,0.126,36,1.607,47,1.001,95,0.144,101,0.01,103,0,104,0,112,0.791,125,2.712,135,1.486,142,2.763,145,3.797,148,1.202,159,0.781,161,1.804,195,1.662,228,2.203,277,1.091,317,1.646,339,2.228,433,0.936,540,2.667,589,1.35,634,6.596,651,3.843,652,2.655,657,1.738,688,3.586,711,2.251,1272,7.641,1274,7.935,1298,8.533,1310,5.356,1311,4.959,1339,6.664,1342,6.664,1454,7.002,1647,6.167,2087,3.286,16064,5.826,16071,6.388,16072,6.167,16075,7.034,16076,7.034,16079,9.997,16081,7.034,16083,11.256,16084,7.034,16087,7.034,16088,7.034,16089,7.034,16090,7.034,16091,7.034,16092,7.034,16093,7.034,16094,7.034,16095,7.034,16096,7.034,16097,7.034,16098,7.034,16099,7.034,16100,7.034,16101,7.034,16102,9.379,16103,9.379,16104,7.034,16105,7.034,16106,7.034,16107,7.034]],["title/modules/ManagementModule.html",[252,1.836,16108,5.64]],["body/modules/ManagementModule.html",[0,0.248,3,0.014,4,0.014,5,0.007,30,0.001,95,0.163,101,0.009,103,0,104,0,122,1.503,135,1.551,252,2.931,254,2.594,255,2.747,256,2.817,257,2.807,258,2.796,259,4.522,260,2.681,265,4.517,269,3.822,270,2.766,271,2.709,274,4.636,276,4.338,277,1.034,647,5.276,649,4.527,651,3.643,1021,4.639,1025,4.639,1026,4.527,1027,2.206,1039,5.672,1716,6.317,2218,3.217,2219,3.62,2220,3.494,2856,4.581,3382,3.296,3751,8.572,3756,8.37,3757,10.782,3764,4.766,3766,4.425,3768,6.668,3769,7.696,4159,10.782,4212,4.207,4841,4.474,5154,10.41,5155,5.077,5159,5.077,5161,6.668,5164,6.668,5173,10.1,8766,8.217,8779,6.055,8794,9.73,8823,8.572,9832,7.317,12091,8.572,14379,6.055,14455,6.317,14461,8.572,16108,11.429,16109,7.201,16110,7.201,16111,7.201,16112,7.201,16113,7.201,16114,9.771,16115,7.201,16116,7.201,16117,7.201,16118,11.09,16119,7.201]],["title/modules/ManagementServerModule.html",[252,1.836,16120,6.094]],["body/modules/ManagementServerModule.html",[0,0.355,3,0.015,4,0.015,5,0.007,30,0.001,32,0.097,47,0.554,87,3.923,95,0.155,96,2.718,101,0.015,103,0,104,0,135,1.018,148,0.772,153,1.28,206,2.538,224,2.266,252,3.468,254,2.81,255,2.976,256,3.052,257,3.041,258,3.03,259,2.838,260,2.905,269,4.033,270,2.997,271,2.935,276,4.806,277,1.121,290,1.845,347,3.998,467,2.272,478,2.191,540,2.74,571,3.087,623,5.094,736,5.091,809,5.094,1014,5.407,1015,5.32,1016,6.56,1017,7.145,1022,7.145,1023,7.27,1024,7.145,1026,4.905,1028,7.145,1029,5.24,1036,8.824,1040,5.407,1041,5.32,1043,7.145,1045,5.094,1086,3.723,1087,3.607,1088,3.664,1089,3.899,1166,5.164,1167,4.795,1829,3.317,2163,3.607,2832,5.027,2923,4.136,5155,5.501,5301,5.843,12317,7.555,12318,7.555,12319,7.721,12330,5.717,12331,5.717,12472,6.845,12473,5.843,12474,6.845,16108,11.03,16120,11.512,16121,7.803,16122,7.803,16123,7.226,16124,7.226,16125,6.845,16126,6.845,16127,6.845]],["title/modules/ManagementServerTestModule.html",[252,1.836,16127,6.094]],["body/modules/ManagementServerTestModule.html",[0,0.344,3,0.014,4,0.014,5,0.007,8,0.857,27,0.292,29,0.569,30,0.001,31,0.416,32,0.124,33,0.339,35,0.86,47,0.527,59,2.306,87,3.734,95,0.153,96,2.631,101,0.015,103,0,104,0,135,0.969,148,0.735,153,1.218,206,2.416,224,2.157,252,3.419,254,2.675,255,2.833,256,2.906,257,2.895,258,2.884,259,2.701,260,2.765,269,3.903,270,2.853,271,2.794,276,4.712,277,1.067,290,1.757,347,3.806,467,2.905,478,2.085,540,3.504,571,2.938,623,4.849,736,4.926,809,4.849,1014,5.147,1015,5.064,1016,7.168,1017,6.914,1022,6.914,1023,7.035,1024,6.914,1026,4.669,1028,8.347,1029,8.438,1036,8.651,1040,5.147,1041,5.064,1043,6.914,1045,6.513,1048,5.147,1086,3.544,1087,3.434,1088,3.487,1089,3.711,1166,4.916,1167,4.564,1829,3.158,2163,3.434,2832,4.785,2923,3.937,5155,5.237,5301,5.562,12317,7.311,12318,7.311,12319,7.472,12330,5.442,12331,5.442,12472,6.516,12473,5.562,12474,6.516,16108,10.91,16120,6.516,16123,9.239,16124,6.878,16125,6.516,16126,6.516,16127,11.789,16128,7.427,16129,7.427,16130,7.427]],["title/entities/Material.html",[205,1.416,6150,4.476]],["body/entities/Material.html",[0,0.226,3,0.012,4,0.012,5,0.006,7,0.092,27,0.528,30,0.001,32,0.167,33,0.523,47,1.032,95,0.105,96,1.731,101,0.015,103,0,104,0,110,3.955,112,0.716,155,3.628,157,2.633,159,1.086,190,2.411,205,1.869,206,2.135,223,4.439,224,1.907,225,3.522,226,2.975,231,1.138,232,1.779,233,2.049,289,3.8,1821,3.185,2802,4.576,3025,3.15,3884,4.23,6150,5.907,6155,4.345,6164,7.679,6519,7.465,6569,4.629,7182,3.557,7513,4.345,7514,3.91,8118,4.127,16131,5.521,16132,9.285,16133,9.285,16134,9.008,16135,9.285,16136,6.565,16137,6.565,16138,6.565,16139,6.565,16140,9.285,16141,6.565,16142,6.565,16143,6.565,16144,9.285,16145,6.565,16146,6.565,16147,6.565,16148,5.521,16149,4.81,16150,5.521,16151,5.521,16152,7.222,16153,5.33,16154,5.521,16155,5.521,16156,5.521,16157,5.521,16158,5.521,16159,5.521,16160,5.521,16161,5.521,16162,5.521,16163,5.521,16164,5.521,16165,5.521]],["title/classes/MaterialFactory.html",[0,0.239,16166,6.433]],["body/classes/MaterialFactory.html",[0,0.176,2,0.544,3,0.01,4,0.01,5,0.005,7,0.072,8,0.883,27,0.519,29,1.021,30,0.001,31,0.711,32,0.169,33,0.58,34,1.567,35,1.443,47,0.543,55,2.38,59,3.384,95,0.087,101,0.007,103,0,104,0,110,2.647,112,0.598,113,4.56,127,5.088,129,3.641,130,3.335,135,0.667,148,0.506,155,1.623,157,2.509,172,3.255,185,2.623,192,2.816,205,2.222,206,2.49,228,1.387,231,1.327,326,4.825,374,3.312,433,0.631,436,3.91,467,2.229,501,7.331,502,5.647,505,4.246,506,5.647,507,5.491,508,4.246,509,4.246,510,4.246,511,4.18,512,4.67,513,5.088,514,6.607,515,5.952,516,7.12,517,2.861,522,2.838,523,4.246,524,2.861,525,5.323,526,5.476,527,4.31,528,5.151,529,4.213,530,2.838,531,2.675,532,4.245,533,2.732,534,2.675,535,2.838,536,2.861,537,5.008,538,2.838,539,7.041,540,4.282,541,6.763,542,2.861,543,4.451,544,2.838,545,2.861,546,2.838,547,2.861,548,2.838,549,3.18,550,2.989,551,2.838,552,6.246,553,2.861,554,2.838,555,4.246,556,3.873,557,4.246,558,2.861,559,2.752,560,2.713,561,2.297,562,2.838,563,2.838,564,2.838,565,2.861,566,2.861,567,1.945,568,2.838,569,1.589,570,2.861,571,3.028,572,2.838,573,2.861,576,3.018,981,5.576,2802,3.063,6150,7.023,6164,3.436,6519,3.34,16132,4.154,16133,4.154,16134,4.031,16135,4.154,16152,4.031,16166,8.494,16167,5.117,16168,4.739,16169,5.117]],["title/interfaces/MaterialProperties.html",[159,0.714,16152,5.472]],["body/interfaces/MaterialProperties.html",[0,0.24,3,0.013,4,0.013,5,0.006,7,0.098,30,0.001,32,0.169,33,0.536,47,1.045,95,0.109,96,1.833,101,0.015,103,0,104,0,110,4.247,112,0.745,155,3.896,157,2.827,159,1.119,161,1.651,205,1.944,223,4.258,224,2.019,225,3.664,226,3.15,231,1.205,232,1.884,233,2.17,289,4.024,1821,3.373,2802,4.914,3025,3.335,3884,4.479,6150,4.479,6155,4.601,6164,8.247,6519,8.017,6569,4.901,7182,3.767,7513,4.601,7514,4.14,8118,4.37,16131,5.846,16132,9.971,16133,9.971,16134,9.674,16135,9.971,16140,9.971,16144,9.971,16148,5.846,16149,5.094,16150,5.846,16151,5.846,16152,8.578,16153,5.644,16154,5.846,16155,5.846,16156,5.846,16157,5.846,16158,5.846,16159,5.846,16160,5.846,16161,5.846,16162,5.846,16163,5.846,16164,5.846,16165,5.846]],["title/injectables/MaterialsRepo.html",[589,0.926,16170,6.433]],["body/injectables/MaterialsRepo.html",[0,0.285,3,0.016,4,0.016,5,0.008,7,0.116,8,1.235,10,4.285,12,4.83,18,5.418,26,2.204,27,0.512,29,0.963,30,0.001,31,0.704,32,0.157,33,0.574,34,1.412,35,1.454,36,2.513,40,3.99,49,4.042,95,0.136,101,0.011,103,0.001,104,0.001,148,0.818,205,1.686,206,3.483,231,1.856,277,1.188,317,2.889,436,3.723,532,5.239,589,1.428,591,1.968,728,7.855,734,4.495,735,4.877,736,5.865,759,4.925,760,5.027,761,4.975,762,5.027,763,5.73,764,4.975,765,5.027,766,4.447,3950,5.83,6150,6.9,16168,7.657,16170,9.917,16171,8.269,16172,8.269]],["title/interfaces/Meta.html",[159,0.714,13014,4.737]],["body/interfaces/Meta.html",[3,0.017,4,0.017,5,0.008,7,0.123,30,0.001,32,0.165,34,1.492,47,1.024,55,2.657,101,0.018,103,0.001,104,0.001,112,0.866,122,1.823,159,1.413,161,2.075,339,2.563,402,4.59,532,3.242,1076,5.559,1081,8.744,1115,4.909,3370,3.921,4949,5.957,7452,5.057,13009,6.542,13010,6.701,13011,6.542,13012,6.542,13013,6.701,13014,8.744,13015,9.836,13016,9.836,13017,6.542,13018,6.701,13019,6.402,13020,6.542,13021,6.701,13022,6.542]],["title/modules/MetaTagExtractorApiModule.html",[252,1.836,16173,5.842]],["body/modules/MetaTagExtractorApiModule.html",[0,0.307,3,0.017,4,0.017,5,0.008,30,0.001,95,0.155,101,0.012,103,0.001,104,0.001,106,5.984,107,8.031,252,3.251,254,3.21,255,3.399,256,3.486,257,3.473,258,3.461,259,4.475,260,3.318,265,6.286,269,4.395,270,3.423,271,3.352,273,5.602,274,4.696,276,4.395,277,1.28,314,3.411,1027,2.73,1856,6.445,1935,7.544,2653,4.12,3005,4.207,13014,6.076,14334,7.235,16173,11.936,16174,8.911,16175,8.911,16176,8.911,16177,11.039,16178,11.434,16179,8.252,16180,10.793,16181,8.911]],["title/controllers/MetaTagExtractorController.html",[314,2.659,16180,6.094]],["body/controllers/MetaTagExtractorController.html",[0,0.264,3,0.015,4,0.015,5,0.007,7,0.108,8,1.175,27,0.302,29,0.588,30,0.001,31,0.429,32,0.166,33,0.35,35,0.888,36,2.156,95,0.149,100,2.676,101,0.01,103,0,104,0,106,6.845,107,8.699,135,1.493,141,4.371,148,1.133,153,1.258,190,1.377,202,1.762,228,1.39,274,3.206,277,1.101,314,2.935,316,3.7,317,2.48,325,6.06,349,6.212,379,5.19,390,6.011,391,7.497,392,4.009,395,4.124,398,4.155,400,2.284,401,4.288,402,4.097,657,1.755,871,3.732,1312,4.786,1983,6.845,2369,4.288,3005,3.62,3181,5.508,3183,7.633,3204,9.018,3209,3.955,3211,6.3,3538,5.955,6256,8.571,9946,7.817,12549,10.704,13014,7.807,13694,8.571,14334,9.295,16134,6.04,16178,9.628,16180,8.942,16182,10.193,16183,7.669,16184,11.449,16185,7.669,16186,7.669,16187,7.669,16188,7.669,16189,7.101,16190,7.669,16191,10.044,16192,7.669,16193,7.669,16194,7.669,16195,7.669,16196,7.669,16197,7.669]],["title/modules/MetaTagExtractorModule.html",[252,1.836,16177,5.64]],["body/modules/MetaTagExtractorModule.html",[0,0.23,3,0.013,4,0.013,5,0.006,30,0.001,95,0.161,101,0.009,103,0,104,0,106,4.482,107,7.519,252,2.817,254,2.404,255,2.546,256,2.611,257,2.601,258,2.592,259,3.877,260,3.968,265,5.792,269,3.628,270,2.564,271,2.51,276,3.628,277,0.959,290,1.578,610,2.63,613,3.899,651,3.377,1021,4.3,1025,4.3,1026,4.195,1027,2.045,1054,3.763,1484,8.413,1907,8.833,1931,9.382,1936,3.134,2050,2.813,2928,3.054,3764,4.417,3840,9.609,3843,7.785,3857,6.054,3859,4.357,4125,10.536,4139,5.119,7939,10.536,8974,8.833,12463,6.18,13014,4.551,15133,9.382,15576,10.536,16177,11.876,16179,6.18,16198,6.674,16199,6.674,16200,6.674,16201,6.674,16202,11.549,16203,10.536,16204,10.536,16205,6.674,16206,6.674,16207,6.674,16208,6.674,16209,6.18,16210,6.674,16211,6.674]],["title/classes/MetaTagExtractorResponse.html",[0,0.239,16191,6.094]],["body/classes/MetaTagExtractorResponse.html",[0,0.33,2,0.745,3,0.013,4,0.013,5,0.006,7,0.098,27,0.522,29,0.536,30,0.001,31,0.392,32,0.174,33,0.628,47,0.965,95,0.134,101,0.009,103,0,104,0,106,9.029,107,9.313,110,4.257,112,0.749,134,2.474,155,3.906,157,2.834,190,2.337,200,2.145,202,1.608,296,3.463,298,3.028,299,4.581,433,1.181,821,3.564,2108,3.055,3020,7.706,3023,7.304,3025,3.359,3538,7.192,6607,5.812,6616,4.454,7182,3.793,7204,9.191,7514,4.169,15654,5.683,16191,10.801,16212,13.445,16213,7,16214,12.312,16215,7,16216,7,16217,7,16218,7,16219,12.312,16220,7,16221,7,16222,7,16223,7,16224,7,16225,8.875,16226,7]],["title/injectables/MetaTagExtractorService.html",[589,0.926,16202,5.842]],["body/injectables/MetaTagExtractorService.html",[0,0.177,3,0.01,4,0.01,5,0.005,7,0.072,8,0.885,27,0.467,29,0.91,30,0.001,31,0.665,32,0.161,33,0.543,35,1.326,36,2.424,47,0.954,55,1.541,95,0.131,101,0.007,103,0,104,0,106,8.197,107,8.894,110,4.517,117,6.048,125,2.97,126,6.048,129,1.534,130,1.405,131,6.045,132,4.757,134,1.815,135,1.657,145,2.878,148,1.207,152,4.506,153,1.259,154,4.32,155,3.464,156,4.757,157,2.348,158,2.83,228,0.931,277,0.738,290,1.215,317,2.704,329,3.123,337,4.718,339,1.507,400,1.53,414,2.599,433,0.633,579,1.47,589,1.024,591,1.223,613,3.001,614,1.582,628,3.059,629,4.042,652,2.74,657,2.103,1080,2.647,1169,2.973,1328,4.07,2964,3.56,4127,5.156,4130,6.048,4141,4.17,10522,3.764,13014,3.502,16202,6.456,16203,8.578,16209,4.757,16227,11.304,16228,5.137,16229,7.678,16230,7.678,16231,7.678,16232,7.11,16233,5.137,16234,5.137,16235,7.678,16236,5.137,16237,5.137,16238,7.678,16239,11.456,16240,10.201,16241,5.137,16242,7.678,16243,7.678,16244,5.137,16245,7.678,16246,5.137,16247,7.11,16248,5.137,16249,7.678,16250,7.731,16251,8.066,16252,7.11,16253,5.137,16254,5.137,16255,5.137,16256,5.137,16257,5.137,16258,5.137,16259,5.137,16260,5.137,16261,5.137,16262,5.137,16263,5.137,16264,7.678,16265,5.137,16266,5.137,16267,5.137,16268,5.137,16269,5.137,16270,5.137,16271,5.137,16272,5.137,16273,7.678,16274,5.137,16275,7.678,16276,7.678,16277,7.678,16278,5.137]],["title/injectables/MetaTagExtractorUc.html",[589,0.926,16178,5.842]],["body/injectables/MetaTagExtractorUc.html",[0,0.289,3,0.016,4,0.016,5,0.008,7,0.118,8,1.247,26,2.6,27,0.425,29,0.828,30,0.001,31,0.605,32,0.135,33,0.494,35,0.971,36,2.287,39,2.322,47,0.849,95,0.149,99,1.717,101,0.011,103,0.001,104,0.001,106,8.032,107,8.738,110,4.136,131,4.272,134,2.965,135,1.094,141,4.636,148,0.83,153,1.376,228,1.959,277,1.205,317,2.591,433,1.332,579,2.401,589,1.441,591,1.997,610,3.306,629,4.416,652,2.204,657,2.473,1080,2.892,1328,4.448,1862,7.147,1961,5.047,1983,7.259,2640,6.148,2653,3.879,4127,7.259,16178,9.091,16202,11.451,16279,11.961,16280,8.39,16281,8.39,16282,10.81,16283,8.39,16284,8.39]],["title/injectables/MetaTagInternalUrlService.html",[589,0.926,16203,5.842]],["body/injectables/MetaTagInternalUrlService.html",[0,0.219,3,0.012,4,0.012,5,0.006,7,0.089,8,1.035,27,0.468,29,0.864,30,0.001,31,0.632,32,0.158,33,0.516,35,1.203,36,2.387,47,0.947,95,0.136,101,0.008,103,0,104,0,106,8.288,107,8.892,110,4.114,112,0.701,129,1.901,130,1.742,131,3.242,134,2.25,135,1.552,141,3.848,148,1.177,152,5.586,153,1.044,154,5.354,155,2.847,157,1.466,158,2.347,228,2.045,277,0.915,317,2.674,433,1.106,589,1.196,591,1.515,613,7.409,652,2.72,657,1.457,1882,4.304,2218,2.844,2219,3.201,2220,3.089,2228,5.586,2775,4.883,4125,10.665,4137,7.97,4138,5.169,4139,8.654,4212,3.72,7939,10.665,15576,10.665,16203,7.546,16204,10.379,16227,11.429,16232,8.31,16247,8.31,16285,6.367,16286,10.392,16287,8.974,16288,8.974,16289,6.367,16290,8.974,16291,8.974,16292,6.367,16293,8.974,16294,6.367,16295,6.367,16296,6.367,16297,6.367,16298,6.367,16299,6.367,16300,6.367,16301,6.367,16302,6.367,16303,6.367,16304,5.896,16305,5.354,16306,6.367,16307,8.974,16308,6.367,16309,6.367,16310,6.367,16311,6.367,16312,6.367]],["title/classes/MetadataTypeMapper.html",[0,0.239,16313,6.433]],["body/classes/MetadataTypeMapper.html",[0,0.325,2,1.004,3,0.018,4,0.018,5,0.009,7,0.133,8,1.342,27,0.371,29,0.723,30,0.001,31,0.528,32,0.145,33,0.431,35,1.092,95,0.144,99,1.931,101,0.012,103,0.001,104,0.001,134,3.334,135,1.519,148,0.933,153,1.91,277,1.355,467,3.676,579,2.7,2769,6.356,3507,7.407,7493,10.25,7563,7.66,7582,8.356,12302,7.66,16313,10.78,16314,11.641,16315,8.278,16316,11.641,16317,11.641,16318,9.135,16319,8.278,16320,6.336,16321,6.245,16322,8.737]],["title/classes/MigrationAlreadyActivatedException.html",[0,0.239,14899,5.64]],["body/classes/MigrationAlreadyActivatedException.html",[0,0.42,2,0.816,3,0.015,4,0.015,5,0.007,7,0.108,8,1.175,27,0.401,29,0.588,30,0.001,31,0.429,32,0.096,33,0.35,35,0.888,47,0.902,52,5.792,55,1.539,59,2.381,95,0.116,101,0.016,103,0,104,0,148,1.133,208,4.821,231,2.202,277,1.101,290,2.708,433,0.945,640,6.263,703,3.555,983,4.941,1027,2.35,1115,4.383,1237,3.597,1422,5.202,1423,5.995,1426,5.861,1468,5.995,1469,6.309,1472,5.7,2922,5.9,4923,5.24,9974,10.602,10047,5.619,13599,5.075,14887,6.226,14888,9.628,14889,6.449,14890,10.312,14891,10.26,14893,10.26,14895,6.449,14896,6.226,14897,6.226,14898,8.571,14899,8.275,16323,7.669,16324,7.669]],["title/injectables/MigrationCheckService.html",[589,0.926,16325,5.842]],["body/injectables/MigrationCheckService.html",[0,0.228,3,0.013,4,0.013,5,0.006,7,0.093,8,1.062,26,2.361,27,0.451,29,0.879,30,0.001,31,0.642,32,0.143,33,0.524,35,1.227,36,1.949,47,0.887,48,5.629,95,0.142,99,1.352,101,0.009,103,0,104,0,122,2.393,125,1.573,135,1.383,142,4.543,148,1.235,180,5.149,195,1.446,197,2.948,228,1.921,277,0.949,279,2.762,290,2.508,317,2.297,433,1.135,589,1.228,591,1.573,652,2.707,657,2.426,703,2.86,711,3.142,1853,2.161,2065,7.591,2067,7.347,2069,3.936,2070,5.432,3853,3.479,4923,5.52,4935,8.316,4937,8.056,5401,7.514,8056,6.535,10024,6.28,10033,6.921,11297,5.205,16325,7.745,16326,12.06,16327,6.608,16328,9.21,16329,9.21,16330,9.818,16331,10.094,16332,6.608,16333,9.21,16334,6.608,16335,9.21,16336,6.608,16337,6.608,16338,6.608,16339,6.119,16340,6.119,16341,6.608,16342,6.608,16343,5.797,16344,6.608,16345,8.529,16346,5.797,16347,5.365]],["title/classes/MigrationDto.html",[0,0.239,16348,6.094]],["body/classes/MigrationDto.html",[0,0.348,2,1.074,3,0.019,4,0.019,5,0.009,7,0.142,27,0.478,29,0.774,30,0.001,31,0.566,32,0.151,33,0.462,47,0.861,101,0.013,103,0.001,104,0.001,112,0.948,180,5.554,433,1.245,2257,9.342,2273,8.861,4923,5.953,16348,12.109,16349,10.1,16350,12.134,16351,12.134,16352,10.1,16353,10.1]],["title/classes/MigrationMayBeCompleted.html",[0,0.239,16354,6.433]],["body/classes/MigrationMayBeCompleted.html",[0,0.318,2,0.983,3,0.018,4,0.018,5,0.009,7,0.13,8,1.325,27,0.452,29,0.708,30,0.001,31,0.517,32,0.115,33,0.422,35,1.069,52,4.675,59,2.869,95,0.105,101,0.012,103,0.001,104,0.001,122,2.61,148,0.914,228,1.674,339,2.711,400,2.752,433,1.139,640,5.677,703,2.869,1027,2.831,1115,3.537,1237,3.388,1422,5.123,1423,5.904,1426,5.873,1468,5.904,1469,6.212,3547,5.677,4923,5.724,15177,9.165,15196,7.086,16354,10.641,16355,11.582,16356,8.556,16357,8.556,16358,8.556,16359,8.556,16360,8.556,16361,7.501]],["title/classes/MigrationMayNotBeCompleted.html",[0,0.239,16362,6.433]],["body/classes/MigrationMayNotBeCompleted.html",[0,0.319,2,0.985,3,0.018,4,0.018,5,0.009,7,0.13,8,1.327,27,0.453,29,0.71,30,0.001,31,0.519,32,0.115,33,0.423,35,1.072,52,4.685,59,2.875,95,0.106,101,0.012,103,0.001,104,0.001,122,2.613,148,0.916,228,1.678,339,2.717,400,2.758,433,1.141,703,2.875,1027,2.838,1115,3.545,1237,3.393,1422,5.128,1423,5.91,1426,5.878,1468,5.91,1469,6.219,4923,5.73,15177,9.174,15196,7.103,16355,11.594,16356,8.576,16357,8.576,16358,8.576,16359,8.576,16360,8.576,16361,7.519,16362,10.657,16363,7.519]],["title/interfaces/MigrationOptions.html",[159,0.714,4855,5.64]],["body/interfaces/MigrationOptions.html",[0,0.16,3,0.009,4,0.009,5,0.004,7,0.065,10,1.858,30,0.001,32,0.108,33,0.504,36,2.427,47,0.688,52,3.599,53,3.402,55,2.302,70,5.611,72,3.255,78,8.914,95,0.111,101,0.006,103,0,104,0,112,0.556,122,1.804,125,1.693,129,3.119,135,1.363,145,2.666,148,0.855,153,1.167,157,2.899,159,0.889,161,1.103,171,3.118,194,4.087,197,3.291,228,1.567,230,4.708,259,1.689,290,1.098,317,2.682,365,4.308,388,3.708,413,2.823,433,0.572,467,1.352,540,4.028,579,1.329,612,3.118,618,5.57,644,2.823,648,2.919,652,1.975,657,2.776,745,6.21,756,2.814,758,5.992,892,3.561,981,2.823,985,4.117,1027,1.423,1080,1.601,1372,2.444,1619,5.313,1626,3.945,1751,5.603,1899,3.031,1927,4.195,1938,2.497,2218,2.074,2234,3.658,2445,1.933,2446,3.322,2525,2.497,2830,6.81,2836,3.77,2907,7.499,3077,5.644,3370,5.311,3756,4.643,3764,3.073,3765,8.778,3766,6.419,3767,2.713,4839,5.775,4840,2.713,4841,2.885,4842,3.905,4843,3.905,4844,3.658,4845,5.982,4846,6.474,4847,3.658,4848,3.658,4849,5.982,4850,3.905,4851,3.905,4852,8.481,4853,3.905,4854,3.905,4855,7.019,4856,8.012,4857,3.905,4858,2.992,4859,3.561,4860,3.658,4861,3.905,4862,3.905,4863,7.655,4864,3.905,4865,8.785,4866,3.402,4867,3.905,4868,8.012,4869,3.905,4870,2.992,4871,3.477,4872,5.895,4873,3.335,4874,4.777,4875,3.477,4876,3.905,4877,3.905,4878,3.905,4879,5.015,4880,8.149,4881,3.905,4882,3.905,4883,3.477,4884,3.905,4885,8.149,4886,3.905,4887,3.905,4888,3.905,4889,8.149,4890,8.149,4891,3.658,4892,6.096,4893,3.905,4894,3.905,4895,3.905,4896,3.402,4897,3.77,4898,5.212,4899,3.658,4900,3.905,4901,3.905,4902,3.905,4903,3.905,4904,3.905,4905,5.212,4906,3.073,4907,3.658,4908,3.166,4909,3.561,4910,3.905,4911,3.905,4912,3.905,4913,3.905,4914,3.905,4915,3.905,4916,3.905,4917,3.905,4918,3.905,4919,3.905,4920,3.658,4921,3.77]],["title/classes/MissingSchoolNumberException.html",[0,0.239,14897,5.64]],["body/classes/MissingSchoolNumberException.html",[0,0.42,2,0.816,3,0.015,4,0.015,5,0.007,7,0.108,8,1.175,27,0.401,29,0.588,30,0.001,31,0.429,32,0.096,33,0.35,35,0.888,47,0.902,52,5.792,55,1.539,59,2.381,95,0.116,101,0.016,103,0,104,0,148,1.133,208,4.821,231,2.202,277,1.101,290,2.708,433,0.945,640,6.263,703,3.555,983,4.941,1027,2.35,1115,4.383,1237,3.597,1422,5.202,1423,5.995,1426,5.861,1468,5.995,1469,6.309,1472,5.7,2922,5.9,4923,5.24,9974,10.602,10047,5.619,13599,5.075,14887,6.226,14888,9.628,14889,6.449,14890,10.312,14891,10.26,14893,10.26,14895,6.449,14896,6.226,14897,8.275,14898,8.571,14899,6.226,16364,7.669,16365,7.669]],["title/classes/MissingToolParameterValueLoggableException.html",[0,0.239,16366,6.433]],["body/classes/MissingToolParameterValueLoggableException.html",[0,0.225,2,0.694,3,0.012,4,0.012,5,0.006,7,0.092,8,1.052,27,0.513,29,0.874,30,0.001,31,0.365,32,0.169,33,0.481,35,1.056,47,0.906,55,1.309,95,0.137,101,0.009,103,0,104,0,112,0.713,130,1.784,135,0.851,148,0.645,155,3.618,183,2.488,190,2.155,228,2.479,231,1.582,233,2.036,277,0.937,339,1.913,393,3.22,402,2.334,417,6.711,433,1.125,436,3.686,614,2.811,652,1.86,868,5.471,871,2.388,983,4.202,998,4.97,1027,1.998,1078,2.86,1080,3.931,1115,4.365,1237,2.691,1354,8.322,1355,6.04,1356,6.873,1360,4.317,1361,3.742,1362,4.317,1363,4.317,1364,4.317,1365,4.317,1366,4.317,1367,4.008,1368,3.678,1374,4.202,1422,4.312,1423,4.97,1426,5.118,1462,3.589,1468,4.97,1469,5.229,1477,3.387,1478,3.534,1756,6.04,2005,6.502,2007,3.239,2108,2.847,2671,3.871,2738,7.444,2773,4.447,3550,3.647,3987,5.722,4202,5.002,6127,7.41,6640,4.1,10535,5.722,12408,6.04,16305,5.485,16366,8.452,16367,10.528,16368,10.528,16369,6.522,16370,6.522,16371,6.522,16372,6.522,16373,6.522,16374,9.127,16375,10.528,16376,6.522,16377,6.522,16378,6.522]],["title/modules/MongoMemoryDatabaseModule.html",[252,1.836,1029,4.665]],["body/modules/MongoMemoryDatabaseModule.html",[0,0.261,3,0.014,4,0.014,5,0.007,8,0.874,27,0.398,29,0.581,30,0.001,31,0.425,32,0.126,33,0.347,35,1.171,36,2.14,59,2.354,95,0.148,96,2.667,101,0.01,103,0,104,0,134,2.679,135,1.651,148,1.126,195,1.659,206,2.466,224,2.202,252,3.008,254,2.731,260,2.823,276,2.966,277,1.089,317,2.192,467,2.946,478,2.128,540,4.443,571,2.999,623,4.949,652,1.546,657,1.735,686,5.445,688,3.579,694,5.555,695,5.445,809,4.949,1014,8.417,1015,5.17,1016,7.727,1017,7.01,1028,8.417,1029,7.644,1041,6.897,1045,6.604,1048,5.254,1086,3.618,1087,3.505,1088,3.56,1089,3.789,1166,5.018,1167,4.659,1237,2.235,7800,4.949,7851,5.018,8776,7.758,12473,9.747,13275,6.652,16379,11.384,16380,11.384,16381,7.582,16382,7.582,16383,11.101,16384,7.582,16385,10.116,16386,7.582,16387,7.582,16388,7.582,16389,10.116,16390,7.582,16391,6.155,16392,7.582,16393,7.582,16394,7.582,16395,10.116,16396,7.582]],["title/classes/MongoPatterns.html",[0,0.239,14138,5.842]],["body/classes/MongoPatterns.html",[0,0.33,2,1.018,3,0.018,4,0.018,5,0.009,7,0.134,27,0.377,30,0.001,72,5.375,101,0.013,103,0.001,104,0.001,112,0.917,129,2.858,130,2.618,409,7.472,412,5.197,467,3.7,622,9.25,1198,7.065,1927,6.926,1938,6.316,6144,8.429,6671,8.794,12049,10.303,13035,9.007,14138,9.875,16397,9.57,16398,12.705,16399,11.743,16400,11.743,16401,9.57,16402,11.743,16403,9.875,16404,11.743,16405,11.743,16406,10.875]],["title/classes/MoveCardBodyParams.html",[0,0.239,4344,6.094]],["body/classes/MoveCardBodyParams.html",[0,0.402,2,1.006,3,0.018,4,0.018,5,0.009,7,0.133,27,0.459,30,0.001,32,0.145,47,0.828,55,2.34,95,0.133,101,0.012,103,0.001,104,0.001,112,0.91,190,2.093,194,4.561,195,2.887,196,4.364,197,3.669,200,2.898,202,2.173,296,3.302,855,4.719,3744,8.22,3745,6.554,3750,6.793,4344,10.228,4387,9.693,7951,8.758,16407,11.704,16408,12.639,16409,8.758,16410,9.457,16411,8.297,16412,9.457]],["title/classes/MoveColumnBodyParams.html",[0,0.239,5592,6.094]],["body/classes/MoveColumnBodyParams.html",[0,0.397,2,0.987,3,0.018,4,0.018,5,0.009,7,0.13,27,0.454,30,0.001,32,0.144,34,1.968,47,0.818,55,2.313,95,0.131,101,0.012,103,0.001,104,0.001,112,0.9,157,2.137,190,2.069,194,4.903,195,2.868,196,4.336,197,3.645,200,2.844,202,2.132,296,3.275,855,4.665,2050,4.858,2980,5.223,3744,8.125,3745,6.433,3750,6.667,4150,5.643,4387,9.613,5592,10.11,16407,11.606,16411,8.144,16413,9.282,16414,12.533,16415,9.282,16416,9.282]],["title/classes/MoveContentElementBody.html",[0,0.239,9774,6.094]],["body/classes/MoveContentElementBody.html",[0,0.4,2,0.999,3,0.018,4,0.018,5,0.009,7,0.132,27,0.457,30,0.001,32,0.145,47,0.824,55,2.33,95,0.132,101,0.012,103,0.001,104,0.001,112,0.907,190,2.084,194,4.541,195,2.88,196,4.354,197,3.66,200,2.877,202,2.157,296,3.292,855,4.698,2392,4.806,3744,8.184,3745,6.508,3750,6.745,4387,9.663,7956,7.897,9774,10.184,16409,8.696,16411,8.239,16417,12.599,16418,12.599,16419,9.391,16420,9.391]],["title/classes/MoveElementParams.html",[0,0.239,8348,5.842]],["body/classes/MoveElementParams.html",[0,0.429,2,0.972,3,0.017,4,0.017,5,0.008,7,0.128,27,0.449,30,0.001,32,0.142,55,2.498,72,4.181,95,0.13,100,3.188,101,0.015,103,0.001,104,0.001,112,0.891,157,2.103,190,2.049,200,2.799,201,4.431,202,2.099,296,3.505,300,4.368,1065,4.483,1170,5.742,2048,3.712,2468,5.676,3045,6.092,3744,9.189,3745,6.33,3750,8.937,4188,6.33,6277,7.681,6788,6.692,7956,7.681,8343,5.885,8348,9.595,8352,6.134,8468,7.416,9617,8.751,16421,11.522,16422,11.769,16423,9.134,16424,9.134]],["title/classes/MoveElementPositionParams.html",[0,0.239,16422,6.094]],["body/classes/MoveElementPositionParams.html",[0,0.417,2,0.914,3,0.016,4,0.016,5,0.008,7,0.121,27,0.476,30,0.001,32,0.151,33,0.502,55,2.703,72,5.022,95,0.125,100,3.83,101,0.014,103,0.001,104,0.001,112,0.857,157,2.526,190,2.171,200,2.631,201,4.261,202,1.973,296,3.441,300,4.2,1065,5.386,1170,7.602,2048,4.459,2468,6.818,3045,6.804,3741,10.161,3744,8.985,3745,5.951,3750,8.686,4188,7.604,6277,9.227,6788,6.504,7956,7.221,8343,7.07,8348,7.221,8352,8.12,8468,9.818,16421,11.801,16422,11.18,16425,8.587,16426,8.587,16427,8.587,16428,8.587]],["title/interfaces/NameMatch.html",[159,0.714,13622,5.64]],["body/interfaces/NameMatch.html",[2,1.004,3,0.018,4,0.018,5,0.009,7,0.133,30,0.001,31,0.738,32,0.145,33,0.532,47,0.992,95,0.108,101,0.017,103,0.001,104,0.001,112,0.909,122,1.969,159,1.197,161,2.241,301,6.079,331,4.175,415,6.62,700,6.091,701,6.091,886,2.969,1582,8.361,2009,7.705,4656,7.003,5361,6.777,7495,5.32,12371,6.652,12372,6.538,12389,5.798,13617,7.66,13618,8.737,13619,9.789,13620,9.17,13621,8.737,13622,9.451]],["title/entities/News.html",[205,1.416,7824,4.021]],["body/entities/News.html",[0,0.322,3,0.008,4,0.019,5,0.004,7,0.151,9,3.138,26,1.925,27,0.495,30,0.001,31,0.524,32,0.162,33,0.529,34,1.154,47,0.915,83,2.414,95,0.132,96,2.185,101,0.013,103,0,104,0,112,0.791,129,1.297,130,1.188,134,1.534,148,0.43,153,1.36,155,3.403,159,0.446,190,2.183,195,2.66,196,3.704,205,2.065,206,1.412,211,4.597,221,3.252,223,3.692,224,1.261,225,2.595,226,1.968,231,1.621,232,2.534,233,1.355,290,2.648,409,5.274,412,3.668,435,1.515,457,4.597,467,1.264,512,4.22,571,3.279,613,4.842,692,5.285,693,3.076,703,3.476,704,4.761,886,2.608,1086,3.955,1087,4.323,1088,3.892,1089,4.142,1090,4.526,1373,4.063,1821,4.537,1826,4.248,1842,3.775,1920,4.47,1938,2.335,2032,2.567,2392,4.091,2688,4.674,2892,3.252,2911,4.959,2925,2.586,2980,5.775,3025,2.083,3703,4.605,3705,4.352,3706,4.762,3708,3.119,3709,3.061,3710,3.252,3724,2.561,3860,2.961,3884,2.798,4541,2.357,4633,3.33,4634,3.009,4776,3.182,5254,3.061,5670,3.892,5758,4.949,6173,2.729,6421,7.423,6606,3.746,6609,5.449,7494,2.698,7495,2.448,7516,2.64,7720,2.961,7811,3.252,7812,3.525,7814,7.003,7815,6.105,7816,3.525,7817,4.15,7818,3.525,7819,8.449,7820,6.279,7821,6.207,7822,7.003,7823,6.965,7824,7.818,7825,5.483,7826,6.717,7827,5.483,7828,5.18,7829,5.18,7830,6.105,7831,5.483,7832,3.33,7833,3.33,7834,3.525,7835,3.252,7836,3.525,7837,2.612,7838,2.698,7839,3.33,7840,3.525,7841,3.525,7842,6.529,7843,3.525,7844,6.729,7845,3.525,7846,3.525,7847,5.18,7848,3.33,7849,5.844,7850,3.42,7851,4.47,7852,3.182,7853,3.33,7854,3.525,16429,4.342,16430,4.342,16431,4.342,16432,4.342,16433,4.342,16434,4.342,16435,4.342,16436,4.342,16437,4.342,16438,4.342,16439,4.342,16440,4.342]],["title/controllers/NewsController.html",[314,2.659,16441,6.094]],["body/controllers/NewsController.html",[0,0.179,3,0.01,4,0.01,5,0.005,7,0.073,8,0.891,10,4.385,27,0.431,29,0.84,30,0.001,31,0.614,32,0.137,33,0.501,34,1.32,35,1.269,36,2.694,95,0.136,100,4.156,101,0.007,103,0,104,0,112,0.604,135,1.661,148,1.084,153,0.85,190,1.968,202,1.191,205,1.576,228,0.939,274,2.167,277,0.744,290,2.895,298,2.242,314,1.984,316,2.501,317,2.916,325,6.734,326,4.369,329,4.699,349,6.986,365,4.109,379,4.706,388,3.315,389,3.384,392,2.71,395,2.788,398,2.809,400,1.544,657,2.508,693,3.52,703,3.181,734,4.301,871,2.83,883,7.225,1083,4.358,1783,6.296,2739,5.928,2907,4.434,3189,7.503,3206,6.344,3209,2.673,3211,5.086,3705,4.98,4030,6.594,4971,4.859,5198,4.75,6120,6.275,6229,4.472,7580,6.164,7824,7.943,7863,7.158,8015,8.319,8070,3.975,12392,8.319,13921,4.359,15317,7.281,15404,4.359,15410,4.359,16441,6.781,16442,5.183,16443,5.183,16444,5.183,16445,11.172,16446,7.729,16447,5.183,16448,4.8,16449,5.183,16450,7.158,16451,5.183,16452,7.729,16453,5.183,16454,7.729,16455,5.183,16456,8.617,16457,7.729,16458,5.183,16459,4.208,16460,4.547,16461,7.504,16462,4.8,16463,4.208,16464,4.208,16465,4.8,16466,5.183,16467,4.8,16468,4.8,16469,4.8,16470,8.989,16471,4.547,16472,4.8,16473,4.8,16474,4.8,16475,4.8,16476,5.183,16477,5.183,16478,5.183,16479,5.183,16480,5.183,16481,7.729,16482,5.183]],["title/classes/NewsCrudOperationLoggable.html",[0,0.239,16483,6.094]],["body/classes/NewsCrudOperationLoggable.html",[0,0.299,2,0.921,3,0.016,4,0.016,5,0.008,7,0.122,8,1.272,26,2.631,27,0.434,29,0.664,30,0.001,31,0.485,32,0.108,33,0.396,35,1.003,39,3.538,95,0.151,99,1.773,101,0.011,103,0.001,104,0.001,148,0.857,228,2.2,242,4.559,339,2.541,433,1.36,478,2.432,652,2.475,1027,2.654,1115,3.316,1237,3.253,1422,4.973,1423,5.731,1426,5.738,2526,10.379,7824,8.115,9140,8.461,9185,7.032,16459,7.032,16460,7.599,16483,9.68,16484,12.142,16485,8.661,16486,8.661,16487,11.838,16488,8.661,16489,8.661,16490,8.021,16491,8.021,16492,8.661]],["title/classes/NewsListResponse.html",[0,0.239,16463,5.64]],["body/classes/NewsListResponse.html",[0,0.271,2,0.565,3,0.01,4,0.022,5,0.005,7,0.075,27,0.436,29,0.407,30,0.001,31,0.525,32,0.164,33,0.506,34,1.98,47,0.875,55,2.713,56,5.473,59,2.442,70,5.903,83,2.729,95,0.132,99,1.086,101,0.01,103,0,104,0,112,0.614,125,1.263,135,1.223,155,3.288,157,3.133,185,1.818,190,1.861,201,4.025,202,1.219,205,2.649,231,1.363,290,2.452,296,3.504,298,2.296,304,3.884,339,3.247,360,3.044,374,2.296,430,3.839,431,4.002,433,0.969,436,3.072,458,2.123,460,3.226,462,3.226,613,3.1,703,3.599,862,7.456,863,6.38,864,4.512,866,2.636,868,4.497,869,2.605,870,2.897,871,1.943,872,3.741,873,5.005,874,4.595,875,3.512,876,2.755,877,3.741,878,3.741,880,3.376,881,2.897,886,2.475,1083,2.992,1675,3.192,1749,3.018,1826,5.312,1842,3.582,2032,2.017,2392,3.954,2582,3.336,2980,5.438,3025,2.546,3166,4.2,3167,4.2,3170,2.479,3206,3.072,3724,3.13,3777,3.974,4634,3.677,4705,7.882,4858,5.068,4971,3.336,5055,3.677,6421,6.868,6609,5.041,7515,3.336,7815,5.135,7820,6.294,7821,3.974,7822,7.019,7823,5.639,7824,7.521,7833,4.07,7839,4.07,7849,3.741,8011,6.732,8022,3.1,8023,4.462,8024,4.18,8029,3.888,9042,6.615,11579,3.974,16463,6.386,16464,10.005,16493,4.914,16494,5.306,16495,5.306,16496,6.386,16497,6.386,16498,7.609,16499,7.284,16500,7.284,16501,4.655,16502,7.284,16503,4.914,16504,4.914,16505,4.18,16506,4.308,16507,4.914,16508,4.655]],["title/classes/NewsMapper.html",[0,0.239,16459,5.64]],["body/classes/NewsMapper.html",[0,0.212,2,0.653,3,0.012,4,0.017,5,0.006,7,0.086,8,1.009,27,0.462,29,0.899,30,0.001,31,0.657,32,0.146,33,0.536,34,1.494,35,1.358,95,0.143,99,1.257,100,4.478,101,0.008,103,0,104,0,135,1.674,148,1.161,153,1.008,155,3.232,290,1.453,326,3.325,339,2.567,365,3.89,430,2.516,431,2.623,467,4.029,478,1.725,703,3.164,830,4.852,837,3.033,1027,1.882,1424,8.939,1826,3.148,2392,3.887,2980,5.032,6609,4.705,7815,6.652,7820,6.842,7822,4.6,7823,6.68,7824,7.665,8004,8.273,8011,7.975,8012,8.569,8013,9.015,8014,4.987,8015,9.015,8374,8.102,12392,9.015,16456,9.338,16459,7.103,16464,9.015,16509,6.143,16510,8.749,16511,8.749,16512,8.749,16513,8.749,16514,8.749,16515,6.143,16516,8.749,16517,6.143,16518,8.749,16519,6.143,16520,8.749,16521,6.143,16522,8.749,16523,6.143,16524,5.389,16525,10.19,16526,5.389,16527,5.389,16528,6.143,16529,6.143,16530,6.143,16531,8.749,16532,6.143,16533,6.143,16534,5.689,16535,6.143,16536,6.143,16537,8.102,16538,8.102,16539,6.143,16540,6.143,16541,5.689,16542,6.143,16543,6.143,16544,6.143,16545,8.749,16546,6.143,16547,6.143,16548,6.143,16549,6.143,16550,8.749,16551,8.749,16552,6.143,16553,6.143,16554,6.143]],["title/modules/NewsModule.html",[252,1.836,16555,5.842]],["body/modules/NewsModule.html",[0,0.297,3,0.016,4,0.016,5,0.008,30,0.001,95,0.156,101,0.011,103,0.001,104,0.001,252,3.199,254,3.1,255,3.283,256,3.366,257,3.354,258,3.342,259,4.403,260,4.507,265,6.229,269,4.298,270,3.306,271,3.237,274,4.593,276,4.298,277,1.236,279,3.597,1027,2.637,1856,7.73,2653,3.978,16441,10.62,16461,11.596,16462,7.969,16555,12.067,16556,8.606,16557,8.606,16558,8.606,16559,8.606,16560,10.94,16561,8.606,16562,10.62,16563,8.606,16564,8.606,16565,8.606]],["title/interfaces/NewsProperties.html",[159,0.714,7819,5.472]],["body/interfaces/NewsProperties.html",[0,0.336,3,0.009,4,0.021,5,0.004,7,0.156,9,3.335,26,2.556,30,0.001,31,0.402,32,0.162,33,0.543,34,0.802,47,0.953,83,2.839,95,0.135,96,2.296,101,0.014,103,0,104,0,112,0.82,134,1.66,148,0.465,153,1.428,155,3.512,159,0.483,161,1.116,195,2.423,196,3.663,205,2.141,223,3.576,224,1.365,225,2.757,226,2.129,231,1.69,232,2.642,233,1.466,290,2.879,409,5.541,412,3.854,435,1.64,457,4.83,467,1.368,512,4.434,571,3.445,613,5.695,692,5.606,693,2.139,703,3.687,704,5.347,886,2.258,1086,4.155,1087,4.507,1088,4.089,1089,4.352,1090,4.755,1373,4.317,1821,3.482,1826,2.407,1842,3.268,1920,3.109,1938,2.527,2032,2.728,2392,4.223,2688,4.91,2892,3.518,2911,4.026,2925,2.798,2980,5.876,3025,2.254,3703,3.203,3705,3.027,3706,3.312,3708,3.374,3709,3.312,3710,3.518,3724,2.771,3860,3.203,3884,3.027,4541,1.64,4633,3.603,4634,3.256,4776,3.442,5254,3.312,5670,4.089,5758,3.442,6173,2.953,6421,8.112,6606,2.606,6609,5.955,7494,2.919,7495,2.649,7516,2.856,7811,3.518,7812,3.814,7814,7.864,7815,5.685,7816,3.814,7817,4.41,7818,3.814,7819,9.072,7820,7.052,7821,7.3,7822,7.864,7823,6.66,7824,7.655,7825,3.814,7826,5.155,7827,3.814,7828,3.603,7829,3.603,7830,4.685,7831,3.814,7832,3.603,7833,3.603,7834,3.814,7835,3.518,7836,3.814,7837,2.826,7838,2.919,7839,3.603,7840,3.814,7841,3.814,7842,6.859,7843,3.814,7844,7.07,7845,3.814,7846,3.814,7847,5.504,7848,3.603,7849,6.14,7850,3.7,7851,4.75,7852,3.442,7853,3.603,7854,3.814]],["title/injectables/NewsRepo.html",[589,0.926,16560,5.64]],["body/injectables/NewsRepo.html",[0,0.16,3,0.009,4,0.009,5,0.004,7,0.065,8,0.822,10,2.851,12,3.214,18,3.605,26,2.499,27,0.488,29,0.907,30,0.001,31,0.663,32,0.151,33,0.541,34,1.479,35,1.371,36,2.666,40,2.246,49,2.69,59,2.688,95,0.135,96,1.227,98,2.8,99,0.952,101,0.006,103,0,104,0,112,0.557,129,1.39,130,1.273,134,1.645,135,1.644,148,1.034,153,1.169,157,1.071,205,0.949,206,2.317,224,1.352,231,1.235,277,0.669,317,2.924,365,3.168,374,3.746,388,4.484,436,2.875,478,1.307,532,4.675,540,4.593,589,0.95,591,1.108,595,1.757,640,5.961,652,1.765,653,3.575,657,2.777,703,3.425,728,6.645,734,2.991,735,3.245,736,4.275,759,2.772,760,2.829,761,2.8,762,2.829,763,3.225,764,2.8,765,2.829,766,2.503,771,3.343,788,3.174,896,5.425,1218,3.038,2231,4.052,2474,5.778,2907,4.088,2980,5.501,3705,6.251,3708,6.968,4166,5.785,4656,2.8,5089,3.125,5091,5.18,6119,2.745,6229,3.532,6421,5.221,6606,6.118,6609,3.833,7120,4.785,7580,4.287,7811,6.484,7824,7.704,7848,6.641,7853,6.641,7866,7.613,7876,5.336,9562,5.221,11226,8.794,11895,6.599,11909,6.599,12395,3.666,14068,8.511,16560,5.785,16566,4.654,16567,8.658,16568,7.126,16569,8.658,16570,7.126,16571,7.126,16572,9.32,16573,4.654,16574,4.654,16575,4.654,16576,7.126,16577,4.654,16578,9.702,16579,4.654,16580,4.654,16581,4.654,16582,7.596,16583,7.126,16584,4.654,16585,9.702,16586,7.126,16587,4.654,16588,4.654,16589,7.126,16590,4.654,16591,4.654,16592,7.126,16593,7.126,16594,4.654,16595,4.654,16596,4.654,16597,8.658,16598,4.654,16599,4.654,16600,4.654]],["title/classes/NewsResponse.html",[0,0.239,16464,5.64]],["body/classes/NewsResponse.html",[0,0.237,2,0.472,3,0.008,4,0.023,5,0.004,7,0.062,27,0.519,29,0.34,30,0.001,31,0.573,32,0.17,33,0.516,34,2.127,47,0.937,55,1.687,56,3.243,70,3.498,83,3.151,95,0.123,99,0.908,101,0.009,103,0,104,0,112,0.537,135,1.096,155,3.58,157,3.12,185,2.354,190,2.349,201,3.674,202,1.02,205,2.79,231,0.769,290,2.669,296,3.384,298,1.92,304,4.15,339,2.015,360,3.941,374,2.972,430,4.192,431,4.369,433,0.847,458,1.776,460,2.698,462,2.698,613,2.593,703,3.797,821,2.26,862,4.269,863,2.442,864,2.546,868,5.868,880,2.824,881,2.423,886,2.645,1083,3.873,1361,3.941,1675,2.67,1749,3.907,1826,5.784,1842,4.309,2032,2.611,2392,4.305,2582,4.318,2980,5.729,3025,2.129,3165,2.897,3166,5.052,3167,5.052,3169,2.643,3170,3.209,3206,3.976,3724,2.617,3777,5.144,4634,3.076,4705,7.068,4858,6.096,4971,4.318,5055,4.761,6421,7.499,6609,5.504,7125,4.11,7515,2.79,7815,5.486,7820,6.872,7821,3.323,7822,7.663,7823,6.157,7824,7.922,7833,3.404,7839,3.404,7849,3.129,8011,7.35,8022,4.013,8023,5.777,8024,5.411,8029,5.034,9042,7.956,11579,3.323,16463,3.603,16464,9.468,16493,4.11,16496,6.823,16497,6.823,16498,8.308,16499,7.783,16500,7.783,16501,3.894,16502,7.783,16503,4.11,16504,4.11,16505,3.496,16506,3.603,16507,4.11,16508,6.027,16601,4.438,16602,4.438,16603,4.438,16604,4.438,16605,4.438,16606,4.438,16607,4.438,16608,4.438,16609,4.438,16610,4.438,16611,4.438,16612,4.438,16613,4.438,16614,4.438,16615,4.438,16616,4.438]],["title/classes/NewsScope.html",[0,0.239,16582,6.094]],["body/classes/NewsScope.html",[0,0.219,2,0.676,3,0.012,4,0.012,5,0.006,7,0.089,8,1.034,26,2.321,27,0.518,29,0.864,30,0.001,31,0.631,32,0.158,33,0.515,35,1.428,83,2.61,95,0.141,96,1.676,99,1.301,101,0.008,103,0,104,0,112,0.7,122,2.167,125,1.513,129,1.898,130,1.739,135,1.354,141,2.726,145,2.383,148,1.176,153,1.47,224,1.846,231,1.554,365,5.013,436,3.523,478,1.785,569,1.974,652,2.515,756,2.515,1834,4.658,1923,7.572,2474,7.08,2980,2.881,3910,5.887,3912,5.161,4656,3.824,6229,5.442,6606,5.759,6609,3.419,6947,6.019,6948,6.019,6949,6.019,6954,6.019,6955,6.019,6956,4.335,6957,4.269,6958,4.335,6959,4.335,6968,4.269,6969,6.019,6970,4.335,6971,4.269,6972,4.335,6973,4.269,6974,7.572,7820,6.019,7823,3.824,7824,5.188,9452,5.007,11226,5.346,11231,5.887,11242,4.876,14163,7.277,14166,8.301,16572,9.154,16582,11.703,16617,11.009,16618,8.964,16619,11.275,16620,8.964,16621,11.275,16622,8.964,16623,6.357,16624,6.357,16625,8.964,16626,6.357,16627,6.357,16628,5.887,16629,6.357,16630,6.357,16631,6.357,16632,6.357,16633,6.357,16634,6.357,16635,6.357]],["title/interfaces/NewsTargetFilter.html",[159,0.714,16572,5.64]],["body/interfaces/NewsTargetFilter.html",[3,0.02,4,0.02,5,0.009,7,0.145,26,2.796,30,0.001,32,0.153,95,0.118,99,2.109,101,0.014,103,0.001,104,0.001,112,0.959,159,1.06,161,2.448,2980,4.671,7815,8.868,7823,8.172,11230,11.917,16572,9.972,16617,9.545,16636,10.307]],["title/injectables/NewsUc.html",[589,0.926,16461,5.64]],["body/injectables/NewsUc.html",[0,0.113,3,0.006,4,0.006,5,0.003,7,0.046,8,0.624,10,2.164,25,4.744,26,2.849,27,0.439,29,0.855,30,0.001,31,0.625,32,0.142,33,0.51,34,1.711,35,1.397,36,2.554,39,3.708,47,0.489,59,1.679,83,2.323,95,0.124,98,1.979,99,0.673,101,0.004,103,0,104,0,122,1.437,125,1.639,129,2.632,130,1.884,135,1.65,142,2.504,145,1.233,148,1.104,153,0.887,157,0.757,158,1.212,277,0.472,279,1.375,290,1.279,317,2.86,326,4.119,388,5.177,413,4.186,433,0.666,435,1.887,467,2.005,478,0.923,540,3.517,567,2.617,571,1.301,589,0.721,591,0.783,595,1.241,652,2.495,657,2.985,693,3.136,703,1.021,711,3.627,734,2.27,770,2.067,980,2.999,1027,1.008,1083,1.854,1086,1.569,1087,1.52,1088,1.544,1778,3.399,1826,6.09,1862,3.677,1863,6.707,1920,3.579,2124,1.744,2445,4.169,2526,2.67,2653,1.52,2980,3.994,3014,5.279,3206,3.13,3370,2.427,3564,2.093,4541,3.076,4952,3.962,6229,4.268,6609,1.769,7004,2.463,7580,1.979,7815,5.207,7820,7.025,7823,6.711,7824,7.875,7866,4.901,7938,2.523,8004,6.476,8011,7.193,8012,6.707,8013,8.131,8014,7.156,8029,2.41,10403,5.046,11200,5.007,11207,5.007,11226,8.422,11230,4.744,13916,4.744,14574,2.885,15619,5.791,16461,4.39,16471,4.744,16483,2.885,16487,3.046,16490,3.046,16501,2.885,16534,3.046,16537,7.386,16538,7.386,16541,5.007,16560,7.694,16572,4.39,16637,3.289,16638,6.886,16639,5.407,16640,5.407,16641,5.407,16642,6.886,16643,3.289,16644,3.289,16645,5.007,16646,3.289,16647,3.289,16648,3.289,16649,3.289,16650,5.407,16651,6.041,16652,5.407,16653,3.289,16654,5.407,16655,3.289,16656,9.477,16657,3.289,16658,5.407,16659,3.289,16660,5.007,16661,3.289,16662,5.59,16663,3.289,16664,5.407,16665,3.289,16666,3.289,16667,3.289,16668,5.407,16669,6.886,16670,3.289,16671,3.289,16672,7.976,16673,3.289,16674,5.407,16675,3.289,16676,5.407,16677,3.289,16678,3.289,16679,3.289,16680,3.289,16681,5.407,16682,3.289,16683,3.289,16684,3.289,16685,5.407,16686,6.886,16687,2.591,16688,3.289,16689,3.289,16690,3.289,16691,3.289,16692,3.289,16693,3.289,16694,3.289,16695,3.289,16696,3.289,16697,3.289,16698,5.407,16699,3.289,16700,3.289,16701,3.289,16702,5.407,16703,3.289,16704,3.289,16705,3.289,16706,3.289,16707,3.289]],["title/classes/NewsUrlParams.html",[0,0.239,16445,6.094]],["body/classes/NewsUrlParams.html",[0,0.415,2,1.061,3,0.019,4,0.019,5,0.009,7,0.14,27,0.393,30,0.001,32,0.124,34,2.057,47,0.855,95,0.137,101,0.013,103,0.001,104,0.001,112,0.941,157,2.296,190,1.791,194,4.711,195,2.635,196,3.984,197,3.349,200,3.056,202,2.291,296,3.147,855,4.875,4150,6.063,7824,6.971,16445,10.565,16708,9.974,16709,12.937,16710,9.974]],["title/injectables/NexboardService.html",[589,0.926,15473,6.094]],["body/injectables/NexboardService.html",[0,0.276,3,0.015,4,0.015,5,0.007,7,0.112,8,1.209,26,2.554,27,0.413,29,0.803,30,0.001,31,0.587,32,0.146,33,0.479,34,1.367,35,0.927,36,2.218,39,3.236,47,0.97,94,4.05,95,0.142,99,1.638,101,0.014,103,0.001,104,0.001,110,2.768,135,1.525,148,1.037,153,1.313,155,3.936,157,2.857,197,2.226,228,1.451,277,1.15,317,2.533,339,2.348,400,2.384,433,0.987,589,1.398,591,1.905,610,3.155,629,4.214,652,1.632,657,1.832,734,3.36,1027,2.453,1080,3.615,1328,4.244,2050,3.374,2445,4.868,2446,5.796,6159,7.531,9988,7.023,9989,9.684,9998,7.413,10000,7.413,11277,7.413,15473,9.199,16711,8.005,16712,11.694,16713,8.005,16714,8.005,16715,8.005,16716,8.005,16717,10.486,16718,8.005,16719,8.005,16720,8.005,16721,8.005]],["title/interfaces/NextcloudGroups.html",[159,0.714,13011,5.202]],["body/interfaces/NextcloudGroups.html",[3,0.018,4,0.018,5,0.009,7,0.131,30,0.001,32,0.116,34,1.589,47,0.999,55,2.518,101,0.018,103,0.001,104,0.001,112,0.901,122,1.941,159,1.432,161,2.21,339,2.729,402,3.33,532,3.452,1076,5.919,1081,6.344,1115,3.561,3370,4.176,4949,6.344,7452,7.593,13009,6.967,13010,7.136,13011,8.642,13012,6.967,13013,7.136,13014,8.555,13015,7.136,13016,7.136,13017,6.967,13018,7.136,13019,6.817,13020,6.967,13021,7.136,13022,6.967]],["title/injectables/NextcloudStrategy.html",[589,0.926,5024,6.094]],["body/injectables/NextcloudStrategy.html",[0,0.105,3,0.006,4,0.006,5,0.003,7,0.043,8,0.587,27,0.428,29,0.778,30,0.001,31,0.652,32,0.126,33,0.464,34,1.8,35,1.22,36,2.575,39,1.408,47,0.936,55,1.7,62,3.031,72,1.399,95,0.133,100,2.661,101,0.004,103,0,104,0,112,0.397,113,4.55,135,1.639,142,1.112,145,1.146,148,0.959,153,0.501,157,2.105,228,1.657,277,0.439,290,2.003,317,2.768,328,3.811,331,1.352,335,3.417,356,3.417,360,1.753,388,4.521,433,0.627,467,2.662,526,2.737,567,1.162,579,0.875,589,0.678,591,0.727,612,5.12,614,0.941,629,1.609,652,2.327,657,2.964,703,1.58,756,1.209,812,1.969,980,2.822,983,1.969,985,1.769,1027,0.936,1065,5.713,1147,3.903,1237,1.5,1328,2.698,1396,1.969,1470,1.709,1568,2.118,1627,3.655,1826,1.566,1829,1.299,1853,1,1899,1.995,1925,1.858,1940,1.995,2007,1.518,2059,3.729,2342,3.655,2369,5.112,2445,2.118,2446,3.561,2463,1.995,2468,3.162,2511,1.82,2547,3.199,2582,3.199,2616,3.47,2671,2.459,2749,3.228,2802,2.616,2884,3.061,3071,1.839,3206,1.769,3250,2.052,3370,3.422,3681,2.195,3777,4.896,3851,3.287,3853,1.609,3860,2.084,4244,7.036,4253,4.712,4858,4.912,4949,7.612,4954,4.279,4957,3.417,4959,4.131,4960,4.131,4962,4.131,4963,4.131,4965,5.308,4968,4.131,4969,7.572,4971,8.242,4972,4.131,4976,4.131,4982,2.344,4984,2.407,5004,8.559,5005,2.481,5006,2.681,5007,8.505,5008,7.429,5022,7.103,5023,7.06,5024,4.464,5026,2.344,5028,2.83,5124,4.712,5168,1.753,5175,2.118,5231,3.199,5401,5.832,5851,2.57,6376,1.944,6609,2.737,6627,2.591,6735,1.858,6984,5.957,7002,1.899,8010,3.417,8018,2.407,8056,2.757,8164,4.61,8253,3.199,8444,8.996,8775,4.008,8891,2.681,9823,2.83,10557,4.947,11298,6.718,13519,2.344,13540,9.145,13585,10.138,16305,2.57,16722,3.056,16723,7.624,16724,7.624,16725,5.089,16726,5.089,16727,5.089,16728,3.056,16729,3.056,16730,7.688,16731,9.142,16732,6.699,16733,3.056,16734,3.811,16735,3.056,16736,3.056,16737,5.089,16738,3.056,16739,8.468,16740,7.624,16741,5.089,16742,3.056,16743,3.056,16744,5.498,16745,3.056,16746,4.464,16747,5.089,16748,7.87,16749,3.056,16750,4.279,16751,4.712,16752,4.712,16753,5.089,16754,3.056,16755,3.056,16756,3.056,16757,3.056,16758,10.153,16759,7.624,16760,3.056,16761,2.83,16762,3.056,16763,3.056,16764,3.056,16765,5.089,16766,3.056,16767,5.089,16768,6.538,16769,7.624,16770,5.089,16771,3.056,16772,2.681,16773,2.481,16774,3.056,16775,5.089,16776,3.056,16777,3.056,16778,3.056,16779,3.056,16780,3.056,16781,3.056,16782,5.089,16783,3.056,16784,5.089,16785,3.056,16786,3.056,16787,3.056,16788,2.83,16789,3.056,16790,3.056,16791,3.056,16792,3.056,16793,3.056,16794,3.056,16795,3.056,16796,3.056,16797,3.056,16798,3.056,16799,3.056,16800,3.056,16801,3.056,16802,3.056,16803,3.056,16804,3.056,16805,3.056,16806,3.056,16807,5.089,16808,5.089,16809,3.056,16810,3.056,16811,3.056,16812,3.056,16813,3.056,16814,3.056,16815,3.056,16816,3.056,16817,3.056]],["title/classes/NotFoundLoggableException.html",[0,0.239,4815,4.665]],["body/classes/NotFoundLoggableException.html",[0,0.299,2,0.921,3,0.016,4,0.016,5,0.008,7,0.122,8,1.272,27,0.434,29,0.664,30,0.001,31,0.485,32,0.137,33,0.396,35,1.003,47,0.995,95,0.139,101,0.011,103,0.001,104,0.001,135,1.13,148,0.857,228,2.2,231,1.912,233,2.703,277,1.244,339,2.541,433,1.36,652,2.475,1115,4.223,1237,3.253,1422,4.973,1426,5.738,1462,4.766,1468,6.034,1477,4.497,1478,4.693,2923,6.436,4815,7.409,10342,5.816,12410,6.822,12411,7.032,16818,11.244,16819,12.142,16820,11.244,16821,8.661,16822,12.142,16823,12.142,16824,12.142,16825,8.021,16826,8.661,16827,8.661,16828,8.661,16829,8.661]],["title/injectables/OAuth2ToolLaunchStrategy.html",[589,0.926,16830,5.842]],["body/injectables/OAuth2ToolLaunchStrategy.html",[0,0.164,3,0.009,4,0.009,5,0.004,7,0.067,8,0.837,9,2.217,26,2.293,27,0.517,29,0.997,30,0.001,31,0.728,32,0.167,33,0.595,35,1.506,36,2.45,39,2.433,47,0.885,95,0.121,99,0.976,101,0.006,103,0,104,0,110,3.398,112,0.87,125,2.339,130,1.986,134,1.686,142,3.197,148,0.87,172,3.087,228,1.316,231,1.259,277,0.685,317,2.701,326,2.76,339,3.268,436,3.895,569,2.254,571,3.887,589,0.968,591,1.135,652,2.762,711,3.855,1086,4.689,1087,4.543,1088,4.614,1089,4.91,1090,5.365,1476,5.344,1756,2.737,2004,6.814,2005,6.72,2059,7.2,2060,7.058,2671,2.342,2709,4.185,2711,4.418,2712,12.468,2713,6.724,2714,8.141,2715,6.724,2716,6.724,2717,6.724,2718,6.724,2719,6.724,2720,6.724,2721,6.724,2722,6.724,2723,6.37,2724,6.37,2725,6.724,2726,6.724,2727,4.418,2728,9.401,2729,4.418,2730,6.724,2731,11,2733,6.724,2735,7.393,2736,4.418,2737,6.724,2738,7.559,2739,5.569,2740,4.418,2741,4.418,2742,6.724,2743,6.928,2744,4.418,2745,4.418,2746,6.724,2747,4.418,2748,4.418,2749,4.34,2750,4.418,2751,8.542,2752,4.418,2753,4.418,2754,4.418,2755,4.418,2756,4.185,2757,4.185,2758,4.418,2759,4.418,2760,4.418,2761,3.495,2762,4.418,2763,6.724,2764,6.504,2765,4.418,2766,4.418,2767,6.724,2768,4.418,2769,2.605,2770,6.724,2772,4.418,2773,3.253,2774,4.185,2775,3.659,2787,4.185,16830,6.106,16831,4.77,16832,4.77]],["title/classes/OAuthProcessDto.html",[0,0.239,16833,6.433]],["body/classes/OAuthProcessDto.html",[0,0.338,2,1.043,3,0.019,4,0.019,5,0.009,7,0.138,27,0.505,29,0.751,30,0.001,31,0.549,32,0.16,33,0.587,47,0.948,101,0.013,103,0.001,104,0.001,112,0.931,433,1.208,871,3.589,1585,7.806,2257,9.223,2273,8.601,6887,9.14,16833,12.676,16834,12.37,16835,9.804,16836,11.918,16837,9.804,16838,9.804,16839,9.804,16840,9.804]],["title/classes/OAuthRejectableBody.html",[0,0.239,6216,5.64]],["body/classes/OAuthRejectableBody.html",[0,0.318,2,0.705,3,0.013,4,0.013,5,0.006,7,0.093,27,0.475,30,0.001,32,0.15,33,0.615,47,0.929,55,1.853,95,0.105,101,0.009,103,0,104,0,112,0.721,157,2.953,187,7.049,190,2.168,194,5.264,196,4.451,197,3.969,200,2.031,202,1.523,296,3.267,299,4.706,300,4.786,337,5.673,342,6.026,402,3.304,403,5.811,711,2.736,890,7.959,998,4.358,1042,6.11,1080,4.765,1302,5.12,1379,6.631,1390,5.736,1888,8.366,2163,4.268,2544,6.909,3744,6.509,5270,7.08,6119,5.445,6216,7.495,6217,8.931,6218,8.931,6219,8.366,6222,6.199,6237,9.047,6238,7.08,6239,8.099,6240,8.099,6241,8.099,6243,8.809,6244,7.959,6245,6.913,6246,7.495,6247,7.08,6248,7.763,6249,7.495,6251,7.763,6254,5.817,6255,7.763,6256,7.763,16841,11.578,16842,6.63,16843,6.63,16844,6.63,16845,6.63,16846,6.63,16847,6.63]],["title/injectables/OAuthService.html",[589,0.926,13436,5.472]],["body/injectables/OAuthService.html",[0,0.133,3,0.007,4,0.007,5,0.004,7,0.054,8,0.712,26,1.807,27,0.438,29,0.853,30,0.001,31,0.623,32,0.139,33,0.509,35,1.241,36,2.585,47,1.02,48,5.892,52,1.959,59,2.389,95,0.15,99,0.793,100,1.352,101,0.005,103,0,104,0,122,0.808,125,0.922,135,1.705,142,3.193,148,1.135,153,1.44,159,0.398,173,6.346,180,1.654,195,1.351,228,2.017,277,0.556,290,2.268,317,2.832,339,1.136,433,0.761,478,1.087,579,2.513,589,0.823,591,0.922,652,2.562,657,2.838,688,1.828,703,2.726,998,4.144,1027,1.187,1309,4.433,1422,1.586,1459,3.257,1466,8.129,1470,2.166,1491,7.785,1540,2.782,1548,2.9,1569,3.586,1573,3.257,1585,2.354,1589,2.97,1593,2.38,1605,5.986,1675,2.33,1719,4.523,1723,3.51,1735,7.126,1853,1.267,2065,5.81,2067,5.333,2069,2.307,2070,3.64,2445,3.204,2446,4.1,2551,2.601,2896,3.051,3382,2.825,3853,3.249,3856,3.257,4934,2.838,5156,2.9,5157,6.432,5159,2.731,5178,3.144,5347,3.051,5401,6.146,6222,4.145,7150,2.528,7681,2.435,7975,5.415,8056,4.757,9427,3.398,10024,5.986,10033,7.487,11297,3.051,12922,4.622,12965,4.278,13436,4.862,13450,8.148,13451,5.763,13456,5.716,13502,6.751,13511,7.798,13526,4.523,13582,7.508,13696,5.415,14249,4.433,14541,3.398,14948,2.9,14959,2.9,15182,2.782,15328,5.639,15337,6.733,16325,9.013,16330,5.716,16339,3.586,16343,5.415,16773,3.144,16848,3.873,16849,7.696,16850,7.696,16851,7.696,16852,6.172,16853,6.172,16854,6.172,16855,9.013,16856,8.702,16857,3.873,16858,3.873,16859,8.779,16860,3.873,16861,3.873,16862,3.873,16863,3.873,16864,3.873,16865,6.172,16866,3.873,16867,6.172,16868,3.873,16869,6.172,16870,3.873,16871,6.172,16872,3.873,16873,3.257,16874,3.398,16875,3.398,16876,3.398,16877,3.873,16878,5.011,16879,3.873,16880,3.873,16881,3.398,16882,3.873,16883,3.873,16884,3.873,16885,3.873,16886,3.257,16887,3.873,16888,7.696,16889,3.873,16890,3.873,16891,5.716,16892,3.873,16893,3.873,16894,3.586,16895,5.415,16896,3.873,16897,3.873,16898,3.873,16899,3.586,16900,3.873,16901,5.415,16902,3.873,16903,3.873,16904,3.873,16905,5.716,16906,3.873,16907,6.172,16908,3.873]],["title/classes/OAuthTokenDto.html",[0,0.239,13451,5.202]],["body/classes/OAuthTokenDto.html",[0,0.329,2,1.016,3,0.018,4,0.018,5,0.009,7,0.134,27,0.521,29,0.731,30,0.001,31,0.535,32,0.165,33,0.436,47,0.982,101,0.013,103,0.001,104,0.001,112,0.916,173,8.4,232,3.178,433,1.177,435,3.332,1605,8.654,13451,10.174,15817,8.029,15818,8.029,16909,13.587,16910,9.547,16911,11.753,16912,11.726,16913,9.547,16914,9.547,16915,8.841,16916,8.841,16917,9.547,16918,9.547]],["title/classes/Oauth2AuthorizationBodyParams.html",[0,0.239,15792,5.842]],["body/classes/Oauth2AuthorizationBodyParams.html",[0,0.402,2,1.006,3,0.018,4,0.018,5,0.009,7,0.133,27,0.497,30,0.001,32,0.157,47,0.979,48,6.203,95,0.133,101,0.012,103,0.001,104,0.001,112,0.91,190,2.269,200,2.898,202,2.173,296,3.447,299,4.926,855,4.719,856,7.01,998,5.966,6756,6.93,8308,9.465,13582,7.766,14902,8.297,14903,8.758,15687,8.758,15688,8.758,15792,9.804,16919,13.193]],["title/classes/Oauth2MigrationParams.html",[0,0.239,16920,6.094]],["body/classes/Oauth2MigrationParams.html",[0,0.397,2,0.987,3,0.018,4,0.018,5,0.009,7,0.13,27,0.493,30,0.001,32,0.156,47,0.975,48,6.152,95,0.131,101,0.012,103,0.001,104,0.001,112,0.9,180,5.596,190,2.25,200,2.844,202,2.132,296,3.425,299,4.885,855,4.665,856,6.952,998,5.916,4923,5.999,6756,6.801,8308,9.356,13582,7.701,16920,10.11,16921,13.107,16922,9.282,16923,9.282,16924,9.282,16925,9.282]],["title/injectables/Oauth2Strategy.html",[589,0.926,1533,6.094]],["body/injectables/Oauth2Strategy.html",[0,0.253,3,0.014,4,0.014,5,0.007,7,0.103,8,1.141,27,0.389,29,0.758,30,0.001,31,0.554,32,0.149,33,0.452,35,0.849,36,2.093,48,4.855,66,6.457,94,5.663,95,0.158,101,0.01,103,0,104,0,135,1.632,142,3.598,148,0.725,153,1.623,159,0.754,172,4.205,174,5,193,3.186,228,1.793,231,1.714,233,2.289,277,1.053,290,2.647,317,2.425,325,3.642,347,3.757,349,5.036,379,3.733,400,2.184,433,0.904,480,5.373,578,3.833,579,2.831,589,1.319,591,1.745,652,1.495,657,2.561,666,10.105,675,3.733,998,4.669,1213,6.293,1220,4.206,1422,3.003,1533,8.678,1545,5.17,1712,5.491,1983,4.924,4957,4.924,6222,6.642,8044,5.491,8056,5.36,8059,7.791,8063,5.953,13435,6.79,13436,10.154,13451,7.407,13582,6.078,14323,5.624,14327,8.031,14332,5.953,14824,6.166,15078,9.16,15081,6.79,15094,6.79,15792,8.318,16901,6.433,16926,7.332,16927,7.332,16928,7.332,16929,8.678,16930,7.332,16931,7.332,16932,9.16,16933,6.79,16934,7.332,16935,7.332,16936,7.332]],["title/classes/Oauth2ToolConfig.html",[0,0.239,8252,4.814]],["body/classes/Oauth2ToolConfig.html",[0,0.255,2,0.789,3,0.014,4,0.014,5,0.007,7,0.104,27,0.541,29,0.568,30,0.001,31,0.415,32,0.175,33,0.634,47,0.985,95,0.114,101,0.01,103,0,104,0,112,0.778,122,2.079,231,1.727,232,2.701,233,2.314,433,0.914,435,2.587,436,2.953,614,2.284,2035,3.639,2332,6.294,2669,6.167,2671,4.435,2672,6.234,2673,9.404,2675,6.504,2676,5.619,2677,6.504,2678,6.504,2680,5.325,6229,4.592,6310,5.659,8114,7.252,8148,5.686,8149,6.019,8204,4.978,8205,6.019,8249,9.684,8252,8.703,8260,6.772,8263,8.633,8265,8.429,8270,5.055,13688,5.055,14943,5.432,15883,6.865,15884,6.865,15885,6.865,15886,6.865,15887,6.865,15888,6.865,16937,13.607,16938,9.965,16939,6.504,16940,7.414,16941,6.865,16942,6.865,16943,6.865,16944,6.865,16945,6.865,16946,6.865]],["title/classes/Oauth2ToolConfigCreateParams.html",[0,0.239,10239,5.842]],["body/classes/Oauth2ToolConfigCreateParams.html",[0,0.334,2,0.757,3,0.013,4,0.013,5,0.007,7,0.1,27,0.531,30,0.001,32,0.173,33,0.541,47,0.985,95,0.135,101,0.009,103,0,104,0,112,0.757,122,2.022,190,2.422,199,5.374,200,2.179,201,4.279,202,1.634,231,1.679,296,3.476,299,4.979,300,4.218,436,2.871,614,2.19,899,3.239,2035,3.491,2087,5.755,2332,6.162,2669,6.029,2671,4.351,2676,6.213,2693,9.071,2694,7.636,2695,5.774,2696,5.774,2697,5.774,2698,5.774,2699,5.774,6229,4.496,6258,5.608,6310,5.54,6778,7.099,8114,7.1,8249,9.566,8260,6.629,8263,8.451,8265,8.252,8310,5.454,10237,5.774,10239,8.147,10245,6.239,15895,6.586,15899,6.586,16947,12.32,16948,6.586,16949,7.112,16950,7.112,16951,6.586,16952,6.586,16953,7.112,16954,6.586]],["title/classes/Oauth2ToolConfigEntity.html",[0,0.239,10288,5.64]],["body/classes/Oauth2ToolConfigEntity.html",[0,0.306,2,0.944,3,0.017,4,0.017,5,0.008,7,0.125,27,0.483,29,0.68,30,0.001,31,0.497,32,0.153,33,0.405,47,0.795,95,0.14,96,2.339,101,0.012,103,0.001,104,0.001,112,0.875,122,2.338,190,2.011,223,4.129,224,2.577,231,1.538,232,3.036,433,1.093,435,3.096,457,4.921,614,2.733,2035,4.355,2108,3.873,2669,5.844,2671,4.289,2676,5.002,2683,7.461,2685,5.704,2686,9.095,2687,7.784,2688,5.002,6310,6.173,8114,7.91,8148,6.804,8149,7.203,8270,7.639,10288,10.797,13688,6.049,16939,7.784,16955,12.897,16956,11.203,16957,8.872]],["title/classes/Oauth2ToolConfigFactory.html",[0,0.239,8258,5.842]],["body/classes/Oauth2ToolConfigFactory.html",[0,0.265,2,0.412,3,0.007,4,0.007,5,0.004,7,0.054,8,0.712,27,0.495,29,0.984,30,0.001,31,0.704,32,0.166,33,0.549,34,1.055,35,1.328,47,0.438,55,2.234,59,3.173,95,0.109,101,0.013,103,0,104,0,110,1.341,112,0.482,113,4.074,127,4.389,129,3.324,130,3.045,135,1.618,148,1.188,157,1.773,172,2.626,185,2.117,192,2.133,197,2.442,205,1.57,206,2.009,228,1.119,231,1.522,290,0.917,300,1.484,326,5.006,374,2.672,417,2.168,433,0.478,436,3.677,467,1.799,501,6.723,502,4.872,505,3.426,506,4.872,507,4.903,508,3.426,509,3.426,510,3.426,511,3.373,512,3.921,513,4.271,514,6.373,515,5.238,516,6.665,517,2.168,522,2.15,523,3.426,524,2.168,525,4.592,526,4.724,527,3.718,528,4.444,529,3.399,530,2.15,531,2.027,532,3.792,533,2.07,534,2.027,535,2.15,536,2.168,537,4.204,538,2.15,539,7.478,540,3.909,541,6.174,542,2.168,543,2.997,544,2.15,545,2.168,546,2.15,547,2.168,548,2.15,551,2.15,552,5.581,553,2.168,554,2.15,555,3.426,556,3.125,557,3.426,558,2.168,559,2.085,560,2.055,561,1.74,562,2.15,563,2.15,564,2.15,565,2.168,566,2.168,567,1.474,568,2.15,569,1.204,570,2.168,571,2.444,572,2.15,573,2.168,575,2.224,576,2.286,577,5.231,614,1.194,756,1.534,1220,2.224,1598,3.643,2007,1.925,2033,2.784,2084,2.686,2087,3.331,2124,3.275,2332,4.306,2668,2.841,2671,1.25,2676,2.186,2679,2.643,2738,4.032,2743,2.733,2749,1.914,4649,6.764,4651,2.784,5176,2.466,5329,4.626,5695,2,6091,2.973,6101,2.686,6107,4.626,6108,2.973,6229,3.914,6310,3.106,6627,1.974,6681,2.224,6744,3.147,6749,3.054,6750,2.643,8094,2.566,8100,2.531,8102,2.531,8104,2.531,8114,2.498,8115,2.332,8117,2.357,8243,5.195,8244,5.419,8246,3.401,8248,2.841,8249,4.626,8250,3.054,8251,2.841,8252,2.686,8253,2.437,8254,3.401,8255,3.401,8256,3.401,8257,6.756,8258,6.476,8259,5.419,8260,3.716,8261,3.147,8262,2.841,8263,2.973,8264,3.401,8265,2.903,8266,3.401,8267,3.401,8268,5.419,8269,3.401,8270,2.643,8271,3.401,8272,3.401,8273,3.401,8274,2.686,8275,3.401,8276,3.401,8277,3.26,8278,3.401,8279,2.784,8280,5.419,8281,6.756,8282,3.054,8283,5.419,8284,5.419,8285,3.401,8286,3.26,8287,3.054,8288,5.195,8289,3.401,8290,3.401,8291,3.401,8292,3.401,8293,3.401,8294,5.419,8295,3.401,8296,3.26,8297,2.566,8298,3.26,8299,3.401,8300,3.401,8301,3.401,8302,3.401,16958,6.177,16959,3.877]],["title/classes/Oauth2ToolConfigResponse.html",[0,0.239,10847,5.842]],["body/classes/Oauth2ToolConfigResponse.html",[0,0.244,2,0.753,3,0.013,4,0.013,5,0.007,7,0.099,27,0.53,29,0.542,30,0.001,31,0.396,32,0.173,33,0.616,47,0.967,95,0.125,101,0.009,103,0,104,0,112,0.754,122,2.014,190,2.386,201,5.233,202,1.625,231,1.673,232,2.616,233,2.208,296,3.521,433,0.872,435,2.469,436,2.861,614,2.179,2035,3.472,2108,3.088,2332,6.145,2669,6.022,2671,4.346,2676,6.196,2680,5.081,2689,4.988,2702,5.743,2703,10.032,2705,6.206,2706,6.206,2707,5.743,6229,4.483,6310,5.525,8114,7.08,8148,5.425,8149,5.743,8204,4.75,8205,5.743,8249,9.551,8263,8.428,8265,8.229,8270,4.823,10847,10.391,13688,4.823,15911,6.551,15912,6.551,15913,6.551,15914,6.551,15915,6.206,16939,6.206,16941,6.551,16942,6.551,16943,6.551,16944,6.551,16945,6.551,16946,6.551,16960,13.288,16961,9.653]],["title/classes/Oauth2ToolConfigUpdateParams.html",[0,0.239,10777,5.842]],["body/classes/Oauth2ToolConfigUpdateParams.html",[0,0.333,2,0.753,3,0.013,4,0.013,5,0.007,7,0.099,27,0.53,30,0.001,32,0.173,33,0.583,47,0.984,95,0.135,101,0.009,103,0,104,0,112,0.754,122,2.014,190,2.419,199,5.354,200,2.167,201,4.585,202,1.625,231,1.673,296,3.411,299,4.971,300,4.519,436,2.861,614,2.179,899,3.221,2035,3.472,2087,5.748,2332,6.145,2669,6.022,2671,4.346,2676,6.196,2693,9.055,2694,6.69,2695,5.743,2696,5.743,2697,5.743,2698,5.743,2699,5.743,6229,4.483,6258,5.588,6310,5.525,6778,8.052,8114,7.08,8249,9.551,8260,6.611,8263,8.428,8265,8.229,8310,5.425,10777,8.118,11067,5.949,11069,6.206,11071,6.206,11076,6.551,15919,6.551,16947,12.305,16948,6.551,16952,6.551,16954,6.551,16962,7.074,16963,7.074,16964,7.074]],["title/injectables/OauthAdapterService.html",[589,0.926,16855,5.842]],["body/injectables/OauthAdapterService.html",[0,0.238,3,0.013,4,0.013,5,0.006,7,0.097,8,1.096,27,0.46,29,0.896,30,0.001,31,0.655,32,0.153,33,0.534,35,1.257,36,2.745,47,0.921,95,0.151,100,2.413,101,0.009,103,0,104,0,135,1.599,148,1.074,153,1.134,158,2.549,195,1.513,228,1.253,317,2.744,400,2.06,433,0.852,579,2.72,589,1.267,591,1.646,629,3.64,652,2.214,657,2.175,711,3.218,1053,8.637,1054,3.899,1055,5.304,1056,4.456,1080,3.277,1169,4.003,1328,3.666,1422,2.833,1491,9.494,1723,6.176,2083,4.577,2088,6.404,2113,6.827,2124,3.666,2382,9.715,2392,2.638,2416,6.067,2802,2.767,2810,5.815,4225,5.447,4277,6.067,7981,8.339,9603,6.404,13521,5.815,13586,6.291,14711,6.404,14712,6.404,14713,6.404,16855,7.993,16878,5.614,16899,8.802,16965,12.259,16966,10.86,16967,10.86,16968,6.915,16969,9.505,16970,6.915,16971,9.505,16972,6.915,16973,6.915,16974,6.915,16975,6.915,16976,6.915,16977,9.505,16978,6.067,16979,6.404,16980,6.067,16981,6.915,16982,6.915,16983,6.915,16984,6.915,16985,9.505,16986,6.915,16987,6.915,16988,6.915,16989,9.505,16990,6.915,16991,6.915,16992,6.915,16993,6.915,16994,6.915]],["title/modules/OauthApiModule.html",[252,1.836,16995,5.842]],["body/modules/OauthApiModule.html",[0,0.317,3,0.017,4,0.017,5,0.008,30,0.001,95,0.153,101,0.012,103,0.001,104,0.001,252,3.298,254,3.313,255,3.508,256,3.598,257,3.585,258,3.572,259,4.54,260,3.424,265,6.336,269,4.482,270,3.533,271,3.46,273,5.782,274,4.79,276,4.482,277,1.321,1027,2.818,1523,11.127,3005,4.341,13427,11.525,16995,11.995,16996,9.197,16997,9.197,16998,9.197,16999,9.197,17000,10.95,17001,8.517,17002,9.197,17003,9.197]],["title/classes/OauthClientBody.html",[0,0.239,17004,6.094]],["body/classes/OauthClientBody.html",[0,0.249,2,0.504,3,0.009,4,0.009,5,0.004,7,0.067,27,0.49,30,0.001,31,0.404,32,0.155,33,0.625,34,1.233,47,0.961,95,0.112,101,0.006,103,0,104,0,112,0.564,134,3.925,157,2.865,174,4.924,176,3.654,187,7.135,190,2.235,194,5.353,195,1.915,196,4.527,197,4.004,200,1.451,202,1.088,296,3.306,299,4.755,300,4.844,371,3.828,374,4.235,412,3.196,417,4.038,540,2.536,586,6.688,628,4.301,641,4.107,711,2.14,871,2.644,899,2.157,1060,4.924,1171,3.633,1470,4.038,1493,5.863,1495,6.287,1496,7.106,1507,3.547,1561,6.903,1582,5.187,1598,4.259,1622,5.187,1899,4.714,2163,3.339,2232,4.39,2257,5.187,2525,4.708,2540,5.863,2541,6.073,2802,5.415,2832,6.308,4315,4.438,4393,7.106,6119,4.259,6222,8.618,6229,4.713,6237,8.302,6258,5.667,6273,7.679,6291,6.336,6306,6.894,8116,6.554,9294,5.863,11015,8.105,11017,7.679,11020,9.76,11021,6.688,12504,5.092,13019,5.292,14211,5.539,16841,11.718,17004,6.336,17005,4.737,17006,8.105,17007,8.105,17008,4.737,17009,4.737,17010,4.737,17011,7.222,17012,7.222,17013,4.737,17014,4.737,17015,4.737,17016,4.737,17017,5.863,17018,6.688,17019,6.073,17020,7.222,17021,7.222,17022,7.222,17023,7.222,17024,4.737,17025,8.753,17026,4.737,17027,7.222,17028,7.222,17029,4.737,17030,8.753,17031,4.737,17032,6.688,17033,7.222,17034,7.222,17035,4.737,17036,4.737,17037,4.737,17038,4.737,17039,4.737,17040,4.737]],["title/classes/OauthConfig.html",[0,0.239,13511,4.367]],["body/classes/OauthConfig.html",[0,0.24,2,0.742,3,0.013,4,0.013,5,0.006,7,0.098,27,0.552,29,0.534,30,0.001,31,0.391,32,0.175,33,0.562,47,1.032,72,4.376,101,0.009,103,0,104,0,112,0.747,180,4.082,290,2.261,311,4.554,433,0.86,567,3.634,1593,6.704,2232,5.812,2257,6.868,3077,6.242,5027,6.261,6229,4.451,6310,5.485,8204,4.684,8260,6.563,10401,7.221,13511,7.73,13571,7.326,13574,7.122,13576,7.326,13579,7.326,13582,6.704,13586,7.221,13688,4.756,13765,5.224,14211,7.333,14459,6.12,14909,6.12,14910,6.46,14913,5.111,14943,5.111,14945,5.111,14947,5.224,14949,5.224,14951,5.224,14952,5.224,14953,5.224,14956,5.224,14958,5.224,14960,5.224,14962,7.326,17041,14.088,17042,8.854,17043,9.561,17044,6.976,17045,6.976,17046,6.976,17047,6.976,17048,6.976,17049,6.976,17050,6.46,17051,6.976,17052,6.46,17053,6.12,17054,6.46,17055,6.12,17056,6.12,17057,6.12,17058,6.12,17059,6.12,17060,6.12,17061,6.12,17062,6.12,17063,6.12,17064,6.12,17065,6.12]],["title/classes/OauthConfigDto.html",[0,0.239,13765,5.202]],["body/classes/OauthConfigDto.html",[0,0.24,2,0.742,3,0.013,4,0.013,5,0.006,7,0.098,27,0.552,29,0.534,30,0.001,31,0.391,32,0.175,33,0.562,47,1.032,72,4.376,101,0.009,103,0,104,0,112,0.747,180,4.082,290,2.261,433,0.86,567,3.634,1593,6.704,2232,5.812,2257,6.868,3077,6.242,5027,6.261,6229,4.451,6310,5.485,8204,4.684,8260,6.563,10401,7.221,13571,7.326,13574,7.122,13576,7.326,13579,7.326,13582,6.704,13586,7.221,13688,4.756,13765,9.51,14211,7.333,14913,5.111,14943,5.111,14945,5.111,14947,5.224,14949,5.224,14951,5.224,14952,5.224,14953,5.224,14956,5.224,14958,5.224,14960,5.224,14962,7.326,17042,8.854,17053,6.12,17054,6.46,17055,6.12,17056,6.12,17057,6.12,17058,6.12,17059,6.12,17060,6.12,17061,6.12,17062,6.12,17063,6.12,17064,6.12,17065,6.12,17066,14.088,17067,6.46,17068,9.561,17069,6.46,17070,6.976,17071,6.976,17072,6.976,17073,6.976,17074,6.976,17075,6.976,17076,6.46,17077,6.976,17078,6.46,17079,6.46,17080,6.976]],["title/classes/OauthConfigEntity.html",[0,0.239,13450,4.814]],["body/classes/OauthConfigEntity.html",[0,0.313,2,0.437,3,0.008,4,0.008,5,0.004,7,0.058,26,1.332,27,0.501,29,0.315,30,0.001,31,0.23,32,0.162,33,0.451,47,1.037,83,2.33,95,0.104,96,1.084,101,0.013,103,0,104,0,110,2.767,112,0.505,122,0.858,134,1.453,157,0.946,159,0.423,185,1.409,190,2.259,195,2.989,196,4.478,197,1.143,205,1.631,211,3.589,223,4.489,224,1.194,225,2.486,226,1.863,228,0.745,229,1.626,231,0.713,232,1.114,233,1.283,331,1.819,433,0.507,561,1.845,620,2.554,628,2.448,886,2.518,997,2.584,1454,2.526,1561,2.898,1593,4.917,2108,1.794,2160,2.721,2185,3.153,2685,3.295,4607,3.455,4645,4.648,4679,2.499,4870,2.649,5027,4.621,5163,2.262,5168,2.358,6229,3.265,6310,4.563,6627,3.295,6647,2.649,6648,2.849,7182,3.506,8118,2.584,8204,2.76,8260,5.46,10401,5.296,11436,2.721,13450,7.602,13511,5.03,13524,3.078,13525,3.078,13526,3.012,13527,3.078,13571,5.374,13574,5.224,13576,5.374,13579,5.374,13582,4.917,13586,5.296,13688,4.412,13850,3.153,14244,3.976,14257,5.156,14258,2.684,14259,2.684,14510,4.648,14516,4.169,14627,3.078,14907,4.345,14911,3.238,14913,4.742,14915,6.797,14916,3.337,14917,3.337,14918,3.337,14919,3.337,14920,3.337,14921,3.337,14922,3.337,14923,3.337,14924,3.337,14925,3.337,14939,4.963,14940,6.797,14941,4.345,14942,5.254,14943,4.742,14944,3.153,14945,4.742,14946,3.153,14947,3.078,14948,3.078,14949,3.078,14950,3.153,14951,3.078,14952,3.078,14953,3.078,14954,3.153,14955,3.153,14956,3.078,14957,3.153,14958,3.078,14959,3.078,14960,3.078,14961,3.153,14962,6.095,14963,3.238,14964,2.953,14965,3.337,14966,3.337,14967,3.337,14968,3.337,14969,3.337,14970,3.337,14971,3.337,14972,3.337,14973,3.337,14974,3.153,14975,3.337,14976,3.337,14977,3.337,14978,3.337,14979,3.337,14980,3.337,14981,3.238,14982,3.337,14983,3.337,14984,3.012,14985,3.337,14986,3.337,14987,3.337,14988,3.337,14989,3.337,14990,3.337,14991,3.337,14992,3.337,14993,3.337,14994,3.337,14995,3.337,14996,3.337,14997,3.337,14998,3.337,14999,3.153,15000,3.337,15001,3.238,15002,3.153,15003,3.238,15004,3.153,15005,3.153,15006,3.238,15007,3.153,15008,3.238,15009,3.153,15010,3.012,15011,3.012,15012,3.012,15013,3.078,15014,3.153,15015,3.337,15016,3.153,15017,3.337,15018,3.337,15019,3.337,15020,3.337,15021,3.337,15022,3.153,15023,3.238,15024,3.153,15025,3.238,17081,4.111,17082,4.111,17083,4.111,17084,4.111,17085,4.111,17086,4.111,17087,4.111,17088,4.111,17089,4.111,17090,4.111,17091,4.111,17092,4.111,17093,4.111,17094,4.111]],["title/classes/OauthConfigMissingLoggableException.html",[0,0.239,16874,6.094]],["body/classes/OauthConfigMissingLoggableException.html",[0,0.307,2,0.948,3,0.017,4,0.017,5,0.008,7,0.125,8,1.295,27,0.442,29,0.683,30,0.001,31,0.499,32,0.14,33,0.407,35,1.031,47,0.873,48,6.039,95,0.128,101,0.012,103,0.001,104,0.001,148,0.882,228,1.615,231,1.947,233,2.782,244,6.53,339,2.614,400,2.654,433,1.098,436,2.641,983,7.238,1027,2.73,1080,3.072,1115,3.411,1422,5.039,1423,5.807,1426,5.798,1462,4.904,1463,9.673,1465,6.176,1467,7.494,1468,5.807,1469,6.111,1470,6.282,1471,6.53,1472,4.983,1476,5.417,1477,4.627,1478,4.829,2087,4.86,2832,5.741,3382,4.078,16305,7.494,16874,9.856,17095,10.403,17096,8.911,17097,8.911]],["title/classes/OauthConfigResponse.html",[0,0.239,17098,5.842]],["body/classes/OauthConfigResponse.html",[0,0.176,2,0.542,3,0.01,4,0.01,5,0.005,7,0.072,27,0.519,29,0.391,30,0.001,31,0.285,32,0.171,33,0.541,34,1.304,47,1.022,95,0.058,101,0.007,103,0,104,0,112,0.596,157,3.002,172,3.245,176,3.862,190,2.342,194,5.491,195,3.05,196,4.643,197,3.926,202,1.171,296,3.445,433,0.628,868,6.257,871,2.795,1060,5.205,1171,5.855,1493,6.198,1593,7.019,2232,7.403,2257,5.483,2702,4.139,2802,3.054,5027,5.816,5270,5.855,6229,4.66,6310,5.109,8204,3.423,10401,6.726,13571,6.824,13574,6.634,13576,6.824,13579,6.824,13582,6.244,13586,6.726,13688,3.476,14211,5.855,14554,6.42,14913,3.735,14945,3.735,14947,3.817,14949,3.817,14951,3.817,14952,3.817,14953,3.817,14956,3.817,14958,3.817,14960,3.817,14962,6.824,15915,4.472,16978,6.697,17098,7.696,17099,13.311,17100,7.634,17101,7.634,17102,5.098,17103,5.098,17104,5.098,17105,7.634,17106,5.098,17107,5.098,17108,5.098,17109,5.098,17110,5.098,17111,5.098,17112,5.098,17113,5.098,17114,5.098,17115,5.098,17116,5.098,17117,5.098,17118,5.098,17119,5.098,17120,5.098,17121,5.098,17122,5.098,17123,5.098,17124,5.098]],["title/interfaces/OauthCurrentUser.html",[159,0.714,8059,5.472]],["body/interfaces/OauthCurrentUser.html",[3,0.019,4,0.019,5,0.009,7,0.137,30,0.001,32,0.122,33,0.543,47,0.91,72,5.438,95,0.111,101,0.013,103,0.001,104,0.001,112,0.928,159,1.003,161,2.317,173,7.864,180,5.073,231,2.06,290,2.307,325,6.364,567,4.517,614,3.66,4906,7.864,5055,6.761,6119,7.008,6222,7.979,8057,11.214,8059,9.36,12990,8.559,14211,9.113,14554,9.992,17125,9.756,17126,11.882,17127,11.882]],["title/classes/OauthDataDto.html",[0,0.239,14249,4.989]],["body/classes/OauthDataDto.html",[0,0.3,2,0.925,3,0.017,4,0.017,5,0.008,7,0.122,27,0.52,29,0.666,30,0.001,31,0.487,32,0.165,33,0.604,95,0.146,101,0.011,103,0.001,104,0.001,112,0.864,232,2.998,433,1.072,435,3.036,614,3.747,3382,5.568,10001,9.331,10015,8.056,10031,8.915,10061,6.852,10062,7.315,11183,8.915,12922,6.514,14249,9.495,14278,9.877,14280,10.231,17128,12.513,17129,8.699,17130,10.674,17131,11.064,17132,8.699,17133,8.699,17134,9.583,17135,8.699,17136,8.699,17137,8.056,17138,8.699,17139,8.699,17140,8.699,17141,8.699,17142,8.699,17143,8.699,17144,8.699]],["title/classes/OauthDataStrategyInputDto.html",[0,0.239,14254,5.202]],["body/classes/OauthDataStrategyInputDto.html",[0,0.317,2,0.978,3,0.017,4,0.017,5,0.008,7,0.129,27,0.514,29,0.705,30,0.001,31,0.515,32,0.163,33,0.42,47,0.927,95,0.105,101,0.012,103,0.001,104,0.001,112,0.895,173,8.261,232,3.105,339,3.943,433,1.134,435,3.21,1605,8.511,3382,5.712,4957,9.026,10061,7.245,10062,7.734,12922,6.887,14254,10.065,15817,7.734,15818,7.734,16915,8.517,16916,8.517,17128,12.447,17134,9.831,17137,8.517,17145,9.197,17146,11.458,17147,9.197,17148,9.197]],["title/classes/OauthLoginResponse.html",[0,0.239,15796,5.842]],["body/classes/OauthLoginResponse.html",[0,0.308,2,0.95,3,0.017,4,0.017,5,0.008,7,0.125,27,0.485,29,0.684,30,0.001,31,0.5,32,0.153,33,0.563,34,1.921,47,0.874,95,0.128,101,0.012,103,0.001,104,0.001,112,0.879,157,2.056,176,5.692,190,2.02,201,4.369,202,2.052,231,1.95,232,3.049,296,2.334,433,1.101,435,3.117,436,2.647,457,4.954,567,4.276,614,3.982,1361,5.124,1470,6.291,1605,7.671,2537,7.072,3382,5.149,6229,4.59,8057,10.356,8262,8.243,15784,9.285,15796,11.206,17149,12.315,17150,8.931,17151,11.25,17152,8.931,17153,8.931,17154,8.931,17155,8.931]],["title/modules/OauthModule.html",[252,1.836,1523,5.64]],["body/modules/OauthModule.html",[0,0.236,3,0.013,4,0.013,5,0.006,30,0.001,52,3.463,95,0.16,101,0.009,103,0,104,0,180,2.922,252,2.854,254,2.465,255,2.611,256,2.678,257,2.668,258,2.658,259,3.929,260,4.022,265,5.837,269,3.692,270,2.629,271,2.575,276,3.692,277,0.983,279,2.861,703,2.125,1027,2.097,1054,3.859,1522,10.618,1523,11.883,1525,9.252,1536,6.005,1540,4.916,1856,7.244,2069,4.076,2653,3.164,3843,7.846,3853,4.968,3856,5.756,3857,6.161,5022,9.252,5159,4.826,6018,8.479,9832,9.456,13436,10.864,13437,11.598,16855,10.618,16873,5.756,17156,6.845,17157,6.845,17158,6.845,17159,6.845,17160,10.618,17161,10.618,17162,6.845,17163,6.845,17164,6.005,17165,6.845]],["title/modules/OauthProviderApiModule.html",[252,1.836,17166,5.842]],["body/modules/OauthProviderApiModule.html",[0,0.253,3,0.014,4,0.014,5,0.007,30,0.001,95,0.157,101,0.01,103,0,104,0,187,4.134,252,2.958,254,2.641,255,2.797,256,2.868,257,2.858,258,2.847,259,4.071,260,2.73,265,5.959,269,3.869,270,2.817,271,2.758,273,4.609,274,4.135,276,3.869,277,1.053,1027,2.247,1470,4.1,1856,7.395,2653,3.39,3005,3.461,3843,8.01,3853,3.86,3982,4.924,5021,9.653,5026,5.624,5027,5.699,10474,10.466,10481,5,17001,6.79,17166,12.306,17167,7.332,17168,7.332,17169,7.332,17170,11.309,17171,10.84,17172,10.84,17173,10.84,17174,10.84,17175,10.84,17176,10.84,17177,6.166,17178,9.82,17179,7.332,17180,6.79,17181,7.332]],["title/injectables/OauthProviderClientCrudUc.html",[589,0.926,17171,5.842]],["body/injectables/OauthProviderClientCrudUc.html",[0,0.177,3,0.01,4,0.01,5,0.005,7,0.072,8,0.887,27,0.468,29,0.879,30,0.001,31,0.642,32,0.148,33,0.524,34,2.133,35,1.265,36,2.69,47,0.954,55,2.302,56,4.821,58,6.668,59,3.171,95,0.136,101,0.007,103,0,104,0,112,0.601,129,1.538,130,1.409,135,1.683,148,1.081,176,3.892,178,6.245,187,6.888,228,1.981,277,0.74,290,3.052,317,2.913,325,6.727,339,3.584,349,6.05,433,0.948,478,1.446,589,1.026,591,1.226,595,1.944,652,2.228,657,2.857,693,2.345,998,3.631,1862,6.345,2653,2.381,2802,4.888,2913,7.336,3209,2.656,6229,3.138,6306,8.045,8261,6.245,8262,5.637,10203,8.874,10481,5.245,10932,8.402,10954,10.069,10958,3.699,11017,6.749,13575,6.469,17006,7.123,17007,7.123,17171,6.469,17182,9.918,17183,11.312,17184,5.15,17185,9.208,17186,6.749,17187,6.749,17188,6.749,17189,8.078,17190,8.078,17191,4.181,17192,5.15,17193,7.123,17194,5.15,17195,7.123,17196,5.15,17197,7.123,17198,5.15,17199,4.769,17200,5.15,17201,4.769,17202,5.15,17203,7.123,17204,5.15,17205,5.15,17206,10.93,17207,7.692,17208,5.15,17209,5.15,17210,9.208,17211,9.208,17212,7.692,17213,5.15,17214,5.15,17215,5.15]],["title/injectables/OauthProviderConsentFlowUc.html",[589,0.926,17172,5.842]],["body/injectables/OauthProviderConsentFlowUc.html",[0,0.186,3,0.01,4,0.01,5,0.005,7,0.076,8,0.918,27,0.459,29,0.893,30,0.001,31,0.653,32,0.145,33,0.533,35,1.29,36,2.72,39,2.618,47,0.993,95,0.138,101,0.007,103,0,104,0,125,2.775,135,1.453,148,1.033,153,0.884,160,8.785,164,4.038,173,7.375,174,6.451,175,4.534,176,2.728,178,4.378,186,8.481,187,6.801,228,1.442,277,0.774,317,2.739,325,5.991,349,5.319,365,4.206,379,6.787,389,3.52,433,0.981,569,2.471,579,1.543,589,1.061,591,1.283,652,2.658,657,2.39,871,4.416,1495,7.503,2654,3.211,3209,2.781,4030,4.788,4531,9.079,5027,2.745,5093,3.52,6214,8.785,6261,8.481,6268,8.481,10481,5.427,10932,8.544,10958,3.873,13698,10.143,13699,4.993,17172,6.693,17182,9.793,17191,4.378,17216,11.17,17217,4.73,17218,8.761,17219,6.983,17220,8.761,17221,7.371,17222,7.959,17223,5.392,17224,4.993,17225,5.392,17226,7.371,17227,5.392,17228,5.392,17229,4.993,17230,7.371,17231,8.481,17232,5.392,17233,7.959,17234,8.546,17235,5.392,17236,5.96,17237,4.534,17238,4.993,17239,7.959,17240,5.392,17241,4.993,17242,5.392,17243,5.392,17244,5.392,17245,5.392,17246,8.229,17247,5.392,17248,5.392,17249,5.392,17250,5.392,17251,5.392,17252,5.392,17253,4.247,17254,5.392]],["title/controllers/OauthProviderController.html",[314,2.659,17178,6.094]],["body/controllers/OauthProviderController.html",[0,0.116,3,0.006,4,0.006,5,0.003,7,0.047,8,0.637,10,1.351,27,0.471,29,0.901,30,0.001,31,0.659,32,0.147,33,0.538,35,1.386,36,2.898,47,0.24,95,0.141,100,1.179,101,0.004,103,0,104,0,135,1.71,148,1.184,171,2.268,186,8.225,187,6.854,190,2.15,202,0.776,228,1.739,274,1.412,277,0.485,314,1.293,316,1.63,317,2.948,325,6.708,326,5.066,349,6.903,365,5.125,379,6.631,388,4.533,389,2.205,392,1.766,395,1.817,398,6.246,433,0.416,652,1.957,657,2.575,871,2.023,1295,6.816,2218,1.509,2219,1.698,2220,1.639,2221,2.123,2257,2.426,2802,3.243,3209,1.742,3211,1.859,3982,2.268,4030,3.325,4354,2.176,4529,10.938,4819,7.298,5027,2.814,6214,6.816,6222,2.268,6261,4.487,6279,8.071,6303,5.898,8951,2.742,10481,3.768,10954,7.187,10958,2.426,13199,6.154,13677,9.875,13716,2.742,15672,7.111,15784,5.038,15819,6.58,17004,8.888,17171,4.647,17172,4.647,17173,5.898,17174,4.647,17175,5.898,17176,5.898,17178,4.849,17180,3.128,17183,3.128,17186,6.154,17187,4.849,17188,6.154,17189,6.154,17190,6.154,17193,3.128,17195,3.128,17197,3.128,17199,3.128,17201,3.128,17216,3.128,17219,4.849,17220,6.495,17234,4.239,17236,6.069,17246,7.56,17255,12.156,17256,3.378,17257,5.118,17258,4.849,17259,4.849,17260,6.495,17261,4.849,17262,3.378,17263,3.378,17264,3.378,17265,3.378,17266,3.378,17267,3.378,17268,3.378,17269,3.378,17270,3.378,17271,3.378,17272,3.378,17273,5.527,17274,3.378,17275,3.378,17276,3.378,17277,5.527,17278,3.378,17279,3.378,17280,3.378,17281,3.378,17282,3.378,17283,3.378,17284,3.378,17285,3.378,17286,3.378,17287,3.378,17288,3.378,17289,3.378,17290,3.378,17291,7.111,17292,3.378,17293,3.378,17294,3.378,17295,3.378,17296,5.525,17297,4.353,17298,8.939,17299,3.378,17300,7.014,17301,3.128,17302,3.378,17303,3.378,17304,3.378,17305,3.378,17306,3.378,17307,3.378,17308,3.378,17309,3.378,17310,3.378,17311,3.378,17312,8.105,17313,3.378,17314,3.378,17315,3.378,17316,3.378,17317,3.378,17318,3.378,17319,3.378,17320,3.378,17321,3.378,17322,3.378,17323,3.378,17324,3.378,17325,3.378,17326,3.378,17327,3.378,17328,3.378,17329,3.378,17330,3.378,17331,3.378,17332,5.527,17333,5.527,17334,3.378,17335,3.378,17336,3.378,17337,3.378,17338,3.378,17339,3.378,17340,3.378,17341,3.378,17342,3.378,17343,3.378,17344,3.378,17345,3.378,17346,3.378,17347,2.84,17348,3.378,17349,3.378,17350,3.378,17351,3.378,17352,3.378,17353,3.378,17354,3.378,17355,3.378]],["title/injectables/OauthProviderLoginFlowService.html",[589,0.926,13705,5.64]],["body/injectables/OauthProviderLoginFlowService.html",[0,0.242,3,0.013,4,0.013,5,0.006,7,0.099,8,1.108,27,0.431,29,0.839,30,0.001,31,0.613,32,0.136,33,0.5,35,1.112,36,2.033,47,0.777,95,0.151,101,0.009,103,0,104,0,122,2.285,135,1.428,142,3.494,148,1.083,153,1.152,187,6.637,195,1.537,228,1.984,277,1.009,317,2.372,433,1.184,579,2.011,589,1.281,591,1.672,622,5.533,652,2.232,657,2.198,688,3.316,711,3.771,1829,2.986,1940,4.586,2007,3.489,2087,3.039,2671,2.265,2749,6.643,2923,3.724,4934,5.147,5091,3.751,6310,5.918,6984,8.006,7002,5.97,8098,8.815,8164,8.691,8253,6.039,10123,8.625,10125,8.625,10144,5.533,10200,6.505,10201,6.505,10983,6.163,11377,5.533,13519,5.387,13705,7.8,13716,9.557,15996,10.703,17356,11.771,17357,7.024,17358,9.607,17359,9.607,17360,7.024,17361,7.024,17362,9.607,17363,7.024,17364,9.607,17365,7.024,17366,6.505,17367,5.907,17368,7.024,17369,7.024,17370,7.024,17371,7.024,17372,7.024,17373,7.024,17374,9.607,17375,7.024]],["title/injectables/OauthProviderLoginFlowUc.html",[589,0.926,17173,5.842]],["body/injectables/OauthProviderLoginFlowUc.html",[0,0.163,3,0.009,4,0.009,5,0.004,7,0.067,8,0.833,27,0.437,29,0.851,30,0.001,31,0.622,32,0.138,33,0.508,34,0.809,35,1.22,36,2.633,47,0.961,95,0.15,101,0.006,103,0,104,0,122,1.826,135,1.624,148,1.099,153,1.436,174,4.924,179,7.949,180,3.083,186,7.949,187,6.513,228,1.91,277,0.68,290,2.315,317,2.78,365,3.891,379,5.366,412,2.096,433,0.89,478,1.33,579,2.505,589,0.963,591,1.127,595,1.788,652,2.675,653,2.982,657,2.724,693,2.157,871,1.734,1312,2.224,1853,1.549,1862,6.167,2007,2.353,2653,2.19,2671,3.399,2749,5.484,3853,2.493,4531,9.329,5027,3.677,5091,2.529,5100,7.432,5401,6.949,6216,7.949,6222,4.85,6376,4.595,8056,3.913,8098,3.547,8112,3.402,8114,4.653,8164,7.831,8252,5.005,8253,2.978,9427,4.156,10149,3.983,10203,3.846,10481,4.924,10557,5.113,10932,8.139,10958,3.402,10983,4.156,11298,8.005,11366,3.731,11384,3.731,13519,3.633,13705,9.378,13716,9.668,13717,4.156,15784,6.287,15819,10.274,17164,4.156,17173,6.073,17182,9.378,17191,3.846,17217,4.156,17229,4.386,17231,7.949,17236,6.554,17237,3.983,17241,4.386,17246,9.38,17258,6.336,17260,8.105,17297,5.689,17376,8.105,17377,8.105,17378,7.222,17379,4.737,17380,4.737,17381,4.737,17382,6.688,17383,4.737,17384,4.737,17385,4.386,17386,4.737,17387,7.222,17388,4.737,17389,4.156,17390,4.156,17391,4.737,17392,7.222,17393,4.737,17394,4.737,17395,7.222,17396,4.737,17397,4.737,17398,4.737,17399,4.737,17400,4.737,17401,4.737,17402,3.731,17403,4.737,17404,4.737,17405,4.737,17406,4.737,17407,4.737,17408,4.737,17409,4.737,17410,4.737]],["title/injectables/OauthProviderLogoutFlowUc.html",[589,0.926,17174,5.842]],["body/injectables/OauthProviderLogoutFlowUc.html",[0,0.318,3,0.017,4,0.017,5,0.008,7,0.129,8,1.323,27,0.452,29,0.879,30,0.001,31,0.643,32,0.143,33,0.524,35,1.067,36,2.643,47,0.887,95,0.143,101,0.012,103,0.001,104,0.001,135,1.202,148,0.912,187,7.045,228,1.671,277,1.324,400,2.746,433,1.136,589,1.53,591,2.194,4531,6.621,5027,4.694,10481,7.824,10932,10.048,10958,6.621,17174,9.65,17182,10.144,17191,7.484,17217,8.087,17236,6.903,17301,11.57,17411,11.475,17412,9.218,17413,11.475,17414,9.218,17415,11.475,17416,9.218]],["title/modules/OauthProviderModule.html",[252,1.836,17170,6.094]],["body/modules/OauthProviderModule.html",[0,0.254,3,0.014,4,0.014,5,0.007,30,0.001,95,0.158,101,0.01,103,0,104,0,187,4.149,252,2.963,254,2.651,255,2.807,256,2.879,257,2.868,258,2.858,259,4.079,260,4.175,265,5.966,269,3.879,270,2.827,271,2.768,276,3.879,277,1.057,279,3.076,1027,2.255,1915,8.943,1933,9.897,1934,5.797,2671,2.373,3843,8.018,3853,3.874,5021,9.663,5026,5.644,5027,3.747,6764,9.663,6771,5.797,10474,10.477,10481,5.018,13698,11.736,13705,11.33,13716,5.975,13717,6.456,15992,11.321,17164,6.456,17170,12.806,17177,6.189,17238,6.815,17366,6.815,17367,6.189,17417,7.359,17418,7.359,17419,7.359,17420,7.359,17421,7.359,17422,7.359]],["title/classes/OauthProviderRequestMapper.html",[0,0.239,17389,6.094]],["body/classes/OauthProviderRequestMapper.html",[0,0.316,2,0.974,3,0.017,4,0.017,5,0.008,7,0.129,8,1.318,27,0.36,29,0.701,30,0.001,31,0.513,32,0.114,33,0.418,35,1.06,47,0.972,59,2.842,77,5.899,95,0.13,101,0.012,103,0.001,104,0.001,148,0.906,169,7.211,170,7.211,174,6.243,179,10.112,183,4.975,184,8.478,185,4.268,187,6.442,467,3.627,5027,5.817,5100,9.196,6866,7.211,9391,8.478,10481,6.243,10557,7.62,10958,6.576,15819,11.114,17237,7.699,17389,10.024,17390,10.024,17423,12.456,17424,9.155,17425,9.155,17426,9.155]],["title/injectables/OauthProviderResponseMapper.html",[589,0.926,17175,5.842]],["body/injectables/OauthProviderResponseMapper.html",[0,0.255,3,0.014,4,0.014,5,0.007,7,0.104,8,1.149,10,2.966,27,0.494,29,0.962,30,0.001,31,0.703,32,0.156,33,0.574,35,1.454,95,0.128,101,0.01,103,0,104,0,148,1.242,153,2.06,164,7.462,171,4.978,174,5.055,187,7.292,277,1.065,589,1.329,591,1.764,829,4.372,2257,7.157,5027,6.584,6261,9.772,6279,10.122,6303,10.122,10282,6.504,10481,5.055,10954,9.013,10958,5.325,10965,9.228,15667,6.504,15784,8.645,17175,8.38,17234,9.231,17236,9.013,17237,6.234,17246,9.481,17296,9.481,17297,10.186,17390,11.346,17427,9.965,17428,9.965,17429,9.965,17430,9.965,17431,9.965,17432,9.965,17433,7.414,17434,9.965,17435,9.965,17436,7.414,17437,9.965,17438,9.965,17439,7.414,17440,7.414,17441,7.414,17442,7.414,17443,7.414]],["title/classes/OauthProviderService.html",[0,0.239,10932,5.09]],["body/classes/OauthProviderService.html",[0,0.168,2,0.52,3,0.009,4,0.009,5,0.005,7,0.069,8,0.853,9,6.769,27,0.528,29,1.021,30,0.001,31,0.746,32,0.166,33,0.609,34,1.524,35,1.554,36,3.016,47,1.036,55,2.257,56,3.491,58,5.824,59,3.318,95,0.056,100,1.705,101,0.006,103,0,104,0,160,8.366,162,9.367,176,2.472,179,8.077,290,1.749,339,2.918,379,6.58,2802,3.569,2913,6.408,4531,8.386,6229,3.64,6306,7.027,10932,5.418,10954,8.743,14202,4.287,17177,11.367,17186,6.488,17187,6.488,17188,6.488,17189,7.827,17190,6.488,17218,6.848,17219,6.488,17221,6.848,17224,6.848,17226,6.848,17230,6.848,17231,9.479,17234,3.748,17236,3.659,17257,6.848,17258,6.488,17259,6.488,17261,6.488,17296,3.849,17297,3.849,17376,6.848,17377,6.848,17382,6.848,17385,6.848,17444,4.887,17445,7.395,17446,9.948,17447,4.887,17448,7.395,17449,4.887,17450,7.395,17451,4.887,17452,7.395,17453,4.887,17454,7.395,17455,4.887,17456,4.887,17457,4.887,17458,7.395,17459,4.887,17460,7.395,17461,4.887,17462,4.887,17463,7.395,17464,4.887,17465,4.887,17466,4.887,17467,4.887,17468,4.887,17469,7.395,17470,4.887,17471,7.395,17472,4.887]],["title/modules/OauthProviderServiceModule.html",[252,1.836,10474,5.64]],["body/modules/OauthProviderServiceModule.html",[0,0.33,3,0.018,4,0.018,5,0.009,30,0.001,95,0.151,101,0.013,103,0.001,104,0.001,162,6.632,252,3.357,254,3.447,255,3.65,256,3.744,257,3.73,258,3.716,259,4.271,260,4.73,269,4.594,270,3.676,271,3.6,276,3.744,277,1.375,685,5.591,1054,5.396,1470,5.351,3857,7.666,5027,4.873,9957,7.34,10474,11.038,10932,10.371,17177,8.048,17473,9.57,17474,9.57,17475,9.57,17476,9.57,17477,11.743,17478,9.57]],["title/injectables/OauthProviderUc.html",[589,0.926,17176,5.842]],["body/injectables/OauthProviderUc.html",[0,0.292,3,0.016,4,0.016,5,0.008,7,0.119,8,1.253,26,2.808,27,0.473,29,0.92,30,0.001,31,0.673,32,0.15,33,0.549,35,1.258,36,2.924,39,3.008,47,0.852,95,0.145,99,1.731,101,0.011,103,0.001,104,0.001,135,1.418,148,1.075,187,7.145,228,1.533,277,1.215,400,2.52,433,1.043,589,1.449,591,2.014,5027,4.308,6310,6.372,10481,7.411,10932,9.829,10958,6.077,17176,9.14,17182,10.289,17191,6.869,17259,9.536,17261,9.536,17296,6.664,17347,9.14,17479,8.461,17480,8.461,17481,10.869,17482,8.461,17483,10.869,17484,8.461,17485,8.461,17486,8.461]],["title/controllers/OauthSSOController.html",[314,2.659,17000,6.094]],["body/controllers/OauthSSOController.html",[0,0.246,3,0.014,4,0.014,5,0.007,7,0.1,8,1.119,27,0.382,29,0.743,30,0.001,31,0.543,32,0.121,33,0.443,35,1.123,36,2.505,47,0.945,95,0.154,100,2.486,101,0.009,103,0,104,0,125,1.696,135,1.265,148,0.96,153,1.169,159,0.732,176,3.604,190,1.742,193,5.145,202,1.637,228,1.758,274,2.978,277,1.023,290,1.685,314,2.727,316,3.437,317,2.769,325,5.881,349,6.029,365,5.264,388,3.055,392,3.724,395,3.832,398,5.256,400,2.122,579,2.039,652,1.452,1027,2.183,1470,3.984,1471,5.22,1475,4.478,1585,5.897,1595,5.784,1613,5.991,1886,5.784,1983,6.514,2445,2.966,2446,4.531,3005,3.363,3209,3.675,3382,3.26,4030,4.286,7584,4.286,7800,4.651,8112,9.56,11983,9.077,13427,8.157,13451,5.335,17000,8.51,17487,11.029,17488,7.124,17489,11.029,17490,11.029,17491,7.124,17492,10.388,17493,7.124,17494,7.124,17495,7.124,17496,7.124,17497,7.124,17498,7.124,17499,7.124,17500,7.124,17501,7.124,17502,7.124,17503,7.124,17504,7.124,17505,9.7,17506,9.7,17507,7.124,17508,7.124,17509,7.124,17510,7.124,17511,7.124,17512,7.124,17513,7.124,17514,7.124,17515,7.124]],["title/classes/OauthSsoErrorLoggableException.html",[0,0.239,1463,5.202]],["body/classes/OauthSsoErrorLoggableException.html",[0,0.328,2,1.013,3,0.018,4,0.018,5,0.009,7,0.134,8,1.35,27,0.375,30,0.001,32,0.119,35,1.102,95,0.134,101,0.012,103,0.001,104,0.001,148,0.942,231,2.03,277,1.368,1027,2.918,1080,4.037,1115,3.646,1237,3.452,1312,5.953,1422,5.561,1423,5.985,1426,5.936,1462,5.241,1463,8.768,1468,5.985,1469,6.297,1471,8.58,1477,4.946,1478,5.161,4202,7.305,10342,6.396,17095,10.843,17516,9.525]],["title/interfaces/OauthTokenResponse.html",[159,0.714,16878,5.64]],["body/interfaces/OauthTokenResponse.html",[3,0.019,4,0.019,5,0.009,7,0.144,30,0.001,32,0.163,47,1.024,101,0.013,103,0.001,104,0.001,112,0.956,159,1.054,161,2.435,177,11.897,178,11.01,16834,9.496,16878,9.941,17203,12.558,17517,9.496]],["title/interfaces/ObjectKeysRecursive.html",[159,0.714,7258,5.202]],["body/interfaces/ObjectKeysRecursive.html",[3,0.016,4,0.016,5,0.01,7,0.117,30,0.001,32,0.157,47,1.043,55,2.621,95,0.095,101,0.018,103,0.001,104,0.001,112,0.842,125,3.182,159,1.374,161,1.984,339,3.163,414,6.606,1302,6.621,1304,4.751,1444,4.634,2232,5.079,5187,6.264,6513,4.751,7240,6.257,7241,6.257,7242,6.581,7243,6.408,7244,6.408,7245,5.252,7246,6.257,7247,5.697,7248,5.697,7249,5.697,7250,5.697,7251,5.891,7252,5.192,7253,5.079,7254,5.079,7255,6.122,7256,10.014,7257,10.014,7258,8.074]],["title/interfaces/OcsResponse.html",[159,0.714,13012,5.202]],["body/interfaces/OcsResponse.html",[3,0.018,4,0.018,5,0.009,7,0.13,30,0.001,32,0.156,34,1.582,47,0.974,55,2.513,101,0.018,103,0.001,104,0.001,112,0.899,122,1.932,159,1.431,161,2.199,172,4.892,339,2.717,402,3.314,532,3.436,1076,5.892,1081,6.315,1115,3.545,3370,4.156,4949,6.315,7452,5.361,13009,6.935,13010,7.103,13011,6.935,13012,8.617,13013,10.045,13014,8.537,13015,7.103,13016,7.103,13017,6.935,13018,7.103,13019,6.786,13020,6.935,13021,7.103,13022,6.935]],["title/classes/OidcConfigDto.html",[0,0.239,14508,5.472]],["body/classes/OidcConfigDto.html",[0,0.278,2,0.857,3,0.015,4,0.015,5,0.007,7,0.113,27,0.549,29,0.617,30,0.001,31,0.451,32,0.174,33,0.368,47,1.028,101,0.011,103,0.001,104,0.001,112,0.822,433,0.993,2160,7.762,2185,6.177,6310,5.896,8260,7.055,13688,5.491,14508,10.427,14943,5.901,14945,5.901,14962,7.875,15001,6.343,15003,6.343,15006,6.343,15008,6.343,15010,8.593,15011,8.593,15012,8.593,15013,8.782,17067,7.458,17069,7.458,17076,7.458,17078,7.458,17079,7.458,17518,14.061,17519,10.86,17520,10.527,17521,8.053,17522,8.053,17523,8.053,17524,8.053,17525,8.053,17526,8.053,17527,8.053,17528,8.053,17529,8.053,17530,8.053,17531,8.053,17532,8.053,17533,8.053,17534,8.053,17535,8.053,17536,8.053]],["title/classes/OidcConfigEntity.html",[0,0.239,14940,5.202]],["body/classes/OidcConfigEntity.html",[0,0.323,2,0.464,3,0.008,4,0.008,5,0.004,7,0.061,26,1.395,27,0.469,29,0.334,30,0.001,31,0.244,32,0.154,33,0.199,47,1.038,83,2.42,95,0.107,96,1.15,101,0.013,103,0,104,0,110,2.874,112,0.529,122,0.91,134,1.541,157,1.004,159,0.448,185,1.494,190,2.082,195,2.987,196,4.516,197,1.213,205,1.694,223,4.494,224,1.267,225,2.603,226,1.976,228,0.79,229,1.725,231,0.756,232,1.182,233,1.361,331,1.93,433,0.537,561,1.957,620,2.71,628,2.597,886,2.615,997,2.741,1454,2.68,1561,3.075,1593,2.68,2108,1.904,2160,5.501,2185,3.345,2685,3.45,4607,3.618,4645,4.867,4679,2.651,4870,2.81,5027,3.45,5163,2.4,5168,2.502,6229,1.779,6310,4.713,6627,3.45,6647,2.81,6648,3.022,7182,3.672,8118,2.741,8204,2.928,8260,5.639,10401,2.886,11436,2.886,13450,6.496,13511,4.26,13524,3.266,13525,3.266,13526,3.195,13527,3.266,13571,2.928,13574,2.847,13576,2.928,13579,2.928,13582,2.68,13586,2.886,13688,4.621,13850,3.345,14244,4.164,14257,5.355,14258,2.847,14259,2.847,14510,5.97,14516,4.366,14627,3.266,14907,4.551,14911,3.435,14913,4.966,14915,7.019,14916,3.541,14917,3.541,14918,3.541,14919,3.541,14920,3.541,14921,3.541,14922,3.541,14923,3.541,14924,3.541,14925,3.541,14939,5.198,14940,8.398,14941,4.551,14942,3.541,14943,4.966,14944,3.345,14945,4.966,14946,3.345,14947,3.266,14948,3.266,14949,3.266,14950,3.345,14951,3.266,14952,3.266,14953,3.266,14954,3.345,14955,3.345,14956,3.266,14957,3.345,14958,3.266,14959,3.266,14960,3.266,14961,3.345,14962,6.294,14963,3.435,14964,3.132,14965,3.541,14966,3.541,14967,3.541,14968,3.541,14969,3.541,14970,3.541,14971,3.541,14972,3.541,14973,3.541,14974,3.345,14975,3.541,14976,3.541,14977,3.541,14978,3.541,14979,3.541,14980,3.541,14981,3.435,14982,3.541,14983,3.541,14984,3.195,14985,3.541,14986,3.541,14987,3.541,14988,3.541,14989,3.541,14990,3.541,14991,3.541,14992,3.541,14993,3.541,14994,3.541,14995,3.541,14996,3.541,14997,3.541,14998,5.502,14999,3.345,15000,3.541,15001,3.435,15002,3.345,15003,3.435,15004,3.345,15005,3.345,15006,3.435,15007,3.345,15008,3.435,15009,3.345,15010,6.09,15011,6.09,15012,6.09,15013,6.224,15014,3.345,15015,3.541,15016,3.345,15017,3.541,15018,3.541,15019,3.541,15020,3.541,15021,3.541,15022,3.345,15023,3.435,15024,3.345,15025,3.435,17537,4.361,17538,4.361,17539,4.361,17540,4.361,17541,4.361,17542,4.361,17543,4.361,17544,4.361,17545,4.361]],["title/classes/OidcContextResponse.html",[0,0.239,6288,5.842]],["body/classes/OidcContextResponse.html",[0,0.3,2,0.925,3,0.017,4,0.017,5,0.008,7,0.122,27,0.52,30,0.001,32,0.165,33,0.654,47,0.986,95,0.126,101,0.011,103,0.001,104,0.001,112,0.864,185,3.791,187,7.619,190,2.374,202,1.998,277,1.249,296,3.694,6288,9.304,6299,11.855,6714,8.056,11284,8.738,17546,11.266,17547,11.266,17548,11.266,17549,11.266,17550,8.699,17551,8.699,17552,8.699,17553,8.699,17554,8.699,17555,8.699]],["title/classes/OidcIdentityProviderMapper.html",[0,0.239,14473,5.842]],["body/classes/OidcIdentityProviderMapper.html",[0,0.287,2,0.887,3,0.016,4,0.016,5,0.008,7,0.117,8,1.242,27,0.424,29,0.825,30,0.001,31,0.603,32,0.134,33,0.492,35,0.965,47,0.846,95,0.152,101,0.011,103,0.001,104,0.001,148,0.825,180,3.56,195,2.356,228,1.511,277,1.198,433,1.028,652,1.7,688,3.936,711,3.534,1268,5.123,2087,3.607,2160,5.518,4840,6.967,4841,7.41,5156,8.93,5157,9.235,5159,5.879,6310,4.192,6627,4.245,8260,5.016,12389,5.123,14394,6.244,14473,9.054,14508,9.927,14510,5.988,14516,5.372,14524,11.043,14539,7.721,14541,7.315,14545,11.671,14550,6.769,14570,7.721,14627,8.063,14638,7.721,14999,6.395,15002,6.395,15004,6.395,15005,6.395,15007,6.395,15009,6.395,15010,6.109,15011,6.109,15012,6.109,17032,7.721,17556,11.925,17557,8.338,17558,10.767,17559,8.338,17560,8.338,17561,10.767,17562,8.338,17563,8.338,17564,8.338,17565,8.338,17566,8.338,17567,8.338,17568,8.338,17569,8.338,17570,8.338]],["title/injectables/OidcMockProvisioningStrategy.html",[589,0.926,17571,5.842]],["body/injectables/OidcMockProvisioningStrategy.html",[0,0.264,3,0.015,4,0.015,5,0.007,7,0.108,8,1.175,27,0.451,29,0.781,30,0.001,31,0.571,32,0.127,33,0.466,35,1.325,36,2.581,47,0.544,95,0.149,100,2.676,101,0.01,103,0,104,0,135,1.493,142,2.789,148,1.133,153,1.878,173,6.746,195,1.678,231,1.767,277,1.101,317,2.48,339,2.25,436,3.393,579,2.195,589,1.359,591,1.825,704,3.904,1476,6.196,1548,5.743,1585,4.662,1610,5.619,1719,7.469,2357,4.361,3382,3.51,5224,6.407,7966,6.449,10024,5.229,11183,8.389,12687,9.61,13689,6.449,14244,8.024,14246,8.029,14248,8.275,14249,9.379,14253,8.275,14254,9.136,14257,7.376,14258,5.006,14259,5.006,14260,7.101,14261,7.817,14262,6.728,14266,7.101,14278,8.275,14282,6.449,14283,6.728,14284,7.101,16886,6.449,17571,8.571,17572,7.669,17573,7.669,17574,7.669,17575,7.669,17576,6.728,17577,7.669,17578,7.101,17579,10.193,17580,7.669,17581,7.669]],["title/injectables/OidcProvisioningService.html",[589,0.926,17582,5.64]],["body/injectables/OidcProvisioningService.html",[0,0.106,3,0.006,4,0.006,5,0.003,7,0.043,8,0.59,26,2.51,27,0.401,29,0.78,30,0.001,31,0.627,32,0.132,33,0.465,34,0.874,35,1.126,36,2.467,39,1.416,47,0.828,48,6.641,49,1.161,51,1.476,59,0.955,64,4.031,95,0.142,99,0.63,100,1.074,101,0.004,103,0,104,0,125,2.183,135,1.692,142,3.965,148,1.046,153,1.877,195,1.438,197,0.856,208,1.934,228,1.845,277,0.442,290,2.3,317,2.727,433,0.631,478,0.864,574,1.735,578,1.609,579,1.881,589,0.682,591,0.732,614,0.948,652,2.515,657,2.927,666,7.458,700,1.485,701,1.485,702,1.519,703,2.639,704,4.328,734,2.148,756,1.217,812,1.983,980,2.839,1027,0.943,1065,5.615,1422,1.26,1472,1.721,1539,2.498,1712,2.304,1718,2.255,1829,1.308,1853,1.006,1882,1.174,1940,2.009,2065,5.068,2067,4.553,2069,3.048,2070,5.41,2072,2.588,2445,4.048,3331,2.21,3370,2.297,3388,3.367,3421,2.066,3422,2.009,3853,1.62,4168,2.132,4463,1.912,4541,3.202,4667,4.412,4815,2.066,4816,2.098,4979,5.499,4986,2.36,5010,2.21,5082,7.458,5096,2.304,5168,1.765,5401,5.519,5420,2.498,6376,3.256,7443,3.547,7451,2.066,7500,2.21,8056,5.269,8062,5.221,8065,2.498,10001,8.581,10004,4.49,10009,6.695,10014,2.588,10024,4.48,10031,7.988,10033,2.009,10049,4.48,10403,3.75,11183,5.61,11184,2.36,11297,2.424,11425,8.177,11434,2.588,11435,2.36,11436,4.349,12462,3.437,12672,5.039,12674,8.774,12690,2.588,12691,2.588,12824,8.177,12872,2.7,13088,2.304,14278,2.498,14280,8.177,14824,2.588,14984,3.75,15085,4.155,15086,2.85,15182,2.21,15230,8.177,15869,2.588,16343,2.7,16891,6.084,17130,5.764,17582,4.155,17583,10.57,17584,3.077,17585,5.118,17586,5.118,17587,5.118,17588,6.57,17589,5.118,17590,5.118,17591,6.57,17592,3.077,17593,5.118,17594,3.077,17595,7.09,17596,5.118,17597,3.077,17598,5.118,17599,5.118,17600,3.077,17601,3.077,17602,3.077,17603,5.118,17604,3.077,17605,5.118,17606,3.077,17607,3.077,17608,3.077,17609,3.077,17610,3.077,17611,2.7,17612,2.7,17613,7.871,17614,5.118,17615,6.57,17616,3.077,17617,5.118,17618,5.118,17619,3.077,17620,3.077,17621,3.077,17622,3.077,17623,3.077,17624,2.7,17625,5.118,17626,2.7,17627,5.118,17628,5.118,17629,7.657,17630,2.85,17631,3.077,17632,2.85,17633,3.077,17634,6.57,17635,5.118,17636,3.077,17637,5.118,17638,3.077,17639,5.118,17640,3.077,17641,2.85,17642,3.077,17643,3.077,17644,3.077,17645,5.118,17646,3.077,17647,5.118,17648,4.739,17649,3.077,17650,3.077,17651,3.077,17652,3.077,17653,3.077,17654,5.118,17655,3.077,17656,5.118,17657,3.077,17658,6.57,17659,3.077,17660,3.077,17661,3.077,17662,3.077,17663,3.077,17664,3.077,17665,3.077,17666,3.077,17667,4.739,17668,3.077,17669,5.118,17670,3.077,17671,3.077,17672,5.118,17673,3.077,17674,3.077,17675,3.077,17676,5.118,17677,3.077,17678,3.077,17679,3.077,17680,3.077,17681,3.077,17682,5.118,17683,3.077,17684,3.077,17685,3.077,17686,3.077,17687,3.077,17688,3.077,17689,3.077,17690,3.077,17691,5.118,17692,3.077,17693,3.077,17694,3.077,17695,3.077,17696,3.077,17697,3.077]],["title/injectables/OidcProvisioningStrategy.html",[589,0.926,17698,6.094]],["body/injectables/OidcProvisioningStrategy.html",[0,0.257,3,0.014,4,0.014,5,0.007,7,0.105,8,1.155,9,5.85,27,0.475,29,0.866,30,0.001,31,0.633,32,0.141,33,0.516,35,1.308,36,2.39,95,0.148,100,2.607,101,0.01,103,0,104,0,125,1.778,135,0.974,148,0.739,153,1.225,228,1.354,231,1.736,233,2.331,277,1.073,290,1.766,317,2.448,339,2.191,433,0.921,436,3.348,589,1.335,591,1.778,657,2.762,703,3.109,980,4.143,1476,4.54,1853,2.443,2070,5.906,2218,3.336,2219,3.755,2220,3.624,2357,4.247,2479,5.093,4212,4.363,5224,6.295,8056,5.427,10024,5.093,12687,8.9,14244,7.964,14246,7.888,14248,8.131,14249,8.671,14253,6.064,14254,7.499,14257,4.812,14261,7.681,14262,6.552,14291,6.552,16340,6.916,16886,8.422,17576,6.552,17582,10.522,17595,6.916,17698,8.786,17699,7.469,17700,7.469,17701,7.469,17702,7.469,17703,7.469,17704,7.469,17705,6.552,17706,9.274,17707,7.469,17708,12.072,17709,7.469,17710,7.469,17711,6.916,17712,7.469,17713,10.015,17714,7.469,17715,7.469]],["title/interfaces/Options.html",[159,0.714,540,2.439]],["body/interfaces/Options.html",[0,0.227,3,0.012,4,0.012,5,0.006,7,0.092,30,0.001,32,0.132,33,0.585,36,2.237,47,0.751,95,0.121,101,0.015,103,0,104,0,112,0.717,122,2.602,125,2.517,135,1.703,148,1.046,157,3.005,159,0.676,161,1.562,194,4.477,195,1.439,197,3.182,270,2.526,317,2.291,339,1.929,400,1.958,540,4.494,560,4.866,652,1.34,657,2.618,1212,4.237,1476,7.58,1821,6.051,1927,6.749,3071,3.956,3547,4.041,3564,5.84,3753,5.769,3756,5.992,3759,5.043,3765,8.767,3766,7.032,3767,3.841,3769,5.18,3770,6.075,4656,6.885,4863,8.386,4892,7.456,5173,8.329,5175,4.557,5187,3.155,5191,8.053,5202,10.081,5253,7.719,5300,7.918,5302,5.339,6321,5.339,6323,5.769,8766,5.53,8767,6.089,8771,6.089,8773,6.089,8775,8.329,8776,5.043,8778,5.769,8779,5.53,8780,11.148,8781,8.5,8782,5.769,8783,8.5,8784,8.5,8785,6.089,8786,6.089,8787,6.089,8788,9.624,8789,8.5,8790,9.792,8791,6.089,8792,6.089,8793,5.769]],["title/classes/Page.html",[0,0.239,869,3.41]],["body/classes/Page.html",[0,0.338,2,1.043,3,0.019,4,0.019,5,0.009,7,0.138,27,0.505,29,0.751,30,0.001,31,0.549,32,0.16,33,0.448,55,2.748,101,0.013,103,0.001,104,0.001,112,0.931,339,4.016,433,1.208,532,5.079,863,7.752,864,6.837,869,5.85,881,5.353,17716,9.804,17717,11.918,17718,9.804,17719,9.079]],["title/classes/PageContentDto.html",[0,0.239,17720,6.433]],["body/classes/PageContentDto.html",[0,0.333,2,1.028,3,0.018,4,0.018,5,0.009,7,0.136,27,0.502,29,0.74,30,0.001,31,0.541,32,0.159,33,0.442,47,0.943,101,0.013,103,0.001,104,0.001,112,0.923,180,5.675,232,3.201,433,1.191,435,3.372,4923,6.083,17720,12.625,17721,13.292,17722,9.662,17723,12.759,17724,12.759,17725,11.813,17726,9.662,17727,9.662,17728,9.662,17729,9.662,17730,9.662]],["title/interfaces/Pagination.html",[159,0.714,7580,4.179]],["body/interfaces/Pagination.html",[3,0.019,4,0.019,5,0.009,7,0.137,30,0.001,32,0.16,33,0.61,55,2.791,56,6.295,70,6.79,101,0.017,103,0.001,104,0.001,112,0.928,127,4.875,159,1.222,161,2.317,770,6.133,886,3.07,2231,5.548,3929,9.992,5293,9.647,7580,8.023,7866,5.995,10784,9.36,13605,9.034,13606,9.034]],["title/classes/PaginationParams.html",[0,0.239,883,4.898]],["body/classes/PaginationParams.html",[0,0.387,2,0.946,3,0.017,4,0.017,5,0.008,7,0.125,27,0.441,30,0.001,32,0.14,33,0.59,55,2.728,56,6.282,70,6.258,95,0.128,101,0.012,103,0.001,104,0.001,112,0.876,129,3.35,130,3.069,145,4.205,157,2.583,190,2.014,200,2.724,201,4.773,202,2.043,756,4.438,758,8.945,869,5.506,875,7.425,883,7.91,889,8.234,890,7.774,891,9.108,892,8.604,893,10.389,895,8.234,896,6.273,897,9.434,3745,6.162,3750,6.386,3801,7.219,6259,9.681,9098,8.234,17731,8.892,17732,8.892,17733,8.892,17734,8.892]],["title/classes/PaginationResponse.html",[0,0.239,862,4.316]],["body/classes/PaginationResponse.html",[0,0.269,2,0.832,3,0.015,4,0.015,5,0.007,7,0.11,9,5.713,27,0.503,29,0.599,30,0.001,31,0.438,32,0.174,33,0.584,55,2.919,56,6.32,59,3.205,70,6.817,95,0.089,101,0.01,103,0,104,0,112,0.806,157,2.83,190,2.207,202,1.796,296,3.34,339,3.391,433,0.964,532,3.831,862,6.415,863,7.368,868,5.899,869,6.034,870,5.637,871,3.78,873,7.822,874,7.67,875,6.833,876,5.361,5055,7.154,17719,7.24,17735,7.818,17736,10.324,17737,7.818,17738,7.818,17739,7.818,17740,7.818,17741,7.818,17742,7.818,17743,7.818]],["title/classes/ParameterTypeNotImplementedLoggableException.html",[0,0.239,2036,6.094]],["body/classes/ParameterTypeNotImplementedLoggableException.html",[0,0.304,2,0.94,3,0.017,4,0.017,5,0.008,7,0.124,8,1.288,27,0.44,29,0.677,30,0.001,31,0.495,32,0.169,33,0.404,35,1.022,47,0.87,95,0.127,101,0.012,103,0.001,104,0.001,148,0.874,228,1.601,231,1.936,233,2.757,277,1.269,339,2.591,400,2.631,417,4.939,433,1.089,614,2.721,1027,2.706,1115,3.381,1237,3.294,1422,5.019,1423,5.784,1426,5.779,1462,4.86,1465,6.121,1468,5.784,1469,6.086,1477,4.587,1478,4.786,1756,7.029,2036,9.801,2671,2.849,3507,7.796,10045,6.614,14309,7.428,17744,12.253,17745,12.253,17746,8.833,17747,12.253,17748,8.833,17749,8.833,17750,8.833]],["title/interfaces/ParentInfo.html",[159,0.714,11784,5.472]],["body/interfaces/ParentInfo.html",[0,0.257,3,0.007,4,0.007,5,0.005,7,0.148,26,2.644,30,0.001,31,0.56,32,0.106,34,1.015,39,1.023,47,0.87,49,3.535,55,1.193,83,2.913,95,0.129,96,1.567,97,1.507,99,0.756,101,0.014,103,0,104,0,112,0.582,122,2.195,125,2.503,135,1.599,141,2.549,145,1.385,148,1.324,153,1.943,159,0.767,161,0.877,185,2.037,195,1.87,196,2.467,197,1.027,205,1.909,223,3.806,224,1.073,225,2.283,229,1.462,231,0.64,232,1.611,233,1.153,277,0.531,290,0.874,402,2.669,412,1.635,414,3.007,430,1.513,431,1.577,478,1.037,540,2.619,556,1.869,569,2.653,579,1.057,615,2.246,620,4.634,703,1.845,711,3.839,756,1.462,794,2.707,802,2.445,870,4.666,886,3.309,1078,1.62,1080,2.571,1084,2.519,1154,4.053,1309,4.269,1444,4.74,1829,2.527,1924,2.56,1936,1.735,2032,1.404,2126,2.158,2127,4.053,2183,3.368,2512,2.101,2685,3.026,2769,2.017,2911,3.95,2922,2.139,2928,1.691,3128,1.666,3370,1.658,3419,1.973,3620,1.869,3633,2.654,3885,5.47,3993,2.158,4169,2.767,4541,4.044,4551,2.834,4553,2.351,4607,3.174,4617,1.658,4618,2.179,5412,2.119,5729,2.101,5741,2.2,6606,4.136,6607,5.47,6609,1.987,6610,2.654,6611,2.654,6612,4.053,6613,2.654,6614,4.355,6615,2.767,6616,2.351,6617,2.56,6619,2.654,6621,2.767,7145,5.827,7146,4.559,7147,4.559,7148,4.559,7149,5.641,7150,2.412,7155,4.053,7157,1.753,7176,4.533,7177,4.269,7184,2.38,7192,2.519,7195,5.464,7491,2.27,7708,2.654,7709,4.119,9180,2.605,11457,2.767,11526,2.707,11559,2.605,11572,2.834,11598,4.559,11601,2.707,11606,2.834,11747,3,11748,2.91,11749,4.682,11750,3,11752,6.937,11764,6.399,11767,2.91,11768,2.707,11769,4.826,11770,4.826,11771,4.826,11772,4.826,11773,4.826,11774,4.826,11775,4.682,11776,5.827,11777,4.826,11778,2.834,11779,4.451,11780,2.767,11781,4.559,11782,2.834,11783,4.559,11784,6.731,11785,2.654,11786,2.91,11787,2.707,11788,2.707,11789,3,11790,3,11791,2.767,11792,2.91,11793,3,11794,3,11795,3,11796,3,11797,3,11798,3,11799,3,11800,3,11801,8.122,11802,3,11803,3,11804,4.826,11805,3,11806,3,11807,4.826,11808,4.826,11809,4.826,11810,3,11811,3,11812,3,11813,3,11814,3,11815,3,11816,3,11817,4.826,11818,6.054,11819,2.91,11820,3,11821,4.826,11822,2.91,11823,3,11824,4.826,11825,3,11826,6.054,11827,6.054,11828,2.91,11829,5.874,11830,3,11831,3,11832,3,11833,3,11834,3,11835,3,11836,3,11837,2.91,11838,3,11839,3,11840,3,11841,3,11842,3,11843,3,11844,3,11845,3,11846,3]],["title/classes/PatchGroupParams.html",[0,0.239,8353,6.094]],["body/classes/PatchGroupParams.html",[0,0.403,2,1.011,3,0.018,4,0.018,5,0.009,7,0.133,27,0.374,30,0.001,31,0.655,32,0.118,47,0.83,95,0.144,100,4.081,101,0.012,103,0.001,104,0.001,112,0.913,155,4.304,157,2.692,190,1.706,200,2.911,202,2.183,296,3.055,298,4.111,299,4.557,1065,6.486,2048,5.37,7795,9.158,8031,7.714,8033,7.972,8353,10.258,17751,10.258,17752,9.502,17753,10.258,17754,9.502]],["title/classes/PatchMyAccountParams.html",[0,0.239,383,6.094]],["body/classes/PatchMyAccountParams.html",[0,0.328,2,0.738,3,0.013,4,0.013,5,0.006,7,0.097,27,0.483,30,0.001,31,0.656,32,0.153,33,0.605,47,0.964,87,6.171,95,0.134,101,0.009,103,0,104,0,112,0.744,153,2.17,157,2.826,190,2.204,194,5.312,195,2.971,196,4.492,197,3.776,200,2.126,202,1.594,290,3.212,296,3.313,297,7.735,298,3.002,299,4.784,300,4.698,301,4.471,302,8.823,303,5.836,304,3.426,305,5.836,308,5.085,383,8.359,413,5.792,700,5.249,701,5.249,702,6.06,1197,5.163,3206,5.515,5055,9.41,6237,7.505,7959,8.359,17755,11.742,17756,6.939,17757,10.88,17758,10.88,17759,6.939,17760,8.012,17761,6.939,17762,6.939,17763,6.939,17764,6.939,17765,6.939,17766,8.359,17767,6.939]],["title/classes/PatchMyPasswordParams.html",[0,0.239,354,6.094]],["body/classes/PatchMyPasswordParams.html",[0,0.381,2,0.925,3,0.017,4,0.017,5,0.008,7,0.122,27,0.435,30,0.001,32,0.138,47,0.909,87,7.109,95,0.146,101,0.011,103,0.001,104,0.001,112,0.864,153,2.1,157,2.547,190,1.986,194,5.009,195,2.802,196,4.236,197,3.561,200,2.665,202,1.998,290,3.028,296,3.179,297,9.877,298,3.763,299,4.742,301,5.605,303,7.315,304,4.295,305,9.304,354,9.706,415,6.292,6329,7.667,17755,11.266,17768,8.699,17769,12.166,17770,11.064,17771,11.064,17772,8.699,17773,8.699]],["title/classes/PatchOrderParams.html",[0,0.239,17774,6.094]],["body/classes/PatchOrderParams.html",[0,0.402,2,1.006,3,0.018,4,0.018,5,0.009,7,0.133,27,0.372,30,0.001,32,0.118,47,0.828,95,0.133,100,4.069,101,0.012,103,0.001,104,0.001,112,0.91,153,1.912,157,2.684,190,1.698,195,2.069,200,2.898,202,2.173,296,3.046,615,7.087,855,4.719,896,7.577,1835,5.974,2050,4.914,2231,7.503,2525,5.087,4188,8.079,4393,7.678,6258,6.748,17751,10.228,17753,10.228,17774,10.228,17775,9.457,17776,9.457,17777,10.796,17778,9.457]],["title/classes/PatchVisibilityParams.html",[0,0.239,17779,6.094]],["body/classes/PatchVisibilityParams.html",[0,0.407,2,1.025,3,0.018,4,0.018,5,0.009,7,0.135,27,0.379,30,0.001,32,0.12,95,0.135,100,4.116,101,0.013,103,0.001,104,0.001,112,0.921,122,2.461,157,2.715,190,1.731,195,2.581,197,3.28,199,6.542,200,2.953,202,2.214,296,3.082,2048,5.397,2050,4.972,4418,11.952,5550,7.505,5551,7.7,8040,8.456,17751,10.348,17753,10.348,17779,10.348,17780,9.639,17781,9.639]],["title/classes/Path.html",[0,0.239,414,3.515]],["body/classes/Path.html",[0,0.314,2,0.44,3,0.008,4,0.008,5,0.004,7,0.058,27,0.256,29,0.498,30,0.001,31,0.45,32,0.081,33,0.189,47,0.945,55,2.69,72,1.891,83,1.892,95,0.104,96,1.089,101,0.012,103,0,104,0,112,0.507,122,2.192,131,3.308,134,2.296,141,4.505,145,3.938,148,0.9,155,1.311,157,0.951,190,0.742,194,1.616,195,2.914,196,4.376,197,1.149,205,1.324,208,2.597,223,4.363,224,1.2,225,2.496,229,1.635,231,0.716,233,1.29,289,2.392,301,2.662,374,3.938,414,5.925,433,0.509,467,1.203,478,1.16,567,1.571,711,1.925,756,4.348,870,4.384,1087,1.91,1195,3.964,1199,6.981,1200,7.59,1201,7.59,1215,5.476,1224,4.667,1237,2.918,1372,2.175,1928,4.761,2163,3.712,2183,1.628,2392,3.063,2547,4.084,2616,4.43,2881,1.972,2884,6.612,2964,4.503,3025,1.983,3370,1.855,3378,3.832,3878,3.255,3924,4.3,5093,4.241,5187,3.852,5198,3.992,5359,5.118,5968,4.667,6119,3.832,6144,4.134,6515,3.169,6516,3.169,6517,3.094,6518,3.169,6519,2.697,6525,3.094,6526,3.169,6538,6.158,6541,2.913,6542,3.169,6558,3.695,6559,3.028,6561,3.169,6569,2.913,6571,3.169,6573,3.169,6575,3.169,6577,3.169,6583,3.169,7004,6.012,7184,2.662,7407,2.968,7514,2.461,9537,2.913,11613,6.519,11614,3.475,11615,5.118,11616,6.158,11617,3.355,11621,5.464,11622,5.464,11623,6.752,11624,5.464,11625,7.39,11626,3.475,11627,5.464,11628,5.464,11629,5.464,11630,3.255,11631,3.475,11632,3.169,11633,5.275,11634,6.752,11635,3.475,11636,6.752,11637,6.651,11638,5.275,11639,4.983,11640,5.464,11641,5.118,11642,5.464,11643,4.667,11644,5.464,11645,5.464,11646,5.275,11647,5.464,11648,5.464,11649,3.255,11650,3.475,11651,3.255,11652,2.817,11653,3.475,11654,3.475,11655,3.475,11656,3.475,11657,3.475,11658,3.475,11659,3.475,11660,3.475,11661,3.475,11662,3.475,11663,3.475,11664,3.475,11665,3.475,11666,3.475,11667,3.475,11668,3.475,11669,3.475,11670,3.475,11671,3.475,11672,3.475,11673,3.475,11674,3.475,11675,3.475,11676,3.475,11677,3.475,11678,3.475,11679,3.475,11680,3.475,11681,3.475,11682,3.475,11683,3.475,11684,3.475,11685,3.475,11686,3.475,11687,3.475,11688,3.475,11689,3.475,11690,3.475,11691,3.475,11692,3.475,11693,3.475,11694,3.475,11695,3.475,11696,3.475,11697,3.475,11698,3.475,11699,3.475,11700,3.475,11701,3.475,11702,3.475,11703,3.475,11704,3.475,11705,3.475,11706,3.475,11707,3.475,11708,3.475,11709,3.475,11710,3.475,11711,3.475,11712,3.475,11713,3.475,17782,6.497]],["title/injectables/PermissionService.html",[267,5.842,589,0.926]],["body/injectables/PermissionService.html",[0,0.239,3,0.013,4,0.013,5,0.006,7,0.097,8,1.255,27,0.428,29,0.834,30,0.001,31,0.609,32,0.136,33,0.497,35,1.356,47,0.939,95,0.124,101,0.009,102,5.051,103,0,104,0,122,1.988,135,1.528,145,4.078,148,1.158,153,1.563,197,1.93,267,9.149,277,0.997,290,3.312,331,5.611,388,2.976,407,6.603,409,6.062,412,4.216,579,1.986,589,1.27,591,1.652,610,2.735,641,5.418,652,2.218,874,4.054,1223,7.135,1778,6.839,1822,6.426,1824,6.426,1825,6.426,1826,6.655,1829,2.95,1831,6.306,1836,6.426,1837,6.426,1862,5.087,1938,3.732,2511,5.674,3388,6.001,4394,6.417,5089,6.398,5202,7.505,6244,6.603,11258,8.359,12064,8.823,13055,8.823,17783,6.939,17784,9.527,17785,7.735,17786,9.527,17787,9.527,17788,6.939,17789,9.527,17790,6.939,17791,9.527,17792,8.823,17793,9.527,17794,6.939,17795,6.939,17796,6.939,17797,6.939,17798,6.939,17799,6.939,17800,5.634,17801,9.527,17802,6.939,17803,9.527,17804,6.939,17805,5.634,17806,6.939]],["title/interfaces/PlainTextMailContent.html",[159,0.714,1450,5.202]],["body/interfaces/PlainTextMailContent.html",[3,0.017,4,0.017,5,0.008,7,0.125,30,0.001,31,0.497,32,0.14,33,0.512,47,1.037,77,5.716,101,0.012,103,0.001,104,0.001,112,0.875,159,1.418,161,2.107,231,2.305,1240,5.232,1439,8.389,1440,6.804,1441,9.194,1442,8.592,1443,6.804,1444,4.921,1445,8.389,1446,6.501,1447,6.501,1448,9.658,1449,6.804,1450,9.194,1451,10.2,1452,10.2,1453,8.389,1454,6.884,1455,6.644,1456,6.644,1457,6.804,1458,6.804]],["title/classes/PostH5PContentCreateParams.html",[0,0.239,12539,5.202]],["body/classes/PostH5PContentCreateParams.html",[0,0.449,2,0.749,3,0.013,4,0.013,5,0.006,7,0.099,26,2.256,27,0.464,30,0.001,32,0.154,47,0.925,95,0.149,99,1.44,101,0.017,103,0,104,0,112,0.751,131,4.897,158,3.545,172,2.992,190,2.115,200,2.156,202,1.617,205,1.434,296,3.685,298,3.044,299,4.271,300,3.682,326,4.688,478,1.976,855,5.154,856,7.063,886,3.707,899,3.205,1195,6.09,1198,6.593,1240,6.948,2163,3.253,3169,4.191,3170,5.761,3885,5.173,4535,9.284,4538,8.405,6330,4.876,6502,5.917,6508,7.154,6558,4.002,6604,8.683,6607,5.173,8033,6.559,11637,6.402,12490,8.052,12528,5.269,12529,5.543,12533,6.782,12534,5.269,12535,5.269,12536,5.269,12537,5.397,12538,5.543,12539,7.203,12540,5.543,17807,7.037,17808,7.037,17809,7.037,17810,7.037,17811,7.037,17812,7.037]],["title/classes/PostH5PContentParams.html",[0,0.239,12537,5.328]],["body/classes/PostH5PContentParams.html",[0,0.451,2,0.758,3,0.014,4,0.014,5,0.007,7,0.1,26,1.997,27,0.466,30,0.001,32,0.137,47,0.945,95,0.149,99,1.458,101,0.017,103,0,104,0,112,0.758,131,6.029,158,3.575,190,2.126,200,2.183,202,1.637,205,1.452,296,3.691,298,3.082,299,4.299,300,3.713,326,4.709,478,2,855,5.173,856,7.089,886,3.726,899,3.244,1195,6.116,1198,6.635,1240,7.538,2163,3.293,3170,5.531,3885,3.363,4535,9.306,4538,8.459,6330,4.937,6508,7.73,6558,4.051,6604,8.074,6607,3.363,8033,6.614,11637,4.162,12490,8.087,12528,5.335,12529,5.612,12533,6.839,12534,5.335,12535,5.335,12536,5.335,12537,7.44,12538,8.688,12539,5.335,12540,5.612,17813,7.124,17814,7.124,17815,7.124,17816,9.7,17817,7.124,17818,7.124]],["title/classes/PreviewActionsLoggable.html",[0,0.239,17819,5.64]],["body/classes/PreviewActionsLoggable.html",[0,0.312,2,0.963,3,0.017,4,0.017,5,0.008,7,0.127,8,1.308,27,0.446,29,0.694,30,0.001,31,0.507,32,0.113,33,0.414,35,1.048,47,0.88,95,0.129,101,0.012,103,0.001,104,0.001,135,1.181,148,0.895,159,0.931,228,2.056,339,2.656,400,2.696,403,4.58,433,1.116,652,1.845,1027,2.774,1115,4.743,1237,3.345,1422,5.076,1423,5.849,1426,5.83,1723,7.047,1796,7.612,4202,6.943,7226,5.832,12488,8.496,12489,8.313,17819,9.211,17820,8.587,17821,12.391,17822,9.052,17823,9.519,17824,9.052,17825,9.052,17826,6.779,17827,7.349,17828,9.052,17829,9.052]],["title/classes/PreviewBuilder.html",[0,0.239,17830,6.094]],["body/classes/PreviewBuilder.html",[0,0.259,2,0.801,3,0.014,4,0.014,5,0.007,7,0.106,8,1.161,27,0.396,29,0.771,30,0.001,31,0.564,32,0.125,33,0.46,34,1.937,35,1.165,47,0.805,95,0.144,101,0.01,103,0,104,0,125,2.699,135,1.758,148,0.996,159,0.774,205,1.534,326,3.826,403,6.126,467,3.782,556,3.807,711,2.983,837,3.715,1444,5.583,1723,5.724,3287,4.279,4541,2.626,7157,5.382,7176,8.193,7222,8.884,7226,4.848,11768,5.514,12440,9.287,12486,10.942,12487,9.95,12488,9.068,12489,8.873,17823,8.31,17826,5.635,17830,8.83,17831,7.525,17832,11.341,17833,10.065,17834,7.525,17835,7.525,17836,10.065,17837,7.525,17838,7.525,17839,7.525,17840,7.525,17841,7.525,17842,7.525,17843,7.525,17844,7.525,17845,7.525,17846,7.525]],["title/interfaces/PreviewConfig.html",[159,0.714,17847,5.842]],["body/interfaces/PreviewConfig.html",[3,0.019,4,0.019,5,0.009,7,0.141,30,0.001,32,0.151,47,0.713,55,2.017,95,0.115,101,0.016,103,0.001,104,0.001,112,0.945,159,1.244,161,2.387,311,6.56,649,8.467,2802,4.021,7245,8.467,11448,6.175,12011,7.916,12013,7.916,15873,7.363,17820,6.964,17847,10.173,17848,9.306,17849,11.327,17850,11.327]],["title/interfaces/PreviewFileOptions.html",[159,0.714,17823,5.09]],["body/interfaces/PreviewFileOptions.html",[3,0.019,4,0.019,5,0.009,7,0.138,30,0.001,32,0.16,47,1.009,55,1.968,101,0.017,103,0.001,104,0.001,112,0.931,122,2.046,159,1.32,161,2.328,402,3.509,403,4.96,7226,6.316,12488,10.003,12489,10.03,17820,6.794,17823,8.733,17826,10.646,17851,8.601,17852,7.722]],["title/interfaces/PreviewFileParams.html",[159,0.714,12486,5.64]],["body/interfaces/PreviewFileParams.html",[3,0.016,4,0.016,5,0.008,7,0.122,30,0.001,31,0.486,32,0.173,33,0.505,47,1.038,55,1.742,95,0.139,101,0.014,103,0.001,104,0.001,112,0.863,159,1.136,161,2.062,205,1.769,339,2.546,403,6.473,837,4.286,1302,6.128,1304,4.936,6513,4.936,7157,4.119,7176,8.444,7222,8.95,7252,5.394,7253,5.277,7254,5.277,11966,5.745,12440,9.812,12485,8.038,12486,8.97,12487,11.224,12488,9.581,12489,9.375]],["title/modules/PreviewGeneratorAMQPModule.html",[252,1.836,17853,6.433]],["body/modules/PreviewGeneratorAMQPModule.html",[0,0.324,3,0.018,4,0.018,5,0.009,30,0.001,95,0.15,101,0.012,103,0.001,104,0.001,252,3.329,254,3.382,255,3.582,256,3.674,257,3.66,258,3.647,259,3.416,260,3.496,269,4.541,270,3.608,271,3.532,276,4.541,277,1.349,556,4.751,649,5.903,1318,7.202,5187,4.506,7157,4.457,7227,6.05,7245,7.297,7399,8.875,11768,6.881,12008,6.05,12010,10.749,12161,8.696,12320,8.239,17849,7.897,17853,13.061,17854,9.391,17855,9.391,17856,11.864,17857,9.391]],["title/classes/PreviewGeneratorBuilder.html",[0,0.239,17858,6.094]],["body/classes/PreviewGeneratorBuilder.html",[0,0.321,2,0.99,3,0.018,4,0.018,5,0.013,7,0.131,8,1.331,27,0.366,29,0.713,30,0.001,31,0.521,32,0.116,33,0.425,35,1.077,95,0.143,101,0.012,103,0.001,104,0.001,135,1.505,148,0.92,159,0.956,339,2.729,403,5.839,467,3.653,711,2.757,1304,5.291,1444,5.16,2802,3.722,6338,10.687,7227,7.436,7600,10.65,11448,5.717,17820,7.998,17826,10.544,17858,10.125,17859,9.37,17860,9.304,17861,11.541,17862,9.304]],["title/injectables/PreviewGeneratorConsumer.html",[589,0.926,17863,6.094]],["body/injectables/PreviewGeneratorConsumer.html",[0,0.279,3,0.015,4,0.015,5,0.007,7,0.114,8,1.219,27,0.416,29,0.81,30,0.001,31,0.592,32,0.132,33,0.483,35,0.938,95,0.154,101,0.011,103,0.001,104,0.001,125,2.515,135,1.057,148,0.801,158,2.986,159,0.833,190,1.455,228,1.468,277,1.164,317,2.548,400,2.413,433,0.999,589,1.409,591,1.928,652,1.652,657,1.854,711,3.486,871,3.869,1027,2.482,1115,3.101,1272,5.093,1274,6.899,1310,5.712,1311,5.289,1723,7.089,2445,5.622,2807,8.58,7227,5.22,9942,4.925,10403,7.744,12247,7.503,12254,7.503,12255,9.787,17819,6.578,17820,8.151,17823,9.134,17859,9.549,17863,9.272,17864,8.102,17865,9.272,17866,8.102,17867,11.15,17868,8.102,17869,8.102,17870,9.891,17871,8.102,17872,7.503,17873,7.108,17874,7.108,17875,7.108,17876,8.102,17877,10.568,17878,8.102,17879,8.102,17880,8.102,17881,8.102]],["title/modules/PreviewGeneratorConsumerModule.html",[252,1.836,17856,6.094]],["body/modules/PreviewGeneratorConsumerModule.html",[0,0.284,3,0.016,4,0.016,5,0.008,8,0.95,27,0.324,29,0.631,30,0.001,31,0.461,32,0.103,33,0.376,35,0.953,95,0.158,101,0.011,103,0.001,104,0.001,135,1.393,148,0.815,153,1.351,252,3.133,254,2.966,259,3.885,265,4.938,276,3.221,277,1.183,467,3.11,556,5.404,649,6.714,651,4.166,685,4.811,686,5.915,688,3.887,1011,7.283,1016,7.542,1021,5.306,1025,5.306,1026,5.177,1027,2.523,2087,5.128,2445,5.411,2802,3.295,7227,6.882,9942,5.006,11448,5.06,12316,5.915,12477,6.686,12478,7.826,15873,6.034,17820,7.402,17847,10.549,17849,6.925,17856,10.4,17859,8.672,17863,9.371,17867,8.982,17875,7.225,17882,8.235,17883,7.225,17884,10.681,17885,8.235,17886,7.626,17887,8.235,17888,8.235,17889,8.235,17890,8.235,17891,8.235]],["title/modules/PreviewGeneratorProducerModule.html",[252,1.836,12315,6.094]],["body/modules/PreviewGeneratorProducerModule.html",[0,0.315,3,0.017,4,0.017,5,0.008,30,0.001,95,0.149,101,0.012,103,0.001,104,0.001,252,3.288,254,3.29,255,3.484,256,3.573,257,3.56,258,3.547,259,4.526,260,4.632,265,6.325,269,4.463,270,3.509,271,3.436,276,4.463,277,1.312,556,4.621,1011,9.329,1027,2.799,1311,5.963,12315,12.572,17820,6.33,17859,7.416,17892,9.134,17893,9.134,17894,9.134,17895,9.134,17896,12.108,17897,9.134,17898,9.134]],["title/injectables/PreviewGeneratorService.html",[589,0.926,17867,5.842]],["body/injectables/PreviewGeneratorService.html",[0,0.201,3,0.011,4,0.011,5,0.011,7,0.082,8,0.971,27,0.471,29,0.881,30,0.001,31,0.644,32,0.143,33,0.525,35,1.254,36,2.292,47,0.702,95,0.144,101,0.008,103,0,104,0,112,0.657,125,1.386,129,1.738,130,1.593,135,1.681,141,3.61,148,0.978,153,0.955,159,0.599,195,1.274,228,1.055,277,0.836,317,2.595,326,4.899,400,1.734,402,2.084,403,2.946,433,0.718,569,2.614,579,1.666,589,1.122,591,1.386,652,2.756,657,2.262,711,2.93,1027,1.784,1304,3.311,2445,5.143,2802,2.329,3585,7.102,6376,6.893,7222,6.98,7226,5.424,7227,6.371,7251,8.71,7600,8.028,10403,6.169,11448,3.578,11767,4.586,11791,6.304,11829,6.631,12477,6.835,12478,7.939,12488,4.36,12489,6.169,17819,4.727,17820,8.561,17823,9.052,17826,8.971,17852,4.586,17858,5.108,17859,10.029,17865,7.386,17867,7.079,17873,5.108,17874,5.108,17899,5.392,17900,11.494,17901,7.796,17902,8.418,17903,8.418,17904,5.392,17905,8.418,17906,8.418,17907,5.822,17908,8.418,17909,5.822,17910,5.822,17911,7.796,17912,5.822,17913,8.418,17914,5.822,17915,9.888,17916,5.392,17917,5.822,17918,5.822,17919,5.822,17920,5.822,17921,5.822,17922,5.822,17923,5.822,17924,5.822,17925,5.822,17926,5.822,17927,9.888,17928,5.822,17929,5.392,17930,5.822,17931,5.822,17932,5.822,17933,5.822,17934,5.822,17935,5.822,17936,5.822,17937,5.822,17938,5.822]],["title/interfaces/PreviewModuleConfig.html",[159,0.714,17850,5.842]],["body/interfaces/PreviewModuleConfig.html",[3,0.019,4,0.019,5,0.009,7,0.141,30,0.001,32,0.151,47,0.921,55,2.605,95,0.115,101,0.016,103,0.001,104,0.001,112,0.945,159,1.244,161,2.387,311,6.56,649,6.317,2802,4.021,7245,7.605,11448,6.175,12011,10.61,12013,10.61,15873,7.363,17820,6.964,17847,8.451,17848,9.306,17849,8.451,17850,10.915]],["title/interfaces/PreviewOptions.html",[159,0.714,17826,5.202]],["body/interfaces/PreviewOptions.html",[3,0.019,4,0.019,5,0.009,7,0.139,30,0.001,32,0.15,33,0.549,47,0.991,55,2.591,101,0.017,103,0.001,104,0.001,112,0.938,122,2.071,159,1.327,161,2.357,402,3.552,403,6.786,7226,8.642,12488,7.432,12489,8.798,17820,6.878,17823,7.272,17826,10.045,17851,8.707,17852,7.818]],["title/classes/PreviewParams.html",[0,0.239,7222,4.476]],["body/classes/PreviewParams.html",[0,0.467,2,0.662,3,0.012,4,0.017,5,0.008,7,0.087,26,2.521,27,0.404,30,0.001,32,0.157,33,0.56,39,1.721,47,0.963,95,0.144,99,1.273,101,0.018,103,0,104,0,110,2.151,112,0.689,122,2.141,157,1.432,159,0.639,190,1.842,195,1.931,199,4.895,200,1.906,201,4.336,202,1.429,203,5.927,205,1.268,296,3.675,298,2.69,299,4.774,300,4.274,403,3.146,855,4.958,856,6.193,886,3.228,899,2.832,1078,2.727,1080,2.144,1169,3.6,1237,1.834,1290,5.686,1291,4.116,1292,4.116,2980,4.649,3170,5.507,3885,2.936,4541,2.17,5213,6.449,6607,2.936,6788,6.342,7149,6.296,7151,4.06,7152,7.597,7157,5.299,7171,7.39,7201,4.31,7202,4.385,7203,4.385,7208,4.31,7209,8.106,7210,8.636,7211,8.636,7212,4.385,7213,4.31,7214,4.31,7215,4.385,7216,4.24,7217,6.018,7218,4.176,7219,4.24,7220,4.31,7221,4.24,7222,5.686,7223,4.385,7224,7.233,7225,4.385,7226,6.61,7227,5.686,7228,5.841,7229,6.018,7230,7.233,10856,7.743,12400,5.759,17939,6.219,17940,6.219,17941,6.219,17942,6.219,17943,6.219]],["title/injectables/PreviewProducer.html",[589,0.926,17896,5.842]],["body/injectables/PreviewProducer.html",[0,0.237,3,0.013,4,0.013,5,0.006,7,0.097,8,1.092,27,0.482,29,0.993,30,0.001,31,0.685,32,0.161,33,0.559,35,1.351,36,2.004,47,0.898,55,1.381,95,0.151,101,0.009,103,0,104,0,113,5.261,135,1.235,148,0.681,158,3.491,159,0.707,193,4.116,228,1.963,231,1.642,277,0.988,317,2.651,433,1.167,436,3.21,532,3.514,550,5.533,569,2.136,589,1.263,591,1.637,634,7.5,651,3.481,652,1.402,657,1.574,871,3.965,1027,2.108,1272,4.325,1274,4.491,1297,5.586,1298,9.471,1310,4.851,1311,4.491,1723,7.618,2087,2.976,2445,5.394,4258,7.689,4291,8.111,9942,4.182,10403,6.94,12256,7.092,12337,10.635,12338,8.309,12339,8.309,12345,6.036,12346,6.371,12347,6.036,12348,6.371,12349,6.036,12350,6.371,12351,6.371,14200,6.371,15873,5.041,17819,5.586,17820,7.506,17823,8.55,17850,5.786,17852,5.419,17870,7.965,17872,6.371,17873,6.036,17874,6.036,17886,6.371,17896,7.965,17944,6.88,17945,6.88,17946,9.471,17947,6.88,17948,6.88,17949,6.88,17950,6.88,17951,6.88]],["title/interfaces/PreviewResponseMessage.html",[159,0.714,17852,5.472]],["body/interfaces/PreviewResponseMessage.html",[3,0.019,4,0.019,5,0.009,7,0.14,30,0.001,32,0.15,47,0.992,55,2.002,101,0.017,103,0.001,104,0.001,112,0.941,122,2.7,159,1.33,161,2.369,402,4.809,403,5.046,7226,6.426,12488,7.469,12489,10.078,17820,6.912,17823,7.309,17826,9.688,17851,8.751,17852,9.486]],["title/injectables/PreviewService.html",[589,0.926,12244,5.842]],["body/injectables/PreviewService.html",[0,0.182,3,0.01,4,0.01,5,0.011,7,0.074,8,0.903,27,0.471,29,0.917,30,0.001,31,0.704,32,0.149,33,0.547,35,1.339,36,2.705,47,0.663,59,1.637,95,0.148,101,0.007,103,0,104,0,135,1.639,148,0.924,153,0.865,159,0.542,205,1.075,228,1.419,277,0.757,317,2.925,326,3.927,433,0.965,550,3.08,556,2.667,569,2.43,579,2.24,589,1.044,591,1.255,629,2.775,652,2.752,653,2.177,657,2.814,675,2.684,688,2.488,711,3.427,837,2.603,871,3.783,1027,1.615,1080,3.562,1084,3.594,1328,2.795,1723,2.998,2445,3.887,2446,4.826,2483,3.863,2487,4.152,2802,2.109,2923,4.149,3287,2.998,5187,2.529,5200,4.043,6376,5.94,7157,5.837,7176,8.142,7177,3.786,7180,6.355,7193,4.28,7198,4.28,7222,8.096,7227,3.396,11448,3.239,11768,3.863,11785,3.786,11837,4.152,11873,4.625,11964,4.625,11966,5.181,12009,4.882,12244,6.582,12320,4.625,12440,8.871,12477,6.355,12478,7.571,12486,10.533,12489,3.863,17830,4.625,17865,6.867,17896,10.07,17901,7.249,17904,4.882,17911,7.249,17952,5.272,17953,7.827,17954,9.336,17955,7.827,17956,7.827,17957,5.272,17958,7.827,17959,5.272,17960,7.827,17961,5.272,17962,5.272,17963,5.272,17964,5.272,17965,7.827,17966,5.272,17967,7.827,17968,5.272,17969,5.272,17970,5.272,17971,5.272,17972,5.272,17973,5.272,17974,5.272,17975,5.272,17976,5.272,17977,4.882,17978,5.272,17979,4.882,17980,5.272,17981,5.272,17982,7.827,17983,7.827,17984,5.272,17985,5.272,17986,5.272,17987,5.272,17988,5.272,17989,5.272]],["title/classes/PrometheusMetricsConfig.html",[0,0.239,17990,6.094]],["body/classes/PrometheusMetricsConfig.html",[0,0.236,2,0.728,3,0.013,4,0.013,5,0.006,7,0.096,8,1.088,27,0.55,30,0.001,32,0.157,35,0.792,47,0.826,55,2.337,95,0.078,101,0.009,103,0,104,0,112,0.737,122,2.878,125,1.629,148,1.249,153,1.548,228,2.546,433,1.331,467,3.768,569,2.125,652,2.919,711,2.797,735,4.298,1283,7.616,2218,3.057,2219,3.441,2220,3.321,2221,4.303,5868,6.712,9630,5.126,11223,8.509,17990,10.215,17991,6.845,17992,10.802,17993,10.802,17994,10.802,17995,10.802,17996,10.802,17997,10.802,17998,10.215,17999,10.802,18000,10.003,18001,10.003,18002,6.845,18003,6.845,18004,6.845,18005,6.845,18006,6.845,18007,6.845,18008,6.845,18009,6.845,18010,6.845,18011,6.845,18012,6.845,18013,6.845,18014,6.845,18015,6.845,18016,6.845,18017,6.845,18018,6.845,18019,6.845,18020,6.845,18021,9.438,18022,9.438,18023,9.438,18024,9.438,18025,9.438,18026,6.845,18027,6.845,18028,6.845,18029,6.845,18030,6.845,18031,11.643]],["title/classes/PrometheusMetricsSetupStateLoggable.html",[0,0.239,18032,6.433]],["body/classes/PrometheusMetricsSetupStateLoggable.html",[0,0.233,2,0.718,3,0.013,4,0.013,5,0.006,7,0.095,8,1.078,27,0.368,29,0.517,30,0.001,31,0.378,32,0.084,33,0.309,35,0.782,95,0.132,101,0.015,103,0,104,0,129,2.016,135,1.64,148,1.061,153,2.063,228,1.224,289,6.208,339,1.981,385,4.604,400,2.011,433,0.832,871,2.472,876,3.506,886,2.125,1027,2.069,1115,2.585,1220,3.874,1237,2.757,1283,4.761,1372,3.555,1419,5.924,1421,5.924,1422,4.742,1423,5.063,1425,7.863,1426,5.196,1627,9.031,1749,3.84,2163,3.122,2445,5.06,2582,4.245,2831,5.179,2884,6.452,2892,5.057,7584,6.452,7681,5.877,9537,4.761,11223,9.118,16895,10.156,17990,5.924,18000,9.932,18001,9.932,18032,10.72,18033,10.725,18034,6.753,18035,6.753,18036,11.576,18037,6.753,18038,6.753,18039,5.924,18040,6.753,18041,6.753,18042,6.753,18043,12.574,18044,13.861,18045,6.753,18046,6.753,18047,6.753,18048,5.319,18049,6.753,18050,6.753,18051,9.35,18052,6.753,18053,6.753,18054,5.179,18055,6.753,18056,9.35,18057,12.155,18058,6.753,18059,6.753,18060,6.753,18061,6.753,18062,6.753,18063,6.753,18064,6.753,18065,6.753,18066,9.35,18067,6.753,18068,6.753,18069,6.753,18070,6.753,18071,6.753]],["title/classes/PropertyData.html",[0,0.239,2731,5.64]],["body/classes/PropertyData.html",[0,0.319,2,0.985,3,0.018,4,0.018,5,0.009,7,0.13,27,0.515,29,0.71,30,0.001,31,0.733,32,0.163,33,0.572,47,0.93,95,0.106,101,0.012,103,0.001,104,0.001,112,0.899,130,3.425,223,2.875,232,3.119,433,1.141,435,3.232,1756,7.726,2183,3.65,2731,10.935,2771,10.984,4617,4.156,5176,8.332,8163,6.935,8202,7.519,8203,7.519,8229,7.295,18072,13.468,18073,8.576,18074,11.508,18075,9.261,18076,9.261]],["title/interfaces/ProviderConsentResponse.html",[159,0.714,17234,5.328]],["body/interfaces/ProviderConsentResponse.html",[3,0.015,4,0.015,5,0.007,7,0.109,30,0.001,32,0.176,33,0.668,47,1.042,70,6.24,77,7.897,95,0.117,101,0.01,103,0,104,0,112,0.802,122,2.403,159,0.797,161,1.842,162,5.376,181,10.753,182,10.753,183,4.675,185,3.946,1506,6.523,2802,4.904,4531,8.803,6263,11.35,6264,11.35,6265,10.307,6266,10.307,6267,10.307,6268,9.951,10954,9.178,17234,7.877,18077,7.757,18078,10.307,18079,7.184,18080,7.184,18081,6.806]],["title/interfaces/ProviderConsentSessionResponse.html",[159,0.714,17296,5.472]],["body/interfaces/ProviderConsentSessionResponse.html",[3,0.017,4,0.017,5,0.008,7,0.125,30,0.001,32,0.175,33,0.656,47,1.013,55,2.464,95,0.101,101,0.012,103,0.001,104,0.001,112,0.875,122,2.562,159,0.912,161,2.107,162,6.148,166,11.943,167,11.314,168,11.943,169,10.158,170,10.158,171,8.66,172,4.763,177,7.784,178,7.203,6305,8.216,17234,9.891,17296,8.824,18082,8.872,18083,12.897,18084,8.872]],["title/interfaces/ProviderLoginResponse.html",[159,0.714,17297,5.472]],["body/interfaces/ProviderLoginResponse.html",[3,0.017,4,0.017,5,0.008,7,0.122,30,0.001,32,0.175,33,0.585,47,1.036,70,6.519,77,8.249,95,0.126,101,0.011,103,0.001,104,0.001,112,0.864,122,2.539,159,0.894,161,2.066,162,6.028,1506,7.315,2802,5.123,4531,9.196,6265,10.767,6266,10.767,6267,10.767,6268,10.395,10954,9.588,15826,11.857,17297,8.715,18078,10.767,18079,8.056,18080,8.056,18081,7.632,18085,8.699]],["title/interfaces/ProviderOidcContext.html",[159,0.714,18078,5.842]],["body/interfaces/ProviderOidcContext.html",[3,0.018,4,0.018,5,0.009,7,0.134,30,0.001,32,0.169,33,0.656,47,1.028,101,0.013,103,0.001,104,0.001,112,0.916,159,0.981,161,2.267,162,6.616,185,4.349,1777,8.841,11284,9.507,17546,12.258,17547,12.258,17548,12.258,17549,12.258,18078,9.861,18086,9.547]],["title/interfaces/ProviderRedirectResponse.html",[159,0.714,17236,5.202]],["body/interfaces/ProviderRedirectResponse.html",[3,0.02,4,0.02,5,0.01,7,0.151,30,0.001,32,0.134,47,0.948,101,0.014,103,0.001,104,0.001,112,0.983,159,1.105,161,2.553,162,7.449,17236,9.428,18087,10.749,18088,12.752]],["title/classes/ProvisioningDto.html",[0,0.239,14261,5.328]],["body/classes/ProvisioningDto.html",[0,0.353,2,1.091,3,0.019,4,0.019,5,0.009,7,0.144,27,0.482,29,0.786,30,0.001,31,0.574,32,0.153,33,0.469,47,0.869,101,0.013,103,0.001,104,0.001,112,0.956,433,1.264,10024,8.927,10027,8.997,14261,10.787,18089,10.255,18090,12.245,18091,12.245,18092,10.255]],["title/modules/ProvisioningModule.html",[252,1.836,17160,5.842]],["body/modules/ProvisioningModule.html",[0,0.242,3,0.013,4,0.013,5,0.006,30,0.001,95,0.159,101,0.009,103,0,104,0,252,2.893,254,2.53,255,2.679,256,2.748,257,2.738,258,2.728,259,3.982,260,4.076,264,9.141,265,5.884,269,3.758,270,2.698,271,2.642,276,3.758,277,1.009,703,2.181,1027,2.152,1054,3.961,1524,9.761,1525,9.326,1539,5.703,2069,4.183,3843,7.908,3853,3.698,3857,6.272,3982,4.717,4957,4.717,6018,8.546,10014,5.907,12705,10.703,14242,10.703,16856,11.246,17160,12.315,17571,10.703,17582,10.333,17705,6.163,18093,7.024,18094,7.024,18095,7.024,18096,7.024,18097,10.703,18098,10.703,18099,7.024,18100,7.024,18101,7.024,18102,7.024,18103,7.024,18104,7.024]],["title/injectables/ProvisioningService.html",[589,0.926,16856,5.64]],["body/injectables/ProvisioningService.html",[0,0.203,3,0.011,4,0.011,5,0.005,7,0.083,8,0.978,27,0.499,29,0.921,30,0.001,31,0.673,32,0.154,33,0.549,35,1.336,36,2.622,47,0.953,48,4.163,95,0.141,100,2.053,101,0.008,103,0,104,0,112,0.662,113,3.964,125,1.4,129,1.756,130,1.609,135,1.685,148,1.077,153,1.786,173,7.205,228,1.973,277,0.845,317,2.799,339,2.488,433,1.045,569,1.826,579,1.684,589,1.131,591,1.4,652,2.674,657,2.275,1312,2.762,1540,4.225,1605,7.422,2357,3.345,2769,5.944,3382,4.552,4957,8.677,5120,8.725,12965,6.892,14242,9.154,14244,7.94,14246,6.68,14249,8.289,14254,7.448,14257,7.013,14258,3.84,14259,3.84,14261,7.628,14282,4.946,15328,6.214,15337,8.349,16856,6.885,16881,5.16,17134,7.834,17571,9.154,18097,9.154,18105,5.882,18106,8.481,18107,8.481,18108,8.481,18109,8.481,18110,5.882,18111,9.945,18112,9.945,18113,9.945,18114,5.882,18115,8.481,18116,5.882,18117,8.481,18118,5.882,18119,8.481,18120,5.882,18121,5.882,18122,8.481,18123,5.882,18124,8.481,18125,5.882,18126,5.882,18127,4.946,18128,5.16,18129,5.882,18130,5.882,18131,5.882,18132,5.882,18133,5.882,18134,5.882,18135,5.882,18136,5.882,18137,5.882,18138,8.481,18139,5.882,18140,5.882,18141,5.882,18142,5.882,18143,5.882]],["title/classes/ProvisioningStrategy.html",[0,0.239,14244,4.269]],["body/classes/ProvisioningStrategy.html",[0,0.318,2,0.983,3,0.018,4,0.018,5,0.009,7,0.13,8,1.325,9,6.633,27,0.492,29,0.88,30,0.001,31,0.644,32,0.143,33,0.525,35,1.448,36,2.768,95,0.131,100,3.225,101,0.012,103,0.001,104,0.001,339,2.711,2357,5.254,5224,7.224,12687,10.307,14244,7.061,14246,9.052,14248,9.329,14249,9.399,14253,9.329,14254,9.799,14257,8.058,14258,6.032,14259,6.032,14261,7.086,18144,9.24,18145,9.24,18146,9.24,18147,9.24]],["title/classes/ProvisioningSystemDto.html",[0,0.239,17134,5.472]],["body/classes/ProvisioningSystemDto.html",[0,0.319,2,0.985,3,0.018,4,0.018,5,0.009,7,0.13,26,2.577,27,0.515,29,0.71,30,0.001,31,0.519,32,0.163,33,0.572,47,0.817,48,6.145,95,0.131,99,1.895,101,0.012,103,0.001,104,0.001,112,0.899,232,3.119,244,6.786,245,7.519,433,1.141,435,3.232,14244,7.693,14257,8.067,14258,6.046,14259,6.046,14941,8.408,15022,7.103,15023,7.295,15024,7.103,15025,7.295,17134,10.609,18148,13.468,18149,9.261,18150,11.508,18151,9.261,18152,9.261]],["title/classes/ProvisioningSystemInputMapper.html",[0,0.239,18128,6.094]],["body/classes/ProvisioningSystemInputMapper.html",[0,0.328,2,1.013,3,0.018,4,0.018,5,0.009,7,0.134,8,1.35,27,0.375,29,0.73,30,0.001,31,0.533,32,0.119,33,0.435,35,1.102,48,4.675,95,0.145,100,4.086,101,0.012,103,0.001,104,0.001,125,2.267,148,0.942,153,1.562,467,3.692,3382,5.359,7387,8.009,12965,9.166,14244,5.853,14257,6.137,14258,6.218,14259,6.218,14941,6.396,17134,9.223,18127,8.009,18128,10.273,18153,11.709,18154,9.525,18155,11.709,18156,11.709,18157,9.525,18158,9.525,18159,9.525,18160,9.525]],["title/classes/Pseudonym.html",[0,0.239,10557,4.058]],["body/classes/Pseudonym.html",[0,0.289,2,0.893,3,0.016,4,0.016,5,0.008,7,0.118,8,1.247,26,2.691,27,0.536,30,0.001,32,0.105,35,0.971,39,3.496,47,0.767,83,3.679,95,0.123,99,1.717,101,0.014,103,0.001,104,0.001,112,0.844,113,4.309,148,1.293,159,0.862,185,2.875,231,2.073,430,5.174,431,5.394,435,3.773,436,3.203,532,4.011,711,3.203,735,4.923,1767,5.949,1770,5.292,1773,7.35,1882,3.2,3036,5.274,3054,5.274,3057,6.609,3059,6.609,3062,5.814,3063,5.814,8385,6.609,10373,6.951,10557,7.819,18161,7.769,18162,7.769,18163,8.39,18164,8.39,18165,8.39,18166,8.39,18167,8.39,18168,8.39,18169,7.361,18170,7.769,18171,7.769,18172,6.435]],["title/modules/PseudonymApiModule.html",[252,1.836,18173,5.842]],["body/modules/PseudonymApiModule.html",[0,0.308,3,0.017,4,0.017,5,0.008,30,0.001,95,0.155,101,0.012,103,0.001,104,0.001,252,3.254,254,3.217,255,3.407,256,3.494,257,3.481,258,3.468,259,4.479,260,3.325,269,4.401,270,3.431,271,3.359,273,5.614,274,4.703,276,4.401,277,1.283,703,2.773,1856,7.804,2069,5.319,2653,4.129,3005,4.216,5021,10.187,6018,9.135,18173,12.072,18174,8.931,18175,8.931,18176,8.931,18177,11.44,18178,8.931,18179,10.805,18180,8.931,18181,8.931]],["title/controllers/PseudonymController.html",[314,2.659,18179,6.094]],["body/controllers/PseudonymController.html",[0,0.276,3,0.015,4,0.015,5,0.007,7,0.112,8,1.209,27,0.315,29,0.613,30,0.001,31,0.448,32,0.146,33,0.366,35,1.353,36,2.218,95,0.156,100,2.794,101,0.01,103,0.001,104,0.001,135,1.368,148,0.792,157,1.843,190,1.437,202,1.839,228,1.451,274,3.346,277,1.15,290,2.48,314,3.064,316,3.862,317,2.533,325,6.163,326,4.445,347,5.373,349,6.558,388,4.496,390,6.184,392,4.185,395,4.305,398,4.338,400,2.384,401,4.476,657,1.832,1390,6.515,1853,2.618,2671,3.382,3005,3.779,3209,4.129,4858,6.756,10557,7.867,10563,5.375,18162,10.829,18177,9.833,18179,9.199,18182,8.005,18183,8.005,18184,10.886,18185,8.005,18186,8.005,18187,8.005,18188,7.683,18189,8.818,18190,7.683,18191,7.023,18192,8.005,18193,10.832,18194,8.005,18195,8.005,18196,8.005,18197,8.005,18198,8.005,18199,8.005,18200,8.005]],["title/entities/PseudonymEntity.html",[205,1.416,18201,5.842]],["body/entities/PseudonymEntity.html",[0,0.292,3,0.016,4,0.016,5,0.008,7,0.119,26,2.24,27,0.473,30,0.001,32,0.15,34,1.448,39,3.63,47,0.853,49,5.152,95,0.145,96,2.869,97,3.459,99,1.735,101,0.014,103,0.001,104,0.001,112,0.939,142,3.084,159,0.872,190,2.158,205,2.219,206,2.757,219,6.721,223,4.167,224,2.463,225,4.181,229,3.354,231,1.47,232,2.298,233,2.646,242,4.463,243,5.33,458,3.392,459,5.729,4608,4.821,10373,7.217,10557,7.409,10558,7.13,10563,5.693,10564,6.883,10565,7.13,10566,6.212,10567,6.678,18201,9.152,18202,7.851,18203,8.478,18204,8.478,18205,8.478,18206,9.152]],["title/interfaces/PseudonymEntityProps.html",[159,0.714,18206,5.842]],["body/interfaces/PseudonymEntityProps.html",[0,0.292,3,0.016,4,0.016,5,0.008,7,0.119,26,2.611,30,0.001,32,0.158,33,0.497,34,2.166,39,3.715,47,0.9,49,5.271,95,0.145,96,2.869,97,3.459,99,1.735,101,0.014,103,0.001,104,0.001,112,0.939,142,3.084,159,0.872,161,2.014,205,2.219,219,6.721,223,3.938,224,2.463,225,4.181,229,3.354,231,1.47,232,2.298,233,2.646,242,4.463,243,5.33,458,3.392,459,5.729,4608,4.821,10373,7.386,10557,7.663,10563,5.693,10564,6.883,10565,7.13,10566,6.212,10567,6.678,18201,7.13,18202,7.851,18206,10.108]],["title/classes/PseudonymMapper.html",[0,0.239,18191,6.094]],["body/classes/PseudonymMapper.html",[0,0.335,2,1.035,3,0.018,4,0.018,5,0.009,7,0.137,8,1.368,27,0.383,29,0.746,30,0.001,31,0.545,32,0.121,33,0.445,34,1.662,35,1.126,39,2.694,95,0.135,101,0.013,103,0.001,104,0.001,135,1.27,148,0.963,153,1.596,467,3.727,830,6.581,837,4.805,871,4.344,1853,3.183,10373,5.355,10557,7.981,18191,10.409,18193,11.488,18207,9.732,18208,11.865,18209,9.732,18210,9.732,18211,9.732,18212,9.732]],["title/modules/PseudonymModule.html",[252,1.836,5021,5.202]],["body/modules/PseudonymModule.html",[0,0.278,3,0.015,4,0.015,5,0.007,30,0.001,95,0.154,101,0.011,103,0.001,104,0.001,252,3.102,254,2.906,255,3.078,256,3.157,257,3.145,258,3.134,259,4.27,260,4.371,269,4.123,270,3.1,271,3.035,276,4.123,277,1.159,610,3.18,1027,2.472,1933,8.084,1934,6.356,1935,7.078,2028,6.043,2446,6.187,2609,3.961,3843,8.23,3853,4.248,5021,10.897,8974,9.339,10568,11.138,11278,10.855,11298,9.808,18213,8.069,18214,8.069,18215,8.069,18216,8.069,18217,11.138,18218,8.069]],["title/classes/PseudonymParams.html",[0,0.239,18184,6.094]],["body/classes/PseudonymParams.html",[0,0.418,2,1.072,3,0.019,4,0.019,5,0.009,7,0.142,27,0.396,30,0.001,32,0.126,47,0.86,95,0.138,101,0.013,103,0.001,104,0.001,112,0.946,190,1.809,194,4.74,195,2.651,196,3.333,197,3.369,200,3.087,202,2.314,296,3.166,299,4.722,4657,8.472,10557,7.591,12820,9.329,18184,10.629,18219,12.116,18220,10.074]],["title/interfaces/PseudonymProps.html",[159,0.714,18169,6.094]],["body/interfaces/PseudonymProps.html",[0,0.3,3,0.017,4,0.017,5,0.008,7,0.122,26,2.888,30,0.001,32,0.165,39,3.659,47,0.909,83,4.047,95,0.126,99,1.78,101,0.015,103,0.001,104,0.001,112,0.864,148,1.308,159,0.894,161,2.066,185,2.981,231,2.109,430,5.415,431,5.644,1767,6.695,1770,4.478,1882,3.318,3062,6.028,3063,6.028,10373,7.274,10557,7.894,18161,8.056,18169,9.706,18170,8.056,18171,8.056,18172,6.672]],["title/classes/PseudonymResponse.html",[0,0.239,18193,5.842]],["body/classes/PseudonymResponse.html",[0,0.32,2,0.987,3,0.018,4,0.018,5,0.009,7,0.13,27,0.516,29,0.711,30,0.001,31,0.52,32,0.163,33,0.424,34,2.141,39,3.469,47,0.975,95,0.106,101,0.012,103,0.001,104,0.001,112,0.9,190,2.25,202,2.132,242,4.886,296,3.639,433,1.144,458,3.714,871,3.398,6887,8.839,6897,7.119,10373,6.897,10566,6.801,18193,11.334,18221,9.282,18222,11.524,18223,9.282,18224,9.282,18225,8.596,18226,9.282]],["title/classes/PseudonymScope.html",[0,0.239,10598,6.094]],["body/classes/PseudonymScope.html",[0,0.248,2,0.766,3,0.014,4,0.014,5,0.007,7,0.101,8,1.127,27,0.525,29,0.953,30,0.001,31,0.696,32,0.166,33,0.568,35,1.131,39,3.069,47,0.96,49,2.718,95,0.127,101,0.009,103,0,104,0,112,0.763,122,2.314,125,3.219,129,2.15,130,1.97,148,1.097,153,1.603,231,1.694,279,3.01,365,3.201,436,3.685,569,2.236,574,4.06,614,2.218,652,2.614,773,5.172,2474,6.605,2671,2.322,6229,5.518,6947,6.561,6948,6.561,6949,6.561,6954,6.561,6955,6.561,6956,4.91,6957,4.835,6958,4.91,6959,4.91,6968,4.835,6969,6.561,6970,4.91,6971,4.835,6972,4.91,6973,4.835,6974,7.447,10373,6.103,10554,5.172,10557,6.479,10598,8.572,10601,6.317,18227,7.201,18228,9.771,18229,9.048,18230,9.771,18231,9.771,18232,7.201,18233,9.048,18234,7.201,18235,9.771,18236,7.201,18237,7.201]],["title/interfaces/PseudonymSearchQuery.html",[159,0.714,10590,5.842]],["body/interfaces/PseudonymSearchQuery.html",[3,0.019,4,0.019,5,0.009,7,0.142,30,0.001,32,0.162,33,0.64,39,3.731,47,1.021,101,0.013,103,0.001,104,0.001,112,0.946,159,1.036,161,2.393,860,7.103,10373,7.418,10557,7.876,10590,10.188,10921,8.838,18238,10.074]],["title/injectables/PseudonymService.html",[589,0.926,11298,4.814]],["body/injectables/PseudonymService.html",[0,0.14,3,0.008,4,0.008,5,0.004,7,0.057,8,0.737,11,5.036,13,4.508,27,0.493,29,0.961,30,0.001,31,0.702,32,0.156,33,0.573,34,1.674,35,1.431,36,2.896,37,5.036,39,3.22,42,4.508,47,0.975,49,1.528,83,1.862,95,0.133,96,1.067,97,1.652,101,0.005,103,0,104,0,125,1.522,135,1.585,141,3.859,142,2.325,148,1.24,153,1.854,228,1.159,277,0.582,290,1.512,317,3.015,365,1.8,430,1.658,431,1.729,433,0.788,540,3.161,578,4.142,579,2.576,589,0.852,591,0.964,595,1.528,620,2.516,652,2.666,653,1.672,657,2.383,711,3.662,869,3.138,980,3.546,983,5.799,1312,1.901,1853,1.324,1882,1.544,2007,2.011,2218,1.809,2219,2.036,2220,1.964,2609,1.987,2671,3.842,2749,6,4212,2.365,4463,2.516,4778,8.334,7866,5.53,8056,5.909,8164,8.4,8253,2.545,10149,8.24,10373,2.228,10557,7.22,10563,6.044,10568,10.019,10572,5.609,10575,5.921,10576,5.377,10582,5.609,10589,5.921,10590,7.568,10592,4.904,11298,4.431,11559,2.855,13731,5.921,13949,5.921,15475,2.806,16788,5.921,18217,9.171,18239,4.049,18240,6.394,18241,6.394,18242,6.394,18243,6.394,18244,6.394,18245,6.394,18246,6.394,18247,4.049,18248,4.049,18249,6.394,18250,4.049,18251,6.394,18252,4.049,18253,4.049,18254,4.049,18255,4.049,18256,6.394,18257,4.049,18258,6.394,18259,4.049,18260,4.049,18261,4.049,18262,6.394,18263,4.049,18264,6.394,18265,4.049,18266,6.394,18267,4.049,18268,10.415,18269,4.049,18270,9,18271,4.049,18272,4.049,18273,6.394,18274,4.049,18275,4.049,18276,4.049,18277,6.394,18278,6.394,18279,4.049,18280,4.049,18281,4.049,18282,9,18283,4.049,18284,4.049,18285,4.049,18286,4.049,18287,4.049,18288,4.049,18289,4.049]],["title/injectables/PseudonymUc.html",[589,0.926,18177,5.842]],["body/injectables/PseudonymUc.html",[0,0.266,3,0.015,4,0.015,5,0.007,7,0.109,8,1.181,26,2.519,27,0.403,29,0.785,30,0.001,31,0.574,32,0.128,33,0.468,35,0.894,36,2.167,39,2.139,47,0.869,95,0.155,99,1.581,101,0.01,103,0,104,0,135,1.661,142,3.726,148,0.764,153,1.268,228,2.083,277,1.11,290,2.894,317,2.49,433,1.263,478,2.169,579,2.212,589,1.366,591,1.839,610,3.045,652,2.343,657,2.8,703,2.399,1472,4.321,1780,4.698,1853,2.527,1862,7.129,1961,4.649,2065,8.1,2067,7.964,2069,4.602,2070,6.042,2653,3.572,2658,5.662,4815,5.189,4816,5.269,10557,7.8,10576,8.615,11298,9.069,11370,6.087,11371,6.087,18177,8.615,18290,7.728,18291,7.728,18292,7.728,18293,10.245,18294,7.728,18295,11.493,18296,7.728,18297,7.728,18298,7.728,18299,7.728,18300,10.245,18301,7.728,18302,6.498]],["title/injectables/PseudonymsRepo.html",[589,0.926,18217,5.842]],["body/injectables/PseudonymsRepo.html",[0,0.187,3,0.01,4,0.01,5,0.005,7,0.076,8,0.923,13,5.646,26,2.858,27,0.488,29,0.951,30,0.001,31,0.695,32,0.155,33,0.567,34,1.368,35,1.4,36,2.824,39,3.565,42,5.646,49,2.052,95,0.128,96,1.433,97,2.218,99,1.112,101,0.007,103,0,104,0,113,4.661,125,1.294,135,1.68,142,2.912,148,1.228,153,2.113,205,2.53,206,1.768,228,0.985,277,0.781,317,2.94,400,1.619,430,2.227,431,2.321,433,0.67,589,1.068,591,1.294,657,2.399,773,7.533,1770,4.525,1853,1.778,2444,5.817,2460,3.767,2491,3.833,3071,4.817,3596,3.548,3601,4.678,3659,4.169,4721,3.304,4735,4.169,4736,4.169,4751,3.833,10373,7.088,10557,7.981,10563,5.377,10571,7.415,10572,7.025,10573,7.415,10574,7.415,10577,7.025,10578,7.415,10580,7.415,10582,7.025,10585,7.415,10587,7.415,10594,7.415,10596,7.415,10601,7.025,10602,9.712,10605,4.769,10606,5.034,10608,4.769,10609,5.034,10611,4.769,10612,5.034,10613,7.025,10616,5.034,10617,5.034,10618,4.769,10619,5.034,10620,5.034,10621,5.034,18201,10.652,18206,8.819,18217,6.733,18303,5.436,18304,5.436,18305,5.436,18306,5.436,18307,5.436,18308,5.436,18309,5.436,18310,5.436,18311,5.436,18312,5.436,18313,5.436,18314,5.436,18315,5.436,18316,5.436,18317,5.436,18318,5.436]],["title/classes/PublicSystemListResponse.html",[0,0.239,18319,5.842]],["body/classes/PublicSystemListResponse.html",[0,0.331,2,1.023,3,0.018,4,0.018,5,0.009,7,0.135,27,0.463,29,0.737,30,0.001,31,0.539,32,0.159,33,0.439,95,0.134,101,0.013,103,0.001,104,0.001,112,0.92,125,2.289,190,1.726,202,2.209,296,3.077,339,3.735,433,1.185,711,2.85,861,6.664,866,4.776,871,3.521,881,5.25,3382,6.073,6677,9.033,18319,9.904,18320,11.79,18321,11.778,18322,11.392,18323,10.907]],["title/classes/PublicSystemResponse.html",[0,0.239,18322,5.64]],["body/classes/PublicSystemResponse.html",[0,0.241,2,0.743,3,0.013,4,0.013,5,0.006,7,0.098,27,0.5,29,0.535,30,0.001,31,0.612,32,0.171,33,0.595,34,2.101,47,0.94,95,0.109,101,0.009,103,0,104,0,112,0.748,157,2.833,190,2.209,193,4.16,194,5.319,195,2.975,196,4.498,197,3.781,202,1.605,296,3.32,433,0.861,458,2.796,868,5.903,1470,6.568,2087,5.081,2108,3.05,2707,5.673,3382,6.478,5168,5.492,5347,5.504,6627,5.56,6647,4.502,11284,6.876,12401,6.75,13511,6.864,14516,7.927,15014,5.359,15016,5.359,15049,5.12,15366,5.876,15368,5.673,15370,5.876,17098,10.347,18320,12.049,18322,9.989,18324,4.927,18325,8.865,18326,9.573,18327,6.471,18328,6.988,18329,5.876,18330,6.988,18331,6.471]],["title/classes/PushDeleteRequestsOptionsBuilder.html",[0,0.239,18332,6.433]],["body/classes/PushDeleteRequestsOptionsBuilder.html",[0,0.325,2,1.004,3,0.018,4,0.018,5,0.009,7,0.133,8,1.342,10,4.658,27,0.371,29,0.723,30,0.001,31,0.528,32,0.118,33,0.431,35,1.092,47,0.979,55,2.768,95,0.108,101,0.012,103,0.001,104,0.001,148,0.933,159,0.97,467,3.676,507,5.561,2868,8.191,2869,8.606,2871,10.617,9080,8.717,9290,10.617,9298,11.565,18332,10.78,18333,11.641,18334,8.737,18335,9.435,18336,8.737]],["title/interfaces/PushDeletionRequestsOptions.html",[159,0.714,9290,5.842]],["body/interfaces/PushDeletionRequestsOptions.html",[3,0.019,4,0.019,5,0.009,7,0.14,10,3.991,30,0.001,32,0.167,47,0.992,55,2.805,101,0.013,103,0.001,104,0.001,112,0.941,159,1.025,161,2.369,2868,8.349,2869,8.771,2871,11.299,9080,7.469,9290,10.127,9298,11.788,18337,9.974,18338,9.237]],["title/interfaces/QueueDeletionRequestInput.html",[159,0.714,2796,5.328]],["body/interfaces/QueueDeletionRequestInput.html",[3,0.019,4,0.019,5,0.009,7,0.143,30,0.001,32,0.163,47,0.997,55,2.622,101,0.013,103,0.001,104,0.001,112,0.953,159,1.049,161,2.423,193,4.433,2796,9.363,2806,5.96,2868,8.412,2869,8.838,9260,8.838,9365,8.951,18339,9.448]],["title/classes/QueueDeletionRequestInputBuilder.html",[0,0.239,2874,6.094]],["body/classes/QueueDeletionRequestInputBuilder.html",[0,0.332,2,1.025,3,0.018,4,0.018,5,0.009,7,0.135,8,1.36,27,0.379,29,0.738,30,0.001,31,0.54,32,0.12,33,0.441,35,1.116,47,0.984,55,2.558,95,0.11,101,0.013,103,0.001,104,0.001,148,0.953,159,0.991,193,5.125,467,3.711,507,5.196,2796,9.775,2806,6.891,2868,7.329,2869,8.67,2874,10.348,9260,8.67,9369,8.456,9370,10.348,9488,8.926,18340,10.923]],["title/interfaces/QueueDeletionRequestOutput.html",[159,0.714,2803,5.472]],["body/interfaces/QueueDeletionRequestOutput.html",[3,0.019,4,0.019,5,0.009,7,0.141,30,0.001,32,0.162,33,0.64,47,0.994,83,3.779,101,0.013,103,0.001,104,0.001,112,0.945,159,1.033,161,2.387,193,4.367,1080,4.644,2803,9.529,2806,5.871,2811,9.045,2812,8.915,9401,9.306,18339,9.306]],["title/classes/QueueDeletionRequestOutputBuilder.html",[0,0.239,2800,6.094]],["body/classes/QueueDeletionRequestOutputBuilder.html",[0,0.272,2,0.84,3,0.015,4,0.015,5,0.007,7,0.111,8,1.198,27,0.457,29,0.89,30,0.001,31,0.65,32,0.145,33,0.531,35,1.344,47,0.978,59,3.606,83,3.834,95,0.09,101,0.01,103,0.001,104,0.001,125,1.879,135,1.03,148,1.149,159,0.812,193,5.363,467,4.012,507,4.577,652,2.368,1080,4.627,1329,4.799,2800,9.116,2803,10.728,2806,7.21,2811,8.287,2812,9.119,2855,7.463,9105,9.622,9111,7.311,9114,7.311,9403,7.311,9404,9.622,9405,7.311,18340,11.429,18341,10.391,18342,10.391,18343,7.895,18344,10.391,18345,7.895,18346,7.895,18347,7.895,18348,7.895,18349,7.895,18350,7.895]],["title/modules/RabbitMQWrapperModule.html",[252,1.836,1011,4.737]],["body/modules/RabbitMQWrapperModule.html",[0,0.356,3,0.015,4,0.015,5,0.007,30,0.001,31,0.689,32,0.153,47,0.82,95,0.14,101,0.015,103,0,104,0,135,1.02,153,1.282,194,3.058,228,1.417,252,3.249,254,3.718,260,3.844,276,4.522,277,1.123,317,1.694,400,2.328,516,4.144,657,1.789,734,3.282,813,5.773,980,4.336,1011,7.039,1031,5.512,1060,5.331,1097,5.512,1237,2.305,1272,4.914,1298,8.656,1310,5.512,1311,5.104,2218,3.492,2219,3.931,2220,3.793,2221,4.914,2511,4.656,2537,4.914,2545,5.037,2551,5.25,2808,5.174,2907,4.485,3864,5.854,4952,5.728,5093,5.104,5746,6.739,7139,8.132,7414,8.858,7728,5.512,12325,6.859,14197,6.347,14546,10.786,16383,10.141,17870,8.682,18351,7.24,18352,10.704,18353,11.837,18354,7.24,18355,7.24,18356,6.859,18357,7.24,18358,7.24,18359,6.574,18360,7.24,18361,7.24,18362,7.24,18363,7.24,18364,7.24,18365,6.859,18366,7.24,18367,6.574,18368,7.24,18369,6.347,18370,6.574,18371,7.24,18372,7.24,18373,7.24]],["title/modules/RabbitMQWrapperTestModule.html",[252,1.836,1031,4.898]],["body/modules/RabbitMQWrapperTestModule.html",[0,0.352,3,0.015,4,0.015,5,0.007,8,0.888,27,0.303,30,0.001,31,0.684,32,0.152,35,0.891,47,0.814,95,0.139,101,0.015,103,0,104,0,135,1.004,153,1.263,194,3.011,228,1.395,252,3.229,254,3.681,260,3.805,276,4.487,277,1.106,317,2.214,400,2.293,516,4.081,657,1.761,734,3.231,813,5.714,980,4.27,1011,5.249,1031,7.205,1060,5.249,1097,5.428,1237,2.27,1272,4.839,1298,8.59,1310,5.428,1311,5.025,2218,3.439,2219,3.87,2220,3.735,2221,4.839,2511,4.585,2537,4.839,2545,4.96,2551,5.169,2808,5.095,2907,4.416,3864,5.765,4952,5.641,5093,5.025,5746,6.671,7139,8.049,7414,8.813,7728,5.428,12325,6.754,14197,6.25,14546,10.72,16383,11.157,17870,8.593,18351,7.129,18352,10.622,18353,11.777,18354,7.129,18355,7.129,18356,6.754,18357,7.129,18358,7.129,18359,6.473,18360,7.129,18361,7.129,18362,7.129,18363,7.129,18364,7.129,18365,6.754,18366,7.129,18367,6.473,18368,7.129,18369,6.25,18370,6.473,18371,7.129,18372,7.129,18373,7.129,18374,7.698]],["title/classes/ReadableStreamWithFileTypeImp.html",[0,0.239,18375,6.433]],["body/classes/ReadableStreamWithFileTypeImp.html",[0,0.295,2,0.912,3,0.016,4,0.016,5,0.012,7,0.12,27,0.431,29,0.656,30,0.001,31,0.48,32,0.159,33,0.552,95,0.138,101,0.011,103,0.001,104,0.001,112,0.856,135,1.429,148,0.848,231,1.899,232,2.97,233,2.675,433,1.056,435,2.991,501,4.643,571,3.39,576,5.054,1086,4.089,1087,3.961,1088,4.023,1089,4.282,1090,4.679,1237,3.231,1302,7.589,1304,7.241,2134,6.042,10384,7.935,10426,7.935,11792,6.75,14204,7.935,18375,10.147,18376,12.081,18377,8.569,18378,12.081,18379,13.159,18380,12.733,18381,10.958,18382,12.733,18383,8.569,18384,8.569,18385,8.569,18386,8.569,18387,8.569]],["title/classes/RecursiveCopyVisitor.html",[0,0.239,3580,6.094]],["body/classes/RecursiveCopyVisitor.html",[0,0.104,2,0.322,3,0.006,4,0.006,5,0.005,7,0.043,8,0.582,26,0.623,27,0.484,29,0.918,30,0.001,31,0.671,32,0.165,33,0.548,34,1.794,35,1.367,36,2.718,49,1.143,83,3.617,95,0.11,99,0.62,101,0.004,103,0,104,0,110,1.047,112,0.394,125,1.202,129,1.508,130,1.381,135,1.636,141,3.613,148,1.101,153,2.27,155,2.887,157,0.697,158,1.116,183,1.155,228,0.549,317,2.935,400,0.902,402,4.074,430,4.303,431,4.485,433,0.373,571,1.198,574,1.708,579,0.867,657,2.209,703,0.94,896,4.711,1083,1.708,1237,1.489,1562,2.385,1853,0.99,2031,5.018,2467,1.822,2602,8.509,2635,5.634,2648,4.515,2651,2.175,2769,4.139,2775,6.462,2881,1.445,2934,4.498,3035,7.28,3042,3.726,3096,4.833,3103,5.576,3106,5.576,3109,5.235,3112,5.576,3115,5.177,3118,5.36,3123,2.135,3141,4.247,3142,4.247,3143,4.247,3144,4.247,3145,4.247,3146,4.247,3147,4.247,3148,4.247,3149,4.247,3150,4.247,3273,4.24,3284,2.385,3285,2.268,3286,1.861,3287,1.722,3305,8.275,3313,4.247,3329,2.175,3393,9.527,3530,1.951,3533,1.786,3535,1.786,3538,1.769,3541,1.573,3545,1.562,3550,1.693,3580,4.431,3583,5.971,3584,2.547,3585,8.337,3586,4.431,4463,6.528,6444,2.547,6607,2.384,7149,1.708,7300,6.651,7310,4.677,7311,8.767,7312,4.1,7313,4.431,7345,2.547,9942,1.841,18388,12.422,18389,3.028,18390,6.496,18391,6.496,18392,5.05,18393,5.05,18394,5.05,18395,3.028,18396,5.05,18397,3.028,18398,5.05,18399,3.028,18400,5.05,18401,3.028,18402,5.05,18403,3.028,18404,5.05,18405,3.028,18406,5.05,18407,3.028,18408,5.05,18409,3.028,18410,5.05,18411,3.028,18412,5.05,18413,3.028,18414,5.05,18415,3.028,18416,5.05,18417,3.028,18418,5.05,18419,3.028,18420,5.05,18421,3.028,18422,5.05,18423,3.028,18424,5.05,18425,3.028,18426,3.028,18427,3.028,18428,3.028,18429,7.581,18430,7.581,18431,3.028,18432,6.496,18433,10.84,18434,3.028,18435,7.581,18436,10.505,18437,3.028,18438,3.028,18439,3.028,18440,3.028,18441,3.028,18442,5.05,18443,5.05,18444,4.677,18445,5.05,18446,4.677,18447,5.05,18448,5.05,18449,5.05,18450,7.581,18451,5.05,18452,5.05,18453,3.028,18454,3.028,18455,3.028,18456,3.028,18457,5.05,18458,3.028,18459,3.028,18460,3.028,18461,5.05,18462,3.028,18463,3.028,18464,3.028,18465,3.028,18466,3.028,18467,3.028,18468,3.028,18469,3.028,18470,3.028,18471,3.028,18472,2.804,18473,5.05,18474,5.05,18475,5.05,18476,3.028,18477,3.028,18478,4.677,18479,5.05,18480,3.028,18481,3.028]],["title/injectables/RecursiveDeleteVisitor.html",[589,0.926,3599,5.842]],["body/injectables/RecursiveDeleteVisitor.html",[0,0.165,3,0.009,4,0.009,5,0.004,7,0.067,8,0.838,27,0.512,29,0.997,30,0.001,31,0.729,32,0.162,33,0.595,35,1.488,36,2.925,95,0.142,96,1.259,97,1.949,101,0.006,103,0,104,0,135,0.623,142,1.737,228,1.782,277,0.686,317,3.088,433,0.896,478,1.341,569,2.256,589,0.969,591,1.137,614,2.239,652,2.004,657,3.059,1237,1.408,1317,3.002,1770,2.942,1853,1.562,2005,3.799,2007,2.372,2031,6.3,2048,1.941,2444,5.453,2491,3.367,2635,5.528,2648,5.856,2802,1.911,2934,5.648,3042,4.169,3047,3.002,3096,6.069,3103,7.002,3106,7.002,3109,6.573,3112,7.002,3115,6.501,3118,6.731,3123,5.124,3128,2.154,3131,6.112,3132,6.112,3133,6.112,3134,6.112,3135,6.112,3136,6.112,3137,6.112,3138,6.112,3140,6.112,3141,6.112,3142,6.112,3143,6.112,3144,6.112,3145,6.112,3146,6.112,3147,6.112,3148,6.112,3149,6.112,3150,6.112,3419,2.55,3508,3.663,3596,3.118,3599,6.112,3601,4.246,3848,9.405,3851,2.401,3852,4.88,3854,4.423,3855,4.19,3856,4.016,6441,6.73,6444,4.016,6490,6.376,6765,7.562,7002,2.968,7279,8.32,18472,4.423,18482,12.174,18483,4.776,18484,7.268,18485,7.268,18486,4.776,18487,7.268,18488,4.776,18489,4.776,18490,7.268,18491,4.776,18492,4.776,18493,4.776,18494,4.776,18495,4.776,18496,4.776,18497,4.776,18498,4.776,18499,4.776,18500,4.776,18501,4.776,18502,4.776,18503,4.776,18504,4.776,18505,4.776,18506,4.776,18507,4.776,18508,4.776,18509,4.776,18510,4.776,18511,4.776,18512,4.776,18513,4.776,18514,4.776,18515,4.776,18516,4.776,18517,4.776,18518,4.776,18519,4.776,18520,4.776,18521,4.776,18522,7.268,18523,4.776,18524,4.776,18525,4.776,18526,4.776,18527,4.776,18528,4.776]],["title/classes/RecursiveSaveVisitor.html",[0,0.239,3625,6.094]],["body/classes/RecursiveSaveVisitor.html",[0,0.116,2,0.358,3,0.006,4,0.006,5,0.003,7,0.047,8,0.635,18,2.786,26,0.692,27,0.495,29,0.954,30,0.001,31,0.698,32,0.158,33,0.569,34,1.92,35,1.425,36,1.165,39,0.931,55,0.675,59,1.044,95,0.131,96,1.452,97,1.372,99,0.688,101,0.004,103,0,104,0,110,1.163,112,0.43,125,1.311,129,1.004,130,0.92,135,1.729,153,1.962,155,2.565,157,0.774,183,1.283,224,0.977,228,0.998,317,1.515,400,1.002,433,0.415,478,0.944,569,4.155,579,0.963,614,1.036,652,2.475,657,0.77,756,1.33,1237,1.624,1770,1.361,1829,1.43,1831,2.226,1853,1.1,2005,1.758,2031,5.705,2048,2.238,2050,1.418,2444,4.484,2453,2.196,2469,3.755,2476,2.58,2545,2.167,2635,6.356,2648,5.705,2666,2.951,2769,4.414,2881,1.605,2934,5.114,3038,4.086,3045,6.572,3047,6.357,3071,3.313,3076,2.951,3080,2.951,3085,5.1,3086,5.1,3087,5.1,3088,5.1,3089,5.1,3090,5.1,3091,5.1,3092,5.1,3093,5.1,3094,5.1,3095,4.832,3096,5.495,3098,4.832,3100,4.832,3102,4.832,3103,6.34,3105,4.832,3106,5.903,3108,4.832,3109,5.952,3111,4.832,3112,5.903,3114,4.832,3115,5.886,3117,4.832,3118,6.094,3120,4.832,3123,3.883,3419,7.309,3443,4.338,3446,4.471,3449,4.224,3452,4.338,3455,5.509,3458,4.338,3461,4.338,3464,4.338,3467,4.338,3470,4.338,3472,4.832,3508,2.58,3509,3.115,3517,3.115,3530,2.167,3533,1.984,3535,1.984,3538,1.965,3541,1.746,3545,1.735,3547,2.067,3596,2.196,3597,8.21,3601,3.218,3620,6.369,3623,3.115,3625,4.832,3852,2.259,3907,3.115,4144,3.115,4425,2.951,4426,2.951,4427,2.828,4462,3.115,5624,3.115,5625,2.951,5746,2.196,6444,2.828,6454,3.115,6457,3.115,6460,3.115,6462,3.115,6474,3.115,6476,3.115,6479,3.115,6481,3.115,6484,3.115,6490,4.832,6492,3.115,6719,2.464,6733,2.067,10611,2.951,18482,11.77,18529,3.363,18530,6.994,18531,5.508,18532,5.508,18533,5.508,18534,5.508,18535,5.508,18536,5.508,18537,3.363,18538,5.508,18539,11.24,18540,3.363,18541,3.363,18542,5.508,18543,3.363,18544,3.363,18545,5.508,18546,3.363,18547,3.363,18548,3.363,18549,3.363,18550,3.363,18551,3.363,18552,3.363,18553,3.363,18554,3.363,18555,3.363,18556,3.363,18557,11.75,18558,3.363,18559,3.363,18560,5.508,18561,5.508,18562,5.508,18563,3.363,18564,3.363,18565,11.24,18566,11.24,18567,3.363,18568,10.554,18569,3.363,18570,3.363,18571,3.363,18572,3.363,18573,3.363,18574,3.363,18575,6.994,18576,3.363,18577,3.363,18578,3.363,18579,3.363,18580,3.363,18581,3.363,18582,3.363,18583,3.363,18584,3.115,18585,3.115,18586,3.363,18587,3.363,18588,3.363,18589,3.363,18590,3.363,18591,3.363,18592,3.363,18593,3.363,18594,3.363,18595,3.363]],["title/classes/RedirectResponse.html",[0,0.239,17246,5.472]],["body/classes/RedirectResponse.html",[0,0.328,2,1.013,3,0.018,4,0.018,5,0.009,7,0.134,27,0.461,29,0.73,30,0.001,31,0.533,32,0.146,33,0.435,47,0.831,95,0.109,101,0.012,103,0.001,104,0.001,110,4.049,112,0.914,157,2.193,187,7.149,190,1.71,202,2.188,290,2.769,296,3.059,433,1.174,868,4.57,1899,7.644,2257,8.41,3547,7.195,7800,7.644,17246,10.695,18088,11.741,18596,9.525,18597,11.709,18598,9.525,18599,9.525,18600,11.709,18601,9.847,18602,9.525,18603,9.525,18604,9.525]],["title/modules/RedisModule.html",[252,1.836,18605,5.842]],["body/modules/RedisModule.html",[0,0.299,3,0.016,4,0.016,5,0.008,30,0.001,47,0.784,95,0.151,101,0.011,103,0.001,104,0.001,110,3.002,125,2.066,135,1.441,148,1.093,252,3.212,254,3.126,255,3.311,256,3.396,257,3.383,258,3.371,259,4.018,260,4.113,265,6.243,269,4.322,270,3.335,271,3.265,276,4.322,277,1.247,685,5.071,686,6.234,688,4.097,1027,2.66,1080,2.993,2218,3.877,2219,4.364,2220,4.212,2445,3.614,2446,5.677,2802,4.421,4212,5.071,4215,8.038,4226,6.837,4227,9.291,4231,10.231,4232,8.038,4234,7.615,4235,8.038,4236,7.615,4237,7.615,4238,8.038,8902,9.693,18605,11.357,18606,8.68,18607,8.68,18608,8.68,18609,10.663,18610,8.68,18611,8.68]],["title/injectables/ReferenceLoader.html",[589,0.926,1911,5.64]],["body/injectables/ReferenceLoader.html",[0,0.191,3,0.011,4,0.011,5,0.005,7,0.078,8,0.937,26,2.18,27,0.417,29,0.737,30,0.001,31,0.539,32,0.152,33,0.44,35,0.941,36,1.72,49,3.631,95,0.145,99,1.135,101,0.007,103,0,104,0,112,0.635,122,1.158,129,1.657,130,1.518,135,1.06,148,0.804,153,1.578,159,0.57,185,3.863,195,1.779,228,2.378,268,7.399,277,0.797,279,2.319,317,2.084,433,1.002,579,1.588,589,1.084,591,1.321,652,2.81,657,1.86,1531,7.949,1767,4.473,1849,3.212,1852,4.794,1853,1.815,1909,9.573,1910,7.67,1911,6.599,1912,9.146,1913,9.573,1914,8.801,1915,8.65,1932,3.985,1934,4.37,1952,8.582,2609,6.683,2641,7.813,2769,5.783,3507,3.53,5089,5.458,5690,8.511,6027,8.09,6653,10.134,8985,3.912,15068,7.81,18612,5.138,18613,8.908,18614,8.129,18615,4.868,18616,8.908,18617,8.129,18618,5.549,18619,5.549,18620,7.527,18621,7.527,18622,5.549,18623,9.891,18624,7.527,18625,5.138,18626,5.138,18627,5.138,18628,5.138,18629,5.138,18630,5.138,18631,5.138,18632,5.138,18633,5.138,18634,5.138,18635,5.138,18636,5.138,18637,5.138,18638,5.138,18639,5.138,18640,5.138,18641,5.138,18642,5.138,18643,5.138,18644,5.138,18645,5.138,18646,5.138,18647,5.138,18648,5.138,18649,5.138,18650,5.138,18651,7.527]],["title/classes/ReferencedEntityNotFoundLoggable.html",[0,0.239,18652,6.433]],["body/classes/ReferencedEntityNotFoundLoggable.html",[0,0.293,2,0.904,3,0.016,4,0.016,5,0.008,7,0.119,8,1.257,26,2.811,27,0.429,29,0.651,30,0.001,31,0.476,32,0.106,33,0.388,35,0.983,47,0.953,95,0.124,101,0.011,103,0.001,104,0.001,148,0.84,205,2.587,228,2.3,339,2.493,347,6.504,433,1.343,652,2.587,1027,2.603,1115,3.252,1237,3.213,1418,7.145,1422,4.928,1423,5.68,1426,5.697,1468,5.68,1469,5.976,2832,5.474,3703,5.793,7801,5.991,9177,5.793,18652,10.092,18653,12.032,18654,8.496,18655,12.693,18656,12.693,18657,12.693,18658,8.496,18659,12.032,18660,8.496,18661,8.496,18662,8.496,18663,8.496,18664,8.496]],["title/classes/ReferencesService.html",[0,0.239,2873,6.094]],["body/classes/ReferencesService.html",[0,0.303,2,0.936,3,0.017,4,0.017,5,0.011,7,0.124,8,1.285,27,0.346,29,0.674,30,0.001,31,0.493,32,0.11,33,0.402,34,1.502,35,1.018,47,0.977,95,0.1,101,0.012,103,0.001,104,0.001,135,1.595,145,3.297,148,0.87,467,3.561,628,5.238,1088,4.129,1626,4.878,1834,6.444,1835,4.507,1842,5.073,1994,6.444,2392,3.354,2873,9.774,2880,7.514,4394,5.187,5153,7.14,5264,10.316,6119,5.187,6671,6.585,12073,8.544,16734,6.585,18665,8.794,18666,11.14,18667,11.14,18668,8.794,18669,8.794,18670,8.794,18671,8.794,18672,11.14,18673,8.794,18674,11.14,18675,7.715,18676,8.794,18677,8.794,18678,8.794,18679,8.794,18680,8.794,18681,6.927,18682,7.715,18683,8.794,18684,8.794,18685,8.794,18686,8.794,18687,8.794]],["title/entities/RegistrationPinEntity.html",[205,1.416,18688,5.842]],["body/entities/RegistrationPinEntity.html",[0,0.276,3,0.015,4,0.015,5,0.007,7,0.181,26,2.161,27,0.489,30,0.001,32,0.155,34,1.37,47,0.981,95,0.134,96,2.115,99,1.641,101,0.014,103,0.001,104,0.001,112,0.914,122,2.442,125,1.909,129,2.395,159,0.825,190,2.23,197,2.92,205,2.14,206,2.609,221,7.862,223,4.105,224,2.33,225,4.033,229,3.173,231,1.39,232,2.174,233,2.504,458,3.209,459,5.527,702,6.364,1154,8.467,4608,4.561,8989,11.308,11193,5.469,11194,5.877,18688,8.829,18689,10.464,18690,11.936,18691,7.428,18692,9.781,18693,8.021,18694,8.021,18695,8.021,18696,8.021,18697,8.021,18698,9.211,18699,7.428,18700,7.428,18701,7.428,18702,7.428,18703,7.428,18704,7.037,18705,7.428]],["title/interfaces/RegistrationPinEntityProps.html",[159,0.714,18698,6.094]],["body/interfaces/RegistrationPinEntityProps.html",[0,0.283,3,0.016,4,0.016,5,0.008,7,0.182,26,2.58,30,0.001,32,0.162,33,0.488,34,2.141,47,1.007,95,0.135,96,2.167,99,1.682,101,0.014,103,0.001,104,0.001,112,0.925,122,2.616,125,1.956,129,2.454,159,0.845,161,1.952,197,2.285,205,2.174,223,4.033,224,2.387,225,4.098,229,3.251,231,1.424,232,2.227,233,2.565,458,3.288,459,5.615,702,6.572,1154,8.857,4608,4.673,8989,11.678,11193,5.604,11194,6.022,18688,6.911,18689,6.672,18690,7.61,18691,7.61,18692,10.231,18698,10.39,18699,7.61,18700,7.61,18701,7.61,18702,7.61,18703,7.61,18704,7.21,18705,7.61]],["title/modules/RegistrationPinModule.html",[252,1.836,8975,6.094]],["body/modules/RegistrationPinModule.html",[0,0.316,3,0.017,4,0.017,5,0.008,30,0.001,95,0.149,101,0.012,103,0.001,104,0.001,252,3.291,254,3.298,255,3.492,256,3.581,257,3.568,258,3.555,259,4.53,260,4.637,265,6.329,269,4.47,270,3.517,271,3.444,276,4.47,277,1.315,610,3.608,1027,2.805,2609,4.494,8975,12.576,18689,7.433,18706,9.155,18707,9.155,18708,9.155,18709,9.155,18710,12.636,18711,11.512,18712,9.155,18713,9.155]],["title/injectables/RegistrationPinRepo.html",[589,0.926,18711,5.842]],["body/injectables/RegistrationPinRepo.html",[0,0.316,3,0.017,4,0.017,5,0.008,7,0.129,8,1.319,27,0.45,29,0.877,30,0.001,31,0.641,32,0.143,33,0.523,35,1.062,36,2.842,47,0.885,95,0.142,96,2.419,97,3.744,101,0.012,103,0.001,104,0.001,135,1.197,148,0.908,205,1.871,228,1.663,277,1.318,317,2.701,400,2.733,433,1.131,589,1.526,591,2.184,702,5.649,2444,7.24,3596,5.99,3601,6.685,18688,7.717,18689,10.123,18711,9.622,18714,12.468,18715,9.176,18716,10.596,18717,9.176,18718,10.596,18719,9.176,18720,9.176]],["title/injectables/RegistrationPinService.html",[589,0.926,18710,6.094]],["body/injectables/RegistrationPinService.html",[0,0.327,3,0.018,4,0.018,5,0.009,7,0.133,8,1.346,27,0.459,29,0.894,30,0.001,31,0.654,32,0.145,33,0.534,35,1.097,36,2.47,47,0.898,95,0.133,101,0.012,103,0.001,104,0.001,148,0.938,228,1.718,277,1.362,317,2.741,400,2.823,433,1.168,589,1.557,591,2.256,702,4.68,2609,4.653,18689,10.272,18710,10.243,18711,11.611,18716,10.812,18718,10.812,18721,12.652,18722,9.48,18723,9.48,18724,9.48,18725,9.48,18726,9.48]],["title/interfaces/RejectRequestBody.html",[159,0.714,17231,5.64]],["body/interfaces/RejectRequestBody.html",[3,0.018,4,0.018,5,0.009,7,0.134,30,0.001,32,0.169,33,0.656,47,1.028,55,2.548,101,0.013,103,0.001,104,0.001,112,0.916,159,0.981,161,2.267,162,6.616,165,7.751,1080,4.563,1888,10.426,6217,11.131,6218,11.131,6219,10.426,17231,9.52,18727,9.547]],["title/interfaces/RelatedResourceProperties.html",[159,0.714,16140,5.64]],["body/interfaces/RelatedResourceProperties.html",[0,0.265,3,0.015,4,0.015,5,0.007,7,0.108,30,0.001,32,0.127,33,0.558,47,1.038,95,0.117,96,2.03,101,0.016,103,0,104,0,110,3.534,112,0.798,155,3.242,157,2.352,159,1.179,161,1.828,205,2.083,223,4.334,224,2.236,225,3.926,226,3.489,231,1.334,232,2.086,233,2.403,289,4.456,1821,3.735,2802,4.089,3025,3.693,3884,4.96,6150,4.96,6155,5.095,6164,6.862,6519,6.671,6569,5.428,7182,4.171,7513,5.095,7514,4.585,8118,4.839,16131,6.473,16132,8.296,16133,8.296,16134,8.049,16135,8.296,16140,9.921,16144,9.313,16148,6.473,16149,5.641,16150,10.276,16151,10.276,16152,8.049,16153,6.25,16154,6.473,16155,6.473,16156,6.473,16157,6.473,16158,6.473,16159,6.473,16160,6.473,16161,6.473,16162,6.473,16163,6.473,16164,6.473,16165,6.473]],["title/classes/RenameBodyParams.html",[0,0.239,3205,5.64]],["body/classes/RenameBodyParams.html",[0,0.415,2,1.061,3,0.019,4,0.019,5,0.009,7,0.14,27,0.393,30,0.001,32,0.124,47,0.855,95,0.148,101,0.013,103,0.001,104,0.001,112,0.941,155,4.104,190,1.791,194,3.902,195,2.635,196,3.984,197,2.774,200,3.056,202,2.291,296,3.147,298,4.315,299,4.694,3205,9.777,8033,8.212,12552,9.237,18728,9.974,18729,9.974,18730,9.974]],["title/classes/RenameFileParams.html",[0,0.239,7220,4.814]],["body/classes/RenameFileParams.html",[0,0.473,2,0.705,3,0.013,4,0.018,5,0.009,7,0.093,26,2.574,27,0.261,30,0.001,32,0.15,39,1.835,47,0.981,95,0.146,99,1.357,101,0.018,103,0,104,0,110,2.293,112,0.721,122,1.926,157,1.526,159,0.682,190,1.19,195,1.451,199,5.12,200,2.031,201,4.46,202,1.523,203,6.199,205,1.352,296,3.704,298,2.868,299,4.873,300,4.396,403,3.354,855,5.061,856,6.37,886,3.342,899,3.019,1078,2.907,1080,2.286,1169,3.838,1237,1.955,1290,5.948,1291,4.388,1292,4.388,2980,4.813,3170,4.961,3885,3.13,4541,2.314,5213,7.59,6502,5.575,6607,3.13,6788,6.494,7149,6.476,7151,4.328,7152,7.779,7157,4.381,7171,6.11,7201,4.595,7202,4.675,7203,4.675,7208,4.595,7209,8.275,7210,8.098,7211,8.098,7212,4.675,7213,4.595,7214,4.595,7215,4.675,7216,4.521,7217,6.295,7218,4.452,7219,4.521,7220,6.398,7221,4.521,7222,4.272,7223,4.675,7224,4.675,7225,4.675,7226,4.272,7227,4.272,7228,4.388,7229,4.521,7230,4.675,18731,6.63]],["title/interfaces/RepoLoader.html",[159,0.714,18623,6.094]],["body/interfaces/RepoLoader.html",[0,0.219,3,0.012,4,0.012,5,0.006,7,0.089,26,1.845,30,0.001,32,0.14,33,0.41,36,1.345,49,2.399,95,0.15,99,1.301,101,0.008,103,0,104,0,112,0.7,122,2.167,135,1.169,148,0.887,153,1.47,159,0.653,161,1.51,185,4.074,195,1.961,228,2.445,268,6.854,277,0.913,279,2.657,317,1.377,433,0.783,579,1.819,589,1.195,652,2.798,657,2.051,1531,7.321,1767,4.932,1849,3.68,1852,5.286,1853,2.079,1909,8.648,1910,6.928,1911,5.161,1912,8.262,1913,8.648,1914,7.95,1915,7.814,1932,4.566,1934,5.007,1952,7.321,2609,6.923,2641,7.195,2769,4.894,3507,4.045,5089,7.983,5690,7.688,6027,5.346,6653,9.154,8985,4.482,15068,5.161,18612,5.887,18613,5.887,18616,5.887,18620,5.887,18621,5.887,18623,10.43,18624,10.441,18625,5.887,18626,5.887,18627,5.887,18628,5.887,18629,5.887,18630,5.887,18631,5.887,18632,5.887,18633,5.887,18634,5.887,18635,5.887,18636,5.887,18637,5.887,18638,5.887,18639,5.887,18640,5.887,18641,5.887,18642,5.887,18643,5.887,18644,5.887,18645,5.887,18646,5.887,18647,5.887,18648,5.887,18649,5.887,18650,5.887,18651,8.301]],["title/classes/RequestInfo.html",[0,0.239,18732,6.094]],["body/classes/RequestInfo.html",[0,0.322,2,0.717,3,0.013,4,0.013,5,0.006,7,0.095,8,1.077,27,0.495,29,0.715,30,0.001,31,0.6,32,0.157,33,0.427,35,0.78,47,0.932,55,1.875,95,0.122,101,0.014,103,0,104,0,112,0.729,125,1.604,129,2.013,130,1.844,135,1.681,142,2.452,148,0.924,153,1.758,158,2.485,172,2.866,185,2.31,193,5.461,414,4.725,433,0.831,641,6.908,652,2.184,871,4.601,1081,4.597,1101,5.31,1372,3.549,1675,4.056,1743,4.842,1749,6.578,2332,5.992,2689,6.585,2802,3.737,4243,5.17,4871,5.048,6219,7.356,6243,5.17,7582,7.092,7584,4.056,11983,6.843,18039,5.914,18732,8.193,18733,6.243,18734,9.923,18735,9.923,18736,9.339,18737,8.648,18738,6.741,18739,6.741,18740,6.741,18741,6.741,18742,6.741,18743,8.648,18744,6.741,18745,11.249,18746,5.914,18747,6.243,18748,8.648,18749,5.669,18750,5.914,18751,8.648,18752,8.648,18753,6.243,18754,8.648,18755,6.243,18756,5.914,18757,6.243,18758,6.243,18759,8.648,18760,8.648,18761,8.648,18762,8.648,18763,6.243,18764,6.243,18765,6.243,18766,6.243,18767,6.243,18768,6.243,18769,6.243,18770,6.243,18771,6.243,18772,6.243,18773,6.243,18774,6.243,18775,6.243,18776,6.243,18777,6.243,18778,6.243,18779,6.243,18780,6.243]],["title/injectables/RequestLoggingInterceptor.html",[589,0.926,18781,6.433]],["body/injectables/RequestLoggingInterceptor.html",[0,0.276,3,0.015,4,0.015,5,0.007,7,0.112,8,1.209,27,0.413,29,0.803,30,0.001,31,0.587,32,0.131,33,0.479,35,0.927,39,2.216,95,0.151,101,0.01,103,0.001,104,0.001,110,2.768,125,1.905,135,1.525,148,1.037,158,2.95,183,3.053,193,5.081,277,1.15,325,5.208,326,3.043,349,4.076,365,3.559,400,2.384,433,0.987,571,4.626,589,1.398,591,1.905,641,4.552,1027,2.453,1056,5.157,1057,6.305,1058,6.14,1080,2.76,1237,2.36,1329,6.374,2382,8.969,2445,4.365,2446,5.796,3250,5.375,4030,4.816,7412,5.994,7584,4.816,9743,7.413,9745,9.199,9747,9.199,9748,10.886,9749,10.886,9751,9.199,9752,9.71,11983,5.866,13646,9.199,18750,7.023,18781,9.71,18782,11.694,18783,8.005,18784,8.005,18785,8.005,18786,9.71,18787,8.005,18788,8.005,18789,8.005,18790,8.005,18791,8.005,18792,8.005,18793,7.413,18794,10.486,18795,7.413,18796,8.005]],["title/classes/ResolvedGroupDto.html",[0,0.239,12727,5.64]],["body/classes/ResolvedGroupDto.html",[0,0.288,2,0.889,3,0.016,4,0.016,5,0.008,7,0.117,27,0.535,29,0.64,30,0.001,31,0.706,32,0.175,33,0.597,34,2.039,47,0.949,95,0.136,101,0.011,103,0.001,104,0.001,112,0.842,290,1.976,433,1.03,458,3.343,1065,5.292,1148,6.408,1853,2.733,1882,3.187,2108,3.647,2183,3.293,3278,6.783,3370,5.358,10003,7.737,10011,9.155,10049,9.116,12672,9.155,12727,10.6,12812,7.026,12815,6.783,12858,9.459,12870,7.33,12871,7.33,12872,7.33,12873,7.33,12874,7.737,12875,7.737,12964,10.038,18797,12.764,18798,10.781,18799,8.355,18800,8.355,18801,8.355,18802,8.355,18803,8.355]],["title/classes/ResolvedGroupUser.html",[0,0.239,12964,5.842]],["body/classes/ResolvedGroupUser.html",[0,0.328,2,1.013,3,0.018,4,0.018,5,0.009,7,0.134,27,0.499,29,0.73,30,0.001,31,0.533,32,0.158,33,0.435,95,0.134,101,0.012,103,0.001,104,0.001,112,0.914,232,3.173,290,2.999,331,5.611,433,1.174,435,3.324,1065,6.492,1853,3.115,2268,6.979,4979,9.106,4986,7.305,8056,6.87,8553,6.601,10016,6.841,12964,11.418,12990,8.356,13000,7.305,18797,12.248,18804,11.709,18805,9.525]],["title/classes/ResolvedUserMapper.html",[0,0.239,18806,6.094]],["body/classes/ResolvedUserMapper.html",[0,0.3,2,0.925,3,0.017,4,0.017,5,0.008,7,0.122,8,1.276,27,0.342,29,0.666,30,0.001,31,0.62,32,0.108,33,0.398,34,1.486,35,1.007,47,0.864,95,0.126,100,3.861,101,0.011,103,0.001,104,0.001,129,2.597,130,2.379,135,1.135,148,1.094,153,1.427,290,3.127,331,5.666,467,3.543,478,2.442,578,4.548,830,6.136,837,4.295,1826,6.561,3388,6.234,3421,5.841,3422,5.679,5010,6.248,7387,7.315,8046,7.315,8065,7.062,14006,8.056,14009,8.056,16761,8.056,17632,8.056,18806,9.706,18807,11.064,18808,9.706,18809,8.699,18810,10.767,18811,8.699,18812,8.699,18813,8.699,18814,8.699,18815,8.699,18816,8.699,18817,8.699]],["title/classes/ResolvedUserResponse.html",[0,0.239,18810,5.842]],["body/classes/ResolvedUserResponse.html",[0,0.281,2,0.869,3,0.015,4,0.015,5,0.008,7,0.115,27,0.54,30,0.001,31,0.457,32,0.173,34,2.136,47,1.006,83,3.641,95,0.093,101,0.014,103,0.001,104,0.001,112,0.83,190,2.463,202,1.876,296,3.779,331,5.225,430,4.837,431,5.042,700,5.697,701,5.697,1826,6.051,3388,6.051,4541,4.121,13002,6.631,18810,8.934,18818,13.869,18819,8.168,18820,8.168,18821,8.168,18822,8.168,18823,8.168,18824,8.168,18825,8.168,18826,8.168]],["title/classes/ResponseInfo.html",[0,0.239,18756,6.094]],["body/classes/ResponseInfo.html",[0,0.339,2,0.773,3,0.014,4,0.014,5,0.007,7,0.102,27,0.387,29,0.557,30,0.001,31,0.551,32,0.122,33,0.332,47,0.847,55,2.236,95,0.127,101,0.015,103,0,104,0,112,0.768,125,1.729,135,1.715,142,2.643,148,0.972,153,1.828,158,2.678,185,2.49,193,5.187,414,4.974,433,0.896,641,6.336,652,1.481,871,4.895,1081,7.597,1101,5.723,1372,3.825,1675,4.371,1743,5.219,1749,6.789,2332,4.063,2689,6.931,2802,3.933,4243,5.573,4871,5.441,6219,7.744,6243,5.573,7582,7.901,7584,4.371,11983,5.324,18039,6.375,18732,6.375,18733,6.729,18734,6.729,18735,6.729,18737,6.729,18743,6.729,18745,11.055,18746,6.375,18747,6.729,18748,9.104,18749,6.11,18750,6.375,18751,9.104,18752,9.104,18753,6.729,18754,9.104,18755,6.729,18756,8.625,18757,9.104,18758,6.729,18759,9.104,18760,9.104,18761,9.104,18762,9.104,18763,6.729,18764,6.729,18765,6.729,18766,6.729,18767,6.729,18768,6.729,18769,6.729,18770,6.729,18771,6.729,18772,6.729,18773,6.729,18774,6.729,18775,6.729,18776,6.729,18777,6.729,18778,6.729,18779,6.729,18780,6.729,18827,9.831]],["title/injectables/RestartUserLoginMigrationUc.html",[589,0.926,18828,5.842]],["body/injectables/RestartUserLoginMigrationUc.html",[0,0.255,3,0.014,4,0.014,5,0.007,7,0.104,8,1.148,27,0.392,29,0.763,30,0.001,31,0.557,32,0.124,33,0.455,35,0.857,36,2.106,39,2.048,47,0.917,95,0.153,101,0.01,103,0,104,0,135,1.467,142,2.691,148,0.732,153,1.214,180,5.519,228,2.18,290,3.124,317,2.436,433,1.227,478,2.077,579,2.118,589,1.327,591,1.761,595,2.793,610,2.916,652,2.452,657,2.752,693,3.37,711,3.333,1027,2.267,1422,3.031,1780,4.498,1853,2.42,1862,7.052,1961,4.452,2445,5.498,2653,3.421,4541,4.197,4923,5.147,4925,6.008,4927,6.008,4928,9.471,4929,10.403,4931,6.853,4934,5.422,4935,7.155,4936,5.829,4937,7.56,4938,6.008,4939,6.492,4940,6.223,4941,6.223,4942,8.732,10403,5.422,18828,8.369,18829,11.246,18830,8.732,18831,9.953,18832,6.853,18833,6.223,18834,7.4,18835,7.4,18836,7.4,18837,6.853,18838,7.4]],["title/classes/RestrictedContextMismatchLoggable.html",[0,0.239,7003,6.094]],["body/classes/RestrictedContextMismatchLoggable.html",[0,0.284,2,0.876,3,0.016,4,0.016,5,0.008,7,0.116,8,1.232,27,0.42,29,0.631,30,0.001,31,0.461,32,0.133,33,0.376,35,0.953,47,0.841,95,0.143,101,0.011,103,0.001,104,0.001,135,1.074,148,0.815,183,5.298,228,1.936,231,1.851,233,2.57,277,1.183,339,2.416,400,2.453,433,1.015,614,3.651,652,1.679,734,3.457,1027,2.523,1115,4.538,1237,3.149,1422,4.856,1423,5.921,1426,5.63,1468,5.921,1469,6.23,1477,4.276,1478,4.462,2034,6.902,2035,4.042,2671,2.656,5868,5.117,6376,7.542,6623,6.862,7003,9.371,7005,10.978,12410,6.487,15170,8.982,18839,11.855,18840,8.235,18841,8.235,18842,8.235,18843,11.855,18844,8.235,18845,8.235,18846,10.681,18847,7.626]],["title/interfaces/RetryOptions.html",[159,0.714,4852,5.64]],["body/interfaces/RetryOptions.html",[0,0.162,3,0.009,4,0.009,5,0.004,7,0.066,10,1.877,30,0.001,32,0.089,33,0.445,36,2.436,47,0.509,52,3.628,53,3.438,55,2.442,70,4.431,72,3.282,78,8.932,95,0.111,101,0.006,103,0,104,0,112,0.56,122,0.979,125,1.707,129,3.134,135,1.369,145,2.688,148,0.861,153,1.176,157,2.906,159,0.895,161,1.114,171,3.151,194,4.106,197,3.302,228,1.577,230,4.746,259,1.707,290,1.11,317,2.69,365,2.086,388,3.732,413,2.852,433,0.578,467,1.366,540,4.043,579,1.343,612,3.151,618,5.607,644,2.852,648,2.95,652,1.986,657,2.784,745,6.25,756,2.836,758,6.031,892,3.599,981,2.852,985,4.15,1027,1.438,1080,1.618,1372,2.47,1619,5.347,1626,3.977,1751,5.648,1899,3.063,1927,4.229,1938,2.524,2218,2.096,2234,3.696,2445,1.953,2446,3.349,2525,2.524,2830,6.855,2836,3.81,2907,7.515,3077,5.681,3370,5.329,3756,4.681,3764,3.106,3765,8.797,3766,6.45,3767,2.741,4839,5.821,4840,2.741,4841,2.916,4842,3.946,4843,3.946,4844,3.696,4845,6.03,4846,6.517,4847,3.696,4848,3.696,4849,6.03,4850,3.946,4851,3.946,4852,8.984,4853,8.193,4854,8.193,4855,5.821,4856,5.499,4857,3.946,4858,3.023,4859,3.599,4860,3.696,4861,3.946,4862,3.946,4863,7.691,4864,3.946,4865,8.826,4866,3.438,4867,3.946,4868,8.05,4869,3.946,4870,3.023,4871,3.514,4872,5.934,4873,3.37,4874,4.815,4875,3.514,4876,3.946,4877,3.946,4878,3.946,4879,5.056,4880,8.193,4881,3.946,4882,3.946,4883,3.514,4884,3.946,4885,8.193,4886,3.946,4887,3.946,4888,3.946,4889,8.193,4890,8.193,4891,3.696,4892,6.136,4893,3.946,4894,3.946,4895,3.946,4896,3.438,4897,3.81,4898,5.254,4899,3.696,4900,3.946,4901,3.946,4902,3.946,4903,3.946,4904,3.946,4905,5.254,4906,3.106,4907,3.696,4908,3.199,4909,3.599,4910,3.946,4911,3.946,4912,3.946,4913,3.946,4914,3.946,4915,3.946,4916,3.946,4917,3.946,4918,3.946,4919,3.946,4920,3.696,4921,3.81]],["title/classes/RevokeConsentParams.html",[0,0.239,17291,6.094]],["body/classes/RevokeConsentParams.html",[0,0.411,2,1.045,3,0.019,4,0.019,5,0.009,7,0.138,27,0.387,30,0.001,32,0.122,34,2.039,47,0.847,95,0.136,101,0.013,103,0.001,104,0.001,112,0.932,157,2.262,187,6.73,190,1.764,194,4.669,195,2.612,196,3.948,197,3.319,200,3.011,202,2.258,296,3.119,299,4.652,308,7.201,2802,5.481,6222,8.015,17291,10.471,18848,11.935,18849,9.828,18850,9.828]],["title/classes/RichText.html",[0,0.239,18851,5.64]],["body/classes/RichText.html",[0,0.3,2,0.925,3,0.017,4,0.017,5,0.008,7,0.122,27,0.479,29,0.666,30,0.001,31,0.487,32,0.175,33,0.398,47,0.785,95,0.139,101,0.011,103,0.001,104,0.001,112,0.864,157,2.547,190,1.986,202,1.998,296,3.179,403,5.597,433,1.364,821,4.429,868,5.308,886,3.481,2048,5.203,2108,3.797,2357,6.919,2392,5.154,2881,6.11,3127,9.588,3541,6.865,3724,5.13,6443,8.056,18851,10.733,18852,12.804,18853,8.699,18854,8.699,18855,8.699,18856,8.699,18857,8.699,18858,8.699,18859,7.315,18860,8.699]],["title/classes/RichTextContentBody.html",[0,0.239,6449,4.535]],["body/classes/RichTextContentBody.html",[0,0.47,2,0.572,3,0.01,4,0.01,5,0.005,7,0.076,9,2.499,27,0.313,30,0.001,31,0.675,32,0.173,47,0.912,83,1.566,95,0.127,99,1.1,101,0.018,103,0,104,0,110,1.86,112,0.62,130,3.296,155,1.706,157,2.402,190,1.426,195,1.177,200,1.648,201,3.668,202,1.235,223,1.67,231,2.019,296,3.689,299,4.923,300,4.459,339,1.578,360,3.085,854,4.993,855,3.215,886,1.692,899,2.449,1232,3.113,1749,3.058,1853,1.759,2048,4.24,2392,4.444,2694,3.727,2881,4.507,2887,6.625,3128,2.425,3170,2.512,3533,3.172,3535,3.172,3538,3.142,3541,6.049,3545,2.774,3550,3.007,4018,3.304,4039,3.304,4438,5.417,6350,5.938,6352,6.01,6354,5.938,6356,6.638,6358,6.01,6360,6.01,6408,3.465,6445,6.166,6446,6.166,6447,6.166,6448,6.166,6449,6.811,6450,6.166,6788,6.654,7952,3.51,8022,3.142,9565,6.343,9566,3.611,9568,8.188,9569,6.166,9570,6.166,9571,6.166,9572,3.611,9573,6.166,9574,3.304,9575,3.559,9576,6.166,9577,6.811,9578,3.51,9579,3.51,9580,3.51,9581,3.51,9582,3.611,9583,3.611,9584,3.611,9585,3.611,9586,3.611,9587,3.611,18861,5.378,18862,5.378,18863,5.378]],["title/classes/RichTextElement.html",[0,0.239,3115,4.269]],["body/classes/RichTextElement.html",[0,0.216,2,0.668,3,0.012,4,0.012,5,0.006,7,0.088,8,1.025,27,0.535,29,0.968,30,0.001,31,0.707,32,0.163,33,0.577,35,1.519,36,1.88,47,0.84,55,1.783,59,1.949,95,0.118,99,1.285,101,0.014,103,0,104,0,112,0.694,113,3.541,122,2.152,130,3.067,134,2.218,148,1.109,158,2.314,159,0.645,189,5.459,197,1.746,231,1.787,317,2.234,435,3.101,436,3.824,527,2.657,532,3.296,567,3.377,569,3.814,653,2.592,657,1.436,711,2.633,735,4.046,1770,3.596,1773,6.336,1842,4.046,2050,2.646,2635,5.862,2881,6.262,3027,7.895,3030,6.264,3031,6.264,3032,6.264,3033,7.32,3034,6.264,3036,3.946,3037,5.401,3038,6.55,3040,6.157,3041,5.401,3042,6.432,3044,4.35,3045,4.744,3047,6.482,3048,4.35,3052,4.35,3054,3.946,3081,5.345,3115,6.89,3541,6.908,4299,4.509,4300,4.509,4301,4.509,4310,3.901,5387,5.813,9589,4.35,18864,10.957,18865,6.277,18866,6.277,18867,6.277,18868,5.813,18869,6.277,18870,5.813,18871,6.277,18872,6.277,18873,6.277,18874,6.277,18875,8.227,18876,5.813,18877,8.227,18878,5.813,18879,5.813,18880,5.813,18881,5.507,18882,5.813]],["title/classes/RichTextElementContent.html",[0,0.239,18883,5.842]],["body/classes/RichTextElementContent.html",[0,0.368,2,0.874,3,0.016,4,0.016,5,0.008,7,0.115,27,0.466,29,0.63,30,0.001,31,0.46,32,0.166,33,0.376,34,2.023,47,0.841,95,0.143,99,1.682,101,0.014,103,0.001,104,0.001,112,0.833,190,1.915,202,1.888,296,3.628,304,4.058,433,1.46,458,3.288,821,4.184,886,2.586,1853,2.688,2108,3.587,2392,4.517,2881,6.625,2895,6.855,3166,4.388,3167,4.388,3170,3.839,3541,7.133,3712,5.604,3724,4.847,3972,6.119,3976,5.365,3978,5.365,4020,7.661,4438,6.15,6354,5.166,11499,7.61,18883,11.194,18884,11.607,18885,8.218,18886,8.218,18887,6.911,18888,6.911]],["title/classes/RichTextElementContentBody.html",[0,0.239,9573,4.535]],["body/classes/RichTextElementContentBody.html",[0,0.47,2,0.57,3,0.01,4,0.01,5,0.005,7,0.075,9,2.489,27,0.312,30,0.001,31,0.674,32,0.175,47,0.896,83,1.56,95,0.127,99,1.096,101,0.018,103,0,104,0,110,1.852,112,0.619,125,1.275,130,3.292,155,1.699,157,2.397,190,1.422,195,1.172,200,1.641,201,3.66,202,1.23,223,1.663,231,2.086,296,3.688,299,4.918,300,4.453,339,1.571,360,3.073,436,1.587,854,4.979,855,3.206,866,2.66,886,1.685,899,2.439,1232,3.1,1749,3.046,1853,1.752,2048,3.83,2392,4.713,2881,2.556,2887,6.615,3128,2.415,3170,2.502,3533,3.159,3535,3.159,3538,3.129,3541,4.893,3545,2.763,3550,2.995,4018,3.291,4039,3.291,4438,5.407,6350,5.924,6352,5.996,6354,6.545,6356,6.625,6358,5.996,6360,5.996,6408,3.451,6445,6.152,6446,6.152,6447,6.152,6448,6.152,6449,6.797,6450,6.152,6788,6.646,7952,3.496,8022,3.129,9565,5.318,9566,3.597,9568,8.496,9569,6.152,9570,6.152,9571,6.152,9572,3.597,9573,6.797,9574,3.291,9575,3.545,9576,6.152,9577,6.797,9578,3.496,9579,3.496,9580,3.496,9581,3.496,9582,3.597,9583,3.597,9584,3.597,9585,3.597,9586,3.597,9587,3.597,9617,4.108,18889,5.356,18890,5.356]],["title/entities/RichTextElementNode.html",[205,1.416,3464,5.472]],["body/entities/RichTextElementNode.html",[0,0.295,3,0.016,4,0.016,5,0.008,7,0.12,27,0.431,30,0.001,32,0.136,47,0.857,95,0.15,96,2.254,99,1.75,101,0.014,103,0.001,104,0.001,112,0.855,134,3.022,135,1.115,148,0.846,159,0.879,190,1.965,205,2.231,206,2.781,223,4.083,224,2.484,231,1.897,232,2.317,457,4.743,1770,4.429,1853,2.797,2048,4.904,2108,3.732,2635,5.222,2688,4.821,2881,6.526,3419,5.843,3429,6.517,3464,8.62,3501,5.198,3526,9.601,3541,7.191,3874,6.652,3894,5.254,4401,5.375,4403,5.375,10275,7.502,18887,7.191,18888,7.191,18891,11.176,18892,8.551,18893,9.601,18894,7.918,18895,7.918,18896,7.918]],["title/interfaces/RichTextElementNodeProps.html",[159,0.714,18893,6.094]],["body/interfaces/RichTextElementNodeProps.html",[0,0.301,3,0.017,4,0.017,5,0.008,7,0.123,30,0.001,32,0.138,47,0.91,95,0.151,96,2.303,99,1.788,101,0.015,103,0.001,104,0.001,112,0.866,134,3.087,135,1.14,148,0.864,159,0.898,161,2.075,205,2.262,223,3.785,224,2.538,231,2.113,232,2.368,457,4.846,1770,4.491,1853,2.857,2048,3.55,2108,3.814,2635,5.294,2688,4.926,2881,6.455,3419,5.924,3429,6.607,3464,6.882,3501,5.311,3526,9.733,3541,7.347,3874,7.411,3894,5.369,4401,5.492,4403,5.492,18887,7.347,18888,7.347,18891,8.091,18893,10.695,18894,8.091,18895,8.091,18896,8.091]],["title/interfaces/RichTextElementProps.html",[159,0.714,18881,6.094]],["body/interfaces/RichTextElementProps.html",[0,0.292,3,0.016,4,0.016,5,0.008,7,0.119,30,0.001,32,0.15,36,1.794,47,0.931,95,0.137,99,1.735,101,0.016,103,0.001,104,0.001,112,0.85,122,1.769,130,2.977,134,2.996,148,1.255,158,3.125,159,0.872,161,2.014,197,2.358,231,2.084,317,1.837,527,3.589,567,4.137,569,2.632,653,3.501,657,1.94,1842,4.956,2050,3.574,2881,6.405,3027,6.548,3033,5.535,3037,5.154,3038,6.358,3041,5.154,3042,6.244,3081,7.231,3115,7.386,3541,7.36,4310,5.268,9589,5.876,18864,7.851,18875,10.079,18876,7.851,18877,10.079,18878,7.851,18879,7.851,18880,7.851,18881,9.548,18882,7.851]],["title/classes/RichTextElementResponse.html",[0,0.239,4020,4.989]],["body/classes/RichTextElementResponse.html",[0,0.354,2,0.825,3,0.015,4,0.015,5,0.007,7,0.109,27,0.502,29,0.594,30,0.001,31,0.434,32,0.173,33,0.355,34,2.178,47,0.817,95,0.14,99,1.588,101,0.013,103,0,104,0,112,0.802,190,2.201,202,1.782,296,3.588,304,3.83,433,1.419,458,3.104,821,3.95,886,2.441,1853,2.537,2108,3.386,2392,4.863,2881,6.552,2895,7.38,3165,5.064,3166,5.484,3167,5.484,3169,4.62,3170,4.797,3541,6.62,3712,5.289,3724,4.575,3972,6.606,3976,5.064,3978,5.064,4020,9.157,4438,6.62,6354,6.456,18883,10.307,18884,12.132,18887,6.523,18888,6.523,18897,7.757,18898,7.757,18899,7.757,18900,7.757,18901,7.757]],["title/classes/RichTextElementResponseMapper.html",[0,0.239,6384,6.094]],["body/classes/RichTextElementResponseMapper.html",[0,0.264,2,0.816,3,0.015,4,0.015,5,0.007,7,0.108,8,1.175,27,0.48,29,0.781,30,0.001,31,0.571,32,0.152,33,0.466,34,1.31,35,1.325,95,0.139,100,2.676,101,0.01,103,0,104,0,112,0.796,122,2.127,135,1,141,4.371,148,1.133,153,2.001,430,3.141,467,3.802,652,2.334,653,3.166,711,2.272,829,4.523,830,5.653,1237,3.005,1853,2.508,2048,5.5,2139,4.399,2392,2.925,2626,8.389,2629,7.817,2630,7.817,2632,7.633,2881,6.359,2895,4.439,3115,8.316,3541,3.982,3972,5.847,3981,6.728,3988,5.407,4020,8.763,4438,3.982,5540,7.101,5868,7.114,6354,4.821,6379,5.882,6384,11.691,9630,9.136,9636,6.728,9638,6.04,9639,6.04,9640,6.04,18883,8.571,18902,12.701,18903,7.669,18904,7.669,18905,7.669,18906,7.669,18907,11.449,18908,7.669]],["title/classes/RocketChatError.html",[0,0.239,1079,5.64]],["body/classes/RocketChatError.html",[0,0.195,2,0.37,3,0.007,4,0.007,5,0.003,7,0.049,27,0.325,29,0.266,30,0.001,31,0.508,32,0.128,33,0.159,34,1.55,36,2.804,39,3.572,47,1.016,51,3.957,55,1.655,72,2.59,83,1.648,87,3.598,95,0.094,101,0.011,103,0,104,0,112,0.442,122,2.03,135,1.395,148,1.324,153,1.489,159,0.736,176,4.592,185,1.191,195,0.761,228,1.026,231,0.981,277,0.499,290,1.692,317,2.871,371,3.793,379,4.199,402,2.025,433,0.697,532,1.29,540,1.221,559,1.87,567,2.72,569,1.08,571,4.496,579,2.598,589,0.754,652,2.631,657,2.226,688,1.641,702,1.717,711,3.758,725,3.99,789,3.09,809,4.671,871,3.562,890,2.41,1050,8.327,1051,7.369,1052,2.924,1053,4.879,1054,1.96,1055,6.325,1056,2.24,1057,2.739,1058,2.667,1059,4.458,1060,3.859,1061,4.34,1062,4.34,1063,4.34,1064,4.594,1065,1.707,1066,2.924,1067,2.924,1068,2.924,1069,2.924,1070,2.924,1071,2.924,1072,2.497,1073,2.924,1074,2.924,1075,2.924,1076,2.212,1077,8.182,1078,1.525,1079,4.594,1080,2.467,1081,4.879,1082,2.452,1083,1.96,1084,4.879,1085,4.759,1086,5.423,1087,5.254,1088,5.336,1089,5.679,1090,6.351,1091,7.81,1092,6.533,1093,6.018,1094,2.667,1095,2.924,1096,2.924,1097,2.452,1098,2.924,1099,2.924,1100,2.823,1101,2.739,1102,2.924,1103,5.488,1104,2.823,1105,2.924,1106,2.924,1107,2.924,1108,2.823,1109,2.924,1110,2.924,1111,2.924,1112,7.367,1113,2.924,1114,2.924,1115,1.331,1116,2.924,1117,2.924,1118,2.924,1119,2.924,1120,2.924,1121,2.924,1122,2.924,1123,2.924,1124,8.182,1125,8.182,1126,2.924,1127,2.924,1128,2.924,1129,2.924,1130,2.924,1131,2.924,1132,2.41,1133,2.924,1134,2.924,1135,2.924,1136,2.924,1137,2.924,1138,2.924,1139,2.924,1140,2.924,1141,2.924,1142,2.924,1143,2.924,1144,2.924,1145,2.924,1146,2.924,1147,4.34,1148,4.34,1149,2.924,1150,2.924,1151,2.924,1152,2.924,1153,2.924,1154,2.371,1155,2.924,1156,2.924,1157,2.924,1158,4.759,1159,2.924,1160,4.759,1161,4.759,1162,2.924,1163,2.924,1164,2.667,1165,6.018,1166,4.736,1167,4.397,1168,2.924,1169,3.276,1170,5.184,1171,4.34,1172,5.359,1173,6.018,1174,6.018,1175,6.018,1176,2.667,1177,2.924,1178,2.924,1179,2.924,1180,7.633,1181,6.018,1182,6.018,1183,6.018,1184,2.924,1185,4.759,1186,4.759,1187,2.924,1188,2.924,1189,2.924,1190,2.924,1191,2.924,1192,4.759,1193,3.745,2463,2.27,18909,5.659,18910,3.477,18911,3.477]],["title/interfaces/RocketChatGroupModel.html",[159,0.714,1064,5.64]],["body/interfaces/RocketChatGroupModel.html",[0,0.199,3,0.007,4,0.007,5,0.003,7,0.05,30,0.001,31,0.468,32,0.129,34,1.569,36,2.815,39,3.588,47,1.017,51,4.012,55,1.46,72,2.64,83,1.68,87,3.657,95,0.095,101,0.011,103,0,104,0,112,0.451,122,2.251,135,1.407,148,1.329,153,1.507,159,0.748,161,0.846,172,2.452,176,4.649,185,1.22,195,0.779,228,1.045,231,0.617,277,0.511,290,1.72,317,2.882,371,3.855,379,4.258,402,2.065,433,0.439,532,1.321,540,1.25,559,1.915,567,2.764,569,1.105,571,4.53,579,2.63,589,0.769,652,2.475,657,2.251,688,1.681,702,1.758,711,3.777,725,4.067,789,3.15,809,4.748,871,3.062,890,2.467,1050,8.41,1051,2.89,1052,2.994,1053,4.959,1054,2.007,1055,6.414,1056,2.294,1057,2.804,1058,2.731,1059,4.544,1060,3.934,1061,4.424,1062,4.424,1063,4.424,1064,5.904,1065,4.105,1066,2.994,1067,2.994,1068,2.994,1069,2.994,1070,2.994,1071,2.994,1072,2.557,1073,2.994,1074,2.994,1075,2.994,1076,5.321,1077,7.727,1078,1.561,1079,2.89,1080,1.989,1081,2.428,1082,2.51,1083,2.007,1084,2.428,1085,2.994,1086,5.464,1087,5.294,1088,5.377,1089,5.723,1090,6.396,1091,7.866,1092,6.606,1093,6.116,1094,2.731,1095,2.994,1096,2.994,1097,2.51,1098,2.994,1099,2.994,1100,2.89,1101,2.804,1102,2.994,1103,5.578,1104,2.89,1105,2.994,1106,2.994,1107,2.994,1108,2.89,1109,2.994,1110,2.994,1111,2.994,1112,7.44,1113,2.994,1114,2.994,1115,1.363,1116,2.994,1117,2.994,1118,2.994,1119,2.994,1120,2.994,1121,2.994,1122,2.994,1123,2.994,1124,8.272,1125,8.272,1126,2.994,1127,2.994,1128,2.994,1129,2.994,1130,2.994,1131,2.994,1132,2.467,1133,2.994,1134,2.994,1135,2.994,1136,2.994,1137,2.994,1138,2.994,1139,2.994,1140,2.994,1141,2.994,1142,2.994,1143,2.994,1144,2.994,1145,2.994,1146,2.994,1147,4.424,1148,4.424,1149,2.994,1150,2.994,1151,2.994,1152,2.994,1153,2.994,1154,2.428,1155,2.994,1156,2.994,1157,2.994,1158,4.851,1159,2.994,1160,4.851,1161,4.851,1162,2.994,1163,2.994,1164,2.731,1165,6.116,1166,4.813,1167,4.469,1168,2.994,1169,3.339,1170,5.257,1171,4.424,1172,5.446,1173,6.116,1174,6.116,1175,6.116,1176,2.731,1177,2.994,1178,2.994,1179,2.994,1180,7.727,1181,6.116,1182,6.116,1183,6.116,1184,2.994,1185,4.851,1186,4.851,1187,2.994,1188,2.994,1189,2.994,1190,2.994,1191,2.994,1192,4.851,1193,3.818]],["title/modules/RocketChatModule.html",[252,1.836,8976,5.64]],["body/modules/RocketChatModule.html",[0,0.327,3,0.018,4,0.018,5,0.009,8,1.093,27,0.373,29,0.726,30,0.001,31,0.531,32,0.118,33,0.433,35,1.097,95,0.144,101,0.012,103,0.001,104,0.001,148,0.938,252,3.343,254,3.414,259,3.448,260,3.529,276,3.708,277,1.362,467,3.4,540,4.1,685,5.538,1016,8.05,1045,7.622,1048,6.569,1051,9.479,1054,5.345,1059,10.401,1108,10.272,1267,6.809,3857,7.622,8976,10.272,18912,9.48,18913,9.48,18914,7.972,18915,9.48,18916,9.48]],["title/interfaces/RocketChatOptions.html",[159,0.714,1059,5.472]],["body/interfaces/RocketChatOptions.html",[0,0.195,3,0.007,4,0.007,5,0.003,7,0.049,30,0.001,31,0.461,32,0.133,33,0.519,34,1.549,36,2.803,39,3.571,47,1.024,51,3.953,55,1.435,72,2.586,83,1.646,87,3.594,95,0.094,101,0.011,103,0,104,0,112,0.441,122,2.029,135,1.394,148,1.324,153,1.488,159,0.735,161,0.824,176,4.588,185,1.189,195,0.76,228,1.024,231,0.602,277,0.499,290,1.69,317,2.87,371,3.789,379,4.194,402,2.022,433,0.428,532,1.288,540,1.219,559,1.867,567,2.717,569,1.078,571,4.493,579,2.596,589,0.753,652,2.459,657,2.224,688,1.638,702,1.714,711,3.756,725,6.394,789,3.085,809,4.666,871,3.016,890,2.405,1050,8.321,1051,2.818,1052,2.919,1053,4.874,1054,1.957,1055,6.318,1056,2.236,1057,2.734,1058,2.662,1059,5.63,1060,6.183,1061,6.955,1062,6.955,1063,6.955,1064,4.588,1065,1.704,1066,2.919,1067,2.919,1068,2.919,1069,2.919,1070,2.919,1071,2.919,1072,2.493,1073,2.919,1074,2.919,1075,2.919,1076,2.208,1077,7.626,1078,1.522,1079,2.818,1080,1.948,1081,2.367,1082,2.447,1083,1.957,1084,2.367,1085,2.919,1086,5.42,1087,5.251,1088,5.333,1089,5.676,1090,6.347,1091,7.806,1092,6.528,1093,6.01,1094,2.662,1095,2.919,1096,2.919,1097,2.447,1098,2.919,1099,2.919,1100,2.818,1101,2.734,1102,2.919,1103,5.482,1104,2.818,1105,2.919,1106,2.919,1107,2.919,1108,2.818,1109,2.919,1110,2.919,1111,2.919,1112,7.361,1113,2.919,1114,2.919,1115,1.329,1116,2.919,1117,2.919,1118,2.919,1119,2.919,1120,2.919,1121,2.919,1122,2.919,1123,2.919,1124,8.175,1125,8.175,1126,2.919,1127,2.919,1128,2.919,1129,2.919,1130,2.919,1131,2.919,1132,2.405,1133,2.919,1134,2.919,1135,2.919,1136,2.919,1137,2.919,1138,2.919,1139,2.919,1140,2.919,1141,2.919,1142,2.919,1143,2.919,1144,2.919,1145,2.919,1146,2.919,1147,4.334,1148,4.334,1149,2.919,1150,2.919,1151,2.919,1152,2.919,1153,2.919,1154,2.367,1155,2.919,1156,2.919,1157,2.919,1158,4.752,1159,2.919,1160,4.752,1161,4.752,1162,2.919,1163,2.919,1164,2.662,1165,6.01,1166,4.731,1167,4.392,1168,2.919,1169,3.271,1170,5.179,1171,4.334,1172,5.352,1173,6.01,1174,6.01,1175,6.01,1176,2.662,1177,2.919,1178,2.919,1179,2.919,1180,7.626,1181,6.01,1182,6.01,1183,6.01,1184,2.919,1185,4.752,1186,4.752,1187,2.919,1188,2.919,1189,2.919,1190,2.919,1191,2.919,1192,4.752,1193,3.74]],["title/classes/RocketChatUser.html",[0,0.239,18917,5.472]],["body/classes/RocketChatUser.html",[0,0.267,2,0.824,3,0.015,4,0.015,5,0.007,7,0.109,8,1.183,26,2.368,27,0.534,30,0.001,32,0.096,35,0.896,39,3.39,47,0.929,51,5.876,83,3.566,95,0.117,99,1.584,101,0.013,103,0,104,0,112,0.801,113,4.089,125,2.738,148,1.295,159,0.796,185,2.653,231,1.994,430,5.017,431,5.229,435,3.58,436,3.04,532,3.806,711,3.04,735,4.671,1112,8.797,1193,8.841,1767,5.645,1770,5.157,1773,7.069,1849,4.482,3036,4.867,3054,4.867,3057,6.099,3059,6.099,3062,5.366,3063,5.366,8385,6.099,18172,5.938,18917,8.08,18918,9.788,18919,12.37,18920,7.17,18921,9.647,18922,7.743,18923,7.743,18924,7.743,18925,7.743,18926,7.743,18927,7.743,18928,7.743,18929,7.743,18930,7.743,18931,6.793,18932,7.17,18933,7.17,18934,7.17]],["title/entities/RocketChatUserEntity.html",[205,1.416,18935,5.472]],["body/entities/RocketChatUserEntity.html",[0,0.258,3,0.014,4,0.014,5,0.007,7,0.159,26,2.067,27,0.476,30,0.001,32,0.151,33,0.459,34,1.28,39,3.346,47,0.968,49,4.564,51,5.801,83,2.923,95,0.138,96,2.647,97,3.058,99,1.534,101,0.013,103,0,104,0,112,0.784,125,2.878,159,0.771,190,2.171,195,2.197,196,2.48,205,2.047,206,2.438,211,4.158,219,6.33,221,5.614,223,3.914,224,2.178,225,3.857,229,2.966,231,1.299,232,2.032,233,2.34,234,5.75,235,6.304,242,3.946,243,4.713,430,3.071,431,3.201,458,2.999,459,5.285,460,4.557,461,6.846,462,4.557,463,6.846,1112,8.684,1193,8.343,4608,4.263,10558,8.443,12996,5.905,18918,9.237,18921,9.524,18935,7.908,18936,11.673,18937,7.497,18938,7.497,18939,7.497,18940,7.497,18941,8.443,18942,6.942,18943,6.942,18944,6.942,18945,9.297,18946,6.942]],["title/interfaces/RocketChatUserEntityProps.html",[159,0.714,18941,5.842]],["body/interfaces/RocketChatUserEntityProps.html",[0,0.257,3,0.014,4,0.014,5,0.007,7,0.159,26,2.485,30,0.001,32,0.165,33,0.615,34,2.062,39,3.484,47,0.993,49,4.752,51,6.041,83,3.774,95,0.138,96,2.64,97,3.047,99,1.528,101,0.013,103,0,104,0,112,0.782,125,2.873,159,0.768,161,1.774,195,1.634,196,2.471,205,2.042,219,6.318,223,3.909,224,2.169,225,3.847,229,2.954,231,1.295,232,2.024,233,2.331,234,5.728,235,6.281,242,3.932,243,4.695,430,4.945,431,5.154,458,2.988,459,5.272,460,4.54,461,6.829,462,4.54,463,6.829,1112,9.042,1193,4.943,4608,4.247,12996,5.883,18918,5.473,18921,9.917,18935,5.883,18936,6.916,18941,9.501,18942,6.916,18943,6.916,18944,6.916,18945,9.274,18946,6.916]],["title/classes/RocketChatUserFactory.html",[0,0.239,18947,6.433]],["body/classes/RocketChatUserFactory.html",[0,0.175,2,0.541,3,0.01,4,0.01,5,0.005,7,0.071,8,0.879,27,0.519,29,1.019,30,0.001,31,0.71,32,0.168,33,0.579,34,1.733,35,1.44,39,1.407,47,0.541,49,2.876,51,3.656,55,2.375,59,3.375,83,2.219,95,0.104,96,1.341,97,2.074,101,0.007,103,0,104,0,112,0.595,113,4.549,127,5.072,129,3.634,130,3.329,135,0.663,148,0.503,153,1.665,157,2.104,172,3.239,185,2.611,192,2.798,205,2.216,206,2.478,228,1.381,231,1.321,326,4.817,374,3.296,430,2.083,431,2.171,433,0.627,436,3.905,467,2.219,501,7.323,502,5.629,505,4.226,506,5.629,507,5.482,508,4.226,509,4.226,510,4.226,511,4.16,512,4.653,513,5.068,514,6.868,515,5.936,516,7.112,517,2.843,522,2.82,523,4.226,524,2.843,525,5.306,526,5.459,527,4.296,528,5.135,529,4.193,530,2.82,531,2.658,532,4.235,533,2.715,534,2.658,535,2.82,536,2.843,537,4.989,538,2.82,539,7.03,540,4.274,541,6.75,542,2.843,543,4.434,544,2.82,545,2.843,546,2.82,547,2.843,548,2.82,549,3.159,550,2.97,551,2.82,552,6.231,553,2.843,554,2.82,555,4.226,556,3.855,557,4.226,558,2.843,559,2.735,560,2.695,561,2.282,562,2.82,563,2.82,564,2.82,565,2.843,566,2.843,567,1.933,568,2.82,569,1.579,570,2.843,571,3.014,572,2.82,573,2.843,1112,3.652,1193,5.043,2080,4.128,4463,3.159,7495,2.867,18914,4.276,18918,3.726,18921,6.002,18935,4.005,18941,4.276,18947,7.056,18948,5.085,18949,5.085,18950,5.085,18951,5.085,18952,5.085]],["title/classes/RocketChatUserMapper.html",[0,0.239,18953,6.094]],["body/classes/RocketChatUserMapper.html",[0,0.291,2,0.898,3,0.016,4,0.016,5,0.008,7,0.119,8,1.252,27,0.427,29,0.832,30,0.001,31,0.608,32,0.135,33,0.496,34,1.854,35,1.256,39,3.004,49,3.187,51,5.208,95,0.137,96,2.226,97,3.444,101,0.011,103,0.001,104,0.001,148,1.074,153,1.968,205,2.213,430,4.446,431,4.634,467,3.904,1112,7.796,1193,8.381,1770,3.417,2491,5.953,2497,6.854,2499,6.854,4708,9.128,4711,9.128,4712,9.128,4718,9.128,4721,5.132,4735,6.475,4736,6.475,8046,7.1,10618,7.407,18917,10.741,18918,8.79,18921,8.55,18935,10.741,18953,9.523,18954,11.996,18955,8.443,18956,8.443,18957,7.818,18958,7.818,18959,8.443,18960,8.443,18961,8.443,18962,8.443,18963,8.443,18964,8.443,18965,8.443]],["title/modules/RocketChatUserModule.html",[252,1.836,8977,6.094]],["body/modules/RocketChatUserModule.html",[0,0.326,3,0.018,4,0.018,5,0.009,30,0.001,95,0.144,101,0.012,103,0.001,104,0.001,252,3.34,254,3.406,255,3.607,256,3.7,257,3.686,258,3.673,259,4.597,260,4.705,269,4.561,270,3.633,271,3.557,277,1.358,1193,6.259,2609,4.642,8977,12.488,18918,6.93,18966,9.457,18967,9.457,18968,9.457,18969,12.689,18970,11.604,18971,9.457,18972,9.457,18973,9.457,18974,9.457]],["title/interfaces/RocketChatUserProps.html",[159,0.714,18931,6.094]],["body/interfaces/RocketChatUserProps.html",[0,0.281,3,0.015,4,0.015,5,0.008,7,0.115,26,2.668,30,0.001,32,0.166,33,0.607,39,3.588,47,1.006,51,6.22,83,3.995,95,0.121,99,1.672,101,0.014,103,0.001,104,0.001,112,0.83,125,2.81,148,1.315,159,0.84,161,1.94,185,2.799,231,2.047,430,5.31,431,5.535,1112,9.311,1193,5.406,1767,6.498,1770,4.301,1849,4.728,3062,5.66,3063,5.66,18172,6.264,18917,6.434,18918,5.985,18919,7.564,18920,7.564,18921,10.211,18931,9.321,18932,7.564,18933,7.564,18934,7.564]],["title/injectables/RocketChatUserRepo.html",[589,0.926,18970,5.842]],["body/injectables/RocketChatUserRepo.html",[0,0.266,3,0.015,4,0.015,5,0.007,7,0.108,8,1.18,11,8.059,13,7.214,26,2.747,27,0.481,29,0.88,30,0.001,31,0.643,32,0.143,33,0.525,35,1.184,36,2.823,37,8.059,39,3.384,42,7.214,49,2.911,95,0.149,96,2.033,97,3.147,99,1.578,101,0.01,103,0,104,0,135,1.498,148,1.136,153,1.678,205,2.086,228,1.398,277,1.108,317,2.834,400,2.297,433,0.951,589,1.364,591,1.836,657,1.765,675,3.927,735,4.66,736,5.669,766,4.148,773,7.349,1193,8.657,2444,6.783,3596,5.035,3601,5.977,4819,5.87,18917,8.059,18918,9.324,18935,9.044,18953,6.767,18957,7.142,18958,7.142,18970,8.604,18975,12.725,18976,7.142,18977,7.713,18978,7.713,18979,7.713,18980,7.713,18981,7.713,18982,7.713,18983,7.713]],["title/injectables/RocketChatUserService.html",[589,0.926,18969,6.094]],["body/injectables/RocketChatUserService.html",[0,0.292,3,0.016,4,0.016,5,0.008,7,0.119,8,1.253,11,8.561,13,7.663,26,2.808,27,0.473,29,0.92,30,0.001,31,0.673,32,0.15,33,0.549,35,1.258,36,2.681,37,8.561,39,3.008,42,7.663,95,0.145,99,1.731,101,0.011,103,0.001,104,0.001,135,1.104,148,1.075,228,1.533,277,1.215,290,2.571,317,2.602,400,2.52,433,1.043,589,1.449,591,2.014,657,1.936,711,3.975,1193,8.387,1882,3.227,2609,4.153,18917,8.561,18918,9.286,18969,9.536,18970,11.281,18984,12.673,18985,8.461,18986,8.461,18987,8.461,18988,8.461,18989,8.461,18990,8.461,18991,8.461]],["title/entities/Role.html",[205,1.416,331,3.074]],["body/entities/Role.html",[0,0.272,3,0.015,4,0.015,5,0.007,7,0.111,27,0.457,30,0.001,31,0.691,32,0.129,47,0.737,95,0.132,96,2.077,101,0.014,103,0.001,104,0.001,112,0.81,129,3.099,130,2.839,135,1.514,148,0.779,153,2.023,159,1.067,190,2.083,205,2.365,206,2.563,219,5.803,223,3.829,224,2.289,225,3.987,226,3.571,229,3.117,231,1.366,232,2.135,233,2.459,331,5.671,579,2.255,693,5.616,711,2.335,874,4.603,1821,3.823,1826,6.874,2183,3.105,2915,5.756,2919,5.756,3388,6.567,4394,4.647,4617,3.536,5009,6.84,8132,6.397,10558,6.626,11579,7.771,11607,8.174,17785,6.397,17800,6.397,17805,6.397,18992,7.297,18993,7.879,18994,7.879,18995,7.879,18996,7.879,18997,9.104,18998,6.626,18999,6.626,19000,7.297,19001,6.626,19002,7.297,19003,9.61,19004,7.297,19005,8.727]],["title/classes/RoleDto.html",[0,0.239,4979,4.989]],["body/classes/RoleDto.html",[0,0.321,2,0.992,3,0.018,4,0.018,5,0.009,7,0.131,26,2.585,27,0.517,29,0.714,30,0.001,31,0.735,32,0.164,33,0.617,34,2.145,95,0.132,99,1.908,101,0.012,103,0.001,104,0.001,112,0.903,232,3.132,433,1.149,435,3.255,458,3.731,459,4.909,595,3.52,693,5.72,1826,6.436,2183,3.675,4617,4.185,4979,9.693,5009,6.966,11579,6.983,11607,7.345,19006,9.325,19007,11.557,19008,9.325,19009,9.325]],["title/classes/RoleMapper.html",[0,0.239,19010,6.094]],["body/classes/RoleMapper.html",[0,0.318,2,0.981,3,0.017,4,0.017,5,0.008,7,0.129,8,1.323,27,0.452,29,0.879,30,0.001,31,0.7,32,0.143,33,0.524,34,1.574,35,1.328,95,0.131,101,0.012,103,0.001,104,0.001,148,1.135,153,1.512,205,1.879,331,6.154,467,3.993,478,2.588,1826,4.724,4721,5.604,4722,7.261,4979,9.849,4986,7.07,19010,10.067,19011,9.218,19012,10.067,19013,9.65,19014,11.475,19015,9.218,19016,9.218,19017,9.65,19018,9.218,19019,9.218,19020,9.218,19021,8.087]],["title/modules/RoleModule.html",[252,1.836,1524,5.328]],["body/modules/RoleModule.html",[0,0.308,3,0.017,4,0.017,5,0.008,30,0.001,95,0.147,101,0.012,103,0.001,104,0.001,252,3.254,254,3.217,255,3.407,256,3.494,257,3.481,258,3.468,259,4.479,260,4.585,269,4.401,270,3.431,271,3.359,277,1.283,279,3.733,1524,11.057,5082,11.01,5103,7.51,19022,8.931,19023,8.931,19024,8.931,19025,12.072,19026,12.594,19027,8.931,19028,8.931]],["title/classes/RoleNameMapper.html",[0,0.239,13989,6.094]],["body/classes/RoleNameMapper.html",[0,0.292,2,0.902,3,0.016,4,0.016,5,0.008,7,0.119,8,1.255,27,0.428,29,0.834,30,0.001,31,0.71,32,0.136,33,0.497,35,1.26,95,0.137,101,0.011,103,0.001,104,0.001,148,1.328,331,4.816,365,3.769,467,3.908,478,2.38,579,3.115,595,3.2,830,6.037,837,4.186,1882,3.234,4923,5.501,5009,7.746,11368,7.309,11369,7.309,12385,11.745,13620,10.572,13829,8.347,13963,9.219,13989,9.548,14040,8.573,19029,12.02,19030,8.478,19031,10.079,19032,10.884,19033,8.478,19034,10.884,19035,8.478,19036,7.851,19037,7.851,19038,7.851,19039,8.478,19040,8.478,19041,8.478]],["title/interfaces/RoleProperties.html",[159,0.714,18997,6.094]],["body/interfaces/RoleProperties.html",[0,0.278,3,0.015,4,0.015,5,0.007,7,0.113,30,0.001,31,0.723,32,0.146,33,0.569,47,0.748,95,0.134,96,2.127,101,0.014,103,0.001,104,0.001,112,0.823,135,1.531,148,0.798,153,1.926,159,1.084,161,1.916,205,2.393,219,5.894,223,3.645,224,2.344,225,4.049,226,3.657,229,3.192,231,1.399,232,2.187,233,2.519,331,5.715,579,2.31,693,5.881,711,2.391,874,4.714,1821,3.915,1826,7.012,2183,3.18,2915,4.476,2919,5.846,3388,6.787,4394,4.759,4617,3.622,5009,7.163,8132,6.551,11579,7.893,11607,8.303,17785,6.551,17800,6.551,17805,6.551,18992,7.473,18997,10.299,18998,6.786,18999,6.786,19000,7.473,19001,6.786,19002,7.473,19003,9.761,19004,7.473,19005,8.864]],["title/classes/RoleReference.html",[0,0.239,8062,4.737]],["body/classes/RoleReference.html",[0,0.331,2,1.023,3,0.018,4,0.018,5,0.009,7,0.135,26,2.621,27,0.501,29,0.737,30,0.001,31,0.743,32,0.159,33,0.439,34,2.175,95,0.134,101,0.013,103,0.001,104,0.001,112,0.92,134,3.398,159,0.989,232,3.192,433,1.185,435,3.356,458,3.847,459,5.062,2183,3.79,3725,8.436,4617,4.316,5009,7.062,8062,9.283,19042,13.27,19043,11.778,19044,9.616]],["title/injectables/RoleRepo.html",[589,0.926,19025,5.842]],["body/injectables/RoleRepo.html",[0,0.214,3,0.012,4,0.012,5,0.006,7,0.087,8,1.016,10,3.523,12,3.972,18,4.455,26,2.295,27,0.515,29,0.964,30,0.001,31,0.743,32,0.16,33,0.575,34,1.749,35,1.457,36,3.016,40,4.249,47,0.727,55,1.244,95,0.134,99,1.269,101,0.008,103,0,104,0,112,0.688,129,1.851,130,1.696,135,1.454,148,1.165,205,1.264,206,2.864,231,1.526,277,0.891,317,3.018,331,3.897,436,3.304,478,1.741,532,4.981,589,1.174,591,1.476,595,2.34,615,5.353,728,7.285,734,3.697,735,4.01,736,5.057,759,3.692,760,3.769,761,3.73,762,3.769,764,3.73,765,3.769,766,3.335,3591,7.405,3608,7.726,3950,4.371,4225,8.783,5009,6.981,5198,5.411,10632,7.15,10638,7.405,15484,5.741,19025,7.405,19045,6.2,19046,9.484,19047,7.726,19048,6.2,19049,6.2,19050,7.726,19051,6.2,19052,8.155,19053,6.2,19054,6.2,19055,8.806,19056,10.325,19057,8.806]],["title/injectables/RoleService.html",[589,0.926,5082,5.328]],["body/injectables/RoleService.html",[0,0.251,3,0.014,4,0.014,5,0.007,7,0.102,8,1.135,12,4.439,26,2.707,27,0.491,29,0.915,30,0.001,31,0.669,32,0.149,33,0.546,34,1.243,35,1.383,36,2.83,40,4.749,95,0.15,99,1.49,101,0.01,103,0,104,0,135,1.715,148,1.182,205,1.484,206,2.367,228,1.319,277,1.046,279,3.043,317,3.018,331,5.287,400,2.168,433,0.897,478,2.044,589,1.312,591,1.732,595,2.748,615,4.425,657,2.733,3388,3.73,3591,8.277,3608,8.635,4979,9.446,5009,6.626,5082,7.549,5198,4.473,11368,4.888,19010,6.386,19025,10.817,19047,8.635,19050,8.635,19058,7.279,19059,11.947,19060,7.279,19061,7.279,19062,7.279,19063,7.279,19064,7.279,19065,7.279,19066,7.279,19067,7.279,19068,12.863,19069,7.279,19070,7.279,19071,7.279,19072,7.279,19073,7.279,19074,7.279,19075,7.279]],["title/injectables/RoleUc.html",[589,0.926,19026,6.094]],["body/injectables/RoleUc.html",[0,0.32,3,0.018,4,0.018,5,0.009,7,0.13,8,1.329,27,0.454,29,0.883,30,0.001,31,0.645,32,0.144,33,0.527,35,1.074,36,2.851,95,0.15,101,0.012,103,0.001,104,0.001,135,1.211,148,0.918,228,1.682,277,1.333,317,2.715,400,2.765,433,1.144,589,1.536,591,2.209,595,3.504,4979,6.667,4986,7.119,5009,7.27,5082,10.535,5103,7.806,5198,5.704,19026,10.11,19047,10.11,19050,10.11,19076,9.282,19077,9.282,19078,9.282,19079,9.282,19080,9.282]],["title/injectables/RoomBoardDTOFactory.html",[589,0.926,9737,5.64]],["body/injectables/RoomBoardDTOFactory.html",[0,0.245,3,0.009,4,0.009,5,0.004,7,0.065,8,0.82,27,0.28,29,0.545,30,0.001,31,0.484,32,0.151,33,0.325,34,1.215,35,0.537,95,0.135,99,0.95,100,3.382,101,0.006,103,0,104,0,122,1.484,135,1.796,141,4.919,148,1.279,153,1.167,155,2.256,172,3.024,195,1.557,197,1.978,228,1.289,277,0.667,290,2.978,402,3.944,430,2.914,431,3.037,433,1.066,478,1.304,589,0.948,591,1.105,595,1.753,652,2.567,653,1.917,693,2.115,896,3.977,1132,3.218,1197,3.854,1778,2.919,1793,3.073,1862,5.884,1936,2.18,2032,3.683,2048,1.887,2050,5.51,2054,3.218,2218,2.074,2219,2.335,2220,2.253,2392,4.204,2653,2.147,2926,4.65,2928,4.781,2930,7.77,2933,5.456,2935,6.21,2945,8.785,3013,3.561,3014,3.073,3293,3.561,3318,9.165,3319,5.982,3323,5.982,3326,3.905,3345,4.074,3717,3.905,3727,2.919,3730,3.905,4047,2.919,4065,5.806,4212,2.713,4819,4.96,5219,5.806,5735,3.77,7880,3.905,8400,8.59,8553,3.218,8693,4.074,9642,6.24,9643,8.006,9644,4.3,9645,10.064,9646,10.297,9650,4.3,9651,4.3,9661,4.3,9662,10.206,9664,8.785,9665,4.3,9667,4.3,9672,4.3,9674,4.3,9676,4.3,9678,4.3,9680,3.402,9681,6.24,9682,6.24,9683,4.3,9684,4.3,9685,4.074,9686,6.587,9687,4.3,9688,6.587,9689,6.587,9690,4.3,9691,4.3,9692,4.3,9693,4.3,9694,4.3,9695,4.3,9696,4.3,9697,4.3,9698,4.3,9699,4.3,9700,6.587,9701,4.074,9702,4.3,9703,4.3,9704,4.3,9705,4.3,9706,8.006,9707,4.3,9708,4.3,9709,4.3,9710,4.074,9711,4.074,9712,6.587,9713,4.3,9714,4.3,9715,4.074,9716,4.074,9717,3.905,9718,4.074,9719,4.074,9720,4.3,9721,4.3,9722,4.3,9723,4.3,9724,4.3,9725,4.3,9726,4.074,9727,4.3,9728,4.3,9729,4.3,9730,4.3,9731,4.3,9732,4.3,9733,4.3,9734,4.3,9735,3.905,9736,4.3,9737,5.775,9738,8.006,9739,4.3,9740,4.3,19081,4.643,19082,4.643,19083,4.643,19084,4.643]],["title/injectables/RoomBoardResponseMapper.html",[589,0.926,15118,5.842]],["body/injectables/RoomBoardResponseMapper.html",[0,0.195,3,0.011,4,0.011,5,0.005,7,0.08,8,0.952,27,0.447,29,0.434,30,0.001,31,0.545,32,0.133,33,0.259,34,1.663,35,0.656,95,0.135,101,0.007,103,0,104,0,112,0.645,129,3.194,130,2.926,134,2.002,135,1.755,148,1.125,153,2.01,155,2.618,277,0.814,402,2.954,430,3.988,431,4.157,478,1.591,589,1.1,591,1.349,652,2.717,829,3.342,830,4.578,837,2.797,896,5.981,1132,3.927,1936,2.66,2032,3.137,2050,5.396,2054,3.927,2392,3.714,2928,2.593,2934,4.407,3009,6.941,3011,4.463,3013,4.346,3014,3.75,3711,11.489,3714,6.941,3715,6.941,3717,4.765,3721,5.247,3727,3.562,3728,5.247,3729,5.247,3730,4.765,3980,7.644,3983,4.971,4047,3.562,4061,4.971,4819,4.735,5735,4.6,9632,4.971,9664,9.561,9680,7.134,9681,8.542,9682,8.542,9711,7.241,9715,7.241,9716,4.971,9717,4.765,9718,4.971,9719,4.971,9726,7.241,9735,4.765,15118,6.941,19085,11.868,19086,9.736,19087,9.736,19088,9.736,19089,9.736,19090,5.666,19091,8.995,19092,5.666,19093,5.666,19094,5.666,19095,5.666,19096,5.666,19097,5.666,19098,5.666,19099,5.666,19100,5.666,19101,5.666,19102,9.736,19103,5.666,19104,5.666,19105,5.666,19106,7.644,19107,5.666,19108,5.666,19109,5.666,19110,8.254,19111,5.666,19112,8.254,19113,5.666,19114,5.666,19115,5.666,19116,5.666,19117,5.666,19118,5.666,19119,5.666,19120,5.666,19121,5.666,19122,5.666,19123,5.666,19124,5.666,19125,5.666,19126,5.666,19127,5.666,19128,5.666,19129,8.254,19130,5.666,19131,5.666,19132,5.666,19133,5.666,19134,5.666,19135,8.254,19136,5.666,19137,5.666,19138,5.666,19139,5.666,19140,5.666,19141,5.666]],["title/classes/RoomElementUrlParams.html",[0,0.239,19142,6.094]],["body/classes/RoomElementUrlParams.html",[0,0.394,2,0.976,3,0.017,4,0.017,5,0.008,7,0.129,27,0.45,30,0.001,32,0.143,34,2.23,47,0.927,95,0.131,101,0.012,103,0.001,104,0.001,112,0.894,157,2.634,190,2.054,194,5.107,195,2.856,196,4.318,197,3.63,200,2.812,202,2.108,296,3.258,855,5.047,1132,8.641,2023,9.821,2048,4.65,4150,6.956,4188,7.929,6496,8.497,6498,8.497,8400,9.775,19142,10.038,19143,12.468,19144,9.176]],["title/classes/RoomUrlParams.html",[0,0.239,19145,6.094]],["body/classes/RoomUrlParams.html",[0,0.415,2,1.061,3,0.019,4,0.019,5,0.009,7,0.14,27,0.393,30,0.001,32,0.124,34,2.057,47,0.855,95,0.137,101,0.013,103,0.001,104,0.001,112,0.941,157,2.296,190,1.791,194,4.711,195,2.635,196,3.984,197,3.349,200,3.056,202,2.291,296,3.147,855,4.875,1132,8.966,4150,6.063,8400,9.018,19145,10.565,19146,9.974,19147,9.974]],["title/injectables/RoomsAuthorisationService.html",[589,0.926,9646,5.472]],["body/injectables/RoomsAuthorisationService.html",[0,0.243,3,0.013,4,0.013,5,0.007,7,0.099,8,1.112,27,0.464,29,0.904,30,0.001,31,0.661,32,0.147,33,0.539,35,1.366,95,0.11,101,0.013,103,0,104,0,122,2.772,135,1.539,148,1.167,153,1.158,197,2.681,277,1.014,290,3.377,478,1.982,579,2.021,589,1.286,591,1.681,886,2.222,1783,4.339,1784,4.742,1838,7.749,1936,5.155,2032,5.305,2524,4.979,2926,6.345,2928,5.971,3507,4.493,5729,4.016,5741,4.206,6197,5.072,9646,7.595,9717,5.938,19148,7.061,19149,9.642,19150,9.642,19151,9.642,19152,9.642,19153,9.642,19154,7.061,19155,9.642,19156,7.061,19157,9.642,19158,7.061,19159,9.642,19160,7.061,19161,7.061,19162,9.642,19163,9.642,19164,7.061,19165,8.459,19166,7.061,19167,12.3,19168,7.061,19169,7.061,19170,7.061,19171,10.167,19172,9.642,19173,9.642,19174,8.929]],["title/controllers/RoomsController.html",[314,2.659,15121,6.094]],["body/controllers/RoomsController.html",[0,0.191,3,0.011,4,0.011,5,0.005,7,0.078,8,0.936,27,0.443,29,0.863,30,0.001,31,0.631,32,0.14,33,0.515,35,1.304,36,2.738,95,0.15,100,3.932,101,0.007,103,0,104,0,135,1.536,148,0.951,190,2.023,202,1.273,228,1.918,274,2.316,277,0.796,314,2.121,316,2.673,317,2.949,325,6.806,326,4.839,349,7.086,379,5.389,388,5.049,389,3.617,392,2.897,393,2.736,395,2.98,398,3.002,433,0.683,649,3.483,650,4.498,652,2.158,657,2.578,675,2.821,2050,3.423,3189,8.661,3209,2.858,3211,3.049,3245,8.083,3273,5.301,3286,3.405,3287,3.151,3982,3.721,4030,6.779,4819,4.658,7116,4.364,7363,4.498,7368,8.901,7588,5.131,7610,8.083,7664,8.083,8404,5.131,15117,8.083,15118,6.829,15119,8.083,15121,7.124,15126,5.131,15405,8.337,15412,5.131,17774,9.286,17779,9.286,19091,4.659,19142,9.286,19145,11.352,19175,5.541,19176,9.612,19177,9.612,19178,9.612,19179,5.541,19180,5.541,19181,5.541,19182,5.541,19183,5.541,19184,5.541,19185,5.541,19186,8.12,19187,5.541,19188,5.541,19189,8.12,19190,5.541,19191,5.541,19192,8.12,19193,5.541,19194,4.659,19195,7.52,19196,5.541,19197,5.541,19198,5.541,19199,5.541,19200,5.541,19201,5.541,19202,5.541,19203,8.12,19204,5.541,19205,5.541,19206,5.541,19207,5.541,19208,5.541,19209,7.124,19210,5.541,19211,7.124,19212,5.541,19213,5.541,19214,5.541]],["title/injectables/RoomsService.html",[589,0.926,7615,5.64]],["body/injectables/RoomsService.html",[0,0.23,3,0.013,4,0.013,5,0.006,7,0.094,8,1.069,26,2.774,27,0.419,29,0.817,30,0.001,31,0.597,32,0.143,33,0.487,34,1.14,35,1.073,36,2.437,39,2.95,95,0.154,99,1.366,101,0.009,103,0,104,0,122,1.393,135,1.676,145,2.502,148,0.917,195,1.46,228,2.193,277,0.959,279,2.79,317,2.714,433,1.143,478,1.874,589,1.237,591,1.588,652,2.671,657,2.94,1132,8.682,1853,2.183,1932,4.794,2019,9.623,2030,4.625,2031,3.975,2050,5.417,2053,4.998,2218,2.981,2219,3.356,2220,3.238,2934,3.563,2935,6.661,3251,9.623,4212,3.899,5459,6.18,5554,10.806,5562,6.18,5690,8.762,5691,9.382,5745,6.18,7615,7.53,8985,4.706,9701,5.855,15135,5.612,19215,6.674,19216,9.274,19217,9.274,19218,6.18,19219,6.674,19220,9.274,19221,6.674,19222,9.274,19223,6.674,19224,6.674,19225,9.274,19226,6.674,19227,9.274,19228,12.104,19229,6.674,19230,6.674,19231,6.674,19232,6.18,19233,6.674,19234,6.674,19235,6.674,19236,6.674,19237,6.674]],["title/injectables/RoomsUc.html",[589,0.926,15119,5.842]],["body/injectables/RoomsUc.html",[0,0.206,3,0.011,4,0.011,5,0.006,7,0.084,8,0.989,26,2.946,27,0.432,29,0.84,30,0.001,31,0.614,32,0.137,33,0.501,35,1.162,36,2.557,39,3.759,95,0.142,99,1.223,101,0.008,103,0,104,0,122,2.094,134,2.113,135,1.738,148,0.591,153,1.408,195,1.308,228,2.191,268,7.569,277,0.859,279,2.499,290,2.594,317,2.81,433,1.058,516,5.321,579,2.456,589,1.144,591,1.423,652,2.464,657,3.081,1132,8.048,1910,7.428,1997,7.906,2023,7.906,2032,4.595,2048,2.429,2050,4.895,2654,3.56,3251,9.325,4315,5.272,4418,9.622,7614,5.027,7615,10.109,7828,6.581,8400,6.425,9645,8.805,9646,8.639,9664,8.44,9685,5.245,9737,8.904,15119,7.216,19232,7.946,19238,5.978,19239,8.58,19240,8.58,19241,10.037,19242,5.978,19243,8.58,19244,5.978,19245,8.58,19246,10.037,19247,5.978,19248,5.978,19249,5.978,19250,5.978,19251,5.978,19252,10.037,19253,5.978,19254,5.978,19255,5.978,19256,8.58,19257,7.946,19258,8.58,19259,5.978,19260,5.978,19261,5.978,19262,5.978]],["title/interfaces/RpcMessage.html",[159,0.714,12256,5.202]],["body/interfaces/RpcMessage.html",[3,0.019,4,0.019,5,0.009,7,0.143,30,0.001,32,0.152,33,0.556,47,0.721,55,2.038,101,0.016,103,0.001,104,0.001,112,0.951,159,1.251,161,2.411,231,1.759,402,3.633,532,4.837,1080,4.765,1115,5.291,9939,10.973,12256,9.114,13603,8.905,13604,9.4]],["title/classes/RpcMessageProducer.html",[0,0.239,12337,5.842]],["body/classes/RpcMessageProducer.html",[0,0.244,2,0.754,3,0.013,4,0.013,5,0.007,7,0.1,8,1.115,9,3.293,27,0.465,29,0.978,30,0.001,31,0.662,32,0.159,33,0.54,35,1.273,47,0.977,55,2.372,80,5.307,95,0.125,101,0.009,103,0,104,0,113,5.529,135,1.435,148,0.956,158,4.354,193,4.2,228,1.993,317,2.383,433,1.191,532,3.586,569,2.2,579,2.028,657,1.621,813,3.963,871,4.027,1080,3.332,1115,4.885,1272,7.773,1274,6.309,1297,5.753,1298,9.556,1310,4.996,1311,4.626,1723,7.666,1944,5.753,4258,8.93,4291,9.259,7852,5.192,9935,6.217,9937,6.562,12256,8.847,12337,8.128,12338,8.479,12339,8.479,12345,8.479,12347,8.479,12349,8.479,13603,10.848,19263,7.086,19264,7.086,19265,7.086,19266,7.086,19267,7.086,19268,7.086,19269,7.086,19270,7.086,19271,7.086,19272,7.086,19273,7.086,19274,7.086,19275,9.665,19276,7.086,19277,7.086,19278,6.562]],["title/interfaces/Rule.html",[159,0.714,1985,4.316]],["body/interfaces/Rule.html",[3,0.017,4,0.017,5,0.008,7,0.125,8,1.292,27,0.441,29,0.858,30,0.001,31,0.627,32,0.14,33,0.512,35,1.297,59,2.754,95,0.152,101,0.012,103,0.001,104,0.001,122,2.691,159,0.912,161,2.107,183,5.18,185,4.726,290,3.33,478,2.491,532,5.039,1475,5.577,1767,4.882,1775,7.588,1838,6.81,1849,5.135,1850,6.255,1851,6.804,1852,5.232,1853,2.902,1981,7.218,1985,6.961,3663,7.415,3667,7.313,18081,7.784,19279,8.872,19280,8.872,19281,8.872]],["title/injectables/RuleManager.html",[589,0.926,1873,5.842]],["body/injectables/RuleManager.html",[0,0.205,3,0.011,4,0.011,5,0.005,7,0.083,8,0.984,27,0.43,29,0.766,30,0.001,31,0.56,32,0.15,33,0.457,35,0.988,95,0.142,101,0.008,103,0,104,0,112,0.667,135,1.113,145,2.224,148,0.844,153,1.4,183,4.169,185,3.968,228,2.522,277,0.852,290,2.739,433,1.052,478,1.666,579,2.443,589,1.138,591,1.412,652,2.873,711,2.962,756,2.347,1312,2.786,1767,6.014,1775,6.014,1849,3.435,1850,4.184,1851,4.551,1852,6.446,1853,1.941,1864,10.448,1865,10.448,1866,10.448,1867,10.087,1868,9.03,1870,10.448,1871,9.191,1872,10.087,1873,7.177,1874,10.448,1875,10.448,1876,10.087,1877,10.448,1878,10.448,1879,10.448,1885,9.121,1985,8.167,3507,5.43,19282,11.58,19283,5.934,19284,8.535,19285,8.535,19286,5.934,19287,9.995,19288,8.535,19289,8.535,19290,5.934,19291,8.535,19292,5.934,19293,5.934,19294,5.934,19295,5.934,19296,5.934,19297,5.934,19298,5.934,19299,5.934,19300,5.934,19301,5.934,19302,5.934,19303,5.934,19304,5.934,19305,5.934,19306,5.934,19307,5.934,19308,5.934,19309,5.934,19310,5.934,19311,5.934,19312,8.535,19313,5.934,19314,5.934]],["title/injectables/S3ClientAdapter.html",[589,0.926,12478,5.09]],["body/injectables/S3ClientAdapter.html",[0,0.089,3,0.005,4,0.005,5,0.009,7,0.036,8,0.51,10,2.743,27,0.444,29,0.828,30,0.001,31,0.605,32,0.138,33,0.494,34,0.756,35,1.251,36,2.339,47,0.928,59,0.804,72,1.186,95,0.108,101,0.003,103,0,104,0,112,0.346,125,0.617,129,0.774,130,0.709,135,1.72,141,4.383,145,0.971,148,1.115,153,2.005,158,1.631,159,0.266,183,2.615,185,0.888,228,0.802,277,0.372,316,2.136,317,2.857,326,4.203,339,2.462,371,3.634,374,2.507,379,1.319,414,6.241,433,0.546,569,0.804,571,3.319,579,3.094,589,0.59,591,0.617,615,1.575,629,5.936,652,2.084,653,1.07,657,2.703,688,1.223,711,3.874,734,2.878,1027,0.794,1080,0.893,1086,3.675,1087,3.56,1088,3.616,1089,3.848,1090,4.205,1091,5.171,1092,4.604,1094,1.987,1164,3.395,1197,5.344,1302,4.271,1304,3.899,1312,2.721,1313,1.766,1314,1.898,1328,5.731,1329,6.404,1330,9.091,1343,2.179,1476,2.691,1550,2.273,1743,1.861,1929,3.179,2087,2.507,2124,4.448,2445,2.413,2446,3.202,2467,1.559,2602,3.523,2802,2.319,2806,2.586,2923,1.373,2962,4.099,3071,2.663,3329,1.861,3851,1.303,4115,7.084,4168,1.795,4656,1.559,5091,3.094,5175,3.068,5187,4.301,5200,6.875,5231,2.783,6513,2.517,7240,5.134,7241,8.591,7243,3.395,7244,3.395,7245,4.31,7248,8.055,7251,1.827,7252,1.61,7253,1.575,7254,1.575,7255,6.568,7256,6.875,7257,4.445,7258,3.315,7582,1.715,7709,1.795,8913,5.765,8922,3.722,8923,2.273,8924,3.594,8940,2.273,11450,2.041,11451,2.103,11983,7.227,12440,5.258,12447,2.273,12478,3.243,16153,2.103,17977,4.099,17979,5.367,19315,10.624,19316,2.591,19317,5.796,19318,4.426,19319,6.856,19320,5.796,19321,6.856,19322,4.426,19323,4.426,19324,5.085,19325,2.591,19326,4.426,19327,4.426,19328,2.591,19329,4.426,19330,2.591,19331,4.426,19332,2.591,19333,2.591,19334,4.426,19335,2.591,19336,4.426,19337,2.591,19338,2.591,19339,2.591,19340,2.591,19341,4.426,19342,2.591,19343,4.426,19344,2.591,19345,4.426,19346,2.591,19347,4.426,19348,2.591,19349,6.856,19350,4.426,19351,2.591,19352,4.426,19353,4.426,19354,4.426,19355,4.426,19356,2.591,19357,5.796,19358,2.591,19359,5.367,19360,2.399,19361,2.591,19362,2.591,19363,2.591,19364,2.591,19365,2.591,19366,2.273,19367,11.813,19368,8.964,19369,2.591,19370,2.591,19371,2.591,19372,2.591,19373,2.591,19374,2.591,19375,2.591,19376,2.591,19377,4.426,19378,6.856,19379,2.591,19380,2.591,19381,4.426,19382,2.591,19383,2.591,19384,2.591,19385,2.591,19386,2.591,19387,4.426,19388,4.426,19389,4.426,19390,3.594,19391,4.426,19392,2.591,19393,2.591,19394,2.591,19395,4.426,19396,2.591,19397,2.591,19398,2.591,19399,2.591,19400,2.591,19401,2.591,19402,2.591,19403,2.591,19404,2.591,19405,2.591,19406,2.591,19407,2.591,19408,5.796,19409,2.591,19410,4.705,19411,2.591,19412,4.426,19413,2.591,19414,4.426,19415,2.591,19416,2.591,19417,2.591,19418,4.426,19419,2.591,19420,2.041,19421,2.591,19422,2.591,19423,2.591,19424,2.591,19425,2.591,19426,2.591,19427,4.426,19428,4.426,19429,2.591,19430,4.426,19431,2.591,19432,2.591,19433,2.591,19434,2.591,19435,2.591,19436,2.591,19437,5.796,19438,2.591,19439,4.426,19440,2.591,19441,2.591,19442,2.591,19443,2.591,19444,2.591,19445,2.591]],["title/modules/S3ClientModule.html",[252,1.836,12316,4.989]],["body/modules/S3ClientModule.html",[0,0.283,3,0.016,4,0.016,5,0.008,8,0.948,27,0.323,29,0.63,30,0.001,31,0.46,32,0.102,33,0.376,35,0.951,95,0.148,101,0.011,103,0.001,104,0.001,135,1.635,148,1.055,153,1.75,159,0.845,195,2.334,252,3.13,254,2.96,259,4.308,260,3.06,265,4.931,276,3.215,277,1.18,467,3.106,685,4.801,686,5.903,688,3.879,1016,7.535,1027,2.518,2087,5.123,2232,6.484,2445,4.441,2446,6.217,7241,7.988,7245,8.165,7247,7.273,7249,7.273,7250,7.273,8913,9.959,8922,6.911,8923,7.21,8924,8.66,8953,7.61,8955,7.61,8956,6.154,12236,7.21,12316,8.506,12478,6.022,14613,7.61,17883,7.21,19315,9.878,19446,10.667,19447,8.218,19448,8.218,19449,8.218,19450,8.218,19451,8.218,19452,8.218,19453,8.218]],["title/interfaces/S3Config.html",[159,0.714,7245,4.367]],["body/interfaces/S3Config.html",[3,0.016,4,0.016,5,0.01,7,0.116,30,0.001,32,0.166,47,1.049,55,2.382,95,0.094,101,0.017,103,0.001,104,0.001,112,0.835,125,2.545,159,1.37,161,1.96,339,3.138,414,5.411,1302,6.582,1304,4.693,1444,4.577,2232,7.631,5187,5.132,6513,4.693,7240,6.179,7241,6.179,7242,6.5,7243,6.329,7244,6.329,7245,6.723,7246,9.401,7247,8.56,7248,8.56,7249,8.56,7250,8.56,7251,5.818,7252,5.127,7253,5.016,7254,5.016,7255,6.046,7256,8.203,7257,8.203,7258,6.179]],["title/interfaces/S3Config-1.html",[159,0.594,756,2.285,7245,3.63]],["body/interfaces/S3Config-1.html",[3,0.019,4,0.019,5,0.009,7,0.137,30,0.001,32,0.17,47,1.04,101,0.013,103,0.001,104,0.001,112,0.929,159,1.005,161,2.323,2232,8.113,7245,7.481,7247,9.101,7248,9.101,7249,9.101,7250,9.101,12422,7.703,12423,7.703,19454,9.78]],["title/classes/SanisAnschriftResponse.html",[0,0.239,19455,6.094]],["body/classes/SanisAnschriftResponse.html",[0,0.423,2,1.094,3,0.02,4,0.02,5,0.009,7,0.144,27,0.405,30,0.001,32,0.128,33,0.561,47,0.871,95,0.117,101,0.013,103,0.001,104,0.001,112,0.958,190,1.846,200,3.15,299,4.78,300,4.694,1203,9.02,18324,7.249,19455,10.759,19456,8.808,19457,11.357,19458,13.106,19459,8.645]],["title/classes/SanisGeburtResponse.html",[0,0.239,19460,6.094]],["body/classes/SanisGeburtResponse.html",[0,0.423,2,1.094,3,0.02,4,0.02,5,0.009,7,0.144,27,0.405,30,0.001,32,0.128,33,0.561,47,0.871,95,0.117,101,0.013,103,0.001,104,0.001,112,0.958,190,1.846,200,3.15,299,4.78,300,4.694,442,8.347,18324,7.249,19456,8.808,19459,8.645,19460,10.759,19461,11.357,19462,13.106]],["title/classes/SanisGruppeResponse.html",[0,0.239,19463,6.094]],["body/classes/SanisGruppeResponse.html",[0,0.402,2,1.006,3,0.018,4,0.018,5,0.009,7,0.133,27,0.497,30,0.001,32,0.164,34,2.159,47,0.936,95,0.133,101,0.012,103,0.001,104,0.001,112,0.91,190,2.269,200,2.898,299,5.281,899,4.307,1065,4.642,14313,11.704,18324,6.668,19456,9.476,19459,7.953,19463,10.228,19464,12.217,19465,12.639,19466,9.457,19467,11.704,19468,11.658,19469,9.457,19470,6.668]],["title/classes/SanisGruppenResponse.html",[0,0.239,19471,5.64]],["body/classes/SanisGruppenResponse.html",[0,0.417,2,0.915,3,0.016,4,0.016,5,0.008,7,0.121,27,0.476,30,0.001,32,0.171,33,0.502,95,0.15,101,0.011,103,0.001,104,0.001,112,0.858,190,2.173,195,1.883,200,2.637,300,4.206,871,4.432,1232,4.981,2525,4.629,6258,6.36,6788,6.859,12533,8.535,12917,10.354,18324,6.068,19456,9.16,19463,11.189,19464,11.81,19470,8.535,19471,8.921,19472,11.81,19473,11.81,19474,12.105,19475,10.175,19476,7.969,19477,11.189,19478,7.969,19479,8.606,19480,7.969,19481,8.606,19482,7.969,19483,7.969]],["title/classes/SanisGruppenzugehoerigkeitResponse.html",[0,0.239,19477,6.094]],["body/classes/SanisGruppenzugehoerigkeitResponse.html",[0,0.413,2,1.053,3,0.019,4,0.019,5,0.009,7,0.139,27,0.39,30,0.001,32,0.123,33,0.548,95,0.137,101,0.013,103,0.001,104,0.001,112,0.936,190,1.778,195,2.623,200,3.034,300,4.589,331,4.381,899,4.509,1065,4.859,2525,6.448,6258,6.94,18324,6.981,19456,8.611,19470,6.981,19473,11.102,19477,10.518,19484,11.314,19485,11.314,19486,9.168,19487,9.168,19488,9.168]],["title/classes/SanisNameResponse.html",[0,0.239,19489,6.094]],["body/classes/SanisNameResponse.html",[0,0.416,2,1.064,3,0.019,4,0.019,5,0.009,7,0.14,27,0.475,30,0.001,31,0.725,32,0.15,47,0.955,95,0.114,101,0.013,103,0.001,104,0.001,112,0.942,190,2.165,200,3.064,299,5.365,18324,7.05,19456,9.302,19487,9.26,19489,10.581,19490,12.951,19491,12.951,19492,9.999]],["title/classes/SanisOrganisationResponse.html",[0,0.239,19493,6.094]],["body/classes/SanisOrganisationResponse.html",[0,0.422,2,0.94,3,0.017,4,0.017,5,0.008,7,0.124,27,0.507,30,0.001,31,0.686,32,0.169,33,0.511,34,2.093,47,0.963,95,0.14,101,0.012,103,0.001,104,0.001,112,0.872,190,2.312,200,2.706,299,5.37,300,4.276,871,3.234,1232,5.113,6788,6.008,12533,7.877,18324,6.228,18329,7.428,19455,11.296,19456,9.539,19457,11.924,19470,6.228,19493,9.801,19494,12.299,19495,12.253,19496,8.18,19497,8.833,19498,8.833,19499,8.18]],["title/classes/SanisPersonResponse.html",[0,0.239,19500,6.094]],["body/classes/SanisPersonResponse.html",[0,0.431,2,0.983,3,0.018,4,0.018,5,0.009,7,0.13,27,0.452,30,0.001,31,0.733,32,0.168,33,0.525,95,0.149,101,0.012,103,0.001,104,0.001,112,0.897,190,2.063,200,2.831,300,4.399,871,4.207,1232,5.348,6788,6.727,12533,8.819,18324,6.515,18329,7.77,19456,8.983,19460,11.48,19461,12.118,19470,8.102,19475,8.556,19478,8.556,19489,11.48,19496,8.556,19500,10.081,19501,10.973]],["title/classes/SanisPersonenkontextResponse.html",[0,0.239,19502,6.094]],["body/classes/SanisPersonenkontextResponse.html",[0,0.397,2,0.827,3,0.015,4,0.015,5,0.007,7,0.109,27,0.483,30,0.001,32,0.167,33,0.47,34,1.969,47,0.73,95,0.15,101,0.01,103,0,104,0,112,0.803,125,2.448,190,2.202,195,2.25,200,2.382,299,4.008,300,3.937,331,3.44,871,4.22,899,3.54,1232,4.499,1373,4.676,2525,4.18,6258,5.953,6783,8.101,6788,6.199,7452,8.028,12533,7.251,18324,5.48,18327,7.198,18329,6.536,19456,9.163,19470,8.648,19471,9.958,19472,11.359,19493,10.761,19494,11.359,19499,7.198,19502,9.022,19503,11.814,19504,11.526,19505,7.772,19506,7.772,19507,7.772,19508,7.198,19509,7.198,19510,7.198,19511,7.772,19512,10.673,19513,10.284,19514,6.819,19515,9.022,19516,11.359,19517,9.524]],["title/injectables/SanisProvisioningStrategy.html",[589,0.926,18097,5.842]],["body/injectables/SanisProvisioningStrategy.html",[0,0.302,3,0.009,4,0.009,5,0.004,7,0.067,8,0.834,27,0.469,29,0.885,30,0.001,31,0.647,32,0.138,33,0.528,34,0.81,35,1.338,36,1.853,95,0.151,100,1.655,101,0.006,103,0,104,0,110,1.64,113,1.89,122,1.508,125,2.332,135,1.651,148,0.969,153,1.437,158,1.748,185,1.625,189,2.914,195,1.038,197,1.319,200,1.453,228,1.587,231,1.253,277,0.681,317,2.581,338,4.442,339,1.391,357,3.637,411,3.551,433,0.891,436,2.596,569,2.244,579,2.069,589,0.964,591,1.129,595,1.79,652,2.676,657,2.241,871,3.861,983,3.055,1053,7.879,1054,2.674,1056,3.055,1065,2.328,1169,2.745,1213,3.017,1231,4.16,1232,2.745,1312,3.394,1359,3.85,1472,2.652,1475,2.981,1476,2.883,1613,3.988,1675,2.853,1850,3.344,2083,3.139,2113,6.291,2218,2.118,2219,2.384,2220,2.301,2357,2.697,2381,5.694,3278,3.85,3382,3.308,3982,3.184,4212,2.77,4282,5.869,4816,3.234,5009,2.63,5224,4.544,6245,3.551,7452,6.432,10001,5.544,10031,5.297,11183,7.727,12031,3.637,12639,4.391,12687,7.716,12919,4.16,12922,3.551,13461,6.079,14244,5.382,14246,5.694,14248,3.85,14249,7.574,14253,5.869,14254,7.336,14255,4.391,14257,5.643,14258,3.096,14259,3.096,14271,4.391,14278,7.111,14280,6.079,14282,6.079,14283,4.16,17130,7.684,17576,4.16,17582,9.382,17630,4.391,17698,7.684,17705,4.16,17711,4.391,18097,6.079,18098,8.238,19470,5.097,19471,5.869,19514,8.594,19515,4.16,19516,4.391,19517,4.391,19518,4.742,19519,7.228,19520,7.228,19521,7.228,19522,7.228,19523,4.742,19524,4.742,19525,6.694,19526,7.228,19527,4.742,19528,7.228,19529,10.795,19530,4.742,19531,4.742,19532,7.228,19533,4.742,19534,8.759,19535,7.228,19536,4.742,19537,4.16,19538,4.742,19539,4.742,19540,4.742,19541,4.742,19542,4.742,19543,4.742,19544,4.742,19545,4.742,19546,7.228,19547,4.742,19548,4.742,19549,7.228,19550,4.742,19551,4.742,19552,4.742,19553,4.742,19554,4.742,19555,4.742,19556,7.228,19557,4.742,19558,9.796,19559,6.694,19560,4.742,19561,4.742,19562,4.742,19563,4.742,19564,4.742,19565,4.742,19566,4.742,19567,4.742,19568,4.742,19569,4.742,19570,4.742,19571,4.742,19572,4.742]],["title/classes/SanisResponse.html",[0,0.239,19529,5.842]],["body/classes/SanisResponse.html",[0,0.418,2,0.917,3,0.016,4,0.016,5,0.008,7,0.121,27,0.477,30,0.001,32,0.168,47,0.781,95,0.15,101,0.011,103,0.001,104,0.001,112,0.859,125,2.053,190,2.176,195,1.887,200,2.642,299,4.289,871,4.436,1232,4.992,1373,5.188,2525,4.638,6258,6.369,6783,6.793,6788,6.517,7452,7.388,12533,7.758,19470,8.543,19480,7.986,19500,11.197,19501,11.197,19502,11.197,19503,7.986,19508,7.986,19509,7.986,19510,7.986,19514,7.566,19515,10.631,19529,9.253,19573,8.624,19574,12.117,19575,12.117,19576,8.624,19577,8.624,19578,8.624,19579,8.624,19580,8.624,19581,8.624]],["title/injectables/SanisResponseMapper.html",[589,0.926,18098,5.842]],["body/injectables/SanisResponseMapper.html",[0,0.17,3,0.009,4,0.021,5,0.005,7,0.069,8,0.86,27,0.475,29,0.898,30,0.001,31,0.691,32,0.15,33,0.536,35,1.307,47,0.351,95,0.134,100,1.724,101,0.006,103,0,104,0,112,0.582,125,2.871,127,3.726,129,1.475,130,1.351,135,1.69,142,4.766,148,1.264,153,1.761,228,0.895,277,0.71,290,2.124,400,1.472,433,0.609,589,0.994,591,1.176,595,1.865,652,2.517,700,2.384,701,2.384,704,4.573,711,2.661,829,2.914,871,1.809,1027,1.514,1065,5.541,1078,2.166,1422,2.024,2445,4.7,3250,3.318,3388,2.532,4819,6.921,5009,5.956,5176,3.143,6917,4.575,7452,5.199,10001,8.989,10004,7.879,10009,9.726,10011,5.719,10014,4.155,10024,3.369,10031,7.33,10033,4.868,10403,3.62,10876,4.575,11183,7.33,11184,3.789,11368,5.007,11369,5.007,12770,4.335,12913,4.335,12917,8.717,12919,4.335,13829,5.719,13963,6.888,14228,6.905,14229,6.905,15927,4.575,18098,6.271,19467,4.575,19471,8.717,19484,4.335,19485,4.335,19512,4.575,19529,11.31,19559,6.905,19582,12.347,19583,8.981,19584,7.457,19585,7.457,19586,7.457,19587,7.457,19588,6.905,19589,7.457,19590,7.457,19591,4.941,19592,7.457,19593,4.941,19594,7.457,19595,4.941,19596,7.457,19597,7.457,19598,4.941,19599,7.457,19600,4.941,19601,4.941,19602,4.941,19603,4.941,19604,4.941,19605,4.941,19606,4.941,19607,4.941,19608,4.941,19609,4.941,19610,4.941,19611,4.941,19612,4.941,19613,4.941,19614,4.941,19615,4.941,19616,4.941,19617,4.941,19618,4.941,19619,4.941,19620,4.941,19621,4.941,19622,4.941,19623,4.941,19624,4.941,19625,8.981,19626,4.941,19627,4.941,19628,4.575,19629,4.941,19630,4.941,19631,4.941,19632,4.941,19633,4.941,19634,7.457,19635,4.941,19636,4.941,19637,4.941,19638,4.941,19639,4.941,19640,4.941]],["title/classes/SanisSonstigeGruppenzugehoerigeResponse.html",[0,0.239,12917,5.64]],["body/classes/SanisSonstigeGruppenzugehoerigeResponse.html",[0,0.402,2,1.006,3,0.018,4,0.018,5,0.009,7,0.133,27,0.459,30,0.001,32,0.145,33,0.533,47,0.828,95,0.133,101,0.012,103,0.001,104,0.001,112,0.91,190,2.093,195,2.551,200,2.898,299,4.926,300,4.463,331,4.185,899,4.307,1065,4.642,2525,6.27,6258,6.748,12917,9.465,18324,6.668,19456,9.078,19459,7.953,19470,6.668,19476,8.758,19482,11.704,19483,11.704,19484,11.088,19485,11.088,19486,8.758,19488,8.758,19628,11.704]],["title/classes/SaveH5PEditorParams.html",[0,0.239,12536,5.202]],["body/classes/SaveH5PEditorParams.html",[0,0.458,2,0.805,3,0.014,4,0.014,5,0.007,7,0.106,26,2.08,27,0.298,30,0.001,32,0.094,47,0.943,95,0.152,99,1.549,101,0.017,103,0,104,0,112,0.789,131,5.144,158,3.724,190,1.359,200,2.319,202,1.739,205,1.543,296,3.72,298,3.274,299,4.433,300,3.867,326,4.323,478,2.124,855,5.266,856,7.215,886,3.819,899,3.446,1195,4.988,1198,6.842,1240,7.672,2163,3.498,3170,5.669,3885,3.572,4535,9.412,4538,8.723,6330,5.244,6508,7.424,6558,4.303,6604,8.275,6607,3.572,8033,6.889,11637,4.421,12490,6.595,12528,5.667,12529,5.961,12533,7.123,12534,5.667,12535,5.667,12536,7.566,12537,5.804,12538,5.961,12539,5.667,12540,5.961,19641,7.567]],["title/interfaces/ScanResult.html",[159,0.714,1290,4.476]],["body/interfaces/ScanResult.html",[3,0.018,4,0.018,5,0.009,7,0.132,30,0.001,32,0.157,33,0.63,47,1.03,55,1.889,101,0.017,103,0.001,104,0.001,112,0.908,122,2.824,159,1.297,161,2.236,1080,4.541,1260,7.642,1268,7.143,1270,9.438,1272,7.307,1274,7.588,1283,6.637,1287,8.258,1288,7.916,1289,7.642,1290,7.489,1291,8.718,1292,8.718]],["title/classes/ScanResultDto.html",[0,0.239,11866,5.842]],["body/classes/ScanResultDto.html",[0,0.332,2,1.025,3,0.018,4,0.018,5,0.009,7,0.135,27,0.502,29,0.738,30,0.001,31,0.54,32,0.159,33,0.441,47,0.837,95,0.11,101,0.013,103,0.001,104,0.001,112,0.921,205,1.965,232,3.196,402,4.561,433,1.188,435,3.364,2126,5.631,2127,6.572,7145,8.691,7157,6.303,11776,8.691,11779,7.218,11780,7.218,11866,11.457,19642,13.281,19643,9.639,19644,11.795,19645,9.639]],["title/classes/ScanResultParams.html",[0,0.239,7218,4.665]],["body/classes/ScanResultParams.html",[0,0.468,2,0.67,3,0.012,4,0.017,5,0.008,7,0.088,26,2.531,27,0.406,30,0.001,32,0.158,33,0.562,39,1.743,47,0.98,95,0.144,99,1.289,101,0.018,103,0,104,0,110,2.178,112,0.695,122,2.155,157,1.45,159,0.647,190,1.855,195,1.378,199,4.939,200,1.929,201,4.36,202,1.447,203,5.979,205,1.284,296,3.681,298,2.724,299,4.793,300,4.298,403,3.186,855,4.978,856,6.228,886,3.25,899,2.868,1078,2.761,1080,3.561,1169,3.645,1237,2.625,1290,6.655,1291,6.837,1292,6.837,2980,4.681,3170,4.825,3885,2.972,4541,2.198,5213,6.493,6607,2.972,6788,6.372,7149,6.331,7151,4.111,7152,7.633,7157,5.329,7171,7.431,7201,4.364,7202,4.44,7203,4.44,7208,4.364,7209,8.14,7210,7.917,7211,7.917,7212,4.44,7213,4.364,7214,4.364,7215,4.44,7216,4.294,7217,6.071,7218,5.979,7219,4.294,7220,4.364,7221,4.294,7222,4.057,7223,4.44,7224,4.44,7225,4.44,7226,4.057,7227,4.057,7228,4.168,7229,4.294,7230,4.44,19646,10.329,19647,6.297,19648,6.297,19649,6.297]],["title/entities/SchoolEntity.html",[205,1.416,692,3.279]],["body/entities/SchoolEntity.html",[0,0.301,3,0.009,4,0.009,5,0.004,7,0.123,27,0.504,30,0.001,31,0.547,32,0.157,33,0.618,47,0.921,83,2.541,95,0.126,96,1.243,101,0.014,102,2.499,103,0,104,0,112,0.682,122,2.195,125,1.713,129,1.408,130,1.29,142,1.715,153,1.18,159,0.485,180,2.013,185,2.466,190,2.302,195,3.043,196,4.413,197,2.716,205,1.467,206,1.533,211,6.149,223,4.028,224,1.369,226,2.136,229,1.865,231,0.817,232,1.278,233,1.472,316,3.472,692,3.397,704,5.355,789,2.574,886,1.483,1082,3.324,1821,2.287,1826,4.472,2183,1.858,2477,4.907,2685,4.444,2911,5.747,2915,3.991,2919,3.991,2920,5.668,3383,4.636,3384,4.128,4601,3.267,4607,3.842,4617,2.116,4667,6.558,4684,3.616,4685,5.668,4937,6.969,5163,4.802,5168,6.616,5670,4.098,6179,4.698,7150,3.078,7443,7.289,7451,6.558,7458,4.366,7509,4.471,7528,5.519,7529,3.53,7720,4.907,7837,2.836,7838,4.471,10033,6.376,10038,3.53,10039,5.842,10060,3.53,11436,7.338,12462,7.063,13585,5.668,14964,3.386,15109,6.659,15176,7.491,15177,7.156,15182,7.015,15194,3.827,15196,3.616,15198,3.53,15211,3.827,15248,8.302,19650,3.964,19651,6.051,19652,4.714,19653,4.714,19654,4.714,19655,4.714,19656,4.714,19657,4.714,19658,4.714,19659,7.929,19660,4.714,19661,4.714,19662,6.051,19663,4.714,19664,4.714,19665,4.366,19666,6.051,19667,4.714,19668,3.827,19669,3.827,19670,3.964,19671,3.964,19672,3.964,19673,6.051,19674,3.964,19675,3.964,19676,3.964,19677,3.964,19678,3.964,19679,3.964,19680,3.964,19681,3.964,19682,5.842,19683,7.085,19684,3.964,19685,3.964,19686,5.668,19687,3.964,19688,6.051,19689,3.964,19690,3.964,19691,6.051,19692,3.964,19693,3.964]],["title/classes/SchoolExternalTool.html",[0,0.239,2004,3.683]],["body/classes/SchoolExternalTool.html",[0,0.244,2,0.754,3,0.013,4,0.013,5,0.007,7,0.1,8,1.115,27,0.53,29,0.947,30,0.001,31,0.692,32,0.166,33,0.597,34,1.879,35,0.82,47,0.977,55,2.482,95,0.135,101,0.013,103,0,104,0,112,0.755,148,0.701,159,0.728,231,1.675,232,2.619,402,4.228,433,0.873,435,2.473,436,2.1,614,4.4,837,3.499,1237,2.85,1852,6.968,2004,5.124,2126,4.14,2127,4.832,2183,2.793,2764,7.82,4541,4.123,4617,3.181,4618,4.179,4619,5.307,6040,7.778,6625,5.582,6629,9.061,6637,5.192,6639,5.582,6640,4.455,6641,5.09,6642,5.435,6649,4.759,6650,5.192,6651,6.942,6652,5.307,8234,7.875,10074,6.562,10077,8.95,10373,6.501,10566,5.192,10567,5.582,19694,11.336,19695,9.935,19696,7.086,19697,7.086,19698,7.086,19699,9.306,19700,7.086,19701,7.086]],["title/classes/SchoolExternalToolConfigurationStatus.html",[0,0.239,19699,5.472]],["body/classes/SchoolExternalToolConfigurationStatus.html",[0,0.338,2,1.043,3,0.019,4,0.019,5,0.009,7,0.138,27,0.469,29,0.751,30,0.001,31,0.549,32,0.148,33,0.448,101,0.013,103,0.001,104,0.001,112,0.931,122,2.487,232,3.23,433,1.208,435,3.421,614,4.287,2218,5.736,2671,4.141,6048,9.054,6660,9.079,6662,11.036,6663,7.959,6664,8.244,8234,7.502,19699,10.782,19702,12.841]],["title/classes/SchoolExternalToolConfigurationStatusResponse.html",[0,0.239,19703,5.842]],["body/classes/SchoolExternalToolConfigurationStatusResponse.html",[0,0.312,2,0.963,3,0.017,4,0.017,5,0.008,7,0.127,27,0.446,29,0.694,30,0.001,31,0.507,32,0.154,33,0.414,95,0.103,101,0.012,103,0.001,104,0.001,112,0.886,122,2.711,157,2.612,190,1.625,194,4.438,202,2.08,232,3.075,296,2.964,417,6.344,433,1.116,435,3.159,614,4.205,703,3.522,866,4.496,2671,4.315,2749,5.601,6048,8.737,6229,4.629,6512,7.618,6663,7.349,6664,7.612,6670,9.211,6671,8.496,6672,9.953,8234,7.239,19703,11.25,19704,9.504,19705,9.052,19706,11.345]],["title/classes/SchoolExternalToolConfigurationTemplateListResponse.html",[0,0.239,19707,5.842]],["body/classes/SchoolExternalToolConfigurationTemplateListResponse.html",[0,0.321,2,0.99,3,0.018,4,0.018,5,0.009,7,0.131,27,0.454,29,0.713,30,0.001,31,0.521,32,0.156,33,0.425,95,0.132,101,0.012,103,0.001,104,0.001,112,0.901,125,2.214,190,1.67,202,2.137,296,3.015,339,3.957,433,1.147,614,4.041,703,2.889,861,6.448,864,6.621,866,4.621,881,5.08,1167,7.709,2218,5.86,2669,5.686,2671,4.231,6677,8.851,6678,8.616,19707,9.705,19708,11.618,19709,11.313]],["title/classes/SchoolExternalToolConfigurationTemplateResponse.html",[0,0.239,19709,5.64]],["body/classes/SchoolExternalToolConfigurationTemplateResponse.html",[0,0.267,2,0.825,3,0.015,4,0.015,5,0.007,7,0.109,26,2.37,27,0.516,29,0.939,30,0.001,31,0.686,32,0.166,33,0.526,47,0.87,55,2.062,95,0.131,99,1.588,101,0.01,103,0,104,0,112,0.802,125,1.846,190,2.289,201,4.472,202,1.782,296,3.545,433,0.956,614,4.116,866,3.853,1220,4.45,2183,3.057,2218,6.061,2669,6.056,2671,4.31,5695,5.939,6649,5.209,6679,7.184,6680,8.119,6681,6.606,6683,9.511,6685,7.184,6686,7.184,6687,7.184,6688,9.654,6689,9.511,6690,7.184,6691,6.806,6692,6.523,6693,7.184,6696,7.184,6697,5.134,6698,7.184,6699,7.184,6700,5.809,6701,7.184,19708,12.375,19709,10.351]],["title/entities/SchoolExternalToolEntity.html",[205,1.416,6729,5.09]],["body/entities/SchoolExternalToolEntity.html",[0,0.265,3,0.015,4,0.015,5,0.007,7,0.108,27,0.481,30,0.001,32,0.152,55,2.302,95,0.145,96,2.03,101,0.013,103,0,104,0,112,0.798,159,0.791,190,2.194,195,2.674,205,2.083,206,2.504,223,3.561,224,2.236,225,3.926,229,3.045,231,1.334,232,2.086,233,2.403,614,4.329,692,6.003,703,3.948,1835,5.236,2671,3.941,4601,5.335,4607,5.456,4608,4.378,5670,5.738,6040,7.277,6651,5.529,6652,5.765,6721,6.25,6727,9.754,6729,7.488,6732,6.473,6733,4.73,6735,4.68,7515,4.839,7516,4.68,7720,5.249,8234,7.429,9860,5.428,10285,8.777,10290,7.129,10292,7.129,10293,7.129,10299,7.129,13824,8.296,19710,11.777,19711,10.72,19712,8.965,19713,7.129,19714,7.129,19715,7.129,19716,7.129]],["title/classes/SchoolExternalToolFactory.html",[0,0.239,19717,6.433]],["body/classes/SchoolExternalToolFactory.html",[0,0.168,2,0.518,3,0.009,4,0.009,5,0.004,7,0.068,8,0.85,27,0.519,29,1.028,30,0.001,31,0.739,32,0.168,33,0.582,34,1.26,35,1.423,47,0.757,55,2.341,59,3.312,95,0.122,101,0.006,103,0,104,0,112,0.576,113,4.475,127,4.962,129,3.586,130,3.429,135,0.962,148,0.729,153,0.799,157,2.049,172,3.135,185,2.527,192,2.679,205,1.815,206,2.398,228,1.336,231,1.278,326,4.842,374,3.19,402,1.742,433,0.6,436,3.871,467,2.147,501,7.078,502,5.507,505,4.09,506,5.507,507,5.29,508,4.09,509,4.09,510,4.09,511,4.026,512,4.532,513,4.937,514,6.663,515,5.825,516,6.995,517,2.722,522,2.7,523,4.09,524,2.722,525,5.191,526,5.341,527,4.203,528,5.024,529,4.058,530,2.7,531,2.545,532,4.165,533,2.6,534,2.545,535,2.7,536,2.722,537,4.86,538,2.7,539,7.162,540,4.218,541,6.662,542,2.722,543,3.578,544,2.7,545,2.722,546,2.7,547,2.722,548,2.7,551,2.7,552,6.13,553,2.722,554,2.7,555,4.09,556,3.731,557,4.09,558,2.722,559,2.619,560,2.581,561,2.185,562,2.7,563,2.7,564,2.7,565,2.722,566,2.722,567,1.851,568,2.7,569,1.512,570,2.722,571,2.917,572,2.7,573,2.722,575,2.793,576,2.871,577,2.9,614,3.058,703,1.512,756,1.926,2004,2.581,2007,2.418,2218,2.175,2671,1.57,2764,4.881,4541,3.465,4649,6.276,4651,3.497,6040,2.9,6744,3.953,6749,3.835,6829,3.497,10373,4.058,19695,4.094,19717,8.243,19718,7.374,19719,7.374,19720,7.374,19721,4.869,19722,4.869,19723,4.869,19724,4.869,19725,4.869,19726,4.869]],["title/classes/SchoolExternalToolIdParams.html",[0,0.239,19727,5.472]],["body/classes/SchoolExternalToolIdParams.html",[0,0.413,2,1.051,3,0.019,4,0.019,5,0.009,7,0.139,27,0.389,30,0.001,32,0.123,47,0.85,95,0.137,101,0.013,103,0.001,104,0.001,112,0.935,190,1.773,194,4.683,195,2.62,196,3.267,197,3.329,200,3.026,202,2.269,296,3.128,307,7.237,614,4.125,855,4.846,2671,3.861,6682,9.252,6753,8.305,6754,8.664,8234,6.994,19704,9.181,19727,9.429]],["title/classes/SchoolExternalToolIdParams-1.html",[0,0.199,756,2.285,19727,4.549]],["body/classes/SchoolExternalToolIdParams-1.html",[0,0.416,2,1.064,3,0.019,4,0.019,5,0.009,7,0.14,26,2.666,27,0.393,30,0.001,32,0.125,95,0.148,99,2.046,101,0.013,103,0.001,104,0.001,112,0.942,190,1.795,200,3.064,202,2.297,296,3.151,307,7.327,614,3.715,855,4.882,2669,5.466,2671,3.89,6682,9.302,6756,7.327,6757,8.118,19727,9.5,19728,11.169]],["title/classes/SchoolExternalToolMetadata.html",[0,0.239,19729,5.472]],["body/classes/SchoolExternalToolMetadata.html",[0,0.335,2,1.033,3,0.018,4,0.018,5,0.009,7,0.136,27,0.466,29,0.744,30,0.001,31,0.544,32,0.148,33,0.444,95,0.111,101,0.013,103,0.001,104,0.001,112,0.925,183,3.703,433,1.197,614,4.331,1078,5.195,2671,4.124,6724,7.27,6733,5.966,8234,7.47,10428,8.991,10429,9.575,10433,10.971,10436,8.164,19694,10.752,19729,10.938,19730,11.847,19731,8.991]],["title/classes/SchoolExternalToolMetadataMapper.html",[0,0.239,19732,6.094]],["body/classes/SchoolExternalToolMetadataMapper.html",[0,0.323,2,0.997,3,0.018,4,0.018,5,0.009,7,0.132,8,1.337,27,0.369,29,0.718,30,0.001,31,0.525,32,0.117,33,0.428,35,1.084,95,0.144,101,0.012,103,0.001,104,0.001,135,1.222,148,0.927,153,1.901,467,3.665,614,4.05,837,4.626,1882,3.574,2671,3.738,6713,9.13,8234,6.771,10429,7.016,10440,8.676,10443,8.676,10444,9.41,10445,7.606,19729,10.844,19731,8.676,19732,10.169,19733,9.747,19734,12.586,19735,9.369,19736,11.364]],["title/classes/SchoolExternalToolMetadataResponse.html",[0,0.239,19736,5.842]],["body/classes/SchoolExternalToolMetadataResponse.html",[0,0.329,2,1.016,3,0.018,4,0.018,5,0.009,7,0.134,27,0.461,29,0.731,30,0.001,31,0.535,32,0.146,33,0.436,95,0.134,101,0.013,103,0.001,104,0.001,112,0.916,190,1.714,202,2.193,296,3.316,433,1.177,614,4.26,2671,4.093,6713,9.997,7790,8.029,8234,7.415,10429,9.504,10436,8.029,10445,7.751,10449,10.859,19704,9.734,19736,11.631,19737,11.726,19738,9.547]],["title/injectables/SchoolExternalToolMetadataService.html",[589,0.926,19739,5.842]],["body/injectables/SchoolExternalToolMetadataService.html",[0,0.274,3,0.015,4,0.015,5,0.007,7,0.112,8,1.203,26,2.546,27,0.41,29,0.799,30,0.001,31,0.584,32,0.145,33,0.477,35,0.919,36,1.68,55,1.594,95,0.153,99,1.625,101,0.01,103,0.001,104,0.001,135,1.614,145,3.91,148,0.786,153,1.303,158,2.927,183,3.029,228,1.439,277,1.141,279,3.32,317,2.524,400,2.365,433,0.979,589,1.391,591,1.89,614,4.14,657,2.387,980,4.405,1078,3.482,1882,3.029,2034,5.74,2035,3.898,2671,3.757,4127,7.005,5437,4.684,6021,9.263,6682,7.492,6724,7.811,6733,4.88,6838,9.151,6861,6.678,6862,6.678,6920,6.678,8234,6.805,10429,5.947,10453,7.354,10455,9.66,10460,6.448,10461,6.967,10465,7.354,10466,7.354,10467,9.66,10469,7.354,19729,10.12,19739,8.772,19740,10.219,19741,7.942,19742,7.942,19743,10.431,19744,7.942,19745,7.942]],["title/modules/SchoolExternalToolModule.html",[252,1.836,6763,5.64]],["body/modules/SchoolExternalToolModule.html",[0,0.283,3,0.016,4,0.016,5,0.008,30,0.001,95,0.148,101,0.011,103,0.001,104,0.001,252,3.126,254,2.954,255,3.128,256,3.208,257,3.197,258,3.185,259,4.303,260,4.405,269,4.167,270,3.151,271,3.085,276,4.167,277,1.178,610,3.232,614,3.644,2671,3.436,5717,4.791,6013,9.962,6023,6.658,6762,10.479,6763,11.806,6764,9.962,6771,6.46,6985,9.389,8234,4.791,19739,11.93,19746,8.201,19747,8.201,19748,8.201,19749,8.201,19750,11.174,19751,8.201]],["title/classes/SchoolExternalToolPostParams.html",[0,0.239,19752,5.842]],["body/classes/SchoolExternalToolPostParams.html",[0,0.407,2,0.869,3,0.015,4,0.015,5,0.008,7,0.115,27,0.492,29,0.905,30,0.001,32,0.169,33,0.486,47,0.888,55,2.133,95,0.143,101,0.011,103,0.001,104,0.001,112,0.83,190,2.245,195,1.787,200,2.503,201,4.126,202,1.876,296,3.267,299,4.602,300,4.067,417,4.567,614,4.309,855,4.78,1220,4.686,1232,4.728,2525,4.393,2671,4.181,3744,7.491,4541,4.121,5695,6.091,6258,6.15,6774,7.564,6780,9.943,6781,6.869,6782,6.869,6783,6.434,6785,7.564,6786,7.564,6788,5.714,8234,7.573,10373,6.498,19704,9.943,19752,8.934,19753,8.168,19754,9.839,19755,8.168,19756,8.168,19757,8.168]],["title/interfaces/SchoolExternalToolProperties.html",[159,0.714,19712,6.094]],["body/interfaces/SchoolExternalToolProperties.html",[0,0.281,3,0.015,4,0.015,5,0.008,7,0.115,30,0.001,32,0.156,33,0.486,55,2.51,95,0.148,96,2.153,101,0.014,103,0.001,104,0.001,112,0.83,159,0.84,161,1.94,195,2.325,205,2.166,223,3.299,224,2.373,225,4.081,229,3.231,231,1.416,232,2.213,233,2.549,614,3.852,692,6.273,703,4.126,1835,4.186,2671,4.181,4607,5.673,4608,4.645,5670,5.544,6040,7.721,6651,5.867,6652,6.116,6721,6.631,6727,10.192,6729,5.985,6732,6.869,6733,5.019,6735,4.965,7515,5.134,7516,4.965,8234,4.772,9860,5.759,10285,9.311,13824,6.631,19710,7.564,19711,11.373,19712,10.36,19713,7.564,19714,7.564,19715,7.564,19716,7.564]],["title/interfaces/SchoolExternalToolProps.html",[159,0.714,19695,5.842]],["body/interfaces/SchoolExternalToolProps.html",[0,0.273,3,0.015,4,0.015,5,0.007,7,0.111,29,0.984,30,0.001,31,0.719,32,0.167,33,0.602,34,2.111,47,1.016,55,2.577,95,0.141,101,0.014,103,0.001,104,0.001,112,0.814,148,0.784,159,0.815,161,1.882,231,1.374,232,2.148,402,4.595,614,3.209,837,3.913,1237,2.337,1852,6.144,2004,4.202,2126,4.63,2127,5.404,2183,3.124,2764,8.498,4541,4.481,4617,3.557,4618,4.675,4619,5.935,6040,8.001,6625,6.243,6629,6.079,6639,6.243,6640,4.982,6641,5.693,6642,6.079,6649,5.322,6650,5.808,6651,7.482,6652,5.935,8234,4.63,10373,7.065,10566,5.808,10567,6.243,19694,6.665,19695,9.786,19699,10.113]],["title/classes/SchoolExternalToolRefDO.html",[0,0.239,6635,5.64]],["body/classes/SchoolExternalToolRefDO.html",[0,0.325,2,1.004,3,0.018,4,0.018,5,0.009,7,0.133,27,0.497,29,0.723,30,0.001,31,0.528,32,0.157,33,0.577,47,0.936,101,0.012,103,0.001,104,0.001,112,0.909,232,3.155,433,1.163,435,3.293,614,4.348,2671,4.251,4541,4.406,4618,5.565,4619,7.065,6635,10.994,6748,9.251,6898,8.737,8234,7.701,19694,11.086,19758,9.435,19759,11.641,19760,9.435,19761,9.435]],["title/injectables/SchoolExternalToolRepo.html",[589,0.926,1912,5.09]],["body/injectables/SchoolExternalToolRepo.html",[0,0.146,3,0.008,4,0.008,5,0.004,7,0.06,8,0.766,10,2.658,12,2.996,18,3.361,26,2.188,27,0.515,29,1.003,30,0.001,31,0.726,32,0.162,33,0.593,34,1.396,35,1.485,36,2.744,40,2.051,47,0.839,95,0.143,96,1.751,97,1.734,101,0.006,103,0,104,0,112,0.332,113,1.694,135,1.606,148,1.195,153,1.09,185,2.276,205,1.667,206,2.659,224,1.235,228,1.204,231,1.151,317,2.973,365,2.953,433,0.524,436,3.501,478,1.193,569,1.32,589,0.886,591,1.012,614,3.906,652,2.264,657,1.871,692,2.006,703,2.538,729,4.529,735,3.025,736,4.952,766,2.286,787,6.271,1027,1.302,1770,4.303,1912,4.867,2004,6.803,2007,2.111,2139,2.438,2436,8.669,2438,4.771,2439,4.683,2440,4.683,2441,4.771,2442,4.683,2443,3.053,2444,5.127,2445,3.848,2446,4.318,2448,4.771,2449,3.053,2451,3.053,2453,6.94,2454,4.529,2455,3.053,2458,4.771,2460,2.945,2461,7.496,2462,4.683,2465,3.053,2467,2.557,2468,2.641,2469,2.898,2471,3.053,2479,2.898,2516,6.123,2671,2.637,2749,2.098,2907,3.81,4541,2.853,4721,2.584,4751,5.765,4934,3.114,5091,3.547,6040,3.956,6229,3.336,6729,9.021,6733,4.082,6791,3.729,6792,6.151,6799,6.151,6808,5.586,6809,3.729,6819,3.114,6820,3.114,6821,3.114,6822,3.114,6823,3.114,6824,3.114,6828,3.053,6829,5.873,6830,3.451,6831,3.729,6832,3.26,6833,3.936,6834,3.936,6835,2.945,6837,5.827,6846,3.936,6852,3.936,6859,3.936,6860,3.936,8253,2.672,10285,3.053,10373,5.519,10634,3.936,10639,3.936,10644,3.26,10645,3.936,16011,3.574,19711,3.729,19762,10.644,19763,6.642,19764,6.642,19765,6.151,19766,10.286,19767,4.25,19768,9.327,19769,6.642,19770,4.25,19771,4.25,19772,6.642,19773,6.151,19774,4.25,19775,4.25,19776,4.25,19777,4.25,19778,4.25,19779,4.25,19780,3.451,19781,4.25,19782,3.729,19783,3.729,19784,4.25,19785,4.25]],["title/injectables/SchoolExternalToolRequestMapper.html",[589,0.926,19786,5.842]],["body/injectables/SchoolExternalToolRequestMapper.html",[0,0.29,3,0.016,4,0.016,5,0.008,7,0.118,8,1.248,27,0.426,29,0.917,30,0.001,31,0.671,32,0.135,33,0.495,35,1.253,95,0.144,101,0.011,103,0.001,104,0.001,125,2.001,130,2.3,148,1.184,193,3.653,277,1.208,589,1.443,591,2.001,614,4.196,652,2.441,837,4.151,2671,3.861,2764,7.924,4541,2.934,6040,5.007,6640,5.285,6780,10.033,6828,6.039,6866,6.622,6868,10.504,6872,7.376,6874,9.103,6881,7.786,6882,7.376,6883,7.07,6884,7.376,8234,6.994,9392,7.786,10373,4.626,19733,10.068,19752,10.632,19786,9.103,19787,10.825,19788,10.825,19789,8.407,19790,10.504,19791,7.376,19792,8.407,19793,8.407,19794,8.407]],["title/classes/SchoolExternalToolResponse.html",[0,0.239,19795,5.64]],["body/classes/SchoolExternalToolResponse.html",[0,0.239,2,0.738,3,0.013,4,0.013,5,0.006,7,0.097,27,0.528,29,0.897,30,0.001,31,0.656,32,0.171,33,0.497,34,1.858,47,0.964,55,1.912,95,0.124,101,0.009,103,0,104,0,112,0.744,125,1.652,190,2.375,201,4.225,202,1.594,296,3.637,402,3.894,417,3.88,433,0.855,458,2.776,614,4.429,703,2.154,866,4.732,871,2.541,1220,3.981,2126,4.054,2183,2.735,2671,2.238,4541,3.797,4618,4.093,6040,6.48,6649,4.66,6651,4.984,6681,6.242,6697,4.593,6886,6.088,6887,7.307,6888,8.823,6889,6.426,6890,6.426,6891,6.426,6892,6.426,6893,9.225,6894,6.426,6895,6.426,6896,6.426,6897,5.322,6903,6.088,6904,6.426,6905,6.088,8234,7.933,10373,5.987,10566,5.085,10859,6.088,18225,6.426,19703,10.322,19704,10.415,19795,9.965,19796,6.939,19797,6.426,19798,6.939,19799,6.939]],["title/injectables/SchoolExternalToolResponseMapper.html",[589,0.926,19800,5.842]],["body/injectables/SchoolExternalToolResponseMapper.html",[0,0.258,3,0.014,4,0.014,5,0.007,7,0.105,8,1.158,27,0.445,29,0.926,30,0.001,31,0.706,32,0.141,33,0.517,34,1.28,35,1.31,95,0.144,101,0.01,103,0,104,0,130,2.051,135,0.978,148,1.12,153,1.647,197,2.085,277,1.077,402,3.593,589,1.339,591,1.784,614,4.201,652,2.308,703,2.328,829,4.421,837,3.701,1882,2.86,2004,7.23,2061,6.577,2671,4.065,2764,8.587,3982,5.034,4541,2.616,6040,4.465,6048,5.286,6120,6.086,6124,6.577,6640,4.713,6893,9.524,8234,7.063,10129,6.086,10155,6.086,10159,6.577,10373,4.125,10679,6.942,10740,6.942,10741,6.942,13019,5.493,15850,6.942,19588,6.942,19733,10.167,19795,9.816,19800,8.443,19801,10.04,19802,10.04,19803,10.04,19804,10.04,19805,10.04,19806,7.497,19807,10.04,19808,9.519,19809,6.577,19810,7.497,19811,7.497,19812,7.497,19813,7.497,19814,7.497,19815,7.497,19816,7.497,19817,7.497]],["title/injectables/SchoolExternalToolRule.html",[589,0.926,1874,5.842]],["body/injectables/SchoolExternalToolRule.html",[0,0.253,3,0.014,4,0.014,5,0.007,7,0.103,8,1.142,27,0.441,29,0.858,30,0.001,31,0.627,32,0.149,33,0.512,35,1.146,95,0.147,101,0.01,103,0,104,0,122,2.691,135,0.958,148,0.98,183,4.274,205,2.769,228,1.331,277,1.055,290,3.247,400,2.188,433,0.905,478,2.062,589,1.32,591,1.748,614,3.973,653,4.626,711,3.822,1237,2.166,1775,6.598,1801,8.014,1838,8.013,1874,8.328,1981,4.733,1985,6.154,1992,6.555,2004,7.106,2007,3.649,3663,6.555,3664,4.933,3667,6.465,3669,4.933,3670,6.65,3671,7.257,6729,9.952,6733,4.514,6829,7.113,6939,6.802,6940,6.802,6941,6.802,6942,6.802,6943,7.113,19780,5.964,19818,11.991,19819,6.802]],["title/classes/SchoolExternalToolScope.html",[0,0.239,19768,6.094]],["body/classes/SchoolExternalToolScope.html",[0,0.258,2,0.798,3,0.014,4,0.014,5,0.007,7,0.105,8,1.158,26,2.727,27,0.521,29,0.926,30,0.001,31,0.677,32,0.165,33,0.553,35,1.162,95,0.129,99,1.534,101,0.01,103,0,104,0,112,0.784,122,2.362,125,3.205,129,2.238,130,2.051,148,0.993,231,1.74,365,3.333,436,3.735,569,2.328,614,3.724,652,2.645,703,2.328,2474,6.742,2671,2.418,4541,3.951,6229,5.564,6729,5.493,6733,4.607,6829,5.384,6946,6.577,6947,6.742,6948,6.742,6949,6.742,6954,6.742,6955,6.742,6956,5.112,6957,5.034,6958,5.112,6959,5.112,6968,5.034,6969,6.742,6970,5.112,6971,5.034,6972,5.112,6973,5.034,6974,6.742,10373,6.229,10912,6.942,11944,8.808,11953,8.808,18229,9.297,18233,9.297,19762,10.483,19768,8.808,19820,7.497,19821,7.497]],["title/classes/SchoolExternalToolSearchListResponse.html",[0,0.239,19808,5.842]],["body/classes/SchoolExternalToolSearchListResponse.html",[0,0.322,2,0.994,3,0.018,4,0.018,5,0.009,7,0.131,27,0.455,29,0.716,30,0.001,31,0.523,32,0.157,33,0.427,95,0.132,101,0.012,103,0.001,104,0.001,112,0.904,125,2.225,190,1.678,202,2.147,296,3.024,339,3.962,433,1.152,614,4.296,703,2.902,860,8.865,861,6.478,864,6.64,866,4.643,881,5.104,2671,4.055,6677,8.877,6976,8.2,8234,7.345,19704,9.643,19795,11.324,19808,9.733]],["title/classes/SchoolExternalToolSearchParams.html",[0,0.239,19822,6.094]],["body/classes/SchoolExternalToolSearchParams.html",[0,0.416,2,1.066,3,0.019,4,0.019,5,0.009,7,0.141,27,0.394,30,0.001,32,0.125,47,0.857,95,0.138,101,0.013,103,0.001,104,0.001,112,0.943,190,1.8,200,3.071,202,2.303,296,3.156,299,4.708,614,4.146,855,4.889,2671,3.896,4541,4.525,8234,7.057,10916,8.794,10919,8.794,19704,9.264,19754,9.283,19822,10.597]],["title/injectables/SchoolExternalToolService.html",[589,0.926,6985,4.598]],["body/injectables/SchoolExternalToolService.html",[0,0.175,3,0.01,4,0.01,5,0.005,7,0.071,8,0.879,12,3.436,26,2.349,27,0.479,29,0.932,30,0.001,31,0.697,32,0.152,33,0.556,35,1.37,36,2.815,95,0.145,99,1.041,101,0.007,103,0,104,0,135,1.489,148,1.171,153,1.25,195,1.113,197,1.414,228,1.839,277,0.73,279,2.125,317,2.994,365,2.261,402,3.891,433,0.939,589,1.016,591,1.21,614,4.292,629,2.677,652,2.686,657,2.9,688,2.4,703,1.579,837,2.51,980,2.82,1328,2.695,1329,3.091,1882,1.939,1912,8.362,2004,7.461,2007,2.525,2087,2.2,2671,3.816,2749,6.258,4541,1.775,6029,4.128,6038,4.709,6048,3.585,6682,5.473,6735,3.091,6770,4.128,6828,3.652,6984,7.271,6985,5.043,6992,4.709,7002,3.159,8234,7.27,10123,7.437,10125,7.437,10134,6.443,10144,4.005,10232,4.461,10515,3.9,10890,4.461,19699,7.994,19740,10.918,19750,9.321,19766,9.399,19791,4.461,19823,7.619,19824,9.138,19825,7.619,19826,7.619,19827,7.056,19828,7.619,19829,5.085,19830,5.085,19831,5.085,19832,5.085,19833,5.085,19834,7.619,19835,7.619,19836,5.085,19837,7.619,19838,5.085,19839,7.619,19840,5.085,19841,7.619,19842,5.085,19843,5.085,19844,5.085,19845,4.709,19846,5.085,19847,7.619,19848,5.085,19849,5.085,19850,5.085,19851,4.461,19852,5.085,19853,4.276,19854,5.085,19855,8.462,19856,5.085,19857,5.085]],["title/injectables/SchoolExternalToolUc.html",[589,0.926,19858,5.842]],["body/injectables/SchoolExternalToolUc.html",[0,0.153,3,0.008,4,0.008,5,0.004,7,0.063,8,0.794,26,2.902,27,0.459,29,0.894,30,0.001,31,0.654,32,0.145,33,0.534,34,0.761,35,1.308,36,2.742,39,3.449,47,0.598,95,0.137,99,0.911,101,0.006,103,0,104,0,131,3.507,135,1.707,148,1.014,153,1.382,183,5.075,228,1.857,277,0.64,317,2.953,360,2.554,365,3.744,433,0.849,589,0.918,591,1.06,595,1.681,610,1.755,614,4.176,652,2.38,657,3.044,693,3.137,980,3.82,1775,6.736,1780,2.707,1882,1.699,2004,7.371,2653,2.059,2671,2.221,3287,2.532,4541,1.554,6682,9.309,6735,6.869,6765,7.377,6828,3.198,6985,7.173,7002,2.767,7023,3.907,7030,8.462,7044,3.507,8234,7,10178,7.389,10188,3.907,10208,3.415,10209,10.036,10210,4.124,10228,7.389,10229,10.036,10232,3.907,11060,6.378,19729,5.425,19739,9.503,19750,8.901,19790,11.584,19827,6.378,19845,6.378,19855,6.378,19858,5.792,19859,11.983,19860,7.799,19861,6.378,19862,8.422,19863,6.378,19864,7.799,19865,4.124,19866,4.453,19867,4.453,19868,4.453,19869,6.887,19870,4.453,19871,4.453,19872,6.887,19873,9.478,19874,4.453,19875,4.453,19876,4.453,19877,6.887,19878,4.453,19879,4.453,19880,4.453,19881,4.453,19882,6.378,19883,4.453,19884,4.453,19885,4.453,19886,4.453,19887,4.453]],["title/injectables/SchoolExternalToolValidationService.html",[589,0.926,19750,5.472]],["body/injectables/SchoolExternalToolValidationService.html",[0,0.254,3,0.014,4,0.014,5,0.007,7,0.103,8,1.143,27,0.441,29,0.859,30,0.001,31,0.628,32,0.14,33,0.513,35,1.148,36,2.098,55,2.59,95,0.15,101,0.01,103,0,104,0,135,0.96,153,1.207,228,2.032,277,1.057,317,2.43,329,4.474,338,6.093,393,3.633,415,4.185,433,1.222,569,3.079,579,2.106,589,1.322,591,1.752,614,4.23,652,2.631,657,1.684,688,3.474,1213,6.309,1882,2.807,2004,6.991,2007,3.655,2087,3.184,2671,4.04,2749,5.537,5695,5.115,6020,10.388,6057,5.797,6071,6.456,6984,7.929,7002,4.573,7007,5.644,7018,5.286,7077,6.815,8234,7.011,10123,8.793,10125,8.793,10144,5.797,10183,5.797,10492,6.456,19740,10.528,19750,7.811,19851,6.456,19888,9.916,19889,9.916,19890,12.527,19891,7.359,19892,11.214,19893,9.916,19894,7.359,19895,7.359,19896,7.359,19897,7.359]],["title/classes/SchoolForGroupNotFoundLoggable.html",[0,0.239,17611,6.094]],["body/classes/SchoolForGroupNotFoundLoggable.html",[0,0.308,2,0.95,3,0.017,4,0.017,5,0.008,7,0.125,8,1.297,27,0.443,29,0.684,30,0.001,31,0.5,32,0.111,33,0.408,35,1.034,95,0.128,100,3.117,101,0.012,103,0.001,104,0.001,148,0.883,228,2.039,339,2.62,347,4.577,400,2.66,433,1.101,652,1.821,703,4.014,1027,2.737,1065,6.677,1115,3.419,1237,3.317,1422,5.044,1423,5.813,1426,5.802,1468,5.813,1469,6.117,3331,6.415,10001,9.915,10031,9.473,12858,7.835,17611,9.87,19898,12.315,19899,8.271,19900,8.271,19901,8.271,19902,8.271,19903,7.835,19904,8.931,19905,8.931,19906,8.931,19907,8.271]],["title/classes/SchoolIdDoesNotMatchWithUserSchoolId.html",[0,0.239,19908,6.433]],["body/classes/SchoolIdDoesNotMatchWithUserSchoolId.html",[0,0.29,2,0.894,3,0.016,4,0.016,5,0.008,7,0.118,8,1.248,26,2.602,27,0.426,29,0.644,30,0.001,31,0.471,32,0.105,33,0.384,34,2.287,35,0.973,47,0.951,59,2.61,95,0.123,99,1.721,101,0.011,103,0.001,104,0.001,148,0.832,228,2.17,290,3.094,339,2.466,415,7.19,433,1.334,652,2.441,703,4.158,1027,2.576,1115,3.218,1237,3.192,1422,4.904,1423,5.652,1426,5.674,1468,5.652,1469,5.947,4541,4.412,4618,4.958,4923,5.479,5278,7.07,13974,6.826,19908,10.024,19909,10.504,19910,8.407,19911,8.407,19912,11.973,19913,8.407,19914,11.973,19915,8.407,19916,8.407,19917,8.407]],["title/classes/SchoolIdParams.html",[0,0.239,19918,5.472]],["body/classes/SchoolIdParams.html",[0,0.417,2,1.069,3,0.019,4,0.019,5,0.009,7,0.141,26,2.672,27,0.395,30,0.001,32,0.125,95,0.148,99,2.057,101,0.013,103,0.001,104,0.001,112,0.945,180,5.165,190,1.804,200,3.079,202,2.309,296,3.161,307,7.363,855,4.897,4541,4.53,4923,5.537,6330,6.964,6757,8.159,19918,9.529,19919,12.097]],["title/classes/SchoolIdParams-1.html",[0,0.199,756,2.285,19918,4.549]],["body/classes/SchoolIdParams-1.html",[0,0.418,2,1.074,3,0.019,4,0.019,5,0.009,7,0.142,26,2.677,27,0.397,30,0.001,32,0.126,95,0.148,99,2.067,101,0.013,103,0.001,104,0.001,112,0.948,190,1.813,200,3.095,202,2.32,296,3.17,307,7.4,855,4.912,2669,5.499,4541,4.539,6756,7.4,6757,8.2,19728,11.236,19918,9.558]],["title/classes/SchoolInMigrationLoggableException.html",[0,0.239,16929,6.094]],["body/classes/SchoolInMigrationLoggableException.html",[0,0.259,2,0.799,3,0.014,4,0.014,5,0.007,7,0.106,8,1.159,27,0.53,30,0.001,32,0.172,33,0.459,35,1.164,47,0.804,52,5.086,55,1.508,95,0.129,101,0.01,103,0,104,0,112,0.785,148,0.743,155,3.838,180,4.292,190,2.265,228,2.498,231,1.742,233,2.344,277,1.079,290,1.776,393,3.708,402,2.688,433,1.396,436,3.847,644,6.111,703,2.332,868,5.805,871,2.75,998,5.348,1027,2.301,1078,3.293,1080,4.171,1115,4.337,1237,2.964,1354,8.576,1355,6.5,1356,7.397,1360,4.971,1361,4.309,1362,4.971,1363,4.971,1364,4.971,1365,4.971,1366,4.971,1367,4.615,1368,4.235,1374,4.839,1422,4.641,1426,5.431,1462,4.133,1468,5.348,1477,3.9,1478,4.07,1800,6.955,2108,3.278,2615,5.121,3777,5.624,4906,4.971,10342,5.044,10343,6.589,14219,10.492,16929,8.819,19920,11.33,19921,7.511]],["title/classes/SchoolInUserMigrationEndLoggable.html",[0,0.239,19922,6.433]],["body/classes/SchoolInUserMigrationEndLoggable.html",[0,0.317,2,0.978,3,0.017,4,0.017,5,0.008,7,0.129,8,1.321,27,0.451,29,0.705,30,0.001,31,0.515,32,0.115,33,0.42,35,1.065,47,0.886,52,6.61,95,0.105,101,0.012,103,0.001,104,0.001,148,0.91,228,1.667,290,2.952,339,2.698,400,2.739,433,1.134,703,2.855,1027,2.818,1115,3.521,1237,3.378,1422,5.112,1423,5.892,1426,5.864,1468,5.892,1469,6.199,3547,5.651,4923,5.712,14984,9.146,19909,10.95,19922,10.611,19923,9.197,19924,9.197,19925,9.197,19926,9.197,19927,8.517]],["title/classes/SchoolInUserMigrationStartLoggable.html",[0,0.239,19928,6.433]],["body/classes/SchoolInUserMigrationStartLoggable.html",[0,0.297,2,0.917,3,0.016,4,0.016,5,0.008,7,0.121,8,1.269,26,2.627,27,0.433,29,0.661,30,0.001,31,0.483,32,0.107,33,0.394,35,0.998,39,3.045,47,0.86,52,6.457,95,0.126,99,1.765,101,0.011,103,0.001,104,0.001,122,2.529,148,0.853,228,2.196,242,4.54,290,2.866,339,2.53,376,6.319,433,1.356,652,2.47,703,3.416,1027,2.642,1115,3.301,1237,3.244,1422,4.963,1423,5.72,1426,5.728,1434,5.556,1468,5.72,1469,6.018,4923,5.546,5100,6.081,12407,6.319,13894,11.221,14984,9.352,19909,10.631,19927,7.986,19928,10.189,19929,7.986,19930,7.986,19931,8.624,19932,8.624,19933,8.624]],["title/classes/SchoolInfoMapper.html",[0,0.239,16524,6.094]],["body/classes/SchoolInfoMapper.html",[0,0.336,2,1.038,3,0.019,4,0.019,5,0.009,7,0.137,8,1.37,27,0.384,29,0.747,30,0.001,31,0.665,32,0.122,33,0.446,34,1.666,35,1.129,95,0.136,100,4.147,101,0.013,103,0.001,104,0.001,135,1.273,148,0.965,153,1.6,467,3.731,478,2.739,692,6.295,830,6.591,837,4.817,16496,10.827,16524,10.425,19934,11.882,19935,8.559,19936,11.882,19937,8.559,19938,9.756,19939,9.756,19940,9.756]],["title/classes/SchoolInfoResponse.html",[0,0.239,16496,5.64]],["body/classes/SchoolInfoResponse.html",[0,0.311,2,0.961,3,0.017,4,0.017,5,0.008,7,0.127,27,0.487,29,0.692,30,0.001,31,0.784,32,0.154,33,0.413,34,2.365,47,0.921,95,0.103,101,0.012,103,0.001,104,0.001,112,0.885,157,2.85,190,2.034,202,2.075,205,2.646,296,3.234,304,4.459,433,1.396,458,3.614,703,4.03,821,4.598,868,4.333,2183,3.559,2300,7.114,3165,5.896,3166,6.049,3167,6.049,4699,7.924,16496,10.854,19941,12.98,19942,7.924,19943,8.364]],["title/classes/SchoolMigrationDatabaseOperationFailedLoggableException.html",[0,0.239,19944,6.094]],["body/classes/SchoolMigrationDatabaseOperationFailedLoggableException.html",[0,0.282,2,0.871,3,0.016,4,0.016,5,0.008,7,0.115,8,1.227,27,0.419,29,0.627,30,0.001,31,0.458,32,0.147,33,0.374,35,0.947,52,6.727,95,0.143,101,0.011,103,0.001,104,0.001,125,1.948,148,0.81,153,1.343,158,3.017,180,5.047,228,1.928,231,1.844,277,1.176,339,2.401,433,1.311,543,3.971,652,2.169,703,3.67,711,3.503,1027,2.508,1080,4.075,1237,3.137,1312,5.55,1313,5.581,1314,5.997,1422,4.841,1426,5.617,1462,4.504,1468,5.579,1477,4.25,1478,4.435,1829,3.479,1853,2.677,1927,6.971,1938,4.402,2070,7.381,4541,3.713,4923,5.41,9140,8.96,9185,6.645,10045,6.129,13858,6.277,19390,9.596,19944,9.333,19945,10.37,19946,10.946,19947,7.579,19948,8.185,19949,7.579,19950,8.185]],["title/injectables/SchoolMigrationService.html",[589,0.926,4929,5.472]],["body/injectables/SchoolMigrationService.html",[0,0.136,3,0.007,4,0.007,5,0.004,7,0.055,8,0.723,27,0.465,29,0.906,30,0.001,31,0.662,32,0.147,33,0.541,35,1.336,36,2.671,39,1.735,47,0.993,52,1.998,55,1.782,95,0.128,101,0.005,103,0,104,0,122,1.852,125,2.112,135,1.626,142,2.28,145,1.48,148,1.019,153,1.456,158,2.31,180,5.153,195,0.864,197,2.168,228,1.754,277,0.567,279,1.651,290,0.934,317,2.899,433,0.773,569,1.946,579,1.794,589,0.836,591,0.94,629,3.3,652,2.653,657,2.81,703,3.199,704,5.877,711,3.784,869,4.357,1027,1.21,1080,3.06,1328,3.323,1422,1.618,1853,1.292,2064,3.465,2065,5.874,2067,4.344,2069,2.352,2070,7.607,2304,7.787,2313,7.787,2445,4.496,2446,5.045,2893,8.219,3370,1.772,3853,2.079,4541,3.379,4923,5.524,4929,4.938,4935,7.129,4937,5.579,4944,5.805,5401,6.498,8056,4.809,9299,5.805,10033,5.794,13720,3.465,14220,7.914,14232,3.206,14237,5.805,14817,3.321,15085,5.089,15107,3.657,16331,8.507,16346,5.5,16347,5.089,17613,8.219,17626,3.465,19390,3.206,19944,3.465,19951,12.07,19952,6.269,19953,5.805,19954,7.795,19955,6.269,19956,7.795,19957,7.795,19958,5.805,19959,7.795,19960,3.949,19961,6.269,19962,9.681,19963,3.949,19964,6.269,19965,3.949,19966,3.949,19967,3.949,19968,6.269,19969,8.876,19970,3.949,19971,6.269,19972,6.269,19973,3.949,19974,6.269,19975,3.657,19976,3.949,19977,3.949,19978,6.269,19979,3.657,19980,3.949,19981,6.269,19982,3.949,19983,3.465,19984,3.949,19985,5.5,19986,3.949,19987,3.949,19988,3.949,19989,3.949,19990,6.269,19991,3.949,19992,3.949,19993,3.949,19994,3.949,19995,3.949,19996,3.949,19997,3.949,19998,6.269,19999,3.949,20000,6.269,20001,3.949,20002,7.795,20003,8.219,20004,3.657,20005,3.949,20006,3.949,20007,5.805,20008,3.949,20009,6.269,20010,6.269,20011,3.949,20012,2.957,20013,3.657,20014,3.949,20015,3.949,20016,3.657,20017,3.949,20018,3.949,20019,3.949]],["title/classes/SchoolMigrationSuccessfulLoggable.html",[0,0.239,20020,6.094]],["body/classes/SchoolMigrationSuccessfulLoggable.html",[0,0.31,2,0.957,3,0.017,4,0.017,5,0.008,7,0.126,8,1.303,27,0.445,29,0.689,30,0.001,31,0.504,32,0.112,33,0.411,35,1.041,52,6.25,95,0.129,101,0.012,103,0.001,104,0.001,148,0.889,180,5.274,228,2.047,339,2.638,385,6.131,400,2.678,433,1.108,652,1.833,703,3.835,704,4.578,1027,2.755,1115,3.442,1237,3.331,1422,5.06,1423,5.831,1426,5.816,1853,2.941,2070,7.643,4541,3.138,4923,5.654,4935,8.245,4937,7.765,13858,6.896,15109,6.131,15178,6.458,16773,7.3,19907,8.326,19947,8.326,20020,9.911,20021,12.353,20022,8.326,20023,8.991,20024,8.991,20025,8.991,20026,7.888]],["title/entities/SchoolNews.html",[205,1.416,7848,5.328]],["body/entities/SchoolNews.html",[0,0.354,3,0.01,4,0.018,5,0.005,7,0.162,9,3.606,26,2.115,27,0.205,30,0.001,31,0.435,32,0.128,34,0.89,47,0.889,83,2.259,95,0.14,96,2.444,101,0.014,103,0,104,0,112,0.858,134,1.841,148,0.515,153,1.521,155,2.941,159,0.536,190,0.935,195,2.52,196,3.81,205,2.239,206,1.694,223,3.703,224,1.513,225,2.981,226,2.361,231,1.781,232,2.784,233,1.626,290,2.598,409,5.899,412,4.103,435,1.818,457,5.143,467,1.517,512,4.721,571,3.668,613,4.533,692,5.631,693,2.373,703,3.41,704,3.951,886,2.442,1086,4.424,1087,4.749,1088,4.353,1089,4.633,1090,5.062,1373,4.668,1821,3.765,1826,2.67,1842,3.534,1920,3.448,1938,2.802,2032,2.949,2392,3.537,2688,5.228,2892,3.901,2911,4.286,2925,3.103,2980,5.937,3025,2.5,3703,3.552,3705,3.357,3706,3.673,3708,3.742,3709,3.673,3710,3.901,3724,3.073,3860,3.552,3884,3.357,4541,1.818,4633,3.996,4634,3.611,4776,3.818,5254,3.673,5670,4.353,5758,3.818,6173,3.275,6421,6.794,6606,2.89,6609,4.987,7494,3.237,7495,2.938,7516,3.167,7720,3.552,7811,3.901,7812,4.23,7814,6.943,7815,6.053,7816,4.23,7817,4.768,7818,4.23,7819,9.071,7820,5.211,7821,5.811,7822,5.811,7823,6.928,7824,7.799,7825,4.23,7826,5.573,7827,4.23,7828,3.996,7829,3.996,7830,5.065,7831,4.23,7832,3.996,7833,3.996,7834,4.23,7835,3.901,7836,4.23,7837,3.134,7838,3.237,7839,3.996,7840,4.23,7841,4.23,7842,7.303,7843,4.23,7844,7.527,7845,4.23,7846,4.23,7847,5.951,7848,5.951,7849,6.537,7850,4.104,7851,5.136,7852,3.818,7853,3.996,7854,4.23,20027,5.21]],["title/classes/SchoolNumberDuplicateLoggableException.html",[0,0.239,20028,6.094]],["body/classes/SchoolNumberDuplicateLoggableException.html",[0,0.302,2,0.934,3,0.017,4,0.017,5,0.008,7,0.123,8,1.283,18,4.44,27,0.438,29,0.672,30,0.001,31,0.491,32,0.139,33,0.401,35,1.016,47,0.867,55,2.578,95,0.127,101,0.012,103,0.001,104,0.001,148,0.868,228,1.59,231,1.928,233,2.739,277,1.26,339,2.574,400,2.614,433,1.081,640,5.392,703,3.793,1027,2.689,1115,3.359,1237,3.28,1422,5.003,1423,5.766,1426,5.765,1462,4.829,1465,6.081,1468,5.766,1469,6.067,1477,4.556,1478,4.755,1563,5.654,3331,6.303,6376,7.772,10033,7.974,10038,6.571,10045,6.571,10047,6.43,11426,9.369,20028,9.76,20029,12.215,20030,12.215,20031,8.775,20032,8.775]],["title/classes/SchoolNumberMismatchLoggableException.html",[0,0.239,19985,6.094]],["body/classes/SchoolNumberMismatchLoggableException.html",[0,0.237,2,0.732,3,0.013,4,0.013,5,0.006,7,0.097,8,1.092,27,0.519,29,0.527,30,0.001,31,0.385,32,0.171,33,0.495,35,1.096,47,0.951,52,4.792,55,2.342,95,0.124,101,0.009,103,0,104,0,112,0.74,148,0.681,155,3.702,180,4.624,190,2.197,228,2.502,231,1.642,233,2.147,277,0.988,290,1.627,339,2.018,393,3.397,400,2.049,402,2.462,433,0.848,436,3.748,644,4.182,652,1.402,703,2.941,868,5.599,871,2.519,998,5.113,1027,2.108,1078,3.017,1080,4.023,1115,4.467,1237,2.793,1354,8.421,1355,6.213,1356,7.071,1360,4.554,1361,3.947,1362,4.554,1363,4.554,1364,4.554,1365,4.554,1366,4.554,1367,4.228,1368,3.879,1374,4.433,1422,4.436,1423,5.113,1426,5.237,1462,3.786,1468,5.113,1469,5.38,1477,3.572,1478,3.728,2104,5.786,2108,3.003,4202,5.277,4905,5.041,4906,4.554,4923,4.957,7800,4.491,10342,4.62,19945,9.502,19985,8.309,20033,10.831,20034,6.88,20035,12.237,20036,11.669,20037,6.88,20038,6.88,20039,6.88,20040,6.88]],["title/classes/SchoolNumberMissingLoggableException.html",[0,0.239,20041,5.842]],["body/classes/SchoolNumberMissingLoggableException.html",[0,0.3,2,0.925,3,0.017,4,0.017,5,0.008,7,0.122,8,1.276,26,2.636,27,0.435,29,0.666,30,0.001,31,0.487,32,0.138,33,0.398,35,1.007,55,2.57,95,0.139,99,1.78,101,0.011,103,0.001,104,0.001,148,0.86,180,5.194,228,1.576,231,1.918,233,2.715,277,1.249,339,2.552,400,2.591,433,1.072,703,3.435,983,5.605,1027,2.665,1115,3.33,1237,3.262,1422,4.983,1423,5.743,1426,5.747,1462,4.787,1468,5.743,1469,6.043,1477,4.517,1478,4.714,4541,4.246,4618,5.13,4923,5.568,6376,7.741,10042,11.266,10047,6.374,10342,5.841,14221,7.062,19945,10.674,20041,9.304,20042,8.056,20043,8.699]],["title/interfaces/SchoolProperties.html",[159,0.714,19682,5.64]],["body/interfaces/SchoolProperties.html",[0,0.316,3,0.01,4,0.01,5,0.005,7,0.129,30,0.001,31,0.61,32,0.163,33,0.632,47,0.977,83,2.963,95,0.13,96,1.347,101,0.014,102,2.709,103,0,104,0,112,0.716,122,2.386,125,1.216,142,1.859,153,0.838,159,0.525,161,1.214,180,2.182,185,1.751,195,2.914,196,4.364,197,2.127,205,1.559,223,4.051,224,1.484,226,2.316,229,2.022,231,0.886,232,1.385,233,1.595,316,2.466,692,2.412,704,5.822,789,5.556,886,1.608,1082,3.603,1821,2.48,1826,2.619,2183,2.014,2477,5.215,2685,4.667,2911,5.286,2915,2.835,2919,4.242,2920,6.025,3383,4.928,3384,4.388,4607,4.084,4617,2.294,4667,7.316,4684,3.92,4685,6.025,4937,7.188,5163,5.995,5168,6.8,5670,4.304,6179,3.336,7150,3.336,7443,7.924,7451,7.316,7509,4.753,7528,5.866,7529,3.827,7837,3.074,7838,4.753,10033,7.112,10038,3.827,10039,6.21,10060,3.827,11436,7.568,12462,7.678,13585,6.025,14964,3.671,15109,7.429,15176,8.356,15177,7.983,15182,7.825,15194,4.149,15196,3.92,15198,3.827,15211,4.149,15248,8.876,19650,4.298,19651,4.298,19659,7.441,19662,4.298,19666,4.298,19668,4.149,19669,4.149,19670,4.298,19671,4.298,19672,4.298,19673,6.432,19674,4.298,19675,4.298,19676,4.298,19677,4.298,19678,4.298,19679,4.298,19680,4.298,19681,4.298,19682,7.441,19683,7.441,19684,4.298,19685,4.298,19686,6.025,19687,4.298,19688,6.432,19689,4.298,19690,4.298,19691,6.432,19692,4.298,19693,4.298]],["title/classes/SchoolRolePermission.html",[0,0.239,19683,5.64]],["body/classes/SchoolRolePermission.html",[0,0.336,2,0.604,3,0.011,4,0.011,5,0.005,7,0.137,27,0.325,30,0.001,31,0.463,32,0.103,33,0.489,47,0.909,83,2.406,95,0.135,96,1.496,101,0.015,102,3.008,103,0,104,0,112,0.761,122,2.478,125,1.35,142,2.064,153,0.931,159,0.583,180,2.423,185,1.944,190,1.483,195,3.009,196,4.452,197,2.298,205,1.684,211,4.583,223,4.139,224,1.648,226,2.571,229,2.245,231,0.983,232,1.538,233,1.771,316,2.738,692,2.678,704,4.961,789,3.098,886,1.785,1082,4.001,1821,2.753,1826,2.908,2183,2.236,2477,5.634,2685,4.961,2911,5.489,2915,3.147,2919,4.583,2920,6.508,3383,5.323,3384,4.74,4607,4.412,4617,2.547,4667,5.548,4684,4.352,4685,6.508,4937,6.125,5163,5.362,5168,6.141,5670,4.575,6179,3.704,7150,3.704,7443,7.418,7451,5.548,7509,5.134,7528,6.337,7529,4.249,7837,3.413,7838,5.134,10033,5.394,10038,4.249,10039,6.708,10060,4.249,11436,6.449,12462,7.188,13585,6.508,14964,4.075,15109,5.634,15176,6.337,15177,6.054,15182,6.999,15194,4.607,15196,4.352,15198,4.249,15211,4.607,15248,8.519,19650,4.771,19651,4.771,19659,7.911,19662,4.771,19666,4.771,19668,4.607,19669,4.607,19670,4.771,19671,4.771,19672,4.771,19673,6.948,19674,4.771,19675,4.771,19676,4.771,19677,4.771,19678,4.771,19679,4.771,19680,4.771,19681,4.771,19682,6.708,19683,8.69,19684,8.194,19685,8.194,19686,6.508,19687,4.771,19688,6.948,19689,4.771,19690,4.771,19691,6.948,19692,4.771,19693,4.771,20044,5.674,20045,5.674]],["title/classes/SchoolRoles.html",[0,0.239,19659,5.64]],["body/classes/SchoolRoles.html",[0,0.335,2,0.6,3,0.011,4,0.011,5,0.005,7,0.136,27,0.324,30,0.001,31,0.461,32,0.103,33,0.488,47,0.908,83,2.396,95,0.135,96,1.488,101,0.015,102,2.991,103,0,104,0,112,0.759,122,2.228,125,1.343,142,2.052,153,0.926,159,0.58,180,2.409,185,1.933,190,1.477,195,3.007,196,4.447,197,2.288,205,1.677,211,4.564,223,4.134,224,1.639,226,2.557,229,2.232,231,0.978,232,1.529,233,1.761,316,2.722,692,2.663,704,4.945,789,3.081,886,1.775,1082,3.978,1821,2.738,1826,2.891,2183,2.224,2477,5.611,2685,4.945,2911,5.797,2915,3.129,2919,4.564,2920,6.482,3383,7.313,3384,6.512,4607,4.394,4617,2.532,4667,5.526,4684,4.327,4685,6.482,4937,6.106,5163,5.345,5168,6.124,5670,4.561,6179,3.683,7150,3.683,7443,7.398,7451,5.526,7509,5.113,7528,6.311,7529,4.225,7837,3.394,7838,5.113,10033,5.372,10038,4.225,10039,6.681,10060,4.225,11436,6.428,12462,7.169,13585,6.482,14964,4.052,15109,5.611,15176,6.311,15177,6.029,15182,6.976,15194,4.581,15196,4.327,15198,4.225,15211,4.581,15248,8.5,19650,4.745,19651,4.745,19659,8.667,19662,4.745,19666,4.745,19668,4.581,19669,4.581,19670,4.745,19671,4.745,19672,4.745,19673,6.92,19674,4.745,19675,4.745,19676,4.745,19677,4.745,19678,4.745,19679,4.745,19680,4.745,19681,4.745,19682,6.681,19683,9.215,19684,4.745,19685,4.745,19686,6.482,19687,4.745,19688,6.92,19689,4.745,19690,4.745,19691,6.92,19692,4.745,19693,4.745,20046,5.642,20047,5.642]],["title/interfaces/SchoolSpecificFileCopyService.html",[159,0.714,3583,5.472]],["body/interfaces/SchoolSpecificFileCopyService.html",[3,0.018,4,0.018,5,0.012,7,0.13,8,1.325,26,2.824,27,0.364,29,0.708,30,0.001,31,0.517,32,0.156,33,0.422,35,1.069,36,2.431,39,2.557,95,0.143,99,1.891,101,0.016,103,0.001,104,0.001,159,0.95,161,2.194,326,3.512,1083,6.479,1317,7.224,2602,6.985,3393,8.813,3583,9.052,3851,4.645,5417,8.556,5419,8.556,6607,4.361,7149,6.479,7160,7.086,11851,8.106,12173,9.329,18444,8.556,18446,8.556,20048,10.081,20049,9.24,20050,10.641,20051,12.118,20052,9.24,20053,8.556,20054,8.106]],["title/injectables/SchoolSpecificFileCopyServiceFactory.html",[589,0.926,3849,5.842]],["body/injectables/SchoolSpecificFileCopyServiceFactory.html",[0,0.305,3,0.017,4,0.017,5,0.013,7,0.124,8,1.29,27,0.44,29,0.857,30,0.001,31,0.627,32,0.139,33,0.511,35,1.025,95,0.147,101,0.012,103,0.001,104,0.001,148,0.876,153,1.452,228,1.604,277,1.272,400,2.637,433,1.091,435,3.904,507,4.928,589,1.492,591,2.107,703,3.473,1083,7.494,1317,5.565,2602,8.251,2802,3.542,3283,7.444,3393,9.407,3583,9.661,3584,7.444,3849,9.407,3851,4.451,7279,9.749,20048,10.761,20054,11.305,20055,8.852,20056,8.198,20057,8.852,20058,11.187,20059,8.852,20060,7.766,20061,8.852]],["title/classes/SchoolSpecificFileCopyServiceImpl.html",[0,0.239,20060,6.094]],["body/classes/SchoolSpecificFileCopyServiceImpl.html",[0,0.286,2,0.883,3,0.016,4,0.02,5,0.012,7,0.117,8,1.238,27,0.423,29,0.823,30,0.001,31,0.601,32,0.134,33,0.491,35,0.961,36,2.272,39,2.298,95,0.136,101,0.011,103,0.001,104,0.001,148,0.821,228,1.946,317,2.578,326,3.156,433,1.323,435,4.154,652,2.189,703,2.578,711,3.527,1083,7.095,1237,3.166,1317,6.75,2602,7.235,2802,3.322,2980,3.763,3241,6.54,3393,9.128,3583,9.375,3584,6.982,3851,5.399,3885,5.069,4541,3.748,6607,5.069,7160,6.368,7279,9.587,12173,8.718,18172,6.368,20048,10.441,20050,9.944,20051,11.653,20053,7.689,20054,11.04,20056,7.689,20060,9.421,20062,8.303,20063,8.303,20064,8.303,20065,8.303,20066,10.738,20067,8.303,20068,8.303,20069,8.303]],["title/classes/SchoolToolConfigurationStatusResponseMapper.html",[0,0.239,19809,6.094]],["body/classes/SchoolToolConfigurationStatusResponseMapper.html",[0,0.327,2,1.008,3,0.018,4,0.018,5,0.009,7,0.133,8,1.346,27,0.373,29,0.726,30,0.001,31,0.531,32,0.118,33,0.433,35,1.097,95,0.133,101,0.012,103,0.001,104,0.001,135,1.237,148,0.938,153,1.555,402,4.528,467,3.684,614,4.177,829,5.591,830,6.476,837,4.68,2671,4.08,4064,9.818,6046,9.818,6048,6.684,8234,6.821,15848,7.696,19699,10.401,19703,11.402,19733,9.818,19797,8.778,19809,10.243,19853,7.972,20070,9.48]],["title/injectables/SchoolValidationService.html",[589,0.926,15231,5.842]],["body/injectables/SchoolValidationService.html",[0,0.281,3,0.015,4,0.015,5,0.008,7,0.115,8,1.224,27,0.464,29,0.904,30,0.001,31,0.661,32,0.147,33,0.539,35,1.228,36,2.643,47,0.579,95,0.143,101,0.011,103,0.001,104,0.001,135,1.063,142,3.859,148,1.05,153,1.337,195,1.784,228,1.477,277,1.171,279,3.407,317,2.877,400,2.428,433,1.005,579,2.333,589,1.415,591,1.94,652,2.405,657,2.428,703,3.294,711,3.496,1213,6.751,1422,3.339,1531,8.81,1853,2.666,2070,8.088,2072,6.855,6057,6.421,10492,7.151,10511,7.151,11426,9.583,15068,8.614,15231,8.923,15291,7.548,20028,7.151,20071,12.495,20072,10.61,20073,8.151,20074,10.61,20075,10.61,20076,8.151,20077,8.151,20078,10.61,20079,8.151,20080,8.151,20081,7.548]],["title/entities/SchoolYearEntity.html",[205,1.416,12462,4.665]],["body/entities/SchoolYearEntity.html",[0,0.309,3,0.017,4,0.017,5,0.008,7,0.126,27,0.486,30,0.001,31,0.725,32,0.154,47,0.876,83,3.966,95,0.129,96,2.365,101,0.015,103,0.001,104,0.001,112,0.881,159,0.922,190,2.216,205,2.3,206,2.918,223,4.292,224,2.606,226,4.066,229,3.549,231,1.555,232,2.431,233,2.8,1237,2.645,2183,3.536,2477,7.692,4617,4.026,7454,9.3,7524,7.283,7525,6.881,12462,7.576,20082,8.308,20083,10.889,20084,8.971,20085,8.971,20086,8.971,20087,10.827,20088,7.544,20089,8.308,20090,8.308]],["title/interfaces/SchoolYearProperties.html",[159,0.714,20087,6.094]],["body/interfaces/SchoolYearProperties.html",[0,0.316,3,0.017,4,0.017,5,0.008,7,0.129,30,0.001,31,0.752,32,0.155,47,0.926,83,4.087,95,0.13,96,2.414,101,0.015,103,0.001,104,0.001,112,0.892,159,0.941,161,2.174,205,2.329,223,4.05,224,2.659,226,4.149,229,3.622,231,1.587,232,2.481,233,2.858,1237,2.699,2183,3.608,2477,7.791,4617,4.109,7454,9.641,7524,7.433,7525,7.022,12462,6.148,20082,8.478,20083,11.288,20087,11.443,20088,7.699,20089,8.478,20090,8.478]],["title/injectables/SchoolYearRepo.html",[589,0.926,15232,5.842]],["body/injectables/SchoolYearRepo.html",[0,0.259,3,0.014,4,0.014,5,0.007,7,0.106,8,1.159,10,4.022,12,4.533,18,5.086,26,2.069,27,0.511,29,0.927,30,0.001,31,0.678,32,0.151,33,0.553,34,1.283,35,1.46,36,2.668,40,3.624,49,3.794,83,2.187,95,0.129,101,0.01,103,0,104,0,135,1.311,142,2.732,148,0.994,153,1.232,205,1.531,206,3.269,231,1.742,277,1.079,317,2.956,436,3.586,478,2.109,532,5.158,589,1.34,591,1.788,657,1.718,728,7.674,734,4.22,735,4.578,736,5.594,759,4.473,760,4.566,761,4.518,762,4.566,763,5.205,764,4.518,765,4.566,766,4.04,771,5.395,3912,6.098,4544,7.366,7454,5.395,7886,6.098,9432,9.94,11426,8.69,12462,7.609,15232,8.453,20083,6.316,20091,7.511,20092,12.1,20093,7.511,20094,7.511,20095,7.511]],["title/injectables/SchoolYearService.html",[589,0.926,15230,5.842]],["body/injectables/SchoolYearService.html",[0,0.292,3,0.016,4,0.016,5,0.008,7,0.119,8,1.253,12,4.902,26,2.609,27,0.473,29,0.833,30,0.001,31,0.609,32,0.135,33,0.497,34,1.445,35,1.258,36,2.681,40,5.244,95,0.145,99,1.731,101,0.011,103,0.001,104,0.001,135,1.418,148,1.075,228,1.533,277,1.215,317,2.906,400,2.52,433,1.043,478,2.375,589,1.449,591,2.014,657,2.487,734,3.551,1829,3.597,1882,3.227,1940,5.523,2609,4.153,4168,5.863,4544,7.964,4667,5.681,5055,7.532,11426,9.719,11434,7.115,11435,6.489,11436,5.6,12462,8.064,15230,9.14,15232,11.281,20096,12.673,20097,8.461,20098,12.673,20099,8.461,20100,8.461,20101,8.461,20102,8.461,20103,8.461,20104,8.461]],["title/classes/Scope.html",[0,0.239,6229,2.834]],["body/classes/Scope.html",[0,0.254,2,0.783,3,0.014,4,0.014,5,0.007,7,0.103,8,1.143,27,0.519,29,0.859,30,0.001,31,0.628,32,0.167,33,0.513,35,1.148,95,0.113,96,1.94,101,0.01,103,0,104,0,112,0.774,122,2.614,129,2.197,130,2.013,135,0.96,145,2.759,148,1.187,197,2.046,224,2.138,365,5.737,433,0.907,569,3.079,652,2.77,735,4.516,756,2.911,815,8.699,1675,4.427,2474,8.178,6229,4.896,6947,7.531,6948,7.531,6949,7.531,6954,6.659,6955,6.659,6957,8.665,6968,6.659,6969,8.058,6971,6.659,6973,6.659,16628,10.385,20105,7.359,20106,9.916,20107,9.916,20108,7.359,20109,7.359,20110,7.359,20111,7.359,20112,7.359,20113,7.359,20114,7.359,20115,7.359,20116,9.916,20117,11.214,20118,9.916,20119,7.359,20120,7.359,20121,7.359]],["title/interfaces/ScopeInfo.html",[159,0.714,20122,5.64]],["body/interfaces/ScopeInfo.html",[3,0.019,4,0.019,5,0.009,7,0.139,26,2.756,30,0.001,32,0.167,47,1.018,95,0.113,99,2.021,101,0.013,103,0.001,104,0.001,112,0.935,155,4.248,159,1.015,161,2.346,2137,5.199,2160,8.863,11224,10.872,20122,9.719,20123,9.146,20124,9.876,20125,13.391]],["title/classes/ScopeRef.html",[0,0.239,20126,5.328]],["body/classes/ScopeRef.html",[0,0.324,2,0.999,3,0.018,4,0.018,5,0.009,7,0.132,26,2.836,27,0.496,29,0.719,30,0.001,31,0.526,32,0.157,33,0.429,34,2.31,95,0.132,99,1.922,101,0.012,103,0.001,104,0.001,112,0.907,433,1.157,458,3.757,595,3.545,2137,6.928,2434,7.915,6229,5.696,7090,8.696,8204,6.306,20123,12.187,20126,8.903,20127,10.851,20128,11.608,20129,9.391]],["title/interfaces/ServerConfig.html",[159,0.714,649,4.367]],["body/interfaces/ServerConfig.html",[3,0.014,4,0.014,5,0.007,7,0.105,30,0.001,32,0.167,47,0.977,52,5.054,55,2.264,95,0.155,101,0.015,103,0,104,0,112,0.78,122,2.624,135,1.303,159,0.765,161,1.767,231,1.732,310,9.894,312,6.528,313,9.251,647,5.452,648,4.678,649,7.577,886,2.341,981,6.073,1317,4.678,1537,5.572,2087,4.879,2218,3.324,2219,3.741,2220,3.611,2221,4.678,2228,6.528,2802,2.977,3209,3.838,3851,3.741,3853,3.917,4872,6.812,4896,7.32,5672,9.894,5676,6.891,5678,4.678,7420,9.483,9282,9.156,12008,4.794,12011,5.861,12012,6.528,12013,5.861,12015,6.257,12016,6.891,12193,9.483,13738,9.483,13740,6.891,13741,6.891,13742,6.891,14379,6.257,16064,8.649,16066,6.891,18675,8.764,20130,7.441,20131,9.156,20132,12.574,20133,12.574,20134,7.441,20135,7.441,20136,9.99,20137,6.891,20138,6.891,20139,7.441,20140,7.441,20141,7.441,20142,7.441,20143,6.891,20144,7.441,20145,7.441,20146,7.441,20147,6.891,20148,7.441,20149,7.441,20150,7.441,20151,7.441,20152,7.441,20153,7.441]],["title/classes/ServerConsole.html",[0,0.239,20154,6.094]],["body/classes/ServerConsole.html",[0,0.281,2,0.869,3,0.015,4,0.015,5,0.008,7,0.115,8,1.225,27,0.465,29,0.814,30,0.001,31,0.595,32,0.132,33,0.486,35,1.23,47,0.838,95,0.121,101,0.011,103,0.001,104,0.001,148,1.051,157,2.984,190,1.908,271,3.996,400,2.433,433,1.007,569,3.882,641,7.111,981,8.34,1372,4.3,2163,5.459,2357,7.111,2855,8.982,3755,6.434,3756,8.163,3759,8.149,3761,8.149,3764,5.406,3765,8.924,3766,8.43,3767,4.772,11406,9.301,20154,9.321,20155,8.168,20156,11.58,20157,10.624,20158,8.168,20159,8.168,20160,10.624,20161,9.321,20162,8.168,20163,9.839,20164,8.168,20165,8.168]],["title/modules/ServerConsoleModule.html",[252,1.836,20166,6.433]],["body/modules/ServerConsoleModule.html",[0,0.251,3,0.014,4,0.014,5,0.007,30,0.001,32,0.091,47,0.517,87,3.66,95,0.162,96,2.595,101,0.01,103,0,104,0,122,1.519,153,1.194,195,1.593,206,2.367,224,2.114,252,3.157,254,2.622,255,2.777,256,2.848,257,2.837,258,2.827,259,4.056,260,2.71,269,3.85,270,2.796,271,2.738,276,3.85,277,1.046,290,1.722,347,3.73,478,2.044,623,4.752,647,5.334,649,4.576,651,3.683,736,4.86,1014,5.044,1015,4.963,1017,6.821,1019,7.212,1020,6.386,1021,4.69,1022,6.821,1023,6.94,1024,6.821,1025,4.69,1026,4.576,1039,5.734,1040,5.044,1041,4.963,1317,6.187,1626,4.037,1716,6.386,1829,3.095,2163,3.365,2218,3.252,2219,3.66,2220,3.532,2832,4.69,2856,4.631,2923,3.859,3766,6.048,3767,4.252,3840,9.865,4212,4.252,5301,5.451,6321,5.91,7176,5.983,8778,6.386,8973,10.817,9066,9.115,11851,6.386,12317,7.212,12318,7.212,12330,5.334,12331,5.334,13275,6.386,13747,8.277,14379,6.121,16108,10.443,16126,6.386,20154,8.635,20166,12.69,20167,7.279,20168,7.279,20169,7.279,20170,7.279,20171,7.279,20172,7.279,20173,7.279,20174,7.279]],["title/controllers/ServerController.html",[314,2.659,20175,5.842]],["body/controllers/ServerController.html",[0,0.346,3,0.019,4,0.019,5,0.009,7,0.141,8,1.395,27,0.395,30,0.001,35,1.163,47,0.859,95,0.115,101,0.013,103,0.001,104,0.001,129,3.612,148,0.994,190,1.804,274,4.201,277,1.443,314,4.631,371,6.413,711,3.585,981,7.354,1372,5.29,2163,4.646,11223,9.529,13540,8.451,20156,12.474,20175,10.173,20176,10.049,20177,10.049]],["title/modules/ServerModule.html",[252,1.836,20178,6.094]],["body/modules/ServerModule.html",[0,0.211,3,0.007,4,0.007,5,0.004,8,0.443,27,0.241,29,0.294,30,0.001,31,0.343,32,0.076,33,0.175,35,0.444,47,0.832,52,1.943,55,1.23,72,3.998,87,1.93,95,0.162,96,1.616,101,0.01,103,0,104,0,107,2.506,122,1.823,125,2.542,135,1.245,148,0.38,153,1.006,157,0.884,171,5.138,174,2.618,180,2.617,195,0.84,197,1.705,206,1.249,224,1.115,228,1.583,252,2.931,253,5.155,254,3.146,255,1.465,256,1.502,257,1.496,258,1.491,259,1.396,260,1.429,265,4.938,269,2.398,270,1.475,271,1.444,274,3.652,276,3.417,277,0.551,290,0.908,347,1.968,412,2.713,433,0.756,467,1.118,478,1.078,507,1.691,540,2.687,543,1.863,561,1.723,569,1.192,571,1.519,614,1.183,623,4.002,649,2.414,651,1.943,652,1.781,688,1.812,725,2.707,736,3.027,809,2.506,1010,6.881,1011,6.94,1014,2.661,1015,2.618,1016,3.9,1017,4.248,1021,2.474,1022,4.248,1023,4.322,1024,4.248,1025,2.474,1026,2.414,1027,1.176,1028,4.248,1029,2.578,1031,5.395,1034,9.734,1035,3.229,1036,6.274,1038,7.346,1039,3.024,1040,2.661,1041,2.618,1042,2.541,1043,4.248,1045,2.506,1060,2.618,1061,2.945,1062,2.945,1063,2.945,1082,2.707,1086,1.832,1087,1.775,1088,1.803,1089,1.919,1166,2.541,1167,2.359,1218,2.506,1220,2.203,1237,1.807,1272,2.414,1274,2.506,1311,2.506,1317,2.414,1454,2.359,1480,4.829,1582,2.758,1598,2.264,1626,3.4,1743,2.758,1829,3.253,1927,2.264,2163,3.537,2218,1.715,2219,1.93,2220,1.863,2221,2.414,2344,2.334,2445,3.185,2446,4.08,2512,3.486,2802,2.453,2832,2.474,2923,2.035,2989,5.155,3770,2.541,3842,4.702,3851,3.082,3853,3.227,4214,5.73,4226,4.829,4227,9.617,4874,2.578,4896,5.607,4898,2.813,4982,2.945,5027,1.955,5068,5.155,5155,2.707,5224,2.414,7399,3.949,7584,2.31,8976,3.117,8987,3.368,8993,3.368,8994,3.368,8995,3.368,8996,3.368,8997,3.368,8998,3.368,9525,2.183,9942,2.334,11570,2.758,12008,2.474,12317,4.492,12318,4.492,12319,4.59,12330,2.813,12331,2.813,12332,3.117,12333,2.945,12334,3.024,12473,2.875,12701,5.155,13176,2.758,13282,3.368,13543,3.229,14045,5.155,14163,3.117,14334,3.117,14586,2.945,14804,3.117,15113,5.155,15391,5.155,15873,5.607,16067,3.117,16173,5.155,16177,4.977,16555,5.155,16995,5.155,17166,5.155,17347,5.155,17367,3.229,18173,5.155,18367,3.229,18605,8.982,18609,3.368,20175,8.029,20178,11.005,20179,3.84,20180,3.84,20181,3.556,20182,7.086,20183,9.425,20184,3.84,20185,3.556,20186,3.556,20187,3.556,20188,3.556,20189,3.556,20190,3.556,20191,3.556,20192,3.556,20193,3.556,20194,3.556,20195,3.556,20196,4.977,20197,3.556,20198,5.155,20199,3.556,20200,5.155,20201,3.556,20202,5.155,20203,3.556,20204,5.155,20205,5.155,20206,3.229,20207,5.155,20208,3.556,20209,5.155,20210,3.117,20211,3.117,20212,7.086,20213,3.556,20214,3.556,20215,3.556,20216,3.556,20217,3.556,20218,7.086,20219,3.556,20220,5.677,20221,7.086,20222,3.556,20223,3.556,20224,3.556,20225,3.556,20226,3.556,20227,3.556,20228,3.556,20229,3.556,20230,3.556,20231,3.556,20232,3.556,20233,3.368,20234,3.556,20235,3.556,20236,3.556,20237,3.556,20238,3.556,20239,3.556,20240,3.556,20241,3.556,20242,3.556,20243,3.556,20244,3.556,20245,3.556,20246,5.677,20247,3.556,20248,5.677,20249,3.556,20250,5.677,20251,3.556,20252,3.556,20253,3.556,20254,5.378,20255,3.556]],["title/modules/ServerTestModule.html",[252,1.836,20254,6.094]],["body/modules/ServerTestModule.html",[0,0.203,3,0.007,4,0.007,5,0.003,8,0.423,27,0.292,29,0.452,30,0.001,31,0.415,32,0.092,33,0.27,35,0.683,47,0.82,52,1.854,55,1.185,59,1.138,72,3.892,87,1.842,95,0.161,96,1.557,101,0.01,103,0,104,0,107,2.392,122,1.775,125,2.495,135,1.216,148,0.362,153,0.969,157,0.844,171,4.98,174,2.499,180,2.521,195,0.802,197,1.642,206,1.192,224,1.064,228,1.541,252,2.882,253,4.965,254,3.776,255,1.398,256,1.433,257,1.428,258,1.423,259,1.333,260,1.364,265,4.846,269,2.31,270,1.408,271,1.378,274,3.555,276,3.327,277,0.526,290,0.867,347,1.878,412,3.282,433,0.728,467,1.719,478,1.029,507,1.614,540,2.986,543,1.778,561,1.645,569,1.138,571,1.45,614,1.819,623,3.855,649,2.303,651,1.854,652,1.734,688,1.73,725,2.584,736,2.915,809,2.392,1010,6.699,1011,4.026,1014,2.539,1015,2.499,1016,4.718,1017,4.092,1021,2.361,1022,4.092,1023,4.163,1024,4.092,1025,2.361,1026,2.303,1027,1.123,1028,5.893,1029,6.262,1031,7.391,1034,9.633,1035,3.081,1036,6.108,1038,7.152,1039,2.886,1040,2.539,1041,2.499,1042,2.425,1043,4.092,1045,3.855,1048,2.539,1060,2.499,1061,2.81,1062,2.81,1063,2.81,1082,4.163,1086,1.748,1087,1.694,1088,1.721,1089,1.831,1166,2.425,1167,2.252,1218,3.855,1220,3.387,1237,1.741,1272,2.303,1274,2.392,1311,3.855,1317,2.303,1454,3.628,1480,4.651,1582,2.632,1598,2.161,1626,4.113,1743,2.632,1829,3.965,1927,3.482,2163,3.428,2218,1.637,2219,1.842,2220,1.778,2221,2.303,2344,3.589,2445,3.087,2446,3.972,2512,4.836,2802,2.362,2832,2.361,2923,1.943,2989,4.965,3770,2.425,3842,4.529,3851,2.969,3853,3.108,4214,5.553,4226,4.651,4227,9.467,4874,3.965,4896,4.327,4898,2.685,4982,2.81,5027,1.866,5068,4.965,5155,2.584,5224,2.303,7399,3.804,7584,2.204,8976,2.975,8987,3.215,8993,3.215,8994,3.215,8995,3.215,8996,3.215,8997,3.215,8998,3.215,9525,2.084,9942,2.227,11570,2.632,12008,2.361,12317,4.327,12318,4.327,12319,4.422,12330,2.685,12331,2.685,12332,2.975,12333,2.81,12334,2.886,12473,4.422,12701,4.965,13176,4.241,13282,3.215,13543,3.081,14045,4.965,14163,2.975,14334,2.975,14586,2.81,14804,2.975,15113,4.965,15391,4.965,15873,5.434,16067,2.975,16173,4.965,16177,4.794,16555,4.965,16995,4.965,17166,4.965,17347,4.965,17367,3.081,18173,4.965,18367,3.081,18605,8.815,18609,3.215,20175,7.842,20178,8.181,20181,3.393,20182,6.867,20183,9.23,20185,3.393,20186,3.393,20187,3.393,20188,3.393,20189,3.393,20190,3.393,20191,3.393,20192,3.393,20193,3.393,20194,3.393,20195,3.393,20196,4.794,20197,3.393,20198,4.965,20199,3.393,20200,4.965,20201,3.393,20202,4.965,20203,3.393,20204,4.965,20205,4.965,20206,3.081,20207,4.965,20208,3.393,20209,4.965,20210,2.975,20211,2.975,20212,6.867,20213,3.393,20214,3.393,20215,3.393,20216,3.393,20217,3.393,20218,6.867,20219,3.393,20220,5.468,20221,6.867,20222,3.393,20223,3.393,20224,3.393,20225,3.393,20226,3.393,20227,3.393,20228,3.393,20229,3.393,20230,3.393,20231,3.393,20232,3.393,20233,3.215,20234,3.393,20235,3.393,20236,3.393,20237,3.393,20238,3.393,20239,3.393,20240,3.393,20241,3.393,20242,3.393,20243,3.393,20244,3.393,20245,3.393,20246,5.468,20247,3.393,20248,5.468,20249,3.393,20250,5.468,20251,5.468,20252,5.468,20253,5.468,20254,11.019,20255,3.393,20256,3.664,20257,3.664,20258,3.664,20259,3.664]],["title/classes/SetHeightBodyParams.html",[0,0.239,4348,6.094]],["body/classes/SetHeightBodyParams.html",[0,0.418,2,1.072,3,0.019,4,0.019,5,0.009,7,0.142,27,0.396,30,0.001,32,0.126,55,2.432,95,0.138,101,0.013,103,0.001,104,0.001,112,0.946,190,1.809,194,3.941,195,2.651,196,4.008,197,3.369,200,3.087,202,2.314,296,3.166,3530,8.371,4348,10.629,20260,12.116,20261,10.074,20262,10.074,20263,10.074,20264,11.219]],["title/entities/ShareToken.html",[205,1.416,7453,4.814]],["body/entities/ShareToken.html",[0,0.235,3,0.013,4,0.013,5,0.006,7,0.152,26,2.513,27,0.497,30,0.001,32,0.157,33,0.577,34,1.167,49,4.882,83,3.143,95,0.139,96,2.485,97,2.788,101,0.012,103,0,104,0,112,0.736,125,2.244,145,2.561,148,0.932,153,1.546,159,0.702,176,5.886,183,3.596,190,2.266,195,2.762,196,3.849,205,1.922,206,2.222,210,7.496,223,3.918,224,1.985,225,3.621,229,2.703,231,1.184,232,1.852,233,2.133,238,5.241,239,5.746,248,5.117,249,5.746,540,2.4,886,3.661,2911,4.358,3620,4.769,3644,8.762,3885,4.45,4608,3.886,5435,7.059,5437,6.862,5443,5.746,6607,5.492,6612,7.359,6613,4.908,6616,4.347,6617,4.735,6705,5.998,6739,5.746,6740,5.548,6741,5.746,7453,6.533,7469,5.746,9180,4.818,11457,5.117,11527,5.746,11601,5.007,11757,6.328,11758,6.328,16318,8.063,16320,4.588,16321,4.522,20265,11.977,20266,6.328,20267,6.833,20268,6.833,20269,9.446,20270,6.833,20271,6.833,20272,6.833,20273,9.165,20274,6.833,20275,6.328,20276,8.27,20277,6.328,20278,6.328]],["title/classes/ShareTokenBodyParams.html",[0,0.239,20279,6.094]],["body/classes/ShareTokenBodyParams.html",[0,0.343,2,0.786,3,0.014,4,0.014,5,0.007,7,0.104,27,0.528,30,0.001,32,0.161,33,0.549,34,1.698,47,0.706,55,2.412,95,0.128,101,0.01,103,0,104,0,112,0.776,122,2.074,157,2.767,185,4.118,190,2.158,194,5.25,195,2.937,196,4.44,197,3.732,199,5.513,200,2.263,202,1.697,296,3.277,300,4.301,329,6.043,703,3.086,756,3.932,855,4.024,886,3.128,891,8.07,899,3.364,1147,7.624,2581,9.217,2879,7.83,3370,4.461,3885,5.304,4150,4.49,6224,6.48,6259,7.83,6607,5.304,7453,8.329,16318,8.692,16320,4.96,16321,4.889,20264,9.205,20279,8.721,20280,9.88,20281,7.386,20282,9.857,20283,9.857,20284,7.386,20285,9.94,20286,7.386,20287,8.632,20288,7.386,20289,7.386,20290,7.386,20291,9.94,20292,8.359,20293,7.386,20294,7.386]],["title/classes/ShareTokenContextTypeMapper.html",[0,0.239,20295,6.094]],["body/classes/ShareTokenContextTypeMapper.html",[0,0.325,2,1.004,3,0.018,4,0.018,5,0.009,7,0.133,8,1.342,27,0.371,29,0.723,30,0.001,31,0.528,32,0.145,33,0.431,35,1.092,95,0.144,101,0.012,103,0.001,104,0.001,134,3.334,135,1.519,148,0.933,153,1.91,277,1.355,467,3.676,579,2.7,1952,8.902,2769,6.356,3507,7.407,4110,6.913,7582,8.356,12276,9.789,12281,9.789,12295,8.737,12302,7.66,16315,8.278,16319,8.278,16320,6.336,16321,6.245,20269,10.703,20295,10.213,20296,11.641,20297,9.435]],["title/controllers/ShareTokenController.html",[314,2.659,20298,5.842]],["body/controllers/ShareTokenController.html",[0,0.18,3,0.01,4,0.01,5,0.005,7,0.073,8,0.895,27,0.365,29,0.71,30,0.001,31,0.519,32,0.178,33,0.424,35,1.073,36,2.436,95,0.149,100,1.818,101,0.007,103,0,104,0,135,1.502,148,0.917,176,5.197,190,1.665,202,1.197,228,0.944,274,2.178,277,0.748,314,1.994,316,2.514,317,2.714,325,6.333,333,5.211,337,4.768,340,3.357,342,7.518,345,7.378,349,6.492,379,6.378,388,3.976,390,6.059,391,8.212,392,2.724,393,2.572,395,2.802,398,2.823,400,1.552,401,5.184,402,4.739,649,3.275,650,4.23,657,2.121,675,2.653,734,3.257,871,4.022,1312,4.823,1351,5.211,1713,4.23,1714,3.901,1715,4.571,1723,2.963,2654,6.118,2923,4.915,3005,2.459,3181,6.659,3183,7.693,3185,3.901,3186,6.943,3189,7.518,3209,2.687,3211,4.27,3273,3.401,3286,3.201,3287,2.963,3507,4.937,3885,2.459,4030,4.668,6607,2.459,7116,6.112,7363,4.23,7453,5.377,9946,8.832,13233,4.825,13234,4.825,14307,6.3,16189,4.825,18054,5.951,19194,4.381,19209,4.571,19211,4.571,20279,9.012,20282,4.571,20283,4.571,20298,6.525,20299,10.273,20300,5.21,20301,8.586,20302,8.586,20303,8.586,20304,5.21,20305,8.832,20306,7.759,20307,5.21,20308,5.21,20309,5.21,20310,10.465,20311,9.012,20312,5.21,20313,5.21,20314,7.759,20315,5.21,20316,7.759,20317,5.21,20318,5.21,20319,5.21,20320,5.21,20321,5.21,20322,5.21,20323,4.571,20324,4.571,20325,7.527,20326,6.525,20327,6.525,20328,5.21,20329,5.21,20330,5.21,20331,5.21,20332,5.21,20333,5.21,20334,5.21,20335,5.21,20336,4.571,20337,5.21,20338,7.759,20339,5.21,20340,5.21,20341,5.21,20342,5.21,20343,5.21]],["title/classes/ShareTokenDO.html",[0,0.239,20344,5.328]],["body/classes/ShareTokenDO.html",[0,0.271,2,0.837,3,0.015,4,0.015,5,0.007,7,0.11,26,2.386,27,0.518,29,0.602,30,0.001,31,0.44,32,0.172,33,0.613,34,1.77,47,0.736,83,3.018,95,0.118,99,1.609,101,0.017,103,0.001,104,0.001,112,0.809,176,5.865,183,4.422,210,7.469,231,1.796,238,6.031,248,5.889,433,0.969,436,2.33,703,2.442,886,3.261,1723,6.592,1770,3.183,1852,7.267,1853,2.572,1936,3.692,2032,2.989,2928,3.599,3885,3.712,5412,4.511,5437,4.638,5729,4.472,5741,4.683,6607,3.712,6637,5.762,6705,5.003,7150,5.134,8165,8.163,8166,6.194,15170,6.613,16318,7.182,17827,6.384,20269,8.414,20273,9.131,20344,9.822,20345,13.151,20346,7.864,20347,10.364,20348,9.748,20349,7.864,20350,9.411,20351,7.864,20352,7.864,20353,7.282,20354,7.864,20355,7.864,20356,7.282]],["title/classes/ShareTokenFactory.html",[0,0.239,20357,6.433]],["body/classes/ShareTokenFactory.html",[0,0.31,2,0.957,3,0.017,4,0.017,5,0.008,7,0.126,8,1.303,26,2.668,27,0.354,29,0.689,30,0.001,31,0.504,32,0.112,33,0.411,34,1.929,35,1.041,49,3.394,59,2.792,95,0.148,99,1.84,101,0.012,103,0.001,104,0.001,135,1.173,148,1.118,153,1.853,176,5.716,231,1.958,514,6.122,516,6.549,571,3.557,574,5.07,575,5.158,1723,5.113,2084,6.231,2467,5.409,3329,6.458,3885,4.244,4463,5.587,6607,4.244,16318,6.231,16321,5.951,20305,6.896,20344,6.896,20357,11.44,20358,11.297,20359,8.991,20360,11.297,20361,11.297,20362,8.991,20363,8.991,20364,8.991,20365,8.991,20366,7.888]],["title/classes/ShareTokenImportBodyParams.html",[0,0.239,20311,6.094]],["body/classes/ShareTokenImportBodyParams.html",[0,0.385,2,0.94,3,0.017,4,0.017,5,0.008,7,0.124,27,0.44,30,0.001,31,0.626,32,0.139,33,0.511,34,1.908,47,0.914,95,0.14,101,0.012,103,0.001,104,0.001,112,0.872,153,1.833,157,2.572,176,6.199,185,3.828,190,2.006,194,5.037,195,2.818,196,4.259,197,3.581,200,2.706,202,2.029,296,3.201,298,3.821,299,4.776,300,4.276,2032,4.246,2884,6.721,5278,9.394,7121,10.75,7629,10.75,8031,7.171,8033,7.617,20280,9.651,20311,9.801,20367,8.833,20368,8.833,20369,11.171,20370,8.833,20371,8.833]],["title/interfaces/ShareTokenInfoDto.html",[159,0.714,20372,5.842]],["body/interfaces/ShareTokenInfoDto.html",[3,0.019,4,0.019,5,0.009,7,0.142,30,0.001,32,0.162,47,0.994,95,0.115,101,0.013,103,0.001,104,0.001,112,0.946,159,1.036,161,2.393,176,6.978,4664,9.329,6607,6.364,16318,9.343,16320,6.765,16321,6.668,20372,10.188,20373,10.074,20374,10.945]],["title/classes/ShareTokenInfoResponse.html",[0,0.239,20326,5.842]],["body/classes/ShareTokenInfoResponse.html",[0,0.3,2,0.925,3,0.017,4,0.017,5,0.008,7,0.122,27,0.504,29,0.666,30,0.001,31,0.487,32,0.16,33,0.398,47,0.909,95,0.139,101,0.011,103,0.001,104,0.001,112,0.864,176,7.153,190,2.184,202,1.998,238,6.672,296,3.454,298,3.763,433,1.364,821,4.429,886,2.737,3020,6.133,3023,6.875,3169,5.181,6607,6.24,6616,5.535,16318,9.161,16320,5.841,16321,5.757,20280,10.413,20326,11.117,20374,10.733,20375,8.699,20376,8.699,20377,8.699,20378,8.699,20379,8.699,20380,8.699]],["title/classes/ShareTokenInfoResponseMapper.html",[0,0.239,20323,6.094]],["body/classes/ShareTokenInfoResponseMapper.html",[0,0.331,2,1.023,3,0.024,4,0.018,5,0.009,7,0.135,8,1.358,27,0.378,29,0.737,30,0.001,31,0.539,32,0.12,33,0.439,35,1.113,95,0.134,100,4.11,101,0.013,103,0.001,104,0.001,135,1.254,148,0.951,153,1.577,176,6.442,467,3.707,829,5.671,830,6.533,837,4.748,1725,6.78,6607,4.539,15848,7.807,20323,10.333,20326,11.159,20336,8.436,20372,11.159,20374,7.807,20381,10.907,20382,11.778,20383,9.616,20384,9.616,20385,9.616]],["title/classes/ShareTokenParentTypeMapper.html",[0,0.239,20386,6.094]],["body/classes/ShareTokenParentTypeMapper.html",[0,0.322,2,0.994,3,0.018,4,0.018,5,0.009,7,0.131,8,1.335,27,0.368,29,0.716,30,0.001,31,0.523,32,0.144,33,0.427,35,1.082,95,0.143,101,0.012,103,0.001,104,0.001,134,3.303,135,1.51,148,0.925,153,1.899,277,1.343,467,3.661,579,2.675,1952,8.865,2769,6.319,3507,7.364,4110,6.849,7582,8.321,7676,7.86,12276,9.733,12281,9.733,12290,8.656,12297,8.2,12302,7.589,16315,8.2,16318,9.106,16319,8.2,16320,6.277,16321,6.186,16322,8.656,20386,10.154,20387,11.574,20388,9.347,20389,9.347]],["title/classes/ShareTokenPayloadResponse.html",[0,0.239,20390,6.094]],["body/classes/ShareTokenPayloadResponse.html",[0,0.318,2,0.981,3,0.017,4,0.017,5,0.008,7,0.129,27,0.492,29,0.706,30,0.001,31,0.516,32,0.156,33,0.421,47,0.815,95,0.131,101,0.012,103,0.001,104,0.001,112,0.896,176,6.615,190,2.06,202,2.118,296,3.416,433,1.136,886,2.901,1723,5.242,3169,5.49,3885,5.898,6607,5.898,6616,5.865,7188,7.261,16318,9.321,16320,6.19,16321,6.101,20280,10.299,20350,10.615,20390,10.067,20391,9.218,20392,11.475,20393,9.218,20394,9.218,20395,9.218,20396,8.537,20397,8.537]],["title/interfaces/ShareTokenProperties.html",[159,0.714,20276,6.094]],["body/interfaces/ShareTokenProperties.html",[0,0.245,3,0.013,4,0.013,5,0.007,7,0.155,26,2.777,30,0.001,32,0.159,33,0.584,34,1.215,49,5.092,83,3.445,95,0.141,96,2.554,97,2.901,101,0.013,103,0,104,0,112,0.757,125,2.306,145,2.666,148,0.958,153,1.589,159,0.731,161,1.689,176,6.263,183,2.713,195,2.411,196,3.645,205,1.975,210,7.976,223,3.844,224,2.066,225,3.722,229,2.813,231,1.233,232,1.927,233,2.22,238,5.454,239,5.98,248,5.325,249,5.98,540,2.497,886,3.467,2911,4.479,3620,3.598,3644,5.774,3885,5.844,4608,4.044,5437,7.301,5443,5.98,6607,5.844,6612,4.849,6613,5.108,6616,4.525,6617,4.928,6705,7.877,6739,5.98,6740,5.774,6741,5.98,7453,4.928,9180,5.014,11457,5.325,11527,5.98,11601,5.211,16318,8.579,16320,4.775,16321,4.707,20265,6.586,20266,6.586,20269,10.051,20273,9.752,20275,6.586,20276,9.668,20277,6.586,20278,6.586]],["title/injectables/ShareTokenRepo.html",[589,0.926,20398,5.64]],["body/injectables/ShareTokenRepo.html",[0,0.192,3,0.011,4,0.011,5,0.005,7,0.078,8,0.941,10,3.266,12,3.681,18,4.129,26,2.43,27,0.517,29,0.993,30,0.001,31,0.726,32,0.161,33,0.592,34,1.648,35,1.5,36,2.645,40,2.692,95,0.129,96,1.471,101,0.007,103,0,104,0,112,0.754,113,4.705,125,1.942,135,1.54,148,1.05,153,0.915,176,5.373,183,3.113,185,2.797,205,2.165,210,5.258,224,1.621,231,1.415,277,0.801,317,2.953,436,3.779,569,1.732,589,1.088,591,1.328,652,2.165,657,1.277,729,5.565,735,3.717,736,5.579,766,3.001,1723,4.641,1770,4.574,2139,3.201,2436,9.207,2438,5.862,2439,5.755,2440,5.755,2441,5.862,2442,5.755,2449,4.007,2451,4.007,2453,5.328,2454,5.565,2455,4.007,2461,8.323,2462,5.755,2465,4.007,2467,3.357,2468,3.467,2469,3.804,2471,4.007,2516,4.178,3885,3.853,4721,3.392,5437,4.814,6607,3.853,6705,5.193,6819,4.088,6820,4.088,6821,4.088,6822,4.088,6823,4.088,6824,4.088,6849,7.558,7453,8.449,10644,4.279,16011,4.692,16320,3.747,16321,3.693,20273,8.365,20344,9.351,20348,6.863,20350,6.626,20353,5.167,20356,5.167,20398,6.626,20399,9.651,20400,5.579,20401,8.162,20402,8.162,20403,5.579,20404,8.162,20405,5.579,20406,5.579,20407,5.579,20408,5.579,20409,5.579,20410,5.579,20411,5.579,20412,5.579,20413,8.162,20414,5.579,20415,5.579,20416,5.579,20417,5.579,20418,5.579,20419,5.579]],["title/classes/ShareTokenResponse.html",[0,0.239,20327,5.842]],["body/classes/ShareTokenResponse.html",[0,0.306,2,0.946,3,0.017,4,0.017,5,0.008,7,0.125,27,0.508,29,0.681,30,0.001,31,0.498,32,0.161,33,0.562,47,0.796,83,3.267,95,0.128,101,0.012,103,0.001,104,0.001,112,0.876,153,1.459,176,6.875,190,2.207,201,4.773,202,2.043,210,8.574,238,6.82,248,6.658,296,3.477,433,1.383,821,4.527,1723,7.34,17517,8.234,17827,7.219,20280,10.482,20305,6.82,20327,11.191,20390,10.782,20420,8.892,20421,8.892,20422,8.892,20423,8.892,20424,8.892,20425,8.892]],["title/classes/ShareTokenResponseMapper.html",[0,0.239,20324,6.094]],["body/classes/ShareTokenResponseMapper.html",[0,0.332,2,1.025,3,0.018,4,0.018,5,0.009,7,0.135,8,1.36,27,0.379,29,0.738,30,0.001,31,0.54,32,0.12,33,0.441,35,1.116,95,0.135,100,4.116,101,0.013,103,0.001,104,0.001,135,1.257,148,0.953,153,1.581,176,6.448,210,6.21,467,3.711,829,5.685,830,6.542,837,4.759,1723,5.481,7453,6.68,15848,7.826,16320,6.473,16321,6.38,20324,10.348,20327,11.168,20344,10.186,20381,10.923,20426,11.795,20427,9.639,20428,9.639,20429,8.926]],["title/injectables/ShareTokenService.html",[589,0.926,20430,5.64]],["body/injectables/ShareTokenService.html",[0,0.215,3,0.012,4,0.012,5,0.006,7,0.087,8,1.019,27,0.464,29,0.904,30,0.001,31,0.661,32,0.157,33,0.539,35,1.293,36,2.593,59,1.934,83,1.814,95,0.144,101,0.008,103,0,104,0,129,1.86,135,1.457,142,2.265,148,1.016,153,1.022,172,3.756,176,5.969,183,3.37,210,5.692,228,2.138,277,0.895,317,2.838,433,1.089,540,3.606,569,1.934,589,1.178,591,1.482,652,2.625,657,2.804,1393,5.839,1723,5.839,2017,8.341,2037,3.963,3290,5.238,3291,5.238,5690,8.593,5691,9.437,5894,6.796,7453,8.734,11325,4.777,13700,5.768,13708,5.768,16318,4.316,16320,4.183,16321,4.122,17875,5.465,20273,9.927,20344,9.049,20348,7.43,20350,9.071,20366,5.465,20374,9.578,20398,10.232,20429,8.182,20430,7.173,20431,12.254,20432,8.835,20433,10.268,20434,8.835,20435,8.835,20436,6.229,20437,9.949,20438,6.229,20439,8.835,20440,6.229,20441,6.229,20442,6.229,20443,8.835,20444,8.835,20445,6.229,20446,5.465,20447,5.465,20448,6.229,20449,6.229,20450,6.229,20451,6.229,20452,6.229,20453,6.229,20454,6.229,20455,5.768,20456,6.229,20457,5.768,20458,6.229,20459,5.768,20460,6.229]],["title/injectables/ShareTokenUC.html",[589,0.926,20325,5.64]],["body/injectables/ShareTokenUC.html",[0,0.103,3,0.006,4,0.006,5,0.003,7,0.042,8,0.574,26,2.636,27,0.446,29,0.868,30,0.001,31,0.634,32,0.149,33,0.518,34,0.851,35,1.281,36,2.396,39,3.425,47,0.983,55,1.506,59,2.329,83,2.185,95,0.138,99,0.61,100,1.04,101,0.004,102,3.403,103,0,104,0,122,1.566,125,1.186,129,2.24,135,1.578,141,3.58,148,0.948,153,1.648,172,2.118,176,5.281,183,2.862,194,1.949,210,1.919,228,1.82,277,0.428,290,2.135,317,2.858,433,0.614,540,2.635,569,0.925,571,1.97,579,2.742,589,0.664,591,0.709,595,1.124,610,1.174,652,2.746,657,2.885,675,1.517,693,2.924,1027,0.913,1086,2.377,1087,2.303,1088,2.339,1197,3.479,1268,3.945,1312,1.399,1393,6.683,1622,2.14,1723,5.713,1775,4.129,1778,6.562,1780,1.811,1783,3.945,1862,5.116,1908,7.547,1936,2.339,1961,4.514,2017,6.342,2026,5.258,2028,2.231,2032,2.44,2037,4.774,2046,3.73,2218,1.331,2219,1.498,2220,1.445,2445,2.672,2446,3.504,2602,3.028,2653,1.377,2879,3.924,2922,1.724,2928,2.28,3245,4.189,3246,5.212,3252,7.547,3253,8.057,3261,5.91,3273,3.252,3286,1.831,3287,1.694,3290,2.505,3291,2.505,3337,2.614,3338,2.614,3340,2.614,3341,6.309,3507,1.895,3620,1.507,3924,4.249,4110,2.183,4115,4.611,4212,1.74,4873,2.14,5437,1.757,5705,4.61,5894,7.132,6607,4.523,6705,1.895,6943,2.14,7121,8.406,7453,5.199,7608,7.779,7610,4.189,7628,8.156,7629,9.71,7667,4.189,7671,4.613,7677,2.759,7681,4.716,10203,2.419,11325,2.285,14309,4.189,15426,4.613,16318,6.64,16320,2,16321,1.972,18302,2.505,20143,5.945,20269,2.419,20282,2.614,20283,2.614,20295,2.614,20301,6.948,20302,6.948,20303,5.945,20325,4.044,20336,4.37,20344,2.285,20348,7.02,20350,7.779,20366,6.582,20372,4.189,20374,4.044,20386,2.614,20396,2.759,20397,2.759,20430,7.328,20455,6.948,20457,6.948,20459,6.948,20461,11.551,20462,2.979,20463,4.981,20464,4.981,20465,4.981,20466,4.981,20467,2.979,20468,2.979,20469,4.981,20470,2.979,20471,4.981,20472,2.979,20473,4.981,20474,2.979,20475,4.981,20476,2.979,20477,2.979,20478,2.979,20479,2.759,20480,2.979,20481,2.979,20482,2.979,20483,2.979,20484,2.979,20485,4.981,20486,2.979,20487,4.981,20488,2.979,20489,2.979,20490,2.979,20491,2.979,20492,4.981,20493,2.979,20494,4.981,20495,2.979,20496,6.42,20497,2.979,20498,2.979,20499,2.979,20500,2.979,20501,2.979,20502,4.981,20503,4.981,20504,7.503,20505,2.979,20506,2.979,20507,6.42,20508,4.981,20509,2.979,20510,2.979,20511,2.979,20512,4.981,20513,2.979,20514,4.613,20515,4.981,20516,4.981,20517,2.979,20518,4.981,20519,4.981,20520,2.979,20521,2.979,20522,2.979,20523,2.979,20524,6.42,20525,5.632,20526,2.979,20527,6.42,20528,2.979,20529,2.979,20530,2.979]],["title/classes/ShareTokenUrlParams.html",[0,0.239,20310,6.094]],["body/classes/ShareTokenUrlParams.html",[0,0.411,2,1.045,3,0.019,4,0.019,5,0.009,7,0.138,27,0.387,30,0.001,32,0.122,47,0.847,95,0.136,101,0.013,103,0.001,104,0.001,112,0.932,157,2.262,176,6.93,185,4.09,190,1.764,194,4.669,195,2.612,196,3.948,197,3.319,200,3.011,202,2.258,296,3.119,299,4.652,308,7.201,20280,9.401,20287,8.573,20310,10.471,20531,9.828,20532,11.935,20533,9.828]],["title/modules/SharingApiModule.html",[252,1.836,20196,5.64]],["body/modules/SharingApiModule.html",[0,0.348,3,0.014,4,0.014,5,0.007,30,0.001,95,0.159,101,0.013,103,0,104,0,252,3.205,254,2.721,255,2.881,256,2.955,257,2.944,258,2.933,259,4.411,260,3.757,265,6.137,269,3.947,270,2.902,271,2.841,274,4.75,276,4.445,277,1.085,610,2.977,1027,2.314,1856,7.616,1902,9.727,1907,9.36,1936,3.547,2653,3.492,2928,3.457,3005,3.565,3859,4.931,8974,9.36,12169,5.793,12170,5.793,15133,9.941,20196,11.742,20298,9.555,20325,10.556,20398,8.192,20430,9.225,20437,8.192,20446,6.626,20447,6.626,20534,7.553,20535,7.553,20536,7.553,20537,11.407,20538,6.994,20539,6.994,20540,6.994]],["title/modules/SharingModule.html",[252,1.836,20537,6.094]],["body/modules/SharingModule.html",[0,0.342,3,0.014,4,0.014,5,0.007,30,0.001,95,0.158,101,0.013,103,0,104,0,252,3.171,254,2.651,255,2.807,256,2.879,257,2.868,258,2.858,259,4.365,260,4.175,265,6.097,269,3.879,270,2.827,271,2.768,274,4.145,276,4.387,277,1.057,610,2.9,1027,2.255,1856,7.566,1902,9.664,1907,9.299,1936,3.455,2653,3.402,2928,3.368,3005,3.474,3859,4.804,8974,9.299,12169,5.644,12170,5.644,15133,9.876,20196,5.975,20298,8.338,20325,8.05,20398,10.477,20430,11.33,20437,10.477,20446,6.456,20447,6.456,20537,12.764,20538,6.815,20539,6.815,20540,6.815,20541,7.359,20542,7.359,20543,7.359,20544,7.359]],["title/classes/SingleColumnBoardResponse.html",[0,0.239,19091,5.842]],["body/classes/SingleColumnBoardResponse.html",[0,0.246,2,0.761,3,0.014,4,0.014,5,0.007,7,0.1,27,0.504,29,0.548,30,0.001,31,0.4,32,0.168,33,0.327,34,1.661,47,0.908,95,0.126,101,0.009,103,0,104,0.001,112,0.759,122,2.475,125,1.702,155,4.153,157,2.945,190,2.227,202,1.643,223,3.019,296,3.343,298,3.093,304,4.801,433,1.198,821,3.64,866,3.551,868,5.302,896,6.935,1083,5.483,1132,8.595,1829,3.039,1835,4.983,2050,5.81,2934,6.989,3010,10.311,3023,6.042,3025,3.43,3166,5.192,3167,5.192,3711,9.972,4047,7.797,4420,6.272,5729,5.53,5741,5.791,6284,10.404,7448,6.53,7794,5.632,7798,7.659,8360,5.483,8400,8.88,8573,6.272,9636,6.272,9735,10.43,19091,10.43,20545,7.15,20546,7.15,20547,7.15,20548,7.15,20549,7.15,20550,7.15,20551,7.15,20552,5.483,20553,7.15,20554,7.15]],["title/classes/SingleFileParams.html",[0,0.239,7219,4.737]],["body/classes/SingleFileParams.html",[0,0.473,2,0.705,3,0.013,4,0.018,5,0.009,7,0.093,26,2.64,27,0.261,30,0.001,32,0.15,39,1.835,47,0.974,95,0.146,99,1.357,101,0.018,103,0,104,0,110,2.293,112,0.721,122,1.926,157,1.526,159,0.682,190,1.19,195,1.451,199,5.12,200,2.031,201,4.46,202,1.523,203,6.199,205,1.352,296,3.704,298,2.868,299,4.873,300,4.396,403,3.354,855,5.061,856,6.37,886,3.342,899,3.019,1078,2.907,1080,2.286,1169,3.838,1237,1.955,1290,5.948,1291,4.388,1292,4.388,2980,4.813,3170,4.961,3885,3.13,4541,2.314,5213,6.676,6330,4.595,6607,3.13,6788,6.494,7149,6.476,7151,4.328,7152,7.779,7157,4.381,7171,6.11,7201,4.595,7202,4.675,7203,4.675,7208,4.595,7209,8.275,7210,8.098,7211,8.098,7212,4.675,7213,4.595,7214,4.595,7215,4.675,7216,4.521,7217,7.831,7218,4.452,7219,6.295,7220,4.595,7221,4.521,7222,4.272,7223,4.675,7224,4.675,7225,4.675,7226,4.272,7227,4.272,7228,4.388,7229,4.521,7230,4.675,20555,6.63]],["title/classes/SortExternalToolParams.html",[0,0.239,10781,5.842]],["body/classes/SortExternalToolParams.html",[0,0.394,2,0.974,3,0.017,4,0.017,5,0.008,7,0.129,27,0.45,30,0.001,31,0.64,32,0.142,33,0.522,34,1.951,95,0.142,101,0.015,103,0.001,104,0.001,112,0.892,129,2.734,130,2.504,190,2.051,200,2.805,201,4.437,202,2.103,231,1.98,298,3.961,300,4.374,436,3.386,770,8.199,790,6.243,886,3.595,899,4.169,2669,4.149,2671,2.953,3297,9.553,4786,10.898,4790,7.699,4791,8.032,10236,7.433,10781,9.608,20556,9.155,20557,13.423,20558,9.155,20559,8.478,20560,9.155]],["title/classes/SortHelper.html",[0,0.239,20561,6.433]],["body/classes/SortHelper.html",[0,0.29,2,0.894,3,0.016,4,0.016,5,0.008,7,0.118,8,1.248,27,0.331,29,0.829,30,0.001,31,0.471,32,0.135,33,0.384,35,0.973,47,0.768,55,2.626,95,0.096,101,0.011,103,0.001,104,0.001,125,3.009,145,3.152,148,0.832,467,3.486,532,5.055,595,3.173,711,2.491,756,4.282,770,8.676,1675,8.303,2231,7.849,2964,9.564,7938,6.448,20561,10.024,20562,10.825,20563,7.376,20564,10.825,20565,10.825,20566,8.407,20567,8.407]],["title/classes/SortImportUserParams.html",[0,0.239,13877,5.842]],["body/classes/SortImportUserParams.html",[0,0.394,2,0.974,3,0.017,4,0.017,5,0.008,7,0.129,27,0.45,30,0.001,32,0.142,33,0.522,95,0.149,101,0.015,103,0.001,104,0.001,112,0.892,129,2.734,130,2.504,190,2.051,200,2.805,201,4.437,202,2.103,231,1.98,298,3.961,300,4.374,436,3.386,700,5.513,701,5.513,770,8.199,790,6.243,886,3.595,899,4.169,3297,9.553,4786,10.898,4790,7.699,4791,8.032,4923,4.19,12370,7.699,13877,9.608,13987,12.43,20559,8.478,20568,9.155,20569,9.155,20570,9.155]],["title/classes/SortingParams.html",[0,0.239,4786,5.64]],["body/classes/SortingParams.html",[0,0.394,2,1.325,3,0.017,4,0.017,5,0.008,7,0.129,9,6.061,27,0.45,30,0.001,32,0.162,33,0.522,95,0.13,101,0.012,103,0.001,104,0.001,112,0.892,129,2.734,130,2.504,190,2.236,200,2.805,201,4.437,202,2.103,300,4.374,532,4.24,567,4.343,770,8.824,790,7.791,886,3.595,899,4.169,3297,9.553,3929,9.608,4786,9.276,4790,7.699,5293,9.276,20571,9.155,20572,9.155,20573,11.426,20574,9.155,20575,9.155]],["title/injectables/StartUserLoginMigrationUc.html",[589,0.926,20576,5.842]],["body/injectables/StartUserLoginMigrationUc.html",[0,0.228,3,0.013,4,0.013,5,0.006,7,0.093,8,1.065,26,2.64,27,0.418,29,0.814,30,0.001,31,0.595,32,0.132,33,0.485,35,1.069,36,2.43,39,2.555,47,0.887,95,0.154,99,1.357,101,0.009,103,0,104,0,135,1.385,142,2.411,148,0.656,153,1.514,180,5.585,183,3.521,228,2.081,290,3.034,317,2.709,433,1.138,478,1.861,579,2.642,589,1.231,591,1.578,595,2.503,610,2.613,652,2.615,657,2.763,693,3.019,703,3.297,1027,2.031,1422,2.716,1775,5.08,1780,4.03,1853,2.168,1862,6.849,1961,3.989,2065,7.601,2067,7.36,2069,3.949,2070,5.445,2072,5.575,2445,5.34,2653,3.065,2658,4.858,4541,4.566,4923,5.256,4925,5.383,4927,5.383,4928,9.161,4934,4.858,4935,5.873,4937,7.22,4938,5.383,4941,5.575,10403,4.858,16347,5.383,18833,5.575,18837,6.14,20041,5.575,20576,7.763,20577,11.485,20578,9.232,20579,8.099,20580,6.63,20581,9.232,20582,6.63,20583,9.232,20584,6.63,20585,5.383,20586,6.63,20587,6.63,20588,6.63,20589,8.099,20590,6.14,20591,5.817,20592,6.63]],["title/classes/StatelessAuthorizationParams.html",[0,0.239,17492,6.094]],["body/classes/StatelessAuthorizationParams.html",[0,0.388,2,0.95,3,0.017,4,0.017,5,0.008,7,0.125,27,0.509,30,0.001,32,0.161,33,0.638,47,0.966,95,0.128,101,0.012,103,0.001,104,0.001,112,0.879,190,2.321,200,2.737,299,5.039,300,5.101,442,9.133,856,6.24,899,4.067,998,5.813,1080,4.246,1888,9.701,1889,11.405,1890,8.271,1892,11.405,1893,8.271,1898,8.271,1899,5.83,1900,8.271,1901,8.271,17492,9.87,20593,13.325,20594,8.931,20595,8.931,20596,8.931,20597,8.931,20598,8.931]],["title/classes/StorageProviderEncryptedStringType.html",[0,0.239,20599,5.842]],["body/classes/StorageProviderEncryptedStringType.html",[0,0.241,2,0.743,3,0.013,4,0.013,5,0.006,7,0.098,8,1.104,27,0.462,29,0.837,30,0.001,31,0.612,32,0.167,33,0.499,35,1.108,47,1.021,59,2.169,95,0.125,96,1.842,101,0.009,103,0,104,0,112,0.748,125,3.024,130,3.476,135,1.249,142,3.482,145,3.588,148,1.257,157,1.609,158,3.528,224,2.03,231,1.659,233,2.181,433,0.861,610,2.754,622,8.601,652,2.226,1561,8.282,1718,5.12,1829,2.971,1834,8.001,1927,5.646,2124,5.789,2218,3.121,2219,3.513,2220,3.391,2221,4.393,5277,7.014,6671,8.177,7500,5.019,8119,7.014,9846,8.398,9847,9.183,15869,5.876,20599,8.05,20600,6.988,20601,8.865,20602,9.573,20603,9.573,20604,9.573,20605,9.573,20606,9.573,20607,10.919,20608,9.573,20609,6.988,20610,9.573,20611,6.988,20612,6.988,20613,6.988,20614,9.573,20615,8.865,20616,9.573,20617,6.988,20618,6.471,20619,9.573,20620,6.988,20621,6.471]],["title/entities/StorageProviderEntity.html",[205,1.416,5162,5.202]],["body/entities/StorageProviderEntity.html",[0,0.287,3,0.016,4,0.016,5,0.008,7,0.117,27,0.496,30,0.001,32,0.166,33,0.491,47,1.009,95,0.136,96,2.194,101,0.014,103,0.001,104,0.001,112,0.84,159,0.855,190,2.261,195,2.353,196,2.752,205,2.192,206,2.706,211,4.615,223,4.219,224,2.417,225,4.131,226,3.771,229,3.291,231,1.442,232,2.255,233,2.597,2911,3.846,5162,8.052,5170,7.3,5435,6.231,7247,8.587,7249,8.587,7250,9.106,20599,10.018,20622,7.705,20623,11.662,20624,8.32,20625,8.32,20626,8.32,20627,8.32,20628,7.705,20629,9.433,20630,7.705,20631,7.705,20632,7.705,20633,7.705,20634,7.705,20635,7.705,20636,7.705,20637,7.705]],["title/interfaces/StorageProviderProperties.html",[159,0.714,20629,6.094]],["body/interfaces/StorageProviderProperties.html",[0,0.297,3,0.016,4,0.016,5,0.008,7,0.121,30,0.001,32,0.164,33,0.502,47,1.029,95,0.138,96,2.269,101,0.014,103,0.001,104,0.001,112,0.858,159,0.885,161,2.044,195,1.883,196,2.847,205,2.24,223,4.091,224,2.5,225,4.221,226,3.9,229,3.404,231,1.492,232,2.332,233,2.686,2911,3.978,5162,6.444,5170,7.55,7247,8.985,7249,8.985,7250,9.188,20599,9.24,20622,7.969,20623,12.202,20628,7.969,20629,10.62,20630,7.969,20631,7.969,20632,7.969,20633,7.969,20634,7.969,20635,7.969,20636,7.969,20637,7.969]],["title/injectables/StorageProviderRepo.html",[589,0.926,8908,5.842]],["body/injectables/StorageProviderRepo.html",[0,0.26,3,0.014,4,0.014,5,0.007,7,0.106,8,1.162,10,4.032,12,4.545,18,5.099,26,2.074,27,0.522,29,0.968,30,0.001,31,0.707,32,0.157,33,0.577,34,1.288,35,1.462,36,2.672,40,3.637,49,3.804,95,0.138,96,1.988,97,3.076,101,0.01,103,0,104,0,135,0.983,148,0.997,205,1.537,206,3.277,228,1.366,231,1.747,259,3.665,277,1.083,317,2.958,433,0.929,436,3.591,478,2.116,532,5.161,589,1.344,591,1.794,728,7.681,734,4.23,735,4.589,736,5.605,759,4.49,760,4.583,761,4.535,762,4.583,763,5.224,764,4.535,765,4.583,766,4.055,2443,5.415,2444,6.721,2448,7.238,2479,5.14,3950,5.315,5162,7.547,6832,5.782,8908,8.475,15317,9.545,20638,7.539,20639,7.539,20640,7.539,20641,7.539,20642,7.539]],["title/classes/StringValidator.html",[0,0.239,13986,5.472]],["body/classes/StringValidator.html",[0,0.3,2,0.925,3,0.017,4,0.017,5,0.008,7,0.122,8,1.276,27,0.435,29,0.848,30,0.001,31,0.62,32,0.138,33,0.506,35,1.281,47,0.996,59,3.435,101,0.011,103,0.001,104,0.001,122,2.309,129,2.597,130,3.696,135,1.443,141,5.491,142,3.164,145,4.147,148,1.267,195,2.421,197,3.561,299,4.312,467,3.935,1675,5.233,13986,8.715,14146,11.233,20615,8.056,20643,8.699,20644,11.064,20645,11.064,20646,8.699,20647,11.064,20648,8.699,20649,8.699,20650,8.699]],["title/entities/Submission.html",[205,1.416,3128,3.133]],["body/entities/Submission.html",[0,0.161,3,0.009,4,0.009,5,0.004,7,0.147,26,2.154,27,0.488,30,0.001,32,0.159,33,0.541,34,0.796,47,0.815,55,1.739,62,2.775,72,2.133,95,0.135,96,1.229,101,0.009,103,0,104,0,112,0.758,122,2.63,125,2.31,129,1.391,130,1.275,134,1.647,135,1.722,148,1.172,153,1.592,159,0.479,190,2.225,195,2.592,196,3.461,197,1.983,205,1.454,206,1.515,211,4.806,219,3.988,223,3.678,224,1.353,225,2.74,226,2.112,229,1.843,231,0.808,232,1.263,233,1.454,277,0.669,290,2.802,578,2.436,579,1.334,652,1.454,692,4.939,703,3.014,711,3.27,813,2.606,962,3.285,985,2.697,998,2.2,1312,3.349,1821,2.261,1921,3.229,1923,3.129,1929,3.347,1938,2.506,2090,3.918,2911,5.729,2915,3.956,2919,2.584,2928,5.672,2929,2.929,3128,3.908,3384,6.331,3705,3.002,3706,3.285,3993,2.722,4069,6.619,4074,6.619,4082,5.998,4084,5.998,4541,1.626,4858,3.002,5670,3.349,6148,7.055,6149,3.129,6174,5.029,6175,5.029,6182,5.029,6183,3.285,6606,3.956,7494,2.895,7495,2.627,7511,5.123,7515,2.929,7516,2.833,7720,3.177,7721,4.315,7830,4.656,10529,7.269,16149,7.113,20651,4.315,20652,8.989,20653,9.658,20654,4.66,20655,4.66,20656,4.66,20657,4.66,20658,4.66,20659,4.66,20660,6.605,20661,4.66,20662,4.66,20663,6.257,20664,4.66,20665,4.66,20666,4.66,20667,5.998,20668,4.315,20669,4.315,20670,4.315,20671,4.315,20672,4.315,20673,3.783,20674,4.315,20675,4.315,20676,4.315,20677,3.918,20678,4.315,20679,4.315,20680,4.315,20681,4.315,20682,4.315,20683,4.315,20684,9.689,20685,4.315,20686,4.315,20687,4.315,20688,4.315,20689,4.315,20690,4.315,20691,8.989,20692,4.315,20693,6.488,20694,3.783,20695,10.22,20696,6.605,20697,3.918,20698,6.605,20699,3.574,20700,3.67,20701,4.315,20702,4.315,20703,4.315,20704,4.315,20705,6.605,20706,6.605,20707,4.315,20708,4.315,20709,4.315,20710,4.315,20711,6.488,20712,3.783,20713,3.918,20714,6.605]],["title/classes/SubmissionContainerContentBody.html",[0,0.239,6450,4.535]],["body/classes/SubmissionContainerContentBody.html",[0,0.471,2,0.576,3,0.01,4,0.01,5,0.005,7,0.076,9,2.516,27,0.213,30,0.001,31,0.676,32,0.173,33,0.365,47,0.898,83,2.325,95,0.127,99,1.108,101,0.018,103,0,104,0,110,1.872,112,0.623,130,3.304,155,1.717,157,2.41,190,0.972,195,1.185,200,1.659,201,3.683,202,1.244,223,1.681,231,2.024,296,3.692,299,4.932,300,4.47,339,1.588,360,3.106,854,5.018,855,3.231,886,1.703,899,2.465,1232,3.134,1749,4.54,1853,1.771,2048,3.854,2392,4.454,2881,2.583,2887,6.641,3128,3.6,3170,2.529,3533,3.193,3535,3.193,3538,3.163,3541,4.924,3545,4.892,3550,3.027,4018,3.327,4039,3.327,4438,5.435,6350,5.961,6352,6.034,6354,5.961,6356,6.659,6358,6.034,6360,6.034,6408,3.488,6445,6.191,6446,6.191,6447,6.191,6448,6.191,6449,6.191,6450,6.833,6788,6.667,7952,3.534,8021,4.553,8022,4.664,9565,5.361,9566,3.635,9568,8.204,9569,6.191,9570,6.191,9571,6.191,9572,3.635,9573,6.191,9574,4.905,9575,5.284,9576,6.191,9577,6.833,9578,3.534,9579,3.534,9580,3.534,9581,3.534,9582,3.635,9583,3.635,9584,3.635,9585,3.635,9586,3.635,9587,3.635,20715,5.414]],["title/classes/SubmissionContainerElement.html",[0,0.239,3118,4.42]],["body/classes/SubmissionContainerElement.html",[0,0.22,2,0.681,3,0.012,4,0.012,5,0.006,7,0.09,8,1.038,27,0.526,29,0.973,30,0.001,31,0.711,32,0.164,33,0.58,35,1.501,36,1.905,55,1.807,59,1.986,83,3.47,95,0.119,101,0.014,103,0,104,0,112,0.703,113,3.589,122,2.174,130,2.463,134,2.261,135,0.834,142,4.334,148,1.031,158,2.358,159,0.658,189,5.533,231,1.806,317,2.257,435,3.142,436,3.842,527,2.708,532,3.341,567,2.432,569,3.7,653,3.718,657,1.464,711,2.668,735,4.1,1770,4.577,1773,6.402,1842,4.1,2050,2.697,2635,6.374,2648,5.362,3027,7.929,3030,6.348,3031,6.348,3032,6.348,3033,5.878,3034,6.348,3036,4.022,3037,5.473,3038,6.606,3040,6.24,3041,5.473,3042,6.487,3044,4.433,3045,4.807,3047,6.549,3048,4.433,3050,6.467,3052,4.433,3054,4.022,3081,5.417,3118,7.194,3128,2.885,3129,6.333,3130,5.194,3545,5.832,4299,6.467,4300,4.595,4301,4.595,4310,3.975,4315,5.533,5376,5.613,5377,5.924,9589,4.433,18868,5.924,18870,5.924,20716,8.459,20717,6.397,20718,6.397,20719,8.338,20720,5.924,20721,5.924,20722,5.924,20723,5.613,20724,5.924]],["title/classes/SubmissionContainerElementContent.html",[0,0.239,20725,5.842]],["body/classes/SubmissionContainerElementContent.html",[0,0.366,2,0.867,3,0.015,4,0.015,5,0.008,7,0.115,27,0.418,29,0.625,30,0.001,31,0.456,32,0.165,33,0.373,34,2.015,47,0.837,83,3.867,95,0.135,101,0.014,103,0.001,104,0.001,112,0.829,142,4.545,157,2.443,190,1.464,202,1.873,296,3.47,304,4.025,433,1.454,458,3.261,567,4.033,821,4.15,866,4.049,886,2.565,1853,2.666,2108,3.558,2392,4.5,2614,6.45,2895,6.828,3129,7.171,3166,4.352,3167,4.352,3170,3.807,3545,6.976,3712,5.558,3724,4.807,3972,6.087,3976,5.321,3978,5.321,4358,8.138,4438,6.125,6358,5.186,9615,6.855,20725,11.169,20726,10.924,20727,9.309,20728,9.826,20729,9.826,20730,8.151,20731,6.252]],["title/classes/SubmissionContainerElementContentBody.html",[0,0.239,9576,4.535]],["body/classes/SubmissionContainerElementContentBody.html",[0,0.47,2,0.57,3,0.01,4,0.01,5,0.005,7,0.075,9,2.489,27,0.312,30,0.001,31,0.674,32,0.175,47,0.896,83,1.56,95,0.127,99,1.096,101,0.018,103,0,104,0,110,1.852,112,0.619,125,1.275,130,3.292,155,1.699,157,2.397,190,1.422,195,1.172,200,1.641,201,3.66,202,1.23,223,1.663,231,2.086,296,3.688,299,4.918,300,4.453,339,1.571,360,3.073,436,1.587,854,4.979,855,3.206,866,2.66,886,1.685,899,2.439,1232,3.1,1749,3.046,1853,1.752,2048,3.83,2392,4.713,2881,2.556,2887,6.615,3128,2.415,3170,2.502,3533,3.159,3535,3.159,3538,3.129,3541,4.893,3545,2.763,3550,2.995,4018,3.291,4039,3.291,4438,5.407,6350,5.924,6352,5.996,6354,5.924,6356,6.625,6358,6.625,6360,5.996,6408,3.451,6445,6.152,6446,6.152,6447,6.152,6448,6.152,6449,6.152,6450,6.797,6788,6.646,7952,3.496,8022,3.129,9565,5.318,9566,3.597,9568,8.496,9569,6.152,9570,6.152,9571,6.152,9572,3.597,9573,6.152,9574,3.291,9575,3.545,9576,6.797,9577,6.797,9578,3.496,9579,3.496,9580,3.496,9581,3.496,9582,3.597,9583,3.597,9584,3.597,9585,3.597,9586,3.597,9587,3.597,9617,4.108,20732,5.356,20733,5.356]],["title/entities/SubmissionContainerElementNode.html",[205,1.416,3467,5.472]],["body/entities/SubmissionContainerElementNode.html",[0,0.305,3,0.017,4,0.017,5,0.008,7,0.124,27,0.348,30,0.001,32,0.11,83,3.572,95,0.147,96,2.334,101,0.015,103,0.001,104,0.001,112,0.874,134,3.128,135,1.155,142,4.461,148,0.876,159,0.91,190,1.589,195,2.448,196,2.928,205,2.28,206,2.879,211,4.91,223,3.473,224,2.571,231,1.939,232,2.399,457,4.91,1770,4.965,2048,4.546,2108,3.864,2635,5.338,2688,4.991,3129,6.801,3419,5.973,3429,6.663,3467,8.812,3501,5.381,3528,9.815,3545,6.647,3874,6.801,3894,5.44,4401,5.565,4403,5.565,9621,7.444,20731,6.789,20734,9.407,20735,9.815,20736,7.187,20737,8.198]],["title/interfaces/SubmissionContainerElementProps.html",[159,0.714,20723,6.094]],["body/interfaces/SubmissionContainerElementProps.html",[0,0.295,3,0.016,4,0.016,5,0.008,7,0.12,30,0.001,32,0.136,36,1.809,83,3.829,95,0.138,101,0.016,103,0.001,104,0.001,112,0.855,122,1.784,130,2.339,134,3.022,135,1.115,142,4.783,148,1.194,158,3.151,159,0.879,161,2.031,231,2.092,317,1.852,527,3.62,567,3.25,569,2.655,653,4.519,657,1.956,1770,3.461,1842,4.984,2050,3.604,2635,5.222,2648,6.517,3027,6.583,3037,5.198,3038,6.393,3041,5.198,3042,6.278,3050,6.141,3081,7.26,3118,7.678,3128,3.856,3129,5.198,3130,6.942,3545,6.783,4310,5.313,4315,6.724,9589,5.926,20716,6.942,20719,10.134,20720,7.918,20721,7.918,20722,7.918,20723,9.601,20724,7.918]],["title/classes/SubmissionContainerElementResponse.html",[0,0.239,4358,5.328]],["body/classes/SubmissionContainerElementResponse.html",[0,0.353,2,0.82,3,0.015,4,0.015,5,0.007,7,0.108,27,0.501,29,0.591,30,0.001,31,0.432,32,0.174,33,0.353,34,2.173,47,0.815,83,3.343,95,0.131,101,0.013,103,0,104,0,112,0.799,142,3.721,157,1.776,190,2.196,202,1.772,296,3.541,304,3.808,433,1.415,458,3.086,567,2.932,821,3.927,886,2.427,1853,2.523,2108,3.367,2392,4.854,2614,4.689,2895,7.366,3129,7.951,3165,5.035,3166,5.463,3167,5.463,3169,4.593,3170,4.779,3545,6.308,3712,5.259,3724,4.549,3972,6.587,3976,5.035,3978,5.035,4358,9.76,4438,6.608,6358,6.51,11500,7.142,11512,7.142,11513,7.142,11515,7.142,20725,10.283,20726,12.112,20727,6.767,20728,7.142,20729,7.142,20731,5.915,20738,7.713]],["title/classes/SubmissionContainerElementResponseMapper.html",[0,0.239,6385,6.094]],["body/classes/SubmissionContainerElementResponseMapper.html",[0,0.263,2,0.813,3,0.014,4,0.014,5,0.007,7,0.107,8,1.172,27,0.479,29,0.779,30,0.001,31,0.569,32,0.152,33,0.465,34,1.305,35,1.323,95,0.13,100,2.666,101,0.01,103,0,104,0,112,0.794,122,2.122,135,0.996,141,4.36,148,1.13,153,2.081,430,3.129,467,3.798,652,2.329,653,3.154,711,2.264,829,4.505,830,5.639,833,6.202,835,5.859,1237,2.998,1853,2.499,2048,5.495,2139,4.382,2392,2.914,2626,8.373,2629,7.798,2630,7.798,2632,7.613,2895,4.422,3118,8.604,3129,7.711,3545,5.244,3972,5.832,3988,5.386,4358,9.343,4438,3.967,5868,7.101,6358,4.86,6379,5.859,6385,11.68,9630,9.123,9631,6.017,9638,6.017,9639,6.017,9640,6.017,20725,9.609,20739,11.747,20740,7.074,20741,11.427,20742,11.427,20743,7.639]],["title/interfaces/SubmissionContainerNodeProps.html",[159,0.714,20735,6.094]],["body/interfaces/SubmissionContainerNodeProps.html",[0,0.307,3,0.017,4,0.017,5,0.008,7,0.125,30,0.001,32,0.111,83,3.761,95,0.147,96,2.349,101,0.015,103,0.001,104,0.001,112,0.877,134,3.149,135,1.162,142,4.698,148,0.882,159,0.916,161,2.116,195,1.95,196,2.948,205,2.29,223,3.488,224,2.588,231,2.132,232,2.415,457,4.943,1770,4.98,2048,3.621,2108,3.89,2635,5.36,2688,5.025,3129,5.417,3419,5.998,3429,6.691,3467,7.019,3501,5.417,3528,9.856,3545,6.869,3874,7.479,3894,5.476,4401,5.602,4403,5.602,20731,6.835,20734,7.494,20735,10.793,20736,7.235,20737,8.252]],["title/classes/SubmissionContainerUrlParams.html",[0,0.239,4007,6.094]],["body/classes/SubmissionContainerUrlParams.html",[0,0.411,2,1.045,3,0.019,4,0.019,5,0.009,7,0.138,27,0.387,30,0.001,32,0.122,34,2.039,47,0.847,95,0.136,101,0.013,103,0.001,104,0.001,112,0.932,157,2.262,190,1.764,194,4.669,195,2.612,196,3.948,197,3.319,200,3.011,202,2.258,296,3.119,855,4.831,3128,5.383,3129,7.255,4007,10.471,4150,5.974,8037,9.401,20744,10.471,20745,9.828,20746,11.904,20747,9.828]],["title/controllers/SubmissionController.html",[314,2.659,20748,6.094]],["body/controllers/SubmissionController.html",[0,0.271,3,0.015,4,0.015,5,0.007,7,0.11,8,1.195,10,4.638,27,0.408,29,0.794,30,0.001,31,0.58,32,0.129,33,0.474,35,1.2,36,2.607,95,0.15,100,2.744,101,0.01,103,0.001,104,0.001,135,1.607,141,4.444,148,1.025,153,1.29,190,1.861,202,1.807,228,1.425,274,3.287,277,1.13,314,3.01,316,3.794,317,2.849,325,6.66,326,4.406,349,6.929,388,4.444,392,4.111,395,4.23,398,4.261,400,2.342,657,2.371,675,4.004,3005,3.712,3189,6.766,3209,4.056,3993,6.055,15404,6.613,15410,6.613,20748,9.092,20749,7.864,20750,11.592,20751,10.811,20752,10.364,20753,7.864,20754,7.864,20755,10.362,20756,10.364,20757,7.864,20758,6.899,20759,9.748,20760,6.613,20761,7.864,20762,7.864,20763,7.864,20764,7.864,20765,7.864,20766,7.282,20767,7.864,20768,10.364,20769,7.864,20770,7.864,20771,7.864]],["title/classes/SubmissionFactory.html",[0,0.239,20772,6.433]],["body/classes/SubmissionFactory.html",[0,0.159,2,0.489,3,0.009,4,0.009,5,0.004,7,0.065,8,0.814,27,0.527,29,1.009,30,0.001,31,0.704,32,0.167,33,0.574,34,1.468,35,1.4,47,0.501,55,2.479,59,3.23,95,0.125,101,0.006,103,0,104,0,112,0.552,113,4.377,127,4.819,129,3.523,130,3.227,135,1.432,148,1.029,157,1.979,172,3.003,185,2.42,192,2.532,195,1.546,205,2.121,206,2.297,228,1.28,231,1.224,326,4.96,374,3.056,433,0.567,436,3.825,467,2.057,478,1.292,501,7.197,502,5.349,505,3.918,506,5.349,507,5.329,508,3.918,509,3.918,510,3.918,511,3.856,512,4.377,513,4.768,514,6.393,515,5.68,516,6.983,517,2.573,522,2.552,523,3.918,524,2.573,525,5.041,526,5.187,527,4.082,528,4.879,529,3.887,530,2.552,531,2.405,532,4.074,533,2.457,534,2.405,535,2.552,536,2.573,537,4.694,538,2.552,539,7.306,540,4.143,541,6.544,542,2.573,543,4.171,544,2.552,545,2.573,546,2.552,547,2.573,548,2.552,549,2.859,550,2.688,551,2.552,552,5.995,553,2.573,554,2.552,555,3.918,556,3.573,557,3.918,558,2.573,559,2.475,560,2.439,561,2.065,562,2.552,563,2.552,564,2.552,565,2.573,566,2.573,567,1.749,568,2.552,569,1.428,570,2.573,571,2.794,572,2.552,573,2.573,575,2.639,576,2.713,577,5.743,697,3.305,698,3.529,703,1.428,2928,2.106,3128,3.185,3384,4.052,4069,7.094,4074,7.094,7705,3.624,7706,3.735,7715,3.624,10529,5.289,20653,5.94,20667,3.869,20772,7.961,20773,4.601,20774,9.643,20775,7.063,20776,4.601,20777,4.601,20778,4.601,20779,7.063,20780,4.601,20781,4.601,20782,4.036,20783,4.601,20784,4.036,20785,4.601,20786,4.601,20787,4.601,20788,4.261]],["title/classes/SubmissionItem.html",[0,0.239,2648,4.137]],["body/classes/SubmissionItem.html",[0,0.206,2,0.635,3,0.011,4,0.011,5,0.005,7,0.084,8,0.988,26,2.487,27,0.53,29,0.976,30,0.001,31,0.713,32,0.164,33,0.582,35,1.501,36,1.813,39,3.033,55,1.72,59,1.853,95,0.125,99,1.222,101,0.014,103,0,104,0,112,0.669,113,3.416,122,2.657,130,2.998,134,2.109,135,1.118,148,1.084,158,2.2,159,0.614,189,5.267,231,1.738,317,2.173,435,2.991,436,3.774,527,2.527,532,3.18,567,3.258,569,3.751,653,2.465,657,1.366,711,2.54,735,3.903,1770,3.469,1773,6.162,1842,3.903,1853,1.952,2048,3.483,2050,2.516,2635,6.357,2648,6.527,3027,7.801,3030,6.043,3031,6.043,3032,6.043,3033,5.595,3034,6.043,3036,3.752,3037,5.21,3038,6.403,3040,5.94,3041,5.21,3042,6.287,3044,4.137,3045,4.576,3047,6.89,3048,4.137,3052,4.137,3054,3.752,3081,5.156,3109,5.326,3115,5.267,3547,6.735,4299,4.287,4300,4.287,4301,4.287,4310,3.709,4315,5.267,5376,5.237,8385,4.702,11482,5.528,18172,6.574,20716,9.423,20789,5.528,20790,5.969,20791,7.937,20792,5.969,20793,5.969,20794,5.969,20795,5.969,20796,5.969,20797,5.969,20798,5.969,20799,5.237,20800,5.237,20801,7.937,20802,5.528,20803,5.528,20804,5.528,20805,5.528,20806,5.528,20807,5.528,20808,5.237,20809,5.528,20810,5.237,20811,5.237,20812,5.237]],["title/injectables/SubmissionItemFactory.html",[589,0.926,20813,6.433]],["body/injectables/SubmissionItemFactory.html",[0,0.335,3,0.018,4,0.018,5,0.009,7,0.137,8,1.368,27,0.383,30,0.001,34,1.662,35,1.126,39,2.694,49,3.674,83,3.455,95,0.146,101,0.013,103,0.001,104,0.001,148,0.963,153,2.241,197,2.706,277,1.398,430,3.986,431,4.155,507,5.869,574,5.488,589,1.582,591,2.316,2648,7.936,3128,4.389,3130,7.901,3547,5.98,4463,7.373,20716,9.633,20813,10.987,20814,9.732,20815,9.732]],["title/entities/SubmissionItemNode.html",[205,1.416,3470,5.472]],["body/entities/SubmissionItemNode.html",[0,0.279,3,0.015,4,0.015,5,0.007,7,0.148,26,2.566,27,0.416,30,0.001,32,0.132,39,3.45,95,0.148,96,2.136,99,1.658,101,0.014,103,0.001,104,0.001,112,0.825,122,2.454,134,2.863,135,1.057,148,0.801,159,0.833,190,1.897,205,2.154,206,2.635,223,3.87,224,2.353,231,1.832,232,2.196,242,4.265,243,5.093,290,2.5,457,4.494,644,4.925,648,5.093,734,3.401,816,7.324,1080,2.793,1268,4.978,1770,4.761,1829,3.444,2108,3.536,2545,5.22,2635,5.043,2688,4.568,3128,4.766,3384,6.063,3419,5.643,3429,6.294,3470,8.325,3473,7.578,3501,4.925,3544,9.272,3547,7.66,3874,6.425,3894,4.978,4401,5.093,4402,7.503,4403,5.093,4866,5.937,5300,6.067,6247,8.106,10275,7.108,10529,6.067,20734,9.891,20816,8.102,20817,9.787,20818,9.787,20819,7.503,20820,9.272,20821,7.108,20822,7.503,20823,7.503]],["title/interfaces/SubmissionItemNodeProps.html",[159,0.714,20820,6.094]],["body/interfaces/SubmissionItemNodeProps.html",[0,0.288,3,0.016,4,0.016,5,0.008,7,0.151,26,2.688,30,0.001,32,0.134,39,3.614,95,0.149,96,2.203,99,1.71,101,0.014,103,0.001,104,0.001,112,0.842,122,2.632,134,2.952,135,1.09,148,0.826,159,0.859,161,1.984,205,2.198,223,3.706,224,2.427,231,2.069,232,2.264,242,4.398,243,5.252,290,1.976,457,4.634,644,5.079,648,5.252,734,3.507,816,5.79,1080,2.88,1268,5.134,1770,4.832,1829,3.552,2108,3.647,2545,5.383,2635,5.144,2688,4.711,3128,3.768,3384,4.793,3419,5.756,3429,6.421,3470,6.581,3473,5.383,3501,5.079,3544,9.459,3547,8.023,3874,7.256,3894,5.134,4401,5.252,4403,5.252,4866,6.122,5300,6.257,6247,6.408,10529,6.257,20734,7.026,20817,7.737,20818,7.737,20819,7.737,20820,10.473,20821,7.33,20822,7.737,20823,7.737]],["title/interfaces/SubmissionItemProps.html",[159,0.714,20808,6.094]],["body/interfaces/SubmissionItemProps.html",[0,0.275,3,0.015,4,0.015,5,0.007,7,0.112,26,2.719,30,0.001,32,0.146,36,1.69,39,3.563,95,0.141,99,1.635,101,0.016,103,0.001,104,0.001,112,0.818,122,2.756,130,2.864,134,2.823,135,1.366,148,1.226,158,2.944,159,0.821,161,1.897,231,2.025,317,1.731,527,3.382,567,3.98,569,2.48,653,3.299,657,1.828,1842,4.769,1853,2.613,2048,4.255,2050,3.368,2635,5.574,2648,6.957,3027,6.3,3037,4.857,3038,6.118,3041,4.857,3042,6.007,3081,7.028,3109,6.507,3115,6.435,3547,7.91,4310,4.964,4315,6.435,18172,8.032,20716,6.486,20789,7.398,20791,7.398,20799,7.009,20800,7.009,20801,9.697,20802,7.398,20803,7.398,20804,7.398,20805,7.398,20806,7.398,20807,7.398,20808,9.187,20809,7.398,20810,7.009,20811,7.009,20812,7.009]],["title/classes/SubmissionItemResponse.html",[0,0.239,9782,5.64]],["body/classes/SubmissionItemResponse.html",[0,0.26,2,0.802,3,0.014,4,0.014,5,0.007,7,0.106,27,0.511,29,0.578,30,0.001,31,0.422,32,0.165,33,0.345,34,2.157,39,3.495,47,0.86,95,0.13,101,0.01,103,0,104,0,112,0.787,122,2.103,125,1.794,190,2.267,202,1.732,242,3.969,296,3.523,304,4.976,433,1.242,458,3.016,821,3.838,866,3.744,874,5.887,896,7.062,1835,5.164,2048,3.064,2887,5.731,2895,7.31,3165,6.579,3166,6.47,3167,6.47,3547,7.76,3972,6.512,3976,4.921,3978,4.921,4017,5.782,4018,4.632,4019,8.153,4020,8.704,4039,4.632,4040,6.121,4041,6.121,4420,6.614,8037,10.452,9782,10.253,20744,11.641,20821,6.614,20824,7.539,20825,7.539,20826,7.539,20827,7.539,20828,7.539,20829,7.539,20830,7.539,20831,7.539]],["title/classes/SubmissionItemResponseMapper.html",[0,0.239,4025,5.842]],["body/classes/SubmissionItemResponseMapper.html",[0,0.234,2,0.722,3,0.013,4,0.013,5,0.006,7,0.095,8,1.082,27,0.479,29,0.824,30,0.001,31,0.602,32,0.145,33,0.492,34,1.159,35,1.343,39,2.597,95,0.123,100,2.369,101,0.009,103,0,104,0,112,0.733,135,1.643,141,4.975,148,1.148,153,1.998,290,1.605,430,2.78,467,3.667,652,2.567,700,3.275,701,3.275,711,3.826,829,4.003,830,5.204,871,3.435,896,3.795,1853,2.22,2048,2.758,2392,2.589,2648,7.836,2666,5.954,2895,3.928,3035,4.703,3109,5.83,3115,5.765,3370,4.827,3387,9.901,3421,4.557,3422,4.43,3473,8.114,3547,4.17,3972,5.383,3988,4.785,4021,9.043,4024,5.205,4025,10.856,4028,5.954,4044,6.285,4424,6.285,5868,6.682,7550,4.973,9630,8.688,9782,9.886,12699,5.707,18584,6.285,18585,6.285,20739,11.662,20740,6.285,20810,5.954,20832,9.383,20833,9.383,20834,6.787,20835,6.285,20836,9.383,20837,9.383,20838,6.787,20839,9.383,20840,6.787,20841,9.043,20842,10.754,20843,6.285,20844,6.787,20845,6.787,20846,9.383,20847,6.787,20848,6.787,20849,6.787,20850,6.787,20851,6.787,20852,6.787]],["title/injectables/SubmissionItemService.html",[589,0.926,3846,5.64]],["body/injectables/SubmissionItemService.html",[0,0.235,3,0.013,4,0.013,5,0.006,7,0.096,8,1.085,12,4.241,26,2.66,27,0.457,29,0.89,30,0.001,31,0.651,32,0.157,33,0.531,34,1.84,35,1.247,36,2.667,39,2.982,40,4.538,49,2.57,83,3.137,95,0.147,99,1.394,101,0.009,103,0,104,0,122,2.424,135,1.515,148,0.93,153,2.12,172,3.998,228,1.704,277,0.978,317,2.896,338,4.185,393,3.362,400,2.028,430,2.789,431,2.908,433,0.839,574,3.84,579,2.692,589,1.254,591,1.621,652,1.388,653,2.812,657,2.465,734,4.522,1723,6.126,1853,2.227,1923,4.573,2048,4.378,2050,2.871,2609,3.343,2648,7.96,2923,3.61,3118,7.392,3206,5.444,3397,5.1,3398,8.889,3406,6.306,3547,7.492,3631,5.974,3678,9.676,3846,7.635,4456,5.529,4463,4.231,6376,5.984,6390,5.974,9810,5.974,16645,6.306,20853,12.192,20854,6.81,20855,6.81,20856,11.618,20857,6.81,20858,6.81,20859,9.405,20860,6.81,20861,6.81,20862,6.81,20863,6.81,20864,6.81,20865,6.81,20866,6.81,20867,9.405]],["title/injectables/SubmissionItemUc.html",[589,0.926,2997,5.842]],["body/injectables/SubmissionItemUc.html",[0,0.18,3,0.01,4,0.01,5,0.005,7,0.073,8,0.895,26,2.905,27,0.469,29,0.914,30,0.001,31,0.668,32,0.165,33,0.545,34,0.89,35,1.333,36,2.593,39,3.529,59,1.618,95,0.131,99,1.066,101,0.007,103,0,104,0,113,5.082,122,1.935,135,1.502,148,0.917,153,1.521,228,1.862,231,1.345,277,0.748,317,2.919,433,0.956,436,2.748,579,2.654,589,1.035,591,1.24,610,2.053,657,2.917,688,2.459,1197,5.952,1793,3.448,1853,1.704,1862,6.369,1935,3.499,1967,5.686,2018,7.527,2048,3.153,2635,5.495,2636,8.832,2638,6.112,2639,8.092,2640,3.818,2641,8.495,2643,3.996,2644,5.686,2645,6.659,2647,4.104,2648,7.594,2650,4.104,2651,5.573,2653,2.409,2665,4.381,2667,3.996,2922,4.491,2923,2.762,2997,6.525,3109,3.237,3115,3.201,3118,5.899,3128,2.35,3129,3.167,3370,4.161,3387,3.996,3405,3.901,3547,6.312,3846,9.684,3994,7.797,3996,8.586,4028,8.134,4107,4.23,4108,4.23,4109,4.23,4112,4.23,4113,4.23,4438,5.334,4491,8.134,4493,4.825,5091,2.782,6350,3.275,6354,3.275,6376,4.937,9810,4.571,9811,4.825,9820,7.185,9822,4.825,9830,4.825,10231,4.571,20746,8.586,20799,4.571,20800,4.571,20811,4.571,20812,4.571,20868,10.984,20869,5.21,20870,9.272,20871,5.21,20872,10.664,20873,5.21,20874,5.21,20875,5.21,20876,5.21,20877,5.21,20878,5.21,20879,5.21,20880,5.21,20881,5.21,20882,5.21,20883,5.21,20884,5.21,20885,5.21,20886,7.759,20887,5.21,20888,5.21]],["title/classes/SubmissionItemUrlParams.html",[0,0.239,3998,6.094]],["body/classes/SubmissionItemUrlParams.html",[0,0.411,2,1.045,3,0.019,4,0.019,5,0.009,7,0.138,27,0.387,30,0.001,32,0.122,34,2.039,47,0.847,95,0.136,101,0.013,103,0.001,104,0.001,112,0.932,157,2.262,190,1.764,194,4.669,195,2.612,196,3.948,197,3.319,200,3.011,202,2.258,296,3.119,855,4.831,3128,5.383,3473,7.69,3998,10.471,4150,5.974,8037,9.401,20744,10.471,20872,11.904,20889,9.828,20890,9.828]],["title/classes/SubmissionMapper.html",[0,0.239,20758,6.094]],["body/classes/SubmissionMapper.html",[0,0.331,2,1.023,3,0.018,4,0.018,5,0.009,7,0.135,8,1.358,27,0.378,29,0.737,30,0.001,31,0.539,32,0.12,33,0.439,34,1.642,35,1.113,95,0.134,100,4.11,101,0.013,103,0.001,104,0.001,135,1.254,148,0.951,153,1.577,467,3.707,478,2.7,837,4.748,3128,6.14,16149,7.046,20693,7.201,20711,7.201,20758,10.333,20891,9.616,20892,11.778,20893,11.778,20894,9.616,20895,11.159,20896,9.616,20897,8.436,20898,8.086,20899,7.807,20900,9.616,20901,8.086,20902,8.436,20903,9.616]],["title/interfaces/SubmissionProperties.html",[159,0.714,20667,5.842]],["body/interfaces/SubmissionProperties.html",[0,0.169,3,0.009,4,0.009,5,0.005,7,0.15,26,2.204,30,0.001,32,0.163,33,0.591,34,0.839,47,0.875,55,2.002,62,2.924,72,2.247,95,0.137,96,1.295,101,0.01,103,0,104,0,112,0.779,122,2.731,125,2.13,134,1.735,135,1.739,148,1.191,153,1.468,159,0.505,161,1.166,195,2.182,196,3.299,197,2.064,205,1.513,219,4.15,223,3.497,224,1.426,225,2.851,226,2.225,229,1.942,231,0.851,232,1.331,233,1.533,277,0.705,290,3.019,578,2.567,579,1.405,652,1.513,692,5.317,703,3.325,711,3.338,813,2.746,962,3.462,985,2.842,998,2.318,1312,3.485,1821,2.383,1921,3.403,1923,3.297,1929,3.527,1938,2.641,2090,4.129,2911,4.951,2915,2.724,2919,2.724,2928,5.921,2929,3.087,3128,3.347,3384,6.709,3705,3.164,3706,3.462,3993,2.869,4069,7.302,4074,7.302,4082,6.242,4084,6.242,4541,1.714,4858,3.164,5670,3.485,6148,7.482,6149,3.297,6174,3.462,6175,3.462,6182,5.233,6183,3.462,6606,4.117,7494,3.051,7495,2.769,7511,3.527,7515,3.087,7516,2.985,7830,3.206,10529,8.019,16149,7.847,20651,4.547,20652,9.917,20653,9.835,20660,4.547,20663,4.308,20667,7.524,20668,4.547,20669,4.547,20670,4.547,20671,4.547,20672,4.547,20673,3.987,20674,4.547,20675,4.547,20676,4.547,20677,4.129,20678,4.547,20679,4.547,20680,4.547,20681,4.547,20682,4.547,20683,4.547,20684,9.917,20685,4.547,20686,4.547,20687,4.547,20688,4.547,20689,4.547,20690,4.547,20691,9.235,20692,4.547,20693,6.701,20694,3.987,20695,10.43,20696,6.873,20697,4.129,20698,6.873,20699,3.766,20700,3.868,20701,4.547,20702,4.547,20703,4.547,20704,4.547,20705,6.873,20706,6.873,20707,4.547,20708,4.547,20709,4.547,20710,4.547,20711,6.701,20712,3.987,20713,4.129,20714,6.873]],["title/injectables/SubmissionRepo.html",[589,0.926,1913,5.328]],["body/injectables/SubmissionRepo.html",[0,0.203,3,0.011,4,0.011,5,0.005,7,0.083,8,0.98,10,3.4,12,3.833,18,4.3,26,2.702,27,0.509,29,0.973,30,0.001,31,0.711,32,0.158,33,0.58,34,1.008,35,1.469,36,2.841,39,3.198,40,4.1,47,0.707,95,0.132,96,1.555,98,3.549,99,1.207,101,0.008,103,0,104,0,135,1.507,141,3.644,148,1.143,205,1.203,206,2.764,224,1.714,231,1.473,277,0.847,317,3.04,365,3.778,436,3.23,478,1.656,532,4.931,589,1.133,591,1.404,652,2.453,657,2.904,728,7.179,734,3.567,735,3.87,736,4.919,759,3.513,760,3.586,761,3.549,762,3.586,764,3.549,765,3.586,766,3.173,1626,3.272,1829,2.508,1913,6.518,2474,3.513,2907,4.875,2928,2.7,3128,5.593,3287,3.355,3384,3.384,3950,4.159,3993,5.82,4764,6.694,4770,6.9,6148,5.933,6229,2.407,7455,3.753,7749,4.524,15623,7.87,19171,5.463,20653,4.961,20904,5.899,20905,8.499,20906,8.499,20907,8.499,20908,8.499,20909,5.899,20910,8.499,20911,5.899,20912,8.499,20913,5.899,20914,5.463,20915,8.499,20916,5.899,20917,5.899,20918,5.899,20919,5.899,20920,5.899,20921,8.499,20922,5.899,20923,5.899,20924,5.899,20925,5.899]],["title/injectables/SubmissionRule.html",[589,0.926,1875,5.842]],["body/injectables/SubmissionRule.html",[0,0.185,3,0.01,4,0.01,5,0.005,7,0.075,8,0.915,27,0.487,29,0.947,30,0.001,31,0.693,32,0.157,33,0.565,35,1.394,95,0.127,101,0.007,103,0,104,0,122,2.514,135,1.519,141,3.403,148,1.192,153,0.881,183,3.977,197,2.207,205,2.125,228,1.438,277,0.771,290,3.38,400,1.599,433,0.662,478,1.508,579,1.537,589,1.058,591,1.278,652,2.78,653,2.217,711,3.451,1197,7.218,1237,1.583,1622,3.857,1775,5.737,1778,6.554,1792,5.5,1793,5.252,1801,7.235,1838,4.824,1875,6.673,1876,9.78,1981,5.113,1985,4.931,1992,3.554,3128,6.596,3507,3.417,3663,5.252,3664,3.606,3667,5.18,3669,3.606,3670,5.329,15524,4.973,20899,4.36,20926,5.37,20927,11.644,20928,10.426,20929,10.426,20930,11.644,20931,10.426,20932,5.37,20933,7.936,20934,5.37,20935,7.936,20936,5.37,20937,7.936,20938,5.37,20939,5.37,20940,7.936,20941,5.37,20942,7.936,20943,5.37,20944,5.37,20945,5.37,20946,5.37,20947,7.936,20948,5.37,20949,7.936,20950,5.37,20951,5.37,20952,5.37,20953,7.936,20954,7.936]],["title/injectables/SubmissionService.html",[589,0.926,20955,5.64]],["body/injectables/SubmissionService.html",[0,0.275,3,0.015,4,0.015,5,0.007,7,0.112,8,1.206,10,4.184,12,4.717,26,2.769,27,0.488,29,0.949,30,0.001,31,0.694,32,0.154,33,0.566,35,1.351,36,2.793,95,0.147,98,4.797,99,1.632,101,0.01,103,0.001,104,0.001,135,1.04,148,1.035,228,1.895,277,1.145,279,3.333,317,2.991,433,1.289,478,2.238,589,1.394,591,1.898,652,2.132,657,2.393,1317,5.012,1913,10.125,2802,3.19,3128,5.801,3851,4.009,3993,6.11,7279,9.663,20955,8.491,20956,7.973,20957,9.685,20958,7.973,20959,7.973,20960,10.458,20961,7.973,20962,10.458,20963,7.973,20964,6.28,20965,10.458,20966,7.973,20967,6.995,20968,7.973,20969,7.973,20970,7.973,20971,7.973]],["title/classes/SubmissionStatusListResponse.html",[0,0.239,20760,5.842]],["body/classes/SubmissionStatusListResponse.html",[0,0.383,2,0.934,3,0.017,4,0.017,5,0.008,7,0.123,27,0.438,29,0.672,30,0.001,31,0.491,32,0.152,33,0.401,34,2.086,47,0.867,55,1.761,95,0.1,101,0.015,103,0.001,104,0.001,112,0.869,122,2.321,125,2.088,190,1.575,201,4.744,202,2.016,296,3.539,339,3.889,433,1.371,458,3.511,864,6.382,866,4.358,881,4.791,16149,8.951,20677,7.379,20693,9.147,20697,7.379,20711,9.147,20713,7.379,20760,9.355,20895,11.707,20897,10.717,20902,10.717,20972,8.126,20973,8.775,20974,8.775,20975,8.126,20976,8.126]],["title/classes/SubmissionStatusResponse.html",[0,0.239,20895,5.842]],["body/classes/SubmissionStatusResponse.html",[0,0.358,2,0.838,3,0.015,4,0.015,5,0.007,7,0.111,27,0.528,29,0.604,30,0.001,31,0.441,32,0.17,33,0.586,34,2.189,47,0.934,55,2.083,95,0.09,101,0.014,103,0.001,104,0.001,112,0.81,122,2.573,190,2.362,201,4.976,202,1.81,296,3.633,339,3.044,433,1.279,458,3.153,821,4.012,864,4.52,881,4.302,16149,9.39,20677,6.626,20693,9.596,20697,6.626,20711,9.596,20713,6.626,20760,6.626,20895,11.449,20897,11.243,20902,11.243,20972,7.297,20975,7.297,20976,7.297,20977,7.879,20978,7.879,20979,7.879,20980,7.879,20981,7.879,20982,7.879,20983,7.879]],["title/injectables/SubmissionUc.html",[589,0.926,20759,5.842]],["body/injectables/SubmissionUc.html",[0,0.243,3,0.013,4,0.013,5,0.007,7,0.099,8,1.112,10,3.858,26,2.873,27,0.464,29,0.904,30,0.001,31,0.661,32,0.147,33,0.539,35,1.271,36,2.04,39,2.669,95,0.145,99,1.445,101,0.009,103,0,104,0,135,1.702,148,1.167,158,2.603,195,1.545,228,1.747,277,1.014,290,3.253,317,2.762,433,1.188,478,1.982,589,1.286,591,1.681,595,2.665,610,2.783,652,2.517,657,2.699,693,3.216,980,3.917,1780,4.293,1838,5.861,1862,6.966,1961,5.801,1963,5.562,2653,3.265,3128,6.075,3993,5.633,4940,5.938,15570,8.108,20759,8.108,20955,10.349,20957,8.929,20964,8.648,20967,9.632,20984,7.061,20985,9.642,20986,7.061,20987,7.061,20988,7.061,20989,9.642,20990,7.061,20991,9.642,20992,7.061,20993,7.061,20994,11.797,20995,7.061,20996,7.061,20997,7.061,20998,6.539,20999,9.642,21000,7.061,21001,5.938]],["title/classes/SubmissionUrlParams.html",[0,0.239,20751,6.094]],["body/classes/SubmissionUrlParams.html",[0,0.415,2,1.061,3,0.019,4,0.019,5,0.009,7,0.14,27,0.393,30,0.001,32,0.124,34,2.057,47,0.855,95,0.137,101,0.013,103,0.001,104,0.001,112,0.941,157,2.296,190,1.791,194,4.711,195,2.635,196,3.984,197,3.349,200,3.056,202,2.291,296,3.147,855,4.875,3128,5.431,4150,6.063,20751,10.565,20967,11.35,21002,9.974,21003,9.974]],["title/classes/SubmissionsResponse.html",[0,0.239,4021,5.842]],["body/classes/SubmissionsResponse.html",[0,0.31,2,0.957,3,0.017,4,0.017,5,0.008,7,0.126,27,0.486,29,0.689,30,0.001,31,0.504,32,0.166,33,0.411,95,0.141,101,0.012,103,0.001,104,0.001,112,0.882,125,2.689,190,2.028,202,2.066,290,2.126,296,3.228,433,1.108,866,5.611,3128,4.055,3370,6.208,4021,9.5,8037,10.208,9782,11.229,12815,7.3,20841,11.631,20843,12.364,21004,8.991,21005,11.297,21006,8.991,21007,8.991,21008,8.991,21009,8.991,21010,8.991,21011,8.991]],["title/interfaces/SuccessfulRes.html",[159,0.714,13017,5.202]],["body/interfaces/SuccessfulRes.html",[3,0.018,4,0.018,5,0.009,7,0.131,30,0.001,32,0.116,34,1.589,47,0.976,55,2.518,101,0.018,103,0.001,104,0.001,112,0.901,122,2.618,159,1.432,161,2.21,339,2.729,402,3.33,532,3.452,1076,8.346,1081,6.344,1115,3.561,3370,4.176,4949,6.344,7452,5.385,13009,6.967,13010,7.136,13011,6.967,13012,6.967,13013,7.136,13014,8.555,13015,7.136,13016,7.136,13017,8.642,13018,7.136,13019,6.817,13020,6.967,13021,7.136,13022,6.967]],["title/classes/SuccessfulResponse.html",[0,0.239,21012,6.094]],["body/classes/SuccessfulResponse.html",[0,0.345,2,1.066,3,0.019,4,0.019,5,0.009,7,0.141,27,0.475,29,0.768,30,0.001,31,0.561,32,0.15,33,0.458,95,0.114,101,0.013,103,0.001,104,0.001,112,0.943,122,2.874,190,1.8,202,2.303,296,3.388,433,1.235,2823,10.849,21012,10.597,21013,10.024,21014,12.079,21015,10.024,21016,10.024,21017,10.024]],["title/injectables/SymetricKeyEncryptionService.html",[589,0.926,9837,6.094]],["body/injectables/SymetricKeyEncryptionService.html",[0,0.278,3,0.015,4,0.015,5,0.007,7,0.113,8,1.216,27,0.521,29,0.899,30,0.001,31,0.657,32,0.146,33,0.537,35,1.22,47,1.01,59,2.505,95,0.142,101,0.011,103,0.001,104,0.001,148,1.31,277,1.159,339,3.652,400,2.403,433,0.995,589,1.405,591,1.921,652,1.645,711,3.925,816,5.592,1027,2.472,1237,2.379,1718,5.913,2124,7.021,2445,4.388,2446,5.814,2881,5.03,3250,5.419,4169,7.893,5157,7.724,7500,5.796,8119,8.602,9836,7.473,9837,9.248,9846,9.248,9847,8.864,9848,9.761,9850,9.761,13749,7.473,15869,6.786,20618,7.473,20621,7.473,21018,8.069,21019,8.069,21020,8.069,21021,8.069,21022,11.739,21023,11.739,21024,8.069,21025,8.069]],["title/classes/System.html",[0,0.239,3382,3.179]],["body/classes/System.html",[0,0.304,2,0.938,3,0.017,4,0.017,5,0.008,7,0.124,8,1.286,27,0.482,30,0.001,32,0.139,35,1.02,47,0.942,95,0.147,101,0.015,103,0.001,104,0.001,110,3.048,112,0.871,113,4.447,125,2.098,148,0.872,159,0.906,185,3.02,231,2.122,435,3.893,436,3.306,532,4.139,711,3.306,735,5.08,1470,4.928,1767,6.139,1770,5.372,1773,7.521,1849,5.102,2087,4.826,3036,5.54,3054,5.54,3382,5.106,6627,4.487,13511,7.694,13599,5.833,14244,5.416,14257,7.188,14258,5.753,14259,5.753,14516,5.678,14907,9.247,14941,5.918,21026,8.162,21027,8.814,21028,8.814,21029,7.155,21030,8.162]],["title/modules/SystemApiModule.html",[252,1.836,20198,5.842]],["body/modules/SystemApiModule.html",[0,0.318,3,0.017,4,0.017,5,0.008,30,0.001,95,0.153,101,0.012,103,0.001,104,0.001,252,3.302,254,3.32,255,3.516,256,3.606,257,3.593,258,3.58,259,4.544,260,3.432,269,4.489,270,3.541,271,3.467,273,5.795,274,4.797,276,4.489,277,1.324,1525,10.048,1856,7.866,2653,4.262,20198,11.999,21031,9.218,21032,9.218,21033,9.218,21034,11.531,21035,9.218,21036,10.961,21037,9.218,21038,9.218,21039,9.218]],["title/controllers/SystemController.html",[314,2.659,21036,6.094]],["body/controllers/SystemController.html",[0,0.21,3,0.012,4,0.012,5,0.006,7,0.086,8,1.002,10,2.435,27,0.399,29,0.777,30,0.001,31,0.568,32,0.156,33,0.463,35,1.449,36,2.573,72,5.061,95,0.143,100,2.124,101,0.008,103,0,104,0,135,1.442,148,0.86,157,2.546,180,4.721,190,1.82,202,1.398,228,1.103,274,2.545,277,0.874,314,2.33,316,2.937,317,2.823,325,5.492,326,4.445,328,6.509,333,7.426,339,3.244,349,5.162,365,2.706,374,3.76,388,3.727,390,6.522,391,6.23,392,3.182,395,3.274,398,3.298,400,1.813,401,5.669,402,3.111,534,5.781,610,2.399,657,2.32,741,9.701,1368,3.432,1390,5.401,1563,5.6,2232,6.722,2537,6.951,2615,7.54,3209,3.14,3210,4.087,3370,3.901,3382,5.061,3982,4.087,4819,6.344,5091,4.641,5168,7.343,12713,8.049,12965,7.663,16651,7.626,18188,6.369,18190,6.369,18319,9.299,18322,8.978,21034,8.525,21036,7.626,21040,6.087,21041,8.692,21042,8.692,21043,6.087,21044,10.983,21045,6.087,21046,6.087,21047,6.087,21048,6.087,21049,9.701,21050,6.087,21051,10.24,21052,6.087,21053,6.087,21054,11.058,21055,6.087,21056,6.087,21057,6.087,21058,6.087,21059,6.087,21060,5.34,21061,6.087,21062,6.087,21063,6.087,21064,6.087,21065,6.087,21066,6.087,21067,6.087,21068,6.087,21069,6.087,21070,6.087,21071,6.087,21072,6.087,21073,6.087,21074,6.087,21075,5.119,21076,6.087,21077,6.087,21078,6.087]],["title/classes/SystemDomainMapper.html",[0,0.239,21079,6.094]],["body/classes/SystemDomainMapper.html",[0,0.254,2,0.784,3,0.014,4,0.014,5,0.007,7,0.104,8,1.145,27,0.442,29,0.86,30,0.001,31,0.629,32,0.15,33,0.513,34,1.259,35,1.299,95,0.113,101,0.01,103,0,104,0,110,3.433,125,2.363,135,1.464,148,1.11,153,1.629,205,1.503,467,3.958,478,2.07,652,2.632,711,2.185,1593,4.53,1882,2.812,4721,4.482,4819,7.407,4870,4.75,5027,5.055,5163,6.608,6229,3.008,6310,3.707,6627,3.754,6851,6.468,8260,4.435,10401,4.88,10703,6.2,12746,6.827,12747,9.194,12755,9.194,13450,8.322,13511,8.294,13524,5.521,13525,5.521,13526,5.402,13527,5.521,13571,4.951,13574,4.813,13576,4.951,13579,4.951,13582,4.53,13586,4.88,14244,4.53,14516,4.75,14907,8.86,14915,8.993,14941,4.951,14944,5.655,14946,5.655,14948,5.521,14950,5.655,14954,5.655,14955,5.655,14957,5.655,14959,5.521,14961,5.655,14962,4.951,14963,5.807,14974,5.655,14981,5.807,21029,9.75,21079,8.71,21080,12.009,21081,9.928,21082,9.928,21083,7.373,21084,9.928,21085,7.373,21086,9.928,21087,7.373,21088,6.827,21089,6.827,21090,6.827,21091,6.827,21092,7.373,21093,7.373,21094,7.373,21095,7.373]],["title/classes/SystemDto.html",[0,0.239,12965,4.814]],["body/classes/SystemDto.html",[0,0.266,2,0.82,3,0.015,4,0.015,5,0.007,7,0.108,26,2.363,27,0.545,29,0.591,30,0.001,31,0.432,32,0.176,33,0.657,34,1.961,47,0.983,95,0.131,99,1.578,101,0.01,103,0,104,0,110,3.97,112,0.799,122,2.135,433,0.951,458,3.086,2108,3.367,3382,3.53,5347,6.075,6627,5.846,6647,4.969,7182,4.179,12965,8.819,13511,7.218,13765,8.598,14244,7.055,14257,7.397,14258,5.035,14259,5.035,14516,7.397,14941,7.71,15014,5.915,15016,5.915,15022,5.915,15024,5.915,15049,5.651,15366,6.486,15368,6.262,15370,6.486,15373,7.142,15375,7.142,15377,7.142,18325,9.475,21096,7.713,21097,10.632,21098,10.232,21099,7.713,21100,7.713,21101,7.713,21102,7.713,21103,7.713,21104,7.713,21105,7.713,21106,7.713,21107,6.767,21108,6.486,21109,7.713,21110,7.142]],["title/entities/SystemEntity.html",[205,1.416,5163,3.822]],["body/entities/SystemEntity.html",[0,0.318,3,0.008,4,0.008,5,0.004,7,0.059,26,1.362,27,0.464,30,0.001,32,0.158,33,0.598,47,1.034,83,2.373,95,0.105,96,1.115,101,0.013,103,0,104,0,110,3.459,112,0.517,122,0.882,134,1.494,157,0.973,159,0.435,185,2.267,190,2.118,195,3.06,196,4.517,197,1.839,205,1.661,206,1.375,211,6.364,223,4.443,224,1.228,225,2.541,226,1.916,228,0.766,229,1.672,231,0.733,232,1.146,233,1.32,331,1.871,561,1.898,620,2.627,628,2.518,886,2.564,997,2.658,1454,2.598,1561,2.981,1593,2.598,2108,1.845,2160,2.798,2185,3.243,2685,3.368,4607,3.532,4645,4.751,4679,2.57,4870,2.724,5027,3.368,5163,3.64,5168,2.425,6229,1.725,6310,3.326,6627,4.693,6647,2.724,6648,2.93,7182,3.584,8118,2.658,8204,2.839,8260,3.98,10401,2.798,11436,2.798,13450,6.933,13511,5.794,13524,3.166,13525,3.166,13526,3.098,13527,3.166,13571,2.839,13574,2.76,13576,2.839,13579,2.839,13582,2.598,13586,2.798,13688,4.51,13850,3.243,14244,5.664,14257,5.938,14258,2.76,14259,2.76,14510,6.62,14516,5.938,14627,3.166,14907,6.189,14911,3.33,14913,4.847,14915,7.944,14916,3.432,14917,3.432,14918,3.432,14919,3.432,14920,3.432,14921,3.432,14922,3.432,14923,3.432,14924,3.432,14925,3.432,14939,5.073,14940,7.492,14941,6.189,14942,3.432,14943,4.847,14944,3.243,14945,4.847,14946,3.243,14947,3.166,14948,3.166,14949,3.166,14950,3.243,14951,3.166,14952,3.166,14953,3.166,14954,3.243,14955,3.243,14956,3.166,14957,3.243,14958,3.166,14959,3.166,14960,3.166,14961,3.243,14962,4.442,14963,3.33,14964,3.037,14965,3.432,14966,3.432,14967,3.432,14968,3.432,14969,3.432,14970,3.432,14971,3.432,14972,3.432,14973,3.432,14974,3.243,14975,3.432,14976,3.432,14977,3.432,14978,3.432,14979,3.432,14980,3.432,14981,3.33,14982,3.432,14983,3.432,14984,3.098,14985,3.432,14986,3.432,14987,3.432,14988,3.432,14989,3.432,14990,3.432,14991,3.432,14992,3.432,14993,3.432,14994,3.432,14995,3.432,14996,3.432,14997,3.432,14998,3.432,14999,3.243,15000,3.432,15001,3.33,15002,3.243,15003,3.33,15004,3.243,15005,3.243,15006,3.33,15007,3.243,15008,3.33,15009,3.243,15010,3.098,15011,3.098,15012,3.098,15013,3.166,15014,3.243,15015,3.432,15016,3.243,15017,3.432,15018,3.432,15019,3.432,15020,3.432,15021,3.432,15022,3.243,15023,3.33,15024,3.243,15025,3.33,21111,4.228,21112,4.228,21113,4.228,21114,4.228,21115,4.228,21116,4.228,21117,4.228,21118,4.228,21119,4.228,21120,4.228,21121,4.228]],["title/classes/SystemEntityFactory.html",[0,0.239,13950,6.094]],["body/classes/SystemEntityFactory.html",[0,0.151,2,0.467,3,0.008,4,0.008,5,0.004,7,0.062,8,0.785,27,0.518,29,1,30,0.001,31,0.695,32,0.167,33,0.567,34,1.606,35,1.381,47,0.483,55,2.256,59,3.345,95,0.107,101,0.009,103,0,104,0,110,2.355,112,0.532,113,4.294,127,4.7,129,3.469,130,3.178,135,1.227,148,0.93,153,1.369,157,1.921,172,2.896,185,2.334,192,2.415,195,0.961,205,2.076,206,2.215,228,1.234,231,1.181,326,4.856,374,2.947,433,0.541,436,3.786,467,1.983,478,1.232,501,7.135,502,5.217,505,3.778,506,5.217,507,5.255,508,3.778,509,3.778,510,3.778,511,3.719,512,4.249,513,4.629,514,6.296,515,5.559,516,6.919,517,2.455,522,2.435,523,3.778,524,2.455,525,4.917,526,5.059,527,3.982,528,4.759,529,3.748,530,2.435,531,2.295,532,3.998,533,2.344,534,2.295,535,2.435,536,2.455,537,4.557,538,2.435,539,7.304,540,4.08,541,6.445,542,2.455,543,4.05,544,2.435,545,2.455,546,2.435,547,2.455,548,2.435,549,2.728,550,2.564,551,2.435,552,5.883,553,2.455,554,2.435,555,3.778,556,3.446,557,3.778,558,2.455,559,2.361,560,2.327,561,1.97,562,2.435,563,2.435,564,2.435,565,2.455,566,2.455,567,1.668,568,2.435,569,1.363,570,2.455,571,2.694,572,2.435,573,2.455,575,2.518,576,2.589,577,4.971,620,2.728,702,2.167,998,2.072,1470,3.809,1593,2.697,1598,2.589,2160,2.905,2802,2.725,3382,3.117,4870,2.828,5027,2.235,5163,2.415,6229,1.791,6310,3.425,6627,2.235,8260,4.098,8262,4.991,10321,7.637,10401,2.905,13450,4.72,13511,2.759,13571,2.948,13574,2.866,13575,3.691,13576,2.948,13579,2.948,13582,2.697,13586,2.905,13950,7.322,14244,2.697,14257,2.828,14258,2.866,14259,2.866,14510,3.153,14516,2.828,14550,3.564,14907,2.948,14915,5.101,14939,3.367,14940,5.101,14941,2.948,14962,6.316,15010,3.216,15011,3.216,15012,3.216,15013,3.287,15858,4.065,17578,4.065,21122,4.39,21123,6.308,21124,8.71,21125,8.71,21126,6.811,21127,4.39,21128,6.811,21129,4.39,21130,4.39,21131,4.39,21132,4.39,21133,4.39,21134,4.39,21135,4.39,21136,4.39,21137,4.39,21138,4.39,21139,4.39,21140,4.39,21141,4.39,21142,4.39,21143,4.39,21144,4.39,21145,4.39,21146,4.39,21147,4.39,21148,4.39]],["title/interfaces/SystemEntityProps.html",[159,0.714,14939,5.328]],["body/interfaces/SystemEntityProps.html",[0,0.326,3,0.008,4,0.008,5,0.004,7,0.062,26,1.41,30,0.001,32,0.161,33,0.603,47,1.04,83,2.442,95,0.108,96,1.166,101,0.013,103,0,104,0,110,3.737,112,0.535,122,0.923,134,1.563,157,1.018,159,0.455,161,1.051,185,1.516,195,2.994,196,4.526,197,1.23,205,1.71,223,4.459,224,1.285,225,2.632,226,2.005,228,0.802,229,1.75,231,0.767,232,1.199,233,1.381,331,1.957,561,1.985,620,2.749,628,2.634,886,2.639,997,2.781,1454,2.718,1561,3.119,1593,2.718,2108,1.931,2160,2.928,2185,3.393,2685,3.489,4607,3.659,4645,4.921,4679,2.689,4870,2.85,5027,3.489,5163,2.434,5168,2.538,6229,1.805,6310,3.445,6627,5.203,6647,2.85,6648,3.065,7182,3.713,8118,2.781,8204,2.97,8260,4.122,10401,2.928,11436,2.928,13450,7.49,13511,6.423,13524,3.312,13525,3.312,13526,3.241,13527,3.312,13571,2.97,13574,2.888,13576,2.97,13579,2.97,13582,2.718,13586,2.928,13688,4.672,13850,3.393,14244,6.279,14257,6.583,14258,2.888,14259,2.888,14510,7.339,14516,6.583,14627,3.312,14907,6.862,14911,3.484,14913,5.021,14915,8.094,14916,3.591,14917,3.591,14918,3.591,14919,3.591,14920,3.591,14921,3.591,14922,3.591,14923,3.591,14924,3.591,14925,3.591,14939,6.432,14940,8.094,14941,6.862,14942,3.591,14943,5.021,14944,3.393,14945,5.021,14946,3.393,14947,3.312,14948,3.312,14949,3.312,14950,3.393,14951,3.312,14952,3.312,14953,3.312,14954,3.393,14955,3.393,14956,3.312,14957,3.393,14958,3.312,14959,3.312,14960,3.312,14961,3.393,14962,4.601,14963,3.484,14964,3.177,14965,3.591,14966,3.591,14967,3.591,14968,3.591,14969,3.591,14970,3.591,14971,3.591,14972,3.591,14973,3.591,14974,3.393,14975,3.591,14976,3.591,14977,3.591,14978,3.591,14979,3.591,14980,3.591,14981,3.484,14982,3.591,14983,3.591,14984,3.241,14985,3.591,14986,3.591,14987,3.591,14988,3.591,14989,3.591,14990,3.591,14991,3.591,14992,3.591,14993,3.591,14994,3.591,14995,3.591,14996,3.591,14997,3.591,14998,3.591,14999,3.393,15000,3.591,15001,3.484,15002,3.393,15003,3.484,15004,3.393,15005,3.393,15006,3.484,15007,3.393,15008,3.484,15009,3.393,15010,3.241,15011,3.241,15012,3.241,15013,3.312,15014,3.393,15015,3.591,15016,3.393,15017,3.591,15018,3.591,15019,3.591,15020,3.591,15021,3.591,15022,3.393,15023,3.484,15024,3.393,15025,3.484]],["title/classes/SystemFilterParams.html",[0,0.239,21049,6.094]],["body/classes/SystemFilterParams.html",[0,0.393,2,0.972,3,0.017,4,0.017,5,0.008,7,0.128,27,0.449,30,0.001,32,0.173,33,0.596,95,0.149,99,1.869,101,0.012,103,0.001,104,0.001,112,0.891,122,2.381,157,2.627,190,2.049,193,4.958,199,6.328,200,2.799,201,4.832,202,2.099,203,7.662,298,3.952,300,4.763,899,4.16,1361,6.545,1470,6.38,2087,3.952,3382,4.181,5168,6.545,12401,8.045,15321,9.801,21049,10.01,21149,9.134,21150,11.522,21151,9.134,21152,9.134,21153,9.134,21154,9.134,21155,9.134]],["title/classes/SystemIdParams.html",[0,0.239,21044,6.094]],["body/classes/SystemIdParams.html",[0,0.419,2,1.08,3,0.019,4,0.019,5,0.009,7,0.143,26,2.683,27,0.399,30,0.001,32,0.126,48,6.398,95,0.149,99,2.077,101,0.013,103,0.001,104,0.001,112,0.951,190,1.823,200,3.11,202,2.332,296,3.18,307,7.438,855,4.926,6756,7.438,6757,8.241,21044,10.678,21156,12.171]],["title/classes/SystemMapper.html",[0,0.239,15351,6.094]],["body/classes/SystemMapper.html",[0,0.264,2,0.816,3,0.015,4,0.015,5,0.007,7,0.108,8,1.175,27,0.451,29,0.877,30,0.001,31,0.641,32,0.152,33,0.523,34,1.31,35,1.325,95,0.131,101,0.01,103,0,104,0,110,2.652,125,3.108,148,1.207,153,1.672,205,1.563,206,2.494,467,3.989,478,2.153,1593,4.712,4721,4.662,4751,5.407,5027,3.904,5163,7.333,6229,3.129,6310,3.856,6627,3.904,6851,6.728,8260,4.613,10401,5.075,10703,6.449,12965,9.049,13450,8.455,13511,7.197,13524,5.743,13525,5.743,13526,5.619,13527,5.743,13571,5.15,13574,5.006,13576,5.15,13579,5.15,13582,4.712,13586,5.075,13765,9.136,14244,4.712,14516,4.941,14941,5.15,14944,5.882,14946,5.882,14948,5.743,14950,5.882,14954,5.882,14955,5.882,14957,5.882,14959,5.743,14961,5.882,14962,5.15,15351,8.942,18127,6.449,19012,8.942,19013,8.571,19017,8.571,19021,6.728,21088,7.101,21089,7.101,21090,7.101,21091,9.439,21097,7.101,21107,6.728,21108,6.449,21157,7.669,21158,10.193,21159,9.439,21160,7.669,21161,7.669,21162,10.193,21163,7.669,21164,7.669,21165,7.669]],["title/modules/SystemModule.html",[252,1.836,1525,5.09]],["body/modules/SystemModule.html",[0,0.282,3,0.016,4,0.016,5,0.008,30,0.001,95,0.152,101,0.011,103,0.001,104,0.001,252,3.123,254,2.948,255,3.122,256,3.202,257,3.19,258,3.178,259,4.299,260,4.401,269,4.162,270,3.144,271,3.079,276,4.162,277,1.176,279,3.421,610,3.226,647,5.997,665,10.795,671,9.743,1525,10.653,2609,4.017,13739,6.645,14497,11.926,14543,7.579,15070,9.957,15328,10.392,15337,10.877,16125,7.18,21166,8.185,21167,8.185,21168,8.185,21169,8.185,21170,8.185,21171,8.185]],["title/classes/SystemOidcMapper.html",[0,0.239,21172,6.094]],["body/classes/SystemOidcMapper.html",[0,0.275,2,0.848,3,0.015,4,0.015,5,0.007,7,0.112,8,1.206,27,0.459,29,0.894,30,0.001,31,0.654,32,0.145,33,0.533,35,1.351,47,0.828,48,5.133,95,0.119,101,0.01,103,0.001,104,0.001,125,2.949,148,1.226,153,1.308,205,2.379,206,3.401,467,4.02,478,2.238,2160,5.277,5163,7.403,6310,4.009,8260,4.797,14508,10.874,14510,8.383,14627,5.971,14940,9.277,14962,5.354,14999,6.115,15002,6.115,15004,6.115,15005,6.115,15007,6.115,15009,6.115,15010,5.842,15011,5.842,15012,5.842,15013,5.971,17519,7.383,19012,9.175,19013,8.795,19017,8.795,19021,6.995,21108,6.705,21159,9.685,21172,9.175,21173,12.389,21174,7.973,21175,10.458,21176,7.973,21177,7.973,21178,10.458,21179,7.973,21180,7.973,21181,10.458,21182,7.973,21183,7.973,21184,7.973,21185,7.973]],["title/injectables/SystemOidcService.html",[589,0.926,14497,5.842]],["body/injectables/SystemOidcService.html",[0,0.284,3,0.016,4,0.016,5,0.008,7,0.116,8,1.232,12,4.817,26,2.582,27,0.467,29,0.818,30,0.001,31,0.598,32,0.133,33,0.488,34,1.824,35,1.236,36,2.654,40,5.153,95,0.155,99,1.685,100,2.874,101,0.011,103,0.001,104,0.001,135,1.546,148,1.057,153,1.351,228,1.492,277,1.183,279,3.442,317,2.885,346,6.034,393,4.066,400,2.453,433,1.015,478,2.312,579,2.357,589,1.424,591,1.96,657,2.444,671,9.191,675,4.193,3382,4.888,5163,4.531,14497,8.982,14508,6.487,15067,6.925,15070,7.998,15317,9.881,15321,6.487,15352,7.225,15354,7.225,15359,7.626,21172,7.225,21186,12.544,21187,8.235,21188,8.235,21189,8.235,21190,8.235,21191,11.855,21192,8.235,21193,8.235]],["title/interfaces/SystemProps.html",[159,0.714,21029,5.64]],["body/interfaces/SystemProps.html",[0,0.28,3,0.015,4,0.015,5,0.007,7,0.114,30,0.001,32,0.177,33,0.654,47,1.02,95,0.142,101,0.014,103,0.001,104,0.001,110,4.317,112,0.828,125,1.936,148,0.805,159,0.836,161,1.932,185,2.788,231,2.043,1470,4.549,1767,6.485,1770,4.289,1849,4.709,2087,4.584,3382,3.723,6627,6.357,13511,8.617,13599,5.384,14244,7.672,14257,8.044,14258,5.31,14259,5.31,14516,8.044,14907,9.388,14941,8.384,21026,7.533,21029,8.603,21030,7.533]],["title/injectables/SystemRepo.html",[589,0.926,15070,5.202]],["body/injectables/SystemRepo.html",[0,0.267,3,0.015,4,0.015,5,0.007,7,0.109,8,1.183,10,4.104,12,4.626,26,2.521,27,0.453,29,0.881,30,0.001,31,0.644,32,0.143,33,0.526,34,1.965,35,1.187,36,2.591,40,4.949,95,0.149,96,2.041,97,3.159,99,1.584,101,0.01,103,0,104,0,135,1.598,142,4.184,148,1.212,153,1.27,195,1.694,197,2.153,205,2.497,228,1.403,277,1.112,317,2.837,400,2.306,433,0.954,435,2.702,478,2.174,589,1.368,591,1.843,657,2.632,711,3.88,1770,4.656,1882,2.953,2444,6.793,2491,5.459,2510,8.328,3382,5.993,3596,5.054,3601,5.993,5163,6.33,9445,6.793,12842,7.17,15070,7.682,21029,8.328,21079,6.793,21194,7.743,21195,7.743,21196,7.743,21197,7.743,21198,10.258,21199,7.743,21200,7.743]],["title/classes/SystemResponseMapper.html",[0,0.239,21060,6.094]],["body/classes/SystemResponseMapper.html",[0,0.25,2,0.773,3,0.014,4,0.014,5,0.007,7,0.102,8,1.134,27,0.438,29,0.854,30,0.001,31,0.624,32,0.149,33,0.509,34,1.241,35,1.29,95,0.142,101,0.01,103,0,104,0,125,1.729,135,1.557,148,1.102,153,1.828,467,3.946,829,4.285,871,2.66,1593,4.465,2707,5.899,3382,5.464,4819,4.168,5027,3.699,5168,4.168,5347,5.723,6229,2.964,6310,3.653,6627,3.699,8260,4.371,9631,5.723,9634,6.375,10401,4.809,11561,5.441,12965,9.266,13511,4.567,13571,4.879,13574,4.743,13576,4.879,13579,4.879,13582,4.465,13586,4.809,13765,9.34,14516,4.681,14962,4.879,15049,5.324,15366,6.11,15368,5.899,15370,6.11,15667,6.375,17053,6.375,17055,6.375,17056,6.375,17057,6.375,17058,6.375,17059,6.375,17060,6.375,17061,6.375,17062,6.375,17063,6.375,17064,6.375,17065,6.375,17098,11.054,18127,6.11,18319,10.039,18322,10.672,18323,6.729,18331,6.729,21060,8.625,21107,6.375,21108,6.11,21201,11.938,21202,9.831,21203,9.831,21204,9.831,21205,9.831,21206,9.831,21207,9.831,21208,9.831,21209,7.266,21210,7.266,21211,7.266,21212,9.831,21213,7.266,21214,9.831,21215,7.266,21216,6.729]],["title/injectables/SystemRule.html",[589,0.926,1864,5.842]],["body/injectables/SystemRule.html",[0,0.245,3,0.013,4,0.013,5,0.007,7,0.1,8,1.117,27,0.466,29,0.907,30,0.001,31,0.663,32,0.147,33,0.541,35,1.275,95,0.141,101,0.009,103,0,104,0,122,2.874,135,1.543,148,1.09,158,2.621,183,4.203,185,3.32,228,1.289,277,1.021,290,3.191,400,2.118,433,0.876,478,1.997,589,1.292,591,1.693,653,2.936,711,3.998,1197,3.853,1237,2.097,1540,5.108,1675,5.829,1770,5.291,1775,6.511,1792,4.928,1801,7.938,1838,5.89,1864,8.147,1981,6.242,1985,6.02,1992,4.707,3382,6.352,3663,6.412,3664,4.775,3667,6.325,3669,4.775,3670,6.506,3671,5.211,3675,6.586,5027,3.621,5353,10.204,11258,8.5,11643,5.108,14907,4.775,21217,7.112,21218,11.832,21219,7.112,21220,9.688,21221,7.112,21222,7.112,21223,7.112,21224,9.688,21225,7.112,21226,11.832,21227,7.112,21228,7.112]],["title/classes/SystemScope.html",[0,0.239,15324,6.094]],["body/classes/SystemScope.html",[0,0.266,2,0.82,3,0.015,4,0.015,5,0.007,7,0.108,8,1.18,27,0.533,29,0.784,30,0.001,31,0.573,32,0.159,33,0.468,35,1.473,95,0.117,101,0.01,103,0,104,0,112,0.799,122,2.396,129,2.303,130,2.11,142,4.176,148,1.136,231,1.773,365,3.429,436,3.771,478,2.165,569,2.395,652,2.666,2474,6.838,5163,4.244,6229,5.651,6947,6.871,6948,6.871,6949,6.871,6954,6.871,6955,6.871,6956,5.259,6957,5.179,6958,5.259,6959,5.259,6968,5.179,6969,6.871,6970,5.259,6971,5.179,6972,5.259,6973,5.179,6974,7.71,9452,6.075,11957,10.073,13511,4.848,14510,5.54,14907,5.179,15324,11.889,21123,11.324,21124,11.324,21125,11.324,21229,12.229,21230,7.713,21231,7.713,21232,7.713]],["title/injectables/SystemService.html",[589,0.926,15328,5.09]],["body/injectables/SystemService.html",[0,0.292,3,0.016,4,0.016,5,0.008,7,0.119,8,1.255,10,4.355,12,4.908,26,2.611,27,0.473,29,0.921,30,0.001,31,0.673,32,0.15,33,0.549,34,1.448,35,1.26,36,2.683,40,5.251,95,0.145,99,1.735,101,0.011,103,0.001,104,0.001,122,1.769,135,1.42,142,3.084,148,1.077,228,1.536,277,1.218,317,2.908,335,7.309,400,2.525,433,1.045,589,1.451,591,2.018,657,2.49,711,3.977,1770,3.432,1882,3.234,2510,8.836,2609,4.162,3382,6.247,15067,7.13,15070,10.051,15328,7.975,15352,7.438,21233,8.478,21234,8.478,21235,8.478,21236,8.478,21237,8.478]],["title/injectables/SystemUc.html",[589,0.926,21034,5.842]],["body/injectables/SystemUc.html",[0,0.226,3,0.012,4,0.012,5,0.006,7,0.092,8,1.057,10,3.668,12,4.135,26,2.764,27,0.45,29,0.876,30,0.001,31,0.64,32,0.15,33,0.523,34,1.804,35,1.223,36,2.637,39,1.817,40,4.424,48,5.613,59,2.038,95,0.151,99,1.343,101,0.009,103,0,104,0,129,1.96,130,1.796,135,1.378,142,2.388,148,0.907,153,1.504,197,3.18,228,1.915,277,0.943,290,2.705,317,2.872,346,4.81,393,3.241,433,1.13,478,1.843,579,2.624,589,1.222,591,1.562,595,2.478,610,2.587,652,2.154,657,2.852,693,2.99,1472,3.671,1780,3.991,1862,6.83,1882,2.504,1961,3.949,2653,3.035,3382,5.854,4815,4.408,4816,4.476,4940,5.521,5163,3.612,5168,6.902,12965,7.925,15318,8.49,15320,8.49,15321,5.171,15328,9.373,15337,9.559,15354,5.759,15381,6.079,15570,7.71,16881,5.759,21034,7.71,21110,8.49,21150,10.59,21238,6.565,21239,6.565,21240,6.565,21241,6.565,21242,11.436,21243,6.565,21244,6.565,21245,6.565,21246,6.565,21247,6.565,21248,6.565,21249,6.565,21250,6.565]],["title/interfaces/TargetGroupProperties.html",[159,0.714,16144,5.64]],["body/interfaces/TargetGroupProperties.html",[0,0.261,3,0.014,4,0.014,5,0.007,7,0.106,30,0.001,32,0.142,33,0.595,47,1.04,95,0.115,96,1.995,101,0.016,103,0,104,0,110,3.494,112,0.789,155,3.205,157,2.326,159,1.169,161,1.797,205,2.06,223,4.321,224,2.198,225,3.881,226,3.429,231,1.312,232,2.051,233,2.362,289,7.025,1821,3.672,2802,4.042,3025,3.631,3884,4.876,6150,4.876,6155,5.008,6164,6.784,6519,6.595,6569,5.336,7182,4.1,7513,5.008,7514,4.507,8118,4.757,16131,6.364,16132,8.202,16133,8.202,16134,7.958,16135,8.202,16140,9.234,16144,9.853,16148,10.206,16149,8.893,16150,6.364,16151,6.364,16152,7.958,16153,6.144,16154,6.364,16155,6.364,16156,6.364,16157,6.364,16158,6.364,16159,6.364,16160,6.364,16161,6.364,16162,6.364,16163,6.364,16164,6.364,16165,6.364]],["title/classes/TargetInfoMapper.html",[0,0.239,16526,6.094]],["body/classes/TargetInfoMapper.html",[0,0.335,2,1.035,3,0.018,4,0.018,5,0.009,7,0.137,8,1.368,27,0.383,29,0.746,30,0.001,31,0.664,32,0.121,33,0.445,34,1.662,35,1.126,95,0.135,99,1.992,100,4.141,101,0.013,103,0.001,104,0.001,135,1.27,148,0.963,153,1.596,467,3.727,830,6.581,2980,4.411,4705,8.184,7814,9.978,16497,10.818,16526,10.409,19935,8.538,19937,8.538,21251,11.865,21252,11.865,21253,9.732,21254,9.732,21255,9.732]],["title/classes/TargetInfoResponse.html",[0,0.239,16497,5.64]],["body/classes/TargetInfoResponse.html",[0,0.311,2,0.961,3,0.017,4,0.017,5,0.008,7,0.127,27,0.487,29,0.692,30,0.001,31,0.784,32,0.154,33,0.413,34,2.365,47,0.921,95,0.103,101,0.012,103,0.001,104,0.001,112,0.885,157,2.85,190,2.034,202,2.075,205,2.646,296,3.234,304,4.459,433,1.396,458,3.614,821,4.598,868,4.333,2183,3.559,2300,7.114,2980,5.882,3165,5.896,3166,6.049,3167,6.049,4699,7.924,16497,10.854,19942,7.924,19943,8.364,21256,12.98]],["title/entities/Task.html",[205,1.416,2928,3.179]],["body/entities/Task.html",[0,0.168,3,0.006,4,0.006,5,0.003,7,0.158,26,1.693,27,0.459,30,0.001,31,0.353,32,0.155,33,0.513,34,0.832,47,0.733,55,0.978,83,2.756,95,0.131,96,0.765,101,0.011,103,0,104,0,112,0.696,122,2.391,125,1.958,129,1.881,130,1.723,135,1.788,141,1.244,142,1.055,145,1.826,148,1.277,153,1.751,157,1.45,158,1.069,159,0.501,190,2.094,195,2.629,196,3.286,197,3.123,205,0.993,206,0.944,211,4.093,223,3.558,224,0.843,225,1.872,226,1.315,229,1.148,231,0.503,232,0.786,233,0.906,277,0.417,290,2.802,402,3.387,527,1.228,567,1.103,569,2.291,578,1.517,579,1.395,628,1.728,652,2.479,653,2.012,692,3.483,703,1.956,711,3.328,756,2.919,813,1.622,874,1.695,962,2.046,1237,0.855,1312,1.362,1563,1.869,1821,1.408,1829,1.233,1842,2.219,1927,2.874,1936,2.958,2026,4.014,2032,3.776,2054,4.365,2126,1.695,2183,1.143,2564,1.869,2911,4.934,2915,4.093,2919,1.609,2924,3.139,2925,1.728,2926,3.388,2927,2.046,2928,5.02,2941,5.369,3128,3.709,3384,1.664,3541,3.271,3545,3.806,3620,4.506,3705,1.869,3993,6.035,3995,2.44,4046,4.112,4065,5.523,4069,3.322,4070,5.799,4071,4.884,4072,5.894,4073,6.396,4074,3.322,4085,5.991,4394,1.711,4541,1.7,4553,1.846,4598,2.44,4617,1.302,5231,1.824,5550,1.846,5551,1.894,5670,2.288,5705,2.994,6147,1.824,6152,3.1,6172,1.869,6173,1.824,6181,1.92,6188,2.011,6210,2.011,6609,3.388,7448,4.23,7475,2.545,7480,2.687,7491,2.994,7495,1.636,7507,2.285,7511,2.084,7513,1.92,7514,1.728,7515,1.824,7516,1.764,7717,2.545,7798,3.838,7830,1.894,7835,2.173,8617,2.687,8898,5.894,9680,2.126,9860,2.046,13654,4.615,13657,3.5,13658,4.717,13659,4.615,13858,2.225,15401,2.44,16506,3.956,16687,2.285,18859,2.44,20673,2.356,20693,5.525,20694,2.356,20711,5.525,20712,2.356,20731,2.225,20736,2.356,20898,2.44,20899,2.356,20901,2.44,21001,4.097,21257,2.545,21258,2.901,21259,2.901,21260,4.275,21261,2.901,21262,2.901,21263,2.901,21264,2.901,21265,2.901,21266,2.901,21267,2.901,21268,2.901,21269,2.901,21270,2.901,21271,2.901,21272,4.275,21273,2.901,21274,2.901,21275,2.545,21276,2.545,21277,2.545,21278,2.545,21279,2.545,21280,2.545,21281,5.526,21282,5.114,21283,4.961,21284,2.545,21285,2.545,21286,2.545,21287,2.44,21288,7.813,21289,2.545,21290,4.275,21291,6.473,21292,6.473,21293,2.545,21294,2.545,21295,2.545,21296,4.275,21297,2.545,21298,2.545,21299,2.545,21300,2.545,21301,2.545,21302,2.545,21303,2.545,21304,2.545,21305,2.545,21306,2.545,21307,2.545,21308,2.545,21309,4.275,21310,2.545,21311,2.545,21312,2.225,21313,2.545,21314,2.545,21315,2.545,21316,2.545,21317,2.545,21318,2.545,21319,4.275,21320,2.545,21321,2.545,21322,4.275,21323,2.545,21324,4.275,21325,2.44,21326,2.545,21327,6.473,21328,5.526,21329,5.526,21330,2.545,21331,5.526,21332,4.275,21333,2.545,21334,2.545,21335,2.545,21336,5.526,21337,2.545,21338,4.275,21339,2.545,21340,2.545,21341,6.473,21342,2.545,21343,2.545,21344,2.545,21345,2.545,21346,2.545,21347,2.545,21348,2.545,21349,4.275,21350,2.545,21351,2.545,21352,4.275,21353,2.545,21354,2.545,21355,2.545,21356,2.545,21357,2.44,21358,2.545,21359,6.473,21360,2.545,21361,2.545,21362,2.545,21363,2.545,21364,2.545,21365,2.545,21366,2.545,21367,2.545,21368,2.545,21369,2.545]],["title/modules/TaskApiModule.html",[252,1.836,20200,5.842]],["body/modules/TaskApiModule.html",[0,0.273,3,0.015,4,0.015,5,0.007,30,0.001,95,0.156,101,0.01,103,0.001,104,0.001,252,3.075,254,2.855,255,3.023,256,3.101,257,3.089,258,3.078,259,4.233,260,2.951,269,4.075,270,3.045,271,2.981,273,4.982,274,4.355,276,4.075,277,1.138,279,3.313,314,3.034,1856,7.561,1907,9.293,1910,8.099,1914,9.293,2653,3.664,3005,3.741,3286,4.87,7317,9.87,7321,7.34,8985,5.588,15133,9.87,20200,12.266,20748,10.209,20759,11.083,21370,7.926,21371,7.926,21372,7.926,21373,11.083,21374,11.083,21375,7.926,21376,10.209,21377,7.926,21378,7.926]],["title/entities/TaskBoardElement.html",[205,1.416,2938,5.64]],["body/entities/TaskBoardElement.html",[0,0.314,3,0.017,4,0.017,5,0.008,7,0.128,27,0.359,30,0.001,32,0.114,95,0.142,96,3.277,101,0.012,103,0.001,104,0.001,112,0.89,190,1.636,195,2.493,196,4.112,205,2.323,206,2.964,224,2.647,231,1.58,232,2.47,457,5.055,1087,4.213,1373,6.854,1842,4.15,1938,4.902,2688,5.139,2892,6.825,2908,8.974,2928,5.96,2929,5.729,2930,8.033,2932,7.664,2938,9.25,2980,5.901,3293,6.99,3319,9.581,3860,6.214,4776,6.678,5254,6.426,5670,4.279,5671,7.996,7850,7.179,7851,7.541,7852,6.678,15400,8.44,20663,9.996,21379,11.393,21380,9.114]],["title/controllers/TaskController.html",[314,2.659,21376,6.094]],["body/controllers/TaskController.html",[0,0.158,3,0.009,4,0.009,5,0.004,7,0.065,8,0.814,10,3.437,27,0.464,29,0.904,30,0.001,31,0.661,32,0.147,33,0.539,35,1.365,36,2.81,56,3.331,70,3.593,95,0.147,100,2.998,101,0.006,103,0,104,0,129,1.372,130,1.257,135,1.683,141,4.133,148,1.167,153,0.754,190,2.052,195,1.544,197,2.389,202,1.056,228,1.279,274,1.921,277,0.66,298,1.988,314,1.759,316,2.217,317,3.003,325,6.909,326,3.265,340,2.961,349,7.166,365,4.285,379,3.593,388,3.684,389,3,392,2.403,393,2.269,395,2.472,398,2.49,400,1.369,649,2.889,650,3.731,652,1.965,657,2.615,675,2.34,863,3.883,871,4.018,883,8.705,1713,3.731,1714,3.441,1715,4.032,2928,3.932,3189,8.2,3209,2.37,3211,2.529,3246,6.974,3273,3,3286,2.824,3287,2.613,4030,4.245,5741,2.737,7116,3.62,7363,3.731,7372,8.104,7378,4.256,7580,7.848,8898,6.379,15317,6.767,15404,3.865,15410,3.865,16448,4.256,19194,3.865,19195,4.256,19209,4.032,19211,4.032,19324,6.191,20755,11.168,21373,7.224,21374,7.224,21376,6.191,21381,4.596,21382,7.955,21383,8.59,21384,7.057,21385,7.955,21386,4.596,21387,4.596,21388,4.596,21389,7.057,21390,4.596,21391,4.596,21392,4.596,21393,7.057,21394,4.596,21395,4.596,21396,4.596,21397,4.596,21398,7.057,21399,4.596,21400,4.596,21401,7.057,21402,4.596,21403,4.596,21404,7.057,21405,4.596,21406,4.032,21407,4.596,21408,4.596,21409,3.865,21410,3.731,21411,4.596,21412,4.596,21413,4.596,21414,7.057,21415,4.596,21416,4.596,21417,4.596,21418,4.596,21419,4.596,21420,9.638,21421,4.596,21422,4.596,21423,7.057,21424,10.398,21425,4.596,21426,4.596,21427,4.596,21428,4.596,21429,4.596,21430,4.596]],["title/classes/TaskCopyApiParams.html",[0,0.239,7372,5.842]],["body/classes/TaskCopyApiParams.html",[0,0.38,2,0.919,3,0.016,4,0.016,5,0.008,7,0.121,27,0.434,30,0.001,32,0.137,33,0.584,34,2.182,47,0.907,95,0.126,100,3.845,101,0.011,103,0.001,104,0.001,112,0.86,157,3.037,190,1.978,200,2.648,201,4.71,202,1.986,300,4.643,304,5.44,855,4.91,1562,10.061,1936,5.173,2026,5.919,2032,4.188,2602,6.698,2928,6.174,3166,6.82,3167,6.82,3620,6.463,5705,7.453,7123,11.206,7372,9.265,8018,8.679,12394,9.666,15414,8.003,15415,8.003,21431,10.2,21432,8.643]],["title/injectables/TaskCopyService.html",[589,0.926,3252,5.472]],["body/injectables/TaskCopyService.html",[0,0.185,3,0.01,4,0.01,5,0.005,7,0.076,8,0.916,26,1.635,27,0.438,29,0.853,30,0.001,31,0.652,32,0.16,33,0.509,35,1.208,36,1.681,47,0.382,95,0.137,99,1.1,101,0.007,103,0,104,0,125,2.773,135,1.572,148,0.934,153,0.882,155,1.706,157,1.238,158,1.982,228,1.712,277,0.772,279,2.248,290,3.119,317,2.737,326,3.966,402,4.169,433,0.979,478,1.51,578,2.811,589,1.059,591,1.28,652,2.688,657,2.665,703,1.67,896,4.442,1317,4.993,1914,8.214,1936,2.525,2032,4.428,2802,2.152,2926,5.986,2928,6.199,3241,4.236,3246,6.449,3252,6.257,3255,8.83,3261,9.493,3271,11.433,3273,7.605,3284,4.236,3285,4.027,3286,3.304,3287,3.058,3304,4.718,3305,4.236,3306,4.522,3341,4.522,3851,3.994,5362,6.969,5405,4.98,6144,3.421,6609,2.892,7272,10.134,7273,4.98,7277,7.356,7286,9.661,7298,10.307,7300,8.287,7311,6.257,7345,4.522,7628,4.366,7646,4.522,7653,4.98,12237,4.98,13654,3.94,13659,3.94,21433,11.65,21434,9.446,21435,7.944,21436,4.718,21437,5.378,21438,7.944,21439,12.051,21440,5.378,21441,11.16,21442,5.378,21443,7.944,21444,12.632,21445,5.378,21446,7.944,21447,5.378,21448,5.378,21449,5.378,21450,5.378,21451,5.378,21452,5.378,21453,5.378,21454,5.378,21455,5.378,21456,5.378,21457,5.378,21458,5.378,21459,5.378,21460,4.98,21461,5.378,21462,4.98,21463,5.378,21464,5.378,21465,5.378,21466,5.378]],["title/injectables/TaskCopyUC.html",[589,0.926,21373,5.842]],["body/injectables/TaskCopyUC.html",[0,0.145,3,0.008,4,0.008,5,0.004,7,0.059,8,0.76,26,2.48,27,0.463,29,0.877,30,0.001,31,0.641,32,0.147,33,0.523,35,1.326,36,2.341,39,1.164,47,0.872,95,0.137,99,0.861,101,0.006,102,2.229,103,0,104,0,122,0.878,125,3.109,134,1.486,135,1.571,148,1.047,153,1.332,158,1.55,183,4.037,228,1.918,277,0.604,279,1.758,290,2.951,317,2.703,339,1.234,340,2.71,402,2.358,433,0.812,478,1.181,528,2.128,569,3.435,579,2.631,589,0.878,591,1.001,610,1.657,612,2.824,629,2.214,652,2.824,657,2.422,693,1.915,813,2.352,980,4.504,981,2.557,1080,1.45,1115,1.61,1268,4.99,1312,1.975,1328,2.229,1381,2.824,1390,2.613,1626,3.654,1780,2.557,1783,2.584,1829,1.788,1832,2.676,1862,4.907,1910,6.504,1914,7.801,1936,1.975,2026,3.215,2032,3.793,2091,3.895,2218,1.879,2219,2.115,2220,2.041,2221,2.644,2602,2.557,2653,1.944,2654,2.505,2923,2.229,2926,5.367,2928,5.064,3246,5.348,3252,8.715,3255,8.107,3261,9.671,3271,9.286,3273,2.745,3286,2.584,3287,2.392,3340,3.69,3341,3.537,3342,3.895,3862,6.397,3924,2.783,4354,4.244,5051,3.226,5091,2.245,5690,7.544,5705,4.048,6606,2.333,7334,6.829,7374,8.511,7497,3.414,7504,3.149,7614,3.537,7628,5.348,7630,3.895,7666,3.69,7667,7.729,7673,3.69,7679,3.69,7680,3.69,7681,2.644,8985,2.965,10231,3.69,13076,6.829,14307,3.414,15422,3.895,15429,3.895,15430,3.69,15433,3.895,15449,5.54,18302,3.537,18681,3.313,19257,3.895,20479,6.101,20525,3.69,20700,3.313,20964,6.397,21373,5.54,21441,11.156,21467,12.047,21468,6.588,21469,6.588,21470,6.588,21471,8.121,21472,6.588,21473,8.121,21474,4.206,21475,6.588,21476,4.206,21477,8.102,21478,6.588,21479,4.206,21480,4.206,21481,6.588,21482,4.206,21483,6.588,21484,9.979,21485,4.206,21486,4.206,21487,6.588,21488,4.206,21489,6.588,21490,4.206,21491,3.895,21492,3.895,21493,3.69,21494,4.206,21495,4.206,21496,4.206,21497,3.537,21498,3.895,21499,4.206,21500,4.206,21501,4.206,21502,6.588,21503,4.206,21504,4.206,21505,3.895,21506,4.206,21507,4.206,21508,4.206,21509,4.206,21510,4.206,21511,4.206]],["title/interfaces/TaskCreate.html",[159,0.714,13656,5.202]],["body/interfaces/TaskCreate.html",[3,0.016,4,0.016,5,0.008,7,0.119,30,0.001,31,0.476,32,0.158,33,0.58,47,1,55,2.415,83,3.174,95,0.124,99,1.739,101,0.017,103,0.001,104,0.001,112,0.851,122,2.802,157,1.956,159,1.349,161,2.018,231,2.2,290,2.846,478,2.385,652,1.732,692,5.145,703,2.638,1936,3.989,2026,6.405,2032,4.574,2926,5.862,3128,4.915,3541,5.659,3545,4.382,3993,4.964,4046,5.546,4065,5.705,4069,5.793,4070,5.991,4071,5.623,4072,5.623,4073,6.102,4074,5.793,5705,8.065,6609,4.57,8898,5.623,13652,10.338,13653,6.898,13654,6.226,13655,6.362,13656,8.161,13657,6.102,13658,6.362,13659,6.226]],["title/classes/TaskCreateParams.html",[0,0.239,21512,6.094]],["body/classes/TaskCreateParams.html",[0,0.326,2,0.732,3,0.013,4,0.013,5,0.006,7,0.097,27,0.498,30,0.001,31,0.607,32,0.169,33,0.62,34,1.993,47,0.937,83,4.02,95,0.133,99,1.408,101,0.009,103,0,104,0,112,0.74,155,3.005,157,3.152,185,3.999,190,2.271,194,4.565,195,2.553,196,3.133,197,2.634,200,2.108,201,4.911,202,1.581,296,2.475,298,2.976,299,4.769,300,4.841,304,5.761,854,6.809,855,4.384,1216,8.309,1237,2.793,1936,4.447,2026,5.286,2032,3.6,2928,6.041,3014,6.269,3166,6.23,3167,6.23,3541,3.572,3545,5.587,3993,5.533,4046,7.071,5705,6.655,8021,7.965,8031,5.586,8033,6.458,9574,5.82,10237,5.586,13656,8.111,16951,6.371,21431,10.896,21512,8.309,21513,6.88,21514,8.771,21515,6.88,21516,6.371,21517,6.88,21518,6.88,21519,6.88,21520,6.371]],["title/classes/TaskFactory.html",[0,0.239,20782,6.094]],["body/classes/TaskFactory.html",[0,0.153,2,0.473,3,0.008,4,0.008,5,0.004,7,0.062,8,0.793,27,0.523,29,1.002,30,0.001,31,0.708,32,0.166,33,0.569,34,1.436,35,1.386,47,0.488,55,2.266,59,3.179,95,0.124,99,0.909,101,0.006,103,0,104,0,112,0.537,113,4.316,127,4.731,129,3.576,130,3.191,135,1.522,148,1.013,153,1.38,157,1.936,172,2.923,185,2.356,192,2.445,195,1.505,197,2.633,205,2.087,206,2.236,228,1.246,231,1.192,290,2.561,326,4.924,374,2.974,433,0.847,436,3.796,467,2.002,478,1.247,501,7.152,502,5.251,505,3.814,506,5.251,507,5.275,508,3.814,509,3.814,510,3.814,511,3.754,512,4.282,513,4.665,514,6.321,515,5.59,516,6.936,517,2.484,522,2.464,523,3.814,524,2.484,525,4.949,526,5.092,527,4.008,528,4.79,529,3.783,530,2.464,531,2.323,532,4.018,533,2.372,534,2.323,535,2.464,536,2.484,537,4.592,538,2.464,539,7.257,540,4.097,541,6.47,542,2.484,543,4.081,544,2.464,545,2.484,546,2.464,547,2.484,548,2.464,549,2.761,550,2.596,551,2.464,552,5.912,553,2.484,554,2.464,555,3.814,556,3.479,557,3.814,558,2.484,559,2.39,560,2.355,561,1.994,562,2.464,563,2.464,564,2.464,565,2.484,566,2.484,567,1.689,568,2.464,569,1.379,570,2.484,571,2.72,572,2.464,573,2.484,575,2.549,576,2.62,577,5.638,652,2.207,697,3.191,698,3.408,703,2.611,813,2.484,981,2.701,1224,3.191,2928,3.147,4046,5.49,6609,3.698,7705,3.5,7706,3.607,7710,6.828,7715,3.5,8898,5.566,11852,6.032,11853,4.114,13657,3.191,16687,7.457,20782,7.379,20788,4.114,21312,7.261,21325,7.961,21521,4.443,21522,4.443,21523,6.876,21524,4.443,21525,4.443,21526,4.443,21527,6.876,21528,4.443]],["title/classes/TaskListResponse.html",[0,0.239,21409,5.842]],["body/classes/TaskListResponse.html",[0,0.313,2,0.689,3,0.012,4,0.012,5,0.006,7,0.091,27,0.471,29,0.496,30,0.001,31,0.637,32,0.169,33,0.547,34,1.792,47,0.938,55,2.799,56,5.859,59,2.821,70,6.32,83,3.311,95,0.13,99,1.326,100,2.262,101,0.012,103,0,104,0,112,0.71,122,1.352,125,1.542,134,2.29,157,2.415,185,2.221,190,2.042,197,1.802,201,4.82,202,1.489,231,1.575,296,3.499,298,2.803,339,3.513,402,3.755,403,3.278,430,4.297,431,4.479,433,1.12,435,2.262,436,3.37,458,2.593,460,3.939,462,3.939,862,7.92,863,6.83,864,5.212,866,3.219,868,5.034,869,3.181,870,3.538,871,2.372,872,4.569,873,5.78,874,5.308,875,4.289,876,3.365,877,4.569,878,4.569,880,4.123,881,3.538,1372,3.411,2026,5.12,2054,7.271,2126,3.786,2183,2.554,2357,3.685,2392,2.472,2808,4.289,2928,4.802,3023,7.066,3545,3.342,4046,4.23,4047,4.073,4060,5.449,7119,5.104,7120,4.351,18851,8.518,21282,5.261,21283,5.104,21409,7.64,21410,10.561,21529,6.001,21530,6.48,21531,6.48,21532,7.376,21533,6.001,21534,6.001,21535,6.001]],["title/classes/TaskMapper.html",[0,0.239,21406,6.094]],["body/classes/TaskMapper.html",[0,0.236,2,0.728,3,0.013,4,0.013,5,0.006,7,0.096,8,1.088,27,0.425,29,0.828,30,0.001,31,0.707,32,0.145,33,0.494,34,1.169,35,1.25,95,0.133,99,1.401,100,4.407,101,0.009,103,0,104,0,135,1.647,148,1.069,153,1.548,157,2.173,197,1.903,326,3.587,402,3.378,430,2.804,431,2.922,467,3.896,478,1.922,830,5.235,837,3.379,2026,5.271,2054,4.743,2392,2.611,2928,4.319,3541,3.554,3545,4.868,3830,8.28,4046,6.161,5705,5.799,5779,6.005,7397,8.74,7398,8.74,9680,8.532,10843,8.28,13655,8.719,13656,8.719,18851,7.662,19106,8.74,21283,5.391,21287,5.756,21312,5.25,21406,8.28,21410,9.453,21460,8.74,21512,10.215,21536,6.845,21537,9.438,21538,9.438,21539,9.438,21540,6.845,21541,9.438,21542,10.215,21543,6.845,21544,9.438,21545,6.845,21546,6.005,21547,6.845,21548,6.845,21549,6.845,21550,9.438,21551,6.845,21552,6.845,21553,6.845,21554,6.845,21555,6.845,21556,6.845,21557,6.845,21558,6.845,21559,6.845,21560,6.845,21561,6.845,21562,6.845,21563,6.845,21564,6.845,21565,9.438,21566,6.845,21567,6.845,21568,6.845,21569,10.782,21570,9.438,21571,9.438,21572,9.438]],["title/modules/TaskModule.html",[252,1.836,15133,5.202]],["body/modules/TaskModule.html",[0,0.274,3,0.015,4,0.015,5,0.007,30,0.001,95,0.147,101,0.01,103,0.001,104,0.001,252,3.081,254,2.866,255,3.035,256,3.113,257,3.101,258,3.09,259,4.241,260,4.341,269,4.086,270,3.057,271,2.993,276,4.086,277,1.143,279,3.326,610,3.136,1317,5.002,1910,8.108,1913,10.12,1914,9.303,2802,3.184,3252,11.125,3286,4.89,3287,4.525,3842,10.12,3851,4.001,5691,10.576,7317,9.88,15133,10.945,20955,11.467,21573,7.957,21574,7.957,21575,7.957,21576,7.957,21577,7.957]],["title/interfaces/TaskParent.html",[159,0.714,6152,4.42]],["body/interfaces/TaskParent.html",[0,0.187,3,0.006,4,0.006,5,0.003,7,0.164,8,0.626,26,1.955,27,0.13,30,0.001,31,0.185,32,0.131,34,0.927,35,0.383,47,0.712,55,1.09,83,2.573,95,0.136,96,0.871,101,0.012,103,0,104,0,112,0.625,122,2.389,125,1.904,135,1.815,141,1.417,142,1.202,145,2.035,148,1.307,153,1.719,157,0.761,158,1.218,159,0.558,161,0.785,195,2.445,196,3.142,197,3.251,205,1.107,223,3.37,224,0.96,225,2.086,226,1.498,229,1.307,231,0.573,232,0.896,233,1.032,277,0.475,290,2.859,402,3.592,527,1.399,567,1.256,569,2.484,578,1.728,579,1.554,628,1.968,652,2.498,653,2.242,692,3.262,703,1.026,711,3.464,756,3.165,813,1.848,874,1.931,962,2.33,1237,0.975,1312,1.552,1563,2.129,1821,1.604,1829,1.405,1842,2.473,1927,3.202,1936,1.552,2026,3.904,2032,3.359,2054,4.788,2126,1.931,2183,1.303,2564,2.129,2911,4.085,2915,3.011,2919,1.833,2924,3.498,2925,1.968,2926,2.92,2927,2.33,2928,4.968,2941,5.769,3128,3.985,3384,1.896,3541,2.819,3545,2.801,3620,4.806,3705,2.129,3993,5.863,3995,2.779,4046,2.158,4065,5.934,4069,3.702,4070,6.231,4071,5.295,4072,6.287,4073,6.823,4074,3.702,4085,6.495,4394,1.949,4541,1.154,4553,2.103,4617,1.483,5231,2.078,5550,2.103,5551,2.158,5670,2.549,5705,2.031,6147,2.078,6152,4.396,6172,5.154,6173,2.078,6181,2.188,6188,2.291,6210,2.291,6609,1.778,7448,4.64,7491,3.336,7495,1.864,7507,2.603,7511,2.374,7513,2.188,7514,1.968,7515,2.078,7516,2.009,7798,2.603,7830,2.158,7835,2.475,8898,5.295,9680,2.422,9860,2.33,13654,2.422,13657,3.9,13658,2.475,13659,2.422,13858,2.535,15401,2.779,16506,4.408,16687,2.603,18859,2.779,20673,2.683,20693,5.991,20694,2.683,20711,5.991,20712,2.683,20731,2.535,20736,2.683,20898,2.779,20899,2.683,20901,2.779,21001,4.566,21257,2.9,21260,2.9,21272,2.9,21275,2.9,21276,2.9,21277,2.9,21278,2.9,21279,2.9,21280,2.9,21281,6.062,21282,5.61,21283,5.443,21284,2.9,21285,2.9,21286,2.9,21287,2.779,21288,8.334,21289,2.9,21290,4.763,21291,7.019,21292,7.019,21293,2.9,21294,2.9,21295,2.9,21296,4.763,21297,2.9,21298,2.9,21299,2.9,21300,2.9,21301,2.9,21302,2.9,21303,2.9,21304,2.9,21305,2.9,21306,2.9,21307,2.9,21308,2.9,21309,4.763,21310,2.9,21311,2.9,21312,2.535,21313,2.9,21314,2.9,21315,2.9,21316,2.9,21317,2.9,21318,2.9,21319,4.763,21320,2.9,21321,2.9,21322,4.763,21323,2.9,21324,4.763,21325,2.779,21326,2.9,21327,7.019,21328,6.062,21329,6.062,21330,2.9,21331,6.062,21332,4.763,21333,2.9,21334,2.9,21335,2.9,21336,6.062,21337,2.9,21338,4.763,21339,2.9,21340,2.9,21341,7.019,21342,2.9,21343,2.9,21344,2.9,21345,2.9,21346,2.9,21347,2.9,21348,2.9,21349,4.763,21350,2.9,21351,2.9,21352,4.763,21353,2.9,21354,2.9,21355,2.9,21356,2.9,21357,2.779,21358,2.9,21359,7.019,21360,2.9,21361,2.9,21362,2.9,21363,2.9,21364,2.9,21365,2.9,21366,2.9,21367,2.9,21368,2.9,21369,2.9,21578,3.305]],["title/interfaces/TaskProperties.html",[159,0.714,13657,4.989]],["body/interfaces/TaskProperties.html",[3,0.014,4,0.014,5,0.007,7,0.106,30,0.001,31,0.423,32,0.173,33,0.648,47,0.923,55,2.281,83,2.938,95,0.115,99,1.546,101,0.016,103,0,104,0,112,0.788,122,2.924,157,1.739,159,1.299,161,1.794,231,2.102,290,3.14,478,2.12,652,2.472,692,5.724,703,3.765,1936,5.694,2026,4.924,2032,5.127,2926,6.522,3128,5.469,3541,5.239,3545,3.896,3993,7.085,4046,4.931,4065,5.072,4069,5.15,4070,5.326,4071,4.999,4072,4.999,4073,5.425,4074,5.15,5705,6.2,6609,6.522,8898,8.026,13652,9.954,13653,6.132,13654,5.534,13655,5.656,13656,5.656,13657,7.247,13658,9.081,13659,8.886]],["title/injectables/TaskRepo.html",[589,0.926,1914,4.898]],["body/injectables/TaskRepo.html",[0,0.126,3,0.007,4,0.007,5,0.003,7,0.104,8,0.68,10,2.361,12,2.661,18,2.985,26,2.683,27,0.465,29,0.885,30,0.001,31,0.647,32,0.161,33,0.528,34,0.625,35,1.367,36,2.686,39,1.013,40,2.847,53,2.683,56,1.728,58,2.39,59,3.093,72,1.675,83,1.718,95,0.12,96,0.965,98,2.202,99,0.749,101,0.005,103,0,104,0,122,1.547,125,2.023,129,1.093,130,1.001,135,1.7,142,2.146,148,1.037,153,1.974,157,0.843,172,4.634,195,1.86,205,0.746,206,1.919,224,1.063,231,1.023,277,0.526,317,2.923,365,2.623,374,3.677,388,3.178,436,2.519,478,1.028,532,4.383,540,4.458,589,0.787,591,0.871,595,1.382,652,2.031,657,2.494,728,6.065,734,2.477,735,2.687,736,3.659,759,2.18,760,2.225,761,2.202,762,2.225,763,2.537,764,2.202,765,2.225,766,1.969,770,2.301,788,2.496,789,3.222,790,2.496,802,2.423,812,2.359,869,1.797,1563,2.359,1914,4.16,1936,3.991,2026,3.617,2032,2.243,2229,2.683,2231,4.834,2474,5.062,2547,2.301,2907,3.385,2928,5.677,3383,5.476,3545,3.043,3620,1.852,3888,9.193,3950,2.581,3993,2.139,5089,3.962,5091,3.957,5217,7.935,5224,2.301,5300,2.741,5412,4.876,5413,4.962,5729,3.355,5741,5.551,6229,3.468,6606,4.714,7580,5.608,7745,2.808,7749,2.808,7866,7.515,7895,2.683,7896,2.683,8898,2.423,10622,3.079,10651,3.39,10655,5.176,19174,3.39,20552,4.525,21312,2.808,21579,3.661,21580,5.9,21581,7.411,21582,7.411,21583,6.863,21584,5.9,21585,5.9,21586,3.661,21587,3.661,21588,3.661,21589,5.464,21590,7.411,21591,3.661,21592,3.661,21593,3.39,21594,3.661,21595,5.9,21596,3.661,21597,5.9,21598,3.661,21599,3.661,21600,9.564,21601,3.661,21602,3.661,21603,3.661,21604,3.661,21605,3.661,21606,3.39,21607,3.39,21608,3.39,21609,3.39,21610,9.321,21611,3.661,21612,3.661,21613,3.661,21614,3.661,21615,3.661,21616,3.661,21617,3.661,21618,3.661,21619,3.661,21620,3.661,21621,3.661,21622,3.661,21623,3.661,21624,2.808,21625,3.661,21626,3.661,21627,3.661,21628,3.661,21629,3.661,21630,3.661,21631,3.661,21632,3.661,21633,3.661,21634,3.661,21635,3.661,21636,3.661,21637,3.661,21638,3.661,21639,3.661,21640,3.661,21641,3.661,21642,9.963,21643,7.411,21644,3.212,21645,3.212,21646,3.212,21647,3.661,21648,7.411,21649,3.661,21650,3.661,21651,3.661,21652,3.661,21653,3.661,21654,3.661,21655,3.661,21656,3.661,21657,3.661,21658,3.661,21659,5.9,21660,3.661,21661,3.661,21662,3.661,21663,3.661,21664,3.661,21665,3.661,21666,3.212,21667,3.661,21668,5.9,21669,3.661,21670,3.661,21671,3.661,21672,3.212,21673,3.661,21674,3.212,21675,3.661,21676,3.39,21677,2.972,21678,3.661,21679,3.212,21680,3.661,21681,3.661,21682,3.39,21683,3.661,21684,3.39,21685,3.661,21686,3.661]],["title/classes/TaskResponse.html",[0,0.239,21410,5.64]],["body/classes/TaskResponse.html",[0,0.286,2,0.608,3,0.011,4,0.011,5,0.005,7,0.08,27,0.535,29,0.438,30,0.001,31,0.667,32,0.174,33,0.603,34,1.949,47,0.988,55,1.964,56,3.92,70,4.229,83,3.664,95,0.123,99,1.169,100,2.899,101,0.011,103,0,104,0,112,0.649,122,1.733,129,2.48,130,2.272,134,2.935,157,2.828,185,2.846,190,2.419,197,1.589,201,5.061,202,1.313,231,0.99,296,3.597,298,2.472,339,2.437,402,4.083,403,4.202,430,4.673,431,4.871,433,1.024,435,2.899,458,2.286,460,3.474,462,3.474,821,2.909,862,5.161,863,3.144,864,3.278,880,3.636,881,3.12,1361,3.278,1372,4.372,2026,5.567,2054,7.906,2126,3.338,2183,2.252,2357,4.723,2392,3.168,2808,5.497,2928,5.221,3020,5.856,3023,6.673,3545,5.047,4046,6.387,4047,6.15,4060,4.805,7119,6.542,7120,5.577,18851,8.719,21282,7.943,21283,7.707,21409,4.805,21410,10.217,21529,5.292,21532,7.943,21533,5.292,21534,5.292,21535,5.292,21687,5.714,21688,5.714,21689,5.714,21690,5.714,21691,5.714,21692,5.714,21693,5.714,21694,5.714,21695,5.714,21696,5.714,21697,5.714,21698,5.714,21699,5.714,21700,5.714,21701,5.714]],["title/injectables/TaskRule.html",[589,0.926,1876,5.64]],["body/injectables/TaskRule.html",[0,0.22,3,0.012,4,0.012,5,0.006,7,0.09,8,1.037,27,0.445,29,0.866,30,0.001,31,0.633,32,0.148,33,0.516,35,1.205,95,0.141,101,0.008,103,0,104,0,122,2.578,135,1.691,141,3.857,148,1.222,183,4.543,195,1.398,197,1.776,205,2.778,228,1.886,277,0.917,290,3.249,433,1.108,478,1.793,589,1.199,591,1.52,652,2.519,653,2.637,693,2.909,711,3.661,1197,7.385,1237,1.883,1775,6.218,1778,7.103,1792,4.426,1801,7.677,1829,2.715,1838,5.467,1868,9.506,1872,10.306,1876,7.302,1981,5.795,1985,5.588,1992,4.227,2928,6.179,3620,3.232,3663,5.953,3664,4.289,3667,5.871,3669,4.289,3670,6.039,6609,3.435,7757,5.604,7758,5.604,7759,5.371,7760,7.89,15521,8.329,19165,7.89,19167,8.329,21702,6.387,21703,10.464,21704,6.387,21705,8.994,21706,6.387,21707,6.387,21708,6.387,21709,6.387,21710,8.994,21711,6.387,21712,6.387,21713,6.387,21714,8.994,21715,6.387]],["title/classes/TaskScope.html",[0,0.239,21600,6.094]],["body/classes/TaskScope.html",[0,0.149,2,0.46,3,0.008,4,0.008,5,0.004,7,0.061,8,0.777,26,2.842,27,0.525,29,0.987,30,0.001,31,0.722,32,0.165,33,0.589,35,1.507,39,2.289,83,3.459,95,0.106,96,1.141,99,0.886,101,0.006,103,0,104,0,112,0.526,122,2.622,129,1.292,130,2.767,135,1.218,142,3.395,148,1.26,153,0.71,195,1.81,224,1.257,231,1.168,365,4.972,436,2.997,478,1.215,569,1.344,652,2.626,1936,3.884,2032,2.561,2474,6.888,2928,1.981,3545,4.815,3912,6.716,4046,6.603,4070,5.832,6229,4.955,6606,6.736,6609,5.44,6947,4.524,6948,4.524,6949,4.524,6954,4.524,6955,4.524,6956,2.951,6957,2.906,6958,2.951,6959,2.951,6968,2.906,6969,4.524,6970,2.951,6971,2.906,6972,2.951,6973,2.906,6974,8.155,7710,3.514,7745,5.167,7886,3.514,8898,4.459,9452,3.409,11949,4.008,11952,4.008,11956,4.008,11957,7.257,11958,6.239,15537,6.239,15538,6.239,15540,3.797,21600,12.068,21644,5.911,21645,5.911,21646,8.19,21666,8.19,21716,12.884,21717,6.737,21718,6.737,21719,6.737,21720,6.737,21721,6.737,21722,6.737,21723,6.737,21724,6.737,21725,6.737,21726,6.737,21727,6.737,21728,4.328,21729,6.737,21730,4.328,21731,6.737,21732,6.737,21733,4.328,21734,6.737,21735,6.737,21736,4.328,21737,6.737,21738,4.328,21739,6.737,21740,4.328,21741,6.737,21742,4.328,21743,6.737,21744,4.328,21745,6.737,21746,4.328,21747,4.328,21748,4.328,21749,4.328,21750,4.328,21751,4.328]],["title/injectables/TaskService.html",[589,0.926,5691,5.202]],["body/injectables/TaskService.html",[0,0.234,3,0.013,4,0.013,5,0.006,7,0.095,8,1.083,10,3.758,12,4.236,26,2.784,27,0.479,29,0.934,30,0.001,31,0.682,32,0.161,33,0.557,35,1.344,36,2.785,59,2.916,95,0.147,98,4.09,99,1.391,101,0.009,103,0,104,0,122,1.96,135,1.225,148,0.929,172,3.994,228,1.951,277,0.976,279,2.842,317,2.985,433,1.158,478,1.909,540,4.077,589,1.252,591,1.618,595,2.566,652,2.569,657,2.656,1317,4.274,1914,8.884,2026,5.665,2483,4.981,2487,5.355,2802,2.72,2928,6.115,3851,3.418,3993,3.972,5217,8.186,5691,7.034,6606,5.21,7279,9.277,7866,7.134,20766,6.296,20955,10.486,20964,5.355,20998,6.296,21312,5.214,21436,5.964,21493,5.964,21583,9.967,21593,6.296,21666,5.964,21752,6.798,21753,9.394,21754,6.798,21755,9.394,21756,6.798,21757,9.394,21758,6.798,21759,9.394,21760,6.798,21761,6.798,21762,6.798,21763,6.798,21764,6.798,21765,6.798,21766,6.798,21767,6.798]],["title/interfaces/TaskStatus.html",[159,0.714,4065,4.665]],["body/interfaces/TaskStatus.html",[3,0.015,4,0.015,5,0.007,7,0.114,30,0.001,31,0.455,32,0.171,47,0.942,55,2.781,83,3.081,95,0.121,99,1.661,101,0.016,103,0.001,104,0.001,112,0.826,122,2.956,157,1.869,159,1.33,161,1.928,231,2.041,290,2.785,478,2.279,652,1.655,692,4.995,703,2.521,1936,3.812,2026,5.164,2032,4.475,2926,5.692,3128,4.772,3541,5.495,3545,4.187,3993,4.743,4046,5.3,4065,7.106,4069,8.507,4070,8.796,4071,8.257,4072,8.257,4073,8.961,4074,8.507,5705,6.503,6609,4.366,8898,5.373,13652,9.827,13653,6.591,13654,5.949,13655,6.079,13656,6.079,13657,5.831,13658,6.079,13659,5.949]],["title/classes/TaskStatusMapper.html",[0,0.239,21546,6.094]],["body/classes/TaskStatusMapper.html",[0,0.34,2,1.048,3,0.019,4,0.019,5,0.009,7,0.138,8,1.378,27,0.388,29,0.755,30,0.001,31,0.552,32,0.123,33,0.45,35,1.14,95,0.136,99,2.016,100,4.172,101,0.013,103,0.001,104,0.001,135,1.285,148,0.975,153,1.616,402,3.526,467,3.747,830,6.63,4060,8.285,4064,10.052,4065,8.985,21532,10.447,21546,10.487,21768,11.953,21769,9.852,21770,9.852,21771,9.852,21772,9.852]],["title/classes/TaskStatusResponse.html",[0,0.239,21532,5.64]],["body/classes/TaskStatusResponse.html",[0,0.28,2,0.864,3,0.015,4,0.015,5,0.007,7,0.114,27,0.532,29,0.622,30,0.001,31,0.455,32,0.168,33,0.371,55,2.663,95,0.093,101,0.011,103,0.001,104,0.001,112,0.826,122,2.768,190,2.382,202,1.865,296,3.721,433,1.304,821,4.133,4068,7.122,4069,8.822,4070,9.123,4071,8.564,4072,8.564,4073,9.293,4074,8.822,4075,7.518,4082,6.827,4083,7.518,4084,6.827,4085,6.591,4086,7.518,4087,7.518,21431,11.522,21532,10.505,21773,8.118,21774,8.118,21775,8.118,21776,8.118,21777,8.118,21778,8.118]],["title/injectables/TaskUC.html",[589,0.926,21374,5.842]],["body/injectables/TaskUC.html",[0,0.107,3,0.006,4,0.006,5,0.003,7,0.044,8,0.595,10,2.065,26,2.707,27,0.442,29,0.838,30,0.001,31,0.613,32,0.136,33,0.5,35,1.266,36,2.643,39,2.936,59,0.965,83,2.489,95,0.117,98,3.105,99,0.636,101,0.004,103,0,104,0,122,1.784,130,1.412,135,1.814,141,3.304,148,1.176,153,1.74,195,0.68,197,2.142,205,0.634,228,1.549,277,0.446,279,1.299,290,3.074,317,2.877,365,1.382,402,4.186,412,1.375,433,0.636,478,0.873,560,1.648,578,4.028,579,0.89,589,0.688,591,0.74,595,1.173,610,1.225,652,2.593,657,3.008,693,2.35,770,1.954,790,2.119,807,2.384,863,5.073,871,2.821,980,1.724,1197,4.175,1213,1.978,1393,1.768,1626,1.724,1780,1.889,1783,3.171,1784,3.465,1792,3.576,1793,4.38,1829,1.321,1850,2.191,1862,5.215,1910,6.002,1914,6.5,1961,5.142,1963,4.065,1983,3.465,2032,3.249,2231,3.763,2512,1.768,2523,2.878,2564,2.003,2653,1.437,2658,4.849,2884,1.87,2926,1.672,2928,4.471,3384,2.96,3545,4.409,3727,3.244,4065,3.465,4071,5.099,4656,1.87,5412,5.865,5690,6.66,5691,7.315,5729,3.763,5741,3.941,6606,3.67,7209,2.057,7580,8.092,7745,5.909,7861,4.528,7938,3.958,8898,3.416,8985,2.191,9680,2.277,9710,7.499,11791,2.328,15317,4.065,15449,6.479,15570,4.34,18302,2.614,20552,2.384,20964,8.357,21374,4.34,21382,4.779,21385,4.779,21436,2.727,21462,4.779,21493,5.805,21606,4.779,21607,4.779,21608,4.779,21609,4.779,21644,4.528,21645,2.727,21646,4.528,21779,3.108,21780,5.161,21781,5.161,21782,7.704,21783,5.161,21784,5.161,21785,3.108,21786,5.161,21787,3.108,21788,3.108,21789,5.161,21790,3.108,21791,5.161,21792,3.108,21793,5.161,21794,3.108,21795,5.161,21796,3.108,21797,3.108,21798,5.161,21799,8.547,21800,3.108,21801,5.161,21802,3.108,21803,5.161,21804,3.108,21805,3.108,21806,6.617,21807,5.161,21808,6.617,21809,6.617,21810,9.219,21811,5.161,21812,9.219,21813,5.161,21814,5.161,21815,7.704,21816,3.108,21817,9.219,21818,6.617,21819,7.704,21820,6.617,21821,4.779,21822,3.108,21823,3.108,21824,3.108,21825,3.108,21826,3.108,21827,3.108,21828,3.108,21829,3.108,21830,7.704,21831,5.161,21832,3.108,21833,7.704,21834,5.161,21835,5.161,21836,5.161,21837,3.108,21838,5.161,21839,3.108,21840,3.108,21841,7.704,21842,3.108,21843,3.108,21844,3.108,21845,3.108,21846,3.108,21847,3.108,21848,3.108,21849,3.108,21850,3.108,21851,3.108,21852,3.108,21853,5.161,21854,5.161,21855,3.108,21856,3.108,21857,5.161,21858,5.161,21859,3.108,21860,3.108]],["title/interfaces/TaskUpdate.html",[159,0.714,13655,5.202]],["body/interfaces/TaskUpdate.html",[3,0.016,4,0.016,5,0.008,7,0.119,30,0.001,31,0.476,32,0.158,33,0.58,47,1,55,2.415,83,3.174,95,0.124,99,1.739,101,0.017,103,0.001,104,0.001,112,0.851,122,2.802,157,1.956,159,1.349,161,2.018,231,2.2,290,2.846,478,2.385,652,1.732,692,5.145,703,2.638,1936,3.989,2026,6.405,2032,4.574,2926,5.862,3128,4.915,3541,5.659,3545,4.382,3993,4.964,4046,5.546,4065,5.705,4069,5.793,4070,5.991,4071,5.623,4072,5.623,4073,6.102,4074,5.793,5705,8.065,6609,4.57,8898,5.623,13652,10.338,13653,6.898,13654,6.226,13655,8.161,13656,6.362,13657,6.102,13658,6.362,13659,6.226]],["title/classes/TaskUpdateParams.html",[0,0.239,21542,6.094]],["body/classes/TaskUpdateParams.html",[0,0.326,2,0.732,3,0.013,4,0.013,5,0.006,7,0.097,27,0.498,30,0.001,31,0.607,32,0.169,33,0.62,34,1.993,47,0.937,83,4.02,95,0.133,99,1.408,101,0.009,103,0,104,0,112,0.74,155,3.005,157,3.152,185,3.999,190,2.271,194,4.565,195,2.553,196,3.133,197,2.634,200,2.108,201,4.911,202,1.581,296,2.475,298,2.976,299,4.769,300,4.841,304,5.761,854,6.809,855,4.384,1216,8.309,1237,2.793,1936,4.447,2026,5.286,2032,3.6,2928,6.041,3014,6.269,3166,6.23,3167,6.23,3541,3.572,3545,5.587,3993,5.533,4046,7.071,5705,6.655,8021,7.965,8031,5.586,8033,6.458,9574,5.82,11067,5.786,13655,8.111,21431,10.896,21514,8.771,21516,6.371,21520,6.371,21542,8.309,21861,6.88,21862,6.88,21863,6.88,21864,6.88,21865,6.88,21866,6.88]],["title/injectables/TaskUrlHandler.html",[589,0.926,16204,5.842]],["body/injectables/TaskUrlHandler.html",[0,0.24,3,0.013,4,0.013,5,0.006,7,0.098,8,1.1,9,3.23,27,0.499,29,0.941,30,0.001,31,0.688,32,0.165,33,0.561,34,1.629,35,1.357,36,2.018,47,0.964,95,0.14,101,0.009,103,0,104,0,105,10.235,106,7.313,107,7.109,108,8.841,110,4.576,111,5.476,112,0.745,113,3.802,114,8.841,115,7.514,116,7.744,117,7.514,118,7.514,120,5.476,122,1.451,123,5.644,125,2.592,126,5.476,127,5.856,129,2.848,130,2.609,131,5.967,134,2.456,135,1.42,148,0.944,228,1.26,231,1.653,233,2.17,277,0.998,317,2.359,400,2.07,433,0.857,436,3.473,589,1.272,591,1.654,657,1.59,1237,2.05,2928,4.984,4127,6.405,4130,7.514,4132,5.846,4133,5.846,4134,5.846,4137,7.316,4138,5.644,4139,7.316,4140,5.846,4141,5.644,4143,4.668,5691,9.5,5779,6.099,7941,6.099,7942,6.099,7944,8.369,7945,8.369,7946,6.099,15135,5.846,16204,8.021,19218,6.437,21867,10.89,21868,9.539,21869,6.951]],["title/classes/TaskUrlParams.html",[0,0.239,20755,5.842]],["body/classes/TaskUrlParams.html",[0,0.415,2,1.061,3,0.019,4,0.019,5,0.009,7,0.14,27,0.393,30,0.001,32,0.124,34,2.057,47,0.855,95,0.137,101,0.013,103,0.001,104,0.001,112,0.941,157,2.296,190,1.791,194,4.711,195,2.635,196,3.984,197,3.349,200,3.056,202,2.291,296,3.147,855,4.875,2928,5.512,4150,6.063,20755,10.127,20964,10.191,21870,9.974,21871,9.974]],["title/classes/TaskWithStatusVo.html",[0,0.239,9680,5.09]],["body/classes/TaskWithStatusVo.html",[0,0.184,2,0.345,3,0.006,4,0.006,5,0.003,7,0.163,26,1.802,27,0.269,29,0.249,30,0.001,31,0.3,32,0.142,33,0.148,34,0.914,47,0.707,55,1.074,83,2.549,95,0.135,96,0.856,101,0.011,103,0,104,0,112,0.735,122,2.376,125,1.883,135,1.811,141,1.392,142,1.181,145,2.005,148,1.303,153,1.707,157,0.747,158,1.197,159,0.55,195,2.43,196,3.115,197,3.233,205,1.091,223,3.348,224,0.943,225,2.055,226,1.471,229,1.284,231,0.563,232,0.88,233,1.013,277,0.466,290,2.846,402,4.074,433,0.4,527,1.374,567,1.234,569,2.457,578,1.697,579,1.531,628,1.933,652,2.487,653,2.209,692,3.221,703,1.008,711,3.446,756,3.13,813,1.815,874,1.897,962,2.289,1237,0.957,1312,1.524,1563,2.092,1821,1.575,1829,1.38,1842,2.436,1927,3.155,1936,1.524,2026,3.862,2032,3.327,2054,4.729,2126,1.897,2183,1.279,2564,2.092,2911,4.046,2915,2.967,2919,1.801,2924,3.447,2925,1.933,2926,2.877,2927,2.289,2928,5.584,2941,5.713,3128,3.947,3384,1.862,3541,2.778,3545,2.759,3620,4.765,3705,2.092,3993,5.818,3995,2.73,4046,2.119,4065,6.988,4069,3.648,4070,6.171,4071,5.237,4072,6.233,4073,6.764,4074,3.648,4085,6.425,4394,1.915,4541,1.133,4553,2.065,4617,1.457,5231,2.041,5550,2.065,5551,2.119,5670,2.512,5705,1.995,6147,2.041,6152,3.404,6172,2.092,6173,2.041,6181,2.149,6188,2.25,6210,2.25,6609,1.746,7448,4.582,7491,3.287,7495,1.83,7507,2.557,7511,2.332,7513,2.149,7514,1.933,7515,2.041,7516,1.973,7798,2.557,7830,2.119,7835,2.431,8898,5.237,9680,3.92,9860,2.289,13654,2.379,13657,3.842,13658,2.431,13659,2.379,13858,2.49,15401,2.73,16506,4.343,16687,2.557,18859,2.73,20673,2.636,20693,5.926,20694,2.636,20711,5.926,20712,2.636,20731,2.49,20736,2.636,20898,2.73,20899,2.636,20901,2.73,21001,4.499,21257,2.848,21260,2.848,21272,2.848,21275,2.848,21276,2.848,21277,2.848,21278,2.848,21279,2.848,21280,4.693,21281,5.986,21282,5.54,21283,5.375,21284,2.848,21285,2.848,21286,2.848,21287,2.73,21288,8.262,21289,2.848,21290,4.693,21291,6.942,21292,6.942,21293,2.848,21294,2.848,21295,2.848,21296,4.693,21297,2.848,21298,2.848,21299,2.848,21300,2.848,21301,2.848,21302,2.848,21303,2.848,21304,2.848,21305,2.848,21306,2.848,21307,2.848,21308,2.848,21309,4.693,21310,2.848,21311,2.848,21312,2.49,21313,2.848,21314,2.848,21315,2.848,21316,2.848,21317,2.848,21318,2.848,21319,4.693,21320,2.848,21321,2.848,21322,4.693,21323,2.848,21324,4.693,21325,2.73,21326,2.848,21327,6.942,21328,5.986,21329,5.986,21330,2.848,21331,5.986,21332,4.693,21333,2.848,21334,2.848,21335,2.848,21336,5.986,21337,2.848,21338,4.693,21339,2.848,21340,2.848,21341,6.942,21342,2.848,21343,2.848,21344,2.848,21345,2.848,21346,2.848,21347,2.848,21348,2.848,21349,4.693,21350,2.848,21351,2.848,21352,4.693,21353,2.848,21354,2.848,21355,2.848,21356,2.848,21357,2.73,21358,2.848,21359,6.942,21360,2.848,21361,2.848,21362,2.848,21363,2.848,21364,2.848,21365,2.848,21366,2.848,21367,2.848,21368,2.848,21369,2.848,21872,5.35,21873,3.246]],["title/classes/TeamDto.html",[0,0.239,4969,4.989]],["body/classes/TeamDto.html",[0,0.375,2,0.9,3,0.016,4,0.016,5,0.008,7,0.119,26,2.472,27,0.499,29,0.648,30,0.001,31,0.71,32,0.158,33,0.387,34,2.051,39,2.342,47,0.93,95,0.097,99,1.731,100,3.793,101,0.014,103,0.001,104,0.001,112,0.849,157,1.948,232,3.254,242,4.454,243,5.318,252,2.872,433,1.043,435,2.953,458,3.385,459,4.454,1829,4.621,2183,3.334,2582,6.832,4541,2.953,4617,3.797,4618,4.99,4619,6.336,4969,9.415,5037,9.242,5096,6.336,8010,7.299,11643,7.807,12993,7.423,12994,7.423,16732,8.799,16748,10.289,18601,9.14,21874,7.835,21875,9.536,21876,9.14,21877,10.065,21878,10.869,21879,8.461,21880,8.461,21881,7.835,21882,6.664]],["title/entities/TeamEntity.html",[205,1.416,7817,4.269]],["body/entities/TeamEntity.html",[0,0.336,3,0.014,4,0.014,5,0.007,7,0.101,27,0.383,30,0.001,31,0.665,32,0.121,39,1.982,47,0.785,62,6.587,72,3.278,95,0.142,96,2.567,101,0.016,103,0,104,0,112,0.76,130,3.025,148,1.094,153,1.175,159,1.001,190,1.748,195,2.13,205,1.985,206,2.329,223,3.434,224,2.08,225,3.74,226,3.246,229,2.833,231,1.241,232,2.638,233,2.236,242,5.822,290,3.152,331,5.665,567,4.204,652,1.46,692,6.043,703,3.023,1835,4.989,2183,2.823,2268,5.248,2685,5.631,2911,3.311,3860,4.884,4541,2.5,4601,4.963,4607,5.198,4617,3.215,4618,6.523,4621,8.712,5670,5.827,7494,4.45,7495,4.038,7516,4.354,7817,5.982,7851,4.74,8010,4.81,10016,5.144,11787,5.248,11788,5.248,13000,5.493,16732,7.134,21882,5.642,21883,6.023,21884,7.162,21885,9.406,21886,7.162,21887,5.642,21888,7.668,21889,7.904,21890,6.023,21891,6.023,21892,6.023,21893,6.023,21894,6.023,21895,6.023,21896,6.023]],["title/classes/TeamFactory.html",[0,0.239,21897,6.433]],["body/classes/TeamFactory.html",[0,0.165,2,0.511,3,0.009,4,0.009,5,0.004,7,0.067,8,0.841,27,0.522,29,1.025,30,0.001,31,0.729,32,0.169,33,0.588,34,1.507,35,1.418,39,2.442,47,0.753,55,2.329,59,3.291,95,0.112,101,0.006,103,0,104,0,112,0.57,113,4.45,127,4.925,129,3.57,130,3.271,135,1.151,148,0.873,157,2.031,172,3.101,185,2.5,192,2.641,205,2.161,206,2.372,228,1.322,231,1.264,326,4.892,331,4.691,374,3.155,433,0.591,436,3.859,467,2.124,478,1.347,501,7.251,502,5.467,505,4.046,506,5.467,507,5.394,508,4.046,509,4.046,510,4.046,511,3.983,512,4.492,513,4.894,514,6.479,515,5.788,516,7.038,517,2.683,522,2.662,523,4.046,524,2.683,525,5.153,526,5.301,527,4.172,528,4.987,529,4.014,530,2.662,531,2.509,532,4.142,533,2.562,534,2.509,535,2.662,536,2.683,537,4.818,538,2.662,539,7.224,540,4.199,541,6.632,542,2.683,543,4.281,544,2.662,545,2.683,546,2.662,547,2.683,548,2.662,549,2.982,550,2.804,551,2.662,552,6.095,553,2.683,554,2.662,555,4.046,556,3.69,557,4.046,558,2.683,559,2.581,560,2.544,561,2.154,562,2.662,563,2.662,564,2.662,565,2.683,566,2.683,567,1.824,568,2.662,569,1.49,570,2.683,571,2.885,572,2.662,573,2.683,575,2.753,577,4.344,4643,4.036,4971,3.017,7817,2.949,16732,6.465,16744,6.134,21885,7.079,21888,3.78,21897,8.171,21898,4.799,21899,6.755,21900,7.294,21901,6.755,21902,4.799,21903,7.294,21904,4.799,21905,4.21,21906,4.799,21907,4.799,21908,4.799,21909,4.799,21910,4.799]],["title/injectables/TeamMapper.html",[589,0.926,5074,5.842]],["body/injectables/TeamMapper.html",[0,0.304,3,0.017,4,0.017,5,0.008,7,0.124,8,1.286,27,0.347,29,0.675,30,0.001,31,0.625,32,0.11,33,0.403,34,1.505,35,1.02,39,2.439,95,0.14,100,3.893,101,0.012,103,0.001,104,0.001,135,1.15,148,1.104,153,1.83,157,2.029,205,2.623,277,1.266,388,3.779,478,2.474,589,1.487,591,2.098,711,3.627,4541,3.076,4969,9.241,4971,7.013,5002,9.057,5037,7.866,5074,9.381,5096,6.6,7817,8.331,16732,8.174,16744,7.412,16748,9.938,21885,8.013,21911,8.814,21912,11.156,21913,11.156,21914,8.814,21915,10.331,21916,8.814,21917,8.814,21918,8.162,21919,8.814,21920,8.814,21921,8.814,21922,8.814]],["title/entities/TeamNews.html",[205,1.416,7853,5.328]],["body/entities/TeamNews.html",[0,0.354,3,0.01,4,0.018,5,0.005,7,0.162,9,3.606,26,2.115,27,0.205,30,0.001,31,0.435,32,0.128,34,0.89,47,0.889,83,2.259,95,0.14,96,2.444,101,0.014,103,0,104,0,112,0.858,134,1.841,148,0.515,153,1.521,155,2.941,159,0.536,190,0.935,195,2.52,196,3.81,205,2.239,206,1.694,223,3.703,224,1.513,225,2.981,226,2.361,231,1.781,232,2.784,233,1.626,290,2.598,409,5.899,412,4.103,435,1.818,457,5.143,467,1.517,512,4.721,571,3.668,613,4.533,692,5.436,693,2.373,703,3.41,704,3.951,886,2.442,1086,4.424,1087,4.749,1088,4.353,1089,4.633,1090,5.062,1373,4.668,1821,3.765,1826,2.67,1842,3.534,1920,3.448,1938,2.802,2032,2.949,2392,3.537,2688,5.228,2892,3.901,2911,4.286,2925,3.103,2980,5.937,3025,2.5,3703,3.552,3705,3.357,3706,3.673,3708,3.742,3709,3.673,3710,3.901,3724,3.073,3860,3.552,3884,3.357,4541,1.818,4633,3.996,4634,3.611,4776,3.818,5254,3.673,5670,4.353,5758,3.818,6173,3.275,6421,6.794,6606,2.89,6609,4.987,7494,3.237,7495,2.938,7516,3.167,7811,3.901,7812,4.23,7814,6.943,7815,6.053,7816,4.23,7817,5.697,7818,4.23,7819,9.071,7820,5.211,7821,5.811,7822,5.811,7823,6.928,7824,7.799,7825,4.23,7826,5.573,7827,4.23,7828,3.996,7829,3.996,7830,5.065,7831,4.23,7832,3.996,7833,3.996,7834,4.23,7835,3.901,7836,4.23,7837,3.134,7838,3.237,7839,3.996,7840,4.23,7841,4.23,7842,7.303,7843,4.23,7844,7.527,7845,4.23,7846,4.23,7847,5.951,7848,3.996,7849,6.537,7850,4.104,7851,5.136,7852,3.818,7853,5.951,7854,6.3,21923,5.21]],["title/controllers/TeamNewsController.html",[314,2.659,16562,6.094]],["body/controllers/TeamNewsController.html",[0,0.265,3,0.015,4,0.015,5,0.007,7,0.108,8,1.178,27,0.303,29,0.59,30,0.001,31,0.431,32,0.096,33,0.352,35,0.891,36,2.162,72,3.523,95,0.152,100,2.687,101,0.01,103,0,104,0,135,1.496,148,0.761,153,1.263,190,1.382,202,1.769,228,1.395,274,3.218,277,1.106,290,2.417,298,3.33,314,2.947,316,3.714,317,2.485,325,6.069,329,6.973,349,6.475,365,5.1,388,4.382,392,4.024,395,4.14,398,4.171,400,2.293,657,1.761,871,3.741,883,8.616,2907,5.862,3005,3.634,3189,6.671,3209,3.971,4030,4.631,4656,4.631,4971,7.994,5294,6.25,6229,4.68,7580,7.351,7824,5.915,8010,5.169,12392,9.921,13921,6.473,16450,9.463,16459,6.25,16460,6.754,16461,9.313,16463,6.25,16465,7.129,16470,6.754,16471,6.754,16472,7.129,16473,7.129,16474,7.129,16475,7.129,16562,8.965,21924,10.219,21925,7.698,21926,11.471,21927,7.698,21928,10.72,21929,10.219,21930,7.698,21931,7.698,21932,7.129,21933,7.698,21934,7.698,21935,7.698]],["title/classes/TeamPermissionsBody.html",[0,0.239,5045,5.64]],["body/classes/TeamPermissionsBody.html",[0,0.384,2,0.936,3,0.017,4,0.017,5,0.008,7,0.124,10,4.892,27,0.522,30,0.001,32,0.165,95,0.127,101,0.012,103,0.001,104,0.001,112,0.87,122,2.956,190,2.381,199,7.516,200,2.695,202,2.02,296,3.541,734,5.133,1783,7.514,1784,8.211,5037,9.554,5045,9.045,8310,10.173,20305,9.378,21936,12.548,21937,8.794,21938,8.794,21939,8.794,21940,8.794,21941,8.794,21942,8.794]],["title/classes/TeamPermissionsDto.html",[0,0.239,4980,5.472]],["body/classes/TeamPermissionsDto.html",[0,0.299,2,0.921,3,0.016,4,0.016,5,0.008,7,0.122,10,4.858,27,0.531,29,0.664,30,0.001,31,0.485,32,0.168,33,0.65,101,0.011,103,0.001,104,0.001,112,0.862,122,2.948,232,2.99,433,1.067,435,3.023,734,5.097,1783,7.461,1784,8.153,4980,10.399,4983,12.033,5037,9.671,11739,7.599,11740,7.599,11741,7.599,11742,7.599,11743,7.599,11744,7.599,11745,7.599,11746,7.599,20305,9.312,21943,8.021,21944,11.033,21945,8.021,21946,8.021,21947,8.021,21948,8.021,21949,8.661,21950,8.661]],["title/injectables/TeamPermissionsMapper.html",[589,0.926,5075,5.842]],["body/injectables/TeamPermissionsMapper.html",[0,0.308,3,0.017,4,0.017,5,0.008,7,0.126,8,1.299,10,3.581,27,0.352,29,0.686,30,0.001,31,0.501,32,0.112,33,0.409,35,1.036,95,0.141,100,3.932,101,0.012,103,0.001,104,0.001,148,1.114,153,1.468,157,2.061,277,1.286,379,6.93,388,3.838,589,1.502,591,2.13,711,3.653,734,3.757,1783,5.5,1784,6.011,4819,6.463,4980,10.191,4984,7.051,5002,9.146,5037,7.943,5045,10.504,5060,7.853,5075,9.473,5097,11.981,5140,10.432,5142,8.289,20305,6.865,21915,10.432,21951,8.951,21952,11.266,21953,11.266,21954,8.951,21955,8.951,21956,8.951,21957,8.951,21958,8.951,21959,8.951,21960,8.951]],["title/interfaces/TeamProperties.html",[159,0.714,21888,5.472]],["body/interfaces/TeamProperties.html",[0,0.338,3,0.014,4,0.014,5,0.007,7,0.102,30,0.001,31,0.698,32,0.122,33,0.448,39,2.004,47,0.846,62,4.312,72,3.313,95,0.142,96,2.586,101,0.016,103,0,104,0,112,0.766,130,3.042,148,1.1,153,1.188,159,1.008,161,1.719,195,1.584,205,1.999,223,3.045,224,2.103,225,3.767,226,3.281,229,2.864,231,1.255,232,2.658,233,2.26,242,5.854,290,3.16,331,5.683,567,4.227,652,1.476,692,6.062,703,3.045,1835,3.71,2183,2.853,2268,5.305,2685,5.662,2911,3.347,3860,4.936,4541,2.527,4607,5.236,4617,3.249,4618,6.559,4621,8.76,5670,5.849,7494,4.499,7495,4.082,7516,4.401,7817,4.449,7851,4.792,8010,4.862,10016,5.2,11787,5.305,11788,5.305,13000,5.553,16732,9.128,21882,5.703,21883,6.088,21885,9.595,21887,5.703,21888,8.76,21889,7.962,21890,6.088,21891,6.088,21892,6.088,21893,6.088,21894,6.088,21895,6.088,21896,6.088]],["title/classes/TeamRoleDto.html",[0,0.239,5043,5.842]],["body/classes/TeamRoleDto.html",[0,0.411,2,1.045,3,0.019,4,0.019,5,0.009,7,0.138,27,0.47,30,0.001,32,0.149,47,0.949,95,0.136,101,0.013,103,0.001,104,0.001,112,0.932,190,2.143,200,3.011,202,2.258,296,3.359,855,5.203,4244,8.908,5037,9.063,5043,10.037,5096,9.626,6756,8.746,21936,11.904,21961,9.828,21962,9.828,21963,9.828]],["title/classes/TeamRolePermissionsDto.html",[0,0.239,5004,5.64]],["body/classes/TeamRolePermissionsDto.html",[0,0.311,2,0.959,3,0.017,4,0.017,5,0.008,7,0.127,27,0.526,29,0.69,30,0.001,31,0.505,32,0.166,33,0.412,47,0.968,101,0.012,103,0.001,104,0.001,112,0.884,122,2.361,232,3.066,331,6.034,433,1.111,435,3.145,1826,6.337,4244,8.57,4252,8.345,4949,9.297,5004,10.847,5007,10.849,5009,6.859,10029,8.345,10030,8.345,11579,6.748,11607,7.098,21943,8.345,21945,8.345,21946,10.476,21947,8.345,21948,8.345,21964,13.635,21965,9.011,21966,9.011,21967,9.011]],["title/injectables/TeamRule.html",[589,0.926,1877,5.842]],["body/injectables/TeamRule.html",[0,0.278,3,0.015,4,0.015,5,0.007,7,0.113,8,1.216,27,0.462,29,0.899,30,0.001,31,0.657,32,0.155,33,0.537,35,1.22,95,0.142,101,0.011,103,0.001,104,0.001,122,2.597,135,1.053,148,1.043,183,4.478,197,2.244,205,2.75,228,1.462,277,1.159,290,3.272,400,2.403,433,0.995,478,2.265,578,4.219,589,1.405,591,1.921,653,3.332,711,3.925,1237,2.379,1775,6.849,1801,8.23,1838,7.85,1877,8.864,1981,6.791,1985,6.55,3663,6.976,3664,5.419,3667,6.881,3669,5.419,3671,5.913,7817,8.408,21885,7.571,21918,7.473,21968,8.069,21969,8.069,21970,8.069,21971,8.069,21972,10.541,21973,8.069,21974,8.069]],["title/injectables/TeamService.html",[589,0.926,21975,6.094]],["body/injectables/TeamService.html",[0,0.287,3,0.016,4,0.016,5,0.008,7,0.117,8,1.24,26,2.797,27,0.469,29,0.913,30,0.001,31,0.667,32,0.148,33,0.545,35,1.245,36,2.664,39,3.297,95,0.144,99,1.703,101,0.011,103,0.001,104,0.001,135,1.403,148,1.064,228,1.508,277,1.195,279,3.478,317,2.893,400,2.478,433,1.025,478,2.336,589,1.434,591,1.98,657,2.726,711,3.958,1915,9.255,7817,5.113,8010,8,13719,9.957,21975,9.433,21976,8.32,21977,10.752,21978,10.752,21979,8.32,21980,8.32,21981,10.752,21982,8.32,21983,10.752,21984,8.32,21985,8.32,21986,8.32,21987,8.32,21988,8.32,21989,8.32,21990,8.32]],["title/classes/TeamUrlParams.html",[0,0.239,21928,6.094]],["body/classes/TeamUrlParams.html",[0,0.415,2,1.061,3,0.019,4,0.019,5,0.009,7,0.14,27,0.393,30,0.001,32,0.124,34,2.057,47,0.855,95,0.137,101,0.013,103,0.001,104,0.001,112,0.941,157,2.296,190,1.791,194,4.711,195,2.635,196,3.984,197,3.349,200,3.056,202,2.291,296,3.147,855,4.875,4150,6.063,4244,8.966,4971,7.57,21928,10.565,21991,9.974,21992,9.974]],["title/classes/TeamUserDto.html",[0,0.239,16748,5.64]],["body/classes/TeamUserDto.html",[0,0.38,2,0.921,3,0.016,4,0.016,5,0.008,7,0.122,26,2.271,27,0.503,29,0.664,30,0.001,31,0.618,32,0.159,33,0.396,34,1.479,39,3.36,47,0.974,95,0.099,99,1.773,100,3.023,101,0.014,103,0.001,104,0.001,112,0.862,232,3.29,242,4.559,243,5.445,252,2.289,433,1.067,435,3.023,458,3.465,459,4.559,1829,3.682,2183,3.413,2582,5.445,4541,4.237,4617,3.887,4618,5.108,4619,6.486,4969,7.925,5037,9.309,5096,9.092,8010,5.816,11643,6.221,12993,7.599,12994,7.599,16732,6.347,16748,10.958,18601,7.284,21874,8.021,21875,7.599,21876,7.284,21877,8.021,21881,8.021,21882,6.822,21993,11.033,21994,8.661,21995,8.661]],["title/classes/TeamUserEntity.html",[0,0.239,21885,4.989]],["body/classes/TeamUserEntity.html",[0,0.312,2,0.686,3,0.012,4,0.012,5,0.006,7,0.091,27,0.511,29,0.802,30,0.001,31,0.669,32,0.154,33,0.478,35,1.048,39,2.896,47,0.643,62,3.841,72,2.951,95,0.136,96,2.387,101,0.015,103,0,104,0,112,0.707,130,3.269,148,1.035,153,1.058,159,0.931,190,1.879,195,1.411,205,1.846,223,2.811,224,1.873,225,3.478,226,2.922,229,2.551,231,1.118,232,2.836,233,2.013,242,5.508,290,3.254,331,5.843,433,0.795,435,2.251,567,3.977,569,2.811,652,2.133,692,6.233,703,3.523,735,4.124,1835,3.305,2183,2.541,2268,4.725,2685,5.328,2911,2.981,3860,4.397,4541,3.652,4607,4.835,4617,2.894,4618,6.171,4621,8.242,5670,5.612,7494,4.007,7495,3.636,7516,3.92,7720,7.135,7817,3.963,7851,4.268,8010,4.33,10016,4.632,11201,5.658,11787,4.725,11788,4.725,13000,4.946,16732,6.635,21882,5.08,21883,5.423,21885,9.142,21887,5.08,21888,7.132,21889,9.212,21890,5.423,21891,5.423,21892,5.423,21893,5.423,21894,5.423,21895,5.423,21896,5.423,21996,6.449,21997,6.449,21998,6.449,21999,6.449,22000,6.449,22001,6.449,22002,6.449,22003,6.449,22004,6.449,22005,6.449,22006,6.449]],["title/classes/TeamUserFactory.html",[0,0.239,21905,6.094]],["body/classes/TeamUserFactory.html",[0,0.158,2,0.487,3,0.009,4,0.009,5,0.004,7,0.064,8,0.811,27,0.518,29,1.017,30,0.001,31,0.713,32,0.168,33,0.582,34,1.463,35,1.398,39,3.032,47,0.836,55,2.29,59,3.222,95,0.125,101,0.006,103,0,104,0,112,0.549,113,4.367,127,4.804,129,3.517,130,3.221,135,1.536,148,0.847,153,0.75,157,1.972,172,2.99,185,2.41,192,2.517,205,2.115,206,2.287,228,1.274,231,1.219,290,2.274,326,4.839,331,5.457,374,3.042,433,0.564,436,3.82,467,2.048,478,1.284,501,7.19,502,5.333,505,3.9,506,5.333,507,5.321,508,3.9,509,3.9,510,3.9,511,3.84,512,4.361,513,4.751,514,5.936,515,5.666,516,6.975,517,2.558,522,2.537,523,3.9,524,2.558,525,5.026,526,5.171,527,4.07,528,4.864,529,3.87,530,2.537,531,2.392,532,4.065,533,2.443,534,2.392,535,2.537,536,2.558,537,4.677,538,2.537,539,7.151,540,4.136,541,6.532,542,2.558,543,4.156,544,2.537,545,2.558,546,2.537,547,2.558,548,2.537,549,2.843,550,2.673,551,2.537,552,5.982,553,2.558,554,2.537,555,3.9,556,3.558,557,3.9,558,2.558,559,2.46,560,2.425,561,2.053,562,2.537,563,2.537,564,2.537,565,2.558,566,2.558,567,1.739,568,2.537,569,1.42,570,2.558,571,2.782,572,2.537,573,2.558,575,2.624,577,4.188,697,3.286,703,3.656,2279,6.512,3388,4.39,4643,3.847,7705,3.603,7715,5.539,20784,7.515,21885,5.051,21899,6.512,21901,6.512,21905,7.515,22007,4.575,22008,4.575,22009,7.032,22010,4.575,22011,4.236,22012,4.575,22013,4.575,22014,4.575,22015,4.575,22016,4.575,22017,4.236,22018,4.575]],["title/interfaces/TeamUserProperties.html",[159,0.714,21889,5.64]],["body/interfaces/TeamUserProperties.html",[0,0.336,3,0.014,4,0.014,5,0.007,7,0.101,30,0.001,31,0.546,32,0.138,39,1.986,47,0.692,62,4.273,72,3.284,95,0.142,96,2.57,101,0.016,103,0,104,0,112,0.761,130,3.028,148,1.095,153,1.177,159,1.002,161,1.704,195,1.57,205,1.987,223,3.026,224,2.084,225,3.745,226,3.252,229,2.838,231,1.244,232,2.641,233,2.24,242,5.827,290,3.309,331,6.104,567,4.208,652,1.463,692,6.293,703,3.856,1835,3.677,2183,2.828,2268,5.257,2685,5.636,2911,3.317,3860,4.892,4541,2.504,4607,5.204,4617,3.22,4618,6.529,4621,8.72,5670,5.831,7494,4.458,7495,4.046,7516,4.362,7817,4.409,7851,4.749,8010,4.818,10016,5.153,11787,5.257,11788,5.257,13000,5.503,16732,7.142,21882,5.652,21883,6.034,21885,9.2,21887,5.652,21888,7.678,21889,8.987,21890,6.034,21891,6.034,21892,6.034,21893,6.034,21894,6.034,21895,6.034,21896,6.034]],["title/modules/TeamsApiModule.html",[252,1.836,20202,5.842]],["body/modules/TeamsApiModule.html",[0,0.343,3,0.019,4,0.019,5,0.009,30,0.001,95,0.137,101,0.013,103,0.001,104,0.001,252,3.415,254,3.584,255,3.795,256,3.892,257,3.878,258,3.864,259,4.374,260,4.477,269,4.704,270,3.822,271,3.743,273,6.254,274,4.159,276,4.704,277,1.429,8978,11.745,20202,11.745,22019,9.95,22020,9.95,22021,9.95,22022,9.95]],["title/modules/TeamsModule.html",[252,1.836,8978,5.842]],["body/modules/TeamsModule.html",[0,0.329,3,0.018,4,0.018,5,0.009,30,0.001,95,0.145,101,0.013,103,0.001,104,0.001,252,3.354,254,3.439,255,3.642,256,3.735,257,3.721,258,3.708,259,4.616,260,4.725,269,4.587,270,3.668,271,3.591,277,1.371,279,3.991,610,3.763,1915,9.585,8978,11.989,21975,12.704,22023,9.547,22024,9.547,22025,9.547,22026,9.547]],["title/injectables/TeamsRepo.html",[589,0.926,1915,4.814]],["body/injectables/TeamsRepo.html",[0,0.209,3,0.011,4,0.011,5,0.006,7,0.085,8,0.999,10,3.466,12,3.907,13,6.109,18,4.383,26,2.573,27,0.503,29,0.93,30,0.001,31,0.68,32,0.156,33,0.555,34,1.48,35,1.406,36,2.793,39,2.799,40,4.18,42,6.109,49,2.287,55,1.216,62,3.609,95,0.133,96,1.598,97,2.472,99,1.24,101,0.008,103,0,104,0,112,0.677,129,2.587,130,2.37,135,1.13,148,1.155,153,0.994,197,2.409,205,1.235,206,2.818,231,1.502,277,0.87,290,2.049,317,2.95,331,5.532,388,2.598,436,3.27,478,1.701,532,4.958,589,1.155,591,1.442,652,2.061,657,2.86,728,7.236,734,3.637,735,3.946,736,4.993,741,7.601,759,3.609,760,3.683,761,3.645,762,3.683,764,3.645,765,3.683,766,3.259,773,4.352,980,4.805,1092,5.818,1835,4.44,1915,6.004,3388,4.44,3950,4.272,4225,4.773,4971,5.446,5089,7.41,7817,6.214,8010,8.154,16744,5.096,19046,9.365,19052,8.023,19056,5.611,20914,5.611,21885,6.223,22027,6.059,22028,7.601,22029,6.059,22030,7.601,22031,6.059,22032,6.059,22033,6.059,22034,6.059,22035,6.059,22036,6.059,22037,6.059,22038,6.059,22039,6.059,22040,6.059,22041,6.059,22042,6.059]],["title/interfaces/TemporaryFileProperties.html",[159,0.714,13398,5.842]],["body/interfaces/TemporaryFileProperties.html",[0,0.277,3,0.015,4,0.015,5,0.011,7,0.113,30,0.001,31,0.45,32,0.161,47,0.97,55,2.495,83,3.981,95,0.134,96,2.119,101,0.014,103,0.001,104,0.001,112,0.821,159,0.826,161,1.909,205,2.143,210,8.685,223,4.108,224,2.335,225,4.039,229,3.179,231,1.393,233,2.509,248,6.018,414,4.066,433,0.991,478,2.256,870,7.36,1195,3.968,1215,4.835,1237,2.37,2163,3.716,2544,4.835,3378,6.2,5213,8.473,6506,6.525,6558,4.57,7184,5.178,11615,8.281,11616,10.338,11630,6.331,12046,7.051,12065,6.164,13268,6.164,13398,9.853,13403,11.335,13405,7.443,13409,7.051,13410,7.443,13411,7.443,13414,9.223,13415,7.443,13416,7.443]],["title/injectables/TemporaryFileRepo.html",[589,0.926,13262,5.64]],["body/injectables/TemporaryFileRepo.html",[0,0.203,3,0.011,4,0.011,5,0.005,7,0.083,8,0.979,10,3.397,12,3.829,18,4.295,26,2.83,27,0.516,29,0.972,30,0.001,31,0.711,32,0.158,33,0.58,34,1.006,35,1.496,36,2.866,39,3.512,40,2.842,47,0.854,49,3.204,83,2.472,95,0.124,99,1.205,101,0.008,103,0,104,0,135,1.107,148,1.19,153,1.393,205,1.731,206,2.761,210,5.47,231,1.472,277,0.846,317,3.062,436,3.228,532,4.93,589,1.132,591,1.402,728,7.176,734,3.564,735,3.866,736,4.914,759,3.508,760,3.581,761,3.544,762,3.581,763,4.082,764,3.544,765,3.581,766,3.168,771,4.231,787,8.355,1195,6.121,1923,7.315,2515,4.782,5213,7.976,9458,7.448,12832,7.448,13262,6.893,13268,6.511,13403,9.16,22043,12.397,22044,5.89,22045,8.49,22046,8.49,22047,10.893,22048,8.49,22049,8.49,22050,5.89,22051,8.49,22052,5.89,22053,8.49,22054,5.89,22055,5.89,22056,8.49,22057,5.89,22058,5.89]],["title/injectables/TemporaryFileStorage.html",[589,0.926,13263,5.842]],["body/injectables/TemporaryFileStorage.html",[0,0.151,3,0.008,4,0.008,5,0.012,7,0.062,8,0.784,27,0.48,29,0.934,30,0.001,31,0.682,32,0.152,33,0.557,35,1.38,36,2.733,39,3.109,47,1.001,55,2.042,59,2.111,83,2.736,95,0.136,101,0.006,103,0,104,0,125,2.236,129,1.308,130,1.198,135,1.465,145,3.522,148,1.065,153,1.115,228,1.232,277,0.629,290,3.086,317,2.895,414,2.216,433,0.838,569,2.111,578,2.29,579,1.254,589,0.907,591,1.042,641,2.491,652,2.484,657,2.657,688,2.068,711,3.959,756,1.733,812,2.822,860,3.088,871,1.604,1195,6.127,1215,2.635,1237,1.291,1302,2.429,1304,2.491,1834,3.209,1923,2.941,1927,2.583,2163,2.025,2524,3.088,2609,3.338,2802,1.752,2899,3.359,3078,4.794,3378,2.583,5079,4.056,5086,4.056,5098,4.056,5187,5.389,5213,8.399,6119,2.583,6558,2.491,7255,4.982,7765,3.683,8903,6.297,8913,7.009,8940,3.843,11448,2.691,11479,3.683,12049,3.843,12073,3.359,12419,3.556,12478,6.884,12523,4.056,12545,3.556,13014,2.987,13069,10.687,13262,7.628,13263,5.718,13268,3.359,13271,3.843,13400,3.683,13414,5.966,15235,3.28,22059,12.409,22060,6.8,22061,6.8,22062,6.8,22063,6.8,22064,6.8,22065,8.335,22066,8.335,22067,4.38,22068,6.8,22069,4.38,22070,6.8,22071,4.38,22072,6.8,22073,4.38,22074,6.8,22075,4.38,22076,4.38,22077,4.38,22078,6.8,22079,4.38,22080,9.395,22081,9.395,22082,4.38,22083,6.8,22084,4.38,22085,8.335,22086,9.395,22087,9.395,22088,4.38,22089,6.8,22090,4.38,22091,4.38,22092,4.38,22093,4.38,22094,4.38,22095,4.38,22096,4.38,22097,4.38,22098,4.38,22099,4.38,22100,4.38,22101,4.38,22102,4.38,22103,4.38,22104,4.38,22105,10.171,22106,6.8,22107,4.38,22108,4.38,22109,4.38,22110,4.38,22111,4.38,22112,4.38,22113,4.38,22114,8.335,22115,4.38,22116,4.38,22117,4.38,22118,4.38,22119,4.38,22120,3.683,22121,4.38,22122,4.38]],["title/classes/TestApiClient.html",[0,0.239,1617,6.094]],["body/classes/TestApiClient.html",[0,0.126,2,0.388,3,0.007,4,0.007,5,0.003,7,0.051,8,0.678,10,2.352,27,0.499,29,0.936,30,0.001,31,0.684,32,0.156,33,0.558,35,1.391,36,1.244,47,1.012,51,2.821,55,1.483,59,3.087,87,2.956,94,4.705,95,0.097,101,0.005,103,0,104,0,112,0.459,122,1.227,129,2.777,130,2.544,135,1.751,142,1.325,145,2.204,148,1.189,153,1.391,157,0.839,158,1.343,159,0.375,180,2.51,185,3.584,189,3.612,228,2.036,277,0.523,316,1.758,317,1.601,326,1.385,339,3.297,379,5.325,389,3.838,414,6.346,433,0.449,478,1.023,484,2.618,579,1.683,581,5.157,652,2.772,657,0.834,711,3.828,756,1.442,802,3.891,871,3.64,1080,1.256,1176,4.509,1372,6.741,1585,6.358,1602,7.437,1603,11.235,1604,3.197,1605,5.038,1606,9.176,1607,4.944,1608,3.375,1609,3.375,1610,2.67,1611,2.959,1612,3.375,1613,3.065,1614,3.375,1615,3.375,1616,3.197,1617,6.482,1618,3.375,1619,2.239,1620,3.375,1621,5.444,1622,4.222,1623,5.157,1624,4.944,1625,4.773,1626,3.261,1627,7.141,1628,9.176,1629,6.842,1630,5.157,1631,5.157,1632,5.157,1633,3.197,1634,9.207,1635,3.375,1636,5.157,1637,10.122,1638,8.159,1639,10.122,1640,3.375,1641,5.157,1642,8.159,1643,3.375,1644,7.85,1645,5.444,1646,3.375,1647,5.999,1648,5.444,1649,3.375,1650,5.157,1651,5.444,1652,3.375,1653,3.375,1654,3.375,1655,3.375,1656,5.444,1657,3.375,1658,3.197,1659,5.157,1660,5.533,1661,7.437,1662,3.197,1663,5.157,1664,3.197,1665,8.159,1666,5.157,1667,5.157,1668,3.197,1669,5.157,1670,5.157,1671,3.197,1672,3.197,1673,5.444,1674,7.85,1675,2.192,1676,3.375,1677,5.444,1678,3.375,1679,3.375,1680,3.375,1681,3.375,1682,3.375,1683,3.375,1684,3.375,1685,3.375,3211,3.235,4354,3.788,22123,5.444,22124,5.444,22125,5.879,22126,5.444,22127,5.879,22128,3.644,22129,3.375,22130,3.644,22131,3.644,22132,3.644,22133,8.612,22134,3.375,22135,3.644,22136,3.644,22137,3.375,22138,3.644,22139,3.644,22140,3.644,22141,3.644,22142,3.644,22143,3.375]],["title/classes/TestBootstrapConsole.html",[0,0.239,22144,6.433]],["body/classes/TestBootstrapConsole.html",[0,0.304,2,0.94,3,0.017,4,0.017,5,0.008,7,0.124,8,1.288,27,0.348,30,0.001,35,1.022,36,2.592,47,0.627,95,0.152,101,0.015,103,0.001,104,0.001,135,1.457,148,1.105,231,1.936,258,3.43,276,3.455,317,1.914,571,3.494,657,2.021,734,5.405,981,5.369,1086,4.215,1087,4.083,1088,4.147,1089,4.414,1090,4.823,2059,6.472,2060,6.344,2775,6.775,3756,5.766,3764,5.846,3766,6.865,3767,5.16,3769,6.958,5173,6.958,9126,6.472,20161,9.801,22144,10.345,22145,11.171,22146,11.171,22147,8.833,22148,12.253,22149,8.833,22150,8.18,22151,8.833,22152,6.775,22153,8.18,22154,8.833,22155,8.833,22156,11.171,22157,8.18,22158,8.833,22159,8.833,22160,11.171,22161,8.833,22162,7.749,22163,8.833,22164,8.833]],["title/classes/TestConnection.html",[0,0.239,22165,6.433]],["body/classes/TestConnection.html",[0,0.309,2,0.954,3,0.017,4,0.017,5,0.008,7,0.126,27,0.444,30,0.001,36,1.898,47,0.876,55,1.801,95,0.102,101,0.012,103,0.001,104,0.001,112,0.881,129,3.369,130,3.086,135,1.17,148,1.116,153,2.024,317,1.944,467,3.966,657,2.053,711,3.343,2835,7.871,6244,6.217,9608,7.954,22165,10.447,22166,12.341,22167,8.971,22168,12.341,22169,12.341,22170,8.971,22171,8.971,22172,9.159,22173,10.234,22174,8.971,22175,12.341,22176,8.971,22177,8.971,22178,8.971,22179,8.971]],["title/classes/TestHelper.html",[0,0.239,22180,6.433]],["body/classes/TestHelper.html",[0,0.294,2,0.908,3,0.016,4,0.016,5,0.011,7,0.12,27,0.43,30,0.001,31,0.612,47,0.776,95,0.138,101,0.011,103,0.001,104,0.001,112,0.853,129,3.263,130,2.989,135,1.754,148,1.081,159,0.877,339,2.503,467,3.915,711,3.238,1302,6.687,1304,4.852,2802,3.414,2881,4.071,6513,4.852,7157,5.722,7251,7.705,7252,5.302,7253,5.187,7254,7.329,11448,5.243,11966,7.233,11967,11.153,20563,7.486,22180,10.12,22181,12.056,22182,12.056,22183,12.056,22184,8.533,22185,8.533,22186,8.533,22187,8.533,22188,8.533,22189,8.533,22190,8.533,22191,8.533,22192,8.533]],["title/classes/TestXApiKeyClient.html",[0,0.239,22193,6.433]],["body/classes/TestXApiKeyClient.html",[0,0.189,2,0.583,3,0.01,4,0.01,5,0.005,7,0.077,8,0.929,10,3.223,27,0.508,29,0.953,30,0.001,31,0.697,32,0.161,33,0.568,35,1.403,47,1.018,55,1.917,59,2.965,95,0.092,101,0.007,103,0,104,0,112,0.629,122,1.681,129,2.852,130,2.613,135,1.656,145,3.02,148,1.199,185,2.76,228,2.126,277,0.787,339,2.802,414,6.698,433,0.675,652,2.82,711,3.762,756,2.168,1176,4.203,1603,11.48,1604,4.808,1606,10.29,1607,6.774,1611,7.754,1627,8.057,1628,10.29,1630,7.067,1631,4.808,1632,4.808,1633,4.808,1636,7.067,1637,10.29,1638,8.379,1639,10.29,1641,7.067,1642,4.808,1647,4.449,1650,7.067,1659,7.067,1660,7.152,1661,9.237,1662,4.808,1663,7.067,1664,4.808,1665,9.841,1666,7.067,1667,7.067,1668,4.808,1669,7.067,1670,7.067,1671,4.808,1672,4.808,3211,4.432,22123,7.459,22124,7.459,22126,7.459,22129,5.075,22133,8.845,22134,5.075,22137,5.075,22143,5.075,22193,7.459,22194,13.086,22195,8.055,22196,5.48,22197,5.48,22198,5.48,22199,5.48,22200,5.48,22201,5.48,22202,5.48,22203,5.48]],["title/injectables/TimeoutInterceptor.html",[589,0.926,14199,6.094]],["body/injectables/TimeoutInterceptor.html",[0,0.274,3,0.015,4,0.015,5,0.007,7,0.112,8,1.204,27,0.411,29,0.8,30,0.001,31,0.585,32,0.13,33,0.477,35,0.921,55,2.34,95,0.141,101,0.01,103,0.001,104,0.001,135,1.362,148,1.153,153,1.713,157,1.832,183,3.035,193,4.539,228,1.442,277,1.143,314,3.998,329,6.349,400,2.37,433,0.981,571,4.612,589,1.393,591,1.894,653,3.286,1056,5.127,1057,6.268,1058,6.103,1080,2.743,1237,2.346,1329,6.349,2312,7.653,2382,8.942,2856,6.645,2891,7.502,4291,8.731,4921,8.48,5325,9.672,7419,8.48,9745,9.163,9747,9.163,9748,10.861,9749,10.861,9751,9.163,9953,6.103,14199,9.163,18786,10.797,18793,7.369,18795,7.369,19194,8.783,22204,7.957,22205,10.445,22206,9.672,22207,7.957,22208,7.957,22209,7.957,22210,10.445,22211,11.66,22212,10.445,22213,7.957,22214,10.445,22215,7.957,22216,7.957,22217,7.957,22218,7.957]],["title/classes/TimestampsResponse.html",[0,0.239,3972,3.985]],["body/classes/TimestampsResponse.html",[0,0.316,2,0.974,3,0.017,4,0.017,5,0.008,7,0.129,27,0.513,29,0.701,30,0.001,31,0.513,32,0.162,33,0.569,83,3.986,95,0.104,101,0.012,103,0.001,104,0.001,112,0.892,190,2.236,201,4.837,202,2.103,296,3.507,430,5.498,433,1.408,460,5.565,821,4.661,3972,7.701,3988,9.464,11523,10.295,11583,7.433,22219,9.155,22220,9.155,22221,9.155,22222,9.155,22223,9.155,22224,9.155]],["title/injectables/TldrawBoardRepo.html",[589,0.926,22225,5.328]],["body/injectables/TldrawBoardRepo.html",[0,0.18,3,0.01,4,0.01,5,0.005,7,0.073,8,0.897,27,0.51,29,0.842,30,0.001,31,0.616,32,0.161,33,0.503,35,1.191,36,2.439,47,0.964,55,1.561,95,0.136,101,0.007,103,0,104,0,112,0.607,122,1.622,135,1.434,145,1.958,148,0.769,153,0.857,228,1.683,277,0.75,317,2.716,337,3.21,371,4.121,433,0.644,569,3.193,571,4.35,589,1.037,591,1.243,634,7.256,651,2.643,653,2.157,657,2.125,711,4.224,804,3.912,1072,5.584,1086,5.247,1087,5.084,1088,5.163,1089,5.14,1090,6.519,1091,8.017,1092,5.221,1100,4.241,1103,4.006,2087,2.26,2230,4.393,2467,3.142,2476,4.006,3206,4.5,5027,2.66,5152,8.65,8352,3.508,9608,7.252,10529,3.912,20287,3.752,22225,5.963,22226,13.109,22227,5.224,22228,9.286,22229,10.286,22230,9.286,22231,10.286,22232,7.199,22233,7.774,22234,7.199,22235,7.774,22236,4.393,22237,7.774,22238,7.199,22239,5.224,22240,7.774,22241,5.224,22242,7.199,22243,10.113,22244,8.351,22245,5.224,22246,7.774,22247,11.527,22248,9.024,22249,5.224,22250,5.224,22251,5.224,22252,5.224,22253,5.224,22254,9.286,22255,5.224,22256,5.224,22257,6.821,22258,5.224,22259,5.224,22260,4.583,22261,4.241,22262,5.224,22263,4.837,22264,4.583,22265,5.224,22266,5.224,22267,5.224,22268,7.774,22269,5.224,22270,4.393,22271,7.774,22272,5.224,22273,7.774,22274,5.224,22275,8.599,22276,5.224,22277,5.224,22278,4.837,22279,5.224,22280,7.774,22281,5.224,22282,7.774,22283,5.224,22284,5.224,22285,7.774,22286,5.224,22287,5.224,22288,5.224,22289,5.224,22290,5.224,22291,5.224,22292,5.224,22293,5.224]],["title/modules/TldrawClientModule.html",[252,1.836,22294,6.433]],["body/modules/TldrawClientModule.html",[0,0.332,3,0.018,4,0.018,5,0.009,30,0.001,95,0.145,101,0.013,103,0.001,104,0.001,252,3.368,254,3.472,255,3.677,256,3.771,257,3.757,258,3.743,259,4.636,260,4.391,265,6.409,269,4.614,270,3.703,271,3.626,276,4.614,277,1.385,610,3.799,1027,2.953,3848,11.255,9602,8.926,12236,8.456,22294,13.125,22295,9.639,22296,9.639,22297,9.639,22298,9.639]],["title/interfaces/TldrawConfig.html",[159,0.714,22261,5.64]],["body/interfaces/TldrawConfig.html",[3,0.015,4,0.015,5,0.007,7,0.112,30,0.001,32,0.172,47,1.021,55,2.853,95,0.091,101,0.015,103,0.001,104,0.001,112,0.819,122,2.883,135,1.619,159,0.823,161,1.901,2087,3.463,2218,3.576,2219,4.025,2220,3.884,2221,5.032,12011,10.146,12012,7.023,12013,10.146,20137,7.413,22261,10.074,22299,8.005,22300,12.881,22301,12.881,22302,12.881,22303,12.881,22304,12.881,22305,12.881,22306,12.881,22307,10.486,22308,8.005,22309,8.005,22310,8.005,22311,8.005,22312,8.005,22313,8.005,22314,8.005,22315,7.413,22316,8.005]],["title/controllers/TldrawController.html",[314,2.659,22317,6.094]],["body/controllers/TldrawController.html",[0,0.287,3,0.016,4,0.016,5,0.008,7,0.117,8,1.24,10,4.767,27,0.327,29,0.637,30,0.001,31,0.466,32,0.169,33,0.38,35,0.963,95,0.149,101,0.011,103,0.001,104,0.001,190,1.494,202,1.911,228,1.508,274,3.478,277,1.195,314,3.185,316,4.014,317,2.581,337,6.607,342,7.019,345,7.723,388,3.568,390,6.342,391,8.013,392,4.35,393,4.108,400,2.478,401,4.652,402,4.507,657,1.904,1351,7.22,2048,4.369,2654,6.404,2923,5.7,3122,8.247,3181,5.976,3185,6.231,3186,6.231,3189,7.019,3191,6.554,3210,5.587,3228,6.097,3229,6.231,7120,8,9608,5.866,22317,9.433,22318,8.32,22319,10.452,22320,9.957,22321,8.32,22322,11.048,22323,8.32,22324,8.32,22325,8.32,22326,9.672,22327,7.705,22328,8.32,22329,8.32,22330,8.32,22331,8.32,22332,8.32,22333,8.32]],["title/classes/TldrawDeleteParams.html",[0,0.239,22322,6.094]],["body/classes/TldrawDeleteParams.html",[0,0.414,2,1.056,3,0.019,4,0.019,5,0.009,7,0.139,27,0.391,30,0.001,31,0.672,32,0.124,47,0.852,95,0.137,101,0.013,103,0.001,104,0.001,112,0.938,157,2.285,190,1.782,194,4.697,195,2.627,196,3.972,197,3.339,200,3.041,202,2.28,296,3.137,299,4.68,308,7.272,335,8.063,3122,9.209,9608,9.102,22322,10.534,22334,9.925,22335,9.925]],["title/entities/TldrawDrawing.html",[205,1.416,22336,5.64]],["body/entities/TldrawDrawing.html",[0,0.253,3,0.014,4,0.014,5,0.007,7,0.103,27,0.508,30,0.001,31,0.411,32,0.161,33,0.548,47,0.997,49,4.229,55,2.407,95,0.128,96,2.611,97,2.997,101,0.013,103,0,104,0,112,0.773,130,3.28,153,1.205,159,0.755,190,2.316,195,2.624,196,4.141,197,3.587,205,2.019,206,2.389,211,6.944,223,4.004,224,2.134,229,2.906,232,1.991,277,1.055,579,2.103,789,6.547,1197,6.498,1675,4.419,2048,2.985,2531,9.422,2922,4.252,5695,6.185,6700,5.501,8163,5.501,8229,5.786,9608,8.455,10098,5.964,22270,6.177,22336,8.04,22337,12.207,22338,6.802,22339,11.104,22340,7.346,22341,7.346,22342,7.346,22343,7.346,22344,7.346,22345,7.346,22346,8.689,22347,9.171,22348,6.802,22349,6.802,22350,9.171,22351,6.802,22352,9.171,22353,6.802]],["title/interfaces/TldrawDrawingProps.html",[159,0.714,22346,6.094]],["body/interfaces/TldrawDrawingProps.html",[0,0.266,3,0.015,4,0.015,5,0.007,7,0.109,30,0.001,31,0.433,32,0.163,33,0.598,47,1.026,49,3.867,55,2.556,95,0.131,96,2.701,97,3.153,101,0.013,103,0,104,0,112,0.8,130,3.483,153,1.268,159,0.794,161,1.835,195,2.242,196,4.212,197,3.196,205,2.088,223,4.063,224,2.245,229,3.057,232,2.094,277,1.11,579,2.212,789,6.953,1197,6.9,1675,4.649,2048,3.14,2531,8.615,2922,4.473,5695,6.568,6700,5.787,8163,5.787,8229,6.087,9608,8.978,10098,6.274,22270,6.498,22336,6.274,22337,7.156,22338,7.156,22339,11.792,22346,10.083,22347,9.487,22348,7.156,22349,7.156,22350,9.487,22351,7.156,22352,9.487,22353,7.156]],["title/modules/TldrawModule.html",[252,1.836,22354,6.433]],["body/modules/TldrawModule.html",[0,0.238,3,0.013,4,0.013,5,0.006,30,0.001,32,0.086,47,0.491,87,3.477,95,0.161,96,2.506,101,0.009,103,0,104,0,135,0.902,153,1.134,206,3.091,224,2.009,252,2.87,254,2.491,255,2.638,256,2.705,257,2.695,258,2.686,259,3.95,260,2.575,269,3.718,270,2.657,271,2.601,274,3.973,276,3.718,277,0.993,290,1.636,347,3.544,571,2.736,623,4.514,651,3.499,736,4.693,809,4.514,1014,4.792,1015,4.715,1021,4.456,1022,6.587,1024,6.587,1025,4.456,1026,4.347,1027,2.119,1031,8.931,1036,6.827,1040,4.792,1041,4.715,1086,3.3,1087,3.197,1088,3.247,1089,3.456,1166,4.577,1167,4.249,1484,8.506,1856,7.267,2087,4.112,2445,5.273,2609,3.394,2653,3.197,2832,4.456,2923,3.666,7399,8.161,9942,4.204,12008,4.456,12168,5.614,12317,6.965,12318,6.965,12319,7.118,12321,5.304,12330,5.067,12331,5.067,12556,8.802,22225,9.715,22317,9.528,22326,10.284,22327,6.404,22336,7.717,22354,13.276,22355,6.915,22356,6.915,22357,6.915,22358,10.652,22359,6.915,22360,6.915,22361,6.404]],["title/injectables/TldrawRepo.html",[589,0.926,22358,5.842]],["body/injectables/TldrawRepo.html",[0,0.286,3,0.016,4,0.016,5,0.008,7,0.116,8,1.237,10,4.291,27,0.495,29,0.963,30,0.001,31,0.704,32,0.157,33,0.575,35,1.376,36,2.822,47,0.844,95,0.136,96,2.185,97,3.38,101,0.011,103,0.001,104,0.001,148,0.82,205,2.186,206,2.695,228,1.502,277,1.19,317,3.013,400,2.468,433,1.021,589,1.43,591,1.972,657,2.454,734,4.501,759,6.387,2443,5.951,2444,6.974,2448,7.702,9608,7.561,22336,11.386,22358,9.018,22362,8.286,22363,10.724,22364,8.286,22365,8.286,22366,10.724,22367,8.286,22368,10.724,22369,8.286,22370,8.286,22371,8.286,22372,8.286]],["title/injectables/TldrawService.html",[589,0.926,22326,5.64]],["body/injectables/TldrawService.html",[0,0.327,3,0.018,4,0.018,5,0.009,7,0.133,8,1.348,27,0.46,29,0.896,30,0.001,31,0.655,32,0.146,33,0.534,35,1.1,36,2.474,47,0.899,95,0.133,101,0.012,103,0.001,104,0.001,135,1.239,228,1.722,277,1.365,317,2.744,400,2.83,433,1.171,589,1.559,591,2.261,657,2.675,9608,6.7,22270,7.991,22320,10.827,22326,9.493,22358,11.617,22361,8.799,22373,9.502,22374,9.502,22375,9.502,22376,11.692,22377,9.502,22378,9.502,22379,9.502]],["title/modules/TldrawTestModule.html",[252,1.836,22380,6.433]],["body/modules/TldrawTestModule.html",[0,0.243,3,0.013,4,0.013,5,0.006,8,0.813,27,0.277,29,0.54,30,0.001,31,0.395,32,0.088,33,0.322,35,0.816,59,2.189,95,0.158,101,0.009,103,0,104,0,135,1.256,148,0.697,206,2.293,252,3.115,254,2.539,255,2.689,256,2.758,257,2.747,258,2.737,259,4.489,260,2.624,265,5.89,269,3.767,270,2.708,271,2.652,276,4.828,277,1.013,290,2.278,314,2.698,467,2.804,478,1.979,540,3.382,610,2.778,1016,6.979,1027,2.16,1028,8.17,1029,8.288,1034,5.406,1043,6.674,1045,6.287,1048,4.885,1480,10.036,1484,8.555,1856,7.309,2032,3.66,2609,3.46,2653,3.259,5155,4.97,7399,8.209,12008,4.542,12168,5.723,12366,5.723,22225,9.772,22319,6.184,22380,13.397,22381,7.049,22382,7.049,22383,7.049,22384,11.178,22385,9.772,22386,8.449,22387,7.049,22388,7.049,22389,7.049,22390,7.819]],["title/classes/TldrawWs.html",[0,0.239,22390,5.64]],["body/classes/TldrawWs.html",[0,0.235,2,0.727,3,0.013,4,0.013,5,0.006,7,0.096,8,1.087,27,0.48,29,0.827,30,0.001,31,0.652,32,0.145,33,0.493,35,1.249,47,0.669,95,0.144,101,0.009,103,0,104,0,110,2.363,112,0.736,134,2.415,135,1.23,145,2.561,148,0.676,190,1.227,193,5.883,228,1.708,317,2.042,371,3.622,433,1.162,528,3.457,569,3.612,571,2.703,610,2.693,634,7.305,651,3.457,652,2.488,657,2.157,711,3.74,1086,3.261,1087,3.159,1088,3.208,1089,3.415,1090,5.147,1091,6.33,1092,4.588,1237,2.779,2087,2.956,2163,5.834,2671,2.204,2802,2.734,5365,5.241,7120,6.33,9608,8.204,18370,5.746,21624,5.241,22172,9.446,22173,5.241,22236,5.746,22243,8.27,22261,5.548,22275,6.328,22315,6.328,22319,5.995,22385,9.919,22390,7.653,22391,6.833,22392,10.792,22393,10.792,22394,11.635,22395,9.427,22396,9.427,22397,9.427,22398,10.792,22399,6.833,22400,9.427,22401,6.833,22402,9.427,22403,6.833,22404,6.833,22405,6.328,22406,6.833,22407,6.833,22408,6.833,22409,6.833,22410,6.833,22411,6.833,22412,6.833,22413,6.833,22414,6.833,22415,6.833,22416,6.833,22417,6.833,22418,6.833,22419,6.833,22420,9.427,22421,6.833,22422,6.833]],["title/classes/TldrawWsFactory.html",[0,0.239,22423,6.433]],["body/classes/TldrawWsFactory.html",[0,0.318,2,0.983,3,0.018,4,0.018,5,0.009,7,0.13,8,1.325,27,0.452,29,0.708,30,0.001,31,0.517,32,0.115,33,0.422,35,1.33,55,2.511,95,0.131,101,0.012,103,0.001,104,0.001,148,1.137,153,1.516,467,3.995,711,3.405,2769,5.045,18369,7.501,20287,6.636,22172,10.624,22173,7.086,22244,10.624,22264,8.106,22423,10.641,22424,9.24,22425,11.491,22426,13.086,22427,11.491,22428,9.24,22429,11.491,22430,9.24,22431,9.24,22432,8.556,22433,8.556]],["title/modules/TldrawWsModule.html",[252,1.836,22384,6.094]],["body/modules/TldrawWsModule.html",[0,0.3,3,0.017,4,0.017,5,0.008,30,0.001,95,0.16,101,0.011,103,0.001,104,0.001,252,3.215,254,3.133,255,3.318,256,3.403,257,3.39,258,3.378,259,4.425,260,3.239,269,4.328,270,3.342,271,3.272,276,4.328,277,1.249,314,3.33,610,3.428,651,4.401,1021,5.605,1025,5.605,1026,5.468,1027,2.665,2087,4.786,2445,5.625,2609,4.27,7399,8.706,12008,5.605,12321,6.672,22225,10.364,22384,12.549,22385,10.364,22386,7.632,22390,8.982,22434,8.699,22435,8.699,22436,8.699,22437,8.699]],["title/injectables/TldrawWsService.html",[589,0.926,22385,5.328]],["body/injectables/TldrawWsService.html",[0,0.113,3,0.006,4,0.006,5,0.003,7,0.046,8,0.623,27,0.468,29,0.854,30,0.001,31,0.676,32,0.15,33,0.51,35,1.254,36,1.687,47,0.843,55,1.085,95,0.127,101,0.004,103,0,104,0,112,0.422,122,0.686,125,0.782,129,2.631,130,2.181,134,1.161,135,1.522,142,3.94,145,2.026,148,0.937,153,1.554,157,0.757,195,1.928,197,0.914,228,0.979,277,0.472,289,1.902,317,2.052,388,5.004,433,0.666,533,2.885,567,2.054,569,3.623,579,0.941,589,0.72,591,0.782,629,4.197,634,5.483,640,2.019,651,1.663,652,1.102,657,1.236,711,4.057,734,2.268,756,2.138,813,1.838,985,1.902,1080,1.133,1115,4.548,1296,5.787,1328,4.67,1329,5.355,1393,3.073,1563,2.117,2037,2.091,2087,1.422,2162,6.114,2463,3.528,2582,3.397,2609,1.613,2615,2.241,2769,3.758,3206,3.984,3799,2.589,4214,2.461,4874,4.621,4909,2.52,4958,4.544,5091,2.885,5894,4.555,6119,3.187,7209,3.577,7414,3.745,7801,2.317,8042,6.28,8352,3.629,9608,7.638,10402,3.043,12031,2.52,12473,4.047,14896,2.668,18369,2.668,20287,2.36,21624,2.52,22172,10.058,22173,8.951,22225,7.679,22232,5.004,22234,5.004,22236,2.764,22238,5.004,22242,5.004,22243,6.994,22244,10.591,22248,10.027,22257,11.445,22261,2.668,22263,3.043,22264,2.883,22385,4.145,22433,3.043,22438,3.286,22439,6.373,22440,6.882,22441,6.882,22442,5.404,22443,5.404,22444,5.404,22445,5.404,22446,5.404,22447,5.404,22448,5.404,22449,5.404,22450,3.286,22451,3.286,22452,5.404,22453,9.271,22454,3.286,22455,7.972,22456,5.404,22457,5.404,22458,3.286,22459,11.882,22460,5.404,22461,3.286,22462,5.404,22463,9.473,22464,3.286,22465,5.404,22466,5.404,22467,3.286,22468,3.286,22469,5.404,22470,3.286,22471,3.286,22472,3.286,22473,3.286,22474,3.043,22475,3.286,22476,3.043,22477,3.286,22478,3.043,22479,3.286,22480,3.286,22481,3.286,22482,3.286,22483,3.286,22484,3.043,22485,5.404,22486,3.286,22487,7.972,22488,5.404,22489,3.286,22490,3.286,22491,3.286,22492,3.286,22493,3.286,22494,3.286,22495,3.286,22496,3.286,22497,3.286,22498,3.286,22499,3.286,22500,3.286,22501,5.404,22502,3.286,22503,3.286,22504,9.473,22505,3.286,22506,8.772,22507,6.373,22508,7.383,22509,7.972,22510,3.286,22511,7.383,22512,3.286,22513,7.972,22514,3.286,22515,3.286,22516,3.286,22517,3.286,22518,3.286,22519,3.286,22520,3.286,22521,5.404,22522,3.286,22523,3.286,22524,6.882,22525,3.286,22526,5.004,22527,3.286,22528,3.286,22529,3.286,22530,3.286,22531,3.286,22532,3.286,22533,3.286,22534,3.286,22535,3.286,22536,3.286,22537,3.286,22538,3.286,22539,3.286,22540,7.972,22541,3.286,22542,3.286,22543,6.882,22544,3.286,22545,6.882,22546,3.286,22547,3.286,22548,3.286,22549,3.286,22550,3.286,22551,3.286,22552,3.043,22553,3.286,22554,3.286,22555,3.286,22556,3.286]],["title/modules/TldrawWsTestModule.html",[252,1.836,22557,6.433]],["body/modules/TldrawWsTestModule.html",[0,0.276,3,0.015,4,0.015,5,0.007,8,0.925,27,0.316,29,0.615,30,0.001,31,0.449,32,0.1,33,0.367,35,0.928,59,2.49,95,0.158,101,0.011,103,0.001,104,0.001,135,1.37,148,0.793,252,3.281,254,2.889,255,3.06,256,3.138,257,3.126,258,3.115,259,4.688,260,2.986,269,4.107,270,3.081,271,3.017,276,5.042,277,1.152,314,3.07,467,3.057,540,3.687,610,3.161,651,4.058,1016,7.447,1021,5.168,1025,5.168,1026,5.042,1028,8.606,1029,5.386,1043,5.559,1045,6.854,1048,5.559,2087,4.542,2609,3.937,5155,5.655,7399,8.519,12008,5.168,12321,6.152,12366,6.512,22173,8.053,22225,10.142,22385,10.142,22386,9.211,22390,8.524,22557,13.012,22558,8.021,22559,8.021,22560,8.021,22561,8.021]],["title/injectables/ToggleUserLoginMigrationUc.html",[589,0.926,22562,5.842]],["body/injectables/ToggleUserLoginMigrationUc.html",[0,0.23,3,0.013,4,0.013,5,0.006,7,0.094,8,1.071,26,2.646,27,0.42,29,0.817,30,0.001,31,0.597,32,0.133,33,0.488,35,1.075,36,2.439,39,2.57,47,0.89,95,0.154,99,1.368,101,0.009,103,0,104,0,122,2.226,135,1.392,142,2.431,148,0.661,153,1.097,180,5.597,183,3.542,228,2.089,277,0.96,290,3.041,317,2.716,433,1.144,478,1.877,579,1.913,589,1.238,591,1.591,595,2.523,610,2.635,652,2.621,657,2.771,693,3.044,703,3.312,1027,2.048,1422,2.738,1775,5.109,1780,4.064,1853,2.186,1862,6.864,1961,4.022,1967,6.803,2065,7.629,2067,7.393,2069,3.981,2070,5.476,2445,5.352,2643,7.121,2653,3.091,2658,4.898,2667,5.127,4541,4.575,4923,5.275,4925,5.427,4927,5.427,4928,9.185,4935,5.907,4936,5.266,4937,7.246,4938,5.427,4939,5.865,4941,5.622,5365,9.289,18832,6.191,20589,5.865,20591,5.865,22562,7.808,22563,11.526,22564,8.146,22565,6.685,22566,6.685,22567,9.285,22568,5.865,22569,6.685,22570,6.191,22571,6.685]],["title/injectables/TokenGenerator.html",[589,0.926,20437,5.64]],["body/injectables/TokenGenerator.html",[0,0.345,3,0.019,4,0.019,5,0.009,7,0.141,8,1.393,27,0.394,30,0.001,35,1.16,95,0.148,101,0.013,103,0.001,104,0.001,135,1.308,148,0.992,176,6.111,277,1.44,589,1.61,591,2.386,13520,10.597,16320,6.731,16321,6.634,17899,9.283,20273,10.212,20437,9.807,22572,12.079,22573,13.459,22574,10.024,22575,10.024]],["title/classes/TokenRequestLoggableException.html",[0,0.239,16980,6.094]],["body/classes/TokenRequestLoggableException.html",[0,0.333,2,1.028,3,0.018,4,0.018,5,0.009,7,0.136,8,1.362,27,0.465,29,0.74,30,0.001,31,0.541,32,0.12,33,0.442,35,1.118,95,0.135,101,0.013,103,0.001,104,0.001,193,5.133,231,2.047,433,1.191,436,2.863,1080,3.331,1422,4.838,1423,4.561,1426,5.727,1462,5.317,1465,6.696,1468,4.561,1469,4.799,2081,11.177,2083,6.395,2095,11.177,9868,10.363,13423,8.947,13424,8.947,13425,8.947,16980,10.363,22576,11.813,22577,9.662]],["title/classes/TokenRequestMapper.html",[0,0.239,16876,6.094]],["body/classes/TokenRequestMapper.html",[0,0.291,2,0.898,3,0.016,4,0.016,5,0.008,7,0.119,8,1.252,27,0.427,29,0.832,30,0.001,31,0.608,32,0.135,33,0.496,35,1.256,47,1.011,95,0.137,101,0.011,103,0.001,104,0.001,148,1.074,153,1.78,159,0.868,173,5.588,467,3.904,871,3.091,998,5.977,1491,10.28,1493,6.854,1495,6.064,1496,6.854,1497,7.407,1498,7.407,1502,7.818,1505,7.818,1506,7.1,1507,6.322,1605,5.757,6310,6.032,6866,6.65,13451,9.482,13582,7.781,16876,9.523,16878,10.28,16905,11.726,16911,7.818,22578,11.996,22579,11.996,22580,10.854,22581,8.443,22582,8.443,22583,10.854,22584,8.443,22585,8.443,22586,8.443,22587,8.443,22588,8.443]],["title/classes/TooManyPseudonymsLoggableException.html",[0,0.239,22589,6.433]],["body/classes/TooManyPseudonymsLoggableException.html",[0,0.244,2,0.754,3,0.013,4,0.013,5,0.007,7,0.1,8,1.115,27,0.523,29,0.543,30,0.001,31,0.397,32,0.171,33,0.503,35,1.119,47,0.906,55,1.422,95,0.135,101,0.009,103,0,104,0,112,0.755,148,0.701,155,3.748,190,2.22,228,2.494,231,1.675,233,2.212,277,1.018,339,2.079,347,5.636,393,3.499,400,2.111,402,2.536,433,0.873,436,3.781,868,5.669,871,2.594,998,5.192,1078,3.107,1080,4.073,1115,4.523,1237,2.85,1354,8.474,1355,6.31,1356,7.18,1360,4.69,1361,4.065,1362,4.69,1363,4.69,1364,4.69,1365,4.69,1366,4.69,1367,4.354,1368,3.996,1374,4.566,1375,5.435,1422,4.505,1423,5.192,1426,5.303,1462,3.899,1468,5.192,1469,5.463,1477,3.68,1478,3.84,10557,6.426,10563,7.386,10564,5.753,12410,5.582,12411,5.753,15625,10.051,22589,8.95,22590,10.999,22591,10.999,22592,7.086,22593,6.562,22594,7.086,22595,9.665]],["title/modules/ToolApiModule.html",[252,1.836,20204,5.842]],["body/modules/ToolApiModule.html",[0,0.19,3,0.01,4,0.01,5,0.005,30,0.001,95,0.162,101,0.007,103,0,104,0,183,3.658,252,2.534,254,1.987,255,2.105,256,2.159,257,2.151,258,2.143,259,3.488,260,2.054,265,5.436,269,3.167,270,2.12,271,2.076,273,3.469,274,3.384,276,3.167,277,0.793,279,2.307,614,3.982,693,2.513,703,3.28,1027,1.691,1756,3.165,1856,6.745,1931,8.805,1933,9.018,2050,2.326,2069,3.286,2653,2.551,2671,3.093,3287,3.138,3843,7.306,3853,2.905,3859,3.602,5022,8.615,5717,3.224,6013,8.805,6018,7.895,6764,8.805,6771,4.346,7002,3.429,7021,9.887,7030,8.805,7044,4.346,8974,8.29,10113,9.546,10174,9.887,10742,9.887,10866,9.546,11032,9.887,19786,9.887,19800,9.887,19858,9.887,20204,12.327,22596,5.518,22597,5.518,22598,5.518,22599,9.887,22600,9.887,22601,8.413,22602,8.413,22603,8.413,22604,8.413,22605,8.413,22606,8.413,22607,9.589,22608,4.48,22609,5.518,22610,9.589,22611,8.096,22612,5.11,22613,5.518,22614,5.518,22615,5.518]],["title/modules/ToolConfigModule.html",[252,1.836,6764,5.202]],["body/modules/ToolConfigModule.html",[0,0.359,3,0.02,4,0.02,5,0.01,30,0.001,95,0.141,101,0.014,103,0.001,104,0.001,252,3.266,254,3.751,259,3.788,260,3.877,277,1.496,685,6.084,1267,7.48,1756,5.974,2087,4.505,2671,3.359,6764,9.254,10125,9.656,13665,8.758,22616,10.414,22617,10.414]],["title/classes/ToolConfiguration.html",[0,0.239,13665,5.842]],["body/classes/ToolConfiguration.html",[0,0.291,2,0.898,3,0.016,4,0.016,5,0.008,7,0.119,27,0.332,30,0.001,32,0.105,47,0.852,55,2.408,80,8.983,95,0.096,101,0.016,103,0.001,104,0.001,112,0.848,122,2.973,129,3.241,130,2.309,135,1.101,159,0.868,311,5.511,467,3.493,1756,6.227,1829,5.1,1940,7.831,2218,3.771,2219,4.245,2220,4.097,4212,4.932,6044,10.088,7681,7.541,8724,8.983,10123,8.79,10125,9.278,10387,10.525,10420,10.525,12401,8.458,13660,11.109,13661,11.109,13662,11.109,13663,11.109,13664,7.818,13665,9.128,13666,10.051,13667,10.051,13668,10.051,13669,10.051,13670,10.051,13671,10.051,17050,7.818]],["title/controllers/ToolConfigurationController.html",[314,2.659,22602,6.094]],["body/controllers/ToolConfigurationController.html",[0,0.154,3,0.008,4,0.008,5,0.004,7,0.063,8,0.797,27,0.404,29,0.787,30,0.001,31,0.575,32,0.163,33,0.469,35,1.189,36,2.593,95,0.133,100,1.561,101,0.006,103,0,104,0,134,3.629,135,1.599,148,1.016,157,2.364,183,4.759,190,1.844,202,1.028,228,0.811,274,1.87,277,0.642,314,1.712,316,2.158,317,2.838,325,6.563,326,4.814,329,5.775,349,6.67,374,4.697,388,4.404,390,6.403,392,2.338,395,2.406,398,2.424,400,1.332,401,5.743,614,3.901,657,2.35,703,3.514,711,3.882,1167,7.531,1882,1.706,2034,3.803,2035,2.195,2218,5.222,2537,7.961,2669,4.92,2671,3.77,2749,4.17,2884,5.716,3005,2.111,3209,2.307,4030,6.179,4819,7.031,6674,7.989,6676,7.713,6735,7.584,6752,7.287,7093,8.335,8070,3.43,10121,6.063,10130,7.102,10140,6.063,10172,3.761,10174,7.102,10179,7.821,10180,7.821,12056,10.054,14796,4.142,15619,7.989,18188,7.955,18189,7.102,18190,6.189,19707,7.989,19709,7.713,19727,7.484,19918,7.484,22602,6.063,22608,8.814,22618,8.446,22619,8.446,22620,4.473,22621,6.911,22622,6.911,22623,4.142,22624,4.473,22625,4.473,22626,6.911,22627,4.473,22628,4.473,22629,4.473,22630,8.798,22631,6.911,22632,6.911,22633,6.911,22634,4.473,22635,4.473,22636,6.911,22637,6.911,22638,4.473,22639,4.473,22640,4.473,22641,4.473,22642,7.989,22643,4.473,22644,7.287,22645,3.924,22646,4.473,22647,4.473,22648,3.523,22649,4.142,22650,4.473,22651,4.473,22652,4.473,22653,4.473,22654,4.473,22655,4.142,22656,4.473,22657,4.473,22658,3.924,22659,3.924,22660,4.473,22661,4.473,22662,4.142,22663,4.473,22664,4.473,22665,3.761,22666,4.473]],["title/classes/ToolConfigurationMapper.html",[0,0.239,22645,6.094]],["body/classes/ToolConfigurationMapper.html",[0,0.219,2,0.675,3,0.012,4,0.012,5,0.006,7,0.089,8,1.033,27,0.468,29,0.971,30,0.001,31,0.71,32,0.148,33,0.543,35,1.375,95,0.136,101,0.008,103,0,104,0,135,1.688,148,1.175,153,1.949,467,4.048,614,1.955,837,3.134,1882,2.421,2004,3.365,2034,6.2,2035,3.115,2669,5.588,2671,3.346,2749,6.584,3005,2.996,3982,4.262,4819,7.423,5695,4.618,6674,8.724,6676,9.646,6680,6.313,6681,5.136,6682,4.559,10129,7.269,10130,10.655,10155,5.153,10169,7.529,10172,5.337,10215,7.269,10397,6.431,10515,6.867,10866,5.153,10890,7.855,19707,8.724,19709,9.646,22642,8.724,22645,7.855,22667,11.418,22668,6.347,22669,10.374,22670,10.374,22671,10.374,22672,10.374,22673,8.954,22674,6.347,22675,6.347,22676,8.954,22677,6.347,22678,6.347,22679,10.374,22680,6.347,22681,6.347,22682,6.347,22683,6.347,22684,8.954,22685,6.347,22686,8.954,22687,8.291,22688,6.347,22689,6.347,22690,6.347,22691,6.347,22692,6.347,22693,6.347,22694,8.954,22695,6.347]],["title/controllers/ToolContextController.html",[314,2.659,22604,6.094]],["body/controllers/ToolContextController.html",[0,0.149,3,0.008,4,0.008,5,0.004,7,0.061,8,0.778,10,1.734,27,0.398,29,0.775,30,0.001,31,0.567,32,0.162,33,0.463,34,2.03,35,1.432,36,2.57,95,0.139,100,1.512,101,0.006,103,0,104,0,135,1.614,148,0.924,153,0.711,157,2.467,183,3.563,190,1.817,193,2.93,202,0.995,228,1.222,274,1.811,277,0.622,290,1.958,314,1.659,316,2.09,317,2.82,325,6.524,326,4.777,328,5.049,329,7.033,335,2.909,337,4.143,338,5.086,339,1.978,340,4.344,349,6.688,356,4.528,360,3.868,374,4.041,379,6.051,385,6.369,388,4.34,390,6.32,391,4.143,392,2.265,393,2.139,395,2.33,398,2.348,400,1.29,401,5.659,402,1.551,403,2.192,614,3.66,652,0.883,657,2.315,675,2.206,871,4.236,1027,1.328,1368,2.443,1882,1.653,2005,7.219,2342,4.843,2445,1.804,2446,3.149,2582,5.203,2671,1.397,3005,2.045,3209,2.235,3210,2.909,3211,3.71,4030,6.73,4115,4.843,4354,2.791,5437,2.555,6623,6.203,6702,7.855,6705,2.757,6735,4.099,6752,9.318,6773,9.408,6828,3.112,6864,3.801,6871,7.262,6875,3.801,6885,9.648,6897,3.323,6906,3.644,6975,7.262,6979,7.262,7008,8.025,7021,6.961,7024,7.665,7026,7.665,7027,7.665,7028,7.665,7054,4.012,7058,4.012,8070,5.171,10345,3.413,18188,7.852,18190,7.852,21075,3.644,22604,5.915,22608,8.701,22644,7.164,22648,3.413,22658,5.915,22659,5.915,22665,7.855,22687,4.012,22696,4.333,22697,4.333,22698,4.333,22699,3.801,22700,4.333,22701,3.801,22702,4.333,22703,4.333,22704,4.333,22705,4.333,22706,4.333,22707,4.333,22708,4.333,22709,4.333,22710,6.743,22711,4.333,22712,4.333,22713,4.333,22714,4.333,22715,4.333,22716,4.333,22717,4.333,22718,4.333,22719,4.333,22720,5.915,22721,6.244,22722,6.961,22723,4.333,22724,6.743,22725,4.333,22726,4.333,22727,4.333,22728,4.333,22729,4.333,22730,4.333,22731,4.333,22732,4.012,22733,4.333,22734,4.333,22735,4.333,22736,4.333,22737,4.333,22738,4.333,22739,4.333,22740,4.333]],["title/classes/ToolContextMapper.html",[0,0.239,10460,5.64]],["body/classes/ToolContextMapper.html",[0,0.341,2,1.053,3,0.019,4,0.019,5,0.009,7,0.139,27,0.39,30,0.001,32,0.123,95,0.137,101,0.013,103,0.001,104,0.001,112,0.936,129,2.956,130,2.708,183,3.776,467,3.755,614,3.05,886,3.115,1078,5.257,2034,5.448,2039,8.453,2042,10.082,6724,7.414,6733,6.084,6861,10.082,6862,10.082,10460,9.734,22741,11.102,22742,9.9,22743,12.896,22744,9.9]],["title/classes/ToolContextTypesListResponse.html",[0,0.239,22642,5.842]],["body/classes/ToolContextTypesListResponse.html",[0,0.322,2,0.994,3,0.018,4,0.018,5,0.009,7,0.131,27,0.455,29,0.716,30,0.001,31,0.523,32,0.144,33,0.427,95,0.132,101,0.012,103,0.001,104,0.001,112,0.904,134,4.443,183,4.796,190,1.678,195,2.533,202,2.147,296,3.024,339,3.962,433,1.152,861,6.478,864,6.64,881,5.104,886,2.941,2034,7.869,2035,4.588,2669,5.698,3169,5.567,3170,5.406,6258,6.7,6677,8.877,22642,9.733,22745,12.573]],["title/controllers/ToolController.html",[314,2.659,22606,6.094]],["body/controllers/ToolController.html",[0,0.118,3,0.007,4,0.007,5,0.003,7,0.048,8,0.646,10,1.374,27,0.402,29,0.782,30,0.001,31,0.571,32,0.162,33,0.466,34,1.817,35,1.341,36,2.676,95,0.143,100,1.199,101,0.005,103,0,104,0,131,4.169,135,1.65,148,0.957,153,0.564,157,2.769,190,1.832,193,3.558,202,0.789,228,1.484,274,1.436,277,0.493,290,2.741,298,1.486,314,1.315,316,1.657,317,2.83,325,6.395,326,4.641,328,4.196,329,3.406,335,2.307,337,5.031,338,5.542,339,2.402,340,5.275,347,2.872,349,6.555,356,3.763,360,4.697,365,4.301,371,2.971,374,2.424,379,3.613,385,6.958,388,3.868,390,6.276,391,4.361,392,1.796,393,1.696,395,1.848,398,1.861,401,5.706,402,2.005,403,2.835,433,0.423,533,4.372,540,1.968,595,1.297,610,1.354,614,3.278,652,1.669,657,2.214,675,1.749,869,2.75,871,3.542,883,5.773,1027,1.053,1368,1.937,1853,1.124,1882,1.31,2342,4.025,2445,1.43,2446,2.617,2474,4.227,2582,5.147,2669,4.822,2671,3.813,2749,6.303,3005,1.622,3209,1.772,3210,2.307,3211,3.084,4030,5.82,4115,2.467,4315,3.443,4819,6.104,5818,2.467,6641,2.467,6735,5.483,7580,4.926,7582,5.97,7584,2.067,7866,3.443,8297,5.97,10129,4.549,10184,5.314,10235,6.885,10331,10.981,10332,5.968,10338,3.181,10345,6.449,10376,3.181,10427,5.59,10438,2.889,10444,5.762,10635,4.298,10742,4.712,10755,4.916,10757,6.885,10781,6.885,10783,5.762,10786,6.885,10788,4.916,10845,8.639,10866,2.789,10913,6.885,10923,6.226,10924,6.226,10928,6.226,11032,5.968,11034,6.572,11035,6.572,11036,6.226,12736,3.014,12737,3.014,13916,3.014,13921,4.712,18188,6.609,18189,4.712,18190,7.477,21075,2.889,22606,4.916,22644,6.28,22648,2.706,22699,3.014,22701,4.916,22720,4.916,22722,4.712,22746,3.435,22747,3.435,22748,5.604,22749,3.435,22750,9.675,22751,3.435,22752,3.435,22753,3.435,22754,3.435,22755,3.181,22756,7.42,22757,3.435,22758,3.435,22759,3.435,22760,3.435,22761,3.181,22762,3.435,22763,3.435,22764,3.435,22765,3.435,22766,3.435,22767,3.435,22768,3.435,22769,5.189,22770,3.435,22771,3.435,22772,3.181,22773,3.435,22774,3.435,22775,3.435,22776,3.435,22777,3.435,22778,3.435,22779,3.435,22780,3.435,22781,3.435,22782,3.435,22783,3.435,22784,3.435,22785,5.604,22786,5.189,22787,3.435,22788,3.435,22789,3.435,22790,3.435,22791,3.435,22792,3.435,22793,3.435,22794,3.435,22795,9.675,22796,3.435,22797,3.435,22798,3.435,22799,3.435,22800,3.435,22801,3.435,22802,3.435,22803,3.435,22804,3.435,22805,3.435,22806,3.435,22807,3.435,22808,3.014,22809,3.435,22810,3.435,22811,3.435,22812,3.435,22813,3.435]],["title/controllers/ToolLaunchController.html",[314,2.659,22601,6.094]],["body/controllers/ToolLaunchController.html",[0,0.264,3,0.015,4,0.015,5,0.007,7,0.108,8,1.174,27,0.301,29,0.586,30,0.001,31,0.429,32,0.142,33,0.35,34,1.307,35,0.886,36,2.154,95,0.152,100,2.671,101,0.01,103,0,104,0,134,2.705,135,1.328,148,0.757,157,2.807,183,3.883,190,1.374,193,5.298,202,1.758,228,1.387,274,3.2,277,1.099,314,2.93,316,3.693,317,2.478,325,6.055,326,4.348,349,6.207,388,4.365,390,6.004,392,4.001,395,4.117,398,4.147,400,2.28,401,4.28,614,3.136,657,1.751,675,3.897,871,3.727,1756,5.84,2671,4.209,2728,9.603,2761,8.381,2773,8.313,3005,3.613,3209,3.948,4030,4.605,6670,8.265,6735,6.953,12419,6.214,18188,7.459,18190,7.459,22599,9.619,22601,8.931,22612,9.427,22644,7.808,22648,6.029,22649,7.088,22665,6.436,22814,7.654,22815,10.592,22816,7.654,22817,7.654,22818,7.654,22819,7.654,22820,7.654,22821,7.654,22822,8.931,22823,7.654,22824,9.427,22825,6.436,22826,9.619,22827,7.654,22828,7.654,22829,7.654,22830,7.654]],["title/classes/ToolLaunchData.html",[0,0.239,2751,5.328]],["body/classes/ToolLaunchData.html",[0,0.301,2,0.929,3,0.017,4,0.017,5,0.008,7,0.123,27,0.521,29,0.669,30,0.001,31,0.489,32,0.175,33,0.399,47,0.787,95,0.127,101,0.011,103,0.001,104,0.001,112,1.034,122,2.315,223,2.713,232,3.007,339,3.255,433,1.077,435,3.049,1756,7.76,2108,3.814,2332,6.817,2671,2.818,2680,6.275,2689,6.16,2731,9.897,2751,10.153,2773,9.371,4679,5.311,8115,7.334,8150,6.16,8151,6.542,18073,8.091,22831,12.527,22832,11.094,22833,8.737,22834,8.737,22835,11.289,22836,8.737,22837,8.737,22838,8.737]],["title/classes/ToolLaunchMapper.html",[0,0.239,22825,5.842]],["body/classes/ToolLaunchMapper.html",[0,0.246,2,0.759,3,0.014,4,0.014,5,0.007,7,0.1,8,1.12,27,0.466,29,0.908,30,0.001,31,0.664,32,0.148,33,0.542,35,1.372,95,0.126,101,0.009,103,0,104,0,110,3.358,134,2.522,135,1.737,148,1.172,153,1.171,467,4.044,641,5.523,837,3.524,871,3.556,1078,4.841,1723,5.523,1756,7.111,2035,3.503,2676,7.21,2679,6.622,2743,8.355,2761,9.37,2771,9.685,2779,6.609,5176,4.541,8115,5.843,8270,6.622,8274,6.73,8287,5.622,10322,6.002,10796,6.261,22825,8.167,22826,9.965,22835,11.842,22839,12.395,22840,7.137,22841,9.712,22842,9.712,22843,9.712,22844,9.712,22845,9.712,22846,7.137,22847,9.712,22848,7.137,22849,7.137,22850,9.712,22851,7.137,22852,7.137,22853,9.712,22854,7.137,22855,7.137,22856,7.137,22857,7.137,22858,7.137,22859,9.712,22860,9.712,22861,9.712,22862,7.137,22863,9.712,22864,7.137,22865,11.85,22866,7.137,22867,7.137]],["title/modules/ToolLaunchModule.html",[252,1.836,22868,6.094]],["body/modules/ToolLaunchModule.html",[0,0.222,3,0.012,4,0.012,5,0.006,30,0.001,95,0.157,101,0.008,103,0,104,0,183,2.452,252,2.76,254,2.315,255,2.452,256,2.515,257,2.505,258,2.496,259,3.799,260,3.889,269,3.534,270,2.469,271,2.418,276,3.534,277,0.923,417,3.594,610,2.533,614,3.218,703,2.805,1756,3.688,1931,9.271,1932,4.617,1935,6.067,1998,10.861,2012,10.861,2028,4.814,2058,10.861,2062,10.861,2069,3.828,2546,4.455,2671,3.369,2708,10.411,3380,5.219,3841,10.051,3843,7.693,3853,3.384,4957,6.067,5021,6.765,5026,4.93,5717,3.755,6013,9.271,6018,8.314,6245,4.814,6762,9.752,6763,10.051,8974,8.729,15863,10.861,16830,10.411,21677,5.219,22868,12.88,22869,6.428,22870,6.428,22871,6.428,22872,6.428,22873,11.473,22874,11.465,22875,6.428,22876,6.428,22877,6.428,22878,6.428,22879,6.428]],["title/classes/ToolLaunchParams.html",[0,0.239,2728,5.472]],["body/classes/ToolLaunchParams.html",[0,0.41,2,1.04,3,0.019,4,0.019,5,0.009,7,0.137,27,0.385,30,0.001,32,0.122,34,2.032,47,0.845,95,0.136,101,0.013,103,0.001,104,0.001,112,0.929,157,2.251,183,4.539,190,1.756,194,4.655,195,2.604,196,3.937,197,3.309,200,2.997,202,2.247,296,3.109,614,3.665,855,4.817,1756,6.827,2671,3.838,2728,9.374,3550,7.173,4150,5.945,22880,11.02,22881,9.78,22882,9.78]],["title/classes/ToolLaunchRequest.html",[0,0.239,2761,5.09]],["body/classes/ToolLaunchRequest.html",[0,0.304,2,0.94,3,0.017,4,0.017,5,0.008,7,0.124,27,0.523,29,0.677,30,0.001,31,0.495,32,0.165,33,0.56,47,0.914,95,0.101,101,0.012,103,0.001,104,0.001,110,4.237,112,0.872,122,2.331,193,3.838,232,3.027,433,1.089,435,3.083,641,7.322,1723,6.968,1756,7.782,2735,10.304,2761,9.732,2773,9.394,7182,4.786,8115,7.371,8118,5.552,8150,6.228,8151,6.614,17827,7.171,18749,7.428,22831,12.562,22883,8.833,22884,11.171,22885,8.833,22886,8.833,22887,8.833,22888,8.18,22889,8.18]],["title/classes/ToolLaunchRequestResponse.html",[0,0.239,22826,5.842]],["body/classes/ToolLaunchRequestResponse.html",[0,0.248,2,0.766,3,0.014,4,0.014,5,0.007,7,0.101,27,0.489,29,0.552,30,0.001,31,0.403,32,0.155,33,0.599,47,0.844,95,0.111,101,0.009,103,0,104,0,110,4.3,112,0.763,122,2.039,125,1.714,130,2.673,134,2.545,153,1.603,157,2.738,190,2.135,193,5.572,194,4.653,195,2.138,197,3.307,202,1.654,232,2.648,296,3.249,433,0.887,435,2.513,641,7.071,868,5.706,886,3.074,1723,7.071,1756,7.356,2124,5.18,2614,8.111,2671,4.135,2735,10.456,2773,9.599,2787,6.317,3211,5.377,5294,7.933,7182,3.902,8042,7.696,8115,6.672,8118,4.527,8150,5.077,8151,5.392,9447,6.668,17827,5.846,18749,6.055,22822,8.572,22826,10.456,22880,11.874,22888,6.668,22889,6.668,22890,9.771,22891,7.201,22892,9.048,22893,7.201,22894,9.771,22895,7.201]],["title/injectables/ToolLaunchService.html",[589,0.926,22873,5.842]],["body/injectables/ToolLaunchService.html",[0,0.174,3,0.01,4,0.01,5,0.005,7,0.071,8,0.874,26,2.499,27,0.448,29,0.83,30,0.001,31,0.607,32,0.151,33,0.495,35,1.17,36,2.408,39,2.798,47,0.646,95,0.152,99,1.033,101,0.007,103,0,104,0,112,0.592,125,1.803,134,1.783,135,1.65,148,0.9,153,1.659,183,2.89,228,2.062,277,0.725,317,2.691,339,1.48,402,1.806,433,0.934,579,2.604,589,1.01,591,1.201,610,1.989,614,3.505,652,2.731,657,2.604,675,2.569,703,2.352,1080,1.74,1312,2.369,1756,6.771,2004,7.043,2005,7.056,2007,4.518,2035,2.477,2087,2.183,2671,2.443,2676,5.129,2708,10.211,2749,6.56,2751,8.728,2761,7.409,2769,4.967,2773,5.166,4957,7.276,5120,7.981,5695,2.603,6033,9.297,6036,5.551,6640,3.172,6682,6.534,6921,3.975,6922,3.497,6984,7.253,6985,7.532,7002,4.708,7018,3.624,8672,7.016,10228,4.427,16830,10.211,19853,6.371,19865,4.673,22825,4.244,22873,6.371,22874,11.244,22896,11.803,22897,5.046,22898,7.576,22899,7.576,22900,9.097,22901,9.097,22902,7.576,22903,7.576,22904,5.046,22905,7.576,22906,5.046,22907,5.046,22908,5.046,22909,5.046,22910,5.046,22911,4.427,22912,6.647,22913,7.981,22914,5.046,22915,5.046,22916,5.046,22917,5.046,22918,5.046,22919,5.046,22920,7.016,22921,5.046,22922,5.046,22923,5.046,22924,5.046,22925,7.576,22926,5.046,22927,4.673,22928,7.016]],["title/interfaces/ToolLaunchStrategy.html",[159,0.714,22913,6.094]],["body/interfaces/ToolLaunchStrategy.html",[3,0.017,4,0.017,5,0.008,7,0.129,8,1.319,26,2.687,27,0.45,29,0.877,30,0.001,31,0.641,32,0.143,33,0.523,35,1.324,36,2.421,39,2.54,95,0.142,99,1.878,101,0.012,103,0.001,104,0.001,134,3.243,159,0.943,161,2.179,326,4.739,1756,7.153,2671,2.959,2709,10.939,2723,10.038,2724,10.038,2728,10.282,2751,10.012,2756,8.05,2757,10.038,2761,9.136,2773,8.901,2774,8.05,22913,10.038,22929,12.468,22930,9.176,22931,9.176,22932,11.442,22933,9.176]],["title/injectables/ToolLaunchUc.html",[589,0.926,22599,5.842]],["body/injectables/ToolLaunchUc.html",[0,0.266,3,0.015,4,0.015,5,0.007,7,0.109,8,1.181,26,2.748,27,0.403,29,0.785,30,0.001,31,0.574,32,0.128,33,0.468,35,0.894,36,2.167,39,2.139,95,0.157,99,1.581,101,0.01,103,0,104,0,134,2.731,135,1.596,148,0.764,183,4.668,228,2.083,277,1.11,317,2.49,433,1.263,589,1.366,591,1.839,595,2.917,610,3.045,614,3.156,652,2.343,657,2.629,693,4.666,1756,6.593,1775,5.637,1780,4.698,2005,6.657,2007,3.838,2653,3.572,2751,8.814,2761,7.507,3287,4.394,3550,6.843,6765,8.716,7002,4.802,7030,9.998,7044,6.087,7051,6.78,7056,6.274,22599,8.615,22815,9.487,22873,11.005,22920,9.487,22934,11.493,22935,7.728,22936,7.728,22937,7.728,22938,10.245,22939,7.728,22940,7.156,22941,7.728,22942,7.728]],["title/modules/ToolModule.html",[252,1.836,1933,5.328]],["body/modules/ToolModule.html",[0,0.258,3,0.014,4,0.014,5,0.007,30,0.001,95,0.154,101,0.01,103,0,104,0,183,2.854,252,2.988,254,2.695,255,2.854,256,2.927,257,2.916,258,2.906,259,4.113,260,4.21,269,3.923,270,2.875,271,2.815,276,3.923,277,1.075,543,3.631,610,2.949,614,3.483,703,2.323,1829,3.181,1842,3.408,1846,5.894,1933,11.108,1935,6.733,1938,4.025,2512,4.255,2609,3.673,2671,4.063,2773,5.102,3841,11.36,5717,4.371,6013,7.509,6019,10.732,6762,11.022,6763,11.36,6764,9.71,6771,5.894,7007,5.739,22868,12.276,22943,7.483,22944,7.483,22945,7.483,22946,7.483,22947,7.483]],["title/injectables/ToolPermissionHelper.html",[589,0.926,7030,5.202]],["body/injectables/ToolPermissionHelper.html",[0,0.201,3,0.011,4,0.011,5,0.005,7,0.082,8,0.973,26,2.545,27,0.39,29,0.759,30,0.001,31,0.555,32,0.123,33,0.453,35,0.976,36,2.295,39,3.003,95,0.153,99,1.195,101,0.008,103,0,104,0,135,1.501,153,0.958,159,0.6,183,5.113,193,2.537,228,2.085,252,1.543,277,0.839,290,2.343,317,2.598,340,3.762,412,2.584,433,1.04,478,1.639,507,2.572,579,1.671,589,1.125,591,1.39,610,3.325,614,2.598,652,2.346,657,2.633,688,2.756,693,4.941,703,3.368,711,3.554,886,1.837,980,3.239,1218,3.812,1714,4.373,1775,6.804,1829,2.482,1853,1.91,1862,6.602,1918,6.864,1932,4.194,1935,3.921,1952,4.117,1956,4.599,1960,5.123,1961,5.075,2004,6.555,2005,6.618,2007,4.19,2017,8.183,2018,7.949,2028,4.373,2032,4.124,2034,3.213,2038,7.094,2039,4.117,2042,4.91,2050,3.556,2065,7.18,2067,6.864,2069,3.478,2070,4.975,2071,5.407,2564,3.762,2640,4.279,2641,7.518,2653,2.699,2655,6.181,2658,4.279,2884,3.513,2930,4.117,3005,5.121,3405,4.373,4110,4.279,5437,3.444,6244,4.046,7030,6.317,7048,5.407,10177,9.172,10178,8.689,10186,5.407,10188,5.123,20563,5.123,21477,4.741,21677,4.741,22948,10.849,22949,9.905,22950,9.905,22951,5.839,22952,5.839,22953,5.839,22954,6.645,22955,9.172,22956,9.172,22957,5.839,22958,5.839,22959,9.905,22960,8.436,22961,7.812,22962,5.839,22963,5.839,22964,5.839]],["title/classes/ToolReference.html",[0,0.239,6913,5.328]],["body/classes/ToolReference.html",[0,0.296,2,0.914,3,0.016,4,0.016,5,0.008,7,0.121,27,0.53,29,0.658,30,0.001,31,0.481,32,0.168,33,0.553,47,0.956,95,0.098,101,0.011,103,0.001,104,0.001,112,0.857,122,2.29,402,4.328,433,1.058,614,4.217,2126,5.017,3725,7.534,6036,8.861,6623,7.924,6627,6.157,6640,5.398,6647,5.533,6681,6.937,6697,5.684,6913,10.329,6931,9.818,6932,7.952,6933,7.952,6934,7.534,6935,10.169,6936,7.952,22965,13.689,22966,10.973,22967,10.973,22968,8.587,22969,8.587,22970,8.587,22971,8.587,22972,7.952,22973,7.952,22974,8.587]],["title/controllers/ToolReferenceController.html",[314,2.659,22605,6.094]],["body/controllers/ToolReferenceController.html",[0,0.216,3,0.012,4,0.012,5,0.006,7,0.088,8,1.023,27,0.349,29,0.68,30,0.001,31,0.497,32,0.153,33,0.406,35,1.027,36,2.37,95,0.144,100,2.187,101,0.008,103,0,104,0,135,1.543,148,0.878,153,1.028,157,2.827,183,3.93,190,1.593,202,1.44,228,1.136,274,2.62,277,0.9,290,3.05,314,2.399,316,3.024,317,2.66,325,6.271,326,4.667,329,6.811,349,6.428,371,5.94,385,7.64,388,4.418,390,6.076,392,3.277,395,3.371,398,3.396,400,1.867,401,4.962,614,3.889,657,2.03,675,3.191,1842,5.103,1882,2.391,2671,3.814,2749,5.532,2880,7.545,3005,2.959,3209,3.233,4030,5.339,4315,6.885,5818,6.374,6623,5.964,6702,9.422,6752,8.594,6906,5.271,6913,8.594,6915,9.969,6918,5.804,6928,5.804,10345,8.826,18188,7.549,18190,7.549,22600,8.664,22605,7.786,22608,8.365,22623,5.804,22630,8.218,22644,7.902,22648,4.937,22658,5.499,22659,5.499,22665,5.271,22755,8.218,22756,8.594,22975,6.268,22976,6.268,22977,9.039,22978,9.541,22979,6.268,22980,6.268,22981,6.268,22982,6.268,22983,6.268,22984,6.268,22985,6.268,22986,6.268,22987,6.268,22988,10.375,22989,6.268,22990,6.268,22991,6.268,22992,6.268,22993,6.268,22994,6.268,22995,6.268,22996,6.268]],["title/classes/ToolReferenceListResponse.html",[0,0.239,22988,6.094]],["body/classes/ToolReferenceListResponse.html",[0,0.327,2,1.011,3,0.018,4,0.018,5,0.009,7,0.133,27,0.46,29,0.728,30,0.001,31,0.532,32,0.158,33,0.434,95,0.133,101,0.012,103,0.001,104,0.001,112,0.913,125,2.261,190,1.706,202,2.183,296,3.055,339,3.981,433,1.171,614,3.901,861,6.585,864,6.707,866,4.72,881,5.188,1842,5.768,2671,3.064,6623,7.331,6677,8.967,6915,11.363,22988,10.258,22997,11.728,22998,9.502]],["title/classes/ToolReferenceMapper.html",[0,0.239,22999,6.094]],["body/classes/ToolReferenceMapper.html",[0,0.311,2,0.959,3,0.017,4,0.017,5,0.008,7,0.127,8,1.305,27,0.355,29,0.69,30,0.001,31,0.505,32,0.112,33,0.412,35,1.043,95,0.141,101,0.012,103,0.001,104,0.001,135,1.175,148,0.891,153,1.478,402,4.641,467,3.601,614,3.809,1882,3.437,2005,7.234,2007,4.476,2749,6.732,6036,9.503,6623,6.548,6627,4.588,6640,5.665,6681,5.17,6913,10.458,6921,7.098,6923,7.906,6931,7.316,6935,7.578,10215,7.316,10515,6.911,10889,8.345,22667,10.476,22999,9.925,23000,9.011,23001,12.366,23002,9.011,23003,9.011]],["title/classes/ToolReferenceResponse.html",[0,0.239,6915,5.64]],["body/classes/ToolReferenceResponse.html",[0,0.238,2,0.734,3,0.013,4,0.013,5,0.006,7,0.097,27,0.498,29,0.529,30,0.001,31,0.608,32,0.162,33,0.496,34,1.621,47,0.899,95,0.108,101,0.009,103,0,104,0,110,3.283,112,0.741,122,1.981,153,1.557,157,3.123,183,3.621,190,2.2,194,5.307,195,2.891,196,4.188,197,3.841,201,3.687,202,1.586,296,3.201,402,4.385,433,0.851,614,3.995,624,7.109,866,3.429,2126,4.033,2671,4.261,5294,7.708,6623,7.507,6627,5.525,6647,4.448,6667,10.303,6681,6.225,6697,4.569,6706,9.519,6915,10.278,6931,8.809,6935,9.125,8042,7.478,8297,6.283,10445,5.605,11284,6.819,22972,6.393,22973,6.393,22997,12.01,23004,6.904,23005,9.494,23006,9.494,23007,6.904,23008,6.904,23009,6.904,23010,9.494,23011,6.904,23012,8.791,23013,6.904,23014,6.904,23015,6.904,23016,6.904,23017,6.904,23018,6.904]],["title/injectables/ToolReferenceService.html",[589,0.926,6767,5.842]],["body/injectables/ToolReferenceService.html",[0,0.245,3,0.013,4,0.013,5,0.007,7,0.1,8,1.116,26,2.434,27,0.381,29,0.741,30,0.001,31,0.542,32,0.121,33,0.442,35,0.822,36,2.047,95,0.157,99,1.453,101,0.009,103,0,104,0,135,1.614,148,0.702,183,2.708,228,2.242,277,1.02,317,2.385,402,3.463,433,1.193,589,1.29,591,1.69,610,2.798,614,4.096,652,2.522,657,2.705,675,3.614,703,3.004,1882,2.708,1943,6.574,2004,6.268,2005,6.468,2007,4.806,2671,2.289,2749,6.304,3550,5.411,5695,3.662,6033,10.292,6036,7.091,6623,6.373,6640,4.462,6765,8.529,6767,8.137,6913,9.068,6922,4.92,6934,6.228,6984,7.845,6985,8.648,7002,6.013,7017,5.099,7018,5.099,7056,5.763,7073,5.763,10183,5.592,10184,9.784,10216,6.574,10217,6.574,10218,6.574,22911,9.659,22927,6.574,22977,8.49,22999,6.228,23019,7.099,23020,9.677,23021,7.099,23022,7.099]],["title/injectables/ToolReferenceUc.html",[589,0.926,22600,5.842]],["body/injectables/ToolReferenceUc.html",[0,0.193,3,0.011,4,0.011,5,0.005,7,0.079,8,0.943,26,2.869,27,0.445,29,0.867,30,0.001,31,0.634,32,0.147,33,0.517,34,0.956,35,1.231,36,2.812,39,3.377,47,0.581,95,0.143,99,1.145,101,0.007,103,0,104,0,135,1.692,142,3.867,148,1.119,153,0.918,158,2.062,183,3.12,228,1.752,277,0.804,317,2.908,433,1.008,589,1.09,591,1.332,595,2.112,610,2.205,614,3.639,629,2.945,652,2.601,657,2.792,693,3.724,1328,2.966,1775,4.5,1780,3.401,1882,2.134,2005,7.369,2034,5.851,2035,2.746,2463,3.652,2653,2.587,3287,3.182,3550,5.946,5437,6.271,6623,6.839,6626,7.038,6705,6.765,6765,7.713,6767,10.262,6913,10.381,6921,6.442,7008,4.19,7030,9.138,7044,4.407,7056,4.542,7061,4.291,7068,5.181,22600,6.877,22732,5.181,22940,5.181,22977,7.175,22978,8.951,23023,11.815,23024,5.595,23025,8.178,23026,9.666,23027,5.595,23028,8.178,23029,5.595,23030,8.178,23031,5.595,23032,5.595,23033,5.595,23034,5.595,23035,5.595,23036,5.595,23037,5.595,23038,5.595,23039,5.595,23040,8.178,23041,5.595,23042,8.178,23043,8.178,23044,5.595]],["title/controllers/ToolSchoolController.html",[314,2.659,22603,6.094]],["body/controllers/ToolSchoolController.html",[0,0.136,3,0.008,4,0.008,5,0.004,7,0.056,8,0.724,10,1.583,27,0.406,29,0.79,30,0.001,31,0.578,32,0.162,33,0.471,34,1.915,35,1.37,36,2.599,95,0.138,100,1.381,101,0.005,103,0,104,0,131,4.524,135,1.603,148,0.959,157,2.659,190,1.852,193,3.861,202,0.909,228,1.61,274,1.654,277,0.568,290,2.292,314,1.515,316,1.909,317,2.843,325,6.565,326,4.67,328,4.702,329,5.401,335,2.657,337,3.858,338,5.954,339,2.607,340,5.725,347,4,349,6.73,356,4.216,360,5.097,365,2.791,374,2.716,379,5.88,385,7.032,388,4.155,390,6.375,391,3.858,392,2.069,393,1.954,395,2.128,398,2.144,401,5.767,402,1.416,403,3.177,433,0.488,533,3.352,614,3.935,652,1.811,657,2.36,675,2.015,703,3.202,871,3.253,1027,1.212,1368,2.231,1882,1.509,2004,6.841,2342,4.51,2445,1.647,2446,2.933,2582,4.907,2671,3.125,3005,1.868,3209,2.041,3210,2.657,3211,3.455,4030,6.204,4115,2.842,4354,2.549,4541,1.381,4819,5.916,6735,3.817,6789,3.212,6828,2.842,6897,3.035,8234,6.315,10134,6.265,10345,4.946,10913,5.28,11036,6.848,18188,7.557,18189,5.28,18190,7.92,19525,3.664,19727,9.822,19729,6.148,19732,3.471,19736,6.564,19752,9.09,19786,5.28,19790,9.483,19791,3.471,19795,8.373,19800,5.28,19808,5.28,19822,7.795,19858,6.564,19860,7.228,19861,7.228,19863,7.228,19864,7.228,21075,3.327,22603,5.508,22608,8.775,22644,5.986,22648,3.117,22662,8.973,22699,3.471,22701,5.508,22720,5.508,22722,5.28,22756,4.815,22761,3.664,22769,3.664,22772,3.664,22786,3.664,22824,5.814,23045,3.957,23046,3.957,23047,7.805,23048,3.957,23049,3.957,23050,3.957,23051,3.957,23052,3.957,23053,3.957,23054,3.957,23055,3.957,23056,3.957,23057,3.957,23058,3.957,23059,3.957,23060,3.957,23061,3.957,23062,7.805,23063,3.957,23064,3.957,23065,3.957,23066,3.957,23067,3.957,23068,3.957,23069,3.957,23070,3.957,23071,3.957,23072,3.957,23073,3.957,23074,3.957,23075,3.957,23076,3.957,23077,3.957,23078,6.279,23079,3.957,23080,3.957,23081,6.279,23082,3.957,23083,3.957,23084,3.957,23085,3.957,23086,3.957,23087,3.957,23088,3.957,23089,3.957]],["title/classes/ToolStatusOutdatedLoggableException.html",[0,0.239,22912,6.094]],["body/classes/ToolStatusOutdatedLoggableException.html",[0,0.282,2,0.871,3,0.016,4,0.016,5,0.008,7,0.115,8,1.227,26,2.787,27,0.419,29,0.627,30,0.001,31,0.458,32,0.133,33,0.374,35,0.947,39,3.271,95,0.135,99,1.675,101,0.011,103,0.001,104,0.001,122,2.775,148,0.81,228,2.268,231,1.844,233,2.555,242,4.308,277,1.176,290,1.936,339,2.401,402,4.479,433,1.311,652,2.551,1027,2.508,1115,3.133,1237,3.137,1422,4.841,1423,5.579,1426,5.617,1462,4.504,1468,5.579,1469,5.871,1477,4.25,1478,4.435,1756,6.781,2671,2.64,2922,6.842,6047,9.858,6048,8.824,6663,6.645,6665,7.18,6670,6.645,10342,5.496,10373,6.886,10566,5.997,12407,5.997,22822,7.18,22912,9.333,23090,11.82,23091,11.82,23092,8.185,23093,8.185]],["title/classes/ToolStatusResponseMapper.html",[0,0.239,6919,6.094]],["body/classes/ToolStatusResponseMapper.html",[0,0.334,2,1.03,3,0.018,4,0.018,5,0.009,7,0.136,8,1.364,27,0.381,29,0.742,30,0.001,31,0.542,32,0.121,33,0.443,35,1.121,95,0.135,101,0.013,103,0.001,104,0.001,135,1.263,148,0.958,153,1.589,402,4.571,467,3.719,829,5.712,830,6.561,837,4.782,1882,3.694,4064,9.948,6036,9.747,6046,9.948,6047,7.629,6048,6.829,6667,11.472,6919,10.379,15848,7.863,19853,8.145,22741,10.955,22928,8.969]],["title/interfaces/ToolVersion.html",[159,0.714,6040,4.137]],["body/interfaces/ToolVersion.html",[3,0.02,4,0.02,5,0.01,7,0.15,8,1.447,27,0.421,30,0.001,35,1.238,55,2.519,101,0.014,103,0.001,104,0.001,159,1.099,161,2.539,6040,7.475,6629,10.543,23094,12.551,23095,10.692,23096,10.692]],["title/injectables/ToolVersionService.html",[589,0.926,6033,5.472]],["body/injectables/ToolVersionService.html",[0,0.239,3,0.013,4,0.013,5,0.006,7,0.097,8,1.099,27,0.375,29,0.73,30,0.001,31,0.534,32,0.119,33,0.435,35,0.803,36,2.016,80,5.197,95,0.155,101,0.009,103,0,104,0,135,1.243,148,0.942,153,1.138,183,2.647,195,2.085,197,2.649,228,2.122,277,0.997,317,2.357,402,3.41,433,1.174,589,1.27,591,1.652,614,4,629,5.015,652,2.387,657,2.18,688,3.276,703,2.958,1328,5.051,1329,5.792,1829,2.95,1847,5.836,1882,2.647,1938,3.732,1940,4.53,2004,7.012,2005,6.915,2007,4.732,2087,3.002,2671,3.073,2749,6.412,4934,5.085,5695,5.612,6019,9.961,6030,10.075,6033,7.505,6034,6.426,6036,8.581,6044,5.836,6046,8.012,6047,5.466,6048,4.893,6051,6.426,6052,6.426,6623,6.298,6640,4.362,6766,10.295,6770,5.634,7002,4.312,7007,5.322,7053,6.426,7681,4.362,10123,8.581,10125,8.581,10144,5.466,12401,4.893,19750,10.23,19851,6.088,19882,6.426,22911,9.545,23097,6.939,23098,6.939,23099,6.939,23100,6.088,23101,6.939]],["title/interfaces/TriggerDeletionExecutionOptions.html",[159,0.714,9079,5.842]],["body/interfaces/TriggerDeletionExecutionOptions.html",[3,0.02,4,0.02,5,0.01,7,0.15,30,0.001,32,0.133,55,2.674,56,6.489,101,0.014,103,0.001,104,0.001,112,0.98,159,1.099,161,2.539,2806,6.246,2891,7.679,9079,10.555,18338,9.901,23102,10.692]],["title/classes/TriggerDeletionExecutionOptionsBuilder.html",[0,0.239,23103,6.433]],["body/classes/TriggerDeletionExecutionOptionsBuilder.html",[0,0.344,2,1.061,3,0.019,4,0.019,5,0.009,7,0.14,8,1.389,27,0.393,29,0.764,30,0.001,31,0.559,32,0.124,33,0.456,35,1.154,55,2.597,56,5.685,95,0.114,101,0.013,103,0.001,104,0.001,148,0.987,159,1.025,467,3.767,507,5.305,2806,7.035,2891,8.65,9079,10.879,18334,9.237,18336,9.237,23103,11.152,23104,12.043,23105,12.043]],["title/classes/UnauthorizedLoggableException.html",[0,0.239,1721,5.842]],["body/classes/UnauthorizedLoggableException.html",[0,0.308,2,0.952,3,0.017,4,0.017,5,0.008,7,0.126,8,1.299,27,0.443,29,0.686,30,0.001,31,0.501,32,0.14,33,0.409,35,1.036,47,0.966,48,6.351,51,5.915,59,2.779,95,0.141,101,0.012,103,0.001,104,0.001,135,1.168,148,0.885,228,2.042,231,1.953,233,2.794,234,6.865,244,6.559,277,1.286,339,2.626,400,2.666,433,1.103,652,1.825,1115,4.312,1237,3.322,1422,5.05,1426,5.807,1462,4.925,1468,6.107,1477,4.648,1478,4.85,1721,9.473,1983,8.278,10342,6.011,12410,7.051,12411,7.267,14221,7.267,23106,12.328,23107,8.951,23108,8.289]],["title/classes/UnknownQueryTypeLoggableException.html",[0,0.239,23109,6.433]],["body/classes/UnknownQueryTypeLoggableException.html",[0,0.384,2,0.938,3,0.017,4,0.017,5,0.008,7,0.124,8,1.286,27,0.439,29,0.675,30,0.001,31,0.494,32,0.169,33,0.403,35,1.02,47,0.869,95,0.127,101,0.012,103,0.001,104,0.001,148,0.872,158,3.248,228,1.597,231,1.934,233,2.751,277,1.266,339,2.586,365,5.72,400,2.625,433,1.086,1027,2.701,1115,3.374,1237,3.289,1312,5.747,1422,5.553,1423,5.778,1426,5.774,1462,4.85,1465,6.108,1468,5.778,1469,6.08,1477,4.576,1478,4.776,3331,6.33,7800,5.753,10045,6.6,20088,7.412,23109,10.331,23110,12.24,23111,8.814,23112,12.24,23113,8.814,23114,8.814]],["title/classes/UpdateElementContentBodyParams.html",[0,0.239,9578,4.535]],["body/classes/UpdateElementContentBodyParams.html",[0,0.47,2,0.57,3,0.01,4,0.01,5,0.005,7,0.075,9,2.489,27,0.211,30,0.001,31,0.674,32,0.173,47,0.896,83,1.56,95,0.127,99,1.096,101,0.018,103,0,104,0,110,1.852,112,0.619,125,1.885,130,3.292,155,1.699,157,2.397,190,0.962,195,1.172,200,1.641,201,3.66,202,1.23,223,1.663,231,2.016,296,3.688,299,4.918,300,4.453,339,2.765,360,3.073,854,4.979,855,3.206,886,1.685,899,2.439,1232,3.1,1749,3.046,1853,1.752,2048,3.83,2392,4.437,2881,2.556,2887,6.615,3128,2.415,3170,2.502,3533,3.159,3535,3.159,3538,3.129,3541,4.893,3545,2.763,3550,2.995,4018,3.291,4039,3.291,4438,5.407,6350,5.924,6352,5.996,6354,5.924,6356,6.625,6358,5.996,6360,5.996,6408,3.451,6445,6.152,6446,6.152,6447,6.152,6448,6.152,6449,6.152,6450,6.152,6788,6.646,7952,3.496,8022,3.129,9565,5.318,9566,3.597,9568,8.178,9569,6.797,9570,6.797,9571,6.797,9572,3.597,9573,6.797,9574,3.291,9575,3.545,9576,6.797,9577,7.254,9578,5.17,9579,5.17,9580,3.496,9581,5.17,9582,3.597,9583,3.597,9584,3.597,9585,3.597,9586,3.597,9587,3.597,10240,4.699,23115,5.356,23116,5.356]],["title/classes/UpdateFlagParams.html",[0,0.239,13898,6.094]],["body/classes/UpdateFlagParams.html",[0,0.415,2,1.061,3,0.019,4,0.019,5,0.009,7,0.14,27,0.393,30,0.001,32,0.124,95,0.153,101,0.013,103,0.001,104,0.001,112,0.941,122,2.513,157,2.296,190,1.791,199,6.68,200,3.056,202,2.291,290,2.359,296,3.147,356,8.087,868,4.786,4923,5.512,12371,9.122,12401,8.491,13898,10.565,23117,11.152,23118,9.974,23119,9.974,23120,9.974]],["title/classes/UpdateMatchParams.html",[0,0.239,13890,6.094]],["body/classes/UpdateMatchParams.html",[0,0.413,2,1.051,3,0.019,4,0.019,5,0.009,7,0.139,27,0.389,30,0.001,32,0.123,39,3.565,47,0.85,95,0.153,101,0.013,103,0.001,104,0.001,112,0.935,157,2.274,190,1.773,200,3.026,202,2.269,290,3.047,296,3.128,356,8.039,855,4.846,868,4.739,1619,7.356,1842,5.452,4923,5.479,13890,10.502,23117,11.086,23121,9.876,23122,9.876,23123,9.876]],["title/classes/UpdateNewsParams.html",[0,0.239,16456,5.842]],["body/classes/UpdateNewsParams.html",[0,0.429,2,0.857,3,0.015,4,0.015,5,0.007,7,0.113,27,0.462,30,0.001,32,0.146,33,0.481,47,0.883,83,3.065,95,0.142,99,1.648,100,3.674,101,0.011,103,0.001,104,0.001,112,0.971,155,4.094,157,2.863,190,2.106,200,2.468,201,4.83,202,1.85,205,2.699,298,3.484,299,4.571,300,4.761,525,5.503,806,8.074,854,6.617,1749,5.986,2392,4.923,2468,6.541,3071,6.333,3541,4.182,7120,7.069,7820,7.875,7824,7.917,8017,7.065,8022,6.15,8023,8.852,8024,8.292,8033,7.178,8034,7.458,16456,8.852,23124,12.437,23125,10.527,23126,10.527,23127,9.235,23128,8.053,23129,8.053,23130,8.053,23131,8.053,23132,8.053,23133,8.053]],["title/classes/UpdateSubmissionItemBodyParams.html",[0,0.239,4013,6.094]],["body/classes/UpdateSubmissionItemBodyParams.html",[0,0.41,2,1.04,3,0.019,4,0.019,5,0.009,7,0.137,27,0.385,30,0.001,32,0.122,95,0.136,101,0.013,103,0.001,104,0.001,112,0.929,122,2.785,157,2.251,190,1.756,194,4.655,195,2.604,199,6.6,200,2.997,202,2.247,296,3.109,3128,6.019,3547,8.406,4013,10.44,8037,9.374,8039,9.056,8040,8.58,8041,10.44,8042,9.374,8043,9.056,23134,11.9]],["title/interfaces/UrlHandler.html",[159,0.714,4137,5.328]],["body/interfaces/UrlHandler.html",[3,0.018,4,0.018,5,0.009,7,0.136,8,1.362,27,0.465,29,0.905,30,0.001,31,0.662,32,0.147,33,0.54,35,1.367,36,2.499,47,0.985,95,0.11,101,0.013,103,0.001,104,0.001,106,8.568,107,8.329,110,4.085,111,7.611,115,9.305,119,8.947,120,9.305,122,2.465,131,4.919,134,3.414,159,0.993,161,2.295,4127,7.932,4130,9.305,4137,9.06,23135,12.759,23136,9.662]],["title/entities/User.html",[205,1.416,290,1.643]],["body/entities/User.html",[0,0.142,3,0.008,4,0.008,5,0.004,7,0.177,27,0.527,30,0.001,32,0.166,33,0.637,34,0.703,47,0.984,83,3.614,95,0.12,96,1.085,101,0.01,103,0,104,0,112,0.857,122,1.671,129,1.229,130,1.126,135,1.045,148,0.407,153,1.49,159,0.666,190,2.404,195,3.042,196,4.302,205,1.851,206,1.338,211,7.068,219,2.301,221,3.082,223,4.158,224,1.195,225,2.488,226,1.865,229,1.628,231,0.713,232,1.115,233,1.284,290,1.894,331,4.019,579,1.178,692,4.662,700,4.765,701,4.765,702,4.876,703,3.407,704,5.028,711,1.219,874,2.404,886,1.295,1078,3.511,1198,5.463,1237,1.213,1821,1.997,1826,4.103,1827,3.61,1835,3.319,2911,4.566,2915,3.592,2919,3.592,3370,1.847,3388,5.826,4394,2.427,4535,6.192,4541,2.26,4546,6.284,4598,6.734,4601,2.852,4607,3.458,4629,3.241,4630,3.082,5319,6.501,5320,6.501,5321,6.501,5329,4.85,5413,7.637,5670,3.041,6563,3.156,7475,3.61,7491,3.979,7494,2.557,7515,2.587,7516,2.502,7837,2.476,7838,2.557,11184,6.965,11189,2.686,11190,2.901,11191,2.686,11192,2.901,11193,2.806,11194,3.015,11195,3.46,11196,3.61,11523,6.965,11583,3.341,11587,3.46,13812,5.446,15109,6.192,15198,3.082,17785,3.341,17800,3.341,17805,3.341,18692,6.308,18998,3.46,18999,3.46,19001,3.46,19005,5.446,19686,3.241,20012,6.801,21887,3.241,23137,3.811,23138,7.153,23139,6.965,23140,7.153,23141,4.115,23142,4.115,23143,4.115,23144,4.115,23145,4.115,23146,4.115,23147,4.115,23148,4.115,23149,4.115,23150,4.115,23151,4.115,23152,4.115,23153,4.115,23154,4.115,23155,4.115,23156,8.018,23157,4.115,23158,4.115,23159,4.115,23160,4.115,23161,4.115,23162,4.115,23163,3.811,23164,5.997,23165,5.997,23166,5.997,23167,5.446,23168,3.46,23169,3.811,23170,3.811,23171,3.46,23172,3.811,23173,3.46,23174,3.811,23175,3.46,23176,3.811,23177,3.811,23178,3.811,23179,3.811,23180,5.997]],["title/classes/UserAlreadyAssignedToImportUserError.html",[0,0.239,23181,6.433]],["body/classes/UserAlreadyAssignedToImportUserError.html",[0,0.276,2,0.852,3,0.015,4,0.015,5,0.007,7,0.112,8,1.209,27,0.53,30,0.001,32,0.172,33,0.479,35,0.927,47,0.83,55,1.607,95,0.142,101,0.01,103,0.001,104,0.001,112,0.819,155,3.936,190,2.313,228,2.527,231,1.817,233,2.499,290,2.48,402,2.865,433,1.441,436,3.916,640,7.185,868,5.953,871,2.931,998,5.52,1078,3.51,1080,4.278,1115,4.476,1218,5.226,1354,8.685,1355,6.708,1356,7.634,1360,5.298,1361,4.592,1362,5.298,1363,5.298,1364,5.298,1365,5.298,1366,5.298,1367,4.919,1369,6.305,1374,5.157,1842,3.646,3703,5.458,3773,8.818,4315,4.919,5231,5.032,14223,6.732,23181,9.71,23182,10.486,23183,10.486,23184,8.005,23185,8.005,23186,10.486]],["title/interfaces/UserAndAccountParams.html",[159,0.714,705,5.842]],["body/interfaces/UserAndAccountParams.html",[0,0.236,3,0.013,4,0.013,5,0.006,26,1.945,30,0.001,47,0.868,48,4.638,49,3.567,51,4.534,94,7.03,95,0.148,99,1.403,101,0.012,103,0,104,0,135,1.746,148,1.209,159,1.111,161,1.628,231,1.638,290,3.236,326,4.921,467,3.559,478,1.925,499,5.567,574,3.866,595,2.588,652,1.926,689,9.798,690,6.015,691,6.015,692,4.46,693,5.306,694,5.024,695,4.925,696,6.015,697,8.369,698,5.259,699,10.257,700,4.559,701,4.559,702,4.665,703,2.934,704,4.811,705,10.886,706,5.766,707,6.015,708,8.29,709,6.015,710,6.015,711,3.204,712,6.015,713,9.092,714,8.29,715,8.29,716,5.766,717,9.485,718,9.485,719,6.015,720,8.29,721,8.29,722,5.766,723,6.015,724,8.29,725,6.662,726,5.766]],["title/classes/UserAndAccountTestFactory.html",[0,0.239,706,5.842]],["body/classes/UserAndAccountTestFactory.html",[0,0.193,2,0.594,3,0.011,4,0.011,5,0.005,7,0.078,8,0.942,26,1.682,27,0.445,29,0.866,30,0.001,31,0.633,32,0.156,33,0.517,35,1.309,47,0.803,48,4.01,49,3.084,51,3.92,94,6.846,95,0.139,99,1.143,101,0.011,103,0,104,0,129,3.173,130,2.907,135,1.664,148,1.118,159,0.993,172,4.106,231,0.968,290,3.2,326,5.101,467,3.969,478,1.569,499,4.536,574,3.15,595,2.109,652,2.407,689,8.122,690,10.361,691,4.902,692,3.857,693,5.904,694,4.094,695,4.013,696,4.902,697,7.632,698,4.285,699,9.588,700,3.942,701,3.942,702,4.034,703,2.537,704,4.16,705,11.537,706,6.87,707,7.168,708,7.168,709,7.168,710,4.902,711,2.862,712,8.473,713,10.728,714,7.168,715,7.168,716,4.698,717,8.473,718,8.473,719,8.473,720,7.168,721,7.168,722,4.698,723,8.473,724,7.168,725,5.76,726,4.698,23187,8.17,23188,8.17,23189,5.587,23190,5.587,23191,5.587,23192,5.587,23193,5.587,23194,5.587,23195,5.587,23196,5.587]],["title/modules/UserApiModule.html",[252,1.836,20207,5.842]],["body/modules/UserApiModule.html",[0,0.327,3,0.018,4,0.018,5,0.009,30,0.001,95,0.151,101,0.012,103,0.001,104,0.001,252,3.347,254,3.422,255,3.624,256,3.717,257,3.703,258,3.69,259,4.607,260,3.538,269,4.574,270,3.65,271,3.574,273,5.973,274,4.888,276,4.574,277,1.365,314,3.637,3005,4.485,3843,8.584,13915,11.216,20207,11.887,23197,9.502,23198,9.502,23199,9.502,23200,9.502,23201,11.111,23202,9.502]],["title/interfaces/UserBoardRoles.html",[159,0.714,3387,5.328]],["body/interfaces/UserBoardRoles.html",[0,0.274,3,0.015,4,0.015,5,0.007,7,0.112,26,2.645,30,0.001,32,0.16,33,0.565,34,1.356,39,3.424,47,0.936,95,0.119,99,1.625,101,0.017,102,4.21,103,0.001,104,0.001,112,0.815,125,2.483,148,1.032,159,1.072,161,1.886,185,2.721,231,1.808,357,6.091,567,3.019,693,3.617,700,5.968,701,5.968,886,3.282,1767,5.74,1770,4.222,1832,5.053,1849,4.597,1921,5.504,2644,7.643,2645,10.141,2655,5.819,3082,6.256,3369,6.967,3370,4.682,3377,10.043,3378,6.152,3379,9.151,3380,6.448,3381,6.678,3382,3.635,3383,7.505,3384,5.984,3385,6.967,3386,6.967,3387,9.487,3388,6.339,3389,6.678,3390,6.448,3391,9.151,3392,6.967]],["title/interfaces/UserConfig.html",[159,0.714,20131,5.64]],["body/interfaces/UserConfig.html",[3,0.02,4,0.02,5,0.01,7,0.151,30,0.001,32,0.134,47,0.948,101,0.014,103,0.001,104,0.001,112,0.983,159,1.105,161,2.553,311,7.017,20131,10.222,20138,12.752,23203,10.749]],["title/controllers/UserController.html",[314,2.659,23201,6.094]],["body/controllers/UserController.html",[0,0.273,3,0.015,4,0.015,5,0.007,7,0.111,8,1.201,27,0.41,29,0.798,30,0.001,31,0.583,32,0.13,33,0.476,35,1.206,36,2.615,95,0.15,100,2.766,101,0.01,103,0.001,104,0.001,135,1.612,141,3.399,148,1.031,153,1.3,190,1.87,202,1.821,228,1.436,274,3.313,277,1.138,290,2.752,314,3.034,316,3.824,317,2.855,325,6.673,326,4.423,349,6.84,379,5.304,389,5.174,392,4.144,395,4.263,398,4.295,400,2.361,657,2.384,675,4.035,1826,5.338,2546,5.493,3005,3.741,3014,5.246,3209,4.088,3388,4.062,4533,10.394,13915,9.448,18806,6.954,18810,6.665,21012,10.209,23201,9.14,23204,7.926,23205,11.637,23206,7.926,23207,10.418,23208,7.926,23209,7.926,23210,10.418,23211,7.926,23212,7.926,23213,7.34,23214,7.926,23215,7.926,23216,9.647,23217,7.926,23218,7.926,23219,7.926,23220,7.926]],["title/classes/UserDO.html",[0,0.239,8056,3.764]],["body/classes/UserDO.html",[0,0.202,2,0.622,3,0.011,4,0.011,5,0.005,7,0.082,26,2.04,27,0.557,29,0.448,30,0.001,31,0.327,32,0.176,33,0.662,34,1.442,47,1.002,83,3.815,95,0.124,99,1.197,101,0.008,103,0,104,0,112,0.66,122,1.762,231,1.464,331,2.588,430,4.06,431,4.232,433,0.721,436,1.733,460,3.555,462,3.555,478,1.642,700,4.783,701,4.783,702,4.894,704,5.047,1078,3.703,1198,5.963,1770,2.367,1842,2.663,1852,6.403,2497,4.747,2499,4.747,3388,5.08,4535,6.759,4541,3.46,4546,6.307,4618,3.449,4630,4.379,4746,5.415,5319,8.048,5320,8.048,5321,8.048,6563,4.485,6637,4.285,7837,3.518,8056,6.239,8062,6.759,8131,4.606,8162,4.485,8165,6.652,8166,4.606,8174,5.13,11184,7.603,11189,3.817,11191,3.817,11193,3.987,11195,4.917,15109,6.759,15198,4.379,18692,7.808,18704,5.13,20012,7.423,23138,7.808,23139,7.603,23140,7.808,23168,4.917,23171,4.917,23173,4.917,23175,4.917,23221,5.848,23222,8.445,23223,5.848,23224,5.848,23225,5.848,23226,5.848,23227,5.848,23228,5.848,23229,5.848,23230,5.848,23231,5.848,23232,5.848,23233,5.848,23234,5.848,23235,5.848,23236,5.848,23237,5.848,23238,5.848,23239,5.848,23240,5.848,23241,5.848,23242,5.848,23243,5.848,23244,5.848,23245,5.848,23246,5.848,23247,5.848,23248,5.848,23249,5.848,23250,5.848,23251,5.848,23252,5.848,23253,5.848,23254,5.848,23255,5.848,23256,5.848,23257,5.848,23258,5.848,23259,5.848,23260,5.848]],["title/injectables/UserDORepo.html",[589,0.926,23261,5.842]],["body/injectables/UserDORepo.html",[0,0.12,3,0.007,4,0.007,5,0.003,7,0.049,8,0.653,10,2.865,12,2.554,18,2.865,26,2.395,27,0.494,29,0.951,30,0.001,31,0.703,32,0.155,33,0.567,34,1.752,35,1.436,36,2.625,40,2.732,47,0.842,48,5.249,55,0.699,56,1.643,58,2.272,59,1.08,95,0.133,96,0.918,99,0.712,101,0.005,103,0,104,0,112,0.272,122,1.182,125,1.348,129,1.691,130,1.549,135,1.637,142,3.303,145,1.305,148,1.151,153,1.49,158,1.283,185,1.941,197,2.294,205,1.46,206,1.132,224,1.011,231,0.982,277,0.5,279,1.455,290,2.935,317,2.939,331,4.018,346,2.55,365,1.547,393,1.718,430,1.425,431,1.486,436,3.277,478,0.977,540,2.514,569,1.08,579,0.996,589,0.755,591,0.828,595,1.314,652,2.317,657,2.53,692,1.643,700,2.732,701,2.732,702,2.796,703,1.08,704,4.623,729,3.861,735,2.579,736,4.483,766,1.872,770,2.188,788,2.373,789,1.9,790,2.373,863,3.116,869,4.05,1198,3.407,1770,3.34,1853,1.138,2139,1.996,2231,3.22,2436,8.223,2438,4.067,2439,3.993,2440,3.993,2441,4.067,2442,3.993,2449,2.5,2451,2.5,2453,3.697,2454,3.861,2455,2.5,2458,4.067,2460,2.412,2461,6.863,2462,3.993,2465,2.5,2467,2.094,2468,2.162,2469,2.373,2471,2.5,2474,4.264,2515,2.825,2516,2.606,3388,4.653,3589,3.223,4541,1.215,4546,3.603,4721,2.115,4731,3.053,4735,2.669,4736,2.669,4751,2.454,4785,2.825,5010,2.5,5089,7.426,5091,3.024,5168,3.249,5319,2.825,5320,2.825,5321,2.825,6229,2.921,6795,4.968,6808,4.762,6811,4.968,6819,2.55,6820,2.55,6821,2.55,6822,2.55,6823,2.55,6824,2.55,6835,2.412,7580,4.308,7646,2.926,7866,5.07,7876,7.683,7895,2.55,7896,2.55,8056,6.872,8062,5.626,8063,2.825,8065,2.825,8068,3.053,10622,2.926,10626,3.053,10628,3.053,10629,3.053,10649,3.223,10655,4.968,10784,6.499,11026,3.223,11028,3.223,11029,3.223,11030,5.244,11031,3.223,11184,4.343,12795,2.926,15049,2.55,15085,5.813,15109,3.861,15238,4.968,15241,4.968,15259,3.223,15266,3.223,15270,3.223,16022,3.223,17641,3.223,18692,2.741,19780,2.825,19782,3.053,19783,3.053,20012,4.241,22028,4.968,22030,4.968,23138,4.461,23139,4.343,23140,4.461,23261,4.762,23262,10.694,23263,5.663,23264,5.244,23265,5.663,23266,3.48,23267,7.641,23268,3.48,23269,3.48,23270,5.244,23271,3.48,23272,3.223,23273,3.48,23274,3.48,23275,3.48,23276,3.48,23277,3.48,23278,3.48,23279,3.223,23280,4.968,23281,3.48,23282,3.48,23283,3.48,23284,3.48,23285,3.48,23286,3.223,23287,3.48,23288,3.48,23289,3.48,23290,3.223,23291,6.631,23292,3.48,23293,5.244,23294,3.48,23295,5.663,23296,3.223,23297,3.223,23298,3.48,23299,3.48,23300,3.48,23301,3.48,23302,3.223,23303,3.48,23304,3.223,23305,3.223,23306,3.223,23307,3.223,23308,3.48,23309,3.48,23310,3.48,23311,3.48,23312,3.223,23313,3.223,23314,3.223,23315,3.223,23316,3.223,23317,3.48,23318,3.48,23319,3.48,23320,3.48,23321,3.48,23322,3.48,23323,3.48,23324,3.48,23325,3.48,23326,3.48,23327,3.48,23328,3.48,23329,3.48,23330,3.48,23331,3.48,23332,3.48]],["title/interfaces/UserData.html",[159,0.714,11318,5.472]],["body/interfaces/UserData.html",[0,0.135,3,0.007,4,0.007,5,0.004,7,0.055,26,1.819,30,0.001,31,0.349,32,0.128,34,1.064,36,2.496,47,0.959,51,5.166,55,0.786,72,1.793,95,0.147,99,0.802,101,0.005,103,0,104,0,112,0.487,122,0.818,135,1.791,142,2.266,145,2.335,148,1.191,153,1.684,159,0.991,161,0.931,228,1.861,254,1.411,277,0.563,290,0.927,317,2.556,339,3.278,412,1.734,433,0.483,478,1.1,528,1.982,578,2.048,579,2.529,589,0.831,595,1.479,610,2.455,614,2.722,652,2.599,657,3.104,980,5.349,1065,4.337,1212,2.524,1472,2.191,1853,1.282,1884,2.408,2004,4.684,2005,4.62,2007,3.852,2017,5.133,2026,3.04,2032,4.376,2034,2.156,2039,4.393,2046,2.934,2047,2.814,2297,8.481,2369,2.191,2511,2.334,2544,2.357,2749,6.416,3852,4.183,3853,2.063,4541,1.367,4692,4.996,4815,2.631,4816,2.672,5009,4.301,5010,2.814,5401,4.665,5412,5.069,5894,2.593,6244,2.715,6626,5.133,6680,4.393,6750,2.672,6765,5.062,6829,4.475,6922,2.715,6984,4.765,6985,5.133,7002,4.819,7008,5.807,7017,2.814,7018,2.814,7061,4.778,7452,3.606,7455,4.934,7456,2.763,7550,2.871,7597,3.086,8056,5.226,8062,4.248,8253,3.916,10134,2.763,10208,3.005,10373,4.862,10397,6.347,10464,3.086,10554,2.814,10557,7.159,10563,5.208,10592,3.005,11278,3.005,11279,3.181,11280,3.181,11281,3.181,11282,3.181,11283,3.181,11284,2.814,11285,3.181,11298,5.374,11300,3.181,11303,3.181,11305,3.181,11307,3.181,11308,7.174,11310,3.181,11312,3.181,11314,3.181,11316,3.181,11318,8.802,11319,3.181,11321,3.181,11323,3.181,11325,3.005,11326,3.181,11327,4.907,11328,6.96,11329,4.907,11330,5.058,11331,5.058,11332,7.829,11333,5.058,11334,3.181,11335,5.058,11336,3.181,11337,3.181,11338,5.058,11339,3.181,11340,3.181,11341,5.058,11342,3.181,11343,3.181,11344,3.181,11345,3.181,11346,3.181,11347,3.181,11348,3.181,11349,3.181,11350,3.181,11351,3.181,11352,6.296,11353,3.181,11354,3.181,11355,3.181,11356,3.181,11357,3.181,11358,3.181,11359,3.181,11360,3.181,11361,3.181,11362,3.181,11363,3.181,11364,5.058,11365,3.181,11366,3.086,11367,3.181,11368,4.183,11369,2.631,11370,3.086,11371,3.086,11372,3.181,11373,5.058,11374,3.181,11375,5.058,11376,3.181,11377,3.086,11378,3.181,11379,3.181,11380,3.181,11381,3.181,11382,3.181,11383,3.181,11384,3.086,11385,3.086]],["title/classes/UserDataResponse.html",[0,0.239,20841,5.842]],["body/classes/UserDataResponse.html",[0,0.314,2,0.97,3,0.017,4,0.017,5,0.008,7,0.128,27,0.512,29,0.698,30,0.001,31,0.51,32,0.162,33,0.417,39,3.71,47,0.971,95,0.104,101,0.012,103,0.001,104,0.001,112,0.89,190,2.232,202,2.094,242,4.798,296,3.624,433,1.404,700,6.468,701,6.468,821,4.64,11189,5.949,11191,5.949,20841,11.273,23333,13.405,23334,9.114,23335,9.114,23336,9.114,23337,9.114,23338,9.114]],["title/classes/UserDoFactory.html",[0,0.239,23339,6.433]],["body/classes/UserDoFactory.html",[0,0.169,2,0.522,3,0.009,4,0.009,5,0.005,7,0.069,8,0.855,26,1.526,27,0.52,29,1.021,30,0.001,31,0.724,32,0.17,33,0.583,34,1.527,35,1.454,47,0.526,49,1.851,55,2.347,59,3.323,95,0.128,99,1.004,101,0.006,103,0,104,0,112,0.579,113,4.487,127,4.98,129,3.594,130,3.293,135,0.967,148,0.734,153,0.805,157,2.058,172,4.237,185,2.541,192,2.699,205,1.823,206,2.412,228,1.344,231,1.285,290,1.16,326,4.85,374,3.208,433,0.604,436,3.877,467,2.159,501,7.089,502,5.528,505,4.113,506,5.528,507,5.302,508,4.113,509,4.113,510,4.113,511,4.049,512,4.552,513,4.959,514,6.523,515,5.844,516,7.005,517,2.742,522,2.72,523,4.113,524,2.742,525,5.21,526,5.36,527,4.219,528,5.042,529,4.08,530,2.72,531,2.564,532,4.177,533,2.619,534,2.564,535,2.72,536,2.742,537,4.882,538,2.72,539,7.173,540,4.227,541,6.676,542,2.742,543,3.598,544,2.72,545,2.742,546,2.72,547,2.742,548,2.72,551,2.72,552,6.147,553,2.742,554,2.72,555,4.113,556,3.752,557,4.113,558,2.742,559,2.638,560,2.6,561,2.201,562,2.72,563,2.72,564,2.72,565,2.742,566,2.742,567,1.864,568,2.72,569,1.523,570,2.742,571,2.933,572,2.72,573,2.742,574,2.765,575,2.814,577,2.921,595,1.851,700,2.366,701,2.366,702,2.421,1770,1.985,3388,4.582,4541,1.712,4649,6.304,4651,3.523,5009,4.113,8056,2.658,8063,3.982,8722,4.303,13956,4.303,23339,8.28,23340,4.904,23341,7.415,23342,7.415,23343,4.904,23344,4.904,23345,4.542,23346,4.542]],["title/classes/UserDto.html",[0,0.239,23347,5.842]],["body/classes/UserDto.html",[0,0.24,2,0.74,3,0.013,4,0.013,5,0.006,7,0.098,26,2.528,27,0.551,29,0.533,30,0.001,31,0.389,32,0.175,33,0.649,34,1.86,47,0.982,83,3.413,95,0.109,99,1.423,101,0.009,103,0,104,0,112,0.745,122,1.99,129,2.848,130,2.609,205,1.417,290,2.256,433,0.857,458,2.781,478,1.952,561,3.12,578,3.634,700,5.254,701,5.254,702,5.377,704,5.545,1078,4.183,1198,6.551,3421,4.668,3422,4.538,4535,7.425,4541,3.801,4546,6.929,4618,4.1,4630,5.206,5420,5.644,6563,5.331,7837,4.182,11189,4.538,11191,4.538,11193,4.74,13003,8.021,13088,5.206,14291,6.099,16345,6.437,20007,6.437,20012,8.155,23138,8.578,23139,8.352,23140,8.578,23168,5.846,23171,5.846,23173,5.846,23175,5.846,23347,10.328,23348,6.951,23349,10.084,23350,6.951,23351,6.951,23352,6.951,23353,6.951,23354,6.951,23355,6.951,23356,6.951,23357,6.951,23358,6.951,23359,6.951,23360,6.951,23361,6.951,23362,6.951,23363,6.951,23364,6.951,23365,6.951,23366,6.951,23367,6.099,23368,6.951,23369,6.951]],["title/classes/UserFactory.html",[0,0.239,697,4.989]],["body/classes/UserFactory.html",[0,0.138,2,0.427,3,0.008,4,0.008,5,0.004,7,0.056,8,0.733,27,0.518,29,1.015,30,0.001,31,0.747,32,0.167,33,0.586,34,1.346,35,1.343,47,0.451,55,2.182,59,3.03,95,0.129,101,0.005,103,0,104,0,112,0.496,113,4.137,127,4.477,129,3.621,130,3.317,135,1.609,148,1.027,157,1.815,172,2.701,185,2.177,192,2.21,205,1.99,206,2.066,228,1.151,231,1.101,290,1.864,326,4.871,331,5.538,374,2.748,433,0.495,436,3.709,467,1.85,478,1.128,501,7.013,502,4.97,505,3.524,506,4.97,507,5.112,508,3.524,509,3.524,510,3.524,511,3.469,512,4.013,513,4.372,514,6.108,515,5.329,516,6.794,517,2.246,522,2.228,523,3.524,524,2.246,525,4.684,526,4.819,527,3.793,528,4.533,529,3.496,530,2.228,531,2.1,532,3.851,533,2.144,534,2.1,535,2.228,536,2.246,537,4.304,538,2.228,539,7.179,540,3.959,541,6.252,542,2.246,543,3.824,544,2.228,545,2.246,546,2.228,547,2.246,548,2.228,549,2.496,550,2.346,551,2.228,552,5.667,553,2.246,554,2.228,555,3.524,556,3.214,557,3.524,558,2.246,559,2.16,560,2.129,561,1.803,562,2.228,563,2.228,564,2.228,565,2.246,566,2.246,567,1.527,568,2.228,569,1.247,570,2.246,571,2.513,572,2.228,573,2.246,575,2.304,576,2.369,577,5.813,595,1.516,693,5.413,694,2.943,695,2.885,697,5.661,700,1.938,701,1.938,702,1.983,703,1.247,713,8.728,716,5.343,722,5.343,726,5.343,1826,5.571,2278,5.883,3388,5.319,5009,4.97,7705,3.164,7706,3.261,7715,3.164,11368,2.697,11369,2.697,13829,3.08,13956,3.524,22011,3.719,22017,8.297,23167,3.377,23345,3.719,23346,3.719,23370,4.016,23371,6.353,23372,6.353,23373,6.353,23374,6.353,23375,4.016,23376,4.016,23377,4.016,23378,6.353,23379,4.016,23380,6.353,23381,4.016,23382,6.353,23383,6.353,23384,6.353,23385,4.016,23386,4.016,23387,7.882,23388,4.016]],["title/classes/UserForGroupNotFoundLoggable.html",[0,0.239,17612,6.094]],["body/classes/UserForGroupNotFoundLoggable.html",[0,0.313,2,0.967,3,0.017,4,0.017,5,0.008,7,0.128,8,1.312,27,0.448,29,0.697,30,0.001,31,0.509,32,0.113,33,0.416,35,1.052,95,0.13,100,3.173,101,0.012,103,0.001,104,0.001,148,0.899,158,3.351,228,1.648,290,2.151,339,2.668,400,2.708,433,1.121,1027,2.786,1065,6.387,1115,3.481,1237,3.355,1422,5.086,1423,5.861,1426,5.84,1468,5.861,1469,6.167,1626,5.043,3331,6.531,4906,6.018,5009,5.043,10009,10.249,10024,6.2,12674,8.726,12922,6.809,17612,9.981,19899,8.42,19900,8.42,19901,8.42,23389,12.417,23390,9.093,23391,9.093,23392,9.093]],["title/interfaces/UserGroup.html",[159,0.714,11329,5.472]],["body/interfaces/UserGroup.html",[0,0.134,3,0.007,4,0.007,5,0.004,7,0.055,26,1.812,30,0.001,31,0.538,32,0.134,34,1.058,36,2.491,47,0.958,51,4.224,55,1.55,72,1.781,95,0.147,99,0.796,101,0.005,103,0,104,0,112,0.484,122,0.812,135,1.789,142,2.254,145,2.323,148,1.189,153,1.679,159,0.988,161,0.924,228,1.855,254,1.402,277,0.559,290,0.92,317,2.551,339,3.27,412,1.722,433,0.48,478,1.093,528,1.969,578,2.034,579,2.52,589,0.826,595,1.469,610,2.442,614,2.711,652,2.595,657,3.101,980,5.331,1065,4.321,1212,2.507,1472,2.176,1853,1.273,1884,2.391,2004,4.666,2005,4.602,2007,3.835,2017,5.11,2026,3.024,2032,4.366,2034,2.141,2039,4.369,2046,2.914,2047,2.795,2297,6.934,2369,2.176,2511,2.318,2544,2.341,2749,6.407,3852,4.161,3853,2.049,4541,1.358,4692,4.974,4815,2.613,4816,2.654,5009,4.282,5010,2.795,5401,4.644,5412,5.05,5894,2.576,6244,2.697,6626,5.11,6680,4.369,6750,2.654,6765,5.04,6829,4.45,6922,2.697,6984,4.744,6985,5.11,7002,4.797,7008,5.781,7017,2.795,7018,2.795,7061,4.752,7452,3.587,7455,4.912,7456,2.744,7550,2.852,7597,3.065,8056,5.208,8062,4.225,8253,3.895,10134,2.744,10208,2.985,10373,4.844,10397,6.323,10464,3.065,10554,2.795,10557,7.147,10563,5.184,10592,2.985,11278,2.985,11279,3.16,11280,3.16,11281,3.16,11282,3.16,11283,3.16,11284,2.795,11285,3.16,11298,5.35,11300,3.16,11303,3.16,11305,3.16,11307,3.16,11308,7.147,11310,3.16,11312,3.16,11314,3.16,11316,3.16,11318,8.459,11319,3.16,11321,3.16,11323,3.16,11325,2.985,11326,3.16,11327,4.881,11328,6.934,11329,6.081,11330,7.803,11331,7.803,11332,7.803,11333,5.031,11334,3.16,11335,5.031,11336,3.16,11337,3.16,11338,5.031,11339,3.16,11340,3.16,11341,5.031,11342,3.16,11343,3.16,11344,3.16,11345,3.16,11346,3.16,11347,3.16,11348,3.16,11349,3.16,11350,3.16,11351,3.16,11352,6.268,11353,3.16,11354,3.16,11355,3.16,11356,3.16,11357,3.16,11358,3.16,11359,3.16,11360,3.16,11361,3.16,11362,3.16,11363,3.16,11364,5.031,11365,3.16,11366,3.065,11367,3.16,11368,4.161,11369,2.613,11370,3.065,11371,3.065,11372,3.16,11373,5.031,11374,3.16,11375,5.031,11376,3.16,11377,3.065,11378,3.16,11379,3.16,11380,3.16,11381,3.16,11382,3.16,11383,3.16,11384,3.065,11385,3.065]],["title/interfaces/UserGroups.html",[159,0.714,11328,5.472]],["body/interfaces/UserGroups.html",[0,0.136,3,0.007,4,0.007,5,0.004,7,0.055,26,1.824,30,0.001,31,0.35,32,0.134,34,1.068,36,2.5,47,0.937,51,4.251,55,0.79,72,1.802,95,0.147,99,0.806,101,0.005,103,0,104,0,112,0.488,122,0.822,135,1.792,142,2.275,145,2.344,148,1.193,153,1.688,159,0.994,161,0.935,172,2.659,228,1.865,254,1.418,277,0.566,290,0.931,317,2.56,339,3.538,412,1.742,433,0.485,478,1.105,528,1.992,578,2.058,579,2.536,589,0.834,595,1.486,610,2.465,614,2.729,652,2.602,657,3.106,980,5.362,1065,4.349,1212,2.537,1472,2.202,1853,1.288,1884,2.419,2004,4.697,2005,4.632,2007,3.864,2017,5.149,2026,3.052,2032,4.383,2034,2.167,2039,4.41,2046,2.949,2047,2.828,2297,6.98,2369,2.202,2511,2.345,2544,2.369,2749,6.422,3852,4.2,3853,2.073,4541,1.374,4692,5.013,4815,2.644,4816,2.685,5009,4.315,5010,2.828,5401,4.68,5412,5.083,5894,2.606,6244,2.729,6626,5.149,6680,4.41,6750,2.685,6765,5.079,6829,4.492,6922,2.729,6984,4.781,6985,5.149,7002,4.834,7008,5.826,7017,2.828,7018,2.828,7061,4.797,7452,3.62,7455,4.95,7456,2.776,7550,2.885,7597,3.101,8056,5.238,8062,4.264,8253,3.931,10134,2.776,10208,3.02,10373,4.876,10397,6.364,10464,3.101,10554,2.828,10557,7.169,10563,5.224,10592,3.02,11278,3.02,11279,3.197,11280,3.197,11281,3.197,11282,3.197,11283,3.197,11284,2.828,11285,3.197,11298,5.392,11300,3.197,11303,3.197,11305,3.197,11307,3.197,11308,7.194,11310,3.197,11312,3.197,11314,3.197,11316,3.197,11318,8.498,11319,3.197,11321,3.197,11323,3.197,11325,3.02,11326,3.197,11327,4.926,11328,7.614,11329,4.926,11330,5.078,11331,5.078,11332,7.848,11333,5.078,11334,3.197,11335,5.078,11336,3.197,11337,3.197,11338,5.078,11339,3.197,11340,3.197,11341,5.078,11342,3.197,11343,3.197,11344,3.197,11345,3.197,11346,3.197,11347,3.197,11348,3.197,11349,3.197,11350,3.197,11351,3.197,11352,6.316,11353,3.197,11354,3.197,11355,3.197,11356,3.197,11357,3.197,11358,3.197,11359,3.197,11360,3.197,11361,3.197,11362,3.197,11363,3.197,11364,5.078,11365,3.197,11366,3.101,11367,3.197,11368,4.2,11369,2.644,11370,3.101,11371,3.101,11372,3.197,11373,5.078,11374,3.197,11375,5.078,11376,3.197,11377,3.101,11378,3.197,11379,3.197,11380,3.197,11381,3.197,11382,3.197,11383,3.197,11384,3.101,11385,3.101]],["title/classes/UserInfoMapper.html",[0,0.239,16527,6.094]],["body/classes/UserInfoMapper.html",[0,0.335,2,1.033,3,0.018,4,0.018,5,0.009,7,0.136,8,1.366,27,0.382,29,0.744,30,0.001,31,0.544,32,0.121,33,0.444,34,1.658,35,1.124,95,0.135,100,4.135,101,0.013,103,0.001,104,0.001,135,1.266,148,0.96,153,1.593,290,3.229,467,3.723,478,2.726,578,5.076,700,4.684,701,4.684,830,6.571,837,4.794,3421,6.52,3422,6.338,16498,10.809,16527,10.394,18808,10.394,19935,8.518,19937,8.518,23393,11.847]],["title/classes/UserInfoResponse.html",[0,0.239,16498,5.64]],["body/classes/UserInfoResponse.html",[0,0.291,2,0.898,3,0.016,4,0.016,5,0.008,7,0.119,27,0.498,29,0.647,30,0.001,31,0.734,32,0.158,33,0.599,34,2.329,47,0.952,95,0.096,101,0.011,103,0.001,104,0.001,112,0.848,157,2.915,190,2.154,201,4.659,202,1.94,205,2.213,290,3.171,296,2.836,304,4.168,413,6.598,433,1.338,458,3.378,700,6.32,701,6.32,821,4.299,1361,6.227,2300,6.65,3165,5.511,3166,5.795,3167,5.795,4696,7.818,7959,9.523,11189,5.511,11191,5.511,16498,10.635,19942,7.407,23394,13.099,23395,8.443,23396,7.818]],["title/classes/UserLoginMigrationAlreadyClosedLoggableException.html",[0,0.239,20585,5.64]],["body/classes/UserLoginMigrationAlreadyClosedLoggableException.html",[0,0.289,2,0.891,3,0.016,4,0.016,5,0.008,7,0.118,8,1.245,26,2.598,27,0.425,29,0.641,30,0.001,31,0.469,32,0.134,33,0.383,35,0.969,52,6.386,59,2.599,83,3.479,95,0.136,99,1.713,101,0.011,103,0.001,104,0.001,148,0.828,180,5.712,228,1.956,231,1.871,233,2.613,277,1.203,339,2.456,400,2.494,433,1.032,640,7.756,652,1.707,703,2.599,1027,2.565,1115,3.205,1237,3.183,1422,4.894,1423,5.64,1426,5.665,1434,5.394,1462,4.607,1468,5.64,1469,5.935,1477,4.347,1478,4.537,4923,5.469,6376,7.602,10342,5.622,12087,6.421,14221,6.797,15178,9.066,15204,6.595,20585,8.765,21624,6.421,23397,9.412,23398,11.949,23399,8.372,23400,9.412,23401,8.372,23402,8.372]],["title/modules/UserLoginMigrationApiModule.html",[252,1.836,20205,5.842]],["body/modules/UserLoginMigrationApiModule.html",[0,0.252,3,0.014,4,0.014,5,0.007,30,0.001,52,3.696,95,0.156,101,0.01,103,0,104,0,174,4.981,180,5.108,252,2.952,254,2.631,255,2.787,256,2.858,257,2.847,258,2.837,259,4.064,260,2.72,265,5.953,269,3.86,270,2.807,271,2.748,273,4.592,274,4.125,276,3.86,277,1.049,290,1.728,703,2.268,1027,2.238,1484,8.647,1523,10.454,1856,7.387,2069,4.351,2653,3.377,3005,3.449,4922,10.828,4923,3.344,6018,8.647,12168,5.931,16873,6.144,17160,10.828,17161,10.828,18828,10.828,20205,12.303,20206,6.144,20576,10.828,22562,10.828,23403,7.306,23404,7.306,23405,7.306,23406,10.828,23407,9.802,23408,7.306,23409,7.306,23410,7.306]],["title/controllers/UserLoginMigrationController.html",[314,2.659,23407,6.094]],["body/controllers/UserLoginMigrationController.html",[0,0.111,3,0.006,4,0.006,5,0.003,7,0.045,8,0.613,27,0.391,29,0.76,30,0.001,31,0.556,32,0.173,33,0.454,35,1.149,36,2.54,47,0.482,52,6.949,55,1.067,95,0.13,100,1.124,101,0.004,103,0,104,0,125,1.874,135,1.566,148,0.982,153,0.528,157,3.011,180,6.012,190,1.782,202,0.74,228,1.579,274,1.346,277,0.463,290,3.281,314,1.233,316,1.554,317,2.797,325,6.456,326,3.566,333,2.163,347,5.316,349,6.277,365,2.363,379,5.474,385,3.624,388,2.279,390,3.134,392,1.684,395,1.732,398,1.745,401,1.801,402,1.902,433,0.397,534,1.684,567,2.02,619,3.817,640,6.374,652,1.776,657,2.27,675,1.64,703,2.445,869,2.608,871,2.883,1368,1.816,1390,3.302,1422,1.319,1434,5.073,1563,3.424,1585,4.787,1853,1.053,2615,5.369,2980,2.408,3005,1.52,3209,1.661,3210,2.163,3211,1.772,3382,2.432,4030,5.242,4354,2.075,4922,5.706,4923,4.747,4926,4.662,4935,6.314,4936,6.203,4937,5.897,5091,4.204,5231,4.95,6222,2.163,7728,3.747,8070,6.039,10047,3.894,12699,4.469,13400,6.622,13887,4.921,15802,2.982,16348,5.953,16773,4.315,16920,6.908,18188,7.271,18190,5.77,18828,5.706,18830,4.662,19918,6.203,20041,4.469,20576,5.706,20579,4.662,20585,6.393,21624,8.495,22562,5.706,22564,5.953,22644,7.956,22655,2.982,22721,8.07,22722,8.723,23213,2.982,23406,5.706,23407,4.662,23411,10.373,23412,3.22,23413,4.921,23414,6.283,23415,6.283,23416,6.785,23417,3.22,23418,3.22,23419,9.606,23420,5.314,23421,5.314,23422,4.921,23423,3.22,23424,3.22,23425,3.22,23426,5.314,23427,3.22,23428,3.22,23429,3.22,23430,9.381,23431,3.22,23432,3.22,23433,3.22,23434,6.622,23435,3.22,23436,3.22,23437,3.22,23438,3.22,23439,3.22,23440,3.22,23441,3.22,23442,3.22,23443,3.22,23444,3.22,23445,5.314,23446,6.908,23447,6.908,23448,6.622,23449,3.22,23450,5.314,23451,3.22,23452,3.22,23453,6.908,23454,3.22,23455,3.22,23456,3.22,23457,4.921,23458,3.22,23459,3.22,23460,3.22,23461,3.22,23462,3.22,23463,3.22,23464,6.785,23465,5.314,23466,6.622,23467,2.825,23468,6.393,23469,9.418,23470,6.908,23471,3.22,23472,3.22,23473,3.22,23474,3.22,23475,3.22,23476,3.22,23477,3.22,23478,3.22,23479,3.22,23480,3.22,23481,5.314,23482,3.22,23483,6.785,23484,3.22,23485,3.22,23486,3.22,23487,3.22,23488,3.22,23489,3.22,23490,10.373,23491,6.785,23492,3.22,23493,3.22,23494,3.22,23495,3.22,23496,3.22,23497,3.22,23498,3.22,23499,3.22,23500,3.22,23501,3.22,23502,3.22,23503,3.22,23504,3.22]],["title/classes/UserLoginMigrationDO.html",[0,0.239,4935,4.42]],["body/classes/UserLoginMigrationDO.html",[0,0.268,2,0.828,3,0.015,4,0.015,5,0.007,7,0.109,26,2.753,27,0.541,29,0.597,30,0.001,31,0.436,32,0.171,33,0.639,34,1.759,47,0.553,83,3.954,95,0.117,101,0.01,103,0,104,0,112,0.804,134,2.752,180,5.867,231,1.785,232,2.791,433,0.96,435,2.718,436,2.308,1852,7.24,4541,4.026,4618,4.593,4619,5.832,4935,8.122,6637,5.706,6642,5.973,8162,5.973,14220,8.453,14224,6.832,23400,9.087,23505,13.742,23506,7.788,23507,9.087,23508,9.366,23509,9.366,23510,9.087,23511,10.297,23512,7.788,23513,7.788,23514,7.788,23515,7.788,23516,7.788,23517,7.788,23518,7.212,23519,7.212,23520,7.212,23521,6.832,23522,6.832,23523,6.832,23524,6.832,23525,6.832,23526,6.832,23527,6.832,23528,6.832]],["title/entities/UserLoginMigrationEntity.html",[205,1.416,15248,5.202]],["body/entities/UserLoginMigrationEntity.html",[0,0.236,3,0.013,4,0.013,5,0.006,7,0.096,27,0.509,30,0.001,32,0.164,33,0.603,83,3.841,95,0.133,96,1.808,101,0.012,103,0,104,0,112,0.738,125,1.632,180,5.715,190,2.324,195,2.964,196,4.282,197,2.628,205,1.926,206,2.23,211,5.997,223,3.922,224,1.992,225,3.63,226,3.107,228,1.243,229,2.712,231,1.188,232,1.858,233,2.14,290,1.622,692,5.5,703,3.794,1619,4.213,2913,6.787,2920,7.443,5163,7.123,5670,5.077,7515,4.31,7516,4.168,7720,6.443,9860,4.834,15248,7.076,19665,6.349,23400,8.516,23413,6.349,23507,8.516,23508,8.778,23510,8.516,23521,6.015,23522,6.015,23523,6.015,23524,6.015,23525,6.015,23526,6.015,23527,6.015,23528,6.015,23529,11.571,23530,6.856,23531,10.012,23532,10.012,23533,6.856,23534,6.856,23535,6.856,23536,9.449,23537,6.856,23538,6.856,23539,6.856,23540,6.856,23541,6.856,23542,9.449,23543,6.856,23544,6.856,23545,6.856,23546,6.856,23547,6.856]],["title/classes/UserLoginMigrationGracePeriodExpiredLoggableException.html",[0,0.239,23466,5.842]],["body/classes/UserLoginMigrationGracePeriodExpiredLoggableException.html",[0,0.286,2,0.883,3,0.016,4,0.016,5,0.008,7,0.117,8,1.238,26,2.59,27,0.423,29,0.636,30,0.001,31,0.465,32,0.134,33,0.379,35,0.961,52,6.366,83,3.466,95,0.136,99,1.699,101,0.011,103,0.001,104,0.001,148,0.821,180,5.8,228,1.946,231,1.861,233,2.592,277,1.193,290,1.964,339,2.436,400,2.473,433,1.023,652,1.693,1027,2.544,1115,3.178,1237,3.166,1422,4.875,1423,5.618,1426,5.648,1468,5.618,1469,5.911,1477,4.311,1478,4.499,4923,5.447,6376,7.572,13400,10.582,15178,8.548,15204,6.54,23397,9.375,23422,7.689,23446,11.04,23447,11.04,23466,9.03,23507,9.912,23548,8.303,23549,8.303,23550,8.303,23551,8.303,23552,8.303,23553,8.303,23554,8.303]],["title/classes/UserLoginMigrationMandatoryLoggable.html",[0,0.239,22568,6.094]],["body/classes/UserLoginMigrationMandatoryLoggable.html",[0,0.289,2,0.893,3,0.016,4,0.016,5,0.008,7,0.118,8,1.247,26,2.803,27,0.425,29,0.643,30,0.001,31,0.47,32,0.105,33,0.383,35,0.971,39,3.31,52,6.391,95,0.123,99,1.717,101,0.011,103,0.001,104,0.001,122,2.496,125,2.847,148,0.83,180,5.814,228,2.168,242,4.416,290,1.984,339,2.461,376,6.148,402,3.003,433,1.332,652,2.438,703,3.356,1027,2.571,1115,3.212,1237,3.187,1422,4.899,1423,5.646,1426,5.67,1468,5.646,1469,5.941,4923,5.474,5365,9.689,12087,6.435,12407,6.148,14577,7.361,15178,9.073,15204,6.609,22568,9.484,23397,9.421,23555,8.39,23556,8.39,23557,8.39,23558,8.39]],["title/classes/UserLoginMigrationMandatoryParams.html",[0,0.239,23453,6.094]],["body/classes/UserLoginMigrationMandatoryParams.html",[0,0.418,2,1.072,3,0.019,4,0.019,5,0.009,7,0.142,27,0.396,30,0.001,32,0.126,52,6.13,95,0.138,101,0.013,103,0.001,104,0.001,112,0.946,122,2.528,180,5.756,190,1.809,199,6.72,200,3.087,202,2.314,296,3.166,4923,5.545,5365,9.965,8310,7.727,23453,10.629,23559,11.219,23560,10.074,23561,10.074]],["title/classes/UserLoginMigrationMapper.html",[0,0.239,23467,6.094]],["body/classes/UserLoginMigrationMapper.html",[0,0.292,2,0.902,3,0.016,4,0.016,5,0.008,7,0.119,8,1.255,27,0.428,29,0.834,30,0.001,31,0.61,32,0.136,33,0.497,34,1.448,35,1.26,39,2.347,47,0.602,95,0.137,101,0.011,103,0.001,104,0.001,135,1.42,148,1.077,153,1.391,180,5.731,365,4.839,467,3.908,837,4.186,871,3.985,1770,3.432,1853,2.773,2491,5.978,3005,4.002,4923,5.501,4935,8.069,14220,6.212,23400,6.678,23434,10.665,23467,9.548,23468,10.297,23469,10.649,23507,6.678,23508,6.883,23509,6.883,23510,6.678,23562,12.02,23563,8.478,23564,10.884,23565,10.884,23566,10.884,23567,8.478,23568,8.478,23569,10.884,23570,8.478,23571,8.478,23572,8.478,23573,8.478,23574,8.478,23575,8.478,23576,8.478,23577,8.478]],["title/modules/UserLoginMigrationModule.html",[252,1.836,17161,5.842]],["body/modules/UserLoginMigrationModule.html",[0,0.245,3,0.013,4,0.013,5,0.007,30,0.001,95,0.152,101,0.009,103,0,104,0,180,4.132,252,2.909,254,2.557,255,2.708,256,2.777,257,2.767,258,2.757,259,4.004,260,4.099,264,9.17,265,5.902,269,3.785,270,2.727,271,2.67,276,3.785,277,1.02,279,2.968,610,2.798,703,2.204,1027,2.175,1525,9.355,1537,5.316,1540,5.099,2069,4.228,3843,7.933,3853,3.737,4923,3.249,4928,10.167,4929,10.93,4930,11.668,6018,8.574,16325,11.668,16331,10.057,17161,12.324,20206,5.97,23578,7.099,23579,7.099,23580,7.099,23581,7.099,23582,11.668,23583,7.099]],["title/classes/UserLoginMigrationNotFoundLoggableException.html",[0,0.239,4936,5.472]],["body/classes/UserLoginMigrationNotFoundLoggableException.html",[0,0.29,2,0.896,3,0.016,4,0.016,5,0.008,7,0.118,8,1.25,26,2.806,27,0.427,29,0.645,30,0.001,31,0.472,32,0.135,33,0.385,35,0.975,52,6.401,59,2.616,95,0.137,99,1.724,101,0.011,103,0.001,104,0.001,148,0.833,180,5.819,228,1.964,231,1.879,233,2.63,277,1.21,290,1.993,339,2.472,400,2.509,433,1.038,652,1.717,703,2.616,1027,2.581,1115,3.225,1237,3.196,1422,4.909,1423,5.657,1426,5.679,1462,4.636,1468,5.657,1469,5.953,1477,4.375,1478,4.565,2832,5.428,2923,6.353,4541,4.183,4618,4.969,4923,5.485,4936,8.538,5091,4.498,10342,5.658,14221,6.84,15178,9.088,15204,6.636,16820,11.098,20042,7.802,23397,9.44,23584,8.425]],["title/interfaces/UserLoginMigrationQuery.html",[159,0.714,23468,5.64]],["body/interfaces/UserLoginMigrationQuery.html",[3,0.02,4,0.02,5,0.01,7,0.149,30,0.001,32,0.132,33,0.57,39,3.792,47,0.942,52,5.352,101,0.014,103,0.001,104,0.001,112,0.974,159,1.088,161,2.512,180,5.326,4923,4.842,10921,9.281,23468,10.127,23585,10.579]],["title/injectables/UserLoginMigrationRepo.html",[589,0.926,16331,5.472]],["body/injectables/UserLoginMigrationRepo.html",[0,0.181,3,0.01,4,0.01,5,0.005,7,0.074,8,0.899,10,3.12,12,3.516,18,3.945,26,2.629,27,0.516,29,0.993,30,0.001,31,0.726,32,0.161,33,0.592,34,1.59,35,1.478,36,2.598,40,2.53,95,0.143,96,2.056,97,2.139,99,1.073,101,0.007,103,0,104,0,112,0.41,113,2.09,125,1.248,135,1.344,142,2.836,148,1.09,153,0.86,180,4.703,185,2.672,205,1.897,224,1.523,228,1.413,231,1.351,277,0.753,317,2.922,433,0.646,436,3.719,478,1.472,569,1.628,589,1.04,591,1.248,652,2.101,657,1.2,692,2.475,703,2.421,729,5.316,735,3.551,736,5.438,766,2.82,1027,1.607,1770,3.156,1853,1.715,2139,3.008,2436,9.092,2438,5.6,2439,5.497,2440,5.497,2441,5.6,2442,5.497,2443,3.767,2444,5.716,2445,4.29,2446,4.814,2448,5.6,2449,3.767,2451,3.767,2453,5.09,2454,5.316,2455,3.767,2458,5.6,2460,3.634,2461,8.428,2462,5.497,2465,3.767,2467,3.155,2468,3.259,2469,3.576,2471,3.767,2479,3.576,4541,3.248,4721,3.188,4935,8.347,4937,4.901,5163,2.886,6819,3.843,6820,3.843,6821,3.843,6822,3.843,6823,3.843,6824,3.843,6832,4.022,10644,4.022,14220,3.843,15248,8.644,15249,4.856,15275,7.22,16331,6.142,19668,4.258,19669,4.258,19765,7.22,19773,7.22,19780,4.258,19782,4.601,19783,4.601,23400,6.142,23507,6.142,23508,6.33,23509,4.258,23510,6.142,23531,4.856,23532,4.856,23586,10.306,23587,5.244,23588,5.244,23589,5.244,23590,5.244,23591,5.244,23592,5.244,23593,5.244,23594,5.244,23595,5.244,23596,5.244,23597,5.244,23598,5.244,23599,5.244,23600,5.244,23601,7.797,23602,7.797,23603,5.244,23604,5.244,23605,5.244,23606,5.244,23607,5.244]],["title/classes/UserLoginMigrationResponse.html",[0,0.239,23469,5.64]],["body/classes/UserLoginMigrationResponse.html",[0,0.23,2,0.71,3,0.013,4,0.013,5,0.006,7,0.094,27,0.516,29,0.511,30,0.001,31,0.374,32,0.163,33,0.608,34,2.195,47,0.889,52,6.948,83,4.097,95,0.076,101,0.009,103,0,104,0,112,0.724,157,2.884,180,6.058,190,2.307,194,3.628,201,4.7,202,1.533,232,2.513,296,3.162,433,0.823,435,2.329,458,2.67,459,3.513,868,4.45,1361,6.608,1434,5.975,2162,7.113,2980,4.203,3382,5.271,3547,7.078,4923,6.09,8886,8.136,12065,7.113,14220,7.81,14224,5.855,23400,8.396,23446,8.136,23447,8.136,23469,9.827,23507,8.396,23508,8.653,23509,8.653,23510,8.396,23518,6.18,23519,6.18,23520,6.18,23521,5.855,23522,5.855,23523,5.855,23524,5.855,23525,5.855,23526,5.855,23527,5.855,23528,5.855,23608,12.322,23609,6.674,23610,9.274,23611,6.674,23612,6.674,23613,6.674,23614,6.674,23615,6.674,23616,6.674]],["title/injectables/UserLoginMigrationRevertService.html",[589,0.926,4930,5.842]],["body/injectables/UserLoginMigrationRevertService.html",[0,0.299,3,0.016,4,0.016,5,0.008,7,0.122,8,1.272,27,0.434,29,0.845,30,0.001,31,0.618,32,0.137,33,0.504,35,1.003,36,2.334,52,6.143,95,0.151,101,0.011,103,0.001,104,0.001,180,5.856,228,1.999,277,1.244,290,2.048,317,2.63,433,1.36,478,2.432,589,1.471,591,2.061,652,2.249,657,2.524,703,2.689,1853,2.833,2065,8.461,2067,8.414,2069,5.158,4923,5.557,4927,7.032,4928,9.89,4930,9.278,4935,8.133,4937,5.445,14480,7.599,15182,6.221,17624,7.599,23617,10.652,23618,8.661,23619,11.033,23620,8.661,23621,11.033,23622,8.661,23623,8.661,23624,8.661]],["title/injectables/UserLoginMigrationRule.html",[589,0.926,1878,5.842]],["body/injectables/UserLoginMigrationRule.html",[0,0.274,3,0.015,4,0.015,5,0.007,7,0.112,8,1.204,27,0.459,29,0.893,30,0.001,31,0.653,32,0.154,33,0.533,35,1.209,95,0.147,101,0.01,103,0.001,104,0.001,122,2.753,135,1.362,148,1.033,180,5.286,183,4.447,205,2.741,228,1.442,277,1.143,290,3.264,400,2.37,433,0.981,478,2.234,589,1.393,591,1.894,653,3.286,711,3.91,1237,2.346,1775,6.812,1801,8.199,1838,7.525,1853,2.603,1878,8.783,1981,6.729,1985,6.49,1992,5.267,3663,6.913,3664,5.343,3667,6.818,3669,5.343,3670,7.014,3671,5.831,4935,8.68,6943,5.715,19819,7.369,23625,12.38,23626,7.957,23627,7.957,23628,7.957,23629,7.957]],["title/classes/UserLoginMigrationSearchListResponse.html",[0,0.239,23470,6.094]],["body/classes/UserLoginMigrationSearchListResponse.html",[0,0.269,2,0.832,3,0.015,4,0.015,5,0.007,7,0.11,27,0.503,29,0.599,30,0.001,31,0.438,32,0.171,33,0.584,52,5.223,55,2.869,56,6.198,59,3.205,70,6.685,95,0.132,101,0.01,103,0,104,0,112,0.806,125,1.861,180,5.457,190,2.207,202,1.796,231,1.789,290,1.849,296,2.697,298,3.382,339,3.75,433,0.964,436,3.643,860,7.279,861,5.418,862,8.32,863,7.225,864,5.922,866,3.883,868,5.546,869,3.837,870,4.269,871,2.862,872,5.512,873,6.568,874,6.031,875,5.174,876,4.059,877,5.512,878,5.512,880,4.974,881,4.269,4923,4.725,10914,7.24,10915,7.24,23469,10.871,23470,9.057,23608,9.56,23630,7.818]],["title/classes/UserLoginMigrationSearchParams.html",[0,0.239,23434,5.842]],["body/classes/UserLoginMigrationSearchParams.html",[0,0.415,2,1.061,3,0.019,4,0.019,5,0.009,7,0.14,27,0.393,30,0.001,32,0.124,33,0.55,39,3.581,47,0.855,52,6.093,95,0.137,101,0.013,103,0.001,104,0.001,112,0.941,180,5.737,190,1.791,200,3.056,201,4.677,202,2.291,299,4.694,300,4.61,4923,5.512,10916,8.751,10919,8.751,23434,10.127,23559,11.152,23631,9.974]],["title/injectables/UserLoginMigrationService.html",[589,0.926,4928,5.09]],["body/injectables/UserLoginMigrationService.html",[0,0.129,3,0.007,4,0.007,5,0.003,7,0.053,8,0.692,26,2.07,27,0.476,29,0.927,30,0.001,31,0.678,32,0.151,33,0.553,35,1.376,36,2.698,39,1.035,47,0.826,48,1.835,55,1.205,83,2.506,95,0.133,99,0.765,101,0.005,103,0,104,0,122,2.205,125,2.048,135,1.679,142,3.13,148,1.197,153,1.802,180,5.804,228,1.559,277,0.537,279,1.563,317,2.919,433,0.74,478,1.05,569,1.863,579,2.152,589,0.8,591,0.89,652,2.6,657,2.813,703,1.863,711,3.929,1312,1.756,1422,1.532,1540,2.686,1853,1.223,1923,4.03,2065,5.695,2067,5.21,2069,2.227,2070,6.48,2218,1.67,2219,1.88,2220,1.814,2503,3.145,3382,1.711,3853,1.968,4212,2.185,4541,3.003,4923,5.628,4926,5.265,4928,4.398,4935,8.743,4937,8.283,4942,5.265,5091,1.997,5365,6.599,5401,6.051,7990,3.145,8056,4.663,11297,2.945,12965,5.963,13720,3.281,14220,2.74,14232,4.873,14817,3.145,15182,2.686,15321,2.945,15328,5.509,15337,6.599,15356,3.463,15368,3.036,16331,8.325,16346,3.281,16347,7.649,17624,3.281,18830,5.265,19470,4.232,19975,3.463,19979,3.463,20003,3.463,20013,9.315,20016,3.463,20081,3.463,20579,5.265,20585,3.036,20589,5.265,20590,3.463,20591,3.281,22564,6.595,23466,5.047,23509,4.873,23510,2.945,23617,10.788,23632,6.002,23633,6.002,23634,6.002,23635,6.002,23636,6.002,23637,6.002,23638,8.605,23639,3.739,23640,6.002,23641,6.002,23642,3.739,23643,6.002,23644,3.739,23645,6.002,23646,3.739,23647,6.002,23648,3.739,23649,6.002,23650,3.739,23651,6.002,23652,3.739,23653,6.002,23654,3.739,23655,6.002,23656,3.739,23657,3.739,23658,6.002,23659,3.739,23660,3.739,23661,3.739,23662,3.739,23663,3.739,23664,7.518,23665,7.518,23666,7.518,23667,3.739,23668,3.739,23669,6.002,23670,3.739,23671,3.739,23672,3.739,23673,3.739,23674,3.739,23675,6.002,23676,3.739,23677,3.739,23678,3.739,23679,6.002,23680,3.739,23681,6.002,23682,3.739,23683,3.739,23684,3.739,23685,6.002,23686,5.558,23687,3.739]],["title/classes/UserLoginMigrationStartLoggable.html",[0,0.239,18833,5.842]],["body/classes/UserLoginMigrationStartLoggable.html",[0,0.299,2,0.923,3,0.016,4,0.016,5,0.008,7,0.122,8,1.274,26,2.825,27,0.435,29,0.665,30,0.001,31,0.486,32,0.108,33,0.397,35,1.005,39,3.364,52,6.473,95,0.126,99,1.776,101,0.011,103,0.001,104,0.001,125,2.893,148,0.859,180,5.766,228,2.002,242,4.569,339,2.546,376,6.36,400,2.585,433,1.07,652,1.769,703,3.43,1027,2.66,1115,3.323,1237,3.258,1422,4.978,1423,5.737,1426,5.742,1434,5.592,1468,5.737,1469,6.037,4923,5.562,12407,6.36,15178,9.189,15204,6.837,18833,9.291,19929,8.038,19930,8.038,23397,9.573,23688,8.68]],["title/injectables/UserLoginMigrationUc.html",[589,0.926,23406,5.842]],["body/injectables/UserLoginMigrationUc.html",[0,0.17,3,0.009,4,0.009,5,0.005,7,0.069,8,0.859,26,2.768,27,0.393,29,0.766,30,0.001,31,0.56,32,0.125,33,0.457,35,1.039,36,2.387,39,2.484,47,0.876,52,2.497,95,0.151,99,1.01,100,1.722,101,0.006,103,0,104,0,135,1.528,142,3.636,145,1.85,148,0.737,153,1.851,174,3.365,180,5.371,228,2.186,277,0.709,290,2.365,317,2.674,339,1.448,365,3.99,402,1.766,433,0.918,478,1.385,579,2.862,589,0.993,591,1.174,595,1.863,610,1.945,652,2.458,657,2.878,693,2.247,756,1.952,869,5.267,998,4.719,1027,1.512,1197,4.037,1422,2.021,1472,2.759,1526,8.985,1778,3.102,1793,3.266,1853,1.614,1862,6.255,1961,2.969,2070,4.394,2445,4.877,2653,2.281,2654,2.939,2658,3.616,3209,2.545,4541,3.938,4815,3.314,4816,3.365,4905,6.576,4923,4.912,4925,4.006,4928,8.584,4929,9.227,4935,6.361,4937,8.033,4938,4.006,5100,7.567,10040,4.329,12419,4.006,13436,9.227,13451,5.579,13582,6.143,14217,4.329,14220,8.837,14249,5.351,16347,4.006,16856,9.511,16873,4.15,16886,4.15,16901,4.329,16932,4.57,16933,4.57,17253,3.887,17706,4.57,20020,4.329,22570,8.311,23406,6.265,23414,6.899,23415,6.899,23468,8.117,23582,9.489,23689,10.732,23690,4.935,23691,4.935,23692,7.45,23693,4.935,23694,7.45,23695,4.935,23696,4.935,23697,4.935,23698,7.45,23699,4.329,23700,4.329,23701,8.975,23702,4.935,23703,7.45,23704,4.935,23705,4.935,23706,4.935,23707,4.935,23708,4.935,23709,4.935,23710,4.935,23711,4.935,23712,7.45,23713,4.935,23714,8.975,23715,4.935,23716,7.45,23717,4.935,23718,4.935,23719,4.935,23720,4.935,23721,4.935]],["title/classes/UserMapper.html",[0,0.239,23722,6.094]],["body/classes/UserMapper.html",[0,0.321,2,0.99,3,0.018,4,0.018,5,0.009,7,0.131,8,1.331,27,0.366,29,0.713,30,0.001,31,0.521,32,0.116,33,0.425,34,1.589,35,1.077,95,0.132,101,0.012,103,0.001,104,0.001,148,0.92,153,1.526,205,1.897,290,3.102,331,5.107,467,3.653,478,2.612,700,4.489,701,4.489,702,4.594,704,4.737,1198,5.597,4541,3.247,4546,5.919,4721,5.656,4731,8.162,8065,7.554,12795,7.824,19013,9.705,19017,9.705,19780,7.554,20012,6.967,23138,7.328,23139,7.136,23140,7.328,23305,8.616,23306,8.616,23307,8.616,23312,8.616,23313,8.616,23314,8.616,23315,8.616,23316,8.616,23347,11.031,23349,8.616,23722,10.125,23723,9.304,23724,9.304,23725,9.304,23726,9.304]],["title/classes/UserMatchListResponse.html",[0,0.239,13912,5.842]],["body/classes/UserMatchListResponse.html",[0,0.363,2,0.693,3,0.012,4,0.012,5,0.006,7,0.091,27,0.472,29,0.499,30,0.001,31,0.511,32,0.169,33,0.548,34,1.112,39,1.802,47,0.809,55,2.801,56,5.868,59,2.83,70,6.329,95,0.137,101,0.012,103,0,104,0,112,0.712,125,1.55,142,2.368,157,2.862,180,2.78,190,2.046,195,1.425,200,1.995,201,3.54,202,1.496,231,1.58,232,1.765,242,3.428,243,4.093,290,3.019,296,3.335,298,2.817,331,2.882,339,3.519,374,2.817,415,5.982,433,0.803,436,3.377,567,2.475,614,2.006,700,4.398,701,4.398,855,3.69,862,7.931,863,6.841,864,5.23,866,3.234,868,5.047,869,3.196,870,3.555,871,2.384,872,4.591,873,5.8,874,5.326,875,4.31,876,3.381,877,4.591,878,4.591,880,4.143,881,3.555,886,2.869,1619,7.002,2009,4.31,3382,2.98,3383,4.195,3384,3.735,3388,3.337,3564,4.143,4923,4.172,5198,4.001,5361,4.677,6258,3.769,11189,4.251,11190,4.591,11191,4.251,11192,4.591,12372,4.513,12389,5.602,13808,4.994,13809,4.44,13843,7.666,13859,5.476,13912,7.666,13961,10.258,13963,8.068,13966,5.476,13967,5.476,13968,5.476,13969,5.476,14033,9.228,23727,8.442,23728,6.03,23729,6.512,23730,6.512,23731,5.713]],["title/classes/UserMatchMapper.html",[0,0.239,13904,5.842]],["body/classes/UserMatchMapper.html",[0,0.25,2,0.772,3,0.014,4,0.014,5,0.007,7,0.102,8,1.132,27,0.386,29,0.752,30,0.001,31,0.623,32,0.122,33,0.449,35,1.136,39,2.007,59,2.252,95,0.147,99,1.484,100,3.427,101,0.01,103,0,104,0,129,2.166,135,1.676,142,4.049,148,1.271,153,1.19,195,1.587,290,2.948,365,4.365,376,5.314,393,3.581,467,3.742,478,2.036,578,3.792,579,2.076,700,3.499,701,3.499,830,5.446,837,3.581,1393,6.33,2037,4.615,3383,4.673,3384,4.161,3421,4.87,3422,4.735,4923,5.095,5009,5.446,5010,5.209,6229,4.006,12372,5.026,12404,10.031,13088,5.431,13622,9.685,13808,7.531,13809,6.695,13818,10.851,13904,8.257,13906,6.363,13961,9.396,13963,8.537,13986,5.713,13988,6.099,14040,5.713,18808,8.614,19031,9.093,19036,6.716,19037,6.716,19038,6.716,23732,11.131,23733,7.253,23734,9.819,23735,7.253,23736,7.253,23737,7.253,23738,7.253,23739,9.819,23740,7.253,23741,7.253,23742,7.253,23743,7.253,23744,9.819,23745,7.253,23746,7.253,23747,7.253,23748,7.253,23749,7.253]],["title/classes/UserMatchResponse.html",[0,0.239,13961,5.472]],["body/classes/UserMatchResponse.html",[0,0.354,2,0.664,3,0.012,4,0.012,5,0.006,7,0.088,27,0.496,29,0.478,30,0.001,31,0.576,32,0.167,33,0.47,34,1.511,39,2.844,47,0.914,55,2.063,56,4.175,70,4.503,95,0.135,101,0.012,103,0,104,0,112,0.691,142,2.269,157,2.823,180,3.777,190,2.201,195,1.936,200,1.911,201,3.435,202,1.433,231,1.081,232,2.397,242,3.284,243,3.922,290,3.236,296,3.294,298,2.699,331,2.761,339,2.595,374,3.826,415,6.713,433,0.769,435,2.177,567,3.362,614,2.724,700,5.696,701,5.696,855,3.58,862,5.496,863,3.433,864,3.579,868,5.365,880,3.969,881,3.406,886,3.518,1361,3.579,1619,7.916,2009,5.854,3382,4.048,3383,5.699,3384,5.074,3388,4.533,3564,5.628,4150,3.792,4923,5.896,5198,5.435,5361,6.353,6258,5.12,11189,4.072,11190,4.399,11191,4.072,11192,4.399,12372,7.122,12389,6.871,13808,7.882,13809,7.007,13843,7.438,13859,5.246,13912,5.246,13961,10.147,13963,9.054,13966,5.246,13967,5.246,13968,5.246,13969,5.246,14033,10.357,23727,11.93,23728,5.777,23731,7.76,23750,6.238,23751,6.238,23752,6.238,23753,6.238,23754,6.238,23755,6.238,23756,6.238]],["title/interfaces/UserMetdata.html",[159,0.714,11327,5.472]],["body/interfaces/UserMetdata.html",[0,0.136,3,0.007,4,0.007,5,0.004,7,0.055,26,1.824,30,0.001,31,0.35,32,0.134,34,1.068,36,2.5,47,0.937,51,4.251,55,0.79,72,1.802,95,0.147,99,0.806,101,0.005,103,0,104,0,112,0.488,122,0.822,135,1.792,142,2.275,145,2.344,148,1.193,153,1.688,159,0.994,161,0.935,172,2.659,228,1.865,254,1.418,277,0.566,290,0.931,317,2.56,339,3.538,412,1.742,433,0.485,478,1.105,528,1.992,578,2.058,579,2.536,589,0.834,595,1.486,610,2.465,614,2.729,652,2.602,657,3.106,980,5.362,1065,4.349,1212,2.537,1472,2.202,1853,1.288,1884,2.419,2004,4.697,2005,4.632,2007,3.864,2017,5.149,2026,3.052,2032,4.383,2034,2.167,2039,4.41,2046,2.949,2047,2.828,2297,6.98,2369,2.202,2511,2.345,2544,2.369,2749,6.422,3852,4.2,3853,2.073,4541,1.374,4692,5.013,4815,2.644,4816,2.685,5009,4.315,5010,2.828,5401,4.68,5412,5.083,5894,2.606,6244,2.729,6626,5.149,6680,4.41,6750,2.685,6765,5.079,6829,4.492,6922,2.729,6984,4.781,6985,5.149,7002,4.834,7008,5.826,7017,2.828,7018,2.828,7061,4.797,7452,3.62,7455,4.95,7456,2.776,7550,2.885,7597,3.101,8056,5.238,8062,4.264,8253,3.931,10134,2.776,10208,3.02,10373,4.876,10397,6.364,10464,3.101,10554,2.828,10557,7.169,10563,5.224,10592,3.02,11278,3.02,11279,3.197,11280,3.197,11281,3.197,11282,3.197,11283,3.197,11284,2.828,11285,3.197,11298,5.392,11300,3.197,11303,3.197,11305,3.197,11307,3.197,11308,7.194,11310,3.197,11312,3.197,11314,3.197,11316,3.197,11318,8.498,11319,3.197,11321,3.197,11323,3.197,11325,3.02,11326,3.197,11327,6.128,11328,6.98,11329,4.926,11330,5.078,11331,5.078,11332,7.848,11333,5.078,11334,3.197,11335,5.078,11336,3.197,11337,3.197,11338,5.078,11339,3.197,11340,3.197,11341,5.078,11342,3.197,11343,3.197,11344,3.197,11345,3.197,11346,3.197,11347,3.197,11348,3.197,11349,3.197,11350,3.197,11351,3.197,11352,6.316,11353,3.197,11354,3.197,11355,3.197,11356,3.197,11357,3.197,11358,3.197,11359,3.197,11360,3.197,11361,3.197,11362,3.197,11363,3.197,11364,5.078,11365,3.197,11366,3.101,11367,3.197,11368,4.2,11369,2.644,11370,3.101,11371,3.101,11372,3.197,11373,5.078,11374,3.197,11375,5.078,11376,3.197,11377,3.101,11378,3.197,11379,3.197,11380,3.197,11381,3.197,11382,3.197,11383,3.197,11384,3.101,11385,3.101]],["title/classes/UserMigrationDatabaseOperationFailedLoggableException.html",[0,0.239,23757,6.094]],["body/classes/UserMigrationDatabaseOperationFailedLoggableException.html",[0,0.289,2,0.891,3,0.016,4,0.016,5,0.008,7,0.118,8,1.245,26,2.598,27,0.425,29,0.641,30,0.001,31,0.469,32,0.134,33,0.383,35,0.969,39,3.307,52,6.768,95,0.144,99,1.713,101,0.011,103,0.001,104,0.001,148,0.828,158,3.086,180,5.102,228,1.956,231,1.871,242,4.407,277,1.203,339,2.456,400,2.494,433,1.032,652,1.707,711,3.541,1027,2.565,1080,4.119,1237,3.183,1312,5.61,1313,5.709,1314,6.135,1422,4.894,1426,5.665,1462,4.607,1468,5.64,1477,4.347,1478,4.537,1927,7.047,4923,5.469,9140,9.008,9185,6.797,10045,6.27,12407,6.135,16825,7.753,19390,9.701,19946,11.065,19949,7.753,23397,9.412,23757,9.471,23758,8.372]],["title/classes/UserMigrationIsNotEnabled.html",[0,0.239,23759,6.433]],["body/classes/UserMigrationIsNotEnabled.html",[0,0.335,2,1.033,3,0.018,4,0.018,5,0.009,7,0.136,8,1.366,27,0.382,30,0.001,35,1.124,52,6.469,95,0.111,101,0.013,103,0.001,104,0.001,148,0.96,290,2.296,703,3.014,1027,2.975,1087,4.488,1115,3.717,1237,3.493,1422,5.237,1423,6.036,1426,5.975,1468,6.036,1469,6.351,4923,5.422,7681,6.103,12401,6.845,13599,6.426,23759,10.971,23760,11.847,23761,9.709,23762,9.709,23763,9.709]],["title/injectables/UserMigrationService.html",[589,0.926,23582,5.842]],["body/injectables/UserMigrationService.html",[0,0.209,3,0.012,4,0.012,5,0.006,7,0.085,8,1,26,2.719,27,0.435,29,0.846,30,0.001,31,0.618,32,0.138,33,0.505,35,1.171,36,2.57,47,0.924,52,3.07,66,8.622,83,1.767,94,6.147,95,0.146,99,1.242,101,0.008,103,0,104,0,135,1.44,153,1.811,158,3.197,180,4.987,228,1.834,277,0.872,317,2.821,433,1.069,579,1.737,589,1.156,591,1.444,629,4.566,652,2.654,657,2.926,666,9.593,938,4.927,1027,1.859,1080,3.807,1328,4.598,1422,2.486,1712,4.544,2445,5.207,3853,3.195,4923,5.346,5100,7.136,5401,7.309,8056,7.435,8063,4.927,10024,8.721,11297,4.78,14220,9.372,14241,8.032,14817,5.103,14823,5.62,14824,5.103,17402,4.78,17929,5.62,19390,4.927,19953,9.372,19958,9.372,23582,7.293,23617,10.248,23686,5.62,23757,5.324,23764,8.673,23765,6.069,23766,6.069,23767,6.069,23768,8.673,23769,6.069,23770,11.681,23771,11.681,23772,6.069,23773,6.069,23774,6.069,23775,6.069,23776,8.673,23777,6.069,23778,6.069,23779,6.069,23780,6.069,23781,6.069]],["title/classes/UserMigrationStartedLoggable.html",[0,0.239,23699,6.094]],["body/classes/UserMigrationStartedLoggable.html",[0,0.308,2,0.952,3,0.017,4,0.017,5,0.008,7,0.126,8,1.299,26,2.663,27,0.443,29,0.686,30,0.001,31,0.501,32,0.112,33,0.409,35,1.036,39,3.412,52,6.546,95,0.141,99,1.832,101,0.012,103,0.001,104,0.001,148,0.885,180,5.524,228,2.042,242,4.712,290,2.664,339,2.626,400,2.666,433,1.103,652,1.825,1027,2.743,1115,3.426,1237,3.322,1422,5.05,1423,5.819,1426,5.807,1434,5.767,1853,2.928,4923,5.642,4935,8.232,4937,7.75,12407,6.559,15178,6.429,20026,7.853,23699,9.883,23782,11.416,23783,8.951,23784,8.951,23785,8.951]],["title/classes/UserMigrationSuccessfulLoggable.html",[0,0.239,23700,6.094]],["body/classes/UserMigrationSuccessfulLoggable.html",[0,0.31,2,0.957,3,0.017,4,0.017,5,0.008,7,0.126,8,1.303,26,2.668,27,0.445,29,0.689,30,0.001,31,0.504,32,0.112,33,0.411,35,1.041,39,3.419,52,6.25,95,0.141,99,1.84,101,0.012,103,0.001,104,0.001,148,0.889,180,5.274,228,2.047,242,4.733,290,2.126,339,2.638,385,6.131,400,2.678,433,1.108,652,1.833,1027,2.755,1115,3.442,1237,3.331,1422,5.06,1423,5.831,1426,5.816,1853,2.941,4923,5.654,4935,8.245,4937,7.765,12407,6.588,15178,6.458,16773,7.3,20022,8.326,20026,7.888,23700,9.911,23782,11.44,23786,8.991,23787,8.991]],["title/modules/UserModule.html",[252,1.836,3843,4.316]],["body/modules/UserModule.html",[0,0.278,3,0.015,4,0.015,5,0.007,30,0.001,95,0.156,101,0.011,103,0.001,104,0.001,252,3.099,254,2.901,255,3.072,256,3.15,257,3.139,258,3.127,259,4.266,260,4.366,264,9.508,265,6.12,268,8.601,269,4.118,270,3.094,271,3.029,276,4.118,277,1.157,279,3.366,703,2.5,1027,2.468,1524,10.153,1537,6.031,2069,4.796,3843,9.04,5401,8.512,6018,8.889,23261,11.132,23788,8.053,23789,8.053,23790,8.053,23791,8.053,23792,8.053,23793,7.458,23794,7.458,23795,8.053,23796,8.053]],["title/classes/UserNotFoundAfterProvisioningLoggableException.html",[0,0.239,16875,6.094]],["body/classes/UserNotFoundAfterProvisioningLoggableException.html",[0,0.284,2,0.876,3,0.016,4,0.016,5,0.008,7,0.116,8,1.232,26,2.582,27,0.42,29,0.631,30,0.001,31,0.461,32,0.103,33,0.376,35,0.953,47,0.945,48,6.157,59,2.557,95,0.135,99,1.685,101,0.011,103,0.001,104,0.001,148,0.815,228,2.148,231,1.851,233,2.57,244,6.034,290,1.948,339,2.416,347,5.473,433,1.316,436,2.44,652,2.417,703,2.557,1027,2.523,1080,2.839,1115,3.152,1237,3.149,1422,5.138,1423,5.596,1426,5.63,1462,4.531,1463,9.393,1468,5.596,1469,5.888,1470,4.605,1471,6.034,1472,4.605,1476,5.006,1477,4.276,1478,4.462,3331,5.915,4202,6.316,5091,4.397,6222,5.53,7681,5.177,10024,8.083,10027,7.225,10033,8.189,10038,6.167,10342,5.53,12922,7.998,16875,9.371,16895,7.225,23797,10.681,23798,10.681,23799,8.235,23800,8.235,23801,8.235]],["title/classes/UserParams.html",[0,0.239,699,5.64]],["body/classes/UserParams.html",[0,0.414,2,1.056,3,0.019,4,0.019,5,0.009,7,0.139,27,0.391,30,0.001,32,0.124,34,2.051,39,3.573,47,0.852,95,0.137,101,0.013,103,0.001,104,0.001,112,0.938,157,2.285,187,6.77,190,1.782,194,4.697,195,2.627,196,3.972,197,3.339,200,3.041,202,2.28,290,2.84,296,3.137,699,9.748,855,4.86,4150,6.033,23802,9.925,23803,9.925]],["title/classes/UserParentsEntity.html",[0,0.239,23156,5.64]],["body/classes/UserParentsEntity.html",[0,0.306,2,0.946,3,0.017,4,0.017,5,0.008,7,0.125,27,0.508,29,0.681,30,0.001,31,0.498,32,0.161,33,0.406,47,1,95,0.101,96,2.344,101,0.015,103,0.001,104,0.001,112,0.876,159,0.914,190,2.207,223,4.284,224,2.583,232,3.04,433,1.096,435,3.103,700,6.227,701,6.227,702,6.373,2685,5.712,11189,5.804,11190,6.269,11191,5.804,11192,6.269,11193,6.063,11194,6.515,23156,9.108,23529,11.675,23804,8.234,23805,11.324,23806,11.218,23807,8.892,23808,8.892]],["title/interfaces/UserParentsEntityProps.html",[159,0.714,23805,6.094]],["body/interfaces/UserParentsEntityProps.html",[0,0.324,3,0.018,4,0.018,5,0.009,7,0.132,30,0.001,32,0.157,47,1.026,95,0.107,96,2.482,101,0.015,103,0.001,104,0.001,112,0.908,159,0.968,161,2.236,223,4.089,224,2.734,232,2.551,700,6.529,701,6.529,702,6.681,2685,5.919,11189,6.145,11190,6.637,11191,6.145,11192,6.637,11193,6.418,11194,6.897,23156,7.642,23529,8.258,23804,8.717,23805,11.065]],["title/interfaces/UserProperties.html",[159,0.714,23167,5.842]],["body/interfaces/UserProperties.html",[0,0.163,3,0.009,4,0.009,5,0.004,7,0.182,30,0.001,32,0.166,33,0.631,34,0.806,47,1.004,83,3.885,95,0.127,96,1.244,101,0.011,103,0,104,0,112,0.901,122,2.039,135,1.139,148,0.467,153,1.433,159,0.74,161,1.121,195,2.92,196,4.379,205,1.78,219,2.639,223,4.2,224,1.371,225,2.767,226,2.139,229,1.867,231,0.818,232,1.279,233,1.473,290,1.703,331,4.657,579,1.351,692,5.236,700,5.352,701,5.352,702,5.476,703,3.693,704,5.647,711,1.399,874,2.757,886,1.485,1078,4.285,1198,6.331,1237,1.392,1821,2.29,1826,4.475,1827,4.141,1835,2.419,2911,4.038,2915,2.618,2919,3.995,3370,2.118,3388,6.095,4394,2.784,4535,7.176,4541,1.647,4546,7.057,4607,3.846,4629,3.718,4630,3.534,5319,3.832,5320,3.832,5321,3.832,5329,5.393,5413,8.849,5670,3.382,6563,3.62,7491,4.426,7494,2.933,7515,2.967,7516,2.869,7837,2.839,7838,2.933,11184,8.071,11189,3.081,11190,3.328,11191,3.081,11192,3.328,11193,3.218,11194,3.458,11195,3.969,11196,4.141,11523,8.071,11583,3.832,11587,3.969,13812,3.969,15109,7.176,15198,3.534,17785,3.832,17800,3.832,17805,3.832,18692,3.718,18998,3.969,18999,3.969,19001,3.969,19005,6.057,19686,3.718,20012,7.88,21887,3.718,23137,4.371,23138,8.289,23139,8.071,23140,8.289,23156,9.005,23163,4.371,23164,6.67,23165,6.67,23166,6.67,23167,7.344,23168,3.969,23169,4.371,23170,4.371,23171,3.969,23172,4.371,23173,3.969,23174,4.371,23175,3.969,23176,4.371,23177,4.371,23178,4.371,23179,4.371,23180,6.67]],["title/injectables/UserRepo.html",[268,4.223,589,0.926]],["body/injectables/UserRepo.html",[0,0.122,3,0.007,4,0.007,5,0.003,7,0.05,8,0.661,10,2.293,12,2.585,18,2.9,26,2.351,27,0.477,29,0.895,30,0.001,31,0.654,32,0.146,33,0.534,34,1.422,35,1.379,36,2.778,39,2.304,40,2.765,47,0.789,48,4.085,49,1.333,55,0.709,56,1.667,59,1.78,70,1.798,72,2.623,95,0.127,96,1.511,97,1.441,98,2.125,99,0.723,101,0.005,103,0,104,0,129,2.16,130,0.966,135,1.713,142,2.085,145,3.43,148,1.064,153,0.94,158,2.113,193,2.491,195,1.254,197,1.594,205,0.72,206,1.864,224,1.026,231,0.993,252,1.515,268,3.484,277,0.507,290,2.544,317,2.933,331,3.683,393,1.744,415,4.733,436,2.467,478,0.992,532,4.336,540,3.442,569,1.097,571,2.861,579,1.011,589,0.764,591,0.841,595,1.333,624,2.645,652,1.475,657,2.543,692,3.929,700,1.704,701,1.704,702,2.83,703,2.584,704,2.918,728,5.976,730,6.698,732,5.308,734,2.406,735,2.61,736,3.571,756,1.397,759,2.104,760,2.147,761,2.125,762,2.147,764,2.125,765,2.147,766,1.9,770,2.22,771,2.537,781,3.099,789,3.949,790,3.908,863,1.944,870,1.929,1065,1.734,1072,5.978,1086,3.451,1087,3.344,1088,3.396,1089,3.614,1090,1.929,1091,2.372,1094,2.709,1393,5.204,1454,2.17,1829,1.502,1831,2.338,2037,3.647,2231,3.259,2467,3.448,2907,4.775,3370,4.107,3388,3.707,3703,3.908,4541,2,4785,2.868,5089,6.145,5091,1.886,5168,3.288,5217,5.1,5894,5.509,6144,4.602,7580,2.125,7646,2.97,7749,2.709,7866,5.115,7876,4.292,7895,2.588,7896,2.588,7938,4.396,10529,4.292,11523,2.709,12020,3.271,12126,6.346,12736,3.099,12737,3.099,13622,6.758,13805,2.537,13827,3.099,13834,9.044,13986,2.782,14040,2.782,14061,3.271,14127,3.271,14138,2.97,14139,3.271,14141,3.271,14146,3.099,14147,3.271,15049,2.588,15085,4.653,22028,5.029,22030,5.029,22278,5.308,23264,5.308,23270,5.308,23290,3.271,23293,3.271,23296,3.271,23297,3.271,23302,3.271,23304,3.271,23809,3.532,23810,5.308,23811,5.308,23812,7.233,23813,5.308,23814,5.308,23815,3.532,23816,5.308,23817,3.532,23818,3.532,23819,3.532,23820,3.532,23821,3.532,23822,5.308,23823,3.532,23824,3.532,23825,3.532,23826,3.532,23827,3.532,23828,3.532,23829,5.308,23830,3.532,23831,3.532,23832,5.732,23833,5.732,23834,5.732,23835,3.532,23836,3.532,23837,7.233,23838,3.532,23839,3.532,23840,3.532,23841,3.532,23842,3.532,23843,2.97,23844,5.732,23845,3.532,23846,3.532,23847,5.732,23848,3.532,23849,3.532,23850,5.732,23851,5.732,23852,5.732,23853,5.732,23854,5.732,23855,5.732,23856,5.732,23857,7.233,23858,3.532,23859,3.532,23860,3.532,23861,3.532,23862,3.532,23863,3.532,23864,5.308,23865,3.532,23866,3.532,23867,5.732,23868,3.532,23869,3.532]],["title/injectables/UserRule.html",[589,0.926,1879,5.842]],["body/injectables/UserRule.html",[0,0.28,3,0.015,4,0.015,5,0.007,7,0.114,8,1.222,27,0.464,29,0.903,30,0.001,31,0.66,32,0.156,33,0.539,35,1.226,95,0.142,101,0.011,103,0.001,104,0.001,122,2.605,135,1.537,148,1.048,183,4.495,205,2.794,228,1.474,277,1.168,290,3.419,400,2.423,433,1.003,478,2.284,589,1.413,591,1.936,653,3.359,711,3.934,1237,2.399,1775,6.87,1801,8.248,1838,7.59,1879,8.911,1981,6.827,1985,6.584,1992,5.384,3663,7.013,3664,5.463,3667,6.917,3669,5.463,3670,7.116,3671,5.961,23870,8.135,23871,8.135,23872,8.135,23873,8.135,23874,10.596]],["title/classes/UserScope.html",[0,0.239,23280,6.094]],["body/classes/UserScope.html",[0,0.212,2,0.654,3,0.012,4,0.012,5,0.006,7,0.086,8,1.01,26,2.287,27,0.521,29,0.962,30,0.001,31,0.703,32,0.165,33,0.574,35,1.454,59,3.646,83,4.09,95,0.116,99,1.259,101,0.008,103,0,104,0,112,0.684,122,2.547,125,2.795,129,1.837,130,1.683,148,1.162,197,1.711,231,1.518,279,2.572,290,1.455,365,2.735,436,3.48,478,1.727,569,1.91,652,2.488,703,1.91,2474,6.074,3078,6.175,4541,3.559,6229,5.329,6947,5.881,6948,5.881,6949,5.881,6954,5.881,6955,5.881,6956,4.195,6957,4.131,6958,4.195,6959,4.195,6968,4.131,6969,5.881,6970,4.195,6971,4.131,6972,4.195,6973,4.131,6974,7.885,7454,7.325,7886,4.995,9458,7.684,11944,7.684,11953,7.684,15540,5.398,20004,10.874,20012,6.559,20083,9.875,23139,7.822,23280,11.876,23286,8.11,23875,6.152,23876,8.758,23877,8.758,23878,6.152,23879,8.758,23880,6.152,23881,8.758,23882,6.152,23883,8.758,23884,6.152,23885,8.758,23886,6.152]],["title/injectables/UserService.html",[589,0.926,5401,4.179]],["body/injectables/UserService.html",[0,0.128,3,0.007,4,0.007,5,0.003,7,0.052,8,0.688,12,2.691,18,3.018,26,2.69,27,0.501,29,0.975,30,0.001,31,0.713,32,0.159,33,0.582,34,1.278,35,1.458,36,2.939,39,2.598,40,2.878,47,0.904,48,4.205,59,1.152,66,3.895,94,1.878,95,0.149,99,0.76,101,0.005,102,1.968,103,0,104,0,122,1.561,135,1.716,142,1.35,148,1.231,153,0.609,161,0.882,185,2.044,195,2.054,208,2.333,228,1.701,268,6.094,277,0.533,279,1.552,290,2.903,317,3.066,340,2.391,365,1.65,412,1.643,433,0.735,478,1.042,540,3.009,569,1.852,579,1.062,589,0.795,591,0.883,595,1.401,634,6.099,651,1.878,652,2.234,657,2.655,666,8.082,702,1.833,704,1.89,711,2.217,869,2.928,938,3.013,987,3.437,1198,2.233,1537,2.779,1712,2.779,1823,3.256,1826,3.057,1853,1.214,1997,4.699,2369,2.075,2442,4.206,2454,4.068,2512,2.111,2922,4.33,3370,3.357,3421,2.492,3422,3.895,4535,7.185,4979,5.373,4986,2.847,5082,8.082,5103,3.121,5401,3.589,6627,3.038,6795,5.234,6811,5.234,7866,5.265,8044,2.779,8056,6.899,8059,4.699,8062,4.068,8068,3.256,11201,5.234,15238,5.234,15241,5.234,17648,5.525,18615,3.256,20131,3.013,23216,5.525,23261,8.861,23267,7.934,23279,3.437,23291,3.437,23347,6.29,23367,3.256,23722,3.256,23793,3.437,23794,3.437,23810,5.525,23811,5.525,23813,5.525,23814,5.525,23816,5.525,23822,5.525,23864,5.525,23887,3.712,23888,5.966,23889,5.966,23890,5.966,23891,5.966,23892,5.525,23893,3.712,23894,5.966,23895,3.712,23896,3.712,23897,3.712,23898,3.712,23899,3.712,23900,3.712,23901,5.966,23902,3.712,23903,5.966,23904,3.712,23905,3.712,23906,5.966,23907,3.712,23908,5.966,23909,3.712,23910,5.525,23911,3.712,23912,5.525,23913,8.568,23914,3.712,23915,5.966,23916,3.712,23917,5.966,23918,3.712,23919,3.712,23920,3.712,23921,3.712,23922,3.712,23923,3.712,23924,3.712,23925,3.712,23926,3.712,23927,3.712,23928,3.712,23929,3.712,23930,3.712,23931,3.712,23932,5.966,23933,3.712,23934,3.712,23935,3.712,23936,3.712,23937,3.712,23938,5.966,23939,3.712,23940,3.712,23941,3.712,23942,3.712,23943,3.712,23944,3.437,23945,3.712,23946,3.437,23947,3.712,23948,5.966,23949,3.712]],["title/injectables/UserUc.html",[589,0.926,13915,5.64]],["body/injectables/UserUc.html",[0,0.256,3,0.014,4,0.014,5,0.007,7,0.105,8,1.152,26,2.722,27,0.474,29,0.924,30,0.001,31,0.675,32,0.15,33,0.551,35,1.305,36,2.55,39,2.765,95,0.151,99,1.523,101,0.01,103,0,104,0,135,1.471,148,0.988,153,1.221,161,1.767,195,2.186,208,4.678,228,1.81,268,7.87,277,1.069,279,3.111,290,2.851,317,2.805,326,4.287,400,2.216,433,0.917,478,2.089,569,3.102,579,2.13,589,1.332,591,1.771,634,7.655,651,3.765,652,2.457,657,2.58,837,3.674,1080,3.444,1823,6.528,1826,5.119,1997,7.869,2922,4.307,4533,10.137,4535,8.219,13221,6.891,13915,8.11,18615,6.528,20131,6.041,23367,6.528,23892,9.251,23910,9.251,23912,9.251,23944,6.891,23946,6.891,23950,7.441,23951,9.99,23952,7.441,23953,9.99,23954,7.441,23955,7.441,23956,7.441,23957,7.441,23958,7.441,23959,7.441]],["title/classes/UsersList.html",[0,0.239,7510,5.842]],["body/classes/UsersList.html",[0,0.215,2,0.824,3,0.007,4,0.007,5,0.004,7,0.151,26,2.216,27,0.305,30,0.001,31,0.434,32,0.134,34,1.646,39,2.145,47,0.914,62,2.331,83,2.989,95,0.14,96,1.032,101,0.01,103,0,104,0,112,0.486,122,1.299,125,2.443,129,2.314,134,1.383,135,1.721,148,1.305,153,1.832,155,1.242,157,1.784,159,0.402,195,2.444,196,3.189,197,1.089,205,1.269,219,3.481,223,3.468,224,1.137,225,2.391,226,1.774,229,1.548,231,0.678,232,1.061,233,1.222,290,2.428,304,1.933,371,2.075,403,3.149,433,0.482,458,1.566,467,1.813,526,2.105,540,1.375,569,1.933,578,2.046,579,1.782,595,1.478,615,3.784,652,1.8,692,4.169,700,4.261,701,4.261,703,1.933,711,3.495,756,1.548,774,3.292,886,2.439,962,2.76,1237,1.154,1312,2.923,1821,3.02,1829,2.646,1835,2.006,1925,2.38,2032,3.357,2163,1.81,2183,3.481,2911,4.745,2915,5.693,2919,4.299,2927,2.76,2929,2.461,3370,3.964,3421,2.629,3422,2.555,3601,2.287,3705,2.522,3859,4.064,4002,2.812,4047,2.461,4071,4.12,4072,4.12,4127,2.629,4394,2.309,4541,1.366,4542,5.464,4557,3.292,4591,5.679,4617,2.794,4692,4.993,5412,2.246,5670,2.923,6147,2.461,6148,3.707,6149,2.629,6152,3.961,6171,4.12,6172,2.522,6179,2.555,6192,2.669,6211,4.18,7352,2.931,7411,2.812,7447,3.434,7448,6.473,7449,5.284,7450,5.566,7451,4.18,7452,4.486,7453,2.713,7454,5.566,7455,4.931,7456,4.389,7457,5.679,7459,3.434,7461,3.434,7464,3.434,7466,3.434,7468,6.799,7471,3.434,7473,3.434,7482,3.434,7486,3.434,7487,5.804,7488,3.434,7489,3.434,7490,3.434,7491,3.825,7492,4.561,7493,3.178,7494,2.432,7495,2.207,7496,5.054,7497,5.054,7498,3.434,7499,3.178,7500,2.812,7501,3.434,7502,3.434,7503,3.292,7504,2.931,7505,3.434,7506,3.434,7507,3.083,7508,3.434,7509,3.868,7510,10.718,7511,5.566,7512,3.178,7513,4.12,7514,2.331,7515,2.461,7516,2.38,7517,3.178,7518,3.434,7519,3.434,7520,5.461,7521,5.461,7522,5.461,7523,7.17,7524,5.054,7525,4.774,7526,5.461,7527,4.662,7528,4.774,7529,2.931,7530,3.434,7531,3.434,7532,3.434,7533,3.434,7534,3.434,7535,5.461,7536,3.434,7537,3.434,7538,3.434,7539,3.434,7540,3.434,7541,3.434,7542,3.434,7543,6.517,7544,6.799,7545,3.434,7546,3.434,7547,3.434,7548,3.434,7549,3.434,7550,2.868,7551,3.434,7552,3.434,7553,3.434,7554,3.434,7555,3.434,7556,3.434,7557,3.292,7558,3.434,7559,6.799,7560,5.461,7561,3.434,7562,3.434,7563,3.178,7564,2.713,7565,3.434,7566,6.292,7567,3.434,7568,3.434,7569,3.434,7570,3.434,23960,3.914,23961,3.914,23962,3.914]],["title/classes/ValidationError.html",[0,0.239,338,4.269]],["body/classes/ValidationError.html",[0,0.272,2,0.838,3,0.015,4,0.015,5,0.007,7,0.111,8,1.197,27,0.528,29,0.604,30,0.001,31,0.441,32,0.173,33,0.53,35,0.912,47,0.934,55,1.582,59,2.446,95,0.118,101,0.01,103,0.001,104,0.001,112,0.81,155,3.912,190,2.301,228,2.52,231,1.799,233,2.459,277,1.132,338,6.377,402,2.82,433,0.971,436,3.899,868,5.917,871,2.885,998,5.477,1078,5.407,1080,4.418,1115,5.037,1354,8.658,1355,7.696,1356,7.575,1360,5.215,1361,4.52,1362,5.215,1363,5.215,1364,5.215,1365,5.215,1366,5.215,1367,4.842,1368,4.443,1369,6.206,1370,6.626,1373,4.74,1374,5.076,1375,6.043,1796,6.626,23963,7.879,23964,7.879,23965,7.297]],["title/classes/ValidationErrorDetailResponse.html",[0,0.239,1385,6.094]],["body/classes/ValidationErrorDetailResponse.html",[0,0.357,2,1.102,3,0.02,4,0.02,5,0.01,27,0.408,29,0.794,30,0.001,31,0.58,32,0.129,33,0.474,47,1.001,101,0.014,103,0.001,104,0.001,228,1.878,433,1.277,1080,4.247,1370,8.712,1381,8.83,1385,10.809,6329,8.538,23966,12.32,23967,10.36,23968,10.36,23969,10.36]],["title/classes/ValidationErrorLoggableException.html",[0,0.239,19537,6.094]],["body/classes/ValidationErrorLoggableException.html",[0,0.375,2,0.9,3,0.016,4,0.016,5,0.008,7,0.119,8,1.253,27,0.428,29,0.648,30,0.001,31,0.474,32,0.135,33,0.387,35,0.979,47,0.601,55,1.698,95,0.145,101,0.011,103,0.001,104,0.001,125,2.587,135,1.418,148,1.075,195,1.851,200,2.592,228,1.533,231,1.884,233,2.641,277,1.215,338,7.787,339,2.482,400,2.52,433,1.043,1115,4.161,1237,3.205,1312,5.638,1357,7.835,1359,8.824,1422,4.919,1426,5.688,1462,4.656,1468,5.982,1477,4.393,1478,4.584,2124,4.485,12410,6.664,12411,6.869,16818,11.12,19537,9.536,22593,7.835,23965,7.835,23970,12.008,23971,12.008,23972,8.461,23973,10.869,23974,8.461,23975,10.869,23976,8.461,23977,10.869,23978,8.461]],["title/modules/ValidationModule.html",[252,1.836,7405,6.094]],["body/modules/ValidationModule.html",[0,0.358,3,0.02,4,0.02,5,0.01,30,0.001,95,0.15,101,0.014,103,0.001,104,0.001,252,3.261,254,3.741,259,3.778,277,1.492,685,6.068,7405,10.825,7416,11.426,9953,7.967,9957,7.967,12624,10.825,23979,10.387,23980,10.387,23981,10.387]],["title/entities/VideoConference.html",[205,1.416,7509,4.316]],["body/entities/VideoConference.html",[0,0.366,3,0.015,4,0.015,5,0.008,7,0.176,27,0.465,30,0.001,32,0.156,47,0.754,95,0.121,96,2.153,101,0.016,103,0.001,104,0.001,112,0.922,122,2.464,190,2.12,205,2.166,206,2.656,221,6.116,223,4.126,224,2.373,225,4.081,226,3.702,228,1.48,229,3.231,231,1.416,232,2.213,233,2.549,540,4.391,886,2.57,2980,5.667,3710,6.116,4909,8.149,5412,6.095,5795,6.631,7509,6.602,7823,7.523,7849,5.759,9525,4.645,9527,5.406,9545,5.66,9546,5.66,9547,5.985,16505,6.434,16662,9.587,23982,11.58,23983,7.564,23984,9.364,23985,8.168,23986,8.168,23987,8.168,23988,7.166,23989,7.564,23990,7.564,23991,6.631,23992,6.869,23993,6.631,23994,6.434,23995,9.839,23996,7.564,23997,7.564,23998,7.564,23999,7.564,24000,7.564]],["title/classes/VideoConference-1.html",[0,0.199,756,2.285,7509,3.589]],["body/classes/VideoConference-1.html",[0,0.311,2,0.959,3,0.017,4,0.017,5,0.008,7,0.127,27,0.51,29,0.69,30,0.001,31,0.505,32,0.162,33,0.565,95,0.141,100,3.145,101,0.012,103,0.001,104,0.001,112,0.884,289,7.158,433,1.111,595,3.401,693,6.209,2137,7.033,2147,6.354,2153,5.478,2323,10.458,4248,9.514,7509,8.302,9525,5.125,9527,5.964,9537,6.354,9539,7.316,24001,11.722,24002,9.011,24003,11.313,24004,9.011,24005,9.484,24006,9.011,24007,8.345,24008,8.345,24009,9.011,24010,9.011,24011,8.345]],["title/modules/VideoConferenceApiModule.html",[252,1.836,20209,5.842]],["body/modules/VideoConferenceApiModule.html",[0,0.289,3,0.016,4,0.016,5,0.008,30,0.001,95,0.153,101,0.011,103,0.001,104,0.001,252,3.161,254,3.022,255,3.2,256,3.282,257,3.27,258,3.258,259,4.35,260,3.124,269,4.229,270,3.223,271,3.156,273,5.274,274,4.519,276,4.229,277,1.205,314,3.212,1856,7.678,2137,4.416,2653,3.879,3005,3.96,3843,8.317,3853,4.416,9525,4.771,9527,5.553,20209,12.226,20211,6.811,24012,8.39,24013,8.39,24014,8.39,24015,11.743,24016,11.256,24017,11.256,24018,11.256,24019,11.256,24020,10.058,24021,8.39]],["title/classes/VideoConferenceBaseResponse.html",[0,0.239,9528,5.472]],["body/classes/VideoConferenceBaseResponse.html",[0,0.393,2,1.349,3,0.014,4,0.014,5,0.007,7,0.107,27,0.479,29,0.584,30,0.001,31,0.427,32,0.152,33,0.522,47,0.81,95,0.116,101,0.015,102,6.453,103,0,104,0,110,2.637,112,0.793,122,2.382,153,1.997,231,1.76,289,6.608,402,4.086,412,5.387,433,0.94,540,2.678,595,2.878,693,5.937,871,4.457,1076,4.851,2126,4.454,2137,6.673,2511,7.25,7182,4.132,9032,5.71,9523,7.998,9524,9.986,9525,7.86,9526,6.689,9527,8.39,9528,10.482,9529,9.589,9533,9.269,9536,6.412,9537,5.376,9538,6.412,9539,6.19,9540,6.689,9541,8.244,9542,8.908,9543,6.412,9544,5.477,9545,5.284,9546,5.284,9547,5.587,9548,6.412,24022,10.154,24023,7.625,24024,7.625]],["title/classes/VideoConferenceConfiguration.html",[0,0.239,24025,6.094]],["body/classes/VideoConferenceConfiguration.html",[0,0.298,2,0.919,3,0.016,4,0.016,5,0.008,7,0.121,27,0.434,30,0.001,32,0.137,47,0.985,95,0.138,101,0.011,103,0.001,104,0.001,112,0.86,122,2.299,129,3.622,130,3.014,159,0.888,311,5.642,467,3.928,1268,6.77,1282,8.679,2137,6.385,2153,8.2,2218,3.861,2219,4.345,2220,4.194,2333,8.945,2334,9.666,2336,9.847,4212,5.049,5535,9.666,7509,7.537,9525,6.898,13672,10.641,13674,10.203,14909,7.582,17052,8.003,20211,9.847,24025,9.666,24026,11.018,24027,11.018,24028,11.018,24029,11.018,24030,10.203]],["title/controllers/VideoConferenceController.html",[314,2.659,24020,5.842]],["body/controllers/VideoConferenceController.html",[0,0.132,3,0.017,4,0.007,5,0.004,7,0.054,8,0.704,27,0.343,29,0.848,30,0.001,31,0.488,32,0.138,33,0.398,35,1.409,36,2.342,95,0.134,100,2.66,101,0.005,103,0,104,0,125,3.048,135,1.489,148,0.604,153,1.665,157,3.255,159,0.392,190,1.563,193,3.784,194,4.331,202,0.877,228,1.578,274,1.596,277,0.548,290,2.618,314,1.461,316,1.842,317,2.637,325,6.139,326,2.897,339,3.248,340,7.132,349,6.293,374,2.64,379,3.107,388,4.082,390,5.615,391,7.944,392,1.996,395,2.053,398,2.069,401,4.869,402,4.665,412,4.899,433,0.471,579,1.093,652,1.775,657,1.992,693,5.042,734,2.561,876,4.943,1080,1.316,1368,2.153,1375,6.678,1390,7.274,1434,5.61,1725,2.692,2104,7.322,2137,5.011,2232,6.73,2276,8.755,2312,8.76,2327,6.382,2342,6.254,2349,5.353,2369,4.869,2582,3.836,2959,8.988,3005,1.802,3071,3.671,3209,1.969,3331,7.951,4354,2.46,7584,2.297,9032,6.52,9140,2.527,9525,7.809,9527,8.752,11983,6.38,12420,8.063,12732,8.063,14209,3.349,20126,8.755,23984,6.52,24016,6.41,24017,6.41,24018,6.41,24019,6.41,24020,5.131,24031,8.816,24032,3.818,24033,3.818,24034,3.535,24035,12.172,24036,10.844,24037,3.818,24038,9.401,24039,3.818,24040,8.063,24041,3.818,24042,3.535,24043,3.818,24044,3.818,24045,3.818,24046,3.818,24047,3.818,24048,3.818,24049,6.102,24050,3.818,24051,3.818,24052,3.818,24053,7.069,24054,3.818,24055,6.102,24056,3.818,24057,3.21,24058,3.21,24059,3.099,24060,4.68,24061,4.68,24062,6.41,24063,6.41,24064,3.535,24065,3.818,24066,3.818,24067,3.535,24068,3.818,24069,6.102,24070,3.818,24071,8.707,24072,8.707,24073,3.818,24074,3.818,24075,3.818,24076,3.818,24077,3.818,24078,3.818,24079,3.818,24080,3.818,24081,3.818,24082,3.818,24083,3.818]],["title/classes/VideoConferenceCreateParams.html",[0,0.239,24053,5.64]],["body/classes/VideoConferenceCreateParams.html",[0,0.353,2,0.822,3,0.015,4,0.015,5,0.007,7,0.109,27,0.482,30,0.001,32,0.152,33,0.62,47,0.727,95,0.131,101,0.01,103,0,104,0,110,4.232,112,0.8,122,2.731,129,3.432,157,1.779,159,0.794,171,6.879,190,2.197,197,2.149,199,6.788,200,2.368,201,4.945,202,1.775,271,3.854,300,4.874,1115,3.922,1361,4.433,1434,6.601,1882,3.908,2137,6.703,2160,7.606,2344,6.228,2802,4.099,2903,8.615,3370,4.598,9525,7.592,9544,8.255,9545,7.964,9546,7.964,10237,6.274,10244,7.156,16225,9.487,22756,7.857,24053,8.317,24084,11.792,24085,11.493,24086,11.493,24087,7.728,24088,7.728,24089,10.245,24090,10.245,24091,10.245,24092,10.245,24093,10.245,24094,7.728,24095,7.728,24096,7.728,24097,6.498,24098,6.78,24099,6.78,24100,6.78,24101,7.728]],["title/injectables/VideoConferenceCreateUc.html",[589,0.926,24016,5.842]],["body/injectables/VideoConferenceCreateUc.html",[0,0.178,3,0.01,4,0.01,5,0.005,7,0.073,8,0.889,26,2.448,27,0.452,29,0.879,30,0.001,31,0.666,32,0.143,33,0.525,35,1.267,36,2.428,47,0.815,95,0.143,99,1.057,100,1.802,101,0.007,103,0,104,0,125,2.195,135,1.497,148,0.511,153,1.264,159,0.531,228,1.671,277,0.742,290,1.823,317,2.707,331,3.411,433,0.95,540,4.592,569,1.603,579,1.478,589,1.028,591,1.229,610,2.035,629,4.057,652,2.742,657,2.911,734,3.235,803,4.781,813,2.887,876,2.681,980,2.864,997,3.246,1328,4.086,1616,8.972,1853,1.689,1961,3.106,1994,3.783,2032,1.963,2136,5.771,2137,6.261,2141,5.536,2153,3.139,2154,4.067,2159,4.53,2199,10.07,2222,8.595,2236,4.192,2264,4.53,2298,8.619,2323,5.911,2325,8.803,2463,3.37,2564,3.326,2654,3.075,3853,2.718,4315,3.173,4541,1.802,5100,6.502,5401,7.155,6229,5.19,7509,3.208,7817,3.173,8056,4.176,9525,6.763,15534,4.781,17402,4.067,20122,10.329,20126,9.758,21477,4.192,23984,9.527,23994,4.067,24016,6.481,24102,10.001,24103,5.163,24104,7.707,24105,9.222,24106,7.707,24107,7.707,24108,4.342,24109,9.656,24110,5.163,24111,7.707,24112,5.163,24113,7.707,24114,5.163,24115,5.163,24116,5.163,24117,7.707,24118,5.163,24119,7.707,24120,5.163,24121,4.342,24122,5.163,24123,5.163,24124,7.755,24125,5.163,24126,4.53,24127,4.53,24128,5.163,24129,4.781,24130,7.755,24131,4.781,24132,4.53,24133,5.163,24134,5.163,24135,9.222,24136,5.163,24137,5.163,24138,5.163,24139,5.163,24140,5.163,24141,5.163,24142,4.53,24143,5.163,24144,5.163,24145,4.781]],["title/classes/VideoConferenceDO.html",[0,0.239,24146,5.472]],["body/classes/VideoConferenceDO.html",[0,0.376,2,0.904,3,0.016,4,0.016,5,0.008,7,0.119,27,0.517,29,0.651,30,0.001,31,0.476,32,0.164,33,0.55,34,1.861,47,0.854,95,0.124,101,0.014,103,0.001,104,0.001,112,0.851,122,2.511,231,1.889,433,1.047,436,2.518,540,4.225,1770,3.439,1852,7.486,2980,5.453,5795,6.898,6637,6.226,7823,7.239,7849,5.991,8162,6.516,8165,8.585,8166,6.692,9525,4.832,9544,6.102,9545,5.888,9546,5.888,9547,6.226,16505,6.692,20127,9.478,23991,6.898,23992,7.145,23993,6.898,23994,6.692,24142,7.454,24146,10.338,24147,12.154,24148,7.868,24149,10.898,24150,10.674,24151,8.496,24152,8.496,24153,7.868,24154,7.868,24155,7.454,24156,7.868,24157,7.868,24158,7.868]],["title/controllers/VideoConferenceDeprecatedController.html",[314,2.659,24159,6.094]],["body/controllers/VideoConferenceDeprecatedController.html",[0,0.153,3,0.018,4,0.008,5,0.004,7,0.062,8,0.792,10,1.774,27,0.331,29,0.829,30,0.001,31,0.47,32,0.171,33,0.384,35,1.306,36,2.289,47,0.849,95,0.142,100,3.3,101,0.006,102,4.452,103,0,104,0,135,1.233,148,0.831,157,3.135,159,0.456,190,1.508,194,4.232,202,1.018,228,0.803,274,1.853,277,0.637,290,2.558,314,3.215,316,2.139,317,2.593,325,6.073,326,3.192,333,4.609,337,6.647,339,3.174,340,6.97,342,7.062,349,6.225,374,2.969,379,3.495,388,1.901,390,5.577,391,7.649,392,2.318,395,2.384,398,2.402,400,1.32,401,4.696,402,4.376,412,3.037,595,1.673,657,2.34,693,4.926,734,2.881,1312,5.297,1390,7.243,1434,4.422,1725,3.126,2137,4.978,2147,3.126,2153,2.695,2276,5.264,2312,6.929,2327,5.28,2342,6.792,2349,6.022,2369,4.696,2511,4.088,2512,3.903,2654,6.719,2922,6.53,2959,8.783,3005,2.093,3209,2.287,3211,2.439,3331,7.77,3982,2.977,6229,5.283,7509,5.219,9523,6.615,9525,7.437,9527,8.092,9528,3.492,9544,3.184,9545,3.072,9546,3.072,9946,8.297,11224,10.513,20127,9.631,24005,3.4,24020,5.772,24031,8.757,24034,4.105,24038,10.018,24040,7.777,24042,4.105,24053,7.677,24060,6.441,24061,5.264,24064,4.105,24097,3.728,24098,3.889,24099,3.889,24100,3.889,24159,6.022,24160,4.433,24161,8.399,24162,4.433,24163,4.433,24164,4.433,24165,4.433,24166,4.433,24167,4.433,24168,4.433,24169,4.433,24170,3.889,24171,4.433,24172,6.356,24173,4.433,24174,4.105,24175,4.433,24176,4.433,24177,4.433,24178,8.399,24179,8.399,24180,4.433,24181,6.864,24182,4.433,24183,3.728,24184,4.433,24185,4.105,24186,4.105,24187,4.105,24188,4.433,24189,4.433,24190,4.433,24191,4.433,24192,4.433,24193,4.433,24194,4.433]],["title/injectables/VideoConferenceEndUc.html",[589,0.926,24017,5.842]],["body/injectables/VideoConferenceEndUc.html",[0,0.239,3,0.013,4,0.013,5,0.006,7,0.097,8,1.099,26,2.411,27,0.375,29,0.73,30,0.001,31,0.534,32,0.119,33,0.435,35,0.803,36,2.016,39,1.921,47,0.676,95,0.153,99,1.42,100,2.422,101,0.009,103,0,104,0,135,1.725,148,0.686,153,1.785,228,1.972,277,0.997,289,4.017,290,2.253,317,2.357,433,1.174,578,3.628,579,1.986,589,1.27,591,1.652,610,2.735,652,2.218,657,2.901,693,3.16,813,3.88,980,3.849,1853,2.27,1961,4.175,1994,5.085,2032,2.638,2087,3.002,2136,8.147,2137,5.727,2141,4.984,2147,4.893,2153,4.218,2154,5.466,2222,8.77,2236,5.634,2323,8.982,2325,9.725,2327,5.989,2654,4.133,3853,3.653,5100,4.893,5401,7.813,6229,4.778,7509,7.277,7817,4.264,8056,5.163,9525,6.187,17402,5.466,20122,8.833,20126,8.982,20210,5.634,21477,5.634,24005,5.322,24017,8.012,24058,5.836,24059,5.634,24102,9.149,24108,5.836,24109,10.544,24121,5.836,24124,8.012,24126,6.088,24127,6.088,24130,8.012,24132,6.088,24145,6.426,24195,6.939,24196,6.939,24197,9.527,24198,6.939,24199,6.088,24200,5.836,24201,6.088,24202,6.939,24203,6.939,24204,6.939,24205,6.426,24206,6.426]],["title/classes/VideoConferenceInfo.html",[0,0.239,24060,5.328]],["body/classes/VideoConferenceInfo.html",[0,0.311,2,0.961,3,0.017,4,0.017,5,0.008,7,0.127,27,0.511,29,0.692,30,0.001,31,0.506,32,0.162,33,0.413,47,0.641,95,0.141,100,3.152,101,0.012,103,0.001,104,0.001,112,0.885,159,0.928,190,2.034,221,6.763,223,2.804,231,1.964,433,1.113,436,3.668,540,4.347,2137,5.964,2153,5.49,2298,7.114,2980,5.134,4248,9.527,7271,7.924,7509,8.477,7823,6.816,9525,7.039,9527,5.978,9547,6.618,16662,7.333,23984,9.27,24001,9.939,24060,10.254,24207,9.032,24208,9.032,24209,9.032,24210,9.032,24211,9.032,24212,9.032]],["title/classes/VideoConferenceInfoResponse.html",[0,0.239,24062,5.842]],["body/classes/VideoConferenceInfoResponse.html",[0,0.297,2,0.915,3,0.016,4,0.016,5,0.008,7,0.121,27,0.476,29,0.659,30,0.001,31,0.482,32,0.151,33,0.393,95,0.138,101,0.011,103,0.001,104,0.001,112,0.858,157,2.787,190,1.973,202,1.977,289,7.627,296,3.163,433,1.061,540,4.627,868,4.129,886,2.708,2137,6.713,2300,6.779,3169,5.125,3170,5.132,9032,6.444,9524,10.045,9525,8.026,9527,8.918,9529,8.655,9533,11.12,9536,7.237,9537,6.068,9538,7.237,9547,6.306,9548,7.237,23396,10.175,24062,11.081,24213,10.179,24214,8.606,24215,7.969]],["title/injectables/VideoConferenceInfoUc.html",[589,0.926,24018,5.842]],["body/injectables/VideoConferenceInfoUc.html",[0,0.201,3,0.011,4,0.011,5,0.005,7,0.082,8,0.973,26,2.233,27,0.39,29,0.759,30,0.001,31,0.555,32,0.123,33,0.453,35,0.976,36,2.295,95,0.149,99,1.195,100,2.038,101,0.008,103,0,104,0,122,1.218,135,1.682,148,0.835,153,1.78,159,0.6,228,1.795,277,0.839,289,4.883,290,1.995,317,2.598,433,1.04,540,4.529,579,1.671,589,1.125,591,1.39,610,2.301,629,4.441,652,2.445,657,2.951,693,3.842,813,3.265,871,3.972,980,3.239,1328,4.472,1853,1.91,1961,3.513,1994,4.279,2032,2.219,2087,2.526,2136,7.417,2137,5.711,2141,4.194,2153,3.55,2154,4.599,2222,8.617,2236,6.849,2298,4.599,2323,8.321,2325,9.197,2330,7.812,2654,3.478,3853,3.074,5100,6.983,5401,7.438,6229,4.695,7817,3.588,8056,4.571,9525,6.169,17402,4.599,20122,8.041,20126,9.483,20210,4.741,21477,4.741,23984,7.417,23994,4.599,24005,4.478,24018,7.094,24058,4.91,24059,4.741,24060,8.321,24097,7.094,24102,9.123,24108,4.91,24109,10.038,24121,4.91,24124,8.329,24126,5.123,24127,5.123,24129,5.407,24130,9.123,24131,5.407,24132,7.401,24146,6.645,24150,8.329,24183,4.91,24199,5.123,24200,4.91,24201,5.123,24206,7.812,24216,5.839,24217,8.436,24218,5.839,24219,8.436,24220,5.839,24221,8.436,24222,5.839,24223,5.839,24224,5.839,24225,5.407,24226,5.407,24227,5.839,24228,5.839,24229,5.839,24230,5.839,24231,5.839,24232,5.407,24233,5.839]],["title/classes/VideoConferenceJoin.html",[0,0.239,24061,5.328]],["body/classes/VideoConferenceJoin.html",[0,0.313,2,0.965,3,0.017,4,0.017,5,0.008,7,0.127,27,0.512,29,0.695,30,0.001,31,0.508,32,0.162,33,0.415,47,0.806,95,0.13,100,3.166,101,0.012,103,0.001,104,0.001,110,4.289,112,0.887,289,7.18,433,1.118,595,3.424,693,6.22,2137,7.047,4248,9.554,7182,4.916,9525,7.767,9527,6.005,9537,6.397,9539,7.366,24001,11.745,24005,9.514,24007,8.401,24008,8.401,24011,8.401,24061,10.268,24234,9.072,24235,11.361,24236,9.072,24237,9.072,24238,9.072]],["title/classes/VideoConferenceJoinResponse.html",[0,0.239,24063,5.842]],["body/classes/VideoConferenceJoinResponse.html",[0,0.33,2,1.018,3,0.018,4,0.018,5,0.009,7,0.134,27,0.462,29,0.733,30,0.001,31,0.536,32,0.146,33,0.437,47,0.834,95,0.109,101,0.013,103,0.001,104,0.001,110,4.702,112,0.917,157,2.203,190,1.718,202,2.199,296,3.068,433,1.179,868,4.592,2137,6.688,2276,9.007,2293,8.862,7182,5.186,9032,7.166,9524,10.008,9525,7.732,9527,7.772,9529,9.25,9543,8.048,24063,11.433,24239,11.743]],["title/injectables/VideoConferenceJoinUc.html",[589,0.926,24019,5.842]],["body/injectables/VideoConferenceJoinUc.html",[0,0.236,3,0.013,4,0.013,5,0.006,7,0.096,8,1.088,26,2.397,27,0.371,29,0.723,30,0.001,31,0.529,32,0.118,33,0.431,35,0.792,36,1.997,47,0.486,95,0.153,99,1.401,100,2.389,101,0.009,103,0,104,0,110,3.264,135,1.647,148,0.677,153,1.772,228,1.958,277,0.983,289,3.962,290,1.619,317,2.34,331,4.176,433,1.163,579,1.959,589,1.258,591,1.629,610,2.698,652,2.202,657,2.795,693,3.117,1268,4.206,1853,2.239,2137,5.686,2141,4.916,2153,4.161,2154,5.391,2222,5.126,2255,6.005,2275,9.477,2276,8.285,2325,9.684,2654,5.621,3422,4.468,3853,3.603,5100,6.654,5401,7.784,6229,4.407,7509,4.253,8056,5.114,8400,5.126,9525,6.621,17402,5.391,20126,8.93,20210,5.557,24005,5.25,24019,7.937,24058,5.756,24059,5.557,24061,9.368,24102,9.084,24108,5.756,24109,10.505,24121,5.756,24124,9.084,24130,7.937,24146,7.434,24183,5.756,24199,6.005,24200,5.756,24201,6.005,24226,10.003,24232,6.338,24240,6.845,24241,6.845,24242,9.438,24243,6.845,24244,6.845,24245,6.845,24246,6.845,24247,6.845,24248,6.845,24249,9.438,24250,6.845,24251,9.438,24252,6.845,24253,6.845,24254,6.845,24255,6.845,24256,6.845,24257,6.845]],["title/classes/VideoConferenceMapper.html",[0,0.239,24057,5.842]],["body/classes/VideoConferenceMapper.html",[0,0.246,2,0.759,3,0.014,4,0.014,5,0.007,7,0.1,8,1.12,27,0.466,29,0.908,30,0.001,31,0.664,32,0.148,33,0.542,35,1.372,95,0.146,101,0.013,103,0,104,0,110,2.468,135,1.267,148,1.172,153,1.811,159,0.734,289,5.622,326,2.713,467,4.044,540,2.506,595,2.694,693,3.25,837,3.524,1725,5.032,2137,6.525,2153,4.338,2160,4.724,2222,5.344,2236,5.794,2238,6.609,9525,4.059,9533,8.963,9544,5.126,9545,4.946,9546,4.946,23984,8.267,24005,9.088,24053,9.62,24057,8.167,24060,9.507,24061,9.507,24062,9.965,24063,9.965,24067,6.609,24097,6.002,24098,6.261,24099,6.261,24100,6.261,24183,6.002,24185,6.609,24186,6.609,24187,6.609,24200,6.002,24205,6.609,24213,6.002,24215,6.609,24225,6.609,24258,12.395,24259,7.137,24260,9.712,24261,9.712,24262,9.712,24263,9.712,24264,9.712,24265,7.137,24266,9.712,24267,7.137,24268,9.712,24269,7.137,24270,9.712,24271,7.137,24272,6.609,24273,7.137,24274,7.137,24275,7.137,24276,7.137,24277,7.137,24278,7.137,24279,7.137,24280,7.137,24281,7.137,24282,7.137]],["title/modules/VideoConferenceModule.html",[252,1.836,24015,6.094]],["body/modules/VideoConferenceModule.html",[0,0.21,3,0.012,4,0.012,5,0.006,30,0.001,80,6.516,95,0.16,101,0.008,102,3.232,103,0,104,0,159,0.627,252,2.681,254,2.196,255,2.325,256,2.385,257,2.376,258,2.367,259,4.025,260,4.12,265,5.625,269,3.404,270,2.342,271,2.293,274,3.637,276,3.404,277,0.876,279,2.548,314,2.334,393,3.01,610,2.403,685,5.083,703,1.893,1027,1.868,1054,3.437,1267,6.25,1829,4.314,1856,6.98,1902,8.916,1915,8.432,1938,5.457,1940,6.624,2069,3.631,2087,2.637,2137,3.209,2153,3.706,2325,10.364,2337,10.232,2339,7.634,2653,2.818,3005,2.878,3843,8.098,3853,3.209,3857,5.68,3859,3.98,4266,10.675,4879,4.298,6018,8.171,6027,5.127,8974,8.579,9525,4.948,9527,6.716,12169,4.676,12170,4.676,13675,8.058,18054,4.676,20211,4.949,24015,12.77,24025,5.348,24030,5.645,24109,10.971,24159,9.708,24172,11.598,24283,6.096,24284,6.096,24285,6.096,24286,6.096,24287,10.675,24288,6.096,24289,6.096,24290,6.096,24291,6.096,24292,6.096,24293,6.096,24294,6.096,24295,6.096,24296,8.701]],["title/classes/VideoConferenceOptions.html",[0,0.239,23984,5.202]],["body/classes/VideoConferenceOptions.html",[0,0.364,2,0.862,3,0.015,4,0.015,5,0.007,7,0.175,27,0.491,29,0.621,30,0.001,31,0.454,32,0.161,33,0.37,47,0.575,95,0.121,96,2.136,101,0.016,103,0.001,104,0.001,112,0.919,122,2.767,205,2.154,223,3.87,224,2.353,225,4.06,226,3.672,228,1.468,229,3.205,231,1.404,232,2.196,233,2.529,433,0.999,540,4.13,886,2.549,2980,4.789,3710,6.067,4909,8.106,5412,6.063,5795,8.58,7509,5.034,7823,6.358,7849,5.712,9525,4.607,9527,5.362,9545,8.151,9546,8.151,9547,5.937,16505,6.382,16662,8.58,23982,11.974,23983,7.503,23984,9.929,23988,10.319,23989,7.503,23990,7.503,23991,6.578,23992,6.813,23993,6.578,23994,6.382,23995,9.787,23996,7.503,23997,7.503,23998,7.503,23999,7.503,24000,7.503,24297,10.568,24298,8.102,24299,8.102]],["title/classes/VideoConferenceOptionsDO.html",[0,0.239,24150,5.842]],["body/classes/VideoConferenceOptionsDO.html",[0,0.382,2,0.929,3,0.017,4,0.017,5,0.008,7,0.123,27,0.505,29,0.669,30,0.001,31,0.489,32,0.16,33,0.399,47,0.62,95,0.127,101,0.015,103,0.001,104,0.001,112,0.866,122,2.823,231,1.514,433,1.077,540,3.896,1852,6.543,2980,3.959,5795,9.007,7823,5.256,7849,6.16,8162,6.701,8165,6.882,8166,6.882,9525,4.968,9544,8.756,9545,8.448,9546,8.448,9547,6.402,16505,6.882,20127,8.739,23991,7.093,23992,7.347,23993,7.093,23994,6.882,24142,7.665,24146,8.739,24147,12.258,24148,8.091,24150,11.376,24153,8.091,24154,8.091,24155,7.665,24156,8.091,24157,8.091,24158,8.091,24300,11.094,24301,8.737,24302,8.737]],["title/classes/VideoConferenceOptionsResponse.html",[0,0.239,24213,5.842]],["body/classes/VideoConferenceOptionsResponse.html",[0,0.285,2,0.88,3,0.016,4,0.016,5,0.008,7,0.116,27,0.494,29,0.634,30,0.001,31,0.463,32,0.157,33,0.378,95,0.094,101,0.011,103,0.001,104,0.001,112,0.836,122,2.782,157,2.734,190,2.133,195,2.343,197,3.494,202,1.9,296,3.283,433,1.019,868,5.699,2137,6.851,2264,11.022,2276,8.214,2316,11.634,2614,8.105,9032,6.192,9080,8.02,9524,10.251,9525,7.401,9529,8.436,9544,8.531,9545,8.232,9546,8.232,23991,6.713,23993,6.713,24155,7.254,24213,10.944,24303,8.269,24304,10.709,24305,12.564,24306,10.709,24307,8.269,24308,8.269,24309,10.709,24310,8.269,24311,8.269,24312,8.269]],["title/injectables/VideoConferenceRepo.html",[589,0.926,24287,6.094]],["body/injectables/VideoConferenceRepo.html",[0,0.193,3,0.011,4,0.011,5,0.005,7,0.078,8,0.942,10,3.269,12,3.685,18,4.133,26,2.431,27,0.517,29,0.993,30,0.001,31,0.726,32,0.162,33,0.593,34,1.65,35,1.501,36,2.646,40,2.696,47,0.686,95,0.135,96,1.473,101,0.007,103,0,104,0,112,0.436,113,4.707,135,1.26,148,1.051,153,0.916,185,2.8,205,2.166,224,1.623,231,1.416,277,0.803,317,2.953,436,3.78,540,2.869,569,1.735,589,1.089,591,1.33,595,2.109,652,2.166,657,1.278,729,5.571,735,3.721,736,5.582,766,3.005,1770,3.307,1853,1.827,2139,3.205,2436,9.21,2438,5.868,2439,5.76,2440,5.76,2441,5.868,2442,5.76,2449,4.013,2451,4.013,2453,5.333,2454,5.571,2455,4.013,2458,5.868,2460,3.872,2461,8.327,2462,5.76,2465,4.013,2467,3.361,2468,3.472,2469,3.81,2471,4.013,2516,4.184,2980,4.377,4394,4.818,4721,3.396,6819,4.094,6820,4.094,6821,4.094,6822,4.094,6823,4.094,6824,4.094,7509,7.025,7823,5.81,9544,4.013,9545,5.662,9546,5.662,10644,4.285,11224,6.633,16011,4.698,16662,4.536,20127,9.608,23272,5.174,23988,4.902,24146,9.608,24287,7.168,24313,9.658,24314,5.587,24315,8.17,24316,8.17,24317,5.587,24318,5.587,24319,5.587,24320,5.587,24321,5.587,24322,5.587,24323,8.17,24324,8.17,24325,8.17,24326,8.17,24327,5.587,24328,5.587,24329,5.587,24330,5.174,24331,5.587,24332,5.587,24333,5.587,24334,5.587,24335,5.587,24336,5.587,24337,5.587,24338,5.587,24339,5.587]],["title/classes/VideoConferenceResponseDeprecatedMapper.html",[0,0.239,24170,6.094]],["body/classes/VideoConferenceResponseDeprecatedMapper.html",[0,0.27,2,0.833,3,0.015,4,0.015,5,0.007,7,0.11,8,1.192,27,0.455,29,0.886,30,0.001,31,0.648,32,0.144,33,0.529,35,1.339,95,0.14,101,0.01,102,6.964,103,0,104,0,110,2.709,148,1.145,153,1.898,289,6.697,412,4.574,467,4.006,540,2.751,693,5.269,829,4.62,1725,5.523,2137,6.477,2147,5.523,2153,4.762,2511,6.156,2512,5.878,6911,7.254,7509,7.645,9523,9.691,9525,4.455,9527,5.184,9528,9.691,9541,9.989,9632,6.872,20835,7.254,24057,6.587,24059,6.36,24060,9.436,24061,9.436,24170,9.069,24174,7.254,24272,7.254,24340,12.304,24341,10.337,24342,10.337,24343,10.337,24344,10.337,24345,10.337,24346,10.337,24347,10.337,24348,11.57,24349,11.57,24350,7.833,24351,7.833]],["title/classes/VideoConferenceScopeParams.html",[0,0.239,24036,6.094]],["body/classes/VideoConferenceScopeParams.html",[0,0.392,2,0.967,3,0.017,4,0.017,5,0.008,7,0.128,27,0.448,30,0.001,32,0.142,47,0.808,95,0.142,101,0.012,103,0.001,104,0.001,112,0.889,190,2.043,194,5.09,195,2.717,196,3.764,197,3.618,200,2.786,202,2.089,296,3.244,595,3.432,855,4.605,886,3.58,899,4.141,2137,6.536,3170,5.314,6229,5.066,6706,9.981,9525,7.061,11224,10.081,20127,10.764,24036,9.981,24084,11.499,24352,9.093,24353,9.093,24354,9.093,24355,9.093,24356,9.093,24357,9.093]],["title/classes/VisibilitySettingsResponse.html",[0,0.239,4416,5.842]],["body/classes/VisibilitySettingsResponse.html",[0,0.34,2,1.051,3,0.019,4,0.019,5,0.009,7,0.139,27,0.471,29,0.757,30,0.001,31,0.553,32,0.149,33,0.589,47,0.85,95,0.113,101,0.013,103,0.001,104,0.001,112,0.935,190,1.773,201,5.003,202,2.269,433,1.475,821,5.028,4416,11.535,24358,12.882,24359,9.876,24360,13.717,24361,9.876,24362,9.876,24363,9.876]],["title/classes/WsSharedDocDo.html",[0,0.239,22244,5.64]],["body/classes/WsSharedDocDo.html",[0,0.169,2,0.522,3,0.009,4,0.009,5,0.005,7,0.069,8,0.855,27,0.474,29,0.82,30,0.001,31,0.715,32,0.154,33,0.456,35,1.035,47,0.799,55,2.148,80,9.014,95,0.128,101,0.006,103,0,104,0,112,0.579,122,1.023,125,1.167,129,1.464,130,1.342,135,1.468,142,4.252,148,0.734,153,1.216,157,2.294,172,3.152,195,1.073,231,1.285,233,1.531,360,6.706,388,5.284,433,0.604,560,3.931,569,2.776,652,2.56,711,3.832,886,1.543,1115,3.815,1835,6.771,2162,8.634,2183,1.933,2355,6.506,2769,4.882,2884,7.033,3206,2.839,4874,6.693,5746,6.506,6512,7.187,8352,3.293,8951,6.02,11617,6.02,11639,7.644,12031,3.762,12087,5.687,20287,8.85,22172,9.491,22173,3.762,22244,7.259,22248,10.256,22257,9.39,22260,4.303,22326,8.092,22385,8.209,22432,8.28,22453,4.542,22474,4.542,22476,4.542,22478,4.542,22484,4.542,22506,4.542,22507,4.542,22508,4.542,22511,4.542,22526,4.542,22552,4.542,24364,12.322,24365,4.904,24366,11.258,24367,8.941,24368,8.941,24369,7.415,24370,7.415,24371,10.703,24372,7.415,24373,4.904,24374,12.322,24375,4.904,24376,4.904,24377,4.904,24378,4.904,24379,7.415,24380,4.904,24381,11.258,24382,7.415,24383,4.904,24384,9.967,24385,4.904,24386,4.904,24387,4.904,24388,4.904,24389,4.904,24390,4.904,24391,4.904,24392,4.904,24393,4.904,24394,4.904,24395,4.904,24396,4.904,24397,4.904,24398,4.904,24399,7.415,24400,4.904,24401,4.904,24402,4.904,24403,4.904,24404,4.904,24405,4.904,24406,4.904,24407,4.904]],["title/interfaces/XApiKeyConfig.html",[159,0.714,9282,5.64]],["body/interfaces/XApiKeyConfig.html",[3,0.02,4,0.02,5,0.01,7,0.151,30,0.001,32,0.134,47,0.947,101,0.014,103,0.001,104,0.001,112,0.982,159,1.102,161,2.546,1372,5.643,9282,10.206,20147,12.741,24408,10.72,24409,10.72]],["title/injectables/XApiKeyStrategy.html",[589,0.926,1534,6.094]],["body/injectables/XApiKeyStrategy.html",[0,0.283,3,0.016,4,0.016,5,0.008,7,0.115,27,0.466,29,0.628,30,0.001,31,0.459,32,0.133,33,0.375,47,0.84,95,0.148,101,0.011,103,0.001,104,0.001,112,0.832,122,1.711,129,2.449,130,2.243,142,4.303,195,1.795,197,2.281,228,2.27,231,1.846,233,2.56,277,1.178,339,2.406,400,2.443,433,1.011,569,2.546,589,1.42,591,1.952,634,7.701,651,4.149,652,2.412,711,3.506,1080,3.673,1170,5.155,1213,7.528,1372,7.228,1534,9.346,1545,5.783,1595,6.658,1983,7.153,2124,6.272,4957,5.507,9000,7.595,9282,6.658,9284,7.595,9896,6.009,14323,6.29,14327,8.649,14332,6.658,22236,6.897,24410,12.524,24411,8.201,24412,11.831,24413,10.653,24414,8.201,24415,7.595,24416,8.201,24417,8.201,24418,8.201,24419,8.201,24420,8.201,24421,8.201]],["title/dependencies.html",[255,3.192,24422,5.067]],["body/dependencies.html",[0,0.249,4,0.009,5,0.007,10,1.893,30,0.001,32,0.059,34,0.808,36,1.85,56,2.233,96,2.306,97,1.93,103,0,104,0,131,2.409,171,3.177,193,3.135,200,2.68,202,1.087,206,1.539,224,1.374,255,1.805,277,0.68,317,1.895,379,2.409,574,2.668,610,1.865,620,2.94,651,2.394,695,3.398,702,2.336,804,5.403,871,1.732,924,4.151,1015,3.226,1054,2.668,1056,3.048,1060,3.226,1212,3.048,1220,2.714,1232,2.739,1263,4.151,1310,3.336,1311,3.088,1470,2.645,1543,4.151,1545,3.336,1548,3.543,1585,2.876,1619,4.434,1718,3.467,1749,2.69,1783,2.907,1884,5.374,1986,8.553,2083,4.776,2153,2.876,2163,2.187,2219,2.379,2220,3.501,2221,2.974,2524,3.336,2769,2.583,2802,3.915,3766,2.907,3767,2.764,3851,2.379,4214,5.403,4224,4.151,4225,5.683,4226,8.298,4874,3.177,4905,3.467,4953,3.841,5027,2.409,5717,2.764,5758,5.287,5809,3.841,5810,3.841,6222,3.177,6558,2.69,7104,4.381,7407,3.398,7408,3.978,7500,3.398,7584,6.338,7821,3.543,8352,4.845,8751,4.381,8922,6.068,9926,5.683,9953,3.629,10321,3.841,10394,4.381,11397,4.151,11471,4.381,11570,8.293,12073,3.629,12074,4.381,12389,2.907,13168,6.682,13520,4.151,13521,3.978,13977,3.727,14323,8.08,14394,3.543,14586,3.629,15040,4.381,15871,4.381,16250,3.978,16251,4.151,16252,4.381,16391,3.841,16746,4.151,16978,4.151,16979,4.381,17916,4.381,18746,4.151,19359,4.381,19360,4.381,19410,3.841,20161,4.151,22173,3.629,22260,4.151,22405,4.381,24415,4.381,24423,4.731,24424,7.215,24425,4.731,24426,10.535,24427,4.731,24428,4.731,24429,8.746,24430,7.215,24431,4.731,24432,4.731,24433,4.731,24434,7.215,24435,4.731,24436,9.784,24437,7.215,24438,11.102,24439,4.731,24440,4.731,24441,4.731,24442,4.731,24443,4.731,24444,4.731,24445,4.731,24446,4.731,24447,4.731,24448,4.731,24449,4.731,24450,4.731,24451,4.731,24452,4.731,24453,4.731,24454,4.731,24455,4.731,24456,4.731,24457,4.731,24458,4.731,24459,4.731,24460,7.215,24461,4.731,24462,4.731,24463,4.731,24464,7.215,24465,4.731,24466,4.731,24467,7.215,24468,4.731,24469,4.731,24470,4.731,24471,4.731,24472,7.215,24473,7.215,24474,4.731,24475,4.731,24476,4.731,24477,4.731,24478,4.731,24479,4.731,24480,4.731,24481,4.731,24482,4.731,24483,4.731,24484,4.731,24485,4.731,24486,4.731,24487,4.731,24488,4.731,24489,4.731,24490,4.731,24491,4.731,24492,7.215,24493,4.731,24494,4.731,24495,4.731,24496,4.731,24497,4.731,24498,4.731,24499,4.731,24500,4.731,24501,4.731,24502,4.151,24503,4.731,24504,4.731,24505,8.099,24506,4.731,24507,4.731,24508,7.215,24509,4.731,24510,8.746,24511,7.215,24512,4.731,24513,4.381,24514,4.731,24515,4.731,24516,4.731,24517,7.215,24518,4.731,24519,4.731,24520,4.731,24521,4.731,24522,4.731,24523,4.731,24524,4.731,24525,4.731,24526,4.731,24527,4.731,24528,4.731,24529,7.215,24530,4.381,24531,4.731,24532,4.731,24533,7.215,24534,4.731,24535,4.731,24536,4.731,24537,4.731,24538,4.731,24539,4.731,24540,4.731,24541,4.731,24542,4.731,24543,4.731,24544,4.731,24545,4.731,24546,4.731,24547,4.731,24548,4.731,24549,7.215,24550,4.731,24551,4.731,24552,4.731,24553,4.381,24554,4.731,24555,4.731,24556,4.731,24557,4.731,24558,4.731,24559,4.731,24560,4.731,24561,4.381,24562,4.731,24563,4.731,24564,4.731,24565,4.731,24566,4.731,24567,4.731,24568,4.731,24569,6.682,24570,4.381,24571,4.731,24572,4.731,24573,4.731,24574,4.731,24575,4.731,24576,4.731,24577,4.731,24578,4.731,24579,4.731,24580,4.731,24581,4.731,24582,4.381,24583,4.731]],["title/index.html",[7,0.081,1434,3.721,24584,5.067]],["body/index.html",[30,0.001,31,0.488,34,1.043,55,2.038,102,3.237,103,0,104,0,129,1.823,153,1.002,155,1.937,157,1.406,183,2.329,193,3.785,255,2.329,316,4.9,347,3.129,409,5.542,412,2.702,413,3.712,414,6.481,415,3.472,511,3.334,528,3.089,561,3.91,567,2.321,613,3.567,614,2.683,734,4.263,802,4.041,807,4.683,812,3.934,876,3.17,897,5.134,981,3.712,982,4.809,984,10.537,997,3.838,998,4.794,1080,3.003,1115,2.337,1218,3.986,1355,3.503,1372,4.585,1390,5.413,1477,3.17,1627,6.256,1749,3.472,1783,3.752,1832,3.885,1884,7.195,1899,3.986,1918,4.231,1938,3.284,1944,8.99,2163,4.027,2218,2.727,2220,2.962,2231,3.472,2525,5.956,2544,6.662,2545,5.612,2546,6.037,2551,4.1,2564,5.612,2614,3.712,2615,4.163,2805,4.041,2831,6.681,2884,5.24,2896,4.809,2903,5.134,2906,5.134,3047,6.384,3382,2.794,3767,6.84,3770,7.329,4002,4.385,4189,6.681,4190,8.784,4243,4.683,4872,4.163,4956,4.957,5091,3.26,5175,4.231,5200,8.493,5272,4.809,5277,6.383,5326,5.356,5717,3.567,5868,5.413,5974,5.134,6119,5.137,6233,4.474,6245,4.572,6489,4.957,6512,4.1,6735,3.712,7120,4.1,7228,5.765,7312,4.957,7411,4.385,7412,4.572,7584,6.662,7681,5.476,7824,5.042,7829,4.683,8433,4.572,9294,4.957,10525,6.681,11223,4.809,11652,6.924,12395,4.809,12504,7.16,13176,4.385,13822,6.681,14803,8.245,15432,6.861,15475,4.231,16363,4.957,16734,4.572,16750,5.134,17017,4.957,18048,4.809,18054,4.683,19420,6.861,19903,5.356,22756,4.683,23843,5.134,24585,7.325,24586,4.683,24587,5.356,24588,5.134,24589,5.356,24590,4.957,24591,7.325,24592,7.072,24593,5.356,24594,5.356,24595,5.356,24596,8.066,24597,7.325,24598,5.654,24599,5.654,24600,5.654,24601,5.134,24602,5.356,24603,8.066,24604,5.134,24605,5.134,24606,8.066,24607,5.356,24608,4.683,24609,5.134,24610,5.356,24611,5.356,24612,4.957,24613,5.654,24614,5.356,24615,5.654,24616,5.134,24617,4.809,24618,5.356,24619,8.066,24620,8.066,24621,8.909,24622,10.272,24623,5.356,24624,5.654,24625,8.066,24626,5.356,24627,5.654,24628,5.654,24629,5.654,24630,8.066,24631,8.066,24632,5.654,24633,5.654,24634,5.654,24635,5.134,24636,5.654,24637,4.957,24638,5.654,24639,7.325,24640,5.654,24641,5.134,24642,5.654,24643,5.356,24644,5.654,24645,5.134]],["title/license.html",[1434,3.721,6519,3.77,24584,5.067]],["body/license.html",[0,0.042,4,0.024,5,0.002,8,0.14,27,0.048,30,0,53,2.871,55,0.451,56,1.062,72,3.549,74,0.931,76,1.125,77,0.782,79,1.973,83,0.354,87,0.611,95,0.014,103,0,104,0,141,0.964,146,3.137,148,0.12,153,1.022,159,0.591,161,0.746,183,0.463,185,3.363,189,1.382,194,1.533,205,0.458,223,0.377,271,0.457,289,0.703,290,2.033,329,1.909,339,0.921,347,0.622,356,0.815,370,1.125,371,3.302,374,0.973,379,0.618,402,0.435,403,0.614,412,4.343,413,0.738,416,1.125,525,0.635,528,1.982,540,0.426,543,1.901,550,0.709,552,0.663,560,2.439,561,1.758,569,0.377,571,0.48,585,0.89,610,0.886,612,0.815,617,1.065,627,1.065,628,2.333,640,0.746,652,0.248,685,3.041,693,3.217,703,0.377,711,3.254,756,1.82,758,2.177,810,1.648,812,4.014,813,2.191,815,1.065,816,9.402,876,0.631,982,1.771,998,5.505,1083,2.209,1088,0.57,1097,1.586,1198,1.353,1218,3.398,1222,0.957,1223,2.352,1224,2.256,1238,2.409,1302,0.674,1355,0.697,1380,1.684,1388,4.966,1390,3.871,1393,2.228,1454,0.746,1455,3.898,1461,0.909,1475,0.763,1493,3.735,1568,3.608,1619,1.382,1625,7.174,1626,2.173,1713,1.826,1749,2.228,1799,1.065,1826,3.619,1831,5.132,1832,3.312,1885,0.957,1918,4.895,1920,0.804,1924,0.842,1929,1.615,1930,1.125,1938,1.21,2105,1.771,2124,0.644,2162,0.931,2163,3.432,2203,8.253,2230,1.891,2231,1.279,2312,2.871,2327,0.763,2344,2.382,2369,1.258,2392,0.463,2463,1.468,2524,2.215,2525,3.799,2537,4.667,2540,4.665,2564,3.354,2580,2.083,2581,1.725,2602,6.324,2614,4.899,2615,0.828,2616,1.533,2805,5.333,2810,6.243,2828,0.909,2834,1.826,2855,1.615,2878,1.065,2879,1.771,2884,1.89,2888,1.125,2899,0.931,2900,6.174,2901,5.041,2904,4.226,2964,3.608,2966,7.956,3014,2.593,3278,0.986,3370,3.332,3382,2.106,3473,0.782,3564,1.431,3585,1.615,3706,3.244,3815,4.665,3851,0.611,3877,1.771,3924,3.803,4167,0.957,4186,0.986,4188,1.559,4190,0.782,4258,0.986,4315,1.93,4479,1.065,4481,2.756,4484,1.125,4613,1.021,4859,0.931,4866,0.89,4874,2.631,4875,0.909,4897,0.986,4952,0.89,4956,4.665,4958,1.021,5040,0.957,5091,1.201,5092,1.021,5093,1.468,5181,1.125,5187,1.88,5198,1.382,5224,4.875,5231,3.272,5238,1.065,5277,2.302,5301,0.909,5316,4.036,5323,2.083,5366,1.125,5550,1.431,5695,5.897,5717,0.709,5746,2.558,5747,1.533,5790,1.771,5980,0.986,6119,1.326,6150,5.192,6154,0.828,6167,3.188,6225,1.065,6229,0.495,6233,2.302,6238,2.409,6511,2.641,6519,8.93,6671,4.665,6672,6.513,6735,0.738,7120,2.109,7126,2.909,7352,2.352,7408,1.021,7503,1.021,7584,1.353,7681,0.763,7709,0.842,7728,2.215,7799,3.624,7826,0.872,7852,1.648,8024,0.957,8029,0.89,8041,1.065,8042,3.086,8433,2.352,8472,0.931,8886,1.065,8943,2.934,9039,2.409,9126,0.89,9140,1.488,9294,0.986,9574,0.746,10047,0.89,10522,0.89,10525,3.005,11242,3.005,11248,2.909,11284,2.256,11637,0.709,11639,2.409,11641,0.957,11643,7.273,11646,0.986,11649,1.771,11651,1.771,11652,3.918,11776,0.828,11791,2.352,12065,4.778,12395,6.108,12505,0.856,12629,0.986,12636,1.973,13035,1.725,13372,1.065,13381,2.641,13399,1.021,13804,0.957,13822,0.931,14548,1.125,14571,1.065,14577,4.036,14578,1.125,14640,2.083,14803,0.986,15160,0.986,15164,0.986,15235,2.352,15625,1.771,15721,5.041,15831,9.345,15866,1.125,15873,2.871,16304,2.083,16361,0.986,16403,3.295,16491,2.083,16660,1.125,16730,3.295,16734,2.352,17019,7.229,17760,1.021,17777,1.125,18356,4.567,18365,1.065,18478,7.181,18847,2.083,19420,2.474,19902,2.909,19983,1.065,20088,1.021,20163,1.125,20233,1.065,20287,0.872,20292,1.891,20305,1.725,20552,2.409,21051,2.909,21357,1.021,21674,1.973,21677,3.735,21679,1.065,21684,6.541,21875,1.065,21932,2.083,22120,6.243,22808,4.567,22892,2.083,23100,1.973,23127,5.849,23419,8.389,23448,1.021,24582,1.125,24595,1.065,24597,10.127,24608,7.257,24609,9.317,24610,2.756,24641,1.891,24646,9.059,24647,8.836,24648,1.214,24649,1.214,24650,3.141,24651,10.876,24652,8.635,24653,4.601,24654,1.214,24655,1.214,24656,2.249,24657,4.601,24658,3.141,24659,3.141,24660,1.214,24661,1.214,24662,2.249,24663,4.261,24664,5.32,24665,2.249,24666,2.249,24667,7.721,24668,6.23,24669,1.214,24670,1.125,24671,5.206,24672,1.125,24673,11.985,24674,3.141,24675,1.214,24676,1.214,24677,3.918,24678,6.667,24679,1.214,24680,1.214,24681,4.601,24682,0.986,24683,1.021,24684,3.628,24685,1.125,24686,8.597,24687,0.986,24688,1.125,24689,7.063,24690,7.424,24691,4.601,24692,7.755,24693,1.214,24694,2.249,24695,1.214,24696,1.214,24697,1.214,24698,1.214,24699,1.214,24700,1.214,24701,1.214,24702,3.628,24703,1.125,24704,1.065,24705,1.125,24706,3.141,24707,1.214,24708,1.214,24709,1.214,24710,2.249,24711,1.214,24712,1.214,24713,2.641,24714,1.125,24715,2.249,24716,2.249,24717,3.141,24718,6.776,24719,4.601,24720,4.821,24721,3.141,24722,2.249,24723,1.214,24724,1.214,24725,1.214,24726,3.141,24727,1.214,24728,1.214,24729,2.249,24730,1.214,24731,1.214,24732,1.214,24733,3.918,24734,2.249,24735,10.462,24736,3.141,24737,6.667,24738,3.437,24739,1.214,24740,2.249,24741,3.141,24742,6.667,24743,7.063,24744,1.125,24745,3.918,24746,2.249,24747,3.918,24748,1.214,24749,3.141,24750,0.986,24751,10.531,24752,2.249,24753,1.125,24754,6.23,24755,1.214,24756,3.141,24757,8.597,24758,3.141,24759,2.249,24760,7.424,24761,5.206,24762,1.214,24763,2.249,24764,8.058,24765,2.249,24766,1.214,24767,1.214,24768,2.909,24769,1.214,24770,1.214,24771,1.065,24772,3.141,24773,3.918,24774,1.125,24775,1.214,24776,1.214,24777,1.065,24778,3.141,24779,1.214,24780,4.601,24781,1.125,24782,2.909,24783,1.214,24784,1.125,24785,1.214,24786,1.214,24787,1.214,24788,2.249,24789,1.065,24790,1.214,24791,1.214,24792,2.249,24793,1.214,24794,1.973,24795,4.036,24796,1.214,24797,5.745,24798,3.628,24799,1.214,24800,4.601,24801,1.214,24802,1.214,24803,1.214,24804,1.214,24805,1.214,24806,3.141,24807,1.214,24808,2.249,24809,1.214,24810,1.214,24811,1.214,24812,1.125,24813,1.214,24814,1.214,24815,3.141,24816,0.957,24817,1.214,24818,1.214,24819,1.214,24820,1.214,24821,4.601,24822,1.214,24823,1.214,24824,3.141,24825,1.214,24826,3.918,24827,1.214,24828,2.249,24829,1.214,24830,1.214,24831,1.214,24832,1.214,24833,1.214,24834,1.214,24835,2.249,24836,1.214,24837,1.214,24838,1.214,24839,2.249,24840,1.214,24841,1.214,24842,1.214,24843,1.214,24844,1.214,24845,2.083,24846,6.174,24847,1.214,24848,5.206,24849,1.214,24850,1.214,24851,3.141,24852,3.918,24853,3.918,24854,3.918,24855,1.214,24856,4.601,24857,4.036,24858,1.125,24859,3.141,24860,1.214,24861,2.249,24862,1.214,24863,1.973,24864,2.249,24865,3.628,24866,3.918,24867,1.214,24868,3.141,24869,4.601,24870,1.214,24871,1.214,24872,2.909,24873,2.249,24874,1.125,24875,1.214,24876,1.125,24877,1.214,24878,1.214,24879,2.909,24880,1.214,24881,1.214,24882,2.249,24883,1.214,24884,1.214,24885,1.214,24886,3.141,24887,3.141,24888,2.249,24889,5.206,24890,3.141,24891,2.249,24892,2.249,24893,2.249,24894,3.437,24895,1.973,24896,1.214,24897,1.214,24898,1.214,24899,5.206,24900,2.249,24901,1.214,24902,1.214,24903,1.214,24904,2.249,24905,1.214,24906,2.249,24907,1.214,24908,1.214,24909,5.058,24910,1.214,24911,6.875,24912,1.214,24913,1.214,24914,1.214,24915,1.214,24916,2.249,24917,1.214,24918,4.036,24919,3.918,24920,2.249,24921,1.214,24922,1.214,24923,1.214,24924,1.214,24925,1.214,24926,2.249,24927,1.214,24928,1.214,24929,1.214,24930,2.249,24931,2.249,24932,1.214,24933,1.214,24934,1.214,24935,1.214,24936,1.214,24937,1.214,24938,1.214,24939,1.214,24940,1.125,24941,1.214,24942,1.214,24943,1.214,24944,1.214,24945,4.601,24946,1.214,24947,1.214,24948,3.918,24949,1.214,24950,1.214,24951,1.214,24952,1.214,24953,1.214,24954,1.214,24955,1.214,24956,5.745,24957,2.909,24958,1.214,24959,3.918,24960,1.214,24961,1.214,24962,3.141,24963,1.214,24964,1.214,24965,3.141,24966,1.214,24967,2.249,24968,1.214,24969,1.214,24970,1.214,24971,1.214,24972,1.065,24973,1.214,24974,1.065,24975,2.249,24976,2.083,24977,1.214,24978,3.918,24979,1.214,24980,2.909,24981,2.083,24982,3.141,24983,2.249,24984,1.214,24985,3.141,24986,5.745,24987,1.214,24988,2.249,24989,1.214,24990,1.214,24991,1.214,24992,1.214,24993,3.918,24994,1.214,24995,1.214,24996,1.214,24997,1.214,24998,1.214,24999,1.214,25000,2.249,25001,2.249,25002,2.249,25003,3.141,25004,1.214,25005,1.125,25006,3.141,25007,1.214,25008,2.249,25009,1.214,25010,1.214,25011,2.249,25012,10.126,25013,3.141,25014,1.214,25015,4.601,25016,7.063,25017,3.141,25018,1.214,25019,1.214,25020,1.214,25021,3.918,25022,1.214,25023,3.141,25024,1.214,25025,1.214,25026,1.214,25027,1.214,25028,1.214,25029,1.214,25030,1.214,25031,3.918,25032,1.214,25033,1.214,25034,3.141,25035,1.214,25036,3.141,25037,1.065,25038,2.249,25039,1.214,25040,1.214,25041,1.214,25042,1.214,25043,2.249,25044,3.141,25045,1.125,25046,1.214,25047,1.214,25048,1.214,25049,1.125,25050,1.214,25051,1.214,25052,1.214,25053,3.141,25054,2.249,25055,1.125,25056,1.214,25057,1.214,25058,3.918,25059,1.214,25060,3.141,25061,1.214,25062,1.214,25063,1.214,25064,1.214,25065,1.214,25066,3.141,25067,2.249,25068,2.249,25069,1.214,25070,2.249,25071,5.745,25072,2.249,25073,3.141,25074,3.918,25075,1.125,25076,1.125,25077,2.249,25078,1.214,25079,3.141,25080,1.214,25081,1.214,25082,1.214,25083,1.214,25084,1.214,25085,3.141,25086,2.249,25087,1.214,25088,1.214,25089,1.214,25090,1.214,25091,2.249,25092,2.249,25093,1.214,25094,2.083,25095,1.214,25096,1.125,25097,1.125,25098,1.214,25099,3.141,25100,1.214,25101,1.214,25102,1.214,25103,2.249,25104,3.141,25105,1.214,25106,1.214,25107,1.214,25108,1.214,25109,2.249,25110,1.214,25111,1.214,25112,1.214,25113,1.214,25114,1.214,25115,1.214,25116,1.214,25117,1.214,25118,1.214,25119,1.214,25120,1.214,25121,1.214,25122,1.214,25123,3.918,25124,1.214,25125,1.214,25126,2.249,25127,1.214,25128,1.125,25129,1.214,25130,1.214,25131,1.214,25132,1.214,25133,1.214,25134,1.214,25135,1.125,25136,1.214,25137,1.214,25138,1.214,25139,1.214,25140,2.249,25141,1.214,25142,1.214,25143,1.214,25144,1.214,25145,1.065,25146,2.249,25147,1.214,25148,1.214,25149,1.214,25150,1.125,25151,1.125,25152,1.021,25153,1.214,25154,2.249,25155,2.083,25156,1.214,25157,1.214,25158,3.141,25159,2.083,25160,1.214,25161,2.083,25162,2.249,25163,2.249,25164,1.125,25165,1.065,25166,1.214,25167,1.214,25168,1.125,25169,1.214,25170,1.214,25171,1.214,25172,2.249,25173,1.214,25174,3.141,25175,1.214,25176,1.214,25177,1.214,25178,1.214,25179,1.214,25180,1.214,25181,1.214,25182,1.214,25183,1.214,25184,1.214,25185,1.214,25186,1.021,25187,1.214,25188,1.214,25189,1.214,25190,1.214,25191,1.214,25192,1.214,25193,1.214,25194,1.214,25195,1.214,25196,1.214,25197,1.214,25198,1.214,25199,1.065,25200,1.125,25201,2.249,25202,2.083,25203,1.214,25204,1.214,25205,1.214,25206,1.214,25207,1.214,25208,1.214,25209,1.214,25210,1.214,25211,1.214,25212,1.021,25213,1.214,25214,1.125,25215,0.986,25216,1.214,25217,1.214,25218,1.125,25219,1.214]],["title/properties.html",[112,0.654,24422,5.067]],["body/properties.html",[30,0.001,103,0.001,104,0.001,112,0.831,157,2.448,1212,6.852,1882,4.057,1884,6.535,2163,4.917,2610,9.848,4971,6.685,6519,6.943,11651,8.377,15475,7.37,22152,8.157,25218,9.848,25220,10.977,25221,9.848,25222,8.943,25223,10.635,25224,10.635,25225,10.635,25226,10.635]],["title/todo.html",[1434,3.721,1829,2.455,24584,5.067]],["body/todo.html",[0,0.195,5,0.005,30,0.001,31,0.462,32,0.103,34,1.41,36,1.199,47,0.402,72,2.593,100,2.881,103,0,104,0,110,1.959,112,0.443,129,3.194,131,2.885,141,2.43,161,1.346,183,3.148,185,1.942,193,3.587,194,2.216,205,2.559,206,1.843,252,3.005,260,2.109,271,3.105,276,2.216,290,1.952,314,2.169,316,2.734,317,2.109,345,4.07,360,3.25,409,3.605,412,4.734,414,4.926,433,0.698,507,2.496,525,2.962,540,3.419,543,2.749,561,5.103,623,3.699,624,7.291,644,3.444,688,2.675,876,2.942,981,7.447,985,5.636,997,6.12,1018,4.971,1072,4.07,1080,2.846,1083,3.195,1087,3.816,1171,4.346,1212,7.326,1218,3.699,1220,4.735,1372,5.631,1373,3.409,1381,3.805,1472,3.168,1585,3.444,1610,6.048,1627,5.928,1829,2.409,1850,8.017,1882,4.08,1884,5.072,1921,3.927,1927,3.342,1938,6.996,2139,4.735,2163,2.619,2218,2.531,2220,4.005,2229,4.152,2233,3.863,2445,2.359,2512,3.222,2524,3.995,2541,8.188,2544,4.966,2545,8.089,2609,2.781,3005,2.675,3563,3.863,3564,3.605,3601,4.822,3770,3.75,3924,3.75,4139,4.346,4291,4.243,4354,5.318,4656,3.409,4866,4.152,4872,3.863,4874,3.805,4875,4.243,4896,4.152,4906,3.75,4908,5.628,4957,3.805,5003,9.231,5027,2.885,5091,5.199,5092,6.941,5093,3.699,5187,5.455,5198,3.482,5224,3.562,5231,3.562,5277,6.048,5300,4.243,5550,3.605,5746,3.699,6249,4.6,6609,3.047,6670,4.6,6671,4.243,7082,4.971,7120,5.543,7407,5.928,7411,5.928,7414,3.927,7415,4.971,7418,4.765,7504,7.291,7824,3.28,7851,3.75,8775,4.463,8776,7.467,9035,5.247,9126,4.152,9888,4.346,9896,4.152,11405,6.941,11570,6.993,11637,3.31,12043,4.765,12505,3.995,12561,5.247,12629,4.6,13599,3.75,14223,4.765,14308,4.765,15160,4.6,15475,3.927,16403,4.765,17017,4.6,17998,4.971,18048,4.463,19278,5.247,20287,6.993,20601,5.247,20700,6.502,21492,5.247,22152,4.346,22439,5.247,23457,5.247,24422,4.971,24553,5.247,24586,6.331,24602,4.971,24605,4.765,24645,4.765,24682,4.6,24784,5.247,24812,5.247,25199,7.241,25215,4.6,25227,5.666,25228,5.247,25229,4.765,25230,4.971,25231,5.247,25232,5.666,25233,5.666,25234,5.666,25235,4.765,25236,5.666,25237,5.666,25238,4.765,25239,5.666,25240,5.666,25241,5.247,25242,5.666,25243,5.666,25244,5.666,25245,5.666,25246,5.666,25247,4.765,25248,4.971,25249,5.666,25250,5.666,25251,5.666,25252,5.666,25253,5.247,25254,5.666,25255,5.247,25256,5.666,25257,5.666,25258,5.666,25259,5.666,25260,5.666,25261,5.666,25262,4.971,25263,5.666,25264,5.666,25265,5.247,25266,5.666,25267,5.666,25268,5.666,25269,5.666,25270,5.666,25271,5.666,25272,5.666,25273,5.666,25274,9.736,25275,5.666,25276,5.666,25277,5.666,25278,5.666,25279,5.666,25280,5.666,25281,4.765,25282,8.254,25283,5.666,25284,5.666]],["title/additional-documentation/nestjs-application.html",[869,2.426,1388,2.943,3767,2.887,4190,3.184]],["body/additional-documentation/nestjs-application.html",[5,0.009,18,1.899,30,0.001,31,0.422,33,0.275,72,1.718,78,6.436,87,1.887,95,0.043,103,0,104,0,129,1.121,161,0.891,180,1.603,185,2.063,193,1.631,194,1.468,223,1.165,231,0.651,252,2.279,254,2.168,270,2.313,304,1.853,326,1.427,339,3.105,347,3.862,360,2.153,412,5.023,415,2.134,467,2.195,507,4.158,543,2.921,561,4.237,585,2.75,610,1.479,619,4.324,624,5.644,626,3.293,629,1.976,648,3.784,694,2.75,804,4.508,807,4.617,812,3.878,813,3.366,869,2.955,876,4.902,981,5.738,982,7.435,985,3.484,997,3.784,998,4.756,1042,3.984,1083,3.394,1086,4.115,1089,3.008,1212,6.082,1220,2.153,1283,7.463,1296,3.156,1311,5.629,1355,3.453,1372,4.539,1388,2.235,1390,4.683,1434,5.556,1477,1.949,1563,2.418,1598,3.55,1610,5.522,1624,3.156,1625,3.047,1626,5.588,1714,2.811,1832,2.388,1850,2.646,1884,3.699,1918,2.601,1920,2.484,1921,4.172,1927,3.55,1929,2.696,1938,2.019,2009,2.484,2060,2.696,2163,4.658,2218,1.677,2219,1.887,2220,4.184,2312,4.411,2365,5.281,2392,1.432,2463,3.93,2512,2.134,2537,2.359,2544,3.621,2545,8.039,2546,2.601,2547,2.359,2564,2.418,2614,4.581,2616,2.559,2773,2.559,2802,1.502,2805,2.484,2808,2.484,2828,2.811,2884,2.258,3014,3.984,3071,5.188,3077,2.45,3129,2.282,3382,1.718,3564,3.83,3765,5.061,3766,6.191,3767,6.803,3770,4.988,3851,5.707,3862,2.956,4187,3.047,4188,2.601,4190,7.665,4214,2.811,4858,2.418,4859,2.879,4872,2.559,4873,4.324,4892,6.656,4896,5.522,4898,2.75,4907,2.956,5091,3.214,5168,4.947,5175,5.976,5186,3.293,5187,1.801,5213,2.359,5224,5.421,5331,3.293,5358,9.33,5364,3.476,5365,2.879,5695,1.936,5746,2.45,5980,3.047,6228,3.293,6310,1.887,6512,2.52,7228,2.484,7229,2.559,7306,5.574,7352,2.811,7409,3.476,7451,4.042,7500,2.696,7584,2.258,7681,2.359,8788,5.062,8924,4.887,8943,6.457,9024,5.574,9126,6.917,9353,4.742,9843,3.476,9847,3.156,10522,4.411,11242,4.617,11652,9.193,11749,4.742,12019,3.293,12043,3.156,12087,2.879,12333,4.617,12334,4.742,12389,2.306,12505,5.314,13035,2.879,13176,4.324,13381,3.156,13540,3.156,13977,2.956,14197,3.047,14307,3.047,14516,2.418,14547,3.293,14803,3.047,15162,3.047,15164,3.047,15782,6.979,16361,8.18,16391,6.119,16734,2.811,16750,3.156,17017,3.047,17019,3.156,17760,3.156,17998,8.281,19410,8.18,19470,2.646,22120,5.062,22152,6.614,22162,3.293,22956,3.476,23012,5.574,23100,3.293,23448,3.156,24505,3.476,24561,3.476,24569,3.476,24570,3.476,24585,3.156,24586,9.57,24587,5.281,24588,3.156,24590,3.047,24593,3.293,24601,6.338,24621,3.293,24704,3.293,24750,3.047,24781,5.574,24894,3.293,24909,3.047,24918,5.281,24974,3.293,25049,3.476,25055,3.476,25165,5.281,25186,3.156,25235,9.545,25247,5.062,25248,5.281,25262,5.281,25265,8.741,25285,3.753,25286,3.753,25287,7.938,25288,3.753,25289,3.753,25290,3.753,25291,3.753,25292,3.753,25293,6.02,25294,3.753,25295,6.612,25296,3.753,25297,3.753,25298,3.753,25299,3.753,25300,3.753,25301,3.753,25302,3.753,25303,3.753,25304,3.753,25305,3.753,25306,3.753,25307,3.753,25308,3.753,25309,3.753,25310,8.741,25311,3.476,25312,3.476,25313,3.476,25314,3.476,25315,3.476,25316,3.476,25317,3.476,25318,3.476,25319,3.753,25320,3.476,25321,3.753,25322,3.753,25323,3.753,25324,6.02,25325,3.293,25326,3.476,25327,3.293,25328,3.293,25329,3.753,25330,9.44,25331,3.476,25332,3.753,25333,3.753,25334,10.076,25335,3.753,25336,3.753,25337,3.753,25338,3.753,25339,6.02,25340,8.623,25341,3.753,25342,6.02,25343,3.753,25344,6.02,25345,3.753,25346,3.753,25347,8.623,25348,3.753,25349,3.753,25350,3.753,25351,3.753,25352,6.02,25353,3.753,25354,3.753,25355,3.753,25356,3.753,25357,6.02,25358,3.753,25359,3.753,25360,3.753,25361,3.476,25362,3.753,25363,3.753,25364,3.753,25365,6.02,25366,3.753,25367,3.753,25368,3.753,25369,3.753,25370,3.753,25371,3.753,25372,3.753,25373,6.02,25374,7.537,25375,3.753,25376,3.753,25377,7.537,25378,6.02,25379,3.753,25380,3.753,25381,3.753,25382,3.753,25383,3.753,25384,3.753,25385,3.753,25386,3.753,25387,6.02,25388,3.753,25389,6.02,25390,6.02,25391,3.476,25392,3.753,25393,3.753,25394,6.979,25395,3.753,25396,3.753,25397,3.753,25398,3.476,25399,3.476,25400,3.753,25401,3.753,25402,3.753,25403,3.753,25404,3.753,25405,3.753,25406,3.753,25407,3.753]],["title/additional-documentation/nestjs-application/software-architecture.html",[869,2.426,1388,2.943,24592,4.012,24652,4.156]],["body/additional-documentation/nestjs-application/software-architecture.html",[0,0.334,2,0.668,5,0.004,7,0.056,8,0.457,27,0.382,30,0.001,72,4.722,95,0.045,101,0.012,103,0,104,0,134,2.76,153,0.65,159,1.153,161,2.744,206,2.044,252,3.469,254,4.649,255,1.511,259,2.841,260,1.475,274,3.265,276,2.458,290,0.937,314,1.516,371,3.331,403,2.004,407,2.745,409,2.52,411,2.966,412,2.781,507,2.768,512,4.527,527,1.677,534,2.071,550,2.314,585,2.902,589,0.528,591,0.943,610,1.561,612,5.245,614,2.986,629,3.308,711,2.314,734,1.663,802,2.621,806,3.038,812,5.032,813,4.367,816,2.745,998,5.295,1083,3.543,1097,4.43,1198,2.383,1214,5.513,1218,6.735,1272,2.49,1302,2.197,1372,6.231,1373,2.383,1390,2.461,1626,2.197,1714,7.26,1829,1.684,1831,2.621,1832,5.656,1882,5.043,1918,6.161,1920,2.621,1924,4.355,1925,5.893,1926,2.66,1927,2.336,1929,2.845,2134,2.793,2163,3.611,2231,3.573,2233,4.284,2327,3.95,2344,5.404,2357,3.573,2512,3.573,2525,5.816,2536,3.331,2537,2.49,2540,3.216,2545,2.552,2546,2.745,2564,4.048,2581,3.038,2613,3.668,2614,6.272,2615,4.284,2616,2.701,2769,3.431,2805,2.621,2808,4.159,2855,2.845,2856,7.137,2880,2.434,2904,3.216,3005,1.87,3014,2.621,3382,4.949,3564,4.969,3767,2.314,3864,4.705,3877,3.12,3924,4.159,4168,4.355,4186,3.216,4188,6.161,4190,4.048,4315,2.434,4354,2.552,4819,2.272,4870,2.552,4872,4.284,4879,2.793,4906,2.621,4952,2.902,5003,5.101,5040,3.12,5168,3.605,5187,1.9,5224,3.95,5231,4.91,5254,2.793,5257,8.153,5277,4.604,5278,5.284,5296,3.216,5301,4.705,5746,5.804,5970,3.668,6119,4.606,6233,2.902,6238,3.038,6248,3.331,6364,5.819,6512,4.219,7119,3.12,7130,3.668,7800,2.586,7801,4.43,8472,4.819,8776,3.038,8943,2.966,9047,3.668,9080,5.849,9140,2.621,9888,3.038,9896,4.604,10525,3.038,11242,3.038,11435,3.038,11561,2.966,11638,3.216,11776,2.701,12065,3.038,13686,3.331,13804,4.949,13977,3.12,14307,3.216,15155,3.12,15160,5.101,15162,3.216,15432,6.152,15475,6.719,15625,3.12,15721,3.475,15831,3.475,16250,6.568,16251,3.475,16752,3.668,17253,3.12,17766,3.475,18675,5.513,18681,3.12,18682,3.475,19366,5.513,19420,4.949,20287,4.513,20292,3.331,20552,3.038,20699,6.819,20700,3.12,21216,3.668,21624,3.038,21672,3.475,21876,3.331,22954,10.414,23127,3.475,23448,3.331,23731,3.475,24586,3.038,24592,8.376,24594,5.513,24604,3.331,24605,3.331,24608,3.038,24617,4.949,24641,3.331,24652,5.284,24682,3.216,24683,8.153,24713,3.331,24714,7.233,24720,3.668,24735,3.475,24738,5.513,24750,3.216,24768,3.668,24771,3.475,24789,3.475,24795,6.852,24816,3.12,24845,3.668,24857,3.475,24865,3.668,24894,3.475,24895,3.475,24918,5.513,25045,7.233,25096,3.668,25135,3.668,25150,3.668,25152,6.568,25200,5.819,25212,3.331,25222,3.331,25229,6.568,25238,8.153,25328,3.475,25408,3.961,25409,3.961,25410,9.695,25411,3.961,25412,3.961,25413,3.961,25414,3.961,25415,3.961,25416,8.89,25417,3.961,25418,3.961,25419,3.961,25420,7.81,25421,3.961,25422,3.961,25423,7.233,25424,3.961,25425,3.961,25426,3.475,25427,3.668,25428,3.961,25429,3.331,25430,3.961,25431,7.81,25432,8.505,25433,5.284,25434,3.961,25435,3.961,25436,7.8,25437,3.961,25438,6.284,25439,3.475,25440,3.961,25441,6.284,25442,3.961,25443,3.961,25444,3.961,25445,3.961,25446,3.961,25447,3.961,25448,3.961,25449,3.668,25450,3.961,25451,3.961,25452,3.668,25453,3.961,25454,6.284,25455,3.668,25456,3.961,25457,3.961,25458,3.961,25459,8.233,25460,3.961,25461,3.668,25462,3.961,25463,3.961,25464,3.961,25465,3.668,25466,3.961,25467,3.961,25468,6.284,25469,3.961,25470,3.961,25471,3.961,25472,3.475,25473,3.961,25474,3.668,25475,3.961,25476,3.961,25477,3.961,25478,3.668,25479,3.961,25480,3.961,25481,3.961,25482,3.961,25483,3.961,25484,5.819,25485,3.961,25486,3.961,25487,6.284,25488,6.284,25489,7.81,25490,7.81,25491,6.284,25492,6.284,25493,3.668,25494,3.961,25495,3.961,25496,3.331,25497,6.284,25498,3.961,25499,3.961,25500,3.961,25501,3.961,25502,3.475,25503,3.961,25504,3.961,25505,3.961,25506,3.961,25507,3.961,25508,6.284,25509,3.961,25510,3.668,25511,3.961]],["title/additional-documentation/nestjs-application/file-structure.html",[5,0.005,869,2.426,1388,2.943,5968,3.55]],["body/additional-documentation/nestjs-application/file-structure.html",[0,0.386,2,0.355,3,0.006,5,0.011,9,2.542,27,0.375,30,0.001,31,0.564,32,0.068,34,0.57,36,1.157,72,4.064,95,0.062,100,3.517,101,0.013,103,0,104,0,112,0.543,127,1.667,129,0.996,134,2.457,135,1.049,141,2.982,148,0.688,153,1.141,159,0.343,161,1.299,180,1.424,185,1.874,190,1.444,194,1.305,200,2.131,205,2.054,206,3.103,223,1.036,252,3.382,254,4.136,255,1.272,258,1.295,259,1.99,260,3.552,268,2.028,274,2.907,276,2.14,290,1.645,314,4.027,317,1.506,325,2.717,326,1.268,329,2.028,339,2.36,349,2.785,371,5.576,379,1.698,400,0.993,407,2.311,409,2.122,412,5.615,413,2.028,415,1.897,433,0.411,507,1.469,512,4.521,527,1.412,543,3.903,561,1.497,585,4.008,589,0.729,610,4.841,612,4.669,613,3.196,627,2.926,641,1.897,657,1.252,675,4.521,688,2.582,694,2.444,703,2.159,734,3.377,796,5.065,807,2.558,810,2.444,812,3.524,813,1.865,871,1.221,876,1.732,981,3.325,997,5.997,998,2.582,1072,4.994,1083,3.084,1089,1.667,1172,5.207,1193,3.62,1211,2.149,1213,2.122,1218,2.177,1220,1.913,1222,2.627,1226,2.926,1238,2.558,1372,5.304,1373,4.183,1380,6.024,1381,2.24,1388,4.141,1393,5.05,1472,1.865,1563,2.149,1585,2.028,1626,1.85,1627,4.994,1821,1.618,1831,2.208,1832,3.48,1833,2.708,1847,4.6,1856,1.913,1861,5.847,1862,2.921,1869,6.531,1882,2.652,1884,7.202,1885,2.627,1899,3.571,1918,2.311,1921,2.311,2087,1.443,2139,1.913,2163,1.542,2233,3.73,2327,3.439,2344,2.028,2357,3.111,2392,2.087,2476,2.558,2525,1.794,2545,4.48,2547,5.057,2552,2.805,2553,2.926,2609,3.413,2614,5.398,2616,2.274,2769,1.821,2808,2.208,2856,6.693,2880,2.05,2881,1.592,2884,4.183,2904,2.708,3005,1.574,3014,4.602,3211,1.835,3332,2.558,3564,3.48,3681,2.396,3727,2.097,3767,6.363,3924,2.208,4002,3.929,4030,2.007,4167,4.309,4168,2.311,4169,2.498,4188,3.791,4189,4.195,4190,2.149,4315,2.05,4354,2.149,4479,2.926,4777,2.805,4819,3.138,4858,3.524,4883,2.498,5003,4.441,5027,1.698,5051,2.558,5091,1.781,5093,2.177,5175,4.819,5176,2.122,5187,3.336,5198,4.943,5231,3.439,5256,2.805,5257,5.847,5301,5.207,5316,2.926,5357,6.1,5968,2.396,6119,4.101,6233,2.444,6243,2.558,6735,2.028,7083,3.089,7120,2.24,7127,2.396,7407,4.994,7414,3.791,7419,2.708,7451,4.669,7824,4.025,8015,4.441,8070,2.558,8472,2.558,8724,2.498,9039,2.558,9562,2.444,9744,6.439,9888,2.558,9897,2.805,9989,6.991,10525,2.558,11198,3.089,11203,3.089,11242,2.558,11272,5.645,11273,2.708,11274,2.805,11275,2.805,11388,2.926,11405,4.6,11406,2.627,11561,2.498,11570,2.396,12370,2.805,12419,2.708,12588,2.805,13002,2.708,13034,5.065,13035,2.558,13335,2.926,13373,2.926,13822,2.558,13855,4.6,13977,6.995,14298,2.926,15155,4.309,15475,2.311,16363,2.708,16406,3.089,16467,3.089,16468,3.089,16469,3.089,16470,2.926,16508,2.926,16734,2.498,16772,6.1,17253,2.627,18048,2.627,18914,4.6,18976,3.089,19420,6.336,20287,6.853,20525,2.926,20699,5.333,21497,4.6,21589,3.089,22954,7.515,24592,4.441,24601,2.805,24616,2.805,24617,5.477,24626,2.926,24635,5.847,24637,2.708,24643,2.926,24645,2.805,24685,3.089,24687,2.708,24771,2.926,24777,2.926,24794,2.926,24798,3.089,24872,3.089,24909,2.708,24974,2.926,25075,6.439,25145,2.926,25152,2.805,25168,3.089,25186,2.805,25214,3.089,25215,4.441,25222,2.805,25229,6.765,25230,6.1,25238,2.805,25281,5.847,25287,4.6,25326,3.089,25327,6.1,25328,2.926,25331,3.089,25426,2.926,25432,2.926,25433,2.805,25436,2.926,25493,3.089,25512,7.449,25513,4.799,25514,6.439,25515,3.089,25516,3.335,25517,5.47,25518,9.541,25519,8.044,25520,3.335,25521,3.335,25522,3.335,25523,5.47,25524,8.044,25525,3.335,25526,3.335,25527,3.335,25528,3.335,25529,5.47,25530,2.926,25531,3.335,25532,3.335,25533,3.335,25534,3.335,25535,3.335,25536,3.335,25537,3.335,25538,3.335,25539,3.335,25540,3.335,25541,3.335,25542,3.335,25543,3.335,25544,3.089,25545,3.335,25546,3.335,25547,3.335,25548,3.335,25549,3.335,25550,3.335,25551,3.335,25552,3.335,25553,3.335,25554,3.335,25555,3.335,25556,3.335,25557,3.089,25558,3.335,25559,3.089,25560,5.065,25561,3.335,25562,3.335,25563,3.335,25564,3.335,25565,3.335,25566,3.335,25567,3.335,25568,3.335,25569,3.335,25570,3.335,25571,3.335,25572,3.335,25573,3.335,25574,3.335,25575,3.335,25576,3.335,25577,3.335,25578,3.089,25579,3.335,25580,3.335,25581,3.335,25582,3.335,25583,3.335,25584,3.089,25585,3.335,25586,3.335,25587,3.335,25588,3.335,25589,3.335,25590,3.335,25591,6.439,25592,2.926,25593,5.47,25594,3.335,25595,3.335,25596,3.335,25597,3.335,25598,3.335,25599,3.335]],["title/additional-documentation/nestjs-application/api-design.html",[869,2.426,1372,2.601,1388,2.943,25222,4.156]],["body/additional-documentation/nestjs-application/api-design.html",[30,0.001,103,0.001,104,0.001,24972,10.049]],["title/additional-documentation/nestjs-application/logging.html",[869,2.835,1388,3.44,7412,4.325]],["body/additional-documentation/nestjs-application/logging.html",[0,0.36,3,0.015,8,0.918,26,1.638,30,0.001,39,3.227,95,0.091,101,0.014,103,0.001,104,0.001,148,0.787,153,1.305,159,0.818,183,3.035,228,1.442,242,4.189,252,2.103,339,3.632,400,3.111,412,4.622,515,4.345,528,4.026,567,3.025,578,4.16,622,8.227,641,4.525,688,3.756,711,2.358,734,3.34,997,5.002,1027,2.438,1042,5.267,1080,3.601,1115,4.921,1237,3.08,1381,7.014,1422,5.071,1423,4.93,1426,3.571,1472,4.45,2445,5.842,2446,3.717,2525,4.28,2537,5.002,2551,5.343,2614,7.525,2855,5.715,4354,5.127,4656,4.787,4856,6.103,4908,9.169,5056,6.981,5093,7.611,5257,6.692,6229,3.246,6249,6.46,6329,5.514,7312,6.46,7412,9.27,7801,5.611,7852,5.831,9895,7.369,9926,6.268,13638,9.163,13639,6.981,13686,6.692,15162,6.46,15746,6.692,20700,6.268,20727,6.981,22756,8.011,24816,6.268,24858,7.369,24909,6.46,25215,6.46,25600,7.957,25601,7.957,25602,7.957,25603,10.445,25604,7.957,25605,7.957,25606,7.957,25607,7.957,25608,7.957,25609,7.957,25610,7.957,25611,7.957,25612,7.957,25613,7.957,25614,7.369,25615,7.369,25616,7.957]],["title/additional-documentation/nestjs-application/exception-handling.html",[869,2.426,1388,2.943,1472,2.763,7411,3.55]],["body/additional-documentation/nestjs-application/exception-handling.html",[0,0.317,9,3.066,30,0.001,31,0.369,32,0.15,47,0.813,48,5.625,51,4.414,72,4.21,101,0.012,103,0,104,0,129,3.163,135,0.861,148,0.653,153,1.88,155,2.093,159,0.678,193,2.867,223,2.856,228,1.667,231,1.144,233,2.059,234,5.06,244,4.834,252,1.743,338,5.653,339,3.108,400,1.965,403,4.655,409,4.197,412,4.688,512,4.684,516,3.497,525,3.449,529,3.63,561,4.129,579,3.032,585,4.834,629,3.473,652,1.345,711,1.955,734,2.769,810,4.834,871,3.368,998,5,1080,4.683,1115,4.778,1220,6.077,1237,2.713,1302,3.659,1328,3.497,1355,3.785,1371,6.109,1372,4.843,1373,6.373,1379,6.608,1381,8.382,1388,5.479,1390,4.099,1396,4.25,1422,5.113,1426,2.961,1468,3.114,1472,7.517,1477,3.426,1478,3.575,1713,5.356,1721,5.548,1729,6.109,1832,4.197,1983,4.43,2105,8.344,2357,3.752,2542,5.548,2544,3.969,2551,4.43,2614,7.588,2802,2.64,2805,4.366,3332,5.06,3585,4.738,3767,6.188,4167,5.197,4186,9.785,4187,5.356,4354,6.825,4908,4.498,5051,5.06,5093,4.307,5231,5.783,6251,5.548,6329,4.572,7411,4.738,7412,6.889,7418,5.548,8951,5.356,9888,8.124,9946,5.06,9952,6.109,9954,5.548,11406,5.197,12571,6.109,13409,5.788,15164,5.356,16403,5.548,23108,6.109,24585,5.548,24663,6.109,24816,5.197,24976,12.291,25433,5.548,25496,5.548,25544,6.109,25617,6.109,25618,6.597,25619,9.2,25620,6.597,25621,6.597,25622,6.597,25623,6.597,25624,6.597,25625,6.597,25626,6.597,25627,6.597,25628,6.597,25629,6.597,25630,6.597,25631,6.597,25632,6.109,25633,6.597,25634,6.597,25635,6.597,25636,6.597,25637,6.109,25638,6.597]],["title/additional-documentation/nestjs-application/domain-object-validation.html",[185,1.48,869,2.12,1373,2.598,1388,2.572,1882,1.647]],["body/additional-documentation/nestjs-application/domain-object-validation.html",[0,0.315,30,0.001,103,0.001,104,0.001,122,1.906,159,1.173,185,4.597,304,5.633,412,4.042,507,4.024,525,4.775,532,3.389,543,4.432,628,5.44,711,2.707,813,6.38,1213,5.812,1373,5.495,1784,6.134,1832,5.812,1882,5.117,1924,6.33,2032,3.472,2233,6.228,2511,6.795,2536,7.681,2544,6.864,2551,7.662,2609,4.483,2614,5.553,2828,8.544,2856,5.812,2913,6.561,2928,5.222,3128,4.119,3384,5.24,3773,7.681,4873,6.561,6226,8.014,6233,6.693,8943,6.84,9575,6.046,11641,8.987,15155,7.195,20552,7.006,20699,7.006,24612,7.416,24718,9.595,24750,7.416,24874,8.459,25145,8.014,25427,8.459,25591,13.104,25639,9.134,25640,9.134,25641,9.134,25642,9.134,25643,11.41,25644,9.134,25645,9.134,25646,9.134,25647,9.134,25648,11.41,25649,9.134]],["title/additional-documentation/nestjs-application/testing.html",[869,2.835,1388,3.44,13176,4.148]],["body/additional-documentation/nestjs-application/testing.html",[0,0.184,27,0.158,29,0.408,30,0.001,31,0.298,32,0.098,35,0.466,36,1.669,51,1.112,72,4.471,79,3.529,94,1.173,95,0.026,96,0.611,100,0.809,103,0,104,0,110,1.391,129,1.201,130,1.74,131,1.18,135,1.419,141,3.384,146,1.581,148,0.781,153,0.38,157,0.926,183,0.884,205,0.82,206,1.733,219,2.249,252,2.37,255,2.426,259,1.938,270,0.891,271,0.872,274,1.682,276,0.907,289,3.084,290,0.951,304,1.145,314,0.887,317,2.402,335,1.557,339,2.962,347,1.188,371,3.372,407,1.607,409,2.559,411,1.736,412,4.814,413,1.409,417,1.296,512,1.18,527,4.397,528,3.218,531,4.125,537,1.266,543,4.351,550,1.354,567,2.736,585,1.699,610,2.507,612,2.701,614,1.641,619,1.665,624,4.764,629,1.22,640,1.425,641,3.618,657,2.31,685,2.35,688,1.094,734,3.312,756,0.917,804,3.012,810,1.699,873,1.475,981,7.939,982,1.826,985,2.329,998,4.233,1029,2.701,1040,1.607,1042,1.534,1043,1.607,1072,1.665,1080,3.581,1083,3.587,1088,1.089,1089,1.158,1094,1.778,1212,3.433,1213,1.475,1218,2.626,1220,1.33,1222,1.826,1223,1.736,1224,3.827,1225,5.891,1267,1.665,1328,2.133,1372,4.721,1380,1.736,1381,1.557,1390,1.441,1392,3.529,1393,4.487,1434,1.494,1561,4.485,1564,2.147,1607,1.95,1626,1.286,1627,1.665,1714,3.012,1783,1.425,1784,2.701,1831,1.534,1832,1.475,1834,1.699,1846,1.826,1918,3.693,1921,2.788,1924,1.607,1925,1.409,1927,5.761,1928,2.948,2032,1.529,2139,1.33,2163,1.86,2229,1.699,2231,1.318,2232,2.445,2312,1.699,2365,2.034,2444,2.956,2483,4.661,2511,1.381,2512,3.618,2525,4.557,2537,3.35,2544,2.42,2545,8.379,2547,1.457,2552,1.95,2555,2.034,2581,1.778,2582,2.529,2602,1.409,2609,4.158,2614,5.938,2615,5.38,2616,4.338,2671,0.748,2769,1.266,2805,1.534,2808,2.663,2828,1.736,2831,1.778,2856,1.475,2880,1.425,2884,2.42,2891,4.569,2899,4.879,2904,1.882,2921,1.699,2966,3.383,3211,1.276,3287,2.288,3370,1.041,3382,1.061,3384,1.33,3388,1.188,3585,1.665,3601,2.35,3706,1.635,3767,2.35,3770,7.046,3862,1.826,3924,1.534,4168,2.788,4188,1.607,4189,1.778,4190,1.494,4291,3.012,4481,2.034,4866,1.699,4872,2.743,4873,1.665,4883,1.736,4906,1.534,4920,1.826,4952,4.661,5027,2.048,5051,3.085,5091,1.238,5093,3.479,5099,1.826,5175,2.788,5198,1.425,5231,4.525,5254,1.635,5270,1.778,5272,1.826,5273,2.147,5277,1.699,5357,2.034,5736,1.494,5746,1.513,5868,3.311,5968,5.17,5974,1.95,6119,2.373,6167,2.788,6233,2.948,6243,1.778,6245,1.736,6246,1.882,6247,1.778,6277,1.95,6489,1.882,7078,1.95,7209,1.534,7411,2.889,7451,1.557,7500,1.665,7504,1.736,7728,4.485,7800,1.513,7801,1.635,7811,1.736,7824,1.342,7851,3.527,7899,6.315,8018,1.826,8472,3.085,8752,3.085,8775,1.826,8782,3.529,8788,3.383,8885,2.034,9022,3.383,9039,3.085,9042,1.95,9126,2.948,9353,3.169,9562,2.948,9896,6.571,10321,7.628,11242,5.521,11243,2.147,11406,7.064,11435,1.778,11637,1.354,11643,1.665,11652,1.581,11748,1.826,12050,2.147,12065,3.085,12334,3.169,12396,1.95,12473,5.909,12503,5.909,12629,1.882,12638,2.147,13035,1.778,13176,7.964,13399,1.95,13687,2.147,13822,3.085,14163,4.326,14197,1.882,14308,1.95,14571,2.034,14804,1.882,15055,2.147,15104,2.034,15155,1.826,15162,1.882,15163,2.147,15164,1.882,15235,1.736,15432,1.826,15475,3.693,15742,3.725,15746,3.383,16250,1.95,16560,3.266,16730,3.383,16894,2.147,17253,1.826,18054,4.087,18359,1.95,18369,1.882,18601,1.95,18681,1.826,19324,2.034,19366,2.034,19501,3.529,20292,1.95,20552,1.778,20699,3.085,20784,2.034,21497,1.95,21624,3.085,21674,3.529,21676,2.147,21682,2.147,21876,1.95,22120,1.95,22150,3.725,22152,4.879,22153,5.891,22157,5.891,22162,5.581,22808,3.529,22954,3.169,23829,4.935,24502,2.034,24530,2.147,24586,3.085,24588,3.383,24597,3.383,24608,1.778,24612,1.882,24614,2.034,24617,5.011,24637,1.882,24652,1.95,24664,2.147,24667,2.147,24670,2.147,24672,2.147,24682,1.882,24683,1.95,24687,1.882,24688,2.147,24702,2.147,24703,2.147,24718,3.383,24735,3.529,24750,4.326,24774,2.147,24777,2.034,24782,2.147,24789,2.034,24795,2.034,24857,2.034,24863,2.034,24895,2.034,24909,1.882,24972,2.034,25076,2.147,25094,2.147,25128,2.147,25155,2.147,25159,2.147,25165,2.034,25199,2.034,25212,1.95,25229,1.95,25230,2.034,25238,4.481,25253,4.935,25255,3.725,25281,1.95,25287,7.541,25325,2.034,25391,2.147,25423,2.147,25432,2.034,25433,1.95,25436,3.529,25439,2.034,25452,2.147,25459,2.147,25461,2.147,25472,3.529,25474,2.147,25478,9.046,25496,3.383,25502,3.529,25510,3.725,25512,4.935,25513,2.034,25514,3.725,25515,2.147,25530,3.529,25559,2.147,25560,2.147,25584,2.147,25615,2.147,25617,2.147,25632,2.147,25650,2.318,25651,2.318,25652,2.318,25653,2.034,25654,2.318,25655,5.329,25656,8.472,25657,2.318,25658,4.023,25659,2.318,25660,2.318,25661,4.023,25662,2.318,25663,2.318,25664,2.318,25665,2.034,25666,2.318,25667,2.318,25668,2.318,25669,2.318,25670,2.318,25671,2.318,25672,2.318,25673,2.318,25674,2.318,25675,2.318,25676,2.318,25677,2.318,25678,6.361,25679,2.318,25680,2.147,25681,2.318,25682,2.318,25683,2.147,25684,2.318,25685,2.318,25686,7.89,25687,2.318,25688,2.318,25689,2.318,25690,2.318,25691,2.318,25692,2.147,25693,3.725,25694,4.023,25695,7.198,25696,4.023,25697,2.318,25698,2.318,25699,2.034,25700,2.318,25701,5.329,25702,4.023,25703,4.023,25704,7.89,25705,4.023,25706,2.318,25707,2.318,25708,2.147,25709,2.034,25710,5.329,25711,2.318,25712,5.329,25713,4.023,25714,7.198,25715,4.023,25716,5.329,25717,2.318,25718,2.318,25719,2.318,25720,4.023,25721,8.472,25722,2.318,25723,2.318,25724,2.318,25725,2.318,25726,2.318,25727,2.318,25728,2.318,25729,2.318,25730,2.318,25731,2.318,25732,2.318,25733,2.318,25734,2.318,25735,2.318,25736,2.318,25737,2.318,25738,2.318,25739,4.023,25740,2.318,25741,2.147,25742,5.329,25743,2.318,25744,2.318,25745,2.318,25746,2.318,25747,5.329,25748,2.318,25749,4.023,25750,4.023,25751,2.318,25752,2.318,25753,2.318,25754,2.318,25755,2.318,25756,4.023,25757,4.023,25758,4.023,25759,5.329,25760,2.318,25761,2.318,25762,4.023,25763,4.023,25764,4.023,25765,5.329,25766,2.318,25767,2.318,25768,2.318,25769,4.023,25770,2.318,25771,4.023,25772,2.318,25773,2.318,25774,2.318,25775,2.318,25776,4.023,25777,4.023,25778,2.318,25779,2.318,25780,2.318,25781,2.318,25782,7.198,25783,2.318,25784,5.329,25785,2.147,25786,2.034,25787,2.318,25788,2.318,25789,2.318,25790,2.318,25791,2.318,25792,2.318,25793,2.318,25794,2.318,25795,6.361,25796,2.318,25797,2.318,25798,4.023,25799,4.023,25800,2.318,25801,4.023,25802,2.318,25803,2.318,25804,2.318,25805,2.318,25806,2.318,25807,2.318,25808,2.318,25809,2.147,25810,2.318,25811,2.318,25812,2.318,25813,2.318,25814,2.318,25815,2.318,25816,4.023,25817,2.318,25818,2.318,25819,2.318,25820,2.318,25821,2.318,25822,2.318,25823,2.318,25824,2.318,25825,2.318,25826,2.318,25827,2.318]],["title/additional-documentation/nestjs-application/vscode.html",[869,2.835,1388,3.44,24590,4.689]],["body/additional-documentation/nestjs-application/vscode.html",[5,0.011,30,0.001,72,4.487,103,0.001,104,0.001,561,5.349,640,6.024,806,7.519,876,5.091,981,5.96,2312,7.184,2545,7.678,2773,6.685,2808,6.489,3767,6.962,4189,7.519,4190,7.678,5091,6.363,5187,5.718,5294,7.959,5301,7.341,7209,6.489,7408,8.244,8943,7.341,12505,6.912,15713,8.601,22152,9.14,24590,9.676,24618,10.456,24876,9.079,25037,8.601,25151,9.079,25202,11.891,25228,9.079,25235,8.244,25287,8.244,25327,8.601,25361,9.079,25398,9.079,25429,8.244,25530,8.601,25592,10.456,25828,9.804,25829,9.804,25830,9.804,25831,9.804,25832,9.804,25833,9.804,25834,9.804]],["title/additional-documentation/nestjs-application/git.html",[869,2.835,1388,3.44,24591,4.857]],["body/additional-documentation/nestjs-application/git.html",[30,0.001,31,0.425,55,2.285,72,3.47,77,4.885,103,0,104,0.001,129,2.264,155,2.405,157,1.745,271,2.852,379,3.86,407,5.254,412,3.355,561,3.403,567,2.882,813,6.366,876,3.937,984,6.376,998,5.374,1088,3.56,1115,2.902,1222,5.972,1223,5.677,1393,4.311,1624,6.376,1625,6.155,1626,5.611,1784,6.793,1831,7.535,1850,7.132,1920,5.018,1925,4.609,1936,3.56,1938,4.078,1944,10.273,1945,9.987,2087,3.28,2090,6.376,2231,4.311,2327,4.766,2357,4.311,2511,4.515,2525,4.078,2545,6.517,2547,4.766,2602,4.609,2614,6.92,2881,4.827,3071,4.561,3706,5.346,4858,4.885,4870,4.885,4875,5.677,4879,5.346,5091,4.048,5175,5.254,5272,5.972,5746,7.432,6119,4.471,6157,5.445,6158,5.445,6247,5.815,6512,8.156,7082,8.875,7414,5.254,7681,4.766,7796,5.972,8724,5.677,9896,5.555,11639,7.758,13832,6.652,13855,6.376,15104,6.652,16651,6.652,18054,5.815,18682,6.652,21505,7.021,24591,10.213,24607,6.652,24612,6.155,24622,6.652,24623,6.652,24635,9.573,24639,8.507,24683,10.213,24684,7.021,24816,7.968,24863,9.987,24940,7.021,25097,7.021,25215,9.242,25241,7.021,25262,8.875,25429,8.507,25449,7.021,25513,8.875,25557,7.021,25785,7.021,25786,6.652,25835,7.582,25836,7.582,25837,7.582,25838,7.582,25839,7.582,25840,7.582,25841,7.582,25842,7.582,25843,7.582,25844,7.582,25845,7.582,25846,7.582,25847,7.582,25848,7.582,25849,10.116,25850,7.582,25851,7.582,25852,10.116,25853,7.582,25854,7.582,25855,7.582,25856,7.582,25857,7.582,25858,7.582,25859,7.582,25860,7.582,25861,7.582,25862,7.582,25863,7.582,25864,7.582]],["title/additional-documentation/nestjs-application/keycloak.html",[618,3.721,869,2.835,1388,3.44]],["body/additional-documentation/nestjs-application/keycloak.html",[5,0.004,18,2.286,30,0.001,31,0.61,51,3.342,53,6.228,78,8.206,87,3.502,95,0.109,101,0.013,103,0,104,0,157,1.603,180,1.929,189,4.28,259,1.643,270,1.736,271,1.699,290,1.647,339,3.198,374,1.955,376,5.104,407,3.131,411,3.383,412,4.227,561,3.126,567,2.647,618,8.84,619,3.245,641,2.569,648,2.84,734,1.897,794,3.311,810,3.311,814,5.857,816,3.131,876,5.358,981,4.234,1060,3.081,1083,2.547,1169,2.615,1170,5.343,1283,3.186,1355,3.996,1372,3.666,1381,3.034,1471,3.311,1595,5.655,1619,5.223,1626,3.863,1826,3.569,1831,4.61,1899,2.949,1920,2.99,2060,3.245,2124,3.692,2163,5.423,2220,4.635,2231,2.569,2312,3.311,2344,2.746,2463,7.657,2468,2.807,2537,2.84,2546,5.89,2547,2.84,2551,3.034,2614,7.13,2802,1.808,2808,2.99,2856,2.875,2889,4.184,3077,8.023,3129,7.13,3211,3.833,3370,3.815,3382,2.068,3564,5.408,3765,5.707,3770,4.61,3860,3.081,4190,2.911,4243,6.519,4858,2.911,4859,7.913,4870,2.911,4872,5.795,4891,3.559,4892,5.993,4899,3.559,4906,4.61,4907,7.524,4908,4.749,4952,3.311,5027,4.327,5093,2.949,5186,8.38,5224,4.378,5256,3.799,5331,3.964,6119,2.665,6238,3.465,6291,3.964,6512,5.707,7352,3.383,7452,2.615,7681,4.378,7728,3.186,7800,4.547,8262,6.999,8943,5.216,9052,5.655,9126,5.104,9353,3.559,9896,3.311,10321,8.85,11652,8.656,11786,3.559,12043,3.799,12333,3.465,12389,2.776,12922,6.365,13176,6.105,13599,6.322,14448,7.457,14547,7.457,14550,7.755,14554,3.799,14586,7.326,14682,3.964,14804,3.668,14806,4.184,15475,5.89,15713,3.964,16361,3.668,16391,6.9,16751,4.184,17019,3.799,19410,9.523,21679,3.964,22152,3.465,24586,3.465,24589,3.964,24611,3.964,24639,3.799,24687,3.668,24704,3.964,24744,4.184,24816,5.486,24846,4.184,24879,4.184,24911,4.184,24980,4.184,25220,9.052,25235,8.032,25295,10.973,25310,9.555,25311,7.871,25312,6.45,25313,6.45,25314,6.45,25315,8.845,25316,6.45,25317,6.45,25318,8.845,25320,4.184,25394,6.45,25683,4.184,25692,4.184,25699,3.964,25741,4.184,25865,4.518,25866,4.518,25867,4.518,25868,4.518,25869,9.552,25870,4.518,25871,4.518,25872,4.518,25873,6.965,25874,4.518,25875,4.518,25876,6.965,25877,4.518,25878,4.518,25879,4.518,25880,4.518,25881,4.518,25882,6.965,25883,6.965,25884,6.965,25885,6.965,25886,11.359,25887,6.965,25888,6.965,25889,6.965,25890,6.965,25891,4.518,25892,4.518,25893,4.518,25894,10.318,25895,6.965,25896,6.965,25897,4.518,25898,4.518,25899,6.965,25900,4.518,25901,4.518,25902,4.518,25903,4.518,25904,4.518,25905,4.518,25906,4.518,25907,4.518,25908,6.965,25909,4.518,25910,4.518,25911,6.965,25912,6.965,25913,4.518,25914,4.518,25915,4.518,25916,4.518,25917,4.518,25918,4.518,25919,4.518,25920,4.518,25921,4.518,25922,4.518]],["title/additional-documentation/nestjs-application/rocket.chat.html",[869,2.835,1388,3.44,25923,5.348]],["body/additional-documentation/nestjs-application/rocket.chat.html",[5,0.007,30,0.001,31,0.421,103,0,104,0,145,2.821,412,3.33,789,4.109,804,9.932,876,3.907,985,4.356,997,6.327,1082,5.306,1147,5.771,1193,6.662,1222,5.927,1282,5.927,1833,6.109,2163,4.653,2220,3.651,2463,9.558,2511,4.481,2614,7.672,2773,5.131,2802,4.027,3129,4.574,3382,3.444,3765,5.053,3766,4.624,3770,4.98,4190,4.848,4898,5.514,7352,5.635,8024,5.927,9126,5.514,10522,5.514,11652,6.863,11776,5.131,15619,6.328,16391,6.109,16772,6.602,17760,6.328,18681,5.927,18914,8.464,19410,6.109,21498,6.968,23843,6.328,24513,6.968,25220,6.602,25247,6.328,25295,11.073,25592,6.602,25923,10.502,25924,7.525,25925,7.525,25926,7.525,25927,7.525,25928,7.525,25929,10.065,25930,7.525,25931,7.525,25932,7.525,25933,7.525,25934,7.525,25935,7.525,25936,10.065,25937,7.525,25938,7.525,25939,7.525,25940,7.525,25941,7.525,25942,7.525,25943,7.525,25944,7.525,25945,7.525,25946,7.525,25947,7.525,25948,7.525,25949,7.525,25950,7.525,25951,7.525,25952,7.525,25953,7.525,25954,7.525,25955,7.525,25956,7.525,25957,7.525,25958,7.525,25959,7.525,25960,7.525,25961,7.525,25962,7.525,25963,7.525,25964,7.525,25965,7.525,25966,7.525,25967,7.525,25968,7.525,25969,7.525,25970,10.065,25971,10.065,25972,7.525,25973,7.525]],["title/additional-documentation/nestjs-application/configuration.html",[869,2.835,1388,3.44,2218,2.58]],["body/additional-documentation/nestjs-application/configuration.html",[30,0.001,31,0.488,34,1.043,55,2.038,102,3.237,103,0,104,0,129,1.823,153,1.002,155,1.937,157,1.406,183,2.329,193,3.785,255,2.329,316,4.9,347,3.129,409,5.542,412,2.702,413,3.712,414,6.481,415,3.472,511,3.334,528,3.089,561,3.91,567,2.321,613,3.567,614,2.683,734,4.263,802,4.041,807,4.683,812,3.934,876,3.17,897,5.134,981,3.712,982,4.809,984,10.537,997,3.838,998,4.794,1080,3.003,1115,2.337,1218,3.986,1355,3.503,1372,4.585,1390,5.413,1477,3.17,1627,6.256,1749,3.472,1783,3.752,1832,3.885,1884,7.195,1899,3.986,1918,4.231,1938,3.284,1944,8.99,2163,4.027,2218,2.727,2220,2.962,2231,3.472,2525,5.956,2544,6.662,2545,5.612,2546,6.037,2551,4.1,2564,5.612,2614,3.712,2615,4.163,2805,4.041,2831,6.681,2884,5.24,2896,4.809,2903,5.134,2906,5.134,3047,6.384,3382,2.794,3767,6.84,3770,7.329,4002,4.385,4189,6.681,4190,8.784,4243,4.683,4872,4.163,4956,4.957,5091,3.26,5175,4.231,5200,8.493,5272,4.809,5277,6.383,5326,5.356,5717,3.567,5868,5.413,5974,5.134,6119,5.137,6233,4.474,6245,4.572,6489,4.957,6512,4.1,6735,3.712,7120,4.1,7228,5.765,7312,4.957,7411,4.385,7412,4.572,7584,6.662,7681,5.476,7824,5.042,7829,4.683,8433,4.572,9294,4.957,10525,6.681,11223,4.809,11652,6.924,12395,4.809,12504,7.16,13176,4.385,13822,6.681,14803,8.245,15432,6.861,15475,4.231,16363,4.957,16734,4.572,16750,5.134,17017,4.957,18048,4.809,18054,4.683,19420,6.861,19903,5.356,22756,4.683,23843,5.134,24585,7.325,24586,4.683,24587,5.356,24588,5.134,24589,5.356,24590,4.957,24591,7.325,24592,7.072,24593,5.356,24594,5.356,24595,5.356,24596,8.066,24597,7.325,24598,5.654,24599,5.654,24600,5.654,24601,5.134,24602,5.356,24603,8.066,24604,5.134,24605,5.134,24606,8.066,24607,5.356,24608,4.683,24609,5.134,24610,5.356,24611,5.356,24612,4.957,24613,5.654,24614,5.356,24615,5.654,24616,5.134,24617,4.809,24618,5.356,24619,8.066,24620,8.066,24621,8.909,24622,10.272,24623,5.356,24624,5.654,24625,8.066,24626,5.356,24627,5.654,24628,5.654,24629,5.654,24630,8.066,24631,8.066,24632,5.654,24633,5.654,24634,5.654,24635,5.134,24636,5.654,24637,4.957,24638,5.654,24639,7.325,24640,5.654,24641,5.134,24642,5.654,24643,5.356,24644,5.654,24645,5.134]],["title/additional-documentation/nestjs-application/authorisation.html",[869,2.835,1388,3.44,3862,4.549]],["body/additional-documentation/nestjs-application/authorisation.html",[0,0.076,5,0.005,8,0.445,9,1.026,10,1.543,26,1.892,27,0.087,30,0.001,31,0.345,32,0.048,33,0.101,34,0.877,47,0.622,72,4.379,74,1.694,94,1.117,101,0.007,103,0,104,0,122,1.071,134,1.363,135,1.564,141,1.654,146,1.506,148,0.866,153,1.145,157,0.508,159,0.227,183,3.777,185,2.63,193,0.96,194,2.407,195,1.346,197,1.072,205,1.873,206,1.67,223,0.686,228,0.93,231,0.383,233,0.689,252,2.528,254,1.389,260,1.436,290,3.064,304,1.904,316,1.066,317,1.513,326,2.654,330,5.697,331,4.513,371,2.044,376,3.761,400,0.658,409,3.914,412,4.63,413,1.343,417,1.235,512,1.964,527,0.935,528,2.597,531,3.651,537,1.206,561,0.991,567,1.466,571,2.433,585,1.618,589,0.294,595,0.834,610,4.628,612,4.689,613,3.594,614,0.68,626,1.938,640,3.78,641,2.193,652,1.254,653,0.912,657,1.889,693,3.18,700,1.066,701,1.066,702,1.09,703,3.505,711,1.143,734,3.676,756,0.874,806,1.694,810,3.761,812,3.307,813,5.139,816,1.531,876,1.147,886,1.615,983,1.423,985,5.069,997,1.388,998,1.043,1083,3.937,1092,2.59,1097,1.557,1197,5.798,1213,2.454,1218,5.999,1224,3.687,1237,0.651,1311,4.016,1328,1.171,1372,3.238,1381,1.483,1388,3.664,1390,1.372,1393,2.919,1475,8.3,1477,1.147,1563,3.307,1567,2.045,1568,1.531,1585,1.343,1623,1.938,1626,3.873,1775,1.215,1778,4.824,1783,3.154,1784,3.447,1799,6.126,1801,2.396,1821,2.491,1826,6.51,1831,2.553,1832,4.443,1833,1.793,1834,1.618,1835,1.976,1838,3.121,1842,1.006,1846,1.74,1851,2.958,1868,3.844,1882,4.238,1884,1.357,1885,6.045,1920,5.079,1921,1.531,1923,4.131,1924,2.673,1926,1.483,1927,1.303,1928,4.508,1929,5.015,1936,2.41,1938,3.756,1958,2.045,1961,4.201,1963,1.74,1981,1.423,1985,5.946,1986,1.793,1992,1.462,2026,2.505,2032,4.41,2037,2.454,2048,0.897,2134,2.719,2139,2.945,2163,2.373,2202,1.442,2220,1.072,2231,1.256,2233,2.63,2344,1.343,2345,2.045,2511,3.664,2512,1.256,2525,4.127,2526,4.168,2527,2.045,2537,1.388,2542,3.243,2544,1.329,2547,1.388,2564,6.57,2602,3.121,2614,7.054,2615,2.63,2616,5.233,2658,4.508,2739,6.334,2769,1.206,2802,0.884,2807,1.793,2823,1.74,2831,1.694,2856,4.883,2884,1.329,2896,1.74,2913,1.586,2928,1.011,2980,2.326,3005,3.622,3071,1.329,3078,5.822,3206,1.278,3332,3.937,3370,1.731,3380,1.793,3382,3.779,3383,2.485,3384,3.529,3388,4.903,3473,1.423,3564,5.254,3667,1.442,3670,2.59,3681,3.687,3705,1.423,3766,1.357,3767,2.253,3851,3.093,3864,1.654,3924,4.622,4166,1.793,4168,4.839,4187,1.793,4189,1.694,4190,4.499,4541,1.346,4777,1.857,4863,3.761,4873,1.586,4875,1.654,4879,1.557,4953,1.793,4957,2.59,4958,1.857,4971,5.191,5055,1.531,5089,1.483,5091,1.179,5093,6.464,5187,3.35,5198,2.37,5199,2.045,5202,1.74,5224,1.388,5231,3.867,5254,1.557,5277,5.117,5359,1.74,5746,2.518,5868,4.768,5968,2.77,6229,5.183,6238,1.694,6246,1.793,6329,1.531,6489,1.793,6512,1.483,6609,2.074,7120,1.483,7229,1.506,7407,1.586,7414,1.531,7450,1.586,7497,1.793,7504,2.888,7584,1.329,7681,3.867,7728,1.557,7758,1.938,7759,1.857,7801,1.557,7824,5.069,7826,1.586,7828,3.937,7842,1.74,7847,1.694,7958,2.045,8002,5.397,8010,2.59,8022,1.29,8029,2.826,8261,1.793,8343,1.423,8433,1.654,8752,1.694,9022,1.857,9080,2.888,9126,2.826,9140,5.079,9353,4.846,9562,1.618,9888,1.694,9896,3.761,9897,1.857,10522,1.618,11273,4.168,11435,1.694,11643,1.586,11649,1.74,11776,1.506,12243,1.857,12389,3.154,12401,1.557,12636,1.938,13181,4.754,13686,4.317,13824,1.793,14068,1.938,14308,1.857,14309,4.317,15060,3.571,15102,2.045,15155,3.038,15160,1.793,15235,1.654,15327,1.938,15432,3.038,15449,3.243,15475,2.673,15518,2.045,15529,2.045,15625,3.038,15746,1.857,15873,2.826,16363,3.131,16730,3.243,16734,1.654,16746,1.938,17253,1.74,17626,1.938,17667,3.571,17766,1.938,17792,2.045,17883,1.938,18048,1.74,18359,1.857,18681,3.038,19165,3.383,19983,1.938,20514,2.045,20699,5.886,21491,2.045,21497,1.857,21569,2.045,21672,6.733,21677,4.168,21703,5.697,21821,2.045,22206,2.045,22954,3.038,22955,2.045,24330,3.571,24502,8.063,24604,1.857,24608,3.937,24609,1.857,24616,1.857,24617,1.74,24637,1.793,24682,3.131,24687,5.669,24705,2.045,24713,1.857,24718,3.243,24738,1.938,24753,2.045,24794,3.383,24957,2.045,25037,5.397,25152,1.857,25161,2.045,25164,2.045,25186,1.857,25212,1.857,25231,2.045,25247,1.857,25248,1.938,25325,4.504,25399,2.045,25426,1.938,25429,3.243,25439,1.938,25455,4.754,25465,2.045,25472,1.938,25484,3.571,25502,4.504,25578,3.571,25614,2.045,25653,1.938,25665,1.938,25680,2.045,25693,2.045,25699,1.938,25708,2.045,25786,1.938,25809,3.571,25974,2.209,25975,2.209,25976,3.857,25977,2.209,25978,5.133,25979,2.209,25980,2.209,25981,2.045,25982,6.152,25983,3.857,25984,2.209,25985,2.209,25986,3.857,25987,3.857,25988,3.857,25989,2.209,25990,2.209,25991,3.857,25992,8.758,25993,2.209,25994,2.209,25995,2.209,25996,2.209,25997,2.209,25998,2.209,25999,2.209,26000,2.209,26001,2.209,26002,3.857,26003,2.209,26004,2.209,26005,2.209,26006,2.209,26007,5.133,26008,2.209,26009,3.857,26010,3.857,26011,2.209,26012,3.857,26013,2.209,26014,2.209,26015,2.209,26016,2.209,26017,2.209,26018,2.209,26019,2.209,26020,2.209,26021,2.209,26022,2.209,26023,2.209,26024,2.209,26025,3.857,26026,3.857,26027,2.209,26028,2.209,26029,2.209,26030,2.209,26031,3.857,26032,2.209,26033,2.209,26034,2.209,26035,2.209,26036,2.209,26037,2.209,26038,5.133,26039,2.209,26040,2.209,26041,2.209,26042,2.209,26043,2.209,26044,2.209,26045,2.209,26046,2.209,26047,5.133,26048,2.209,26049,6.152,26050,2.209,26051,2.209,26052,3.857,26053,2.209,26054,2.209,26055,2.209,26056,2.209,26057,2.209,26058,2.209,26059,2.209,26060,2.209,26061,2.209,26062,2.209,26063,2.209,26064,2.209,26065,3.857,26066,2.209,26067,2.209,26068,3.857,26069,2.209,26070,2.209,26071,2.209,26072,2.045,26073,2.209,26074,2.209,26075,2.209,26076,3.857,26077,2.209,26078,2.209,26079,2.209,26080,2.209,26081,2.209,26082,2.209,26083,2.209,26084,2.209,26085,2.209,26086,2.209,26087,2.209,26088,2.209,26089,2.209,26090,2.209,26091,2.209,26092,2.209]],["title/additional-documentation/nestjs-application/code-style.html",[869,2.426,998,2.333,1388,2.943,25709,4.336]],["body/additional-documentation/nestjs-application/code-style.html",[0,0.301,2,1.18,8,1.406,30,0.001,31,0.718,35,1.011,47,0.865,101,0.011,103,0.001,104,0.001,112,0.952,122,2.315,146,5.957,148,0.864,232,2.368,257,3.405,316,5.882,369,7.665,412,3.866,433,1.367,527,5.818,579,2.501,756,3.456,813,4.885,985,6.422,998,4.124,1080,3.825,1083,6.255,1783,5.369,1832,7.059,1838,5.311,1967,6.402,2032,3.321,2231,6.309,2357,4.968,2614,6.744,2616,5.957,3296,8.091,3566,7.347,3815,7.093,4200,8.091,5224,5.492,6284,7.665,7557,7.347,8943,6.542,12627,11.289,16687,6.882,17018,8.091,24608,6.701,24713,7.347,24981,8.091,25005,8.091,25221,8.091,25281,7.347,25496,7.347,25653,7.665,25665,9.733,25709,7.665,26072,8.091,26093,8.737,26094,8.737,26095,8.737,26096,8.737,26097,8.737,26098,8.737,26099,8.737,26100,8.737]],["title/additional-documentation/nestjs-application/s3clientmodule.html",[869,2.835,1388,3.44,12316,4.148]],["body/additional-documentation/nestjs-application/s3clientmodule.html",[0,0.384,30,0.001,31,0.494,101,0.016,103,0.001,104,0.001,135,1.455,176,5.644,219,4.928,228,1.597,252,3.234,254,3.174,259,4.058,276,3.448,407,8.483,412,5.417,433,1.086,567,3.35,589,1.175,610,3.473,641,5.012,652,1.797,734,4.683,806,6.76,813,4.928,1218,7.283,1835,4.516,2218,3.937,2232,5.358,2233,6.01,2614,5.358,2802,4.897,3851,4.431,4874,7.491,5272,6.942,7245,7.013,7246,6.6,7247,6.01,7248,6.01,7249,6.01,7250,6.01,8924,11.179,12019,9.787,12243,7.412,12329,7.412,12477,7.155,12478,6.458,14586,6.76,15625,6.942,18370,7.412,22954,6.942,22961,8.162,25637,8.162,25981,8.162,26101,8.814,26102,8.814,26103,8.814,26104,8.814,26105,8.814,26106,12.24,26107,8.814,26108,8.814,26109,8.814,26110,8.814]]],"invertedIndex":[["",{"_index":30,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"modules/AccountApiModule.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"interfaces/AccountConfig.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthCodeFailureLoggableException.html":{},"modules/AuthenticationApiModule.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"modules/AuthorizationModule.html":{},"classes/AuthorizationParams.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"modules/BoardApiModule.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"modules/ClassModule.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"modules/CoreModule.html":{},"interfaces/CoreModuleConfig.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"modules/ErrorModule.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FeathersError.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{},"classes/FileUrlParams.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"modules/GroupModule.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"interfaces/IdentityManagementConfig.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/InterceptorConfig.html":{},"modules/InterceptorModule.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"injectables/JwtAuthGuard.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Learnroom.html":{},"modules/LearnroomApiModule.html":{},"interfaces/LearnroomElement.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/LessonApiModule.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"modules/LessonModule.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"modules/NewsModule.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthApiModule.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"classes/ProvisioningDto.html":{},"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"modules/PseudonymModule.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"modules/RocketChatUserModule.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"modules/RoleModule.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"modules/TaskApiModule.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"modules/TaskModule.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawClientModule.html":{},"interfaces/TldrawConfig.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"interfaces/ToolVersion.html":{},"injectables/ToolVersionService.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"modules/UserApiModule.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"modules/ValidationModule.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"properties.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/api-design.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["0",{"_index":145,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthorizationHelper.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"interfaces/CleanOptions.html":{},"interfaces/CollectionFilePath.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/CopyHelperService.html":{},"injectables/CourseCopyService.html":{},"classes/DashboardEntity.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"injectables/FilesService.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"classes/GroupUcMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"interfaces/IGridElement.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/ListOauthClientsParams.html":{},"classes/LoginRequestBody.html":{},"injectables/LtiToolRepo.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/MetaTagExtractorService.html":{},"interfaces/MigrationOptions.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"classes/PaginationParams.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"classes/ReferencesService.html":{},"interfaces/RetryOptions.html":{},"injectables/RoomsService.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolMigrationService.html":{},"classes/Scope.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"classes/SortHelper.html":{},"classes/StorageProviderEncryptedStringType.html":{},"classes/StringValidator.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TldrawBoardRepo.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["0.0.19",{"_index":24447,"title":{},"body":{"dependencies.html":{}}}],["0.1.1",{"_index":24524,"title":{},"body":{"dependencies.html":{}}}],["0.1.13",{"_index":24554,"title":{},"body":{"dependencies.html":{}}}],["0.1.4",{"_index":24563,"title":{},"body":{"dependencies.html":{}}}],["0.1.7",{"_index":24581,"title":{},"body":{"dependencies.html":{}}}],["0.14.0",{"_index":24481,"title":{},"body":{"dependencies.html":{}}}],["0.4.0",{"_index":24467,"title":{},"body":{"dependencies.html":{}}}],["0.4.11",{"_index":24455,"title":{},"body":{"dependencies.html":{}}}],["0.5.1",{"_index":24577,"title":{},"body":{"dependencies.html":{}}}],["0.5.19",{"_index":24566,"title":{},"body":{"dependencies.html":{}}}],["0.5.2",{"_index":24538,"title":{},"body":{"dependencies.html":{}}}],["0.5.4",{"_index":24528,"title":{},"body":{"dependencies.html":{}}}],["0.5.9",{"_index":24456,"title":{},"body":{"dependencies.html":{}}}],["0.6.0",{"_index":24529,"title":{},"body":{"dependencies.html":{}}}],["0.7.0",{"_index":24565,"title":{},"body":{"dependencies.html":{}}}],["0.8.0",{"_index":24462,"title":{},"body":{"dependencies.html":{}}}],["0.8.1",{"_index":24532,"title":{},"body":{"dependencies.html":{}}}],["0.9.7",{"_index":24526,"title":{},"body":{"dependencies.html":{}}}],["0000d231816abba584714c9e",{"_index":25613,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["0000dcfbfb5c7a3f00bf21ab",{"_index":6711,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{}}}],["0000dcfbfb5c7a3f00bf21ab'})@ismongoid",{"_index":6707,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{}}}],["05",{"_index":25610,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["08",{"_index":20728,"title":{},"body":{"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["0]?.id",{"_index":14444,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["1",{"_index":756,"title":{"classes/ContextExternalToolIdParams-1.html":{},"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/FileDto-1.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/LessonUrlParams-1.html":{},"classes/LoginResponse-1.html":{},"interfaces/S3Config-1.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolIdParams-1.html":{},"classes/VideoConference-1.html":{}},"body":{"injectables/AccountRepo.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountValidationService.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"interfaces/CleanOptions.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardService.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/CopyHelperService.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/CustomParameterFactory.html":{},"classes/DashboardEntity.html":{},"injectables/DeleteFilesUc.html":{},"classes/DeletionExecutionParams.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/GridElement.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraSsoService.html":{},"interfaces/IGridElement.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/InstalledLibrary.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"interfaces/MigrationOptions.html":{},"classes/NewsScope.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OidcProvisioningService.html":{},"classes/PaginationParams.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/RecursiveSaveVisitor.html":{},"interfaces/RetryOptions.html":{},"injectables/RuleManager.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/Scope.html":{},"classes/ShareTokenBodyParams.html":{},"classes/SortHelper.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TldrawWsService.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserRepo.html":{},"classes/UsersList.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["1.0.0",{"_index":24549,"title":{},"body":{"dependencies.html":{}}}],["1.0.3",{"_index":24430,"title":{},"body":{"dependencies.html":{}}}],["1.0.5",{"_index":24508,"title":{},"body":{"dependencies.html":{}}}],["1.0.56",{"_index":24496,"title":{},"body":{"dependencies.html":{}}}],["1.0a",{"_index":15871,"title":{},"body":{"injectables/Lti11EncryptionService.html":{},"dependencies.html":{}}}],["1.1",{"_index":25798,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["1.1.1",{"_index":24546,"title":{},"body":{"dependencies.html":{}}}],["1.1.4",{"_index":24555,"title":{},"body":{"dependencies.html":{}}}],["1.15.2",{"_index":24474,"title":{},"body":{"dependencies.html":{}}}],["1.17.3",{"_index":24501,"title":{},"body":{"dependencies.html":{}}}],["1.2",{"_index":25799,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["1.2.0",{"_index":24472,"title":{},"body":{"dependencies.html":{}}}],["1.2.2",{"_index":24547,"title":{},"body":{"dependencies.html":{}}}],["1.21.2",{"_index":24471,"title":{},"body":{"dependencies.html":{}}}],["1.25.0",{"_index":24509,"title":{},"body":{"dependencies.html":{}}}],["1.25.1",{"_index":24449,"title":{},"body":{"dependencies.html":{}}}],["1.28.1",{"_index":24516,"title":{},"body":{"dependencies.html":{}}}],["1.3.4",{"_index":24431,"title":{},"body":{"dependencies.html":{}}}],["1.5.0",{"_index":24470,"title":{},"body":{"dependencies.html":{}}}],["1.6.0",{"_index":24476,"title":{},"body":{"dependencies.html":{}}}],["1.6.2",{"_index":24486,"title":{},"body":{"dependencies.html":{}}}],["1.9.4",{"_index":24540,"title":{},"body":{"dependencies.html":{}}}],["10",{"_index":758,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"interfaces/CleanOptions.html":{},"injectables/HydraOauthUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"interfaces/MigrationOptions.html":{},"classes/PaginationParams.html":{},"interfaces/RetryOptions.html":{},"license.html":{}}}],["10.0.1",{"_index":24442,"title":{},"body":{"dependencies.html":{}}}],["10.1.1",{"_index":24440,"title":{},"body":{"dependencies.html":{}}}],["10.2.4",{"_index":24438,"title":{},"body":{"dependencies.html":{}}}],["100",{"_index":745,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"interfaces/CleanOptions.html":{},"classes/DeletionExecutionParams.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapService.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["1000",{"_index":1743,"title":{},"body":{"injectables/AuthenticationService.html":{},"classes/CourseFactory.html":{},"classes/DeleteFilesConsole.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"injectables/S3ClientAdapter.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["10000",{"_index":21527,"title":{},"body":{"classes/TaskFactory.html":{}}}],["100000",{"_index":7992,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/FileRecordFactory.html":{},"classes/JwtTestFactory.html":{}}}],["1010",{"_index":24294,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["1055",{"_index":1941,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["10start",{"_index":25931,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["11",{"_index":24828,"title":{},"body":{"license.html":{}}}],["12.12.23",{"_index":19555,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["123",{"_index":15217,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["1234",{"_index":25842,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["12345",{"_index":21131,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["124",{"_index":16771,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["13",{"_index":4613,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/GroupUcMapper.html":{},"license.html":{}}}],["13.1.0",{"_index":24550,"title":{},"body":{"dependencies.html":{}}}],["13.6.7",{"_index":24583,"title":{},"body":{"dependencies.html":{}}}],["1337",{"_index":6044,"title":{},"body":{"injectables/CommonToolService.html":{},"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{},"injectables/ToolVersionService.html":{}}}],["14.14",{"_index":12088,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["1496",{"_index":11064,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["15",{"_index":5323,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"license.html":{}}}],["150",{"_index":4464,"title":{},"body":{"injectables/CardService.html":{},"injectables/ColumnBoardService.html":{}}}],["1547",{"_index":15326,"title":{},"body":{"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{}}}],["15672:15672",{"_index":25297,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["15:20:30.888",{"_index":25612,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["16",{"_index":24988,"title":{},"body":{"license.html":{}}}],["172.29.173.128",{"_index":25935,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["173",{"_index":2509,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["17t14:17:51.958+00:00",{"_index":20729,"title":{},"body":{"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["18.5.0",{"_index":24506,"title":{},"body":{"dependencies.html":{}}}],["19",{"_index":24648,"title":{},"body":{"license.html":{}}}],["1993",{"_index":25855,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["1996",{"_index":24834,"title":{},"body":{"license.html":{}}}],["2",{"_index":146,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"interfaces/CollectionFilePath.html":{},"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/IGridElement.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"controllers/LoginController.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["2.'})@apiresponse({status",{"_index":15794,"title":{},"body":{"controllers/LoginController.html":{}}}],["2.0",{"_index":6291,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/OauthClientBody.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["2.0.0",{"_index":24478,"title":{},"body":{"dependencies.html":{}}}],["2.0.1",{"_index":24445,"title":{},"body":{"dependencies.html":{}}}],["2.0.5",{"_index":24518,"title":{},"body":{"dependencies.html":{}}}],["2.1.0",{"_index":24437,"title":{},"body":{"dependencies.html":{}}}],["2.1.2",{"_index":24480,"title":{},"body":{"dependencies.html":{}}}],["2.1.5",{"_index":24514,"title":{},"body":{"dependencies.html":{}}}],["2.1375.0",{"_index":24469,"title":{},"body":{"dependencies.html":{}}}],["2.19.2",{"_index":24525,"title":{},"body":{"dependencies.html":{}}}],["2.2.5",{"_index":24451,"title":{},"body":{"dependencies.html":{}}}],["2.2.6",{"_index":24541,"title":{},"body":{"dependencies.html":{}}}],["2.3.2",{"_index":24510,"title":{},"body":{"dependencies.html":{}}}],["2.8.1",{"_index":24491,"title":{},"body":{"dependencies.html":{}}}],["2.8.32",{"_index":24453,"title":{},"body":{"dependencies.html":{}}}],["2.9.0",{"_index":24477,"title":{},"body":{"dependencies.html":{}}}],["20",{"_index":24832,"title":{},"body":{"license.html":{}}}],["200",{"_index":333,"title":{},"body":{"controllers/AccountController.html":{},"classes/AxiosResponseImp.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/H5PEditorController.html":{},"injectables/HydraOauthUc.html":{},"controllers/LoginController.html":{},"controllers/ShareTokenController.html":{},"controllers/SystemController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["2007",{"_index":24650,"title":{},"body":{"license.html":{}}}],["200})@apiinternalservererrorresponse({description",{"_index":23441,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["201",{"_index":3183,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/H5PEditorController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/ShareTokenController.html":{}}}],["202",{"_index":9034,"title":{},"body":{"injectables/DeletionClient.html":{},"controllers/DeletionRequestsController.html":{}}}],["2023",{"_index":20727,"title":{},"body":{"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["204",{"_index":3228,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"injectables/DeletionClient.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/TldrawController.html":{}}}],["204})@apiresponse({status",{"_index":3191,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/TldrawController.html":{}}}],["21.1.2",{"_index":24432,"title":{},"body":{"dependencies.html":{}}}],["23.3.0",{"_index":24512,"title":{},"body":{"dependencies.html":{}}}],["24",{"_index":7708,"title":{},"body":{"classes/CourseFactory.html":{},"classes/DeletionRequestBodyProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/ParentInfo.html":{}}}],["250",{"_index":3828,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["28",{"_index":25119,"title":{},"body":{"license.html":{}}}],["2984",{"_index":19274,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["2a$10$/dsztv5o6p5piw2ewjsxw.4nhovmjgba.qnwitmuz/uvuc40b.uhu",{"_index":584,"title":{},"body":{"classes/AccountFactory.html":{}}}],["2auth",{"_index":25257,"title":{},"body":{"todo.html":{}}}],["3",{"_index":3815,"title":{},"body":{"injectables/BoardManagementUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/LdapService.html":{},"license.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["3.0",{"_index":25226,"title":{},"body":{"properties.html":{}}}],["3.0.0",{"_index":24436,"title":{},"body":{"dependencies.html":{}}}],["3.0.1",{"_index":24439,"title":{},"body":{"dependencies.html":{}}}],["3.0.2",{"_index":24557,"title":{},"body":{"dependencies.html":{}}}],["3.1.0",{"_index":24543,"title":{},"body":{"dependencies.html":{}}}],["3.100.0",{"_index":24423,"title":{},"body":{"dependencies.html":{}}}],["3.13.0",{"_index":24558,"title":{},"body":{"dependencies.html":{}}}],["3.2.2",{"_index":24460,"title":{},"body":{"dependencies.html":{}}}],["3.3",{"_index":17020,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["3.3.4",{"_index":24539,"title":{},"body":{"dependencies.html":{}}}],["3.8.2",{"_index":24580,"title":{},"body":{"dependencies.html":{}}}],["30",{"_index":2878,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"classes/DeletionRequestBodyProps.html":{},"license.html":{}}}],["300",{"_index":15053,"title":{},"body":{"injectables/LdapService.html":{}}}],["3000:3000",{"_index":25968,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["302",{"_index":13460,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["3030/api/v3/docs",{"_index":25383,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["3030/docs",{"_index":25388,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["31",{"_index":25611,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["335",{"_index":13727,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["3532",{"_index":25856,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["389:389",{"_index":25895,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["3990",{"_index":1946,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["4",{"_index":8433,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/ExternalToolLogoService.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["4.0.0",{"_index":24429,"title":{},"body":{"dependencies.html":{}}}],["4.0.1",{"_index":24548,"title":{},"body":{"dependencies.html":{}}}],["4.1.6",{"_index":24572,"title":{},"body":{"dependencies.html":{}}}],["4.13.2",{"_index":24500,"title":{},"body":{"dependencies.html":{}}}],["4.14.0",{"_index":24499,"title":{},"body":{"dependencies.html":{}}}],["4.17.19",{"_index":24522,"title":{},"body":{"dependencies.html":{}}}],["4.18.2",{"_index":24571,"title":{},"body":{"dependencies.html":{}}}],["4.2.0",{"_index":24493,"title":{},"body":{"dependencies.html":{}}}],["4.2.5",{"_index":24482,"title":{},"body":{"dependencies.html":{}}}],["4.5.11",{"_index":24426,"title":{},"body":{"dependencies.html":{}}}],["4.5.16",{"_index":24425,"title":{},"body":{"dependencies.html":{}}}],["4.6.0",{"_index":24475,"title":{},"body":{"dependencies.html":{}}}],["4.x",{"_index":25290,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["400",{"_index":337,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"classes/ConsentRequestBody.html":{},"controllers/ElementController.html":{},"classes/ErrorMapper.html":{},"controllers/H5PEditorController.html":{},"controllers/LoginController.html":{},"classes/LoginRequestBody.html":{},"injectables/MetaTagExtractorService.html":{},"classes/OAuthRejectableBody.html":{},"controllers/ShareTokenController.html":{},"injectables/TldrawBoardRepo.html":{},"controllers/TldrawController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["400/bad",{"_index":25627,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["401",{"_index":6256,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"controllers/MetaTagExtractorController.html":{},"classes/OAuthRejectableBody.html":{}}}],["4011:80",{"_index":25883,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["403",{"_index":342,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"classes/ConsentRequestBody.html":{},"controllers/ElementController.html":{},"classes/ErrorMapper.html":{},"controllers/H5PEditorController.html":{},"controllers/LoginController.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"controllers/ShareTokenController.html":{},"controllers/TldrawController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["404",{"_index":345,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/ShareTokenController.html":{},"controllers/TldrawController.html":{},"todo.html":{}}}],["409/conflict",{"_index":25626,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["4096",{"_index":7974,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["43200",{"_index":2872,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"injectables/DeletionRequestService.html":{}}}],["4444",{"_index":25346,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["456",{"_index":15222,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["47494638",{"_index":10385,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["4xx",{"_index":12715,"title":{},"body":{"controllers/GroupController.html":{}}}],["5",{"_index":18365,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"license.html":{}}}],["5.0.0",{"_index":24464,"title":{},"body":{"dependencies.html":{}}}],["5.0.1",{"_index":24465,"title":{},"body":{"dependencies.html":{}}}],["5.0.3",{"_index":24503,"title":{},"body":{"dependencies.html":{}}}],["5.1.1",{"_index":24545,"title":{},"body":{"dependencies.html":{}}}],["5.13.20",{"_index":24527,"title":{},"body":{"dependencies.html":{}}}],["5.2.1",{"_index":24435,"title":{},"body":{"dependencies.html":{}}}],["5.5.3",{"_index":24434,"title":{},"body":{"dependencies.html":{}}}],["500",{"_index":9946,"title":{},"body":{"classes/ErrorMapper.html":{},"controllers/H5PEditorController.html":{},"classes/ListOauthClientsParams.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/ShareTokenController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["501",{"_index":20316,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["5069",{"_index":1995,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["5672",{"_index":25299,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["5672:5672",{"_index":25296,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["59",{"_index":14427,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["5xx",{"_index":12717,"title":{},"body":{"controllers/GroupController.html":{}}}],["6.0.0",{"_index":24488,"title":{},"body":{"dependencies.html":{}}}],["6.1.3",{"_index":24489,"title":{},"body":{"dependencies.html":{}}}],["6.2.2",{"_index":24542,"title":{},"body":{"dependencies.html":{}}}],["6.3.0",{"_index":24504,"title":{},"body":{"dependencies.html":{}}}],["6.9.7",{"_index":24551,"title":{},"body":{"dependencies.html":{}}}],["60",{"_index":7709,"title":{},"body":{"classes/CourseFactory.html":{},"classes/DeletionRequestBodyProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/ParentInfo.html":{},"injectables/S3ClientAdapter.html":{},"license.html":{}}}],["60000",{"_index":19052,"title":{},"body":{"injectables/RoleRepo.html":{},"injectables/TeamsRepo.html":{}}}],["64",{"_index":25839,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["699615164",{"_index":25250,"title":{},"body":{"todo.html":{}}}],["6b",{"_index":24905,"title":{},"body":{"license.html":{}}}],["6d",{"_index":24924,"title":{},"body":{"license.html":{}}}],["7",{"_index":11791,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/TaskUC.html":{},"license.html":{}}}],["7.0.0",{"_index":24492,"title":{},"body":{"dependencies.html":{}}}],["7.1.10",{"_index":24443,"title":{},"body":{"dependencies.html":{}}}],["7.3.1",{"_index":24559,"title":{},"body":{"dependencies.html":{}}}],["720",{"_index":2876,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["7776000",{"_index":9181,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["789",{"_index":15223,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["8",{"_index":12060,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/KeycloakSeedService.html":{},"interfaces/LibrariesContentType.html":{}}}],["8.1.0",{"_index":24484,"title":{},"body":{"dependencies.html":{}}}],["8.3.0",{"_index":24579,"title":{},"body":{"dependencies.html":{}}}],["8.8.2",{"_index":24458,"title":{},"body":{"dependencies.html":{}}}],["80",{"_index":25381,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["8080",{"_index":25353,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["8080:8080",{"_index":25312,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["8443:8443",{"_index":25313,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["86400000",{"_index":11853,"title":{},"body":{"classes/FileRecordFactory.html":{},"classes/TaskFactory.html":{}}}],["885",{"_index":24296,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["89504e47",{"_index":10383,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["9.0.0",{"_index":24517,"title":{},"body":{"dependencies.html":{}}}],["9.2.0",{"_index":24433,"title":{},"body":{"dependencies.html":{}}}],["9/._",{"_index":22100,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["90",{"_index":9345,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["9000:9000",{"_index":25304,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["9001",{"_index":25309,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["9001:9001",{"_index":25305,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["91",{"_index":17371,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["9229",{"_index":25342,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["99",{"_index":893,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"classes/PaginationParams.html":{}}}],["990",{"_index":11434,"title":{},"body":{"injectables/FederalStateService.html":{},"classes/LegacySchoolDo.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SchoolYearService.html":{}}}],["999",{"_index":24625,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["9])+(.html|.css|.mp4|.pdf|.doc|.png|.jpg|.gif|.min.js|.js|.ico|.txt|.min.css|.ttf|.svg|.woff|.ui.l|.mf.l",{"_index":12527,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{}}}],["9])+(.html|.css|.mp4|.pdf|.doc|.png|.jpg|.gif|.min.js|.js|.ico|.txt|.min.css|.ttf|.svg|.woff|.ui.l|.mf.l)')@isstring()@isnotempty",{"_index":12525,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{}}}],["9]{24",{"_index":3167,"title":{},"body":{"classes/BoardContextResponse.html":{},"classes/BoardResponse.html":{},"classes/CardResponse.html":{},"classes/CardSkeletonResponse.html":{},"classes/ColumnResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/CreateNewsParams.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FilterNewsParams.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/LessonCopyApiParams.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/SchoolInfoResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionItemResponse.html":{},"classes/TargetInfoResponse.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/UserInfoResponse.html":{}}}],["9a",{"_index":7944,"title":{},"body":{"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["_",{"_index":694,"title":{},"body":{"interfaces/AccountParams.html":{},"classes/GlobalErrorFilter.html":{},"controllers/LoginController.html":{},"modules/MongoMemoryDatabaseModule.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserFactory.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["_${now.getdate()}_${now.gethours()}_${now.getminutes()}_${now.getseconds",{"_index":5197,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["_.pick(params",{"_index":708,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["_.random(35).tostring(36)).join",{"_index":16388,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["_.snakecase(classname).touppercase",{"_index":12612,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["_.snakecase(exceptionname).touppercase",{"_index":12622,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["_.spec.ts",{"_index":25516,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["_.startcase(exceptionname",{"_index":12623,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["_.startcase(name",{"_index":12613,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["_.test.[ts|js",{"_index":25360,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["_.times(20",{"_index":16387,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["_.union(userpermissions",{"_index":23387,"title":{},"body":{"classes/UserFactory.html":{}}}],["_\\w\\d",{"_index":16399,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["__v",{"_index":11557,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["_allowemptyquery",{"_index":6947,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/ImportUserScope.html":{},"classes/LessonScope.html":{},"classes/NewsScope.html":{},"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/Scope.html":{},"classes/SystemScope.html":{},"classes/TaskScope.html":{},"classes/UserScope.html":{}}}],["_collectdefaultmetrics",{"_index":17992,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["_collectmetricsroutemetrics",{"_index":17993,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["_columnboardid",{"_index":5543,"title":{},"body":{"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{}}}],["_contextid",{"_index":3644,"title":{},"body":{"injectables/BoardDoRepo.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["_contexttype",{"_index":3646,"title":{},"body":{"injectables/BoardDoRepo.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["_creatorid",{"_index":6610,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ParentInfo.html":{}}}],["_em",{"_index":2448,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FilesRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/TldrawRepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["_id",{"_index":789,"title":{},"body":{"injectables/AccountRepo.html":{},"interfaces/AdminIdAndToken.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"interfaces/EntityWithSchool.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/FeathersAuthProvider.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/TaskRepo.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["_id.$oid",{"_index":5291,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["_instance",{"_index":17994,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["_iscopyfrom",{"_index":11750,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["_isenabled",{"_index":17995,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["_lockid",{"_index":11521,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["_oauthconfigcache",{"_index":14683,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["_operator",{"_index":6948,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/ImportUserScope.html":{},"classes/LessonScope.html":{},"classes/NewsScope.html":{},"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/Scope.html":{},"classes/SystemScope.html":{},"classes/TaskScope.html":{},"classes/UserScope.html":{}}}],["_origintoolid",{"_index":8109,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["_ownerid",{"_index":11522,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["_parentid",{"_index":6612,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ParentInfo.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["_port",{"_index":17996,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["_queries",{"_index":6949,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/ImportUserScope.html":{},"classes/LessonScope.html":{},"classes/NewsScope.html":{},"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/Scope.html":{},"classes/SystemScope.html":{},"classes/TaskScope.html":{},"classes/UserScope.html":{}}}],["_route",{"_index":17997,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["_schoolid",{"_index":6614,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ParentInfo.html":{}}}],["_self",{"_index":6004,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["_updatedat",{"_index":1075,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["a.getmetadata().title",{"_index":8448,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["a.localecompare(b",{"_index":20567,"title":{},"body":{"classes/SortHelper.html":{}}}],["a.m",{"_index":24642,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["a.position",{"_index":3557,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["a.userid.$oid",{"_index":14872,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["a.width",{"_index":16269,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["a11ytitle",{"_index":6509,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["a@b.de",{"_index":13378,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["aaa",{"_index":25684,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["abbreviation",{"_index":7435,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["ability",{"_index":24964,"title":{},"body":{"license.html":{}}}],["aborted",{"_index":14847,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["above",{"_index":19420,"title":{},"body":{"injectables/S3ClientAdapter.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["absence",{"_index":24855,"title":{},"body":{"license.html":{}}}],["absolute",{"_index":5181,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"license.html":{}}}],["abstract",{"_index":9,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"injectables/AccountIdmToDtoMapper.html":{},"interfaces/AuthorizableObject.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"entities/BoardElement.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardUrlHandler.html":{},"classes/BusinessError.html":{},"entities/CourseNews.html":{},"injectables/CourseUrlHandler.html":{},"injectables/DashboardRepo.html":{},"classes/DomainObject.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"interfaces/IDashboardRepo.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"injectables/LessonUrlHandler.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OauthProviderService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/PaginationResponse.html":{},"classes/ProvisioningStrategy.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/RpcMessageProducer.html":{},"entities/SchoolNews.html":{},"classes/SortingParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"injectables/TaskUrlHandler.html":{},"entities/TeamNews.html":{},"classes/UpdateElementContentBodyParams.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["abstractaccountservice",{"_index":1,"title":{"classes/AbstractAccountService.html":{}},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:100",{"_index":920,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:109",{"_index":905,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:114",{"_index":906,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:118",{"_index":918,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:123",{"_index":917,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:128",{"_index":922,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:147",{"_index":913,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:19",{"_index":909,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:25",{"_index":914,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:30",{"_index":910,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:35",{"_index":911,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:43",{"_index":912,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:48",{"_index":916,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:84",{"_index":921,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractaccountservice:92",{"_index":919,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["abstractbootstrapconsole",{"_index":22148,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["abstraction",{"_index":25981,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["abstraction/detail",{"_index":25421,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["abstractions",{"_index":25457,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["abstractlaunchstrategy",{"_index":2712,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:105",{"_index":2747,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:128",{"_index":2750,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:139",{"_index":2753,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:155",{"_index":2740,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:18",{"_index":2732,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:181",{"_index":2768,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:19",{"_index":16832,"title":{},"body":{"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:218",{"_index":2765,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:24",{"_index":2770,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:249",{"_index":2744,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:33",{"_index":2734,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:40",{"_index":2758,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:64",{"_index":2760,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:79",{"_index":2755,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstractlaunchstrategy:9",{"_index":2729,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["abstracturlhandler",{"_index":105,"title":{"classes/AbstractUrlHandler.html":{}},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["abstracturlhandler:11",{"_index":4136,"title":{},"body":{"injectables/BoardUrlHandler.html":{}}}],["abstracturlhandler:19",{"_index":4132,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["abstracturlhandler:24",{"_index":4134,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["abstracturlhandler:7",{"_index":4133,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["abstracturlhandler:9",{"_index":7946,"title":{},"body":{"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["acacac",{"_index":7507,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["accept",{"_index":189,"title":{},"body":{"classes/AcceptQuery.html":{},"interfaces/AuthenticationResponse.html":{},"classes/BoardComposite.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{},"classes/TestApiClient.html":{},"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["accept(visitor",{"_index":3037,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["acceptance",{"_index":25031,"title":{},"body":{"license.html":{}}}],["acceptasync",{"_index":3030,"title":{},"body":{"classes/BoardComposite.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["acceptasync(visitor",{"_index":3041,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["acceptconsentrequest",{"_index":17218,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["acceptconsentrequest(challenge",{"_index":17224,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["acceptconsentrequestbody",{"_index":160,"title":{"interfaces/AcceptConsentRequestBody.html":{}},"body":{"interfaces/AcceptConsentRequestBody.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["accepted",{"_index":9035,"title":{},"body":{"injectables/DeletionClient.html":{},"todo.html":{}}}],["acceptloginrequest",{"_index":17376,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["acceptloginrequest(challenge",{"_index":17448,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["acceptloginrequest(currentuserid",{"_index":17380,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["acceptloginrequestbody",{"_index":179,"title":{"interfaces/AcceptLoginRequestBody.html":{}},"body":{"interfaces/AcceptLoginRequestBody.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/OauthProviderService.html":{}}}],["acceptlogoutrequest",{"_index":17257,"title":{},"body":{"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{}}}],["acceptlogoutrequest(@param",{"_index":17335,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["acceptlogoutrequest(challenge",{"_index":17450,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["acceptlogoutrequest(params",{"_index":17262,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["acceptquery",{"_index":186,"title":{"classes/AcceptQuery.html":{}},"body":{"classes/AcceptQuery.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["accepts",{"_index":192,"title":{},"body":{"classes/AcceptQuery.html":{},"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["access",{"_index":371,"title":{},"body":{"controllers/AccountController.html":{},"interfaces/AdminIdAndToken.html":{},"controllers/CollaborativeStorageController.html":{},"interfaces/CollectionFilePath.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"classes/ErrorLoggable.html":{},"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/JwtExtractor.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/OauthClientBody.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"controllers/ServerController.html":{},"injectables/TldrawBoardRepo.html":{},"classes/TldrawWs.html":{},"controllers/ToolController.html":{},"controllers/ToolReferenceController.html":{},"classes/UsersList.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["access,@typescript",{"_index":1093,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["access.token.claim",{"_index":14648,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["access_token",{"_index":177,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["accessed",{"_index":7829,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["accessible",{"_index":24710,"title":{},"body":{"license.html":{}}}],["accessing",{"_index":25474,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["accesskeyid",{"_index":7249,"title":{},"body":{"interfaces/CopyFiles.html":{},"injectables/DeleteFilesUc.html":{},"interfaces/File.html":{},"interfaces/FileStorageConfig.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["accessors",{"_index":735,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"classes/BoardComposite.html":{},"classes/BoardDoAuthorizable.html":{},"injectables/BoardRepo.html":{},"classes/Card.html":{},"classes/Class.html":{},"classes/ClassSourceOptions.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeletionLog.html":{},"injectables/DeletionLogRepo.html":{},"classes/DeletionRequest.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DomainObject.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FederalStateRepo.html":{},"classes/FileElement.html":{},"injectables/FileRecordRepo.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"classes/Group.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElement.html":{},"injectables/LtiToolRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/Pseudonym.html":{},"classes/RichTextElement.html":{},"classes/RocketChatUser.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolYearRepo.html":{},"classes/Scope.html":{},"injectables/ShareTokenRepo.html":{},"injectables/StorageProviderRepo.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionRepo.html":{},"classes/System.html":{},"injectables/TaskRepo.html":{},"classes/TeamUserEntity.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["accesstoken",{"_index":1605,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/LoginDto.html":{},"classes/LoginResponse.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"injectables/ProvisioningService.html":{},"classes/TestApiClient.html":{},"classes/TokenRequestMapper.html":{}}}],["accesstokendto",{"_index":15860,"title":{},"body":{"injectables/LoginUc.html":{}}}],["accesstokendto.accesstoken",{"_index":15862,"title":{},"body":{"injectables/LoginUc.html":{}}}],["accompanied",{"_index":24890,"title":{},"body":{"license.html":{}}}],["accompanies",{"_index":25197,"title":{},"body":{"license.html":{}}}],["accomplish",{"_index":24712,"title":{},"body":{"license.html":{}}}],["accord",{"_index":24854,"title":{},"body":{"license.html":{}}}],["according",{"_index":25189,"title":{},"body":{"license.html":{}}}],["account",{"_index":94,"title":{"entities/Account.html":{}},"body":{"classes/AbstractAccountService.html":{},"entities/Account.html":{},"classes/AccountByIdParams.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"injectables/EtherpadService.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"interfaces/ICurrentUser.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserListResponse.html":{},"modules/ImportUserModule.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/NexboardService.html":{},"injectables/Oauth2Strategy.html":{},"classes/TestApiClient.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"injectables/UserMigrationService.html":{},"injectables/UserService.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["account${sequence",{"_index":588,"title":{},"body":{"classes/AccountFactory.html":{}}}],["account's",{"_index":13779,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["account.'})@apiresponse({status",{"_index":336,"title":{},"body":{"controllers/AccountController.html":{}}}],["account._id.$oid",{"_index":14882,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["account.activated",{"_index":485,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"classes/AccountResponseMapper.html":{},"injectables/AccountServiceDb.html":{}}}],["account.attdbcaccountid",{"_index":602,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["account.attdbcsystemid",{"_index":604,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["account.attdbcuserid",{"_index":603,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["account.createdat",{"_index":481,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["account.createddate",{"_index":601,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{}}}],["account.credentialhash",{"_index":486,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{}}}],["account.email",{"_index":14742,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["account.expiresat",{"_index":487,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{}}}],["account.factory",{"_index":696,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["account.firstname",{"_index":14743,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["account.id",{"_index":480,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"classes/AccountResponseMapper.html":{},"injectables/AccountValidationService.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LocalStrategy.html":{},"injectables/Oauth2Strategy.html":{}}}],["account.interface",{"_index":14865,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["account.interface.ts",{"_index":14294,"title":{},"body":{"interfaces/JsonAccount.html":{}}}],["account.lastname",{"_index":14744,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["account.lasttriedfailedlogin",{"_index":488,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{},"injectables/AuthenticationService.html":{}}}],["account.lasttriedfailedlogin.gettime",{"_index":1742,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["account.module",{"_index":281,"title":{},"body":{"modules/AccountApiModule.html":{}}}],["account.params.ts",{"_index":17756,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["account.params.ts:13",{"_index":17767,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["account.params.ts:24",{"_index":17765,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["account.params.ts:33",{"_index":17761,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["account.params.ts:42",{"_index":17762,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["account.params.ts:51",{"_index":17763,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["account.password",{"_index":489,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["account.response",{"_index":879,"title":{},"body":{"classes/AccountSearchListResponse.html":{}}}],["account.service.abstract",{"_index":925,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["account.systemid",{"_index":938,"title":{},"body":{"injectables/AccountServiceDb.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/UserMigrationService.html":{},"injectables/UserService.html":{}}}],["account.systemid?.tostring",{"_index":490,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["account.test.factory.ts",{"_index":691,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["account.test.factory.ts:25",{"_index":23196,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["account.test.factory.ts:30",{"_index":23189,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["account.test.factory.ts:36",{"_index":23193,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["account.test.factory.ts:51",{"_index":23195,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["account.test.factory.ts:63",{"_index":23191,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["account.token",{"_index":491,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{}}}],["account.updatedat",{"_index":482,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"classes/AccountResponseMapper.html":{}}}],["account.userid",{"_index":838,"title":{},"body":{"classes/AccountResponseMapper.html":{},"injectables/AccountServiceDb.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LocalStrategy.html":{}}}],["account.userid.$oid",{"_index":14883,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["account.userid?.tostring",{"_index":483,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"classes/AccountResponseMapper.html":{},"injectables/AccountValidationService.html":{}}}],["account.username",{"_index":484,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/AccountResponseMapper.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/TestApiClient.html":{}}}],["account?.id",{"_index":1004,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["account?.systemid?.tostring",{"_index":1005,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["accountapimodule",{"_index":253,"title":{"modules/AccountApiModule.html":{}},"body":{"modules/AccountApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["accountbyidbodyparams",{"_index":284,"title":{"classes/AccountByIdBodyParams.html":{}},"body":{"classes/AccountByIdBodyParams.html":{},"controllers/AccountController.html":{}}}],["accountbyidparams",{"_index":306,"title":{"classes/AccountByIdParams.html":{}},"body":{"classes/AccountByIdParams.html":{},"controllers/AccountController.html":{}}}],["accountconfig",{"_index":310,"title":{"interfaces/AccountConfig.html":{}},"body":{"interfaces/AccountConfig.html":{},"interfaces/ServerConfig.html":{}}}],["accountcontroller",{"_index":275,"title":{"controllers/AccountController.html":{}},"body":{"modules/AccountApiModule.html":{},"controllers/AccountController.html":{}}}],["accountcopy",{"_index":23771,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["accountdbcaccountid",{"_index":13784,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["accountdbcuserid",{"_index":13786,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["accountdto",{"_index":66,"title":{"classes/AccountDto.html":{}},"body":{"classes/AbstractAccountService.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/AccountResponseMapper.html":{},"injectables/AccountServiceDb.html":{},"injectables/AuthenticationService.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/Oauth2Strategy.html":{},"injectables/UserMigrationService.html":{},"injectables/UserService.html":{}}}],["accountdto.activated",{"_index":942,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.credentialhash",{"_index":947,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.expiresat",{"_index":943,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.id",{"_index":935,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.lasttriedfailedlogin",{"_index":944,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.password",{"_index":945,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.systemid",{"_index":939,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.token",{"_index":948,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdto.username",{"_index":941,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountdtos",{"_index":494,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["accountentities",{"_index":475,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{}}}],["accountentities[0",{"_index":493,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["accountentities[1",{"_index":496,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["accountentity",{"_index":928,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountentitytodtomapper",{"_index":464,"title":{"classes/AccountEntityToDtoMapper.html":{}},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{}}}],["accountentitytodtomapper.mapaccountstodto(accountentities",{"_index":931,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountentitytodtomapper.mapaccountstodto(await",{"_index":964,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountentitytodtomapper.mapaccountstodto(foundaccounts",{"_index":495,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["accountentitytodtomapper.mapsearchresult(accountentities",{"_index":956,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountentitytodtomapper.mapsearchresult(await",{"_index":988,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["accountentitytodtomapper.maptodto(account",{"_index":950,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["accountentitytodtomapper.maptodto(accountentity",{"_index":498,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{}}}],["accountfactory",{"_index":499,"title":{"classes/AccountFactory.html":{}},"body":{"classes/AccountFactory.html":{},"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["accountfactory.define(account",{"_index":587,"title":{},"body":{"classes/AccountFactory.html":{}}}],["accountfactory.withuser(user).build(accountparams",{"_index":710,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["accountid",{"_index":85,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"interfaces/ICurrentUser.html":{},"classes/IdentityManagementService.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{}}}],["accountid?.tostring",{"_index":1002,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["accountidmtodtomapper",{"_index":590,"title":{"injectables/AccountIdmToDtoMapper.html":{}},"body":{"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"modules/AccountModule.html":{}}}],["accountidmtodtomapper:6",{"_index":598,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{}}}],["accountidmtodtomapperdb",{"_index":596,"title":{"classes/AccountIdmToDtoMapperDb.html":{}},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"modules/AccountModule.html":{}}}],["accountidmtodtomapperfactory",{"_index":687,"title":{},"body":{"modules/AccountModule.html":{}}}],["accountidmtodtomapperfactory(configservice",{"_index":683,"title":{},"body":{"modules/AccountModule.html":{}}}],["accountidmtodtomapperidm",{"_index":605,"title":{"classes/AccountIdmToDtoMapperIdm.html":{}},"body":{"classes/AccountIdmToDtoMapperIdm.html":{},"modules/AccountModule.html":{}}}],["accountlookupservice",{"_index":607,"title":{"injectables/AccountLookupService.html":{}},"body":{"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"injectables/AccountServiceDb.html":{}}}],["accountmodule",{"_index":264,"title":{"modules/AccountModule.html":{}},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AuthenticationModule.html":{},"modules/DeletionApiModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/ProvisioningModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{}}}],["accountparams",{"_index":689,"title":{"interfaces/AccountParams.html":{}},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["accountpassword",{"_index":15707,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["accountrepo",{"_index":668,"title":{"injectables/AccountRepo.html":{}},"body":{"modules/AccountModule.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{}}}],["accountresponse",{"_index":334,"title":{"classes/AccountResponse.html":{}},"body":{"controllers/AccountController.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSearchListResponse.html":{}}}],["accountresponsemapper",{"_index":828,"title":{"classes/AccountResponseMapper.html":{}},"body":{"classes/AccountResponseMapper.html":{}}}],["accounts",{"_index":230,"title":{},"body":{"entities/Account.html":{},"controllers/AccountController.html":{},"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountValidationService.html":{},"injectables/AuthenticationService.html":{},"interfaces/CleanOptions.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapStrategy.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["accounts.'})@apiresponse({status",{"_index":375,"title":{},"body":{"controllers/AccountController.html":{}}}],["accounts.filter((foundaccount",{"_index":991,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["accounts.find((a",{"_index":14871,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["accounts.find((foundaccount",{"_index":1728,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["accounts.length",{"_index":14828,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["accounts.map((accountentity",{"_index":497,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["accounts_allowanonymousread=false",{"_index":25951,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_allowemailchange=false",{"_index":25950,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_allowrealnamechange=false",{"_index":25948,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_allowusernamechange=false",{"_index":25949,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_iframe_api_method=get",{"_index":25966,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_iframe_api_url=http://localhost:4000/rocketchat/authget",{"_index":25947,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_iframe_enabled=true",{"_index":25945,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_iframe_url=http://localhost:4000/rocketchat/iframe",{"_index":25946,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_send_email_when_activating=false",{"_index":25952,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_send_email_when_deactivating=false",{"_index":25953,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_setdefaultavatar=false",{"_index":25964,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accounts_usedefaultblockeddomainslist=false",{"_index":25954,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["accountsavedto",{"_index":64,"title":{"classes/AccountSaveDto.html":{}},"body":{"classes/AbstractAccountService.html":{},"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"injectables/OidcProvisioningService.html":{}}}],["accountsavedto:21",{"_index":455,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:26",{"_index":449,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:30",{"_index":452,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:34",{"_index":443,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:38",{"_index":453,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:42",{"_index":451,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:46",{"_index":447,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:5",{"_index":438,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:50",{"_index":445,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:54",{"_index":441,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:57",{"_index":446,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:7",{"_index":437,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsavedto:9",{"_index":439,"title":{},"body":{"classes/AccountDto.html":{}}}],["accountsearchlistresponse",{"_index":372,"title":{"classes/AccountSearchListResponse.html":{}},"body":{"controllers/AccountController.html":{},"classes/AccountSearchListResponse.html":{}}}],["accountsearchqueryparams",{"_index":366,"title":{"classes/AccountSearchQueryParams.html":{}},"body":{"controllers/AccountController.html":{},"classes/AccountSearchQueryParams.html":{}}}],["accountsearchtype",{"_index":884,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["accountservice",{"_index":666,"title":{},"body":{"modules/AccountModule.html":{},"injectables/AuthenticationService.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/UserMigrationService.html":{},"injectables/UserService.html":{}}}],["accountservicedb",{"_index":669,"title":{"injectables/AccountServiceDb.html":{}},"body":{"modules/AccountModule.html":{},"injectables/AccountServiceDb.html":{}}}],["accountserviceidm",{"_index":670,"title":{},"body":{"modules/AccountModule.html":{}}}],["accountsfile",{"_index":13626,"title":{},"body":{"interfaces/IKeycloakConfigurationInputFiles.html":{},"classes/KeycloakConfiguration.html":{}}}],["accountuc",{"_index":266,"title":{},"body":{"modules/AccountApiModule.html":{},"controllers/AccountController.html":{}}}],["accountuserid",{"_index":15710,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["accountvalidationservice",{"_index":667,"title":{"injectables/AccountValidationService.html":{}},"body":{"modules/AccountModule.html":{},"injectables/AccountValidationService.html":{}}}],["accumulator",{"_index":23975,"title":{},"body":{"classes/ValidationErrorLoggableException.html":{}}}],["achieve",{"_index":25200,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["achieved",{"_index":25783,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["acknowledges",{"_index":24804,"title":{},"body":{"license.html":{}}}],["acquired",{"_index":25077,"title":{},"body":{"license.html":{}}}],["acr",{"_index":181,"title":{},"body":{"interfaces/AcceptLoginRequestBody.html":{},"classes/ConsentResponse.html":{},"interfaces/ProviderConsentResponse.html":{}}}],["acr_values",{"_index":17546,"title":{},"body":{"classes/OidcContextResponse.html":{},"interfaces/ProviderOidcContext.html":{}}}],["act",{"_index":25683,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["action",{"_index":1197,"title":{},"body":{"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"classes/BaseDomainObject.html":{},"classes/BaseUc.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"classes/DtoCreator.html":{},"injectables/ElementUc.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"classes/ForbiddenLoggableException.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LessonRule.html":{},"classes/PatchMyAccountParams.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/S3ClientAdapter.html":{},"injectables/ShareTokenUC.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/TaskUC.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/UserLoginMigrationUc.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["action.enum",{"_index":1779,"title":{},"body":{"interfaces/AuthorizationContext.html":{}}}],["action.read",{"_index":1793,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{},"classes/BaseUc.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/CourseRule.html":{},"classes/DtoCreator.html":{},"injectables/ElementUc.html":{},"injectables/LessonRule.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRule.html":{},"injectables/TaskUC.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["action.write",{"_index":1792,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/CourseGroupRule.html":{},"injectables/ElementUc.html":{},"injectables/LessonRule.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/TaskUC.html":{}}}],["actions",{"_index":25037,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["actions.loggable",{"_index":17874,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{}}}],["actions.loggable.ts",{"_index":17822,"title":{},"body":{"classes/PreviewActionsLoggable.html":{}}}],["actions.loggable.ts:4",{"_index":17824,"title":{},"body":{"classes/PreviewActionsLoggable.html":{}}}],["actions.loggable.ts:7",{"_index":17825,"title":{},"body":{"classes/PreviewActionsLoggable.html":{}}}],["actions.read",{"_index":2527,"title":{},"body":{"classes/BaseDomainObject.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["actions.write",{"_index":26038,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["activated",{"_index":208,"title":{},"body":{"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/LibraryName.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{},"injectables/OidcProvisioningService.html":{},"classes/Path.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["activation",{"_index":288,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["active",{"_index":4870,"title":{},"body":{"interfaces/CleanOptions.html":{},"interfaces/IntrospectResponse.html":{},"injectables/JwtStrategy.html":{},"classes/KeycloakConsole.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"interfaces/MigrationOptions.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/RetryOptions.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["activities",{"_index":24749,"title":{},"body":{"license.html":{}}}],["activity",{"_index":25114,"title":{},"body":{"license.html":{}}}],["actor",{"_index":25460,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["actual",{"_index":25097,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["actually",{"_index":24940,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["adapt",{"_index":24731,"title":{},"body":{"license.html":{}}}],["adapter",{"_index":4953,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["adapter.mapper",{"_index":4988,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["adapter.mapper.ts",{"_index":4998,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["adapter.mapper.ts:16",{"_index":5001,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["adapter.module.ts",{"_index":5025,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["adapter.service",{"_index":3856,"title":{},"body":{"modules/BoardModule.html":{},"injectables/OAuthService.html":{},"modules/OauthModule.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["adapter.service.ts",{"_index":9603,"title":{},"body":{"injectables/DrawingElementAdapterService.html":{},"injectables/OauthAdapterService.html":{}}}],["adapter.service.ts:11",{"_index":16968,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["adapter.service.ts:13",{"_index":9607,"title":{},"body":{"injectables/DrawingElementAdapterService.html":{}}}],["adapter.service.ts:14",{"_index":16970,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["adapter.service.ts:23",{"_index":16975,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["adapter.service.ts:37",{"_index":16973,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["adapter.service.ts:8",{"_index":9605,"title":{},"body":{"injectables/DrawingElementAdapterService.html":{}}}],["adapters",{"_index":25823,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["add",{"_index":1626,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/CleanOptions.html":{},"classes/CreateNewsParams.html":{},"injectables/FileRecordRepo.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GroupRoleUnknownLoggable.html":{},"modules/H5PEditorModule.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"classes/ReferencesService.html":{},"interfaces/RetryOptions.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{},"classes/TestApiClient.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["addchild",{"_index":3031,"title":{},"body":{"classes/BoardComposite.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["addchild(child",{"_index":3044,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["addclientprotocolmappers",{"_index":14483,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["addclientprotocolmappers(defaultclientinternalid",{"_index":14500,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["added",{"_index":2884,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LegacyLogger.html":{},"classes/LibraryName.html":{},"injectables/NextcloudStrategy.html":{},"classes/Path.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/ShareTokenImportBodyParams.html":{},"injectables/TaskUC.html":{},"controllers/ToolConfigurationController.html":{},"injectables/ToolPermissionHelper.html":{},"classes/WsSharedDocDo.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["added.concat(updated",{"_index":24398,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["added.foreach((clientid",{"_index":24401,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["addexecutionrequest",{"_index":14567,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["addexternaloauth2datatoconfig",{"_index":10922,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["addexternaloauth2datatoconfig(config",{"_index":10935,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["addgroupmoderator(groupname",{"_index":1136,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["adding",{"_index":526,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseProperties.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UsersList.html":{}}}],["additional",{"_index":1388,"title":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/api-design.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}},"body":{"classes/ApiValidationErrorResponse.html":{},"classes/ErrorResponse.html":{},"classes/GlobalValidationPipe.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["additional_blacklisted_email_domains",{"_index":16066,"title":{},"body":{"interfaces/MailConfig.html":{},"interfaces/ServerConfig.html":{}}}],["additionalinfo",{"_index":13734,"title":{},"body":{"classes/IdTokenUserNotFoundLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{}}}],["additionally",{"_index":24616,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["additionalparameters",{"_index":14836,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["additionalpermissions",{"_index":713,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserFactory.html":{}}}],["additionaly",{"_index":25335,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["addlessons",{"_index":5684,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["addlessons(builder",{"_index":5693,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["addon",{"_index":11636,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["addons",{"_index":11634,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["addorganization",{"_index":5793,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{}}}],["addorganization(props",{"_index":5802,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["addparameters",{"_index":2717,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["addparameters(propertydata",{"_index":2736,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["addprometheusmetricsmiddlewaresifenabled",{"_index":18055,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["addproperty",{"_index":2718,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["addproperty(propertydata",{"_index":2741,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["addquery",{"_index":6954,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/ImportUserScope.html":{},"classes/LessonScope.html":{},"classes/NewsScope.html":{},"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/Scope.html":{},"classes/SystemScope.html":{},"classes/TaskScope.html":{},"classes/UserScope.html":{}}}],["addquery(query",{"_index":6968,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/ImportUserScope.html":{},"classes/LessonScope.html":{},"classes/NewsScope.html":{},"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/Scope.html":{},"classes/SystemScope.html":{},"classes/TaskScope.html":{},"classes/UserScope.html":{}}}],["addreferences",{"_index":12642,"title":{},"body":{"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["addreferences(anotherreference",{"_index":8441,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["addresourcetofile",{"_index":5794,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{}}}],["addresourcetofile(props",{"_index":5806,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["addresourcetoorganization",{"_index":5952,"title":{},"body":{"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["addresourcetoorganization(props",{"_index":5819,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["address",{"_index":17760,"title":{},"body":{"classes/PatchMyAccountParams.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["addressed",{"_index":24728,"title":{},"body":{"license.html":{}}}],["addroom",{"_index":8377,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["addroom(room",{"_index":8398,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["adds",{"_index":5199,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["addtasks",{"_index":5685,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["addtasks(builder",{"_index":5698,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["addteacherroleifadmin",{"_index":19519,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["addteacherroleifadmin(externaluser",{"_index":19526,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["addto",{"_index":11635,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["addtokentowhitelist",{"_index":14367,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["addtokentowhitelist(redisidentifier",{"_index":14375,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["addtowhitelist",{"_index":14351,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["addtowhitelist(accountid",{"_index":14357,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["adduser",{"_index":12670,"title":{},"body":{"classes/Group.html":{}}}],["adduser(user",{"_index":12673,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["adduserids",{"_index":16797,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["adduserids.tostring",{"_index":16801,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["adjust",{"_index":6025,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["adm",{"_index":5809,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"dependencies.html":{}}}],["admin",{"_index":12389,"title":{},"body":{"classes/FilterImportUserParams.html":{},"interfaces/IImportUserScope.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"interfaces/NameMatch.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["admin_api__allowed_api_keys",{"_index":20147,"title":{},"body":{"interfaces/ServerConfig.html":{},"interfaces/XApiKeyConfig.html":{}}}],["admin_api_client_api_key",{"_index":9057,"title":{},"body":{"interfaces/DeletionClientConfig.html":{}}}],["admin_api_client_base_url",{"_index":9058,"title":{},"body":{"interfaces/DeletionClientConfig.html":{}}}],["admin_pass=huhu",{"_index":25943,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["adminaccount",{"_index":724,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["adminapiservermodule",{"_index":1007,"title":{"modules/AdminApiServerModule.html":{}},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{}}}],["adminapiservertestmodule",{"_index":1044,"title":{"modules/AdminApiServerTestModule.html":{}},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{}}}],["adminid",{"_index":1062,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"modules/DeletionApiModule.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["adminidandtoken",{"_index":1050,"title":{"interfaces/AdminIdAndToken.html":{}},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["adminidandtoken.id",{"_index":1161,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["adminidandtoken.token",{"_index":1160,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["administration.module",{"_index":13752,"title":{},"body":{"modules/IdentityManagementModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{}}}],["administration.module.ts",{"_index":14392,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{}}}],["administration.service",{"_index":14399,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["administration.service.ts",{"_index":14402,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:21",{"_index":14419,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:26",{"_index":14426,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:35",{"_index":14423,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:39",{"_index":14420,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:43",{"_index":14421,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:47",{"_index":14422,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:57",{"_index":14425,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:62",{"_index":14424,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:66",{"_index":14418,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:7",{"_index":14428,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration.service.ts:9",{"_index":14416,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["administration/interface/keycloak",{"_index":13631,"title":{},"body":{"interfaces/IKeycloakSettings.html":{}}}],["administration/keycloak",{"_index":13751,"title":{},"body":{"modules/IdentityManagementModule.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{}}}],["administration/service/keycloak",{"_index":14401,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["administrator",{"_index":376,"title":{},"body":{"controllers/AccountController.html":{},"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMatchMapper.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["adminpassword",{"_index":1061,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"modules/DeletionApiModule.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["adminpermissions",{"_index":23382,"title":{},"body":{"classes/UserFactory.html":{}}}],["adminstrator",{"_index":26005,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["admintoken",{"_index":1063,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"modules/DeletionApiModule.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["adminuser",{"_index":725,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/AdminIdAndToken.html":{},"modules/DeletionApiModule.html":{},"classes/KeycloakSeedService.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["admzip",{"_index":5800,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["adopted",{"_index":24831,"title":{},"body":{"license.html":{}}}],["adversely",{"_index":24970,"title":{},"body":{"license.html":{}}}],["advised",{"_index":25185,"title":{},"body":{"license.html":{}}}],["aes",{"_index":21023,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["aes_key",{"_index":9843,"title":{},"body":{"modules/EncryptionModule.html":{},"additional-documentation/nestjs-application.html":{}}}],["aeskey",{"_index":9840,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["affected",{"_index":25636,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["affects",{"_index":5366,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"license.html":{}}}],["affero",{"_index":24647,"title":{},"body":{"license.html":{}}}],["affirmed",{"_index":25059,"title":{},"body":{"license.html":{}}}],["affirms",{"_index":24802,"title":{},"body":{"license.html":{}}}],["afterall",{"_index":25771,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["afterall(async",{"_index":25762,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["afterbuild",{"_index":505,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["afterbuild(afterbuildfn",{"_index":522,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["afterbuildfn",{"_index":530,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["afterduedateornone",{"_index":21645,"title":{},"body":{"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{}}}],["afterduedateornone(duedate",{"_index":21727,"title":{},"body":{"classes/TaskScope.html":{}}}],["aftereach",{"_index":25678,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["afterinit",{"_index":22394,"title":{},"body":{"classes/TldrawWs.html":{}}}],["afterwards",{"_index":25584,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["again",{"_index":7229,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["against",{"_index":13035,"title":{},"body":{"classes/GuardAgainst.html":{},"injectables/LocalStrategy.html":{},"classes/MongoPatterns.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["against.ts",{"_index":13029,"title":{},"body":{"classes/GuardAgainst.html":{}}}],["against.ts:8",{"_index":13033,"title":{},"body":{"classes/GuardAgainst.html":{}}}],["age",{"_index":25997,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["agent",{"_index":16261,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["aggregate",{"_index":24879,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["aggregate.attrs",{"_index":14644,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["agility",{"_index":25412,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["agnostic",{"_index":14147,"title":{},"body":{"classes/ImportUserScope.html":{},"injectables/UserRepo.html":{}}}],["ago",{"_index":8887,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"classes/H5PTemporaryFileFactory.html":{}}}],["agpl",{"_index":25218,"title":{},"body":{"license.html":{},"properties.html":{}}}],["agree",{"_index":25132,"title":{},"body":{"license.html":{}}}],["agreed",{"_index":25173,"title":{},"body":{"license.html":{}}}],["agreement",{"_index":25085,"title":{},"body":{"license.html":{}}}],["aims",{"_index":25408,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["aint",{"_index":25445,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["ajax",{"_index":13189,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["ajaxgetqueryparams",{"_index":1194,"title":{"classes/AjaxGetQueryParams.html":{}},"body":{"classes/AjaxGetQueryParams.html":{},"controllers/H5PEditorController.html":{}}}],["ajaxpostbodyparams",{"_index":1228,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ContentBodyParams.html":{},"controllers/H5PEditorController.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{}}}],["ajaxpostbodyparamstransformpipe",{"_index":1208,"title":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"controllers/H5PEditorController.html":{}}}],["ajaxpostqueryparams",{"_index":1250,"title":{"classes/AjaxPostQueryParams.html":{}},"body":{"classes/AjaxPostQueryParams.html":{},"controllers/H5PEditorController.html":{}}}],["ajv",{"_index":24457,"title":{},"body":{"dependencies.html":{}}}],["aktuelle",{"_index":5498,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["alert",{"_index":9912,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["alert(loggable",{"_index":9917,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["alg",{"_index":1597,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["algorithm",{"_index":1546,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/JwtConstants.html":{},"classes/JwtTestFactory.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["algorithms",{"_index":1569,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/OAuthService.html":{}}}],["algorithms.includes(jwtconstants.jwtoptions.algorithm",{"_index":1583,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["alias",{"_index":14516,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/LdapConfigEntity.html":{},"injectables/LegacySystemService.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/PublicSystemResponse.html":{},"classes/System.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"interfaces/SystemProps.html":{},"classes/SystemResponseMapper.html":{},"additional-documentation/nestjs-application.html":{}}}],["alive",{"_index":22539,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["all('seed",{"_index":8810,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["all_entities",{"_index":1017,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["allcollectionswithfilepaths",{"_index":5221,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["allcollectionswithfilepaths.filter",{"_index":5228,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["allcollectionswithfilepaths.map((file",{"_index":5233,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["alleging",{"_index":25065,"title":{},"body":{"license.html":{}}}],["allforcreator",{"_index":21635,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforcreator.addquery(allforfinishedcoursesandlessonsforcreator.query",{"_index":21638,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforcreator.addquery(closeddraftsforcreator.query",{"_index":21637,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforcreator.addquery(closedwithoutparentforcreator.query",{"_index":21636,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforfinishedcoursesandlessons",{"_index":21621,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforfinishedcoursesandlessons.addquery(parentsfinished.query",{"_index":21622,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforfinishedcoursesandlessons.bydraft(false",{"_index":21623,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforfinishedcoursesandlessonsforcreator",{"_index":21632,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforfinishedcoursesandlessonsforcreator.addquery(parentsfinished.query",{"_index":21633,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allforfinishedcoursesandlessonsforcreator.bycreatorid(parentids.creatorid",{"_index":21634,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["allmappers",{"_index":14603,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["allmappers.find((mapper",{"_index":14606,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["allow",{"_index":7209,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{},"injectables/TaskUC.html":{},"injectables/TldrawWsService.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["allowed",{"_index":4315,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/CardUc.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"injectables/ElementUc.html":{},"classes/OauthClientBody.html":{},"injectables/RoomsUc.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"controllers/ToolController.html":{},"controllers/ToolReferenceController.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"injectables/VideoConferenceCreateUc.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["allowedapikeys",{"_index":24412,"title":{},"body":{"injectables/XApiKeyStrategy.html":{}}}],["allowedcards",{"_index":4511,"title":{},"body":{"injectables/CardUc.html":{}}}],["allowedcontexttype",{"_index":20519,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["alloweddos",{"_index":4526,"title":{},"body":{"injectables/CardUc.html":{}}}],["alloweddos.push(boarddo",{"_index":4525,"title":{},"body":{"injectables/CardUc.html":{}}}],["allowedparenttype",{"_index":20512,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["allowedstrings",{"_index":12224,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["allowedstrings.includes(input",{"_index":12226,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["allowemptyquery",{"_index":6955,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/ImportUserScope.html":{},"classes/LessonScope.html":{},"classes/NewsScope.html":{},"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/Scope.html":{},"classes/SystemScope.html":{},"classes/TaskScope.html":{},"classes/UserScope.html":{}}}],["allowemptyquery(isemptyqueryallowed",{"_index":6971,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/ImportUserScope.html":{},"classes/LessonScope.html":{},"classes/NewsScope.html":{},"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/Scope.html":{},"classes/SystemScope.html":{},"classes/TaskScope.html":{},"classes/UserScope.html":{}}}],["allowemptyquery(true",{"_index":10626,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/UserDORepo.html":{}}}],["allowglobalcontext",{"_index":13275,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/ServerConsoleModule.html":{}}}],["allowmodstounmuteusers",{"_index":2157,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["allows",{"_index":806,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/UpdateNewsParams.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["allpseudonyms",{"_index":18273,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["allrooms",{"_index":8378,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["allteacherpseudonyms",{"_index":11361,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["allteacherpseudonyms.map((pseudonym",{"_index":11365,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["alone",{"_index":25675,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["along",{"_index":24857,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["already",{"_index":640,"title":{},"body":{"injectables/AccountLookupService.html":{},"classes/BusinessError.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FileSystemAdapter.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"injectables/NewsRepo.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"injectables/TldrawWsService.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["altered",{"_index":5138,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["alternate",{"_index":24697,"title":{},"body":{"license.html":{}}}],["alternative",{"_index":14578,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"license.html":{}}}],["alternativetext",{"_index":3535,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/ContentElementFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["alternativetext(value",{"_index":11492,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["although",{"_index":25581,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["always",{"_index":411,"title":{},"body":{"controllers/AccountController.html":{},"classes/DomainObjectFactory.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/SanisProvisioningStrategy.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["always_accept",{"_index":2179,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["always_deny",{"_index":2180,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["ambiguous",{"_index":21678,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["amount",{"_index":873,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"injectables/BoardManagementUc.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/ImportUserListResponse.html":{},"injectables/KeycloakMigrationService.html":{},"classes/ListOauthClientsParams.html":{},"classes/NewsListResponse.html":{},"classes/PaginationResponse.html":{},"classes/TaskListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["amqp",{"_index":24459,"title":{},"body":{"dependencies.html":{}}}],["amqp.module.ts",{"_index":12161,"title":{},"body":{"modules/FilesStorageAMQPModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{}}}],["amqpconnection",{"_index":1298,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/FilesStorageProducer.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/PreviewProducer.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RpcMessageProducer.html":{}}}],["amqpconnectionmanager",{"_index":18352,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["amqplib",{"_index":24461,"title":{},"body":{"dependencies.html":{}}}],["amr",{"_index":182,"title":{},"body":{"interfaces/AcceptLoginRequestBody.html":{},"classes/ConsentResponse.html":{},"interfaces/ProviderConsentResponse.html":{}}}],["analysis",{"_index":25378,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["analytics",{"_index":24576,"title":{},"body":{"dependencies.html":{}}}],["analytics_features_messages=false",{"_index":25955,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["analytics_features_rooms=false",{"_index":25956,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["analytics_features_users=false",{"_index":25957,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["ancestor",{"_index":3921,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["ancestorids",{"_index":3408,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/ColumnBoardService.html":{}}}],["ancestornodes",{"_index":3930,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["ancestornodes.foreach((node",{"_index":3932,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["ancestors",{"_index":3919,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["ancillary",{"_index":25032,"title":{},"body":{"license.html":{}}}],["and/opr",{"_index":25719,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["and/or",{"_index":24691,"title":{},"body":{"license.html":{}}}],["annotations",{"_index":25526,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["anonymous",{"_index":8095,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["another",{"_index":17253,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"injectables/UserLoginMigrationUc.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["anotherreference",{"_index":12656,"title":{},"body":{"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["anschrift",{"_index":19457,"title":{},"body":{"classes/SanisAnschriftResponse.html":{},"classes/SanisOrganisationResponse.html":{}}}],["antareskey",{"_index":7427,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["anti",{"_index":24820,"title":{},"body":{"license.html":{}}}],["antivirus.service",{"_index":1265,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["antivirus_service_options",{"_index":1266,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["antivirusmodule",{"_index":1258,"title":{"modules/AntivirusModule.html":{}},"body":{"modules/AntivirusModule.html":{},"modules/FilesStorageModule.html":{}}}],["antivirusmodule.forroot",{"_index":12322,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["antivirusmoduleoptions",{"_index":1260,"title":{"interfaces/AntivirusModuleOptions.html":{}},"body":{"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"interfaces/ScanResult.html":{}}}],["antivirusservice",{"_index":1264,"title":{"injectables/AntivirusService.html":{}},"body":{"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{}}}],["antivirusservice:checkstream",{"_index":1331,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["antivirusservice:send",{"_index":1344,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["antivirusserviceoptions",{"_index":1289,"title":{"interfaces/AntivirusServiceOptions.html":{}},"body":{"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"interfaces/ScanResult.html":{}}}],["anyboarddo",{"_index":2635,"title":{},"body":{"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoService.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardUc.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/CardUc.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"injectables/ColumnUc.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingElement.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"injectables/ElementUc.html":{},"classes/ExternalToolElement.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"classes/FileElement.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"classes/LinkElement.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextElement.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"classes/SubmissionContainerElement.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionItem.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemUc.html":{}}}],["anycontentelementdo",{"_index":2029,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/CardUc.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ElementUc.html":{}}}],["anycontentelementresponse",{"_index":2634,"title":{},"body":{"interfaces/BaseResponseMapper.html":{},"controllers/CardController.html":{},"classes/CardResponse.html":{},"classes/ContentElementResponseFactory.html":{},"controllers/ElementController.html":{}}}],["anyelementcontentbody",{"_index":6408,"title":{},"body":{"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"injectables/ElementUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["anyentity",{"_index":768,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["anymore",{"_index":1567,"title":{},"body":{"modules/AuthenticationModule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["anyone",{"_index":24866,"title":{},"body":{"license.html":{}}}],["anything",{"_index":24738,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["anywhere",{"_index":25493,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["api",{"_index":1372,"title":{"additional-documentation/nestjs-application/api-design.html":{}},"body":{"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/BBBService.html":{},"interfaces/CleanOptions.html":{},"classes/CopyApiResponse.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"modules/DeletionModule.html":{},"classes/ErrorLoggable.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/KeycloakConsole.html":{},"classes/LibraryName.html":{},"interfaces/MigrationOptions.html":{},"classes/Path.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"interfaces/RetryOptions.html":{},"classes/ServerConsole.html":{},"controllers/ServerController.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TestApiClient.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["api.module",{"_index":1034,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawTestModule.html":{}}}],["api.module.ts",{"_index":273,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/BoardApiModule.html":{},"modules/DeletionApiModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/GroupApiModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LessonApiModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/PseudonymApiModule.html":{},"modules/SystemApiModule.html":{},"modules/TaskApiModule.html":{},"modules/TeamsApiModule.html":{},"modules/ToolApiModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/VideoConferenceApiModule.html":{}}}],["api.server.module.ts",{"_index":1013,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{}}}],["api.server.module.ts:44",{"_index":1049,"title":{},"body":{"modules/AdminApiServerTestModule.html":{}}}],["api.spec.ts",{"_index":25362,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["api/v1",{"_index":24598,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["api/v3",{"_index":24599,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["api/v3/docs",{"_index":25384,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["api/v3/h5p",{"_index":13340,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["api/v3/news",{"_index":24606,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["api_enable_cors=true",{"_index":25959,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["api_enable_rate_limiter_limit_calls_default=255",{"_index":25944,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["api_keys",{"_index":26000,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["api_response_time_metric_middleware_successfully_added",{"_index":18046,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["api_validation_error",{"_index":1371,"title":{},"body":{"classes/ApiValidationError.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["api_version_path",{"_index":1315,"title":{},"body":{"injectables/AntivirusService.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["api_version_path}/file/download/${filerecord.id}/${encodeuricomponent(filerecord.name",{"_index":7183,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["apibadrequestresponse",{"_index":22824,"title":{},"body":{"controllers/ToolLaunchController.html":{},"controllers/ToolSchoolController.html":{}}}],["apibody",{"_index":5598,"title":{},"body":{"controllers/ColumnController.html":{},"controllers/ElementController.html":{}}}],["apicreatedresponse",{"_index":22720,"title":{},"body":{"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["apiexcludeendpoint",{"_index":11989,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["apiexcludeendpoint()@get(filesstorageinternalactions.downloadbysecuritytoken",{"_index":11984,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["apiexcludeendpoint()@put(filesstorageinternalactions.updatesecuritystatus",{"_index":11987,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["apiextramodels",{"_index":4017,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CardResponse.html":{},"controllers/ElementController.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/SubmissionItemResponse.html":{}}}],["apiextramodels(fileelementresponse",{"_index":20831,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["apiextramodels(lti11toolconfigcreateparams",{"_index":10253,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["apiextramodels(lti11toolconfigupdateparams",{"_index":11077,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["apiextramodels(richtextelementresponse",{"_index":4038,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["apiextramodels(submissionitemresponse",{"_index":9794,"title":{},"body":{"controllers/ElementController.html":{}}}],["apiforbiddenresponse",{"_index":18188,"title":{},"body":{"controllers/PseudonymController.html":{},"controllers/SystemController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["apifoundresponse",{"_index":18189,"title":{},"body":{"controllers/PseudonymController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["apiinternalservererrorresponse",{"_index":23464,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["apikey",{"_index":9000,"title":{},"body":{"injectables/DeletionClient.html":{},"injectables/XApiKeyStrategy.html":{}}}],["apikey.trim",{"_index":20150,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["apikeyheader",{"_index":9003,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["apinocontentresponse",{"_index":23465,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["apinotfoundresponse",{"_index":22721,"title":{},"body":{"controllers/ToolContextController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["apiokresponse",{"_index":22644,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["apioperation",{"_index":390,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/LoginController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/PseudonymController.html":{},"controllers/ShareTokenController.html":{},"controllers/SystemController.html":{},"controllers/TldrawController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["apioperation({summary",{"_index":3181,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/ShareTokenController.html":{},"controllers/TldrawController.html":{}}}],["apiproperty",{"_index":296,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"classes/AccountResponse.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardContextResponse.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusResponse.html":{},"classes/BoardUrlParams.html":{},"classes/BusinessError.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"classes/CardSkeletonResponse.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ColumnResponse.html":{},"classes/ColumnUrlParams.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/ContextRefParams.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/CourseQueryParams.html":{},"classes/CourseUrlParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DashboardUrlParams.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestResponse.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"classes/DrawingElementResponse.html":{},"classes/ElementContentBody.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolMetadataResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"classes/FileElementResponse.html":{},"classes/FileParams.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"classes/FileUrlParams.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/GetMetaTagDataBody.html":{},"classes/GlobalValidationPipe.html":{},"classes/GroupIdParams.html":{},"classes/GroupResponse.html":{},"classes/GroupUserResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/IdParams.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/NewsUrlParams.html":{},"classes/OAuthRejectableBody.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthLoginResponse.html":{},"classes/OidcContextResponse.html":{},"classes/PaginationResponse.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/PseudonymParams.html":{},"classes/PseudonymResponse.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/RedirectResponse.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"classes/ResolvedUserResponse.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"classes/RichTextElementResponse.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInfoResponse.html":{},"classes/SetHeightBodyParams.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenPayloadResponse.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"classes/SuccessfulResponse.html":{},"classes/SystemIdParams.html":{},"classes/TargetInfoResponse.html":{},"classes/TaskCreateParams.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskStatusResponse.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamRoleDto.html":{},"classes/TeamUrlParams.html":{},"classes/TimestampsResponse.html":{},"classes/TldrawDeleteParams.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceResponse.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"classes/UserDataResponse.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParams.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["apiproperty()@allow",{"_index":19646,"title":{},"body":{"classes/ScanResultParams.html":{}}}],["apiproperty()@apipropertyoptional",{"_index":8242,"title":{},"body":{"classes/CustomParameterEntryResponse.html":{}}}],["apiproperty()@decodehtmlentities",{"_index":3020,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/ColumnResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileElementContent.html":{},"classes/FileRecordResponse.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/TaskResponse.html":{}}}],["apiproperty()@isarray()@isstring({each",{"_index":15585,"title":{},"body":{"classes/LibrariesBodyParams.html":{}}}],["apiproperty()@ismongoid",{"_index":6330,"title":{},"body":{"classes/ContentBodyParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/DownloadFileParams.html":{},"classes/FileRecordParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{},"classes/SchoolIdParams.html":{},"classes/SingleFileParams.html":{}}}],["apiproperty()@isnotempty",{"_index":17816,"title":{},"body":{"classes/PostH5PContentParams.html":{}}}],["apiproperty()@isnotempty()@isobject",{"_index":17808,"title":{},"body":{"classes/PostH5PContentCreateParams.html":{}}}],["apiproperty()@isnumber",{"_index":6786,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/SchoolExternalToolPostParams.html":{}}}],["apiproperty()@isoptional",{"_index":9379,"title":{},"body":{"classes/DeletionRequestLogResponse.html":{}}}],["apiproperty()@isstring",{"_index":7204,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/DownloadFileParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/MetaTagExtractorResponse.html":{}}}],["apiproperty()@isstring()@ismongoid",{"_index":19754,"title":{},"body":{"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolSearchParams.html":{}}}],["apiproperty()@isstring()@isnotempty",{"_index":6502,"title":{},"body":{"classes/ContentFileUrlParams.html":{},"classes/LibraryFileUrlParams.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/RenameFileParams.html":{}}}],["apiproperty()@isstring()@isoptional",{"_index":6332,"title":{},"body":{"classes/ContentBodyParams.html":{}}}],["apiproperty()@isstring()@sanitizehtml()@isnotempty",{"_index":17814,"title":{},"body":{"classes/PostH5PContentParams.html":{}}}],["apiproperty()@isurl",{"_index":16223,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["apiproperty()@matches('([a",{"_index":12522,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{}}}],["apiproperty()@validatenested",{"_index":7206,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{}}}],["apiproperty({description",{"_index":868,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BoardElementResponse.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/CardSkeletonResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/ForbiddenOperationError.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/LdapConnectionError.html":{},"classes/LoginResponse-1.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/OauthConfigResponse.html":{},"classes/PaginationResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/RedirectResponse.html":{},"classes/RichText.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/TargetInfoResponse.html":{},"classes/TaskListResponse.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/ValidationError.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["apiproperty({enum",{"_index":3169,"title":{},"body":{"classes/BoardContextResponse.html":{},"classes/ChangeLanguageParams.html":{},"classes/ClassInfoResponse.html":{},"classes/ContextExternalToolResponse.html":{},"classes/CustomParameterResponse.html":{},"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementResponse.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GroupResponse.html":{},"classes/GroupUserResponse.html":{},"classes/LinkElementResponse.html":{},"classes/NewsResponse.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/RichTextElementResponse.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenPayloadResponse.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/VideoConferenceInfoResponse.html":{}}}],["apiproperty({nullable",{"_index":6706,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{},"classes/ToolReferenceResponse.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["apiproperty({pattern",{"_index":3165,"title":{},"body":{"classes/BoardContextResponse.html":{},"classes/BoardResponse.html":{},"classes/CardResponse.html":{},"classes/CardSkeletonResponse.html":{},"classes/ColumnResponse.html":{},"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementResponse.html":{},"classes/LinkElementResponse.html":{},"classes/NewsResponse.html":{},"classes/RichTextElementResponse.html":{},"classes/SchoolInfoResponse.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionItemResponse.html":{},"classes/TargetInfoResponse.html":{},"classes/UserInfoResponse.html":{}}}],["apiproperty({required",{"_index":9331,"title":{},"body":{"classes/DeletionRequestBodyProps.html":{}}}],["apiproperty({type",{"_index":866,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/BoardResponse.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ColumnResponse.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DrawingElementContentBody.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileElementContentBody.html":{},"classes/FileParams.html":{},"classes/FileRecordListResponse.html":{},"classes/FileUrlParams.html":{},"classes/GroupResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/ImportUserListResponse.html":{},"classes/LinkElementContentBody.html":{},"classes/NewsListResponse.html":{},"classes/PublicSystemListResponse.html":{},"classes/RichTextElementContentBody.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionsResponse.html":{},"classes/TaskListResponse.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{}}}],["apipropertyoptional",{"_index":201,"title":{},"body":{"classes/AcceptQuery.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/BusinessError.html":{},"classes/CardResponse.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassSortParams.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolResponse.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/DeletionExecutionParams.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolSearchParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileParams.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"classes/FileUrlParams.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/GroupResponse.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/LessonCopyApiParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthLoginResponse.html":{},"classes/PaginationParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/ShareTokenResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/SystemFilterParams.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskUpdateParams.html":{},"classes/TimestampsResponse.html":{},"classes/ToolReferenceResponse.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/VisibilitySettingsResponse.html":{}}}],["apipropertyoptional()@decodehtmlentities",{"_index":3732,"title":{},"body":{"classes/BoardLessonResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/CardResponse.html":{}}}],["apipropertyoptional()@isoptional()@isboolean",{"_index":12377,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["apipropertyoptional()@isoptional()@isstring()@isnotempty",{"_index":12375,"title":{},"body":{"classes/FilterImportUserParams.html":{},"classes/FilterUserParams.html":{}}}],["apipropertyoptional()@isstring()@isoptional",{"_index":23631,"title":{},"body":{"classes/UserLoginMigrationSearchParams.html":{}}}],["apipropertyoptional({default",{"_index":24085,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["apipropertyoptional({description",{"_index":1361,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/CopyApiResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolSearchParams.html":{},"classes/ForbiddenOperationError.html":{},"classes/ImportUserResponse.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NewsResponse.html":{},"classes/OauthLoginResponse.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SystemFilterParams.html":{},"classes/TaskResponse.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserMatchResponse.html":{},"classes/ValidationError.html":{},"classes/VideoConferenceCreateParams.html":{}}}],["apipropertyoptional({enum",{"_index":10856,"title":{},"body":{"classes/ExternalToolResponse.html":{},"classes/FilterImportUserParams.html":{},"classes/PreviewParams.html":{}}}],["apipropertyoptional({nullable",{"_index":23009,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["apipropertyoptional({type",{"_index":7125,"title":{},"body":{"classes/CopyApiResponse.html":{},"classes/NewsResponse.html":{}}}],["apiresponse",{"_index":391,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/LoginController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/ShareTokenController.html":{},"controllers/SystemController.html":{},"controllers/TldrawController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["apiresponsetimemetrichistogram",{"_index":18773,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["apiresponsetimemetrichistogram.observe(labels",{"_index":18780,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["apiresponsetimemetriclabelnames",{"_index":18759,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["apitags",{"_index":392,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"controllers/DashboardController.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/FileSecurityController.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/ImportUserController.html":{},"controllers/LessonController.html":{},"controllers/LoginController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/NewsController.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"controllers/PseudonymController.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"controllers/SystemController.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"controllers/TldrawController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["apitags('account",{"_index":397,"title":{},"body":{"controllers/AccountController.html":{}}}],["apitags('authentication",{"_index":15799,"title":{},"body":{"controllers/LoginController.html":{}}}],["apitags('board",{"_index":3218,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{}}}],["apitags('collaborative",{"_index":5062,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["apitags('courses",{"_index":7593,"title":{},"body":{"controllers/CourseController.html":{}}}],["apitags('dashboard",{"_index":8361,"title":{},"body":{"controllers/DashboardController.html":{}}}],["apitags('deletionexecutions",{"_index":9132,"title":{},"body":{"controllers/DeletionExecutionsController.html":{}}}],["apitags('deletionrequests",{"_index":9507,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["apitags('file",{"_index":11991,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["apitags('fwu",{"_index":12436,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["apitags('group",{"_index":12730,"title":{},"body":{"controllers/GroupController.html":{}}}],["apitags('h5p",{"_index":13174,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["apitags('lesson",{"_index":15408,"title":{},"body":{"controllers/LessonController.html":{}}}],["apitags('meta",{"_index":16193,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["apitags('news",{"_index":16465,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{}}}],["apitags('oauth2",{"_index":17306,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["apitags('pseudonym",{"_index":18195,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["apitags('rooms",{"_index":19198,"title":{},"body":{"controllers/RoomsController.html":{}}}],["apitags('sharetoken",{"_index":20328,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["apitags('sso",{"_index":17500,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["apitags('submission",{"_index":20761,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["apitags('systems",{"_index":21062,"title":{},"body":{"controllers/SystemController.html":{}}}],["apitags('task",{"_index":21412,"title":{},"body":{"controllers/TaskController.html":{}}}],["apitags('tldraw",{"_index":22329,"title":{},"body":{"controllers/TldrawController.html":{}}}],["apitags('tool",{"_index":22648,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{}}}],["apitags('user",{"_index":23212,"title":{},"body":{"controllers/UserController.html":{}}}],["apitags('userimport",{"_index":13913,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["apitags('userloginmigration",{"_index":23477,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["apitags('videoconference",{"_index":24064,"title":{},"body":{"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["apiunauthorizedresponse",{"_index":18190,"title":{},"body":{"controllers/PseudonymController.html":{},"controllers/SystemController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["apiunprocessableentityresponse",{"_index":22722,"title":{},"body":{"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["apivalidationerror",{"_index":1351,"title":{"classes/ApiValidationError.html":{}},"body":{"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"classes/ErrorLoggable.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"controllers/H5PEditorController.html":{},"controllers/ShareTokenController.html":{},"controllers/TldrawController.html":{}}}],["apivalidationerror(errors",{"_index":12640,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["apivalidationerror.validationerrors.foreach((validationerror",{"_index":1404,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["apivalidationerrorresponse",{"_index":1376,"title":{"classes/ApiValidationErrorResponse.html":{}},"body":{"classes/ApiValidationErrorResponse.html":{},"classes/GlobalErrorFilter.html":{}}}],["apivalidationerrorresponse(error",{"_index":12615,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["apivalidationerror})@apiresponse({status",{"_index":3185,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/H5PEditorController.html":{},"controllers/ShareTokenController.html":{},"controllers/TldrawController.html":{}}}],["app",{"_index":1627,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/NextcloudStrategy.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["app.service('/nest",{"_index":25585,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["app.use(createapiresponsetimemetricmiddleware",{"_index":18059,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["app_filter",{"_index":7418,"title":{},"body":{"modules/CoreModule.html":{},"modules/ErrorModule.html":{},"todo.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["app_guard",{"_index":7417,"title":{},"body":{"modules/CoreModule.html":{}}}],["app_interceptor",{"_index":7415,"title":{},"body":{"modules/CoreModule.html":{},"modules/InterceptorModule.html":{},"todo.html":{}}}],["app_pipe",{"_index":7416,"title":{},"body":{"modules/CoreModule.html":{},"modules/ValidationModule.html":{}}}],["append",{"_index":25284,"title":{},"body":{"todo.html":{}}}],["appendedattachment",{"_index":1439,"title":{"interfaces/AppendedAttachment.html":{}},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["appendnotcontainedboardelements(boardelementtargets",{"_index":2975,"title":{},"body":{"entities/Board.html":{}}}],["applicable",{"_index":24742,"title":{},"body":{"license.html":{}}}],["applicaiton",{"_index":25344,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["application",{"_index":4190,"title":{"additional-documentation/nestjs-application.html":{}},"body":{"classes/BusinessError.html":{},"modules/CoreModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/LegacyLogger.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["application/json",{"_index":1611,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/CalendarService.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["application/octet",{"_index":11477,"title":{},"body":{"classes/FileDtoBuilder.html":{},"classes/FileRecordFactory.html":{}}}],["application/x",{"_index":14711,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthAdapterService.html":{}}}],["application/xml",{"_index":2393,"title":{},"body":{"injectables/BBBService.html":{}}}],["application/zip",{"_index":7605,"title":{},"body":{"controllers/CourseController.html":{}}}],["applications",{"_index":24585,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["applied",{"_index":5256,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/IdentityManagementService.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["applies",{"_index":4958,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/TldrawWsService.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["apply",{"_index":5224,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"modules/InterceptorModule.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/TaskRepo.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["apply(data",{"_index":14248,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["applyawarenessupdate",{"_index":22473,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["applyawarenessupdate(doc.awareness",{"_index":22527,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["applypropertiestopathparams",{"_index":2719,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["applypropertiestopathparams(url",{"_index":2745,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["applyupdate",{"_index":22256,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["applyupdate(ydoc",{"_index":22289,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["appname",{"_index":1419,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["approach",{"_index":25781,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["appropriate",{"_index":4956,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["appropriately",{"_index":24850,"title":{},"body":{"license.html":{}}}],["approve",{"_index":24309,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["approximate",{"_index":4478,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["approximates",{"_index":25193,"title":{},"body":{"license.html":{}}}],["apps/server",{"_index":25331,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["apps/server/doc",{"_index":25393,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["apps/server/src",{"_index":25397,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["apps/server/src/apps/helpers/app",{"_index":1417,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["apps/server/src/apps/helpers/prometheus",{"_index":18033,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["apps/server/src/config/database.config.ts",{"_index":12555,"title":{},"body":{"interfaces/GlobalConstants.html":{}}}],["apps/server/src/console/api",{"_index":22145,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["apps/server/src/console/console.module.ts",{"_index":20169,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["apps/server/src/console/server.console.ts",{"_index":20155,"title":{},"body":{"classes/ServerConsole.html":{}}}],["apps/server/src/console/server.console.ts:11",{"_index":20159,"title":{},"body":{"classes/ServerConsole.html":{}}}],["apps/server/src/console/server.console.ts:17",{"_index":20162,"title":{},"body":{"classes/ServerConsole.html":{}}}],["apps/server/src/console/server.console.ts:6",{"_index":20158,"title":{},"body":{"classes/ServerConsole.html":{}}}],["apps/server/src/core/core.module.ts",{"_index":7406,"title":{},"body":{"modules/CoreModule.html":{}}}],["apps/server/src/core/error/dto/api",{"_index":1377,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["apps/server/src/core/error/dto/error.response.ts",{"_index":9958,"title":{},"body":{"classes/ErrorResponse.html":{}}}],["apps/server/src/core/error/dto/error.response.ts:10",{"_index":9964,"title":{},"body":{"classes/ErrorResponse.html":{}}}],["apps/server/src/core/error/dto/error.response.ts:15",{"_index":9963,"title":{},"body":{"classes/ErrorResponse.html":{}}}],["apps/server/src/core/error/dto/error.response.ts:20",{"_index":9962,"title":{},"body":{"classes/ErrorResponse.html":{}}}],["apps/server/src/core/error/dto/error.response.ts:25",{"_index":9961,"title":{},"body":{"classes/ErrorResponse.html":{}}}],["apps/server/src/core/error/dto/error.response.ts:30",{"_index":9960,"title":{},"body":{"classes/ErrorResponse.html":{}}}],["apps/server/src/core/error/dto/validation",{"_index":23966,"title":{},"body":{"classes/ValidationErrorDetailResponse.html":{}}}],["apps/server/src/core/error/error.module.ts",{"_index":9951,"title":{},"body":{"modules/ErrorModule.html":{}}}],["apps/server/src/core/error/filter/global",{"_index":12560,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["apps/server/src/core/error/interface/error",{"_index":9965,"title":{},"body":{"interfaces/ErrorType.html":{}}}],["apps/server/src/core/error/interface/feathers",{"_index":11265,"title":{},"body":{"interfaces/FeathersError.html":{}}}],["apps/server/src/core/error/loggable/axios",{"_index":2096,"title":{},"body":{"classes/AxiosErrorLoggable.html":{}}}],["apps/server/src/core/error/loggable/error.loggable.ts",{"_index":9863,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["apps/server/src/core/error/loggable/error.loggable.ts:11",{"_index":9871,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["apps/server/src/core/error/loggable/error.loggable.ts:13",{"_index":9874,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["apps/server/src/core/error/loggable/error.loggable.ts:34",{"_index":9873,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["apps/server/src/core/error/loggable/error.loggable.ts:47",{"_index":9876,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["apps/server/src/core/error/loggable/error.loggable.ts:56",{"_index":9878,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["apps/server/src/core/error/loggable/error.loggable.ts:8",{"_index":9869,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["apps/server/src/core/error/utils/error.utils.ts",{"_index":9967,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["apps/server/src/core/error/utils/error.utils.ts:16",{"_index":9976,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["apps/server/src/core/error/utils/error.utils.ts:20",{"_index":9981,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["apps/server/src/core/error/utils/error.utils.ts:24",{"_index":9973,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["apps/server/src/core/error/utils/error.utils.ts:6",{"_index":9978,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["apps/server/src/core/interceptor/interceptor.module.ts",{"_index":14196,"title":{},"body":{"modules/InterceptorModule.html":{}}}],["apps/server/src/core/interfaces/core",{"_index":7421,"title":{},"body":{"interfaces/CoreModuleConfig.html":{}}}],["apps/server/src/core/logger/error",{"_index":9910,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["apps/server/src/core/logger/interfaces/legacy",{"_index":13636,"title":{},"body":{"interfaces/ILegacyLogger.html":{}}}],["apps/server/src/core/logger/interfaces/loggable.ts",{"_index":15718,"title":{},"body":{"interfaces/Loggable.html":{}}}],["apps/server/src/core/logger/interfaces/loggable.ts:4",{"_index":15719,"title":{},"body":{"interfaces/Loggable.html":{}}}],["apps/server/src/core/logger/interfaces/logger",{"_index":15737,"title":{},"body":{"interfaces/LoggerConfig.html":{}}}],["apps/server/src/core/logger/legacy",{"_index":15136,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["apps/server/src/core/logger/logger.module.ts",{"_index":15741,"title":{},"body":{"modules/LoggerModule.html":{}}}],["apps/server/src/core/logger/logger.ts",{"_index":15720,"title":{},"body":{"injectables/Logger.html":{}}}],["apps/server/src/core/logger/logger.ts:13",{"_index":15732,"title":{},"body":{"injectables/Logger.html":{}}}],["apps/server/src/core/logger/logger.ts:18",{"_index":15729,"title":{},"body":{"injectables/Logger.html":{}}}],["apps/server/src/core/logger/logger.ts:23",{"_index":15727,"title":{},"body":{"injectables/Logger.html":{}}}],["apps/server/src/core/logger/logger.ts:28",{"_index":15725,"title":{},"body":{"injectables/Logger.html":{}}}],["apps/server/src/core/logger/logger.ts:33",{"_index":15730,"title":{},"body":{"injectables/Logger.html":{}}}],["apps/server/src/core/logger/logger.ts:9",{"_index":15723,"title":{},"body":{"injectables/Logger.html":{}}}],["apps/server/src/core/logger/logging.utils.ts",{"_index":15762,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["apps/server/src/core/logger/logging.utils.ts:13",{"_index":15772,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["apps/server/src/core/logger/logging.utils.ts:18",{"_index":15770,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["apps/server/src/core/logger/logging.utils.ts:6",{"_index":15767,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["apps/server/src/core/validation/pipe/global",{"_index":12625,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["apps/server/src/core/validation/validation.module.ts",{"_index":23979,"title":{},"body":{"modules/ValidationModule.html":{}}}],["apps/server/src/infra/antivirus/antivirus.module.ts",{"_index":1259,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["apps/server/src/infra/antivirus/antivirus.module.ts:8",{"_index":1261,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["apps/server/src/infra/antivirus/antivirus.service.ts",{"_index":1293,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["apps/server/src/infra/antivirus/antivirus.service.ts:10",{"_index":1300,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["apps/server/src/infra/antivirus/antivirus.service.ts:17",{"_index":1303,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["apps/server/src/infra/antivirus/antivirus.service.ts:44",{"_index":1308,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["apps/server/src/infra/antivirus/antivirus.service.ts:62",{"_index":1306,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["apps/server/src/infra/antivirus/interfaces/antivirus.ts",{"_index":1287,"title":{},"body":{"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"interfaces/ScanResult.html":{}}}],["apps/server/src/infra/cache/cache.module.ts",{"_index":4221,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["apps/server/src/infra/cache/service/cache.service.ts",{"_index":4208,"title":{},"body":{"injectables/CacheService.html":{}}}],["apps/server/src/infra/cache/service/cache.service.ts:7",{"_index":4210,"title":{},"body":{"injectables/CacheService.html":{}}}],["apps/server/src/infra/calendar/calendar.module.ts",{"_index":4271,"title":{},"body":{"modules/CalendarModule.html":{}}}],["apps/server/src/infra/calendar/dto/calendar",{"_index":4246,"title":{},"body":{"classes/CalendarEventDto.html":{}}}],["apps/server/src/infra/calendar/interface/calendar",{"_index":4240,"title":{},"body":{"interfaces/CalendarEvent.html":{}}}],["apps/server/src/infra/calendar/mapper/calendar.mapper.ts",{"_index":4255,"title":{},"body":{"injectables/CalendarMapper.html":{}}}],["apps/server/src/infra/calendar/mapper/calendar.mapper.ts:7",{"_index":4257,"title":{},"body":{"injectables/CalendarMapper.html":{}}}],["apps/server/src/infra/calendar/service/calendar.service.ts",{"_index":4274,"title":{},"body":{"injectables/CalendarService.html":{}}}],["apps/server/src/infra/calendar/service/calendar.service.ts:15",{"_index":4284,"title":{},"body":{"injectables/CalendarService.html":{}}}],["apps/server/src/infra/calendar/service/calendar.service.ts:17",{"_index":4278,"title":{},"body":{"injectables/CalendarService.html":{}}}],["apps/server/src/infra/calendar/service/calendar.service.ts:24",{"_index":4281,"title":{},"body":{"injectables/CalendarService.html":{}}}],["apps/server/src/infra/calendar/service/calendar.service.ts:46",{"_index":4283,"title":{},"body":{"injectables/CalendarService.html":{}}}],["apps/server/src/infra/collaborative",{"_index":4949,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/Meta.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"interfaces/OcsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["apps/server/src/infra/console/console",{"_index":6320,"title":{},"body":{"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{}}}],["apps/server/src/infra/database/management/database",{"_index":8827,"title":{},"body":{"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{}}}],["apps/server/src/infra/database/mongo",{"_index":16379,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["apps/server/src/infra/encryption/encryption.interface.ts",{"_index":9845,"title":{},"body":{"interfaces/EncryptionService.html":{}}}],["apps/server/src/infra/encryption/encryption.interface.ts:5",{"_index":9851,"title":{},"body":{"interfaces/EncryptionService.html":{}}}],["apps/server/src/infra/encryption/encryption.interface.ts:6",{"_index":9849,"title":{},"body":{"interfaces/EncryptionService.html":{}}}],["apps/server/src/infra/encryption/encryption.module.ts",{"_index":9835,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["apps/server/src/infra/encryption/encryption.service.ts",{"_index":21018,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["apps/server/src/infra/encryption/encryption.service.ts:15",{"_index":21021,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["apps/server/src/infra/encryption/encryption.service.ts:23",{"_index":21020,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["apps/server/src/infra/encryption/encryption.service.ts:8",{"_index":21019,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["apps/server/src/infra/feathers/feathers",{"_index":11387,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["apps/server/src/infra/feathers/feathers.module.ts",{"_index":11271,"title":{},"body":{"modules/FeathersModule.html":{}}}],["apps/server/src/infra/file",{"_index":12028,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{}}}],["apps/server/src/infra/identity",{"_index":4840,"title":{},"body":{"interfaces/CleanOptions.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/IdentityManagementConfig.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"interfaces/MigrationOptions.html":{},"classes/OidcIdentityProviderMapper.html":{},"interfaces/RetryOptions.html":{}}}],["apps/server/src/infra/mail/interfaces/mail",{"_index":16065,"title":{},"body":{"interfaces/MailConfig.html":{}}}],["apps/server/src/infra/mail/mail.interface.ts",{"_index":1440,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["apps/server/src/infra/mail/mail.module.ts",{"_index":16068,"title":{},"body":{"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{}}}],["apps/server/src/infra/mail/mail.module.ts:13",{"_index":16070,"title":{},"body":{"modules/MailModule.html":{}}}],["apps/server/src/infra/mail/mail.service.ts",{"_index":16075,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["apps/server/src/infra/mail/mail.service.ts:14",{"_index":16080,"title":{},"body":{"injectables/MailService.html":{}}}],["apps/server/src/infra/mail/mail.service.ts:24",{"_index":16086,"title":{},"body":{"injectables/MailService.html":{}}}],["apps/server/src/infra/mail/mail.service.ts:39",{"_index":16082,"title":{},"body":{"injectables/MailService.html":{}}}],["apps/server/src/infra/mail/mail.service.ts:54",{"_index":16085,"title":{},"body":{"injectables/MailService.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts",{"_index":17991,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:12",{"_index":18008,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:14",{"_index":18013,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:18",{"_index":18007,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:20",{"_index":18015,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:24",{"_index":18003,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:26",{"_index":18017,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:30",{"_index":18004,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:32",{"_index":18019,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:34",{"_index":18002,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:4",{"_index":18005,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:44",{"_index":18020,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:52",{"_index":18009,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:6",{"_index":18006,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/config.ts:8",{"_index":18011,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts",{"_index":18733,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts:10",{"_index":18740,"title":{},"body":{"classes/RequestInfo.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts:12",{"_index":18742,"title":{},"body":{"classes/RequestInfo.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts:14",{"_index":18744,"title":{},"body":{"classes/RequestInfo.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts:16",{"_index":18738,"title":{},"body":{"classes/RequestInfo.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts:32",{"_index":18827,"title":{},"body":{"classes/ResponseInfo.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts:6",{"_index":18741,"title":{},"body":{"classes/RequestInfo.html":{}}}],["apps/server/src/infra/metrics/prometheus/middleware.ts:8",{"_index":18739,"title":{},"body":{"classes/RequestInfo.html":{}}}],["apps/server/src/infra/oauth",{"_index":162,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/HydraOauthFailedLoggableException.html":{},"interfaces/IntrospectResponse.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"interfaces/RejectRequestBody.html":{}}}],["apps/server/src/infra/preview",{"_index":17820,"title":{},"body":{"classes/PreviewActionsLoggable.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{}}}],["apps/server/src/infra/rabbitmq/error.mapper.ts",{"_index":9936,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["apps/server/src/infra/rabbitmq/error.mapper.ts:6",{"_index":9940,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["apps/server/src/infra/rabbitmq/exchange/files",{"_index":7136,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{}}}],["apps/server/src/infra/rabbitmq/rabbitmq.module.ts",{"_index":18351,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["apps/server/src/infra/rabbitmq/rabbitmq.module.ts:55",{"_index":18374,"title":{},"body":{"modules/RabbitMQWrapperTestModule.html":{}}}],["apps/server/src/infra/rabbitmq/rpc",{"_index":13603,"title":{},"body":{"interfaces/IError.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{}}}],["apps/server/src/infra/redis/redis.module.ts",{"_index":18608,"title":{},"body":{"modules/RedisModule.html":{}}}],["apps/server/src/infra/s3",{"_index":7241,"title":{},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{}}}],["apps/server/src/modules/account/account",{"_index":272,"title":{},"body":{"modules/AccountApiModule.html":{},"interfaces/AccountConfig.html":{}}}],["apps/server/src/modules/account/account.module.ts",{"_index":672,"title":{},"body":{"modules/AccountModule.html":{}}}],["apps/server/src/modules/account/controller/account.controller.ts",{"_index":315,"title":{},"body":{"controllers/AccountController.html":{}}}],["apps/server/src/modules/account/controller/account.controller.ts:31",{"_index":377,"title":{},"body":{"controllers/AccountController.html":{}}}],["apps/server/src/modules/account/controller/account.controller.ts:44",{"_index":352,"title":{},"body":{"controllers/AccountController.html":{}}}],["apps/server/src/modules/account/controller/account.controller.ts:60",{"_index":387,"title":{},"body":{"controllers/AccountController.html":{}}}],["apps/server/src/modules/account/controller/account.controller.ts:70",{"_index":381,"title":{},"body":{"controllers/AccountController.html":{}}}],["apps/server/src/modules/account/controller/account.controller.ts:84",{"_index":348,"title":{},"body":{"controllers/AccountController.html":{}}}],["apps/server/src/modules/account/controller/account.controller.ts:97",{"_index":363,"title":{},"body":{"controllers/AccountController.html":{}}}],["apps/server/src/modules/account/controller/dto/account",{"_index":285,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{}}}],["apps/server/src/modules/account/controller/dto/account.response.ts",{"_index":820,"title":{},"body":{"classes/AccountResponse.html":{}}}],["apps/server/src/modules/account/controller/dto/account.response.ts:13",{"_index":824,"title":{},"body":{"classes/AccountResponse.html":{}}}],["apps/server/src/modules/account/controller/dto/account.response.ts:16",{"_index":827,"title":{},"body":{"classes/AccountResponse.html":{}}}],["apps/server/src/modules/account/controller/dto/account.response.ts:19",{"_index":826,"title":{},"body":{"classes/AccountResponse.html":{}}}],["apps/server/src/modules/account/controller/dto/account.response.ts:22",{"_index":823,"title":{},"body":{"classes/AccountResponse.html":{}}}],["apps/server/src/modules/account/controller/dto/account.response.ts:25",{"_index":825,"title":{},"body":{"classes/AccountResponse.html":{}}}],["apps/server/src/modules/account/controller/dto/account.response.ts:3",{"_index":822,"title":{},"body":{"classes/AccountResponse.html":{}}}],["apps/server/src/modules/account/controller/dto/patch",{"_index":17755,"title":{},"body":{"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{}}}],["apps/server/src/modules/account/mapper/account",{"_index":465,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/AccountResponseMapper.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts",{"_index":727,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:11",{"_index":767,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:19",{"_index":740,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:23",{"_index":746,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:28",{"_index":742,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:32",{"_index":743,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:36",{"_index":749,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:43",{"_index":751,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:47",{"_index":747,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:51",{"_index":755,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:55",{"_index":757,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:59",{"_index":738,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:64",{"_index":739,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:74",{"_index":744,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/repo/account.repo.ts:80",{"_index":754,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["apps/server/src/modules/account/services/account",{"_index":608,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AccountServiceDb.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts",{"_index":6,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:10",{"_index":43,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:12",{"_index":45,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:14",{"_index":50,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:16",{"_index":65,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:18",{"_index":90,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:23",{"_index":84,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:25",{"_index":88,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:27",{"_index":28,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:29",{"_index":38,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:31",{"_index":71,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:33",{"_index":68,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:35",{"_index":93,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:39",{"_index":57,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:6",{"_index":41,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.service.abstract.ts:8",{"_index":61,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["apps/server/src/modules/account/services/account.validation.service.ts",{"_index":966,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["apps/server/src/modules/account/services/account.validation.service.ts:11",{"_index":972,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["apps/server/src/modules/account/services/account.validation.service.ts:29",{"_index":976,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["apps/server/src/modules/account/services/account.validation.service.ts:34",{"_index":974,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["apps/server/src/modules/account/services/account.validation.service.ts:8",{"_index":970,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["apps/server/src/modules/account/services/dto/account",{"_index":839,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["apps/server/src/modules/account/services/dto/account.dto.ts",{"_index":429,"title":{},"body":{"classes/AccountDto.html":{}}}],["apps/server/src/modules/account/services/dto/account.dto.ts:9",{"_index":434,"title":{},"body":{"classes/AccountDto.html":{}}}],["apps/server/src/modules/authentication/authentication",{"_index":1486,"title":{},"body":{"modules/AuthenticationApiModule.html":{}}}],["apps/server/src/modules/authentication/authentication.module.ts",{"_index":1535,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["apps/server/src/modules/authentication/config/x",{"_index":24408,"title":{},"body":{"interfaces/XApiKeyConfig.html":{}}}],["apps/server/src/modules/authentication/constants.ts",{"_index":14302,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["apps/server/src/modules/authentication/controllers/dto/ldap",{"_index":14901,"title":{},"body":{"classes/LdapAuthorizationBodyParams.html":{}}}],["apps/server/src/modules/authentication/controllers/dto/local",{"_index":15686,"title":{},"body":{"classes/LocalAuthorizationBodyParams.html":{}}}],["apps/server/src/modules/authentication/controllers/dto/login.response.ts",{"_index":15823,"title":{},"body":{"classes/LoginResponse.html":{}}}],["apps/server/src/modules/authentication/controllers/dto/login.response.ts:5",{"_index":15824,"title":{},"body":{"classes/LoginResponse.html":{}}}],["apps/server/src/modules/authentication/controllers/dto/oauth",{"_index":17149,"title":{},"body":{"classes/OauthLoginResponse.html":{}}}],["apps/server/src/modules/authentication/controllers/dto/oauth2",{"_index":16919,"title":{},"body":{"classes/Oauth2AuthorizationBodyParams.html":{}}}],["apps/server/src/modules/authentication/controllers/login.controller.ts",{"_index":15776,"title":{},"body":{"controllers/LoginController.html":{}}}],["apps/server/src/modules/authentication/controllers/login.controller.ts:31",{"_index":15786,"title":{},"body":{"controllers/LoginController.html":{}}}],["apps/server/src/modules/authentication/controllers/login.controller.ts:47",{"_index":15790,"title":{},"body":{"controllers/LoginController.html":{}}}],["apps/server/src/modules/authentication/controllers/login.controller.ts:62",{"_index":15795,"title":{},"body":{"controllers/LoginController.html":{}}}],["apps/server/src/modules/authentication/controllers/mapper/login",{"_index":15844,"title":{},"body":{"classes/LoginResponseMapper.html":{}}}],["apps/server/src/modules/authentication/errors/brute",{"_index":4152,"title":{},"body":{"classes/BruteForceError.html":{}}}],["apps/server/src/modules/authentication/errors/ldap",{"_index":15027,"title":{},"body":{"classes/LdapConnectionError.html":{}}}],["apps/server/src/modules/authentication/errors/unauthorized.loggable",{"_index":23106,"title":{},"body":{"classes/UnauthorizedLoggableException.html":{}}}],["apps/server/src/modules/authentication/guard/jwt",{"_index":14299,"title":{},"body":{"injectables/JwtAuthGuard.html":{}}}],["apps/server/src/modules/authentication/interface/jwt",{"_index":7997,"title":{},"body":{"interfaces/CreateJwtPayload.html":{},"interfaces/JwtPayload.html":{}}}],["apps/server/src/modules/authentication/interface/oauth",{"_index":17125,"title":{},"body":{"interfaces/OauthCurrentUser.html":{}}}],["apps/server/src/modules/authentication/interface/user.ts",{"_index":13597,"title":{},"body":{"interfaces/ICurrentUser.html":{}}}],["apps/server/src/modules/authentication/loggable/school",{"_index":19920,"title":{},"body":{"classes/SchoolInMigrationLoggableException.html":{}}}],["apps/server/src/modules/authentication/mapper/current",{"_index":8045,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts",{"_index":1686,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:17",{"_index":1695,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:25",{"_index":1702,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:42",{"_index":1700,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:57",{"_index":1708,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:65",{"_index":1697,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:76",{"_index":1711,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:80",{"_index":1706,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/authentication.service.ts:84",{"_index":1704,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["apps/server/src/modules/authentication/services/ldap.service.ts",{"_index":15033,"title":{},"body":{"injectables/LdapService.html":{}}}],["apps/server/src/modules/authentication/services/ldap.service.ts:14",{"_index":15037,"title":{},"body":{"injectables/LdapService.html":{}}}],["apps/server/src/modules/authentication/services/ldap.service.ts:23",{"_index":15039,"title":{},"body":{"injectables/LdapService.html":{}}}],["apps/server/src/modules/authentication/services/ldap.service.ts:9",{"_index":15035,"title":{},"body":{"injectables/LdapService.html":{}}}],["apps/server/src/modules/authentication/strategy/jwt",{"_index":14317,"title":{},"body":{"classes/JwtExtractor.html":{},"injectables/JwtValidationAdapter.html":{}}}],["apps/server/src/modules/authentication/strategy/jwt.strategy.ts",{"_index":14326,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/jwt.strategy.ts:12",{"_index":14329,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/jwt.strategy.ts:25",{"_index":14331,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/ldap.strategy.ts",{"_index":15063,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/ldap.strategy.ts:17",{"_index":15069,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/ldap.strategy.ts:29",{"_index":15079,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/ldap.strategy.ts:57",{"_index":15076,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/ldap.strategy.ts:69",{"_index":15074,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/ldap.strategy.ts:76",{"_index":15072,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/ldap.strategy.ts:92",{"_index":15077,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/local.strategy.ts",{"_index":15689,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/local.strategy.ts:15",{"_index":15692,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/local.strategy.ts:25",{"_index":15700,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/local.strategy.ts:46",{"_index":15698,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/local.strategy.ts:54",{"_index":15695,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["apps/server/src/modules/authentication/strategy/oauth2.strategy.ts",{"_index":16926,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["apps/server/src/modules/authentication/strategy/oauth2.strategy.ts:14",{"_index":16927,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["apps/server/src/modules/authentication/strategy/oauth2.strategy.ts:19",{"_index":16928,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["apps/server/src/modules/authentication/strategy/x",{"_index":24410,"title":{},"body":{"injectables/XApiKeyStrategy.html":{}}}],["apps/server/src/modules/authentication/uc/dto/login.dto.ts",{"_index":15815,"title":{},"body":{"classes/LoginDto.html":{}}}],["apps/server/src/modules/authentication/uc/dto/login.dto.ts:2",{"_index":15816,"title":{},"body":{"classes/LoginDto.html":{}}}],["apps/server/src/modules/authentication/uc/login.uc.ts",{"_index":15852,"title":{},"body":{"injectables/LoginUc.html":{}}}],["apps/server/src/modules/authentication/uc/login.uc.ts:12",{"_index":15857,"title":{},"body":{"injectables/LoginUc.html":{}}}],["apps/server/src/modules/authentication/uc/login.uc.ts:9",{"_index":15855,"title":{},"body":{"injectables/LoginUc.html":{}}}],["apps/server/src/modules/authorization/authorization",{"_index":1916,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["apps/server/src/modules/authorization/authorization.module.ts",{"_index":1880,"title":{},"body":{"modules/AuthorizationModule.html":{}}}],["apps/server/src/modules/authorization/domain/error/forbidden.loggable",{"_index":12406,"title":{},"body":{"classes/ForbiddenLoggableException.html":{}}}],["apps/server/src/modules/authorization/domain/mapper/authorization",{"_index":1781,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["apps/server/src/modules/authorization/domain/rules/board",{"_index":3661,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/context",{"_index":6938,"title":{},"body":{"injectables/ContextExternalToolRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/course",{"_index":7752,"title":{},"body":{"injectables/CourseGroupRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/course.rule.ts",{"_index":7903,"title":{},"body":{"injectables/CourseRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/course.rule.ts:10",{"_index":7906,"title":{},"body":{"injectables/CourseRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/course.rule.ts:16",{"_index":7905,"title":{},"body":{"injectables/CourseRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/course.rule.ts:7",{"_index":7904,"title":{},"body":{"injectables/CourseRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/group.rule.ts",{"_index":12926,"title":{},"body":{"injectables/GroupRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/group.rule.ts:11",{"_index":12929,"title":{},"body":{"injectables/GroupRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/group.rule.ts:17",{"_index":12928,"title":{},"body":{"injectables/GroupRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/group.rule.ts:8",{"_index":12927,"title":{},"body":{"injectables/GroupRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/legacy",{"_index":15279,"title":{},"body":{"injectables/LegacySchoolRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts",{"_index":15501,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:16",{"_index":15513,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:22",{"_index":15512,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:40",{"_index":15515,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:53",{"_index":15517,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:59",{"_index":15519,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:73",{"_index":15511,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:79",{"_index":15509,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:9",{"_index":15507,"title":{},"body":{"injectables/LessonRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/school",{"_index":19818,"title":{},"body":{"injectables/SchoolExternalToolRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts",{"_index":20926,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:11",{"_index":20944,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:17",{"_index":20939,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:27",{"_index":20934,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:41",{"_index":20943,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:47",{"_index":20941,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:61",{"_index":20938,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:70",{"_index":20936,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/submission.rule.ts:8",{"_index":20932,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/system.rule.ts",{"_index":21217,"title":{},"body":{"injectables/SystemRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/system.rule.ts:11",{"_index":21223,"title":{},"body":{"injectables/SystemRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/system.rule.ts:17",{"_index":21222,"title":{},"body":{"injectables/SystemRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/system.rule.ts:31",{"_index":21221,"title":{},"body":{"injectables/SystemRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/system.rule.ts:8",{"_index":21219,"title":{},"body":{"injectables/SystemRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/task.rule.ts",{"_index":21702,"title":{},"body":{"injectables/TaskRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/task.rule.ts:16",{"_index":21708,"title":{},"body":{"injectables/TaskRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/task.rule.ts:22",{"_index":21707,"title":{},"body":{"injectables/TaskRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/task.rule.ts:43",{"_index":21706,"title":{},"body":{"injectables/TaskRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/task.rule.ts:9",{"_index":21704,"title":{},"body":{"injectables/TaskRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/team.rule.ts",{"_index":21968,"title":{},"body":{"injectables/TeamRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/team.rule.ts:10",{"_index":21971,"title":{},"body":{"injectables/TeamRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/team.rule.ts:14",{"_index":21970,"title":{},"body":{"injectables/TeamRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/team.rule.ts:7",{"_index":21969,"title":{},"body":{"injectables/TeamRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/user",{"_index":23625,"title":{},"body":{"injectables/UserLoginMigrationRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/user.rule.ts",{"_index":23870,"title":{},"body":{"injectables/UserRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/user.rule.ts:10",{"_index":23873,"title":{},"body":{"injectables/UserRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/user.rule.ts:16",{"_index":23872,"title":{},"body":{"injectables/UserRule.html":{}}}],["apps/server/src/modules/authorization/domain/rules/user.rule.ts:7",{"_index":23871,"title":{},"body":{"injectables/UserRule.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization",{"_index":1942,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.helper.ts",{"_index":1802,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.helper.ts:14",{"_index":1815,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.helper.ts:21",{"_index":1817,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.helper.ts:32",{"_index":1811,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.helper.ts:38",{"_index":1820,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.helper.ts:7",{"_index":1813,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts",{"_index":1964,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:13",{"_index":1970,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:20",{"_index":1976,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:26",{"_index":1982,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:33",{"_index":1972,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:40",{"_index":1979,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:44",{"_index":1974,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:51",{"_index":1980,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/authorization.service.ts:55",{"_index":1978,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["apps/server/src/modules/authorization/domain/service/reference.loader.ts",{"_index":18612,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["apps/server/src/modules/authorization/domain/service/reference.loader.ts:41",{"_index":18617,"title":{},"body":{"injectables/ReferenceLoader.html":{}}}],["apps/server/src/modules/authorization/domain/service/reference.loader.ts:71",{"_index":18622,"title":{},"body":{"injectables/ReferenceLoader.html":{}}}],["apps/server/src/modules/authorization/domain/service/reference.loader.ts:79",{"_index":18619,"title":{},"body":{"injectables/ReferenceLoader.html":{}}}],["apps/server/src/modules/authorization/domain/service/rule",{"_index":19282,"title":{},"body":{"injectables/RuleManager.html":{}}}],["apps/server/src/modules/authorization/domain/type/authorization",{"_index":1776,"title":{},"body":{"interfaces/AuthorizationContext.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{}}}],["apps/server/src/modules/authorization/domain/type/rule.interface.ts",{"_index":19279,"title":{},"body":{"interfaces/Rule.html":{}}}],["apps/server/src/modules/authorization/domain/type/rule.interface.ts:7",{"_index":19281,"title":{},"body":{"interfaces/Rule.html":{}}}],["apps/server/src/modules/authorization/domain/type/rule.interface.ts:8",{"_index":19280,"title":{},"body":{"interfaces/Rule.html":{}}}],["apps/server/src/modules/authorization/feathers/feathers",{"_index":11197,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{}}}],["apps/server/src/modules/board/board",{"_index":2998,"title":{},"body":{"modules/BoardApiModule.html":{}}}],["apps/server/src/modules/board/board.module.ts",{"_index":3850,"title":{},"body":{"modules/BoardModule.html":{}}}],["apps/server/src/modules/board/controller/board",{"_index":3991,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["apps/server/src/modules/board/controller/board.controller.ts",{"_index":3172,"title":{},"body":{"controllers/BoardController.html":{}}}],["apps/server/src/modules/board/controller/board.controller.ts:33",{"_index":3202,"title":{},"body":{"controllers/BoardController.html":{}}}],["apps/server/src/modules/board/controller/board.controller.ts:50",{"_index":3197,"title":{},"body":{"controllers/BoardController.html":{}}}],["apps/server/src/modules/board/controller/board.controller.ts:68",{"_index":3208,"title":{},"body":{"controllers/BoardController.html":{}}}],["apps/server/src/modules/board/controller/board.controller.ts:83",{"_index":3193,"title":{},"body":{"controllers/BoardController.html":{}}}],["apps/server/src/modules/board/controller/board.controller.ts:93",{"_index":3188,"title":{},"body":{"controllers/BoardController.html":{}}}],["apps/server/src/modules/board/controller/card.controller.ts",{"_index":4320,"title":{},"body":{"controllers/CardController.html":{}}}],["apps/server/src/modules/board/controller/card.controller.ts:114",{"_index":4335,"title":{},"body":{"controllers/CardController.html":{}}}],["apps/server/src/modules/board/controller/card.controller.ts:143",{"_index":4331,"title":{},"body":{"controllers/CardController.html":{}}}],["apps/server/src/modules/board/controller/card.controller.ts:48",{"_index":4342,"title":{},"body":{"controllers/CardController.html":{}}}],["apps/server/src/modules/board/controller/card.controller.ts:69",{"_index":4346,"title":{},"body":{"controllers/CardController.html":{}}}],["apps/server/src/modules/board/controller/card.controller.ts:84",{"_index":4350,"title":{},"body":{"controllers/CardController.html":{}}}],["apps/server/src/modules/board/controller/card.controller.ts:99",{"_index":4353,"title":{},"body":{"controllers/CardController.html":{}}}],["apps/server/src/modules/board/controller/column.controller.ts",{"_index":5576,"title":{},"body":{"controllers/ColumnController.html":{}}}],["apps/server/src/modules/board/controller/column.controller.ts:34",{"_index":5594,"title":{},"body":{"controllers/ColumnController.html":{}}}],["apps/server/src/modules/board/controller/column.controller.ts:49",{"_index":5597,"title":{},"body":{"controllers/ColumnController.html":{}}}],["apps/server/src/modules/board/controller/column.controller.ts:64",{"_index":5590,"title":{},"body":{"controllers/ColumnController.html":{}}}],["apps/server/src/modules/board/controller/column.controller.ts:75",{"_index":5587,"title":{},"body":{"controllers/ColumnController.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board",{"_index":3162,"title":{},"body":{"classes/BoardContextResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.response.ts",{"_index":3968,"title":{},"body":{"classes/BoardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.response.ts:17",{"_index":3971,"title":{},"body":{"classes/BoardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.response.ts:21",{"_index":3974,"title":{},"body":{"classes/BoardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.response.ts:26",{"_index":3970,"title":{},"body":{"classes/BoardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.response.ts:29",{"_index":3973,"title":{},"body":{"classes/BoardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.response.ts:6",{"_index":3969,"title":{},"body":{"classes/BoardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.url.params.ts",{"_index":4149,"title":{},"body":{"classes/BoardUrlParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/board.url.params.ts:11",{"_index":4151,"title":{},"body":{"classes/BoardUrlParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/card",{"_index":4474,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.response.ts",{"_index":5614,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.response.ts:17",{"_index":5617,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.response.ts:21",{"_index":5619,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.response.ts:26",{"_index":5616,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.response.ts:29",{"_index":5618,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.response.ts:6",{"_index":5615,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.url.params.ts",{"_index":5665,"title":{},"body":{"classes/ColumnUrlParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/column.url.params.ts:11",{"_index":5666,"title":{},"body":{"classes/ColumnUrlParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/content",{"_index":6495,"title":{},"body":{"classes/ContentElementUrlParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/move",{"_index":16407,"title":{},"body":{"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/rename.body.params.ts",{"_index":18728,"title":{},"body":{"classes/RenameBodyParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/rename.body.params.ts:12",{"_index":18730,"title":{},"body":{"classes/RenameBodyParams.html":{}}}],["apps/server/src/modules/board/controller/dto/board/set",{"_index":20260,"title":{},"body":{"classes/SetHeightBodyParams.html":{}}}],["apps/server/src/modules/board/controller/dto/card.url.params.ts",{"_index":4527,"title":{},"body":{"classes/CardUrlParams.html":{}}}],["apps/server/src/modules/board/controller/dto/card.url.params.ts:11",{"_index":4528,"title":{},"body":{"classes/CardUrlParams.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card",{"_index":4390,"title":{},"body":{"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts",{"_index":4408,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts:23",{"_index":4410,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts:36",{"_index":4413,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts:40",{"_index":4415,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts:43",{"_index":4412,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts:58",{"_index":4411,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts:61",{"_index":4417,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/card.response.ts:64",{"_index":4414,"title":{},"body":{"classes/CardResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/card/create",{"_index":7950,"title":{},"body":{"classes/CreateCardBodyParams.html":{}}}],["apps/server/src/modules/board/controller/dto/card/move",{"_index":16417,"title":{},"body":{"classes/MoveContentElementBody.html":{}}}],["apps/server/src/modules/board/controller/dto/card/visibility",{"_index":24358,"title":{},"body":{"classes/VisibilitySettingsResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/element/create",{"_index":7955,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{}}}],["apps/server/src/modules/board/controller/dto/element/drawing",{"_index":9614,"title":{},"body":{"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/element/external",{"_index":10267,"title":{},"body":{"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/element/file",{"_index":11498,"title":{},"body":{"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/element/link",{"_index":15652,"title":{},"body":{"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/element/rich",{"_index":18884,"title":{},"body":{"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/element/submission",{"_index":20726,"title":{},"body":{"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/element/update",{"_index":9565,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["apps/server/src/modules/board/controller/dto/submission",{"_index":8037,"title":{},"body":{"classes/CreateSubmissionItemBodyParams.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionsResponse.html":{},"classes/UpdateSubmissionItemBodyParams.html":{}}}],["apps/server/src/modules/board/controller/dto/timestamps.response.ts",{"_index":22219,"title":{},"body":{"classes/TimestampsResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/timestamps.response.ts:11",{"_index":22223,"title":{},"body":{"classes/TimestampsResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/timestamps.response.ts:14",{"_index":22221,"title":{},"body":{"classes/TimestampsResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/timestamps.response.ts:17",{"_index":22222,"title":{},"body":{"classes/TimestampsResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/timestamps.response.ts:3",{"_index":22220,"title":{},"body":{"classes/TimestampsResponse.html":{}}}],["apps/server/src/modules/board/controller/dto/user",{"_index":23333,"title":{},"body":{"classes/UserDataResponse.html":{}}}],["apps/server/src/modules/board/controller/element.controller.ts",{"_index":9760,"title":{},"body":{"controllers/ElementController.html":{}}}],["apps/server/src/modules/board/controller/element.controller.ts:114",{"_index":9772,"title":{},"body":{"controllers/ElementController.html":{}}}],["apps/server/src/modules/board/controller/element.controller.ts:129",{"_index":9768,"title":{},"body":{"controllers/ElementController.html":{}}}],["apps/server/src/modules/board/controller/element.controller.ts:53",{"_index":9776,"title":{},"body":{"controllers/ElementController.html":{}}}],["apps/server/src/modules/board/controller/element.controller.ts:93",{"_index":9781,"title":{},"body":{"controllers/ElementController.html":{}}}],["apps/server/src/modules/board/controller/mapper/base",{"_index":2627,"title":{},"body":{"interfaces/BaseResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/board",{"_index":3979,"title":{},"body":{"classes/BoardResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/card",{"_index":4422,"title":{},"body":{"classes/CardResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/column",{"_index":5622,"title":{},"body":{"classes/ColumnResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/content",{"_index":6363,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["apps/server/src/modules/board/controller/mapper/drawing",{"_index":9629,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/external",{"_index":10281,"title":{},"body":{"classes/ExternalToolElementResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/file",{"_index":11516,"title":{},"body":{"classes/FileElementResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/link",{"_index":15666,"title":{},"body":{"classes/LinkElementResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/rich",{"_index":18902,"title":{},"body":{"classes/RichTextElementResponseMapper.html":{}}}],["apps/server/src/modules/board/controller/mapper/submission",{"_index":20739,"title":{},"body":{"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["apps/server/src/modules/board/repo/board",{"_index":3475,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardNodeRepo.html":{}}}],["apps/server/src/modules/board/repo/recursive",{"_index":18482,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["apps/server/src/modules/board/service/board",{"_index":3393,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoService.html":{},"classes/RecursiveCopyVisitor.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["apps/server/src/modules/board/service/card.service.ts",{"_index":4431,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:10",{"_index":4435,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:17",{"_index":4445,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:21",{"_index":4448,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:30",{"_index":4439,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:51",{"_index":4443,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:55",{"_index":4451,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:59",{"_index":4453,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:65",{"_index":4455,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/card.service.ts:71",{"_index":4441,"title":{},"body":{"injectables/CardService.html":{}}}],["apps/server/src/modules/board/service/column",{"_index":5400,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{}}}],["apps/server/src/modules/board/service/column.service.ts",{"_index":5631,"title":{},"body":{"injectables/ColumnService.html":{}}}],["apps/server/src/modules/board/service/column.service.ts:12",{"_index":5637,"title":{},"body":{"injectables/ColumnService.html":{}}}],["apps/server/src/modules/board/service/column.service.ts:17",{"_index":5633,"title":{},"body":{"injectables/ColumnService.html":{}}}],["apps/server/src/modules/board/service/column.service.ts:33",{"_index":5635,"title":{},"body":{"injectables/ColumnService.html":{}}}],["apps/server/src/modules/board/service/column.service.ts:37",{"_index":5639,"title":{},"body":{"injectables/ColumnService.html":{}}}],["apps/server/src/modules/board/service/column.service.ts:41",{"_index":5641,"title":{},"body":{"injectables/ColumnService.html":{}}}],["apps/server/src/modules/board/service/column.service.ts:9",{"_index":5632,"title":{},"body":{"injectables/ColumnService.html":{}}}],["apps/server/src/modules/board/service/content",{"_index":6395,"title":{},"body":{"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{}}}],["apps/server/src/modules/board/service/submission",{"_index":20853,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["apps/server/src/modules/board/uc/base.uc.ts",{"_index":2637,"title":{},"body":{"classes/BaseUc.html":{}}}],["apps/server/src/modules/board/uc/base.uc.ts:13",{"_index":2646,"title":{},"body":{"classes/BaseUc.html":{}}}],["apps/server/src/modules/board/uc/base.uc.ts:29",{"_index":2652,"title":{},"body":{"classes/BaseUc.html":{}}}],["apps/server/src/modules/board/uc/base.uc.ts:45",{"_index":2649,"title":{},"body":{"classes/BaseUc.html":{}}}],["apps/server/src/modules/board/uc/base.uc.ts:7",{"_index":2642,"title":{},"body":{"classes/BaseUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts",{"_index":4088,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts:12",{"_index":4092,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts:26",{"_index":4098,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts:35",{"_index":4100,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts:44",{"_index":4096,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts:53",{"_index":4106,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts:62",{"_index":4094,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/board.uc.ts:72",{"_index":4104,"title":{},"body":{"injectables/BoardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts",{"_index":4487,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:10",{"_index":4492,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:23",{"_index":4501,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:32",{"_index":4506,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:41",{"_index":4508,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:50",{"_index":4496,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:61",{"_index":4494,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:80",{"_index":4504,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/card.uc.ts:97",{"_index":4499,"title":{},"body":{"injectables/CardUc.html":{}}}],["apps/server/src/modules/board/uc/column.uc.ts",{"_index":5648,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["apps/server/src/modules/board/uc/column.uc.ts:10",{"_index":5649,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["apps/server/src/modules/board/uc/column.uc.ts:23",{"_index":5653,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["apps/server/src/modules/board/uc/column.uc.ts:32",{"_index":5658,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["apps/server/src/modules/board/uc/column.uc.ts:41",{"_index":5651,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["apps/server/src/modules/board/uc/column.uc.ts:52",{"_index":5656,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["apps/server/src/modules/board/uc/element.uc.ts",{"_index":9798,"title":{},"body":{"injectables/ElementUc.html":{}}}],["apps/server/src/modules/board/uc/element.uc.ts:19",{"_index":9801,"title":{},"body":{"injectables/ElementUc.html":{}}}],["apps/server/src/modules/board/uc/element.uc.ts:32",{"_index":9809,"title":{},"body":{"injectables/ElementUc.html":{}}}],["apps/server/src/modules/board/uc/element.uc.ts:43",{"_index":9805,"title":{},"body":{"injectables/ElementUc.html":{}}}],["apps/server/src/modules/board/uc/element.uc.ts:49",{"_index":9807,"title":{},"body":{"injectables/ElementUc.html":{}}}],["apps/server/src/modules/board/uc/element.uc.ts:63",{"_index":9803,"title":{},"body":{"injectables/ElementUc.html":{}}}],["apps/server/src/modules/board/uc/submission",{"_index":20868,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["apps/server/src/modules/class/class.module.ts",{"_index":4761,"title":{},"body":{"modules/ClassModule.html":{}}}],["apps/server/src/modules/class/domain/class",{"_index":4793,"title":{},"body":{"classes/ClassSourceOptions.html":{},"interfaces/ClassSourceOptionsProps.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts",{"_index":4539,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:22",{"_index":4552,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:26",{"_index":4554,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:30",{"_index":4556,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:34",{"_index":4558,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:38",{"_index":4560,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:42",{"_index":4562,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:46",{"_index":4564,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:50",{"_index":4566,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:54",{"_index":4568,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:58",{"_index":4570,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:62",{"_index":4572,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:66",{"_index":4573,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:70",{"_index":4574,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/class.do.ts:74",{"_index":4550,"title":{},"body":{"classes/Class.html":{}}}],["apps/server/src/modules/class/domain/testing/factory/class.factory.ts",{"_index":4648,"title":{},"body":{"classes/ClassFactory.html":{}}}],["apps/server/src/modules/class/domain/testing/factory/class.factory.ts:8",{"_index":4650,"title":{},"body":{"classes/ClassFactory.html":{}}}],["apps/server/src/modules/class/entity/class",{"_index":4800,"title":{},"body":{"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts",{"_index":4592,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:26",{"_index":4596,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:30",{"_index":4597,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:34",{"_index":4605,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:38",{"_index":4604,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:41",{"_index":4594,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:44",{"_index":4606,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:47",{"_index":4593,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:50",{"_index":4595,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:53",{"_index":4603,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:57",{"_index":4599,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/class.entity.ts:60",{"_index":4602,"title":{},"body":{"entities/ClassEntity.html":{}}}],["apps/server/src/modules/class/entity/testing/factory/class.entity.factory.ts",{"_index":4638,"title":{},"body":{"classes/ClassEntityFactory.html":{}}}],["apps/server/src/modules/class/entity/testing/factory/class.entity.factory.ts:7",{"_index":4641,"title":{},"body":{"classes/ClassEntityFactory.html":{}}}],["apps/server/src/modules/class/repo/classes.repo.ts",{"_index":4806,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["apps/server/src/modules/class/repo/classes.repo.ts:10",{"_index":4809,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["apps/server/src/modules/class/repo/classes.repo.ts:13",{"_index":4811,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["apps/server/src/modules/class/repo/classes.repo.ts:21",{"_index":4812,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["apps/server/src/modules/class/repo/classes.repo.ts:31",{"_index":4814,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["apps/server/src/modules/class/repo/mapper/class.mapper.ts",{"_index":4707,"title":{},"body":{"classes/ClassMapper.html":{}}}],["apps/server/src/modules/class/repo/mapper/class.mapper.ts:26",{"_index":4719,"title":{},"body":{"classes/ClassMapper.html":{}}}],["apps/server/src/modules/class/repo/mapper/class.mapper.ts:43",{"_index":4715,"title":{},"body":{"classes/ClassMapper.html":{}}}],["apps/server/src/modules/class/repo/mapper/class.mapper.ts:47",{"_index":4717,"title":{},"body":{"classes/ClassMapper.html":{}}}],["apps/server/src/modules/class/repo/mapper/class.mapper.ts:7",{"_index":4713,"title":{},"body":{"classes/ClassMapper.html":{}}}],["apps/server/src/modules/class/service/class.service.ts",{"_index":4762,"title":{},"body":{"injectables/ClassService.html":{}}}],["apps/server/src/modules/class/service/class.service.ts:10",{"_index":4773,"title":{},"body":{"injectables/ClassService.html":{}}}],["apps/server/src/modules/class/service/class.service.ts:16",{"_index":4771,"title":{},"body":{"injectables/ClassService.html":{}}}],["apps/server/src/modules/class/service/class.service.ts:23",{"_index":4769,"title":{},"body":{"injectables/ClassService.html":{}}}],["apps/server/src/modules/class/service/class.service.ts:7",{"_index":4767,"title":{},"body":{"injectables/ClassService.html":{}}}],["apps/server/src/modules/collaborative",{"_index":5037,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"classes/TeamDto.html":{},"injectables/TeamMapper.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"classes/TeamRoleDto.html":{},"classes/TeamUserDto.html":{}}}],["apps/server/src/modules/copy",{"_index":7117,"title":{},"body":{"classes/CopyApiResponse.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{}}}],["apps/server/src/modules/deletion/builder/batch",{"_index":2848,"title":{},"body":{"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{}}}],["apps/server/src/modules/deletion/builder/deletion",{"_index":9268,"title":{},"body":{"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionTargetRefBuilder.html":{}}}],["apps/server/src/modules/deletion/client/builder/deletion",{"_index":9368,"title":{},"body":{"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestOutputBuilder.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{}}}],["apps/server/src/modules/deletion/client/deletion.client.ts",{"_index":8999,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["apps/server/src/modules/deletion/client/deletion.client.ts:10",{"_index":9015,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["apps/server/src/modules/deletion/client/deletion.client.ts:12",{"_index":9014,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["apps/server/src/modules/deletion/client/deletion.client.ts:14",{"_index":9016,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["apps/server/src/modules/deletion/client/deletion.client.ts:16",{"_index":9007,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["apps/server/src/modules/deletion/client/deletion.client.ts:30",{"_index":9013,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["apps/server/src/modules/deletion/client/deletion.client.ts:64",{"_index":9011,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["apps/server/src/modules/deletion/client/deletion.client.ts:88",{"_index":9008,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["apps/server/src/modules/deletion/client/deletion.client.ts:92",{"_index":9009,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["apps/server/src/modules/deletion/client/interface/deletion",{"_index":9055,"title":{},"body":{"interfaces/DeletionClientConfig.html":{},"interfaces/DeletionRequestInput.html":{},"interfaces/DeletionRequestOutput.html":{},"interfaces/DeletionRequestTargetRefInput.html":{}}}],["apps/server/src/modules/deletion/console/builder/deletion",{"_index":9102,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["apps/server/src/modules/deletion/console/builder/push",{"_index":18333,"title":{},"body":{"classes/PushDeleteRequestsOptionsBuilder.html":{}}}],["apps/server/src/modules/deletion/console/builder/trigger",{"_index":23104,"title":{},"body":{"classes/TriggerDeletionExecutionOptionsBuilder.html":{}}}],["apps/server/src/modules/deletion/console/deletion",{"_index":9064,"title":{},"body":{"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{}}}],["apps/server/src/modules/deletion/console/interface/deletion",{"_index":9099,"title":{},"body":{"interfaces/DeletionExecutionTriggerResult.html":{}}}],["apps/server/src/modules/deletion/console/interface/push",{"_index":18337,"title":{},"body":{"interfaces/PushDeletionRequestsOptions.html":{}}}],["apps/server/src/modules/deletion/console/interface/trigger",{"_index":23102,"title":{},"body":{"interfaces/TriggerDeletionExecutionOptions.html":{}}}],["apps/server/src/modules/deletion/controller/deletion",{"_index":9121,"title":{},"body":{"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{}}}],["apps/server/src/modules/deletion/controller/dto/deletion",{"_index":9094,"title":{},"body":{"classes/DeletionExecutionParams.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestResponse.html":{}}}],["apps/server/src/modules/deletion/deletion",{"_index":8980,"title":{},"body":{"modules/DeletionApiModule.html":{}}}],["apps/server/src/modules/deletion/deletion.module.ts",{"_index":9277,"title":{},"body":{"modules/DeletionModule.html":{}}}],["apps/server/src/modules/deletion/domain/deletion",{"_index":9138,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{}}}],["apps/server/src/modules/deletion/domain/testing/factory/deletion",{"_index":9357,"title":{},"body":{"classes/DeletionRequestFactory.html":{}}}],["apps/server/src/modules/deletion/entity/deletion",{"_index":9168,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["apps/server/src/modules/deletion/interface/batch",{"_index":2838,"title":{},"body":{"interfaces/BatchDeletionSummary.html":{},"interfaces/BatchDeletionSummaryDetail.html":{}}}],["apps/server/src/modules/deletion/interface/interfaces.ts",{"_index":9255,"title":{},"body":{"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionTargetRef.html":{}}}],["apps/server/src/modules/deletion/repo/deletion",{"_index":9218,"title":{},"body":{"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{}}}],["apps/server/src/modules/deletion/repo/mapper/deletion",{"_index":9195,"title":{},"body":{"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{}}}],["apps/server/src/modules/deletion/services/batch",{"_index":2789,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["apps/server/src/modules/deletion/services/builder/queue",{"_index":18340,"title":{},"body":{"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["apps/server/src/modules/deletion/services/deletion",{"_index":9241,"title":{},"body":{"injectables/DeletionLogService.html":{},"injectables/DeletionRequestService.html":{}}}],["apps/server/src/modules/deletion/services/interface/queue",{"_index":18339,"title":{},"body":{"interfaces/QueueDeletionRequestInput.html":{},"interfaces/QueueDeletionRequestOutput.html":{}}}],["apps/server/src/modules/deletion/services/references.service.ts",{"_index":18665,"title":{},"body":{"classes/ReferencesService.html":{}}}],["apps/server/src/modules/deletion/services/references.service.ts:4",{"_index":18668,"title":{},"body":{"classes/ReferencesService.html":{}}}],["apps/server/src/modules/deletion/uc/batch",{"_index":2862,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["apps/server/src/modules/deletion/uc/builder/deletion",{"_index":9521,"title":{},"body":{"classes/DeletionTargetRefBuilder-1.html":{}}}],["apps/server/src/modules/deletion/uc/deletion",{"_index":9115,"title":{},"body":{"injectables/DeletionExecutionUc.html":{}}}],["apps/server/src/modules/deletion/uc/interface/interfaces.ts",{"_index":9257,"title":{},"body":{"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef-1.html":{}}}],["apps/server/src/modules/files",{"_index":7157,"title":{},"body":{"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"classes/DownloadFileParams.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"classes/FileUrlParams.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"interfaces/GetFileResponse.html":{},"interfaces/ParentInfo.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileParams.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"classes/PreviewParams.html":{},"injectables/PreviewService.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{},"classes/TestHelper.html":{}}}],["apps/server/src/modules/files/entity/file",{"_index":11723,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts",{"_index":11520,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:100",{"_index":11532,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:107",{"_index":11544,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:110",{"_index":11534,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:117",{"_index":11558,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:40",{"_index":11540,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:43",{"_index":11539,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:46",{"_index":11541,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:49",{"_index":11542,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:52",{"_index":11550,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:55",{"_index":11556,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:58",{"_index":11551,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:61",{"_index":11538,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:64",{"_index":11553,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:67",{"_index":11554,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:70",{"_index":11555,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:73",{"_index":11548,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:77",{"_index":11549,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:81",{"_index":11537,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:89",{"_index":11536,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/entity/file.entity.ts:96",{"_index":11546,"title":{},"body":{"entities/FileEntity.html":{}}}],["apps/server/src/modules/files/files.module.ts",{"_index":12107,"title":{},"body":{"modules/FilesModule.html":{}}}],["apps/server/src/modules/files/job/delete",{"_index":8877,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["apps/server/src/modules/files/repo/files.repo.ts",{"_index":12108,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["apps/server/src/modules/files/repo/files.repo.ts:10",{"_index":12112,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["apps/server/src/modules/files/repo/files.repo.ts:15",{"_index":12121,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["apps/server/src/modules/files/repo/files.repo.ts:19",{"_index":12120,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["apps/server/src/modules/files/repo/files.repo.ts:33",{"_index":12114,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["apps/server/src/modules/files/repo/files.repo.ts:44",{"_index":12117,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["apps/server/src/modules/files/service/files.service.ts",{"_index":12134,"title":{},"body":{"injectables/FilesService.html":{}}}],["apps/server/src/modules/files/service/files.service.ts:10",{"_index":12141,"title":{},"body":{"injectables/FilesService.html":{}}}],["apps/server/src/modules/files/service/files.service.ts:14",{"_index":12147,"title":{},"body":{"injectables/FilesService.html":{}}}],["apps/server/src/modules/files/service/files.service.ts:28",{"_index":12143,"title":{},"body":{"injectables/FilesService.html":{}}}],["apps/server/src/modules/files/service/files.service.ts:32",{"_index":12145,"title":{},"body":{"injectables/FilesService.html":{}}}],["apps/server/src/modules/files/service/files.service.ts:7",{"_index":12139,"title":{},"body":{"injectables/FilesService.html":{}}}],["apps/server/src/modules/files/uc/delete",{"_index":8899,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["apps/server/src/modules/fwu",{"_index":12422,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GetFwuLearningContentParams.html":{},"interfaces/S3Config-1.html":{}}}],["apps/server/src/modules/group/controller/dto/request/class",{"_index":4655,"title":{},"body":{"classes/ClassFilterParams.html":{},"classes/ClassSortParams.html":{}}}],["apps/server/src/modules/group/controller/dto/request/group",{"_index":12819,"title":{},"body":{"classes/GroupIdParams.html":{}}}],["apps/server/src/modules/group/controller/dto/response/class",{"_index":4691,"title":{},"body":{"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/external",{"_index":10064,"title":{},"body":{"classes/ExternalSourceResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group",{"_index":13001,"title":{},"body":{"classes/GroupUserResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group.response.ts",{"_index":12857,"title":{},"body":{"classes/GroupResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group.response.ts:11",{"_index":12862,"title":{},"body":{"classes/GroupResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group.response.ts:14",{"_index":12864,"title":{},"body":{"classes/GroupResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group.response.ts:17",{"_index":12866,"title":{},"body":{"classes/GroupResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group.response.ts:20",{"_index":12860,"title":{},"body":{"classes/GroupResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group.response.ts:23",{"_index":12859,"title":{},"body":{"classes/GroupResponse.html":{}}}],["apps/server/src/modules/group/controller/dto/response/group.response.ts:8",{"_index":12861,"title":{},"body":{"classes/GroupResponse.html":{}}}],["apps/server/src/modules/group/controller/group.controller.ts",{"_index":12710,"title":{},"body":{"controllers/GroupController.html":{}}}],["apps/server/src/modules/group/controller/group.controller.ts:23",{"_index":12719,"title":{},"body":{"controllers/GroupController.html":{}}}],["apps/server/src/modules/group/controller/group.controller.ts:53",{"_index":12725,"title":{},"body":{"controllers/GroupController.html":{}}}],["apps/server/src/modules/group/controller/mapper/group",{"_index":12876,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["apps/server/src/modules/group/domain/group",{"_index":12989,"title":{},"body":{"classes/GroupUser.html":{}}}],["apps/server/src/modules/group/domain/group.ts",{"_index":12669,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["apps/server/src/modules/group/domain/group.ts:26",{"_index":12679,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:30",{"_index":12680,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:34",{"_index":12682,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:38",{"_index":12684,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:42",{"_index":12686,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:46",{"_index":12688,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:50",{"_index":12678,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:54",{"_index":12676,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/domain/group.ts:58",{"_index":12675,"title":{},"body":{"classes/Group.html":{}}}],["apps/server/src/modules/group/entity/group",{"_index":12995,"title":{},"body":{"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["apps/server/src/modules/group/entity/group.entity.ts",{"_index":12802,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["apps/server/src/modules/group/entity/group.entity.ts:32",{"_index":12804,"title":{},"body":{"entities/GroupEntity.html":{}}}],["apps/server/src/modules/group/entity/group.entity.ts:35",{"_index":12806,"title":{},"body":{"entities/GroupEntity.html":{}}}],["apps/server/src/modules/group/entity/group.entity.ts:38",{"_index":12803,"title":{},"body":{"entities/GroupEntity.html":{}}}],["apps/server/src/modules/group/entity/group.entity.ts:41",{"_index":12808,"title":{},"body":{"entities/GroupEntity.html":{}}}],["apps/server/src/modules/group/entity/group.entity.ts:44",{"_index":12807,"title":{},"body":{"entities/GroupEntity.html":{}}}],["apps/server/src/modules/group/entity/group.entity.ts:47",{"_index":12805,"title":{},"body":{"entities/GroupEntity.html":{}}}],["apps/server/src/modules/group/group",{"_index":12707,"title":{},"body":{"modules/GroupApiModule.html":{}}}],["apps/server/src/modules/group/group.module.ts",{"_index":12826,"title":{},"body":{"modules/GroupModule.html":{}}}],["apps/server/src/modules/group/loggable/unknown",{"_index":23110,"title":{},"body":{"classes/UnknownQueryTypeLoggableException.html":{}}}],["apps/server/src/modules/group/repo/group",{"_index":12745,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts",{"_index":12830,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts:10",{"_index":12833,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts:100",{"_index":12834,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts:13",{"_index":12837,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts:27",{"_index":12836,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts:46",{"_index":12839,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts:60",{"_index":12840,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/repo/group.repo.ts:75",{"_index":12841,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["apps/server/src/modules/group/service/group.service.ts",{"_index":12932,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:10",{"_index":12935,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:13",{"_index":12939,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:23",{"_index":12945,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:29",{"_index":12938,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:35",{"_index":12940,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:41",{"_index":12941,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:47",{"_index":12943,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/service/group.service.ts:53",{"_index":12937,"title":{},"body":{"injectables/GroupService.html":{}}}],["apps/server/src/modules/group/uc/dto/class",{"_index":4663,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["apps/server/src/modules/group/uc/dto/resolved",{"_index":18797,"title":{},"body":{"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{}}}],["apps/server/src/modules/group/uc/mapper/group",{"_index":12955,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["apps/server/src/modules/group/util/sort",{"_index":20562,"title":{},"body":{"classes/SortHelper.html":{}}}],["apps/server/src/modules/h5p",{"_index":1195,"title":{},"body":{"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"classes/ContentBodyParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"entities/H5PContent.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"entities/InstalledLibrary.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LumiUserWithContentData.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{}}}],["apps/server/src/modules/learnroom/common",{"_index":5673,"title":{},"body":{"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["apps/server/src/modules/learnroom/controller/course.controller.ts",{"_index":7572,"title":{},"body":{"controllers/CourseController.html":{}}}],["apps/server/src/modules/learnroom/controller/course.controller.ts:23",{"_index":7581,"title":{},"body":{"controllers/CourseController.html":{}}}],["apps/server/src/modules/learnroom/controller/course.controller.ts:36",{"_index":7578,"title":{},"body":{"controllers/CourseController.html":{}}}],["apps/server/src/modules/learnroom/controller/dashboard.controller.ts",{"_index":8342,"title":{},"body":{"controllers/DashboardController.html":{}}}],["apps/server/src/modules/learnroom/controller/dashboard.controller.ts:15",{"_index":8345,"title":{},"body":{"controllers/DashboardController.html":{}}}],["apps/server/src/modules/learnroom/controller/dashboard.controller.ts:22",{"_index":8350,"title":{},"body":{"controllers/DashboardController.html":{}}}],["apps/server/src/modules/learnroom/controller/dashboard.controller.ts:38",{"_index":8355,"title":{},"body":{"controllers/DashboardController.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/course",{"_index":7789,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/course.query.params.ts",{"_index":7855,"title":{},"body":{"classes/CourseQueryParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/course.query.params.ts:14",{"_index":7857,"title":{},"body":{"classes/CourseQueryParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/course.url.params.ts",{"_index":7948,"title":{},"body":{"classes/CourseUrlParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/course.url.params.ts:11",{"_index":7949,"title":{},"body":{"classes/CourseUrlParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts",{"_index":8560,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:100",{"_index":8569,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:105",{"_index":8565,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:108",{"_index":8734,"title":{},"body":{"classes/DashboardResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:118",{"_index":8736,"title":{},"body":{"classes/DashboardResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:124",{"_index":8735,"title":{},"body":{"classes/DashboardResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:16",{"_index":8584,"title":{},"body":{"classes/DashboardGridSubElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:22",{"_index":8586,"title":{},"body":{"classes/DashboardGridSubElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:27",{"_index":8585,"title":{},"body":{"classes/DashboardGridSubElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:32",{"_index":8583,"title":{},"body":{"classes/DashboardGridSubElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:35",{"_index":8564,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:4",{"_index":8582,"title":{},"body":{"classes/DashboardGridSubElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:62",{"_index":8571,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:68",{"_index":8574,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:73",{"_index":8572,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:78",{"_index":8566,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:83",{"_index":8575,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:88",{"_index":8576,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:94",{"_index":8570,"title":{},"body":{"classes/DashboardGridElementResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.url.params.ts",{"_index":8764,"title":{},"body":{"classes/DashboardUrlParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/dashboard.url.params.ts:11",{"_index":8765,"title":{},"body":{"classes/DashboardUrlParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/lesson/lesson",{"_index":15413,"title":{},"body":{"classes/LessonCopyApiParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/lesson/lesson.url.params.ts",{"_index":15583,"title":{},"body":{"classes/LessonUrlParams-1.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/lesson/lesson.url.params.ts:11",{"_index":15584,"title":{},"body":{"classes/LessonUrlParams-1.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/move",{"_index":16421,"title":{},"body":{"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/patch",{"_index":17751,"title":{},"body":{"classes/PatchGroupParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/room",{"_index":19143,"title":{},"body":{"classes/RoomElementUrlParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/room.url.params.ts",{"_index":19146,"title":{},"body":{"classes/RoomUrlParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/room.url.params.ts:11",{"_index":19147,"title":{},"body":{"classes/RoomUrlParams.html":{}}}],["apps/server/src/modules/learnroom/controller/dto/single",{"_index":3010,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusResponse.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["apps/server/src/modules/learnroom/controller/rooms.controller.ts",{"_index":19175,"title":{},"body":{"controllers/RoomsController.html":{}}}],["apps/server/src/modules/learnroom/controller/rooms.controller.ts:33",{"_index":19187,"title":{},"body":{"controllers/RoomsController.html":{}}}],["apps/server/src/modules/learnroom/controller/rooms.controller.ts:43",{"_index":19190,"title":{},"body":{"controllers/RoomsController.html":{}}}],["apps/server/src/modules/learnroom/controller/rooms.controller.ts:57",{"_index":19193,"title":{},"body":{"controllers/RoomsController.html":{}}}],["apps/server/src/modules/learnroom/controller/rooms.controller.ts:67",{"_index":19181,"title":{},"body":{"controllers/RoomsController.html":{}}}],["apps/server/src/modules/learnroom/controller/rooms.controller.ts:78",{"_index":19184,"title":{},"body":{"controllers/RoomsController.html":{}}}],["apps/server/src/modules/learnroom/learnroom",{"_index":15120,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["apps/server/src/modules/learnroom/learnroom.module.ts",{"_index":15134,"title":{},"body":{"modules/LearnroomModule.html":{}}}],["apps/server/src/modules/learnroom/mapper/board",{"_index":4062,"title":{},"body":{"classes/BoardTaskStatusMapper.html":{}}}],["apps/server/src/modules/learnroom/mapper/course.mapper.ts",{"_index":7775,"title":{},"body":{"classes/CourseMapper.html":{}}}],["apps/server/src/modules/learnroom/mapper/course.mapper.ts:5",{"_index":7778,"title":{},"body":{"classes/CourseMapper.html":{}}}],["apps/server/src/modules/learnroom/mapper/dashboard.mapper.ts",{"_index":8587,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["apps/server/src/modules/learnroom/mapper/dashboard.mapper.ts:16",{"_index":8591,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["apps/server/src/modules/learnroom/mapper/dashboard.mapper.ts:37",{"_index":8593,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["apps/server/src/modules/learnroom/mapper/dashboard.mapper.ts:6",{"_index":8595,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["apps/server/src/modules/learnroom/mapper/room",{"_index":19085,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["apps/server/src/modules/learnroom/service/board",{"_index":3240,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["apps/server/src/modules/learnroom/service/column",{"_index":5555,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["apps/server/src/modules/learnroom/service/common",{"_index":5682,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["apps/server/src/modules/learnroom/service/course",{"_index":7609,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["apps/server/src/modules/learnroom/service/course.service.ts",{"_index":7917,"title":{},"body":{"injectables/CourseService.html":{}}}],["apps/server/src/modules/learnroom/service/course.service.ts:10",{"_index":7927,"title":{},"body":{"injectables/CourseService.html":{}}}],["apps/server/src/modules/learnroom/service/course.service.ts:14",{"_index":7925,"title":{},"body":{"injectables/CourseService.html":{}}}],["apps/server/src/modules/learnroom/service/course.service.ts:20",{"_index":7922,"title":{},"body":{"injectables/CourseService.html":{}}}],["apps/server/src/modules/learnroom/service/course.service.ts:30",{"_index":7923,"title":{},"body":{"injectables/CourseService.html":{}}}],["apps/server/src/modules/learnroom/service/course.service.ts:7",{"_index":7920,"title":{},"body":{"injectables/CourseService.html":{}}}],["apps/server/src/modules/learnroom/service/coursegroup.service.ts",{"_index":7762,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["apps/server/src/modules/learnroom/service/coursegroup.service.ts:10",{"_index":7770,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["apps/server/src/modules/learnroom/service/coursegroup.service.ts:16",{"_index":7768,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["apps/server/src/modules/learnroom/service/coursegroup.service.ts:7",{"_index":7766,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["apps/server/src/modules/learnroom/service/rooms.service.ts",{"_index":19215,"title":{},"body":{"injectables/RoomsService.html":{}}}],["apps/server/src/modules/learnroom/service/rooms.service.ts:13",{"_index":19219,"title":{},"body":{"injectables/RoomsService.html":{}}}],["apps/server/src/modules/learnroom/service/rooms.service.ts:22",{"_index":19223,"title":{},"body":{"injectables/RoomsService.html":{}}}],["apps/server/src/modules/learnroom/service/rooms.service.ts:36",{"_index":19221,"title":{},"body":{"injectables/RoomsService.html":{}}}],["apps/server/src/modules/learnroom/uc/course",{"_index":7665,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{}}}],["apps/server/src/modules/learnroom/uc/course.uc.ts",{"_index":7933,"title":{},"body":{"injectables/CourseUc.html":{}}}],["apps/server/src/modules/learnroom/uc/course.uc.ts:12",{"_index":7937,"title":{},"body":{"injectables/CourseUc.html":{}}}],["apps/server/src/modules/learnroom/uc/course.uc.ts:9",{"_index":7935,"title":{},"body":{"injectables/CourseUc.html":{}}}],["apps/server/src/modules/learnroom/uc/dashboard.uc.ts",{"_index":8737,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["apps/server/src/modules/learnroom/uc/dashboard.uc.ts:15",{"_index":8743,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["apps/server/src/modules/learnroom/uc/dashboard.uc.ts:28",{"_index":8745,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["apps/server/src/modules/learnroom/uc/dashboard.uc.ts:43",{"_index":8747,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["apps/server/src/modules/learnroom/uc/dashboard.uc.ts:59",{"_index":8749,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["apps/server/src/modules/learnroom/uc/dashboard.uc.ts:9",{"_index":8742,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["apps/server/src/modules/learnroom/uc/lesson",{"_index":15416,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["apps/server/src/modules/learnroom/uc/room",{"_index":9643,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts",{"_index":19148,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts:11",{"_index":19156,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts:17",{"_index":19154,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts:24",{"_index":19160,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts:45",{"_index":19158,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.uc.ts",{"_index":19238,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.uc.ts:10",{"_index":19242,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.uc.ts:20",{"_index":19244,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.uc.ts:31",{"_index":19249,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["apps/server/src/modules/learnroom/uc/rooms.uc.ts:52",{"_index":19247,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["apps/server/src/modules/legacy",{"_index":11426,"title":{},"body":{"injectables/FederalStateService.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolService.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{}}}],["apps/server/src/modules/lesson/controller/dto/lesson.url.params.ts",{"_index":15581,"title":{},"body":{"classes/LessonUrlParams.html":{}}}],["apps/server/src/modules/lesson/controller/dto/lesson.url.params.ts:11",{"_index":15582,"title":{},"body":{"classes/LessonUrlParams.html":{}}}],["apps/server/src/modules/lesson/controller/lesson.controller.ts",{"_index":15403,"title":{},"body":{"controllers/LessonController.html":{}}}],["apps/server/src/modules/lesson/controller/lesson.controller.ts:14",{"_index":15407,"title":{},"body":{"controllers/LessonController.html":{}}}],["apps/server/src/modules/lesson/lesson",{"_index":15396,"title":{},"body":{"modules/LessonApiModule.html":{}}}],["apps/server/src/modules/lesson/lesson.module.ts",{"_index":15474,"title":{},"body":{"modules/LessonModule.html":{}}}],["apps/server/src/modules/lesson/repository/lesson",{"_index":15536,"title":{},"body":{"classes/LessonScope.html":{}}}],["apps/server/src/modules/lesson/repository/lesson.repo.ts",{"_index":15477,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["apps/server/src/modules/lesson/repository/lesson.repo.ts:12",{"_index":15486,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["apps/server/src/modules/lesson/repository/lesson.repo.ts:16",{"_index":15481,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["apps/server/src/modules/lesson/repository/lesson.repo.ts:26",{"_index":15483,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["apps/server/src/modules/lesson/repository/lesson.repo.ts:44",{"_index":15485,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["apps/server/src/modules/lesson/service/etherpad.service.ts",{"_index":9986,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["apps/server/src/modules/lesson/service/etherpad.service.ts:12",{"_index":9992,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["apps/server/src/modules/lesson/service/etherpad.service.ts:9",{"_index":9990,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["apps/server/src/modules/lesson/service/lesson.service.ts",{"_index":15541,"title":{},"body":{"injectables/LessonService.html":{}}}],["apps/server/src/modules/lesson/service/lesson.service.ts:15",{"_index":15548,"title":{},"body":{"injectables/LessonService.html":{}}}],["apps/server/src/modules/lesson/service/lesson.service.ts:21",{"_index":15555,"title":{},"body":{"injectables/LessonService.html":{}}}],["apps/server/src/modules/lesson/service/lesson.service.ts:25",{"_index":15553,"title":{},"body":{"injectables/LessonService.html":{}}}],["apps/server/src/modules/lesson/service/lesson.service.ts:29",{"_index":15552,"title":{},"body":{"injectables/LessonService.html":{}}}],["apps/server/src/modules/lesson/service/lesson.service.ts:35",{"_index":15550,"title":{},"body":{"injectables/LessonService.html":{}}}],["apps/server/src/modules/lesson/service/lesson.service.ts:9",{"_index":15546,"title":{},"body":{"injectables/LessonService.html":{}}}],["apps/server/src/modules/lesson/service/nexboard.service.ts",{"_index":16711,"title":{},"body":{"injectables/NexboardService.html":{}}}],["apps/server/src/modules/lesson/service/nexboard.service.ts:12",{"_index":16715,"title":{},"body":{"injectables/NexboardService.html":{}}}],["apps/server/src/modules/lesson/service/nexboard.service.ts:9",{"_index":16713,"title":{},"body":{"injectables/NexboardService.html":{}}}],["apps/server/src/modules/lesson/uc/lesson.uc.ts",{"_index":15568,"title":{},"body":{"injectables/LessonUC.html":{}}}],["apps/server/src/modules/lesson/uc/lesson.uc.ts:14",{"_index":15571,"title":{},"body":{"injectables/LessonUC.html":{}}}],["apps/server/src/modules/lesson/uc/lesson.uc.ts:8",{"_index":15569,"title":{},"body":{"injectables/LessonUC.html":{}}}],["apps/server/src/modules/lti",{"_index":15997,"title":{},"body":{"modules/LtiToolModule.html":{},"injectables/LtiToolService.html":{}}}],["apps/server/src/modules/management/console/board",{"_index":3752,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["apps/server/src/modules/management/console/database",{"_index":8767,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["apps/server/src/modules/management/controller/database",{"_index":8795,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["apps/server/src/modules/management/converter/bson.converter.ts",{"_index":4160,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["apps/server/src/modules/management/converter/bson.converter.ts:11",{"_index":4173,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["apps/server/src/modules/management/converter/bson.converter.ts:21",{"_index":4164,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["apps/server/src/modules/management/management",{"_index":16123,"title":{},"body":{"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{}}}],["apps/server/src/modules/management/management.module.ts",{"_index":16111,"title":{},"body":{"modules/ManagementModule.html":{}}}],["apps/server/src/modules/management/uc/board",{"_index":3778,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["apps/server/src/modules/management/uc/database",{"_index":5151,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["apps/server/src/modules/meta",{"_index":106,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"classes/GetMetaTagDataBody.html":{},"injectables/LessonUrlHandler.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/TaskUrlHandler.html":{},"interfaces/UrlHandler.html":{}}}],["apps/server/src/modules/news/controller/dto/create",{"_index":8016,"title":{},"body":{"classes/CreateNewsParams.html":{}}}],["apps/server/src/modules/news/controller/dto/filter",{"_index":12393,"title":{},"body":{"classes/FilterNewsParams.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts",{"_index":16493,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:101",{"_index":16608,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:106",{"_index":16604,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:111",{"_index":16616,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:116",{"_index":16603,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:12",{"_index":16601,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:121",{"_index":16615,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:126",{"_index":16607,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:129",{"_index":16494,"title":{},"body":{"classes/NewsListResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:51",{"_index":16606,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:56",{"_index":16614,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:61",{"_index":16602,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:66",{"_index":16605,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:73",{"_index":16609,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:78",{"_index":16610,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:85",{"_index":16613,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:91",{"_index":16612,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.response.ts:96",{"_index":16611,"title":{},"body":{"classes/NewsResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/news.url.params.ts",{"_index":16708,"title":{},"body":{"classes/NewsUrlParams.html":{}}}],["apps/server/src/modules/news/controller/dto/news.url.params.ts:11",{"_index":16710,"title":{},"body":{"classes/NewsUrlParams.html":{}}}],["apps/server/src/modules/news/controller/dto/school",{"_index":19941,"title":{},"body":{"classes/SchoolInfoResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/target",{"_index":21256,"title":{},"body":{"classes/TargetInfoResponse.html":{}}}],["apps/server/src/modules/news/controller/dto/team.url.params.ts",{"_index":21991,"title":{},"body":{"classes/TeamUrlParams.html":{}}}],["apps/server/src/modules/news/controller/dto/team.url.params.ts:11",{"_index":21992,"title":{},"body":{"classes/TeamUrlParams.html":{}}}],["apps/server/src/modules/news/controller/dto/update",{"_index":23124,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["apps/server/src/modules/news/controller/dto/user",{"_index":23394,"title":{},"body":{"classes/UserInfoResponse.html":{}}}],["apps/server/src/modules/news/controller/news.controller.ts",{"_index":16442,"title":{},"body":{"controllers/NewsController.html":{}}}],["apps/server/src/modules/news/controller/news.controller.ts:26",{"_index":16444,"title":{},"body":{"controllers/NewsController.html":{}}}],["apps/server/src/modules/news/controller/news.controller.ts:40",{"_index":16449,"title":{},"body":{"controllers/NewsController.html":{}}}],["apps/server/src/modules/news/controller/news.controller.ts:61",{"_index":16453,"title":{},"body":{"controllers/NewsController.html":{}}}],["apps/server/src/modules/news/controller/news.controller.ts:71",{"_index":16458,"title":{},"body":{"controllers/NewsController.html":{}}}],["apps/server/src/modules/news/controller/news.controller.ts:89",{"_index":16447,"title":{},"body":{"controllers/NewsController.html":{}}}],["apps/server/src/modules/news/controller/team",{"_index":21924,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["apps/server/src/modules/news/loggable/news",{"_index":16484,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{}}}],["apps/server/src/modules/news/mapper/news.mapper.ts",{"_index":16509,"title":{},"body":{"classes/NewsMapper.html":{}}}],["apps/server/src/modules/news/mapper/news.mapper.ts:10",{"_index":16521,"title":{},"body":{"classes/NewsMapper.html":{}}}],["apps/server/src/modules/news/mapper/news.mapper.ts:39",{"_index":16517,"title":{},"body":{"classes/NewsMapper.html":{}}}],["apps/server/src/modules/news/mapper/news.mapper.ts:53",{"_index":16515,"title":{},"body":{"classes/NewsMapper.html":{}}}],["apps/server/src/modules/news/mapper/news.mapper.ts:66",{"_index":16523,"title":{},"body":{"classes/NewsMapper.html":{}}}],["apps/server/src/modules/news/mapper/news.mapper.ts:75",{"_index":16519,"title":{},"body":{"classes/NewsMapper.html":{}}}],["apps/server/src/modules/news/mapper/school",{"_index":19934,"title":{},"body":{"classes/SchoolInfoMapper.html":{}}}],["apps/server/src/modules/news/mapper/target",{"_index":21251,"title":{},"body":{"classes/TargetInfoMapper.html":{}}}],["apps/server/src/modules/news/mapper/user",{"_index":23393,"title":{},"body":{"classes/UserInfoMapper.html":{}}}],["apps/server/src/modules/news/news.module.ts",{"_index":16561,"title":{},"body":{"modules/NewsModule.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts",{"_index":16637,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:113",{"_index":16665,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:139",{"_index":16647,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:14",{"_index":16644,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:150",{"_index":16657,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:170",{"_index":16663,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:188",{"_index":16655,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:198",{"_index":16659,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:30",{"_index":16646,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:58",{"_index":16649,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/news/uc/news.uc.ts:91",{"_index":16653,"title":{},"body":{"injectables/NewsUc.html":{}}}],["apps/server/src/modules/oauth",{"_index":187,"title":{},"body":{"classes/AcceptQuery.html":{},"classes/ChallengeParams.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"interfaces/GroupNameIdTuple.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/ListOauthClientsParams.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"classes/OAuthRejectableBody.html":{},"classes/OauthClientBody.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"injectables/OauthProviderUc.html":{},"classes/OidcContextResponse.html":{},"classes/RedirectResponse.html":{},"classes/RevokeConsentParams.html":{},"classes/UserParams.html":{}}}],["apps/server/src/modules/oauth/controller/dto/authorization.params.ts",{"_index":1887,"title":{},"body":{"classes/AuthorizationParams.html":{}}}],["apps/server/src/modules/oauth/controller/dto/authorization.params.ts:12",{"_index":1894,"title":{},"body":{"classes/AuthorizationParams.html":{}}}],["apps/server/src/modules/oauth/controller/dto/authorization.params.ts:16",{"_index":1895,"title":{},"body":{"classes/AuthorizationParams.html":{}}}],["apps/server/src/modules/oauth/controller/dto/authorization.params.ts:20",{"_index":1896,"title":{},"body":{"classes/AuthorizationParams.html":{}}}],["apps/server/src/modules/oauth/controller/dto/authorization.params.ts:24",{"_index":1897,"title":{},"body":{"classes/AuthorizationParams.html":{}}}],["apps/server/src/modules/oauth/controller/dto/authorization.params.ts:8",{"_index":1891,"title":{},"body":{"classes/AuthorizationParams.html":{}}}],["apps/server/src/modules/oauth/controller/dto/stateless",{"_index":20593,"title":{},"body":{"classes/StatelessAuthorizationParams.html":{}}}],["apps/server/src/modules/oauth/controller/oauth",{"_index":17487,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["apps/server/src/modules/oauth/interface/oauth",{"_index":16909,"title":{},"body":{"classes/OAuthTokenDto.html":{}}}],["apps/server/src/modules/oauth/loggable/auth",{"_index":1460,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{}}}],["apps/server/src/modules/oauth/loggable/id",{"_index":13690,"title":{},"body":{"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{}}}],["apps/server/src/modules/oauth/loggable/oauth",{"_index":17095,"title":{},"body":{"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{}}}],["apps/server/src/modules/oauth/loggable/token",{"_index":22576,"title":{},"body":{"classes/TokenRequestLoggableException.html":{}}}],["apps/server/src/modules/oauth/loggable/user",{"_index":23797,"title":{},"body":{"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["apps/server/src/modules/oauth/mapper/token",{"_index":22578,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["apps/server/src/modules/oauth/oauth",{"_index":16999,"title":{},"body":{"modules/OauthApiModule.html":{}}}],["apps/server/src/modules/oauth/oauth.module.ts",{"_index":17162,"title":{},"body":{"modules/OauthModule.html":{}}}],["apps/server/src/modules/oauth/service/dto/authentication",{"_index":1492,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["apps/server/src/modules/oauth/service/dto/cookies.dto.ts",{"_index":7107,"title":{},"body":{"classes/CookiesDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/cookies.dto.ts:2",{"_index":7111,"title":{},"body":{"classes/CookiesDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/cookies.dto.ts:4",{"_index":7110,"title":{},"body":{"classes/CookiesDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts",{"_index":13479,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:13",{"_index":13483,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:15",{"_index":13484,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:17",{"_index":13482,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:19",{"_index":13485,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:21",{"_index":13481,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:4",{"_index":13480,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["apps/server/src/modules/oauth/service/dto/oauth",{"_index":16834,"title":{},"body":{"classes/OAuthProcessDto.html":{},"interfaces/OauthTokenResponse.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts",{"_index":13496,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts:126",{"_index":13508,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts:19",{"_index":13503,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts:27",{"_index":13517,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts:29",{"_index":13510,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts:43",{"_index":13516,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts:79",{"_index":13513,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/hydra.service.ts:99",{"_index":13506,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["apps/server/src/modules/oauth/service/oauth",{"_index":16965,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts",{"_index":16848,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:115",{"_index":16866,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:125",{"_index":16870,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:137",{"_index":16872,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:152",{"_index":16862,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:27",{"_index":16857,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:41",{"_index":16860,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:64",{"_index":16868,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/service/oauth.service.ts:99",{"_index":16864,"title":{},"body":{"injectables/OAuthService.html":{}}}],["apps/server/src/modules/oauth/uc/hydra",{"_index":13428,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["apps/server/src/modules/provisioning/dto/external",{"_index":10002,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalUserDto.html":{}}}],["apps/server/src/modules/provisioning/dto/oauth",{"_index":17128,"title":{},"body":{"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{}}}],["apps/server/src/modules/provisioning/dto/provisioning",{"_index":18148,"title":{},"body":{"classes/ProvisioningSystemDto.html":{}}}],["apps/server/src/modules/provisioning/dto/provisioning.dto.ts",{"_index":18089,"title":{},"body":{"classes/ProvisioningDto.html":{}}}],["apps/server/src/modules/provisioning/dto/provisioning.dto.ts:2",{"_index":18091,"title":{},"body":{"classes/ProvisioningDto.html":{}}}],["apps/server/src/modules/provisioning/loggable/group",{"_index":12914,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["apps/server/src/modules/provisioning/loggable/school",{"_index":19898,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["apps/server/src/modules/provisioning/loggable/user",{"_index":23389,"title":{},"body":{"classes/UserForGroupNotFoundLoggable.html":{}}}],["apps/server/src/modules/provisioning/mapper/provisioning",{"_index":18153,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["apps/server/src/modules/provisioning/provisioning.module.ts",{"_index":18099,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts",{"_index":18105,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts:16",{"_index":18126,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts:19",{"_index":18114,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts:32",{"_index":18125,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts:36",{"_index":18118,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts:50",{"_index":18116,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts:56",{"_index":18123,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/service/provisioning.service.ts:62",{"_index":18120,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/strategy/base.strategy.ts",{"_index":18144,"title":{},"body":{"classes/ProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/base.strategy.ts:5",{"_index":18147,"title":{},"body":{"classes/ProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/base.strategy.ts:7",{"_index":18146,"title":{},"body":{"classes/ProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/base.strategy.ts:9",{"_index":18145,"title":{},"body":{"classes/ProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/iserv/iserv",{"_index":14226,"title":{},"body":{"classes/IservMapper.html":{}}}],["apps/server/src/modules/provisioning/strategy/iserv/iserv.strategy.ts",{"_index":14243,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/iserv/iserv.strategy.ts:24",{"_index":14247,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/iserv/iserv.strategy.ts:67",{"_index":14252,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/oidc",{"_index":17572,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/oidc/oidc.strategy.ts",{"_index":17699,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/oidc/oidc.strategy.ts:9",{"_index":17701,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/oidc/service/oidc",{"_index":17583,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/response/sanis",{"_index":19456,"title":{},"body":{"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/response/sanis.response.ts",{"_index":19573,"title":{},"body":{"classes/SanisResponse.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/response/sanis.response.ts:14",{"_index":19576,"title":{},"body":{"classes/SanisResponse.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/response/sanis.response.ts:20",{"_index":19578,"title":{},"body":{"classes/SanisResponse.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/response/sanis.response.ts:9",{"_index":19579,"title":{},"body":{"classes/SanisResponse.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/sanis",{"_index":19582,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts",{"_index":19518,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts:113",{"_index":19533,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts:117",{"_index":19530,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts:129",{"_index":19527,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts:24",{"_index":19524,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts:87",{"_index":19536,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["apps/server/src/modules/pseudonym/controller/dto/pseudonym",{"_index":18219,"title":{},"body":{"classes/PseudonymParams.html":{}}}],["apps/server/src/modules/pseudonym/controller/dto/pseudonym.response.ts",{"_index":18221,"title":{},"body":{"classes/PseudonymResponse.html":{}}}],["apps/server/src/modules/pseudonym/controller/dto/pseudonym.response.ts:11",{"_index":18222,"title":{},"body":{"classes/PseudonymResponse.html":{}}}],["apps/server/src/modules/pseudonym/controller/dto/pseudonym.response.ts:5",{"_index":18223,"title":{},"body":{"classes/PseudonymResponse.html":{}}}],["apps/server/src/modules/pseudonym/controller/dto/pseudonym.response.ts:8",{"_index":18224,"title":{},"body":{"classes/PseudonymResponse.html":{}}}],["apps/server/src/modules/pseudonym/controller/pseudonym.controller.ts",{"_index":18182,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["apps/server/src/modules/pseudonym/controller/pseudonym.controller.ts:27",{"_index":18187,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["apps/server/src/modules/pseudonym/domain/pseudonym",{"_index":18238,"title":{},"body":{"interfaces/PseudonymSearchQuery.html":{}}}],["apps/server/src/modules/pseudonym/entity/external",{"_index":10555,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.entity.ts",{"_index":18202,"title":{},"body":{"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.entity.ts:18",{"_index":18203,"title":{},"body":{"entities/PseudonymEntity.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.entity.ts:21",{"_index":18204,"title":{},"body":{"entities/PseudonymEntity.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.entity.ts:24",{"_index":18205,"title":{},"body":{"entities/PseudonymEntity.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.scope.ts",{"_index":18227,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.scope.ts:13",{"_index":18236,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.scope.ts:20",{"_index":18234,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["apps/server/src/modules/pseudonym/entity/pseudonym.scope.ts:6",{"_index":18232,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["apps/server/src/modules/pseudonym/loggable/too",{"_index":22590,"title":{},"body":{"classes/TooManyPseudonymsLoggableException.html":{}}}],["apps/server/src/modules/pseudonym/mapper/pseudonym.mapper.ts",{"_index":18207,"title":{},"body":{"classes/PseudonymMapper.html":{}}}],["apps/server/src/modules/pseudonym/mapper/pseudonym.mapper.ts:5",{"_index":18209,"title":{},"body":{"classes/PseudonymMapper.html":{}}}],["apps/server/src/modules/pseudonym/pseudonym",{"_index":18178,"title":{},"body":{"modules/PseudonymApiModule.html":{}}}],["apps/server/src/modules/pseudonym/pseudonym.module.ts",{"_index":18218,"title":{},"body":{"modules/PseudonymModule.html":{}}}],["apps/server/src/modules/pseudonym/repo/external",{"_index":10569,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts",{"_index":18303,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:11",{"_index":18309,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:22",{"_index":18308,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:37",{"_index":18307,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:45",{"_index":18305,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:66",{"_index":18306,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:72",{"_index":18311,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:8",{"_index":18304,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:83",{"_index":18310,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["apps/server/src/modules/pseudonym/service/feathers",{"_index":11279,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts",{"_index":18239,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:100",{"_index":18253,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:106",{"_index":18252,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:113",{"_index":18267,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:12",{"_index":18248,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:121",{"_index":18261,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:127",{"_index":18260,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:133",{"_index":18265,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:18",{"_index":18254,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:28",{"_index":18255,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:51",{"_index":18259,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:75",{"_index":18250,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:88",{"_index":18263,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/service/pseudonym.service.ts:94",{"_index":18257,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["apps/server/src/modules/pseudonym/uc/pseudonym.uc.ts",{"_index":18290,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["apps/server/src/modules/pseudonym/uc/pseudonym.uc.ts:11",{"_index":18292,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["apps/server/src/modules/pseudonym/uc/pseudonym.uc.ts:18",{"_index":18294,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["apps/server/src/modules/registration",{"_index":18689,"title":{},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{}}}],["apps/server/src/modules/rocketchat",{"_index":18918,"title":{},"body":{"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"modules/RocketChatUserModule.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{}}}],["apps/server/src/modules/rocketchat/rocket",{"_index":1051,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{}}}],["apps/server/src/modules/role/mapper/role.mapper.ts",{"_index":19011,"title":{},"body":{"classes/RoleMapper.html":{}}}],["apps/server/src/modules/role/mapper/role.mapper.ts:13",{"_index":19015,"title":{},"body":{"classes/RoleMapper.html":{}}}],["apps/server/src/modules/role/mapper/role.mapper.ts:5",{"_index":19018,"title":{},"body":{"classes/RoleMapper.html":{}}}],["apps/server/src/modules/role/role.module.ts",{"_index":19027,"title":{},"body":{"modules/RoleModule.html":{}}}],["apps/server/src/modules/role/service/dto/role.dto.ts",{"_index":19006,"title":{},"body":{"classes/RoleDto.html":{}}}],["apps/server/src/modules/role/service/dto/role.dto.ts:5",{"_index":19008,"title":{},"body":{"classes/RoleDto.html":{}}}],["apps/server/src/modules/role/service/dto/role.dto.ts:7",{"_index":19009,"title":{},"body":{"classes/RoleDto.html":{}}}],["apps/server/src/modules/role/service/dto/role.dto.ts:9",{"_index":19007,"title":{},"body":{"classes/RoleDto.html":{}}}],["apps/server/src/modules/role/service/role.service.ts",{"_index":19058,"title":{},"body":{"injectables/RoleService.html":{}}}],["apps/server/src/modules/role/service/role.service.ts:10",{"_index":19061,"title":{},"body":{"injectables/RoleService.html":{}}}],["apps/server/src/modules/role/service/role.service.ts:13",{"_index":19065,"title":{},"body":{"injectables/RoleService.html":{}}}],["apps/server/src/modules/role/service/role.service.ts:18",{"_index":19062,"title":{},"body":{"injectables/RoleService.html":{}}}],["apps/server/src/modules/role/service/role.service.ts:24",{"_index":19063,"title":{},"body":{"injectables/RoleService.html":{}}}],["apps/server/src/modules/role/service/role.service.ts:30",{"_index":19064,"title":{},"body":{"injectables/RoleService.html":{}}}],["apps/server/src/modules/role/uc/role.uc.ts",{"_index":19076,"title":{},"body":{"injectables/RoleUc.html":{}}}],["apps/server/src/modules/role/uc/role.uc.ts:10",{"_index":19079,"title":{},"body":{"injectables/RoleUc.html":{}}}],["apps/server/src/modules/role/uc/role.uc.ts:7",{"_index":19078,"title":{},"body":{"injectables/RoleUc.html":{}}}],["apps/server/src/modules/server/admin",{"_index":1012,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{}}}],["apps/server/src/modules/server/controller/server.controller.ts",{"_index":20176,"title":{},"body":{"controllers/ServerController.html":{}}}],["apps/server/src/modules/server/controller/server.controller.ts:7",{"_index":20177,"title":{},"body":{"controllers/ServerController.html":{}}}],["apps/server/src/modules/server/server.config.ts",{"_index":20130,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["apps/server/src/modules/server/server.module.ts",{"_index":20181,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["apps/server/src/modules/server/server.module.ts:155",{"_index":20184,"title":{},"body":{"modules/ServerModule.html":{}}}],["apps/server/src/modules/server/server.module.ts:186",{"_index":20258,"title":{},"body":{"modules/ServerTestModule.html":{}}}],["apps/server/src/modules/server/server.module.ts:190",{"_index":20259,"title":{},"body":{"modules/ServerTestModule.html":{}}}],["apps/server/src/modules/sharing/controller/dto/share",{"_index":20280,"title":{},"body":{"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenPayloadResponse.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenUrlParams.html":{}}}],["apps/server/src/modules/sharing/controller/share",{"_index":20299,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["apps/server/src/modules/sharing/domainobject/share",{"_index":20345,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["apps/server/src/modules/sharing/entity/share",{"_index":20265,"title":{},"body":{"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["apps/server/src/modules/sharing/mapper/context",{"_index":20296,"title":{},"body":{"classes/ShareTokenContextTypeMapper.html":{}}}],["apps/server/src/modules/sharing/mapper/metadata",{"_index":16314,"title":{},"body":{"classes/MetadataTypeMapper.html":{}}}],["apps/server/src/modules/sharing/mapper/parent",{"_index":20387,"title":{},"body":{"classes/ShareTokenParentTypeMapper.html":{}}}],["apps/server/src/modules/sharing/mapper/share",{"_index":20381,"title":{},"body":{"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenResponseMapper.html":{}}}],["apps/server/src/modules/sharing/repo/share",{"_index":20399,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["apps/server/src/modules/sharing/service/share",{"_index":20431,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["apps/server/src/modules/sharing/service/token",{"_index":22572,"title":{},"body":{"injectables/TokenGenerator.html":{}}}],["apps/server/src/modules/sharing/sharing.module.ts",{"_index":20538,"title":{},"body":{"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["apps/server/src/modules/sharing/uc/dto/share",{"_index":20373,"title":{},"body":{"interfaces/ShareTokenInfoDto.html":{}}}],["apps/server/src/modules/sharing/uc/share",{"_index":20461,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["apps/server/src/modules/system/controller/dto/oauth",{"_index":17099,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["apps/server/src/modules/system/controller/dto/public",{"_index":18320,"title":{},"body":{"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{}}}],["apps/server/src/modules/system/controller/dto/system",{"_index":21156,"title":{},"body":{"classes/SystemIdParams.html":{}}}],["apps/server/src/modules/system/controller/dto/system.filter.params.ts",{"_index":21149,"title":{},"body":{"classes/SystemFilterParams.html":{}}}],["apps/server/src/modules/system/controller/dto/system.filter.params.ts:10",{"_index":21154,"title":{},"body":{"classes/SystemFilterParams.html":{}}}],["apps/server/src/modules/system/controller/dto/system.filter.params.ts:16",{"_index":21152,"title":{},"body":{"classes/SystemFilterParams.html":{}}}],["apps/server/src/modules/system/controller/mapper/system",{"_index":21201,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["apps/server/src/modules/system/controller/system.controller.ts",{"_index":21040,"title":{},"body":{"controllers/SystemController.html":{}}}],["apps/server/src/modules/system/controller/system.controller.ts:21",{"_index":21053,"title":{},"body":{"controllers/SystemController.html":{}}}],["apps/server/src/modules/system/controller/system.controller.ts:36",{"_index":21058,"title":{},"body":{"controllers/SystemController.html":{}}}],["apps/server/src/modules/system/controller/system.controller.ts:50",{"_index":21047,"title":{},"body":{"controllers/SystemController.html":{}}}],["apps/server/src/modules/system/domain/ldap",{"_index":14908,"title":{},"body":{"classes/LdapConfig.html":{}}}],["apps/server/src/modules/system/domain/oauth",{"_index":17041,"title":{},"body":{"classes/OauthConfig.html":{}}}],["apps/server/src/modules/system/domain/system.do.ts",{"_index":21026,"title":{},"body":{"classes/System.html":{},"interfaces/SystemProps.html":{}}}],["apps/server/src/modules/system/domain/system.do.ts:25",{"_index":21028,"title":{},"body":{"classes/System.html":{}}}],["apps/server/src/modules/system/mapper/system",{"_index":21173,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["apps/server/src/modules/system/mapper/system.mapper.ts",{"_index":21157,"title":{},"body":{"classes/SystemMapper.html":{}}}],["apps/server/src/modules/system/mapper/system.mapper.ts:20",{"_index":21163,"title":{},"body":{"classes/SystemMapper.html":{}}}],["apps/server/src/modules/system/mapper/system.mapper.ts:39",{"_index":21160,"title":{},"body":{"classes/SystemMapper.html":{}}}],["apps/server/src/modules/system/mapper/system.mapper.ts:6",{"_index":21161,"title":{},"body":{"classes/SystemMapper.html":{}}}],["apps/server/src/modules/system/repo/system",{"_index":21080,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["apps/server/src/modules/system/repo/system.repo.ts",{"_index":21194,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["apps/server/src/modules/system/repo/system.repo.ts:12",{"_index":21197,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["apps/server/src/modules/system/repo/system.repo.ts:26",{"_index":21196,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["apps/server/src/modules/system/repo/system.repo.ts:9",{"_index":21195,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["apps/server/src/modules/system/service/dto/oauth",{"_index":17066,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["apps/server/src/modules/system/service/dto/oidc",{"_index":17518,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts",{"_index":21096,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:10",{"_index":21106,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:12",{"_index":21099,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:14",{"_index":21100,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:16",{"_index":21103,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:18",{"_index":21104,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:20",{"_index":21102,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:22",{"_index":21098,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:6",{"_index":21101,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/dto/system.dto.ts:8",{"_index":21105,"title":{},"body":{"classes/SystemDto.html":{}}}],["apps/server/src/modules/system/service/legacy",{"_index":15338,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["apps/server/src/modules/system/service/system",{"_index":21186,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["apps/server/src/modules/system/service/system.service.ts",{"_index":21233,"title":{},"body":{"injectables/SystemService.html":{}}}],["apps/server/src/modules/system/service/system.service.ts:10",{"_index":21236,"title":{},"body":{"injectables/SystemService.html":{}}}],["apps/server/src/modules/system/service/system.service.ts:16",{"_index":21235,"title":{},"body":{"injectables/SystemService.html":{}}}],["apps/server/src/modules/system/service/system.service.ts:7",{"_index":21234,"title":{},"body":{"injectables/SystemService.html":{}}}],["apps/server/src/modules/system/system",{"_index":21035,"title":{},"body":{"modules/SystemApiModule.html":{}}}],["apps/server/src/modules/system/system.module.ts",{"_index":21170,"title":{},"body":{"modules/SystemModule.html":{}}}],["apps/server/src/modules/system/uc/system.uc.ts",{"_index":21238,"title":{},"body":{"injectables/SystemUc.html":{}}}],["apps/server/src/modules/system/uc/system.uc.ts:12",{"_index":21240,"title":{},"body":{"injectables/SystemUc.html":{}}}],["apps/server/src/modules/system/uc/system.uc.ts:19",{"_index":21243,"title":{},"body":{"injectables/SystemUc.html":{}}}],["apps/server/src/modules/system/uc/system.uc.ts:33",{"_index":21244,"title":{},"body":{"injectables/SystemUc.html":{}}}],["apps/server/src/modules/system/uc/system.uc.ts:43",{"_index":21241,"title":{},"body":{"injectables/SystemUc.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts",{"_index":20972,"title":{},"body":{"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:14",{"_index":20979,"title":{},"body":{"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:17",{"_index":20982,"title":{},"body":{"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:20",{"_index":20981,"title":{},"body":{"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:23",{"_index":20978,"title":{},"body":{"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:26",{"_index":20980,"title":{},"body":{"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:29",{"_index":20983,"title":{},"body":{"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:3",{"_index":20977,"title":{},"body":{"classes/SubmissionStatusResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:32",{"_index":20973,"title":{},"body":{"classes/SubmissionStatusListResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.response.ts:38",{"_index":20974,"title":{},"body":{"classes/SubmissionStatusListResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.url.params.ts",{"_index":21002,"title":{},"body":{"classes/SubmissionUrlParams.html":{}}}],["apps/server/src/modules/task/controller/dto/submission.url.params.ts:11",{"_index":21003,"title":{},"body":{"classes/SubmissionUrlParams.html":{}}}],["apps/server/src/modules/task/controller/dto/task",{"_index":21431,"title":{},"body":{"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskStatusResponse.html":{},"classes/TaskUpdateParams.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts",{"_index":21529,"title":{},"body":{"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:22",{"_index":21696,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:26",{"_index":21699,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:29",{"_index":21688,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:32",{"_index":21695,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:36",{"_index":21690,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:39",{"_index":21698,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:42",{"_index":21689,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:49",{"_index":21693,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:52",{"_index":21697,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:55",{"_index":21694,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:58",{"_index":21691,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:61",{"_index":21701,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:64",{"_index":21700,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:67",{"_index":21530,"title":{},"body":{"classes/TaskListResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.response.ts:9",{"_index":21687,"title":{},"body":{"classes/TaskResponse.html":{}}}],["apps/server/src/modules/task/controller/dto/task.url.params.ts",{"_index":21870,"title":{},"body":{"classes/TaskUrlParams.html":{}}}],["apps/server/src/modules/task/controller/dto/task.url.params.ts:11",{"_index":21871,"title":{},"body":{"classes/TaskUrlParams.html":{}}}],["apps/server/src/modules/task/controller/submission.controller.ts",{"_index":20749,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["apps/server/src/modules/task/controller/submission.controller.ts:15",{"_index":20757,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["apps/server/src/modules/task/controller/submission.controller.ts:29",{"_index":20753,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts",{"_index":21381,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:100",{"_index":21390,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:22",{"_index":21391,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:30",{"_index":21394,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:37",{"_index":21396,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:54",{"_index":21399,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:63",{"_index":21402,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:72",{"_index":21405,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/controller/task.controller.ts:85",{"_index":21388,"title":{},"body":{"controllers/TaskController.html":{}}}],["apps/server/src/modules/task/mapper/submission.mapper.ts",{"_index":20891,"title":{},"body":{"classes/SubmissionMapper.html":{}}}],["apps/server/src/modules/task/mapper/submission.mapper.ts:5",{"_index":20894,"title":{},"body":{"classes/SubmissionMapper.html":{}}}],["apps/server/src/modules/task/mapper/task",{"_index":21768,"title":{},"body":{"classes/TaskStatusMapper.html":{}}}],["apps/server/src/modules/task/mapper/task.mapper.ts",{"_index":21536,"title":{},"body":{"classes/TaskMapper.html":{}}}],["apps/server/src/modules/task/mapper/task.mapper.ts:40",{"_index":21543,"title":{},"body":{"classes/TaskMapper.html":{}}}],["apps/server/src/modules/task/mapper/task.mapper.ts:55",{"_index":21540,"title":{},"body":{"classes/TaskMapper.html":{}}}],["apps/server/src/modules/task/mapper/task.mapper.ts:7",{"_index":21545,"title":{},"body":{"classes/TaskMapper.html":{}}}],["apps/server/src/modules/task/service/submission.service.ts",{"_index":20956,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["apps/server/src/modules/task/service/submission.service.ts:14",{"_index":20966,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["apps/server/src/modules/task/service/submission.service.ts:18",{"_index":20963,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["apps/server/src/modules/task/service/submission.service.ts:24",{"_index":20961,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["apps/server/src/modules/task/service/submission.service.ts:8",{"_index":20959,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["apps/server/src/modules/task/service/task",{"_index":21433,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["apps/server/src/modules/task/service/task.service.ts",{"_index":21752,"title":{},"body":{"injectables/TaskService.html":{}}}],["apps/server/src/modules/task/service/task.service.ts:10",{"_index":21754,"title":{},"body":{"injectables/TaskService.html":{}}}],["apps/server/src/modules/task/service/task.service.ts:17",{"_index":21761,"title":{},"body":{"injectables/TaskService.html":{}}}],["apps/server/src/modules/task/service/task.service.ts:26",{"_index":21756,"title":{},"body":{"injectables/TaskService.html":{}}}],["apps/server/src/modules/task/service/task.service.ts:34",{"_index":21758,"title":{},"body":{"injectables/TaskService.html":{}}}],["apps/server/src/modules/task/service/task.service.ts:41",{"_index":21760,"title":{},"body":{"injectables/TaskService.html":{}}}],["apps/server/src/modules/task/task",{"_index":21375,"title":{},"body":{"modules/TaskApiModule.html":{}}}],["apps/server/src/modules/task/task.module.ts",{"_index":21577,"title":{},"body":{"modules/TaskModule.html":{}}}],["apps/server/src/modules/task/uc/submission.uc.ts",{"_index":20984,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["apps/server/src/modules/task/uc/submission.uc.ts:15",{"_index":20992,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["apps/server/src/modules/task/uc/submission.uc.ts:24",{"_index":20988,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["apps/server/src/modules/task/uc/submission.uc.ts:41",{"_index":20990,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["apps/server/src/modules/task/uc/submission.uc.ts:9",{"_index":20987,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["apps/server/src/modules/task/uc/task",{"_index":21467,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts",{"_index":21779,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:102",{"_index":21804,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:11",{"_index":21785,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:118",{"_index":21794,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:147",{"_index":21796,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:177",{"_index":21800,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:189",{"_index":21802,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:20",{"_index":21792,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:210",{"_index":21797,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:217",{"_index":21788,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:61",{"_index":21790,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/task/uc/task.uc.ts:77",{"_index":21787,"title":{},"body":{"injectables/TaskUC.html":{}}}],["apps/server/src/modules/teams/service/team.service.ts",{"_index":21976,"title":{},"body":{"injectables/TeamService.html":{}}}],["apps/server/src/modules/teams/service/team.service.ts:10",{"_index":21984,"title":{},"body":{"injectables/TeamService.html":{}}}],["apps/server/src/modules/teams/service/team.service.ts:16",{"_index":21982,"title":{},"body":{"injectables/TeamService.html":{}}}],["apps/server/src/modules/teams/service/team.service.ts:7",{"_index":21980,"title":{},"body":{"injectables/TeamService.html":{}}}],["apps/server/src/modules/teams/teams",{"_index":22021,"title":{},"body":{"modules/TeamsApiModule.html":{}}}],["apps/server/src/modules/teams/teams.module.ts",{"_index":22026,"title":{},"body":{"modules/TeamsModule.html":{}}}],["apps/server/src/modules/tldraw",{"_index":9602,"title":{},"body":{"injectables/DrawingElementAdapterService.html":{},"modules/TldrawClientModule.html":{}}}],["apps/server/src/modules/tldraw/config.ts",{"_index":22299,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["apps/server/src/modules/tldraw/controller/tldraw.controller.ts",{"_index":22318,"title":{},"body":{"controllers/TldrawController.html":{}}}],["apps/server/src/modules/tldraw/controller/tldraw.controller.ts:19",{"_index":22325,"title":{},"body":{"controllers/TldrawController.html":{}}}],["apps/server/src/modules/tldraw/controller/tldraw.params.ts",{"_index":22334,"title":{},"body":{"classes/TldrawDeleteParams.html":{}}}],["apps/server/src/modules/tldraw/controller/tldraw.params.ts:11",{"_index":22335,"title":{},"body":{"classes/TldrawDeleteParams.html":{}}}],["apps/server/src/modules/tldraw/controller/tldraw.ws.ts",{"_index":22391,"title":{},"body":{"classes/TldrawWs.html":{}}}],["apps/server/src/modules/tldraw/controller/tldraw.ws.ts:11",{"_index":22397,"title":{},"body":{"classes/TldrawWs.html":{}}}],["apps/server/src/modules/tldraw/controller/tldraw.ws.ts:18",{"_index":22403,"title":{},"body":{"classes/TldrawWs.html":{}}}],["apps/server/src/modules/tldraw/controller/tldraw.ws.ts:31",{"_index":22399,"title":{},"body":{"classes/TldrawWs.html":{}}}],["apps/server/src/modules/tldraw/controller/tldraw.ws.ts:44",{"_index":22401,"title":{},"body":{"classes/TldrawWs.html":{}}}],["apps/server/src/modules/tldraw/domain/ws",{"_index":24364,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["apps/server/src/modules/tldraw/entities/tldraw",{"_index":22337,"title":{},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["apps/server/src/modules/tldraw/repo/tldraw",{"_index":22226,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["apps/server/src/modules/tldraw/repo/tldraw.repo.ts",{"_index":22362,"title":{},"body":{"injectables/TldrawRepo.html":{}}}],["apps/server/src/modules/tldraw/repo/tldraw.repo.ts:13",{"_index":22369,"title":{},"body":{"injectables/TldrawRepo.html":{}}}],["apps/server/src/modules/tldraw/repo/tldraw.repo.ts:17",{"_index":22367,"title":{},"body":{"injectables/TldrawRepo.html":{}}}],["apps/server/src/modules/tldraw/repo/tldraw.repo.ts:6",{"_index":22364,"title":{},"body":{"injectables/TldrawRepo.html":{}}}],["apps/server/src/modules/tldraw/repo/tldraw.repo.ts:9",{"_index":22365,"title":{},"body":{"injectables/TldrawRepo.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.service.ts",{"_index":22373,"title":{},"body":{"injectables/TldrawService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.service.ts:5",{"_index":22375,"title":{},"body":{"injectables/TldrawService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.service.ts:8",{"_index":22377,"title":{},"body":{"injectables/TldrawService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts",{"_index":22438,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:102",{"_index":22454,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:113",{"_index":22458,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:14",{"_index":22472,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:146",{"_index":22467,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:16",{"_index":22471,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:18",{"_index":22448,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:202",{"_index":22468,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:206",{"_index":22451,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:27",{"_index":22464,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:35",{"_index":22450,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:65",{"_index":22461,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:85",{"_index":22470,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["apps/server/src/modules/tldraw/testing/test",{"_index":22166,"title":{},"body":{"classes/TestConnection.html":{}}}],["apps/server/src/modules/tldraw/tldraw",{"_index":22386,"title":{},"body":{"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["apps/server/src/modules/tldraw/tldraw.module.ts",{"_index":22359,"title":{},"body":{"modules/TldrawModule.html":{}}}],["apps/server/src/modules/tool/common/common",{"_index":6022,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["apps/server/src/modules/tool/common/controller/dto/context",{"_index":6668,"title":{},"body":{"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{}}}],["apps/server/src/modules/tool/common/domain/context",{"_index":6659,"title":{},"body":{"classes/ContextExternalToolConfigurationStatus.html":{}}}],["apps/server/src/modules/tool/common/domain/custom",{"_index":8187,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntry.html":{}}}],["apps/server/src/modules/tool/common/entity/custom",{"_index":8230,"title":{},"body":{"classes/CustomParameterEntryEntity.html":{}}}],["apps/server/src/modules/tool/common/interface/external",{"_index":10920,"title":{},"body":{"interfaces/ExternalToolSearchQuery.html":{}}}],["apps/server/src/modules/tool/common/interface/tool",{"_index":23094,"title":{},"body":{"interfaces/ToolVersion.html":{}}}],["apps/server/src/modules/tool/common/mapper/tool",{"_index":22741,"title":{},"body":{"classes/ToolContextMapper.html":{},"classes/ToolStatusResponseMapper.html":{}}}],["apps/server/src/modules/tool/common/service/common",{"_index":6028,"title":{},"body":{"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{}}}],["apps/server/src/modules/tool/common/uc/tool",{"_index":22948,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["apps/server/src/modules/tool/context",{"_index":6623,"title":{},"body":{"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolIdParams.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"controllers/ToolContextController.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"injectables/ToolVersionService.html":{}}}],["apps/server/src/modules/tool/external",{"_index":2669,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextRefParams.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolCreateParams.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolIdParams-1.html":{},"classes/SortExternalToolParams.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{}}}],["apps/server/src/modules/tool/school",{"_index":8234,"title":{},"body":{"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"controllers/ToolSchoolController.html":{}}}],["apps/server/src/modules/tool/tool",{"_index":1756,"title":{},"body":{"classes/AuthenticationValues.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BasicToolLaunchStrategy.html":{},"interfaces/IToolFeatures.html":{},"injectables/Lti11EncryptionService.html":{},"classes/LtiRoleMapper.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PropertyData.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"classes/ToolStatusOutdatedLoggableException.html":{}}}],["apps/server/src/modules/tool/tool.module.ts",{"_index":22947,"title":{},"body":{"modules/ToolModule.html":{}}}],["apps/server/src/modules/user",{"_index":4923,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterUserParams.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"modules/ImportUserModule.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/Oauth2MigrationParams.html":{},"classes/PageContentDto.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RoleNameMapper.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SortImportUserParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["apps/server/src/modules/user/controller/dto/resolved",{"_index":18818,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["apps/server/src/modules/user/controller/dto/user.params.ts",{"_index":4534,"title":{},"body":{"classes/ChangeLanguageParams.html":{}}}],["apps/server/src/modules/user/controller/dto/user.params.ts:8",{"_index":4537,"title":{},"body":{"classes/ChangeLanguageParams.html":{}}}],["apps/server/src/modules/user/controller/dto/user.response.ts",{"_index":21013,"title":{},"body":{"classes/SuccessfulResponse.html":{}}}],["apps/server/src/modules/user/controller/dto/user.response.ts:3",{"_index":21015,"title":{},"body":{"classes/SuccessfulResponse.html":{}}}],["apps/server/src/modules/user/controller/dto/user.response.ts:9",{"_index":21016,"title":{},"body":{"classes/SuccessfulResponse.html":{}}}],["apps/server/src/modules/user/controller/user.controller.ts",{"_index":23204,"title":{},"body":{"controllers/UserController.html":{}}}],["apps/server/src/modules/user/controller/user.controller.ts:15",{"_index":23211,"title":{},"body":{"controllers/UserController.html":{}}}],["apps/server/src/modules/user/controller/user.controller.ts:25",{"_index":23208,"title":{},"body":{"controllers/UserController.html":{}}}],["apps/server/src/modules/user/interfaces/user",{"_index":23203,"title":{},"body":{"interfaces/UserConfig.html":{}}}],["apps/server/src/modules/user/mapper/resolved",{"_index":18807,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["apps/server/src/modules/user/mapper/user.mapper.ts",{"_index":23723,"title":{},"body":{"classes/UserMapper.html":{}}}],["apps/server/src/modules/user/mapper/user.mapper.ts:5",{"_index":23724,"title":{},"body":{"classes/UserMapper.html":{}}}],["apps/server/src/modules/user/service/user.service.ts",{"_index":23887,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:111",{"_index":23914,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:120",{"_index":23895,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:126",{"_index":23896,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:132",{"_index":23905,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:22",{"_index":23893,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:31",{"_index":23911,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:41",{"_index":23909,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:48",{"_index":23907,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:57",{"_index":23899,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:63",{"_index":23900,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:69",{"_index":23916,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:75",{"_index":23918,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:81",{"_index":23902,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:87",{"_index":23898,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:93",{"_index":23897,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/service/user.service.ts:99",{"_index":23904,"title":{},"body":{"injectables/UserService.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts",{"_index":23348,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:21",{"_index":23355,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:23",{"_index":23351,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:25",{"_index":23353,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:27",{"_index":23358,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:29",{"_index":23362,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:31",{"_index":23363,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:33",{"_index":23359,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:35",{"_index":23352,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:37",{"_index":23356,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:39",{"_index":23354,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:4",{"_index":23350,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:42",{"_index":23361,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:44",{"_index":23357,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/dto/user.dto.ts:46",{"_index":23360,"title":{},"body":{"classes/UserDto.html":{}}}],["apps/server/src/modules/user/uc/user.uc.ts",{"_index":23950,"title":{},"body":{"injectables/UserUc.html":{}}}],["apps/server/src/modules/user/uc/user.uc.ts:10",{"_index":23952,"title":{},"body":{"injectables/UserUc.html":{}}}],["apps/server/src/modules/user/uc/user.uc.ts:13",{"_index":23956,"title":{},"body":{"injectables/UserUc.html":{}}}],["apps/server/src/modules/user/uc/user.uc.ts:20",{"_index":23954,"title":{},"body":{"injectables/UserUc.html":{}}}],["apps/server/src/modules/user/uc/user.uc.ts:26",{"_index":23957,"title":{},"body":{"injectables/UserUc.html":{}}}],["apps/server/src/modules/user/user",{"_index":23200,"title":{},"body":{"modules/UserApiModule.html":{}}}],["apps/server/src/modules/user/user.module.ts",{"_index":23792,"title":{},"body":{"modules/UserModule.html":{}}}],["apps/server/src/modules/video",{"_index":2137,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"classes/Builder.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"interfaces/IBbbSettings.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"classes/VideoConference-1.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["apps/server/src/shared/common/error/api",{"_index":1352,"title":{},"body":{"classes/ApiValidationError.html":{}}}],["apps/server/src/shared/common/error/authorization.error.ts",{"_index":1795,"title":{},"body":{"classes/AuthorizationError.html":{}}}],["apps/server/src/shared/common/error/authorization.error.ts:4",{"_index":1797,"title":{},"body":{"classes/AuthorizationError.html":{}}}],["apps/server/src/shared/common/error/business.error.ts",{"_index":4185,"title":{},"body":{"classes/BusinessError.html":{}}}],["apps/server/src/shared/common/error/business.error.ts:12",{"_index":4192,"title":{},"body":{"classes/BusinessError.html":{}}}],["apps/server/src/shared/common/error/business.error.ts:15",{"_index":4195,"title":{},"body":{"classes/BusinessError.html":{}}}],["apps/server/src/shared/common/error/business.error.ts:18",{"_index":4194,"title":{},"body":{"classes/BusinessError.html":{}}}],["apps/server/src/shared/common/error/business.error.ts:21",{"_index":4193,"title":{},"body":{"classes/BusinessError.html":{}}}],["apps/server/src/shared/common/error/business.error.ts:25",{"_index":4191,"title":{},"body":{"classes/BusinessError.html":{}}}],["apps/server/src/shared/common/error/business.error.ts:47",{"_index":4196,"title":{},"body":{"classes/BusinessError.html":{}}}],["apps/server/src/shared/common/error/entity",{"_index":9854,"title":{},"body":{"classes/EntityNotFoundError.html":{}}}],["apps/server/src/shared/common/error/forbidden",{"_index":12415,"title":{},"body":{"classes/ForbiddenOperationError.html":{}}}],["apps/server/src/shared/common/error/user",{"_index":23182,"title":{},"body":{"classes/UserAlreadyAssignedToImportUserError.html":{}}}],["apps/server/src/shared/common/error/validation.error.ts",{"_index":23963,"title":{},"body":{"classes/ValidationError.html":{}}}],["apps/server/src/shared/common/error/validation.error.ts:4",{"_index":23964,"title":{},"body":{"classes/ValidationError.html":{}}}],["apps/server/src/shared/common/interceptor/duration",{"_index":9742,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["apps/server/src/shared/common/interceptor/interfaces/interceptor",{"_index":14195,"title":{},"body":{"interfaces/InterceptorConfig.html":{}}}],["apps/server/src/shared/common/interceptor/request",{"_index":18782,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["apps/server/src/shared/common/interceptor/timeout.interceptor.ts",{"_index":22204,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["apps/server/src/shared/common/interceptor/timeout.interceptor.ts:11",{"_index":22208,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["apps/server/src/shared/common/interceptor/timeout.interceptor.ts:14",{"_index":22209,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["apps/server/src/shared/common/loggable",{"_index":16818,"title":{},"body":{"classes/NotFoundLoggableException.html":{},"classes/ValidationErrorLoggableException.html":{}}}],["apps/server/src/shared/common/loggable/referenced",{"_index":18653,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["apps/server/src/shared/common/utils/converter.util.ts",{"_index":7098,"title":{},"body":{"injectables/ConverterUtil.html":{}}}],["apps/server/src/shared/common/utils/converter.util.ts:9",{"_index":7101,"title":{},"body":{"injectables/ConverterUtil.html":{}}}],["apps/server/src/shared/common/utils/guard",{"_index":13028,"title":{},"body":{"classes/GuardAgainst.html":{}}}],["apps/server/src/shared/common/validator/string.validator.ts",{"_index":20643,"title":{},"body":{"classes/StringValidator.html":{}}}],["apps/server/src/shared/common/validator/string.validator.ts:10",{"_index":20646,"title":{},"body":{"classes/StringValidator.html":{}}}],["apps/server/src/shared/common/validator/string.validator.ts:2",{"_index":20648,"title":{},"body":{"classes/StringValidator.html":{}}}],["apps/server/src/shared/controller/dto/pagination.params.ts",{"_index":17731,"title":{},"body":{"classes/PaginationParams.html":{}}}],["apps/server/src/shared/controller/dto/pagination.params.ts:14",{"_index":17732,"title":{},"body":{"classes/PaginationParams.html":{}}}],["apps/server/src/shared/controller/dto/pagination.params.ts:8",{"_index":17733,"title":{},"body":{"classes/PaginationParams.html":{}}}],["apps/server/src/shared/controller/dto/pagination.response.ts",{"_index":17735,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["apps/server/src/shared/controller/dto/pagination.response.ts:11",{"_index":17738,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["apps/server/src/shared/controller/dto/pagination.response.ts:14",{"_index":17741,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["apps/server/src/shared/controller/dto/pagination.response.ts:17",{"_index":17740,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["apps/server/src/shared/controller/dto/pagination.response.ts:20",{"_index":17739,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["apps/server/src/shared/controller/dto/pagination.response.ts:3",{"_index":17737,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["apps/server/src/shared/controller/dto/sorting.params.ts",{"_index":20571,"title":{},"body":{"classes/SortingParams.html":{}}}],["apps/server/src/shared/controller/dto/sorting.params.ts:13",{"_index":20572,"title":{},"body":{"classes/SortingParams.html":{}}}],["apps/server/src/shared/controller/dto/sorting.params.ts:18",{"_index":20574,"title":{},"body":{"classes/SortingParams.html":{}}}],["apps/server/src/shared/domain/domain",{"_index":1768,"title":{},"body":{"interfaces/AuthorizableObject.html":{},"classes/DomainObject.html":{}}}],["apps/server/src/shared/domain/domainobject/base.do.ts",{"_index":2433,"title":{},"body":{"classes/BaseDO.html":{}}}],["apps/server/src/shared/domain/domainobject/base.do.ts:5",{"_index":2435,"title":{},"body":{"classes/BaseDO.html":{}}}],["apps/server/src/shared/domain/domainobject/board/board",{"_index":3028,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/card.do.ts",{"_index":4295,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/card.do.ts:11",{"_index":4303,"title":{},"body":{"classes/Card.html":{}}}],["apps/server/src/shared/domain/domainobject/board/card.do.ts:15",{"_index":4305,"title":{},"body":{"classes/Card.html":{}}}],["apps/server/src/shared/domain/domainobject/board/card.do.ts:19",{"_index":4307,"title":{},"body":{"classes/Card.html":{}}}],["apps/server/src/shared/domain/domainobject/board/card.do.ts:23",{"_index":4309,"title":{},"body":{"classes/Card.html":{}}}],["apps/server/src/shared/domain/domainobject/board/column",{"_index":5384,"title":{},"body":{"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/column.do.ts",{"_index":5375,"title":{},"body":{"classes/Column.html":{},"interfaces/ColumnProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/column.do.ts:10",{"_index":5379,"title":{},"body":{"classes/Column.html":{}}}],["apps/server/src/shared/domain/domainobject/board/column.do.ts:6",{"_index":5378,"title":{},"body":{"classes/Column.html":{}}}],["apps/server/src/shared/domain/domainobject/board/content",{"_index":6334,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["apps/server/src/shared/domain/domainobject/board/drawing",{"_index":9588,"title":{},"body":{"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/external",{"_index":10257,"title":{},"body":{"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/file",{"_index":11480,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/link",{"_index":15631,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/rich",{"_index":18864,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/submission",{"_index":20716,"title":{},"body":{"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"interfaces/SubmissionItemProps.html":{}}}],["apps/server/src/shared/domain/domainobject/board/types/board",{"_index":3082,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/BoardExternalReference.html":{},"interfaces/UserBoardRoles.html":{}}}],["apps/server/src/shared/domain/domainobject/external",{"_index":10050,"title":{},"body":{"classes/ExternalSource.html":{}}}],["apps/server/src/shared/domain/domainobject/legacy",{"_index":15174,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts",{"_index":8157,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:17",{"_index":15971,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:19",{"_index":15980,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:21",{"_index":15967,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:23",{"_index":15978,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:25",{"_index":15968,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:27",{"_index":15969,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:29",{"_index":15970,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:31",{"_index":15976,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:33",{"_index":15977,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:35",{"_index":15975,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:37",{"_index":15962,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:39",{"_index":15966,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:41",{"_index":15965,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:43",{"_index":15974,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:45",{"_index":15972,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:47",{"_index":15963,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:49",{"_index":15979,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:51",{"_index":15973,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:53",{"_index":15964,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:55",{"_index":15961,"title":{},"body":{"classes/LtiToolDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:6",{"_index":8160,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{}}}],["apps/server/src/shared/domain/domainobject/ltitool.do.ts:8",{"_index":8159,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{}}}],["apps/server/src/shared/domain/domainobject/page.ts",{"_index":17716,"title":{},"body":{"classes/Page.html":{}}}],["apps/server/src/shared/domain/domainobject/page.ts:2",{"_index":17718,"title":{},"body":{"classes/Page.html":{}}}],["apps/server/src/shared/domain/domainobject/page.ts:4",{"_index":17717,"title":{},"body":{"classes/Page.html":{}}}],["apps/server/src/shared/domain/domainobject/pseudonym.do.ts",{"_index":18161,"title":{},"body":{"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{}}}],["apps/server/src/shared/domain/domainobject/pseudonym.do.ts:13",{"_index":18163,"title":{},"body":{"classes/Pseudonym.html":{}}}],["apps/server/src/shared/domain/domainobject/pseudonym.do.ts:17",{"_index":18165,"title":{},"body":{"classes/Pseudonym.html":{}}}],["apps/server/src/shared/domain/domainobject/pseudonym.do.ts:21",{"_index":18166,"title":{},"body":{"classes/Pseudonym.html":{}}}],["apps/server/src/shared/domain/domainobject/pseudonym.do.ts:25",{"_index":18167,"title":{},"body":{"classes/Pseudonym.html":{}}}],["apps/server/src/shared/domain/domainobject/pseudonym.do.ts:29",{"_index":18168,"title":{},"body":{"classes/Pseudonym.html":{}}}],["apps/server/src/shared/domain/domainobject/role",{"_index":19042,"title":{},"body":{"classes/RoleReference.html":{}}}],["apps/server/src/shared/domain/domainobject/user",{"_index":23505,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts",{"_index":23221,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:11",{"_index":23224,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:13",{"_index":23227,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:15",{"_index":23233,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:17",{"_index":23239,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:19",{"_index":23240,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:21",{"_index":23235,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:23",{"_index":23226,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:25",{"_index":23230,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:27",{"_index":23228,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:29",{"_index":23234,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:31",{"_index":23225,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:33",{"_index":23231,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:35",{"_index":23229,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:37",{"_index":23237,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:39",{"_index":23232,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:41",{"_index":23236,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:43",{"_index":23238,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:45",{"_index":23222,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:7",{"_index":23223,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/user.do.ts:9",{"_index":23241,"title":{},"body":{"classes/UserDO.html":{}}}],["apps/server/src/shared/domain/domainobject/video",{"_index":24147,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts",{"_index":207,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:12",{"_index":222,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:15",{"_index":216,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:18",{"_index":218,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:21",{"_index":213,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:24",{"_index":220,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:27",{"_index":217,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:30",{"_index":215,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:33",{"_index":214,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/account.entity.ts:36",{"_index":212,"title":{},"body":{"entities/Account.html":{}}}],["apps/server/src/shared/domain/entity/base.entity.ts",{"_index":2529,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["apps/server/src/shared/domain/entity/base.entity.ts:11",{"_index":2534,"title":{},"body":{"classes/BaseEntity.html":{}}}],["apps/server/src/shared/domain/entity/base.entity.ts:24",{"_index":2560,"title":{},"body":{"classes/BaseEntityWithTimestamps.html":{}}}],["apps/server/src/shared/domain/entity/base.entity.ts:27",{"_index":2557,"title":{},"body":{"classes/BaseEntityWithTimestamps.html":{}}}],["apps/server/src/shared/domain/entity/base.entity.ts:30",{"_index":2559,"title":{},"body":{"classes/BaseEntityWithTimestamps.html":{}}}],["apps/server/src/shared/domain/entity/base.entity.ts:33",{"_index":2558,"title":{},"body":{"classes/BaseEntityWithTimestamps.html":{}}}],["apps/server/src/shared/domain/entity/base.entity.ts:36",{"_index":2562,"title":{},"body":{"classes/BaseEntityWithTimestamps.html":{}}}],["apps/server/src/shared/domain/entity/base.entity.ts:8",{"_index":2532,"title":{},"body":{"classes/BaseEntity.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts",{"_index":3863,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:29",{"_index":3867,"title":{},"body":{"entities/BoardNode.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:32",{"_index":3865,"title":{},"body":{"entities/BoardNode.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:35",{"_index":3868,"title":{},"body":{"entities/BoardNode.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:39",{"_index":3871,"title":{},"body":{"entities/BoardNode.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:42",{"_index":3869,"title":{},"body":{"entities/BoardNode.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/card",{"_index":4400,"title":{},"body":{"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/column",{"_index":5434,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/drawing",{"_index":9620,"title":{},"body":{"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/external",{"_index":10273,"title":{},"body":{"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/file",{"_index":11505,"title":{},"body":{"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/link",{"_index":15657,"title":{},"body":{"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/rich",{"_index":18891,"title":{},"body":{"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/submission",{"_index":20734,"title":{},"body":{"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["apps/server/src/shared/domain/entity/boardnode/types/board",{"_index":3430,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts",{"_index":7447,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:100",{"_index":7460,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:103",{"_index":7472,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:44",{"_index":23961,"title":{},"body":{"classes/UsersList.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:46",{"_index":23960,"title":{},"body":{"classes/UsersList.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:48",{"_index":23962,"title":{},"body":{"classes/UsersList.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:54",{"_index":7474,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:57",{"_index":7467,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:61",{"_index":7476,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:65",{"_index":7481,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:69",{"_index":7484,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:73",{"_index":7483,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:76",{"_index":7465,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:80",{"_index":7462,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:83",{"_index":7479,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:87",{"_index":7485,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:90",{"_index":7463,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:94",{"_index":7478,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/course.entity.ts:97",{"_index":7470,"title":{},"body":{"entities/Course.html":{}}}],["apps/server/src/shared/domain/entity/coursegroup.entity.ts",{"_index":7716,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{}}}],["apps/server/src/shared/domain/entity/coursegroup.entity.ts:21",{"_index":7719,"title":{},"body":{"entities/CourseGroup.html":{}}}],["apps/server/src/shared/domain/entity/coursegroup.entity.ts:25",{"_index":7724,"title":{},"body":{"entities/CourseGroup.html":{}}}],["apps/server/src/shared/domain/entity/coursegroup.entity.ts:29",{"_index":7718,"title":{},"body":{"entities/CourseGroup.html":{}}}],["apps/server/src/shared/domain/entity/coursegroup.entity.ts:33",{"_index":7722,"title":{},"body":{"entities/CourseGroup.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts",{"_index":8376,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:100",{"_index":12666,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:108",{"_index":12655,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:117",{"_index":12661,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:138",{"_index":12665,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:14",{"_index":13610,"title":{},"body":{"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:142",{"_index":12668,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:16",{"_index":13612,"title":{},"body":{"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:161",{"_index":8396,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:163",{"_index":8394,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:165",{"_index":8395,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:167",{"_index":8397,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:169",{"_index":8418,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:176",{"_index":8424,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:18",{"_index":13611,"title":{},"body":{"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:180",{"_index":8393,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:193",{"_index":8412,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:197",{"_index":8416,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:20",{"_index":13608,"title":{},"body":{"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:201",{"_index":8410,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:213",{"_index":8407,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:22",{"_index":13607,"title":{},"body":{"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:221",{"_index":8422,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:231",{"_index":8431,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:24",{"_index":13613,"title":{},"body":{"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:240",{"_index":8428,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:255",{"_index":8403,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:266",{"_index":8401,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:272",{"_index":8399,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:278",{"_index":8409,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:286",{"_index":8415,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:298",{"_index":8426,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:307",{"_index":8420,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:38",{"_index":12651,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:40",{"_index":12654,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:42",{"_index":12653,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:52",{"_index":12650,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:60",{"_index":12659,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:64",{"_index":12658,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:68",{"_index":12660,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:72",{"_index":12657,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:76",{"_index":12652,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:78",{"_index":12664,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:8",{"_index":13609,"title":{},"body":{"interfaces/IGridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:82",{"_index":12662,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:86",{"_index":12663,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.entity.ts:90",{"_index":12667,"title":{},"body":{"classes/GridElement.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts",{"_index":8528,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts:42",{"_index":8535,"title":{},"body":{"entities/DashboardGridElementModel.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts:45",{"_index":8536,"title":{},"body":{"entities/DashboardGridElementModel.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts:48",{"_index":8537,"title":{},"body":{"entities/DashboardGridElementModel.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts:52",{"_index":8534,"title":{},"body":{"entities/DashboardGridElementModel.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts:56",{"_index":8532,"title":{},"body":{"entities/DashboardGridElementModel.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts:76",{"_index":8616,"title":{},"body":{"entities/DashboardModelEntity.html":{}}}],["apps/server/src/shared/domain/entity/dashboard.model.entity.ts:81",{"_index":8618,"title":{},"body":{"entities/DashboardModelEntity.html":{}}}],["apps/server/src/shared/domain/entity/external",{"_index":10055,"title":{},"body":{"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{}}}],["apps/server/src/shared/domain/entity/federal",{"_index":7425,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["apps/server/src/shared/domain/entity/import",{"_index":13806,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["apps/server/src/shared/domain/entity/legacy",{"_index":2908,"title":{},"body":{"entities/Board.html":{},"entities/BoardElement.html":{},"entities/ColumnBoardTarget.html":{},"entities/ColumnboardBoardElement.html":{},"entities/LessonBoardElement.html":{},"entities/TaskBoardElement.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts",{"_index":6146,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:101",{"_index":15458,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:104",{"_index":15451,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:107",{"_index":15456,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:110",{"_index":15459,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:81",{"_index":15476,"title":{},"body":{"interfaces/LessonParent.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:87",{"_index":15457,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:91",{"_index":15455,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:95",{"_index":15452,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/lesson.entity.ts:98",{"_index":15453,"title":{},"body":{"entities/LessonEntity.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts",{"_index":8084,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:101",{"_index":15942,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:33",{"_index":15949,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:36",{"_index":15960,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:39",{"_index":15945,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:42",{"_index":15958,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:45",{"_index":15946,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:48",{"_index":15947,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:51",{"_index":15948,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:54",{"_index":15954,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:58",{"_index":15957,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:65",{"_index":15953,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:68",{"_index":15939,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:71",{"_index":15944,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:74",{"_index":15943,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:77",{"_index":15938,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:85",{"_index":15950,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:89",{"_index":15940,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:92",{"_index":15959,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:95",{"_index":15951,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/ltitool.entity.ts:98",{"_index":15941,"title":{},"body":{"entities/LtiTool.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts",{"_index":16131,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:31",{"_index":16136,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:34",{"_index":16137,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:37",{"_index":16138,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:40",{"_index":16139,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:43",{"_index":16141,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:46",{"_index":16142,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:49",{"_index":16143,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:52",{"_index":16145,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:55",{"_index":16146,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/materials.entity.ts:58",{"_index":16147,"title":{},"body":{"entities/Material.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts",{"_index":7812,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:102",{"_index":20027,"title":{},"body":{"entities/SchoolNews.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:116",{"_index":7813,"title":{},"body":{"entities/CourseNews.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:127",{"_index":21923,"title":{},"body":{"entities/TeamNews.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:34",{"_index":16439,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:38",{"_index":16429,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:43",{"_index":16431,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:46",{"_index":16432,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:49",{"_index":16435,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:52",{"_index":16436,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:55",{"_index":16437,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:59",{"_index":16438,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:62",{"_index":16434,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:65",{"_index":16430,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:68",{"_index":16440,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/news.entity.ts:70",{"_index":16433,"title":{},"body":{"entities/News.html":{}}}],["apps/server/src/shared/domain/entity/role.entity.ts",{"_index":18992,"title":{},"body":{"entities/Role.html":{},"interfaces/RoleProperties.html":{}}}],["apps/server/src/shared/domain/entity/role.entity.ts:15",{"_index":18993,"title":{},"body":{"entities/Role.html":{}}}],["apps/server/src/shared/domain/entity/role.entity.ts:18",{"_index":18994,"title":{},"body":{"entities/Role.html":{}}}],["apps/server/src/shared/domain/entity/role.entity.ts:21",{"_index":18996,"title":{},"body":{"entities/Role.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts",{"_index":19650,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:102",{"_index":19667,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:105",{"_index":19654,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:47",{"_index":20045,"title":{},"body":{"classes/SchoolRolePermission.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:50",{"_index":20044,"title":{},"body":{"classes/SchoolRolePermission.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:56",{"_index":20046,"title":{},"body":{"classes/SchoolRoles.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:59",{"_index":20047,"title":{},"body":{"classes/SchoolRoles.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:66",{"_index":19653,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:69",{"_index":19655,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:72",{"_index":19656,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:75",{"_index":19652,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:78",{"_index":19661,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:81",{"_index":19657,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:84",{"_index":19658,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:87",{"_index":19664,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:90",{"_index":19660,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/school.entity.ts:93",{"_index":19663,"title":{},"body":{"entities/SchoolEntity.html":{}}}],["apps/server/src/shared/domain/entity/schoolyear.entity.ts",{"_index":20082,"title":{},"body":{"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{}}}],["apps/server/src/shared/domain/entity/schoolyear.entity.ts:13",{"_index":20085,"title":{},"body":{"entities/SchoolYearEntity.html":{}}}],["apps/server/src/shared/domain/entity/schoolyear.entity.ts:16",{"_index":20086,"title":{},"body":{"entities/SchoolYearEntity.html":{}}}],["apps/server/src/shared/domain/entity/schoolyear.entity.ts:19",{"_index":20084,"title":{},"body":{"entities/SchoolYearEntity.html":{}}}],["apps/server/src/shared/domain/entity/storageprovider.entity.ts",{"_index":20622,"title":{},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["apps/server/src/shared/domain/entity/storageprovider.entity.ts:15",{"_index":20625,"title":{},"body":{"entities/StorageProviderEntity.html":{}}}],["apps/server/src/shared/domain/entity/storageprovider.entity.ts:18",{"_index":20624,"title":{},"body":{"entities/StorageProviderEntity.html":{}}}],["apps/server/src/shared/domain/entity/storageprovider.entity.ts:21",{"_index":20627,"title":{},"body":{"entities/StorageProviderEntity.html":{}}}],["apps/server/src/shared/domain/entity/storageprovider.entity.ts:24",{"_index":20626,"title":{},"body":{"entities/StorageProviderEntity.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts",{"_index":20651,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:30",{"_index":20659,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:34",{"_index":20665,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:37",{"_index":20661,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:40",{"_index":20655,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:43",{"_index":20666,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:46",{"_index":20654,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:49",{"_index":20662,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:52",{"_index":20658,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:55",{"_index":20656,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/submission.entity.ts:58",{"_index":20657,"title":{},"body":{"entities/Submission.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts",{"_index":14916,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:102",{"_index":14930,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:105",{"_index":14931,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:108",{"_index":14929,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:111",{"_index":14938,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:114",{"_index":14935,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:117",{"_index":14936,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:120",{"_index":14937,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:123",{"_index":14933,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:126",{"_index":14934,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:153",{"_index":17537,"title":{},"body":{"classes/OidcConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:166",{"_index":17539,"title":{},"body":{"classes/OidcConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:169",{"_index":17540,"title":{},"body":{"classes/OidcConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:172",{"_index":17542,"title":{},"body":{"classes/OidcConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:175",{"_index":17538,"title":{},"body":{"classes/OidcConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:178",{"_index":17544,"title":{},"body":{"classes/OidcConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:18",{"_index":17081,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:181",{"_index":17543,"title":{},"body":{"classes/OidcConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:184",{"_index":17545,"title":{},"body":{"classes/OidcConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:187",{"_index":17541,"title":{},"body":{"classes/OidcConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:206",{"_index":21120,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:209",{"_index":21121,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:212",{"_index":21111,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:215",{"_index":21112,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:218",{"_index":21115,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:222",{"_index":21118,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:225",{"_index":21116,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:228",{"_index":21114,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:231",{"_index":21119,"title":{},"body":{"entities/SystemEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:36",{"_index":17083,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:39",{"_index":17084,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:42",{"_index":17086,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:45",{"_index":17091,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:48",{"_index":17085,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:51",{"_index":17094,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:54",{"_index":17082,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:57",{"_index":17092,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:60",{"_index":17093,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:63",{"_index":17090,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:66",{"_index":17089,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:69",{"_index":17087,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:72",{"_index":17088,"title":{},"body":{"classes/OauthConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:76",{"_index":14926,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:93",{"_index":14927,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:96",{"_index":14928,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/system.entity.ts:99",{"_index":14932,"title":{},"body":{"classes/LdapConfigEntity.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts",{"_index":21257,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:16",{"_index":21873,"title":{},"body":{"classes/TaskWithStatusVo.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:18",{"_index":21872,"title":{},"body":{"classes/TaskWithStatusVo.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:35",{"_index":21578,"title":{},"body":{"interfaces/TaskParent.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:45",{"_index":21268,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:48",{"_index":21262,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:51",{"_index":21263,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:54",{"_index":21258,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:58",{"_index":21264,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:61",{"_index":21269,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:64",{"_index":21270,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:67",{"_index":21274,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:71",{"_index":21261,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:75",{"_index":21259,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:79",{"_index":21271,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:83",{"_index":21267,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:86",{"_index":21273,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/task.entity.ts:90",{"_index":21265,"title":{},"body":{"entities/Task.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts",{"_index":21883,"title":{},"body":{"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:19",{"_index":21996,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:27",{"_index":21999,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:30",{"_index":21997,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:33",{"_index":21998,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:36",{"_index":22000,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:40",{"_index":22002,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:44",{"_index":22004,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:48",{"_index":22006,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:56",{"_index":21884,"title":{},"body":{"entities/TeamEntity.html":{}}}],["apps/server/src/shared/domain/entity/team.entity.ts:59",{"_index":21886,"title":{},"body":{"entities/TeamEntity.html":{}}}],["apps/server/src/shared/domain/entity/user",{"_index":23529,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts",{"_index":23137,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:100",{"_index":23155,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:103",{"_index":23141,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:106",{"_index":23157,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:44",{"_index":23143,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:47",{"_index":23146,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:50",{"_index":23152,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:54",{"_index":23161,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:58",{"_index":23162,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:62",{"_index":23154,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:65",{"_index":23145,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:68",{"_index":23159,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:72",{"_index":23149,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:75",{"_index":23147,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:78",{"_index":23153,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:81",{"_index":23144,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:84",{"_index":23150,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:87",{"_index":23148,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:90",{"_index":23158,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:94",{"_index":23142,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/user.entity.ts:97",{"_index":23151,"title":{},"body":{"entities/User.html":{}}}],["apps/server/src/shared/domain/entity/video",{"_index":23982,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["apps/server/src/shared/domain/interface/base",{"_index":2521,"title":{},"body":{"classes/BaseDomainObject.html":{}}}],["apps/server/src/shared/domain/interface/entity.ts",{"_index":9859,"title":{},"body":{"interfaces/EntityWithSchool.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{}}}],["apps/server/src/shared/domain/interface/find",{"_index":13605,"title":{},"body":{"interfaces/IFindOptions.html":{},"interfaces/Pagination.html":{}}}],["apps/server/src/shared/domain/interface/learnroom.ts",{"_index":15112,"title":{},"body":{"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{}}}],["apps/server/src/shared/domain/service/permission.service.ts",{"_index":17783,"title":{},"body":{"injectables/PermissionService.html":{}}}],["apps/server/src/shared/domain/service/permission.service.ts:17",{"_index":17790,"title":{},"body":{"injectables/PermissionService.html":{}}}],["apps/server/src/shared/domain/service/permission.service.ts:26",{"_index":17794,"title":{},"body":{"injectables/PermissionService.html":{}}}],["apps/server/src/shared/domain/service/permission.service.ts:51",{"_index":17788,"title":{},"body":{"injectables/PermissionService.html":{}}}],["apps/server/src/shared/domain/types/importuser.types.ts",{"_index":13618,"title":{},"body":{"interfaces/IImportUserScope.html":{},"interfaces/NameMatch.html":{}}}],["apps/server/src/shared/domain/types/news.types.ts",{"_index":8005,"title":{},"body":{"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{}}}],["apps/server/src/shared/domain/types/rich",{"_index":18852,"title":{},"body":{"classes/RichText.html":{}}}],["apps/server/src/shared/domain/types/task.types.ts",{"_index":13653,"title":{},"body":{"interfaces/ITask.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{}}}],["apps/server/src/shared/infra/identity",{"_index":25906,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts",{"_index":2437,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:10",{"_index":2447,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:13",{"_index":2473,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:15",{"_index":2464,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:17",{"_index":2459,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:19",{"_index":2470,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:24",{"_index":2472,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:32",{"_index":2450,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:61",{"_index":2452,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:78",{"_index":2456,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:90",{"_index":2457,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.do.repo.ts:98",{"_index":2466,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["apps/server/src/shared/repo/base.repo.ts",{"_index":2608,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["apps/server/src/shared/repo/base.repo.ts:13",{"_index":2617,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["apps/server/src/shared/repo/base.repo.ts:16",{"_index":2622,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["apps/server/src/shared/repo/base.repo.ts:18",{"_index":2618,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["apps/server/src/shared/repo/base.repo.ts:22",{"_index":2621,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["apps/server/src/shared/repo/base.repo.ts:26",{"_index":2619,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["apps/server/src/shared/repo/base.repo.ts:30",{"_index":2620,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["apps/server/src/shared/repo/board/board.repo.ts",{"_index":3935,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["apps/server/src/shared/repo/board/board.repo.ts:12",{"_index":3943,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["apps/server/src/shared/repo/board/board.repo.ts:18",{"_index":3946,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["apps/server/src/shared/repo/board/board.repo.ts:26",{"_index":3941,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["apps/server/src/shared/repo/board/board.repo.ts:39",{"_index":3948,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["apps/server/src/shared/repo/board/board.repo.ts:8",{"_index":3949,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["apps/server/src/shared/repo/contextexternaltool/context",{"_index":6790,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolScope.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts",{"_index":7859,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:11",{"_index":7913,"title":{},"body":{"classes/CourseScope.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:122",{"_index":7871,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:131",{"_index":7874,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:23",{"_index":7916,"title":{},"body":{"classes/CourseScope.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:34",{"_index":7915,"title":{},"body":{"classes/CourseScope.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:39",{"_index":7912,"title":{},"body":{"classes/CourseScope.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:49",{"_index":7914,"title":{},"body":{"classes/CourseScope.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:57",{"_index":7875,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:61",{"_index":7865,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:73",{"_index":7867,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["apps/server/src/shared/repo/course/course.repo.ts:97",{"_index":7869,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["apps/server/src/shared/repo/coursegroup/coursegroup.repo.ts",{"_index":7741,"title":{},"body":{"injectables/CourseGroupRepo.html":{}}}],["apps/server/src/shared/repo/coursegroup/coursegroup.repo.ts:10",{"_index":7748,"title":{},"body":{"injectables/CourseGroupRepo.html":{}}}],["apps/server/src/shared/repo/coursegroup/coursegroup.repo.ts:20",{"_index":7744,"title":{},"body":{"injectables/CourseGroupRepo.html":{}}}],["apps/server/src/shared/repo/coursegroup/coursegroup.repo.ts:27",{"_index":7747,"title":{},"body":{"injectables/CourseGroupRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts",{"_index":8620,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:112",{"_index":8643,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:128",{"_index":8638,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:16",{"_index":8631,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:19",{"_index":8649,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:24",{"_index":8645,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:34",{"_index":8640,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:42",{"_index":8651,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:51",{"_index":8647,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:64",{"_index":8636,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:75",{"_index":8653,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:95",{"_index":8633,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts",{"_index":8705,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:15",{"_index":13601,"title":{},"body":{"interfaces/IDashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:16",{"_index":13600,"title":{},"body":{"interfaces/IDashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:17",{"_index":13602,"title":{},"body":{"interfaces/IDashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:21",{"_index":8709,"title":{},"body":{"injectables/DashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:25",{"_index":8715,"title":{},"body":{"injectables/DashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:31",{"_index":8717,"title":{},"body":{"injectables/DashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:37",{"_index":8711,"title":{},"body":{"injectables/DashboardRepo.html":{}}}],["apps/server/src/shared/repo/dashboard/dashboard.repo.ts:43",{"_index":8713,"title":{},"body":{"injectables/DashboardRepo.html":{}}}],["apps/server/src/shared/repo/externaltool/external",{"_index":10630,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSortingMapper.html":{}}}],["apps/server/src/shared/repo/federalstate/federal",{"_index":11420,"title":{},"body":{"injectables/FederalStateRepo.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.repo.ts",{"_index":14054,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.repo.ts:13",{"_index":14069,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.repo.ts:29",{"_index":14067,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.repo.ts:36",{"_index":14063,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.repo.ts:54",{"_index":14065,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.repo.ts:71",{"_index":14060,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts",{"_index":14109,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:102",{"_index":14129,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:115",{"_index":14137,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:12",{"_index":14133,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:19",{"_index":14135,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:26",{"_index":14122,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:40",{"_index":14124,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:56",{"_index":14126,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:71",{"_index":14131,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/importuser/importuser.scope.ts:88",{"_index":14120,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["apps/server/src/shared/repo/ltitool/ltitool.repo.ts",{"_index":15999,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["apps/server/src/shared/repo/ltitool/ltitool.repo.ts:13",{"_index":16004,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["apps/server/src/shared/repo/ltitool/ltitool.repo.ts:22",{"_index":16006,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["apps/server/src/shared/repo/ltitool/ltitool.repo.ts:27",{"_index":16003,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["apps/server/src/shared/repo/ltitool/ltitool.repo.ts:9",{"_index":16009,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["apps/server/src/shared/repo/materials/materials.repo.ts",{"_index":16171,"title":{},"body":{"injectables/MaterialsRepo.html":{}}}],["apps/server/src/shared/repo/materials/materials.repo.ts:7",{"_index":16172,"title":{},"body":{"injectables/MaterialsRepo.html":{}}}],["apps/server/src/shared/repo/mongo.patterns.ts",{"_index":16397,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["apps/server/src/shared/repo/mongo.patterns.ts:6",{"_index":16401,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["apps/server/src/shared/repo/news/news",{"_index":16617,"title":{},"body":{"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{}}}],["apps/server/src/shared/repo/news/news.repo.ts",{"_index":16566,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["apps/server/src/shared/repo/news/news.repo.ts:12",{"_index":16580,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["apps/server/src/shared/repo/news/news.repo.ts:14",{"_index":16581,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["apps/server/src/shared/repo/news/news.repo.ts:23",{"_index":16573,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["apps/server/src/shared/repo/news/news.repo.ts:38",{"_index":16575,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["apps/server/src/shared/repo/news/news.repo.ts:53",{"_index":16579,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["apps/server/src/shared/repo/news/news.repo.ts:60",{"_index":16577,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["apps/server/src/shared/repo/role/role.repo.ts",{"_index":19045,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["apps/server/src/shared/repo/role/role.repo.ts:13",{"_index":19053,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["apps/server/src/shared/repo/role/role.repo.ts:15",{"_index":19049,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["apps/server/src/shared/repo/role/role.repo.ts:25",{"_index":19051,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["apps/server/src/shared/repo/role/role.repo.ts:30",{"_index":19048,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["apps/server/src/shared/repo/role/role.repo.ts:9",{"_index":19054,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["apps/server/src/shared/repo/school/legacy",{"_index":15236,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["apps/server/src/shared/repo/schoolexternaltool/school",{"_index":19762,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolScope.html":{}}}],["apps/server/src/shared/repo/scope.ts",{"_index":20105,"title":{},"body":{"classes/Scope.html":{}}}],["apps/server/src/shared/repo/scope.ts:11",{"_index":20108,"title":{},"body":{"classes/Scope.html":{}}}],["apps/server/src/shared/repo/scope.ts:13",{"_index":20107,"title":{},"body":{"classes/Scope.html":{}}}],["apps/server/src/shared/repo/scope.ts:20",{"_index":20113,"title":{},"body":{"classes/Scope.html":{}}}],["apps/server/src/shared/repo/scope.ts:31",{"_index":20110,"title":{},"body":{"classes/Scope.html":{}}}],["apps/server/src/shared/repo/scope.ts:35",{"_index":20111,"title":{},"body":{"classes/Scope.html":{}}}],["apps/server/src/shared/repo/scope.ts:9",{"_index":20109,"title":{},"body":{"classes/Scope.html":{}}}],["apps/server/src/shared/repo/storageprovider/storageprovider.repo.ts",{"_index":20638,"title":{},"body":{"injectables/StorageProviderRepo.html":{}}}],["apps/server/src/shared/repo/storageprovider/storageprovider.repo.ts:12",{"_index":20641,"title":{},"body":{"injectables/StorageProviderRepo.html":{}}}],["apps/server/src/shared/repo/storageprovider/storageprovider.repo.ts:16",{"_index":20640,"title":{},"body":{"injectables/StorageProviderRepo.html":{}}}],["apps/server/src/shared/repo/storageprovider/storageprovider.repo.ts:7",{"_index":20639,"title":{},"body":{"injectables/StorageProviderRepo.html":{}}}],["apps/server/src/shared/repo/submission/submission.repo.ts",{"_index":20904,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["apps/server/src/shared/repo/submission/submission.repo.ts:11",{"_index":20917,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["apps/server/src/shared/repo/submission/submission.repo.ts:22",{"_index":20911,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["apps/server/src/shared/repo/submission/submission.repo.ts:31",{"_index":20913,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["apps/server/src/shared/repo/submission/submission.repo.ts:36",{"_index":20909,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["apps/server/src/shared/repo/submission/submission.repo.ts:42",{"_index":20916,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["apps/server/src/shared/repo/system/legacy",{"_index":15315,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["apps/server/src/shared/repo/system/system",{"_index":21229,"title":{},"body":{"classes/SystemScope.html":{}}}],["apps/server/src/shared/repo/task/task",{"_index":21716,"title":{},"body":{"classes/TaskScope.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts",{"_index":21579,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts:106",{"_index":21588,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts:11",{"_index":21599,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts:15",{"_index":21598,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts:164",{"_index":21594,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts:190",{"_index":21596,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts:26",{"_index":21586,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/task/task.repo.ts:38",{"_index":21592,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["apps/server/src/shared/repo/teams/teams.repo.ts",{"_index":22027,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["apps/server/src/shared/repo/teams/teams.repo.ts:13",{"_index":22032,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["apps/server/src/shared/repo/teams/teams.repo.ts:36",{"_index":22029,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["apps/server/src/shared/repo/teams/teams.repo.ts:43",{"_index":22031,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["apps/server/src/shared/repo/teams/teams.repo.ts:9",{"_index":22033,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["apps/server/src/shared/repo/types/storageproviderencryptedstring.type.ts",{"_index":20600,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["apps/server/src/shared/repo/types/storageproviderencryptedstring.type.ts:10",{"_index":20606,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["apps/server/src/shared/repo/types/storageproviderencryptedstring.type.ts:21",{"_index":20609,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["apps/server/src/shared/repo/types/storageproviderencryptedstring.type.ts:36",{"_index":20611,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["apps/server/src/shared/repo/user/user",{"_index":23262,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts",{"_index":23809,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:13",{"_index":23827,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:150",{"_index":23817,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:158",{"_index":23815,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:165",{"_index":23823,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:172",{"_index":23824,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:184",{"_index":23826,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:188",{"_index":23821,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:28",{"_index":23818,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.repo.ts:40",{"_index":23820,"title":{},"body":{"injectables/UserRepo.html":{}}}],["apps/server/src/shared/repo/user/user.scope.ts",{"_index":23875,"title":{},"body":{"classes/UserScope.html":{}}}],["apps/server/src/shared/repo/user/user.scope.ts:13",{"_index":23884,"title":{},"body":{"classes/UserScope.html":{}}}],["apps/server/src/shared/repo/user/user.scope.ts:20",{"_index":23882,"title":{},"body":{"classes/UserScope.html":{}}}],["apps/server/src/shared/repo/user/user.scope.ts:29",{"_index":23886,"title":{},"body":{"classes/UserScope.html":{}}}],["apps/server/src/shared/repo/user/user.scope.ts:36",{"_index":23878,"title":{},"body":{"classes/UserScope.html":{}}}],["apps/server/src/shared/repo/user/user.scope.ts:6",{"_index":23880,"title":{},"body":{"classes/UserScope.html":{}}}],["apps/server/src/shared/repo/userloginmigration/user",{"_index":23586,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["apps/server/src/shared/repo/videoconference/video",{"_index":24313,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["apps/server/src/shared/testing/factory/account.factory.ts",{"_index":500,"title":{},"body":{"classes/AccountFactory.html":{}}}],["apps/server/src/shared/testing/factory/account.factory.ts:10",{"_index":519,"title":{},"body":{"classes/AccountFactory.html":{}}}],["apps/server/src/shared/testing/factory/account.factory.ts:16",{"_index":521,"title":{},"body":{"classes/AccountFactory.html":{}}}],["apps/server/src/shared/testing/factory/axios",{"_index":2074,"title":{},"body":{"classes/AxiosErrorFactory.html":{},"classes/AxiosResponseImp.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts",{"_index":2563,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:110",{"_index":2569,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:122",{"_index":2576,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:134",{"_index":2579,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:144",{"_index":2577,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:148",{"_index":2574,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:15",{"_index":2567,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:160",{"_index":2578,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:32",{"_index":2575,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:47",{"_index":2570,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:60",{"_index":2573,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:75",{"_index":2571,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:84",{"_index":2572,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/base.factory.ts:98",{"_index":2568,"title":{},"body":{"classes/BaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/course.factory.ts",{"_index":7693,"title":{},"body":{"classes/CourseFactory.html":{}}}],["apps/server/src/shared/testing/factory/course.factory.ts:12",{"_index":7697,"title":{},"body":{"classes/CourseFactory.html":{}}}],["apps/server/src/shared/testing/factory/course.factory.ts:19",{"_index":7698,"title":{},"body":{"classes/CourseFactory.html":{}}}],["apps/server/src/shared/testing/factory/course.factory.ts:26",{"_index":7700,"title":{},"body":{"classes/CourseFactory.html":{}}}],["apps/server/src/shared/testing/factory/course.factory.ts:33",{"_index":7703,"title":{},"body":{"classes/CourseFactory.html":{}}}],["apps/server/src/shared/testing/factory/coursegroup.factory.ts",{"_index":7736,"title":{},"body":{"classes/CourseGroupFactory.html":{}}}],["apps/server/src/shared/testing/factory/coursegroup.factory.ts:8",{"_index":7737,"title":{},"body":{"classes/CourseGroupFactory.html":{}}}],["apps/server/src/shared/testing/factory/domainobject/board/column",{"_index":5428,"title":{},"body":{"classes/ColumnBoardFactory.html":{}}}],["apps/server/src/shared/testing/factory/domainobject/do",{"_index":9550,"title":{},"body":{"classes/DoBaseFactory.html":{}}}],["apps/server/src/shared/testing/factory/domainobject/domain",{"_index":9558,"title":{},"body":{"classes/DomainObjectFactory.html":{}}}],["apps/server/src/shared/testing/factory/domainobject/legacy",{"_index":15208,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["apps/server/src/shared/testing/factory/domainobject/tool/context",{"_index":6743,"title":{},"body":{"classes/ContextExternalToolFactory.html":{}}}],["apps/server/src/shared/testing/factory/domainobject/tool/external",{"_index":8244,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["apps/server/src/shared/testing/factory/domainobject/tool/school",{"_index":19718,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["apps/server/src/shared/testing/factory/external",{"_index":10305,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["apps/server/src/shared/testing/factory/filerecord.factory.ts",{"_index":11848,"title":{},"body":{"classes/FileRecordFactory.html":{}}}],["apps/server/src/shared/testing/factory/filerecord.factory.ts:10",{"_index":11850,"title":{},"body":{"classes/FileRecordFactory.html":{}}}],["apps/server/src/shared/testing/factory/h5p",{"_index":13045,"title":{},"body":{"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{}}}],["apps/server/src/shared/testing/factory/import",{"_index":13945,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["apps/server/src/shared/testing/factory/jwt.test.factory.ts",{"_index":7964,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["apps/server/src/shared/testing/factory/jwt.test.factory.ts:18",{"_index":14349,"title":{},"body":{"classes/JwtTestFactory.html":{}}}],["apps/server/src/shared/testing/factory/jwt.test.factory.ts:22",{"_index":14348,"title":{},"body":{"classes/JwtTestFactory.html":{}}}],["apps/server/src/shared/testing/factory/lesson.factory.ts",{"_index":15461,"title":{},"body":{"classes/LessonFactory.html":{}}}],["apps/server/src/shared/testing/factory/ltitool.factory.ts",{"_index":15982,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["apps/server/src/shared/testing/factory/ltitool.factory.ts:14",{"_index":15986,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["apps/server/src/shared/testing/factory/ltitool.factory.ts:7",{"_index":15984,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["apps/server/src/shared/testing/factory/material.factory.ts",{"_index":16167,"title":{},"body":{"classes/MaterialFactory.html":{}}}],["apps/server/src/shared/testing/factory/readable",{"_index":18376,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["apps/server/src/shared/testing/factory/share",{"_index":20358,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["apps/server/src/shared/testing/factory/submission.factory.ts",{"_index":20773,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["apps/server/src/shared/testing/factory/submission.factory.ts:15",{"_index":20778,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["apps/server/src/shared/testing/factory/submission.factory.ts:21",{"_index":20777,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["apps/server/src/shared/testing/factory/submission.factory.ts:27",{"_index":20780,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["apps/server/src/shared/testing/factory/submission.factory.ts:9",{"_index":20776,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["apps/server/src/shared/testing/factory/systementityfactory.ts",{"_index":21122,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["apps/server/src/shared/testing/factory/systementityfactory.ts:13",{"_index":21129,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["apps/server/src/shared/testing/factory/systementityfactory.ts:34",{"_index":21127,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["apps/server/src/shared/testing/factory/systementityfactory.ts:46",{"_index":21130,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["apps/server/src/shared/testing/factory/task.factory.ts",{"_index":21521,"title":{},"body":{"classes/TaskFactory.html":{}}}],["apps/server/src/shared/testing/factory/task.factory.ts:11",{"_index":21522,"title":{},"body":{"classes/TaskFactory.html":{}}}],["apps/server/src/shared/testing/factory/task.factory.ts:17",{"_index":21525,"title":{},"body":{"classes/TaskFactory.html":{}}}],["apps/server/src/shared/testing/factory/task.factory.ts:23",{"_index":21526,"title":{},"body":{"classes/TaskFactory.html":{}}}],["apps/server/src/shared/testing/factory/task.factory.ts:29",{"_index":21524,"title":{},"body":{"classes/TaskFactory.html":{}}}],["apps/server/src/shared/testing/factory/team.factory.ts",{"_index":21898,"title":{},"body":{"classes/TeamFactory.html":{}}}],["apps/server/src/shared/testing/factory/team.factory.ts:14",{"_index":21904,"title":{},"body":{"classes/TeamFactory.html":{}}}],["apps/server/src/shared/testing/factory/team.factory.ts:7",{"_index":21902,"title":{},"body":{"classes/TeamFactory.html":{}}}],["apps/server/src/shared/testing/factory/teamuser.factory.ts",{"_index":22007,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["apps/server/src/shared/testing/factory/teamuser.factory.ts:19",{"_index":22010,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["apps/server/src/shared/testing/factory/teamuser.factory.ts:9",{"_index":22008,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["apps/server/src/shared/testing/factory/tldraw.ws.factory.ts",{"_index":22424,"title":{},"body":{"classes/TldrawWsFactory.html":{}}}],["apps/server/src/shared/testing/factory/tldraw.ws.factory.ts:5",{"_index":22430,"title":{},"body":{"classes/TldrawWsFactory.html":{}}}],["apps/server/src/shared/testing/factory/tldraw.ws.factory.ts:9",{"_index":22428,"title":{},"body":{"classes/TldrawWsFactory.html":{}}}],["apps/server/src/shared/testing/factory/user",{"_index":690,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.do.factory.ts",{"_index":23340,"title":{},"body":{"classes/UserDoFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.do.factory.ts:9",{"_index":23343,"title":{},"body":{"classes/UserDoFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.factory.ts",{"_index":23370,"title":{},"body":{"classes/UserFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.factory.ts:12",{"_index":23381,"title":{},"body":{"classes/UserFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.factory.ts:18",{"_index":23379,"title":{},"body":{"classes/UserFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.factory.ts:24",{"_index":23376,"title":{},"body":{"classes/UserFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.factory.ts:33",{"_index":23377,"title":{},"body":{"classes/UserFactory.html":{}}}],["apps/server/src/shared/testing/factory/user.factory.ts:42",{"_index":23375,"title":{},"body":{"classes/UserFactory.html":{}}}],["apps/server/src/shared/testing/test",{"_index":1603,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["apps\\server\\src\\shared\\testing\\factory",{"_index":25811,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["appstartinfo",{"_index":1416,"title":{"interfaces/AppStartInfo.html":{}},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["appstartloggable",{"_index":1425,"title":{"classes/AppStartLoggable.html":{}},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["appthis",{"_index":24600,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["arbitrary",{"_index":25601,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["arc",{"_index":2612,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["architectural",{"_index":25418,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["architecture",{"_index":24592,"title":{"additional-documentation/nestjs-application/software-architecture.html":{}},"body":{"index.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["architecture/organizing",{"_index":25589,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["archive",{"_index":25213,"title":{},"body":{"license.html":{}}}],["archived",{"_index":7798,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["archivegroup(groupname",{"_index":1126,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["are.claim.values.regex",{"_index":14639,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["area",{"_index":25990,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["areas",{"_index":25680,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["aresubmissionspublic",{"_index":21329,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["arg",{"_index":24463,"title":{},"body":{"dependencies.html":{}}}],["args",{"_index":20161,"title":{},"body":{"classes/ServerConsole.html":{},"classes/TestBootstrapConsole.html":{},"dependencies.html":{}}}],["argument",{"_index":1094,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["argumentshost",{"_index":12572,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["arising",{"_index":25177,"title":{},"body":{"license.html":{}}}],["around",{"_index":21492,"title":{},"body":{"injectables/TaskCopyUC.html":{},"todo.html":{}}}],["arrange",{"_index":25094,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["arrangement",{"_index":25104,"title":{},"body":{"license.html":{}}}],["array",{"_index":1835,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/BatchDeletionUc.html":{},"injectables/BoardCopyService.html":{},"classes/CardIdsParams.html":{},"classes/CardResponse.html":{},"classes/ClassEntityFactory.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/County.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"entities/ExternalToolEntity.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FileSystemAdapter.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"classes/IdentityManagementService.html":{},"entities/LtiTool.html":{},"classes/PatchOrderParams.html":{},"classes/ReferencesService.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SubmissionItemResponse.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"classes/WsSharedDocDo.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["array(length).keys()].map((_",{"_index":3831,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["array.from(awarenessstates.keys",{"_index":22554,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["array.from(classmap.keys",{"_index":4826,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["array.from(controlledids",{"_index":22493,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["array.from(modelentity.gridelements).foreach((el",{"_index":8696,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["array.isarray(boardnode",{"_index":3571,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["array.isarray(cardidparams.ids",{"_index":4364,"title":{},"body":{"controllers/CardController.html":{}}}],["array.isarray(collectionnamefilter",{"_index":5225,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["array.isarray(matches",{"_index":13852,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["array.isarray(object",{"_index":13347,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["array.isarray(object.h5p_libraries",{"_index":13348,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["array.isarray(permissions",{"_index":11253,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["array.isarray(props.classnames",{"_index":13840,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["array.isarray(props.rolenames",{"_index":13837,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["array.isarray(requiredpermissions",{"_index":1836,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/PermissionService.html":{}}}],["array.isarray(t",{"_index":3567,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["array.isarray(user.attributes[attributename",{"_index":14781,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["array.isarray(user.permissions",{"_index":11218,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["array.isarray(value",{"_index":14793,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["arraybuffer",{"_index":10402,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"injectables/TldrawWsService.html":{}}}],["arraybufferlike",{"_index":22536,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["arrayminsize",{"_index":19580,"title":{},"body":{"classes/SanisResponse.html":{}}}],["arrayminsize(1",{"_index":19581,"title":{},"body":{"classes/SanisResponse.html":{}}}],["article",{"_index":24827,"title":{},"body":{"license.html":{}}}],["asadmin",{"_index":23371,"title":{},"body":{"classes/UserFactory.html":{}}}],["asadmin(additionalpermissions",{"_index":726,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserFactory.html":{}}}],["asc",{"_index":5293,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/FilesRepo.html":{},"interfaces/IFindOptions.html":{},"interfaces/Pagination.html":{},"classes/SortingParams.html":{}}}],["asguest",{"_index":2277,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["asguest(isguest",{"_index":24248,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["asguest(value",{"_index":2280,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["ask",{"_index":15534,"title":{},"body":{"injectables/LessonRule.html":{},"injectables/VideoConferenceCreateUc.html":{}}}],["ask_moderator",{"_index":2181,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["asks",{"_index":6227,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["aspnetcore_environment='development",{"_index":25884,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["assert",{"_index":24688,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["assets",{"_index":25049,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{}}}],["assigned",{"_index":3773,"title":{},"body":{"classes/BoardManagementConsole.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["assignemnt",{"_index":13976,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["assigning",{"_index":25559,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["assignment",{"_index":1103,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/BaseFactory.html":{},"classes/JwtExtractor.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/TldrawBoardRepo.html":{}}}],["assignment,@typescript",{"_index":1100,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/TldrawBoardRepo.html":{}}}],["associated",{"_index":21875,"title":{},"body":{"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"license.html":{}}}],["associations",{"_index":506,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["associations(associations",{"_index":535,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["asstudent",{"_index":23372,"title":{},"body":{"classes/UserFactory.html":{}}}],["asstudent(additionalpermissions",{"_index":716,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserFactory.html":{}}}],["assume",{"_index":25168,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["assumption",{"_index":25196,"title":{},"body":{"license.html":{}}}],["assumptions",{"_index":25002,"title":{},"body":{"license.html":{}}}],["asteacher",{"_index":23373,"title":{},"body":{"classes/UserFactory.html":{}}}],["asteacher(additionalpermissions",{"_index":722,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserFactory.html":{}}}],["async",{"_index":317,"title":{},"body":{"controllers/AccountController.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/AntivirusService.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoService.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"controllers/BoardSubmissionController.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"interfaces/CardProps.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"interfaces/ColumnProps.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/CopyFilesService.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUrlHandler.html":{},"controllers/DashboardController.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionQueueConsole.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"controllers/DeletionRequestsController.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"interfaces/DrawingElementProps.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"injectables/FileRecordRepo.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/FwuLearningContentsUc.html":{},"controllers/GroupController.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"injectables/IdTokenService.html":{},"controllers/ImportUserController.html":{},"injectables/ImportUserRepo.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"injectables/LocalStrategy.html":{},"controllers/LoginController.html":{},"injectables/LoginUc.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/MaterialsRepo.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/MigrationCheckService.html":{},"interfaces/MigrationOptions.html":{},"modules/MongoMemoryDatabaseModule.html":{},"controllers/NewsController.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"controllers/OauthSSOController.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"injectables/ProvisioningService.html":{},"controllers/PseudonymController.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RepoLoader.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"interfaces/RetryOptions.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/StorageProviderRepo.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"controllers/SystemController.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamService.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"injectables/TldrawBoardRepo.html":{},"controllers/TldrawController.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"injectables/ToolVersionService.html":{},"controllers/UserController.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"injectables/VideoConferenceRepo.html":{},"dependencies.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["asynchronous",{"_index":25718,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["atm",{"_index":1623,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["attach",{"_index":25202,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["attachment",{"_index":1447,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"controllers/CourseController.html":{},"controllers/FileSecurityController.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["attachments",{"_index":1449,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["attempt",{"_index":25010,"title":{},"body":{"license.html":{}}}],["attempted",{"_index":16372,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["attendee",{"_index":2316,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["attendeepw",{"_index":2158,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["attendees",{"_index":2301,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["attends",{"_index":13975,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["attention",{"_index":26044,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["attribute",{"_index":13796,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["attributename",{"_index":13793,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["attributes",{"_index":4242,"title":{},"body":{"interfaces/CalendarEvent.html":{},"injectables/CalendarMapper.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["attributes.summary",{"_index":4265,"title":{},"body":{"injectables/CalendarMapper.html":{}}}],["attributes['x",{"_index":4264,"title":{},"body":{"injectables/CalendarMapper.html":{}}}],["attributevalue",{"_index":13798,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["attributions",{"_index":24990,"title":{},"body":{"license.html":{}}}],["aud",{"_index":7965,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"classes/JwtTestFactory.html":{}}}],["audience",{"_index":1589,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"classes/JwtTestFactory.html":{},"injectables/OAuthService.html":{}}}],["auf",{"_index":5483,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["autenticationresponse",{"_index":1620,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["auth",{"_index":1171,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigResponse.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"todo.html":{}}}],["auth.guard.ts",{"_index":14300,"title":{},"body":{"injectables/JwtAuthGuard.html":{}}}],["auth.provider",{"_index":11249,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["auth.provider.ts",{"_index":11198,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["auth.provider.ts:14",{"_index":11204,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["auth.provider.ts:17",{"_index":11212,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["auth.provider.ts:27",{"_index":11214,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["auth.provider.ts:39",{"_index":11208,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["auth.provider.ts:56",{"_index":11206,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["auth.provider.ts:61",{"_index":11210,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["auth_token",{"_index":2294,"title":{},"body":{"interfaces/BBBJoinResponse.html":{}}}],["authcode",{"_index":16859,"title":{},"body":{"injectables/OAuthService.html":{}}}],["authcodefailureloggableexception",{"_index":1459,"title":{"classes/AuthCodeFailureLoggableException.html":{}},"body":{"classes/AuthCodeFailureLoggableException.html":{},"injectables/HydraOauthUc.html":{},"injectables/OAuthService.html":{}}}],["authcodefailureloggableexception(error",{"_index":13453,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["authcodefailureloggableexception(errorcode",{"_index":16880,"title":{},"body":{"injectables/OAuthService.html":{}}}],["authconfig",{"_index":14306,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["authconfig.jwtoptions",{"_index":14315,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["authconfig.secret",{"_index":14314,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["authendpoint",{"_index":13571,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["authenticate",{"_index":395,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"controllers/DashboardController.html":{},"controllers/ElementController.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/ImportUserController.html":{},"injectables/LdapService.html":{},"controllers/LessonController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/NewsController.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"controllers/PseudonymController.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"controllers/SystemController.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["authenticate('jwt",{"_index":398,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"controllers/DashboardController.html":{},"controllers/ElementController.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/ImportUserController.html":{},"controllers/LessonController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/NewsController.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"controllers/PseudonymController.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"controllers/SystemController.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["authenticate('jwt')@delete(':systemid')@apiforbiddenresponse()@apiunauthorizedresponse()@apioperation({summary",{"_index":21045,"title":{},"body":{"controllers/SystemController.html":{}}}],["authenticate('jwt')@delete('auth/sessions/consent",{"_index":17292,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@delete('clients/:id",{"_index":17267,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@get('auth/sessions/consent",{"_index":17280,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@get('clients",{"_index":17282,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@get('clients/:id",{"_index":17275,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@get('consentrequest/:challenge",{"_index":17270,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@patch('consentrequest/:challenge",{"_index":17285,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@patch('loginrequest/:challenge",{"_index":17288,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@patch('logoutrequest/:challenge",{"_index":17263,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@post('clients",{"_index":17265,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticate('jwt')@put('clients/:id",{"_index":17294,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["authenticated",{"_index":358,"title":{},"body":{"controllers/AccountController.html":{},"classes/ConsentResponse.html":{},"interfaces/ICurrentUser.html":{},"controllers/LoginController.html":{},"classes/LoginResponse-1.html":{}}}],["authenticateuser",{"_index":16849,"title":{},"body":{"injectables/OAuthService.html":{}}}],["authenticateuser(systemid",{"_index":16858,"title":{},"body":{"injectables/OAuthService.html":{}}}],["authenticating",{"_index":25471,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["authentication",{"_index":1899,"title":{},"body":{"classes/AuthorizationParams.html":{},"interfaces/CleanOptions.html":{},"classes/ConsentResponse.html":{},"modules/ImportUserModule.html":{},"classes/KeycloakConsole.html":{},"controllers/LoginController.html":{},"interfaces/MigrationOptions.html":{},"injectables/NextcloudStrategy.html":{},"classes/OauthClientBody.html":{},"classes/RedirectResponse.html":{},"interfaces/RetryOptions.html":{},"classes/StatelessAuthorizationParams.html":{},"index.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["authentication.module",{"_index":1488,"title":{},"body":{"modules/AuthenticationApiModule.html":{}}}],["authentication/authentication",{"_index":22388,"title":{},"body":{"modules/TldrawTestModule.html":{}}}],["authentication/authentication.module",{"_index":12463,"title":{},"body":{"modules/FwuLearningContentsModule.html":{},"modules/MetaTagExtractorModule.html":{}}}],["authentication/config/x",{"_index":9283,"title":{},"body":{"modules/DeletionModule.html":{}}}],["authentication/local",{"_index":1615,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["authenticationapimodule",{"_index":1480,"title":{"modules/AuthenticationApiModule.html":{}},"body":{"modules/AuthenticationApiModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawTestModule.html":{}}}],["authenticationcodegranttokenrequest",{"_index":1491,"title":{"classes/AuthenticationCodeGrantTokenRequest.html":{}},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{},"classes/TokenRequestMapper.html":{}}}],["authenticationexecutioninforepresentation",{"_index":14532,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["authenticationflowrepresentation",{"_index":14534,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["authenticationmodule",{"_index":1484,"title":{"modules/AuthenticationModule.html":{}},"body":{"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/DeletionApiModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/UserLoginMigrationApiModule.html":{}}}],["authenticationresponse",{"_index":1602,"title":{"interfaces/AuthenticationResponse.html":{}},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["authenticationresponse.accesstoken",{"_index":1685,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["authenticationservice",{"_index":1526,"title":{"injectables/AuthenticationService.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/AuthenticationService.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/LoginUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["authenticationvalues",{"_index":1755,"title":{"classes/AuthenticationValues.html":{}},"body":{"classes/AuthenticationValues.html":{}}}],["authguard",{"_index":9131,"title":{},"body":{"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"injectables/JwtAuthGuard.html":{},"controllers/LoginController.html":{}}}],["authguard('jwt",{"_index":14301,"title":{},"body":{"injectables/JwtAuthGuard.html":{}}}],["authheader",{"_index":17511,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["authheader.split",{"_index":17514,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["authheader?.tolowercase()?.startswith('bearer",{"_index":17513,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["author",{"_index":11651,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"license.html":{},"properties.html":{}}}],["authorcomments",{"_index":6510,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["authoriation",{"_index":26057,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorisation",{"_index":3862,"title":{"additional-documentation/nestjs-application/authorisation.html":{}},"body":{"modules/BoardModule.html":{},"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["authorisation.checkpermission",{"_index":15445,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["authorisationservice",{"_index":9645,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsUc.html":{}}}],["authorizable",{"_index":2664,"title":{},"body":{"classes/BaseUc.html":{}}}],["authorizable.service",{"_index":4111,"title":{},"body":{"injectables/BoardUc.html":{}}}],["authorizable.service.ts",{"_index":3394,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/ContextExternalToolAuthorizableService.html":{}}}],["authorizable.service.ts:11",{"_index":6657,"title":{},"body":{"injectables/ContextExternalToolAuthorizableService.html":{}}}],["authorizable.service.ts:18",{"_index":3399,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["authorizable.service.ts:24",{"_index":3400,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["authorizable.service.ts:32",{"_index":3402,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["authorizable.service.ts:50",{"_index":3404,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["authorizable.service.ts:8",{"_index":6656,"title":{},"body":{"injectables/ContextExternalToolAuthorizableService.html":{}}}],["authorizable.ts",{"_index":3369,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["authorizable.ts:32",{"_index":3372,"title":{},"body":{"classes/BoardDoAuthorizable.html":{}}}],["authorizable.ts:36",{"_index":3374,"title":{},"body":{"classes/BoardDoAuthorizable.html":{}}}],["authorizable.ts:40",{"_index":3376,"title":{},"body":{"classes/BoardDoAuthorizable.html":{}}}],["authorizableobject",{"_index":1767,"title":{"interfaces/AuthorizableObject.html":{}},"body":{"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationService.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/Class.html":{},"interfaces/ClassProps.html":{},"injectables/CopyHelperService.html":{},"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"injectables/LegacySchoolRule.html":{},"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"classes/System.html":{},"interfaces/SystemProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["authorizablereferencetype",{"_index":1952,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/FilesStorageMapper.html":{},"classes/H5PContentMapper.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"injectables/ToolPermissionHelper.html":{}}}],["authorizablereferencetype.boardnode",{"_index":12301,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["authorizablereferencetype.contextexternaltoolentity",{"_index":7048,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["authorizablereferencetype.course",{"_index":7676,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/FilesStorageMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["authorizablereferencetype.lesson",{"_index":12297,"title":{},"body":{"classes/FilesStorageMapper.html":{},"classes/H5PContentMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["authorizablereferencetype.school",{"_index":12295,"title":{},"body":{"classes/FilesStorageMapper.html":{},"classes/ShareTokenContextTypeMapper.html":{}}}],["authorizablereferencetype.submission",{"_index":12299,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["authorizablereferencetype.task",{"_index":12290,"title":{},"body":{"classes/FilesStorageMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["authorizablereferencetype.user",{"_index":12293,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["authorizableuser",{"_index":21477,"title":{},"body":{"injectables/TaskCopyUC.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["authorization",{"_index":1475,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthorizationError.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/CalendarService.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/CourseCopyUC.html":{},"modules/H5PEditorModule.html":{},"modules/ImportUserModule.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"injectables/Lti11EncryptionService.html":{},"controllers/OauthSSOController.html":{},"interfaces/Rule.html":{},"injectables/SanisProvisioningStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorization.body.params.ts",{"_index":14902,"title":{},"body":{"classes/LdapAuthorizationBodyParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"classes/Oauth2AuthorizationBodyParams.html":{}}}],["authorization.body.params.ts:12",{"_index":14906,"title":{},"body":{"classes/LdapAuthorizationBodyParams.html":{}}}],["authorization.body.params.ts:13",{"_index":15687,"title":{},"body":{"classes/LocalAuthorizationBodyParams.html":{},"classes/Oauth2AuthorizationBodyParams.html":{}}}],["authorization.body.params.ts:17",{"_index":14903,"title":{},"body":{"classes/LdapAuthorizationBodyParams.html":{},"classes/Oauth2AuthorizationBodyParams.html":{}}}],["authorization.body.params.ts:21",{"_index":14904,"title":{},"body":{"classes/LdapAuthorizationBodyParams.html":{}}}],["authorization.body.params.ts:7",{"_index":14905,"title":{},"body":{"classes/LdapAuthorizationBodyParams.html":{}}}],["authorization.body.params.ts:8",{"_index":15688,"title":{},"body":{"classes/LocalAuthorizationBodyParams.html":{},"classes/Oauth2AuthorizationBodyParams.html":{}}}],["authorization.helper",{"_index":1984,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["authorization.module",{"_index":1937,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["authorization.params",{"_index":17499,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["authorization.params.ts",{"_index":20594,"title":{},"body":{"classes/StatelessAuthorizationParams.html":{}}}],["authorization.params.ts:12",{"_index":20596,"title":{},"body":{"classes/StatelessAuthorizationParams.html":{}}}],["authorization.params.ts:16",{"_index":20597,"title":{},"body":{"classes/StatelessAuthorizationParams.html":{}}}],["authorization.params.ts:20",{"_index":20598,"title":{},"body":{"classes/StatelessAuthorizationParams.html":{}}}],["authorization.params.ts:8",{"_index":20595,"title":{},"body":{"classes/StatelessAuthorizationParams.html":{}}}],["authorization.service",{"_index":1957,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["authorization.service.ts",{"_index":11234,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["authorization.service.ts:16",{"_index":11245,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["authorization.service.ts:32",{"_index":11241,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["authorization.service.ts:54",{"_index":11247,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["authorization.service.ts:6",{"_index":11239,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["authorization_code",{"_index":13575,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/SystemEntityFactory.html":{}}}],["authorization_operation",{"_index":1798,"title":{},"body":{"classes/AuthorizationError.html":{}}}],["authorization_timebox_ms",{"_index":14403,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["authorizationapimodule",{"_index":1922,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["authorizationcontext",{"_index":1775,"title":{"interfaces/AuthorizationContext.html":{}},"body":{"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/BoardDoRule.html":{},"classes/ConsentResponse.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ForbiddenLoggableException.html":{},"injectables/GroupRule.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LessonRule.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceUc.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder",{"_index":1780,"title":{"classes/AuthorizationContextBuilder.html":{}},"body":{"classes/AuthorizationContextBuilder.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonUC.html":{},"injectables/PseudonymUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SubmissionUc.html":{},"injectables/SystemUc.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolReferenceUc.html":{}}}],["authorizationcontextbuilder.read",{"_index":18302,"title":{},"body":{"injectables/PseudonymUc.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{}}}],["authorizationcontextbuilder.read([permission.context_tool_admin",{"_index":7065,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ExternalToolConfigurationUc.html":{}}}],["authorizationcontextbuilder.read([permission.context_tool_user",{"_index":22940,"title":{},"body":{"injectables/ToolLaunchUc.html":{},"injectables/ToolReferenceUc.html":{}}}],["authorizationcontextbuilder.read([permission.course_edit",{"_index":7689,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["authorizationcontextbuilder.read([permission.filestorage_view",{"_index":26016,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder.read([permission.school_tool_admin",{"_index":10209,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["authorizationcontextbuilder.read([permission.submissions_view",{"_index":21000,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["authorizationcontextbuilder.read([permission.topic_create",{"_index":15443,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["authorizationcontextbuilder.read([permissions.course_view",{"_index":26013,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder.write",{"_index":15449,"title":{},"body":{"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder.write([permission.change_team_roles",{"_index":5111,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["authorizationcontextbuilder.write([permission.context_tool_admin",{"_index":7046,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["authorizationcontextbuilder.write([permission.course_create",{"_index":7674,"title":{},"body":{"injectables/CourseCopyUC.html":{}}}],["authorizationcontextbuilder.write([permission.filestorage_create",{"_index":26015,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder.write([permission.filestorage_edit",{"_index":26017,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder.write([permission.filestorage_remove",{"_index":26018,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder.write([permission.instance",{"_index":26025,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationcontextbuilder.write([permission.submissions_edit",{"_index":20997,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["authorizationcontextbuilder.write([permission.system_create",{"_index":21249,"title":{},"body":{"injectables/SystemUc.html":{}}}],["authorizationcontextbuilder.write([permission.topic_view",{"_index":15574,"title":{},"body":{"injectables/LessonUC.html":{}}}],["authorizationcontextbuilder.write([permission.user_login_migration_admin",{"_index":4941,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{}}}],["authorizationcontextbuilder.write(requiredpermissions",{"_index":20517,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["authorizationerror",{"_index":1794,"title":{"classes/AuthorizationError.html":{}},"body":{"classes/AuthorizationError.html":{}}}],["authorizationhelper",{"_index":1801,"title":{"injectables/AuthorizationHelper.html":{}},"body":{"injectables/AuthorizationHelper.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationService.html":{},"injectables/BoardDoRule.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"injectables/GroupRule.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LessonRule.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationloaderservice",{"_index":1845,"title":{"interfaces/AuthorizationLoaderService.html":{}},"body":{"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/LessonService.html":{}}}],["authorizationloaderservicegeneric",{"_index":1854,"title":{"interfaces/AuthorizationLoaderServiceGeneric.html":{}},"body":{"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/GroupService.html":{}}}],["authorizationmodule",{"_index":1856,"title":{"modules/AuthorizationModule.html":{}},"body":{"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/ImportUserModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LessonApiModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/NewsModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/PseudonymApiModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/TaskApiModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/ToolApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["authorizationparams",{"_index":1886,"title":{"classes/AuthorizationParams.html":{}},"body":{"classes/AuthorizationParams.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"controllers/OauthSSOController.html":{}}}],["authorizationreferencemodule",{"_index":1902,"title":{"modules/AuthorizationReferenceModule.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/LearnroomApiModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/VideoConferenceModule.html":{}}}],["authorizationreferenceservice",{"_index":1908,"title":{"injectables/AuthorizationReferenceService.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/ShareTokenUC.html":{}}}],["authorizations",{"_index":21491,"title":{},"body":{"injectables/TaskCopyUC.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizationservice",{"_index":1862,"title":{"injectables/AuthorizationService.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/ColumnUc.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/CourseExportUc.html":{},"classes/DtoCreator.html":{},"injectables/ElementUc.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolUc.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonUC.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/NewsUc.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/PermissionService.html":{},"injectables/PseudonymUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionUc.html":{},"injectables/SystemUc.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/UserLoginMigrationUc.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["authorizationservice.checkpermission",{"_index":11065,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["authorizationurl",{"_index":15010,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["authorize",{"_index":17766,"title":{},"body":{"classes/PatchMyAccountParams.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizeaccess",{"_index":14405,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["authorized",{"_index":1799,"title":{},"body":{"classes/AuthorizationError.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["authorizes",{"_index":25072,"title":{},"body":{"license.html":{}}}],["authorizing",{"_index":25108,"title":{},"body":{"license.html":{}}}],["authors",{"_index":6511,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"license.html":{}}}],["authparams",{"_index":13467,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["authservice",{"_index":5084,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/LoginUc.html":{}}}],["authtoken",{"_index":1112,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{}}}],["auto",{"_index":2009,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/FilterImportUserParams.html":{},"interfaces/IImportUserScope.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"injectables/KeycloakConfigurationService.html":{},"controllers/KeycloakManagementController.html":{},"interfaces/NameMatch.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"additional-documentation/nestjs-application.html":{}}}],["autocontextidstrategy",{"_index":1998,"title":{"injectables/AutoContextIdStrategy.html":{}},"body":{"injectables/AutoContextIdStrategy.html":{},"modules/ToolLaunchModule.html":{}}}],["autocontextnamestrategy",{"_index":2012,"title":{"injectables/AutoContextNameStrategy.html":{}},"body":{"injectables/AutoContextNameStrategy.html":{},"modules/ToolLaunchModule.html":{}}}],["automated",{"_index":25650,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["automatic",{"_index":25041,"title":{},"body":{"license.html":{}}}],["automatically",{"_index":10525,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"injectables/KeycloakConfigurationService.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["autoparameters",{"_index":10512,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["autoparameters.includes(customparameter.type",{"_index":10551,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["autoparameterstrategy",{"_index":2008,"title":{"interfaces/AutoParameterStrategy.html":{}},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{}}}],["autoparameterstrategymap",{"_index":2713,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["autoschoolidstrategy",{"_index":2058,"title":{"injectables/AutoSchoolIdStrategy.html":{}},"body":{"injectables/AutoSchoolIdStrategy.html":{},"modules/ToolLaunchModule.html":{}}}],["autoschoolnumberstrategy",{"_index":2062,"title":{"injectables/AutoSchoolNumberStrategy.html":{}},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"modules/ToolLaunchModule.html":{}}}],["avaible",{"_index":1851,"title":{},"body":{"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["available",{"_index":2537,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"interfaces/CollectionFilePath.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FilterImportUserParams.html":{},"classes/IdentityManagementOauthService.html":{},"classes/OauthLoginResponse.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"controllers/SystemController.html":{},"controllers/ToolConfigurationController.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["available_languages",{"_index":20138,"title":{},"body":{"interfaces/ServerConfig.html":{},"interfaces/UserConfig.html":{}}}],["availabledate",{"_index":4046,"title":{},"body":{"classes/BoardTaskResponse.html":{},"interfaces/ITask.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{}}}],["availableon",{"_index":21646,"title":{},"body":{"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{}}}],["availableschoolexternaltools",{"_index":10127,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{}}}],["availableschoolexternaltools.map",{"_index":10157,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["availabletool",{"_index":10167,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["availabletools",{"_index":10140,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"controllers/ToolConfigurationController.html":{}}}],["availabletools.filter",{"_index":10166,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["availabletools.foreach((externaltool",{"_index":10213,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["availabletoolsforcontext",{"_index":10165,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{}}}],["availabletoolsforcontext.foreach((tooltemplateinfo",{"_index":10224,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["avoid",{"_index":1928,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"classes/FileMetadata.html":{},"injectables/H5PLibraryManagementService.html":{},"entities/InstalledLibrary.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["await",{"_index":657,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/AntivirusService.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoService.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"controllers/BoardSubmissionController.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"interfaces/CardProps.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"interfaces/ColumnProps.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/ContentElementService.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/CopyFilesService.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUrlHandler.html":{},"controllers/DashboardController.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"injectables/DeletionExecutionUc.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionQueueConsole.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"interfaces/DrawingElementProps.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"injectables/FederalStateService.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"injectables/FileRecordRepo.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/FwuLearningContentsUc.html":{},"controllers/GroupController.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IDashboardRepo.html":{},"injectables/IdTokenService.html":{},"controllers/ImportUserController.html":{},"injectables/ImportUserRepo.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"injectables/LocalStrategy.html":{},"controllers/LoginController.html":{},"injectables/LoginUc.html":{},"injectables/LtiToolRepo.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/MigrationCheckService.html":{},"interfaces/MigrationOptions.html":{},"modules/MongoMemoryDatabaseModule.html":{},"controllers/NewsController.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"injectables/ProvisioningService.html":{},"controllers/PseudonymController.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"interfaces/RetryOptions.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"injectables/RoleService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"controllers/SystemController.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamService.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"injectables/TldrawBoardRepo.html":{},"controllers/TldrawController.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"injectables/ToolVersionService.html":{},"controllers/UserController.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"injectables/VideoConferenceRepo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["awaited",{"_index":25720,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["awaiting_scan_status",{"_index":11770,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["awaits",{"_index":22961,"title":{},"body":{"injectables/ToolPermissionHelper.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["aware",{"_index":9043,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["awareness",{"_index":24366,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["awareness(this",{"_index":24389,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["awarenesschangehandler",{"_index":24367,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["awarenessstates",{"_index":22549,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["awarenessstates.size",{"_index":22551,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["away",{"_index":24670,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["aws",{"_index":8922,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"dependencies.html":{}}}],["axios",{"_index":2083,"title":{},"body":{"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"classes/ExternalToolLogoService.html":{},"classes/FileDtoBuilder.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"injectables/OauthAdapterService.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/TokenRequestLoggableException.html":{},"dependencies.html":{}}}],["axiosconfig",{"_index":13461,"title":{},"body":{"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["axioserror",{"_index":2081,"title":{},"body":{"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/TokenRequestLoggableException.html":{}}}],["axioserror.cause",{"_index":2106,"title":{},"body":{"classes/AxiosErrorLoggable.html":{}}}],["axioserror.status",{"_index":2103,"title":{},"body":{"classes/AxiosErrorLoggable.html":{}}}],["axioserrorfactory",{"_index":2073,"title":{"classes/AxiosErrorFactory.html":{}},"body":{"classes/AxiosErrorFactory.html":{}}}],["axioserrorfactory.define",{"_index":2086,"title":{},"body":{"classes/AxiosErrorFactory.html":{}}}],["axioserrorloggable",{"_index":2095,"title":{"classes/AxiosErrorLoggable.html":{}},"body":{"classes/AxiosErrorLoggable.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/TokenRequestLoggableException.html":{}}}],["axioserrorloggable:12",{"_index":13423,"title":{},"body":{"classes/HydraOauthFailedLoggableException.html":{},"classes/TokenRequestLoggableException.html":{}}}],["axiosheaders",{"_index":2082,"title":{},"body":{"classes/AxiosErrorFactory.html":{},"classes/AxiosResponseImp.html":{}}}],["axiosheaders(props.headers",{"_index":2131,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["axiosheaderskeyvalue",{"_index":2123,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["axiosheadervalue",{"_index":2122,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["axiosrequestconfig",{"_index":4282,"title":{},"body":{"injectables/CalendarService.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["axiosresponse",{"_index":2113,"title":{},"body":{"classes/AxiosResponseImp.html":{},"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"classes/ExternalToolLogoService.html":{},"classes/FileDtoBuilder.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"injectables/OauthAdapterService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["axiosresponsefactory",{"_index":2079,"title":{},"body":{"classes/AxiosErrorFactory.html":{},"classes/AxiosResponseImp.html":{}}}],["axiosresponsefactory.build",{"_index":2085,"title":{},"body":{"classes/AxiosErrorFactory.html":{}}}],["axiosresponseimp",{"_index":2111,"title":{"classes/AxiosResponseImp.html":{}},"body":{"classes/AxiosResponseImp.html":{}}}],["axiosresponseprops",{"_index":2115,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["aythtoken",{"_index":18952,"title":{},"body":{"classes/RocketChatUserFactory.html":{}}}],["b",{"_index":2964,"title":{},"body":{"entities/Board.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/DashboardEntity.html":{},"classes/FileMetadata.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"injectables/MetaTagExtractorService.html":{},"classes/Path.html":{},"classes/SortHelper.html":{},"license.html":{}}}],["b.getmetadata().title",{"_index":8450,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["b.position",{"_index":3558,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["b.width",{"_index":16270,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["back",{"_index":568,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["backchannel",{"_index":15840,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["backchannelsupported",{"_index":17569,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["backend",{"_index":24513,"title":{},"body":{"dependencies.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["backendurl",{"_index":10387,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["backendurl}${filledtemplate",{"_index":10391,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["background",{"_index":11786,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["backup",{"_index":5177,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["backup/idm/keycloak",{"_index":25919,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["backup/setup/accounts.json",{"_index":14457,"title":{},"body":{"classes/KeycloakConfiguration.html":{}}}],["backup/setup/users.json",{"_index":14458,"title":{},"body":{"classes/KeycloakConfiguration.html":{}}}],["bad",{"_index":2090,"title":{},"body":{"classes/AxiosErrorFactory.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["badgatewayexception",{"_index":9017,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["badgatewayexception('deletionclient:executedeletions",{"_index":9053,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["badgatewayexception('deletionclient:queuedeletionrequest",{"_index":9048,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["badrequest",{"_index":2091,"title":{},"body":{"classes/AxiosErrorFactory.html":{},"injectables/TaskCopyUC.html":{}}}],["badrequestexception",{"_index":2922,"title":{},"body":{"entities/Board.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/DashboardEntity.html":{},"classes/ErrorMapper.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/GridElement.html":{},"controllers/H5PEditorController.html":{},"interfaces/IGridElement.html":{},"classes/ImportUserMapper.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{},"interfaces/ParentInfo.html":{},"injectables/ShareTokenUC.html":{},"injectables/SubmissionItemUc.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["badrequestexception('dashboard",{"_index":8471,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["badrequestexception('destination",{"_index":20508,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["badrequestexception('elements",{"_index":2958,"title":{},"body":{"entities/Board.html":{}}}],["badrequestexception('language",{"_index":23946,"title":{},"body":{"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["badrequestexception('this",{"_index":8458,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["badrequestexception('tldraw",{"_index":22348,"title":{},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["badrequestexception(`cannot",{"_index":3070,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["badrequestexception(`invalid",{"_index":3068,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["badrequestexception(errorobj.message",{"_index":9944,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["badrequestexception(errortype.file_name_empty",{"_index":11815,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["badrequestexception})@apiresponse({status",{"_index":13149,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["badrequestloggableexception",{"_index":25634,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["base",{"_index":2139,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{},"injectables/BaseDORepo.html":{},"classes/BusinessError.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"interfaces/CollectionFilePath.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"injectables/ExternalToolRepo.html":{},"classes/FileElementResponseMapper.html":{},"classes/GlobalValidationPipe.html":{},"injectables/LegacySchoolRepo.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/LtiToolRepo.html":{},"classes/RichTextElementResponseMapper.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["base.do",{"_index":8162,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LegacySchoolDo.html":{},"classes/LtiToolDO.html":{},"classes/UserDO.html":{},"classes/UserLoginMigrationDO.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["base.do.repo",{"_index":15249,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["base.do.repo.ts",{"_index":2556,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["base.entity",{"_index":226,"title":{},"body":{"entities/Account.html":{},"entities/Board.html":{},"entities/BoardElement.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/LdapConfigEntity.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/LtiTool.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/RelatedResourceProperties.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["base.factory",{"_index":576,"title":{},"body":{"classes/AccountFactory.html":{},"classes/AxiosResponseImp.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/UserFactory.html":{}}}],["base.factory.ts",{"_index":9551,"title":{},"body":{"classes/DoBaseFactory.html":{}}}],["base.interface.strategy",{"_index":16754,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["base.repo",{"_index":3950,"title":{},"body":{"injectables/BoardRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/FederalStateRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{}}}],["base.response",{"_index":2252,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{}}}],["base.response.ts",{"_index":2149,"title":{},"body":{"interfaces/BBBBaseResponse.html":{}}}],["base.strategy",{"_index":14262,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{}}}],["base.uc",{"_index":4112,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["base64",{"_index":10394,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"dependencies.html":{}}}],["base64content",{"_index":1443,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["base64logo",{"_index":10398,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["base_string",{"_index":15877,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["base_url",{"_index":18760,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["based",{"_index":2564,"title":{},"body":{"classes/BaseFactory.html":{},"interfaces/CollectionFilePath.html":{},"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/VideoConferenceCreateUc.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["basedir",{"_index":5182,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["basedo",{"_index":1852,"title":{"classes/BaseDO.html":{}},"body":{"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{},"classes/LegacySchoolDo.html":{},"injectables/LegacySchoolRule.html":{},"classes/LtiToolDO.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/ShareTokenDO.html":{},"classes/UserDO.html":{},"classes/UserLoginMigrationDO.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["basedo:5",{"_index":6637,"title":{},"body":{"classes/ContextExternalTool.html":{},"classes/ExternalTool.html":{},"classes/LegacySchoolDo.html":{},"classes/LtiToolDO.html":{},"classes/SchoolExternalTool.html":{},"classes/ShareTokenDO.html":{},"classes/UserDO.html":{},"classes/UserLoginMigrationDO.html":{},"classes/VideoConferenceDO.html":{}}}],["basedomainobject",{"_index":2520,"title":{"classes/BaseDomainObject.html":{}},"body":{"classes/BaseDomainObject.html":{}}}],["basedorepo",{"_index":2436,"title":{"injectables/BaseDORepo.html":{}},"body":{"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["basedorepo:117",{"_index":6817,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["basedorepo:127",{"_index":23274,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["basedorepo:19",{"_index":6823,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["basedorepo:21",{"_index":20406,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["basedorepo:24",{"_index":6824,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["basedorepo:32",{"_index":6819,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["basedorepo:33",{"_index":24318,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["basedorepo:34",{"_index":23591,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["basedorepo:39",{"_index":16008,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["basedorepo:40",{"_index":15246,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["basedorepo:43",{"_index":20405,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["basedorepo:46",{"_index":23272,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["basedorepo:49",{"_index":23590,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["basedorepo:52",{"_index":6810,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["basedorepo:57",{"_index":15245,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["basedorepo:61",{"_index":6820,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["basedorepo:65",{"_index":16007,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["basedorepo:67",{"_index":19775,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["basedorepo:77",{"_index":19774,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["basedorepo:78",{"_index":6821,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["basedorepo:81",{"_index":10643,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["basedorepo:87",{"_index":10642,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["basedorepo:90",{"_index":10644,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["basedorepo:93",{"_index":23275,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["basedorepo:96",{"_index":6818,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["basedorepo:98",{"_index":6822,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["baseentity",{"_index":2477,"title":{"classes/BaseEntity.html":{}},"body":{"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/BaseRepo.html":{},"injectables/DatabaseManagementService.html":{},"injectables/FeathersAuthProvider.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{}}}],["baseentityproperties",{"_index":2478,"title":{},"body":{"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["baseentityproperties.includes(key",{"_index":2518,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["baseentityreference",{"_index":2539,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["baseentitywithtimestamps",{"_index":225,"title":{"classes/BaseEntityWithTimestamps.html":{}},"body":{"entities/Account.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"entities/Board.html":{},"entities/BoardElement.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/ExternalToolEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/H5pEditorTempFile.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfigEntity.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LibraryName.html":{},"entities/LtiTool.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"interfaces/RelatedResourceProperties.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"entities/SchoolNews.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"interfaces/TemporaryFileProperties.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["basefactory",{"_index":501,"title":{"classes/BaseFactory.html":{}},"body":{"classes/AccountFactory.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory.define",{"_index":2135,"title":{},"body":{"classes/AxiosResponseImp.html":{},"classes/ExternalToolEntityFactory.html":{}}}],["basefactory.define(readablestreamwithfiletypeimp",{"_index":18386,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["basefactory:110",{"_index":536,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:122",{"_index":565,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:134",{"_index":573,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:14",{"_index":9560,"title":{},"body":{"classes/DomainObjectFactory.html":{}}}],["basefactory:144",{"_index":566,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:148",{"_index":553,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:15",{"_index":517,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:160",{"_index":570,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:32",{"_index":558,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:47",{"_index":542,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:60",{"_index":549,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:7",{"_index":4651,"title":{},"body":{"classes/ClassFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/UserDoFactory.html":{}}}],["basefactory:75",{"_index":545,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:84",{"_index":547,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["basefactory:98",{"_index":524,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["baseimports",{"_index":16118,"title":{},"body":{"modules/ManagementModule.html":{}}}],["basename",{"_index":132,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/MetaTagExtractorService.html":{}}}],["basename(urlobject.pathname",{"_index":156,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/MetaTagExtractorService.html":{}}}],["basepath",{"_index":1420,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/CollectionFilePath.html":{}}}],["basepermission",{"_index":26046,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["baserepo",{"_index":728,"title":{"injectables/BaseRepo.html":{}},"body":{"injectables/AccountRepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/DashboardRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/H5PContentRepo.html":{},"interfaces/IDashboardRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserRepo.html":{}}}],["baserepo:14",{"_index":7746,"title":{},"body":{"injectables/CourseGroupRepo.html":{}}}],["baserepo:15",{"_index":20914,"title":{},"body":{"injectables/SubmissionRepo.html":{},"injectables/TeamsRepo.html":{}}}],["baserepo:17",{"_index":14061,"title":{},"body":{"injectables/ImportUserRepo.html":{},"injectables/UserRepo.html":{}}}],["baserepo:18",{"_index":760,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BoardRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserRepo.html":{}}}],["baserepo:20",{"_index":15484,"title":{},"body":{"injectables/LessonRepo.html":{},"injectables/RoleRepo.html":{}}}],["baserepo:22",{"_index":765,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BoardRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserRepo.html":{}}}],["baserepo:26",{"_index":762,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BoardRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserRepo.html":{}}}],["baserepo:30",{"_index":763,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TemporaryFileRepo.html":{}}}],["baserepo:33",{"_index":3944,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["baserepo:65",{"_index":7872,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["baseresponsemapper",{"_index":2626,"title":{"interfaces/BaseResponseMapper.html":{}},"body":{"interfaces/BaseResponseMapper.html":{},"classes/ContentElementResponseFactory.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["baseroute",{"_index":1628,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["baseuc",{"_index":2636,"title":{"classes/BaseUc.html":{}},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["baseuc:13",{"_index":4107,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["baseuc:29",{"_index":4109,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["baseuc:45",{"_index":4108,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["baseurl",{"_index":2332,"title":{},"body":{"injectables/BBBService.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/CalendarService.html":{},"classes/CustomParameterFactory.html":{},"injectables/DeletionClient.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/IKeycloakSettings.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{},"interfaces/LibrariesContentType.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/ToolLaunchData.html":{}}}],["baseurl.com",{"_index":8257,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["bash",{"_index":25869,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["basic",{"_index":14571,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["basically",{"_index":18683,"title":{},"body":{"classes/ReferencesService.html":{}}}],["basictoolconfig",{"_index":2668,"title":{"classes/BasicToolConfig.html":{}},"body":{"classes/BasicToolConfig.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolFactory.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["basictoolconfig(props.config",{"_index":10092,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["basictoolconfigdto",{"_index":10762,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["basictoolconfigentity",{"_index":2681,"title":{"classes/BasicToolConfigEntity.html":{}},"body":{"classes/BasicToolConfigEntity.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolRepoMapper.html":{}}}],["basictoolconfigfactory",{"_index":8254,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["basictoolconfigfactory.build",{"_index":8301,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["basictoolconfigparams",{"_index":2690,"title":{"classes/BasicToolConfigParams.html":{}},"body":{"classes/BasicToolConfigParams.html":{},"classes/ExternalToolCreateParams.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["basictoolconfigresponse",{"_index":2700,"title":{"classes/BasicToolConfigResponse.html":{}},"body":{"classes/BasicToolConfigResponse.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["basictoollaunchstrategy",{"_index":2708,"title":{"injectables/BasicToolLaunchStrategy.html":{}},"body":{"injectables/BasicToolLaunchStrategy.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolLaunchService.html":{}}}],["batch",{"_index":2845,"title":{},"body":{"interfaces/BatchDeletionSummary.html":{},"injectables/BatchDeletionUc.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{}}}],["batchcounter",{"_index":8928,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["batchdeletionservice",{"_index":2788,"title":{"injectables/BatchDeletionService.html":{}},"body":{"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"modules/DeletionConsoleModule.html":{}}}],["batchdeletionsummary",{"_index":2837,"title":{"interfaces/BatchDeletionSummary.html":{}},"body":{"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"injectables/BatchDeletionUc.html":{}}}],["batchdeletionsummarybuilder",{"_index":2847,"title":{"classes/BatchDeletionSummaryBuilder.html":{}},"body":{"classes/BatchDeletionSummaryBuilder.html":{},"injectables/BatchDeletionUc.html":{}}}],["batchdeletionsummarybuilder.build(endtime",{"_index":2902,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["batchdeletionsummarydetail",{"_index":2844,"title":{"interfaces/BatchDeletionSummaryDetail.html":{}},"body":{"interfaces/BatchDeletionSummary.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{}}}],["batchdeletionsummarydetailbuilder",{"_index":2857,"title":{"classes/BatchDeletionSummaryDetailBuilder.html":{}},"body":{"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{}}}],["batchdeletionsummaryoverallstatus",{"_index":2852,"title":{},"body":{"classes/BatchDeletionSummaryBuilder.html":{},"injectables/BatchDeletionUc.html":{}}}],["batchdeletionsummaryoverallstatus.failure",{"_index":2853,"title":{},"body":{"classes/BatchDeletionSummaryBuilder.html":{}}}],["batchdeletionuc",{"_index":2861,"title":{"injectables/BatchDeletionUc.html":{}},"body":{"injectables/BatchDeletionUc.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionQueueConsole.html":{}}}],["batchsize",{"_index":8884,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/FilesRepo.html":{}}}],["bbb",{"_index":2153,"title":{},"body":{"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceConfiguration.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"dependencies.html":{}}}],["bbbbasemeetingconfig",{"_index":2136,"title":{"classes/BBBBaseMeetingConfig.html":{}},"body":{"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{},"injectables/BBBService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["bbbbasemeetingconfig:6",{"_index":2177,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{}}}],["bbbbaseresponse",{"_index":2147,"title":{"interfaces/BBBBaseResponse.html":{}},"body":{"interfaces/BBBBaseResponse.html":{},"interfaces/BBBCreateResponse.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"classes/VideoConference-1.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["bbbcreateconfig",{"_index":2155,"title":{"classes/BBBCreateConfig.html":{}},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{}}}],["bbbcreateconfigbuilder",{"_index":2199,"title":{"classes/BBBCreateConfigBuilder.html":{}},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/VideoConferenceCreateUc.html":{}}}],["bbbcreateresponse",{"_index":2241,"title":{"interfaces/BBBCreateResponse.html":{}},"body":{"interfaces/BBBCreateResponse.html":{},"injectables/BBBService.html":{}}}],["bbbjoinconfig",{"_index":2253,"title":{"classes/BBBJoinConfig.html":{}},"body":{"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BBBService.html":{}}}],["bbbjoinconfigbuilder",{"_index":2275,"title":{"classes/BBBJoinConfigBuilder.html":{}},"body":{"classes/BBBJoinConfigBuilder.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["bbbjoinresponse",{"_index":2292,"title":{"interfaces/BBBJoinResponse.html":{}},"body":{"interfaces/BBBJoinResponse.html":{}}}],["bbbmeetinginforesponse",{"_index":2298,"title":{"interfaces/BBBMeetingInfoResponse.html":{}},"body":{"interfaces/BBBMeetingInfoResponse.html":{},"injectables/BBBService.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceInfo.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["bbbresp",{"_index":2398,"title":{},"body":{"injectables/BBBService.html":{}}}],["bbbresp.response.message",{"_index":2404,"title":{},"body":{"injectables/BBBService.html":{}}}],["bbbresp.response.returncode",{"_index":2401,"title":{},"body":{"injectables/BBBService.html":{}}}],["bbbresponse",{"_index":2323,"title":{"interfaces/BBBResponse.html":{}},"body":{"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"classes/VideoConference-1.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["bbbrole",{"_index":2222,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["bbbrole.moderator",{"_index":2236,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["bbbrole.viewer",{"_index":2238,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"classes/VideoConferenceMapper.html":{}}}],["bbbservice",{"_index":2325,"title":{"injectables/BBBService.html":{}},"body":{"injectables/BBBService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"modules/VideoConferenceModule.html":{}}}],["bbbservice:create",{"_index":2407,"title":{},"body":{"injectables/BBBService.html":{}}}],["bbbservice:end",{"_index":2413,"title":{},"body":{"injectables/BBBService.html":{}}}],["bbbservice:getmeetinginfo",{"_index":2415,"title":{},"body":{"injectables/BBBService.html":{}}}],["bbbsettings",{"_index":2339,"title":{},"body":{"injectables/BBBService.html":{},"interfaces/IBbbSettings.html":{},"modules/VideoConferenceModule.html":{}}}],["bbbstatus",{"_index":2152,"title":{},"body":{"interfaces/BBBBaseResponse.html":{},"injectables/BBBService.html":{}}}],["bbbstatus.success",{"_index":2402,"title":{},"body":{"injectables/BBBService.html":{}}}],["bc",{"_index":1945,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["bcc",{"_index":1457,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["bcrypt",{"_index":923,"title":{},"body":{"injectables/AccountServiceDb.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LocalStrategy.html":{}}}],["bcrypt.compare(comparepassword",{"_index":959,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["bcrypt.compare(enteredpassword",{"_index":15717,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["bcrypt.hash(password",{"_index":963,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["bcryptjs",{"_index":924,"title":{},"body":{"injectables/AccountServiceDb.html":{},"injectables/LocalStrategy.html":{},"dependencies.html":{}}}],["bearer",{"_index":1613,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"controllers/OauthSSOController.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/TestApiClient.html":{}}}],["become",{"_index":76,"title":{},"body":{"classes/AbstractAccountService.html":{},"license.html":{}}}],["becomes",{"_index":24709,"title":{},"body":{"license.html":{}}}],["becoming",{"_index":25984,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["beetween",{"_index":4615,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["before",{"_index":409,"title":{},"body":{"controllers/AccountController.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"entities/CourseNews.html":{},"classes/MongoPatterns.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/PermissionService.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["beforeall",{"_index":25769,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["beforeall(async",{"_index":25747,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["beforeeach",{"_index":25770,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["beforehand",{"_index":9024,"title":{},"body":{"injectables/DeletionClient.html":{},"additional-documentation/nestjs-application.html":{}}}],["begin",{"_index":9045,"title":{},"body":{"injectables/DeletionClient.html":{},"classes/DeletionQueueConsole.html":{}}}],["beginning",{"_index":24626,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["behalf",{"_index":24810,"title":{},"body":{"license.html":{}}}],["behaves",{"_index":25635,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["behavior",{"_index":803,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/VideoConferenceCreateUc.html":{}}}],["behaviour",{"_index":5254,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"modules/CoreModule.html":{},"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["behind",{"_index":22206,"title":{},"body":{"injectables/TimeoutInterceptor.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["being",{"_index":2581,"title":{},"body":{"classes/BaseFactory.html":{},"classes/CardSkeletonResponse.html":{},"injectables/LdapStrategy.html":{},"classes/ShareTokenBodyParams.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["believe",{"_index":25102,"title":{},"body":{"license.html":{}}}],["belong",{"_index":4462,"title":{},"body":{"injectables/CardService.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["belongs",{"_index":6284,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["below",{"_index":24816,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["benefit",{"_index":24694,"title":{},"body":{"license.html":{}}}],["ber",{"_index":5528,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["berechtigungen",{"_index":5511,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["beside",{"_index":25327,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["best",{"_index":25199,"title":{},"body":{"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["better",{"_index":25215,"title":{},"body":{"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["bettermarks",{"_index":11283,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["between",{"_index":612,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/BatchDeletionService.html":{},"interfaces/CleanOptions.html":{},"classes/DeletionQueueConsole.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"injectables/NextcloudStrategy.html":{},"interfaces/RetryOptions.html":{},"injectables/TaskCopyUC.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["beware",{"_index":25441,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["beyond",{"_index":24881,"title":{},"body":{"license.html":{}}}],["bezeichnung",{"_index":19465,"title":{},"body":{"classes/SanisGruppeResponse.html":{}}}],["big",{"_index":25430,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["bigbluebutton",{"_index":24089,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["bigbluebutton/api/${callname",{"_index":2430,"title":{},"body":{"injectables/BBBService.html":{}}}],["binary",{"_index":7215,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["binary'})@allow",{"_index":11721,"title":{},"body":{"classes/FileParams.html":{}}}],["bind",{"_index":15060,"title":{},"body":{"injectables/LdapService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["binding",{"_index":15105,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["bindstate",{"_index":22416,"title":{},"body":{"classes/TldrawWs.html":{}}}],["birthday",{"_index":11184,"title":{},"body":{"classes/ExternalUserDto.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisResponseMapper.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserProperties.html":{}}}],["birthtime",{"_index":11616,"title":{},"body":{"classes/FileMetadata.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["blackbox",{"_index":25658,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["block",{"_index":25692,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["blocked",{"_index":7147,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["blocks",{"_index":25661,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["blti",{"_index":5870,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["blti001_bundle",{"_index":5877,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["blti001_icon",{"_index":5879,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["bn",{"_index":3565,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["bn.type",{"_index":3569,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["board",{"_index":2050,"title":{"entities/Board.html":{}},"body":{"injectables/AutoContextNameStrategy.html":{},"classes/BaseUc.html":{},"entities/Board.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"interfaces/BoardDoBuilder.html":{},"injectables/BoardDoRepo.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/CardService.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"interfaces/ColumnProps.html":{},"injectables/ColumnService.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementService.html":{},"injectables/CourseCopyService.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/DtoCreator.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"controllers/GroupController.html":{},"modules/LearnroomApiModule.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MoveColumnBodyParams.html":{},"injectables/NexboardService.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemService.html":{},"modules/ToolApiModule.html":{},"injectables/ToolPermissionHelper.html":{}}}],["board.'})@apiresponse({status",{"_index":3182,"title":{},"body":{"controllers/BoardController.html":{}}}],["board.children.map((column",{"_index":3984,"title":{},"body":{"classes/BoardResponseMapper.html":{}}}],["board.context",{"_index":4117,"title":{},"body":{"injectables/BoardUc.html":{}}}],["board.context.type",{"_index":2052,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["board.createdat",{"_index":3990,"title":{},"body":{"classes/BoardResponseMapper.html":{}}}],["board.displaycolor",{"_index":19099,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["board.do",{"_index":3125,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{}}}],["board.do.factory.ts",{"_index":5429,"title":{},"body":{"classes/ColumnBoardFactory.html":{}}}],["board.do.factory.ts:10",{"_index":5431,"title":{},"body":{"classes/ColumnBoardFactory.html":{}}}],["board.do.ts",{"_index":5385,"title":{},"body":{"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["board.do.ts:10",{"_index":5389,"title":{},"body":{"classes/ColumnBoard.html":{}}}],["board.do.ts:14",{"_index":5391,"title":{},"body":{"classes/ColumnBoard.html":{}}}],["board.do.ts:18",{"_index":5393,"title":{},"body":{"classes/ColumnBoard.html":{}}}],["board.do.ts:6",{"_index":5388,"title":{},"body":{"classes/ColumnBoard.html":{}}}],["board.elements.foreach((element",{"_index":19101,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["board.getbytargetid(elementid",{"_index":19259,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["board.id",{"_index":3823,"title":{},"body":{"injectables/BoardManagementUc.html":{},"classes/BoardResponseMapper.html":{}}}],["board.isarchived",{"_index":19100,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["board.module",{"_index":3004,"title":{},"body":{"modules/BoardApiModule.html":{}}}],["board.references.getitems",{"_index":3959,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["board.references.init",{"_index":3958,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["board.reorderelements(orderedlist",{"_index":19262,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["board.repo.ts",{"_index":22227,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["board.repo.ts:11",{"_index":22252,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["board.repo.ts:13",{"_index":22250,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["board.repo.ts:15",{"_index":22253,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["board.repo.ts:17",{"_index":22255,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["board.repo.ts:19",{"_index":22237,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["board.repo.ts:21",{"_index":22251,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["board.repo.ts:38",{"_index":22241,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["board.repo.ts:46",{"_index":22249,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["board.repo.ts:53",{"_index":22245,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["board.repo.ts:68",{"_index":22239,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["board.response",{"_index":3721,"title":{},"body":{"classes/BoardElementResponse.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["board.response.ts",{"_index":3012,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.response.ts:15",{"_index":3018,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.response.ts:19",{"_index":3021,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.response.ts:22",{"_index":3019,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.response.ts:25",{"_index":3017,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.response.ts:28",{"_index":3022,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.response.ts:31",{"_index":3016,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.response.ts:4",{"_index":3015,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["board.roomid",{"_index":19098,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["board.service.ts",{"_index":5447,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:145",{"_index":5456,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:20",{"_index":5452,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:27",{"_index":5465,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:33",{"_index":5466,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:39",{"_index":5463,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:52",{"_index":5468,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:57",{"_index":5454,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:72",{"_index":5461,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:76",{"_index":5471,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.service.ts:81",{"_index":5458,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["board.syncboardelementreferences(boardelementtargets",{"_index":19231,"title":{},"body":{"injectables/RoomsService.html":{}}}],["board.title",{"_index":3983,"title":{},"body":{"classes/BoardResponseMapper.html":{},"injectables/ColumnBoardService.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["board.types",{"_index":9684,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["board.updatedat",{"_index":3989,"title":{},"body":{"classes/BoardResponseMapper.html":{}}}],["board/board",{"_index":3011,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["board/board.entity.ts",{"_index":2909,"title":{},"body":{"entities/Board.html":{}}}],["board/board.entity.ts:29",{"_index":2914,"title":{},"body":{"entities/Board.html":{}}}],["board/board.entity.ts:32",{"_index":2918,"title":{},"body":{"entities/Board.html":{}}}],["board/board.response.ts",{"_index":20545,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["board/board.response.ts:19",{"_index":20550,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["board/board.response.ts:25",{"_index":20551,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["board/board.response.ts:30",{"_index":20547,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["board/board.response.ts:36",{"_index":20548,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["board/board.response.ts:41",{"_index":20549,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["board/board.response.ts:6",{"_index":20546,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["board/boardelement.entity.ts",{"_index":3701,"title":{},"body":{"entities/BoardElement.html":{}}}],["board/boardelement.entity.ts:26",{"_index":3704,"title":{},"body":{"entities/BoardElement.html":{}}}],["board/boardelement.entity.ts:30",{"_index":3702,"title":{},"body":{"entities/BoardElement.html":{}}}],["board/column",{"_index":5541,"title":{},"body":{"entities/ColumnBoardTarget.html":{},"entities/ColumnboardBoardElement.html":{}}}],["board/lesson",{"_index":15399,"title":{},"body":{"entities/LessonBoardElement.html":{}}}],["board/task",{"_index":21379,"title":{},"body":{"entities/TaskBoardElement.html":{}}}],["boardapimodule",{"_index":2989,"title":{"modules/BoardApiModule.html":{}},"body":{"modules/BoardApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["boardauthorizable",{"_index":20880,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["boardauthorizable.users.filter((user",{"_index":20882,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["boardcolumnboardresponse",{"_index":3009,"title":{"classes/BoardColumnBoardResponse.html":{}},"body":{"classes/BoardColumnBoardResponse.html":{},"classes/BoardElementResponse.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["boardcomposite",{"_index":3027,"title":{"classes/BoardComposite.html":{}},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["boardcomposite:13",{"_index":9592,"title":{},"body":{"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{}}}],["boardcomposite:14",{"_index":5377,"title":{},"body":{"classes/Column.html":{},"classes/SubmissionContainerElement.html":{}}}],["boardcomposite:17",{"_index":9590,"title":{},"body":{"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{}}}],["boardcomposite:19",{"_index":4299,"title":{},"body":{"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["boardcomposite:21",{"_index":9591,"title":{},"body":{"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{}}}],["boardcomposite:22",{"_index":5387,"title":{},"body":{"classes/ColumnBoard.html":{},"classes/RichTextElement.html":{}}}],["boardcomposite:23",{"_index":5376,"title":{},"body":{"classes/Column.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["boardcomposite:25",{"_index":11481,"title":{},"body":{"classes/FileElement.html":{}}}],["boardcomposite:26",{"_index":18865,"title":{},"body":{"classes/RichTextElement.html":{}}}],["boardcomposite:27",{"_index":4298,"title":{},"body":{"classes/Card.html":{},"classes/ColumnBoard.html":{}}}],["boardcomposite:29",{"_index":11482,"title":{},"body":{"classes/FileElement.html":{},"classes/SubmissionItem.html":{}}}],["boardcomposite:30",{"_index":18866,"title":{},"body":{"classes/RichTextElement.html":{}}}],["boardcomposite:31",{"_index":5386,"title":{},"body":{"classes/ColumnBoard.html":{}}}],["boardcomposite:33",{"_index":20790,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["boardcomposite:35",{"_index":4301,"title":{},"body":{"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["boardcomposite:37",{"_index":15634,"title":{},"body":{"classes/LinkElement.html":{}}}],["boardcomposite:38",{"_index":4296,"title":{},"body":{"classes/Card.html":{}}}],["boardcomposite:39",{"_index":4300,"title":{},"body":{"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["boardcomposite:41",{"_index":15632,"title":{},"body":{"classes/LinkElement.html":{}}}],["boardcomposite:42",{"_index":4297,"title":{},"body":{"classes/Card.html":{}}}],["boardcomposite:45",{"_index":15633,"title":{},"body":{"classes/LinkElement.html":{}}}],["boardcompositeprops",{"_index":3081,"title":{"interfaces/BoardCompositeProps.html":{}},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["boardcompositevisitor",{"_index":3038,"title":{"interfaces/BoardCompositeVisitor.html":{}},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["boardcompositevisitorasync",{"_index":3042,"title":{"interfaces/BoardCompositeVisitorAsync.html":{}},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["boardcontext",{"_index":3225,"title":{},"body":{"controllers/BoardController.html":{}}}],["boardcontextresponse",{"_index":3161,"title":{"classes/BoardContextResponse.html":{}},"body":{"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{}}}],["boardcontextresponse(boardcontext",{"_index":3227,"title":{},"body":{"controllers/BoardController.html":{}}}],["boardcontextresponse})@apiresponse({status",{"_index":3195,"title":{},"body":{"controllers/BoardController.html":{}}}],["boardcontroller",{"_index":2999,"title":{"controllers/BoardController.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/BoardController.html":{}}}],["boardcopy",{"_index":3302,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["boardcopyparams",{"_index":3258,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["boardcopyservice",{"_index":3239,"title":{"injectables/BoardCopyService.html":{}},"body":{"injectables/BoardCopyService.html":{},"injectables/CourseCopyService.html":{},"modules/LearnroomModule.html":{}}}],["boarddo",{"_index":2651,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/SubmissionItemUc.html":{}}}],["boarddo.id",{"_index":3410,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/ColumnBoardService.html":{}}}],["boarddoauthorizable",{"_index":2655,"title":{"classes/BoardDoAuthorizable.html":{}},"body":{"classes/BaseUc.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRule.html":{},"injectables/CardUc.html":{},"injectables/ToolPermissionHelper.html":{},"interfaces/UserBoardRoles.html":{}}}],["boarddoauthorizable.requireduserrole",{"_index":2657,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardDoRule.html":{}}}],["boarddoauthorizable.users.find",{"_index":3673,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["boarddoauthorizable.users.find((u",{"_index":2660,"title":{},"body":{"classes/BaseUc.html":{}}}],["boarddoauthorizableprops",{"_index":3389,"title":{"interfaces/BoardDoAuthorizableProps.html":{}},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["boarddoauthorizableservice",{"_index":2641,"title":{"injectables/BoardDoAuthorizableService.html":{}},"body":{"classes/BaseUc.html":{},"injectables/BoardDoAuthorizableService.html":{},"modules/BoardModule.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/SubmissionItemUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["boarddobuilder",{"_index":3429,"title":{"interfaces/BoardDoBuilder.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["boarddobuilderimpl",{"_index":3474,"title":{"classes/BoardDoBuilderImpl.html":{}},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{}}}],["boarddobuilderimpl(children).builddomainobject(boardnode",{"_index":3638,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["boarddobuilderimpl(descendants).builddomainobject(boardnode",{"_index":3629,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["boarddocopyparams",{"_index":3578,"title":{},"body":{"injectables/BoardDoCopyService.html":{}}}],["boarddocopyservice",{"_index":3575,"title":{"injectables/BoardDoCopyService.html":{}},"body":{"injectables/BoardDoCopyService.html":{},"modules/BoardModule.html":{},"injectables/ColumnBoardCopyService.html":{}}}],["boarddorepo",{"_index":3398,"title":{"injectables/BoardDoRepo.html":{}},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoService.html":{},"modules/BoardModule.html":{},"injectables/CardService.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{},"injectables/SubmissionItemService.html":{}}}],["boarddorule",{"_index":1865,"title":{"injectables/BoardDoRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/BoardDoRule.html":{},"injectables/RuleManager.html":{}}}],["boarddos",{"_index":4498,"title":{},"body":{"injectables/CardUc.html":{}}}],["boarddos.map((boarddo",{"_index":4522,"title":{},"body":{"injectables/CardUc.html":{}}}],["boarddoservice",{"_index":3678,"title":{"injectables/BoardDoService.html":{}},"body":{"injectables/BoardDoService.html":{},"modules/BoardModule.html":{},"injectables/CardService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{},"injectables/SubmissionItemService.html":{}}}],["boardelement",{"_index":2930,"title":{"entities/BoardElement.html":{}},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"entities/BoardElement.html":{},"entities/ColumnboardBoardElement.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"classes/DtoCreator.html":{},"entities/LessonBoardElement.html":{},"injectables/RoomBoardDTOFactory.html":{},"entities/TaskBoardElement.html":{},"injectables/ToolPermissionHelper.html":{}}}],["boardelement.entity",{"_index":2932,"title":{},"body":{"entities/Board.html":{},"entities/ColumnboardBoardElement.html":{},"entities/LessonBoardElement.html":{},"entities/TaskBoardElement.html":{}}}],["boardelement.entity.ts",{"_index":15400,"title":{},"body":{"entities/LessonBoardElement.html":{},"entities/TaskBoardElement.html":{}}}],["boardelement.entity.ts:13",{"_index":15402,"title":{},"body":{"entities/LessonBoardElement.html":{}}}],["boardelement.entity.ts:16",{"_index":21380,"title":{},"body":{"entities/TaskBoardElement.html":{}}}],["boardelement.ts",{"_index":5667,"title":{},"body":{"entities/ColumnboardBoardElement.html":{}}}],["boardelement.ts:13",{"_index":5669,"title":{},"body":{"entities/ColumnboardBoardElement.html":{}}}],["boardelementprops",{"_index":3707,"title":{},"body":{"entities/BoardElement.html":{}}}],["boardelementreference",{"_index":2931,"title":{},"body":{"entities/Board.html":{},"entities/BoardElement.html":{}}}],["boardelementresponse",{"_index":3711,"title":{"classes/BoardElementResponse.html":{}},"body":{"classes/BoardElementResponse.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["boardelements",{"_index":3263,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["boardelements.map((element",{"_index":3314,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["boardelementservice",{"_index":22949,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["boardelementtarget",{"_index":2987,"title":{},"body":{"entities/Board.html":{}}}],["boardelementtargets",{"_index":19230,"title":{},"body":{"injectables/RoomsService.html":{}}}],["boardelementtargets.filter(isnotcontained).map(maptoboardelement",{"_index":2983,"title":{},"body":{"entities/Board.html":{}}}],["boardelementtargets.includes(ref.target",{"_index":2973,"title":{},"body":{"entities/Board.html":{}}}],["boardelementtype",{"_index":3293,"title":{},"body":{"injectables/BoardCopyService.html":{},"entities/BoardElement.html":{},"entities/ColumnboardBoardElement.html":{},"classes/DtoCreator.html":{},"entities/LessonBoardElement.html":{},"injectables/RoomBoardDTOFactory.html":{},"entities/TaskBoardElement.html":{}}}],["boardelementtype.columnboard",{"_index":3326,"title":{},"body":{"injectables/BoardCopyService.html":{},"entities/ColumnboardBoardElement.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["boardelementtype.lesson",{"_index":3323,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/DtoCreator.html":{},"entities/LessonBoardElement.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["boardelementtype.task",{"_index":3319,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"entities/TaskBoardElement.html":{}}}],["boardexternalreference",{"_index":3611,"title":{"interfaces/BoardExternalReference.html":{}},"body":{"injectables/BoardDoRepo.html":{},"interfaces/BoardExternalReference.html":{},"injectables/BoardUc.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{}}}],["boardexternalreferencetype",{"_index":2030,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"classes/BoardContextResponse.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardExternalReference.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardUrlHandler.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"injectables/RoomsService.html":{}}}],["boardexternalreferencetype.course",{"_index":2053,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardUrlHandler.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/RoomsService.html":{}}}],["boardid",{"_index":3774,"title":{},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardUc.html":{},"classes/BoardUrlParams.html":{},"injectables/ColumnBoardService.html":{}}}],["boardids",{"_index":5469,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["boardlessonresponse",{"_index":3715,"title":{"classes/BoardLessonResponse.html":{}},"body":{"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["boardmanagementconsole",{"_index":3751,"title":{"classes/BoardManagementConsole.html":{}},"body":{"classes/BoardManagementConsole.html":{},"modules/ManagementModule.html":{}}}],["boardmanagementuc",{"_index":3757,"title":{"injectables/BoardManagementUc.html":{}},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/ManagementModule.html":{}}}],["boardmodule",{"_index":1931,"title":{"modules/BoardModule.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/LearnroomModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{}}}],["boardnode",{"_index":3419,"title":{"entities/BoardNode.html":{}},"body":{"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{},"interfaces/CopyFileDO.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/FileDO.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/ParentInfo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["boardnode.alternativetext",{"_index":3536,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.ancestorids",{"_index":3654,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["boardnode.caption",{"_index":3534,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.completed",{"_index":3548,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.context",{"_index":3521,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.contextexternaltool?.id",{"_index":3551,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.createdat",{"_index":3519,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.description",{"_index":3543,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.duedate",{"_index":3546,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.entity",{"_index":4403,"title":{},"body":{"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["boardnode.foreach((bn",{"_index":3572,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.height",{"_index":3531,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.id",{"_index":3517,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["boardnode.imageurl",{"_index":3539,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.inputformat",{"_index":3542,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.joinpath(props.parent.path",{"_index":3879,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["boardnode.joinpath(this.path",{"_index":3891,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["boardnode.parentid",{"_index":3651,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["boardnode.text",{"_index":3540,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.title",{"_index":3518,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.updatedat",{"_index":3520,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.url",{"_index":3537,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.usedobuilder(this",{"_index":3512,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnode.userid",{"_index":3549,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["boardnodeauthorizableservice",{"_index":18616,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["boardnodeprops",{"_index":3874,"title":{"interfaces/BoardNodeProps.html":{}},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["boardnoderepo",{"_index":3597,"title":{"injectables/BoardNodeRepo.html":{}},"body":{"injectables/BoardDoRepo.html":{},"modules/BoardModule.html":{},"injectables/BoardNodeRepo.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["boardnodes",{"_index":3633,"title":{},"body":{"injectables/BoardDoRepo.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["boardnodes.map((boardnode",{"_index":3636,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["boardnodes.map((o",{"_index":3648,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["boardnodes.reduce((map",{"_index":3640,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["boardnodetype",{"_index":3501,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["boardnodetype.card",{"_index":3522,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{}}}],["boardnodetype.column",{"_index":3514,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/ColumnNode.html":{}}}],["boardnodetype.column_board",{"_index":5439,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["boardnodetype.drawing_element",{"_index":3527,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{}}}],["boardnodetype.external_tool",{"_index":3529,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["boardnodetype.file_element",{"_index":3524,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{}}}],["boardnodetype.link_element",{"_index":3525,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{}}}],["boardnodetype.rich_text_element",{"_index":3526,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{}}}],["boardnodetype.submission_container_element",{"_index":3528,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{}}}],["boardnodetype.submission_item",{"_index":3544,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["boardprops",{"_index":2939,"title":{},"body":{"entities/Board.html":{}}}],["boardrepo",{"_index":3251,"title":{"injectables/BoardRepo.html":{}},"body":{"injectables/BoardCopyService.html":{},"injectables/BoardRepo.html":{},"injectables/CourseCopyService.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{}}}],["boardresponse",{"_index":3212,"title":{"classes/BoardResponse.html":{}},"body":{"controllers/BoardController.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{}}}],["boardresponsemapper",{"_index":3216,"title":{"classes/BoardResponseMapper.html":{}},"body":{"controllers/BoardController.html":{},"classes/BoardResponseMapper.html":{}}}],["boardresponsemapper.maptoresponse(board",{"_index":3223,"title":{},"body":{"controllers/BoardController.html":{}}}],["boardresponse})@apiresponse({status",{"_index":3200,"title":{},"body":{"controllers/BoardController.html":{}}}],["boardroles",{"_index":3377,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRule.html":{},"interfaces/UserBoardRoles.html":{}}}],["boardroles.editor",{"_index":3423,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["boardroles.reader",{"_index":3428,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["boards",{"_index":3173,"title":{},"body":{"controllers/BoardController.html":{},"injectables/ColumnBoardService.html":{}}}],["boardservice",{"_index":22950,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["boardstatus",{"_index":3281,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CourseCopyService.html":{}}}],["boardstatus.elements",{"_index":3359,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["boardsubmissioncontroller",{"_index":3003,"title":{"controllers/BoardSubmissionController.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/BoardSubmissionController.html":{}}}],["boardtask",{"_index":19107,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.availabledate",{"_index":19122,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.course",{"_index":19118,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.createdat",{"_index":19115,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.description",{"_index":19128,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.duedate",{"_index":19124,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.getparentdata",{"_index":19109,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.id",{"_index":19113,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.name",{"_index":19114,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtask.updatedat",{"_index":19116,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtaskdesc",{"_index":19108,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtaskdesc.color",{"_index":19126,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtaskresponse",{"_index":3714,"title":{"classes/BoardTaskResponse.html":{}},"body":{"classes/BoardElementResponse.html":{},"classes/BoardTaskResponse.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["boardtaskstatus",{"_index":19110,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtaskstatusmapper",{"_index":4061,"title":{"classes/BoardTaskStatusMapper.html":{}},"body":{"classes/BoardTaskStatusMapper.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["boardtaskstatusmapper.maptoresponse(status",{"_index":19111,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["boardtaskstatusresponse",{"_index":4057,"title":{"classes/BoardTaskStatusResponse.html":{}},"body":{"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{}}}],["boardtaskstatusresponse(status",{"_index":4067,"title":{},"body":{"classes/BoardTaskStatusMapper.html":{}}}],["boarduc",{"_index":2993,"title":{"injectables/BoardUc.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/BoardController.html":{},"injectables/BoardUc.html":{},"controllers/ColumnController.html":{}}}],["boardurlhandler",{"_index":4125,"title":{"injectables/BoardUrlHandler.html":{}},"body":{"injectables/BoardUrlHandler.html":{},"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagInternalUrlService.html":{}}}],["boardurlparams",{"_index":3180,"title":{"classes/BoardUrlParams.html":{}},"body":{"controllers/BoardController.html":{},"classes/BoardUrlParams.html":{}}}],["boardvalue",{"_index":2043,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["bodies",{"_index":1217,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["body",{"_index":379,"title":{},"body":{"controllers/AccountController.html":{},"interfaces/AdminIdAndToken.html":{},"interfaces/AuthenticationResponse.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/DashboardController.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/FileSecurityController.html":{},"controllers/H5PEditorController.html":{},"controllers/ImportUserController.html":{},"injectables/LdapStrategy.html":{},"controllers/LoginController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/NewsController.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"controllers/RoomsController.html":{},"injectables/S3ClientAdapter.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{},"injectables/TeamPermissionsMapper.html":{},"classes/TestApiClient.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"dependencies.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["body(ajaxpostbodyparamstransformpipe",{"_index":13208,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["body.code",{"_index":23503,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["body.create",{"_index":21956,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["body.delete",{"_index":21957,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["body.destinationcourseid",{"_index":20343,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["body.expiresindays",{"_index":20332,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["body.library",{"_index":13232,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["body.mandatory",{"_index":23497,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["body.newname",{"_index":20342,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["body.params.metadata",{"_index":13231,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["body.params.params",{"_index":13230,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["body.parentid",{"_index":13234,"title":{},"body":{"controllers/H5PEditorController.html":{},"controllers/ShareTokenController.html":{}}}],["body.parenttype",{"_index":13233,"title":{},"body":{"controllers/H5PEditorController.html":{},"controllers/ShareTokenController.html":{}}}],["body.read",{"_index":21958,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["body.redirecturi",{"_index":23504,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["body.schoolexclusive",{"_index":20331,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["body.session",{"_index":17249,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["body.share",{"_index":21959,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["body.systemid",{"_index":23502,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["body.write",{"_index":21960,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["bodyparams",{"_index":3204,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/MetaTagExtractorController.html":{}}}],["bodyparams.completed",{"_index":4037,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/ElementController.html":{}}}],["bodyparams.data.content",{"_index":9791,"title":{},"body":{"controllers/ElementController.html":{}}}],["bodyparams.height",{"_index":4376,"title":{},"body":{"controllers/CardController.html":{}}}],["bodyparams.title",{"_index":3232,"title":{},"body":{"controllers/BoardController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{}}}],["bodyparams.toboardid",{"_index":5605,"title":{},"body":{"controllers/ColumnController.html":{}}}],["bodyparams.tocardid",{"_index":9787,"title":{},"body":{"controllers/ElementController.html":{}}}],["bodyparams.tocolumnid",{"_index":4372,"title":{},"body":{"controllers/CardController.html":{}}}],["bodyparams.toposition",{"_index":4373,"title":{},"body":{"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{}}}],["bodyparams.url",{"_index":16196,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["bodyproperties",{"_index":2776,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["bom",{"_index":24568,"title":{},"body":{"dependencies.html":{}}}],["boolean",{"_index":122,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"interfaces/AccountConfig.html":{},"classes/AccountDto.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{},"interfaces/AdminIdAndToken.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationService.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BaseResponseMapper.html":{},"injectables/BasicToolLaunchStrategy.html":{},"entities/Board.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"injectables/BoardDoRule.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUrlHandler.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"entities/Course.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseGroupRule.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseUrlHandler.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/DashboardEntity.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"classes/DeletionRequestScope.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/ElementUc.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolScope.html":{},"interfaces/ExternalToolSearchQuery.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FeathersRosterService.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileStorageConfig.html":{},"classes/FileUrlParams.html":{},"modules/FilesStorageModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRule.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/H5PContentParentParams.html":{},"injectables/HydraOauthUc.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IGridElement.html":{},"interfaces/IImportUserScope.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"interfaces/IdentityManagementConfig.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JwtPayload.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LegacySchoolDo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUrlHandler.html":{},"classes/LibraryName.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponseMapper.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"modules/ManagementModule.html":{},"interfaces/Meta.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"interfaces/NameMatch.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"interfaces/NextcloudGroups.html":{},"injectables/OAuthService.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthConfigEntity.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigEntity.html":{},"interfaces/Options.html":{},"interfaces/ParentInfo.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"interfaces/PreviewResponseMessage.html":{},"classes/PrometheusMetricsConfig.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"classes/PseudonymScope.html":{},"injectables/ReferenceLoader.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"interfaces/RetryOptions.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/Rule.html":{},"injectables/SanisProvisioningStrategy.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"injectables/SchoolMigrationService.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/Scope.html":{},"interfaces/ServerConfig.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenBodyParams.html":{},"injectables/ShareTokenUC.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItem.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRule.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"entities/Task.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskListResponse.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TldrawBoardRepo.html":{},"interfaces/TldrawConfig.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/ToolConfiguration.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceResponse.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDto.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"interfaces/UserMetdata.html":{},"interfaces/UserProperties.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceDO.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["boolean(options.verbose",{"_index":4915,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["bootstrap",{"_index":258,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"modules/DatabaseManagementModule.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FeathersModule.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolModule.html":{},"modules/LessonApiModule.html":{},"modules/LessonModule.html":{},"modules/LoggerModule.html":{},"modules/LtiToolModule.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/NewsModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/OauthProviderServiceModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"modules/PseudonymModule.html":{},"modules/RedisModule.html":{},"modules/RegistrationPinModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"classes/TestBootstrapConsole.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["bootstrap.boot([process.argv0",{"_index":22164,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["bootstrap.console.ts",{"_index":22147,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["bootstrap.console.ts:8",{"_index":22149,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["bootstrapconsole",{"_index":22156,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["bootstraps",{"_index":25745,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["both",{"_index":25135,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["bound",{"_index":15678,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["box",{"_index":25741,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["branch",{"_index":984,"title":{},"body":{"injectables/AccountValidationService.html":{},"index.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["break",{"_index":5894,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"injectables/ContentElementFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/FeathersRosterService.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserScope.html":{},"injectables/LegacySystemRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TldrawWsService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"injectables/UserRepo.html":{}}}],["breaking",{"_index":25975,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["breakout",{"_index":2302,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["breakoutrooms",{"_index":2303,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["bring",{"_index":7958,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["broadcast",{"_index":1070,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["broken",{"_index":25438,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["broker",{"_index":14547,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["brokerconfig",{"_index":15382,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["brokering",{"_index":25876,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["browse",{"_index":25392,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["brute",{"_index":73,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AuthenticationService.html":{}}}],["bruteforceerror",{"_index":1720,"title":{"classes/BruteForceError.html":{}},"body":{"injectables/AuthenticationService.html":{},"classes/BruteForceError.html":{}}}],["bruteforceerror(timetowait",{"_index":1747,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["bson",{"_index":574,"title":{},"body":{"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"interfaces/AccountParams.html":{},"injectables/BaseRepo.html":{},"classes/BoardManagementConsole.html":{},"injectables/BsonConverter.html":{},"injectables/CardService.html":{},"classes/ClassEntityFactory.html":{},"interfaces/CollectionFilePath.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementFactory.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"injectables/OidcProvisioningService.html":{},"classes/PseudonymScope.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/ShareTokenFactory.html":{},"injectables/SubmissionItemFactory.html":{},"injectables/SubmissionItemService.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserDoFactory.html":{},"dependencies.html":{}}}],["bson/ejson",{"_index":4171,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["bsonconverter",{"_index":4159,"title":{"injectables/BsonConverter.html":{}},"body":{"injectables/BsonConverter.html":{},"interfaces/CollectionFilePath.html":{},"modules/ManagementModule.html":{}}}],["bsondocuments",{"_index":4170,"title":{},"body":{"injectables/BsonConverter.html":{},"interfaces/CollectionFilePath.html":{}}}],["btw",{"_index":2553,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["bucket",{"_index":7248,"title":{},"body":{"interfaces/CopyFiles.html":{},"injectables/DeleteFilesUc.html":{},"interfaces/File.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"interfaces/FileStorageConfig.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["buckets",{"_index":26104,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["buff",{"_index":24384,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["buffer",{"_index":7969,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoService.html":{},"classes/JwtTestFactory.html":{}}}],["buffer.from(externaltool.logo",{"_index":10393,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["buffer.from(manifest",{"_index":5848,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["buffer.from(newresource.content",{"_index":5830,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["buffer.from(resource.content",{"_index":5835,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["buffer.from(response.data",{"_index":10405,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["buffer.from(tool.logo",{"_index":10414,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["buffer.length",{"_index":10395,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["buffer.tostring('base64",{"_index":10407,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["bufferencoding",{"_index":12068,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["bug",{"_index":21890,"title":{},"body":{"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["bugs",{"_index":25225,"title":{},"body":{"properties.html":{}}}],["build",{"_index":507,"title":{},"body":{"classes/AccountFactory.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"classes/BaseFactory.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"classes/Builder.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"injectables/ContentElementFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestOutputBuilder.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileDtoBuilder.html":{},"classes/FileParamBuilder.html":{},"classes/FileRecordFactory.html":{},"classes/FileResponseBuilder.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SubmissionFactory.html":{},"injectables/SubmissionItemFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"injectables/ToolPermissionHelper.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["build(domain",{"_index":9270,"title":{},"body":{"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"classes/DeletionTargetRefBuilder.html":{}}}],["build(executiontimemilliseconds",{"_index":2850,"title":{},"body":{"classes/BatchDeletionSummaryBuilder.html":{}}}],["build(file",{"_index":11965,"title":{},"body":{"classes/FileResponseBuilder.html":{}}}],["build(id",{"_index":7238,"title":{},"body":{"classes/CopyFileResponseBuilder.html":{}}}],["build(input",{"_index":2859,"title":{},"body":{"classes/BatchDeletionSummaryDetailBuilder.html":{}}}],["build(limit",{"_index":23105,"title":{},"body":{"classes/TriggerDeletionExecutionOptionsBuilder.html":{}}}],["build(name",{"_index":11464,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["build(params",{"_index":538,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["build(props",{"_index":20058,"title":{},"body":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{}}}],["build(refsfilepath",{"_index":18335,"title":{},"body":{"classes/PushDeleteRequestsOptionsBuilder.html":{}}}],["build(requestid",{"_index":9404,"title":{},"body":{"classes/DeletionRequestOutputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["build(requiredpermissions",{"_index":1785,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["build(schoolid",{"_index":11715,"title":{},"body":{"classes/FileParamBuilder.html":{}}}],["build(status",{"_index":9106,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["build(targetref",{"_index":9388,"title":{},"body":{"classes/DeletionRequestLogResponseBuilder.html":{}}}],["build(targetrefdomain",{"_index":9370,"title":{},"body":{"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/QueueDeletionRequestInputBuilder.html":{}}}],["build(type",{"_index":6342,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["build(userid",{"_index":7262,"title":{},"body":{"classes/CopyFilesOfParentParamBuilder.html":{}}}],["buildaccount",{"_index":23187,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["buildaccount(user",{"_index":709,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["buildadmin",{"_index":723,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["buildadmin(params",{"_index":23190,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["buildcard",{"_index":3432,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildcard(boardnode",{"_index":3442,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildchildren",{"_index":3479,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["buildchildren(boardnode",{"_index":3487,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["buildcolumn",{"_index":3433,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildcolumn(boardnode",{"_index":3445,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildcolumnboard",{"_index":3434,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildcolumnboard(boardnode",{"_index":3448,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildcopyentitydict",{"_index":7327,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["buildcopyentitydict(status",{"_index":7330,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["builddomainobject",{"_index":3480,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["builddomainobject(boardnode",{"_index":3491,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["builddrawing",{"_index":6336,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["builddrawingelement",{"_index":3435,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["builddrawingelement(boardnode",{"_index":3451,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["builddtowithelements",{"_index":9647,"title":{},"body":{"classes/DtoCreator.html":{}}}],["builddtowithelements(elements",{"_index":9661,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["builder",{"_index":2202,"title":{"classes/Builder.html":{}},"body":{"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"classes/Builder.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/DeletionExecutionConsole.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["builder.addorganization",{"_index":5733,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["builder.build",{"_index":5728,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["builder.buildcard(this",{"_index":4407,"title":{},"body":{"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{}}}],["builder.buildcolumn(this",{"_index":5613,"title":{},"body":{"entities/ColumnNode.html":{}}}],["builder.buildcolumnboard(this",{"_index":5446,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["builder.builddrawingelement(this",{"_index":9623,"title":{},"body":{"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{}}}],["builder.buildexternaltoolelement(this",{"_index":10280,"title":{},"body":{"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["builder.buildfileelement(this",{"_index":11510,"title":{},"body":{"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{}}}],["builder.buildlinkelement(this",{"_index":15661,"title":{},"body":{"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{}}}],["builder.buildrichtextelement(this",{"_index":18896,"title":{},"body":{"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{}}}],["builder.buildsubmissioncontainerelement(this",{"_index":20737,"title":{},"body":{"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{}}}],["builder.buildsubmissionitem(this",{"_index":20823,"title":{},"body":{"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["builder.ts",{"_index":5788,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["builder.ts:24",{"_index":13596,"title":{},"body":{"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["builder.ts:28",{"_index":13593,"title":{},"body":{"interfaces/ICommonCartridgeFileBuilder.html":{}}}],["builder.ts:30",{"_index":13594,"title":{},"body":{"interfaces/ICommonCartridgeFileBuilder.html":{}}}],["builder.ts:32",{"_index":13595,"title":{},"body":{"interfaces/ICommonCartridgeFileBuilder.html":{}}}],["builder.ts:35",{"_index":5953,"title":{},"body":{"classes/CommonCartridgeOrganizationBuilder.html":{}}}],["builder.ts:42",{"_index":5956,"title":{},"body":{"classes/CommonCartridgeOrganizationBuilder.html":{}}}],["builder.ts:46",{"_index":5958,"title":{},"body":{"classes/CommonCartridgeOrganizationBuilder.html":{}}}],["builder.ts:52",{"_index":5954,"title":{},"body":{"classes/CommonCartridgeOrganizationBuilder.html":{}}}],["builder.ts:63",{"_index":5799,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{}}}],["builder.ts:65",{"_index":5801,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{}}}],["builder.ts:67",{"_index":5798,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{}}}],["builder.ts:69",{"_index":5797,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{}}}],["builder.ts:73",{"_index":5804,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{}}}],["builder.ts:79",{"_index":5807,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{}}}],["builder.ts:88",{"_index":5808,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{}}}],["builder:2",{"_index":2208,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{}}}],["builder:26",{"_index":2209,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["builder:8",{"_index":2286,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["builderror",{"_index":18341,"title":{},"body":{"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["builderror(err",{"_index":18342,"title":{},"body":{"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["buildexternaltool",{"_index":6337,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["buildexternaltoolelement",{"_index":3436,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildexternaltoolelement(boardnode",{"_index":3454,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildfailure",{"_index":9104,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["buildfailure(err",{"_index":9108,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["buildfile",{"_index":6338,"title":{},"body":{"injectables/ContentElementFactory.html":{},"classes/PreviewGeneratorBuilder.html":{}}}],["buildfile(preview",{"_index":17861,"title":{},"body":{"classes/PreviewGeneratorBuilder.html":{}}}],["buildfileelement",{"_index":3437,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildfileelement(boardnode",{"_index":3457,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildfromaxiosresponse",{"_index":11462,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["buildfromaxiosresponse(name",{"_index":11466,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["buildfromrequest",{"_index":11463,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["buildfromrequest(fileinfo",{"_index":11468,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["buildgroupsclaim",{"_index":13701,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["buildgroupsclaim(teams",{"_index":13707,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["buildlink",{"_index":6339,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["buildlinkelement",{"_index":3438,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildlinkelement(boardnode",{"_index":3460,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildlist",{"_index":508,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["buildlist(number",{"_index":544,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["buildlistwitheachtype",{"_index":8245,"title":{},"body":{"classes/CustomParameterFactory.html":{}}}],["buildlistwitheachtype(params",{"_index":8246,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["buildlistwithid",{"_index":509,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["buildlistwithid(number",{"_index":546,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["buildlogourl",{"_index":10355,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["buildlogourl(template",{"_index":10362,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["buildoptions",{"_index":541,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["buildparams",{"_index":17832,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["buildparams(filerecord",{"_index":17834,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["buildpayload",{"_index":17833,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["buildpayload(params",{"_index":17836,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["buildrichtext",{"_index":6340,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["buildrichtextelement",{"_index":3439,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildrichtextelement(boardnode",{"_index":3463,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["builds",{"_index":2365,"title":{},"body":{"injectables/BBBService.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["buildscope",{"_index":6792,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["buildscope(query",{"_index":6799,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["buildstudent",{"_index":712,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["buildstudent(params",{"_index":23192,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["buildsubmissioncontainer",{"_index":6341,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["buildsubmissioncontainerelement",{"_index":3440,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildsubmissioncontainerelement(boardnode",{"_index":3466,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildsubmissionitem",{"_index":3441,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildsubmissionitem(boardnode",{"_index":3469,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["buildsuccess",{"_index":9105,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["buildsuccess(requestid",{"_index":18344,"title":{},"body":{"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["buildteacher",{"_index":719,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["buildteacher(params",{"_index":23194,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["buildtokenrequestpayload",{"_index":16850,"title":{},"body":{"injectables/OAuthService.html":{}}}],["buildtokenrequestpayload(code",{"_index":16861,"title":{},"body":{"injectables/OAuthService.html":{}}}],["buildtoollaunchdatafromconcreteconfig",{"_index":2714,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildtoollaunchdatafromconcreteconfig(userid",{"_index":2727,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildtoollaunchdatafromexternaltool",{"_index":2720,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildtoollaunchdatafromexternaltool(externaltool",{"_index":2748,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildtoollaunchdatafromtools",{"_index":2721,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildtoollaunchdatafromtools(data",{"_index":2752,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildtoollaunchrequestpayload",{"_index":2715,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildtoollaunchrequestpayload(url",{"_index":2730,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildurl",{"_index":2722,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildurl(toollaunchdatado",{"_index":2754,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["buildwithid",{"_index":510,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["buildwithid(params",{"_index":548,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["buildwithid(userandaccounttestfactory.getuserparams(params",{"_index":717,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["built",{"_index":529,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["builtin",{"_index":14573,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["bundle",{"_index":25231,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["busboy",{"_index":11471,"title":{},"body":{"classes/FileDtoBuilder.html":{},"dependencies.html":{}}}],["business",{"_index":4186,"title":{},"body":{"classes/BusinessError.html":{},"classes/ErrorLoggable.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["business.error",{"_index":1369,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/EntityNotFoundError.html":{},"classes/ForbiddenOperationError.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["businesserror",{"_index":1354,"title":{"classes/BusinessError.html":{}},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorUtils.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/GlobalErrorFilter.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["businesserror:12",{"_index":1360,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BruteForceError.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["businesserror:15",{"_index":1365,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BruteForceError.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["businesserror:18",{"_index":1364,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BruteForceError.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["businesserror:21",{"_index":1363,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BruteForceError.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["businesserror:25",{"_index":1362,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BruteForceError.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["businesserror:47",{"_index":1366,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BruteForceError.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["businessexception",{"_index":25619,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["businesslogic",{"_index":25483,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["button",{"_index":24092,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["byavailable",{"_index":21717,"title":{},"body":{"classes/TaskScope.html":{}}}],["byavailable(availabledate",{"_index":21729,"title":{},"body":{"classes/TaskScope.html":{}}}],["byclasses",{"_index":14110,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byclasses(classes",{"_index":14119,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byclientid",{"_index":10903,"title":{},"body":{"classes/ExternalToolScope.html":{}}}],["byclientid(clientid",{"_index":10906,"title":{},"body":{"classes/ExternalToolScope.html":{}}}],["byclientid(query.clientid",{"_index":10653,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["bycontextid",{"_index":6950,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["bycontextid(contextid",{"_index":6960,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["bycontexttype",{"_index":6951,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["bycontexttype(contexttype",{"_index":6962,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["bycourseids",{"_index":15537,"title":{},"body":{"classes/LessonScope.html":{},"classes/TaskScope.html":{}}}],["bycourseids(courseids",{"_index":15538,"title":{},"body":{"classes/LessonScope.html":{},"classes/TaskScope.html":{}}}],["bycreator",{"_index":16618,"title":{},"body":{"classes/NewsScope.html":{}}}],["bycreator(creatorid",{"_index":16622,"title":{},"body":{"classes/NewsScope.html":{}}}],["bycreatorid",{"_index":21718,"title":{},"body":{"classes/TaskScope.html":{}}}],["bycreatorid(creatorid",{"_index":21731,"title":{},"body":{"classes/TaskScope.html":{}}}],["bydeleteafter",{"_index":9453,"title":{},"body":{"classes/DeletionRequestScope.html":{}}}],["bydeleteafter(currentdate",{"_index":9455,"title":{},"body":{"classes/DeletionRequestScope.html":{}}}],["bydraft",{"_index":21719,"title":{},"body":{"classes/TaskScope.html":{}}}],["bydraft(isdraft",{"_index":21732,"title":{},"body":{"classes/TaskScope.html":{}}}],["byexpires",{"_index":11924,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["byfilerecordid",{"_index":11941,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["byfilerecordid(filerecordid",{"_index":11946,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["byfinished",{"_index":21720,"title":{},"body":{"classes/TaskScope.html":{}}}],["byfinished(userid",{"_index":21734,"title":{},"body":{"classes/TaskScope.html":{}}}],["byfirstname",{"_index":14111,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byfirstname(firstname",{"_index":14121,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byhidden",{"_index":10904,"title":{},"body":{"classes/ExternalToolScope.html":{},"classes/LessonScope.html":{}}}],["byhidden(ishidden",{"_index":10908,"title":{},"body":{"classes/ExternalToolScope.html":{},"classes/LessonScope.html":{}}}],["byhidden(query.ishidden",{"_index":10654,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["byid",{"_index":6952,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["byid(id",{"_index":6964,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["bylastname",{"_index":14112,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["bylastname(lastname",{"_index":14123,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["bylessonids",{"_index":21721,"title":{},"body":{"classes/TaskScope.html":{}}}],["bylessonids(lessonids",{"_index":21735,"title":{},"body":{"classes/TaskScope.html":{}}}],["byloginname",{"_index":14113,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byloginname(loginname",{"_index":14125,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["bymarkedfordelete",{"_index":11942,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["bymarkedfordelete(ismarked",{"_index":11948,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["bymatches",{"_index":14114,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["bymatches(matches",{"_index":14128,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byname",{"_index":10905,"title":{},"body":{"classes/ExternalToolScope.html":{}}}],["byname(name",{"_index":10910,"title":{},"body":{"classes/ExternalToolScope.html":{}}}],["byname(query.name",{"_index":10652,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["byonlycreatorid",{"_index":21722,"title":{},"body":{"classes/TaskScope.html":{}}}],["byonlycreatorid(creatorid",{"_index":21737,"title":{},"body":{"classes/TaskScope.html":{}}}],["byparentid",{"_index":11943,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["byparentid(parentid",{"_index":11951,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["bypassdocumentvalidation",{"_index":8862,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["bypasstest",{"_index":1285,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["bypseudonym",{"_index":18228,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["bypseudonym(pseudonym",{"_index":18231,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["bypseudonym(query.pseudonym",{"_index":10623,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["bypublished",{"_index":16619,"title":{},"body":{"classes/NewsScope.html":{}}}],["byrole",{"_index":14115,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byrole(rolename",{"_index":14130,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byschool",{"_index":14116,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byschool(school",{"_index":14132,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byschoolid",{"_index":11944,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/UserScope.html":{}}}],["byschoolid(query.schoolid",{"_index":23283,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["byschoolid(schoolid",{"_index":11953,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/UserScope.html":{}}}],["byschooltoolid",{"_index":6953,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["byschooltoolid(schooltoolid",{"_index":6966,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["bysecuritycheckrequesttoken",{"_index":11945,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["bysecuritycheckrequesttoken(token",{"_index":11955,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["bystatus",{"_index":9454,"title":{},"body":{"classes/DeletionRequestScope.html":{}}}],["bytargets",{"_index":16620,"title":{},"body":{"classes/NewsScope.html":{}}}],["bytargets(targets",{"_index":16625,"title":{},"body":{"classes/NewsScope.html":{}}}],["bytes",{"_index":12446,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{}}}],["bytesrange",{"_index":12440,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFileResponse.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileParams.html":{},"injectables/PreviewService.html":{},"injectables/S3ClientAdapter.html":{}}}],["bytoolid",{"_index":18229,"title":{},"body":{"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{}}}],["bytoolid(query.toolid",{"_index":10624,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["bytoolid(toolid",{"_index":18233,"title":{},"body":{"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{}}}],["byunpublished",{"_index":16621,"title":{},"body":{"classes/NewsScope.html":{}}}],["byuserid",{"_index":18230,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["byuserid(query.userid",{"_index":10625,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["byuserid(userid",{"_index":18235,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["byuseridquery",{"_index":20905,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["byuseridquery(userid",{"_index":20908,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["byusermatch",{"_index":14117,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["byusermatch(user",{"_index":14134,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["c",{"_index":560,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"injectables/LessonService.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"interfaces/Options.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"injectables/TaskUC.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/WsSharedDocDo.html":{},"license.html":{}}}],["c.id",{"_index":21812,"title":{},"body":{"injectables/TaskUC.html":{}}}],["c.isfinished",{"_index":21831,"title":{},"body":{"injectables/TaskUC.html":{}}}],["c.isfinished()).map((c",{"_index":21811,"title":{},"body":{"injectables/TaskUC.html":{}}}],["c.user",{"_index":15565,"title":{},"body":{"injectables/LessonService.html":{}}}],["cache",{"_index":4225,"title":{},"body":{"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/OauthAdapterService.html":{},"injectables/RoleRepo.html":{},"injectables/TeamsRepo.html":{},"dependencies.html":{}}}],["cache_manager",{"_index":14365,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["cacheexpiration",{"_index":19046,"title":{},"body":{"injectables/RoleRepo.html":{},"injectables/TeamsRepo.html":{}}}],["cacheimplementations",{"_index":13330,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["cacheimplementations.cachedkeyvaluestorage('kvcache",{"_index":13352,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["cachemanager",{"_index":14356,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["cachemodule",{"_index":4222,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["cachemodule.registerasync",{"_index":4229,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["cachemoduleoptions",{"_index":4223,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["cacheservice",{"_index":4207,"title":{"injectables/CacheService.html":{}},"body":{"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{}}}],["cacheservice.getstoretype",{"_index":4230,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["cachestoretype",{"_index":4211,"title":{},"body":{"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{}}}],["cachestoretype.memory",{"_index":4217,"title":{},"body":{"injectables/CacheService.html":{}}}],["cachestoretype.redis",{"_index":4216,"title":{},"body":{"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{}}}],["cachewrappermodule",{"_index":1522,"title":{"modules/CacheWrapperModule.html":{}},"body":{"modules/AuthenticationModule.html":{},"modules/CacheWrapperModule.html":{},"modules/OauthModule.html":{}}}],["caf",{"_index":14149,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["cafe",{"_index":14151,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["calc",{"_index":22280,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["calculatediff",{"_index":22262,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["calculatediff(diff",{"_index":22281,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["calculatenumberofsubmitters(submissions",{"_index":21335,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["calculations",{"_index":25464,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["calendarevent",{"_index":4239,"title":{"interfaces/CalendarEvent.html":{}},"body":{"interfaces/CalendarEvent.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{}}}],["calendareventdto",{"_index":4245,"title":{"classes/CalendarEventDto.html":{}},"body":{"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{}}}],["calendarmapper",{"_index":4254,"title":{"injectables/CalendarMapper.html":{}},"body":{"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{}}}],["calendarmodule",{"_index":4266,"title":{"modules/CalendarModule.html":{}},"body":{"modules/CalendarModule.html":{},"modules/VideoConferenceModule.html":{}}}],["calendarservice",{"_index":4270,"title":{"injectables/CalendarService.html":{}},"body":{"modules/CalendarModule.html":{},"injectables/CalendarService.html":{}}}],["calendarservice:findevent",{"_index":4293,"title":{},"body":{"injectables/CalendarService.html":{}}}],["call",{"_index":531,"title":{},"body":{"classes/AccountFactory.html":{},"injectables/AccountValidationService.html":{},"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"injectables/DeletionClient.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["call,@typescript",{"_index":22275,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"classes/TldrawWs.html":{}}}],["callable",{"_index":2366,"title":{},"body":{"injectables/BBBService.html":{}}}],["callback",{"_index":25723,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["callback_uri",{"_index":1341,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["callbackuri",{"_index":1335,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["calld",{"_index":25768,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["called",{"_index":528,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/FeathersRosterService.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/TldrawWs.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["callhandler",{"_index":9749,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["calling",{"_index":17792,"title":{},"body":{"injectables/PermissionService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["callkcadminclient",{"_index":14406,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["callname",{"_index":2358,"title":{},"body":{"injectables/BBBService.html":{}}}],["calls",{"_index":2831,"title":{},"body":{"injectables/BatchDeletionService.html":{},"classes/DeletionQueueConsole.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"index.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["callsdelaymilliseconds",{"_index":2797,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{}}}],["callsdelayms",{"_index":9298,"title":{},"body":{"classes/DeletionQueueConsole.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{}}}],["camelcase",{"_index":25558,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["can't",{"_index":1565,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["cancelbuttonurl",{"_index":17723,"title":{},"body":{"classes/PageContentDto.html":{}}}],["canceldeletionrequest",{"_index":9490,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["canceldeletionrequest(@param('requestid",{"_index":9516,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["canceldeletionrequest(requestid",{"_index":9493,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["canceling",{"_index":9495,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["cancreaterestricted",{"_index":13073,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"classes/LumiUserWithContentData.html":{}}}],["canedit",{"_index":21218,"title":{},"body":{"injectables/SystemRule.html":{}}}],["canedit(system",{"_index":21220,"title":{},"body":{"injectables/SystemRule.html":{}}}],["caninline",{"_index":5785,"title":{},"body":{"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["caninstallrecommended",{"_index":13074,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"classes/LumiUserWithContentData.html":{}}}],["canmap",{"_index":2629,"title":{},"body":{"interfaces/BaseResponseMapper.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["canmap(element",{"_index":2630,"title":{},"body":{"interfaces/BaseResponseMapper.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["cant",{"_index":25495,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["canupdateandinstalllibraries",{"_index":13075,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"classes/LumiUserWithContentData.html":{}}}],["capabilities",{"_index":25355,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["caption",{"_index":3533,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/ContentElementFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["caption(value",{"_index":11490,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["card",{"_index":3096,"title":{"classes/Card.html":{}},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardManagementUc.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/Column.html":{},"injectables/ColumnBoardService.html":{},"controllers/ColumnController.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnUc.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["card.'})@apiextramodels(externaltoolelementresponse",{"_index":4327,"title":{},"body":{"controllers/CardController.html":{}}}],["card.'})@apiresponse({status",{"_index":4333,"title":{},"body":{"controllers/CardController.html":{}}}],["card.addchild(text1",{"_index":5504,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["card.addchild(text2",{"_index":5520,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["card.addchild(text3",{"_index":5532,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["card.addchild(text4",{"_index":5538,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["card.body.params",{"_index":5600,"title":{},"body":{"controllers/ColumnController.html":{}}}],["card.body.params.ts",{"_index":7951,"title":{},"body":{"classes/CreateCardBodyParams.html":{},"classes/MoveCardBodyParams.html":{}}}],["card.body.params.ts:10",{"_index":16410,"title":{},"body":{"classes/MoveCardBodyParams.html":{}}}],["card.body.params.ts:13",{"_index":7954,"title":{},"body":{"classes/CreateCardBodyParams.html":{}}}],["card.body.params.ts:18",{"_index":16412,"title":{},"body":{"classes/MoveCardBodyParams.html":{}}}],["card.children.map((element",{"_index":4428,"title":{},"body":{"classes/CardResponseMapper.html":{}}}],["card.constructor.name",{"_index":5628,"title":{},"body":{"classes/ColumnResponseMapper.html":{}}}],["card.createdat",{"_index":4430,"title":{},"body":{"classes/CardResponseMapper.html":{}}}],["card.do",{"_index":3124,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/Column.html":{},"interfaces/ColumnProps.html":{}}}],["card.height",{"_index":4427,"title":{},"body":{"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/ColumnResponseMapper.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["card.id",{"_index":4425,"title":{},"body":{"classes/CardResponseMapper.html":{},"classes/ColumnResponseMapper.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["card.response",{"_index":4399,"title":{},"body":{"classes/CardListResponse.html":{}}}],["card.title",{"_index":4426,"title":{},"body":{"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["card.updatedat",{"_index":4429,"title":{},"body":{"classes/CardResponseMapper.html":{}}}],["cardcontroller",{"_index":3001,"title":{"controllers/CardController.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/CardController.html":{}}}],["cardid",{"_index":4446,"title":{},"body":{"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnUc.html":{}}}],["cardidparams",{"_index":4337,"title":{},"body":{"controllers/CardController.html":{}}}],["cardidparams.ids",{"_index":4365,"title":{},"body":{"controllers/CardController.html":{}}}],["cardids",{"_index":4363,"title":{},"body":{"controllers/CardController.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{}}}],["cardidsparams",{"_index":4338,"title":{"classes/CardIdsParams.html":{}},"body":{"controllers/CardController.html":{},"classes/CardIdsParams.html":{}}}],["cardlistresponse",{"_index":4355,"title":{"classes/CardListResponse.html":{}},"body":{"controllers/CardController.html":{},"classes/CardListResponse.html":{}}}],["cardlistresponse})@apiresponse({status",{"_index":4340,"title":{},"body":{"controllers/CardController.html":{}}}],["cardnode",{"_index":3443,"title":{"entities/CardNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["cardnodefactory",{"_index":3803,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["cardnodefactory.build",{"_index":3826,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["cardnodeprops",{"_index":4404,"title":{"interfaces/CardNodeProps.html":{}},"body":{"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{}}}],["cardprops",{"_index":4318,"title":{"interfaces/CardProps.html":{}},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{}}}],["cardresponse",{"_index":4397,"title":{"classes/CardResponse.html":{}},"body":{"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"controllers/ColumnController.html":{}}}],["cardresponsemapper",{"_index":4361,"title":{"classes/CardResponseMapper.html":{}},"body":{"controllers/CardController.html":{},"classes/CardResponseMapper.html":{},"controllers/ColumnController.html":{}}}],["cardresponsemapper.maptoresponse(card",{"_index":4368,"title":{},"body":{"controllers/CardController.html":{},"controllers/ColumnController.html":{}}}],["cardresponses",{"_index":4367,"title":{},"body":{"controllers/CardController.html":{}}}],["cardresponse})@apiresponse({status",{"_index":5584,"title":{},"body":{"controllers/ColumnController.html":{}}}],["cards",{"_index":3523,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/BoardManagementUc.html":{},"controllers/CardController.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{}}}],["cards.map((card",{"_index":3819,"title":{},"body":{"injectables/BoardManagementUc.html":{},"controllers/CardController.html":{}}}],["cards.some((card",{"_index":4460,"title":{},"body":{"injectables/CardService.html":{}}}],["cardservice",{"_index":3844,"title":{"injectables/CardService.html":{}},"body":{"modules/BoardModule.html":{},"injectables/BoardUc.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{}}}],["cardskeletonresponse",{"_index":4473,"title":{"classes/CardSkeletonResponse.html":{}},"body":{"classes/CardSkeletonResponse.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{}}}],["cardspercolumn",{"_index":3812,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["cardspercolumn.flat",{"_index":3816,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["carduc",{"_index":2994,"title":{"injectables/CardUc.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"injectables/CardUc.html":{},"controllers/ElementController.html":{}}}],["cardurlparams",{"_index":4326,"title":{"classes/CardUrlParams.html":{}},"body":{"controllers/CardController.html":{},"classes/CardUrlParams.html":{}}}],["care",{"_index":25530,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["careful",{"_index":25843,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["carefully",{"_index":25791,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["cares",{"_index":25622,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["carry",{"_index":24861,"title":{},"body":{"license.html":{}}}],["cartridge",{"_index":5678,"title":{},"body":{"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CourseExportUc.html":{},"classes/CourseQueryParams.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ServerConfig.html":{}}}],["cartridge.config.ts",{"_index":5675,"title":{},"body":{"interfaces/CommonCartridgeConfig.html":{}}}],["cartridge/common",{"_index":5674,"title":{},"body":{"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["cartridge/utils",{"_index":5719,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["cartridge_basiclti_link",{"_index":5861,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["cartridge_bundle",{"_index":5875,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["cartridge_icon",{"_index":5878,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["cascading",{"_index":6024,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["case",{"_index":1393,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"classes/DeletionExecutionConsole.html":{},"classes/ErrorResponse.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"classes/ImportUserScope.html":{},"injectables/LegacySystemRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskUC.html":{},"injectables/TldrawWsService.html":{},"classes/UserMatchMapper.html":{},"injectables/UserRepo.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["caseinsensitivenames",{"_index":6111,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["cases",{"_index":1224,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"modules/AuthorizationReferenceModule.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"classes/TaskFactory.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["cast",{"_index":1618,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["casttolibrariescontenttype",{"_index":13349,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["casttolibrariescontenttype(parse(librariesyamlcontent",{"_index":13365,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["catch",{"_index":1328,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/BatchDeletionService.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardManagementUc.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"injectables/EtherpadService.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolService.html":{},"classes/GlobalErrorFilter.html":{},"injectables/JwtStrategy.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LdapStrategy.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthAdapterService.html":{},"injectables/PreviewService.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/TaskCopyUC.html":{},"injectables/TldrawWsService.html":{},"injectables/ToolReferenceUc.html":{},"injectables/ToolVersionService.html":{},"injectables/UserMigrationService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["catch((error",{"_index":2405,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["catch(error",{"_index":12571,"title":{},"body":{"classes/GlobalErrorFilter.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["catcherror",{"_index":1057,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/TimeoutInterceptor.html":{}}}],["catcherror((e",{"_index":1173,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["catcherror((err",{"_index":18795,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["cause",{"_index":2105,"title":{},"body":{"classes/AxiosErrorLoggable.html":{},"classes/BusinessError.html":{},"classes/ErrorUtils.html":{},"injectables/JwtStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["causeerror",{"_index":9983,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["caution",{"_index":15154,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["cc",{"_index":1456,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"classes/CourseQueryParams.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["cdm",{"_index":9297,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["cease",{"_index":25014,"title":{},"body":{"license.html":{}}}],["ceating",{"_index":8006,"title":{},"body":{"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{}}}],["centralldap",{"_index":19932,"title":{},"body":{"classes/SchoolInUserMigrationStartLoggable.html":{}}}],["certain",{"_index":24981,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["cessation",{"_index":25024,"title":{},"body":{"license.html":{}}}],["ch.id",{"_index":3075,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["chaining",{"_index":25629,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["chains",{"_index":25253,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["chalk",{"_index":24479,"title":{},"body":{"dependencies.html":{}}}],["challenge",{"_index":4531,"title":{},"body":{"classes/ChallengeParams.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/LoginResponse-1.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderService.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["challengeparams",{"_index":4529,"title":{"classes/ChallengeParams.html":{}},"body":{"classes/ChallengeParams.html":{},"controllers/OauthProviderController.html":{}}}],["change",{"_index":5746,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"interfaces/CreateJwtPayload.html":{},"injectables/ExternalToolUc.html":{},"interfaces/ICurrentUser.html":{},"interfaces/JwtPayload.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/WsSharedDocDo.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["changed",{"_index":12087,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/WsSharedDocDo.html":{},"additional-documentation/nestjs-application.html":{}}}],["changedclients",{"_index":24381,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["changefinishedforuser",{"_index":21780,"title":{},"body":{"injectables/TaskUC.html":{}}}],["changefinishedforuser(userid",{"_index":21786,"title":{},"body":{"injectables/TaskUC.html":{}}}],["changelanguage",{"_index":23205,"title":{},"body":{"controllers/UserController.html":{}}}],["changelanguage(params",{"_index":23206,"title":{},"body":{"controllers/UserController.html":{}}}],["changelanguageparams",{"_index":4533,"title":{"classes/ChangeLanguageParams.html":{}},"body":{"classes/ChangeLanguageParams.html":{},"controllers/UserController.html":{},"injectables/UserUc.html":{}}}],["changes",{"_index":6512,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"injectables/LdapStrategy.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/WsSharedDocDo.html":{},"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["changing",{"_index":23448,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["channel",{"_index":18363,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["chapter",{"_index":2613,"title":{},"body":{"injectables/BaseRepo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["char",{"_index":18677,"title":{},"body":{"classes/ReferencesService.html":{}}}],["character",{"_index":793,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["characterized",{"_index":24961,"title":{},"body":{"license.html":{}}}],["characters",{"_index":12049,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"classes/MongoPatterns.html":{},"injectables/TemporaryFileStorage.html":{}}}],["charge",{"_index":24678,"title":{},"body":{"license.html":{}}}],["chat",{"_index":1193,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"modules/RocketChatUserModule.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["chat.module.ts",{"_index":18912,"title":{},"body":{"modules/RocketChatModule.html":{}}}],["chat.module.ts:7",{"_index":18913,"title":{},"body":{"modules/RocketChatModule.html":{}}}],["chat.service",{"_index":18915,"title":{},"body":{"modules/RocketChatModule.html":{}}}],["chat.service.ts",{"_index":1052,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["chat.service.ts:42",{"_index":18911,"title":{},"body":{"classes/RocketChatError.html":{}}}],["chat.service.ts:44",{"_index":18910,"title":{},"body":{"classes/RocketChatError.html":{}}}],["chat.service.ts:47",{"_index":18909,"title":{},"body":{"classes/RocketChatError.html":{}}}],["check",{"_index":985,"title":{},"body":{"injectables/AccountValidationService.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/CleanOptions.html":{},"interfaces/CollectionFilePath.html":{},"classes/GuardAgainst.html":{},"classes/IdentityManagementOauthService.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/LdapStrategy.html":{},"injectables/LessonUC.html":{},"interfaces/MigrationOptions.html":{},"injectables/NextcloudStrategy.html":{},"interfaces/RetryOptions.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"injectables/TldrawWsService.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["check.entity",{"_index":11562,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["check.entity.ts",{"_index":11968,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{}}}],["check.entity.ts:14",{"_index":11976,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{}}}],["check.entity.ts:17",{"_index":11972,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{}}}],["check.entity.ts:20",{"_index":11973,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{}}}],["check.entity.ts:23",{"_index":11971,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{}}}],["check.entity.ts:26",{"_index":11970,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{}}}],["check.service.ts",{"_index":16327,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["check.service.ts:16",{"_index":16338,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["check.service.ts:42",{"_index":16336,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["check.service.ts:48",{"_index":16334,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["check.service.ts:9",{"_index":16332,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["checkallpermissions",{"_index":1965,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["checkallpermissions(user",{"_index":1971,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["checkandaddprefix",{"_index":22123,"title":{},"body":{"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["checkandaddprefix(inputpath",{"_index":1663,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["checkavaiblelanguages",{"_index":23951,"title":{},"body":{"injectables/UserUc.html":{}}}],["checkavaiblelanguages(settedlanguage",{"_index":23953,"title":{},"body":{"injectables/UserUc.html":{}}}],["checkavailablelanguages",{"_index":23888,"title":{},"body":{"injectables/UserService.html":{}}}],["checkavailablelanguages(language",{"_index":23894,"title":{},"body":{"injectables/UserService.html":{}}}],["checkbrutforce",{"_index":1687,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["checkbrutforce(account",{"_index":1696,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["checkcontenttypeexists",{"_index":13307,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["checkcontenttypeexists(contenttype",{"_index":13313,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["checkcontextreadpermission",{"_index":20463,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["checkcontextreadpermission(userid",{"_index":20469,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["checkcontextrestrictions",{"_index":6977,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["checkcontextrestrictions(contextexternaltool",{"_index":6987,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["checkcreatepermission",{"_index":20464,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["checkcreatepermission(userid",{"_index":20471,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["checkcredentials",{"_index":15064,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{}}}],["checkcredentials(account",{"_index":15071,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["checkcredentials(enteredpassword",{"_index":15693,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["checkcustomparameterentries",{"_index":6059,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkcustomparameterentries(loadedexternaltool",{"_index":6068,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkdestinationcourseauthorisation",{"_index":21468,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["checkdestinationcourseauthorisation(authorizableuser",{"_index":21475,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["checkdestinationcourseauthorization",{"_index":15417,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["checkdestinationcourseauthorization(user",{"_index":15421,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["checkdestinationlessonauthorization",{"_index":21469,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["checkdestinationlessonauthorization(authorizableuser",{"_index":21478,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["checkduplicateusesincontext",{"_index":7067,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["checkduplicateusesincontext(contextexternaltool",{"_index":7070,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["checked",{"_index":1566,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/HydraSsoService.html":{}}}],["checkentitypermissions",{"_index":11235,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["checkentitypermissions(userid",{"_index":11240,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["checkerror",{"_index":12338,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{}}}],["checkerror(response",{"_index":12345,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{}}}],["checkexpired",{"_index":20432,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["checkexpired(sharetoken",{"_index":20439,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["checkfeatureenabled",{"_index":7667,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/LessonCopyUC.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{}}}],["checkfeatureenabled(parenttype",{"_index":20473,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["checkfilename",{"_index":22060,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["checkfilename(filename",{"_index":22068,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["checkforduplicateparameters",{"_index":6060,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkforduplicateparameters(validatabletool",{"_index":6072,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkforunknownparameters",{"_index":6061,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkforunknownparameters(validatabletool",{"_index":6074,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkgraceperiod",{"_index":23632,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["checkgraceperiod(userloginmigration",{"_index":23640,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["checkifpreviewpossible",{"_index":17901,"title":{},"body":{"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{}}}],["checkifpreviewpossible(filerecord",{"_index":17958,"title":{},"body":{"injectables/PreviewService.html":{}}}],["checkifpreviewpossible(original",{"_index":17906,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["checking",{"_index":12627,"title":{},"body":{"classes/GlobalValidationPipe.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["checkinputisvalid",{"_index":26099,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["checkldapcredentials",{"_index":15034,"title":{},"body":{"injectables/LdapService.html":{}}}],["checkldapcredentials(system",{"_index":15036,"title":{},"body":{"injectables/LdapService.html":{}}}],["checklist",{"_index":24632,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["checklistscontainingequalentities(first",{"_index":2961,"title":{},"body":{"entities/Board.html":{}}}],["checkofficialschoolnumbersmatch",{"_index":19952,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["checkofficialschoolnumbersmatch(schooldo",{"_index":19961,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["checkoneofpermissions",{"_index":1966,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["checkoneofpermissions(user",{"_index":1973,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["checkoptionalparameter",{"_index":6062,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkoptionalparameter(param",{"_index":6077,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkoriginallessonauthorization",{"_index":15418,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["checkoriginallessonauthorization(user",{"_index":15424,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["checkoriginaltaskauthorization",{"_index":21470,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["checkoriginaltaskauthorization(authorizableuser",{"_index":21481,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["checkout",{"_index":24636,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["checkparameterregex",{"_index":6063,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkparameterregex(foundentry",{"_index":6080,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkparametertype",{"_index":6064,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkparametertype(foundentry",{"_index":6082,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkparentwritepermission",{"_index":20465,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["checkparentwritepermission(userid",{"_index":20475,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["checkpermission",{"_index":1967,"title":{},"body":{"injectables/AuthorizationService.html":{},"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["checkpermission(user",{"_index":1975,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["checkpermission(userid",{"_index":2643,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{}}}],["checkpermissionbyreferences",{"_index":1947,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["checkpermissionbyreferences(userid",{"_index":1951,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["checkpreconditions",{"_index":20578,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["checkpreconditions(userid",{"_index":20581,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["checkresponsevalidation",{"_index":19520,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["checkresponsevalidation(response",{"_index":19528,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["checks",{"_index":4873,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/IdentityManagementOauthService.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"injectables/ShareTokenUC.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["checkshorttitle",{"_index":8461,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["checkstream",{"_index":1294,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["checkstream(stream",{"_index":1301,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["checkstreamresponsive",{"_index":19318,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["checkstreamresponsive(stream",{"_index":19327,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["checksubmissionitemwritepermission",{"_index":2638,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["checksubmissionitemwritepermission(userid",{"_index":2647,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["checksum",{"_index":2356,"title":{},"body":{"injectables/BBBService.html":{}}}],["checkvalidityofparameters",{"_index":6065,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkvalidityofparameters(validatabletool",{"_index":6084,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["checkvalue",{"_index":15065,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["checkvalue(value",{"_index":15073,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["checkversionmatch",{"_index":19888,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["checkversionmatch(schoolexternaltoolversion",{"_index":19889,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["child",{"_index":3047,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"injectables/BoardDoService.html":{},"classes/BoardResponseMapper.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnResponseMapper.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["child.accept(this",{"_index":18562,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["child.acceptasync(this",{"_index":18472,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["child.constructor.name",{"_index":3066,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["child.id",{"_index":3076,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["childcopy",{"_index":18479,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["childid",{"_index":3615,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["children",{"_index":3035,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"injectables/CardService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementFactory.html":{},"injectables/ElementUc.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["children.length",{"_index":3560,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["children.map((element",{"_index":20852,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["children.sort((a",{"_index":3556,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["childrenmap",{"_index":3478,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{}}}],["childrenmap[boardnode.pathofchildren",{"_index":3637,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["childstatus",{"_index":18475,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["childstatusses",{"_index":18473,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["childstatusses.push(childstatus",{"_index":18477,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["choose",{"_index":25155,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["choosing",{"_index":25157,"title":{},"body":{"license.html":{}}}],["chunk",{"_index":24552,"title":{},"body":{"dependencies.html":{}}}],["circumstances",{"_index":24814,"title":{},"body":{"license.html":{}}}],["circumvention",{"_index":24821,"title":{},"body":{"license.html":{}}}],["civil",{"_index":25195,"title":{},"body":{"license.html":{}}}],["cjs",{"_index":14396,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{}}}],["cjs/keycloak",{"_index":14395,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{}}}],["claim",{"_index":14640,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"license.html":{}}}],["claim.name",{"_index":14649,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["claims",{"_index":25074,"title":{},"body":{"license.html":{}}}],["clamconnection",{"_index":1299,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["clamdscan",{"_index":1281,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["clamscan",{"_index":1263,"title":{},"body":{"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"dependencies.html":{}}}],["class",{"_index":0,"title":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"classes/AcceptQuery.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/AuthenticationValues.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"classes/AuthorizationParams.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"classes/BaseDO.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"classes/BoardContextResponse.html":{},"classes/BoardDoAuthorizable.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"classes/CalendarEventDto.html":{},"classes/Card.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"classes/CardSkeletonResponse.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"classes/ColumnUrlParams.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContentElementResponseFactory.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CopyMapper.html":{},"classes/County.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/CourseQueryParams.html":{},"classes/CourseScope.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeleteFilesConsole.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/DeletionLog.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"classes/ElementContentBody.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorMapper.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"classes/ExternalToolSortingMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/ExternalUserDto.html":{},"classes/FileContentBody.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"classes/FileUrlParams.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilesStorageMapper.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GetMetaTagDataBody.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"classes/GroupIdParams.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"classes/GroupUserResponse.html":{},"classes/GroupValidPeriodEntity.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PErrorMapper.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/H5pFileDto.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/HydraRedirectDto.html":{},"classes/IdParams.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"classes/JwtExtractor.html":{},"classes/JwtTestFactory.html":{},"classes/KeycloakAdministration.html":{},"classes/KeycloakConfiguration.html":{},"classes/KeycloakConsole.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"classes/LdapUserMigrationException.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonCopyApiParams.html":{},"classes/LessonFactory.html":{},"classes/LessonScope.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"classes/LoggingUtils.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"classes/LumiUserWithContentData.html":{},"classes/MaterialFactory.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"classes/NewsUrlParams.html":{},"classes/NotFoundLoggableException.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/OauthProviderService.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"classes/PreviewParams.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"classes/ProvisioningDto.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymParams.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"classes/RequestInfo.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"classes/RocketChatUser.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"classes/RoleReference.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"classes/RpcMessageProducer.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolRefDO.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"classes/Scope.html":{},"classes/ScopeRef.html":{},"classes/ServerConsole.html":{},"classes/SetHeightBodyParams.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"classes/StringValidator.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"classes/SuccessfulResponse.html":{},"classes/System.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/SystemResponseMapper.html":{},"classes/SystemScope.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"classes/TeamFactory.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"classes/TimestampsResponse.html":{},"classes/TldrawDeleteParams.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolConfiguration.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserDO.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{}},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"modules/AccountApiModule.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"modules/AuthenticationApiModule.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizableObject.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"modules/AuthorizationModule.html":{},"classes/AuthorizationParams.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"modules/BoardApiModule.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"modules/ClassModule.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"injectables/CopyFilesService.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"modules/CoreModule.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"modules/ErrorModule.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/FileContentBody.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{},"classes/FileUrlParams.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/GetMetaTagDataBody.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"modules/GroupModule.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/IToolFeatures.html":{},"classes/IdParams.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtAuthGuard.html":{},"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/LessonApiModule.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"modules/LessonModule.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"modules/NewsModule.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthApiModule.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"classes/ProvisioningDto.html":{},"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"modules/PseudonymModule.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"modules/RocketChatUserModule.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"modules/RoleModule.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.html":{},"classes/ScopeRef.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"classes/SuccessfulResponse.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"modules/TaskApiModule.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"modules/TaskModule.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawClientModule.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"modules/UserApiModule.html":{},"interfaces/UserBoardRoles.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"modules/ValidationModule.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"dependencies.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["class.do",{"_index":4652,"title":{},"body":{"classes/ClassFactory.html":{}}}],["classattributenamemapping",{"_index":14996,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["classentity",{"_index":4591,"title":{"entities/ClassEntity.html":{}},"body":{"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassMapper.html":{},"injectables/ClassesRepo.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["classentityfactory",{"_index":4637,"title":{"classes/ClassEntityFactory.html":{}},"body":{"classes/ClassEntityFactory.html":{}}}],["classentityfactory.define(classentity",{"_index":4644,"title":{},"body":{"classes/ClassEntityFactory.html":{}}}],["classentityprops",{"_index":4610,"title":{"interfaces/ClassEntityProps.html":{}},"body":{"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{}}}],["classes",{"_index":2,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"classes/AcceptQuery.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/AuthenticationValues.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"classes/AuthorizationParams.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"classes/BaseDO.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"classes/BoardContextResponse.html":{},"classes/BoardDoAuthorizable.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"classes/CalendarEventDto.html":{},"classes/Card.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"classes/CardSkeletonResponse.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"injectables/ClassesRepo.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"classes/ColumnUrlParams.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContentElementResponseFactory.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CopyMapper.html":{},"classes/County.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"classes/CourseScope.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeleteFilesConsole.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/DeletionLog.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"classes/ElementContentBody.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorMapper.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"classes/ExternalToolSortingMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/ExternalUserDto.html":{},"classes/FileContentBody.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"classes/FileUrlParams.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilesStorageMapper.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GetMetaTagDataBody.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"classes/GroupIdParams.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"classes/GroupUserResponse.html":{},"classes/GroupValidPeriodEntity.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PErrorMapper.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/H5pFileDto.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/HydraRedirectDto.html":{},"interfaces/IImportUserScope.html":{},"classes/IdParams.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"classes/JwtExtractor.html":{},"classes/JwtTestFactory.html":{},"classes/KeycloakAdministration.html":{},"classes/KeycloakConfiguration.html":{},"classes/KeycloakConsole.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"classes/LdapUserMigrationException.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonCopyApiParams.html":{},"classes/LessonFactory.html":{},"classes/LessonScope.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"classes/LoggingUtils.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"classes/LumiUserWithContentData.html":{},"classes/MaterialFactory.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"classes/NewsUrlParams.html":{},"classes/NotFoundLoggableException.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/OauthProviderService.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"classes/PreviewParams.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"classes/ProvisioningDto.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymParams.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"classes/RequestInfo.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"classes/RocketChatUser.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"classes/RoleReference.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"classes/RpcMessageProducer.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolRefDO.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"classes/Scope.html":{},"classes/ScopeRef.html":{},"classes/ServerConsole.html":{},"classes/SetHeightBodyParams.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"classes/StringValidator.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"classes/SuccessfulResponse.html":{},"classes/System.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/SystemResponseMapper.html":{},"classes/SystemScope.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"classes/TeamFactory.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"classes/TimestampsResponse.html":{},"classes/TldrawDeleteParams.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolConfiguration.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserDO.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["classes.map((clazz",{"_index":4822,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["classes.replace(mongopatterns.regex_mongo_language_pattern_whitelist",{"_index":14161,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["classesrepo",{"_index":4760,"title":{"injectables/ClassesRepo.html":{}},"body":{"modules/ClassModule.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{}}}],["classfactory",{"_index":4647,"title":{"classes/ClassFactory.html":{}},"body":{"classes/ClassFactory.html":{}}}],["classfactory.define(class",{"_index":4653,"title":{},"body":{"classes/ClassFactory.html":{}}}],["classfilterparams",{"_index":4654,"title":{"classes/ClassFilterParams.html":{}},"body":{"classes/ClassFilterParams.html":{},"controllers/GroupController.html":{}}}],["classid",{"_index":4829,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["classids",{"_index":7459,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["classinfo",{"_index":12884,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.externalsourcename",{"_index":12896,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.id",{"_index":12893,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.isupgradable",{"_index":12899,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.name",{"_index":12895,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.schoolyear",{"_index":12898,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.studentcount",{"_index":12900,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.teachernames",{"_index":12897,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfo.type",{"_index":12894,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfodto",{"_index":4662,"title":{"classes/ClassInfoDto.html":{}},"body":{"classes/ClassInfoDto.html":{},"controllers/GroupController.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{}}}],["classinforesponse",{"_index":4690,"title":{"classes/ClassInfoResponse.html":{}},"body":{"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/GroupResponseMapper.html":{}}}],["classinfos",{"_index":12881,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfos.data.map((classinfo",{"_index":12890,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfos.total",{"_index":12892,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["classinfosearchlistresponse",{"_index":4704,"title":{"classes/ClassInfoSearchListResponse.html":{}},"body":{"classes/ClassInfoSearchListResponse.html":{},"controllers/GroupController.html":{},"classes/GroupResponseMapper.html":{}}}],["classinfosearchlistresponse})@apiresponse({status",{"_index":12714,"title":{},"body":{"controllers/GroupController.html":{}}}],["classmap",{"_index":4821,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["classmap.get(entity.id",{"_index":4834,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["classmapper",{"_index":4706,"title":{"classes/ClassMapper.html":{}},"body":{"classes/ClassMapper.html":{},"injectables/ClassesRepo.html":{}}}],["classmapper.maptodos(classes",{"_index":4820,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["classmapper.maptoentity(updateddomainobject",{"_index":4836,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["classmodule",{"_index":4755,"title":{"modules/ClassModule.html":{}},"body":{"modules/ClassModule.html":{},"modules/DeletionApiModule.html":{},"modules/GroupApiModule.html":{}}}],["classname",{"_index":11267,"title":{},"body":{"interfaces/FeathersError.html":{},"classes/GlobalErrorFilter.html":{}}}],["classnames",{"_index":13807,"title":{},"body":{"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{}}}],["classpathadditions",{"_index":14986,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["classprops",{"_index":4577,"title":{"interfaces/ClassProps.html":{}},"body":{"classes/Class.html":{},"classes/ClassFactory.html":{},"interfaces/ClassProps.html":{}}}],["classroottype",{"_index":4677,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/GroupUcMapper.html":{}}}],["classroottype.class",{"_index":12983,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["classroottype.group",{"_index":12972,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["classserializerinterceptor",{"_index":14198,"title":{},"body":{"modules/InterceptorModule.html":{}}}],["classservice",{"_index":4759,"title":{"injectables/ClassService.html":{}},"body":{"modules/ClassModule.html":{},"injectables/ClassService.html":{}}}],["classsortby",{"_index":4787,"title":{},"body":{"classes/ClassSortParams.html":{}}}],["classsortparams",{"_index":4784,"title":{"classes/ClassSortParams.html":{}},"body":{"classes/ClassSortParams.html":{},"controllers/GroupController.html":{}}}],["classsourceoptions",{"_index":4575,"title":{"classes/ClassSourceOptions.html":{}},"body":{"classes/Class.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"classes/ClassSourceOptions.html":{},"interfaces/ClassSourceOptionsProps.html":{}}}],["classsourceoptionsentity",{"_index":4600,"title":{"classes/ClassSourceOptionsEntity.html":{}},"body":{"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{}}}],["classsourceoptionsentityprops",{"_index":4802,"title":{"interfaces/ClassSourceOptionsEntityProps.html":{}},"body":{"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{}}}],["classsourceoptionsprops",{"_index":4795,"title":{"interfaces/ClassSourceOptionsProps.html":{}},"body":{"classes/ClassSourceOptions.html":{},"interfaces/ClassSourceOptionsProps.html":{}}}],["classvalidatormetadatastorage",{"_index":9864,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["clause",{"_index":811,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["clazz",{"_index":4824,"title":{},"body":{"injectables/ClassesRepo.html":{},"classes/GroupUcMapper.html":{}}}],["clazz.gradelevel",{"_index":12979,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["clazz.gradelevel}${clazz.name",{"_index":12980,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["clazz.id",{"_index":4823,"title":{},"body":{"injectables/ClassesRepo.html":{},"classes/GroupUcMapper.html":{}}}],["clazz.name",{"_index":12981,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["clazz.source",{"_index":12984,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["clazz.successor",{"_index":12982,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["clazz.userids",{"_index":12987,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["clazz.userids.length",{"_index":12988,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["clean",{"_index":4879,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/FileRecordMapper.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"classes/KeycloakSeedService.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["clean(options",{"_index":4884,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["clean(pagesize",{"_index":14654,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakSeedService.html":{}}}],["cleanoptions",{"_index":4839,"title":{"interfaces/CleanOptions.html":{}},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["cleans",{"_index":4878,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["cleanup",{"_index":7504,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/DeleteFilesConsole.html":{},"injectables/TaskCopyUC.html":{},"classes/UsersList.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["cleanupinput",{"_index":15690,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["cleanupinput(username",{"_index":15697,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["cleanuppath",{"_index":22124,"title":{},"body":{"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["cleanuppath(inputpath",{"_index":1666,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["clear",{"_index":5238,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/IdentityManagementService.html":{},"license.html":{}}}],["clearcollection",{"_index":8831,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["clearcollection(collectionname",{"_index":8838,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["clearinterval(pinginterval",{"_index":22545,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["clearly",{"_index":25496,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["cleartimeout(timer",{"_index":19440,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["cli",{"_index":25394,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["click",{"_index":24090,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["client",{"_index":2802,"title":{},"body":{"injectables/BatchDeletionService.html":{},"modules/BoardModule.html":{},"classes/BusinessError.html":{},"modules/CacheWrapperModule.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"injectables/DeletionExecutionUc.html":{},"classes/DeletionQueueConsole.html":{},"classes/ExternalToolSearchParams.html":{},"injectables/ExternalToolValidationService.html":{},"classes/FileDto.html":{},"classes/FileResponseBuilder.html":{},"interfaces/FileStorageConfig.html":{},"interfaces/FilesStorageClientConfig.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"classes/H5pFileDto.html":{},"classes/IdParams.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/LdapService.html":{},"entities/LessonEntity.html":{},"modules/LessonModule.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonService.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{},"interfaces/PreviewConfig.html":{},"classes/PreviewGeneratorBuilder.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"injectables/PreviewService.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"injectables/RecursiveDeleteVisitor.html":{},"modules/RedisModule.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/RevokeConsentParams.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"interfaces/ServerConfig.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/SubmissionService.html":{},"classes/SystemEntityFactory.html":{},"interfaces/TargetGroupProperties.html":{},"injectables/TaskCopyService.html":{},"modules/TaskModule.html":{},"injectables/TaskService.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestHelper.html":{},"classes/TldrawWs.html":{},"classes/VideoConferenceCreateParams.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["client.adapter",{"_index":19448,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["client.adapter.ts",{"_index":19316,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:113",{"_index":19346,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:136",{"_index":19348,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:157",{"_index":19330,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:181",{"_index":19335,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:201",{"_index":19342,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:213",{"_index":19344,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:23",{"_index":19326,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:243",{"_index":19340,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:265",{"_index":19337,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:292",{"_index":19328,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:34",{"_index":19333,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:51",{"_index":19338,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.adapter.ts:84",{"_index":19332,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["client.bind(username",{"_index":15056,"title":{},"body":{"injectables/LdapService.html":{}}}],["client.body.ts",{"_index":17005,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:10",{"_index":17008,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:15",{"_index":17009,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:20",{"_index":17010,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:26",{"_index":17015,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:36",{"_index":17035,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:46",{"_index":17029,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:56",{"_index":17024,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:65",{"_index":17013,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:71",{"_index":17014,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.body.ts:77",{"_index":17016,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client.close",{"_index":22412,"title":{},"body":{"classes/TldrawWs.html":{}}}],["client.config",{"_index":9069,"title":{},"body":{"modules/DeletionConsoleModule.html":{}}}],["client.getsigningkey",{"_index":16983,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["client.histogram",{"_index":18774,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["client.interface",{"_index":18079,"title":{},"body":{"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["client.mapper",{"_index":11718,"title":{},"body":{"classes/FileParamBuilder.html":{}}}],["client.mapper.ts",{"_index":12195,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["client.mapper.ts:17",{"_index":12203,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["client.mapper.ts:27",{"_index":12211,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["client.mapper.ts:39",{"_index":12205,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["client.mapper.ts:49",{"_index":12213,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["client.mapper.ts:62",{"_index":12207,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["client.mapper.ts:7",{"_index":12209,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["client.module.ts",{"_index":12236,"title":{},"body":{"modules/FilesStorageClientModule.html":{},"modules/S3ClientModule.html":{},"modules/TldrawClientModule.html":{}}}],["client.module.ts:25",{"_index":19447,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["client.on('connect",{"_index":4236,"title":{},"body":{"modules/CacheWrapperModule.html":{},"injectables/LdapService.html":{},"modules/RedisModule.html":{}}}],["client.on('error",{"_index":4234,"title":{},"body":{"modules/CacheWrapperModule.html":{},"injectables/LdapService.html":{},"modules/RedisModule.html":{}}}],["client.response",{"_index":6302,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{}}}],["client.send(deletioncommand",{"_index":8968,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["client.service",{"_index":7291,"title":{},"body":{"injectables/CopyFilesService.html":{},"modules/FilesStorageClientModule.html":{}}}],["client.service.ts",{"_index":12172,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["client.service.ts:11",{"_index":12178,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["client.service.ts:16",{"_index":12180,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["client.service.ts:23",{"_index":12184,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["client.service.ts:31",{"_index":12182,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["client.ts",{"_index":1604,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["client.ts:104",{"_index":22139,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:110",{"_index":22130,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:120",{"_index":22131,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:129",{"_index":22136,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:136",{"_index":22138,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:14",{"_index":22199,"title":{},"body":{"classes/TestXApiKeyClient.html":{}}}],["client.ts:142",{"_index":22135,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:21",{"_index":22198,"title":{},"body":{"classes/TestXApiKeyClient.html":{}}}],["client.ts:26",{"_index":22128,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:28",{"_index":22129,"title":{},"body":{"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["client.ts:30",{"_index":22127,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:38",{"_index":22134,"title":{},"body":{"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["client.ts:44",{"_index":22197,"title":{},"body":{"classes/TestXApiKeyClient.html":{}}}],["client.ts:45",{"_index":22132,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:5",{"_index":22196,"title":{},"body":{"classes/TestXApiKeyClient.html":{}}}],["client.ts:54",{"_index":22143,"title":{},"body":{"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["client.ts:63",{"_index":22200,"title":{},"body":{"classes/TestXApiKeyClient.html":{}}}],["client.ts:64",{"_index":22141,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:7",{"_index":22195,"title":{},"body":{"classes/TestXApiKeyClient.html":{}}}],["client.ts:74",{"_index":22142,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client.ts:84",{"_index":22140,"title":{},"body":{"classes/TestApiClient.html":{}}}],["client/deletion",{"_index":9068,"title":{},"body":{"modules/DeletionConsoleModule.html":{}}}],["client/dto",{"_index":20053,"title":{},"body":{"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["client/dto/copy",{"_index":7161,"title":{},"body":{"classes/CopyFileDto.html":{}}}],["client/dto/file.dto.ts",{"_index":11452,"title":{},"body":{"classes/FileDto-1.html":{}}}],["client/dto/file.dto.ts:10",{"_index":11456,"title":{},"body":{"classes/FileDto-1.html":{}}}],["client/dto/file.dto.ts:12",{"_index":11453,"title":{},"body":{"classes/FileDto-1.html":{}}}],["client/dto/file.dto.ts:6",{"_index":11454,"title":{},"body":{"classes/FileDto-1.html":{}}}],["client/dto/file.dto.ts:8",{"_index":11455,"title":{},"body":{"classes/FileDto-1.html":{}}}],["client/files",{"_index":12235,"title":{},"body":{"modules/FilesStorageClientModule.html":{}}}],["client/interface/index.ts",{"_index":7242,"title":{},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/S3Config.html":{}}}],["client/interfaces/copy",{"_index":7158,"title":{},"body":{"interfaces/CopyFileDomainObjectProps.html":{},"interfaces/CopyFilesRequestInfo.html":{}}}],["client/interfaces/file",{"_index":11441,"title":{},"body":{"interfaces/FileDomainObjectProps.html":{},"interfaces/FileRequestInfo.html":{}}}],["client/interfaces/files",{"_index":12194,"title":{},"body":{"interfaces/FilesStorageClientConfig.html":{}}}],["client/lib/defs/authenticationexecutioninforepresentation",{"_index":14533,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["client/lib/defs/authenticationflowrepresentation",{"_index":14535,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["client/lib/defs/clientrepresentation",{"_index":14537,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["client/lib/defs/identityprovidermapperrepresentation",{"_index":14538,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["client/lib/defs/identityproviderrepresentation",{"_index":14539,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["client/lib/defs/protocolmapperrepresentation",{"_index":14540,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["client/lib/defs/userrepresentation",{"_index":14739,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["client/mapper/copy",{"_index":7260,"title":{},"body":{"classes/CopyFilesOfParentParamBuilder.html":{}}}],["client/mapper/files",{"_index":11714,"title":{},"body":{"classes/FileParamBuilder.html":{},"classes/FilesStorageClientMapper.html":{}}}],["client/s3",{"_index":19315,"title":{},"body":{"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{}}}],["client/service/copy",{"_index":7273,"title":{},"body":{"injectables/CopyFilesService.html":{},"injectables/TaskCopyService.html":{}}}],["client/service/drawing",{"_index":3855,"title":{},"body":{"modules/BoardModule.html":{},"injectables/DrawingElementAdapterService.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["client/service/files",{"_index":12171,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageProducer.html":{}}}],["client/tldraw",{"_index":22298,"title":{},"body":{"modules/TldrawClientModule.html":{}}}],["client_id",{"_index":1495,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/ConsentSessionResponse.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/HydraSsoService.html":{},"interfaces/IntrospectResponse.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LoginResponse-1.html":{},"classes/OauthClientBody.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"classes/TokenRequestMapper.html":{}}}],["client_name",{"_index":6306,"title":{},"body":{"classes/ConsentSessionResponse.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ListOauthClientsParams.html":{},"classes/OauthClientBody.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/OauthProviderService.html":{}}}],["client_secret",{"_index":1496,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/OauthClientBody.html":{},"classes/TokenRequestMapper.html":{}}}],["client_secret_basic",{"_index":17033,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["client_secret_post",{"_index":17032,"title":{},"body":{"classes/OauthClientBody.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["clientauthmethod",{"_index":17568,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["clientid",{"_index":6310,"title":{},"body":{"classes/ConsentSessionResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/HydraSsoService.html":{},"interfaces/IKeycloakSettings.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfigEntity.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolService.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderUc.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/SystemResponseMapper.html":{},"classes/TokenRequestMapper.html":{},"additional-documentation/nestjs-application.html":{}}}],["clientinternalid",{"_index":14442,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["clientname",{"_index":6308,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["clientrepresentation",{"_index":14536,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["clients",{"_index":8951,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"classes/ListOauthClientsParams.html":{},"controllers/OauthProviderController.html":{},"classes/WsSharedDocDo.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["clients.map",{"_index":17319,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["clients.params.ts",{"_index":15674,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["clients.params.ts:16",{"_index":15679,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["clients.params.ts:27",{"_index":15682,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["clients.params.ts:36",{"_index":15675,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["clients.params.ts:45",{"_index":15683,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["clients_configuration_path='/tmp/config/clients",{"_index":25888,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["clientsecret",{"_index":8260,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/HydraSsoService.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfigEntity.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["clientsecret.value",{"_index":14446,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["clienttype",{"_index":2321,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["clienturl",{"_index":1041,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"injectables/ColumnBoardService.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["clock",{"_index":22339,"title":{},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["clone",{"_index":511,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["clone(this",{"_index":551,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["clone>(this",{"_index":2601,"title":{},"body":{"classes/BaseFactory.html":{}}}],["close",{"_index":18369,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["closeconn",{"_index":22442,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["closeconn(doc",{"_index":22449,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["closed",{"_index":21624,"title":{},"body":{"injectables/TaskRepo.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["closed.loggable",{"_index":23398,"title":{},"body":{"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{}}}],["closedat",{"_index":23400,"title":{},"body":{"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["closeddraftsforcreator",{"_index":21628,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closeddraftsforcreator.addquery(parentsopen.query",{"_index":21629,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closeddraftsforcreator.bycreatorid(parentids.creatorid",{"_index":21631,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closeddraftsforcreator.byfinished(parentids.creatorid",{"_index":21630,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closedforopencoursesandlessons",{"_index":21617,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closedforopencoursesandlessons.addquery(parentsopen.query",{"_index":21618,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closedforopencoursesandlessons.bydraft(false",{"_index":21619,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closedforopencoursesandlessons.byfinished(parentids.creatorid",{"_index":21620,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closedwithoutparentforcreator",{"_index":21625,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closedwithoutparentforcreator.byfinished(parentids.creatorid",{"_index":21626,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closedwithoutparentforcreator.byonlycreatorid(parentids.creatorid",{"_index":21627,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["closely",{"_index":25192,"title":{},"body":{"license.html":{}}}],["closemigration",{"_index":4926,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationService.html":{}}}],["closemigration(@currentuser",{"_index":23499,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["closemigration(currentuser",{"_index":23417,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["closemigration(userid",{"_index":4932,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{}}}],["closemigration(userloginmigration",{"_index":23641,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["closeuserloginmigrationuc",{"_index":4922,"title":{"injectables/CloseUserLoginMigrationUc.html":{}},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{}}}],["closing",{"_index":25806,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["cloud",{"_index":16750,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["cloud.github.io/schulcloud",{"_index":25269,"title":{},"body":{"todo.html":{}}}],["cloud/commons",{"_index":2221,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"interfaces/CollectionFilePath.html":{},"injectables/CourseCopyUC.html":{},"modules/DeletionApiModule.html":{},"interfaces/FileStorageConfig.html":{},"modules/FilesStorageModule.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"injectables/LessonCopyUC.html":{},"controllers/OauthProviderController.html":{},"classes/PrometheusMetricsConfig.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"interfaces/ServerConfig.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TldrawConfig.html":{},"dependencies.html":{}}}],["cloud/commons/lib",{"_index":4212,"title":{},"body":{"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarService.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"injectables/ColumnBoardService.html":{},"interfaces/CopyFileDO.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DtoCreator.html":{},"interfaces/FileDO.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/HydraSsoService.html":{},"interfaces/IToolFeatures.html":{},"classes/KeycloakAdministration.html":{},"modules/ManagementModule.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PseudonymService.html":{},"modules/RedisModule.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsService.html":{},"injectables/SanisProvisioningStrategy.html":{},"modules/ServerConsoleModule.html":{},"injectables/ShareTokenUC.html":{},"classes/ToolConfiguration.html":{},"injectables/UserLoginMigrationService.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["cloud/dof_app_deploy/blob/main/ansible/roles/rocketchat/templates/configmap.yml.j2#l9",{"_index":25934,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["cloud/erwin",{"_index":25316,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["cloud/node",{"_index":24520,"title":{},"body":{"dependencies.html":{}}}],["cloud/sc",{"_index":25896,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["cloud/schulcloud",{"_index":25248,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["cluster_accountapimodule",{"_index":261,"title":{},"body":{"modules/AccountApiModule.html":{}}}],["cluster_accountapimodule_imports",{"_index":262,"title":{},"body":{"modules/AccountApiModule.html":{}}}],["cluster_accountapimodule_providers",{"_index":263,"title":{},"body":{"modules/AccountApiModule.html":{}}}],["cluster_accountmodule",{"_index":661,"title":{},"body":{"modules/AccountModule.html":{}}}],["cluster_accountmodule_exports",{"_index":662,"title":{},"body":{"modules/AccountModule.html":{}}}],["cluster_accountmodule_imports",{"_index":663,"title":{},"body":{"modules/AccountModule.html":{}}}],["cluster_accountmodule_providers",{"_index":664,"title":{},"body":{"modules/AccountModule.html":{}}}],["cluster_adminapiservermodule",{"_index":1008,"title":{},"body":{"modules/AdminApiServerModule.html":{}}}],["cluster_adminapiservermodule_imports",{"_index":1009,"title":{},"body":{"modules/AdminApiServerModule.html":{}}}],["cluster_adminapiservertestmodule",{"_index":1046,"title":{},"body":{"modules/AdminApiServerTestModule.html":{}}}],["cluster_adminapiservertestmodule_imports",{"_index":1047,"title":{},"body":{"modules/AdminApiServerTestModule.html":{}}}],["cluster_authenticationapimodule",{"_index":1481,"title":{},"body":{"modules/AuthenticationApiModule.html":{}}}],["cluster_authenticationapimodule_imports",{"_index":1483,"title":{},"body":{"modules/AuthenticationApiModule.html":{}}}],["cluster_authenticationapimodule_providers",{"_index":1482,"title":{},"body":{"modules/AuthenticationApiModule.html":{}}}],["cluster_authenticationmodule",{"_index":1518,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["cluster_authenticationmodule_exports",{"_index":1521,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["cluster_authenticationmodule_imports",{"_index":1520,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["cluster_authenticationmodule_providers",{"_index":1519,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["cluster_authorizationmodule",{"_index":1857,"title":{},"body":{"modules/AuthorizationModule.html":{}}}],["cluster_authorizationmodule_exports",{"_index":1860,"title":{},"body":{"modules/AuthorizationModule.html":{}}}],["cluster_authorizationmodule_imports",{"_index":1859,"title":{},"body":{"modules/AuthorizationModule.html":{}}}],["cluster_authorizationmodule_providers",{"_index":1858,"title":{},"body":{"modules/AuthorizationModule.html":{}}}],["cluster_authorizationreferencemodule",{"_index":1903,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["cluster_authorizationreferencemodule_exports",{"_index":1905,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["cluster_authorizationreferencemodule_imports",{"_index":1904,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["cluster_authorizationreferencemodule_providers",{"_index":1906,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["cluster_boardapimodule",{"_index":2990,"title":{},"body":{"modules/BoardApiModule.html":{}}}],["cluster_boardapimodule_imports",{"_index":2991,"title":{},"body":{"modules/BoardApiModule.html":{}}}],["cluster_boardapimodule_providers",{"_index":2992,"title":{},"body":{"modules/BoardApiModule.html":{}}}],["cluster_boardmodule",{"_index":3836,"title":{},"body":{"modules/BoardModule.html":{}}}],["cluster_boardmodule_exports",{"_index":3839,"title":{},"body":{"modules/BoardModule.html":{}}}],["cluster_boardmodule_imports",{"_index":3838,"title":{},"body":{"modules/BoardModule.html":{}}}],["cluster_boardmodule_providers",{"_index":3837,"title":{},"body":{"modules/BoardModule.html":{}}}],["cluster_cachewrappermodule",{"_index":4218,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["cluster_cachewrappermodule_exports",{"_index":4219,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["cluster_cachewrappermodule_providers",{"_index":4220,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["cluster_calendarmodule",{"_index":4267,"title":{},"body":{"modules/CalendarModule.html":{}}}],["cluster_calendarmodule_exports",{"_index":4268,"title":{},"body":{"modules/CalendarModule.html":{}}}],["cluster_calendarmodule_providers",{"_index":4269,"title":{},"body":{"modules/CalendarModule.html":{}}}],["cluster_classmodule",{"_index":4756,"title":{},"body":{"modules/ClassModule.html":{}}}],["cluster_classmodule_exports",{"_index":4758,"title":{},"body":{"modules/ClassModule.html":{}}}],["cluster_classmodule_providers",{"_index":4757,"title":{},"body":{"modules/ClassModule.html":{}}}],["cluster_collaborativestorageadaptermodule",{"_index":5017,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["cluster_collaborativestorageadaptermodule_exports",{"_index":5020,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["cluster_collaborativestorageadaptermodule_imports",{"_index":5019,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["cluster_collaborativestorageadaptermodule_providers",{"_index":5018,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["cluster_collaborativestoragemodule",{"_index":5069,"title":{},"body":{"modules/CollaborativeStorageModule.html":{}}}],["cluster_collaborativestoragemodule_exports",{"_index":5070,"title":{},"body":{"modules/CollaborativeStorageModule.html":{}}}],["cluster_collaborativestoragemodule_imports",{"_index":5071,"title":{},"body":{"modules/CollaborativeStorageModule.html":{}}}],["cluster_collaborativestoragemodule_providers",{"_index":5072,"title":{},"body":{"modules/CollaborativeStorageModule.html":{}}}],["cluster_commontoolmodule",{"_index":6014,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["cluster_commontoolmodule_exports",{"_index":6016,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["cluster_commontoolmodule_imports",{"_index":6017,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["cluster_commontoolmodule_providers",{"_index":6015,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["cluster_consolewritermodule",{"_index":6317,"title":{},"body":{"modules/ConsoleWriterModule.html":{}}}],["cluster_consolewritermodule_exports",{"_index":6318,"title":{},"body":{"modules/ConsoleWriterModule.html":{}}}],["cluster_consolewritermodule_providers",{"_index":6319,"title":{},"body":{"modules/ConsoleWriterModule.html":{}}}],["cluster_contextexternaltoolmodule",{"_index":6758,"title":{},"body":{"modules/ContextExternalToolModule.html":{}}}],["cluster_contextexternaltoolmodule_exports",{"_index":6759,"title":{},"body":{"modules/ContextExternalToolModule.html":{}}}],["cluster_contextexternaltoolmodule_imports",{"_index":6760,"title":{},"body":{"modules/ContextExternalToolModule.html":{}}}],["cluster_contextexternaltoolmodule_providers",{"_index":6761,"title":{},"body":{"modules/ContextExternalToolModule.html":{}}}],["cluster_copyhelpermodule",{"_index":7318,"title":{},"body":{"modules/CopyHelperModule.html":{}}}],["cluster_copyhelpermodule_exports",{"_index":7320,"title":{},"body":{"modules/CopyHelperModule.html":{}}}],["cluster_copyhelpermodule_providers",{"_index":7319,"title":{},"body":{"modules/CopyHelperModule.html":{}}}],["cluster_coremodule",{"_index":7400,"title":{},"body":{"modules/CoreModule.html":{}}}],["cluster_coremodule_exports",{"_index":7401,"title":{},"body":{"modules/CoreModule.html":{}}}],["cluster_coremodule_imports",{"_index":7402,"title":{},"body":{"modules/CoreModule.html":{}}}],["cluster_databasemanagementmodule",{"_index":8824,"title":{},"body":{"modules/DatabaseManagementModule.html":{}}}],["cluster_databasemanagementmodule_exports",{"_index":8826,"title":{},"body":{"modules/DatabaseManagementModule.html":{}}}],["cluster_databasemanagementmodule_providers",{"_index":8825,"title":{},"body":{"modules/DatabaseManagementModule.html":{}}}],["cluster_deletionapimodule",{"_index":8969,"title":{},"body":{"modules/DeletionApiModule.html":{}}}],["cluster_deletionapimodule_imports",{"_index":8970,"title":{},"body":{"modules/DeletionApiModule.html":{}}}],["cluster_deletionapimodule_providers",{"_index":8971,"title":{},"body":{"modules/DeletionApiModule.html":{}}}],["cluster_deletionconsolemodule",{"_index":9060,"title":{},"body":{"modules/DeletionConsoleModule.html":{}}}],["cluster_deletionconsolemodule_imports",{"_index":9061,"title":{},"body":{"modules/DeletionConsoleModule.html":{}}}],["cluster_deletionconsolemodule_providers",{"_index":9062,"title":{},"body":{"modules/DeletionConsoleModule.html":{}}}],["cluster_deletionmodule",{"_index":9272,"title":{},"body":{"modules/DeletionModule.html":{}}}],["cluster_deletionmodule_exports",{"_index":9274,"title":{},"body":{"modules/DeletionModule.html":{}}}],["cluster_deletionmodule_providers",{"_index":9273,"title":{},"body":{"modules/DeletionModule.html":{}}}],["cluster_encryptionmodule",{"_index":9833,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["cluster_encryptionmodule_imports",{"_index":9834,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["cluster_errormodule",{"_index":9949,"title":{},"body":{"modules/ErrorModule.html":{}}}],["cluster_errormodule_imports",{"_index":9950,"title":{},"body":{"modules/ErrorModule.html":{}}}],["cluster_externaltoolmodule",{"_index":10470,"title":{},"body":{"modules/ExternalToolModule.html":{}}}],["cluster_externaltoolmodule_exports",{"_index":10472,"title":{},"body":{"modules/ExternalToolModule.html":{}}}],["cluster_externaltoolmodule_imports",{"_index":10471,"title":{},"body":{"modules/ExternalToolModule.html":{}}}],["cluster_externaltoolmodule_providers",{"_index":10473,"title":{},"body":{"modules/ExternalToolModule.html":{}}}],["cluster_feathersmodule",{"_index":11268,"title":{},"body":{"modules/FeathersModule.html":{}}}],["cluster_feathersmodule_exports",{"_index":11270,"title":{},"body":{"modules/FeathersModule.html":{}}}],["cluster_feathersmodule_providers",{"_index":11269,"title":{},"body":{"modules/FeathersModule.html":{}}}],["cluster_filesmodule",{"_index":12102,"title":{},"body":{"modules/FilesModule.html":{}}}],["cluster_filesmodule_exports",{"_index":12105,"title":{},"body":{"modules/FilesModule.html":{}}}],["cluster_filesmodule_imports",{"_index":12104,"title":{},"body":{"modules/FilesModule.html":{}}}],["cluster_filesmodule_providers",{"_index":12103,"title":{},"body":{"modules/FilesModule.html":{}}}],["cluster_filesstorageamqpmodule",{"_index":12156,"title":{},"body":{"modules/FilesStorageAMQPModule.html":{}}}],["cluster_filesstorageamqpmodule_imports",{"_index":12157,"title":{},"body":{"modules/FilesStorageAMQPModule.html":{}}}],["cluster_filesstorageamqpmodule_providers",{"_index":12158,"title":{},"body":{"modules/FilesStorageAMQPModule.html":{}}}],["cluster_filesstorageapimodule",{"_index":12164,"title":{},"body":{"modules/FilesStorageApiModule.html":{}}}],["cluster_filesstorageapimodule_imports",{"_index":12165,"title":{},"body":{"modules/FilesStorageApiModule.html":{}}}],["cluster_filesstorageapimodule_providers",{"_index":12166,"title":{},"body":{"modules/FilesStorageApiModule.html":{}}}],["cluster_filesstorageclientmodule",{"_index":12231,"title":{},"body":{"modules/FilesStorageClientModule.html":{}}}],["cluster_filesstorageclientmodule_exports",{"_index":12233,"title":{},"body":{"modules/FilesStorageClientModule.html":{}}}],["cluster_filesstorageclientmodule_imports",{"_index":12232,"title":{},"body":{"modules/FilesStorageClientModule.html":{}}}],["cluster_filesstorageclientmodule_providers",{"_index":12234,"title":{},"body":{"modules/FilesStorageClientModule.html":{}}}],["cluster_filesstoragemodule",{"_index":12311,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["cluster_filesstoragemodule_exports",{"_index":12313,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["cluster_filesstoragemodule_imports",{"_index":12314,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["cluster_filesstoragemodule_providers",{"_index":12312,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["cluster_filesstoragetestmodule",{"_index":12364,"title":{},"body":{"modules/FilesStorageTestModule.html":{}}}],["cluster_filesstoragetestmodule_imports",{"_index":12365,"title":{},"body":{"modules/FilesStorageTestModule.html":{}}}],["cluster_filesystemmodule",{"_index":12092,"title":{},"body":{"modules/FileSystemModule.html":{}}}],["cluster_filesystemmodule_exports",{"_index":12093,"title":{},"body":{"modules/FileSystemModule.html":{}}}],["cluster_filesystemmodule_providers",{"_index":12094,"title":{},"body":{"modules/FileSystemModule.html":{}}}],["cluster_fwulearningcontentsmodule",{"_index":12457,"title":{},"body":{"modules/FwuLearningContentsModule.html":{}}}],["cluster_fwulearningcontentsmodule_imports",{"_index":12459,"title":{},"body":{"modules/FwuLearningContentsModule.html":{}}}],["cluster_fwulearningcontentsmodule_providers",{"_index":12458,"title":{},"body":{"modules/FwuLearningContentsModule.html":{}}}],["cluster_fwulearningcontentstestmodule",{"_index":12468,"title":{},"body":{"modules/FwuLearningContentsTestModule.html":{}}}],["cluster_fwulearningcontentstestmodule_imports",{"_index":12469,"title":{},"body":{"modules/FwuLearningContentsTestModule.html":{}}}],["cluster_fwulearningcontentstestmodule_providers",{"_index":12470,"title":{},"body":{"modules/FwuLearningContentsTestModule.html":{}}}],["cluster_groupapimodule",{"_index":12702,"title":{},"body":{"modules/GroupApiModule.html":{}}}],["cluster_groupapimodule_imports",{"_index":12703,"title":{},"body":{"modules/GroupApiModule.html":{}}}],["cluster_groupapimodule_providers",{"_index":12704,"title":{},"body":{"modules/GroupApiModule.html":{}}}],["cluster_groupmodule",{"_index":12821,"title":{},"body":{"modules/GroupModule.html":{}}}],["cluster_groupmodule_exports",{"_index":12823,"title":{},"body":{"modules/GroupModule.html":{}}}],["cluster_groupmodule_providers",{"_index":12822,"title":{},"body":{"modules/GroupModule.html":{}}}],["cluster_h5peditormodule",{"_index":13255,"title":{},"body":{"modules/H5PEditorModule.html":{}}}],["cluster_h5peditormodule_exports",{"_index":13256,"title":{},"body":{"modules/H5PEditorModule.html":{}}}],["cluster_h5peditormodule_imports",{"_index":13258,"title":{},"body":{"modules/H5PEditorModule.html":{}}}],["cluster_h5peditormodule_providers",{"_index":13257,"title":{},"body":{"modules/H5PEditorModule.html":{}}}],["cluster_h5peditortestmodule",{"_index":13278,"title":{},"body":{"modules/H5PEditorTestModule.html":{}}}],["cluster_h5peditortestmodule_imports",{"_index":13280,"title":{},"body":{"modules/H5PEditorTestModule.html":{}}}],["cluster_h5peditortestmodule_providers",{"_index":13279,"title":{},"body":{"modules/H5PEditorTestModule.html":{}}}],["cluster_h5plibrarymanagementmodule",{"_index":13293,"title":{},"body":{"modules/H5PLibraryManagementModule.html":{}}}],["cluster_h5plibrarymanagementmodule_imports",{"_index":13295,"title":{},"body":{"modules/H5PLibraryManagementModule.html":{}}}],["cluster_h5plibrarymanagementmodule_providers",{"_index":13294,"title":{},"body":{"modules/H5PLibraryManagementModule.html":{}}}],["cluster_identitymanagementmodule",{"_index":13743,"title":{},"body":{"modules/IdentityManagementModule.html":{}}}],["cluster_identitymanagementmodule_exports",{"_index":13745,"title":{},"body":{"modules/IdentityManagementModule.html":{}}}],["cluster_identitymanagementmodule_imports",{"_index":13744,"title":{},"body":{"modules/IdentityManagementModule.html":{}}}],["cluster_importusermodule",{"_index":14046,"title":{},"body":{"modules/ImportUserModule.html":{}}}],["cluster_importusermodule_imports",{"_index":14048,"title":{},"body":{"modules/ImportUserModule.html":{}}}],["cluster_importusermodule_providers",{"_index":14047,"title":{},"body":{"modules/ImportUserModule.html":{}}}],["cluster_keycloakadministrationmodule",{"_index":14388,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{}}}],["cluster_keycloakadministrationmodule_exports",{"_index":14389,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{}}}],["cluster_keycloakadministrationmodule_providers",{"_index":14390,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{}}}],["cluster_keycloakconfigurationmodule",{"_index":14462,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["cluster_keycloakconfigurationmodule_exports",{"_index":14464,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["cluster_keycloakconfigurationmodule_imports",{"_index":14465,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["cluster_keycloakconfigurationmodule_providers",{"_index":14463,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["cluster_keycloakmodule",{"_index":14848,"title":{},"body":{"modules/KeycloakModule.html":{}}}],["cluster_keycloakmodule_exports",{"_index":14851,"title":{},"body":{"modules/KeycloakModule.html":{}}}],["cluster_keycloakmodule_imports",{"_index":14849,"title":{},"body":{"modules/KeycloakModule.html":{}}}],["cluster_keycloakmodule_providers",{"_index":14850,"title":{},"body":{"modules/KeycloakModule.html":{}}}],["cluster_learnroomapimodule",{"_index":15114,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["cluster_learnroomapimodule_imports",{"_index":15115,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["cluster_learnroomapimodule_providers",{"_index":15116,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["cluster_learnroommodule",{"_index":15129,"title":{},"body":{"modules/LearnroomModule.html":{}}}],["cluster_learnroommodule_exports",{"_index":15132,"title":{},"body":{"modules/LearnroomModule.html":{}}}],["cluster_learnroommodule_imports",{"_index":15130,"title":{},"body":{"modules/LearnroomModule.html":{}}}],["cluster_learnroommodule_providers",{"_index":15131,"title":{},"body":{"modules/LearnroomModule.html":{}}}],["cluster_legacyschoolmodule",{"_index":15226,"title":{},"body":{"modules/LegacySchoolModule.html":{}}}],["cluster_legacyschoolmodule_exports",{"_index":15227,"title":{},"body":{"modules/LegacySchoolModule.html":{}}}],["cluster_legacyschoolmodule_imports",{"_index":15228,"title":{},"body":{"modules/LegacySchoolModule.html":{}}}],["cluster_legacyschoolmodule_providers",{"_index":15229,"title":{},"body":{"modules/LegacySchoolModule.html":{}}}],["cluster_lessonapimodule",{"_index":15392,"title":{},"body":{"modules/LessonApiModule.html":{}}}],["cluster_lessonapimodule_imports",{"_index":15393,"title":{},"body":{"modules/LessonApiModule.html":{}}}],["cluster_lessonapimodule_providers",{"_index":15394,"title":{},"body":{"modules/LessonApiModule.html":{}}}],["cluster_lessonmodule",{"_index":15468,"title":{},"body":{"modules/LessonModule.html":{}}}],["cluster_lessonmodule_exports",{"_index":15469,"title":{},"body":{"modules/LessonModule.html":{}}}],["cluster_lessonmodule_imports",{"_index":15471,"title":{},"body":{"modules/LessonModule.html":{}}}],["cluster_lessonmodule_providers",{"_index":15470,"title":{},"body":{"modules/LessonModule.html":{}}}],["cluster_loggermodule",{"_index":15738,"title":{},"body":{"modules/LoggerModule.html":{}}}],["cluster_loggermodule_exports",{"_index":15739,"title":{},"body":{"modules/LoggerModule.html":{}}}],["cluster_loggermodule_providers",{"_index":15740,"title":{},"body":{"modules/LoggerModule.html":{}}}],["cluster_ltitoolmodule",{"_index":15993,"title":{},"body":{"modules/LtiToolModule.html":{}}}],["cluster_ltitoolmodule_exports",{"_index":15994,"title":{},"body":{"modules/LtiToolModule.html":{}}}],["cluster_ltitoolmodule_providers",{"_index":15995,"title":{},"body":{"modules/LtiToolModule.html":{}}}],["cluster_managementmodule",{"_index":16109,"title":{},"body":{"modules/ManagementModule.html":{}}}],["cluster_managementmodule_providers",{"_index":16110,"title":{},"body":{"modules/ManagementModule.html":{}}}],["cluster_managementservermodule",{"_index":16121,"title":{},"body":{"modules/ManagementServerModule.html":{}}}],["cluster_managementservermodule_imports",{"_index":16122,"title":{},"body":{"modules/ManagementServerModule.html":{}}}],["cluster_managementservertestmodule",{"_index":16128,"title":{},"body":{"modules/ManagementServerTestModule.html":{}}}],["cluster_managementservertestmodule_imports",{"_index":16129,"title":{},"body":{"modules/ManagementServerTestModule.html":{}}}],["cluster_metatagextractorapimodule",{"_index":16174,"title":{},"body":{"modules/MetaTagExtractorApiModule.html":{}}}],["cluster_metatagextractorapimodule_imports",{"_index":16176,"title":{},"body":{"modules/MetaTagExtractorApiModule.html":{}}}],["cluster_metatagextractorapimodule_providers",{"_index":16175,"title":{},"body":{"modules/MetaTagExtractorApiModule.html":{}}}],["cluster_metatagextractormodule",{"_index":16198,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["cluster_metatagextractormodule_exports",{"_index":16199,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["cluster_metatagextractormodule_imports",{"_index":16200,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["cluster_metatagextractormodule_providers",{"_index":16201,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["cluster_newsmodule",{"_index":16556,"title":{},"body":{"modules/NewsModule.html":{}}}],["cluster_newsmodule_exports",{"_index":16558,"title":{},"body":{"modules/NewsModule.html":{}}}],["cluster_newsmodule_imports",{"_index":16559,"title":{},"body":{"modules/NewsModule.html":{}}}],["cluster_newsmodule_providers",{"_index":16557,"title":{},"body":{"modules/NewsModule.html":{}}}],["cluster_oauthapimodule",{"_index":16996,"title":{},"body":{"modules/OauthApiModule.html":{}}}],["cluster_oauthapimodule_imports",{"_index":16998,"title":{},"body":{"modules/OauthApiModule.html":{}}}],["cluster_oauthapimodule_providers",{"_index":16997,"title":{},"body":{"modules/OauthApiModule.html":{}}}],["cluster_oauthmodule",{"_index":17156,"title":{},"body":{"modules/OauthModule.html":{}}}],["cluster_oauthmodule_exports",{"_index":17159,"title":{},"body":{"modules/OauthModule.html":{}}}],["cluster_oauthmodule_imports",{"_index":17158,"title":{},"body":{"modules/OauthModule.html":{}}}],["cluster_oauthmodule_providers",{"_index":17157,"title":{},"body":{"modules/OauthModule.html":{}}}],["cluster_oauthproviderapimodule",{"_index":17167,"title":{},"body":{"modules/OauthProviderApiModule.html":{}}}],["cluster_oauthproviderapimodule_imports",{"_index":17169,"title":{},"body":{"modules/OauthProviderApiModule.html":{}}}],["cluster_oauthproviderapimodule_providers",{"_index":17168,"title":{},"body":{"modules/OauthProviderApiModule.html":{}}}],["cluster_oauthprovidermodule",{"_index":17417,"title":{},"body":{"modules/OauthProviderModule.html":{}}}],["cluster_oauthprovidermodule_exports",{"_index":17418,"title":{},"body":{"modules/OauthProviderModule.html":{}}}],["cluster_oauthprovidermodule_imports",{"_index":17420,"title":{},"body":{"modules/OauthProviderModule.html":{}}}],["cluster_oauthprovidermodule_providers",{"_index":17419,"title":{},"body":{"modules/OauthProviderModule.html":{}}}],["cluster_oauthproviderservicemodule",{"_index":17473,"title":{},"body":{"modules/OauthProviderServiceModule.html":{}}}],["cluster_oauthproviderservicemodule_exports",{"_index":17474,"title":{},"body":{"modules/OauthProviderServiceModule.html":{}}}],["cluster_previewgeneratoramqpmodule",{"_index":17854,"title":{},"body":{"modules/PreviewGeneratorAMQPModule.html":{}}}],["cluster_previewgeneratoramqpmodule_imports",{"_index":17855,"title":{},"body":{"modules/PreviewGeneratorAMQPModule.html":{}}}],["cluster_previewgeneratorproducermodule",{"_index":17892,"title":{},"body":{"modules/PreviewGeneratorProducerModule.html":{}}}],["cluster_previewgeneratorproducermodule_exports",{"_index":17893,"title":{},"body":{"modules/PreviewGeneratorProducerModule.html":{}}}],["cluster_previewgeneratorproducermodule_imports",{"_index":17895,"title":{},"body":{"modules/PreviewGeneratorProducerModule.html":{}}}],["cluster_previewgeneratorproducermodule_providers",{"_index":17894,"title":{},"body":{"modules/PreviewGeneratorProducerModule.html":{}}}],["cluster_provisioningmodule",{"_index":18093,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["cluster_provisioningmodule_exports",{"_index":18096,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["cluster_provisioningmodule_imports",{"_index":18095,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["cluster_provisioningmodule_providers",{"_index":18094,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["cluster_pseudonymapimodule",{"_index":18174,"title":{},"body":{"modules/PseudonymApiModule.html":{}}}],["cluster_pseudonymapimodule_imports",{"_index":18175,"title":{},"body":{"modules/PseudonymApiModule.html":{}}}],["cluster_pseudonymapimodule_providers",{"_index":18176,"title":{},"body":{"modules/PseudonymApiModule.html":{}}}],["cluster_pseudonymmodule",{"_index":18213,"title":{},"body":{"modules/PseudonymModule.html":{}}}],["cluster_pseudonymmodule_exports",{"_index":18216,"title":{},"body":{"modules/PseudonymModule.html":{}}}],["cluster_pseudonymmodule_imports",{"_index":18215,"title":{},"body":{"modules/PseudonymModule.html":{}}}],["cluster_pseudonymmodule_providers",{"_index":18214,"title":{},"body":{"modules/PseudonymModule.html":{}}}],["cluster_redismodule",{"_index":18606,"title":{},"body":{"modules/RedisModule.html":{}}}],["cluster_redismodule_imports",{"_index":18607,"title":{},"body":{"modules/RedisModule.html":{}}}],["cluster_registrationpinmodule",{"_index":18706,"title":{},"body":{"modules/RegistrationPinModule.html":{}}}],["cluster_registrationpinmodule_exports",{"_index":18707,"title":{},"body":{"modules/RegistrationPinModule.html":{}}}],["cluster_registrationpinmodule_imports",{"_index":18709,"title":{},"body":{"modules/RegistrationPinModule.html":{}}}],["cluster_registrationpinmodule_providers",{"_index":18708,"title":{},"body":{"modules/RegistrationPinModule.html":{}}}],["cluster_rocketchatusermodule",{"_index":18966,"title":{},"body":{"modules/RocketChatUserModule.html":{}}}],["cluster_rocketchatusermodule_exports",{"_index":18967,"title":{},"body":{"modules/RocketChatUserModule.html":{}}}],["cluster_rocketchatusermodule_providers",{"_index":18968,"title":{},"body":{"modules/RocketChatUserModule.html":{}}}],["cluster_rolemodule",{"_index":19022,"title":{},"body":{"modules/RoleModule.html":{}}}],["cluster_rolemodule_exports",{"_index":19024,"title":{},"body":{"modules/RoleModule.html":{}}}],["cluster_rolemodule_providers",{"_index":19023,"title":{},"body":{"modules/RoleModule.html":{}}}],["cluster_schoolexternaltoolmodule",{"_index":19746,"title":{},"body":{"modules/SchoolExternalToolModule.html":{}}}],["cluster_schoolexternaltoolmodule_exports",{"_index":19747,"title":{},"body":{"modules/SchoolExternalToolModule.html":{}}}],["cluster_schoolexternaltoolmodule_imports",{"_index":19749,"title":{},"body":{"modules/SchoolExternalToolModule.html":{}}}],["cluster_schoolexternaltoolmodule_providers",{"_index":19748,"title":{},"body":{"modules/SchoolExternalToolModule.html":{}}}],["cluster_serverconsolemodule",{"_index":20167,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["cluster_serverconsolemodule_imports",{"_index":20168,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["cluster_servermodule",{"_index":20179,"title":{},"body":{"modules/ServerModule.html":{}}}],["cluster_servermodule_imports",{"_index":20180,"title":{},"body":{"modules/ServerModule.html":{}}}],["cluster_servertestmodule",{"_index":20256,"title":{},"body":{"modules/ServerTestModule.html":{}}}],["cluster_servertestmodule_imports",{"_index":20257,"title":{},"body":{"modules/ServerTestModule.html":{}}}],["cluster_sharingapimodule",{"_index":20534,"title":{},"body":{"modules/SharingApiModule.html":{}}}],["cluster_sharingapimodule_imports",{"_index":20535,"title":{},"body":{"modules/SharingApiModule.html":{}}}],["cluster_sharingapimodule_providers",{"_index":20536,"title":{},"body":{"modules/SharingApiModule.html":{}}}],["cluster_sharingmodule",{"_index":20541,"title":{},"body":{"modules/SharingModule.html":{}}}],["cluster_sharingmodule_exports",{"_index":20542,"title":{},"body":{"modules/SharingModule.html":{}}}],["cluster_sharingmodule_imports",{"_index":20544,"title":{},"body":{"modules/SharingModule.html":{}}}],["cluster_sharingmodule_providers",{"_index":20543,"title":{},"body":{"modules/SharingModule.html":{}}}],["cluster_systemapimodule",{"_index":21031,"title":{},"body":{"modules/SystemApiModule.html":{}}}],["cluster_systemapimodule_imports",{"_index":21032,"title":{},"body":{"modules/SystemApiModule.html":{}}}],["cluster_systemapimodule_providers",{"_index":21033,"title":{},"body":{"modules/SystemApiModule.html":{}}}],["cluster_systemmodule",{"_index":21166,"title":{},"body":{"modules/SystemModule.html":{}}}],["cluster_systemmodule_exports",{"_index":21167,"title":{},"body":{"modules/SystemModule.html":{}}}],["cluster_systemmodule_imports",{"_index":21169,"title":{},"body":{"modules/SystemModule.html":{}}}],["cluster_systemmodule_providers",{"_index":21168,"title":{},"body":{"modules/SystemModule.html":{}}}],["cluster_taskapimodule",{"_index":21370,"title":{},"body":{"modules/TaskApiModule.html":{}}}],["cluster_taskapimodule_imports",{"_index":21372,"title":{},"body":{"modules/TaskApiModule.html":{}}}],["cluster_taskapimodule_providers",{"_index":21371,"title":{},"body":{"modules/TaskApiModule.html":{}}}],["cluster_taskmodule",{"_index":21573,"title":{},"body":{"modules/TaskModule.html":{}}}],["cluster_taskmodule_exports",{"_index":21576,"title":{},"body":{"modules/TaskModule.html":{}}}],["cluster_taskmodule_imports",{"_index":21574,"title":{},"body":{"modules/TaskModule.html":{}}}],["cluster_taskmodule_providers",{"_index":21575,"title":{},"body":{"modules/TaskModule.html":{}}}],["cluster_teamsapimodule",{"_index":22019,"title":{},"body":{"modules/TeamsApiModule.html":{}}}],["cluster_teamsapimodule_imports",{"_index":22020,"title":{},"body":{"modules/TeamsApiModule.html":{}}}],["cluster_teamsmodule",{"_index":22023,"title":{},"body":{"modules/TeamsModule.html":{}}}],["cluster_teamsmodule_exports",{"_index":22024,"title":{},"body":{"modules/TeamsModule.html":{}}}],["cluster_teamsmodule_providers",{"_index":22025,"title":{},"body":{"modules/TeamsModule.html":{}}}],["cluster_tldrawclientmodule",{"_index":22295,"title":{},"body":{"modules/TldrawClientModule.html":{}}}],["cluster_tldrawclientmodule_imports",{"_index":22296,"title":{},"body":{"modules/TldrawClientModule.html":{}}}],["cluster_tldrawclientmodule_providers",{"_index":22297,"title":{},"body":{"modules/TldrawClientModule.html":{}}}],["cluster_tldrawmodule",{"_index":22355,"title":{},"body":{"modules/TldrawModule.html":{}}}],["cluster_tldrawmodule_imports",{"_index":22357,"title":{},"body":{"modules/TldrawModule.html":{}}}],["cluster_tldrawmodule_providers",{"_index":22356,"title":{},"body":{"modules/TldrawModule.html":{}}}],["cluster_tldrawtestmodule",{"_index":22381,"title":{},"body":{"modules/TldrawTestModule.html":{}}}],["cluster_tldrawtestmodule_imports",{"_index":22382,"title":{},"body":{"modules/TldrawTestModule.html":{}}}],["cluster_tldrawtestmodule_providers",{"_index":22383,"title":{},"body":{"modules/TldrawTestModule.html":{}}}],["cluster_tldrawwsmodule",{"_index":22434,"title":{},"body":{"modules/TldrawWsModule.html":{}}}],["cluster_tldrawwsmodule_imports",{"_index":22435,"title":{},"body":{"modules/TldrawWsModule.html":{}}}],["cluster_tldrawwsmodule_providers",{"_index":22436,"title":{},"body":{"modules/TldrawWsModule.html":{}}}],["cluster_tldrawwstestmodule",{"_index":22558,"title":{},"body":{"modules/TldrawWsTestModule.html":{}}}],["cluster_tldrawwstestmodule_imports",{"_index":22560,"title":{},"body":{"modules/TldrawWsTestModule.html":{}}}],["cluster_tldrawwstestmodule_providers",{"_index":22559,"title":{},"body":{"modules/TldrawWsTestModule.html":{}}}],["cluster_toolapimodule",{"_index":22596,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["cluster_toolapimodule_imports",{"_index":22598,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["cluster_toolapimodule_providers",{"_index":22597,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["cluster_toollaunchmodule",{"_index":22869,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["cluster_toollaunchmodule_exports",{"_index":22870,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["cluster_toollaunchmodule_imports",{"_index":22872,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["cluster_toollaunchmodule_providers",{"_index":22871,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["cluster_toolmodule",{"_index":22943,"title":{},"body":{"modules/ToolModule.html":{}}}],["cluster_toolmodule_exports",{"_index":22945,"title":{},"body":{"modules/ToolModule.html":{}}}],["cluster_toolmodule_imports",{"_index":22944,"title":{},"body":{"modules/ToolModule.html":{}}}],["cluster_toolmodule_providers",{"_index":22946,"title":{},"body":{"modules/ToolModule.html":{}}}],["cluster_userapimodule",{"_index":23197,"title":{},"body":{"modules/UserApiModule.html":{}}}],["cluster_userapimodule_imports",{"_index":23199,"title":{},"body":{"modules/UserApiModule.html":{}}}],["cluster_userapimodule_providers",{"_index":23198,"title":{},"body":{"modules/UserApiModule.html":{}}}],["cluster_userloginmigrationapimodule",{"_index":23403,"title":{},"body":{"modules/UserLoginMigrationApiModule.html":{}}}],["cluster_userloginmigrationapimodule_imports",{"_index":23405,"title":{},"body":{"modules/UserLoginMigrationApiModule.html":{}}}],["cluster_userloginmigrationapimodule_providers",{"_index":23404,"title":{},"body":{"modules/UserLoginMigrationApiModule.html":{}}}],["cluster_userloginmigrationmodule",{"_index":23578,"title":{},"body":{"modules/UserLoginMigrationModule.html":{}}}],["cluster_userloginmigrationmodule_exports",{"_index":23579,"title":{},"body":{"modules/UserLoginMigrationModule.html":{}}}],["cluster_userloginmigrationmodule_imports",{"_index":23581,"title":{},"body":{"modules/UserLoginMigrationModule.html":{}}}],["cluster_userloginmigrationmodule_providers",{"_index":23580,"title":{},"body":{"modules/UserLoginMigrationModule.html":{}}}],["cluster_usermodule",{"_index":23788,"title":{},"body":{"modules/UserModule.html":{}}}],["cluster_usermodule_exports",{"_index":23790,"title":{},"body":{"modules/UserModule.html":{}}}],["cluster_usermodule_imports",{"_index":23789,"title":{},"body":{"modules/UserModule.html":{}}}],["cluster_usermodule_providers",{"_index":23791,"title":{},"body":{"modules/UserModule.html":{}}}],["cluster_videoconferenceapimodule",{"_index":24012,"title":{},"body":{"modules/VideoConferenceApiModule.html":{}}}],["cluster_videoconferenceapimodule_imports",{"_index":24014,"title":{},"body":{"modules/VideoConferenceApiModule.html":{}}}],["cluster_videoconferenceapimodule_providers",{"_index":24013,"title":{},"body":{"modules/VideoConferenceApiModule.html":{}}}],["cluster_videoconferencemodule",{"_index":24283,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["cluster_videoconferencemodule_exports",{"_index":24286,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["cluster_videoconferencemodule_imports",{"_index":24285,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["cluster_videoconferencemodule_providers",{"_index":24284,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["code",{"_index":998,"title":{"additional-documentation/nestjs-application/code-style.html":{}},"body":{"injectables/AccountValidationService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/AuthorizationError.html":{},"classes/AuthorizationParams.html":{},"classes/AxiosErrorFactory.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/ConsentRequestBody.html":{},"injectables/DeletionClient.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorResponse.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"interfaces/FeathersError.html":{},"classes/ForbiddenOperationError.html":{},"classes/GlobalErrorFilter.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConnectionError.html":{},"classes/LoginRequestBody.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/StatelessAuthorizationParams.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"classes/SystemEntityFactory.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/ValidationError.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["codebase",{"_index":25481,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["coded",{"_index":5360,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["codes",{"_index":11645,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["coersion",{"_index":12631,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["cohesion",{"_index":25507,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["collaborative",{"_index":4954,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/NextcloudStrategy.html":{}}}],["collaborativestorage",{"_index":5119,"title":{},"body":{"interfaces/CollaborativeStorageStrategy.html":{}}}],["collaborativestorageadapter",{"_index":4948,"title":{"injectables/CollaborativeStorageAdapter.html":{}},"body":{"injectables/CollaborativeStorageAdapter.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"injectables/CollaborativeStorageService.html":{}}}],["collaborativestorageadaptermapper",{"_index":4966,"title":{"injectables/CollaborativeStorageAdapterMapper.html":{}},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{}}}],["collaborativestorageadaptermodule",{"_index":5016,"title":{"modules/CollaborativeStorageAdapterModule.html":{}},"body":{"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{}}}],["collaborativestoragecontroller",{"_index":5036,"title":{"controllers/CollaborativeStorageController.html":{}},"body":{"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{}}}],["collaborativestoragemodule",{"_index":5068,"title":{"modules/CollaborativeStorageModule.html":{}},"body":{"modules/CollaborativeStorageModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["collaborativestorageservice",{"_index":5073,"title":{"injectables/CollaborativeStorageService.html":{}},"body":{"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["collaborativestoragestrategy",{"_index":4965,"title":{"interfaces/CollaborativeStorageStrategy.html":{}},"body":{"injectables/CollaborativeStorageAdapter.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{}}}],["collaborativestorageuc",{"_index":5057,"title":{"injectables/CollaborativeStorageUc.html":{}},"body":{"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["collect",{"_index":25134,"title":{},"body":{"license.html":{}}}],["collectdefaultmetrics",{"_index":18000,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["collected",{"_index":18052,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["collecting",{"_index":18051,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["collecting_default_metrics_disabled",{"_index":18050,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["collecting_metrics_route_metrics_disabled",{"_index":18053,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["collection",{"_index":1821,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"entities/Board.html":{},"entities/BoardElement.html":{},"interfaces/CollectionFilePath.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/DatabaseManagementService.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"interfaces/Options.html":{},"interfaces/RelatedResourceProperties.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["collection(this",{"_index":2915,"title":{},"body":{"entities/Board.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{}}}],["collection.deletemany",{"_index":8865,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collection.find({}).toarray",{"_index":8863,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collection.insertmany(jsondocuments",{"_index":8860,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collection.name",{"_index":8870,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collectionexists",{"_index":5236,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/DatabaseManagementService.html":{}}}],["collectionexists(collectionname",{"_index":8840,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collectionfilepath",{"_index":5150,"title":{"interfaces/CollectionFilePath.html":{}},"body":{"interfaces/CollectionFilePath.html":{}}}],["collectionname",{"_index":5152,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"injectables/TldrawBoardRepo.html":{}}}],["collectionnamefilter",{"_index":5218,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collectionnamefilter.length",{"_index":5226,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collectionnamefilter?.includes(collectionname",{"_index":5229,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collectionnames",{"_index":8868,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collectionname}.json",{"_index":5207,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collectionname}:${data.length",{"_index":5251,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collections",{"_index":5202,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/DatabaseManagementService.html":{},"interfaces/Options.html":{},"injectables/PermissionService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["collections.includes(collectionname",{"_index":8872,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collections.includes(data.collectionname",{"_index":5246,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collections.length",{"_index":5245,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collections.map((collection",{"_index":8869,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["collections.map((collectionname",{"_index":5205,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collectionstoexport",{"_index":5283,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collectionstoexport.map(async",{"_index":5285,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collectionstoseed",{"_index":5261,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collectionstoseed.map(async",{"_index":5263,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collectionswithfilepaths",{"_index":5204,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["collectmetricsroutemetrics",{"_index":18001,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["collects",{"_index":26056,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["color",{"_index":7448,"title":{},"body":{"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["column",{"_index":2934,"title":{"classes/Column.html":{}},"body":{"entities/Board.html":{},"classes/BoardColumnBoardResponse.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"controllers/BoardController.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"classes/BoardResponseMapper.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/CardService.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"controllers/ColumnController.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsService.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["column.'})@apiresponse({status",{"_index":5583,"title":{},"body":{"controllers/ColumnController.html":{}}}],["column.addchild(card",{"_index":5487,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["column.body.params.ts",{"_index":16413,"title":{},"body":{"classes/MoveColumnBodyParams.html":{}}}],["column.body.params.ts:11",{"_index":16415,"title":{},"body":{"classes/MoveColumnBodyParams.html":{}}}],["column.body.params.ts:19",{"_index":16416,"title":{},"body":{"classes/MoveColumnBodyParams.html":{}}}],["column.children.map((card",{"_index":5626,"title":{},"body":{"classes/ColumnResponseMapper.html":{}}}],["column.constructor.name",{"_index":3986,"title":{},"body":{"classes/BoardResponseMapper.html":{}}}],["column.createdat",{"_index":5630,"title":{},"body":{"classes/ColumnResponseMapper.html":{}}}],["column.do",{"_index":3126,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["column.id",{"_index":5624,"title":{},"body":{"classes/ColumnResponseMapper.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["column.response",{"_index":3975,"title":{},"body":{"classes/BoardResponse.html":{}}}],["column.title",{"_index":5625,"title":{},"body":{"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["column.updatedat",{"_index":5629,"title":{},"body":{"classes/ColumnResponseMapper.html":{}}}],["columnboard",{"_index":2031,"title":{"classes/ColumnBoard.html":{}},"body":{"injectables/AutoContextNameStrategy.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/BoardElement.html":{},"classes/BoardResponseMapper.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/RoomsService.html":{}}}],["columnboard.addchild(column",{"_index":5481,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["columnboard.context",{"_index":18567,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["columnboard.context.type",{"_index":4145,"title":{},"body":{"injectables/BoardUrlHandler.html":{}}}],["columnboard.id",{"_index":18564,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["columnboard.title",{"_index":4144,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["columnboardboardelement",{"_index":2933,"title":{"entities/ColumnboardBoardElement.html":{}},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardRepo.html":{},"entities/ColumnboardBoardElement.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["columnboardcopyservice",{"_index":3254,"title":{"injectables/ColumnBoardCopyService.html":{}},"body":{"injectables/BoardCopyService.html":{},"modules/BoardModule.html":{},"injectables/ColumnBoardCopyService.html":{}}}],["columnboardelement",{"_index":3353,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["columnboardelements",{"_index":3966,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["columnboardfactory",{"_index":5427,"title":{"classes/ColumnBoardFactory.html":{}},"body":{"classes/ColumnBoardFactory.html":{}}}],["columnboardfactory.define(columnboard",{"_index":5433,"title":{},"body":{"classes/ColumnBoardFactory.html":{}}}],["columnboardid",{"_index":3013,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{},"injectables/BoardCopyService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardids",{"_index":5562,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{},"injectables/RoomsService.html":{}}}],["columnboardids.length",{"_index":19234,"title":{},"body":{"injectables/RoomsService.html":{}}}],["columnboardids.map((id",{"_index":5569,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["columnboardids.push(columnboard.id",{"_index":19236,"title":{},"body":{"injectables/RoomsService.html":{}}}],["columnboardinfo",{"_index":19134,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardinfo.columnboardid",{"_index":19137,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardinfo.createdat",{"_index":19140,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardinfo.id",{"_index":19136,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardinfo.published",{"_index":19139,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardinfo.title",{"_index":19138,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardinfo.updatedat",{"_index":19141,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardmetadata",{"_index":9681,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["columnboardnode",{"_index":3449,"title":{"entities/ColumnBoardNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["columnboardnodefactory",{"_index":3804,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["columnboardnodefactory.build",{"_index":3808,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["columnboardnodeprops",{"_index":5440,"title":{"interfaces/ColumnBoardNodeProps.html":{}},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["columnboardprops",{"_index":5398,"title":{"interfaces/ColumnBoardProps.html":{}},"body":{"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"interfaces/ColumnBoardProps.html":{}}}],["columnboardservice",{"_index":2019,"title":{"injectables/ColumnBoardService.html":{}},"body":{"injectables/AutoContextNameStrategy.html":{},"modules/BoardModule.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"injectables/RoomsService.html":{}}}],["columnboardtarget",{"_index":2935,"title":{"entities/ColumnBoardTarget.html":{}},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"entities/BoardElement.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"entities/ColumnboardBoardElement.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsService.html":{}}}],["columnboardtarget.columnboardid",{"_index":3345,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["columnboardtarget.createdat",{"_index":9729,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["columnboardtarget.id",{"_index":9727,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["columnboardtarget.published",{"_index":9731,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["columnboardtarget.title",{"_index":9728,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["columnboardtarget.updatedat",{"_index":9730,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["columnboardtargetprops",{"_index":5547,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["columnboardtargets",{"_index":5568,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["columnboardtargetservice",{"_index":5554,"title":{"injectables/ColumnBoardTargetService.html":{}},"body":{"injectables/ColumnBoardTargetService.html":{},"modules/LearnroomModule.html":{},"injectables/RoomsService.html":{}}}],["columncontroller",{"_index":3000,"title":{"controllers/ColumnController.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/ColumnController.html":{}}}],["columnid",{"_index":4102,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{}}}],["columnnode",{"_index":3446,"title":{"entities/ColumnNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/ColumnNode.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["columnnodefactory",{"_index":3805,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["columnnodefactory.build",{"_index":3825,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["columnprops",{"_index":5382,"title":{"interfaces/ColumnProps.html":{}},"body":{"classes/Column.html":{},"interfaces/ColumnProps.html":{}}}],["columnresponse",{"_index":3213,"title":{"classes/ColumnResponse.html":{}},"body":{"controllers/BoardController.html":{},"classes/BoardResponse.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{}}}],["columnresponsemapper",{"_index":3217,"title":{"classes/ColumnResponseMapper.html":{}},"body":{"controllers/BoardController.html":{},"classes/BoardResponseMapper.html":{},"classes/ColumnResponseMapper.html":{}}}],["columnresponsemapper.maptoresponse(column",{"_index":3238,"title":{},"body":{"controllers/BoardController.html":{},"classes/BoardResponseMapper.html":{}}}],["columnresponse})@apiresponse({status",{"_index":3184,"title":{},"body":{"controllers/BoardController.html":{}}}],["columns",{"_index":3515,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/BoardManagementUc.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/ColumnController.html":{},"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["columns.map((column",{"_index":3813,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["columnservice",{"_index":3845,"title":{"injectables/ColumnService.html":{}},"body":{"modules/BoardModule.html":{},"injectables/BoardUc.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{}}}],["columnuc",{"_index":2995,"title":{"injectables/ColumnUc.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"injectables/ColumnUc.html":{}}}],["columnurlparams",{"_index":5581,"title":{"classes/ColumnUrlParams.html":{}},"body":{"controllers/ColumnController.html":{},"classes/ColumnUrlParams.html":{}}}],["colums",{"_index":8469,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["combination",{"_index":18359,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["combinations",{"_index":25910,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["combine",{"_index":25145,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["combined",{"_index":20552,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{},"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["combines",{"_index":26090,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["come",{"_index":24705,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["comes",{"_index":24867,"title":{},"body":{"license.html":{}}}],["coming",{"_index":26008,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["command",{"_index":3765,"title":{},"body":{"classes/BoardManagementConsole.html":{},"interfaces/CleanOptions.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeleteFilesConsole.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/Options.html":{},"interfaces/RetryOptions.html":{},"classes/ServerConsole.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["command({command",{"_index":3761,"title":{},"body":{"classes/BoardManagementConsole.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeleteFilesConsole.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"classes/KeycloakConsole.html":{},"classes/ServerConsole.html":{}}}],["commander",{"_index":24483,"title":{},"body":{"dependencies.html":{}}}],["commandname",{"_index":14680,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["commandoption",{"_index":4845,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["commandoutput",{"_index":19381,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["commandresponse",{"_index":22163,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["commands",{"_index":4859,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["comment",{"_index":10529,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionProperties.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/UserRepo.html":{}}}],["comments",{"_index":25852,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["commercial",{"_index":24943,"title":{},"body":{"license.html":{}}}],["commit",{"_index":24639,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["commitment",{"_index":25086,"title":{},"body":{"license.html":{}}}],["commits",{"_index":25849,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["committing",{"_index":24634,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["common",{"_index":5717,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"modules/ContextExternalToolModule.html":{},"injectables/CourseExportUc.html":{},"classes/CourseQueryParams.html":{},"modules/ExternalToolModule.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["common/controller/dto",{"_index":10445,"title":{},"body":{"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"classes/ToolReferenceResponse.html":{}}}],["common/domain",{"_index":6640,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/ToolLaunchService.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolVersionService.html":{}}}],["common/entity",{"_index":6732,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{}}}],["common/enum",{"_index":2035,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolResponse.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolCreateParams.html":{},"entities/ExternalToolEntity.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/ToolLaunchMapper.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolReferenceUc.html":{}}}],["common/interface",{"_index":6641,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"controllers/ToolController.html":{}}}],["common/mapper/tool",{"_index":6920,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/SchoolExternalToolMetadataService.html":{}}}],["common/service",{"_index":7007,"title":{},"body":{"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"modules/ToolModule.html":{},"injectables/ToolVersionService.html":{}}}],["common/uc/tool",{"_index":7044,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolUc.html":{},"modules/ToolApiModule.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolReferenceUc.html":{}}}],["commoncartridgeconfig",{"_index":5672,"title":{"interfaces/CommonCartridgeConfig.html":{}},"body":{"interfaces/CommonCartridgeConfig.html":{},"interfaces/ServerConfig.html":{}}}],["commoncartridgeelement",{"_index":5677,"title":{"interfaces/CommonCartridgeElement.html":{}},"body":{"interfaces/CommonCartridgeElement.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeexportservice",{"_index":5681,"title":{"injectables/CommonCartridgeExportService.html":{}},"body":{"injectables/CommonCartridgeExportService.html":{},"injectables/CourseExportUc.html":{},"modules/LearnroomModule.html":{}}}],["commoncartridgefile",{"_index":5783,"title":{"interfaces/CommonCartridgeFile.html":{}},"body":{"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["commoncartridgefilebuilder",{"_index":5694,"title":{"classes/CommonCartridgeFileBuilder.html":{}},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgefilebuilderoptions",{"_index":5796,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeintendedusetype",{"_index":5715,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeWebContentResource.html":{}}}],["commoncartridgeintendedusetype.assignment",{"_index":5782,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["commoncartridgeintendedusetype.unspecified",{"_index":5757,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeWebContentResource.html":{}}}],["commoncartridgeltiresource",{"_index":5850,"title":{"classes/CommonCartridgeLtiResource.html":{}},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{}}}],["commoncartridgeltiresource(props",{"_index":5984,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["commoncartridgemanifestelement",{"_index":5814,"title":{"classes/CommonCartridgeManifestElement.html":{}},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgemetadataelement",{"_index":5913,"title":{"classes/CommonCartridgeMetadataElement.html":{}},"body":{"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{}}}],["commoncartridgemetadataelement(this.metadataprops).transform",{"_index":5930,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["commoncartridgeorganizationbuilder",{"_index":5820,"title":{"classes/CommonCartridgeOrganizationBuilder.html":{}},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeorganizationbuilder(props",{"_index":5831,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeorganizationitemelement",{"_index":5816,"title":{"classes/CommonCartridgeOrganizationItemElement.html":{}},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeorganizationitemelement(this.props",{"_index":5821,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeorganizationwrapperelement",{"_index":5914,"title":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}},"body":{"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["commoncartridgeorganizationwrapperelement(this.organizations).transform",{"_index":5931,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["commoncartridgeresourceitemelement",{"_index":5817,"title":{"classes/CommonCartridgeResourceItemElement.html":{}},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeresourceitemelement(props",{"_index":5826,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeresourceitemelement(resourceprops",{"_index":5823,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeresourcetype",{"_index":5716,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["commoncartridgeresourcetype.lti",{"_index":5859,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{}}}],["commoncartridgeresourcetype.web_content",{"_index":5755,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{}}}],["commoncartridgeresourcetype.web_link_v1",{"_index":5764,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["commoncartridgeresourcetype.web_link_v3",{"_index":5763,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["commoncartridgeresourcewrapperelement",{"_index":5916,"title":{"classes/CommonCartridgeResourceWrapperElement.html":{}},"body":{"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["commoncartridgeresourcewrapperelement(this.resources).transform",{"_index":5932,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["commoncartridgeversion",{"_index":5696,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CourseExportUc.html":{},"classes/CourseQueryParams.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["commoncartridgeversion.v_1_1_0",{"_index":5781,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["commoncartridgeversion.v_1_3_0",{"_index":5762,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["commoncartridgewebcontentresource",{"_index":5979,"title":{"classes/CommonCartridgeWebContentResource.html":{}},"body":{"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{}}}],["commoncartridgewebcontentresource(props",{"_index":5985,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["commoncartridgeweblinkresourceelement",{"_index":5981,"title":{"classes/CommonCartridgeWebLinkResourceElement.html":{}},"body":{"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["commoncartridgeweblinkresourceelement(props",{"_index":5986,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["commonobject",{"_index":5860,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["commonobject.cartridge_basiclti_link.$.xmlns",{"_index":5881,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["commonobject.cartridge_basiclti_link.$['xmlns:blti",{"_index":5883,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["commonobject.cartridge_basiclti_link.$['xmlns:lticm",{"_index":5885,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["commonobject.cartridge_basiclti_link.$['xmlns:lticp",{"_index":5887,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["commonobject.cartridge_basiclti_link.$['xsi:schemalocation",{"_index":5889,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["commonprops",{"_index":5748,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["commontags",{"_index":6003,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["commontoolmodule",{"_index":6013,"title":{"modules/CommonToolModule.html":{}},"body":{"modules/CommonToolModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/ExternalToolModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{}}}],["commontoolservice",{"_index":6019,"title":{"injectables/CommonToolService.html":{}},"body":{"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ExternalToolConfigurationService.html":{},"modules/ToolModule.html":{},"injectables/ToolVersionService.html":{}}}],["commontoolvalidationservice",{"_index":6020,"title":{"injectables/CommonToolValidationService.html":{}},"body":{"modules/CommonToolModule.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/SchoolExternalToolValidationService.html":{}}}],["commontoolvalidationservice.typecheckers[type",{"_index":6102,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["communicate",{"_index":26072,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["communication",{"_index":24794,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["community",{"_index":24666,"title":{},"body":{"license.html":{}}}],["comparator",{"_index":25562,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["comparealphabetic",{"_index":2963,"title":{},"body":{"entities/Board.html":{}}}],["compared",{"_index":25861,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["compareparameters",{"_index":11115,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["compareparameters(oldparams",{"_index":11123,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["comparepassword",{"_index":92,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountServiceDb.html":{}}}],["compareversions(otherlibrary",{"_index":11669,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["compass",{"_index":25814,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["compatible",{"_index":25302,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["compilation",{"_index":24873,"title":{},"body":{"license.html":{}}}],["compilation's",{"_index":24880,"title":{},"body":{"license.html":{}}}],["compilations",{"_index":25117,"title":{},"body":{"license.html":{}}}],["compile",{"_index":22162,"title":{},"body":{"classes/TestBootstrapConsole.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["compiler",{"_index":24786,"title":{},"body":{"license.html":{}}}],["complete",{"_index":16363,"title":{},"body":{"classes/MigrationMayNotBeCompleted.html":{},"index.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["completed",{"_index":3547,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"classes/BoardManagementConsole.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/ElementUc.html":{},"classes/MigrationMayBeCompleted.html":{},"interfaces/Options.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["completed(value",{"_index":20802,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["completed.loggable.ts",{"_index":16356,"title":{},"body":{"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{}}}],["completed.loggable.ts:3",{"_index":16358,"title":{},"body":{"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{}}}],["completed.loggable.ts:6",{"_index":16359,"title":{},"body":{"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{}}}],["completion",{"_index":25766,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["completly",{"_index":26055,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["complex",{"_index":15155,"title":{},"body":{"injectables/LegacyLogger.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["complexity",{"_index":25976,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["compliance",{"_index":25046,"title":{},"body":{"license.html":{}}}],["comply",{"_index":24809,"title":{},"body":{"license.html":{}}}],["compodoc",{"_index":25390,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["component",{"_index":6167,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementUpdateVisitor.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["component.constructor.name",{"_index":6493,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["componentetherpadproperties",{"_index":6145,"title":{"interfaces/ComponentEtherpadProperties.html":{}},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componentgeogebraproperties",{"_index":6161,"title":{"interfaces/ComponentGeogebraProperties.html":{}},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componentinternalproperties",{"_index":6166,"title":{"interfaces/ComponentInternalProperties.html":{}},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componentlernstoreproperties",{"_index":6163,"title":{"interfaces/ComponentLernstoreProperties.html":{}},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componentnexboardproperties",{"_index":6165,"title":{"interfaces/ComponentNexboardProperties.html":{}},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componentproperties",{"_index":5703,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonService.html":{}}}],["components",{"_index":24617,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["componenttextproperties",{"_index":6160,"title":{"interfaces/ComponentTextProperties.html":{}},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componenttype",{"_index":5713,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componenttype.etherpad",{"_index":5765,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componenttype.geogebra",{"_index":5760,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componenttype.internal",{"_index":6168,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componenttype.lernstore",{"_index":6169,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componenttype.nexboard",{"_index":6170,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["componenttype.text",{"_index":5754,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["composedname",{"_index":7355,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["composemetatags",{"_index":16287,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["composemetatags(url",{"_index":16291,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["composite",{"_index":3083,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{}}}],["composite.do",{"_index":4310,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["composite.do.ts",{"_index":3029,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["composite.do.ts:11",{"_index":3058,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:15",{"_index":3060,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:19",{"_index":3046,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:33",{"_index":3051,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:35",{"_index":3053,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:39",{"_index":3049,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:45",{"_index":3039,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:47",{"_index":3043,"title":{},"body":{"classes/BoardComposite.html":{}}}],["composite.do.ts:7",{"_index":3056,"title":{},"body":{"classes/BoardComposite.html":{}}}],["compression",{"_index":24485,"title":{},"body":{"dependencies.html":{}}}],["computer",{"_index":24745,"title":{},"body":{"license.html":{}}}],["concatenating",{"_index":16740,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["concept",{"_index":25519,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["concepts",{"_index":25518,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["concern",{"_index":25454,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["concerns",{"_index":25152,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["concrete",{"_index":25580,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["concurrently",{"_index":24487,"title":{},"body":{"dependencies.html":{}}}],["cond",{"_index":21713,"title":{},"body":{"injectables/TaskRule.html":{}}}],["condition",{"_index":25665,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["conditioned",{"_index":25111,"title":{},"body":{"license.html":{}}}],["conditions",{"_index":24718,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["conf",{"_index":2391,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference",{"_index":9525,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"interfaces/IVideoConferenceSettings.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["conference.'})@apiresponse({status",{"_index":24038,"title":{},"body":{"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["conference.controller.ts",{"_index":24032,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["conference.controller.ts:105",{"_index":24045,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["conference.controller.ts:132",{"_index":24041,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["conference.controller.ts:44",{"_index":24056,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["conference.controller.ts:77",{"_index":24051,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["conference.do.ts",{"_index":24148,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["conference.do.ts:19",{"_index":24151,"title":{},"body":{"classes/VideoConferenceDO.html":{}}}],["conference.do.ts:21",{"_index":24152,"title":{},"body":{"classes/VideoConferenceDO.html":{}}}],["conference.do.ts:23",{"_index":24149,"title":{},"body":{"classes/VideoConferenceDO.html":{}}}],["conference.do.ts:5",{"_index":24301,"title":{},"body":{"classes/VideoConferenceOptionsDO.html":{}}}],["conference.do.ts:7",{"_index":24302,"title":{},"body":{"classes/VideoConferenceOptionsDO.html":{}}}],["conference.do.ts:9",{"_index":24300,"title":{},"body":{"classes/VideoConferenceOptionsDO.html":{}}}],["conference.entity",{"_index":24321,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["conference.entity.ts",{"_index":23983,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["conference.entity.ts:10",{"_index":24298,"title":{},"body":{"classes/VideoConferenceOptions.html":{}}}],["conference.entity.ts:12",{"_index":24299,"title":{},"body":{"classes/VideoConferenceOptions.html":{}}}],["conference.entity.ts:14",{"_index":24297,"title":{},"body":{"classes/VideoConferenceOptions.html":{}}}],["conference.entity.ts:31",{"_index":23986,"title":{},"body":{"entities/VideoConference.html":{}}}],["conference.entity.ts:34",{"_index":23987,"title":{},"body":{"entities/VideoConference.html":{}}}],["conference.entity.ts:37",{"_index":23985,"title":{},"body":{"entities/VideoConference.html":{}}}],["conference.mapper",{"_index":24059,"title":{},"body":{"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["conference.mapper.ts",{"_index":24259,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["conference.mapper.ts:25",{"_index":24265,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["conference.mapper.ts:32",{"_index":24267,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["conference.mapper.ts:38",{"_index":24271,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["conference.mapper.ts:42",{"_index":24269,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["conference.module",{"_index":24021,"title":{},"body":{"modules/VideoConferenceApiModule.html":{}}}],["conference.module.ts",{"_index":24288,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["conference.repo",{"_index":24291,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["conference.repo.ts",{"_index":24314,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["conference.repo.ts:20",{"_index":24319,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["conference.repo.ts:24",{"_index":24317,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["conference.ts",{"_index":24002,"title":{},"body":{"classes/VideoConference-1.html":{}}}],["conference.ts:10",{"_index":24003,"title":{},"body":{"classes/VideoConference-1.html":{}}}],["conference.ts:6",{"_index":24006,"title":{},"body":{"classes/VideoConference-1.html":{}}}],["conference.ts:8",{"_index":24004,"title":{},"body":{"classes/VideoConference-1.html":{}}}],["conference/bbb/bbb",{"_index":13590,"title":{},"body":{"interfaces/IBbbSettings.html":{}}}],["conference/bbb/bbb.service.ts",{"_index":2326,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:107",{"_index":2362,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:136",{"_index":2353,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:14",{"_index":2338,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:150",{"_index":2371,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:167",{"_index":2364,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:21",{"_index":2375,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:25",{"_index":2377,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:29",{"_index":2379,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:39",{"_index":2341,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:61",{"_index":2360,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:72",{"_index":2368,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/bbb.service.ts:84",{"_index":2348,"title":{},"body":{"injectables/BBBService.html":{}}}],["conference/bbb/builder/bbb",{"_index":2200,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{}}}],["conference/bbb/builder/builder.ts",{"_index":4179,"title":{},"body":{"classes/Builder.html":{}}}],["conference/bbb/builder/builder.ts:2",{"_index":4181,"title":{},"body":{"classes/Builder.html":{}}}],["conference/bbb/builder/builder.ts:8",{"_index":4183,"title":{},"body":{"classes/Builder.html":{}}}],["conference/bbb/request/bbb",{"_index":2138,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{}}}],["conference/bbb/response/bbb",{"_index":2148,"title":{},"body":{"interfaces/BBBBaseResponse.html":{},"interfaces/BBBCreateResponse.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["conference/bbb/response/bbb.response.ts",{"_index":2324,"title":{},"body":{"interfaces/BBBResponse.html":{}}}],["conference/controller/dto/request/video",{"_index":24084,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["conference/controller/dto/response/video",{"_index":9524,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["conference/controller/video",{"_index":24031,"title":{},"body":{"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["conference/error/error",{"_index":24199,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["conference/error/invalid",{"_index":14210,"title":{},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{}}}],["conference/interface/video",{"_index":13673,"title":{},"body":{"interfaces/IVideoConferenceSettings.html":{}}}],["conference/mapper/vc",{"_index":24340,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["conference/mapper/video",{"_index":24258,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["conference/uc/dto/scope",{"_index":20123,"title":{},"body":{"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{}}}],["conference/uc/dto/video",{"_index":24001,"title":{},"body":{"classes/VideoConference-1.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceJoin.html":{}}}],["conference/uc/video",{"_index":24102,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["conference/video",{"_index":20211,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceConfiguration.html":{},"modules/VideoConferenceModule.html":{}}}],["conferences",{"_index":24295,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["config",{"_index":2087,"title":{},"body":{"classes/AxiosErrorFactory.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{},"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolCreateParams.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoService.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"interfaces/FileStorageConfig.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"classes/IdentityManagementOauthService.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LdapService.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthConfigMissingLoggableException.html":{},"injectables/OauthProviderLoginFlowService.html":{},"classes/OidcIdentityProviderMapper.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewProducer.html":{},"classes/PublicSystemResponse.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"interfaces/ServerConfig.html":{},"classes/System.html":{},"classes/SystemFilterParams.html":{},"interfaces/SystemProps.html":{},"injectables/TldrawBoardRepo.html":{},"interfaces/TldrawConfig.html":{},"modules/TldrawModule.html":{},"classes/TldrawWs.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolConfigModule.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolVersionService.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["config.'})@isoptional()@isboolean()@stringtoboolean",{"_index":21151,"title":{},"body":{"classes/SystemFilterParams.html":{}}}],["config.allowmodstounmuteusers",{"_index":2196,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["config.attendeepw",{"_index":2194,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["config.builder.ts",{"_index":2201,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{}}}],["config.builder.ts:10",{"_index":2283,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["config.builder.ts:11",{"_index":2217,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["config.builder.ts:15",{"_index":2285,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["config.builder.ts:16",{"_index":2211,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["config.builder.ts:21",{"_index":2215,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["config.builder.ts:5",{"_index":2281,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["config.builder.ts:6",{"_index":2213,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["config.clientid",{"_index":11379,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["config.connectionname",{"_index":19452,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["config.do",{"_index":2678,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts",{"_index":2672,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/ExternalToolConfig.html":{},"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts:11",{"_index":15885,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts:13",{"_index":15886,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts:15",{"_index":15883,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts:17",{"_index":16938,"title":{},"body":{"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts:4",{"_index":2674,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/ExternalToolConfig.html":{}}}],["config.do.ts:5",{"_index":15884,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts:6",{"_index":10103,"title":{},"body":{"classes/ExternalToolConfig.html":{}}}],["config.do.ts:7",{"_index":15888,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.do.ts:9",{"_index":15887,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["config.dto",{"_index":21108,"title":{},"body":{"classes/SystemDto.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["config.dto.ts",{"_index":17067,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/OidcConfigDto.html":{}}}],["config.dto.ts:1",{"_index":17521,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["config.dto.ts:10",{"_index":17072,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:12",{"_index":17080,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:14",{"_index":17069,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/OidcConfigDto.html":{}}}],["config.dto.ts:16",{"_index":17078,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/OidcConfigDto.html":{}}}],["config.dto.ts:18",{"_index":17079,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/OidcConfigDto.html":{}}}],["config.dto.ts:2",{"_index":17070,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:20",{"_index":17076,"title":{},"body":{"classes/OauthConfigDto.html":{},"classes/OidcConfigDto.html":{}}}],["config.dto.ts:22",{"_index":17522,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["config.dto.ts:24",{"_index":17525,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["config.dto.ts:25",{"_index":17075,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:26",{"_index":17524,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["config.dto.ts:27",{"_index":17074,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:28",{"_index":17526,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["config.dto.ts:29",{"_index":17068,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:30",{"_index":17523,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["config.dto.ts:4",{"_index":17071,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:6",{"_index":17073,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.dto.ts:8",{"_index":17077,"title":{},"body":{"classes/OauthConfigDto.html":{}}}],["config.entity",{"_index":2687,"title":{},"body":{"classes/BasicToolConfigEntity.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Oauth2ToolConfigEntity.html":{}}}],["config.entity.ts",{"_index":2683,"title":{},"body":{"classes/BasicToolConfigEntity.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Oauth2ToolConfigEntity.html":{}}}],["config.entity.ts:10",{"_index":10108,"title":{},"body":{"classes/ExternalToolConfigEntity.html":{}}}],["config.entity.ts:11",{"_index":16956,"title":{},"body":{"classes/Oauth2ToolConfigEntity.html":{}}}],["config.entity.ts:12",{"_index":15909,"title":{},"body":{"classes/Lti11ToolConfigEntity.html":{}}}],["config.entity.ts:15",{"_index":15908,"title":{},"body":{"classes/Lti11ToolConfigEntity.html":{}}}],["config.entity.ts:18",{"_index":15906,"title":{},"body":{"classes/Lti11ToolConfigEntity.html":{}}}],["config.entity.ts:21",{"_index":15907,"title":{},"body":{"classes/Lti11ToolConfigEntity.html":{}}}],["config.entity.ts:24",{"_index":15904,"title":{},"body":{"classes/Lti11ToolConfigEntity.html":{}}}],["config.entity.ts:6",{"_index":2684,"title":{},"body":{"classes/BasicToolConfigEntity.html":{}}}],["config.entity.ts:7",{"_index":10109,"title":{},"body":{"classes/ExternalToolConfigEntity.html":{}}}],["config.entity.ts:8",{"_index":16957,"title":{},"body":{"classes/Oauth2ToolConfigEntity.html":{}}}],["config.entity.ts:9",{"_index":15905,"title":{},"body":{"classes/Lti11ToolConfigEntity.html":{}}}],["config.frontchannellogouturi",{"_index":11007,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["config.fullname",{"_index":2267,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["config.guest",{"_index":2272,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["config.guestpolicy",{"_index":2190,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["config.interface.ts",{"_index":9056,"title":{},"body":{"interfaces/DeletionClientConfig.html":{}}}],["config.json",{"_index":25886,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["config.logouturl",{"_index":2186,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["config.meetingid",{"_index":2146,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"injectables/BBBService.html":{}}}],["config.moderatorpw",{"_index":2192,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["config.module",{"_index":6771,"title":{},"body":{"modules/ContextExternalToolModule.html":{},"modules/ExternalToolModule.html":{},"modules/OauthProviderModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolModule.html":{}}}],["config.module.ts",{"_index":22616,"title":{},"body":{"modules/ToolConfigModule.html":{}}}],["config.name",{"_index":2184,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["config.params",{"_index":2698,"title":{},"body":{"classes/BasicToolConfigParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["config.params.ts",{"_index":2692,"title":{},"body":{"classes/BasicToolConfigParams.html":{},"classes/ExternalToolConfigCreateParams.html":{}}}],["config.params.ts:4",{"_index":10106,"title":{},"body":{"classes/ExternalToolConfigCreateParams.html":{}}}],["config.params.ts:6",{"_index":10105,"title":{},"body":{"classes/ExternalToolConfigCreateParams.html":{}}}],["config.redirect",{"_index":2274,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["config.redirecturis",{"_index":11005,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["config.response",{"_index":2707,"title":{},"body":{"classes/BasicToolConfigResponse.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemResponseMapper.html":{}}}],["config.response.ts",{"_index":2702,"title":{},"body":{"classes/BasicToolConfigResponse.html":{},"classes/ExternalToolConfigResponse.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthConfigResponse.html":{}}}],["config.response.ts:10",{"_index":2704,"title":{},"body":{"classes/BasicToolConfigResponse.html":{}}}],["config.response.ts:13",{"_index":15912,"title":{},"body":{"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["config.response.ts:16",{"_index":15915,"title":{},"body":{"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthConfigResponse.html":{}}}],["config.response.ts:19",{"_index":15913,"title":{},"body":{"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["config.response.ts:22",{"_index":15914,"title":{},"body":{"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["config.response.ts:23",{"_index":17109,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:25",{"_index":15911,"title":{},"body":{"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["config.response.ts:28",{"_index":16961,"title":{},"body":{"classes/Oauth2ToolConfigResponse.html":{}}}],["config.response.ts:30",{"_index":17104,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:37",{"_index":17112,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:4",{"_index":10112,"title":{},"body":{"classes/ExternalToolConfigResponse.html":{}}}],["config.response.ts:44",{"_index":17102,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:51",{"_index":17110,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:58",{"_index":17111,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:6",{"_index":10111,"title":{},"body":{"classes/ExternalToolConfigResponse.html":{}}}],["config.response.ts:65",{"_index":17108,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:72",{"_index":17107,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:79",{"_index":17106,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:86",{"_index":17101,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.response.ts:9",{"_index":17103,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["config.role",{"_index":2269,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["config.scope",{"_index":11001,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["config.tokenendpointauthmethod",{"_index":11003,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["config.ts",{"_index":311,"title":{},"body":{"interfaces/AccountConfig.html":{},"interfaces/CoreModuleConfig.html":{},"interfaces/FilesStorageClientConfig.html":{},"interfaces/IToolFeatures.html":{},"interfaces/InterceptorConfig.html":{},"classes/KeycloakAdministration.html":{},"classes/KeycloakConfiguration.html":{},"classes/LdapConfig.html":{},"interfaces/LoggerConfig.html":{},"interfaces/MailConfig.html":{},"classes/OauthConfig.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewModuleConfig.html":{},"classes/ToolConfiguration.html":{},"interfaces/UserConfig.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["config.ts:10",{"_index":17045,"title":{},"body":{"classes/OauthConfig.html":{}}}],["config.ts:12",{"_index":17052,"title":{},"body":{"classes/OauthConfig.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["config.ts:14",{"_index":17044,"title":{},"body":{"classes/OauthConfig.html":{}}}],["config.ts:16",{"_index":17050,"title":{},"body":{"classes/OauthConfig.html":{},"classes/ToolConfiguration.html":{}}}],["config.ts:18",{"_index":17051,"title":{},"body":{"classes/OauthConfig.html":{}}}],["config.ts:2",{"_index":14910,"title":{},"body":{"classes/LdapConfig.html":{},"classes/OauthConfig.html":{}}}],["config.ts:20",{"_index":17048,"title":{},"body":{"classes/OauthConfig.html":{}}}],["config.ts:25",{"_index":17047,"title":{},"body":{"classes/OauthConfig.html":{}}}],["config.ts:27",{"_index":17046,"title":{},"body":{"classes/OauthConfig.html":{}}}],["config.ts:29",{"_index":17043,"title":{},"body":{"classes/OauthConfig.html":{}}}],["config.ts:4",{"_index":14459,"title":{},"body":{"classes/KeycloakConfiguration.html":{},"classes/LdapConfig.html":{},"classes/OauthConfig.html":{}}}],["config.ts:5",{"_index":14386,"title":{},"body":{"classes/KeycloakAdministration.html":{}}}],["config.ts:6",{"_index":14909,"title":{},"body":{"classes/LdapConfig.html":{},"classes/OauthConfig.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["config.ts:8",{"_index":17049,"title":{},"body":{"classes/OauthConfig.html":{}}}],["config.type",{"_index":10101,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["config.userid",{"_index":2270,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["config.welcome",{"_index":2188,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["config/development.json",{"_index":12021,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["config/test.json",{"_index":12022,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["config/x",{"_index":24416,"title":{},"body":{"injectables/XApiKeyStrategy.html":{}}}],["config['meta_bbb",{"_index":2198,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["configbuilder",{"_index":24135,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["configbuilder.withguestpolicy(guestpolicy.ask_moderator",{"_index":24141,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["configbuilder.withmuteonstart(true",{"_index":24143,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["configmodule",{"_index":1021,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/ManagementModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["configmodule.forroot(createconfigmoduleoptions",{"_index":17891,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["configmodule.forroot(createconfigmoduleoptions(config",{"_index":12321,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["configmodule.forroot(createconfigmoduleoptions(getdeletionclientconfig",{"_index":9074,"title":{},"body":{"modules/DeletionConsoleModule.html":{}}}],["configmodule.forroot(createconfigmoduleoptions(h5plibrarymanagementconfig",{"_index":13300,"title":{},"body":{"modules/H5PLibraryManagementModule.html":{}}}],["configmodule.forroot(createconfigmoduleoptions(metatagextractorconfig",{"_index":16211,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["configmodule.forroot(createconfigmoduleoptions(serverconfig",{"_index":1039,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/ManagementModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configs",{"_index":14613,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"modules/S3ClientModule.html":{}}}],["configs.flatmap((config",{"_index":19451,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["configservice",{"_index":634,"title":{},"body":{"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"injectables/AuthenticationService.html":{},"interfaces/CollectionFilePath.html":{},"controllers/CourseController.html":{},"injectables/DeletionClient.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"injectables/FilesStorageProducer.html":{},"injectables/H5PLibraryManagementService.html":{},"modules/InterceptorModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LocalStrategy.html":{},"modules/LoggerModule.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/PreviewProducer.html":{},"injectables/TldrawBoardRepo.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"injectables/XApiKeyStrategy.html":{}}}],["configservice.get('feature_identity_management_login_enabled",{"_index":684,"title":{},"body":{"modules/AccountModule.html":{}}}],["configservice.get('incoming_request_timeout",{"_index":14200,"title":{},"body":{"modules/InterceptorModule.html":{},"injectables/PreviewProducer.html":{}}}],["configservice.get('incoming_request_timeout_copy_api",{"_index":12352,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["configservice.get('nest_log_level",{"_index":15748,"title":{},"body":{"modules/LoggerModule.html":{}}}],["configservice.get(aeskey",{"_index":9841,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["configtoupdate",{"_index":11057,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["configtype",{"_index":22852,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["configuration",{"_index":2218,"title":{"additional-documentation/nestjs-application/configuration.html":{}},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarService.html":{},"interfaces/CleanOptions.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"interfaces/CopyFileDO.html":{},"injectables/CourseCopyUC.html":{},"modules/DeletionApiModule.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DtoCreator.html":{},"interfaces/FileDO.html":{},"interfaces/FileStorageConfig.html":{},"modules/FilesStorageModule.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/HydraSsoService.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IToolFeatures.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakConsole.html":{},"classes/KeycloakSeedService.html":{},"injectables/LessonCopyUC.html":{},"modules/ManagementModule.html":{},"injectables/MetaTagInternalUrlService.html":{},"interfaces/MigrationOptions.html":{},"controllers/OauthProviderController.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/PrometheusMetricsConfig.html":{},"injectables/PseudonymService.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/RedisModule.html":{},"interfaces/RetryOptions.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsService.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/ServerConfig.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TldrawConfig.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"injectables/UserLoginMigrationService.html":{},"classes/VideoConferenceConfiguration.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["configuration.console",{"_index":14472,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["configuration.console.ts",{"_index":4843,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["configuration.console.ts:121",{"_index":14675,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:156",{"_index":14678,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:172",{"_index":14679,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:201",{"_index":14677,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:23",{"_index":14671,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:32",{"_index":14672,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:51",{"_index":14673,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:77",{"_index":14674,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.console.ts:99",{"_index":14681,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["configuration.controller",{"_index":14479,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["configuration.controller.ts",{"_index":14796,"title":{},"body":{"controllers/KeycloakManagementController.html":{},"controllers/ToolConfigurationController.html":{}}}],["configuration.controller.ts:106",{"_index":22638,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["configuration.controller.ts:129",{"_index":22634,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["configuration.controller.ts:19",{"_index":14800,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["configuration.controller.ts:40",{"_index":22643,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["configuration.controller.ts:58",{"_index":22628,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["configuration.controller.ts:80",{"_index":22624,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["configuration.externaltoolid",{"_index":6693,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["configuration.get",{"_index":20143,"title":{},"body":{"interfaces/ServerConfig.html":{},"injectables/ShareTokenUC.html":{}}}],["configuration.get('additional_blacklisted_email_domains",{"_index":20151,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["configuration.get('admin_api__allowed_api_keys",{"_index":20148,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["configuration.get('antivirus_exchange",{"_index":12325,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["configuration.get('antivirus_routing_key",{"_index":12326,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["configuration.get('calendar_uri",{"_index":4286,"title":{},"body":{"injectables/CalendarService.html":{}}}],["configuration.get('clamav__service_hostname",{"_index":12327,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["configuration.get('clamav__service_port",{"_index":12328,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["configuration.get('column_board_feedback_link",{"_index":5523,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["configuration.get('column_board_help_link",{"_index":5507,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["configuration.get('ctl_tools__external_tool_max_logo_size_in_bytes",{"_index":13670,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["configuration.get('enable_file_security_check",{"_index":12323,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["configuration.get('feature_column_board_enabled",{"_index":9701,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsService.html":{}}}],["configuration.get('feature_compute_tool_status_without_versions_enabled",{"_index":13669,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["configuration.get('feature_copy_service_enabled",{"_index":7679,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["configuration.get('feature_course_share_new",{"_index":20526,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["configuration.get('feature_ctl_context_configuration_enabled",{"_index":13668,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["configuration.get('feature_ctl_tools_tab_enabled",{"_index":13666,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["configuration.get('feature_fwu_content_enabled",{"_index":12438,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["configuration.get('feature_identity_management_enabled",{"_index":14379,"title":{},"body":{"classes/KeycloakAdministration.html":{},"modules/ManagementModule.html":{},"interfaces/ServerConfig.html":{},"modules/ServerConsoleModule.html":{}}}],["configuration.get('feature_identity_management_login_enabled",{"_index":20146,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["configuration.get('feature_identity_management_store_enabled",{"_index":20145,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["configuration.get('feature_imscc_course_export_enabled",{"_index":20144,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["configuration.get('feature_lesson_share",{"_index":20528,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["configuration.get('feature_lti_tools_tab_enabled",{"_index":13667,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["configuration.get('feature_prometheus_metrics_enabled",{"_index":18026,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["configuration.get('feature_sanis_group_provisioning_enabled",{"_index":17711,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["configuration.get('feature_task_share",{"_index":20529,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["configuration.get('feature_tldraw_enabled",{"_index":22312,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["configuration.get('feature_videoconference_enabled",{"_index":24029,"title":{},"body":{"classes/VideoConferenceConfiguration.html":{}}}],["configuration.get('files_storage__exchange",{"_index":7140,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{}}}],["configuration.get('files_storage__incoming_request_timeout",{"_index":12014,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["configuration.get('files_storage__max_file_size",{"_index":12017,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["configuration.get('files_storage__s3_access_key_id",{"_index":12026,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["configuration.get('files_storage__s3_bucket",{"_index":12025,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["configuration.get('files_storage__s3_endpoint",{"_index":12023,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["configuration.get('files_storage__s3_region",{"_index":12024,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["configuration.get('files_storage__s3_secret_access_key",{"_index":12027,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["configuration.get('files_storage__service_base_url",{"_index":12324,"title":{},"body":{"modules/FilesStorageModule.html":{}}}],["configuration.get('files_storage__use_stream_to_antivirus",{"_index":12018,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["configuration.get('h5p_editor__library_list_path",{"_index":13616,"title":{},"body":{"interfaces/IH5PLibraryManagementConfig.html":{}}}],["configuration.get('host",{"_index":5535,"title":{},"body":{"injectables/ColumnBoardService.html":{},"injectables/HydraSsoService.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["configuration.get('hydra_public_uri",{"_index":13570,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["configuration.get('i18n__available_languages",{"_index":20139,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["configuration.get('identity_management__admin_clientid",{"_index":14385,"title":{},"body":{"classes/KeycloakAdministration.html":{}}}],["configuration.get('identity_management__admin_password",{"_index":14384,"title":{},"body":{"classes/KeycloakAdministration.html":{}}}],["configuration.get('identity_management__admin_user",{"_index":14383,"title":{},"body":{"classes/KeycloakAdministration.html":{}}}],["configuration.get('identity_management__clientid",{"_index":14382,"title":{},"body":{"classes/KeycloakAdministration.html":{}}}],["configuration.get('identity_management__tenant",{"_index":14381,"title":{},"body":{"classes/KeycloakAdministration.html":{}}}],["configuration.get('identity_management__uri",{"_index":14380,"title":{},"body":{"classes/KeycloakAdministration.html":{}}}],["configuration.get('incoming_request_timeout_api",{"_index":20137,"title":{},"body":{"interfaces/ServerConfig.html":{},"interfaces/TldrawConfig.html":{}}}],["configuration.get('incoming_request_timeout_copy_api",{"_index":12016,"title":{},"body":{"interfaces/FileStorageConfig.html":{},"interfaces/ServerConfig.html":{}}}],["configuration.get('login_block_time",{"_index":20142,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["configuration.get('mail_send_exchange",{"_index":18367,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('mail_send_routing_key",{"_index":20216,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('migration_end_grace_period_ms",{"_index":23670,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["configuration.get('nest_log_level",{"_index":12012,"title":{},"body":{"interfaces/FileStorageConfig.html":{},"interfaces/ServerConfig.html":{},"interfaces/TldrawConfig.html":{}}}],["configuration.get('nextcloud_scopes",{"_index":13584,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["configuration.get('nextcloud_sociallogin_oidc_internal_name",{"_index":5035,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["configuration.get('node_env",{"_index":20141,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["configuration.get('prometheus_metrics_collect_default_metrics",{"_index":18029,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["configuration.get('prometheus_metrics_collect_metrics_route_metrics",{"_index":18030,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["configuration.get('prometheus_metrics_port",{"_index":18028,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["configuration.get('prometheus_metrics_route",{"_index":18027,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["configuration.get('public_backend_url",{"_index":13671,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["configuration.get('rabbitmq_uri",{"_index":18368,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["configuration.get('redis_uri",{"_index":4232,"title":{},"body":{"modules/CacheWrapperModule.html":{},"modules/RedisModule.html":{}}}],["configuration.get('request_option__timeout_ms",{"_index":4288,"title":{},"body":{"injectables/CalendarService.html":{}}}],["configuration.get('rocket_chat_admin_id",{"_index":8995,"title":{},"body":{"modules/DeletionApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('rocket_chat_admin_password",{"_index":8998,"title":{},"body":{"modules/DeletionApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('rocket_chat_admin_token",{"_index":8996,"title":{},"body":{"modules/DeletionApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('rocket_chat_admin_user",{"_index":8997,"title":{},"body":{"modules/DeletionApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('rocket_chat_uri",{"_index":8994,"title":{},"body":{"modules/DeletionApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('s3_key",{"_index":20613,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["configuration.get('sc_domain",{"_index":2228,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/MetaTagInternalUrlService.html":{},"interfaces/ServerConfig.html":{}}}],["configuration.get('sc_theme",{"_index":5534,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["configuration.get('session__expires_seconds",{"_index":20219,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('session__http_only",{"_index":20243,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('session__name",{"_index":20232,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('session__proxy",{"_index":20235,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('session__same_site",{"_index":20239,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('session__secret",{"_index":20228,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('session__secure",{"_index":20237,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.get('tldraw__db_collection_name",{"_index":22309,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["configuration.get('tldraw__db_flush_size",{"_index":22310,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["configuration.get('tldraw__db_multiple_collections",{"_index":22311,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["configuration.get('tldraw__gc_enabled",{"_index":22314,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["configuration.get('tldraw__ping_timeout",{"_index":22313,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["configuration.get('tldraw__socket_port",{"_index":22316,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["configuration.get('tldraw_db_url",{"_index":22308,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["configuration.get('videoconference_default_presentation",{"_index":24028,"title":{},"body":{"classes/VideoConferenceConfiguration.html":{}}}],["configuration.get('videoconference_host",{"_index":24026,"title":{},"body":{"classes/VideoConferenceConfiguration.html":{}}}],["configuration.get('videoconference_salt",{"_index":24027,"title":{},"body":{"classes/VideoConferenceConfiguration.html":{}}}],["configuration.get(placeholder",{"_index":5339,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["configuration.has('column_board_feedback_link",{"_index":5521,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["configuration.has('column_board_help_link",{"_index":5505,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["configuration.has('redis_uri",{"_index":4215,"title":{},"body":{"injectables/CacheService.html":{},"modules/RedisModule.html":{}}}],["configuration.has('session__name",{"_index":20231,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.has('session__proxy",{"_index":20234,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configuration.has(placeholder",{"_index":5338,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["configuration.logourl",{"_index":6698,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["configuration.mapper",{"_index":22647,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["configuration.mapper.ts",{"_index":22668,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["configuration.mapper.ts:14",{"_index":22683,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["configuration.mapper.ts:30",{"_index":22681,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["configuration.mapper.ts:43",{"_index":22678,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["configuration.mapper.ts:62",{"_index":22675,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["configuration.mapper.ts:75",{"_index":22685,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["configuration.module",{"_index":16112,"title":{},"body":{"modules/ManagementModule.html":{}}}],["configuration.module.ts",{"_index":14469,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["configuration.name",{"_index":6696,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["configuration.parameters",{"_index":6699,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["configuration.response",{"_index":19797,"title":{},"body":{"classes/SchoolExternalToolResponse.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{}}}],["configuration.response.ts",{"_index":19705,"title":{},"body":{"classes/SchoolExternalToolConfigurationStatusResponse.html":{}}}],["configuration.response.ts:9",{"_index":19706,"title":{},"body":{"classes/SchoolExternalToolConfigurationStatusResponse.html":{}}}],["configuration.schoolexternaltoolid",{"_index":6695,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{}}}],["configuration.service",{"_index":14476,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.service.ts",{"_index":10115,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:100",{"_index":10143,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["configuration.service.ts:108",{"_index":14504,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:128",{"_index":14505,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:14",{"_index":10124,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["configuration.service.ts:155",{"_index":14506,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:167",{"_index":14501,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:191",{"_index":14525,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:20",{"_index":10137,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["configuration.service.ts:214",{"_index":14509,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:224",{"_index":14529,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:235",{"_index":14515,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:240",{"_index":14531,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:254",{"_index":14512,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:26",{"_index":14498,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:262",{"_index":14520,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:277",{"_index":14517,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:29",{"_index":10133,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["configuration.service.ts:34",{"_index":14503,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configuration.service.ts:51",{"_index":10128,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["configuration.service.ts:82",{"_index":10139,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["configuration.service.ts:92",{"_index":10142,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["configuration.uc",{"_index":4848,"title":{},"body":{"interfaces/CleanOptions.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["configuration.uc.ts",{"_index":10176,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.uc.ts:133",{"_index":10197,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["configuration.uc.ts:153",{"_index":10195,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["configuration.uc.ts:16",{"_index":14653,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.uc.ts:182",{"_index":10189,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["configuration.uc.ts:19",{"_index":10185,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["configuration.uc.ts:194",{"_index":10187,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["configuration.uc.ts:20",{"_index":14655,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.uc.ts:24",{"_index":14659,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.uc.ts:28",{"_index":14658,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.uc.ts:31",{"_index":10199,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["configuration.uc.ts:32",{"_index":14656,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.uc.ts:40",{"_index":10193,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["configuration.uc.ts:76",{"_index":10191,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["configuration.uc.ts:8",{"_index":14652,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["configuration.version",{"_index":6701,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["configuration/console/keycloak",{"_index":4842,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["configuration/controller/keycloak",{"_index":14795,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["configuration/interface/json",{"_index":14293,"title":{},"body":{"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{}}}],["configuration/interface/keycloak",{"_index":13624,"title":{},"body":{"interfaces/IKeycloakConfigurationInputFiles.html":{}}}],["configuration/keycloak",{"_index":14455,"title":{},"body":{"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/ManagementModule.html":{}}}],["configuration/mapper/identity",{"_index":17556,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["configuration/service/keycloak",{"_index":14482,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["configuration/uc/keycloak",{"_index":14650,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["configurations",{"_index":12019,"title":{},"body":{"interfaces/FileStorageConfig.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["configurationstatus",{"_index":6046,"title":{},"body":{"injectables/CommonToolService.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{}}}],["configurationstatus.isoutdatedonscopecontext",{"_index":6051,"title":{},"body":{"injectables/CommonToolService.html":{},"injectables/ToolVersionService.html":{}}}],["configurationstatus.isoutdatedonscopeschool",{"_index":6052,"title":{},"body":{"injectables/CommonToolService.html":{},"injectables/ToolVersionService.html":{}}}],["configure",{"_index":4898,"title":{},"body":{"interfaces/CleanOptions.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["configure(consumer",{"_index":20182,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["configure(options",{"_index":4900,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["configureaction",{"_index":14544,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configureaction.action",{"_index":14595,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configureaction.create",{"_index":14596,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configureaction.delete",{"_index":14600,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configureaction.update",{"_index":14598,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configureactions",{"_index":14593,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configurebrokerflows",{"_index":14484,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configureclient",{"_index":14485,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configured",{"_index":16305,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/NextcloudStrategy.html":{},"classes/OauthConfigMissingLoggableException.html":{}}}],["configureidentityproviders",{"_index":14486,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configurerealm",{"_index":14487,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["configures",{"_index":4899,"title":{},"body":{"interfaces/CleanOptions.html":{},"modules/CoreModule.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["confirmed",{"_index":17771,"title":{},"body":{"classes/PatchMyPasswordParams.html":{}}}],["confirmpassword",{"_index":17769,"title":{},"body":{"classes/PatchMyPasswordParams.html":{}}}],["conflict",{"_index":7634,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["conflicts",{"_index":13373,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["conjunction",{"_index":25893,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["conn",{"_index":22459,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["conn.readystate",{"_index":22501,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["conn.send(message",{"_index":22505,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["conncontrolledids",{"_index":24399,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["conncontrolledids.add(clientid",{"_index":24402,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["conncontrolledids.delete(clientid",{"_index":24404,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["connect",{"_index":14586,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/LdapService.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["connect(system",{"_index":15038,"title":{},"body":{"injectables/LdapService.html":{}}}],["connected",{"_index":19903,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["connecting",{"_index":25322,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["connection",{"_index":4874,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{},"dependencies.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["connection.connected",{"_index":15045,"title":{},"body":{"injectables/LdapService.html":{}}}],["connection.error",{"_index":15042,"title":{},"body":{"injectables/LdapService.html":{}}}],["connection.error.ts",{"_index":15028,"title":{},"body":{"classes/LdapConnectionError.html":{}}}],["connection.error.ts:4",{"_index":15030,"title":{},"body":{"classes/LdapConnectionError.html":{}}}],["connection.managedconnection.close",{"_index":18373,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["connection.ts",{"_index":22167,"title":{},"body":{"classes/TestConnection.html":{}}}],["connection.ts:4",{"_index":22170,"title":{},"body":{"classes/TestConnection.html":{}}}],["connection.ts:9",{"_index":22171,"title":{},"body":{"classes/TestConnection.html":{}}}],["connection.unbind",{"_index":15046,"title":{},"body":{"injectables/LdapService.html":{}}}],["connection_string",{"_index":22300,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["connectionname",{"_index":7246,"title":{},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/FileStorageConfig.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/S3Config.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["connections",{"_index":18370,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/TldrawWs.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["connectionstring",{"_index":22228,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["connectredis",{"_index":20213,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["connectredis(session",{"_index":20222,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["connectredis.redisstore",{"_index":20220,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["connects",{"_index":14801,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["conns",{"_index":22432,"title":{},"body":{"classes/TldrawWsFactory.html":{},"classes/WsSharedDocDo.html":{}}}],["consent",{"_index":164,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["consent.params.ts",{"_index":18849,"title":{},"body":{"classes/RevokeConsentParams.html":{}}}],["consent.params.ts:7",{"_index":18850,"title":{},"body":{"classes/RevokeConsentParams.html":{}}}],["consent.response",{"_index":18084,"title":{},"body":{"interfaces/ProviderConsentSessionResponse.html":{}}}],["consent_request",{"_index":18083,"title":{},"body":{"interfaces/ProviderConsentSessionResponse.html":{}}}],["consentflowuc",{"_index":17307,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["consentrequest",{"_index":17340,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["consentrequestbody",{"_index":6214,"title":{"classes/ConsentRequestBody.html":{}},"body":{"classes/ConsentRequestBody.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{}}}],["consentresponse",{"_index":6261,"title":{"classes/ConsentResponse.html":{}},"body":{"classes/ConsentResponse.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["consentresponse.client?.client_id",{"_index":17244,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["consentresponse.requested_scope",{"_index":17243,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["consentsessionresponse",{"_index":6303,"title":{"classes/ConsentSessionResponse.html":{}},"body":{"classes/ConsentSessionResponse.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["consequence",{"_index":25034,"title":{},"body":{"license.html":{}}}],["consequential",{"_index":25176,"title":{},"body":{"license.html":{}}}],["considerations",{"_index":25505,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["considered",{"_index":25004,"title":{},"body":{"license.html":{}}}],["consistent",{"_index":2230,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"classes/GlobalErrorFilter.html":{},"injectables/TldrawBoardRepo.html":{},"license.html":{}}}],["console",{"_index":3766,"title":{},"body":{"classes/BoardManagementConsole.html":{},"interfaces/CleanOptions.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeleteFilesConsole.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"classes/KeycloakConsole.html":{},"modules/ManagementModule.html":{},"interfaces/MigrationOptions.html":{},"interfaces/Options.html":{},"interfaces/RetryOptions.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"classes/TestBootstrapConsole.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["console.info('info",{"_index":6327,"title":{},"body":{"injectables/ConsoleWriterService.html":{}}}],["console.module.ts",{"_index":9065,"title":{},"body":{"modules/DeletionConsoleModule.html":{}}}],["console/board",{"_index":16113,"title":{},"body":{"modules/ManagementModule.html":{}}}],["console/database",{"_index":16115,"title":{},"body":{"modules/ManagementModule.html":{}}}],["console/keycloak",{"_index":14471,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["consolelogger",{"_index":15161,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["consolemodule",{"_index":9066,"title":{},"body":{"modules/DeletionConsoleModule.html":{},"modules/ServerConsoleModule.html":{}}}],["consolewriter",{"_index":3759,"title":{},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"interfaces/Options.html":{},"classes/ServerConsole.html":{}}}],["consolewritermodule",{"_index":3840,"title":{"modules/ConsoleWriterModule.html":{}},"body":{"modules/BoardModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/ServerConsoleModule.html":{}}}],["consolewriterservice",{"_index":3756,"title":{"injectables/ConsoleWriterService.html":{}},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"interfaces/CleanOptions.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"classes/KeycloakConsole.html":{},"modules/ManagementModule.html":{},"interfaces/MigrationOptions.html":{},"interfaces/Options.html":{},"interfaces/RetryOptions.html":{},"classes/ServerConsole.html":{},"classes/TestBootstrapConsole.html":{}}}],["conspicuously",{"_index":24849,"title":{},"body":{"license.html":{}}}],["const",{"_index":135,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"interfaces/AuthorizableObject.html":{},"classes/AuthorizationContextBuilder.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosResponseImp.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskStatusMapper.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"injectables/BsonConverter.html":{},"classes/BusinessError.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUrlHandler.html":{},"interfaces/CreateJwtParams.html":{},"classes/CustomParameterFactory.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"interfaces/EncryptionService.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolMetadataMapper.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateService.html":{},"interfaces/FileDO.html":{},"classes/FileDtoBuilder.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParamBuilder.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileResponseBuilder.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/ForbiddenLoggableException.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"modules/InterceptorModule.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LibraryRepo.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/LtiRoleMapper.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"injectables/MigrationCheckService.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthAdapterService.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"interfaces/ParentInfo.html":{},"injectables/PermissionService.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"injectables/ProvisioningService.html":{},"controllers/PseudonymController.html":{},"classes/PseudonymMapper.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencesService.html":{},"injectables/RegistrationPinRepo.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUserFactory.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolInfoMapper.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.html":{},"interfaces/ServerConfig.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerElement.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemEntityFactory.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoMapper.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"interfaces/TldrawConfig.html":{},"modules/TldrawModule.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchMapper.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{},"classes/UnauthorizedLoggableException.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"controllers/UserController.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchMapper.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationErrorLoggableException.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"injectables/VideoConferenceRepo.html":{},"classes/WsSharedDocDo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["constants",{"_index":1550,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/JwtStrategy.html":{},"injectables/S3ClientAdapter.html":{}}}],["constitutes",{"_index":24803,"title":{},"body":{"license.html":{}}}],["constraint",{"_index":18362,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["constructor",{"_index":433,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardContextResponse.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"classes/BoardResponse.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BruteForceError.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarService.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"injectables/ClassService.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"classes/ColumnResponse.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolResponse.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"injectables/CopyFilesService.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRule.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterResponse.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"injectables/DeletionExecutionUc.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestLogResponse.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"injectables/DeletionRequestService.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/ElementUc.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorResponse.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigEntity.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateService.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileMetadata.html":{},"classes/FilePermissionEntity.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"classes/GroupUserResponse.html":{},"classes/GroupValidPeriodEntity.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonCopyUC.html":{},"classes/LessonFactory.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"classes/LoginDto.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"injectables/LoginUc.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"classes/MaterialFactory.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"classes/OAuthProcessDto.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderUc.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/Path.html":{},"classes/PreviewActionsLoggable.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"classes/ProvisioningDto.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemDto.html":{},"classes/PseudonymResponse.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RichText.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUserFactory.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"classes/RoleDto.html":{},"classes/RoleReference.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/ScanResultDto.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.html":{},"classes/ScopeRef.html":{},"classes/ServerConsole.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenPayloadResponse.html":{},"classes/ShareTokenResponse.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/SingleColumnBoardResponse.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/StorageProviderRepo.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItemResponse.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionsResponse.html":{},"classes/SuccessfulResponse.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/SystemDto.html":{},"classes/SystemEntityFactory.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemRule.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoResponse.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"injectables/TaskService.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"classes/TeamFactory.html":{},"classes/TeamPermissionsDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"injectables/ToolVersionService.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserDO.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParentsEntity.html":{},"injectables/UserRule.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["constructor(@inject(defaultencryptionservice",{"_index":17563,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["constructor(@inject(mikroorm",{"_index":16394,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["constructor(@inject(request",{"_index":11401,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["constructor(@inject(winston_module_provider",{"_index":9929,"title":{},"body":{"injectables/ErrorLogger.html":{},"injectables/LegacyLogger.html":{},"injectables/Logger.html":{}}}],["constructor(_em",{"_index":2443,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FilesRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/TldrawRepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["constructor(accountrepo",{"_index":903,"title":{},"body":{"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{}}}],["constructor(adapter",{"_index":5081,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["constructor(amqpconnection",{"_index":1297,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/FilesStorageProducer.html":{},"injectables/MailService.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{}}}],["constructor(apivalidationerror",{"_index":1383,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["constructor(app",{"_index":1630,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["constructor(authenticationservice",{"_index":15691,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["constructor(authorisation",{"_index":15419,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["constructor(authorisationservice",{"_index":19081,"title":{},"body":{"injectables/RoomBoardDTOFactory.html":{}}}],["constructor(authorization",{"_index":7668,"title":{},"body":{"injectables/CourseCopyUC.html":{}}}],["constructor(authorizationhelper",{"_index":3664,"title":{},"body":{"injectables/BoardDoRule.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"injectables/GroupRule.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LessonRule.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{}}}],["constructor(authorizationservice",{"_index":2640,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/LessonUC.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/SubmissionItemUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["constructor(authservice",{"_index":15854,"title":{},"body":{"injectables/LoginUc.html":{}}}],["constructor(axioserror",{"_index":2099,"title":{},"body":{"classes/AxiosErrorLoggable.html":{}}}],["constructor(batchdeletionservice",{"_index":2865,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["constructor(bbbservice",{"_index":24108,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["constructor(bbbsettings",{"_index":2335,"title":{},"body":{"injectables/BBBService.html":{}}}],["constructor(boarddorepo",{"_index":3397,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoService.html":{},"injectables/CardService.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{},"injectables/SubmissionItemService.html":{}}}],["constructor(cachemanager",{"_index":14354,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["constructor(classesrepo",{"_index":4766,"title":{},"body":{"injectables/ClassService.html":{}}}],["constructor(client",{"_index":19325,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["constructor(clientid",{"_index":6307,"title":{},"body":{"classes/ConsentSessionResponse.html":{},"classes/IdTokenCreationLoggableException.html":{}}}],["constructor(closedat",{"_index":23399,"title":{},"body":{"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{}}}],["constructor(columnboardservice",{"_index":4128,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"injectables/ColumnBoardTargetService.html":{}}}],["constructor(config",{"_index":2142,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{}}}],["constructor(configservice",{"_index":22236,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"injectables/XApiKeyStrategy.html":{}}}],["constructor(configuration",{"_index":6683,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["constructor(consentresponse",{"_index":6269,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["constructor(console",{"_index":14670,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["constructor(consolewriter",{"_index":3755,"title":{},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"classes/ServerConsole.html":{}}}],["constructor(content",{"_index":6428,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["constructor(contextexternaltool",{"_index":16369,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["constructor(contextexternaltoolrepo",{"_index":6655,"title":{},"body":{"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolService.html":{}}}],["constructor(contextexternaltoolservice",{"_index":7068,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{},"injectables/ToolReferenceUc.html":{}}}],["constructor(contextexternaltoolvalidationservice",{"_index":23097,"title":{},"body":{"injectables/ToolVersionService.html":{}}}],["constructor(contexttoolrepo",{"_index":19741,"title":{},"body":{"injectables/SchoolExternalToolMetadataService.html":{}}}],["constructor(copyhelperservice",{"_index":7278,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["constructor(county",{"_index":7429,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["constructor(courseexportservice",{"_index":7683,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["constructor(courserepo",{"_index":7614,"title":{},"body":{"injectables/CourseCopyService.html":{},"injectables/CourseUc.html":{},"injectables/RoomsUc.html":{},"injectables/TaskCopyUC.html":{}}}],["constructor(courserule",{"_index":19286,"title":{},"body":{"injectables/RuleManager.html":{}}}],["constructor(courseservice",{"_index":2016,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/CourseUrlHandler.html":{}}}],["constructor(customkey",{"_index":20605,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["constructor(dashboardrepo",{"_index":8741,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["constructor(data",{"_index":864,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/Page.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/ToolReferenceListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["constructor(defaultencryptionservice",{"_index":17559,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["constructor(deletefilesuc",{"_index":8880,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["constructor(deletionclient",{"_index":2792,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/DeletionExecutionUc.html":{}}}],["constructor(deletionlogrepo",{"_index":9245,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["constructor(deletionrequestrepo",{"_index":9462,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["constructor(descendants",{"_index":3483,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["constructor(descriptionoroptions",{"_index":14891,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["constructor(details",{"_index":15029,"title":{},"body":{"classes/LdapConnectionError.html":{}}}],["constructor(domainobject",{"_index":8165,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{},"classes/ShareTokenDO.html":{},"classes/UserDO.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["constructor(dto",{"_index":4248,"title":{},"body":{"classes/CalendarEventDto.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceJoin.html":{}}}],["constructor(e",{"_index":1085,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["constructor(editormodel",{"_index":12496,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["constructor(em",{"_index":3596,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/BoardNodeRepo.html":{},"injectables/ClassesRepo.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/GroupRepo.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/SystemRepo.html":{}}}],["constructor(entityclass",{"_index":2566,"title":{},"body":{"classes/BaseFactory.html":{}}}],["constructor(entityname",{"_index":9856,"title":{},"body":{"classes/EntityNotFoundError.html":{}}}],["constructor(error",{"_index":9868,"title":{},"body":{"classes/ErrorLoggable.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/TokenRequestLoggableException.html":{}}}],["constructor(errorcode",{"_index":1464,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{}}}],["constructor(externalschoolid",{"_index":10043,"title":{},"body":{"classes/ExternalSchoolNumberMissingLoggableException.html":{}}}],["constructor(externaltoolid",{"_index":10352,"title":{},"body":{"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{}}}],["constructor(externaltoollogo",{"_index":10334,"title":{},"body":{"classes/ExternalToolLogo.html":{}}}],["constructor(externaltoolmetadata",{"_index":10431,"title":{},"body":{"classes/ExternalToolMetadata.html":{}}}],["constructor(externaltoolmetadataresponse",{"_index":10447,"title":{},"body":{"classes/ExternalToolMetadataResponse.html":{}}}],["constructor(externaltoolname",{"_index":18841,"title":{},"body":{"classes/RestrictedContextMismatchLoggable.html":{}}}],["constructor(externaltoolrepo",{"_index":10931,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["constructor(externaltoolservice",{"_index":10183,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/ToolReferenceService.html":{}}}],["constructor(externaluserid",{"_index":23799,"title":{},"body":{"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["constructor(feathersauthprovider",{"_index":11238,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["constructor(feathersserviceprovider",{"_index":9988,"title":{},"body":{"injectables/EtherpadService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/NexboardService.html":{}}}],["constructor(federalstaterepo",{"_index":11430,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["constructor(field",{"_index":23968,"title":{},"body":{"classes/ValidationErrorDetailResponse.html":{}}}],["constructor(fieldname",{"_index":13692,"title":{},"body":{"classes/IdTokenExtractionFailureLoggableException.html":{}}}],["constructor(file",{"_index":11443,"title":{},"body":{"classes/FileDto.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{}}}],["constructor(filecopyservice",{"_index":18395,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["constructor(filerecord",{"_index":7179,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["constructor(filesrepo",{"_index":8906,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["constructor(filesstorageclientadapterservice",{"_index":20056,"title":{},"body":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["constructor(filesstorageservice",{"_index":12242,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["constructor(group",{"_index":12858,"title":{},"body":{"classes/GroupResponse.html":{},"classes/ResolvedGroupDto.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["constructor(grouprepo",{"_index":12934,"title":{},"body":{"injectables/GroupService.html":{}}}],["constructor(groupuser",{"_index":23390,"title":{},"body":{"classes/UserForGroupNotFoundLoggable.html":{}}}],["constructor(httpservice",{"_index":4277,"title":{},"body":{"injectables/CalendarService.html":{},"injectables/DeletionClient.html":{},"injectables/OauthAdapterService.html":{}}}],["constructor(id",{"_index":2434,"title":{},"body":{"classes/BaseDO.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardEntity.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/GridElement.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"interfaces/IGridElement.html":{},"classes/ScopeRef.html":{}}}],["constructor(idmservice",{"_index":632,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["constructor(info",{"_index":1436,"title":{},"body":{"classes/AppStartLoggable.html":{}}}],["constructor(init",{"_index":4180,"title":{},"body":{"classes/Builder.html":{}}}],["constructor(internallinkmatatagservice",{"_index":16233,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["constructor(inusermigration",{"_index":16357,"title":{},"body":{"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{}}}],["constructor(jwtservice",{"_index":1693,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["constructor(jwtvalidationadapter",{"_index":14328,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["constructor(kcadmin",{"_index":14496,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["constructor(kcadminclient",{"_index":14414,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["constructor(kcadminservice",{"_index":14685,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["constructor(key",{"_index":8158,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["constructor(ldapconfig",{"_index":14925,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["constructor(legacysystemservice",{"_index":21239,"title":{},"body":{"injectables/SystemUc.html":{}}}],["constructor(lessonrepo",{"_index":15545,"title":{},"body":{"injectables/LessonService.html":{}}}],["constructor(lessonservice",{"_index":15578,"title":{},"body":{"injectables/LessonUrlHandler.html":{}}}],["constructor(librarymetadata",{"_index":11676,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["constructor(librarystorage",{"_index":13311,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["constructor(loader",{"_index":1949,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["constructor(logger",{"_index":3250,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/DrawingElementAdapterService.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/ErrorLogger.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"injectables/LdapService.html":{},"injectables/LegacyLogger.html":{},"injectables/Logger.html":{},"injectables/NextcloudStrategy.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["constructor(loginresponse",{"_index":15827,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["constructor(logourl",{"_index":10341,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{}}}],["constructor(logouturl",{"_index":14213,"title":{},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{}}}],["constructor(ltirepo",{"_index":13501,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["constructor(ltitoolrepo",{"_index":16049,"title":{},"body":{"injectables/LtiToolService.html":{}}}],["constructor(ltitoolservice",{"_index":17360,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["constructor(machinename",{"_index":11626,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["constructor(message",{"_index":1796,"title":{},"body":{"classes/AuthorizationError.html":{},"classes/ForbiddenOperationError.html":{},"classes/PreviewActionsLoggable.html":{},"classes/ValidationError.html":{}}}],["constructor(metadata",{"_index":6529,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["constructor(name",{"_index":11617,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"classes/WsSharedDocDo.html":{}}}],["constructor(newsrepo",{"_index":16643,"title":{},"body":{"injectables/NewsUc.html":{}}}],["constructor(oauthconfig",{"_index":14942,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["constructor(oauthconfigdto",{"_index":17042,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{}}}],["constructor(oauthconfigresponse",{"_index":17100,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["constructor(oauthproviderloginflowservice",{"_index":13704,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["constructor(oauthproviderservice",{"_index":17191,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderUc.html":{}}}],["constructor(oauthservice",{"_index":13435,"title":{},"body":{"injectables/HydraOauthUc.html":{},"injectables/Oauth2Strategy.html":{}}}],["constructor(officialschoolnumber",{"_index":20031,"title":{},"body":{"classes/SchoolNumberDuplicateLoggableException.html":{}}}],["constructor(oidcconfig",{"_index":14998,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["constructor(oidcconfigdto",{"_index":17520,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["constructor(oidcprovisioningservice",{"_index":17700,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["constructor(operation",{"_index":16486,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{}}}],["constructor(operator",{"_index":20106,"title":{},"body":{"classes/Scope.html":{}}}],["constructor(options",{"_index":5795,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["constructor(organizationelements",{"_index":5963,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["constructor(parametertype",{"_index":17746,"title":{},"body":{"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["constructor(params",{"_index":15179,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["constructor(path",{"_index":11624,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["constructor(payload",{"_index":20392,"title":{},"body":{"classes/ShareTokenPayloadResponse.html":{}}}],["constructor(previewgeneratorservice",{"_index":17866,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["constructor(private",{"_index":400,"title":{},"body":{"controllers/AccountController.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorLoggable.html":{},"classes/BaseFactory.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"controllers/BoardController.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CalendarService.html":{},"controllers/CardController.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"injectables/ColumnService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRule.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"controllers/DashboardController.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"classes/DeletionExecutionConsole.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionQueueConsole.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"controllers/DeletionRequestsController.html":{},"injectables/DrawingElementAdapterService.html":{},"injectables/DurationLoggingInterceptor.html":{},"controllers/ElementController.html":{},"classes/ErrorLoggable.html":{},"injectables/EtherpadService.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FederalStateService.html":{},"controllers/FileSecurityController.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"controllers/FwuLearningContentsController.html":{},"classes/GlobalErrorFilter.html":{},"controllers/GroupController.html":{},"injectables/GroupRepo.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"controllers/H5PEditorController.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"controllers/ImportUserController.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtStrategy.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/LdapService.html":{},"injectables/LegacySchoolRule.html":{},"controllers/LessonController.html":{},"injectables/LessonUrlHandler.html":{},"controllers/LoginController.html":{},"injectables/LoginUc.html":{},"injectables/LtiToolService.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorService.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"controllers/NewsController.html":{},"injectables/NexboardService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfigMissingLoggableException.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"interfaces/Options.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PreviewActionsLoggable.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"controllers/PseudonymController.html":{},"injectables/PseudonymsRepo.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearService.html":{},"classes/ServerConsole.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionRule.html":{},"injectables/SymetricKeyEncryptionService.html":{},"controllers/SystemController.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemRule.html":{},"injectables/SystemService.html":{},"controllers/TaskController.html":{},"injectables/TaskUrlHandler.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"injectables/TimeoutInterceptor.html":{},"controllers/TldrawController.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"controllers/UserController.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"injectables/UserRule.html":{},"injectables/UserUc.html":{},"classes/ValidationErrorLoggableException.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["constructor(props",{"_index":232,"title":{},"body":{"entities/Account.html":{},"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizableObject.html":{},"classes/AxiosResponseImp.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigResponse.html":{},"entities/Board.html":{},"entities/BoardElement.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnBoardTarget.html":{},"entities/ColumnNode.html":{},"entities/ColumnboardBoardElement.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextRef.html":{},"classes/CookiesDto.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterResponse.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DomainObject.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolElementContent.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"classes/ExternalToolElementResponse.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"classes/ExternalUserDto.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/FileDto-1.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"classes/GridElement.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"classes/HydraRedirectDto.html":{},"interfaces/IGridElement.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"entities/LessonBoardElement.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/LoginDto.html":{},"classes/LoginResponse.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"entities/LtiTool.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/OidcConfigEntity.html":{},"classes/PageContentDto.html":{},"interfaces/ParentInfo.html":{},"classes/PropertyData.html":{},"classes/ProvisioningSystemDto.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/ResolvedGroupUser.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"classes/ScanResultDto.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"entities/Submission.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionProperties.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"classes/TeamPermissionsDto.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRolePermissionsDto.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"entities/User.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["constructor(protected",{"_index":2479,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FilesRepo.html":{},"interfaces/IDashboardRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["constructor(provisioningdto",{"_index":18090,"title":{},"body":{"classes/ProvisioningDto.html":{}}}],["constructor(pseudonym",{"_index":22592,"title":{},"body":{"classes/TooManyPseudonymsLoggableException.html":{}}}],["constructor(pseudonymrepo",{"_index":18247,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["constructor(pseudonymservice",{"_index":18291,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["constructor(public",{"_index":22265,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["constructor(readonly",{"_index":1370,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/EntityNotFoundError.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{}}}],["constructor(redirectreponse",{"_index":18597,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["constructor(registrationpinrepo",{"_index":18723,"title":{},"body":{"injectables/RegistrationPinService.html":{}}}],["constructor(relation",{"_index":12916,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["constructor(repo",{"_index":7765,"title":{},"body":{"injectables/CourseGroupService.html":{},"injectables/CourseService.html":{},"injectables/FilesService.html":{},"injectables/TemporaryFileStorage.html":{}}}],["constructor(req",{"_index":18737,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["constructor(request",{"_index":11412,"title":{},"body":{"injectables/FeathersServiceProvider.html":{}}}],["constructor(requesttimeout",{"_index":22207,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["constructor(res",{"_index":18757,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["constructor(resourceelements",{"_index":5991,"title":{},"body":{"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["constructor(resourcename",{"_index":16821,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["constructor(resp",{"_index":9529,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["constructor(response",{"_index":6887,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/OAuthProcessDto.html":{},"classes/PseudonymResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["constructor(responsemapper",{"_index":19523,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["constructor(rocketchatuserrepo",{"_index":18986,"title":{},"body":{"injectables/RocketChatUserService.html":{}}}],["constructor(rolerepo",{"_index":19060,"title":{},"body":{"injectables/RoleService.html":{}}}],["constructor(roleservice",{"_index":19077,"title":{},"body":{"injectables/RoleUc.html":{}}}],["constructor(rulemanager",{"_index":1969,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["constructor(school",{"_index":19947,"title":{},"body":{"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{}}}],["constructor(schoolexternaltoolmetadata",{"_index":19730,"title":{},"body":{"classes/SchoolExternalToolMetadata.html":{}}}],["constructor(schoolexternaltoolmetadataresponse",{"_index":19737,"title":{},"body":{"classes/SchoolExternalToolMetadataResponse.html":{}}}],["constructor(schoolexternaltoolrepo",{"_index":19829,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["constructor(schoolexternaltoolservice",{"_index":19865,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{},"injectables/ToolLaunchService.html":{}}}],["constructor(schoolid",{"_index":20042,"title":{},"body":{"classes/SchoolNumberMissingLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{}}}],["constructor(schoolname",{"_index":19924,"title":{},"body":{"classes/SchoolInUserMigrationEndLoggable.html":{}}}],["constructor(schoolrepo",{"_index":15291,"title":{},"body":{"injectables/LegacySchoolService.html":{},"injectables/SchoolValidationService.html":{}}}],["constructor(schoolservice",{"_index":2064,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/SchoolMigrationService.html":{}}}],["constructor(schooltoolrepo",{"_index":10454,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{}}}],["constructor(schoolyearrepo",{"_index":20099,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["constructor(service",{"_index":5129,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["constructor(sharetokenservice",{"_index":20467,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["constructor(sourceentityname",{"_index":18654,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["constructor(sourceschoolnumber",{"_index":20034,"title":{},"body":{"classes/SchoolNumberMismatchLoggableException.html":{}}}],["constructor(state",{"_index":18035,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["constructor(storageclient",{"_index":17904,"title":{},"body":{"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{}}}],["constructor(strategy",{"_index":4964,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["constructor(submissionitemsresponse",{"_index":21005,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["constructor(submissionrepo",{"_index":20958,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["constructor(submissionservice",{"_index":20986,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["constructor(successful",{"_index":21014,"title":{},"body":{"classes/SuccessfulResponse.html":{}}}],["constructor(system",{"_index":18325,"title":{},"body":{"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{}}}],["constructor(systemid",{"_index":17096,"title":{},"body":{"classes/OauthConfigMissingLoggableException.html":{}}}],["constructor(systemrepo",{"_index":15067,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LegacySystemService.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemService.html":{}}}],["constructor(systemresponses",{"_index":18321,"title":{},"body":{"classes/PublicSystemListResponse.html":{}}}],["constructor(systemservice",{"_index":18110,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["constructor(task",{"_index":21280,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["constructor(taskrepo",{"_index":21436,"title":{},"body":{"injectables/TaskCopyService.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{}}}],["constructor(taskservice",{"_index":19218,"title":{},"body":{"injectables/RoomsService.html":{},"injectables/TaskUrlHandler.html":{}}}],["constructor(taskurlhandler",{"_index":16289,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["constructor(teamsrepo",{"_index":21979,"title":{},"body":{"injectables/TeamService.html":{}}}],["constructor(timetowait",{"_index":4154,"title":{},"body":{"classes/BruteForceError.html":{}}}],["constructor(tldrawrepo",{"_index":22374,"title":{},"body":{"injectables/TldrawService.html":{}}}],["constructor(tokengenerator",{"_index":20436,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["constructor(toolfeatures",{"_index":10122,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolLogoService.html":{}}}],["constructor(toollaunchservice",{"_index":22936,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["constructor(toolpermissionhelper",{"_index":7029,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["constructor(toolreference",{"_index":22966,"title":{},"body":{"classes/ToolReference.html":{}}}],["constructor(toolreferenceresponse",{"_index":23005,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["constructor(total",{"_index":17736,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["constructor(type",{"_index":9959,"title":{},"body":{"classes/ErrorResponse.html":{}}}],["constructor(undefined",{"_index":821,"title":{},"body":{"classes/AccountResponse.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardContextResponse.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusResponse.html":{},"classes/BusinessError.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"classes/CardSkeletonResponse.html":{},"classes/ColumnResponse.html":{},"classes/CopyApiResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/DtoCreator.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/NewsResponse.html":{},"classes/RichText.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/SchoolInfoResponse.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/TargetInfoResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskStatusResponse.html":{},"classes/TimestampsResponse.html":{},"classes/UserDataResponse.html":{},"classes/UserInfoResponse.html":{},"classes/VisibilitySettingsResponse.html":{}}}],["constructor(unknownquerytype",{"_index":23111,"title":{},"body":{"classes/UnknownQueryTypeLoggableException.html":{}}}],["constructor(user",{"_index":13003,"title":{},"body":{"classes/GroupUserResponse.html":{},"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{},"classes/UserDto.html":{}}}],["constructor(userid",{"_index":12407,"title":{},"body":{"classes/ForbiddenLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["constructor(userloginmigrationid",{"_index":23549,"title":{},"body":{"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["constructor(userloginmigrationservice",{"_index":4927,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationRevertService.html":{}}}],["constructor(usermatchschoolid",{"_index":19911,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["constructor(usermigrationdto",{"_index":16350,"title":{},"body":{"classes/MigrationDto.html":{}}}],["constructor(usermigrationservice",{"_index":23690,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["constructor(username",{"_index":23107,"title":{},"body":{"classes/UnauthorizedLoggableException.html":{}}}],["constructor(userrepo",{"_index":18615,"title":{},"body":{"injectables/ReferenceLoader.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["constructor(userservice",{"_index":11297,"title":{},"body":{"injectables/FeathersRosterService.html":{},"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"injectables/OidcProvisioningService.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["constructor(uuid",{"_index":13733,"title":{},"body":{"classes/IdTokenUserNotFoundLoggableException.html":{}}}],["constructor(validationerrors",{"_index":1357,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/ValidationErrorLoggableException.html":{}}}],["construed",{"_index":25121,"title":{},"body":{"license.html":{}}}],["consumer",{"_index":15873,"title":{},"body":{"injectables/Lti11EncryptionService.html":{},"interfaces/PreviewConfig.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"interfaces/PreviewModuleConfig.html":{},"injectables/PreviewProducer.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["consumer.authorize(requestdata",{"_index":15881,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["consumer.module.ts",{"_index":17882,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["consumer.module.ts:13",{"_index":17885,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["contact",{"_index":25209,"title":{},"body":{"license.html":{}}}],["contain",{"_index":585,"title":{},"body":{"classes/AccountFactory.html":{},"entities/Board.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["contained",{"_index":5709,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["container",{"_index":3129,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"controllers/BoardSubmissionController.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"injectables/SubmissionItemUc.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["container.'})@apiresponse({status",{"_index":4008,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["container.url.params.ts",{"_index":20745,"title":{},"body":{"classes/SubmissionContainerUrlParams.html":{}}}],["container.url.params.ts:11",{"_index":20747,"title":{},"body":{"classes/SubmissionContainerUrlParams.html":{}}}],["containing",{"_index":9294,"title":{},"body":{"classes/DeletionQueueConsole.html":{},"classes/OauthClientBody.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["contains",{"_index":6119,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"classes/ConsentRequestBody.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/FileMetadata.html":{},"classes/FilterImportUserParams.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/LoginRequestBody.html":{},"injectables/NewsRepo.html":{},"classes/OAuthRejectableBody.html":{},"classes/OauthClientBody.html":{},"interfaces/OauthCurrentUser.html":{},"classes/Path.html":{},"classes/ReferencesService.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/TldrawWsService.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["content",{"_index":2392,"title":{},"body":{"injectables/BBBService.html":{},"classes/BoardElementResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"interfaces/CollectionFilePath.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentMetadata.html":{},"controllers/CourseController.html":{},"entities/CourseNews.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"injectables/DeletionClient.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileContentBody.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/FileMetadata.html":{},"injectables/FileSystemAdapter.html":{},"controllers/FwuLearningContentsController.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"interfaces/INewsScope.html":{},"entities/InstalledLibrary.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/MoveContentElementBody.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"injectables/OauthAdapterService.html":{},"classes/Path.html":{},"classes/ReferencesService.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"entities/SchoolNews.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"classes/TaskResponse.html":{},"entities/TeamNews.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["content.body.params.ts",{"_index":9566,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["content.body.params.ts:106",{"_index":20715,"title":{},"body":{"classes/SubmissionContainerContentBody.html":{}}}],["content.body.params.ts:115",{"_index":20732,"title":{},"body":{"classes/SubmissionContainerElementContentBody.html":{}}}],["content.body.params.ts:122",{"_index":10234,"title":{},"body":{"classes/ExternalToolContentBody.html":{}}}],["content.body.params.ts:131",{"_index":10271,"title":{},"body":{"classes/ExternalToolElementContentBody.html":{}}}],["content.body.params.ts:14",{"_index":9759,"title":{},"body":{"classes/ElementContentBody.html":{}}}],["content.body.params.ts:169",{"_index":23116,"title":{},"body":{"classes/UpdateElementContentBodyParams.html":{}}}],["content.body.params.ts:20",{"_index":11439,"title":{},"body":{"classes/FileContentBody.html":{}}}],["content.body.params.ts:24",{"_index":11438,"title":{},"body":{"classes/FileContentBody.html":{}}}],["content.body.params.ts:33",{"_index":11503,"title":{},"body":{"classes/FileElementContentBody.html":{}}}],["content.body.params.ts:39",{"_index":15630,"title":{},"body":{"classes/LinkContentBody.html":{}}}],["content.body.params.ts:44",{"_index":15629,"title":{},"body":{"classes/LinkContentBody.html":{}}}],["content.body.params.ts:49",{"_index":15627,"title":{},"body":{"classes/LinkContentBody.html":{}}}],["content.body.params.ts:54",{"_index":15628,"title":{},"body":{"classes/LinkContentBody.html":{}}}],["content.body.params.ts:63",{"_index":15655,"title":{},"body":{"classes/LinkElementContentBody.html":{}}}],["content.body.params.ts:69",{"_index":9567,"title":{},"body":{"classes/DrawingContentBody.html":{}}}],["content.body.params.ts:78",{"_index":9618,"title":{},"body":{"classes/DrawingElementContentBody.html":{}}}],["content.body.params.ts:84",{"_index":18863,"title":{},"body":{"classes/RichTextContentBody.html":{}}}],["content.body.params.ts:88",{"_index":18862,"title":{},"body":{"classes/RichTextContentBody.html":{}}}],["content.body.params.ts:97",{"_index":18889,"title":{},"body":{"classes/RichTextElementContentBody.html":{}}}],["content.component",{"_index":5753,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["content.content.description",{"_index":5767,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["content.content.url",{"_index":5766,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["content.dto.ts",{"_index":17722,"title":{},"body":{"classes/PageContentDto.html":{}}}],["content.dto.ts:2",{"_index":17726,"title":{},"body":{"classes/PageContentDto.html":{}}}],["content.dto.ts:4",{"_index":17725,"title":{},"body":{"classes/PageContentDto.html":{}}}],["content.entity.ts",{"_index":6507,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["content.entity.ts:11",{"_index":6539,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:122",{"_index":13037,"title":{},"body":{"entities/H5PContent.html":{}}}],["content.entity.ts:130",{"_index":13043,"title":{},"body":{"entities/H5PContent.html":{}}}],["content.entity.ts:134",{"_index":13038,"title":{},"body":{"entities/H5PContent.html":{}}}],["content.entity.ts:14",{"_index":6540,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:141",{"_index":13039,"title":{},"body":{"entities/H5PContent.html":{}}}],["content.entity.ts:148",{"_index":13042,"title":{},"body":{"entities/H5PContent.html":{}}}],["content.entity.ts:151",{"_index":13041,"title":{},"body":{"entities/H5PContent.html":{}}}],["content.entity.ts:17",{"_index":6543,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:20",{"_index":6544,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:23",{"_index":6545,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:26",{"_index":6549,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:29",{"_index":6550,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:32",{"_index":6551,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:35",{"_index":6552,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:38",{"_index":6555,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:41",{"_index":6537,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:44",{"_index":6531,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:47",{"_index":6546,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:50",{"_index":6548,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:53",{"_index":6556,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:56",{"_index":6557,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:59",{"_index":6553,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:62",{"_index":6554,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:65",{"_index":6534,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:68",{"_index":6547,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:71",{"_index":6536,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:74",{"_index":6532,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.entity.ts:77",{"_index":6530,"title":{},"body":{"classes/ContentMetadata.html":{}}}],["content.factory.ts",{"_index":13046,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["content.identifier",{"_index":5962,"title":{},"body":{"classes/CommonCartridgeOrganizationItemElement.html":{}}}],["content.library",{"_index":12513,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["content.mapper.ts",{"_index":13059,"title":{},"body":{"classes/H5PContentMapper.html":{}}}],["content.mapper.ts:6",{"_index":13060,"title":{},"body":{"classes/H5PContentMapper.html":{}}}],["content.numberofdrafttasks",{"_index":9722,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["content.numberofplannedtasks",{"_index":9724,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["content.params.metadata",{"_index":12514,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["content.params.params",{"_index":12515,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["content.repo.ts",{"_index":13093,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["content.repo.ts:12",{"_index":13100,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["content.repo.ts:18",{"_index":13098,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["content.repo.ts:26",{"_index":13102,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["content.repo.ts:8",{"_index":13103,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["content.title",{"_index":5752,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{}}}],["content.title}${content.content.text",{"_index":5759,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["content/:contentid/:file",{"_index":13186,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["content_developer",{"_index":8089,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["contentbodyparams",{"_index":1234,"title":{"classes/ContentBodyParams.html":{}},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ContentBodyParams.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{}}}],["contentdeveloper",{"_index":8090,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["contentdisposition",{"_index":1442,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["contentelementfactory",{"_index":3847,"title":{"injectables/ContentElementFactory.html":{}},"body":{"modules/BoardModule.html":{},"injectables/ColumnBoardService.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementService.html":{}}}],["contentelementid",{"_index":6497,"title":{},"body":{"classes/ContentElementUrlParams.html":{},"injectables/ElementUc.html":{}}}],["contentelementresponsefactory",{"_index":4024,"title":{"classes/ContentElementResponseFactory.html":{}},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CardResponseMapper.html":{},"classes/ContentElementResponseFactory.html":{},"controllers/ElementController.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["contentelementresponsefactory.mapsubmissioncontenttoresponse(element",{"_index":4044,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["contentelementresponsefactory.maptoresponse(element",{"_index":4389,"title":{},"body":{"controllers/CardController.html":{},"classes/CardResponseMapper.html":{},"controllers/ElementController.html":{}}}],["contentelementservice",{"_index":2018,"title":{"injectables/ContentElementService.html":{}},"body":{"injectables/AutoContextNameStrategy.html":{},"modules/BoardModule.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/ContentElementService.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["contentelementtype",{"_index":4438,"title":{},"body":{"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnUc.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementService.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileContentBody.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"injectables/SubmissionItemUc.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["contentelementtype.drawing",{"_index":6356,"title":{},"body":{"injectables/ContentElementFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["contentelementtype.external_tool",{"_index":6360,"title":{},"body":{"injectables/ContentElementFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["contentelementtype.file",{"_index":6350,"title":{},"body":{"injectables/ContentElementFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"injectables/SubmissionItemUc.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["contentelementtype.link",{"_index":6352,"title":{},"body":{"injectables/ContentElementFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["contentelementtype.rich_text",{"_index":6354,"title":{},"body":{"injectables/ContentElementFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"injectables/SubmissionItemUc.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["contentelementtype.submission_container",{"_index":6358,"title":{},"body":{"injectables/ContentElementFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["contentelementupdatevisitor",{"_index":6411,"title":{"injectables/ContentElementUpdateVisitor.html":{}},"body":{"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{}}}],["contentelementupdatevisitor(content",{"_index":6422,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["contentelementurlparams",{"_index":6494,"title":{"classes/ContentElementUrlParams.html":{}},"body":{"classes/ContentElementUrlParams.html":{},"controllers/ElementController.html":{}}}],["contentfile",{"_index":13210,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["contentfileurlparams",{"_index":6499,"title":{"classes/ContentFileUrlParams.html":{}},"body":{"classes/ContentFileUrlParams.html":{},"controllers/H5PEditorController.html":{}}}],["contentid",{"_index":1240,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"interfaces/AppendedAttachment.html":{},"classes/ContentBodyParams.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["contentlength",{"_index":7253,"title":{},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5pFileDto.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/PreviewFileParams.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"classes/TestHelper.html":{}}}],["contentmanager",{"_index":13331,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["contentmanager(this.contentstorage",{"_index":13359,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["contentmetadata",{"_index":6505,"title":{"classes/ContentMetadata.html":{}},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{}}}],["contentparameters",{"_index":12492,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["contentparentid",{"_index":13072,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["contentparenttype",{"_index":13071,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["contentrange",{"_index":7254,"title":{},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5pFileDto.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/PreviewFileParams.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"classes/TestHelper.html":{}}}],["contentrangeheader",{"_index":13240,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["contents",{"_index":6154,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"modules/FwuLearningContentsTestModule.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"license.html":{}}}],["contents.config",{"_index":12466,"title":{},"body":{"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{}}}],["contents.controller",{"_index":12465,"title":{},"body":{"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{}}}],["contents.controller.ts",{"_index":12425,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["contents.controller.ts:25",{"_index":12430,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["contents.module.ts",{"_index":12461,"title":{},"body":{"modules/FwuLearningContentsModule.html":{}}}],["contents.params",{"_index":12435,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["contents.params.ts",{"_index":12520,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{}}}],["contents.params.ts:11",{"_index":12526,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{}}}],["contents.push(element",{"_index":15466,"title":{},"body":{"classes/LessonFactory.html":{}}}],["contents.uc",{"_index":12433,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{}}}],["contents.uc.ts",{"_index":12476,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["contents.uc.ts:15",{"_index":12480,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["contents.uc.ts:7",{"_index":12479,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["contents/controller/dto/fwu",{"_index":12519,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{}}}],["contents/controller/fwu",{"_index":12424,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["contents/fwu",{"_index":12460,"title":{},"body":{"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{}}}],["contents/interface/config.ts",{"_index":19454,"title":{},"body":{"interfaces/S3Config-1.html":{}}}],["contents/uc/fwu",{"_index":12475,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["contentstorage",{"_index":13259,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["contenttype",{"_index":6513,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/CopyFiles.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoService.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5pFileDto.html":{},"interfaces/LibrariesContentType.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/PreviewFileParams.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"classes/TestHelper.html":{}}}],["contenttypecache",{"_index":13302,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["contenttypecache(h5pconfig",{"_index":13354,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["contenttypedetector",{"_index":10379,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["contenttypedetector[imagesignature",{"_index":10418,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["contenttypeinformationrepository",{"_index":13326,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["contenttypeinformationrepository(this.contenttypecache",{"_index":13358,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["contenttyperepo",{"_index":13303,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["contentuserstatesaveinterval",{"_index":13341,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["context",{"_index":183,"title":{},"body":{"interfaces/AcceptLoginRequestBody.html":{},"classes/AuthorizationContextBuilder.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/BaseUc.html":{},"controllers/BoardController.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardManagementUc.html":{},"injectables/CardUc.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ConsentResponse.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolMetadata.html":{},"injectables/ExternalToolMetadataService.html":{},"classes/ForbiddenLoggableException.html":{},"injectables/GroupRule.html":{},"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LessonRule.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/OauthProviderRequestMapper.html":{},"interfaces/ProviderConsentResponse.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"classes/SchoolExternalToolMetadata.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolUc.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"modules/ToolApiModule.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolLaunchController.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"injectables/ToolVersionService.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"index.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["context'})@apiokresponse({description",{"_index":22623,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolReferenceController.html":{}}}],["context(context",{"_index":5395,"title":{},"body":{"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["context.action",{"_index":3675,"title":{},"body":{"injectables/BoardDoRule.html":{},"injectables/SystemRule.html":{}}}],["context.builder",{"_index":26065,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["context.builder.ts",{"_index":1782,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["context.builder.ts:11",{"_index":1790,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["context.builder.ts:17",{"_index":1788,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["context.builder.ts:5",{"_index":1786,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["context.contextid",{"_index":20521,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["context.controller.ts",{"_index":22696,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["context.controller.ts:122",{"_index":22711,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["context.controller.ts:146",{"_index":22719,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["context.controller.ts:44",{"_index":22702,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["context.controller.ts:70",{"_index":22706,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["context.controller.ts:89",{"_index":22715,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["context.getclass",{"_index":22216,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["context.gethandler",{"_index":22215,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["context.interface",{"_index":18081,"title":{},"body":{"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/Rule.html":{}}}],["context.interface.ts",{"_index":1777,"title":{},"body":{"interfaces/AuthorizationContext.html":{},"interfaces/ProviderOidcContext.html":{}}}],["context.mapper",{"_index":10461,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/SchoolExternalToolMetadataService.html":{}}}],["context.mapper.ts",{"_index":22742,"title":{},"body":{"classes/ToolContextMapper.html":{}}}],["context.mapper.ts:5",{"_index":22744,"title":{},"body":{"classes/ToolContextMapper.html":{}}}],["context.params.ts",{"_index":6704,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{}}}],["context.params.ts:18",{"_index":6710,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{}}}],["context.params.ts:8",{"_index":6708,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{}}}],["context.reponse",{"_index":3215,"title":{},"body":{"controllers/BoardController.html":{}}}],["context.reponse.ts",{"_index":3163,"title":{},"body":{"classes/BoardContextResponse.html":{}}}],["context.reponse.ts:13",{"_index":3168,"title":{},"body":{"classes/BoardContextResponse.html":{}}}],["context.reponse.ts:16",{"_index":3171,"title":{},"body":{"classes/BoardContextResponse.html":{}}}],["context.reponse.ts:4",{"_index":3164,"title":{},"body":{"classes/BoardContextResponse.html":{}}}],["context.requiredpermissions",{"_index":3671,"title":{},"body":{"injectables/BoardDoRule.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/GroupRule.html":{},"injectables/LegacySchoolRule.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SystemRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{}}}],["context.response",{"_index":6300,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{}}}],["context.response.ts",{"_index":6714,"title":{},"body":{"classes/ContextExternalToolCountPerContextResponse.html":{},"classes/OidcContextResponse.html":{}}}],["context.response.ts:12",{"_index":17552,"title":{},"body":{"classes/OidcContextResponse.html":{}}}],["context.response.ts:15",{"_index":17553,"title":{},"body":{"classes/OidcContextResponse.html":{}}}],["context.response.ts:19",{"_index":17555,"title":{},"body":{"classes/OidcContextResponse.html":{}}}],["context.response.ts:5",{"_index":6716,"title":{},"body":{"classes/ContextExternalToolCountPerContextResponse.html":{}}}],["context.response.ts:6",{"_index":17550,"title":{},"body":{"classes/OidcContextResponse.html":{}}}],["context.response.ts:8",{"_index":6715,"title":{},"body":{"classes/ContextExternalToolCountPerContextResponse.html":{}}}],["context.response.ts:9",{"_index":17551,"title":{},"body":{"classes/OidcContextResponse.html":{}}}],["context.switchtohttp().getrequest",{"_index":18788,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["contextcanwrite",{"_index":15448,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["contextconfigurationenabled",{"_index":13660,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["contextdo",{"_index":22958,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["contextexternaltool",{"_index":2005,"title":{"classes/ContextExternalTool.html":{}},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"injectables/FeathersRosterService.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"controllers/ToolContextController.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"injectables/ToolVersionService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["contextexternaltool'})@httpcode(httpstatus.no_content",{"_index":22705,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltool(contextexternaltooldto",{"_index":7050,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["contextexternaltool.contextref",{"_index":7081,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["contextexternaltool.contextref.id",{"_index":2011,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"classes/ContextExternalToolResponseMapper.html":{}}}],["contextexternaltool.contextref.type",{"_index":2038,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ToolPermissionHelper.html":{}}}],["contextexternaltool.displayname",{"_index":6923,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ToolReferenceMapper.html":{}}}],["contextexternaltool.id",{"_index":6921,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ToolLaunchService.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceUc.html":{}}}],["contextexternaltool.schooltoolref",{"_index":7080,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["contextexternaltool.schooltoolref.schoolid",{"_index":7057,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["contextexternaltool.schooltoolref.schooltoolid",{"_index":6922,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/FeathersRosterService.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolReferenceService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["contextexternaltool.toolversion",{"_index":6924,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["contextexternaltoolauthorizableservice",{"_index":6653,"title":{"injectables/ContextExternalToolAuthorizableService.html":{}},"body":{"injectables/ContextExternalToolAuthorizableService.html":{},"modules/ContextExternalToolModule.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["contextexternaltoolconfigurationstatus",{"_index":6036,"title":{"classes/ContextExternalToolConfigurationStatus.html":{}},"body":{"injectables/CommonToolService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"injectables/ToolLaunchService.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{}}}],["contextexternaltoolconfigurationstatusresponse",{"_index":6667,"title":{"classes/ContextExternalToolConfigurationStatusResponse.html":{}},"body":{"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ToolReferenceResponse.html":{},"classes/ToolStatusResponseMapper.html":{}}}],["contextexternaltoolconfigurationtemplatelistresponse",{"_index":6674,"title":{"classes/ContextExternalToolConfigurationTemplateListResponse.html":{}},"body":{"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{}}}],["contextexternaltoolconfigurationtemplatelistresponse(mappedtools",{"_index":22693,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["contextexternaltoolconfigurationtemplateresponse",{"_index":6676,"title":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{}},"body":{"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{}}}],["contextexternaltoolcontextparams",{"_index":6702,"title":{"classes/ContextExternalToolContextParams.html":{}},"body":{"classes/ContextExternalToolContextParams.html":{},"controllers/ToolContextController.html":{},"controllers/ToolReferenceController.html":{}}}],["contextexternaltoolcount",{"_index":6838,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/SchoolExternalToolMetadataService.html":{}}}],["contextexternaltoolcount[type",{"_index":10469,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{},"injectables/SchoolExternalToolMetadataService.html":{}}}],["contextexternaltoolcountpercontext",{"_index":10429,"title":{},"body":{"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{}}}],["contextexternaltoolcountpercontextresponse",{"_index":6713,"title":{"classes/ContextExternalToolCountPerContextResponse.html":{}},"body":{"classes/ContextExternalToolCountPerContextResponse.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{}}}],["contextexternaltooldto",{"_index":6871,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["contextexternaltooldto.schooltoolref.schoolid",{"_index":7049,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["contextexternaltooldto.schooltoolref.schooltoolid",{"_index":7047,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["contextexternaltoolentity",{"_index":6719,"title":{"entities/ContextExternalToolEntity.html":{}},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["contextexternaltoolfactory",{"_index":6742,"title":{"classes/ContextExternalToolFactory.html":{}},"body":{"classes/ContextExternalToolFactory.html":{}}}],["contextexternaltoolfactory.define(contextexternaltool",{"_index":6751,"title":{},"body":{"classes/ContextExternalToolFactory.html":{}}}],["contextexternaltoolid",{"_index":3550,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/ToolLaunchParams.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["contextexternaltoolid(value",{"_index":10261,"title":{},"body":{"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{}}}],["contextexternaltoolidparams",{"_index":6752,"title":{"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{}},"body":{"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolReferenceController.html":{}}}],["contextexternaltoolmodule",{"_index":3841,"title":{"modules/ContextExternalToolModule.html":{}},"body":{"modules/BoardModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{}}}],["contextexternaltoolpostparams",{"_index":6773,"title":{"classes/ContextExternalToolPostParams.html":{}},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolRequestMapper.html":{},"controllers/ToolContextController.html":{}}}],["contextexternaltoolproperties",{"_index":6734,"title":{"interfaces/ContextExternalToolProperties.html":{}},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{}}}],["contextexternaltoolprops",{"_index":6630,"title":{"interfaces/ContextExternalToolProps.html":{}},"body":{"classes/ContextExternalTool.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProps.html":{}}}],["contextexternaltoolquery",{"_index":6800,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolService.html":{}}}],["contextexternaltoolrepo",{"_index":6021,"title":{"injectables/ContextExternalToolRepo.html":{}},"body":{"modules/CommonToolModule.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolService.html":{},"injectables/SchoolExternalToolMetadataService.html":{}}}],["contextexternaltoolrequestmapper",{"_index":6864,"title":{"classes/ContextExternalToolRequestMapper.html":{}},"body":{"classes/ContextExternalToolRequestMapper.html":{},"controllers/ToolContextController.html":{}}}],["contextexternaltoolrequestmapper.mapcontextexternaltoolrequest(body",{"_index":22724,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponse",{"_index":6885,"title":{"classes/ContextExternalToolResponse.html":{}},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponsemapper",{"_index":6906,"title":{"classes/ContextExternalToolResponseMapper.html":{}},"body":{"classes/ContextExternalToolResponseMapper.html":{},"controllers/ToolContextController.html":{},"controllers/ToolReferenceController.html":{}}}],["contextexternaltoolresponsemapper.mapcontextexternaltoolresponse(contextexternaltool",{"_index":22737,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponsemapper.mapcontextexternaltoolresponse(createdtool",{"_index":22726,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponsemapper.mapcontextexternaltoolresponse(tool",{"_index":22733,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponsemapper.mapcontextexternaltoolresponse(updatedtool",{"_index":22740,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponsemapper.maptotoolreferenceresponse(toolreference",{"_index":22992,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["contextexternaltoolresponsemapper.maptotoolreferenceresponses(toolreferences",{"_index":22995,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["contextexternaltoolresponse})@apiforbiddenresponse()@apiunauthorizedresponse()@apiunprocessableentityresponse()@apioperation({summary",{"_index":22718,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponse})@apiforbiddenresponse()@apiunprocessableentityresponse()@apiunauthorizedresponse()@apiresponse({status",{"_index":22700,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolresponse})@apioperation({summary",{"_index":22709,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolrule",{"_index":1866,"title":{"injectables/ContextExternalToolRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/RuleManager.html":{}}}],["contextexternaltools",{"_index":7008,"title":{},"body":{"injectables/ContextExternalToolService.html":{},"injectables/FeathersRosterService.html":{},"controllers/ToolContextController.html":{},"injectables/ToolReferenceUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["contextexternaltools.length",{"_index":11381,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["contextexternaltools.map",{"_index":22732,"title":{},"body":{"controllers/ToolContextController.html":{},"injectables/ToolReferenceUc.html":{}}}],["contextexternaltoolscope",{"_index":6802,"title":{"classes/ContextExternalToolScope.html":{}},"body":{"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolScope.html":{}}}],["contextexternaltoolsearchlistresponse",{"_index":6975,"title":{"classes/ContextExternalToolSearchListResponse.html":{}},"body":{"classes/ContextExternalToolSearchListResponse.html":{},"controllers/ToolContextController.html":{}}}],["contextexternaltoolsearchlistresponse(mappedtools",{"_index":22734,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolsearchlistresponse})@apioperation({summary",{"_index":22714,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["contextexternaltoolservice",{"_index":6765,"title":{"injectables/ContextExternalToolService.html":{}},"body":{"modules/ContextExternalToolModule.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/FeathersRosterService.html":{},"injectables/RecursiveDeleteVisitor.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["contextexternaltoolsinuse",{"_index":10132,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{}}}],["contextexternaltoolsinuse.some",{"_index":10154,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["contextexternaltooltemplateinfo",{"_index":10130,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{}}}],["contextexternaltooltype",{"_index":6724,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ExternalToolMetadata.html":{},"injectables/ExternalToolMetadataService.html":{},"classes/SchoolExternalToolMetadata.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/ToolContextMapper.html":{}}}],["contextexternaltooltype.board_element",{"_index":6862,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/ToolContextMapper.html":{}}}],["contextexternaltooltype.course",{"_index":6861,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/ToolContextMapper.html":{}}}],["contextexternaltooluc",{"_index":7021,"title":{"injectables/ContextExternalToolUc.html":{}},"body":{"injectables/ContextExternalToolUc.html":{},"modules/ToolApiModule.html":{},"controllers/ToolContextController.html":{}}}],["contextexternaltoolvalidationservice",{"_index":6766,"title":{"injectables/ContextExternalToolValidationService.html":{}},"body":{"modules/ContextExternalToolModule.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ToolVersionService.html":{}}}],["contextid",{"_index":6705,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ContextRefParams.html":{},"injectables/ExternalToolConfigurationUc.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenUC.html":{},"controllers/ToolContextController.html":{},"injectables/ToolReferenceUc.html":{}}}],["contextmapping",{"_index":22743,"title":{},"body":{"classes/ToolContextMapper.html":{}}}],["contextparameter",{"_index":8284,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["contextreadwithtopiccreate",{"_index":15442,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["contextref",{"_index":6626,"title":{"classes/ContextRef.html":{}},"body":{"classes/ContextExternalTool.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ContextRef.html":{},"injectables/FeathersRosterService.html":{},"injectables/ToolReferenceUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["contextref.id",{"_index":11383,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["contextrefparams",{"_index":7093,"title":{"classes/ContextRefParams.html":{}},"body":{"classes/ContextRefParams.html":{},"controllers/ToolConfigurationController.html":{}}}],["contexttoolid",{"_index":6931,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{}}}],["contexttoolrepo",{"_index":10455,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{},"injectables/SchoolExternalToolMetadataService.html":{}}}],["contexttype",{"_index":5437,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ContextRefParams.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolMetadataService.html":{},"classes/GlobalErrorFilter.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenUC.html":{},"controllers/ToolContextController.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceUc.html":{}}}],["continuationtoken",{"_index":19415,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["continue",{"_index":24967,"title":{},"body":{"license.html":{}}}],["continued",{"_index":24951,"title":{},"body":{"license.html":{}}}],["contractual",{"_index":25001,"title":{},"body":{"license.html":{}}}],["contradict",{"_index":25128,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["contrast",{"_index":24672,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["contributor",{"_index":25071,"title":{},"body":{"license.html":{}}}],["contributor's",{"_index":25073,"title":{},"body":{"license.html":{}}}],["control",{"_index":22808,"title":{},"body":{"controllers/ToolController.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["controlled",{"_index":25076,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["controlledids",{"_index":22489,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["controller",{"_index":314,"title":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"controllers/DashboardController.html":{},"controllers/DatabaseManagementController.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/FileSecurityController.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/ImportUserController.html":{},"controllers/KeycloakManagementController.html":{},"controllers/LessonController.html":{},"controllers/LoginController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/NewsController.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"controllers/PseudonymController.html":{},"controllers/RoomsController.html":{},"controllers/ServerController.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"controllers/SystemController.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"controllers/TldrawController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}},"body":{"controllers/AccountController.html":{},"modules/BoardApiModule.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"controllers/DashboardController.html":{},"controllers/DatabaseManagementController.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/FileSecurityController.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"controllers/FwuLearningContentsController.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorTestModule.html":{},"controllers/ImportUserController.html":{},"controllers/KeycloakManagementController.html":{},"modules/LessonApiModule.html":{},"controllers/LessonController.html":{},"controllers/LoginController.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/NewsController.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"controllers/PseudonymController.html":{},"controllers/RoomsController.html":{},"controllers/ServerController.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"controllers/SystemController.html":{},"modules/TaskApiModule.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"injectables/TimeoutInterceptor.html":{},"controllers/TldrawController.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"modules/UserApiModule.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"modules/VideoConferenceModule.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["controller('account",{"_index":399,"title":{},"body":{"controllers/AccountController.html":{}}}],["controller('authentication",{"_index":15800,"title":{},"body":{"controllers/LoginController.html":{}}}],["controller('board",{"_index":4026,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["controller('boards",{"_index":3219,"title":{},"body":{"controllers/BoardController.html":{}}}],["controller('cards",{"_index":4362,"title":{},"body":{"controllers/CardController.html":{}}}],["controller('collaborative",{"_index":5063,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["controller('columns",{"_index":5601,"title":{},"body":{"controllers/ColumnController.html":{}}}],["controller('courses",{"_index":7594,"title":{},"body":{"controllers/CourseController.html":{}}}],["controller('dashboard",{"_index":8362,"title":{},"body":{"controllers/DashboardController.html":{}}}],["controller('deletionexecutions",{"_index":9134,"title":{},"body":{"controllers/DeletionExecutionsController.html":{}}}],["controller('deletionrequests",{"_index":9508,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["controller('elements",{"_index":9783,"title":{},"body":{"controllers/ElementController.html":{}}}],["controller('fwu",{"_index":12437,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["controller('groups",{"_index":12731,"title":{},"body":{"controllers/GroupController.html":{}}}],["controller('h5p",{"_index":13175,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["controller('lessons",{"_index":15409,"title":{},"body":{"controllers/LessonController.html":{}}}],["controller('management/database",{"_index":8815,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["controller('management/idm",{"_index":14809,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["controller('meta",{"_index":16194,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["controller('news",{"_index":16466,"title":{},"body":{"controllers/NewsController.html":{}}}],["controller('oauth2",{"_index":17305,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["controller('pseudonyms",{"_index":18196,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["controller('rooms",{"_index":19199,"title":{},"body":{"controllers/RoomsController.html":{}}}],["controller('sharetoken",{"_index":20329,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["controller('sso",{"_index":17501,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["controller('submissions",{"_index":20762,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["controller('systems",{"_index":21063,"title":{},"body":{"controllers/SystemController.html":{}}}],["controller('tasks",{"_index":21413,"title":{},"body":{"controllers/TaskController.html":{}}}],["controller('team",{"_index":21931,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["controller('tldraw",{"_index":22330,"title":{},"body":{"controllers/TldrawController.html":{}}}],["controller('tools",{"_index":22649,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolLaunchController.html":{}}}],["controller('tools/context",{"_index":22723,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["controller('tools/external",{"_index":22780,"title":{},"body":{"controllers/ToolController.html":{}}}],["controller('tools/school",{"_index":23069,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["controller('tools/tool",{"_index":22989,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["controller('user",{"_index":23213,"title":{},"body":{"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["controller('user/import",{"_index":13914,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["controller('videoconference",{"_index":24175,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["controller('videoconference2",{"_index":24065,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["controller.ts",{"_index":25529,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["controller/account.controller",{"_index":282,"title":{},"body":{"modules/AccountApiModule.html":{}}}],["controller/api",{"_index":25821,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["controller/course.controller",{"_index":15122,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["controller/dashboard.controller",{"_index":15123,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["controller/database",{"_index":16116,"title":{},"body":{"modules/ManagementModule.html":{}}}],["controller/deletion",{"_index":8990,"title":{},"body":{"modules/DeletionApiModule.html":{}}}],["controller/dto",{"_index":837,"title":{},"body":{"classes/AccountResponseMapper.html":{},"classes/BoardTaskStatusMapper.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CourseMapper.html":{},"classes/DashboardMapper.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"injectables/ElementUc.html":{},"classes/ExternalToolMetadataMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{},"interfaces/GetFileResponse.html":{},"injectables/HydraOauthUc.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"classes/NewsMapper.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileParams.html":{},"injectables/PreviewService.html":{},"classes/PseudonymMapper.html":{},"classes/ResolvedUserMapper.html":{},"classes/RoleNameMapper.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolService.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenResponseMapper.html":{},"classes/SubmissionMapper.html":{},"classes/TaskMapper.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolStatusResponseMapper.html":{},"classes/UserInfoMapper.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserMatchMapper.html":{},"injectables/UserUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["controller/dto/filter",{"_index":23737,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["controller/dto/h5p",{"_index":22091,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["controller/dto/password",{"_index":857,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["controller/dto/response/video",{"_index":24272,"title":{},"body":{"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["controller/dto/school",{"_index":20070,"title":{},"body":{"classes/SchoolToolConfigurationStatusResponseMapper.html":{}}}],["controller/dto/single",{"_index":19095,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["controller/dto/target",{"_index":21253,"title":{},"body":{"classes/TargetInfoMapper.html":{}}}],["controller/dto/task",{"_index":21771,"title":{},"body":{"classes/TaskStatusMapper.html":{}}}],["controller/dto/team",{"_index":5142,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["controller/fwu",{"_index":12464,"title":{},"body":{"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{}}}],["controller/h5p",{"_index":13266,"title":{},"body":{"modules/H5PEditorModule.html":{}}}],["controller/import",{"_index":14052,"title":{},"body":{"modules/ImportUserModule.html":{}}}],["controller/keycloak",{"_index":14478,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["controller/news.controller",{"_index":16563,"title":{},"body":{"modules/NewsModule.html":{}}}],["controller/oauth",{"_index":17001,"title":{},"body":{"modules/OauthApiModule.html":{},"modules/OauthProviderApiModule.html":{}}}],["controller/pseudonym.controller",{"_index":18181,"title":{},"body":{"modules/PseudonymApiModule.html":{}}}],["controller/rooms.controller",{"_index":15124,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["controller/server.controller",{"_index":20214,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["controller/share",{"_index":20539,"title":{},"body":{"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["controller/team",{"_index":16564,"title":{},"body":{"modules/NewsModule.html":{}}}],["controller/tldraw.controller",{"_index":22360,"title":{},"body":{"modules/TldrawModule.html":{}}}],["controller/transformer/sanitize",{"_index":18857,"title":{},"body":{"classes/RichText.html":{}}}],["controller/user",{"_index":23408,"title":{},"body":{"modules/UserLoginMigrationApiModule.html":{}}}],["controllers",{"_index":274,"title":{},"body":{"modules/AccountApiModule.html":{},"controllers/AccountController.html":{},"modules/AuthenticationApiModule.html":{},"modules/BoardApiModule.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"controllers/DashboardController.html":{},"controllers/DatabaseManagementController.html":{},"modules/DeletionApiModule.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/FileSecurityController.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageTestModule.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"controllers/ImportUserController.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"controllers/KeycloakManagementController.html":{},"modules/LearnroomApiModule.html":{},"modules/LessonApiModule.html":{},"controllers/LessonController.html":{},"controllers/LoginController.html":{},"modules/ManagementModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/NewsController.html":{},"modules/NewsModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthProviderApiModule.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"controllers/RoomsController.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"controllers/ShareTokenController.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"controllers/SubmissionController.html":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"modules/TaskApiModule.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"modules/TeamsApiModule.html":{},"controllers/TldrawController.html":{},"modules/TldrawModule.html":{},"modules/ToolApiModule.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"modules/UserApiModule.html":{},"controllers/UserController.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["controllers/dto",{"_index":15081,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/Oauth2Strategy.html":{}}}],["controllers/login.controller",{"_index":1489,"title":{},"body":{"modules/AuthenticationApiModule.html":{}}}],["convenient",{"_index":24762,"title":{},"body":{"license.html":{}}}],["convention",{"_index":25660,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["conventions",{"_index":25513,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["conversion",{"_index":643,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["convert",{"_index":611,"title":{},"body":{"injectables/AccountLookupService.html":{},"interfaces/CollectionFilePath.html":{}}}],["converted",{"_index":642,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["convertedteamuserids",{"_index":16784,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["convertedteamuserids.filter((userid",{"_index":16798,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["convertedteamuserids.filter(boolean",{"_index":16791,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["convertedteamuserids.includes(userid",{"_index":16794,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["converter/bson.converter",{"_index":5164,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"modules/ManagementModule.html":{}}}],["converterutil",{"_index":2337,"title":{"injectables/ConverterUtil.html":{}},"body":{"injectables/BBBService.html":{},"injectables/ConverterUtil.html":{},"modules/VideoConferenceModule.html":{}}}],["converts",{"_index":639,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["converttodatabasevalue",{"_index":20603,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["converttodatabasevalue(value",{"_index":20608,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["converttojsvalue",{"_index":20604,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["converttojsvalue(value",{"_index":20610,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["convey",{"_index":24751,"title":{},"body":{"license.html":{}}}],["conveyance",{"_index":25106,"title":{},"body":{"license.html":{}}}],["conveyed",{"_index":24962,"title":{},"body":{"license.html":{}}}],["conveying",{"_index":24757,"title":{},"body":{"license.html":{}}}],["conveys",{"_index":25000,"title":{},"body":{"license.html":{}}}],["cookie",{"_index":13543,"title":{},"body":{"injectables/HydraSsoService.html":{},"classes/JwtExtractor.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["cookie.parse(request.headers.cookie",{"_index":14324,"title":{},"body":{"classes/JwtExtractor.html":{}}}],["cookie.startswith('oauth2",{"_index":13559,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["cookies",{"_index":13470,"title":{},"body":{"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"classes/JwtExtractor.html":{}}}],["cookies[name",{"_index":14325,"title":{},"body":{"classes/JwtExtractor.html":{}}}],["cookiesdto",{"_index":7106,"title":{"classes/CookiesDto.html":{}},"body":{"classes/CookiesDto.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{}}}],["cooperation",{"_index":24665,"title":{},"body":{"license.html":{}}}],["copied",{"_index":1562,"title":{},"body":{"modules/AuthenticationModule.html":{},"classes/CopyApiResponse.html":{},"injectables/CopyFilesService.html":{},"classes/LessonCopyApiParams.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/TaskCopyApiParams.html":{}}}],["copies",{"_index":18478,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{},"license.html":{}}}],["copies.push(childcopy",{"_index":18481,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy",{"_index":2602,"title":{},"body":{"classes/BaseFactory.html":{},"injectables/BoardDoCopyService.html":{},"modules/BoardModule.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"injectables/CourseCopyService.html":{},"interfaces/FileDO.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/ShareTokenUC.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyUC.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["copy(original",{"_index":18398,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy(params",{"_index":3577,"title":{},"body":{"injectables/BoardDoCopyService.html":{}}}],["copy(paths",{"_index":19329,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copy(userid",{"_index":11806,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["copy.id",{"_index":18447,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.imageurl",{"_index":18461,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.imageurl.includes(copyfiledto.sourceid",{"_index":18460,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.imageurl.replace(copyfiledto.sourceid",{"_index":18462,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.interface",{"_index":3584,"title":{},"body":{"injectables/BoardDoCopyService.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["copy.interface.ts",{"_index":20049,"title":{},"body":{"interfaces/SchoolSpecificFileCopyService.html":{}}}],["copy.interface.ts:18",{"_index":20052,"title":{},"body":{"interfaces/SchoolSpecificFileCopyService.html":{}}}],["copy.params",{"_index":7378,"title":{},"body":{"classes/CopyMapper.html":{},"controllers/TaskController.html":{}}}],["copy.params.ts",{"_index":15414,"title":{},"body":{"classes/LessonCopyApiParams.html":{},"classes/TaskCopyApiParams.html":{}}}],["copy.params.ts:14",{"_index":15415,"title":{},"body":{"classes/LessonCopyApiParams.html":{},"classes/TaskCopyApiParams.html":{}}}],["copy.params.ts:22",{"_index":21432,"title":{},"body":{"classes/TaskCopyApiParams.html":{}}}],["copy.service",{"_index":3283,"title":{},"body":{"injectables/BoardCopyService.html":{},"modules/BoardModule.html":{},"injectables/CourseCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{}}}],["copy.service.ts",{"_index":3241,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/BoardDoCopyService.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/CourseCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/TaskCopyService.html":{}}}],["copy.service.ts:112",{"_index":3267,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:120",{"_index":3270,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:128",{"_index":3265,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:14",{"_index":3579,"title":{},"body":{"injectables/BoardDoCopyService.html":{}}}],["copy.service.ts:143",{"_index":3274,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:15",{"_index":20063,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["copy.service.ts:16",{"_index":5403,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"injectables/CourseCopyService.html":{}}}],["copy.service.ts:164",{"_index":3280,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:177",{"_index":3277,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:18",{"_index":21437,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copy.service.ts:25",{"_index":5405,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"injectables/TaskCopyService.html":{}}}],["copy.service.ts:26",{"_index":7617,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copy.service.ts:36",{"_index":3256,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:42",{"_index":21442,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copy.service.ts:46",{"_index":3259,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:57",{"_index":7620,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copy.service.ts:63",{"_index":21447,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copy.service.ts:70",{"_index":21445,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copy.service.ts:73",{"_index":7626,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copy.service.ts:78",{"_index":3262,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copy.service.ts:79",{"_index":7623,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copy.service.ts:9",{"_index":20062,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["copy.uc",{"_index":19195,"title":{},"body":{"controllers/RoomsController.html":{},"controllers/TaskController.html":{}}}],["copy.uc.ts",{"_index":7666,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:104",{"_index":21490,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:11",{"_index":7669,"title":{},"body":{"injectables/CourseCopyUC.html":{}}}],["copy.uc.ts:114",{"_index":21480,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:12",{"_index":15420,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["copy.uc.ts:13",{"_index":21474,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:17",{"_index":7672,"title":{},"body":{"injectables/CourseCopyUC.html":{}}}],["copy.uc.ts:21",{"_index":15427,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["copy.uc.ts:23",{"_index":21482,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:28",{"_index":7670,"title":{},"body":{"injectables/CourseCopyUC.html":{}}}],["copy.uc.ts:55",{"_index":15425,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["copy.uc.ts:63",{"_index":15422,"title":{},"body":{"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:68",{"_index":15423,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["copy.uc.ts:71",{"_index":21476,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:76",{"_index":21479,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:83",{"_index":21485,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.uc.ts:94",{"_index":21488,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["copy.visitor",{"_index":3582,"title":{},"body":{"injectables/BoardDoCopyService.html":{}}}],["copy.visitor.ts",{"_index":18389,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:127",{"_index":18413,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:145",{"_index":18419,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:192",{"_index":18421,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:211",{"_index":18423,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:22",{"_index":18397,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:229",{"_index":18425,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:238",{"_index":18415,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:24",{"_index":18396,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:256",{"_index":18407,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:260",{"_index":18403,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:273",{"_index":18401,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:28",{"_index":18399,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:39",{"_index":18411,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:60",{"_index":18409,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:78",{"_index":18405,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy.visitor.ts:97",{"_index":18417,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copy_files_of_parent",{"_index":7142,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{}}}],["copyapiresponse",{"_index":7116,"title":{"classes/CopyApiResponse.html":{}},"body":{"classes/CopyApiResponse.html":{},"classes/CopyMapper.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{}}}],["copyapiresponse})@apiresponse({status",{"_index":20313,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["copyboard",{"_index":3242,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copyboard(params",{"_index":3257,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copyboardelements",{"_index":3243,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copyboardelements(boardelements",{"_index":3260,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copycolumnboard",{"_index":3244,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ColumnBoardCopyService.html":{}}}],["copycolumnboard(columnboardtarget",{"_index":3264,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copycolumnboard(props",{"_index":5404,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["copycourse",{"_index":7610,"title":{},"body":{"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"controllers/RoomsController.html":{},"injectables/ShareTokenUC.html":{}}}],["copycourse(currentuser",{"_index":19179,"title":{},"body":{"controllers/RoomsController.html":{}}}],["copycourse(undefined",{"_index":7616,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copycourse(userid",{"_index":7671,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/ShareTokenUC.html":{}}}],["copycourseentity",{"_index":7611,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copycourseentity(params",{"_index":7618,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copydict",{"_index":3357,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copydictionary",{"_index":7332,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["copyelementtype",{"_index":3284,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/CopyApiResponse.html":{},"injectables/CopyFilesService.html":{},"injectables/CourseCopyService.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/TaskCopyService.html":{}}}],["copyelementtype.board",{"_index":3303,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copyelementtype.card",{"_index":18439,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.column",{"_index":18437,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.columnboard",{"_index":18434,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.content",{"_index":21463,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copyelementtype.course",{"_index":7663,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copyelementtype.coursegroup_group",{"_index":7660,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copyelementtype.drawing_element",{"_index":18455,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.external_tool_element",{"_index":18470,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.file",{"_index":7310,"title":{},"body":{"injectables/CopyFilesService.html":{},"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.file_element",{"_index":18453,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.file_group",{"_index":7315,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["copyelementtype.lesson",{"_index":3363,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copyelementtype.link_element",{"_index":18458,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.ltitool_group",{"_index":7655,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copyelementtype.metadata",{"_index":7653,"title":{},"body":{"injectables/CourseCopyService.html":{},"injectables/TaskCopyService.html":{}}}],["copyelementtype.richtext_element",{"_index":18466,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.submission_container_element",{"_index":18468,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.submission_group",{"_index":21464,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copyelementtype.submission_item",{"_index":18469,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyelementtype.task",{"_index":21466,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copyelementtype.time_group",{"_index":7656,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copyelementtype.user_group",{"_index":7654,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copyentity",{"_index":3305,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CopyFilesService.html":{},"classes/CopyMapper.html":{},"injectables/CourseCopyService.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/TaskCopyService.html":{}}}],["copyentity.course?.id",{"_index":7390,"title":{},"body":{"classes/CopyMapper.html":{}}}],["copyentity.id",{"_index":7388,"title":{},"body":{"classes/CopyMapper.html":{}}}],["copyfiledo",{"_index":7135,"title":{"interfaces/CopyFileDO.html":{}},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{}}}],["copyfiledomainobjectprops",{"_index":7156,"title":{"interfaces/CopyFileDomainObjectProps.html":{}},"body":{"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/FilesStorageClientMapper.html":{}}}],["copyfiledto",{"_index":7160,"title":{"classes/CopyFileDto.html":{}},"body":{"classes/CopyFileDto.html":{},"injectables/CopyFilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["copyfiledto.id",{"_index":18450,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyfiledto.name",{"_index":18451,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyfiledto.sourceid",{"_index":18452,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copyfilelistresponse",{"_index":7170,"title":{"classes/CopyFileListResponse.html":{}},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FilesStorageClientMapper.html":{}}}],["copyfilelistresponse.map((response",{"_index":12217,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["copyfileparams",{"_index":7201,"title":{"classes/CopyFileParams.html":{}},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["copyfileresponse",{"_index":7173,"title":{"classes/CopyFileResponse.html":{}},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["copyfileresponsebuilder",{"_index":7235,"title":{"classes/CopyFileResponseBuilder.html":{}},"body":{"classes/CopyFileResponseBuilder.html":{}}}],["copyfiles",{"_index":7240,"title":{"interfaces/CopyFiles.html":{}},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{}}}],["copyfilesofentity",{"_index":7275,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["copyfilesofentity(originalentity",{"_index":7281,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["copyfilesofparent",{"_index":12173,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["copyfilesofparent(param",{"_index":12179,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["copyfilesofparent(params",{"_index":20050,"title":{},"body":{"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["copyfilesofparent(payload",{"_index":12246,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{}}}],["copyfilesofparent:finished",{"_index":12356,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["copyfilesofparent:started",{"_index":12354,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["copyfilesofparentparambuilder",{"_index":7259,"title":{"classes/CopyFilesOfParentParamBuilder.html":{}},"body":{"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/CopyFilesService.html":{}}}],["copyfilesofparentparambuilder.build(userid",{"_index":7296,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["copyfilesofparentparams",{"_index":7151,"title":{"classes/CopyFilesOfParentParams.html":{}},"body":{"interfaces/CopyFileDO.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"injectables/CopyFilesService.html":{},"classes/DownloadFileParams.html":{},"interfaces/FileDO.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"injectables/FilesStorageProducer.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["copyfilesofparentpayload",{"_index":7221,"title":{"classes/CopyFilesOfParentPayload.html":{}},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"injectables/FilesStorageConsumer.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["copyfilesrequestinfo",{"_index":7265,"title":{"interfaces/CopyFilesRequestInfo.html":{}},"body":{"classes/CopyFilesOfParentParamBuilder.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/FilesStorageClientAdapterService.html":{}}}],["copyfilesservice",{"_index":7272,"title":{"injectables/CopyFilesService.html":{}},"body":{"injectables/CopyFilesService.html":{},"modules/FilesStorageClientModule.html":{},"injectables/TaskCopyService.html":{}}}],["copyhelpermodule",{"_index":7317,"title":{"modules/CopyHelperModule.html":{}},"body":{"modules/CopyHelperModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LessonModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{}}}],["copyhelperservice",{"_index":3255,"title":{"injectables/CopyHelperService.html":{}},"body":{"injectables/BoardCopyService.html":{},"injectables/CopyFilesService.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"injectables/CourseCopyService.html":{},"injectables/LessonCopyUC.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["copying",{"_index":7799,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"license.html":{}}}],["copyingsince",{"_index":7449,"title":{},"body":{"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"classes/UsersList.html":{}}}],["copyleft",{"_index":24661,"title":{},"body":{"license.html":{}}}],["copylesson",{"_index":3245,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/LessonCopyUC.html":{},"controllers/RoomsController.html":{},"injectables/ShareTokenUC.html":{}}}],["copylesson(currentuser",{"_index":19182,"title":{},"body":{"controllers/RoomsController.html":{}}}],["copylesson(originallesson",{"_index":3266,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copylesson(userid",{"_index":15426,"title":{},"body":{"injectables/LessonCopyUC.html":{},"injectables/ShareTokenUC.html":{}}}],["copymap",{"_index":18390,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["copymapper",{"_index":7363,"title":{"classes/CopyMapper.html":{}},"body":{"classes/CopyMapper.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{}}}],["copymapper.maplessoncopytodomain(params",{"_index":19214,"title":{},"body":{"controllers/RoomsController.html":{}}}],["copymapper.maptaskcopytodomain(params",{"_index":21429,"title":{},"body":{"controllers/TaskController.html":{}}}],["copymapper.maptoresponse(copystatus",{"_index":19211,"title":{},"body":{"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{}}}],["copymapper.maptoresponse(element",{"_index":7394,"title":{},"body":{"classes/CopyMapper.html":{}}}],["copyname",{"_index":7628,"title":{},"body":{"injectables/CourseCopyService.html":{},"injectables/LessonCopyUC.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["copyobjectcommand",{"_index":19350,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copyobjectcommandoutput",{"_index":19351,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copypaths",{"_index":19387,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copypaths.map((p",{"_index":19397,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copyprops",{"_index":1774,"title":{},"body":{"interfaces/AuthorizableObject.html":{},"classes/DomainObject.html":{}}}],["copyrequest",{"_index":19391,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copyrequests",{"_index":19401,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copyright",{"_index":24651,"title":{},"body":{"license.html":{}}}],["copyrightable",{"_index":24725,"title":{},"body":{"license.html":{}}}],["copyrighted",{"_index":24813,"title":{},"body":{"license.html":{}}}],["copyrightowners",{"_index":5722,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["copysource",{"_index":19403,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["copystatus",{"_index":3273,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/BoardDoCopyService.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/LessonCopyUC.html":{},"classes/RecursiveCopyVisitor.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["copystatus.copyentity",{"_index":7386,"title":{},"body":{"classes/CopyMapper.html":{}}}],["copystatus.copyentity.context",{"_index":5424,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["copystatus.elements",{"_index":7391,"title":{},"body":{"classes/CopyMapper.html":{}}}],["copystatus.status",{"_index":7385,"title":{},"body":{"classes/CopyMapper.html":{}}}],["copystatus.title",{"_index":7383,"title":{},"body":{"classes/CopyMapper.html":{}}}],["copystatus.type",{"_index":7384,"title":{},"body":{"classes/CopyMapper.html":{}}}],["copystatusenum",{"_index":3285,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/CopyApiResponse.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"injectables/CourseCopyService.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/TaskCopyService.html":{}}}],["copystatusenum.fail",{"_index":3313,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/RecursiveCopyVisitor.html":{}}}],["copystatusenum.not_doing",{"_index":7345,"title":{},"body":{"injectables/CopyHelperService.html":{},"injectables/CourseCopyService.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/TaskCopyService.html":{}}}],["copystatusenum.not_implemented",{"_index":7661,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["copystatusenum.partial",{"_index":7340,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["copystatusenum.success",{"_index":7311,"title":{},"body":{"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"injectables/CourseCopyService.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/TaskCopyService.html":{}}}],["copytask",{"_index":3246,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ShareTokenUC.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["copytask(currentuser",{"_index":21386,"title":{},"body":{"controllers/TaskController.html":{}}}],["copytask(originaltask",{"_index":3269,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["copytask(params",{"_index":21438,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copytask(userid",{"_index":20479,"title":{},"body":{"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{}}}],["copytaskentity",{"_index":21434,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["copytaskentity(params",{"_index":21440,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["core",{"_index":7407,"title":{},"body":{"modules/CoreModule.html":{},"classes/FileMetadata.html":{},"controllers/H5PEditorController.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"dependencies.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["core.autocrlf",{"_index":25864,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["core/error",{"_index":25623,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["core/logger/logger.module",{"_index":280,"title":{},"body":{"modules/AccountApiModule.html":{}}}],["coreapi",{"_index":11653,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["coremodule",{"_index":7399,"title":{"modules/CoreModule.html":{}},"body":{"modules/CoreModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["coremoduleconfig",{"_index":7420,"title":{"interfaces/CoreModuleConfig.html":{}},"body":{"interfaces/CoreModuleConfig.html":{},"interfaces/FileStorageConfig.html":{},"interfaces/ServerConfig.html":{}}}],["correct",{"_index":5051,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"classes/CreateNewsParams.html":{},"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["correction",{"_index":25171,"title":{},"body":{"license.html":{}}}],["correctly",{"_index":1225,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["correctness",{"_index":25415,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["corresponding",{"_index":15831,"title":{},"body":{"classes/LoginResponse-1.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["cors",{"_index":24490,"title":{},"body":{"dependencies.html":{}}}],["cost",{"_index":24900,"title":{},"body":{"license.html":{}}}],["count",{"_index":2907,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"interfaces/CleanOptions.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/FileRecordRepo.html":{},"controllers/ImportUserController.html":{},"injectables/ImportUserRepo.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"interfaces/MigrationOptions.html":{},"controllers/NewsController.html":{},"injectables/NewsRepo.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"interfaces/RetryOptions.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"controllers/TeamNewsController.html":{},"injectables/UserRepo.html":{}}}],["countbyschooltoolidsandcontexttype",{"_index":6793,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["countbyschooltoolidsandcontexttype(contexttype",{"_index":6803,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["counted",{"_index":98,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountServiceDb.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/FileRecordRepo.html":{},"classes/IdentityManagementService.html":{},"injectables/ImportUserRepo.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/UserRepo.html":{}}}],["countedimportusers",{"_index":14091,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["countednewslist",{"_index":16585,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["countedtasklist",{"_index":21642,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["counterclaim",{"_index":25063,"title":{},"body":{"license.html":{}}}],["counties",{"_index":7436,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["countpercontext",{"_index":10467,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{},"injectables/SchoolExternalToolMetadataService.html":{}}}],["countpipeline",{"_index":23844,"title":{},"body":{"injectables/UserRepo.html":{}}}],["countpipeline.push",{"_index":23845,"title":{},"body":{"injectables/UserRepo.html":{}}}],["countries",{"_index":24748,"title":{},"body":{"license.html":{}}}],["country",{"_index":25099,"title":{},"body":{"license.html":{}}}],["counts",{"_index":7797,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{}}}],["county",{"_index":7424,"title":{"classes/County.html":{}},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["county.antareskey",{"_index":7441,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["county.countyid",{"_index":7439,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["county.name",{"_index":7437,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["countyid",{"_index":7428,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["coupling",{"_index":25508,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["course",{"_index":2032,"title":{"entities/Course.html":{}},"body":{"injectables/AutoContextNameStrategy.html":{},"entities/Board.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardExternalReference.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardRepo.html":{},"injectables/BoardUrlHandler.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"interfaces/CreateNews.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DtoCreator.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"interfaces/ParentInfo.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RoomsUc.html":{},"entities/SchoolNews.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenImportBodyParams.html":{},"injectables/ShareTokenUC.html":{},"entities/Task.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"interfaces/TaskStatus.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{},"modules/TldrawTestModule.html":{},"injectables/ToolPermissionHelper.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"classes/UsersList.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["course.createdat.getfullyear().tostring",{"_index":5725,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["course.description",{"_index":26034,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["course.entity",{"_index":2925,"title":{},"body":{"entities/Board.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{}}}],["course.extractids(this.students",{"_index":7532,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["course.extractids(this.substitutionteachers",{"_index":7536,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["course.extractids(this.teachers",{"_index":7533,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["course.extractuserlist(users",{"_index":7544,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["course.factory",{"_index":7738,"title":{},"body":{"classes/CourseGroupFactory.html":{},"classes/LessonFactory.html":{}}}],["course.getmetadata",{"_index":7781,"title":{},"body":{"classes/CourseMapper.html":{}}}],["course.getstudentslist().map((user",{"_index":3427,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["course.getsubstitutionteacherslist().map((user",{"_index":3425,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["course.getteacherslist().map((user",{"_index":3420,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["course.id",{"_index":11341,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["course.name",{"_index":2047,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseUrlHandler.html":{},"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["course.removeuser(userid",{"_index":7931,"title":{},"body":{"injectables/CourseService.html":{}}}],["course.rule",{"_index":7757,"title":{},"body":{"injectables/CourseGroupRule.html":{},"injectables/LessonRule.html":{},"injectables/TaskRule.html":{}}}],["course.school",{"_index":26032,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["course.school.id",{"_index":5418,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["course.service",{"_index":5720,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["course.students.contains(user",{"_index":19164,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["course.students.length",{"_index":11342,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["course.students.loaditems",{"_index":11348,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["course.substitutionteachers.contains(user",{"_index":19162,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["course.substitutionteachers.loaditems",{"_index":11350,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["course.teachers",{"_index":5768,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["course.teachers.contains(user",{"_index":19163,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["course.teachers.loaditems",{"_index":11349,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["coursecolumnboardtargets",{"_index":19228,"title":{},"body":{"injectables/RoomsService.html":{}}}],["coursecontroller",{"_index":7571,"title":{"controllers/CourseController.html":{}},"body":{"controllers/CourseController.html":{},"modules/LearnroomApiModule.html":{}}}],["coursecopy",{"_index":7622,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["coursecopy.copyingsince",{"_index":7651,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["coursecopy.name",{"_index":7662,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["coursecopyparams",{"_index":7619,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["coursecopyservice",{"_index":7608,"title":{"injectables/CourseCopyService.html":{}},"body":{"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"modules/LearnroomModule.html":{},"injectables/ShareTokenUC.html":{}}}],["coursecopyuc",{"_index":7664,"title":{"injectables/CourseCopyUC.html":{}},"body":{"injectables/CourseCopyUC.html":{},"modules/LearnroomApiModule.html":{},"controllers/RoomsController.html":{}}}],["courseexportservice",{"_index":7685,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["courseexportuc",{"_index":7587,"title":{"injectables/CourseExportUc.html":{}},"body":{"controllers/CourseController.html":{},"injectables/CourseExportUc.html":{},"modules/LearnroomApiModule.html":{}}}],["coursefactory",{"_index":7692,"title":{"classes/CourseFactory.html":{}},"body":{"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/LessonFactory.html":{}}}],["coursefactory.build",{"_index":7740,"title":{},"body":{"classes/CourseGroupFactory.html":{},"classes/LessonFactory.html":{}}}],["coursefactory.define(course",{"_index":7713,"title":{},"body":{"classes/CourseFactory.html":{}}}],["coursefeatures",{"_index":7468,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["coursegroup",{"_index":6148,"title":{"entities/CourseGroup.html":{}},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"interfaces/CourseProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRule.html":{},"injectables/LessonUC.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"classes/UsersList.html":{}}}],["coursegroup.course",{"_index":15490,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["coursegroup.entity",{"_index":6149,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"classes/UsersList.html":{}}}],["coursegroup.removestudent(userid",{"_index":7773,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["coursegroupfactory",{"_index":7735,"title":{"classes/CourseGroupFactory.html":{}},"body":{"classes/CourseGroupFactory.html":{}}}],["coursegroupfactory.define(coursegroup",{"_index":7739,"title":{},"body":{"classes/CourseGroupFactory.html":{}}}],["coursegroupid",{"_index":6175,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["coursegroupmemberids",{"_index":20684,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["coursegrouppermission",{"_index":15502,"title":{},"body":{"injectables/LessonRule.html":{}}}],["coursegrouppermission(user",{"_index":15508,"title":{},"body":{"injectables/LessonRule.html":{}}}],["coursegroupproperties",{"_index":7725,"title":{"interfaces/CourseGroupProperties.html":{}},"body":{"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{}}}],["coursegrouprepo",{"_index":1909,"title":{"injectables/CourseGroupRepo.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"modules/LearnroomModule.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["coursegrouprule",{"_index":1867,"title":{"injectables/CourseGroupRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/CourseGroupRule.html":{},"injectables/LessonRule.html":{},"injectables/RuleManager.html":{}}}],["coursegroups",{"_index":7450,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["coursegroups.foreach((coursegroup",{"_index":7772,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["coursegroupservice",{"_index":7761,"title":{"injectables/CourseGroupService.html":{}},"body":{"injectables/CourseGroupService.html":{},"modules/LearnroomModule.html":{}}}],["coursegroupsexist",{"_index":7657,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["coursegroupsofuser",{"_index":20921,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["courseid",{"_index":2026,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"entities/Board.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardRepo.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/CopyMapper.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"classes/CourseUrlParams.html":{},"injectables/EtherpadService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/ITask.html":{},"classes/LessonCopyApiParams.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/ShareTokenUC.html":{},"entities/Task.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["courseids",{"_index":7745,"title":{},"body":{"injectables/CourseGroupRepo.html":{},"injectables/LessonRepo.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{}}}],["courselessons",{"_index":19225,"title":{},"body":{"injectables/RoomsService.html":{}}}],["coursemapper",{"_index":7585,"title":{"classes/CourseMapper.html":{}},"body":{"controllers/CourseController.html":{},"classes/CourseMapper.html":{}}}],["coursemapper.maptometadataresponse(course",{"_index":7598,"title":{},"body":{"controllers/CourseController.html":{}}}],["coursemetadata",{"_index":7780,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadata.copyingsince",{"_index":7788,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadata.displaycolor",{"_index":7785,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadata.id",{"_index":7782,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadata.shorttitle",{"_index":7784,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadata.startdate",{"_index":7786,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadata.title",{"_index":7783,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadata.untildate",{"_index":7787,"title":{},"body":{"classes/CourseMapper.html":{}}}],["coursemetadatalistresponse",{"_index":7592,"title":{"classes/CourseMetadataListResponse.html":{}},"body":{"controllers/CourseController.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{}}}],["coursemetadatalistresponse(courseresponses",{"_index":7599,"title":{},"body":{"controllers/CourseController.html":{}}}],["coursemetadataresponse",{"_index":7779,"title":{"classes/CourseMetadataResponse.html":{}},"body":{"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{}}}],["coursename",{"_index":2054,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"entities/Task.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"classes/TaskResponse.html":{},"classes/TaskWithStatusVo.html":{}}}],["coursenews",{"_index":7811,"title":{"entities/CourseNews.html":{}},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["coursenews(props",{"_index":7843,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["coursepermission",{"_index":15503,"title":{},"body":{"injectables/LessonRule.html":{}}}],["coursepermission(user",{"_index":15510,"title":{},"body":{"injectables/LessonRule.html":{}}}],["courseproperties",{"_index":7496,"title":{"interfaces/CourseProperties.html":{}},"body":{"entities/Course.html":{},"classes/CourseFactory.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["coursequeryparams",{"_index":7576,"title":{"classes/CourseQueryParams.html":{}},"body":{"controllers/CourseController.html":{},"classes/CourseQueryParams.html":{}}}],["coursereference",{"_index":5459,"title":{},"body":{"injectables/ColumnBoardService.html":{},"injectables/RoomsService.html":{}}}],["courserepo",{"_index":1910,"title":{"injectables/CourseRepo.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/BoardDoAuthorizableService.html":{},"modules/BoardModule.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/DashboardUc.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LessonCopyUC.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/RoomsUc.html":{},"modules/TaskApiModule.html":{},"injectables/TaskCopyUC.html":{},"modules/TaskModule.html":{},"injectables/TaskUC.html":{}}}],["courseresponses",{"_index":7596,"title":{},"body":{"controllers/CourseController.html":{}}}],["courserule",{"_index":1868,"title":{"injectables/CourseRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"injectables/LessonRule.html":{},"injectables/RuleManager.html":{},"injectables/TaskRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["courses",{"_index":5412,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"interfaces/CopyFileDO.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"interfaces/CreateNews.html":{},"injectables/DashboardUc.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/INewsScope.html":{},"interfaces/ParentInfo.html":{},"classes/ShareTokenDO.html":{},"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["courses.filter((c",{"_index":21810,"title":{},"body":{"injectables/TaskUC.html":{}}}],["courses.foreach((course",{"_index":7930,"title":{},"body":{"injectables/CourseService.html":{}}}],["courses.map((course",{"_index":7597,"title":{},"body":{"controllers/CourseController.html":{},"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["courses.map(async",{"_index":11374,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["coursescope",{"_index":7877,"title":{"classes/CourseScope.html":{}},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["courseservice",{"_index":2017,"title":{"injectables/CourseService.html":{}},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/CourseService.html":{},"injectables/CourseUrlHandler.html":{},"injectables/FeathersRosterService.html":{},"modules/LearnroomModule.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/ToolPermissionHelper.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["coursestatus",{"_index":7644,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["coursetasks",{"_index":19227,"title":{},"body":{"injectables/RoomsService.html":{}}}],["courseuc",{"_index":7590,"title":{"injectables/CourseUc.html":{}},"body":{"controllers/CourseController.html":{},"injectables/CourseUc.html":{},"modules/LearnroomApiModule.html":{}}}],["courseurlhandler",{"_index":7939,"title":{"injectables/CourseUrlHandler.html":{}},"body":{"injectables/CourseUrlHandler.html":{},"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagInternalUrlService.html":{}}}],["courseurlparams",{"_index":7575,"title":{"classes/CourseUrlParams.html":{}},"body":{"controllers/CourseController.html":{},"classes/CourseUrlParams.html":{}}}],["coursevalue",{"_index":2040,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["court",{"_index":25127,"title":{},"body":{"license.html":{}}}],["courts",{"_index":25191,"title":{},"body":{"license.html":{}}}],["covenant",{"_index":25089,"title":{},"body":{"license.html":{}}}],["cover",{"_index":25655,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["coverage",{"_index":982,"title":{},"body":{"injectables/AccountValidationService.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["covered",{"_index":24735,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["cp",{"_index":25918,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["cr",{"_index":14583,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["create",{"_index":734,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{},"injectables/BaseRepo.html":{},"controllers/BoardController.html":{},"classes/BoardManagementConsole.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardRepo.html":{},"controllers/BoardSubmissionController.html":{},"modules/CacheWrapperModule.html":{},"controllers/CardController.html":{},"injectables/CardService.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardService.html":{},"controllers/ColumnController.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"injectables/EtherpadService.html":{},"interfaces/FeathersService.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/H5PContentRepo.html":{},"classes/IdentityManagementService.html":{},"injectables/ImportUserRepo.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/LegacySchoolDo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"controllers/NewsController.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/OidcProvisioningService.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"injectables/RoleRepo.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"controllers/ShareTokenController.html":{},"injectables/StorageProviderRepo.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"classes/TestBootstrapConsole.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawWsService.html":{},"injectables/UserRepo.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"index.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["create(@currentuser",{"_index":16467,"title":{},"body":{"controllers/NewsController.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["create(config",{"_index":2340,"title":{},"body":{"injectables/BBBService.html":{}}}],["create(context",{"_index":5453,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["create(currentuser",{"_index":16443,"title":{},"body":{"controllers/NewsController.html":{}}}],["create(currentuserid",{"_index":24111,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create(data",{"_index":11389,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["create(deletionlog",{"_index":9222,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["create(deletionrequest",{"_index":9411,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["create(entity",{"_index":759,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TldrawRepo.html":{},"injectables/UserRepo.html":{}}}],["create(parent",{"_index":4436,"title":{},"body":{"injectables/CardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{}}}],["create(path",{"_index":19331,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["create(userid",{"_index":16645,"title":{},"body":{"injectables/NewsUc.html":{},"injectables/SubmissionItemService.html":{}}}],["create.config.ts",{"_index":2156,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:23",{"_index":2175,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:25",{"_index":2169,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:27",{"_index":2173,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:29",{"_index":2171,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:31",{"_index":2176,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:33",{"_index":2170,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:35",{"_index":2174,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:37",{"_index":2168,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:39",{"_index":2172,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.config.ts:9",{"_index":2167,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["create.params.ts",{"_index":10237,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/TaskCreateParams.html":{},"classes/VideoConferenceCreateParams.html":{}}}],["create.params.ts:14",{"_index":24088,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["create.params.ts:16",{"_index":21515,"title":{},"body":{"classes/TaskCreateParams.html":{}}}],["create.params.ts:17",{"_index":10245,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{}}}],["create.params.ts:19",{"_index":24096,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["create.params.ts:21",{"_index":15899,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{}}}],["create.params.ts:22",{"_index":10251,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["create.params.ts:25",{"_index":16951,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{},"classes/TaskCreateParams.html":{}}}],["create.params.ts:26",{"_index":15898,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{}}}],["create.params.ts:27",{"_index":10244,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/VideoConferenceCreateParams.html":{}}}],["create.params.ts:30",{"_index":15895,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{}}}],["create.params.ts:33",{"_index":21519,"title":{},"body":{"classes/TaskCreateParams.html":{}}}],["create.params.ts:34",{"_index":15897,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{}}}],["create.params.ts:35",{"_index":16950,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{}}}],["create.params.ts:38",{"_index":15893,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{}}}],["create.params.ts:39",{"_index":16949,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{}}}],["create.params.ts:41",{"_index":21517,"title":{},"body":{"classes/TaskCreateParams.html":{}}}],["create.params.ts:43",{"_index":16953,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{}}}],["create.params.ts:48",{"_index":10242,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["create.params.ts:49",{"_index":21513,"title":{},"body":{"classes/TaskCreateParams.html":{}}}],["create.params.ts:55",{"_index":10247,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["create.params.ts:57",{"_index":21518,"title":{},"body":{"classes/TaskCreateParams.html":{}}}],["create.params.ts:59",{"_index":10243,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["create.params.ts:63",{"_index":10246,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["create.params.ts:69",{"_index":10250,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["create.params.ts:9",{"_index":24087,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["create.response.ts",{"_index":2242,"title":{},"body":{"interfaces/BBBCreateResponse.html":{}}}],["create.uc.ts",{"_index":24103,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create.uc.ts:20",{"_index":24110,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create.uc.ts:27",{"_index":24114,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create.uc.ts:41",{"_index":24112,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create.uc.ts:68",{"_index":24116,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create.uc.ts:89",{"_index":24120,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create.uc.ts:93",{"_index":24118,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["create_tokens_for_users=true",{"_index":25941,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["createaccount",{"_index":13767,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["createaccount(account",{"_index":13776,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["createandjoin",{"_index":24161,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["createandjoin(currentuser",{"_index":24162,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["createandstartprometheusmetricsappifenabled",{"_index":18061,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["createapiresponsetimemetricmiddleware",{"_index":18039,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["createauthenticationcodegranttokenrequestpayload",{"_index":22579,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["createauthenticationcodegranttokenrequestpayload(clientid",{"_index":22581,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["createboard",{"_index":3754,"title":{},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{}}}],["createboard(courseid",{"_index":3760,"title":{},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{}}}],["createboardelementfor(boardelementtarget",{"_index":2986,"title":{},"body":{"entities/Board.html":{}}}],["createboardforcourse",{"_index":3936,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["createboardforcourse(courseid",{"_index":3940,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["createbucket",{"_index":19319,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["createbucketcommand",{"_index":19352,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["createcard",{"_index":5577,"title":{},"body":{"controllers/ColumnController.html":{},"injectables/ColumnUc.html":{}}}],["createcard(urlparams",{"_index":5580,"title":{},"body":{"controllers/ColumnController.html":{}}}],["createcard(userid",{"_index":5650,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["createcardbodyparams",{"_index":5582,"title":{"classes/CreateCardBodyParams.html":{}},"body":{"controllers/ColumnController.html":{},"classes/CreateCardBodyParams.html":{}}}],["createcardbodyparams})@post(':columnid/cards",{"_index":5586,"title":{},"body":{"controllers/ColumnController.html":{}}}],["createcards",{"_index":3780,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["createcards(amount",{"_index":3788,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["createclient",{"_index":8902,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"injectables/LdapService.html":{},"modules/RedisModule.html":{}}}],["createclient(storageprovider",{"_index":8910,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["createcollection",{"_index":8832,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["createcollection(collectionname",{"_index":8842,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["createcolumn",{"_index":3174,"title":{},"body":{"controllers/BoardController.html":{},"injectables/BoardUc.html":{}}}],["createcolumn(urlparams",{"_index":3179,"title":{},"body":{"controllers/BoardController.html":{}}}],["createcolumn(userid",{"_index":4093,"title":{},"body":{"injectables/BoardUc.html":{}}}],["createcolumns",{"_index":3781,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["createcolumns(amount",{"_index":3790,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["createconfigmoduleoptions",{"_index":1025,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/ManagementModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["createcontentelementbodyparams",{"_index":3999,"title":{"classes/CreateContentElementBodyParams.html":{}},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CreateContentElementBodyParams.html":{}}}],["createcontextexternaltool",{"_index":7024,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["createcontextexternaltool(currentuser",{"_index":22698,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["createcontextexternaltool(userid",{"_index":7032,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["createcourse",{"_index":7860,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["createcourse(course",{"_index":7864,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["createcourse(userid",{"_index":26036,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["created",{"_index":2582,"title":{},"body":{"classes/BaseFactory.html":{},"injectables/DeletionClient.html":{},"injectables/ExternalToolService.html":{},"injectables/FileSystemAdapter.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/IdentityManagementService.html":{},"injectables/LegacyLogger.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/NextcloudStrategy.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"injectables/TldrawWsService.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/VideoConferenceController.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["created.'})@apiresponse({status",{"_index":24055,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["createdaccountid",{"_index":14843,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["createdaccountid.id",{"_index":14845,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["createdat",{"_index":430,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/AccountSaveDto.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardResponseMapper.html":{},"classes/BoardTaskResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/Class.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementFactory.html":{},"classes/County.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"interfaces/EntityWithSchool.html":{},"classes/ExternalToolElementResponseMapper.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"classes/LinkElementResponseMapper.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.html":{},"interfaces/ParentInfo.html":{},"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/ResolvedUserResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"injectables/SubmissionItemFactory.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"classes/TaskResponse.html":{},"classes/TimestampsResponse.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{}}}],["createdat.$date",{"_index":5292,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["createdate",{"_index":2243,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["createddate",{"_index":600,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["createdefaultiuser",{"_index":13308,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["createdeletionlog",{"_index":9243,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["createdeletionlog(deletionrequestid",{"_index":9247,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["createdeletionrequest",{"_index":9460,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["createdeletionrequest(targetrefid",{"_index":9464,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["createdeletionrequests",{"_index":9491,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["createdeletionrequests(deletionrequestbody",{"_index":9497,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["createdir",{"_index":12032,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["createdir(folderpath",{"_index":12041,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["createdmodel",{"_index":8676,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["createdschoolexternaltool",{"_index":19855,"title":{},"body":{"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["createdschoolexternaltooldo",{"_index":23084,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["createdto",{"_index":9738,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["createdto(undefined",{"_index":19083,"title":{},"body":{"injectables/RoomBoardDTOFactory.html":{}}}],["createdtool",{"_index":7054,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["createelement",{"_index":3994,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"injectables/CardUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["createelement(urlparams",{"_index":3997,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{}}}],["createelement(userid",{"_index":4493,"title":{},"body":{"injectables/CardUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["createelements",{"_index":3782,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["createelements(amount",{"_index":3792,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["createemptyelements",{"_index":4432,"title":{},"body":{"injectables/CardService.html":{}}}],["createemptyelements(card",{"_index":4440,"title":{},"body":{"injectables/CardService.html":{}}}],["createerrorloggable",{"_index":12563,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorloggable(error",{"_index":12574,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponse",{"_index":12564,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponse(error",{"_index":12576,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponseforbusinesserror",{"_index":12565,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponseforbusinesserror(error",{"_index":12578,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponseforfeatherserror",{"_index":12566,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponseforfeatherserror(error",{"_index":12580,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponsefornesthttpexception",{"_index":12567,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponsefornesthttpexception(exception",{"_index":12582,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createerrorresponseforunknownerror",{"_index":12568,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["createetherpad",{"_index":9987,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["createetherpad(userid",{"_index":9991,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["createexternaltool",{"_index":10923,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["createexternaltool(currentuser",{"_index":22749,"title":{},"body":{"controllers/ToolController.html":{}}}],["createexternaltool(externaltool",{"_index":10937,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["createexternaltool(userid",{"_index":11039,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["createfile",{"_index":22182,"title":{},"body":{"classes/TestHelper.html":{}}}],["createfileresponse",{"_index":22183,"title":{},"body":{"classes/TestHelper.html":{}}}],["createfileurlreplacements",{"_index":7276,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["createfileurlreplacements(filedtos",{"_index":7283,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["createflowrequest",{"_index":14564,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["creategridelement",{"_index":8621,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["creategridelement(elementwithposition",{"_index":8632,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["creategroup(name",{"_index":1146,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["createh5pcontent",{"_index":13109,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["createh5pcontent(@body",{"_index":13228,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["createh5pcontent(body",{"_index":13121,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["createhttpexceptionoptions",{"_index":9968,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["createhttpexceptionoptions(error",{"_index":9972,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["createidentifier",{"_index":5718,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{}}}],["createidentifier(content._id",{"_index":5749,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["createidentifier(courseid",{"_index":5721,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["createidentifier(lesson.id",{"_index":5734,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["createidentifier(lessonid)}/${createidentifier(content._id)}.html",{"_index":5751,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["createidentifier(task.id",{"_index":5777,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["createidentityprovider",{"_index":14488,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["createidentityprovider(oidcconfig",{"_index":14507,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["createidpdefaultmapper",{"_index":14489,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["createidpdefaultmapper(idpalias",{"_index":14511,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["createidtoken",{"_index":13702,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["createidtoken(userid",{"_index":13709,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["createifnotrunning",{"_index":24104,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["createifnotrunning(currentuserid",{"_index":24113,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["createiframesubject",{"_index":13703,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["createiframesubject(user",{"_index":13711,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["createinstance(targetmodel",{"_index":7841,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["createjwt",{"_index":14347,"title":{},"body":{"classes/JwtTestFactory.html":{}}}],["createjwt(params",{"_index":7982,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["createjwtparams",{"_index":7963,"title":{"interfaces/CreateJwtParams.html":{}},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["createjwtpayload",{"_index":1699,"title":{"interfaces/CreateJwtPayload.html":{}},"body":{"injectables/AuthenticationService.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"interfaces/JwtPayload.html":{},"injectables/LoginUc.html":{}}}],["createlaunchdata",{"_index":2723,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"interfaces/ToolLaunchStrategy.html":{}}}],["createlaunchdata(userid",{"_index":2757,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"interfaces/ToolLaunchStrategy.html":{}}}],["createlaunchrequest",{"_index":2724,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"interfaces/ToolLaunchStrategy.html":{}}}],["createlaunchrequest(toollaunchdata",{"_index":2759,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["createlaunchrequest(toollaunchdatado",{"_index":22932,"title":{},"body":{"interfaces/ToolLaunchStrategy.html":{}}}],["createlesson",{"_index":15478,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["createlesson(lesson",{"_index":15480,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["createlesson(userid",{"_index":26040,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["createlibrary",{"_index":15596,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["createlibrary(library",{"_index":15601,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["createlogmessageforvalidationerrors",{"_index":9865,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["createlogmessageforvalidationerrors(error",{"_index":9872,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["createmessage",{"_index":15138,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["createmessage(message",{"_index":15142,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["createmessagewithcontext",{"_index":15763,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["createmessagewithcontext(loggable",{"_index":15766,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["createmikroormmodule",{"_index":16389,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["createmock",{"_index":22150,"title":{},"body":{"classes/TestBootstrapConsole.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["createnewaccount",{"_index":17634,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["createnewmigration",{"_index":23633,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["createnewmigration(school",{"_index":23643,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["createnews",{"_index":8004,"title":{"interfaces/CreateNews.html":{}},"body":{"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{},"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["createnewsparams",{"_index":8015,"title":{"classes/CreateNewsParams.html":{}},"body":{"classes/CreateNewsParams.html":{},"controllers/NewsController.html":{},"classes/NewsMapper.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["createnexboard",{"_index":16712,"title":{},"body":{"injectables/NexboardService.html":{}}}],["createnexboard(userid",{"_index":16714,"title":{},"body":{"injectables/NexboardService.html":{}}}],["createoauth2client",{"_index":17186,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{}}}],["createoauth2client(currentuser",{"_index":17193,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{}}}],["createoauth2client(data",{"_index":17452,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["createorupdate",{"_index":10571,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["createorupdate(domainobject",{"_index":10580,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["createorupdateboardnode",{"_index":18531,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["createorupdateboardnode(boardnode",{"_index":18536,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["createorupdateentity",{"_index":2438,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["createorupdateentity(domainobject",{"_index":2449,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["createorupdateidmaccount",{"_index":14818,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["createorupdateidmaccount(account",{"_index":14820,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["createpath",{"_index":17838,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["createpath(schoolid",{"_index":17842,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["createpreviewdirectorypath",{"_index":17969,"title":{},"body":{"injectables/PreviewService.html":{}}}],["createpreviewdirectorypath(filerecord.getschoolid",{"_index":17976,"title":{},"body":{"injectables/PreviewService.html":{}}}],["createpreviewfilepath",{"_index":17839,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["createpreviewfilepath(schoolid",{"_index":17845,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["createpreviewnamehash",{"_index":17840,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["createpreviewnamehash(id",{"_index":17844,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["createprometheusmetricsapp",{"_index":18040,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["createprometheusmetricsapp(route",{"_index":18069,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["createqueryordermap",{"_index":23263,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["createqueryordermap(sort",{"_index":23265,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["createredisidentifierfromjwtdata",{"_index":14368,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["createredisidentifierfromjwtdata(accountid",{"_index":14374,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["createrequest",{"_index":12339,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{}}}],["createrequest(event",{"_index":12347,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{}}}],["createrichtextelement",{"_index":5448,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["createrichtextelement(text",{"_index":5455,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["creates",{"_index":2342,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/FileSystemAdapter.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/NextcloudStrategy.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["creates3clientadapter",{"_index":19449,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["creates3clientadapter(config",{"_index":19453,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["createschoolbysuperhero(userid",{"_index":26021,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["createschoolexternaltool",{"_index":19860,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{},"controllers/ToolSchoolController.html":{}}}],["createschoolexternaltool(currentuser",{"_index":23048,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["createschoolexternaltool(userid",{"_index":19867,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["createsharetoken",{"_index":20301,"title":{},"body":{"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{}}}],["createsharetoken(currentuser",{"_index":20304,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["createsharetoken(userid",{"_index":20481,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["createstudentstatusforuser(user",{"_index":21354,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["createsubmissionitem",{"_index":9761,"title":{},"body":{"controllers/ElementController.html":{},"injectables/ElementUc.html":{}}}],["createsubmissionitem(urlparams",{"_index":9764,"title":{},"body":{"controllers/ElementController.html":{}}}],["createsubmissionitem(userid",{"_index":9802,"title":{},"body":{"injectables/ElementUc.html":{}}}],["createsubmissionitembodyparams",{"_index":8036,"title":{"classes/CreateSubmissionItemBodyParams.html":{}},"body":{"classes/CreateSubmissionItemBodyParams.html":{},"controllers/ElementController.html":{}}}],["createsubmissionitembodyparams})@post(':contentelementid/submissions",{"_index":9767,"title":{},"body":{"controllers/ElementController.html":{}}}],["createtask",{"_index":21580,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["createtask(task",{"_index":21585,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["createtaskstatus",{"_index":9648,"title":{},"body":{"classes/DtoCreator.html":{}}}],["createtaskstatus(task",{"_index":9665,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["createteacherstatusforuser(user",{"_index":21345,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["createteam",{"_index":4959,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/NextcloudStrategy.html":{}}}],["createteam(team",{"_index":4968,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/NextcloudStrategy.html":{}}}],["createtestingmodule",{"_index":25767,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["createtime",{"_index":2244,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["createtmpdir",{"_index":12033,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["createtmpdir(dirnameprefix",{"_index":12044,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["createtoken",{"_index":20433,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["createtoken(payload",{"_index":20441,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["createuser(email",{"_index":1152,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["createuserbyadmin(userid",{"_index":26024,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["createusersearchindex",{"_index":5305,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["createusertoken(userid",{"_index":1116,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["createwebsocket",{"_index":22425,"title":{},"body":{"classes/TldrawWsFactory.html":{}}}],["createwebsocket(readystate",{"_index":22427,"title":{},"body":{"classes/TldrawWsFactory.html":{}}}],["createwelcomecolumnboard",{"_index":5449,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["createwelcomecolumnboard(coursereference",{"_index":5457,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["createwsshareddocdo",{"_index":22426,"title":{},"body":{"classes/TldrawWsFactory.html":{}}}],["creating",{"_index":8018,"title":{},"body":{"classes/CreateNewsParams.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/LessonCopyApiParams.html":{},"injectables/NextcloudStrategy.html":{},"classes/TaskCopyApiParams.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["creation",{"_index":3777,"title":{},"body":{"classes/BoardManagementConsole.html":{},"classes/GlobalValidationPipe.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/NextcloudStrategy.html":{},"classes/SchoolInMigrationLoggableException.html":{}}}],["creationyear",{"_index":5724,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["creator",{"_index":6609,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/CourseNews.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ITask.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"interfaces/ParentInfo.html":{},"entities/SchoolNews.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"interfaces/TaskCreate.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{},"todo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["creator'})@index",{"_index":11531,"title":{},"body":{"entities/FileEntity.html":{}}}],["creatorid",{"_index":6606,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"entities/CourseNews.html":{},"interfaces/FileDO.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"interfaces/ParentInfo.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"entities/TeamNews.html":{}}}],["credential",{"_index":14750,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["credentialdata",{"_index":14837,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["credentialhash",{"_index":209,"title":{},"body":{"entities/Account.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{}}}],["credentials",{"_index":8956,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"interfaces/IKeycloakSettings.html":{},"classes/IdentityManagementOauthService.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"controllers/LoginController.html":{},"modules/S3ClientModule.html":{}}}],["crit",{"_index":9913,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["crit(loggable",{"_index":9919,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["criteria",{"_index":369,"title":{},"body":{"controllers/AccountController.html":{},"classes/AccountSearchQueryParams.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["criterion",{"_index":24770,"title":{},"body":{"license.html":{}}}],["crlf",{"_index":18670,"title":{},"body":{"classes/ReferencesService.html":{}}}],["cross",{"_index":7408,"title":{},"body":{"modules/CoreModule.html":{},"dependencies.html":{},"license.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["crossing",{"_index":25587,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["crud",{"_index":2526,"title":{},"body":{"classes/BaseDomainObject.html":{},"controllers/CollaborativeStorageController.html":{},"classes/NewsCrudOperationLoggable.html":{},"injectables/NewsUc.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["crud.uc",{"_index":17299,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["crud.uc.ts",{"_index":17184,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crud.uc.ts:10",{"_index":17192,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crud.uc.ts:16",{"_index":17204,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crud.uc.ts:23",{"_index":17200,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crud.uc.ts:42",{"_index":17198,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crud.uc.ts:51",{"_index":17194,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crud.uc.ts:60",{"_index":17202,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crud.uc.ts:73",{"_index":17196,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["crudoperation",{"_index":16487,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{},"injectables/NewsUc.html":{}}}],["cruduc",{"_index":17309,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["crypto",{"_index":1718,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/BBBService.html":{},"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{},"injectables/Lti11EncryptionService.html":{},"injectables/OidcProvisioningService.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/SymetricKeyEncryptionService.html":{},"dependencies.html":{}}}],["crypto.createhash('sha1",{"_index":2419,"title":{},"body":{"injectables/BBBService.html":{}}}],["crypto.generatekeypairsync('rsa",{"_index":7972,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["cryptojs",{"_index":15869,"title":{},"body":{"injectables/Lti11EncryptionService.html":{},"injectables/OidcProvisioningService.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["cryptojs.aes.decrypt(data",{"_index":21025,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["cryptojs.aes.decrypt(value",{"_index":20620,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["cryptojs.aes.encrypt(data",{"_index":21024,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["cryptojs.aes.encrypt(value",{"_index":20617,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["cryptojs.hmacsha1(base_string",{"_index":15879,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["cryptojs.sha256(saveduser.id",{"_index":17652,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["css",{"_index":12506,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["ctl",{"_index":11282,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["ctltoolstabenabled",{"_index":13661,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["cumbersome",{"_index":2543,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["cure",{"_index":25027,"title":{},"body":{"license.html":{}}}],["curl",{"_index":14806,"title":{},"body":{"controllers/KeycloakManagementController.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["currenlty",{"_index":19170,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["current",{"_index":5055,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"controllers/GroupController.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/PaginationResponse.html":{},"classes/PatchMyAccountParams.html":{},"injectables/SchoolYearService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["currentdate",{"_index":9432,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/SchoolYearRepo.html":{}}}],["currentdatetime",{"_index":5194,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["currentindex",{"_index":23977,"title":{},"body":{"classes/ValidationErrorLoggableException.html":{}}}],["currentldapid",{"_index":14290,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["currently",{"_index":619,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/BaseRepo.html":{},"modules/BoardModule.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/HydraSsoService.html":{},"controllers/UserLoginMigrationController.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["currentredirect",{"_index":13468,"title":{},"body":{"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{}}}],["currentrooms",{"_index":8496,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["currentrooms.foreach((room",{"_index":8498,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["currentteacher",{"_index":5774,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["currentuser",{"_index":349,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"classes/CurrentUserMapper.html":{},"controllers/DashboardController.html":{},"controllers/ElementController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/ImportUserController.html":{},"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"controllers/LessonController.html":{},"injectables/LocalStrategy.html":{},"controllers/LoginController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/NewsController.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"controllers/PseudonymController.html":{},"injectables/RequestLoggingInterceptor.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"controllers/SystemController.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["currentuser.accountid",{"_index":8069,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["currentuser.impersonated",{"_index":8073,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["currentuser.isexternaluser",{"_index":8074,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["currentuser.roles",{"_index":8071,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["currentuser.schoolid",{"_index":8070,"title":{},"body":{"classes/CurrentUserMapper.html":{},"controllers/GroupController.html":{},"controllers/NewsController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/UserLoginMigrationController.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["currentuser.systemid",{"_index":8072,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["currentuser.userid",{"_index":4030,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CourseController.html":{},"classes/CurrentUserMapper.html":{},"controllers/DashboardController.html":{},"controllers/ElementController.html":{},"controllers/GroupController.html":{},"controllers/NewsController.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"injectables/RequestLoggingInterceptor.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["currentuserid",{"_index":5100,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["currentusermapper",{"_index":8044,"title":{"classes/CurrentUserMapper.html":{}},"body":{"classes/CurrentUserMapper.html":{},"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/LoginUc.html":{},"injectables/Oauth2Strategy.html":{},"injectables/UserService.html":{}}}],["currentusermapper.jwttoicurrentuser(payload",{"_index":14345,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["currentusermapper.mapcurrentusertocreatejwtpayload(userinfo",{"_index":15859,"title":{},"body":{"injectables/LoginUc.html":{}}}],["currentusermapper.maptooauthcurrentuser",{"_index":16936,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["currentusermapper.maptooauthcurrentuser(account.id",{"_index":23928,"title":{},"body":{"injectables/UserService.html":{}}}],["currentusermapper.usertoicurrentuser(account.id",{"_index":15093,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{}}}],["currentvalue",{"_index":23976,"title":{},"body":{"classes/ValidationErrorLoggableException.html":{}}}],["currentvalue.tostring(false",{"_index":23978,"title":{},"body":{"classes/ValidationErrorLoggableException.html":{}}}],["currentyear",{"_index":19662,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["custom",{"_index":1220,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ApiValidationErrorResponse.html":{},"injectables/CommonToolValidationService.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/ErrorResponse.html":{},"classes/ExternalToolCreateParams.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolResponse.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"dependencies.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["custom_error_type",{"_index":25620,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["customarily",{"_index":24892,"title":{},"body":{"license.html":{}}}],["customary",{"_index":25142,"title":{},"body":{"license.html":{}}}],["customer",{"_index":24897,"title":{},"body":{"license.html":{}}}],["customfields",{"_index":1069,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["customizations",{"_index":20252,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["customizing",{"_index":7410,"title":{},"body":{"modules/CoreModule.html":{}}}],["customkey",{"_index":20607,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["customltiproperty",{"_index":8083,"title":{"interfaces/CustomLtiProperty.html":{}},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["customltipropertydo",{"_index":8156,"title":{"classes/CustomLtiPropertyDO.html":{}},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{}}}],["customltipropertydo('key",{"_index":15988,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["customparam",{"_index":8294,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparameter",{"_index":2738,"title":{"classes/CustomParameter.html":{}},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/CommonToolValidationService.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparameter.default",{"_index":10552,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["customparameter.regex",{"_index":10548,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["customparameter.regexcomment",{"_index":10549,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["customparameter.scope",{"_index":10550,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["customparameter.some",{"_index":10540,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["customparameter.some((item",{"_index":10538,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["customparameterdo.default",{"_index":10896,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterdo.description",{"_index":10895,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterdo.displayname",{"_index":10894,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterdo.isoptional",{"_index":10902,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterdo.name",{"_index":10893,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterdo.regex",{"_index":10897,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterdo.regexcomment",{"_index":10898,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterdos",{"_index":2737,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["customparameterdto",{"_index":10765,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["customparameterentity",{"_index":8212,"title":{"classes/CustomParameterEntity.html":{}},"body":{"classes/CustomParameterEntity.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolRepoMapper.html":{}}}],["customparameterentityfactory",{"_index":10319,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["customparameterentityfactory.build",{"_index":10325,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["customparameterentry",{"_index":2764,"title":{"classes/CustomParameterEntry.html":{}},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/CommonToolValidationService.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/CustomParameterEntry.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["customparameterentryentity",{"_index":6727,"title":{"classes/CustomParameterEntryEntity.html":{}},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/ExternalToolRepoMapper.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{}}}],["customparameterentryparam",{"_index":6780,"title":{"classes/CustomParameterEntryParam.html":{}},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/CustomParameterEntryParam.html":{},"classes/SchoolExternalToolPostParams.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["customparameterentryresponse",{"_index":6893,"title":{"classes/CustomParameterEntryResponse.html":{}},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["customparameterfactory",{"_index":8243,"title":{"classes/CustomParameterFactory.html":{}},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparameterfactory.buildlist(number",{"_index":8295,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparameterfactory.define(customparameter",{"_index":8285,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparameterlocation",{"_index":2743,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/ToolLaunchMapper.html":{}}}],["customparameterlocation.body",{"_index":8287,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/ToolLaunchMapper.html":{}}}],["customparameterlocation.path",{"_index":10322,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ToolLaunchMapper.html":{}}}],["customparameterlocation.query",{"_index":10796,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ToolLaunchMapper.html":{}}}],["customparameterlocationparams",{"_index":8312,"title":{},"body":{"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterlocationparams.body",{"_index":10797,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterlocationparams.path",{"_index":10794,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterlocationparams.query",{"_index":10795,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterparam",{"_index":6927,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["customparameterparam.defaultvalue",{"_index":10834,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["customparameterparam.description",{"_index":10833,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["customparameterparam.displayname",{"_index":10832,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["customparameterparam.isoptional",{"_index":10840,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["customparameterparam.name",{"_index":6883,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["customparameterparam.regex",{"_index":10835,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["customparameterparam.regexcomment",{"_index":10836,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["customparameterparam.value",{"_index":6884,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["customparameterparams",{"_index":6874,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["customparameterparams.map",{"_index":6926,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["customparameterparams.map((customparameterparam",{"_index":6882,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["customparameterpostparams",{"_index":8303,"title":{"classes/CustomParameterPostParams.html":{}},"body":{"classes/CustomParameterPostParams.html":{},"classes/ExternalToolCreateParams.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["customparameterresponse",{"_index":6688,"title":{"classes/CustomParameterResponse.html":{}},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["customparameters",{"_index":10676,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameters.map",{"_index":10736,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["customparameters.map((customparameterdo",{"_index":10892,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterscope",{"_index":6101,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterFactory.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparameterscope.context",{"_index":6108,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"classes/CustomParameterFactory.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparameterscope.global",{"_index":8282,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparameterscope.school",{"_index":6107,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"classes/CustomParameterFactory.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparameterscopetypeparams",{"_index":8318,"title":{},"body":{"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterscopetypeparams.context",{"_index":10792,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterscopetypeparams.global",{"_index":10790,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparameterscopetypeparams.school",{"_index":10791,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertype",{"_index":2033,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/CommonToolValidationService.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparametertype.auto_contextid",{"_index":6095,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertype.auto_contextname",{"_index":6096,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertype.auto_contextname}/${contextexternaltool.contextref.type",{"_index":2045,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["customparametertype.auto_schoolid",{"_index":6097,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertype.auto_schoolnumber",{"_index":6098,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertype.boolean",{"_index":6094,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertype.number",{"_index":6092,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertype.string",{"_index":6091,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["customparametertypeparams",{"_index":8321,"title":{},"body":{"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertypeparams.auto_contextid",{"_index":10802,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertypeparams.auto_contextname",{"_index":10803,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertypeparams.auto_schoolid",{"_index":10804,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertypeparams.auto_schoolnumber",{"_index":10805,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertypeparams.boolean",{"_index":10800,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertypeparams.number",{"_index":10801,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customparametertypeparams.string",{"_index":10799,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["customproviderclass.name",{"_index":15153,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["customs",{"_index":8105,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{}}}],["customtoparameterlocationmapping",{"_index":22855,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["customtoparameterlocationmapping[location",{"_index":22864,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["cycle",{"_index":3861,"title":{},"body":{"modules/BoardModule.html":{}}}],["cycles",{"_index":1715,"title":{},"body":{"injectables/AuthenticationService.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{}}}],["d",{"_index":7352,"title":{},"body":{"injectables/CopyHelperService.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["damages",{"_index":25174,"title":{},"body":{"license.html":{}}}],["das",{"_index":5492,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["dash",{"_index":24627,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["dashboard",{"_index":8343,"title":{},"body":{"controllers/DashboardController.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"interfaces/IDashboardRepo.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["dashboard.getelement(position",{"_index":8761,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["dashboard.getid",{"_index":8596,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["dashboard.getuserid",{"_index":8763,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["dashboard.model.mapper",{"_index":8718,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["dashboard.moveelement(from",{"_index":8760,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["dashboard.setlearnrooms(courses",{"_index":8756,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["dashboard_repo",{"_index":15128,"title":{},"body":{"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{}}}],["dashboardcontroller",{"_index":8341,"title":{"controllers/DashboardController.html":{}},"body":{"controllers/DashboardController.html":{},"modules/LearnroomApiModule.html":{}}}],["dashboardelement",{"_index":8540,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["dashboardentity",{"_index":8375,"title":{"classes/DashboardEntity.html":{}},"body":{"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"classes/GridElement.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{}}}],["dashboardentity(modelentity.id",{"_index":8669,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["dashboardentity(new",{"_index":8721,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["dashboardgridelementmodel",{"_index":8527,"title":{"entities/DashboardGridElementModel.html":{}},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{}}}],["dashboardgridelementmodelproperties",{"_index":8538,"title":{"interfaces/DashboardGridElementModelProperties.html":{}},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["dashboardgridelementresponse",{"_index":8559,"title":{"classes/DashboardGridElementResponse.html":{}},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{}}}],["dashboardgridsubelementresponse",{"_index":8567,"title":{"classes/DashboardGridSubElementResponse.html":{}},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{}}}],["dashboardgridsubelementresponse(metadata",{"_index":8615,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["dashboardid",{"_index":8366,"title":{},"body":{"controllers/DashboardController.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{}}}],["dashboardmapper",{"_index":8356,"title":{"classes/DashboardMapper.html":{}},"body":{"controllers/DashboardController.html":{},"classes/DashboardMapper.html":{}}}],["dashboardmapper.mapgridelement(elementwithposition",{"_index":8598,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["dashboardmapper.maplearnroom(groupmetadata",{"_index":8614,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["dashboardmapper.maptoresponse(dashboard",{"_index":8365,"title":{},"body":{"controllers/DashboardController.html":{}}}],["dashboardmodel",{"_index":8729,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["dashboardmodelentity",{"_index":8539,"title":{"entities/DashboardModelEntity.html":{}},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["dashboardmodelmapper",{"_index":8619,"title":{"injectables/DashboardModelMapper.html":{}},"body":{"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{}}}],["dashboardmodelproperties",{"_index":8550,"title":{"interfaces/DashboardModelProperties.html":{}},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["dashboardprops",{"_index":8392,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["dashboardrepo",{"_index":8704,"title":{"injectables/DashboardRepo.html":{}},"body":{"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"interfaces/IDashboardRepo.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{}}}],["dashboardresponse",{"_index":8360,"title":{"classes/DashboardResponse.html":{}},"body":{"controllers/DashboardController.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["dashboarduc",{"_index":8358,"title":{"injectables/DashboardUc.html":{}},"body":{"controllers/DashboardController.html":{},"injectables/DashboardUc.html":{},"modules/LearnroomApiModule.html":{}}}],["dashboardurlparams",{"_index":8347,"title":{"classes/DashboardUrlParams.html":{}},"body":{"controllers/DashboardController.html":{},"classes/DashboardUrlParams.html":{}}}],["data",{"_index":339,"title":{},"body":{"controllers/AccountController.html":{},"classes/AccountSearchListResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"interfaces/AuthenticationResponse.html":{},"modules/AuthorizationReferenceModule.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"injectables/BBBService.html":{},"injectables/BasicToolLaunchStrategy.html":{},"interfaces/CalendarEvent.html":{},"controllers/CardController.html":{},"classes/CardListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"injectables/CollaborativeStorageAdapter.html":{},"interfaces/CollectionFilePath.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"interfaces/CopyFiles.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardMapper.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeletionQueueConsole.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"interfaces/EncryptionService.html":{},"injectables/EtherpadService.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolSearchListResponse.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"classes/FileDto.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElementContentBody.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FileResponseBuilder.html":{},"classes/ForbiddenLoggableException.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GlobalValidationPipe.html":{},"classes/GroupRoleUnknownLoggable.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5pFileDto.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"modules/InterceptorModule.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LegacyLogger.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"interfaces/ListFiles.html":{},"controllers/LoginController.html":{},"injectables/Lti11EncryptionService.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"interfaces/Meta.html":{},"injectables/MetaTagExtractorService.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthDataStrategyInputDto.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/OauthProviderService.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PreviewActionsLoggable.html":{},"interfaces/PreviewFileParams.html":{},"classes/PreviewGeneratorBuilder.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/PublicSystemListResponse.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"interfaces/SuccessfulRes.html":{},"injectables/SymetricKeyEncryptionService.html":{},"controllers/SystemController.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TestApiClient.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"classes/ToolLaunchData.html":{},"injectables/ToolLaunchService.html":{},"classes/ToolReferenceListResponse.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"interfaces/UserData.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/ValidationErrorLoggableException.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/XApiKeyStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["data.basepath",{"_index":1431,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["data.bcc",{"_index":16096,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["data.body",{"_index":19371,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data.cc",{"_index":16094,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["data.contentlength",{"_index":19374,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data.contentrange",{"_index":19375,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data.contents.map((p",{"_index":19431,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data.contents?.length",{"_index":19430,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data.contenttype",{"_index":19373,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data.destroy",{"_index":13194,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["data.dto.ts",{"_index":17129,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["data.dto.ts:11",{"_index":17132,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["data.dto.ts:13",{"_index":17131,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["data.dto.ts:7",{"_index":17135,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["data.dto.ts:9",{"_index":17133,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["data.etag",{"_index":19376,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data.externalgroups",{"_index":17713,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["data.externalgroups.map((externalgroup",{"_index":17714,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["data.externalschool",{"_index":17706,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["data.externalschool.externalid",{"_index":23716,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["data.externalschool.officialschoolnumber",{"_index":23712,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["data.externalschool?.officialschoolnumber",{"_index":16887,"title":{},"body":{"injectables/OAuthService.html":{}}}],["data.externaluser",{"_index":17710,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["data.externaluser.externalid",{"_index":16886,"title":{},"body":{"injectables/OAuthService.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["data.externaluser?.externalid",{"_index":14285,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["data.gridelement.getcontent",{"_index":8600,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["data.id",{"_index":7166,"title":{},"body":{"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["data.mountsdescription",{"_index":1433,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["data.name",{"_index":7169,"title":{},"body":{"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["data.port",{"_index":1429,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["data.pos",{"_index":8601,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["data.recipients",{"_index":16092,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["data.recipients.length",{"_index":16100,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["data.replyto",{"_index":16098,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["data.response",{"_index":21009,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["data.response.ts",{"_index":23334,"title":{},"body":{"classes/UserDataResponse.html":{}}}],["data.response.ts:11",{"_index":23336,"title":{},"body":{"classes/UserDataResponse.html":{}}}],["data.response.ts:14",{"_index":23337,"title":{},"body":{"classes/UserDataResponse.html":{}}}],["data.response.ts:17",{"_index":23338,"title":{},"body":{"classes/UserDataResponse.html":{}}}],["data.response.ts:3",{"_index":23335,"title":{},"body":{"classes/UserDataResponse.html":{}}}],["data.result?.ogdescription",{"_index":16263,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["data.result?.ogimage",{"_index":16265,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["data.result?.ogtitle",{"_index":16262,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["data.sourceid",{"_index":7168,"title":{},"body":{"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["data.system.systemid",{"_index":17708,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["data.ts",{"_index":18073,"title":{},"body":{"classes/PropertyData.html":{},"classes/ToolLaunchData.html":{}}}],["data.ts:11",{"_index":22832,"title":{},"body":{"classes/ToolLaunchData.html":{}}}],["data.ts:4",{"_index":18075,"title":{},"body":{"classes/PropertyData.html":{}}}],["data.ts:5",{"_index":22833,"title":{},"body":{"classes/ToolLaunchData.html":{}}}],["data.ts:6",{"_index":18076,"title":{},"body":{"classes/PropertyData.html":{}}}],["data.ts:7",{"_index":22836,"title":{},"body":{"classes/ToolLaunchData.html":{}}}],["data.ts:8",{"_index":18074,"title":{},"body":{"classes/PropertyData.html":{}}}],["data.ts:9",{"_index":22834,"title":{},"body":{"classes/ToolLaunchData.html":{}}}],["data/generateseeddata",{"_index":5166,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["data?.contents?.filter((o",{"_index":19417,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data?.continuationtoken",{"_index":19424,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["data?.istruncated",{"_index":19425,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["database",{"_index":1927,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"interfaces/CleanOptions.html":{},"interfaces/CollectionFilePath.html":{},"classes/DatabaseManagementConsole.html":{},"modules/DatabaseManagementModule.html":{},"interfaces/GlobalConstants.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"classes/MongoPatterns.html":{},"interfaces/Options.html":{},"interfaces/RetryOptions.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["database.js",{"_index":12332,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["database.module.ts",{"_index":16381,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["database.module.ts:31",{"_index":16382,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["database.module.ts:42",{"_index":16384,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["database/mongo",{"_index":16380,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["database/types",{"_index":12474,"title":{},"body":{"modules/FwuLearningContentsTestModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{}}}],["databasemanagementconsole",{"_index":8766,"title":{"classes/DatabaseManagementConsole.html":{}},"body":{"classes/DatabaseManagementConsole.html":{},"modules/ManagementModule.html":{},"interfaces/Options.html":{}}}],["databasemanagementcontroller",{"_index":8794,"title":{"controllers/DatabaseManagementController.html":{}},"body":{"controllers/DatabaseManagementController.html":{},"modules/ManagementModule.html":{}}}],["databasemanagementmodule",{"_index":8823,"title":{"modules/DatabaseManagementModule.html":{}},"body":{"modules/DatabaseManagementModule.html":{},"modules/ManagementModule.html":{}}}],["databasemanagementservice",{"_index":5154,"title":{"injectables/DatabaseManagementService.html":{}},"body":{"interfaces/CollectionFilePath.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"modules/ManagementModule.html":{}}}],["databasemanagementuc",{"_index":5173,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/ManagementModule.html":{},"interfaces/Options.html":{},"classes/TestBootstrapConsole.html":{}}}],["dataformats",{"_index":25817,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["datamodel",{"_index":25480,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["datastream",{"_index":22085,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["datawithdefaults",{"_index":17211,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["date",{"_index":83,"title":{},"body":{"classes/AbstractAccountService.html":{},"entities/Account.html":{},"classes/AccountDto.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AuthenticationService.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardTaskResponse.html":{},"injectables/CardService.html":{},"classes/Class.html":{},"classes/ClassFactory.html":{},"interfaces/ClassProps.html":{},"interfaces/CollectionFilePath.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementFactory.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/County.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"interfaces/EntityWithSchool.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalUserDto.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"classes/FileElementContentBody.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"injectables/FilesRepo.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IGridElement.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfigEntity.html":{},"classes/LegacySchoolDo.html":{},"classes/LibraryName.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"injectables/PseudonymService.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/ResolvedUserResponse.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"interfaces/RocketChatUserProps.html":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"interfaces/ShareTokenProperties.html":{},"classes/ShareTokenResponse.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"injectables/SubmissionItemFactory.html":{},"injectables/SubmissionItemService.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskListResponse.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"interfaces/TaskStatus.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TimestampsResponse.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.html":{},"interfaces/UserProperties.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"license.html":{}}}],["date().gettime",{"_index":1741,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/KeycloakAdministrationService.html":{}}}],["date(2020",{"_index":15218,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["date(date.now",{"_index":7710,"title":{},"body":{"classes/CourseFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/TaskFactory.html":{},"classes/TaskScope.html":{}}}],["date(now.gettime",{"_index":23671,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["date(sequence",{"_index":13053,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["date(source.person.geburt?.datum",{"_index":19619,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["date(user.createdtimestamp",{"_index":14786,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["date.now",{"_index":7990,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/JwtTestFactory.html":{},"injectables/UserLoginMigrationService.html":{}}}],["date.setdate(date.getdate",{"_index":20523,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["datefield",{"_index":13052,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["dateofdeletion",{"_index":9475,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["dateofdeletion.setminutes(dateofdeletion.getminutes",{"_index":9476,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["datum",{"_index":19462,"title":{},"body":{"classes/SanisGeburtResponse.html":{}}}],["days",{"_index":2879,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"classes/DeleteFilesConsole.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ShareTokenBodyParams.html":{},"injectables/ShareTokenUC.html":{},"license.html":{}}}],["dayssincedeletion",{"_index":8889,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["db",{"_index":624,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/DatabaseManagementService.html":{},"classes/ImportUserScope.html":{},"classes/ToolReferenceResponse.html":{},"injectables/UserRepo.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["db.service",{"_index":678,"title":{},"body":{"modules/AccountModule.html":{}}}],["db.service.ts",{"_index":901,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["db.service.ts:135",{"_index":915,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["db.service.ts:14",{"_index":904,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["db.service.ts:143",{"_index":908,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["db_password",{"_index":1022,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"interfaces/GlobalConstants.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["db_url",{"_index":1023,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"interfaces/GlobalConstants.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["db_username",{"_index":1024,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"interfaces/GlobalConstants.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["dbc",{"_index":13783,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["dbcaccountid",{"_index":14745,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["dbcaccountid:${accountdbcaccountid",{"_index":14761,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["dbcsystemid",{"_index":14747,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["dbcuserid",{"_index":14746,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["dbcuserid:${accountdbcuserid",{"_index":14765,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["dbildungscloud",{"_index":25220,"title":{},"body":{"properties.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["dbname",{"_index":16386,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["dd",{"_index":15758,"title":{},"body":{"modules/LoggerModule.html":{}}}],["de",{"_index":5329,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/H5PContentFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["dealing",{"_index":25482,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["debug",{"_index":1042,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"classes/ConsentRequestBody.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{},"injectables/Logger.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["debug(loggable",{"_index":15724,"title":{},"body":{"injectables/Logger.html":{}}}],["debug(message",{"_index":13640,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{}}}],["debugger",{"_index":24618,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["debugging",{"_index":12334,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["debugmode",{"_index":1280,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["december",{"_index":24833,"title":{},"body":{"license.html":{}}}],["decide",{"_index":5092,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"classes/ErrorLoggable.html":{},"license.html":{},"todo.html":{}}}],["decides",{"_index":14526,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["decisions",{"_index":25448,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["declarations",{"_index":257,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"modules/DatabaseManagementModule.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FeathersModule.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolModule.html":{},"modules/LessonApiModule.html":{},"modules/LessonModule.html":{},"modules/LoggerModule.html":{},"modules/LtiToolModule.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/NewsModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/OauthProviderServiceModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"modules/PseudonymModule.html":{},"modules/RedisModule.html":{},"modules/RegistrationPinModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["declare",{"_index":18357,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["declared",{"_index":4200,"title":{},"body":{"classes/BusinessError.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["declining",{"_index":24994,"title":{},"body":{"license.html":{}}}],["decodedjwt",{"_index":1735,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/OAuthService.html":{}}}],["decodedjwt.accountid",{"_index":1738,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["decodedjwt.jti",{"_index":1737,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["decodehtmlentities",{"_index":3023,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/CardResponse.html":{},"classes/ColumnResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{}}}],["decodehtmlentities()@apiproperty({description",{"_index":8573,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["decoder",{"_index":22519,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["decoding",{"_index":22477,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["decoding.createdecoder(message",{"_index":22520,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["decoding.readvaruint(decoder",{"_index":22522,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["decoding.readvaruint8array(decoder",{"_index":22528,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["decorated",{"_index":12635,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["decorator",{"_index":9897,"title":{},"body":{"classes/ErrorLoggable.html":{},"controllers/LoginController.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["decorators",{"_index":190,"title":{},"body":{"classes/AcceptQuery.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/AuthorizationParams.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"entities/Board.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"entities/BoardNode.html":{},"classes/BoardResponse.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusResponse.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"classes/CardResponse.html":{},"classes/CardSkeletonResponse.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"entities/ClassEntity.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptionsEntity.html":{},"controllers/CollaborativeStorageController.html":{},"entities/ColumnBoardNode.html":{},"entities/ColumnBoardTarget.html":{},"controllers/ColumnController.html":{},"classes/ColumnResponse.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/ContextRefParams.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"entities/CourseGroup.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"classes/CourseQueryParams.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"entities/DashboardGridElementModel.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"entities/DashboardModelEntity.html":{},"classes/DashboardResponse.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"classes/DeleteFilesConsole.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"controllers/DeletionExecutionsController.html":{},"entities/DeletionLogEntity.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestBodyProps.html":{},"entities/DeletionRequestEntity.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestResponse.html":{},"controllers/DeletionRequestsController.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"classes/DrawingElementResponse.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalSourceEntity.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"classes/ExternalToolElementResponse.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadataResponse.html":{},"entities/ExternalToolPseudonymEntity.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"classes/ExternalToolUpdateParams.html":{},"entities/FederalStateEntity.html":{},"classes/FileContentBody.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"classes/FileElementResponse.html":{},"entities/FileEntity.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"controllers/FileSecurityController.html":{},"classes/FileUrlParams.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GetMetaTagDataBody.html":{},"classes/GlobalValidationPipe.html":{},"controllers/GroupController.html":{},"entities/GroupEntity.html":{},"classes/GroupIdParams.html":{},"classes/GroupResponse.html":{},"classes/GroupUserEntity.html":{},"classes/GroupUserResponse.html":{},"classes/GroupValidPeriodEntity.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"entities/H5pEditorTempFile.html":{},"classes/IdParams.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"entities/LessonEntity.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"classes/LinkElementResponse.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"controllers/LoginController.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"entities/LtiTool.html":{},"entities/Material.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/NewsUrlParams.html":{},"classes/OAuthRejectableBody.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthLoginResponse.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"injectables/PreviewGeneratorConsumer.html":{},"classes/PreviewParams.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"classes/PseudonymParams.html":{},"classes/PseudonymResponse.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/RedirectResponse.html":{},"entities/RegistrationPinEntity.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"classes/ResolvedUserResponse.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"classes/RichTextElementResponse.html":{},"entities/RocketChatUserEntity.html":{},"entities/Role.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"controllers/RoomsController.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInfoResponse.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"classes/ServerConsole.html":{},"controllers/ServerController.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenPayloadResponse.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"classes/StatelessAuthorizationParams.html":{},"entities/StorageProviderEntity.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"entities/SubmissionItemNode.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"classes/SuccessfulResponse.html":{},"controllers/SystemController.html":{},"entities/SystemEntity.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskStatusResponse.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamRoleDto.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserEntity.html":{},"classes/TimestampsResponse.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"classes/TldrawWs.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequestResponse.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceResponse.html":{},"controllers/ToolSchoolController.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"controllers/UserController.html":{},"classes/UserDataResponse.html":{},"classes/UserInfoResponse.html":{},"controllers/UserLoginMigrationController.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"classes/ValidationError.html":{},"entities/VideoConference.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["decoupled",{"_index":25815,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["decrypt",{"_index":9846,"title":{},"body":{"interfaces/EncryptionService.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["decrypt(data",{"_index":9848,"title":{},"body":{"interfaces/EncryptionService.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["decryptedclientsecret",{"_index":16905,"title":{},"body":{"injectables/OAuthService.html":{},"classes/TokenRequestMapper.html":{}}}],["decryptedstring",{"_index":20619,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["deemed",{"_index":24822,"title":{},"body":{"license.html":{}}}],["deepmocked",{"_index":25756,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["deeppartial",{"_index":539,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["default",{"_index":129,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"classes/AccountFactory.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"classes/ApiValidationErrorResponse.html":{},"injectables/AutoContextNameStrategy.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassSortParams.html":{},"interfaces/CleanOptions.html":{},"injectables/CollaborativeStorageService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolScope.html":{},"injectables/CopyHelperService.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseUrlHandler.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterFactory.html":{},"entities/DashboardGridElementModel.html":{},"entities/DashboardModelEntity.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"classes/DeletionExecutionParams.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ErrorLoggable.html":{},"modules/ErrorModule.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolScope.html":{},"entities/FileEntity.html":{},"classes/FilePermissionEntity.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IToolFeatures.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"classes/LessonScope.html":{},"injectables/LessonUrlHandler.html":{},"injectables/Logger.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{},"interfaces/MigrationOptions.html":{},"classes/MongoPatterns.html":{},"entities/News.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/PaginationParams.html":{},"injectables/PreviewGeneratorService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"injectables/ProvisioningService.html":{},"classes/PseudonymScope.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"classes/RequestInfo.html":{},"classes/ResolvedUserMapper.html":{},"interfaces/RetryOptions.html":{},"classes/RocketChatUserFactory.html":{},"entities/Role.html":{},"injectables/RoleRepo.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisResponseMapper.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolScope.html":{},"classes/Scope.html":{},"controllers/ServerController.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemScope.html":{},"injectables/SystemUc.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"classes/TaskFactory.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"injectables/TaskUrlHandler.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TldrawWsService.html":{},"classes/ToolConfiguration.html":{},"classes/ToolContextMapper.html":{},"entities/User.html":{},"classes/UserAndAccountTestFactory.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserMatchMapper.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"classes/VideoConferenceConfiguration.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["default...what",{"_index":7501,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["default.color",{"_index":7461,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["default.description",{"_index":7466,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["default.name",{"_index":7473,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["default.schema.json",{"_index":25292,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["default_language",{"_index":5324,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["defaultclientinternalid",{"_index":14502,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["defaultcolumns",{"_index":8432,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["defaultconfig",{"_index":12010,"title":{},"body":{"interfaces/FileStorageConfig.html":{},"modules/PreviewGeneratorAMQPModule.html":{}}}],["defaultencryptionservice",{"_index":5156,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"modules/EncryptionModule.html":{},"interfaces/EncryptionService.html":{},"injectables/ExternalToolService.html":{},"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OAuthService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["defaulterror",{"_index":4849,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["defaultheaders",{"_index":9004,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["defaultlanguage",{"_index":6514,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{}}}],["defaultmapper",{"_index":14605,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["defaultmapper.id",{"_index":14632,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["defaultmapper?.id",{"_index":14608,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["defaultmessage",{"_index":1374,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/EntityNotFoundError.html":{},"interfaces/ErrorType.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["defaultmikroormoptions",{"_index":1036,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["defaultoauthclientbody",{"_index":17185,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["defaultoptions",{"_index":16395,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["defaults",{"_index":890,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"interfaces/AdminIdAndToken.html":{},"classes/ConsentRequestBody.html":{},"classes/CreateNewsParams.html":{},"classes/DeletionExecutionParams.html":{},"injectables/FileSystemAdapter.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"classes/PaginationParams.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["defaultscope",{"_index":17566,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["defaultscopes",{"_index":15013,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["defaultsecretreplacementhinttext",{"_index":5171,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["defaulttestpassword",{"_index":581,"title":{},"body":{"classes/AccountFactory.html":{},"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["defaulttestpasswordhash",{"_index":583,"title":{},"body":{"classes/AccountFactory.html":{}}}],["defaultvalue",{"_index":4868,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["defaultvideoconferenceoptions",{"_index":24097,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["defaultvideoconferenceoptions.everyattendeejoinsmuted",{"_index":24098,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{}}}],["defaultvideoconferenceoptions.everybodyjoinsasmoderator",{"_index":24099,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{}}}],["defaultvideoconferenceoptions.moderatormustapprovejoinrequests",{"_index":24100,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{}}}],["defective",{"_index":25167,"title":{},"body":{"license.html":{}}}],["defending",{"_index":24695,"title":{},"body":{"license.html":{}}}],["defenses",{"_index":25124,"title":{},"body":{"license.html":{}}}],["define",{"_index":512,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"entities/CourseNews.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"entities/SchoolNews.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"entities/TeamNews.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["define(this",{"_index":554,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["defined",{"_index":27,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerTestModule.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"classes/AuthorizationParams.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"entities/DeletionRequestEntity.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"entities/ExternalToolPseudonymEntity.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/FileContentBody.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"classes/FileUrlParams.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GetMetaTagDataBody.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"classes/GroupIdParams.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"classes/GroupUserResponse.html":{},"classes/GroupValidPeriodEntity.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/ILegacyLogger.html":{},"classes/IdParams.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"modules/MailModule.html":{},"injectables/MailService.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"classes/ProvisioningDto.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymParams.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"modules/RocketChatModule.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.html":{},"classes/ScopeRef.html":{},"classes/ServerConsole.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"classes/SuccessfulResponse.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"interfaces/ToolVersion.html":{},"injectables/ToolVersionService.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserAndAccountTestFactory.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["defines",{"_index":25328,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["defining",{"_index":2552,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["definition",{"_index":1380,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"modules/AuthenticationModule.html":{},"classes/ErrorResponse.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["definitions",{"_index":5301,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["delay",{"_index":2830,"title":{},"body":{"injectables/BatchDeletionService.html":{},"interfaces/CleanOptions.html":{},"classes/DeletionQueueConsole.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["delay(ms",{"_index":14676,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["delete",{"_index":10,"title":{},"body":{"classes/AbstractAccountService.html":{},"controllers/AccountController.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"controllers/BoardController.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardRepo.html":{},"controllers/CardController.html":{},"injectables/CardService.html":{},"interfaces/CleanOptions.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardService.html":{},"controllers/ColumnController.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{},"injectables/ContextExternalToolRepo.html":{},"interfaces/CopyFileDO.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/FederalStateRepo.html":{},"interfaces/FileDO.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"injectables/H5PContentRepo.html":{},"controllers/ImportUserController.html":{},"injectables/ImportUserRepo.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"classes/KeycloakSeedService.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"controllers/LessonController.html":{},"injectables/LessonRepo.html":{},"injectables/LessonUC.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/MaterialsRepo.html":{},"interfaces/MigrationOptions.html":{},"controllers/NewsController.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/RetryOptions.html":{},"injectables/RoleRepo.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/StorageProviderRepo.html":{},"controllers/SubmissionController.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"controllers/SystemController.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"controllers/TaskController.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"controllers/TldrawController.html":{},"injectables/TldrawRepo.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceRepo.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["delete(':boardid",{"_index":3233,"title":{},"body":{"controllers/BoardController.html":{}}}],["delete(':cardid",{"_index":4379,"title":{},"body":{"controllers/CardController.html":{}}}],["delete(':columnid",{"_index":5608,"title":{},"body":{"controllers/ColumnController.html":{}}}],["delete(':contentelementid",{"_index":9792,"title":{},"body":{"controllers/ElementController.html":{}}}],["delete(':contextexternaltoolid",{"_index":22728,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["delete(':contextexternaltoolid')@apiforbiddenresponse()@apiunauthorizedresponse()@apioperation({summary",{"_index":22704,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["delete(':docname",{"_index":22331,"title":{},"body":{"controllers/TldrawController.html":{}}}],["delete(':externaltoolid",{"_index":22801,"title":{},"body":{"controllers/ToolController.html":{}}}],["delete(':externaltoolid')@apiforbiddenresponse({description",{"_index":22754,"title":{},"body":{"controllers/ToolController.html":{}}}],["delete(':id",{"_index":423,"title":{},"body":{"controllers/AccountController.html":{}}}],["delete(':id')@apioperation({summary",{"_index":327,"title":{},"body":{"controllers/AccountController.html":{}}}],["delete(':importuserid/match",{"_index":13884,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["delete(':lessonid",{"_index":15406,"title":{},"body":{"controllers/LessonController.html":{}}}],["delete(':newsid",{"_index":16446,"title":{},"body":{"controllers/NewsController.html":{}}}],["delete(':requestid",{"_index":9515,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["delete(':requestid')@httpcode(204)@apioperation({summary",{"_index":9494,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["delete(':schoolexternaltoolid",{"_index":23082,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["delete(':schoolexternaltoolid')@apiforbiddenresponse()@apiunauthorizedresponse()@apioperation({summary",{"_index":23052,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["delete(':scope/:scopeid",{"_index":24192,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["delete(':scope/:scopeid')@apioperation({summary",{"_index":24166,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["delete(':submissionid",{"_index":20752,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["delete(':systemid",{"_index":21074,"title":{},"body":{"controllers/SystemController.html":{}}}],["delete(':taskid",{"_index":21389,"title":{},"body":{"controllers/TaskController.html":{}}}],["delete('auth/sessions/consent",{"_index":17351,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["delete('clients/:id",{"_index":17324,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["delete(@param",{"_index":15410,"title":{},"body":{"controllers/LessonController.html":{},"controllers/NewsController.html":{},"controllers/SubmissionController.html":{},"controllers/TaskController.html":{}}}],["delete(board",{"_index":5460,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["delete(card",{"_index":4442,"title":{},"body":{"injectables/CardService.html":{}}}],["delete(column",{"_index":5634,"title":{},"body":{"injectables/ColumnService.html":{}}}],["delete(domainobject",{"_index":2510,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BoardDoRepo.html":{},"injectables/GroupRepo.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{}}}],["delete(domainobjects",{"_index":2451,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["delete(element",{"_index":6399,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["delete(entities",{"_index":761,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserRepo.html":{}}}],["delete(entity",{"_index":22366,"title":{},"body":{"injectables/TldrawRepo.html":{}}}],["delete(group",{"_index":12936,"title":{},"body":{"injectables/GroupService.html":{}}}],["delete(id",{"_index":25,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountServiceDb.html":{},"injectables/NewsUc.html":{}}}],["delete(path",{"_index":1643,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["delete(paths",{"_index":19334,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["delete(submission",{"_index":20960,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["delete(subpath",{"_index":1641,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["delete(task",{"_index":21755,"title":{},"body":{"injectables/TaskService.html":{}}}],["delete(urlparams",{"_index":15404,"title":{},"body":{"controllers/LessonController.html":{},"controllers/NewsController.html":{},"controllers/SubmissionController.html":{},"controllers/TaskController.html":{}}}],["delete(userid",{"_index":15570,"title":{},"body":{"injectables/LessonUC.html":{},"injectables/SubmissionUc.html":{},"injectables/SystemUc.html":{},"injectables/TaskUC.html":{}}}],["delete.vistor",{"_index":3624,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["delete.vistor.ts",{"_index":18483,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:103",{"_index":18491,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:24",{"_index":18486,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:32",{"_index":18493,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:37",{"_index":18492,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:42",{"_index":18489,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:47",{"_index":18496,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:54",{"_index":18497,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:61",{"_index":18498,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:66",{"_index":18494,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:73",{"_index":18499,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:78",{"_index":18500,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:83",{"_index":18495,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete.vistor.ts:99",{"_index":18488,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["delete_files_of_parent",{"_index":7144,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{}}}],["deleteaccountbyid",{"_index":318,"title":{},"body":{"controllers/AccountController.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["deleteaccountbyid(accountid",{"_index":13780,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["deleteaccountbyid(currentuser",{"_index":324,"title":{},"body":{"controllers/AccountController.html":{}}}],["deleteaccountbyid(id",{"_index":14720,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["deleteafter",{"_index":9310,"title":{},"body":{"classes/DeletionRequest.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{}}}],["deleteboard",{"_index":3175,"title":{},"body":{"controllers/BoardController.html":{},"injectables/BoardUc.html":{}}}],["deleteboard(@param",{"_index":3234,"title":{},"body":{"controllers/BoardController.html":{}}}],["deleteboard(urlparams",{"_index":3190,"title":{},"body":{"controllers/BoardController.html":{}}}],["deleteboard(userid",{"_index":4095,"title":{},"body":{"injectables/BoardUc.html":{}}}],["deletebydocname",{"_index":22320,"title":{},"body":{"controllers/TldrawController.html":{},"injectables/TldrawService.html":{}}}],["deletebydocname(@param",{"_index":22332,"title":{},"body":{"controllers/TldrawController.html":{}}}],["deletebydocname(docname",{"_index":22376,"title":{},"body":{"injectables/TldrawService.html":{}}}],["deletebydocname(urlparams",{"_index":22321,"title":{},"body":{"controllers/TldrawController.html":{}}}],["deletebyexternaltoolid",{"_index":19763,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["deletebyexternaltoolid(toolid",{"_index":19769,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["deletebyid",{"_index":729,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BaseDORepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["deletebyid(accountid",{"_index":737,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["deletebyid(deletionrequestid",{"_index":9413,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["deletebyid(id",{"_index":2455,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["deletebyschoolexternaltoolid",{"_index":6978,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["deletebyschoolexternaltoolid(schoolexternaltoolid",{"_index":6989,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["deletebyschoolexternaltoolids",{"_index":6794,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["deletebyschoolexternaltoolids(schoolexternaltoolids",{"_index":6806,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["deletebyuserid",{"_index":11,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/PseudonymService.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{}}}],["deletebyuserid(userid",{"_index":37,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/PseudonymService.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{}}}],["deletecard",{"_index":4321,"title":{},"body":{"controllers/CardController.html":{},"injectables/CardUc.html":{}}}],["deletecard(@param",{"_index":4380,"title":{},"body":{"controllers/CardController.html":{}}}],["deletecard(urlparams",{"_index":4332,"title":{},"body":{"controllers/CardController.html":{}}}],["deletecard(userid",{"_index":4495,"title":{},"body":{"injectables/CardUc.html":{}}}],["deletecolumn",{"_index":5578,"title":{},"body":{"controllers/ColumnController.html":{},"injectables/ColumnUc.html":{}}}],["deletecolumn(@param",{"_index":5609,"title":{},"body":{"controllers/ColumnController.html":{}}}],["deletecolumn(urlparams",{"_index":5588,"title":{},"body":{"controllers/ColumnController.html":{}}}],["deletecolumn(userid",{"_index":5652,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["deletecontent",{"_index":13094,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["deletecontent(content",{"_index":13097,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["deletecontextexternaltool",{"_index":6979,"title":{},"body":{"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["deletecontextexternaltool(contextexternaltool",{"_index":6991,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["deletecontextexternaltool(currentuser",{"_index":22703,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["deletecontextexternaltool(userid",{"_index":7034,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["deleted",{"_index":335,"title":{},"body":{"controllers/AccountController.html":{},"injectables/DeleteFilesUc.html":{},"classes/DeletionQueueConsole.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/SystemService.html":{},"classes/TldrawDeleteParams.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["deletedat",{"_index":11523,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesRepo.html":{},"classes/TimestampsResponse.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{}}}],["deletedcount",{"_index":8864,"title":{},"body":{"injectables/DatabaseManagementService.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{}}}],["deletedexternaltoolpseudonyms",{"_index":18278,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["deletedfoldername",{"_index":19317,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["deletedid",{"_index":16481,"title":{},"body":{"controllers/NewsController.html":{}}}],["deletedirectory",{"_index":19320,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["deletedirectory(path",{"_index":19336,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["deletedpseudonyms",{"_index":18277,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["deletedrawingbindata",{"_index":9604,"title":{},"body":{"injectables/DrawingElementAdapterService.html":{}}}],["deletedrawingbindata(docname",{"_index":9606,"title":{},"body":{"injectables/DrawingElementAdapterService.html":{}}}],["deletedsince",{"_index":7155,"title":{},"body":{"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["deletedusernumber",{"_index":23864,"title":{},"body":{"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["deletedusers",{"_index":14874,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["deleteelement",{"_index":9762,"title":{},"body":{"controllers/ElementController.html":{},"injectables/ElementUc.html":{}}}],["deleteelement(urlparams",{"_index":9769,"title":{},"body":{"controllers/ElementController.html":{}}}],["deleteelement(userid",{"_index":9804,"title":{},"body":{"injectables/ElementUc.html":{}}}],["deleteexternaltool",{"_index":10924,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["deleteexternaltool(currentuser",{"_index":22753,"title":{},"body":{"controllers/ToolController.html":{}}}],["deleteexternaltool(toolid",{"_index":10939,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["deleteexternaltool(userid",{"_index":11041,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["deleteexternaltoolpseudonymsbyuserid",{"_index":18240,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["deleteexternaltoolpseudonymsbyuserid(userid",{"_index":18251,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["deletefile",{"_index":8903,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"injectables/TemporaryFileStorage.html":{}}}],["deletefile(file",{"_index":8914,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["deletefile(filename",{"_index":22070,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["deletefileinstorage",{"_index":8904,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["deletefileinstorage(file",{"_index":8916,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["deletefilesconsole",{"_index":8876,"title":{"classes/DeleteFilesConsole.html":{}},"body":{"classes/DeleteFilesConsole.html":{},"modules/FilesModule.html":{}}}],["deletefilesofparent",{"_index":12174,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{}}}],["deletefilesofparent(@rabbitpayload",{"_index":12269,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["deletefilesofparent(parentid",{"_index":12181,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["deletefilesofparent(payload",{"_index":12250,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{}}}],["deletefilesofparent:finished",{"_index":12362,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["deletefilesofparent:started",{"_index":12360,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["deletefilesuc",{"_index":8881,"title":{"injectables/DeleteFilesUc.html":{}},"body":{"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/FilesModule.html":{}}}],["deletegroup(groupname",{"_index":1150,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["deleteh5pcontent",{"_index":13110,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["deleteh5pcontent(params",{"_index":13124,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["deleteidentityprovider",{"_index":14490,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["deleteidentityprovider(alias",{"_index":14514,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["deleteimportusersbyschool",{"_index":14055,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["deleteimportusersbyschool(school",{"_index":14059,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["deleteinminutes",{"_index":2869,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{}}}],["deletelesson",{"_index":15542,"title":{},"body":{"injectables/LessonService.html":{}}}],["deletelesson(lesson",{"_index":15547,"title":{},"body":{"injectables/LessonService.html":{}}}],["deletemarkedfiles",{"_index":8879,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{}}}],["deletemarkedfiles(dayssincedeletion",{"_index":8883,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["deletemarkedfiles(thresholddate",{"_index":8918,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["deletenode",{"_index":18484,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["deletenode(domainobject",{"_index":18487,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["deleteoauth2client",{"_index":17187,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{}}}],["deleteoauth2client(@currentuser",{"_index":17325,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["deleteoauth2client(currentuser",{"_index":17195,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{}}}],["deleteoauth2client(id",{"_index":17454,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["deleteobjectcommand",{"_index":8921,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["deleteobjects",{"_index":19396,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["deleteobjectscommand",{"_index":19353,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["deletepreviews",{"_index":17953,"title":{},"body":{"injectables/PreviewService.html":{}}}],["deletepreviews(filerecords",{"_index":17960,"title":{},"body":{"injectables/PreviewService.html":{}}}],["deletepseudonymsbyuserid",{"_index":10572,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{}}}],["deletepseudonymsbyuserid(userid",{"_index":10582,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{}}}],["deleterefsfromtxtfile",{"_index":2864,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["deleterefsfromtxtfile(refsfilepath",{"_index":2867,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["deleteregistrationpinbyemail",{"_index":18716,"title":{},"body":{"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{}}}],["deleteregistrationpinbyemail(email",{"_index":18718,"title":{},"body":{"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{}}}],["deletes",{"_index":328,"title":{},"body":{"controllers/AccountController.html":{},"injectables/CollaborativeStorageAdapter.html":{},"classes/IdentityManagementService.html":{},"injectables/NextcloudStrategy.html":{},"controllers/SystemController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["deleteschoolexternaltool",{"_index":19861,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{},"controllers/ToolSchoolController.html":{}}}],["deleteschoolexternaltool(currentuser",{"_index":23051,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["deleteschoolexternaltool(userid",{"_index":19869,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["deleteschoolexternaltoolbyid",{"_index":19823,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["deleteschoolexternaltoolbyid(schoolexternaltoolid",{"_index":19831,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["deletesubmissions",{"_index":21753,"title":{},"body":{"injectables/TaskService.html":{}}}],["deletesubmissions(task",{"_index":21757,"title":{},"body":{"injectables/TaskService.html":{}}}],["deletesuccessfull",{"_index":13215,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["deletesystem",{"_index":21041,"title":{},"body":{"controllers/SystemController.html":{}}}],["deletesystem(@currentuser",{"_index":21076,"title":{},"body":{"controllers/SystemController.html":{}}}],["deletesystem(currentuser",{"_index":21043,"title":{},"body":{"controllers/SystemController.html":{}}}],["deleteteam",{"_index":4960,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/NextcloudStrategy.html":{}}}],["deleteteam(teamid",{"_index":4972,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/NextcloudStrategy.html":{}}}],["deleteuser",{"_index":23810,"title":{},"body":{"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["deleteuser(userid",{"_index":23814,"title":{},"body":{"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["deleteuser(username",{"_index":1155,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["deleteuserdatafromclasses",{"_index":4763,"title":{},"body":{"injectables/ClassService.html":{}}}],["deleteuserdatafromclasses(userid",{"_index":4768,"title":{},"body":{"injectables/ClassService.html":{}}}],["deleteuserdatafromcourse",{"_index":7918,"title":{},"body":{"injectables/CourseService.html":{}}}],["deleteuserdatafromcourse(userid",{"_index":7921,"title":{},"body":{"injectables/CourseService.html":{}}}],["deleteuserdatafromcoursegroup",{"_index":7763,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["deleteuserdatafromcoursegroup(userid",{"_index":7767,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["deleteuserdatafromlessons",{"_index":15543,"title":{},"body":{"injectables/LessonService.html":{}}}],["deleteuserdatafromlessons(userid",{"_index":15549,"title":{},"body":{"injectables/LessonService.html":{}}}],["deleteuserdatafromteams",{"_index":21977,"title":{},"body":{"injectables/TeamService.html":{}}}],["deleteuserdatafromteams(userid",{"_index":21981,"title":{},"body":{"injectables/TeamService.html":{}}}],["deleteuserloginmigration",{"_index":23634,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["deleteuserloginmigration(userloginmigration",{"_index":23645,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["deletevisitor",{"_index":3598,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["deletewithdescendants",{"_index":3680,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["deletewithdescendants(domainobject",{"_index":3683,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["deleting",{"_index":8892,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["deletion",{"_index":2806,"title":{},"body":{"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"modules/CommonToolModule.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeletionClient.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"injectables/DeletionRequestRepo.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{}}}],["deletion'})@apiresponse({status",{"_index":9505,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["deletion.service.ts",{"_index":2790,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["deletion.service.ts:10",{"_index":2798,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["deletion.service.ts:7",{"_index":2794,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["deletion.uc.ts",{"_index":2863,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["deletion.uc.ts:12",{"_index":2866,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["deletion.uc.ts:15",{"_index":2870,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["deletion/deletion",{"_index":1033,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{}}}],["deletionapimodule",{"_index":1010,"title":{"modules/DeletionApiModule.html":{}},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/DeletionApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["deletionclient",{"_index":2793,"title":{"injectables/DeletionClient.html":{}},"body":{"injectables/BatchDeletionService.html":{},"injectables/DeletionClient.html":{},"modules/DeletionConsoleModule.html":{},"injectables/DeletionExecutionUc.html":{}}}],["deletionclientconfig",{"_index":9018,"title":{"interfaces/DeletionClientConfig.html":{}},"body":{"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{}}}],["deletioncommand",{"_index":8965,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["deletionconsolemodule",{"_index":9059,"title":{"modules/DeletionConsoleModule.html":{}},"body":{"modules/DeletionConsoleModule.html":{}}}],["deletiondomainmodel",{"_index":9158,"title":{},"body":{"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{}}}],["deletiondomainmodel.user",{"_index":9363,"title":{},"body":{"classes/DeletionRequestFactory.html":{}}}],["deletionexecutionconsole",{"_index":9072,"title":{"classes/DeletionExecutionConsole.html":{}},"body":{"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{}}}],["deletionexecutionparams",{"_index":9093,"title":{"classes/DeletionExecutionParams.html":{}},"body":{"classes/DeletionExecutionParams.html":{},"controllers/DeletionExecutionsController.html":{}}}],["deletionexecutionquery",{"_index":9129,"title":{},"body":{"controllers/DeletionExecutionsController.html":{}}}],["deletionexecutions",{"_index":9123,"title":{},"body":{"controllers/DeletionExecutionsController.html":{}}}],["deletionexecutionscontroller",{"_index":8982,"title":{"controllers/DeletionExecutionsController.html":{}},"body":{"modules/DeletionApiModule.html":{},"controllers/DeletionExecutionsController.html":{}}}],["deletionexecutiontriggerresult",{"_index":9083,"title":{"interfaces/DeletionExecutionTriggerResult.html":{}},"body":{"classes/DeletionExecutionConsole.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["deletionexecutiontriggerresultbuilder",{"_index":9082,"title":{"classes/DeletionExecutionTriggerResultBuilder.html":{}},"body":{"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["deletionexecutiontriggerresultbuilder.buildfailure(err",{"_index":9091,"title":{},"body":{"classes/DeletionExecutionConsole.html":{}}}],["deletionexecutiontriggerresultbuilder.buildsuccess",{"_index":9090,"title":{},"body":{"classes/DeletionExecutionConsole.html":{}}}],["deletionexecutiontriggerstatus",{"_index":9101,"title":{},"body":{"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["deletionexecutionuc",{"_index":9063,"title":{"injectables/DeletionExecutionUc.html":{}},"body":{"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"injectables/DeletionExecutionUc.html":{}}}],["deletionlog",{"_index":9137,"title":{"classes/DeletionLog.html":{}},"body":{"classes/DeletionLog.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{}}}],["deletionlogentities",{"_index":9234,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["deletionlogentity",{"_index":9167,"title":{"entities/DeletionLogEntity.html":{}},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{}}}],["deletionlogentityprops",{"_index":9178,"title":{"interfaces/DeletionLogEntityProps.html":{}},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["deletionlogid",{"_index":9228,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["deletionlogmapper",{"_index":9194,"title":{"classes/DeletionLogMapper.html":{}},"body":{"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{}}}],["deletionlogmapper.maptodo(deletionlog",{"_index":9233,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["deletionlogmapper.maptodos(deletionlogentities",{"_index":9237,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["deletionlogmapper.maptoentity(deletionlog",{"_index":9238,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["deletionlogprops",{"_index":9160,"title":{"interfaces/DeletionLogProps.html":{}},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["deletionlogrepo",{"_index":9217,"title":{"injectables/DeletionLogRepo.html":{}},"body":{"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"modules/DeletionModule.html":{}}}],["deletionlogs",{"_index":9179,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"injectables/DeletionLogService.html":{}}}],["deletionlogservice",{"_index":9240,"title":{"injectables/DeletionLogService.html":{}},"body":{"injectables/DeletionLogService.html":{},"modules/DeletionModule.html":{}}}],["deletionlogstatistic",{"_index":9254,"title":{"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{}},"body":{"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{}}}],["deletionlogstatisticbuilder",{"_index":9267,"title":{"classes/DeletionLogStatisticBuilder.html":{}},"body":{"classes/DeletionLogStatisticBuilder.html":{}}}],["deletionmodule",{"_index":8972,"title":{"modules/DeletionModule.html":{}},"body":{"modules/DeletionApiModule.html":{},"modules/DeletionModule.html":{}}}],["deletionoperationmodel",{"_index":9159,"title":{},"body":{"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{}}}],["deletionplannedat",{"_index":2812,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps-1.html":{},"classes/DeletionRequestResponse.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef-1.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["deletionqueueconsole",{"_index":9070,"title":{"classes/DeletionQueueConsole.html":{}},"body":{"modules/DeletionConsoleModule.html":{},"classes/DeletionQueueConsole.html":{}}}],["deletionrequest",{"_index":9308,"title":{"classes/DeletionRequest.html":{}},"body":{"classes/DeletionRequest.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["deletionrequest.executed",{"_index":9442,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequest.failed",{"_index":9444,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestbody",{"_index":9501,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["deletionrequestbodyprops",{"_index":9326,"title":{"classes/DeletionRequestBodyProps.html":{}},"body":{"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"controllers/DeletionRequestsController.html":{}}}],["deletionrequestbodypropsbuilder",{"_index":9333,"title":{"classes/DeletionRequestBodyPropsBuilder.html":{}},"body":{"classes/DeletionRequestBodyPropsBuilder.html":{}}}],["deletionrequestcreateanswer",{"_index":9266,"title":{"interfaces/DeletionRequestCreateAnswer.html":{}},"body":{"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef-1.html":{}}}],["deletionrequestentities",{"_index":9434,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestentities.map((entity",{"_index":9436,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestentity",{"_index":9337,"title":{"entities/DeletionRequestEntity.html":{}},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{}}}],["deletionrequestentity.id",{"_index":9440,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestentityprops",{"_index":9346,"title":{"interfaces/DeletionRequestEntityProps.html":{}},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["deletionrequestfactory",{"_index":9356,"title":{"classes/DeletionRequestFactory.html":{}},"body":{"classes/DeletionRequestFactory.html":{}}}],["deletionrequestfactory.define(deletionrequest",{"_index":9362,"title":{},"body":{"classes/DeletionRequestFactory.html":{}}}],["deletionrequestid",{"_index":9142,"title":{},"body":{"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["deletionrequestinput",{"_index":2815,"title":{"interfaces/DeletionRequestInput.html":{}},"body":{"injectables/BatchDeletionService.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{}}}],["deletionrequestinputbuilder",{"_index":2801,"title":{"classes/DeletionRequestInputBuilder.html":{}},"body":{"injectables/BatchDeletionService.html":{},"classes/DeletionRequestInputBuilder.html":{}}}],["deletionrequestinputbuilder.build",{"_index":2816,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["deletionrequestitem",{"_index":9336,"title":{},"body":{"classes/DeletionRequestBodyPropsBuilder.html":{}}}],["deletionrequestlog",{"_index":9261,"title":{"interfaces/DeletionRequestLog.html":{}},"body":{"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef-1.html":{}}}],["deletionrequestlogresponse",{"_index":9375,"title":{"classes/DeletionRequestLogResponse.html":{}},"body":{"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"controllers/DeletionRequestsController.html":{}}}],["deletionrequestlogresponsebuilder",{"_index":9387,"title":{"classes/DeletionRequestLogResponseBuilder.html":{}},"body":{"classes/DeletionRequestLogResponseBuilder.html":{}}}],["deletionrequestmapper",{"_index":9390,"title":{"classes/DeletionRequestMapper.html":{}},"body":{"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestmapper.maptodo(deletionrequest",{"_index":9429,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestmapper.maptodo(entity",{"_index":9437,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestmapper.maptoentity(deletionrequest",{"_index":9430,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestoutput",{"_index":2821,"title":{"interfaces/DeletionRequestOutput.html":{}},"body":{"injectables/BatchDeletionService.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{}}}],["deletionrequestoutput.deletionplannedat",{"_index":2827,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["deletionrequestoutput.requestid",{"_index":2826,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["deletionrequestoutputbuilder",{"_index":9402,"title":{"classes/DeletionRequestOutputBuilder.html":{}},"body":{"classes/DeletionRequestOutputBuilder.html":{}}}],["deletionrequestprops",{"_index":9264,"title":{"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{}},"body":{"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef-1.html":{}}}],["deletionrequestrepo",{"_index":9276,"title":{"injectables/DeletionRequestRepo.html":{}},"body":{"modules/DeletionModule.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["deletionrequestresponse",{"_index":9446,"title":{"classes/DeletionRequestResponse.html":{}},"body":{"classes/DeletionRequestResponse.html":{},"controllers/DeletionRequestsController.html":{}}}],["deletionrequests",{"_index":9023,"title":{},"body":{"injectables/DeletionClient.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"controllers/DeletionRequestsController.html":{}}}],["deletionrequestscontroller",{"_index":8981,"title":{"controllers/DeletionRequestsController.html":{}},"body":{"modules/DeletionApiModule.html":{},"controllers/DeletionRequestsController.html":{}}}],["deletionrequestscope",{"_index":9426,"title":{"classes/DeletionRequestScope.html":{}},"body":{"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{}}}],["deletionrequestscope().bydeleteafter(currentdate).bystatus",{"_index":9433,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["deletionrequestservice",{"_index":9275,"title":{"injectables/DeletionRequestService.html":{}},"body":{"modules/DeletionModule.html":{},"injectables/DeletionRequestService.html":{}}}],["deletionrequesttargetrefinput",{"_index":9366,"title":{"interfaces/DeletionRequestTargetRefInput.html":{}},"body":{"interfaces/DeletionRequestInput.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{}}}],["deletionrequesttargetrefinputbuilder",{"_index":9372,"title":{"classes/DeletionRequestTargetRefInputBuilder.html":{}},"body":{"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{}}}],["deletionrequesttargetrefinputbuilder.build(targetrefdomain",{"_index":9374,"title":{},"body":{"classes/DeletionRequestInputBuilder.html":{}}}],["deletionrequesttoupdate",{"_index":9474,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["deletionrequestuc",{"_index":8979,"title":{},"body":{"modules/DeletionApiModule.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{}}}],["deletions",{"_index":8941,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["deletionstatusmodel",{"_index":9321,"title":{},"body":{"classes/DeletionRequest.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestProps.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{}}}],["deletionstatusmodel.failed",{"_index":9355,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestScope.html":{}}}],["deletionstatusmodel.registered",{"_index":9364,"title":{},"body":{"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{}}}],["deletionstatusmodel.success",{"_index":9354,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["deletiontargetref",{"_index":9256,"title":{"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{}},"body":{"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionRequestBodyProps.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{}}}],["deletiontargetrefbuilder",{"_index":9518,"title":{"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{}},"body":{"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{}}}],["dem",{"_index":5484,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["demand",{"_index":16814,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["denied",{"_index":24968,"title":{},"body":{"license.html":{}}}],["denominated",{"_index":25087,"title":{},"body":{"license.html":{}}}],["depend",{"_index":25432,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["dependencies",{"_index":255,"title":{"dependencies.html":{}},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"modules/DatabaseManagementModule.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FeathersModule.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolModule.html":{},"modules/LessonApiModule.html":{},"modules/LessonModule.html":{},"modules/LoggerModule.html":{},"modules/LtiToolModule.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/NewsModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/OauthProviderServiceModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"modules/PseudonymModule.html":{},"modules/RedisModule.html":{},"modules/RegistrationPinModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{},"dependencies.html":{},"index.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["dependency",{"_index":1714,"title":{},"body":{"injectables/AuthenticationService.html":{},"modules/BoardModule.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{},"injectables/ToolPermissionHelper.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["dependent",{"_index":25940,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["depending",{"_index":12061,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["depends",{"_index":12050,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["deployment",{"_index":14802,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["deployments",{"_index":25501,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["deprecated",{"_index":102,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/CommonToolService.html":{},"injectables/CourseCopyUC.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/PermissionService.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{},"interfaces/UserBoardRoles.html":{},"injectables/UserService.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["deprecated.controller.ts",{"_index":24160,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["deprecated.controller.ts:106",{"_index":24167,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["deprecated.controller.ts:46",{"_index":24165,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["deprecated.controller.ts:86",{"_index":24169,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["deprecated.response",{"_index":24174,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["deprecated.response.ts",{"_index":9526,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{}}}],["deprecated.response.ts:10",{"_index":24023,"title":{},"body":{"classes/VideoConferenceBaseResponse.html":{}}}],["deprecated.response.ts:12",{"_index":24022,"title":{},"body":{"classes/VideoConferenceBaseResponse.html":{}}}],["deprecated.response.ts:25",{"_index":9549,"title":{},"body":{"classes/DeprecatedVideoConferenceJoinResponse.html":{}}}],["deprecated.response.ts:37",{"_index":9531,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{}}}],["deprecated.response.ts:43",{"_index":9530,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{}}}],["deprecated.response.ts:8",{"_index":24024,"title":{},"body":{"classes/VideoConferenceBaseResponse.html":{}}}],["deprecatedvideoconferenceinforesponse",{"_index":9523,"title":{"classes/DeprecatedVideoConferenceInfoResponse.html":{}},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["deprecatedvideoconferencejoinresponse",{"_index":9541,"title":{"classes/DeprecatedVideoConferenceJoinResponse.html":{}},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["deprive",{"_index":25095,"title":{},"body":{"license.html":{}}}],["depth",{"_index":3604,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/BoardNodeRepo.html":{}}}],["der",{"_index":5497,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["derivecopyname",{"_index":7328,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["derivecopyname(name",{"_index":7333,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["derivecopystatus",{"_index":7277,"title":{},"body":{"injectables/CopyFilesService.html":{},"injectables/TaskCopyService.html":{}}}],["derivecopystatus(filecopystatus",{"_index":21443,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["derivecopystatus(filedtos",{"_index":7287,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["derivecoursestatus",{"_index":7612,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["derivecoursestatus(originalcourse",{"_index":7621,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["derivestatusfromelements",{"_index":7329,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["derivestatusfromelements(elements",{"_index":7336,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["des",{"_index":5515,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["desc",{"_index":3929,"title":{},"body":{"injectables/BoardNodeRepo.html":{},"interfaces/IFindOptions.html":{},"interfaces/Pagination.html":{},"classes/SortingParams.html":{}}}],["descendant",{"_index":3920,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["descendant.path.match(`^${n.pathofchildren",{"_index":3928,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["descendants",{"_index":3485,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardNodeRepo.html":{}}}],["describe",{"_index":25478,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["describe(\"course",{"_index":25669,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["describe(\"when",{"_index":25671,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["describe('[method",{"_index":25700,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["describe('createcourse",{"_index":25670,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["describe('somefunction",{"_index":25774,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["describe('when",{"_index":25701,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["described",{"_index":17018,"title":{},"body":{"classes/OauthClientBody.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["describes",{"_index":2536,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["description",{"_index":157,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"classes/AcceptQuery.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"controllers/AccountController.html":{},"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ApiValidationErrorResponse.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/BBBService.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/BoardElementResponse.html":{},"classes/BoardManagementConsole.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardUrlParams.html":{},"injectables/BsonConverter.html":{},"classes/BusinessError.html":{},"classes/CardIdsParams.html":{},"classes/CardSkeletonResponse.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"interfaces/CleanOptions.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"classes/ColumnBoardFactory.html":{},"classes/ColumnUrlParams.html":{},"classes/CommonCartridgeLtiResource.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ConverterUtil.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"modules/CoreModule.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"classes/CourseUrlParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeleteFilesConsole.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestFactory.html":{},"controllers/DeletionRequestsController.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"modules/ErrorModule.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolSearchParams.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileMetadata.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordParams.html":{},"injectables/FileSystemAdapter.html":{},"classes/FileUrlParams.html":{},"classes/FilterNewsParams.html":{},"classes/GlobalValidationPipe.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"classes/IdParams.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"classes/LdapConfigEntity.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonCopyApiParams.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibraryName.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/ListOauthClientsParams.html":{},"controllers/LoginController.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"classes/LtiToolFactory.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{},"interfaces/MigrationOptions.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/NewsListResponse.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/OAuthRejectableBody.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthLoginResponse.html":{},"classes/OidcConfigEntity.html":{},"interfaces/Options.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"classes/PreviewParams.html":{},"controllers/PseudonymController.html":{},"classes/PublicSystemResponse.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameFileParams.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/RocketChatUserFactory.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolInfoResponse.html":{},"classes/ServerConsole.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionUrlParams.html":{},"controllers/SystemController.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"injectables/TeamPermissionsMapper.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserFactory.html":{},"classes/TestApiClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TldrawDeleteParams.html":{},"injectables/TldrawWsService.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequestResponse.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceResponse.html":{},"controllers/ToolSchoolController.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserInfoResponse.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParams.html":{},"classes/UsersList.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/WsSharedDocDo.html":{},"index.html":{},"properties.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["description(value",{"_index":9597,"title":{},"body":{"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["description.a",{"_index":25645,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["descriptioncommit",{"_index":25847,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["descriptioninputformat",{"_index":13654,"title":{},"body":{"interfaces/ITask.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{}}}],["descriptionoroptions",{"_index":14893,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["descriptions",{"_index":21359,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["descriptive",{"_index":13832,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["deserialize",{"_index":4161,"title":{},"body":{"injectables/BsonConverter.html":{},"interfaces/CollectionFilePath.html":{}}}],["deserialize(bsondocuments",{"_index":4163,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["deserializes",{"_index":4165,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["design",{"_index":25222,"title":{"additional-documentation/nestjs-application/api-design.html":{}},"body":{"properties.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["designated",{"_index":24907,"title":{},"body":{"license.html":{}}}],["designed",{"_index":24664,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["desireable",{"_index":17373,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["desired",{"_index":25699,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["destination",{"_index":7123,"title":{},"body":{"classes/CopyApiResponse.html":{},"classes/LessonCopyApiParams.html":{},"classes/TaskCopyApiParams.html":{}}}],["destinationcourse",{"_index":3261,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CourseCopyService.html":{},"injectables/LessonCopyUC.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["destinationcourse).then((status",{"_index":3322,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["destinationcourse.id",{"_index":3347,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["destinationcourseid",{"_index":7121,"title":{},"body":{"classes/CopyApiResponse.html":{},"classes/ShareTokenImportBodyParams.html":{},"injectables/ShareTokenUC.html":{}}}],["destinationexternalreference",{"_index":3346,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ColumnBoardCopyService.html":{}}}],["destinationlesson",{"_index":21441,"title":{},"body":{"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["destroy",{"_index":22433,"title":{},"body":{"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{}}}],["destroyed",{"_index":18371,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["detail",{"_index":25150,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["detail.builder.ts",{"_index":2858,"title":{},"body":{"classes/BatchDeletionSummaryDetailBuilder.html":{}}}],["detail.builder.ts:5",{"_index":2860,"title":{},"body":{"classes/BatchDeletionSummaryDetailBuilder.html":{}}}],["detail.interface",{"_index":2846,"title":{},"body":{"interfaces/BatchDeletionSummary.html":{}}}],["detail.interface.ts",{"_index":2854,"title":{},"body":{"interfaces/BatchDeletionSummaryDetail.html":{}}}],["detail.response",{"_index":1402,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["detail.response.ts",{"_index":23967,"title":{},"body":{"classes/ValidationErrorDetailResponse.html":{}}}],["detail.response.ts:1",{"_index":23969,"title":{},"body":{"classes/ValidationErrorDetailResponse.html":{}}}],["detailed",{"_index":25417,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["details",{"_index":1355,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AuthorizationError.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"controllers/DeletionRequestsController.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorResponse.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/IdentityManagementService.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["detect",{"_index":5259,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["detectable",{"_index":22879,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["detectcontenttypeorthrow",{"_index":10356,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["detectcontenttypeorthrow(imagebuffer",{"_index":10364,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["detected",{"_index":11881,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["detection",{"_index":75,"title":{},"body":{"classes/AbstractAccountService.html":{}}}],["determine",{"_index":25414,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["determineinput",{"_index":18106,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["determineinput(systemid",{"_index":18115,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["determinelaunchrequestmethod",{"_index":2716,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["determinelaunchrequestmethod(properties",{"_index":2733,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["determinenewroomsin",{"_index":8379,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["determinenewroomsin(rooms",{"_index":8402,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["determineschooltoolstatus",{"_index":19824,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["determineschooltoolstatus(tool",{"_index":19833,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["determinetoolconfigurationstatus",{"_index":6030,"title":{},"body":{"injectables/CommonToolService.html":{},"injectables/ToolVersionService.html":{}}}],["determinetoolconfigurationstatus(externaltool",{"_index":6034,"title":{},"body":{"injectables/CommonToolService.html":{},"injectables/ToolVersionService.html":{}}}],["determining",{"_index":17777,"title":{},"body":{"classes/PatchOrderParams.html":{},"license.html":{}}}],["deubg",{"_index":25828,"title":{},"body":{"additional-documentation/nestjs-application/vscode.html":{}}}],["dev",{"_index":25340,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["develop",{"_index":14803,"title":{},"body":{"controllers/KeycloakManagementController.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["developer",{"_index":6246,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["developers",{"_index":24684,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["development",{"_index":4872,"title":{},"body":{"interfaces/CleanOptions.html":{},"interfaces/FileStorageConfig.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"interfaces/ServerConfig.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["devices",{"_index":4482,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["dfsdfsf",{"_index":24644,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["di",{"_index":25541,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["dialnumber",{"_index":2245,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["dictionary",{"_index":12317,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["didn't",{"_index":9038,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["didnt",{"_index":25859,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["diff",{"_index":22247,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["diffenrent",{"_index":25276,"title":{},"body":{"todo.html":{}}}],["differ",{"_index":25149,"title":{},"body":{"license.html":{}}}],["different",{"_index":1218,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/CardSkeletonResponse.html":{},"injectables/NewsRepo.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ToolPermissionHelper.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"index.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["differentiation",{"_index":25994,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["differently",{"_index":24987,"title":{},"body":{"license.html":{}}}],["differs",{"_index":25689,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["dim",{"_index":9296,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["dir",{"_index":5186,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["direct",{"_index":14546,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["direction",{"_index":24811,"title":{},"body":{"license.html":{}}}],["directions",{"_index":24913,"title":{},"body":{"license.html":{}}}],["directly",{"_index":810,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["directories",{"_index":11566,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["directory",{"_index":12043,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["dirnameprefix",{"_index":12047,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["dirpath",{"_index":12082,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["disable",{"_index":1087,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ConsoleWriterService.html":{},"entities/CourseNews.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ErrorLoggable.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileMetadata.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GlobalErrorFilter.html":{},"modules/H5PEditorModule.html":{},"injectables/HydraOauthUc.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"entities/InstalledLibrary.html":{},"classes/JwtExtractor.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LegacySystemRepo.html":{},"classes/LibraryName.html":{},"controllers/LoginController.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsUc.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Path.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"entities/SchoolNews.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{},"classes/TestBootstrapConsole.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawModule.html":{},"classes/TldrawWs.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserRepo.html":{},"todo.html":{}}}],["disabled",{"_index":16895,"title":{},"body":{"injectables/OAuthService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["disableextratitlefield",{"_index":11657,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["disallow",{"_index":25996,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["disclaim",{"_index":24843,"title":{},"body":{"license.html":{}}}],["disclaimer",{"_index":25158,"title":{},"body":{"license.html":{}}}],["disclaiming",{"_index":24984,"title":{},"body":{"license.html":{}}}],["discovery",{"_index":2541,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/OauthClientBody.html":{},"todo.html":{}}}],["discriminator",{"_index":9579,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["discriminatorcolumn",{"_index":3708,"title":{},"body":{"entities/BoardElement.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/CourseNews.html":{},"classes/ExternalToolConfigEntity.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["discriminatorvalue",{"_index":2688,"title":{},"body":{"classes/BasicToolConfigEntity.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{},"entities/ColumnboardBoardElement.html":{},"entities/CourseNews.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/LessonBoardElement.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/Oauth2ToolConfigEntity.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/SchoolNews.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{}}}],["discriminatory",{"_index":25109,"title":{},"body":{"license.html":{}}}],["discussed",{"_index":2611,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["discussion",{"_index":25466,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["discussion_enabled=false",{"_index":25960,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["disk",{"_index":22456,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["display",{"_index":11284,"title":{},"body":{"injectables/FeathersRosterService.html":{},"classes/OidcContextResponse.html":{},"interfaces/ProviderOidcContext.html":{},"classes/PublicSystemResponse.html":{},"classes/ToolReferenceResponse.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"license.html":{}}}],["displayat",{"_index":7820,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"interfaces/INewsScope.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"classes/UpdateNewsParams.html":{}}}],["displaycolor",{"_index":4047,"title":{},"body":{"classes/BoardTaskResponse.html":{},"entities/Course.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{},"classes/DtoCreator.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/UsersList.html":{}}}],["displayed",{"_index":8024,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/UpdateNewsParams.html":{},"license.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["displayname",{"_index":6627,"title":{},"body":{"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{},"classes/LdapConfigEntity.html":{},"injectables/LegacySystemService.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/PublicSystemResponse.html":{},"classes/System.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"interfaces/SystemProps.html":{},"classes/SystemResponseMapper.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/UserService.html":{}}}],["displays",{"_index":24759,"title":{},"body":{"license.html":{}}}],["disposable",{"_index":24494,"title":{},"body":{"dependencies.html":{}}}],["disposition",{"_index":7606,"title":{},"body":{"controllers/CourseController.html":{},"controllers/FileSecurityController.html":{},"classes/FilesStorageMapper.html":{},"controllers/FwuLearningContentsController.html":{}}}],["dist",{"_index":24570,"title":{},"body":{"dependencies.html":{},"additional-documentation/nestjs-application.html":{}}}],["distinguish",{"_index":16752,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["distinguished",{"_index":25681,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["distinguishing",{"_index":25153,"title":{},"body":{"license.html":{}}}],["distingush",{"_index":25998,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["distribute",{"_index":24658,"title":{},"body":{"license.html":{}}}],["distributed",{"_index":25207,"title":{},"body":{"license.html":{}}}],["distributing",{"_index":25112,"title":{},"body":{"license.html":{}}}],["distribution",{"_index":24719,"title":{},"body":{"license.html":{}}}],["div",{"_index":6542,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["dn",{"_index":4645,"title":{},"body":{"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["do.builder",{"_index":3476,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{}}}],["do.builder.ts",{"_index":3431,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:25",{"_index":3450,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:26",{"_index":3447,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:27",{"_index":3444,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:28",{"_index":3453,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:29",{"_index":3459,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:30",{"_index":3462,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:31",{"_index":3465,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:32",{"_index":3468,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:33",{"_index":3471,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.builder.ts:34",{"_index":3456,"title":{},"body":{"interfaces/BoardDoBuilder.html":{}}}],["do.mapper",{"_index":14264,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["do.mapper.ts",{"_index":14227,"title":{},"body":{"classes/IservMapper.html":{}}}],["do.mapper.ts:14",{"_index":14234,"title":{},"body":{"classes/IservMapper.html":{}}}],["do.mapper.ts:6",{"_index":14231,"title":{},"body":{"classes/IservMapper.html":{}}}],["do.repo",{"_index":23794,"title":{},"body":{"modules/UserModule.html":{},"injectables/UserService.html":{}}}],["do.repo.ts",{"_index":3589,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/UserDORepo.html":{}}}],["do.repo.ts:13",{"_index":3600,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:146",{"_index":23266,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["do.repo.ts:15",{"_index":23277,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["do.repo.ts:156",{"_index":23276,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["do.repo.ts:19",{"_index":23268,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["do.repo.ts:20",{"_index":3607,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:28",{"_index":3605,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:41",{"_index":3609,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:55",{"_index":3619,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:57",{"_index":23273,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["do.repo.ts:67",{"_index":3612,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:74",{"_index":23271,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["do.repo.ts:77",{"_index":3614,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:82",{"_index":23269,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["do.repo.ts:84",{"_index":3617,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:89",{"_index":3621,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.repo.ts:95",{"_index":3602,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["do.rule.ts",{"_index":3662,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["do.rule.ts:11",{"_index":3668,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["do.rule.ts:17",{"_index":3666,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["do.rule.ts:8",{"_index":3665,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["do.service",{"_index":4456,"title":{},"body":{"injectables/CardService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{},"injectables/SubmissionItemService.html":{}}}],["do.service.ts",{"_index":3679,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["do.service.ts:20",{"_index":3688,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["do.service.ts:6",{"_index":3682,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["do.service.ts:9",{"_index":3684,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["dob",{"_index":2485,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["dob.id",{"_index":2502,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["dobasefactory",{"_index":4649,"title":{"classes/DoBaseFactory.html":{}},"body":{"classes/ClassFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/UserDoFactory.html":{}}}],["dobasefactory.define(basictoolconfig",{"_index":8255,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["dobasefactory.define(lti11toolconfig",{"_index":8273,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["doc",{"_index":22257,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["doc).catch",{"_index":22517,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["doc.awareness.getstates",{"_index":22550,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["doc.conns.delete(ws",{"_index":22491,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["doc.conns.foreach((_",{"_index":22512,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["doc.conns.get(ws",{"_index":22490,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["doc.conns.has(ws",{"_index":22488,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["doc.conns.set(ws",{"_index":22533,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["doc.conns.size",{"_index":22494,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["doc.destroy",{"_index":22497,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["doc.do",{"_index":22264,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{}}}],["doc.do.ts",{"_index":24365,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["doc.do.ts:11",{"_index":24375,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["doc.do.ts:13",{"_index":24372,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["doc.do.ts:37",{"_index":24373,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["doc.do.ts:50",{"_index":24378,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["doc.do.ts:72",{"_index":24380,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["doc.do.ts:83",{"_index":24383,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["doc.do.ts:9",{"_index":24376,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["doc.emit('error",{"_index":22529,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["docker",{"_index":25295,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["docker.io/mongo",{"_index":25927,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["docker.io/rocketchat/rocket.chat:4.7.2envs",{"_index":25969,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["doclass",{"_index":3606,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["doclass.name",{"_index":3632,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["docname",{"_index":9608,"title":{},"body":{"injectables/DrawingElementAdapterService.html":{},"classes/TestConnection.html":{},"injectables/TldrawBoardRepo.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{}}}],["docname.'})@apiresponse({status",{"_index":22323,"title":{},"body":{"controllers/TldrawController.html":{}}}],["docname.length",{"_index":22409,"title":{},"body":{"classes/TldrawWs.html":{}}}],["docs",{"_index":22439,"title":{},"body":{"injectables/TldrawWsService.html":{},"todo.html":{}}}],["document",{"_index":7120,"title":{},"body":{"classes/CopyApiResponse.html":{},"classes/CreateNewsParams.html":{},"injectables/NewsRepo.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"controllers/TldrawController.html":{},"classes/TldrawWs.html":{},"classes/UpdateNewsParams.html":{},"index.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["document/${docname",{"_index":9612,"title":{},"body":{"injectables/DrawingElementAdapterService.html":{}}}],["documentation",{"_index":24586,"title":{},"body":{"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["documented",{"_index":24972,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/api-design.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["documents",{"_index":4166,"title":{},"body":{"injectables/BsonConverter.html":{},"interfaces/CollectionFilePath.html":{},"injectables/DatabaseManagementService.html":{},"injectables/NewsRepo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["doe",{"_index":23346,"title":{},"body":{"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["doe${sequence",{"_index":13955,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["doescourseexist",{"_index":3783,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["doescourseexist(courseid",{"_index":3794,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["doesmatch",{"_index":149,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["doesn't",{"_index":2896,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"injectables/LessonUC.html":{},"injectables/OAuthService.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["doesnt",{"_index":18592,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["doesurlmatch",{"_index":115,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{},"interfaces/UrlHandler.html":{}}}],["doesurlmatch(url",{"_index":120,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{},"interfaces/UrlHandler.html":{}}}],["doing",{"_index":25463,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["domain",{"_index":1882,"title":{"additional-documentation/nestjs-application/domain-object-validation.html":{}},"body":{"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/BaseRepo.html":{},"classes/ClassMapper.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DomainObjectFactory.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolMetadataMapper.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FederalStateService.html":{},"interfaces/FileDomainObjectProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"injectables/FilesRepo.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/LegacySchoolDo.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/OidcProvisioningService.html":{},"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"injectables/PseudonymService.html":{},"classes/ResolvedGroupDto.html":{},"injectables/RocketChatUserService.html":{},"classes/RoleNameMapper.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolYearService.html":{},"classes/SystemDomainMapper.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{},"classes/VideoConferenceCreateParams.html":{},"properties.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["domain)scopes",{"_index":26004,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["domain.mapper",{"_index":12842,"title":{},"body":{"injectables/GroupRepo.html":{},"injectables/SystemRepo.html":{}}}],["domain.mapper.ts",{"_index":12746,"title":{},"body":{"classes/GroupDomainMapper.html":{},"classes/SystemDomainMapper.html":{}}}],["domain.mapper.ts:16",{"_index":12753,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["domain.mapper.ts:21",{"_index":21087,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["domain.mapper.ts:41",{"_index":21085,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["domain.mapper.ts:44",{"_index":12756,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["domain.mapper.ts:5",{"_index":21083,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["domain.mapper.ts:61",{"_index":12760,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["domain.mapper.ts:73",{"_index":12758,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["domain.mapper.ts:82",{"_index":12765,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["domain.mapper.ts:91",{"_index":12763,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["domain.trim",{"_index":20153,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["domain/class",{"_index":4720,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domain/deletion",{"_index":9203,"title":{},"body":{"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["domain/external",{"_index":10376,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"controllers/ToolController.html":{}}}],["domain/rocket",{"_index":18957,"title":{},"body":{"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{}}}],["domain/rules",{"_index":1883,"title":{},"body":{"modules/AuthorizationModule.html":{}}}],["domain/types",{"_index":9177,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["domain/types/deletion",{"_index":9258,"title":{},"body":{"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder-1.html":{}}}],["domain/ws",{"_index":22263,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"injectables/TldrawWsService.html":{}}}],["domainblacklist",{"_index":16076,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["domainentity",{"_index":8655,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["domainerror",{"_index":19275,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["domainobject",{"_index":1770,"title":{"classes/DomainObject.html":{}},"body":{"interfaces/AuthorizableObject.html":{},"injectables/BaseDORepo.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/BoardDoBuilder.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoService.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/Card.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/Class.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/DeletionLog.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"classes/ExternalToolElement.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/FileElement.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"injectables/GroupRule.html":{},"injectables/LegacySchoolRepo.html":{},"classes/LinkElement.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/LtiToolDO.html":{},"injectables/LtiToolRepo.html":{},"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextElement.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"classes/RocketChatUser.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/ShareTokenDO.html":{},"injectables/ShareTokenRepo.html":{},"classes/SubmissionContainerElement.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionItem.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"classes/System.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"injectables/SystemRule.html":{},"injectables/SystemService.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/VideoConferenceDO.html":{},"injectables/VideoConferenceRepo.html":{}}}],["domainobject.acceptasync(this.deletevisitor",{"_index":3660,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["domainobject.authtoken",{"_index":18965,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["domainobject.birthday",{"_index":23260,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.closedat",{"_index":23575,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["domainobject.context",{"_index":20355,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["domainobject.context?.contextid",{"_index":20419,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["domainobject.context?.contexttype",{"_index":20418,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["domainobject.createdat",{"_index":2497,"title":{},"body":{"injectables/BaseDORepo.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{},"classes/RocketChatUserMapper.html":{},"classes/UserDO.html":{}}}],["domainobject.customs",{"_index":8176,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.deleteafter",{"_index":9398,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["domainobject.deletedcount",{"_index":9214,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["domainobject.domain",{"_index":9211,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["domainobject.email",{"_index":23242,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.emailsearchvalues",{"_index":23253,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.expiresat",{"_index":20356,"title":{},"body":{"classes/ShareTokenDO.html":{},"injectables/ShareTokenRepo.html":{}}}],["domainobject.externalid",{"_index":23246,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.finishedat",{"_index":23576,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["domainobject.firstname",{"_index":23243,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.firstnamesearchvalues",{"_index":23249,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.forcepasswordchange",{"_index":23255,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.friendlyurl",{"_index":8182,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.frontchannel_logout_uri",{"_index":8185,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.gradelevel",{"_index":4745,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject.id",{"_index":2491,"title":{},"body":{"injectables/BaseDORepo.html":{},"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/GroupRepo.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RocketChatUserMapper.html":{},"injectables/SystemRepo.html":{},"classes/UserLoginMigrationMapper.html":{}}}],["domainobject.importhash",{"_index":23247,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.invitationlink",{"_index":4742,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject.ishidden",{"_index":8186,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.islocal",{"_index":8178,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.istemplate",{"_index":8177,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.key",{"_index":8168,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.language",{"_index":23254,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.lastloginsystemchange",{"_index":23257,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.lastname",{"_index":23244,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.lastnamesearchvalues",{"_index":23251,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.ldapdn",{"_index":4746,"title":{},"body":{"classes/ClassMapper.html":{},"classes/UserDO.html":{}}}],["domainobject.logo_url",{"_index":8170,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.lti_message_type",{"_index":8171,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.lti_version",{"_index":8172,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.mandatorysince",{"_index":23577,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["domainobject.modifiedcount",{"_index":9213,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["domainobject.name",{"_index":4737,"title":{},"body":{"classes/ClassMapper.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.oauthclientid",{"_index":8181,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.opennewtab",{"_index":8184,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.operation",{"_index":9212,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["domainobject.options",{"_index":24158,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["domainobject.organizationid",{"_index":12931,"title":{},"body":{"injectables/GroupRule.html":{}}}],["domainobject.origintoolid",{"_index":8180,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.outdatedsince",{"_index":23258,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.payload",{"_index":20354,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["domainobject.payload.parentid",{"_index":20417,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["domainobject.payload.parenttype",{"_index":20416,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["domainobject.performedat",{"_index":9216,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["domainobject.preferences",{"_index":23256,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.previousexternalid",{"_index":23259,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.privacy_permission",{"_index":8175,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.rcid",{"_index":18964,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["domainobject.removeuser(userid",{"_index":4781,"title":{},"body":{"injectables/ClassService.html":{}}}],["domainobject.resource_link_id",{"_index":8173,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.roles",{"_index":8174,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{},"classes/UserDO.html":{}}}],["domainobject.schoolid",{"_index":23245,"title":{},"body":{"classes/UserDO.html":{}}}],["domainobject.secret",{"_index":8169,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.skipconsent",{"_index":8183,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.source",{"_index":4749,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject.sourceoptions",{"_index":4750,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject.sourcesystemid",{"_index":23572,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["domainobject.startedat",{"_index":23574,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["domainobject.status",{"_index":9400,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["domainobject.successor",{"_index":4747,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject.target",{"_index":24156,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["domainobject.targetmodel",{"_index":24157,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["domainobject.targetrefdomain",{"_index":9397,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["domainobject.targetrefid",{"_index":9399,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["domainobject.targetsystemid",{"_index":23573,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["domainobject.teacherids.map((teacherid",{"_index":4739,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject.token",{"_index":20353,"title":{},"body":{"classes/ShareTokenDO.html":{},"injectables/ShareTokenRepo.html":{}}}],["domainobject.updatedat",{"_index":2499,"title":{},"body":{"injectables/BaseDORepo.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{},"classes/RocketChatUserMapper.html":{},"classes/UserDO.html":{}}}],["domainobject.url",{"_index":8167,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["domainobject.userids",{"_index":4780,"title":{},"body":{"injectables/ClassService.html":{}}}],["domainobject.userids?.map((userid",{"_index":4741,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject.username",{"_index":18963,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["domainobject.year",{"_index":4743,"title":{},"body":{"classes/ClassMapper.html":{}}}],["domainobject/share",{"_index":16320,"title":{},"body":{"classes/MetadataTypeMapper.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TokenGenerator.html":{}}}],["domainobject:18",{"_index":3054,"title":{},"body":{"classes/BoardComposite.html":{},"classes/BoardDoAuthorizable.html":{},"classes/Card.html":{},"classes/Class.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/Group.html":{},"classes/LinkElement.html":{},"classes/Pseudonym.html":{},"classes/RichTextElement.html":{},"classes/RocketChatUser.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{},"classes/System.html":{}}}],["domainobject:8",{"_index":3036,"title":{},"body":{"classes/BoardComposite.html":{},"classes/BoardDoAuthorizable.html":{},"classes/Card.html":{},"classes/Class.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/Group.html":{},"classes/LinkElement.html":{},"classes/Pseudonym.html":{},"classes/RichTextElement.html":{},"classes/RocketChatUser.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{},"classes/System.html":{}}}],["domainobjectfactory",{"_index":9557,"title":{"classes/DomainObjectFactory.html":{}},"body":{"classes/DomainObjectFactory.html":{}}}],["domainobjects",{"_index":2453,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BoardDoRepo.html":{},"classes/ClassMapper.html":{},"injectables/ClassService.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/DeletionLogMapper.html":{},"injectables/ExternalToolRepo.html":{},"injectables/GroupRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["domainobjects.foreach((child",{"_index":18560,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["domainobjects.map((domainobject",{"_index":4753,"title":{},"body":{"classes/ClassMapper.html":{},"injectables/ClassService.html":{},"classes/DeletionLogMapper.html":{}}}],["domainobjects.map(async",{"_index":2484,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["domainrolenames",{"_index":23744,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["domainroles",{"_index":23742,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["domainroles.map((role",{"_index":23745,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["domains",{"_index":24495,"title":{},"body":{"dependencies.html":{}}}],["domigration",{"_index":19953,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["domigration(externalid",{"_index":19964,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["domigration(userdo",{"_index":23766,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["don't",{"_index":2551,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"injectables/OAuthService.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"index.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["done",{"_index":9896,"title":{},"body":{"classes/ErrorLoggable.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/XApiKeyStrategy.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["done(new",{"_index":24421,"title":{},"body":{"injectables/XApiKeyStrategy.html":{}}}],["done(null",{"_index":24420,"title":{},"body":{"injectables/XApiKeyStrategy.html":{}}}],["dont",{"_index":21505,"title":{},"body":{"injectables/TaskCopyUC.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["dos",{"_index":6837,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["dosomethingcrazy",{"_index":25710,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["dosomethingcrazy(x,y,z",{"_index":25715,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["dosomethingcrazy(x,y,z).catch(err",{"_index":25730,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["dosomethingcrazy(x,y,z).then(result",{"_index":25725,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["dosomethingcrazysync(wrong",{"_index":25733,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["doubtful",{"_index":24937,"title":{},"body":{"license.html":{}}}],["down",{"_index":25439,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["download",{"_index":17954,"title":{},"body":{"injectables/PreviewService.html":{}}}],["download(filerecord",{"_index":17962,"title":{},"body":{"injectables/PreviewService.html":{}}}],["download_uri",{"_index":1340,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["downloadbysecuritytoken",{"_index":11980,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["downloadbysecuritytoken(@param('token",{"_index":11993,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["downloadbysecuritytoken(token",{"_index":11982,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["downloadfileparams",{"_index":7216,"title":{"classes/DownloadFileParams.html":{}},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/FilesStorageMapper.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["downloadoriginfile",{"_index":17902,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["downloadoriginfile(pathtofile",{"_index":17908,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["downloaduri",{"_index":1333,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["downstream",{"_index":25043,"title":{},"body":{"license.html":{}}}],["draft",{"_index":21312,"title":{},"body":{"entities/Task.html":{},"classes/TaskFactory.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"classes/TaskWithStatusVo.html":{}}}],["drawing",{"_index":3122,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{}}}],["drawing.entity.ts",{"_index":22338,"title":{},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["drawing.entity.ts:21",{"_index":22340,"title":{},"body":{"entities/TldrawDrawing.html":{}}}],["drawing.entity.ts:24",{"_index":22343,"title":{},"body":{"entities/TldrawDrawing.html":{}}}],["drawing.entity.ts:27",{"_index":22345,"title":{},"body":{"entities/TldrawDrawing.html":{}}}],["drawing.entity.ts:30",{"_index":22344,"title":{},"body":{"entities/TldrawDrawing.html":{}}}],["drawing.entity.ts:33",{"_index":22342,"title":{},"body":{"entities/TldrawDrawing.html":{}}}],["drawing.entity.ts:36",{"_index":22341,"title":{},"body":{"entities/TldrawDrawing.html":{}}}],["drawingcontentbody",{"_index":6445,"title":{"classes/DrawingContentBody.html":{}},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["drawingelement",{"_index":3103,"title":{"classes/DrawingElement.html":{}},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["drawingelement.description",{"_index":6481,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["drawingelement.id",{"_index":18580,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["drawingelementadapterservice",{"_index":3848,"title":{"injectables/DrawingElementAdapterService.html":{}},"body":{"modules/BoardModule.html":{},"injectables/DrawingElementAdapterService.html":{},"injectables/RecursiveDeleteVisitor.html":{},"modules/TldrawClientModule.html":{}}}],["drawingelementcontent",{"_index":9613,"title":{"classes/DrawingElementContent.html":{}},"body":{"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{}}}],["drawingelementcontentbody",{"_index":9571,"title":{"classes/DrawingElementContentBody.html":{}},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["drawingelementcontentbody)@apiresponse({status",{"_index":9779,"title":{},"body":{"controllers/ElementController.html":{}}}],["drawingelementnode",{"_index":3452,"title":{"entities/DrawingElementNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["drawingelementnodeprops",{"_index":9622,"title":{"interfaces/DrawingElementNodeProps.html":{}},"body":{"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{}}}],["drawingelementprops",{"_index":9600,"title":{"interfaces/DrawingElementProps.html":{}},"body":{"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{}}}],["drawingelementresponse",{"_index":4356,"title":{"classes/DrawingElementResponse.html":{}},"body":{"controllers/CardController.html":{},"classes/CardResponse.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"controllers/ElementController.html":{}}}],["drawingelementresponsemapper",{"_index":6380,"title":{"classes/DrawingElementResponseMapper.html":{}},"body":{"classes/ContentElementResponseFactory.html":{},"classes/DrawingElementResponseMapper.html":{}}}],["drawingelementresponsemapper.getinstance",{"_index":6369,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["drawingelementresponsemapper.instance",{"_index":9637,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{}}}],["drawings",{"_index":22270,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/TldrawService.html":{}}}],["driven",{"_index":2610,"title":{},"body":{"injectables/BaseRepo.html":{},"properties.html":{}}}],["driver",{"_index":805,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["drivers",{"_index":818,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["drop/create",{"_index":5271,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["dropcollection",{"_index":8833,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["dropcollection(collectionname",{"_index":8844,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["dropcollectionifexists(collectionname",{"_index":5235,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["droplibrarycss",{"_index":11654,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["dry",{"_index":25452,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["dto",{"_index":100,"title":{},"body":{"classes/AbstractAccountService.html":{},"controllers/AccountController.html":{},"injectables/AccountServiceDb.html":{},"interfaces/BaseResponseMapper.html":{},"controllers/BoardController.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/CalendarEventDto.html":{},"controllers/CardController.html":{},"classes/CardResponseMapper.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"controllers/ColumnController.html":{},"classes/ColumnResponseMapper.html":{},"classes/ContentElementResponseFactory.html":{},"classes/CopyApiResponse.html":{},"injectables/CopyFilesService.html":{},"classes/CopyMapper.html":{},"controllers/CourseController.html":{},"classes/CourseMapper.html":{},"classes/CreateNewsParams.html":{},"controllers/DashboardController.html":{},"classes/DashboardMapper.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"controllers/ElementController.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElementResponseMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/FileElementResponseMapper.html":{},"controllers/FileSecurityController.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"controllers/GroupController.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{},"controllers/H5PEditorController.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"classes/LinkElementResponseMapper.html":{},"controllers/LoginController.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"controllers/NewsController.html":{},"classes/NewsMapper.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{},"controllers/OauthSSOController.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/PatchGroupParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemInputMapper.html":{},"controllers/PseudonymController.html":{},"classes/ResolvedUserMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"injectables/RoomBoardDTOFactory.html":{},"controllers/RoomsController.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolInfoMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenUC.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/SubmissionMapper.html":{},"controllers/SystemController.html":{},"injectables/SystemOidcService.html":{},"classes/TargetInfoMapper.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"classes/TaskResponse.html":{},"classes/TaskStatusMapper.html":{},"classes/TeamDto.html":{},"injectables/TeamMapper.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamPermissionsMapper.html":{},"classes/TeamUserDto.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"classes/UpdateNewsParams.html":{},"controllers/UserController.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserInfoMapper.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchMapper.html":{},"classes/VideoConference-1.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"injectables/VideoConferenceJoinUc.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["dto's",{"_index":25524,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["dto.availabledate",{"_index":21559,"title":{},"body":{"classes/TaskMapper.html":{}}}],["dto.bbbresponse",{"_index":24010,"title":{},"body":{"classes/VideoConference-1.html":{}}}],["dto.builder.ts",{"_index":11461,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["dto.builder.ts:13",{"_index":11470,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["dto.builder.ts:19",{"_index":11467,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["dto.builder.ts:7",{"_index":11465,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["dto.classes",{"_index":14018,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["dto.cookies",{"_index":13546,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["dto.createdat",{"_index":18811,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["dto.currentredirect",{"_index":13475,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["dto.description",{"_index":21557,"title":{},"body":{"classes/TaskMapper.html":{}}}],["dto.descriptioninputformat",{"_index":21572,"title":{},"body":{"classes/TaskMapper.html":{}}}],["dto.destinationcourseid",{"_index":7389,"title":{},"body":{"classes/CopyMapper.html":{}}}],["dto.displaycolor",{"_index":21563,"title":{},"body":{"classes/TaskMapper.html":{}}}],["dto.duedate",{"_index":21561,"title":{},"body":{"classes/TaskMapper.html":{}}}],["dto.elements",{"_index":7392,"title":{},"body":{"classes/CopyMapper.html":{}}}],["dto.factory",{"_index":19251,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["dto.factory.ts",{"_index":9644,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["dto.factory.ts:102",{"_index":9679,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:121",{"_index":9677,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:129",{"_index":9666,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:139",{"_index":9675,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:158",{"_index":9673,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:173",{"_index":9663,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:186",{"_index":19082,"title":{},"body":{"injectables/RoomBoardDTOFactory.html":{}}}],["dto.factory.ts:192",{"_index":19084,"title":{},"body":{"injectables/RoomBoardDTOFactory.html":{}}}],["dto.factory.ts:28",{"_index":9659,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:30",{"_index":9658,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:32",{"_index":9660,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:34",{"_index":9657,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:36",{"_index":9656,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:58",{"_index":9671,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:67",{"_index":9668,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:89",{"_index":9669,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.factory.ts:95",{"_index":9670,"title":{},"body":{"classes/DtoCreator.html":{}}}],["dto.firstname",{"_index":14006,"title":{},"body":{"classes/ImportUserMapper.html":{},"classes/ResolvedUserMapper.html":{}}}],["dto.flagged",{"_index":14025,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["dto.groupelements",{"_index":8612,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["dto.groupid",{"_index":8611,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["dto.id",{"_index":7387,"title":{},"body":{"classes/CopyMapper.html":{},"classes/DashboardMapper.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/ResolvedUserMapper.html":{}}}],["dto.lastname",{"_index":14009,"title":{},"body":{"classes/ImportUserMapper.html":{},"classes/ResolvedUserMapper.html":{}}}],["dto.lessonhidden",{"_index":21567,"title":{},"body":{"classes/TaskMapper.html":{}}}],["dto.lessonname",{"_index":21566,"title":{},"body":{"classes/TaskMapper.html":{}}}],["dto.loginname",{"_index":14012,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["dto.mapper",{"_index":978,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["dto.mapper.abstract",{"_index":599,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{}}}],["dto.mapper.abstract.ts",{"_index":592,"title":{},"body":{"injectables/AccountIdmToDtoMapper.html":{}}}],["dto.mapper.abstract.ts:7",{"_index":594,"title":{},"body":{"injectables/AccountIdmToDtoMapper.html":{}}}],["dto.mapper.db.ts",{"_index":597,"title":{},"body":{"classes/AccountIdmToDtoMapperDb.html":{}}}],["dto.mapper.idm.ts",{"_index":606,"title":{},"body":{"classes/AccountIdmToDtoMapperIdm.html":{}}}],["dto.mapper.ts",{"_index":466,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["dto.mapper.ts:23",{"_index":474,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["dto.mapper.ts:29",{"_index":472,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["dto.mapper.ts:6",{"_index":477,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["dto.match",{"_index":14004,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["dto.matchedby",{"_index":23749,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["dto.matches",{"_index":14021,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["dto.options",{"_index":24212,"title":{},"body":{"classes/VideoConferenceInfo.html":{}}}],["dto.permission",{"_index":24011,"title":{},"body":{"classes/VideoConference-1.html":{},"classes/VideoConferenceJoin.html":{}}}],["dto.permissions",{"_index":16761,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"classes/ResolvedUserMapper.html":{}}}],["dto.provisioningstrategy",{"_index":18158,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["dto.provisioningurl",{"_index":18160,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["dto.response",{"_index":13478,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["dto.response.status",{"_index":13474,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["dto.role",{"_index":14015,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["dto.rolename",{"_index":16817,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["dto.roles",{"_index":18817,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["dto.schoolid",{"_index":18815,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["dto.state",{"_index":24008,"title":{},"body":{"classes/VideoConference-1.html":{},"classes/VideoConferenceJoin.html":{}}}],["dto.target",{"_index":16546,"title":{},"body":{"classes/NewsMapper.html":{}}}],["dto.teamid",{"_index":4253,"title":{},"body":{"classes/CalendarEventDto.html":{},"injectables/NextcloudStrategy.html":{}}}],["dto.teamname",{"_index":16816,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["dto.title",{"_index":4251,"title":{},"body":{"classes/CalendarEventDto.html":{}}}],["dto.unpublished",{"_index":16548,"title":{},"body":{"classes/NewsMapper.html":{}}}],["dto.updatedat",{"_index":18813,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["dto.updater",{"_index":16543,"title":{},"body":{"classes/NewsMapper.html":{}}}],["dto.url",{"_index":24238,"title":{},"body":{"classes/VideoConferenceJoin.html":{}}}],["dto/ajax/post.body.params.transform",{"_index":13171,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["dto/board/board",{"_index":3214,"title":{},"body":{"controllers/BoardController.html":{}}}],["dto/board/set",{"_index":4359,"title":{},"body":{"controllers/CardController.html":{}}}],["dto/calendar",{"_index":4261,"title":{},"body":{"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{}}}],["dto/card/create",{"_index":5599,"title":{},"body":{"controllers/ColumnController.html":{}}}],["dto/class",{"_index":12971,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["dto/context",{"_index":7045,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["dto/copy.response",{"_index":7382,"title":{},"body":{"classes/CopyMapper.html":{}}}],["dto/element/drawing",{"_index":9635,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{}}}],["dto/element/rich",{"_index":18906,"title":{},"body":{"classes/RichTextElementResponseMapper.html":{}}}],["dto/file.dto",{"_index":11472,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["dto/fwu",{"_index":12434,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["dto/h5p",{"_index":13172,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["dto/oauth2",{"_index":23471,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["dto/pseudonym",{"_index":18194,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["dto/public",{"_index":21208,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["dto/request/school",{"_index":23473,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["dto/request/user",{"_index":23475,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["dto/response/consent.response",{"_index":17303,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["dto/response/redirect.response",{"_index":17304,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["dto/response/video",{"_index":24173,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["dto/role.dto",{"_index":19067,"title":{},"body":{"injectables/RoleService.html":{}}}],["dto/school",{"_index":19881,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["dto/stateless",{"_index":17498,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["dto/submission",{"_index":4022,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["dto/task",{"_index":21411,"title":{},"body":{"controllers/TaskController.html":{}}}],["dto/team",{"_index":5005,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{}}}],["dto/team.dto",{"_index":5105,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["dtocreator",{"_index":9642,"title":{"classes/DtoCreator.html":{}},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["dtolist",{"_index":13921,"title":{},"body":{"controllers/ImportUserController.html":{},"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolController.html":{}}}],["dtos",{"_index":5003,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"classes/GlobalValidationPipe.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["due",{"_index":3860,"title":{},"body":{"modules/BoardModule.html":{},"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NextcloudStrategy.html":{},"entities/SchoolNews.html":{},"entities/TaskBoardElement.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["duedate",{"_index":3545,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"classes/BoardTaskResponse.html":{},"injectables/ContentElementFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"interfaces/ITask.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"interfaces/TaskStatus.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["duedate(value",{"_index":20720,"title":{},"body":{"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{}}}],["dummy",{"_index":13147,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["dummypasswd!1",{"_index":582,"title":{},"body":{"classes/AccountFactory.html":{}}}],["duplicate",{"_index":7078,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["duplicate.filter",{"_index":7084,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["duplicate.id",{"_index":10537,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{}}}],["duplicate.length",{"_index":7088,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["duplicate.loggable",{"_index":20030,"title":{},"body":{"classes/SchoolNumberDuplicateLoggableException.html":{}}}],["duplicates",{"_index":17798,"title":{},"body":{"injectables/PermissionService.html":{}}}],["duplicatetool",{"_index":7085,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["duplicatetool.displayname",{"_index":7087,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["duplicatetool.id",{"_index":7086,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["duplication",{"_index":2550,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["durable",{"_index":24891,"title":{},"body":{"license.html":{}}}],["duration",{"_index":2246,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"injectables/DurationLoggingInterceptor.html":{}}}],["durationlogginginterceptor",{"_index":9741,"title":{"injectables/DurationLoggingInterceptor.html":{}},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["during",{"_index":4906,"title":{},"body":{"interfaces/CleanOptions.html":{},"interfaces/CreateJwtPayload.html":{},"classes/GroupRoleUnknownLoggable.html":{},"interfaces/JwtPayload.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/OauthCurrentUser.html":{},"interfaces/RetryOptions.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["dwelling",{"_index":24936,"title":{},"body":{"license.html":{}}}],["dynamically",{"_index":24790,"title":{},"body":{"license.html":{}}}],["dynamicdependencies",{"_index":6515,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["dynamicmodule",{"_index":1016,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AntivirusModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/RocketChatModule.html":{},"modules/S3ClientModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["e",{"_index":2463,"title":{},"body":{"injectables/BaseDORepo.html":{},"interfaces/CustomLtiProperty.html":{},"injectables/DashboardModelMapper.html":{},"classes/ErrorLoggable.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolService.html":{},"entities/LtiTool.html":{},"injectables/NextcloudStrategy.html":{},"classes/RocketChatError.html":{},"injectables/TldrawWsService.html":{},"injectables/ToolReferenceUc.html":{},"injectables/VideoConferenceCreateUc.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["e.g",{"_index":2544,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/ConsentRequestBody.html":{},"injectables/FeathersRosterService.html":{},"classes/GlobalValidationPipe.html":{},"controllers/H5PEditorController.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/ICurrentUser.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"interfaces/TemporaryFileProperties.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["e.property",{"_index":9893,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["e.response.data",{"_index":1105,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["e.response.data.errortype",{"_index":1107,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["e.response.statuscode",{"_index":1102,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["e.target",{"_index":9898,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["e.value",{"_index":9900,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["each",{"_index":2525,"title":{},"body":{"classes/BaseDomainObject.html":{},"injectables/BatchDeletionUc.html":{},"classes/CardIdsParams.html":{},"interfaces/CleanOptions.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FilterImportUserParams.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LoginResponse-1.html":{},"interfaces/MigrationOptions.html":{},"classes/OauthClientBody.html":{},"classes/PatchOrderParams.html":{},"interfaces/RetryOptions.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["eager",{"_index":13824,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["earlier",{"_index":24734,"title":{},"body":{"license.html":{}}}],["ease",{"_index":26064,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["easier",{"_index":25790,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["easily",{"_index":25693,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["easy",{"_index":25410,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["eathers",{"_index":11392,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["edit",{"_index":7828,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/RoomsUc.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["editcoursebyadmin(userid",{"_index":26030,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["editor",{"_index":3378,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"entities/H5pEditorTempFile.html":{},"entities/InstalledLibrary.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileStorage.html":{},"interfaces/UserBoardRoles.html":{}}}],["editor.config",{"_index":13271,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/TemporaryFileStorage.html":{}}}],["editor.controller",{"_index":13267,"title":{},"body":{"modules/H5PEditorModule.html":{}}}],["editor.controller.ts",{"_index":13108,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:103",{"_index":13155,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:123",{"_index":13129,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:136",{"_index":13158,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:151",{"_index":13126,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:162",{"_index":13145,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:170",{"_index":13138,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:182",{"_index":13123,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:199",{"_index":13161,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:219",{"_index":13163,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:53",{"_index":13151,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:66",{"_index":13142,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:75",{"_index":13135,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.controller.ts:82",{"_index":13132,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.module",{"_index":13283,"title":{},"body":{"modules/H5PEditorTestModule.html":{}}}],["editor.module.ts",{"_index":13265,"title":{},"body":{"modules/H5PEditorModule.html":{}}}],["editor.params.ts",{"_index":12529,"title":{},"body":{"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["editor.params.ts:14",{"_index":12532,"title":{},"body":{"classes/GetH5PContentParams.html":{}}}],["editor.params.ts:18",{"_index":12530,"title":{},"body":{"classes/GetH5PContentParams.html":{}}}],["editor.params.ts:24",{"_index":12544,"title":{},"body":{"classes/GetH5PEditorParamsCreate.html":{}}}],["editor.params.ts:30",{"_index":12541,"title":{},"body":{"classes/GetH5PEditorParams.html":{}}}],["editor.params.ts:34",{"_index":12543,"title":{},"body":{"classes/GetH5PEditorParams.html":{}}}],["editor.params.ts:40",{"_index":19641,"title":{},"body":{"classes/SaveH5PEditorParams.html":{}}}],["editor.params.ts:46",{"_index":17813,"title":{},"body":{"classes/PostH5PContentParams.html":{}}}],["editor.params.ts:50",{"_index":17818,"title":{},"body":{"classes/PostH5PContentParams.html":{}}}],["editor.params.ts:54",{"_index":17817,"title":{},"body":{"classes/PostH5PContentParams.html":{}}}],["editor.params.ts:60",{"_index":17815,"title":{},"body":{"classes/PostH5PContentParams.html":{}}}],["editor.params.ts:66",{"_index":17812,"title":{},"body":{"classes/PostH5PContentCreateParams.html":{}}}],["editor.params.ts:70",{"_index":17810,"title":{},"body":{"classes/PostH5PContentCreateParams.html":{}}}],["editor.params.ts:75",{"_index":17809,"title":{},"body":{"classes/PostH5PContentCreateParams.html":{}}}],["editor.params.ts:83",{"_index":17807,"title":{},"body":{"classes/PostH5PContentCreateParams.html":{}}}],["editor.response",{"_index":13173,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor.response.ts",{"_index":12491,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["editor.response.ts:13",{"_index":13251,"title":{},"body":{"classes/H5PEditorModelResponse.html":{}}}],["editor.response.ts:17",{"_index":13252,"title":{},"body":{"classes/H5PEditorModelResponse.html":{}}}],["editor.response.ts:21",{"_index":13253,"title":{},"body":{"classes/H5PEditorModelResponse.html":{}}}],["editor.response.ts:42",{"_index":13243,"title":{},"body":{"classes/H5PEditorModelContentResponse.html":{}}}],["editor.response.ts:5",{"_index":13250,"title":{},"body":{"classes/H5PEditorModelResponse.html":{}}}],["editor.response.ts:52",{"_index":13244,"title":{},"body":{"classes/H5PEditorModelContentResponse.html":{}}}],["editor.response.ts:55",{"_index":13245,"title":{},"body":{"classes/H5PEditorModelContentResponse.html":{}}}],["editor.response.ts:58",{"_index":13246,"title":{},"body":{"classes/H5PEditorModelContentResponse.html":{}}}],["editor.response.ts:61",{"_index":13063,"title":{},"body":{"classes/H5PContentMetadata.html":{}}}],["editor.response.ts:68",{"_index":13065,"title":{},"body":{"classes/H5PContentMetadata.html":{}}}],["editor.response.ts:71",{"_index":13064,"title":{},"body":{"classes/H5PContentMetadata.html":{}}}],["editor.response.ts:74",{"_index":13391,"title":{},"body":{"classes/H5PSaveResponse.html":{}}}],["editor.response.ts:81",{"_index":13392,"title":{},"body":{"classes/H5PSaveResponse.html":{}}}],["editor.response.ts:84",{"_index":13393,"title":{},"body":{"classes/H5PSaveResponse.html":{}}}],["editor/controller/dto/ajax/get.params.ts",{"_index":1196,"title":{},"body":{"classes/AjaxGetQueryParams.html":{}}}],["editor/controller/dto/ajax/get.params.ts:10",{"_index":1205,"title":{},"body":{"classes/AjaxGetQueryParams.html":{}}}],["editor/controller/dto/ajax/get.params.ts:14",{"_index":1206,"title":{},"body":{"classes/AjaxGetQueryParams.html":{}}}],["editor/controller/dto/ajax/get.params.ts:18",{"_index":1207,"title":{},"body":{"classes/AjaxGetQueryParams.html":{}}}],["editor/controller/dto/ajax/get.params.ts:22",{"_index":1204,"title":{},"body":{"classes/AjaxGetQueryParams.html":{}}}],["editor/controller/dto/ajax/get.params.ts:6",{"_index":1202,"title":{},"body":{"classes/AjaxGetQueryParams.html":{}}}],["editor/controller/dto/ajax/post.body.params.transform",{"_index":1209,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["editor/controller/dto/ajax/post.body.params.ts",{"_index":6328,"title":{},"body":{"classes/ContentBodyParams.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{}}}],["editor/controller/dto/ajax/post.body.params.ts:14",{"_index":6331,"title":{},"body":{"classes/ContentBodyParams.html":{}}}],["editor/controller/dto/ajax/post.body.params.ts:19",{"_index":6333,"title":{},"body":{"classes/ContentBodyParams.html":{}}}],["editor/controller/dto/ajax/post.body.params.ts:25",{"_index":15594,"title":{},"body":{"classes/LibraryParametersBodyParams.html":{}}}],["editor/controller/dto/ajax/post.body.params.ts:8",{"_index":15586,"title":{},"body":{"classes/LibrariesBodyParams.html":{}}}],["editor/controller/dto/ajax/post.params.ts",{"_index":1251,"title":{},"body":{"classes/AjaxPostQueryParams.html":{}}}],["editor/controller/dto/ajax/post.params.ts:10",{"_index":1255,"title":{},"body":{"classes/AjaxPostQueryParams.html":{}}}],["editor/controller/dto/ajax/post.params.ts:14",{"_index":1256,"title":{},"body":{"classes/AjaxPostQueryParams.html":{}}}],["editor/controller/dto/ajax/post.params.ts:18",{"_index":1257,"title":{},"body":{"classes/AjaxPostQueryParams.html":{}}}],["editor/controller/dto/ajax/post.params.ts:22",{"_index":1254,"title":{},"body":{"classes/AjaxPostQueryParams.html":{}}}],["editor/controller/dto/ajax/post.params.ts:26",{"_index":1253,"title":{},"body":{"classes/AjaxPostQueryParams.html":{}}}],["editor/controller/dto/ajax/post.params.ts:6",{"_index":1252,"title":{},"body":{"classes/AjaxPostQueryParams.html":{}}}],["editor/controller/dto/content",{"_index":6500,"title":{},"body":{"classes/ContentFileUrlParams.html":{}}}],["editor/controller/dto/h5p",{"_index":12490,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5pFileDto.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["editor/controller/dto/library",{"_index":15587,"title":{},"body":{"classes/LibraryFileUrlParams.html":{}}}],["editor/controller/h5p",{"_index":13107,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["editor/entity",{"_index":13048,"title":{},"body":{"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{}}}],["editor/entity/h5p",{"_index":6506,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["editor/entity/library.entity.ts",{"_index":11614,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["editor/entity/library.entity.ts:111",{"_index":14190,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:114",{"_index":14170,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:120",{"_index":14171,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:126",{"_index":14172,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:129",{"_index":14173,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:134",{"_index":14174,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:137",{"_index":14175,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:140",{"_index":14176,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:143",{"_index":14178,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:146",{"_index":14179,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:149",{"_index":14180,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:152",{"_index":14183,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:158",{"_index":14186,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:161",{"_index":14187,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:164",{"_index":14188,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:167",{"_index":14191,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:17",{"_index":15592,"title":{},"body":{"classes/LibraryName.html":{}}}],["editor/entity/library.entity.ts:170",{"_index":14193,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:173",{"_index":14194,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:176",{"_index":14189,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:181",{"_index":14192,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:189",{"_index":14177,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:20",{"_index":15593,"title":{},"body":{"classes/LibraryName.html":{}}}],["editor/entity/library.entity.ts:23",{"_index":15591,"title":{},"body":{"classes/LibraryName.html":{}}}],["editor/entity/library.entity.ts:33",{"_index":11620,"title":{},"body":{"classes/FileMetadata.html":{}}}],["editor/entity/library.entity.ts:35",{"_index":11619,"title":{},"body":{"classes/FileMetadata.html":{}}}],["editor/entity/library.entity.ts:37",{"_index":11618,"title":{},"body":{"classes/FileMetadata.html":{}}}],["editor/entity/library.entity.ts:49",{"_index":14181,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:52",{"_index":14182,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:55",{"_index":14184,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:58",{"_index":14185,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:64",{"_index":14169,"title":{},"body":{"entities/InstalledLibrary.html":{}}}],["editor/entity/library.entity.ts:8",{"_index":17782,"title":{},"body":{"classes/Path.html":{}}}],["editor/h5p",{"_index":13264,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["editor/mapper/h5p",{"_index":13058,"title":{},"body":{"classes/H5PContentMapper.html":{},"classes/H5PErrorMapper.html":{}}}],["editor/repo/h5p",{"_index":13092,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["editor/repo/library.repo.ts",{"_index":15595,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/library.repo.ts:11",{"_index":15602,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/library.repo.ts:16",{"_index":15611,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/library.repo.ts:20",{"_index":15610,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/library.repo.ts:35",{"_index":15604,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/library.repo.ts:39",{"_index":15608,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/library.repo.ts:58",{"_index":15606,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/library.repo.ts:7",{"_index":15612,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["editor/repo/temporary",{"_index":22043,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["editor/service/temporary",{"_index":22059,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["editor/types/lumi",{"_index":13067,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["editor/uc/dto/h5p",{"_index":12547,"title":{},"body":{"interfaces/GetLibraryFile-1.html":{}}}],["editordependencies",{"_index":6516,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["editormodel",{"_index":13219,"title":{},"body":{"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{}}}],["editormodel.integration",{"_index":12498,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["editormodel.scripts",{"_index":12500,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["editormodel.styles",{"_index":12502,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["editors",{"_index":11642,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["editusernameallowed",{"_index":14602,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["effect",{"_index":25188,"title":{},"body":{"license.html":{}}}],["effected",{"_index":24840,"title":{},"body":{"license.html":{}}}],["effective",{"_index":24823,"title":{},"body":{"license.html":{}}}],["effectively",{"_index":25204,"title":{},"body":{"license.html":{}}}],["effects",{"_index":2346,"title":{},"body":{"injectables/BBBService.html":{}}}],["efficient",{"_index":3923,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["effortless",{"_index":25654,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["efforts",{"_index":25057,"title":{},"body":{"license.html":{}}}],["eid",{"_index":2506,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["einsatz",{"_index":5514,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["ejson",{"_index":4175,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["ejson.deserialize(bsondocuments",{"_index":4178,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["ejson.serialize(documents",{"_index":4176,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["el",{"_index":3962,"title":{},"body":{"injectables/BoardRepo.html":{},"injectables/CopyHelperService.html":{}}}],["el.getreferences()).flat",{"_index":8509,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["el.status",{"_index":7343,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["el.target.id",{"_index":2955,"title":{},"body":{"entities/Board.html":{}}}],["elapsedtimemilliseconds",{"_index":14453,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["electronic",{"_index":25210,"title":{},"body":{"license.html":{}}}],["element",{"_index":2048,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"interfaces/BaseResponseMapper.html":{},"entities/Board.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/BoardElementResponse.html":{},"modules/BoardModule.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardUc.html":{},"injectables/ColumnBoardService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/CopyApiResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DrawingContentBody.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"classes/FileElementResponseMapper.html":{},"classes/GridElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IGridElement.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/LinkElementResponseMapper.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/PatchGroupParams.html":{},"classes/PatchVisibilityParams.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"classes/RichTextElementResponseMapper.html":{},"injectables/RoomBoardDTOFactory.html":{},"classes/RoomElementUrlParams.html":{},"injectables/RoomsUc.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"controllers/TldrawController.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"classes/UpdateElementContentBodyParams.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["element.'})@apiextramodels(fileelementcontentbody",{"_index":9778,"title":{},"body":{"controllers/ElementController.html":{}}}],["element.'})@apiextramodels(submissionitemresponse)@apiresponse({status",{"_index":9765,"title":{},"body":{"controllers/ElementController.html":{}}}],["element.'})@apiresponse({status",{"_index":9770,"title":{},"body":{"controllers/ElementController.html":{}}}],["element.acceptasync(updater",{"_index":6423,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.alternativetext",{"_index":11519,"title":{},"body":{"classes/FileElementResponseMapper.html":{}}}],["element.boardelementtype",{"_index":3318,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["element.body.params.ts",{"_index":7956,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{}}}],["element.body.params.ts:10",{"_index":16419,"title":{},"body":{"classes/MoveContentElementBody.html":{}}}],["element.body.params.ts:12",{"_index":16427,"title":{},"body":{"classes/MoveElementPositionParams.html":{}}}],["element.body.params.ts:14",{"_index":7962,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{}}}],["element.body.params.ts:17",{"_index":16428,"title":{},"body":{"classes/MoveElementPositionParams.html":{}}}],["element.body.params.ts:18",{"_index":16420,"title":{},"body":{"classes/MoveContentElementBody.html":{}}}],["element.body.params.ts:23",{"_index":16426,"title":{},"body":{"classes/MoveElementPositionParams.html":{}}}],["element.body.params.ts:25",{"_index":7960,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{}}}],["element.body.params.ts:29",{"_index":16423,"title":{},"body":{"classes/MoveElementParams.html":{}}}],["element.body.params.ts:33",{"_index":16424,"title":{},"body":{"classes/MoveElementParams.html":{}}}],["element.caption",{"_index":11518,"title":{},"body":{"classes/FileElementResponseMapper.html":{}}}],["element.constructor.name",{"_index":6390,"title":{},"body":{"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/SubmissionItemService.html":{}}}],["element.contextexternaltoolid",{"_index":10284,"title":{},"body":{"classes/ExternalToolElementResponseMapper.html":{}}}],["element.createdat",{"_index":9640,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["element.description",{"_index":9641,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{}}}],["element.do",{"_index":3123,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["element.do.ts",{"_index":9589,"title":{},"body":{"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{}}}],["element.do.ts:10",{"_index":18870,"title":{},"body":{"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{}}}],["element.do.ts:13",{"_index":11486,"title":{},"body":{"classes/FileElement.html":{},"classes/LinkElement.html":{}}}],["element.do.ts:14",{"_index":18872,"title":{},"body":{"classes/RichTextElement.html":{}}}],["element.do.ts:17",{"_index":11488,"title":{},"body":{"classes/FileElement.html":{},"classes/LinkElement.html":{}}}],["element.do.ts:18",{"_index":18874,"title":{},"body":{"classes/RichTextElement.html":{}}}],["element.do.ts:21",{"_index":15637,"title":{},"body":{"classes/LinkElement.html":{}}}],["element.do.ts:25",{"_index":15638,"title":{},"body":{"classes/LinkElement.html":{}}}],["element.do.ts:29",{"_index":15640,"title":{},"body":{"classes/LinkElement.html":{}}}],["element.do.ts:33",{"_index":15642,"title":{},"body":{"classes/LinkElement.html":{}}}],["element.do.ts:5",{"_index":9594,"title":{},"body":{"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{}}}],["element.do.ts:6",{"_index":18868,"title":{},"body":{"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{}}}],["element.do.ts:9",{"_index":9596,"title":{},"body":{"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{}}}],["element.duedate",{"_index":20742,"title":{},"body":{"classes/SubmissionContainerElementResponseMapper.html":{}}}],["element.factory.ts",{"_index":6335,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.factory.ts:109",{"_index":6345,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.factory.ts:14",{"_index":6343,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.factory.ts:47",{"_index":6346,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.factory.ts:60",{"_index":6347,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.factory.ts:72",{"_index":6348,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.factory.ts:85",{"_index":6344,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.factory.ts:97",{"_index":6349,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["element.getreferences",{"_index":8497,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["element.getreferences().length",{"_index":8501,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["element.gridelement",{"_index":8479,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["element.id",{"_index":9638,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["element.imageurl",{"_index":15671,"title":{},"body":{"classes/LinkElementResponseMapper.html":{}}}],["element.inputformat",{"_index":18908,"title":{},"body":{"classes/RichTextElementResponseMapper.html":{}}}],["element.interface",{"_index":5812,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["element.interface.ts",{"_index":5679,"title":{},"body":{"interfaces/CommonCartridgeElement.html":{}}}],["element.interface.ts:2",{"_index":5680,"title":{},"body":{"interfaces/CommonCartridgeElement.html":{}}}],["element.publish",{"_index":19260,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["element.removereference(room",{"_index":8500,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["element.removereferencebyindex(position.groupindex",{"_index":8522,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["element.response",{"_index":9636,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["element.response.ts",{"_index":3712,"title":{},"body":{"classes/BoardElementResponse.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["element.response.ts:11",{"_index":9616,"title":{},"body":{"classes/DrawingElementContent.html":{},"classes/ExternalToolElementContent.html":{}}}],["element.response.ts:13",{"_index":18886,"title":{},"body":{"classes/RichTextElementContent.html":{}}}],["element.response.ts:14",{"_index":9624,"title":{},"body":{"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementContent.html":{},"classes/LinkElementContent.html":{}}}],["element.response.ts:15",{"_index":20730,"title":{},"body":{"classes/SubmissionContainerElementContent.html":{}}}],["element.response.ts:16",{"_index":18885,"title":{},"body":{"classes/RichTextElementContent.html":{}}}],["element.response.ts:17",{"_index":3719,"title":{},"body":{"classes/BoardElementResponse.html":{},"classes/LinkElementContent.html":{}}}],["element.response.ts:18",{"_index":11500,"title":{},"body":{"classes/FileElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["element.response.ts:19",{"_index":18897,"title":{},"body":{"classes/RichTextElementResponse.html":{}}}],["element.response.ts:20",{"_index":15653,"title":{},"body":{"classes/LinkElementContent.html":{}}}],["element.response.ts:21",{"_index":11511,"title":{},"body":{"classes/FileElementResponse.html":{}}}],["element.response.ts:22",{"_index":3716,"title":{},"body":{"classes/BoardElementResponse.html":{}}}],["element.response.ts:23",{"_index":9626,"title":{},"body":{"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementResponse.html":{},"classes/LinkElementContent.html":{}}}],["element.response.ts:26",{"_index":9628,"title":{},"body":{"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementResponse.html":{},"classes/LinkElementResponse.html":{}}}],["element.response.ts:27",{"_index":20738,"title":{},"body":{"classes/SubmissionContainerElementResponse.html":{}}}],["element.response.ts:28",{"_index":18899,"title":{},"body":{"classes/RichTextElementResponse.html":{}}}],["element.response.ts:29",{"_index":9627,"title":{},"body":{"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementResponse.html":{}}}],["element.response.ts:30",{"_index":11513,"title":{},"body":{"classes/FileElementResponse.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["element.response.ts:31",{"_index":18901,"title":{},"body":{"classes/RichTextElementResponse.html":{}}}],["element.response.ts:32",{"_index":9625,"title":{},"body":{"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementResponse.html":{}}}],["element.response.ts:33",{"_index":11515,"title":{},"body":{"classes/FileElementResponse.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["element.response.ts:34",{"_index":18898,"title":{},"body":{"classes/RichTextElementResponse.html":{}}}],["element.response.ts:35",{"_index":15663,"title":{},"body":{"classes/LinkElementResponse.html":{}}}],["element.response.ts:36",{"_index":11512,"title":{},"body":{"classes/FileElementResponse.html":{},"classes/SubmissionContainerElementResponse.html":{}}}],["element.response.ts:37",{"_index":18900,"title":{},"body":{"classes/RichTextElementResponse.html":{}}}],["element.response.ts:38",{"_index":15665,"title":{},"body":{"classes/LinkElementResponse.html":{}}}],["element.response.ts:39",{"_index":11514,"title":{},"body":{"classes/FileElementResponse.html":{}}}],["element.response.ts:41",{"_index":15662,"title":{},"body":{"classes/LinkElementResponse.html":{}}}],["element.response.ts:44",{"_index":15664,"title":{},"body":{"classes/LinkElementResponse.html":{}}}],["element.response.ts:5",{"_index":9615,"title":{},"body":{"classes/DrawingElementContent.html":{},"classes/ExternalToolElementContent.html":{},"classes/LinkElementContent.html":{},"classes/SubmissionContainerElementContent.html":{}}}],["element.response.ts:6",{"_index":11499,"title":{},"body":{"classes/FileElementContent.html":{},"classes/RichTextElementContent.html":{}}}],["element.response.ts:7",{"_index":3713,"title":{},"body":{"classes/BoardElementResponse.html":{}}}],["element.service",{"_index":4457,"title":{},"body":{"injectables/CardService.html":{}}}],["element.service.ts",{"_index":6396,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.service.ts:18",{"_index":6397,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.service.ts:25",{"_index":6402,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.service.ts:35",{"_index":6404,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.service.ts:43",{"_index":6398,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.service.ts:50",{"_index":6400,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.service.ts:54",{"_index":6406,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.service.ts:58",{"_index":6409,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["element.status",{"_index":7396,"title":{},"body":{"classes/CopyMapper.html":{}}}],["element.target",{"_index":2945,"title":{},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["element.text",{"_index":5540,"title":{},"body":{"injectables/ColumnBoardService.html":{},"classes/RichTextElementResponseMapper.html":{}}}],["element.title",{"_index":15670,"title":{},"body":{"classes/LinkElementResponseMapper.html":{}}}],["element.ts",{"_index":5907,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["element.ts:11",{"_index":5911,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{}}}],["element.ts:12",{"_index":5959,"title":{},"body":{"classes/CommonCartridgeOrganizationItemElement.html":{}}}],["element.ts:14",{"_index":5939,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["element.ts:15",{"_index":5960,"title":{},"body":{"classes/CommonCartridgeOrganizationItemElement.html":{}}}],["element.ts:19",{"_index":5912,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["element.ts:21",{"_index":5975,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["element.ts:3",{"_index":5964,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["element.ts:38",{"_index":5976,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["element.ts:42",{"_index":5977,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["element.ts:46",{"_index":5978,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["element.ts:6",{"_index":5966,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["element.type",{"_index":19102,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["element.unpublish",{"_index":19261,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["element.updatedat",{"_index":9639,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["element.url",{"_index":15669,"title":{},"body":{"classes/LinkElementResponseMapper.html":{}}}],["element.url.params.ts",{"_index":6496,"title":{},"body":{"classes/ContentElementUrlParams.html":{},"classes/RoomElementUrlParams.html":{}}}],["element.url.params.ts:11",{"_index":6498,"title":{},"body":{"classes/ContentElementUrlParams.html":{},"classes/RoomElementUrlParams.html":{}}}],["element.url.params.ts:19",{"_index":19144,"title":{},"body":{"classes/RoomElementUrlParams.html":{}}}],["elementcontentbody",{"_index":9568,"title":{"classes/ElementContentBody.html":{}},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["elementcontentbody:111",{"_index":20733,"title":{},"body":{"classes/SubmissionContainerElementContentBody.html":{}}}],["elementcontentbody:127",{"_index":10272,"title":{},"body":{"classes/ExternalToolElementContentBody.html":{}}}],["elementcontentbody:29",{"_index":11504,"title":{},"body":{"classes/FileElementContentBody.html":{}}}],["elementcontentbody:59",{"_index":15656,"title":{},"body":{"classes/LinkElementContentBody.html":{}}}],["elementcontentbody:74",{"_index":9619,"title":{},"body":{"classes/DrawingElementContentBody.html":{}}}],["elementcontentbody:93",{"_index":18890,"title":{},"body":{"classes/RichTextElementContentBody.html":{}}}],["elementcontroller",{"_index":3002,"title":{"controllers/ElementController.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/ElementController.html":{}}}],["elementcopystatus",{"_index":3365,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["elementcopystatus.type",{"_index":3362,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["elementdata",{"_index":8599,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.copyingsince",{"_index":8607,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.displaycolor",{"_index":8604,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.group",{"_index":8609,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.group.map((groupmetadata",{"_index":8613,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.groupid",{"_index":8610,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.referencedid",{"_index":8608,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.shorttitle",{"_index":8603,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementdata.title",{"_index":8602,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["elementid",{"_index":2023,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/CardUc.html":{},"injectables/ContentElementService.html":{},"injectables/ElementUc.html":{},"classes/RoomElementUrlParams.html":{},"injectables/RoomsUc.html":{}}}],["elementmapper",{"_index":6386,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["elementmapper.maptoresponse(element",{"_index":6391,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["elementmodel",{"_index":8654,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elementmodel.dashboard",{"_index":8691,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elementmodel.references.set(references",{"_index":8690,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elementmodel.title",{"_index":8686,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elementmodel.xpos",{"_index":8681,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elementmodel.ypos",{"_index":8683,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elements",{"_index":896,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"entities/Board.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardRepo.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardUc.html":{},"classes/CopyApiResponse.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"injectables/CourseCopyService.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DtoCreator.html":{},"controllers/ElementController.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"injectables/NewsRepo.html":{},"classes/PaginationParams.html":{},"classes/PatchOrderParams.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/TaskCopyService.html":{}}}],["elements.filter((el",{"_index":3961,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["elements.filter((element",{"_index":9694,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["elements.foreach((element",{"_index":9704,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["elements.map((el",{"_index":7342,"title":{},"body":{"injectables/CopyHelperService.html":{},"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["elements.map((elementcopystatus",{"_index":3361,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["elements.push",{"_index":7659,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["elements.push(this.mapcolumnboard(element.content",{"_index":19105,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["elements.push(this.maplesson(element.content",{"_index":19104,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["elements.push(this.maptask(element.content",{"_index":19103,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["elementservice",{"_index":4491,"title":{},"body":{"injectables/CardUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["elementspercard",{"_index":3818,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["elementspercard.flat",{"_index":3821,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["elementsstatuses",{"_index":7341,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["elementsstatuses.filter((status",{"_index":7344,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["elementstoadd",{"_index":2982,"title":{},"body":{"entities/Board.html":{}}}],["elementtomove",{"_index":8485,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["elementtomove.getreferences",{"_index":8518,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["elementtomove.isgroup",{"_index":8517,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["elementuc",{"_index":2996,"title":{"injectables/ElementUc.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/BoardSubmissionController.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{}}}],["elementwithposition",{"_index":8634,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elementwithposition.pos.x",{"_index":8682,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elementwithposition.pos.y",{"_index":8684,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["elemmatch",{"_index":12127,"title":{},"body":{"injectables/FilesRepo.html":{},"injectables/LessonRepo.html":{}}}],["em",{"_index":3601,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/ClassesRepo.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardTargetService.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"interfaces/IDashboardRepo.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/SystemRepo.html":{},"classes/UsersList.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["em.config.options.clienturl",{"_index":25812,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["em.getreference(role",{"_index":12798,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["em.getreference(schoolentity",{"_index":12782,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["em.getreference(systementity",{"_index":12793,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["em.getreference(user",{"_index":12797,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["email",{"_index":702,"title":{},"body":{"interfaces/AccountParams.html":{},"injectables/AccountValidationService.html":{},"interfaces/AdminIdAndToken.html":{},"interfaces/CollectionFilePath.html":{},"interfaces/CustomLtiProperty.html":{},"classes/ExternalUserDto.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/H5PContentParentParams.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"interfaces/ImportUserProperties.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonUser.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"interfaces/LibrariesContentType.html":{},"entities/LtiTool.html":{},"classes/LumiUserWithContentData.html":{},"injectables/OidcProvisioningService.html":{},"classes/PatchMyAccountParams.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/SystemEntityFactory.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserMapper.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["emails",{"_index":25475,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["emailsearchvalues",{"_index":5321,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserProperties.html":{}}}],["embeddable",{"_index":2685,"title":{},"body":{"classes/BasicToolConfigEntity.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"classes/ContentMetadata.html":{},"classes/County.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalToolConfigEntity.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"classes/LdapConfigEntity.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/ParentInfo.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{}}}],["embedded",{"_index":4607,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/County.html":{},"entities/ExternalToolEntity.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/ParentInfo.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["embedded(undefined",{"_index":4601,"title":{},"body":{"entities/ClassEntity.html":{},"entities/ContextExternalToolEntity.html":{},"entities/ExternalToolEntity.html":{},"entities/FederalStateEntity.html":{},"entities/FileEntity.html":{},"entities/FileRecord.html":{},"entities/GroupEntity.html":{},"entities/H5PContent.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"entities/TeamEntity.html":{},"entities/User.html":{}}}],["embedded({entity",{"_index":21113,"title":{},"body":{"entities/SystemEntity.html":{}}}],["embedtypes",{"_index":6517,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["embodied",{"_index":24888,"title":{},"body":{"license.html":{}}}],["emerg",{"_index":9914,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["emerg(loggable",{"_index":9921,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["employer",{"_index":25216,"title":{},"body":{"license.html":{}}}],["empty",{"_index":1834,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/FileSystemAdapter.html":{},"classes/IdentityManagementService.html":{},"classes/NewsScope.html":{},"classes/ReferencesService.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/TemporaryFileStorage.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["emptyresultquery",{"_index":16628,"title":{},"body":{"classes/NewsScope.html":{},"classes/Scope.html":{}}}],["emptyresultquerytype",{"_index":6969,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/ImportUserScope.html":{},"classes/LessonScope.html":{},"classes/NewsScope.html":{},"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/Scope.html":{},"classes/SystemScope.html":{},"classes/TaskScope.html":{},"classes/UserScope.html":{}}}],["en",{"_index":23164,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["enable",{"_index":12629,"title":{},"body":{"classes/GlobalValidationPipe.html":{},"modules/ImportUserModule.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["enable.loggable.ts",{"_index":23761,"title":{},"body":{"classes/UserMigrationIsNotEnabled.html":{}}}],["enable.loggable.ts:4",{"_index":23762,"title":{},"body":{"classes/UserMigrationIsNotEnabled.html":{}}}],["enable_ldap_sync_during_migration",{"_index":19680,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["enabled",{"_index":1268,"title":{},"body":{"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"injectables/CourseCopyUC.html":{},"modules/FilesStorageModule.html":{},"controllers/FwuLearningContentsController.html":{},"classes/GlobalValidationPipe.html":{},"interfaces/IVideoConferenceSettings.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LessonCopyUC.html":{},"classes/OidcIdentityProviderMapper.html":{},"interfaces/ScanResult.html":{},"injectables/ShareTokenUC.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"injectables/TaskCopyUC.html":{},"classes/VideoConferenceConfiguration.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["enableimplicitconversion",{"_index":12633,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["enableldapsyncduringmigration",{"_index":19681,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["enableoauthmigrationfeature",{"_index":23635,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["enableoauthmigrationfeature(schooldo",{"_index":23647,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["enables",{"_index":24753,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["encapsulates",{"_index":5056,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/ConverterUtil.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["encodeawarenessupdate",{"_index":22474,"title":{},"body":{"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["encodeawarenessupdate(doc.awareness",{"_index":22553,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["encodeawarenessupdate(this.awareness",{"_index":24405,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["encoded",{"_index":2355,"title":{},"body":{"injectables/BBBService.html":{},"injectables/FileSystemAdapter.html":{},"classes/WsSharedDocDo.html":{}}}],["encoder",{"_index":22506,"title":{},"body":{"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["encodestateasupdate",{"_index":22258,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["encodestateasupdate(persistedydoc",{"_index":22290,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["encodestateasupdate(ydoc",{"_index":22287,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["encodestatevector",{"_index":22259,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["encodestatevector(persistedydoc",{"_index":22286,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["encodeuricomponent(token",{"_index":1347,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["encoding",{"_index":12031,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/KeycloakSeedService.html":{},"interfaces/LibrariesContentType.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["encoding.createencoder",{"_index":22507,"title":{},"body":{"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["encoding.length(encoder",{"_index":22525,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["encoding.touint8array(encoder",{"_index":22511,"title":{},"body":{"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["encoding.writevaruint(encoder",{"_index":22508,"title":{},"body":{"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["encoding.writevaruint8array(encoder",{"_index":22552,"title":{},"body":{"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["encouraged",{"_index":24701,"title":{},"body":{"license.html":{}}}],["encrypt",{"_index":9847,"title":{},"body":{"interfaces/EncryptionService.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/SymetricKeyEncryptionService.html":{},"additional-documentation/nestjs-application.html":{}}}],["encrypt(data",{"_index":9850,"title":{},"body":{"interfaces/EncryptionService.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["encrypted",{"_index":1071,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["encryptedstring",{"_index":20616,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["encryption",{"_index":13749,"title":{},"body":{"modules/IdentityManagementModule.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["encryption.interface",{"_index":9836,"title":{},"body":{"modules/EncryptionModule.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["encryption.service",{"_index":9838,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["encryption.service.ts",{"_index":15865,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["encryption.service.ts:7",{"_index":15868,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["encryptionmodule",{"_index":9832,"title":{"modules/EncryptionModule.html":{}},"body":{"modules/EncryptionModule.html":{},"modules/ExternalToolModule.html":{},"modules/IdentityManagementModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/ManagementModule.html":{},"modules/OauthModule.html":{}}}],["encryptionproviderfactory(configservice",{"_index":9839,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["encryptionservice",{"_index":5157,"title":{"interfaces/EncryptionService.html":{}},"body":{"interfaces/CollectionFilePath.html":{},"interfaces/EncryptionService.html":{},"injectables/ExternalToolService.html":{},"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OAuthService.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["encryptpassword",{"_index":902,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["encryptpassword(password",{"_index":907,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["encryptsecrets(collectionname",{"_index":5343,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["encryptsecretsinsystems(systems",{"_index":5345,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["end",{"_index":2327,"title":{},"body":{"injectables/BBBService.html":{},"injectables/BatchDeletionUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/ConsentResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"controllers/H5PEditorController.html":{},"classes/H5pFileDto.html":{},"classes/LoginResponse-1.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["end(@currentuser",{"_index":24082,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["end(config",{"_index":2347,"title":{},"body":{"injectables/BBBService.html":{}}}],["end(currentuser",{"_index":24034,"title":{},"body":{"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["end(currentuserid",{"_index":24197,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{}}}],["end.loggable.ts",{"_index":19923,"title":{},"body":{"classes/SchoolInUserMigrationEndLoggable.html":{}}}],["end.loggable.ts:3",{"_index":19925,"title":{},"body":{"classes/SchoolInUserMigrationEndLoggable.html":{}}}],["end.loggable.ts:6",{"_index":19926,"title":{},"body":{"classes/SchoolInUserMigrationEndLoggable.html":{}}}],["end.uc.ts",{"_index":24195,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{}}}],["end.uc.ts:12",{"_index":24196,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{}}}],["end.uc.ts:19",{"_index":24198,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{}}}],["end2end",{"_index":25833,"title":{},"body":{"additional-documentation/nestjs-application/vscode.html":{}}}],["enddate",{"_index":20083,"title":{},"body":{"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"classes/UserScope.html":{}}}],["ended",{"_index":24093,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["endings",{"_index":25863,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["endpoint",{"_index":2232,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{},"interfaces/CopyFiles.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"interfaces/File.html":{},"interfaces/FileStorageConfig.html":{},"interfaces/GetFile.html":{},"controllers/H5PEditorController.html":{},"interfaces/ListFiles.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"controllers/SystemController.html":{},"controllers/VideoConferenceController.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["endpoints",{"_index":13181,"title":{},"body":{"controllers/H5PEditorController.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["endpointurl",{"_index":20623,"title":{},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["ends",{"_index":2349,"title":{},"body":{"injectables/BBBService.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["endschoolinmaintenance",{"_index":13865,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["endschoolinmaintenance(@currentuser",{"_index":13942,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["endschoolinmaintenance(currentuser",{"_index":13873,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["endtime",{"_index":2304,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{},"injectables/BatchDeletionUc.html":{},"injectables/SchoolMigrationService.html":{}}}],["enforce",{"_index":21932,"title":{},"body":{"controllers/TeamNewsController.html":{},"license.html":{}}}],["enforces",{"_index":25690,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["enforcing",{"_index":24845,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["enities",{"_index":19016,"title":{},"body":{"classes/RoleMapper.html":{}}}],["enities.map((entity",{"_index":19020,"title":{},"body":{"classes/RoleMapper.html":{}}}],["enrichdatafromexternaltool",{"_index":19825,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["enrichdatafromexternaltool(tool",{"_index":19834,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["enrichedtools",{"_index":19847,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["enrichwithdatafromexternaltools",{"_index":19826,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["enrichwithdatafromexternaltools(tools",{"_index":19835,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["ensure",{"_index":11242,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{},"classes/NewsScope.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["ensureboardnodetype",{"_index":3481,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["ensureboardnodetype(boardnode",{"_index":3500,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["ensurecontextpermissions",{"_index":10177,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["ensurecontextpermissions(userid",{"_index":10186,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["ensureleafnode",{"_index":3482,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["ensureleafnode(boardnode",{"_index":3503,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["ensurepermission",{"_index":11033,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["ensurepermission(userid",{"_index":11043,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["ensures",{"_index":24601,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["ensureschoolpermissions",{"_index":10178,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["ensureschoolpermissions(userid",{"_index":10188,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["ensuretokeniswhitelisted",{"_index":14369,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["ensuretoolpermissions",{"_index":23025,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["ensuretoolpermissions(userid",{"_index":23028,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["entered",{"_index":25118,"title":{},"body":{"license.html":{}}}],["enteredpassword",{"_index":15696,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["entire",{"_index":24865,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["entirely",{"_index":25137,"title":{},"body":{"license.html":{}}}],["entities",{"_index":206,"title":{},"body":{"entities/Account.html":{},"classes/AccountFactory.html":{},"injectables/AccountRepo.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"entities/Board.html":{},"entities/BoardElement.html":{},"entities/BoardNode.html":{},"injectables/BoardRepo.html":{},"entities/CardNode.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/CollectionFilePath.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"entities/ColumnBoardTarget.html":{},"entities/ColumnNode.html":{},"entities/ColumnboardBoardElement.html":{},"modules/CommonToolModule.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"entities/CourseNews.html":{},"injectables/CourseRepo.html":{},"classes/CustomParameterFactory.html":{},"entities/DashboardGridElementModel.html":{},"entities/DashboardModelEntity.html":{},"entities/DeletionLogEntity.html":{},"classes/DeletionLogMapper.html":{},"entities/DeletionRequestEntity.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"entities/DrawingElementNode.html":{},"entities/ExternalToolElementNodeEntity.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"entities/ExternalToolPseudonymEntity.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FeathersAuthorizationService.html":{},"entities/FederalStateEntity.html":{},"injectables/FederalStateRepo.html":{},"entities/FileElementNode.html":{},"entities/FileEntity.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"entities/GroupEntity.html":{},"injectables/GroupRepo.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"injectables/H5PContentRepo.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"injectables/ImportUserRepo.html":{},"entities/InstalledLibrary.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySystemRepo.html":{},"entities/LessonBoardElement.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"entities/LinkElementNode.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"injectables/NewsRepo.html":{},"classes/Oauth2ToolConfigFactory.html":{},"entities/PseudonymEntity.html":{},"injectables/PseudonymsRepo.html":{},"entities/RegistrationPinEntity.html":{},"entities/RichTextElementNode.html":{},"entities/RocketChatUserEntity.html":{},"classes/RocketChatUserFactory.html":{},"entities/Role.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolExternalToolRepo.html":{},"entities/SchoolNews.html":{},"entities/SchoolYearEntity.html":{},"injectables/SchoolYearRepo.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/ShareToken.html":{},"entities/StorageProviderEntity.html":{},"injectables/StorageProviderRepo.html":{},"entities/Submission.html":{},"entities/SubmissionContainerElementNode.html":{},"classes/SubmissionFactory.html":{},"entities/SubmissionItemNode.html":{},"injectables/SubmissionRepo.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"classes/TaskFactory.html":{},"injectables/TaskRepo.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"entities/TeamNews.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"entities/TldrawDrawing.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"modules/TldrawTestModule.html":{},"entities/User.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"entities/UserLoginMigrationEntity.html":{},"injectables/UserRepo.html":{},"entities/VideoConference.html":{},"dependencies.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["entities.foreach((entity",{"_index":12150,"title":{},"body":{"injectables/FilesService.html":{}}}],["entities.length",{"_index":12149,"title":{},"body":{"injectables/FilesService.html":{},"injectables/LtiToolRepo.html":{}}}],["entities.map((entity",{"_index":4751,"title":{},"body":{"classes/ClassMapper.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/DeletionLogMapper.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/GroupRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/PseudonymsRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SystemMapper.html":{},"injectables/UserDORepo.html":{}}}],["entitieswithfiles",{"_index":11716,"title":{},"body":{"classes/FileParamBuilder.html":{},"classes/FilesStorageClientMapper.html":{}}}],["entitiyids",{"_index":11262,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["entity",{"_index":205,"title":{"entities/Account.html":{},"entities/Board.html":{},"entities/BoardElement.html":{},"entities/BoardNode.html":{},"entities/CardNode.html":{},"entities/ClassEntity.html":{},"entities/ColumnBoardNode.html":{},"entities/ColumnBoardTarget.html":{},"entities/ColumnNode.html":{},"entities/ColumnboardBoardElement.html":{},"entities/ContextExternalToolEntity.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"entities/CourseNews.html":{},"entities/DashboardGridElementModel.html":{},"entities/DashboardModelEntity.html":{},"entities/DeletionLogEntity.html":{},"entities/DeletionRequestEntity.html":{},"entities/DrawingElementNode.html":{},"entities/ExternalToolElementNodeEntity.html":{},"entities/ExternalToolEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"entities/FederalStateEntity.html":{},"entities/FileElementNode.html":{},"entities/FileEntity.html":{},"entities/FileRecord.html":{},"entities/GroupEntity.html":{},"entities/H5PContent.html":{},"entities/H5pEditorTempFile.html":{},"entities/ImportUser.html":{},"entities/InstalledLibrary.html":{},"entities/LessonBoardElement.html":{},"entities/LessonEntity.html":{},"entities/LinkElementNode.html":{},"entities/LtiTool.html":{},"entities/Material.html":{},"entities/News.html":{},"entities/PseudonymEntity.html":{},"entities/RegistrationPinEntity.html":{},"entities/RichTextElementNode.html":{},"entities/RocketChatUserEntity.html":{},"entities/Role.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"entities/SchoolNews.html":{},"entities/SchoolYearEntity.html":{},"entities/ShareToken.html":{},"entities/StorageProviderEntity.html":{},"entities/Submission.html":{},"entities/SubmissionContainerElementNode.html":{},"entities/SubmissionItemNode.html":{},"entities/SystemEntity.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"entities/TldrawDrawing.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"entities/VideoConference.html":{}},"body":{"entities/Account.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountRepo.html":{},"injectables/AccountValidationService.html":{},"injectables/AuthorizationHelper.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"entities/Board.html":{},"injectables/BoardCopyService.html":{},"entities/BoardElement.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BruteForceError.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"injectables/ClassesRepo.html":{},"injectables/CollaborativeStorageService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnBoardTarget.html":{},"entities/ColumnNode.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProperties.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolRule.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/County.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameterFactory.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DeleteFilesUc.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"classes/EntityNotFoundError.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/FeathersAuthorizationService.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileUrlParams.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"interfaces/GetFileResponse.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"injectables/GroupRepo.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/INewsScope.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfigEntity.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"entities/LessonBoardElement.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/LumiUserWithContentData.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileParams.html":{},"classes/PreviewParams.html":{},"injectables/PreviewService.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"injectables/PseudonymsRepo.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"injectables/RegistrationPinRepo.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameFileParams.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{},"entities/Role.html":{},"classes/RoleMapper.html":{},"interfaces/RoleProperties.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolExternalToolProperties.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolInfoResponse.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/SingleFileParams.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"entities/Submission.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemRepo.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"injectables/TeamRule.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/TldrawRepo.html":{},"classes/UpdateNewsParams.html":{},"entities/User.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserInfoResponse.html":{},"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserMapper.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{},"injectables/VideoConferenceRepo.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["entity.alias",{"_index":21091,"title":{},"body":{"classes/SystemDomainMapper.html":{},"classes/SystemMapper.html":{}}}],["entity.authtoken",{"_index":18961,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["entity.birthday",{"_index":23317,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entity.closedat",{"_index":23599,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entity.config.type",{"_index":10698,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entity.contextid",{"_index":6849,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{}}}],["entity.contexttype",{"_index":20413,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["entity.course",{"_index":7760,"title":{},"body":{"injectables/CourseGroupRule.html":{},"injectables/LessonRule.html":{},"injectables/TaskRule.html":{}}}],["entity.coursegroup",{"_index":15531,"title":{},"body":{"injectables/LessonRule.html":{}}}],["entity.createdat",{"_index":4735,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{},"classes/RocketChatUserMapper.html":{},"injectables/UserDORepo.html":{}}}],["entity.customs",{"_index":16024,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.deleteafter",{"_index":9394,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["entity.deletedcount",{"_index":9208,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["entity.deletionrequestid?.tohexstring",{"_index":9209,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["entity.displayname",{"_index":6851,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemMapper.html":{}}}],["entity.domain",{"_index":9205,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["entity.email",{"_index":23305,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.emailsearchvalues",{"_index":23311,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entity.expiresat",{"_index":20415,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["entity.externalid",{"_index":12795,"title":{},"body":{"classes/GroupDomainMapper.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.externalsource",{"_index":12788,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.factory.ts",{"_index":10306,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["entity.factory.ts:21",{"_index":10315,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["entity.factory.ts:28",{"_index":10312,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["entity.factory.ts:38",{"_index":10317,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["entity.factory.ts:50",{"_index":10313,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["entity.factory.ts:66",{"_index":10311,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["entity.features",{"_index":15256,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{}}}],["entity.features.includes(feature",{"_index":15306,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["entity.federalstate",{"_index":15265,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.finishedat",{"_index":23600,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entity.firstname",{"_index":23306,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.firstnamesearchvalues",{"_index":23309,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entity.forcepasswordchange",{"_index":23313,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.friendlyurl",{"_index":16029,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.frontchannel_logout_uri",{"_index":16031,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.getgrid().map((elementwithposition",{"_index":8694,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["entity.getid",{"_index":8701,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["entity.getuserid",{"_index":8703,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["entity.gradelevel",{"_index":4730,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.hidden",{"_index":15527,"title":{},"body":{"injectables/LessonRule.html":{}}}],["entity.id",{"_index":4721,"title":{},"body":{"classes/ClassMapper.html":{},"injectables/ClassesRepo.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/GroupDomainMapper.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LtiToolRepo.html":{},"injectables/PseudonymsRepo.html":{},"classes/RocketChatUserMapper.html":{},"classes/RoleMapper.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemMapper.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserMapper.html":{},"injectables/VideoConferenceRepo.html":{}}}],["entity.importhash",{"_index":23308,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entity.inmaintenancesince",{"_index":15257,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.inusermigration",{"_index":15258,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.invitationlink",{"_index":4728,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.isdraft",{"_index":21711,"title":{},"body":{"injectables/TaskRule.html":{}}}],["entity.ishidden",{"_index":10707,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/LtiToolRepo.html":{}}}],["entity.islocal",{"_index":16026,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.istemplate",{"_index":16025,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.key",{"_index":16016,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.language",{"_index":23312,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.lastloginsystemchange",{"_index":23315,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.lastname",{"_index":23307,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.lastnamesearchvalues",{"_index":23310,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entity.ldapconfig",{"_index":21094,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["entity.ldapconfig?.active",{"_index":21165,"title":{},"body":{"classes/SystemMapper.html":{}}}],["entity.ldapdn",{"_index":4731,"title":{},"body":{"classes/ClassMapper.html":{},"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.lesson",{"_index":21714,"title":{},"body":{"injectables/TaskRule.html":{}}}],["entity.logo_url",{"_index":16018,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.logobase64",{"_index":10705,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entity.logourl",{"_index":10704,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entity.lti_message_type",{"_index":16019,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.lti_version",{"_index":16020,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.mandatorysince",{"_index":23597,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entity.markfordeletion",{"_index":12154,"title":{},"body":{"injectables/FilesService.html":{}}}],["entity.modifiedcount",{"_index":9207,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["entity.name",{"_index":4722,"title":{},"body":{"classes/ClassMapper.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/GroupDomainMapper.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"classes/RoleMapper.html":{}}}],["entity.oauthclientid",{"_index":16028,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.oauthconfig",{"_index":21092,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["entity.officialschoolnumber",{"_index":15260,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.oidcconfig",{"_index":21181,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["entity.opennewtab",{"_index":10708,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/LtiToolRepo.html":{}}}],["entity.operation",{"_index":9206,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["entity.options.everyattendejoinsmuted",{"_index":24333,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["entity.options.everybodyjoinsasmoderator",{"_index":24332,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["entity.options.moderatormustapprovejoinrequests",{"_index":24334,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["entity.organization?.id",{"_index":12791,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.origintoolid",{"_index":16027,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.outdatedsince",{"_index":23316,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.parentid",{"_index":20412,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["entity.parenttype",{"_index":20411,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["entity.performedat",{"_index":9210,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["entity.permissions",{"_index":19019,"title":{},"body":{"classes/RoleMapper.html":{}}}],["entity.preferences",{"_index":23314,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["entity.previousexternalid",{"_index":15259,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/UserDORepo.html":{}}}],["entity.privacy_permission",{"_index":16023,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.provisioningstrategy",{"_index":21090,"title":{},"body":{"classes/SystemDomainMapper.html":{},"classes/SystemMapper.html":{}}}],["entity.provisioningurl",{"_index":21089,"title":{},"body":{"classes/SystemDomainMapper.html":{},"classes/SystemMapper.html":{}}}],["entity.pseudonym",{"_index":10616,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["entity.rcid",{"_index":18960,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["entity.removepermissionsbyrefid(userid",{"_index":12151,"title":{},"body":{"injectables/FilesService.html":{}}}],["entity.resource_link_id",{"_index":16021,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.restricttocontexts",{"_index":10710,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entity.role.id",{"_index":12801,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.roles",{"_index":16022,"title":{},"body":{"injectables/LtiToolRepo.html":{},"injectables/UserDORepo.html":{}}}],["entity.roles.getitems().map((role",{"_index":23726,"title":{},"body":{"classes/UserMapper.html":{}}}],["entity.roles.isinitialized",{"_index":23318,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entity.school.id",{"_index":19780,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserMapper.html":{}}}],["entity.schoolid",{"_index":19819,"title":{},"body":{"injectables/SchoolExternalToolRule.html":{},"injectables/UserLoginMigrationRule.html":{}}}],["entity.schoolid.tohexstring",{"_index":4723,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.schooltool.id",{"_index":6848,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["entity.schooltool.school.id",{"_index":6944,"title":{},"body":{"injectables/ContextExternalToolRule.html":{}}}],["entity.schooltool.school?.id",{"_index":6847,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["entity.schooltoolref.schoolid",{"_index":6945,"title":{},"body":{"injectables/ContextExternalToolRule.html":{}}}],["entity.schoolyear",{"_index":15261,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.secret",{"_index":16017,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.skipconsent",{"_index":16030,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entity.source",{"_index":4733,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.sourceoptions?.tspuid",{"_index":4734,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.sourcesystem?.id",{"_index":23595,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entity.startedat",{"_index":23598,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entity.status",{"_index":9396,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["entity.successor?.tohexstring",{"_index":4732,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.system.id",{"_index":12796,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.systems.getitems().map((system",{"_index":15263,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.systems.isinitialized",{"_index":15262,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.target",{"_index":24330,"title":{},"body":{"injectables/VideoConferenceRepo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["entity.targetmodel",{"_index":26052,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["entity.targetrefdomain",{"_index":9393,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["entity.targetrefid",{"_index":9395,"title":{},"body":{"classes/DeletionRequestMapper.html":{}}}],["entity.targetsystem.id",{"_index":23596,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entity.teacherids.map((teacherid",{"_index":4726,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.teamusers.find((teamuser",{"_index":21973,"title":{},"body":{"injectables/TeamRule.html":{}}}],["entity.token",{"_index":20414,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["entity.tool.id",{"_index":19779,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["entity.toolid.tohexstring",{"_index":10617,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["entity.toolversion",{"_index":6852,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["entity.ts",{"_index":25523,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["entity.type",{"_index":21088,"title":{},"body":{"classes/SystemDomainMapper.html":{},"classes/SystemMapper.html":{}}}],["entity.updatedat",{"_index":4736,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{},"classes/RocketChatUserMapper.html":{},"injectables/UserDORepo.html":{}}}],["entity.url",{"_index":10703,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/LtiToolRepo.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemMapper.html":{}}}],["entity.user.id",{"_index":12800,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.userid.tohexstring",{"_index":10618,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{},"classes/RocketChatUserMapper.html":{}}}],["entity.userids?.map((userid",{"_index":4724,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity.userloginmigration?.id",{"_index":15264,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entity.username",{"_index":18959,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["entity.users.map((groupuser",{"_index":12783,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.validperiod",{"_index":12785,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.validperiod.from",{"_index":12786,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.validperiod.until",{"_index":12787,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["entity.version",{"_index":10709,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entity.year?.tohexstring",{"_index":4729,"title":{},"body":{"classes/ClassMapper.html":{}}}],["entity/course.entity",{"_index":8007,"title":{},"body":{"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{}}}],["entity/deletion",{"_index":9201,"title":{},"body":{"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{}}}],["entity/h5p",{"_index":22093,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["entity/import",{"_index":13621,"title":{},"body":{"interfaces/IImportUserScope.html":{},"interfaces/NameMatch.html":{}}}],["entity/pseudonym.scope",{"_index":10599,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["entity/role.entity",{"_index":17796,"title":{},"body":{"injectables/PermissionService.html":{}}}],["entity/school.entity",{"_index":8008,"title":{},"body":{"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{}}}],["entity/share",{"_index":20408,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["entity/team.entity",{"_index":8009,"title":{},"body":{"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{}}}],["entity/user.entity",{"_index":17797,"title":{},"body":{"injectables/PermissionService.html":{}}}],["entity[prop",{"_index":1843,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["entity_not_found",{"_index":4156,"title":{},"body":{"classes/BruteForceError.html":{},"classes/EntityNotFoundError.html":{}}}],["entityclass",{"_index":555,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["entitycount",{"_index":13104,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["entitydata",{"_index":2461,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["entitydata[key",{"_index":2519,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["entitydictionary",{"_index":12122,"title":{},"body":{"injectables/FilesRepo.html":{},"injectables/LessonRepo.html":{}}}],["entitydo",{"_index":2460,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/PseudonymsRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["entitydo.birthday",{"_index":23332,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.closedat",{"_index":23606,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entitydo.config.type",{"_index":10723,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entitydo.contextref.id",{"_index":6854,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["entitydo.customs",{"_index":16040,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.displayname",{"_index":6856,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["entitydo.email",{"_index":23321,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.externalid",{"_index":15266,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/UserDORepo.html":{}}}],["entitydo.features",{"_index":15267,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.federalstate",{"_index":15278,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.finishedat",{"_index":23607,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entitydo.firstname",{"_index":23322,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.forcepasswordchange",{"_index":23328,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.friendlyurl",{"_index":16045,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.frontchannel_logout_uri",{"_index":16047,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.id",{"_index":18318,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["entitydo.inmaintenancesince",{"_index":15268,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.inusermigration",{"_index":15269,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.ishidden",{"_index":10732,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/LtiToolRepo.html":{}}}],["entitydo.islocal",{"_index":16042,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.istemplate",{"_index":16041,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.key",{"_index":16032,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.language",{"_index":23327,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.lastloginsystemchange",{"_index":23330,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.lastname",{"_index":23323,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.ldapdn",{"_index":23326,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.logo",{"_index":10730,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entitydo.logo_url",{"_index":16034,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.logourl",{"_index":10729,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entitydo.lti_message_type",{"_index":16035,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.lti_version",{"_index":16036,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.mandatorysince",{"_index":23604,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entitydo.name",{"_index":10727,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{}}}],["entitydo.oauthclientid",{"_index":16044,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.officialschoolnumber",{"_index":15271,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.opennewtab",{"_index":10733,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/LtiToolRepo.html":{}}}],["entitydo.options.everyattendeejoinsmuted",{"_index":24338,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["entitydo.options.everybodyjoinsasmoderator",{"_index":24337,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["entitydo.options.moderatormustapprovejoinrequests",{"_index":24339,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["entitydo.origintoolid",{"_index":16043,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.outdatedsince",{"_index":23331,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.preferences",{"_index":23329,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.previousexternalid",{"_index":15270,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/UserDORepo.html":{}}}],["entitydo.privacy_permission",{"_index":16039,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.pseudonym",{"_index":10619,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["entitydo.resource_link_id",{"_index":16037,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.restricttocontexts",{"_index":10735,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entitydo.roles",{"_index":16038,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.roles.map((roleref",{"_index":23324,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitydo.schoolid",{"_index":19783,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["entitydo.schooltoolref.schooltoolid",{"_index":6858,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["entitydo.schoolyear",{"_index":15272,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.secret",{"_index":16033,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.skipconsent",{"_index":16046,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["entitydo.sourcesystemid",{"_index":23602,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entitydo.startedat",{"_index":23605,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entitydo.systems",{"_index":15273,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.systems.map((systemid",{"_index":15274,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.target",{"_index":24335,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["entitydo.targetsystemid",{"_index":23603,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["entitydo.toolid",{"_index":19785,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["entitydo.toolversion",{"_index":6859,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["entitydo.url",{"_index":10728,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/LtiToolRepo.html":{}}}],["entitydo.userloginmigrationid",{"_index":15276,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["entitydo.version",{"_index":10734,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["entitydos",{"_index":10628,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/UserDORepo.html":{}}}],["entityid",{"_index":26,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AccountDto.html":{},"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"entities/Board.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRepo.html":{},"entities/BoardElement.html":{},"interfaces/BoardExternalReference.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"injectables/BoardUc.html":{},"injectables/CalendarService.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementService.html":{},"classes/ContentMetadata.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolIdParams-1.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ContextRefParams.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"interfaces/CreateNews.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DomainObject.html":{},"classes/DownloadFileParams.html":{},"injectables/ElementUc.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolMetadataService.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"injectables/FederalStateRepo.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto-1.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileUrlParams.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"classes/ForbiddenLoggableException.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"classes/GroupUser.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/INewsScope.html":{},"injectables/ImportUserRepo.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/LdapConfigEntity.html":{},"classes/LegacySchoolDo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LibraryRepo.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"injectables/LtiToolRepo.html":{},"classes/LumiUserWithContentData.html":{},"injectables/MaterialsRepo.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MigrationCheckService.html":{},"entities/News.html":{},"classes/NewsCrudOperationLoggable.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"classes/OauthConfigEntity.html":{},"injectables/OauthProviderUc.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/ParentInfo.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/ProvisioningSystemDto.html":{},"classes/Pseudonym.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"interfaces/PseudonymProps.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"classes/RoleDto.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolScope.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenUC.html":{},"classes/SingleFileParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/StorageProviderRepo.html":{},"entities/Submission.html":{},"classes/SubmissionItem.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemIdParams.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamNews.html":{},"injectables/TeamService.html":{},"classes/TeamUserDto.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"injectables/VideoConferenceRepo.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["entitymanager",{"_index":2444,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/ClassesRepo.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardTargetService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FilesRepo.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"interfaces/IDashboardRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SystemRepo.html":{},"injectables/TldrawRepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["entityname",{"_index":736,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardRepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{},"classes/EntityNotFoundError.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"modules/FilesStorageModule.html":{},"classes/ForbiddenLoggableException.html":{},"modules/FwuLearningContentsModule.html":{},"injectables/H5PContentRepo.html":{},"modules/H5PEditorModule.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolYearRepo.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"modules/TldrawModule.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["entitynotfounderror",{"_index":346,"title":{"classes/EntityNotFoundError.html":{}},"body":{"controllers/AccountController.html":{},"injectables/AccountServiceDb.html":{},"classes/EntityNotFoundError.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/LegacySystemService.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemUc.html":{},"injectables/UserDORepo.html":{}}}],["entitynotfounderror('account",{"_index":933,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["entitynotfounderror('user",{"_index":23300,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["entitynotfounderror(`account",{"_index":961,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["entitynotfounderror(`user",{"_index":14778,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["entitynotfounderror(systementity.name",{"_index":15354,"title":{},"body":{"injectables/LegacySystemService.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemUc.html":{}}}],["entitypermissions",{"_index":11256,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["entitypermissions.includes(p",{"_index":11260,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["entityprops",{"_index":10608,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/GroupRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["entityschema",{"_index":2548,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["entitytype",{"_index":16554,"title":{},"body":{"classes/NewsMapper.html":{}}}],["entitywithembeddedfiles",{"_index":7289,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["entitywithid",{"_index":2590,"title":{},"body":{"classes/BaseFactory.html":{}}}],["entitywithschool",{"_index":7491,"title":{"interfaces/EntityWithSchool.html":{}},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"interfaces/EntityWithSchool.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"interfaces/ParentInfo.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{}}}],["entries",{"_index":10679,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["entries.map",{"_index":10740,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["entry",{"_index":6120,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/JwtStrategy.html":{},"controllers/NewsController.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["entry.do.ts",{"_index":8226,"title":{},"body":{"classes/CustomParameterEntry.html":{}}}],["entry.do.ts:2",{"_index":8228,"title":{},"body":{"classes/CustomParameterEntry.html":{}}}],["entry.do.ts:4",{"_index":8227,"title":{},"body":{"classes/CustomParameterEntry.html":{}}}],["entry.entity.ts",{"_index":8231,"title":{},"body":{"classes/CustomParameterEntryEntity.html":{}}}],["entry.entity.ts:6",{"_index":8233,"title":{},"body":{"classes/CustomParameterEntryEntity.html":{}}}],["entry.entity.ts:9",{"_index":8232,"title":{},"body":{"classes/CustomParameterEntryEntity.html":{}}}],["entry.name",{"_index":6124,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["entry.params",{"_index":19757,"title":{},"body":{"classes/SchoolExternalToolPostParams.html":{}}}],["entry.params.ts",{"_index":8236,"title":{},"body":{"classes/CustomParameterEntryParam.html":{}}}],["entry.params.ts:12",{"_index":8238,"title":{},"body":{"classes/CustomParameterEntryParam.html":{}}}],["entry.params.ts:7",{"_index":8237,"title":{},"body":{"classes/CustomParameterEntryParam.html":{}}}],["entry.response",{"_index":19796,"title":{},"body":{"classes/SchoolExternalToolResponse.html":{}}}],["entry.response.ts",{"_index":8239,"title":{},"body":{"classes/CustomParameterEntryResponse.html":{}}}],["entry.response.ts:5",{"_index":8241,"title":{},"body":{"classes/CustomParameterEntryResponse.html":{}}}],["entry.response.ts:9",{"_index":8240,"title":{},"body":{"classes/CustomParameterEntryResponse.html":{}}}],["entry.value",{"_index":10741,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["enum",{"_index":886,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{},"classes/BoardContextResponse.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/ChangeLanguageParams.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassSortParams.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolResponse.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"entities/Course.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"classes/DrawingElementResponse.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"classes/FileElementResponse.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"classes/FileUrlParams.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupResponse.html":{},"classes/GroupUserResponse.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/IFindOptions.html":{},"interfaces/IImportUserScope.html":{},"interfaces/INewsScope.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/LdapConfigEntity.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/LtiTool.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/Pagination.html":{},"interfaces/ParentInfo.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/RenameFileParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"classes/RichTextElementResponse.html":{},"injectables/RoomsAuthorisationService.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/ServerConfig.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"entities/TeamNews.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolPermissionHelper.html":{},"classes/UpdateElementContentBodyParams.html":{},"entities/User.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/WsSharedDocDo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["enum({array",{"_index":15955,"title":{},"body":{"entities/LtiTool.html":{}}}],["enum({fieldname",{"_index":13819,"title":{},"body":{"entities/ImportUser.html":{}}}],["enum({items",{"_index":15952,"title":{},"body":{"entities/LtiTool.html":{}}}],["enum({nullable",{"_index":7469,"title":{},"body":{"entities/Course.html":{},"entities/FileEntity.html":{},"classes/FilePermissionEntity.html":{},"entities/ShareToken.html":{}}}],["enumname",{"_index":3170,"title":{},"body":{"classes/BoardContextResponse.html":{},"classes/ClassFilterParams.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"classes/DrawingElementResponse.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"classes/FileElementResponse.html":{},"classes/FileParams.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"classes/FileUrlParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"classes/RichTextElementResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["enums",{"_index":5813,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["env",{"_index":16391,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["env/config",{"_index":25240,"title":{},"body":{"todo.html":{}}}],["envirement",{"_index":21511,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["envirements",{"_index":7678,"title":{},"body":{"injectables/CourseCopyUC.html":{}}}],["envirment",{"_index":20524,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["environment",{"_index":14804,"title":{},"body":{"controllers/KeycloakManagementController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["eol",{"_index":12039,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["eq",{"_index":15540,"title":{},"body":{"classes/LessonScope.html":{},"classes/TaskScope.html":{},"classes/UserScope.html":{}}}],["equal",{"_index":21675,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["equivalent",{"_index":24806,"title":{},"body":{"license.html":{}}}],["eric",{"_index":25639,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["erorr",{"_index":21503,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["err",{"_index":1329,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/BatchDeletionService.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardManagementUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/JwtStrategy.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawWsService.html":{},"injectables/ToolVersionService.html":{}}}],["err.code",{"_index":25731,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["err.message",{"_index":19428,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["err.tostring",{"_index":9114,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["err?.cause?.name",{"_index":19393,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["err?.code",{"_index":19377,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["error",{"_index":1080,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AuthCodeFailureLoggableException.html":{},"interfaces/AuthenticationResponse.html":{},"classes/AuthorizationError.html":{},"classes/AuthorizationParams.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/BBBCreateConfigBuilder.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"modules/CacheWrapperModule.html":{},"interfaces/CleanOptions.html":{},"controllers/CollaborativeStorageController.html":{},"interfaces/CollectionFilePath.html":{},"classes/ConsentRequestBody.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"modules/CoreModule.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/DownloadFileParams.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"interfaces/FeathersError.html":{},"interfaces/FileDO.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileUrlParams.html":{},"classes/ForbiddenOperationError.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/H5PErrorMapper.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"interfaces/IError.html":{},"interfaces/ILegacyLogger.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"injectables/JwtStrategy.html":{},"classes/KeycloakConsole.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"injectables/LessonCopyUC.html":{},"modules/LoggerModule.html":{},"classes/LoginRequestBody.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/NexboardService.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PreviewParams.html":{},"injectables/PreviewService.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RedisModule.html":{},"interfaces/RejectRequestBody.html":{},"classes/RenameFileParams.html":{},"injectables/RequestLoggingInterceptor.html":{},"interfaces/RetryOptions.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultParams.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SingleFileParams.html":{},"classes/StatelessAuthorizationParams.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"injectables/TaskCopyUC.html":{},"classes/TestApiClient.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawWsService.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"injectables/ToolLaunchService.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserUc.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"controllers/VideoConferenceController.html":{},"injectables/XApiKeyStrategy.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["error('boardnode",{"_index":3561,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["error('broken",{"_index":3316,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["error('cannot",{"_index":22500,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["error('error",{"_index":4919,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["error('gradelevel",{"_index":4614,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["error('idm",{"_index":4850,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["error('invalid",{"_index":14040,"title":{},"body":{"classes/ImportUserMatchMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/RoleNameMapper.html":{},"classes/UserMatchMapper.html":{},"injectables/UserRepo.html":{}}}],["error('library",{"_index":15618,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["error('multiple",{"_index":14763,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/LibraryRepo.html":{}}}],["error('no",{"_index":9041,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["error('not",{"_index":2988,"title":{},"body":{"entities/Board.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["error('nothing",{"_index":18428,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["error('resource",{"_index":5987,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["error('rocket",{"_index":1192,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["error('roles",{"_index":17800,"title":{},"body":{"injectables/PermissionService.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["error('root",{"_index":3418,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["error('too",{"_index":15624,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["error('unexpected",{"_index":14159,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["error('unknown",{"_index":6863,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["error('user",{"_index":580,"title":{},"body":{"classes/AccountFactory.html":{}}}],["error(`${jwtconstants.jwtoptions.algorithm",{"_index":1584,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["error(`${testreqestconst.errormessage",{"_index":1683,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["error(`account",{"_index":14756,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["error(`boardcopyservice",{"_index":3333,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["error(`cannot",{"_index":6492,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["error(`duplicate",{"_index":14846,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["error(`invalid",{"_index":9037,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["error(`login",{"_index":15712,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["error(`mapping",{"_index":12227,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["error(`metatagextractorservice",{"_index":16255,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["error(`no",{"_index":15048,"title":{},"body":{"injectables/LdapService.html":{}}}],["error(`system",{"_index":15335,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["error(error",{"_index":1680,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["error(json.stringify(cause",{"_index":4205,"title":{},"body":{"classes/BusinessError.html":{}}}],["error(json.stringify(error",{"_index":9984,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["error(loggable",{"_index":9923,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["error(message",{"_index":13642,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{}}}],["error(string(cause",{"_index":4206,"title":{},"body":{"classes/BusinessError.html":{}}}],["error(util.inspect(error",{"_index":12598,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.enum",{"_index":1900,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["error.exception",{"_index":7490,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["error.factory.ts",{"_index":2075,"title":{},"body":{"classes/AxiosErrorFactory.html":{}}}],["error.factory.ts:7",{"_index":2078,"title":{},"body":{"classes/AxiosErrorFactory.html":{}}}],["error.filter",{"_index":9956,"title":{},"body":{"modules/ErrorModule.html":{}}}],["error.filter.ts",{"_index":12561,"title":{},"body":{"classes/GlobalErrorFilter.html":{},"todo.html":{}}}],["error.filter.ts:102",{"_index":12584,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:15",{"_index":12570,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:19",{"_index":12573,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:34",{"_index":12575,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:49",{"_index":12586,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:56",{"_index":12577,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:72",{"_index":12581,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:80",{"_index":12579,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.filter.ts:92",{"_index":12583,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.getresponse",{"_index":12616,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["error.getstatus",{"_index":10409,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["error.httpstatuscode",{"_index":13291,"title":{},"body":{"classes/H5PErrorMapper.html":{}}}],["error.interface.ts",{"_index":11266,"title":{},"body":{"interfaces/FeathersError.html":{}}}],["error.loggable",{"_index":23971,"title":{},"body":{"classes/ValidationErrorLoggableException.html":{}}}],["error.loggable.ts",{"_index":2097,"title":{},"body":{"classes/AxiosErrorLoggable.html":{}}}],["error.loggable.ts:12",{"_index":2101,"title":{},"body":{"classes/AxiosErrorLoggable.html":{}}}],["error.loggable.ts:5",{"_index":2100,"title":{},"body":{"classes/AxiosErrorLoggable.html":{}}}],["error.mapper",{"_index":19268,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["error.mapper.ts",{"_index":13285,"title":{},"body":{"classes/H5PErrorMapper.html":{}}}],["error.mapper.ts:5",{"_index":13289,"title":{},"body":{"classes/H5PErrorMapper.html":{}}}],["error.response",{"_index":1401,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["error.response.ts",{"_index":1378,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["error.response.ts:10",{"_index":1384,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["error.response.ts:21",{"_index":1400,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["error.tostring",{"_index":18348,"title":{},"body":{"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["error.ts",{"_index":23184,"title":{},"body":{"classes/UserAlreadyAssignedToImportUserError.html":{}}}],["error.ts:3",{"_index":23185,"title":{},"body":{"classes/UserAlreadyAssignedToImportUserError.html":{}}}],["error.validationerrors.map((e",{"_index":9891,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["error/error",{"_index":24122,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["error/id",{"_index":13713,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["error_debug",{"_index":6217,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"interfaces/RejectRequestBody.html":{}}}],["error_description",{"_index":1888,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"interfaces/RejectRequestBody.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["error_hint",{"_index":6218,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"interfaces/RejectRequestBody.html":{}}}],["error_uri",{"_index":1889,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["errorcode",{"_index":1466,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"injectables/OAuthService.html":{}}}],["errorloggable",{"_index":9862,"title":{"classes/ErrorLoggable.html":{}},"body":{"classes/ErrorLoggable.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"injectables/LdapStrategy.html":{}}}],["errorloggable(error",{"_index":12596,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["errorloggable(unknownerror",{"_index":12599,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["errorlogger",{"_index":9909,"title":{"injectables/ErrorLogger.html":{}},"body":{"injectables/ErrorLogger.html":{},"classes/GlobalErrorFilter.html":{},"modules/LoggerModule.html":{}}}],["errorlogmessage",{"_index":1468,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/AxiosErrorLoggable.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenLoggableException.html":{},"classes/GroupRoleUnknownLoggable.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Loggable.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NotFoundLoggableException.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/ValidationErrorLoggableException.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["errormapper",{"_index":9935,"title":{"classes/ErrorMapper.html":{}},"body":{"classes/ErrorMapper.html":{},"classes/RpcMessageProducer.html":{}}}],["errormapper.maprpcerrorresponsetodomainerror(error",{"_index":19276,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["errormessage",{"_index":1616,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"injectables/VideoConferenceCreateUc.html":{}}}],["errormessages",{"_index":9890,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["errormodule",{"_index":7403,"title":{"modules/ErrorModule.html":{}},"body":{"modules/CoreModule.html":{},"injectables/ErrorLogger.html":{},"modules/ErrorModule.html":{}}}],["errorobj",{"_index":9941,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["errorobj.status",{"_index":9943,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["errorresponse",{"_index":1367,"title":{"classes/ErrorResponse.html":{}},"body":{"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AuthorizationError.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorResponse.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/GlobalErrorFilter.html":{},"controllers/GroupController.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["errorresponse(type",{"_index":12614,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["errorresponse:10",{"_index":1394,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["errorresponse:15",{"_index":1391,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["errorresponse:20",{"_index":1389,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["errorresponse:25",{"_index":1386,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["errorresponse:30",{"_index":1387,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["errorresponse})@apiresponse({status",{"_index":12716,"title":{},"body":{"controllers/GroupController.html":{}}}],["errorresponse})@get('/class",{"_index":12718,"title":{},"body":{"controllers/GroupController.html":{}}}],["errors",{"_index":1381,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"injectables/AuthenticationService.html":{},"classes/BusinessError.html":{},"classes/ErrorResponse.html":{},"classes/GlobalValidationPipe.html":{},"injectables/TaskCopyUC.html":{},"classes/ValidationErrorDetailResponse.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["errors/ldap",{"_index":15041,"title":{},"body":{"injectables/LdapService.html":{}}}],["errorstatus",{"_index":24121,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["errorstatus.guests_cannot_join_conference",{"_index":24253,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["errortype",{"_index":1084,"title":{"interfaces/ErrorType.html":{}},"body":{"interfaces/AdminIdAndToken.html":{},"classes/BusinessError.html":{},"interfaces/ErrorType.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"injectables/PreviewService.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["errorutils",{"_index":1313,"title":{"classes/ErrorUtils.html":{}},"body":{"injectables/AntivirusService.html":{},"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"injectables/DeletionClient.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorMapper.html":{},"classes/ErrorUtils.html":{},"classes/GlobalErrorFilter.html":{},"injectables/LdapService.html":{},"injectables/S3ClientAdapter.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{}}}],["errorutils.createhttpexceptionoptions(err",{"_index":1330,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/DeletionClient.html":{},"injectables/LdapService.html":{},"injectables/S3ClientAdapter.html":{}}}],["errorutils.createhttpexceptionoptions(error",{"_index":2406,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["errorutils.createhttpexceptionoptions(errorobj",{"_index":9948,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["errorutils.isbusinesserror(error",{"_index":12607,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["errorutils.isbusinesserror(this.error",{"_index":9886,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["errorutils.isfeatherserror(error",{"_index":12605,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["errorutils.isfeatherserror(this.error",{"_index":9884,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["errorutils.isnesthttpexception(error",{"_index":12609,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["errorutils.isnesthttpexception(this.error",{"_index":9887,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["erweitern",{"_index":5491,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["erwin",{"_index":25310,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["erwinidm",{"_index":25311,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["es",{"_index":23165,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["es256",{"_index":1576,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["es384",{"_index":1577,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["es512",{"_index":1578,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["es6",{"_index":24497,"title":{},"body":{"dependencies.html":{}}}],["escape",{"_index":16402,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["escaped",{"_index":5335,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["escapedclasses",{"_index":14160,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["escapedfirstname",{"_index":14144,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["escapedlastname",{"_index":14152,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["escapedloginname",{"_index":14155,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["escapedname",{"_index":23837,"title":{},"body":{"injectables/UserRepo.html":{}}}],["escapedusername",{"_index":797,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["escapes",{"_index":792,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["eslint",{"_index":1086,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ConsoleWriterService.html":{},"entities/CourseNews.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ErrorLoggable.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GlobalErrorFilter.html":{},"modules/H5PEditorModule.html":{},"injectables/HydraOauthUc.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/JwtExtractor.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LegacySystemRepo.html":{},"controllers/LoginController.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsUc.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"entities/SchoolNews.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"entities/TeamNews.html":{},"classes/TestBootstrapConsole.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawModule.html":{},"classes/TldrawWs.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application.html":{}}}],["eslint/ban",{"_index":22278,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"injectables/UserRepo.html":{}}}],["eslint/dot",{"_index":2605,"title":{},"body":{"classes/BaseFactory.html":{}}}],["eslint/no",{"_index":1090,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"interfaces/CollectionFilePath.html":{},"entities/CourseNews.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ErrorLoggable.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FilesStorageConsumer.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/JwtExtractor.html":{},"injectables/JwtValidationAdapter.html":{},"controllers/LoginController.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"classes/TestBootstrapConsole.html":{},"injectables/TldrawBoardRepo.html":{},"classes/TldrawWs.html":{},"injectables/UserRepo.html":{}}}],["eslint/restrict",{"_index":1166,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/ErrorLoggable.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"injectables/LegacySystemRepo.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["eslintrc.js",{"_index":25380,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["especially",{"_index":25510,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["essential",{"_index":24782,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["etag",{"_index":7252,"title":{},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5pFileDto.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/PreviewFileParams.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"classes/TestHelper.html":{}}}],["etc",{"_index":24602,"title":{},"body":{"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["etherpad",{"_index":6156,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/EtherpadService.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["etherpadservice",{"_index":9985,"title":{"injectables/EtherpadService.html":{}},"body":{"injectables/EtherpadService.html":{},"modules/LessonModule.html":{}}}],["evaluate",{"_index":25624,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["evaluated",{"_index":25625,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["evans",{"_index":25640,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["even",{"_index":24641,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["event",{"_index":4258,"title":{},"body":{"injectables/CalendarMapper.html":{},"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{},"license.html":{}}}],["event.data[0",{"_index":4263,"title":{},"body":{"injectables/CalendarMapper.html":{}}}],["event.dto",{"_index":4262,"title":{},"body":{"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{}}}],["event.dto.ts",{"_index":4247,"title":{},"body":{"classes/CalendarEventDto.html":{}}}],["event.dto.ts:2",{"_index":4250,"title":{},"body":{"classes/CalendarEventDto.html":{}}}],["event.dto.ts:4",{"_index":4249,"title":{},"body":{"classes/CalendarEventDto.html":{}}}],["event.interface",{"_index":4260,"title":{},"body":{"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{}}}],["event.interface.ts",{"_index":4241,"title":{},"body":{"interfaces/CalendarEvent.html":{}}}],["eventid",{"_index":4280,"title":{},"body":{"injectables/CalendarService.html":{}}}],["events",{"_index":4909,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"injectables/TldrawWsService.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["everyattendeejoinsmuted",{"_index":9544,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{}}}],["everyattendejoinsmuted",{"_index":23988,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{},"injectables/VideoConferenceRepo.html":{}}}],["everybodyjoinsasmoderator",{"_index":9545,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{}}}],["everyone",{"_index":24656,"title":{},"body":{"license.html":{}}}],["everything",{"_index":25989,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["exact",{"_index":13804,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["exactly",{"_index":23731,"title":{},"body":{"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["exactmatch",{"_index":753,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["example",{"_index":2614,"title":{},"body":{"injectables/BaseRepo.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["example'example",{"_index":25900,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["exampleapimodule",{"_index":25500,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["examplecolor",{"_index":8465,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["examplecontroller",{"_index":25499,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["examplemodule",{"_index":25490,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["examples",{"_index":25980,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["exampleuc",{"_index":25498,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["exceeded",{"_index":10419,"title":{},"body":{"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"injectables/HydraOauthUc.html":{}}}],["except",{"_index":16403,"title":{},"body":{"classes/MongoPatterns.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["exception",{"_index":1472,"title":{"additional-documentation/nestjs-application/exception-handling.html":{}},"body":{"classes/AuthCodeFailureLoggableException.html":{},"injectables/ClassesRepo.html":{},"injectables/ColumnBoardService.html":{},"modules/ErrorModule.html":{},"injectables/FeathersRosterService.html":{},"classes/GlobalErrorFilter.html":{},"injectables/GroupService.html":{},"classes/GuardAgainst.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{},"classes/OauthConfigMissingLoggableException.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PseudonymUc.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SystemUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["exception.constructor.name.replace('loggable",{"_index":12620,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["exception.getstatus",{"_index":12617,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["exception.loggable",{"_index":13714,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["exception.loggable.ts",{"_index":13682,"title":{},"body":{"classes/IdTokenCreationLoggableException.html":{}}}],["exception.loggable.ts:4",{"_index":13683,"title":{},"body":{"classes/IdTokenCreationLoggableException.html":{}}}],["exception.loggable.ts:9",{"_index":13684,"title":{},"body":{"classes/IdTokenCreationLoggableException.html":{}}}],["exception.message",{"_index":12618,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["exception.ts",{"_index":1462,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenLoggableException.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NotFoundLoggableException.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/ValidationErrorLoggableException.html":{}}}],["exception.ts:10",{"_index":14221,"title":{},"body":{"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{}}}],["exception.ts:11",{"_index":23972,"title":{},"body":{"classes/ValidationErrorLoggableException.html":{}}}],["exception.ts:14",{"_index":16825,"title":{},"body":{"classes/NotFoundLoggableException.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{}}}],["exception.ts:15",{"_index":23092,"title":{},"body":{"classes/ToolStatusOutdatedLoggableException.html":{}}}],["exception.ts:16",{"_index":12409,"title":{},"body":{"classes/ForbiddenLoggableException.html":{}}}],["exception.ts:17",{"_index":10343,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{}}}],["exception.ts:18",{"_index":22594,"title":{},"body":{"classes/TooManyPseudonymsLoggableException.html":{}}}],["exception.ts:19",{"_index":19948,"title":{},"body":{"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{}}}],["exception.ts:20",{"_index":10421,"title":{},"body":{"classes/ExternalToolLogoSizeExceededLoggableException.html":{}}}],["exception.ts:21",{"_index":20037,"title":{},"body":{"classes/SchoolNumberMismatchLoggableException.html":{}}}],["exception.ts:26",{"_index":16370,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["exception.ts:4",{"_index":1465,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/TokenRequestLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{}}}],["exception.ts:5",{"_index":10342,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/NotFoundLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["exception.ts:6",{"_index":22593,"title":{},"body":{"classes/TooManyPseudonymsLoggableException.html":{},"classes/ValidationErrorLoggableException.html":{}}}],["exception.ts:7",{"_index":12408,"title":{},"body":{"classes/ForbiddenLoggableException.html":{},"classes/MissingToolParameterValueLoggableException.html":{}}}],["exception.ts:9",{"_index":10045,"title":{},"body":{"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{}}}],["exception/not",{"_index":16819,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["exception/validation",{"_index":23970,"title":{},"body":{"classes/ValidationErrorLoggableException.html":{}}}],["exceptionfactory",{"_index":1247,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/GlobalValidationPipe.html":{}}}],["exceptionfactory(validationresult",{"_index":1249,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["exceptionfilter",{"_index":12562,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["exceptionname",{"_index":12619,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["exceptions",{"_index":24976,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["exceptionshandler",{"_index":20819,"title":{},"body":{"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["exchange",{"_index":1272,"title":{},"body":{"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewProducer.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RpcMessageProducer.html":{},"interfaces/ScanResult.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["exchanges",{"_index":18366,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["excluded",{"_index":24928,"title":{},"body":{"license.html":{}}}],["excludedraftsofothers",{"_index":21723,"title":{},"body":{"classes/TaskScope.html":{}}}],["excludedraftsofothers(creatorid",{"_index":21739,"title":{},"body":{"classes/TaskScope.html":{}}}],["excludeunavailableofothers",{"_index":21724,"title":{},"body":{"classes/TaskScope.html":{}}}],["excludeunavailableofothers(creatorid",{"_index":21741,"title":{},"body":{"classes/TaskScope.html":{}}}],["excluding",{"_index":25122,"title":{},"body":{"license.html":{}}}],["exclusion",{"_index":25205,"title":{},"body":{"license.html":{}}}],["exclusive",{"_index":25081,"title":{},"body":{"license.html":{}}}],["exclusively",{"_index":20292,"title":{},"body":{"classes/ShareTokenBodyParams.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["excuse",{"_index":25129,"title":{},"body":{"license.html":{}}}],["exec",{"_index":25911,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["executable",{"_index":24778,"title":{},"body":{"license.html":{}}}],["execute",{"_index":9126,"title":{},"body":{"controllers/DeletionExecutionsController.html":{},"classes/TestBootstrapConsole.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["executed",{"_index":9353,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["executedeletions",{"_index":9005,"title":{},"body":{"injectables/DeletionClient.html":{},"controllers/DeletionExecutionsController.html":{}}}],["executedeletions(@query",{"_index":9135,"title":{},"body":{"controllers/DeletionExecutionsController.html":{}}}],["executedeletions(deletionexecutionquery",{"_index":9124,"title":{},"body":{"controllers/DeletionExecutionsController.html":{}}}],["executedeletions(limit",{"_index":9010,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["executes",{"_index":25334,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["executing",{"_index":24744,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["execution",{"_index":2891,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/TimeoutInterceptor.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["execution(s",{"_index":9084,"title":{},"body":{"classes/DeletionExecutionConsole.html":{}}}],["execution.console",{"_index":9073,"title":{},"body":{"modules/DeletionConsoleModule.html":{}}}],["execution.console.ts",{"_index":9075,"title":{},"body":{"classes/DeletionExecutionConsole.html":{}}}],["execution.console.ts:22",{"_index":9081,"title":{},"body":{"classes/DeletionExecutionConsole.html":{}}}],["execution.console.ts:8",{"_index":9077,"title":{},"body":{"classes/DeletionExecutionConsole.html":{}}}],["execution.id",{"_index":14576,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["execution.params.ts",{"_index":9095,"title":{},"body":{"classes/DeletionExecutionParams.html":{}}}],["execution.params.ts:9",{"_index":9097,"title":{},"body":{"classes/DeletionExecutionParams.html":{}}}],["execution.uc.ts",{"_index":9116,"title":{},"body":{"injectables/DeletionExecutionUc.html":{}}}],["execution.uc.ts:5",{"_index":9117,"title":{},"body":{"injectables/DeletionExecutionUc.html":{}}}],["execution.uc.ts:8",{"_index":9119,"title":{},"body":{"injectables/DeletionExecutionUc.html":{}}}],["executioncontext",{"_index":9748,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["executionprovider",{"_index":14575,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["executionproviders",{"_index":14553,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["executions",{"_index":9086,"title":{},"body":{"classes/DeletionExecutionConsole.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["executions.controller",{"_index":8992,"title":{},"body":{"modules/DeletionApiModule.html":{}}}],["executions.controller.ts",{"_index":9122,"title":{},"body":{"controllers/DeletionExecutionsController.html":{}}}],["executions.controller.ts:21",{"_index":9128,"title":{},"body":{"controllers/DeletionExecutionsController.html":{}}}],["executiontimemilliseconds",{"_index":2840,"title":{},"body":{"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{}}}],["exercise",{"_index":25058,"title":{},"body":{"license.html":{}}}],["exercising",{"_index":24841,"title":{},"body":{"license.html":{}}}],["exist",{"_index":1563,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/BoardManagementUc.html":{},"injectables/ExternalToolService.html":{},"injectables/FileSystemAdapter.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"controllers/SystemController.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TldrawWsService.html":{},"controllers/UserLoginMigrationController.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["existing",{"_index":3071,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ContentElementUpdateVisitor.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/DashboardModelMapper.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/FileSystemAdapter.html":{},"classes/IdentityManagementService.html":{},"modules/ImportUserModule.html":{},"interfaces/JwtConstants.html":{},"injectables/NextcloudStrategy.html":{},"interfaces/Options.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/S3ClientAdapter.html":{},"classes/UpdateNewsParams.html":{},"controllers/VideoConferenceController.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["existingaccountid",{"_index":14842,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["existingaccounts",{"_index":14839,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["existingaccounts.length",{"_index":14840,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["existingaccounts[0].id",{"_index":14841,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["existingcourses",{"_index":7635,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["existingcourses.map((course",{"_index":7637,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["existingelements",{"_index":2953,"title":{},"body":{"entities/Board.html":{}}}],["existingentities",{"_index":4825,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["existingentities.find((entity",{"_index":4828,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["existingentities.foreach((entity",{"_index":4832,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["existingentities.length",{"_index":4827,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["existingentity",{"_index":2490,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/GroupRepo.html":{}}}],["existinggroup",{"_index":17656,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinggroup.externalsource?.systemid",{"_index":17688,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinggroup?.id",{"_index":17659,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinggroup?.users",{"_index":17664,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinggroupfromsystem.externalsource?.externalid",{"_index":17693,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinggroupsofuser",{"_index":17684,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinggroupsofuser.filter",{"_index":17687,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinglessons",{"_index":15437,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["existinglessons.map((l",{"_index":15439,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["existingmatch",{"_index":23832,"title":{},"body":{"injectables/UserRepo.html":{}}}],["existingnames",{"_index":7334,"title":{},"body":{"injectables/CopyHelperService.html":{},"injectables/CourseCopyService.html":{},"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["existingnames.includes(composedname",{"_index":7356,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["existingnames.includes(name",{"_index":7349,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["existingrooms",{"_index":8503,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["existingrooms.includes(room",{"_index":8506,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["existingschool",{"_index":17613,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"injectables/SchoolMigrationService.html":{}}}],["existingschool.id",{"_index":17654,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existingschool.officialschoolnumber",{"_index":17619,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existingtargets",{"_index":5565,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["existingtargets.find((item",{"_index":5571,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["existingtasks",{"_index":21506,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["existingtasks.map((t",{"_index":21508,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["existinguser",{"_index":16891,"title":{},"body":{"injectables/OAuthService.html":{},"injectables/OidcProvisioningService.html":{}}}],["existinguser.birthday",{"_index":17646,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinguser.email",{"_index":17640,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinguser.firstname",{"_index":17636,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinguser.lastname",{"_index":17638,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinguser.roles",{"_index":17642,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["existinguser.schoolid",{"_index":17643,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["exists",{"_index":3078,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/CollectionFilePath.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/FileSystemAdapter.html":{},"classes/IdentityManagementService.html":{},"injectables/JwtStrategy.html":{},"injectables/TemporaryFileStorage.html":{},"classes/UserScope.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["existsone",{"_index":13095,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["existsone(contentid",{"_index":13099,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["existssync",{"_index":12072,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["existssync(folderpath",{"_index":12080,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["exitonerror",{"_index":15749,"title":{},"body":{"modules/LoggerModule.html":{}}}],["exp",{"_index":7991,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"classes/JwtTestFactory.html":{}}}],["expect",{"_index":25472,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["expect(code).to",{"_index":25732,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expect(dosomethingcrazy(x,y,z)).to",{"_index":25713,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expect(dosomethingcrazysync(wrong",{"_index":25735,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expect(mockservice.getuser).tohavebeencalled",{"_index":25778,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expect(result).to",{"_index":25716,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expect(result).toequal(resultuser",{"_index":25779,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expectation",{"_index":25705,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expected",{"_index":2899,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/DeletionClient.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"injectables/TemporaryFileStorage.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["expecting",{"_index":25721,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["expects",{"_index":24941,"title":{},"body":{"license.html":{}}}],["expensive",{"_index":21683,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["expert",{"_index":25987,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["expiration",{"_index":8003,"title":{},"body":{"interfaces/CreateJwtPayload.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtValidationAdapter.html":{}}}],["expirationtime",{"_index":22087,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["expire",{"_index":20285,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["expireafterseconds",{"_index":9180,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["expired",{"_index":13400,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{},"injectables/TemporaryFileStorage.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["expires",{"_index":11923,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["expiresat",{"_index":210,"title":{},"body":{"entities/Account.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{}}}],["expiresin",{"_index":1591,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/JwtConstants.html":{}}}],["expiresindays",{"_index":20282,"title":{},"body":{"classes/ShareTokenBodyParams.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{}}}],["explains",{"_index":25857,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["explanation",{"_index":25979,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["explicit",{"_index":2134,"title":{},"body":{"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["explicitly",{"_index":1097,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["export",{"_index":101,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"modules/AccountApiModule.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"interfaces/AccountConfig.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthCodeFailureLoggableException.html":{},"modules/AuthenticationApiModule.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"modules/AuthorizationModule.html":{},"classes/AuthorizationParams.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"modules/BoardApiModule.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"modules/ClassModule.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"modules/CoreModule.html":{},"interfaces/CoreModuleConfig.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"modules/ErrorModule.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FeathersError.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{},"classes/FileUrlParams.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"modules/GroupModule.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"interfaces/IdentityManagementConfig.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/InterceptorConfig.html":{},"modules/InterceptorModule.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"injectables/JwtAuthGuard.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Learnroom.html":{},"modules/LearnroomApiModule.html":{},"interfaces/LearnroomElement.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/LessonApiModule.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"modules/LessonModule.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"modules/NewsModule.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthApiModule.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"classes/ProvisioningDto.html":{},"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"modules/PseudonymModule.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"modules/RocketChatUserModule.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"modules/RoleModule.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"modules/TaskApiModule.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"modules/TaskModule.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawClientModule.html":{},"interfaces/TldrawConfig.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"interfaces/ToolVersion.html":{},"injectables/ToolVersionService.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"modules/UserApiModule.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"modules/ValidationModule.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["export.service",{"_index":7688,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["export.service.ts",{"_index":5683,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.service.ts:146",{"_index":5708,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.service.ts:154",{"_index":5711,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.service.ts:19",{"_index":5692,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.service.ts:26",{"_index":5701,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.service.ts:42",{"_index":5697,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.service.ts:71",{"_index":5699,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.service.ts:91",{"_index":5704,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["export.uc",{"_index":7589,"title":{},"body":{"controllers/CourseController.html":{}}}],["export.uc.ts",{"_index":7682,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["export.uc.ts:10",{"_index":7684,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["export.uc.ts:16",{"_index":7686,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["exportcollection",{"_index":8798,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["exportcollection(@param('collectionname",{"_index":8821,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["exportcollection(collectionname",{"_index":8801,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["exportcollections",{"_index":8768,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{}}}],["exportcollections(options",{"_index":8771,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["exportcollectionstofilesystem(collections",{"_index":5280,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["exportcourse",{"_index":5686,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"controllers/CourseController.html":{},"injectables/CourseExportUc.html":{}}}],["exportcourse(courseid",{"_index":5700,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"injectables/CourseExportUc.html":{}}}],["exportcourse(currentuser",{"_index":7574,"title":{},"body":{"controllers/CourseController.html":{}}}],["exported",{"_index":5257,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["exportedcollections",{"_index":5284,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["exportedcollections.push(`${collectionname}:${sortedbsondocuments.length",{"_index":5299,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["exporting",{"_index":25326,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["exports",{"_index":260,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AntivirusModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"interfaces/CollectionFilePath.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"modules/DatabaseManagementModule.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FeathersModule.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolModule.html":{},"modules/LessonApiModule.html":{},"modules/LessonModule.html":{},"modules/LoggerModule.html":{},"modules/LtiToolModule.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/NewsModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/OauthProviderServiceModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"modules/PseudonymModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/RedisModule.html":{},"modules/RegistrationPinModule.html":{},"modules/RocketChatModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/S3ClientModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["expose",{"_index":20700,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"injectables/TaskCopyUC.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["exposed",{"_index":6248,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["exposes",{"_index":25614,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["express",{"_index":7584,"title":{},"body":{"controllers/CourseController.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"controllers/FileSecurityController.html":{},"controllers/FwuLearningContentsController.html":{},"classes/GlobalErrorFilter.html":{},"controllers/H5PEditorController.html":{},"classes/JwtExtractor.html":{},"controllers/OauthSSOController.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResponseInfo.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"controllers/ToolController.html":{},"controllers/VideoConferenceController.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["express.multer.file",{"_index":13209,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["expressed",{"_index":25160,"title":{},"body":{"license.html":{}}}],["expressions",{"_index":809,"title":{},"body":{"injectables/AccountRepo.html":{},"interfaces/AdminIdAndToken.html":{},"classes/ErrorLoggable.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"injectables/LegacySystemRepo.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["expressly",{"_index":25009,"title":{},"body":{"license.html":{}}}],["ext",{"_index":14204,"title":{},"body":{"interfaces/IntrospectResponse.html":{},"classes/ReadableStreamWithFileTypeImp.html":{}}}],["extend",{"_index":525,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/GlobalValidationPipe.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"injectables/JwtStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UpdateNewsParams.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["extendability",{"_index":25411,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["extended",{"_index":4167,"title":{},"body":{"injectables/BsonConverter.html":{},"injectables/FileSystemAdapter.html":{},"injectables/JwtValidationAdapter.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["extending",{"_index":20573,"title":{},"body":{"classes/SortingParams.html":{}}}],["extends",{"_index":231,"title":{},"body":{"entities/Account.html":{},"classes/AccountDto.html":{},"classes/AccountFactory.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AdminIdAndToken.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthorizationError.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"entities/Board.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"entities/BoardElement.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardRepo.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/Card.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassInfoSearchListResponse.html":{},"interfaces/ClassProps.html":{},"classes/ClassSortParams.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"entities/ColumnBoardTarget.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"injectables/ColumnUc.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolScope.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"interfaces/CoreModuleConfig.html":{},"classes/County.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseUrlHandler.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterFactory.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestProps.html":{},"classes/DeletionRequestScope.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/ElementContentBody.html":{},"injectables/ElementUc.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"interfaces/FeathersError.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"classes/FileContentBody.html":{},"classes/FileElement.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FilesRepo.html":{},"injectables/FilesStorageProducer.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/GlobalValidationPipe.html":{},"classes/Group.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/GroupProps.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/ITask.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtAuthGuard.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"entities/LessonBoardElement.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"classes/LessonScope.html":{},"injectables/LessonUrlHandler.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"injectables/LocalStrategy.html":{},"classes/LoginRequestBody.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthLoginResponse.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"interfaces/PlainTextMailContent.html":{},"injectables/PreviewProducer.html":{},"classes/Pseudonym.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymScope.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"interfaces/RocketChatUserProps.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"injectables/RoleRepo.html":{},"interfaces/RpcMessage.html":{},"injectables/SanisProvisioningStrategy.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"interfaces/ServerConfig.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemUc.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"classes/System.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/SystemProps.html":{},"classes/SystemScope.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"interfaces/TaskCreate.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"classes/TestBootstrapConsole.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorLoggableException.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"injectables/VideoConferenceRepo.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["extension",{"_index":11638,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["extensions",{"_index":24876,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["extent",{"_index":24761,"title":{},"body":{"license.html":{}}}],["external",{"_index":614,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"interfaces/BoardExternalReference.html":{},"modules/BoardModule.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/CollaborativeStorageAdapter.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersRosterService.html":{},"classes/GroupResponse.html":{},"interfaces/ICurrentUser.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"injectables/MetaTagExtractorService.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthLoginResponse.html":{},"injectables/OidcProvisioningService.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PseudonymScope.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/ToolApiModule.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"injectables/ToolVersionService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"index.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["external_school_number_missing",{"_index":10046,"title":{},"body":{"classes/ExternalSchoolNumberMissingLoggableException.html":{}}}],["external_sub",{"_index":7966,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/OidcMockProvisioningStrategy.html":{}}}],["external_tool_logo_fetch_failed",{"_index":10344,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{}}}],["external_tool_logo_fetched",{"_index":10350,"title":{},"body":{"classes/ExternalToolLogoFetchedLoggable.html":{}}}],["external_tool_logo_not_found",{"_index":10353,"title":{},"body":{"classes/ExternalToolLogoNotFoundLoggableException.html":{}}}],["external_tool_logo_size_exceeded",{"_index":10422,"title":{},"body":{"classes/ExternalToolLogoSizeExceededLoggableException.html":{}}}],["external_tool_logo_wrong_file_type",{"_index":10424,"title":{},"body":{"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{}}}],["externalauthconfig",{"_index":14304,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["externalgroup",{"_index":17595,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{}}}],["externalgroup.externalid",{"_index":17658,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.from",{"_index":17662,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.name",{"_index":17660,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.otherusers",{"_index":17665,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.otherusers.map",{"_index":17674,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.otherusers?.length",{"_index":17673,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.type",{"_index":17661,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.until",{"_index":17663,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroup.user.externaluserid",{"_index":17670,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroupdto",{"_index":10001,"title":{"classes/ExternalGroupDto.html":{}},"body":{"classes/ExternalGroupDto.html":{},"classes/OauthDataDto.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["externalgroupid",{"_index":19904,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["externalgroups",{"_index":17130,"title":{},"body":{"classes/OauthDataDto.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["externalgroups.some",{"_index":17692,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroupuser",{"_index":17598,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalgroupuserdto",{"_index":10009,"title":{"classes/ExternalGroupUserDto.html":{}},"body":{"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisResponseMapper.html":{},"classes/UserForGroupNotFoundLoggable.html":{}}}],["externalid",{"_index":704,"title":{},"body":{"interfaces/AccountParams.html":{},"entities/CourseNews.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalUserDto.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"injectables/GroupService.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"interfaces/ImportUserProperties.html":{},"classes/IservMapper.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisResponseMapper.html":{},"entities/SchoolEntity.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/TeamNews.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDto.html":{},"classes/UserMapper.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["externalidtoken",{"_index":8057,"title":{},"body":{"classes/CurrentUserMapper.html":{},"classes/LoginResponseMapper.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthLoginResponse.html":{}}}],["externalorganizationid",{"_index":19906,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["externalrolename",{"_index":12924,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["externalschool",{"_index":14280,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"classes/OauthDataDto.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["externalschool.externalid",{"_index":17615,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalschool.location",{"_index":17627,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalschool.name",{"_index":17628,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalschool.officialschoolnumber",{"_index":17618,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externalschooldto",{"_index":10031,"title":{"classes/ExternalSchoolDto.html":{}},"body":{"classes/ExternalSchoolDto.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/OauthDataDto.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["externalschoolid",{"_index":10044,"title":{},"body":{"classes/ExternalSchoolNumberMissingLoggableException.html":{},"injectables/LdapStrategy.html":{}}}],["externalschoolnumbermissingloggableexception",{"_index":10040,"title":{"classes/ExternalSchoolNumberMissingLoggableException.html":{}},"body":{"classes/ExternalSchoolNumberMissingLoggableException.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["externalschoolnumbermissingloggableexception(data.externalschool.externalid",{"_index":23713,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["externalsource",{"_index":10049,"title":{"classes/ExternalSource.html":{}},"body":{"classes/ExternalSource.html":{},"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{},"injectables/OidcProvisioningService.html":{},"classes/ResolvedGroupDto.html":{}}}],["externalsource.externalid",{"_index":12792,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["externalsource.systemid",{"_index":12794,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["externalsourceentity",{"_index":10054,"title":{"classes/ExternalSourceEntity.html":{}},"body":{"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["externalsourceentityprops",{"_index":10057,"title":{"interfaces/ExternalSourceEntityProps.html":{}},"body":{"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{}}}],["externalsourcename",{"_index":4665,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{}}}],["externalsourceresponse",{"_index":10063,"title":{"classes/ExternalSourceResponse.html":{}},"body":{"classes/ExternalSourceResponse.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{}}}],["externalsub",{"_index":7995,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["externaltool",{"_index":2749,"title":{"classes/ExternalTool.html":{}},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FeathersRosterService.html":{},"injectables/IdTokenService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/PseudonymService.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolController.html":{},"injectables/ToolLaunchService.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolVersionService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["externaltool'})@httpcode(httpstatus.no_content",{"_index":22758,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltool.config",{"_index":10883,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{}}}],["externaltool.config.clientid",{"_index":11105,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["externaltool.config.clientsecret",{"_index":11108,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["externaltool.config.secret",{"_index":10962,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolValidationService.html":{}}}],["externaltool.config.type",{"_index":11101,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["externaltool.id",{"_index":10397,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersRosterService.html":{},"classes/ToolConfigurationMapper.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["externaltool.isbasicconfig(props.config",{"_index":10091,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["externaltool.ishidden",{"_index":10230,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["externaltool.islti11config(externaltool.config",{"_index":10961,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolValidationService.html":{}}}],["externaltool.islti11config(props.config",{"_index":10095,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["externaltool.isoauth2config(externaltool.config",{"_index":10964,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolValidationService.html":{}}}],["externaltool.isoauth2config(loadedtool.config",{"_index":11100,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["externaltool.isoauth2config(props.config",{"_index":10093,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["externaltool.isoauth2config(tool.config",{"_index":10975,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["externaltool.isoauth2config(toupdate.config",{"_index":10990,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["externaltool.logo",{"_index":10392,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolUc.html":{}}}],["externaltool.logourl",{"_index":10215,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolReferenceMapper.html":{}}}],["externaltool.name",{"_index":10515,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/SchoolExternalToolService.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolReferenceMapper.html":{}}}],["externaltool.opennewtab",{"_index":10889,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{},"classes/ToolReferenceMapper.html":{}}}],["externaltool.parameters",{"_index":10169,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ToolConfigurationMapper.html":{}}}],["externaltool.parameters.filter",{"_index":10170,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["externaltool.parameters.foreach((param",{"_index":10517,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["externaltool.restricttocontexts",{"_index":10891,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["externaltool.restricttocontexts.includes(context",{"_index":6056,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["externaltool.restricttocontexts?.length",{"_index":6055,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["externaltool.url",{"_index":10888,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["externaltool.version",{"_index":10890,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolService.html":{},"classes/ToolConfigurationMapper.html":{}}}],["externaltoolconfig",{"_index":2673,"title":{"classes/ExternalToolConfig.html":{}},"body":{"classes/BasicToolConfig.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolUc.html":{},"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["externaltoolconfig:4",{"_index":2677,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["externaltoolconfig:6",{"_index":2675,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfig.html":{}}}],["externaltoolconfigcreateparams",{"_index":2693,"title":{"classes/ExternalToolConfigCreateParams.html":{}},"body":{"classes/BasicToolConfigParams.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["externaltoolconfigcreateparams:13",{"_index":2695,"title":{},"body":{"classes/BasicToolConfigParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["externaltoolconfigcreateparams:9",{"_index":2697,"title":{},"body":{"classes/BasicToolConfigParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["externaltoolconfigdo",{"_index":10874,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["externaltoolconfigentity",{"_index":2686,"title":{"classes/ExternalToolConfigEntity.html":{}},"body":{"classes/BasicToolConfigEntity.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Oauth2ToolConfigEntity.html":{}}}],["externaltoolconfigparams",{"_index":10761,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolconfigresponse",{"_index":2703,"title":{"classes/ExternalToolConfigResponse.html":{}},"body":{"classes/BasicToolConfigResponse.html":{},"classes/ExternalToolConfigResponse.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["externaltoolconfigresponse:10",{"_index":2705,"title":{},"body":{"classes/BasicToolConfigResponse.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["externaltoolconfigresponse:7",{"_index":2706,"title":{},"body":{"classes/BasicToolConfigResponse.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["externaltoolconfigurationservice",{"_index":10113,"title":{"injectables/ExternalToolConfigurationService.html":{}},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"modules/ExternalToolModule.html":{},"modules/ToolApiModule.html":{}}}],["externaltoolconfigurationuc",{"_index":10174,"title":{"injectables/ExternalToolConfigurationUc.html":{}},"body":{"injectables/ExternalToolConfigurationUc.html":{},"modules/ToolApiModule.html":{},"controllers/ToolConfigurationController.html":{}}}],["externaltoolcontentbody",{"_index":6446,"title":{"classes/ExternalToolContentBody.html":{}},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["externaltoolcreate",{"_index":10755,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["externaltoolcreateparams",{"_index":10235,"title":{"classes/ExternalToolCreateParams.html":{}},"body":{"classes/ExternalToolCreateParams.html":{},"injectables/ExternalToolRequestMapper.html":{},"controllers/ToolController.html":{}}}],["externaltoolcreateparams.config",{"_index":10821,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolcreateparams.ishidden",{"_index":10829,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolcreateparams.logourl",{"_index":10828,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolcreateparams.name",{"_index":10826,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolcreateparams.opennewtab",{"_index":10830,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolcreateparams.parameters",{"_index":10825,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolcreateparams.restricttocontexts",{"_index":10831,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolcreateparams.url",{"_index":10827,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltooldomapper",{"_index":22781,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolelement",{"_index":3106,"title":{"classes/ExternalToolElement.html":{}},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["externaltoolelement.contextexternaltoolid",{"_index":6490,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["externaltoolelement.id",{"_index":18587,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["externaltoolelementcontent",{"_index":10266,"title":{"classes/ExternalToolElementContent.html":{}},"body":{"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{}}}],["externaltoolelementcontentbody",{"_index":9577,"title":{"classes/ExternalToolElementContentBody.html":{}},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["externaltoolelementnodeentity",{"_index":3455,"title":{"entities/ExternalToolElementNodeEntity.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["externaltoolelementnodeentityprops",{"_index":10277,"title":{"interfaces/ExternalToolElementNodeEntityProps.html":{}},"body":{"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["externaltoolelementprops",{"_index":10264,"title":{"interfaces/ExternalToolElementProps.html":{}},"body":{"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{}}}],["externaltoolelementresponse",{"_index":4357,"title":{"classes/ExternalToolElementResponse.html":{}},"body":{"controllers/CardController.html":{},"classes/CardResponse.html":{},"controllers/ElementController.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{}}}],["externaltoolelementresponsemapper",{"_index":6381,"title":{"classes/ExternalToolElementResponseMapper.html":{}},"body":{"classes/ContentElementResponseFactory.html":{},"classes/ExternalToolElementResponseMapper.html":{}}}],["externaltoolelementresponsemapper.getinstance",{"_index":6371,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["externaltoolelementresponsemapper.instance",{"_index":10283,"title":{},"body":{"classes/ExternalToolElementResponseMapper.html":{}}}],["externaltoolentity",{"_index":10285,"title":{"entities/ExternalToolEntity.html":{}},"body":{"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSortingMapper.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["externaltoolentityfactory",{"_index":10304,"title":{"classes/ExternalToolEntityFactory.html":{}},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["externaltoolentityfactory.define",{"_index":10323,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["externaltoolfactory",{"_index":8288,"title":{"classes/ExternalToolFactory.html":{}},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["externaltoolfactory.define(externaltool",{"_index":8299,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["externaltoolid",{"_index":6680,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"injectables/FeathersRosterService.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/ToolConfigurationMapper.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["externaltoolidparams",{"_index":10331,"title":{"classes/ExternalToolIdParams.html":{}},"body":{"classes/ExternalToolIdParams.html":{},"controllers/ToolController.html":{}}}],["externaltoollogo",{"_index":10332,"title":{"classes/ExternalToolLogo.html":{}},"body":{"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoService.html":{},"controllers/ToolController.html":{}}}],["externaltoollogo.contenttype",{"_index":10338,"title":{},"body":{"classes/ExternalToolLogo.html":{},"controllers/ToolController.html":{}}}],["externaltoollogo.logo",{"_index":10337,"title":{},"body":{"classes/ExternalToolLogo.html":{}}}],["externaltoollogofetchedloggable",{"_index":10347,"title":{"classes/ExternalToolLogoFetchedLoggable.html":{}},"body":{"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoService.html":{}}}],["externaltoollogofetchedloggable(logourl",{"_index":10404,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["externaltoollogofetchfailedloggableexception",{"_index":10339,"title":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{}},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoService.html":{}}}],["externaltoollogofetchfailedloggableexception(logourl",{"_index":10408,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["externaltoollogonotfoundloggableexception",{"_index":10351,"title":{"classes/ExternalToolLogoNotFoundLoggableException.html":{}},"body":{"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{}}}],["externaltoollogonotfoundloggableexception(toolid",{"_index":10412,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["externaltoollogoservice",{"_index":10184,"title":{"classes/ExternalToolLogoService.html":{}},"body":{"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"controllers/ToolController.html":{},"injectables/ToolReferenceService.html":{}}}],["externaltoollogosizeexceededloggableexception",{"_index":10377,"title":{"classes/ExternalToolLogoSizeExceededLoggableException.html":{}},"body":{"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{}}}],["externaltoollogowrongfiletypeloggableexception",{"_index":10378,"title":{"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{}},"body":{"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{}}}],["externaltoolmetadata",{"_index":10427,"title":{"classes/ExternalToolMetadata.html":{}},"body":{"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["externaltoolmetadata.contextexternaltoolcountpercontext",{"_index":10437,"title":{},"body":{"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{}}}],["externaltoolmetadata.schoolexternaltoolcount",{"_index":10435,"title":{},"body":{"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{}}}],["externaltoolmetadatamapper",{"_index":10438,"title":{"classes/ExternalToolMetadataMapper.html":{}},"body":{"classes/ExternalToolMetadataMapper.html":{},"modules/ExternalToolModule.html":{},"controllers/ToolController.html":{}}}],["externaltoolmetadatamapper.maptoexternaltoolmetadataresponse(externaltoolmetadata",{"_index":22813,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolmetadataresponse",{"_index":10444,"title":{"classes/ExternalToolMetadataResponse.html":{}},"body":{"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"controllers/ToolController.html":{}}}],["externaltoolmetadataresponse.contextexternaltoolcountpercontext",{"_index":10451,"title":{},"body":{"classes/ExternalToolMetadataResponse.html":{}}}],["externaltoolmetadataresponse.schoolexternaltoolcount",{"_index":10450,"title":{},"body":{"classes/ExternalToolMetadataResponse.html":{}}}],["externaltoolmetadataresponse})@apiunauthorizedresponse({description",{"_index":22774,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolmetadataservice",{"_index":10452,"title":{"injectables/ExternalToolMetadataService.html":{}},"body":{"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolUc.html":{}}}],["externaltoolmodule",{"_index":6762,"title":{"modules/ExternalToolModule.html":{}},"body":{"modules/ContextExternalToolModule.html":{},"modules/ExternalToolModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{}}}],["externaltoolname",{"_index":18843,"title":{},"body":{"classes/RestrictedContextMismatchLoggable.html":{}}}],["externaltoolparametervalidationservice",{"_index":10477,"title":{"injectables/ExternalToolParameterValidationService.html":{}},"body":{"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{}}}],["externaltoolparams",{"_index":22750,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolprops",{"_index":8250,"title":{"interfaces/ExternalToolProps.html":{}},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolFactory.html":{},"interfaces/ExternalToolProps.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["externaltoolpseudonymentity",{"_index":10554,"title":{"entities/ExternalToolPseudonymEntity.html":{}},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/FeathersRosterService.html":{},"classes/PseudonymScope.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["externaltoolpseudonymentity(entityprops",{"_index":10610,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["externaltoolpseudonymentityprops",{"_index":10562,"title":{"interfaces/ExternalToolPseudonymEntityProps.html":{}},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{}}}],["externaltoolpseudonympromise",{"_index":18282,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["externaltoolpseudonymrepo",{"_index":10568,"title":{"injectables/ExternalToolPseudonymRepo.html":{}},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"modules/PseudonymModule.html":{},"injectables/PseudonymService.html":{}}}],["externaltoolpseudonyms",{"_index":18270,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["externaltoolrepo",{"_index":10478,"title":{"injectables/ExternalToolRepo.html":{}},"body":{"modules/ExternalToolModule.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{}}}],["externaltoolrepomapper",{"_index":6830,"title":{"classes/ExternalToolRepoMapper.html":{}},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["externaltoolrepomapper.mapcustomparameterentrydostoentities(entitydo.parameters",{"_index":6860,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["externaltoolrepomapper.mapcustomparameterentryentitiestodos(entity.parameters",{"_index":6853,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["externaltoolrepomapper.mapcustomparameterentryentitiestodos(entity.schoolparameters",{"_index":19781,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["externaltoolrepomapper.mapdotoentityproperties(entitydo",{"_index":10657,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["externaltoolrepomapper.mapentitytodo(entity",{"_index":10656,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["externaltoolrequestmapper",{"_index":10742,"title":{"injectables/ExternalToolRequestMapper.html":{}},"body":{"injectables/ExternalToolRequestMapper.html":{},"modules/ToolApiModule.html":{},"controllers/ToolController.html":{}}}],["externaltoolresponse",{"_index":10845,"title":{"classes/ExternalToolResponse.html":{}},"body":{"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolSearchListResponse.html":{},"controllers/ToolController.html":{}}}],["externaltoolresponsemapper",{"_index":10866,"title":{"injectables/ExternalToolResponseMapper.html":{}},"body":{"injectables/ExternalToolResponseMapper.html":{},"modules/ToolApiModule.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolController.html":{}}}],["externaltoolresponsemapper.mapcustomparametertoresponse(externaltool.parameters",{"_index":22686,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["externaltoolresponsemapper.maptoexternaltoolresponse(created",{"_index":22784,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolresponsemapper.maptoexternaltoolresponse(externaltool",{"_index":22796,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolresponsemapper.maptoexternaltoolresponse(tool",{"_index":22791,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolresponsemapper.maptoexternaltoolresponse(updated",{"_index":22800,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolresponse})@apiforbiddenresponse()@apiunauthorizedresponse()@apiresponse({status",{"_index":22778,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolresponse})@apiforbiddenresponse()@apiunprocessableentityresponse()@apiunauthorizedresponse()@apiresponse({status",{"_index":22751,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltools",{"_index":10129,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolController.html":{}}}],["externaltools.data",{"_index":10222,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["externaltools.data.filter((tool",{"_index":10146,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["externaltools.find",{"_index":10158,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["externaltools.map",{"_index":22688,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["externaltools.map((tooldo",{"_index":19810,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["externaltoolscope",{"_index":10648,"title":{"classes/ExternalToolScope.html":{}},"body":{"injectables/ExternalToolRepo.html":{},"classes/ExternalToolScope.html":{}}}],["externaltoolsearchlistresponse",{"_index":10913,"title":{"classes/ExternalToolSearchListResponse.html":{}},"body":{"classes/ExternalToolSearchListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["externaltoolsearchlistresponse})@apiforbiddenresponse()@apiunauthorizedresponse()@apioperation({summary",{"_index":23063,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["externaltoolsearchlistresponse})@apiunauthorizedresponse()@apiforbiddenresponse()@apioperation({summary",{"_index":22762,"title":{},"body":{"controllers/ToolController.html":{}}}],["externaltoolsearchparams",{"_index":10757,"title":{"classes/ExternalToolSearchParams.html":{}},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolSearchParams.html":{},"controllers/ToolController.html":{}}}],["externaltoolsearchquery",{"_index":10635,"title":{"interfaces/ExternalToolSearchQuery.html":{}},"body":{"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["externaltoolservice",{"_index":6984,"title":{"injectables/ExternalToolService.html":{}},"body":{"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersRosterService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolReferenceService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["externaltoolservice.deleteexternaltool",{"_index":6026,"title":{},"body":{"modules/CommonToolModule.html":{}}}],["externaltoolservicemapper",{"_index":10479,"title":{"injectables/ExternalToolServiceMapper.html":{}},"body":{"modules/ExternalToolModule.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{}}}],["externaltoolsortby",{"_index":20557,"title":{},"body":{"classes/SortExternalToolParams.html":{}}}],["externaltoolsortingmapper",{"_index":10647,"title":{"classes/ExternalToolSortingMapper.html":{}},"body":{"injectables/ExternalToolRepo.html":{},"classes/ExternalToolSortingMapper.html":{}}}],["externaltoolsortingmapper.mapdosortordertoqueryorder",{"_index":10650,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["externaltooluc",{"_index":11032,"title":{"injectables/ExternalToolUc.html":{}},"body":{"injectables/ExternalToolUc.html":{},"modules/ToolApiModule.html":{},"controllers/ToolController.html":{}}}],["externaltoolupdate",{"_index":10788,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["externaltoolupdateparams",{"_index":10786,"title":{"classes/ExternalToolUpdateParams.html":{}},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"controllers/ToolController.html":{}}}],["externaltoolupdateparams.config",{"_index":10807,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.id",{"_index":10814,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.ishidden",{"_index":10818,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.logourl",{"_index":10817,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.name",{"_index":10815,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.opennewtab",{"_index":10819,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.parameters",{"_index":10813,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.restricttocontexts",{"_index":10820,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolupdateparams.url",{"_index":10816,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["externaltoolvalidationservice",{"_index":10475,"title":{"injectables/ExternalToolValidationService.html":{}},"body":{"modules/ExternalToolModule.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{}}}],["externaltoolversion",{"_index":19890,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["externaltoolversionincrementservice",{"_index":10476,"title":{"injectables/ExternalToolVersionIncrementService.html":{}},"body":{"modules/ExternalToolModule.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolVersionIncrementService.html":{}}}],["externaltoolversionservice",{"_index":10933,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["externaluser",{"_index":14278,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"classes/OauthDataDto.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["externaluser.birthday",{"_index":17645,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externaluser.email",{"_index":17639,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externaluser.externalid",{"_index":17647,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externaluser.firstname",{"_index":17635,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externaluser.lastname",{"_index":17637,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["externaluser.roles",{"_index":17630,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["externaluser.roles.includes(rolename.administrator",{"_index":19571,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["externaluser.roles.push(rolename.teacher",{"_index":19572,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["externaluserdto",{"_index":11183,"title":{"classes/ExternalUserDto.html":{}},"body":{"classes/ExternalUserDto.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/OauthDataDto.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{}}}],["externaluserid",{"_index":10024,"title":{},"body":{"classes/ExternalGroupUserDto.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ProvisioningDto.html":{},"injectables/SanisResponseMapper.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["extra",{"_index":26051,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["extract",{"_index":13694,"title":{},"body":{"classes/IdTokenExtractionFailureLoggableException.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"controllers/MetaTagExtractorController.html":{}}}],["extractaccount",{"_index":14716,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["extractaccount(user",{"_index":14722,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["extractattributevalue",{"_index":14717,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["extractattributevalue(value",{"_index":14725,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["extractid",{"_index":116,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["extractid(url",{"_index":123,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["extractids(users",{"_index":7537,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["extracting",{"_index":12638,"title":{},"body":{"classes/GlobalValidationPipe.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["extraction",{"_index":13691,"title":{},"body":{"classes/IdTokenExtractionFailureLoggableException.html":{}}}],["extractjwt",{"_index":14333,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["extractjwt.fromauthheaderasbearertoken",{"_index":14337,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["extractjwt.fromextractors",{"_index":14336,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["extractor",{"_index":14334,"title":{},"body":{"injectables/JwtStrategy.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["extractor.config",{"_index":16207,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["extractor.controller.ts",{"_index":16183,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["extractor.controller.ts:19",{"_index":16190,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["extractor.module",{"_index":16181,"title":{},"body":{"modules/MetaTagExtractorApiModule.html":{}}}],["extractor.module.ts",{"_index":16205,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["extractor.response.ts",{"_index":16213,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.response.ts:19",{"_index":16224,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.response.ts:23",{"_index":16221,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.response.ts:27",{"_index":16216,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.response.ts:31",{"_index":16217,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.response.ts:35",{"_index":16222,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.response.ts:39",{"_index":16218,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.response.ts:43",{"_index":16220,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.response.ts:6",{"_index":16215,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor.service.ts",{"_index":16228,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["extractor.service.ts:12",{"_index":16237,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["extractor.service.ts:26",{"_index":16248,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["extractor.service.ts:30",{"_index":16244,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["extractor.service.ts:50",{"_index":16246,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["extractor.service.ts:65",{"_index":16236,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["extractor.service.ts:69",{"_index":16241,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["extractor.service.ts:9",{"_index":16234,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["extractor.ts",{"_index":14318,"title":{},"body":{"classes/JwtExtractor.html":{}}}],["extractor.ts:6",{"_index":14321,"title":{},"body":{"classes/JwtExtractor.html":{}}}],["extractor.uc.ts",{"_index":16280,"title":{},"body":{"injectables/MetaTagExtractorUc.html":{}}}],["extractor.uc.ts:14",{"_index":16283,"title":{},"body":{"injectables/MetaTagExtractorUc.html":{}}}],["extractor.uc.ts:8",{"_index":16281,"title":{},"body":{"injectables/MetaTagExtractorUc.html":{}}}],["extractor/controller/dto/meta",{"_index":16212,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["extractor/controller/meta",{"_index":16182,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["extractor/controller/post",{"_index":12550,"title":{},"body":{"classes/GetMetaTagDataBody.html":{}}}],["extractor/interface/url",{"_index":23135,"title":{},"body":{"interfaces/UrlHandler.html":{}}}],["extractor/meta",{"_index":16179,"title":{},"body":{"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{}}}],["extractor/service/meta",{"_index":16227,"title":{},"body":{"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{}}}],["extractor/service/url",{"_index":108,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["extractor/uc/meta",{"_index":16279,"title":{},"body":{"injectables/MetaTagExtractorUc.html":{}}}],["extractparamsfromrequest",{"_index":15066,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["extractparamsfromrequest(request",{"_index":15075,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["extractreferences",{"_index":3247,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["extractreferences(statuses",{"_index":3272,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["extracts",{"_index":2372,"title":{},"body":{"injectables/BBBService.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["extractuserlist(users",{"_index":7549,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["extractvalidationerrordetails",{"_index":1382,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["extractvalidationerrordetails(validationerror",{"_index":1398,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["f",{"_index":552,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolService.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"license.html":{}}}],["f0",{"_index":3166,"title":{},"body":{"classes/BoardContextResponse.html":{},"classes/BoardResponse.html":{},"classes/CardResponse.html":{},"classes/CardSkeletonResponse.html":{},"classes/ColumnResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/CreateNewsParams.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FilterNewsParams.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/LessonCopyApiParams.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/SchoolInfoResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionItemResponse.html":{},"classes/TargetInfoResponse.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/UserInfoResponse.html":{}}}],["facilitate",{"_index":25667,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["facilitating",{"_index":25143,"title":{},"body":{"license.html":{}}}],["facilities",{"_index":24808,"title":{},"body":{"license.html":{}}}],["factories",{"_index":8782,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["factory",{"_index":516,"title":{},"body":{"classes/AccountFactory.html":{},"classes/AxiosErrorFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RocketChatUserFactory.html":{},"injectables/RoomsUc.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/ShareTokenFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["factory.define",{"_index":562,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["factory.define(generator",{"_index":2584,"title":{},"body":{"classes/BaseFactory.html":{}}}],["factory/account.factory",{"_index":1608,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["fail",{"_index":24704,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["failafter",{"_index":15054,"title":{},"body":{"injectables/LdapService.html":{}}}],["failed",{"_index":644,"title":{},"body":{"injectables/AccountLookupService.html":{},"classes/ApiValidationError.html":{},"interfaces/CleanOptions.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakMigrationService.html":{},"classes/LdapConnectionError.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"todo.html":{}}}],["failed.loggable",{"_index":19946,"title":{},"body":{"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{}}}],["failing",{"_index":15713,"title":{},"body":{"injectables/LocalStrategy.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["failingfileids",{"_index":8931,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["failingfileids.length",{"_index":8932,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["failingfileids.push(result.fileid",{"_index":8939,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["failingfileids.tostring",{"_index":8944,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["fails",{"_index":4866,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["failure",{"_index":1461,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"classes/DeletionExecutionConsole.html":{},"classes/GuardAgainst.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"license.html":{}}}],["failurecount",{"_index":2841,"title":{},"body":{"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{}}}],["fair",{"_index":24805,"title":{},"body":{"license.html":{}}}],["fallback",{"_index":21826,"title":{},"body":{"injectables/TaskUC.html":{}}}],["fallbackhostname",{"_index":6468,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["fallbackimage",{"_index":16276,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["false",{"_index":197,"title":{},"body":{"classes/AcceptQuery.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchQueryParams.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"injectables/AuthorizationHelper.html":{},"classes/BaseUc.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/BoardUrlParams.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"interfaces/CleanOptions.html":{},"injectables/CollaborativeStorageService.html":{},"entities/ColumnBoardTarget.html":{},"controllers/ColumnController.html":{},"classes/ColumnUrlParams.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/County.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameterFactory.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/DeleteFilesUc.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/DtoCreator.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/FeathersAuthProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/GetMetaTagDataBody.html":{},"classes/GlobalValidationPipe.html":{},"classes/GroupIdParams.html":{},"injectables/GroupRepo.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/IdParams.html":{},"classes/IdentityManagementOauthService.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapConfigEntity.html":{},"injectables/LegacySchoolService.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRule.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/ListOauthClientsParams.html":{},"injectables/LocalStrategy.html":{},"modules/LoggerModule.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"injectables/MigrationCheckService.html":{},"interfaces/MigrationOptions.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"classes/OAuthRejectableBody.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/Options.html":{},"interfaces/ParentInfo.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"classes/PseudonymParams.html":{},"classes/PublicSystemResponse.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"classes/RenameBodyParams.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"injectables/RoomBoardDTOFactory.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/SanisProvisioningStrategy.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolIdParams.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolMigrationService.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/Scope.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenUrlParams.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerUrlParams.html":{},"injectables/SubmissionItemFactory.html":{},"classes/SubmissionItemUrlParams.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRule.html":{},"classes/SubmissionUrlParams.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"injectables/SystemRepo.html":{},"injectables/SystemUc.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"injectables/TaskUC.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TeamRule.html":{},"classes/TeamUrlParams.html":{},"injectables/TeamsRepo.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/TldrawWsService.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolVersionService.html":{},"injectables/UserDORepo.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserParams.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/VideoConferenceScopeParams.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["false})@index",{"_index":11535,"title":{},"body":{"entities/FileEntity.html":{}}}],["false})@isoptional",{"_index":24095,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["false})@sanitizehtml",{"_index":18729,"title":{},"body":{"classes/RenameBodyParams.html":{}}}],["familiar",{"_index":25985,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["familienname",{"_index":19490,"title":{},"body":{"classes/SanisNameResponse.html":{}}}],["family",{"_index":24932,"title":{},"body":{"license.html":{}}}],["fantasy",{"_index":24629,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["far",{"_index":14881,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["fashion",{"_index":24732,"title":{},"body":{"license.html":{}}}],["fast",{"_index":25664,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["favicon",{"_index":24562,"title":{},"body":{"dependencies.html":{}}}],["favor",{"_index":24938,"title":{},"body":{"license.html":{}}}],["featherjs",{"_index":8002,"title":{},"body":{"interfaces/CreateJwtPayload.html":{},"interfaces/JwtPayload.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["feathers",{"_index":1884,"title":{},"body":{"modules/AuthorizationModule.html":{},"classes/ErrorLoggable.html":{},"injectables/FeathersAuthorizationService.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"interfaces/JwtConstants.html":{},"injectables/JwtValidationAdapter.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"dependencies.html":{},"index.html":{},"properties.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["feathersapp",{"_index":11403,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["feathersapp.service(path",{"_index":11410,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["feathersauthorizationservice",{"_index":1863,"title":{"injectables/FeathersAuthorizationService.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/NewsUc.html":{}}}],["feathersauthprovider",{"_index":1869,"title":{"injectables/FeathersAuthProvider.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["featherserror",{"_index":9979,"title":{"interfaces/FeathersError.html":{}},"body":{"classes/ErrorUtils.html":{},"interfaces/FeathersError.html":{},"classes/GlobalErrorFilter.html":{}}}],["featherserror)?.type",{"_index":9982,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["feathersexpress",{"_index":11408,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["feathersexpress.services['nest",{"_index":25582,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["feathersjs/authentication",{"_index":24424,"title":{},"body":{"dependencies.html":{}}}],["feathersjs/configuration",{"_index":24427,"title":{},"body":{"dependencies.html":{}}}],["feathersjs/errors",{"_index":8751,"title":{},"body":{"injectables/DashboardUc.html":{},"dependencies.html":{}}}],["feathersjs/express",{"_index":11397,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"dependencies.html":{}}}],["feathersjs/feathers",{"_index":24428,"title":{},"body":{"dependencies.html":{}}}],["feathersmodule",{"_index":1861,"title":{"modules/FeathersModule.html":{}},"body":{"modules/AuthorizationModule.html":{},"modules/FeathersModule.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["feathersrosterservice",{"_index":11278,"title":{"injectables/FeathersRosterService.html":{}},"body":{"injectables/FeathersRosterService.html":{},"modules/PseudonymModule.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["feathersservice",{"_index":11386,"title":{"interfaces/FeathersService.html":{}},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["feathersserviceparams",{"_index":11390,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["feathersserviceprovider",{"_index":9989,"title":{"injectables/FeathersServiceProvider.html":{}},"body":{"injectables/EtherpadService.html":{},"injectables/FeathersAuthProvider.html":{},"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"modules/LessonModule.html":{},"injectables/NexboardService.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["feathersserviceresponse",{"_index":11399,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["feature",{"_index":7681,"title":{},"body":{"injectables/CourseCopyUC.html":{},"interfaces/IToolFeatures.html":{},"injectables/LegacySchoolService.html":{},"injectables/LessonCopyUC.html":{},"injectables/OAuthService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{},"classes/ToolConfiguration.html":{},"injectables/ToolVersionService.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["feature/bc",{"_index":24638,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["feature/sc",{"_index":24628,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["feature_disabled_app_will_not_be_created",{"_index":18049,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["feature_disabled_middlewares_will_not_be_created",{"_index":18042,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["feature_identity_management_enabled",{"_index":13740,"title":{},"body":{"interfaces/IdentityManagementConfig.html":{},"interfaces/ServerConfig.html":{}}}],["feature_identity_management_login_enabled",{"_index":13741,"title":{},"body":{"interfaces/IdentityManagementConfig.html":{},"interfaces/ServerConfig.html":{}}}],["feature_identity_management_store_enabled",{"_index":13742,"title":{},"body":{"interfaces/IdentityManagementConfig.html":{},"interfaces/ServerConfig.html":{}}}],["feature_imscc_course_export_enabled",{"_index":5676,"title":{},"body":{"interfaces/CommonCartridgeConfig.html":{},"interfaces/ServerConfig.html":{}}}],["feature_tldraw_enabled",{"_index":22301,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["features",{"_index":7451,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/OidcProvisioningService.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["featureundertest",{"_index":25758,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["federal",{"_index":15211,"title":{},"body":{"classes/LegacySchoolFactory.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["federalstate",{"_index":11436,"title":{},"body":{"injectables/FederalStateService.html":{},"classes/LdapConfigEntity.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcProvisioningService.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/SchoolYearService.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["federalstateentity",{"_index":7443,"title":{"entities/FederalStateEntity.html":{}},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/LegacySchoolDo.html":{},"injectables/OidcProvisioningService.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["federalstatefactory",{"_index":15210,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["federalstatefactory.build",{"_index":15224,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["federalstatenames",{"_index":17609,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["federalstatenames.niedersachen",{"_index":17623,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["federalstateproperties",{"_index":7434,"title":{"interfaces/FederalStateProperties.html":{}},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["federalstaterepo",{"_index":11419,"title":{"injectables/FederalStateRepo.html":{}},"body":{"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"modules/LegacySchoolModule.html":{}}}],["federalstates",{"_index":7442,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["federalstateservice",{"_index":11425,"title":{"injectables/FederalStateService.html":{}},"body":{"injectables/FederalStateService.html":{},"modules/LegacySchoolModule.html":{},"injectables/OidcProvisioningService.html":{}}}],["fee",{"_index":24859,"title":{},"body":{"license.html":{}}}],["feed",{"_index":18676,"title":{},"body":{"classes/ReferencesService.html":{}}}],["feedback",{"_index":5529,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["feedbacklink",{"_index":5522,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["feel",{"_index":1624,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["fetch",{"_index":2959,"title":{},"body":{"entities/Board.html":{},"injectables/CourseCopyService.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["fetchbase64logo",{"_index":10357,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["fetchbase64logo(logourl",{"_index":10367,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["fetched",{"_index":10345,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{}}}],["fetchlogo",{"_index":10358,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["fetchlogo(externaltool",{"_index":10369,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["fetchoptions",{"_index":16260,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["few",{"_index":26093,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["ffd8ffe0",{"_index":10380,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["ffd8ffe1",{"_index":10382,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["ffffff",{"_index":7714,"title":{},"body":{"classes/CourseFactory.html":{}}}],["field",{"_index":6329,"title":{},"body":{"classes/ContentBodyParams.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/LdapStrategy.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/ValidationErrorDetailResponse.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["field${sequence",{"_index":13051,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["fieldname",{"_index":2911,"title":{},"body":{"entities/Board.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/LtiTool.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"interfaces/ParentInfo.html":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{}}}],["fields",{"_index":2229,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/BatchDeletionUc.html":{},"injectables/HydraSsoService.html":{},"injectables/TaskRepo.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["file",{"_index":5,"title":{"interfaces/File.html":{},"additional-documentation/nestjs-application/file-structure.html":{}},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"modules/AccountApiModule.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"interfaces/AccountConfig.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthCodeFailureLoggableException.html":{},"modules/AuthenticationApiModule.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"modules/AuthorizationModule.html":{},"classes/AuthorizationParams.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"modules/BoardApiModule.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"modules/ClassModule.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"modules/CoreModule.html":{},"interfaces/CoreModuleConfig.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"modules/ErrorModule.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FeathersError.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{},"classes/FileUrlParams.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"modules/GroupModule.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"interfaces/IdentityManagementConfig.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/InterceptorConfig.html":{},"modules/InterceptorModule.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"injectables/JwtAuthGuard.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Learnroom.html":{},"modules/LearnroomApiModule.html":{},"interfaces/LearnroomElement.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/LessonApiModule.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"modules/LessonModule.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"modules/NewsModule.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthApiModule.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"classes/ProvisioningDto.html":{},"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"modules/PseudonymModule.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"modules/RocketChatUserModule.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"modules/RoleModule.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"modules/TaskApiModule.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"modules/TaskModule.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawClientModule.html":{},"interfaces/TldrawConfig.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"interfaces/ToolVersion.html":{},"injectables/ToolVersionService.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"modules/UserApiModule.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"modules/ValidationModule.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"dependencies.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["file.bucket",{"_index":8962,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["file.collectionname",{"_index":5234,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["file.data",{"_index":11450,"title":{},"body":{"classes/FileDto.html":{},"classes/FileResponseBuilder.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{},"injectables/S3ClientAdapter.html":{}}}],["file.dto",{"_index":22092,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["file.dto.ts",{"_index":7162,"title":{},"body":{"classes/CopyFileDto.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{}}}],["file.dto.ts:11",{"_index":13420,"title":{},"body":{"classes/H5pFileDto.html":{}}}],["file.dto.ts:13",{"_index":13418,"title":{},"body":{"classes/H5pFileDto.html":{}}}],["file.dto.ts:15",{"_index":13419,"title":{},"body":{"classes/H5pFileDto.html":{}}}],["file.dto.ts:4",{"_index":13417,"title":{},"body":{"classes/H5pFileDto.html":{}}}],["file.dto.ts:5",{"_index":7164,"title":{},"body":{"classes/CopyFileDto.html":{}}}],["file.dto.ts:7",{"_index":7165,"title":{},"body":{"classes/CopyFileDto.html":{}}}],["file.dto.ts:9",{"_index":7163,"title":{},"body":{"classes/CopyFileDto.html":{}}}],["file.factory.ts",{"_index":13395,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{}}}],["file.factory.ts:8",{"_index":13397,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{}}}],["file.id",{"_index":8960,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["file.interface",{"_index":5858,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["file.interface.ts",{"_index":5784,"title":{},"body":{"interfaces/CommonCartridgeFile.html":{}}}],["file.interface.ts:2",{"_index":5786,"title":{},"body":{"interfaces/CommonCartridgeFile.html":{}}}],["file.interface.ts:3",{"_index":5787,"title":{},"body":{"interfaces/CommonCartridgeFile.html":{}}}],["file.isdirectory",{"_index":8957,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["file.mimetype",{"_index":11451,"title":{},"body":{"classes/FileDto.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{},"injectables/S3ClientAdapter.html":{}}}],["file.name",{"_index":11449,"title":{},"body":{"classes/FileDto.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{}}}],["file.repo",{"_index":22097,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["file.repo.ts",{"_index":22044,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["file.repo.ts:12",{"_index":22054,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["file.repo.ts:16",{"_index":22050,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["file.repo.ts:20",{"_index":22055,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["file.repo.ts:25",{"_index":22052,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["file.repo.ts:29",{"_index":22057,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["file.repo.ts:8",{"_index":22058,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["file.storagefilename",{"_index":8964,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["file.storageprovider",{"_index":8966,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["file.url.params.ts",{"_index":6501,"title":{},"body":{"classes/ContentFileUrlParams.html":{},"classes/LibraryFileUrlParams.html":{}}}],["file.url.params.ts:12",{"_index":6503,"title":{},"body":{"classes/ContentFileUrlParams.html":{}}}],["file.url.params.ts:13",{"_index":15589,"title":{},"body":{"classes/LibraryFileUrlParams.html":{}}}],["file.url.params.ts:7",{"_index":6504,"title":{},"body":{"classes/ContentFileUrlParams.html":{}}}],["file.url.params.ts:8",{"_index":15590,"title":{},"body":{"classes/LibraryFileUrlParams.html":{}}}],["file_could_not_be_copied_hint",{"_index":7292,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["filecontent",{"_index":5264,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/ReferencesService.html":{}}}],["filecontent.replace(/\\r\\n?/g",{"_index":18673,"title":{},"body":{"classes/ReferencesService.html":{}}}],["filecontent.split('\\n",{"_index":18679,"title":{},"body":{"classes/ReferencesService.html":{}}}],["filecontentbody",{"_index":6447,"title":{"classes/FileContentBody.html":{}},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["filecopy",{"_index":18442,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["filecopy.foreach((copyfiledto",{"_index":18459,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["filecopy.map((copyfiledto",{"_index":18449,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["filecopyservice",{"_index":3586,"title":{},"body":{"injectables/BoardDoCopyService.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/RecursiveCopyVisitor.html":{}}}],["filecopyservicefactory",{"_index":5402,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["filecopystatus",{"_index":7300,"title":{},"body":{"injectables/CopyFilesService.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/TaskCopyService.html":{}}}],["filecouldnotbecopied",{"_index":7293,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["filedo",{"_index":7153,"title":{"interfaces/FileDO.html":{}},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{}}}],["filedomainobjectprops",{"_index":11440,"title":{"interfaces/FileDomainObjectProps.html":{}},"body":{"interfaces/FileDomainObjectProps.html":{},"classes/FileDto-1.html":{},"classes/FilesStorageClientMapper.html":{}}}],["filedto",{"_index":7303,"title":{"classes/FileDto.html":{},"classes/FileDto-1.html":{}},"body":{"injectables/CopyFilesService.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{}}}],["filedtobuilder",{"_index":11459,"title":{"classes/FileDtoBuilder.html":{}},"body":{"classes/FileDtoBuilder.html":{}}}],["filedtobuilder.build(fileinfo.filename",{"_index":11473,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["filedtobuilder.build(name",{"_index":11478,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["filedtos",{"_index":7285,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["filedtos.map",{"_index":7309,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["filedtos.map((filedto",{"_index":7302,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["fileelement",{"_index":3109,"title":{"classes/FileElement.html":{}},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponseMapper.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemUc.html":{}}}],["fileelement.alternativetext",{"_index":6457,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["fileelement.caption",{"_index":6454,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["fileelement.id",{"_index":18572,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["fileelementcontent",{"_index":11497,"title":{"classes/FileElementContent.html":{}},"body":{"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{}}}],["fileelementcontentbody",{"_index":9569,"title":{"classes/FileElementContentBody.html":{}},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["fileelementnode",{"_index":3458,"title":{"entities/FileElementNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["fileelementnodeprops",{"_index":11507,"title":{"interfaces/FileElementNodeProps.html":{}},"body":{"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{}}}],["fileelementprops",{"_index":11495,"title":{"interfaces/FileElementProps.html":{}},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["fileelementresponse",{"_index":4019,"title":{"classes/FileElementResponse.html":{}},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CardResponse.html":{},"classes/ContentElementResponseFactory.html":{},"controllers/ElementController.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/SubmissionItemResponse.html":{}}}],["fileelementresponse)@apiresponse({status",{"_index":4001,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["fileelementresponsemapper",{"_index":6382,"title":{"classes/FileElementResponseMapper.html":{}},"body":{"classes/ContentElementResponseFactory.html":{},"classes/FileElementResponseMapper.html":{}}}],["fileelementresponsemapper.getinstance",{"_index":6366,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["fileelementresponsemapper.instance",{"_index":11517,"title":{},"body":{"classes/FileElementResponseMapper.html":{}}}],["fileentity",{"_index":1019,"title":{"entities/FileEntity.html":{}},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"injectables/DeleteFilesUc.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/ServerConsoleModule.html":{}}}],["fileentityprops",{"_index":11563,"title":{"interfaces/FileEntityProps.html":{}},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["fileexists",{"_index":22061,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["fileexists(filename",{"_index":22072,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["filefieldsinterceptor",{"_index":13167,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["filegroupstatus",{"_index":7314,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["fileid",{"_index":7313,"title":{},"body":{"injectables/CopyFilesService.html":{},"injectables/DeleteFilesUc.html":{},"classes/RecursiveCopyVisitor.html":{}}}],["fileinfo",{"_index":11469,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["fileinfo.mimetype",{"_index":11474,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["fileinfos",{"_index":12188,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["fileline.trim",{"_index":18685,"title":{},"body":{"classes/ReferencesService.html":{}}}],["filelines",{"_index":18678,"title":{},"body":{"classes/ReferencesService.html":{}}}],["filelines.foreach((fileline",{"_index":18684,"title":{},"body":{"classes/ReferencesService.html":{}}}],["filemetadata",{"_index":11613,"title":{"classes/FileMetadata.html":{}},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["filename",{"_index":5213,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/ContentFileUrlParams.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"additional-documentation/nestjs-application.html":{}}}],["filename.includes",{"_index":22102,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["filename.split('.')[0",{"_index":5214,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["filename.startswith",{"_index":22103,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["filename=\"${encodeuri(fileresponse.name",{"_index":12309,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["filename=\"${encodeuri(params.fwulearningcontent",{"_index":12454,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["filenameobj",{"_index":11844,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["filenameobj.name",{"_index":11846,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["filenameprefix",{"_index":7203,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["filenames",{"_index":5209,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/FileSystemAdapter.html":{}}}],["filenames.map((filename",{"_index":5211,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["filenamewithoutextension",{"_index":11843,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["fileownermodel",{"_index":11545,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesRepo.html":{}}}],["fileownermodel.user",{"_index":12125,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["fileparambuilder",{"_index":7290,"title":{"classes/FileParamBuilder.html":{}},"body":{"injectables/CopyFilesService.html":{},"classes/FileParamBuilder.html":{}}}],["fileparambuilder.build(copyentity.getschoolid",{"_index":7295,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["fileparambuilder.build(originalentity.getschoolid",{"_index":7294,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["fileparams",{"_index":7214,"title":{"classes/FileParams.html":{}},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["filepath",{"_index":5153,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/FileSystemAdapter.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"classes/ReferencesService.html":{}}}],["filepermissionentity",{"_index":11543,"title":{"classes/FilePermissionEntity.html":{}},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["filepermissionentityprops",{"_index":11727,"title":{"interfaces/FilePermissionEntityProps.html":{}},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["filepermissionreferencemodel",{"_index":11732,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["filerecord",{"_index":7176,"title":{"entities/FileRecord.html":{}},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"interfaces/GetFileResponse.html":{},"interfaces/ParentInfo.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileParams.html":{},"injectables/PreviewService.html":{},"modules/ServerConsoleModule.html":{}}}],["filerecord.creatorid",{"_index":7191,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["filerecord.deletedsince",{"_index":7196,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["filerecord.getpreviewstatus",{"_index":7198,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"injectables/PreviewService.html":{}}}],["filerecord.id",{"_index":7180,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"injectables/PreviewService.html":{}}}],["filerecord.mimetype",{"_index":7193,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"injectables/PreviewService.html":{}}}],["filerecord.name",{"_index":7181,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["filerecord.parentid",{"_index":7189,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FilesStorageMapper.html":{}}}],["filerecord.parenttype",{"_index":7194,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FilesStorageMapper.html":{}}}],["filerecord.schoolid",{"_index":12305,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["filerecord.securitycheck.status",{"_index":7187,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["filerecord.size",{"_index":7185,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["filerecordcopy",{"_index":11808,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["filerecordcopy.securitycheck",{"_index":11810,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["filerecordfactory",{"_index":11847,"title":{"classes/FileRecordFactory.html":{}},"body":{"classes/FileRecordFactory.html":{}}}],["filerecordfactory.define(filerecord",{"_index":11854,"title":{},"body":{"classes/FileRecordFactory.html":{}}}],["filerecordid",{"_index":7217,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordScope.html":{},"classes/FileUrlParams.html":{},"classes/FilesStorageMapper.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["filerecordlistresponse",{"_index":7200,"title":{"classes/FileRecordListResponse.html":{}},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordResponse.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["filerecordlistresponse(responsefilerecords",{"_index":11875,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["filerecordlistresponse.map((record",{"_index":12215,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filerecordmapper",{"_index":11859,"title":{"classes/FileRecordMapper.html":{}},"body":{"classes/FileRecordMapper.html":{}}}],["filerecordmapper.maptofilerecordresponse(filerecord",{"_index":11874,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["filerecordparams",{"_index":7152,"title":{"classes/FileRecordParams.html":{}},"body":{"interfaces/CopyFileDO.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"interfaces/FileDO.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"injectables/FilesStorageProducer.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["filerecordparenttype",{"_index":7149,"title":{},"body":{"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto-1.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileUrlParams.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilesStorageMapper.html":{},"interfaces/ParentInfo.html":{},"classes/PreviewParams.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SingleFileParams.html":{}}}],["filerecordparenttype'})@isenum(filerecordparenttype",{"_index":11885,"title":{},"body":{"classes/FileRecordParams.html":{}}}],["filerecordparenttype.boardnode",{"_index":18448,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["filerecordparenttype.course",{"_index":11856,"title":{},"body":{"classes/FileRecordFactory.html":{}}}],["filerecordparenttype.lesson",{"_index":12228,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filerecordparenttype.submission",{"_index":12230,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filerecordparenttype.task",{"_index":12229,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filerecordproperties",{"_index":11783,"title":{"interfaces/FileRecordProperties.html":{}},"body":{"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["filerecordrepo",{"_index":11888,"title":{"injectables/FileRecordRepo.html":{}},"body":{"injectables/FileRecordRepo.html":{},"modules/FilesStorageModule.html":{}}}],["filerecordresponse",{"_index":7178,"title":{"classes/FileRecordResponse.html":{}},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordResponse.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["filerecordresponse(filerecord",{"_index":11871,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["filerecordresponse.id",{"_index":12220,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filerecordresponse.name",{"_index":12221,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filerecordresponse.parentid",{"_index":12222,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filerecords",{"_index":11785,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"interfaces/ParentInfo.html":{},"injectables/PreviewService.html":{}}}],["filerecords.map((filerecord",{"_index":11873,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{},"injectables/PreviewService.html":{}}}],["filerecordscanstatus",{"_index":7199,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["filerecordscope",{"_index":11899,"title":{"classes/FileRecordScope.html":{}},"body":{"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{}}}],["filerecordscope().byfilerecordid(id).bymarkedfordelete(false",{"_index":11916,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["filerecordscope().byfilerecordid(id).bymarkedfordelete(true",{"_index":11918,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["filerecordscope().byparentid(parentid).bymarkedfordelete(false",{"_index":11919,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["filerecordscope().byschoolid(schoolid).byparentid(parentid).bymarkedfordelete(false",{"_index":11921,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["filerecordscope().byschoolid(schoolid).byparentid(parentid).bymarkedfordelete(true",{"_index":11922,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["filerecordscope().bysecuritycheckrequesttoken(token",{"_index":11925,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["filerecordsecuritycheck",{"_index":11764,"title":{"classes/FileRecordSecurityCheck.html":{}},"body":{"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"modules/FilesStorageModule.html":{},"interfaces/ParentInfo.html":{}}}],["filerecordsecuritycheckproperties",{"_index":11775,"title":{"interfaces/FileRecordSecurityCheckProperties.html":{}},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["filerequestinfo",{"_index":7263,"title":{"interfaces/FileRequestInfo.html":{}},"body":{"classes/CopyFilesOfParentParamBuilder.html":{},"interfaces/CopyFilesRequestInfo.html":{},"classes/FileParamBuilder.html":{},"interfaces/FileRequestInfo.html":{},"injectables/FilesStorageClientAdapterService.html":{}}}],["fileresponse",{"_index":11967,"title":{},"body":{"classes/FileResponseBuilder.html":{},"classes/FilesStorageMapper.html":{},"classes/TestHelper.html":{}}}],["fileresponse.contentlength",{"_index":12310,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["fileresponse.contenttype",{"_index":12308,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["fileresponsebuilder",{"_index":11964,"title":{"classes/FileResponseBuilder.html":{}},"body":{"classes/FileResponseBuilder.html":{},"injectables/PreviewService.html":{}}}],["fileresponsebuilder.build(file",{"_index":17987,"title":{},"body":{"injectables/PreviewService.html":{}}}],["files",{"_index":5187,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/CopyFilesService.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"interfaces/File.html":{},"interfaces/FileDO.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/Options.html":{},"classes/Path.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"injectables/PreviewService.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"injectables/TemporaryFileStorage.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["files.concat(returnedfiles",{"_index":19423,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["files.console.ts",{"_index":8878,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["files.console.ts:15",{"_index":8888,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["files.console.ts:6",{"_index":8882,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["files.interface",{"_index":14460,"title":{},"body":{"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakSeedService.html":{}}}],["files.interface.ts",{"_index":13625,"title":{},"body":{"interfaces/IKeycloakConfigurationInputFiles.html":{}}}],["files.length",{"_index":8940,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"injectables/S3ClientAdapter.html":{},"injectables/TemporaryFileStorage.html":{}}}],["files.map((file",{"_index":8934,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files.service",{"_index":12237,"title":{},"body":{"modules/FilesStorageClientModule.html":{},"injectables/TaskCopyService.html":{}}}],["files.service.ts",{"_index":7274,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["files.service.ts:17",{"_index":7280,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["files.service.ts:23",{"_index":7282,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["files.service.ts:42",{"_index":7284,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["files.service.ts:58",{"_index":7288,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["files.uc.ts",{"_index":8900,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files.uc.ts:106",{"_index":8917,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files.uc.ts:12",{"_index":8909,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files.uc.ts:22",{"_index":8919,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files.uc.ts:66",{"_index":8920,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files.uc.ts:76",{"_index":8911,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files.uc.ts:91",{"_index":8915,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["files/:file",{"_index":13154,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["files?.file?.[0",{"_index":13211,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["files?.h5p?.[0",{"_index":13213,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["files_storage_s3_connection",{"_index":12009,"title":{},"body":{"interfaces/FileStorageConfig.html":{},"injectables/PreviewService.html":{}}}],["filesdto",{"_index":12214,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filesecuritycheckentity",{"_index":11547,"title":{"classes/FileSecurityCheckEntity.html":{}},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{}}}],["filesecuritycheckentityprops",{"_index":11969,"title":{"interfaces/FileSecurityCheckEntityProps.html":{}},"body":{"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{}}}],["filesecuritycheckstatus",{"_index":11974,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{}}}],["filesecuritycheckstatus.pending",{"_index":11975,"title":{},"body":{"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{}}}],["filesecuritycontroller",{"_index":11977,"title":{"controllers/FileSecurityController.html":{}},"body":{"controllers/FileSecurityController.html":{},"modules/FilesStorageApiModule.html":{}}}],["filesmodule",{"_index":8973,"title":{"modules/FilesModule.html":{}},"body":{"modules/DeletionApiModule.html":{},"modules/FilesModule.html":{},"modules/ServerConsoleModule.html":{}}}],["filespreviewevents",{"_index":17872,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewProducer.html":{}}}],["filespreviewevents.generate_preview",{"_index":17877,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["filespreviewexchange",{"_index":17870,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewProducer.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["filesrepo",{"_index":8907,"title":{"injectables/FilesRepo.html":{}},"body":{"injectables/DeleteFilesUc.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{}}}],["filesservice",{"_index":12106,"title":{"injectables/FilesService.html":{}},"body":{"modules/FilesModule.html":{},"injectables/FilesService.html":{}}}],["filesservicebaseurl",{"_index":1270,"title":{},"body":{"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"modules/FilesStorageModule.html":{},"interfaces/ScanResult.html":{}}}],["filesstorageamqpmodule",{"_index":12155,"title":{"modules/FilesStorageAMQPModule.html":{}},"body":{"modules/FilesStorageAMQPModule.html":{}}}],["filesstorageapimodule",{"_index":12163,"title":{"modules/FilesStorageApiModule.html":{}},"body":{"modules/FilesStorageApiModule.html":{},"modules/FilesStorageTestModule.html":{}}}],["filesstorageclientadapterservice",{"_index":7279,"title":{"injectables/FilesStorageClientAdapterService.html":{}},"body":{"injectables/CopyFilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"modules/FilesStorageClientModule.html":{},"injectables/LessonService.html":{},"injectables/RecursiveDeleteVisitor.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SubmissionService.html":{},"injectables/TaskService.html":{}}}],["filesstorageclientconfig",{"_index":12193,"title":{"interfaces/FilesStorageClientConfig.html":{}},"body":{"interfaces/FilesStorageClientConfig.html":{},"injectables/FilesStorageProducer.html":{},"interfaces/ServerConfig.html":{}}}],["filesstorageclientmapper",{"_index":11717,"title":{"classes/FilesStorageClientMapper.html":{}},"body":{"classes/FileParamBuilder.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{}}}],["filesstorageclientmapper.mapcopyfilelistresponsetocopyfilesdto(response",{"_index":12189,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["filesstorageclientmapper.mapcopyfileresponsetocopyfiledto(response",{"_index":12218,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filesstorageclientmapper.mapentitytoparenttype(parent",{"_index":11719,"title":{},"body":{"classes/FileParamBuilder.html":{}}}],["filesstorageclientmapper.mapfilerecordlistresponsetodomainfilesdto(response",{"_index":12191,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["filesstorageclientmapper.mapfilerecordresponsetofiledto(record",{"_index":12216,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filesstorageclientmapper.mapstringtoparenttype(filerecordresponse.parenttype",{"_index":12219,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["filesstorageclientmodule",{"_index":3842,"title":{"modules/FilesStorageClientModule.html":{}},"body":{"modules/BoardModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/LessonModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TaskModule.html":{}}}],["filesstorageconsumer",{"_index":12160,"title":{"injectables/FilesStorageConsumer.html":{}},"body":{"modules/FilesStorageAMQPModule.html":{},"injectables/FilesStorageConsumer.html":{}}}],["filesstoragecontroller",{"_index":12167,"title":{},"body":{"modules/FilesStorageApiModule.html":{}}}],["filesstorageevents",{"_index":7141,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{}}}],["filesstorageevents.copy_files_of_parent",{"_index":12262,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["filesstorageevents.delete_files_of_parent",{"_index":12268,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["filesstorageevents.list_files_of_parent",{"_index":12264,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["filesstorageexchange",{"_index":7139,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["filesstorageinternalactions",{"_index":1316,"title":{},"body":{"injectables/AntivirusService.html":{},"controllers/FileSecurityController.html":{}}}],["filesstoragemapper",{"_index":12259,"title":{"classes/FilesStorageMapper.html":{}},"body":{"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{}}}],["filesstoragemapper.maptofilerecordlistresponse(filerecords",{"_index":12267,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["filesstoragemapper.maptofilerecordresponse(filerecord",{"_index":12306,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["filesstoragemodule",{"_index":12159,"title":{"modules/FilesStorageModule.html":{}},"body":{"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageModule.html":{}}}],["filesstorageproducer",{"_index":12177,"title":{"injectables/FilesStorageProducer.html":{}},"body":{"injectables/FilesStorageClientAdapterService.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageProducer.html":{}}}],["filesstorageservice",{"_index":12243,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["filesstoragetestmodule",{"_index":12363,"title":{"modules/FilesStorageTestModule.html":{}},"body":{"modules/FilesStorageTestModule.html":{}}}],["filesstorageuc",{"_index":11990,"title":{},"body":{"controllers/FileSecurityController.html":{},"modules/FilesStorageApiModule.html":{}}}],["filestatuses",{"_index":7308,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["filestorageauthorizationcontext",{"_index":26014,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["filestorageconfig",{"_index":12003,"title":{"interfaces/FileStorageConfig.html":{}},"body":{"interfaces/FileStorageConfig.html":{}}}],["filestoragemqproducer",{"_index":12176,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["filesystem",{"_index":5253,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/FileSystemAdapter.html":{},"interfaces/Options.html":{}}}],["filesystemadapter",{"_index":5160,"title":{"injectables/FileSystemAdapter.html":{}},"body":{"interfaces/CollectionFilePath.html":{},"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{}}}],["filesystemmodule",{"_index":12091,"title":{"modules/FileSystemModule.html":{}},"body":{"modules/FileSystemModule.html":{},"modules/ManagementModule.html":{}}}],["filetype",{"_index":18379,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["filetyperesult",{"_index":18382,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["fileupload_enabled=false",{"_index":25961,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["fileurlparams",{"_index":7213,"title":{"classes/FileUrlParams.html":{}},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["fileurlreplacement",{"_index":7286,"title":{},"body":{"injectables/CopyFilesService.html":{},"injectables/TaskCopyService.html":{}}}],["fileurlreplacements",{"_index":7298,"title":{},"body":{"injectables/CopyFilesService.html":{},"injectables/TaskCopyService.html":{}}}],["fileurlreplacements.foreach",{"_index":21459,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["fill",{"_index":25810,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["filled",{"_index":10526,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["filledtemplate",{"_index":10389,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["filter",{"_index":4656,"title":{},"body":{"classes/ClassFilterParams.html":{},"interfaces/CollectionFilePath.html":{},"injectables/CommonToolValidationService.html":{},"classes/DatabaseManagementConsole.html":{},"modules/ErrorModule.html":{},"injectables/FilesRepo.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterUserParams.html":{},"interfaces/IImportUserScope.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMatchMapper.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ListOauthClientsParams.html":{},"interfaces/NameMatch.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"interfaces/Options.html":{},"injectables/S3ClientAdapter.html":{},"injectables/TaskUC.html":{},"controllers/TeamNewsController.html":{},"todo.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["filter((data",{"_index":5244,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["filter((element",{"_index":7395,"title":{},"body":{"classes/CopyMapper.html":{}}}],["filter((entity",{"_index":21185,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["filter((group",{"_index":19624,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["filter((groupuser",{"_index":12974,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["filter((key",{"_index":11029,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{},"injectables/UserDORepo.html":{}}}],["filter((match",{"_index":14165,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["filter((otheruser",{"_index":19633,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["filter((result",{"_index":140,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["filter((rolename",{"_index":23747,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["filter((user",{"_index":14877,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["filter(issubmissionitem",{"_index":9828,"title":{},"body":{"injectables/ElementUc.html":{}}}],["filter.ts",{"_index":16636,"title":{},"body":{"interfaces/NewsTargetFilter.html":{}}}],["filter/global",{"_index":9955,"title":{},"body":{"modules/ErrorModule.html":{}}}],["filterallowed",{"_index":4488,"title":{},"body":{"injectables/CardUc.html":{}}}],["filterallowed(userid",{"_index":4497,"title":{},"body":{"injectables/CardUc.html":{}}}],["filterbypermission",{"_index":9649,"title":{},"body":{"classes/DtoCreator.html":{}}}],["filterbypermission(elements",{"_index":9667,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["filtercoursesbytoolavailability",{"_index":11286,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["filtercoursesbytoolavailability(courses",{"_index":11300,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["filtered",{"_index":5219,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/CopyHelperService.html":{},"classes/DtoCreator.html":{},"injectables/ExternalToolService.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["filtered.every((status",{"_index":7346,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["filtered.length",{"_index":6198,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/CopyHelperService.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["filtered.some((status",{"_index":7348,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["filteredaccounts",{"_index":990,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["filteredaccounts.length",{"_index":994,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["filteredaccounts[0].id.tostring",{"_index":1001,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["filteredcollectionswithfilepaths",{"_index":5227,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["filteredcollectionswithfilepaths.length",{"_index":5230,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["filteredpathobjects",{"_index":19433,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["filteredtoolreferences",{"_index":23040,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["filteredusers",{"_index":17676,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["filteremailadresses",{"_index":16077,"title":{},"body":{"injectables/MailService.html":{}}}],["filteremailadresses(mails",{"_index":16081,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["filterforavailableexternaltools",{"_index":10116,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterforavailableexternaltools(externaltools",{"_index":10126,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterforavailableschoolexternaltools",{"_index":10117,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterforavailableschoolexternaltools(schoolexternaltools",{"_index":10131,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterforavailabletools",{"_index":10118,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterforavailabletools(externaltools",{"_index":10135,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterforcontextrestrictions",{"_index":10119,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterforcontextrestrictions(availabletools",{"_index":10138,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterimportuserparams",{"_index":12368,"title":{"classes/FilterImportUserParams.html":{}},"body":{"classes/FilterImportUserParams.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{}}}],["filtermatchtype",{"_index":12381,"title":{},"body":{"classes/FilterImportUserParams.html":{},"classes/ImportUserMatchMapper.html":{}}}],["filtermatchtype.auto",{"_index":14034,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["filtermatchtype.manual",{"_index":14036,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["filtermatchtype.none",{"_index":14038,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["filternewsparams",{"_index":12392,"title":{"classes/FilterNewsParams.html":{}},"body":{"classes/FilterNewsParams.html":{},"controllers/NewsController.html":{},"classes/NewsMapper.html":{},"controllers/TeamNewsController.html":{}}}],["filterparametersforscope",{"_index":10120,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterparametersforscope(externaltool",{"_index":10141,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["filterparams",{"_index":12713,"title":{},"body":{"controllers/GroupController.html":{},"controllers/SystemController.html":{}}}],["filterparams.onlyoauth",{"_index":21068,"title":{},"body":{"controllers/SystemController.html":{}}}],["filterparams.type",{"_index":12735,"title":{},"body":{"controllers/GroupController.html":{}}}],["filterquery",{"_index":2474,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/ColumnBoardTargetService.html":{},"classes/ContextExternalToolScope.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/LessonScope.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/Scope.html":{},"injectables/SubmissionRepo.html":{},"classes/SystemScope.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"controllers/ToolController.html":{},"injectables/UserDORepo.html":{},"classes/UserScope.html":{}}}],["filterroletype",{"_index":12385,"title":{},"body":{"classes/FilterImportUserParams.html":{},"classes/RoleNameMapper.html":{}}}],["filterroletype.admin",{"_index":19039,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["filterroletype.student",{"_index":19041,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["filterroletype.teacher",{"_index":19040,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["filters",{"_index":5217,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/FilterNewsParams.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/UserRepo.html":{}}}],["filters.availableon",{"_index":21664,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["filters.classes",{"_index":14085,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["filters.finished.value",{"_index":21657,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["filters.firstname",{"_index":14077,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["filters.flagged",{"_index":14089,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["filters.lastname",{"_index":14079,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["filters.loginname",{"_index":14081,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["filters.matches",{"_index":14087,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["filters.name.replace(mongopatterns.regex_mongo_language_pattern_whitelist",{"_index":23838,"title":{},"body":{"injectables/UserRepo.html":{}}}],["filters.role",{"_index":14083,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["filters?.afterduedateornone",{"_index":21660,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["filters?.availableon",{"_index":21662,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["filters?.draft",{"_index":21668,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["filters?.finished",{"_index":21655,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["filters?.hidden",{"_index":15492,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["filters?.name",{"_index":23835,"title":{},"body":{"injectables/UserRepo.html":{}}}],["filters?.nofutureavailabledate",{"_index":21670,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["filters?.onlyactivecourses",{"_index":7892,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["filtersubmissionsbypermission",{"_index":20985,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["filtersubmissionsbypermission(submissions",{"_index":20989,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["filtertoolswithpermissions",{"_index":7025,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["filtertoolswithpermissions(userid",{"_index":7036,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["filterundefined",{"_index":15936,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["filteruserparams",{"_index":12404,"title":{"classes/FilterUserParams.html":{}},"body":{"classes/FilterUserParams.html":{},"controllers/ImportUserController.html":{},"classes/UserMatchMapper.html":{}}}],["final",{"_index":13183,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["finally",{"_index":25019,"title":{},"body":{"license.html":{}}}],["find",{"_index":5091,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolRepo.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FileRecordRepo.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/ImportUserScope.html":{},"injectables/LdapStrategy.html":{},"injectables/LessonCopyUC.html":{},"injectables/NewsRepo.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SubmissionItemUc.html":{},"controllers/SystemController.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"injectables/TldrawWsService.html":{},"injectables/UserDORepo.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"index.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["find((item",{"_index":9829,"title":{},"body":{"injectables/ElementUc.html":{}}}],["find((result",{"_index":143,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["find(@query",{"_index":21065,"title":{},"body":{"controllers/SystemController.html":{}}}],["find(filterparams",{"_index":21048,"title":{},"body":{"controllers/SystemController.html":{}}}],["find(params",{"_index":11393,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["find(query",{"_index":6808,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/UserDORepo.html":{}}}],["findaccountbydbcaccountid",{"_index":13768,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["findaccountbydbcaccountid(accountdbcaccountid",{"_index":13782,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["findaccountbydbcuserid",{"_index":13769,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["findaccountbydbcuserid(accountdbcuserid",{"_index":13785,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["findaccountbyid",{"_index":319,"title":{},"body":{"controllers/AccountController.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["findaccountbyid(accountid",{"_index":13787,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["findaccountbyid(currentuser",{"_index":350,"title":{},"body":{"controllers/AccountController.html":{}}}],["findaccountbyid(id",{"_index":14729,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["findaccountsbyusername",{"_index":13770,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["findaccountsbyusername(username",{"_index":13788,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["findall",{"_index":15317,"title":{},"body":{"injectables/LegacySystemRepo.html":{},"controllers/NewsController.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SystemOidcService.html":{},"controllers/TaskController.html":{},"injectables/TaskUC.html":{}}}],["findall(currentuser",{"_index":16448,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TaskController.html":{}}}],["findall(userid",{"_index":21789,"title":{},"body":{"injectables/TaskUC.html":{}}}],["findallbyconfigtype",{"_index":10631,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["findallbyconfigtype(type",{"_index":10637,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["findallbycontext",{"_index":6980,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["findallbycontext(contextref",{"_index":6993,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["findallbycourseids",{"_index":15479,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["findallbycourseids(courseids",{"_index":15482,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["findallbydeletionrequestid",{"_index":9220,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["findallbydeletionrequestid(deletionrequestid",{"_index":9224,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["findallbyparentids",{"_index":21581,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["findallbyparentids(parentids",{"_index":21587,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["findallbyschoolid",{"_index":4807,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["findallbyschoolid(schoolid",{"_index":4810,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["findallbytask",{"_index":20957,"title":{},"body":{"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{}}}],["findallbytask(taskid",{"_index":20962,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["findallbytask(userid",{"_index":20991,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["findallbytaskids",{"_index":20906,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["findallbytaskids(taskids",{"_index":20910,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["findallbyuser",{"_index":7934,"title":{},"body":{"injectables/CourseUc.html":{}}}],["findallbyuser(userid",{"_index":7936,"title":{},"body":{"injectables/CourseUc.html":{}}}],["findallbyuserandfilename",{"_index":22045,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findallbyuserandfilename(userid",{"_index":22049,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findallbyuserid",{"_index":4764,"title":{},"body":{"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/SubmissionRepo.html":{}}}],["findallbyuserid(userid",{"_index":4770,"title":{},"body":{"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CourseRepo.html":{},"injectables/CourseService.html":{},"injectables/SubmissionRepo.html":{}}}],["findallcoursegroupsbyuserid",{"_index":7764,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["findallcoursegroupsbyuserid(userid",{"_index":7769,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["findallcoursesbyuserid",{"_index":7919,"title":{},"body":{"injectables/CourseService.html":{}}}],["findallcoursesbyuserid(userid",{"_index":7924,"title":{},"body":{"injectables/CourseService.html":{}}}],["findallfinished",{"_index":21382,"title":{},"body":{"controllers/TaskController.html":{},"injectables/TaskUC.html":{}}}],["findallfinished(currentuser",{"_index":21392,"title":{},"body":{"controllers/TaskController.html":{}}}],["findallfinished(userid",{"_index":21791,"title":{},"body":{"injectables/TaskUC.html":{}}}],["findallfinishedbyparentids",{"_index":21582,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["findallfinishedbyparentids(parentids",{"_index":21591,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["findallforstudent",{"_index":21781,"title":{},"body":{"injectables/TaskUC.html":{}}}],["findallforstudent(user",{"_index":21793,"title":{},"body":{"injectables/TaskUC.html":{}}}],["findallforteacher",{"_index":7861,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/TaskUC.html":{}}}],["findallforteacher(user",{"_index":21795,"title":{},"body":{"injectables/TaskUC.html":{}}}],["findallforteacher(userid",{"_index":7868,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["findallforteacherorsubstituteteacher",{"_index":7862,"title":{},"body":{"injectables/CourseRepo.html":{}}}],["findallforteacherorsubstituteteacher(userid",{"_index":7870,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["findallforteam",{"_index":21926,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["findallforteam(urlparams",{"_index":21927,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["findallforuser",{"_index":16638,"title":{},"body":{"injectables/NewsUc.html":{}}}],["findallforuser(userid",{"_index":16648,"title":{},"body":{"injectables/NewsUc.html":{}}}],["findallimportusers",{"_index":13866,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["findallimportusers(currentuser",{"_index":13876,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["findallitemstoexecute",{"_index":9461,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["findallitemstoexecute(limit",{"_index":9467,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["findallitemstoexecution",{"_index":9407,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["findallitemstoexecution(limit",{"_index":9415,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["findalllessonsbyuserid",{"_index":15544,"title":{},"body":{"injectables/LessonService.html":{}}}],["findalllessonsbyuserid(userid",{"_index":15551,"title":{},"body":{"injectables/LessonService.html":{}}}],["findallpublished",{"_index":16568,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["findallpublished(targets",{"_index":16571,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["findalltasks",{"_index":21383,"title":{},"body":{"controllers/TaskController.html":{}}}],["findalltasks(currentuser",{"_index":21395,"title":{},"body":{"controllers/TaskController.html":{}}}],["findallunmatchedusers",{"_index":13867,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["findallunmatchedusers(currentuser",{"_index":13879,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["findallunpublishedbyuser",{"_index":16569,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["findallunpublishedbyuser(targets",{"_index":16574,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["findandcount",{"_index":11890,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findandcount(scope",{"_index":11898,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findboard",{"_index":4089,"title":{},"body":{"injectables/BoardUc.html":{}}}],["findboard(userid",{"_index":4097,"title":{},"body":{"injectables/BoardUc.html":{}}}],["findboardcontext",{"_index":4090,"title":{},"body":{"injectables/BoardUc.html":{}}}],["findboardcontext(userid",{"_index":4099,"title":{},"body":{"injectables/BoardUc.html":{}}}],["findbyclassandid",{"_index":3590,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["findbyclassandid(doclass",{"_index":3603,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["findbyclientidandislocal",{"_index":16000,"title":{},"body":{"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{}}}],["findbyclientidandislocal(clientid",{"_index":16051,"title":{},"body":{"injectables/LtiToolService.html":{}}}],["findbyclientidandislocal(oauthclientid",{"_index":16002,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["findbycourseid",{"_index":3937,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["findbycourseid(courseid",{"_index":3942,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["findbycourseids",{"_index":7742,"title":{},"body":{"injectables/CourseGroupRepo.html":{},"injectables/LessonService.html":{}}}],["findbycourseids(courseids",{"_index":7743,"title":{},"body":{"injectables/CourseGroupRepo.html":{},"injectables/LessonService.html":{}}}],["findbydeletionrequestid",{"_index":9244,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["findbydeletionrequestid(deletionrequestid",{"_index":9249,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["findbydescendant",{"_index":5450,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["findbydescendant(boarddo",{"_index":5462,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["findbydocname",{"_index":22363,"title":{},"body":{"injectables/TldrawRepo.html":{}}}],["findbydocname(docname",{"_index":22368,"title":{},"body":{"injectables/TldrawRepo.html":{}}}],["findbyemail",{"_index":23811,"title":{},"body":{"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["findbyemail(email",{"_index":23816,"title":{},"body":{"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["findbyexternalid",{"_index":15238,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserService.html":{}}}],["findbyexternalid(externalid",{"_index":15241,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserService.html":{}}}],["findbyexternalidorfail",{"_index":23264,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["findbyexternalidorfail(externalid",{"_index":23270,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["findbyexternalsource",{"_index":12831,"title":{},"body":{"injectables/GroupRepo.html":{},"injectables/GroupService.html":{}}}],["findbyexternalsource(externalid",{"_index":12835,"title":{},"body":{"injectables/GroupRepo.html":{},"injectables/GroupService.html":{}}}],["findbyexternaltoolid",{"_index":19764,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["findbyexternaltoolid(toolid",{"_index":19772,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["findbyfilter",{"_index":15318,"title":{},"body":{"injectables/LegacySystemRepo.html":{},"injectables/SystemUc.html":{}}}],["findbyfilter(type",{"_index":15320,"title":{},"body":{"injectables/LegacySystemRepo.html":{},"injectables/SystemUc.html":{}}}],["findbyid",{"_index":12,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"injectables/CardService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolService.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"injectables/CourseService.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"injectables/ShareTokenRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/VideoConferenceRepo.html":{}}}],["findbyid(boardid",{"_index":5464,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["findbyid(cardid",{"_index":4444,"title":{},"body":{"injectables/CardService.html":{}}}],["findbyid(columnid",{"_index":5636,"title":{},"body":{"injectables/ColumnService.html":{}}}],["findbyid(contentid",{"_index":13101,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["findbyid(contextexternaltoolid",{"_index":6995,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["findbyid(courseid",{"_index":7926,"title":{},"body":{"injectables/CourseService.html":{}}}],["findbyid(deletionlogid",{"_index":9226,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["findbyid(deletionrequestid",{"_index":9417,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["findbyid(elementid",{"_index":6401,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["findbyid(id",{"_index":40,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"injectables/ShareTokenRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionRepo.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/VideoConferenceRepo.html":{}}}],["findbyid(lessonid",{"_index":15554,"title":{},"body":{"injectables/LessonService.html":{}}}],["findbyid(schoolexternaltoolid",{"_index":19837,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["findbyid(submissionid",{"_index":20965,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["findbyid(taskid",{"_index":21759,"title":{},"body":{"injectables/TaskService.html":{}}}],["findbyidorfail",{"_index":6981,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["findbyidorfail(contextexternaltoolid",{"_index":6997,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["findbyidornull",{"_index":6795,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserService.html":{}}}],["findbyidornull(id",{"_index":6811,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserService.html":{}}}],["findbyids",{"_index":3591,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/CardService.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{}}}],["findbyids(cardids",{"_index":4447,"title":{},"body":{"injectables/CardService.html":{}}}],["findbyids(ids",{"_index":3608,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{}}}],["findbyname",{"_index":10632,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/RoleRepo.html":{}}}],["findbyname(machinename",{"_index":15603,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["findbyname(name",{"_index":10638,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/RoleRepo.html":{}}}],["findbynameandexactversion",{"_index":15597,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["findbynameandexactversion(machinename",{"_index":15605,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["findbynames",{"_index":19047,"title":{},"body":{"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{}}}],["findbynames(names",{"_index":19050,"title":{},"body":{"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{}}}],["findbyoauth2configclientid",{"_index":10633,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["findbyoauth2configclientid(clientid",{"_index":10640,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["findbyoauthclientid",{"_index":16001,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["findbyoauthclientid(oauthclientid",{"_index":16005,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["findbyowneruserid",{"_index":12109,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["findbyowneruserid(owneruserid",{"_index":12113,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["findbyparentid",{"_index":11891,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbyparentid(parentid",{"_index":11901,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbypermissionrefid",{"_index":12110,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["findbypermissionrefid(permissionrefid",{"_index":12116,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["findbyschoolid",{"_index":19765,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["findbyschoolid(schoolid",{"_index":19773,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["findbyschoolidandparentid",{"_index":11892,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbyschoolidandparentid(schoolid",{"_index":11903,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbyschoolidandparentidandmarkedfordelete",{"_index":11893,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbyschoolidandparentidandmarkedfordelete(schoolid",{"_index":11905,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbyschoolnumber",{"_index":15239,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["findbyschoolnumber(officialschoolnumber",{"_index":15243,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["findbyscopeandscopeid",{"_index":24315,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["findbyscopeandscopeid(scopeid",{"_index":24316,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["findbysecuritycheckrequesttoken",{"_index":11894,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbysecuritycheckrequesttoken(token",{"_index":11907,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findbysingleparent",{"_index":21583,"title":{},"body":{"injectables/TaskRepo.html":{},"injectables/TaskService.html":{}}}],["findbysingleparent(creatorid",{"_index":21593,"title":{},"body":{"injectables/TaskRepo.html":{},"injectables/TaskService.html":{}}}],["findbytype",{"_index":15340,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["findbytype(type",{"_index":15345,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["findbyuser",{"_index":12832,"title":{},"body":{"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"injectables/TemporaryFileRepo.html":{}}}],["findbyuser(user",{"_index":12838,"title":{},"body":{"injectables/GroupRepo.html":{},"injectables/GroupService.html":{}}}],["findbyuser(userid",{"_index":22051,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findbyuserandfilename",{"_index":22046,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findbyuserandfilename(userid",{"_index":22053,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findbyuserandtoolorthrow",{"_index":18241,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["findbyuserandtoolorthrow(user",{"_index":16788,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"injectables/PseudonymService.html":{}}}],["findbyuserid",{"_index":13,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/CourseGroupRepo.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/LessonRepo.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"injectables/TeamsRepo.html":{}}}],["findbyuserid(userid",{"_index":42,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/CourseGroupRepo.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/LessonRepo.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"injectables/TeamsRepo.html":{}}}],["findbyuseridandtoolid",{"_index":10573,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["findbyuseridandtoolid(userid",{"_index":10585,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["findbyuseridandtoolidorfail",{"_index":10574,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["findbyuseridandtoolidorfail(userid",{"_index":10587,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["findbyuseridorfail",{"_index":14,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{}}}],["findbyuseridorfail(userid",{"_index":44,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{}}}],["findbyusernameandsystemid",{"_index":15,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{}}}],["findbyusernameandsystemid(username",{"_index":46,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{}}}],["findcards",{"_index":4489,"title":{},"body":{"injectables/CardUc.html":{}}}],["findcards(userid",{"_index":4500,"title":{},"body":{"injectables/CardUc.html":{}}}],["findclasses",{"_index":12711,"title":{},"body":{"controllers/GroupController.html":{}}}],["findclasses(pagination",{"_index":12712,"title":{},"body":{"controllers/GroupController.html":{}}}],["findclassesforschool",{"_index":4765,"title":{},"body":{"injectables/ClassService.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{}}}],["findclassesforschool(schoolid",{"_index":4772,"title":{},"body":{"injectables/ClassService.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{}}}],["findcontextexternaltools",{"_index":6982,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["findcontextexternaltools(query",{"_index":6999,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["findcurrentyear",{"_index":20092,"title":{},"body":{"injectables/SchoolYearRepo.html":{}}}],["finddescendants",{"_index":3898,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["finddescendants(node",{"_index":3902,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["finddescendantsofmany",{"_index":3899,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["finddescendantsofmany(nodes",{"_index":3904,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["finddocumentsofcollection",{"_index":8834,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["finddocumentsofcollection(collectionname",{"_index":8846,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["findevent",{"_index":4276,"title":{},"body":{"injectables/CalendarService.html":{}}}],["findevent(userid",{"_index":4279,"title":{},"body":{"injectables/CalendarService.html":{}}}],["findexistinggridelement",{"_index":8622,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["findexistinggridelement(elementwithposition",{"_index":8635,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["findexistingtargets",{"_index":5557,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["findexistingtargets(columnboardids",{"_index":5560,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["findexpired",{"_index":22047,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findexpiredbyuser",{"_index":22048,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findexpiredbyuser(userid",{"_index":22056,"title":{},"body":{"injectables/TemporaryFileRepo.html":{}}}],["findexternaltool",{"_index":11034,"title":{},"body":{"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["findexternaltool(currentuser",{"_index":22760,"title":{},"body":{"controllers/ToolController.html":{}}}],["findexternaltool(userid",{"_index":11045,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["findexternaltoolbyname",{"_index":10925,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["findexternaltoolbyname(name",{"_index":10942,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["findexternaltoolbyoauth2configclientid",{"_index":10926,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["findexternaltoolbyoauth2configclientid(clientid",{"_index":10944,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["findexternaltoolpseudonymsbyuserid",{"_index":18242,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["findexternaltoolpseudonymsbyuserid(userid",{"_index":18256,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["findexternaltools",{"_index":10927,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["findexternaltools(query",{"_index":10946,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["findfederalstatebyname",{"_index":11429,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["findfederalstatebyname(name",{"_index":11432,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["findfilesaccessiblebyuser",{"_index":12135,"title":{},"body":{"injectables/FilesService.html":{}}}],["findfilesaccessiblebyuser(userid",{"_index":12140,"title":{},"body":{"injectables/FilesService.html":{}}}],["findfilesownedbyuser",{"_index":12136,"title":{},"body":{"injectables/FilesService.html":{}}}],["findfilesownedbyuser(userid",{"_index":12142,"title":{},"body":{"injectables/FilesService.html":{}}}],["findforcleanup",{"_index":12111,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["findforcleanup(thresholddate",{"_index":12119,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["findforuser",{"_index":7573,"title":{},"body":{"controllers/CourseController.html":{},"controllers/DashboardController.html":{}}}],["findforuser(@currentuser",{"_index":8363,"title":{},"body":{"controllers/DashboardController.html":{}}}],["findforuser(currentuser",{"_index":7579,"title":{},"body":{"controllers/CourseController.html":{},"controllers/DashboardController.html":{}}}],["findidsbyexternalreference",{"_index":3592,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/ColumnBoardService.html":{}}}],["findidsbyexternalreference(reference",{"_index":3610,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/ColumnBoardService.html":{}}}],["findimportusers",{"_index":14056,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["findimportusers(school",{"_index":14062,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["findimportusersandcount",{"_index":14057,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["findimportusersandcount(query",{"_index":14064,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["finding",{"_index":3917,"title":{},"body":{"injectables/BoardNodeRepo.html":{},"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{}}}],["findlegacyltitool",{"_index":16723,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["findmany",{"_index":16,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{}}}],["findmany(offset",{"_index":54,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{}}}],["findmigrationbyschool",{"_index":23636,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["findmigrationbyschool(schoolid",{"_index":23649,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["findmigrationbyuser",{"_index":23637,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["findmigrationbyuser(userid",{"_index":23651,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["findmultiplebyuserid",{"_index":17,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{}}}],["findmultiplebyuserid(userids",{"_index":60,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{}}}],["findnewestbynameandversion",{"_index":15598,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["findnewestbynameandversion(machinename",{"_index":15607,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["findnewsandcount",{"_index":16570,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["findnewsandcount(query",{"_index":16576,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["findnextcloudtool",{"_index":16724,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["findone",{"_index":7863,"title":{},"body":{"injectables/CourseRepo.html":{},"controllers/NewsController.html":{}}}],["findone(@param",{"_index":16476,"title":{},"body":{"controllers/NewsController.html":{}}}],["findone(courseid",{"_index":7873,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["findone(urlparams",{"_index":16451,"title":{},"body":{"controllers/NewsController.html":{}}}],["findonebyid",{"_index":11895,"title":{},"body":{"injectables/FileRecordRepo.html":{},"injectables/NewsRepo.html":{}}}],["findonebyid(id",{"_index":11909,"title":{},"body":{"injectables/FileRecordRepo.html":{},"injectables/NewsRepo.html":{}}}],["findonebyidforuser",{"_index":16639,"title":{},"body":{"injectables/NewsUc.html":{}}}],["findonebyidforuser(id",{"_index":16652,"title":{},"body":{"injectables/NewsUc.html":{}}}],["findonebyidmarkedfordelete",{"_index":11896,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findonebyidmarkedfordelete(id",{"_index":11911,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findonebynameandversionorfail",{"_index":15599,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["findonebynameandversionorfail(machinename",{"_index":15609,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["findonebytoken",{"_index":20401,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["findonebytoken(token",{"_index":20402,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["findoneorfail",{"_index":11897,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findoneorfail(scope",{"_index":11913,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["findoneorfailhandler",{"_index":12330,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["findorcreatepseudonym",{"_index":18243,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["findorcreatepseudonym(user",{"_index":18258,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["findorcreatetargets",{"_index":5558,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["findorcreatetargets(columnboardids",{"_index":5563,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["findparentofid",{"_index":3593,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/ContentElementService.html":{}}}],["findparentofid(childid",{"_index":3613,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["findparentofid(elementid",{"_index":6403,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["findpseudonym",{"_index":10575,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymService.html":{}}}],["findpseudonym(query",{"_index":10589,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymService.html":{}}}],["findpseudonymbypseudonym",{"_index":10576,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/FeathersRosterService.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{}}}],["findpseudonymbypseudonym(pseudonym",{"_index":10592,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/FeathersRosterService.html":{},"injectables/PseudonymService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["findpseudonymbypseudonym(userid",{"_index":18293,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["findpseudonymsbyuserid",{"_index":18244,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["findpseudonymsbyuserid(userid",{"_index":18262,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["finds",{"_index":741,"title":{},"body":{"injectables/AccountRepo.html":{},"controllers/SystemController.html":{},"injectables/TeamsRepo.html":{}}}],["findschoolexternaltools",{"_index":19827,"title":{},"body":{"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["findschoolexternaltools(query",{"_index":19839,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["findschoolexternaltools(userid",{"_index":19872,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["findstatusesbytask",{"_index":20750,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["findstatusesbytask(currentuser",{"_index":20754,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["findsubmissionitems",{"_index":20870,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["findsubmissionitems(userid",{"_index":20874,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["findtasksandcount",{"_index":21584,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["findtasksandcount(query",{"_index":21595,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["findteambyid",{"_index":5080,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["findteambyid(teamid",{"_index":5088,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["findtoolbyclientid",{"_index":17358,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["findtoolbyclientid(clientid",{"_index":17362,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["finduserafterprovisioningorthrow",{"_index":16851,"title":{},"body":{"injectables/OAuthService.html":{}}}],["finduserafterprovisioningorthrow(externaluserid",{"_index":16863,"title":{},"body":{"injectables/OAuthService.html":{}}}],["finduserdatafromteams",{"_index":21978,"title":{},"body":{"injectables/TeamService.html":{}}}],["finduserdatafromteams(userid",{"_index":21983,"title":{},"body":{"injectables/TeamService.html":{}}}],["finduserloginmigrationbyschool",{"_index":23414,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["finduserloginmigrationbyschool(user",{"_index":23428,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["finduserloginmigrationbyschool(userid",{"_index":23692,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["findusers",{"_index":23889,"title":{},"body":{"injectables/UserService.html":{}}}],["findusers(query",{"_index":23901,"title":{},"body":{"injectables/UserService.html":{}}}],["findwithoutimportuser",{"_index":23812,"title":{},"body":{"injectables/UserRepo.html":{}}}],["findwithoutimportuser(school",{"_index":23819,"title":{},"body":{"injectables/UserRepo.html":{}}}],["fine",{"_index":25698,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["finish",{"_index":21384,"title":{},"body":{"controllers/TaskController.html":{}}}],["finish(@param",{"_index":21422,"title":{},"body":{"controllers/TaskController.html":{}}}],["finish(urlparams",{"_index":21397,"title":{},"body":{"controllers/TaskController.html":{}}}],["finishcoursecopying",{"_index":7613,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["finishcoursecopying(coursecopy",{"_index":7625,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["finished",{"_index":8898,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"interfaces/ITask.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"interfaces/TaskCreate.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"interfaces/TaskStatus.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{}}}],["finished(user",{"_index":21523,"title":{},"body":{"classes/TaskFactory.html":{}}}],["finishedat",{"_index":23507,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["finishedcoursecopy",{"_index":7642,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["finishedcourseids",{"_index":21608,"title":{},"body":{"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{}}}],["finishedids",{"_index":21309,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["finishedobjectids",{"_index":21307,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["finishedobjectids.map((id",{"_index":21310,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["finisheduserid",{"_index":21321,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["finisheduserids",{"_index":21317,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["finisheduserids.some((finisheduserid",{"_index":21320,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["finishforuser(user",{"_index":21365,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["finishing",{"_index":23553,"title":{},"body":{"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["first",{"_index":413,"title":{},"body":{"controllers/AccountController.html":{},"injectables/BatchDeletionUc.html":{},"interfaces/CleanOptions.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/ICurrentUser.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"interfaces/JwtPayload.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementService.html":{},"interfaces/MigrationOptions.html":{},"injectables/NewsUc.html":{},"classes/PatchMyAccountParams.html":{},"interfaces/RetryOptions.html":{},"classes/UserInfoResponse.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["firstbrokerloginflowalias",{"_index":17564,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["firstchar",{"_index":7559,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["firstclass",{"_index":13957,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["firstname",{"_index":700,"title":{},"body":{"interfaces/AccountParams.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/CollectionFilePath.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/ExternalUserDto.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterUserParams.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUserResponse.html":{},"interfaces/IImportUserScope.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/IservMapper.html":{},"interfaces/JsonUser.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"interfaces/NameMatch.html":{},"injectables/OidcProvisioningService.html":{},"classes/PatchMyAccountParams.html":{},"classes/ResolvedUserResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SortImportUserParams.html":{},"classes/SubmissionItemResponseMapper.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["firstname.replace(mongopatterns.regex_mongo_language_pattern_whitelist",{"_index":14145,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["firstnamesearchvalues",{"_index":5319,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserProperties.html":{}}}],["firstvaluefrom",{"_index":2381,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"injectables/DeletionClient.html":{},"injectables/DrawingElementAdapterService.html":{},"injectables/HydraSsoService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["firstvaluefrom(observable",{"_index":2396,"title":{},"body":{"injectables/BBBService.html":{}}}],["firstvaluefrom(request",{"_index":9033,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["firstvaluefrom(respobservable",{"_index":13589,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["fishery",{"_index":575,"title":{},"body":{"classes/AccountFactory.html":{},"classes/AxiosErrorFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LtiToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/ShareTokenFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["fit",{"_index":6143,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["fitness",{"_index":25163,"title":{},"body":{"license.html":{}}}],["fix",{"_index":1850,"title":{},"body":{"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/TaskUC.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["fixable",{"_index":25376,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["fixed",{"_index":7852,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/RpcMessageProducer.html":{},"entities/SchoolNews.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{},"license.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["fixeddata",{"_index":19546,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["fixedresponse",{"_index":19556,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["fixedresponse.personenkontexte[0].gruppen",{"_index":19558,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["fixedresponse.personenkontexte[0].gruppen.length",{"_index":19565,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["fixedresponse?.personenkontexte?.length",{"_index":19557,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["fixes",{"_index":25251,"title":{},"body":{"todo.html":{}}}],["fixing",{"_index":26084,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["fixme",{"_index":4776,"title":{},"body":{"injectables/ClassService.html":{},"injectables/CommonCartridgeExportService.html":{},"entities/CourseNews.html":{},"modules/LearnroomApiModule.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{}}}],["fixtures",{"_index":25793,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["fixups",{"_index":25860,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["flag",{"_index":12401,"title":{},"body":{"classes/FilterNewsParams.html":{},"interfaces/IToolFeatures.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemFilterParams.html":{},"classes/ToolConfiguration.html":{},"injectables/ToolVersionService.html":{},"classes/UpdateFlagParams.html":{},"classes/UserMigrationIsNotEnabled.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["flag.params.ts",{"_index":23118,"title":{},"body":{"classes/UpdateFlagParams.html":{}}}],["flag.params.ts:7",{"_index":23120,"title":{},"body":{"classes/UpdateFlagParams.html":{}}}],["flagged",{"_index":12371,"title":{},"body":{"classes/FilterImportUserParams.html":{},"interfaces/IImportUserScope.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"interfaces/NameMatch.html":{},"classes/UpdateFlagParams.html":{}}}],["flags",{"_index":4863,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/Options.html":{},"interfaces/RetryOptions.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["flexible",{"_index":25450,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["flow",{"_index":14548,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"license.html":{}}}],["flow.id",{"_index":14563,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["flow.service",{"_index":13717,"title":{},"body":{"injectables/IdTokenService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"modules/OauthProviderModule.html":{}}}],["flow.service.ts",{"_index":17357,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["flow.service.ts:11",{"_index":17361,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["flow.service.ts:18",{"_index":17363,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["flow.service.ts:39",{"_index":17365,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["flow.uc",{"_index":17300,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["flow.uc.ts",{"_index":17217,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{}}}],["flow.uc.ts:104",{"_index":17386,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["flow.uc.ts:15",{"_index":17223,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["flow.uc.ts:17",{"_index":17379,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["flow.uc.ts:21",{"_index":17227,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["flow.uc.ts:26",{"_index":17229,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["flow.uc.ts:31",{"_index":17384,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["flow.uc.ts:46",{"_index":17381,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["flow.uc.ts:50",{"_index":17232,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["flow.uc.ts:58",{"_index":17225,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["flow.uc.ts:6",{"_index":17412,"title":{},"body":{"injectables/OauthProviderLogoutFlowUc.html":{}}}],["flow.uc.ts:80",{"_index":17235,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["flow.uc.ts:9",{"_index":17414,"title":{},"body":{"injectables/OauthProviderLogoutFlowUc.html":{}}}],["flow.uc.ts:92",{"_index":17388,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["flowalias",{"_index":14545,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["flows",{"_index":14559,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["flows.find((tempflow",{"_index":14561,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["flush",{"_index":730,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/UserRepo.html":{}}}],["flushdocument",{"_index":22232,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"injectables/TldrawWsService.html":{}}}],["flushdocument(docname",{"_index":22238,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"injectables/TldrawWsService.html":{}}}],["flushsize",{"_index":22229,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["fn",{"_index":3797,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["fn(i",{"_index":3832,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["fname",{"_index":1066,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["folder",{"_index":5175,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/FileSystemAdapter.html":{},"injectables/NextcloudStrategy.html":{},"interfaces/Options.html":{},"injectables/S3ClientAdapter.html":{},"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["folder_id",{"_index":13021,"title":{},"body":{"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/Meta.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OcsResponse.html":{},"interfaces/SuccessfulRes.html":{}}}],["folderid",{"_index":16758,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["foldername",{"_index":16769,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["folderpath",{"_index":5183,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/FileSystemAdapter.html":{}}}],["folders",{"_index":16772,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["folgendem",{"_index":5531,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["follow",{"_index":6238,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["following",{"_index":8943,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["follows",{"_index":25882,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["foo",{"_index":25396,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["foractivecourses",{"_index":7883,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["forallgrouptypes",{"_index":7908,"title":{},"body":{"classes/CourseScope.html":{}}}],["forallgrouptypes(userid",{"_index":7878,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["forbid",{"_index":24839,"title":{},"body":{"license.html":{}}}],["forbidden",{"_index":12419,"title":{},"body":{"classes/ForbiddenOperationError.html":{},"injectables/TemporaryFileStorage.html":{},"controllers/ToolLaunchController.html":{},"injectables/UserLoginMigrationUc.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["forbidden'})@apibadrequestresponse({description",{"_index":22821,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["forbidden_exception",{"_index":12412,"title":{},"body":{"classes/ForbiddenLoggableException.html":{}}}],["forbidden_operation",{"_index":12418,"title":{},"body":{"classes/ForbiddenOperationError.html":{}}}],["forbiddenexception",{"_index":2654,"title":{},"body":{"classes/BaseUc.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"classes/ErrorMapper.html":{},"classes/ForbiddenLoggableException.html":{},"controllers/H5PEditorController.html":{},"injectables/LessonCopyUC.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/RoomsUc.html":{},"controllers/ShareTokenController.html":{},"injectables/TaskCopyUC.html":{},"controllers/TldrawController.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["forbiddenexception(\"you",{"_index":17252,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["forbiddenexception('accessing",{"_index":23702,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["forbiddenexception('could",{"_index":15447,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["forbiddenexception('some",{"_index":25631,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["forbiddenexception('user",{"_index":2663,"title":{},"body":{"classes/BaseUc.html":{}}}],["forbiddenexception('you",{"_index":19257,"title":{},"body":{"injectables/RoomsUc.html":{},"injectables/TaskCopyUC.html":{}}}],["forbiddenexception(`cannot",{"_index":3065,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["forbiddenexception(errorobj.message",{"_index":9945,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["forbiddenexception(errorstatus.guests_cannot_join_conference",{"_index":24230,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["forbiddenexception(errorstatus.insufficient_permission",{"_index":24145,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{}}}],["forbiddenexception})@apiresponse({status",{"_index":3186,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/H5PEditorController.html":{},"controllers/ShareTokenController.html":{},"controllers/TldrawController.html":{}}}],["forbiddenexception})@get",{"_index":4341,"title":{},"body":{"controllers/CardController.html":{}}}],["forbiddenexception})@get(':submissioncontainerid",{"_index":4010,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["forbiddenloggableexception",{"_index":1956,"title":{"classes/ForbiddenLoggableException.html":{}},"body":{"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ForbiddenLoggableException.html":{},"injectables/ToolPermissionHelper.html":{}}}],["forbiddenloggableexception(user.id",{"_index":1988,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["forbiddenloggableexception(userid",{"_index":1960,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["forbiddenoperationerror",{"_index":343,"title":{"classes/ForbiddenOperationError.html":{}},"body":{"controllers/AccountController.html":{},"classes/ForbiddenOperationError.html":{},"controllers/LoginController.html":{}}}],["forbidnonwhitelisted",{"_index":12637,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["forbidunknownvalues",{"_index":12639,"title":{},"body":{"classes/GlobalValidationPipe.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["force",{"_index":74,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AuthenticationService.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/KeycloakConfigurationService.html":{},"interfaces/LibrariesContentType.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["force.error.ts",{"_index":4153,"title":{},"body":{"classes/BruteForceError.html":{}}}],["force.error.ts:5",{"_index":4155,"title":{},"body":{"classes/BruteForceError.html":{}}}],["force_subject_identifier",{"_index":184,"title":{},"body":{"interfaces/AcceptLoginRequestBody.html":{},"classes/OauthProviderRequestMapper.html":{}}}],["forcepasswordchange",{"_index":23138,"title":{},"body":{"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDto.html":{},"classes/UserMapper.html":{},"interfaces/UserProperties.html":{}}}],["forcepathstyle",{"_index":8953,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"modules/S3ClientModule.html":{}}}],["forceserverobjectid",{"_index":8861,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["forceupdate",{"_index":7230,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["forcourseid",{"_index":7909,"title":{},"body":{"classes/CourseScope.html":{}}}],["forcourseid(courseid",{"_index":7887,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["foreach((key",{"_index":11031,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{},"injectables/UserDORepo.html":{}}}],["foreign",{"_index":15103,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["foreignfield",{"_index":23842,"title":{},"body":{"injectables/UserRepo.html":{}}}],["form",{"_index":2810,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthAdapterService.html":{},"license.html":{}}}],["format",{"_index":403,"title":{},"body":{"controllers/AccountController.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/CollectionFilePath.html":{},"classes/ConsentRequestBody.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"interfaces/CreateJwtParams.html":{},"classes/CreateNewsParams.html":{},"classes/DownloadFileParams.html":{},"classes/ErrorResponse.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"injectables/FileSystemAdapter.html":{},"classes/FileUrlParams.html":{},"interfaces/GetFileResponse.html":{},"classes/JwtTestFactory.html":{},"modules/LoggerModule.html":{},"controllers/LoginController.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"interfaces/PreviewResponseMessage.html":{},"classes/RenameFileParams.html":{},"classes/RichText.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"classes/UsersList.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["format.'})@apioperation({summary",{"_index":22701,"title":{},"body":{"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["format.'})@apiresponse({status",{"_index":341,"title":{},"body":{"controllers/AccountController.html":{},"controllers/LoginController.html":{}}}],["format.types",{"_index":18859,"title":{},"body":{"classes/RichText.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["formatted",{"_index":621,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["formattedjwt",{"_index":1629,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["formatting",{"_index":25374,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["forms",{"_index":24885,"title":{},"body":{"license.html":{}}}],["forroot",{"_index":1048,"title":{},"body":{"modules/AdminApiServerTestModule.html":{},"modules/AntivirusModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/MailModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/RocketChatModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["forroot(options",{"_index":1045,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AntivirusModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/RocketChatModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["forroutes",{"_index":20245,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["forteacher",{"_index":7910,"title":{},"body":{"classes/CourseScope.html":{}}}],["forteacher(userid",{"_index":7882,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["forteacherorsubstituteteacher",{"_index":7911,"title":{},"body":{"classes/CourseScope.html":{}}}],["forteacherorsubstituteteacher(userid",{"_index":7881,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["forwardref",{"_index":1935,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/ExternalToolConfigurationUc.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/PseudonymModule.html":{},"injectables/SubmissionItemUc.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{}}}],["found",{"_index":347,"title":{},"body":{"controllers/AccountController.html":{},"injectables/AccountServiceDb.html":{},"injectables/BatchDeletionUc.html":{},"classes/BruteForceError.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CommonToolValidationService.html":{},"injectables/DashboardUc.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"injectables/HydraSsoService.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"injectables/Oauth2Strategy.html":{},"controllers/PseudonymController.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["found.error.ts",{"_index":9855,"title":{},"body":{"classes/EntityNotFoundError.html":{}}}],["found.error.ts:4",{"_index":9857,"title":{},"body":{"classes/EntityNotFoundError.html":{}}}],["found.exception",{"_index":10201,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/OauthProviderLoginFlowService.html":{}}}],["found.loggable",{"_index":16820,"title":{},"body":{"classes/NotFoundLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{}}}],["found.loggable.ts",{"_index":19899,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/UserForGroupNotFoundLoggable.html":{}}}],["found.loggable.ts:4",{"_index":19900,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/UserForGroupNotFoundLoggable.html":{}}}],["found.loggable.ts:7",{"_index":19901,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/UserForGroupNotFoundLoggable.html":{}}}],["foundaccount.systemid",{"_index":992,"title":{},"body":{"injectables/AccountValidationService.html":{},"injectables/AuthenticationService.html":{}}}],["foundaccounts",{"_index":492,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/KeycloakMigrationService.html":{}}}],["foundation",{"_index":24653,"title":{},"body":{"license.html":{}}}],["foundentry",{"_index":6078,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["foundentry.name",{"_index":6138,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["foundentry.value",{"_index":6135,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["foundentry?.value",{"_index":6132,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["foundparameter",{"_index":6122,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["foundpseudonym",{"_index":18295,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["foundpseudonym.userid",{"_index":18297,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["foundschool",{"_index":20078,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["foundschool.id",{"_index":20080,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["foundtools",{"_index":16810,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["foundtools.length",{"_index":16812,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["foundtools[0",{"_index":16815,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["foundusers",{"_index":979,"title":{},"body":{"injectables/AccountValidationService.html":{},"classes/KeycloakSeedService.html":{}}}],["foundusers.length",{"_index":993,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["foundusers[0].id.tostring",{"_index":999,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["free",{"_index":1625,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["freedom",{"_index":24671,"title":{},"body":{"license.html":{}}}],["freejoin",{"_index":2322,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["freeport",{"_index":24507,"title":{},"body":{"dependencies.html":{}}}],["freuen",{"_index":5525,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["friendly",{"_index":8286,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["friendlyurl",{"_index":8113,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{}}}],["from.'})@isurl({require_tld",{"_index":24094,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["from.options",{"_index":24351,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["from.permission",{"_index":24349,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["from.url",{"_index":24350,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["fromcookie",{"_index":14319,"title":{},"body":{"classes/JwtExtractor.html":{}}}],["fromcookie(name",{"_index":14320,"title":{},"body":{"classes/JwtExtractor.html":{}}}],["fromgroup",{"_index":12643,"title":{},"body":{"classes/GridElement.html":{}}}],["fromgroup(title",{"_index":8456,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["frompersistedgroup",{"_index":12644,"title":{},"body":{"classes/GridElement.html":{}}}],["frompersistedgroup(id",{"_index":8454,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["frompersistedreference",{"_index":12645,"title":{},"body":{"classes/GridElement.html":{}}}],["frompersistedreference(id",{"_index":8453,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["fromsinglereference",{"_index":12646,"title":{},"body":{"classes/GridElement.html":{}}}],["fromsinglereference(reference",{"_index":8455,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["front",{"_index":15839,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["frontchannel",{"_index":17012,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["frontchannel_logout_uri",{"_index":8116,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"injectables/ExternalToolServiceMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/OauthClientBody.html":{}}}],["frontchannellogouturi",{"_index":8263,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["fs",{"_index":12073,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/KeycloakSeedService.html":{},"interfaces/LibrariesContentType.html":{},"classes/ReferencesService.html":{},"injectables/TemporaryFileStorage.html":{},"dependencies.html":{}}}],["fs.readfile(this.inputfiles.accountsfile",{"_index":14884,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["fs.readfile(this.inputfiles.usersfile",{"_index":14886,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["fs.readfilesync(filepath).tostring",{"_index":18669,"title":{},"body":{"classes/ReferencesService.html":{}}}],["fs.rm",{"_index":12086,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["fsp",{"_index":12071,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["fulfil",{"_index":25820,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["fulfill",{"_index":25461,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["fulfilling",{"_index":24825,"title":{},"body":{"license.html":{}}}],["fulfills",{"_index":25643,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["fulfils",{"_index":26097,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["full",{"_index":2828,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/FileSystemAdapter.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["full_path",{"_index":18761,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["fullname",{"_index":2255,"title":{},"body":{"classes/BBBJoinConfig.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["fullpath",{"_index":18734,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["fullscreen",{"_index":11655,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["fully",{"_index":15327,"title":{},"body":{"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["function",{"_index":527,"title":{},"body":{"classes/AccountFactory.html":{},"modules/AccountModule.html":{},"injectables/BBBService.html":{},"classes/BaseFactory.html":{},"injectables/BoardManagementUc.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"interfaces/ColumnBoardProps.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ColumnProps.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"modules/EncryptionModule.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/IGridElement.html":{},"classes/ImportUserFactory.html":{},"classes/KeycloakConsole.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"classes/LegacySchoolFactory.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"interfaces/LibrariesContentType.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SystemEntityFactory.html":{},"entities/Task.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["functional",{"_index":7409,"title":{},"body":{"modules/CoreModule.html":{},"additional-documentation/nestjs-application.html":{}}}],["functionalities",{"_index":25867,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["functionality",{"_index":21876,"title":{},"body":{"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["functioning",{"_index":24952,"title":{},"body":{"license.html":{}}}],["functions",{"_index":25656,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["funktionen",{"_index":5496,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["further",{"_index":24909,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["fut",{"_index":25757,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["fut.somefunction",{"_index":25777,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["future",{"_index":1920,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/BaseRepo.html":{},"entities/CourseNews.html":{},"injectables/FileRecordRepo.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsUc.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["fwu",{"_index":12426,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{}}}],["fwu_content_s3_connection",{"_index":12481,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["fwulearningcontent",{"_index":12521,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{}}}],["fwulearningcontentscontroller",{"_index":12421,"title":{"controllers/FwuLearningContentsController.html":{}},"body":{"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{}}}],["fwulearningcontentsmodule",{"_index":12456,"title":{"modules/FwuLearningContentsModule.html":{}},"body":{"modules/FwuLearningContentsModule.html":{}}}],["fwulearningcontentstestmodule",{"_index":12467,"title":{"modules/FwuLearningContentsTestModule.html":{}},"body":{"modules/FwuLearningContentsTestModule.html":{}}}],["fwulearningcontentsuc",{"_index":12431,"title":{"injectables/FwuLearningContentsUc.html":{}},"body":{"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{}}}],["g",{"_index":7306,"title":{},"body":{"injectables/CopyFilesService.html":{},"additional-documentation/nestjs-application.html":{}}}],["g.test(filename",{"_index":22101,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["gates",{"_index":25377,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["gatewayport",{"_index":22174,"title":{},"body":{"classes/TestConnection.html":{}}}],["gc",{"_index":22453,"title":{},"body":{"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["gcenabled",{"_index":24371,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["geburt",{"_index":19461,"title":{},"body":{"classes/SanisGeburtResponse.html":{},"classes/SanisPersonResponse.html":{}}}],["general",{"_index":11643,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"injectables/SystemRule.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["generall",{"_index":2528,"title":{},"body":{"classes/BaseDomainObject.html":{}}}],["generally",{"_index":24789,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["generate",{"_index":550,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/RocketChatUserFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserFactory.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["generate(payload",{"_index":17946,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["generatearray",{"_index":3784,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["generatearray(length",{"_index":3796,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["generatebrokersystems",{"_index":15341,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["generatebrokersystems(systems",{"_index":15347,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["generatechecksum",{"_index":2328,"title":{},"body":{"injectables/BBBService.html":{}}}],["generatechecksum(callname",{"_index":2350,"title":{},"body":{"injectables/BBBService.html":{}}}],["generateconfig",{"_index":13497,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["generateconfig(oauthclientid",{"_index":13505,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["generated",{"_index":7228,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{},"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["generatedid",{"_index":2589,"title":{},"body":{"classes/BaseFactory.html":{}}}],["generatedid.tohexstring",{"_index":2592,"title":{},"body":{"classes/BaseFactory.html":{}}}],["generatedsystem",{"_index":15384,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["generatedsystem.id",{"_index":15386,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["generatedsystem.oauthconfig",{"_index":15387,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["generatedsystem.oauthconfig.idphint",{"_index":15388,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["generatedsystem.oauthconfig.redirecturi",{"_index":15390,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["generateemptydashboard",{"_index":8719,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["generateemptydashboard(userid",{"_index":8732,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["generategroupfoldername",{"_index":16725,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["generategroupfoldername(teamid",{"_index":16737,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["generategroupid",{"_index":16726,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["generategroupid(dto",{"_index":16741,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["generatejwt",{"_index":1688,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["generatejwt(user",{"_index":1698,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["generatelaunchrequest",{"_index":22898,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["generatelaunchrequest(toollaunchdata",{"_index":22903,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["generatepreview",{"_index":17865,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{}}}],["generatepreview(@rabbitpayload",{"_index":17878,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["generatepreview(params",{"_index":17911,"title":{},"body":{"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{}}}],["generatepreview(payload",{"_index":17869,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["generates",{"_index":16739,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["generateseeddata",{"_index":5165,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["generateseeddata((s",{"_index":5242,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["generatesharetoken",{"_index":22573,"title":{},"body":{"injectables/TokenGenerator.html":{}}}],["generating",{"_index":25385,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["generator",{"_index":556,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"modules/FilesStorageModule.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"interfaces/ParentInfo.html":{},"classes/PreviewBuilder.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewService.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["generator.builder",{"_index":17917,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["generator.builder.ts",{"_index":17860,"title":{},"body":{"classes/PreviewGeneratorBuilder.html":{}}}],["generator.builder.ts:6",{"_index":17862,"title":{},"body":{"classes/PreviewGeneratorBuilder.html":{}}}],["generator.consumer",{"_index":17887,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["generator.consumer.ts",{"_index":17864,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["generator.consumer.ts:10",{"_index":17868,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["generator.consumer.ts:20",{"_index":17871,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["generator.service",{"_index":17875,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/ShareTokenService.html":{}}}],["generator.service.ts",{"_index":17899,"title":{},"body":{"injectables/PreviewGeneratorService.html":{},"injectables/TokenGenerator.html":{}}}],["generator.service.ts:12",{"_index":17905,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["generator.service.ts:18",{"_index":17912,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["generator.service.ts:40",{"_index":17907,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["generator.service.ts:50",{"_index":17909,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["generator.service.ts:56",{"_index":17914,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["generator.service.ts:7",{"_index":22574,"title":{},"body":{"injectables/TokenGenerator.html":{}}}],["generator/interface/preview",{"_index":17848,"title":{},"body":{"interfaces/PreviewConfig.html":{},"interfaces/PreviewModuleConfig.html":{}}}],["generator/interface/preview.ts",{"_index":17851,"title":{},"body":{"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewOptions.html":{},"interfaces/PreviewResponseMessage.html":{}}}],["generator/loggable/preview",{"_index":17821,"title":{},"body":{"classes/PreviewActionsLoggable.html":{}}}],["generator/preview",{"_index":17859,"title":{},"body":{"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{}}}],["generator/preview.producer.ts",{"_index":17944,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["generator/preview.producer.ts:11",{"_index":17945,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["generator/preview.producer.ts:23",{"_index":17947,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["generatorfn",{"_index":557,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["generell",{"_index":26080,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["generic",{"_index":25426,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["genericdata",{"_index":1077,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["genericsortfunction",{"_index":20564,"title":{},"body":{"classes/SortHelper.html":{}}}],["genericsortfunction(a",{"_index":20565,"title":{},"body":{"classes/SortHelper.html":{}}}],["geogebra",{"_index":6157,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["get('*/:fwulearningcontent",{"_index":12429,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["get('/:contexttype/:contextid",{"_index":22993,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["get('/:contexttype/:contextid')@apioperation({summary",{"_index":22985,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["get('/:externaltoolid/logo",{"_index":22803,"title":{},"body":{"controllers/ToolController.html":{}}}],["get('/:externaltoolid/logo')@apioperation({summary",{"_index":22768,"title":{},"body":{"controllers/ToolController.html":{}}}],["get('/:externaltoolid/metadata",{"_index":22811,"title":{},"body":{"controllers/ToolController.html":{}}}],["get('/:externaltoolid/metadata')@apioperation({summary",{"_index":22773,"title":{},"body":{"controllers/ToolController.html":{}}}],["get('/:groupid",{"_index":12740,"title":{},"body":{"controllers/GroupController.html":{}}}],["get('/:groupid')@apioperation({summary",{"_index":12722,"title":{},"body":{"controllers/GroupController.html":{}}}],["get('/:schoolexternaltoolid/metadata",{"_index":23087,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["get('/:schoolexternaltoolid/metadata')@apioperation({summary",{"_index":23055,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["get('/class",{"_index":12733,"title":{},"body":{"controllers/GroupController.html":{}}}],["get('/edit/:contentid/:language",{"_index":13223,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('/edit/:contentid/:language')@apiresponse({status",{"_index":13137,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('/edit/:language",{"_index":13217,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('/edit/:language')@apiresponse({status",{"_index":13144,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('/play/:contentid",{"_index":13177,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get(':boardid",{"_index":3220,"title":{},"body":{"controllers/BoardController.html":{}}}],["get(':boardid/context",{"_index":3224,"title":{},"body":{"controllers/BoardController.html":{}}}],["get(':contextexternaltoolid",{"_index":22735,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["get(':contextexternaltoolid')@apiforbiddenresponse()@apiunauthorizedresponse()@apinotfoundresponse()@apiokresponse({description",{"_index":22708,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["get(':contexttype/:contextid",{"_index":22730,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["get(':contexttype/:contextid')@apiforbiddenresponse()@apiunauthorizedresponse()@apiokresponse({description",{"_index":22713,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["get(':contexttype/:contextid/available",{"_index":22621,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["get(':courseid/export",{"_index":7577,"title":{},"body":{"controllers/CourseController.html":{}}}],["get(':externaltoolid",{"_index":22793,"title":{},"body":{"controllers/ToolController.html":{}}}],["get(':externaltoolid')@apioperation({summary",{"_index":22765,"title":{},"body":{"controllers/ToolController.html":{}}}],["get(':id",{"_index":405,"title":{},"body":{"controllers/AccountController.html":{}}}],["get(':id')@apioperation({summary",{"_index":351,"title":{},"body":{"controllers/AccountController.html":{}}}],["get(':newsid",{"_index":16452,"title":{},"body":{"controllers/NewsController.html":{}}}],["get(':pseudonym",{"_index":18197,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["get(':pseudonym')@apifoundresponse({description",{"_index":18185,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["get(':requestid",{"_index":9511,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["get(':requestid')@httpcode(200)@apioperation({summary",{"_index":9503,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["get(':roomid/board",{"_index":19186,"title":{},"body":{"controllers/RoomsController.html":{}}}],["get(':schoolexternaltoolid",{"_index":23074,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["get(':schoolexternaltoolid')@apiforbiddenresponse()@apiunauthorizedresponse()@apioperation({summary",{"_index":23059,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["get(':scope/:scopeid",{"_index":24190,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["get(':scope/:scopeid')@apioperation({summary",{"_index":24168,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["get(':scope/:scopeid/end",{"_index":24081,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["get(':scope/:scopeid/end')@apioperation({summary",{"_index":24037,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["get(':scope/:scopeid/info",{"_index":24078,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["get(':scope/:scopeid/info')@apioperation({summary",{"_index":24043,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["get(':scope/:scopeid/join",{"_index":24075,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["get(':scope/:scopeid/join')@apioperation({summary",{"_index":24047,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["get(':submissioncontainerid",{"_index":4027,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["get(':teamid/news",{"_index":21929,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["get(':token",{"_index":20335,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["get('ajax",{"_index":13128,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('auth/:oauthclientid",{"_index":17510,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["get('auth/:oauthclientid')@authenticate('jwt",{"_index":17496,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["get('auth/sessions/consent",{"_index":17345,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["get('baseurl",{"_index":17277,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["get('clients",{"_index":17313,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["get('clients/:id",{"_index":17310,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["get('consentrequest/:challenge",{"_index":17338,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["get('content/:id/:filename",{"_index":13131,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('context",{"_index":22630,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolReferenceController.html":{}}}],["get('context/:contextexternaltoolid/launch",{"_index":22827,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["get('context/:contextexternaltoolid/launch')@apioperation({summary",{"_index":22817,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["get('finished",{"_index":21393,"title":{},"body":{"controllers/TaskController.html":{}}}],["get('hydra/:oauthclientid",{"_index":17504,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["get('hydra/:oauthclientid')@authenticate('jwt",{"_index":17493,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["get('libraries/:ubername/:file",{"_index":13141,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('loginrequest/:challenge",{"_index":17273,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["get('me",{"_index":23210,"title":{},"body":{"controllers/UserController.html":{}}}],["get('params/:id",{"_index":13134,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('public",{"_index":21064,"title":{},"body":{"controllers/SystemController.html":{}}}],["get('public')@apioperation({summary",{"_index":21050,"title":{},"body":{"controllers/SystemController.html":{}}}],["get('public/:systemid",{"_index":21070,"title":{},"body":{"controllers/SystemController.html":{}}}],["get('public/:systemid')@apioperation({summary",{"_index":21056,"title":{},"body":{"controllers/SystemController.html":{}}}],["get('school",{"_index":22636,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["get('school/:schoolid/available",{"_index":22626,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["get('schools/:schoolid",{"_index":23485,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["get('schools/:schoolid')@apiforbiddenresponse()@apiokresponse({description",{"_index":23429,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["get('status/task/:taskid",{"_index":20756,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["get('temp",{"_index":13153,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["get('unassigned",{"_index":13880,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["get()@apiforbiddenresponse()@apioperation({summary",{"_index":23435,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["get()@apifoundresponse({description",{"_index":22761,"title":{},"body":{"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["get()@apioperation({summary",{"_index":367,"title":{},"body":{"controllers/AccountController.html":{}}}],["get(`${this.options.uri}${path",{"_index":1168,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["get(filesstorageinternalactions.downloadbysecuritytoken",{"_index":11992,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["get(id",{"_index":11395,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["get(path",{"_index":1164,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/CalendarService.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{}}}],["get(req",{"_index":12427,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["get(subpath",{"_index":1636,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["get(url",{"_index":13507,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["get/post",{"_index":13190,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getadditionalerrorinfo",{"_index":14245,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["getadditionalerrorinfo(email",{"_index":14251,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["getadminidandtoken",{"_index":1178,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["getadminuser",{"_index":14407,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["getajax",{"_index":13111,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getajax(@query",{"_index":13204,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getajax(query",{"_index":13127,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getall",{"_index":15600,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["getallaccounts",{"_index":13771,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["getallcontents",{"_index":13096,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["getalternativetext",{"_index":11485,"title":{},"body":{"classes/FileElement.html":{}}}],["getancestorids",{"_index":3594,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["getancestorids(boarddo",{"_index":3616,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["getandpseudonyms",{"_index":11287,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["getandpseudonyms(users",{"_index":11303,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["getapiresponsetimemetriclabels",{"_index":18763,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["getapiresponsetimemetriclabels(req",{"_index":18779,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["getasadmin(path",{"_index":1162,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["getauthtoken",{"_index":18927,"title":{},"body":{"classes/RocketChatUser.html":{}}}],["getavailabletoolsforcontext",{"_index":10179,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"controllers/ToolConfigurationController.html":{}}}],["getavailabletoolsforcontext(currentuser",{"_index":22620,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["getavailabletoolsforcontext(userid",{"_index":10190,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["getavailabletoolsforschool",{"_index":10180,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"controllers/ToolConfigurationController.html":{}}}],["getavailabletoolsforschool(currentuser",{"_index":22625,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["getavailabletoolsforschool(userid",{"_index":10192,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["getbaseurl",{"_index":2374,"title":{},"body":{"injectables/BBBService.html":{}}}],["getbbbrequestconfig",{"_index":2329,"title":{},"body":{"injectables/BBBService.html":{}}}],["getbbbrequestconfig(presentationurl",{"_index":2359,"title":{},"body":{"injectables/BBBService.html":{}}}],["getboard",{"_index":19239,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["getboard(roomid",{"_index":19243,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["getboardauthorizable",{"_index":3395,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["getboardauthorizable(boarddo",{"_index":3401,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["getboardcontext",{"_index":3176,"title":{},"body":{"controllers/BoardController.html":{}}}],["getboardcontext(urlparams",{"_index":3194,"title":{},"body":{"controllers/BoardController.html":{}}}],["getboardobjecttitlesbyid",{"_index":5451,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["getboardobjecttitlesbyid(boardids",{"_index":5467,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["getboardskeleton",{"_index":3177,"title":{},"body":{"controllers/BoardController.html":{}}}],["getboardskeleton(urlparams",{"_index":3198,"title":{},"body":{"controllers/BoardController.html":{}}}],["getboardvalue",{"_index":2014,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["getboardvalue(elementid",{"_index":2021,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["getbydraftforcreatorquery",{"_index":21725,"title":{},"body":{"classes/TaskScope.html":{}}}],["getbydraftforcreatorquery(creatorid",{"_index":21743,"title":{},"body":{"classes/TaskScope.html":{}}}],["getbydraftquery",{"_index":21726,"title":{},"body":{"classes/TaskScope.html":{}}}],["getbydraftquery(isdraft",{"_index":21745,"title":{},"body":{"classes/TaskScope.html":{}}}],["getbyid(externaltoolpseudonymentity.name",{"_index":10607,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["getbyid(pseudonymentity.name",{"_index":18315,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["getbytargetid(id",{"_index":2943,"title":{},"body":{"entities/Board.html":{}}}],["getcaption",{"_index":11483,"title":{},"body":{"classes/FileElement.html":{}}}],["getcards",{"_index":4322,"title":{},"body":{"controllers/CardController.html":{}}}],["getcards(currentuser",{"_index":4336,"title":{},"body":{"controllers/CardController.html":{}}}],["getchildren",{"_index":3055,"title":{},"body":{"classes/BoardComposite.html":{},"classes/BoardDoBuilderImpl.html":{}}}],["getchildren(boardnode",{"_index":3505,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["getclientid",{"_index":14408,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["getclientsecret",{"_index":14409,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["getcollectdefaultmetrics",{"_index":18016,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["getcollectionnames",{"_index":8835,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["getcollectmetricsroutemetrics",{"_index":18018,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["getcompleted",{"_index":20792,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["getconfigurationtemplateforcontext",{"_index":22618,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["getconfigurationtemplateforcontext(currentuser",{"_index":22629,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["getconfigurationtemplateforschool",{"_index":22619,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["getconfigurationtemplateforschool(currentuser",{"_index":22635,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["getconsentrequest",{"_index":17219,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{}}}],["getconsentrequest(@param",{"_index":17339,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["getconsentrequest(challenge",{"_index":17226,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["getconsentrequest(params",{"_index":17269,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["getcontent",{"_index":8435,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["getcontentfile",{"_index":13112,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getcontentfile(params",{"_index":13130,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getcontentparameters",{"_index":13113,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getcontentparameters(@param('id",{"_index":13196,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getcontentparameters(id",{"_index":13133,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getcontext",{"_index":5390,"title":{},"body":{"classes/ColumnBoard.html":{}}}],["getcontextexternaltool",{"_index":7026,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["getcontextexternaltool(currentuser",{"_index":22707,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["getcontextexternaltool(userid",{"_index":7038,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["getcontextexternaltoolid",{"_index":10258,"title":{},"body":{"classes/ExternalToolElement.html":{}}}],["getcontextexternaltoolsforcontext",{"_index":7027,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["getcontextexternaltoolsforcontext(currentuser",{"_index":22712,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["getcontextexternaltoolsforcontext(userid",{"_index":7040,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["getcopiesforchildrenof",{"_index":18392,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["getcopiesforchildrenof(original",{"_index":18400,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["getcopyname",{"_index":21471,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["getcopyname(originaltaskname",{"_index":21483,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["getcopystatusesforchildrenof",{"_index":18393,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["getcopystatusesforchildrenof(original",{"_index":18402,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["getcoursegroupitems",{"_index":7553,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["getcoursegroupstudentids",{"_index":20683,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["getcoursesfromuserspseudonym",{"_index":11288,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["getcoursesfromuserspseudonym(pseudonym",{"_index":11305,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["getcoursevalue",{"_index":2015,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["getcoursevalue(courseid",{"_index":2024,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["getcreatedat",{"_index":3057,"title":{},"body":{"classes/BoardComposite.html":{},"classes/Class.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"classes/Pseudonym.html":{},"classes/RocketChatUser.html":{}}}],["getcurrentschoolyear",{"_index":20098,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["getdashboardbyid",{"_index":8706,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["getdashboardbyid(id",{"_index":8710,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["getdata",{"_index":14246,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["getdata(input",{"_index":14253,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["getdata(systemid",{"_index":18117,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["getdatabasecollection",{"_index":8836,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["getdatabasecollection(collectionname",{"_index":8849,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["getdb",{"_index":8853,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["getdefaultmaxduedate",{"_index":21782,"title":{},"body":{"injectables/TaskUC.html":{}}}],["getdefaultmetadata",{"_index":117,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/TaskUrlHandler.html":{}}}],["getdefaultmetadata(url",{"_index":126,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/TaskUrlHandler.html":{}}}],["getdeleteafter",{"_index":9315,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["getdeletedcount",{"_index":9152,"title":{},"body":{"classes/DeletionLog.html":{}}}],["getdeletionclientconfig",{"_index":9067,"title":{},"body":{"modules/DeletionConsoleModule.html":{}}}],["getdeletionrequestid",{"_index":9154,"title":{},"body":{"classes/DeletionLog.html":{}}}],["getdescription",{"_index":9593,"title":{},"body":{"classes/DrawingElement.html":{},"classes/LinkElement.html":{}}}],["getdestinationcourse",{"_index":21472,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["getdestinationcourse(courseid",{"_index":21487,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["getdestinationlesson",{"_index":21473,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["getdestinationlesson(lessonid",{"_index":21489,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["getdisplayname",{"_index":23890,"title":{},"body":{"injectables/UserService.html":{}}}],["getdisplayname(user",{"_index":23903,"title":{},"body":{"injectables/UserService.html":{}}}],["getdocnamefromrequest",{"_index":22395,"title":{},"body":{"classes/TldrawWs.html":{}}}],["getdocnamefromrequest(request",{"_index":22400,"title":{},"body":{"classes/TldrawWs.html":{}}}],["getdomain",{"_index":9146,"title":{},"body":{"classes/DeletionLog.html":{}}}],["getduedate",{"_index":20717,"title":{},"body":{"classes/SubmissionContainerElement.html":{}}}],["getelement",{"_index":8380,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["getelement(position",{"_index":8405,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["getelements",{"_index":2946,"title":{},"body":{"entities/Board.html":{}}}],["getelementwithwritepermission",{"_index":9799,"title":{},"body":{"injectables/ElementUc.html":{}}}],["getelementwithwritepermission(userid",{"_index":9806,"title":{},"body":{"injectables/ElementUc.html":{}}}],["getentityname",{"_index":766,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardRepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["getentitypermissions",{"_index":11236,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["getentitypermissions(userid",{"_index":11244,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["geteol",{"_index":12069,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["getestet",{"_index":5502,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["getexternalid",{"_index":630,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["getexternalid(id",{"_index":637,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["getexternalsource",{"_index":12683,"title":{},"body":{"classes/Group.html":{}}}],["getexternalsubclientmapperconfiguration",{"_index":14491,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["getexternaltool",{"_index":11035,"title":{},"body":{"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["getexternaltool(currentuser",{"_index":22764,"title":{},"body":{"controllers/ToolController.html":{}}}],["getexternaltool(userid",{"_index":11046,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["getexternaltoolbinarylogo",{"_index":10359,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["getexternaltoolbinarylogo(toolid",{"_index":10371,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["getexternaltoollogo",{"_index":22748,"title":{},"body":{"controllers/ToolController.html":{}}}],["getexternaltoollogo(@param",{"_index":22804,"title":{},"body":{"controllers/ToolController.html":{}}}],["getexternaltoollogo(params",{"_index":22767,"title":{},"body":{"controllers/ToolController.html":{}}}],["getfile",{"_index":7251,"title":{"interfaces/GetFile.html":{}},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"classes/FileResponseBuilder.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"classes/TestHelper.html":{}}}],["getfileinfo",{"_index":22062,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfileinfo(filename",{"_index":22074,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfilepath",{"_index":22063,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfilepath(userid",{"_index":22076,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfileresponse",{"_index":11966,"title":{"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{}},"body":{"classes/FileResponseBuilder.html":{},"classes/FilesStorageMapper.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"interfaces/PreviewFileParams.html":{},"injectables/PreviewService.html":{},"classes/TestHelper.html":{}}}],["getfilesofparent",{"_index":12241,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["getfilesofparent(@rabbitpayload",{"_index":12265,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["getfilesofparent(payload",{"_index":12252,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["getfilestats",{"_index":22064,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfilestats(filename",{"_index":22078,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfilestream",{"_index":22065,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfilestream(filename",{"_index":22079,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["getfilteredgroupusers",{"_index":17585,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["getfilteredgroupusers(externalgroup",{"_index":17593,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["getfinisheduserids",{"_index":21304,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["getfirstopenindex",{"_index":8381,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["getflowexecutionsrequest",{"_index":14565,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["getflowsrequest",{"_index":14555,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["getformat",{"_index":17841,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["getformat(previewparams.outputformat",{"_index":17843,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["getfwulearningcontentparams",{"_index":12428,"title":{"classes/GetFwuLearningContentParams.html":{}},"body":{"controllers/FwuLearningContentsController.html":{},"classes/GetFwuLearningContentParams.html":{}}}],["getgradedsubmissions",{"_index":21330,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["getgradelevel",{"_index":4563,"title":{},"body":{"classes/Class.html":{}}}],["getgrid",{"_index":8382,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["getgroup",{"_index":11289,"title":{},"body":{"injectables/FeathersRosterService.html":{},"controllers/GroupController.html":{}}}],["getgroup(courseid",{"_index":11307,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["getgroup(currentuser",{"_index":12720,"title":{},"body":{"controllers/GroupController.html":{}}}],["getgroupdata(groupname",{"_index":1144,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["getgroupmembers(groupname",{"_index":1142,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["getgroupmoderators(groupname",{"_index":1140,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["getgroupuser",{"_index":17586,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["getgroupuser(externalgroupuser",{"_index":17596,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["geth5pcontentparams",{"_index":12528,"title":{"classes/GetH5PContentParams.html":{}},"body":{"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"controllers/H5PEditorController.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["geth5peditor",{"_index":13114,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["geth5peditor(@param",{"_index":13224,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["geth5peditor(params",{"_index":13136,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["geth5peditorparams",{"_index":12535,"title":{"classes/GetH5PEditorParams.html":{}},"body":{"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"controllers/H5PEditorController.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["geth5peditorparamscreate",{"_index":12534,"title":{"classes/GetH5PEditorParamsCreate.html":{}},"body":{"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"controllers/H5PEditorController.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["geth5pfileresponse",{"_index":12508,"title":{"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{}},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5pFileDto.html":{}}}],["getheight",{"_index":4306,"title":{},"body":{"classes/Card.html":{}}}],["gethello",{"_index":20156,"title":{},"body":{"classes/ServerConsole.html":{},"controllers/ServerController.html":{}}}],["gethydraoauthtoken",{"_index":17489,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["gethydraoauthtoken(query",{"_index":17491,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["getid",{"_index":8383,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/DomainObject.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["getidpmapperconfiguration",{"_index":14492,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["getidpmapperconfiguration(idpalias",{"_index":14519,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["getiframesubject",{"_index":18245,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["getiframesubject(pseudonym",{"_index":18264,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["getimageurl",{"_index":15639,"title":{},"body":{"classes/LinkElement.html":{}}}],["getinout",{"_index":20157,"title":{},"body":{"classes/ServerConsole.html":{}}}],["getinout(whatever",{"_index":20160,"title":{},"body":{"classes/ServerConsole.html":{}}}],["getinputformat",{"_index":18871,"title":{},"body":{"classes/RichTextElement.html":{}}}],["getinstance",{"_index":9630,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["getinternalid",{"_index":631,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AccountServiceDb.html":{}}}],["getinternalid(id",{"_index":645,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AccountServiceDb.html":{}}}],["getinvitationlink",{"_index":4559,"title":{},"body":{"classes/Class.html":{}}}],["getisenabled",{"_index":18010,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["getitems",{"_index":23319,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["getjwtfromresponse",{"_index":22125,"title":{},"body":{"classes/TestApiClient.html":{}}}],["getjwtfromresponse(response",{"_index":1677,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["getlaunchdata",{"_index":22899,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["getlaunchdata(userid",{"_index":22905,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["getldapconfig",{"_index":21027,"title":{},"body":{"classes/System.html":{}}}],["getldapdn",{"_index":4565,"title":{},"body":{"classes/Class.html":{}}}],["getlessoncomponents",{"_index":6203,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["getlessonlinkedtasks",{"_index":6204,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["getlessonmaterials",{"_index":6205,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["getlibrary",{"_index":13184,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getlibraryfile",{"_index":12546,"title":{"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{}},"body":{"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"controllers/H5PEditorController.html":{},"classes/H5pFileDto.html":{}}}],["getlibraryfile(@param",{"_index":13191,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getlibraryfile(params",{"_index":13139,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getlibraryfile.ts",{"_index":12548,"title":{},"body":{"interfaces/GetLibraryFile-1.html":{}}}],["getlogindata",{"_index":15853,"title":{},"body":{"injectables/LoginUc.html":{}}}],["getlogindata(userinfo",{"_index":15856,"title":{},"body":{"injectables/LoginUc.html":{}}}],["getloginrequest",{"_index":17258,"title":{},"body":{"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["getloginrequest(@param",{"_index":17327,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["getloginrequest(challenge",{"_index":17382,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["getloginrequest(params",{"_index":17272,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["getlogmessage",{"_index":1426,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AxiosErrorLoggable.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenLoggableException.html":{},"classes/GroupRoleUnknownLoggable.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Loggable.html":{},"classes/LoggingUtils.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NotFoundLoggableException.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/ValidationErrorLoggableException.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["getmaildomain",{"_index":16078,"title":{},"body":{"injectables/MailService.html":{}}}],["getmaildomain(mail",{"_index":16084,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["getmaxsubmissions",{"_index":21311,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["getmeetinginfo",{"_index":2330,"title":{},"body":{"injectables/BBBService.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["getmeetinginfo(config",{"_index":2361,"title":{},"body":{"injectables/BBBService.html":{}}}],["getmeetinginfo(currentuserid",{"_index":24219,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["getmetadata",{"_index":4127,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseUrlHandler.html":{},"injectables/ExternalToolMetadataService.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"injectables/LessonUrlHandler.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/TaskUrlHandler.html":{},"interfaces/UrlHandler.html":{},"classes/UsersList.html":{}}}],["getmetadata(schoolexternaltoolid",{"_index":19743,"title":{},"body":{"injectables/SchoolExternalToolMetadataService.html":{}}}],["getmetadata(toolid",{"_index":10458,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{}}}],["getmetadata(url",{"_index":4130,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/TaskUrlHandler.html":{},"interfaces/UrlHandler.html":{}}}],["getmetadata(userid",{"_index":16282,"title":{},"body":{"injectables/MetaTagExtractorUc.html":{}}}],["getmetadataforexternaltool",{"_index":11036,"title":{},"body":{"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["getmetadataforexternaltool(currentuser",{"_index":22772,"title":{},"body":{"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["getmetadataforexternaltool(userid",{"_index":11048,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["getmetadataforschoolexternaltool",{"_index":19862,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["getmetadataforschoolexternaltool(userid",{"_index":19875,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["getmetadatastorage",{"_index":9870,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["getmetatagdatabody",{"_index":12549,"title":{"classes/GetMetaTagDataBody.html":{}},"body":{"classes/GetMetaTagDataBody.html":{},"controllers/MetaTagExtractorController.html":{}}}],["getmetatags",{"_index":16184,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["getmetatags(currentuser",{"_index":16185,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["getmigrations",{"_index":23415,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["getmigrations(user",{"_index":23433,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["getmigrations(userid",{"_index":23694,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["getmodifiedcount",{"_index":9150,"title":{},"body":{"classes/DeletionLog.html":{}}}],["getname",{"_index":4551,"title":{},"body":{"classes/Class.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/Group.html":{},"interfaces/ParentInfo.html":{}}}],["getnewh5peditor",{"_index":13115,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getnewh5peditor(@param",{"_index":13218,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getnewh5peditor(params",{"_index":13143,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getnewspermissions",{"_index":16640,"title":{},"body":{"injectables/NewsUc.html":{}}}],["getnewspermissions(userid",{"_index":16654,"title":{},"body":{"injectables/NewsUc.html":{}}}],["getnumberofdrafttasks",{"_index":6199,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["getnumberofplannedtasks",{"_index":6201,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["getnumberofpublishedtasks",{"_index":6194,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["getoauth2client",{"_index":17188,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{}}}],["getoauth2client(currentuser",{"_index":17197,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{}}}],["getoauth2client(id",{"_index":17458,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["getoauthconfig",{"_index":13758,"title":{},"body":{"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["getoauthtoken",{"_index":13432,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["getoauthtoken(oauthclientid",{"_index":13439,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["getobjectcommand",{"_index":19354,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["getobjectreference",{"_index":731,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["getobjectreference(entityname",{"_index":748,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["getoperation",{"_index":9148,"title":{},"body":{"classes/DeletionLog.html":{}}}],["getorconstructdashboardmodelentity",{"_index":8623,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["getorconstructdashboardmodelentity(entity",{"_index":8637,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["getorcreatecourseboard",{"_index":3938,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["getorcreatecourseboard(courseid",{"_index":3945,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["getorganization",{"_index":5955,"title":{},"body":{"classes/CommonCartridgeOrganizationBuilder.html":{}}}],["getorganizationid",{"_index":12685,"title":{},"body":{"classes/Group.html":{}}}],["getparametervalue",{"_index":2725,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["getparametervalue(customparameter",{"_index":2762,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["getparent",{"_index":6188,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["getparentdata",{"_index":21358,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["getparentemailsfromuser",{"_index":23813,"title":{},"body":{"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["getparentemailsfromuser(userid",{"_index":23822,"title":{},"body":{"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["getparentinfo",{"_index":11831,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["getpath",{"_index":22126,"title":{},"body":{"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["getpath(routenameinput",{"_index":1669,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["getperformedat",{"_index":9156,"title":{},"body":{"classes/DeletionLog.html":{}}}],["getperformeddeletiondetails",{"_index":9492,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["getperformeddeletiondetails(@param('requestid",{"_index":9513,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["getperformeddeletiondetails(requestid",{"_index":9502,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["getpermittedcourses",{"_index":21783,"title":{},"body":{"injectables/TaskUC.html":{}}}],["getpermittedcourses(user",{"_index":21798,"title":{},"body":{"injectables/TaskUC.html":{}}}],["getpermittedentities",{"_index":11237,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["getpermittedentities(userid",{"_index":11246,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["getpermittedlessonids",{"_index":21840,"title":{},"body":{"injectables/TaskUC.html":{}}}],["getpermittedlessons",{"_index":21784,"title":{},"body":{"injectables/TaskUC.html":{}}}],["getpermittedlessons(user",{"_index":21801,"title":{},"body":{"injectables/TaskUC.html":{}}}],["getpermittedschools",{"_index":11199,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["getpermittedschools(userid",{"_index":11205,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["getpermittedtargets",{"_index":11200,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"injectables/NewsUc.html":{}}}],["getpermittedtargets(userid",{"_index":11207,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"injectables/NewsUc.html":{}}}],["getplayer",{"_index":13116,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getplayer(@currentuser",{"_index":13178,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getplayer(currentuser",{"_index":13146,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getport",{"_index":18014,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["getpresentationurl",{"_index":2378,"title":{},"body":{"injectables/BBBService.html":{}}}],["getpreviewfile",{"_index":17955,"title":{},"body":{"injectables/PreviewService.html":{}}}],["getpreviewfile(params",{"_index":17965,"title":{},"body":{"injectables/PreviewService.html":{}}}],["getpreviewname",{"_index":17970,"title":{},"body":{"injectables/PreviewService.html":{}}}],["getpreviewname(filerecord",{"_index":17984,"title":{},"body":{"injectables/PreviewService.html":{}}}],["getpreviewstatus",{"_index":11832,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["getpropertyvalue",{"_index":9866,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["getpropertyvalue(e",{"_index":9875,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["getprops",{"_index":1773,"title":{},"body":{"interfaces/AuthorizableObject.html":{},"classes/BoardComposite.html":{},"classes/BoardDoAuthorizable.html":{},"classes/Card.html":{},"classes/Class.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"classes/DomainObject.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/Group.html":{},"classes/LinkElement.html":{},"classes/Pseudonym.html":{},"classes/RichTextElement.html":{},"classes/RocketChatUser.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{},"classes/System.html":{}}}],["getprotectedroles",{"_index":19059,"title":{},"body":{"injectables/RoleService.html":{}}}],["getprovisioningstrategy",{"_index":18107,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["getprovisioningstrategy(systemstrategy",{"_index":18119,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["getpseudonym",{"_index":18162,"title":{},"body":{"classes/Pseudonym.html":{},"controllers/PseudonymController.html":{}}}],["getpseudonym(params",{"_index":18183,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["getpublickey",{"_index":7981,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{},"injectables/OauthAdapterService.html":{}}}],["getpublickey(jwksuri",{"_index":16969,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["getquery",{"_index":20112,"title":{},"body":{"classes/Scope.html":{}}}],["getrcid",{"_index":18925,"title":{},"body":{"classes/RocketChatUser.html":{}}}],["getreferences",{"_index":8440,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["getreferencesfromposition",{"_index":8384,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["getreferencesfromposition(position",{"_index":8413,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["getrepository",{"_index":18246,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["getrepository(tool",{"_index":18266,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["getrequiredpermissions",{"_index":16641,"title":{},"body":{"injectables/NewsUc.html":{}}}],["getrequiredpermissions(unpublished",{"_index":16658,"title":{},"body":{"injectables/NewsUc.html":{}}}],["getrequireduserrole",{"_index":3373,"title":{},"body":{"classes/BoardDoAuthorizable.html":{}}}],["getresolveduser",{"_index":23891,"title":{},"body":{"injectables/UserService.html":{}}}],["getresolveduser(userid",{"_index":23906,"title":{},"body":{"injectables/UserService.html":{}}}],["getresolvedvalues",{"_index":3288,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["getresolvedvalues(results",{"_index":3335,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["getresources",{"_index":5957,"title":{},"body":{"classes/CommonCartridgeOrganizationBuilder.html":{}}}],["getresponse",{"_index":1356,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/LdapConnectionError.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/ValidationError.html":{}}}],["getroomboard",{"_index":19176,"title":{},"body":{"controllers/RoomsController.html":{}}}],["getroomboard(urlparams",{"_index":19185,"title":{},"body":{"controllers/RoomsController.html":{}}}],["getroute",{"_index":18012,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["gets",{"_index":533,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"injectables/TldrawWsService.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["getsalt",{"_index":2376,"title":{},"body":{"injectables/BBBService.html":{}}}],["getschemapath",{"_index":4018,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CardResponse.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionItemResponse.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["getschemapath(basictoolconfigparams",{"_index":10254,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["getschemapath(drawingelementcontentbody",{"_index":9587,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["getschemapath(drawingelementresponse",{"_index":4385,"title":{},"body":{"controllers/CardController.html":{},"classes/CardResponse.html":{},"controllers/ElementController.html":{}}}],["getschemapath(externaltoolelementcontentbody",{"_index":9586,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["getschemapath(externaltoolelementresponse",{"_index":4382,"title":{},"body":{"controllers/CardController.html":{},"classes/CardResponse.html":{},"controllers/ElementController.html":{}}}],["getschemapath(fileelementcontentbody",{"_index":9582,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["getschemapath(fileelementresponse",{"_index":4041,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CardResponse.html":{},"controllers/ElementController.html":{},"classes/SubmissionItemResponse.html":{}}}],["getschemapath(linkelementcontentbody",{"_index":9583,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["getschemapath(linkelementresponse",{"_index":4383,"title":{},"body":{"controllers/CardController.html":{},"classes/CardResponse.html":{},"controllers/ElementController.html":{}}}],["getschemapath(lti11toolconfigcreateparams",{"_index":10255,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["getschemapath(lti11toolconfigupdateparams",{"_index":11078,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["getschemapath(oauth2toolconfigcreateparams",{"_index":10256,"title":{},"body":{"classes/ExternalToolCreateParams.html":{}}}],["getschemapath(oauth2toolconfigupdateparams",{"_index":11079,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["getschemapath(richtextelementcontentbody",{"_index":9584,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["getschemapath(richtextelementresponse",{"_index":4040,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CardResponse.html":{},"controllers/ElementController.html":{},"classes/SubmissionItemResponse.html":{}}}],["getschemapath(submissioncontainerelementcontentbody",{"_index":9585,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["getschemapath(submissioncontainerelementresponse",{"_index":4384,"title":{},"body":{"controllers/CardController.html":{},"classes/CardResponse.html":{},"controllers/ElementController.html":{}}}],["getschool",{"_index":22003,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["getschoolbyexternalid",{"_index":15286,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["getschoolbyexternalid(externalid",{"_index":15293,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["getschoolbyid",{"_index":15287,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["getschoolbyid(id",{"_index":15295,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["getschoolbyschoolnumber",{"_index":15288,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["getschoolbyschoolnumber(schoolnumber",{"_index":15297,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["getschoolexternaltool",{"_index":19863,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{},"controllers/ToolSchoolController.html":{}}}],["getschoolexternaltool(currentuser",{"_index":23058,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["getschoolexternaltool(userid",{"_index":19877,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["getschoolexternaltools",{"_index":23047,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["getschoolexternaltools(currentuser",{"_index":23061,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["getschoolformigration",{"_index":19954,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["getschoolformigration(userid",{"_index":19966,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["getschoolid",{"_index":4553,"title":{},"body":{"classes/Class.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"interfaces/ParentInfo.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["getschoolname",{"_index":17587,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["getschoolname(externalschool",{"_index":17599,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["getsecuritytoken",{"_index":11805,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["getseedfolder",{"_index":5188,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["getservice",{"_index":11411,"title":{},"body":{"injectables/FeathersServiceProvider.html":{}}}],["getservice(path",{"_index":11402,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["getshorttitle",{"_index":7557,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["getsource",{"_index":4569,"title":{},"body":{"classes/Class.html":{}}}],["getsourceoptions",{"_index":4571,"title":{},"body":{"classes/Class.html":{}}}],["getstatus",{"_index":9319,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["getstoretype",{"_index":4209,"title":{},"body":{"injectables/CacheService.html":{}}}],["getstudentids",{"_index":6172,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["getstudentslist",{"_index":7541,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["getsubmissionitems",{"_index":3995,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["getsubmissionitems(currentuser",{"_index":4006,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["getsubmittedsubmissions",{"_index":21326,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["getsubmitterids",{"_index":20701,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["getsubstitutionteacherids",{"_index":7534,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["getsubstitutionteacherslist",{"_index":7547,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["getsuccessor",{"_index":4567,"title":{},"body":{"classes/Class.html":{}}}],["getsystem",{"_index":21042,"title":{},"body":{"controllers/SystemController.html":{}}}],["getsystem(@param",{"_index":21071,"title":{},"body":{"controllers/SystemController.html":{}}}],["getsystem(params",{"_index":21055,"title":{},"body":{"controllers/SystemController.html":{}}}],["gettargetfilters",{"_index":16642,"title":{},"body":{"injectables/NewsUc.html":{}}}],["gettargetfilters(userid",{"_index":16661,"title":{},"body":{"injectables/NewsUc.html":{}}}],["gettargetfolder(toseedfolder",{"_index":5190,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["gettargetrefdomain",{"_index":9313,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["gettargetrefid",{"_index":9317,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["gettasksitems",{"_index":6189,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["getteacherids",{"_index":4557,"title":{},"body":{"classes/Class.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["getteacherslist",{"_index":7545,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["getteammemberids",{"_index":20686,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["gettempfile",{"_index":13187,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["gettemplateforcontextexternaltool",{"_index":10181,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["gettemplateforcontextexternaltool(userid",{"_index":10194,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["gettemplateforschoolexternaltool",{"_index":10182,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["gettemplateforschoolexternaltool(userid",{"_index":10196,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["gettemporaryfile",{"_index":13117,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["gettemporaryfile(currentuser",{"_index":13152,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["getter",{"_index":7499,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{},"classes/UsersList.html":{}}}],["gettext",{"_index":18867,"title":{},"body":{"classes/RichTextElement.html":{}}}],["getting",{"_index":24584,"title":{"index.html":{},"license.html":{},"todo.html":{}},"body":{}}],["gettitle",{"_index":4302,"title":{},"body":{"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/LinkElement.html":{}}}],["gettitlesbyids",{"_index":3595,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["gettitlesbyids(id",{"_index":3618,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["gettoolcontexttypes",{"_index":10121,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"controllers/ToolConfigurationController.html":{}}}],["gettoolcontexttypes(@currentuser",{"_index":22651,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["gettoolcontexttypes(currentuser",{"_index":22639,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["gettoolcontexttypes(userid",{"_index":10198,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["gettoolid",{"_index":18164,"title":{},"body":{"classes/Pseudonym.html":{}}}],["gettoollaunchrequest",{"_index":22815,"title":{},"body":{"controllers/ToolLaunchController.html":{},"injectables/ToolLaunchUc.html":{}}}],["gettoollaunchrequest(currentuser",{"_index":22816,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["gettoollaunchrequest(userid",{"_index":22938,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["gettoolreference",{"_index":22977,"title":{},"body":{"controllers/ToolReferenceController.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{}}}],["gettoolreference(contextexternaltoolid",{"_index":23020,"title":{},"body":{"injectables/ToolReferenceService.html":{}}}],["gettoolreference(currentuser",{"_index":22979,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["gettoolreference(userid",{"_index":23030,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["gettoolreferencesforcontext",{"_index":22978,"title":{},"body":{"controllers/ToolReferenceController.html":{},"injectables/ToolReferenceUc.html":{}}}],["gettoolreferencesforcontext(currentuser",{"_index":22984,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["gettoolreferencesforcontext(userid",{"_index":23032,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["gettspuid",{"_index":4797,"title":{},"body":{"classes/ClassSourceOptions.html":{}}}],["gettype",{"_index":12687,"title":{},"body":{"classes/Group.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["getunitofwork",{"_index":10606,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["getupdatedat",{"_index":3059,"title":{},"body":{"classes/BoardComposite.html":{},"classes/Class.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"classes/Pseudonym.html":{},"classes/RocketChatUser.html":{}}}],["geturl",{"_index":1295,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/BBBService.html":{},"classes/LinkElement.html":{},"controllers/OauthProviderController.html":{}}}],["geturl(callname",{"_index":2363,"title":{},"body":{"injectables/BBBService.html":{}}}],["geturl(path",{"_index":1305,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["getuser",{"_index":11201,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"classes/TeamUserEntity.html":{},"injectables/UserService.html":{}}}],["getuser(id",{"_index":23908,"title":{},"body":{"injectables/UserService.html":{}}}],["getuser(userid",{"_index":11209,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["getuserattribute",{"_index":13772,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["getuserattribute(userid",{"_index":13792,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["getusergroups",{"_index":11290,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["getusergroups(pseudonym",{"_index":11310,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["getuserid",{"_index":8385,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"classes/Pseudonym.html":{},"classes/RocketChatUser.html":{},"classes/SubmissionItem.html":{}}}],["getuserids",{"_index":4555,"title":{},"body":{"classes/Class.html":{}}}],["getuserlist(querystring",{"_index":1120,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["getusername",{"_index":18923,"title":{},"body":{"classes/RocketChatUser.html":{}}}],["getuserparams",{"_index":23188,"title":{},"body":{"classes/UserAndAccountTestFactory.html":{}}}],["getuserparams(params",{"_index":707,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["getuserrole",{"_index":11291,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["getuserrole(user",{"_index":11312,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["getusers",{"_index":3371,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"classes/Group.html":{}}}],["getuserschoolpermissions",{"_index":11202,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["getuserschoolpermissions(userid",{"_index":11211,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["getusersdashboard",{"_index":8707,"title":{},"body":{"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"interfaces/IDashboardRepo.html":{}}}],["getusersdashboard(userid",{"_index":8712,"title":{},"body":{"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"interfaces/IDashboardRepo.html":{}}}],["getusersmetadata",{"_index":11292,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["getusersmetadata(pseudonym",{"_index":11314,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["getusertargetpermissions",{"_index":11203,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["getusertargetpermissions(userid",{"_index":11213,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["getuserwithpermissions",{"_index":1968,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["getuserwithpermissions(userid",{"_index":1977,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["getvalue",{"_index":2002,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{}}}],["getvalue(schoolexternaltool",{"_index":2003,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{}}}],["getversion",{"_index":6629,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"interfaces/ToolVersion.html":{}}}],["getvideoconferenceoptions",{"_index":24217,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["getvideoconferenceoptions(scope",{"_index":24221,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["getwellknownurl",{"_index":14410,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["getwsurl",{"_index":22168,"title":{},"body":{"classes/TestConnection.html":{}}}],["getydoc",{"_index":22443,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["getydoc(docname",{"_index":22452,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["getydocfrommdb",{"_index":22233,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["getydocfrommdb(docname",{"_index":22240,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["getyear",{"_index":4561,"title":{},"body":{"classes/Class.html":{}}}],["ghcr.io/hpi",{"_index":25315,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["ghcr.io/soluto/oidc",{"_index":25890,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["gi",{"_index":16400,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["gid",{"_index":12829,"title":{},"body":{"interfaces/GroupNameIdTuple.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{}}}],["git",{"_index":24591,"title":{"additional-documentation/nestjs-application/git.html":{}},"body":{"index.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["git://github.com/hpi",{"_index":24519,"title":{},"body":{"dependencies.html":{}}}],["git://github.com/leeroybrun/mongoose",{"_index":24535,"title":{},"body":{"dependencies.html":{}}}],["github",{"_index":24587,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["give",{"_index":24856,"title":{},"body":{"license.html":{}}}],["given",{"_index":329,"title":{},"body":{"controllers/AccountController.html":{},"injectables/BatchDeletionUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"interfaces/CollectionFilePath.html":{},"injectables/CommonToolValidationService.html":{},"injectables/FileSystemAdapter.html":{},"classes/FilterUserParams.html":{},"classes/IdentityManagementOauthService.html":{},"injectables/MetaTagExtractorService.html":{},"controllers/NewsController.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/ShareTokenBodyParams.html":{},"controllers/TeamNewsController.html":{},"injectables/TimeoutInterceptor.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["givenname",{"_index":14989,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["gives",{"_index":9039,"title":{},"body":{"injectables/DeletionClient.html":{},"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["giving",{"_index":24862,"title":{},"body":{"license.html":{}}}],["global",{"_index":7414,"title":{},"body":{"modules/CoreModule.html":{},"modules/ErrorModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/GlobalValidationPipe.html":{},"modules/InterceptorModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"injectables/TldrawWsService.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["globalconstants",{"_index":12554,"title":{"interfaces/GlobalConstants.html":{}},"body":{"interfaces/GlobalConstants.html":{}}}],["globalerrorfilter",{"_index":9954,"title":{"classes/GlobalErrorFilter.html":{}},"body":{"modules/ErrorModule.html":{},"classes/GlobalErrorFilter.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["globally",{"_index":14197,"title":{},"body":{"modules/InterceptorModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["globalparameter",{"_index":8280,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["globals",{"_index":12557,"title":{},"body":{"interfaces/GlobalConstants.html":{}}}],["globalsetup",{"_index":25546,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["globalteardown",{"_index":25547,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["globalvalidationpipe",{"_index":12624,"title":{"classes/GlobalValidationPipe.html":{}},"body":{"classes/GlobalValidationPipe.html":{},"modules/ValidationModule.html":{}}}],["gm",{"_index":17916,"title":{},"body":{"injectables/PreviewGeneratorService.html":{},"dependencies.html":{}}}],["gnu",{"_index":24646,"title":{},"body":{"license.html":{}}}],["go",{"_index":2903,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"classes/VideoConferenceCreateParams.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["goal",{"_index":25272,"title":{},"body":{"todo.html":{}}}],["goals",{"_index":24714,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["golevelup",{"_index":25754,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["golevelup/nestjs",{"_index":1310,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewProducer.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RpcMessageProducer.html":{},"dependencies.html":{}}}],["golevelup/ts",{"_index":22151,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["gonna",{"_index":25446,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["good",{"_index":15104,"title":{},"body":{"injectables/LdapStrategy.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["governed",{"_index":24978,"title":{},"body":{"license.html":{}}}],["gpl",{"_index":24715,"title":{},"body":{"license.html":{}}}],["grace",{"_index":23446,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["graceperiodduration",{"_index":23669,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["grade",{"_index":16149,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"entities/Submission.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"interfaces/TargetGroupProperties.html":{}}}],["gradecomment",{"_index":20652,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["graded",{"_index":4069,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"interfaces/ITask.html":{},"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusResponse.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{}}}],["gradedsubmissions",{"_index":21331,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["gradelevel",{"_index":4545,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{}}}],["grant",{"_index":1493,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigResponse.html":{},"classes/TokenRequestMapper.html":{},"license.html":{}}}],["grant_access_token_audience",{"_index":166,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["grant_scope",{"_index":167,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"classes/ConsentRequestBody.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["grant_type",{"_index":1497,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/TokenRequestMapper.html":{}}}],["grant_types",{"_index":17006,"title":{},"body":{"classes/OauthClientBody.html":{},"injectables/OauthProviderClientCrudUc.html":{}}}],["granted",{"_index":24797,"title":{},"body":{"license.html":{}}}],["grants",{"_index":25036,"title":{},"body":{"license.html":{}}}],["granttype",{"_index":13574,"title":{},"body":{"injectables/HydraSsoService.html":{},"interfaces/IKeycloakSettings.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["graph",{"_index":16251,"title":{},"body":{"injectables/MetaTagExtractorService.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["gratis",{"_index":24908,"title":{},"body":{"license.html":{}}}],["greatest",{"_index":25198,"title":{},"body":{"license.html":{}}}],["grep",{"_index":25938,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["grid",{"_index":7795,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"classes/GridElement.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"classes/PatchGroupParams.html":{}}}],["gridarray",{"_index":8720,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["gridelement",{"_index":8445,"title":{"classes/GridElement.html":{}},"body":{"classes/DashboardEntity.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardUc.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["gridelement.frompersistedgroup(modelentity.id",{"_index":8663,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["gridelement.fromsinglereference(referenceforindex",{"_index":8521,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["gridelement.fromsinglereference(room",{"_index":8512,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["gridelement.getcontent().title",{"_index":8687,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["gridelement.getid",{"_index":8680,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["gridelement.hasid",{"_index":8678,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["gridelement.isgroup",{"_index":8685,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["gridelement.setgroupname(params",{"_index":8762,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["gridelementcontent",{"_index":8436,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["gridelements",{"_index":8551,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DashboardResponse.html":{}}}],["gridelementwithposition",{"_index":8411,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"classes/GridElement.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{}}}],["gridindexfromposition",{"_index":8386,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["gridindexfromposition(pos",{"_index":8417,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["gridposition",{"_index":8406,"title":{},"body":{"classes/DashboardEntity.html":{},"injectables/DashboardUc.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["gridpositionwithgroupindex",{"_index":8414,"title":{},"body":{"classes/DashboardEntity.html":{},"injectables/DashboardUc.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["group",{"_index":1065,"title":{"classes/Group.html":{}},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/BoardNodeRepo.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"injectables/FeathersRosterService.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"interfaces/IGridElement.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OidcProvisioningService.html":{},"classes/PatchGroupParams.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"interfaces/UserData.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"injectables/UserRepo.html":{}}}],["group(props",{"_index":12845,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["group(savedprops",{"_index":12856,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["group.adduser(self",{"_index":17671,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["group.dto",{"_index":17138,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["group.dto.ts",{"_index":10003,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/ResolvedGroupDto.html":{}}}],["group.dto.ts:10",{"_index":18802,"title":{},"body":{"classes/ResolvedGroupDto.html":{}}}],["group.dto.ts:11",{"_index":10010,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["group.dto.ts:12",{"_index":18803,"title":{},"body":{"classes/ResolvedGroupDto.html":{}}}],["group.dto.ts:13",{"_index":10007,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["group.dto.ts:14",{"_index":18799,"title":{},"body":{"classes/ResolvedGroupDto.html":{}}}],["group.dto.ts:15",{"_index":10012,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["group.dto.ts:16",{"_index":18798,"title":{},"body":{"classes/ResolvedGroupDto.html":{}}}],["group.dto.ts:17",{"_index":10005,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["group.dto.ts:5",{"_index":10006,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["group.dto.ts:6",{"_index":18800,"title":{},"body":{"classes/ResolvedGroupDto.html":{}}}],["group.dto.ts:7",{"_index":10008,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["group.dto.ts:8",{"_index":18801,"title":{},"body":{"classes/ResolvedGroupDto.html":{}}}],["group.dto.ts:9",{"_index":10013,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["group.externalsource",{"_index":12873,"title":{},"body":{"classes/GroupResponse.html":{},"classes/GroupUcMapper.html":{},"classes/ResolvedGroupDto.html":{}}}],["group.getprops",{"_index":12772,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["group.gruppe.bezeichnung",{"_index":19635,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["group.gruppe.id",{"_index":19636,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["group.gruppenzugehoerigkeit.rollen",{"_index":19630,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["group.id",{"_index":12870,"title":{},"body":{"classes/GroupResponse.html":{},"classes/GroupUcMapper.html":{},"classes/ResolvedGroupDto.html":{}}}],["group.isempty",{"_index":17696,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["group.module",{"_index":12709,"title":{},"body":{"modules/GroupApiModule.html":{}}}],["group.name",{"_index":1148,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/GroupResponse.html":{},"classes/GroupUcMapper.html":{},"classes/ResolvedGroupDto.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["group.organizationid",{"_index":12875,"title":{},"body":{"classes/GroupResponse.html":{},"classes/ResolvedGroupDto.html":{}}}],["group.params.ts",{"_index":17752,"title":{},"body":{"classes/PatchGroupParams.html":{}}}],["group.params.ts:14",{"_index":17754,"title":{},"body":{"classes/PatchGroupParams.html":{}}}],["group.removeuser(user",{"_index":17695,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["group.rule",{"_index":15520,"title":{},"body":{"injectables/LessonRule.html":{}}}],["group.rule.ts",{"_index":7753,"title":{},"body":{"injectables/CourseGroupRule.html":{}}}],["group.rule.ts:11",{"_index":7756,"title":{},"body":{"injectables/CourseGroupRule.html":{}}}],["group.rule.ts:17",{"_index":7755,"title":{},"body":{"injectables/CourseGroupRule.html":{}}}],["group.rule.ts:8",{"_index":7754,"title":{},"body":{"injectables/CourseGroupRule.html":{}}}],["group.sonstige_gruppenzugehoerige",{"_index":19559,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{}}}],["group.sonstige_gruppenzugehoerige?.filter",{"_index":19560,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["group.sonstige_gruppenzugehoerige?.length",{"_index":19562,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["group.type",{"_index":12871,"title":{},"body":{"classes/GroupResponse.html":{},"classes/GroupUcMapper.html":{},"classes/ResolvedGroupDto.html":{}}}],["group.users",{"_index":12872,"title":{},"body":{"classes/GroupResponse.html":{},"injectables/OidcProvisioningService.html":{},"classes/ResolvedGroupDto.html":{}}}],["group_id",{"_index":11330,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["groupapimodule",{"_index":12701,"title":{"modules/GroupApiModule.html":{}},"body":{"modules/GroupApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["groupcontroller",{"_index":12708,"title":{"controllers/GroupController.html":{}},"body":{"modules/GroupApiModule.html":{},"controllers/GroupController.html":{}}}],["groupdata",{"_index":8466,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["groupdomainmapper",{"_index":12744,"title":{"classes/GroupDomainMapper.html":{}},"body":{"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{}}}],["groupdomainmapper.mapdomainobjecttoentityproperties(domainobject",{"_index":12848,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["groupdomainmapper.mapentitytodomainobjectproperties(entity",{"_index":12844,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["groupdomainmapper.mapentitytodomainobjectproperties(savedentity",{"_index":12855,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["groupdomainmapper.mapgroupusertogroupuserentity(groupuser",{"_index":12780,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["groupelements",{"_index":8561,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["groupentity",{"_index":7487,"title":{"entities/GroupEntity.html":{}},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"injectables/GroupRepo.html":{},"classes/UsersList.html":{}}}],["groupentity(entityprops",{"_index":12850,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["groupentityprops",{"_index":12754,"title":{"interfaces/GroupEntityProps.html":{}},"body":{"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"injectables/GroupRepo.html":{}}}],["groupentitytypes",{"_index":12766,"title":{},"body":{"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"injectables/GroupRepo.html":{}}}],["groupentitytypes.class",{"_index":12769,"title":{},"body":{"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{}}}],["groupentitytypestogrouptypesmapping",{"_index":12768,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["groupentitytypestogrouptypesmapping[entity.type",{"_index":12790,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["groupfolder",{"_index":16731,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["groupfolders",{"_index":13018,"title":{},"body":{"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/Meta.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OcsResponse.html":{},"interfaces/SuccessfulRes.html":{}}}],["groupfolderscreated",{"_index":13022,"title":{"interfaces/GroupfoldersCreated.html":{}},"body":{"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/Meta.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OcsResponse.html":{},"interfaces/SuccessfulRes.html":{}}}],["groupfoldersfolder",{"_index":13020,"title":{"interfaces/GroupfoldersFolder.html":{}},"body":{"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/Meta.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OcsResponse.html":{},"interfaces/SuccessfulRes.html":{}}}],["groupid",{"_index":8444,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/GridElement.html":{},"classes/GroupIdParams.html":{},"interfaces/IGridElement.html":{},"injectables/NextcloudStrategy.html":{}}}],["groupidparams",{"_index":12721,"title":{"classes/GroupIdParams.html":{}},"body":{"controllers/GroupController.html":{},"classes/GroupIdParams.html":{}}}],["groupids",{"_index":7471,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["groupindex",{"_index":8468,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{}}}],["groupinfo",{"_index":1129,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["groupinfo.group._id",{"_index":1133,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["grouping",{"_index":3925,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["groupmetadata",{"_index":8463,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["groupmodule",{"_index":12705,"title":{"modules/GroupModule.html":{}},"body":{"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/ProvisioningModule.html":{}}}],["groupname",{"_index":1125,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["groupnameidtuple",{"_index":12827,"title":{"interfaces/GroupNameIdTuple.html":{}},"body":{"interfaces/GroupNameIdTuple.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{}}}],["groupprops",{"_index":12689,"title":{"interfaces/GroupProps.html":{}},"body":{"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{}}}],["grouprepo",{"_index":12825,"title":{"injectables/GroupRepo.html":{}},"body":{"modules/GroupModule.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{}}}],["groupresponse",{"_index":12728,"title":{"classes/GroupResponse.html":{}},"body":{"controllers/GroupController.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{}}}],["groupresponsemapper",{"_index":12729,"title":{"classes/GroupResponseMapper.html":{}},"body":{"controllers/GroupController.html":{},"classes/GroupResponseMapper.html":{}}}],["groupresponsemapper.maptoclassinfostolistresponse",{"_index":12739,"title":{},"body":{"controllers/GroupController.html":{}}}],["groupresponsemapper.maptogroupresponse(group",{"_index":12743,"title":{},"body":{"controllers/GroupController.html":{}}}],["groupresponse})@apiresponse({status",{"_index":12724,"title":{},"body":{"controllers/GroupController.html":{}}}],["grouprolemapping",{"_index":19604,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["grouprolemapping[relation.rollen[0",{"_index":19638,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["grouproleunknownloggable",{"_index":12913,"title":{"classes/GroupRoleUnknownLoggable.html":{}},"body":{"classes/GroupRoleUnknownLoggable.html":{},"injectables/SanisResponseMapper.html":{}}}],["grouproleunknownloggable(relation",{"_index":19639,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["grouprule",{"_index":1870,"title":{"injectables/GroupRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/GroupRule.html":{},"injectables/RuleManager.html":{}}}],["groups",{"_index":7452,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/FeathersRosterService.html":{},"controllers/GroupController.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/GroupNameIdTuple.html":{},"injectables/GroupService.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{},"interfaces/Meta.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OcsResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/SuccessfulRes.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["groups.filter((group",{"_index":19563,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["groupservice",{"_index":12824,"title":{"injectables/GroupService.html":{}},"body":{"modules/GroupModule.html":{},"injectables/GroupService.html":{},"injectables/OidcProvisioningService.html":{}}}],["groupsfromsystem",{"_index":17686,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["groupsfromsystem.filter((existinggroupfromsystem",{"_index":17690,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["groupswithoutuser",{"_index":17689,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["groupswithoutuser.map(async",{"_index":17694,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["grouptype",{"_index":19625,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["grouptypemapping",{"_index":19607,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["grouptypemapping[group.gruppe.typ",{"_index":19626,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["grouptyperesponse",{"_index":12863,"title":{},"body":{"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{}}}],["grouptyperesponse.class",{"_index":12888,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["grouptypes",{"_index":10011,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{},"classes/GroupResponseMapper.html":{},"classes/ResolvedGroupDto.html":{},"injectables/SanisResponseMapper.html":{}}}],["grouptypes.class",{"_index":12770,"title":{},"body":{"classes/GroupDomainMapper.html":{},"classes/GroupResponseMapper.html":{},"injectables/SanisResponseMapper.html":{}}}],["grouptypestogroupentitytypesmapping",{"_index":12771,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["grouptypestogroupentitytypesmapping[props.type",{"_index":12776,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["groupuc",{"_index":12706,"title":{},"body":{"modules/GroupApiModule.html":{},"controllers/GroupController.html":{}}}],["groupucmapper",{"_index":12954,"title":{"classes/GroupUcMapper.html":{}},"body":{"classes/GroupUcMapper.html":{}}}],["groupuser",{"_index":12674,"title":{"classes/GroupUser.html":{}},"body":{"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{},"classes/GroupUser.html":{},"injectables/OidcProvisioningService.html":{},"classes/UserForGroupNotFoundLoggable.html":{}}}],["groupuser.role.name",{"_index":12975,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["groupuser.roleid",{"_index":12799,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["groupuser.user.lastname",{"_index":12977,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["groupuser.userid",{"_index":12696,"title":{},"body":{"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{}}}],["groupuserentity",{"_index":12762,"title":{"classes/GroupUserEntity.html":{}},"body":{"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{}}}],["groupuserentityprops",{"_index":12997,"title":{"interfaces/GroupUserEntityProps.html":{}},"body":{"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{}}}],["groupuserids",{"_index":16780,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["groupuserids.filter((userid",{"_index":16793,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["groupuserids.includes(userid",{"_index":16799,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["groupuserresponse",{"_index":12865,"title":{"classes/GroupUserResponse.html":{}},"body":{"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUserResponse.html":{}}}],["groupusers",{"_index":13009,"title":{"interfaces/GroupUsers.html":{}},"body":{"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/Meta.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OcsResponse.html":{},"interfaces/SuccessfulRes.html":{}}}],["groupvalidperiodentity",{"_index":12767,"title":{"classes/GroupValidPeriodEntity.html":{}},"body":{"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["groupvalidperiodentityprops",{"_index":13024,"title":{"interfaces/GroupValidPeriodEntityProps.html":{}},"body":{"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["gruppe",{"_index":19464,"title":{},"body":{"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{}}}],["gruppen",{"_index":19472,"title":{},"body":{"classes/SanisGruppenResponse.html":{},"classes/SanisPersonenkontextResponse.html":{}}}],["gruppenzugehoerige",{"_index":19483,"title":{},"body":{"classes/SanisGruppenResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["gruppenzugehoerigkeit",{"_index":19473,"title":{},"body":{"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{}}}],["gt",{"_index":3910,"title":{},"body":{"injectables/BoardNodeRepo.html":{},"classes/NewsScope.html":{}}}],["gte",{"_index":7886,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/SchoolYearRepo.html":{},"classes/TaskScope.html":{},"classes/UserScope.html":{}}}],["guarantee",{"_index":627,"title":{},"body":{"injectables/AccountLookupService.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["guard",{"_index":25561,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["guardagainst",{"_index":13027,"title":{"classes/GuardAgainst.html":{}},"body":{"classes/GuardAgainst.html":{},"injectables/LocalStrategy.html":{}}}],["guardagainst.nullorundefined",{"_index":15711,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["guardagainst.nullorundefined(account.password",{"_index":15708,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["guardagainst.nullorundefined(jwt",{"_index":15706,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["guardagainst.nullorundefined(password",{"_index":15716,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["guardagainst.nullorundefined(username",{"_index":15715,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["guards",{"_index":13034,"title":{},"body":{"classes/GuardAgainst.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["guest",{"_index":2256,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["guest:guest",{"_index":25301,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["guestpolicy",{"_index":2159,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"injectables/VideoConferenceCreateUc.html":{}}}],["guests",{"_index":24254,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["guide",{"_index":25824,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["gzip",{"_index":19544,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["h",{"_index":6518,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["h.doesurlmatch(url",{"_index":16310,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["h5p",{"_index":1215,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"entities/H5pEditorTempFile.html":{},"entities/InstalledLibrary.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileStorage.html":{}}}],["h5p_content_s3_connection",{"_index":22095,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["h5p_editor__library_list_path",{"_index":13615,"title":{},"body":{"interfaces/IH5PLibraryManagementConfig.html":{}}}],["h5p_libraries",{"_index":13344,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["h5p_library",{"_index":11631,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["h5pajaxendpointprovider",{"_index":13272,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["h5pconfig",{"_index":13329,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["h5pconfig(undefined",{"_index":13339,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["h5pcontent",{"_index":6608,"title":{"entities/H5PContent.html":{}},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["h5pcontentfactory",{"_index":13044,"title":{"classes/H5PContentFactory.html":{}},"body":{"classes/H5PContentFactory.html":{}}}],["h5pcontentfactory.define(h5pcontent",{"_index":13049,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["h5pcontentmapper",{"_index":13057,"title":{"classes/H5PContentMapper.html":{}},"body":{"classes/H5PContentMapper.html":{}}}],["h5pcontentmetadata",{"_index":12516,"title":{"classes/H5PContentMetadata.html":{}},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["h5pcontentparentparams",{"_index":13066,"title":{"interfaces/H5PContentParentParams.html":{}},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["h5pcontentparenttype",{"_index":6604,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"classes/LumiUserWithContentData.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["h5pcontentparenttype'})@isenum(h5pcontentparenttype",{"_index":17811,"title":{},"body":{"classes/PostH5PContentCreateParams.html":{}}}],["h5pcontentparenttype.lesson",{"_index":13050,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["h5pcontentproperties",{"_index":6605,"title":{"interfaces/H5PContentProperties.html":{}},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{}}}],["h5pcontentrepo",{"_index":13091,"title":{"injectables/H5PContentRepo.html":{}},"body":{"injectables/H5PContentRepo.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["h5pcontentresponse",{"_index":12509,"title":{"interfaces/H5PContentResponse.html":{}},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["h5peditorcontroller",{"_index":13106,"title":{"controllers/H5PEditorController.html":{}},"body":{"controllers/H5PEditorController.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["h5peditorcontroller.setrangeresponseheaders(res",{"_index":13201,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["h5peditormodelcontentresponse",{"_index":12510,"title":{"classes/H5PEditorModelContentResponse.html":{}},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["h5peditormodelcontentresponse(editormodel",{"_index":13226,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["h5peditormodelresponse",{"_index":12495,"title":{"classes/H5PEditorModelResponse.html":{}},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["h5peditormodelresponse(editormodel",{"_index":13222,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["h5peditormodelresponse:13",{"_index":13247,"title":{},"body":{"classes/H5PEditorModelContentResponse.html":{}}}],["h5peditormodelresponse:17",{"_index":13248,"title":{},"body":{"classes/H5PEditorModelContentResponse.html":{}}}],["h5peditormodelresponse:21",{"_index":13249,"title":{},"body":{"classes/H5PEditorModelContentResponse.html":{}}}],["h5peditormodule",{"_index":13254,"title":{"modules/H5PEditorModule.html":{}},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{}}}],["h5peditorprovider",{"_index":13273,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["h5peditortempfile",{"_index":13268,"title":{"entities/H5pEditorTempFile.html":{}},"body":{"modules/H5PEditorModule.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{}}}],["h5peditortestmodule",{"_index":13277,"title":{"modules/H5PEditorTestModule.html":{}},"body":{"modules/H5PEditorTestModule.html":{}}}],["h5peditoruc",{"_index":13169,"title":{},"body":{"controllers/H5PEditorController.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["h5perror",{"_index":13288,"title":{},"body":{"classes/H5PErrorMapper.html":{}}}],["h5perrormapper",{"_index":13284,"title":{"classes/H5PErrorMapper.html":{}},"body":{"classes/H5PErrorMapper.html":{}}}],["h5pfile",{"_index":13212,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["h5pfiledto",{"_index":12545,"title":{"classes/H5pFileDto.html":{}},"body":{"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{},"injectables/TemporaryFileStorage.html":{}}}],["h5plibrarymanagementconfig",{"_index":13299,"title":{},"body":{"modules/H5PLibraryManagementModule.html":{},"interfaces/IH5PLibraryManagementConfig.html":{}}}],["h5plibrarymanagementmodule",{"_index":13292,"title":{"modules/H5PLibraryManagementModule.html":{}},"body":{"modules/H5PLibraryManagementModule.html":{}}}],["h5plibrarymanagementservice",{"_index":13296,"title":{"injectables/H5PLibraryManagementService.html":{}},"body":{"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["h5pplayerprovider",{"_index":13274,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["h5psaveresponse",{"_index":12517,"title":{"classes/H5PSaveResponse.html":{}},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["h5psaveresponse(response.id",{"_index":13236,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["h5ptemporaryfilefactory",{"_index":13394,"title":{"classes/H5PTemporaryFileFactory.html":{}},"body":{"classes/H5PTemporaryFileFactory.html":{}}}],["h5ptemporaryfilefactory.define(h5peditortempfile",{"_index":13401,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{}}}],["halper",{"_index":23126,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["handed",{"_index":9575,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["handle",{"_index":3332,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CourseCopyService.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["handlecolumnboardintegration",{"_index":19216,"title":{},"body":{"injectables/RoomsService.html":{}}}],["handlecolumnboardintegration(roomid",{"_index":19220,"title":{},"body":{"injectables/RoomsService.html":{}}}],["handleconnection",{"_index":22396,"title":{},"body":{"classes/TldrawWs.html":{}}}],["handleconnection(client",{"_index":22402,"title":{},"body":{"classes/TldrawWs.html":{}}}],["handled",{"_index":4187,"title":{},"body":{"classes/BusinessError.html":{},"injectables/ContextExternalToolValidationService.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["handled_at",{"_index":168,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["handleexceptions",{"_index":15752,"title":{},"body":{"modules/LoggerModule.html":{}}}],["handleparameterstoinclude",{"_index":2726,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["handleparameterstoinclude(propertydata",{"_index":2766,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["handler",{"_index":4139,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/TaskUrlHandler.html":{},"todo.html":{}}}],["handler.getmetadata(url",{"_index":16311,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["handler.ts",{"_index":111,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{},"interfaces/UrlHandler.html":{}}}],["handler.ts:11",{"_index":4129,"title":{},"body":{"injectables/BoardUrlHandler.html":{}}}],["handler.ts:15",{"_index":7942,"title":{},"body":{"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["handler.ts:17",{"_index":4131,"title":{},"body":{"injectables/BoardUrlHandler.html":{}}}],["handler.ts:19",{"_index":121,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["handler.ts:24",{"_index":128,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["handler.ts:4",{"_index":23136,"title":{},"body":{"interfaces/UrlHandler.html":{}}}],["handler.ts:5",{"_index":119,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"interfaces/UrlHandler.html":{}}}],["handler.ts:7",{"_index":124,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["handler.ts:9",{"_index":7941,"title":{},"body":{"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["handler/abstract",{"_index":109,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["handler/board",{"_index":4126,"title":{},"body":{"injectables/BoardUrlHandler.html":{}}}],["handler/course",{"_index":7940,"title":{},"body":{"injectables/CourseUrlHandler.html":{}}}],["handler/lesson",{"_index":15577,"title":{},"body":{"injectables/LessonUrlHandler.html":{}}}],["handler/task",{"_index":21867,"title":{},"body":{"injectables/TaskUrlHandler.html":{}}}],["handlerejections",{"_index":15753,"title":{},"body":{"modules/LoggerModule.html":{}}}],["handlers",{"_index":16286,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["handles",{"_index":25809,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["handling",{"_index":7411,"title":{"additional-documentation/nestjs-application/exception-handling.html":{}},"body":{"modules/CoreModule.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["happen",{"_index":16894,"title":{},"body":{"injectables/OAuthService.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["happened",{"_index":25579,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["hard",{"_index":5359,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["hasaccess",{"_index":21224,"title":{},"body":{"injectables/SystemRule.html":{}}}],["hasaccesstoentity",{"_index":1803,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["hasaccesstoentity(user",{"_index":1808,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["hasaccesstosubmission",{"_index":20927,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasaccesstosubmission(user",{"_index":20933,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasallpermissions",{"_index":1804,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationService.html":{},"injectables/CourseGroupRule.html":{}}}],["hasallpermissions(user",{"_index":1812,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationService.html":{}}}],["hasallpermissionsbyrole",{"_index":1805,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["hasallpermissionsbyrole(role",{"_index":1814,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["hasbeenforciblyended",{"_index":2247,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["hasbodyproperty",{"_index":2784,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["haschangedparameternames",{"_index":11116,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["haschangedparameternames(oldparams",{"_index":11127,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["haschangedparameterregex",{"_index":11117,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["haschangedparameterregex(newparams",{"_index":11129,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["haschangedparameterscope",{"_index":11118,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["haschangedparameterscope(newparams",{"_index":11132,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["haschangedparametertypes",{"_index":11119,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["haschangedparametertypes(newparams",{"_index":11134,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["haschangedrequiredparameters",{"_index":11120,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["haschangedrequiredparameters(newparams",{"_index":11136,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["haschild",{"_index":3032,"title":{},"body":{"classes/BoardComposite.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["haschild(child",{"_index":3048,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["hasconn",{"_index":22543,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["hascontextexternaltool",{"_index":10153,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["hascoursepermission",{"_index":19167,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{},"injectables/TaskRule.html":{}}}],["hascoursereadpermission",{"_index":19149,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["hascoursereadpermission(user",{"_index":19153,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["hascoursewritepermission",{"_index":19150,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["hascoursewritepermission(user",{"_index":19155,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["hasduplicateattributes",{"_index":10482,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["hasduplicateattributes(customparameter",{"_index":10493,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["haserror",{"_index":11821,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["hasfeature",{"_index":15289,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["hasfeature(schoolid",{"_index":15300,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["hash",{"_index":12487,"title":{},"body":{"interfaces/GetFileResponse.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileParams.html":{}}}],["hash_function",{"_index":15876,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["hashiterations",{"_index":14838,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["hashiterations(310000",{"_index":14451,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["hashkey",{"_index":15878,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["hashkey).tostring(cryptojs.enc.base64",{"_index":15880,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["hasid",{"_index":8434,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["hasjoinedvoice",{"_index":2319,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["haslessonpermission",{"_index":15521,"title":{},"body":{"injectables/LessonRule.html":{},"injectables/TaskRule.html":{}}}],["haslessonreadpermission",{"_index":19151,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["haslessonreadpermission(user",{"_index":19157,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["hasmatch",{"_index":14058,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["hasmatch(user",{"_index":14066,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["hasname",{"_index":11817,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["hasname(name",{"_index":11816,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["hasnewrequiredparameter",{"_index":11121,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["hasnewrequiredparameter(oldparams",{"_index":11138,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["hasnewspermission",{"_index":26049,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["hasoneofpermissions",{"_index":1806,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationService.html":{}}}],["hasoneofpermissions(user",{"_index":1816,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationService.html":{}}}],["hasparent",{"_index":3892,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["hasparentpermission",{"_index":21703,"title":{},"body":{"injectables/TaskRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["hasparentpermission(user",{"_index":21705,"title":{},"body":{"injectables/TaskRule.html":{}}}],["hasparentreadpermission",{"_index":15528,"title":{},"body":{"injectables/LessonRule.html":{}}}],["hasparenttaskreadaccess",{"_index":20928,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasparenttaskreadaccess(user",{"_index":20935,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasparenttaskwriteaccess",{"_index":20929,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasparenttaskwriteaccess(user",{"_index":20937,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasparentwritepermission",{"_index":15530,"title":{},"body":{"injectables/LessonRule.html":{}}}],["haspath",{"_index":18736,"title":{},"body":{"classes/RequestInfo.html":{}}}],["haspath(reqroute",{"_index":18743,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["haspermission",{"_index":1838,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/BoardDoRule.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"injectables/GroupRule.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LessonRule.html":{},"injectables/RoomsAuthorisationService.html":{},"interfaces/Rule.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionUc.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["haspermission(user",{"_index":1981,"title":{},"body":{"injectables/AuthorizationService.html":{},"injectables/BoardDoRule.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"injectables/GroupRule.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LessonRule.html":{},"interfaces/Rule.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["haspermissionbyreferences",{"_index":1948,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["haspermissionbyreferences(userid",{"_index":1954,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["haspermissions",{"_index":11258,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{},"injectables/PermissionService.html":{},"injectables/SystemRule.html":{}}}],["hasreadaccess",{"_index":20930,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasreadaccess(user",{"_index":20940,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["hasrequiredpermission",{"_index":21710,"title":{},"body":{"injectables/TaskRule.html":{}}}],["hasscanstatuserror",{"_index":11820,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["hasscanstatuswontcheck",{"_index":11823,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["hasschoolmigrated",{"_index":19955,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["hasschoolmigrated(sourceexternalid",{"_index":19968,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["hasschoolmigrateduser",{"_index":4944,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/SchoolMigrationService.html":{}}}],["hasschoolmigrateduser(schoolid",{"_index":19972,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["hastaskreadpermission",{"_index":19152,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["hastaskreadpermission(user",{"_index":19159,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["hasuserallschoolpermissions",{"_index":17784,"title":{},"body":{"injectables/PermissionService.html":{}}}],["hasuserallschoolpermissions(user",{"_index":17787,"title":{},"body":{"injectables/PermissionService.html":{}}}],["hasuserjoined",{"_index":2248,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["hasusermigrated",{"_index":23685,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["hasuserpermission",{"_index":15525,"title":{},"body":{"injectables/LessonRule.html":{}}}],["hasvideo",{"_index":2320,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["haswontcheckstatus",{"_index":11824,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["haswriteaccess",{"_index":20931,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["haswriteaccess(user",{"_index":20942,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["having",{"_index":3877,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"controllers/ElementController.html":{},"injectables/LdapStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["head",{"_index":19321,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["head(path",{"_index":19339,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["header",{"_index":1595,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/JwtConstants.html":{},"controllers/OauthSSOController.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["headerapikey",{"_index":24415,"title":{},"body":{"injectables/XApiKeyStrategy.html":{},"dependencies.html":{}}}],["headerconst",{"_index":1609,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["headerconst.json",{"_index":1654,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["headercookies",{"_index":13547,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["headers",{"_index":1169,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosResponseImp.html":{},"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"injectables/DeletionClient.html":{},"classes/DownloadFileParams.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"injectables/HydraOauthUc.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/OauthAdapterService.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["headobjectcommand",{"_index":19355,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["headobjectcommandoutput",{"_index":19356,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["headresponse",{"_index":19427,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["heartened",{"_index":24700,"title":{},"body":{"license.html":{}}}],["height",{"_index":3530,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/BoardManagementUc.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"injectables/ColumnBoardService.html":{},"classes/ColumnResponseMapper.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SetHeightBodyParams.html":{}}}],["height(height",{"_index":4314,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{}}}],["height.body.params",{"_index":4360,"title":{},"body":{"controllers/CardController.html":{}}}],["height.body.params.ts",{"_index":20261,"title":{},"body":{"classes/SetHeightBodyParams.html":{}}}],["height.body.params.ts:10",{"_index":20263,"title":{},"body":{"classes/SetHeightBodyParams.html":{}}}],["height=100",{"_index":6007,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["hell",{"_index":7502,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["help",{"_index":6243,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["helper",{"_index":3287,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/BoardDoCopyService.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/CopyFilesService.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/ExternalToolConfigurationUc.html":{},"modules/FilesStorageClientModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LessonCopyUC.html":{},"modules/LessonModule.html":{},"classes/PreviewBuilder.html":{},"injectables/PreviewService.html":{},"classes/RecursiveCopyVisitor.html":{},"controllers/RoomsController.html":{},"injectables/SchoolExternalToolUc.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{},"injectables/SubmissionRepo.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"modules/TaskModule.html":{},"modules/ToolApiModule.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolReferenceUc.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["helper.module",{"_index":21377,"title":{},"body":{"modules/TaskApiModule.html":{}}}],["helper.module.ts",{"_index":7322,"title":{},"body":{"modules/CopyHelperModule.html":{}}}],["helper.service",{"_index":7324,"title":{},"body":{"modules/CopyHelperModule.html":{}}}],["helper.service.ts",{"_index":7326,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["helper.service.ts:10",{"_index":7337,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["helper.service.ts:28",{"_index":7335,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["helper.service.ts:45",{"_index":7331,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["helper.ts",{"_index":20563,"title":{},"body":{"classes/SortHelper.html":{},"classes/TestHelper.html":{},"injectables/ToolPermissionHelper.html":{}}}],["helper.ts:15",{"_index":22951,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["helper.ts:21",{"_index":22185,"title":{},"body":{"classes/TestHelper.html":{}}}],["helper.ts:28",{"_index":22952,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["helper.ts:4",{"_index":20566,"title":{},"body":{"classes/SortHelper.html":{}}}],["helper.ts:53",{"_index":22953,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["helper.ts:6",{"_index":22184,"title":{},"body":{"classes/TestHelper.html":{}}}],["helper/copy",{"_index":7321,"title":{},"body":{"modules/CopyHelperModule.html":{},"modules/TaskApiModule.html":{}}}],["helper/dto/copy.response.ts",{"_index":7118,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/dto/copy.response.ts:17",{"_index":7129,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/dto/copy.response.ts:22",{"_index":7132,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/dto/copy.response.ts:29",{"_index":7133,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/dto/copy.response.ts:34",{"_index":7124,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/dto/copy.response.ts:41",{"_index":7131,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/dto/copy.response.ts:47",{"_index":7128,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/dto/copy.response.ts:7",{"_index":7122,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helper/mapper/copy.mapper.ts",{"_index":7364,"title":{},"body":{"classes/CopyMapper.html":{}}}],["helper/mapper/copy.mapper.ts:11",{"_index":7376,"title":{},"body":{"classes/CopyMapper.html":{}}}],["helper/mapper/copy.mapper.ts:31",{"_index":7369,"title":{},"body":{"classes/CopyMapper.html":{}}}],["helper/mapper/copy.mapper.ts:40",{"_index":7373,"title":{},"body":{"classes/CopyMapper.html":{}}}],["helper/service/copy",{"_index":7325,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["helper/types/copy.types",{"_index":7134,"title":{},"body":{"classes/CopyApiResponse.html":{}}}],["helpers",{"_index":25545,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["helpful",{"_index":25722,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["helplink",{"_index":5506,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["helps",{"_index":25707,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["helpto",{"_index":25358,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["hendt/xml2json",{"_index":7104,"title":{},"body":{"injectables/ConverterUtil.html":{},"dependencies.html":{}}}],["here",{"_index":2547,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"modules/CommonToolModule.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"injectables/JwtValidationAdapter.html":{},"classes/LibraryName.html":{},"injectables/NextcloudStrategy.html":{},"classes/Path.html":{},"injectables/TaskRepo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["hereafter",{"_index":25078,"title":{},"body":{"license.html":{}}}],["hex",{"_index":625,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["hh:mm:ss.sss",{"_index":15759,"title":{},"body":{"modules/LoggerModule.html":{}}}],["hidden",{"_index":3727,"title":{},"body":{"classes/BoardLessonResponse.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/DtoCreator.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/TaskUC.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["hier",{"_index":5501,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["hierarchy",{"_index":5970,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["high",{"_index":25506,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["higher",{"_index":25434,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["highly",{"_index":25991,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["hilfebereich",{"_index":5518,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["hint",{"_index":5270,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/ConsentRequestBody.html":{},"injectables/CopyFilesService.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"classes/OauthConfigResponse.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["history",{"_index":25234,"title":{},"body":{"todo.html":{}}}],["historywindows",{"_index":25862,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["hmac",{"_index":15875,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["holder",{"_index":25016,"title":{},"body":{"license.html":{}}}],["holders",{"_index":24983,"title":{},"body":{"license.html":{}}}],["holds",{"_index":26068,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["homepage",{"_index":25223,"title":{},"body":{"properties.html":{}}}],["homework",{"_index":25522,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["homework\\/([0",{"_index":21868,"title":{},"body":{"injectables/TaskUrlHandler.html":{}}}],["homeworkid",{"_index":20668,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["homeworkid'})@index",{"_index":20664,"title":{},"body":{"entities/Submission.html":{}}}],["homeworks",{"_index":21284,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["hook",{"_index":26078,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["hookfn",{"_index":523,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["hooks",{"_index":24502,"title":{},"body":{"dependencies.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["hope",{"_index":7503,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{},"license.html":{}}}],["horizontal",{"_index":25503,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["host",{"_index":1282,"title":{},"body":{"modules/AntivirusModule.html":{},"classes/GlobalErrorFilter.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"classes/VideoConferenceConfiguration.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["host.gettype",{"_index":12592,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["host.switchtohttp",{"_index":12602,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["host=http://localhost:4000",{"_index":25880,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["hostname",{"_index":1288,"title":{},"body":{"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"modules/FilesStorageModule.html":{},"interfaces/ScanResult.html":{}}}],["hosts",{"_index":24915,"title":{},"body":{"license.html":{}}}],["hosturl",{"_index":13674,"title":{},"body":{"interfaces/IVideoConferenceSettings.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["hot",{"_index":25265,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application.html":{}}}],["hours",{"_index":2877,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["household",{"_index":24933,"title":{},"body":{"license.html":{}}}],["hpi",{"_index":2219,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarService.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardService.html":{},"interfaces/CopyFileDO.html":{},"injectables/CourseCopyUC.html":{},"modules/DeletionApiModule.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DtoCreator.html":{},"interfaces/FileDO.html":{},"interfaces/FileStorageConfig.html":{},"modules/FilesStorageModule.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/HydraSsoService.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IToolFeatures.html":{},"classes/KeycloakAdministration.html":{},"injectables/LessonCopyUC.html":{},"modules/ManagementModule.html":{},"injectables/MetaTagInternalUrlService.html":{},"controllers/OauthProviderController.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/PrometheusMetricsConfig.html":{},"injectables/PseudonymService.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/RedisModule.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsService.html":{},"injectables/SanisProvisioningStrategy.html":{},"interfaces/ServerConfig.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TldrawConfig.html":{},"classes/ToolConfiguration.html":{},"injectables/UserLoginMigrationService.html":{},"classes/VideoConferenceConfiguration.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{}}}],["href",{"_index":5750,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["hs256",{"_index":1570,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["hs384",{"_index":1571,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["hs512",{"_index":1572,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["html",{"_index":5758,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeWebContentResource.html":{},"entities/CourseNews.html":{},"controllers/H5PEditorController.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"dependencies.html":{}}}],["html.transformer",{"_index":18858,"title":{},"body":{"classes/RichText.html":{}}}],["htmlcontent",{"_index":1451,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["htmlmailcontent",{"_index":1453,"title":{"interfaces/HtmlMailContent.html":{}},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["http",{"_index":1379,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"classes/ConsentRequestBody.html":{},"injectables/DeletionClient.html":{},"classes/ErrorResponse.html":{},"classes/GlobalErrorFilter.html":{},"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["http(message",{"_index":13645,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{}}}],["http(s",{"_index":26076,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["http://:4011",{"_index":25878,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["http://fsf.org",{"_index":24655,"title":{},"body":{"license.html":{}}}],["http://localhost:3030",{"_index":14581,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["http://localhost:3030/api/v1/sync?target=ldap",{"_index":25899,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["http://localhost:3030/api/v3/sso/oauth",{"_index":14696,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["http://localhost:8080",{"_index":25871,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["http://ltsc.ieee.org/xsd/imsccv1p1/lom/manifest",{"_index":5934,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://ltsc.ieee.org/xsd/imsccv1p1/lom/resource",{"_index":5935,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://ltsc.ieee.org/xsd/imsccv1p3/lom/manifest",{"_index":5921,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://ltsc.ieee.org/xsd/imsccv1p3/lom/resource",{"_index":5923,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.gnu.org/licenses",{"_index":25219,"title":{},"body":{"license.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p1/ccv1p1_imscp_v1p2_v1p0.xsd",{"_index":5937,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p1/lom/ccv1p1_lommanifest_v1p0.xsd",{"_index":5938,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p1/lom/ccv1p1_lomresource_v1p0.xsd",{"_index":5936,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p3/ccv1p3_cpextensionv1p2_v1p0.xsd",{"_index":5929,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p3/ccv1p3_imscp_v1p2_v1p0.xsd",{"_index":5927,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p3/ccv1p3_imswl_v1p3.xsd",{"_index":6010,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p3/lom/ccv1p3_lommanifest_v1p0.xsd",{"_index":5928,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/profile/cc/ccv1p3/lom/ccv1p3_lomresource_v1p0.xsd",{"_index":5926,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/xsd/imsbasiclti_v1p0",{"_index":5884,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["http://www.imsglobal.org/xsd/imsccv1p1/imscp_v1p1",{"_index":5933,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/xsd/imsccv1p1/imswl_v1p1",{"_index":6011,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["http://www.imsglobal.org/xsd/imsccv1p3/imscp_extensionv1p2",{"_index":5925,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/xsd/imsccv1p3/imscp_v1p1",{"_index":5919,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["http://www.imsglobal.org/xsd/imsccv1p3/imswl_v1p3",{"_index":6009,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["http://www.imsglobal.org/xsd/imslticc_v1p3",{"_index":5882,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["http://www.imsglobal.org/xsd/imslticc_v1p3.xsd",{"_index":5890,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["http://www.imsglobal.org/xsd/imslticm_v1p0",{"_index":5886,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["http://www.imsglobal.org/xsd/imslticp_v1p0",{"_index":5888,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["http://www.w3.org/2001/xmlschema",{"_index":5867,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["httpargumenthost",{"_index":12601,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["httpargumenthost.getresponse",{"_index":12603,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["httpcode",{"_index":3210,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/LoginController.html":{},"controllers/SystemController.html":{},"controllers/TldrawController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["httpcode(200",{"_index":9512,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["httpcode(201",{"_index":9788,"title":{},"body":{"controllers/ElementController.html":{}}}],["httpcode(202",{"_index":9509,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["httpcode(204",{"_index":3229,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/TldrawController.html":{}}}],["httpcode(httpstatus.no_content",{"_index":21075,"title":{},"body":{"controllers/SystemController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["httpcode(httpstatus.ok",{"_index":15802,"title":{},"body":{"controllers/LoginController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["httpexception",{"_index":2098,"title":{},"body":{"classes/AxiosErrorLoggable.html":{},"classes/BoardResponseMapper.html":{},"classes/BusinessError.html":{},"classes/ColumnResponseMapper.html":{},"classes/ErrorUtils.html":{},"classes/ExternalToolLogoService.html":{},"classes/GlobalErrorFilter.html":{},"classes/H5PErrorMapper.html":{}}}],["httpexception(`unsupported",{"_index":5627,"title":{},"body":{"classes/ColumnResponseMapper.html":{}}}],["httpexception(error.message",{"_index":13290,"title":{},"body":{"classes/H5PErrorMapper.html":{}}}],["httpexceptionoptions",{"_index":9974,"title":{},"body":{"classes/ErrorUtils.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["httpexceptions",{"_index":25618,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["httpmodule",{"_index":3857,"title":{},"body":{"modules/BoardModule.html":{},"modules/CalendarModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/ExternalToolModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/IdentityManagementModule.html":{},"modules/KeycloakModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderServiceModule.html":{},"modules/ProvisioningModule.html":{},"modules/RocketChatModule.html":{},"modules/VideoConferenceModule.html":{}}}],["httponly",{"_index":20242,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["https://${scdomain",{"_index":14582,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["https://${scdomain}/api/v3/sso/oauth",{"_index":14697,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["https://dbildungscloud.de",{"_index":25224,"title":{},"body":{"properties.html":{}}}],["https://docs.nestjs.com/first",{"_index":25549,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["https://example.com/tool",{"_index":22894,"title":{},"body":{"classes/ToolLaunchRequestResponse.html":{}}}],["https://github.com/goldbergyoni/javascript",{"_index":25826,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["https://github.com/hpi",{"_index":25247,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["https://github.com/mikro",{"_index":11787,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["https://github.com/thoughtbot/fishery",{"_index":2565,"title":{},"body":{"classes/BaseFactory.html":{}}}],["https://hpi",{"_index":25268,"title":{},"body":{"todo.html":{}}}],["https://jestjs.io",{"_index":25401,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["https://khalilstemmler.com/articles/software",{"_index":25588,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["https://logo.com",{"_index":8302,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["https://logourl.com",{"_index":10324,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["https://mikro",{"_index":25402,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["https://min.io",{"_index":25404,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["https://mock.de",{"_index":21146,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["https://mock.de/auth",{"_index":21135,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["https://mock.de/jwks",{"_index":21139,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["https://mock.de/logout",{"_index":21137,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["https://mock.de/mock/auth/public/mocktoken",{"_index":21133,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["https://mock.tld/auth",{"_index":21141,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["https://mock.tld/logout",{"_index":21144,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["https://mock.tld/token",{"_index":21142,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["https://mock.tld/userinfo",{"_index":21143,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["https://mockhost:3030/api/v3/sso/oauth",{"_index":21134,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["https://nestjs.com",{"_index":25400,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["https://provisioningurl.de",{"_index":21148,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["https://stackoverflow.com/a/61909588",{"_index":25233,"title":{},"body":{"todo.html":{}}}],["https://ticketsystem.dbildungscloud.de/browse/arc",{"_index":2508,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["https://ticketsystem.dbildungscloud.de/browse/bc",{"_index":19273,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["https://url.com",{"_index":8300,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["https://www.basic",{"_index":8256,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["https://www.fallback",{"_index":6469,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["https://www.frontchannel.com",{"_index":8264,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["https://www.geogebra.org/m/${content.content.materialid",{"_index":5761,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["https://www.imsglobal.org/sites/default/files/profile/cc/ccv1p1/ccv1p1_imswl_v1p1.xsd",{"_index":6012,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["https://www.lti11",{"_index":8275,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["https://www.npmjs.com/package/@golevelup/nestjs",{"_index":18354,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["https://www.oauth2",{"_index":8271,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["https://www.rabbitmq.com",{"_index":25405,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["https://www.redirect.com",{"_index":8266,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["httpservice",{"_index":1053,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"injectables/DeletionClient.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/ExternalToolLogoService.html":{},"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthAdapterService.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["httpstatus",{"_index":1368,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/BoardResponseMapper.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/ColumnResponseMapper.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorResponse.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"classes/LdapConnectionError.html":{},"controllers/LoginController.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"controllers/SystemController.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{},"classes/ValidationError.html":{},"controllers/VideoConferenceController.html":{}}}],["httpstatus.bad_gateway",{"_index":15032,"title":{},"body":{"classes/LdapConnectionError.html":{}}}],["httpstatus.bad_request",{"_index":1375,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/AxiosErrorFactory.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ValidationError.html":{},"controllers/VideoConferenceController.html":{}}}],["httpstatus.bad_request.tostring",{"_index":2089,"title":{},"body":{"classes/AxiosErrorFactory.html":{}}}],["httpstatus.conflict",{"_index":4201,"title":{},"body":{"classes/BusinessError.html":{},"classes/ErrorResponse.html":{}}}],["httpstatus.forbidden",{"_index":12420,"title":{},"body":{"classes/ForbiddenOperationError.html":{},"controllers/VideoConferenceController.html":{}}}],["httpstatus.internal_server_error",{"_index":2104,"title":{},"body":{"classes/AxiosErrorLoggable.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"controllers/VideoConferenceController.html":{}}}],["httpstatus.not_found",{"_index":9858,"title":{},"body":{"classes/EntityNotFoundError.html":{}}}],["httpstatus.ok",{"_index":12732,"title":{},"body":{"controllers/GroupController.html":{},"controllers/VideoConferenceController.html":{}}}],["httpstatus.too_many_requests",{"_index":4157,"title":{},"body":{"classes/BruteForceError.html":{}}}],["httpstatus.unauthorized",{"_index":1800,"title":{},"body":{"classes/AuthorizationError.html":{},"classes/SchoolInMigrationLoggableException.html":{}}}],["httpstatus.unprocessable_entity",{"_index":3987,"title":{},"body":{"classes/BoardResponseMapper.html":{},"classes/ColumnResponseMapper.html":{},"classes/MissingToolParameterValueLoggableException.html":{}}}],["human",{"_index":6251,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["hydra",{"_index":13581,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydra/hydra.adapter",{"_index":17478,"title":{},"body":{"modules/OauthProviderServiceModule.html":{}}}],["hydra_oauth_failed",{"_index":13426,"title":{},"body":{"classes/HydraOauthFailedLoggableException.html":{}}}],["hydraadapter",{"_index":17477,"title":{},"body":{"modules/OauthProviderServiceModule.html":{}}}],["hydracookies",{"_index":7108,"title":{},"body":{"classes/CookiesDto.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{}}}],["hydracookies.includes(cookie",{"_index":13560,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydracookies.push(cookie",{"_index":13561,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydraoauthconfig",{"_index":13454,"title":{},"body":{"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{}}}],["hydraoauthconfig.redirecturi",{"_index":13458,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["hydraoauthfailedloggableexception",{"_index":13421,"title":{"classes/HydraOauthFailedLoggableException.html":{}},"body":{"classes/HydraOauthFailedLoggableException.html":{}}}],["hydraoauthuc",{"_index":13427,"title":{"injectables/HydraOauthUc.html":{}},"body":{"injectables/HydraOauthUc.html":{},"modules/OauthApiModule.html":{},"controllers/OauthSSOController.html":{}}}],["hydraredirectdto",{"_index":13448,"title":{"classes/HydraRedirectDto.html":{}},"body":{"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{}}}],["hydraredirectdto(dto",{"_index":13533,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydrassoservice",{"_index":13437,"title":{"injectables/HydraSsoService.html":{}},"body":{"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"modules/OauthModule.html":{}}}],["hydrauc",{"_index":17502,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["hydrauri",{"_index":13569,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydrauri}/.well",{"_index":13577,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydrauri}/oauth2/auth",{"_index":13572,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydrauri}/oauth2/sessions/logout",{"_index":13580,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["hydrauri}/oauth2/token",{"_index":13587,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["i...properties",{"_index":7506,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["i.name",{"_index":5313,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["i.width",{"_index":16275,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["i18next",{"_index":24511,"title":{},"body":{"dependencies.html":{}}}],["iat",{"_index":7989,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"classes/JwtTestFactory.html":{}}}],["ibbbsettings",{"_index":2336,"title":{"interfaces/IBbbSettings.html":{}},"body":{"injectables/BBBService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["icolumnboardproperties",{"_index":5432,"title":{},"body":{"classes/ColumnBoardFactory.html":{}}}],["icommoncartridgefilebuilder",{"_index":5789,"title":{"interfaces/ICommonCartridgeFileBuilder.html":{}},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["icommoncartridgeltiresourceprops",{"_index":5853,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{}}}],["icommoncartridgemanifestprops",{"_index":5908,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["icommoncartridgemetadataprops",{"_index":5910,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{}}}],["icommoncartridgeorganizationbuilder",{"_index":5805,"title":{"interfaces/ICommonCartridgeOrganizationBuilder.html":{}},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["icommoncartridgeorganizationprops",{"_index":5803,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["icommoncartridgeresourceprops",{"_index":5706,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["icommoncartridgewebcontentresourceprops",{"_index":5712,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{}}}],["icommoncartridgeweblinkresourceprops",{"_index":5982,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["icons",{"_index":25834,"title":{},"body":{"additional-documentation/nestjs-application/vscode.html":{}}}],["icontentauthor",{"_index":6533,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["icontentchange",{"_index":6535,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["icontentmetadata",{"_index":6508,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["icurrentuser",{"_index":325,"title":{"interfaces/ICurrentUser.html":{}},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"classes/CurrentUserMapper.html":{},"controllers/DashboardController.html":{},"controllers/ElementController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"interfaces/ICurrentUser.html":{},"controllers/ImportUserController.html":{},"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"controllers/LessonController.html":{},"injectables/LocalStrategy.html":{},"controllers/LoginController.html":{},"injectables/LoginUc.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/NewsController.html":{},"injectables/Oauth2Strategy.html":{},"interfaces/OauthCurrentUser.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"controllers/PseudonymController.html":{},"injectables/RequestLoggingInterceptor.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"controllers/SystemController.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["id",{"_index":34,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AccountByIdParams.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxPostQueryParams.html":{},"injectables/AuthenticationService.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"entities/Board.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardContextResponse.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"entities/BoardElement.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"classes/BoardTaskResponse.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"injectables/CalendarService.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardUrlParams.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassMapper.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"classes/ColumnUrlParams.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementService.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ContextRef.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"injectables/CopyFilesService.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomParameterFactory.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"classes/DashboardUrlParams.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"interfaces/DeletionTargetRef.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"interfaces/EntityWithSchool.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolMetadataService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolSearchParams.html":{},"injectables/ExternalToolService.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateRepo.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto-1.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"injectables/FilesRepo.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilterNewsParams.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IGridElement.html":{},"interfaces/INewsScope.html":{},"classes/IdParams.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"classes/LessonCopyApiParams.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/LoginResponse-1.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/LumiUserWithContentData.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"classes/MoveColumnBodyParams.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{},"interfaces/OcsResponse.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/ParentInfo.html":{},"classes/PreviewBuilder.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymResponse.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemResponse.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/RevokeConsentParams.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsService.html":{},"injectables/S3ClientAdapter.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolUc.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"entities/SchoolNews.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/ScopeRef.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenUC.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SortExternalToolParams.html":{},"injectables/StorageProviderRepo.html":{},"entities/Submission.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionFactory.html":{},"injectables/SubmissionItemFactory.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/SubmissionUrlParams.html":{},"interfaces/SuccessfulRes.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"entities/User.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserParams.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"classes/UsersList.html":{},"classes/VideoConferenceDO.html":{},"injectables/VideoConferenceRepo.html":{},"dependencies.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["id'})@apiokresponse({description",{"_index":22818,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["id.'})@apiresponse({status",{"_index":12723,"title":{},"body":{"controllers/GroupController.html":{}}}],["id.body.params.ts",{"_index":286,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["id.body.params.ts:15",{"_index":295,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["id.body.params.ts:26",{"_index":293,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["id.body.params.ts:35",{"_index":291,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["id.id",{"_index":14749,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["id.loggable.ts",{"_index":19910,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["id.loggable.ts:11",{"_index":19915,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["id.loggable.ts:4",{"_index":19913,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["id.params",{"_index":23474,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["id.params.ts",{"_index":307,"title":{},"body":{"classes/AccountByIdParams.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SystemIdParams.html":{}}}],["id.params.ts:11",{"_index":309,"title":{},"body":{"classes/AccountByIdParams.html":{}}}],["id.params.ts:7",{"_index":6754,"title":{},"body":{"classes/ContextExternalToolIdParams.html":{},"classes/ExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams.html":{}}}],["id.params.ts:8",{"_index":6757,"title":{},"body":{"classes/ContextExternalToolIdParams-1.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SystemIdParams.html":{}}}],["id.pipe.ts",{"_index":25570,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["id.strategy.ts",{"_index":2001,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{}}}],["id.strategy.ts:8",{"_index":2006,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{}}}],["id.token.claim",{"_index":14647,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["id.tostring",{"_index":962,"title":{},"body":{"injectables/AccountServiceDb.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["id/authorization",{"_index":6276,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["id/challenge",{"_index":6311,"title":{},"body":{"classes/ConsentSessionResponse.html":{},"classes/LoginResponse-1.html":{}}}],["id='${child.id",{"_index":3072,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["id_token",{"_index":178,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["id_token_hint_claims",{"_index":17547,"title":{},"body":{"classes/OidcContextResponse.html":{},"interfaces/ProviderOidcContext.html":{}}}],["idashboardrepo",{"_index":8723,"title":{"interfaces/IDashboardRepo.html":{}},"body":{"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"interfaces/IDashboardRepo.html":{}}}],["idea",{"_index":2523,"title":{},"body":{"classes/BaseDomainObject.html":{},"injectables/TaskUC.html":{}}}],["idempotent",{"_index":2343,"title":{},"body":{"injectables/BBBService.html":{}}}],["identical",{"_index":14362,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["identifiable",{"_index":25101,"title":{},"body":{"license.html":{}}}],["identified",{"_index":13409,"title":{},"body":{"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["identifiedreference",{"_index":2538,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"entities/Board.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["identifier",{"_index":1396,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"controllers/DeletionRequestsController.html":{},"classes/ErrorResponse.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"injectables/LdapStrategy.html":{},"injectables/NextcloudStrategy.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["identifiername",{"_index":16822,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["identifierref",{"_index":5876,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{}}}],["identifiers",{"_index":13831,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/JwtValidationAdapter.html":{}}}],["identifies",{"_index":20532,"title":{},"body":{"classes/ShareTokenUrlParams.html":{}}}],["identify",{"_index":6277,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["identities",{"_index":25868,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["identity",{"_index":3077,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/CleanOptions.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"modules/KeycloakModule.html":{},"interfaces/MigrationOptions.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"interfaces/RetryOptions.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["identitymanagementconfig",{"_index":13738,"title":{"interfaces/IdentityManagementConfig.html":{}},"body":{"interfaces/IdentityManagementConfig.html":{},"injectables/LocalStrategy.html":{},"interfaces/ServerConfig.html":{}}}],["identitymanagementmodule",{"_index":665,"title":{"modules/IdentityManagementModule.html":{}},"body":{"modules/AccountModule.html":{},"modules/AuthenticationModule.html":{},"modules/IdentityManagementModule.html":{},"modules/SystemModule.html":{}}}],["identitymanagementoauthservice",{"_index":13748,"title":{"classes/IdentityManagementOauthService.html":{}},"body":{"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/LegacySystemService.html":{},"injectables/LocalStrategy.html":{}}}],["identitymanagementoauthservice:24",{"_index":14688,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["identitymanagementoauthservice:54",{"_index":14689,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["identitymanagementoauthservice:61",{"_index":14691,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["identitymanagementservice",{"_index":633,"title":{"classes/IdentityManagementService.html":{}},"body":{"injectables/AccountLookupService.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:114",{"_index":14731,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:127",{"_index":14732,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:132",{"_index":14721,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:137",{"_index":14733,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:15",{"_index":14719,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:153",{"_index":14734,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:47",{"_index":14736,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:63",{"_index":14738,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:77",{"_index":14730,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:85",{"_index":14727,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identitymanagementservice:99",{"_index":14728,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["identityprovideralias",{"_index":14637,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["identityprovidermapper",{"_index":14636,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["identityprovidermapperrepresentation",{"_index":14521,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["identityproviderrepresentation",{"_index":14524,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["idhierarchy",{"_index":5473,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["idhierarchy[0",{"_index":5474,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["idm",{"_index":78,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"interfaces/CleanOptions.html":{},"classes/IdentityManagementOauthService.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["idm.service",{"_index":679,"title":{},"body":{"modules/AccountModule.html":{}}}],["idm/dev:latest",{"_index":25317,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["idmaccount",{"_index":593,"title":{},"body":{"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["idmaccountproperties",{"_index":227,"title":{},"body":{"entities/Account.html":{},"classes/AccountFactory.html":{}}}],["idmaccountupdate",{"_index":13777,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["idmoauthservice",{"_index":15342,"title":{},"body":{"injectables/LegacySystemService.html":{},"injectables/LocalStrategy.html":{}}}],["idmreferenceid",{"_index":432,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/AccountSaveDto.html":{}}}],["idmservice",{"_index":636,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["idmuserrepresentation",{"_index":14834,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["idp",{"_index":14554,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["idpalias",{"_index":14513,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["idparams",{"_index":13677,"title":{"classes/IdParams.html":{}},"body":{"classes/IdParams.html":{},"controllers/OauthProviderController.html":{}}}],["idphint",{"_index":14962,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["ids",{"_index":615,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/BaseDORepo.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRepo.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"injectables/CardService.html":{},"injectables/ColumnBoardService.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/FeathersAuthorizationService.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ICurrentUser.html":{},"interfaces/ParentInfo.html":{},"classes/PatchOrderParams.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/S3ClientAdapter.html":{},"classes/UsersList.html":{}}}],["ids.'})@apiresponse({status",{"_index":4339,"title":{},"body":{"controllers/CardController.html":{}}}],["ids.length",{"_index":2514,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["ids.map((eid",{"_index":2504,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["ids.map((id",{"_index":2950,"title":{},"body":{"entities/Board.html":{}}}],["ids.params.ts",{"_index":4391,"title":{},"body":{"classes/CardIdsParams.html":{}}}],["ids.params.ts:10",{"_index":4395,"title":{},"body":{"classes/CardIdsParams.html":{}}}],["ids[0",{"_index":3412,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["idtoken",{"_index":173,"title":{"interfaces/IdToken.html":{}},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/IdToken.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataStrategyInputDto.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/TokenRequestMapper.html":{}}}],["idtoken.external_sub",{"_index":17579,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["idtoken.uuid",{"_index":14267,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["idtokencreationloggableexception",{"_index":13680,"title":{"classes/IdTokenCreationLoggableException.html":{}},"body":{"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{}}}],["idtokencreationloggableexception(clientid",{"_index":13729,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["idtokenextractionfailureloggableexception",{"_index":13689,"title":{"classes/IdTokenExtractionFailureLoggableException.html":{}},"body":{"classes/IdTokenExtractionFailureLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{}}}],["idtokenextractionfailureloggableexception('external_sub",{"_index":17580,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["idtokenextractionfailureloggableexception('uuid",{"_index":14268,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["idtokeninvalidloggableexception",{"_index":13696,"title":{"classes/IdTokenInvalidLoggableException.html":{}},"body":{"classes/IdTokenInvalidLoggableException.html":{},"injectables/OAuthService.html":{}}}],["idtokenservice",{"_index":13698,"title":{"injectables/IdTokenService.html":{}},"body":{"injectables/IdTokenService.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"modules/OauthProviderModule.html":{}}}],["idtokenusernotfoundloggableexception",{"_index":13732,"title":{"classes/IdTokenUserNotFoundLoggableException.html":{}},"body":{"classes/IdTokenUserNotFoundLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{}}}],["idtokenusernotfoundloggableexception(idtoken?.uuid",{"_index":14273,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["ieditormodel",{"_index":12493,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["ientity",{"_index":2530,"title":{"interfaces/IEntity.html":{}},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"interfaces/EntityWithSchool.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{}}}],["ientitywithtimestamps",{"_index":9861,"title":{"interfaces/IEntityWithTimestamps.html":{}},"body":{"interfaces/EntityWithSchool.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{}}}],["ierror",{"_index":9939,"title":{"interfaces/IError.html":{}},"body":{"classes/ErrorMapper.html":{},"classes/GlobalErrorFilter.html":{},"interfaces/IError.html":{},"interfaces/RpcMessage.html":{}}}],["iexternaltoolproperties",{"_index":10301,"title":{},"body":{"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{}}}],["if/else",{"_index":25691,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["ifilestats",{"_index":11615,"title":{},"body":{"classes/FileMetadata.html":{},"entities/H5pEditorTempFile.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["ifindoptions",{"_index":7866,"title":{"interfaces/IFindOptions.html":{}},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/FileRecordRepo.html":{},"interfaces/IFindOptions.html":{},"controllers/ImportUserController.html":{},"injectables/ImportUserRepo.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"interfaces/Pagination.html":{},"injectables/PseudonymService.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"controllers/ToolController.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{}}}],["iframe",{"_index":6541,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"interfaces/GroupNameIdTuple.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["iframe_restrict_access=false",{"_index":25965,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["iframesubject",{"_index":13731,"title":{},"body":{"injectables/IdTokenService.html":{},"injectables/PseudonymService.html":{}}}],["ignore",{"_index":2467,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BoardCopyService.html":{},"classes/BoardResponseMapper.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ExternalToolCreateParams.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/ImportUserScope.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/ShareTokenFactory.html":{},"injectables/ShareTokenRepo.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["ignored",{"_index":2555,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["ignoreexpiration",{"_index":14339,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["igridelement",{"_index":8408,"title":{"interfaces/IGridElement.html":{}},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["ih5plibrarymanagementconfig",{"_index":13337,"title":{"interfaces/IH5PLibraryManagementConfig.html":{}},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/LibrariesContentType.html":{}}}],["ihubcontenttype",{"_index":13314,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["iimportuserrolename",{"_index":13620,"title":{},"body":{"interfaces/IImportUserScope.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"interfaces/ImportUserProperties.html":{},"interfaces/NameMatch.html":{},"classes/RoleNameMapper.html":{}}}],["iimportuserscope",{"_index":13617,"title":{"interfaces/IImportUserScope.html":{}},"body":{"interfaces/IImportUserScope.html":{},"classes/ImportUserMapper.html":{},"injectables/ImportUserRepo.html":{},"interfaces/NameMatch.html":{}}}],["iinstalledlibrary",{"_index":11621,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["iintegration",{"_index":12494,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["ikeycloakconfigurationinputfiles",{"_index":13623,"title":{"interfaces/IKeycloakConfigurationInputFiles.html":{}},"body":{"interfaces/IKeycloakConfigurationInputFiles.html":{},"classes/KeycloakConfiguration.html":{},"classes/KeycloakSeedService.html":{}}}],["ikeycloaksettings",{"_index":13630,"title":{"interfaces/IKeycloakSettings.html":{}},"body":{"interfaces/IKeycloakSettings.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{}}}],["ilegacylogger",{"_index":13635,"title":{"interfaces/ILegacyLogger.html":{}},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{}}}],["ilibraryadministrationoverviewitem",{"_index":13323,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["ilibrarymetadata",{"_index":11622,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["ilibraryname",{"_index":6538,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["iltitoolproperties",{"_index":8085,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{}}}],["im",{"_index":5517,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["image",{"_index":16264,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["image/gif",{"_index":10386,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["image/jpeg",{"_index":10381,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["image/png",{"_index":10384,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"classes/ReadableStreamWithFileTypeImp.html":{}}}],["image/webp",{"_index":22188,"title":{},"body":{"classes/TestHelper.html":{}}}],["imagebuffer",{"_index":10366,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["imagebuffer.tostring('hex",{"_index":10417,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["imagemagick",{"_index":17900,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["imageobject",{"_index":16239,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["images",{"_index":16242,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["images/xyz.png",{"_index":13411,"title":{},"body":{"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["images[0",{"_index":16277,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["images[0].width",{"_index":16278,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["imagesignature",{"_index":10416,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["imageurl",{"_index":3538,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["imageurl(value",{"_index":15646,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["imageurlobject",{"_index":6471,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["imageurlobject.origin",{"_index":6472,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["imateapotexception",{"_index":11398,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["imateapotexception('this",{"_index":11409,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["immediately",{"_index":11276,"title":{},"body":{"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["immutable",{"_index":11104,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["impact",{"_index":24604,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["imperative",{"_index":25854,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["impersonated",{"_index":8080,"title":{},"body":{"classes/CurrentUserMapper.html":{},"interfaces/ICurrentUser.html":{}}}],["impersonates",{"_index":13598,"title":{},"body":{"interfaces/ICurrentUser.html":{}}}],["impl",{"_index":3622,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["impl.ts",{"_index":3477,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:102",{"_index":3495,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:116",{"_index":3496,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:131",{"_index":3497,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:145",{"_index":3493,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:158",{"_index":3498,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:173",{"_index":3499,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:191",{"_index":3494,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:205",{"_index":3488,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:210",{"_index":3506,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:216",{"_index":3504,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:221",{"_index":3502,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:32",{"_index":3484,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:41",{"_index":3492,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:45",{"_index":3490,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:62",{"_index":3489,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["impl.ts:77",{"_index":3486,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["implemenation",{"_index":26086,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["implement",{"_index":15160,"title":{},"body":{"injectables/LegacyLogger.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["implementation",{"_index":2616,"title":{},"body":{"injectables/BaseRepo.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"injectables/NextcloudStrategy.html":{},"classes/Path.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["implementations",{"_index":25433,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["implemented",{"_index":14309,"title":{},"body":{"interfaces/JwtConstants.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"injectables/ShareTokenUC.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["implemented.loggable",{"_index":17745,"title":{},"body":{"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["implementing",{"_index":25465,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["implements",{"_index":1237,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AuthorizableObject.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardUrlHandler.html":{},"entities/ColumnBoardTarget.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRule.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRule.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRule.html":{},"injectables/CourseUrlHandler.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardRepo.html":{},"classes/DomainObject.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingElementResponseMapper.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"interfaces/ExternalToolProps.html":{},"classes/FileDto.html":{},"classes/FileElementResponseMapper.html":{},"classes/FileMetadata.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/ForbiddenLoggableException.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"classes/IdTokenCreationLoggableException.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/InstalledLibrary.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySchoolRule.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUrlHandler.html":{},"classes/LibraryName.html":{},"classes/LinkElementResponseMapper.html":{},"classes/LumiUserWithContentData.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/NewsCrudOperationLoggable.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/Path.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewParams.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/RenameFileParams.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SingleFileParams.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"injectables/SubmissionRule.html":{},"injectables/SymetricKeyEncryptionService.html":{},"injectables/SystemRule.html":{},"entities/Task.html":{},"classes/TaskCreateParams.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRule.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TeamRule.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TldrawWs.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"entities/User.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"interfaces/UserProperties.html":{},"injectables/UserRule.html":{},"classes/UsersList.html":{},"classes/ValidationErrorLoggableException.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["implications",{"_index":25599,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["implicit",{"_index":25982,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["implicitly",{"_index":26002,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["implied",{"_index":25123,"title":{},"body":{"license.html":{}}}],["implies",{"_index":6295,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{}}}],["import",{"_index":95,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"modules/AccountApiModule.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"modules/AuthenticationApiModule.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"modules/AuthorizationModule.html":{},"classes/AuthorizationParams.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"modules/BoardApiModule.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"modules/ClassModule.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"modules/CoreModule.html":{},"interfaces/CoreModuleConfig.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"modules/ErrorModule.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{},"classes/FileUrlParams.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"modules/GroupModule.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtAuthGuard.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Learnroom.html":{},"modules/LearnroomApiModule.html":{},"interfaces/LearnroomElement.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/LessonApiModule.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"modules/LessonModule.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"modules/NewsModule.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthApiModule.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/ObjectKeysRecursive.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileParams.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"modules/PseudonymModule.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"modules/RocketChatUserModule.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"modules/RoleModule.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"classes/SuccessfulResponse.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"modules/TaskApiModule.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"modules/TaskModule.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawClientModule.html":{},"interfaces/TldrawConfig.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"modules/UserApiModule.html":{},"interfaces/UserBoardRoles.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorLoggableException.html":{},"modules/ValidationModule.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["import.body.params.ts",{"_index":20367,"title":{},"body":{"classes/ShareTokenImportBodyParams.html":{}}}],["import.body.params.ts:13",{"_index":20371,"title":{},"body":{"classes/ShareTokenImportBodyParams.html":{}}}],["import.body.params.ts:22",{"_index":20370,"title":{},"body":{"classes/ShareTokenImportBodyParams.html":{}}}],["import.module.ts",{"_index":14051,"title":{},"body":{"modules/ImportUserModule.html":{}}}],["import.uc",{"_index":13909,"title":{},"body":{"controllers/ImportUserController.html":{},"modules/ImportUserModule.html":{}}}],["import/controller/dto/filter",{"_index":12369,"title":{},"body":{"classes/FilterImportUserParams.html":{},"classes/FilterUserParams.html":{}}}],["import/controller/dto/import",{"_index":13958,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{}}}],["import/controller/dto/sort",{"_index":20568,"title":{},"body":{"classes/SortImportUserParams.html":{}}}],["import/controller/dto/update",{"_index":23117,"title":{},"body":{"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{}}}],["import/controller/dto/user",{"_index":23727,"title":{},"body":{"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["import/controller/import",{"_index":13862,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["import/export",{"_index":25913,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["import/loggable/migration",{"_index":16355,"title":{},"body":{"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{}}}],["import/loggable/school",{"_index":19909,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{}}}],["import/loggable/user",{"_index":23760,"title":{},"body":{"classes/UserMigrationIsNotEnabled.html":{}}}],["import/mapper/import",{"_index":13979,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["import/mapper/match.mapper.ts",{"_index":14026,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["import/mapper/match.mapper.ts:13",{"_index":14032,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["import/mapper/match.mapper.ts:6",{"_index":14030,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["import/mapper/role",{"_index":19029,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["import/mapper/user",{"_index":23732,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["import/uc/ldap",{"_index":14888,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["import/user",{"_index":14050,"title":{},"body":{"modules/ImportUserModule.html":{}}}],["important",{"_index":407,"title":{},"body":{"controllers/AccountController.html":{},"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/PermissionService.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["importcollection",{"_index":8799,"title":{},"body":{"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{}}}],["importcollection(@param('collectionname",{"_index":8818,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["importcollection(collectionname",{"_index":8806,"title":{},"body":{"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{}}}],["importcollections",{"_index":8800,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["importcollections(@query('with",{"_index":8816,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["importcollections(withindexes",{"_index":8809,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["imported",{"_index":5278,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/ShareTokenImportBodyParams.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["importeddocumentsamount",{"_index":5275,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["importhash",{"_index":18692,"title":{},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserProperties.html":{}}}],["importing",{"_index":25069,"title":{},"body":{"license.html":{}}}],["imports",{"_index":276,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"interfaces/CollectionFilePath.html":{},"modules/CommonToolModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CoreModule.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolModule.html":{},"modules/LessonApiModule.html":{},"modules/LessonModule.html":{},"modules/LoggerModule.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/NewsModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/OauthProviderServiceModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"modules/PseudonymModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/RedisModule.html":{},"modules/RegistrationPinModule.html":{},"modules/RocketChatModule.html":{},"modules/S3ClientModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"classes/TestBootstrapConsole.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["importseeddata",{"_index":14798,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["importsharetoken",{"_index":20302,"title":{},"body":{"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{}}}],["importsharetoken(currentuser",{"_index":20309,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["importsharetoken(userid",{"_index":20483,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["importuser",{"_index":13805,"title":{"entities/ImportUser.html":{}},"body":{"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"injectables/UserRepo.html":{}}}],["importuser.classnames",{"_index":14000,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.firstname",{"_index":13996,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.flagged",{"_index":14001,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.id",{"_index":13994,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.lastname",{"_index":13997,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.loginname",{"_index":13995,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.matchedby",{"_index":14003,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.rolenames.map((role",{"_index":13998,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuser.scope",{"_index":14071,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["importuser.user",{"_index":14002,"title":{},"body":{"classes/ImportUserMapper.html":{},"injectables/ImportUserRepo.html":{}}}],["importuser.user).filter((user",{"_index":14097,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["importusercontroller",{"_index":13861,"title":{"controllers/ImportUserController.html":{}},"body":{"controllers/ImportUserController.html":{},"modules/ImportUserModule.html":{}}}],["importuserentities",{"_index":14093,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["importuserentities.map((importuser",{"_index":14096,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["importuserfactory",{"_index":13944,"title":{"classes/ImportUserFactory.html":{}},"body":{"classes/ImportUserFactory.html":{}}}],["importuserfactory.define(importuser",{"_index":13951,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["importuserid",{"_index":13974,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["importuserlist",{"_index":13919,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["importuserlist.map((importuser",{"_index":13922,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["importuserlistresponse",{"_index":13910,"title":{"classes/ImportUserListResponse.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["importuserlistresponse(dtolist",{"_index":13924,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["importusermapper",{"_index":13901,"title":{"classes/ImportUserMapper.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{}}}],["importusermapper.mapimportuserfilterquerytodomain(scope",{"_index":13918,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["importusermapper.mapsortingquerytodomain(sortingquery",{"_index":13917,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["importusermapper.maptoresponse(importuser",{"_index":13923,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["importusermapper.maptoresponse(result",{"_index":13928,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["importusermatchmapper",{"_index":13988,"title":{"classes/ImportUserMatchMapper.html":{}},"body":{"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"classes/UserMatchMapper.html":{}}}],["importusermatchmapper.mapimportusermatchscopetodomain(match",{"_index":14023,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importusermatchmapper.mapmatchcreatortoresponse(matchcreator",{"_index":23748,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["importusermodule",{"_index":14045,"title":{"modules/ImportUserModule.html":{}},"body":{"modules/ImportUserModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["importuserproperties",{"_index":13830,"title":{"interfaces/ImportUserProperties.html":{}},"body":{"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"interfaces/ImportUserProperties.html":{}}}],["importuserrepo",{"_index":14049,"title":{"injectables/ImportUserRepo.html":{}},"body":{"modules/ImportUserModule.html":{},"injectables/ImportUserRepo.html":{}}}],["importuserresponse",{"_index":13911,"title":{"classes/ImportUserResponse.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserResponse.html":{}}}],["importusers",{"_index":13834,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"injectables/UserRepo.html":{}}}],["importuserschoolid",{"_index":19912,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["importuserscope",{"_index":14070,"title":{"classes/ImportUserScope.html":{}},"body":{"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{}}}],["importusersortorder",{"_index":13987,"title":{},"body":{"classes/ImportUserMapper.html":{},"classes/SortImportUserParams.html":{}}}],["importusersortorder.firstname",{"_index":13991,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importusersortorder.lastname",{"_index":13992,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["importuserurlparams",{"_index":13883,"title":{"classes/ImportUserUrlParams.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserUrlParams.html":{}}}],["impose",{"_index":25003,"title":{},"body":{"license.html":{}}}],["imposed",{"_index":25126,"title":{},"body":{"license.html":{}}}],["impossile",{"_index":16633,"title":{},"body":{"classes/NewsScope.html":{}}}],["improvements",{"_index":24696,"title":{},"body":{"license.html":{}}}],["improves",{"_index":25651,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["ims",{"_index":5940,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["imsbasiclti_v1p0p1.xsd",{"_index":5893,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["imslticm_v1p0.xsd",{"_index":5892,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["imslticp_v1p0.xsd",{"_index":5891,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["in.'})@apioperation({summary",{"_index":22757,"title":{},"body":{"controllers/ToolController.html":{}}}],["in/out",{"_index":25525,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["inability",{"_index":25178,"title":{},"body":{"license.html":{}}}],["inaccurate",{"_index":25181,"title":{},"body":{"license.html":{}}}],["inc",{"_index":24654,"title":{},"body":{"license.html":{}}}],["incidental",{"_index":25175,"title":{},"body":{"license.html":{}}}],["include",{"_index":2540,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/OauthClientBody.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["included",{"_index":7126,"title":{},"body":{"classes/CopyApiResponse.html":{},"license.html":{}}}],["includes",{"_index":16730,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["including",{"_index":12065,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{},"classes/UserLoginMigrationResponse.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["inclusion",{"_index":24884,"title":{},"body":{"license.html":{}}}],["incoming",{"_index":1214,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/GlobalValidationPipe.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["incoming_request_timeout",{"_index":12013,"title":{},"body":{"interfaces/FileStorageConfig.html":{},"interfaces/InterceptorConfig.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/ServerConfig.html":{},"interfaces/TldrawConfig.html":{}}}],["incoming_request_timeout_copy_api",{"_index":12015,"title":{},"body":{"interfaces/FileStorageConfig.html":{},"interfaces/FilesStorageClientConfig.html":{},"interfaces/InterceptorConfig.html":{},"interfaces/ServerConfig.html":{}}}],["incomplete",{"_index":13182,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["incorporate",{"_index":24699,"title":{},"body":{"license.html":{}}}],["incorporated",{"_index":25144,"title":{},"body":{"license.html":{}}}],["incorporation",{"_index":24935,"title":{},"body":{"license.html":{}}}],["increase",{"_index":2906,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["increaseversionofnewtoolifnecessary",{"_index":11122,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["increaseversionofnewtoolifnecessary(oldtool",{"_index":11140,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["increment.service",{"_index":10960,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["increment.service.ts",{"_index":11114,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["increment.service.ts:16",{"_index":11125,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["increment.service.ts:32",{"_index":11139,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["increment.service.ts:39",{"_index":11128,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["increment.service.ts:52",{"_index":11137,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["increment.service.ts:60",{"_index":11131,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["increment.service.ts:68",{"_index":11135,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["increment.service.ts:7",{"_index":11142,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["increment.service.ts:76",{"_index":11133,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["indefinitely",{"_index":6235,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["indemnification",{"_index":24999,"title":{},"body":{"license.html":{}}}],["independent",{"_index":24874,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["index",{"_index":7,"title":{"index.html":{}},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"interfaces/AccountConfig.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"classes/AuthorizationParams.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FeathersError.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"classes/FileUrlParams.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"injectables/FilesStorageProducer.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"interfaces/IdentityManagementConfig.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/InterceptorConfig.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"classes/ProvisioningDto.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"controllers/ServerController.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"interfaces/TldrawConfig.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"interfaces/ToolVersion.html":{},"injectables/ToolVersionService.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorLoggableException.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["index()@enum",{"_index":11762,"title":{},"body":{"entities/FileRecord.html":{},"entities/H5PContent.html":{}}}],["index()@enum(undefined",{"_index":3870,"title":{},"body":{"entities/BoardNode.html":{}}}],["index()@manytomany('course",{"_index":8533,"title":{},"body":{"entities/DashboardGridElementModel.html":{}}}],["index()@manytomany('user",{"_index":7480,"title":{},"body":{"entities/Course.html":{},"entities/Task.html":{}}}],["index()@manytomany({fieldname",{"_index":23160,"title":{},"body":{"entities/User.html":{}}}],["index()@manytoone('course",{"_index":7717,"title":{},"body":{"entities/CourseGroup.html":{},"entities/LessonEntity.html":{},"entities/Task.html":{}}}],["index()@manytoone('dashboardmodelentity",{"_index":8531,"title":{},"body":{"entities/DashboardGridElementModel.html":{}}}],["index()@manytoone('lessonentity",{"_index":21266,"title":{},"body":{"entities/Task.html":{}}}],["index()@manytoone('user",{"_index":8617,"title":{},"body":{"entities/DashboardModelEntity.html":{},"entities/Task.html":{}}}],["index()@manytoone(undefined",{"_index":7475,"title":{},"body":{"entities/Course.html":{},"entities/Task.html":{},"entities/User.html":{}}}],["index()@property",{"_index":15454,"title":{},"body":{"entities/LessonEntity.html":{}}}],["index()@property({fieldname",{"_index":11754,"title":{},"body":{"entities/FileRecord.html":{},"entities/H5PContent.html":{}}}],["index()@property({nullable",{"_index":3866,"title":{},"body":{"entities/BoardNode.html":{},"entities/Course.html":{}}}],["index({options",{"_index":11757,"title":{},"body":{"entities/FileRecord.html":{},"entities/ShareToken.html":{}}}],["index.ts",{"_index":25230,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["indexes",{"_index":5300,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"interfaces/Options.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"injectables/TaskRepo.html":{},"todo.html":{}}}],["indexes.filter((i",{"_index":5312,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["indicate",{"_index":25040,"title":{},"body":{"license.html":{}}}],["indicating",{"_index":8041,"title":{},"body":{"classes/CreateSubmissionItemBodyParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"license.html":{}}}],["individual",{"_index":24882,"title":{},"body":{"license.html":{}}}],["individuals",{"_index":24730,"title":{},"body":{"license.html":{}}}],["industrial",{"_index":24944,"title":{},"body":{"license.html":{}}}],["inestapplication",{"_index":1606,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["inewsscope",{"_index":8013,"title":{"interfaces/INewsScope.html":{}},"body":{"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{},"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["inferrable",{"_index":13978,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["info",{"_index":3,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"modules/AccountApiModule.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"interfaces/AccountConfig.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthCodeFailureLoggableException.html":{},"modules/AuthenticationApiModule.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"modules/AuthorizationModule.html":{},"classes/AuthorizationParams.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"modules/BoardApiModule.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"modules/ClassModule.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"modules/CoreModule.html":{},"interfaces/CoreModuleConfig.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"modules/ErrorModule.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FeathersError.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{},"classes/FileUrlParams.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"modules/GroupModule.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"interfaces/IdentityManagementConfig.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/InterceptorConfig.html":{},"modules/InterceptorModule.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"injectables/JwtAuthGuard.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Learnroom.html":{},"modules/LearnroomApiModule.html":{},"interfaces/LearnroomElement.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/LessonApiModule.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"modules/LessonModule.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"modules/NewsModule.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthApiModule.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"classes/ProvisioningDto.html":{},"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"modules/PseudonymModule.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"modules/RocketChatUserModule.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"modules/RoleModule.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"modules/TaskApiModule.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"modules/TaskModule.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawClientModule.html":{},"interfaces/TldrawConfig.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"interfaces/ToolVersion.html":{},"injectables/ToolVersionService.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"modules/UserApiModule.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"modules/ValidationModule.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["info(currentuser",{"_index":24042,"title":{},"body":{"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["info(loggable",{"_index":15726,"title":{},"body":{"injectables/Logger.html":{}}}],["info(text",{"_index":6325,"title":{},"body":{"injectables/ConsoleWriterService.html":{}}}],["info.dto.ts",{"_index":4664,"title":{},"body":{"classes/ClassInfoDto.html":{},"interfaces/ShareTokenInfoDto.html":{}}}],["info.dto.ts:10",{"_index":4671,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.dto.ts:12",{"_index":4676,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.dto.ts:14",{"_index":4675,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.dto.ts:16",{"_index":4673,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.dto.ts:18",{"_index":4670,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.dto.ts:4",{"_index":4672,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.dto.ts:6",{"_index":4678,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.dto.ts:8",{"_index":4674,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["info.interface.ts",{"_index":20124,"title":{},"body":{"interfaces/ScopeInfo.html":{}}}],["info.mapper",{"_index":16525,"title":{},"body":{"classes/NewsMapper.html":{}}}],["info.mapper.ts",{"_index":19935,"title":{},"body":{"classes/SchoolInfoMapper.html":{},"classes/TargetInfoMapper.html":{},"classes/UserInfoMapper.html":{}}}],["info.mapper.ts:5",{"_index":19937,"title":{},"body":{"classes/SchoolInfoMapper.html":{},"classes/TargetInfoMapper.html":{},"classes/UserInfoMapper.html":{}}}],["info.reponse.ts",{"_index":20375,"title":{},"body":{"classes/ShareTokenInfoResponse.html":{}}}],["info.reponse.ts:13",{"_index":20379,"title":{},"body":{"classes/ShareTokenInfoResponse.html":{}}}],["info.reponse.ts:16",{"_index":20378,"title":{},"body":{"classes/ShareTokenInfoResponse.html":{}}}],["info.reponse.ts:20",{"_index":20377,"title":{},"body":{"classes/ShareTokenInfoResponse.html":{}}}],["info.reponse.ts:5",{"_index":20376,"title":{},"body":{"classes/ShareTokenInfoResponse.html":{}}}],["info.response",{"_index":4705,"title":{},"body":{"classes/ClassInfoSearchListResponse.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/TargetInfoMapper.html":{}}}],["info.response.ts",{"_index":2300,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{},"classes/ClassInfoResponse.html":{},"classes/SchoolInfoResponse.html":{},"classes/TargetInfoResponse.html":{},"classes/UserInfoResponse.html":{},"classes/VideoConferenceInfoResponse.html":{}}}],["info.response.ts:11",{"_index":24214,"title":{},"body":{"classes/VideoConferenceInfoResponse.html":{}}}],["info.response.ts:12",{"_index":4697,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["info.response.ts:13",{"_index":19943,"title":{},"body":{"classes/SchoolInfoResponse.html":{},"classes/TargetInfoResponse.html":{}}}],["info.response.ts:14",{"_index":23396,"title":{},"body":{"classes/UserInfoResponse.html":{},"classes/VideoConferenceInfoResponse.html":{}}}],["info.response.ts:15",{"_index":4694,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["info.response.ts:18",{"_index":4699,"title":{},"body":{"classes/ClassInfoResponse.html":{},"classes/SchoolInfoResponse.html":{},"classes/TargetInfoResponse.html":{}}}],["info.response.ts:19",{"_index":23395,"title":{},"body":{"classes/UserInfoResponse.html":{}}}],["info.response.ts:21",{"_index":4698,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["info.response.ts:24",{"_index":4696,"title":{},"body":{"classes/ClassInfoResponse.html":{},"classes/UserInfoResponse.html":{}}}],["info.response.ts:27",{"_index":4693,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["info.response.ts:3",{"_index":19942,"title":{},"body":{"classes/SchoolInfoResponse.html":{},"classes/TargetInfoResponse.html":{},"classes/UserInfoResponse.html":{}}}],["info.response.ts:6",{"_index":4695,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["info.response.ts:9",{"_index":4700,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["info.ts",{"_index":7271,"title":{},"body":{"interfaces/CopyFilesRequestInfo.html":{},"interfaces/FileRequestInfo.html":{},"classes/VideoConferenceInfo.html":{}}}],["info.ts:6",{"_index":24207,"title":{},"body":{"classes/VideoConferenceInfo.html":{}}}],["info.uc.ts",{"_index":24216,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["info.uc.ts:13",{"_index":24218,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["info.uc.ts:20",{"_index":24220,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["info.uc.ts:75",{"_index":24222,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["infodto",{"_index":24180,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["infodto.state",{"_index":24182,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["inform",{"_index":24921,"title":{},"body":{"license.html":{}}}],["information",{"_index":1390,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"injectables/BBBService.html":{},"classes/ConsentRequestBody.html":{},"classes/ErrorResponse.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"controllers/PseudonymController.html":{},"controllers/SystemController.html":{},"injectables/TaskCopyUC.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["informationen",{"_index":5509,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["infra",{"_index":16119,"title":{},"body":{"modules/ManagementModule.html":{}}}],["infra/antivirus",{"_index":7208,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"modules/FilesStorageModule.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["infra/cache",{"_index":1536,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/JwtValidationAdapter.html":{},"modules/OauthModule.html":{}}}],["infra/cache/interface/cache",{"_index":14366,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["infra/calendar",{"_index":24289,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["infra/calendar/interface/calendar",{"_index":4259,"title":{},"body":{"injectables/CalendarMapper.html":{}}}],["infra/collaborative",{"_index":5077,"title":{},"body":{"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{}}}],["infra/console",{"_index":3764,"title":{},"body":{"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"interfaces/CleanOptions.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakConsole.html":{},"modules/ManagementModule.html":{},"modules/MetaTagExtractorModule.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"classes/ServerConsole.html":{},"classes/TestBootstrapConsole.html":{}}}],["infra/console/console",{"_index":8778,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{},"modules/ServerConsoleModule.html":{}}}],["infra/database",{"_index":5155,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["infra/database/mongo",{"_index":12472,"title":{},"body":{"modules/FwuLearningContentsTestModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{}}}],["infra/encryption",{"_index":5159,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolService.html":{},"injectables/HydraSsoService.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"modules/KeycloakModule.html":{},"modules/ManagementModule.html":{},"injectables/OAuthService.html":{},"modules/OauthModule.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["infra/feathers",{"_index":1881,"title":{},"body":{"modules/AuthorizationModule.html":{},"injectables/EtherpadService.html":{},"injectables/FeathersAuthProvider.html":{},"modules/LessonModule.html":{}}}],["infra/feathers/feathers",{"_index":16716,"title":{},"body":{"injectables/NexboardService.html":{}}}],["infra/file",{"_index":5161,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"modules/ManagementModule.html":{}}}],["infra/identity",{"_index":647,"title":{},"body":{"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"modules/AuthenticationModule.html":{},"injectables/LegacySystemService.html":{},"injectables/LocalStrategy.html":{},"modules/ManagementModule.html":{},"interfaces/ServerConfig.html":{},"modules/ServerConsoleModule.html":{},"modules/SystemModule.html":{}}}],["infra/mail",{"_index":20185,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["infra/metrics",{"_index":18041,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["infra/oauth",{"_index":10481,"title":{},"body":{"modules/ExternalToolModule.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"injectables/OauthProviderUc.html":{}}}],["infra/preview",{"_index":11768,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"modules/FilesStorageModule.html":{},"interfaces/ParentInfo.html":{},"classes/PreviewBuilder.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"injectables/PreviewService.html":{}}}],["infra/rabbitmq",{"_index":9942,"title":{},"body":{"classes/ErrorMapper.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto-1.html":{},"classes/FileRecordFactory.html":{},"interfaces/FileRequestInfo.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewProducer.html":{},"classes/RecursiveCopyVisitor.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["infra/rabbitmq/rpc",{"_index":12257,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"classes/GlobalErrorFilter.html":{}}}],["infra/redis",{"_index":20186,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["infra/s3",{"_index":11448,"title":{},"body":{"classes/FileDto.html":{},"classes/FileResponseBuilder.html":{},"interfaces/FileStorageConfig.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"classes/H5pFileDto.html":{},"interfaces/PreviewConfig.html":{},"classes/PreviewGeneratorBuilder.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"injectables/PreviewService.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestHelper.html":{}}}],["infrastructure",{"_index":25535,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["infrastucture",{"_index":20251,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["infringe",{"_index":25038,"title":{},"body":{"license.html":{}}}],["infringed",{"_index":25066,"title":{},"body":{"license.html":{}}}],["infringement",{"_index":24741,"title":{},"body":{"license.html":{}}}],["inherit",{"_index":2542,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["inheritance",{"_index":25986,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["inheritances",{"_index":16596,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["inherited",{"_index":436,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountFactory.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthorizationError.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"classes/BoardComposite.html":{},"classes/BoardDoAuthorizable.html":{},"injectables/BoardRepo.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BruteForceError.html":{},"classes/Card.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassSortParams.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnUc.html":{},"classes/ConsentRequestBody.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolScope.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"classes/CourseMetadataListResponse.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseUrlHandler.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestScope.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"classes/DrawingElementContentBody.html":{},"injectables/ElementUc.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"injectables/FederalStateRepo.html":{},"classes/FileElement.html":{},"classes/FileElementContentBody.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"injectables/FilesRepo.html":{},"injectables/FilesStorageProducer.html":{},"classes/ForbiddenOperationError.html":{},"classes/Group.html":{},"classes/H5PContentFactory.html":{},"injectables/H5PContentRepo.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/LdapConnectionError.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"classes/LessonScope.html":{},"injectables/LessonUrlHandler.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElement.html":{},"classes/LinkElementContentBody.html":{},"classes/LoginRequestBody.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NewsListResponse.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthLoginResponse.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PreviewProducer.html":{},"classes/Pseudonym.html":{},"classes/PseudonymScope.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContentBody.html":{},"classes/RocketChatUser.html":{},"classes/RocketChatUserFactory.html":{},"injectables/RoleRepo.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"injectables/SchoolYearRepo.html":{},"classes/ShareTokenDO.html":{},"injectables/ShareTokenRepo.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"injectables/StorageProviderRepo.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRepo.html":{},"classes/System.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemScope.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskUrlHandler.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserLoginMigrationDO.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"classes/ValidationError.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceInfo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["init",{"_index":4182,"title":{},"body":{"classes/Builder.html":{}}}],["initauth",{"_index":13498,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["initauth(oauthconfig",{"_index":13509,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["initialdelay",{"_index":15051,"title":{},"body":{"injectables/LdapService.html":{}}}],["initialize",{"_index":22531,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["initialized",{"_index":18358,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["initializes3clientmap",{"_index":8905,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["initiate",{"_index":25061,"title":{},"body":{"license.html":{}}}],["initiated",{"_index":17127,"title":{},"body":{"interfaces/OauthCurrentUser.html":{}}}],["initresponse",{"_index":13443,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["initresponse.config",{"_index":13472,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["inject",{"_index":688,"title":{},"body":{"modules/AccountModule.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AntivirusService.html":{},"injectables/BBBService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardUc.html":{},"modules/CacheWrapperModule.html":{},"injectables/CardUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnUc.html":{},"injectables/DashboardUc.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"injectables/ErrorLogger.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FwuLearningContentsUc.html":{},"injectables/HydraSsoService.html":{},"modules/InterceptorModule.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LegacyLogger.html":{},"injectables/Logger.html":{},"modules/LoggerModule.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/MongoMemoryDatabaseModule.html":{},"injectables/OAuthService.html":{},"injectables/OauthProviderLoginFlowService.html":{},"classes/OidcIdentityProviderMapper.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewService.html":{},"modules/RedisModule.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/SubmissionItemUc.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolVersionService.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["inject('antivirus_service_options",{"_index":1320,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["inject('collaborativestoragestrategy",{"_index":4990,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["inject('dashboard_repo",{"_index":8753,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["inject('mail_service_options",{"_index":16088,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["inject('rocket_chat_options",{"_index":1109,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["inject(bbbsettings",{"_index":2384,"title":{},"body":{"injectables/BBBService.html":{}}}],["inject(cache_manager",{"_index":14371,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["inject(defaultencryptionservice",{"_index":5178,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/ExternalToolService.html":{},"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OAuthService.html":{}}}],["inject(files_storage_s3_connection",{"_index":17971,"title":{},"body":{"injectables/PreviewService.html":{}}}],["inject(forwardref",{"_index":3405,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/SubmissionItemUc.html":{},"injectables/ToolPermissionHelper.html":{}}}],["inject(fwu_content_s3_connection",{"_index":12482,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["inject(h5p_content_s3_connection",{"_index":22098,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["inject(keycloakconfigurationinputfiles",{"_index":14867,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["inject(keycloaksettings",{"_index":14429,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["inject(ldapencryptionservice",{"_index":5179,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["inject(redis_client",{"_index":20246,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["inject(s3_client",{"_index":19363,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["inject(s3_config",{"_index":19364,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["inject(toolfeatures",{"_index":10144,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolLogoService.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/ToolVersionService.html":{}}}],["inject(your_s3_uniq_connection_token",{"_index":26108,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["injectable",{"_index":589,"title":{"injectables/AccountIdmToDtoMapper.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/AntivirusService.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"injectables/BsonConverter.html":{},"injectables/CacheService.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ConsoleWriterService.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ConverterUtil.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"injectables/DeletionExecutionUc.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"injectables/DrawingElementAdapterService.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/ElementUc.html":{},"injectables/ErrorLogger.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"injectables/FileRecordRepo.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"injectables/FwuLearningContentsUc.html":{},"injectables/GroupRepo.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"injectables/H5PContentRepo.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"injectables/IdTokenService.html":{},"injectables/ImportUserRepo.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtAuthGuard.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"injectables/LibraryRepo.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"injectables/MailService.html":{},"injectables/MaterialsRepo.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/MigrationCheckService.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderResponseMapper.html":{},"injectables/OauthProviderUc.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PermissionService.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"injectables/ProvisioningService.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"injectables/ReferenceLoader.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionItemFactory.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"injectables/SymetricKeyEncryptionService.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemRule.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"injectables/TeamMapper.html":{},"injectables/TeamPermissionsMapper.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"injectables/ToolVersionService.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"injectables/VideoConferenceRepo.html":{},"injectables/XApiKeyStrategy.html":{}},"body":{"injectables/AccountIdmToDtoMapper.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/AntivirusService.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"injectables/BsonConverter.html":{},"injectables/CacheService.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ConsoleWriterService.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ConverterUtil.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"injectables/DeletionExecutionUc.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/ElementUc.html":{},"injectables/ErrorLogger.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"injectables/FileRecordRepo.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"injectables/FwuLearningContentsUc.html":{},"injectables/GroupRepo.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"injectables/H5PContentRepo.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IDashboardRepo.html":{},"injectables/IdTokenService.html":{},"injectables/ImportUserRepo.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtAuthGuard.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LibraryRepo.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/MaterialsRepo.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/MigrationCheckService.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderResponseMapper.html":{},"injectables/OauthProviderUc.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PermissionService.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"injectables/ProvisioningService.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"injectables/ReferenceLoader.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RepoLoader.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionItemFactory.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"injectables/SymetricKeyEncryptionService.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemRule.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"injectables/TeamMapper.html":{},"injectables/TeamPermissionsMapper.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"injectables/ToolVersionService.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"injectables/VideoConferenceRepo.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["injectables",{"_index":591,"title":{},"body":{"injectables/AccountIdmToDtoMapper.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/AntivirusService.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"injectables/BsonConverter.html":{},"injectables/CacheService.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ConsoleWriterService.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ConverterUtil.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"injectables/DeletionExecutionUc.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"injectables/DrawingElementAdapterService.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/ElementUc.html":{},"injectables/ErrorLogger.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"injectables/FileRecordRepo.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"injectables/FwuLearningContentsUc.html":{},"injectables/GroupRepo.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"injectables/H5PContentRepo.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"injectables/IdTokenService.html":{},"injectables/ImportUserRepo.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtAuthGuard.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"injectables/LibraryRepo.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"injectables/MailService.html":{},"injectables/MaterialsRepo.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/MigrationCheckService.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderResponseMapper.html":{},"injectables/OauthProviderUc.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PermissionService.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"injectables/ProvisioningService.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"injectables/ReferenceLoader.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionItemFactory.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"injectables/SymetricKeyEncryptionService.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemRule.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"injectables/TeamMapper.html":{},"injectables/TeamPermissionsMapper.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"injectables/ToolVersionService.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"injectables/VideoConferenceRepo.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["injected",{"_index":11272,"title":{},"body":{"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/LegacyLogger.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["injectenvvars(json",{"_index":5330,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["injecting",{"_index":26101,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["injection",{"_index":15162,"title":{},"body":{"injectables/LegacyLogger.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["injections",{"_index":26058,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["inline",{"_index":1446,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"classes/FilesStorageMapper.html":{},"controllers/FwuLearningContentsController.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["inlineattachment",{"_index":1445,"title":{"interfaces/InlineAttachment.html":{}},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["inmaintenancesince",{"_index":15176,"title":{},"body":{"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["inner",{"_index":5974,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{},"index.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["innerpermissions",{"_index":19003,"title":{},"body":{"entities/Role.html":{},"interfaces/RoleProperties.html":{}}}],["innerrole.resolvepermissions",{"_index":19004,"title":{},"body":{"entities/Role.html":{},"interfaces/RoleProperties.html":{}}}],["innerroles",{"_index":19000,"title":{},"body":{"entities/Role.html":{},"interfaces/RoleProperties.html":{}}}],["innerroles.foreach((innerrole",{"_index":19002,"title":{},"body":{"entities/Role.html":{},"interfaces/RoleProperties.html":{}}}],["input",{"_index":2357,"title":{},"body":{"injectables/BBBService.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"classes/CreateNewsParams.html":{},"injectables/DeletionClient.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"modules/InterceptorModule.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakSeedService.html":{},"interfaces/LibrariesContentType.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/RichText.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/ServerConsole.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["input.accesstoken",{"_index":19543,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["input.builder",{"_index":9373,"title":{},"body":{"classes/DeletionRequestInputBuilder.html":{}}}],["input.builder.ts",{"_index":9369,"title":{},"body":{"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{}}}],["input.builder.ts:4",{"_index":9488,"title":{},"body":{"classes/DeletionRequestTargetRefInputBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{}}}],["input.builder.ts:5",{"_index":9371,"title":{},"body":{"classes/DeletionRequestInputBuilder.html":{}}}],["input.deleteinminutes",{"_index":2819,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["input.dto.ts",{"_index":17145,"title":{},"body":{"classes/OauthDataStrategyInputDto.html":{}}}],["input.dto.ts:4",{"_index":17147,"title":{},"body":{"classes/OauthDataStrategyInputDto.html":{}}}],["input.dto.ts:6",{"_index":17148,"title":{},"body":{"classes/OauthDataStrategyInputDto.html":{}}}],["input.dto.ts:8",{"_index":17146,"title":{},"body":{"classes/OauthDataStrategyInputDto.html":{}}}],["input.interface",{"_index":9367,"title":{},"body":{"interfaces/DeletionRequestInput.html":{}}}],["input.interface.ts",{"_index":9365,"title":{},"body":{"interfaces/DeletionRequestInput.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"interfaces/QueueDeletionRequestInput.html":{}}}],["input.mapper",{"_index":18130,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["input.mapper.ts",{"_index":18154,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["input.mapper.ts:6",{"_index":18157,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["input.system",{"_index":14283,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["input.system.provisioningurl",{"_index":19542,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["input.system.systemid",{"_index":14271,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["input.targetrefdomain",{"_index":2817,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["input.targetrefid",{"_index":2818,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["inputdto",{"_index":18138,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["inputfiles",{"_index":14856,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["inputformat",{"_index":3541,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/BoardManagementUc.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/CreateNewsParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"interfaces/ITask.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{}}}],["inputformat(value",{"_index":18878,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["inputformat.plain_text",{"_index":6456,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["inputformat.rich_text_ck4",{"_index":21287,"title":{},"body":{"entities/Task.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["inputformat.rich_text_ck5",{"_index":3830,"title":{},"body":{"injectables/BoardManagementUc.html":{},"injectables/ContentElementFactory.html":{},"classes/TaskMapper.html":{}}}],["inputpath",{"_index":1665,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["inputpath.charat(pos",{"_index":1662,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["inputroles",{"_index":17795,"title":{},"body":{"injectables/PermissionService.html":{}}}],["inputs",{"_index":2799,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{}}}],["inputs.length",{"_index":2898,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["inputs.push(queuedeletionrequestinputbuilder.build(targetrefdomain",{"_index":2886,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["insensitive",{"_index":14127,"title":{},"body":{"classes/ImportUserScope.html":{},"injectables/UserRepo.html":{}}}],["insertedcount",{"_index":8859,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["inside",{"_index":4189,"title":{},"body":{"classes/BusinessError.html":{},"index.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["inspect",{"_index":25937,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["inspired",{"_index":25825,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["install",{"_index":13381,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{}}}],["installation",{"_index":24948,"title":{},"body":{"license.html":{}}}],["installed",{"_index":24965,"title":{},"body":{"license.html":{}}}],["installedlibraries",{"_index":13387,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["installedlibrary",{"_index":11632,"title":{"entities/InstalledLibrary.html":{}},"body":{"classes/FileMetadata.html":{},"modules/H5PEditorModule.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/Path.html":{}}}],["installedlibrary.simple_compare(this.majorversion",{"_index":11670,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["installedlibrary.simple_compare(this.minorversion",{"_index":11672,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["installedlibrary.simple_compare(this.patchversion",{"_index":11674,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["installlibraries",{"_index":13309,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["installlibraries(librariestoinstall",{"_index":13317,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["instance",{"_index":5868,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileElementResponseMapper.html":{},"classes/GlobalValidationPipe.html":{},"injectables/LegacyLogger.html":{},"classes/LinkElementResponseMapper.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{},"index.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["instanceof",{"_index":653,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AuthorizationHelper.html":{},"entities/Board.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponseMapper.html":{},"classes/BusinessError.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/CardService.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponseMapper.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorUtils.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponseMapper.html":{},"classes/FilesStorageClientMapper.html":{},"classes/GlobalErrorFilter.html":{},"injectables/GroupRule.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRule.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRule.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/NewsRepo.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/PreviewService.html":{},"injectables/PseudonymService.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponseMapper.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRule.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TeamRule.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["instances",{"_index":6489,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"index.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["instant",{"_index":7505,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["instead",{"_index":2512,"title":{},"body":{"injectables/BaseDORepo.html":{},"classes/BaseUc.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"modules/BoardModule.html":{},"interfaces/CollectionFilePath.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/DeletionClient.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"injectables/FileSystemAdapter.html":{},"injectables/LegacySystemRepo.html":{},"interfaces/ParentInfo.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/TaskUC.html":{},"modules/ToolModule.html":{},"injectables/UserService.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["instructions",{"_index":25542,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["instructor",{"_index":8088,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["intact",{"_index":24851,"title":{},"body":{"license.html":{}}}],["integration",{"_index":12503,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["intend",{"_index":5363,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["intended",{"_index":4479,"title":{},"body":{"classes/CardSkeletonResponse.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["intendeduse",{"_index":5756,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeWebContentResource.html":{}}}],["intention",{"_index":24844,"title":{},"body":{"license.html":{}}}],["interact",{"_index":25212,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["interacting",{"_index":25139,"title":{},"body":{"license.html":{}}}],["interaction",{"_index":24756,"title":{},"body":{"license.html":{}}}],["interactions",{"_index":25476,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["interactive",{"_index":24758,"title":{},"body":{"license.html":{}}}],["intercept",{"_index":9745,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["intercept(context",{"_index":9747,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["interceptor",{"_index":7419,"title":{},"body":{"modules/CoreModule.html":{},"injectables/DurationLoggingInterceptor.html":{},"modules/InterceptorModule.html":{},"injectables/TimeoutInterceptor.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["interceptorconfig",{"_index":7422,"title":{"interfaces/InterceptorConfig.html":{}},"body":{"interfaces/CoreModuleConfig.html":{},"interfaces/InterceptorConfig.html":{},"modules/InterceptorModule.html":{}}}],["interceptormodule",{"_index":7404,"title":{"modules/InterceptorModule.html":{}},"body":{"modules/CoreModule.html":{},"modules/InterceptorModule.html":{}}}],["interchange",{"_index":24893,"title":{},"body":{"license.html":{}}}],["interest",{"_index":25054,"title":{},"body":{"license.html":{}}}],["interface",{"_index":159,"title":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"interfaces/AccountConfig.html":{},"interfaces/AccountParams.html":{},"interfaces/AdminIdAndToken.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"interfaces/AppStartInfo.html":{},"interfaces/AppendedAttachment.html":{},"interfaces/AuthenticationResponse.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationContext.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"interfaces/AutoParameterStrategy.html":{},"interfaces/BBBBaseResponse.html":{},"interfaces/BBBCreateResponse.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"interfaces/BaseResponseMapper.html":{},"interfaces/BatchDeletionSummary.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/BoardDoBuilder.html":{},"interfaces/BoardExternalReference.html":{},"interfaces/BoardNodeProps.html":{},"interfaces/CalendarEvent.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"interfaces/ClassEntityProps.html":{},"interfaces/ClassProps.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"interfaces/CleanOptions.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"interfaces/CollectionFilePath.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"interfaces/CommonCartridgeFile.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"interfaces/CopyFiles.html":{},"interfaces/CopyFilesRequestInfo.html":{},"interfaces/CoreModuleConfig.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"interfaces/CustomLtiProperty.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"interfaces/DashboardModelProperties.html":{},"interfaces/DeletionClientConfig.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestEntityProps.html":{},"interfaces/DeletionRequestInput.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestOutput.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"interfaces/EncryptionService.html":{},"interfaces/EntityWithSchool.html":{},"interfaces/ErrorType.html":{},"interfaces/ExternalSourceEntityProps.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"interfaces/ExternalToolProps.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"interfaces/ExternalToolSearchQuery.html":{},"interfaces/FeathersError.html":{},"interfaces/FeathersService.html":{},"interfaces/FederalStateProperties.html":{},"interfaces/File.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"interfaces/FileEntityProps.html":{},"interfaces/FilePermissionEntityProps.html":{},"interfaces/FileRecordProperties.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/FileStorageConfig.html":{},"interfaces/FilesStorageClientConfig.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"interfaces/GlobalConstants.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/GroupProps.html":{},"interfaces/GroupUserEntityProps.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"interfaces/IdToken.html":{},"interfaces/IdentityManagementConfig.html":{},"interfaces/ImportUserProperties.html":{},"interfaces/InlineAttachment.html":{},"interfaces/InterceptorConfig.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"interfaces/LibrariesContentType.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"interfaces/ListFiles.html":{},"interfaces/Loggable.html":{},"interfaces/LoggerConfig.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"interfaces/MailModuleOptions.html":{},"interfaces/MailServiceOptions.html":{},"interfaces/MaterialProperties.html":{},"interfaces/Meta.html":{},"interfaces/MigrationOptions.html":{},"interfaces/NameMatch.html":{},"interfaces/NewsProperties.html":{},"interfaces/NewsTargetFilter.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OauthCurrentUser.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"interfaces/Options.html":{},"interfaces/Pagination.html":{},"interfaces/ParentInfo.html":{},"interfaces/PlainTextMailContent.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"interfaces/PreviewResponseMessage.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"interfaces/PseudonymEntityProps.html":{},"interfaces/PseudonymProps.html":{},"interfaces/PseudonymSearchQuery.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"interfaces/RegistrationPinEntityProps.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/RepoLoader.html":{},"interfaces/RetryOptions.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"interfaces/RocketChatUserEntityProps.html":{},"interfaces/RocketChatUserProps.html":{},"interfaces/RoleProperties.html":{},"interfaces/RpcMessage.html":{},"interfaces/Rule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"interfaces/ScanResult.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"interfaces/SchoolProperties.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"interfaces/SchoolYearProperties.html":{},"interfaces/ScopeInfo.html":{},"interfaces/ServerConfig.html":{},"interfaces/ShareTokenInfoDto.html":{},"interfaces/ShareTokenProperties.html":{},"interfaces/StorageProviderProperties.html":{},"interfaces/SubmissionContainerElementProps.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"interfaces/SubmissionProperties.html":{},"interfaces/SuccessfulRes.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/SystemProps.html":{},"interfaces/TargetGroupProperties.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"interfaces/TeamProperties.html":{},"interfaces/TeamUserProperties.html":{},"interfaces/TemporaryFileProperties.html":{},"interfaces/TldrawConfig.html":{},"interfaces/TldrawDrawingProps.html":{},"interfaces/ToolLaunchStrategy.html":{},"interfaces/ToolVersion.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"interfaces/UrlHandler.html":{},"interfaces/UserAndAccountParams.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserLoginMigrationQuery.html":{},"interfaces/UserMetdata.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"interfaces/XApiKeyConfig.html":{}},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"interfaces/AccountConfig.html":{},"interfaces/AccountParams.html":{},"interfaces/AdminIdAndToken.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AppendedAttachment.html":{},"interfaces/AuthenticationResponse.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationContext.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"interfaces/AutoParameterStrategy.html":{},"interfaces/BBBBaseResponse.html":{},"interfaces/BBBCreateResponse.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"interfaces/BaseResponseMapper.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/BoardDoBuilder.html":{},"interfaces/BoardExternalReference.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"modules/CacheWrapperModule.html":{},"interfaces/CalendarEvent.html":{},"classes/Card.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFilterParams.html":{},"interfaces/ClassProps.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"interfaces/CleanOptions.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"injectables/CommonToolService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileParams.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"interfaces/CoreModuleConfig.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"classes/DeletionExecutionConsole.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DomainObject.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingElement.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"interfaces/EncryptionService.html":{},"interfaces/EntityWithSchool.html":{},"interfaces/ErrorType.html":{},"classes/ErrorUtils.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolElement.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/FeathersAuthProvider.html":{},"interfaces/FeathersError.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"interfaces/File.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileElement.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/FileStorageConfig.html":{},"classes/FileUrlParams.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageMapper.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/GroupProps.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"interfaces/GroupUsers.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"injectables/HydraOauthUc.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{},"interfaces/IdentityManagementConfig.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"interfaces/InlineAttachment.html":{},"interfaces/InterceptorConfig.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"classes/KeycloakConsole.html":{},"classes/LdapConfigEntity.html":{},"injectables/LdapStrategy.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"interfaces/LibrariesContentType.html":{},"classes/LinkElement.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"interfaces/ListFiles.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"interfaces/LoggerConfig.html":{},"controllers/LoginController.html":{},"injectables/LoginUc.html":{},"entities/LtiTool.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/Meta.html":{},"interfaces/MigrationOptions.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"interfaces/NewsTargetFilter.html":{},"interfaces/NextcloudGroups.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"classes/OauthConfigEntity.html":{},"interfaces/OauthCurrentUser.html":{},"controllers/OauthSSOController.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigEntity.html":{},"interfaces/Options.html":{},"interfaces/Pagination.html":{},"interfaces/ParentInfo.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"classes/Pseudonym.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"interfaces/PseudonymProps.html":{},"interfaces/PseudonymSearchQuery.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"injectables/ReferenceLoader.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"interfaces/RetryOptions.html":{},"classes/RichTextElement.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"interfaces/RocketChatUserProps.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"interfaces/RpcMessage.html":{},"interfaces/Rule.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"interfaces/ScopeInfo.html":{},"interfaces/ServerConfig.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenInfoDto.html":{},"interfaces/ShareTokenProperties.html":{},"classes/SingleFileParams.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"entities/Submission.html":{},"classes/SubmissionContainerElement.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionItem.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"interfaces/SubmissionProperties.html":{},"interfaces/SuccessfulRes.html":{},"classes/System.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/SystemProps.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"interfaces/TemporaryFileProperties.html":{},"classes/TestApiClient.html":{},"classes/TestHelper.html":{},"interfaces/TldrawConfig.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"classes/TokenRequestMapper.html":{},"classes/ToolConfiguration.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolPermissionHelper.html":{},"interfaces/ToolVersion.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserLoginMigrationQuery.html":{},"interfaces/UserMetdata.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceInfo.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"interfaces/XApiKeyConfig.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["interface/cache",{"_index":4213,"title":{},"body":{"injectables/CacheService.html":{}}}],["interface/calendar",{"_index":4285,"title":{},"body":{"injectables/CalendarService.html":{}}}],["interface/interfaces",{"_index":9522,"title":{},"body":{"classes/DeletionTargetRefBuilder-1.html":{}}}],["interface/json",{"_index":14864,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["interface/jwt",{"_index":1722,"title":{},"body":{"injectables/AuthenticationService.html":{},"classes/CurrentUserMapper.html":{},"injectables/JwtStrategy.html":{},"injectables/LoginUc.html":{}}}],["interface/keycloak",{"_index":14387,"title":{},"body":{"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakSeedService.html":{}}}],["interface/learnroom",{"_index":21276,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["interface/oauth",{"_index":1506,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"classes/TokenRequestMapper.html":{}}}],["interface/oidc",{"_index":18080,"title":{},"body":{"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["interface/preview",{"_index":17886,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewProducer.html":{}}}],["interface/redis.constants",{"_index":18610,"title":{},"body":{"modules/RedisModule.html":{}}}],["interface/sso",{"_index":1898,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["interface/url",{"_index":4138,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/TaskUrlHandler.html":{}}}],["interfaces",{"_index":161,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"interfaces/AccountConfig.html":{},"interfaces/AccountParams.html":{},"interfaces/AdminIdAndToken.html":{},"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"interfaces/AppStartInfo.html":{},"interfaces/AppendedAttachment.html":{},"interfaces/AuthenticationResponse.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationContext.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"interfaces/AutoParameterStrategy.html":{},"interfaces/BBBBaseResponse.html":{},"interfaces/BBBCreateResponse.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"interfaces/BaseResponseMapper.html":{},"interfaces/BatchDeletionSummary.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/BoardDoBuilder.html":{},"interfaces/BoardExternalReference.html":{},"interfaces/BoardNodeProps.html":{},"interfaces/CalendarEvent.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"interfaces/ClassEntityProps.html":{},"interfaces/ClassProps.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"interfaces/CleanOptions.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"interfaces/CollectionFilePath.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"interfaces/CommonCartridgeFile.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"interfaces/CoreModuleConfig.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"interfaces/CustomLtiProperty.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"interfaces/DashboardModelProperties.html":{},"interfaces/DeletionClientConfig.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestEntityProps.html":{},"interfaces/DeletionRequestInput.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestOutput.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"interfaces/EncryptionService.html":{},"interfaces/EntityWithSchool.html":{},"injectables/ErrorLogger.html":{},"interfaces/ErrorType.html":{},"interfaces/ExternalSourceEntityProps.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"interfaces/ExternalToolProps.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"interfaces/ExternalToolSearchQuery.html":{},"interfaces/FeathersError.html":{},"interfaces/FeathersService.html":{},"interfaces/FederalStateProperties.html":{},"interfaces/File.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto-1.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParamBuilder.html":{},"interfaces/FilePermissionEntityProps.html":{},"interfaces/FileRecordProperties.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageProducer.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"interfaces/GlobalConstants.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/GroupProps.html":{},"interfaces/GroupUserEntityProps.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"interfaces/IdToken.html":{},"interfaces/IdentityManagementConfig.html":{},"interfaces/ImportUserProperties.html":{},"interfaces/InlineAttachment.html":{},"interfaces/InterceptorConfig.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"injectables/LegacyLogger.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"interfaces/LibrariesContentType.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"interfaces/ListFiles.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"interfaces/MailModuleOptions.html":{},"interfaces/MailServiceOptions.html":{},"interfaces/MaterialProperties.html":{},"interfaces/Meta.html":{},"interfaces/MigrationOptions.html":{},"interfaces/NameMatch.html":{},"interfaces/NewsProperties.html":{},"interfaces/NewsTargetFilter.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OauthCurrentUser.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"interfaces/Options.html":{},"interfaces/Pagination.html":{},"interfaces/ParentInfo.html":{},"interfaces/PlainTextMailContent.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"interfaces/PreviewResponseMessage.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"interfaces/PseudonymEntityProps.html":{},"interfaces/PseudonymProps.html":{},"interfaces/PseudonymSearchQuery.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"interfaces/RegistrationPinEntityProps.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/RepoLoader.html":{},"interfaces/RetryOptions.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"interfaces/RocketChatUserEntityProps.html":{},"interfaces/RocketChatUserProps.html":{},"interfaces/RoleProperties.html":{},"interfaces/RpcMessage.html":{},"interfaces/Rule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"interfaces/ScanResult.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"interfaces/SchoolProperties.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"interfaces/SchoolYearProperties.html":{},"interfaces/ScopeInfo.html":{},"interfaces/ServerConfig.html":{},"interfaces/ShareTokenInfoDto.html":{},"interfaces/ShareTokenProperties.html":{},"interfaces/StorageProviderProperties.html":{},"interfaces/SubmissionContainerElementProps.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"interfaces/SubmissionProperties.html":{},"interfaces/SuccessfulRes.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/SystemProps.html":{},"interfaces/TargetGroupProperties.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"interfaces/TeamProperties.html":{},"interfaces/TeamUserProperties.html":{},"interfaces/TemporaryFileProperties.html":{},"interfaces/TldrawConfig.html":{},"interfaces/TldrawDrawingProps.html":{},"interfaces/ToolLaunchStrategy.html":{},"interfaces/ToolVersion.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"interfaces/UrlHandler.html":{},"interfaces/UserAndAccountParams.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserLoginMigrationQuery.html":{},"interfaces/UserMetdata.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"interfaces/XApiKeyConfig.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["interfaces/copy",{"_index":7266,"title":{},"body":{"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/FilesStorageClientAdapterService.html":{}}}],["interfaces/legacy",{"_index":15157,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["interfaces/mail",{"_index":16071,"title":{},"body":{"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["interfered",{"_index":24954,"title":{},"body":{"license.html":{}}}],["intermediate",{"_index":1919,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["internal",{"_index":613,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AuthorizationReferenceService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/CourseNews.html":{},"classes/ImportUserUrlParams.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"index.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["internal_server_error",{"_index":23113,"title":{},"body":{"classes/UnknownQueryTypeLoggableException.html":{}}}],["internal_server_error_exception",{"_index":13685,"title":{},"body":{"classes/IdTokenCreationLoggableException.html":{}}}],["internalaxiosrequestconfig",{"_index":2117,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["internalid",{"_index":926,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["internallinkmatatagservice",{"_index":16235,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["internally",{"_index":19366,"title":{},"body":{"injectables/S3ClientAdapter.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["internalmeetingid",{"_index":2249,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["internalrepo",{"_index":25487,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["internalservererrorexception",{"_index":1312,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/CalendarService.html":{},"injectables/ClassService.html":{},"injectables/ColumnBoardCopyService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"injectables/CourseCopyUC.html":{},"interfaces/CourseProperties.html":{},"injectables/DashboardModelMapper.html":{},"classes/ErrorMapper.html":{},"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{},"controllers/FwuLearningContentsController.html":{},"classes/GlobalErrorFilter.html":{},"controllers/H5PEditorController.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"interfaces/LibrariesContentType.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthSsoErrorLoggableException.html":{},"injectables/ProvisioningService.html":{},"injectables/PseudonymService.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"injectables/ToolLaunchService.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UsersList.html":{},"classes/ValidationErrorLoggableException.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["internalservererrorexception('cannot",{"_index":2503,"title":{},"body":{"injectables/BaseDORepo.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/UserLoginMigrationService.html":{}}}],["internalservererrorexception('copy",{"_index":7680,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["internalservererrorexception('courses",{"_index":7555,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["internalservererrorexception('expected",{"_index":5423,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["internalservererrorexception('feature",{"_index":12439,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["internalservererrorexception('import",{"_index":20527,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["internalservererrorexception('invalid",{"_index":13350,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["internalservererrorexception('lessons",{"_index":6191,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["internalservererrorexception('multiple_matches_are_not_allowed",{"_index":19313,"title":{},"body":{"injectables/RuleManager.html":{}}}],["internalservererrorexception('provisioning",{"_index":18143,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["internalservererrorexception('s3clientadapter:copy",{"_index":19407,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["internalservererrorexception('s3clientadapter:create",{"_index":19386,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["internalservererrorexception('s3clientadapter:delete",{"_index":19395,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["internalservererrorexception('s3clientadapter:get",{"_index":19380,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["internalservererrorexception('s3clientadapter:restore",{"_index":19400,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["internalservererrorexception('submissions",{"_index":21302,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["internalservererrorexception('task.finished",{"_index":21306,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["internalservererrorexception('tool",{"_index":17398,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["internalservererrorexception('unknown",{"_index":8672,"title":{},"body":{"injectables/DashboardModelMapper.html":{},"injectables/ToolLaunchService.html":{}}}],["internalservererrorexception('user",{"_index":4778,"title":{},"body":{"injectables/ClassService.html":{},"injectables/PseudonymService.html":{}}}],["internalservererrorexception(`${bbbresp.response.messagekey",{"_index":2403,"title":{},"body":{"injectables/BBBService.html":{}}}],["internalservererrorexception(`cannot",{"_index":17396,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["internalservererrorexception(`multiple",{"_index":15253,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["internalservererrorexception(`redirect",{"_index":13477,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["internalservererrorexception(`unknown",{"_index":10097,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["internalservererrorexception(errorobj.message",{"_index":9947,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["internalservererrorexception(null",{"_index":1343,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/BBBService.html":{},"classes/ErrorMapper.html":{},"injectables/S3ClientAdapter.html":{}}}],["internalservererrorexception(oauthclientid",{"_index":13567,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["internalservererrorexception})@apiresponse({status",{"_index":20315,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["internalservererrorexception})@get('/play/:contentid",{"_index":13150,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["internalservererrorexception})@get(':token",{"_index":20321,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["internalservererrorexception})@post",{"_index":16189,"title":{},"body":{"controllers/MetaTagExtractorController.html":{},"controllers/ShareTokenController.html":{}}}],["internalservice",{"_index":25488,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["interpretation",{"_index":25187,"title":{},"body":{"license.html":{}}}],["interpreter",{"_index":24787,"title":{},"body":{"license.html":{}}}],["intimate",{"_index":24793,"title":{},"body":{"license.html":{}}}],["introduce",{"_index":11273,"title":{},"body":{"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["introduced",{"_index":25578,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["introducing",{"_index":25285,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["introduction",{"_index":25227,"title":{},"body":{"todo.html":{}}}],["introspectoauth2token",{"_index":17445,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["introspectoauth2token(token",{"_index":17460,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["introspectresponse",{"_index":14202,"title":{"interfaces/IntrospectResponse.html":{}},"body":{"interfaces/IntrospectResponse.html":{},"classes/OauthProviderService.html":{}}}],["inusermigration",{"_index":15177,"title":{},"body":{"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["invalid",{"_index":340,"title":{},"body":{"controllers/AccountController.html":{},"injectables/AuthenticationService.html":{},"injectables/BatchDeletionUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/IdTokenInvalidLoggableException.html":{},"controllers/LoginController.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyUC.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolSchoolController.html":{},"injectables/UserService.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["invalid_origin_for_logout_url",{"_index":14214,"title":{},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{}}}],["invalid_request",{"_index":6239,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{}}}],["invalid_user_login_migration",{"_index":14222,"title":{},"body":{"classes/InvalidUserLoginMigrationLoggableException.html":{}}}],["invalidate",{"_index":24871,"title":{},"body":{"license.html":{}}}],["invalidoriginforlogouturlloggableexception",{"_index":14209,"title":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{}},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"controllers/VideoConferenceController.html":{}}}],["invalidoriginforlogouturlloggableexception(params.logouturl",{"_index":24070,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["invaliduserloginmigrationloggableexception",{"_index":14217,"title":{"classes/InvalidUserLoginMigrationLoggableException.html":{}},"body":{"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["invaliduserloginmigrationloggableexception(currentuserid",{"_index":23708,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["inversion",{"_index":25431,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["invitationlink",{"_index":4543,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{}}}],["inviteusertogroup(groupname",{"_index":1134,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["invoke",{"_index":25901,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["ip",{"_index":25936,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["ipaddress",{"_index":25939,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["ipath",{"_index":11623,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["iprimarykey",{"_index":12318,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["irrevocable",{"_index":24799,"title":{},"body":{"license.html":{}}}],["isactive",{"_index":9700,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["isallowedaschild",{"_index":3033,"title":{},"body":{"classes/BoardComposite.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["isallowedaschild(child",{"_index":20791,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["isallowedaschild(domainobject",{"_index":3050,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{}}}],["isanycontentelement",{"_index":6410,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["isanycontentelement(element",{"_index":6414,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["isapplicable",{"_index":3663,"title":{},"body":{"injectables/BoardDoRule.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"injectables/GroupRule.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LessonRule.html":{},"interfaces/Rule.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{}}}],["isapplicable(user",{"_index":3667,"title":{},"body":{"injectables/BoardDoRule.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"injectables/GroupRule.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LessonRule.html":{},"interfaces/Rule.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["isarchived",{"_index":9735,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["isarray",{"_index":6258,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FilterImportUserParams.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LoginResponse-1.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/PatchOrderParams.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["isarray()@apiproperty",{"_index":16948,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["isarray()@arrayminsize(1)@validatenested({each",{"_index":19577,"title":{},"body":{"classes/SanisResponse.html":{}}}],["isarray()@ismongoid({each",{"_index":17776,"title":{},"body":{"classes/PatchOrderParams.html":{}}}],["isarray()@isoptional()@isenum(toolcontexttype",{"_index":10248,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["isarray()@isoptional()@isstring({each",{"_index":6273,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"classes/OauthClientBody.html":{}}}],["isarray()@isstring({each",{"_index":6220,"title":{},"body":{"classes/ConsentRequestBody.html":{}}}],["isatleastpartialsuccessfull",{"_index":7339,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["isatleastpartialsuccessfull(status",{"_index":7347,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["isauthenticated",{"_index":26094,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["isauthenticationresponse",{"_index":1674,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["isauthenticationresponse(body",{"_index":1673,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["isauthorized",{"_index":21226,"title":{},"body":{"injectables/SystemRule.html":{}}}],["isauthorizedstudent",{"_index":2639,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["isauthorizedstudent(userid",{"_index":2650,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["isautoparameterglobal",{"_index":10483,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isautoparameterglobal(customparameter",{"_index":10495,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isaxioserror",{"_index":2088,"title":{},"body":{"classes/AxiosErrorFactory.html":{},"injectables/OauthAdapterService.html":{}}}],["isaxioserror(error",{"_index":16992,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["isbasicconfig",{"_index":10070,"title":{},"body":{"classes/ExternalTool.html":{}}}],["isbasicconfig(config",{"_index":10083,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["isblocked",{"_index":11818,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["isboolean",{"_index":199,"title":{},"body":{"classes/AcceptQuery.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountSaveDto.html":{},"classes/ConsentRequestBody.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CustomParameterPostParams.html":{},"classes/DownloadFileParams.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/LoginRequestBody.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/ShareTokenBodyParams.html":{},"classes/SingleFileParams.html":{},"classes/SystemFilterParams.html":{},"classes/TeamPermissionsBody.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/VideoConferenceCreateParams.html":{}}}],["isboolean()@apiproperty",{"_index":8310,"title":{},"body":{"classes/CustomParameterPostParams.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/TeamPermissionsBody.html":{},"classes/UserLoginMigrationMandatoryParams.html":{}}}],["isboolean()@apiproperty({description",{"_index":8040,"title":{},"body":{"classes/CreateSubmissionItemBodyParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{}}}],["isboolean()@isoptional()@apiproperty({description",{"_index":6224,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/ShareTokenBodyParams.html":{}}}],["isboolean()@stringtoboolean()@apipropertyoptional({description",{"_index":191,"title":{},"body":{"classes/AcceptQuery.html":{}}}],["isbreakout",{"_index":2305,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["isbusinesserror",{"_index":9969,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["isbusinesserror(error",{"_index":9975,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["iscard(reference",{"_index":4319,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{}}}],["isclientidunique",{"_index":11080,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["isclientidunique(externaltool",{"_index":11086,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["iscolumn(reference",{"_index":5383,"title":{},"body":{"classes/Column.html":{},"interfaces/ColumnProps.html":{}}}],["iscolumnboard",{"_index":5406,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["iscolumnboard(copystatus.copyentity",{"_index":5422,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["iscolumnboard(reference",{"_index":5399,"title":{},"body":{"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["iscolumnboardfeatureflagactive",{"_index":9650,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["iscolumnboardtarget",{"_index":3294,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["iscolumnboardtarget(element.target",{"_index":3327,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["iscolumnboardtarget(reference",{"_index":5553,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["iscontextrestricted",{"_index":6031,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["iscontextrestricted(externaltool",{"_index":6037,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["iscopyfrom",{"_index":11752,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["iscoursefinished",{"_index":21322,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["iscreator",{"_index":19165,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{},"injectables/TaskRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["iscustomparameternameempty",{"_index":10484,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["iscustomparameternameempty(param",{"_index":10497,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isdate",{"_index":854,"title":{},"body":{"classes/AccountSaveDto.html":{},"classes/CreateNewsParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{}}}],["isdate()@isoptional()@apipropertyoptional({description",{"_index":8021,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{}}}],["isdefaultvalueofvalidregex",{"_index":10485,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isdefaultvalueofvalidregex(param",{"_index":10498,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isdefaultvalueofvalidtype",{"_index":10486,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isdefaultvalueofvalidtype(param",{"_index":10500,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isdirectory",{"_index":11524,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["isdraft",{"_index":4070,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"interfaces/ITask.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"classes/TaskScope.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusResponse.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{}}}],["isdrawingelement(reference",{"_index":9601,"title":{},"body":{"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{}}}],["isemail",{"_index":302,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/PatchMyAccountParams.html":{}}}],["isemail()@isoptional()@apiproperty({description",{"_index":17759,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["isempty",{"_index":12671,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["isemptyqueryallowed",{"_index":6973,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/ImportUserScope.html":{},"classes/LessonScope.html":{},"classes/NewsScope.html":{},"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/Scope.html":{},"classes/SystemScope.html":{},"classes/TaskScope.html":{},"classes/UserScope.html":{}}}],["isenabled",{"_index":17999,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["isenum",{"_index":899,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"classes/AuthorizationParams.html":{},"classes/BasicToolConfigParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/ClassFilterParams.html":{},"classes/ClassSortParams.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextRefParams.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"classes/CustomParameterPostParams.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/ShareTokenBodyParams.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SystemFilterParams.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["isenum(accountsearchtype",{"_index":900,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["isenum(accountsearchtype)@apiproperty({description",{"_index":885,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["isenum(classsortby",{"_index":4792,"title":{},"body":{"classes/ClassSortParams.html":{}}}],["isenum(contentelementtype",{"_index":7952,"title":{},"body":{"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["isenum(contentelementtype)@apiproperty({description",{"_index":7961,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{}}}],["isenum(contentelementtype)@apiproperty({enum",{"_index":9758,"title":{},"body":{"classes/ElementContentBody.html":{}}}],["isenum(customparameterlocationparams",{"_index":8325,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["isenum(customparameterlocationparams)@apiproperty",{"_index":8313,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["isenum(customparameterscopetypeparams",{"_index":8324,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["isenum(customparameterscopetypeparams)@apiproperty",{"_index":8319,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["isenum(customparametertypeparams",{"_index":8326,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["isenum(customparametertypeparams)@apiproperty",{"_index":8322,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["isenum(externaltoolsortby",{"_index":20560,"title":{},"body":{"classes/SortExternalToolParams.html":{}}}],["isenum(filerecordparenttype",{"_index":7212,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["isenum(filtermatchtype",{"_index":12390,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["isenum(filterroletype",{"_index":12391,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["isenum(h5pcontentparenttype",{"_index":12540,"title":{},"body":{"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["isenum(importusersortorder",{"_index":20570,"title":{},"body":{"classes/SortImportUserParams.html":{}}}],["isenum(inputformat",{"_index":9572,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["isenum(inputformat)@apiproperty",{"_index":18861,"title":{},"body":{"classes/RichTextContentBody.html":{}}}],["isenum(languagetype",{"_index":4538,"title":{},"body":{"classes/ChangeLanguageParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["isenum(ltimessagetype",{"_index":15901,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["isenum(ltimessagetype)@apiproperty",{"_index":15894,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["isenum(ltiprivacypermission",{"_index":15902,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["isenum(ltiprivacypermission)@apiproperty",{"_index":15896,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["isenum(newstargetmodel",{"_index":8035,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/FilterNewsParams.html":{}}}],["isenum(newstargetmodel)@apiproperty({enum",{"_index":8028,"title":{},"body":{"classes/CreateNewsParams.html":{}}}],["isenum(previewoutputmimetypes",{"_index":7223,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["isenum(previewwidth",{"_index":7225,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["isenum(sanisgrouprole",{"_index":19488,"title":{},"body":{"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["isenum(sanisgrouptype",{"_index":19468,"title":{},"body":{"classes/SanisGruppeResponse.html":{}}}],["isenum(sanisrole",{"_index":19513,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{}}}],["isenum(schoolyearquerytype",{"_index":4661,"title":{},"body":{"classes/ClassFilterParams.html":{}}}],["isenum(sharetokenparenttype",{"_index":20294,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["isenum(sharetokenparenttype)@apiproperty({description",{"_index":20289,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["isenum(sortorder",{"_index":20575,"title":{},"body":{"classes/SortingParams.html":{}}}],["isenum(ssoauthenticationerror",{"_index":1901,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["isenum(subjecttypeenum",{"_index":17040,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["isenum(subjecttypeenum)@isoptional()@apiproperty({description",{"_index":17026,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["isenum(systemtypeenum",{"_index":21155,"title":{},"body":{"classes/SystemFilterParams.html":{}}}],["isenum(tokenauthmethod",{"_index":17039,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["isenum(tokenauthmethod)@isoptional()@apiproperty({description",{"_index":17031,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["isenum(tokenendpointauthmethod",{"_index":16954,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["isenum(tokenendpointauthmethod)@apiproperty",{"_index":16952,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["isenum(toolconfigtype",{"_index":2699,"title":{},"body":{"classes/BasicToolConfigParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["isenum(toolconfigtype)@apiproperty",{"_index":2696,"title":{},"body":{"classes/BasicToolConfigParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["isenum(toolcontexttype",{"_index":6712,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextRefParams.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["isenum(toolcontexttype)@apiproperty",{"_index":6776,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{}}}],["isenum(toolcontexttype)@apiproperty({enum",{"_index":6709,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{}}}],["isenum(toolcontexttype)@apiproperty({type",{"_index":7096,"title":{},"body":{"classes/ContextRefParams.html":{}}}],["isenum(videoconferencescope",{"_index":24357,"title":{},"body":{"classes/VideoConferenceScopeParams.html":{}}}],["iserv",{"_index":14263,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["iservmapper",{"_index":14225,"title":{"classes/IservMapper.html":{}},"body":{"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{}}}],["iservmapper.maptoexternalschooldto(ldapschool",{"_index":14281,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["iservmapper.maptoexternaluserdto(ldapuser",{"_index":14279,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["iservprovisioningstrategy",{"_index":14242,"title":{"injectables/IservProvisioningStrategy.html":{}},"body":{"injectables/IservProvisioningStrategy.html":{},"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{}}}],["iservstrategy",{"_index":18112,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["isexpired",{"_index":13396,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{}}}],["isexternalidequivalent",{"_index":20000,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["isexternaltoolelement(reference",{"_index":10265,"title":{},"body":{"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{}}}],["isexternaluser",{"_index":7999,"title":{},"body":{"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"interfaces/ICurrentUser.html":{},"interfaces/JwtPayload.html":{}}}],["isfeatherserror",{"_index":9970,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["isfeatherserror(error",{"_index":9977,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["isfileelement",{"_index":20799,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemUc.html":{}}}],["isfileelement(child",{"_index":20804,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["isfileelement(element",{"_index":20812,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemUc.html":{}}}],["isfileelement(reference",{"_index":11496,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["isfileelementresponse",{"_index":6377,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["isfileelementresponse(result",{"_index":6393,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["isfinished",{"_index":4071,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"interfaces/CourseProperties.html":{},"interfaces/ITask.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["isfinishedforuser",{"_index":21324,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["isfinishedforuser(user",{"_index":21316,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["isflagged",{"_index":14118,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["isflagged(flagged",{"_index":14136,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["isglobal",{"_index":10553,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isglobalparametervalid",{"_index":10487,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isglobalparametervalid(customparameter",{"_index":10502,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isgraceperiodexpired",{"_index":23638,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["isgraceperiodexpired(userloginmigration",{"_index":23653,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["isgraded",{"_index":20711,"title":{},"body":{"entities/Submission.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["isgradedforuser",{"_index":20714,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["isgradedforuser(user",{"_index":20712,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["isgroup",{"_index":8437,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["isguest",{"_index":24226,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["ishidden",{"_index":8117,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolCreateParams.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"interfaces/ExternalToolSearchQuery.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/LessonScope.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["ishydra",{"_index":13537,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["isinfected",{"_index":1321,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["isinstancealive",{"_index":17446,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["isinstanceofloggable",{"_index":15764,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["isinstanceofloggable(object",{"_index":15769,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["isint",{"_index":6259,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/DeletionExecutionParams.html":{},"classes/LoginRequestBody.html":{},"classes/PaginationParams.html":{},"classes/ShareTokenBodyParams.html":{}}}],["isint()@isoptional()@apiproperty({description",{"_index":6231,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["isint()@isoptional()@ispositive()@apiproperty({description",{"_index":20284,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["isint()@min(0)@apipropertyoptional({description",{"_index":895,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"classes/PaginationParams.html":{}}}],["isint()@min(1)@isoptional()@apipropertyoptional({description",{"_index":9096,"title":{},"body":{"classes/DeletionExecutionParams.html":{}}}],["isint()@min(1)@max(100)@apipropertyoptional({description",{"_index":889,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"classes/PaginationParams.html":{}}}],["isinternal",{"_index":16307,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["isinternalurl",{"_index":16288,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["isinternalurl(url",{"_index":16293,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["islatest",{"_index":6032,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["islatest(tool1",{"_index":6039,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["islesson",{"_index":3295,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["islesson(element.target",{"_index":3324,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["islesson(reference",{"_index":6213,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["islibrariescontenttype(object",{"_index":13345,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["islinkelement(reference",{"_index":15650,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["islisteningonly",{"_index":2318,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["islocal",{"_index":8107,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"injectables/HydraSsoService.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{}}}],["islocale",{"_index":15900,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["islocale()@apiproperty",{"_index":15892,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["islocalhost",{"_index":1276,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["islti11config",{"_index":10071,"title":{},"body":{"classes/ExternalTool.html":{}}}],["islti11config(config",{"_index":10085,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["ismarked",{"_index":11950,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["ismarkedfordeletion",{"_index":11585,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["ismatched",{"_index":3670,"title":{},"body":{"injectables/BoardDoRule.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"injectables/GroupRule.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LessonRule.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["ismember",{"_index":20695,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["ismigrationactive",{"_index":16328,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["ismigrationactive(userloginmigration",{"_index":16333,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["ismongoid",{"_index":855,"title":{},"body":{"classes/AccountSaveDto.html":{},"classes/BoardUrlParams.html":{},"classes/CardIdsParams.html":{},"classes/CardUrlParams.html":{},"classes/ColumnUrlParams.html":{},"classes/ContentBodyParams.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextRefParams.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CourseUrlParams.html":{},"classes/CreateNewsParams.html":{},"classes/DashboardUrlParams.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolIdParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/FilterNewsParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GroupIdParams.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LessonCopyApiParams.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/NewsUrlParams.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/PatchOrderParams.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/ShareTokenBodyParams.html":{},"classes/SingleFileParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionUrlParams.html":{},"classes/SystemIdParams.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TeamRoleDto.html":{},"classes/TeamUrlParams.html":{},"classes/ToolLaunchParams.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParams.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["ismongoid()@apiproperty",{"_index":6756,"title":{},"body":{"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextRefParams.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolIdParams-1.html":{},"classes/SystemIdParams.html":{},"classes/TeamRoleDto.html":{}}}],["ismongoid()@apiproperty({description",{"_index":4150,"title":{},"body":{"classes/BoardUrlParams.html":{},"classes/CardUrlParams.html":{},"classes/ColumnUrlParams.html":{},"classes/ContentElementUrlParams.html":{},"classes/CourseUrlParams.html":{},"classes/DashboardUrlParams.html":{},"classes/ImportUserUrlParams.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/MoveColumnBodyParams.html":{},"classes/NewsUrlParams.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"classes/ShareTokenBodyParams.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionUrlParams.html":{},"classes/TaskUrlParams.html":{},"classes/TeamUrlParams.html":{},"classes/ToolLaunchParams.html":{},"classes/UserMatchResponse.html":{},"classes/UserParams.html":{}}}],["ismongoid()@apiproperty({nullable",{"_index":6753,"title":{},"body":{"classes/ContextExternalToolIdParams.html":{},"classes/ExternalToolIdParams.html":{},"classes/GroupIdParams.html":{},"classes/SchoolExternalToolIdParams.html":{}}}],["ismongoid()@apiproperty({pattern",{"_index":8026,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/ImportUserResponse.html":{}}}],["ismongoid()@apiproperty({required",{"_index":16409,"title":{},"body":{"classes/MoveCardBodyParams.html":{},"classes/MoveContentElementBody.html":{}}}],["ismongoid()@isoptional()@apipropertyoptional",{"_index":10233,"title":{},"body":{"classes/ExternalToolContentBody.html":{}}}],["ismongoid({each",{"_index":4392,"title":{},"body":{"classes/CardIdsParams.html":{}}}],["isnameunique",{"_index":10488,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isnameunique(externaltool",{"_index":10504,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isnan",{"_index":6100,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["isnan(number(val",{"_index":6093,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["isnesthttpexception",{"_index":9971,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["isnesthttpexception(error",{"_index":9980,"title":{},"body":{"classes/ErrorUtils.html":{}}}],["isnextcloud",{"_index":17374,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["isnextcloudtool",{"_index":17359,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["isnextcloudtool(tool",{"_index":17364,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["isnotcontained",{"_index":2976,"title":{},"body":{"entities/Board.html":{}}}],["isnotempty",{"_index":856,"title":{},"body":{"classes/AccountSaveDto.html":{},"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/AuthorizationParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CustomParameterPostParams.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterUserParams.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["isnotemptystring",{"_index":20644,"title":{},"body":{"classes/StringValidator.html":{}}}],["isnotemptystring(value",{"_index":20645,"title":{},"body":{"classes/StringValidator.html":{}}}],["isnumber",{"_index":3744,"title":{},"body":{"classes/BoardLessonResponse.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/ListOauthClientsParams.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/OAuthRejectableBody.html":{},"classes/SchoolExternalToolPostParams.html":{}}}],["isnumber()@isoptional()@apiproperty({description",{"_index":6254,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{}}}],["isnumber()@min(0)@apiproperty",{"_index":3741,"title":{},"body":{"classes/BoardLessonResponse.html":{},"classes/MoveElementPositionParams.html":{}}}],["isnumber()@min(0)@apiproperty({required",{"_index":16411,"title":{},"body":{"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{}}}],["isnumber()@min(0)@isoptional()@apiproperty",{"_index":3738,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["isnumber()@min(0)@isoptional()@apiproperty({description",{"_index":15680,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["isnumber()@min(0)@isoptional()@apipropertyoptional({description",{"_index":16425,"title":{},"body":{"classes/MoveElementPositionParams.html":{}}}],["isnumber()@min(0)@isoptional()@apipropertyoptional({required",{"_index":9329,"title":{},"body":{"classes/DeletionRequestBodyProps.html":{}}}],["isnumber()@min(0)@max(500)@isoptional()@apiproperty({description",{"_index":15676,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["isoauth2config",{"_index":10072,"title":{},"body":{"classes/ExternalTool.html":{}}}],["isoauth2config(config",{"_index":10087,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["isoauthconfigavailable",{"_index":13759,"title":{},"body":{"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["isoauthprovisioningenabledforschool",{"_index":16852,"title":{},"body":{"injectables/OAuthService.html":{}}}],["isoauthprovisioningenabledforschool(officialschoolnumber",{"_index":16865,"title":{},"body":{"injectables/OAuthService.html":{}}}],["isobject",{"_index":12533,"title":{},"body":{"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"classes/SaveH5PEditorParams.html":{}}}],["isobject()@validatenested()@type(undefined",{"_index":19475,"title":{},"body":{"classes/SanisGruppenResponse.html":{},"classes/SanisPersonResponse.html":{}}}],["isobject({groups",{"_index":19509,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{}}}],["isobjectempty",{"_index":19521,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["isobjectempty(obj",{"_index":19532,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["isolate",{"_index":25977,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["isolated",{"_index":25739,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["isolation",{"_index":25674,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["isopen",{"_index":7694,"title":{},"body":{"classes/CourseFactory.html":{}}}],["isoptional",{"_index":300,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/AuthorizationParams.html":{},"classes/BoardLessonResponse.html":{},"classes/ClassFilterParams.html":{},"classes/ClassSortParams.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/DeletionExecutionParams.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolSearchParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/LessonCopyApiParams.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/ListOauthClientsParams.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/OAuthRejectableBody.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/PatchMyAccountParams.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SystemFilterParams.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UserLoginMigrationSearchParams.html":{},"classes/VideoConferenceCreateParams.html":{}}}],["isoptional()@apiproperty",{"_index":6280,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{}}}],["isoptional()@apiproperty({description",{"_index":6271,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/LoginResponse-1.html":{}}}],["isoptional()@isarray()@isenum(sanisgrouprole",{"_index":19486,"title":{},"body":{"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["isoptional()@isarray()@validatenested({each",{"_index":19479,"title":{},"body":{"classes/SanisGruppenResponse.html":{}}}],["isoptional()@isboolean",{"_index":440,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{}}}],["isoptional()@isboolean()@apiproperty({description",{"_index":287,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["isoptional()@isboolean()@stringtoboolean()@apipropertyoptional({description",{"_index":12400,"title":{},"body":{"classes/FilterNewsParams.html":{},"classes/PreviewParams.html":{}}}],["isoptional()@isdate",{"_index":444,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{}}}],["isoptional()@isdate()@apipropertyoptional({description",{"_index":23130,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["isoptional()@isenum(classsortby)@apipropertyoptional({enum",{"_index":4788,"title":{},"body":{"classes/ClassSortParams.html":{}}}],["isoptional()@isenum(externaltoolsortby)@apipropertyoptional({enum",{"_index":20558,"title":{},"body":{"classes/SortExternalToolParams.html":{}}}],["isoptional()@isenum(filterroletype)@apipropertyoptional({enum",{"_index":12386,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["isoptional()@isenum(importusersortorder)@apipropertyoptional({enum",{"_index":20569,"title":{},"body":{"classes/SortImportUserParams.html":{}}}],["isoptional()@isenum(schoolyearquerytype)@apipropertyoptional({enum",{"_index":4659,"title":{},"body":{"classes/ClassFilterParams.html":{}}}],["isoptional()@isenum(sortorder)@apipropertyoptional({enum",{"_index":4790,"title":{},"body":{"classes/ClassSortParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{}}}],["isoptional()@isenum(ssoauthenticationerror",{"_index":1893,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["isoptional()@isint()@min(0)@apipropertyoptional({description",{"_index":7957,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{}}}],["isoptional()@ismongoid",{"_index":450,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{}}}],["isoptional()@ismongoid()@apipropertyoptional({pattern",{"_index":12394,"title":{},"body":{"classes/FilterNewsParams.html":{},"classes/LessonCopyApiParams.html":{},"classes/TaskCopyApiParams.html":{}}}],["isoptional()@isobject()@validatenested()@type(undefined",{"_index":19496,"title":{},"body":{"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{}}}],["isoptional()@isstring",{"_index":442,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"classes/AuthorizationParams.html":{},"classes/SanisGeburtResponse.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["isoptional()@isstring()@apiproperty({description",{"_index":20368,"title":{},"body":{"classes/ShareTokenImportBodyParams.html":{}}}],["isoptional()@isstring()@isemail()@apiproperty({description",{"_index":294,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["isoptional()@isstring()@isenum(newstargetmodel)@apipropertyoptional({enum",{"_index":12398,"title":{},"body":{"classes/FilterNewsParams.html":{}}}],["isoptional()@isstring()@isnotempty",{"_index":1890,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["isoptional()@isstring()@isnotempty()@apipropertyoptional({type",{"_index":12373,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["isoptional()@isstring()@sanitizehtml()@apipropertyoptional({description",{"_index":23132,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["isoptional()@isstring()@sanitizehtml(inputformat.rich_text)@apipropertyoptional({description",{"_index":23128,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["isoptional({groups",{"_index":19505,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{}}}],["isoutdated",{"_index":20004,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"classes/UserScope.html":{}}}],["isoutdated(isoutdated",{"_index":23879,"title":{},"body":{"classes/UserScope.html":{}}}],["isoutdated(query.isoutdated",{"_index":23284,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["isoutdatedonscopecontext",{"_index":6047,"title":{},"body":{"injectables/CommonToolService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{}}}],["isoutdatedonscopeschool",{"_index":6048,"title":{},"body":{"injectables/CommonToolService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolService.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{}}}],["isowner",{"_index":23874,"title":{},"body":{"injectables/UserRule.html":{}}}],["ispending",{"_index":11826,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["isplanned",{"_index":21325,"title":{},"body":{"entities/Task.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["ispositive",{"_index":20264,"title":{},"body":{"classes/SetHeightBodyParams.html":{},"classes/ShareTokenBodyParams.html":{}}}],["ispositive()@apiproperty({required",{"_index":20262,"title":{},"body":{"classes/SetHeightBodyParams.html":{}}}],["ispresenter",{"_index":2317,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["ispreviewpossible",{"_index":11829,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"injectables/PreviewGeneratorService.html":{}}}],["ispropertyprivacyprotected",{"_index":9867,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["ispropertyprivacyprotected(target",{"_index":9877,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["isprotecteduser",{"_index":23938,"title":{},"body":{"injectables/UserService.html":{}}}],["isprovisioningenabled",{"_index":16888,"title":{},"body":{"injectables/OAuthService.html":{}}}],["ispublished",{"_index":16687,"title":{},"body":{"injectables/NewsUc.html":{},"entities/Task.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["isregexcommentmandatoryandfilled",{"_index":10489,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isregexcommentmandatoryandfilled(customparameter",{"_index":10506,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isregexvalid",{"_index":10490,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isregexvalid(param",{"_index":10508,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["isrelativeurl",{"_index":6467,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["isrelativeurl(this.content.imageurl",{"_index":6473,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["isrequiredtool",{"_index":11375,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["isrichtextelement",{"_index":20800,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemUc.html":{}}}],["isrichtextelement(child",{"_index":20805,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["isrichtextelement(element",{"_index":20811,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemUc.html":{}}}],["isrichtextelement(reference",{"_index":18882,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["isrichtextelementresponse",{"_index":6378,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["isrichtextelementresponse(result",{"_index":6394,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["iss",{"_index":7967,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"classes/JwtTestFactory.html":{}}}],["issatisfiedby(t",{"_index":25644,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["isschoolnumberunique",{"_index":20072,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["isschoolnumberunique(school",{"_index":20074,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["isslash",{"_index":1661,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["isslash(inputpath",{"_index":1659,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["isstring",{"_index":299,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchQueryParams.html":{},"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/AuthorizationParams.html":{},"classes/BasicToolConfigParams.html":{},"classes/ChallengeParams.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CourseQueryParams.html":{},"classes/CreateNewsParams.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterPostParams.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolSearchParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GetMetaTagDataBody.html":{},"classes/IdParams.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"classes/LoginResponse-1.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/OAuthRejectableBody.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/PseudonymParams.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"classes/RevokeConsentParams.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleFileParams.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StringValidator.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/TldrawDeleteParams.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UserLoginMigrationSearchParams.html":{}}}],["isstring()@apiproperty",{"_index":2694,"title":{},"body":{"classes/BasicToolConfigParams.html":{},"classes/CustomParameterEntryParam.html":{},"classes/DrawingContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/LinkContentBody.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/RichTextContentBody.html":{}}}],["isstring()@apiproperty({description",{"_index":308,"title":{},"body":{"classes/AccountByIdParams.html":{},"classes/AccountSearchQueryParams.html":{},"classes/ChallengeParams.html":{},"classes/IdParams.html":{},"classes/ImportUserResponse.html":{},"classes/PatchMyAccountParams.html":{},"classes/RevokeConsentParams.html":{},"classes/ShareTokenUrlParams.html":{},"classes/TldrawDeleteParams.html":{}}}],["isstring()@apiproperty({nullable",{"_index":18220,"title":{},"body":{"classes/PseudonymParams.html":{}}}],["isstring()@apiproperty({required",{"_index":12552,"title":{},"body":{"classes/GetMetaTagDataBody.html":{},"classes/RenameBodyParams.html":{}}}],["isstring()@ismongoid()@isoptional()@apipropertyoptional({description",{"_index":21514,"title":{},"body":{"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{}}}],["isstring()@isnotempty",{"_index":454,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/AuthorizationParams.html":{}}}],["isstring()@isnotempty()@apiproperty",{"_index":8308,"title":{},"body":{"classes/CustomParameterPostParams.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{}}}],["isstring()@isoptional",{"_index":1203,"title":{},"body":{"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/SanisAnschriftResponse.html":{}}}],["isstring()@isoptional()@apiproperty",{"_index":15626,"title":{},"body":{"classes/LinkContentBody.html":{}}}],["isstring()@isoptional()@apiproperty({description",{"_index":6237,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/ListOauthClientsParams.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"classes/OauthClientBody.html":{},"classes/PatchMyAccountParams.html":{}}}],["isstring()@isoptional()@apipropertyoptional",{"_index":6778,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterPostParams.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["isstring()@isoptional()@sanitizehtml(inputformat.rich_text_ck5)@apipropertyoptional({description",{"_index":21516,"title":{},"body":{"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{}}}],["isstring()@matches(undefined)@apiproperty({description",{"_index":7856,"title":{},"body":{"classes/CourseQueryParams.html":{}}}],["isstring()@sanitizehtml()@apiproperty({description",{"_index":8031,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/PatchGroupParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{}}}],["isstring()@sanitizehtml(inputformat.rich_text)@apiproperty({description",{"_index":8019,"title":{},"body":{"classes/CreateNewsParams.html":{}}}],["isstring(value",{"_index":20647,"title":{},"body":{"classes/StringValidator.html":{}}}],["isstring({groups",{"_index":19508,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{}}}],["isstudent",{"_index":7879,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["issubmissioncontainerelement",{"_index":9810,"title":{},"body":{"injectables/ElementUc.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{}}}],["issubmissioncontainerelement(reference",{"_index":20724,"title":{},"body":{"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{}}}],["issubmissioncontainerelement(submissioncontainerelement",{"_index":9822,"title":{},"body":{"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["issubmissioncontainerelement(submissioncontainterelement",{"_index":20866,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["issubmissionitem",{"_index":9811,"title":{},"body":{"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["issubmissionitem(child",{"_index":9825,"title":{},"body":{"injectables/ElementUc.html":{}}}],["issubmissionitem(parent",{"_index":9819,"title":{},"body":{"injectables/ElementUc.html":{}}}],["issubmissionitem(reference",{"_index":20809,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["issubmissionitemcontent",{"_index":20810,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["issubmitted",{"_index":20693,"title":{},"body":{"entities/Submission.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["issubmittedforuser",{"_index":20698,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["issubmittedforuser(user",{"_index":20694,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["issubstitutionteacher",{"_index":4072,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"interfaces/ITask.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusResponse.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["issuer",{"_index":1593,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"injectables/HydraSsoService.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"classes/JwtTestFactory.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfigEntity.html":{},"injectables/OAuthService.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["issues",{"_index":25373,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["istanbul",{"_index":3329,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/BoardResponseMapper.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnResponseMapper.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/S3ClientAdapter.html":{},"classes/ShareTokenFactory.html":{}}}],["istask",{"_index":3296,"title":{},"body":{"injectables/BoardCopyService.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["istask(element.target",{"_index":3320,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["istask(reference",{"_index":21369,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["isteacher",{"_index":7880,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["isteamuser",{"_index":21972,"title":{},"body":{"injectables/TeamRule.html":{}}}],["istemplate",{"_index":8106,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{}}}],["istoolstatuslatestorthrow",{"_index":22900,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["istoolstatuslatestorthrow(userid",{"_index":22907,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["istype",{"_index":13346,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["isuniqueemail",{"_index":967,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["isuniqueemail(email",{"_index":971,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["isuniqueemailforaccount",{"_index":968,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["isuniqueemailforaccount(email",{"_index":973,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["isuniqueemailforuser",{"_index":969,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["isuniqueemailforuser(email",{"_index":975,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["isupgradable",{"_index":4666,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{}}}],["isurl",{"_index":16225,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{},"classes/VideoConferenceCreateParams.html":{}}}],["isuserinfinisheduser",{"_index":21319,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["isuseringroup",{"_index":17691,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["isusermigrated",{"_index":16329,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["isusermigrated(user",{"_index":16335,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["isuserreferenced",{"_index":1807,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["isuserreferenced(user",{"_index":1818,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["isusersubmitter(user",{"_index":20708,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["isusersubstitutionteacher(user",{"_index":7551,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["isusersubstitutionteacherincourse(user",{"_index":21343,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["isvalid",{"_index":3566,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["isvaluevalidfortype",{"_index":6066,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["isvaluevalidfortype(type",{"_index":6086,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["isverified",{"_index":11827,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["isvisible",{"_index":15526,"title":{},"body":{"injectables/LessonRule.html":{}}}],["iswhitelisted",{"_index":14352,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["iswhitelisted(accountid",{"_index":14359,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["it's",{"_index":25708,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["it(\"should",{"_index":25673,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["it('bad",{"_index":25712,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["it('good",{"_index":25714,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["it('should",{"_index":25776,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["itask",{"_index":13652,"title":{"interfaces/ITask.html":{}},"body":{"interfaces/ITask.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{}}}],["item",{"_index":3473,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"controllers/BoardSubmissionController.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/SubmissionItemUrlParams.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["item.'})@apiextramodels(richtextelementresponse",{"_index":4000,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["item.'})@apiresponse({status",{"_index":4014,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["item.body.params.ts",{"_index":8039,"title":{},"body":{"classes/CreateSubmissionItemBodyParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{}}}],["item.body.params.ts:10",{"_index":8043,"title":{},"body":{"classes/CreateSubmissionItemBodyParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{}}}],["item.columnboardid",{"_index":5572,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["item.do",{"_index":3130,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"injectables/SubmissionItemFactory.html":{}}}],["item.do.ts",{"_index":20789,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["item.do.ts:11",{"_index":20795,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["item.do.ts:15",{"_index":20796,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["item.do.ts:19",{"_index":20798,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["item.do.ts:7",{"_index":20793,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["item.factory.ts",{"_index":20814,"title":{},"body":{"injectables/SubmissionItemFactory.html":{}}}],["item.factory.ts:7",{"_index":20815,"title":{},"body":{"injectables/SubmissionItemFactory.html":{}}}],["item.name.tolocalelowercase",{"_index":10542,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["item.response",{"_index":21010,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["item.response.ts",{"_index":20824,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["item.response.ts:16",{"_index":20828,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["item.response.ts:19",{"_index":20829,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["item.response.ts:22",{"_index":20826,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["item.response.ts:25",{"_index":20830,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["item.response.ts:33",{"_index":20827,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["item.response.ts:6",{"_index":20825,"title":{},"body":{"classes/SubmissionItemResponse.html":{}}}],["item.service",{"_index":9813,"title":{},"body":{"injectables/ElementUc.html":{}}}],["item.service.ts",{"_index":20854,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["item.service.ts:12",{"_index":20855,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["item.service.ts:15",{"_index":20858,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["item.service.ts:25",{"_index":20857,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["item.service.ts:45",{"_index":20860,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["item.split(';')[0",{"_index":13558,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["item.uc",{"_index":3008,"title":{},"body":{"modules/BoardApiModule.html":{},"controllers/BoardSubmissionController.html":{}}}],["item.uc.ts",{"_index":20869,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["item.uc.ts:27",{"_index":20871,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["item.uc.ts:38",{"_index":20875,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["item.uc.ts:64",{"_index":20877,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["item.uc.ts:76",{"_index":20873,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["item.url.params.ts",{"_index":20889,"title":{},"body":{"classes/SubmissionItemUrlParams.html":{}}}],["item.url.params.ts:11",{"_index":20890,"title":{},"body":{"classes/SubmissionItemUrlParams.html":{}}}],["item.userid",{"_index":9830,"title":{},"body":{"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["item/create",{"_index":8038,"title":{},"body":{"classes/CreateSubmissionItemBodyParams.html":{}}}],["item/submission",{"_index":20744,"title":{},"body":{"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemUrlParams.html":{}}}],["item/submissions.response",{"_index":4023,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["item/submissions.response.ts",{"_index":21004,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["item/submissions.response.ts:14",{"_index":21007,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["item/submissions.response.ts:19",{"_index":21008,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["item/submissions.response.ts:5",{"_index":21006,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["item/update",{"_index":23134,"title":{},"body":{"classes/UpdateSubmissionItemBodyParams.html":{}}}],["itemindex",{"_index":10539,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["itemporaryfile",{"_index":13414,"title":{},"body":{"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileStorage.html":{}}}],["itemporaryfilestorage",{"_index":22089,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["items",{"_index":874,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"controllers/BoardSubmissionController.html":{},"classes/CardResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseMetadataListResponse.html":{},"interfaces/CustomLtiProperty.html":{},"injectables/ElementUc.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/ImportUserListResponse.html":{},"entities/LtiTool.html":{},"classes/NewsListResponse.html":{},"classes/PaginationResponse.html":{},"injectables/PermissionService.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"classes/SubmissionItemResponse.html":{},"entities/Task.html":{},"classes/TaskListResponse.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/User.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"interfaces/UserProperties.html":{}}}],["itemsperpage",{"_index":13016,"title":{},"body":{"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/Meta.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OcsResponse.html":{},"interfaces/SuccessfulRes.html":{}}}],["itemstodelete",{"_index":9482,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["iterate",{"_index":18680,"title":{},"body":{"classes/ReferencesService.html":{}}}],["itoolfeatures",{"_index":10123,"title":{"interfaces/IToolFeatures.html":{}},"body":{"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolLogoService.html":{},"interfaces/IToolFeatures.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/ToolConfiguration.html":{},"injectables/ToolVersionService.html":{}}}],["itself",{"_index":1924,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/ContextExternalToolValidationService.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["iupdatenews",{"_index":8012,"title":{},"body":{"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{},"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["iuser",{"_index":13069,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"classes/LumiUserWithContentData.html":{},"injectables/TemporaryFileStorage.html":{}}}],["iuserloginmigration",{"_index":23542,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["ivborw0kggoaaaansuheugaaafqaaadicayaaaaegrpoaaaagxrfwhrtb2z0d2fyzqbbzg9izsbjbwfnzvjlywr5ccllpaaaaynpvfh0we1momnvbs5hzg9izs54bxaaaaaaadw/ehbhy2tldcbizwdpbj0i77u/iibpzd0ivzvnme1wq2voauh6cmvtek5uy3pryzlkij8+idx4onhtcg1ldgegeg1sbnm6ed0iywrvymu6bnm6bwv0ys8iihg6eg1wdgs9ikfkb2jlifhnucbdb3jliduuni1jmtqwidc5lje2mdq1mswgmjaxny8wns8wni0wmtowodoymsagicagicagij4gphjkzjpsreygeg1sbnm6cmrmpsjodhrwoi8vd3d3lnczlm9yzy8xotk5lzaylziylxjkzi1zew50yxgtbnmjij4gphjkzjpezxnjcmlwdglvbibyzgy6ywjvdxq9iiigeg1sbnm6eg1wpsjodhrwoi8vbnmuywrvymuuy29tl3hhcc8xljaviib4bwxuczp4bxbntt0iahr0cdovl25zlmfkb2jllmnvbs94yxavms4wl21tlyigeg1sbnm6c3rszwy9imh0dha6ly9ucy5hzg9izs5jb20vegfwlzeumc9zvhlwzs9szxnvdxjjzvjlzimiihhtcdpdcmvhdg9yvg9vbd0iqwrvymugughvdg9zag9wiendichnywnpbnrvc2gpiib4bxbnttpjbnn0yw5jzulepsj4bxauawlkojq2muq2q0y5rtqxmtexrtdbmtg3qkq2mdvgmufemuiwiib4bxbnttpeb2n1bwvudelepsj4bxauzglkojq2muq2q0zbrtqxmtexrtdbmtg3qkq2mdvgmufemuiwij4gphhtce1nokrlcml2zwrgcm9tihn0umvmomluc3rhbmnlsuq9inhtcc5pawq6ndyxrdzdrjdfndexmtffn0exoddcrdywnuyxquqxqjaiihn0umvmomrvy3vtzw50suq9inhtcc5kawq6ndyxrdzdrjhfndexmtffn0exoddcrdywnuyxquqxqjailz4gpc9yzgy6rgvzy3jpchrpb24+idwvcmrmoljerj4gpc94onhtcg1ldge+idw/ehbhy2tldcblbmq9iniipz45ejsraaalfuleqvr42uzdgxwjoaigyhlvgsiv4cnbu4jtgqeepis4hksepis4blseu4rjcemscmhgzpplkycmago+7z3ezs3tysus+beicfx29lyaaop2hz8baah0aecgawachqaq6aag0aeagq4achqaqkadgeahaaq6acdqaqcbdgachqaq6acaqacabdoachqaqkadaaidabdoacdqaqcbdgaidabaoaoaqacabdoainabaieoaaidabdoaibabwaeogaidabaoamaah0aeogainabaieoaah0aecga4babwaeogag0aeagq4achqaeogageahaaq6acdqaucgawachqaq6acaqacagq4achqaqkadaaidaaq6acdqaqcbdgaidaaq6acaqacabdoainabqkadaaidabdoaibabwcbdgaidabaoamaah0abdoainabgn79109abldxv9flpxblnov/doblfv7+ug77+hfvn39vb29vb78emdpg1faup2idwwvcgm3883ambbas6/yorpp414ujf+w4z+2r/12wdasol6zdl4ufa4fdvgu0gyp/x6styjd0jx8a/03gogn1cvtuyxn3eq4267cv3+t16u2jhz701lfb6dealngbt2ydz+ccddheq7lottznizy11pvahv6aeohj3erhgp12ltujzrj6e28y1cw8g/p4cgeqkbephvpq522jp3lmynvjwwe/2rbbjsq66kht/wwn4+pw3jt76lq9o76nb5jco+gw35/l/p/ijxx43/auy+2+cqpmu7+o+9zfzzihsj511nf+bmr5gt/jltz1oeicnbzh/lt8c0+rc1wwl/3ivlvkvcu3h44/krtth/lzdvfy8bblxxquej8f+6b8zieut6snviccnxm/oc5jmpchdmixqzxlk3qiustov3d8inkc6c0hkoum45pmj9zhyj+pq4hozr9qr08i8zbrzru3u4rjcs9+fwhe44nkryewu/gd+ijr04blrrzu4xh4bi1t3camgmkb4lh4m4n2/0gnrh5jqwbr1u3vzmntwrxhefszuep7ez1+tcu2v9lr+2syagv3mvcfteumzb0vml1ifz0q6/74kzf3za3km/lb/cjd56zuh4oyyuy/1nnpzhknfe9fnd/9jqr0g/1vk1d+frk/hym2d+3vx7o7g83ybtggm86ydn1g1lfzlw3lumy4/9df7mv68vwdjrbpc3sbnrlt7lru//2bztekuwv0y2t/myb+jr6kh9q0lzjk2yv+1q6jx7dsy3qf4xe9/2c/t+rqy2tmq91lrcewv4zcf/8txmzzqz2ish+sirsvvzv2ei/bhgv1uuzrzduyqjls1upyenu+doj7+f78s+lay/l3z+pwnaq6wqm9x4pt8udzi3tki7vhrdn7rovee753uyiotr+7xec4zzutpd45kvim+e3old1ih/sew3yldgu609hb4zpnvty0vugzpd11maqmgbbp6a+5rngpiwxdd1dwqxdhpse6fohc1ijkqm7khnnvjvjxhv0iroqrrxwxf2/btvty1tnazvwhap2jqesyvnqjl5s2toryc8thv1luvbd9rvk2od+t1ofz16faz3tqll89xpjktpq2srtociphtm/lswyeeaz1n7psukzpfzrvhqp0pqwuu4rovlnulzjotfue7c9drsfvu/dz8xytq5yzpl8ddluhap1rspmo9ntp2pjmpnv31tlb3vwefc8j1nwg7/yz2zmvvr0kdkygph+aelyddlrh5u6vmtq3mdxdjidhgkx7bvchepyj7x30zvwhap38fmx4vxwwbtj8t3a/quncd4sy7uhfcchgx2laz1q1n7sxl0d3a3ynbcvvpkayqsmr8niwtjrtlym4zew99y1j1wszsivjdnwljdywkihrejegd2mqa3inezhpenlzl2/uoudnckp9utxgfewe1ycguxpy2cgm2eogp4/tevvysbktm9a95bqtzcujzv10wnb5ucpokdxhoxhjnvahxqqt2td0ifrnqpnm+zszrkkoeegmeorhunl4mcoqc7chuxu4z/5kljyaqkefud8cvsutbhvos2nhefanugcevbvqhqp0livyyy0e+++3nxv5zrkgy/avfuhjtkpatq4gevyx9nnxcyqrohtozlqto8vvb9tntx16h99rhil9f8wfe+1tan5xse8tpvmdcxeuj1rwdsjq4dor+/oo4mmiprzwsonceladm9ajbc3/p8tobthyo5/6381o7hc3qsf6rtcvsjlshqp0jhvwr2ggfln9ikp31al1ks974dkc1ys04onkouv3hkvz1afahzaj92pcxcqz55aonybajtp7vgebej7bjso61pegtkkobtq8c/a7hfc3vow0pnyo6fonfnwfty3votjf9szkqg4fomrrdy9v4seaxgleqidc9jfyja8c7uxfi4kvdbkd2yh9snuo0ohzg8dwl0hiafapyy8q77vwpv1xknqhqd2vqfa9htthwdehqgecqiejz73q1cldomdwtvlq+nhgekj1i8jhtpdq4zlkdftyjq3ptakobtpjfl7d+htf6jtbv4+mervbtkq8tvxqrdcfzyel+vuuhyjtmmekx8syztxh2dahqgd0o/pqsaqdsng2fjprpljcz1chrfc1mllresotmkeco7zeimg6sotpe9s173cyu+ngxuvzdsjqmv6y337qscjetv2mzlh3p80ifxruirr1csio76xn4kphhdkcocygwtagco6y1gnle8nr38jop5z3qq4fotmk88uxgxsdo2n47elt0w4z78m/fpwz2ndqynkj9dbqtv3jlartaionvhwmiracclekpukrwulhb2uni9nugpnb307py3eem1pedtigy3t5q08tldzfvxzcbrgv7zl4j59a3njfblm0wwv5oy6ow7ru+y/2u4xn03x73na9fv05ty9lbn+n/i7xyn10zsa6aooxhr6qe8jiz2xmamsyqg37upmstweqm5ctvlnv1tfjl6mclbw6nbuogq7nkkvdt6kobbpap+dav46b3uze26h455l5rgi+smz3rjugqd/fqi/fofw+afd6cyjm/s2xci95lbfsk6jdibjktuob+bbfrnlmflo1lnljeujpdykdkmbtmnylxq308b0fqryfhqtrq86+/n1jomeyt6kobtpjokcu4ogmz9nmz5c0cyxwbfaxtse+zyahs9jf+gyco+wqhwi/dszvwh0kdc77gbo6xvci/s1pbaziqq3et8huf/q0hdhdxverhgyqaxv+fqtraxzb/ui6vfoqq4hour9qj9+stupgxl6pbxyjc+pgsddf/uwcd7fdf4urua1+ahnved0v3vwdc79fcpfvxxpq1og4mbt37wzmutzp5vng3zb889tnsmmlvnvxl/rg1d4uuf118tvgryluy/ubtwh/29ggd2dcdzn62j6w9tk+vnyo5zpmhqp0xhqw1amk1+8csvrz69fiyxv/vj1ab6ttykgmx87ftb3j9lc9etha9hf7wlxw2qdl3cdyjqqsu6pdgq4a/oueogaidabaoamaah0aeogainabaieoaah0aecga4babwaeogag0aeagq4aah0aeogageahaaq6aah0aecgawachqaq6aag0aeagq4achqaqkadgeahaaq6acdqaqcbdgachqaq6acaqacabdoachqaqkadaaidabdoacdqaqcbdgaidabaoaoaqacabdoainabaieoaah0abdoaibabwaeogag0afaoamaah0aeogageahaieoaah0aecgawachqaeogag0aeagq4achqaeogageahaaq6acdqaucgawachqaq6acaqacagq4achqaqkadaaidaaq6acdqayd+/v+aaqadxuxs75wqpqaaaabjru5erkjggg",{"_index":8298,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["ivideoconferenceproperties",{"_index":23995,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["ivideoconferencesettings",{"_index":13672,"title":{"interfaces/IVideoConferenceSettings.html":{}},"body":{"interfaces/IVideoConferenceSettings.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["javascript",{"_index":2373,"title":{},"body":{"injectables/BBBService.html":{},"injectables/BsonConverter.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["jest",{"_index":22152,"title":{},"body":{"classes/TestBootstrapConsole.html":{},"properties.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["jest.config.ts",{"_index":25382,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["jest.fn",{"_index":25787,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["jest.resetallmocks",{"_index":25764,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["jest.restoreallmocks",{"_index":25772,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["jest.spyon",{"_index":25784,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["jira",{"_index":24623,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["job",{"_index":8885,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"modules/FilesModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["job_init_idm.yml.j2",{"_index":14805,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["john",{"_index":23345,"title":{},"body":{"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["john${sequence",{"_index":13954,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["join",{"_index":2276,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{},"injectables/BBBService.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["join(config",{"_index":2367,"title":{},"body":{"injectables/BBBService.html":{}}}],["join(currentuser",{"_index":24046,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["join(currentuserid",{"_index":24242,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["join.config",{"_index":2288,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["join.config.ts",{"_index":2254,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["join.config.ts:18",{"_index":2259,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["join.config.ts:20",{"_index":2262,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["join.config.ts:22",{"_index":2263,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["join.config.ts:24",{"_index":2260,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["join.config.ts:26",{"_index":2261,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["join.config.ts:8",{"_index":2258,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["join.response.ts",{"_index":2293,"title":{},"body":{"interfaces/BBBJoinResponse.html":{},"classes/VideoConferenceJoinResponse.html":{}}}],["join.response.ts:5",{"_index":24239,"title":{},"body":{"classes/VideoConferenceJoinResponse.html":{}}}],["join.ts",{"_index":24234,"title":{},"body":{"classes/VideoConferenceJoin.html":{}}}],["join.ts:5",{"_index":24237,"title":{},"body":{"classes/VideoConferenceJoin.html":{}}}],["join.ts:7",{"_index":24236,"title":{},"body":{"classes/VideoConferenceJoin.html":{}}}],["join.ts:9",{"_index":24235,"title":{},"body":{"classes/VideoConferenceJoin.html":{}}}],["join.uc.ts",{"_index":24240,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["join.uc.ts:12",{"_index":24241,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["join.uc.ts:19",{"_index":24243,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["joinbuilder",{"_index":24245,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["joinbuilder.asguest(true",{"_index":24252,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["joinbuilder.withrole(bbbrole.moderator",{"_index":24250,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["joining",{"_index":24049,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["joinpath",{"_index":12034,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["joinpath(...paths",{"_index":12052,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["joinpath(path",{"_index":3895,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["joins",{"_index":24305,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["jose",{"_index":24515,"title":{},"body":{"dependencies.html":{}}}],["jpeg",{"_index":10425,"title":{},"body":{"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{}}}],["js",{"_index":7500,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/Lti11EncryptionService.html":{},"injectables/OidcProvisioningService.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/UsersList.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["json",{"_index":1610,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"injectables/BsonConverter.html":{},"interfaces/CollectionFilePath.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"classes/TestApiClient.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{}}}],["json.parse(data",{"_index":14885,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["json.parse(filecontent",{"_index":5267,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["json.replace",{"_index":5332,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["json.replace(/\\\\\\$/g",{"_index":5336,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["json.stringify",{"_index":5232,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["json.stringify(collections",{"_index":8789,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["json.stringify(e.constraints",{"_index":9894,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["json.stringify(payload",{"_index":2783,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["json.stringify(response.body",{"_index":1682,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["json.stringify(response.error",{"_index":1679,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["json.stringify(sortedbsondocuments",{"_index":5295,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["json.stringify(this.axioserror.response?.data",{"_index":2109,"title":{},"body":{"classes/AxiosErrorLoggable.html":{}}}],["json.stringify(where",{"_index":20174,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["jsonaccount",{"_index":14292,"title":{"interfaces/JsonAccount.html":{}},"body":{"interfaces/JsonAccount.html":{},"classes/KeycloakSeedService.html":{}}}],["jsondocuments",{"_index":4177,"title":{},"body":{"injectables/BsonConverter.html":{},"interfaces/CollectionFilePath.html":{},"injectables/DatabaseManagementService.html":{}}}],["jsondocuments.length",{"_index":8857,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["jsontype",{"_index":6560,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["jsonuser",{"_index":14296,"title":{"interfaces/JsonUser.html":{}},"body":{"interfaces/JsonUser.html":{},"classes/KeycloakSeedService.html":{}}}],["jsonwebtoken",{"_index":1548,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/AuthenticationService.html":{},"interfaces/CreateJwtParams.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/OAuthService.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"dependencies.html":{}}}],["jti",{"_index":1730,"title":{},"body":{"injectables/AuthenticationService.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{}}}],["jwks",{"_index":16978,"title":{},"body":{"injectables/OauthAdapterService.html":{},"classes/OauthConfigResponse.html":{},"dependencies.html":{}}}],["jwksendpoint",{"_index":13576,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["jwksrsa",{"_index":16977,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["jwksrsa.jwksclient",{"_index":16981,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["jwksrsa.signingkey",{"_index":16982,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["jwksuri",{"_index":16971,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["jwt",{"_index":1585,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"interfaces/CreateJwtParams.html":{},"injectables/HydraOauthUc.html":{},"classes/IdentityManagementOauthService.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/LocalStrategy.html":{},"classes/OAuthProcessDto.html":{},"injectables/OAuthService.html":{},"controllers/OauthSSOController.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"classes/TestApiClient.html":{},"controllers/UserLoginMigrationController.html":{},"dependencies.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["jwt.decode(input.idtoken",{"_index":14266,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{}}}],["jwt.decode(jwttoken",{"_index":1736,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["jwt.sign",{"_index":7984,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["jwt.verify(idtoken",{"_index":16904,"title":{},"body":{"injectables/OAuthService.html":{}}}],["jwt=${jwt",{"_index":13471,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["jwtauthguard",{"_index":14298,"title":{"injectables/JwtAuthGuard.html":{}},"body":{"injectables/JwtAuthGuard.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["jwtconstants",{"_index":1549,"title":{"interfaces/JwtConstants.html":{}},"body":{"modules/AuthenticationModule.html":{},"interfaces/JwtConstants.html":{},"injectables/JwtStrategy.html":{}}}],["jwtconstants.jwtoptions",{"_index":14341,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["jwtconstants.jwtoptions.algorithm",{"_index":1588,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtconstants.jwtoptions.audience",{"_index":1590,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtconstants.jwtoptions.expiresin",{"_index":1592,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtconstants.jwtoptions.header",{"_index":1596,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtconstants.jwtoptions.issuer",{"_index":1594,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtconstants.secret",{"_index":1599,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/JwtStrategy.html":{}}}],["jwtextractor",{"_index":14316,"title":{"classes/JwtExtractor.html":{}},"body":{"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{}}}],["jwtextractor.fromcookie('jwt",{"_index":14338,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["jwtfromrequest",{"_index":14335,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["jwtfromrequestfunction",{"_index":14322,"title":{},"body":{"classes/JwtExtractor.html":{}}}],["jwtfromresponse",{"_index":1656,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["jwtid",{"_index":1733,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["jwtmodule",{"_index":1541,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtmodule.register(jwtmoduleoptions",{"_index":1601,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtmoduleoptions",{"_index":1542,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["jwtoptions",{"_index":14303,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["jwtpayload",{"_index":1719,"title":{"interfaces/JwtPayload.html":{}},"body":{"injectables/AuthenticationService.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"injectables/OAuthService.html":{},"injectables/OidcMockProvisioningStrategy.html":{}}}],["jwtpayload.accountid",{"_index":8075,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwtpayload.isexternaluser",{"_index":8082,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwtpayload.roles",{"_index":8077,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwtpayload.schoolid",{"_index":8078,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwtpayload.support",{"_index":8081,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwtpayload.systemid",{"_index":8076,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwtpayload.userid",{"_index":8079,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwtservice",{"_index":1694,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["jwtstrategy",{"_index":1527,"title":{"injectables/JwtStrategy.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/JwtStrategy.html":{}}}],["jwttestfactory",{"_index":7980,"title":{"classes/JwtTestFactory.html":{}},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["jwttoicurrentuser",{"_index":8047,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwttoicurrentuser(jwtpayload",{"_index":8051,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["jwttoken",{"_index":1709,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["jwtvalidationadapter",{"_index":1528,"title":{"injectables/JwtValidationAdapter.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/AuthenticationService.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{}}}],["k",{"_index":1810,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["kann",{"_index":5500,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["kc",{"_index":14440,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["kc.clients.addprotocolmapper",{"_index":14612,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.clients.create(cr",{"_index":14588,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.clients.find",{"_index":14443,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["kc.clients.getclientsecret",{"_index":14445,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["kc.clients.listprotocolmappers",{"_index":14604,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.clients.update",{"_index":14589,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.clients.updateprotocolmapper",{"_index":14609,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.identityproviders.create",{"_index":14623,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.identityproviders.createmapper",{"_index":14635,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.identityproviders.del",{"_index":14629,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.identityproviders.find",{"_index":14591,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.identityproviders.findmappers",{"_index":14630,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.identityproviders.update",{"_index":14626,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.identityproviders.updatemapper",{"_index":14631,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.realmname",{"_index":14560,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.realms.makerequest",{"_index":14556,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["kc.realms.update",{"_index":14447,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["kc.users.count",{"_index":14766,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["kc.users.create",{"_index":14741,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["kc.users.create(idmuserrepresentation",{"_index":14844,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["kc.users.del",{"_index":14879,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["kc.users.del(id",{"_index":14751,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["kc.users.find",{"_index":14767,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["kc.users.findone",{"_index":14777,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["kc.users.resetpassword",{"_index":14748,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["kc.users.update",{"_index":14782,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["kcadmin",{"_index":14499,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["kcadminclient",{"_index":14417,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["kcadminservice",{"_index":14687,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["kcsettings",{"_index":14415,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["kcsettings.baseurl",{"_index":14431,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["kcsettings.realmname",{"_index":14432,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["kebab",{"_index":25846,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["keep",{"_index":5277,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/StorageProviderEncryptedStringType.html":{},"index.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["keepdiscriminatorproperty",{"_index":9581,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["keeps",{"_index":25332,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["kennung",{"_index":19495,"title":{},"body":{"classes/SanisOrganisationResponse.html":{}}}],["kernel",{"_index":24783,"title":{},"body":{"license.html":{}}}],["key",{"_index":2124,"title":{},"body":{"classes/AxiosResponseImp.html":{},"injectables/BBBService.html":{},"injectables/CommonToolValidationService.html":{},"injectables/CopyHelperService.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterFactory.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"modules/EncryptionModule.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/NewsUc.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthAdapterService.html":{},"injectables/S3ClientAdapter.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"injectables/XApiKeyStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["key.config",{"_index":9284,"title":{},"body":{"modules/DeletionModule.html":{},"injectables/XApiKeyStrategy.html":{}}}],["key.config.ts",{"_index":24409,"title":{},"body":{"interfaces/XApiKeyConfig.html":{}}}],["key.getpublickey",{"_index":16984,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["key.strategy",{"_index":1560,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["key.strategy.ts",{"_index":24411,"title":{},"body":{"injectables/XApiKeyStrategy.html":{}}}],["key.strategy.ts:16",{"_index":24414,"title":{},"body":{"injectables/XApiKeyStrategy.html":{}}}],["key.strategy.ts:9",{"_index":24413,"title":{},"body":{"injectables/XApiKeyStrategy.html":{}}}],["key.substring(path.length",{"_index":19422,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["keycloak",{"_index":618,"title":{"additional-documentation/nestjs-application/keycloak.html":{}},"body":{"injectables/AccountLookupService.html":{},"interfaces/CleanOptions.html":{},"modules/IdentityManagementModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["keycloak/keycloak",{"_index":14394,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/OidcIdentityProviderMapper.html":{},"dependencies.html":{}}}],["keycloak/keycloak.module",{"_index":13753,"title":{},"body":{"modules/IdentityManagementModule.html":{}}}],["keycloak/service/keycloak",{"_index":13755,"title":{},"body":{"modules/IdentityManagementModule.html":{}}}],["keycloak:/tmp/realms",{"_index":25920,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["keycloakadminclient",{"_index":14393,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{}}}],["keycloakadministration",{"_index":14378,"title":{"classes/KeycloakAdministration.html":{}},"body":{"classes/KeycloakAdministration.html":{}}}],["keycloakadministrationmodule",{"_index":13746,"title":{"modules/KeycloakAdministrationModule.html":{}},"body":{"modules/IdentityManagementModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{}}}],["keycloakadministrationservice",{"_index":14391,"title":{"injectables/KeycloakAdministrationService.html":{}},"body":{"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["keycloakadministrationservice.authorization_timebox_ms",{"_index":14454,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["keycloakconfigservice",{"_index":14651,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["keycloakconfiguration",{"_index":14397,"title":{"classes/KeycloakConfiguration.html":{}},"body":{"modules/KeycloakAdministrationModule.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{}}}],["keycloakconfiguration.keycloakinputfiles",{"_index":14481,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{}}}],["keycloakconfiguration.keycloaksettings",{"_index":14400,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{}}}],["keycloakconfigurationinputfiles",{"_index":13628,"title":{},"body":{"interfaces/IKeycloakConfigurationInputFiles.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakSeedService.html":{}}}],["keycloakconfigurationmodule",{"_index":14461,"title":{"modules/KeycloakConfigurationModule.html":{}},"body":{"modules/KeycloakConfigurationModule.html":{},"modules/ManagementModule.html":{}}}],["keycloakconfigurationservice",{"_index":14466,"title":{"injectables/KeycloakConfigurationService.html":{}},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{}}}],["keycloakconfigurationuc",{"_index":4846,"title":{"injectables/KeycloakConfigurationUc.html":{}},"body":{"interfaces/CleanOptions.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["keycloakconsole",{"_index":4860,"title":{"classes/KeycloakConsole.html":{}},"body":{"interfaces/CleanOptions.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["keycloakconsole.retryflags",{"_index":4880,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["keycloakidentitymanagementoauthservice",{"_index":13754,"title":{"injectables/KeycloakIdentityManagementOauthService.html":{}},"body":{"modules/IdentityManagementModule.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"modules/KeycloakModule.html":{}}}],["keycloakidentitymanagementservice",{"_index":13756,"title":{"injectables/KeycloakIdentityManagementService.html":{}},"body":{"modules/IdentityManagementModule.html":{},"injectables/KeycloakIdentityManagementService.html":{},"modules/KeycloakModule.html":{}}}],["keycloakinputfiles",{"_index":14456,"title":{},"body":{"classes/KeycloakConfiguration.html":{}}}],["keycloakmanagementcontroller",{"_index":14470,"title":{"controllers/KeycloakManagementController.html":{}},"body":{"modules/KeycloakConfigurationModule.html":{},"controllers/KeycloakManagementController.html":{}}}],["keycloakmanagementuc",{"_index":14810,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["keycloakmigrationservice",{"_index":14468,"title":{"injectables/KeycloakMigrationService.html":{}},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakMigrationService.html":{}}}],["keycloakmodule",{"_index":13747,"title":{"modules/KeycloakModule.html":{}},"body":{"modules/IdentityManagementModule.html":{},"modules/KeycloakModule.html":{},"modules/ServerConsoleModule.html":{}}}],["keycloakseedservice",{"_index":14467,"title":{"classes/KeycloakSeedService.html":{}},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakSeedService.html":{}}}],["keycloaksettings",{"_index":13633,"title":{},"body":{"interfaces/IKeycloakSettings.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{}}}],["keycloakuser",{"_index":14754,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["keycloakusers",{"_index":14758,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["keycloakusers.length",{"_index":14762,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["keycloakusers.map((user",{"_index":14774,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["keypair",{"_index":7971,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["keypair.privatekey.export",{"_index":7979,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["keypair.publickey.export",{"_index":7976,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["keypairkeyobjectresult",{"_index":7970,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["keys",{"_index":617,"title":{},"body":{"injectables/AccountLookupService.html":{},"interfaces/JwtConstants.html":{},"license.html":{}}}],["keyvalue",{"_index":1759,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["keywords",{"_index":25221,"title":{},"body":{"properties.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["kickuserfromgroup(groupname",{"_index":1128,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["kind",{"_index":24752,"title":{},"body":{"license.html":{}}}],["kinds",{"_index":24662,"title":{},"body":{"license.html":{}}}],["kiss",{"_index":25437,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["know",{"_index":24682,"title":{},"body":{"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["knowing",{"_index":25477,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["knowingly",{"_index":25091,"title":{},"body":{"license.html":{}}}],["knowledge",{"_index":25098,"title":{},"body":{"license.html":{}}}],["known",{"_index":5357,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["known/jwks.json",{"_index":13578,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["known/openid",{"_index":14437,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["kontinuierlich",{"_index":5493,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["ktid",{"_index":19628,"title":{},"body":{"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["kurse",{"_index":7508,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["kvcache",{"_index":13351,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["l",{"_index":9085,"title":{},"body":{"classes/DeletionExecutionConsole.html":{}}}],["l.course.isfinished()).map((l",{"_index":21814,"title":{},"body":{"injectables/TaskUC.html":{}}}],["l.id",{"_index":21815,"title":{},"body":{"injectables/TaskUC.html":{}}}],["l.name",{"_index":15440,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["label",{"_index":24631,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["labelnames",{"_index":18776,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["labels",{"_index":18778,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["language",{"_index":1198,"title":{},"body":{"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/ContentMetadata.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{},"classes/MongoPatterns.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDto.html":{},"classes/UserMapper.html":{},"interfaces/UserProperties.html":{},"injectables/UserService.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["language_override",{"_index":5328,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["languagetype",{"_index":4535,"title":{},"body":{"classes/ChangeLanguageParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"interfaces/UserProperties.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["languagetype'})@isenum(languagetype",{"_index":12542,"title":{},"body":{"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{}}}],["languagetype'})@isenum(languagetype)@isoptional",{"_index":12531,"title":{},"body":{"classes/GetH5PContentParams.html":{}}}],["languagetype})@isenum(languagetype",{"_index":4536,"title":{},"body":{"classes/ChangeLanguageParams.html":{}}}],["largely",{"_index":25688,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["larger",{"_index":24877,"title":{},"body":{"license.html":{}}}],["last",{"_index":7959,"title":{},"body":{"classes/CreateContentElementBodyParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/UserInfoResponse.html":{}}}],["lastauthorizationtime",{"_index":14404,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["lastloginsystemchange",{"_index":23139,"title":{},"body":{"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDto.html":{},"classes/UserMapper.html":{},"interfaces/UserProperties.html":{},"classes/UserScope.html":{}}}],["lastloginsystemchangebetweenend",{"_index":20018,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["lastloginsystemchangebetweenstart",{"_index":20017,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["lastloginsystemchangesmallerthan",{"_index":20005,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["lastmodifytimestamp",{"_index":14917,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["lastname",{"_index":701,"title":{},"body":{"interfaces/AccountParams.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/CollectionFilePath.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/ExternalUserDto.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterUserParams.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUserResponse.html":{},"interfaces/IImportUserScope.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/IservMapper.html":{},"interfaces/JsonUser.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"interfaces/NameMatch.html":{},"injectables/OidcProvisioningService.html":{},"classes/PatchMyAccountParams.html":{},"classes/ResolvedUserResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SortImportUserParams.html":{},"classes/SubmissionItemResponseMapper.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["lastname.replace(mongopatterns.regex_mongo_language_pattern_whitelist",{"_index":14153,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["lastnamesearchvalues",{"_index":5320,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserProperties.html":{}}}],["lastpositionlibrariestocheckarray",{"_index":13369,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["lastpositionlibrariestoinstallarray",{"_index":13380,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["lastsuccessfulfullsync",{"_index":14918,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["lastsuccessfulpartialsync",{"_index":14919,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["lastsyncattempt",{"_index":14920,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["lasttriedfailedlogin",{"_index":82,"title":{},"body":{"classes/AbstractAccountService.html":{},"entities/Account.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{}}}],["lastupdatedat",{"_index":3988,"title":{},"body":{"classes/BoardResponseMapper.html":{},"classes/CardResponseMapper.html":{},"classes/ColumnResponseMapper.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/TimestampsResponse.html":{}}}],["lastvaluefrom",{"_index":1055,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/ExternalToolLogoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthAdapterService.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["lastvaluefrom(observable",{"_index":16991,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["lastvaluefrom(this.httpservice.get>(wellknownurl))).data",{"_index":14695,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["later",{"_index":3706,"title":{},"body":{"entities/BoardElement.html":{},"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/TeamNews.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["latest",{"_index":15619,"title":{},"body":{"injectables/LibraryRepo.html":{},"injectables/NewsUc.html":{},"controllers/ToolConfigurationController.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["latest.patchversion",{"_index":15622,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["launch",{"_index":2773,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"modules/ToolModule.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["launch.controller",{"_index":22613,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["launch.controller.ts",{"_index":22814,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["launch.controller.ts:28",{"_index":22823,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["launch.mapper.ts",{"_index":22840,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["launch.mapper.ts:24",{"_index":22846,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["launch.mapper.ts:29",{"_index":22851,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["launch.mapper.ts:34",{"_index":22848,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["launch.mapper.ts:39",{"_index":22854,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["launch.module.ts",{"_index":22876,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["launch.params.ts",{"_index":22881,"title":{},"body":{"classes/ToolLaunchParams.html":{}}}],["launch.params.ts:7",{"_index":22882,"title":{},"body":{"classes/ToolLaunchParams.html":{}}}],["launch.service.ts",{"_index":22897,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launch.service.ts:23",{"_index":22902,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launch.service.ts:39",{"_index":22904,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launch.service.ts:52",{"_index":22906,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launch.service.ts:74",{"_index":22910,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launch.service.ts:87",{"_index":22908,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launch.strategy",{"_index":2772,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["launch.strategy.ts",{"_index":2711,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["launch.uc.ts",{"_index":22935,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["launch.uc.ts:12",{"_index":22937,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["launch.uc.ts:19",{"_index":22939,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["launch/controller/dto/tool",{"_index":22880,"title":{},"body":{"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["launch/controller/tool",{"_index":22612,"title":{},"body":{"modules/ToolApiModule.html":{},"controllers/ToolLaunchController.html":{}}}],["launch/error/missing",{"_index":16367,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["launch/error/parameter",{"_index":17744,"title":{},"body":{"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["launch/error/tool",{"_index":23090,"title":{},"body":{"classes/ToolStatusOutdatedLoggableException.html":{}}}],["launch/mapper/lti",{"_index":15921,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["launch/mapper/tool",{"_index":22839,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["launch/service/auto",{"_index":1999,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{}}}],["launch/service/launch",{"_index":2709,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"interfaces/ToolLaunchStrategy.html":{}}}],["launch/service/lti11",{"_index":15864,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["launch/service/tool",{"_index":22896,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launch/settings",{"_index":25246,"title":{},"body":{"todo.html":{}}}],["launch/tool",{"_index":22875,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["launch/types/authentication",{"_index":1757,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["launch/types/property",{"_index":18072,"title":{},"body":{"classes/PropertyData.html":{}}}],["launch/types/tool",{"_index":22831,"title":{},"body":{"classes/ToolLaunchData.html":{},"classes/ToolLaunchRequest.html":{}}}],["launch/uc",{"_index":22614,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["launch/uc/tool",{"_index":22934,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["launch_presentation_locale",{"_index":8279,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["launch_url",{"_index":5872,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["launchdata",{"_index":22925,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["launchdatatype",{"_index":22849,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["launched",{"_index":22822,"title":{},"body":{"controllers/ToolLaunchController.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolStatusOutdatedLoggableException.html":{}}}],["launching",{"_index":17749,"title":{},"body":{"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["launchrequest",{"_index":22920,"title":{},"body":{"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{}}}],["launchrequestmethod",{"_index":2735,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["launchrequestmethod.get",{"_index":2787,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["launchrequestmethod.post",{"_index":2786,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["law",{"_index":24743,"title":{},"body":{"license.html":{}}}],["laws",{"_index":24722,"title":{},"body":{"license.html":{}}}],["lawsuit",{"_index":25064,"title":{},"body":{"license.html":{}}}],["lax",{"_index":20240,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["layer",{"_index":22954,"title":{},"body":{"injectables/ToolPermissionHelper.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["layered",{"_index":25586,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["layers",{"_index":25229,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["lazily",{"_index":17791,"title":{},"body":{"injectables/PermissionService.html":{}}}],["ldap",{"_index":13599,"title":{},"body":{"interfaces/ICurrentUser.html":{},"modules/ImportUserModule.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"controllers/LoginController.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{},"classes/System.html":{},"interfaces/SystemProps.html":{},"classes/UserMigrationIsNotEnabled.html":{},"todo.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["ldap'})@apiresponse({status",{"_index":15783,"title":{},"body":{"controllers/LoginController.html":{}}}],["ldap_connection_failed",{"_index":15031,"title":{},"body":{"classes/LdapConnectionError.html":{}}}],["ldap_password_encryption_key",{"_index":9844,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["ldap_univention_migration",{"_index":19674,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["ldapactive",{"_index":21097,"title":{},"body":{"classes/SystemDto.html":{},"classes/SystemMapper.html":{}}}],["ldapalreadypersistedexception",{"_index":14887,"title":{"classes/LdapAlreadyPersistedException.html":{}},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["ldapauthorizationbodyparams",{"_index":14900,"title":{"classes/LdapAuthorizationBodyParams.html":{}},"body":{"classes/LdapAuthorizationBodyParams.html":{},"injectables/LdapStrategy.html":{},"controllers/LoginController.html":{}}}],["ldapconfig",{"_index":14907,"title":{"classes/LdapConfig.html":{}},"body":{"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"injectables/LdapService.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/System.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{}}}],["ldapconfig.active",{"_index":14963,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfig.federalstate",{"_index":14965,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfig.lastmodifytimestamp",{"_index":14973,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfig.lastsuccessfulfullsync",{"_index":14969,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfig.lastsuccessfulpartialsync",{"_index":14971,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfig.lastsyncattempt",{"_index":14967,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfig.provider",{"_index":14981,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfig.provideroptions",{"_index":14983,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfig.rootpath",{"_index":14976,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfig.searchuser",{"_index":14978,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfig.searchuserpassword",{"_index":14980,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfig.url",{"_index":14974,"title":{},"body":{"classes/LdapConfigEntity.html":{},"injectables/LdapService.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconfigentity",{"_index":14915,"title":{"classes/LdapConfigEntity.html":{}},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{}}}],["ldapconnectionerror",{"_index":15026,"title":{"classes/LdapConnectionError.html":{}},"body":{"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{}}}],["ldapdn",{"_index":4546,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"injectables/LdapStrategy.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDto.html":{},"classes/UserMapper.html":{},"interfaces/UserProperties.html":{}}}],["ldapencryptionservice",{"_index":5158,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"modules/EncryptionModule.html":{},"interfaces/EncryptionService.html":{}}}],["ldapid",{"_index":13812,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["ldapjs",{"_index":15040,"title":{},"body":{"injectables/LdapService.html":{},"dependencies.html":{}}}],["ldapjs.git",{"_index":24521,"title":{},"body":{"dependencies.html":{}}}],["ldaps:mock.de:389",{"_index":21140,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["ldapschool",{"_index":14274,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["ldapschoolidentifier",{"_index":19651,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["ldapservice",{"_index":1529,"title":{"injectables/LdapService.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{}}}],["ldapservice:connect",{"_index":15058,"title":{},"body":{"injectables/LdapService.html":{}}}],["ldapstrategy",{"_index":1530,"title":{"injectables/LdapStrategy.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/LdapStrategy.html":{}}}],["ldapuniventionmigrationschool",{"_index":19675,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["ldapuser",{"_index":14269,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["ldapuser.roles.map((roleref",{"_index":14276,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["ldapusermigrationexception",{"_index":14890,"title":{"classes/LdapUserMigrationException.html":{}},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["lead",{"_index":4483,"title":{},"body":{"classes/CardSkeletonResponse.html":{},"injectables/LdapStrategy.html":{}}}],["leads",{"_index":21679,"title":{},"body":{"injectables/TaskRepo.html":{},"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["leaf",{"_index":3562,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["lean",{"_index":24530,"title":{},"body":{"dependencies.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["learn",{"_index":25321,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["learner",{"_index":8087,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["learning",{"_index":12423,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GetFwuLearningContentParams.html":{},"interfaces/S3Config-1.html":{}}}],["learningmodules",{"_index":5971,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["learnroom",{"_index":3859,"title":{"interfaces/Learnroom.html":{}},"body":{"modules/BoardModule.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardModelMapper.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"modules/MetaTagExtractorModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/ToolApiModule.html":{},"classes/UsersList.html":{},"modules/VideoConferenceModule.html":{}}}],["learnroom.module",{"_index":15125,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["learnroomapimodule",{"_index":15113,"title":{"modules/LearnroomApiModule.html":{}},"body":{"modules/LearnroomApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["learnroomelement",{"_index":2924,"title":{"interfaces/LearnroomElement.html":{}},"body":{"entities/Board.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["learnroommetadata",{"_index":7492,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"classes/UsersList.html":{}}}],["learnroommodule",{"_index":8974,"title":{"modules/LearnroomModule.html":{}},"body":{"modules/DeletionApiModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/PseudonymModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/VideoConferenceModule.html":{}}}],["learnroomtypes",{"_index":7493,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/DashboardModelMapper.html":{},"classes/MetadataTypeMapper.html":{},"classes/UsersList.html":{}}}],["learnroomtypes.course",{"_index":7563,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/DashboardModelMapper.html":{},"classes/MetadataTypeMapper.html":{},"classes/UsersList.html":{}}}],["leave",{"_index":7082,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{},"todo.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["leaves",{"_index":22205,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["left",{"_index":25504,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["legacy",{"_index":997,"title":{},"body":{"injectables/AccountValidationService.html":{},"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/LdapConfigEntity.html":{},"modules/LoggerModule.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"injectables/VideoConferenceCreateUc.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["legacy/deprecated",{"_index":26054,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["legacy/feathers",{"_index":25386,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["legacy/feathers/mocha",{"_index":25363,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["legacy/nest",{"_index":25273,"title":{},"body":{"todo.html":{}}}],["legacylogger",{"_index":2446,"title":{"injectables/LegacyLogger.html":{}},"body":{"injectables/BaseDORepo.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardUc.html":{},"modules/CacheWrapperModule.html":{},"injectables/CardUc.html":{},"interfaces/CleanOptions.html":{},"injectables/CollaborativeStorageAdapter.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnUc.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DrawingElementAdapterService.html":{},"injectables/DurationLoggingInterceptor.html":{},"modules/EncryptionModule.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"injectables/FwuLearningContentsUc.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapService.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySchoolRepo.html":{},"modules/LoggerModule.html":{},"modules/LtiToolModule.html":{},"interfaces/MigrationOptions.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"controllers/OauthSSOController.html":{},"injectables/PreviewService.html":{},"modules/PseudonymModule.html":{},"modules/RedisModule.html":{},"injectables/RequestLoggingInterceptor.html":{},"interfaces/RetryOptions.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolMigrationService.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"injectables/SymetricKeyEncryptionService.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"injectables/UserLoginMigrationRepo.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["legacyschooldo",{"_index":2070,"title":{"classes/LegacySchoolDo.html":{}},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PseudonymUc.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"injectables/SchoolValidationService.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["legacyschooldofactory",{"_index":15215,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["legacyschoolfactory",{"_index":15207,"title":{"classes/LegacySchoolFactory.html":{}},"body":{"classes/LegacySchoolFactory.html":{}}}],["legacyschoolfactory.define(legacyschooldo",{"_index":15216,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["legacyschoolmodule",{"_index":6018,"title":{"modules/LegacySchoolModule.html":{}},"body":{"modules/CommonToolModule.html":{},"modules/GroupApiModule.html":{},"modules/ImportUserModule.html":{},"modules/LegacySchoolModule.html":{},"modules/OauthModule.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceModule.html":{}}}],["legacyschoolrepo",{"_index":1531,"title":{"injectables/LegacySchoolRepo.html":{}},"body":{"modules/AuthenticationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/ImportUserModule.html":{},"injectables/LdapStrategy.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/SchoolValidationService.html":{}}}],["legacyschoolrule",{"_index":1871,"title":{"injectables/LegacySchoolRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/LegacySchoolRule.html":{},"injectables/RuleManager.html":{}}}],["legacyschoolservice",{"_index":2065,"title":{"injectables/LegacySchoolService.html":{}},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"injectables/IservProvisioningStrategy.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolService.html":{},"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PseudonymUc.html":{},"injectables/SchoolMigrationService.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["legacysystemrepo",{"_index":671,"title":{"injectables/LegacySystemRepo.html":{}},"body":{"modules/AccountModule.html":{},"modules/AuthenticationModule.html":{},"modules/ImportUserModule.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/SystemModule.html":{},"injectables/SystemOidcService.html":{}}}],["legacysystemservice",{"_index":15337,"title":{"injectables/LegacySystemService.html":{}},"body":{"injectables/LegacySystemService.html":{},"injectables/OAuthService.html":{},"injectables/ProvisioningService.html":{},"modules/SystemModule.html":{},"injectables/SystemUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["legal",{"_index":24690,"title":{},"body":{"license.html":{}}}],["legayschoolrule",{"_index":19287,"title":{},"body":{"injectables/RuleManager.html":{}}}],["legend",{"_index":256,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"modules/DatabaseManagementModule.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FeathersModule.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolModule.html":{},"modules/LessonApiModule.html":{},"modules/LessonModule.html":{},"modules/LoggerModule.html":{},"modules/LtiToolModule.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/NewsModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/OauthProviderServiceModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"modules/PseudonymModule.html":{},"modules/RedisModule.html":{},"modules/RegistrationPinModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{}}}],["length",{"_index":3799,"title":{},"body":{"injectables/BoardManagementUc.html":{},"classes/FilesStorageMapper.html":{},"controllers/FwuLearningContentsController.html":{},"classes/GroupUcMapper.html":{},"controllers/H5PEditorController.html":{},"injectables/TldrawWsService.html":{}}}],["lernstore",{"_index":6158,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["lernstore_view",{"_index":19685,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["lesson",{"_index":1936,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"entities/Board.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"interfaces/CopyFileDO.html":{},"classes/DtoCreator.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ITask.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"modules/MetaTagExtractorModule.html":{},"interfaces/ParentInfo.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"classes/ShareTokenDO.html":{},"injectables/ShareTokenUC.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"entities/Task.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["lesson({course",{"_index":26042,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["lesson.contents.foreach((content",{"_index":5737,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["lesson.contents.map((c",{"_index":15564,"title":{},"body":{"injectables/LessonService.html":{}}}],["lesson.course",{"_index":19174,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{},"injectables/TaskRepo.html":{}}}],["lesson.course.name",{"_index":9720,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["lesson.coursegroup",{"_index":21602,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["lesson.coursename",{"_index":19133,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["lesson.createdat",{"_index":9718,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["lesson.entity",{"_index":2927,"title":{},"body":{"entities/Board.html":{},"entities/BoardElement.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"entities/LessonBoardElement.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["lesson.getnumberofdrafttasks",{"_index":9723,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["lesson.getnumberofplannedtasks",{"_index":9725,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["lesson.getnumberofpublishedtasks",{"_index":9721,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["lesson.hidden",{"_index":9717,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{}}}],["lesson.id",{"_index":9716,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["lesson.module",{"_index":15398,"title":{},"body":{"modules/LessonApiModule.html":{}}}],["lesson.name",{"_index":5735,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/DtoCreator.html":{},"injectables/LessonUrlHandler.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["lesson.numberofdrafttasks",{"_index":19131,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["lesson.numberofplannedtasks",{"_index":19132,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["lesson.numberofpublishedtasks",{"_index":19130,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["lesson.response",{"_index":3722,"title":{},"body":{"classes/BoardElementResponse.html":{}}}],["lesson.response.ts",{"_index":3726,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:27",{"_index":3736,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:31",{"_index":3737,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:35",{"_index":3733,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:40",{"_index":3742,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:46",{"_index":3739,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:5",{"_index":3731,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:52",{"_index":3740,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:55",{"_index":3734,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:58",{"_index":3743,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.response.ts:61",{"_index":3735,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["lesson.rule",{"_index":21709,"title":{},"body":{"injectables/TaskRule.html":{}}}],["lesson.tasks.getitems",{"_index":5742,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["lesson.updatedat",{"_index":9719,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["lesson/task",{"_index":20369,"title":{},"body":{"classes/ShareTokenImportBodyParams.html":{}}}],["lessonapimodule",{"_index":15391,"title":{"modules/LessonApiModule.html":{}},"body":{"modules/LessonApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["lessonboardelement",{"_index":2937,"title":{"entities/LessonBoardElement.html":{}},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardRepo.html":{},"entities/LessonBoardElement.html":{}}}],["lessoncontroller",{"_index":15397,"title":{"controllers/LessonController.html":{}},"body":{"modules/LessonApiModule.html":{},"controllers/LessonController.html":{}}}],["lessoncopyapiparams",{"_index":7368,"title":{"classes/LessonCopyApiParams.html":{}},"body":{"classes/CopyMapper.html":{},"classes/LessonCopyApiParams.html":{},"controllers/RoomsController.html":{}}}],["lessoncopyparentparams",{"_index":7370,"title":{},"body":{"classes/CopyMapper.html":{},"injectables/LessonCopyUC.html":{}}}],["lessoncopyservice",{"_index":3253,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/LessonCopyUC.html":{},"modules/LessonModule.html":{},"injectables/ShareTokenUC.html":{}}}],["lessoncopyuc",{"_index":15117,"title":{"injectables/LessonCopyUC.html":{}},"body":{"modules/LearnroomApiModule.html":{},"injectables/LessonCopyUC.html":{},"controllers/RoomsController.html":{}}}],["lessonelement",{"_index":3351,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["lessonelements",{"_index":3964,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["lessonentity",{"_index":2926,"title":{"entities/LessonEntity.html":{}},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"entities/BoardElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/CopyMapper.html":{},"classes/DtoCreator.html":{},"classes/FilesStorageClientMapper.html":{},"interfaces/ITask.html":{},"entities/LessonBoardElement.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsAuthorisationService.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{}}}],["lessonfactory",{"_index":15460,"title":{"classes/LessonFactory.html":{}},"body":{"classes/LessonFactory.html":{}}}],["lessonfactory.define",{"_index":15462,"title":{},"body":{"classes/LessonFactory.html":{}}}],["lessonhidden",{"_index":21283,"title":{},"body":{"entities/Task.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"classes/TaskResponse.html":{},"classes/TaskWithStatusVo.html":{}}}],["lessonid",{"_index":5705,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CopyMapper.html":{},"interfaces/ITask.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"injectables/ShareTokenUC.html":{},"entities/Task.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{}}}],["lessonids",{"_index":21644,"title":{},"body":{"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{}}}],["lessonidsoffinishedcourses",{"_index":21609,"title":{},"body":{"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{}}}],["lessonidsofopencourses",{"_index":21607,"title":{},"body":{"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{}}}],["lessonmetadata",{"_index":9682,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["lessonmodule",{"_index":1907,"title":{"modules/LessonModule.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"modules/DeletionApiModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LessonApiModule.html":{},"modules/LessonModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/TaskApiModule.html":{}}}],["lessonname",{"_index":21282,"title":{},"body":{"entities/Task.html":{},"classes/TaskListResponse.html":{},"interfaces/TaskParent.html":{},"classes/TaskResponse.html":{},"classes/TaskWithStatusVo.html":{}}}],["lessonparent",{"_index":6171,"title":{"interfaces/LessonParent.html":{}},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/UsersList.html":{}}}],["lessonproperties",{"_index":6153,"title":{"interfaces/LessonProperties.html":{}},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["lessonreadpermission",{"_index":15504,"title":{},"body":{"injectables/LessonRule.html":{}}}],["lessonreadpermission(user",{"_index":15514,"title":{},"body":{"injectables/LessonRule.html":{}}}],["lessonrepo",{"_index":15472,"title":{"injectables/LessonRepo.html":{}},"body":{"modules/LessonModule.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{}}}],["lessonrule",{"_index":1872,"title":{"injectables/LessonRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/LessonRule.html":{},"injectables/RuleManager.html":{},"injectables/TaskRule.html":{}}}],["lessons",{"_index":5729,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"controllers/LessonController.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"interfaces/ParentInfo.html":{},"injectables/RoomsAuthorisationService.html":{},"classes/ShareTokenDO.html":{},"classes/SingleColumnBoardResponse.html":{},"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{}}}],["lessons.filter((l",{"_index":21813,"title":{},"body":{"injectables/TaskUC.html":{}}}],["lessons.foreach((lesson",{"_index":5731,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["lessons.map((l",{"_index":21836,"title":{},"body":{"injectables/TaskUC.html":{}}}],["lessons.map((lesson",{"_index":15563,"title":{},"body":{"injectables/LessonService.html":{}}}],["lessonscope",{"_index":15487,"title":{"classes/LessonScope.html":{}},"body":{"injectables/LessonRepo.html":{},"classes/LessonScope.html":{}}}],["lessonservice",{"_index":5690,"title":{"injectables/LessonService.html":{}},"body":{"injectables/CommonCartridgeExportService.html":{},"injectables/LessonCopyUC.html":{},"modules/LessonModule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/RoomsService.html":{},"injectables/ShareTokenService.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{}}}],["lessonuc",{"_index":15395,"title":{"injectables/LessonUC.html":{}},"body":{"modules/LessonApiModule.html":{},"controllers/LessonController.html":{},"injectables/LessonUC.html":{}}}],["lessonurlhandler",{"_index":15576,"title":{"injectables/LessonUrlHandler.html":{}},"body":{"injectables/LessonUrlHandler.html":{},"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagInternalUrlService.html":{}}}],["lessonurlparams",{"_index":15405,"title":{"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{}},"body":{"controllers/LessonController.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"controllers/RoomsController.html":{}}}],["lessonwritepermission",{"_index":15505,"title":{},"body":{"injectables/LessonRule.html":{}}}],["lessonwritepermission(user",{"_index":15516,"title":{},"body":{"injectables/LessonRule.html":{}}}],["letter",{"_index":796,"title":{},"body":{"injectables/AccountRepo.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["letters",{"_index":25840,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["letting",{"_index":24707,"title":{},"body":{"license.html":{}}}],["level",{"_index":3864,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"modules/LoggerModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["levelquery",{"_index":3909,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["levels",{"_index":15746,"title":{},"body":{"modules/LoggerModule.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["lf",{"_index":18672,"title":{},"body":{"classes/ReferencesService.html":{}}}],["liability",{"_index":24986,"title":{},"body":{"license.html":{}}}],["liable",{"_index":24740,"title":{},"body":{"license.html":{}}}],["lib",{"_index":15620,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["lib.patchversion",{"_index":15621,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["lib0",{"_index":22478,"title":{},"body":{"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["libraries",{"_index":1238,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ContentBodyParams.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["libraries/:ubername/:file",{"_index":13185,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["librariesbodyparams",{"_index":1233,"title":{"classes/LibrariesBodyParams.html":{}},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ContentBodyParams.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{}}}],["librariescontenttype",{"_index":13343,"title":{"interfaces/LibrariesContentType.html":{}},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["librariescontenttype.h5p_libraries",{"_index":13367,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["librariestocheck",{"_index":13322,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["librariestocheck.length",{"_index":13368,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["librariestocheck.slice(0",{"_index":13376,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["librariestocheck[lastpositionlibrariestocheckarray].dependentscount",{"_index":13371,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["librariestoinstall",{"_index":13319,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["librariestoinstall.length",{"_index":13379,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["librariesyamlcontent",{"_index":13363,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["library",{"_index":11637,"title":{},"body":{"classes/FileMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"entities/InstalledLibrary.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["libraryadministration",{"_index":13304,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["libraryadministration(this.librarymanager",{"_index":13361,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["libraryfileurlparams",{"_index":13140,"title":{"classes/LibraryFileUrlParams.html":{}},"body":{"controllers/H5PEditorController.html":{},"classes/LibraryFileUrlParams.html":{}}}],["librarymanager",{"_index":13305,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["librarymetadata.addto",{"_index":11686,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.author",{"_index":11688,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.coreapi",{"_index":11690,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.description",{"_index":11691,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.droplibrarycss",{"_index":11693,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.dynamicdependencies",{"_index":11694,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.editordependencies",{"_index":11695,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.embedtypes",{"_index":11696,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.fullscreen",{"_index":11698,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.h",{"_index":11699,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.license",{"_index":11700,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.machinename",{"_index":11677,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.majorversion",{"_index":11678,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.metadatasettings",{"_index":11702,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.minorversion",{"_index":11679,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.patchversion",{"_index":11681,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.preloadedcss",{"_index":11704,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.preloadeddependencies",{"_index":11705,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.preloadedjs",{"_index":11707,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.requiredextensions",{"_index":11710,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.runnable",{"_index":11683,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.state",{"_index":11711,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.title",{"_index":11684,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["librarymetadata.w",{"_index":11708,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["libraryname",{"_index":11625,"title":{"classes/LibraryName.html":{}},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["libraryparameters",{"_index":1242,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ContentBodyParams.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{}}}],["libraryparametersbodyparams",{"_index":1235,"title":{"classes/LibraryParametersBodyParams.html":{}},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ContentBodyParams.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryParametersBodyParams.html":{}}}],["libraryrepo",{"_index":13261,"title":{"injectables/LibraryRepo.html":{}},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/LibraryRepo.html":{}}}],["librarystorage",{"_index":13260,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["librarywishlist",{"_index":13306,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["libs",{"_index":15615,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["libs.length",{"_index":15616,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["libs[0",{"_index":15617,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["license",{"_index":6519,"title":{"license.html":{}},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"classes/Path.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{},"license.html":{},"properties.html":{}}}],["licensed",{"_index":24726,"title":{},"body":{"license.html":{}}}],["licensee",{"_index":24727,"title":{},"body":{"license.html":{}}}],["licensees",{"_index":24729,"title":{},"body":{"license.html":{}}}],["licenseextras",{"_index":6520,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["licenses",{"_index":24668,"title":{},"body":{"license.html":{}}}],["licenseversion",{"_index":6521,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["licensing",{"_index":25042,"title":{},"body":{"license.html":{}}}],["licensors",{"_index":24993,"title":{},"body":{"license.html":{}}}],["likes",{"_index":25850,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["likewise",{"_index":25035,"title":{},"body":{"license.html":{}}}],["limit",{"_index":56,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"controllers/CourseController.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"injectables/DeletionExecutionUc.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"injectables/FilesRepo.html":{},"classes/FilesStorageMapper.html":{},"classes/GroupResponseMapper.html":{},"injectables/HydraOauthUc.html":{},"interfaces/IFindOptions.html":{},"classes/IdentityManagementService.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ListOauthClientsParams.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/OauthProviderService.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"controllers/TaskController.html":{},"classes/TaskListResponse.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"injectables/UserDORepo.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"injectables/UserRepo.html":{},"dependencies.html":{},"license.html":{}}}],["limitation",{"_index":25172,"title":{},"body":{"license.html":{}}}],["limited",{"_index":25161,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["limiting",{"_index":24985,"title":{},"body":{"license.html":{}}}],["line",{"_index":1088,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ConsoleWriterService.html":{},"entities/CourseNews.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ErrorLoggable.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GlobalErrorFilter.html":{},"modules/H5PEditorModule.html":{},"injectables/HydraOauthUc.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/JwtExtractor.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LegacySystemRepo.html":{},"controllers/LoginController.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsUc.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/ReferencesService.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"entities/SchoolNews.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"entities/TeamNews.html":{},"classes/TestBootstrapConsole.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawModule.html":{},"classes/TldrawWs.html":{},"injectables/UserRepo.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["lines",{"_index":18682,"title":{},"body":{"classes/ReferencesService.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["link",{"_index":2369,"title":{},"body":{"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"injectables/ColumnBoardService.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/FeathersRosterService.html":{},"classes/GetMetaTagDataBody.html":{},"modules/ImportUserModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/NextcloudStrategy.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"injectables/UserService.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"license.html":{}}}],["linkcontentbody",{"_index":6448,"title":{"classes/LinkContentBody.html":{}},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["linked",{"_index":24791,"title":{},"body":{"license.html":{}}}],["linkedtool",{"_index":18522,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["linkelement",{"_index":3112,"title":{"classes/LinkElement.html":{}},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["linkelement.description",{"_index":6464,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["linkelement.id",{"_index":18574,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["linkelement.imageurl",{"_index":6474,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["linkelement.title",{"_index":6462,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["linkelement.url",{"_index":6460,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["linkelementcontent",{"_index":15651,"title":{"classes/LinkElementContent.html":{}},"body":{"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{}}}],["linkelementcontentbody",{"_index":9570,"title":{"classes/LinkElementContentBody.html":{}},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["linkelementnode",{"_index":3461,"title":{"entities/LinkElementNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["linkelementnodeprops",{"_index":15659,"title":{"interfaces/LinkElementNodeProps.html":{}},"body":{"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{}}}],["linkelementprops",{"_index":15649,"title":{"interfaces/LinkElementProps.html":{}},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["linkelementresponse",{"_index":4328,"title":{"classes/LinkElementResponse.html":{}},"body":{"controllers/CardController.html":{},"classes/CardResponse.html":{},"controllers/ElementController.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{}}}],["linkelementresponsemapper",{"_index":6383,"title":{"classes/LinkElementResponseMapper.html":{}},"body":{"classes/ContentElementResponseFactory.html":{},"classes/LinkElementResponseMapper.html":{}}}],["linkelementresponsemapper.getinstance",{"_index":6367,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["linkelementresponsemapper.instance",{"_index":15668,"title":{},"body":{"classes/LinkElementResponseMapper.html":{}}}],["linkid",{"_index":8278,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["linter",{"_index":25262,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["liskov",{"_index":25424,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["list",{"_index":374,"title":{},"body":{"controllers/AccountController.html":{},"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"interfaces/CollectionFilePath.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FileDO.html":{},"classes/FileMetadata.html":{},"classes/FileRecordFactory.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"controllers/GroupController.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"entities/InstalledLibrary.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LibraryName.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/NewsListResponse.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthClientBody.html":{},"classes/Path.html":{},"classes/RocketChatUserFactory.html":{},"injectables/S3ClientAdapter.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"controllers/SystemController.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"injectables/TaskRepo.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["list(params",{"_index":19341,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["list.response",{"_index":21209,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["list.response.ts",{"_index":861,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/CardListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/PublicSystemListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/ToolReferenceListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{}}}],["list.response.ts:10",{"_index":4398,"title":{},"body":{"classes/CardListResponse.html":{}}}],["list.response.ts:4",{"_index":4396,"title":{},"body":{"classes/CardListResponse.html":{}}}],["list.response.ts:5",{"_index":865,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{}}}],["list.response.ts:6",{"_index":6677,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/PublicSystemListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/ToolReferenceListResponse.html":{}}}],["list.response.ts:7",{"_index":10914,"title":{},"body":{"classes/ExternalToolSearchListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{}}}],["list_files_of_parent",{"_index":7143,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{}}}],["listconsentsessions",{"_index":17259,"title":{},"body":{"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{}}}],["listconsentsessions(@currentuser",{"_index":17346,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["listconsentsessions(currentuser",{"_index":17279,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["listconsentsessions(user",{"_index":17463,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["listconsentsessions(userid",{"_index":17481,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["listen",{"_index":22534,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["listenercount",{"_index":2306,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["listening",{"_index":1435,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["listfiles",{"_index":7255,"title":{"interfaces/ListFiles.html":{}},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"injectables/TemporaryFileStorage.html":{}}}],["listfiles(user",{"_index":22083,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["listfilesofparent",{"_index":12175,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageProducer.html":{}}}],["listfilesofparent(param",{"_index":12183,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["listfilesofparent(payload",{"_index":12343,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["listfilesofparent:finished",{"_index":12359,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["listfilesofparent:started",{"_index":12357,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["listing",{"_index":22117,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["listoauth2clients",{"_index":17189,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{}}}],["listoauth2clients(currentuser",{"_index":17199,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{}}}],["listoauth2clients(limit",{"_index":17465,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["listoauthclientsparams",{"_index":15672,"title":{"classes/ListOauthClientsParams.html":{}},"body":{"classes/ListOauthClientsParams.html":{},"controllers/OauthProviderController.html":{}}}],["listobjectkeysrecursive",{"_index":19322,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["listobjectkeysrecursive(params",{"_index":19343,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["listobjectsv2command",{"_index":19357,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["listresponse",{"_index":20768,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["lists",{"_index":12056,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"controllers/ToolConfigurationController.html":{}}}],["listsequal",{"_index":2956,"title":{},"body":{"entities/Board.html":{}}}],["literal",{"_index":172,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"classes/AccountFactory.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BoardDoRepo.html":{},"interfaces/CalendarEvent.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"interfaces/ComponentLernstoreProperties.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseRepo.html":{},"interfaces/CreateNews.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestProps-1.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DtoCreator.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GridElement.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/INewsScope.html":{},"classes/ImportUserFactory.html":{},"entities/InstalledLibrary.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"interfaces/JwtConstants.html":{},"classes/LdapConfigEntity.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/LocalStrategy.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OcsResponse.html":{},"classes/PostH5PContentCreateParams.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"classes/RequestInfo.html":{},"interfaces/RocketChatGroupModel.html":{},"classes/RocketChatUserFactory.html":{},"injectables/RoomBoardDTOFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/SubmissionFactory.html":{},"injectables/SubmissionItemService.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"classes/WsSharedDocDo.html":{}}}],["litigation",{"_index":25062,"title":{},"body":{"license.html":{}}}],["load",{"_index":1926,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/BatchDeletionUc.html":{},"interfaces/CollectionFilePath.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/IdentityManagementService.html":{},"injectables/ImportUserRepo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["load/perf",{"_index":25239,"title":{},"body":{"todo.html":{}}}],["load/persist",{"_index":25531,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["loadaccount",{"_index":1689,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/LdapStrategy.html":{}}}],["loadaccount(username",{"_index":1701,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/LdapStrategy.html":{}}}],["loadaccounts",{"_index":14854,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["loadallcollectionsfromdatabase(targetfolder",{"_index":5201,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["loadallcollectionsfromfilesystem(basedir",{"_index":5208,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["loadauthorizableobject",{"_index":18613,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["loadauthorizableobject(objectname",{"_index":18618,"title":{},"body":{"injectables/ReferenceLoader.html":{}}}],["loadcollectionsavailablefromsourceandfilterbycollectionnames",{"_index":5220,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["loaded",{"_index":4394,"title":{},"body":{"classes/CardIdsParams.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/ExternalToolUc.html":{},"classes/IdentityManagementService.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/PermissionService.html":{},"classes/ReferencesService.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"injectables/VideoConferenceRepo.html":{}}}],["loaded.config",{"_index":11058,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["loaded.version",{"_index":11059,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["loadedexternaltool",{"_index":6071,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/SchoolExternalToolValidationService.html":{}}}],["loadedexternaltool.parameters",{"_index":6105,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["loadedexternaltool.version",{"_index":19896,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["loadedoauthclient",{"_index":10957,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["loadedoauthclient.client_id",{"_index":10996,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["loadedpseudonym",{"_index":11332,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["loadedschoolexternaltool",{"_index":7075,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["loadedtool",{"_index":10949,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolValidationService.html":{}}}],["loadedtool.config.clientid",{"_index":11106,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["loadedtool.config.type",{"_index":11102,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["loader",{"_index":1846,"title":{},"body":{"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationReferenceService.html":{},"modules/ToolModule.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["loadfromtxtfile",{"_index":18666,"title":{},"body":{"classes/ReferencesService.html":{}}}],["loadfromtxtfile(filepath",{"_index":18667,"title":{},"body":{"classes/ReferencesService.html":{}}}],["loading",{"_index":22955,"title":{},"body":{"injectables/ToolPermissionHelper.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["loadings",{"_index":22957,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["loads",{"_index":4955,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"interfaces/CollectionFilePath.html":{},"classes/IdentityManagementService.html":{}}}],["loadtoolhierarchy",{"_index":22901,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["loadtoolhierarchy(schoolexternaltoolid",{"_index":22909,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["loadusers",{"_index":14855,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["local",{"_index":1619,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"interfaces/CleanOptions.html":{},"interfaces/H5PContentParentParams.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/ImportUserListResponse.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/KeycloakConsole.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LocalStrategy.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"classes/TestApiClient.html":{},"classes/UpdateMatchParams.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"dependencies.html":{},"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["localauthorizationbodyparams",{"_index":15685,"title":{"classes/LocalAuthorizationBodyParams.html":{}},"body":{"classes/LocalAuthorizationBodyParams.html":{},"controllers/LoginController.html":{}}}],["localcookies",{"_index":7109,"title":{},"body":{"classes/CookiesDto.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{}}}],["localcookies.includes(cookie",{"_index":13562,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localcookies.push(cookie",{"_index":13563,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto",{"_index":13532,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.axiosconfig",{"_index":13555,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.axiosconfig.headers",{"_index":13550,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.cookies",{"_index":13544,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.cookies.hydracookies.join",{"_index":13548,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.cookies.localcookies.join",{"_index":13549,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.currentredirect",{"_index":13556,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.referer",{"_index":13551,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.response",{"_index":13553,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.response.headers",{"_index":13535,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.response.headers.location",{"_index":13534,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localdto.response.headers['set",{"_index":13542,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["localfallback",{"_index":1286,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["localfield",{"_index":23841,"title":{},"body":{"injectables/UserRepo.html":{}}}],["localhost",{"_index":1278,"title":{},"body":{"modules/AntivirusModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["localhost:15672",{"_index":25300,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["localhost:27017\"}]})start",{"_index":25933,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["localhost:3030",{"_index":25337,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["locally",{"_index":12333,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"controllers/LoginController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["localstrategy",{"_index":1532,"title":{"injectables/LocalStrategy.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/LocalStrategy.html":{}}}],["locate",{"_index":25597,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["located",{"_index":25514,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["location",{"_index":5176,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/HydraSsoService.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/PropertyData.html":{},"injectables/SanisResponseMapper.html":{},"classes/ToolLaunchMapper.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["location.startswith('http",{"_index":13536,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["location.startswith(configuration.get('hydra_public_uri",{"_index":13538,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["locationmapping",{"_index":10793,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["locationmapping[customparameterdo.location",{"_index":10900,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["locationmapping[customparameterparam.location",{"_index":10838,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["locations",{"_index":13539,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["lockid",{"_index":11533,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["lodash",{"_index":695,"title":{},"body":{"interfaces/AccountParams.html":{},"injectables/BoardCopyService.html":{},"interfaces/CollectionFilePath.html":{},"injectables/CommonToolValidationService.html":{},"classes/GlobalErrorFilter.html":{},"modules/MongoMemoryDatabaseModule.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserFactory.html":{},"dependencies.html":{}}}],["log",{"_index":4908,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/ErrorLoggable.html":{},"interfaces/ILegacyLogger.html":{},"classes/KeycloakConsole.html":{},"injectables/LegacyLogger.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"todo.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["log(message",{"_index":13648,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{}}}],["log.do",{"_index":9204,"title":{},"body":{"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{}}}],["log.do.ts",{"_index":9139,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["log.do.ts:17",{"_index":9144,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.do.ts:21",{"_index":9145,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.do.ts:25",{"_index":9147,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.do.ts:29",{"_index":9149,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.do.ts:33",{"_index":9151,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.do.ts:37",{"_index":9153,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.do.ts:41",{"_index":9155,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.do.ts:45",{"_index":9157,"title":{},"body":{"classes/DeletionLog.html":{}}}],["log.entity",{"_index":9202,"title":{},"body":{"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{}}}],["log.entity.ts",{"_index":9169,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["log.entity.ts:22",{"_index":9172,"title":{},"body":{"entities/DeletionLogEntity.html":{}}}],["log.entity.ts:25",{"_index":9174,"title":{},"body":{"entities/DeletionLogEntity.html":{}}}],["log.entity.ts:28",{"_index":9173,"title":{},"body":{"entities/DeletionLogEntity.html":{}}}],["log.entity.ts:31",{"_index":9170,"title":{},"body":{"entities/DeletionLogEntity.html":{}}}],["log.entity.ts:34",{"_index":9171,"title":{},"body":{"entities/DeletionLogEntity.html":{}}}],["log.entity.ts:38",{"_index":9176,"title":{},"body":{"entities/DeletionLogEntity.html":{}}}],["log.mapper",{"_index":9231,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["log.mapper.ts",{"_index":9196,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["log.mapper.ts:20",{"_index":9200,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["log.mapper.ts:34",{"_index":9198,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["log.mapper.ts:38",{"_index":9199,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["log.mapper.ts:6",{"_index":9197,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["log.repo.ts",{"_index":9219,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["log.repo.ts:12",{"_index":9229,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["log.repo.ts:16",{"_index":9227,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["log.repo.ts:26",{"_index":9225,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["log.repo.ts:36",{"_index":9223,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["log.repo.ts:9",{"_index":9221,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["log.response.ts",{"_index":9376,"title":{},"body":{"classes/DeletionRequestLogResponse.html":{}}}],["log.response.ts:10",{"_index":9378,"title":{},"body":{"classes/DeletionRequestLogResponse.html":{}}}],["log.response.ts:14",{"_index":9377,"title":{},"body":{"classes/DeletionRequestLogResponse.html":{}}}],["log.response.ts:7",{"_index":9380,"title":{},"body":{"classes/DeletionRequestLogResponse.html":{}}}],["log.service",{"_index":9285,"title":{},"body":{"modules/DeletionModule.html":{}}}],["log.service.ts",{"_index":9242,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["log.service.ts:12",{"_index":9248,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["log.service.ts:32",{"_index":9250,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["log.service.ts:9",{"_index":9246,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["log/response",{"_index":25263,"title":{},"body":{"todo.html":{}}}],["loggabble",{"_index":7006,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["loggabble.ts",{"_index":18840,"title":{},"body":{"classes/RestrictedContextMismatchLoggable.html":{}}}],["loggabble.ts:11",{"_index":18844,"title":{},"body":{"classes/RestrictedContextMismatchLoggable.html":{}}}],["loggabble.ts:6",{"_index":18842,"title":{},"body":{"classes/RestrictedContextMismatchLoggable.html":{}}}],["loggable",{"_index":1422,"title":{"interfaces/Loggable.html":{}},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AxiosErrorLoggable.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenLoggableException.html":{},"classes/GlobalErrorFilter.html":{},"classes/GroupRoleUnknownLoggable.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"injectables/OidcProvisioningService.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"injectables/SanisResponseMapper.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"injectables/SchoolValidationService.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/ValidationErrorLoggableException.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["loggable.exception.ts",{"_index":23548,"title":{},"body":{"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["loggable.exception.ts:13",{"_index":23551,"title":{},"body":{"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["loggable.exception.ts:8",{"_index":23550,"title":{},"body":{"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["loggable.getlogmessage",{"_index":15773,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["loggable.ts",{"_index":1418,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["loggable.ts:10",{"_index":1437,"title":{},"body":{"classes/AppStartLoggable.html":{}}}],["loggable.ts:12",{"_index":18660,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["loggable.ts:13",{"_index":1438,"title":{},"body":{"classes/AppStartLoggable.html":{}}}],["loggable.ts:3",{"_index":10348,"title":{},"body":{"classes/ExternalToolLogoFetchedLoggable.html":{}}}],["loggable.ts:4",{"_index":18658,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["loggable.ts:6",{"_index":10349,"title":{},"body":{"classes/ExternalToolLogoFetchedLoggable.html":{}}}],["loggable/error.loggable",{"_index":12589,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["loggable/news",{"_index":16666,"title":{},"body":{"injectables/NewsUc.html":{}}}],["loggable/preview",{"_index":17873,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{}}}],["loggables",{"_index":13638,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["logged",{"_index":22756,"title":{},"body":{"controllers/ToolController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"classes/VideoConferenceCreateParams.html":{},"index.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["logger",{"_index":2445,"title":{"injectables/Logger.html":{}},"body":{"injectables/BaseDORepo.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardUc.html":{},"modules/CacheWrapperModule.html":{},"injectables/CardUc.html":{},"interfaces/CleanOptions.html":{},"injectables/CollaborativeStorageAdapter.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnUc.html":{},"injectables/ContextExternalToolRepo.html":{},"modules/CoreModule.html":{},"interfaces/CoreModuleConfig.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DrawingElementAdapterService.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"injectables/ErrorLogger.html":{},"modules/ErrorModule.html":{},"injectables/EtherpadService.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"modules/H5PEditorModule.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ILegacyLogger.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/Logger.html":{},"modules/LoggerModule.html":{},"interfaces/MigrationOptions.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"controllers/OauthSSOController.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"modules/RedisModule.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"interfaces/RetryOptions.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolMigrationService.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SymetricKeyEncryptionService.html":{},"modules/TldrawModule.html":{},"modules/TldrawWsModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{},"todo.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["logger.debug",{"_index":18057,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["logger.error(error",{"_index":4235,"title":{},"body":{"modules/CacheWrapperModule.html":{},"modules/RedisModule.html":{}}}],["logger.info",{"_index":18071,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["logger.info(`could",{"_index":25726,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["logger.interface",{"_index":15158,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.interface.ts",{"_index":13637,"title":{},"body":{"interfaces/ILegacyLogger.html":{}}}],["logger.interface.ts:11",{"_index":13647,"title":{},"body":{"interfaces/ILegacyLogger.html":{}}}],["logger.interface.ts:12",{"_index":13649,"title":{},"body":{"interfaces/ILegacyLogger.html":{}}}],["logger.interface.ts:13",{"_index":13644,"title":{},"body":{"interfaces/ILegacyLogger.html":{}}}],["logger.interface.ts:14",{"_index":13651,"title":{},"body":{"interfaces/ILegacyLogger.html":{}}}],["logger.interface.ts:15",{"_index":13641,"title":{},"body":{"interfaces/ILegacyLogger.html":{}}}],["logger.log(msg",{"_index":4238,"title":{},"body":{"modules/CacheWrapperModule.html":{},"modules/RedisModule.html":{}}}],["logger.service",{"_index":15744,"title":{},"body":{"modules/LoggerModule.html":{}}}],["logger.service.ts",{"_index":15137,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:22",{"_index":15141,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:26",{"_index":15147,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:30",{"_index":15152,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:34",{"_index":15144,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:38",{"_index":15146,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:42",{"_index":15145,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:50",{"_index":15149,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:54",{"_index":15143,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.service.ts:58",{"_index":15151,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["logger.setcontext(durationlogginginterceptor.name",{"_index":9753,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["logger.setcontext(redismodule.name",{"_index":18611,"title":{},"body":{"modules/RedisModule.html":{}}}],["logger.setcontext(servermodule.name",{"_index":20247,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["logger.setcontext(servertestmodule.name",{"_index":20255,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["logger.ts",{"_index":9911,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["logger.ts:12",{"_index":9922,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["logger.ts:17",{"_index":9918,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["logger.ts:22",{"_index":9920,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["logger.ts:27",{"_index":9924,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["logger.ts:9",{"_index":9916,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["logger.warn",{"_index":20224,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["logger/interfaces",{"_index":9879,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["logger/types",{"_index":9880,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["loggerconfig",{"_index":7423,"title":{"interfaces/LoggerConfig.html":{}},"body":{"interfaces/CoreModuleConfig.html":{},"interfaces/LoggerConfig.html":{},"modules/LoggerModule.html":{}}}],["loggermodule",{"_index":265,"title":{"modules/LoggerModule.html":{}},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CoreModule.html":{},"modules/DeletionApiModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolModule.html":{},"modules/LessonModule.html":{},"modules/LoggerModule.html":{},"modules/ManagementModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/NewsModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"modules/ProvisioningModule.html":{},"modules/RedisModule.html":{},"modules/RegistrationPinModule.html":{},"modules/S3ClientModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawTestModule.html":{},"modules/ToolApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceModule.html":{}}}],["logging",{"_index":7412,"title":{"additional-documentation/nestjs-application/logging.html":{}},"body":{"modules/CoreModule.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{},"index.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["logging.error",{"_index":18796,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["logging.interceptor.ts",{"_index":9743,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{}}}],["logging.interceptor.ts:10",{"_index":9746,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["logging.interceptor.ts:12",{"_index":18784,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["logging.interceptor.ts:15",{"_index":9750,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["logging.interceptor.ts:9",{"_index":18783,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["logging.utils",{"_index":9928,"title":{},"body":{"injectables/ErrorLogger.html":{},"injectables/Logger.html":{}}}],["loggingutils",{"_index":9927,"title":{"classes/LoggingUtils.html":{}},"body":{"injectables/ErrorLogger.html":{},"classes/GlobalErrorFilter.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{}}}],["loggingutils.createmessagewithcontext(loggable",{"_index":9930,"title":{},"body":{"injectables/ErrorLogger.html":{},"injectables/Logger.html":{}}}],["loggingutils.isinstanceofloggable(error",{"_index":12595,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["logic",{"_index":20699,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["login",{"_index":180,"title":{},"body":{"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"classes/ChallengeParams.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"classes/ConsentResponse.html":{},"interfaces/CreateJwtPayload.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"interfaces/ICurrentUser.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"interfaces/JwtPayload.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LdapStrategy.html":{},"controllers/LoginController.html":{},"classes/LoginResponse-1.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"injectables/OAuthService.html":{},"classes/Oauth2MigrationParams.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"interfaces/OauthCurrentUser.html":{},"modules/OauthModule.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/PageContentDto.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"entities/SchoolEntity.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/StartUserLoginMigrationUc.html":{},"controllers/SystemController.html":{},"classes/TestApiClient.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["login(account",{"_index":1651,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["login.response",{"_index":17153,"title":{},"body":{"classes/OauthLoginResponse.html":{}}}],["login.response.ts",{"_index":17150,"title":{},"body":{"classes/OauthLoginResponse.html":{}}}],["login.response.ts:9",{"_index":17151,"title":{},"body":{"classes/OauthLoginResponse.html":{}}}],["login_block_time",{"_index":312,"title":{},"body":{"interfaces/AccountConfig.html":{},"injectables/AuthenticationService.html":{},"interfaces/ServerConfig.html":{}}}],["login_challenge",{"_index":6263,"title":{},"body":{"classes/ConsentResponse.html":{},"interfaces/ProviderConsentResponse.html":{}}}],["login_hint",{"_index":17548,"title":{},"body":{"classes/OidcContextResponse.html":{},"interfaces/ProviderOidcContext.html":{}}}],["login_required",{"_index":6240,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{}}}],["login_session_id",{"_index":6264,"title":{},"body":{"classes/ConsentResponse.html":{},"interfaces/ProviderConsentResponse.html":{}}}],["loginchallenge",{"_index":6283,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["logincontroller",{"_index":1487,"title":{"controllers/LoginController.html":{}},"body":{"modules/AuthenticationApiModule.html":{},"controllers/LoginController.html":{}}}],["logindto",{"_index":1724,"title":{"classes/LoginDto.html":{}},"body":{"injectables/AuthenticationService.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{}}}],["logindto.accesstoken",{"_index":15851,"title":{},"body":{"classes/LoginResponseMapper.html":{}}}],["loginldap",{"_index":15777,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginldap(@currentuser",{"_index":15804,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginldap(user",{"_index":15780,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginlocal",{"_index":15778,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginlocal(@currentuser",{"_index":15810,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginlocal(user",{"_index":15787,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginname",{"_index":12372,"title":{},"body":{"classes/FilterImportUserParams.html":{},"interfaces/IImportUserScope.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"interfaces/NameMatch.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{}}}],["loginname.replace(mongopatterns.regex_mongo_language_pattern_whitelist",{"_index":14156,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["loginoauth2",{"_index":15779,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginoauth2(user",{"_index":15791,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginpath",{"_index":1614,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["loginrequestbody",{"_index":15819,"title":{"classes/LoginRequestBody.html":{}},"body":{"classes/LoginRequestBody.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{}}}],["loginrequestbody.remember",{"_index":17425,"title":{},"body":{"classes/OauthProviderRequestMapper.html":{}}}],["loginrequestbody.remember_for",{"_index":17426,"title":{},"body":{"classes/OauthProviderRequestMapper.html":{}}}],["loginresponse",{"_index":15784,"title":{"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{}},"body":{"controllers/LoginController.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"classes/OauthLoginResponse.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["loginresponse.challenge",{"_index":17406,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["loginresponse.client.client_id",{"_index":17395,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["loginresponse:5",{"_index":17152,"title":{},"body":{"classes/OauthLoginResponse.html":{}}}],["loginresponsemapper",{"_index":15797,"title":{"classes/LoginResponseMapper.html":{}},"body":{"controllers/LoginController.html":{},"classes/LoginResponseMapper.html":{}}}],["loginresponsemapper.maptologinresponse(logindto",{"_index":15806,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginresponsemapper.maptooauthloginresponse(logindto",{"_index":15813,"title":{},"body":{"controllers/LoginController.html":{}}}],["loginsessionid",{"_index":6286,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["loginuc",{"_index":1485,"title":{"injectables/LoginUc.html":{}},"body":{"modules/AuthenticationApiModule.html":{},"controllers/LoginController.html":{},"injectables/LoginUc.html":{}}}],["loginuseruc",{"_index":25564,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["logmessage",{"_index":1423,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AxiosErrorLoggable.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/GroupRoleUnknownLoggable.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Loggable.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["logmessage.type",{"_index":9885,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["logmessagedata",{"_index":1424,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/NewsMapper.html":{}}}],["logmessagewithcontext",{"_index":15768,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["logo",{"_index":8297,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/Oauth2ToolConfigFactory.html":{},"controllers/ToolController.html":{},"classes/ToolReferenceResponse.html":{}}}],["logo.service",{"_index":11094,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["logo.service.ts",{"_index":10354,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.service.ts:114",{"_index":10365,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.service.ts:26",{"_index":10361,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.service.ts:34",{"_index":10363,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.service.ts:46",{"_index":10375,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.service.ts:61",{"_index":10370,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.service.ts:73",{"_index":10368,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.service.ts:97",{"_index":10372,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logo.ts",{"_index":10333,"title":{},"body":{"classes/ExternalToolLogo.html":{}}}],["logo.ts:2",{"_index":10336,"title":{},"body":{"classes/ExternalToolLogo.html":{}}}],["logo.ts:4",{"_index":10335,"title":{},"body":{"classes/ExternalToolLogo.html":{}}}],["logo_url",{"_index":8099,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{}}}],["logobase64",{"_index":10287,"title":{},"body":{"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolRepoMapper.html":{}}}],["logobinarydata",{"_index":10413,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["logourl",{"_index":6681,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/County.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolCreateParams.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoService.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{}}}],["logout",{"_index":14211,"title":{},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/LoginResponse-1.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{}}}],["logoutendpoint",{"_index":13579,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["logoutflow",{"_index":17411,"title":{},"body":{"injectables/OauthProviderLogoutFlowUc.html":{}}}],["logoutflow(challenge",{"_index":17413,"title":{},"body":{"injectables/OauthProviderLogoutFlowUc.html":{}}}],["logoutflowuc",{"_index":17308,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["logoutresponse",{"_index":17415,"title":{},"body":{"injectables/OauthProviderLogoutFlowUc.html":{}}}],["logouturl",{"_index":2160,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"interfaces/ScopeInfo.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceMapper.html":{}}}],["logoutuser(authtoken",{"_index":1118,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["logs",{"_index":6249,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"todo.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["long",{"_index":6233,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["longer",{"_index":25838,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["look",{"_index":14307,"title":{},"body":{"interfaces/JwtConstants.html":{},"controllers/ShareTokenController.html":{},"injectables/TaskCopyUC.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["looking",{"_index":15681,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["looks",{"_index":25456,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["lookup",{"_index":12020,"title":{},"body":{"interfaces/FileStorageConfig.html":{},"injectables/UserRepo.html":{}}}],["lookup.service",{"_index":680,"title":{},"body":{"modules/AccountModule.html":{},"injectables/AccountServiceDb.html":{}}}],["lookup.service.ts",{"_index":609,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["lookup.service.ts:15",{"_index":635,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["lookup.service.ts:27",{"_index":646,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["lookup.service.ts:44",{"_index":638,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["lookupsharetoken",{"_index":20303,"title":{},"body":{"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{}}}],["lookupsharetoken(currentuser",{"_index":20319,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["lookupsharetoken(userid",{"_index":20485,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["lookuptoken",{"_index":20434,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["lookuptoken(token",{"_index":20443,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["lookuptokenwithparentname",{"_index":20435,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["lookuptokenwithparentname(token",{"_index":20444,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["loop",{"_index":2820,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/HydraOauthUc.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["loss",{"_index":25179,"title":{},"body":{"license.html":{}}}],["losses",{"_index":25182,"title":{},"body":{"license.html":{}}}],["lot",{"_index":25789,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["low",{"_index":25509,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["lower",{"_index":25435,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["lowercase",{"_index":13855,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["lt",{"_index":9458,"title":{},"body":{"classes/DeletionRequestScope.html":{},"injectables/TemporaryFileRepo.html":{},"classes/UserScope.html":{}}}],["lte",{"_index":3912,"title":{},"body":{"injectables/BoardNodeRepo.html":{},"injectables/FilesRepo.html":{},"classes/NewsScope.html":{},"injectables/SchoolYearRepo.html":{},"classes/TaskScope.html":{}}}],["lti",{"_index":5851,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/NextcloudStrategy.html":{}}}],["lti11config",{"_index":10671,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.baseurl",{"_index":10712,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.key",{"_index":10717,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.launch_presentation_locale",{"_index":10722,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.lti_message_type",{"_index":10719,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.privacy_permission",{"_index":10721,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.resource_link_id",{"_index":10720,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.secret",{"_index":10718,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11config.type",{"_index":10711,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["lti11encryptionservice",{"_index":15863,"title":{"injectables/Lti11EncryptionService.html":{}},"body":{"injectables/Lti11EncryptionService.html":{},"modules/ToolLaunchModule.html":{}}}],["lti11toolconfig",{"_index":8251,"title":{"classes/Lti11ToolConfig.html":{}},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolFactory.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/Lti11ToolConfig.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["lti11toolconfig(props.config",{"_index":10096,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["lti11toolconfigcreate",{"_index":10768,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["lti11toolconfigcreateparams",{"_index":10238,"title":{"classes/Lti11ToolConfigCreateParams.html":{}},"body":{"classes/ExternalToolCreateParams.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/Lti11ToolConfigCreateParams.html":{}}}],["lti11toolconfigentity",{"_index":10289,"title":{"classes/Lti11ToolConfigEntity.html":{}},"body":{"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/Lti11ToolConfigEntity.html":{}}}],["lti11toolconfigfactory",{"_index":8272,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["lti11toolconfigfactory.build(customparam",{"_index":8292,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["lti11toolconfigresponse",{"_index":10848,"title":{"classes/Lti11ToolConfigResponse.html":{}},"body":{"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/Lti11ToolConfigResponse.html":{}}}],["lti11toolconfigupdate",{"_index":10772,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["lti11toolconfigupdateparams",{"_index":10770,"title":{"classes/Lti11ToolConfigUpdateParams.html":{}},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["lti11toollaunchstrategy",{"_index":22874,"title":{},"body":{"modules/ToolLaunchModule.html":{},"injectables/ToolLaunchService.html":{}}}],["lti_message_type",{"_index":8100,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["lti_version",{"_index":8101,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{}}}],["ltimessagetype",{"_index":8248,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["ltimessagetype.basic_lti_launch_request",{"_index":8277,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["ltiprivacypermission",{"_index":8094,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["ltiprivacypermission.anonymous",{"_index":8103,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/ExternalToolEntityFactory.html":{},"entities/LtiTool.html":{},"injectables/LtiToolRepo.html":{}}}],["ltiprivacypermission.name",{"_index":15989,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["ltiprivacypermission.pseudonymous",{"_index":8276,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["ltirepo",{"_index":13504,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["ltirole",{"_index":15926,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["ltirole.administrator",{"_index":15931,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["ltirole.instructor",{"_index":15930,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["ltirole.learner",{"_index":15929,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["ltirolemapper",{"_index":15920,"title":{"classes/LtiRoleMapper.html":{}},"body":{"classes/LtiRoleMapper.html":{}}}],["ltiroles",{"_index":15933,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["ltiroles.filter",{"_index":15937,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["ltiroletype",{"_index":8086,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{}}}],["ltiroletype.instructor",{"_index":15990,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["ltiroletype.learner",{"_index":15991,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["ltiroletype})@property({nullable",{"_index":15956,"title":{},"body":{"entities/LtiTool.html":{}}}],["ltitool",{"_index":8098,"title":{"entities/LtiTool.html":{}},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["ltitooldo",{"_index":8164,"title":{"classes/LtiToolDO.html":{}},"body":{"classes/CustomLtiPropertyDO.html":{},"injectables/HydraSsoService.html":{},"injectables/IdTokenService.html":{},"classes/LtiToolDO.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/PseudonymService.html":{}}}],["ltitoolfactory",{"_index":15981,"title":{"classes/LtiToolFactory.html":{}},"body":{"classes/LtiToolFactory.html":{}}}],["ltitoolfactory.define(ltitool",{"_index":15987,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["ltitoolmodule",{"_index":15992,"title":{"modules/LtiToolModule.html":{}},"body":{"modules/LtiToolModule.html":{},"modules/OauthProviderModule.html":{}}}],["ltitoolpromise",{"_index":16808,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["ltitoolrepo",{"_index":5022,"title":{"injectables/LtiToolRepo.html":{}},"body":{"modules/CollaborativeStorageAdapterModule.html":{},"injectables/HydraSsoService.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"injectables/NextcloudStrategy.html":{},"modules/OauthModule.html":{},"modules/ToolApiModule.html":{}}}],["ltitools",{"_index":8097,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["ltitoolservice",{"_index":15996,"title":{"injectables/LtiToolService.html":{}},"body":{"modules/LtiToolModule.html":{},"injectables/LtiToolService.html":{},"injectables/OauthProviderLoginFlowService.html":{}}}],["ltitoolstabenabled",{"_index":13662,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["lumi",{"_index":22118,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["lumieducation/h5p",{"_index":6558,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"entities/H5pEditorTempFile.html":{},"entities/InstalledLibrary.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/LumiUserWithContentData.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileStorage.html":{},"dependencies.html":{}}}],["lumiuserwithcontentdata",{"_index":13070,"title":{"classes/LumiUserWithContentData.html":{}},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["m=256m",{"_index":25925,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["machine",{"_index":11646,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"license.html":{}}}],["machinename",{"_index":1199,"title":{},"body":{"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/Path.html":{}}}],["machinenames",{"_index":11647,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["made",{"_index":11639,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"classes/WsSharedDocDo.html":{},"license.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["magic",{"_index":17372,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["mail",{"_index":1454,"title":{"interfaces/Mail.html":{}},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/CustomLtiProperty.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"classes/LdapConfigEntity.html":{},"entities/LtiTool.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/PlainTextMailContent.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"injectables/UserRepo.html":{},"license.html":{}}}],["mail.interface",{"_index":16087,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["mail.service",{"_index":16073,"title":{},"body":{"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{}}}],["mail.split('@')[1",{"_index":16107,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["mail_service_options",{"_index":16074,"title":{},"body":{"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{}}}],["mailattachment",{"_index":1441,"title":{"interfaces/MailAttachment.html":{}},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["mailconfig",{"_index":16064,"title":{"interfaces/MailConfig.html":{}},"body":{"interfaces/MailConfig.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"interfaces/ServerConfig.html":{}}}],["mailcontent",{"_index":1448,"title":{"interfaces/MailContent.html":{}},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["maildomain",{"_index":16103,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["mailmodule",{"_index":16067,"title":{"modules/MailModule.html":{}},"body":{"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["mailmodule.forroot",{"_index":20215,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["mailmoduleoptions",{"_index":16069,"title":{"interfaces/MailModuleOptions.html":{}},"body":{"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{}}}],["mails",{"_index":16083,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["mailservice",{"_index":16072,"title":{"injectables/MailService.html":{}},"body":{"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["mailserviceoptions",{"_index":16079,"title":{"interfaces/MailServiceOptions.html":{}},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["mailwhitelist",{"_index":16102,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["mailwhitelist.push(mail",{"_index":16106,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["main",{"_index":24635,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["main.ts",{"_index":11405,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["mainlibrary",{"_index":6522,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["mainlibraryubername",{"_index":12538,"title":{},"body":{"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["maintain",{"_index":24912,"title":{},"body":{"license.html":{}}}],["maintainability",{"_index":25409,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["maintenance",{"_index":16360,"title":{},"body":{"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{}}}],["major",{"_index":24780,"title":{},"body":{"license.html":{}}}],["majorversion",{"_index":1200,"title":{},"body":{"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/Path.html":{}}}],["make",{"_index":1831,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"modules/CommonToolModule.html":{},"classes/GlobalValidationPipe.html":{},"classes/ImportUserScope.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/PermissionService.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/UserRepo.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["makes",{"_index":1222,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["making",{"_index":23127,"title":{},"body":{"classes/UpdateNewsParams.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["makse",{"_index":15446,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["manage",{"_index":11748,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["manageclientsconnections",{"_index":24368,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["manageclientsconnections(undefined",{"_index":24377,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["managed",{"_index":15809,"title":{},"body":{"controllers/LoginController.html":{}}}],["managed.'})@apiresponse({status",{"_index":15789,"title":{},"body":{"controllers/LoginController.html":{}}}],["management",{"_index":648,"title":{},"body":{"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"modules/AuthenticationModule.html":{},"interfaces/CleanOptions.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"modules/KeycloakModule.html":{},"injectables/LegacySystemService.html":{},"injectables/LocalStrategy.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"interfaces/ServerConfig.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["management.config",{"_index":13338,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["management.config.ts",{"_index":13614,"title":{},"body":{"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IdentityManagementConfig.html":{}}}],["management.console",{"_index":16114,"title":{},"body":{"modules/ManagementModule.html":{}}}],["management.console.ts",{"_index":3753,"title":{},"body":{"classes/BoardManagementConsole.html":{},"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["management.console.ts:12",{"_index":8770,"title":{},"body":{"classes/DatabaseManagementConsole.html":{}}}],["management.console.ts:14",{"_index":3763,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["management.console.ts:31",{"_index":8774,"title":{},"body":{"classes/DatabaseManagementConsole.html":{}}}],["management.console.ts:58",{"_index":8772,"title":{},"body":{"classes/DatabaseManagementConsole.html":{}}}],["management.console.ts:7",{"_index":3758,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["management.console.ts:72",{"_index":8777,"title":{},"body":{"classes/DatabaseManagementConsole.html":{}}}],["management.controller",{"_index":16117,"title":{},"body":{"modules/ManagementModule.html":{}}}],["management.controller.ts",{"_index":8796,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["management.controller.ts:18",{"_index":8808,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["management.controller.ts:23",{"_index":8805,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["management.controller.ts:28",{"_index":8803,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["management.controller.ts:33",{"_index":8814,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["management.controller.ts:9",{"_index":8811,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["management.integration.spec.ts",{"_index":25904,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["management.module",{"_index":16125,"title":{},"body":{"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/SystemModule.html":{}}}],["management.module.ts",{"_index":8828,"title":{},"body":{"modules/DatabaseManagementModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{}}}],["management.service",{"_index":8829,"title":{},"body":{"modules/DatabaseManagementModule.html":{},"modules/IdentityManagementModule.html":{},"injectables/KeycloakIdentityManagementService.html":{},"modules/KeycloakModule.html":{}}}],["management.service.integration.spec.tsseeding",{"_index":25907,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["management.service.ts",{"_index":8830,"title":{},"body":{"injectables/DatabaseManagementService.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["management.service.ts:10",{"_index":14718,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["management.service.ts:101",{"_index":13799,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:11",{"_index":8854,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:110",{"_index":13315,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["management.service.ts:116",{"_index":13316,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["management.service.ts:130",{"_index":13318,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["management.service.ts:145",{"_index":13320,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["management.service.ts:15",{"_index":8850,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:171",{"_index":14724,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["management.service.ts:18",{"_index":13778,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:187",{"_index":14726,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["management.service.ts:20",{"_index":8851,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:27",{"_index":13801,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:32",{"_index":8847,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:36",{"_index":13803,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:38",{"_index":8839,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:44",{"_index":8848,"title":{},"body":{"injectables/DatabaseManagementService.html":{},"classes/IdentityManagementService.html":{}}}],["management.service.ts:52",{"_index":8841,"title":{},"body":{"injectables/DatabaseManagementService.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/IdentityManagementService.html":{}}}],["management.service.ts:54",{"_index":13327,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["management.service.ts:56",{"_index":13328,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["management.service.ts:58",{"_index":8843,"title":{},"body":{"injectables/DatabaseManagementService.html":{},"injectables/H5PLibraryManagementService.html":{}}}],["management.service.ts:60",{"_index":13312,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"classes/IdentityManagementService.html":{}}}],["management.service.ts:62",{"_index":8845,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:66",{"_index":8852,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:68",{"_index":13790,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:75",{"_index":13791,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:8",{"_index":8837,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["management.service.ts:82",{"_index":13781,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.service.ts:88",{"_index":13324,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["management.service.ts:90",{"_index":13794,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["management.uc",{"_index":3769,"title":{},"body":{"classes/BoardManagementConsole.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/ManagementModule.html":{},"interfaces/Options.html":{},"classes/TestBootstrapConsole.html":{}}}],["management.uc.ts",{"_index":3779,"title":{},"body":{"injectables/BoardManagementUc.html":{},"interfaces/CollectionFilePath.html":{}}}],["management.uc.ts:15",{"_index":3786,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management.uc.ts:18",{"_index":3787,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management.uc.ts:41",{"_index":3791,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management.uc.ts:51",{"_index":3789,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management.uc.ts:62",{"_index":3793,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management.uc.ts:73",{"_index":3798,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management.uc.ts:77",{"_index":3802,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management.uc.ts:81",{"_index":3795,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["management/database",{"_index":8797,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["management/h5p",{"_index":13297,"title":{},"body":{"modules/H5PLibraryManagementModule.html":{}}}],["management/identity",{"_index":13739,"title":{},"body":{"interfaces/IdentityManagementConfig.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"modules/SystemModule.html":{}}}],["management/idm",{"_index":14797,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["management/keycloak",{"_index":4841,"title":{},"body":{"interfaces/CleanOptions.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"modules/ManagementModule.html":{},"interfaces/MigrationOptions.html":{},"classes/OidcIdentityProviderMapper.html":{},"interfaces/RetryOptions.html":{}}}],["management/keycloak/keycloak.module",{"_index":20171,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["management/keycloak/keycloak.module.ts",{"_index":14852,"title":{},"body":{"modules/KeycloakModule.html":{}}}],["management/keycloak/service/keycloak",{"_index":14682,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["management/service/h5p",{"_index":13301,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/LibrariesContentType.html":{}}}],["managementmodule",{"_index":16108,"title":{"modules/ManagementModule.html":{}},"body":{"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{}}}],["managementservermodule",{"_index":16120,"title":{"modules/ManagementServerModule.html":{}},"body":{"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{}}}],["managementservertestmodule",{"_index":16127,"title":{"modules/ManagementServerTestModule.html":{}},"body":{"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{}}}],["manager",{"_index":1986,"title":{},"body":{"injectables/AuthorizationService.html":{},"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["manager.ts",{"_index":19283,"title":{},"body":{"injectables/RuleManager.html":{}}}],["manager.ts:25",{"_index":19288,"title":{},"body":{"injectables/RuleManager.html":{}}}],["manager.ts:61",{"_index":19292,"title":{},"body":{"injectables/RuleManager.html":{}}}],["manager.ts:68",{"_index":19290,"title":{},"body":{"injectables/RuleManager.html":{}}}],["mandatory",{"_index":5365,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/TldrawWs.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"injectables/UserLoginMigrationService.html":{},"additional-documentation/nestjs-application.html":{}}}],["mandatory.loggable.ts",{"_index":23555,"title":{},"body":{"classes/UserLoginMigrationMandatoryLoggable.html":{}}}],["mandatory.loggable.ts:11",{"_index":23557,"title":{},"body":{"classes/UserLoginMigrationMandatoryLoggable.html":{}}}],["mandatory.loggable.ts:4",{"_index":23556,"title":{},"body":{"classes/UserLoginMigrationMandatoryLoggable.html":{}}}],["mandatory.params",{"_index":23476,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["mandatory.params.ts",{"_index":23560,"title":{},"body":{"classes/UserLoginMigrationMandatoryParams.html":{}}}],["mandatory.params.ts:7",{"_index":23561,"title":{},"body":{"classes/UserLoginMigrationMandatoryParams.html":{}}}],["mandatory/optional",{"_index":23457,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"todo.html":{}}}],["mandatorysince",{"_index":23508,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["manifest",{"_index":5815,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["manner",{"_index":25079,"title":{},"body":{"license.html":{}}}],["manual",{"_index":5361,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/FilterImportUserParams.html":{},"interfaces/IImportUserScope.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"interfaces/NameMatch.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["manually",{"_index":25615,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["manufacture",{"_index":9651,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["many",{"_index":15625,"title":{},"body":{"injectables/LibraryRepo.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["manytomany",{"_index":2919,"title":{},"body":{"entities/Board.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{}}}],["manytomany('boardelement",{"_index":2916,"title":{},"body":{"entities/Board.html":{}}}],["manytomany('course",{"_index":8548,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["manytomany('material",{"_index":6176,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["manytomany('user",{"_index":7511,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["manytomany(undefined",{"_index":7458,"title":{},"body":{"entities/Course.html":{},"entities/SchoolEntity.html":{}}}],["manytomany({entity",{"_index":18995,"title":{},"body":{"entities/Role.html":{}}}],["manytoone",{"_index":5670,"title":{},"body":{"entities/ColumnboardBoardElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/LessonBoardElement.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{}}}],["manytoone('columnboardtarget",{"_index":5668,"title":{},"body":{"entities/ColumnboardBoardElement.html":{}}}],["manytoone('course",{"_index":6173,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{}}}],["manytoone('coursegroup",{"_index":6174,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["manytoone('dashboardmodelentity",{"_index":8549,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["manytoone('lessonentity",{"_index":15401,"title":{},"body":{"entities/LessonBoardElement.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["manytoone('task",{"_index":20663,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/TaskBoardElement.html":{}}}],["manytoone('teamentity",{"_index":7854,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["manytoone('user",{"_index":7830,"title":{},"body":{"entities/CourseNews.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{}}}],["manytoone(undefined",{"_index":7720,"title":{},"body":{"entities/CourseGroup.html":{},"classes/ExternalSourceEntity.html":{},"entities/FileEntity.html":{},"entities/GroupEntity.html":{},"classes/GroupUserEntity.html":{},"entities/ImportUser.html":{},"entities/News.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"classes/TeamUserEntity.html":{},"entities/UserLoginMigrationEntity.html":{}}}],["manytoone({nullable",{"_index":10274,"title":{},"body":{"entities/ExternalToolElementNodeEntity.html":{}}}],["map",{"_index":2769,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardNodeRepo.html":{},"injectables/ClassesRepo.html":{},"injectables/CopyHelperService.html":{},"classes/DashboardEntity.html":{},"injectables/DeleteFilesUc.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FilesStorageMapper.html":{},"classes/GridElement.html":{},"classes/H5PContentMapper.html":{},"interfaces/IGridElement.html":{},"classes/MetadataTypeMapper.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"interfaces/ParentInfo.html":{},"injectables/ProvisioningService.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"injectables/ToolLaunchService.html":{},"classes/WsSharedDocDo.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["map((apikey",{"_index":20149,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["map((domain",{"_index":20152,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["map((element",{"_index":7393,"title":{},"body":{"classes/CopyMapper.html":{}}}],["map((elementwithposition",{"_index":8597,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["map((entity",{"_index":21184,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["map((group",{"_index":19622,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["map((groupuser",{"_index":12976,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["map((key",{"_index":19421,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["map((match",{"_index":14164,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["map((o",{"_index":19419,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["map((pattern",{"_index":138,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["map((relation",{"_index":19631,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["map((role",{"_index":23320,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["map((rolename",{"_index":23746,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["map((teacher",{"_index":5770,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["map(async",{"_index":5247,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["map.set(key",{"_index":7360,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["map.set(status.originalentity.id",{"_index":7362,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["map.setifundefined(this.docs",{"_index":22514,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["map[node.id",{"_index":3641,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["map[node.pathofchildren",{"_index":3933,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["map[node.pathofchildren].push(desc",{"_index":3934,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["mapaccountstodto",{"_index":468,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["mapaccountstodto(accounts",{"_index":471,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["mapbasictoolconfigdotoentity",{"_index":10659,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapbasictoolconfigdotoentity(lti11config",{"_index":10669,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapbasictoolconfigdotoresponse",{"_index":10867,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["mapbasictoolconfigdotoresponse(externaltoolconfigdo",{"_index":10872,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["mapbasictoolconfigtodo",{"_index":10660,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapbasictoolconfigtodo(lti11config",{"_index":10672,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapboardelements",{"_index":19086,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mapbodytodto",{"_index":21952,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["mapbodytodto(body",{"_index":21953,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["mapclasstoclassinfodto",{"_index":12957,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["mapclasstoclassinfodto(clazz",{"_index":12960,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["mapcolumnboard",{"_index":19087,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mapcolumnboardelement",{"_index":9652,"title":{},"body":{"classes/DtoCreator.html":{}}}],["mapcolumnboardelement(element",{"_index":9672,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["mapconsentresponse",{"_index":17427,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapconsentresponse(consent",{"_index":17432,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapconsentsessionstoresponse",{"_index":17428,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapconsentsessionstoresponse(session",{"_index":17434,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapcontenttoresource",{"_index":5687,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["mapcontenttoresource(lessonid",{"_index":5702,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["mapcontextexternaltoolrequest",{"_index":6867,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["mapcontextexternaltoolrequest(request",{"_index":6869,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["mapcontextexternaltoolresponse",{"_index":6907,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["mapcontextexternaltoolresponse(contextexternaltool",{"_index":6910,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["mapcontexttypetodotype",{"_index":6796,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["mapcontexttypetodotype(type",{"_index":6813,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["mapcontexttypetoentitytype",{"_index":6797,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["mapcontexttypetoentitytype(type",{"_index":6815,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["mapcopyfilelistresponsetocopyfilesdto",{"_index":12196,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapcopyfilelistresponsetocopyfilesdto(copyfilelistresponse",{"_index":12202,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapcopyfileresponsetocopyfiledto",{"_index":12197,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapcopyfileresponsetocopyfiledto(response",{"_index":12204,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapcourseteacherstocopyrightowners",{"_index":5688,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["mapcourseteacherstocopyrightowners(course",{"_index":5707,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["mapcourseuserstousergroup",{"_index":3396,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["mapcourseuserstousergroup(course",{"_index":3403,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["mapcreateacceptloginrequestbody",{"_index":17423,"title":{},"body":{"classes/OauthProviderRequestMapper.html":{}}}],["mapcreateacceptloginrequestbody(loginrequestbody",{"_index":17424,"title":{},"body":{"classes/OauthProviderRequestMapper.html":{}}}],["mapcreatenewstodomain",{"_index":16510,"title":{},"body":{"classes/NewsMapper.html":{}}}],["mapcreatenewstodomain(params",{"_index":16514,"title":{},"body":{"classes/NewsMapper.html":{}}}],["mapcreaterequest",{"_index":10743,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["mapcreaterequest(externaltoolcreateparams",{"_index":10753,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["mapcurrentusertocreatejwtpayload",{"_index":8048,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["mapcurrentusertocreatejwtpayload(currentuser",{"_index":8053,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["mapcustomparameterdostoentities",{"_index":10661,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparameterdostoentities(customparameters",{"_index":10674,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparameterentrydostoentities",{"_index":10662,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparameterentrydostoentities(entries",{"_index":10677,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparameterentryentitiestodos",{"_index":10663,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparameterentryentitiestodos(entries",{"_index":10680,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparameterstodos",{"_index":10664,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparameterstodos(customparameters",{"_index":10682,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapcustomparametertoresponse",{"_index":10868,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["mapcustomparametertoresponse(customparameters",{"_index":10875,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["mapdashboardtoentity",{"_index":8624,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapdashboardtoentity(modelentity",{"_index":8639,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapdashboardtomodel",{"_index":8625,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapdashboardtomodel(entity",{"_index":8642,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapdomainobjecttoentityproperties",{"_index":10577,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"classes/GroupDomainMapper.html":{},"injectables/PseudonymsRepo.html":{}}}],["mapdomainobjecttoentityproperties(entitydo",{"_index":10594,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["mapdomainobjecttoentityproperties(group",{"_index":12752,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapdomaintoadapter",{"_index":4999,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["mapdomaintoadapter(team",{"_index":5000,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["mapdomaintoresponse",{"_index":25537,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["mapdosortordertoqueryorder",{"_index":11023,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{}}}],["mapdosortordertoqueryorder(sort",{"_index":11024,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{}}}],["mapdotoentityproperties",{"_index":2439,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["mapdotoentityproperties(domainobject",{"_index":20404,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["mapdotoentityproperties(entitydo",{"_index":2458,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["mapdotoprovideroauthclient",{"_index":11010,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["mapdotoprovideroauthclient(name",{"_index":11011,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["mapelementtoentity",{"_index":8626,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapelementtoentity(modelentity",{"_index":8644,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapentitytodo",{"_index":2440,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["mapentitytodo(entity",{"_index":2462,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["mapentitytodomainobject",{"_index":10578,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["mapentitytodomainobject(entity",{"_index":10596,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["mapentitytodomainobjectproperties",{"_index":12747,"title":{},"body":{"classes/GroupDomainMapper.html":{},"classes/SystemDomainMapper.html":{}}}],["mapentitytodomainobjectproperties(entity",{"_index":12755,"title":{},"body":{"classes/GroupDomainMapper.html":{},"classes/SystemDomainMapper.html":{}}}],["mapentitytodto",{"_index":21912,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["mapentitytodto(teamentity",{"_index":21913,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["mapentitytoparenttype",{"_index":12198,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapentitytoparenttype(entity",{"_index":12206,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapexternalgroup",{"_index":19584,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["mapexternalgroup(source",{"_index":19589,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["mapexternalsourceentitytoexternalsource",{"_index":12748,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapexternalsourceentitytoexternalsource(entity",{"_index":12757,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapexternalsourcetoexternalsourceentity",{"_index":12749,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapexternalsourcetoexternalsourceentity(externalsource",{"_index":12759,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapexternaltoolfilterquerytoexternaltoolsearchquery",{"_index":10744,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["mapexternaltoolfilterquerytoexternaltoolsearchquery(params",{"_index":10756,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["mapfilerecordlistresponsetodomainfilesdto",{"_index":12199,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapfilerecordlistresponsetodomainfilesdto(filerecordlistresponse",{"_index":12208,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapfilerecordresponsetofiledto",{"_index":12200,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapfilerecordresponsetofiledto(filerecordresponse",{"_index":12210,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapfilerecordtofilerecordparams",{"_index":12275,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["mapfilerecordtofilerecordparams(filerecord",{"_index":12279,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["mapfootodomain",{"_index":25538,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["mapfromdtotolistresponse",{"_index":21202,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["mapfromdtotolistresponse(systems",{"_index":21205,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["mapfromdtotoresponse",{"_index":21203,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["mapfromdtotoresponse(system",{"_index":21206,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["mapfromentitiestodtos",{"_index":19012,"title":{},"body":{"classes/RoleMapper.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{}}}],["mapfromentitiestodtos(enities",{"_index":19014,"title":{},"body":{"classes/RoleMapper.html":{}}}],["mapfromentitiestodtos(entities",{"_index":21159,"title":{},"body":{"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{}}}],["mapfromentitytodto",{"_index":19013,"title":{},"body":{"classes/RoleMapper.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/UserMapper.html":{}}}],["mapfromentitytodto(entity",{"_index":19017,"title":{},"body":{"classes/RoleMapper.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/UserMapper.html":{}}}],["mapfromoauthconfigdtotoresponse",{"_index":21204,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["mapfromoauthconfigdtotoresponse(oauthconfigdto",{"_index":21207,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["mapfromoauthconfigentitytodto",{"_index":21158,"title":{},"body":{"classes/SystemMapper.html":{}}}],["mapfromoauthconfigentitytodto(oauthconfig",{"_index":21162,"title":{},"body":{"classes/SystemMapper.html":{}}}],["mapfromoidcconfigentitytodto",{"_index":21175,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["mapfromoidcconfigentitytodto(systemid",{"_index":21178,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["mapgridelement",{"_index":8588,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["mapgridelement(data",{"_index":8590,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["mapgridelementtomodel",{"_index":8627,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapgridelementtomodel(elementwithposition",{"_index":8646,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapgrouptoclassinfodto",{"_index":12958,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["mapgrouptoclassinfodto(group",{"_index":12962,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["mapgroupuserentitytogroupuser",{"_index":12750,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapgroupuserentitytogroupuser(entity",{"_index":12761,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapgroupusertogroupuserentity",{"_index":12751,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["mapgroupusertogroupuserentity(groupuser",{"_index":12764,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["maph5perror",{"_index":13286,"title":{},"body":{"classes/H5PErrorMapper.html":{}}}],["maph5perror(error",{"_index":13287,"title":{},"body":{"classes/H5PErrorMapper.html":{}}}],["mapimportuserfilterquerytodomain",{"_index":13980,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["mapimportuserfilterquerytodomain(query",{"_index":13981,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["mapimportusermatchscopetodomain",{"_index":14027,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["mapimportusermatchscopetodomain(match",{"_index":14029,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["mapldapconfigentitytodomainobject",{"_index":21081,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["mapldapconfigentitytodomainobject(ldapconfig",{"_index":21084,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["maplearnroom",{"_index":8589,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["maplearnroom(metadata",{"_index":8592,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["maplesson",{"_index":19088,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["maplessoncopytodomain",{"_index":7365,"title":{},"body":{"classes/CopyMapper.html":{}}}],["maplessoncopytodomain(params",{"_index":7367,"title":{},"body":{"classes/CopyMapper.html":{}}}],["maplessonelement",{"_index":9653,"title":{},"body":{"classes/DtoCreator.html":{}}}],["maplessonelement(element",{"_index":9674,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["maploginresponse",{"_index":17429,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["maploginresponse(providerloginresponse",{"_index":17435,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["maplti11toolconfigdotoentity",{"_index":10665,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["maplti11toolconfigdotoentity(lti11config",{"_index":10686,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["maplti11toolconfigdotoresponse",{"_index":10869,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["maplti11toolconfigdotoresponse(externaltoolconfigdo",{"_index":10877,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["maplti11toolconfigtodo",{"_index":10666,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["maplti11toolconfigtodo(lti11config",{"_index":10688,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapmatchcreatortoresponse",{"_index":14028,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["mapmatchcreatortoresponse(matchcreator",{"_index":14031,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["mapnewsscopetodomain",{"_index":16511,"title":{},"body":{"classes/NewsMapper.html":{}}}],["mapnewsscopetodomain(query",{"_index":16516,"title":{},"body":{"classes/NewsMapper.html":{}}}],["mapoauth2configdotoentity",{"_index":10667,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapoauth2configdotoentity(oauth2config",{"_index":10690,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapoauth2configtodo",{"_index":10668,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapoauth2configtodo(oauth2config",{"_index":10693,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["mapoauth2toolconfigdotoresponse",{"_index":10870,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["mapoauth2toolconfigdotoresponse(externaltoolconfigdo",{"_index":10879,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["mapoauthclientresponse",{"_index":17430,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapoauthclientresponse(oauthclient",{"_index":17437,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapoauthconfigentitytodomainobject",{"_index":21082,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["mapoauthconfigentitytodomainobject(oauthconfig",{"_index":21086,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["mapped",{"_index":4819,"title":{},"body":{"injectables/ClassesRepo.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DtoCreator.html":{},"classes/GroupDomainMapper.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{},"controllers/LoginController.html":{},"controllers/OauthProviderController.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"controllers/RoomsController.html":{},"injectables/SanisResponseMapper.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemResponseMapper.html":{},"injectables/TeamPermissionsMapper.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["mapped.id",{"_index":22786,"title":{},"body":{"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["mappedcolumnboard",{"_index":19135,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedconfig",{"_index":10806,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["mappedcustomparameter",{"_index":10811,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["mappeddata",{"_index":12889,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["mappedelements",{"_index":8693,"title":{},"body":{"injectables/DashboardModelMapper.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["mappedelements.includes(el",{"_index":8697,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mappedentity",{"_index":21191,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["mappedlesson",{"_index":19129,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedlocation",{"_index":22863,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["mappedtask",{"_index":19112,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedtask.availabledate",{"_index":19121,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedtask.coursename",{"_index":19119,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedtask.description",{"_index":19127,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedtask.displaycolor",{"_index":19125,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedtask.duedate",{"_index":19123,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["mappedtools",{"_index":22687,"title":{},"body":{"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{}}}],["mappedtype",{"_index":22865,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["mappedtypes",{"_index":22694,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["mapper",{"_index":675,"title":{},"body":{"modules/AccountModule.html":{},"injectables/AccountServiceDb.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"injectables/ClassesRepo.html":{},"injectables/CollaborativeStorageAdapter.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"controllers/ColumnController.html":{},"injectables/CopyFilesService.html":{},"injectables/DashboardRepo.html":{},"controllers/ElementController.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"controllers/GroupController.html":{},"interfaces/IDashboardRepo.html":{},"injectables/JwtStrategy.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySystemService.html":{},"injectables/LocalStrategy.html":{},"injectables/LoginUc.html":{},"injectables/Oauth2Strategy.html":{},"injectables/PreviewService.html":{},"injectables/RocketChatUserRepo.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{},"controllers/SubmissionController.html":{},"injectables/SystemOidcService.html":{},"controllers/TaskController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"injectables/ToolLaunchService.html":{},"controllers/ToolReferenceController.html":{},"injectables/ToolReferenceService.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["mapper.canmap(element",{"_index":6388,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["mapper.interface",{"_index":6379,"title":{},"body":{"classes/ContentElementResponseFactory.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["mapper.interface.ts",{"_index":2628,"title":{},"body":{"interfaces/BaseResponseMapper.html":{}}}],["mapper.interface.ts:5",{"_index":2633,"title":{},"body":{"interfaces/BaseResponseMapper.html":{}}}],["mapper.interface.ts:7",{"_index":2631,"title":{},"body":{"interfaces/BaseResponseMapper.html":{}}}],["mapper.mapsubmissionitemtoresponse(submissionitem",{"_index":9797,"title":{},"body":{"controllers/ElementController.html":{}}}],["mapper.maptoresponse(submissionitems",{"_index":4033,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["mapper.name",{"_index":14607,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["mapper.ts",{"_index":25536,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["mapper/account",{"_index":977,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["mapper/calendar.mapper",{"_index":4273,"title":{},"body":{"modules/CalendarModule.html":{},"injectables/CalendarService.html":{}}}],["mapper/collaborative",{"_index":4987,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["mapper/course.mapper",{"_index":7586,"title":{},"body":{"controllers/CourseController.html":{}}}],["mapper/dashboard.mapper",{"_index":8357,"title":{},"body":{"controllers/DashboardController.html":{}}}],["mapper/deletion",{"_index":9230,"title":{},"body":{"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{}}}],["mapper/identity",{"_index":14474,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["mapper/import",{"_index":13902,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["mapper/login",{"_index":15798,"title":{},"body":{"controllers/LoginController.html":{}}}],["mapper/news.mapper",{"_index":16460,"title":{},"body":{"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"controllers/TeamNewsController.html":{}}}],["mapper/oauth",{"_index":17180,"title":{},"body":{"modules/OauthProviderApiModule.html":{},"controllers/OauthProviderController.html":{}}}],["mapper/provisioning",{"_index":18129,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["mapper/pseudonym.mapper",{"_index":18192,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["mapper/role.mapper",{"_index":19066,"title":{},"body":{"injectables/RoleService.html":{}}}],["mapper/room",{"_index":15126,"title":{},"body":{"modules/LearnroomApiModule.html":{},"controllers/RoomsController.html":{}}}],["mapper/system",{"_index":21061,"title":{},"body":{"controllers/SystemController.html":{}}}],["mapper/team.mapper",{"_index":5104,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["mapper/token",{"_index":16877,"title":{},"body":{"injectables/OAuthService.html":{}}}],["mapper/tool",{"_index":22646,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["mapper/user",{"_index":13905,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["mapper/user.mapper",{"_index":23921,"title":{},"body":{"injectables/UserService.html":{}}}],["mapper/vc",{"_index":24171,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["mapper/video",{"_index":24058,"title":{},"body":{"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["mapperid",{"_index":14610,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["mappers",{"_index":6364,"title":{},"body":{"classes/ContentElementResponseFactory.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["mapping",{"_index":25512,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["mappseudonymtouserdata",{"_index":11293,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["mappseudonymtouserdata(pseudonym",{"_index":11316,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["mapredirectresponse",{"_index":17431,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapredirectresponse(redirect",{"_index":17438,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["mapreferencetoentity",{"_index":8628,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapreferencetoentity(modelentity",{"_index":8648,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapreferencetomodel",{"_index":8629,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["mapreferencetomodel(reference",{"_index":8650,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["maprequesttobasictoolconfig",{"_index":10745,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttobasictoolconfig(externaltoolconfigparams",{"_index":10759,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttocustomparameterdo",{"_index":10746,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttocustomparameterdo(customparameterparams",{"_index":10763,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttocustomparameterentrydo",{"_index":6868,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["maprequesttocustomparameterentrydo(customparameterparams",{"_index":6872,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["maprequesttolti11toolconfigcreate",{"_index":10747,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttolti11toolconfigcreate(externaltoolconfigparams",{"_index":10766,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttolti11toolconfigupdate",{"_index":10748,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttolti11toolconfigupdate(externaltoolconfigparams",{"_index":10769,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttooauth2toolconfigcreate",{"_index":10749,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttooauth2toolconfigcreate(externaltoolconfigparams",{"_index":10773,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttooauth2toolconfigupdate",{"_index":10750,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprequesttooauth2toolconfigupdate(externaltoolconfigparams",{"_index":10776,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["maprolestoltiroles",{"_index":15923,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["maprolestoltiroles(rolenames",{"_index":15924,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["maprpcerrorresponsetodomainerror",{"_index":9937,"title":{},"body":{"classes/ErrorMapper.html":{},"classes/RpcMessageProducer.html":{}}}],["maprpcerrorresponsetodomainerror(errorobj",{"_index":9938,"title":{},"body":{"classes/ErrorMapper.html":{}}}],["maps",{"_index":5002,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/TeamMapper.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["mapsanisroletorolename",{"_index":19585,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["mapsanisroletorolename(source",{"_index":19590,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["mapscanresultparamstodto",{"_index":11861,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["mapscanresultparamstodto(scanresultparams",{"_index":11864,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["mapschoolexternaltoolrequest",{"_index":19787,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{}}}],["mapschoolexternaltoolrequest(request",{"_index":19788,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{}}}],["mapsearchparamstoquery",{"_index":23564,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["mapsearchparamstoquery(searchparams",{"_index":23566,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["mapsearchresult",{"_index":469,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["mapsearchresult(accountentities",{"_index":473,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{}}}],["mapsortingquerytodomain",{"_index":10751,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/ImportUserMapper.html":{}}}],["mapsortingquerytodomain(sortingquery",{"_index":10780,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/ImportUserMapper.html":{}}}],["mapstringtoparenttype",{"_index":12201,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapstringtoparenttype(input",{"_index":12212,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["mapsubmissioncontenttoresponse",{"_index":6365,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["mapsubmissioncontenttoresponse(element",{"_index":6373,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["mapsubmissionitemtoresponse",{"_index":20832,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["mapsubmissionitemtoresponse(submissionitem",{"_index":20836,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["maptask",{"_index":19089,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["maptaskcopytodomain",{"_index":7366,"title":{},"body":{"classes/CopyMapper.html":{}}}],["maptaskcopytodomain(params",{"_index":7371,"title":{},"body":{"classes/CopyMapper.html":{}}}],["maptaskcreatetodomain",{"_index":21537,"title":{},"body":{"classes/TaskMapper.html":{}}}],["maptaskcreatetodomain(params",{"_index":21539,"title":{},"body":{"classes/TaskMapper.html":{}}}],["maptaskelement",{"_index":9654,"title":{},"body":{"classes/DtoCreator.html":{}}}],["maptaskelement(element",{"_index":9676,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["maptasktowebcontentresource",{"_index":5689,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["maptasktowebcontentresource(task",{"_index":5710,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["maptaskupdatetodomain",{"_index":21538,"title":{},"body":{"classes/TaskMapper.html":{}}}],["maptaskupdatetodomain(params",{"_index":21541,"title":{},"body":{"classes/TaskMapper.html":{}}}],["maptoallowedauthorizationentitytype",{"_index":12276,"title":{},"body":{"classes/FilesStorageMapper.html":{},"classes/H5PContentMapper.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["maptoallowedauthorizationentitytype(type",{"_index":12281,"title":{},"body":{"classes/FilesStorageMapper.html":{},"classes/H5PContentMapper.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["maptoallowemetadatatype",{"_index":16316,"title":{},"body":{"classes/MetadataTypeMapper.html":{}}}],["maptoallowemetadatatype(type",{"_index":16317,"title":{},"body":{"classes/MetadataTypeMapper.html":{}}}],["maptobaseresponse",{"_index":24342,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["maptobaseresponse(from",{"_index":24345,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["maptoboardelement",{"_index":2979,"title":{},"body":{"entities/Board.html":{}}}],["maptoclassinfostolistresponse",{"_index":12877,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["maptoclassinfostolistresponse(classinfos",{"_index":12880,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["maptoclassinfotoresponse",{"_index":12878,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["maptoclassinfotoresponse(classinfo",{"_index":12882,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["maptocontextexternaltoolconfigurationtemplatelistresponse",{"_index":22669,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptocontextexternaltoolconfigurationtemplatelistresponse(toolinfos",{"_index":22674,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptocontextexternaltoolconfigurationtemplateresponse",{"_index":22670,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptocontextexternaltoolconfigurationtemplateresponse(toolinfo",{"_index":22677,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptocustomparameterentryresponse",{"_index":19801,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["maptocustomparameterentryresponse(entries",{"_index":19804,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["maptodo",{"_index":4708,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{},"classes/RocketChatUserMapper.html":{}}}],["maptodo(entity",{"_index":4712,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{},"classes/RocketChatUserMapper.html":{}}}],["maptodomain",{"_index":19031,"title":{},"body":{"classes/RoleNameMapper.html":{},"classes/UserMatchMapper.html":{}}}],["maptodomain(query",{"_index":23734,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["maptodomain(rolename",{"_index":19032,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["maptodos",{"_index":4709,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{}}}],["maptodos(entities",{"_index":4714,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{}}}],["maptodto",{"_index":470,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/CalendarMapper.html":{}}}],["maptodto(account",{"_index":476,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{}}}],["maptodto(event",{"_index":4256,"title":{},"body":{"injectables/CalendarMapper.html":{}}}],["maptoelementdtos",{"_index":9655,"title":{},"body":{"classes/DtoCreator.html":{}}}],["maptoelementdtos(elements",{"_index":9678,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["maptoentities",{"_index":4710,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{}}}],["maptoentities(domainobjects",{"_index":4716,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{}}}],["maptoentity",{"_index":4711,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{},"classes/RocketChatUserMapper.html":{}}}],["maptoentity(domainobject",{"_index":4718,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionRequestMapper.html":{},"classes/RocketChatUserMapper.html":{}}}],["maptoexternalgroupdtos",{"_index":19586,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["maptoexternalgroupdtos(source",{"_index":19592,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["maptoexternalgroupuser",{"_index":19587,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["maptoexternalgroupuser(relation",{"_index":19594,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["maptoexternalschooldto",{"_index":14228,"title":{},"body":{"classes/IservMapper.html":{},"injectables/SanisResponseMapper.html":{}}}],["maptoexternalschooldto(schooldo",{"_index":14230,"title":{},"body":{"classes/IservMapper.html":{}}}],["maptoexternalschooldto(source",{"_index":19596,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["maptoexternaltoolmetadataresponse",{"_index":10441,"title":{},"body":{"classes/ExternalToolMetadataMapper.html":{}}}],["maptoexternaltoolmetadataresponse(externaltoolmetadata",{"_index":10442,"title":{},"body":{"classes/ExternalToolMetadataMapper.html":{}}}],["maptoexternaltoolresponse",{"_index":10871,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["maptoexternaltoolresponse(externaltool",{"_index":10881,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["maptoexternaluserdto",{"_index":14229,"title":{},"body":{"classes/IservMapper.html":{},"injectables/SanisResponseMapper.html":{}}}],["maptoexternaluserdto(source",{"_index":19597,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["maptoexternaluserdto(userdo",{"_index":14233,"title":{},"body":{"classes/IservMapper.html":{}}}],["maptofilerecordlistresponse",{"_index":11862,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["maptofilerecordlistresponse(filerecords",{"_index":11867,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["maptofilerecordresponse",{"_index":11863,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["maptofilerecordresponse(filerecord",{"_index":11869,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["maptogroupresponse",{"_index":12879,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["maptogroupresponse(resolvedgroup",{"_index":12885,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["maptoinforesponse",{"_index":24343,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["maptoinforesponse(from",{"_index":24346,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["maptointernal",{"_index":18155,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["maptointernal(dto",{"_index":18156,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["maptojoinresponse",{"_index":24344,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["maptojoinresponse(from",{"_index":24347,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["maptokenresponsetodto",{"_index":22580,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["maptokenresponsetodto(response",{"_index":22583,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["maptokeycloakidentityprovider",{"_index":17558,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["maptokeycloakidentityprovider(oidcconfig",{"_index":17561,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["maptologinresponse",{"_index":15845,"title":{},"body":{"classes/LoginResponseMapper.html":{}}}],["maptologinresponse(logindto",{"_index":15847,"title":{},"body":{"classes/LoginResponseMapper.html":{}}}],["maptologmessagedata",{"_index":16512,"title":{},"body":{"classes/NewsMapper.html":{}}}],["maptologmessagedata(news",{"_index":16518,"title":{},"body":{"classes/NewsMapper.html":{}}}],["maptometadataresponse",{"_index":7776,"title":{},"body":{"classes/CourseMapper.html":{}}}],["maptometadataresponse(course",{"_index":7777,"title":{},"body":{"classes/CourseMapper.html":{}}}],["maptooauthcurrentuser",{"_index":8049,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["maptooauthcurrentuser(accountid",{"_index":8055,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["maptooauthloginresponse",{"_index":15846,"title":{},"body":{"classes/LoginResponseMapper.html":{}}}],["maptooauthloginresponse(logindto",{"_index":15849,"title":{},"body":{"classes/LoginResponseMapper.html":{}}}],["maptoparameterlocation",{"_index":22841,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptoparameterlocation(location",{"_index":22845,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptoresolvedgroupdto",{"_index":12959,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["maptoresolvedgroupdto(group",{"_index":12967,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["maptoresponse",{"_index":830,"title":{},"body":{"classes/AccountResponseMapper.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BoardResponseMapper.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/CardResponseMapper.html":{},"classes/ColumnResponseMapper.html":{},"classes/ContentElementResponseFactory.html":{},"classes/CopyMapper.html":{},"classes/DashboardMapper.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/ImportUserMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/NewsMapper.html":{},"classes/PseudonymMapper.html":{},"classes/ResolvedUserMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RoleNameMapper.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/TargetInfoMapper.html":{},"classes/TaskMapper.html":{},"classes/TaskStatusMapper.html":{},"classes/ToolStatusResponseMapper.html":{},"classes/UserInfoMapper.html":{},"classes/UserMatchMapper.html":{}}}],["maptoresponse(account",{"_index":832,"title":{},"body":{"classes/AccountResponseMapper.html":{}}}],["maptoresponse(board",{"_index":3980,"title":{},"body":{"classes/BoardResponseMapper.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["maptoresponse(card",{"_index":4423,"title":{},"body":{"classes/CardResponseMapper.html":{}}}],["maptoresponse(column",{"_index":5623,"title":{},"body":{"classes/ColumnResponseMapper.html":{}}}],["maptoresponse(copystatus",{"_index":7375,"title":{},"body":{"classes/CopyMapper.html":{}}}],["maptoresponse(dashboard",{"_index":8594,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["maptoresponse(element",{"_index":2632,"title":{},"body":{"interfaces/BaseResponseMapper.html":{},"classes/ContentElementResponseFactory.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["maptoresponse(importuser",{"_index":13984,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["maptoresponse(news",{"_index":16520,"title":{},"body":{"classes/NewsMapper.html":{}}}],["maptoresponse(pseudonym",{"_index":18208,"title":{},"body":{"classes/PseudonymMapper.html":{}}}],["maptoresponse(rolename",{"_index":19034,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["maptoresponse(schoolinfo",{"_index":19936,"title":{},"body":{"classes/SchoolInfoMapper.html":{}}}],["maptoresponse(sharetoken",{"_index":20426,"title":{},"body":{"classes/ShareTokenResponseMapper.html":{}}}],["maptoresponse(sharetokeninfo",{"_index":20382,"title":{},"body":{"classes/ShareTokenInfoResponseMapper.html":{}}}],["maptoresponse(status",{"_index":4064,"title":{},"body":{"classes/BoardTaskStatusMapper.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"classes/TaskStatusMapper.html":{},"classes/ToolStatusResponseMapper.html":{}}}],["maptoresponse(submissionitems",{"_index":20837,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["maptoresponse(target",{"_index":21252,"title":{},"body":{"classes/TargetInfoMapper.html":{}}}],["maptoresponse(taskwithstatus",{"_index":21544,"title":{},"body":{"classes/TaskMapper.html":{}}}],["maptoresponse(user",{"_index":18808,"title":{},"body":{"classes/ResolvedUserMapper.html":{},"classes/UserInfoMapper.html":{},"classes/UserMatchMapper.html":{}}}],["maptoresponsefromentity",{"_index":831,"title":{},"body":{"classes/AccountResponseMapper.html":{}}}],["maptoresponsefromentity(account",{"_index":834,"title":{},"body":{"classes/AccountResponseMapper.html":{}}}],["maptoschoolexternaltoolconfigurationtemplatelistresponse",{"_index":22671,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptoschoolexternaltoolconfigurationtemplatelistresponse(externaltools",{"_index":22680,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptoschoolexternaltoolconfigurationtemplateresponse",{"_index":22672,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptoschoolexternaltoolconfigurationtemplateresponse(externaltool",{"_index":22682,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptoschoolexternaltoolmetadataresponse",{"_index":19734,"title":{},"body":{"classes/SchoolExternalToolMetadataMapper.html":{}}}],["maptoschoolexternaltoolmetadataresponse(schoolexternaltoolmetadata",{"_index":19735,"title":{},"body":{"classes/SchoolExternalToolMetadataMapper.html":{}}}],["maptoschoolexternaltoolresponse",{"_index":19802,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["maptoschoolexternaltoolresponse(schoolexternaltool",{"_index":19805,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["maptosearchlistresponse",{"_index":19803,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["maptosearchlistresponse(externaltools",{"_index":19807,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["maptosinglefileparams",{"_index":12277,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["maptosinglefileparams(params",{"_index":12285,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["maptostatusresponse",{"_index":20892,"title":{},"body":{"classes/SubmissionMapper.html":{}}}],["maptostatusresponse(submission",{"_index":20893,"title":{},"body":{"classes/SubmissionMapper.html":{}}}],["maptostreamablefile",{"_index":12278,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["maptostreamablefile(fileresponse",{"_index":12287,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["maptotoolconfigtype",{"_index":22842,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptotoolconfigtype(launchdatatype",{"_index":22847,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptotoolcontexttypeslistresponse",{"_index":22673,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptotoolcontexttypeslistresponse(toolcontexttypes",{"_index":22684,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["maptotoollaunchdatatype",{"_index":22843,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptotoollaunchdatatype(configtype",{"_index":22850,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptotoollaunchrequestresponse",{"_index":22844,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptotoollaunchrequestresponse(toollaunchrequest",{"_index":22853,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["maptotoolreference",{"_index":23001,"title":{},"body":{"classes/ToolReferenceMapper.html":{}}}],["maptotoolreference(externaltool",{"_index":23002,"title":{},"body":{"classes/ToolReferenceMapper.html":{}}}],["maptotoolreferenceresponse",{"_index":6908,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["maptotoolreferenceresponse(toolreference",{"_index":6912,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["maptotoolreferenceresponses",{"_index":6909,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["maptotoolreferenceresponses(toolreferences",{"_index":6916,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["mapupdatenewstodomain",{"_index":16513,"title":{},"body":{"classes/NewsMapper.html":{}}}],["mapupdatenewstodomain(params",{"_index":16522,"title":{},"body":{"classes/NewsMapper.html":{}}}],["mapupdaterequest",{"_index":10752,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["mapupdaterequest(externaltoolupdateparams",{"_index":10785,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["mapuserloginmigrationdotoresponse",{"_index":23565,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["mapuserloginmigrationdotoresponse(domainobject",{"_index":23569,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["mapuserstoresponse",{"_index":20833,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["mapuserstoresponse(user",{"_index":20839,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["march",{"_index":25120,"title":{},"body":{"license.html":{}}}],["markdeletionrequestasexecuted",{"_index":9408,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["markdeletionrequestasexecuted(deletionrequestid",{"_index":9419,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["markdeletionrequestasfailed",{"_index":9409,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["markdeletionrequestasfailed(deletionrequestid",{"_index":9421,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["marked",{"_index":8886,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"classes/UserLoginMigrationResponse.html":{},"license.html":{}}}],["markedfordelete",{"_index":11849,"title":{},"body":{"classes/FileRecordFactory.html":{}}}],["markfilesownedbyuserfordeletion",{"_index":12137,"title":{},"body":{"injectables/FilesService.html":{}}}],["markfilesownedbyuserfordeletion(userid",{"_index":12144,"title":{},"body":{"injectables/FilesService.html":{}}}],["markfordelete",{"_index":11811,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["markfordeletion",{"_index":11582,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["marks",{"_index":24998,"title":{},"body":{"license.html":{}}}],["markunmigratedusersasoutdated",{"_index":19956,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["markunmigratedusersasoutdated(userloginmigration",{"_index":19974,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["masks",{"_index":24724,"title":{},"body":{"license.html":{}}}],["master",{"_index":25909,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["match",{"_index":415,"title":{},"body":{"controllers/AccountController.html":{},"classes/ApiValidationErrorResponse.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"interfaces/CollectionFilePath.html":{},"classes/ErrorResponse.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FilesRepo.html":{},"classes/FilterImportUserParams.html":{},"interfaces/IImportUserScope.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMatchMapper.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"injectables/LessonRepo.html":{},"interfaces/NameMatch.html":{},"classes/PatchMyPasswordParams.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"injectables/UserRepo.html":{},"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["match.mapper",{"_index":13906,"title":{},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"classes/UserMatchMapper.html":{}}}],["match.mapper.ts",{"_index":23733,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["match.mapper.ts:21",{"_index":23736,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["match.mapper.ts:9",{"_index":23735,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["match.params.ts",{"_index":23121,"title":{},"body":{"classes/UpdateMatchParams.html":{}}}],["match.params.ts:7",{"_index":23123,"title":{},"body":{"classes/UpdateMatchParams.html":{}}}],["match.response",{"_index":13962,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["match.response.ts",{"_index":23728,"title":{},"body":{"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["match.response.ts:19",{"_index":23756,"title":{},"body":{"classes/UserMatchResponse.html":{}}}],["match.response.ts:22",{"_index":23753,"title":{},"body":{"classes/UserMatchResponse.html":{}}}],["match.response.ts:25",{"_index":23751,"title":{},"body":{"classes/UserMatchResponse.html":{}}}],["match.response.ts:28",{"_index":23752,"title":{},"body":{"classes/UserMatchResponse.html":{}}}],["match.response.ts:35",{"_index":23755,"title":{},"body":{"classes/UserMatchResponse.html":{}}}],["match.response.ts:41",{"_index":23754,"title":{},"body":{"classes/UserMatchResponse.html":{}}}],["match.response.ts:44",{"_index":23729,"title":{},"body":{"classes/UserMatchListResponse.html":{}}}],["match.response.ts:7",{"_index":23750,"title":{},"body":{"classes/UserMatchResponse.html":{}}}],["match_matchedby",{"_index":13820,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["match_userid",{"_index":13827,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/UserRepo.html":{}}}],["matchancestors",{"_index":3926,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["matchancestors(desc",{"_index":3931,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["matchcreator",{"_index":13818,"title":{},"body":{"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMatchMapper.html":{},"interfaces/ImportUserProperties.html":{},"classes/UserMatchMapper.html":{}}}],["matchcreator.auto",{"_index":14043,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["matchcreator.manual",{"_index":14041,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["matchcreatorscope",{"_index":13619,"title":{},"body":{"interfaces/IImportUserScope.html":{},"classes/ImportUserMatchMapper.html":{},"classes/ImportUserScope.html":{},"interfaces/NameMatch.html":{}}}],["matchcreatorscope.auto",{"_index":14035,"title":{},"body":{"classes/ImportUserMatchMapper.html":{},"classes/ImportUserScope.html":{}}}],["matchcreatorscope.manual",{"_index":14037,"title":{},"body":{"classes/ImportUserMatchMapper.html":{},"classes/ImportUserScope.html":{}}}],["matchcreatorscope.none",{"_index":14039,"title":{},"body":{"classes/ImportUserMatchMapper.html":{},"classes/ImportUserScope.html":{}}}],["matched",{"_index":4199,"title":{},"body":{"classes/BusinessError.html":{},"classes/ImportUserFactory.html":{},"injectables/ImportUserRepo.html":{}}}],["matched(matchedby",{"_index":13947,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["matchedby",{"_index":13808,"title":{},"body":{"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{}}}],["matches",{"_index":301,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountSaveDto.html":{},"injectables/CopyHelperService.html":{},"classes/CourseQueryParams.html":{},"classes/FileMetadata.html":{},"classes/GetFwuLearningContentParams.html":{},"interfaces/IImportUserScope.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"interfaces/NameMatch.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/Path.html":{}}}],["matches(object.values(commoncartridgeversion).join",{"_index":7858,"title":{},"body":{"classes/CourseQueryParams.html":{}}}],["matches(passwordpattern",{"_index":305,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountSaveDto.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{}}}],["matches.groups",{"_index":7353,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["matches.length",{"_index":13853,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["matches[1",{"_index":13854,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["matching",{"_index":104,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"modules/AccountApiModule.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"interfaces/AccountConfig.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthCodeFailureLoggableException.html":{},"modules/AuthenticationApiModule.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"modules/AuthorizationModule.html":{},"classes/AuthorizationParams.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"modules/BoardApiModule.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"modules/ClassModule.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"modules/CoreModule.html":{},"interfaces/CoreModuleConfig.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"modules/ErrorModule.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FeathersError.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{},"classes/FileUrlParams.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"modules/GroupModule.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"interfaces/IdentityManagementConfig.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/InterceptorConfig.html":{},"modules/InterceptorModule.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"injectables/JwtAuthGuard.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Learnroom.html":{},"modules/LearnroomApiModule.html":{},"interfaces/LearnroomElement.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/LessonApiModule.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"modules/LessonModule.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"modules/NewsModule.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthApiModule.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"classes/ProvisioningDto.html":{},"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"modules/PseudonymModule.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"modules/RocketChatUserModule.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"modules/RoleModule.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"modules/TaskApiModule.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"modules/TaskModule.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawClientModule.html":{},"interfaces/TldrawConfig.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"interfaces/ToolVersion.html":{},"injectables/ToolVersionService.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"modules/UserApiModule.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"modules/ValidationModule.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"properties.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/api-design.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["matchingparameterentry",{"_index":2763,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["matchingparams",{"_index":11130,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["matchingparams.some((param",{"_index":11177,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["matchsinglerule",{"_index":19284,"title":{},"body":{"injectables/RuleManager.html":{}}}],["matchsinglerule(rules",{"_index":19289,"title":{},"body":{"injectables/RuleManager.html":{}}}],["matchtype",{"_index":14033,"title":{},"body":{"classes/ImportUserMatchMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["matchtype.auto",{"_index":14044,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["matchtype.manual",{"_index":14042,"title":{},"body":{"classes/ImportUserMatchMapper.html":{}}}],["material",{"_index":6150,"title":{"entities/Material.html":{}},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{},"license.html":{}}}],["materialfactory",{"_index":16166,"title":{"classes/MaterialFactory.html":{}},"body":{"classes/MaterialFactory.html":{}}}],["materialfactory.define(material",{"_index":16169,"title":{},"body":{"classes/MaterialFactory.html":{}}}],["materialid",{"_index":6162,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["materialids",{"_index":6177,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["materially",{"_index":24969,"title":{},"body":{"license.html":{}}}],["materialproperties",{"_index":16152,"title":{"interfaces/MaterialProperties.html":{}},"body":{"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["materials",{"_index":6155,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["materials.entity",{"_index":6151,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["materialsrepo",{"_index":16170,"title":{"injectables/MaterialsRepo.html":{}},"body":{"injectables/MaterialsRepo.html":{}}}],["math.ceil(timedifference",{"_index":1746,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["math.floor(index",{"_index":8474,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["math.floor(math.random",{"_index":3833,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["math.round(math.random",{"_index":11855,"title":{},"body":{"classes/FileRecordFactory.html":{}}}],["matter",{"_index":25835,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["max",{"_index":3801,"title":{},"body":{"injectables/BoardManagementUc.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"classes/ListOauthClientsParams.html":{},"classes/PaginationParams.html":{}}}],["max(100",{"_index":17734,"title":{},"body":{"classes/PaginationParams.html":{}}}],["max(500",{"_index":15684,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["max_file_size",{"_index":12005,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["max_redirects",{"_index":13430,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["max_security_check_file_size",{"_index":12006,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["maxage",{"_index":20244,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["maxcount",{"_index":13207,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["maxdelay",{"_index":15052,"title":{},"body":{"injectables/LdapService.html":{}}}],["maxexternaltoollogosizeinbytes",{"_index":10420,"title":{},"body":{"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["maximum",{"_index":892,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"classes/ListOauthClientsParams.html":{},"interfaces/MigrationOptions.html":{},"classes/PaginationParams.html":{},"interfaces/RetryOptions.html":{}}}],["maxkeys",{"_index":7256,"title":{},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{}}}],["maxpagesize",{"_index":4882,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["maxredirects",{"_index":13463,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["maxsubmission",{"_index":21314,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["maxsubmissions",{"_index":4073,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"interfaces/ITask.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusResponse.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{}}}],["maxusers",{"_index":2307,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["maybe",{"_index":10696,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["md",{"_index":25266,"title":{},"body":{"todo.html":{}}}],["mdb",{"_index":22230,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["me(@currentuser",{"_index":23214,"title":{},"body":{"controllers/UserController.html":{}}}],["me(authtoken",{"_index":1110,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["me(currentuser",{"_index":23209,"title":{},"body":{"controllers/UserController.html":{}}}],["me(userid",{"_index":23910,"title":{},"body":{"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["meaning",{"_index":25005,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["meaningful",{"_index":24640,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["means",{"_index":24608,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["measure",{"_index":2888,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"license.html":{}}}],["measures",{"_index":24610,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["mechanism",{"_index":25486,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["medium",{"_index":24848,"title":{},"body":{"license.html":{}}}],["meet",{"_index":24860,"title":{},"body":{"license.html":{}}}],["meeting",{"_index":2299,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{},"injectables/BBBService.html":{}}}],["meeting.config",{"_index":2178,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{}}}],["meeting.config.ts",{"_index":2140,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{}}}],["meeting.config.ts:1",{"_index":2143,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{}}}],["meeting.config.ts:6",{"_index":2144,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{}}}],["meeting_id",{"_index":2295,"title":{},"body":{"interfaces/BBBJoinResponse.html":{}}}],["meetingid",{"_index":2141,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"injectables/BBBService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["meetingname",{"_index":2308,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["meets",{"_index":24769,"title":{},"body":{"license.html":{}}}],["member",{"_index":1092,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"interfaces/CollectionFilePath.html":{},"classes/ErrorLoggable.html":{},"injectables/FeathersAuthProvider.html":{},"interfaces/ICurrentUser.html":{},"classes/JwtExtractor.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"injectables/TeamsRepo.html":{},"injectables/TldrawBoardRepo.html":{},"classes/TldrawWs.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["memberids",{"_index":20705,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["memberids.some((id",{"_index":20710,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["members",{"_index":1147,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/NextcloudStrategy.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/ShareTokenBodyParams.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["memory",{"_index":12473,"title":{},"body":{"modules/FwuLearningContentsTestModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/TldrawWsService.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["memorystore",{"_index":20227,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["mention",{"_index":25858,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["mentioned",{"_index":25458,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["mentor",{"_index":8091,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["menu",{"_index":24767,"title":{},"body":{"license.html":{}}}],["merchantability",{"_index":25162,"title":{},"body":{"license.html":{}}}],["mere",{"_index":24755,"title":{},"body":{"license.html":{}}}],["merge",{"_index":24645,"title":{},"body":{"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["mergeelementintoposition",{"_index":8387,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["mergeelementintoposition(element",{"_index":8419,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["merging",{"_index":25051,"title":{},"body":{"license.html":{}}}],["merlinreference",{"_index":6164,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["message",{"_index":1115,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthorizationError.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"interfaces/BBBBaseResponse.html":{},"injectables/BatchDeletionService.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/DeletionExecutionConsole.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorResponse.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"injectables/FilesStorageConsumer.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/GlobalErrorFilter.html":{},"classes/GroupRoleUnknownLoggable.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/IError.html":{},"interfaces/ILegacyLogger.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConnectionError.html":{},"classes/LdapUserMigrationException.html":{},"injectables/LegacyLogger.html":{},"injectables/LessonCopyUC.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{},"interfaces/Meta.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NewsCrudOperationLoggable.html":{},"interfaces/NextcloudGroups.html":{},"classes/NotFoundLoggableException.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/OcsResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PreviewActionsLoggable.html":{},"injectables/PreviewGeneratorConsumer.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SuccessfulRes.html":{},"injectables/TaskCopyUC.html":{},"injectables/TldrawWsService.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorLoggableException.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/WsSharedDocDo.html":{},"index.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["message.ts",{"_index":13604,"title":{},"body":{"interfaces/IError.html":{},"interfaces/RpcMessage.html":{}}}],["messagehandler",{"_index":22444,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["messagehandler(conn",{"_index":22457,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["messagekey",{"_index":2150,"title":{},"body":{"interfaces/BBBBaseResponse.html":{}}}],["messages",{"_index":25853,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["messagetype",{"_index":22521,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["messagewithcontext",{"_index":15775,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["met",{"_index":24801,"title":{},"body":{"license.html":{}}}],["meta",{"_index":13014,"title":{"interfaces/Meta.html":{}},"body":{"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagExtractorService.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OcsResponse.html":{},"interfaces/SuccessfulRes.html":{},"injectables/TemporaryFileStorage.html":{}}}],["meta_bbb",{"_index":2161,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["metadata",{"_index":131,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"injectables/BoardUrlHandler.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/ContentMetadata.html":{},"injectables/CourseUrlHandler.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"classes/ErrorLoggable.html":{},"injectables/ExternalToolUc.html":{},"classes/FileMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/GlobalValidationPipe.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"entities/InstalledLibrary.html":{},"injectables/LessonUrlHandler.html":{},"classes/LibraryName.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/TaskUrlHandler.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"interfaces/UrlHandler.html":{},"dependencies.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["metadata.a11ytitle",{"_index":6586,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.authorcomments",{"_index":6601,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.authors",{"_index":6595,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.changes",{"_index":6599,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.contenttype",{"_index":6603,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.defaultlanguage",{"_index":6568,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.dynamicdependencies",{"_index":6574,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.editordependencies",{"_index":6576,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.embedtypes",{"_index":6562,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.h",{"_index":6578,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.language",{"_index":6564,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.license",{"_index":6570,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.licenseextras",{"_index":6597,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.licenseversion",{"_index":6588,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.mainlibrary",{"_index":6566,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["metadata.mapper.ts",{"_index":10440,"title":{},"body":{"classes/ExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataMapper.html":{}}}],["metadata.mapper.ts:6",{"_index":10443,"title":{},"body":{"classes/ExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataMapper.html":{}}}],["metadata.metadescription",{"_index":6580,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.metakeywords",{"_index":6582,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.parenttitle",{"_index":4148,"title":{},"body":{"injectables/BoardUrlHandler.html":{}}}],["metadata.parenttype",{"_index":4147,"title":{},"body":{"injectables/BoardUrlHandler.html":{}}}],["metadata.preloadeddependencies",{"_index":6572,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.response.ts",{"_index":7790,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/ExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolMetadataResponse.html":{}}}],["metadata.response.ts:28",{"_index":7806,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:33",{"_index":7809,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:38",{"_index":7807,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:43",{"_index":7805,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:48",{"_index":7808,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:5",{"_index":7803,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:53",{"_index":7810,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:58",{"_index":7804,"title":{},"body":{"classes/CourseMetadataResponse.html":{}}}],["metadata.response.ts:6",{"_index":10449,"title":{},"body":{"classes/ExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolMetadataResponse.html":{}}}],["metadata.response.ts:61",{"_index":7791,"title":{},"body":{"classes/CourseMetadataListResponse.html":{}}}],["metadata.response.ts:9",{"_index":10448,"title":{},"body":{"classes/ExternalToolMetadataResponse.html":{}}}],["metadata.service.ts",{"_index":10453,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{},"injectables/SchoolExternalToolMetadataService.html":{}}}],["metadata.service.ts:10",{"_index":19742,"title":{},"body":{"injectables/SchoolExternalToolMetadataService.html":{}}}],["metadata.service.ts:11",{"_index":10456,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{}}}],["metadata.service.ts:13",{"_index":19744,"title":{},"body":{"injectables/SchoolExternalToolMetadataService.html":{}}}],["metadata.service.ts:17",{"_index":10459,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{}}}],["metadata.source",{"_index":6593,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.title",{"_index":4143,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"classes/ContentMetadata.html":{},"injectables/CourseUrlHandler.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["metadata.ts",{"_index":10428,"title":{},"body":{"classes/ExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadata.html":{}}}],["metadata.ts:4",{"_index":10433,"title":{},"body":{"classes/ExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadata.html":{}}}],["metadata.ts:6",{"_index":10432,"title":{},"body":{"classes/ExternalToolMetadata.html":{}}}],["metadata.type",{"_index":8671,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["metadata.w",{"_index":6584,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.yearfrom",{"_index":6590,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadata.yearto",{"_index":6592,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metadataentitytype",{"_index":16219,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["metadataprops",{"_index":5909,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["metadatas",{"_index":9901,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["metadatas.some",{"_index":9905,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["metadatasettings",{"_index":11656,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["metadatatypemapper",{"_index":16313,"title":{"classes/MetadataTypeMapper.html":{}},"body":{"classes/MetadataTypeMapper.html":{}}}],["metadescription",{"_index":6523,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metakeywords",{"_index":6524,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["metatagextractorapimodule",{"_index":16173,"title":{"modules/MetaTagExtractorApiModule.html":{}},"body":{"modules/MetaTagExtractorApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["metatagextractorconfig",{"_index":16206,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["metatagextractorcontroller",{"_index":16180,"title":{"controllers/MetaTagExtractorController.html":{}},"body":{"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{}}}],["metatagextractormodule",{"_index":16177,"title":{"modules/MetaTagExtractorModule.html":{}},"body":{"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["metatagextractorresponse",{"_index":16191,"title":{"classes/MetaTagExtractorResponse.html":{}},"body":{"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{}}}],["metatagextractorresponse})@apiresponse({status",{"_index":16187,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["metatagextractorservice",{"_index":16202,"title":{"injectables/MetaTagExtractorService.html":{}},"body":{"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{}}}],["metatagextractoruc",{"_index":16178,"title":{"injectables/MetaTagExtractorUc.html":{}},"body":{"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorUc.html":{}}}],["metataginternalurlservice",{"_index":16203,"title":{"injectables/MetaTagInternalUrlService.html":{}},"body":{"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{}}}],["method",{"_index":641,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AuthorizationService.html":{},"injectables/BBBService.html":{},"injectables/BatchDeletionUc.html":{},"injectables/ClassService.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"interfaces/ILegacyLogger.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/LessonCopyUC.html":{},"injectables/Lti11EncryptionService.html":{},"classes/OauthClientBody.html":{},"injectables/PermissionService.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResponseInfo.html":{},"classes/ServerConsole.html":{},"injectables/TemporaryFileStorage.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["method.enum",{"_index":17038,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["methodes",{"_index":26077,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["methodnotallowedexception",{"_index":9561,"title":{},"body":{"classes/DomainObjectFactory.html":{}}}],["methods",{"_index":8,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"controllers/AccountController.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponseMapper.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerTestModule.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"injectables/AuthenticationService.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskStatusMapper.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ConsoleWriterService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ConverterUtil.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomParameterFactory.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadataMapper.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementResponseMapper.html":{},"classes/FileParamBuilder.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordMapper.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileResponseBuilder.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/ILegacyLogger.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElement.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/LtiRoleMapper.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"modules/MailModule.html":{},"injectables/MailService.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsMapper.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfigMissingLoggableException.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"injectables/PermissionService.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"controllers/PseudonymController.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedUserMapper.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementResponseMapper.html":{},"modules/RocketChatModule.html":{},"classes/RocketChatUser.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.html":{},"classes/ServerConsole.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/SortHelper.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionMapper.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoMapper.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamPermissionsMapper.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"controllers/TldrawController.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchMapper.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"interfaces/ToolVersion.html":{},"injectables/ToolVersionService.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"interfaces/UrlHandler.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserAndAccountTestFactory.html":{},"controllers/UserController.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserInfoMapper.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchMapper.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorLoggableException.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/WsSharedDocDo.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["metric",{"_index":18047,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["metrics",{"_index":18044,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["metrics.ts",{"_index":18034,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["metrics.ts:19",{"_index":18037,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["metrics.ts:22",{"_index":18038,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["micro",{"_index":26007,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["microservice",{"_index":25345,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["microservices",{"_index":26070,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["middleware",{"_index":18048,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["middlewareconsumer",{"_index":20183,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["middlewares",{"_index":18045,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["migrate",{"_index":4905,"title":{},"body":{"interfaces/CleanOptions.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakMigrationService.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"injectables/UserLoginMigrationUc.html":{},"dependencies.html":{}}}],["migrate(options",{"_index":4910,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["migrate(skip",{"_index":14657,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["migrate(start",{"_index":14822,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["migrate(userjwt",{"_index":23696,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["migrated",{"_index":16773,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["migratedaccounts",{"_index":14826,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["migratedusers",{"_index":20011,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migratedusers.data.foreach((user",{"_index":20014,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migrateschool",{"_index":19957,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migrateschool(existingschool",{"_index":19976,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migrateuser",{"_index":23764,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migrateuser(currentuserid",{"_index":23768,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migrateuserlogin",{"_index":23416,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migrateuserlogin(jwt",{"_index":23439,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migrating",{"_index":23543,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration",{"_index":52,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"interfaces/CleanOptions.html":{},"modules/ImportUserModule.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/KeycloakConsole.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"injectables/OAuthService.html":{},"modules/OauthModule.html":{},"interfaces/RetryOptions.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"interfaces/ServerConfig.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["migration.controller",{"_index":23409,"title":{},"body":{"modules/UserLoginMigrationApiModule.html":{}}}],["migration.controller.ts",{"_index":23412,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.controller.ts:115",{"_index":23463,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.controller.ts:139",{"_index":23451,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.controller.ts:167",{"_index":23458,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.controller.ts:201",{"_index":23427,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.controller.ts:218",{"_index":23442,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.controller.ts:59",{"_index":23438,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.controller.ts:89",{"_index":23432,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.do.ts",{"_index":23506,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.do.ts:11",{"_index":23513,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.do.ts:13",{"_index":23516,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.do.ts:15",{"_index":23512,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.do.ts:17",{"_index":23511,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.do.ts:5",{"_index":23514,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.do.ts:7",{"_index":23515,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.do.ts:9",{"_index":23517,"title":{},"body":{"classes/UserLoginMigrationDO.html":{}}}],["migration.entity",{"_index":19669,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["migration.entity.ts",{"_index":23530,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.entity.ts:11",{"_index":23537,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.entity.ts:15",{"_index":23538,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.entity.ts:18",{"_index":23540,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.entity.ts:21",{"_index":23535,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.entity.ts:24",{"_index":23539,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.entity.ts:27",{"_index":23533,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.entity.ts:30",{"_index":23534,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["migration.error.ts",{"_index":14889,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["migration.error.ts:11",{"_index":14894,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{}}}],["migration.error.ts:17",{"_index":16364,"title":{},"body":{"classes/MissingSchoolNumberException.html":{}}}],["migration.error.ts:22",{"_index":16365,"title":{},"body":{"classes/MissingSchoolNumberException.html":{}}}],["migration.error.ts:28",{"_index":16323,"title":{},"body":{"classes/MigrationAlreadyActivatedException.html":{}}}],["migration.error.ts:33",{"_index":16324,"title":{},"body":{"classes/MigrationAlreadyActivatedException.html":{}}}],["migration.error.ts:6",{"_index":14892,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{}}}],["migration.loggable",{"_index":14219,"title":{},"body":{"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/SchoolInMigrationLoggableException.html":{}}}],["migration.mapper.ts",{"_index":23563,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["migration.mapper.ts:14",{"_index":23570,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["migration.mapper.ts:6",{"_index":23567,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["migration.module",{"_index":23410,"title":{},"body":{"modules/UserLoginMigrationApiModule.html":{}}}],["migration.module.ts",{"_index":23583,"title":{},"body":{"modules/UserLoginMigrationModule.html":{}}}],["migration.params",{"_index":23472,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration.params.ts",{"_index":16922,"title":{},"body":{"classes/Oauth2MigrationParams.html":{}}}],["migration.params.ts:13",{"_index":16923,"title":{},"body":{"classes/Oauth2MigrationParams.html":{}}}],["migration.params.ts:17",{"_index":16925,"title":{},"body":{"classes/Oauth2MigrationParams.html":{}}}],["migration.params.ts:8",{"_index":16924,"title":{},"body":{"classes/Oauth2MigrationParams.html":{}}}],["migration.repo.ts",{"_index":23587,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["migration.repo.ts:12",{"_index":23588,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["migration.repo.ts:17",{"_index":23592,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["migration.repo.ts:21",{"_index":23589,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["migration.response",{"_index":23630,"title":{},"body":{"classes/UserLoginMigrationSearchListResponse.html":{}}}],["migration.response.ts",{"_index":23609,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.response.ts:10",{"_index":23614,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.response.ts:15",{"_index":23616,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.response.ts:20",{"_index":23613,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.response.ts:25",{"_index":23615,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.response.ts:30",{"_index":23611,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.response.ts:35",{"_index":23610,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.response.ts:5",{"_index":23612,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{}}}],["migration.rule.ts",{"_index":23626,"title":{},"body":{"injectables/UserLoginMigrationRule.html":{}}}],["migration.rule.ts:11",{"_index":23629,"title":{},"body":{"injectables/UserLoginMigrationRule.html":{}}}],["migration.rule.ts:17",{"_index":23628,"title":{},"body":{"injectables/UserLoginMigrationRule.html":{}}}],["migration.rule.ts:8",{"_index":23627,"title":{},"body":{"injectables/UserLoginMigrationRule.html":{}}}],["migration.service",{"_index":14480,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/UserLoginMigrationRevertService.html":{}}}],["migration.service.ts",{"_index":14817,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["migration.service.ts:105",{"_index":23654,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:11",{"_index":23765,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migration.service.ts:112",{"_index":23644,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:119",{"_index":19982,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:134",{"_index":23648,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:139",{"_index":19973,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:14",{"_index":19960,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:142",{"_index":23650,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:148",{"_index":23652,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:16",{"_index":23639,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:168",{"_index":23646,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:18",{"_index":14823,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["migration.service.ts:23",{"_index":19977,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:24",{"_index":23659,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:34",{"_index":23767,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migration.service.ts:37",{"_index":23656,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:39",{"_index":19965,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:48",{"_index":14821,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["migration.service.ts:49",{"_index":23772,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["migration.service.ts:52",{"_index":19979,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:62",{"_index":19967,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:73",{"_index":23642,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["migration.service.ts:81",{"_index":19963,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:9",{"_index":14819,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["migration.service.ts:90",{"_index":19970,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration.service.ts:96",{"_index":19975,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["migration.uc.ts",{"_index":4925,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["migration.uc.ts:11",{"_index":4931,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{}}}],["migration.uc.ts:13",{"_index":22565,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{}}}],["migration.uc.ts:17",{"_index":20580,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["migration.uc.ts:19",{"_index":4933,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{}}}],["migration.uc.ts:21",{"_index":18832,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{}}}],["migration.uc.ts:23",{"_index":23691,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["migration.uc.ts:27",{"_index":20584,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["migration.uc.ts:35",{"_index":23695,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["migration.uc.ts:39",{"_index":22566,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{}}}],["migration.uc.ts:45",{"_index":20582,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["migration.uc.ts:55",{"_index":23693,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["migration.uc.ts:73",{"_index":23697,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["migration/controller/dto/oauth2",{"_index":16921,"title":{},"body":{"classes/Oauth2MigrationParams.html":{}}}],["migration/controller/dto/request/school",{"_index":19919,"title":{},"body":{"classes/SchoolIdParams.html":{}}}],["migration/controller/dto/request/user",{"_index":23559,"title":{},"body":{"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationSearchParams.html":{}}}],["migration/controller/dto/response/user",{"_index":23608,"title":{},"body":{"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{}}}],["migration/controller/user",{"_index":23411,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migration/loggable/debug/school",{"_index":20021,"title":{},"body":{"classes/SchoolMigrationSuccessfulLoggable.html":{}}}],["migration/loggable/debug/user",{"_index":23782,"title":{},"body":{"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["migration/loggable/external",{"_index":10041,"title":{},"body":{"classes/ExternalSchoolNumberMissingLoggableException.html":{}}}],["migration/loggable/invalid",{"_index":14218,"title":{},"body":{"classes/InvalidUserLoginMigrationLoggableException.html":{}}}],["migration/loggable/school",{"_index":19945,"title":{},"body":{"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{}}}],["migration/loggable/user",{"_index":23397,"title":{},"body":{"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{}}}],["migration/mapper/user",{"_index":23562,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["migration/service/dto/migration.dto.ts",{"_index":16349,"title":{},"body":{"classes/MigrationDto.html":{}}}],["migration/service/dto/migration.dto.ts:2",{"_index":16351,"title":{},"body":{"classes/MigrationDto.html":{}}}],["migration/service/dto/page",{"_index":17721,"title":{},"body":{"classes/PageContentDto.html":{}}}],["migration/service/migration",{"_index":16326,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["migration/service/school",{"_index":19951,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["migration/service/user",{"_index":23617,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["migration/uc/close",{"_index":4924,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{}}}],["migration/uc/dto/user",{"_index":23585,"title":{},"body":{"interfaces/UserLoginMigrationQuery.html":{}}}],["migration/uc/restart",{"_index":18829,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{}}}],["migration/uc/start",{"_index":20577,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["migration/uc/toggle",{"_index":22563,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{}}}],["migration/uc/user",{"_index":23689,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["migration/user",{"_index":20206,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{}}}],["migrationalreadyactivatedexception",{"_index":14899,"title":{"classes/MigrationAlreadyActivatedException.html":{}},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["migrationcheckservice",{"_index":16325,"title":{"injectables/MigrationCheckService.html":{}},"body":{"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"modules/UserLoginMigrationModule.html":{}}}],["migrationdto",{"_index":16348,"title":{"classes/MigrationDto.html":{}},"body":{"classes/MigrationDto.html":{},"controllers/UserLoginMigrationController.html":{}}}],["migrationmaybecompleted",{"_index":16354,"title":{"classes/MigrationMayBeCompleted.html":{}},"body":{"classes/MigrationMayBeCompleted.html":{}}}],["migrationmaynotbecompleted",{"_index":16362,"title":{"classes/MigrationMayNotBeCompleted.html":{}},"body":{"classes/MigrationMayNotBeCompleted.html":{}}}],["migrationoptions",{"_index":4855,"title":{"interfaces/MigrationOptions.html":{}},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["migrationpage",{"_index":23479,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migrationpage.data.map",{"_index":23482,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migrationpage.total",{"_index":23484,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migrationresponse",{"_index":23490,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migrationresponses",{"_index":23481,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["migrations",{"_index":23413,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"entities/UserLoginMigrationEntity.html":{}}}],["mikro",{"_index":96,"title":{},"body":{"classes/AbstractAccountService.html":{},"entities/Account.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"injectables/AuthorizationHelper.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/BaseRepo.html":{},"classes/BasicToolConfigEntity.html":{},"entities/Board.html":{},"injectables/BoardDoRepo.html":{},"entities/BoardElement.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CollectionFilePath.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"entities/ColumnNode.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProperties.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntryEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"injectables/DatabaseManagementService.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"classes/DoBaseFactory.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/EntityWithSchool.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalToolConfigEntity.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/ExternalToolEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/FeathersAuthProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"injectables/FilesRepo.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"modules/H5PEditorModule.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfigEntity.html":{},"injectables/LegacySchoolRepo.html":{},"entities/LessonBoardElement.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"classes/LibraryName.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/LtiTool.html":{},"injectables/LtiToolRepo.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"injectables/RegistrationPinRepo.html":{},"interfaces/RelatedResourceProperties.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"injectables/SchoolExternalToolRepo.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"classes/Scope.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"entities/Submission.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"injectables/SystemRepo.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"entities/User.html":{},"injectables/UserDORepo.html":{},"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{},"injectables/VideoConferenceRepo.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["mikroorm",{"_index":8776,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"injectables/DatabaseManagementService.html":{},"injectables/FilesStorageConsumer.html":{},"modules/MongoMemoryDatabaseModule.html":{},"interfaces/Options.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["mikroorm/asynclocalstorage",{"_index":25260,"title":{},"body":{"todo.html":{}}}],["mikroormmodule",{"_index":1014,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["mikroormmodule.forroot",{"_index":1040,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["mikroormmodule.forrootasync",{"_index":16390,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["mikroormmoduleasyncoptions",{"_index":16385,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["mikroormmodulesyncoptions",{"_index":12319,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["mikroservice",{"_index":25511,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["milliseconds",{"_index":9299,"title":{},"body":{"classes/DeletionQueueConsole.html":{},"injectables/SchoolMigrationService.html":{}}}],["mime",{"_index":11792,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"classes/ReadableStreamWithFileTypeImp.html":{}}}],["mimetype",{"_index":1444,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/FileDO.html":{},"classes/FileDto.html":{},"classes/FileDtoBuilder.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/GetFile.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/ListFiles.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/ParentInfo.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"interfaces/S3Config.html":{}}}],["min",{"_index":3745,"title":{},"body":{"classes/BoardLessonResponse.html":{},"injectables/BoardManagementUc.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/DeletionExecutionParams.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/ListOauthClientsParams.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/PaginationParams.html":{}}}],["min(0",{"_index":3750,"title":{},"body":{"classes/BoardLessonResponse.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/ListOauthClientsParams.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/PaginationParams.html":{}}}],["min(1",{"_index":9098,"title":{},"body":{"classes/DeletionExecutionParams.html":{},"classes/PaginationParams.html":{}}}],["mind",{"_index":25983,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["minimum",{"_index":891,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"classes/DeletionExecutionParams.html":{},"classes/ListOauthClientsParams.html":{},"classes/PaginationParams.html":{},"classes/ShareTokenBodyParams.html":{}}}],["minio",{"_index":25293,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["minio_root_password=miniouser",{"_index":25307,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["minio_root_user=`miniouser",{"_index":25306,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["minios3storage",{"_index":25303,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["minorversion",{"_index":1201,"title":{},"body":{"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/Path.html":{}}}],["minus",{"_index":16406,"title":{},"body":{"classes/MongoPatterns.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["minutes",{"_index":2875,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"classes/DeletionQueueConsole.html":{}}}],["minutes_of_30_days",{"_index":9328,"title":{},"body":{"classes/DeletionRequestBodyProps.html":{}}}],["minwidth",{"_index":16240,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["mismatch",{"_index":7005,"title":{},"body":{"injectables/ContextExternalToolService.html":{},"classes/RestrictedContextMismatchLoggable.html":{}}}],["mismatch.loggable",{"_index":20033,"title":{},"body":{"classes/SchoolNumberMismatchLoggableException.html":{}}}],["misrepresentation",{"_index":24991,"title":{},"body":{"license.html":{}}}],["missed",{"_index":8001,"title":{},"body":{"interfaces/CreateJwtPayload.html":{},"interfaces/JwtPayload.html":{}}}],["missing",{"_index":983,"title":{},"body":{"injectables/AccountValidationService.html":{},"injectables/ClassService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/NextcloudStrategy.html":{},"classes/OauthConfigMissingLoggableException.html":{},"injectables/PseudonymService.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["missing.loggable",{"_index":10042,"title":{},"body":{"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{}}}],["missing_tool_parameter_value",{"_index":16371,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["missingentityids.tostring",{"_index":4831,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["missingschoolnumberexception",{"_index":14897,"title":{"classes/MissingSchoolNumberException.html":{}},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["missingtoolparametervalueloggableexception",{"_index":16366,"title":{"classes/MissingToolParameterValueLoggableException.html":{}},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["mission",{"_index":16632,"title":{},"body":{"classes/NewsScope.html":{}}}],["missmatches",{"_index":21673,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["mixing",{"_index":15102,"title":{},"body":{"injectables/LdapStrategy.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["mixwith",{"_index":24523,"title":{},"body":{"dependencies.html":{}}}],["mkdir",{"_index":12076,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["mkdir(folderpath",{"_index":12081,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["mkdtemp",{"_index":12077,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["mkdtemp(dirpath",{"_index":12085,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["mm",{"_index":15757,"title":{},"body":{"modules/LoggerModule.html":{}}}],["mnf:copyrightandotherrestrictions",{"_index":5947,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mnf:description",{"_index":5949,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mnf:general",{"_index":5943,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mnf:lom",{"_index":5942,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mnf:rights",{"_index":5946,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mnf:string",{"_index":5945,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mnf:title",{"_index":5944,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mnf:value",{"_index":5948,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["mocha",{"_index":25389,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["mocha's",{"_index":25677,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["mock",{"_index":10321,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{},"classes/SystemEntityFactory.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["mock.strategy.ts",{"_index":17574,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["mock/oidc",{"_index":17573,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["mock:0.6.0powershell",{"_index":25891,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["mock:0.6.0setup",{"_index":25892,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["mock_issuer",{"_index":21138,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["mock_type",{"_index":21136,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["mockbaseurl",{"_index":10318,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["mocked",{"_index":25782,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["mocking",{"_index":25742,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["mockreturnvalueonce",{"_index":25780,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["mocks",{"_index":25704,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["mocksecret",{"_index":21132,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["mockservice",{"_index":25759,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["mockservice.getuser.mockreturnvalueonce(resultuser",{"_index":25775,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["mockstack",{"_index":2092,"title":{},"body":{"classes/AxiosErrorFactory.html":{}}}],["mode",{"_index":16361,"title":{},"body":{"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["model",{"_index":8029,"title":{},"body":{"classes/CreateNewsParams.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FilterNewsParams.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["model.enum",{"_index":9259,"title":{},"body":{"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder-1.html":{}}}],["modelentity",{"_index":8641,"title":{},"body":{"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["modelentity.gridelements.init",{"_index":8666,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["modelentity.gridelements.isinitialized",{"_index":8665,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["modelentity.gridelements.remove(el",{"_index":8698,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["modelentity.references.loaditems",{"_index":8658,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["modelentity.title",{"_index":8664,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["modelentity.user.id",{"_index":8670,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["modelentity.xpos",{"_index":8661,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["modelentity.ypos",{"_index":8662,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["models",{"_index":16697,"title":{},"body":{"injectables/NewsUc.html":{}}}],["moderator",{"_index":2264,"title":{},"body":{"classes/BBBJoinConfig.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["moderatorcount",{"_index":2309,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["moderatormustapprovejoinrequests",{"_index":9546,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{}}}],["moderatorpw",{"_index":2164,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["modification",{"_index":24720,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["modifications",{"_index":24772,"title":{},"body":{"license.html":{}}}],["modified",{"_index":23419,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"license.html":{}}}],["modifiedcount",{"_index":9141,"title":{},"body":{"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{}}}],["modifies",{"_index":24864,"title":{},"body":{"license.html":{}}}],["modify",{"_index":24692,"title":{},"body":{"license.html":{}}}],["modifying",{"_index":24746,"title":{},"body":{"license.html":{}}}],["modularization",{"_index":25288,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["modularize",{"_index":20612,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["module",{"_index":252,"title":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AntivirusModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"modules/DatabaseManagementModule.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FeathersModule.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/InterceptorModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolModule.html":{},"modules/LessonApiModule.html":{},"modules/LessonModule.html":{},"modules/LoggerModule.html":{},"modules/LtiToolModule.html":{},"modules/MailModule.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/NewsModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/OauthProviderServiceModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"modules/PseudonymModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/RedisModule.html":{},"modules/RegistrationPinModule.html":{},"modules/RocketChatModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/S3ClientModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/ValidationModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{}},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AntivirusModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"interfaces/CoreModuleConfig.html":{},"modules/DatabaseManagementModule.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/InterceptorModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySystemRepo.html":{},"modules/LessonApiModule.html":{},"modules/LessonModule.html":{},"modules/LoggerModule.html":{},"modules/LtiToolModule.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/NewsModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/OauthProviderServiceModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"modules/PseudonymModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/RedisModule.html":{},"modules/RegistrationPinModule.html":{},"modules/RocketChatModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/S3ClientModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"injectables/UserRepo.html":{},"modules/ValidationModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["module.close",{"_index":25763,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["module.get(featureundertest",{"_index":25760,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["module.get(mockservice",{"_index":25761,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["module.ts",{"_index":25540,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["module/application",{"_index":25740,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["module/repo",{"_index":25569,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["module/uc",{"_index":25565,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["moduleref",{"_index":25748,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["moduleref.get(catscontroller",{"_index":25752,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["moduleref.get(sampleservice",{"_index":25751,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["modules",{"_index":254,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AntivirusModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"modules/DatabaseManagementModule.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"injectables/ErrorLogger.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/InterceptorModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolModule.html":{},"modules/LessonApiModule.html":{},"modules/LessonModule.html":{},"modules/LoggerModule.html":{},"modules/LtiToolModule.html":{},"modules/MailModule.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/NewsModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/OauthProviderServiceModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"modules/PseudonymModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/RedisModule.html":{},"modules/RegistrationPinModule.html":{},"modules/RocketChatModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/S3ClientModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"interfaces/UserMetdata.html":{},"modules/UserModule.html":{},"modules/ValidationModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["modules/account",{"_index":1537,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/AuthenticationService.html":{},"modules/DeletionApiModule.html":{},"modules/KeycloakConfigurationModule.html":{},"interfaces/ServerConfig.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"injectables/UserService.html":{}}}],["modules/account/account",{"_index":20187,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/account/account.module",{"_index":18100,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["modules/account/services/account.service",{"_index":14824,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/UserMigrationService.html":{}}}],["modules/account/services/dto",{"_index":1712,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/UserMigrationService.html":{},"injectables/UserService.html":{}}}],["modules/account/services/dto/account.dto",{"_index":836,"title":{},"body":{"classes/AccountResponseMapper.html":{}}}],["modules/authentication",{"_index":3209,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"controllers/DashboardController.html":{},"modules/DeletionApiModule.html":{},"controllers/ElementController.html":{},"modules/FilesStorageTestModule.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"controllers/ImportUserController.html":{},"controllers/LessonController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/NewsController.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"controllers/PseudonymController.html":{},"controllers/RoomsController.html":{},"interfaces/ServerConfig.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"controllers/SystemController.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationUc.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["modules/authentication/authentication",{"_index":13282,"title":{},"body":{"modules/H5PEditorTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/authentication/authentication.module",{"_index":12168,"title":{},"body":{"modules/FilesStorageApiModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/UserLoginMigrationApiModule.html":{}}}],["modules/authentication/decorator/auth.decorator",{"_index":13164,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["modules/authentication/interface",{"_index":23919,"title":{},"body":{"injectables/UserService.html":{}}}],["modules/authentication/interface/user",{"_index":18785,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["modules/authentication/mapper",{"_index":23920,"title":{},"body":{"injectables/UserService.html":{}}}],["modules/authorization",{"_index":2653,"title":{},"body":{"classes/BaseUc.html":{},"modules/BoardApiModule.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/ColumnUc.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/DtoCreator.html":{},"injectables/ElementUc.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolUc.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"injectables/GroupService.html":{},"modules/LearnroomApiModule.html":{},"modules/LessonApiModule.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonUC.html":{},"modules/MetaTagExtractorApiModule.html":{},"injectables/MetaTagExtractorUc.html":{},"modules/NewsModule.html":{},"injectables/NewsUc.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"modules/PseudonymApiModule.html":{},"injectables/PseudonymUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/ShareTokenUC.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionUc.html":{},"modules/SystemApiModule.html":{},"injectables/SystemUc.html":{},"modules/TaskApiModule.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"modules/ToolApiModule.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceUc.html":{},"modules/UserLoginMigrationApiModule.html":{},"injectables/UserLoginMigrationUc.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{}}}],["modules/authorization/authorization",{"_index":12169,"title":{},"body":{"modules/FilesStorageApiModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/LearnroomApiModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/VideoConferenceModule.html":{}}}],["modules/authorization/authorization.module.ts",{"_index":25575,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["modules/authorization/domain",{"_index":4110,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/FilesStorageMapper.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"injectables/ShareTokenUC.html":{},"injectables/ToolPermissionHelper.html":{}}}],["modules/board",{"_index":1932,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/BoardUrlHandler.html":{},"injectables/ColumnBoardTargetService.html":{},"modules/LearnroomModule.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/RoomsService.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolPermissionHelper.html":{}}}],["modules/board/board",{"_index":20188,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/board/service/column",{"_index":3282,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["modules/class",{"_index":8984,"title":{},"body":{"modules/DeletionApiModule.html":{},"modules/GroupApiModule.html":{}}}],["modules/class/domain",{"_index":12970,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["modules/class/entity",{"_index":4642,"title":{},"body":{"classes/ClassEntityFactory.html":{}}}],["modules/class/entity/class.entity",{"_index":7486,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["modules/collaborative",{"_index":4982,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/NextcloudStrategy.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/copy",{"_index":3286,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/BoardDoCopyService.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/CopyApiResponse.html":{},"injectables/CopyFilesService.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"modules/FilesStorageClientModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LessonCopyUC.html":{},"modules/LessonModule.html":{},"classes/RecursiveCopyVisitor.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{},"modules/TaskApiModule.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"modules/TaskModule.html":{}}}],["modules/deletion",{"_index":8983,"title":{},"body":{"modules/DeletionApiModule.html":{}}}],["modules/feathers/feathers",{"_index":25573,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["modules/feathers/feathers.module.ts",{"_index":25574,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["modules/files",{"_index":1317,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/BoardCopyService.html":{},"modules/BoardModule.html":{},"modules/DeletionApiModule.html":{},"classes/FileRecordFactory.html":{},"modules/LessonModule.html":{},"injectables/LessonService.html":{},"injectables/RecursiveDeleteVisitor.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"interfaces/ServerConfig.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/SubmissionService.html":{},"injectables/TaskCopyService.html":{},"modules/TaskModule.html":{},"injectables/TaskService.html":{}}}],["modules/files/entity",{"_index":1020,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/ServerConsoleModule.html":{}}}],["modules/group",{"_index":10014,"title":{},"body":{"classes/ExternalGroupDto.html":{},"injectables/OidcProvisioningService.html":{},"modules/ProvisioningModule.html":{},"injectables/SanisResponseMapper.html":{}}}],["modules/group/entity/group.entity",{"_index":7488,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["modules/group/group",{"_index":20189,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/h5p",{"_index":13298,"title":{},"body":{"modules/H5PLibraryManagementModule.html":{}}}],["modules/learnroom",{"_index":2028,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"modules/DeletionApiModule.html":{},"modules/PseudonymModule.html":{},"injectables/ShareTokenUC.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolPermissionHelper.html":{}}}],["modules/learnroom/common",{"_index":20134,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["modules/learnroom/controller/dto/lesson/lesson",{"_index":7377,"title":{},"body":{"classes/CopyMapper.html":{}}}],["modules/learnroom/learnroom",{"_index":20190,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/learnroom/service",{"_index":11325,"title":{},"body":{"injectables/FeathersRosterService.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["modules/learnroom/types",{"_index":3720,"title":{},"body":{"classes/BoardElementResponse.html":{}}}],["modules/legacy",{"_index":2069,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"modules/CommonToolModule.html":{},"modules/GroupApiModule.html":{},"modules/ImportUserModule.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"modules/OauthModule.html":{},"injectables/OidcProvisioningService.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"injectables/PseudonymUc.html":{},"injectables/SchoolMigrationService.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolPermissionHelper.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"modules/UserModule.html":{},"modules/VideoConferenceModule.html":{}}}],["modules/lesson",{"_index":8985,"title":{},"body":{"modules/DeletionApiModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonUrlHandler.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/RoomsService.html":{},"modules/TaskApiModule.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{}}}],["modules/lesson/lesson",{"_index":20191,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/lesson/service",{"_index":3290,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["modules/lesson/types",{"_index":7379,"title":{},"body":{"classes/CopyMapper.html":{}}}],["modules/lti",{"_index":17366,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{},"modules/OauthProviderModule.html":{}}}],["modules/management/management.module",{"_index":20172,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["modules/management/uc/database",{"_index":22155,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["modules/meta",{"_index":20192,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/news",{"_index":20193,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/oauth",{"_index":174,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"injectables/Oauth2Strategy.html":{},"classes/OauthClientBody.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["modules/oauth/controller/dto/authorization.params",{"_index":13518,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["modules/oauth/loggable",{"_index":14260,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{}}}],["modules/oauth/oauth",{"_index":20194,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/oauth/oauth.module",{"_index":1538,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["modules/oauth/service/dto/cookies.dto",{"_index":13486,"title":{},"body":{"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{}}}],["modules/oauth/service/dto/hydra.redirect.dto",{"_index":13449,"title":{},"body":{"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{}}}],["modules/provisioning",{"_index":16873,"title":{},"body":{"injectables/OAuthService.html":{},"modules/OauthModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["modules/pseudonym",{"_index":5026,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{},"modules/DeletionApiModule.html":{},"injectables/IdTokenService.html":{},"injectables/NextcloudStrategy.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/ToolLaunchModule.html":{}}}],["modules/pseudonym/pseudonym",{"_index":20195,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/pseudonym/service",{"_index":17391,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["modules/registration",{"_index":8988,"title":{},"body":{"modules/DeletionApiModule.html":{}}}],["modules/rocketchat",{"_index":8987,"title":{},"body":{"modules/DeletionApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/role",{"_index":1539,"title":{},"body":{"modules/AuthenticationModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/GroupApiModule.html":{},"injectables/OidcProvisioningService.html":{},"modules/ProvisioningModule.html":{}}}],["modules/role/role.module",{"_index":23795,"title":{},"body":{"modules/UserModule.html":{}}}],["modules/role/service/dto/role.dto",{"_index":4986,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/OidcProvisioningService.html":{},"classes/ResolvedGroupUser.html":{},"classes/RoleMapper.html":{},"injectables/RoleUc.html":{},"injectables/UserService.html":{}}}],["modules/role/service/role.service",{"_index":5103,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"modules/RoleModule.html":{},"injectables/RoleUc.html":{},"injectables/UserService.html":{}}}],["modules/role/uc/role.uc",{"_index":19028,"title":{},"body":{"modules/RoleModule.html":{}}}],["modules/server",{"_index":1716,"title":{},"body":{"injectables/AuthenticationService.html":{},"modules/ManagementModule.html":{},"modules/ServerConsoleModule.html":{}}}],["modules/server/server.config",{"_index":650,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/KeycloakConfigurationService.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{}}}],["modules/sharing/domainobject/share",{"_index":20363,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["modules/sharing/sharing.module",{"_index":20197,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/system",{"_index":1540,"title":{},"body":{"modules/AuthenticationModule.html":{},"modules/GroupApiModule.html":{},"classes/GroupUcMapper.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/OAuthService.html":{},"modules/OauthModule.html":{},"injectables/ProvisioningService.html":{},"injectables/SystemRule.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationService.html":{}}}],["modules/system/controller/dto/oauth",{"_index":18331,"title":{},"body":{"classes/PublicSystemResponse.html":{},"classes/SystemResponseMapper.html":{}}}],["modules/system/controller/system.controller",{"_index":21037,"title":{},"body":{"modules/SystemApiModule.html":{}}}],["modules/system/service",{"_index":14541,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/OAuthService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["modules/system/service/dto",{"_index":13766,"title":{},"body":{"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["modules/system/service/dto/oauth",{"_index":21107,"title":{},"body":{"classes/SystemDto.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["modules/system/service/dto/oidc",{"_index":21180,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["modules/system/service/dto/system.dto",{"_index":18127,"title":{},"body":{"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["modules/system/service/system",{"_index":14542,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["modules/system/system",{"_index":20199,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/system/system.module",{"_index":18101,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["modules/system/uc/system.uc",{"_index":21038,"title":{},"body":{"modules/SystemApiModule.html":{}}}],["modules/task",{"_index":15135,"title":{},"body":{"modules/LearnroomModule.html":{},"modules/LessonModule.html":{},"injectables/RoomsService.html":{},"injectables/TaskUrlHandler.html":{}}}],["modules/task/controller/dto/task",{"_index":7380,"title":{},"body":{"classes/CopyMapper.html":{}}}],["modules/task/service",{"_index":3291,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["modules/task/task",{"_index":20201,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/task/types",{"_index":7381,"title":{},"body":{"classes/CopyMapper.html":{}}}],["modules/teams",{"_index":8986,"title":{},"body":{"modules/DeletionApiModule.html":{}}}],["modules/teams/teams",{"_index":20203,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/teams/teams.module",{"_index":22022,"title":{},"body":{"modules/TeamsApiModule.html":{}}}],["modules/tldraw",{"_index":3854,"title":{},"body":{"modules/BoardModule.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["modules/tldraw/domain/ws",{"_index":22431,"title":{},"body":{"classes/TldrawWsFactory.html":{}}}],["modules/tldraw/service",{"_index":24385,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["modules/tool",{"_index":1934,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/OauthProviderModule.html":{},"modules/PseudonymModule.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["modules/tool/common/domain",{"_index":6749,"title":{},"body":{"classes/ContextExternalToolFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/SchoolExternalToolFactory.html":{}}}],["modules/tool/common/entity",{"_index":10695,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["modules/tool/common/enum",{"_index":6750,"title":{},"body":{"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolScope.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/FeathersRosterService.html":{},"classes/Oauth2ToolConfigFactory.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["modules/tool/common/enum/tool",{"_index":6826,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["modules/tool/common/interface",{"_index":10646,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["modules/tool/context",{"_index":3852,"title":{},"body":{"modules/BoardModule.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"injectables/FeathersRosterService.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["modules/tool/external",{"_index":8253,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/FeathersRosterService.html":{},"injectables/IdTokenService.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/PseudonymService.html":{},"injectables/SchoolExternalToolRepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["modules/tool/school",{"_index":6829,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/FeathersRosterService.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["modules/tool/tool",{"_index":17367,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{},"modules/OauthProviderModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/user",{"_index":3853,"title":{},"body":{"modules/BoardModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"injectables/ColumnBoardCopyService.html":{},"modules/DeletionApiModule.html":{},"injectables/FeathersRosterService.html":{},"modules/GroupApiModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/IdTokenService.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/MigrationCheckService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"modules/OauthProviderModule.html":{},"injectables/OidcProvisioningService.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymModule.html":{},"injectables/SchoolMigrationService.html":{},"interfaces/ServerConfig.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationService.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"modules/VideoConferenceApiModule.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"modules/VideoConferenceModule.html":{}}}],["modules/user/service/user",{"_index":23278,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["modules/user/uc/dto/user.dto",{"_index":23725,"title":{},"body":{"classes/UserMapper.html":{}}}],["modules/user/user",{"_index":20208,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["modules/video",{"_index":20210,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["moduluslength",{"_index":7973,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["moin.schule",{"_index":19554,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["moment",{"_index":16746,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["mongo",{"_index":623,"title":{},"body":{"injectables/AccountLookupService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"injectables/BsonConverter.html":{},"interfaces/CollectionFilePath.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{},"todo.html":{}}}],["mongo.patterns",{"_index":14139,"title":{},"body":{"classes/ImportUserScope.html":{},"injectables/UserRepo.html":{}}}],["mongo_url=mongodb://172.29.173.128:27030/rocketchat",{"_index":25942,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["mongod",{"_index":25294,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["mongodatabasemoduleoptions",{"_index":1028,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["mongodb",{"_index":804,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/BaseFactory.html":{},"injectables/DatabaseManagementService.html":{},"injectables/TldrawBoardRepo.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["mongodbpersistence",{"_index":22254,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["mongodbpersistence(this.connectionstring",{"_index":22277,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["mongoexport",{"_index":5268,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["mongoimport",{"_index":5255,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["mongomemorydatabasemodule",{"_index":1029,"title":{"modules/MongoMemoryDatabaseModule.html":{}},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsTestModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["mongomemorydatabasemodule.forroot",{"_index":1043,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsTestModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["mongomemoryserver",{"_index":25548,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["mongoose",{"_index":11570,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"dependencies.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["mongopatterns",{"_index":14138,"title":{"classes/MongoPatterns.html":{}},"body":{"classes/ImportUserScope.html":{},"classes/MongoPatterns.html":{},"injectables/UserRepo.html":{}}}],["moodle",{"_index":24537,"title":{},"body":{"dependencies.html":{}}}],["more",{"_index":1832,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/BaseRepo.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/TaskCopyUC.html":{},"interfaces/UserBoardRoles.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["moreover",{"_index":25025,"title":{},"body":{"license.html":{}}}],["mostly",{"_index":26073,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["mount",{"_index":24603,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["mounted",{"_index":24596,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["mounts",{"_index":25242,"title":{},"body":{"todo.html":{}}}],["mountsdescription",{"_index":1421,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["move",{"_index":3681,"title":{},"body":{"injectables/BoardDoService.html":{},"controllers/CardController.html":{},"injectables/CardService.html":{},"controllers/ColumnController.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{},"controllers/ElementController.html":{},"injectables/NextcloudStrategy.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["move(card",{"_index":4449,"title":{},"body":{"injectables/CardService.html":{}}}],["move(child",{"_index":3685,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["move(column",{"_index":5638,"title":{},"body":{"injectables/ColumnService.html":{}}}],["move(element",{"_index":6405,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["moveable",{"_index":26001,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["movecard",{"_index":4323,"title":{},"body":{"controllers/CardController.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{}}}],["movecard(urlparams",{"_index":4343,"title":{},"body":{"controllers/CardController.html":{}}}],["movecard(userid",{"_index":5654,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["movecardbodyparams",{"_index":4344,"title":{"classes/MoveCardBodyParams.html":{}},"body":{"controllers/CardController.html":{},"classes/MoveCardBodyParams.html":{}}}],["movecolumn",{"_index":4091,"title":{},"body":{"injectables/BoardUc.html":{},"controllers/ColumnController.html":{}}}],["movecolumn(urlparams",{"_index":5591,"title":{},"body":{"controllers/ColumnController.html":{}}}],["movecolumn(userid",{"_index":4101,"title":{},"body":{"injectables/BoardUc.html":{}}}],["movecolumnbodyparams",{"_index":5592,"title":{"classes/MoveColumnBodyParams.html":{}},"body":{"controllers/ColumnController.html":{},"classes/MoveColumnBodyParams.html":{}}}],["movecontentelementbody",{"_index":9774,"title":{"classes/MoveContentElementBody.html":{}},"body":{"controllers/ElementController.html":{},"classes/MoveContentElementBody.html":{}}}],["moved",{"_index":21877,"title":{},"body":{"classes/TeamDto.html":{},"classes/TeamUserDto.html":{}}}],["moveelement",{"_index":4490,"title":{},"body":{"injectables/CardUc.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"controllers/ElementController.html":{}}}],["moveelement(from",{"_index":8421,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["moveelement(undefined",{"_index":8346,"title":{},"body":{"controllers/DashboardController.html":{}}}],["moveelement(urlparams",{"_index":9773,"title":{},"body":{"controllers/ElementController.html":{}}}],["moveelement(userid",{"_index":4502,"title":{},"body":{"injectables/CardUc.html":{}}}],["moveelementondashboard",{"_index":8738,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["moveelementondashboard(dashboardid",{"_index":8744,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["moveelementparams",{"_index":8348,"title":{"classes/MoveElementParams.html":{}},"body":{"controllers/DashboardController.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{}}}],["moveelementpositionparams",{"_index":16422,"title":{"classes/MoveElementPositionParams.html":{}},"body":{"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{}}}],["moves",{"_index":4904,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["movetotrash",{"_index":19323,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["movetotrash(paths",{"_index":19345,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["moving",{"_index":26083,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["mps",{"_index":4881,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["ms",{"_index":4921,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"injectables/TimeoutInterceptor.html":{}}}],["msg",{"_index":4237,"title":{},"body":{"modules/CacheWrapperModule.html":{},"classes/GlobalErrorFilter.html":{},"modules/RedisModule.html":{}}}],["msgs",{"_index":1067,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["much",{"_index":25685,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["multi",{"_index":3762,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["multiple",{"_index":2233,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ElementUc.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/GlobalValidationPipe.html":{},"classes/KeycloakSeedService.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["multiplecollections",{"_index":22231,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["multivalued",{"_index":14646,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["muted",{"_index":24306,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["muteonstart",{"_index":2165,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["mutex",{"_index":24466,"title":{},"body":{"dependencies.html":{}}}],["n",{"_index":18674,"title":{},"body":{"classes/ReferencesService.html":{}}}],["n21",{"_index":1940,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/CommonToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/FederalStateService.html":{},"interfaces/IToolFeatures.html":{},"injectables/IdTokenService.html":{},"classes/LegacySchoolDo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SchoolYearService.html":{},"classes/ToolConfiguration.html":{},"injectables/ToolVersionService.html":{},"modules/VideoConferenceModule.html":{}}}],["name",{"_index":31,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"classes/AccountByIdBodyParams.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AppStartLoggable.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/ConsoleWriterService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigEntity.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FilePermissionEntity.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"classes/GroupUserResponse.html":{},"classes/GroupValidPeriodEntity.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/IImportUserScope.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/ITask.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/ListOauthClientsParams.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"injectables/MailService.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileParams.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"classes/ProvisioningDto.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"controllers/PseudonymController.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/ScanResultDto.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.html":{},"classes/ScopeRef.html":{},"classes/ServerConsole.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionMapper.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionsResponse.html":{},"classes/SuccessfulResponse.html":{},"injectables/SymetricKeyEncryptionService.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"interfaces/UrlHandler.html":{},"classes/UserAndAccountTestFactory.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParentsEntity.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["name${sequence",{"_index":10320,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["name.length",{"_index":11814,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["name.mapper",{"_index":13990,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["name.mapper.ts",{"_index":19030,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["name.mapper.ts:13",{"_index":19033,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["name.mapper.ts:6",{"_index":19035,"title":{},"body":{"classes/RoleNameMapper.html":{}}}],["name.match",{"_index":7351,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["name.strategy.ts",{"_index":2013,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["name.strategy.ts:15",{"_index":2020,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["name.strategy.ts:22",{"_index":2027,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["name.strategy.ts:45",{"_index":2025,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["name.strategy.ts:51",{"_index":2022,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["named",{"_index":24637,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["namely",{"_index":25865,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["namematch",{"_index":13622,"title":{"interfaces/NameMatch.html":{}},"body":{"interfaces/IImportUserScope.html":{},"interfaces/NameMatch.html":{},"classes/UserMatchMapper.html":{},"injectables/UserRepo.html":{}}}],["nameonly",{"_index":8867,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["names",{"_index":5198,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/FileMetadata.html":{},"classes/ImportUserListResponse.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"controllers/NewsController.html":{},"classes/Path.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["namespace",{"_index":25844,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["naming",{"_index":25281,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["nanoid",{"_index":13520,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/TokenGenerator.html":{},"dependencies.html":{}}}],["nanoid(12",{"_index":22575,"title":{},"body":{"injectables/TokenGenerator.html":{}}}],["nanoid(15",{"_index":13528,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["narrowed",{"_index":13036,"title":{},"body":{"classes/GuardAgainst.html":{}}}],["native",{"_index":24556,"title":{},"body":{"dependencies.html":{}}}],["nature",{"_index":24875,"title":{},"body":{"license.html":{}}}],["nbf",{"_index":14205,"title":{},"body":{"interfaces/IntrospectResponse.html":{}}}],["ne",{"_index":11957,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/SystemScope.html":{},"classes/TaskScope.html":{}}}],["necessary",{"_index":21674,"title":{},"body":{"injectables/TaskRepo.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["need",{"_index":813,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BoardNodeRepo.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesStorageConsumer.html":{},"classes/GlobalValidationPipe.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RpcMessageProducer.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TldrawWsService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["needed",{"_index":1929,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"injectables/S3ClientAdapter.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["neededpermission",{"_index":21799,"title":{},"body":{"injectables/TaskUC.html":{}}}],["needs",{"_index":1925,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"classes/H5PSaveResponse.html":{},"injectables/HydraSsoService.html":{},"interfaces/JwtPayload.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/NextcloudStrategy.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["nest",{"_index":1212,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/ErrorLogger.html":{},"injectables/FeathersRosterService.html":{},"injectables/LegacyLogger.html":{},"injectables/Logger.html":{},"modules/LoggerModule.html":{},"interfaces/Options.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"dependencies.html":{},"properties.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["nest.js",{"_index":410,"title":{},"body":{"controllers/AccountController.html":{}}}],["nest/legacy",{"_index":25271,"title":{},"body":{"todo.html":{}}}],["nest:build",{"_index":25330,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:build:all",{"_index":25333,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:console",{"_index":25356,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:console:dev",{"_index":25357,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:docs:build",{"_index":25351,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:docs:serve",{"_index":25352,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:lint",{"_index":25372,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:lint:fix",{"_index":25375,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:prebuild",{"_index":25329,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:start",{"_index":25336,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:start:debug",{"_index":25341,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:start:dev",{"_index":25338,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:start:files",{"_index":25347,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:start:prod",{"_index":25343,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:test",{"_index":25365,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:test:all",{"_index":25366,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:test:api",{"_index":25367,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:test:cov",{"_index":25369,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:test:debug",{"_index":25371,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:test:unit",{"_index":25368,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest:test:watch",{"_index":25370,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nest_log_level",{"_index":12011,"title":{},"body":{"interfaces/FileStorageConfig.html":{},"interfaces/LoggerConfig.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/ServerConfig.html":{},"interfaces/TldrawConfig.html":{}}}],["nestapp.get(rocketchatservice",{"_index":25583,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["nested",{"_index":13055,"title":{},"body":{"classes/H5PContentFactory.html":{},"injectables/PermissionService.html":{}}}],["nestexpress.set('feathersapp",{"_index":11407,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["nestinterceptor",{"_index":9751,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["nestjs",{"_index":3767,"title":{"additional-documentation/nestjs-application.html":{}},"body":{"classes/BoardManagementConsole.html":{},"interfaces/CleanOptions.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeleteFilesConsole.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"modules/ErrorModule.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/Options.html":{},"interfaces/RetryOptions.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"classes/TestBootstrapConsole.html":{},"dependencies.html":{},"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["nestjs/axios",{"_index":1054,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/BBBService.html":{},"modules/BoardModule.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"injectables/DeletionClient.html":{},"modules/DeletionConsoleModule.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/ExternalToolLogoService.html":{},"modules/ExternalToolModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/HydraSsoService.html":{},"modules/IdentityManagementModule.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"modules/KeycloakModule.html":{},"modules/MetaTagExtractorModule.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthModule.html":{},"modules/OauthProviderServiceModule.html":{},"modules/ProvisioningModule.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"injectables/SanisProvisioningStrategy.html":{},"modules/VideoConferenceModule.html":{},"dependencies.html":{}}}],["nestjs/cache",{"_index":4224,"title":{},"body":{"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{},"dependencies.html":{}}}],["nestjs/clithen",{"_index":25395,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["nestjs/common",{"_index":277,"title":{},"body":{"modules/AccountApiModule.html":{},"controllers/AccountController.html":{},"injectables/AccountIdmToDtoMapper.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"modules/BoardApiModule.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"controllers/CardController.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"modules/ClassModule.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"modules/ContextExternalToolModule.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ConverterUtil.html":{},"injectables/CopyFilesService.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"modules/CoreModule.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"controllers/DatabaseManagementController.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"modules/DeletionConsoleModule.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"modules/DeletionModule.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"controllers/DeletionRequestsController.html":{},"classes/DomainObjectFactory.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"modules/ErrorModule.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"modules/GroupModule.html":{},"injectables/GroupRepo.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/H5PContentMapper.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"modules/IdentityManagementModule.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"modules/ImportUserModule.html":{},"injectables/ImportUserRepo.html":{},"modules/InterceptorModule.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtAuthGuard.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/LessonApiModule.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"modules/LessonModule.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LibraryRepo.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"modules/LoggerModule.html":{},"controllers/LoginController.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"injectables/MaterialsRepo.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"controllers/NewsController.html":{},"modules/NewsModule.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"injectables/OauthProviderResponseMapper.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"injectables/PermissionService.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{},"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"modules/PseudonymModule.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"injectables/RecursiveDeleteVisitor.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RepoLoader.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"modules/RocketChatUserModule.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"modules/RoleModule.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenParentTypeMapper.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"injectables/StorageProviderRepo.html":{},"entities/Submission.html":{},"controllers/SubmissionController.html":{},"injectables/SubmissionItemFactory.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"injectables/SymetricKeyEncryptionService.html":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"modules/SystemModule.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemRule.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"entities/Task.html":{},"modules/TaskApiModule.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"modules/TaskModule.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TeamMapper.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamPermissionsMapper.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawClientModule.html":{},"controllers/TldrawController.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"injectables/ToolVersionService.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"modules/UserApiModule.html":{},"controllers/UserController.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"modules/UserModule.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorLoggableException.html":{},"modules/ValidationModule.html":{},"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"modules/VideoConferenceModule.html":{},"injectables/VideoConferenceRepo.html":{},"injectables/XApiKeyStrategy.html":{},"dependencies.html":{}}}],["nestjs/common/decorators",{"_index":16976,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["nestjs/common/decorators/core/injectable.decorator",{"_index":4934,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/ExternalToolRepo.html":{},"injectables/HydraSsoService.html":{},"injectables/OAuthService.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToolVersionService.html":{}}}],["nestjs/common/exceptions/internal",{"_index":7489,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["nestjs/common/exceptions/not",{"_index":10200,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/OauthProviderLoginFlowService.html":{}}}],["nestjs/config",{"_index":651,"title":{},"body":{"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"injectables/AuthenticationService.html":{},"interfaces/CollectionFilePath.html":{},"controllers/CourseController.html":{},"injectables/DeletionClient.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"modules/InterceptorModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LocalStrategy.html":{},"modules/LoggerModule.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewProducer.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawModule.html":{},"classes/TldrawWs.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"injectables/XApiKeyStrategy.html":{},"dependencies.html":{}}}],["nestjs/core",{"_index":9953,"title":{},"body":{"modules/ErrorModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"modules/InterceptorModule.html":{},"injectables/TimeoutInterceptor.html":{},"modules/ValidationModule.html":{},"dependencies.html":{}}}],["nestjs/jwt",{"_index":1543,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/AuthenticationService.html":{},"dependencies.html":{}}}],["nestjs/microservices",{"_index":24441,"title":{},"body":{"dependencies.html":{}}}],["nestjs/passport",{"_index":1545,"title":{},"body":{"modules/AuthenticationModule.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"injectables/JwtAuthGuard.html":{},"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"controllers/LoginController.html":{},"injectables/Oauth2Strategy.html":{},"injectables/XApiKeyStrategy.html":{},"dependencies.html":{}}}],["nestjs/platform",{"_index":13168,"title":{},"body":{"controllers/H5PEditorController.html":{},"dependencies.html":{}}}],["nestjs/swagger",{"_index":202,"title":{},"body":{"classes/AcceptQuery.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"controllers/AccountController.html":{},"classes/AccountResponse.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardResponse.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusResponse.html":{},"classes/BoardUrlParams.html":{},"classes/BusinessError.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"classes/CardSkeletonResponse.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassSortParams.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"classes/ColumnResponse.html":{},"classes/ColumnUrlParams.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/ContextRefParams.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"controllers/CourseController.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/CourseQueryParams.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DashboardUrlParams.html":{},"classes/DeletionExecutionParams.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestResponse.html":{},"controllers/DeletionRequestsController.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"classes/DrawingElementResponse.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolMetadataResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"classes/FileElementResponse.html":{},"classes/FileParams.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"controllers/FileSecurityController.html":{},"classes/FileUrlParams.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"controllers/FwuLearningContentsController.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/GetMetaTagDataBody.html":{},"controllers/GroupController.html":{},"classes/GroupIdParams.html":{},"classes/GroupResponse.html":{},"classes/GroupUserResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/IdParams.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{},"classes/LdapAuthorizationBodyParams.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"controllers/LoginController.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/NewsUrlParams.html":{},"classes/OAuthRejectableBody.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthLoginResponse.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"classes/OidcContextResponse.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"controllers/PseudonymController.html":{},"classes/PseudonymParams.html":{},"classes/PseudonymResponse.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/RedirectResponse.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"classes/ResolvedUserResponse.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"classes/RichTextElementResponse.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"controllers/RoomsController.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInfoResponse.html":{},"classes/SetHeightBodyParams.html":{},"classes/ShareTokenBodyParams.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenPayloadResponse.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"classes/SuccessfulResponse.html":{},"controllers/SystemController.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/TargetInfoResponse.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskStatusResponse.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamRoleDto.html":{},"classes/TeamUrlParams.html":{},"classes/TimestampsResponse.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequestResponse.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceResponse.html":{},"controllers/ToolSchoolController.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"controllers/UserController.html":{},"classes/UserDataResponse.html":{},"classes/UserInfoResponse.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParams.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"dependencies.html":{}}}],["nestjs/testing",{"_index":22154,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["nestjs/testing.test",{"_index":25743,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["nestjs/websockets",{"_index":22405,"title":{},"body":{"classes/TldrawWs.html":{},"dependencies.html":{}}}],["nestmodule",{"_index":20212,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["nestwinston",{"_index":25609,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["net",{"_index":24615,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["network",{"_index":24667,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["neuen",{"_index":5485,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["never",{"_index":9562,"title":{},"body":{"classes/DomainObjectFactory.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FilesRepo.html":{},"classes/GuardAgainst.html":{},"injectables/LdapStrategy.html":{},"injectables/NewsRepo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["new",{"_index":153,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponseMapper.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosResponseImp.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BaseUc.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"classes/BoardManagementConsole.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BusinessError.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"controllers/CardController.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/CopyFileResponseBuilder.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"classes/CourseMapper.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"classes/ErrorMapper.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolMetadataMapper.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"injectables/FilesRepo.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"interfaces/H5PContentProperties.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorModule.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/ILegacyLogger.html":{},"injectables/IdTokenService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"modules/InterceptorModule.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtStrategy.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/LocalStrategy.html":{},"modules/LoggerModule.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"interfaces/MigrationOptions.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderResponseMapper.html":{},"controllers/OauthSSOController.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/ParentInfo.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"injectables/PermissionService.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"interfaces/RetryOptions.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{},"entities/Role.html":{},"classes/RoleMapper.html":{},"interfaces/RoleProperties.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RoomsUc.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/ShareToken.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"entities/Submission.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"controllers/SubmissionController.html":{},"injectables/SubmissionItemFactory.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRule.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoMapper.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestConnection.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TokenRequestMapper.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceUc.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{},"entities/User.html":{},"controllers/UserController.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchMapper.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/WsSharedDocDo.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["newconfig",{"_index":14619,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["newconfig.idphint",{"_index":14617,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["newconfigs",{"_index":14527,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["newconfigs.foreach((newconfig",{"_index":14614,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["newconfigs.some((newconfig",{"_index":14621,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["newdeletionlog",{"_index":9251,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["newdeletionrequest",{"_index":9477,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["newdeletionrequest.deleteafter",{"_index":9480,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["newdeletionrequest.id",{"_index":9479,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["newelement",{"_index":8511,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["newentity",{"_index":12849,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["newfactory",{"_index":2595,"title":{},"body":{"classes/BaseFactory.html":{}}}],["newgroupname",{"_index":8467,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["newid",{"_index":7304,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["newid}/${name",{"_index":7307,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["newlanguage",{"_index":23913,"title":{},"body":{"injectables/UserService.html":{}}}],["newlist",{"_index":2984,"title":{},"body":{"entities/Board.html":{}}}],["newname",{"_index":7629,"title":{},"body":{"injectables/CourseCopyService.html":{},"classes/ShareTokenImportBodyParams.html":{},"injectables/ShareTokenUC.html":{}}}],["newnonoptionalparamnames",{"_index":11171,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newnonoptionalparamnames.includes(name",{"_index":11174,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newnonoptionalparamnames.some((name",{"_index":11175,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newnonoptionalparams",{"_index":11169,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newnonoptionalparams.map((parameter",{"_index":11172,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newparam",{"_index":11160,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newparam.isoptional",{"_index":11161,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newparam.name",{"_index":11151,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newparam.regex",{"_index":11180,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newparam.scope",{"_index":11182,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newparam.type",{"_index":11181,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newparams",{"_index":11124,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newparams.filter((parameter",{"_index":11170,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newparams.find((p",{"_index":11178,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newparams.some",{"_index":11159,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newparams.some((newparam",{"_index":11149,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newpath",{"_index":1345,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["newpropsfactory",{"_index":2593,"title":{},"body":{"classes/BaseFactory.html":{}}}],["newresource",{"_index":5825,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["newresource.caninline",{"_index":5828,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["newrooms",{"_index":8491,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["newrooms.foreach((room",{"_index":8493,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["news",{"_index":7824,"title":{"entities/News.html":{}},"body":{"entities/CourseNews.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/FilterNewsParams.html":{},"interfaces/INewsScope.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/UpdateNewsParams.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["news.content",{"_index":16533,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news.controller",{"_index":16565,"title":{},"body":{"modules/NewsModule.html":{}}}],["news.controller.ts",{"_index":21925,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["news.controller.ts:19",{"_index":21930,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["news.createdat",{"_index":16539,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news.createinstance(targetmodel",{"_index":16675,"title":{},"body":{"injectables/NewsUc.html":{}}}],["news.displayat",{"_index":16534,"title":{},"body":{"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["news.id",{"_index":16531,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news.params.ts",{"_index":8017,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/FilterNewsParams.html":{},"classes/UpdateNewsParams.html":{}}}],["news.params.ts:14",{"_index":12399,"title":{},"body":{"classes/FilterNewsParams.html":{}}}],["news.params.ts:15",{"_index":8032,"title":{},"body":{"classes/CreateNewsParams.html":{}}}],["news.params.ts:17",{"_index":23133,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["news.params.ts:22",{"_index":12397,"title":{},"body":{"classes/FilterNewsParams.html":{}}}],["news.params.ts:23",{"_index":8020,"title":{},"body":{"classes/CreateNewsParams.html":{}}}],["news.params.ts:25",{"_index":23129,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["news.params.ts:30",{"_index":12402,"title":{},"body":{"classes/FilterNewsParams.html":{}}}],["news.params.ts:31",{"_index":8025,"title":{},"body":{"classes/CreateNewsParams.html":{}}}],["news.params.ts:32",{"_index":23131,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["news.params.ts:38",{"_index":8030,"title":{},"body":{"classes/CreateNewsParams.html":{}}}],["news.params.ts:45",{"_index":8027,"title":{},"body":{"classes/CreateNewsParams.html":{}}}],["news.permissions",{"_index":16541,"title":{},"body":{"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["news.source",{"_index":16535,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news.sourcedescription",{"_index":16536,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news.target.id",{"_index":16537,"title":{},"body":{"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["news.targetmodel",{"_index":16538,"title":{},"body":{"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["news.title",{"_index":16532,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news.updatedat",{"_index":16540,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news.updater",{"_index":16542,"title":{},"body":{"classes/NewsMapper.html":{}}}],["news[key",{"_index":16691,"title":{},"body":{"injectables/NewsUc.html":{}}}],["news].params.ts",{"_index":25596,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["news].response.dto",{"_index":25598,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["news_edit",{"_index":16693,"title":{},"body":{"injectables/NewsUc.html":{}}}],["news_sources",{"_index":16499,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{}}}],["news_sources[number",{"_index":16503,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{}}}],["newscontroller",{"_index":16441,"title":{"controllers/NewsController.html":{}},"body":{"controllers/NewsController.html":{},"modules/NewsModule.html":{}}}],["newscount",{"_index":16681,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newscrudoperationloggable",{"_index":16483,"title":{"classes/NewsCrudOperationLoggable.html":{}},"body":{"classes/NewsCrudOperationLoggable.html":{},"injectables/NewsUc.html":{}}}],["newscrudoperationloggable(crudoperation.create",{"_index":16677,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newscrudoperationloggable(crudoperation.delete",{"_index":16695,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newscrudoperationloggable(crudoperation.update",{"_index":16692,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newsentities",{"_index":16593,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["newsentities.filter((news",{"_index":16597,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["newsentity",{"_index":16589,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["newsid",{"_index":16709,"title":{},"body":{"classes/NewsUrlParams.html":{}}}],["newslist",{"_index":16471,"title":{},"body":{"controllers/NewsController.html":{},"injectables/NewsUc.html":{},"controllers/TeamNewsController.html":{}}}],["newslist.map((news",{"_index":16474,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{}}}],["newslist.map(async",{"_index":16684,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newslistresponse",{"_index":16463,"title":{"classes/NewsListResponse.html":{}},"body":{"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"controllers/TeamNewsController.html":{}}}],["newslistresponse(dtolist",{"_index":16475,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{}}}],["newsmapper",{"_index":16459,"title":{"classes/NewsMapper.html":{}},"body":{"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsMapper.html":{},"controllers/TeamNewsController.html":{}}}],["newsmapper.mapcreatenewstodomain(params",{"_index":16469,"title":{},"body":{"controllers/NewsController.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["newsmapper.mapnewsscopetodomain(scope",{"_index":16473,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{}}}],["newsmapper.maptologmessagedata(this.news",{"_index":16492,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{}}}],["newsmapper.maptoresponse(news",{"_index":16470,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["newsmapper.mapupdatenewstodomain(params",{"_index":16480,"title":{},"body":{"controllers/NewsController.html":{}}}],["newsmodule",{"_index":16555,"title":{"modules/NewsModule.html":{}},"body":{"modules/NewsModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["newspermission",{"_index":16656,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newsproperties",{"_index":7819,"title":{"interfaces/NewsProperties.html":{}},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["newsrepo",{"_index":16560,"title":{"injectables/NewsRepo.html":{}},"body":{"modules/NewsModule.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["newsresponse",{"_index":16464,"title":{"classes/NewsResponse.html":{}},"body":{"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.html":{}}}],["newsrule",{"_index":26045,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["newsscope",{"_index":16582,"title":{"classes/NewsScope.html":{}},"body":{"injectables/NewsRepo.html":{},"classes/NewsScope.html":{}}}],["newstarget",{"_index":7814,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"classes/TargetInfoMapper.html":{},"entities/TeamNews.html":{}}}],["newstargetfilter",{"_index":16572,"title":{"interfaces/NewsTargetFilter.html":{}},"body":{"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{}}}],["newstargetmodel",{"_index":7815,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"classes/FilterNewsParams.html":{},"interfaces/INewsScope.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["newstargetmodel.course",{"_index":7842,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["newstargetmodel.school",{"_index":7847,"title":{},"body":{"entities/CourseNews.html":{},"injectables/FeathersAuthorizationService.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["newstargetmodel.team",{"_index":7844,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["newsuc",{"_index":16461,"title":{"injectables/NewsUc.html":{}},"body":{"controllers/NewsController.html":{},"modules/NewsModule.html":{},"injectables/NewsUc.html":{},"controllers/TeamNewsController.html":{}}}],["newsuc.getrequiredpermissions(ispublished",{"_index":16688,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newsuc.getrequiredpermissions(unpublished",{"_index":16679,"title":{},"body":{"injectables/NewsUc.html":{}}}],["newsurlparams",{"_index":16445,"title":{"classes/NewsUrlParams.html":{}},"body":{"controllers/NewsController.html":{},"classes/NewsUrlParams.html":{}}}],["newtool",{"_index":11141,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newtool.parameters",{"_index":11145,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newtool.version",{"_index":11147,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["newuser",{"_index":26027,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["newvar",{"_index":1183,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["nexboard",{"_index":6159,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/NexboardService.html":{}}}],["nexboard.id",{"_index":16720,"title":{},"body":{"injectables/NexboardService.html":{}}}],["nexboard.publiclink",{"_index":16721,"title":{},"body":{"injectables/NexboardService.html":{}}}],["nexboardresponse",{"_index":16717,"title":{},"body":{"injectables/NexboardService.html":{}}}],["nexboardservice",{"_index":15473,"title":{"injectables/NexboardService.html":{}},"body":{"modules/LessonModule.html":{},"injectables/NexboardService.html":{}}}],["next",{"_index":571,"title":{},"body":{"classes/AccountFactory.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"injectables/BoardCopyService.html":{},"classes/BoardResponseMapper.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"entities/CourseNews.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileRecordFactory.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GlobalErrorFilter.html":{},"classes/H5PContentFactory.html":{},"modules/H5PEditorModule.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/JwtExtractor.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySystemRepo.html":{},"classes/LessonFactory.html":{},"controllers/LoginController.html":{},"classes/LtiToolFactory.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsUc.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUserFactory.html":{},"injectables/S3ClientAdapter.html":{},"classes/SchoolExternalToolFactory.html":{},"entities/SchoolNews.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenFactory.html":{},"injectables/ShareTokenUC.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"entities/TeamNews.html":{},"classes/TeamUserFactory.html":{},"classes/TestBootstrapConsole.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawModule.html":{},"classes/TldrawWs.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"injectables/UserRepo.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["next.handle().pipe",{"_index":18793,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["next.handle().pipe(tap",{"_index":9755,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["nextcloud",{"_index":13585,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/NextcloudStrategy.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["nextcloud.client",{"_index":16755,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["nextcloudclient",{"_index":5023,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{},"injectables/NextcloudStrategy.html":{}}}],["nextcloudgroups",{"_index":13011,"title":{"interfaces/NextcloudGroups.html":{}},"body":{"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/Meta.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OcsResponse.html":{},"interfaces/SuccessfulRes.html":{}}}],["nextclouds",{"_index":16753,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["nextcloudstrategy",{"_index":5024,"title":{"injectables/NextcloudStrategy.html":{}},"body":{"modules/CollaborativeStorageAdapterModule.html":{},"injectables/NextcloudStrategy.html":{}}}],["nextcloudstrategy.generategroupfoldername(team.id",{"_index":16770,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["nextcloudtool",{"_index":16782,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["nextmarker",{"_index":7257,"title":{},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{}}}],["ni_",{"_index":19599,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["node",{"_index":3563,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{},"injectables/ContentElementService.html":{},"injectables/FileSystemAdapter.html":{},"todo.html":{}}}],["node.entity",{"_index":3472,"title":{},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["node.entity.ts",{"_index":4401,"title":{},"body":{"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["node.entity.ts:10",{"_index":10275,"title":{},"body":{"entities/ExternalToolElementNodeEntity.html":{},"entities/RichTextElementNode.html":{},"entities/SubmissionItemNode.html":{}}}],["node.entity.ts:12",{"_index":11506,"title":{},"body":{"entities/FileElementNode.html":{},"entities/LinkElementNode.html":{}}}],["node.entity.ts:13",{"_index":18892,"title":{},"body":{"entities/RichTextElementNode.html":{}}}],["node.entity.ts:15",{"_index":15658,"title":{},"body":{"entities/LinkElementNode.html":{}}}],["node.entity.ts:16",{"_index":4402,"title":{},"body":{"entities/CardNode.html":{},"entities/SubmissionItemNode.html":{}}}],["node.entity.ts:23",{"_index":5438,"title":{},"body":{"entities/ColumnBoardNode.html":{}}}],["node.entity.ts:26",{"_index":5436,"title":{},"body":{"entities/ColumnBoardNode.html":{}}}],["node.entity.ts:9",{"_index":9621,"title":{},"body":{"entities/DrawingElementNode.html":{},"entities/FileElementNode.html":{},"entities/LinkElementNode.html":{},"entities/SubmissionContainerElementNode.html":{}}}],["node.js",{"_index":24593,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["node.level",{"_index":3911,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["node.pathofchildren",{"_index":3913,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["node.repo",{"_index":3623,"title":{},"body":{"injectables/BoardDoRepo.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["node.repo.ts",{"_index":3897,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["node.repo.ts:10",{"_index":3901,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["node.repo.ts:20",{"_index":3903,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["node.repo.ts:31",{"_index":3905,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["node.repo.ts:7",{"_index":3900,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["node.title",{"_index":3642,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["node.usedobuilder(this",{"_index":3553,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["node:fs/promises",{"_index":14863,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["node:path",{"_index":133,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["node_env",{"_index":20132,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["node_env=test",{"_index":20253,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["nodeclam",{"_index":1262,"title":{},"body":{"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{}}}],["nodeclam().init",{"_index":1279,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["nodeenvtype",{"_index":20136,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["nodejs",{"_index":11640,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["nodejs.timeout",{"_index":19438,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["nodeps",{"_index":24534,"title":{},"body":{"dependencies.html":{}}}],["nodeps.git",{"_index":24536,"title":{},"body":{"dependencies.html":{}}}],["nodes",{"_index":3906,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["nodes.filter((n",{"_index":3927,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["nodes.map((node",{"_index":3915,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["nofutureavailabledate",{"_index":21666,"title":{},"body":{"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{}}}],["non",{"_index":6671,"title":{},"body":{"classes/ContextExternalToolConfigurationStatusResponse.html":{},"injectables/ElementUc.html":{},"classes/MongoPatterns.html":{},"classes/ReferencesService.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/StorageProviderEncryptedStringType.html":{},"license.html":{},"todo.html":{}}}],["noncommercially",{"_index":24903,"title":{},"body":{"license.html":{}}}],["none",{"_index":1582,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/CollectionFilePath.html":{},"interfaces/CustomLtiProperty.html":{},"classes/FilterImportUserParams.html":{},"interfaces/IImportUserScope.html":{},"entities/LtiTool.html":{},"interfaces/NameMatch.html":{},"classes/OauthClientBody.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["nonemptytargets",{"_index":16702,"title":{},"body":{"injectables/NewsUc.html":{}}}],["nonoptionalparamnames",{"_index":11166,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["nonoptionalparamnames.includes(name",{"_index":11176,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["nonoptionalparamnames.some((name",{"_index":11173,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["nonoptionalparams",{"_index":11163,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["nonoptionalparams.map((parameter",{"_index":11167,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["normal",{"_index":1930,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"license.html":{}}}],["normalizepassword",{"_index":1690,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["normalizepassword(password",{"_index":1703,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["normalizeusername",{"_index":1691,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["normalizeusername(username",{"_index":1705,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["normally",{"_index":24931,"title":{},"body":{"license.html":{}}}],["nosuchbucket",{"_index":19383,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["nosuchkey",{"_index":19378,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["not_found",{"_index":16826,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["notacceptableexception",{"_index":22090,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["notacceptableexception(`filename",{"_index":22104,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["notation",{"_index":2606,"title":{},"body":{"classes/BaseFactory.html":{}}}],["note",{"_index":802,"title":{},"body":{"injectables/AccountRepo.html":{},"interfaces/AuthenticationResponse.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/CardSkeletonResponse.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"injectables/TaskRepo.html":{},"classes/TestApiClient.html":{},"index.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["notfinished",{"_index":21833,"title":{},"body":{"injectables/TaskUC.html":{}}}],["notfound",{"_index":8750,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["notfounderror",{"_index":16010,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["notfounderror(`ltitool",{"_index":16013,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["notfoundexception",{"_index":2923,"title":{},"body":{"entities/Board.html":{},"controllers/BoardController.html":{},"injectables/BoardDoRepo.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"injectables/CardService.html":{},"controllers/ColumnController.html":{},"injectables/ContentElementService.html":{},"controllers/CourseController.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardUc.html":{},"controllers/ElementController.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"injectables/FeathersAuthProvider.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GridElement.html":{},"modules/H5PEditorModule.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/IGridElement.html":{},"interfaces/LibrariesContentType.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/PreviewService.html":{},"injectables/S3ClientAdapter.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"controllers/ShareTokenController.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"injectables/TaskCopyUC.html":{},"controllers/TldrawController.html":{},"modules/TldrawModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{}}}],["notfoundexception('board",{"_index":2965,"title":{},"body":{"entities/Board.html":{}}}],["notfoundexception('could",{"_index":10231,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SubmissionItemUc.html":{},"injectables/TaskCopyUC.html":{}}}],["notfoundexception('no",{"_index":8484,"title":{},"body":{"classes/DashboardEntity.html":{},"injectables/DashboardUc.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["notfoundexception('nosuchkey",{"_index":19379,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["notfoundexception('some",{"_index":4461,"title":{},"body":{"injectables/CardService.html":{}}}],["notfoundexception('there",{"_index":6416,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["notfoundexception('this",{"_index":13377,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["notfoundexception(`the",{"_index":12331,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["notfoundexception(`there",{"_index":3631,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/ContentElementService.html":{},"injectables/SubmissionItemService.html":{}}}],["notfoundexception(`unable",{"_index":17370,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["notfoundexception(null",{"_index":19412,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["notfoundexception})@apibody({required",{"_index":5585,"title":{},"body":{"controllers/ColumnController.html":{},"controllers/ElementController.html":{}}}],["notfoundexception})@apiresponse({status",{"_index":20314,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["notfoundexception})@get(':boardid",{"_index":3201,"title":{},"body":{"controllers/BoardController.html":{}}}],["notfoundexception})@get(':boardid/context",{"_index":3196,"title":{},"body":{"controllers/BoardController.html":{}}}],["notfoundexception})@httpcode(201)@patch(':contentelementid/content",{"_index":9780,"title":{},"body":{"controllers/ElementController.html":{}}}],["notfoundexception})@httpcode(204)@delete(':boardid",{"_index":3192,"title":{},"body":{"controllers/BoardController.html":{}}}],["notfoundexception})@httpcode(204)@delete(':cardid",{"_index":4334,"title":{},"body":{"controllers/CardController.html":{}}}],["notfoundexception})@httpcode(204)@delete(':columnid",{"_index":5589,"title":{},"body":{"controllers/ColumnController.html":{}}}],["notfoundexception})@httpcode(204)@delete(':contentelementid",{"_index":9771,"title":{},"body":{"controllers/ElementController.html":{}}}],["notfoundexception})@httpcode(204)@delete(':docname",{"_index":22324,"title":{},"body":{"controllers/TldrawController.html":{}}}],["notfoundexception})@httpcode(204)@patch(':boardid/title",{"_index":3207,"title":{},"body":{"controllers/BoardController.html":{}}}],["notfoundexception})@httpcode(204)@patch(':cardid/height",{"_index":4349,"title":{},"body":{"controllers/CardController.html":{}}}],["notfoundexception})@httpcode(204)@patch(':cardid/title",{"_index":4352,"title":{},"body":{"controllers/CardController.html":{}}}],["notfoundexception})@httpcode(204)@patch(':columnid/title",{"_index":5596,"title":{},"body":{"controllers/ColumnController.html":{}}}],["notfoundexception})@httpcode(204)@patch(':submissionitemid",{"_index":4015,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["notfoundexception})@httpcode(204)@put(':cardid/position",{"_index":4345,"title":{},"body":{"controllers/CardController.html":{}}}],["notfoundexception})@httpcode(204)@put(':columnid/position",{"_index":5593,"title":{},"body":{"controllers/ColumnController.html":{}}}],["notfoundexception})@httpcode(204)@put(':contentelementid/position",{"_index":9775,"title":{},"body":{"controllers/ElementController.html":{}}}],["notfoundexception})@post(':boardid/columns",{"_index":3187,"title":{},"body":{"controllers/BoardController.html":{}}}],["notfoundexception})@post(':cardid/elements",{"_index":4330,"title":{},"body":{"controllers/CardController.html":{}}}],["notfoundexception})@post(':submissionitemid/elements",{"_index":4004,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["notfoundloggableexception",{"_index":4815,"title":{"classes/NotFoundLoggableException.html":{}},"body":{"injectables/ClassesRepo.html":{},"injectables/ColumnBoardService.html":{},"injectables/FeathersRosterService.html":{},"injectables/GroupService.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PseudonymUc.html":{},"injectables/SystemUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{}}}],["notfoundloggableexception('userloginmigration",{"_index":23705,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["notfoundloggableexception(class.name",{"_index":4830,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["notfoundloggableexception(columnboard.name",{"_index":5475,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["notfoundloggableexception(contextexternaltool.name",{"_index":11382,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["notfoundloggableexception(externaltool.name",{"_index":11378,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["notfoundloggableexception(group.name",{"_index":12947,"title":{},"body":{"injectables/GroupService.html":{}}}],["notfoundloggableexception(pseudonym.name",{"_index":11371,"title":{},"body":{"injectables/FeathersRosterService.html":{},"injectables/PseudonymUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["notfoundloggableexception(schoolexternaltool.name",{"_index":11380,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["notfoundloggableexception(system.name",{"_index":21248,"title":{},"body":{"injectables/SystemUc.html":{}}}],["notfoundloggableexception(userdo.name",{"_index":17669,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["nothing",{"_index":16304,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{},"license.html":{}}}],["notice",{"_index":15721,"title":{},"body":{"injectables/Logger.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["notice(loggable",{"_index":15728,"title":{},"body":{"injectables/Logger.html":{}}}],["notices",{"_index":24760,"title":{},"body":{"license.html":{}}}],["notifies",{"_index":25026,"title":{},"body":{"license.html":{}}}],["notify",{"_index":25022,"title":{},"body":{"license.html":{}}}],["notimplementedexception",{"_index":3507,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"classes/FilesStorageMapper.html":{},"classes/H5PContentMapper.html":{},"injectables/LessonRule.html":{},"classes/MetadataTypeMapper.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RuleManager.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenParentTypeMapper.html":{},"injectables/ShareTokenUC.html":{},"injectables/SubmissionRule.html":{}}}],["notimplementedexception('action",{"_index":15524,"title":{},"body":{"injectables/LessonRule.html":{},"injectables/SubmissionRule.html":{}}}],["notimplementedexception('copy",{"_index":20511,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["notimplementedexception('import",{"_index":20530,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["notimplementedexception('only",{"_index":5411,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["notimplementedexception('repo_or_service_not_implement",{"_index":18648,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["notimplementedexception('rooms",{"_index":19169,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["notimplementedexception(`invalid",{"_index":3570,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["notimplementedexception(`unknown",{"_index":6362,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["notimplementedexception(`unsupported",{"_index":6389,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["notimplementedexception})@post(':token/import')@requesttimeout(undefined.incoming_request_timeout_copy_api",{"_index":20317,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["notmigratedusers",{"_index":20001,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["notmigratedusers.data.foreach((user",{"_index":20006,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["notwithstanding",{"_index":24982,"title":{},"body":{"license.html":{}}}],["nountildate",{"_index":7884,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["november",{"_index":24649,"title":{},"body":{"license.html":{}}}],["now",{"_index":1923,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"interfaces/CollectionFilePath.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/CreateNewsParams.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/NewsScope.html":{},"entities/Submission.html":{},"injectables/SubmissionItemService.html":{},"interfaces/SubmissionProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/UserLoginMigrationService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["now.getfullyear()}_",{"_index":5195,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["now.getmonth",{"_index":5196,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["nowplusdays",{"_index":20466,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["nowplusdays(days",{"_index":20487,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["now}ms",{"_index":9757,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["npm",{"_index":25235,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["npx",{"_index":25905,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["null",{"_index":142,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"injectables/AntivirusService.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"injectables/BBBService.html":{},"injectables/BasicToolLaunchStrategy.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/CalendarService.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolService.html":{},"injectables/DeletionClient.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"injectables/ExternalToolParameterValidationService.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileRecordScope.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"classes/GuardAgainst.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/JwtExtractor.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/MigrationCheckService.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SanisResponseMapper.html":{},"entities/SchoolEntity.html":{},"injectables/SchoolMigrationService.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StorageProviderEncryptedStringType.html":{},"classes/StringValidator.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"classes/TaskWithStatusVo.html":{},"classes/TestApiClient.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolReferenceUc.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{}}}],["nullable",{"_index":196,"title":{},"body":{"classes/AcceptQuery.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"classes/AccountSearchQueryParams.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/BoardUrlParams.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"classes/ColumnUrlParams.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolIdParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"classes/CourseUrlParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameterEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DashboardUrlParams.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/ExternalToolElementContent.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"classes/ExternalToolElementResponse.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolIdParams.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/GetMetaTagDataBody.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"classes/IdParams.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfigEntity.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibraryName.html":{},"classes/ListOauthClientsParams.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/LtiTool.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/NewsUrlParams.html":{},"classes/OAuthRejectableBody.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"interfaces/ParentInfo.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/Path.html":{},"classes/PseudonymParams.html":{},"classes/PublicSystemResponse.html":{},"classes/RenameBodyParams.html":{},"classes/RevokeConsentParams.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolIdParams.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenProperties.html":{},"classes/ShareTokenUrlParams.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"entities/Submission.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionItemUrlParams.html":{},"interfaces/SubmissionProperties.html":{},"classes/SubmissionUrlParams.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"classes/TaskCreateParams.html":{},"interfaces/TaskParent.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{},"classes/TeamUrlParams.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolReferenceResponse.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserParams.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["nullish",{"_index":20614,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["nullorundefined",{"_index":13030,"title":{},"body":{"classes/GuardAgainst.html":{}}}],["nullorundefined(value",{"_index":13031,"title":{},"body":{"classes/GuardAgainst.html":{}}}],["num",{"_index":7350,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["number",{"_index":55,"title":{},"body":{"classes/AbstractAccountService.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"interfaces/AccountConfig.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AdminIdAndToken.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AuthenticationResponse.html":{},"classes/AuthorizationError.html":{},"classes/AxiosResponseImp.html":{},"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"classes/BaseFactory.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoService.html":{},"classes/BoardLessonResponse.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"interfaces/ClassProps.html":{},"interfaces/CleanOptions.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"injectables/ContentElementService.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolResponse.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"interfaces/CopyFiles.html":{},"classes/County.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CustomParameterFactory.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DashboardResponse.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionParams.html":{},"injectables/DeletionExecutionUc.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorResponse.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolElement.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"interfaces/FeathersError.html":{},"injectables/FeathersRosterService.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"interfaces/File.html":{},"interfaces/FileDO.html":{},"classes/FileElement.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FilesRepo.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"classes/ForbiddenOperationError.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GridElement.html":{},"classes/GroupResponseMapper.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"entities/InstalledLibrary.html":{},"interfaces/InterceptorConfig.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JwtPayload.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConnectionError.html":{},"classes/LdapUserMigrationException.html":{},"classes/LegacySchoolFactory.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElement.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LoginRequestBody.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"interfaces/Meta.html":{},"injectables/MetaTagExtractorService.html":{},"classes/MigrationAlreadyActivatedException.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/OAuthRejectableBody.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/OauthProviderService.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/Page.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"classes/PrometheusMetricsConfig.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/RecursiveSaveVisitor.html":{},"interfaces/RejectRequestBody.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"interfaces/RetryOptions.html":{},"classes/RichTextElement.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUserFactory.html":{},"injectables/RoleRepo.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/S3Config.html":{},"interfaces/ScanResult.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolInMigrationLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/ServerConfig.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"classes/ShareTokenBodyParams.html":{},"injectables/ShareTokenUC.html":{},"classes/SortHelper.html":{},"entities/Submission.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionProperties.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SystemEntityFactory.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"classes/TaskResponse.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusResponse.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestConnection.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"interfaces/TldrawConfig.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolConfiguration.html":{},"interfaces/ToolVersion.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"injectables/UserRepo.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorLoggableException.html":{},"classes/WsSharedDocDo.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["number(a.width",{"_index":16271,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["number(b.width",{"_index":16272,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["number(batchsize",{"_index":8896,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["number(matches.groups.number",{"_index":7354,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["number(options.callsdelayms",{"_index":9306,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["number(options.deleteinminutes",{"_index":9304,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["number(options.limit",{"_index":9089,"title":{},"body":{"classes/DeletionExecutionConsole.html":{}}}],["number(options.pagesize",{"_index":4887,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["number(options.skip",{"_index":4913,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["number.isnan(this.deletedat.gettime",{"_index":11586,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["number.strategy.ts",{"_index":2063,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{}}}],["number.strategy.ts:12",{"_index":2068,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{}}}],["number.strategy.ts:9",{"_index":2066,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{}}}],["numbered",{"_index":25154,"title":{},"body":{"license.html":{}}}],["numberofdrafttasks",{"_index":3728,"title":{},"body":{"classes/BoardLessonResponse.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["numberoffailingfilesinbatch",{"_index":8936,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["numberoffilesinbatch",{"_index":8929,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["numberofplannedtasks",{"_index":3729,"title":{},"body":{"classes/BoardLessonResponse.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["numberofprocessedfiles",{"_index":8930,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["numberofpublishedtasks",{"_index":3730,"title":{},"body":{"classes/BoardLessonResponse.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["numberofstudents",{"_index":7701,"title":{},"body":{"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{}}}],["numberofsubmitters",{"_index":21341,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["numberofsubmitterswithgrade",{"_index":21349,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["numberofteachers",{"_index":7704,"title":{},"body":{"classes/CourseFactory.html":{}}}],["numberofteammembers",{"_index":20781,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["numbers",{"_index":16404,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["numerous",{"_index":25687,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["nuxt",{"_index":25879,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["nvmrc",{"_index":25289,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["o",{"_index":8781,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["o.id",{"_index":3649,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["o.key",{"_index":19418,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["oauth",{"_index":1470,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/HydraOauthFailedLoggableException.html":{},"interfaces/ICurrentUser.html":{},"classes/IdParams.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/ListOauthClientsParams.html":{},"controllers/LoginController.html":{},"classes/LoginRequestBody.html":{},"injectables/Lti11EncryptionService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthLoginResponse.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderServiceModule.html":{},"controllers/OauthSSOController.html":{},"classes/PublicSystemResponse.html":{},"classes/System.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemFilterParams.html":{},"interfaces/SystemProps.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"dependencies.html":{}}}],["oauth.module",{"_index":17003,"title":{},"body":{"modules/OauthApiModule.html":{}}}],["oauth.service",{"_index":13750,"title":{},"body":{"modules/IdentityManagementModule.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"modules/KeycloakModule.html":{}}}],["oauth.service.ts",{"_index":13757,"title":{},"body":{"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["oauth.service.ts:13",{"_index":14686,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["oauth.service.ts:15",{"_index":13762,"title":{},"body":{"classes/IdentityManagementOauthService.html":{}}}],["oauth.service.ts:23",{"_index":13764,"title":{},"body":{"classes/IdentityManagementOauthService.html":{}}}],["oauth.service.ts:50",{"_index":14690,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["oauth.service.ts:9",{"_index":13761,"title":{},"body":{"classes/IdentityManagementOauthService.html":{}}}],["oauth.uc.ts",{"_index":13429,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["oauth.uc.ts:12",{"_index":13438,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["oauth.uc.ts:21",{"_index":13446,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["oauth.uc.ts:23",{"_index":13440,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["oauth.uc.ts:40",{"_index":13447,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["oauth.uc.ts:42",{"_index":13445,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["oauth.uc.ts:59",{"_index":13442,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["oauth2",{"_index":6222,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/ExternalToolSearchParams.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"classes/OauthClientBody.html":{},"interfaces/OauthCurrentUser.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/RevokeConsentParams.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"dependencies.html":{}}}],["oauth2')@apiokresponse({description",{"_index":23440,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["oauth2.0",{"_index":15834,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["oauth2authorizationbodyparams",{"_index":15792,"title":{"classes/Oauth2AuthorizationBodyParams.html":{}},"body":{"controllers/LoginController.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"injectables/Oauth2Strategy.html":{}}}],["oauth2clientid",{"_index":11308,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["oauth2config",{"_index":10692,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{}}}],["oauth2config.baseurl",{"_index":10714,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["oauth2config.clientid",{"_index":10715,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolServiceMapper.html":{}}}],["oauth2config.clientsecret",{"_index":11013,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["oauth2config.frontchannellogouturi",{"_index":11019,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["oauth2config.redirecturis",{"_index":11018,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["oauth2config.scope",{"_index":11014,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["oauth2config.skipconsent",{"_index":10716,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["oauth2config.tokenendpointauthmethod",{"_index":11016,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["oauth2config.type",{"_index":10713,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["oauth2migrationparams",{"_index":16920,"title":{"classes/Oauth2MigrationParams.html":{}},"body":{"classes/Oauth2MigrationParams.html":{},"controllers/UserLoginMigrationController.html":{}}}],["oauth2params",{"_index":8268,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["oauth2strategy",{"_index":1533,"title":{"injectables/Oauth2Strategy.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/Oauth2Strategy.html":{}}}],["oauth2toolconfig",{"_index":8252,"title":{"classes/Oauth2ToolConfig.html":{}},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolFactory.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["oauth2toolconfig(props.config",{"_index":10094,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["oauth2toolconfigcreate",{"_index":10775,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["oauth2toolconfigcreateparams",{"_index":10239,"title":{"classes/Oauth2ToolConfigCreateParams.html":{}},"body":{"classes/ExternalToolCreateParams.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/Oauth2ToolConfigCreateParams.html":{}}}],["oauth2toolconfigentity",{"_index":10288,"title":{"classes/Oauth2ToolConfigEntity.html":{}},"body":{"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/Oauth2ToolConfigEntity.html":{}}}],["oauth2toolconfigfactory",{"_index":8258,"title":{"classes/Oauth2ToolConfigFactory.html":{}},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["oauth2toolconfigfactory.build(customparam",{"_index":8290,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["oauth2toolconfigfactory.define(oauth2toolconfig",{"_index":8269,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["oauth2toolconfigresponse",{"_index":10847,"title":{"classes/Oauth2ToolConfigResponse.html":{}},"body":{"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["oauth2toolconfigupdate",{"_index":10779,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["oauth2toolconfigupdateparams",{"_index":10777,"title":{"classes/Oauth2ToolConfigUpdateParams.html":{}},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["oauth2toollaunchstrategy",{"_index":16830,"title":{"injectables/OAuth2ToolLaunchStrategy.html":{}},"body":{"injectables/OAuth2ToolLaunchStrategy.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolLaunchService.html":{}}}],["oauth_provisioning_enabled",{"_index":19676,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["oauth_token_request_error",{"_index":22577,"title":{},"body":{"classes/TokenRequestLoggableException.html":{}}}],["oauthadapterservice",{"_index":16855,"title":{"injectables/OauthAdapterService.html":{}},"body":{"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthModule.html":{}}}],["oauthapimodule",{"_index":16995,"title":{"modules/OauthApiModule.html":{}},"body":{"modules/OauthApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["oauthclient",{"_index":10965,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["oauthclient.client_secret",{"_index":17440,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["oauthclient.frontchannel_logout_uri",{"_index":11008,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["oauthclient.redirect_uris",{"_index":11006,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["oauthclient.scope",{"_index":11002,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["oauthclient.token_endpoint_auth_method",{"_index":11004,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["oauthclientbody",{"_index":17004,"title":{"classes/OauthClientBody.html":{}},"body":{"classes/OauthClientBody.html":{},"controllers/OauthProviderController.html":{}}}],["oauthclientid",{"_index":8112,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"controllers/OauthSSOController.html":{}}}],["oauthclientresponse",{"_index":6279,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["oauthconfig",{"_index":13511,"title":{"classes/OauthConfig.html":{}},"body":{"injectables/HydraSsoService.html":{},"classes/LdapConfigEntity.html":{},"injectables/LegacySystemService.html":{},"injectables/OAuthService.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/PublicSystemResponse.html":{},"classes/System.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"interfaces/SystemProps.html":{},"classes/SystemResponseMapper.html":{},"classes/SystemScope.html":{}}}],["oauthconfig.authendpoint",{"_index":14954,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.clientid",{"_index":13526,"title":{},"body":{"injectables/HydraSsoService.html":{},"classes/LdapConfigEntity.html":{},"injectables/OAuthService.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.clientsecret",{"_index":14944,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.granttype",{"_index":14950,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.idphint",{"_index":14946,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.issuer",{"_index":14959,"title":{},"body":{"classes/LdapConfigEntity.html":{},"injectables/OAuthService.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.jwksendpoint",{"_index":14961,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.logoutendpoint",{"_index":14957,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.provider",{"_index":14955,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.redirecturi",{"_index":13527,"title":{},"body":{"injectables/HydraSsoService.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.responsetype",{"_index":13524,"title":{},"body":{"injectables/HydraSsoService.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.scope",{"_index":13525,"title":{},"body":{"injectables/HydraSsoService.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfig.tokenendpoint",{"_index":14948,"title":{},"body":{"classes/LdapConfigEntity.html":{},"injectables/OAuthService.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfigdto",{"_index":13765,"title":{"classes/OauthConfigDto.html":{}},"body":{"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemDto.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.authendpoint",{"_index":17059,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.clientid",{"_index":17053,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.clientsecret",{"_index":17054,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{}}}],["oauthconfigdto.granttype",{"_index":17057,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.idphint",{"_index":17055,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.issuer",{"_index":17064,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.jwksendpoint",{"_index":17065,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.logoutendpoint",{"_index":17063,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.provider",{"_index":17062,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.redirecturi",{"_index":17056,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.responsetype",{"_index":17060,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.scope",{"_index":17061,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigdto.tokenendpoint",{"_index":17058,"title":{},"body":{"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigentity",{"_index":13450,"title":{"classes/OauthConfigEntity.html":{}},"body":{"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"classes/LdapConfigEntity.html":{},"injectables/OAuthService.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{}}}],["oauthconfigmissingloggableexception",{"_index":16874,"title":{"classes/OauthConfigMissingLoggableException.html":{}},"body":{"injectables/OAuthService.html":{},"classes/OauthConfigMissingLoggableException.html":{}}}],["oauthconfigmissingloggableexception(systemid",{"_index":16882,"title":{},"body":{"injectables/OAuthService.html":{}}}],["oauthconfigresponse",{"_index":17098,"title":{"classes/OauthConfigResponse.html":{}},"body":{"classes/OauthConfigResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemResponseMapper.html":{}}}],["oauthconfigresponse.authendpoint",{"_index":17118,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.clientid",{"_index":17113,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.granttype",{"_index":17116,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.idphint",{"_index":17114,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.issuer",{"_index":17123,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.jwksendpoint",{"_index":17124,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.logoutendpoint",{"_index":17122,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.provider",{"_index":17121,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.redirecturi",{"_index":17115,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.responsetype",{"_index":17119,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.scope",{"_index":17120,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigresponse.tokenendpoint",{"_index":17117,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["oauthconfigs",{"_index":10999,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["oauthcurrentuser",{"_index":8059,"title":{"interfaces/OauthCurrentUser.html":{}},"body":{"classes/CurrentUserMapper.html":{},"controllers/LoginController.html":{},"injectables/Oauth2Strategy.html":{},"interfaces/OauthCurrentUser.html":{},"injectables/UserService.html":{}}}],["oauthdata",{"_index":14282,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["oauthdatadto",{"_index":14249,"title":{"classes/OauthDataDto.html":{}},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OAuthService.html":{},"classes/OauthDataDto.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["oauthdatastrategyinputdto",{"_index":14254,"title":{"classes/OauthDataStrategyInputDto.html":{}},"body":{"injectables/IservProvisioningStrategy.html":{},"classes/OauthDataStrategyInputDto.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["oauthencryptionservice",{"_index":13502,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OAuthService.html":{}}}],["oauthgranttype",{"_index":1505,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/TokenRequestMapper.html":{}}}],["oauthgranttype.authorization_code_grant",{"_index":1502,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/TokenRequestMapper.html":{}}}],["oauthloginresponse",{"_index":15796,"title":{"classes/OauthLoginResponse.html":{}},"body":{"controllers/LoginController.html":{},"classes/LoginResponseMapper.html":{},"classes/OauthLoginResponse.html":{}}}],["oauthmigrationfinished",{"_index":15221,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["oauthmigrationmandatory",{"_index":15219,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["oauthmigrationpossible",{"_index":15220,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["oauthmodule",{"_index":1523,"title":{"modules/OauthModule.html":{}},"body":{"modules/AuthenticationModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/UserLoginMigrationApiModule.html":{}}}],["oauthprocessdto",{"_index":16833,"title":{"classes/OAuthProcessDto.html":{}},"body":{"classes/OAuthProcessDto.html":{}}}],["oauthproviderapimodule",{"_index":17166,"title":{"modules/OauthProviderApiModule.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["oauthproviderclientcruduc",{"_index":17171,"title":{"injectables/OauthProviderClientCrudUc.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{}}}],["oauthproviderconsentflowuc",{"_index":17172,"title":{"injectables/OauthProviderConsentFlowUc.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{}}}],["oauthprovidercontroller",{"_index":17178,"title":{"controllers/OauthProviderController.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"controllers/OauthProviderController.html":{}}}],["oauthproviderloginflowservice",{"_index":13705,"title":{"injectables/OauthProviderLoginFlowService.html":{}},"body":{"injectables/IdTokenService.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"modules/OauthProviderModule.html":{}}}],["oauthproviderloginflowuc",{"_index":17173,"title":{"injectables/OauthProviderLoginFlowUc.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["oauthproviderlogoutflowuc",{"_index":17174,"title":{"injectables/OauthProviderLogoutFlowUc.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLogoutFlowUc.html":{}}}],["oauthprovidermodule",{"_index":17170,"title":{"modules/OauthProviderModule.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{}}}],["oauthproviderrequestmapper",{"_index":17389,"title":{"classes/OauthProviderRequestMapper.html":{}},"body":{"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{}}}],["oauthproviderrequestmapper.mapcreateacceptloginrequestbody",{"_index":17404,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["oauthproviderresponsemapper",{"_index":17175,"title":{"injectables/OauthProviderResponseMapper.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["oauthproviderservice",{"_index":10932,"title":{"classes/OauthProviderService.html":{}},"body":{"injectables/ExternalToolService.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{}}}],["oauthproviderservicemodule",{"_index":10474,"title":{"modules/OauthProviderServiceModule.html":{}},"body":{"modules/ExternalToolModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/OauthProviderServiceModule.html":{}}}],["oauthprovideruc",{"_index":17176,"title":{"injectables/OauthProviderUc.html":{}},"body":{"modules/OauthProviderApiModule.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderUc.html":{}}}],["oauthprovisioningenabled",{"_index":19677,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["oauthrejectablebody",{"_index":6216,"title":{"classes/OAuthRejectableBody.html":{}},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["oauthrejectablebody:13",{"_index":6242,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["oauthrejectablebody:23",{"_index":6250,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["oauthrejectablebody:32",{"_index":6252,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["oauthrejectablebody:41",{"_index":6253,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["oauthrejectablebody:50",{"_index":6257,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["oauthscope",{"_index":13715,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["oauthservice",{"_index":13436,"title":{"injectables/OAuthService.html":{}},"body":{"injectables/HydraOauthUc.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"modules/OauthModule.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["oauthssocontroller",{"_index":17000,"title":{"controllers/OauthSSOController.html":{}},"body":{"modules/OauthApiModule.html":{},"controllers/OauthSSOController.html":{}}}],["oauthssoerrorloggableexception",{"_index":1463,"title":{"classes/OauthSsoErrorLoggableException.html":{}},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["oauthssoerrorloggableexception:17",{"_index":23800,"title":{},"body":{"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["oauthssoerrorloggableexception:5",{"_index":13697,"title":{},"body":{"classes/IdTokenInvalidLoggableException.html":{}}}],["oauthssoerrorloggableexception:9",{"_index":1467,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/OauthConfigMissingLoggableException.html":{}}}],["oauthsystems",{"_index":15356,"title":{},"body":{"injectables/LegacySystemService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["oauthsystems.find((system",{"_index":23676,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["oauthtoken",{"_index":17506,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["oauthtokendto",{"_index":13451,"title":{"classes/OAuthTokenDto.html":{}},"body":{"injectables/HydraOauthUc.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"injectables/Oauth2Strategy.html":{},"controllers/OauthSSOController.html":{},"classes/TokenRequestMapper.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["oauthtokenresponse",{"_index":16878,"title":{"interfaces/OauthTokenResponse.html":{}},"body":{"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{},"interfaces/OauthTokenResponse.html":{},"classes/TokenRequestMapper.html":{}}}],["oauthtokens",{"_index":13456,"title":{},"body":{"injectables/HydraOauthUc.html":{},"injectables/OAuthService.html":{}}}],["obfuscated",{"_index":12641,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["obfuscated_subject",{"_index":14206,"title":{},"body":{"interfaces/IntrospectResponse.html":{}}}],["obj",{"_index":19534,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["obj.id",{"_index":3080,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["obj[key",{"_index":19567,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["object",{"_index":185,"title":{"additional-documentation/nestjs-application/domain-object-validation.html":{}},"body":{"interfaces/AcceptLoginRequestBody.html":{},"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AuthCodeFailureLoggableException.html":{},"interfaces/AuthenticationResponse.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/BusinessError.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"interfaces/ClassProps.html":{},"classes/ColumnBoardFactory.html":{},"classes/ConsentResponse.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"injectables/CopyHelperService.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestProps.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolRepo.html":{},"interfaces/FileDomainObjectProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"classes/H5PContentFactory.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/IntrospectResponse.html":{},"classes/LdapConfigEntity.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"classes/LessonFactory.html":{},"interfaces/LibrariesContentType.html":{},"classes/LoggingUtils.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/MaterialFactory.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"interfaces/ParentInfo.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderOidcContext.html":{},"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"classes/RocketChatUserFactory.html":{},"interfaces/RocketChatUserProps.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolExternalToolRepo.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SubmissionFactory.html":{},"classes/System.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRule.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskUpdateParams.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"interfaces/UserBoardRoles.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserService.html":{},"injectables/VideoConferenceRepo.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["object.assign(entity",{"_index":2591,"title":{},"body":{"classes/BaseFactory.html":{}}}],["object.assign(this",{"_index":3709,"title":{},"body":{"entities/BoardElement.html":{},"classes/ConsentResponse.html":{},"entities/CourseNews.html":{},"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"classes/LoginResponse-1.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["object.constructor.name",{"_index":1989,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["object.defineproperty(entity",{"_index":9552,"title":{},"body":{"classes/DoBaseFactory.html":{}}}],["object.entries(params",{"_index":16690,"title":{},"body":{"injectables/NewsUc.html":{}}}],["object.factory.ts",{"_index":9559,"title":{},"body":{"classes/DomainObjectFactory.html":{}}}],["object.keys(entitydata).foreach((key",{"_index":2517,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["object.keys(obj).some((key",{"_index":19566,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["object.keys(object).foreach((key",{"_index":2423,"title":{},"body":{"injectables/BBBService.html":{}}}],["object.keys(payload).length",{"_index":2782,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["object.keys(queryordermap",{"_index":11028,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{},"injectables/UserDORepo.html":{}}}],["object.setprototypeof(this",{"_index":1098,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["object.ts",{"_index":1769,"title":{},"body":{"interfaces/AuthorizableObject.html":{},"classes/BaseDomainObject.html":{},"classes/DomainObject.html":{}}}],["object.ts:14",{"_index":9556,"title":{},"body":{"classes/DomainObject.html":{}}}],["object.ts:18",{"_index":9555,"title":{},"body":{"classes/DomainObject.html":{}}}],["object.ts:8",{"_index":9554,"title":{},"body":{"classes/DomainObject.html":{}}}],["object.ts:9",{"_index":2522,"title":{},"body":{"classes/BaseDomainObject.html":{}}}],["object.values(filerecordparenttype",{"_index":12225,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["object.values(newstargetmodel",{"_index":16501,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{}}}],["object.values(previewinputmimetypes).includes(original.contenttype",{"_index":17928,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["object.values(previewinputmimetypes).includes(this.mimetype",{"_index":11830,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["object.values(toolcontexttype",{"_index":10173,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["object.values(toolcontexttype).map(async",{"_index":10465,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{},"injectables/SchoolExternalToolMetadataService.html":{}}}],["object.values(validationerror.constraints",{"_index":1410,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["object],[object",{"_index":2454,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserService.html":{},"injectables/VideoConferenceRepo.html":{}}}],["objectid",{"_index":49,"title":{},"body":{"classes/AbstractAccountService.html":{},"entities/Account.html":{},"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"injectables/BoardDoRepo.html":{},"classes/BoardManagementConsole.html":{},"injectables/CardService.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"injectables/ClassesRepo.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/CourseGroupRepo.html":{},"interfaces/CustomLtiProperty.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionRequestFactory.html":{},"injectables/DeletionRequestService.html":{},"classes/DoBaseFactory.html":{},"interfaces/EntityWithSchool.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FederalStateRepo.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"injectables/FilesRepo.html":{},"injectables/GroupRepo.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"entities/LtiTool.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/ParentInfo.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/SchoolYearRepo.html":{},"entities/ShareToken.html":{},"classes/ShareTokenFactory.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionItemFactory.html":{},"injectables/SubmissionItemService.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserDoFactory.html":{},"injectables/UserRepo.html":{}}}],["objectid().tohexstring",{"_index":4463,"title":{},"body":{"injectables/CardService.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionRequestFactory.html":{},"injectables/DeletionRequestService.html":{},"classes/DoBaseFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PseudonymService.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RocketChatUserFactory.html":{},"classes/ShareTokenFactory.html":{},"injectables/SubmissionItemFactory.html":{},"injectables/SubmissionItemService.html":{}}}],["objectid().tostring",{"_index":8722,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{},"classes/UserDoFactory.html":{}}}],["objectid(account.attdbcaccountid",{"_index":659,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["objectid(accountdto.systemid",{"_index":940,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["objectid(accountdto.userid",{"_index":937,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["objectid(creatorid",{"_index":6620,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["objectid(deletionrequestid",{"_index":9236,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["objectid(domainobject.deletionrequestid",{"_index":9215,"title":{},"body":{"classes/DeletionLogMapper.html":{}}}],["objectid(domainobject.schoolid",{"_index":4738,"title":{},"body":{"classes/ClassMapper.html":{}}}],["objectid(domainobject.successor",{"_index":4748,"title":{},"body":{"classes/ClassMapper.html":{}}}],["objectid(domainobject.userid",{"_index":18962,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["objectid(domainobject.year",{"_index":4744,"title":{},"body":{"classes/ClassMapper.html":{}}}],["objectid(entitydo.toolid",{"_index":10620,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["objectid(entitydo.userid",{"_index":10621,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["objectid(id",{"_index":655,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"classes/BaseFactory.html":{}}}],["objectid(id).tohexstring",{"_index":20364,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["objectid(owneruserid",{"_index":12124,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["objectid(parentid",{"_index":6618,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileRecordScope.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["objectid(permissionrefid",{"_index":12128,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["objectid(props.columnboardid",{"_index":5549,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["objectid(props.context.id",{"_index":5444,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["objectid(props.contextid",{"_index":20278,"title":{},"body":{"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["objectid(props.creatorid",{"_index":11606,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["objectid(props.iscopyfrom",{"_index":11798,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["objectid(props.lockid",{"_index":11610,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["objectid(props.origintoolid",{"_index":8143,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["objectid(props.ownerid",{"_index":11603,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["objectid(props.parentid",{"_index":11601,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["objectid(props.refid",{"_index":11736,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["objectid(props.schoolid",{"_index":11795,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["objectid(reference.id",{"_index":3645,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["objectid(refid",{"_index":11578,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["objectid(schoolid",{"_index":4818,"title":{},"body":{"injectables/ClassesRepo.html":{},"classes/ContentMetadata.html":{},"classes/FileRecordScope.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["objectid(systemid",{"_index":778,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["objectid(teacherid",{"_index":4740,"title":{},"body":{"classes/ClassMapper.html":{}}}],["objectid(toolid",{"_index":10601,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymsRepo.html":{}}}],["objectid(user.id",{"_index":12847,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["objectid(userid",{"_index":773,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/ClassMapper.html":{},"injectables/ClassesRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/LessonRepo.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/TeamsRepo.html":{}}}],["objectid.createfromhexstring(id",{"_index":8542,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["objectid.createfromhexstring(props.id",{"_index":8552,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["objectid.isvalid(courseid",{"_index":3771,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["objectid.isvalid(id",{"_index":654,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/ImportUserRepo.html":{}}}],["objectid.isvalid(schoolid",{"_index":14141,"title":{},"body":{"classes/ImportUserScope.html":{},"injectables/UserRepo.html":{}}}],["objectid.isvalid(userid",{"_index":14143,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["objectids",{"_index":774,"title":{},"body":{"injectables/AccountRepo.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["objectids.map((id",{"_index":7540,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["objectives",{"_index":25974,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["objectkeysrecursive",{"_index":7258,"title":{"interfaces/ObjectKeysRecursive.html":{}},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{}}}],["objectname",{"_index":18620,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["objects",{"_index":4168,"title":{},"body":{"injectables/BsonConverter.html":{},"interfaces/CollectionFilePath.html":{},"classes/DomainObjectFactory.html":{},"injectables/FederalStateService.html":{},"classes/LegacySchoolDo.html":{},"injectables/OidcProvisioningService.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolYearService.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["obligate",{"_index":25133,"title":{},"body":{"license.html":{}}}],["obligated",{"_index":24917,"title":{},"body":{"license.html":{}}}],["obligations",{"_index":24826,"title":{},"body":{"license.html":{}}}],["observable",{"_index":2382,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/HydraSsoService.html":{},"injectables/OauthAdapterService.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["occasionally",{"_index":24902,"title":{},"body":{"license.html":{}}}],["occur",{"_index":408,"title":{},"body":{"controllers/AccountController.html":{}}}],["occurred",{"_index":5048,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"classes/ForbiddenOperationError.html":{},"classes/GlobalErrorFilter.html":{}}}],["occurrences",{"_index":18671,"title":{},"body":{"classes/ReferencesService.html":{}}}],["occurring",{"_index":25033,"title":{},"body":{"license.html":{}}}],["occurs",{"_index":24955,"title":{},"body":{"license.html":{}}}],["ocs",{"_index":13013,"title":{},"body":{"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/Meta.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OcsResponse.html":{},"interfaces/SuccessfulRes.html":{}}}],["ocsresponse",{"_index":13012,"title":{"interfaces/OcsResponse.html":{}},"body":{"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/Meta.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OcsResponse.html":{},"interfaces/SuccessfulRes.html":{}}}],["odered",{"_index":16650,"title":{},"body":{"injectables/NewsUc.html":{}}}],["offer",{"_index":24689,"title":{},"body":{"license.html":{}}}],["offered",{"_index":24923,"title":{},"body":{"license.html":{}}}],["offering",{"_index":24906,"title":{},"body":{"license.html":{}}}],["offers",{"_index":25354,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["official",{"_index":10047,"title":{},"body":{"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"license.html":{}}}],["officialexternalschoolnumber",{"_index":19962,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["officialschoolnumber",{"_index":10033,"title":{},"body":{"classes/ExternalSchoolDto.html":{},"classes/IservMapper.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisResponseMapper.html":{},"entities/SchoolEntity.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["offline",{"_index":8261,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthProviderClientCrudUc.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["offset",{"_index":58,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/DeleteFilesUc.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/ImportUserRepo.html":{},"classes/ListOauthClientsParams.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/OauthProviderService.html":{},"injectables/TaskRepo.html":{},"injectables/UserDORepo.html":{}}}],["ogs",{"_index":16249,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["oid",{"_index":14295,"title":{},"body":{"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{}}}],["oidc",{"_index":14550,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/LoginResponse-1.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/SystemEntityFactory.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["oidc.mapper.ts",{"_index":21174,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["oidc.mapper.ts:12",{"_index":21179,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["oidc.mapper.ts:26",{"_index":21176,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["oidc.mapper.ts:5",{"_index":21177,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["oidc.service",{"_index":14543,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"modules/SystemModule.html":{}}}],["oidc.service.ts",{"_index":21187,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["oidc.service.ts:10",{"_index":21188,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["oidc.service.ts:13",{"_index":21190,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["oidc.service.ts:22",{"_index":21189,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["oidc/oidc.strategy",{"_index":19538,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["oidc/service/oidc",{"_index":19539,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["oidc_context",{"_index":6265,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["oidcconfig",{"_index":14510,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{},"classes/SystemScope.html":{}}}],["oidcconfig.authorizationurl",{"_index":15002,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["oidcconfig.clientid",{"_index":14999,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["oidcconfig.clientsecret",{"_index":15000,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["oidcconfig.defaultscopes",{"_index":15009,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["oidcconfig.idphint",{"_index":14627,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["oidcconfig.logouturl",{"_index":15005,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["oidcconfig.tokenurl",{"_index":15004,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["oidcconfig.userinfourl",{"_index":15007,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["oidcconfig?.clientsecret",{"_index":21183,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["oidcconfig?.idphint",{"_index":14622,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["oidcconfigdto",{"_index":14508,"title":{"classes/OidcConfigDto.html":{}},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/OidcConfigDto.html":{},"classes/OidcIdentityProviderMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{}}}],["oidcconfigdto.authorizationurl",{"_index":17532,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.clientid",{"_index":17529,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.clientsecret",{"_index":17530,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.defaultscopes",{"_index":17536,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.idphint",{"_index":17531,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.logouturl",{"_index":17535,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.parentsystemid",{"_index":17528,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.tokenurl",{"_index":17533,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigdto.userinfourl",{"_index":17534,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["oidcconfigentity",{"_index":14940,"title":{"classes/OidcConfigEntity.html":{}},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["oidccontextresponse",{"_index":6288,"title":{"classes/OidcContextResponse.html":{}},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"classes/OidcContextResponse.html":{}}}],["oidcexternalsubmappername",{"_index":14551,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["oidcidentityprovidermapper",{"_index":14473,"title":{"classes/OidcIdentityProviderMapper.html":{}},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["oidcinternalname",{"_index":5034,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["oidcmock__base_url",{"_index":25877,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["oidcmockprovisioningstrategy",{"_index":17571,"title":{"injectables/OidcMockProvisioningStrategy.html":{}},"body":{"injectables/OidcMockProvisioningStrategy.html":{},"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{}}}],["oidcmockstrategy",{"_index":18113,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["oidcprovisioningservice",{"_index":17582,"title":{"injectables/OidcProvisioningService.html":{}},"body":{"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"modules/ProvisioningModule.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["oidcprovisioningstrategy",{"_index":17698,"title":{"injectables/OidcProvisioningStrategy.html":{}},"body":{"injectables/OidcProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["oidcsystems",{"_index":15358,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["oidcuserattributemappername",{"_index":14549,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["ok",{"_index":24091,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["okay",{"_index":21682,"title":{},"body":{"injectables/TaskRepo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["old",{"_index":7312,"title":{},"body":{"injectables/CopyFilesService.html":{},"classes/RecursiveCopyVisitor.html":{},"index.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["oldconfig.alias",{"_index":14616,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["oldconfigs",{"_index":14523,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["oldconfigs.foreach((oldconfig",{"_index":14620,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["oldconfigs.some((oldconfig",{"_index":14615,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["older",{"_index":24711,"title":{},"body":{"license.html":{}}}],["oldparam.name",{"_index":11150,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["oldparams",{"_index":11126,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["oldparams.every((oldparam",{"_index":11162,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["oldparams.filter((oldparam",{"_index":11148,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["oldparams.filter((parameter",{"_index":11164,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["oldtool",{"_index":11143,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["oldtool.parameters",{"_index":11144,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["once",{"_index":18601,"title":{},"body":{"classes/RedirectResponse.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["one",{"_index":5231,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/JwtStrategy.html":{},"interfaces/LibrariesContentType.html":{},"injectables/NextcloudStrategy.html":{},"injectables/S3ClientAdapter.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"controllers/UserLoginMigrationController.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["oneday",{"_index":7707,"title":{},"body":{"classes/CourseFactory.html":{},"classes/H5PTemporaryFileFactory.html":{}}}],["oneof",{"_index":4039,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CardResponse.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionItemResponse.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["ones",{"_index":7083,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["onetomany",{"_index":6147,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["onetomany('coursegroup",{"_index":7464,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["onetomany('dashboardgridelementmodel",{"_index":8557,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["onetomany('submission",{"_index":21272,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["onetomany('task",{"_index":6178,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["onetoone",{"_index":2920,"title":{},"body":{"entities/Board.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/UserLoginMigrationEntity.html":{}}}],["onetoone(undefined",{"_index":19665,"title":{},"body":{"entities/SchoolEntity.html":{},"entities/UserLoginMigrationEntity.html":{}}}],["onetoone({type",{"_index":2910,"title":{},"body":{"entities/Board.html":{}}}],["oneweekago",{"_index":21858,"title":{},"body":{"injectables/TaskUC.html":{}}}],["oneweekago.setdate(oneweekago.getdate",{"_index":21859,"title":{},"body":{"injectables/TaskUC.html":{}}}],["ongatewayconnection",{"_index":22393,"title":{},"body":{"classes/TldrawWs.html":{}}}],["ongatewayinit",{"_index":22392,"title":{},"body":{"classes/TldrawWs.html":{}}}],["ongoing",{"_index":7802,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["onlyactivecourses",{"_index":7890,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/DashboardUc.html":{}}}],["onlyexistingreferences",{"_index":2971,"title":{},"body":{"entities/Board.html":{}}}],["onlyfactories",{"_index":8780,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["onlyoauth",{"_index":21150,"title":{},"body":{"classes/SystemFilterParams.html":{},"injectables/SystemUc.html":{}}}],["onlyreadcourses",{"_index":21852,"title":{},"body":{"injectables/TaskUC.html":{}}}],["onlywritecoursesids",{"_index":21851,"title":{},"body":{"injectables/TaskUC.html":{}}}],["onmoduledestroy",{"_index":16383,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["onupdate",{"_index":2554,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["open",{"_index":16250,"title":{},"body":{"injectables/MetaTagExtractorService.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["open/closed",{"_index":25422,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["openapi",{"_index":13977,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["opencourseids",{"_index":21606,"title":{},"body":{"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{}}}],["opencourses",{"_index":21830,"title":{},"body":{"injectables/TaskUC.html":{}}}],["opencourses.map((c",{"_index":21835,"title":{},"body":{"injectables/TaskUC.html":{}}}],["opened",{"_index":23012,"title":{},"body":{"classes/ToolReferenceResponse.html":{},"additional-documentation/nestjs-application.html":{}}}],["openid",{"_index":8262,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/SystemEntityFactory.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["opening",{"_index":23997,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["openinnewtab",{"_index":6935,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{}}}],["openldap",{"_index":25894,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["opennewtab",{"_index":8115,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolCreateParams.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["operate",{"_index":25184,"title":{},"body":{"license.html":{}}}],["operated",{"_index":24910,"title":{},"body":{"license.html":{}}}],["operates",{"_index":25652,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["operating",{"_index":24785,"title":{},"body":{"license.html":{}}}],["operation",{"_index":9140,"title":{},"body":{"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{},"classes/ForbiddenOperationError.html":{},"injectables/KeycloakMigrationService.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"controllers/VideoConferenceController.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["operation.'})@apiresponse({status",{"_index":24039,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["operation.error.ts",{"_index":12416,"title":{},"body":{"classes/ForbiddenOperationError.html":{}}}],["operation.error.ts:4",{"_index":12417,"title":{},"body":{"classes/ForbiddenOperationError.html":{}}}],["operation.loggable",{"_index":16667,"title":{},"body":{"injectables/NewsUc.html":{}}}],["operation.loggable.ts",{"_index":16485,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{}}}],["operation.loggable.ts:14",{"_index":16489,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{}}}],["operation.loggable.ts:7",{"_index":16488,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{}}}],["operations",{"_index":25992,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["operator",{"_index":815,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/Scope.html":{},"license.html":{}}}],["operators",{"_index":25647,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["oplogicchecks",{"_index":11666,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["oplogsize",{"_index":25930,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["opportunity",{"_index":25141,"title":{},"body":{"license.html":{}}}],["ops",{"_index":25261,"title":{},"body":{"todo.html":{}}}],["opschema",{"_index":11664,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["opt/keycloak/bin/kc.sh",{"_index":25318,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["optimal",{"_index":15100,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["optimisation",{"_index":25444,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["option",{"_index":24980,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["optional",{"_index":33,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerTestModule.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"classes/AuthorizationParams.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/ConsoleWriterService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigEntity.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/FileDO.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"classes/FileUrlParams.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetH5PContentParams.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"classes/GroupUserResponse.html":{},"classes/GroupValidPeriodEntity.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IImportUserScope.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonAccount.html":{},"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"injectables/MailService.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PatchMyAccountParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileParams.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"classes/ProvisioningDto.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"controllers/PseudonymController.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"interfaces/RegistrationPinEntityProps.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RichText.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.html":{},"classes/ScopeRef.html":{},"classes/ServerConsole.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionsResponse.html":{},"classes/SuccessfulResponse.html":{},"injectables/SymetricKeyEncryptionService.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"controllers/TldrawController.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateNewsParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["optional()@apiproperty",{"_index":17554,"title":{},"body":{"classes/OidcContextResponse.html":{}}}],["optionaldatathere",{"_index":25621,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["optionally",{"_index":5216,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["optionalprops",{"_index":2535,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["options",{"_index":540,"title":{"interfaces/Options.html":{}},"body":{"classes/AccountFactory.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"interfaces/CleanOptions.html":{},"classes/ColumnBoardFactory.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/ContextExternalToolFactory.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseUc.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameterFactory.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeletionExecutionConsole.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionQueueConsole.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"injectables/FilesRepo.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"classes/H5PContentFactory.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"modules/MailModule.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"interfaces/MigrationOptions.html":{},"modules/MongoMemoryDatabaseModule.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthClientBody.html":{},"interfaces/Options.html":{},"interfaces/ParentInfo.html":{},"injectables/PseudonymService.html":{},"interfaces/RetryOptions.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsTestModule.html":{},"controllers/ToolController.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceBaseResponse.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"license.html":{},"todo.html":{}}}],["options.builder.ts",{"_index":18334,"title":{},"body":{"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{}}}],["options.builder.ts:4",{"_index":18336,"title":{},"body":{"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{}}}],["options.callsdelayms",{"_index":9305,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["options.collection",{"_index":8784,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["options.deleteinminutes",{"_index":9303,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["options.do",{"_index":4576,"title":{},"body":{"classes/Class.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{}}}],["options.do.ts",{"_index":4794,"title":{},"body":{"classes/ClassSourceOptions.html":{},"interfaces/ClassSourceOptionsProps.html":{}}}],["options.do.ts:12",{"_index":4798,"title":{},"body":{"classes/ClassSourceOptions.html":{}}}],["options.do.ts:6",{"_index":4796,"title":{},"body":{"classes/ClassSourceOptions.html":{}}}],["options.enabled",{"_index":1269,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["options.entity",{"_index":4609,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["options.entity.ts",{"_index":4801,"title":{},"body":{"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{}}}],["options.entity.ts:10",{"_index":4803,"title":{},"body":{"classes/ClassSourceOptionsEntity.html":{}}}],["options.everyattendeejoinsmuted",{"_index":24142,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["options.everyattendejoinsmuted",{"_index":23990,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["options.everybodyjoinsasmoderator",{"_index":23992,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["options.exchange",{"_index":1273,"title":{},"body":{"modules/AntivirusModule.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{}}}],["options.filesservicebaseurl",{"_index":1271,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["options.hostname",{"_index":1277,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["options.interface.ts",{"_index":18338,"title":{},"body":{"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{}}}],["options.moderatormustapprovejoinrequests",{"_index":23994,"title":{},"body":{"entities/VideoConference.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["options.onlyfactories",{"_index":8785,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["options.order",{"_index":13916,"title":{},"body":{"controllers/ImportUserController.html":{},"injectables/NewsUc.html":{},"controllers/ToolController.html":{}}}],["options.port",{"_index":1284,"title":{},"body":{"modules/AntivirusModule.html":{}}}],["options.refsfilepath",{"_index":9301,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["options.response",{"_index":24215,"title":{},"body":{"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceMapper.html":{}}}],["options.response.ts",{"_index":24303,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["options.response.ts:14",{"_index":24308,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["options.response.ts:20",{"_index":24304,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["options.response.ts:8",{"_index":24307,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["options.retrycount",{"_index":4889,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["options.retrydelay",{"_index":4890,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["options.routingkey",{"_index":1275,"title":{},"body":{"modules/AntivirusModule.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{}}}],["options.skip",{"_index":4912,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["options.targetrefdomain",{"_index":9302,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["options.ts",{"_index":13606,"title":{},"body":{"interfaces/IFindOptions.html":{},"interfaces/Pagination.html":{}}}],["options.verbose",{"_index":4914,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["options?.collection",{"_index":8783,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["options?.context",{"_index":20449,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["options?.exact",{"_index":14768,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["options?.expiresat",{"_index":20450,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["options?.expiresindays",{"_index":20497,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["options?.limit",{"_index":14770,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["options?.order",{"_index":10651,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/TaskRepo.html":{}}}],["options?.override",{"_index":8791,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["options?.pagination",{"_index":10622,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/TaskRepo.html":{},"injectables/UserDORepo.html":{}}}],["options?.schoolexclusive",{"_index":20493,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["options?.skip",{"_index":14769,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["orchestrate",{"_index":26006,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["orchestrates",{"_index":25462,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["orchestration",{"_index":25502,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["order",{"_index":2231,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseUc.html":{},"injectables/DashboardUc.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FileRecordRepo.html":{},"interfaces/IFindOptions.html":{},"injectables/ImportUserRepo.html":{},"injectables/LdapStrategy.html":{},"injectables/LessonRepo.html":{},"injectables/NewsRepo.html":{},"interfaces/Pagination.html":{},"classes/PatchOrderParams.html":{},"classes/SortHelper.html":{},"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["order._id",{"_index":10655,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/TaskRepo.html":{},"injectables/UserDORepo.html":{}}}],["order.firstname",{"_index":23851,"title":{},"body":{"injectables/UserRepo.html":{}}}],["order.lastname",{"_index":23855,"title":{},"body":{"injectables/UserRepo.html":{}}}],["order.params.ts",{"_index":17775,"title":{},"body":{"classes/PatchOrderParams.html":{}}}],["order.params.ts:13",{"_index":17778,"title":{},"body":{"classes/PatchOrderParams.html":{}}}],["orderby",{"_index":788,"title":{},"body":{"injectables/AccountRepo.html":{},"interfaces/CollectionFilePath.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LessonRepo.html":{},"injectables/NewsRepo.html":{},"injectables/TaskRepo.html":{},"injectables/UserDORepo.html":{}}}],["orderby(bsondocuments",{"_index":5290,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["orderedlist",{"_index":19246,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["orderquery",{"_index":23850,"title":{},"body":{"injectables/UserRepo.html":{}}}],["orderquery.firstname",{"_index":23852,"title":{},"body":{"injectables/UserRepo.html":{}}}],["orderquery.lastname",{"_index":23856,"title":{},"body":{"injectables/UserRepo.html":{}}}],["org",{"_index":5967,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["organisation",{"_index":19494,"title":{},"body":{"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonenkontextResponse.html":{}}}],["organization",{"_index":5747,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"injectables/GroupRepo.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"license.html":{}}}],["organization.organization",{"_index":5838,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["organization.resources).concat(this.resources",{"_index":5840,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["organizationbuilder",{"_index":5732,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["organizationbuilder.addresourcetoorganization(resourceprops",{"_index":5740,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["organizationbuilder.addresourcetoorganization(this.maptasktowebcontentresource(task",{"_index":5744,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["organizationelement.transform",{"_index":5973,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["organizationelements",{"_index":5965,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["organizationid",{"_index":12672,"title":{},"body":{"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"injectables/OidcProvisioningService.html":{},"classes/ResolvedGroupDto.html":{}}}],["organizations",{"_index":5790,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"license.html":{}}}],["origin",{"_index":2162,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"injectables/TldrawWsService.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/WsSharedDocDo.html":{},"license.html":{}}}],["original",{"_index":3585,"title":{},"body":{"injectables/BoardDoCopyService.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ConsentResponse.html":{},"injectables/CourseCopyService.html":{},"classes/LoginResponse-1.html":{},"injectables/PreviewGeneratorService.html":{},"classes/RecursiveCopyVisitor.html":{},"license.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["original.acceptasync(this",{"_index":18426,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.alternativetext",{"_index":18441,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.caption",{"_index":18440,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.children.foreach((child",{"_index":18474,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.contenttype",{"_index":17927,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["original.context",{"_index":18431,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.description",{"_index":18454,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.duedate",{"_index":18467,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.height",{"_index":18438,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.id",{"_index":18445,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.imageurl",{"_index":18457,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.inputformat",{"_index":18465,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.text",{"_index":18464,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.title",{"_index":18430,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["original.url",{"_index":18456,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["originalboard",{"_index":3298,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/CourseCopyService.html":{}}}],["originalboard.context.type",{"_index":5410,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["originalboard.getelements",{"_index":3299,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["originalcolumnboardid",{"_index":3344,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ColumnBoardCopyService.html":{}}}],["originalcourse",{"_index":7624,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["originalcourse.color",{"_index":7647,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["originalcourse.getcoursegroupitems().length",{"_index":7658,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["originalcourse.name",{"_index":7639,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["originalentity",{"_index":3306,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CopyFilesService.html":{},"injectables/CourseCopyService.html":{},"injectables/TaskCopyService.html":{}}}],["originallesson",{"_index":3268,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/LessonCopyUC.html":{}}}],["originallesson.course",{"_index":15435,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["originallesson.id",{"_index":3339,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/LessonCopyUC.html":{}}}],["originallessonid",{"_index":3338,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/LessonCopyUC.html":{},"injectables/ShareTokenUC.html":{}}}],["originalschooldo",{"_index":19980,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["originaltask",{"_index":3271,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["originaltask.description",{"_index":21455,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["originaltask.descriptioninputformat",{"_index":21456,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["originaltask.id",{"_index":3342,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["originaltask.name",{"_index":21454,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["originaltask.teamsubmissions",{"_index":21457,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["originaltaskid",{"_index":3341,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["originaltaskname",{"_index":21486,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["originfilepath",{"_index":12488,"title":{},"body":{"interfaces/GetFileResponse.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewOptions.html":{},"interfaces/PreviewResponseMessage.html":{}}}],["originid",{"_index":16150,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["origintool",{"_index":8108,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["origintoolid",{"_index":8110,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{}}}],["orm",{"_index":7851,"title":{},"body":{"entities/CourseNews.html":{},"injectables/DatabaseManagementService.html":{},"injectables/FilesStorageConsumer.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TaskBoardElement.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["orm.io",{"_index":25403,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["orm/core",{"_index":224,"title":{},"body":{"entities/Account.html":{},"injectables/AccountRepo.html":{},"injectables/AuthorizationHelper.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/BaseRepo.html":{},"classes/BasicToolConfigEntity.html":{},"entities/Board.html":{},"injectables/BoardDoRepo.html":{},"entities/BoardElement.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"entities/ColumnNode.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntryEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DatabaseManagementService.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalToolConfigEntity.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/ExternalToolEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"injectables/FilesRepo.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"modules/H5PEditorModule.html":{},"entities/H5pEditorTempFile.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfigEntity.html":{},"injectables/LegacySchoolRepo.html":{},"entities/LessonBoardElement.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"classes/LibraryName.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/LtiTool.html":{},"injectables/LtiToolRepo.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"interfaces/RelatedResourceProperties.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"injectables/SchoolExternalToolRepo.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"classes/Scope.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"entities/Submission.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"interfaces/TemporaryFileProperties.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"entities/User.html":{},"injectables/UserDORepo.html":{},"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{},"injectables/VideoConferenceRepo.html":{},"dependencies.html":{}}}],["orm/entitymanager",{"_index":25794,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["orm/issues/1230",{"_index":11789,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["orm/issues/2165",{"_index":21891,"title":{},"body":{"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["orm/mikro",{"_index":11788,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["orm/mongodb",{"_index":97,"title":{},"body":{"classes/AbstractAccountService.html":{},"entities/Account.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/BaseRepo.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"injectables/ClassesRepo.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardTargetService.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/CourseGroupRepo.html":{},"interfaces/CustomLtiProperty.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionRequestFactory.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"classes/DoBaseFactory.html":{},"interfaces/EntityWithSchool.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FeathersAuthProvider.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"injectables/FilesRepo.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LessonRepo.html":{},"entities/LtiTool.html":{},"interfaces/ParentInfo.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/RegistrationPinRepo.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SystemRepo.html":{},"injectables/TeamsRepo.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/TldrawRepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"dependencies.html":{}}}],["orm/nestjs",{"_index":1015,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{},"dependencies.html":{}}}],["orphan",{"_index":6488,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["orphanremoval",{"_index":6179,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/UsersList.html":{}}}],["ort",{"_index":19458,"title":{},"body":{"classes/SanisAnschriftResponse.html":{}}}],["os",{"_index":12051,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["os.eol",{"_index":12079,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["other.name.tolocalelowercase",{"_index":10543,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["otherindex",{"_index":10541,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["otherlibrary.machinename",{"_index":11668,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["otherlibrary.majorversion",{"_index":11671,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["otherlibrary.minorversion",{"_index":11673,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["otherlibrary.patchversion",{"_index":11675,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["othermodule",{"_index":25492,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["otherparams",{"_index":21128,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["others",{"_index":12636,"title":{},"body":{"classes/GlobalValidationPipe.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["otheruser",{"_index":19634,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["otherusers",{"_index":10004,"title":{},"body":{"classes/ExternalGroupDto.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SanisResponseMapper.html":{}}}],["otherwise",{"_index":1568,"title":{},"body":{"modules/AuthenticationModule.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DeletionExecutionConsole.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"injectables/NextcloudStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["ours",{"_index":25555,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["out",{"_index":271,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolService.html":{},"modules/FeathersModule.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"entities/ImportUser.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolModule.html":{},"modules/LessonApiModule.html":{},"modules/LessonModule.html":{},"modules/LoggerModule.html":{},"modules/LtiToolModule.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/NewsModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/OauthProviderServiceModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"modules/PseudonymModule.html":{},"modules/RedisModule.html":{},"modules/RegistrationPinModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/SchoolExternalToolModule.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceCreateParams.html":{},"modules/VideoConferenceModule.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["outcome",{"_index":25666,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["outdated",{"_index":6670,"title":{},"body":{"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"todo.html":{}}}],["outdated.loggable",{"_index":23091,"title":{},"body":{"classes/ToolStatusOutdatedLoggableException.html":{}}}],["outdatedsince",{"_index":20012,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDto.html":{},"classes/UserMapper.html":{},"interfaces/UserProperties.html":{},"classes/UserScope.html":{}}}],["outer",{"_index":25694,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["outgoing",{"_index":25473,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["output",{"_index":2855,"title":{},"body":{"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/GlobalValidationPipe.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/ServerConsole.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["output.builder.ts",{"_index":9403,"title":{},"body":{"classes/DeletionRequestOutputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["output.builder.ts:22",{"_index":18345,"title":{},"body":{"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["output.builder.ts:26",{"_index":18343,"title":{},"body":{"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["output.builder.ts:4",{"_index":9405,"title":{},"body":{"classes/DeletionRequestOutputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["output.deletionplannedat",{"_index":18347,"title":{},"body":{"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["output.error",{"_index":9111,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["output.interface.ts",{"_index":9401,"title":{},"body":{"interfaces/DeletionRequestOutput.html":{},"interfaces/QueueDeletionRequestOutput.html":{}}}],["output.requestid",{"_index":18346,"title":{},"body":{"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["outputformat",{"_index":7224,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["outputs",{"_index":2804,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{}}}],["outputs.length",{"_index":2897,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["outputs.push",{"_index":2824,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["outputs.push(queuedeletionrequestoutputbuilder.builderror(err",{"_index":2829,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["outside",{"_index":8472,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["over",{"_index":18681,"title":{},"body":{"classes/ReferencesService.html":{},"injectables/TaskCopyUC.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["overall",{"_index":2889,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["overallstatus",{"_index":2842,"title":{},"body":{"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{}}}],["overenginiering",{"_index":25442,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["overridden",{"_index":16393,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["override",{"_index":1476,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/BBBCreateConfigBuilder.html":{},"injectables/BasicToolLaunchStrategy.html":{},"classes/BusinessError.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"injectables/FileSystemAdapter.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OauthConfigMissingLoggableException.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["overrideprovider(consolewriterservice",{"_index":22161,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["overrideprovider(databasemanagementuc",{"_index":22159,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["overrides",{"_index":9952,"title":{},"body":{"modules/ErrorModule.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["overrides/configures",{"_index":7413,"title":{},"body":{"modules/CoreModule.html":{}}}],["overriding",{"_index":25744,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["overview",{"_index":25359,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["overwrite_setting_show_setup_wizard='completed",{"_index":25967,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["overwritten",{"_index":25746,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["owned",{"_index":25075,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["ownedbyuserid",{"_index":13403,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{}}}],["owner",{"_index":2913,"title":{},"body":{"entities/Board.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesRepo.html":{},"classes/ListOauthClientsParams.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/OauthProviderService.html":{},"entities/UserLoginMigrationEntity.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["ownerid",{"_index":11564,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["ownership",{"_index":16508,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["owneruserid",{"_index":12115,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["owns",{"_index":21589,"title":{},"body":{"injectables/TaskRepo.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["p",{"_index":19410,"title":{},"body":{"injectables/S3ClientAdapter.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["p.key",{"_index":19432,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["p.name",{"_index":11179,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["p.sourcepath",{"_index":19398,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["p27030:27017",{"_index":25926,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["package",{"_index":24422,"title":{"dependencies.html":{},"properties.html":{}},"body":{"todo.html":{}}}],["packaged",{"_index":24870,"title":{},"body":{"license.html":{}}}],["packages",{"_index":25236,"title":{},"body":{"todo.html":{}}}],["packaging",{"_index":24779,"title":{},"body":{"license.html":{}}}],["pad",{"_index":9997,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["pad.data.padid",{"_index":9999,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["padid",{"_index":9994,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["padname",{"_index":9995,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["padresponse",{"_index":9993,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["page",{"_index":869,"title":{"classes/Page.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/api-design.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}},"body":{"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/DeletionExecutionParams.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolSearchListResponse.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"classes/FileRecordListResponse.html":{},"controllers/GroupController.html":{},"classes/GroupResponseMapper.html":{},"classes/ImportUserListResponse.html":{},"classes/NewsListResponse.html":{},"classes/Page.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"injectables/PseudonymService.html":{},"injectables/SchoolMigrationService.html":{},"classes/TaskListResponse.html":{},"injectables/TaskRepo.html":{},"controllers/ToolController.html":{},"injectables/UserDORepo.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchListResponse.html":{},"injectables/UserService.html":{},"additional-documentation/nestjs-application.html":{}}}],["page([userloginmigration",{"_index":23704,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["page(entitydos",{"_index":10629,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/UserDORepo.html":{}}}],["pagecontentdto",{"_index":17720,"title":{"classes/PageContentDto.html":{}},"body":{"classes/PageContentDto.html":{}}}],["paged",{"_index":373,"title":{},"body":{"controllers/AccountController.html":{}}}],["pages",{"_index":897,"title":{},"body":{"classes/AccountSearchQueryParams.html":{},"classes/PaginationParams.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["pagesize",{"_index":4844,"title":{},"body":{"interfaces/CleanOptions.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"classes/KeycloakSeedService.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["paginate",{"_index":11229,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["pagination",{"_index":7580,"title":{"interfaces/Pagination.html":{}},"body":{"controllers/CourseController.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseUc.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FileRecordRepo.html":{},"controllers/GroupController.html":{},"interfaces/IFindOptions.html":{},"controllers/ImportUserController.html":{},"injectables/ImportUserRepo.html":{},"controllers/NewsController.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"interfaces/Pagination.html":{},"controllers/TaskController.html":{},"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolController.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["pagination.limit",{"_index":12737,"title":{},"body":{"controllers/GroupController.html":{},"controllers/ToolController.html":{},"injectables/UserRepo.html":{}}}],["pagination.skip",{"_index":12736,"title":{},"body":{"controllers/GroupController.html":{},"controllers/ToolController.html":{},"injectables/UserRepo.html":{}}}],["pagination?.limit",{"_index":7896,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/TaskRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["pagination?.skip",{"_index":7895,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/TaskRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["paginationparams",{"_index":883,"title":{"classes/PaginationParams.html":{}},"body":{"classes/AccountSearchQueryParams.html":{},"controllers/CourseController.html":{},"injectables/CourseUc.html":{},"controllers/GroupController.html":{},"controllers/ImportUserController.html":{},"controllers/NewsController.html":{},"classes/PaginationParams.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolController.html":{}}}],["paginationparams:14",{"_index":894,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["paginationparams:8",{"_index":898,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["paginationresponse",{"_index":862,"title":{"classes/PaginationResponse.html":{}},"body":{"classes/AccountSearchListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/PaginationResponse.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["paginationresponse:12",{"_index":867,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{}}}],["paginationresponse:136",{"_index":16495,"title":{},"body":{"classes/NewsListResponse.html":{}}}],["paginationresponse:14",{"_index":878,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/ImportUserListResponse.html":{},"classes/NewsListResponse.html":{},"classes/TaskListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{}}}],["paginationresponse:17",{"_index":877,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/ImportUserListResponse.html":{},"classes/NewsListResponse.html":{},"classes/TaskListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{}}}],["paginationresponse:20",{"_index":872,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/ImportUserListResponse.html":{},"classes/NewsListResponse.html":{},"classes/TaskListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{}}}],["paginationresponse:51",{"_index":23730,"title":{},"body":{"classes/UserMatchListResponse.html":{}}}],["paginationresponse:63",{"_index":11858,"title":{},"body":{"classes/FileRecordListResponse.html":{}}}],["paginationresponse:68",{"_index":7792,"title":{},"body":{"classes/CourseMetadataListResponse.html":{}}}],["paginationresponse:7",{"_index":10915,"title":{},"body":{"classes/ExternalToolSearchListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{}}}],["paginationresponse:71",{"_index":13960,"title":{},"body":{"classes/ImportUserListResponse.html":{}}}],["paginationresponse:74",{"_index":21531,"title":{},"body":{"classes/TaskListResponse.html":{}}}],["paginationresponse:91",{"_index":7175,"title":{},"body":{"classes/CopyFileListResponse.html":{}}}],["pair",{"_index":2813,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["pairwise",{"_index":11021,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{},"classes/OauthClientBody.html":{}}}],["papaparse",{"_index":24544,"title":{},"body":{"dependencies.html":{}}}],["paper",{"_index":25211,"title":{},"body":{"license.html":{}}}],["paragraph",{"_index":25013,"title":{},"body":{"license.html":{}}}],["paragraphs",{"_index":25084,"title":{},"body":{"license.html":{}}}],["parallel",{"_index":25792,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["param",{"_index":388,"title":{},"body":{"controllers/AccountController.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"injectables/BBBService.html":{},"classes/BaseFactory.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"injectables/BsonConverter.html":{},"controllers/CardController.html":{},"interfaces/CleanOptions.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"controllers/ColumnController.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ContextExternalToolFactory.html":{},"controllers/CourseController.html":{},"controllers/DashboardController.html":{},"controllers/DatabaseManagementController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesStorageClientAdapterService.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/GroupController.html":{},"classes/GuardAgainst.html":{},"controllers/H5PEditorController.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"controllers/ImportUserController.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"controllers/LessonController.html":{},"interfaces/MigrationOptions.html":{},"controllers/NewsController.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"injectables/PermissionService.html":{},"controllers/PseudonymController.html":{},"interfaces/RetryOptions.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"controllers/SystemController.html":{},"controllers/TaskController.html":{},"injectables/TaskRepo.html":{},"injectables/TeamMapper.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamPermissionsMapper.html":{},"injectables/TeamsRepo.html":{},"controllers/TldrawController.html":{},"injectables/TldrawWsService.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/WsSharedDocDo.html":{}}}],["param('file",{"_index":13202,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["param('oauthclientid",{"_index":17505,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["param('scope",{"_index":24178,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["param('scopeid",{"_index":24179,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["param('token",{"_index":12001,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["param)).rejects.tothrow(badrequestexception",{"_index":25736,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["param)).tothrow(badrequestexception",{"_index":25734,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["param.builder.ts",{"_index":7261,"title":{},"body":{"classes/CopyFilesOfParentParamBuilder.html":{},"classes/FileParamBuilder.html":{}}}],["param.builder.ts:6",{"_index":7264,"title":{},"body":{"classes/CopyFilesOfParentParamBuilder.html":{},"classes/FileParamBuilder.html":{}}}],["param.default",{"_index":10545,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{}}}],["param.description",{"_index":10737,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["param.displayname",{"_index":10535,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/MissingToolParameterValueLoggableException.html":{}}}],["param.isoptional",{"_index":6133,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolVersionIncrementService.html":{}}}],["param.location",{"_index":10739,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["param.name",{"_index":6127,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/MissingToolParameterValueLoggableException.html":{}}}],["param.regex",{"_index":6140,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolVersionIncrementService.html":{}}}],["param.regexcomment",{"_index":10738,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["param.scope",{"_index":6106,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolVersionIncrementService.html":{}}}],["param.type",{"_index":6139,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolVersionIncrementService.html":{}}}],["paramdisplayat",{"_index":16674,"title":{},"body":{"injectables/NewsUc.html":{}}}],["parameter",{"_index":417,"title":{},"body":{"controllers/AccountController.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"injectables/ExternalToolConfigurationService.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"classes/LoginResponse-1.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthClientBody.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolResponse.html":{},"modules/ToolLaunchModule.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["parameter.do.ts",{"_index":8188,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:10",{"_index":8191,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:12",{"_index":8196,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:14",{"_index":8197,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:16",{"_index":8198,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:18",{"_index":8194,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:20",{"_index":8199,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:22",{"_index":8190,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:4",{"_index":8195,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:6",{"_index":8193,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.do.ts:8",{"_index":8192,"title":{},"body":{"classes/CustomParameter.html":{}}}],["parameter.entity.ts",{"_index":8215,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:10",{"_index":8219,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:13",{"_index":8218,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:16",{"_index":8217,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:19",{"_index":8222,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:22",{"_index":8223,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:25",{"_index":8224,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:28",{"_index":8220,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:31",{"_index":8225,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:34",{"_index":8216,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.entity.ts:7",{"_index":8221,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter.isoptional",{"_index":11165,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["parameter.name",{"_index":11168,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["parameter.params",{"_index":10252,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["parameter.params.ts",{"_index":8305,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:13",{"_index":8315,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:18",{"_index":8309,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:23",{"_index":8307,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:28",{"_index":8306,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:33",{"_index":8316,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:38",{"_index":8317,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:42",{"_index":8320,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:46",{"_index":8314,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:50",{"_index":8323,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.params.ts:54",{"_index":8311,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["parameter.response",{"_index":6691,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["parameter.response.ts",{"_index":8328,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:10",{"_index":8334,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:13",{"_index":8332,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:16",{"_index":8331,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:19",{"_index":8330,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:22",{"_index":8335,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:25",{"_index":8336,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:28",{"_index":8337,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:31",{"_index":8333,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:34",{"_index":8338,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.response.ts:37",{"_index":8329,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["parameter.scope",{"_index":10171,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["parameter.strategy",{"_index":2010,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{}}}],["parameter.strategy.ts",{"_index":2056,"title":{},"body":{"interfaces/AutoParameterStrategy.html":{}}}],["parameter.strategy.ts:5",{"_index":2057,"title":{},"body":{"interfaces/AutoParameterStrategy.html":{}}}],["parameter/custom",{"_index":8214,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["parameter_type_not_implemented",{"_index":17748,"title":{},"body":{"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["parameterkeys",{"_index":16373,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["parameternames",{"_index":16375,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["parameternames.join",{"_index":16378,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["parameters",{"_index":29,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerTestModule.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"classes/BoardElementResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"injectables/ClassService.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/ConsoleWriterService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"classes/County.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigEntity.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FilePermissionEntity.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"classes/GroupUserResponse.html":{},"classes/GroupValidPeriodEntity.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/H5pFileDto.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/ILegacyLogger.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/LtiRoleMapper.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"modules/MailModule.html":{},"injectables/MailService.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"classes/ProvisioningDto.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"controllers/PseudonymController.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RichText.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"modules/RocketChatModule.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/ScanResultDto.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.html":{},"classes/ScopeRef.html":{},"classes/ServerConsole.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SortHelper.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionMapper.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionsResponse.html":{},"classes/SuccessfulResponse.html":{},"injectables/SymetricKeyEncryptionService.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"controllers/TldrawController.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"interfaces/UrlHandler.html":{},"classes/UserAndAccountTestFactory.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParentsEntity.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["parameters.'})@apiresponse({status",{"_index":24040,"title":{},"body":{"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["parameters.map((param",{"_index":16374,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["parametersforscope",{"_index":6075,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["parametersforscope.find",{"_index":6123,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["parameterstoinclude",{"_index":2767,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["parametertype",{"_index":17747,"title":{},"body":{"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["parametertypenotimplementedloggableexception",{"_index":2036,"title":{"classes/ParameterTypeNotImplementedLoggableException.html":{}},"body":{"injectables/AutoContextNameStrategy.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["params",{"_index":326,"title":{},"body":{"controllers/AccountController.html":{},"classes/AccountFactory.html":{},"interfaces/AccountParams.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/BBBService.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoCopyService.html":{},"injectables/CalendarService.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CopyMapper.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"controllers/DashboardController.html":{},"injectables/DashboardUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolRequestMapper.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileRecordFactory.html":{},"classes/FilesStorageMapper.html":{},"controllers/FwuLearningContentsController.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/GlobalValidationPipe.html":{},"controllers/GroupController.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/ILegacyLogger.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/JwtTestFactory.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"controllers/NewsController.html":{},"classes/NewsMapper.html":{},"injectables/NewsUc.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"controllers/OauthProviderController.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewBuilder.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{},"controllers/PseudonymController.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/RocketChatUserFactory.html":{},"controllers/RoomsController.html":{},"injectables/S3ClientAdapter.html":{},"classes/SaveH5PEditorParams.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"controllers/SystemController.html":{},"classes/SystemEntityFactory.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"classes/TaskFactory.html":{},"classes/TaskMapper.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/TestApiClient.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"interfaces/ToolLaunchStrategy.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"controllers/UserController.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserUc.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["params(params",{"_index":564,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["params.append('event",{"_index":4289,"title":{},"body":{"injectables/CalendarService.html":{}}}],["params.append(key",{"_index":2424,"title":{},"body":{"injectables/BBBService.html":{}}}],["params.availabledate",{"_index":21570,"title":{},"body":{"classes/TaskMapper.html":{}}}],["params.challenge",{"_index":17332,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["params.client",{"_index":17354,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["params.client_name",{"_index":17317,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["params.clientid",{"_index":10844,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["params.confirmpassword",{"_index":428,"title":{},"body":{"controllers/AccountController.html":{}}}],["params.content",{"_index":16550,"title":{},"body":{"classes/NewsMapper.html":{}}}],["params.contentid",{"_index":13180,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["params.contents",{"_index":15464,"title":{},"body":{"classes/LessonFactory.html":{}}}],["params.contents.foreach((element",{"_index":15465,"title":{},"body":{"classes/LessonFactory.html":{}}}],["params.contextexternaltoolid",{"_index":22665,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{}}}],["params.contextid",{"_index":22658,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolReferenceController.html":{}}}],["params.contexttype",{"_index":22659,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolReferenceController.html":{}}}],["params.copyname",{"_index":21453,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["params.course",{"_index":15463,"title":{},"body":{"classes/LessonFactory.html":{}}}],["params.courseid",{"_index":7397,"title":{},"body":{"classes/CopyMapper.html":{},"classes/TaskMapper.html":{}}}],["params.description",{"_index":21569,"title":{},"body":{"classes/TaskMapper.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["params.displayat",{"_index":16551,"title":{},"body":{"classes/NewsMapper.html":{}}}],["params.dto",{"_index":25468,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["params.duedate",{"_index":21571,"title":{},"body":{"classes/TaskMapper.html":{}}}],["params.elements",{"_index":19207,"title":{},"body":{"controllers/RoomsController.html":{}}}],["params.everyattendeejoinsmuted",{"_index":24185,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{}}}],["params.everybodyjoinsasmoderator",{"_index":24186,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{}}}],["params.externalid",{"_index":15192,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.externaltoolid",{"_index":22795,"title":{},"body":{"controllers/ToolController.html":{}}}],["params.features",{"_index":15193,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.federalstate",{"_index":15206,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.file",{"_index":13193,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["params.filename",{"_index":13200,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["params.filerecordid",{"_index":12303,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["params.files",{"_index":19414,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["params.flagged",{"_index":13931,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["params.from",{"_index":8368,"title":{},"body":{"controllers/DashboardController.html":{}}}],["params.groupid",{"_index":12742,"title":{},"body":{"controllers/GroupController.html":{}}}],["params.hidden",{"_index":15467,"title":{},"body":{"classes/LessonFactory.html":{}}}],["params.id",{"_index":13199,"title":{},"body":{"controllers/H5PEditorController.html":{},"classes/LegacySchoolDo.html":{},"controllers/OauthProviderController.html":{}}}],["params.inmaintenancesince",{"_index":15195,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.interface",{"_index":2774,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"interfaces/ToolLaunchStrategy.html":{}}}],["params.inusermigration",{"_index":15197,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.language",{"_index":13221,"title":{},"body":{"controllers/H5PEditorController.html":{},"injectables/UserUc.html":{}}}],["params.lessonid",{"_index":7398,"title":{},"body":{"classes/CopyMapper.html":{},"classes/TaskMapper.html":{}}}],["params.limit",{"_index":17315,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["params.logouturl",{"_index":24067,"title":{},"body":{"controllers/VideoConferenceController.html":{},"classes/VideoConferenceMapper.html":{}}}],["params.moderatormustapprovejoinrequests",{"_index":24187,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{}}}],["params.name",{"_index":10843,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/LegacySchoolDo.html":{},"classes/TaskMapper.html":{}}}],["params.officialschoolnumber",{"_index":15200,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.offset",{"_index":17316,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["params.originalboard",{"_index":3307,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["params.owner",{"_index":17318,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["params.parenttype",{"_index":20066,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["params.password",{"_index":427,"title":{},"body":{"controllers/AccountController.html":{}}}],["params.previewoptions",{"_index":17924,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["params.previewparams.forceupdate",{"_index":17981,"title":{},"body":{"injectables/PreviewService.html":{}}}],["params.previousexternalid",{"_index":15199,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.pseudonym",{"_index":18199,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["params.schoolexternaltoolid",{"_index":22662,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/ToolSchoolController.html":{}}}],["params.schoolid",{"_index":22655,"title":{},"body":{"controllers/ToolConfigurationController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["params.schoolyear",{"_index":15201,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.sourceparentid",{"_index":20065,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["params.systemid",{"_index":21078,"title":{},"body":{"controllers/SystemController.html":{}}}],["params.systems",{"_index":15203,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.target",{"_index":16671,"title":{},"body":{"injectables/NewsUc.html":{}}}],["params.targetid",{"_index":16553,"title":{},"body":{"classes/NewsMapper.html":{}}}],["params.targetmodel",{"_index":16552,"title":{},"body":{"classes/NewsMapper.html":{}}}],["params.targetparentid",{"_index":20068,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["params.taskid",{"_index":20764,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["params.title",{"_index":8374,"title":{},"body":{"controllers/DashboardController.html":{},"classes/NewsMapper.html":{}}}],["params.to",{"_index":8369,"title":{},"body":{"controllers/DashboardController.html":{}}}],["params.ts",{"_index":4657,"title":{},"body":{"classes/ClassFilterParams.html":{},"classes/ClassSortParams.html":{},"classes/GroupIdParams.html":{},"classes/PseudonymParams.html":{}}}],["params.ts:7",{"_index":12820,"title":{},"body":{"classes/GroupIdParams.html":{},"classes/PseudonymParams.html":{}}}],["params.ts:9",{"_index":4660,"title":{},"body":{"classes/ClassFilterParams.html":{}}}],["params.userid",{"_index":13927,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["params.userloginmigrationid",{"_index":15205,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["params.visibility",{"_index":19205,"title":{},"body":{"controllers/RoomsController.html":{}}}],["params?.accountid",{"_index":7993,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["params?.aud",{"_index":7988,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["params?.external_sub",{"_index":7994,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["params?.iss",{"_index":7987,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["params?.privatekey",{"_index":7996,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["params?.sub",{"_index":7985,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["params].ts",{"_index":25527,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["paranoid",{"_index":995,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["parent",{"_index":3620,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/BoardDoService.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"controllers/BoardSubmissionController.html":{},"injectables/CardService.html":{},"injectables/ColumnService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementService.html":{},"classes/ContentMetadata.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"interfaces/FileDO.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParamBuilder.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"classes/LessonCopyApiParams.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"interfaces/ParentInfo.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenUC.html":{},"entities/Task.html":{},"classes/TaskCopyApiParams.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskWithStatusVo.html":{}}}],["parent.addchild(card",{"_index":4465,"title":{},"body":{"injectables/CardService.html":{}}}],["parent.addchild(column",{"_index":5643,"title":{},"body":{"injectables/ColumnService.html":{}}}],["parent.addchild(element",{"_index":6418,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["parent.children.findindex((obj",{"_index":18591,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["parent.children.foreach((child",{"_index":18590,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["parent.email",{"_index":23869,"title":{},"body":{"injectables/UserRepo.html":{}}}],["parent.getstudentids",{"_index":6212,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["parent.getstudentids().length",{"_index":21315,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["parent.id",{"_index":11720,"title":{},"body":{"classes/FileParamBuilder.html":{}}}],["parent.removechild(domainobject",{"_index":3690,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["parentcourseid",{"_index":21484,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["parentdata",{"_index":18557,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["parentdata?.boardnode",{"_index":18565,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["parentdata?.position",{"_index":18566,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["parentemails",{"_index":23948,"title":{},"body":{"injectables/UserService.html":{}}}],["parentid",{"_index":3885,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/ContentMetadata.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto-1.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileUrlParams.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilesStorageMapper.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/ParentInfo.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/SingleFileParams.html":{}}}],["parentids",{"_index":3888,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/TaskRepo.html":{}}}],["parentids.courseids",{"_index":21650,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentids.creatorid",{"_index":21648,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentids.lessonids",{"_index":21652,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentidscope",{"_index":21647,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentidscope.bycourseids(parentids.courseids",{"_index":21651,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentidscope.bylessonids(parentids.lessonids",{"_index":21653,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentidscope.byonlycreatorid(parentids.creatorid",{"_index":21649,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentinfo",{"_index":11784,"title":{"interfaces/ParentInfo.html":{}},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["parentmeetingid",{"_index":2250,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["parentname",{"_index":20374,"title":{},"body":{"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["parentnode",{"_index":18539,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["parentparams",{"_index":13076,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"injectables/LessonCopyUC.html":{},"classes/LumiUserWithContentData.html":{},"injectables/TaskCopyUC.html":{}}}],["parentparams.courseid",{"_index":15433,"title":{},"body":{"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["parentparams.parentid",{"_index":13080,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["parentparams.parenttype",{"_index":13078,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["parentparams.schoolid",{"_index":13081,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["parentpermission",{"_index":15506,"title":{},"body":{"injectables/LessonRule.html":{}}}],["parentpermission(user",{"_index":15518,"title":{},"body":{"injectables/LessonRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["parentpropertypath",{"_index":1399,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["parentrule",{"_index":26050,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["parents",{"_index":5413,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"injectables/TaskRepo.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["parents.entity",{"_index":23163,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["parents.entity.ts",{"_index":23804,"title":{},"body":{"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{}}}],["parents.entity.ts:12",{"_index":23807,"title":{},"body":{"classes/UserParentsEntity.html":{}}}],["parents.entity.ts:15",{"_index":23808,"title":{},"body":{"classes/UserParentsEntity.html":{}}}],["parents.entity.ts:18",{"_index":23806,"title":{},"body":{"classes/UserParentsEntity.html":{}}}],["parentsemails",{"_index":23867,"title":{},"body":{"injectables/UserRepo.html":{}}}],["parentsfinished",{"_index":21614,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentsfinished.bycourseids(parentids.finishedcourseids",{"_index":21615,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentsfinished.bylessonids(parentids.lessonidsoffinishedcourses",{"_index":21616,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentsmap",{"_index":18530,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["parentsopen",{"_index":21611,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentsopen.bycourseids(parentids.opencourseids",{"_index":21612,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentsopen.bylessonids(parentids.lessonidsofopencourses",{"_index":21613,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["parentsystemid",{"_index":17519,"title":{},"body":{"classes/OidcConfigDto.html":{},"classes/SystemOidcMapper.html":{}}}],["parenttitle",{"_index":16214,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["parenttype",{"_index":6607,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto-1.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileUrlParams.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilesStorageMapper.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"classes/LumiUserWithContentData.html":{},"classes/MetaTagExtractorResponse.html":{},"interfaces/ParentInfo.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RenameFileParams.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenUC.html":{},"classes/SingleFileParams.html":{}}}],["parse",{"_index":13335,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["parsed",{"_index":25595,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["parseobjectidpipe",{"_index":25571,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["parser",{"_index":24473,"title":{},"body":{"dependencies.html":{}}}],["part",{"_index":1918,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"classes/BaseUc.html":{},"injectables/CommonToolValidationService.html":{},"classes/ImportUserScope.html":{},"injectables/ToolPermissionHelper.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["partial",{"_index":127,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"injectables/BoardUrlHandler.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseUrlHandler.html":{},"interfaces/CreateNews.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/IFindOptions.html":{},"interfaces/INewsScope.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"injectables/LessonUrlHandler.html":{},"classes/LtiRoleMapper.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"interfaces/Pagination.html":{},"classes/RocketChatUserFactory.html":{},"injectables/SanisResponseMapper.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"injectables/TaskUrlHandler.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["partialfilterexpression",{"_index":13856,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["partialtype",{"_index":23125,"title":{},"body":{"classes/UpdateNewsParams.html":{}}}],["participantcount",{"_index":2310,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["particular",{"_index":21684,"title":{},"body":{"injectables/TaskRepo.html":{},"license.html":{}}}],["parties",{"_index":24754,"title":{},"body":{"license.html":{}}}],["parts",{"_index":24795,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["party",{"_index":24911,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["party's",{"_index":25052,"title":{},"body":{"license.html":{}}}],["pascalcase",{"_index":25556,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["pass",{"_index":807,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/GlobalValidationPipe.html":{},"injectables/TaskUC.html":{},"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["passed",{"_index":537,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["passing",{"_index":26009,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["passport",{"_index":14323,"title":{},"body":{"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/Oauth2Strategy.html":{},"injectables/XApiKeyStrategy.html":{},"dependencies.html":{}}}],["passportmodule",{"_index":1544,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["passportstrategy",{"_index":14332,"title":{},"body":{"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/Oauth2Strategy.html":{},"injectables/XApiKeyStrategy.html":{}}}],["passportstrategy(strategy",{"_index":14327,"title":{},"body":{"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/Oauth2Strategy.html":{},"injectables/XApiKeyStrategy.html":{}}}],["passthrough",{"_index":7600,"title":{},"body":{"controllers/CourseController.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorService.html":{}}}],["password",{"_index":87,"title":{},"body":{"classes/AbstractAccountService.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"interfaces/IKeycloakSettings.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"interfaces/JsonAccount.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAuthorizationBodyParams.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/TestApiClient.html":{},"modules/TldrawModule.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["password.'})@apiresponse({status",{"_index":362,"title":{},"body":{"controllers/AccountController.html":{}}}],["password.params.ts",{"_index":17768,"title":{},"body":{"classes/PatchMyPasswordParams.html":{}}}],["password.params.ts:15",{"_index":17773,"title":{},"body":{"classes/PatchMyPasswordParams.html":{}}}],["password.params.ts:25",{"_index":17772,"title":{},"body":{"classes/PatchMyPasswordParams.html":{}}}],["password.trim",{"_index":1754,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["passwordnew",{"_index":17757,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["passwordold",{"_index":17758,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["passwordpattern",{"_index":303,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountSaveDto.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{}}}],["passwordpolicy",{"_index":14450,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["past",{"_index":7825,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["paste",{"_index":25813,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["patch",{"_index":389,"title":{},"body":{"controllers/AccountController.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/DashboardController.html":{},"controllers/ElementController.html":{},"controllers/ImportUserController.html":{},"controllers/NewsController.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"controllers/RoomsController.html":{},"controllers/TaskController.html":{},"classes/TestApiClient.html":{},"controllers/UserController.html":{}}}],["patch('/language",{"_index":23207,"title":{},"body":{"controllers/UserController.html":{}}}],["patch(':boardid/title",{"_index":3230,"title":{},"body":{"controllers/BoardController.html":{}}}],["patch(':cardid/height",{"_index":4374,"title":{},"body":{"controllers/CardController.html":{}}}],["patch(':cardid/title",{"_index":4377,"title":{},"body":{"controllers/CardController.html":{}}}],["patch(':columnid/title",{"_index":5606,"title":{},"body":{"controllers/ColumnController.html":{}}}],["patch(':contentelementid/content",{"_index":9789,"title":{},"body":{"controllers/ElementController.html":{}}}],["patch(':dashboardid/element",{"_index":8354,"title":{},"body":{"controllers/DashboardController.html":{}}}],["patch(':dashboardid/moveelement",{"_index":8349,"title":{},"body":{"controllers/DashboardController.html":{}}}],["patch(':id",{"_index":421,"title":{},"body":{"controllers/AccountController.html":{}}}],["patch(':id')@apioperation({summary",{"_index":380,"title":{},"body":{"controllers/AccountController.html":{}}}],["patch(':importuserid/flag",{"_index":13899,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["patch(':importuserid/match",{"_index":13891,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["patch(':newsid",{"_index":16457,"title":{},"body":{"controllers/NewsController.html":{}}}],["patch(':roomid/board/order",{"_index":19192,"title":{},"body":{"controllers/RoomsController.html":{}}}],["patch(':roomid/elements/:elementid/visibility",{"_index":19189,"title":{},"body":{"controllers/RoomsController.html":{}}}],["patch(':submissionitemid",{"_index":4034,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["patch(':taskid/finish",{"_index":21398,"title":{},"body":{"controllers/TaskController.html":{}}}],["patch(':taskid/restore",{"_index":21401,"title":{},"body":{"controllers/TaskController.html":{}}}],["patch(':taskid/revertpublished",{"_index":21404,"title":{},"body":{"controllers/TaskController.html":{}}}],["patch('consentrequest/:challenge",{"_index":17343,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["patch('loginrequest/:challenge",{"_index":17330,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["patch('logoutrequest/:challenge",{"_index":17334,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["patch('me",{"_index":418,"title":{},"body":{"controllers/AccountController.html":{}}}],["patch('me')@apioperation({summary",{"_index":384,"title":{},"body":{"controllers/AccountController.html":{}}}],["patch('me/password",{"_index":425,"title":{},"body":{"controllers/AccountController.html":{}}}],["patch('me/password')@apioperation({summary",{"_index":355,"title":{},"body":{"controllers/AccountController.html":{}}}],["patch('team/:teamid/role/:roleid/permissions",{"_index":5066,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["patch('team/:teamid/role/:roleid/permissions')@apiresponse({status",{"_index":5046,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["patch(path",{"_index":1649,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["patch(subpath",{"_index":1648,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["patchconsentrequest",{"_index":17220,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{}}}],["patchconsentrequest(challenge",{"_index":17228,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["patchconsentrequest(params",{"_index":17284,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["patchelementvisibility",{"_index":19177,"title":{},"body":{"controllers/RoomsController.html":{}}}],["patchelementvisibility(urlparams",{"_index":19188,"title":{},"body":{"controllers/RoomsController.html":{}}}],["patchgroup",{"_index":8344,"title":{},"body":{"controllers/DashboardController.html":{}}}],["patchgroup(urlparams",{"_index":8351,"title":{},"body":{"controllers/DashboardController.html":{}}}],["patchgroupparams",{"_index":8353,"title":{"classes/PatchGroupParams.html":{}},"body":{"controllers/DashboardController.html":{},"classes/PatchGroupParams.html":{}}}],["patching",{"_index":17753,"title":{},"body":{"classes/PatchGroupParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{}}}],["patchlanguage",{"_index":23892,"title":{},"body":{"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["patchlanguage(userid",{"_index":23912,"title":{},"body":{"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["patchloginrequest",{"_index":17260,"title":{},"body":{"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["patchloginrequest(currentuserid",{"_index":17383,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["patchloginrequest(params",{"_index":17287,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["patchmyaccountparams",{"_index":383,"title":{"classes/PatchMyAccountParams.html":{}},"body":{"controllers/AccountController.html":{},"classes/PatchMyAccountParams.html":{}}}],["patchmypasswordparams",{"_index":354,"title":{"classes/PatchMyPasswordParams.html":{}},"body":{"controllers/AccountController.html":{},"classes/PatchMyPasswordParams.html":{}}}],["patchorderingofelements",{"_index":19178,"title":{},"body":{"controllers/RoomsController.html":{}}}],["patchorderingofelements(urlparams",{"_index":19191,"title":{},"body":{"controllers/RoomsController.html":{}}}],["patchorderparams",{"_index":17774,"title":{"classes/PatchOrderParams.html":{}},"body":{"classes/PatchOrderParams.html":{},"controllers/RoomsController.html":{}}}],["patchversion",{"_index":11633,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/Path.html":{}}}],["patchvisibilityparams",{"_index":17779,"title":{"classes/PatchVisibilityParams.html":{}},"body":{"classes/PatchVisibilityParams.html":{},"controllers/RoomsController.html":{}}}],["patent",{"_index":25012,"title":{},"body":{"license.html":{}}}],["patents",{"_index":25070,"title":{},"body":{"license.html":{}}}],["path",{"_index":414,"title":{"classes/Path.html":{}},"body":{"controllers/AccountController.html":{},"injectables/AntivirusService.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/BatchDeletionUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/CalendarService.html":{},"interfaces/CollectionFilePath.html":{},"interfaces/CopyFiles.html":{},"classes/DeletionQueueConsole.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersServiceProvider.html":{},"interfaces/File.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"injectables/FileSystemAdapter.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"entities/H5pEditorTempFile.html":{},"injectables/HydraSsoService.html":{},"entities/InstalledLibrary.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/LibraryName.html":{},"interfaces/ListFiles.html":{},"injectables/MetaTagExtractorService.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["path.join(...paths",{"_index":12090,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["path.parse(this.name",{"_index":11845,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["path.replace(':token",{"_index":1346,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["path.slice(1",{"_index":1668,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["path.targetpath",{"_index":19405,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["path_separator",{"_index":3873,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["pathobjects",{"_index":19408,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["pathobjects.filter((p",{"_index":19434,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["pathofchildren",{"_index":3890,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["pathproperties",{"_index":2746,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["pathqueries",{"_index":3914,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["pathqueries.length",{"_index":3916,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["paths",{"_index":5200,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/FileSystemAdapter.html":{},"controllers/H5PEditorController.html":{},"injectables/PreviewService.html":{},"injectables/S3ClientAdapter.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["paths.join",{"_index":19394,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["paths.map((p",{"_index":19409,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["paths.map((path",{"_index":17977,"title":{},"body":{"injectables/PreviewService.html":{},"injectables/S3ClientAdapter.html":{}}}],["paths.map(async",{"_index":19402,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["pathtofile",{"_index":17910,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["path}${id}${path_separator",{"_index":3896,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["pattern",{"_index":304,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountSaveDto.html":{},"classes/BoardContextResponse.html":{},"classes/BoardResponse.html":{},"classes/CardResponse.html":{},"classes/CardSkeletonResponse.html":{},"classes/ColumnResponse.html":{},"entities/Course.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"classes/CreateNewsParams.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FilterNewsParams.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"injectables/LdapStrategy.html":{},"classes/LessonCopyApiParams.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/SchoolInfoResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionItemResponse.html":{},"classes/TargetInfoResponse.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/UserInfoResponse.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["pattern.a",{"_index":25642,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["pattern.exec(url",{"_index":139,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["pattern.test(firstchar",{"_index":7562,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["pattern.test(url",{"_index":151,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["pattern_login_from_dn",{"_index":13848,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["patterns",{"_index":114,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["payload",{"_index":1723,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/BasicToolLaunchStrategy.html":{},"classes/CurrentUserMapper.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"injectables/JwtStrategy.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/RpcMessageProducer.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenPayloadResponse.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/SubmissionItemService.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["payload.'})@apiresponse({status",{"_index":20312,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["payload.completed",{"_index":20861,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["payload.parentid",{"_index":20397,"title":{},"body":{"classes/ShareTokenPayloadResponse.html":{},"injectables/ShareTokenUC.html":{}}}],["payload.parenttype",{"_index":20396,"title":{},"body":{"classes/ShareTokenPayloadResponse.html":{},"injectables/ShareTokenUC.html":{}}}],["payload.response",{"_index":20424,"title":{},"body":{"classes/ShareTokenResponse.html":{}}}],["payload.response.ts",{"_index":20391,"title":{},"body":{"classes/ShareTokenPayloadResponse.html":{}}}],["payload.response.ts:11",{"_index":20395,"title":{},"body":{"classes/ShareTokenPayloadResponse.html":{}}}],["payload.response.ts:14",{"_index":20394,"title":{},"body":{"classes/ShareTokenPayloadResponse.html":{}}}],["payload.response.ts:4",{"_index":20393,"title":{},"body":{"classes/ShareTokenPayloadResponse.html":{}}}],["payload.ts",{"_index":7998,"title":{},"body":{"interfaces/CreateJwtPayload.html":{},"interfaces/JwtPayload.html":{}}}],["payload[property.name",{"_index":2780,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["payment",{"_index":25113,"title":{},"body":{"license.html":{}}}],["peer",{"_index":24919,"title":{},"body":{"license.html":{}}}],["peers",{"_index":24922,"title":{},"body":{"license.html":{}}}],["pem",{"_index":7978,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["pending",{"_index":7146,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["per",{"_index":4883,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"injectables/ElementUc.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["perf_hooks",{"_index":19984,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["perfectly",{"_index":25697,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["performance",{"_index":19983,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["performance.now",{"_index":2893,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"injectables/SchoolMigrationService.html":{}}}],["performed",{"_index":9087,"title":{},"body":{"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"controllers/DeletionRequestsController.html":{}}}],["performedat",{"_index":9143,"title":{},"body":{"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogService.html":{}}}],["performing",{"_index":16491,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{},"license.html":{}}}],["period",{"_index":23447,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["period.entity",{"_index":12811,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["period.entity.ts",{"_index":13023,"title":{},"body":{"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["period.entity.ts:12",{"_index":13026,"title":{},"body":{"classes/GroupValidPeriodEntity.html":{}}}],["period.entity.ts:15",{"_index":13025,"title":{},"body":{"classes/GroupValidPeriodEntity.html":{}}}],["permanently",{"_index":25021,"title":{},"body":{"license.html":{}}}],["permission",{"_index":693,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/BaseUc.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"entities/CourseNews.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DtoCreator.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolUc.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonUC.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsUc.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"interfaces/RoleProperties.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/SchoolExternalToolUc.html":{},"entities/SchoolNews.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SubmissionUc.html":{},"injectables/SystemUc.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRule.html":{},"injectables/TaskUC.html":{},"entities/TeamNews.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"modules/ToolApiModule.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceUc.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserFactory.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["permission'})@apiresponse({status",{"_index":5052,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["permission(s",{"_index":26011,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["permission.course_create",{"_index":20514,"title":{},"body":{"injectables/ShareTokenUC.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["permission.course_edit",{"_index":26041,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["permission.course_view",{"_index":9699,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["permission.create_user",{"_index":26026,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["permission.entity",{"_index":11560,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["permission.entity.ts",{"_index":11724,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["permission.entity.ts:18",{"_index":11731,"title":{},"body":{"classes/FilePermissionEntity.html":{}}}],["permission.entity.ts:21",{"_index":11733,"title":{},"body":{"classes/FilePermissionEntity.html":{}}}],["permission.entity.ts:24",{"_index":11734,"title":{},"body":{"classes/FilePermissionEntity.html":{}}}],["permission.entity.ts:27",{"_index":11730,"title":{},"body":{"classes/FilePermissionEntity.html":{}}}],["permission.entity.ts:30",{"_index":11729,"title":{},"body":{"classes/FilePermissionEntity.html":{}}}],["permission.entity.ts:33",{"_index":11728,"title":{},"body":{"classes/FilePermissionEntity.html":{}}}],["permission.enum",{"_index":26069,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["permission.homework_create",{"_index":20516,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["permission.includes('news",{"_index":16707,"title":{},"body":{"injectables/NewsUc.html":{}}}],["permission.join_meeting",{"_index":24274,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["permission.news_create",{"_index":16673,"title":{},"body":{"injectables/NewsUc.html":{}}}],["permission.news_edit",{"_index":16669,"title":{},"body":{"injectables/NewsUc.html":{}}}],["permission.news_view",{"_index":16668,"title":{},"body":{"injectables/NewsUc.html":{}}}],["permission.nextcloud_user",{"_index":17401,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["permission.oauth_client_edit",{"_index":17210,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["permission.oauth_client_view",{"_index":17207,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["permission.refid.equals(refobjectid",{"_index":11581,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["permission.school_create",{"_index":26022,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["permission.start_meeting",{"_index":24273,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["permission.task_dashboard_teacher_view_v3",{"_index":21806,"title":{},"body":{"injectables/TaskUC.html":{}}}],["permission.task_dashboard_view_v3",{"_index":21807,"title":{},"body":{"injectables/TaskUC.html":{}}}],["permission.tool_admin",{"_index":10204,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolUc.html":{}}}],["permission.topic_create",{"_index":20515,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["permission.topic_edit",{"_index":15573,"title":{},"body":{"injectables/LessonUC.html":{}}}],["permission.topic_view",{"_index":15572,"title":{},"body":{"injectables/LessonUC.html":{}}}],["permission.user_login_migration_admin",{"_index":23706,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["permissioncontext",{"_index":20999,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["permissioncontexts.create",{"_index":26019,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["permissionmapper",{"_index":5130,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["permissionmapping",{"_index":24200,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["permissionmapping[bbbrole",{"_index":24206,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["permissionmapping[role",{"_index":24257,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["permissionrefid",{"_index":12118,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["permissions",{"_index":1826,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"entities/CourseNews.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesRepo.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"injectables/PermissionService.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/TeamNews.html":{},"classes/TeamRolePermissionsDto.html":{},"entities/User.html":{},"controllers/UserController.html":{},"classes/UserFactory.html":{},"interfaces/UserProperties.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["permissions(+share",{"_index":5054,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["permissions.body.params",{"_index":5060,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["permissions.body.params.ts",{"_index":21937,"title":{},"body":{"classes/TeamPermissionsBody.html":{}}}],["permissions.body.params.ts:11",{"_index":21942,"title":{},"body":{"classes/TeamPermissionsBody.html":{}}}],["permissions.body.params.ts:15",{"_index":21938,"title":{},"body":{"classes/TeamPermissionsBody.html":{}}}],["permissions.body.params.ts:19",{"_index":21939,"title":{},"body":{"classes/TeamPermissionsBody.html":{}}}],["permissions.body.params.ts:23",{"_index":21941,"title":{},"body":{"classes/TeamPermissionsBody.html":{}}}],["permissions.body.params.ts:7",{"_index":21940,"title":{},"body":{"classes/TeamPermissionsBody.html":{}}}],["permissions.create",{"_index":5013,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["permissions.delete",{"_index":5014,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["permissions.dto",{"_index":4984,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["permissions.dto.ts",{"_index":21943,"title":{},"body":{"classes/TeamPermissionsDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["permissions.dto.ts:10",{"_index":21944,"title":{},"body":{"classes/TeamPermissionsDto.html":{}}}],["permissions.dto.ts:2",{"_index":21947,"title":{},"body":{"classes/TeamPermissionsDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["permissions.dto.ts:4",{"_index":21948,"title":{},"body":{"classes/TeamPermissionsDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["permissions.dto.ts:6",{"_index":21945,"title":{},"body":{"classes/TeamPermissionsDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["permissions.dto.ts:8",{"_index":21946,"title":{},"body":{"classes/TeamPermissionsDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["permissions.every((p",{"_index":11259,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["permissions.filter((permission",{"_index":16706,"title":{},"body":{"injectables/NewsUc.html":{}}}],["permissions.includes(p",{"_index":1828,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["permissions.length",{"_index":11254,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["permissions.mapper",{"_index":5141,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["permissions.mapper.ts",{"_index":21951,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["permissions.mapper.ts:12",{"_index":21954,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["permissions.read",{"_index":5011,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["permissions.refid",{"_index":11565,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["permissions.share",{"_index":5015,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["permissions.write",{"_index":5012,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["permissionsbody",{"_index":5044,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["permissionsdto",{"_index":5136,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["permissionservice",{"_index":267,"title":{"injectables/PermissionService.html":{}},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"injectables/PermissionService.html":{}}}],["permissive",{"_index":24853,"title":{},"body":{"license.html":{}}}],["permit",{"_index":24883,"title":{},"body":{"license.html":{}}}],["permits",{"_index":24706,"title":{},"body":{"license.html":{}}}],["permitted",{"_index":24657,"title":{},"body":{"license.html":{}}}],["permittedcourses",{"_index":21841,"title":{},"body":{"injectables/TaskUC.html":{}}}],["permittedlessons",{"_index":21857,"title":{},"body":{"injectables/TaskUC.html":{}}}],["permittedmatch",{"_index":23833,"title":{},"body":{"injectables/UserRepo.html":{}}}],["permittedsubmissions",{"_index":20994,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["perpetuity",{"_index":24960,"title":{},"body":{"license.html":{}}}],["persist",{"_index":5296,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"interfaces/CustomLtiProperty.html":{},"injectables/DashboardRepo.html":{},"entities/LtiTool.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["persist(entity",{"_index":8714,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["persistandflush",{"_index":8708,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["persistandflush(entity",{"_index":8716,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["persisted",{"_index":14896,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{},"injectables/TldrawWsService.html":{}}}],["persistedentity",{"_index":2493,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["persistedentity.createdat",{"_index":2498,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["persistedentity.id",{"_index":2496,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["persistedentity.updatedat",{"_index":2500,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["persistedstatevector",{"_index":22285,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["persistedydoc",{"_index":22283,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["persistedydoc.destroy",{"_index":22292,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["persistence",{"_index":22440,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["persistence_",{"_index":22465,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["persistent",{"_index":1342,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["persitence",{"_index":22463,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["person",{"_index":19501,"title":{},"body":{"classes/SanisPersonResponse.html":{},"classes/SanisResponse.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["personal",{"_index":24930,"title":{},"body":{"license.html":{}}}],["personenkontext",{"_index":19503,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{}}}],["personenkontexte",{"_index":19574,"title":{},"body":{"classes/SanisResponse.html":{}}}],["perspective",{"_index":25993,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["pertinent",{"_index":25131,"title":{},"body":{"license.html":{}}}],["php",{"_index":11644,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["physical",{"_index":24889,"title":{},"body":{"license.html":{}}}],["physically",{"_index":24901,"title":{},"body":{"license.html":{}}}],["pickimage",{"_index":16229,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["pickimage(images",{"_index":16238,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["pid",{"_index":19575,"title":{},"body":{"classes/SanisResponse.html":{}}}],["piece",{"_index":25420,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["pieces",{"_index":24680,"title":{},"body":{"license.html":{}}}],["pilot",{"_index":23763,"title":{},"body":{"classes/UserMigrationIsNotEnabled.html":{}}}],["pin",{"_index":8989,"title":{},"body":{"modules/DeletionApiModule.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{}}}],["pin.entity.ts",{"_index":18691,"title":{},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{}}}],["pin.entity.ts:18",{"_index":18693,"title":{},"body":{"entities/RegistrationPinEntity.html":{}}}],["pin.entity.ts:21",{"_index":18695,"title":{},"body":{"entities/RegistrationPinEntity.html":{}}}],["pin.entity.ts:24",{"_index":18697,"title":{},"body":{"entities/RegistrationPinEntity.html":{}}}],["pin.entity.ts:28",{"_index":18694,"title":{},"body":{"entities/RegistrationPinEntity.html":{}}}],["pin.module.ts",{"_index":18713,"title":{},"body":{"modules/RegistrationPinModule.html":{}}}],["pin.repo.ts",{"_index":18715,"title":{},"body":{"injectables/RegistrationPinRepo.html":{}}}],["pin.repo.ts:6",{"_index":18717,"title":{},"body":{"injectables/RegistrationPinRepo.html":{}}}],["pin.repo.ts:9",{"_index":18719,"title":{},"body":{"injectables/RegistrationPinRepo.html":{}}}],["pin.service.ts",{"_index":18722,"title":{},"body":{"injectables/RegistrationPinService.html":{}}}],["pin.service.ts:5",{"_index":18724,"title":{},"body":{"injectables/RegistrationPinService.html":{}}}],["pin.service.ts:8",{"_index":18725,"title":{},"body":{"injectables/RegistrationPinService.html":{}}}],["pin/entity/registration",{"_index":18690,"title":{},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{}}}],["pin/registration",{"_index":18712,"title":{},"body":{"modules/RegistrationPinModule.html":{}}}],["pin/repo/registration",{"_index":18714,"title":{},"body":{"injectables/RegistrationPinRepo.html":{}}}],["pin/service/registration",{"_index":18721,"title":{},"body":{"injectables/RegistrationPinService.html":{}}}],["pinginterval",{"_index":22541,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["pingtimeout",{"_index":22441,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["pipe",{"_index":1172,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/GlobalValidationPipe.html":{},"controllers/H5PEditorController.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["pipe.ts",{"_index":1210,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["pipe.ts:18",{"_index":1229,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["pipe/global",{"_index":23980,"title":{},"body":{"modules/ValidationModule.html":{}}}],["pipeline",{"_index":12126,"title":{},"body":{"injectables/FilesRepo.html":{},"injectables/LessonRepo.html":{},"injectables/UserRepo.html":{}}}],["pipeline.push",{"_index":23857,"title":{},"body":{"injectables/UserRepo.html":{}}}],["pipes",{"_index":25544,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["pipetransform",{"_index":1230,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["pkcs1",{"_index":7977,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["place",{"_index":21677,"title":{},"body":{"injectables/TaskRepo.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolPermissionHelper.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["placeholder",{"_index":5172,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["placeholder.length",{"_index":5334,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["placeholders",{"_index":5364,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"additional-documentation/nestjs-application.html":{}}}],["placeholdervalue",{"_index":5340,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["places",{"_index":25455,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["plain",{"_index":4169,"title":{},"body":{"injectables/BsonConverter.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"injectables/SymetricKeyEncryptionService.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["plaintextcontent",{"_index":1452,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["plaintextmailcontent",{"_index":1450,"title":{"interfaces/PlainTextMailContent.html":{}},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["plaintoclass",{"_index":1231,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/FilesStorageMapper.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["plaintoclass(contentbodyparams",{"_index":1241,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["plaintoclass(filerecordparams",{"_index":12304,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["plaintoclass(librariesbodyparams",{"_index":1239,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["plaintoclass(libraryparametersbodyparams",{"_index":1243,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["plaintoclass(sanisresponse",{"_index":19548,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["planned",{"_index":9499,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["player",{"_index":11648,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["please",{"_index":2511,"title":{},"body":{"injectables/BaseDORepo.html":{},"entities/Board.html":{},"classes/BoardElementResponse.html":{},"classes/BoardManagementConsole.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"injectables/FeathersRosterService.html":{},"injectables/FileRecordRepo.html":{},"injectables/NextcloudStrategy.html":{},"injectables/PermissionService.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["plumbing",{"_index":25818,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["plus",{"_index":25056,"title":{},"body":{"license.html":{}}}],["png",{"_index":10426,"title":{},"body":{"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ReadableStreamWithFileTypeImp.html":{}}}],["point",{"_index":8022,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["pointer",{"_index":25206,"title":{},"body":{"license.html":{}}}],["pointing",{"_index":3317,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["policy",{"_index":26089,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["pongreceived",{"_index":22540,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["pool",{"_index":24574,"title":{},"body":{"dependencies.html":{}}}],["populate",{"_index":5089,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/FilesRepo.html":{},"injectables/NewsRepo.html":{},"injectables/PermissionService.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["populate(tasks",{"_index":21597,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["populateboard",{"_index":3939,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["populateboard(board",{"_index":3947,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["populated",{"_index":3705,"title":{},"body":{"entities/BoardElement.html":{},"entities/Course.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["populatereferences",{"_index":20907,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["populatereferences(submissions",{"_index":20915,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["populateroles",{"_index":22028,"title":{},"body":{"injectables/TeamsRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["populateroles(roles",{"_index":22030,"title":{},"body":{"injectables/TeamsRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["port",{"_index":1283,"title":{},"body":{"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"modules/FilesStorageModule.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"interfaces/ScanResult.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["portion",{"_index":24926,"title":{},"body":{"license.html":{}}}],["pos",{"_index":1660,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/BoardCopyService.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardModelMapper.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["pos.x",{"_index":8470,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["pos.y",{"_index":8473,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["position",{"_index":3045,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"classes/LinkElement.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["position.groupindex",{"_index":8516,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["position.x",{"_index":8605,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["position.y",{"_index":8606,"title":{},"body":{"classes/DashboardMapper.html":{}}}],["positionfromgridindex",{"_index":8388,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["positionfromgridindex(index",{"_index":8423,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["possesses",{"_index":24898,"title":{},"body":{"license.html":{}}}],["possession",{"_index":24868,"title":{},"body":{"license.html":{}}}],["possibility",{"_index":25186,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["possible",{"_index":2615,"title":{},"body":{"injectables/BaseRepo.html":{},"classes/BoardElementResponse.html":{},"modules/BoardModule.html":{},"classes/SchoolInMigrationLoggableException.html":{},"controllers/SystemController.html":{},"injectables/TldrawWsService.html":{},"controllers/UserLoginMigrationController.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["post",{"_index":3211,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DeletionClient.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/H5PEditorController.html":{},"controllers/ImportUserController.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"controllers/KeycloakManagementController.html":{},"controllers/LoginController.html":{},"injectables/Lti11EncryptionService.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/NewsController.html":{},"controllers/OauthProviderController.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"classes/ToolLaunchRequestResponse.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["post('/:externaltoolid",{"_index":22797,"title":{},"body":{"controllers/ToolController.html":{}}}],["post('/:externaltoolid')@apiokresponse({description",{"_index":22777,"title":{},"body":{"controllers/ToolController.html":{}}}],["post('/delete/:contentid",{"_index":13125,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["post('/edit",{"_index":13227,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["post('/edit')@apiresponse({status",{"_index":13122,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["post('/edit/:contentid",{"_index":13238,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["post('/edit/:contentid')@apiresponse({status",{"_index":13160,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["post(':boardid/columns",{"_index":3236,"title":{},"body":{"controllers/BoardController.html":{}}}],["post(':cardid/elements",{"_index":4386,"title":{},"body":{"controllers/CardController.html":{}}}],["post(':columnid/cards",{"_index":5611,"title":{},"body":{"controllers/ColumnController.html":{}}}],["post(':contentelementid/submissions",{"_index":9795,"title":{},"body":{"controllers/ElementController.html":{}}}],["post(':roomid/copy",{"_index":19208,"title":{},"body":{"controllers/RoomsController.html":{}}}],["post(':roomid/copy')@requesttimeout(undefined.incoming_request_timeout_copy_api",{"_index":19180,"title":{},"body":{"controllers/RoomsController.html":{}}}],["post(':scope/:scopeid",{"_index":24177,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["post(':scope/:scopeid')@apioperation({summary",{"_index":24163,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["post(':submissionitemid/elements",{"_index":4042,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["post(':taskid/copy",{"_index":21427,"title":{},"body":{"controllers/TaskController.html":{}}}],["post(':taskid/copy')@requesttimeout(undefined.incoming_request_timeout_copy_api",{"_index":21387,"title":{},"body":{"controllers/TaskController.html":{}}}],["post(':token/import",{"_index":20340,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["post('ajax",{"_index":13206,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["post('ajax')@useinterceptors(undefined",{"_index":13157,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["post('clients",{"_index":17320,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["post('close",{"_index":23498,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["post('close')@httpcode(httpstatus.ok)@apiunprocessableentityresponse({description",{"_index":23418,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["post('export",{"_index":8804,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["post('export/:collectionname",{"_index":8802,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["post('ldap",{"_index":15803,"title":{},"body":{"controllers/LoginController.html":{}}}],["post('lessons/:lessonid/copy",{"_index":19212,"title":{},"body":{"controllers/RoomsController.html":{}}}],["post('lessons/:lessonid/copy')@requesttimeout(undefined.incoming_request_timeout_copy_api",{"_index":19183,"title":{},"body":{"controllers/RoomsController.html":{}}}],["post('local",{"_index":15808,"title":{},"body":{"controllers/LoginController.html":{}}}],["post('migrate",{"_index":13887,"title":{},"body":{"controllers/ImportUserController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["post('oauth2",{"_index":15812,"title":{},"body":{"controllers/LoginController.html":{}}}],["post('seed",{"_index":14799,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["post('seed/:collectionname",{"_index":8807,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["post('start",{"_index":23487,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["post('start')@apiunprocessableentityresponse({description",{"_index":23460,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["post('startsync",{"_index":13874,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["post('startusermigration",{"_index":13895,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["post('sync",{"_index":8813,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["post()@apicreatedresponse({description",{"_index":22699,"title":{},"body":{"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["post()@httpcode(202)@apioperation({summary",{"_index":9498,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["post()@httpcode(204)@apioperation({summary",{"_index":9125,"title":{},"body":{"controllers/DeletionExecutionsController.html":{}}}],["post(`${this.options.uri}${path",{"_index":1177,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["post(`${this.options.uri}/api/v1/login",{"_index":1184,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["post(path",{"_index":1176,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"interfaces/AuthenticationResponse.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["post(subpath",{"_index":1650,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["post.body.params",{"_index":1236,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["post.params.ts",{"_index":6774,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/SchoolExternalToolPostParams.html":{}}}],["post.params.ts:10",{"_index":6785,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/SchoolExternalToolPostParams.html":{}}}],["post.params.ts:14",{"_index":6775,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{}}}],["post.params.ts:15",{"_index":19755,"title":{},"body":{"classes/SchoolExternalToolPostParams.html":{}}}],["post.params.ts:18",{"_index":6777,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{}}}],["post.params.ts:22",{"_index":19753,"title":{},"body":{"classes/SchoolExternalToolPostParams.html":{}}}],["post.params.ts:23",{"_index":6779,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{}}}],["post.params.ts:26",{"_index":19756,"title":{},"body":{"classes/SchoolExternalToolPostParams.html":{}}}],["post.params.ts:30",{"_index":6784,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{}}}],["post.params.ts:34",{"_index":6787,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{}}}],["postajax",{"_index":13118,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["postajax(body",{"_index":13156,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["postasadmin(path",{"_index":1157,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["postdeletionexecutionsendpoint",{"_index":9001,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["postdeletionrequestsendpoint",{"_index":9002,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["posth5pcontentcreateparams",{"_index":12539,"title":{"classes/PostH5PContentCreateParams.html":{}},"body":{"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"controllers/H5PEditorController.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["posth5pcontentparams",{"_index":12537,"title":{"classes/PostH5PContentParams.html":{}},"body":{"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["potential",{"_index":7633,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["potentially",{"_index":26102,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["povider",{"_index":25254,"title":{},"body":{"todo.html":{}}}],["power",{"_index":24838,"title":{},"body":{"license.html":{}}}],["powershell",{"_index":25870,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["pr",{"_index":24622,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["practical",{"_index":24669,"title":{},"body":{"license.html":{}}}],["practice",{"_index":25088,"title":{},"body":{"license.html":{}}}],["practices",{"_index":25827,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["practices/layers/orm",{"_index":25259,"title":{},"body":{"todo.html":{}}}],["preamble",{"_index":24660,"title":{},"body":{"license.html":{}}}],["precise",{"_index":4484,"title":{},"body":{"classes/CardSkeletonResponse.html":{},"license.html":{}}}],["preconditions",{"_index":24588,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["predecessor",{"_index":25053,"title":{},"body":{"license.html":{}}}],["predefined",{"_index":25617,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["preexisting",{"_index":25676,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["preferences",{"_index":23140,"title":{},"body":{"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDto.html":{},"classes/UserMapper.html":{},"interfaces/UserProperties.html":{}}}],["preferred",{"_index":24771,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["prefetch",{"_index":18361,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["prefetchcount",{"_index":18364,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["prefix",{"_index":316,"title":{},"body":{"controllers/AccountController.html":{},"interfaces/AuthenticationResponse.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"controllers/DashboardController.html":{},"controllers/DatabaseManagementController.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/ImportUserController.html":{},"controllers/KeycloakManagementController.html":{},"controllers/LessonController.html":{},"controllers/LoginController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/NewsController.html":{},"controllers/OauthProviderController.html":{},"controllers/OauthSSOController.html":{},"controllers/PseudonymController.html":{},"controllers/RoomsController.html":{},"injectables/S3ClientAdapter.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"controllers/SystemController.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"classes/TestApiClient.html":{},"controllers/TldrawController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["prefixes",{"_index":4857,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["preloadedcss",{"_index":11658,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["preloadeddependencies",{"_index":6525,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["preloadedjs",{"_index":11659,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["premature",{"_index":25443,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["preparation",{"_index":25696,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["prepare",{"_index":9022,"title":{},"body":{"injectables/DeletionClient.html":{},"injectables/LegacyLogger.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["prepareawarenessmessage",{"_index":24369,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["prepareawarenessmessage(changedclients",{"_index":24379,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["preparebbbcreateconfigbuilder",{"_index":24105,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["preparebbbcreateconfigbuilder(scope",{"_index":24115,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["prepared",{"_index":25703,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["prepended",{"_index":24613,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["prerendering",{"_index":4480,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["presence",{"_index":2905,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["present",{"_index":25148,"title":{},"body":{"license.html":{}}}],["presentationurl",{"_index":2334,"title":{},"body":{"injectables/BBBService.html":{},"interfaces/IBbbSettings.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["presents",{"_index":24766,"title":{},"body":{"license.html":{}}}],["preservation",{"_index":24989,"title":{},"body":{"license.html":{}}}],["preset",{"_index":23996,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["prettier",{"_index":25379,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["prevent",{"_index":2549,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["prevented",{"_index":24953,"title":{},"body":{"license.html":{}}}],["prevention",{"_index":1748,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["preview",{"_index":7227,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"classes/PreviewParams.html":{},"injectables/PreviewService.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["preview.coalesce",{"_index":17936,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["preview.producer",{"_index":17898,"title":{},"body":{"modules/PreviewGeneratorProducerModule.html":{}}}],["preview.resize(width",{"_index":17937,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["preview.selectframe(0",{"_index":17934,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["preview.stream(format",{"_index":17938,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["preview_not_possible_scan_status_blocked",{"_index":11773,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["preview_not_possible_scan_status_error",{"_index":11771,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["preview_not_possible_scan_status_wont_check",{"_index":11772,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["preview_not_possible_wrong_mime_type",{"_index":11774,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["preview_possible",{"_index":11769,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["previewactionsloggable",{"_index":17819,"title":{"classes/PreviewActionsLoggable.html":{}},"body":{"classes/PreviewActionsLoggable.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{}}}],["previewactionsloggable('previewgeneratorconsumer.generatepreview:end",{"_index":17881,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["previewactionsloggable('previewgeneratorconsumer.generatepreview:start",{"_index":17879,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["previewactionsloggable('previewgeneratorservice.generatepreview:end",{"_index":17926,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["previewactionsloggable('previewgeneratorservice.generatepreview:start",{"_index":17919,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["previewactionsloggable('previewgeneratorservice.previewnotpossible",{"_index":17930,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["previewactionsloggable('previewproducer.generate:finished",{"_index":17951,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["previewactionsloggable('previewproducer.generate:started",{"_index":17949,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["previewbuilder",{"_index":17830,"title":{"classes/PreviewBuilder.html":{}},"body":{"classes/PreviewBuilder.html":{},"injectables/PreviewService.html":{}}}],["previewbuilder.buildparams(filerecord",{"_index":17974,"title":{},"body":{"injectables/PreviewService.html":{}}}],["previewbuilder.buildpayload(params",{"_index":17988,"title":{},"body":{"injectables/PreviewService.html":{}}}],["previewconfig",{"_index":17847,"title":{"interfaces/PreviewConfig.html":{}},"body":{"interfaces/PreviewConfig.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"interfaces/PreviewModuleConfig.html":{}}}],["previewfileoptions",{"_index":17823,"title":{"interfaces/PreviewFileOptions.html":{}},"body":{"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileOptions.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewOptions.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{}}}],["previewfileparams",{"_index":12486,"title":{"interfaces/PreviewFileParams.html":{}},"body":{"interfaces/GetFileResponse.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileParams.html":{},"injectables/PreviewService.html":{}}}],["previewfilepath",{"_index":12489,"title":{},"body":{"interfaces/GetFileResponse.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewOptions.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{}}}],["previewgeneratoramqpmodule",{"_index":17853,"title":{"modules/PreviewGeneratorAMQPModule.html":{}},"body":{"modules/PreviewGeneratorAMQPModule.html":{}}}],["previewgeneratorbuilder",{"_index":17858,"title":{"classes/PreviewGeneratorBuilder.html":{}},"body":{"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorService.html":{}}}],["previewgeneratorbuilder.buildfile(preview",{"_index":17923,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["previewgeneratorconsumer",{"_index":17863,"title":{"injectables/PreviewGeneratorConsumer.html":{}},"body":{"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{}}}],["previewgeneratorconsumermodule",{"_index":17856,"title":{"modules/PreviewGeneratorConsumerModule.html":{}},"body":{"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{}}}],["previewgeneratorconsumermodule.register",{"_index":17857,"title":{},"body":{"modules/PreviewGeneratorAMQPModule.html":{}}}],["previewgeneratorproducermodule",{"_index":12315,"title":{"modules/PreviewGeneratorProducerModule.html":{}},"body":{"modules/FilesStorageModule.html":{},"modules/PreviewGeneratorProducerModule.html":{}}}],["previewgeneratorservice",{"_index":17867,"title":{"injectables/PreviewGeneratorService.html":{}},"body":{"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{}}}],["previewgeneratorservice(storageclient",{"_index":17888,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["previewinputmimetypes",{"_index":11767,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"injectables/PreviewGeneratorService.html":{}}}],["previewinputmimetypes.application_pdf",{"_index":17933,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["previewinputmimetypes.image_gif",{"_index":17935,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["previewmoduleconfig",{"_index":17850,"title":{"interfaces/PreviewModuleConfig.html":{}},"body":{"interfaces/PreviewConfig.html":{},"interfaces/PreviewModuleConfig.html":{},"injectables/PreviewProducer.html":{}}}],["previewoptions",{"_index":17826,"title":{"interfaces/PreviewOptions.html":{}},"body":{"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileOptions.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewOptions.html":{},"interfaces/PreviewResponseMessage.html":{}}}],["previewoptions.format",{"_index":17828,"title":{},"body":{"classes/PreviewActionsLoggable.html":{}}}],["previewoptions.width",{"_index":17829,"title":{},"body":{"classes/PreviewActionsLoggable.html":{}}}],["previewoutputmimetypes",{"_index":7210,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["previewoutputmimetypes'})@isoptional()@isenum(previewoutputmimetypes",{"_index":17940,"title":{},"body":{"classes/PreviewParams.html":{}}}],["previewparams",{"_index":7222,"title":{"classes/PreviewParams.html":{}},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"interfaces/GetFileResponse.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileParams.html":{},"injectables/PreviewGeneratorService.html":{},"classes/PreviewParams.html":{},"injectables/PreviewService.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["previewparams.outputformat",{"_index":17985,"title":{},"body":{"injectables/PreviewService.html":{}}}],["previewparams.width",{"_index":17846,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["previewproducer",{"_index":17896,"title":{"injectables/PreviewProducer.html":{}},"body":{"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{}}}],["previewresponsemessage",{"_index":17852,"title":{"interfaces/PreviewResponseMessage.html":{}},"body":{"interfaces/PreviewFileOptions.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewOptions.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{}}}],["previewservice",{"_index":12244,"title":{"injectables/PreviewService.html":{}},"body":{"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"injectables/PreviewService.html":{}}}],["previewstatus",{"_index":7177,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"injectables/PreviewService.html":{}}}],["previewstatus.awaiting_scan_status",{"_index":11839,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["previewstatus.preview_not_possible_scan_status_blocked",{"_index":11834,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["previewstatus.preview_not_possible_scan_status_error",{"_index":11842,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["previewstatus.preview_not_possible_scan_status_wont_check",{"_index":11841,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["previewstatus.preview_not_possible_wrong_mime_type",{"_index":11836,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["previewstatus.preview_possible",{"_index":11837,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"injectables/PreviewService.html":{}}}],["previewwidth",{"_index":7211,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["previewwidth'})@isoptional()@isenum(previewwidth",{"_index":17942,"title":{},"body":{"classes/PreviewParams.html":{}}}],["previous",{"_index":25055,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{}}}],["previousexternalid",{"_index":15109,"title":{},"body":{"injectables/LdapStrategy.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"entities/SchoolEntity.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserProperties.html":{}}}],["previously",{"_index":6296,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{}}}],["previousteachers",{"_index":5775,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["price",{"_index":24677,"title":{},"body":{"license.html":{}}}],["primarily",{"_index":25115,"title":{},"body":{"license.html":{}}}],["primary",{"_index":616,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"injectables/BaseDORepo.html":{}}}],["primarykey",{"_index":2531,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["principle",{"_index":25423,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["principles",{"_index":25416,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["prior",{"_index":25023,"title":{},"body":{"license.html":{}}}],["privacy",{"_index":9895,"title":{},"body":{"classes/ErrorLoggable.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["privacy_permission",{"_index":8104,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["privacyprotect",{"_index":297,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountSaveDto.html":{},"classes/ErrorLoggable.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{}}}],["privacyprotect()@isoptional()@isstring()@matches(passwordpattern)@apiproperty({description",{"_index":292,"title":{},"body":{"classes/AccountByIdBodyParams.html":{}}}],["privacyprotect()@isoptional()@matches(passwordpattern",{"_index":448,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{}}}],["privacyprotect()@isstring()@isoptional()@matches(passwordpattern)@apiproperty({description",{"_index":17764,"title":{},"body":{"classes/PatchMyAccountParams.html":{}}}],["privacyprotect()@isstring()@matches(passwordpattern)@apiproperty({description",{"_index":17770,"title":{},"body":{"classes/PatchMyPasswordParams.html":{}}}],["privacyprotected",{"_index":9904,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["private",{"_index":652,"title":{},"body":{"injectables/AccountLookupService.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthorizationContextBuilder.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"injectables/BasicToolLaunchStrategy.html":{},"entities/Board.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardRepo.html":{},"controllers/BoardSubmissionController.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CalendarService.html":{},"controllers/CardController.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassMapper.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/CopyFilesService.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/CourseGroupRule.html":{},"interfaces/CourseProperties.html":{},"classes/CourseScope.html":{},"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestScope.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"classes/ForbiddenLoggableException.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/GroupResponseMapper.html":{},"controllers/H5PEditorController.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IGridElement.html":{},"interfaces/ITask.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"interfaces/LibrariesContentType.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{},"injectables/LtiToolRepo.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/MigrationCheckService.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/NewsCrudOperationLoggable.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"controllers/OauthSSOController.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/Options.html":{},"injectables/PermissionService.html":{},"classes/PreviewActionsLoggable.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"injectables/ProvisioningService.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolExternalToolScope.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolValidationService.html":{},"classes/Scope.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/Submission.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemScope.html":{},"injectables/SystemUc.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"injectables/ToolVersionService.html":{},"classes/UnauthorizedLoggableException.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"injectables/VideoConferenceRepo.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["private_key_jwt",{"_index":17034,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["privatedevice",{"_index":14372,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["privatekey",{"_index":7968,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["privilege",{"_index":11650,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["probably",{"_index":3922,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["problem",{"_index":6245,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"injectables/SanisProvisioningStrategy.html":{},"modules/ToolLaunchModule.html":{},"index.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["problems",{"_index":25151,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["procedures",{"_index":24949,"title":{},"body":{"license.html":{}}}],["proceedbuttonurl",{"_index":17724,"title":{},"body":{"classes/PageContentDto.html":{}}}],["process",{"_index":7800,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionQueueConsole.html":{},"controllers/LoginController.html":{},"modules/MongoMemoryDatabaseModule.html":{},"controllers/OauthSSOController.html":{},"classes/RedirectResponse.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["process'})@apiresponse({status",{"_index":9127,"title":{},"body":{"controllers/DeletionExecutionsController.html":{}}}],["process.dto.ts",{"_index":16835,"title":{},"body":{"classes/OAuthProcessDto.html":{}}}],["process.dto.ts:2",{"_index":16837,"title":{},"body":{"classes/OAuthProcessDto.html":{}}}],["process.dto.ts:4",{"_index":16836,"title":{},"body":{"classes/OAuthProcessDto.html":{}}}],["process.env.mongo_test_uri}/${dbname",{"_index":16392,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["processcookies",{"_index":13499,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["processcookies(setcookies",{"_index":13512,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["processed",{"_index":2814,"title":{},"body":{"injectables/BatchDeletionService.html":{},"interfaces/CollaborativeStorageStrategy.html":{}}}],["processing",{"_index":5049,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["processredirect",{"_index":13500,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["processredirect(dto",{"_index":13515,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["processredirectcascade",{"_index":13433,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["processredirectcascade(initresponse",{"_index":13441,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["procuring",{"_index":25105,"title":{},"body":{"license.html":{}}}],["produce",{"_index":1713,"title":{},"body":{"injectables/AuthenticationService.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{},"license.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["producer.module.ts",{"_index":17897,"title":{},"body":{"modules/PreviewGeneratorProducerModule.html":{}}}],["producer.ts",{"_index":19263,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["producer.ts:12",{"_index":19267,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["producer.ts:21",{"_index":19265,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["producer.ts:29",{"_index":19266,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["producer.ts:5",{"_index":19264,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["produces",{"_index":25608,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["product",{"_index":2203,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"classes/Builder.html":{},"license.html":{}}}],["production",{"_index":4896,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"interfaces/ServerConfig.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{}}}],["products",{"_index":25116,"title":{},"body":{"license.html":{}}}],["profile",{"_index":14701,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["program",{"_index":24673,"title":{},"body":{"license.html":{}}}],["program's",{"_index":24847,"title":{},"body":{"license.html":{}}}],["programmer",{"_index":25217,"title":{},"body":{"license.html":{}}}],["programming",{"_index":24776,"title":{},"body":{"license.html":{}}}],["programs",{"_index":24681,"title":{},"body":{"license.html":{}}}],["progress",{"_index":7130,"title":{},"body":{"classes/CopyApiResponse.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["prohibit",{"_index":24812,"title":{},"body":{"license.html":{},"todo.html":{}}}],["prohibiting",{"_index":24835,"title":{},"body":{"license.html":{}}}],["prohibits",{"_index":25110,"title":{},"body":{"license.html":{}}}],["project",{"_index":23843,"title":{},"body":{"injectables/UserRepo.html":{},"index.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["prom",{"_index":18746,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"dependencies.html":{}}}],["prometheus",{"_index":18043,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricsapp",{"_index":18068,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricsapp.listen(prometheusmetricsappport",{"_index":18070,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricsappport",{"_index":18066,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricsconfig",{"_index":17990,"title":{"classes/PrometheusMetricsConfig.html":{}},"body":{"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricsconfig.instance",{"_index":18063,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricsconfig.instance.isenabled",{"_index":18056,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricsconfig.instance.port",{"_index":18067,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricssetupstate",{"_index":18036,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricssetupstate.api_response_time_metric_middleware_successfully_added",{"_index":18060,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricssetupstate.feature_disabled_middlewares_will_not_be_created",{"_index":18058,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricssetupstateloggable",{"_index":18032,"title":{"classes/PrometheusMetricsSetupStateLoggable.html":{}},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricssetupstateloggable(prometheusmetricssetupstate.collecting_default_metrics_disabled",{"_index":18064,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricssetupstateloggable(prometheusmetricssetupstate.collecting_metrics_route_metrics_disabled",{"_index":18065,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prometheusmetricssetupstateloggable(prometheusmetricssetupstate.feature_disabled_app_will_not_be_created",{"_index":18062,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{}}}],["prominent",{"_index":24768,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["prominently",{"_index":24763,"title":{},"body":{"license.html":{}}}],["promise",{"_index":36,"title":{},"body":{"classes/AbstractAccountService.html":{},"controllers/AccountController.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/AntivirusService.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoService.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"controllers/BoardSubmissionController.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"interfaces/CardProps.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"interfaces/ColumnProps.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/CopyFilesService.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"controllers/DashboardController.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"injectables/DeletionExecutionUc.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionQueueConsole.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"controllers/DeletionRequestsController.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"interfaces/DrawingElementProps.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"injectables/FileRecordRepo.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/GroupController.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"injectables/IdTokenService.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"controllers/ImportUserController.html":{},"injectables/ImportUserRepo.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/LessonUrlHandler.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"injectables/LocalStrategy.html":{},"controllers/LoginController.html":{},"injectables/LoginUc.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/MaterialsRepo.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/MigrationCheckService.html":{},"interfaces/MigrationOptions.html":{},"modules/MongoMemoryDatabaseModule.html":{},"controllers/NewsController.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"controllers/PseudonymController.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RepoLoader.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"interfaces/RetryOptions.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolMigrationService.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/StorageProviderRepo.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"controllers/SystemController.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamService.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"injectables/ToolVersionService.html":{},"interfaces/UrlHandler.html":{},"controllers/UserController.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"injectables/VideoConferenceRepo.html":{},"dependencies.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["promise((resolve",{"_index":2835,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/LdapService.html":{},"classes/TestConnection.html":{}}}],["promise.all",{"_index":980,"title":{},"body":{"injectables/AccountValidationService.html":{},"injectables/AuthorizationReferenceService.html":{},"interfaces/CollectionFilePath.html":{},"injectables/DashboardModelMapper.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolService.html":{},"injectables/FeathersRosterService.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonUC.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PseudonymService.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SubmissionUc.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{},"injectables/TeamsRepo.html":{},"injectables/ToolPermissionHelper.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["promise.all(adduserids.map((nextclouduserid",{"_index":16804,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["promise.all(array.from(modelentity.gridelements).map(async",{"_index":8667,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["promise.all(copyrequests",{"_index":19406,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["promise.all(domainobject.children.map(async",{"_index":18528,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["promise.all(gridelement.getreferences().map((ref",{"_index":8688,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["promise.all(promises",{"_index":2487,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/CardUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/DeleteFilesUc.html":{},"injectables/PreviewService.html":{},"injectables/TaskService.html":{}}}],["promise.all(referencemodels.map((ref",{"_index":8659,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["promise.all(removeuserids.map((nextclouduserid",{"_index":16802,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["promise.all(studententities.map((user",{"_index":11351,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["promise.all(substitutionteacherentities.map((user",{"_index":11354,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["promise.all(teacherentities.map((user",{"_index":11353,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["promise.all(toolreferencespromises",{"_index":23039,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["promise.allsettled(boarddo.children.map((child",{"_index":18471,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["promise.allsettled(promises",{"_index":3334,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["promise.reject",{"_index":23831,"title":{},"body":{"injectables/UserRepo.html":{}}}],["promise.reject(new",{"_index":3315,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ContentElementUpdateVisitor.html":{}}}],["promise.resolve",{"_index":2775,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/FileSystemAdapter.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/TestBootstrapConsole.html":{}}}],["promise.resolve(configuration.get('hydra_uri",{"_index":17355,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["promise.resolve(false",{"_index":958,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["promise.resolve(new",{"_index":14284,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{}}}],["promise.resolve(oauthdata",{"_index":17581,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["promise.resolve(response",{"_index":20334,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["promise.resolve(undefined",{"_index":16303,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["promises",{"_index":2483,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BoardCopyService.html":{},"injectables/CardUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/DeleteFilesUc.html":{},"injectables/FileSystemAdapter.html":{},"injectables/PreviewService.html":{},"injectables/TaskService.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["promisify",{"_index":24498,"title":{},"body":{"dependencies.html":{}}}],["prompt",{"_index":17570,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["prop",{"_index":1819,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["propagate",{"_index":24737,"title":{},"body":{"license.html":{}}}],["propagating",{"_index":25039,"title":{},"body":{"license.html":{}}}],["propagation",{"_index":24747,"title":{},"body":{"license.html":{}}}],["propaly",{"_index":21313,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["proper",{"_index":3381,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/DeletionExecutionConsole.html":{},"interfaces/UserBoardRoles.html":{}}}],["properly",{"_index":25773,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["properties",{"_index":112,"title":{"properties.html":{}},"body":{"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"interfaces/AccountConfig.html":{},"classes/AccountDto.html":{},"classes/AccountFactory.html":{},"interfaces/AccountParams.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"interfaces/AuthenticationResponse.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationError.html":{},"classes/AuthorizationParams.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"interfaces/BatchDeletionSummary.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"entities/Board.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardContextResponse.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/BoardDoBuilderImpl.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/BoardResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardSkeletonResponse.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"interfaces/ClassProps.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"interfaces/CleanOptions.html":{},"injectables/CollaborativeStorageAdapter.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/CommonCartridgeConfig.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"classes/County.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"classes/CourseScope.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DashboardResponse.html":{},"classes/DashboardUrlParams.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"interfaces/DeletionRequestOutput.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"classes/ElementContentBody.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataResponse.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/ExternalUserDto.html":{},"interfaces/FeathersError.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"classes/FileUrlParams.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenOperationError.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/GroupProps.html":{},"classes/GroupResponse.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"interfaces/IdentityManagementConfig.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/InterceptorConfig.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"entities/LessonBoardElement.html":{},"classes/LessonCopyApiParams.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonProperties.html":{},"classes/LessonScope.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"interfaces/Meta.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MigrationDto.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"classes/NewsUrlParams.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"interfaces/PreviewResponseMessage.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"classes/ProvisioningDto.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemDto.html":{},"classes/Pseudonym.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"injectables/ReferenceLoader.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"interfaces/RocketChatUserProps.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"interfaces/RpcMessage.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInfoResponse.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"classes/Scope.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"interfaces/ServerConfig.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/SubmissionItemUrlParams.html":{},"interfaces/SubmissionProperties.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"classes/System.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"interfaces/SystemProps.html":{},"classes/SystemScope.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"classes/TaskCopyApiParams.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusResponse.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"entities/TeamNews.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"classes/TestApiClient.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"interfaces/TldrawConfig.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolConfiguration.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceResponse.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"properties.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["properties.filter((property",{"_index":2777,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["properties.some",{"_index":2785,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["propertiestopopulate",{"_index":16567,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["property",{"_index":223,"title":{},"body":{"entities/Account.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/BasicToolLaunchStrategy.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntryEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DashboardResponse.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"classes/ElementContentBody.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"classes/ExternalToolUpdateParams.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/H5pEditorTempFile.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfigEntity.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LibraryName.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/LtiTool.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/PropertyData.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"classes/SingleColumnBoardResponse.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionProperties.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"interfaces/TemporaryFileProperties.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"classes/ToolLaunchData.html":{},"classes/UpdateElementContentBodyParams.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceOptions.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["property()@index",{"_index":221,"title":{},"body":{"entities/Account.html":{},"entities/ClassEntity.html":{},"entities/News.html":{},"entities/RegistrationPinEntity.html":{},"entities/RocketChatUserEntity.html":{},"entities/User.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceInfo.html":{}}}],["property()@index({options",{"_index":9339,"title":{},"body":{"entities/DeletionRequestEntity.html":{}}}],["property()@unique",{"_index":10558,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"entities/PseudonymEntity.html":{},"entities/RocketChatUserEntity.html":{},"entities/Role.html":{}}}],["property({comment",{"_index":20816,"title":{},"body":{"entities/SubmissionItemNode.html":{}}}],["property({default",{"_index":18696,"title":{},"body":{"entities/RegistrationPinEntity.html":{}}}],["property({fieldname",{"_index":5435,"title":{},"body":{"entities/ColumnBoardNode.html":{},"entities/ColumnBoardTarget.html":{},"entities/FileEntity.html":{},"entities/FileRecord.html":{},"entities/H5PContent.html":{},"entities/ImportUser.html":{},"entities/ShareToken.html":{},"entities/StorageProviderEntity.html":{}}}],["property({nullable",{"_index":211,"title":{},"body":{"entities/Account.html":{},"entities/BoardNode.html":{},"entities/ClassEntity.html":{},"classes/ClassSourceOptionsEntity.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"entities/Course.html":{},"classes/CustomParameterEntity.html":{},"entities/DashboardGridElementModel.html":{},"entities/DeletionLogEntity.html":{},"entities/ExternalToolEntity.html":{},"entities/FederalStateEntity.html":{},"entities/FileEntity.html":{},"classes/FilePermissionEntity.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfigEntity.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/LtiTool.html":{},"entities/News.html":{},"classes/OauthConfigEntity.html":{},"entities/RocketChatUserEntity.html":{},"entities/SchoolEntity.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/StorageProviderEntity.html":{},"entities/Submission.html":{},"entities/SubmissionContainerElementNode.html":{},"entities/SystemEntity.html":{},"entities/Task.html":{},"entities/TldrawDrawing.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{}}}],["property({onupdate",{"_index":2561,"title":{},"body":{"classes/BaseEntityWithTimestamps.html":{}}}],["property({type",{"_index":13040,"title":{},"body":{"entities/H5PContent.html":{},"entities/ImportUser.html":{}}}],["property.location",{"_index":2778,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["property.value",{"_index":2781,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["propertydata",{"_index":2731,"title":{"classes/PropertyData.html":{}},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/PropertyData.html":{},"classes/ToolLaunchData.html":{}}}],["propertylocation",{"_index":2771,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"classes/PropertyData.html":{},"classes/ToolLaunchMapper.html":{}}}],["propertylocation.body",{"_index":2779,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"classes/ToolLaunchMapper.html":{}}}],["propertylocation.path",{"_index":22856,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["propertylocation.query",{"_index":22857,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["propertyname",{"_index":2742,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["propertypath",{"_index":1406,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["propertypath.push(validationerror.property",{"_index":1408,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["props",{"_index":435,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizableObject.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigResponse.html":{},"classes/BoardComposite.html":{},"classes/BoardDoAuthorizable.html":{},"injectables/BoardDoRepo.html":{},"classes/Card.html":{},"classes/Class.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"classes/ContextRef.html":{},"classes/CookiesDto.html":{},"entities/CourseNews.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterResponse.html":{},"classes/DashboardEntity.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"classes/DomainObject.html":{},"classes/DrawingElement.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalUserDto.html":{},"classes/FileDto-1.html":{},"classes/FileElement.html":{},"classes/FilePermissionEntity.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"classes/GroupValidPeriodEntity.html":{},"classes/HydraRedirectDto.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IGridElement.html":{},"classes/ImportUserResponse.html":{},"classes/LdapConfig.html":{},"classes/LinkElement.html":{},"classes/LoginDto.html":{},"classes/LoginResponse.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsUc.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"classes/PageContentDto.html":{},"classes/PropertyData.html":{},"classes/ProvisioningSystemDto.html":{},"classes/Pseudonym.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/ResolvedGroupUser.html":{},"classes/RichTextElement.html":{},"classes/RocketChatUser.html":{},"classes/RoleDto.html":{},"classes/RoleReference.html":{},"classes/ScanResultDto.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolRefDO.html":{},"entities/SchoolNews.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{},"classes/System.html":{},"injectables/SystemRepo.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TeamDto.html":{},"entities/TeamNews.html":{},"classes/TeamPermissionsDto.html":{},"classes/TeamRolePermissionsDto.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParentsEntity.html":{}}}],["props.abbreviation",{"_index":7445,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["props.accesskeyid",{"_index":20633,"title":{},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["props.accesstoken",{"_index":15818,"title":{},"body":{"classes/LoginDto.html":{},"classes/LoginResponse.html":{},"classes/OAuthTokenDto.html":{},"classes/OauthDataStrategyInputDto.html":{}}}],["props.action",{"_index":22352,"title":{},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["props.activated",{"_index":251,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{}}}],["props.active",{"_index":14912,"title":{},"body":{"classes/LdapConfig.html":{}}}],["props.alias",{"_index":15015,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["props.alternativetext",{"_index":11509,"title":{},"body":{"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{}}}],["props.authtoken",{"_index":18945,"title":{},"body":{"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["props.availabledate",{"_index":21289,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.axiosconfig",{"_index":13495,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["props.baseurl",{"_index":2680,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigResponse.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/ToolLaunchData.html":{}}}],["props.birthday",{"_index":11196,"title":{},"body":{"classes/ExternalUserDto.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["props.boardelement",{"_index":6718,"title":{},"body":{"classes/ContextExternalToolCountPerContextResponse.html":{}}}],["props.bucket",{"_index":11574,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.builder.ts",{"_index":9334,"title":{},"body":{"classes/DeletionRequestBodyPropsBuilder.html":{}}}],["props.builder.ts:6",{"_index":9335,"title":{},"body":{"classes/DeletionRequestBodyPropsBuilder.html":{}}}],["props.cancelbuttonurl",{"_index":17730,"title":{},"body":{"classes/PageContentDto.html":{}}}],["props.caption",{"_index":11508,"title":{},"body":{"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{}}}],["props.classnames",{"_index":13971,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["props.classnames.length",{"_index":13841,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["props.client",{"_index":16154,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["props.client_id",{"_index":1509,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["props.client_secret",{"_index":1511,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["props.clientid",{"_index":16939,"title":{},"body":{"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["props.clientsecret",{"_index":16940,"title":{},"body":{"classes/Oauth2ToolConfig.html":{}}}],["props.clock",{"_index":22350,"title":{},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["props.closedat",{"_index":23526,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["props.code",{"_index":1517,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["props.color",{"_index":7520,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["props.colums",{"_index":8475,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["props.comment",{"_index":20672,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["props.completed",{"_index":20822,"title":{},"body":{"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["props.config",{"_index":2133,"title":{},"body":{"classes/AxiosResponseImp.html":{},"entities/ExternalToolEntity.html":{}}}],["props.content",{"_index":7832,"title":{},"body":{"entities/CourseNews.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["props.contents",{"_index":6185,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["props.context.type",{"_index":5442,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["props.contextexternaltool",{"_index":10279,"title":{},"body":{"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["props.contextexternaltoolid",{"_index":10269,"title":{},"body":{"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{}}}],["props.contextid",{"_index":6739,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["props.contextref",{"_index":6646,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{}}}],["props.contexttype",{"_index":6741,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["props.cookies",{"_index":13492,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["props.copyingsince",{"_index":7526,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["props.course",{"_index":6181,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.course.school",{"_index":7726,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{}}}],["props.coursegroup",{"_index":6183,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["props.create",{"_index":11743,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["props.createdat",{"_index":461,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"classes/County.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["props.creator",{"_index":7835,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{}}}],["props.credentialhash",{"_index":241,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{}}}],["props.currentredirect",{"_index":13488,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["props.customs",{"_index":8136,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.data",{"_index":2125,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["props.default",{"_index":8201,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{}}}],["props.defaultvalue",{"_index":8340,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["props.delete",{"_index":11745,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["props.deleteafter",{"_index":9350,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["props.deleted",{"_index":11588,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.deletedat",{"_index":11587,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["props.deletedcount",{"_index":9188,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["props.deletedsince",{"_index":11799,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["props.deletionrequestid",{"_index":9190,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["props.description",{"_index":7513,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["props.descriptioninputformat",{"_index":21286,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.destinationexternalreference",{"_index":5425,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["props.displayat",{"_index":7834,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["props.displayname",{"_index":6648,"title":{},"body":{"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["props.docname",{"_index":22347,"title":{},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["props.domain",{"_index":9183,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["props.duedate",{"_index":20736,"title":{},"body":{"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.email",{"_index":11194,"title":{},"body":{"classes/ExternalUserDto.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"entities/User.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{}}}],["props.enddate",{"_index":20090,"title":{},"body":{"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{}}}],["props.endpointurl",{"_index":20631,"title":{},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["props.expiresat",{"_index":249,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["props.externalgroups",{"_index":17144,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["props.externalid",{"_index":7838,"title":{},"body":{"entities/CourseNews.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalUserDto.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/TeamNews.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["props.externalidtoken",{"_index":17155,"title":{},"body":{"classes/OauthLoginResponse.html":{}}}],["props.externalschool",{"_index":17142,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["props.externalsource",{"_index":12777,"title":{},"body":{"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["props.externalsourcename",{"_index":4681,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{}}}],["props.externaluser",{"_index":17140,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["props.externaluserid",{"_index":10028,"title":{},"body":{"classes/ExternalGroupUserDto.html":{}}}],["props.features",{"_index":7528,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/UsersList.html":{}}}],["props.federalstate",{"_index":19693,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["props.filetype",{"_index":18384,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["props.finishedat",{"_index":23528,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["props.firstname",{"_index":11190,"title":{},"body":{"classes/ExternalUserDto.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"entities/User.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{}}}],["props.flagged",{"_index":13845,"title":{},"body":{"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{}}}],["props.forcepasswordchange",{"_index":23169,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["props.friendlyurl",{"_index":8147,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.from",{"_index":10020,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["props.frontchannel_logout_uri",{"_index":8153,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.frontchannellogouturi",{"_index":16946,"title":{},"body":{"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["props.grade",{"_index":20678,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["props.gradecomment",{"_index":20680,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["props.graded",{"_index":20676,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["props.gradelevel",{"_index":4612,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["props.grant_type",{"_index":1515,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["props.grid.foreach((element",{"_index":8477,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["props.gridelements",{"_index":8555,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["props.height",{"_index":4406,"title":{},"body":{"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{}}}],["props.hidden",{"_index":6180,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["props.hydracookies",{"_index":7115,"title":{},"body":{"classes/CookiesDto.html":{}}}],["props.id",{"_index":459,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ContextRef.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"classes/FileDto-1.html":{},"classes/GridElement.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/IGridElement.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RoleDto.html":{},"classes/RoleReference.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["props.idmreferenceid",{"_index":859,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["props.idtoken",{"_index":16916,"title":{},"body":{"classes/OAuthTokenDto.html":{},"classes/OauthDataStrategyInputDto.html":{}}}],["props.imageurl",{"_index":15660,"title":{},"body":{"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{}}}],["props.importhash",{"_index":18705,"title":{},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{}}}],["props.importuserid",{"_index":13965,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["props.inmaintenancesince",{"_index":19687,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["props.inputformat",{"_index":18895,"title":{},"body":{"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{}}}],["props.inusermigration",{"_index":19688,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["props.invitationlink",{"_index":4624,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["props.iscopyfrom",{"_index":11796,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["props.isdirectory",{"_index":11571,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.ishidden",{"_index":8155,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"entities/LtiTool.html":{}}}],["props.islocal",{"_index":8140,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.isoptional",{"_index":8211,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{}}}],["props.isoutdatedonscopecontext",{"_index":6666,"title":{},"body":{"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{}}}],["props.isoutdatedonscopeschool",{"_index":6664,"title":{},"body":{"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{}}}],["props.istemplate",{"_index":8138,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.isupgradable",{"_index":4687,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{}}}],["props.key",{"_index":8120,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"entities/LtiTool.html":{}}}],["props.keyvalue",{"_index":1764,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["props.language",{"_index":23170,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["props.lastloginsystemchange",{"_index":23174,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["props.lastname",{"_index":11192,"title":{},"body":{"classes/ExternalUserDto.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"entities/User.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{}}}],["props.lasttriedfailedlogin",{"_index":247,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{}}}],["props.launch_presentation_locale",{"_index":15890,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{}}}],["props.ldapconfig",{"_index":15021,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["props.ldapdn",{"_index":4629,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["props.lesson",{"_index":21293,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.license",{"_index":16155,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["props.localcookies",{"_index":7113,"title":{},"body":{"classes/CookiesDto.html":{}}}],["props.location",{"_index":8203,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalSchoolDto.html":{},"classes/PropertyData.html":{}}}],["props.lockid",{"_index":11608,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.loginname",{"_index":13967,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["props.logo",{"_index":10090,"title":{},"body":{"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{}}}],["props.logo_url",{"_index":8124,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.logobase64",{"_index":10303,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["props.logourl",{"_index":7446,"title":{},"body":{"classes/County.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["props.lti_message_type",{"_index":8126,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"entities/LtiTool.html":{}}}],["props.lti_version",{"_index":8128,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.mandatorysince",{"_index":23522,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["props.match",{"_index":13972,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["props.matchedby",{"_index":13843,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["props.materials",{"_index":6186,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["props.merlinreference",{"_index":16157,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["props.method",{"_index":22888,"title":{},"body":{"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["props.mimetype",{"_index":11794,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["props.modifiedcount",{"_index":9186,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["props.name",{"_index":4617,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/FileDto-1.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/LtiTool.html":{},"interfaces/ParentInfo.html":{},"classes/PropertyData.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"classes/UsersList.html":{}}}],["props.oauthclientid",{"_index":8145,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.oauthconfig",{"_index":15017,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["props.officialschoolnumber",{"_index":10039,"title":{},"body":{"classes/ExternalSchoolDto.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["props.oidcconfig",{"_index":15019,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["props.opennewtab",{"_index":8151,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"entities/LtiTool.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["props.operation",{"_index":9184,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["props.options",{"_index":24000,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["props.organization",{"_index":12818,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["props.organizationid",{"_index":12781,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["props.originalcolumnboardid",{"_index":5408,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["props.origintoolid",{"_index":8141,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["props.otherusers",{"_index":10018,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["props.outdatedsince",{"_index":23176,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["props.parameters",{"_index":6650,"title":{},"body":{"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{}}}],["props.parent",{"_index":3875,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["props.parent.id",{"_index":3876,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["props.parent.level",{"_index":3881,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["props.parentid",{"_index":11458,"title":{},"body":{"classes/FileDto-1.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.parents",{"_index":23178,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["props.parenttype",{"_index":11457,"title":{},"body":{"classes/FileDto-1.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["props.password",{"_index":237,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{}}}],["props.payload",{"_index":22889,"title":{},"body":{"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["props.performedat",{"_index":9192,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["props.permissions",{"_index":11607,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"interfaces/RoleProperties.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["props.pin",{"_index":18701,"title":{},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{}}}],["props.position",{"_index":3883,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["props.preferences",{"_index":23172,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["props.previousexternalid",{"_index":19686,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["props.privacy_permission",{"_index":8134,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"entities/LtiTool.html":{}}}],["props.private",{"_index":21290,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.proceedbuttonurl",{"_index":17728,"title":{},"body":{"classes/PageContentDto.html":{}}}],["props.properties",{"_index":22838,"title":{},"body":{"classes/ToolLaunchData.html":{}}}],["props.provider",{"_index":14914,"title":{},"body":{"classes/LdapConfig.html":{}}}],["props.provisioningstrategy",{"_index":15023,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/ProvisioningSystemDto.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["props.provisioningurl",{"_index":15025,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/ProvisioningSystemDto.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["props.pseudonym",{"_index":10565,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{}}}],["props.publicsubmissions",{"_index":21297,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.rcid",{"_index":18944,"title":{},"body":{"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["props.read",{"_index":11741,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["props.reason",{"_index":11779,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/ParentInfo.html":{},"classes/ScanResultDto.html":{}}}],["props.redirect_uri",{"_index":1513,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["props.redirecturis",{"_index":16942,"title":{},"body":{"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["props.references.sort(this.sortreferences",{"_index":8452,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["props.referer",{"_index":13490,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["props.refownermodel",{"_index":11605,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.refpermmodel",{"_index":11738,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["props.refreshtoken",{"_index":16918,"title":{},"body":{"classes/OAuthTokenDto.html":{}}}],["props.regex",{"_index":8207,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{}}}],["props.regexcomment",{"_index":8209,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{}}}],["props.region",{"_index":20637,"title":{},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["props.relatedresources",{"_index":16159,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["props.requesttoken",{"_index":11781,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/ParentInfo.html":{}}}],["props.resource_link_id",{"_index":8130,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"entities/LtiTool.html":{}}}],["props.response",{"_index":13493,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["props.restricttocontexts",{"_index":10100,"title":{},"body":{"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{}}}],["props.role",{"_index":13000,"title":{},"body":{"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/ResolvedGroupUser.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["props.roleid",{"_index":12994,"title":{},"body":{"classes/GroupUser.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{}}}],["props.rolename",{"_index":10030,"title":{},"body":{"classes/ExternalGroupUserDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["props.rolenames",{"_index":13969,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["props.rolenames.length",{"_index":13838,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["props.roles",{"_index":8132,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/ExternalUserDto.html":{},"entities/LtiTool.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{}}}],["props.school",{"_index":7516,"title":{},"body":{"entities/Course.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{}}}],["props.schoolid",{"_index":4619,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"classes/UserLoginMigrationDO.html":{}}}],["props.schoolparameters",{"_index":19716,"title":{},"body":{"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{}}}],["props.schooltool",{"_index":6737,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{}}}],["props.schooltoolid",{"_index":19761,"title":{},"body":{"classes/SchoolExternalToolRefDO.html":{}}}],["props.schooltoolref",{"_index":6644,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{}}}],["props.schoolyear",{"_index":4685,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["props.scope",{"_index":8205,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["props.secret",{"_index":8122,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/LtiTool.html":{}}}],["props.secretaccesskey",{"_index":20635,"title":{},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["props.secretvalue",{"_index":1766,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["props.securitycheck",{"_index":11597,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.share",{"_index":21950,"title":{},"body":{"classes/TeamPermissionsDto.html":{}}}],["props.sharetokens",{"_index":11599,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.size",{"_index":11572,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["props.skipconsent",{"_index":8149,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["props.source",{"_index":4633,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["props.sourcedescription",{"_index":7840,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["props.sourceoptions",{"_index":4635,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["props.sourcesystem",{"_index":23545,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["props.sourcesystemid",{"_index":23519,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["props.startdate",{"_index":7524,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"classes/UsersList.html":{}}}],["props.startedat",{"_index":23524,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["props.status",{"_index":2127,"title":{},"body":{"classes/AxiosResponseImp.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/ParentInfo.html":{},"classes/ScanResultDto.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{}}}],["props.statustext",{"_index":2129,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["props.storagefilename",{"_index":11573,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.storageprovider",{"_index":11575,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.student",{"_index":20670,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["props.studentcount",{"_index":4689,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{}}}],["props.students",{"_index":7727,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{}}}],["props.subjects",{"_index":16161,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["props.submitted",{"_index":20675,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["props.successor",{"_index":4631,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["props.system",{"_index":10062,"title":{},"body":{"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{}}}],["props.systemid",{"_index":245,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceResponse.html":{},"classes/ProvisioningSystemDto.html":{}}}],["props.systems",{"_index":19689,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["props.tags",{"_index":16163,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["props.target",{"_index":3710,"title":{},"body":{"entities/BoardElement.html":{},"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["props.targetgroups",{"_index":16165,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["props.targetmodel",{"_index":23999,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["props.targetrefdomain",{"_index":9348,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["props.targetrefid",{"_index":9352,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["props.targetsystem",{"_index":23547,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["props.targetsystemid",{"_index":23520,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["props.task",{"_index":20674,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["props.teacherids",{"_index":4623,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["props.teachernames",{"_index":4683,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["props.teachers",{"_index":4703,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["props.teamid",{"_index":21965,"title":{},"body":{"classes/TeamRolePermissionsDto.html":{}}}],["props.teammembers",{"_index":20681,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["props.teamname",{"_index":21967,"title":{},"body":{"classes/TeamRolePermissionsDto.html":{}}}],["props.teamsubmissions",{"_index":21299,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["props.teamusers",{"_index":21882,"title":{},"body":{"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["props.teamusers.map((teamuser",{"_index":21895,"title":{},"body":{"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["props.text",{"_index":18894,"title":{},"body":{"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{}}}],["props.thumbnail",{"_index":11594,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.thumbnailrequesttoken",{"_index":11595,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.timestamps",{"_index":10270,"title":{},"body":{"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{}}}],["props.title",{"_index":3884,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/ColumnBoardTarget.html":{},"entities/CourseNews.html":{},"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"entities/SchoolNews.html":{},"interfaces/TargetGroupProperties.html":{},"entities/TeamNews.html":{}}}],["props.token",{"_index":239,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["props.tokenendpointauthmethod",{"_index":16944,"title":{},"body":{"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["props.tool",{"_index":19714,"title":{},"body":{"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{}}}],["props.toolid",{"_index":10567,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{}}}],["props.toolversion",{"_index":6652,"title":{},"body":{"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/SchoolExternalTool.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{}}}],["props.ts",{"_index":7159,"title":{},"body":{"interfaces/CopyFileDomainObjectProps.html":{},"interfaces/FileDomainObjectProps.html":{}}}],["props.tspuid",{"_index":4804,"title":{},"body":{"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{}}}],["props.type",{"_index":4679,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/ContextRef.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/ToolLaunchData.html":{}}}],["props.until",{"_index":10022,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["props.untildate",{"_index":7522,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["props.updatedat",{"_index":463,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"classes/County.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["props.updater",{"_index":7836,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["props.url",{"_index":8118,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"entities/LtiTool.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/RelatedResourceProperties.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/TargetGroupProperties.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["props.user",{"_index":10016,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/ResolvedGroupUser.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["props.userid",{"_index":243,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/DashboardEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"classes/GridElement.html":{},"classes/GroupUser.html":{},"interfaces/IGridElement.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["props.userids",{"_index":4620,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["props.userloginmigration",{"_index":19691,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["props.username",{"_index":235,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["props.users",{"_index":12816,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["props.users.map",{"_index":12779,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["props.validfrom",{"_index":12774,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["props.validperiod",{"_index":12814,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["props.validuntil",{"_index":12775,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["props.value",{"_index":8229,"title":{},"body":{"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/PropertyData.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["props.verified",{"_index":18703,"title":{},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{}}}],["props.version",{"_index":10098,"title":{},"body":{"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["props.versionkey",{"_index":11611,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["props.write",{"_index":11739,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["props.year",{"_index":4626,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["propsfactory",{"_index":502,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["propsoffactory",{"_index":2603,"title":{},"body":{"classes/BaseFactory.html":{}}}],["protect",{"_index":24685,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["protected",{"_index":113,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"classes/AccountFactory.html":{},"interfaces/AuthorizableObject.html":{},"classes/AxiosErrorLoggable.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseFactory.html":{},"classes/BaseUc.html":{},"classes/BoardComposite.html":{},"classes/BoardDoAuthorizable.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"classes/Card.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassSourceOptions.html":{},"interfaces/ClassSourceOptionsProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnUc.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseUrlHandler.html":{},"classes/CustomParameterFactory.html":{},"injectables/DashboardRepo.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"injectables/ElementUc.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/FileElement.html":{},"classes/FileRecordFactory.html":{},"injectables/FilesStorageProducer.html":{},"classes/Group.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IDashboardRepo.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"classes/LessonFactory.html":{},"injectables/LessonUrlHandler.html":{},"classes/LinkElement.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/MaterialFactory.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/PreviewProducer.html":{},"injectables/ProvisioningService.html":{},"classes/Pseudonym.html":{},"injectables/PseudonymsRepo.html":{},"classes/RichTextElement.html":{},"classes/RocketChatUser.html":{},"classes/RocketChatUserFactory.html":{},"classes/RpcMessageProducer.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemUc.html":{},"classes/System.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"injectables/TaskUrlHandler.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["protectedrole.id",{"_index":23942,"title":{},"body":{"injectables/UserService.html":{}}}],["protectedroles",{"_index":23936,"title":{},"body":{"injectables/UserService.html":{}}}],["protectedroles.find((protectedrole",{"_index":23941,"title":{},"body":{"injectables/UserService.html":{}}}],["protecting",{"_index":24819,"title":{},"body":{"license.html":{}}}],["protection",{"_index":24858,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["protocol",{"_index":14585,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["protocolmapper",{"_index":14642,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["protocolmapperrepresentation",{"_index":14518,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["protocols",{"_index":24582,"title":{},"body":{"dependencies.html":{},"license.html":{}}}],["protocols/awareness",{"_index":22476,"title":{},"body":{"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["protocols/sync",{"_index":22482,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["prototype",{"_index":1096,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["prove",{"_index":25166,"title":{},"body":{"license.html":{}}}],["provide",{"_index":685,"title":{},"body":{"modules/AccountModule.html":{},"modules/AntivirusModule.html":{},"classes/BoardManagementConsole.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/InterceptorModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"modules/OauthProviderServiceModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/RedisModule.html":{},"modules/RocketChatModule.html":{},"modules/S3ClientModule.html":{},"modules/ToolConfigModule.html":{},"modules/ValidationModule.html":{},"modules/VideoConferenceModule.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["provided",{"_index":2805,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardDoBuilderImpl.html":{},"modules/ErrorModule.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/ICurrentUser.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"injectables/LegacyLogger.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["provider",{"_index":5027,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{},"classes/ConsentRequestBody.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolService.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/HydraSsoService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LoginRequestBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{},"classes/OidcConfigEntity.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"injectables/TldrawBoardRepo.html":{},"dependencies.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["provider(s",{"_index":4903,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["provider.client",{"_index":17183,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{}}}],["provider.consent",{"_index":17216,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{}}}],["provider.controller",{"_index":17179,"title":{},"body":{"modules/OauthProviderApiModule.html":{}}}],["provider.controller.ts",{"_index":17256,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:103",{"_index":17268,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:109",{"_index":17274,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:117",{"_index":17289,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:135",{"_index":17264,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:143",{"_index":17271,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:151",{"_index":17286,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:169",{"_index":17281,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:182",{"_index":17293,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:188",{"_index":17278,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:49",{"_index":17276,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:60",{"_index":17283,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:80",{"_index":17266,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.controller.ts:91",{"_index":17295,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.login",{"_index":13716,"title":{},"body":{"injectables/IdTokenService.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"modules/OauthProviderModule.html":{}}}],["provider.logout",{"_index":17301,"title":{},"body":{"controllers/OauthProviderController.html":{},"injectables/OauthProviderLogoutFlowUc.html":{}}}],["provider.mapper",{"_index":14475,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["provider.mapper.ts",{"_index":17557,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["provider.mapper.ts:6",{"_index":17560,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["provider.mapper.ts:9",{"_index":17562,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["provider.module",{"_index":17181,"title":{},"body":{"modules/OauthProviderApiModule.html":{}}}],["provider.module.ts",{"_index":17421,"title":{},"body":{"modules/OauthProviderModule.html":{}}}],["provider.service",{"_index":17476,"title":{},"body":{"modules/OauthProviderServiceModule.html":{}}}],["provider.service.ts",{"_index":17444,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:14",{"_index":17457,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:16",{"_index":17449,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:18",{"_index":17468,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:20",{"_index":17456,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:22",{"_index":17447,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:24",{"_index":17467,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:26",{"_index":17451,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:28",{"_index":17461,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:30",{"_index":17462,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:32",{"_index":17466,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:39",{"_index":17453,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:41",{"_index":17459,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:43",{"_index":17472,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:45",{"_index":17455,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:47",{"_index":17464,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.service.ts:49",{"_index":17470,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["provider.uc",{"_index":17302,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider.uc.ts",{"_index":17479,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["provider.uc.ts:10",{"_index":17482,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["provider.uc.ts:15",{"_index":17484,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["provider.uc.ts:7",{"_index":17480,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["provider/controller/dto",{"_index":17237,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["provider/controller/dto/request/accept.query.ts",{"_index":188,"title":{},"body":{"classes/AcceptQuery.html":{}}}],["provider/controller/dto/request/accept.query.ts:9",{"_index":198,"title":{},"body":{"classes/AcceptQuery.html":{}}}],["provider/controller/dto/request/challenge.params.ts",{"_index":4530,"title":{},"body":{"classes/ChallengeParams.html":{}}}],["provider/controller/dto/request/challenge.params.ts:11",{"_index":4532,"title":{},"body":{"classes/ChallengeParams.html":{}}}],["provider/controller/dto/request/consent",{"_index":6215,"title":{},"body":{"classes/ConsentRequestBody.html":{}}}],["provider/controller/dto/request/id.params.ts",{"_index":13678,"title":{},"body":{"classes/IdParams.html":{}}}],["provider/controller/dto/request/id.params.ts:11",{"_index":13679,"title":{},"body":{"classes/IdParams.html":{}}}],["provider/controller/dto/request/list",{"_index":15673,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["provider/controller/dto/request/login",{"_index":15820,"title":{},"body":{"classes/LoginRequestBody.html":{}}}],["provider/controller/dto/request/oauth",{"_index":16841,"title":{},"body":{"classes/OAuthRejectableBody.html":{},"classes/OauthClientBody.html":{}}}],["provider/controller/dto/request/revoke",{"_index":18848,"title":{},"body":{"classes/RevokeConsentParams.html":{}}}],["provider/controller/dto/request/user.params.ts",{"_index":23802,"title":{},"body":{"classes/UserParams.html":{}}}],["provider/controller/dto/request/user.params.ts:7",{"_index":23803,"title":{},"body":{"classes/UserParams.html":{}}}],["provider/controller/dto/response/consent",{"_index":6304,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts",{"_index":6262,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:16",{"_index":6272,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:22",{"_index":6275,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:28",{"_index":6278,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:32",{"_index":6281,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:36",{"_index":6282,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:40",{"_index":6285,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:44",{"_index":6287,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:48",{"_index":6289,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:54",{"_index":6292,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:6",{"_index":6270,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:60",{"_index":6293,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:66",{"_index":6294,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:72",{"_index":6297,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/consent.response.ts:76",{"_index":6298,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["provider/controller/dto/response/login.response.ts",{"_index":15825,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:13",{"_index":15832,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:16",{"_index":15829,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:19",{"_index":15830,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:23",{"_index":15833,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:27",{"_index":15835,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:31",{"_index":15836,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:37",{"_index":15837,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:43",{"_index":15841,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:48",{"_index":15842,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:51",{"_index":15843,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/login.response.ts:6",{"_index":15828,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/oauth",{"_index":6301,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{}}}],["provider/controller/dto/response/oidc",{"_index":6299,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"classes/OidcContextResponse.html":{}}}],["provider/controller/dto/response/redirect.response.ts",{"_index":18596,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["provider/controller/dto/response/redirect.response.ts:12",{"_index":18602,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["provider/controller/dto/response/redirect.response.ts:3",{"_index":18598,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["provider/controller/oauth",{"_index":17255,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["provider/dto",{"_index":10958,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"injectables/OauthProviderUc.html":{}}}],["provider/dto/interface/oidc",{"_index":18086,"title":{},"body":{"interfaces/ProviderOidcContext.html":{}}}],["provider/dto/request/accept",{"_index":163,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{}}}],["provider/dto/request/reject",{"_index":18727,"title":{},"body":{"interfaces/RejectRequestBody.html":{}}}],["provider/dto/response/consent",{"_index":18082,"title":{},"body":{"interfaces/ProviderConsentSessionResponse.html":{}}}],["provider/dto/response/consent.response.ts",{"_index":18077,"title":{},"body":{"interfaces/ProviderConsentResponse.html":{}}}],["provider/dto/response/introspect.response.ts",{"_index":14203,"title":{},"body":{"interfaces/IntrospectResponse.html":{}}}],["provider/dto/response/login.response.ts",{"_index":18085,"title":{},"body":{"interfaces/ProviderLoginResponse.html":{}}}],["provider/dto/response/redirect.response.ts",{"_index":18087,"title":{},"body":{"interfaces/ProviderRedirectResponse.html":{}}}],["provider/error/id",{"_index":13681,"title":{},"body":{"classes/IdTokenCreationLoggableException.html":{}}}],["provider/index",{"_index":17205,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["provider/interface/id",{"_index":175,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/IdToken.html":{},"injectables/OauthProviderConsentFlowUc.html":{}}}],["provider/interface/subject",{"_index":17036,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["provider/interface/token",{"_index":17037,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["provider/loggable/hydra",{"_index":13422,"title":{},"body":{"classes/HydraOauthFailedLoggableException.html":{}}}],["provider/mapper/oauth",{"_index":17390,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["provider/oauth",{"_index":17177,"title":{},"body":{"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{}}}],["provider/service/id",{"_index":13699,"title":{},"body":{"injectables/IdTokenService.html":{},"injectables/OauthProviderConsentFlowUc.html":{}}}],["provider/service/oauth",{"_index":17356,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["provider/uc/oauth",{"_index":17182,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderUc.html":{}}}],["providerconsentresponse",{"_index":17234,"title":{"interfaces/ProviderConsentResponse.html":{}},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["providerconsentsessionresponse",{"_index":17296,"title":{"interfaces/ProviderConsentSessionResponse.html":{}},"body":{"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["providerid",{"_index":14570,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["providerloginresponse",{"_index":17297,"title":{"interfaces/ProviderLoginResponse.html":{}},"body":{"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["provideroauthclient",{"_index":10954,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["provideroidccontext",{"_index":18078,"title":{"interfaces/ProviderOidcContext.html":{}},"body":{"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{}}}],["provideroptions",{"_index":14921,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["providerredirectresponse",{"_index":17236,"title":{"interfaces/ProviderRedirectResponse.html":{}},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"interfaces/ProviderRedirectResponse.html":{}}}],["providers",{"_index":259,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AntivirusModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"interfaces/CleanOptions.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FeathersModule.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/InterceptorModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolModule.html":{},"modules/LessonApiModule.html":{},"modules/LessonModule.html":{},"modules/LoggerModule.html":{},"modules/LtiToolModule.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{},"interfaces/MigrationOptions.html":{},"modules/NewsModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/OauthProviderServiceModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"modules/PseudonymModule.html":{},"modules/RedisModule.html":{},"modules/RegistrationPinModule.html":{},"interfaces/RetryOptions.html":{},"modules/RocketChatModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/S3ClientModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"injectables/StorageProviderRepo.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/ValidationModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["providers.foreach((provider",{"_index":8946,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["provides",{"_index":4952,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/LegacyLogger.html":{},"injectables/NewsUc.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["providing",{"_index":5040,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"modules/CoreModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["provision",{"_index":19902,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{},"license.html":{}}}],["provisionally",{"_index":25018,"title":{},"body":{"license.html":{}}}],["provisiondata",{"_index":18108,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["provisiondata(oauthdata",{"_index":18122,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["provisionexternalgroup",{"_index":17588,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisionexternalgroup(externalgroup",{"_index":17601,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisionexternalschool",{"_index":17589,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisionexternalschool(externalschool",{"_index":17603,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisionexternaluser",{"_index":17590,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisionexternaluser(externaluser",{"_index":17605,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning",{"_index":12922,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{},"injectables/OAuthService.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["provisioning.loggable",{"_index":23798,"title":{},"body":{"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["provisioning.service",{"_index":17705,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{},"modules/ProvisioningModule.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["provisioning.service.ts",{"_index":17584,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:133",{"_index":17602,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:189",{"_index":17594,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:206",{"_index":17597,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:21",{"_index":17592,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:223",{"_index":17608,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:33",{"_index":17604,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:71",{"_index":17600,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.service.ts:79",{"_index":17606,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["provisioning.strategy",{"_index":14259,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/System.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/SystemProps.html":{}}}],["provisioningdto",{"_index":14261,"title":{"classes/ProvisioningDto.html":{}},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ProvisioningDto.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{}}}],["provisioningdto.externaluserid",{"_index":18092,"title":{},"body":{"classes/ProvisioningDto.html":{}}}],["provisioningmodule",{"_index":17160,"title":{"modules/ProvisioningModule.html":{}},"body":{"modules/OauthModule.html":{},"modules/ProvisioningModule.html":{},"modules/UserLoginMigrationApiModule.html":{}}}],["provisioningservice",{"_index":16856,"title":{"injectables/ProvisioningService.html":{}},"body":{"injectables/OAuthService.html":{},"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["provisioningstrategy",{"_index":14244,"title":{"classes/ProvisioningStrategy.html":{}},"body":{"injectables/IservProvisioningStrategy.html":{},"classes/LdapConfigEntity.html":{},"injectables/LegacySystemService.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/System.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"interfaces/SystemProps.html":{}}}],["provisioningstrategy:10",{"_index":17577,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["provisioningstrategy:14",{"_index":17576,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["provisioningstrategy:29",{"_index":14256,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["provisioningstrategy:31",{"_index":17575,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{}}}],["provisioningstrategy:33",{"_index":14255,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["provisioningstrategy:37",{"_index":19531,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["provisioningstrategy:5",{"_index":17703,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["provisioningstrategy:63",{"_index":14250,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["provisioningstrategy:7",{"_index":17702,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["provisioningsystemdto",{"_index":17134,"title":{"classes/ProvisioningSystemDto.html":{}},"body":{"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{}}}],["provisioningsysteminputmapper",{"_index":18128,"title":{"classes/ProvisioningSystemInputMapper.html":{}},"body":{"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemInputMapper.html":{}}}],["provisioningsysteminputmapper.maptointernal(systemdto",{"_index":18139,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["provisioningurl",{"_index":14941,"title":{},"body":{"classes/LdapConfigEntity.html":{},"injectables/LegacySystemService.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/System.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"interfaces/SystemProps.html":{}}}],["provisionuser",{"_index":16853,"title":{},"body":{"injectables/OAuthService.html":{}}}],["provisionuser(systemid",{"_index":16867,"title":{},"body":{"injectables/OAuthService.html":{}}}],["proxy",{"_index":20233,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"license.html":{}}}],["proxy's",{"_index":25156,"title":{},"body":{"license.html":{}}}],["ps256",{"_index":1579,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["ps384",{"_index":1580,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["ps512",{"_index":1581,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["pseudonym",{"_index":10557,"title":{"classes/Pseudonym.html":{}},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/FeathersRosterService.html":{},"injectables/IdTokenService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/Pseudonym.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["pseudonym.entity",{"_index":18237,"title":{},"body":{"classes/PseudonymScope.html":{}}}],["pseudonym.entity.ts",{"_index":10556,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{}}}],["pseudonym.entity.ts:18",{"_index":10559,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{}}}],["pseudonym.entity.ts:21",{"_index":10560,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{}}}],["pseudonym.entity.ts:24",{"_index":10561,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{}}}],["pseudonym.id",{"_index":18210,"title":{},"body":{"classes/PseudonymMapper.html":{}}}],["pseudonym.module",{"_index":18180,"title":{},"body":{"modules/PseudonymApiModule.html":{}}}],["pseudonym.pseudonym",{"_index":11384,"title":{},"body":{"injectables/FeathersRosterService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["pseudonym.repo.ts",{"_index":10570,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:106",{"_index":10595,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:114",{"_index":10591,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:12",{"_index":10579,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:15",{"_index":10588,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:26",{"_index":10586,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:41",{"_index":10584,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:50",{"_index":10581,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:71",{"_index":10583,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:79",{"_index":10593,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.repo.ts:93",{"_index":10597,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["pseudonym.service",{"_index":11326,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["pseudonym.toolid",{"_index":18211,"title":{},"body":{"classes/PseudonymMapper.html":{}}}],["pseudonym.userid",{"_index":18212,"title":{},"body":{"classes/PseudonymMapper.html":{}}}],["pseudonymapimodule",{"_index":18173,"title":{"modules/PseudonymApiModule.html":{}},"body":{"modules/PseudonymApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["pseudonymcontroller",{"_index":18179,"title":{"controllers/PseudonymController.html":{}},"body":{"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{}}}],["pseudonymentity",{"_index":18201,"title":{"entities/PseudonymEntity.html":{}},"body":{"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"injectables/PseudonymsRepo.html":{}}}],["pseudonymentity(entityprops",{"_index":18316,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["pseudonymentityprops",{"_index":18206,"title":{"interfaces/PseudonymEntityProps.html":{}},"body":{"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"injectables/PseudonymsRepo.html":{}}}],["pseudonymmapper",{"_index":18191,"title":{"classes/PseudonymMapper.html":{}},"body":{"controllers/PseudonymController.html":{},"classes/PseudonymMapper.html":{}}}],["pseudonymmapper.maptoresponse(pseudonym",{"_index":18200,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["pseudonymmodule",{"_index":5021,"title":{"modules/PseudonymModule.html":{}},"body":{"modules/CollaborativeStorageAdapterModule.html":{},"modules/DeletionApiModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/PseudonymApiModule.html":{},"modules/PseudonymModule.html":{},"modules/ToolLaunchModule.html":{}}}],["pseudonymous",{"_index":8096,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["pseudonymparams",{"_index":18184,"title":{"classes/PseudonymParams.html":{}},"body":{"controllers/PseudonymController.html":{},"classes/PseudonymParams.html":{}}}],["pseudonympromise",{"_index":18268,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["pseudonymprops",{"_index":18169,"title":{"interfaces/PseudonymProps.html":{}},"body":{"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{}}}],["pseudonymrepo",{"_index":18249,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["pseudonymresponse",{"_index":18193,"title":{"classes/PseudonymResponse.html":{}},"body":{"controllers/PseudonymController.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymResponse.html":{}}}],["pseudonymresponse})@apiunauthorizedresponse()@apiforbiddenresponse()@apioperation({summary",{"_index":18186,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["pseudonyms",{"_index":10563,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/FeathersRosterService.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["pseudonyms.loggable",{"_index":22591,"title":{},"body":{"classes/TooManyPseudonymsLoggableException.html":{}}}],["pseudonyms_too_many_pseudonyms_found",{"_index":22595,"title":{},"body":{"classes/TooManyPseudonymsLoggableException.html":{}}}],["pseudonymschool",{"_index":18300,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["pseudonymscope",{"_index":10598,"title":{"classes/PseudonymScope.html":{}},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"classes/PseudonymScope.html":{}}}],["pseudonymsearchquery",{"_index":10590,"title":{"interfaces/PseudonymSearchQuery.html":{}},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{}}}],["pseudonymservice",{"_index":11298,"title":{"injectables/PseudonymService.html":{}},"body":{"injectables/FeathersRosterService.html":{},"injectables/IdTokenService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"modules/PseudonymModule.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["pseudonymsrepo",{"_index":18217,"title":{"injectables/PseudonymsRepo.html":{}},"body":{"modules/PseudonymModule.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{}}}],["pseudonymuc",{"_index":18177,"title":{"injectables/PseudonymUc.html":{}},"body":{"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"injectables/PseudonymUc.html":{}}}],["pseudonymuser",{"_index":18298,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["pseudonymuserid",{"_index":18296,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["public",{"_index":711,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AntivirusService.html":{},"interfaces/AuthenticationResponse.html":{},"interfaces/AuthorizableObject.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/BasicToolLaunchStrategy.html":{},"classes/BoardComposite.html":{},"classes/BoardDoAuthorizable.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRule.html":{},"classes/Card.html":{},"classes/Class.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"classes/CopyFileResponseBuilder.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRule.html":{},"injectables/CourseService.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CustomLtiProperty.html":{},"injectables/DeleteFilesUc.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DomainObject.html":{},"classes/DrawingElement.html":{},"classes/DrawingElementResponseMapper.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementResponseMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileResponseBuilder.html":{},"injectables/FilesRepo.html":{},"injectables/FilesStorageConsumer.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"injectables/GroupRepo.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"entities/InstalledLibrary.html":{},"classes/JwtTestFactory.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LegacySchoolRule.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/LinkElement.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/Logger.html":{},"classes/LoginRequestBody.html":{},"injectables/Lti11EncryptionService.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"injectables/LtiToolService.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/MigrationCheckService.html":{},"injectables/NewsUc.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthClientBody.html":{},"injectables/OauthProviderLoginFlowService.html":{},"classes/OidcIdentityProviderMapper.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/Pseudonym.html":{},"injectables/PseudonymService.html":{},"classes/PublicSystemListResponse.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolValidationService.html":{},"controllers/ServerController.html":{},"classes/SortHelper.html":{},"entities/Submission.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItem.html":{},"classes/SubmissionItemResponseMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRule.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"classes/SystemDomainMapper.html":{},"injectables/SystemRepo.html":{},"injectables/SystemRule.html":{},"injectables/SystemService.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRule.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TeamMapper.html":{},"injectables/TeamPermissionsMapper.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TldrawBoardRepo.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"controllers/ToolConfigurationController.html":{},"injectables/ToolPermissionHelper.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"interfaces/UserProperties.html":{},"injectables/UserRule.html":{},"injectables/UserService.html":{},"classes/UsersList.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["publicclient",{"_index":14587,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["publicity",{"_index":24992,"title":{},"body":{"license.html":{}}}],["publickey",{"_index":7975,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{},"injectables/OAuthService.html":{}}}],["publiclink",{"_index":16718,"title":{},"body":{"injectables/NexboardService.html":{}}}],["publicly",{"_index":21051,"title":{},"body":{"controllers/SystemController.html":{},"license.html":{}}}],["publicservice",{"_index":25489,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["publicsubmissions",{"_index":13658,"title":{},"body":{"interfaces/ITask.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{}}}],["publicsystemlistresponse",{"_index":18319,"title":{"classes/PublicSystemListResponse.html":{}},"body":{"classes/PublicSystemListResponse.html":{},"controllers/SystemController.html":{},"classes/SystemResponseMapper.html":{}}}],["publicsystemlistresponse(systemresponses",{"_index":21213,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["publicsystemresponse",{"_index":18322,"title":{"classes/PublicSystemResponse.html":{}},"body":{"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"controllers/SystemController.html":{},"classes/SystemResponseMapper.html":{}}}],["publish",{"_index":5550,"title":{},"body":{"entities/ColumnBoardTarget.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/PatchVisibilityParams.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"license.html":{},"todo.html":{}}}],["published",{"_index":3014,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{},"entities/ColumnBoardTarget.html":{},"classes/CreateNewsParams.html":{},"classes/DtoCreator.html":{},"classes/FilterNewsParams.html":{},"injectables/NewsUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"controllers/UserController.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["publishedat",{"_index":24360,"title":{},"body":{"classes/VisibilitySettingsResponse.html":{}}}],["pull",{"_index":24621,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["purpose",{"_index":53,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"injectables/TaskRepo.html":{},"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["purposes",{"_index":4481,"title":{},"body":{"classes/CardSkeletonResponse.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["pursuant",{"_index":25103,"title":{},"body":{"license.html":{}}}],["push",{"_index":9291,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["pushdeleterequestsoptionsbuilder",{"_index":18332,"title":{"classes/PushDeleteRequestsOptionsBuilder.html":{}},"body":{"classes/PushDeleteRequestsOptionsBuilder.html":{}}}],["pushdeletionrequests",{"_index":9287,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["pushdeletionrequests(options",{"_index":9289,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["pushdeletionrequestsoptions",{"_index":9290,"title":{"interfaces/PushDeletionRequestsOptions.html":{}},"body":{"classes/DeletionQueueConsole.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{}}}],["put",{"_index":4354,"title":{},"body":{"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/ElementController.html":{},"controllers/FileSecurityController.html":{},"injectables/KeycloakConfigurationService.html":{},"controllers/OauthProviderController.html":{},"injectables/TaskCopyUC.html":{},"classes/TestApiClient.html":{},"controllers/ToolContextController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["put('/:schoolexternaltoolid",{"_index":23077,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["put('/:schoolexternaltoolid')@apiokresponse({description",{"_index":23066,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["put(':cardid/position",{"_index":4369,"title":{},"body":{"controllers/CardController.html":{}}}],["put(':columnid/position",{"_index":5602,"title":{},"body":{"controllers/ColumnController.html":{}}}],["put(':contentelementid/position",{"_index":9784,"title":{},"body":{"controllers/ElementController.html":{}}}],["put(':contextexternaltoolid",{"_index":22738,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["put(':contextexternaltoolid')@apiokresponse({description",{"_index":22717,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["put(':scope/:scopeid/start",{"_index":24066,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["put(':scope/:scopeid/start')@apioperation({summary",{"_index":24054,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["put('clients/:id",{"_index":17322,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["put('mandatory",{"_index":23495,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["put('mandatory')@apinotfoundresponse({description",{"_index":23454,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["put('restart",{"_index":23492,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["put('restart')@apinotfoundresponse({description",{"_index":23444,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["put(filesstorageinternalactions.updatesecuritystatus",{"_index":11999,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["put(path",{"_index":1646,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["put(subpath",{"_index":1645,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["putting",{"_index":25323,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["pw",{"_index":8000,"title":{},"body":{"interfaces/CreateJwtPayload.html":{},"interfaces/ICurrentUser.html":{},"interfaces/JwtPayload.html":{}}}],["pwd/backup/idm/keycloak:/tmp/realms",{"_index":25314,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["pwd/backup/idm/oidcmock:/tmp/config",{"_index":25889,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["p{extended_pictographic}/u",{"_index":7561,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["q",{"_index":14760,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["qs",{"_index":13521,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthAdapterService.html":{},"dependencies.html":{}}}],["qs.stringify(data",{"_index":14714,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["qualify",{"_index":25030,"title":{},"body":{"license.html":{}}}],["quality",{"_index":25165,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["quarkus",{"_index":25916,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["quay.io/minio/minio",{"_index":25308,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["queries",{"_index":14163,"title":{},"body":{"classes/ImportUserScope.html":{},"classes/NewsScope.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["queries.length",{"_index":14166,"title":{},"body":{"classes/ImportUserScope.html":{},"classes/NewsScope.html":{}}}],["query",{"_index":365,"title":{},"body":{"controllers/AccountController.html":{},"classes/AuthCodeFailureLoggableException.html":{},"controllers/CardController.html":{},"interfaces/CleanOptions.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolService.html":{},"controllers/CourseController.html":{},"classes/CourseScope.html":{},"controllers/DashboardController.html":{},"controllers/DatabaseManagementController.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionRequestScope.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolScope.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/FeathersAuthProvider.html":{},"classes/FileRecordScope.html":{},"classes/GlobalValidationPipe.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"injectables/HydraSsoService.html":{},"interfaces/ILegacyLogger.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/KeycloakConsole.html":{},"classes/LessonScope.html":{},"interfaces/MigrationOptions.html":{},"controllers/NewsController.html":{},"classes/NewsMapper.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"controllers/OauthSSOController.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/RequestLoggingInterceptor.html":{},"interfaces/RetryOptions.html":{},"classes/RoleNameMapper.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolScope.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"classes/Scope.html":{},"injectables/SubmissionRepo.html":{},"controllers/SystemController.html":{},"classes/SystemScope.html":{},"controllers/TaskController.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"injectables/UserDORepo.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchMapper.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{}}}],["query('usecentralldap",{"_index":13940,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["query('x",{"_index":8370,"title":{},"body":{"controllers/DashboardController.html":{}}}],["query('y",{"_index":8371,"title":{},"body":{"controllers/DashboardController.html":{}}}],["query.accept",{"_index":17241,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["query.classes",{"_index":14019,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.code",{"_index":17508,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["query.error",{"_index":17509,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["query.firstname",{"_index":14007,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.flagged",{"_index":14024,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.lastloginsystemchangebetweenend",{"_index":23288,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["query.lastloginsystemchangebetweenstart",{"_index":23287,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["query.lastname",{"_index":14010,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.loginname",{"_index":14013,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.match",{"_index":14020,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.match.map((match",{"_index":14022,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.name",{"_index":23739,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["query.role",{"_index":14014,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["query.schoolid",{"_index":19845,"title":{},"body":{"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["query.targetid",{"_index":16547,"title":{},"body":{"classes/NewsMapper.html":{}}}],["query.targetmodel",{"_index":16545,"title":{},"body":{"classes/NewsMapper.html":{}}}],["query.ts",{"_index":10921,"title":{},"body":{"interfaces/ExternalToolSearchQuery.html":{},"interfaces/PseudonymSearchQuery.html":{},"interfaces/UserLoginMigrationQuery.html":{}}}],["query.type",{"_index":23279,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserService.html":{}}}],["query.unpublished",{"_index":16549,"title":{},"body":{"classes/NewsMapper.html":{}}}],["query.userid",{"_index":23701,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["query/body",{"_index":25594,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["query/empty",{"_index":20114,"title":{},"body":{"classes/Scope.html":{}}}],["queryfiltermatch",{"_index":23834,"title":{},"body":{"injectables/UserRepo.html":{}}}],["queryfiltermatch.$or",{"_index":23840,"title":{},"body":{"injectables/UserRepo.html":{}}}],["queryoptions",{"_index":7894,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/ImportUserRepo.html":{}}}],["queryordermap",{"_index":7876,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ImportUserRepo.html":{},"injectables/NewsRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["queryordermap[key",{"_index":11030,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{},"injectables/UserDORepo.html":{}}}],["queryordernumeric",{"_index":23828,"title":{},"body":{"injectables/UserRepo.html":{}}}],["queryordernumeric.asc",{"_index":23854,"title":{},"body":{"injectables/UserRepo.html":{}}}],["queryordernumeric.desc",{"_index":23853,"title":{},"body":{"injectables/UserRepo.html":{}}}],["queryparams",{"_index":2351,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"controllers/CourseController.html":{}}}],["queryparams.append('checksum",{"_index":2427,"title":{},"body":{"injectables/BBBService.html":{}}}],["queryparams.tostring",{"_index":2417,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["queryparams.version",{"_index":7603,"title":{},"body":{"controllers/CourseController.html":{}}}],["querys",{"_index":12335,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{}}}],["querystring",{"_index":2416,"title":{},"body":{"injectables/BBBService.html":{},"injectables/HydraSsoService.html":{},"injectables/OauthAdapterService.html":{}}}],["querystring.stringify",{"_index":13522,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["querystring.stringify(payload",{"_index":16986,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["queue",{"_index":2807,"title":{},"body":{"injectables/BatchDeletionService.html":{},"classes/DeletionQueueConsole.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/PreviewGeneratorConsumer.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["queue.console",{"_index":9071,"title":{},"body":{"modules/DeletionConsoleModule.html":{}}}],["queue.console.ts",{"_index":9286,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["queue.console.ts:36",{"_index":9292,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["queue.console.ts:7",{"_index":9288,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["queuedeletionrequest",{"_index":9006,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["queuedeletionrequest(input",{"_index":9012,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["queuedeletionrequestinput",{"_index":2796,"title":{"interfaces/QueueDeletionRequestInput.html":{}},"body":{"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{}}}],["queuedeletionrequestinputbuilder",{"_index":2874,"title":{"classes/QueueDeletionRequestInputBuilder.html":{}},"body":{"injectables/BatchDeletionUc.html":{},"classes/QueueDeletionRequestInputBuilder.html":{}}}],["queuedeletionrequestoutput",{"_index":2803,"title":{"interfaces/QueueDeletionRequestOutput.html":{}},"body":{"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["queuedeletionrequestoutputbuilder",{"_index":2800,"title":{"classes/QueueDeletionRequestOutputBuilder.html":{}},"body":{"injectables/BatchDeletionService.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["queuedeletionrequestoutputbuilder.buildsuccess",{"_index":2825,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["queuedeletionrequests",{"_index":2791,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["queuedeletionrequests(inputs",{"_index":2795,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["queueing",{"_index":2890,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"controllers/DeletionRequestsController.html":{}}}],["rabbitmq",{"_index":1311,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewProducer.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RpcMessageProducer.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["rabbitmq#usage",{"_index":18355,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["rabbitmq:3.8.9",{"_index":25298,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["rabbitmq_url",{"_index":25291,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["rabbitmqmodule",{"_index":18353,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["rabbitmqmodule.forroot(rabbitmqmodule",{"_index":18360,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["rabbitmqwrappermodule",{"_index":1011,"title":{"modules/RabbitMQWrapperModule.html":{}},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["rabbitmqwrappertestmodule",{"_index":1031,"title":{"modules/RabbitMQWrapperTestModule.html":{}},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{}}}],["rabbitpayload",{"_index":12254,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"injectables/PreviewGeneratorConsumer.html":{}}}],["rabbitrpc",{"_index":12255,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"injectables/PreviewGeneratorConsumer.html":{}}}],["rabbitrpc({exchange",{"_index":12247,"title":{},"body":{"injectables/FilesStorageConsumer.html":{},"injectables/PreviewGeneratorConsumer.html":{}}}],["random",{"_index":3785,"title":{},"body":{"injectables/BoardManagementUc.html":{},"injectables/FileSystemAdapter.html":{}}}],["random(min",{"_index":3800,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["randomuuid",{"_index":1717,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["range",{"_index":12447,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{},"injectables/S3ClientAdapter.html":{}}}],["range.end}/${contentlength",{"_index":13242,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["range.start",{"_index":13241,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["rangeend",{"_index":22081,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["rangeendnew",{"_index":22114,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["ranges",{"_index":12445,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{}}}],["rangestart",{"_index":22080,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["rawfiledocument",{"_index":12133,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["rawfilesdocuments",{"_index":12129,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["rawfilesdocuments.map((rawfiledocument",{"_index":12131,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["rawlessondocument",{"_index":15500,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["rawlessonsdocuments",{"_index":15496,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["rawlessonsdocuments.map((rawlessondocument",{"_index":15498,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["rc",{"_index":4864,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["rcid",{"_index":18921,"title":{},"body":{"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{}}}],["rd",{"_index":4869,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["re",{"_index":814,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BoardNodeRepo.html":{},"classes/ExternalToolScope.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["reachable",{"_index":4851,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["react",{"_index":25413,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["read",{"_index":1783,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"injectables/FileSystemAdapter.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/LessonRule.html":{},"controllers/NewsController.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskUC.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"dependencies.html":{},"index.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["read(requiredpermissions",{"_index":1787,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["readable",{"_index":1302,"title":{},"body":{"injectables/AntivirusService.html":{},"classes/ConsentRequestBody.html":{},"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"classes/FileDto.html":{},"classes/FileDtoBuilder.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5pFileDto.html":{},"interfaces/ListFiles.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/PreviewFileParams.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestHelper.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["readable.from('abc",{"_index":18387,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["readable.from(text",{"_index":22187,"title":{},"body":{"classes/TestHelper.html":{}}}],["readablestreamwithfiletype",{"_index":18378,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["readablestreamwithfiletypefactory",{"_index":18385,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["readablestreamwithfiletypeimp",{"_index":18375,"title":{"classes/ReadableStreamWithFileTypeImp.html":{}},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["readablestreamwithfiletypeprops",{"_index":18380,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["readcourseids",{"_index":21849,"title":{},"body":{"injectables/TaskUC.html":{}}}],["readcourses",{"_index":21845,"title":{},"body":{"injectables/TaskUC.html":{}}}],["readcourses.map((c",{"_index":21850,"title":{},"body":{"injectables/TaskUC.html":{}}}],["readdir",{"_index":12035,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["readdir(folderpath",{"_index":12054,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["reader",{"_index":3379,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["readfile",{"_index":12036,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["readfile(filepath",{"_index":12057,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["readfilesync",{"_index":13334,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["readfilesync(filepath",{"_index":13364,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["readily",{"_index":25093,"title":{},"body":{"license.html":{}}}],["reading",{"_index":24974,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["readlessons",{"_index":21854,"title":{},"body":{"injectables/TaskUC.html":{}}}],["readonly",{"_index":228,"title":{},"body":{"entities/Account.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorLoggable.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"injectables/BoardNodeRepo.html":{},"controllers/BoardSubmissionController.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BruteForceError.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CalendarService.html":{},"controllers/CardController.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/CopyFilesService.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseRule.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameterFactory.html":{},"controllers/DashboardController.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionRequestFactory.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"controllers/DeletionRequestsController.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DtoCreator.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"injectables/EtherpadService.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersRosterService.html":{},"injectables/FederalStateService.html":{},"classes/FileRecordFactory.html":{},"controllers/FileSecurityController.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"controllers/GroupController.html":{},"injectables/GroupRepo.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/H5PContentFactory.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"classes/LessonFactory.html":{},"injectables/LessonRule.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"controllers/LoginController.html":{},"injectables/LoginUc.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolService.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"classes/MaterialFactory.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PreviewActionsLoggable.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"injectables/ProvisioningService.html":{},"controllers/PseudonymController.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RepoLoader.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUserFactory.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearService.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/StorageProviderRepo.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"controllers/SystemController.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemRule.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"injectables/TaskRule.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"classes/TeamFactory.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserFactory.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"controllers/TldrawController.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"injectables/ToolVersionService.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"controllers/UserController.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRule.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"entities/VideoConference.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceOptions.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["readstream",{"_index":22086,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["readsyncmessage",{"_index":22479,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["readsyncmessage(decoder",{"_index":22523,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["ready",{"_index":14812,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["readystate",{"_index":22429,"title":{},"body":{"classes/TldrawWsFactory.html":{}}}],["real",{"_index":25325,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["really",{"_index":7497,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/TaskCopyUC.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["realm",{"_index":14448,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["realmname",{"_index":13632,"title":{},"body":{"interfaces/IKeycloakSettings.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{}}}],["realmname}/authentication/flows",{"_index":14557,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["realmname}/authentication/flows/{flowalias}/executions",{"_index":14566,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["realmname}/authentication/flows/{flowalias}/executions/execution",{"_index":14568,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["reason",{"_index":11776,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/ParentInfo.html":{},"classes/ScanResultDto.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["reasonable",{"_index":24899,"title":{},"body":{"license.html":{}}}],["reasons",{"_index":21216,"title":{},"body":{"classes/SystemResponseMapper.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["receipt",{"_index":25028,"title":{},"body":{"license.html":{}}}],["receive",{"_index":2900,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"license.html":{}}}],["received",{"_index":2901,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"license.html":{}}}],["receives",{"_index":25044,"title":{},"body":{"license.html":{}}}],["receiving",{"_index":25107,"title":{},"body":{"license.html":{}}}],["recieved",{"_index":25755,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["recieving",{"_index":25479,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["recipient",{"_index":24959,"title":{},"body":{"license.html":{}}}],["recipient's",{"_index":25100,"title":{},"body":{"license.html":{}}}],["recipients",{"_index":1455,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{},"license.html":{}}}],["recognized",{"_index":24774,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["recommend",{"_index":25786,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["recommendations",{"_index":25832,"title":{},"body":{"additional-documentation/nestjs-application/vscode.html":{}}}],["recommended",{"_index":25830,"title":{},"body":{"additional-documentation/nestjs-application/vscode.html":{}}}],["reconnect",{"_index":15050,"title":{},"body":{"injectables/LdapService.html":{}}}],["reconsidered",{"_index":15101,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["record",{"_index":1078,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AuthorizationError.html":{},"injectables/BasicToolLaunchStrategy.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardNodeRepo.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"interfaces/CommonCartridgeElement.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorResponse.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileUrlParams.html":{},"classes/ForbiddenOperationError.html":{},"classes/GroupDomainMapper.html":{},"classes/GroupResponseMapper.html":{},"classes/LdapConnectionError.html":{},"injectables/Lti11EncryptionService.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/SanisResponseMapper.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolMetadata.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SingleFileParams.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolContextMapper.html":{},"classes/ToolLaunchMapper.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"interfaces/UserProperties.html":{},"classes/ValidationError.html":{}}}],["record.mapper.ts",{"_index":11860,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["record.mapper.ts:11",{"_index":11868,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["record.mapper.ts:23",{"_index":11865,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["record.mapper.ts:5",{"_index":11870,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["recording",{"_index":2311,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["recursive",{"_index":3581,"title":{},"body":{"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"classes/CopyApiResponse.html":{}}}],["recursivecopyvisitor",{"_index":3580,"title":{"classes/RecursiveCopyVisitor.html":{}},"body":{"injectables/BoardDoCopyService.html":{},"classes/RecursiveCopyVisitor.html":{}}}],["recursivecopyvisitor(params.filecopyservice",{"_index":3587,"title":{},"body":{"injectables/BoardDoCopyService.html":{}}}],["recursivedeletevisitor",{"_index":3599,"title":{"injectables/RecursiveDeleteVisitor.html":{}},"body":{"injectables/BoardDoRepo.html":{},"modules/BoardModule.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["recursively",{"_index":12064,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"injectables/PermissionService.html":{}}}],["recursivesavevisitor",{"_index":3625,"title":{"classes/RecursiveSaveVisitor.html":{}},"body":{"injectables/BoardDoRepo.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["recursivesavevisitor(this.em",{"_index":3656,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["red",{"_index":25252,"title":{},"body":{"todo.html":{}}}],["redirect",{"_index":2257,"title":{},"body":{"classes/BBBJoinConfig.html":{},"classes/MigrationDto.html":{},"classes/OAuthProcessDto.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigResponse.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/RedirectResponse.html":{}}}],["redirect_to",{"_index":18088,"title":{},"body":{"interfaces/ProviderRedirectResponse.html":{},"classes/RedirectResponse.html":{}}}],["redirect_uri",{"_index":1498,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/HydraSsoService.html":{},"classes/TokenRequestMapper.html":{}}}],["redirect_uris",{"_index":11017,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{},"classes/OauthClientBody.html":{},"injectables/OauthProviderClientCrudUc.html":{}}}],["redirectreponse",{"_index":18599,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["redirectreponse.redirect_to",{"_index":18604,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["redirectresponse",{"_index":17246,"title":{"classes/RedirectResponse.html":{}},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/RedirectResponse.html":{}}}],["redirects",{"_index":17105,"title":{},"body":{"classes/OauthConfigResponse.html":{}}}],["redirecturi",{"_index":13582,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfigEntity.html":{},"injectables/OAuthService.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{},"classes/TokenRequestMapper.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["redirecturis",{"_index":8265,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["redirecturl",{"_index":18600,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["redis",{"_index":4226,"title":{},"body":{"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{},"modules/RedisModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"dependencies.html":{}}}],["redis_client",{"_index":18609,"title":{},"body":{"modules/RedisModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["redis_uri",{"_index":20226,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["redisclient",{"_index":4227,"title":{},"body":{"modules/CacheWrapperModule.html":{},"modules/RedisModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["redisidentifier",{"_index":14373,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["redismodule",{"_index":18605,"title":{"modules/RedisModule.html":{}},"body":{"modules/RedisModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["redisstore",{"_index":20221,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["redistribute",{"_index":25201,"title":{},"body":{"license.html":{}}}],["redisurl",{"_index":4231,"title":{},"body":{"modules/CacheWrapperModule.html":{},"modules/RedisModule.html":{}}}],["reduce",{"_index":26091,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["reduce((previousteachers",{"_index":5773,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["ref",{"_index":2887,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CardResponse.html":{},"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/DeletionQueueConsole.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionItemResponse.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["ref.builder.ts",{"_index":9519,"title":{},"body":{"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{}}}],["ref.builder.ts:6",{"_index":9520,"title":{},"body":{"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{}}}],["ref.do.ts",{"_index":19758,"title":{},"body":{"classes/SchoolExternalToolRefDO.html":{}}}],["ref.do.ts:2",{"_index":19760,"title":{},"body":{"classes/SchoolExternalToolRefDO.html":{}}}],["ref.do.ts:4",{"_index":19759,"title":{},"body":{"classes/SchoolExternalToolRefDO.html":{}}}],["ref.params.ts",{"_index":7094,"title":{},"body":{"classes/ContextRefParams.html":{}}}],["ref.params.ts:13",{"_index":7095,"title":{},"body":{"classes/ContextRefParams.html":{}}}],["ref.params.ts:9",{"_index":7097,"title":{},"body":{"classes/ContextRefParams.html":{}}}],["ref.target",{"_index":2978,"title":{},"body":{"entities/Board.html":{}}}],["ref.ts",{"_index":7090,"title":{},"body":{"classes/ContextRef.html":{},"classes/ScopeRef.html":{}}}],["ref.ts:4",{"_index":7092,"title":{},"body":{"classes/ContextRef.html":{}}}],["ref.ts:5",{"_index":20129,"title":{},"body":{"classes/ScopeRef.html":{}}}],["ref.ts:6",{"_index":7091,"title":{},"body":{"classes/ContextRef.html":{}}}],["ref.ts:7",{"_index":20128,"title":{},"body":{"classes/ScopeRef.html":{}}}],["refactor",{"_index":8724,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IToolFeatures.html":{},"injectables/IdTokenService.html":{},"modules/LearnroomApiModule.html":{},"classes/ToolConfiguration.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["refactoring",{"_index":11435,"title":{},"body":{"injectables/FederalStateService.html":{},"classes/LegacySchoolDo.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SchoolYearService.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["refer",{"_index":3718,"title":{},"body":{"classes/BoardElementResponse.html":{}}}],["reference",{"_index":1842,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/BatchDeletionUc.html":{},"injectables/BoardDoRepo.html":{},"entities/BoardElement.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ColumnProps.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentResponse.html":{},"injectables/ContentElementUpdateVisitor.html":{},"entities/CourseNews.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DeletionClient.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"classes/ReferencesService.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"entities/SchoolNews.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamNews.html":{},"modules/ToolModule.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/UpdateMatchParams.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserDO.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["reference.contains(user",{"_index":1844,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["reference.controller",{"_index":22609,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["reference.controller.ts",{"_index":22975,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["reference.controller.ts:28",{"_index":22983,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["reference.controller.ts:51",{"_index":22987,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["reference.getmetadata",{"_index":8460,"title":{},"body":{"classes/DashboardEntity.html":{},"injectables/DashboardModelMapper.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["reference.length",{"_index":18686,"title":{},"body":{"classes/ReferencesService.html":{}}}],["reference.loader",{"_index":1958,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["reference.mapper.ts",{"_index":23000,"title":{},"body":{"classes/ToolReferenceMapper.html":{}}}],["reference.mapper.ts:6",{"_index":23003,"title":{},"body":{"classes/ToolReferenceMapper.html":{}}}],["reference.module",{"_index":12170,"title":{},"body":{"modules/FilesStorageApiModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/LearnroomApiModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/VideoConferenceModule.html":{}}}],["reference.module.ts",{"_index":1917,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["reference.response",{"_index":22998,"title":{},"body":{"classes/ToolReferenceListResponse.html":{}}}],["reference.response.ts",{"_index":23004,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["reference.response.ts:13",{"_index":23011,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["reference.response.ts:16",{"_index":23008,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["reference.response.ts:19",{"_index":23013,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["reference.response.ts:27",{"_index":23006,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["reference.response.ts:6",{"_index":23007,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["reference.service.ts",{"_index":1943,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{},"injectables/ToolReferenceService.html":{}}}],["reference.service.ts:12",{"_index":1950,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["reference.service.ts:14",{"_index":23019,"title":{},"body":{"injectables/ToolReferenceService.html":{}}}],["reference.service.ts:15",{"_index":1953,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["reference.service.ts:23",{"_index":23021,"title":{},"body":{"injectables/ToolReferenceService.html":{}}}],["reference.service.ts:26",{"_index":1955,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["reference.ts",{"_index":3725,"title":{},"body":{"interfaces/BoardExternalReference.html":{},"classes/RoleReference.html":{},"classes/ToolReference.html":{}}}],["reference.ts:10",{"_index":22971,"title":{},"body":{"classes/ToolReference.html":{}}}],["reference.ts:12",{"_index":22967,"title":{},"body":{"classes/ToolReference.html":{}}}],["reference.ts:4",{"_index":22968,"title":{},"body":{"classes/ToolReference.html":{}}}],["reference.ts:5",{"_index":19044,"title":{},"body":{"classes/RoleReference.html":{}}}],["reference.ts:6",{"_index":22970,"title":{},"body":{"classes/ToolReference.html":{}}}],["reference.ts:7",{"_index":19043,"title":{},"body":{"classes/RoleReference.html":{}}}],["reference.ts:8",{"_index":22969,"title":{},"body":{"classes/ToolReference.html":{}}}],["reference.type",{"_index":3647,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["reference.uc.ts",{"_index":23024,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["reference.uc.ts:11",{"_index":23027,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["reference.uc.ts:18",{"_index":23033,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["reference.uc.ts:41",{"_index":23035,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["reference.uc.ts:58",{"_index":23031,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["reference.uc.ts:72",{"_index":23029,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["referenced",{"_index":3703,"title":{},"body":{"entities/BoardElement.html":{},"classes/CardSkeletonResponse.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"injectables/ImportUserRepo.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"injectables/UserRepo.html":{}}}],["referencedentity",{"_index":9438,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["referencedentityid",{"_index":18657,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["referencedentityname",{"_index":18656,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["referencedentitynotfoundloggable",{"_index":18652,"title":{"classes/ReferencedEntityNotFoundLoggable.html":{}},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["referencedid",{"_index":8443,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["referenceforindex",{"_index":8519,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["referenceids",{"_index":2917,"title":{},"body":{"entities/Board.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["referenceloader",{"_index":1911,"title":{"injectables/ReferenceLoader.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["referencemodels",{"_index":8657,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["references",{"_index":2880,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardRepo.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DeletionQueueConsole.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"entities/ImportUser.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"classes/ReferencesService.html":{},"controllers/ToolReferenceController.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["references.filter((ref",{"_index":2972,"title":{},"body":{"entities/Board.html":{}}}],["references.push(columnboardelement",{"_index":3356,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["references.push(lessonelement",{"_index":3352,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["references.push(reference",{"_index":18687,"title":{},"body":{"classes/ReferencesService.html":{}}}],["references.push(taskelement",{"_index":3350,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["references.some((ref",{"_index":2977,"title":{},"body":{"entities/Board.html":{}}}],["references[position.groupindex",{"_index":8520,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["referencesservice",{"_index":2873,"title":{"classes/ReferencesService.html":{}},"body":{"injectables/BatchDeletionUc.html":{},"classes/ReferencesService.html":{}}}],["referencesservice.loadfromtxtfile(refsfilepath",{"_index":2883,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["referer",{"_index":13469,"title":{},"body":{"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{}}}],["referring",{"_index":24676,"title":{},"body":{"license.html":{}}}],["refers",{"_index":24721,"title":{},"body":{"license.html":{}}}],["refid",{"_index":11725,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"injectables/FilesRepo.html":{}}}],["refined",{"_index":25836,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["reflect",{"_index":24553,"title":{},"body":{"dependencies.html":{},"todo.html":{}}}],["reflector",{"_index":22211,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["reflector.get('timeout",{"_index":22214,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["refobjectid",{"_index":11577,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["refownermodel",{"_index":11525,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesRepo.html":{}}}],["refpermmodel",{"_index":11726,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["refrain",{"_index":25136,"title":{},"body":{"license.html":{}}}],["refresh_token",{"_index":17203,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"interfaces/OauthTokenResponse.html":{}}}],["refreshtimeout",{"_index":19439,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["refreshtoken",{"_index":16911,"title":{},"body":{"classes/OAuthTokenDto.html":{},"classes/TokenRequestMapper.html":{}}}],["refsfilepath",{"_index":2871,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"classes/DeletionQueueConsole.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{}}}],["refsfromtxtfile",{"_index":2882,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["refsfromtxtfile.foreach((ref",{"_index":2885,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["regard",{"_index":24979,"title":{},"body":{"license.html":{}}}],["regarding",{"_index":24611,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["regardless",{"_index":24869,"title":{},"body":{"license.html":{}}}],["regenerate",{"_index":24796,"title":{},"body":{"license.html":{}}}],["regex",{"_index":6144,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/CopyFilesService.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/FileMetadata.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/MongoPatterns.html":{},"classes/Path.html":{},"injectables/TaskCopyService.html":{},"injectables/UserRepo.html":{}}}],["regex_mongo_language_pattern_whitelist",{"_index":16398,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["regexcomment",{"_index":8189,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["regexp",{"_index":118,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CopyFilesService.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["regexp(`${sourceid",{"_index":7305,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["regexp(`^${email.replace(/\\w/g",{"_index":23863,"title":{},"body":{"injectables/UserRepo.html":{}}}],["regexp(param.regex",{"_index":10544,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["regexp(param.regex).test(foundentry.value",{"_index":6141,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["regexp(param.regex).test(param.default",{"_index":10546,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["regexp(searchusername",{"_index":819,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["regexpmatcharray",{"_index":136,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["region",{"_index":7247,"title":{},"body":{"interfaces/CopyFiles.html":{},"injectables/DeleteFilesUc.html":{},"interfaces/File.html":{},"interfaces/FileStorageConfig.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["register",{"_index":17883,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{},"modules/S3ClientModule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["register(config",{"_index":17884,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["register(configs",{"_index":19446,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["registerparentdata",{"_index":18532,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["registerparentdata(parent",{"_index":18538,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["registerstrategy",{"_index":18109,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["registerstrategy(strategy",{"_index":18124,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["registrated",{"_index":26059,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["registrationpinentity",{"_index":18688,"title":{"entities/RegistrationPinEntity.html":{}},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"injectables/RegistrationPinRepo.html":{}}}],["registrationpinentityprops",{"_index":18698,"title":{"interfaces/RegistrationPinEntityProps.html":{}},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{}}}],["registrationpinmodule",{"_index":8975,"title":{"modules/RegistrationPinModule.html":{}},"body":{"modules/DeletionApiModule.html":{},"modules/RegistrationPinModule.html":{}}}],["registrationpinrepo",{"_index":18711,"title":{"injectables/RegistrationPinRepo.html":{}},"body":{"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{}}}],["registrationpins",{"_index":18699,"title":{},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{}}}],["registrationpinservice",{"_index":18710,"title":{"injectables/RegistrationPinService.html":{}},"body":{"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinService.html":{}}}],["regular",{"_index":808,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["reinstated",{"_index":25017,"title":{},"body":{"license.html":{}}}],["reject",{"_index":15055,"title":{},"body":{"injectables/LdapService.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["reject(new",{"_index":15062,"title":{},"body":{"injectables/LdapService.html":{}}}],["rejectable.body",{"_index":6260,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["rejectable.body.ts",{"_index":16842,"title":{},"body":{"classes/OAuthRejectableBody.html":{}}}],["rejectable.body.ts:13",{"_index":16843,"title":{},"body":{"classes/OAuthRejectableBody.html":{}}}],["rejectable.body.ts:23",{"_index":16844,"title":{},"body":{"classes/OAuthRejectableBody.html":{}}}],["rejectable.body.ts:32",{"_index":16845,"title":{},"body":{"classes/OAuthRejectableBody.html":{}}}],["rejectable.body.ts:41",{"_index":16846,"title":{},"body":{"classes/OAuthRejectableBody.html":{}}}],["rejectable.body.ts:50",{"_index":16847,"title":{},"body":{"classes/OAuthRejectableBody.html":{}}}],["rejectconsentrequest",{"_index":17221,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["rejectconsentrequest(challenge",{"_index":17230,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["rejectloginrequest",{"_index":17377,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["rejectloginrequest(challenge",{"_index":17385,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{}}}],["rejectnothandled",{"_index":6427,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["rejectnothandled(component",{"_index":6430,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["rejectrequestbody",{"_index":17231,"title":{"interfaces/RejectRequestBody.html":{}},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{},"interfaces/RejectRequestBody.html":{}}}],["related",{"_index":4858,"title":{},"body":{"interfaces/CleanOptions.html":{},"interfaces/CollectionFilePath.html":{},"classes/CreateNewsParams.html":{},"classes/FilterNewsParams.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/NextcloudStrategy.html":{},"controllers/PseudonymController.html":{},"interfaces/RetryOptions.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["relatedresourceproperties",{"_index":16140,"title":{"interfaces/RelatedResourceProperties.html":{}},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["relatedresources",{"_index":16132,"title":{},"body":{"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["relation",{"_index":12919,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{}}}],["relation.ktid",{"_index":19640,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["relation.rollen?.length",{"_index":19637,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["relations",{"_index":11749,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"additional-documentation/nestjs-application.html":{}}}],["relationship",{"_index":21357,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"license.html":{}}}],["relationtype",{"_index":16151,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["relative",{"_index":5174,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/HydraSsoService.html":{}}}],["relative.org",{"_index":6470,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["release",{"_index":25805,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["released",{"_index":24716,"title":{},"body":{"license.html":{}}}],["releasing",{"_index":24708,"title":{},"body":{"license.html":{}}}],["relevant",{"_index":24863,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["relicensing",{"_index":24717,"title":{},"body":{"license.html":{}}}],["reload",{"_index":17998,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{}}}],["relying",{"_index":25092,"title":{},"body":{"license.html":{}}}],["remain",{"_index":24916,"title":{},"body":{"license.html":{}}}],["remains",{"_index":24674,"title":{},"body":{"license.html":{}}}],["remember",{"_index":169,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OauthProviderRequestMapper.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["remember_for",{"_index":170,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OauthProviderRequestMapper.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["remembered",{"_index":6234,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["rememberfor",{"_index":6232,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{}}}],["remote",{"_index":25138,"title":{},"body":{"license.html":{}}}],["remotely",{"_index":25140,"title":{},"body":{"license.html":{}}}],["removal",{"_index":13372,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"license.html":{}}}],["remove",{"_index":1938,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"interfaces/CleanOptions.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"entities/CourseNews.html":{},"classes/DeleteFilesConsole.html":{},"injectables/FilesStorageConsumer.html":{},"classes/GlobalValidationPipe.html":{},"injectables/H5PLibraryManagementService.html":{},"modules/InterceptorModule.html":{},"classes/KeycloakConsole.html":{},"modules/LearnroomApiModule.html":{},"interfaces/LibrariesContentType.html":{},"interfaces/MigrationOptions.html":{},"classes/MongoPatterns.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/PermissionService.html":{},"interfaces/RetryOptions.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{},"modules/ToolModule.html":{},"injectables/ToolVersionService.html":{},"modules/VideoConferenceModule.html":{},"index.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["removeawarenessstates",{"_index":22475,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["removeawarenessstates(doc.awareness",{"_index":22492,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["removechild",{"_index":3034,"title":{},"body":{"classes/BoardComposite.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["removechild(child",{"_index":3052,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["removed",{"_index":80,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/CommonToolService.html":{},"interfaces/IToolFeatures.html":{},"classes/RpcMessageProducer.html":{},"classes/ToolConfiguration.html":{},"injectables/ToolVersionService.html":{},"modules/VideoConferenceModule.html":{},"classes/WsSharedDocDo.html":{}}}],["removed.foreach((clientid",{"_index":24403,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["removedeletedreferences(boardelementtargets",{"_index":2970,"title":{},"body":{"entities/Board.html":{}}}],["removedirrecursive",{"_index":12037,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["removedirrecursive(folderpath",{"_index":12062,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["removeemptyobjectsfromresponse",{"_index":19522,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["removeemptyobjectsfromresponse(response",{"_index":19535,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["removeexternalgroupsandaffiliation",{"_index":17591,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["removeexternalgroupsandaffiliation(externaluserid",{"_index":17607,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["removefeature",{"_index":15290,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["removefeature(schoolid",{"_index":15302,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["removefromposition",{"_index":8389,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["removefromposition(position",{"_index":8425,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["removefromwhitelist",{"_index":14353,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["removefromwhitelist(accountid",{"_index":14363,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["removegroupmoderator(groupname",{"_index":1138,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["removejwtfromwhitelist",{"_index":1692,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["removejwtfromwhitelist(jwttoken",{"_index":1707,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["removematch",{"_index":13868,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["removematch(urlparams",{"_index":13882,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["removepermissionsbyrefid(refid",{"_index":11576,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["removeprotectedentityfields",{"_index":2441,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["removeprotectedentityfields(entitydata",{"_index":2465,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["removereference",{"_index":12647,"title":{},"body":{"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["removereference(reference",{"_index":8439,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["removereferencebyindex",{"_index":12648,"title":{},"body":{"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["removereferencebyindex(index",{"_index":8438,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["removeroomsnotinlist",{"_index":8390,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["removeroomsnotinlist(roomlist",{"_index":8427,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["removes",{"_index":5356,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/FileSystemAdapter.html":{}}}],["removesecrets(collectionname",{"_index":5367,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["removesecretsfromstorageproviders(storageproviders",{"_index":5370,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["removesecretsfromsystems(systems",{"_index":5374,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["removestudent(userid",{"_index":7733,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{}}}],["removesubstitutionteacher(userid",{"_index":7569,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["removeteacher(userid",{"_index":7567,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["removeuser",{"_index":4540,"title":{},"body":{"classes/Class.html":{},"classes/Group.html":{}}}],["removeuser(user",{"_index":12677,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["removeuser(userid",{"_index":4549,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["removeuserids",{"_index":16792,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["removeuserids.tostring",{"_index":16796,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["removeuserpermissionstoanyfiles",{"_index":12138,"title":{},"body":{"injectables/FilesService.html":{}}}],["removeuserpermissionstoanyfiles(userid",{"_index":12146,"title":{},"body":{"injectables/FilesService.html":{}}}],["rename",{"_index":10697,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["renamebodyparams",{"_index":3205,"title":{"classes/RenameBodyParams.html":{}},"body":{"controllers/BoardController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"classes/RenameBodyParams.html":{}}}],["renamed",{"_index":16774,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["renamefileparams",{"_index":7220,"title":{"classes/RenameFileParams.html":{}},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["renamegroupondashboard",{"_index":8739,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["renamegroupondashboard(dashboardid",{"_index":8746,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["rendered",{"_index":25180,"title":{},"body":{"license.html":{}}}],["reorderboardelements",{"_index":19240,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["reorderboardelements(roomid",{"_index":19245,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["reorderelements(ids",{"_index":2948,"title":{},"body":{"entities/Board.html":{}}}],["reordering",{"_index":2960,"title":{},"body":{"entities/Board.html":{}}}],["repair",{"_index":25170,"title":{},"body":{"license.html":{}}}],["repeat",{"_index":25451,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["repeatcommand",{"_index":14669,"title":{},"body":{"classes/KeycloakConsole.html":{}}}],["repeatcommand(commandname",{"_index":4917,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["repeats",{"_index":16126,"title":{},"body":{"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/ServerConsoleModule.html":{}}}],["repetitions",{"_index":4918,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["replace",{"_index":1994,"title":{},"body":{"injectables/AuthorizationService.html":{},"injectables/BaseDORepo.html":{},"interfaces/CollectionFilePath.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"classes/ReferencesService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["replace('exception",{"_index":12621,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["replace(/\\\\n/g",{"_index":15173,"title":{},"body":{"injectables/LegacyLogger.html":{},"classes/LoggingUtils.html":{}}}],["replaced",{"_index":1921,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/BaseRepo.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"interfaces/UserBoardRoles.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["replacement",{"_index":5362,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/CopyFilesService.html":{},"injectables/TaskCopyService.html":{}}}],["replacemypassword",{"_index":320,"title":{},"body":{"controllers/AccountController.html":{}}}],["replacemypassword(currentuser",{"_index":353,"title":{},"body":{"controllers/AccountController.html":{}}}],["replicaset",{"_index":25924,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["replikaset",{"_index":25256,"title":{},"body":{"todo.html":{}}}],["replset",{"_index":25928,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["reply",{"_index":22524,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["replyto",{"_index":1458,"title":{},"body":{"interfaces/AppendedAttachment.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"interfaces/PlainTextMailContent.html":{}}}],["repo",{"_index":2609,"title":{},"body":{"injectables/BaseRepo.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoService.html":{},"modules/BoardModule.html":{},"injectables/CardService.html":{},"modules/ClassModule.html":{},"injectables/ClassService.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseService.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionLogService.html":{},"modules/DeletionModule.html":{},"injectables/ExternalToolMetadataService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolService.html":{},"modules/FilesModule.html":{},"injectables/FilesService.html":{},"modules/FilesStorageModule.html":{},"modules/GroupModule.html":{},"injectables/GroupService.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/LegacySchoolModule.html":{},"modules/PseudonymModule.html":{},"injectables/PseudonymService.html":{},"injectables/ReferenceLoader.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RepoLoader.html":{},"modules/RocketChatUserModule.html":{},"injectables/RocketChatUserService.html":{},"injectables/SchoolYearService.html":{},"injectables/SubmissionItemService.html":{},"modules/SystemModule.html":{},"injectables/SystemService.html":{},"injectables/TemporaryFileStorage.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolModule.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["repo.integration.spec",{"_index":7900,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["repo.integration.spec.js",{"_index":25797,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["repo.ts",{"_index":25534,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["repo/account.repo",{"_index":676,"title":{},"body":{"modules/AccountModule.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{}}}],["repo/deletion",{"_index":9280,"title":{},"body":{"modules/DeletionModule.html":{},"injectables/DeletionRequestService.html":{}}}],["repo/share",{"_index":20446,"title":{},"body":{"injectables/ShareTokenService.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["repo/temporary",{"_index":22096,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["repo/tldraw.repo",{"_index":22361,"title":{},"body":{"modules/TldrawModule.html":{},"injectables/TldrawService.html":{}}}],["repoloader",{"_index":18623,"title":{"interfaces/RepoLoader.html":{}},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["repoloader.populate",{"_index":18650,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["repoloader.repo.findbyid(objectid",{"_index":18651,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["report",{"_index":8788,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["reported",{"_index":25628,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["reporting",{"_index":25837,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["reports",{"_index":25808,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["repos",{"_index":6027,"title":{},"body":{"modules/CommonToolModule.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"modules/VideoConferenceModule.html":{}}}],["repositories",{"_index":25238,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["repository",{"_index":15475,"title":{},"body":{"modules/LessonModule.html":{},"injectables/LessonService.html":{},"injectables/PseudonymService.html":{},"index.html":{},"properties.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["repository.createorupdate(pseudonym",{"_index":18276,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["repository.findbyuseridandtoolid(user.id",{"_index":18275,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["repotype",{"_index":18624,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["represent",{"_index":24946,"title":{},"body":{"license.html":{}}}],["representation",{"_index":626,"title":{},"body":{"injectables/AccountLookupService.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["represents",{"_index":6255,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{}}}],["req",{"_index":11983,"title":{},"body":{"controllers/FileSecurityController.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{},"controllers/OauthSSOController.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResponseInfo.html":{},"injectables/S3ClientAdapter.html":{},"controllers/VideoConferenceController.html":{}}}],["req.baseurl",{"_index":18751,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["req.header('range",{"_index":12441,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["req.headers.authorization",{"_index":17512,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["req.headers.origin",{"_index":24069,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["req.method",{"_index":18750,"title":{},"body":{"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResponseInfo.html":{}}}],["req.on('close",{"_index":11995,"title":{},"body":{"controllers/FileSecurityController.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{}}}],["req.params",{"_index":18791,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["req.params[0]}/${params.fwulearningcontent",{"_index":12442,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["req.query",{"_index":18792,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["req.route.path",{"_index":18755,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["req.url",{"_index":18790,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["req.user",{"_index":18789,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["reqinfo",{"_index":18764,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["reqinfo.baseurl",{"_index":18769,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["reqinfo.fullpath",{"_index":18770,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["reqinfo.method",{"_index":18768,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["reqinfo.routepath",{"_index":18771,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["reqroute",{"_index":18745,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["request",{"_index":193,"title":{},"body":{"classes/AcceptQuery.html":{},"controllers/AccountController.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AxiosErrorFactory.html":{},"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{},"injectables/BatchDeletionService.html":{},"controllers/CollaborativeStorageController.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/DeletionClient.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"interfaces/FileRequestInfo.html":{},"controllers/FileSecurityController.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageProducer.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{},"interfaces/ILegacyLogger.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/JwtExtractor.html":{},"injectables/LdapStrategy.html":{},"controllers/LoginController.html":{},"classes/LoginResponse-1.html":{},"injectables/Oauth2Strategy.html":{},"controllers/OauthSSOController.html":{},"injectables/PreviewProducer.html":{},"classes/PublicSystemResponse.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResponseInfo.html":{},"classes/RpcMessageProducer.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SystemFilterParams.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TldrawWs.html":{},"classes/TokenRequestLoggableException.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolSchoolController.html":{},"injectables/UserRepo.html":{},"controllers/VideoConferenceController.html":{},"dependencies.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["request's",{"_index":9044,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["request'})@apiresponse({status",{"_index":5050,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"controllers/DeletionRequestsController.html":{}}}],["request(event",{"_index":12349,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{}}}],["request(s",{"_index":9051,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["request.body",{"_index":15094,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/Oauth2Strategy.html":{}}}],["request.body.params.ts",{"_index":9327,"title":{},"body":{"classes/DeletionRequestBodyProps.html":{}}}],["request.body.params.ts:11",{"_index":9332,"title":{},"body":{"classes/DeletionRequestBodyProps.html":{}}}],["request.body.params.ts:20",{"_index":9330,"title":{},"body":{"classes/DeletionRequestBodyProps.html":{}}}],["request.body.ts",{"_index":165,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"interfaces/RejectRequestBody.html":{}}}],["request.body.ts:10",{"_index":6223,"title":{},"body":{"classes/ConsentRequestBody.html":{}}}],["request.body.ts:14",{"_index":15821,"title":{},"body":{"classes/LoginRequestBody.html":{}}}],["request.body.ts:20",{"_index":6230,"title":{},"body":{"classes/ConsentRequestBody.html":{}}}],["request.body.ts:24",{"_index":15822,"title":{},"body":{"classes/LoginRequestBody.html":{}}}],["request.body.ts:30",{"_index":6236,"title":{},"body":{"classes/ConsentRequestBody.html":{}}}],["request.contextid",{"_index":6877,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["request.contexttype",{"_index":6878,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["request.displayname",{"_index":6879,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["request.do",{"_index":9361,"title":{},"body":{"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestMapper.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{}}}],["request.do.ts",{"_index":9309,"title":{},"body":{"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{}}}],["request.do.ts:15",{"_index":9311,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["request.do.ts:19",{"_index":9312,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["request.do.ts:23",{"_index":9314,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["request.do.ts:27",{"_index":9316,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["request.do.ts:31",{"_index":9318,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["request.do.ts:35",{"_index":9320,"title":{},"body":{"classes/DeletionRequest.html":{}}}],["request.entity.ts",{"_index":9338,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["request.entity.ts:22",{"_index":9340,"title":{},"body":{"entities/DeletionRequestEntity.html":{}}}],["request.entity.ts:25",{"_index":9343,"title":{},"body":{"entities/DeletionRequestEntity.html":{}}}],["request.entity.ts:28",{"_index":9342,"title":{},"body":{"entities/DeletionRequestEntity.html":{}}}],["request.entity.ts:31",{"_index":9341,"title":{},"body":{"entities/DeletionRequestEntity.html":{}}}],["request.factory.ts",{"_index":9358,"title":{},"body":{"classes/DeletionRequestFactory.html":{}}}],["request.factory.ts:8",{"_index":9360,"title":{},"body":{"classes/DeletionRequestFactory.html":{}}}],["request.mapper",{"_index":9427,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/OAuthService.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["request.mapper.ts",{"_index":6866,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"classes/DeletionRequestMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/TokenRequestMapper.html":{}}}],["request.mapper.ts:115",{"_index":10760,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:119",{"_index":10767,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:125",{"_index":10771,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:131",{"_index":10774,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:137",{"_index":10778,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:143",{"_index":10764,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:160",{"_index":10782,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:17",{"_index":9392,"title":{},"body":{"classes/DeletionRequestMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["request.mapper.ts:172",{"_index":10758,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:21",{"_index":22584,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["request.mapper.ts:22",{"_index":6873,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["request.mapper.ts:5",{"_index":9391,"title":{},"body":{"classes/DeletionRequestMapper.html":{},"classes/OauthProviderRequestMapper.html":{}}}],["request.mapper.ts:6",{"_index":22582,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["request.mapper.ts:60",{"_index":10787,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.mapper.ts:7",{"_index":6870,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["request.mapper.ts:8",{"_index":19789,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{}}}],["request.mapper.ts:88",{"_index":10754,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["request.repo",{"_index":9281,"title":{},"body":{"modules/DeletionModule.html":{},"injectables/DeletionRequestService.html":{}}}],["request.repo.ts",{"_index":9406,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:11",{"_index":9410,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:14",{"_index":9425,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:18",{"_index":9418,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:28",{"_index":9412,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:34",{"_index":9416,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:49",{"_index":9424,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:56",{"_index":9420,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:67",{"_index":9422,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.repo.ts:78",{"_index":9414,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["request.response.ts",{"_index":9447,"title":{},"body":{"classes/DeletionRequestResponse.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["request.response.ts:10",{"_index":22891,"title":{},"body":{"classes/ToolLaunchRequestResponse.html":{}}}],["request.response.ts:16",{"_index":22895,"title":{},"body":{"classes/ToolLaunchRequestResponse.html":{}}}],["request.response.ts:23",{"_index":22893,"title":{},"body":{"classes/ToolLaunchRequestResponse.html":{}}}],["request.response.ts:30",{"_index":22890,"title":{},"body":{"classes/ToolLaunchRequestResponse.html":{}}}],["request.response.ts:5",{"_index":9449,"title":{},"body":{"classes/DeletionRequestResponse.html":{}}}],["request.response.ts:8",{"_index":9448,"title":{},"body":{"classes/DeletionRequestResponse.html":{}}}],["request.schoolid",{"_index":19793,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{}}}],["request.schooltoolid",{"_index":6876,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["request.service",{"_index":9279,"title":{},"body":{"modules/DeletionModule.html":{}}}],["request.service.ts",{"_index":9459,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:12",{"_index":9465,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:33",{"_index":9469,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:39",{"_index":9468,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:45",{"_index":9473,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:49",{"_index":9470,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:53",{"_index":9471,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:57",{"_index":9466,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.service.ts:9",{"_index":9463,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["request.toolid",{"_index":19792,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{}}}],["request.toolversion",{"_index":6880,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{}}}],["request.ts",{"_index":22883,"title":{},"body":{"classes/ToolLaunchRequest.html":{}}}],["request.ts:10",{"_index":22884,"title":{},"body":{"classes/ToolLaunchRequest.html":{}}}],["request.ts:4",{"_index":22885,"title":{},"body":{"classes/ToolLaunchRequest.html":{}}}],["request.ts:6",{"_index":22887,"title":{},"body":{"classes/ToolLaunchRequest.html":{}}}],["request.ts:8",{"_index":22886,"title":{},"body":{"classes/ToolLaunchRequest.html":{}}}],["request.url.replace(/(\\/)|(tldraw",{"_index":22421,"title":{},"body":{"classes/TldrawWs.html":{}}}],["request.user.user",{"_index":25244,"title":{},"body":{"todo.html":{}}}],["request.version",{"_index":19794,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{}}}],["request/bbb",{"_index":2287,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["request/response",{"_index":25593,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["request_denied",{"_index":6241,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{}}}],["request_url",{"_index":6266,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["requestauthcode",{"_index":13434,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["requestauthcode(jwt",{"_index":13444,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["requestauthtoken",{"_index":17490,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["requestauthtoken(currentuser",{"_index":17495,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["requestconfig",{"_index":9049,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["requestdata",{"_index":15872,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["requested",{"_index":2832,"title":{},"body":{"injectables/BatchDeletionService.html":{},"classes/ConsentResponse.html":{},"classes/DeletionExecutionConsole.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"classes/LoginResponse-1.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{}}}],["requested_access_token_audience",{"_index":6267,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["requested_scope",{"_index":6268,"title":{},"body":{"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["requesthandler",{"_index":18748,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["requestid",{"_index":2811,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps-1.html":{},"classes/DeletionRequestResponse.html":{},"injectables/DeletionRequestService.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/DeletionTargetRef-1.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["requestinfo",{"_index":18732,"title":{"classes/RequestInfo.html":{}},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["requestinfo(req",{"_index":18765,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["requesting",{"_index":17022,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["requestloggingbody",{"_index":13646,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{},"injectables/RequestLoggingInterceptor.html":{}}}],["requestlogginginterceptor",{"_index":18781,"title":{"injectables/RequestLoggingInterceptor.html":{}},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["requestmapper",{"_index":23070,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["requestoptions",{"_index":15870,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["requests",{"_index":9080,"title":{},"body":{"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"modules/InterceptorModule.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"classes/VideoConferenceOptionsResponse.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["requests.controller",{"_index":8991,"title":{},"body":{"modules/DeletionApiModule.html":{}}}],["requests.controller.ts",{"_index":9489,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["requests.controller.ts:23",{"_index":9500,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["requests.controller.ts:39",{"_index":9506,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["requests.controller.ts:51",{"_index":9496,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["requesttimeout",{"_index":19194,"title":{},"body":{"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{},"injectables/TimeoutInterceptor.html":{}}}],["requesttimeout(serverconfig().incoming_request_timeout_copy_api",{"_index":19209,"title":{},"body":{"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{}}}],["requesttimeoutexception",{"_index":22210,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["requesttoken",{"_index":1309,"title":{},"body":{"injectables/AntivirusService.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"injectables/OAuthService.html":{},"interfaces/ParentInfo.html":{}}}],["requesttoken(code",{"_index":16869,"title":{},"body":{"injectables/OAuthService.html":{}}}],["requesturl",{"_index":6290,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["require",{"_index":5316,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["require('../../../../../src/services/authentication/configuration",{"_index":14305,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["require('../../../../config/globals",{"_index":12558,"title":{},"body":{"interfaces/GlobalConstants.html":{}}}],["require('rimraf",{"_index":12075,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["require_tld",{"_index":24101,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["required",{"_index":194,"title":{},"body":{"classes/AcceptQuery.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"controllers/AccountController.html":{},"classes/AccountSearchQueryParams.html":{},"classes/BoardUrlParams.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"interfaces/CleanOptions.html":{},"controllers/ColumnController.html":{},"classes/ColumnUrlParams.html":{},"injectables/CommonToolValidationService.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/CourseQueryParams.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestBodyProps.html":{},"controllers/ElementController.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolIdParams.html":{},"classes/FileMetadata.html":{},"classes/GetMetaTagDataBody.html":{},"classes/GlobalValidationPipe.html":{},"classes/GroupIdParams.html":{},"classes/IdParams.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakConsole.html":{},"injectables/LdapStrategy.html":{},"injectables/LessonUC.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibraryName.html":{},"classes/ListOauthClientsParams.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"interfaces/MigrationOptions.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/NewsUrlParams.html":{},"classes/OAuthRejectableBody.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigResponse.html":{},"interfaces/Options.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/Path.html":{},"classes/PseudonymParams.html":{},"classes/PublicSystemResponse.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RenameBodyParams.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SetHeightBodyParams.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionUrlParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TeamUrlParams.html":{},"classes/TldrawDeleteParams.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReferenceResponse.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserParams.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceScopeParams.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["required.'})@apiresponse({status",{"_index":332,"title":{},"body":{"controllers/AccountController.html":{}}}],["requiredemptyelement",{"_index":4471,"title":{},"body":{"injectables/CardService.html":{}}}],["requiredemptyelements",{"_index":4437,"title":{},"body":{"injectables/CardService.html":{},"controllers/ColumnController.html":{},"injectables/ColumnUc.html":{},"classes/CreateCardBodyParams.html":{}}}],["requiredentitydata",{"_index":2475,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["requiredextensions",{"_index":11661,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["requiredpermissions",{"_index":1778,"title":{},"body":{"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationService.html":{},"classes/BaseUc.html":{},"injectables/CardUc.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"classes/DtoCreator.html":{},"classes/ForbiddenLoggableException.html":{},"injectables/LessonRule.html":{},"injectables/NewsUc.html":{},"injectables/PermissionService.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/ShareTokenUC.html":{},"injectables/SubmissionRule.html":{},"injectables/TaskRule.html":{},"injectables/UserLoginMigrationUc.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["requiredpermissions.every((p",{"_index":1824,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/PermissionService.html":{}}}],["requiredpermissions.length",{"_index":1837,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/PermissionService.html":{}}}],["requiredpermissions.some((p",{"_index":1839,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["requireduserrole",{"_index":2644,"title":{},"body":{"classes/BaseUc.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{},"interfaces/UserBoardRoles.html":{}}}],["requireduserrole(userroleenum",{"_index":3392,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["requirement",{"_index":14577,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"license.html":{}}}],["requirements",{"_index":24918,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["requires",{"_index":10522,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/GlobalValidationPipe.html":{},"injectables/MetaTagExtractorService.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["requiring",{"_index":24733,"title":{},"body":{"license.html":{}}}],["res",{"_index":7582,"title":{},"body":{"controllers/CourseController.html":{},"controllers/DatabaseManagementController.html":{},"controllers/FileSecurityController.html":{},"classes/FilesStorageMapper.html":{},"controllers/FwuLearningContentsController.html":{},"classes/H5PContentMapper.html":{},"controllers/H5PEditorController.html":{},"injectables/HydraSsoService.html":{},"classes/MetadataTypeMapper.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"injectables/S3ClientAdapter.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"controllers/ToolController.html":{}}}],["res.contenttype",{"_index":11998,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["res.cookie",{"_index":1621,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["res.data.destroy",{"_index":11996,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["res.files.length",{"_index":19426,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["res.send(externaltoollogo.logo",{"_index":22810,"title":{},"body":{"controllers/ToolController.html":{}}}],["res.set",{"_index":12444,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{}}}],["res.setheader('cache",{"_index":22807,"title":{},"body":{"controllers/ToolController.html":{}}}],["res.setheader('content",{"_index":22806,"title":{},"body":{"controllers/ToolController.html":{}}}],["res.status(httpstatus.ok",{"_index":12450,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{}}}],["res.status(httpstatus.partial_content",{"_index":12449,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{}}}],["res.statuscode",{"_index":18758,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["resave",{"_index":20229,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["reset",{"_index":270,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"classes/DatabaseManagementConsole.html":{},"modules/DatabaseManagementModule.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FeathersModule.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolModule.html":{},"modules/LessonApiModule.html":{},"modules/LessonModule.html":{},"modules/LoggerModule.html":{},"modules/LtiToolModule.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/NewsModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/OauthProviderServiceModule.html":{},"interfaces/Options.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"modules/PseudonymModule.html":{},"modules/RedisModule.html":{},"modules/RegistrationPinModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["resetlastauthorizationtime",{"_index":14411,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["resetoauthconfigcache",{"_index":14684,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["resinfo",{"_index":18766,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["resinfo.statuscode",{"_index":18772,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["resizeandconvert",{"_index":17903,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["resizeandconvert(original",{"_index":17913,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["resolve",{"_index":6244,"title":{},"body":{"classes/ConsentRequestBody.html":{},"injectables/ExternalToolService.html":{},"injectables/FeathersRosterService.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"injectables/PermissionService.html":{},"classes/TestConnection.html":{},"injectables/ToolPermissionHelper.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["resolve(client",{"_index":15061,"title":{},"body":{"injectables/LdapService.html":{}}}],["resolved",{"_index":3278,"title":{},"body":{"injectables/BoardCopyService.html":{},"interfaces/CollectionFilePath.html":{},"classes/ResolvedGroupDto.html":{},"injectables/SanisProvisioningStrategy.html":{},"license.html":{}}}],["resolvedgroup",{"_index":12887,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroup.externalsource",{"_index":12904,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroup.externalsource.externalid",{"_index":12905,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroup.externalsource.systemid",{"_index":12906,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroup.id",{"_index":12901,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroup.name",{"_index":12902,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroup.organizationid",{"_index":12912,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroup.users.map",{"_index":12907,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["resolvedgroupdto",{"_index":12727,"title":{"classes/ResolvedGroupDto.html":{}},"body":{"controllers/GroupController.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{},"classes/ResolvedGroupDto.html":{}}}],["resolvedgroupuser",{"_index":12964,"title":{"classes/ResolvedGroupUser.html":{}},"body":{"classes/GroupUcMapper.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{}}}],["resolvedgroupusers",{"_index":12968,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["resolvedtools",{"_index":10973,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["resolvedtools.filter((tool",{"_index":10980,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["resolveduser",{"_index":23216,"title":{},"body":{"controllers/UserController.html":{},"injectables/UserService.html":{}}}],["resolvedusermapper",{"_index":18806,"title":{"classes/ResolvedUserMapper.html":{}},"body":{"classes/ResolvedUserMapper.html":{},"controllers/UserController.html":{}}}],["resolvedusermapper.maptoresponse(user",{"_index":23217,"title":{},"body":{"controllers/UserController.html":{}}}],["resolveduserresponse",{"_index":18810,"title":{"classes/ResolvedUserResponse.html":{}},"body":{"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"controllers/UserController.html":{}}}],["resolvedusers",{"_index":12963,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["resolvedusers.filter((groupuser",{"_index":12978,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["resolvepermissions",{"_index":17785,"title":{},"body":{"injectables/PermissionService.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["resolvepermissions(user",{"_index":17789,"title":{},"body":{"injectables/PermissionService.html":{}}}],["resolvepermissionsbyroles",{"_index":17786,"title":{},"body":{"injectables/PermissionService.html":{}}}],["resolvepermissionsbyroles(inputroles",{"_index":17793,"title":{},"body":{"injectables/PermissionService.html":{}}}],["resolveplaceholder(placeholder",{"_index":5337,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["resolverepo",{"_index":18614,"title":{},"body":{"injectables/ReferenceLoader.html":{}}}],["resolverepo(type",{"_index":18621,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["resolves",{"_index":14068,"title":{},"body":{"injectables/ImportUserRepo.html":{},"injectables/NewsRepo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["resolvetokenrequest",{"_index":16966,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["resolvetokenrequest(observable",{"_index":16972,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["resource",{"_index":5818,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"controllers/ToolController.html":{},"controllers/ToolReferenceController.html":{}}}],["resource.'})@apiunauthorizedresponse({description",{"_index":22755,"title":{},"body":{"controllers/ToolController.html":{},"controllers/ToolReferenceController.html":{}}}],["resource.caninline",{"_index":5834,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["resource.ts",{"_index":5852,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["resource.ts:15",{"_index":6000,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["resource.ts:16",{"_index":5854,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["resource.ts:18",{"_index":6001,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["resource.ts:19",{"_index":5855,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebContentResource.html":{}}}],["resource.ts:22",{"_index":5995,"title":{},"body":{"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["resource.ts:23",{"_index":5856,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["resource.ts:26",{"_index":5996,"title":{},"body":{"classes/CommonCartridgeWebContentResource.html":{}}}],["resource.ts:30",{"_index":5997,"title":{},"body":{"classes/CommonCartridgeWebContentResource.html":{}}}],["resource.ts:61",{"_index":6002,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["resource.ts:81",{"_index":5857,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["resource_link_id",{"_index":8102,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["resourceelement.transform",{"_index":5994,"title":{},"body":{"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["resourceelements",{"_index":5992,"title":{},"body":{"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["resourceid",{"_index":16823,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["resourcename",{"_index":16824,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["resourceownerpasswordgrant",{"_index":13760,"title":{},"body":{"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["resourceownerpasswordgrant(username",{"_index":13763,"title":{},"body":{"classes/IdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["resourceprops",{"_index":5738,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["resources",{"_index":5736,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["resp",{"_index":9032,"title":{},"body":{"injectables/DeletionClient.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["resp.data",{"_index":2400,"title":{},"body":{"injectables/BBBService.html":{},"injectables/DeletionClient.html":{}}}],["resp.data.deletionplannedat",{"_index":9046,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["resp.data.requestid",{"_index":9040,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["resp.everyattendeejoinsmuted",{"_index":24310,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["resp.everybodyjoinsasmoderator",{"_index":24311,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["resp.moderatormustapprovejoinrequests",{"_index":24312,"title":{},"body":{"classes/VideoConferenceOptionsResponse.html":{}}}],["resp.options",{"_index":9548,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceInfoResponse.html":{}}}],["resp.permission",{"_index":9540,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{}}}],["resp.state",{"_index":9538,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceInfoResponse.html":{}}}],["resp.status",{"_index":9036,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["resp.url",{"_index":9543,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceJoinResponse.html":{}}}],["respect",{"_index":24842,"title":{},"body":{"license.html":{}}}],["respective",{"_index":25632,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["respobservable",{"_index":13588,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["respond",{"_index":25277,"title":{},"body":{"todo.html":{}}}],["responds",{"_index":16450,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{}}}],["responsability",{"_index":25453,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["response",{"_index":871,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"interfaces/AdminIdAndToken.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AuthenticationResponse.html":{},"classes/AuthorizationError.html":{},"classes/AxiosErrorFactory.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"injectables/BatchDeletionService.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"controllers/CardController.html":{},"classes/ClassInfoSearchListResponse.html":{},"controllers/ColumnController.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/CopyFileListResponse.html":{},"controllers/CourseController.html":{},"classes/CourseMetadataListResponse.html":{},"injectables/DeletionClient.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"controllers/ElementController.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorResponse.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileDtoBuilder.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"injectables/FilesStorageProducer.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"controllers/GroupController.html":{},"classes/GroupResponseMapper.html":{},"controllers/H5PEditorController.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConnectionError.html":{},"classes/LoginResponseMapper.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/OAuthProcessDto.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigResponse.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/PaginationResponse.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymResponse.html":{},"classes/PublicSystemListResponse.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RpcMessageProducer.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"controllers/ShareTokenController.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/SystemResponseMapper.html":{},"controllers/TaskController.html":{},"classes/TaskListResponse.html":{},"injectables/TaskUC.html":{},"controllers/TeamNewsController.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchMapper.html":{},"controllers/ToolSchoolController.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/ValidationError.html":{},"classes/VideoConferenceBaseResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["response.access_token",{"_index":22588,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["response.authorization_endpoint",{"_index":14704,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["response.body",{"_index":1684,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["response.builder.ts",{"_index":7237,"title":{},"body":{"classes/CopyFileResponseBuilder.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/FileResponseBuilder.html":{}}}],["response.builder.ts:4",{"_index":7239,"title":{},"body":{"classes/CopyFileResponseBuilder.html":{}}}],["response.builder.ts:5",{"_index":9389,"title":{},"body":{"classes/DeletionRequestLogResponseBuilder.html":{},"classes/FileResponseBuilder.html":{}}}],["response.config",{"_index":10861,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["response.contentlength",{"_index":12455,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["response.contentrange",{"_index":12448,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["response.contenttype",{"_index":12453,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["response.contextid",{"_index":6900,"title":{},"body":{"classes/ContextExternalToolResponse.html":{}}}],["response.contexttype",{"_index":6901,"title":{},"body":{"classes/ContextExternalToolResponse.html":{}}}],["response.data",{"_index":11479,"title":{},"body":{"classes/FileDtoBuilder.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/HydraOauthUc.html":{},"injectables/TemporaryFileStorage.html":{}}}],["response.data.access_token",{"_index":14715,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["response.data.destroy",{"_index":12451,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["response.deletionplannedat",{"_index":9384,"title":{},"body":{"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestResponse.html":{}}}],["response.displayname",{"_index":6902,"title":{},"body":{"classes/ContextExternalToolResponse.html":{}}}],["response.dto",{"_index":25469,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["response.end_session_endpoint",{"_index":14705,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["response.error",{"_index":1678,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["response.factory",{"_index":4424,"title":{},"body":{"classes/CardResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["response.factory.ts",{"_index":2112,"title":{},"body":{"classes/AxiosResponseImp.html":{},"classes/ContentElementResponseFactory.html":{}}}],["response.factory.ts:14",{"_index":2118,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["response.factory.ts:16",{"_index":2120,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["response.factory.ts:18",{"_index":2121,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["response.factory.ts:19",{"_index":6372,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["response.factory.ts:20",{"_index":2119,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["response.factory.ts:22",{"_index":2116,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["response.factory.ts:28",{"_index":6375,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["response.factory.ts:40",{"_index":6374,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["response.headers['content",{"_index":11475,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["response.id",{"_index":6897,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/FilesStorageClientMapper.html":{},"classes/PseudonymResponse.html":{},"classes/SchoolExternalToolResponse.html":{},"controllers/ToolContextController.html":{},"controllers/ToolSchoolController.html":{}}}],["response.id_token",{"_index":22586,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["response.ishidden",{"_index":10862,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["response.issuer",{"_index":14702,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["response.jwks_uri",{"_index":14706,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["response.jwt",{"_index":16839,"title":{},"body":{"classes/OAuthProcessDto.html":{}}}],["response.logourl",{"_index":6905,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["response.mapper",{"_index":3982,"title":{},"body":{"classes/BoardResponseMapper.html":{},"classes/ContentElementResponseFactory.html":{},"classes/ContextExternalToolResponseMapper.html":{},"modules/LearnroomApiModule.html":{},"controllers/LoginController.html":{},"modules/OauthProviderApiModule.html":{},"controllers/OauthProviderController.html":{},"modules/ProvisioningModule.html":{},"controllers/RoomsController.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"controllers/SystemController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["response.mapper.ts",{"_index":829,"title":{},"body":{"classes/AccountResponseMapper.html":{},"classes/BoardResponseMapper.html":{},"classes/CardResponseMapper.html":{},"classes/ColumnResponseMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/GroupResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/LoginResponseMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/SystemResponseMapper.html":{},"classes/ToolStatusResponseMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["response.mapper.ts:10",{"_index":9633,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{}}}],["response.mapper.ts:118",{"_index":19595,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["response.mapper.ts:12",{"_index":20834,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["response.mapper.ts:13",{"_index":15850,"title":{},"body":{"classes/LoginResponseMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["response.mapper.ts:14",{"_index":20835,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["response.mapper.ts:15",{"_index":19090,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["response.mapper.ts:16",{"_index":833,"title":{},"body":{"classes/AccountResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["response.mapper.ts:17",{"_index":18905,"title":{},"body":{"classes/RichTextElementResponseMapper.html":{}}}],["response.mapper.ts:18",{"_index":9634,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{},"classes/GroupResponseMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["response.mapper.ts:19",{"_index":17439,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["response.mapper.ts:20",{"_index":19806,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["response.mapper.ts:21",{"_index":6911,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["response.mapper.ts:22",{"_index":20838,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["response.mapper.ts:23",{"_index":17433,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["response.mapper.ts:27",{"_index":10282,"title":{},"body":{"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"injectables/OauthProviderResponseMapper.html":{}}}],["response.mapper.ts:28",{"_index":18903,"title":{},"body":{"classes/RichTextElementResponseMapper.html":{}}}],["response.mapper.ts:29",{"_index":9632,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["response.mapper.ts:32",{"_index":15667,"title":{},"body":{"classes/LinkElementResponseMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["response.mapper.ts:33",{"_index":20740,"title":{},"body":{"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["response.mapper.ts:34",{"_index":19588,"title":{},"body":{"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["response.mapper.ts:37",{"_index":12883,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["response.mapper.ts:38",{"_index":6917,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"injectables/SanisResponseMapper.html":{}}}],["response.mapper.ts:40",{"_index":17436,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["response.mapper.ts:44",{"_index":10882,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["response.mapper.ts:46",{"_index":6914,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["response.mapper.ts:47",{"_index":19094,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["response.mapper.ts:49",{"_index":20840,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["response.mapper.ts:5",{"_index":15848,"title":{},"body":{"classes/LoginResponseMapper.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenResponseMapper.html":{},"classes/ToolStatusResponseMapper.html":{}}}],["response.mapper.ts:52",{"_index":12886,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["response.mapper.ts:54",{"_index":19598,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["response.mapper.ts:6",{"_index":835,"title":{},"body":{"classes/AccountResponseMapper.html":{},"classes/CardResponseMapper.html":{},"classes/ColumnResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["response.mapper.ts:66",{"_index":19591,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["response.mapper.ts:7",{"_index":3981,"title":{},"body":{"classes/BoardResponseMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/RichTextElementResponseMapper.html":{}}}],["response.mapper.ts:70",{"_index":19593,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["response.mapper.ts:72",{"_index":10873,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["response.mapper.ts:73",{"_index":19093,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["response.mapper.ts:76",{"_index":10878,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["response.mapper.ts:8",{"_index":9631,"title":{},"body":{"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementResponseMapper.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["response.mapper.ts:80",{"_index":10880,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["response.mapper.ts:84",{"_index":10876,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{},"injectables/SanisResponseMapper.html":{}}}],["response.mapper.ts:9",{"_index":18904,"title":{},"body":{"classes/RichTextElementResponseMapper.html":{}}}],["response.mapper.ts:93",{"_index":19092,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["response.message",{"_index":19272,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["response.metadata",{"_index":13237,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["response.name",{"_index":10859,"title":{},"body":{"classes/ExternalToolResponse.html":{},"classes/FilesStorageClientMapper.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["response.opennewtab",{"_index":10863,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["response.parameters",{"_index":6903,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["response.redirect",{"_index":16840,"title":{},"body":{"classes/OAuthProcessDto.html":{}}}],["response.refresh_token",{"_index":22587,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["response.requestid",{"_index":9451,"title":{},"body":{"classes/DeletionRequestResponse.html":{}}}],["response.restricttocontexts",{"_index":10865,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["response.schoolid",{"_index":19798,"title":{},"body":{"classes/SchoolExternalToolResponse.html":{}}}],["response.schooltoolid",{"_index":6899,"title":{},"body":{"classes/ContextExternalToolResponse.html":{}}}],["response.set",{"_index":7604,"title":{},"body":{"controllers/CourseController.html":{}}}],["response.sourceid",{"_index":12223,"title":{},"body":{"classes/FilesStorageClientMapper.html":{}}}],["response.state",{"_index":24229,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["response.statistics",{"_index":9386,"title":{},"body":{"classes/DeletionRequestLogResponse.html":{}}}],["response.status",{"_index":19799,"title":{},"body":{"classes/SchoolExternalToolResponse.html":{}}}],["response.status(errorresponse.code).json(errorresponse",{"_index":12604,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["response.subject",{"_index":17251,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["response.targetref",{"_index":9382,"title":{},"body":{"classes/DeletionRequestLogResponse.html":{}}}],["response.token_endpoint",{"_index":14703,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["response.toolid",{"_index":18225,"title":{},"body":{"classes/PseudonymResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["response.toolversion",{"_index":6904,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["response.ts",{"_index":18324,"title":{},"body":{"classes/PublicSystemResponse.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["response.ts:10",{"_index":18329,"title":{},"body":{"classes/PublicSystemResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{}}}],["response.ts:11",{"_index":19476,"title":{},"body":{"classes/SanisGruppenResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["response.ts:12",{"_index":19469,"title":{},"body":{"classes/SanisGruppeResponse.html":{}}}],["response.ts:13",{"_index":19499,"title":{},"body":{"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonenkontextResponse.html":{}}}],["response.ts:16",{"_index":19478,"title":{},"body":{"classes/SanisGruppenResponse.html":{},"classes/SanisPersonResponse.html":{}}}],["response.ts:17",{"_index":18330,"title":{},"body":{"classes/PublicSystemResponse.html":{}}}],["response.ts:18",{"_index":19511,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{}}}],["response.ts:19",{"_index":19497,"title":{},"body":{"classes/SanisOrganisationResponse.html":{}}}],["response.ts:22",{"_index":19481,"title":{},"body":{"classes/SanisGruppenResponse.html":{}}}],["response.ts:24",{"_index":18327,"title":{},"body":{"classes/PublicSystemResponse.html":{},"classes/SanisPersonenkontextResponse.html":{}}}],["response.ts:31",{"_index":18328,"title":{},"body":{"classes/PublicSystemResponse.html":{}}}],["response.ts:39",{"_index":18326,"title":{},"body":{"classes/PublicSystemResponse.html":{}}}],["response.ts:5",{"_index":19492,"title":{},"body":{"classes/SanisNameResponse.html":{}}}],["response.ts:6",{"_index":19459,"title":{},"body":{"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["response.ts:7",{"_index":19498,"title":{},"body":{"classes/SanisOrganisationResponse.html":{}}}],["response.ts:8",{"_index":19487,"title":{},"body":{"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{}}}],["response.ts:9",{"_index":19466,"title":{},"body":{"classes/SanisGruppeResponse.html":{}}}],["response.url",{"_index":10860,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["response.userid",{"_index":18226,"title":{},"body":{"classes/PseudonymResponse.html":{}}}],["response.version",{"_index":10864,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["response?.data",{"_index":1175,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["response].ts",{"_index":25528,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["response_type",{"_index":13523,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["response_types",{"_index":17007,"title":{},"body":{"classes/OauthClientBody.html":{},"injectables/OauthProviderClientCrudUc.html":{}}}],["responsedata",{"_index":16989,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["responsefilerecords",{"_index":11872,"title":{},"body":{"classes/FileRecordMapper.html":{},"classes/FilesStorageMapper.html":{}}}],["responseinfo",{"_index":18756,"title":{"classes/ResponseInfo.html":{}},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["responseinfo(res",{"_index":18767,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["responsejson",{"_index":1187,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["responsejson.data.authtoken",{"_index":1189,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["responsejson.data.userid",{"_index":1188,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["responsemapper",{"_index":19525,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{},"controllers/ToolSchoolController.html":{}}}],["responses",{"_index":13019,"title":{},"body":{"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/Meta.html":{},"interfaces/NextcloudGroups.html":{},"classes/OauthClientBody.html":{},"interfaces/OcsResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"interfaces/SuccessfulRes.html":{}}}],["responsetime",{"_index":18747,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["responsetime((req",{"_index":18777,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["responsetoken",{"_index":16899,"title":{},"body":{"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{}}}],["responsetoken.data",{"_index":16994,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["responsetokenobservable",{"_index":16987,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["responsetype",{"_index":10401,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["responsibilities",{"_index":25590,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["responsibility",{"_index":25419,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["responsible",{"_index":25045,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["ressouces",{"_index":26060,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["ressource",{"_index":26061,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["ressources",{"_index":22956,"title":{},"body":{"injectables/ToolPermissionHelper.html":{},"additional-documentation/nestjs-application.html":{}}}],["resssource",{"_index":25278,"title":{},"body":{"todo.html":{}}}],["rest",{"_index":9744,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["restart",{"_index":23420,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["restarted",{"_index":23422,"title":{},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["restartmigration",{"_index":18830,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationService.html":{}}}],["restartmigration(@currentuser",{"_index":23493,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["restartmigration(currentuser",{"_index":23443,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["restartmigration(userid",{"_index":18831,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{}}}],["restartmigration(userloginmigration",{"_index":23655,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["restartuserloginmigrationuc",{"_index":18828,"title":{"injectables/RestartUserLoginMigrationUc.html":{}},"body":{"injectables/RestartUserLoginMigrationUc.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{}}}],["restmethod",{"_index":25902,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["restore",{"_index":19324,"title":{},"body":{"injectables/S3ClientAdapter.html":{},"controllers/TaskController.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["restore(@param",{"_index":21425,"title":{},"body":{"controllers/TaskController.html":{}}}],["restore(paths",{"_index":19347,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["restore(urlparams",{"_index":21400,"title":{},"body":{"controllers/TaskController.html":{}}}],["restored",{"_index":25788,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["restoreforuser(user",{"_index":21367,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["restricted",{"_index":7004,"title":{},"body":{"injectables/ContextExternalToolService.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LibraryName.html":{},"injectables/NewsUc.html":{},"classes/Path.html":{}}}],["restrictedcontextmismatchloggable",{"_index":7003,"title":{"classes/RestrictedContextMismatchLoggable.html":{}},"body":{"injectables/ContextExternalToolService.html":{},"classes/RestrictedContextMismatchLoggable.html":{}}}],["restrictedcontextmismatchloggable(externaltool.name",{"_index":7020,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["restricting",{"_index":24836,"title":{},"body":{"license.html":{}}}],["restriction",{"_index":25006,"title":{},"body":{"license.html":{}}}],["restrictions",{"_index":18847,"title":{},"body":{"classes/RestrictedContextMismatchLoggable.html":{},"license.html":{}}}],["restricttocontexts",{"_index":10069,"title":{},"body":{"classes/ExternalTool.html":{},"classes/ExternalToolCreateParams.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["result",{"_index":141,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/AccountRepo.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationHelper.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardNodeRepo.html":{},"classes/BoardResponseMapper.html":{},"controllers/CardController.html":{},"classes/CardResponseMapper.html":{},"injectables/CardUc.html":{},"classes/ColumnResponseMapper.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/CopyFilesService.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyUC.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"classes/ExternalToolElementResponseMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/FileElementResponseMapper.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/GridElement.html":{},"controllers/H5PEditorController.html":{},"interfaces/IGridElement.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"entities/InstalledLibrary.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LegacyLogger.html":{},"controllers/LessonController.html":{},"injectables/LessonRule.html":{},"classes/LibraryName.html":{},"classes/LinkElementResponseMapper.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/NewsScope.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PseudonymService.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RichTextElementResponseMapper.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/S3ClientAdapter.html":{},"injectables/ShareTokenUC.html":{},"classes/StringValidator.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRule.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"controllers/UserController.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["result.builder.ts",{"_index":9103,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["result.builder.ts:14",{"_index":9110,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["result.builder.ts:18",{"_index":9109,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["result.builder.ts:4",{"_index":9107,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["result.content",{"_index":20743,"title":{},"body":{"classes/SubmissionContainerElementResponseMapper.html":{}}}],["result.dto.ts",{"_index":19643,"title":{},"body":{"classes/ScanResultDto.html":{}}}],["result.dto.ts:4",{"_index":19645,"title":{},"body":{"classes/ScanResultDto.html":{}}}],["result.dto.ts:6",{"_index":19644,"title":{},"body":{"classes/ScanResultDto.html":{}}}],["result.elements",{"_index":18463,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["result.image?.url",{"_index":16197,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["result.push",{"_index":14618,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["result.push(room",{"_index":8507,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["result.query",{"_index":20115,"title":{},"body":{"classes/Scope.html":{}}}],["result.reduce((alloweddos",{"_index":4524,"title":{},"body":{"injectables/CardUc.html":{}}}],["result.success",{"_index":8938,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["result.ts",{"_index":9100,"title":{},"body":{"interfaces/DeletionExecutionTriggerResult.html":{}}}],["result?.length",{"_index":144,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["result[sortby",{"_index":13993,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["resultelement",{"_index":8487,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["resulting",{"_index":24702,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["resultmap",{"_index":18391,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["results",{"_index":103,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"modules/AccountApiModule.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"interfaces/AccountConfig.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthCodeFailureLoggableException.html":{},"modules/AuthenticationApiModule.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"modules/AuthorizationModule.html":{},"classes/AuthorizationParams.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"modules/BoardApiModule.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"modules/ClassModule.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"modules/CoreModule.html":{},"interfaces/CoreModuleConfig.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"modules/ErrorModule.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FeathersError.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{},"classes/FileUrlParams.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"modules/GroupModule.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"interfaces/IdentityManagementConfig.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/InterceptorConfig.html":{},"modules/InterceptorModule.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"injectables/JwtAuthGuard.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Learnroom.html":{},"modules/LearnroomApiModule.html":{},"interfaces/LearnroomElement.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/LessonApiModule.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"modules/LessonModule.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"modules/NewsModule.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthApiModule.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"classes/ProvisioningDto.html":{},"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"modules/PseudonymModule.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"modules/RocketChatUserModule.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"modules/RoleModule.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"modules/TaskApiModule.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"modules/TaskModule.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawClientModule.html":{},"interfaces/TldrawConfig.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"interfaces/ToolVersion.html":{},"injectables/ToolVersionService.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"modules/UserApiModule.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"modules/ValidationModule.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"properties.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/api-design.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["results.foreach((result",{"_index":8937,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["results.map((account",{"_index":14771,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["results.push(mapped",{"_index":9706,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["results[1",{"_index":147,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["resultuser",{"_index":23829,"title":{},"body":{"injectables/UserRepo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["ret",{"_index":14783,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/LegacySchoolService.html":{}}}],["ret.attdbcaccountid",{"_index":14791,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["ret.attdbcsystemid",{"_index":14787,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["ret.attdbcuserid",{"_index":14789,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["retaccountid",{"_index":14829,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["retains",{"_index":24963,"title":{},"body":{"license.html":{}}}],["retried",{"_index":4867,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["retrieve",{"_index":16454,"title":{},"body":{"controllers/NewsController.html":{}}}],["retrieving",{"_index":9504,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["retry",{"_index":4865,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["retrycount",{"_index":4853,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["retrydelay",{"_index":4854,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["retryflags",{"_index":4862,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["retryoptions",{"_index":4852,"title":{"interfaces/RetryOptions.html":{}},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["return",{"_index":148,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"controllers/AccountController.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponseMapper.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"interfaces/AuthorizableObject.html":{},"classes/AuthorizationContextBuilder.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"entities/Board.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskStatusMapper.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSourceOptions.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ConverterUtil.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"interfaces/CreateJwtParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameterFactory.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DrawingElement.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorMapper.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElement.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadataMapper.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileResponseBuilder.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/ForbiddenLoggableException.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElement.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/LocalStrategy.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfigMissingLoggableException.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"controllers/PseudonymController.html":{},"classes/PseudonymMapper.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RichTextElement.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.html":{},"classes/ServerConsole.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/ShareToken.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/SortHelper.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerElement.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoMapper.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/TldrawRepo.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchMapper.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"controllers/UserController.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchMapper.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationErrorLoggableException.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/WsSharedDocDo.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["returncode",{"_index":2151,"title":{},"body":{"interfaces/BBBBaseResponse.html":{}}}],["returned",{"_index":534,"title":{},"body":{"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"classes/BaseFactory.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"injectables/DeletionClient.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/ListOauthClientsParams.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"controllers/SystemController.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"controllers/UserLoginMigrationController.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["returned.'})@apiokresponse({description",{"_index":23436,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["returnedfiles",{"_index":19416,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["returning",{"_index":7119,"title":{},"body":{"classes/CopyApiResponse.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["returns",{"_index":35,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"controllers/AccountController.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponseMapper.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerTestModule.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"modules/AntivirusModule.html":{},"injectables/AntivirusService.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"injectables/AuthenticationService.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorLoggable.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskStatusMapper.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ConsoleWriterService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ConverterUtil.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomParameterFactory.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"classes/DeletionLogMapper.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadataMapper.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementResponseMapper.html":{},"classes/FileParamBuilder.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordMapper.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileResponseBuilder.html":{},"controllers/FileSecurityController.html":{},"injectables/FileSystemAdapter.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"injectables/H5PContentRepo.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/ILegacyLogger.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/JwtExtractor.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"controllers/LessonController.html":{},"injectables/LessonCopyUC.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElement.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/LtiRoleMapper.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"modules/MailModule.html":{},"injectables/MailService.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsMapper.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfigMissingLoggableException.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"injectables/PermissionService.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"controllers/PseudonymController.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedUserMapper.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementResponseMapper.html":{},"modules/RocketChatModule.html":{},"classes/RocketChatUser.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.html":{},"classes/ServerConsole.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/SortHelper.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionMapper.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoMapper.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"controllers/TeamNewsController.html":{},"injectables/TeamPermissionsMapper.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"injectables/TldrawBoardRepo.html":{},"controllers/TldrawController.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchMapper.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"interfaces/ToolVersion.html":{},"injectables/ToolVersionService.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"interfaces/UrlHandler.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserAndAccountTestFactory.html":{},"controllers/UserController.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserInfoMapper.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchMapper.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorLoggableException.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/WsSharedDocDo.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["retvalue",{"_index":25711,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["reuse",{"_index":6226,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["reused",{"_index":25543,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["revalidate",{"_index":22809,"title":{},"body":{"controllers/ToolController.html":{}}}],["revert.service.ts",{"_index":23618,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{}}}],["revert.service.ts:14",{"_index":23622,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{}}}],["revert.service.ts:8",{"_index":23620,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{}}}],["reverted",{"_index":23426,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["revertpublished",{"_index":21385,"title":{},"body":{"controllers/TaskController.html":{},"injectables/TaskUC.html":{}}}],["revertpublished(urlparams",{"_index":21403,"title":{},"body":{"controllers/TaskController.html":{}}}],["revertpublished(userid",{"_index":21803,"title":{},"body":{"injectables/TaskUC.html":{}}}],["revertuserloginmigration",{"_index":23619,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{}}}],["revertuserloginmigration(userloginmigration",{"_index":23621,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{}}}],["review",{"_index":25851,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["reviewers",{"_index":24633,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["reviewing",{"_index":25190,"title":{},"body":{"license.html":{}}}],["revised",{"_index":25146,"title":{},"body":{"license.html":{}}}],["revokeconsentparams",{"_index":17291,"title":{"classes/RevokeConsentParams.html":{}},"body":{"controllers/OauthProviderController.html":{},"classes/RevokeConsentParams.html":{}}}],["revokeconsentsession",{"_index":17261,"title":{},"body":{"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{}}}],["revokeconsentsession(@currentuser",{"_index":17352,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["revokeconsentsession(currentuser",{"_index":17290,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["revokeconsentsession(user",{"_index":17469,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["revokeconsentsession(userid",{"_index":17483,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["revokematch",{"_index":13860,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["rewindsequence",{"_index":513,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["rfc6749",{"_index":17021,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["rfp",{"_index":9293,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["rich",{"_index":3127,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"classes/RichText.html":{}}}],["richtext",{"_index":18851,"title":{"classes/RichText.html":{}},"body":{"classes/RichText.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"classes/TaskResponse.html":{}}}],["richtextcontentbody",{"_index":6449,"title":{"classes/RichTextContentBody.html":{}},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["richtextelement",{"_index":3115,"title":{"classes/RichTextElement.html":{}},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/ColumnBoardService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemUc.html":{}}}],["richtextelement.id",{"_index":18578,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["richtextelement.inputformat",{"_index":6479,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["richtextelement.text",{"_index":6476,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["richtextelementcontent",{"_index":18883,"title":{"classes/RichTextElementContent.html":{}},"body":{"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{}}}],["richtextelementcontentbody",{"_index":9573,"title":{"classes/RichTextElementContentBody.html":{}},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["richtextelementnode",{"_index":3464,"title":{"entities/RichTextElementNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{}}}],["richtextelementnodefactory",{"_index":3806,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["richtextelementnodefactory.build",{"_index":3829,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["richtextelementnodeprops",{"_index":18893,"title":{"interfaces/RichTextElementNodeProps.html":{}},"body":{"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{}}}],["richtextelementprops",{"_index":18881,"title":{"interfaces/RichTextElementProps.html":{}},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["richtextelementresponse",{"_index":4020,"title":{"classes/RichTextElementResponse.html":{}},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CardResponse.html":{},"classes/ContentElementResponseFactory.html":{},"controllers/ElementController.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionItemResponse.html":{}}}],["richtextelementresponsemapper",{"_index":6384,"title":{"classes/RichTextElementResponseMapper.html":{}},"body":{"classes/ContentElementResponseFactory.html":{},"classes/RichTextElementResponseMapper.html":{}}}],["richtextelementresponsemapper.getinstance",{"_index":6368,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["richtextelementresponsemapper.instance",{"_index":18907,"title":{},"body":{"classes/RichTextElementResponseMapper.html":{}}}],["richtext})@decodehtmlentities",{"_index":21692,"title":{},"body":{"classes/TaskResponse.html":{}}}],["rid",{"_index":5415,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["right",{"_index":24957,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["rights",{"_index":24686,"title":{},"body":{"license.html":{}}}],["rimraf",{"_index":12074,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"dependencies.html":{}}}],["rimraf.sync(folderpath",{"_index":12089,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["risk",{"_index":25164,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["rmq",{"_index":12594,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["ro",{"_index":1073,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["rocket",{"_index":18914,"title":{},"body":{"modules/RocketChatModule.html":{},"classes/RocketChatUserFactory.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rocket.chat",{"_index":25923,"title":{"additional-documentation/nestjs-application/rocket.chat.html":{}},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rocket_chat",{"_index":19672,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["rocket_chat_admin_password=huhudbildungscloud",{"_index":25973,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rocket_chat_admin_user=admin",{"_index":25972,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rocket_chat_options",{"_index":18916,"title":{},"body":{"modules/RocketChatModule.html":{}}}],["rocket_chat_uri=\"http://localhost:3000",{"_index":25971,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rocketchat",{"_index":1082,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rocketchat_service_enabled=true",{"_index":25970,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rocketchaterror",{"_index":1079,"title":{"classes/RocketChatError.html":{}},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["rocketchaterror(e",{"_index":1174,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["rocketchaterror.prototype",{"_index":1099,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["rocketchatgroupmodel",{"_index":1064,"title":{"interfaces/RocketChatGroupModel.html":{}},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["rocketchatmodule",{"_index":8976,"title":{"modules/RocketChatModule.html":{}},"body":{"modules/DeletionApiModule.html":{},"modules/RocketChatModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["rocketchatmodule.forroot",{"_index":8993,"title":{},"body":{"modules/DeletionApiModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["rocketchatoptions",{"_index":1059,"title":{"interfaces/RocketChatOptions.html":{}},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{}}}],["rocketchatservice",{"_index":1108,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{}}}],["rocketchatuser",{"_index":18917,"title":{"classes/RocketChatUser.html":{}},"body":{"classes/RocketChatUser.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{}}}],["rocketchatuserentity",{"_index":18935,"title":{"entities/RocketChatUserEntity.html":{}},"body":{"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{}}}],["rocketchatuserentityfactory",{"_index":18950,"title":{},"body":{"classes/RocketChatUserFactory.html":{}}}],["rocketchatuserentityprops",{"_index":18941,"title":{"interfaces/RocketChatUserEntityProps.html":{}},"body":{"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{}}}],["rocketchatuserfactory",{"_index":18947,"title":{"classes/RocketChatUserFactory.html":{}},"body":{"classes/RocketChatUserFactory.html":{}}}],["rocketchatuserfactory.define(rocketchatuserentity",{"_index":18951,"title":{},"body":{"classes/RocketChatUserFactory.html":{}}}],["rocketchatusermapper",{"_index":18953,"title":{"classes/RocketChatUserMapper.html":{}},"body":{"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{}}}],["rocketchatusermapper.maptodo(entity",{"_index":18982,"title":{},"body":{"injectables/RocketChatUserRepo.html":{}}}],["rocketchatusermodule",{"_index":8977,"title":{"modules/RocketChatUserModule.html":{}},"body":{"modules/DeletionApiModule.html":{},"modules/RocketChatUserModule.html":{}}}],["rocketchatuserprops",{"_index":18931,"title":{"interfaces/RocketChatUserProps.html":{}},"body":{"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{}}}],["rocketchatuserrepo",{"_index":18970,"title":{"injectables/RocketChatUserRepo.html":{}},"body":{"modules/RocketChatUserModule.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{}}}],["rocketchatusers",{"_index":18942,"title":{},"body":{"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["rocketchatuserservice",{"_index":18969,"title":{"injectables/RocketChatUserService.html":{}},"body":{"modules/RocketChatUserModule.html":{},"injectables/RocketChatUserService.html":{}}}],["role",{"_index":331,"title":{"entities/Role.html":{}},"body":{"controllers/AccountController.html":{},"injectables/AuthorizationHelper.html":{},"classes/BBBJoinConfig.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"classes/BaseUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"classes/CurrentUserMapper.html":{},"classes/FilterImportUserParams.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"classes/GroupDomainMapper.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IImportUserScope.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"injectables/JwtStrategy.html":{},"classes/LdapConfigEntity.html":{},"interfaces/NameMatch.html":{},"injectables/NextcloudStrategy.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"injectables/PermissionService.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"entities/Role.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRolePermissionsDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserFactory.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["role.entity",{"_index":21887,"title":{},"body":{"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["role.factory",{"_index":23386,"title":{},"body":{"classes/UserFactory.html":{}}}],["role.id",{"_index":8065,"title":{},"body":{"classes/CurrentUserMapper.html":{},"injectables/OidcProvisioningService.html":{},"classes/ResolvedUserMapper.html":{},"injectables/UserDORepo.html":{},"classes/UserMapper.html":{}}}],["role.mapper.ts",{"_index":15922,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["role.mapper.ts:13",{"_index":15925,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["role.name",{"_index":5010,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/FeathersRosterService.html":{},"injectables/OidcProvisioningService.html":{},"classes/ResolvedUserMapper.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserMatchMapper.html":{},"interfaces/UserMetdata.html":{}}}],["role.params",{"_index":5061,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["role.params.ts",{"_index":21961,"title":{},"body":{"classes/TeamRoleDto.html":{}}}],["role.params.ts:11",{"_index":21962,"title":{},"body":{"classes/TeamRoleDto.html":{}}}],["role.params.ts:7",{"_index":21963,"title":{},"body":{"classes/TeamRoleDto.html":{}}}],["role.resolvepermissions",{"_index":1827,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["role.roles.isinitialized(true",{"_index":22040,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["roleadmin",{"_index":14994,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["roleattributenamemapping",{"_index":14991,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["roledto",{"_index":4979,"title":{"classes/RoleDto.html":{}},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/OidcProvisioningService.html":{},"classes/ResolvedGroupUser.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/UserService.html":{}}}],["roledtos",{"_index":19068,"title":{},"body":{"injectables/RoleService.html":{}}}],["rolefactory",{"_index":22011,"title":{},"body":{"classes/TeamUserFactory.html":{},"classes/UserFactory.html":{}}}],["rolefactory.build",{"_index":22015,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["rolefactory.buildwithid",{"_index":22017,"title":{},"body":{"classes/TeamUserFactory.html":{},"classes/UserFactory.html":{}}}],["roleid",{"_index":5096,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"classes/GroupDomainMapper.html":{},"classes/GroupUser.html":{},"injectables/OidcProvisioningService.html":{},"classes/TeamDto.html":{},"injectables/TeamMapper.html":{},"classes/TeamRoleDto.html":{},"classes/TeamUserDto.html":{}}}],["roleids",{"_index":23349,"title":{},"body":{"classes/UserDto.html":{},"classes/UserMapper.html":{}}}],["rolemapper",{"_index":19010,"title":{"classes/RoleMapper.html":{}},"body":{"classes/RoleMapper.html":{},"injectables/RoleService.html":{}}}],["rolemapper.mapfromentitiestodtos(entities",{"_index":19075,"title":{},"body":{"injectables/RoleService.html":{}}}],["rolemapper.mapfromentitiestodtos(roles",{"_index":19073,"title":{},"body":{"injectables/RoleService.html":{}}}],["rolemapper.mapfromentitytodto(entity",{"_index":19071,"title":{},"body":{"injectables/RoleService.html":{}}}],["rolemapping",{"_index":15927,"title":{},"body":{"classes/LtiRoleMapper.html":{},"injectables/SanisResponseMapper.html":{}}}],["rolemapping[rolename",{"_index":15935,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["rolemapping[source.personenkontexte[0].rolle",{"_index":19620,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["rolemodule",{"_index":1524,"title":{"modules/RoleModule.html":{}},"body":{"modules/AuthenticationModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/GroupApiModule.html":{},"modules/ProvisioningModule.html":{},"modules/RoleModule.html":{},"modules/UserModule.html":{}}}],["rolename",{"_index":5009,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersRosterService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUserResponse.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/LtiRoleMapper.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"classes/TeamRolePermissionsDto.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserMatchMapper.html":{},"interfaces/UserMetdata.html":{}}}],["rolename.administrator",{"_index":13829,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"classes/LtiRoleMapper.html":{},"classes/RoleNameMapper.html":{},"injectables/SanisResponseMapper.html":{},"classes/UserFactory.html":{}}}],["rolename.enum",{"_index":26067,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["rolename.student",{"_index":11369,"title":{},"body":{"injectables/FeathersRosterService.html":{},"classes/GroupUcMapper.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"classes/LtiRoleMapper.html":{},"classes/RoleNameMapper.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/UserData.html":{},"classes/UserFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["rolename.superhero",{"_index":15932,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["rolename.teacher",{"_index":11368,"title":{},"body":{"injectables/FeathersRosterService.html":{},"classes/GroupUcMapper.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"classes/LtiRoleMapper.html":{},"classes/RoleNameMapper.html":{},"injectables/RoleService.html":{},"injectables/SanisResponseMapper.html":{},"interfaces/UserData.html":{},"classes/UserFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["rolename.user",{"_index":15928,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["rolenamemapper",{"_index":13989,"title":{"classes/RoleNameMapper.html":{}},"body":{"classes/ImportUserMapper.html":{},"classes/RoleNameMapper.html":{}}}],["rolenamemapper.maptodomain(query.role",{"_index":14016,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["rolenamemapper.maptoresponse(role",{"_index":13999,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["rolenames",{"_index":13809,"title":{},"body":{"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/LtiRoleMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{}}}],["rolenames.map((rolename",{"_index":15934,"title":{},"body":{"classes/LtiRoleMapper.html":{}}}],["rolenosc",{"_index":14995,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["rolepermissions",{"_index":23180,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["roleproperties",{"_index":18997,"title":{"interfaces/RoleProperties.html":{}},"body":{"entities/Role.html":{},"interfaces/RoleProperties.html":{}}}],["roleref",{"_index":23940,"title":{},"body":{"injectables/UserService.html":{}}}],["roleref.id",{"_index":8068,"title":{},"body":{"classes/CurrentUserMapper.html":{},"injectables/UserDORepo.html":{},"injectables/UserService.html":{}}}],["roleref.name",{"_index":14277,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["rolereference",{"_index":8062,"title":{"classes/RoleReference.html":{}},"body":{"classes/CurrentUserMapper.html":{},"injectables/FeathersRosterService.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"classes/RoleReference.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"injectables/UserService.html":{}}}],["rolerefs",{"_index":17629,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["rolerepo",{"_index":19025,"title":{"injectables/RoleRepo.html":{}},"body":{"modules/RoleModule.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{}}}],["roles",{"_index":3388,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/ExternalUserDto.html":{},"interfaces/ICurrentUser.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/IservMapper.html":{},"interfaces/JwtPayload.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PermissionService.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"injectables/RoleService.html":{},"injectables/SanisResponseMapper.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"entities/User.html":{},"interfaces/UserBoardRoles.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["roles.foreach((role",{"_index":23179,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["roles.length",{"_index":17681,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["roles.map((role",{"_index":17632,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"classes/ResolvedUserMapper.html":{}}}],["roles.map(async",{"_index":22039,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["roles[0].id",{"_index":17682,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["rolesandpermissions",{"_index":17801,"title":{},"body":{"injectables/PermissionService.html":{}}}],["roleservice",{"_index":5082,"title":{"injectables/RoleService.html":{}},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/OidcProvisioningService.html":{},"modules/RoleModule.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/UserService.html":{}}}],["rolestudent",{"_index":14992,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["roleteacher",{"_index":14993,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["roletype",{"_index":14987,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["roleuc",{"_index":19026,"title":{"injectables/RoleUc.html":{}},"body":{"modules/RoleModule.html":{},"injectables/RoleUc.html":{}}}],["rollback",{"_index":19390,"title":{},"body":{"injectables/S3ClientAdapter.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{}}}],["rolle",{"_index":19504,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{}}}],["rollen",{"_index":19484,"title":{},"body":{"classes/SanisGruppenzugehoerigkeitResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["rom",{"_index":24966,"title":{},"body":{"license.html":{}}}],["room",{"_index":8400,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsUc.html":{},"classes/SingleColumnBoardResponse.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["roomboarddto",{"_index":9664,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsUc.html":{}}}],["roomboarddtofactory",{"_index":9737,"title":{"injectables/RoomBoardDTOFactory.html":{}},"body":{"classes/DtoCreator.html":{},"modules/LearnroomApiModule.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsUc.html":{}}}],["roomboardelementdto",{"_index":9662,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["roomboardelementtypes",{"_index":3717,"title":{},"body":{"classes/BoardElementResponse.html":{},"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["roomboardelementtypes.column_board",{"_index":9726,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["roomboardelementtypes.lesson",{"_index":9715,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["roomboardelementtypes.task",{"_index":9711,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{}}}],["roomboardresponsemapper",{"_index":15118,"title":{"injectables/RoomBoardResponseMapper.html":{}},"body":{"modules/LearnroomApiModule.html":{},"injectables/RoomBoardResponseMapper.html":{},"controllers/RoomsController.html":{}}}],["roomelementurlparams",{"_index":19142,"title":{"classes/RoomElementUrlParams.html":{}},"body":{"classes/RoomElementUrlParams.html":{},"controllers/RoomsController.html":{}}}],["roomid",{"_index":1132,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/DtoCreator.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["roomlist",{"_index":8429,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["roomlist.includes(room",{"_index":8499,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["roomname",{"_index":1124,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["rooms",{"_index":8404,"title":{},"body":{"classes/DashboardEntity.html":{},"controllers/RoomsController.html":{}}}],["rooms.authorisation.service",{"_index":9685,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsUc.html":{}}}],["rooms.foreach((room",{"_index":8505,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["rooms.service",{"_index":7627,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["rooms\\/(.*?)\\/board\\/?$/i",{"_index":4135,"title":{},"body":{"injectables/BoardUrlHandler.html":{}}}],["rooms\\/([0",{"_index":7943,"title":{},"body":{"injectables/CourseUrlHandler.html":{}}}],["roomsauthorisationservice",{"_index":9646,"title":{"injectables/RoomsAuthorisationService.html":{}},"body":{"classes/DtoCreator.html":{},"modules/LearnroomApiModule.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RoomsUc.html":{}}}],["roomscontroller",{"_index":15121,"title":{"controllers/RoomsController.html":{}},"body":{"modules/LearnroomApiModule.html":{},"controllers/RoomsController.html":{}}}],["roomsservice",{"_index":7615,"title":{"injectables/RoomsService.html":{}},"body":{"injectables/CourseCopyService.html":{},"modules/LearnroomModule.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{}}}],["roomsuc",{"_index":15119,"title":{"injectables/RoomsUc.html":{}},"body":{"modules/LearnroomApiModule.html":{},"controllers/RoomsController.html":{},"injectables/RoomsUc.html":{}}}],["roomurlparams",{"_index":19145,"title":{"classes/RoomUrlParams.html":{}},"body":{"classes/RoomUrlParams.html":{},"controllers/RoomsController.html":{}}}],["root",{"_index":2546,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/GroupUcMapper.html":{},"modules/ToolLaunchModule.html":{},"controllers/UserController.html":{},"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["rootboarddo",{"_index":3413,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/ColumnBoardService.html":{}}}],["rootboarddo.context?.type",{"_index":3415,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["rooted",{"_index":5969,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["rootid",{"_index":3411,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/ColumnBoardService.html":{}}}],["rootpath",{"_index":14922,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["roster",{"_index":11281,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["roster.service.ts",{"_index":11280,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["roster.service.ts:103",{"_index":11309,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:140",{"_index":11304,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:148",{"_index":11313,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:156",{"_index":11302,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:166",{"_index":11306,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:172",{"_index":11301,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:202",{"_index":11320,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:214",{"_index":11324,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:225",{"_index":11322,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:235",{"_index":11317,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:56",{"_index":11299,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:66",{"_index":11315,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["roster.service.ts:81",{"_index":11311,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["route",{"_index":11223,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"controllers/ServerController.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["route_path",{"_index":18762,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["routename",{"_index":1670,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["routenameinput",{"_index":22137,"title":{},"body":{"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["routepath",{"_index":18735,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["routes",{"_index":24605,"title":{},"body":{"index.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["routingkey",{"_index":1274,"title":{},"body":{"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"interfaces/AntivirusServiceOptions.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{},"interfaces/ScanResult.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["royalty",{"_index":25060,"title":{},"body":{"license.html":{}}}],["rp",{"_index":17126,"title":{},"body":{"interfaces/OauthCurrentUser.html":{}}}],["rpc",{"_index":19269,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["rpcmessage",{"_index":12256,"title":{"interfaces/RpcMessage.html":{}},"body":{"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"classes/GlobalErrorFilter.html":{},"interfaces/IError.html":{},"injectables/PreviewProducer.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{}}}],["rpcmessageproducer",{"_index":12337,"title":{"classes/RpcMessageProducer.html":{}},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{}}}],["rpcmessageproducer:12",{"_index":12350,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{}}}],["rpcmessageproducer:21",{"_index":12346,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{}}}],["rpcmessageproducer:29",{"_index":12348,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{}}}],["rs.initiate({\"_id",{"_index":25932,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rs0",{"_index":25929,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["rs256",{"_index":1573,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{},"injectables/OAuthService.html":{}}}],["rs384",{"_index":1574,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["rs512",{"_index":1575,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["rsa",{"_index":16979,"title":{},"body":{"injectables/OauthAdapterService.html":{},"dependencies.html":{}}}],["rss",{"_index":7821,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"dependencies.html":{}}}],["rule",{"_index":1985,"title":{"interfaces/Rule.html":{}},"body":{"injectables/AuthorizationService.html":{},"injectables/BoardDoRule.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"injectables/GroupRule.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LessonRule.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["rule(val",{"_index":6103,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["rule.haspermission(user",{"_index":1991,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["rule.isapplicable(user",{"_index":19310,"title":{},"body":{"injectables/RuleManager.html":{}}}],["rulemanager",{"_index":1873,"title":{"injectables/RuleManager.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/AuthorizationService.html":{},"injectables/RuleManager.html":{}}}],["rules",{"_index":1885,"title":{},"body":{"modules/AuthorizationModule.html":{},"classes/BaseUc.html":{},"injectables/RuleManager.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["rules.length",{"_index":19312,"title":{},"body":{"injectables/RuleManager.html":{}}}],["rules[0",{"_index":19314,"title":{},"body":{"injectables/RuleManager.html":{}}}],["run",{"_index":11652,"title":{},"body":{"classes/FileMetadata.html":{},"injectables/H5PLibraryManagementService.html":{},"entities/InstalledLibrary.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["runnable",{"_index":11660,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["runner",{"_index":25738,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["running",{"_index":2312,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{},"injectables/TimeoutInterceptor.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["running.'})@apiresponse({status",{"_index":24048,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["runs",{"_index":24595,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["runtime",{"_index":1564,"title":{},"body":{"modules/AuthenticationModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["rxjs",{"_index":1056,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"injectables/DeletionClient.html":{},"injectables/DrawingElementAdapterService.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ExternalToolLogoService.html":{},"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthAdapterService.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/TimeoutInterceptor.html":{},"dependencies.html":{}}}],["rxjs/operators",{"_index":1058,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/TimeoutInterceptor.html":{}}}],["s",{"_index":1751,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/BoardDoRepo.html":{},"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["s3",{"_index":8924,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["s3_client",{"_index":19361,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["s3_config",{"_index":19362,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["s3client",{"_index":8913,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/TemporaryFileStorage.html":{}}}],["s3clientadapter",{"_index":12478,"title":{"injectables/S3ClientAdapter.html":{}},"body":{"injectables/FwuLearningContentsUc.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/TemporaryFileStorage.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["s3clientadapter(s3client",{"_index":19450,"title":{},"body":{"modules/S3ClientModule.html":{}}}],["s3clientadapter:createbucket",{"_index":19370,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["s3clientadapter:deletedirectory",{"_index":19436,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["s3clientadapter:head",{"_index":19429,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["s3clientadapter:listdirectory",{"_index":19413,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["s3clientmap",{"_index":8901,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["s3clientmodule",{"_index":12316,"title":{"modules/S3ClientModule.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/S3ClientModule.html":{}}}],["s3clientmodule.register",{"_index":26103,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["s3clientmodule.register([s3config",{"_index":12329,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["s3clientmodule.register([s3configcontent",{"_index":13276,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{}}}],["s3clientmodule.register([storageconfig",{"_index":17890,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["s3config",{"_index":7245,"title":{"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{}},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/FileStorageConfig.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/PreviewConfig.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"interfaces/PreviewModuleConfig.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["s3configcontent",{"_index":13269,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{}}}],["s3configlibraries",{"_index":13270,"title":{},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{}}}],["safest",{"_index":25203,"title":{},"body":{"license.html":{}}}],["safety",{"_index":24614,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["sale",{"_index":25068,"title":{},"body":{"license.html":{}}}],["salt",{"_index":2333,"title":{},"body":{"injectables/BBBService.html":{},"interfaces/IBbbSettings.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/VideoConferenceConfiguration.html":{}}}],["same",{"_index":2344,"title":{},"body":{"injectables/BBBService.html":{},"injectables/BatchDeletionUc.html":{},"injectables/CommonToolValidationService.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LibraryRepo.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/VideoConferenceCreateParams.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["sameschool",{"_index":11216,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["samesite",{"_index":20238,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["saml",{"_index":25866,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["sample",{"_index":11406,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/ServerConsole.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["samplecontroller",{"_index":25749,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["samples",{"_index":25560,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["sampleservice",{"_index":25750,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["sampleservicemethod(username",{"_index":25638,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["sampleucmethod(user",{"_index":25605,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["sanis",{"_index":19470,"title":{},"body":{"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"injectables/UserLoginMigrationService.html":{},"additional-documentation/nestjs-application.html":{}}}],["sanis_client_id",{"_index":25324,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["sanisanschriftresponse",{"_index":19455,"title":{"classes/SanisAnschriftResponse.html":{}},"body":{"classes/SanisAnschriftResponse.html":{},"classes/SanisOrganisationResponse.html":{}}}],["sanisgeburtresponse",{"_index":19460,"title":{"classes/SanisGeburtResponse.html":{}},"body":{"classes/SanisGeburtResponse.html":{},"classes/SanisPersonResponse.html":{}}}],["sanisgrouprole",{"_index":19485,"title":{},"body":{"classes/SanisGruppenzugehoerigkeitResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["sanisgrouprole.student",{"_index":19606,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisgrouprole.teacher",{"_index":19605,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisgrouptype",{"_index":19467,"title":{},"body":{"classes/SanisGruppeResponse.html":{},"injectables/SanisResponseMapper.html":{}}}],["sanisgrouptype.class",{"_index":19608,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisgruppenresponse",{"_index":19471,"title":{"classes/SanisGruppenResponse.html":{}},"body":{"classes/SanisGruppenResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{}}}],["sanisgruppenzugehoerigkeitresponse",{"_index":19477,"title":{"classes/SanisGruppenzugehoerigkeitResponse.html":{}},"body":{"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{}}}],["sanisgrupperesponse",{"_index":19463,"title":{"classes/SanisGruppeResponse.html":{}},"body":{"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{}}}],["sanisnameresponse",{"_index":19489,"title":{"classes/SanisNameResponse.html":{}},"body":{"classes/SanisNameResponse.html":{},"classes/SanisPersonResponse.html":{}}}],["sanisorganisationresponse",{"_index":19493,"title":{"classes/SanisOrganisationResponse.html":{}},"body":{"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonenkontextResponse.html":{}}}],["sanispersonenkontextresponse",{"_index":19502,"title":{"classes/SanisPersonenkontextResponse.html":{}},"body":{"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{}}}],["sanispersonresponse",{"_index":19500,"title":{"classes/SanisPersonResponse.html":{}},"body":{"classes/SanisPersonResponse.html":{},"classes/SanisResponse.html":{}}}],["sanisprovisioningstrategy",{"_index":18097,"title":{"injectables/SanisProvisioningStrategy.html":{}},"body":{"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["sanisresponse",{"_index":19529,"title":{"classes/SanisResponse.html":{}},"body":{"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{}}}],["sanisresponsemapper",{"_index":18098,"title":{"injectables/SanisResponseMapper.html":{}},"body":{"modules/ProvisioningModule.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{}}}],["sanisresponsevalidationgroups",{"_index":19514,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{}}}],["sanisresponsevalidationgroups.groups",{"_index":19516,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["sanisresponsevalidationgroups.school",{"_index":19517,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{}}}],["sanisresponsevalidationgroups.user",{"_index":19515,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{}}}],["sanisrole",{"_index":19512,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisResponseMapper.html":{}}}],["sanisrole.lehr",{"_index":19600,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisrole.leit",{"_index":19602,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisrole.lern",{"_index":19601,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanisrole.orgadmin",{"_index":19603,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["sanissonstigegruppenzugehoerigeresponse",{"_index":12917,"title":{"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}},"body":{"classes/GroupRoleUnknownLoggable.html":{},"classes/SanisGruppenResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["sanisstrategy",{"_index":18111,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["sanissystem",{"_index":23675,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["sanissystem.id",{"_index":23679,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["sanitize",{"_index":24560,"title":{},"body":{"dependencies.html":{}}}],["sanitizehtml",{"_index":8033,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/PatchGroupParams.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/RenameBodyParams.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/UpdateNewsParams.html":{}}}],["sanitizehtml(inputformat.rich_text",{"_index":8034,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/UpdateNewsParams.html":{}}}],["sanitizehtml(inputformat.rich_text_ck5",{"_index":21520,"title":{},"body":{"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{}}}],["sanitizer",{"_index":25232,"title":{},"body":{"todo.html":{}}}],["sanitizerichtext",{"_index":6443,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RichText.html":{}}}],["sanitizerichtext(content",{"_index":18860,"title":{},"body":{"classes/RichText.html":{}}}],["sanitizerichtext(this.content.alternativetext",{"_index":6458,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["sanitizerichtext(this.content.caption",{"_index":6455,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["sanitizerichtext(this.content.text",{"_index":6477,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["sanitizing",{"_index":25470,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["satisfied",{"_index":11252,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["satisfies",{"_index":368,"title":{},"body":{"controllers/AccountController.html":{}}}],["satisfy",{"_index":11248,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{},"license.html":{}}}],["save",{"_index":18,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardRepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"injectables/SchoolYearRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/VideoConferenceRepo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["save(accountdto",{"_index":63,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountServiceDb.html":{}}}],["save(domainobject",{"_index":2469,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BoardDoRepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/GroupRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["save(entities",{"_index":764,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardRepo.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"injectables/FederalStateRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/MaterialsRepo.html":{},"injectables/NewsRepo.html":{},"injectables/RoleRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserRepo.html":{}}}],["save(group",{"_index":12942,"title":{},"body":{"injectables/GroupService.html":{}}}],["save(school",{"_index":15304,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["save(systemdto",{"_index":15349,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["save(user",{"_index":23915,"title":{},"body":{"injectables/UserService.html":{}}}],["save.dto",{"_index":456,"title":{},"body":{"classes/AccountDto.html":{}}}],["save.dto.ts",{"_index":840,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:13",{"_index":843,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:17",{"_index":851,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:21",{"_index":853,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:26",{"_index":848,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:30",{"_index":850,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:34",{"_index":844,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:38",{"_index":852,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:42",{"_index":849,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:46",{"_index":847,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:50",{"_index":845,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:54",{"_index":842,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:57",{"_index":841,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.dto.ts:9",{"_index":846,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["save.visitor",{"_index":3626,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["save.visitor.ts",{"_index":18529,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:100",{"_index":18551,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:114",{"_index":18552,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:130",{"_index":18553,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:144",{"_index":18549,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:157",{"_index":18554,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:170",{"_index":18555,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:183",{"_index":18550,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:199",{"_index":18546,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:206",{"_index":18540,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:214",{"_index":18543,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:220",{"_index":18537,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:41",{"_index":18535,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:45",{"_index":18541,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:59",{"_index":18548,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:73",{"_index":18547,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["save.visitor.ts:86",{"_index":18544,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["saveall",{"_index":2442,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserService.html":{},"injectables/VideoConferenceRepo.html":{}}}],["saveall(domainobjects",{"_index":2471,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["saveall(users",{"_index":23917,"title":{},"body":{"injectables/UserService.html":{}}}],["saveallusersmatches",{"_index":13869,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["saveallusersmatches(@currentuser",{"_index":13938,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["saveallusersmatches(currentuser",{"_index":13886,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["savecontextexternaltool",{"_index":6983,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["savecontextexternaltool(contextexternaltool",{"_index":7001,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["saved",{"_index":11060,"title":{},"body":{"injectables/ExternalToolUc.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["savedcontextexternaltool",{"_index":7012,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["saveddomainobject",{"_index":10613,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/GroupRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["saveddomainobjects",{"_index":2480,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["saveddomainobjects[0",{"_index":2482,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["savedentity",{"_index":12851,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["savedgroup",{"_index":12951,"title":{},"body":{"injectables/GroupService.html":{}}}],["savedpassword",{"_index":15694,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["savedprops",{"_index":12854,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["savedschool",{"_index":17625,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["saveduser",{"_index":17648,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"injectables/UserService.html":{}}}],["saveduser.id",{"_index":17651,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["savedusers",{"_index":23932,"title":{},"body":{"injectables/UserService.html":{}}}],["savefile",{"_index":22066,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["savefile(filename",{"_index":22084,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["saveh5pcontent",{"_index":13119,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["saveh5pcontent(body",{"_index":13159,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["saveh5peditorparams",{"_index":12536,"title":{"classes/SaveH5PEditorParams.html":{}},"body":{"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"controllers/H5PEditorController.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/SaveH5PEditorParams.html":{}}}],["saverecursive",{"_index":18533,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["saverecursive(boardnode",{"_index":18542,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["saveresponse",{"_index":13235,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["saveschoolexternaltool",{"_index":19828,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["saveschoolexternaltool(schoolexternaltool",{"_index":19841,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["saveuninitialized",{"_index":20230,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["savevisitor",{"_index":3655,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["savevisitor.save(domainobject",{"_index":3658,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["savewithoutflush",{"_index":732,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/UserRepo.html":{}}}],["savewithoutflush(account",{"_index":750,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["savewithoutflush(user",{"_index":23825,"title":{},"body":{"injectables/UserRepo.html":{}}}],["saying",{"_index":24914,"title":{},"body":{"license.html":{}}}],["sc",{"_index":4243,"title":{},"body":{"interfaces/CalendarEvent.html":{},"injectables/CalendarMapper.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"index.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["sc_api_response_time_in_seconds",{"_index":18775,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["sc_domain",{"_index":20133,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["sc_theme",{"_index":5533,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["scan",{"_index":11883,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["scanned",{"_index":11778,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/ParentInfo.html":{}}}],["scanresult",{"_index":1290,"title":{"interfaces/ScanResult.html":{}},"body":{"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["scanresult.error",{"_index":1327,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["scanresult.reason",{"_index":11878,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["scanresult.status",{"_index":11877,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["scanresult.virus_detected",{"_index":1324,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["scanresult.virus_signature",{"_index":1325,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["scanresultdto",{"_index":11866,"title":{"classes/ScanResultDto.html":{}},"body":{"classes/FileRecordMapper.html":{},"controllers/FileSecurityController.html":{},"classes/ScanResultDto.html":{}}}],["scanresultparams",{"_index":7218,"title":{"classes/ScanResultParams.html":{}},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"controllers/FileSecurityController.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["scanresultparams.error",{"_index":11882,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["scanresultparams.virus_detected",{"_index":11876,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["scanresultparams.virus_signature",{"_index":11879,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["scans",{"_index":5215,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["scanstatus",{"_index":7145,"title":{},"body":{"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"classes/ScanResultDto.html":{}}}],["scanstatus.blocked",{"_index":11819,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["scanstatus.error",{"_index":11822,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["scanstatus.pending",{"_index":11777,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["scanstatus.verified",{"_index":11828,"title":{},"body":{"entities/FileRecord.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["scanstatus.wont_check",{"_index":11825,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["scdomain",{"_index":14579,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["scenario",{"_index":25695,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["scenarios",{"_index":25686,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["schema",{"_index":4002,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"classes/CommonCartridgeMetadataElement.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"controllers/ElementController.html":{},"classes/UsersList.html":{},"index.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["schema.ts",{"_index":25532,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["schemas",{"_index":25533,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["schemaversion",{"_index":5941,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["school",{"_index":703,"title":{},"body":{"interfaces/AccountParams.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BoardDoCopyService.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"entities/ContextExternalToolEntity.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"interfaces/CopyFileDO.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"interfaces/CreateNews.html":{},"interfaces/EntityWithSchool.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolMetadataService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/FeathersAuthProvider.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"modules/GroupApiModule.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/LdapAlreadyPersistedException.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"modules/OauthModule.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/ParentInfo.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"injectables/PseudonymUc.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolExternalToolProperties.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"injectables/SchoolExternalToolService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/SchoolValidationService.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenDO.html":{},"injectables/StartUserLoginMigrationUc.html":{},"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"interfaces/TaskCreate.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"modules/ToolApiModule.html":{},"controllers/ToolConfigurationController.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolLaunchService.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceService.html":{},"controllers/ToolSchoolController.html":{},"injectables/ToolVersionService.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"injectables/UserDORepo.html":{},"classes/UserFactory.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationIsNotEnabled.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"modules/VideoConferenceModule.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["school'})@apiokresponse({description",{"_index":22627,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["school(params",{"_index":26023,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["school(value",{"_index":21893,"title":{},"body":{"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["school._id",{"_index":14140,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["school.controller.ts",{"_index":23045,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["school.controller.ts:106",{"_index":23054,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["school.controller.ts:126",{"_index":23050,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["school.controller.ts:152",{"_index":23057,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["school.controller.ts:51",{"_index":23064,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["school.controller.ts:66",{"_index":23060,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["school.controller.ts:84",{"_index":23068,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["school.do.ts",{"_index":15175,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:11",{"_index":15184,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:13",{"_index":15185,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:15",{"_index":15188,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:17",{"_index":15186,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:19",{"_index":15187,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:21",{"_index":15190,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:23",{"_index":15183,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:26",{"_index":15189,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:28",{"_index":15191,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:31",{"_index":15180,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.do.ts:9",{"_index":15181,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["school.dto",{"_index":17136,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["school.dto.ts",{"_index":10032,"title":{},"body":{"classes/ExternalSchoolDto.html":{}}}],["school.dto.ts:2",{"_index":10035,"title":{},"body":{"classes/ExternalSchoolDto.html":{}}}],["school.dto.ts:4",{"_index":10036,"title":{},"body":{"classes/ExternalSchoolDto.html":{}}}],["school.dto.ts:6",{"_index":10037,"title":{},"body":{"classes/ExternalSchoolDto.html":{}}}],["school.dto.ts:8",{"_index":10034,"title":{},"body":{"classes/ExternalSchoolDto.html":{}}}],["school.entity",{"_index":7494,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{}}}],["school.externalid",{"_index":19990,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["school.factory",{"_index":7706,"title":{},"body":{"classes/CourseFactory.html":{},"classes/ImportUserFactory.html":{},"classes/SubmissionFactory.html":{},"classes/TaskFactory.html":{},"classes/UserFactory.html":{}}}],["school.factory.ts",{"_index":15209,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["school.features",{"_index":15307,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.features.filter((f",{"_index":15309,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.features.includes(feature",{"_index":15308,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.features?.includes(schoolfeatures.oauth_provisioning_enabled",{"_index":16897,"title":{},"body":{"injectables/OAuthService.html":{}}}],["school.id",{"_index":20081,"title":{},"body":{"injectables/SchoolValidationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["school.module.ts",{"_index":15234,"title":{},"body":{"modules/LegacySchoolModule.html":{}}}],["school.name",{"_index":17616,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["school.officialschoolnumber",{"_index":2072,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SchoolValidationService.html":{},"injectables/StartUserLoginMigrationUc.html":{}}}],["school.previousexternalid",{"_index":15107,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/SchoolMigrationService.html":{}}}],["school.previousexternalid}/${username}`.tolowercase",{"_index":15111,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["school.repo.ts",{"_index":15237,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["school.repo.ts:14",{"_index":15240,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["school.repo.ts:19",{"_index":15247,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["school.repo.ts:23",{"_index":15242,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["school.repo.ts:30",{"_index":15244,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["school.rule.ts",{"_index":15280,"title":{},"body":{"injectables/LegacySchoolRule.html":{}}}],["school.rule.ts:12",{"_index":15281,"title":{},"body":{"injectables/LegacySchoolRule.html":{}}}],["school.rule.ts:15",{"_index":15283,"title":{},"body":{"injectables/LegacySchoolRule.html":{}}}],["school.rule.ts:21",{"_index":15282,"title":{},"body":{"injectables/LegacySchoolRule.html":{}}}],["school.schoolyear",{"_index":23293,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["school.service.ts",{"_index":15285,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.service.ts:12",{"_index":15292,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.service.ts:18",{"_index":15301,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.service.ts:23",{"_index":15303,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.service.ts:31",{"_index":15296,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.service.ts:37",{"_index":15294,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.service.ts:43",{"_index":15298,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.service.ts:49",{"_index":15305,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school.systems",{"_index":15085,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["school.systems.includes(systemid",{"_index":15086,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/OidcProvisioningService.html":{}}}],["school.systems.includes(targetsystemid",{"_index":19991,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["school.systems.push(systemid",{"_index":17620,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["school.systems.push(targetsystemid",{"_index":19992,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["school.systems?.filter((systemid",{"_index":23678,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["school.userloginmigration",{"_index":23536,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["school/legacy",{"_index":15233,"title":{},"body":{"modules/LegacySchoolModule.html":{}}}],["school/loggable/school",{"_index":20029,"title":{},"body":{"classes/SchoolNumberDuplicateLoggableException.html":{}}}],["school/repo/schoolyear.repo.ts",{"_index":20091,"title":{},"body":{"injectables/SchoolYearRepo.html":{}}}],["school/repo/schoolyear.repo.ts:11",{"_index":20093,"title":{},"body":{"injectables/SchoolYearRepo.html":{}}}],["school/repo/schoolyear.repo.ts:7",{"_index":20094,"title":{},"body":{"injectables/SchoolYearRepo.html":{}}}],["school/service/federal",{"_index":11427,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["school/service/legacy",{"_index":15284,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["school/service/school",{"_index":20096,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["school/service/validation/school",{"_index":20071,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["school/types",{"_index":17610,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["school?.id",{"_index":16340,"title":{},"body":{"injectables/MigrationCheckService.html":{},"injectables/OidcProvisioningStrategy.html":{}}}],["school_in_migration",{"_index":19921,"title":{},"body":{"classes/SchoolInMigrationLoggableException.html":{}}}],["school_login_migration_database_operation_failed",{"_index":19950,"title":{},"body":{"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{}}}],["school_migration_failed",{"_index":20038,"title":{},"body":{"classes/SchoolNumberMismatchLoggableException.html":{}}}],["school_number_duplicate",{"_index":20032,"title":{},"body":{"classes/SchoolNumberDuplicateLoggableException.html":{}}}],["school_number_missing",{"_index":20043,"title":{},"body":{"classes/SchoolNumberMissingLoggableException.html":{}}}],["schooldo",{"_index":14232,"title":{},"body":{"classes/IservMapper.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["schooldo.externalid",{"_index":14236,"title":{},"body":{"classes/IservMapper.html":{}}}],["schooldo.features",{"_index":23681,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["schooldo.features.includes(schoolfeatures.oauth_provisioning_enabled",{"_index":23682,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["schooldo.features.push(schoolfeatures.oauth_provisioning_enabled",{"_index":23683,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["schooldo.name",{"_index":14235,"title":{},"body":{"classes/IservMapper.html":{}}}],["schooldo.officialschoolnumber",{"_index":14237,"title":{},"body":{"classes/IservMapper.html":{},"injectables/SchoolMigrationService.html":{}}}],["schooldocopy",{"_index":19986,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["schoolentity",{"_index":692,"title":{"entities/SchoolEntity.html":{}},"body":{"interfaces/AccountParams.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"interfaces/CreateNews.html":{},"interfaces/EntityWithSchool.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"injectables/LegacySchoolRepo.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolInfoMapper.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"entities/User.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"injectables/UserDORepo.html":{},"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"classes/UsersList.html":{}}}],["schoolexclusive",{"_index":20283,"title":{},"body":{"classes/ShareTokenBodyParams.html":{},"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{}}}],["schoolexternal",{"_index":19725,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["schoolexternaltool",{"_index":2004,"title":{"classes/SchoolExternalTool.html":{}},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolService.html":{},"injectables/FeathersRosterService.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/ToolConfigurationMapper.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceService.html":{},"controllers/ToolSchoolController.html":{},"injectables/ToolVersionService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["schoolexternaltool'})@httpcode(httpstatus.no_content",{"_index":23053,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["schoolexternaltool.id",{"_index":10155,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolService.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/ToolConfigurationMapper.html":{}}}],["schoolexternaltool.name",{"_index":19813,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["schoolexternaltool.schoolid",{"_index":2061,"title":{},"body":{"injectables/AutoSchoolIdStrategy.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["schoolexternaltool.status",{"_index":19817,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["schoolexternaltool.toolid",{"_index":10159,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolResponseMapper.html":{}}}],["schoolexternaltool.toolversion",{"_index":19815,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["schoolexternaltoolconfigurationstatus",{"_index":19699,"title":{"classes/SchoolExternalToolConfigurationStatus.html":{}},"body":{"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolService.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{}}}],["schoolexternaltoolconfigurationstatusresponse",{"_index":19703,"title":{"classes/SchoolExternalToolConfigurationStatusResponse.html":{}},"body":{"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{}}}],["schoolexternaltoolconfigurationtemplatelistresponse",{"_index":19707,"title":{"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{}},"body":{"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{}}}],["schoolexternaltoolconfigurationtemplatelistresponse(mappedtools",{"_index":22690,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["schoolexternaltoolconfigurationtemplateresponse",{"_index":19709,"title":{"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}},"body":{"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{}}}],["schoolexternaltoolcount",{"_index":10430,"title":{},"body":{"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{}}}],["schoolexternaltooldto",{"_index":19790,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolUc.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolentity",{"_index":6729,"title":{"entities/SchoolExternalToolEntity.html":{}},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"injectables/ContextExternalToolRepo.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{}}}],["schoolexternaltoolfactory",{"_index":19717,"title":{"classes/SchoolExternalToolFactory.html":{}},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["schoolexternaltoolfactory.define(schoolexternaltool",{"_index":19724,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["schoolexternaltoolid",{"_index":6682,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"classes/ToolConfigurationMapper.html":{},"injectables/ToolLaunchService.html":{}}}],["schoolexternaltoolidparams",{"_index":19727,"title":{"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{}},"body":{"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolids",{"_index":6804,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolService.html":{}}}],["schoolexternaltoolmetadata",{"_index":19729,"title":{"classes/SchoolExternalToolMetadata.html":{}},"body":{"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolUc.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolmetadata.contextexternaltoolcountpercontext",{"_index":19731,"title":{},"body":{"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{}}}],["schoolexternaltoolmetadatamapper",{"_index":19732,"title":{"classes/SchoolExternalToolMetadataMapper.html":{}},"body":{"classes/SchoolExternalToolMetadataMapper.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolmetadatamapper.maptoschoolexternaltoolmetadataresponse(schoolexternaltoolmetadata",{"_index":23089,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolmetadataresponse",{"_index":19736,"title":{"classes/SchoolExternalToolMetadataResponse.html":{}},"body":{"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolmetadataresponse.contextexternaltoolcountpercontext",{"_index":19738,"title":{},"body":{"classes/SchoolExternalToolMetadataResponse.html":{}}}],["schoolexternaltoolmetadataresponse})@apiunauthorizedresponse({description",{"_index":23056,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolmetadataservice",{"_index":19739,"title":{"injectables/SchoolExternalToolMetadataService.html":{}},"body":{"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["schoolexternaltoolmodule",{"_index":6763,"title":{"modules/SchoolExternalToolModule.html":{}},"body":{"modules/ContextExternalToolModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{}}}],["schoolexternaltoolparams",{"_index":23062,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolparams.schoolid",{"_index":23072,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolpostparams",{"_index":19752,"title":{"classes/SchoolExternalToolPostParams.html":{}},"body":{"classes/SchoolExternalToolPostParams.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolproperties",{"_index":19712,"title":{"interfaces/SchoolExternalToolProperties.html":{}},"body":{"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{}}}],["schoolexternaltoolprops",{"_index":19695,"title":{"interfaces/SchoolExternalToolProps.html":{}},"body":{"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolExternalToolProps.html":{}}}],["schoolexternaltoolquery",{"_index":19766,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolService.html":{}}}],["schoolexternaltoolqueryinput",{"_index":19873,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["schoolexternaltoolrefdo",{"_index":6635,"title":{"classes/SchoolExternalToolRefDO.html":{}},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/SchoolExternalToolRefDO.html":{}}}],["schoolexternaltoolrepo",{"_index":1912,"title":{"injectables/SchoolExternalToolRepo.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"modules/CommonToolModule.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolService.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolService.html":{}}}],["schoolexternaltoolrequestmapper",{"_index":19786,"title":{"injectables/SchoolExternalToolRequestMapper.html":{}},"body":{"injectables/SchoolExternalToolRequestMapper.html":{},"modules/ToolApiModule.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolresponse",{"_index":19795,"title":{"classes/SchoolExternalToolResponse.html":{}},"body":{"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolresponsemapper",{"_index":19800,"title":{"injectables/SchoolExternalToolResponseMapper.html":{}},"body":{"injectables/SchoolExternalToolResponseMapper.html":{},"modules/ToolApiModule.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolresponse})@apiforbiddenresponse()@apiunauthorizedresponse()@apibadrequestresponse({type",{"_index":23067,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolresponse})@apiforbiddenresponse()@apiunprocessableentityresponse()@apiunauthorizedresponse()@apiresponse({status",{"_index":23049,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolrule",{"_index":1874,"title":{"injectables/SchoolExternalToolRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/RuleManager.html":{},"injectables/SchoolExternalToolRule.html":{}}}],["schoolexternaltools",{"_index":10134,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolService.html":{},"injectables/FeathersRosterService.html":{},"injectables/SchoolExternalToolService.html":{},"controllers/ToolSchoolController.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["schoolexternaltools.filter",{"_index":10151,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["schoolexternaltools.length",{"_index":10464,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["schoolexternaltools.map",{"_index":10463,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolService.html":{}}}],["schoolexternaltoolscope",{"_index":19768,"title":{"classes/SchoolExternalToolScope.html":{}},"body":{"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolScope.html":{}}}],["schoolexternaltoolsearchlistresponse",{"_index":19808,"title":{"classes/SchoolExternalToolSearchListResponse.html":{}},"body":{"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolsearchlistresponse(responses",{"_index":19812,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["schoolexternaltoolsearchparams",{"_index":19822,"title":{"classes/SchoolExternalToolSearchParams.html":{}},"body":{"classes/SchoolExternalToolSearchParams.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolservice",{"_index":6985,"title":{"injectables/SchoolExternalToolService.html":{}},"body":{"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/FeathersRosterService.html":{},"modules/SchoolExternalToolModule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolReferenceService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["schoolexternaltoolsinuse",{"_index":10207,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["schoolexternaltoolsinuse.map",{"_index":10211,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["schoolexternaltooluc",{"_index":19858,"title":{"injectables/SchoolExternalToolUc.html":{}},"body":{"injectables/SchoolExternalToolUc.html":{},"modules/ToolApiModule.html":{},"controllers/ToolSchoolController.html":{}}}],["schoolexternaltoolvalidationservice",{"_index":19750,"title":{"injectables/SchoolExternalToolValidationService.html":{}},"body":{"modules/SchoolExternalToolModule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/ToolVersionService.html":{}}}],["schoolexternaltoolversion",{"_index":19892,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["schoolfactory",{"_index":7705,"title":{},"body":{"classes/CourseFactory.html":{},"classes/ImportUserFactory.html":{},"classes/SubmissionFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserFactory.html":{}}}],["schoolfactory.build",{"_index":7715,"title":{},"body":{"classes/CourseFactory.html":{},"classes/ImportUserFactory.html":{},"classes/SubmissionFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserFactory.html":{}}}],["schoolfactory.buildwithid",{"_index":22018,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["schoolfeatures",{"_index":15182,"title":{},"body":{"classes/LegacySchoolDo.html":{},"injectables/LegacySchoolService.html":{},"injectables/OAuthService.html":{},"injectables/OidcProvisioningService.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["schoolfeatures.enable_ldap_sync_during_migration",{"_index":23668,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["schoolfeatures.oauth_provisioning_enabled",{"_index":17624,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["schoolforgroupnotfoundloggable",{"_index":17611,"title":{"classes/SchoolForGroupNotFoundLoggable.html":{}},"body":{"injectables/OidcProvisioningService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["schoolforgroupnotfoundloggable(externalgroup",{"_index":17655,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["schoolid",{"_index":4541,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolUc.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"classes/DownloadFileParams.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FileDO.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileUrlParams.html":{},"classes/FilesStorageMapper.html":{},"interfaces/GroupNameIdTuple.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IdToken.html":{},"injectables/IdTokenService.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JwtPayload.html":{},"classes/LdapAuthorizationBodyParams.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolService.html":{},"classes/LumiUserWithContentData.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsUc.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/ParentInfo.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ResolvedUserResponse.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SingleFileParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/ToolSchoolController.html":{},"entities/User.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"interfaces/UserMetdata.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"injectables/VideoConferenceCreateUc.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["schoolid'})@index",{"_index":7721,"title":{},"body":{"entities/CourseGroup.html":{},"entities/Submission.html":{}}}],["schooliddoesnotmatchwithuserschoolid",{"_index":19908,"title":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["schoolidparams",{"_index":19918,"title":{"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{}},"body":{"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"controllers/ToolConfigurationController.html":{},"controllers/UserLoginMigrationController.html":{}}}],["schoolinfo",{"_index":19938,"title":{},"body":{"classes/SchoolInfoMapper.html":{}}}],["schoolinfo.id",{"_index":19939,"title":{},"body":{"classes/SchoolInfoMapper.html":{}}}],["schoolinfo.name",{"_index":19940,"title":{},"body":{"classes/SchoolInfoMapper.html":{}}}],["schoolinfomapper",{"_index":16524,"title":{"classes/SchoolInfoMapper.html":{}},"body":{"classes/NewsMapper.html":{},"classes/SchoolInfoMapper.html":{}}}],["schoolinfomapper.maptoresponse(news.school",{"_index":16529,"title":{},"body":{"classes/NewsMapper.html":{}}}],["schoolinforesponse",{"_index":16496,"title":{"classes/SchoolInfoResponse.html":{}},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{}}}],["schoolinmigrationloggableexception",{"_index":16929,"title":{"classes/SchoolInMigrationLoggableException.html":{}},"body":{"injectables/Oauth2Strategy.html":{},"classes/SchoolInMigrationLoggableException.html":{}}}],["schoolinusermigrationendloggable",{"_index":19922,"title":{"classes/SchoolInUserMigrationEndLoggable.html":{}},"body":{"classes/SchoolInUserMigrationEndLoggable.html":{}}}],["schoolinusermigrationstartloggable",{"_index":19928,"title":{"classes/SchoolInUserMigrationStartLoggable.html":{}},"body":{"classes/SchoolInUserMigrationStartLoggable.html":{}}}],["schoolmigrated",{"_index":19998,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["schoolmigrationdatabaseoperationfailedloggableexception",{"_index":19944,"title":{"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{}},"body":{"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{}}}],["schoolmigrationdatabaseoperationfailedloggableexception(existingschool",{"_index":19989,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["schoolmigrationdatabaseoperationfailedloggableexception(originalschooldo",{"_index":19995,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["schoolmigrationservice",{"_index":4929,"title":{"injectables/SchoolMigrationService.html":{}},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SchoolMigrationService.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["schoolmigrationsuccessfulloggable",{"_index":20020,"title":{"classes/SchoolMigrationSuccessfulLoggable.html":{}},"body":{"classes/SchoolMigrationSuccessfulLoggable.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["schoolmigrationsuccessfulloggable(schooltomigrate",{"_index":23718,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["schoolname",{"_index":14984,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/LegacySchoolFactory.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcProvisioningService.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["schoolnews",{"_index":7848,"title":{"entities/SchoolNews.html":{}},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["schoolnews(props",{"_index":7846,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["schoolnumber",{"_index":15299,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["schoolnumber_prefix_regex",{"_index":19583,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["schoolnumberduplicateloggableexception",{"_index":20028,"title":{"classes/SchoolNumberDuplicateLoggableException.html":{}},"body":{"classes/SchoolNumberDuplicateLoggableException.html":{},"injectables/SchoolValidationService.html":{}}}],["schoolnumberduplicateloggableexception(school.officialschoolnumber",{"_index":20077,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["schoolnumbermismatchloggableexception",{"_index":19985,"title":{"classes/SchoolNumberMismatchLoggableException.html":{}},"body":{"injectables/SchoolMigrationService.html":{},"classes/SchoolNumberMismatchLoggableException.html":{}}}],["schoolnumbermissingloggableexception",{"_index":20041,"title":{"classes/SchoolNumberMissingLoggableException.html":{}},"body":{"classes/SchoolNumberMissingLoggableException.html":{},"injectables/StartUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{}}}],["schoolnumbermissingloggableexception(schoolid",{"_index":20592,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["schoolnumbermissingloggableexception})@apiokresponse({description",{"_index":23461,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["schoolparameter",{"_index":8283,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["schoolparameters",{"_index":19711,"title":{},"body":{"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["schoolproperties",{"_index":19682,"title":{"interfaces/SchoolProperties.html":{}},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["schoolrepo",{"_index":15068,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LegacySchoolService.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/SchoolValidationService.html":{}}}],["schoolrolepermission",{"_index":19683,"title":{"classes/SchoolRolePermission.html":{}},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["schoolroles",{"_index":19659,"title":{"classes/SchoolRoles.html":{}},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["schoolrule",{"_index":26047,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["schools",{"_index":7150,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/CreateNews.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/INewsScope.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/OAuthService.html":{},"interfaces/ParentInfo.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/ShareTokenDO.html":{}}}],["schools[0",{"_index":15254,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["schoolservice",{"_index":2067,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PseudonymUc.html":{},"injectables/SchoolMigrationService.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["schoolspecificfilecopyservice",{"_index":3583,"title":{"interfaces/SchoolSpecificFileCopyService.html":{}},"body":{"injectables/BoardDoCopyService.html":{},"classes/RecursiveCopyVisitor.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["schoolspecificfilecopyservicecopyparams",{"_index":20051,"title":{},"body":{"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["schoolspecificfilecopyservicefactory",{"_index":3849,"title":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{}},"body":{"modules/BoardModule.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{}}}],["schoolspecificfilecopyserviceimpl",{"_index":20060,"title":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}},"body":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["schoolspecificfilecopyserviceimpl(this.filesstorageclientadapterservice",{"_index":20061,"title":{},"body":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{}}}],["schoolspecificfilecopyserviceprops",{"_index":20054,"title":{},"body":{"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["schooltomigrate",{"_index":23714,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["schooltool",{"_index":6722,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolScope.html":{}}}],["schooltool.school",{"_index":6836,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["schooltoolconfigurationstatusfactory",{"_index":19722,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["schooltoolconfigurationstatusfactory.build",{"_index":19726,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["schooltoolconfigurationstatusresponsemapper",{"_index":19809,"title":{"classes/SchoolToolConfigurationStatusResponseMapper.html":{}},"body":{"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{}}}],["schooltoolconfigurationstatusresponsemapper.maptoresponse",{"_index":19816,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["schooltoolid",{"_index":6748,"title":{},"body":{"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolPostParams.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolService.html":{},"classes/SchoolExternalToolRefDO.html":{}}}],["schooltoolref",{"_index":6628,"title":{},"body":{"classes/ContextExternalTool.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolValidationService.html":{}}}],["schooltoolrepo",{"_index":10457,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{}}}],["schooltype",{"_index":16148,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["schoolvalidationservice",{"_index":15231,"title":{"injectables/SchoolValidationService.html":{}},"body":{"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolService.html":{},"injectables/SchoolValidationService.html":{}}}],["schoolyear",{"_index":4667,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"injectables/FederalStateService.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/OidcProvisioningService.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/SchoolYearService.html":{}}}],["schoolyear.entity",{"_index":19671,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["schoolyear.factory",{"_index":15214,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["schoolyear?.name",{"_index":12986,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["schoolyearentity",{"_index":12462,"title":{"entities/SchoolYearEntity.html":{}},"body":{"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"classes/GroupUcMapper.html":{},"classes/LegacySchoolDo.html":{},"injectables/OidcProvisioningService.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{}}}],["schoolyearfactory",{"_index":15213,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["schoolyearfactory.build",{"_index":15225,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["schoolyearproperties",{"_index":20087,"title":{"interfaces/SchoolYearProperties.html":{}},"body":{"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{}}}],["schoolyearquerytype",{"_index":4658,"title":{},"body":{"classes/ClassFilterParams.html":{}}}],["schoolyearrepo",{"_index":15232,"title":{"injectables/SchoolYearRepo.html":{}},"body":{"modules/LegacySchoolModule.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{}}}],["schoolyearservice",{"_index":15230,"title":{"injectables/SchoolYearService.html":{}},"body":{"modules/LegacySchoolModule.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SchoolYearService.html":{}}}],["schould",{"_index":8023,"title":{},"body":{"classes/CreateNewsParams.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/UpdateNewsParams.html":{}}}],["schul",{"_index":2220,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarService.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardService.html":{},"interfaces/CopyFileDO.html":{},"injectables/CourseCopyUC.html":{},"modules/DeletionApiModule.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DtoCreator.html":{},"interfaces/FileDO.html":{},"interfaces/FileStorageConfig.html":{},"modules/FilesStorageModule.html":{},"controllers/FwuLearningContentsController.html":{},"injectables/HydraSsoService.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IToolFeatures.html":{},"classes/KeycloakAdministration.html":{},"injectables/LessonCopyUC.html":{},"modules/ManagementModule.html":{},"injectables/MetaTagInternalUrlService.html":{},"controllers/OauthProviderController.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/PrometheusMetricsConfig.html":{},"injectables/PseudonymService.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"modules/RedisModule.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsService.html":{},"injectables/SanisProvisioningStrategy.html":{},"interfaces/ServerConfig.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TldrawConfig.html":{},"classes/ToolConfiguration.html":{},"injectables/UserLoginMigrationService.html":{},"classes/VideoConferenceConfiguration.html":{},"dependencies.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["schulcloud",{"_index":13540,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/NextcloudStrategy.html":{},"controllers/ServerController.html":{},"additional-documentation/nestjs-application.html":{}}}],["schulcloudnextcloud",{"_index":17375,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["scope",{"_index":6229,"title":{"classes/Scope.html":{}},"body":{"classes/ConsentRequestBody.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolScope.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestScope.html":{},"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"injectables/ExternalToolServiceMapper.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"injectables/HydraSsoService.html":{},"controllers/ImportUserController.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"interfaces/IntrospectResponse.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfigEntity.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"classes/LessonScope.html":{},"injectables/Logger.html":{},"classes/LoginRequestBody.html":{},"controllers/NewsController.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/OauthProviderService.html":{},"classes/OidcConfigEntity.html":{},"classes/PseudonymScope.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolScope.html":{},"classes/Scope.html":{},"classes/ScopeRef.html":{},"injectables/SubmissionRepo.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{},"classes/SystemScope.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"controllers/TeamNewsController.html":{},"injectables/UserDORepo.html":{},"classes/UserMatchMapper.html":{},"classes/UserScope.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceScopeParams.html":{},"license.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["scope)roles",{"_index":26003,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["scope.addquery(allforcreator.query",{"_index":21641,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.addquery(allforfinishedcoursesandlessons.query",{"_index":21640,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.addquery(closedforopencoursesandlessons.query",{"_index":21639,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.addquery(parentidscope.query",{"_index":21654,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.afterduedateornone(filters.afterduedateornone",{"_index":21661,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.allowemptyquery(true",{"_index":6846,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["scope.byavailable(filters?.availableon",{"_index":21665,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.byclasses(filters.classes",{"_index":14086,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.bycontextid(query.context?.id",{"_index":6844,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["scope.bycontexttype(query.context?.type",{"_index":6845,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["scope.bycourseids([courseid",{"_index":21667,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.bycourseids(courseids",{"_index":15491,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["scope.bycreator(creatorid",{"_index":16588,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["scope.bydraft(false",{"_index":21659,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.byfinished(filters.finished.userid",{"_index":21656,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.byfirstname(filters.firstname",{"_index":14078,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.byhidden(filters.hidden",{"_index":15493,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["scope.byid(query.id",{"_index":6842,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["scope.bylastname(filters.lastname",{"_index":14080,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.byloginname(filters.loginname",{"_index":14082,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.bymatches(filters.matches",{"_index":14088,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.bypublished",{"_index":16584,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["scope.byrole(filters.role",{"_index":14084,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.byschool(school",{"_index":14076,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.byschoolid(query.schoolid",{"_index":19777,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["scope.byschooltoolid(query.schooltoolref?.schooltoolid",{"_index":6843,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["scope.bytargets(targets",{"_index":16583,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["scope.bytoolid(query.toolid",{"_index":19778,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["scope.byunpublished",{"_index":16587,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["scope.byusermatch(user",{"_index":14074,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.enum",{"_index":24154,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["scope.excludedraftsofothers(creatorid",{"_index":21669,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.excludedraftsofothers(parentids.creatorid",{"_index":21658,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.excludeunavailableofothers(parentids.creatorid",{"_index":21663,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.foractivecourses",{"_index":7893,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["scope.forallgrouptypes(userid",{"_index":7891,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["scope.forcourseid(courseid",{"_index":7902,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["scope.forteacher(userid",{"_index":7898,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["scope.forteacherorsubstituteteacher(userid",{"_index":7901,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["scope.id",{"_index":24124,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["scope.isflagged(true",{"_index":14090,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["scope.name",{"_index":23741,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["scope.nofutureavailabledate",{"_index":21671,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["scope.params.ts",{"_index":24352,"title":{},"body":{"classes/VideoConferenceScopeParams.html":{}}}],["scope.params.ts:12",{"_index":24356,"title":{},"body":{"classes/VideoConferenceScopeParams.html":{}}}],["scope.params.ts:8",{"_index":24354,"title":{},"body":{"classes/VideoConferenceScopeParams.html":{}}}],["scope.query",{"_index":6835,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/UserDORepo.html":{}}}],["scope.request",{"_index":11400,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["scope.scope",{"_index":24130,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["scope.target",{"_index":16699,"title":{},"body":{"injectables/NewsUc.html":{}}}],["scope.targetid",{"_index":21933,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["scope.targetmodel",{"_index":21935,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["scope.transient",{"_index":15159,"title":{},"body":{"injectables/LegacyLogger.html":{},"injectables/Logger.html":{}}}],["scope.ts",{"_index":9452,"title":{},"body":{"classes/DeletionRequestScope.html":{},"classes/FileRecordScope.html":{},"classes/LessonScope.html":{},"classes/NewsScope.html":{},"classes/SystemScope.html":{},"classes/TaskScope.html":{}}}],["scope.ts:10",{"_index":21231,"title":{},"body":{"classes/SystemScope.html":{}}}],["scope.ts:11",{"_index":15539,"title":{},"body":{"classes/LessonScope.html":{}}}],["scope.ts:12",{"_index":9457,"title":{},"body":{"classes/DeletionRequestScope.html":{}}}],["scope.ts:13",{"_index":11947,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["scope.ts:15",{"_index":21232,"title":{},"body":{"classes/SystemScope.html":{}}}],["scope.ts:17",{"_index":21738,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:19",{"_index":11954,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["scope.ts:25",{"_index":11956,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/TaskScope.html":{}}}],["scope.ts:26",{"_index":16624,"title":{},"body":{"classes/NewsScope.html":{}}}],["scope.ts:31",{"_index":11949,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/TaskScope.html":{}}}],["scope.ts:32",{"_index":16627,"title":{},"body":{"classes/NewsScope.html":{}}}],["scope.ts:38",{"_index":16623,"title":{},"body":{"classes/NewsScope.html":{}}}],["scope.ts:39",{"_index":21736,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:45",{"_index":21733,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:5",{"_index":21230,"title":{},"body":{"classes/SystemScope.html":{}}}],["scope.ts:52",{"_index":21740,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:6",{"_index":9456,"title":{},"body":{"classes/DeletionRequestScope.html":{},"classes/LessonScope.html":{}}}],["scope.ts:60",{"_index":21730,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:66",{"_index":21747,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:7",{"_index":11952,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/TaskScope.html":{}}}],["scope.ts:73",{"_index":21742,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:83",{"_index":21728,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:89",{"_index":21746,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.ts:9",{"_index":16626,"title":{},"body":{"classes/NewsScope.html":{}}}],["scope.ts:95",{"_index":21744,"title":{},"body":{"classes/TaskScope.html":{}}}],["scope.withldapconfig",{"_index":15330,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["scope.withoauthconfig",{"_index":15332,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["scope.withoidcconfig",{"_index":15334,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["scope:11",{"_index":6958,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/ImportUserScope.html":{},"classes/LessonScope.html":{},"classes/NewsScope.html":{},"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SystemScope.html":{},"classes/TaskScope.html":{},"classes/UserScope.html":{}}}],["scope:13",{"_index":6956,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/ImportUserScope.html":{},"classes/LessonScope.html":{},"classes/NewsScope.html":{},"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SystemScope.html":{},"classes/TaskScope.html":{},"classes/UserScope.html":{}}}],["scope:31",{"_index":6970,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/ImportUserScope.html":{},"classes/LessonScope.html":{},"classes/NewsScope.html":{},"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SystemScope.html":{},"classes/TaskScope.html":{},"classes/UserScope.html":{}}}],["scope:35",{"_index":6972,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/ImportUserScope.html":{},"classes/LessonScope.html":{},"classes/NewsScope.html":{},"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SystemScope.html":{},"classes/TaskScope.html":{},"classes/UserScope.html":{}}}],["scope:9",{"_index":6959,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/ImportUserScope.html":{},"classes/LessonScope.html":{},"classes/NewsScope.html":{},"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SystemScope.html":{},"classes/TaskScope.html":{},"classes/UserScope.html":{}}}],["scope?.target",{"_index":16696,"title":{},"body":{"injectables/NewsUc.html":{}}}],["scope?.unpublished",{"_index":16678,"title":{},"body":{"injectables/NewsUc.html":{}}}],["scoped",{"_index":21839,"title":{},"body":{"injectables/TaskUC.html":{}}}],["scopeid",{"_index":11224,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"interfaces/ScopeInfo.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["scopeinfo",{"_index":20122,"title":{"interfaces/ScopeInfo.html":{}},"body":{"interfaces/ScopeInfo.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["scopeinfo.logouturl",{"_index":24140,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["scopeinfo.scopeid",{"_index":24132,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["scopemapping",{"_index":10789,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["scopemapping[customparameterdo.scope",{"_index":10899,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["scopemapping[customparameterparam.scope",{"_index":10837,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["scopename",{"_index":20125,"title":{},"body":{"interfaces/ScopeInfo.html":{}}}],["scopeoperator",{"_index":6957,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/ImportUserScope.html":{},"classes/LessonScope.html":{},"classes/NewsScope.html":{},"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/Scope.html":{},"classes/SystemScope.html":{},"classes/TaskScope.html":{},"classes/UserScope.html":{}}}],["scopeparams",{"_index":24035,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["scopeparams.scope",{"_index":24072,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["scopepermission",{"_index":21838,"title":{},"body":{"injectables/TaskUC.html":{}}}],["scopepermissions",{"_index":21837,"title":{},"body":{"injectables/TaskUC.html":{}}}],["scoperef",{"_index":20126,"title":{"classes/ScopeRef.html":{}},"body":{"classes/ScopeRef.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["scoperef(scopeparams.scopeid",{"_index":24071,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["scoperessource",{"_index":24126,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["scopes",{"_index":2739,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"classes/ConsentResponse.html":{},"injectables/IdTokenService.html":{},"classes/LoginResponse-1.html":{},"controllers/NewsController.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["scopes.includes(oauthscope.email",{"_index":13724,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["scopes.includes(oauthscope.groups",{"_index":13718,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["scopes.includes(oauthscope.profile",{"_index":13725,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["scopes/rules/permissions/user",{"_index":26087,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["scraper",{"_index":16252,"title":{},"body":{"injectables/MetaTagExtractorService.html":{},"dependencies.html":{}}}],["scraper/dist/lib/types",{"_index":16253,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["scripts",{"_index":12505,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["sdk",{"_index":24468,"title":{},"body":{"dependencies.html":{}}}],["sdk/client",{"_index":8923,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{}}}],["sdk/lib",{"_index":19360,"title":{},"body":{"injectables/S3ClientAdapter.html":{},"dependencies.html":{}}}],["search",{"_index":860,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"interfaces/ExternalToolSearchQuery.html":{},"classes/IdentityManagementService.html":{},"interfaces/PseudonymSearchQuery.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"injectables/TemporaryFileStorage.html":{},"classes/UserLoginMigrationSearchListResponse.html":{}}}],["search.params.ts",{"_index":10916,"title":{},"body":{"classes/ExternalToolSearchParams.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/UserLoginMigrationSearchParams.html":{}}}],["search.params.ts:13",{"_index":10918,"title":{},"body":{"classes/ExternalToolSearchParams.html":{}}}],["search.params.ts:8",{"_index":10919,"title":{},"body":{"classes/ExternalToolSearchParams.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/UserLoginMigrationSearchParams.html":{}}}],["search.query.params.ts",{"_index":882,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["search.query.params.ts:14",{"_index":887,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["search.query.params.ts:22",{"_index":888,"title":{},"body":{"classes/AccountSearchQueryParams.html":{}}}],["searchability",{"_index":25600,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["searchaccounts",{"_index":321,"title":{},"body":{"controllers/AccountController.html":{}}}],["searchaccounts(currentuser",{"_index":364,"title":{},"body":{"controllers/AccountController.html":{}}}],["searchbyusername",{"_index":733,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["searchbyusername(username",{"_index":752,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["searchbyusernameexactmatch",{"_index":19,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{}}}],["searchbyusernameexactmatch(username",{"_index":67,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{}}}],["searchbyusernamepartialmatch",{"_index":20,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{}}}],["searchbyusernamepartialmatch(username",{"_index":69,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{}}}],["searches",{"_index":22710,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["searching",{"_index":14150,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["searchoptions",{"_index":13789,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["searchparams",{"_index":23568,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["searchparams.userid",{"_index":23571,"title":{},"body":{"classes/UserLoginMigrationMapper.html":{}}}],["searchquery",{"_index":10842,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["searchuser",{"_index":14923,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["searchusername",{"_index":799,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["searchuserpassword",{"_index":14924,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["second",{"_index":2962,"title":{},"body":{"entities/Board.html":{},"injectables/S3ClientAdapter.html":{}}}],["secondarily",{"_index":24739,"title":{},"body":{"license.html":{}}}],["secondary",{"_index":24693,"title":{},"body":{"license.html":{}}}],["secondchar",{"_index":7560,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["seconds",{"_index":4871,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/ConsentRequestBody.html":{},"classes/KeycloakConsole.html":{},"classes/LoginRequestBody.html":{},"interfaces/MigrationOptions.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"interfaces/RetryOptions.html":{}}}],["seconds_of_90_days",{"_index":9344,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["secret",{"_index":1598,"title":{},"body":{"modules/AuthenticationModule.html":{},"interfaces/CollectionFilePath.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolValidationService.html":{},"interfaces/JwtConstants.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthClientBody.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SystemEntityFactory.html":{},"additional-documentation/nestjs-application.html":{}}}],["secretaccesskey",{"_index":7250,"title":{},"body":{"interfaces/CopyFiles.html":{},"injectables/DeleteFilesUc.html":{},"interfaces/File.html":{},"interfaces/FileStorageConfig.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["secretdata",{"_index":14835,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["secretorkey",{"_index":14340,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["secrets",{"_index":5358,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"additional-documentation/nestjs-application.html":{}}}],["secretvalue",{"_index":1760,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["section",{"_index":17019,"title":{},"body":{"classes/OauthClientBody.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["sections",{"_index":24886,"title":{},"body":{"license.html":{}}}],["secure",{"_index":20236,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["secure_launch_url",{"_index":5874,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["security",{"_index":11561,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"classes/SystemResponseMapper.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["security.controller.ts",{"_index":11979,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["security.controller.ts:15",{"_index":11985,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["security.controller.ts:29",{"_index":11988,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["securitycheck",{"_index":11526,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["securitycheck.requesttoken",{"_index":11790,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["securitycheckstatus",{"_index":7154,"title":{},"body":{"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"interfaces/FileDO.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["see",{"_index":561,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ApiValidationError.html":{},"injectables/AuthorizationReferenceService.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CustomParameterFactory.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileRecordFactory.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GlobalValidationPipe.html":{},"classes/H5PContentFactory.html":{},"modules/H5PEditorModule.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/IDashboardRepo.html":{},"classes/ImportUserFactory.html":{},"interfaces/JwtPayload.html":{},"classes/LdapConfigEntity.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SubmissionFactory.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"index.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["seed",{"_index":4892,"title":{},"body":{"interfaces/CleanOptions.html":{},"interfaces/CollectionFilePath.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"classes/KeycloakSeedService.html":{},"interfaces/MigrationOptions.html":{},"interfaces/Options.html":{},"interfaces/RetryOptions.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["seed(options",{"_index":4893,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["seed.service",{"_index":14477,"title":{},"body":{"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationUc.html":{}}}],["seed.service.ts",{"_index":14853,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["seed.service.ts:13",{"_index":14857,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["seed.service.ts:20",{"_index":14862,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["seed.service.ts:35",{"_index":14858,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["seed.service.ts:60",{"_index":14859,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["seed.service.ts:94",{"_index":14860,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["seed.service.ts:99",{"_index":14861,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["seedcollections",{"_index":8769,"title":{},"body":{"classes/DatabaseManagementConsole.html":{}}}],["seedcollections(options",{"_index":8773,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["seeddata",{"_index":25679,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["seeddatabasecollectionsfromfactories(collections",{"_index":5241,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["seeddatabasecollectionsfromfilesystem(collections",{"_index":5258,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["seeded",{"_index":14807,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["seededcollectionswithamount",{"_index":5252,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["seededcollectionswithamount.push(`${collectionname}:${importeddocumentsamount",{"_index":5279,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["seeding",{"_index":25873,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["seeds",{"_index":4891,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["seems",{"_index":25267,"title":{},"body":{"todo.html":{}}}],["segregation",{"_index":25428,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["sehr",{"_index":5527,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["select",{"_index":26048,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["selectconfigureaction",{"_index":14493,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["selectconfigureaction(newconfigs",{"_index":14522,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["selected",{"_index":14223,"title":{},"body":{"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/LdapStrategy.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"todo.html":{}}}],["selectedrules",{"_index":19308,"title":{},"body":{"injectables/RuleManager.html":{}}}],["selectrule",{"_index":19285,"title":{},"body":{"injectables/RuleManager.html":{}}}],["selectrule(user",{"_index":19291,"title":{},"body":{"injectables/RuleManager.html":{}}}],["self",{"_index":17667,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["sell",{"_index":25083,"title":{},"body":{"license.html":{}}}],["selling",{"_index":25067,"title":{},"body":{"license.html":{}}}],["semiconductor",{"_index":24723,"title":{},"body":{"license.html":{}}}],["senario",{"_index":25702,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["send",{"_index":1296,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/MailService.html":{},"injectables/TldrawWsService.html":{},"additional-documentation/nestjs-application.html":{}}}],["send(data",{"_index":1647,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["send(doc",{"_index":22460,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["send(params",{"_index":1655,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["send(requesttoken",{"_index":1307,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["sendauthenticationcodetokenrequest",{"_index":16967,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["sendauthenticationcodetokenrequest(tokenendpoint",{"_index":16974,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["sendawarenessmessage",{"_index":24370,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["sendawarenessmessage(buff",{"_index":24382,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["sendhttpresponse",{"_index":12569,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["sendhttpresponse(error",{"_index":12585,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["sending",{"_index":9047,"title":{},"body":{"injectables/DeletionClient.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["sense",{"_index":1833,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/LessonCopyUC.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["sensible",{"_index":21054,"title":{},"body":{"controllers/SystemController.html":{}}}],["sent",{"_index":1216,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{}}}],["sentence",{"_index":1392,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"classes/ErrorResponse.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["separable",{"_index":24925,"title":{},"body":{"license.html":{}}}],["separate",{"_index":15164,"title":{},"body":{"injectables/LegacyLogger.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["separated",{"_index":17017,"title":{},"body":{"classes/OauthClientBody.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["separately",{"_index":24872,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["seperate",{"_index":15432,"title":{},"body":{"injectables/LessonCopyUC.html":{},"index.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["seperated",{"_index":25484,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["seperation",{"_index":24594,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["sequence",{"_index":514,"title":{},"body":{"classes/AccountFactory.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"interfaces/CollectionFilePath.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/ShareTokenFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["sequence}.0",{"_index":13056,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["sequence}.txt",{"_index":13402,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{}}}],["sequence}@example.com",{"_index":13956,"title":{},"body":{"classes/ImportUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["sequence}displayname",{"_index":21147,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["serialization",{"_index":20601,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{},"todo.html":{}}}],["serialize",{"_index":4162,"title":{},"body":{"injectables/BsonConverter.html":{},"interfaces/CollectionFilePath.html":{}}}],["serialize(documents",{"_index":4172,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["serializedprimarykey",{"_index":2533,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{}}}],["serializes",{"_index":4174,"title":{},"body":{"injectables/BsonConverter.html":{}}}],["serve",{"_index":24561,"title":{},"body":{"dependencies.html":{},"additional-documentation/nestjs-application.html":{}}}],["served",{"_index":25387,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["server",{"_index":2163,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/ConsentRequestBody.html":{},"classes/ContentMetadata.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/DeletionClient.html":{},"classes/FileMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"entities/H5pEditorTempFile.html":{},"entities/InstalledLibrary.html":{},"injectables/LegacyLogger.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/LoginRequestBody.html":{},"classes/LumiUserWithContentData.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"classes/OAuthRejectableBody.html":{},"classes/OauthClientBody.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TldrawWs.html":{},"classes/UsersList.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"properties.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["server)/g",{"_index":22422,"title":{},"body":{"classes/TldrawWs.html":{}}}],["server.config",{"_index":1035,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["server.console",{"_index":20173,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["server.module",{"_index":1037,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{}}}],["server.module.ts",{"_index":16124,"title":{},"body":{"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{}}}],["server.module.ts:36",{"_index":16130,"title":{},"body":{"modules/ManagementServerTestModule.html":{}}}],["server/blob/main/apps/server/src/modules/authorization/readme.md",{"_index":25407,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["server/blob/main/config/readme.md",{"_index":25406,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["server/blob/main/src/services/lesson/hooks/index.js#l232",{"_index":26079,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["server/build/src/contentmanager",{"_index":13332,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["server/build/src/contenttypeinformationrepository",{"_index":13333,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["server/build/src/types",{"_index":6559,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PLibraryManagementService.html":{},"entities/InstalledLibrary.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["server/overview.html",{"_index":25270,"title":{},"body":{"todo.html":{}}}],["server/pull/2729#pullrequestreview",{"_index":25249,"title":{},"body":{"todo.html":{}}}],["server/server.config",{"_index":674,"title":{},"body":{"modules/AccountModule.html":{}}}],["server_options_path='/tmp/config/server",{"_index":25885,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["serverconfig",{"_index":649,"title":{"interfaces/ServerConfig.html":{}},"body":{"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"injectables/AuthenticationService.html":{},"injectables/KeycloakConfigurationService.html":{},"modules/ManagementModule.html":{},"interfaces/PreviewConfig.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"interfaces/PreviewModuleConfig.html":{},"controllers/RoomsController.html":{},"interfaces/ServerConfig.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"controllers/ShareTokenController.html":{},"controllers/TaskController.html":{}}}],["serverconsole",{"_index":20154,"title":{"classes/ServerConsole.html":{}},"body":{"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{}}}],["serverconsolemodule",{"_index":20166,"title":{"modules/ServerConsoleModule.html":{}},"body":{"modules/ServerConsoleModule.html":{}}}],["servercontroller",{"_index":20175,"title":{"controllers/ServerController.html":{}},"body":{"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["servermodule",{"_index":20178,"title":{"modules/ServerModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["servermodules",{"_index":1038,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["servers",{"_index":24703,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["servertestmodule",{"_index":20254,"title":{"modules/ServerTestModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["serves",{"_index":24781,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{}}}],["service",{"_index":610,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AuthorizationService.html":{},"classes/BaseUc.html":{},"injectables/BatchDeletionUc.html":{},"modules/BoardModule.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"modules/ClassModule.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnUc.html":{},"modules/CommonToolModule.html":{},"modules/ContextExternalToolModule.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/CourseCopyUC.html":{},"injectables/ElementUc.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolUc.html":{},"injectables/FeathersAuthProvider.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"modules/FilesModule.html":{},"modules/FilesStorageModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/HydraOauthUc.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/LessonModule.html":{},"injectables/LessonUC.html":{},"modules/LtiToolModule.html":{},"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/NexboardService.html":{},"injectables/PermissionService.html":{},"modules/PseudonymModule.html":{},"injectables/PseudonymUc.html":{},"modules/RegistrationPinModule.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"modules/SchoolExternalToolModule.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/ShareTokenUC.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionUc.html":{},"controllers/SystemController.html":{},"modules/SystemModule.html":{},"injectables/SystemUc.html":{},"injectables/TaskCopyUC.html":{},"modules/TaskModule.html":{},"injectables/TaskUC.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/ToolController.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"modules/VideoConferenceModule.html":{},"dependencies.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["service(logic",{"_index":26082,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["service.create(data",{"_index":9998,"title":{},"body":{"injectables/EtherpadService.html":{},"injectables/NexboardService.html":{}}}],["service.factory.ts",{"_index":20055,"title":{},"body":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{}}}],["service.factory.ts:10",{"_index":20057,"title":{},"body":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{}}}],["service.factory.ts:13",{"_index":20059,"title":{},"body":{"injectables/SchoolSpecificFileCopyServiceFactory.html":{}}}],["service.find",{"_index":11227,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["service.get",{"_index":25577,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["service.get(userid",{"_index":11222,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["service.mapper",{"_index":10959,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["service.mapper.ts",{"_index":11009,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["service.mapper.ts:7",{"_index":11012,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{}}}],["service.module.ts",{"_index":17475,"title":{},"body":{"modules/OauthProviderServiceModule.html":{}}}],["service.provider",{"_index":11277,"title":{},"body":{"modules/FeathersModule.html":{},"injectables/NexboardService.html":{}}}],["service.provider.ts",{"_index":11388,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["service.provider.ts:13",{"_index":11396,"title":{},"body":{"interfaces/FeathersService.html":{}}}],["service.provider.ts:19",{"_index":11394,"title":{},"body":{"interfaces/FeathersService.html":{}}}],["service.provider.ts:24",{"_index":11391,"title":{},"body":{"interfaces/FeathersService.html":{}}}],["service.provider.ts:38",{"_index":11413,"title":{},"body":{"injectables/FeathersServiceProvider.html":{}}}],["service.provider.ts:41",{"_index":11414,"title":{},"body":{"injectables/FeathersServiceProvider.html":{}}}],["service.ts",{"_index":1847,"title":{},"body":{"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/ToolVersionService.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["service.ts:11",{"_index":1855,"title":{},"body":{"interfaces/AuthorizationLoaderServiceGeneric.html":{}}}],["service.ts:13",{"_index":23098,"title":{},"body":{"injectables/ToolVersionService.html":{}}}],["service.ts:21",{"_index":23099,"title":{},"body":{"injectables/ToolVersionService.html":{}}}],["service.ts:6",{"_index":1848,"title":{},"body":{"interfaces/AuthorizationLoaderService.html":{}}}],["service/authorization.helper",{"_index":3669,"title":{},"body":{"injectables/BoardDoRule.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"injectables/GroupRule.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LessonRule.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/TeamRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{}}}],["service/auto",{"_index":22877,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["service/board",{"_index":3576,"title":{},"body":{"injectables/BoardDoCopyService.html":{},"modules/BoardModule.html":{},"injectables/BoardUc.html":{}}}],["service/cache.service",{"_index":4228,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["service/calendar.service",{"_index":4272,"title":{},"body":{"modules/CalendarModule.html":{}}}],["service/column",{"_index":3858,"title":{},"body":{"modules/BoardModule.html":{}}}],["service/common",{"_index":7687,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["service/context",{"_index":6769,"title":{},"body":{"modules/ContextExternalToolModule.html":{},"injectables/ContextExternalToolUc.html":{}}}],["service/copy",{"_index":7323,"title":{},"body":{"modules/CopyHelperModule.html":{},"modules/FilesStorageClientModule.html":{}}}],["service/dto",{"_index":22585,"title":{},"body":{"classes/TokenRequestMapper.html":{}}}],["service/files",{"_index":12238,"title":{},"body":{"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{}}}],["service/hydra.service",{"_index":17163,"title":{},"body":{"modules/OauthModule.html":{}}}],["service/id",{"_index":17422,"title":{},"body":{"modules/OauthProviderModule.html":{}}}],["service/keycloak",{"_index":14398,"title":{},"body":{"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationUc.html":{},"modules/KeycloakModule.html":{}}}],["service/launch",{"_index":22878,"title":{},"body":{"modules/ToolLaunchModule.html":{}}}],["service/meta",{"_index":16208,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["service/oauth",{"_index":17164,"title":{},"body":{"modules/OauthModule.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"modules/OauthProviderModule.html":{}}}],["service/oauth.service",{"_index":17165,"title":{},"body":{"modules/OauthModule.html":{}}}],["service/oidc",{"_index":17704,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["service/preview.service",{"_index":12260,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["service/provisioning.service",{"_index":18102,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["service/recursive",{"_index":18388,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["service/rocket",{"_index":18973,"title":{},"body":{"modules/RocketChatUserModule.html":{}}}],["service/rooms.service",{"_index":19250,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["service/school",{"_index":20048,"title":{},"body":{"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["service/submission",{"_index":9812,"title":{},"body":{"injectables/ElementUc.html":{}}}],["service/system",{"_index":21171,"title":{},"body":{"modules/SystemModule.html":{}}}],["service/tldraw.service",{"_index":22327,"title":{},"body":{"controllers/TldrawController.html":{},"modules/TldrawModule.html":{}}}],["service/tool",{"_index":6772,"title":{},"body":{"modules/ContextExternalToolModule.html":{}}}],["service/url",{"_index":16210,"title":{},"body":{"modules/MetaTagExtractorModule.html":{}}}],["service/user.service",{"_index":23796,"title":{},"body":{"modules/UserModule.html":{}}}],["servicedto",{"_index":21915,"title":{},"body":{"injectables/TeamMapper.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["serviceoptions",{"_index":20492,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["serviceoptions.context",{"_index":20494,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["serviceoptions.expiresat",{"_index":20498,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["serviceoutputtypes",{"_index":19358,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["services",{"_index":2856,"title":{},"body":{"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"modules/CollaborativeStorageModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"modules/LearnroomApiModule.html":{},"modules/ManagementModule.html":{},"modules/ServerConsoleModule.html":{},"injectables/TimeoutInterceptor.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["services/account",{"_index":677,"title":{},"body":{"modules/AccountModule.html":{}}}],["services/account.service",{"_index":681,"title":{},"body":{"modules/AccountModule.html":{}}}],["services/account.validation.service",{"_index":682,"title":{},"body":{"modules/AccountModule.html":{}}}],["services/authentication.service",{"_index":1551,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/LoginUc.html":{}}}],["services/deletion",{"_index":9278,"title":{},"body":{"modules/DeletionModule.html":{}}}],["services/dto/account.dto",{"_index":479,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{}}}],["services/dto/team",{"_index":21955,"title":{},"body":{"injectables/TeamPermissionsMapper.html":{}}}],["services/dto/team.dto",{"_index":21916,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["services/ldap.service",{"_index":1552,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/LdapStrategy.html":{}}}],["serviceunavailableexception",{"_index":14808,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["servicing",{"_index":25169,"title":{},"body":{"license.html":{}}}],["session",{"_index":171,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"interfaces/CleanOptions.html":{},"classes/ConsentResponse.html":{},"classes/KeycloakConsole.html":{},"classes/LoginResponse-1.html":{},"interfaces/MigrationOptions.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderResponseMapper.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/RetryOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/VideoConferenceCreateParams.html":{},"dependencies.html":{}}}],["session.consent_request.challenge",{"_index":17443,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["session.consent_request.client?.client_id",{"_index":17441,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["session.consent_request.client?.client_name",{"_index":17442,"title":{},"body":{"injectables/OauthProviderResponseMapper.html":{}}}],["session.response.ts",{"_index":6305,"title":{},"body":{"classes/ConsentSessionResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{}}}],["session.response.ts:13",{"_index":6313,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["session.response.ts:16",{"_index":6314,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["session.response.ts:19",{"_index":6312,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["session.response.ts:4",{"_index":6309,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["session_id",{"_index":15826,"title":{},"body":{"classes/LoginResponse-1.html":{},"interfaces/ProviderLoginResponse.html":{}}}],["session_token",{"_index":2296,"title":{},"body":{"interfaces/BBBJoinResponse.html":{}}}],["sessionduration",{"_index":20218,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["sessions",{"_index":17347,"title":{},"body":{"controllers/OauthProviderController.html":{},"injectables/OauthProviderUc.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["sessions.map",{"_index":17349,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["set",{"_index":567,"title":{},"body":{"classes/AccountFactory.html":{},"interfaces/AdminIdAndToken.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BaseFactory.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"injectables/CollaborativeStorageAdapter.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"injectables/CommonToolValidationService.html":{},"classes/ConsentRequestBody.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"classes/FileMetadata.html":{},"classes/FileRecordFactory.html":{},"classes/GlobalValidationPipe.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"interfaces/ImportUserProperties.html":{},"entities/InstalledLibrary.html":{},"modules/InterceptorModule.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LibraryName.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/LoginRequestBody.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthLoginResponse.html":{},"classes/Path.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SortingParams.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SystemEntityFactory.html":{},"entities/Task.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TldrawWsService.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"index.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["set('accept",{"_index":22203,"title":{},"body":{"classes/TestXApiKeyClient.html":{}}}],["set('authorization",{"_index":1644,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["set(caseinsensitivenames",{"_index":6114,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["set(headerconst.accept",{"_index":1653,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["set(memberids",{"_index":20707,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["set(permissions",{"_index":17805,"title":{},"body":{"injectables/PermissionService.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["set(tasksubmitterids",{"_index":21340,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["setalternativetext(value",{"_index":11487,"title":{},"body":{"classes/FileElement.html":{}}}],["setcaption(value",{"_index":11484,"title":{},"body":{"classes/FileElement.html":{}}}],["setcompleted(value",{"_index":20794,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["setcontext",{"_index":15139,"title":{},"body":{"injectables/LegacyLogger.html":{},"injectables/Logger.html":{}}}],["setcontext(context",{"_index":5392,"title":{},"body":{"classes/ColumnBoard.html":{}}}],["setcontext(name",{"_index":15148,"title":{},"body":{"injectables/LegacyLogger.html":{},"injectables/Logger.html":{}}}],["setcontextexternaltoolid(value",{"_index":10259,"title":{},"body":{"classes/ExternalToolElement.html":{}}}],["setcookies",{"_index":13514,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["setcookies.foreach((item",{"_index":13557,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["setdescription(value",{"_index":9595,"title":{},"body":{"classes/DrawingElement.html":{},"classes/LinkElement.html":{}}}],["setduedate(value",{"_index":20718,"title":{},"body":{"classes/SubmissionContainerElement.html":{}}}],["setfinishedenabled",{"_index":13342,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["setgroupname",{"_index":12649,"title":{},"body":{"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["setgroupname(newgroupname",{"_index":8442,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["setheight(height",{"_index":4308,"title":{},"body":{"classes/Card.html":{}}}],["setheightbodyparams",{"_index":4348,"title":{"classes/SetHeightBodyParams.html":{}},"body":{"controllers/CardController.html":{},"classes/SetHeightBodyParams.html":{}}}],["setimageurl(value",{"_index":15641,"title":{},"body":{"classes/LinkElement.html":{}}}],["setinputformat(value",{"_index":18873,"title":{},"body":{"classes/RichTextElement.html":{}}}],["setinterval",{"_index":22542,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["setlearnrooms",{"_index":8391,"title":{},"body":{"classes/DashboardEntity.html":{}}}],["setlearnrooms(rooms",{"_index":8430,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["setmatch",{"_index":13870,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["setmatch(urlparams",{"_index":13889,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["setmatch(user",{"_index":13857,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["setmigrationmandatory",{"_index":22564,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationService.html":{}}}],["setmigrationmandatory(currentuser",{"_index":23452,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["setmigrationmandatory(userid",{"_index":22567,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{}}}],["setmigrationmandatory(userloginmigration",{"_index":23657,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["setname(name",{"_index":11813,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["setpasswordpolicy",{"_index":14412,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["setpersistence",{"_index":22445,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["setpersistence(persistence_",{"_index":22462,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["setrangeresponseheaders",{"_index":13120,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["setrangeresponseheaders(res",{"_index":13162,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["setrequireduserrole(userroleenum",{"_index":3375,"title":{},"body":{"classes/BoardDoAuthorizable.html":{}}}],["sets",{"_index":5099,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"classes/ConsentRequestBody.html":{},"classes/IdentityManagementService.html":{},"classes/LoginRequestBody.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["setschool(value",{"_index":22005,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["setstrategy",{"_index":4961,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["setstrategy(strategy",{"_index":4974,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["settedlanguage",{"_index":23955,"title":{},"body":{"injectables/UserUc.html":{}}}],["settext(value",{"_index":18869,"title":{},"body":{"classes/RichTextElement.html":{}}}],["settimeout",{"_index":19441,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["settimeout(resolve",{"_index":2836,"title":{},"body":{"injectables/BatchDeletionService.html":{},"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["setting",{"_index":2892,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"entities/SchoolNews.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{}}}],["settings",{"_index":25592,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["settings.interface",{"_index":2383,"title":{},"body":{"injectables/BBBService.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{}}}],["settings.interface.ts",{"_index":13591,"title":{},"body":{"interfaces/IBbbSettings.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/IVideoConferenceSettings.html":{}}}],["settings.response",{"_index":4419,"title":{},"body":{"classes/CardResponse.html":{}}}],["settings.response.ts",{"_index":24359,"title":{},"body":{"classes/VisibilitySettingsResponse.html":{}}}],["settings.response.ts:3",{"_index":24361,"title":{},"body":{"classes/VisibilitySettingsResponse.html":{}}}],["settings.response.ts:9",{"_index":24362,"title":{},"body":{"classes/VisibilitySettingsResponse.html":{}}}],["settitle(title",{"_index":4304,"title":{},"body":{"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{}}}],["settitle(value",{"_index":15636,"title":{},"body":{"classes/LinkElement.html":{}}}],["setup",{"_index":3770,"title":{},"body":{"classes/BoardManagementConsole.html":{},"interfaces/CollectionFilePath.html":{},"classes/DatabaseManagementConsole.html":{},"classes/GlobalValidationPipe.html":{},"modules/InterceptorModule.html":{},"interfaces/Options.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["setup:db",{"_index":25881,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["setup:idm",{"_index":25320,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["setup:idm:configure",{"_index":25922,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["setup:idm:seed",{"_index":25921,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["setuppath",{"_index":5260,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["setupsessions",{"_index":20217,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["setupsessions(consumer",{"_index":20248,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["setupws",{"_index":22169,"title":{},"body":{"classes/TestConnection.html":{}}}],["setupwsconnection",{"_index":22446,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["setupwsconnection(ws",{"_index":22466,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["seturl(value",{"_index":15635,"title":{},"body":{"classes/LinkElement.html":{}}}],["setuser(value",{"_index":22001,"title":{},"body":{"classes/TeamUserEntity.html":{}}}],["setuserattribute",{"_index":13773,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["setuserattribute(userid",{"_index":13797,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["setuserid(value",{"_index":20797,"title":{},"body":{"classes/SubmissionItem.html":{}}}],["setusers(value",{"_index":12681,"title":{},"body":{"classes/Group.html":{}}}],["setuserstatus(authtoken",{"_index":1113,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["sha",{"_index":2418,"title":{},"body":{"injectables/BBBService.html":{}}}],["sha.digest('hex",{"_index":2422,"title":{},"body":{"injectables/BBBService.html":{}}}],["sha.update(callname",{"_index":2420,"title":{},"body":{"injectables/BBBService.html":{}}}],["sha1",{"_index":2354,"title":{},"body":{"injectables/BBBService.html":{},"injectables/Lti11EncryptionService.html":{}}}],["shall",{"_index":18356,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"license.html":{}}}],["shapes",{"_index":1219,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["share",{"_index":20305,"title":{},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenResponse.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"license.html":{}}}],["shared",{"_index":20287,"title":{},"body":{"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenUrlParams.html":{},"injectables/TldrawBoardRepo.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["shared/common",{"_index":393,"title":{},"body":{"controllers/AccountController.html":{},"injectables/AccountServiceDb.html":{},"classes/ApiValidationErrorResponse.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"classes/BruteForceError.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ContextExternalToolValidationService.html":{},"interfaces/CoreModuleConfig.html":{},"classes/CurrentUserMapper.html":{},"controllers/ElementController.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorUtils.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"controllers/H5PEditorController.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserScope.html":{},"modules/InterceptorModule.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/LdapConnectionError.html":{},"injectables/LegacySystemService.html":{},"controllers/LoginController.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"controllers/RoomsController.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"controllers/ShareTokenController.html":{},"injectables/SubmissionItemService.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemUc.html":{},"controllers/TaskController.html":{},"controllers/TldrawController.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"injectables/UserDORepo.html":{},"classes/UserMatchMapper.html":{},"injectables/UserRepo.html":{},"modules/VideoConferenceModule.html":{}}}],["shared/common/loggable",{"_index":4816,"title":{},"body":{"injectables/ClassesRepo.html":{},"injectables/ColumnBoardService.html":{},"injectables/FeathersRosterService.html":{},"injectables/GroupService.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PseudonymUc.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SystemUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{}}}],["shared/common/utils",{"_index":2380,"title":{},"body":{"injectables/BBBService.html":{}}}],["shared/common/utils/guard",{"_index":15701,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["shared/controller",{"_index":298,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/CardResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassSortParams.html":{},"classes/ColumnResponse.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"controllers/CourseController.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"injectables/CourseUc.html":{},"classes/CreateNewsParams.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DownloadFileParams.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileParams.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"classes/FileUrlParams.html":{},"classes/FilterImportUserParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"controllers/GroupController.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/MetaTagExtractorResponse.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SystemFilterParams.html":{},"controllers/TaskController.html":{},"classes/TaskCreateParams.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskUpdateParams.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolController.html":{},"classes/UpdateNewsParams.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["shared/controller/index",{"_index":204,"title":{},"body":{"classes/AcceptQuery.html":{}}}],["shared/controller/transformer",{"_index":12403,"title":{},"body":{"classes/FilterNewsParams.html":{}}}],["shared/core",{"_index":25550,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["shared/domain",{"_index":1018,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"todo.html":{}}}],["shared/domain/domain",{"_index":1849,"title":{},"body":{"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationService.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/Class.html":{},"interfaces/ClassProps.html":{},"injectables/CopyHelperService.html":{},"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{},"classes/DomainObjectFactory.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"injectables/LegacySchoolRule.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"classes/System.html":{},"interfaces/SystemProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["shared/domain/domainobject",{"_index":1853,"title":{},"body":{"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BaseDORepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BoardContextResponse.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"classes/BoardResponseMapper.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CurrentUserMapper.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ElementContentBody.html":{},"injectables/ElementUc.html":{},"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/FeathersRosterService.html":{},"classes/FileContentBody.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"injectables/IdTokenService.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"injectables/MigrationCheckService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"controllers/PseudonymController.html":{},"classes/PseudonymMapper.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"injectables/RoomsService.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"injectables/SchoolValidationService.html":{},"classes/ShareTokenDO.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/ToolController.html":{},"injectables/ToolPermissionHelper.html":{},"classes/UpdateElementContentBodyParams.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"injectables/UserService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"injectables/VideoConferenceRepo.html":{}}}],["shared/domain/domainobject/base.do",{"_index":6639,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{}}}],["shared/domain/domainobject/board/drawing",{"_index":3508,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingElementResponseMapper.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["shared/domain/domainobject/board/link",{"_index":6444,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["shared/domain/domainobject/board/types",{"_index":3292,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["shared/domain/domainobject/ltitool.do",{"_index":13519,"title":{},"body":{"injectables/HydraSsoService.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["shared/domain/domainobject/page",{"_index":10202,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["shared/domain/domainobject/user.do",{"_index":8063,"title":{},"body":{"classes/CurrentUserMapper.html":{},"injectables/Oauth2Strategy.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"injectables/UserMigrationService.html":{}}}],["shared/domain/entity",{"_index":478,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"interfaces/AccountParams.html":{},"classes/AccountResponseMapper.html":{},"injectables/AccountServiceDb.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/ChangeLanguageParams.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardTargetService.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/ContentMetadata.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolUc.html":{},"classes/CopyMapper.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"classes/CurrentUserMapper.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"classes/DtoCreator.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolUc.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersRosterService.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRule.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"entities/H5pEditorTempFile.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/ITask.html":{},"injectables/IdTokenService.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"entities/InstalledLibrary.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolDo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonCopyUC.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"classes/LibraryName.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsMapper.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/OAuthService.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"injectables/PseudonymUc.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/ResolvedUserMapper.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RoomsService.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"classes/SaveH5PEditorParams.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolInfoMapper.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/StorageProviderRepo.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionMapper.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemUc.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskFactory.html":{},"classes/TaskMapper.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"classes/TestApiClient.html":{},"modules/TldrawTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolPermissionHelper.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchMapper.html":{},"interfaces/UserMetdata.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["shared/domain/entity/account.entity",{"_index":769,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["shared/domain/entity/base.entity",{"_index":4608,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/ExternalToolEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["shared/domain/entity/boardnode/drawing",{"_index":3509,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["shared/domain/entity/boardnode/link",{"_index":18556,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["shared/domain/entity/external",{"_index":12809,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["shared/domain/entity/ltitool.entity",{"_index":8161,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/LtiToolDO.html":{}}}],["shared/domain/entity/materials.entity",{"_index":16168,"title":{},"body":{"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{}}}],["shared/domain/entity/school.entity",{"_index":9860,"title":{},"body":{"interfaces/EntityWithSchool.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/UserLoginMigrationEntity.html":{}}}],["shared/domain/entity/system.entity",{"_index":23541,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["shared/domain/entity/user",{"_index":19668,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["shared/domain/entity/video",{"_index":24320,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["shared/domain/interface",{"_index":595,"title":{},"body":{"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageService.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContextExternalToolUc.html":{},"entities/Course.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseUc.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardUc.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DtoCreator.html":{},"classes/ExternalGroupUserDto.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolService.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersRosterService.html":{},"injectables/FileRecordRepo.html":{},"classes/GridElement.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUserResponse.html":{},"interfaces/IGridElement.html":{},"classes/IdentityManagementService.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/KeycloakIdentityManagementService.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonUC.html":{},"classes/LtiRoleMapper.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/PseudonymService.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RoleDto.html":{},"classes/RoleNameMapper.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolUc.html":{},"classes/ScopeRef.html":{},"injectables/ShareTokenUC.html":{},"classes/SortHelper.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SubmissionUc.html":{},"injectables/SystemUc.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/ToolController.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolReferenceUc.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationUc.html":{},"interfaces/UserMetdata.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"classes/UsersList.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceMapper.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceScopeParams.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["shared/domain/interface/permission.enum",{"_index":15428,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["shared/domain/interface/system",{"_index":14258,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/System.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/SystemProps.html":{}}}],["shared/domain/interface/video",{"_index":24153,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["shared/domain/service",{"_index":278,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{}}}],["shared/domain/types",{"_index":99,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRepo.html":{},"interfaces/BoardExternalReference.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardTaskStatusMapper.html":{},"injectables/BoardUc.html":{},"injectables/CalendarService.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentMetadata.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolIdParams-1.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ContextRefParams.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"classes/CreateNewsParams.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/DtoCreator.html":{},"classes/ElementContentBody.html":{},"injectables/ElementUc.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolMetadataService.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto-1.html":{},"classes/FileElementContentBody.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileUrlParams.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"classes/FilterNewsParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"classes/GroupUser.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/ITask.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/KeycloakIdentityManagementService.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"classes/LegacySchoolDo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LumiUserWithContentData.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/MetadataTypeMapper.html":{},"injectables/MigrationCheckService.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/OauthProviderUc.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/ParentInfo.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/ProvisioningSystemDto.html":{},"classes/Pseudonym.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"interfaces/PseudonymProps.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"classes/RoleDto.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/SchoolExternalToolScope.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolYearService.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"injectables/ShareTokenUC.html":{},"classes/SingleFileParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionItem.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"classes/SystemDto.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"classes/TargetInfoMapper.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"classes/TeamDto.html":{},"injectables/TeamService.html":{},"classes/TeamUserDto.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchMapper.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["shared/domain/types/entity",{"_index":20275,"title":{},"body":{"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["shared/domain/types/input",{"_index":21275,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["shared/pipes",{"_index":25572,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["shared/repo",{"_index":279,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"injectables/AccountValidationService.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationService.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"modules/BoardModule.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/ColumnBoardCopyService.html":{},"modules/CommonToolModule.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolService.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseGroupService.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/DashboardUc.html":{},"classes/DeletionRequestScope.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/FederalStateService.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"injectables/HydraSsoService.html":{},"injectables/IdTokenService.html":{},"modules/ImportUserModule.html":{},"injectables/LdapStrategy.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"classes/LessonScope.html":{},"injectables/LocalStrategy.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolService.html":{},"injectables/MigrationCheckService.html":{},"modules/NewsModule.html":{},"injectables/NewsUc.html":{},"modules/OauthModule.html":{},"modules/OauthProviderModule.html":{},"classes/PseudonymScope.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"modules/RoleModule.html":{},"injectables/RoleService.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/SchoolValidationService.html":{},"injectables/SubmissionService.html":{},"modules/SystemModule.html":{},"injectables/SystemOidcService.html":{},"modules/TaskApiModule.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"modules/TaskModule.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/TeamService.html":{},"modules/TeamsModule.html":{},"modules/ToolApiModule.html":{},"injectables/UserDORepo.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationService.html":{},"modules/UserModule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"modules/VideoConferenceModule.html":{}}}],["shared/repo/base.do.repo",{"_index":16011,"title":{},"body":{"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["shared/repo/base.repo",{"_index":771,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/FilesRepo.html":{},"injectables/H5PContentRepo.html":{},"injectables/ImportUserRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/NewsRepo.html":{},"injectables/SchoolYearRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserRepo.html":{}}}],["shared/repo/ltitool",{"_index":5028,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{},"injectables/NextcloudStrategy.html":{}}}],["shared/repo/scope",{"_index":10912,"title":{},"body":{"classes/ExternalToolScope.html":{},"classes/SchoolExternalToolScope.html":{}}}],["shared/repo/storageprovider",{"_index":8925,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"modules/FilesModule.html":{}}}],["shared/repo/system/system",{"_index":15325,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["shared/repo/types/storageproviderencryptedstring.type",{"_index":20628,"title":{},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["shared/repo/user/user",{"_index":23793,"title":{},"body":{"modules/UserModule.html":{},"injectables/UserService.html":{}}}],["shared/repo/videoconference/video",{"_index":24290,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["shared/testing",{"_index":2080,"title":{},"body":{"classes/AxiosErrorFactory.html":{},"injectables/BoardManagementUc.html":{},"classes/ClassFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/RocketChatUserFactory.html":{}}}],["shared/testing/factory/base.factory",{"_index":4643,"title":{},"body":{"classes/ClassEntityFactory.html":{},"classes/LtiToolFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{}}}],["shared/testing/factory/role.factory",{"_index":22012,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["shared/testing/factory/school.factory",{"_index":22013,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["shared/testing/factory/teamuser.factory",{"_index":21906,"title":{},"body":{"classes/TeamFactory.html":{}}}],["shared/testing/factory/user.factory",{"_index":22014,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["shared/types",{"_index":16490,"title":{},"body":{"classes/NewsCrudOperationLoggable.html":{},"injectables/NewsUc.html":{}}}],["shared/utils",{"_index":25551,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["shared/validators",{"_index":25568,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["shared/validators/text.validator.ts",{"_index":25554,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["sharedstate",{"_index":11662,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["sharetoken",{"_index":7453,"title":{"entities/ShareToken.html":{}},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"controllers/ShareTokenController.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/UsersList.html":{}}}],["sharetoken.context",{"_index":20504,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["sharetoken.expiresat",{"_index":20429,"title":{},"body":{"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{}}}],["sharetoken.payload",{"_index":20428,"title":{},"body":{"classes/ShareTokenResponseMapper.html":{}}}],["sharetoken.payload.parentid",{"_index":20507,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["sharetoken.payload.parenttype",{"_index":20455,"title":{},"body":{"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetoken.token",{"_index":20427,"title":{},"body":{"classes/ShareTokenResponseMapper.html":{}}}],["sharetokenbodyparams",{"_index":20279,"title":{"classes/ShareTokenBodyParams.html":{}},"body":{"classes/ShareTokenBodyParams.html":{},"controllers/ShareTokenController.html":{}}}],["sharetokencontext",{"_index":20348,"title":{},"body":{"classes/ShareTokenDO.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokencontexttype",{"_index":20269,"title":{},"body":{"entities/ShareToken.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenDO.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokencontexttype.school",{"_index":20495,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["sharetokencontexttypemapper",{"_index":20295,"title":{"classes/ShareTokenContextTypeMapper.html":{}},"body":{"classes/ShareTokenContextTypeMapper.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokencontexttypemapper.maptoallowedauthorizationentitytype(context.contexttype",{"_index":20520,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["sharetokencontroller",{"_index":20298,"title":{"controllers/ShareTokenController.html":{}},"body":{"controllers/ShareTokenController.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["sharetokendo",{"_index":20344,"title":{"classes/ShareTokenDO.html":{}},"body":{"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokenfactory",{"_index":20357,"title":{"classes/ShareTokenFactory.html":{}},"body":{"classes/ShareTokenFactory.html":{}}}],["sharetokenfactory.define",{"_index":20365,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["sharetokenimportbodyparams",{"_index":20311,"title":{"classes/ShareTokenImportBodyParams.html":{}},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenImportBodyParams.html":{}}}],["sharetokeninfo",{"_index":20336,"title":{},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokeninfo.parentname",{"_index":20385,"title":{},"body":{"classes/ShareTokenInfoResponseMapper.html":{}}}],["sharetokeninfo.parenttype",{"_index":20384,"title":{},"body":{"classes/ShareTokenInfoResponseMapper.html":{}}}],["sharetokeninfo.token",{"_index":20383,"title":{},"body":{"classes/ShareTokenInfoResponseMapper.html":{}}}],["sharetokeninfodto",{"_index":20372,"title":{"interfaces/ShareTokenInfoDto.html":{}},"body":{"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokeninforesponse",{"_index":20326,"title":{"classes/ShareTokenInfoResponse.html":{}},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{}}}],["sharetokeninforesponsemapper",{"_index":20323,"title":{"classes/ShareTokenInfoResponseMapper.html":{}},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenInfoResponseMapper.html":{}}}],["sharetokeninforesponsemapper.maptoresponse(sharetokeninfo",{"_index":20339,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["sharetokeninforesponse})@apiresponse({status",{"_index":20320,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["sharetokenparenttype",{"_index":16318,"title":{},"body":{"classes/MetadataTypeMapper.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokenparenttype.course",{"_index":20366,"title":{},"body":{"classes/ShareTokenFactory.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokenparenttype.lesson",{"_index":20457,"title":{},"body":{"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokenparenttype.task",{"_index":20459,"title":{},"body":{"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokenparenttypemapper",{"_index":20386,"title":{"classes/ShareTokenParentTypeMapper.html":{}},"body":{"classes/ShareTokenParentTypeMapper.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokenparenttypemapper.maptoallowedauthorizationentitytype(parenttype",{"_index":20522,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["sharetokenparenttypemapper.maptoallowedauthorizationentitytype(payload.parenttype",{"_index":20513,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["sharetokenpayload",{"_index":20350,"title":{},"body":{"classes/ShareTokenDO.html":{},"classes/ShareTokenPayloadResponse.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{}}}],["sharetokenpayloadresponse",{"_index":20390,"title":{"classes/ShareTokenPayloadResponse.html":{}},"body":{"classes/ShareTokenPayloadResponse.html":{},"classes/ShareTokenResponse.html":{}}}],["sharetokenpayloadresponse(payload",{"_index":20425,"title":{},"body":{"classes/ShareTokenResponse.html":{}}}],["sharetokenproperties",{"_index":20276,"title":{"interfaces/ShareTokenProperties.html":{}},"body":{"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["sharetokenrepo",{"_index":20398,"title":{"injectables/ShareTokenRepo.html":{}},"body":{"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["sharetokenresponse",{"_index":20327,"title":{"classes/ShareTokenResponse.html":{}},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{}}}],["sharetokenresponsemapper",{"_index":20324,"title":{"classes/ShareTokenResponseMapper.html":{}},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenResponseMapper.html":{}}}],["sharetokenresponsemapper.maptoresponse(sharetoken",{"_index":20333,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["sharetokenresponse})@apiresponse({status",{"_index":20307,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["sharetokens",{"_index":11527,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["sharetokenservice",{"_index":20430,"title":{"injectables/ShareTokenService.html":{}},"body":{"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["sharetokenstring",{"_index":20273,"title":{},"body":{"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/TokenGenerator.html":{}}}],["sharetokenuc",{"_index":20325,"title":{"injectables/ShareTokenUC.html":{}},"body":{"controllers/ShareTokenController.html":{},"injectables/ShareTokenUC.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["sharetokenurlparams",{"_index":20310,"title":{"classes/ShareTokenUrlParams.html":{}},"body":{"controllers/ShareTokenController.html":{},"classes/ShareTokenUrlParams.html":{}}}],["sharingapimodule",{"_index":20196,"title":{"modules/SharingApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["sharingmodule",{"_index":20537,"title":{"modules/SharingModule.html":{}},"body":{"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["shit",{"_index":7498,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["short",{"_index":7796,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["shorter",{"_index":25841,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["shortid",{"_index":24533,"title":{},"body":{"dependencies.html":{}}}],["shorttitle",{"_index":7564,"title":{},"body":{"entities/Course.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"classes/UsersList.html":{}}}],["shouldincrementversion",{"_index":11152,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["shouldskipconsent",{"_index":17378,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["shouldskipconsent(tool",{"_index":17387,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["shouldusermigrate",{"_index":16330,"title":{},"body":{"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{}}}],["shouldusermigrate(externaluserid",{"_index":16337,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["show",{"_index":16651,"title":{},"body":{"injectables/NewsUc.html":{},"controllers/SystemController.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["show_outdated_users",{"_index":19678,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["showoutdatedusers",{"_index":19679,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["sid",{"_index":15838,"title":{},"body":{"classes/LoginResponse-1.html":{}}}],["side",{"_index":2345,"title":{},"body":{"injectables/BBBService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["sideeffects",{"_index":26098,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["sign",{"_index":15866,"title":{},"body":{"injectables/Lti11EncryptionService.html":{},"license.html":{}}}],["sign(key",{"_index":15867,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["signalgorithm",{"_index":1587,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["signature_method",{"_index":15874,"title":{},"body":{"injectables/Lti11EncryptionService.html":{}}}],["significant",{"_index":24947,"title":{},"body":{"license.html":{}}}],["signing",{"_index":1586,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["signoptions",{"_index":1547,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["similar",{"_index":24713,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["simple",{"_index":25436,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["simple_compare(a",{"_index":11667,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["simplicity",{"_index":25283,"title":{},"body":{"todo.html":{}}}],["simplification",{"_index":25517,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["simplify",{"_index":25706,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["simply",{"_index":24612,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["simultaneously",{"_index":25130,"title":{},"body":{"license.html":{}}}],["sind",{"_index":5516,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["single",{"_index":3564,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/ElementController.html":{},"classes/GlobalValidationPipe.html":{},"injectables/NewsUc.html":{},"interfaces/Options.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["single(bn",{"_index":3573,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["single(boardnode",{"_index":3574,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["single:latestexample",{"_index":25897,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["single:latestthe",{"_index":25898,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["singlecolumnboardresponse",{"_index":19091,"title":{"classes/SingleColumnBoardResponse.html":{}},"body":{"injectables/RoomBoardResponseMapper.html":{},"controllers/RoomsController.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["singlefileparams",{"_index":7219,"title":{"classes/SingleFileParams.html":{}},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/FilesStorageMapper.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["singlevaluetoarraytransformer",{"_index":12388,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["situations",{"_index":25978,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["six",{"_index":12048,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["size",{"_index":870,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/DeleteFilesConsole.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolSearchListResponse.html":{},"interfaces/FileDO.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/ImportUserListResponse.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/NewsListResponse.html":{},"classes/PaginationResponse.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/TaskListResponse.html":{},"interfaces/TemporaryFileProperties.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"injectables/UserRepo.html":{}}}],["sizetype",{"_index":8558,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["skeleton",{"_index":3199,"title":{},"body":{"controllers/BoardController.html":{}}}],["skeleton.response",{"_index":5620,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["skeleton.response.ts",{"_index":4475,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["skeleton.response.ts:12",{"_index":4477,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["skeleton.response.ts:18",{"_index":4485,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["skeleton.response.ts:3",{"_index":4476,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["skip",{"_index":70,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"classes/ClassInfoSearchListResponse.html":{},"interfaces/CleanOptions.html":{},"classes/ConsentResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"controllers/CourseController.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordResponse.html":{},"classes/FilesStorageMapper.html":{},"classes/GroupResponseMapper.html":{},"interfaces/IFindOptions.html":{},"classes/IdentityManagementService.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakMigrationService.html":{},"classes/LoginResponse-1.html":{},"interfaces/MigrationOptions.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/RetryOptions.html":{},"controllers/TaskController.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"injectables/UserRepo.html":{}}}],["skipconsent",{"_index":8114,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolRepoMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["skipped",{"_index":875,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/GlobalValidationPipe.html":{},"classes/ImportUserListResponse.html":{},"classes/NewsListResponse.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/TaskListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{}}}],["slash",{"_index":25275,"title":{},"body":{"todo.html":{}}}],["sleep",{"_index":2833,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["slow",{"_index":5273,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["small",{"_index":25429,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["smallestbigenoughimage",{"_index":16273,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["sn",{"_index":14990,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["snapshotlogicchecks",{"_index":11665,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["snapshotschema",{"_index":11663,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["socket_port",{"_index":22315,"title":{},"body":{"interfaces/TldrawConfig.html":{},"classes/TldrawWs.html":{}}}],["socketio",{"_index":24564,"title":{},"body":{"dependencies.html":{}}}],["software",{"_index":24652,"title":{"additional-documentation/nestjs-application/software-architecture.html":{}},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["sold",{"_index":24934,"title":{},"body":{"license.html":{}}}],["sole",{"_index":24807,"title":{},"body":{"license.html":{}}}],["solely",{"_index":24815,"title":{},"body":{"license.html":{}}}],["solution",{"_index":3380,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"modules/ToolLaunchModule.html":{},"interfaces/UserBoardRoles.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["solutions",{"_index":25214,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["solve",{"_index":21672,"title":{},"body":{"injectables/TaskRepo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["somejson",{"_index":2094,"title":{},"body":{"classes/AxiosErrorFactory.html":{}}}],["somemethod",{"_index":25630,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["someotherservice",{"_index":25491,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["something",{"_index":13686,"title":{},"body":{"classes/IdTokenCreationLoggableException.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["sometimes",{"_index":26074,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["sonstige",{"_index":19482,"title":{},"body":{"classes/SanisGruppenResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{}}}],["sonstige_gruppenzugehoerige",{"_index":19474,"title":{},"body":{"classes/SanisGruppenResponse.html":{}}}],["soon",{"_index":25988,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["sort",{"_index":4785,"title":{},"body":{"classes/ClassSortParams.html":{},"interfaces/CollectionFilePath.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["sort.id",{"_index":11026,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{},"injectables/UserDORepo.html":{}}}],["sort.name",{"_index":11027,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{}}}],["sort.params.ts",{"_index":20556,"title":{},"body":{"classes/SortExternalToolParams.html":{}}}],["sortby",{"_index":3297,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/ClassSortParams.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ImportUserMapper.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{}}}],["sortby(resolved",{"_index":3367,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["sortbyoriginalorder",{"_index":3248,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["sortbyoriginalorder(resolved",{"_index":3276,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["sortbypos",{"_index":3366,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["sortbypos.map",{"_index":3368,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["sortedbsondocuments",{"_index":5289,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["sortedchildren",{"_index":3555,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["sortedimages",{"_index":16267,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["sortedimages.find((i",{"_index":16274,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["sortedimages.sort((a",{"_index":16268,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["sortexternaltoolparams",{"_index":10781,"title":{"classes/SortExternalToolParams.html":{}},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/SortExternalToolParams.html":{},"controllers/ToolController.html":{}}}],["sorthelper",{"_index":20561,"title":{"classes/SortHelper.html":{}},"body":{"classes/SortHelper.html":{}}}],["sortimportuserparams",{"_index":13877,"title":{"classes/SortImportUserParams.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"classes/SortImportUserParams.html":{}}}],["sorting",{"_index":21590,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["sorting.mapper.ts",{"_index":11022,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{}}}],["sorting.mapper.ts:7",{"_index":11025,"title":{},"body":{"classes/ExternalToolSortingMapper.html":{}}}],["sorting.ts",{"_index":25245,"title":{},"body":{"todo.html":{}}}],["sortingparams",{"_index":4786,"title":{"classes/SortingParams.html":{}},"body":{"classes/ClassSortParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{}}}],["sortingparams:10",{"_index":4789,"title":{},"body":{"classes/ClassSortParams.html":{}}}],["sortingparams:14",{"_index":20559,"title":{},"body":{"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{}}}],["sortingparams:18",{"_index":4791,"title":{},"body":{"classes/ClassSortParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{}}}],["sortingquery",{"_index":10783,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"controllers/GroupController.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"controllers/ToolController.html":{}}}],["sortingquery.sortby",{"_index":12738,"title":{},"body":{"controllers/GroupController.html":{}}}],["sortingquery.sortorder",{"_index":10841,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"controllers/GroupController.html":{},"classes/ImportUserMapper.html":{}}}],["sortorder",{"_index":770,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/ClassSortParams.html":{},"injectables/CourseUc.html":{},"injectables/DashboardUc.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FileRecordRepo.html":{},"interfaces/IFindOptions.html":{},"injectables/LessonRepo.html":{},"injectables/NewsUc.html":{},"interfaces/Pagination.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["sortorder.asc",{"_index":790,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/ClassSortParams.html":{},"injectables/DashboardUc.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/LessonRepo.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["sortorder.desc",{"_index":7938,"title":{},"body":{"injectables/CourseUc.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/FileRecordRepo.html":{},"injectables/NewsUc.html":{},"classes/SortHelper.html":{},"injectables/TaskUC.html":{},"injectables/UserRepo.html":{}}}],["sortordermap",{"_index":10784,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"interfaces/IFindOptions.html":{},"classes/ImportUserMapper.html":{},"interfaces/Pagination.html":{},"injectables/UserDORepo.html":{}}}],["sortreferences",{"_index":8446,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["source",{"_index":4,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"modules/AccountApiModule.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"interfaces/AccountConfig.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthCodeFailureLoggableException.html":{},"modules/AuthenticationApiModule.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizableObject.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"modules/AuthorizationModule.html":{},"classes/AuthorizationParams.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"modules/BoardApiModule.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"modules/BoardModule.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"modules/CalendarModule.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"modules/ClassModule.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/CommonCartridgeConfig.html":{},"interfaces/CommonCartridgeElement.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"modules/CopyHelperModule.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"modules/CoreModule.html":{},"interfaces/CoreModuleConfig.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/DatabaseManagementModule.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"modules/DeletionModule.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"modules/ErrorModule.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FeathersError.html":{},"modules/FeathersModule.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{},"classes/FileUrlParams.html":{},"modules/FilesModule.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"modules/GroupModule.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"interfaces/IdentityManagementConfig.html":{},"modules/IdentityManagementModule.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/InterceptorConfig.html":{},"modules/InterceptorModule.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"injectables/JwtAuthGuard.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"modules/KeycloakAdministrationModule.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"modules/KeycloakConfigurationModule.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Learnroom.html":{},"modules/LearnroomApiModule.html":{},"interfaces/LearnroomElement.html":{},"modules/LearnroomModule.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/LessonApiModule.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"modules/LessonModule.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"interfaces/Loggable.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"modules/LoggerModule.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"modules/LtiToolModule.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MongoPatterns.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"modules/NewsModule.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"modules/OauthApiModule.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"modules/OauthProviderServiceModule.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"classes/ProvisioningDto.html":{},"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"modules/PseudonymModule.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"modules/RegistrationPinModule.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"modules/RocketChatUserModule.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"modules/RoleModule.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"modules/SystemModule.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"modules/TaskApiModule.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"modules/TaskModule.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawClientModule.html":{},"interfaces/TldrawConfig.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/TokenGenerator.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"interfaces/ToolVersion.html":{},"injectables/ToolVersionService.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"modules/UserApiModule.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"modules/ValidationModule.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"dependencies.html":{},"license.html":{}}}],["source.entity",{"_index":12810,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["source.entity.ts",{"_index":10056,"title":{},"body":{"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{}}}],["source.entity.ts:13",{"_index":10059,"title":{},"body":{"classes/ExternalSourceEntity.html":{}}}],["source.entity.ts:16",{"_index":10058,"title":{},"body":{"classes/ExternalSourceEntity.html":{}}}],["source.person.geburt?.datum",{"_index":19618,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.person.name.familienname",{"_index":19615,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.person.name.vorname",{"_index":19614,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.personenkontexte[0].gruppen",{"_index":19621,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.personenkontexte[0].id",{"_index":19629,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.personenkontexte[0].organisation.anschrift?.ort",{"_index":19613,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.personenkontexte[0].organisation.id.tostring",{"_index":19612,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.personenkontexte[0].organisation.kennung.replace",{"_index":19609,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.personenkontexte[0].organisation.name",{"_index":19611,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.pid",{"_index":19617,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["source.response",{"_index":12867,"title":{},"body":{"classes/GroupResponse.html":{}}}],["source.response.ts",{"_index":10065,"title":{},"body":{"classes/ExternalSourceResponse.html":{}}}],["source.response.ts:5",{"_index":10067,"title":{},"body":{"classes/ExternalSourceResponse.html":{}}}],["source.response.ts:8",{"_index":10066,"title":{},"body":{"classes/ExternalSourceResponse.html":{}}}],["source.ts",{"_index":10051,"title":{},"body":{"classes/ExternalSource.html":{}}}],["source.ts:2",{"_index":10053,"title":{},"body":{"classes/ExternalSource.html":{}}}],["source.ts:4",{"_index":10052,"title":{},"body":{"classes/ExternalSource.html":{}}}],["sourcecode",{"_index":25521,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["sourcedescription",{"_index":7822,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["sourceentityid",{"_index":18655,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["sourceentityname",{"_index":18659,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["sourceexternalid",{"_index":19971,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["sourceid",{"_index":7138,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"injectables/CopyFilesService.html":{},"interfaces/FileDO.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/FilesStorageClientMapper.html":{}}}],["sourceoptions",{"_index":4548,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{}}}],["sourceparent",{"_index":3695,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["sourceparent.removechild(child",{"_index":3697,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["sourceparentid",{"_index":18444,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{},"interfaces/SchoolSpecificFileCopyService.html":{}}}],["sourcepath",{"_index":7243,"title":{},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{}}}],["sources",{"_index":25339,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["sourceschoolid",{"_index":5417,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"interfaces/SchoolSpecificFileCopyService.html":{}}}],["sourceschoolnumber",{"_index":20036,"title":{},"body":{"classes/SchoolNumberMismatchLoggableException.html":{}}}],["sourcesystem",{"_index":23531,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["sourcesystemid",{"_index":23509,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationService.html":{}}}],["sourcetype",{"_index":16502,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{}}}],["space",{"_index":586,"title":{},"body":{"classes/AccountFactory.html":{},"classes/OauthClientBody.html":{}}}],["spalten",{"_index":5486,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["spare",{"_index":24896,"title":{},"body":{"license.html":{}}}],["sparse",{"_index":7512,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{},"classes/UsersList.html":{}}}],["speak",{"_index":24675,"title":{},"body":{"license.html":{}}}],["spec.ts",{"_index":25361,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["special",{"_index":11649,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["specialized",{"_index":25427,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["specific",{"_index":1083,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/BoardDoCopyService.html":{},"classes/BoardElementResponse.html":{},"controllers/CollaborativeStorageController.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"injectables/FeathersAuthorizationService.html":{},"classes/FilterNewsParams.html":{},"classes/IdentityManagementService.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SingleColumnBoardResponse.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["specifically",{"_index":24663,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["specification",{"_index":25591,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["specifications",{"_index":25648,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["specified",{"_index":2834,"title":{},"body":{"injectables/BatchDeletionService.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"classes/GuardAgainst.html":{},"license.html":{}}}],["specifies",{"_index":22892,"title":{},"body":{"classes/ToolLaunchRequestResponse.html":{},"license.html":{}}}],["specify",{"_index":11641,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"license.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["spies",{"_index":25765,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["spirit",{"_index":25147,"title":{},"body":{"license.html":{}}}],["split",{"_index":18675,"title":{},"body":{"classes/ReferencesService.html":{},"interfaces/ServerConfig.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["splitting",{"_index":26081,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["sql",{"_index":817,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["squashed",{"_index":25848,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["src",{"_index":25520,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["src/config",{"_index":1026,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["src/core",{"_index":12008,"title":{},"body":{"interfaces/FileStorageConfig.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"interfaces/ServerConfig.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["src/core/error/dto",{"_index":12726,"title":{},"body":{"controllers/GroupController.html":{}}}],["src/core/error/dto/error.response",{"_index":4197,"title":{},"body":{"classes/BusinessError.html":{}}}],["src/core/error/interface",{"_index":4198,"title":{},"body":{"classes/BusinessError.html":{}}}],["src/core/error/loggable",{"_index":13424,"title":{},"body":{"classes/HydraOauthFailedLoggableException.html":{},"classes/TokenRequestLoggableException.html":{}}}],["src/core/error/loggable/error.loggable",{"_index":15080,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["src/core/error/utils",{"_index":1314,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/BBBService.html":{},"injectables/CalendarService.html":{},"injectables/DeletionClient.html":{},"classes/ErrorMapper.html":{},"injectables/LdapService.html":{},"injectables/S3ClientAdapter.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{}}}],["src/core/logger",{"_index":1027,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"classes/AxiosErrorLoggable.html":{},"injectables/BaseDORepo.html":{},"modules/BoardApiModule.html":{},"injectables/BoardCopyService.html":{},"modules/BoardModule.html":{},"injectables/BoardUc.html":{},"modules/CacheWrapperModule.html":{},"injectables/CardUc.html":{},"interfaces/CleanOptions.html":{},"injectables/CollaborativeStorageAdapter.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnUc.html":{},"modules/CommonToolModule.html":{},"modules/ContextExternalToolModule.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DrawingElementAdapterService.html":{},"injectables/DurationLoggingInterceptor.html":{},"injectables/ElementUc.html":{},"modules/EncryptionModule.html":{},"injectables/EtherpadService.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolRepo.html":{},"injectables/ExternalToolService.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GlobalErrorFilter.html":{},"modules/GroupApiModule.html":{},"classes/GroupRoleUnknownLoggable.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"modules/ImportUserModule.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"modules/KeycloakModule.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"modules/LessonModule.html":{},"modules/LtiToolModule.html":{},"modules/ManagementModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsMapper.html":{},"modules/NewsModule.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"modules/OauthApiModule.html":{},"classes/OauthConfigMissingLoggableException.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"injectables/OidcProvisioningService.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/PreviewActionsLoggable.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymModule.html":{},"modules/RedisModule.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"modules/RegistrationPinModule.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SymetricKeyEncryptionService.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"modules/ToolApiModule.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"modules/UserLoginMigrationApiModule.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"modules/UserLoginMigrationModule.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationIsNotEnabled.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"modules/UserModule.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["src/core/logger/interfaces",{"_index":12410,"title":{},"body":{"classes/ForbiddenLoggableException.html":{},"classes/NotFoundLoggableException.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/ValidationErrorLoggableException.html":{}}}],["src/core/logger/logger.module",{"_index":673,"title":{},"body":{"modules/AccountModule.html":{}}}],["src/core/logger/logging.utils",{"_index":12587,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["src/core/logger/types",{"_index":12411,"title":{},"body":{"classes/ForbiddenLoggableException.html":{},"classes/NotFoundLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/ValidationErrorLoggableException.html":{}}}],["src/imports",{"_index":14370,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["src/infra/database",{"_index":1030,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{}}}],["src/infra/mail/interfaces/mail",{"_index":20135,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["src/infra/rabbitmq",{"_index":1032,"title":{},"body":{"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{}}}],["src/modules/authentication",{"_index":394,"title":{},"body":{"controllers/AccountController.html":{}}}],["src/modules/authentication/decorator/auth.decorator",{"_index":396,"title":{},"body":{"controllers/AccountController.html":{}}}],["src/modules/authorization",{"_index":15556,"title":{},"body":{"injectables/LessonService.html":{}}}],["src/modules/authorization/domain",{"_index":13061,"title":{},"body":{"classes/H5PContentMapper.html":{}}}],["src/modules/database",{"_index":25800,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["src/modules/group",{"_index":12930,"title":{},"body":{"injectables/GroupRule.html":{}}}],["src/modules/h5p",{"_index":13047,"title":{},"body":{"classes/H5PContentFactory.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/LibrariesContentType.html":{}}}],["src/shared/domain/entity/lesson.entity",{"_index":5714,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["sso",{"_index":1471,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/OauthConfigMissingLoggableException.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["sso.controller",{"_index":17002,"title":{},"body":{"modules/OauthApiModule.html":{}}}],["sso.controller.ts",{"_index":17488,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["sso.controller.ts:20",{"_index":17494,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["sso.controller.ts:30",{"_index":17497,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["sso_auth_code_step",{"_index":1474,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{}}}],["sso_internal_error",{"_index":17097,"title":{},"body":{"classes/OauthConfigMissingLoggableException.html":{}}}],["sso_jwt_problem",{"_index":13693,"title":{},"body":{"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{}}}],["sso_login_failed",{"_index":17516,"title":{},"body":{"classes/OauthSsoErrorLoggableException.html":{}}}],["sso_user_not_found_after_provisioning",{"_index":23801,"title":{},"body":{"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["sso_user_notfound",{"_index":13735,"title":{},"body":{"classes/IdTokenUserNotFoundLoggableException.html":{}}}],["ssoauthenticationerror",{"_index":1892,"title":{},"body":{"classes/AuthorizationParams.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["stack",{"_index":1477,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosErrorLoggable.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenLoggableException.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NotFoundLoggableException.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/ValidationErrorLoggableException.html":{},"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["stand",{"_index":5499,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["standard",{"_index":24773,"title":{},"body":{"license.html":{}}}],["standards",{"_index":24775,"title":{},"body":{"license.html":{}}}],["start",{"_index":876,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"injectables/BatchDeletionUc.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/DeleteFilesConsole.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"controllers/H5PEditorController.html":{},"classes/H5pFileDto.html":{},"classes/ImportUserListResponse.html":{},"injectables/KeycloakMigrationService.html":{},"classes/ListOauthClientsParams.html":{},"classes/NewsListResponse.html":{},"classes/PaginationResponse.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/TaskListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"index.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["start(req",{"_index":24052,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["start.loggable.ts",{"_index":19929,"title":{},"body":{"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/UserLoginMigrationStartLoggable.html":{}}}],["start.loggable.ts:11",{"_index":19931,"title":{},"body":{"classes/SchoolInUserMigrationStartLoggable.html":{}}}],["start.loggable.ts:4",{"_index":19930,"title":{},"body":{"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/UserLoginMigrationStartLoggable.html":{}}}],["start.loggable.ts:7",{"_index":23688,"title":{},"body":{"classes/UserLoginMigrationStartLoggable.html":{}}}],["startdate",{"_index":7454,"title":{},"body":{"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{}}}],["started",{"_index":1434,"title":{"index.html":{},"license.html":{},"todo.html":{}},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationStartedLoggable.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["started.loggable.ts",{"_index":23783,"title":{},"body":{"classes/UserMigrationStartedLoggable.html":{}}}],["started.loggable.ts:5",{"_index":23784,"title":{},"body":{"classes/UserMigrationStartedLoggable.html":{}}}],["started.loggable.ts:8",{"_index":23785,"title":{},"body":{"classes/UserMigrationStartedLoggable.html":{}}}],["startedat",{"_index":23510,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationService.html":{}}}],["startet",{"_index":26071,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["starting",{"_index":24589,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["startmigration",{"_index":20579,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationService.html":{}}}],["startmigration(@currentuser",{"_index":23488,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["startmigration(currentuser",{"_index":23459,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["startmigration(schoolid",{"_index":23658,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["startmigration(userid",{"_index":20583,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["starts",{"_index":15782,"title":{},"body":{"controllers/LoginController.html":{},"additional-documentation/nestjs-application.html":{}}}],["startschoolinusermigration",{"_index":13871,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["startschoolinusermigration(currentuser",{"_index":13893,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["starttime",{"_index":2313,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{},"injectables/BatchDeletionUc.html":{},"injectables/SchoolMigrationService.html":{}}}],["startup",{"_index":25908,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["startuserloginmigrationuc",{"_index":20576,"title":{"injectables/StartUserLoginMigrationUc.html":{}},"body":{"injectables/StartUserLoginMigrationUc.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{}}}],["state",{"_index":289,"title":{},"body":{"classes/AccountByIdBodyParams.html":{},"classes/AuthorizationParams.html":{},"modules/AuthorizationReferenceModule.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/FileMetadata.html":{},"injectables/HydraSsoService.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"classes/Path.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{},"injectables/TldrawWsService.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["state.entity",{"_index":19670,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["state.entity.ts",{"_index":7426,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["state.entity.ts:14",{"_index":7430,"title":{},"body":{"classes/County.html":{}}}],["state.entity.ts:21",{"_index":7433,"title":{},"body":{"classes/County.html":{}}}],["state.entity.ts:23",{"_index":7432,"title":{},"body":{"classes/County.html":{}}}],["state.entity.ts:25",{"_index":7431,"title":{},"body":{"classes/County.html":{}}}],["state.entity.ts:31",{"_index":11418,"title":{},"body":{"entities/FederalStateEntity.html":{}}}],["state.entity.ts:34",{"_index":11415,"title":{},"body":{"entities/FederalStateEntity.html":{}}}],["state.entity.ts:37",{"_index":11417,"title":{},"body":{"entities/FederalStateEntity.html":{}}}],["state.entity.ts:40",{"_index":11416,"title":{},"body":{"entities/FederalStateEntity.html":{}}}],["state.enum",{"_index":24007,"title":{},"body":{"classes/VideoConference-1.html":{},"classes/VideoConferenceJoin.html":{}}}],["state.factory",{"_index":15212,"title":{},"body":{"classes/LegacySchoolFactory.html":{}}}],["state.repo.ts",{"_index":11421,"title":{},"body":{"injectables/FederalStateRepo.html":{}}}],["state.repo.ts:12",{"_index":11422,"title":{},"body":{"injectables/FederalStateRepo.html":{}}}],["state.repo.ts:8",{"_index":11423,"title":{},"body":{"injectables/FederalStateRepo.html":{}}}],["state.response",{"_index":9536,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceInfoResponse.html":{}}}],["state.service.ts",{"_index":11428,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["state.service.ts:10",{"_index":11433,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["state.service.ts:6",{"_index":11431,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["stated",{"_index":24800,"title":{},"body":{"license.html":{}}}],["statelessauthorizationparams",{"_index":17492,"title":{"classes/StatelessAuthorizationParams.html":{}},"body":{"controllers/OauthSSOController.html":{},"classes/StatelessAuthorizationParams.html":{}}}],["statemapping",{"_index":24275,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["statemapping[state",{"_index":24282,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["statement",{"_index":23100,"title":{},"body":{"injectables/ToolVersionService.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{}}}],["static",{"_index":467,"title":{},"body":{"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"interfaces/AccountParams.html":{},"classes/AccountResponseMapper.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AntivirusModule.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/BaseFactory.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/BoardResponseMapper.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/CardResponseMapper.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/CleanOptions.html":{},"classes/ColumnBoardFactory.html":{},"classes/ColumnResponseMapper.html":{},"injectables/CommonToolValidationService.html":{},"classes/ContentElementResponseFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/CopyFileResponseBuilder.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyMapper.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CourseMapper.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"interfaces/CreateJwtParams.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomParameterFactory.html":{},"classes/DashboardEntity.html":{},"classes/DashboardMapper.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/DeletionLogMapper.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"classes/DeletionRequestOutputBuilder.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ErrorMapper.html":{},"classes/ErrorUtils.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolMetadataMapper.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElementResponseMapper.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordMapper.html":{},"classes/FileResponseBuilder.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"classes/GridElement.html":{},"classes/GroupDomainMapper.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/IGridElement.html":{},"interfaces/IToolFeatures.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"entities/InstalledLibrary.html":{},"classes/IservMapper.html":{},"classes/JwtExtractor.html":{},"classes/JwtTestFactory.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"classes/KeycloakConsole.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LibraryName.html":{},"classes/LinkElementResponseMapper.html":{},"classes/LoggingUtils.html":{},"classes/LoginResponseMapper.html":{},"classes/LtiRoleMapper.html":{},"classes/LtiToolFactory.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"classes/MetadataTypeMapper.html":{},"interfaces/MigrationOptions.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MongoPatterns.html":{},"entities/News.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/Path.html":{},"classes/PreviewBuilder.html":{},"classes/PreviewGeneratorBuilder.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/PseudonymMapper.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/ReferencesService.html":{},"classes/ResolvedUserMapper.html":{},"interfaces/RetryOptions.html":{},"classes/RichTextElementResponseMapper.html":{},"modules/RocketChatModule.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"modules/S3ClientModule.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolInfoMapper.html":{},"entities/SchoolNews.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenResponseMapper.html":{},"classes/SortHelper.html":{},"classes/StringValidator.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/SubmissionMapper.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"classes/SystemResponseMapper.html":{},"classes/TargetInfoMapper.html":{},"classes/TaskFactory.html":{},"classes/TaskMapper.html":{},"classes/TaskStatusMapper.html":{},"classes/TeamFactory.html":{},"entities/TeamNews.html":{},"classes/TeamUserFactory.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWsFactory.html":{},"modules/TldrawWsTestModule.html":{},"classes/TokenRequestMapper.html":{},"classes/ToolConfiguration.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolContextMapper.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolStatusResponseMapper.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserInfoMapper.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserMapper.html":{},"classes/UserMatchMapper.html":{},"classes/UsersList.html":{},"classes/VideoConferenceConfiguration.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"additional-documentation/nestjs-application.html":{}}}],["stating",{"_index":24852,"title":{},"body":{"license.html":{}}}],["statistic.builder.ts",{"_index":9269,"title":{},"body":{"classes/DeletionLogStatisticBuilder.html":{}}}],["statistic.builder.ts:5",{"_index":9271,"title":{},"body":{"classes/DeletionLogStatisticBuilder.html":{}}}],["statistics",{"_index":9263,"title":{},"body":{"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef-1.html":{}}}],["statistics_reporting=false",{"_index":25958,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["status",{"_index":402,"title":{},"body":{"controllers/AccountController.html":{},"interfaces/AdminIdAndToken.html":{},"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/AxiosErrorFactory.html":{},"classes/AxiosResponseImp.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"controllers/CardController.html":{},"controllers/CollaborativeStorageController.html":{},"controllers/ColumnController.html":{},"classes/ConsentRequestBody.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/CopyApiResponse.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"injectables/CourseCopyService.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionRequest.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"controllers/DeletionRequestsController.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DtoCreator.html":{},"controllers/ElementController.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"entities/FileRecord.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"classes/ForbiddenOperationError.html":{},"controllers/GroupController.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"controllers/H5PEditorController.html":{},"injectables/HydraOauthUc.html":{},"interfaces/IError.html":{},"classes/LdapConnectionError.html":{},"controllers/LoginController.html":{},"classes/LoginRequestBody.html":{},"interfaces/Meta.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"interfaces/NextcloudGroups.html":{},"classes/OAuthRejectableBody.html":{},"interfaces/OcsResponse.html":{},"interfaces/ParentInfo.html":{},"interfaces/PreviewFileOptions.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewOptions.html":{},"interfaces/PreviewResponseMessage.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"interfaces/RpcMessage.html":{},"classes/ScanResultDto.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolService.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"controllers/ShareTokenController.html":{},"interfaces/SuccessfulRes.html":{},"controllers/SystemController.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"classes/TaskResponse.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"controllers/TldrawController.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"injectables/ToolLaunchService.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/ValidationError.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"license.html":{}}}],["status.copyentity",{"_index":3309,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CopyHelperService.html":{}}}],["status.copyentity.id",{"_index":3354,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["status.copyentity.title",{"_index":3355,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["status.elements?.foreach((elementstatus",{"_index":7358,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["status.enum",{"_index":2154,"title":{},"body":{"interfaces/BBBBaseResponse.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["status.factory",{"_index":19723,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["status.isoutdatedonscopecontext",{"_index":22928,"title":{},"body":{"injectables/ToolLaunchService.html":{},"classes/ToolStatusResponseMapper.html":{}}}],["status.isoutdatedonscopeschool",{"_index":19853,"title":{},"body":{"injectables/SchoolExternalToolService.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/ToolLaunchService.html":{},"classes/ToolStatusResponseMapper.html":{}}}],["status.mapper",{"_index":21547,"title":{},"body":{"classes/TaskMapper.html":{}}}],["status.mapper.ts",{"_index":21769,"title":{},"body":{"classes/TaskStatusMapper.html":{}}}],["status.mapper.ts:5",{"_index":21770,"title":{},"body":{"classes/TaskStatusMapper.html":{}}}],["status.originalentity",{"_index":7361,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["status.response",{"_index":4060,"title":{},"body":{"classes/BoardTaskResponse.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskStatusMapper.html":{}}}],["status.response.ts",{"_index":4068,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/TaskStatusResponse.html":{}}}],["status.response.ts:14",{"_index":21778,"title":{},"body":{"classes/TaskStatusResponse.html":{}}}],["status.response.ts:16",{"_index":6669,"title":{},"body":{"classes/ContextExternalToolConfigurationStatusResponse.html":{}}}],["status.response.ts:17",{"_index":21777,"title":{},"body":{"classes/TaskStatusResponse.html":{}}}],["status.response.ts:20",{"_index":21773,"title":{},"body":{"classes/TaskStatusResponse.html":{}}}],["status.response.ts:21",{"_index":4081,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{}}}],["status.response.ts:23",{"_index":21774,"title":{},"body":{"classes/TaskStatusResponse.html":{}}}],["status.response.ts:24",{"_index":4080,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{}}}],["status.response.ts:26",{"_index":21776,"title":{},"body":{"classes/TaskStatusResponse.html":{}}}],["status.response.ts:27",{"_index":4076,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{}}}],["status.response.ts:29",{"_index":21775,"title":{},"body":{"classes/TaskStatusResponse.html":{}}}],["status.response.ts:3",{"_index":4075,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"classes/TaskStatusResponse.html":{}}}],["status.response.ts:30",{"_index":4077,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{}}}],["status.response.ts:33",{"_index":4079,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{}}}],["status.response.ts:36",{"_index":4078,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{}}}],["status.response.ts:9",{"_index":6673,"title":{},"body":{"classes/ContextExternalToolConfigurationStatusResponse.html":{}}}],["status.status",{"_index":3312,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["status.ts",{"_index":6660,"title":{},"body":{"classes/ContextExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{}}}],["status.ts:2",{"_index":6662,"title":{},"body":{"classes/ContextExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{}}}],["status.ts:4",{"_index":6661,"title":{},"body":{"classes/ContextExternalToolConfigurationStatus.html":{}}}],["status_code",{"_index":6219,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"interfaces/RejectRequestBody.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["statuscode",{"_index":1081,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/Meta.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OcsResponse.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"interfaces/SuccessfulRes.html":{}}}],["statusdto",{"_index":21550,"title":{},"body":{"classes/TaskMapper.html":{}}}],["statuses",{"_index":3275,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["statuses.foreach((status",{"_index":3348,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["statustext",{"_index":2114,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["stay",{"_index":25449,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["stemming",{"_index":5327,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["steps",{"_index":24687,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["stepsexample",{"_index":26010,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["stepshow",{"_index":26020,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["stick",{"_index":25657,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["still",{"_index":7801,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"injectables/TldrawWsService.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["stop",{"_index":5325,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/TimeoutInterceptor.html":{}}}],["storage",{"_index":3851,"title":{},"body":{"modules/BoardModule.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"controllers/CollaborativeStorageController.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto-1.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileParamBuilder.html":{},"interfaces/FileRequestInfo.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageClientModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"modules/LessonModule.html":{},"injectables/LessonService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/RecursiveDeleteVisitor.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"interfaces/ServerConfig.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/SubmissionService.html":{},"injectables/TaskCopyService.html":{},"modules/TaskModule.html":{},"injectables/TaskService.html":{},"dependencies.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["storage'})@apiresponse({status",{"_index":5047,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["storage.adapter",{"_index":5029,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["storage.adapter.ts",{"_index":4951,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["storage.adapter.ts:15",{"_index":4967,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["storage.adapter.ts:30",{"_index":4975,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["storage.adapter.ts:40",{"_index":4981,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["storage.adapter.ts:49",{"_index":4973,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["storage.adapter.ts:58",{"_index":4970,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["storage.adapter.ts:67",{"_index":4977,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["storage.config",{"_index":12320,"title":{},"body":{"modules/FilesStorageModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"injectables/PreviewService.html":{}}}],["storage.config.ts",{"_index":12004,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["storage.const",{"_index":1319,"title":{},"body":{"injectables/AntivirusService.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"controllers/FileSecurityController.html":{}}}],["storage.consumer.ts",{"_index":12240,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["storage.consumer.ts:14",{"_index":12245,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["storage.consumer.ts:31",{"_index":12249,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["storage.consumer.ts:48",{"_index":12253,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["storage.consumer.ts:63",{"_index":12251,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["storage.controller.ts",{"_index":5039,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["storage.controller.ts:32",{"_index":5053,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["storage.mapper.ts",{"_index":12274,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage.mapper.ts:15",{"_index":12282,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage.mapper.ts:33",{"_index":12286,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage.mapper.ts:39",{"_index":12280,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage.mapper.ts:49",{"_index":12284,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage.mapper.ts:53",{"_index":12283,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage.mapper.ts:65",{"_index":12288,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage.module",{"_index":12162,"title":{},"body":{"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{}}}],["storage.module.ts",{"_index":5076,"title":{},"body":{"modules/CollaborativeStorageModule.html":{},"modules/FilesStorageModule.html":{}}}],["storage.params.ts",{"_index":7202,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["storage.params.ts:100",{"_index":7270,"title":{},"body":{"classes/CopyFilesOfParentPayload.html":{}}}],["storage.params.ts:103",{"_index":7268,"title":{},"body":{"classes/CopyFilesOfParentPayload.html":{}}}],["storage.params.ts:106",{"_index":7269,"title":{},"body":{"classes/CopyFilesOfParentPayload.html":{}}}],["storage.params.ts:113",{"_index":17941,"title":{},"body":{"classes/PreviewParams.html":{}}}],["storage.params.ts:118",{"_index":17943,"title":{},"body":{"classes/PreviewParams.html":{}}}],["storage.params.ts:12",{"_index":11887,"title":{},"body":{"classes/FileRecordParams.html":{}}}],["storage.params.ts:126",{"_index":17939,"title":{},"body":{"classes/PreviewParams.html":{}}}],["storage.params.ts:16",{"_index":11884,"title":{},"body":{"classes/FileRecordParams.html":{}}}],["storage.params.ts:20",{"_index":11886,"title":{},"body":{"classes/FileRecordParams.html":{}}}],["storage.params.ts:27",{"_index":12101,"title":{},"body":{"classes/FileUrlParams.html":{}}}],["storage.params.ts:32",{"_index":12098,"title":{},"body":{"classes/FileUrlParams.html":{}}}],["storage.params.ts:36",{"_index":12100,"title":{},"body":{"classes/FileUrlParams.html":{}}}],["storage.params.ts:42",{"_index":11722,"title":{},"body":{"classes/FileParams.html":{}}}],["storage.params.ts:48",{"_index":9564,"title":{},"body":{"classes/DownloadFileParams.html":{}}}],["storage.params.ts:52",{"_index":9563,"title":{},"body":{"classes/DownloadFileParams.html":{}}}],["storage.params.ts:58",{"_index":19648,"title":{},"body":{"classes/ScanResultParams.html":{}}}],["storage.params.ts:62",{"_index":19649,"title":{},"body":{"classes/ScanResultParams.html":{}}}],["storage.params.ts:66",{"_index":19647,"title":{},"body":{"classes/ScanResultParams.html":{}}}],["storage.params.ts:72",{"_index":20555,"title":{},"body":{"classes/SingleFileParams.html":{}}}],["storage.params.ts:79",{"_index":18731,"title":{},"body":{"classes/RenameFileParams.html":{}}}],["storage.params.ts:85",{"_index":7267,"title":{},"body":{"classes/CopyFilesOfParentParams.html":{}}}],["storage.params.ts:91",{"_index":7207,"title":{},"body":{"classes/CopyFileParams.html":{}}}],["storage.params.ts:95",{"_index":7205,"title":{},"body":{"classes/CopyFileParams.html":{}}}],["storage.producer",{"_index":12185,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{},"modules/FilesStorageClientModule.html":{}}}],["storage.producer.ts",{"_index":12336,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["storage.producer.ts:18",{"_index":12340,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["storage.producer.ts:28",{"_index":12341,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["storage.producer.ts:37",{"_index":12344,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["storage.producer.ts:46",{"_index":12342,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["storage.response.ts",{"_index":7172,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["storage.response.ts:22",{"_index":11931,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:26",{"_index":11933,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:29",{"_index":11934,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:32",{"_index":11939,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:35",{"_index":11937,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:38",{"_index":11938,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:41",{"_index":11929,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:44",{"_index":11932,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:47",{"_index":11935,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:50",{"_index":11936,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:53",{"_index":11930,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:56",{"_index":11857,"title":{},"body":{"classes/FileRecordListResponse.html":{}}}],["storage.response.ts:6",{"_index":11928,"title":{},"body":{"classes/FileRecordResponse.html":{}}}],["storage.response.ts:66",{"_index":7231,"title":{},"body":{"classes/CopyFileResponse.html":{}}}],["storage.response.ts:74",{"_index":7232,"title":{},"body":{"classes/CopyFileResponse.html":{}}}],["storage.response.ts:77",{"_index":7234,"title":{},"body":{"classes/CopyFileResponse.html":{}}}],["storage.response.ts:81",{"_index":7233,"title":{},"body":{"classes/CopyFileResponse.html":{}}}],["storage.response.ts:84",{"_index":7174,"title":{},"body":{"classes/CopyFileListResponse.html":{}}}],["storage.service",{"_index":5139,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{},"injectables/FilesStorageConsumer.html":{}}}],["storage.service.ts",{"_index":5079,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:119",{"_index":22077,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:12",{"_index":22067,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:14",{"_index":5085,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["storage.service.ts:18",{"_index":22069,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:24",{"_index":22075,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:29",{"_index":22071,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:32",{"_index":5090,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["storage.service.ts:36",{"_index":22073,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:43",{"_index":5098,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:47",{"_index":22082,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:61",{"_index":5087,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["storage.service.ts:65",{"_index":5086,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/TemporaryFileStorage.html":{}}}],["storage.service.ts:69",{"_index":5094,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["storage.service.ts:79",{"_index":22088,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["storage.ts",{"_index":7137,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{}}}],["storage.uc",{"_index":5059,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["storage.uc.ts",{"_index":5127,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["storage.uc.ts:21",{"_index":5137,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["storage.uc.ts:34",{"_index":5133,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["storage.uc.ts:38",{"_index":5132,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["storage.uc.ts:42",{"_index":5134,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["storage.uc.ts:9",{"_index":5131,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["storage/collaborative",{"_index":4950,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{}}}],["storage/controller/collaborative",{"_index":5038,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["storage/controller/dto/file",{"_index":7171,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["storage/controller/dto/scan",{"_index":19642,"title":{},"body":{"classes/ScanResultDto.html":{}}}],["storage/controller/dto/team",{"_index":21936,"title":{},"body":{"classes/TeamPermissionsBody.html":{},"classes/TeamRoleDto.html":{}}}],["storage/controller/file",{"_index":11978,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["storage/controller/files",{"_index":12239,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["storage/dto/file.dto.ts",{"_index":11442,"title":{},"body":{"classes/FileDto.html":{}}}],["storage/dto/file.dto.ts:11",{"_index":11447,"title":{},"body":{"classes/FileDto.html":{}}}],["storage/dto/file.dto.ts:13",{"_index":11445,"title":{},"body":{"classes/FileDto.html":{}}}],["storage/dto/file.dto.ts:15",{"_index":11446,"title":{},"body":{"classes/FileDto.html":{}}}],["storage/dto/file.dto.ts:4",{"_index":11444,"title":{},"body":{"classes/FileDto.html":{}}}],["storage/dto/team",{"_index":21964,"title":{},"body":{"classes/TeamRolePermissionsDto.html":{}}}],["storage/entity",{"_index":11851,"title":{},"body":{"classes/FileRecordFactory.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"modules/ServerConsoleModule.html":{}}}],["storage/entity/filerecord.entity.ts",{"_index":11747,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["storage/entity/filerecord.entity.ts:105",{"_index":11759,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:108",{"_index":11766,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:111",{"_index":11761,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:114",{"_index":11760,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:117",{"_index":11765,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:121",{"_index":11763,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:125",{"_index":11755,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:132",{"_index":11751,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:139",{"_index":11756,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:146",{"_index":11753,"title":{},"body":{"entities/FileRecord.html":{}}}],["storage/entity/filerecord.entity.ts:46",{"_index":11963,"title":{},"body":{"classes/FileRecordSecurityCheck.html":{}}}],["storage/entity/filerecord.entity.ts:49",{"_index":11961,"title":{},"body":{"classes/FileRecordSecurityCheck.html":{}}}],["storage/entity/filerecord.entity.ts:52",{"_index":11962,"title":{},"body":{"classes/FileRecordSecurityCheck.html":{}}}],["storage/entity/filerecord.entity.ts:55",{"_index":11960,"title":{},"body":{"classes/FileRecordSecurityCheck.html":{}}}],["storage/entity/filerecord.entity.ts:58",{"_index":11959,"title":{},"body":{"classes/FileRecordSecurityCheck.html":{}}}],["storage/files",{"_index":1318,"title":{},"body":{"injectables/AntivirusService.html":{},"interfaces/FileStorageConfig.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{}}}],["storage/helper",{"_index":3289,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["storage/helper/test",{"_index":22181,"title":{},"body":{"classes/TestHelper.html":{}}}],["storage/interface/interfaces.ts",{"_index":12485,"title":{},"body":{"interfaces/GetFileResponse.html":{},"interfaces/PreviewFileParams.html":{}}}],["storage/mapper/collaborative",{"_index":4997,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{}}}],["storage/mapper/copy",{"_index":7236,"title":{},"body":{"classes/CopyFileResponseBuilder.html":{}}}],["storage/mapper/file",{"_index":11460,"title":{},"body":{"classes/FileDtoBuilder.html":{},"classes/FileRecordMapper.html":{},"classes/FileResponseBuilder.html":{}}}],["storage/mapper/files",{"_index":12273,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["storage/mapper/preview.builder.ts",{"_index":17831,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["storage/mapper/preview.builder.ts:33",{"_index":17837,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["storage/mapper/preview.builder.ts:8",{"_index":17835,"title":{},"body":{"classes/PreviewBuilder.html":{}}}],["storage/mapper/team",{"_index":5140,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["storage/mapper/team.mapper.ts",{"_index":21911,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["storage/mapper/team.mapper.ts:12",{"_index":21914,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["storage/repo/filerecord",{"_index":11940,"title":{},"body":{"classes/FileRecordScope.html":{}}}],["storage/repo/filerecord.repo.ts",{"_index":11889,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:10",{"_index":11915,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:14",{"_index":11910,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:21",{"_index":11912,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:28",{"_index":11902,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:35",{"_index":11904,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:46",{"_index":11906,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:57",{"_index":11908,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:66",{"_index":11900,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/repo/filerecord.repo.ts:82",{"_index":11914,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["storage/service/preview.service.ts",{"_index":17952,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/service/preview.service.ts:14",{"_index":17957,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/service/preview.service.ts:23",{"_index":17963,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/service/preview.service.ts:37",{"_index":17961,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/service/preview.service.ts:45",{"_index":17959,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/service/preview.service.ts:52",{"_index":17968,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/service/preview.service.ts:73",{"_index":17966,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/service/preview.service.ts:83",{"_index":17964,"title":{},"body":{"injectables/PreviewService.html":{}}}],["storage/services/collaborative",{"_index":5078,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["storage/services/dto/team",{"_index":4983,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"classes/TeamPermissionsDto.html":{}}}],["storage/services/dto/team.dto",{"_index":4985,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["storage/services/dto/team.dto.ts",{"_index":21874,"title":{},"body":{"classes/TeamDto.html":{},"classes/TeamUserDto.html":{}}}],["storage/services/dto/team.dto.ts:11",{"_index":21880,"title":{},"body":{"classes/TeamDto.html":{}}}],["storage/services/dto/team.dto.ts:13",{"_index":21878,"title":{},"body":{"classes/TeamDto.html":{}}}],["storage/services/dto/team.dto.ts:23",{"_index":21995,"title":{},"body":{"classes/TeamUserDto.html":{}}}],["storage/services/dto/team.dto.ts:25",{"_index":21994,"title":{},"body":{"classes/TeamUserDto.html":{}}}],["storage/services/dto/team.dto.ts:27",{"_index":21993,"title":{},"body":{"classes/TeamUserDto.html":{}}}],["storage/services/dto/team.dto.ts:9",{"_index":21879,"title":{},"body":{"classes/TeamDto.html":{}}}],["storage/strategy/base.interface.strategy.ts",{"_index":5118,"title":{},"body":{"interfaces/CollaborativeStorageStrategy.html":{}}}],["storage/strategy/base.interface.strategy.ts:12",{"_index":5125,"title":{},"body":{"interfaces/CollaborativeStorageStrategy.html":{}}}],["storage/strategy/base.interface.strategy.ts:14",{"_index":5122,"title":{},"body":{"interfaces/CollaborativeStorageStrategy.html":{}}}],["storage/strategy/base.interface.strategy.ts:16",{"_index":5121,"title":{},"body":{"interfaces/CollaborativeStorageStrategy.html":{}}}],["storage/strategy/base.interface.strategy.ts:18",{"_index":5123,"title":{},"body":{"interfaces/CollaborativeStorageStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.interface.ts",{"_index":13010,"title":{},"body":{"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/Meta.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OcsResponse.html":{},"interfaces/SuccessfulRes.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts",{"_index":16722,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:129",{"_index":16749,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:158",{"_index":16736,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:172",{"_index":16735,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:192",{"_index":16738,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:202",{"_index":16742,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:21",{"_index":16728,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:38",{"_index":16745,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:59",{"_index":16733,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:75",{"_index":16729,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/strategy/nextcloud/nextcloud.strategy.ts:98",{"_index":16743,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["storage/uc/collaborative",{"_index":5126,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["storage:debug",{"_index":25349,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["storage:dev",{"_index":25348,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["storage:prod",{"_index":25350,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["storageclient",{"_index":12477,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["storageconfig",{"_index":17849,"title":{},"body":{"interfaces/PreviewConfig.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"interfaces/PreviewModuleConfig.html":{}}}],["storageconfig.connectionname",{"_index":17889,"title":{},"body":{"modules/PreviewGeneratorConsumerModule.html":{}}}],["storagefilename",{"_index":8963,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["storageprovider",{"_index":8912,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"injectables/FilesRepo.html":{}}}],["storageprovider.accesskeyid",{"_index":5372,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/DeleteFilesUc.html":{}}}],["storageprovider.endpointurl",{"_index":8952,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["storageprovider.region",{"_index":8954,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["storageprovider.secretaccesskey",{"_index":5373,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/DeleteFilesUc.html":{}}}],["storageproviderencryptedstringtype",{"_index":20599,"title":{"classes/StorageProviderEncryptedStringType.html":{}},"body":{"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["storageproviderentity",{"_index":5162,"title":{"entities/StorageProviderEntity.html":{}},"body":{"interfaces/CollectionFilePath.html":{},"injectables/DeleteFilesUc.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{}}}],["storageproviderid",{"_index":11552,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["storageproviderproperties",{"_index":20629,"title":{"interfaces/StorageProviderProperties.html":{}},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["storageproviderrepo",{"_index":8908,"title":{"injectables/StorageProviderRepo.html":{}},"body":{"injectables/DeleteFilesUc.html":{},"modules/FilesModule.html":{},"injectables/StorageProviderRepo.html":{}}}],["storageproviders",{"_index":5170,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["storageproviders.foreach((storageprovider",{"_index":5371,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["storageproviderscollectionname",{"_index":5169,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["storagestrategy",{"_index":5032,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["store",{"_index":4214,"title":{},"body":{"injectables/CacheService.html":{},"modules/CacheWrapperModule.html":{},"injectables/JwtValidationAdapter.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/TldrawWsService.html":{},"dependencies.html":{},"additional-documentation/nestjs-application.html":{}}}],["store.getclient",{"_index":4233,"title":{},"body":{"modules/CacheWrapperModule.html":{}}}],["stored",{"_index":23010,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["strategies",{"_index":5120,"title":{},"body":{"interfaces/CollaborativeStorageStrategy.html":{},"injectables/ProvisioningService.html":{},"injectables/ToolLaunchService.html":{}}}],["strategy",{"_index":4957,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"injectables/NextcloudStrategy.html":{},"injectables/Oauth2Strategy.html":{},"classes/OauthDataStrategyInputDto.html":{},"modules/ProvisioningModule.html":{},"injectables/ProvisioningService.html":{},"modules/ToolLaunchModule.html":{},"injectables/ToolLaunchService.html":{},"injectables/XApiKeyStrategy.html":{},"todo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["strategy.apply(oauthdata",{"_index":18141,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["strategy.createlaunchdata(userid",{"_index":22926,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["strategy.createlaunchrequest(toollaunchdata",{"_index":22921,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["strategy.getdata(input",{"_index":18137,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["strategy.interface.ts",{"_index":22930,"title":{},"body":{"interfaces/ToolLaunchStrategy.html":{}}}],["strategy.interface.ts:6",{"_index":22931,"title":{},"body":{"interfaces/ToolLaunchStrategy.html":{}}}],["strategy.interface.ts:8",{"_index":22933,"title":{},"body":{"interfaces/ToolLaunchStrategy.html":{}}}],["strategy/auto",{"_index":2000,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{}}}],["strategy/base.interface.strategy",{"_index":4989,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["strategy/basic",{"_index":2710,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{}}}],["strategy/jwt",{"_index":1553,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/AuthenticationService.html":{}}}],["strategy/jwt.strategy",{"_index":1555,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["strategy/ldap.strategy",{"_index":1556,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["strategy/local.strategy",{"_index":1557,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["strategy/nextcloud/nextcloud.client",{"_index":5030,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["strategy/nextcloud/nextcloud.strategy",{"_index":5031,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["strategy/oauth2",{"_index":16831,"title":{},"body":{"injectables/OAuth2ToolLaunchStrategy.html":{}}}],["strategy/oauth2.strategy",{"_index":1558,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["strategy/oidc/service/oidc",{"_index":18103,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["strategy/sanis/response",{"_index":12921,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["strategy/sanis/sanis",{"_index":18104,"title":{},"body":{"modules/ProvisioningModule.html":{}}}],["strategy/tool",{"_index":22929,"title":{},"body":{"interfaces/ToolLaunchStrategy.html":{}}}],["strategy/x",{"_index":1559,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["stream",{"_index":1304,"title":{},"body":{"injectables/AntivirusService.html":{},"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"classes/FileDto.html":{},"classes/FileDtoBuilder.html":{},"classes/FileRecordFactory.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/H5pFileDto.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/PreviewFileParams.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorService.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestHelper.html":{}}}],["stream.destroy",{"_index":19444,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["stream.on('data",{"_index":19445,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["streamablefile",{"_index":7583,"title":{},"body":{"controllers/CourseController.html":{},"controllers/FileSecurityController.html":{},"classes/FilesStorageMapper.html":{},"controllers/FwuLearningContentsController.html":{},"controllers/H5PEditorController.html":{}}}],["streamablefile(data",{"_index":13195,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["streamablefile(fileresponse.data",{"_index":12307,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["streamablefile(res.data",{"_index":11997,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["streamablefile(response.data",{"_index":12452,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["streamablefile(result",{"_index":7607,"title":{},"body":{"controllers/CourseController.html":{}}}],["strict",{"_index":20241,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["string",{"_index":47,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"classes/AccountDto.html":{},"classes/AccountFactory.html":{},"injectables/AccountLookupService.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"classes/AjaxPostQueryParams.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"interfaces/AppendedAttachment.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"classes/AuthorizationParams.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"interfaces/BatchDeletionSummary.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardContextResponse.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/BoardResponse.html":{},"classes/BoardTaskResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"modules/CacheWrapperModule.html":{},"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"classes/CardIdsParams.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"interfaces/ClassProps.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CollaborativeStorageAdapter.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/CommonCartridgeFile.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolResponse.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ContextRef.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/County.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"classes/DeletionRequestResponse.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/ElementContentBody.html":{},"modules/EncryptionModule.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"injectables/ExternalToolMetadataService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FeathersError.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"classes/FileUrlParams.html":{},"classes/FilesStorageClientMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"modules/FwuLearningContentsModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"injectables/GroupService.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"interfaces/JwtPayload.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"classes/LessonCopyApiParams.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"classes/LoggingUtils.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"interfaces/Meta.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/Options.html":{},"classes/PageContentDto.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"classes/ProvisioningDto.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemDto.html":{},"classes/Pseudonym.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"classes/RequestInfo.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"interfaces/RocketChatUserProps.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"injectables/RoleRepo.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolUc.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoResponse.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"interfaces/ScopeInfo.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"controllers/ServerController.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenPayloadResponse.html":{},"classes/ShareTokenResponse.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortHelper.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemUrlParams.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/SubmissionUrlParams.html":{},"interfaces/SuccessfulRes.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{},"interfaces/SystemProps.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"classes/TaskResponse.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestBootstrapConsole.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TldrawBoardRepo.html":{},"interfaces/TldrawConfig.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolConfiguration.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceUc.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoResponse.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationMapper.html":{},"interfaces/UserLoginMigrationQuery.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"todo.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["string'})@allow",{"_index":12099,"title":{},"body":{"classes/FileUrlParams.html":{}}}],["string'})@isstring()@isnotempty",{"_index":12097,"title":{},"body":{"classes/FileUrlParams.html":{}}}],["string(object[key",{"_index":2425,"title":{},"body":{"injectables/BBBService.html":{}}}],["string).split",{"_index":20140,"title":{},"body":{"interfaces/ServerConfig.html":{}}}],["string).tostring(cryptojs.enc.base64",{"_index":17653,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["stringifiedmessage",{"_index":15140,"title":{},"body":{"injectables/LegacyLogger.html":{},"classes/LoggingUtils.html":{}}}],["stringifiedmessage(message",{"_index":15150,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["stringifymessage",{"_index":15765,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["stringifymessage(message",{"_index":15771,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["strings",{"_index":622,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/LegacyLogger.html":{},"classes/MongoPatterns.html":{},"injectables/OauthProviderLoginFlowService.html":{},"classes/StorageProviderEncryptedStringType.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["stringtoboolean",{"_index":203,"title":{},"body":{"classes/AcceptQuery.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/FilterNewsParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{},"classes/SystemFilterParams.html":{}}}],["stringvalidator",{"_index":13986,"title":{"classes/StringValidator.html":{}},"body":{"classes/ImportUserMapper.html":{},"classes/ImportUserScope.html":{},"classes/StringValidator.html":{},"classes/UserMatchMapper.html":{},"injectables/UserRepo.html":{}}}],["stringvalidator.isnotemptystring(escapedclasses",{"_index":14162,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["stringvalidator.isnotemptystring(escapedfirstname",{"_index":14148,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["stringvalidator.isnotemptystring(escapedlastname",{"_index":14154,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["stringvalidator.isnotemptystring(escapedloginname",{"_index":14157,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["stringvalidator.isnotemptystring(escapedname",{"_index":23839,"title":{},"body":{"injectables/UserRepo.html":{}}}],["stringvalidator.isnotemptystring(filters.name",{"_index":23836,"title":{},"body":{"injectables/UserRepo.html":{}}}],["stringvalidator.isnotemptystring(query.classes",{"_index":14017,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["stringvalidator.isnotemptystring(query.firstname",{"_index":14005,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["stringvalidator.isnotemptystring(query.lastname",{"_index":14008,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["stringvalidator.isnotemptystring(query.loginname",{"_index":14011,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["stringvalidator.isnotemptystring(query.name",{"_index":23740,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["stringvalidator.isstring(value",{"_index":20649,"title":{},"body":{"classes/StringValidator.html":{}}}],["string}/api/v3/sso/hydra/${oauthclientid",{"_index":13583,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["string}/api/v3/tldraw",{"_index":9611,"title":{},"body":{"injectables/DrawingElementAdapterService.html":{}}}],["strip",{"_index":24567,"title":{},"body":{"dependencies.html":{}}}],["strong",{"_index":11274,"title":{},"body":{"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["strongly",{"_index":25785,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["structure",{"_index":5968,"title":{"additional-documentation/nestjs-application/file-structure.html":{}},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CopyApiResponse.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["structured",{"_index":25515,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["structures",{"_index":15156,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["stubstitution",{"_index":7538,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["stucture",{"_index":25243,"title":{},"body":{"todo.html":{}}}],["student",{"_index":3384,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/FilterImportUserParams.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"injectables/LessonRule.html":{},"injectables/LessonUC.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["student_count",{"_index":11331,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["student_list",{"_index":19684,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["studentaccount",{"_index":714,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["studentcount",{"_index":4668,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{}}}],["studententities",{"_index":11345,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["studentid",{"_index":20660,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["studentids",{"_index":6211,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/UsersList.html":{}}}],["studentobjectids",{"_index":7730,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{}}}],["studentobjectids.map((id",{"_index":7732,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{}}}],["studentpermissions",{"_index":23383,"title":{},"body":{"classes/UserFactory.html":{}}}],["studentpseudonyms",{"_index":11355,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["studentpseudonyms.map((pseudonym",{"_index":11363,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["students",{"_index":7455,"title":{},"body":{"entities/Course.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/FeathersRosterService.html":{},"injectables/SubmissionRepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"classes/UsersList.html":{}}}],["studentswithid",{"_index":7695,"title":{},"body":{"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{}}}],["studentswithid(numberofstudents",{"_index":7699,"title":{},"body":{"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{}}}],["studentuser",{"_index":715,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["studentvisibility",{"_index":19673,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["studentwithid",{"_index":20774,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["studio",{"_index":24620,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["stuff",{"_index":24643,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["style",{"_index":25709,"title":{"additional-documentation/nestjs-application/code-style.html":{}},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["styles",{"_index":12507,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["sub",{"_index":7127,"title":{},"body":{"classes/CopyApiResponse.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"classes/JwtTestFactory.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LessonRule.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["sub)class",{"_index":26096,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["subclass",{"_index":17915,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["subdirectories",{"_index":13410,"title":{},"body":{"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["subdividing",{"_index":25050,"title":{},"body":{"license.html":{}}}],["subelements",{"_index":8568,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["subject",{"_index":77,"title":{},"body":{"classes/AbstractAccountService.html":{},"interfaces/AcceptLoginRequestBody.html":{},"interfaces/AppendedAttachment.html":{},"injectables/AuthenticationService.html":{},"classes/ConsentResponse.html":{},"interfaces/HtmlMailContent.html":{},"interfaces/InlineAttachment.html":{},"classes/LoginResponse-1.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailContent.html":{},"classes/OauthProviderRequestMapper.html":{},"interfaces/PlainTextMailContent.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"license.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["subject_type",{"_index":11020,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{},"classes/OauthClientBody.html":{}}}],["subject_types_supported",{"_index":17028,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["subjects",{"_index":16133,"title":{},"body":{"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["subjecttype",{"_index":17027,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["subjecttypeenum",{"_index":17025,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["sublicenses",{"_index":25080,"title":{},"body":{"license.html":{}}}],["sublicensing",{"_index":24817,"title":{},"body":{"license.html":{}}}],["submission",{"_index":3128,"title":{"entities/Submission.html":{}},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"controllers/BoardSubmissionController.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementUpdateVisitor.html":{},"interfaces/CopyFileDO.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"classes/FileElementContentBody.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FilesStorageClientMapper.html":{},"interfaces/ITask.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"interfaces/ParentInfo.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContentBody.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionFactory.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["submission.controller.ts",{"_index":3992,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["submission.controller.ts:44",{"_index":4011,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["submission.controller.ts:65",{"_index":4016,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["submission.controller.ts:89",{"_index":4005,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["submission.coursegroup?.name",{"_index":20903,"title":{},"body":{"classes/SubmissionMapper.html":{}}}],["submission.entity",{"_index":21279,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["submission.getsubmitterids",{"_index":20898,"title":{},"body":{"classes/SubmissionMapper.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["submission.grade",{"_index":20900,"title":{},"body":{"classes/SubmissionMapper.html":{}}}],["submission.id",{"_index":20896,"title":{},"body":{"classes/SubmissionMapper.html":{}}}],["submission.isgraded",{"_index":20901,"title":{},"body":{"classes/SubmissionMapper.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["submission.isgradedforuser(user",{"_index":21334,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["submission.issubmitted",{"_index":20899,"title":{},"body":{"classes/SubmissionMapper.html":{},"injectables/SubmissionRule.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["submission.issubmittedforuser(user",{"_index":21333,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["submission.isusersubmitter(user",{"_index":20949,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["submission.service",{"_index":21762,"title":{},"body":{"injectables/TaskService.html":{}}}],["submission.task",{"_index":20954,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["submission.task.aresubmissionspublic",{"_index":20952,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["submission.teammembers",{"_index":20688,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["submissioncontainer",{"_index":20856,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["submissioncontainer.addchild(submissionitem",{"_index":20862,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["submissioncontainercontentbody",{"_index":6450,"title":{"classes/SubmissionContainerContentBody.html":{}},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["submissioncontainerelement",{"_index":3118,"title":{"classes/SubmissionContainerElement.html":{}},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ElementUc.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{}}}],["submissioncontainerelement.children",{"_index":9827,"title":{},"body":{"injectables/ElementUc.html":{}}}],["submissioncontainerelement.children.every((child",{"_index":9824,"title":{},"body":{"injectables/ElementUc.html":{}}}],["submissioncontainerelement.children.filter(issubmissionitem",{"_index":20879,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["submissioncontainerelement.duedate",{"_index":6484,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["submissioncontainerelement.id",{"_index":18582,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["submissioncontainerelementcontent",{"_index":20725,"title":{"classes/SubmissionContainerElementContent.html":{}},"body":{"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["submissioncontainerelementcontentbody",{"_index":9576,"title":{"classes/SubmissionContainerElementContentBody.html":{}},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["submissioncontainerelementnode",{"_index":3467,"title":{"entities/SubmissionContainerElementNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{}}}],["submissioncontainerelementprops",{"_index":20723,"title":{"interfaces/SubmissionContainerElementProps.html":{}},"body":{"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{}}}],["submissioncontainerelementresponse",{"_index":4358,"title":{"classes/SubmissionContainerElementResponse.html":{}},"body":{"controllers/CardController.html":{},"classes/CardResponse.html":{},"controllers/ElementController.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["submissioncontainerelementresponse)@apiresponse({status",{"_index":4329,"title":{},"body":{"controllers/CardController.html":{}}}],["submissioncontainerelementresponsemapper",{"_index":6385,"title":{"classes/SubmissionContainerElementResponseMapper.html":{}},"body":{"classes/ContentElementResponseFactory.html":{},"classes/SubmissionContainerElementResponseMapper.html":{}}}],["submissioncontainerelementresponsemapper.getinstance",{"_index":6370,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["submissioncontainerelementresponsemapper.instance",{"_index":20741,"title":{},"body":{"classes/SubmissionContainerElementResponseMapper.html":{}}}],["submissioncontainerid",{"_index":20746,"title":{},"body":{"classes/SubmissionContainerUrlParams.html":{},"injectables/SubmissionItemUc.html":{}}}],["submissioncontainernodeprops",{"_index":20735,"title":{"interfaces/SubmissionContainerNodeProps.html":{}},"body":{"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{}}}],["submissioncontainerurlparams",{"_index":4007,"title":{"classes/SubmissionContainerUrlParams.html":{}},"body":{"controllers/BoardSubmissionController.html":{},"classes/SubmissionContainerUrlParams.html":{}}}],["submissioncontainterelement",{"_index":20864,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["submissioncontainterelement.duedate",{"_index":20867,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["submissioncontroller",{"_index":20748,"title":{"controllers/SubmissionController.html":{}},"body":{"controllers/SubmissionController.html":{},"modules/TaskApiModule.html":{}}}],["submissionfactory",{"_index":20772,"title":{"classes/SubmissionFactory.html":{}},"body":{"classes/SubmissionFactory.html":{}}}],["submissionfactory.define(submission",{"_index":20786,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["submissionid",{"_index":20967,"title":{},"body":{"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{}}}],["submissionitem",{"_index":2648,"title":{"classes/SubmissionItem.html":{}},"body":{"classes/BaseUc.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{}}}],["submissionitem.children.filter(issubmissionitemcontent",{"_index":20849,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitem.completed",{"_index":18585,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitem.createdat",{"_index":20851,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitem.id",{"_index":18584,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitem.updatedat",{"_index":20850,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitem.userid",{"_index":2666,"title":{},"body":{"classes/BaseUc.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitemfactory",{"_index":20813,"title":{"injectables/SubmissionItemFactory.html":{}},"body":{"injectables/SubmissionItemFactory.html":{}}}],["submissionitemid",{"_index":20872,"title":{},"body":{"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{}}}],["submissionitemnode",{"_index":3470,"title":{"entities/SubmissionItemNode.html":{}},"body":{"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["submissionitemnodeprops",{"_index":20820,"title":{"interfaces/SubmissionItemNodeProps.html":{}},"body":{"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["submissionitemprops",{"_index":20808,"title":{"interfaces/SubmissionItemProps.html":{}},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["submissionitemresponse",{"_index":9782,"title":{"classes/SubmissionItemResponse.html":{}},"body":{"controllers/ElementController.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/SubmissionsResponse.html":{}}}],["submissionitemresponsemapper",{"_index":4025,"title":{"classes/SubmissionItemResponseMapper.html":{}},"body":{"controllers/BoardSubmissionController.html":{},"controllers/ElementController.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitemresponsemapper.getinstance",{"_index":4032,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/ElementController.html":{}}}],["submissionitemresponsemapper.instance",{"_index":20842,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitemresponse})@apiresponse({status",{"_index":9766,"title":{},"body":{"controllers/ElementController.html":{}}}],["submissionitems",{"_index":4028,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemUc.html":{}}}],["submissionitems.filter((item",{"_index":20885,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["submissionitems.map((item",{"_index":20844,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["submissionitemservice",{"_index":3846,"title":{"injectables/SubmissionItemService.html":{}},"body":{"modules/BoardModule.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{}}}],["submissionitemsresponse",{"_index":20843,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{},"classes/SubmissionsResponse.html":{}}}],["submissionitemuc",{"_index":2997,"title":{"injectables/SubmissionItemUc.html":{}},"body":{"modules/BoardApiModule.html":{},"controllers/BoardSubmissionController.html":{},"injectables/SubmissionItemUc.html":{}}}],["submissionitemurlparams",{"_index":3998,"title":{"classes/SubmissionItemUrlParams.html":{}},"body":{"controllers/BoardSubmissionController.html":{},"classes/SubmissionItemUrlParams.html":{}}}],["submissionmapper",{"_index":20758,"title":{"classes/SubmissionMapper.html":{}},"body":{"controllers/SubmissionController.html":{},"classes/SubmissionMapper.html":{}}}],["submissionmapper.maptostatusresponse(submission",{"_index":20767,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["submissionproperties",{"_index":20667,"title":{"interfaces/SubmissionProperties.html":{}},"body":{"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"interfaces/SubmissionProperties.html":{}}}],["submissionrepo",{"_index":1913,"title":{"injectables/SubmissionRepo.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"modules/TaskModule.html":{}}}],["submissionresponses",{"_index":20765,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["submissionrule",{"_index":1875,"title":{"injectables/SubmissionRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/RuleManager.html":{},"injectables/SubmissionRule.html":{}}}],["submissions",{"_index":3993,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ITask.html":{},"interfaces/ParentInfo.html":{},"entities/Submission.html":{},"controllers/SubmissionController.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskWithStatusVo.html":{}}}],["submissions.coursegroup",{"_index":21603,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["submissions.filter((submission",{"_index":21001,"title":{},"body":{"injectables/SubmissionUc.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["submissions.foreach((submission",{"_index":21337,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["submissions.map((submission",{"_index":20766,"title":{},"body":{"controllers/SubmissionController.html":{},"injectables/TaskService.html":{}}}],["submissions.some((submission",{"_index":21332,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["submissionservice",{"_index":20955,"title":{"injectables/SubmissionService.html":{}},"body":{"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"modules/TaskModule.html":{},"injectables/TaskService.html":{}}}],["submissionsresponse",{"_index":4021,"title":{"classes/SubmissionsResponse.html":{}},"body":{"controllers/BoardSubmissionController.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/SubmissionsResponse.html":{}}}],["submissionsresponse(submissionitemsresponse",{"_index":20848,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["submissionsresponse})@apiresponse({status",{"_index":4009,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["submissionstatuslistresponse",{"_index":20760,"title":{"classes/SubmissionStatusListResponse.html":{}},"body":{"controllers/SubmissionController.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["submissionstatuslistresponse(submissionresponses",{"_index":20769,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["submissionstatusresponse",{"_index":20895,"title":{"classes/SubmissionStatusResponse.html":{}},"body":{"classes/SubmissionMapper.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["submissionuc",{"_index":20759,"title":{"injectables/SubmissionUc.html":{}},"body":{"controllers/SubmissionController.html":{},"injectables/SubmissionUc.html":{},"modules/TaskApiModule.html":{}}}],["submissionurlparams",{"_index":20751,"title":{"classes/SubmissionUrlParams.html":{}},"body":{"controllers/SubmissionController.html":{},"classes/SubmissionUrlParams.html":{}}}],["submitted",{"_index":4074,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"interfaces/ITask.html":{},"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusResponse.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{}}}],["submittedsubmissions",{"_index":21328,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["submitterids",{"_index":21338,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["submitters",{"_index":20897,"title":{},"body":{"classes/SubmissionMapper.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["submitting",{"_index":20818,"title":{},"body":{"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["submittingcoursegroupname",{"_index":20902,"title":{},"body":{"classes/SubmissionMapper.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["subpath",{"_index":22133,"title":{},"body":{"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["subpermissions",{"_index":17803,"title":{},"body":{"injectables/PermissionService.html":{}}}],["subprograms",{"_index":24792,"title":{},"body":{"license.html":{}}}],["subsection",{"_index":24904,"title":{},"body":{"license.html":{}}}],["subset",{"_index":6228,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"additional-documentation/nestjs-application.html":{}}}],["subsitution",{"_index":3386,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["substantial",{"_index":24942,"title":{},"body":{"license.html":{}}}],["substantially",{"_index":25048,"title":{},"body":{"license.html":{}}}],["substitution",{"_index":25425,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["substitution_teacher",{"_index":3385,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["substitutionids",{"_index":7482,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["substitutionteacherentities",{"_index":11347,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["substitutionteacherids",{"_index":7535,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["substitutionteacherpseudonyms",{"_index":11357,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["substitutionteachers",{"_index":7456,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"classes/UsersList.html":{}}}],["subtypes",{"_index":9580,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["succeed",{"_index":25728,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["success",{"_index":1076,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/BatchDeletionUc.html":{},"injectables/DeleteFilesUc.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/IdentityManagementOauthService.html":{},"interfaces/Meta.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OcsResponse.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"interfaces/SuccessfulRes.html":{},"classes/VideoConferenceBaseResponse.html":{}}}],["successcount",{"_index":2843,"title":{},"body":{"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{}}}],["successful",{"_index":2823,"title":{},"body":{"injectables/BatchDeletionService.html":{},"classes/DeletionExecutionConsole.html":{},"injectables/LdapService.html":{},"controllers/LoginController.html":{},"classes/SuccessfulResponse.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["successful.'})@apiresponse({status",{"_index":15785,"title":{},"body":{"controllers/LoginController.html":{}}}],["successful.loggable.ts",{"_index":20022,"title":{},"body":{"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["successful.loggable.ts:4",{"_index":20023,"title":{},"body":{"classes/SchoolMigrationSuccessfulLoggable.html":{}}}],["successful.loggable.ts:5",{"_index":23786,"title":{},"body":{"classes/UserMigrationSuccessfulLoggable.html":{}}}],["successful.loggable.ts:7",{"_index":20024,"title":{},"body":{"classes/SchoolMigrationSuccessfulLoggable.html":{}}}],["successful.loggable.ts:8",{"_index":23787,"title":{},"body":{"classes/UserMigrationSuccessfulLoggable.html":{}}}],["successfully",{"_index":385,"title":{},"body":{"controllers/AccountController.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"injectables/DeleteFilesUc.html":{},"classes/IdentityManagementService.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["successfully.'})@apiresponse({status",{"_index":361,"title":{},"body":{"controllers/AccountController.html":{}}}],["successfully.'})@apiunauthorizedresponse({description",{"_index":22770,"title":{},"body":{"controllers/ToolController.html":{}}}],["successfulres",{"_index":13017,"title":{"interfaces/SuccessfulRes.html":{}},"body":{"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/Meta.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OcsResponse.html":{},"interfaces/SuccessfulRes.html":{}}}],["successfulresponse",{"_index":21012,"title":{"classes/SuccessfulResponse.html":{}},"body":{"classes/SuccessfulResponse.html":{},"controllers/UserController.html":{}}}],["successfulresponse(result",{"_index":23220,"title":{},"body":{"controllers/UserController.html":{}}}],["successor",{"_index":4547,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{}}}],["such",{"_index":2966,"title":{},"body":{"entities/Board.html":{},"injectables/DashboardUc.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["sue",{"_index":25090,"title":{},"body":{"license.html":{}}}],["suffice",{"_index":24950,"title":{},"body":{"license.html":{}}}],["sufficient",{"_index":11243,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["suffix",{"_index":25282,"title":{},"body":{"todo.html":{}}}],["suggested",{"_index":25228,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["suggests",{"_index":25641,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["suitable",{"_index":13568,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["suites",{"_index":25364,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["sum",{"_index":23846,"title":{},"body":{"injectables/UserRepo.html":{}}}],["summary",{"_index":401,"title":{},"body":{"controllers/AccountController.html":{},"interfaces/BatchDeletionSummary.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"interfaces/CalendarEvent.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionQueueConsole.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"controllers/GroupController.html":{},"controllers/H5PEditorController.html":{},"controllers/LoginController.html":{},"controllers/MetaTagExtractorController.html":{},"controllers/PseudonymController.html":{},"controllers/ShareTokenController.html":{},"controllers/SystemController.html":{},"controllers/TldrawController.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"controllers/UserLoginMigrationController.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["summary.builder.ts",{"_index":2849,"title":{},"body":{"classes/BatchDeletionSummaryBuilder.html":{}}}],["summary.builder.ts:4",{"_index":2851,"title":{},"body":{"classes/BatchDeletionSummaryBuilder.html":{}}}],["summary.interface.ts",{"_index":2839,"title":{},"body":{"interfaces/BatchDeletionSummary.html":{}}}],["super",{"_index":233,"title":{},"body":{"entities/Account.html":{},"injectables/AccountServiceDb.html":{},"classes/ApiValidationError.html":{},"classes/AuthorizationError.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigResponse.html":{},"entities/Board.html":{},"entities/BoardElement.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardUrlHandler.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseUrlHandler.html":{},"interfaces/CustomLtiProperty.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/EntityNotFoundError.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"classes/GlobalValidationPipe.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/H5pEditorTempFile.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/InstalledLibrary.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtStrategy.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolDo.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonUrlHandler.html":{},"classes/LibraryName.html":{},"injectables/LocalStrategy.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigResponse.html":{},"entities/LtiTool.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/NotFoundLoggableException.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"classes/SchoolInMigrationLoggableException.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"interfaces/TemporaryFileProperties.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorLoggableException.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["super('ldap",{"_index":14898,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["super('ldapalreadypersisted",{"_index":14895,"title":{},"body":{"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MissingSchoolNumberException.html":{}}}],["super(_em",{"_index":6832,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/FilesRepo.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/StorageProviderRepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["super(amqpconnection",{"_index":12351,"title":{},"body":{"injectables/FilesStorageProducer.html":{},"injectables/PreviewProducer.html":{}}}],["super(authorizationservice",{"_index":4113,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["super(config",{"_index":2182,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBJoinConfig.html":{}}}],["super(domainobject.id",{"_index":8166,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{},"classes/ShareTokenDO.html":{},"classes/UserDO.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["super(dto",{"_index":24211,"title":{},"body":{"classes/VideoConferenceInfo.html":{}}}],["super(e.response.statustext",{"_index":1095,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["super(editormodel",{"_index":12511,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["super(error",{"_index":13425,"title":{},"body":{"classes/HydraOauthFailedLoggableException.html":{},"classes/TokenRequestLoggableException.html":{}}}],["super(errorcode",{"_index":1473,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{}}}],["super(errorutils.createhttpexceptionoptions(error",{"_index":19949,"title":{},"body":{"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{}}}],["super(json.stringify(axioserror.response?.data",{"_index":2102,"title":{},"body":{"classes/AxiosErrorLoggable.html":{}}}],["super(oidcprovisioningservice",{"_index":19540,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["super(props",{"_index":457,"title":{},"body":{"classes/AccountDto.html":{},"classes/BasicToolConfigEntity.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{},"entities/ColumnboardBoardElement.html":{},"entities/CourseNews.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/LessonBoardElement.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/OauthLoginResponse.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/SchoolNews.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{}}}],["super(props.id",{"_index":6642,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/UserLoginMigrationDO.html":{}}}],["super(resp",{"_index":9542,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{}}}],["super(total",{"_index":880,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["super(type",{"_index":1403,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["super.build",{"_index":2240,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["super.findbyid(id",{"_index":7749,"title":{},"body":{"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/LessonRepo.html":{},"injectables/SubmissionRepo.html":{},"injectables/TaskRepo.html":{},"injectables/UserRepo.html":{}}}],["superhero",{"_index":330,"title":{},"body":{"controllers/AccountController.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["superhero.'})@apiresponse({status",{"_index":344,"title":{},"body":{"controllers/AccountController.html":{}}}],["supertest",{"_index":1607,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["supertest(this.app.gethttpserver",{"_index":1642,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["supertest(this.app.gethttpserver()).delete(path).set('accept",{"_index":22202,"title":{},"body":{"classes/TestXApiKeyClient.html":{}}}],["supertest(this.app.gethttpserver()).get(path).set('accept",{"_index":22201,"title":{},"body":{"classes/TestXApiKeyClient.html":{}}}],["supertest(this.app.gethttpserver()).get(path).set('authorization",{"_index":1640,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["supertest.test",{"_index":1637,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["supplement",{"_index":24975,"title":{},"body":{"license.html":{}}}],["support",{"_index":2524,"title":{},"body":{"classes/BaseDomainObject.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"interfaces/ICurrentUser.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/TemporaryFileStorage.html":{},"dependencies.html":{},"license.html":{},"todo.html":{}}}],["support_${objectid",{"_index":14312,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["supported",{"_index":1622,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/HydraSsoService.html":{},"injectables/LessonRule.html":{},"classes/OauthClientBody.html":{},"injectables/ShareTokenUC.html":{},"injectables/SubmissionRule.html":{},"classes/TestApiClient.html":{}}}],["supporting",{"_index":25286,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["supports",{"_index":2580,"title":{},"body":{"classes/BaseFactory.html":{},"license.html":{}}}],["supportuserid",{"_index":14310,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["sure",{"_index":1223,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolService.html":{},"classes/GlobalValidationPipe.html":{},"injectables/PermissionService.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["surrender",{"_index":25125,"title":{},"body":{"license.html":{}}}],["survive",{"_index":25007,"title":{},"body":{"license.html":{}}}],["sustained",{"_index":25183,"title":{},"body":{"license.html":{}}}],["svs",{"_index":22650,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["svs'})@apiokresponse({description",{"_index":22641,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["swagger",{"_index":24505,"title":{},"body":{"dependencies.html":{},"additional-documentation/nestjs-application.html":{}}}],["switch",{"_index":2037,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"classes/ImportUserScope.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LessonCopyUC.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TldrawWsService.html":{},"classes/UserMatchMapper.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["switching",{"_index":26085,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["symbol('bbbsettings",{"_index":13592,"title":{},"body":{"interfaces/IBbbSettings.html":{}}}],["symbol('defaultencryptionservice",{"_index":9852,"title":{},"body":{"interfaces/EncryptionService.html":{}}}],["symbol('keycloakconfigurationinputfiles",{"_index":13629,"title":{},"body":{"interfaces/IKeycloakConfigurationInputFiles.html":{}}}],["symbol('keycloaksettings",{"_index":13634,"title":{},"body":{"interfaces/IKeycloakSettings.html":{}}}],["symbol('ldapencryptionservice",{"_index":9853,"title":{},"body":{"interfaces/EncryptionService.html":{}}}],["symbol('toolfeatures",{"_index":13664,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["symbol('videoconferencesettings",{"_index":13676,"title":{},"body":{"interfaces/IVideoConferenceSettings.html":{}}}],["symetrickeyencryptionservice",{"_index":9837,"title":{"injectables/SymetricKeyEncryptionService.html":{}},"body":{"modules/EncryptionModule.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["symetrickeyencryptionservice(logger",{"_index":9842,"title":{},"body":{"modules/EncryptionModule.html":{}}}],["sync",{"_index":8775,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"modules/ImportUserModule.html":{},"injectables/NextcloudStrategy.html":{},"interfaces/Options.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["sync_mode",{"_index":17567,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["syncboardelementreferences(boardelementtargets",{"_index":2967,"title":{},"body":{"entities/Board.html":{}}}],["syncindexes",{"_index":5302,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"interfaces/Options.html":{}}}],["syncmode",{"_index":14638,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/OidcIdentityProviderMapper.html":{}}}],["syntax",{"_index":14574,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/NewsUc.html":{}}}],["sysmes",{"_index":1074,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["system",{"_index":3382,"title":{"classes/System.html":{}},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/CollectionFilePath.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"classes/GroupUcMapper.html":{},"interfaces/ICurrentUser.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/ManagementModule.html":{},"injectables/OAuthService.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"controllers/OauthSSOController.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/System.html":{},"controllers/SystemController.html":{},"classes/SystemDto.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemFilterParams.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/UserBoardRoles.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["system(props",{"_index":21200,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["system.'})@apiresponse({status",{"_index":21057,"title":{},"body":{"controllers/SystemController.html":{}}}],["system.'})@httpcode(httpstatus.no_content",{"_index":21046,"title":{},"body":{"controllers/SystemController.html":{}}}],["system.'})@isoptional()@isenum(systemtypeenum",{"_index":21153,"title":{},"body":{"classes/SystemFilterParams.html":{}}}],["system.adapter",{"_index":12096,"title":{},"body":{"modules/FileSystemModule.html":{}}}],["system.adapter.ts",{"_index":12030,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:12",{"_index":12040,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:18",{"_index":12070,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:26",{"_index":12042,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:36",{"_index":12055,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:48",{"_index":12067,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:57",{"_index":12058,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:68",{"_index":12045,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:78",{"_index":12063,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.adapter.ts:84",{"_index":12053,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["system.alias",{"_index":15368,"title":{},"body":{"injectables/LegacySystemService.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"classes/SystemResponseMapper.html":{},"injectables/UserLoginMigrationService.html":{}}}],["system.displayname",{"_index":15370,"title":{},"body":{"injectables/LegacySystemService.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"classes/SystemResponseMapper.html":{}}}],["system.dto",{"_index":17137,"title":{},"body":{"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{}}}],["system.dto.ts",{"_index":18149,"title":{},"body":{"classes/ProvisioningSystemDto.html":{}}}],["system.dto.ts:5",{"_index":18152,"title":{},"body":{"classes/ProvisioningSystemDto.html":{}}}],["system.dto.ts:7",{"_index":18151,"title":{},"body":{"classes/ProvisioningSystemDto.html":{}}}],["system.dto.ts:9",{"_index":18150,"title":{},"body":{"classes/ProvisioningSystemDto.html":{}}}],["system.entity",{"_index":10060,"title":{},"body":{"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["system.id",{"_index":15049,"title":{},"body":{"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemService.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"classes/SystemResponseMapper.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["system.ldapactive",{"_index":21110,"title":{},"body":{"classes/SystemDto.html":{},"injectables/SystemUc.html":{}}}],["system.ldapconfig",{"_index":5353,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/SystemRule.html":{}}}],["system.ldapconfig.provider",{"_index":21228,"title":{},"body":{"injectables/SystemRule.html":{}}}],["system.ldapconfig.searchuserpassword",{"_index":5354,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["system.module",{"_index":21039,"title":{},"body":{"modules/SystemApiModule.html":{}}}],["system.module.ts",{"_index":12095,"title":{},"body":{"modules/FileSystemModule.html":{}}}],["system.oauthconfig",{"_index":5347,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/LegacySystemService.html":{},"injectables/OAuthService.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"classes/SystemResponseMapper.html":{}}}],["system.oauthconfig.clientsecret",{"_index":5348,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["system.oidcconfig",{"_index":5350,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/LegacySystemService.html":{}}}],["system.oidcconfig.clientsecret",{"_index":5351,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["system.oidcconfig.idphint",{"_index":15389,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["system.provisioningstrategy",{"_index":15373,"title":{},"body":{"injectables/LegacySystemService.html":{},"classes/SystemDto.html":{}}}],["system.provisioningurl",{"_index":15375,"title":{},"body":{"injectables/LegacySystemService.html":{},"classes/SystemDto.html":{}}}],["system.repo.ts",{"_index":15316,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["system.repo.ts:13",{"_index":15323,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["system.repo.ts:17",{"_index":15322,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["system.repo.ts:36",{"_index":15319,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["system.service.ts",{"_index":15339,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["system.service.ts:15",{"_index":15343,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["system.service.ts:21",{"_index":15344,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["system.service.ts:30",{"_index":15346,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["system.service.ts:45",{"_index":15350,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["system.service.ts:71",{"_index":15348,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["system.type",{"_index":15366,"title":{},"body":{"injectables/LegacySystemService.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"classes/SystemResponseMapper.html":{}}}],["system.url",{"_index":15377,"title":{},"body":{"injectables/LegacySystemService.html":{},"classes/SystemDto.html":{}}}],["system/file",{"_index":12029,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"modules/FileSystemModule.html":{}}}],["system?.displayname",{"_index":12973,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["systemapimodule",{"_index":20198,"title":{"modules/SystemApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SystemApiModule.html":{}}}],["systemcontroller",{"_index":21036,"title":{"controllers/SystemController.html":{}},"body":{"modules/SystemApiModule.html":{},"controllers/SystemController.html":{}}}],["systemdomainmapper",{"_index":21079,"title":{"classes/SystemDomainMapper.html":{}},"body":{"classes/SystemDomainMapper.html":{},"injectables/SystemRepo.html":{}}}],["systemdomainmapper.mapentitytodomainobjectproperties(entity",{"_index":21199,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["systemdto",{"_index":12965,"title":{"classes/SystemDto.html":{}},"body":{"classes/GroupUcMapper.html":{},"injectables/LegacySystemService.html":{},"injectables/OAuthService.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemInputMapper.html":{},"controllers/SystemController.html":{},"classes/SystemDto.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["systemdto.alias",{"_index":15369,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["systemdto.displayname",{"_index":15371,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["systemdto.id",{"_index":15364,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["systemdto.oauthconfig",{"_index":15372,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["systemdto.provisioningstrategy",{"_index":15374,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["systemdto.provisioningurl",{"_index":15376,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["systemdto.type",{"_index":15367,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["systemdto.url",{"_index":15378,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["systemdtos",{"_index":21066,"title":{},"body":{"controllers/SystemController.html":{}}}],["systementity",{"_index":5163,"title":{"entities/SystemEntity.html":{}},"body":{"interfaces/CollectionFilePath.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"classes/GroupDomainMapper.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/LdapConfigEntity.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"classes/SystemScope.html":{},"injectables/SystemUc.html":{},"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["systementityfactory",{"_index":13950,"title":{"classes/SystemEntityFactory.html":{}},"body":{"classes/ImportUserFactory.html":{},"classes/SystemEntityFactory.html":{}}}],["systementityfactory.build",{"_index":13952,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["systementityfactory.define(systementity",{"_index":21145,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["systementityprops",{"_index":14939,"title":{"interfaces/SystemEntityProps.html":{}},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{}}}],["systemfilterparams",{"_index":21049,"title":{"classes/SystemFilterParams.html":{}},"body":{"controllers/SystemController.html":{},"classes/SystemFilterParams.html":{}}}],["systemid",{"_index":48,"title":{},"body":{"classes/AbstractAccountService.html":{},"entities/Account.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"injectables/AuthenticationService.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceResponse.html":{},"classes/GroupDomainMapper.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"injectables/GroupService.html":{},"interfaces/ICurrentUser.html":{},"interfaces/JsonAccount.html":{},"interfaces/JwtPayload.html":{},"classes/LdapAuthorizationBodyParams.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolService.html":{},"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/OauthConfigMissingLoggableException.html":{},"injectables/OidcProvisioningService.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/SystemIdParams.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemUc.html":{},"classes/UnauthorizedLoggableException.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["systemidparams",{"_index":21044,"title":{"classes/SystemIdParams.html":{}},"body":{"controllers/SystemController.html":{},"classes/SystemIdParams.html":{}}}],["systemids",{"_index":23677,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["systemids[0",{"_index":23680,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["systemlistresponse",{"_index":21212,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["systemmapper",{"_index":15351,"title":{"classes/SystemMapper.html":{}},"body":{"injectables/LegacySystemService.html":{},"classes/SystemMapper.html":{}}}],["systemmapper.mapfromentitiestodtos(systems",{"_index":15363,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["systemmapper.mapfromentitytodto(system",{"_index":15355,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["systemmapper.mapfromoauthconfigentitytodto(entity.oauthconfig",{"_index":21164,"title":{},"body":{"classes/SystemMapper.html":{}}}],["systemmodule",{"_index":1525,"title":{"modules/SystemModule.html":{}},"body":{"modules/AuthenticationModule.html":{},"modules/GroupApiModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/OauthModule.html":{},"modules/ProvisioningModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/UserLoginMigrationModule.html":{}}}],["systemoidcmapper",{"_index":21172,"title":{"classes/SystemOidcMapper.html":{}},"body":{"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{}}}],["systemoidcmapper.mapfromentitiestodtos(system",{"_index":21193,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["systemoidcmapper.mapfromentitytodto(system",{"_index":21192,"title":{},"body":{"injectables/SystemOidcService.html":{}}}],["systemoidcmapper.mapfromoidcconfigentitytodto(entity.id",{"_index":21182,"title":{},"body":{"classes/SystemOidcMapper.html":{}}}],["systemoidcservice",{"_index":14497,"title":{"injectables/SystemOidcService.html":{}},"body":{"injectables/KeycloakConfigurationService.html":{},"modules/SystemModule.html":{},"injectables/SystemOidcService.html":{}}}],["systemprops",{"_index":21029,"title":{"interfaces/SystemProps.html":{}},"body":{"classes/System.html":{},"classes/SystemDomainMapper.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{}}}],["systemprovisioningstrategy",{"_index":14257,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/System.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/SystemProps.html":{}}}],["systemprovisioningstrategy.iserv",{"_index":14265,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["systemprovisioningstrategy.oidc",{"_index":17578,"title":{},"body":{"injectables/OidcMockProvisioningStrategy.html":{},"classes/SystemEntityFactory.html":{}}}],["systemprovisioningstrategy.sanis",{"_index":19541,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["systemprovisioningstrategy.undefined",{"_index":18159,"title":{},"body":{"classes/ProvisioningSystemInputMapper.html":{}}}],["systemrepo",{"_index":15070,"title":{"injectables/SystemRepo.html":{}},"body":{"injectables/LdapStrategy.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/SystemModule.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemRepo.html":{},"injectables/SystemService.html":{}}}],["systemresponse",{"_index":21214,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["systemresponsemapper",{"_index":21060,"title":{"classes/SystemResponseMapper.html":{}},"body":{"controllers/SystemController.html":{},"classes/SystemResponseMapper.html":{}}}],["systemresponsemapper.mapfromdtotolistresponse(systemdtos",{"_index":21069,"title":{},"body":{"controllers/SystemController.html":{}}}],["systemresponsemapper.mapfromdtotoresponse(systemdto",{"_index":21073,"title":{},"body":{"controllers/SystemController.html":{}}}],["systemresponsemapper.mapfromoauthconfigdtotoresponse(system.oauthconfig",{"_index":21215,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["systemresponses",{"_index":18323,"title":{},"body":{"classes/PublicSystemListResponse.html":{},"classes/SystemResponseMapper.html":{}}}],["systemrule",{"_index":1864,"title":{"injectables/SystemRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/RuleManager.html":{},"injectables/SystemRule.html":{}}}],["systems",{"_index":5168,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"injectables/FileSystemAdapter.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/LdapConfigEntity.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/NextcloudStrategy.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"injectables/OidcProvisioningService.html":{},"classes/PublicSystemResponse.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"controllers/SystemController.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemUc.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["systems.'})@apiresponse({status",{"_index":21052,"title":{},"body":{"controllers/SystemController.html":{}}}],["systems.filter((system",{"_index":15381,"title":{},"body":{"injectables/LegacySystemService.html":{},"injectables/SystemUc.html":{}}}],["systems.foreach((system",{"_index":5346,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["systems.getitems().find((system",{"_index":23304,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["systems.map",{"_index":21210,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["systems.map((system",{"_index":15385,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["systemscollectionname",{"_index":5167,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["systemscope",{"_index":15324,"title":{"classes/SystemScope.html":{}},"body":{"injectables/LegacySystemRepo.html":{},"classes/SystemScope.html":{}}}],["systemservice",{"_index":15328,"title":{"injectables/SystemService.html":{}},"body":{"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/OAuthService.html":{},"injectables/ProvisioningService.html":{},"modules/SystemModule.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["systemstrategy",{"_index":18121,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["systemtype",{"_index":21242,"title":{},"body":{"injectables/SystemUc.html":{}}}],["systemtypeenum",{"_index":15321,"title":{},"body":{"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"classes/SystemFilterParams.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["systemtypeenum.ldap",{"_index":15329,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["systemtypeenum.oauth",{"_index":15331,"title":{},"body":{"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{}}}],["systemtypeenum.oidc",{"_index":15333,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["systemuc",{"_index":21034,"title":{"injectables/SystemUc.html":{}},"body":{"modules/SystemApiModule.html":{},"controllers/SystemController.html":{},"injectables/SystemUc.html":{}}}],["t",{"_index":532,"title":{},"body":{"classes/AccountFactory.html":{},"injectables/AccountRepo.html":{},"interfaces/AdminIdAndToken.html":{},"interfaces/AuthorizableObject.html":{},"injectables/AuthorizationHelper.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBResponse.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BoardComposite.html":{},"classes/BoardDoAuthorizable.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardRepo.html":{},"classes/Builder.html":{},"classes/Card.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ConverterUtil.html":{},"injectables/CopyFilesService.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseRepo.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionLog.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/FederalStateRepo.html":{},"classes/FileElement.html":{},"classes/FileRecordFactory.html":{},"injectables/FileRecordRepo.html":{},"injectables/FilesRepo.html":{},"injectables/FilesStorageProducer.html":{},"classes/GlobalErrorFilter.html":{},"classes/Group.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"injectables/H5PContentRepo.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/IError.html":{},"classes/ImportUserFactory.html":{},"injectables/ImportUserRepo.html":{},"classes/KeycloakConsole.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySystemRepo.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LibraryRepo.html":{},"classes/LinkElement.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"injectables/NewsRepo.html":{},"interfaces/NextcloudGroups.html":{},"classes/Oauth2ToolConfigFactory.html":{},"interfaces/OcsResponse.html":{},"classes/Page.html":{},"classes/PaginationResponse.html":{},"injectables/PreviewProducer.html":{},"classes/Pseudonym.html":{},"classes/RichTextElement.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"classes/RocketChatUserFactory.html":{},"injectables/RoleRepo.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolYearRepo.html":{},"classes/SortHelper.html":{},"classes/SortingParams.html":{},"injectables/StorageProviderRepo.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionRepo.html":{},"interfaces/SuccessfulRes.html":{},"classes/System.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"injectables/TaskRepo.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["t.name",{"_index":21509,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["tab",{"_index":5294,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"controllers/TeamNewsController.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReferenceResponse.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["table",{"_index":16751,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["tablename",{"_index":229,"title":{},"body":{"entities/Account.html":{},"entities/Board.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/ExternalToolEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/H5pEditorTempFile.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfigEntity.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LibraryName.html":{},"entities/LtiTool.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"interfaces/TemporaryFileProperties.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["tag",{"_index":107,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"classes/GetMetaTagDataBody.html":{},"injectables/LessonUrlHandler.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/MetaTagExtractorModule.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/TaskUrlHandler.html":{},"interfaces/UrlHandler.html":{}}}],["tags",{"_index":16134,"title":{},"body":{"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"controllers/MetaTagExtractorController.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["tags'})@apiresponse({status",{"_index":16186,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["take",{"_index":13822,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["takes",{"_index":21676,"title":{},"body":{"injectables/TaskRepo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["tangible",{"_index":24929,"title":{},"body":{"license.html":{}}}],["tap",{"_index":9752,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{},"injectables/RequestLoggingInterceptor.html":{}}}],["target",{"_index":2980,"title":{},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"entities/BoardElement.html":{},"injectables/BoardRepo.html":{},"injectables/ColumnBoardTargetService.html":{},"entities/ColumnboardBoardElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"entities/CourseNews.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/DeletionQueueConsole.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DownloadFileParams.html":{},"classes/ErrorLoggable.html":{},"interfaces/FileDO.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilterNewsParams.html":{},"classes/GlobalValidationPipe.html":{},"interfaces/INewsScope.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"entities/LessonBoardElement.html":{},"classes/MoveColumnBodyParams.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"entities/SchoolNews.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SingleFileParams.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationResponse.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"injectables/VideoConferenceRepo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["target._id.tostring",{"_index":11232,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["target.constructor",{"_index":9903,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["target.entity",{"_index":2936,"title":{},"body":{"entities/Board.html":{},"entities/BoardElement.html":{},"entities/ColumnboardBoardElement.html":{}}}],["target.entity.ts",{"_index":5542,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["target.entity.ts:21",{"_index":5546,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["target.entity.ts:32",{"_index":5545,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["target.entity.ts:35",{"_index":5544,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["target.id",{"_index":21254,"title":{},"body":{"classes/TargetInfoMapper.html":{}}}],["target.name",{"_index":21255,"title":{},"body":{"classes/TargetInfoMapper.html":{}}}],["target.service",{"_index":19224,"title":{},"body":{"injectables/RoomsService.html":{}}}],["target.service.ts",{"_index":5556,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["target.service.ts:12",{"_index":5564,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["target.service.ts:34",{"_index":5561,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["target.service.ts:9",{"_index":5559,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["target.targetids",{"_index":16631,"title":{},"body":{"classes/NewsScope.html":{}}}],["target.targetids.length",{"_index":16704,"title":{},"body":{"injectables/NewsUc.html":{}}}],["target.targetmodel",{"_index":16629,"title":{},"body":{"classes/NewsScope.html":{}}}],["target.title",{"_index":5573,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["target:in",{"_index":16630,"title":{},"body":{"classes/NewsScope.html":{}}}],["target_model_values",{"_index":16500,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{}}}],["targetboard",{"_index":4122,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/ColumnService.html":{}}}],["targetboardid",{"_index":4103,"title":{},"body":{"injectables/BoardUc.html":{}}}],["targetcard",{"_index":4520,"title":{},"body":{"injectables/CardUc.html":{},"injectables/ContentElementService.html":{}}}],["targetcardid",{"_index":4503,"title":{},"body":{"injectables/CardUc.html":{}}}],["targetcolumn",{"_index":4450,"title":{},"body":{"injectables/CardService.html":{},"injectables/ColumnUc.html":{}}}],["targetcolumnid",{"_index":5655,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["targetelement",{"_index":8524,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["targetelement.addreferences(element.getreferences",{"_index":8525,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["targetexternalid",{"_index":19969,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["targetfolder",{"_index":5192,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["targetgroupproperties",{"_index":16144,"title":{"interfaces/TargetGroupProperties.html":{}},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["targetgroups",{"_index":16135,"title":{},"body":{"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["targetid",{"_index":8011,"title":{},"body":{"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"classes/FilterNewsParams.html":{},"interfaces/INewsScope.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{}}}],["targetids",{"_index":11230,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{}}}],["targetinfomapper",{"_index":16526,"title":{"classes/TargetInfoMapper.html":{}},"body":{"classes/NewsMapper.html":{},"classes/TargetInfoMapper.html":{}}}],["targetinfomapper.maptoresponse(news.target",{"_index":16528,"title":{},"body":{"classes/NewsMapper.html":{}}}],["targetinforesponse",{"_index":16497,"title":{"classes/TargetInfoResponse.html":{}},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{}}}],["targetmodel",{"_index":7823,"title":{},"body":{"entities/CourseNews.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"classes/FilterNewsParams.html":{},"interfaces/INewsScope.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"injectables/VideoConferenceRepo.html":{}}}],["targetmodels",{"_index":16662,"title":{},"body":{"injectables/NewsUc.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceOptions.html":{},"injectables/VideoConferenceRepo.html":{}}}],["targetmodels.courses",{"_index":24326,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["targetmodels.events",{"_index":24324,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["targetmodels.map(async",{"_index":16700,"title":{},"body":{"injectables/NewsUc.html":{}}}],["targetmodelsmapping",{"_index":24322,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["targetmodelsmapping[entitydo.targetmodel",{"_index":24336,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["targetmodelsmapping[videoconferencescope",{"_index":24329,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["targetparent",{"_index":3686,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["targetparent.addchild(child",{"_index":3699,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["targetparent.haschild(child",{"_index":3693,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["targetparent.removechild(child",{"_index":3694,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["targetparentid",{"_index":18446,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{},"interfaces/SchoolSpecificFileCopyService.html":{}}}],["targetparentinfo",{"_index":11807,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["targetpath",{"_index":7244,"title":{},"body":{"interfaces/CopyFiles.html":{},"interfaces/File.html":{},"interfaces/GetFile.html":{},"interfaces/ListFiles.html":{},"interfaces/ObjectKeysRecursive.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{}}}],["targetpermissions",{"_index":11221,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["targetposition",{"_index":3687,"title":{},"body":{"injectables/BoardDoService.html":{},"injectables/BoardUc.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/ContentElementService.html":{}}}],["targetref",{"_index":9262,"title":{},"body":{"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef-1.html":{}}}],["targetrefdoamin",{"_index":9265,"title":{},"body":{"interfaces/DeletionLogStatistic-1.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"interfaces/DeletionRequestLog.html":{},"interfaces/DeletionRequestProps-1.html":{},"interfaces/DeletionTargetRef-1.html":{}}}],["targetrefdomain",{"_index":2868,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{}}}],["targetrefid",{"_index":9260,"title":{},"body":{"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{}}}],["targets",{"_index":11226,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{}}}],["targets.filter((target",{"_index":16703,"title":{},"body":{"injectables/NewsUc.html":{}}}],["targets.map((target",{"_index":11231,"title":{},"body":{"injectables/FeathersAuthProvider.html":{},"classes/NewsScope.html":{}}}],["targetschoolid",{"_index":5419,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"interfaces/SchoolSpecificFileCopyService.html":{}}}],["targetschoolnumber",{"_index":20035,"title":{},"body":{"classes/SchoolNumberMismatchLoggableException.html":{}}}],["targetsystem",{"_index":23532,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["targetsystemid",{"_index":14220,"title":{},"body":{"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{}}}],["task",{"_index":2928,"title":{"entities/Task.html":{}},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyMapper.html":{},"classes/DtoCreator.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FilesStorageClientMapper.html":{},"classes/LessonCopyApiParams.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"modules/MetaTagExtractorModule.html":{},"interfaces/ParentInfo.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsAuthorisationService.html":{},"classes/ShareTokenDO.html":{},"injectables/ShareTokenUC.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["task's",{"_index":25646,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["task.availabledate",{"_index":21560,"title":{},"body":{"classes/TaskMapper.html":{}}}],["task.course",{"_index":19171,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{},"injectables/SubmissionRepo.html":{}}}],["task.createdat",{"_index":21555,"title":{},"body":{"classes/TaskMapper.html":{}}}],["task.createstudentstatusforuser(this.user",{"_index":9714,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["task.createstudentstatusforuser(user",{"_index":21820,"title":{},"body":{"injectables/TaskUC.html":{}}}],["task.createteacherstatusforuser(this.user",{"_index":9713,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["task.createteacherstatusforuser(user",{"_index":21819,"title":{},"body":{"injectables/TaskUC.html":{}}}],["task.creator",{"_index":19166,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["task.description",{"_index":21460,"title":{},"body":{"injectables/TaskCopyService.html":{},"classes/TaskMapper.html":{}}}],["task.description.replace(regex",{"_index":21461,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["task.descriptioninputformat",{"_index":21558,"title":{},"body":{"classes/TaskMapper.html":{}}}],["task.duedate",{"_index":21562,"title":{},"body":{"classes/TaskMapper.html":{}}}],["task.entity",{"_index":2929,"title":{},"body":{"entities/Board.html":{},"entities/BoardElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/TaskBoardElement.html":{},"classes/UsersList.html":{}}}],["task.factory",{"_index":20783,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["task.finishforuser(user",{"_index":21824,"title":{},"body":{"injectables/TaskUC.html":{}}}],["task.getparentdata",{"_index":21549,"title":{},"body":{"classes/TaskMapper.html":{}}}],["task.id",{"_index":21552,"title":{},"body":{"classes/TaskMapper.html":{}}}],["task.isdraft",{"_index":6200,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["task.isplanned",{"_index":6202,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["task.ispublished",{"_index":6197,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/RoomsAuthorisationService.html":{}}}],["task.lesson",{"_index":19168,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["task.lesson.course",{"_index":20924,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["task.lesson.coursegroup.course",{"_index":20925,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["task.module",{"_index":21378,"title":{},"body":{"modules/TaskApiModule.html":{}}}],["task.name",{"_index":5779,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/TaskMapper.html":{},"injectables/TaskUrlHandler.html":{}}}],["task.name}${task.description",{"_index":5780,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["task.response",{"_index":3723,"title":{},"body":{"classes/BoardElementResponse.html":{}}}],["task.response.ts",{"_index":4045,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:15",{"_index":4055,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:19",{"_index":4056,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:22",{"_index":4049,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:25",{"_index":4054,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:29",{"_index":4050,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:33",{"_index":4052,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:36",{"_index":4053,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:39",{"_index":4051,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:42",{"_index":4059,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:45",{"_index":4058,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.response.ts:5",{"_index":4048,"title":{},"body":{"classes/BoardTaskResponse.html":{}}}],["task.restoreforuser(user",{"_index":21825,"title":{},"body":{"injectables/TaskUC.html":{}}}],["task.rule",{"_index":20945,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["task.submissions.getitems",{"_index":21767,"title":{},"body":{"injectables/TaskService.html":{}}}],["task.unpublish",{"_index":21829,"title":{},"body":{"injectables/TaskUC.html":{}}}],["task.updatedat",{"_index":21556,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskapimodule",{"_index":20200,"title":{"modules/TaskApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TaskApiModule.html":{}}}],["taskboardelement",{"_index":2938,"title":{"entities/TaskBoardElement.html":{}},"body":{"entities/Board.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardRepo.html":{},"entities/TaskBoardElement.html":{}}}],["taskcontroller",{"_index":21376,"title":{"controllers/TaskController.html":{}},"body":{"modules/TaskApiModule.html":{},"controllers/TaskController.html":{}}}],["taskcopy",{"_index":21444,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["taskcopy.name",{"_index":21465,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["taskcopyapiparams",{"_index":7372,"title":{"classes/TaskCopyApiParams.html":{}},"body":{"classes/CopyMapper.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{}}}],["taskcopyparams",{"_index":21439,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["taskcopyparentparams",{"_index":7374,"title":{},"body":{"classes/CopyMapper.html":{},"injectables/TaskCopyUC.html":{}}}],["taskcopyservice",{"_index":3252,"title":{"injectables/TaskCopyService.html":{}},"body":{"injectables/BoardCopyService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"modules/TaskModule.html":{}}}],["taskcopyuc",{"_index":21373,"title":{"injectables/TaskCopyUC.html":{}},"body":{"modules/TaskApiModule.html":{},"controllers/TaskController.html":{},"injectables/TaskCopyUC.html":{}}}],["taskcourse",{"_index":19117,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["taskcourse.name",{"_index":19120,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["taskcreate",{"_index":13656,"title":{"interfaces/TaskCreate.html":{}},"body":{"interfaces/ITask.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskMapper.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{}}}],["taskcreateparams",{"_index":21512,"title":{"classes/TaskCreateParams.html":{}},"body":{"classes/TaskCreateParams.html":{},"classes/TaskMapper.html":{}}}],["taskdesc",{"_index":21548,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskdesc.color",{"_index":21564,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskdesc.courseid",{"_index":21554,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskdesc.coursename",{"_index":21553,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskdesc.lessonhidden",{"_index":21568,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskdesc.lessonname",{"_index":21565,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskelement",{"_index":3349,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["taskelements",{"_index":3960,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["taskfactory",{"_index":20782,"title":{"classes/TaskFactory.html":{}},"body":{"classes/SubmissionFactory.html":{},"classes/TaskFactory.html":{}}}],["taskfactory.build",{"_index":20787,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["taskfactory.define(task",{"_index":21528,"title":{},"body":{"classes/TaskFactory.html":{}}}],["taskid",{"_index":20964,"title":{},"body":{"injectables/SubmissionService.html":{},"injectables/SubmissionUc.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"classes/TaskUrlParams.html":{}}}],["taskidentifier",{"_index":5776,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["taskidentifier}/${taskidentifier}.html",{"_index":5778,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["taskids",{"_index":20912,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["tasklistresponse",{"_index":21409,"title":{"classes/TaskListResponse.html":{}},"body":{"controllers/TaskController.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{}}}],["tasklistresponse(taskresponses",{"_index":21421,"title":{},"body":{"controllers/TaskController.html":{}}}],["taskmapper",{"_index":21406,"title":{"classes/TaskMapper.html":{}},"body":{"controllers/TaskController.html":{},"classes/TaskMapper.html":{}}}],["taskmapper.maptoresponse(task",{"_index":21420,"title":{},"body":{"controllers/TaskController.html":{}}}],["taskmodule",{"_index":15133,"title":{"modules/TaskModule.html":{}},"body":{"modules/LearnroomModule.html":{},"modules/LessonModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{}}}],["taskparent",{"_index":6152,"title":{"interfaces/TaskParent.html":{}},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["taskparentdescriptions",{"_index":21281,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["taskparentpermission",{"_index":19161,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["taskproperties",{"_index":13657,"title":{"interfaces/TaskProperties.html":{}},"body":{"interfaces/ITask.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{}}}],["taskrepo",{"_index":1914,"title":{"injectables/TaskRepo.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"modules/TaskApiModule.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"modules/TaskModule.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{}}}],["taskresponse",{"_index":21410,"title":{"classes/TaskResponse.html":{}},"body":{"controllers/TaskController.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"classes/TaskResponse.html":{}}}],["taskresponses",{"_index":21418,"title":{},"body":{"controllers/TaskController.html":{}}}],["taskrule",{"_index":1876,"title":{"injectables/TaskRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/RuleManager.html":{},"injectables/SubmissionRule.html":{},"injectables/TaskRule.html":{}}}],["tasks",{"_index":5741,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"interfaces/ParentInfo.html":{},"injectables/RoomsAuthorisationService.html":{},"classes/ShareTokenDO.html":{},"classes/SingleColumnBoardResponse.html":{},"controllers/TaskController.html":{},"injectables/TaskRepo.html":{},"injectables/TaskUC.html":{}}}],["tasks.filter((task",{"_index":6196,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["tasks.foreach((task",{"_index":5743,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["tasks.map((task",{"_index":21818,"title":{},"body":{"injectables/TaskUC.html":{}}}],["taskscope",{"_index":21600,"title":{"classes/TaskScope.html":{}},"body":{"injectables/TaskRepo.html":{},"classes/TaskScope.html":{}}}],["taskscope('$or",{"_index":21610,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["taskservice",{"_index":5691,"title":{"injectables/TaskService.html":{}},"body":{"injectables/CommonCartridgeExportService.html":{},"injectables/RoomsService.html":{},"injectables/ShareTokenService.html":{},"modules/TaskModule.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{}}}],["taskstatus",{"_index":4065,"title":{"interfaces/TaskStatus.html":{}},"body":{"classes/BoardTaskStatusMapper.html":{},"classes/DtoCreator.html":{},"interfaces/ITask.html":{},"injectables/RoomBoardDTOFactory.html":{},"entities/Task.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{}}}],["taskstatus.mapper",{"_index":19096,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["taskstatus.mapper.ts",{"_index":4063,"title":{},"body":{"classes/BoardTaskStatusMapper.html":{}}}],["taskstatus.mapper.ts:5",{"_index":4066,"title":{},"body":{"classes/BoardTaskStatusMapper.html":{}}}],["taskstatusmapper",{"_index":21546,"title":{"classes/TaskStatusMapper.html":{}},"body":{"classes/TaskMapper.html":{},"classes/TaskStatusMapper.html":{}}}],["taskstatusmapper.maptoresponse(status",{"_index":21551,"title":{},"body":{"classes/TaskMapper.html":{}}}],["taskstatusresponse",{"_index":21532,"title":{"classes/TaskStatusResponse.html":{}},"body":{"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{}}}],["taskstatusresponse(status",{"_index":21772,"title":{},"body":{"classes/TaskStatusMapper.html":{}}}],["tasksubmitterids",{"_index":21336,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["taskswithstatus",{"_index":21415,"title":{},"body":{"controllers/TaskController.html":{}}}],["taskswithstatus.map((task",{"_index":21419,"title":{},"body":{"controllers/TaskController.html":{}}}],["taskuc",{"_index":21374,"title":{"injectables/TaskUC.html":{}},"body":{"modules/TaskApiModule.html":{},"controllers/TaskController.html":{},"injectables/TaskUC.html":{}}}],["taskupdate",{"_index":13655,"title":{"interfaces/TaskUpdate.html":{}},"body":{"interfaces/ITask.html":{},"interfaces/TaskCreate.html":{},"classes/TaskMapper.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{}}}],["taskupdateparams",{"_index":21542,"title":{"classes/TaskUpdateParams.html":{}},"body":{"classes/TaskMapper.html":{},"classes/TaskUpdateParams.html":{}}}],["taskurlhandler",{"_index":16204,"title":{"injectables/TaskUrlHandler.html":{}},"body":{"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/TaskUrlHandler.html":{}}}],["taskurlparams",{"_index":20755,"title":{"classes/TaskUrlParams.html":{}},"body":{"controllers/SubmissionController.html":{},"controllers/TaskController.html":{},"classes/TaskUrlParams.html":{}}}],["taskwithstatus",{"_index":19106,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{},"classes/TaskMapper.html":{}}}],["taskwithstatusvo",{"_index":9680,"title":{"classes/TaskWithStatusVo.html":{}},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"entities/Task.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{}}}],["taskwithstatusvo(task",{"_index":9710,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/TaskUC.html":{}}}],["taskwithstatusvos",{"_index":21817,"title":{},"body":{"injectables/TaskUC.html":{}}}],["teacher",{"_index":3383,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/FilterImportUserParams.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"injectables/LessonRule.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/TaskRepo.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["teacher.firstname",{"_index":5771,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["teacher.lastname",{"_index":5772,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["teacher_student_visibility__is_configurable",{"_index":313,"title":{},"body":{"interfaces/AccountConfig.html":{},"interfaces/ServerConfig.html":{}}}],["teacheraccount",{"_index":720,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["teacherentities",{"_index":11346,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["teacherid",{"_index":21260,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["teacherid.tohexstring",{"_index":4727,"title":{},"body":{"classes/ClassMapper.html":{}}}],["teacherids",{"_index":4542,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassesRepo.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["teachernames",{"_index":4669,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/GroupUcMapper.html":{}}}],["teacherpermissions",{"_index":23384,"title":{},"body":{"classes/UserFactory.html":{}}}],["teacherpseudonyms",{"_index":11356,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["teacherpseudonyms.concat(substitutionteacherpseudonyms",{"_index":11362,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["teachers",{"_index":4692,"title":{},"body":{"classes/ClassInfoResponse.html":{},"injectables/CommonCartridgeExportService.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/FeathersRosterService.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"classes/UsersList.html":{}}}],["teachers.map((user",{"_index":12985,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["teacherswithid",{"_index":7696,"title":{},"body":{"classes/CourseFactory.html":{}}}],["teacherswithid(numberofteachers",{"_index":7702,"title":{},"body":{"classes/CourseFactory.html":{}}}],["teacheruser",{"_index":721,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["teaching_assistant",{"_index":8092,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["teachingassistant",{"_index":8093,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["team",{"_index":4971,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/NextcloudStrategy.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"controllers/TeamNewsController.html":{},"classes/TeamUrlParams.html":{},"injectables/TeamsRepo.html":{},"properties.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["team.entity",{"_index":7818,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["team.id",{"_index":5006,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/IdTokenService.html":{},"injectables/NextcloudStrategy.html":{}}}],["team.name",{"_index":5008,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/IdTokenService.html":{},"injectables/NextcloudStrategy.html":{}}}],["team.teamusers",{"_index":16768,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["team.teamusers.length",{"_index":16778,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["team.teamusers.map(async",{"_index":22035,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["team.userids",{"_index":21986,"title":{},"body":{"injectables/TeamService.html":{}}}],["team.userids.filter((u",{"_index":21987,"title":{},"body":{"injectables/TeamService.html":{}}}],["teamadmin",{"_index":5102,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["teamdto",{"_index":4969,"title":{"classes/TeamDto.html":{}},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/NextcloudStrategy.html":{},"classes/TeamDto.html":{},"injectables/TeamMapper.html":{},"classes/TeamUserDto.html":{}}}],["teamentity",{"_index":7817,"title":{"entities/TeamEntity.html":{}},"body":{"entities/CourseNews.html":{},"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{},"injectables/IdTokenService.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["teamentity.id",{"_index":21921,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["teamentity.name",{"_index":21922,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["teamentity.teamusers.map",{"_index":21917,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["teamfactory",{"_index":21897,"title":{"classes/TeamFactory.html":{}},"body":{"classes/TeamFactory.html":{}}}],["teamfactory.define(teamentity",{"_index":21909,"title":{},"body":{"classes/TeamFactory.html":{}}}],["teamid",{"_index":4244,"title":{},"body":{"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/NextcloudStrategy.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"classes/TeamUrlParams.html":{}}}],["teammapper",{"_index":5074,"title":{"injectables/TeamMapper.html":{}},"body":{"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/TeamMapper.html":{}}}],["teammemberids",{"_index":20691,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["teammemberobjectids",{"_index":20689,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["teammemberobjectids.map((id",{"_index":20692,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["teammembers",{"_index":20653,"title":{},"body":{"entities/Submission.html":{},"classes/SubmissionFactory.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{}}}],["teammemberswithid",{"_index":20775,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["teammemberswithid(numberofteammembers",{"_index":20779,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["teamname",{"_index":5007,"title":{},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/NextcloudStrategy.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["teamnews",{"_index":7853,"title":{"entities/TeamNews.html":{}},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["teamnews(props",{"_index":7845,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["teamnewscontroller",{"_index":16562,"title":{"controllers/TeamNewsController.html":{}},"body":{"modules/NewsModule.html":{},"controllers/TeamNewsController.html":{}}}],["teamowner",{"_index":5101,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["teampermissions",{"_index":5097,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["teampermissionsbody",{"_index":5045,"title":{"classes/TeamPermissionsBody.html":{}},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageUc.html":{},"classes/TeamPermissionsBody.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["teampermissionsdto",{"_index":4980,"title":{"classes/TeamPermissionsDto.html":{}},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"injectables/CollaborativeStorageService.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["teampermissionsmapper",{"_index":5075,"title":{"injectables/TeamPermissionsMapper.html":{}},"body":{"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/TeamPermissionsMapper.html":{}}}],["teamproperties",{"_index":21888,"title":{"interfaces/TeamProperties.html":{}},"body":{"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["teamrole",{"_index":5042,"title":{},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageUc.html":{}}}],["teamrole.roleid",{"_index":5145,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["teamrole.teamid",{"_index":5144,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["teamroledto",{"_index":5043,"title":{"classes/TeamRoleDto.html":{}},"body":{"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageUc.html":{},"classes/TeamRoleDto.html":{}}}],["teamrolepermissionsdto",{"_index":5004,"title":{"classes/TeamRolePermissionsDto.html":{}},"body":{"injectables/CollaborativeStorageAdapterMapper.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["teamrule",{"_index":1877,"title":{"injectables/TeamRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/RuleManager.html":{},"injectables/TeamRule.html":{}}}],["teams",{"_index":8010,"title":{},"body":{"interfaces/CreateNews.html":{},"interfaces/INewsScope.html":{},"injectables/IdTokenService.html":{},"injectables/NextcloudStrategy.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"controllers/TeamNewsController.html":{},"interfaces/TeamProperties.html":{},"injectables/TeamService.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["teams.foreach((team",{"_index":21985,"title":{},"body":{"injectables/TeamService.html":{}}}],["teams.length",{"_index":21990,"title":{},"body":{"injectables/TeamService.html":{}}}],["teams.map((team",{"_index":13726,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["teamsapimodule",{"_index":20202,"title":{"modules/TeamsApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TeamsApiModule.html":{}}}],["teamservice",{"_index":21975,"title":{"injectables/TeamService.html":{}},"body":{"injectables/TeamService.html":{},"modules/TeamsModule.html":{}}}],["teamsmapper",{"_index":5083,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["teamsmodule",{"_index":8978,"title":{"modules/TeamsModule.html":{}},"body":{"modules/DeletionApiModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{}}}],["teamsrepo",{"_index":1915,"title":{"injectables/TeamsRepo.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"modules/CollaborativeStorageModule.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/IdTokenService.html":{},"modules/OauthProviderModule.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/TeamService.html":{},"modules/TeamsModule.html":{},"injectables/TeamsRepo.html":{},"modules/VideoConferenceModule.html":{}}}],["teamstorageuc",{"_index":5064,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["teamsubmissions",{"_index":13659,"title":{},"body":{"interfaces/ITask.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"interfaces/TaskCreate.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"interfaces/TaskStatus.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{}}}],["teamurlparams",{"_index":21928,"title":{"classes/TeamUrlParams.html":{}},"body":{"controllers/TeamNewsController.html":{},"classes/TeamUrlParams.html":{}}}],["teamuser",{"_index":16744,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"injectables/TeamsRepo.html":{}}}],["teamuser.role.id",{"_index":21919,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["teamuser.school.id",{"_index":21920,"title":{},"body":{"injectables/TeamMapper.html":{}}}],["teamuser.user.id",{"_index":21918,"title":{},"body":{"injectables/TeamMapper.html":{},"injectables/TeamRule.html":{}}}],["teamuserdto",{"_index":16748,"title":{"classes/TeamUserDto.html":{}},"body":{"injectables/NextcloudStrategy.html":{},"classes/TeamDto.html":{},"injectables/TeamMapper.html":{},"classes/TeamUserDto.html":{}}}],["teamuserentity",{"_index":21885,"title":{"classes/TeamUserEntity.html":{}},"body":{"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"interfaces/TeamProperties.html":{},"injectables/TeamRule.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{}}}],["teamuserentity(teamuser",{"_index":21896,"title":{},"body":{"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["teamuserfactory",{"_index":21905,"title":{"classes/TeamUserFactory.html":{}},"body":{"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{}}}],["teamuserfactory.buildwithid",{"_index":21910,"title":{},"body":{"classes/TeamFactory.html":{}}}],["teamuserfactory.define(teamuserentity",{"_index":22016,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["teamuserfactory.withroleanduserid(role",{"_index":21907,"title":{},"body":{"classes/TeamFactory.html":{}}}],["teamuserproperties",{"_index":21889,"title":{"interfaces/TeamUserProperties.html":{}},"body":{"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["teamusers",{"_index":16732,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["teamusers(value",{"_index":21894,"title":{},"body":{"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["teamusers.map(async",{"_index":16785,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["teardown",{"_index":25255,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["tech",{"_index":25399,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["technical",{"_index":9888,"title":{},"body":{"classes/ErrorLoggable.html":{},"injectables/LdapStrategy.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["technological",{"_index":24824,"title":{},"body":{"license.html":{}}}],["tell",{"_index":25391,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["tells",{"_index":6225,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"license.html":{}}}],["temp",{"_index":12046,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["temp/:file",{"_index":13188,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["tempfile",{"_index":22111,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["tempfile.entity",{"_index":22094,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["tempfile.entity.ts",{"_index":13405,"title":{},"body":{"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["tempfile.entity.ts:19",{"_index":13408,"title":{},"body":{"entities/H5pEditorTempFile.html":{}}}],["tempfile.entity.ts:22",{"_index":13407,"title":{},"body":{"entities/H5pEditorTempFile.html":{}}}],["tempfile.entity.ts:25",{"_index":13412,"title":{},"body":{"entities/H5pEditorTempFile.html":{}}}],["tempfile.entity.ts:28",{"_index":13406,"title":{},"body":{"entities/H5pEditorTempFile.html":{}}}],["tempfile.entity.ts:31",{"_index":13413,"title":{},"body":{"entities/H5pEditorTempFile.html":{}}}],["tempfile.size",{"_index":22115,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["tempflow.alias",{"_index":14562,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["template",{"_index":1167,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/BaseFactory.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ErrorLoggable.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoService.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"injectables/LegacySystemRepo.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/TldrawModule.html":{},"controllers/ToolConfigurationController.html":{}}}],["template')@apiunauthorizedresponse()@apiforbiddenresponse()@apioperation({summary",{"_index":22632,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["template.replace(/\\{id\\}/g",{"_index":10390,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["template.response",{"_index":6678,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{}}}],["template.response.ts",{"_index":6679,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["template.response.ts:10",{"_index":6690,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["template.response.ts:13",{"_index":6687,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["template.response.ts:16",{"_index":6686,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["template.response.ts:19",{"_index":6689,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["template.response.ts:22",{"_index":6684,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{}}}],["template.response.ts:7",{"_index":6685,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["temporary",{"_index":357,"title":{},"body":{"controllers/AccountController.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/SanisProvisioningStrategy.html":{},"interfaces/UserBoardRoles.html":{}}}],["temporaryfileproperties",{"_index":13398,"title":{"interfaces/TemporaryFileProperties.html":{}},"body":{"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["temporaryfilerepo",{"_index":13262,"title":{"injectables/TemporaryFileRepo.html":{}},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{}}}],["temporaryfilestorage",{"_index":13263,"title":{"injectables/TemporaryFileStorage.html":{}},"body":{"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"injectables/TemporaryFileStorage.html":{}}}],["tempted",{"_index":26063,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["term",{"_index":24798,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["terminal",{"_index":25872,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["terminate",{"_index":25011,"title":{},"body":{"license.html":{}}}],["terminated",{"_index":25029,"title":{},"body":{"license.html":{}}}],["terminates",{"_index":25020,"title":{},"body":{"license.html":{}}}],["termination",{"_index":25008,"title":{},"body":{"license.html":{}}}],["terms",{"_index":24609,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["test",{"_index":981,"title":{},"body":{"injectables/AccountValidationService.html":{},"interfaces/CleanOptions.html":{},"injectables/FeathersAuthProvider.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"classes/MaterialFactory.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"controllers/ServerController.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"classes/TestBootstrapConsole.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["test.createtestingmodule",{"_index":22157,"title":{},"body":{"classes/TestBootstrapConsole.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["test.module.ts",{"_index":12366,"title":{},"body":{"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["test.module.ts:18",{"_index":22561,"title":{},"body":{"modules/TldrawWsTestModule.html":{}}}],["test.module.ts:29",{"_index":22387,"title":{},"body":{"modules/TldrawTestModule.html":{}}}],["test.module.ts:30",{"_index":12367,"title":{},"body":{"modules/FilesStorageTestModule.html":{}}}],["test.module.ts:37",{"_index":12471,"title":{},"body":{"modules/FwuLearningContentsTestModule.html":{}}}],["test.module.ts:53",{"_index":13281,"title":{},"body":{"modules/H5PEditorTestModule.html":{}}}],["test/test",{"_index":22146,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["testapiclient",{"_index":1617,"title":{"classes/TestApiClient.html":{}},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["testbootstrapconsole",{"_index":22144,"title":{"classes/TestBootstrapConsole.html":{}},"body":{"classes/TestBootstrapConsole.html":{}}}],["testcase",{"_index":25662,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["testconnection",{"_index":22165,"title":{"classes/TestConnection.html":{}},"body":{"classes/TestConnection.html":{}}}],["testdata",{"_index":25682,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["tested",{"_index":7899,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["testhelper",{"_index":22180,"title":{"classes/TestHelper.html":{}},"body":{"classes/TestHelper.html":{}}}],["testing",{"_index":13176,"title":{"additional-documentation/nestjs-application/testing.html":{}},"body":{"controllers/H5PEditorController.html":{},"modules/InterceptorModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["testing'})@apiresponse({status",{"_index":13148,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["testingmodule",{"_index":22153,"title":{},"body":{"classes/TestBootstrapConsole.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["testkcconnection",{"_index":14413,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["testmodule",{"_index":25801,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["testmodule.close",{"_index":25807,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["testmodule.get(entitymanager",{"_index":25804,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["testmodule.get(mikroorm",{"_index":25803,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["testmodule.get(newsrepo",{"_index":25802,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["testname",{"_index":22191,"title":{},"body":{"classes/TestHelper.html":{}}}],["testreqestconst",{"_index":1612,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["testreqestconst.accesstoken",{"_index":1676,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["testreqestconst.loginpath",{"_index":1652,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["testreqestconst.prefix",{"_index":1635,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["testrequestinstance",{"_index":1639,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["tests",{"_index":2545,"title":{},"body":{"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"interfaces/FileStorageConfig.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"index.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["testtag",{"_index":22190,"title":{},"body":{"classes/TestHelper.html":{}}}],["testtext",{"_index":22186,"title":{},"body":{"classes/TestHelper.html":{}}}],["testuser",{"_index":7986,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["testxapikeyclient",{"_index":22193,"title":{"classes/TestXApiKeyClient.html":{}},"body":{"classes/TestXApiKeyClient.html":{}}}],["text",{"_index":2881,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardManagementUc.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ConsoleWriterService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileMetadata.html":{},"injectables/FileSystemAdapter.html":{},"entities/InstalledLibrary.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LibraryName.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/Path.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/TestHelper.html":{},"classes/UpdateElementContentBodyParams.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["text(value",{"_index":18876,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["text.length",{"_index":22189,"title":{},"body":{"classes/TestHelper.html":{}}}],["text.types.ts",{"_index":18853,"title":{},"body":{"classes/RichText.html":{}}}],["text.types.ts:14",{"_index":18855,"title":{},"body":{"classes/RichText.html":{}}}],["text.types.ts:20",{"_index":18856,"title":{},"body":{"classes/RichText.html":{}}}],["text.types.ts:5",{"_index":18854,"title":{},"body":{"classes/RichText.html":{}}}],["text.validator.ts",{"_index":25566,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["text1",{"_index":5488,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["text2",{"_index":5508,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["text3",{"_index":5524,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["text4",{"_index":5536,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["textutils",{"_index":25552,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["textvalidator",{"_index":25567,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["tha",{"_index":3918,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["that's",{"_index":794,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["themself",{"_index":26092,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["themselves",{"_index":25753,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["then((pseudonymdo",{"_index":16789,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["then((resp",{"_index":2397,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["there's",{"_index":21681,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["therefore",{"_index":7728,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"controllers/UserLoginMigrationController.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["things",{"_index":24683,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["think",{"_index":21497,"title":{},"body":{"injectables/TaskCopyUC.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["third",{"_index":24846,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["this(entityclass",{"_index":2585,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this._allowemptyquery",{"_index":20117,"title":{},"body":{"classes/Scope.html":{}}}],["this._collectdefaultmetrics",{"_index":18024,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["this._collectmetricsroutemetrics",{"_index":18025,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["this._columnboardid",{"_index":5548,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["this._columnboardid.tohexstring",{"_index":5552,"title":{},"body":{"entities/ColumnBoardTarget.html":{}}}],["this._contextid",{"_index":5443,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["this._contextid.tohexstring",{"_index":5445,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["this._contextid?.tohexstring",{"_index":20277,"title":{},"body":{"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["this._contexttype",{"_index":5441,"title":{},"body":{"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{}}}],["this._creatorid",{"_index":6619,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this._creatorid.tohexstring",{"_index":6611,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this._em.aggregate(fileentity",{"_index":12130,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["this._em.aggregate(lessonentity",{"_index":15497,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["this._em.aggregate(user",{"_index":23847,"title":{},"body":{"injectables/UserRepo.html":{}}}],["this._em.assign(existingentity",{"_index":2494,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this._em.clear",{"_index":791,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this._em.count(this.entityname",{"_index":6839,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/H5PContentRepo.html":{}}}],["this._em.create(entityname",{"_index":2495,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this._em.create(this.entityname",{"_index":2623,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["this._em.find(account",{"_index":776,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this._em.find(coursegroup",{"_index":20922,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["this._em.find(fileentity",{"_index":12123,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["this._em.find(ltitool",{"_index":16012,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["this._em.find(role",{"_index":19057,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["this._em.find(storageproviderentity",{"_index":20642,"title":{},"body":{"injectables/StorageProviderRepo.html":{}}}],["this._em.find(systementity",{"_index":15336,"title":{},"body":{"injectables/LegacySystemRepo.html":{}}}],["this._em.find(teamentity",{"_index":22038,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["this._em.find(this.entityname",{"_index":787,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/H5PContentRepo.html":{},"injectables/LibraryRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/TemporaryFileRepo.html":{}}}],["this._em.find(tldrawdrawing",{"_index":22371,"title":{},"body":{"injectables/TldrawRepo.html":{}}}],["this._em.find(user",{"_index":23302,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["this._em.findandcount",{"_index":800,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/ExternalToolRepo.html":{}}}],["this._em.findandcount(course",{"_index":7897,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["this._em.findandcount(coursegroup",{"_index":7751,"title":{},"body":{"injectables/CourseGroupRepo.html":{}}}],["this._em.findandcount(filerecord",{"_index":11926,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["this._em.findandcount(importuser",{"_index":14094,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["this._em.findandcount(lessonentity",{"_index":15494,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["this._em.findandcount(news",{"_index":16594,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this._em.findandcount(schoolentity",{"_index":15252,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["this._em.findandcount(task",{"_index":21685,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["this._em.findandcount(this.entityname",{"_index":15623,"title":{},"body":{"injectables/LibraryRepo.html":{},"injectables/SubmissionRepo.html":{}}}],["this._em.findandcount(user",{"_index":23290,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["this._em.findone",{"_index":6841,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["this._em.findone(account",{"_index":772,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this._em.findone(board",{"_index":3953,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this._em.findone(importuser",{"_index":14075,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["this._em.findone(ltitool",{"_index":16015,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["this._em.findone(schoolentity",{"_index":15250,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["this._em.findone(this.entityname",{"_index":10649,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/UserDORepo.html":{}}}],["this._em.findone(userloginmigrationentity",{"_index":23593,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["this._em.findoneorfail",{"_index":6840,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["this._em.findoneorfail(account",{"_index":777,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this._em.findoneorfail(board",{"_index":3957,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this._em.findoneorfail(course",{"_index":3955,"title":{},"body":{"injectables/BoardRepo.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["this._em.findoneorfail(entityname",{"_index":2492,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this._em.findoneorfail(federalstateentity",{"_index":11424,"title":{},"body":{"injectables/FederalStateRepo.html":{}}}],["this._em.findoneorfail(filerecord",{"_index":11927,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["this._em.findoneorfail(importuser",{"_index":14072,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["this._em.findoneorfail(ltitool",{"_index":16014,"title":{},"body":{"injectables/LtiToolRepo.html":{}}}],["this._em.findoneorfail(news",{"_index":16590,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this._em.findoneorfail(role",{"_index":19055,"title":{},"body":{"injectables/RoleRepo.html":{}}}],["this._em.findoneorfail(schoolyearentity",{"_index":20095,"title":{},"body":{"injectables/SchoolYearRepo.html":{}}}],["this._em.findoneorfail(sharetoken",{"_index":20410,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["this._em.findoneorfail(teamentity",{"_index":22034,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["this._em.findoneorfail(this.entityname",{"_index":2515,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BaseRepo.html":{},"injectables/H5PContentRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/UserDORepo.html":{}}}],["this._em.findoneorfail(user",{"_index":23866,"title":{},"body":{"injectables/UserRepo.html":{}}}],["this._em.findoneorfail(videoconference",{"_index":24328,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["this._em.flush",{"_index":781,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/BaseDORepo.html":{},"injectables/UserRepo.html":{}}}],["this._em.getreference(entityname",{"_index":779,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this._em.getreference(externaltoolentity",{"_index":19784,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["this._em.getreference(role",{"_index":23325,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["this._em.getreference(schoolentity",{"_index":19782,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["this._em.getreference(schoolexternaltoolentity",{"_index":6857,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["this._em.getreference(systementity",{"_index":15275,"title":{},"body":{"injectables/LegacySchoolRepo.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["this._em.getreference(this.entityname",{"_index":2505,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this._em.getreference(userloginmigrationentity",{"_index":15277,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["this._em.map(fileentity",{"_index":12132,"title":{},"body":{"injectables/FilesRepo.html":{}}}],["this._em.map(lessonentity",{"_index":15499,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["this._em.map(user",{"_index":23860,"title":{},"body":{"injectables/UserRepo.html":{}}}],["this._em.nativedelete(importuser",{"_index":14099,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["this._em.nativedelete(this.entityname",{"_index":6833,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["this._em.nativedelete(user",{"_index":23865,"title":{},"body":{"injectables/UserRepo.html":{}}}],["this._em.persist(account",{"_index":780,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this._em.persistandflush(board",{"_index":3956,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this._em.persistandflush(entities",{"_index":2624,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["this._em.persistandflush(entity",{"_index":22370,"title":{},"body":{"injectables/TldrawRepo.html":{}}}],["this._em.populate(columnboardelements",{"_index":3967,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this._em.populate(course",{"_index":7889,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["this._em.populate(coursegroup",{"_index":7750,"title":{},"body":{"injectables/CourseGroupRepo.html":{}}}],["this._em.populate(coursenews",{"_index":16600,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this._em.populate(importuser.user",{"_index":14073,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["this._em.populate(lesson",{"_index":15489,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["this._em.populate(lessonelements",{"_index":3965,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this._em.populate(lessons",{"_index":15495,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["this._em.populate(newsentities",{"_index":16595,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this._em.populate(newsentity",{"_index":16591,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this._em.populate(role",{"_index":22041,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["this._em.populate(schoolnews",{"_index":16598,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this._em.populate(submissions",{"_index":20923,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["this._em.populate(taskelements",{"_index":3963,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this._em.populate(tasks",{"_index":21601,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["this._em.populate(teamnews",{"_index":16599,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this._em.populate(teamuser",{"_index":22036,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["this._em.populate(user",{"_index":23296,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["this._em.populate(userentity",{"_index":23292,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["this._em.populate(usermatches",{"_index":14098,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["this._em.populate(users",{"_index":23862,"title":{},"body":{"injectables/UserRepo.html":{}}}],["this._em.remove(entities).flush",{"_index":2507,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this._em.removeandflush(account",{"_index":786,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this._em.removeandflush(entities",{"_index":2625,"title":{},"body":{"injectables/BaseRepo.html":{}}}],["this._em.removeandflush(entity",{"_index":22372,"title":{},"body":{"injectables/TldrawRepo.html":{}}}],["this._id",{"_index":8541,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["this._instance",{"_index":18031,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["this._iscopyfrom",{"_index":11797,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this._iscopyfrom?.tohexstring",{"_index":11793,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this._isenabled",{"_index":18021,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["this._lockid",{"_index":11609,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this._lockid?.tohexstring",{"_index":11569,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this._oauthconfigcache",{"_index":14692,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this._operator",{"_index":20116,"title":{},"body":{"classes/Scope.html":{}}}],["this._origintoolid",{"_index":8142,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["this._origintoolid?.tohexstring",{"_index":8111,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"entities/LtiTool.html":{}}}],["this._ownerid",{"_index":11602,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this._ownerid.tohexstring",{"_index":11568,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this._parentid",{"_index":6617,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ParentInfo.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["this._parentid.tohexstring",{"_index":6613,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ParentInfo.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["this._parentid?.tohexstring",{"_index":11567,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this._port",{"_index":18023,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["this._queries",{"_index":20119,"title":{},"body":{"classes/Scope.html":{}}}],["this._queries.length",{"_index":20118,"title":{},"body":{"classes/Scope.html":{}}}],["this._queries.push(query",{"_index":20121,"title":{},"body":{"classes/Scope.html":{}}}],["this._queries[0",{"_index":20120,"title":{},"body":{"classes/Scope.html":{}}}],["this._route",{"_index":18022,"title":{},"body":{"classes/PrometheusMetricsConfig.html":{}}}],["this._schoolid",{"_index":6621,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this._schoolid.tohexstring",{"_index":6615,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.a11ytitle",{"_index":6585,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.abbreviation",{"_index":7444,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["this.acceptconsentrequest",{"_index":17242,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["this.acceptloginrequest(currentuserid",{"_index":17393,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.accesskeyid",{"_index":20632,"title":{},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["this.accesstoken",{"_index":15817,"title":{},"body":{"classes/LoginDto.html":{},"classes/LoginResponse.html":{},"classes/OAuthTokenDto.html":{},"classes/OauthDataStrategyInputDto.html":{}}}],["this.accountlookupservice.getinternalid(id",{"_index":960,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.deletebyid(internalid",{"_index":953,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.deletebyuserid(userid",{"_index":954,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.findbyid(accountid",{"_index":1006,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["this.accountrepo.findbyid(internalid",{"_index":929,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.findbyuserid(userid",{"_index":932,"title":{},"body":{"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{}}}],["this.accountrepo.findbyusernameandsystemid(username",{"_index":934,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.findmany(offset",{"_index":965,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.findmultiplebyuserid(userids",{"_index":930,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.save(account",{"_index":949,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.searchbyusernameexactmatch(email",{"_index":989,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["this.accountrepo.searchbyusernameexactmatch(username",{"_index":957,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountrepo.searchbyusernamepartialmatch(username",{"_index":955,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.accountservice.findbyuserid(user.id",{"_index":16934,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["this.accountservice.findbyuseridorfail(currentuserid",{"_index":23773,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.accountservice.findbyuseridorfail(userid",{"_index":23927,"title":{},"body":{"injectables/UserService.html":{}}}],["this.accountservice.findbyusernameandsystemid(username",{"_index":1726,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["this.accountservice.findmany(skip",{"_index":14827,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["this.accountservice.save(account",{"_index":23779,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.accountservice.save(accountcopy",{"_index":23781,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.accountservice.savewithvalidation",{"_index":17650,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.accountservice.searchbyusernameexactmatch(username",{"_index":1727,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["this.accountservice.updatelasttriedfailedlogin(id",{"_index":1752,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["this.accountuc.deleteaccountbyid(currentuser",{"_index":424,"title":{},"body":{"controllers/AccountController.html":{}}}],["this.accountuc.findaccountbyid(currentuser",{"_index":406,"title":{},"body":{"controllers/AccountController.html":{}}}],["this.accountuc.replacemytemporarypassword(currentuser.userid",{"_index":426,"title":{},"body":{"controllers/AccountController.html":{}}}],["this.accountuc.searchaccounts(currentuser",{"_index":404,"title":{},"body":{"controllers/AccountController.html":{}}}],["this.accountuc.updateaccountbyid(currentuser",{"_index":422,"title":{},"body":{"controllers/AccountController.html":{}}}],["this.accountuc.updatemyaccount(currentuser.userid",{"_index":420,"title":{},"body":{"controllers/AccountController.html":{}}}],["this.action",{"_index":22353,"title":{},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["this.activated",{"_index":250,"title":{},"body":{"entities/Account.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{}}}],["this.active",{"_index":14911,"title":{},"body":{"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.adapter.createteam(team",{"_index":5116,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.adapter.deleteteam(teamid",{"_index":5115,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.adapter.updateteam(team",{"_index":5117,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.adapter.updateteampermissionsforrole",{"_index":5112,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.addclientprotocolmappers(defaultclientinternalid",{"_index":14590,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.addexternaloauth2datatoconfig(tool.config",{"_index":10976,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.additionalinfo",{"_index":13737,"title":{},"body":{"classes/IdTokenUserNotFoundLoggableException.html":{}}}],["this.addlessons(builder",{"_index":5726,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["this.addquery",{"_index":6974,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/DeletionRequestScope.html":{},"classes/ExternalToolScope.html":{},"classes/FileRecordScope.html":{},"classes/ImportUserScope.html":{},"classes/LessonScope.html":{},"classes/NewsScope.html":{},"classes/PseudonymScope.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SystemScope.html":{},"classes/TaskScope.html":{},"classes/UserScope.html":{}}}],["this.addquery(emptyresultquery",{"_index":16634,"title":{},"body":{"classes/NewsScope.html":{}}}],["this.addquery(queries[0",{"_index":16635,"title":{},"body":{"classes/NewsScope.html":{}}}],["this.addquery(query",{"_index":11958,"title":{},"body":{"classes/FileRecordScope.html":{},"classes/TaskScope.html":{}}}],["this.addroom(room",{"_index":8494,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.addtasks(builder",{"_index":5727,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["this.addteacherroleifadmin(externaluser",{"_index":19551,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.addto",{"_index":11685,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.adminidandtoken",{"_index":1180,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.alias",{"_index":15014,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.allowedapikeys",{"_index":24417,"title":{},"body":{"injectables/XApiKeyStrategy.html":{}}}],["this.allowedapikeys.includes(apikey",{"_index":24419,"title":{},"body":{"injectables/XApiKeyStrategy.html":{}}}],["this.allowmodstounmuteusers",{"_index":2195,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["this.allrooms",{"_index":8504,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.alternativetext",{"_index":11502,"title":{},"body":{"classes/FileElementContent.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"classes/FileElementResponse.html":{}}}],["this.amqpconnection.publish",{"_index":1337,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["this.amqpconnection.publish(this.options.exchange",{"_index":16101,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.amqpconnection.request>(this.createrequest(event",{"_index":19270,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["this.amqpconnectionmanager.getconnections().map((connection",{"_index":18372,"title":{},"body":{"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{}}}],["this.ancestorids.length",{"_index":3893,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["this.ancestorids[this.ancestorids.length",{"_index":3887,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["this.antareskey",{"_index":7440,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["this.apikey",{"_index":9020,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["this.apikeyheader",{"_index":9054,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["this.app",{"_index":1631,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["this.appendnotcontainedboardelements(boardelementtargets",{"_index":2969,"title":{},"body":{"entities/Board.html":{}}}],["this.attendeepw",{"_index":2193,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["this.aud",{"_index":14311,"title":{},"body":{"interfaces/JwtConstants.html":{}}}],["this.authendpoint",{"_index":14953,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.authenticationservice.checkbrutforce(account",{"_index":15090,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{}}}],["this.authenticationservice.loadaccount",{"_index":15110,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.authenticationservice.loadaccount(`${externalschoolid}/${username}`.tolowercase",{"_index":15106,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.authenticationservice.loadaccount(username",{"_index":15703,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["this.authenticationservice.normalizepassword(password",{"_index":15096,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{}}}],["this.authenticationservice.normalizeusername(username",{"_index":15095,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{}}}],["this.authenticationservice.removejwtfromwhitelist(userjwt",{"_index":23721,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["this.authenticationservice.updatelasttriedfailedlogin(account.id",{"_index":15098,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{}}}],["this.author",{"_index":11687,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.authorcomments",{"_index":6600,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.authorisation.checkpermission(authorizableuser",{"_index":21504,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.authorisation.checkpermission(user",{"_index":15450,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["this.authorisation.getuserwithpermissions(userid",{"_index":15429,"title":{},"body":{"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["this.authorisation.haspermission(authorizableuser",{"_index":21502,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.authorisation.haspermission(user",{"_index":15444,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["this.authorisationservice",{"_index":9688,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.authorisationservice.hascoursewritepermission(user",{"_index":19256,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["this.authorisationservice.haspermission(this.user",{"_index":9698,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.authorization.checkpermissionbyreferences(userid",{"_index":7675,"title":{},"body":{"injectables/CourseCopyUC.html":{}}}],["this.authorizationhelper.hasaccesstoentity",{"_index":7907,"title":{},"body":{"injectables/CourseRule.html":{}}}],["this.authorizationhelper.hasaccesstoentity(user",{"_index":7758,"title":{},"body":{"injectables/CourseGroupRule.html":{},"injectables/TaskRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.authorizationhelper.hasallpermissions(user",{"_index":1992,"title":{},"body":{"injectables/AuthorizationService.html":{},"injectables/BoardDoRule.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseRule.html":{},"injectables/GroupRule.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LessonRule.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemRule.html":{},"injectables/TaskRule.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.authorizationhelper.hasallpermissionsbyrole(isteamuser.role",{"_index":21974,"title":{},"body":{"injectables/TeamRule.html":{}}}],["this.authorizationhelper.hasoneofpermissions(user",{"_index":1993,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["this.authorizationreferenceservice.checkpermissionbyreferences",{"_index":20518,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.authorizationservice.checkallpermissions(user",{"_index":10203,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolUc.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/ShareTokenUC.html":{}}}],["this.authorizationservice.checkentitypermissions",{"_index":16689,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.authorizationservice.checkentitypermissions(userid",{"_index":16672,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.authorizationservice.checkoneofpermissions(user",{"_index":21805,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.authorizationservice.checkpermission",{"_index":4940,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SubmissionUc.html":{},"injectables/SystemUc.html":{}}}],["this.authorizationservice.checkpermission(authorizableuser",{"_index":22959,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["this.authorizationservice.checkpermission(user",{"_index":2658,"title":{},"body":{"classes/BaseUc.html":{},"injectables/LessonUC.html":{},"injectables/PseudonymUc.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/TaskUC.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/UserLoginMigrationUc.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.authorizationservice.checkpermissionbyreferences",{"_index":7690,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["this.authorizationservice.checkpermissions(user",{"_index":26033,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.authorizationservice.getentitypermissions(userid",{"_index":16705,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.authorizationservice.getpermittedentities(userid",{"_index":16701,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.authorizationservice.getuserwithpermissions(currentuser.userid",{"_index":17206,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["this.authorizationservice.getuserwithpermissions(currentuserid",{"_index":17400,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.authorizationservice.getuserwithpermissions(pseudonymuserid",{"_index":18299,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["this.authorizationservice.getuserwithpermissions(userid",{"_index":1961,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{},"classes/BaseUc.html":{},"injectables/CardUc.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolUc.html":{},"injectables/LessonUC.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/PseudonymUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/SubmissionUc.html":{},"injectables/SystemUc.html":{},"injectables/TaskUC.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.authorizationservice.hasallpermissions(user",{"_index":21821,"title":{},"body":{"injectables/TaskUC.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.authorizationservice.hasoneofpermissions(user",{"_index":21828,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.authorizationservice.haspermission(user",{"_index":1963,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{},"injectables/CardUc.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/SubmissionUc.html":{},"injectables/TaskUC.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.authorizationservice.haspermission(userid",{"_index":26012,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.authorizationurl",{"_index":15001,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.authorizeaccess",{"_index":14433,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.authors",{"_index":6594,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.authservice.checkpermission",{"_index":5109,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.authservice.generatejwt(createjwtpayload",{"_index":15861,"title":{},"body":{"injectables/LoginUc.html":{}}}],["this.authservice.getuserwithpermissions(currentuserid",{"_index":5110,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.authtoken",{"_index":18946,"title":{},"body":{"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["this.availabledate",{"_index":21288,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.awareness",{"_index":24388,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.awareness.on('update",{"_index":24391,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.awareness.setlocalstate(null",{"_index":24390,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.awarenesschangehandler",{"_index":24392,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.axiosconfig",{"_index":13494,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["this.axioserror.message",{"_index":2107,"title":{},"body":{"classes/AxiosErrorLoggable.html":{}}}],["this.axioserror.stack",{"_index":2110,"title":{},"body":{"classes/AxiosErrorLoggable.html":{}}}],["this.basepath",{"_index":5185,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.baseroute",{"_index":1632,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["this.baseurl",{"_index":2689,"title":{},"body":{"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/CalendarService.html":{},"injectables/DeletionClient.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/ToolLaunchData.html":{}}}],["this.baseurl).tostring",{"_index":9027,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["this.batchdeletionservice.queuedeletionrequests(inputs",{"_index":2894,"title":{},"body":{"injectables/BatchDeletionUc.html":{}}}],["this.batchdeletionuc.deleterefsfromtxtfile",{"_index":9300,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["this.bbbresponse",{"_index":24009,"title":{},"body":{"classes/VideoConference-1.html":{}}}],["this.bbbservice.create(configbuilder.build",{"_index":24137,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.bbbservice.end(config",{"_index":24204,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{}}}],["this.bbbservice.getmeetinginfo(config",{"_index":24224,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["this.bbbservice.getmeetinginfo(new",{"_index":24123,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.bbbservice.join(joinbuilder.build",{"_index":24256,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["this.bbbsettings.host",{"_index":2385,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.bbbsettings.presentationurl",{"_index":2387,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.bbbsettings.salt",{"_index":2386,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.birthday",{"_index":11195,"title":{},"body":{"classes/ExternalUserDto.html":{},"entities/User.html":{},"classes/UserDO.html":{},"interfaces/UserProperties.html":{}}}],["this.birthtime",{"_index":11630,"title":{},"body":{"classes/FileMetadata.html":{},"entities/H5pEditorTempFile.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["this.board",{"_index":9687,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.board.getelements",{"_index":9690,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.boardcopyservice.copyboard",{"_index":7641,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.boarddoauthorizableservice.getboardauthorizable(anyboarddo",{"_index":2656,"title":{},"body":{"classes/BaseUc.html":{}}}],["this.boarddoauthorizableservice.getboardauthorizable(boarddo",{"_index":2659,"title":{},"body":{"classes/BaseUc.html":{}}}],["this.boarddoauthorizableservice.getboardauthorizable(boarddo).then((boarddoauthorizable",{"_index":4523,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.boarddoauthorizableservice.getboardauthorizable(submissioncontainerelement",{"_index":20881,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["this.boarddocopyservice.copy",{"_index":5421,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["this.boarddorepo.delete(domainobject",{"_index":3692,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["this.boarddorepo.findbyclassandid(card",{"_index":4458,"title":{},"body":{"injectables/CardService.html":{}}}],["this.boarddorepo.findbyclassandid(column",{"_index":5642,"title":{},"body":{"injectables/ColumnService.html":{}}}],["this.boarddorepo.findbyclassandid(columnboard",{"_index":5407,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{}}}],["this.boarddorepo.findbyid(elementid",{"_index":6413,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["this.boarddorepo.findbyid(id",{"_index":3406,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/SubmissionItemService.html":{}}}],["this.boarddorepo.findbyid(rootid",{"_index":3414,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/ColumnBoardService.html":{}}}],["this.boarddorepo.findbyids(cardids",{"_index":4459,"title":{},"body":{"injectables/CardService.html":{}}}],["this.boarddorepo.findidsbyexternalreference(reference",{"_index":5472,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["this.boarddorepo.findparentofid(card.id",{"_index":4469,"title":{},"body":{"injectables/CardService.html":{}}}],["this.boarddorepo.findparentofid(child.id",{"_index":3696,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["this.boarddorepo.findparentofid(column.id",{"_index":5646,"title":{},"body":{"injectables/ColumnService.html":{}}}],["this.boarddorepo.findparentofid(domainobject.id",{"_index":3689,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["this.boarddorepo.findparentofid(element.id",{"_index":6424,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["this.boarddorepo.findparentofid(elementid",{"_index":6415,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["this.boarddorepo.findparentofid(submissionitem.id",{"_index":20865,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["this.boarddorepo.getancestorids(boarddo",{"_index":3409,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"injectables/ColumnBoardService.html":{}}}],["this.boarddorepo.gettitlesbyids(boardids",{"_index":5477,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["this.boarddorepo.save(board",{"_index":5480,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["this.boarddorepo.save(card",{"_index":4470,"title":{},"body":{"injectables/CardService.html":{}}}],["this.boarddorepo.save(column",{"_index":5647,"title":{},"body":{"injectables/ColumnService.html":{}}}],["this.boarddorepo.save(columnboard",{"_index":5478,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["this.boarddorepo.save(copystatus.copyentity",{"_index":5426,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["this.boarddorepo.save(element",{"_index":6425,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["this.boarddorepo.save(parent.children",{"_index":3691,"title":{},"body":{"injectables/BoardDoService.html":{},"injectables/CardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementService.html":{}}}],["this.boarddorepo.save(sourceparent.children",{"_index":3698,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["this.boarddorepo.save(submissioncontainer.children",{"_index":20863,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["this.boarddorepo.save(targetparent.children",{"_index":3700,"title":{},"body":{"injectables/BoardDoService.html":{}}}],["this.boarddorule",{"_index":19303,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.boarddoservice.deletewithdescendants(board",{"_index":5479,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["this.boarddoservice.deletewithdescendants(card",{"_index":4467,"title":{},"body":{"injectables/CardService.html":{}}}],["this.boarddoservice.deletewithdescendants(column",{"_index":5644,"title":{},"body":{"injectables/ColumnService.html":{}}}],["this.boarddoservice.deletewithdescendants(element",{"_index":6419,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["this.boarddoservice.move(card",{"_index":4468,"title":{},"body":{"injectables/CardService.html":{}}}],["this.boarddoservice.move(column",{"_index":5645,"title":{},"body":{"injectables/ColumnService.html":{}}}],["this.boarddoservice.move(element",{"_index":6420,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["this.boardelement",{"_index":6717,"title":{},"body":{"classes/ContextExternalToolCountPerContextResponse.html":{}}}],["this.boardelementservice.findbyid(contextexternaltool.contextref.id",{"_index":22963,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["this.boardelementtype",{"_index":5671,"title":{},"body":{"entities/ColumnboardBoardElement.html":{},"entities/LessonBoardElement.html":{},"entities/TaskBoardElement.html":{}}}],["this.boardmanagementuc.createboard(courseid",{"_index":3775,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["this.boardnodeauthorizableservice",{"_index":18644,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.boardnoderepo",{"_index":3657,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.boardnoderepo.findbyid(boarddo.id",{"_index":3653,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.boardnoderepo.findbyid(childid",{"_index":3650,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.boardnoderepo.findbyid(id",{"_index":3627,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.boardnoderepo.findbyid(parent.id",{"_index":18559,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.boardnoderepo.finddescendants(boardnode",{"_index":3628,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.boardnoderepo.finddescendantsofmany(boardnodes",{"_index":3635,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.boardrepo.findbycourseid(course.id",{"_index":19258,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["this.boardrepo.findbycourseid(courseid",{"_index":7631,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.boardrepo.findbycourseid(roomid",{"_index":19253,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["this.boardrepo.save(board",{"_index":19232,"title":{},"body":{"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{}}}],["this.boardrepo.save(boardcopy",{"_index":3310,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.boardservice.getboardauthorizable(boardelement",{"_index":22964,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["this.boarduc.createcolumn(currentuser.userid",{"_index":3237,"title":{},"body":{"controllers/BoardController.html":{}}}],["this.boarduc.deleteboard(currentuser.userid",{"_index":3235,"title":{},"body":{"controllers/BoardController.html":{}}}],["this.boarduc.findboard(currentuser.userid",{"_index":3221,"title":{},"body":{"controllers/BoardController.html":{}}}],["this.boarduc.findboardcontext(currentuser.userid",{"_index":3226,"title":{},"body":{"controllers/BoardController.html":{}}}],["this.boarduc.movecolumn(currentuser.userid",{"_index":5603,"title":{},"body":{"controllers/ColumnController.html":{}}}],["this.boarduc.updateboardtitle(currentuser.userid",{"_index":3231,"title":{},"body":{"controllers/BoardController.html":{}}}],["this.boardurlhandler",{"_index":16300,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["this.bsonconverter.deserialize(bsondocuments",{"_index":5269,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.bsonconverter.serialize(jsondocuments",{"_index":5288,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.bucket",{"_index":11591,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.build",{"_index":8281,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["this.build(deletionexecutiontriggerstatus.failure",{"_index":9113,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["this.build(deletionexecutiontriggerstatus.success",{"_index":9112,"title":{},"body":{"classes/DeletionExecutionTriggerResultBuilder.html":{}}}],["this.build(params",{"_index":2588,"title":{},"body":{"classes/BaseFactory.html":{},"classes/DoBaseFactory.html":{}}}],["this.build(requestid",{"_index":18349,"title":{},"body":{"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["this.build(requiredpermissions",{"_index":1791,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["this.build(undefined",{"_index":18350,"title":{},"body":{"classes/QueueDeletionRequestOutputBuilder.html":{}}}],["this.buildchildren(boardnode",{"_index":3516,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.buildcopyentitydict(elementstatus).foreach((el",{"_index":7359,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["this.builddrawing",{"_index":6357,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["this.builddtowithelements(mappedelements",{"_index":9693,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.buildexternaltool",{"_index":6361,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["this.buildfile",{"_index":6351,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["this.buildgroupsclaim(teams",{"_index":13723,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["this.buildlink",{"_index":6353,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["this.buildrichtext",{"_index":6355,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["this.buildscope(query",{"_index":6834,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["this.buildsubmissioncontainer",{"_index":6359,"title":{},"body":{"injectables/ContentElementFactory.html":{}}}],["this.buildtokenrequestpayload(code",{"_index":16898,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.byuseridquery(userid",{"_index":20920,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["this.cacheexpiration",{"_index":19056,"title":{},"body":{"injectables/RoleRepo.html":{},"injectables/TeamsRepo.html":{}}}],["this.cachemanager.del(redisidentifier",{"_index":14377,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["this.cacheservice.getstoretype",{"_index":14376,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["this.calculatenumberofsubmitters(gradedsubmissions",{"_index":21350,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.calculatenumberofsubmitters(submittedsubmissions",{"_index":21348,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.calendarmapper.maptodto(resp.data",{"_index":4292,"title":{},"body":{"injectables/CalendarService.html":{}}}],["this.callkcadminclient",{"_index":14441,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.cancelbuttonurl",{"_index":17729,"title":{},"body":{"classes/PageContentDto.html":{}}}],["this.cancreaterestricted",{"_index":13082,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["this.canedit(domainobject",{"_index":21227,"title":{},"body":{"injectables/SystemRule.html":{}}}],["this.caninstallrecommended",{"_index":13084,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["this.canupdateandinstalllibraries",{"_index":13086,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["this.caption",{"_index":11501,"title":{},"body":{"classes/FileElementContent.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"classes/FileElementResponse.html":{}}}],["this.cardid",{"_index":4486,"title":{},"body":{"classes/CardSkeletonResponse.html":{}}}],["this.cards",{"_index":5621,"title":{},"body":{"classes/ColumnResponse.html":{}}}],["this.cardservice.create(column",{"_index":5662,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["this.cardservice.delete(card",{"_index":4516,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.cardservice.findbyid(cardid",{"_index":4513,"title":{},"body":{"injectables/CardUc.html":{},"injectables/ColumnUc.html":{}}}],["this.cardservice.findbyid(targetcardid",{"_index":4521,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.cardservice.findbyids(cardids",{"_index":4510,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.cardservice.move(card",{"_index":5664,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["this.cardservice.updateheight(card",{"_index":4514,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.cardservice.updatetitle(card",{"_index":4515,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.carduc.createelement(currentuser.userid",{"_index":4388,"title":{},"body":{"controllers/CardController.html":{}}}],["this.carduc.deletecard(currentuser.userid",{"_index":4381,"title":{},"body":{"controllers/CardController.html":{}}}],["this.carduc.findcards(currentuser.userid",{"_index":4366,"title":{},"body":{"controllers/CardController.html":{}}}],["this.carduc.moveelement",{"_index":9785,"title":{},"body":{"controllers/ElementController.html":{}}}],["this.carduc.updatecardheight(currentuser.userid",{"_index":4375,"title":{},"body":{"controllers/CardController.html":{}}}],["this.carduc.updatecardtitle(currentuser.userid",{"_index":4378,"title":{},"body":{"controllers/CardController.html":{}}}],["this.cause",{"_index":4204,"title":{},"body":{"classes/BusinessError.html":{}}}],["this.challenge",{"_index":6316,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["this.changes",{"_index":6598,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.checkandaddprefix(baseroute",{"_index":1633,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["this.checkandaddprefix(routenameinput",{"_index":1671,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["this.checkavaiblelanguages(params.language",{"_index":23959,"title":{},"body":{"injectables/UserUc.html":{}}}],["this.checkavailablelanguages(newlanguage",{"_index":23943,"title":{},"body":{"injectables/UserService.html":{}}}],["this.checkcontenttypeexists(contenttype",{"_index":13383,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.checkcontextreadpermission(userid",{"_index":20496,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.checkcreatepermission(userid",{"_index":20503,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.checkcredentials(account",{"_index":15092,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.checkcredentials(password",{"_index":15709,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["this.checkdestinationcourseauthorisation(authorizableuser",{"_index":21496,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.checkdestinationcourseauthorization(user",{"_index":15436,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["this.checkdestinationlessonauthorization(authorizableuser",{"_index":21501,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.checkduplicateusesincontext(contextexternaltool",{"_index":7074,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["this.checkerror(response",{"_index":19271,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["this.checkexpired(sharetoken",{"_index":20453,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.checkfeatureenabled",{"_index":7673,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/LessonCopyUC.html":{},"injectables/TaskCopyUC.html":{}}}],["this.checkfeatureenabled(payload.parenttype",{"_index":20490,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.checkfeatureenabled(sharetoken.payload.parenttype",{"_index":20502,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.checkfilename(filename",{"_index":22105,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.checkforduplicateparameters(validatabletool",{"_index":6104,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["this.checkforunknownparameters(validatabletool",{"_index":6109,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["this.checkgraceperiod(userloginmigration",{"_index":23664,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.checkifpreviewpossible(filerecord",{"_index":17973,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.checkifpreviewpossible(original",{"_index":17921,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["this.checklistscontainingequalentities(reorderedids",{"_index":2957,"title":{},"body":{"entities/Board.html":{}}}],["this.checkofficialschoolnumbersmatch(school",{"_index":19997,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.checkoptionalparameter(param",{"_index":6129,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["this.checkoriginallessonauthorization(user",{"_index":15431,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["this.checkoriginaltaskauthorization(authorizableuser",{"_index":21495,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.checkparameterregex(foundentry",{"_index":6131,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["this.checkparametertype(foundentry",{"_index":6130,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["this.checkparentwritepermission(userid",{"_index":20491,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.checkpermission(userid",{"_index":2667,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{}}}],["this.checkpreconditions(userid",{"_index":20587,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["this.checkresponsevalidation(response",{"_index":19549,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.checkstreamresponsive(stream",{"_index":19372,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.checksubmissionitemwritepermission(userid",{"_index":9820,"title":{},"body":{"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["this.checkvalidityofparameters(validatabletool",{"_index":6110,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["this.checkvalue(account.userid",{"_index":15089,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.checkvalue(school.externalid",{"_index":15099,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.checkvalue(user.ldapdn",{"_index":15091,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.checkversionmatch(schoolexternaltool.toolversion",{"_index":19895,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["this.children.filter((ch",{"_index":3074,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["this.children.length",{"_index":3067,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["this.children.some((obj",{"_index":3079,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["this.children.splice(position",{"_index":3073,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["this.childrenmap[boardnode.path",{"_index":3510,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.childrenmap[boardnode.path].push(boardnode",{"_index":3511,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.childrenmap[boardnode.pathofchildren",{"_index":3554,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.clamconnection.scanstream(stream",{"_index":1323,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["this.classes.set(props.classes",{"_index":7530,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.classesrepo.findallbyschoolid(schoolid",{"_index":4774,"title":{},"body":{"injectables/ClassService.html":{}}}],["this.classesrepo.findallbyuserid(userid",{"_index":4775,"title":{},"body":{"injectables/ClassService.html":{}}}],["this.classesrepo.updatemany(updatedclasses",{"_index":4782,"title":{},"body":{"injectables/ClassService.html":{}}}],["this.classnames",{"_index":13970,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["this.classnames.push(...props.classnames",{"_index":13842,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["this.classvalidatormetadatastorage.gettargetvalidationmetadatas",{"_index":9902,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["this.cleanupinput(username",{"_index":15702,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["this.cleanuppath(this.baseroute",{"_index":1672,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["this.client",{"_index":16153,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/TargetGroupProperties.html":{}}}],["this.client.addaccesstogroupfolder(folderid",{"_index":16777,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.addusertogroup(nextclouduserid",{"_index":16805,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.changegroupfoldername(folderid",{"_index":16775,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.creategroup(groupid",{"_index":16766,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.creategroupfolder(foldername",{"_index":16776,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.deletegroup(groupid",{"_index":16763,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.deletegroupfolder(folderid",{"_index":16764,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.findgroupfolderidforgroupid(groupid",{"_index":16759,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.findgroupid(nextcloudstrategy.generategroupid(dto",{"_index":16757,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.getgroupusers(groupid",{"_index":16781,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.getnamewithprefix(pseudonymdo.pseudonym",{"_index":16790,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.getnamewithprefix(team.id",{"_index":16765,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.getnamewithprefix(teamid",{"_index":16762,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.oidcinternalname",{"_index":16807,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.removeuserfromgroup(nextclouduserid",{"_index":16803,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.renamegroup(groupid",{"_index":16779,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client.send(req",{"_index":19368,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.client.setgrouppermissions(groupid",{"_index":16760,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.client_id",{"_index":1508,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/ConsentSessionResponse.html":{}}}],["this.client_name",{"_index":6315,"title":{},"body":{"classes/ConsentSessionResponse.html":{}}}],["this.client_secret",{"_index":1510,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["this.clientid",{"_index":13688,"title":{},"body":{"classes/IdTokenCreationLoggableException.html":{},"classes/LdapConfigEntity.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.clientsecret",{"_index":14943,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/Oauth2ToolConfig.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.clock",{"_index":22351,"title":{},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["this.clone(newpropsfactory",{"_index":2596,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.closeconn(doc",{"_index":22504,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.closedat",{"_index":23525,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["this.closedat.toisostring",{"_index":23402,"title":{},"body":{"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{}}}],["this.closeuserloginmigrationuc.closemigration",{"_index":23500,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["this.code",{"_index":1516,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"classes/BusinessError.html":{},"classes/ErrorResponse.html":{}}}],["this.collectionname",{"_index":22268,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.color",{"_index":7521,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.columnboardcopyservice.copycolumnboard",{"_index":3343,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.columnboardid",{"_index":3024,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{}}}],["this.columnboardservice.createwelcomecolumnboard(coursereference",{"_index":19235,"title":{},"body":{"injectables/RoomsService.html":{}}}],["this.columnboardservice.delete(board",{"_index":4118,"title":{},"body":{"injectables/BoardUc.html":{}}}],["this.columnboardservice.findbydescendant(element",{"_index":2051,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["this.columnboardservice.findbyid(boardid",{"_index":4116,"title":{},"body":{"injectables/BoardUc.html":{}}}],["this.columnboardservice.findbyid(id",{"_index":4142,"title":{},"body":{"injectables/BoardUrlHandler.html":{}}}],["this.columnboardservice.findbyid(targetboardid",{"_index":4123,"title":{},"body":{"injectables/BoardUc.html":{}}}],["this.columnboardservice.findidsbyexternalreference(coursereference",{"_index":19233,"title":{},"body":{"injectables/RoomsService.html":{}}}],["this.columnboardservice.getboardobjecttitlesbyid(columnboardids",{"_index":5567,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["this.columnboardservice.updatetitle(board",{"_index":4119,"title":{},"body":{"injectables/BoardUc.html":{}}}],["this.columnboardtargetservice.findorcreatetargets(columnboardids",{"_index":19237,"title":{},"body":{"injectables/RoomsService.html":{}}}],["this.columns",{"_index":3977,"title":{},"body":{"classes/BoardResponse.html":{},"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.columnservice.create(board",{"_index":4120,"title":{},"body":{"injectables/BoardUc.html":{}}}],["this.columnservice.delete(column",{"_index":5660,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["this.columnservice.findbyid(columnid",{"_index":4121,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/ColumnUc.html":{}}}],["this.columnservice.findbyid(targetcolumnid",{"_index":5663,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["this.columnservice.move(column",{"_index":4124,"title":{},"body":{"injectables/BoardUc.html":{}}}],["this.columnservice.updatetitle(column",{"_index":5661,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["this.columnuc.createcard(currentuser.userid",{"_index":5612,"title":{},"body":{"controllers/ColumnController.html":{}}}],["this.columnuc.deletecolumn(currentuser.userid",{"_index":5610,"title":{},"body":{"controllers/ColumnController.html":{}}}],["this.columnuc.movecard(currentuser.userid",{"_index":4370,"title":{},"body":{"controllers/CardController.html":{}}}],["this.columnuc.updatecolumntitle(currentuser.userid",{"_index":5607,"title":{},"body":{"controllers/ColumnController.html":{}}}],["this.comment",{"_index":20671,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.commontoolservice.determinetoolconfigurationstatus",{"_index":23101,"title":{},"body":{"injectables/ToolVersionService.html":{}}}],["this.commontoolservice.iscontextrestricted(availabletool.externaltool",{"_index":10168,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["this.commontoolservice.iscontextrestricted(externaltool",{"_index":7019,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["this.commontoolvalidationservice.checkcustomparameterentries(loadedexternaltool",{"_index":7077,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{},"injectables/SchoolExternalToolValidationService.html":{}}}],["this.commontoolvalidationservice.isvaluevalidfortype(param.type",{"_index":10547,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.compareparameters(oldtool.parameters",{"_index":11146,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["this.completed",{"_index":20821,"title":{},"body":{"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"classes/SubmissionItemResponse.html":{}}}],["this.composemetatags(url",{"_index":16302,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["this.config",{"_index":2132,"title":{},"body":{"classes/AxiosResponseImp.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{}}}],["this.config.bucket",{"_index":19367,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.config.bucket}/${path.sourcepath",{"_index":19404,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.configservice.get('additional_blacklisted_email_domains",{"_index":16090,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.configservice.get('admin_api__allowed_api_keys",{"_index":24418,"title":{},"body":{"injectables/XApiKeyStrategy.html":{}}}],["this.configservice.get('admin_api_client_api_key",{"_index":9021,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["this.configservice.get('admin_api_client_base_url",{"_index":9019,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["this.configservice.get('available_languages').includes(language",{"_index":23945,"title":{},"body":{"injectables/UserService.html":{}}}],["this.configservice.get('available_languages').includes(settedlanguage",{"_index":23958,"title":{},"body":{"injectables/UserUc.html":{}}}],["this.configservice.get('connection_string",{"_index":22267,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.configservice.get('feature_identity_management_login_enabled",{"_index":15704,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["this.configservice.get('feature_identity_management_store_enabled",{"_index":656,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["this.configservice.get('feature_imscc_course_export_enabled",{"_index":7601,"title":{},"body":{"controllers/CourseController.html":{}}}],["this.configservice.get('feature_tldraw_enabled",{"_index":22410,"title":{},"body":{"classes/TldrawWs.html":{}}}],["this.configservice.get('h5p_editor__library_list_path",{"_index":13362,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.configservice.get('login_block_time",{"_index":1745,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["this.configservice.get('sc_domain",{"_index":14580,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.configservice.get('tldraw_db_collection_name",{"_index":22269,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.configservice.get('tldraw_db_flush_size",{"_index":22272,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.configservice.get('tldraw_db_multiple_collections",{"_index":22274,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.configservice.get('tldraw_ping_timeout",{"_index":22486,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.configservice.get(placeholder",{"_index":5341,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.connect(system",{"_index":15044,"title":{},"body":{"injectables/LdapService.html":{}}}],["this.connectionstring",{"_index":22266,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.conns",{"_index":24387,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.conns.foreach((_",{"_index":24406,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.conns.get(wsconnection",{"_index":24400,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.consentflowuc.getconsentrequest(params.challenge",{"_index":17341,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.consentflowuc.patchconsentrequest",{"_index":17344,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.console.info('connected",{"_index":4877,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.console.info(`cleaned",{"_index":4888,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.console.info(`configured",{"_index":4902,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.console.info(`migrated",{"_index":4916,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.console.info(`seeded",{"_index":4895,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.consolewriter.info('error",{"_index":3772,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["this.consolewriter.info('schulcloud",{"_index":20164,"title":{},"body":{"classes/ServerConsole.html":{}}}],["this.consolewriter.info(`error",{"_index":3835,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.consolewriter.info(`input",{"_index":20165,"title":{},"body":{"classes/ServerConsole.html":{}}}],["this.consolewriter.info(`success",{"_index":3776,"title":{},"body":{"classes/BoardManagementConsole.html":{}}}],["this.consolewriter.info(json.stringify(result",{"_index":9092,"title":{},"body":{"classes/DeletionExecutionConsole.html":{}}}],["this.consolewriter.info(json.stringify(summary",{"_index":9307,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["this.consolewriter.info(report",{"_index":8790,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["this.constructor",{"_index":1658,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/BaseFactory.html":{},"classes/TestApiClient.html":{}}}],["this.content",{"_index":3724,"title":{},"body":{"classes/BoardElementResponse.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentMetadata.html":{},"entities/CourseNews.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"classes/RichText.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"entities/SchoolNews.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"entities/TeamNews.html":{}}}],["this.content.contextexternaltoolid",{"_index":6487,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.content.description",{"_index":6465,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.content.duedate",{"_index":6483,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.content.imageurl",{"_index":6466,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.content.inputformat",{"_index":6478,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.content.title",{"_index":6463,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.contentelementfactory.build(contentelementtype.rich_text",{"_index":5539,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["this.contentelementfactory.build(type",{"_index":6417,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["this.contentelementservice.create(card",{"_index":4472,"title":{},"body":{"injectables/CardService.html":{}}}],["this.contentelementservice.findbyid(elementid",{"_index":2049,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["this.contentid",{"_index":12518,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["this.contentparentid",{"_index":13079,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["this.contentparenttype",{"_index":13077,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["this.contents",{"_index":6184,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["this.contenttype",{"_index":6602,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/ExternalToolLogo.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.contenttypecache",{"_index":13353,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.contenttypecache.get(librariestoinstall[lastpositionlibrariestoinstallarray",{"_index":13382,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.contenttyperepo",{"_index":13357,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.contenttyperepo.installcontenttype(librariestoinstall[lastpositionlibrariestoinstallarray",{"_index":13385,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.context",{"_index":15170,"title":{},"body":{"injectables/LegacyLogger.html":{},"injectables/Logger.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/ShareTokenDO.html":{}}}],["this.context.action",{"_index":12413,"title":{},"body":{"classes/ForbiddenLoggableException.html":{}}}],["this.context.requiredpermissions.join",{"_index":12414,"title":{},"body":{"classes/ForbiddenLoggableException.html":{}}}],["this.contextexternaltool",{"_index":10278,"title":{},"body":{"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["this.contextexternaltool.id",{"_index":16377,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["this.contextexternaltoolauthorizableservice",{"_index":18646,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.contextexternaltoolcountpercontext",{"_index":10436,"title":{},"body":{"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataResponse.html":{}}}],["this.contextexternaltoolid",{"_index":10268,"title":{},"body":{"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{}}}],["this.contextexternaltoolrepo.delete(contextexternaltool",{"_index":7016,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["this.contextexternaltoolrepo.delete(contextexternaltools",{"_index":7015,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["this.contextexternaltoolrepo.deletebyschoolexternaltoolids(schoolexternaltoolids",{"_index":10987,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.contextexternaltoolrepo.find",{"_index":7014,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["this.contextexternaltoolrepo.find(query",{"_index":7009,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["this.contextexternaltoolrepo.findbyid(contextexternaltoolid",{"_index":7010,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["this.contextexternaltoolrepo.findbyid(id",{"_index":6658,"title":{},"body":{"injectables/ContextExternalToolAuthorizableService.html":{}}}],["this.contextexternaltoolrepo.findbyidornull(contextexternaltoolid",{"_index":7011,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["this.contextexternaltoolrepo.save(contextexternaltool",{"_index":7013,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["this.contextexternaltoolrule",{"_index":19304,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.contextexternaltoolservice.checkcontextrestrictions(contextexternaltool",{"_index":7052,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["this.contextexternaltoolservice.deletebyschoolexternaltoolid(schoolexternaltoolid",{"_index":19884,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["this.contextexternaltoolservice.deletecontextexternaltool(linkedtool",{"_index":18524,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.contextexternaltoolservice.deletecontextexternaltool(tool",{"_index":7060,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["this.contextexternaltoolservice.findallbycontext",{"_index":7061,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/FeathersRosterService.html":{},"injectables/ToolReferenceUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.contextexternaltoolservice.findbyid",{"_index":18523,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.contextexternaltoolservice.findbyidorfail",{"_index":7056,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{}}}],["this.contextexternaltoolservice.findbyidorfail(contextexternaltoolid",{"_index":7059,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["this.contextexternaltoolservice.findbyidorfail(contexttoolid",{"_index":7064,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["this.contextexternaltoolservice.findcontextexternaltools",{"_index":7079,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationUc.html":{}}}],["this.contextexternaltoolservice.savecontextexternaltool",{"_index":7055,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["this.contextexternaltooluc.createcontextexternaltool",{"_index":22725,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["this.contextexternaltooluc.deletecontextexternaltool(currentuser.userid",{"_index":22729,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["this.contextexternaltooluc.getcontextexternaltool",{"_index":22736,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["this.contextexternaltooluc.getcontextexternaltoolsforcontext",{"_index":22731,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["this.contextexternaltooluc.updatecontextexternaltool",{"_index":22739,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["this.contextexternaltoolvalidationservice.validate(contextexternaltool",{"_index":7053,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ToolVersionService.html":{}}}],["this.contextid",{"_index":6738,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/ContextExternalToolResponse.html":{}}}],["this.contextref",{"_index":6645,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{}}}],["this.contexttoolid",{"_index":22972,"title":{},"body":{"classes/ToolReference.html":{},"classes/ToolReferenceResponse.html":{}}}],["this.contexttoolrepo.countbyschooltoolidsandcontexttype",{"_index":10468,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{}}}],["this.contexttoolrepo.countbyschooltoolidsandcontexttype(type",{"_index":19745,"title":{},"body":{"injectables/SchoolExternalToolMetadataService.html":{}}}],["this.contexttype",{"_index":6740,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/ContextExternalToolResponse.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["this.converterutil.xml2object",{"_index":2399,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.converterutil.xml2object>(resp.data",{"_index":2412,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.cookies",{"_index":13491,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["this.copy(copypaths",{"_index":19389,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.copyboardelements(boardelements",{"_index":3300,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.copycolumnboard(element.target",{"_index":3328,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.copycourse(userid",{"_index":20506,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.copycourseentity",{"_index":7640,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.copyfilesservice.copyfilesofentity",{"_index":21450,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["this.copyhelperservice.buildcopyentitydict(boardstatus",{"_index":3358,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.copyhelperservice.derivecopyname(newname",{"_index":7638,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.copyhelperservice.derivecopyname(originallesson.name",{"_index":15441,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["this.copyhelperservice.derivecopyname(originaltaskname",{"_index":21510,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.copyhelperservice.derivestatusfromelements(elements",{"_index":3304,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/CourseCopyService.html":{},"injectables/TaskCopyService.html":{}}}],["this.copyhelperservice.derivestatusfromelements(filestatuses",{"_index":7316,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["this.copyingsince",{"_index":7527,"title":{},"body":{"entities/Course.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/UsersList.html":{}}}],["this.copylesson(element.target",{"_index":3325,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.copylesson(userid",{"_index":20509,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.copymap.get(child.id",{"_index":18480,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.copymap.set(original.id",{"_index":18436,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.copytask(element.target",{"_index":3321,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.copytask(userid",{"_index":20510,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.copytaskentity(params",{"_index":21449,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["this.coreapi",{"_index":11689,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.countyid",{"_index":7438,"title":{},"body":{"classes/County.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{}}}],["this.course",{"_index":2941,"title":{},"body":{"entities/Board.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.course.color",{"_index":21364,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.course.id",{"_index":21361,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.course.isfinished",{"_index":21323,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.course.isusersubstitutionteacher(user",{"_index":21344,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.course.name",{"_index":21360,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.course.school.id",{"_index":6208,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["this.coursecopyservice.copycourse",{"_index":7677,"title":{},"body":{"injectables/CourseCopyUC.html":{},"injectables/ShareTokenUC.html":{}}}],["this.coursecopyuc.copycourse(currentuser.userid",{"_index":19210,"title":{},"body":{"controllers/RoomsController.html":{}}}],["this.courseexportservice.exportcourse(courseid",{"_index":7691,"title":{},"body":{"injectables/CourseExportUc.html":{}}}],["this.courseexportuc.exportcourse(urlparams.courseid",{"_index":7602,"title":{},"body":{"controllers/CourseController.html":{}}}],["this.coursegroup",{"_index":6182,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.coursegroup.getstudentids",{"_index":20685,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.coursegroup.school.id",{"_index":6209,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["this.coursegrouppermission(user",{"_index":15532,"title":{},"body":{"injectables/LessonRule.html":{}}}],["this.coursegrouprepo",{"_index":18630,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.coursegrouprule",{"_index":19295,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.coursegrouprule.haspermission(user",{"_index":15535,"title":{},"body":{"injectables/LessonRule.html":{}}}],["this.coursegroups.getitems",{"_index":7556,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.coursegroups.isinitialized(true",{"_index":7554,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.courseid",{"_index":21534,"title":{},"body":{"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{}}}],["this.coursename",{"_index":21533,"title":{},"body":{"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{}}}],["this.coursepermission(user",{"_index":15533,"title":{},"body":{"injectables/LessonRule.html":{}}}],["this.courserepo",{"_index":18628,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.courserepo.createcourse(coursecopy",{"_index":7650,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.courserepo.findallbyuserid",{"_index":8755,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["this.courserepo.findallbyuserid(user.id",{"_index":21843,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.courserepo.findallbyuserid(userid",{"_index":7636,"title":{},"body":{"injectables/CourseCopyService.html":{},"injectables/CourseUc.html":{}}}],["this.courserepo.findallforteacherorsubstituteteacher(user.id",{"_index":21842,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.courserepo.findbyid(courseid",{"_index":7630,"title":{},"body":{"injectables/CourseCopyService.html":{},"injectables/TaskCopyUC.html":{}}}],["this.courserepo.findbyid(originalboard.context.id",{"_index":5414,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["this.courserepo.findbyid(parentparams.courseid",{"_index":15434,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["this.courserepo.findbyid(rootboarddo.context.id",{"_index":3416,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["this.courserepo.findone(roomid",{"_index":19252,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["this.courserepo.save(coursecopy",{"_index":7652,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.courserule",{"_index":19294,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.courserule.haspermission(user",{"_index":7759,"title":{},"body":{"injectables/CourseGroupRule.html":{},"injectables/LessonRule.html":{},"injectables/TaskRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.courseservice.findallbyuserid(pseudonym.userid",{"_index":11372,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.courseservice.findbyid(columnboard.context.id",{"_index":4146,"title":{},"body":{"injectables/BoardUrlHandler.html":{}}}],["this.courseservice.findbyid(contextexternaltool.contextref.id",{"_index":22962,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["this.courseservice.findbyid(courseid",{"_index":2046,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/FeathersRosterService.html":{},"injectables/ShareTokenUC.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.courseservice.findbyid(id",{"_index":7947,"title":{},"body":{"injectables/CourseUrlHandler.html":{}}}],["this.courseservice.findbyid(sharetoken.payload.parentid)).name",{"_index":20456,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.courseservice.getcourse(params.courseid",{"_index":26031,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.courseservice.save(course",{"_index":26035,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.courseservice.savecourse(course",{"_index":26039,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.courseuc.findallbyuser(currentuser.userid",{"_index":7595,"title":{},"body":{"controllers/CourseController.html":{}}}],["this.courseurlhandler",{"_index":16299,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["this.create",{"_index":11744,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["this.create(currentuserid",{"_index":24125,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.create(library",{"_index":15613,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["this.create(path",{"_index":19385,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.createboardelementfor(target",{"_index":2981,"title":{},"body":{"entities/Board.html":{}}}],["this.createboardforcourse(courseid",{"_index":3954,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this.createbucket",{"_index":19384,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.createcards(this.random(1",{"_index":3814,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.createclient(provider",{"_index":8948,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.createcolumns(3",{"_index":3810,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.createdat",{"_index":460,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountSaveDto.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/County.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TimestampsResponse.html":{},"classes/UserDO.html":{}}}],["this.createdefaultiuser",{"_index":13384,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.createelements(1",{"_index":3820,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.createemptyelements(card",{"_index":4466,"title":{},"body":{"injectables/CardService.html":{}}}],["this.createerrorloggable(error",{"_index":12590,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.createerrorresponse(error",{"_index":12600,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.createerrorresponseforbusinesserror(error",{"_index":12608,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.createerrorresponseforfeatherserror(error",{"_index":12606,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.createerrorresponsefornesthttpexception(error",{"_index":12610,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.createerrorresponseforunknownerror",{"_index":12611,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.createfile(contentrange",{"_index":22192,"title":{},"body":{"classes/TestHelper.html":{}}}],["this.createfileurlreplacements(filedtos",{"_index":7299,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["this.creategridelement(elementwithposition",{"_index":8677,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.createidentityprovider(configureaction.config",{"_index":14597,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.createidpdefaultmapper(idpalias",{"_index":14634,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.createidpdefaultmapper(oidcconfig.idphint",{"_index":14625,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.createiframesubject(user",{"_index":13722,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["this.createlogmessageforvalidationerrors(this.error",{"_index":9883,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["this.createnewmigration(schooldo",{"_index":23660,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.createorupdateboardnode(boardnode",{"_index":18575,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.createorupdateentity(dob",{"_index":2486,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.createorupdateidmaccount(account",{"_index":14830,"title":{},"body":{"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["this.createqueryordermap(options?.order",{"_index":23282,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["this.createrichtextelement",{"_index":5489,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["this.createstatus",{"_index":21827,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.createtaskstatus(task",{"_index":9709,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.createusersearchindex",{"_index":5303,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.creator",{"_index":16506,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.creatorid",{"_index":7190,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["this.credentialhash",{"_index":240,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{}}}],["this.cruduc.createoauth2client(currentuser",{"_index":17321,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.cruduc.deleteoauth2client(currentuser",{"_index":17326,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.cruduc.getoauth2client(currentuser",{"_index":17311,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.cruduc.listoauth2clients",{"_index":17314,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.cruduc.updateoauth2client(currentuser",{"_index":17323,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.currentredirect",{"_index":13487,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["this.customs",{"_index":8135,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.dashboard",{"_index":8546,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["this.dashboardrepo.getdashboardbyid(dashboardid",{"_index":8758,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["this.dashboardrepo.getusersdashboard(userid",{"_index":8754,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["this.dashboardrepo.persistandflush(dashboard",{"_index":8757,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["this.dashboarduc.getusersdashboard(currentuser.userid",{"_index":8364,"title":{},"body":{"controllers/DashboardController.html":{}}}],["this.dashboarduc.moveelementondashboard",{"_index":8367,"title":{},"body":{"controllers/DashboardController.html":{}}}],["this.dashboarduc.renamegroupondashboard",{"_index":8372,"title":{},"body":{"controllers/DashboardController.html":{}}}],["this.data",{"_index":881,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"classes/AxiosResponseImp.html":{},"classes/CardListResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileDto.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/Page.html":{},"classes/PublicSystemListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/ToolReferenceListResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["this.databasemanagementservice.clearcollection(collectionname",{"_index":5239,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.databasemanagementservice.collectionexists(collectionname",{"_index":5237,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.databasemanagementservice.createcollection(collectionname",{"_index":5240,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.databasemanagementservice.finddocumentsofcollection(collectionname",{"_index":5286,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.databasemanagementservice.getcollectionnames",{"_index":5203,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.databasemanagementservice.getdatabasecollection('users",{"_index":5307,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.databasemanagementservice.importcollection",{"_index":5276,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.databasemanagementservice.syncindexes",{"_index":5304,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.databasemanagementuc.exportcollectionstofilesystem",{"_index":8820,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["this.databasemanagementuc.exportcollectionstofilesystem([collectionname",{"_index":8822,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["this.databasemanagementuc.exportcollectionstofilesystem(filter",{"_index":8792,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["this.databasemanagementuc.seeddatabasecollectionsfromfactories(filter",{"_index":8786,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["this.databasemanagementuc.seeddatabasecollectionsfromfilesystem",{"_index":8817,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["this.databasemanagementuc.seeddatabasecollectionsfromfilesystem([collectionname",{"_index":8819,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["this.databasemanagementuc.seeddatabasecollectionsfromfilesystem(filter",{"_index":8787,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["this.databasemanagementuc.syncindexes",{"_index":8793,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"interfaces/Options.html":{}}}],["this.db.collection(collectionname",{"_index":8856,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.db.createcollection(collectionname",{"_index":8873,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.db.dropcollection(collectionname",{"_index":8874,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.db.listcollections(undefined",{"_index":8866,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.default",{"_index":8200,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{}}}],["this.defaultencryptionservice.decrypt(oidcconfig.clientsecret",{"_index":17565,"title":{},"body":{"classes/OidcIdentityProviderMapper.html":{}}}],["this.defaultencryptionservice.encrypt(system.oauthconfig.clientsecret",{"_index":5349,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.defaultencryptionservice.encrypt(system.oidcconfig.clientsecret",{"_index":5352,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.defaultheaders",{"_index":9031,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["this.defaultlanguage",{"_index":6567,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.defaultoauthclientbody",{"_index":17212,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["this.defaultscopes",{"_index":15008,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.defaultvalue",{"_index":8339,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["this.delete",{"_index":11746,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["this.delete(account",{"_index":784,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this.delete(content",{"_index":13105,"title":{},"body":{"injectables/H5PContentRepo.html":{}}}],["this.delete(deleteobjects",{"_index":19399,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.delete(filteredpathobjects",{"_index":19435,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.delete(paths",{"_index":19392,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.deleteafter",{"_index":9349,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["this.deleted",{"_index":11584,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.deletedat",{"_index":11583,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/TimestampsResponse.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["this.deletedcount",{"_index":9189,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["this.deletedfoldername}/${path",{"_index":19388,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.deletedsince",{"_index":7195,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.deleteexternaltoolpseudonymsbyuserid(userid",{"_index":18280,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.deletefile(file",{"_index":8935,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.deletefileinstorage(file",{"_index":8958,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.deletefilesuc.deletemarkedfiles(thresholddate",{"_index":8895,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["this.deleteidentityprovider(configureaction.alias",{"_index":14601,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.deletenode(card",{"_index":18505,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(column",{"_index":18503,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(columnboard",{"_index":18501,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(drawingelement",{"_index":18516,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(externaltoolelement",{"_index":18525,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(fileelement",{"_index":18508,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(linkelement",{"_index":18511,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(richtextelement",{"_index":18513,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(submission",{"_index":18520,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletenode(submissioncontainerelement",{"_index":18518,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.deletepseudonymsbyuserid(userid",{"_index":18279,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.deletesubmissions(task",{"_index":21765,"title":{},"body":{"injectables/TaskService.html":{}}}],["this.deletionclient.executedeletions(limit",{"_index":9120,"title":{},"body":{"injectables/DeletionExecutionUc.html":{}}}],["this.deletionclient.queuedeletionrequest(deletionrequestinput",{"_index":2822,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["this.deletionexecutionuc.triggerdeletionexecution(options.limit",{"_index":9088,"title":{},"body":{"classes/DeletionExecutionConsole.html":{}}}],["this.deletionlogrepo.create(newdeletionlog",{"_index":9252,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["this.deletionlogrepo.findallbydeletionrequestid(deletionrequestid",{"_index":9253,"title":{},"body":{"injectables/DeletionLogService.html":{}}}],["this.deletionplannedat",{"_index":9383,"title":{},"body":{"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestResponse.html":{}}}],["this.deletionrequestid",{"_index":9191,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["this.deletionrequestrepo.create(newdeletionrequest",{"_index":9478,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["this.deletionrequestrepo.deletebyid(deletionrequestid",{"_index":9487,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["this.deletionrequestrepo.findallitemstoexecution(limit",{"_index":9483,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["this.deletionrequestrepo.findbyid(deletionrequestid",{"_index":9481,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["this.deletionrequestrepo.markdeletionrequestasexecuted(deletionrequestid",{"_index":9485,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["this.deletionrequestrepo.markdeletionrequestasfailed(deletionrequestid",{"_index":9486,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["this.deletionrequestrepo.update(deletionrequesttoupdate",{"_index":9484,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["this.deletionrequestuc.createdeletionrequest(deletionrequestbody",{"_index":9510,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["this.deletionrequestuc.deletedeletionrequestbyid(requestid",{"_index":9517,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["this.deletionrequestuc.executedeletionrequests(deletionexecutionquery.limit",{"_index":9136,"title":{},"body":{"controllers/DeletionExecutionsController.html":{}}}],["this.deletionrequestuc.findbyid(requestid",{"_index":9514,"title":{},"body":{"controllers/DeletionRequestsController.html":{}}}],["this.derivecopyname(composedname",{"_index":7357,"title":{},"body":{"injectables/CopyHelperService.html":{}}}],["this.derivecopystatus(filecopystatus",{"_index":21452,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["this.derivecopystatus(filedtos",{"_index":7301,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["this.derivecoursestatus(originalcourse",{"_index":7645,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.description",{"_index":7514,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/DrawingElementContent.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"classes/DrawingElementResponse.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/Path.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/UsersList.html":{}}}],["this.descriptioninputformat",{"_index":21285,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.details",{"_index":4203,"title":{},"body":{"classes/BusinessError.html":{},"classes/ErrorResponse.html":{}}}],["this.detectcontenttypeorthrow(buffer",{"_index":10406,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["this.detectcontenttypeorthrow(logobinarydata",{"_index":10415,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["this.determineinput(systemid",{"_index":18135,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.determinenewroomsin(rooms",{"_index":8492,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.determineschooltoolstatus(tool",{"_index":19850,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.displayat",{"_index":7833,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["this.displaycolor",{"_index":7794,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"classes/SingleColumnBoardResponse.html":{}}}],["this.displayname",{"_index":6647,"title":{},"body":{"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolResponse.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceResponse.html":{}}}],["this.docname",{"_index":22349,"title":{},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["this.docs.delete(doc.name",{"_index":22498,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.docs.set(docname",{"_index":22518,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.doescourseexist(courseid",{"_index":3807,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.domain",{"_index":9182,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["this.domainblacklist",{"_index":16089,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.domainblacklist.includes(maildomain",{"_index":16105,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.domainblacklist.length",{"_index":16091,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.domigration(externalid",{"_index":19987,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.domigration(userdo",{"_index":23774,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.downloadoriginfile(originfilepath",{"_index":17920,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["this.drawingelementadapterservice.deletedrawingbindata(drawingelement.id",{"_index":18515,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.dropcollectionifexists(collectionname",{"_index":5249,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.droplibrarycss",{"_index":11692,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.duedate",{"_index":20731,"title":{},"body":{"classes/SubmissionContainerElementContent.html":{},"entities/SubmissionContainerElementNode.html":{},"classes/SubmissionContainerElementResponse.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.dynamicdependencies",{"_index":6573,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.editordependencies",{"_index":6575,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.elements",{"_index":4420,"title":{},"body":{"classes/CardResponse.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SubmissionItemResponse.html":{}}}],["this.elementservice.create(card",{"_index":4517,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.elementservice.create(submissionitem",{"_index":20888,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["this.elementservice.delete(element",{"_index":9817,"title":{},"body":{"injectables/ElementUc.html":{}}}],["this.elementservice.findbyid(contentelementid",{"_index":9821,"title":{},"body":{"injectables/ElementUc.html":{}}}],["this.elementservice.findbyid(elementid",{"_index":4519,"title":{},"body":{"injectables/CardUc.html":{},"injectables/ElementUc.html":{}}}],["this.elementservice.findbyid(submissioncontainerid",{"_index":20878,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["this.elementservice.findparentofid(elementid",{"_index":9818,"title":{},"body":{"injectables/ElementUc.html":{}}}],["this.elementservice.move(element",{"_index":4518,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.elementservice.update(element",{"_index":9816,"title":{},"body":{"injectables/ElementUc.html":{}}}],["this.elementuc.createsubmissionitem",{"_index":9796,"title":{},"body":{"controllers/ElementController.html":{}}}],["this.elementuc.deleteelement(currentuser.userid",{"_index":9793,"title":{},"body":{"controllers/ElementController.html":{}}}],["this.elementuc.updateelementcontent",{"_index":9790,"title":{},"body":{"controllers/ElementController.html":{}}}],["this.em",{"_index":10605,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/GroupRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["this.em.assign(entity",{"_index":4837,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["this.em.assign(existing",{"_index":10611,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["this.em.assign(existingentity",{"_index":12852,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["this.em.find(boardnode",{"_index":3634,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/BoardNodeRepo.html":{}}}],["this.em.find(classentity",{"_index":4817,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["this.em.find(columnboardnode",{"_index":3643,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.em.find(columnboardtarget",{"_index":5575,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["this.em.find(deletionlogentity",{"_index":9235,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["this.em.find(externaltoolpseudonymentity",{"_index":10604,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["this.em.find(groupentity",{"_index":12846,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["this.em.find(pseudonymentity",{"_index":18314,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["this.em.findandcount(deletionrequestentity",{"_index":9435,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["this.em.findandcount(externaltoolpseudonymentity",{"_index":10627,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["this.em.findone(dashboardgridelementmodel",{"_index":8679,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.em.findone(dashboardmodelentity",{"_index":8700,"title":{},"body":{"injectables/DashboardModelMapper.html":{},"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.em.findone(externaltoolpseudonymentity",{"_index":10603,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["this.em.findone(groupentity",{"_index":12843,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["this.em.findone(pseudonymentity",{"_index":18313,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["this.em.findone(systementity",{"_index":21198,"title":{},"body":{"injectables/SystemRepo.html":{}}}],["this.em.findoneorfail(boardnode",{"_index":3908,"title":{},"body":{"injectables/BoardNodeRepo.html":{}}}],["this.em.findoneorfail(course",{"_index":3834,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.em.findoneorfail(dashboardmodelentity",{"_index":8730,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.em.findoneorfail(deletionlogentity",{"_index":9232,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["this.em.findoneorfail(deletionrequestentity",{"_index":9428,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["this.em.findoneorfail(externaltoolpseudonymentity",{"_index":10600,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["this.em.findoneorfail(pseudonymentity",{"_index":18312,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["this.em.findoneorfail(rocketchatuserentity",{"_index":18981,"title":{},"body":{"injectables/RocketChatUserRepo.html":{}}}],["this.em.findoneorfail(user",{"_index":8702,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.em.flush",{"_index":3659,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/ColumnBoardTargetService.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/GroupRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["this.em.getconnection('write').getdb",{"_index":8855,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.em.getreference(contextexternaltoolentity",{"_index":18588,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.em.getreference(deletionrequestentity",{"_index":9439,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["this.em.getunitofwork().getbyid(boardnode.name",{"_index":3907,"title":{},"body":{"injectables/BoardNodeRepo.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["this.em.nativedelete(externaltoolpseudonymentity",{"_index":10614,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["this.em.nativedelete(pseudonymentity",{"_index":18317,"title":{},"body":{"injectables/PseudonymsRepo.html":{}}}],["this.em.nativedelete(registrationpinentity",{"_index":18720,"title":{},"body":{"injectables/RegistrationPinRepo.html":{}}}],["this.em.nativedelete(rocketchatuserentity",{"_index":18983,"title":{},"body":{"injectables/RocketChatUserRepo.html":{}}}],["this.em.persist(boardnode",{"_index":18595,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.em.persist(deletionlogentity",{"_index":9239,"title":{},"body":{"injectables/DeletionLogRepo.html":{}}}],["this.em.persist(deletionrequestentity",{"_index":9431,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["this.em.persist(entity",{"_index":10612,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["this.em.persist(modelentity",{"_index":8726,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.em.persist(newentity",{"_index":12853,"title":{},"body":{"injectables/GroupRepo.html":{}}}],["this.em.persist(target",{"_index":5574,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["this.em.persistandflush(board",{"_index":3809,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.em.persistandflush(cards",{"_index":3817,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.em.persistandflush(columns",{"_index":3811,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.em.persistandflush(data",{"_index":5250,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.em.persistandflush(deletionrequest",{"_index":9443,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["this.em.persistandflush(elements",{"_index":3822,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.em.persistandflush(existingentities",{"_index":4838,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["this.em.persistandflush(modelentity",{"_index":8728,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.em.persistandflush(referencedentity",{"_index":9441,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["this.em.remove(el",{"_index":8699,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.em.remove(this.em.getreference(boardnode",{"_index":18527,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.em.removeandflush(entity",{"_index":9445,"title":{},"body":{"injectables/DeletionRequestRepo.html":{},"injectables/GroupRepo.html":{},"injectables/SystemRepo.html":{}}}],["this.email",{"_index":11193,"title":{},"body":{"classes/ExternalUserDto.html":{},"interfaces/H5PContentParentParams.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/LumiUserWithContentData.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{}}}],["this.emailsearchvalues",{"_index":23252,"title":{},"body":{"classes/UserDO.html":{}}}],["this.embedtypes",{"_index":6561,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.enableoauthmigrationfeature(schooldo",{"_index":23661,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.encoding",{"_index":12078,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["this.encryptionservice.encrypt(externaltool.config.secret",{"_index":10963,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.encryptpassword(accountdto.password",{"_index":946,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.encryptpassword(password",{"_index":952,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.encryptsecrets(collectionname",{"_index":5274,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.encryptsecretsinsystems(data",{"_index":5248,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.encryptsecretsinsystems(jsondocuments",{"_index":5344,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.enddate",{"_index":20089,"title":{},"body":{"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{}}}],["this.endpointurl",{"_index":20630,"title":{},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["this.enrichdatafromexternaltool(createdschoolexternaltool",{"_index":19857,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.enrichdatafromexternaltool(tool",{"_index":19848,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.enrichwithdatafromexternaltools(schoolexternaltools",{"_index":19846,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.ensureboardnodetype(this.getchildren(boardnode",{"_index":3513,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.ensurecontextpermissions(userid",{"_index":10219,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.ensureleafnode(boardnode",{"_index":3532,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.ensurepermission(userid",{"_index":11052,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.ensureschoolpermissions(userid",{"_index":10210,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["this.ensuretoolpermissions(userid",{"_index":23042,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["this.entityclass",{"_index":2604,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.entityclass(props",{"_index":2587,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.entityname",{"_index":801,"title":{},"body":{"injectables/AccountRepo.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ForbiddenLoggableException.html":{}}}],["this.error",{"_index":9882,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["this.errorcode",{"_index":1479,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{}}}],["this.errortype",{"_index":1106,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.everyattendeejoinsmuted",{"_index":24155,"title":{},"body":{"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["this.everyattendejoinsmuted",{"_index":23989,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["this.everybodyjoinsasmoderator",{"_index":23991,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["this.exchange",{"_index":19277,"title":{},"body":{"classes/RpcMessageProducer.html":{}}}],["this.expiresat",{"_index":248,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"entities/H5pEditorTempFile.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"interfaces/ShareTokenProperties.html":{},"classes/ShareTokenResponse.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["this.externalgroups",{"_index":17143,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["this.externalid",{"_index":7837,"title":{},"body":{"entities/CourseNews.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalUserDto.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/LegacySchoolDo.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolEntity.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/TeamNews.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"interfaces/UserProperties.html":{}}}],["this.externalidtoken",{"_index":17154,"title":{},"body":{"classes/OauthLoginResponse.html":{}}}],["this.externalschool",{"_index":17141,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["this.externalschoolid",{"_index":10048,"title":{},"body":{"classes/ExternalSchoolNumberMissingLoggableException.html":{}}}],["this.externalsource",{"_index":12812,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupResponse.html":{},"classes/ResolvedGroupDto.html":{}}}],["this.externalsourcename",{"_index":4680,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{}}}],["this.externaltoolconfigurationservice.filterforavailableexternaltools",{"_index":10221,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.externaltoolconfigurationservice.filterforavailableschoolexternaltools",{"_index":10220,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.externaltoolconfigurationservice.filterforavailabletools",{"_index":10212,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.externaltoolconfigurationservice.filterforcontextrestrictions",{"_index":10223,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.externaltoolconfigurationservice.filterparametersforscope",{"_index":10225,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.externaltoolconfigurationservice.filterparametersforscope(externaltool",{"_index":10214,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.externaltoolconfigurationservice.gettoolcontexttypes",{"_index":10205,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.externaltoolconfigurationuc.getavailabletoolsforcontext",{"_index":22657,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["this.externaltoolconfigurationuc.getavailabletoolsforschool",{"_index":22654,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["this.externaltoolconfigurationuc.gettemplateforcontextexternaltool",{"_index":22664,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["this.externaltoolconfigurationuc.gettemplateforschoolexternaltool",{"_index":22661,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["this.externaltoolconfigurationuc.gettoolcontexttypes",{"_index":22652,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["this.externaltooldomapper.mapcreaterequest(externaltoolparams",{"_index":22782,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooldomapper.mapexternaltoolfilterquerytoexternaltoolsearchquery(filterquery",{"_index":22788,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooldomapper.mapsortingquerytodomain(sortingquery",{"_index":22787,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooldomapper.mapupdaterequest(externaltoolparams",{"_index":22798,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltoolid",{"_index":6692,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["this.externaltoollogoservice.buildlogourl",{"_index":10216,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ToolReferenceService.html":{}}}],["this.externaltoollogoservice.fetchlogo(externaltool",{"_index":11053,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.externaltoollogoservice.getexternaltoolbinarylogo",{"_index":22805,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltoollogoservice.validatelogosize(externaltool",{"_index":11098,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["this.externaltoolmetadataservice.getmetadata(toolid",{"_index":11066,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.externaltoolname",{"_index":18846,"title":{},"body":{"classes/RestrictedContextMismatchLoggable.html":{}}}],["this.externaltoolparametervalidationservice.validatecommon(externaltool",{"_index":11095,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["this.externaltoolpseudonymrepo",{"_index":18286,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.externaltoolpseudonymrepo.deletepseudonymsbyuserid(userid",{"_index":18285,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.externaltoolpseudonymrepo.findbyuserid(userid",{"_index":18283,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.externaltoolpseudonymrepo.findpseudonym(query",{"_index":18289,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.externaltoolpseudonymrepo.findpseudonymbypseudonym(pseudonym",{"_index":18288,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.externaltoolrepo.deletebyid(toolid",{"_index":10989,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaltoolrepo.find(query",{"_index":10972,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaltoolrepo.findbyid(id",{"_index":10981,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaltoolrepo.findbyname(name",{"_index":10984,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaltoolrepo.findbyoauth2configclientid(clientid",{"_index":10985,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaltoolrepo.save(externaltool",{"_index":10968,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaltoolrepo.save(toupdate",{"_index":10971,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaltoolservice.createexternaltool(externaltool",{"_index":11055,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.externaltoolservice.deleteexternaltool(toolid",{"_index":11063,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.externaltoolservice.findbyid(loadedschoolexternaltool.toolid",{"_index":7076,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["this.externaltoolservice.findbyid(schoolexternaltool.toolid",{"_index":7018,"title":{},"body":{"injectables/ContextExternalToolService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/FeathersRosterService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolReferenceService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.externaltoolservice.findbyid(tool.toolid",{"_index":19849,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.externaltoolservice.findbyid(toolid",{"_index":10410,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{}}}],["this.externaltoolservice.findexternaltoolbyname",{"_index":16806,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.externaltoolservice.findexternaltoolbyname(externaltool.name",{"_index":10536,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.externaltoolservice.findexternaltoolbyoauth2configclientid",{"_index":11377,"title":{},"body":{"injectables/FeathersRosterService.html":{},"injectables/OauthProviderLoginFlowService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.externaltoolservice.findexternaltoolbyoauth2configclientid(externaltool.config.clientid",{"_index":11113,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["this.externaltoolservice.findexternaltools",{"_index":10206,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["this.externaltoolservice.findexternaltools(query",{"_index":11062,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.externaltoolservice.updateexternaltool(toupdate",{"_index":11061,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.externaltooluc.createexternaltool(currentuser.userid",{"_index":22783,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooluc.deleteexternaltool(currentuser.userid",{"_index":22802,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooluc.findexternaltool(currentuser.userid",{"_index":22789,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooluc.getexternaltool",{"_index":22794,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooluc.getmetadataforexternaltool",{"_index":22812,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltooluc.updateexternaltool",{"_index":22799,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.externaltoolversionservice.increaseversionofnewtoolifnecessary(loadedtool",{"_index":10970,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.externaluser",{"_index":17139,"title":{},"body":{"classes/OauthDataDto.html":{}}}],["this.externaluserid",{"_index":10027,"title":{},"body":{"classes/ExternalGroupUserDto.html":{},"classes/ProvisioningDto.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["this.extractaccount(account",{"_index":14772,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.extractaccount(keycloakuser",{"_index":14757,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.extractaccount(keycloakusers[0",{"_index":14764,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.extractaccount(user",{"_index":14775,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.extractattributevalue(user.attributes?.dbcaccountid",{"_index":14792,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.extractattributevalue(user.attributes?.dbcsystemid",{"_index":14788,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.extractattributevalue(user.attributes?.dbcuserid",{"_index":14790,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.extractid(url",{"_index":4140,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["this.extractparamsfromrequest(request",{"_index":15082,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.extractreferences(elements",{"_index":3301,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.extractvalidationerrordetails(childerror",{"_index":1415,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["this.extractvalidationerrordetails(validationerror",{"_index":1405,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["this.factory.createdto",{"_index":19255,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["this.feathersauthprovider.getpermittedschools(userid",{"_index":11263,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["this.feathersauthprovider.getpermittedtargets(userid",{"_index":11264,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["this.feathersauthprovider.getuserschoolpermissions(userid",{"_index":11250,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["this.feathersauthprovider.getusertargetpermissions(userid",{"_index":11251,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["this.feathersserviceprovider.getservice('/etherpad/pads",{"_index":9996,"title":{},"body":{"injectables/EtherpadService.html":{}}}],["this.feathersserviceprovider.getservice('/nexboard/boards",{"_index":16719,"title":{},"body":{"injectables/NexboardService.html":{}}}],["this.feathersserviceprovider.getservice('users",{"_index":11233,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["this.feathersserviceprovider.getservice(`${targetmodel}/:scopeid/userpermissions",{"_index":11220,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["this.feathersserviceprovider.getservice(`/users/:scopeid/${targetmodel",{"_index":11225,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["this.feathersserviceprovider.getservice(`path",{"_index":25576,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["this.features",{"_index":7529,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/LegacySchoolDo.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/UsersList.html":{}}}],["this.federalstate",{"_index":14964,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/LegacySchoolDo.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.federalstaterepo.findbyname(name",{"_index":11437,"title":{},"body":{"injectables/FederalStateService.html":{}}}],["this.federalstateservice.findfederalstatebyname",{"_index":17622,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.fetchbase64logo(externaltool.logourl",{"_index":10399,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["this.fieldname",{"_index":13695,"title":{},"body":{"classes/IdTokenExtractionFailureLoggableException.html":{}}}],["this.filecopyservice.copyfilesofparent",{"_index":18443,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.filecopyservicefactory.build",{"_index":5416,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["this.filename",{"_index":13415,"title":{},"body":{"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["this.files",{"_index":11713,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.filesrepo.delete(file",{"_index":8959,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.filesrepo.findforcleanup(thresholddate",{"_index":8933,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.filesstorageclientadapterservice.copyfilesofparent",{"_index":20064,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["this.filesstorageclientadapterservice.copyfilesofparent(copyfilesofparentparams",{"_index":7297,"title":{},"body":{"injectables/CopyFilesService.html":{}}}],["this.filesstorageclientadapterservice.deletefilesofparent(fileelement.id",{"_index":18507,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.filesstorageclientadapterservice.deletefilesofparent(lesson.id",{"_index":15557,"title":{},"body":{"injectables/LessonService.html":{}}}],["this.filesstorageclientadapterservice.deletefilesofparent(linkelement.id",{"_index":18510,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.filesstorageclientadapterservice.deletefilesofparent(submission.id",{"_index":20970,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["this.filesstorageclientadapterservice.deletefilesofparent(task.id",{"_index":21764,"title":{},"body":{"injectables/TaskService.html":{}}}],["this.filesstorageservice.copyfilesofparent(userid",{"_index":12263,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["this.filesstorageservice.deletefilesofparent(filerecords",{"_index":12272,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["this.filesstorageservice.getfilerecordsofparent(payload",{"_index":12270,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["this.filesstorageservice.getfilerecordsofparent(payload.parentid",{"_index":12266,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["this.filesstorageuc.downloadbysecuritytoken(token",{"_index":11994,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["this.filesstorageuc.updatesecuritystatus(token",{"_index":12002,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["this.filestoragemqproducer.copyfilesofparent(param",{"_index":12187,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["this.filestoragemqproducer.deletefilesofparent(parentid",{"_index":12192,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["this.filestoragemqproducer.listfilesofparent(param",{"_index":12190,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["this.filesystemadapter.createdir(targetfolder",{"_index":5282,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.filesystemadapter.eol",{"_index":5298,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.filesystemadapter.joinpath(__dirname",{"_index":5184,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.filesystemadapter.joinpath(basedir",{"_index":5212,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.filesystemadapter.joinpath(targetfolder",{"_index":5206,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.filesystemadapter.joinpath(this.basedir",{"_index":5189,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.filesystemadapter.readdir(basedir",{"_index":5210,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.filesystemadapter.readfile(filepath",{"_index":5265,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.filesystemadapter.writefile(filepath",{"_index":5297,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.filetype",{"_index":18383,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["this.filterallowed(userid",{"_index":4512,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.filterbypermission(elements",{"_index":9691,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.filtercoursesbytoolavailability(courses",{"_index":11340,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.filteremailadresses(data.bcc",{"_index":16097,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.filteremailadresses(data.cc",{"_index":16095,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.filteremailadresses(data.recipients",{"_index":16093,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.filteremailadresses(data.replyto",{"_index":16099,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.filtersubmissionsbypermission(submissions",{"_index":20995,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["this.filtertoolswithpermissions(userid",{"_index":7063,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["this.findallforstudent(user",{"_index":21822,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.findallforteacher(user",{"_index":21823,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.findalltasks(currentuser",{"_index":21414,"title":{},"body":{"controllers/TaskController.html":{}}}],["this.findandcount(scope",{"_index":11920,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["this.findbyexternalid(externalid",{"_index":23299,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["this.findbyid(accountid",{"_index":783,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this.findbyid(boardnode.parentid",{"_index":3652,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.findbyid(id",{"_index":3630,"title":{},"body":{"injectables/BoardDoRepo.html":{}}}],["this.findbyid(userid",{"_index":23926,"title":{},"body":{"injectables/UserService.html":{}}}],["this.findbynames([rolename.administrator",{"_index":19069,"title":{},"body":{"injectables/RoleService.html":{}}}],["this.findbyuserid(userid",{"_index":785,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this.findexistinggridelement(elementwithposition",{"_index":8673,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.findexistingtargets(columnboardids",{"_index":5566,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["this.findexternaltoolpseudonymsbyuserid(userid",{"_index":18272,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.findimportusersandcount(scope.query",{"_index":14092,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["this.findlegacyltitool",{"_index":16809,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.findmigrationbyschool(schoolid",{"_index":23684,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.findnewsandcount(scope.query",{"_index":16586,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this.findnextcloudtool",{"_index":16783,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.findoneorfail(scope",{"_index":11917,"title":{},"body":{"injectables/FileRecordRepo.html":{}}}],["this.findpseudonymbypseudonym(pseudonym",{"_index":11333,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.findpseudonymsbyuserid(userid",{"_index":18271,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.findtasksandcount(scope.query",{"_index":21643,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["this.findteambyid(teamid",{"_index":5113,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.finduserafterprovisioningorthrow(externaluserid",{"_index":16893,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.finishcoursecopying(coursecopy",{"_index":7643,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.finished",{"_index":21305,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.finished.add(user",{"_index":21366,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.finished.getidentifiers('_id",{"_index":21308,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.finished.remove(user",{"_index":21368,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.finished.set(props.finished",{"_index":21295,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.finishedat",{"_index":23527,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["this.finishedat.toisostring",{"_index":23554,"title":{},"body":{"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["this.firstname",{"_index":11189,"title":{},"body":{"classes/ExternalUserDto.html":{},"classes/GroupUserResponse.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDataResponse.html":{},"classes/UserDto.html":{},"classes/UserInfoResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{}}}],["this.firstnamesearchvalues",{"_index":23248,"title":{},"body":{"classes/UserDO.html":{}}}],["this.flagged",{"_index":13846,"title":{},"body":{"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{}}}],["this.flushsize",{"_index":22271,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.forcepasswordchange",{"_index":23168,"title":{},"body":{"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"interfaces/UserProperties.html":{}}}],["this.formattedjwt",{"_index":1634,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["this.friendlyurl",{"_index":8146,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.from",{"_index":10019,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["this.frontchannel_logout_uri",{"_index":8152,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.frontchannellogouturi",{"_index":16945,"title":{},"body":{"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["this.fullname",{"_index":2266,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["this.fullpath",{"_index":18752,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["this.fullscreen",{"_index":11697,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.fwulearningcontentsuc.get(path",{"_index":12443,"title":{},"body":{"controllers/FwuLearningContentsController.html":{}}}],["this.generatearray(amount",{"_index":3824,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.generatebrokersystems([system",{"_index":15353,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["this.generatebrokersystems(systems",{"_index":15362,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["this.generatechecksum(callname",{"_index":2426,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.generatepreview(params",{"_index":17982,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.get('/api/v1/me",{"_index":1111,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.get('/events",{"_index":4290,"title":{},"body":{"injectables/CalendarService.html":{}}}],["this.get(`${oauthconfig.authendpoint}?${query",{"_index":13531,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.get(location",{"_index":13554,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.get(path",{"_index":1163,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.getadditionalerrorinfo(idtoken.email",{"_index":14272,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["this.getadminidandtoken",{"_index":1158,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.getandpseudonyms(students",{"_index":11358,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.getandpseudonyms(substitutionteachers",{"_index":11360,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.getandpseudonyms(teachers",{"_index":11359,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.getasadmin(`/api/v1/groups.info?roomname=${groupname",{"_index":1145,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.getasadmin(`/api/v1/groups.members?roomname=${groupname",{"_index":1143,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.getasadmin(`/api/v1/groups.moderators?roomname=${groupname",{"_index":1141,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.getasadmin(`/api/v1/users.list?${querystring",{"_index":1121,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.getbbbrequestconfig(this.presentationurl",{"_index":2394,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.getboardauthorizable(boarddo",{"_index":3407,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["this.getboardvalue(contextexternaltool.contextref.id",{"_index":2044,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["this.getbydraftforcreatorquery(creatorid",{"_index":21749,"title":{},"body":{"classes/TaskScope.html":{}}}],["this.getbydraftquery(false",{"_index":21750,"title":{},"body":{"classes/TaskScope.html":{}}}],["this.getbydraftquery(isdraft",{"_index":21748,"title":{},"body":{"classes/TaskScope.html":{}}}],["this.getbydraftquery(true",{"_index":21751,"title":{},"body":{"classes/TaskScope.html":{}}}],["this.getchildren(boardnode",{"_index":3559,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.getchildren(boardnode).map((node",{"_index":3552,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["this.getcollectionnames",{"_index":8871,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.getcopiesforchildrenof(original",{"_index":18432,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.getcopyname(originaltask.name",{"_index":21500,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.getcopystatusesforchildrenof(original",{"_index":18435,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.getcoursegroupstudentids",{"_index":20704,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.getcoursesfromuserspseudonym(loadedpseudonym",{"_index":11339,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.getcoursevalue(board.context.id",{"_index":2055,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["this.getcoursevalue(contextexternaltool.contextref.id",{"_index":2041,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{}}}],["this.getdatabasecollection(collectionname",{"_index":8858,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.getdefaultmaxduedate",{"_index":21832,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.getdefaultmetadata(url",{"_index":4141,"title":{},"body":{"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/TaskUrlHandler.html":{}}}],["this.getdestinationcourse(parentparams.courseid",{"_index":21494,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.getdestinationlesson(parentparams.lessonid",{"_index":21499,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.getdocnamefromrequest(request",{"_index":22408,"title":{},"body":{"classes/TldrawWs.html":{}}}],["this.getelement(position",{"_index":8515,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.getelementbytargetid(id",{"_index":2944,"title":{},"body":{"entities/Board.html":{}}}],["this.getelements().map((el",{"_index":2954,"title":{},"body":{"entities/Board.html":{}}}],["this.getelementwithwritepermission(userid",{"_index":9815,"title":{},"body":{"injectables/ElementUc.html":{}}}],["this.getentitypermissions(userid",{"_index":11257,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["this.getexternalsubclientmapperconfiguration",{"_index":14611,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.getfileinfo(filename",{"_index":22110,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.getfilepath(user.id",{"_index":22113,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.getfilteredgroupusers(externalgroup",{"_index":17666,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.getfinisheduserids",{"_index":21318,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.getfirstopenindex",{"_index":8510,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.getgradedsubmissions",{"_index":21347,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.getgroupdata(groupname",{"_index":1130,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.getgroupuser(externalgroup.user",{"_index":17668,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.getgroupuser(externalgroupuser",{"_index":17675,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.getid",{"_index":8464,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.getidpmapperconfiguration(idpalias",{"_index":14633,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.getinternalid(accountdto.id",{"_index":936,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.getinternalid(accountid",{"_index":951,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.getinternalid(id",{"_index":927,"title":{},"body":{"injectables/AccountServiceDb.html":{}}}],["this.getjwtfromresponse(response",{"_index":1657,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["this.getmaildomain(mail",{"_index":16104,"title":{},"body":{"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.getmaxsubmissions",{"_index":21351,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.getmeetinginfo(new",{"_index":2408,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.getnewspermissions(userid",{"_index":16685,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.getoauthconfig",{"_index":14708,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.getorconstructdashboardmodelentity(entity",{"_index":8692,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.getorcreatecourseboard(courseid",{"_index":3951,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this.getparent",{"_index":6210,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.getpath(subpath",{"_index":1638,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["this.getpermittedcourses(user",{"_index":21808,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.getpermittedlessons(user",{"_index":21809,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.getpermittedtargets(userid",{"_index":16680,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.getpreviewfile(params",{"_index":17983,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.getpropertyvalue(e",{"_index":9892,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["this.getprovisioningstrategy(oauthdata.system.provisioningstrategy",{"_index":18140,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.getprovisioningstrategy(system.provisioningstrategy",{"_index":18136,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.getreferencesfromposition(from",{"_index":8486,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.getrepository(tool",{"_index":18274,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.getrepository(tool).findbyuseridandtoolidorfail(user.id",{"_index":18269,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.getschoolname(externalschool",{"_index":17617,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.getseedfolder",{"_index":5193,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.getshorttitle",{"_index":7565,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.getsubmissionitems",{"_index":21327,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.getsubmittedsubmissions",{"_index":21346,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.getsubmitterids",{"_index":20709,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.gettargetfilters(userid",{"_index":16698,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.gettargetfolder(toseedfolder",{"_index":5281,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.gettasksitems",{"_index":6195,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["this.getteammemberids",{"_index":20703,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.geturl('create",{"_index":2389,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.geturl('end",{"_index":2410,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.geturl('getmeetinginfo",{"_index":2414,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.geturl('join",{"_index":2409,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.geturl(filesstorageinternalactions.downloadbysecuritytoken",{"_index":1334,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["this.geturl(filesstorageinternalactions.updatesecuritystatus",{"_index":1336,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["this.getuser(userid",{"_index":11215,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["this.getuserrole(user",{"_index":11337,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.getvideoconferenceoptions(scope",{"_index":24223,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["this.getydoc(docname",{"_index":22532,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.getydocfrommdb(docname",{"_index":22284,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.grade",{"_index":20677,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["this.gradecomment",{"_index":20679,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.graded",{"_index":4084,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"classes/TaskStatusResponse.html":{}}}],["this.gradelevel",{"_index":4628,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["this.grant_type",{"_index":1514,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["this.granttype",{"_index":14949,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.grid",{"_index":8476,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.delete(key",{"_index":8502,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.delete(this.gridindexfromposition(position",{"_index":8523,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.get(i",{"_index":8514,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.get(key",{"_index":8482,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.get(this.gridindexfromposition(position",{"_index":8483,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.keys()].foreach((key",{"_index":8495,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.keys()].map((key",{"_index":8480,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.set(index",{"_index":8513,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.set(this.gridindexfromposition(element.pos",{"_index":8478,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.set(this.gridindexfromposition(position",{"_index":8526,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.grid.values",{"_index":8508,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.gridelements",{"_index":8581,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["this.gridelements.set(props.gridelements",{"_index":8556,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["this.group.externalid",{"_index":19905,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{}}}],["this.groupelements",{"_index":8580,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["this.groupid",{"_index":8579,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["this.grouprepo.delete(group",{"_index":12953,"title":{},"body":{"injectables/GroupService.html":{}}}],["this.grouprepo.findbyexternalsource(externalid",{"_index":12948,"title":{},"body":{"injectables/GroupService.html":{}}}],["this.grouprepo.findbyid(id",{"_index":12946,"title":{},"body":{"injectables/GroupService.html":{}}}],["this.grouprepo.findbyuser(user",{"_index":12949,"title":{},"body":{"injectables/GroupService.html":{}}}],["this.grouprepo.findclassesforschool(schoolid",{"_index":12950,"title":{},"body":{"injectables/GroupService.html":{}}}],["this.grouprepo.save(group",{"_index":12952,"title":{},"body":{"injectables/GroupService.html":{}}}],["this.grouprule",{"_index":19306,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.groups.set(props.groups",{"_index":7531,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.groupservice.delete(group",{"_index":17697,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.groupservice.findbyexternalsource",{"_index":17657,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.groupservice.findbyuser(user",{"_index":17685,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.groupservice.save(group",{"_index":17672,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.groupuc.findallclasses",{"_index":12734,"title":{},"body":{"controllers/GroupController.html":{}}}],["this.groupuc.getgroup(currentuser.userid",{"_index":12741,"title":{},"body":{"controllers/GroupController.html":{}}}],["this.groupuser.externaluserid",{"_index":23391,"title":{},"body":{"classes/UserForGroupNotFoundLoggable.html":{}}}],["this.groupuser.rolename",{"_index":23392,"title":{},"body":{"classes/UserForGroupNotFoundLoggable.html":{}}}],["this.guest",{"_index":2271,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["this.guestpolicy",{"_index":2189,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["this.h",{"_index":6577,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.h5peditoruc.createh5pcontentgetmetadata",{"_index":13229,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.deleteh5pcontent(currentuser",{"_index":13216,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.getajax(query",{"_index":13205,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.getcontentfile",{"_index":13198,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.getcontentparameters(id",{"_index":13197,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.getemptyh5peditor(currentuser",{"_index":13220,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.geth5peditor",{"_index":13225,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.geth5pplayer(currentuser",{"_index":13179,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.getlibraryfile(params.ubername",{"_index":13192,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.gettemporaryfile",{"_index":13203,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.postajax(currentuser",{"_index":13214,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.h5peditoruc.saveh5pcontentgetmetadata",{"_index":13239,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["this.handlecolumnboardintegration(roomid",{"_index":19229,"title":{},"body":{"injectables/RoomsService.html":{}}}],["this.handlers",{"_index":16296,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["this.handlers.find((h",{"_index":16309,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["this.hasaccesstosubmission(user",{"_index":20946,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["this.haschangedparameternames(oldparams",{"_index":11155,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["this.haschangedparameterregex(newparams",{"_index":11156,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["this.haschangedparameterscope(newparams",{"_index":11158,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["this.haschangedparametertypes(newparams",{"_index":11157,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["this.haschangedrequiredparameters(oldparams",{"_index":11154,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["this.haschild(child",{"_index":3069,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["this.hascoursereadpermission(user",{"_index":19172,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["this.hascoursewritepermission(user",{"_index":19173,"title":{},"body":{"injectables/RoomsAuthorisationService.html":{}}}],["this.hasduplicateattributes(externaltool.parameters",{"_index":10516,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.hasnewrequiredparameter(oldparams",{"_index":11153,"title":{},"body":{"injectables/ExternalToolVersionIncrementService.html":{}}}],["this.hasparent",{"_index":3886,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["this.hasparentpermission(user",{"_index":21712,"title":{},"body":{"injectables/TaskRule.html":{}}}],["this.hasparenttaskreadaccess(user",{"_index":20951,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["this.hasparenttaskwriteaccess(user",{"_index":20950,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["this.haspath(req.route",{"_index":18753,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["this.haspermission(user",{"_index":1987,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["this.haspermissionbyreferences(userid",{"_index":1959,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["this.hasreadaccess(user",{"_index":20948,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["this.hasscanstatuswontcheck",{"_index":11840,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.hasschoolmigrated(school.externalid",{"_index":19999,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.haswriteaccess(user",{"_index":20947,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["this.headers",{"_index":2130,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["this.height",{"_index":4405,"title":{},"body":{"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"classes/CardResponse.html":{},"classes/CardSkeletonResponse.html":{}}}],["this.hidden",{"_index":3746,"title":{},"body":{"classes/BoardLessonResponse.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["this.host}${location",{"_index":13541,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.httpservice",{"_index":1165,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.httpservice.delete(`${configuration.get('tldraw_uri",{"_index":9610,"title":{},"body":{"injectables/DrawingElementAdapterService.html":{}}}],["this.httpservice.get(input.system.provisioningurl",{"_index":19545,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.httpservice.get(logourl",{"_index":10400,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["this.httpservice.get(url",{"_index":2411,"title":{},"body":{"injectables/BBBService.html":{},"injectables/HydraSsoService.html":{}}}],["this.httpservice.get(url.tostring",{"_index":4294,"title":{},"body":{"injectables/CalendarService.html":{}}}],["this.httpservice.post",{"_index":9030,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["this.httpservice.post(this.postdeletionexecutionsendpoint",{"_index":9050,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["this.httpservice.post(tokenendpoint",{"_index":16988,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["this.httpservice.post(url",{"_index":2395,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.httpservice.request",{"_index":14710,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.httpstatus",{"_index":10346,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{}}}],["this.hydracookies",{"_index":7114,"title":{},"body":{"classes/CookiesDto.html":{}}}],["this.hydrassoservice.generateconfig(oauthclientid",{"_index":13455,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.hydrassoservice.initauth(hydraoauthconfig",{"_index":13465,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.hydrassoservice.processredirect(dto",{"_index":13473,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.hydrauc.getoauthtoken(oauthclientid",{"_index":17507,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["this.hydrauc.requestauthcode(jwt",{"_index":17515,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["this.id",{"_index":458,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{},"classes/BaseDO.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardContextResponse.html":{},"classes/BoardLessonResponse.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/BoardResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/CardResponse.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ColumnResponse.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextRef.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"entities/Course.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DashboardResponse.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"classes/ExternalToolResponse.html":{},"classes/FileDto-1.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/GridElement.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupResponse.html":{},"classes/GroupUserResponse.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/IGridElement.html":{},"classes/LegacySchoolDo.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/LumiUserWithContentData.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymResponse.html":{},"classes/PublicSystemResponse.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"classes/ResolvedGroupDto.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RoleDto.html":{},"classes/RoleReference.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolInfoResponse.html":{},"classes/ScopeRef.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"classes/SystemDto.html":{},"classes/TargetInfoResponse.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"classes/UserDto.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UsersList.html":{}}}],["this.identifiername",{"_index":16828,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["this.idmoauthservice.getoauthconfig",{"_index":15383,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["this.idmoauthservice.isoauthconfigavailable",{"_index":15380,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["this.idmoauthservice.resourceownerpasswordgrant(username",{"_index":15705,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["this.idmreferenceid",{"_index":858,"title":{},"body":{"classes/AccountSaveDto.html":{}}}],["this.idmservice.findaccountbydbcaccountid(id.tostring",{"_index":660,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["this.idmservice.findaccountbyid(id",{"_index":658,"title":{},"body":{"injectables/AccountLookupService.html":{}}}],["this.idphint",{"_index":14945,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.idtoken",{"_index":16915,"title":{},"body":{"classes/OAuthTokenDto.html":{},"classes/OauthDataStrategyInputDto.html":{}}}],["this.idtokenservice.createidtoken(userid",{"_index":17248,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["this.imagemagick(original.data",{"_index":17932,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["this.imageurl",{"_index":15654,"title":{},"body":{"classes/LinkElementContent.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/LinkElementResponse.html":{},"classes/MetaTagExtractorResponse.html":{}}}],["this.importhash",{"_index":18704,"title":{},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"classes/UserDO.html":{}}}],["this.importuserid",{"_index":13964,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["this.importuserschoolid",{"_index":19917,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["this.info.appname",{"_index":1427,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["this.info.basepath",{"_index":1430,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["this.info.mountsdescription",{"_index":1432,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["this.info.port",{"_index":1428,"title":{},"body":{"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{}}}],["this.initializes3clientmap",{"_index":8927,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.injectenvvars(filecontent",{"_index":5266,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.injectenvvars(s",{"_index":5243,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.inmaintenancesince",{"_index":15194,"title":{},"body":{"classes/LegacySchoolDo.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["this.inner",{"_index":5983,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["this.inner.caninline",{"_index":5988,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["this.inner.content",{"_index":5989,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["this.inner.transform",{"_index":5990,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{}}}],["this.inputformat",{"_index":18888,"title":{},"body":{"classes/RichTextElementContent.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"classes/RichTextElementResponse.html":{}}}],["this.installlibraries(librariestoinstall.slice(0",{"_index":13386,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.installlibraries(this.librarywishlist",{"_index":13390,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.integration",{"_index":12497,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["this.internallinkmatatagservice.tryinternallinkmetatags(url",{"_index":16259,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["this.inusermigration",{"_index":15196,"title":{},"body":{"classes/LegacySchoolDo.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["this.invitationlink",{"_index":4625,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["this.isallowedaschild(child",{"_index":3064,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["this.isarchived",{"_index":20554,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["this.isauthenticationresponse(response.body",{"_index":1681,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{}}}],["this.isauthorizedstudent(userid",{"_index":20884,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["this.isautoparameterglobal(param",{"_index":10523,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isblocked",{"_index":11833,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.isclientidunique(externaltool",{"_index":11110,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["this.iscolumnboardfeatureflagactive",{"_index":9697,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.iscustomparameternameempty(param",{"_index":10518,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isdefaultvalueofvalidregex(param",{"_index":10533,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isdefaultvalueofvalidtype(param",{"_index":10532,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isdirectory",{"_index":11589,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.isdraft",{"_index":4085,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskStatusResponse.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.isfinished",{"_index":4087,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"classes/TaskStatusResponse.html":{}}}],["this.isfinishedforuser(user",{"_index":21352,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.isglobalparametervalid(param",{"_index":10520,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isgraceperiodexpired(userloginmigration",{"_index":23672,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.isgraded",{"_index":20713,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["this.isgradedforuser(user",{"_index":21356,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.isgroup",{"_index":8457,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.ishidden",{"_index":8154,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.isinternalurl(url",{"_index":16301,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["this.islatest(contextexternaltool",{"_index":6050,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["this.islatest(schoolexternaltool",{"_index":6049,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["this.islocal",{"_index":8139,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.ismigrationactive(userloginmigration",{"_index":16342,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["this.isnameunique(externaltool",{"_index":10513,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isoauthprovisioningenabledforschool(officialschoolnumber",{"_index":16889,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.isobjectempty(group",{"_index":19564,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.isobjectempty(relation",{"_index":19561,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.isoptional",{"_index":8210,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{}}}],["this.isoutdatedonscopecontext",{"_index":6665,"title":{},"body":{"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ToolStatusOutdatedLoggableException.html":{}}}],["this.isoutdatedonscopeschool",{"_index":6663,"title":{},"body":{"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/ToolStatusOutdatedLoggableException.html":{}}}],["this.ispending",{"_index":11838,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.ispreviewpossible",{"_index":11835,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.ispropertyprivacyprotected(e.target",{"_index":9899,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["this.isregexcommentmandatoryandfilled(param",{"_index":10527,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isregexvalid(param",{"_index":10530,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["this.isschoolnumberunique(school",{"_index":20076,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["this.isslash(inputpath",{"_index":1664,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["this.isslash(path",{"_index":1667,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{}}}],["this.issubmitted",{"_index":20697,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["this.issubmittedforuser(user",{"_index":21355,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.issubstitutionteacher",{"_index":4086,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"classes/TaskStatusResponse.html":{}}}],["this.issuer",{"_index":14958,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.isteacher",{"_index":9712,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.istemplate",{"_index":8137,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.istoolstatuslatestorthrow(userid",{"_index":22923,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.isuniqueemail(email",{"_index":1003,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["this.isupgradable",{"_index":4686,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{}}}],["this.isusermigrated(user",{"_index":16344,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["this.isuserreferenced(user",{"_index":1841,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["this.isusersubmitter(user",{"_index":20696,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.isusersubstitutionteacherincourse(user",{"_index":21353,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.isvaluevalidfortype(param.type",{"_index":6136,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["this.isverified",{"_index":11809,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.joinpath(os.tmpdir",{"_index":12083,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["this.jwksendpoint",{"_index":14960,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.jwt",{"_index":16838,"title":{},"body":{"classes/OAuthProcessDto.html":{}}}],["this.jwtservice.sign(user",{"_index":1731,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["this.jwtvalidationadapter.addtowhitelist(user.accountid",{"_index":1734,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["this.jwtvalidationadapter.iswhitelisted(accountid",{"_index":14344,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["this.jwtvalidationadapter.removefromwhitelist(decodedjwt.accountid",{"_index":1739,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["this.kcadmin.callkcadminclient",{"_index":14552,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["this.kcadmin.getadminuser",{"_index":14875,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["this.kcadmin.getclientid",{"_index":14584,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.kcadmin.setpasswordpolicy",{"_index":14664,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.kcadmin.testkcconnection",{"_index":14660,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.kcadminclient",{"_index":14434,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.kcadminclient.auth(this.kcsettings.credentials",{"_index":14435,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.kcadminclient.callkcadminclient",{"_index":14740,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.kcadminclient.callkcadminclient()).users.del",{"_index":14776,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.kcadminclient.callkcadminclient()).users.find",{"_index":14773,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.kcadminclient.callkcadminclient()).users.findone",{"_index":14755,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["this.kcadminclient.setconfig",{"_index":14430,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.kcadminservice.getclientid",{"_index":14698,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.kcadminservice.getclientsecret",{"_index":14700,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.kcadminservice.getwellknownurl",{"_index":14694,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.kcadminservice.testkcconnection",{"_index":14707,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.kcsettings.baseurl}/realms/${this.kcsettings.realmname}/.well",{"_index":14436,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.kcsettings.clientid",{"_index":14439,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.kcsettings.credentials.username",{"_index":14438,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.kcsettings.realmname",{"_index":14449,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.key",{"_index":8119,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/StorageProviderEncryptedStringType.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["this.key).tostring",{"_index":20618,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["this.key).tostring(cryptojs.enc.utf8",{"_index":20621,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{},"injectables/SymetricKeyEncryptionService.html":{}}}],["this.keycloakconfigservice.configurebrokerflows",{"_index":14666,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.keycloakconfigservice.configureclient",{"_index":14665,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.keycloakconfigservice.configureidentityproviders",{"_index":14668,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.keycloakconfigservice.configurerealm",{"_index":14667,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.keycloakconfigurationuc.check",{"_index":4876,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.keycloakconfigurationuc.clean(options.pagesize",{"_index":4886,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.keycloakconfigurationuc.configure",{"_index":4901,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.keycloakconfigurationuc.migrate",{"_index":4911,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.keycloakconfigurationuc.seed",{"_index":4894,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.keycloakmanagementuc.check",{"_index":14813,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["this.keycloakmanagementuc.configure",{"_index":14814,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["this.keycloakmanagementuc.seed",{"_index":14815,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["this.keycloakmigrationservice.migrate(skip",{"_index":14663,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.keycloakseedservice.clean(pagesize",{"_index":14661,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.keycloakseedservice.seed",{"_index":14662,"title":{},"body":{"injectables/KeycloakConfigurationUc.html":{}}}],["this.keyvalue",{"_index":1763,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["this.language",{"_index":6563,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"interfaces/UserProperties.html":{}}}],["this.lastauthorizationtime",{"_index":14452,"title":{},"body":{"injectables/KeycloakAdministrationService.html":{}}}],["this.lastloginsystemchange",{"_index":23173,"title":{},"body":{"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"interfaces/UserProperties.html":{}}}],["this.lastmodifytimestamp",{"_index":14972,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.lastname",{"_index":11191,"title":{},"body":{"classes/ExternalUserDto.html":{},"classes/GroupUserResponse.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserResponse.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDataResponse.html":{},"classes/UserDto.html":{},"classes/UserInfoResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{}}}],["this.lastnamesearchvalues",{"_index":23250,"title":{},"body":{"classes/UserDO.html":{}}}],["this.lastsuccessfulfullsync",{"_index":14968,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.lastsuccessfulpartialsync",{"_index":14970,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.lastsyncattempt",{"_index":14966,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.lasttriedfailedlogin",{"_index":246,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{}}}],["this.lastupdatedat",{"_index":22224,"title":{},"body":{"classes/TimestampsResponse.html":{}}}],["this.launch_presentation_locale",{"_index":15889,"title":{},"body":{"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{}}}],["this.ldapactive",{"_index":21109,"title":{},"body":{"classes/SystemDto.html":{}}}],["this.ldapconfig",{"_index":15020,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.ldapdn",{"_index":4630,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"interfaces/UserProperties.html":{}}}],["this.ldapdn?.match(pattern_login_from_dn",{"_index":13851,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["this.ldapencryptionservice.encrypt",{"_index":5355,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.ldapservice.checkldapcredentials(system",{"_index":15097,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.legacylogger.debug",{"_index":10977,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.legacylogger.warn",{"_index":20009,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.legacysystemservice.findbyid(id",{"_index":21247,"title":{},"body":{"injectables/SystemUc.html":{}}}],["this.legacysystemservice.findbytype(systemtypeenum.oauth",{"_index":21245,"title":{},"body":{"injectables/SystemUc.html":{}}}],["this.legacysystemservice.findbytype(type",{"_index":21246,"title":{},"body":{"injectables/SystemUc.html":{}}}],["this.legayschoolrule",{"_index":19300,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.lesson",{"_index":21292,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.lesson.hidden",{"_index":21363,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.lesson.name",{"_index":21362,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.lessoncopyservice.copylesson",{"_index":3337,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/LessonCopyUC.html":{},"injectables/ShareTokenUC.html":{}}}],["this.lessoncopyservice.updatecopiedembeddedtasks(elementcopystatus",{"_index":3364,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.lessoncopyuc.copylesson",{"_index":19213,"title":{},"body":{"controllers/RoomsController.html":{}}}],["this.lessonhidden",{"_index":21535,"title":{},"body":{"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{}}}],["this.lessonreadpermission(user",{"_index":15522,"title":{},"body":{"injectables/LessonRule.html":{}}}],["this.lessonrepo.delete(lesson",{"_index":15558,"title":{},"body":{"injectables/LessonService.html":{}}}],["this.lessonrepo.findallbycourseids(courseids",{"_index":15560,"title":{},"body":{"injectables/LessonService.html":{}}}],["this.lessonrepo.findbyid(lessonid",{"_index":15559,"title":{},"body":{"injectables/LessonService.html":{}}}],["this.lessonrepo.findbyuserid(userid",{"_index":15561,"title":{},"body":{"injectables/LessonService.html":{}}}],["this.lessonrepo.save(updatedlessons",{"_index":15566,"title":{},"body":{"injectables/LessonService.html":{}}}],["this.lessonrule",{"_index":19296,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.lessonrule.haspermission(user",{"_index":21715,"title":{},"body":{"injectables/TaskRule.html":{}}}],["this.lessonservice",{"_index":18636,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.lessonservice.deletelesson(lesson",{"_index":15575,"title":{},"body":{"injectables/LessonUC.html":{}}}],["this.lessonservice.findbycourseids([courseid",{"_index":5730,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["this.lessonservice.findbycourseids([originallesson.course.id",{"_index":15438,"title":{},"body":{"injectables/LessonCopyUC.html":{}}}],["this.lessonservice.findbycourseids([roomid",{"_index":19226,"title":{},"body":{"injectables/RoomsService.html":{}}}],["this.lessonservice.findbycourseids(readcourseids",{"_index":21856,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.lessonservice.findbycourseids(writecourseids",{"_index":21855,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.lessonservice.findbyid(id",{"_index":15580,"title":{},"body":{"injectables/LessonUrlHandler.html":{}}}],["this.lessonservice.findbyid(lessonid",{"_index":15430,"title":{},"body":{"injectables/LessonCopyUC.html":{},"injectables/LessonUC.html":{},"injectables/TaskCopyUC.html":{}}}],["this.lessonservice.findbyid(sharetoken.payload.parentid)).name",{"_index":20458,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.lessonservice.savelesson(lesson",{"_index":26043,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.lessonuc.delete(currentuser.userid",{"_index":15411,"title":{},"body":{"controllers/LessonController.html":{}}}],["this.lessonurlhandler",{"_index":16298,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["this.lessonwritepermission(user",{"_index":15523,"title":{},"body":{"injectables/LessonRule.html":{}}}],["this.level",{"_index":3880,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["this.library",{"_index":12512,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["this.libraryadministration",{"_index":13360,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.libraryadministration.getlibraries",{"_index":13388,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.librarymanager",{"_index":13355,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.librarystorage",{"_index":13356,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.librarystorage.deletelibrary(librariestocheck[lastpositionlibrariestocheckarray",{"_index":13374,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.librarywishlist",{"_index":13366,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.license",{"_index":6569,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"classes/Path.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["this.licenseextras",{"_index":6596,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.licenseversion",{"_index":6587,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.limit",{"_index":17743,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["this.listobjectkeysrecursive(params",{"_index":19411,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.loadaccount(username",{"_index":15088,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.loadaccounts",{"_index":14870,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["this.loadallcollectionsfromdatabase(folder",{"_index":5223,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.loadallcollectionsfromfilesystem(folder",{"_index":5222,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.loadcollectionsavailablefromsourceandfilterbycollectionnames",{"_index":5262,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.loader.loadauthorizableobject(entityname",{"_index":1962,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{}}}],["this.loadtoolhierarchy(schoolexternaltoolid",{"_index":22922,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.loadusers",{"_index":14869,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["this.localcookies",{"_index":7112,"title":{},"body":{"classes/CookiesDto.html":{}}}],["this.location",{"_index":8202,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalSchoolDto.html":{},"classes/PropertyData.html":{}}}],["this.logger",{"_index":20250,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["this.logger.alert(message",{"_index":9932,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["this.logger.crit(message",{"_index":9933,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["this.logger.debug",{"_index":4115,"title":{},"body":{"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/FilesStorageConsumer.html":{},"injectables/FilesStorageProducer.html":{},"injectables/S3ClientAdapter.html":{},"injectables/ShareTokenUC.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["this.logger.debug('[ldap",{"_index":15059,"title":{},"body":{"injectables/LdapService.html":{}}}],["this.logger.debug('usersearcindex",{"_index":5315,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.logger.debug(`adding",{"_index":16800,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.logger.debug(`contextexternaltool",{"_index":22727,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["this.logger.debug(`externaltool",{"_index":22785,"title":{},"body":{"controllers/ToolController.html":{}}}],["this.logger.debug(`removing",{"_index":16795,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.logger.debug(`schoolexternaltool",{"_index":23081,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.logger.debug(err",{"_index":15057,"title":{},"body":{"injectables/LdapService.html":{}}}],["this.logger.debug(message",{"_index":15736,"title":{},"body":{"injectables/Logger.html":{}}}],["this.logger.debug(new",{"_index":22570,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["this.logger.debug(this.createmessage(message",{"_index":15167,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["this.logger.emerg(message",{"_index":9931,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["this.logger.error('could",{"_index":10000,"title":{},"body":{"injectables/EtherpadService.html":{},"injectables/NexboardService.html":{}}}],["this.logger.error(`${err.message",{"_index":19369,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.logger.error(`migration",{"_index":14832,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["this.logger.error(`the",{"_index":8942,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.logger.error(err",{"_index":14816,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["this.logger.error(error",{"_index":8961,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.logger.error(loggable",{"_index":12591,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.logger.error(message",{"_index":9934,"title":{},"body":{"injectables/ErrorLogger.html":{}}}],["this.logger.error(this.createmessage(result",{"_index":15169,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["this.logger.http(logging",{"_index":18794,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["this.logger.info",{"_index":15108,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.logger.info(message",{"_index":15735,"title":{},"body":{"injectables/Logger.html":{}}}],["this.logger.info(new",{"_index":10403,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"injectables/NewsUc.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SanisResponseMapper.html":{},"injectables/StartUserLoginMigrationUc.html":{}}}],["this.logger.info(this.createmessage(message",{"_index":15165,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["this.logger.log",{"_index":8891,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/NextcloudStrategy.html":{}}}],["this.logger.log('before",{"_index":9754,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["this.logger.log('cleanup",{"_index":8897,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["this.logger.log(`${oauthconfig.authendpoint}?${query",{"_index":13529,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.logger.log(`...deleted",{"_index":14880,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["this.logger.log(`...migrated",{"_index":14833,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["this.logger.log(`after",{"_index":9756,"title":{},"body":{"injectables/DurationLoggingInterceptor.html":{}}}],["this.logger.log(`amount",{"_index":14878,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["this.logger.log(`initialized",{"_index":8949,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.logger.log(`migration",{"_index":14831,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["this.logger.log(`starting",{"_index":14876,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["this.logger.log(`stream",{"_index":19442,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.logger.log(axiosconfig",{"_index":13530,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.logger.log(localdto",{"_index":13552,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.logger.log(new",{"_index":25606,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["this.logger.notice(message",{"_index":15734,"title":{},"body":{"injectables/Logger.html":{}}}],["this.logger.notice(this.createmessage(message",{"_index":15168,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["this.logger.setcontext(`${context.getclass().name}::${context.gethandler().name",{"_index":18787,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{}}}],["this.logger.setcontext(boarduc.name",{"_index":4114,"title":{},"body":{"injectables/BoardUc.html":{}}}],["this.logger.setcontext(carduc.name",{"_index":4509,"title":{},"body":{"injectables/CardUc.html":{}}}],["this.logger.setcontext(collaborativestorageadapter.name",{"_index":4991,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["this.logger.setcontext(collaborativestoragecontroller.name",{"_index":5065,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["this.logger.setcontext(collaborativestorageservice.name",{"_index":5106,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.logger.setcontext(columnuc.name",{"_index":5659,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["this.logger.setcontext(databasemanagementuc.name",{"_index":5180,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.logger.setcontext(deletefilesconsole.name",{"_index":8890,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["this.logger.setcontext(deletefilesuc.name",{"_index":8926,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.logger.setcontext(drawingelementadapterservice.name",{"_index":9609,"title":{},"body":{"injectables/DrawingElementAdapterService.html":{}}}],["this.logger.setcontext(elementuc.name",{"_index":9814,"title":{},"body":{"injectables/ElementUc.html":{}}}],["this.logger.setcontext(filesstorageclientadapterservice.name",{"_index":12186,"title":{},"body":{"injectables/FilesStorageClientAdapterService.html":{}}}],["this.logger.setcontext(filesstorageconsumer.name",{"_index":12261,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["this.logger.setcontext(filesstorageproducer.name",{"_index":12353,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["this.logger.setcontext(fwulearningcontentsuc.name",{"_index":12483,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["this.logger.setcontext(hydraoauthuc.name",{"_index":13452,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.logger.setcontext(keycloakconsole.name",{"_index":4861,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.logger.setcontext(keycloakmanagementcontroller.name",{"_index":14811,"title":{},"body":{"controllers/KeycloakManagementController.html":{}}}],["this.logger.setcontext(keycloakmigrationservice.name",{"_index":14825,"title":{},"body":{"injectables/KeycloakMigrationService.html":{}}}],["this.logger.setcontext(ldapservice.name",{"_index":15043,"title":{},"body":{"injectables/LdapService.html":{}}}],["this.logger.setcontext(newsuc.name",{"_index":16670,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.logger.setcontext(nextcloudstrategy.name",{"_index":16756,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.logger.setcontext(oauthservice.name",{"_index":16879,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.logger.setcontext(oauthssocontroller.name",{"_index":17503,"title":{},"body":{"controllers/OauthSSOController.html":{}}}],["this.logger.setcontext(previewgeneratorconsumer.name",{"_index":17876,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["this.logger.setcontext(previewgeneratorservice.name",{"_index":17918,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["this.logger.setcontext(previewproducer.name",{"_index":17948,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["this.logger.setcontext(previewservice.name",{"_index":17972,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.logger.setcontext(restartuserloginmigrationuc.name",{"_index":18834,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{}}}],["this.logger.setcontext(s3clientadapter.name",{"_index":19365,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["this.logger.setcontext(sharetokenuc.name",{"_index":20489,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.logger.setcontext(startuserloginmigrationuc.name",{"_index":20586,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["this.logger.setcontext(youruc.name",{"_index":25604,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["this.logger.warn",{"_index":16813,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.logger.warn('no",{"_index":21022,"title":{},"body":{"injectables/SymetricKeyEncryptionService.html":{}}}],["this.logger.warn(`boardcopyservice",{"_index":3330,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.logger.warn(`could",{"_index":17979,"title":{},"body":{"injectables/PreviewService.html":{},"injectables/S3ClientAdapter.html":{}}}],["this.logger.warn(`placeholder",{"_index":5342,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.logger.warn(err",{"_index":3311,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.logger.warning",{"_index":19994,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.logger.warning(message",{"_index":15733,"title":{},"body":{"injectables/Logger.html":{}}}],["this.logger.warning(new",{"_index":17929,"title":{},"body":{"injectables/PreviewGeneratorService.html":{},"injectables/UserMigrationService.html":{}}}],["this.logger.warning(this.createmessage(message",{"_index":15166,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["this.loginname",{"_index":13966,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["this.loginuc.getlogindata(user",{"_index":15805,"title":{},"body":{"controllers/LoginController.html":{}}}],["this.logo",{"_index":10089,"title":{},"body":{"classes/ExternalTool.html":{},"classes/ExternalToolLogo.html":{},"interfaces/ExternalToolProps.html":{}}}],["this.logo_url",{"_index":8123,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.logobase64",{"_index":10302,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["this.logourl",{"_index":6697,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolResponse.html":{},"classes/County.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceResponse.html":{}}}],["this.logoutendpoint",{"_index":14956,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.logoutflowuc.logoutflow(params.challenge",{"_index":17336,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.logouturl",{"_index":2185,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.lookuptoken(token",{"_index":20454,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.lti_message_type",{"_index":8125,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.lti_version",{"_index":8127,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.ltirepo.findbyoauthclientid(oauthclientid",{"_index":13564,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.ltitoolrepo.findbyclientidandislocal(clientid",{"_index":16053,"title":{},"body":{"injectables/LtiToolService.html":{}}}],["this.ltitoolrepo.findbyname(this.client.oidcinternalname",{"_index":16811,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.ltitoolservice.findbyclientidandislocal(clientid",{"_index":17369,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["this.machinename",{"_index":11627,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.mainlibrary",{"_index":6565,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["this.majorversion",{"_index":11628,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.manageclientsconnections",{"_index":24395,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.mandatory",{"_index":23558,"title":{},"body":{"classes/UserLoginMigrationMandatoryLoggable.html":{}}}],["this.mandatorysince",{"_index":23521,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["this.mapbasictoolconfigdotoentity(entitydo.config",{"_index":10724,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.mapbasictoolconfigdotoresponse(externaltool.config",{"_index":10884,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["this.mapbasictoolconfigtodo(entity.config",{"_index":10699,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.mapboardelements(board",{"_index":19097,"title":{},"body":{"injectables/RoomBoardResponseMapper.html":{}}}],["this.mapcolumnboardelement(element",{"_index":9708,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.mapcontenttoresource(lesson.id",{"_index":5739,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["this.mapcontexttypetodotype(entity.contexttype",{"_index":6850,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["this.mapcontexttypetoentitytype(entitydo.contextref.type",{"_index":6855,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["this.mapcourseteacherstocopyrightowners(course",{"_index":5723,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{}}}],["this.mapcourseuserstousergroup(course",{"_index":3417,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["this.mapcustomparameterdostoentities(entitydo.parameters",{"_index":10731,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.mapcustomparameterstodos(entity.parameters",{"_index":10706,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.mapcustomparametertoresponse",{"_index":10887,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["this.mapdomainobjecttoentityproperties(domainobject",{"_index":10609,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["this.mapdotoentityproperties(domainobject",{"_index":2488,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.mapelementtoentity(e",{"_index":8668,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.mapentitytodo(entity",{"_index":2516,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/LtiToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"injectables/UserDORepo.html":{},"injectables/VideoConferenceRepo.html":{}}}],["this.mapentitytodo(school",{"_index":15251,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["this.mapentitytodo(schools[0",{"_index":15255,"title":{},"body":{"injectables/LegacySchoolRepo.html":{}}}],["this.mapentitytodo(user",{"_index":23298,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["this.mapentitytodo(userentity",{"_index":23295,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["this.mapentitytodo(userloginmigration",{"_index":23594,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["this.mapentitytodomainobject(entities",{"_index":10615,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{}}}],["this.mapentitytodomainobject(entity",{"_index":10602,"title":{},"body":{"injectables/ExternalToolPseudonymRepo.html":{},"injectables/PseudonymsRepo.html":{}}}],["this.mapexternalgroup(source",{"_index":19623,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["this.mapexternalsourceentitytoexternalsource(entity.externalsource",{"_index":12789,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["this.mapexternalsourcetoexternalsourceentity(props.externalsource",{"_index":12778,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["this.mapfromdtotoresponse(system",{"_index":21211,"title":{},"body":{"classes/SystemResponseMapper.html":{}}}],["this.mapfromentitytodto(entity",{"_index":19021,"title":{},"body":{"classes/RoleMapper.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{}}}],["this.mapgridelementtomodel(elementwithposition",{"_index":8695,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.mapgroupuserentitytogroupuser(groupuser",{"_index":12784,"title":{},"body":{"classes/GroupDomainMapper.html":{}}}],["this.mapldapconfigentitytodomainobject(entity.ldapconfig",{"_index":21095,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["this.maplessonelement(element",{"_index":9707,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.maplti11toolconfigdotoentity(entitydo.config",{"_index":10726,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.maplti11toolconfigdotoresponse(externaltool.config",{"_index":10885,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["this.maplti11toolconfigtodo(entity.config",{"_index":10701,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.mapoauth2configdotoentity(entitydo.config",{"_index":10725,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.mapoauth2configtodo(entity.config",{"_index":10700,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["this.mapoauth2toolconfigdotoresponse(externaltool.config",{"_index":10886,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["this.mapoauthconfigentitytodomainobject(entity.oauthconfig",{"_index":21093,"title":{},"body":{"classes/SystemDomainMapper.html":{}}}],["this.mapper.mapdashboardtoentity(dashboardmodel",{"_index":8731,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.mapper.mapdashboardtoentity(modelentity",{"_index":8727,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.mapper.mapdashboardtomodel(entity",{"_index":8725,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.mapper.mapdotoprovideroauthclient",{"_index":10966,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.mapper.maptoresponse(board",{"_index":19201,"title":{},"body":{"controllers/RoomsController.html":{}}}],["this.mappers.find((mapper",{"_index":6387,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["this.mappseudonymtouserdata(pseudonym",{"_index":11364,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.mapreferencetoentity(ref",{"_index":8660,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.mapreferencetomodel(ref",{"_index":8689,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.maprequesttobasictoolconfig(externaltoolcreateparams.config",{"_index":10822,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["this.maprequesttobasictoolconfig(externaltoolupdateparams.config",{"_index":10808,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["this.maprequesttocustomparameterdo",{"_index":10812,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["this.maprequesttocustomparameterentrydo(contextexternaltool.parameters",{"_index":6925,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["this.maprequesttocustomparameterentrydo(request.parameters",{"_index":6881,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{}}}],["this.maprequesttolti11toolconfigcreate(externaltoolcreateparams.config",{"_index":10823,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["this.maprequesttolti11toolconfigupdate(externaltoolupdateparams.config",{"_index":10809,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["this.maprequesttooauth2toolconfigcreate(externaltoolcreateparams.config",{"_index":10824,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["this.maprequesttooauth2toolconfigupdate(externaltoolupdateparams.config",{"_index":10810,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["this.mapsanisroletorolename(source",{"_index":19616,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["this.mapsubmissionitemtoresponse(item",{"_index":20845,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["this.maptaskelement(element",{"_index":9705,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.maptoclassinfotoresponse(classinfo",{"_index":12891,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["this.maptocontextexternaltoolconfigurationtemplateresponse(tool",{"_index":22692,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["this.maptocustomparameterentryresponse(schoolexternaltool.parameters",{"_index":19814,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["this.maptodo(entity",{"_index":4752,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{}}}],["this.maptoelementdtos(filtered",{"_index":9692,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.maptoentity(domainobject",{"_index":4754,"title":{},"body":{"classes/ClassMapper.html":{},"classes/DeletionLogMapper.html":{}}}],["this.maptoexternalgroupuser",{"_index":19627,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["this.maptoexternalgroupuser(relation",{"_index":19632,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["this.maptoresponse(element",{"_index":6392,"title":{},"body":{"classes/ContentElementResponseFactory.html":{}}}],["this.maptoschoolexternaltoolconfigurationtemplateresponse(tool",{"_index":22689,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["this.maptoschoolexternaltoolresponse(tooldo",{"_index":19811,"title":{},"body":{"injectables/SchoolExternalToolResponseMapper.html":{}}}],["this.maptotoolreferenceresponse(toolreference",{"_index":6930,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["this.mapuserstoresponse(user",{"_index":20847,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["this.match",{"_index":13973,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{}}}],["this.matchedby",{"_index":13859,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["this.matchsinglerule(selectedrules",{"_index":19311,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.materials.getitems",{"_index":6207,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["this.materials.isinitialized(true",{"_index":6206,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["this.materials.set(props.materials",{"_index":6187,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["this.max_redirects",{"_index":13476,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.maxexternaltoollogosizeinbytes",{"_index":10423,"title":{},"body":{"classes/ExternalToolLogoSizeExceededLoggableException.html":{}}}],["this.maxsubmissions",{"_index":4083,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"classes/TaskStatusResponse.html":{}}}],["this.mdb",{"_index":22276,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.mdb.flushdocument(docname",{"_index":22293,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.mdb.getydoc(docname",{"_index":22279,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.mdb.storeupdate(docname",{"_index":22282,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.meetingid",{"_index":2145,"title":{},"body":{"classes/BBBBaseMeetingConfig.html":{},"classes/BBBCreateConfig.html":{}}}],["this.mergeelementintoposition(elementtomove",{"_index":8488,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.merlinreference",{"_index":16156,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["this.message",{"_index":4202,"title":{},"body":{"classes/BusinessError.html":{},"classes/ErrorResponse.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/PreviewActionsLoggable.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["this.messagehandler(ws",{"_index":22537,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.metadata",{"_index":6622,"title":{},"body":{"classes/ContentMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["this.metadataprops.version",{"_index":5918,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["this.metadatasettings",{"_index":11701,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.metadescription",{"_index":6579,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.metakeywords",{"_index":6581,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.metatagextractorservice.getmetadata(url",{"_index":16284,"title":{},"body":{"injectables/MetaTagExtractorUc.html":{}}}],["this.metatagextractoruc.getmetadata(currentuser.userid",{"_index":16195,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["this.method",{"_index":18749,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["this.migrationcheckservice.shouldusermigrate",{"_index":16890,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.mimetype",{"_index":7192,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileDto.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"classes/H5pFileDto.html":{},"interfaces/ParentInfo.html":{}}}],["this.minorversion",{"_index":11629,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.moderatormustapprovejoinrequests",{"_index":23993,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["this.moderatorpw",{"_index":2191,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["this.modifiedcount",{"_index":9187,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["this.multiplecollections",{"_index":22273,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.name",{"_index":2183,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardTaskResponse.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/County.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterResponse.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupResponse.html":{},"interfaces/H5PContentParentParams.html":{},"classes/H5pFileDto.html":{},"entities/InstalledLibrary.html":{},"classes/LegacySchoolDo.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LibraryName.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/PropertyData.html":{},"classes/ResolvedGroupDto.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolInfoResponse.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"classes/TaskListResponse.html":{},"interfaces/TaskParent.html":{},"classes/TaskResponse.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"classes/UsersList.html":{},"classes/WsSharedDocDo.html":{}}}],["this.name.length",{"_index":7558,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.newsrepo.delete(news",{"_index":16694,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.newsrepo.findallpublished(targets",{"_index":16683,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.newsrepo.findallunpublishedbyuser(targets",{"_index":16682,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.newsrepo.findonebyid(id",{"_index":16686,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.newsrepo.save(news",{"_index":16676,"title":{},"body":{"injectables/NewsUc.html":{}}}],["this.newsuc.create",{"_index":16468,"title":{},"body":{"controllers/NewsController.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["this.newsuc.delete(urlparams.newsid",{"_index":16482,"title":{},"body":{"controllers/NewsController.html":{}}}],["this.newsuc.findallforuser",{"_index":16472,"title":{},"body":{"controllers/NewsController.html":{},"controllers/TeamNewsController.html":{}}}],["this.newsuc.findonebyidforuser(urlparams.newsid",{"_index":16477,"title":{},"body":{"controllers/NewsController.html":{}}}],["this.newsuc.update",{"_index":16478,"title":{},"body":{"controllers/NewsController.html":{}}}],["this.nowplusdays(options.expiresindays",{"_index":20499,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.numberofdrafttasks",{"_index":3748,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["this.numberofplannedtasks",{"_index":3749,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["this.numberofpublishedtasks",{"_index":3747,"title":{},"body":{"classes/BoardLessonResponse.html":{}}}],["this.oauthadapterservice.getpublickey(oauthconfig.jwksendpoint",{"_index":16903,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.oauthadapterservice.sendauthenticationcodetokenrequest",{"_index":16900,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.oauthclientid",{"_index":8144,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.oauthconfig",{"_index":15016,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/PublicSystemResponse.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.oauthencryptionservice.decrypt(clientsecret",{"_index":14709,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.oauthencryptionservice.decrypt(oauthconfig.clientsecret",{"_index":16906,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.oauthencryptionservice.encrypt(await",{"_index":14699,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["this.oauthencryptionservice.encrypt(tool.secret",{"_index":13573,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.oauthproviderloginflowservice.findtoolbyclientid",{"_index":17397,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.oauthproviderloginflowservice.findtoolbyclientid(clientid",{"_index":13728,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["this.oauthproviderloginflowservice.isnextcloudtool(tool",{"_index":17399,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.oauthproviderloginflowuc.getloginrequest(params.challenge",{"_index":17328,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderloginflowuc.patchloginrequest",{"_index":17331,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderresponsemapper.mapconsentresponse(consentrequest",{"_index":17342,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderresponsemapper.mapconsentsessionstoresponse(session",{"_index":17350,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderresponsemapper.maploginresponse(loginresponse",{"_index":17329,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderresponsemapper.mapoauthclientresponse(client",{"_index":17312,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderresponsemapper.mapredirectresponse(redirect",{"_index":17337,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderresponsemapper.mapredirectresponse(redirectresponse",{"_index":17333,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthproviderservice.acceptconsentrequest",{"_index":17250,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["this.oauthproviderservice.acceptloginrequest",{"_index":17405,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.oauthproviderservice.acceptlogoutrequest(challenge",{"_index":17416,"title":{},"body":{"injectables/OauthProviderLogoutFlowUc.html":{}}}],["this.oauthproviderservice.createoauth2client(datawithdefaults",{"_index":17213,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["this.oauthproviderservice.createoauth2client(oauthclient",{"_index":10967,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.oauthproviderservice.deleteoauth2client(id",{"_index":17215,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["this.oauthproviderservice.getconsentrequest(challenge",{"_index":17239,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["this.oauthproviderservice.getloginrequest(challenge",{"_index":17392,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.oauthproviderservice.getoauth2client",{"_index":10993,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.oauthproviderservice.getoauth2client(config.clientid",{"_index":11000,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.oauthproviderservice.getoauth2client(id",{"_index":17209,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["this.oauthproviderservice.listconsentsessions(userid",{"_index":17485,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["this.oauthproviderservice.listoauth2clients",{"_index":17208,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["this.oauthproviderservice.rejectconsentrequest",{"_index":17247,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["this.oauthproviderservice.rejectloginrequest",{"_index":17410,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.oauthproviderservice.revokeconsentsession(userid",{"_index":17486,"title":{},"body":{"injectables/OauthProviderUc.html":{}}}],["this.oauthproviderservice.updateoauth2client(id",{"_index":17214,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{}}}],["this.oauthproviderservice.updateoauth2client(loadedoauthclient.client_id",{"_index":10997,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.oauthprovideruc.listconsentsessions",{"_index":17348,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthprovideruc.revokeconsentsession(currentuser.userid",{"_index":17353,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["this.oauthservice.authenticateuser(systemid",{"_index":16930,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["this.oauthservice.authenticateuser(targetsystemid",{"_index":23709,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["this.oauthservice.provisionuser(systemid",{"_index":16931,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["this.oauthservice.requesttoken",{"_index":13457,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.oauthservice.validatetoken(oauthtokens.idtoken",{"_index":13459,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.officialschoolnumber",{"_index":10038,"title":{},"body":{"classes/ExternalSchoolDto.html":{},"classes/LegacySchoolDo.html":{},"entities/SchoolEntity.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["this.oidcconfig",{"_index":15018,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.oidcidentityprovidermapper.maptokeycloakidentityprovider(oidcconfig",{"_index":14624,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.oidcprovisioningservice.provisionexternalgroup",{"_index":17715,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["this.oidcprovisioningservice.provisionexternalschool(data.externalschool",{"_index":17707,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["this.oidcprovisioningservice.provisionexternaluser",{"_index":17709,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["this.oidcprovisioningservice.removeexternalgroupsandaffiliation",{"_index":17712,"title":{},"body":{"injectables/OidcProvisioningStrategy.html":{}}}],["this.on('update",{"_index":24393,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.openinnewtab",{"_index":22973,"title":{},"body":{"classes/ToolReference.html":{},"classes/ToolReferenceResponse.html":{}}}],["this.opennewtab",{"_index":8150,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["this.operation",{"_index":9185,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{}}}],["this.options",{"_index":9547,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["this.options.adminid",{"_index":1181,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.options.adminpassword",{"_index":1186,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.options.admintoken",{"_index":1182,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.options.adminuser",{"_index":1185,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.options.copyrightowners",{"_index":5844,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.options.creationyear",{"_index":5845,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.options.enabled",{"_index":1332,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["this.options.exchange",{"_index":1338,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["this.options.filesservicebaseurl",{"_index":1349,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["this.options.identifier",{"_index":5842,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.options.module",{"_index":22158,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["this.options.routingkey",{"_index":1339,"title":{},"body":{"injectables/AntivirusService.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{}}}],["this.options.title",{"_index":5843,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.options.uri",{"_index":1191,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.options.version",{"_index":5846,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.organization",{"_index":12817,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["this.organizationelements.map((organizationelement",{"_index":5972,"title":{},"body":{"classes/CommonCartridgeOrganizationWrapperElement.html":{}}}],["this.organizationid",{"_index":12874,"title":{},"body":{"classes/GroupResponse.html":{},"classes/ResolvedGroupDto.html":{}}}],["this.organizations.flatmap((organization",{"_index":5839,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.organizations.map((organization",{"_index":5837,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.organizations.push(organizationbuilder",{"_index":5833,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.origin",{"_index":14216,"title":{},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{}}}],["this.origintoolid",{"_index":8179,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/LtiToolDO.html":{}}}],["this.orm.close",{"_index":16396,"title":{},"body":{"modules/MongoMemoryDatabaseModule.html":{}}}],["this.orm.getschemagenerator().ensureindexes",{"_index":8875,"title":{},"body":{"injectables/DatabaseManagementService.html":{}}}],["this.otherusers",{"_index":10017,"title":{},"body":{"classes/ExternalGroupDto.html":{}}}],["this.outdatedsince",{"_index":23175,"title":{},"body":{"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"interfaces/UserProperties.html":{}}}],["this.ownedbyuserid",{"_index":13416,"title":{},"body":{"entities/H5pEditorTempFile.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["this.parameters",{"_index":6649,"title":{},"body":{"classes/ContextExternalTool.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["this.parameters.map((param",{"_index":16376,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["this.parametertype",{"_index":17750,"title":{},"body":{"classes/ParameterTypeNotImplementedLoggableException.html":{}}}],["this.params",{"_index":2084,"title":{},"body":{"classes/AxiosErrorFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/ShareTokenFactory.html":{}}}],["this.params(params",{"_index":577,"title":{},"body":{"classes/AccountFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LtiToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["this.parentid",{"_index":7188,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileDto-1.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/ShareTokenPayloadResponse.html":{}}}],["this.parentname",{"_index":20380,"title":{},"body":{"classes/ShareTokenInfoResponse.html":{}}}],["this.parentpermission(user",{"_index":15529,"title":{},"body":{"injectables/LessonRule.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.parents",{"_index":23177,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["this.parentsmap.get(card.id",{"_index":18570,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(column.id",{"_index":18569,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(columnboard.id",{"_index":18563,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(drawingelement.id",{"_index":18579,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(externaltoolelement.id",{"_index":18586,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(fileelement.id",{"_index":18571,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(linkelement.id",{"_index":18573,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(richtextelement.id",{"_index":18577,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(submissioncontainerelement.id",{"_index":18581,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.get(submissionitem.id",{"_index":18583,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsmap.set(child.id",{"_index":18593,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.parentsystemid",{"_index":17527,"title":{},"body":{"classes/OidcConfigDto.html":{}}}],["this.parenttitle",{"_index":16226,"title":{},"body":{"classes/MetaTagExtractorResponse.html":{}}}],["this.parenttype",{"_index":6616,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileDto-1.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"classes/MetaTagExtractorResponse.html":{},"interfaces/ParentInfo.html":{},"entities/ShareToken.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{}}}],["this.password",{"_index":236,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{}}}],["this.patchversion",{"_index":11680,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.path",{"_index":3878,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.path.split(path_separator).filter((id",{"_index":3889,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{}}}],["this.patterns",{"_index":137,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["this.patterns.some((pattern",{"_index":150,"title":{},"body":{"classes/AbstractUrlHandler.html":{}}}],["this.payload",{"_index":17827,"title":{},"body":{"classes/PreviewActionsLoggable.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenResponse.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["this.performedat",{"_index":9193,"title":{},"body":{"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{}}}],["this.permission",{"_index":9539,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceJoin.html":{}}}],["this.permissionmapper.mapbodytodto(permissionsdto",{"_index":5146,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["this.permissions",{"_index":11579,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"interfaces/RoleProperties.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["this.permissions.filter((permission",{"_index":11580,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.persistandflush(dashboard",{"_index":8733,"title":{},"body":{"injectables/DashboardRepo.html":{},"interfaces/IDashboardRepo.html":{}}}],["this.persistence",{"_index":22487,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.persistence.bindstate(docname",{"_index":22516,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.pickimage(data?.result?.ogimage",{"_index":16266,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["this.pin",{"_index":18700,"title":{},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{}}}],["this.pingtimeout",{"_index":22485,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.populate([task",{"_index":21605,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["this.populate(tasks",{"_index":21686,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["this.populateboard(board",{"_index":3952,"title":{},"body":{"injectables/BoardRepo.html":{}}}],["this.populatereferences([submission",{"_index":20918,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["this.populatereferences(submissions",{"_index":20919,"title":{},"body":{"injectables/SubmissionRepo.html":{}}}],["this.populateroles([teamuser.role",{"_index":22037,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["this.populateroles(role.roles.getitems",{"_index":22042,"title":{},"body":{"injectables/TeamsRepo.html":{}}}],["this.populateroles(user.roles.getitems",{"_index":23297,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["this.populateroles(userentity.roles.getitems",{"_index":23294,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["this.position",{"_index":3882,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["this.positionfromgridindex(key",{"_index":8481,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.post('/api/v1/logout",{"_index":1119,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.post('/api/v1/users.setstatus",{"_index":1114,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.post(path",{"_index":1159,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.addmoderator",{"_index":1137,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.archive",{"_index":1127,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.create",{"_index":1149,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.delete",{"_index":1151,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.invite",{"_index":1135,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.kick",{"_index":1131,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.removemoderator",{"_index":1139,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/groups.unarchive",{"_index":1123,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/users.create",{"_index":1153,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/users.createtoken",{"_index":1117,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postasadmin('/api/v1/users.delete",{"_index":1156,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.postdeletionexecutionsendpoint",{"_index":9028,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["this.postdeletionrequestsendpoint",{"_index":9025,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["this.preferences",{"_index":23171,"title":{},"body":{"entities/User.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"interfaces/UserProperties.html":{}}}],["this.preloadedcss",{"_index":11703,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.preloadeddependencies",{"_index":6571,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.preloadedjs",{"_index":11706,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.prepareawarenessmessage(changedclients",{"_index":24396,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.preparebbbcreateconfigbuilder(scope",{"_index":24136,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.previewgeneratorservice.generatepreview(payload",{"_index":17880,"title":{},"body":{"injectables/PreviewGeneratorConsumer.html":{}}}],["this.previewproducer.generate(payload",{"_index":17989,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.previewservice.deletepreviews(filerecords",{"_index":12271,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["this.previewstatus",{"_index":7197,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["this.previousexternalid",{"_index":15198,"title":{},"body":{"classes/LegacySchoolDo.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/User.html":{},"classes/UserDO.html":{},"interfaces/UserProperties.html":{}}}],["this.privacy_permission",{"_index":8133,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.private",{"_index":21291,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.proceedbuttonurl",{"_index":17727,"title":{},"body":{"classes/PageContentDto.html":{}}}],["this.processcookies(localdto.response.headers['set",{"_index":13545,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["this.processredirectcascade(initresponse",{"_index":13466,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.product",{"_index":4184,"title":{},"body":{"classes/Builder.html":{}}}],["this.product.allowmodstounmuteusers",{"_index":2239,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.product.attendeepw",{"_index":2237,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.product.guest",{"_index":2289,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["this.product.guestpolicy",{"_index":2225,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.product.logouturl",{"_index":2223,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.product.moderatorpw",{"_index":2235,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.product.muteonstart",{"_index":2226,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.product.role",{"_index":2290,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["this.product.userid",{"_index":2291,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["this.product.welcome",{"_index":2224,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.product['meta_bbb",{"_index":2227,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["this.properties",{"_index":22837,"title":{},"body":{"classes/ToolLaunchData.html":{}}}],["this.propertiestopopulate",{"_index":16592,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["this.props",{"_index":1771,"title":{},"body":{"interfaces/AuthorizableObject.html":{},"classes/ClassSourceOptions.html":{},"interfaces/ClassSourceOptionsProps.html":{},"classes/DomainObject.html":{}}}],["this.props.alternativetext",{"_index":11491,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["this.props.authtoken",{"_index":18934,"title":{},"body":{"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{}}}],["this.props.caption",{"_index":11489,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["this.props.children",{"_index":3061,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{}}}],["this.props.completed",{"_index":20801,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["this.props.context",{"_index":5394,"title":{},"body":{"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["this.props.contextexternaltoolid",{"_index":10260,"title":{},"body":{"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{}}}],["this.props.copyrightowners",{"_index":5951,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["this.props.createdat",{"_index":3062,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/Class.html":{},"interfaces/ClassProps.html":{},"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{},"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{}}}],["this.props.creationyear",{"_index":5950,"title":{},"body":{"classes/CommonCartridgeMetadataElement.html":{}}}],["this.props.deleteafter",{"_index":9323,"title":{},"body":{"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{}}}],["this.props.deletedcount",{"_index":9164,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["this.props.deletionrequestid",{"_index":9165,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["this.props.description",{"_index":5871,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["this.props.domain",{"_index":9161,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["this.props.duedate",{"_index":20719,"title":{},"body":{"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{}}}],["this.props.externalsource",{"_index":12693,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.props.gradelevel",{"_index":4584,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.height",{"_index":4313,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{}}}],["this.props.href",{"_index":5906,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["this.props.html",{"_index":5998,"title":{},"body":{"classes/CommonCartridgeWebContentResource.html":{}}}],["this.props.id",{"_index":1772,"title":{},"body":{"interfaces/AuthorizableObject.html":{},"classes/DomainObject.html":{}}}],["this.props.identifier",{"_index":5904,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["this.props.imageurl",{"_index":15645,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["this.props.inputformat",{"_index":18877,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["this.props.intendeduse",{"_index":5999,"title":{},"body":{"classes/CommonCartridgeWebContentResource.html":{}}}],["this.props.invitationlink",{"_index":4582,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.ldapconfig",{"_index":21030,"title":{},"body":{"classes/System.html":{},"interfaces/SystemProps.html":{}}}],["this.props.ldapdn",{"_index":4585,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.modifiedcount",{"_index":9163,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["this.props.name",{"_index":4578,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.props.operation",{"_index":9162,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["this.props.organizationid",{"_index":12694,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.props.performedat",{"_index":9166,"title":{},"body":{"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{}}}],["this.props.pseudonym",{"_index":18170,"title":{},"body":{"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{}}}],["this.props.rcid",{"_index":18933,"title":{},"body":{"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{}}}],["this.props.requireduserrole",{"_index":3391,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["this.props.resources.map",{"_index":5822,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.props.resources.map((content",{"_index":5961,"title":{},"body":{"classes/CommonCartridgeOrganizationItemElement.html":{}}}],["this.props.resources.push(props",{"_index":5827,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.props.schoolid",{"_index":4579,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.source",{"_index":4587,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.sourceoptions",{"_index":4588,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.sourceschoolid",{"_index":20067,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["this.props.status",{"_index":9325,"title":{},"body":{"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{}}}],["this.props.successor",{"_index":4586,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.targetrefdomain",{"_index":9322,"title":{},"body":{"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{}}}],["this.props.targetrefid",{"_index":9324,"title":{},"body":{"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{}}}],["this.props.targetschoolid",{"_index":20069,"title":{},"body":{"classes/SchoolSpecificFileCopyServiceImpl.html":{}}}],["this.props.teacherids",{"_index":4581,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.text",{"_index":18875,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["this.props.title",{"_index":4311,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["this.props.toolid",{"_index":18171,"title":{},"body":{"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{}}}],["this.props.tspuid",{"_index":4799,"title":{},"body":{"classes/ClassSourceOptions.html":{},"interfaces/ClassSourceOptionsProps.html":{}}}],["this.props.type",{"_index":5905,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.props.updatedat",{"_index":3063,"title":{},"body":{"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/Class.html":{},"interfaces/ClassProps.html":{},"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"interfaces/DeletionRequestProps.html":{},"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{}}}],["this.props.url",{"_index":5873,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["this.props.userid",{"_index":18172,"title":{},"body":{"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["this.props.userids",{"_index":4580,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.userids?.filter((userid1",{"_index":4589,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.props.username",{"_index":18932,"title":{},"body":{"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{}}}],["this.props.users",{"_index":3390,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"interfaces/UserBoardRoles.html":{}}}],["this.props.users.filter((groupuser",{"_index":12695,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.props.users.length",{"_index":12697,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.props.version",{"_index":5880,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["this.props.year",{"_index":4583,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["this.propsfactory",{"_index":2583,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.propsfactory.afterbuild(afterbuildfn",{"_index":2594,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.propsfactory.associations(associations",{"_index":2597,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.propsfactory.build(params",{"_index":2586,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.propsfactory.params(params",{"_index":2598,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.propsfactory.rewindsequence",{"_index":2600,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.propsfactory.transient(transient",{"_index":2599,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.propsfactory['sequence",{"_index":2607,"title":{},"body":{"classes/BaseFactory.html":{}}}],["this.provider",{"_index":14913,"title":{},"body":{"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.provideroptions",{"_index":14982,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.provisioningservice.getdata",{"_index":23711,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["this.provisioningservice.getdata(systemid",{"_index":16885,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.provisioningservice.provisiondata(data",{"_index":16892,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.provisioningstrategy",{"_index":15022,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/ProvisioningSystemDto.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.provisioningurl",{"_index":15024,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/ProvisioningSystemDto.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.pseudonym",{"_index":10564,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/TooManyPseudonymsLoggableException.html":{}}}],["this.pseudonymrepo",{"_index":18287,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.pseudonymrepo.deletepseudonymsbyuserid(userid",{"_index":18284,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.pseudonymrepo.findbyuserid(userid",{"_index":18281,"title":{},"body":{"injectables/PseudonymService.html":{}}}],["this.pseudonymservice",{"_index":16787,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.pseudonymservice.findbyuserandtoolorthrow(user",{"_index":13730,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["this.pseudonymservice.findorcreatepseudonym(user",{"_index":11366,"title":{},"body":{"injectables/FeathersRosterService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.pseudonymservice.findpseudonymbypseudonym(pseudonym",{"_index":11370,"title":{},"body":{"injectables/FeathersRosterService.html":{},"injectables/PseudonymUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.pseudonymservice.getiframesubject(loadedpseudonym.pseudonym",{"_index":11336,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.pseudonymservice.getiframesubject(pseudonym.pseudonym",{"_index":11385,"title":{},"body":{"injectables/FeathersRosterService.html":{},"injectables/IdTokenService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.pseudonymuc.findpseudonymbypseudonym(currentuser.userid",{"_index":18198,"title":{},"body":{"controllers/PseudonymController.html":{}}}],["this.publicsubmissions",{"_index":21296,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.published",{"_index":3026,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{},"entities/ColumnBoardTarget.html":{}}}],["this.publishedat",{"_index":24363,"title":{},"body":{"classes/VisibilitySettingsResponse.html":{}}}],["this.random(50",{"_index":3827,"title":{},"body":{"injectables/BoardManagementUc.html":{}}}],["this.rcid",{"_index":18943,"title":{},"body":{"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["this.read",{"_index":11742,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["this.reason",{"_index":11780,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/ParentInfo.html":{},"classes/ScanResultDto.html":{}}}],["this.redirect",{"_index":2273,"title":{},"body":{"classes/BBBJoinConfig.html":{},"classes/MigrationDto.html":{},"classes/OAuthProcessDto.html":{}}}],["this.redirect_to",{"_index":18603,"title":{},"body":{"classes/RedirectResponse.html":{}}}],["this.redirect_uri",{"_index":1512,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["this.redirecturi",{"_index":14951,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.redirecturis",{"_index":16941,"title":{},"body":{"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["this.redisclient",{"_index":20249,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["this.referencedentityid",{"_index":18662,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["this.referencedentityname",{"_index":18661,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["this.references",{"_index":8451,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.references.getitems",{"_index":2947,"title":{},"body":{"entities/Board.html":{}}}],["this.references.length",{"_index":8459,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.references.set(elements",{"_index":2951,"title":{},"body":{"entities/Board.html":{}}}],["this.references.set(newlist",{"_index":2985,"title":{},"body":{"entities/Board.html":{}}}],["this.references.set(onlyexistingreferences",{"_index":2974,"title":{},"body":{"entities/Board.html":{}}}],["this.references.set(props.references",{"_index":2940,"title":{},"body":{"entities/Board.html":{}}}],["this.references.set(references",{"_index":8545,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["this.referer",{"_index":13489,"title":{},"body":{"classes/HydraRedirectDto.html":{}}}],["this.refid",{"_index":11735,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["this.refownermodel",{"_index":11604,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.refpermmodel",{"_index":11737,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{}}}],["this.refreshtoken",{"_index":16917,"title":{},"body":{"classes/OAuthTokenDto.html":{}}}],["this.regex",{"_index":8206,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{}}}],["this.regexcomment",{"_index":8208,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{}}}],["this.region",{"_index":20636,"title":{},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["this.registerparentdata(parent",{"_index":18561,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.registerstrategy(iservstrategy",{"_index":18132,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.registerstrategy(oidcmockstrategy",{"_index":18133,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.registerstrategy(sanisstrategy",{"_index":18131,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.registrationpinrepo.deleteregistrationpinbyemail(email",{"_index":18726,"title":{},"body":{"injectables/RegistrationPinService.html":{}}}],["this.rejectconsentrequest(challenge",{"_index":17245,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["this.rejectloginrequest(challenge",{"_index":17394,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.rejectnothandled(card",{"_index":6453,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(column",{"_index":6452,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(columnboard",{"_index":6451,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(drawingelement",{"_index":6482,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(externaltoolelement",{"_index":6491,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(fileelement",{"_index":6459,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(linkelement",{"_index":6475,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(richtextelement",{"_index":6480,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(submission",{"_index":6486,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.rejectnothandled(submissioncontainerelement",{"_index":6485,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["this.relatedresources",{"_index":16158,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["this.relation.ktid",{"_index":12923,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["this.relation.rollen?.[0",{"_index":12925,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["this.removedeletedreferences(boardelementtargets",{"_index":2968,"title":{},"body":{"entities/Board.html":{}}}],["this.removeemptyobjectsfromresponse(axiosresponse.data",{"_index":19547,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.removefromposition(from",{"_index":8489,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.removeprotectedentityfields(entitydata",{"_index":2489,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.removeroomsnotinlist(rooms",{"_index":8490,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.removesecrets(collectionname",{"_index":5287,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.removesecretsfromstorageproviders(jsondocuments",{"_index":5369,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.removesecretsfromsystems(jsondocuments",{"_index":5368,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.repeatcommand",{"_index":4885,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["this.repo.delete(meta",{"_index":22108,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.repo.findallbyuserandfilename(user.id",{"_index":22109,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.repo.findallbyuserid(userid",{"_index":7929,"title":{},"body":{"injectables/CourseService.html":{}}}],["this.repo.findbyid(courseid",{"_index":7928,"title":{},"body":{"injectables/CourseService.html":{}}}],["this.repo.findbyowneruserid(userid",{"_index":12153,"title":{},"body":{"injectables/FilesService.html":{}}}],["this.repo.findbypermissionrefid(userid",{"_index":12148,"title":{},"body":{"injectables/FilesService.html":{}}}],["this.repo.findbyuser(user.id",{"_index":22121,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.repo.findbyuserandfilename(user.id",{"_index":22112,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.repo.findbyuserandfilename(userid",{"_index":22106,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.repo.findbyuserid(userid",{"_index":7771,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["this.repo.findexpired",{"_index":22122,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.repo.save(coursegroups",{"_index":7774,"title":{},"body":{"injectables/CourseGroupService.html":{}}}],["this.repo.save(courses",{"_index":7932,"title":{},"body":{"injectables/CourseService.html":{}}}],["this.repo.save(entities",{"_index":12152,"title":{},"body":{"injectables/FilesService.html":{}}}],["this.repos.get(type",{"_index":18647,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.repos.set(authorizablereferencetype.boardnode",{"_index":18643,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.repos.set(authorizablereferencetype.contextexternaltoolentity",{"_index":18645,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.repos.set(authorizablereferencetype.course",{"_index":18627,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.repos.set(authorizablereferencetype.coursegroup",{"_index":18629,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.repos.set(authorizablereferencetype.lesson",{"_index":18635,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.repos.set(authorizablereferencetype.school",{"_index":18633,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.repos.set(authorizablereferencetype.schoolexternaltoolentity",{"_index":18641,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.repos.set(authorizablereferencetype.submission",{"_index":18639,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.repos.set(authorizablereferencetype.task",{"_index":18625,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.repos.set(authorizablereferencetype.team",{"_index":18637,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.repos.set(authorizablereferencetype.user",{"_index":18631,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.request(filespreviewevents.generate_preview",{"_index":17950,"title":{},"body":{"injectables/PreviewProducer.html":{}}}],["this.request(filesstorageevents.copy_files_of_parent",{"_index":12355,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["this.request(filesstorageevents.delete_files_of_parent",{"_index":12361,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["this.request(filesstorageevents.list_files_of_parent",{"_index":12358,"title":{},"body":{"injectables/FilesStorageProducer.html":{}}}],["this.request.app.get('feathersapp",{"_index":11404,"title":{},"body":{"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{}}}],["this.requestid",{"_index":9450,"title":{},"body":{"classes/DeletionRequestResponse.html":{}}}],["this.requestmapper.mapschoolexternaltoolrequest(body",{"_index":23078,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.requesttimeout",{"_index":22218,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["this.requesttoken",{"_index":11782,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/ParentInfo.html":{}}}],["this.requesttoken(authcode",{"_index":16883,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.requiredextensions",{"_index":11709,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.resizeandconvert(original",{"_index":17922,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["this.resolvepermissions(user",{"_index":17806,"title":{},"body":{"injectables/PermissionService.html":{}}}],["this.resolvepermissionsbyroles(innerroles",{"_index":17804,"title":{},"body":{"injectables/PermissionService.html":{}}}],["this.resolvepermissionsbyroles(user.roles.getitems",{"_index":17802,"title":{},"body":{"injectables/PermissionService.html":{}}}],["this.resolveplaceholder(placeholder.substring(2",{"_index":5333,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["this.resolverepo(objectname",{"_index":18649,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.resolvetokenrequest(responsetokenobservable",{"_index":16990,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["this.resource_link_id",{"_index":8129,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.resourceelements.map((resourceelement",{"_index":5993,"title":{},"body":{"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["this.resourceid",{"_index":16829,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["this.resourcename",{"_index":16827,"title":{},"body":{"classes/NotFoundLoggableException.html":{}}}],["this.resources.push(resource",{"_index":5836,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.response",{"_index":1104,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/HydraRedirectDto.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.responsemapper.maptoexternalgroupdtos(axiosresponse.data",{"_index":19553,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.responsemapper.maptoexternalschooldto(axiosresponse.data",{"_index":19552,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.responsemapper.maptoexternaluserdto(axiosresponse.data",{"_index":19550,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["this.responsemapper.maptoschoolexternaltoolresponse(createdschoolexternaltooldo",{"_index":23086,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.responsemapper.maptoschoolexternaltoolresponse(schoolexternaltool",{"_index":23076,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.responsemapper.maptoschoolexternaltoolresponse(updated",{"_index":23080,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.responsemapper.maptosearchlistresponse(found",{"_index":23073,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.responsetype",{"_index":14952,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.restartuserloginmigrationuc.restartmigration",{"_index":23494,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["this.restricted",{"_index":11712,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.restricttocontexts",{"_index":10099,"title":{},"body":{"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{}}}],["this.resultmap.get(child.id",{"_index":18476,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.resultmap.get(original.id",{"_index":18427,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.resultmap.set(original.id",{"_index":18433,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.rocketchatuserrepo.deletebyuserid(userid",{"_index":18991,"title":{},"body":{"injectables/RocketChatUserService.html":{}}}],["this.rocketchatuserrepo.findbyuserid(userid",{"_index":18990,"title":{},"body":{"injectables/RocketChatUserService.html":{}}}],["this.role",{"_index":2268,"title":{},"body":{"classes/BBBJoinConfig.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"classes/ResolvedGroupUser.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["this.roleid",{"_index":12993,"title":{},"body":{"classes/GroupUser.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{}}}],["this.roleids",{"_index":23364,"title":{},"body":{"classes/UserDto.html":{}}}],["this.rolename",{"_index":10029,"title":{},"body":{"classes/ExternalGroupUserDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["this.rolenames",{"_index":13968,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["this.rolenames.push(...props.rolenames",{"_index":13839,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["this.rolerepo.findbyid(id",{"_index":19070,"title":{},"body":{"injectables/RoleService.html":{}}}],["this.rolerepo.findbyids(ids",{"_index":19072,"title":{},"body":{"injectables/RoleService.html":{}}}],["this.rolerepo.findbynames(names",{"_index":19074,"title":{},"body":{"injectables/RoleService.html":{}}}],["this.roles",{"_index":8131,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/ExternalUserDto.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/UserDO.html":{}}}],["this.roles.getitems",{"_index":19001,"title":{},"body":{"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["this.roles.isinitialized(true",{"_index":18999,"title":{},"body":{"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["this.roles.set(props.roles",{"_index":18998,"title":{},"body":{"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["this.roleservice.findbyid(roleid",{"_index":5114,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.roleservice.findbynames([externalgroupuser.rolename",{"_index":17679,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.roleservice.findbynames(externaluser.roles",{"_index":17631,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.roleservice.findbynames(names",{"_index":19080,"title":{},"body":{"injectables/RoleUc.html":{}}}],["this.roleservice.getprotectedroles",{"_index":23937,"title":{},"body":{"injectables/UserService.html":{}}}],["this.room",{"_index":9686,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.room.color",{"_index":9733,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.room.id",{"_index":9732,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.room.isfinished",{"_index":9736,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.room.name",{"_index":9734,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.room.substitutionteachers.contains(this.user",{"_index":9703,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.room.teachers.contains(this.user",{"_index":9702,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.roomid",{"_index":20553,"title":{},"body":{"classes/SingleColumnBoardResponse.html":{}}}],["this.roomsauthorisationservice",{"_index":9689,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.roomsauthorisationservice.haslessonreadpermission(this.user",{"_index":9696,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.roomsauthorisationservice.hastaskreadpermission(this.user",{"_index":9695,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.roomsservice.updateboard(board",{"_index":19254,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["this.roomsservice.updateboard(originalboard",{"_index":7632,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["this.roomsuc.getboard(urlparams.roomid",{"_index":19200,"title":{},"body":{"controllers/RoomsController.html":{}}}],["this.roomsuc.reorderboardelements(urlparams.roomid",{"_index":19206,"title":{},"body":{"controllers/RoomsController.html":{}}}],["this.roomsuc.updatevisibilityofboardelement",{"_index":19202,"title":{},"body":{"controllers/RoomsController.html":{}}}],["this.rootpath",{"_index":14975,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.routepath",{"_index":18754,"title":{},"body":{"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{}}}],["this.rulemanager.selectrule(user",{"_index":1990,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["this.rules",{"_index":19293,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.rules.filter((rule",{"_index":19309,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.runnable",{"_index":11682,"title":{},"body":{"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.s3client.delete([this.getfilepath(userid",{"_index":22107,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.s3client.get(path",{"_index":22116,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["this.s3clientmap.get(storageprovider.id",{"_index":8967,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.s3clientmap.set(provider.id",{"_index":8947,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.s3clientmap.size",{"_index":8950,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.salt",{"_index":2421,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.save(entity",{"_index":15614,"title":{},"body":{"injectables/LibraryRepo.html":{}}}],["this.save(this.create(course",{"_index":7888,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["this.save(this.create(lesson",{"_index":15488,"title":{},"body":{"injectables/LessonRepo.html":{}}}],["this.save(this.create(task",{"_index":21604,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["this.saveall([domainobject",{"_index":2481,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["this.saverecursive(boardnode",{"_index":18568,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.school",{"_index":7515,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{}}}],["this.school.externalid",{"_index":19907,"title":{},"body":{"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{}}}],["this.school.id",{"_index":13858,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.school.previousexternalid",{"_index":20025,"title":{},"body":{"classes/SchoolMigrationSuccessfulLoggable.html":{}}}],["this.schoolexternaltoolcount",{"_index":10434,"title":{},"body":{"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataResponse.html":{}}}],["this.schoolexternaltoolid",{"_index":6694,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{}}}],["this.schoolexternaltoolmetadataservice.getmetadata",{"_index":19887,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["this.schoolexternaltoolrepo",{"_index":18642,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.schoolexternaltoolrepo.deletebyexternaltoolid(toolid",{"_index":10988,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.schoolexternaltoolrepo.deletebyid(schoolexternaltoolid",{"_index":19854,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.schoolexternaltoolrepo.find",{"_index":19844,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.schoolexternaltoolrepo.findbyexternaltoolid(toolid",{"_index":10986,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.schoolexternaltoolrepo.findbyid(schoolexternaltoolid",{"_index":19843,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.schoolexternaltoolrepo.save(schoolexternaltool",{"_index":19856,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.schoolexternaltoolrule",{"_index":19302,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.schoolexternaltoolservice.deleteschoolexternaltoolbyid(schoolexternaltoolid",{"_index":19885,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["this.schoolexternaltoolservice.findbyid",{"_index":7017,"title":{},"body":{"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/FeathersRosterService.html":{},"injectables/ToolReferenceService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.schoolexternaltoolservice.findbyid(schoolexternaltoolid",{"_index":10228,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/ToolLaunchService.html":{}}}],["this.schoolexternaltoolservice.findschoolexternaltools",{"_index":10208,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/FeathersRosterService.html":{},"injectables/SchoolExternalToolUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.schoolexternaltoolservice.saveschoolexternaltool",{"_index":19883,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["this.schoolexternaltoolservice.saveschoolexternaltool(updated",{"_index":19886,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["this.schoolexternaltooluc.createschoolexternaltool",{"_index":23085,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.schoolexternaltooluc.deleteschoolexternaltool(currentuser.userid",{"_index":23083,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.schoolexternaltooluc.findschoolexternaltools(currentuser.userid",{"_index":23071,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.schoolexternaltooluc.getmetadataforschoolexternaltool(currentuser.userid",{"_index":23088,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.schoolexternaltooluc.getschoolexternaltool",{"_index":23075,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.schoolexternaltooluc.updateschoolexternaltool",{"_index":23079,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["this.schoolexternaltoolvalidationservice.validate(schoolexternaltool",{"_index":19882,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{},"injectables/ToolVersionService.html":{}}}],["this.schoolexternaltoolvalidationservice.validate(tool",{"_index":19852,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["this.schoolid",{"_index":4618,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/ParentInfo.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"classes/UserDO.html":{},"classes/UserDto.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{}}}],["this.schoolmigrationservice.getschoolformigration",{"_index":23715,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["this.schoolmigrationservice.hasschoolmigrateduser(schoolid",{"_index":4945,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{}}}],["this.schoolmigrationservice.markunmigratedusersasoutdated(updateduserloginmigration",{"_index":4947,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{}}}],["this.schoolmigrationservice.migrateschool",{"_index":23717,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["this.schoolmigrationservice.unmarkoutdatedusers(updateduserloginmigration",{"_index":18836,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{}}}],["this.schoolname",{"_index":19927,"title":{},"body":{"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{}}}],["this.schoolnumber_prefix_regex",{"_index":19610,"title":{},"body":{"injectables/SanisResponseMapper.html":{}}}],["this.schoolparameters",{"_index":19715,"title":{},"body":{"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{}}}],["this.schoolrepo",{"_index":18634,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.schoolrepo.findbyexternalid(externalid",{"_index":15312,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["this.schoolrepo.findbyid(id",{"_index":15311,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["this.schoolrepo.findbyid(schoolid",{"_index":15084,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/LegacySchoolService.html":{}}}],["this.schoolrepo.findbyschoolnumber(school.officialschoolnumber",{"_index":20079,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["this.schoolrepo.findbyschoolnumber(schoolnumber",{"_index":15313,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["this.schoolrepo.save(school",{"_index":15310,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["this.schoolrule.haspermission(user",{"_index":26053,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.schoolservice.getschool(params.schoolid",{"_index":26037,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.schoolservice.getschoolbyexternalid",{"_index":17614,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.schoolservice.getschoolbyid(ldapuser.schoolid",{"_index":14275,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["this.schoolservice.getschoolbyid(pseudonymuser.school.id",{"_index":18301,"title":{},"body":{"injectables/PseudonymUc.html":{}}}],["this.schoolservice.getschoolbyid(schoolexternaltool.schoolid",{"_index":2071,"title":{},"body":{"injectables/AutoSchoolNumberStrategy.html":{},"injectables/ToolPermissionHelper.html":{}}}],["this.schoolservice.getschoolbyid(schoolid",{"_index":20591,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["this.schoolservice.getschoolbyid(user.schoolid",{"_index":19996,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.schoolservice.getschoolbyschoolnumber(officialschoolnumber",{"_index":16339,"title":{},"body":{"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{}}}],["this.schoolservice.removefeature",{"_index":23667,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.schoolservice.removefeature(userloginmigration.schoolid",{"_index":23623,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{}}}],["this.schoolservice.save(originalschooldo",{"_index":19993,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.schoolservice.save(school",{"_index":17626,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"injectables/SchoolMigrationService.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.schoolservice.save(schooldo",{"_index":23662,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.schooltool",{"_index":6736,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{}}}],["this.schooltoolid",{"_index":6898,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalToolRefDO.html":{}}}],["this.schooltoolref",{"_index":6643,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{}}}],["this.schooltoolrepo.findbyexternaltoolid(toolid",{"_index":10462,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{}}}],["this.schoolvalidationservice.validate(school",{"_index":15314,"title":{},"body":{"injectables/LegacySchoolService.html":{}}}],["this.schoolyear",{"_index":4684,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/LegacySchoolDo.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["this.schoolyearrepo.findbyid(id",{"_index":20104,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["this.schoolyearrepo.findcurrentyear",{"_index":20103,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["this.schoolyearservice.getcurrentschoolyear",{"_index":17621,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.scope",{"_index":8204,"title":{},"body":{"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/LdapConfigEntity.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"classes/ScopeRef.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.scripts",{"_index":12499,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["this.searchbyusername(username",{"_index":782,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["this.searchuser",{"_index":14977,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.searchuserpassword",{"_index":14979,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.secret",{"_index":8121,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{}}}],["this.secretaccesskey",{"_index":20634,"title":{},"body":{"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{}}}],["this.secretvalue",{"_index":1765,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["this.securitycheck",{"_index":11598,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.securitycheck.reason",{"_index":11802,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.securitycheck.requesttoken",{"_index":11804,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.securitycheck.status",{"_index":11801,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.securitycheck.updatedat",{"_index":11803,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["this.securitycheckstatus",{"_index":7186,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["this.selectconfigureaction(newconfigs",{"_index":14594,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.send(doc",{"_index":22513,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.sendawarenessmessage(buff",{"_index":24397,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.sendhttpresponse(error",{"_index":12593,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["this.service.createteam(team",{"_index":5148,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["this.service.deleteteam(teamid",{"_index":5147,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["this.service.updateteam(team",{"_index":5149,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["this.service.updateteampermissionsforrole",{"_index":5143,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["this.setmatch(props.user",{"_index":13844,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["this.share",{"_index":21949,"title":{},"body":{"classes/TeamPermissionsDto.html":{}}}],["this.sharetokenrepo.findonebytoken(token",{"_index":20452,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.sharetokenrepo.save(sharetoken",{"_index":20451,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.sharetokens",{"_index":11600,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.sharetokenservice.createtoken(payload",{"_index":20500,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.sharetokenservice.lookuptoken(token",{"_index":20505,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.sharetokenservice.lookuptokenwithparentname(token",{"_index":20501,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["this.sharetokenuc.createsharetoken",{"_index":20330,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["this.sharetokenuc.importsharetoken",{"_index":20341,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["this.sharetokenuc.lookupsharetoken(currentuser.userid",{"_index":20337,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["this.shorttitle",{"_index":7793,"title":{},"body":{"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["this.shouldskipconsent(tool",{"_index":17403,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["this.size",{"_index":7184,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"entities/H5pEditorTempFile.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"interfaces/TemporaryFileProperties.html":{}}}],["this.skip",{"_index":17742,"title":{},"body":{"classes/PaginationResponse.html":{}}}],["this.skipconsent",{"_index":8148,"title":{},"body":{"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["this.sortbyoriginalorder(resolved",{"_index":3336,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.source",{"_index":4634,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ContentMetadata.html":{},"entities/CourseNews.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["this.sourcedescription",{"_index":7839,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["this.sourceentityid",{"_index":18664,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["this.sourceentityname",{"_index":18663,"title":{},"body":{"classes/ReferencedEntityNotFoundLoggable.html":{}}}],["this.sourceid",{"_index":7167,"title":{},"body":{"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{}}}],["this.sourceoptions",{"_index":4636,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["this.sourceschoolnumber",{"_index":20039,"title":{},"body":{"classes/SchoolNumberMismatchLoggableException.html":{}}}],["this.sourcesystem",{"_index":23544,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["this.sourcesystemid",{"_index":23518,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["this.stack",{"_index":1478,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ForbiddenLoggableException.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/NotFoundLoggableException.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/ValidationErrorLoggableException.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["this.startdate",{"_index":7525,"title":{},"body":{"entities/Course.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"classes/UsersList.html":{}}}],["this.startedat",{"_index":23523,"title":{},"body":{"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["this.startuserloginmigrationuc.startmigration",{"_index":23489,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["this.state",{"_index":9537,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoin.html":{}}}],["this.statistics",{"_index":9385,"title":{},"body":{"classes/DeletionRequestLogResponse.html":{}}}],["this.status",{"_index":2126,"title":{},"body":{"classes/AxiosResponseImp.html":{},"classes/BoardTaskResponse.html":{},"classes/CopyApiResponse.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/ParentInfo.html":{},"classes/ScanResultDto.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolResponse.html":{},"entities/Task.html":{},"classes/TaskListResponse.html":{},"interfaces/TaskParent.html":{},"classes/TaskResponse.html":{},"classes/TaskWithStatusVo.html":{},"classes/ToolReference.html":{},"classes/ToolReferenceResponse.html":{},"classes/VideoConferenceBaseResponse.html":{}}}],["this.statuscode",{"_index":1101,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.statustext",{"_index":2128,"title":{},"body":{"classes/AxiosResponseImp.html":{}}}],["this.storageclient.create(previewfilepath",{"_index":17925,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["this.storageclient.deletedirectory(path",{"_index":17978,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.storageclient.get(path",{"_index":12484,"title":{},"body":{"injectables/FwuLearningContentsUc.html":{}}}],["this.storageclient.get(pathtofile",{"_index":17931,"title":{},"body":{"injectables/PreviewGeneratorService.html":{}}}],["this.storageclient.get(previewfilepath",{"_index":17986,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.storagefilename",{"_index":11590,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.storageprovider",{"_index":11592,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.storageproviderrepo.findall",{"_index":8945,"title":{},"body":{"injectables/DeleteFilesUc.html":{}}}],["this.strategies",{"_index":22914,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.strategies.get(externaltool.config.type",{"_index":22924,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.strategies.get(systemstrategy",{"_index":18142,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.strategies.get(toolconfigtype",{"_index":22919,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.strategies.set(strategy.gettype",{"_index":18134,"title":{},"body":{"injectables/ProvisioningService.html":{}}}],["this.strategies.set(toolconfigtype.basic",{"_index":22915,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.strategies.set(toolconfigtype.lti11",{"_index":22916,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.strategies.set(toolconfigtype.oauth2",{"_index":22917,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["this.strategy",{"_index":4992,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["this.strategy.createteam(team",{"_index":4995,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["this.strategy.deleteteam(teamid",{"_index":4994,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["this.strategy.updateteam(team",{"_index":4996,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["this.strategy.updateteampermissionsforrole(this.mapper.mapdomaintoadapter(team",{"_index":4993,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["this.stringifiedmessage(message",{"_index":15171,"title":{},"body":{"injectables/LegacyLogger.html":{}}}],["this.stringifymessage(message",{"_index":15774,"title":{},"body":{"classes/LoggingUtils.html":{}}}],["this.student",{"_index":20669,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.student.id",{"_index":20702,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.studentcount",{"_index":4688,"title":{},"body":{"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{}}}],["this.students",{"_index":7729,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{}}}],["this.students.getidentifiers('_id",{"_index":7731,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{}}}],["this.students.getitems",{"_index":7542,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.students.remove((u",{"_index":7734,"title":{},"body":{"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{}}}],["this.students.set(props.students",{"_index":7517,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.styles",{"_index":12501,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{}}}],["this.subjects",{"_index":16160,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["this.submissionitemservice.create(userid",{"_index":9831,"title":{},"body":{"injectables/ElementUc.html":{}}}],["this.submissionitemservice.findbyid(submissionitemid",{"_index":20886,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["this.submissionitemservice.update(submissionitem",{"_index":20887,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["this.submissionitemsresponse",{"_index":21011,"title":{},"body":{"classes/SubmissionsResponse.html":{}}}],["this.submissionitemuc.createelement(currentuser.userid",{"_index":4043,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["this.submissionitemuc.findsubmissionitems",{"_index":4029,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["this.submissionitemuc.updatesubmissionitem",{"_index":4035,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["this.submissionrepo",{"_index":18640,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.submissionrepo.delete(submission",{"_index":20971,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["this.submissionrepo.findallbytaskids([taskid",{"_index":20969,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["this.submissionrepo.findbyid(submissionid",{"_index":20968,"title":{},"body":{"injectables/SubmissionService.html":{}}}],["this.submissionrule",{"_index":19301,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.submissions",{"_index":21300,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.submissions.getitems",{"_index":21303,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.submissions.isinitialized(true",{"_index":21301,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.submissions.set(props.submissions",{"_index":21294,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.submissionservice.delete(submission",{"_index":20998,"title":{},"body":{"injectables/SubmissionUc.html":{},"injectables/TaskService.html":{}}}],["this.submissionservice.findallbytask(taskid",{"_index":20993,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["this.submissionservice.findbyid(submissionid",{"_index":20996,"title":{},"body":{"injectables/SubmissionUc.html":{}}}],["this.submissionuc.delete(currentuser.userid",{"_index":20770,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["this.submissionuc.findallbytask(currentuser.userid",{"_index":20763,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["this.submitted",{"_index":4082,"title":{},"body":{"classes/BoardTaskStatusResponse.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"classes/TaskStatusResponse.html":{}}}],["this.submitters",{"_index":20975,"title":{},"body":{"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["this.submittingcoursegroupname",{"_index":20976,"title":{},"body":{"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{}}}],["this.substitutionteachers.contains(user",{"_index":7552,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.substitutionteachers.getitems",{"_index":7548,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.substitutionteachers.remove((u",{"_index":7570,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.substitutionteachers.set(props.substitutionteachers",{"_index":7519,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.successful",{"_index":21017,"title":{},"body":{"classes/SuccessfulResponse.html":{}}}],["this.successor",{"_index":4632,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["this.system",{"_index":10061,"title":{},"body":{"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{}}}],["this.systemid",{"_index":244,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceResponse.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/ProvisioningSystemDto.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["this.systemoidcservice.findall",{"_index":14592,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.systemrepo.delete(domainobject",{"_index":21237,"title":{},"body":{"injectables/SystemService.html":{}}}],["this.systemrepo.findall",{"_index":15361,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["this.systemrepo.findbyfilter(systemtypeenum.oauth",{"_index":15357,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["this.systemrepo.findbyfilter(systemtypeenum.oidc",{"_index":15359,"title":{},"body":{"injectables/LegacySystemService.html":{},"injectables/SystemOidcService.html":{}}}],["this.systemrepo.findbyfilter(type",{"_index":15360,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["this.systemrepo.findbyid(id",{"_index":15352,"title":{},"body":{"injectables/LegacySystemService.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemService.html":{}}}],["this.systemrepo.findbyid(systemdto.id",{"_index":15365,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["this.systemrepo.findbyid(systemid",{"_index":15083,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["this.systemrepo.save(system",{"_index":15379,"title":{},"body":{"injectables/LegacySystemService.html":{}}}],["this.systemrule",{"_index":19307,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.systems",{"_index":15202,"title":{},"body":{"classes/LegacySchoolDo.html":{}}}],["this.systems.set(props.systems",{"_index":19690,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["this.systemservice.delete(system",{"_index":21250,"title":{},"body":{"injectables/SystemUc.html":{}}}],["this.systemservice.findbyid(systemid",{"_index":16881,"title":{},"body":{"injectables/OAuthService.html":{},"injectables/ProvisioningService.html":{},"injectables/SystemUc.html":{}}}],["this.systemservice.findbytype(systemtypeenum.oauth",{"_index":23674,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.systemuc.delete(currentuser.userid",{"_index":21077,"title":{},"body":{"controllers/SystemController.html":{}}}],["this.systemuc.findbyfilter(filterparams.type",{"_index":21067,"title":{},"body":{"controllers/SystemController.html":{}}}],["this.systemuc.findbyid(params.systemid",{"_index":21072,"title":{},"body":{"controllers/SystemController.html":{}}}],["this.tags",{"_index":16162,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["this.target",{"_index":16505,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["this.targetgroups",{"_index":16164,"title":{},"body":{"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"interfaces/RelatedResourceProperties.html":{},"interfaces/TargetGroupProperties.html":{}}}],["this.targetid",{"_index":16504,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{}}}],["this.targetmodel",{"_index":7849,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"entities/VideoConference.html":{},"classes/VideoConferenceDO.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["this.targetref",{"_index":9381,"title":{},"body":{"classes/DeletionRequestLogResponse.html":{}}}],["this.targetrefdomain",{"_index":9347,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["this.targetrefid",{"_index":9351,"title":{},"body":{"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{}}}],["this.targetschoolnumber",{"_index":20040,"title":{},"body":{"classes/SchoolNumberMismatchLoggableException.html":{}}}],["this.targetsystem",{"_index":23546,"title":{},"body":{"entities/UserLoginMigrationEntity.html":{}}}],["this.targetsystemid",{"_index":14224,"title":{},"body":{"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationResponse.html":{}}}],["this.task",{"_index":20673,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.taskcopyservice.copytask",{"_index":3340,"title":{},"body":{"injectables/BoardCopyService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{}}}],["this.taskcopyuc.copytask",{"_index":21428,"title":{},"body":{"controllers/TaskController.html":{}}}],["this.taskrepo",{"_index":18626,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.taskrepo.createtask(taskcopy",{"_index":21458,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["this.taskrepo.delete(task",{"_index":21766,"title":{},"body":{"injectables/TaskService.html":{}}}],["this.taskrepo.findallbyparentids",{"_index":21834,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.taskrepo.findallfinishedbyparentids",{"_index":21816,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.taskrepo.findbyid(params.originaltaskid",{"_index":21448,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["this.taskrepo.findbyid(taskid",{"_index":21493,"title":{},"body":{"injectables/TaskCopyUC.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{}}}],["this.taskrepo.findbysingleparent",{"_index":21507,"title":{},"body":{"injectables/TaskCopyUC.html":{}}}],["this.taskrepo.findbysingleparent(creatorid",{"_index":21763,"title":{},"body":{"injectables/TaskService.html":{}}}],["this.taskrepo.save(task",{"_index":21462,"title":{},"body":{"injectables/TaskCopyService.html":{},"injectables/TaskUC.html":{}}}],["this.taskrule",{"_index":19297,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.taskrule.haspermission(user",{"_index":20953,"title":{},"body":{"injectables/SubmissionRule.html":{}}}],["this.tasks.getitems",{"_index":6193,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["this.tasks.isinitialized(true",{"_index":6190,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{}}}],["this.taskservice.delete(task",{"_index":21860,"title":{},"body":{"injectables/TaskUC.html":{}}}],["this.taskservice.findbyid(id",{"_index":21869,"title":{},"body":{"injectables/TaskUrlHandler.html":{}}}],["this.taskservice.findbyid(sharetoken.payload.parentid)).name",{"_index":20460,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.taskservice.findbysingleparent(userid",{"_index":5745,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"injectables/RoomsService.html":{}}}],["this.taskuc.changefinishedforuser(currentuser.userid",{"_index":21423,"title":{},"body":{"controllers/TaskController.html":{}}}],["this.taskuc.delete(currentuser.userid",{"_index":21430,"title":{},"body":{"controllers/TaskController.html":{}}}],["this.taskuc.findall(currentuser.userid",{"_index":21417,"title":{},"body":{"controllers/TaskController.html":{}}}],["this.taskuc.findallfinished(currentuser.userid",{"_index":21416,"title":{},"body":{"controllers/TaskController.html":{}}}],["this.taskuc.revertpublished(currentuser.userid",{"_index":21426,"title":{},"body":{"controllers/TaskController.html":{}}}],["this.taskurlhandler",{"_index":16297,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["this.teacherids",{"_index":4622,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["this.teachernames",{"_index":4682,"title":{},"body":{"classes/ClassInfoDto.html":{}}}],["this.teachers",{"_index":4702,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["this.teachers.getitems",{"_index":7546,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.teachers.remove((u",{"_index":7568,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.teachers.set(props.teachers",{"_index":7518,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.teamid",{"_index":4252,"title":{},"body":{"classes/CalendarEventDto.html":{},"classes/TeamRolePermissionsDto.html":{}}}],["this.teammembers",{"_index":20687,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.teammembers.getidentifiers('_id",{"_index":20690,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.teammembers.set(props.teammembers",{"_index":20682,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["this.teamname",{"_index":21966,"title":{},"body":{"classes/TeamRolePermissionsDto.html":{}}}],["this.teamrule",{"_index":19298,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.teamsmapper.mapentitytodto(await",{"_index":5107,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.teamsrepo",{"_index":18638,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.teamsrepo.findbyid(teamid",{"_index":5108,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["this.teamsrepo.findbyuserid(userid",{"_index":13719,"title":{},"body":{"injectables/IdTokenService.html":{},"injectables/TeamService.html":{}}}],["this.teamsrepo.save(teams",{"_index":21989,"title":{},"body":{"injectables/TeamService.html":{}}}],["this.teamstorageuc.updateuserpermissionsforrole(currentuser.userid",{"_index":5067,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["this.teamsubmissions",{"_index":21298,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["this.teamusers",{"_index":21881,"title":{},"body":{"classes/TeamDto.html":{},"classes/TeamUserDto.html":{}}}],["this.text",{"_index":18887,"title":{},"body":{"classes/RichTextElementContent.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"classes/RichTextElementResponse.html":{}}}],["this.throwifnotmoderator(bbbrole",{"_index":24133,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.thumbnail",{"_index":11593,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.thumbnailrequesttoken",{"_index":11596,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.timeout",{"_index":19278,"title":{},"body":{"classes/RpcMessageProducer.html":{},"todo.html":{}}}],["this.timeout(10000",{"_index":25724,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["this.timeoutms",{"_index":4287,"title":{},"body":{"injectables/CalendarService.html":{}}}],["this.timestamps",{"_index":3978,"title":{},"body":{"classes/BoardResponse.html":{},"classes/CardResponse.html":{},"classes/ColumnResponse.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionItemResponse.html":{}}}],["this.timetowait",{"_index":4158,"title":{},"body":{"classes/BruteForceError.html":{}}}],["this.title",{"_index":3025,"title":{},"body":{"classes/BoardColumnBoardResponse.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/BoardResponse.html":{},"classes/BusinessError.html":{},"classes/CalendarEventDto.html":{},"classes/CardResponse.html":{},"entities/ColumnBoardTarget.html":{},"classes/ColumnResponse.html":{},"classes/ContentMetadata.html":{},"classes/CopyApiResponse.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DashboardResponse.html":{},"classes/ErrorResponse.html":{},"classes/FileMetadata.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/GridElement.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"interfaces/IGridElement.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/LinkElementContent.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/LinkElementResponse.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"classes/MetaTagExtractorResponse.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"classes/Path.html":{},"interfaces/RelatedResourceProperties.html":{},"entities/SchoolNews.html":{},"classes/SingleColumnBoardResponse.html":{},"interfaces/TargetGroupProperties.html":{},"entities/TeamNews.html":{}}}],["this.title.substring(0",{"_index":8462,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["this.tldrawboardrepo.flushdocument(docname",{"_index":22556,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.tldrawboardrepo.updatedocument(docname",{"_index":22555,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["this.tldrawrepo.delete(drawings",{"_index":22379,"title":{},"body":{"injectables/TldrawService.html":{}}}],["this.tldrawrepo.findbydocname(docname",{"_index":22378,"title":{},"body":{"injectables/TldrawService.html":{}}}],["this.tldrawservice.deletebydocname(urlparams.docname",{"_index":22333,"title":{},"body":{"controllers/TldrawController.html":{}}}],["this.tldrawservice.send(this",{"_index":24407,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.tldrawservice.updatehandler(update",{"_index":24394,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["this.tldrawwsservice.flushdocument(docname",{"_index":22419,"title":{},"body":{"classes/TldrawWs.html":{}}}],["this.tldrawwsservice.setpersistence",{"_index":22415,"title":{},"body":{"classes/TldrawWs.html":{}}}],["this.tldrawwsservice.setupwsconnection(client",{"_index":22411,"title":{},"body":{"classes/TldrawWs.html":{}}}],["this.tldrawwsservice.updatedocument(docname",{"_index":22417,"title":{},"body":{"classes/TldrawWs.html":{}}}],["this.toggleuserloginmigrationuc.setmigrationmandatory",{"_index":23496,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["this.token",{"_index":238,"title":{},"body":{"entities/Account.html":{},"classes/AccountSaveDto.html":{},"entities/ShareToken.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenInfoResponse.html":{},"interfaces/ShareTokenProperties.html":{},"classes/ShareTokenResponse.html":{}}}],["this.tokenendpoint",{"_index":14947,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.tokenendpointauthmethod",{"_index":16943,"title":{},"body":{"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigResponse.html":{}}}],["this.tokengenerator.generatesharetoken",{"_index":20448,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["this.tokenurl",{"_index":15003,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.tool",{"_index":19713,"title":{},"body":{"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{}}}],["this.toolfeatures.backendurl",{"_index":10388,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["this.toolfeatures.contextconfigurationenabled",{"_index":10152,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["this.toolfeatures.ctltoolstabenabled",{"_index":17368,"title":{},"body":{"injectables/OauthProviderLoginFlowService.html":{}}}],["this.toolfeatures.maxexternaltoollogosizeinbytes",{"_index":10396,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["this.toolfeatures.toolstatuswithoutversions",{"_index":19851,"title":{},"body":{"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/ToolVersionService.html":{}}}],["this.toolid",{"_index":10566,"title":{},"body":{"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymResponse.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/ToolStatusOutdatedLoggableException.html":{}}}],["this.toollaunchservice.generatelaunchrequest(toollaunchdata",{"_index":22942,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["this.toollaunchservice.getlaunchdata(userid",{"_index":22941,"title":{},"body":{"injectables/ToolLaunchUc.html":{}}}],["this.toollaunchuc.gettoollaunchrequest",{"_index":22829,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["this.toolpermissionhelper.ensurecontextpermissions",{"_index":23044,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["this.toolpermissionhelper.ensurecontextpermissions(userid",{"_index":7051,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/ToolLaunchUc.html":{}}}],["this.toolpermissionhelper.ensureschoolpermissions(userid",{"_index":10229,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["this.toolreferenceservice.gettoolreference",{"_index":23043,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["this.toolreferenceuc.gettoolreference",{"_index":22991,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["this.toolreferenceuc.gettoolreferencesforcontext",{"_index":22994,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["this.toolvalidationservice.validatecreate(externaltool",{"_index":11054,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.toolvalidationservice.validateupdate(toolid",{"_index":11056,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["this.toolversion",{"_index":6651,"title":{},"body":{"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalTool.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["this.toolversionservice.determinetoolconfigurationstatus",{"_index":22927,"title":{},"body":{"injectables/ToolLaunchService.html":{},"injectables/ToolReferenceService.html":{}}}],["this.toparams(config",{"_index":2390,"title":{},"body":{"injectables/BBBService.html":{}}}],["this.total",{"_index":17719,"title":{},"body":{"classes/Page.html":{},"classes/PaginationResponse.html":{}}}],["this.tovideoconferencestateresponse(videoconferenceinfo.state",{"_index":24279,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["this.trybuildtoolreference(userid",{"_index":23037,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["this.tryextractmetatags(url",{"_index":16257,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["this.tryfilenameasfallback(url",{"_index":16258,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["this.trygetprevieworgenerate(previewfileparams",{"_index":17975,"title":{},"body":{"injectables/PreviewService.html":{}}}],["this.tryinternallinkmetatags(url",{"_index":16256,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["this.tryrollbackmigration(currentuserid",{"_index":23775,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.tryrollbackmigration(schooldocopy",{"_index":19988,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.tspuid",{"_index":4805,"title":{},"body":{"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{}}}],["this.type",{"_index":2108,"title":{},"body":{"classes/AxiosErrorLoggable.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigResponse.html":{},"classes/BoardContextResponse.html":{},"classes/BoardElementResponse.html":{},"classes/BusinessError.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{},"classes/ContextRef.html":{},"classes/CopyApiResponse.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterResponse.html":{},"classes/DrawingElementContent.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"classes/DrawingElementResponse.html":{},"classes/ErrorResponse.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolElementContent.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementContent.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"classes/FileElementResponse.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupResponse.html":{},"interfaces/H5PContentParentParams.html":{},"classes/LdapConfigEntity.html":{},"classes/LinkElementContent.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/LinkElementResponse.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/LumiUserWithContentData.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/PublicSystemResponse.html":{},"classes/ResolvedGroupDto.html":{},"classes/RichText.html":{},"classes/RichTextElementContent.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"classes/RichTextElementResponse.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SubmissionContainerElementContent.html":{},"entities/SubmissionContainerElementNode.html":{},"classes/SubmissionContainerElementResponse.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"classes/ToolLaunchData.html":{}}}],["this.uninstallunwantedlibraries",{"_index":13375,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.uninstallunwantedlibraries(this.librarywishlist",{"_index":13389,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["this.unknownquerytype",{"_index":23114,"title":{},"body":{"classes/UnknownQueryTypeLoggableException.html":{}}}],["this.until",{"_index":10021,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{}}}],["this.untildate",{"_index":7523,"title":{},"body":{"entities/Course.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["this.updatecopiedembeddedtasksoflessons(status",{"_index":3308,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["this.updatedat",{"_index":462,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardTaskResponse.html":{},"classes/County.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"classes/UserDO.html":{}}}],["this.updateexistinggridelement(existing",{"_index":8675,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["this.updatefileurls(taskcopy",{"_index":21451,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["this.updateidentityprovider(configureaction.config",{"_index":14599,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.updateoauth2toolconfig(toupdate",{"_index":10969,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.updateoauthclientorthrow(loadedoauthclient",{"_index":10995,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["this.updateorcreateidpdefaultmapper(oidcconfig.idphint",{"_index":14628,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["this.updater",{"_index":16507,"title":{},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{}}}],["this.updatestoreddocwithdiff(docname",{"_index":22288,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["this.updateteamusersingroup(groupid",{"_index":16767,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.url",{"_index":7182,"title":{},"body":{"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordResponse.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LinkElementContent.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"classes/LinkElementResponse.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"entities/Material.html":{},"interfaces/MaterialProperties.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"interfaces/TargetGroupProperties.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{}}}],["this.usecentralldap",{"_index":19933,"title":{},"body":{"classes/SchoolInUserMigrationStartLoggable.html":{}}}],["this.user",{"_index":8553,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DtoCreator.html":{},"classes/ExternalGroupDto.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/ResolvedGroupUser.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["this.userdorepo.find(query",{"_index":23934,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userdorepo.findbyexternalid(externalid",{"_index":23935,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userdorepo.findbyid(id",{"_index":23929,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userdorepo.findbyidornull(id",{"_index":23930,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userdorepo.save(user",{"_index":23931,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userdorepo.saveall(users",{"_index":23933,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userid",{"_index":242,"title":{},"body":{"entities/Account.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{},"classes/BBBJoinConfig.html":{},"classes/DashboardEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"classes/ForbiddenLoggableException.html":{},"classes/GridElement.html":{},"classes/GroupUser.html":{},"interfaces/IGridElement.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/NewsCrudOperationLoggable.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymResponse.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UserDataResponse.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["this.userids",{"_index":4621,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["this.userimportuc.endschoolinmaintenance(currentuser.userid",{"_index":13943,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.userimportuc.findallimportusers(currentuser.userid",{"_index":13920,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.userimportuc.removematch(currentuser.userid",{"_index":13929,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.userimportuc.saveallusersmatches(currentuser.userid",{"_index":13939,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.userimportuc.setmatch(currentuser.userid",{"_index":13925,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.userimportuc.startschoolinusermigration(currentuser.userid",{"_index":13941,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.userimportuc.updateflag(currentuser.userid",{"_index":13930,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.userinfourl",{"_index":15006,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["this.userloginmigration",{"_index":19692,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["this.userloginmigration.id",{"_index":20026,"title":{},"body":{"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["this.userloginmigrationid",{"_index":15204,"title":{},"body":{"classes/LegacySchoolDo.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationStartLoggable.html":{}}}],["this.userloginmigrationrepo.delete(userloginmigration",{"_index":23687,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.userloginmigrationrepo.findbyschoolid(school.id",{"_index":16341,"title":{},"body":{"injectables/MigrationCheckService.html":{}}}],["this.userloginmigrationrepo.findbyschoolid(schoolid",{"_index":20016,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["this.userloginmigrationrepo.save(userloginmigration",{"_index":23665,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.userloginmigrationrepo.save(userloginmigrationdo",{"_index":23663,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["this.userloginmigrationrevertservice.revertuserloginmigration(updateduserloginmigration",{"_index":4946,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{}}}],["this.userloginmigrationrule",{"_index":19305,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.userloginmigrationservice.closemigration",{"_index":4943,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{}}}],["this.userloginmigrationservice.deleteuserloginmigration(userloginmigration",{"_index":23624,"title":{},"body":{"injectables/UserLoginMigrationRevertService.html":{}}}],["this.userloginmigrationservice.findmigrationbyschool",{"_index":4938,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["this.userloginmigrationservice.findmigrationbyuser",{"_index":23703,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["this.userloginmigrationservice.restartmigration",{"_index":18835,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{}}}],["this.userloginmigrationservice.setmigrationmandatory(userloginmigration",{"_index":22569,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{}}}],["this.userloginmigrationservice.startmigration(schoolid",{"_index":20588,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{}}}],["this.userloginmigrationuc.finduserloginmigrationbyschool",{"_index":23486,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["this.userloginmigrationuc.getmigrations",{"_index":23480,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["this.userloginmigrationuc.migrate(jwt",{"_index":23501,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["this.usermatchschoolid",{"_index":19916,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["this.usermigrationservice.migrateuser(currentuserid",{"_index":23719,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["this.username",{"_index":234,"title":{},"body":{"entities/Account.html":{},"classes/AccountResponse.html":{},"classes/AccountSaveDto.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/UnauthorizedLoggableException.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["this.userrepo",{"_index":18632,"title":{},"body":{"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{}}}],["this.userrepo.deleteuser(userid",{"_index":23947,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userrepo.findbyemail(email",{"_index":987,"title":{},"body":{"injectables/AccountValidationService.html":{},"injectables/UserService.html":{}}}],["this.userrepo.findbyid(accountuserid",{"_index":15714,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["this.userrepo.findbyid(id",{"_index":23924,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userrepo.findbyid(userid",{"_index":1997,"title":{},"body":{"injectables/AuthorizationService.html":{},"injectables/CourseCopyService.html":{},"injectables/LdapStrategy.html":{},"injectables/RoomsUc.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["this.userrepo.getparentemailsfromuser(userid",{"_index":23949,"title":{},"body":{"injectables/UserService.html":{}}}],["this.userrepo.save(user",{"_index":23944,"title":{},"body":{"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["this.userrule",{"_index":19299,"title":{},"body":{"injectables/RuleManager.html":{}}}],["this.users",{"_index":12815,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupResponse.html":{},"classes/ResolvedGroupDto.html":{},"classes/SubmissionsResponse.html":{}}}],["this.users.find((u",{"_index":12698,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.users.push(user",{"_index":12700,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["this.userservice.findbyemail(email",{"_index":14287,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["this.userservice.findbyexternalid",{"_index":14270,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["this.userservice.findbyexternalid(externalgroupuser.externaluserid",{"_index":17678,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.userservice.findbyexternalid(externaluser.externalid",{"_index":17633,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.userservice.findbyexternalid(externaluserid",{"_index":16343,"title":{},"body":{"injectables/MigrationCheckService.html":{},"injectables/OAuthService.html":{},"injectables/OidcProvisioningService.html":{}}}],["this.userservice.findbyid(currentuserid",{"_index":17402,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{},"injectables/UserMigrationService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["this.userservice.findbyid(loadedpseudonym.userid",{"_index":11334,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.userservice.findbyid(props.userid",{"_index":5409,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{}}}],["this.userservice.findbyid(teamuser.userid",{"_index":16786,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["this.userservice.findbyid(user.id",{"_index":11352,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.userservice.findbyid(userid",{"_index":13720,"title":{},"body":{"injectables/IdTokenService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["this.userservice.findusers",{"_index":20002,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.userservice.getdisplayname(user",{"_index":13721,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["this.userservice.save(newuser",{"_index":26029,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["this.userservice.save(user",{"_index":17649,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["this.userservice.save(userdo",{"_index":23778,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.userservice.save(userdocopy",{"_index":23780,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["this.userservice.saveall(migratedusers.data",{"_index":20015,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.userservice.saveall(notmigratedusers.data",{"_index":20008,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["this.useruc.findallunmatchedusers(currentuser.userid",{"_index":13934,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["this.useruc.me(currentuser.userid",{"_index":23215,"title":{},"body":{"controllers/UserController.html":{}}}],["this.useruc.patchlanguage(currentuser.userid",{"_index":23219,"title":{},"body":{"controllers/UserController.html":{}}}],["this.uuid",{"_index":13736,"title":{},"body":{"classes/IdTokenUserNotFoundLoggableException.html":{}}}],["this.validate(props",{"_index":4616,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.validateandgetexternaltool(oauth2clientid",{"_index":11338,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.validatecontextexternaltools(courseid",{"_index":11344,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.validatelti11config(externaltool",{"_index":11097,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["this.validateoauth2config(externaltool",{"_index":11096,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["this.validateparameter(param",{"_index":6128,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["this.validatereordering(ids",{"_index":2949,"title":{},"body":{"entities/Board.html":{}}}],["this.validaterocketchatconfig",{"_index":1179,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["this.validateschoolexternaltool(course.school.id",{"_index":11343,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["this.validatestatus",{"_index":13464,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["this.validatesubject(currentuser",{"_index":17240,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["this.validatetoken(oauthtokens.idtoken",{"_index":16884,"title":{},"body":{"injectables/OAuthService.html":{}}}],["this.validateusersmatch(dashboard",{"_index":8759,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["this.validationerrors.push(new",{"_index":1411,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["this.validationerrors.reduce",{"_index":23974,"title":{},"body":{"classes/ValidationErrorLoggableException.html":{}}}],["this.validperiod",{"_index":12813,"title":{},"body":{"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["this.value",{"_index":8163,"title":{},"body":{"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/LtiToolDO.html":{},"classes/PropertyData.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["this.verified",{"_index":18702,"title":{},"body":{"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{}}}],["this.verifyfeaturesenabled(user.schoolid",{"_index":24128,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.version",{"_index":6700,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["this.versionkey",{"_index":11612,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["this.videoconferencecreateuc.createifnotrunning(currentuser.userid",{"_index":24074,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["this.videoconferenceenduc.end(currentuser.userid",{"_index":24083,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["this.videoconferenceinfouc.getmeetinginfo(currentuser.userid",{"_index":24079,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["this.videoconferencejoinuc.join(currentuser.userid",{"_index":24076,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["this.videoconferenceservice.canguestjoin(isguest",{"_index":24228,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["this.videoconferenceservice.createorupdatevideoconferenceforscopewithoptions(scope.id",{"_index":24134,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.videoconferenceservice.determinebbbrole",{"_index":24131,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["this.videoconferenceservice.determinebbbrole(userid",{"_index":24203,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{}}}],["this.videoconferenceservice.findvideoconferencebyscopeidandscope",{"_index":24232,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["this.videoconferenceservice.getscopeinfo(currentuserid",{"_index":24129,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["this.videoconferenceservice.getscopeinfo(userid",{"_index":24202,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{}}}],["this.videoconferenceservice.getuserroleandgueststatusbyuseridforbbb",{"_index":24244,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["this.videoconferenceservice.hasexpertrole",{"_index":24227,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["this.videoconferenceservice.loadscoperessources(scopeid",{"_index":24127,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["this.videoconferenceservice.sanitizestring(`${user.firstname",{"_index":24246,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["this.videoconferenceservice.sanitizestring(scopeinfo.title",{"_index":24138,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.videoconferenceservice.throwonfeaturesdisabled(schoolid",{"_index":24144,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["this.videoconferenceservice.throwonfeaturesdisabled(user.schoolid",{"_index":24201,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["this.videoconferenceuc.create(currentuser",{"_index":24184,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["this.videoconferenceuc.end(currentuser",{"_index":24193,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["this.videoconferenceuc.getmeetinginfo(currentuser",{"_index":24181,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["this.videoconferenceuc.join(currentuser",{"_index":24188,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["this.visibilitysettings",{"_index":4421,"title":{},"body":{"classes/CardResponse.html":{}}}],["this.visitchildren(anyboarddo",{"_index":18594,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.visitchildren(externaltoolelement",{"_index":18589,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.visitchildren(linkelement",{"_index":18576,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["this.visitchildrenasync(card",{"_index":18506,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(column",{"_index":18504,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(columnboard",{"_index":18502,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(drawingelement",{"_index":18517,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(externaltoolelement",{"_index":18526,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(fileelement",{"_index":18509,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(linkelement",{"_index":18512,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(richtextelement",{"_index":18514,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(submission",{"_index":18521,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenasync(submissioncontainerelement",{"_index":18519,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["this.visitchildrenof(original",{"_index":18429,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["this.w",{"_index":6583,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["this.welcome",{"_index":2187,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["this.write",{"_index":11740,"title":{},"body":{"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"classes/TeamPermissionsDto.html":{}}}],["this.xmlbuilder",{"_index":5824,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.xmlbuilder.buildobject",{"_index":5841,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.xmlbuilder.buildobject(commonobject",{"_index":5903,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["this.xpos",{"_index":8543,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["this.xposition",{"_index":8577,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["this.year",{"_index":4627,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{}}}],["this.yearfrom",{"_index":6589,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.yearto",{"_index":6591,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["this.ypos",{"_index":8544,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["this.yposition",{"_index":8578,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{}}}],["this.zipbuilder",{"_index":5832,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.zipbuilder.addfile('imsmanifest.xml",{"_index":5847,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.zipbuilder.addfile(props.href",{"_index":5829,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this.zipbuilder.tobufferpromise",{"_index":5849,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["this['meta_bbb",{"_index":2197,"title":{},"body":{"classes/BBBCreateConfig.html":{}}}],["thisobjecthasnostructure",{"_index":13054,"title":{},"body":{"classes/H5PContentFactory.html":{}}}],["those",{"_index":22120,"title":{},"body":{"injectables/TemporaryFileStorage.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["though",{"_index":24977,"title":{},"body":{"license.html":{}}}],["thoughtbot/fishery",{"_index":563,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["thr",{"_index":17011,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["threads_enabled=false",{"_index":25963,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["three",{"_index":24895,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["thresholddate",{"_index":8893,"title":{},"body":{"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/FilesRepo.html":{}}}],["thresholddate.setdate(thresholddate.getdate",{"_index":8894,"title":{},"body":{"classes/DeleteFilesConsole.html":{}}}],["through",{"_index":2904,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["throw",{"_index":579,"title":{},"body":{"classes/AccountFactory.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/AntivirusService.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextNameStrategy.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseUc.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRepo.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/BoardResponseMapper.html":{},"injectables/CalendarService.html":{},"injectables/CardService.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnBoardService.html":{},"classes/ColumnResponseMapper.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyUC.html":{},"interfaces/CourseProperties.html":{},"classes/CurrentUserMapper.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardModelMapper.html":{},"injectables/DashboardUc.html":{},"injectables/DeletionClient.html":{},"classes/DomainObjectFactory.html":{},"injectables/ElementUc.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FilesStorageClientMapper.html":{},"classes/FilesStorageMapper.html":{},"controllers/FwuLearningContentsController.html":{},"classes/GridElement.html":{},"injectables/GroupService.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IGridElement.html":{},"injectables/IdTokenService.html":{},"entities/ImportUser.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserScope.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/JwtStrategy.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRule.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LibraryRepo.html":{},"injectables/LocalStrategy.html":{},"injectables/LtiToolRepo.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/MetadataTypeMapper.html":{},"interfaces/MigrationOptions.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthAdapterService.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"controllers/OauthSSOController.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/ParentInfo.html":{},"injectables/PermissionService.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{},"injectables/ProvisioningService.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"interfaces/RetryOptions.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"entities/Role.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RoomsUc.html":{},"classes/RpcMessageProducer.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/SchoolValidationService.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"entities/Submission.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRule.html":{},"injectables/SystemOidcService.html":{},"injectables/SystemUc.html":{},"entities/Task.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskParent.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/TldrawWsService.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolPermissionHelper.html":{},"entities/User.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchMapper.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["throwerror",{"_index":18786,"title":{},"body":{"injectables/RequestLoggingInterceptor.html":{},"injectables/TimeoutInterceptor.html":{}}}],["throwifnotmoderator",{"_index":24106,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["throwifnotmoderator(role",{"_index":24117,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["throwing",{"_index":26100,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["thrown",{"_index":4920,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/GuardAgainst.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["throws",{"_index":2388,"title":{},"body":{"injectables/BBBService.html":{},"injectables/FeathersAuthorizationService.html":{},"classes/GuardAgainst.html":{},"classes/IdentityManagementOauthService.html":{},"controllers/KeycloakManagementController.html":{}}}],["thumbnail",{"_index":11528,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["thumbnailrequesttoken",{"_index":11529,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["thus",{"_index":79,"title":{},"body":{"classes/AbstractAccountService.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["ticket",{"_index":1944,"title":{},"body":{"injectables/AuthorizationReferenceService.html":{},"classes/RpcMessageProducer.html":{},"index.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["ticketsystem.dbildungscloud.de",{"_index":24624,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["time",{"_index":1749,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"classes/CreateNewsParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"injectables/JwtValidationAdapter.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{},"dependencies.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["timedifference",{"_index":1740,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["timeout",{"_index":4291,"title":{},"body":{"injectables/CalendarService.html":{},"injectables/FilesStorageProducer.html":{},"modules/InterceptorModule.html":{},"injectables/PreviewProducer.html":{},"classes/RpcMessageProducer.html":{},"injectables/TimeoutInterceptor.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["timeout(timeoutvalue",{"_index":22217,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["timeouterror",{"_index":22212,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["timeoutinterceptor",{"_index":14199,"title":{"injectables/TimeoutInterceptor.html":{}},"body":{"modules/InterceptorModule.html":{},"injectables/TimeoutInterceptor.html":{}}}],["timeoutinterceptor(timeout",{"_index":14201,"title":{},"body":{"modules/InterceptorModule.html":{}}}],["timeoutms",{"_index":4275,"title":{},"body":{"injectables/CalendarService.html":{}}}],["timeouts",{"_index":25729,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["timeoutvalue",{"_index":22213,"title":{},"body":{"injectables/TimeoutInterceptor.html":{}}}],["timer",{"_index":19437,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["times",{"_index":2234,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{},"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["timestamp",{"_index":9042,"title":{},"body":{"injectables/DeletionClient.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["timestamps",{"_index":2895,"title":{},"body":{"injectables/BatchDeletionUc.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{}}}],["timestamps.response",{"_index":3976,"title":{},"body":{"classes/BoardResponse.html":{},"classes/CardResponse.html":{},"classes/ColumnResponse.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionItemResponse.html":{}}}],["timestampsresponse",{"_index":3972,"title":{"classes/TimestampsResponse.html":{}},"body":{"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/FileElementContent.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/TimestampsResponse.html":{}}}],["timetowait",{"_index":1744,"title":{},"body":{"injectables/AuthenticationService.html":{},"classes/BruteForceError.html":{}}}],["timouts",{"_index":25717,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["tiny",{"_index":24573,"title":{},"body":{"dependencies.html":{}}}],["title",{"_index":155,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/AuthorizationError.html":{},"classes/BoardColumnBoardResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"injectables/BoardUc.html":{},"classes/BruteForceError.html":{},"classes/BusinessError.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentMetadata.html":{},"classes/CopyApiResponse.html":{},"injectables/CopyFilesService.html":{},"classes/CopyMapper.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DashboardResponse.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/DtoCreator.html":{},"classes/ElementContentBody.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"injectables/EtherpadService.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileMetadata.html":{},"classes/ForbiddenOperationError.html":{},"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/IGridElement.html":{},"interfaces/INewsScope.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConnectionError.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/LibraryName.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"injectables/NexboardService.html":{},"classes/PatchGroupParams.html":{},"classes/Path.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/SchoolInMigrationLoggableException.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"interfaces/ScopeInfo.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"interfaces/TargetGroupProperties.html":{},"injectables/TaskCopyService.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"entities/TeamNews.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"index.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["title(title",{"_index":4312,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"interfaces/ColumnProps.html":{}}}],["title(value",{"_index":15644,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["titlea",{"_index":8447,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["titleb",{"_index":8449,"title":{},"body":{"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{}}}],["titlemap",{"_index":5476,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["titlesmap",{"_index":3639,"title":{},"body":{"injectables/BoardDoRepo.html":{},"injectables/ColumnBoardTargetService.html":{}}}],["titlesmap[id",{"_index":5570,"title":{},"body":{"injectables/ColumnBoardTargetService.html":{}}}],["tldraw",{"_index":22319,"title":{},"body":{"controllers/TldrawController.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{}}}],["tldraw.params",{"_index":22328,"title":{},"body":{"controllers/TldrawController.html":{}}}],["tldraw_db_collection_name",{"_index":22302,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["tldraw_db_flush_size",{"_index":22303,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["tldraw_db_multiple_collections",{"_index":22304,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["tldraw_db_url",{"_index":12556,"title":{},"body":{"interfaces/GlobalConstants.html":{},"modules/TldrawModule.html":{}}}],["tldraw_gc_enabled",{"_index":22305,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["tldraw_ping_timeout",{"_index":22306,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["tldrawboardrepo",{"_index":22225,"title":{"injectables/TldrawBoardRepo.html":{}},"body":{"injectables/TldrawBoardRepo.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{}}}],["tldrawclientmodule",{"_index":22294,"title":{"modules/TldrawClientModule.html":{}},"body":{"modules/TldrawClientModule.html":{}}}],["tldrawconfig",{"_index":22261,"title":{"interfaces/TldrawConfig.html":{}},"body":{"injectables/TldrawBoardRepo.html":{},"interfaces/TldrawConfig.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{}}}],["tldrawconnectionstring",{"_index":22307,"title":{},"body":{"interfaces/TldrawConfig.html":{}}}],["tldrawcontroller",{"_index":22317,"title":{"controllers/TldrawController.html":{}},"body":{"controllers/TldrawController.html":{},"modules/TldrawModule.html":{}}}],["tldrawdeleteparams",{"_index":22322,"title":{"classes/TldrawDeleteParams.html":{}},"body":{"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{}}}],["tldrawdrawing",{"_index":22336,"title":{"entities/TldrawDrawing.html":{}},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{}}}],["tldrawdrawingprops",{"_index":22346,"title":{"interfaces/TldrawDrawingProps.html":{}},"body":{"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["tldrawmodule",{"_index":22354,"title":{"modules/TldrawModule.html":{}},"body":{"modules/TldrawModule.html":{}}}],["tldrawrepo",{"_index":22358,"title":{"injectables/TldrawRepo.html":{}},"body":{"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{}}}],["tldrawservice",{"_index":22326,"title":{"injectables/TldrawService.html":{}},"body":{"controllers/TldrawController.html":{},"modules/TldrawModule.html":{},"injectables/TldrawService.html":{},"classes/WsSharedDocDo.html":{}}}],["tldrawtestmodule",{"_index":22380,"title":{"modules/TldrawTestModule.html":{}},"body":{"modules/TldrawTestModule.html":{}}}],["tldrawws",{"_index":22390,"title":{"classes/TldrawWs.html":{}},"body":{"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{}}}],["tldrawwsfactory",{"_index":22423,"title":{"classes/TldrawWsFactory.html":{}},"body":{"classes/TldrawWsFactory.html":{}}}],["tldrawwsmodule",{"_index":22384,"title":{"modules/TldrawWsModule.html":{}},"body":{"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{}}}],["tldrawwsservice",{"_index":22385,"title":{"injectables/TldrawWsService.html":{}},"body":{"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"modules/TldrawWsModule.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"classes/WsSharedDocDo.html":{}}}],["tldrawwstestmodule",{"_index":22557,"title":{"modules/TldrawWsTestModule.html":{}},"body":{"modules/TldrawWsTestModule.html":{}}}],["tls",{"_index":8955,"title":{},"body":{"injectables/DeleteFilesUc.html":{},"modules/S3ClientModule.html":{}}}],["tmp/config/users",{"_index":25903,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["tmp/realms",{"_index":25912,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["tmp/realms\"powershell",{"_index":25874,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["tmp/realms\"setup",{"_index":25875,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["tmp/realms\"to",{"_index":25319,"title":{},"body":{"additional-documentation/nestjs-application.html":{}}}],["tmpdirpath",{"_index":12084,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["toarray",{"_index":5769,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"injectables/DatabaseManagementService.html":{}}}],["toboardid",{"_index":16414,"title":{},"body":{"classes/MoveColumnBodyParams.html":{}}}],["tocardid",{"_index":16418,"title":{},"body":{"classes/MoveContentElementBody.html":{}}}],["tocolumnid",{"_index":16408,"title":{},"body":{"classes/MoveCardBodyParams.html":{}}}],["todo",{"_index":1829,"title":{"todo.html":{}},"body":{"injectables/AuthorizationHelper.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseUc.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"modules/BoardModule.html":{},"injectables/BoardNodeRepo.html":{},"injectables/ColumnBoardCopyService.html":{},"modules/CommonToolModule.html":{},"injectables/CommonToolService.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CreateNewsParams.html":{},"injectables/DashboardRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolUc.html":{},"injectables/FederalStateService.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IToolFeatures.html":{},"injectables/IdTokenService.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/ImportUserScope.html":{},"modules/InterceptorModule.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolDo.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/ParentInfo.html":{},"injectables/PermissionService.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolYearService.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"injectables/SubmissionRepo.html":{},"entities/Task.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRule.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"classes/TeamUserDto.html":{},"classes/ToolConfiguration.html":{},"modules/ToolModule.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolVersionService.html":{},"injectables/UserRepo.html":{},"classes/UsersList.html":{},"modules/VideoConferenceModule.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["todos",{"_index":26088,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["together",{"_index":12396,"title":{},"body":{"classes/FilterNewsParams.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["toggleuserloginmigrationuc",{"_index":22562,"title":{"injectables/ToggleUserLoginMigrationUc.html":{}},"body":{"injectables/ToggleUserLoginMigrationUc.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{}}}],["tojson",{"_index":2093,"title":{},"body":{"classes/AxiosErrorFactory.html":{}}}],["token",{"_index":176,"title":{},"body":{"interfaces/AcceptConsentRequestBody.html":{},"entities/Account.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AntivirusService.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordScope.html":{},"controllers/FileSecurityController.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/JwtExtractor.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigResponse.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"classes/OauthProviderService.html":{},"controllers/OauthSSOController.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"entities/ShareToken.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"injectables/TokenGenerator.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["token.'})@apiresponse({status",{"_index":20306,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["token.body.params.ts",{"_index":20281,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["token.body.params.ts:13",{"_index":20290,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["token.body.params.ts:21",{"_index":20288,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["token.body.params.ts:32",{"_index":20286,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["token.body.params.ts:41",{"_index":20293,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["token.controller",{"_index":20540,"title":{},"body":{"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["token.controller.ts",{"_index":20300,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["token.controller.ts:40",{"_index":20308,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["token.controller.ts:67",{"_index":20322,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["token.controller.ts:86",{"_index":20318,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["token.do",{"_index":16321,"title":{},"body":{"classes/MetadataTypeMapper.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenFactory.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"injectables/TokenGenerator.html":{}}}],["token.do.factory.ts",{"_index":20359,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["token.do.factory.ts:9",{"_index":20362,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["token.do.ts",{"_index":20346,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["token.do.ts:27",{"_index":20352,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["token.do.ts:29",{"_index":20351,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["token.do.ts:31",{"_index":20349,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["token.do.ts:33",{"_index":20347,"title":{},"body":{"classes/ShareTokenDO.html":{}}}],["token.dto.ts",{"_index":16910,"title":{},"body":{"classes/OAuthTokenDto.html":{}}}],["token.dto.ts:2",{"_index":16913,"title":{},"body":{"classes/OAuthTokenDto.html":{}}}],["token.dto.ts:4",{"_index":16914,"title":{},"body":{"classes/OAuthTokenDto.html":{}}}],["token.dto.ts:6",{"_index":16912,"title":{},"body":{"classes/OAuthTokenDto.html":{}}}],["token.entity",{"_index":20409,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["token.entity.ts",{"_index":20266,"title":{},"body":{"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{}}}],["token.entity.ts:19",{"_index":20274,"title":{},"body":{"entities/ShareToken.html":{}}}],["token.entity.ts:22",{"_index":20272,"title":{},"body":{"entities/ShareToken.html":{}}}],["token.entity.ts:25",{"_index":20268,"title":{},"body":{"entities/ShareToken.html":{}}}],["token.entity.ts:32",{"_index":20270,"title":{},"body":{"entities/ShareToken.html":{}}}],["token.entity.ts:35",{"_index":20267,"title":{},"body":{"entities/ShareToken.html":{}}}],["token.entity.ts:43",{"_index":20271,"title":{},"body":{"entities/ShareToken.html":{}}}],["token.repo",{"_index":20447,"title":{},"body":{"injectables/ShareTokenService.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{}}}],["token.repo.ts",{"_index":20400,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["token.repo.ts:13",{"_index":20403,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["token.repo.ts:9",{"_index":20407,"title":{},"body":{"injectables/ShareTokenRepo.html":{}}}],["token.request.ts",{"_index":1494,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["token.request.ts:10",{"_index":1503,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["token.request.ts:12",{"_index":1499,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["token.request.ts:4",{"_index":1500,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["token.request.ts:6",{"_index":1501,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["token.request.ts:8",{"_index":1504,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{}}}],["token.response.ts",{"_index":17517,"title":{},"body":{"interfaces/OauthTokenResponse.html":{},"classes/ShareTokenResponse.html":{}}}],["token.response.ts:12",{"_index":20423,"title":{},"body":{"classes/ShareTokenResponse.html":{}}}],["token.response.ts:15",{"_index":20422,"title":{},"body":{"classes/ShareTokenResponse.html":{}}}],["token.response.ts:18",{"_index":20421,"title":{},"body":{"classes/ShareTokenResponse.html":{}}}],["token.response.ts:4",{"_index":20420,"title":{},"body":{"classes/ShareTokenResponse.html":{}}}],["token.service",{"_index":17238,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{},"modules/OauthProviderModule.html":{}}}],["token.service.ts",{"_index":13700,"title":{},"body":{"injectables/IdTokenService.html":{},"injectables/ShareTokenService.html":{}}}],["token.service.ts:13",{"_index":13706,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["token.service.ts:16",{"_index":20438,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["token.service.ts:21",{"_index":13710,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["token.service.ts:25",{"_index":20442,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["token.service.ts:42",{"_index":13708,"title":{},"body":{"injectables/IdTokenService.html":{},"injectables/ShareTokenService.html":{}}}],["token.service.ts:50",{"_index":20445,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["token.service.ts:52",{"_index":13712,"title":{},"body":{"injectables/IdTokenService.html":{}}}],["token.service.ts:70",{"_index":20440,"title":{},"body":{"injectables/ShareTokenService.html":{}}}],["token.ts",{"_index":12828,"title":{},"body":{"interfaces/GroupNameIdTuple.html":{},"interfaces/IdToken.html":{}}}],["token.uc.ts",{"_index":20462,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:132",{"_index":20477,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:140",{"_index":20478,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:151",{"_index":20480,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:167",{"_index":20476,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:193",{"_index":20470,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:205",{"_index":20472,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:226",{"_index":20488,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:232",{"_index":20474,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:25",{"_index":20468,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:40",{"_index":20482,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:68",{"_index":20486,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.uc.ts:90",{"_index":20484,"title":{},"body":{"injectables/ShareTokenUC.html":{}}}],["token.url.params.ts",{"_index":20531,"title":{},"body":{"classes/ShareTokenUrlParams.html":{}}}],["token.url.params.ts:11",{"_index":20533,"title":{},"body":{"classes/ShareTokenUrlParams.html":{}}}],["token_endpoint_auth_method",{"_index":11015,"title":{},"body":{"injectables/ExternalToolServiceMapper.html":{},"classes/OauthClientBody.html":{}}}],["token_type",{"_index":14207,"title":{},"body":{"interfaces/IntrospectResponse.html":{}}}],["token_use",{"_index":14208,"title":{},"body":{"interfaces/IntrospectResponse.html":{}}}],["tokenauthmethod",{"_index":17030,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["tokendto",{"_index":16901,"title":{},"body":{"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["tokendto.accesstoken",{"_index":16933,"title":{},"body":{"injectables/Oauth2Strategy.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["tokendto.idtoken",{"_index":16932,"title":{},"body":{"injectables/Oauth2Strategy.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["tokenendpoint",{"_index":13586,"title":{},"body":{"injectables/HydraSsoService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfigEntity.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"classes/OidcConfigEntity.html":{},"classes/SystemDomainMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"classes/SystemResponseMapper.html":{}}}],["tokenendpointauthmethod",{"_index":8249,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolService.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["tokenendpointauthmethod.client_secret_post",{"_index":8267,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["tokengenerator",{"_index":20437,"title":{"injectables/TokenGenerator.html":{}},"body":{"injectables/ShareTokenService.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"injectables/TokenGenerator.html":{}}}],["tokenrequestloggableexception",{"_index":16980,"title":{"classes/TokenRequestLoggableException.html":{}},"body":{"injectables/OauthAdapterService.html":{},"classes/TokenRequestLoggableException.html":{}}}],["tokenrequestloggableexception(error",{"_index":16993,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["tokenrequestmapper",{"_index":16876,"title":{"classes/TokenRequestMapper.html":{}},"body":{"injectables/OAuthService.html":{},"classes/TokenRequestMapper.html":{}}}],["tokenrequestmapper.createauthenticationcodegranttokenrequestpayload",{"_index":16908,"title":{},"body":{"injectables/OAuthService.html":{}}}],["tokenrequestmapper.maptokenresponsetodto(responsetoken",{"_index":16902,"title":{},"body":{"injectables/OAuthService.html":{}}}],["tokenrequestpayload",{"_index":16907,"title":{},"body":{"injectables/OAuthService.html":{}}}],["tokens",{"_index":17023,"title":{},"body":{"classes/OauthClientBody.html":{}}}],["tokenurl",{"_index":15011,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["tomorrow",{"_index":13404,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{}}}],["took",{"_index":20010,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["tool",{"_index":2671,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"interfaces/BoardDoBuilder.html":{},"modules/BoardModule.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"modules/ContextExternalToolModule.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"injectables/HydraSsoService.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"modules/OauthProviderModule.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"controllers/PseudonymController.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"modules/SchoolExternalToolModule.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"classes/SortExternalToolParams.html":{},"classes/TldrawWs.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"modules/ToolLaunchModule.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"modules/ToolModule.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"injectables/ToolVersionService.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["tool'})@apifoundresponse({description",{"_index":22633,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["tool'})@apiokresponse({description",{"_index":22981,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["tool'})@isstring()@isoptional",{"_index":10917,"title":{},"body":{"classes/ExternalToolSearchParams.html":{}}}],["tool.'})@apiokresponse({description",{"_index":22769,"title":{},"body":{"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{}}}],["tool.config",{"_index":17408,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["tool.config.clientid",{"_index":10978,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.config.skipconsent",{"_index":17409,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["tool.do.ts",{"_index":6625,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{},"classes/SchoolExternalTool.html":{},"interfaces/SchoolExternalToolProps.html":{}}}],["tool.do.ts:22",{"_index":6636,"title":{},"body":{"classes/ContextExternalTool.html":{}}}],["tool.do.ts:23",{"_index":19696,"title":{},"body":{"classes/SchoolExternalTool.html":{}}}],["tool.do.ts:24",{"_index":6632,"title":{},"body":{"classes/ContextExternalTool.html":{}}}],["tool.do.ts:25",{"_index":19700,"title":{},"body":{"classes/SchoolExternalTool.html":{}}}],["tool.do.ts:26",{"_index":6633,"title":{},"body":{"classes/ContextExternalTool.html":{}}}],["tool.do.ts:27",{"_index":19698,"title":{},"body":{"classes/SchoolExternalTool.html":{}}}],["tool.do.ts:28",{"_index":6634,"title":{},"body":{"classes/ContextExternalTool.html":{}}}],["tool.do.ts:29",{"_index":19697,"title":{},"body":{"classes/SchoolExternalTool.html":{}}}],["tool.do.ts:30",{"_index":6631,"title":{},"body":{"classes/ContextExternalTool.html":{}}}],["tool.do.ts:31",{"_index":19701,"title":{},"body":{"classes/SchoolExternalTool.html":{}}}],["tool.do.ts:33",{"_index":10077,"title":{},"body":{"classes/ExternalTool.html":{},"classes/SchoolExternalTool.html":{}}}],["tool.do.ts:35",{"_index":10080,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:37",{"_index":10076,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:39",{"_index":10075,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:41",{"_index":6638,"title":{},"body":{"classes/ContextExternalTool.html":{},"classes/ExternalTool.html":{}}}],["tool.do.ts:43",{"_index":10079,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:45",{"_index":10074,"title":{},"body":{"classes/ExternalTool.html":{},"classes/SchoolExternalTool.html":{}}}],["tool.do.ts:47",{"_index":10078,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:49",{"_index":10081,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:51",{"_index":10073,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:76",{"_index":10082,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:80",{"_index":10084,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:84",{"_index":10088,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.do.ts:88",{"_index":10086,"title":{},"body":{"classes/ExternalTool.html":{}}}],["tool.entity",{"_index":10276,"title":{},"body":{"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["tool.entity.ts",{"_index":6721,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"entities/ExternalToolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{}}}],["tool.entity.ts:14",{"_index":10295,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool.entity.ts:17",{"_index":10299,"title":{},"body":{"entities/ExternalToolEntity.html":{},"entities/SchoolExternalToolEntity.html":{}}}],["tool.entity.ts:20",{"_index":10293,"title":{},"body":{"entities/ExternalToolEntity.html":{},"entities/SchoolExternalToolEntity.html":{}}}],["tool.entity.ts:23",{"_index":10292,"title":{},"body":{"entities/ExternalToolEntity.html":{},"entities/SchoolExternalToolEntity.html":{}}}],["tool.entity.ts:24",{"_index":6730,"title":{},"body":{"entities/ContextExternalToolEntity.html":{}}}],["tool.entity.ts:26",{"_index":10290,"title":{},"body":{"entities/ExternalToolEntity.html":{},"entities/SchoolExternalToolEntity.html":{}}}],["tool.entity.ts:27",{"_index":6723,"title":{},"body":{"entities/ContextExternalToolEntity.html":{}}}],["tool.entity.ts:29",{"_index":10297,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool.entity.ts:30",{"_index":6725,"title":{},"body":{"entities/ContextExternalToolEntity.html":{}}}],["tool.entity.ts:32",{"_index":10291,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool.entity.ts:33",{"_index":6726,"title":{},"body":{"entities/ContextExternalToolEntity.html":{}}}],["tool.entity.ts:35",{"_index":10296,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool.entity.ts:36",{"_index":6728,"title":{},"body":{"entities/ContextExternalToolEntity.html":{}}}],["tool.entity.ts:38",{"_index":10300,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool.entity.ts:39",{"_index":6731,"title":{},"body":{"entities/ContextExternalToolEntity.html":{}}}],["tool.entity.ts:41",{"_index":10298,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool.factory.ts",{"_index":6744,"title":{},"body":{"classes/ContextExternalToolFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/SchoolExternalToolFactory.html":{}}}],["tool.factory.ts:100",{"_index":10328,"title":{},"body":{"classes/ExternalToolFactory.html":{}}}],["tool.factory.ts:107",{"_index":10327,"title":{},"body":{"classes/ExternalToolFactory.html":{}}}],["tool.factory.ts:29",{"_index":16959,"title":{},"body":{"classes/Oauth2ToolConfigFactory.html":{}}}],["tool.factory.ts:65",{"_index":8247,"title":{},"body":{"classes/CustomParameterFactory.html":{}}}],["tool.factory.ts:8",{"_index":19721,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["tool.factory.ts:86",{"_index":10330,"title":{},"body":{"classes/ExternalToolFactory.html":{}}}],["tool.factory.ts:9",{"_index":6747,"title":{},"body":{"classes/ContextExternalToolFactory.html":{}}}],["tool.factory.ts:93",{"_index":10329,"title":{},"body":{"classes/ExternalToolFactory.html":{}}}],["tool.id",{"_index":10149,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/IdTokenService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/PseudonymService.html":{}}}],["tool.ishidden",{"_index":10147,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["tool.logo",{"_index":10411,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["tool.module",{"_index":22615,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["tool.module.ts",{"_index":6023,"title":{},"body":{"modules/CommonToolModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/ExternalToolModule.html":{},"modules/LtiToolModule.html":{},"modules/SchoolExternalToolModule.html":{}}}],["tool.name",{"_index":10983,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{}}}],["tool.oauthclientid",{"_index":13565,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["tool.repo.mapper.ts",{"_index":10658,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:109",{"_index":10670,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:116",{"_index":10691,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:125",{"_index":10687,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:138",{"_index":10683,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:156",{"_index":10675,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:17",{"_index":10685,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:174",{"_index":10681,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:184",{"_index":10678,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:49",{"_index":10673,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:56",{"_index":10694,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:65",{"_index":10689,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.mapper.ts:78",{"_index":10684,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["tool.repo.ts",{"_index":6791,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:128",{"_index":6816,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["tool.repo.ts:139",{"_index":6814,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["tool.repo.ts:15",{"_index":10634,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:17",{"_index":6798,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["tool.repo.ts:20",{"_index":10645,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:22",{"_index":6825,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["tool.repo.ts:24",{"_index":10639,"title":{},"body":{"injectables/ExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:26",{"_index":6807,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["tool.repo.ts:33",{"_index":6809,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:42",{"_index":10641,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["tool.repo.ts:43",{"_index":19770,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:44",{"_index":6805,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["tool.repo.ts:48",{"_index":19771,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:51",{"_index":10636,"title":{},"body":{"injectables/ExternalToolRepo.html":{}}}],["tool.repo.ts:57",{"_index":19767,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["tool.repo.ts:66",{"_index":6812,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["tool.repo.ts:84",{"_index":6801,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["tool.response",{"_index":6976,"title":{},"body":{"classes/ContextExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{}}}],["tool.response.ts",{"_index":6886,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:10",{"_index":6895,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:11",{"_index":10853,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["tool.response.ts:13",{"_index":6889,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:14",{"_index":10857,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["tool.response.ts:16",{"_index":6890,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:17",{"_index":10852,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["tool.response.ts:19",{"_index":6891,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:20",{"_index":10849,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["tool.response.ts:22",{"_index":6894,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:23",{"_index":10855,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["tool.response.ts:25",{"_index":6896,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:26",{"_index":10851,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["tool.response.ts:28",{"_index":6888,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:29",{"_index":10854,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["tool.response.ts:32",{"_index":10858,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["tool.response.ts:35",{"_index":10846,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["tool.response.ts:7",{"_index":6892,"title":{},"body":{"classes/ContextExternalToolResponse.html":{},"classes/SchoolExternalToolResponse.html":{}}}],["tool.response.ts:8",{"_index":10850,"title":{},"body":{"classes/ExternalToolResponse.html":{}}}],["tool.rule.ts",{"_index":6939,"title":{},"body":{"injectables/ContextExternalToolRule.html":{},"injectables/SchoolExternalToolRule.html":{}}}],["tool.rule.ts:12",{"_index":6942,"title":{},"body":{"injectables/ContextExternalToolRule.html":{},"injectables/SchoolExternalToolRule.html":{}}}],["tool.rule.ts:18",{"_index":6941,"title":{},"body":{"injectables/ContextExternalToolRule.html":{},"injectables/SchoolExternalToolRule.html":{}}}],["tool.rule.ts:9",{"_index":6940,"title":{},"body":{"injectables/ContextExternalToolRule.html":{},"injectables/SchoolExternalToolRule.html":{}}}],["tool.scope",{"_index":6831,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"injectables/ExternalToolRepo.html":{},"injectables/SchoolExternalToolRepo.html":{}}}],["tool.scope.ts",{"_index":6946,"title":{},"body":{"classes/ContextExternalToolScope.html":{},"classes/ExternalToolScope.html":{},"classes/SchoolExternalToolScope.html":{}}}],["tool.scope.ts:12",{"_index":10907,"title":{},"body":{"classes/ExternalToolScope.html":{}}}],["tool.scope.ts:13",{"_index":19821,"title":{},"body":{"classes/SchoolExternalToolScope.html":{}}}],["tool.scope.ts:15",{"_index":6967,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["tool.scope.ts:19",{"_index":10909,"title":{},"body":{"classes/ExternalToolScope.html":{}}}],["tool.scope.ts:22",{"_index":6961,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["tool.scope.ts:30",{"_index":6963,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["tool.scope.ts:5",{"_index":10911,"title":{},"body":{"classes/ExternalToolScope.html":{}}}],["tool.scope.ts:6",{"_index":19820,"title":{},"body":{"classes/SchoolExternalToolScope.html":{}}}],["tool.scope.ts:7",{"_index":6965,"title":{},"body":{"classes/ContextExternalToolScope.html":{}}}],["tool.secret",{"_index":13566,"title":{},"body":{"injectables/HydraSsoService.html":{}}}],["tool.service",{"_index":7073,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ToolReferenceService.html":{}}}],["tool.service.ts",{"_index":6029,"title":{},"body":{"injectables/CommonToolService.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ExternalToolService.html":{},"injectables/LtiToolService.html":{},"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:100",{"_index":10945,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:105",{"_index":10940,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:120",{"_index":10952,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:13",{"_index":19830,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:133",{"_index":10956,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:14",{"_index":6986,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["tool.service.ts:145",{"_index":10936,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:15",{"_index":6035,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["tool.service.ts:18",{"_index":10934,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:21",{"_index":19838,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:22",{"_index":7000,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["tool.service.ts:26",{"_index":19840,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:28",{"_index":6998,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["tool.service.ts:30",{"_index":10938,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:34",{"_index":6996,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["tool.service.ts:36",{"_index":19836,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:40",{"_index":6042,"title":{},"body":{"injectables/CommonToolService.html":{},"injectables/ContextExternalToolService.html":{}}}],["tool.service.ts:44",{"_index":6038,"title":{},"body":{"injectables/CommonToolService.html":{},"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:46",{"_index":6990,"title":{},"body":{"injectables/ContextExternalToolService.html":{},"injectables/ExternalToolService.html":{}}}],["tool.service.ts:53",{"_index":10947,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:56",{"_index":6992,"title":{},"body":{"injectables/ContextExternalToolService.html":{},"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:6",{"_index":16050,"title":{},"body":{"injectables/LtiToolService.html":{}}}],["tool.service.ts:60",{"_index":6994,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["tool.service.ts:68",{"_index":6988,"title":{},"body":{"injectables/ContextExternalToolService.html":{}}}],["tool.service.ts:80",{"_index":10941,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.service.ts:85",{"_index":19832,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:89",{"_index":19842,"title":{},"body":{"injectables/SchoolExternalToolService.html":{}}}],["tool.service.ts:9",{"_index":16052,"title":{},"body":{"injectables/LtiToolService.html":{}}}],["tool.service.ts:95",{"_index":10943,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tool.skipconsent",{"_index":17407,"title":{},"body":{"injectables/OauthProviderLoginFlowUc.html":{}}}],["tool.types",{"_index":6828,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"controllers/ToolContextController.html":{},"controllers/ToolSchoolController.html":{}}}],["tool.uc.ts",{"_index":7023,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ExternalToolUc.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:105",{"_index":19876,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:106",{"_index":7041,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tool.uc.ts:120",{"_index":7039,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tool.uc.ts:129",{"_index":7037,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tool.uc.ts:16",{"_index":19866,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:18",{"_index":11038,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:22",{"_index":7031,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tool.uc.ts:25",{"_index":19874,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:27",{"_index":11040,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:31",{"_index":7033,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tool.uc.ts:36",{"_index":19868,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:40",{"_index":11051,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:53",{"_index":19871,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:61",{"_index":7043,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:65",{"_index":19870,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:72",{"_index":11047,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:77",{"_index":19878,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:79",{"_index":11042,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:85",{"_index":19880,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool.uc.ts:86",{"_index":11049,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:95",{"_index":11044,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["tool.uc.ts:97",{"_index":7035,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tool/context",{"_index":6768,"title":{},"body":{"modules/ContextExternalToolModule.html":{}}}],["tool/controller",{"_index":22607,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["tool/controller/domain/school",{"_index":19702,"title":{},"body":{"classes/SchoolExternalToolConfigurationStatus.html":{}}}],["tool/controller/dto",{"_index":6789,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"controllers/ToolSchoolController.html":{}}}],["tool/controller/dto/context",{"_index":6703,"title":{},"body":{"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolSearchListResponse.html":{}}}],["tool/controller/dto/custom",{"_index":8235,"title":{},"body":{"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{}}}],["tool/controller/dto/request/config/basic",{"_index":2691,"title":{},"body":{"classes/BasicToolConfigParams.html":{}}}],["tool/controller/dto/request/config/external",{"_index":10104,"title":{},"body":{"classes/ExternalToolConfigCreateParams.html":{}}}],["tool/controller/dto/request/config/lti11",{"_index":15891,"title":{},"body":{"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{}}}],["tool/controller/dto/request/config/oauth2",{"_index":16947,"title":{},"body":{"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["tool/controller/dto/request/context",{"_index":6755,"title":{},"body":{"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextRefParams.html":{}}}],["tool/controller/dto/request/custom",{"_index":8304,"title":{},"body":{"classes/CustomParameterPostParams.html":{}}}],["tool/controller/dto/request/external",{"_index":10236,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolSearchParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/SortExternalToolParams.html":{}}}],["tool/controller/dto/request/school",{"_index":19728,"title":{},"body":{"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolIdParams-1.html":{}}}],["tool/controller/dto/response/config/basic",{"_index":2701,"title":{},"body":{"classes/BasicToolConfigResponse.html":{}}}],["tool/controller/dto/response/config/external",{"_index":10110,"title":{},"body":{"classes/ExternalToolConfigResponse.html":{}}}],["tool/controller/dto/response/config/lti11",{"_index":15910,"title":{},"body":{"classes/Lti11ToolConfigResponse.html":{}}}],["tool/controller/dto/response/config/oauth2",{"_index":16960,"title":{},"body":{"classes/Oauth2ToolConfigResponse.html":{}}}],["tool/controller/dto/response/context",{"_index":6675,"title":{},"body":{"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{}}}],["tool/controller/dto/response/custom",{"_index":8327,"title":{},"body":{"classes/CustomParameterResponse.html":{}}}],["tool/controller/dto/response/external",{"_index":10446,"title":{},"body":{"classes/ExternalToolMetadataResponse.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolSearchListResponse.html":{}}}],["tool/controller/dto/response/school",{"_index":19708,"title":{},"body":{"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{}}}],["tool/controller/dto/response/tool",{"_index":22745,"title":{},"body":{"classes/ToolContextTypesListResponse.html":{}}}],["tool/controller/dto/school",{"_index":19704,"title":{},"body":{"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{}}}],["tool/controller/dto/tool",{"_index":22997,"title":{},"body":{"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceResponse.html":{}}}],["tool/controller/tool",{"_index":22608,"title":{},"body":{"modules/ToolApiModule.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{}}}],["tool/controller/tool.controller.ts",{"_index":22746,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/controller/tool.controller.ts:104",{"_index":22766,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/controller/tool.controller.ts:123",{"_index":22779,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/controller/tool.controller.ts:145",{"_index":22759,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/controller/tool.controller.ts:163",{"_index":22771,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/controller/tool.controller.ts:179",{"_index":22775,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/controller/tool.controller.ts:56",{"_index":22752,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/controller/tool.controller.ts:76",{"_index":22763,"title":{},"body":{"controllers/ToolController.html":{}}}],["tool/domain",{"_index":2007,"title":{},"body":{"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"classes/ContextExternalTool.html":{},"classes/ContextExternalToolFactory.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/CustomParameterFactory.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolService.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/FeathersRosterService.html":{},"injectables/IdTokenService.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"injectables/NextcloudStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/PseudonymService.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolVersionService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["tool/domain/config/basic",{"_index":2670,"title":{},"body":{"classes/BasicToolConfig.html":{}}}],["tool/domain/config/external",{"_index":10102,"title":{},"body":{"classes/ExternalToolConfig.html":{}}}],["tool/domain/config/lti11",{"_index":15882,"title":{},"body":{"classes/Lti11ToolConfig.html":{}}}],["tool/domain/config/oauth2",{"_index":16937,"title":{},"body":{"classes/Oauth2ToolConfig.html":{}}}],["tool/domain/context",{"_index":6624,"title":{},"body":{"classes/ContextExternalTool.html":{},"interfaces/ContextExternalToolProps.html":{},"classes/ContextRef.html":{}}}],["tool/domain/external",{"_index":10068,"title":{},"body":{"classes/ExternalTool.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolMetadata.html":{},"interfaces/ExternalToolProps.html":{}}}],["tool/domain/school",{"_index":19694,"title":{},"body":{"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolMetadata.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{}}}],["tool/domain/tool",{"_index":22965,"title":{},"body":{"classes/ToolReference.html":{}}}],["tool/entity",{"_index":6733,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolMetadata.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSortingMapper.html":{},"classes/RecursiveSaveVisitor.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolMetadata.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"interfaces/SchoolExternalToolProperties.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/ToolContextMapper.html":{}}}],["tool/entity/config/basic",{"_index":2682,"title":{},"body":{"classes/BasicToolConfigEntity.html":{}}}],["tool/entity/config/external",{"_index":10107,"title":{},"body":{"classes/ExternalToolConfigEntity.html":{}}}],["tool/entity/config/lti11",{"_index":15903,"title":{},"body":{"classes/Lti11ToolConfigEntity.html":{}}}],["tool/entity/config/oauth2",{"_index":16955,"title":{},"body":{"classes/Oauth2ToolConfigEntity.html":{}}}],["tool/entity/context",{"_index":6720,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{}}}],["tool/entity/custom",{"_index":8213,"title":{},"body":{"classes/CustomParameterEntity.html":{}}}],["tool/entity/external",{"_index":10286,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["tool/entity/school",{"_index":19710,"title":{},"body":{"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{}}}],["tool/external",{"_index":10480,"title":{},"body":{"modules/ExternalToolModule.html":{}}}],["tool/loggable/external",{"_index":10340,"title":{},"body":{"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{}}}],["tool/lti",{"_index":15998,"title":{},"body":{"modules/LtiToolModule.html":{}}}],["tool/mapper",{"_index":22611,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["tool/mapper/context",{"_index":6865,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponseMapper.html":{}}}],["tool/mapper/external",{"_index":10439,"title":{},"body":{"classes/ExternalToolMetadataMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{}}}],["tool/mapper/school",{"_index":19733,"title":{},"body":{"classes/SchoolExternalToolMetadataMapper.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{}}}],["tool/mapper/tool",{"_index":22667,"title":{},"body":{"classes/ToolConfigurationMapper.html":{},"classes/ToolReferenceMapper.html":{}}}],["tool/school",{"_index":19751,"title":{},"body":{"modules/SchoolExternalToolModule.html":{}}}],["tool/service",{"_index":7002,"title":{},"body":{"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/FeathersRosterService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/RecursiveDeleteVisitor.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"modules/ToolApiModule.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolVersionService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["tool/service/context",{"_index":6654,"title":{},"body":{"injectables/ContextExternalToolAuthorizableService.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolValidationService.html":{}}}],["tool/service/external",{"_index":10114,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{}}}],["tool/service/lti",{"_index":16048,"title":{},"body":{"injectables/LtiToolService.html":{}}}],["tool/service/restricted",{"_index":18839,"title":{},"body":{"classes/RestrictedContextMismatchLoggable.html":{}}}],["tool/service/school",{"_index":19740,"title":{},"body":{"injectables/SchoolExternalToolMetadataService.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolValidationService.html":{}}}],["tool/service/tool",{"_index":22911,"title":{},"body":{"injectables/ToolLaunchService.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolVersionService.html":{}}}],["tool/uc",{"_index":22610,"title":{},"body":{"modules/ToolApiModule.html":{}}}],["tool/uc/context",{"_index":7022,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tool/uc/dto/context",{"_index":6827,"title":{},"body":{"injectables/ContextExternalToolRepo.html":{}}}],["tool/uc/dto/school",{"_index":19776,"title":{},"body":{"injectables/SchoolExternalToolRepo.html":{}}}],["tool/uc/external",{"_index":10175,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ExternalToolUc.html":{}}}],["tool/uc/school",{"_index":19859,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["tool/uc/tool",{"_index":23023,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["tool1",{"_index":6043,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["tool1.getversion",{"_index":6053,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["tool2",{"_index":6041,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["tool2.getversion",{"_index":6054,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["tool_clientid_duplicate",{"_index":11111,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["tool_clientid_immutable",{"_index":11107,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["tool_clientsecret_missing",{"_index":11109,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["tool_param_auto_requires_global",{"_index":10524,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["tool_param_default_regex",{"_index":10534,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["tool_param_default_required",{"_index":10521,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["tool_param_duplicate",{"_index":6117,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{}}}],["tool_param_regex_invalid",{"_index":10531,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["tool_param_regexcomment",{"_index":10528,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["tool_param_required",{"_index":6134,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["tool_param_type_mismatch",{"_index":6137,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{}}}],["tool_param_unknown",{"_index":6125,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["tool_param_value_regex",{"_index":6142,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["tool_secret_missing",{"_index":11112,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["tool_status_outdated",{"_index":23093,"title":{},"body":{"classes/ToolStatusOutdatedLoggableException.html":{}}}],["tool_type_immutable",{"_index":11103,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["tool_version_mismatch",{"_index":19897,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["tool_with_name_exists",{"_index":7089,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["toolapimodule",{"_index":20204,"title":{"modules/ToolApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/ToolApiModule.html":{}}}],["toolconfigmodule",{"_index":6764,"title":{"modules/ToolConfigModule.html":{}},"body":{"modules/ContextExternalToolModule.html":{},"modules/ExternalToolModule.html":{},"modules/OauthProviderModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolConfigModule.html":{},"modules/ToolModule.html":{}}}],["toolconfigtype",{"_index":2676,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"interfaces/ExternalToolProps.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/ToolLaunchMapper.html":{},"injectables/ToolLaunchService.html":{}}}],["toolconfigtype.basic",{"_index":2679,"title":{},"body":{"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/ToolLaunchMapper.html":{}}}],["toolconfigtype.lti11",{"_index":8274,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolFactory.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/ToolLaunchMapper.html":{}}}],["toolconfigtype.oauth2",{"_index":8270,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/ToolLaunchMapper.html":{}}}],["toolconfigtypetotoollaunchdatatypemapping",{"_index":22858,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["toolconfigtypetotoollaunchdatatypemapping[configtype",{"_index":22866,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["toolconfiguration",{"_index":13665,"title":{"classes/ToolConfiguration.html":{}},"body":{"interfaces/IToolFeatures.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{}}}],["toolconfiguration.toolfeatures",{"_index":22617,"title":{},"body":{"modules/ToolConfigModule.html":{}}}],["toolconfigurationcontroller",{"_index":22602,"title":{"controllers/ToolConfigurationController.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolConfigurationController.html":{}}}],["toolconfigurationmapper",{"_index":22645,"title":{"classes/ToolConfigurationMapper.html":{}},"body":{"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{}}}],["toolconfigurationmapper.maptocontextexternaltoolconfigurationtemplatelistresponse(availabletools",{"_index":22660,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["toolconfigurationmapper.maptocontextexternaltoolconfigurationtemplateresponse(tool",{"_index":22666,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["toolconfigurationmapper.maptoschoolexternaltoolconfigurationtemplatelistresponse(availabletools",{"_index":22656,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["toolconfigurationmapper.maptoschoolexternaltoolconfigurationtemplateresponse(tool",{"_index":22663,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["toolconfigurationmapper.maptotoolcontexttypeslistresponse(toolcontexttypes",{"_index":22653,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["toolcontextcontroller",{"_index":22604,"title":{"controllers/ToolContextController.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolContextController.html":{}}}],["toolcontextmapper",{"_index":10460,"title":{"classes/ToolContextMapper.html":{}},"body":{"injectables/ExternalToolMetadataService.html":{},"modules/ExternalToolModule.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/ToolContextMapper.html":{}}}],["toolcontextmapper.contextmapping[contexttype",{"_index":10466,"title":{},"body":{"injectables/ExternalToolMetadataService.html":{},"injectables/SchoolExternalToolMetadataService.html":{}}}],["toolcontexttype",{"_index":2034,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/CommonToolService.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolPostParams.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolScope.html":{},"injectables/ContextExternalToolUc.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"classes/ExternalTool.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolCreateParams.html":{},"entities/ExternalToolEntity.html":{},"injectables/ExternalToolMetadataService.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/FeathersRosterService.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceUc.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["toolcontexttype.board_element",{"_index":2042,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ToolContextMapper.html":{},"injectables/ToolPermissionHelper.html":{}}}],["toolcontexttype.course",{"_index":2039,"title":{},"body":{"injectables/AutoContextNameStrategy.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/FeathersRosterService.html":{},"classes/ToolContextMapper.html":{},"injectables/ToolPermissionHelper.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["toolcontexttypes",{"_index":10172,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{}}}],["toolcontexttypeslistresponse",{"_index":22642,"title":{"classes/ToolContextTypesListResponse.html":{}},"body":{"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"classes/ToolContextTypesListResponse.html":{}}}],["toolcontexttypeslistresponse(toolcontexttypes",{"_index":22695,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["toolcontroller",{"_index":22606,"title":{"controllers/ToolController.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolController.html":{}}}],["toolfeatures",{"_index":10125,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolLogoService.html":{},"interfaces/IToolFeatures.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"modules/ToolConfigModule.html":{},"classes/ToolConfiguration.html":{},"injectables/ToolVersionService.html":{}}}],["toolid",{"_index":10373,"title":{},"body":{"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolMetadataService.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersRosterService.html":{},"classes/Pseudonym.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolExternalToolScope.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["toolidsinuse",{"_index":10136,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{}}}],["toolidsinuse.includes(tool.id",{"_index":10150,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["toolinfo",{"_index":22679,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["toolinfos",{"_index":22676,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["toolinfos.map",{"_index":22691,"title":{},"body":{"classes/ToolConfigurationMapper.html":{}}}],["tooling",{"_index":25737,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["toollaunchcontroller",{"_index":22601,"title":{"controllers/ToolLaunchController.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolLaunchController.html":{}}}],["toollaunchdata",{"_index":2751,"title":{"classes/ToolLaunchData.html":{}},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/ToolLaunchData.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{}}}],["toollaunchdatado",{"_index":2756,"title":{},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"interfaces/ToolLaunchStrategy.html":{}}}],["toollaunchdatatype",{"_index":22835,"title":{},"body":{"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{}}}],["toollaunchdatatype.basic",{"_index":22859,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["toollaunchdatatype.lti11",{"_index":22860,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["toollaunchdatatype.oauth2",{"_index":22861,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["toollaunchdatatypetotoolconfigtypemapping",{"_index":22862,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["toollaunchdatatypetotoolconfigtypemapping[launchdatatype",{"_index":22867,"title":{},"body":{"classes/ToolLaunchMapper.html":{}}}],["toollaunchmapper",{"_index":22825,"title":{"classes/ToolLaunchMapper.html":{}},"body":{"controllers/ToolLaunchController.html":{},"classes/ToolLaunchMapper.html":{},"injectables/ToolLaunchService.html":{}}}],["toollaunchmapper.maptotoolconfigtype(toollaunchdata.type",{"_index":22918,"title":{},"body":{"injectables/ToolLaunchService.html":{}}}],["toollaunchmapper.maptotoollaunchrequestresponse(toollaunchrequest",{"_index":22830,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["toollaunchmodule",{"_index":22868,"title":{"modules/ToolLaunchModule.html":{}},"body":{"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{}}}],["toollaunchparams",{"_index":2728,"title":{"classes/ToolLaunchParams.html":{}},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchParams.html":{},"interfaces/ToolLaunchStrategy.html":{}}}],["toollaunchrequest",{"_index":2761,"title":{"classes/ToolLaunchRequest.html":{}},"body":{"injectables/BasicToolLaunchStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequest.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{}}}],["toollaunchrequestresponse",{"_index":22826,"title":{"classes/ToolLaunchRequestResponse.html":{}},"body":{"controllers/ToolLaunchController.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequestResponse.html":{}}}],["toollaunchrequestresponse})@apiunauthorizedresponse({description",{"_index":22819,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["toollaunchservice",{"_index":22873,"title":{"injectables/ToolLaunchService.html":{}},"body":{"modules/ToolLaunchModule.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolLaunchUc.html":{}}}],["toollaunchstrategy",{"_index":22913,"title":{"interfaces/ToolLaunchStrategy.html":{}},"body":{"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{}}}],["toollaunchuc",{"_index":22599,"title":{"injectables/ToolLaunchUc.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolLaunchController.html":{},"injectables/ToolLaunchUc.html":{}}}],["toolmodule",{"_index":1933,"title":{"modules/ToolModule.html":{}},"body":{"modules/AuthorizationReferenceModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/OauthProviderModule.html":{},"modules/PseudonymModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolModule.html":{}}}],["toolpermissionhelper",{"_index":7030,"title":{"injectables/ToolPermissionHelper.html":{}},"body":{"injectables/ContextExternalToolUc.html":{},"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolUc.html":{},"modules/ToolApiModule.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceUc.html":{}}}],["toolref",{"_index":10162,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["toolref.externaltool.ishidden",{"_index":10164,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["toolreference",{"_index":6913,"title":{"classes/ToolReference.html":{}},"body":{"classes/ContextExternalToolResponseMapper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{}}}],["toolreference.contexttoolid",{"_index":6932,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"classes/ToolReference.html":{}}}],["toolreference.displayname",{"_index":6933,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"classes/ToolReference.html":{}}}],["toolreference.logourl",{"_index":6934,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"classes/ToolReference.html":{},"injectables/ToolReferenceService.html":{}}}],["toolreference.openinnewtab",{"_index":6936,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"classes/ToolReference.html":{}}}],["toolreference.status",{"_index":22974,"title":{},"body":{"classes/ToolReference.html":{}}}],["toolreferencecontroller",{"_index":22605,"title":{"controllers/ToolReferenceController.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolReferenceController.html":{}}}],["toolreferencelistresponse",{"_index":22988,"title":{"classes/ToolReferenceListResponse.html":{}},"body":{"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{}}}],["toolreferencelistresponse(toolreferenceresponses",{"_index":22996,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["toolreferencelistresponse})@apiforbiddenresponse({description",{"_index":22986,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["toolreferencemapper",{"_index":22999,"title":{"classes/ToolReferenceMapper.html":{}},"body":{"classes/ToolReferenceMapper.html":{},"injectables/ToolReferenceService.html":{}}}],["toolreferencemapper.maptotoolreference",{"_index":23022,"title":{},"body":{"injectables/ToolReferenceService.html":{}}}],["toolreferenceresponse",{"_index":6915,"title":{"classes/ToolReferenceResponse.html":{}},"body":{"classes/ContextExternalToolResponseMapper.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceResponse.html":{}}}],["toolreferenceresponse.contexttoolid",{"_index":23014,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["toolreferenceresponse.displayname",{"_index":23016,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["toolreferenceresponse.logourl",{"_index":23015,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["toolreferenceresponse.openinnewtab",{"_index":23017,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["toolreferenceresponse.status",{"_index":23018,"title":{},"body":{"classes/ToolReferenceResponse.html":{}}}],["toolreferenceresponses",{"_index":6928,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"controllers/ToolReferenceController.html":{}}}],["toolreferenceresponse})@apiforbiddenresponse({description",{"_index":22982,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["toolreferences",{"_index":6918,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{},"controllers/ToolReferenceController.html":{}}}],["toolreferences.map((toolreference",{"_index":6929,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["toolreferenceservice",{"_index":6767,"title":{"injectables/ToolReferenceService.html":{}},"body":{"modules/ContextExternalToolModule.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{}}}],["toolreferencespromises",{"_index":23036,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["toolreferenceswithnull",{"_index":23038,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["toolreferenceswithnull.filter",{"_index":23041,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["toolreferenceuc",{"_index":22600,"title":{"injectables/ToolReferenceUc.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolReferenceController.html":{},"injectables/ToolReferenceUc.html":{}}}],["tools",{"_index":6735,"title":{},"body":{"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"entities/ExternalToolEntity.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/NextcloudStrategy.html":{},"entities/SchoolExternalToolEntity.html":{},"interfaces/SchoolExternalToolProperties.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"controllers/ToolConfigurationController.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"controllers/ToolSchoolController.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["tools')@apiforbiddenresponse()@apioperation({summary",{"_index":22622,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["tools.data",{"_index":10979,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tools.data.map",{"_index":22790,"title":{},"body":{"controllers/ToolController.html":{}}}],["tools.data.map(async",{"_index":10974,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tools.filter((tool",{"_index":7066,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["tools.map(async",{"_index":10232,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{}}}],["tools.total",{"_index":22792,"title":{},"body":{"controllers/ToolController.html":{}}}],["tools/:contextexternaltoolid",{"_index":22990,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["tools/:contextexternaltoolid')@apioperation({summary",{"_index":22980,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["tools/:contextexternaltoolid/configuration",{"_index":22631,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["tools/:schoolexternaltoolid/configuration",{"_index":22637,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["tools/context",{"_index":22697,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["tools/external",{"_index":22747,"title":{},"body":{"controllers/ToolController.html":{}}}],["tools/school",{"_index":23046,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["tools/tool",{"_index":22976,"title":{},"body":{"controllers/ToolReferenceController.html":{}}}],["tools/{id}/logo",{"_index":10218,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ToolReferenceService.html":{}}}],["toolschoolcontroller",{"_index":22603,"title":{"controllers/ToolSchoolController.html":{}},"body":{"modules/ToolApiModule.html":{},"controllers/ToolSchoolController.html":{}}}],["toolstatusoutdatedloggableexception",{"_index":22912,"title":{"classes/ToolStatusOutdatedLoggableException.html":{}},"body":{"injectables/ToolLaunchService.html":{},"classes/ToolStatusOutdatedLoggableException.html":{}}}],["toolstatusresponsemapper",{"_index":6919,"title":{"classes/ToolStatusResponseMapper.html":{}},"body":{"classes/ContextExternalToolResponseMapper.html":{},"classes/ToolStatusResponseMapper.html":{}}}],["toolstatusresponsemapper.maptoresponse(toolreference.status",{"_index":6937,"title":{},"body":{"classes/ContextExternalToolResponseMapper.html":{}}}],["toolstatuswithoutversions",{"_index":13663,"title":{},"body":{"interfaces/IToolFeatures.html":{},"classes/ToolConfiguration.html":{}}}],["toolswithpermission",{"_index":7062,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["toolswithschooltool",{"_index":10156,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["toolswithschooltool.filter",{"_index":10161,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["tooltemplateinfo.externaltool",{"_index":10226,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["tooltemplateinfo.externaltool.logourl",{"_index":10227,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{}}}],["toolvalidationservice",{"_index":11037,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["toolversion",{"_index":6040,"title":{"interfaces/ToolVersion.html":{}},"body":{"injectables/CommonToolService.html":{},"classes/ContextExternalTool.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ExternalTool.html":{},"interfaces/ExternalToolProps.html":{},"classes/SchoolExternalTool.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"interfaces/ToolVersion.html":{}}}],["toolversionservice",{"_index":6033,"title":{"injectables/ToolVersionService.html":{}},"body":{"injectables/CommonToolService.html":{},"modules/ContextExternalToolModule.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolVersionService.html":{}}}],["toomanypseudonymsloggableexception",{"_index":22589,"title":{"classes/TooManyPseudonymsLoggableException.html":{}},"body":{"classes/TooManyPseudonymsLoggableException.html":{}}}],["toomodule",{"_index":1939,"title":{},"body":{"modules/AuthorizationReferenceModule.html":{}}}],["top",{"_index":21498,"title":{},"body":{"injectables/TaskCopyUC.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["toparams",{"_index":2331,"title":{},"body":{"injectables/BBBService.html":{}}}],["toparams(object",{"_index":2370,"title":{},"body":{"injectables/BBBService.html":{}}}],["topic",{"_index":25917,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["topics\\/([0",{"_index":15579,"title":{},"body":{"injectables/LessonUrlHandler.html":{}}}],["toplevel",{"_index":14572,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["toposition",{"_index":4387,"title":{},"body":{"controllers/CardController.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{}}}],["toseedfolder",{"_index":5191,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["tostring",{"_index":996,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["total",{"_index":863,"title":{},"body":{"classes/AccountSearchListResponse.html":{},"injectables/BaseDORepo.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileResponse.html":{},"controllers/CourseController.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordResponse.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/Page.html":{},"classes/PaginationResponse.html":{},"controllers/TaskController.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"injectables/TaskUC.html":{},"injectables/UserDORepo.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"injectables/UserRepo.html":{}}}],["total.length",{"_index":23848,"title":{},"body":{"injectables/UserRepo.html":{}}}],["total[0].count",{"_index":23849,"title":{},"body":{"injectables/UserRepo.html":{}}}],["totalitems",{"_index":13015,"title":{},"body":{"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/Meta.html":{},"interfaces/NextcloudGroups.html":{},"interfaces/OcsResponse.html":{},"interfaces/SuccessfulRes.html":{}}}],["tothrow",{"_index":13032,"title":{},"body":{"classes/GuardAgainst.html":{}}}],["touching",{"_index":26066,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["toupdate",{"_index":10950,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{}}}],["toupdate.config",{"_index":10992,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["toupdate.config.clientid",{"_index":10994,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["toupdate.name",{"_index":10991,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["toupdateoauthclient",{"_index":10955,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["tovideoconferenceinforesponse",{"_index":24260,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["tovideoconferenceinforesponse(videoconferenceinfo",{"_index":24264,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["tovideoconferencejoinresponse",{"_index":24261,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["tovideoconferencejoinresponse(videoconferencejoin",{"_index":24266,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["tovideoconferenceoptions",{"_index":24262,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["tovideoconferenceoptions(params",{"_index":24268,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["tovideoconferencestateresponse",{"_index":24263,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["tovideoconferencestateresponse(state",{"_index":24270,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["trace",{"_index":13643,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{}}}],["trade",{"_index":24996,"title":{},"body":{"license.html":{}}}],["trademark",{"_index":24995,"title":{},"body":{"license.html":{}}}],["trademarks",{"_index":24997,"title":{},"body":{"license.html":{}}}],["transaction",{"_index":24956,"title":{},"body":{"license.html":{}}}],["transfer",{"_index":4897,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"license.html":{}}}],["transferred",{"_index":24958,"title":{},"body":{"license.html":{}}}],["transferring",{"_index":25047,"title":{},"body":{"license.html":{}}}],["transform",{"_index":1211,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"interfaces/CommonCartridgeElement.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/GlobalValidationPipe.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["transform(value",{"_index":1227,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["transform:true",{"_index":12632,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["transformer",{"_index":1232,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FilesStorageMapper.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{},"dependencies.html":{}}}],["transformoptions",{"_index":12630,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["transient",{"_index":515,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["transient(transient",{"_index":572,"title":{},"body":{"classes/AccountFactory.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["transition",{"_index":25914,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["transitioning",{"_index":25616,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["translate",{"_index":24607,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["transmission",{"_index":24920,"title":{},"body":{"license.html":{}}}],["transparent",{"_index":20602,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{}}}],["transports",{"_index":15750,"title":{},"body":{"modules/LoggerModule.html":{}}}],["trash",{"_index":19349,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["trd",{"_index":9295,"title":{},"body":{"classes/DeletionQueueConsole.html":{}}}],["treated",{"_index":416,"title":{},"body":{"controllers/AccountController.html":{},"license.html":{}}}],["treating",{"_index":25822,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["treaty",{"_index":24830,"title":{},"body":{"license.html":{}}}],["trial",{"_index":2809,"title":{},"body":{"injectables/BatchDeletionService.html":{}}}],["tries",{"_index":25672,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["trigger",{"_index":9052,"title":{},"body":{"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["triggerdeletionexecution",{"_index":9076,"title":{},"body":{"classes/DeletionExecutionConsole.html":{},"injectables/DeletionExecutionUc.html":{}}}],["triggerdeletionexecution(limit",{"_index":9118,"title":{},"body":{"injectables/DeletionExecutionUc.html":{}}}],["triggerdeletionexecution(options",{"_index":9078,"title":{},"body":{"classes/DeletionExecutionConsole.html":{}}}],["triggerdeletionexecutionoptions",{"_index":9079,"title":{"interfaces/TriggerDeletionExecutionOptions.html":{}},"body":{"classes/DeletionExecutionConsole.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{}}}],["triggerdeletionexecutionoptionsbuilder",{"_index":23103,"title":{"classes/TriggerDeletionExecutionOptionsBuilder.html":{}},"body":{"classes/TriggerDeletionExecutionOptionsBuilder.html":{}}}],["trim",{"_index":14146,"title":{},"body":{"classes/ImportUserScope.html":{},"classes/StringValidator.html":{},"injectables/UserRepo.html":{}}}],["trivial",{"_index":25440,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["true",{"_index":195,"title":{},"body":{"classes/AcceptQuery.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"injectables/AccountLookupService.html":{},"modules/AccountModule.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchQueryParams.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AntivirusService.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationService.html":{},"classes/AxiosErrorFactory.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BaseUc.html":{},"entities/Board.html":{},"injectables/BoardDoRule.html":{},"entities/BoardElement.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"classes/BoardUrlParams.html":{},"classes/CardIdsParams.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollectionFilePath.html":{},"entities/ColumnBoardTarget.html":{},"classes/ColumnUrlParams.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalToolContextParams.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomParameterEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"injectables/DatabaseManagementService.html":{},"injectables/DeleteFilesUc.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequestBodyProps.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DoBaseFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/DtoCreator.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalToolConfigEntity.html":{},"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"classes/ExternalToolElementResponse.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolIdParams.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolResponse.html":{},"classes/ExternalToolUpdateParams.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileUrlParams.html":{},"modules/FilesStorageModule.html":{},"classes/FilterImportUserParams.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GetMetaTagDataBody.html":{},"classes/GlobalValidationPipe.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"injectables/GroupRepo.html":{},"injectables/GroupRule.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"interfaces/H5PContentProperties.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorModule.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraOauthUc.html":{},"interfaces/ICurrentUser.html":{},"classes/IdParams.html":{},"classes/IdentityManagementOauthService.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"entities/InstalledLibrary.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JwtConstants.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapConfigEntity.html":{},"injectables/LdapStrategy.html":{},"classes/LegacySchoolFactory.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonUC.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"injectables/LocalStrategy.html":{},"modules/LoggerModule.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"classes/Lti11ToolConfigEntity.html":{},"entities/LtiTool.html":{},"classes/LtiToolFactory.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/MigrationCheckService.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/NewsUrlParams.html":{},"injectables/OAuthService.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigResponse.html":{},"injectables/OauthProviderLoginFlowService.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/Options.html":{},"interfaces/ParentInfo.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PreviewGeneratorService.html":{},"classes/PreviewParams.html":{},"classes/PseudonymParams.html":{},"classes/PublicSystemResponse.html":{},"injectables/ReferenceLoader.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RevokeConsentParams.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"injectables/RoomBoardDTOFactory.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"modules/S3ClientModule.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/SchoolValidationService.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenProperties.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleFileParams.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItemUrlParams.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"injectables/SystemRepo.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/TldrawWsService.html":{},"classes/ToolContextTypesListResponse.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolVersionService.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"entities/User.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"classes/UserParams.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationErrorLoggableException.html":{},"classes/VideoConferenceOptionsResponse.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["true})@apiproperty({description",{"_index":4393,"title":{},"body":{"classes/CardIdsParams.html":{},"classes/ConsentResponse.html":{},"classes/LoginResponse-1.html":{},"classes/OauthClientBody.html":{},"classes/PatchOrderParams.html":{}}}],["true})@apiproperty({oneof",{"_index":23115,"title":{},"body":{"classes/UpdateElementContentBodyParams.html":{}}}],["true})@apiproperty({required",{"_index":6274,"title":{},"body":{"classes/ConsentResponse.html":{}}}],["true})@apipropertyoptional({enum",{"_index":10249,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["true})@enum",{"_index":21117,"title":{},"body":{"entities/SystemEntity.html":{}}}],["true})@index",{"_index":4598,"title":{},"body":{"entities/ClassEntity.html":{},"entities/FileEntity.html":{},"entities/Task.html":{},"entities/User.html":{}}}],["true})@index({options",{"_index":9175,"title":{},"body":{"entities/DeletionLogEntity.html":{}}}],["true})@isarray()@isoptional()@apipropertyoptional({type",{"_index":6782,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/SchoolExternalToolPostParams.html":{}}}],["true})@ismongoid",{"_index":24355,"title":{},"body":{"classes/VideoConferenceScopeParams.html":{}}}],["true})@isoptional()@apiproperty({description",{"_index":6221,"title":{},"body":{"classes/ConsentRequestBody.html":{}}}],["true})@isoptional()@apipropertyoptional({required",{"_index":7953,"title":{},"body":{"classes/CreateCardBodyParams.html":{}}}],["true})@isoptional()@isenum(filtermatchtype",{"_index":12382,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["true})@singlevaluetoarraytransformer()@isarray",{"_index":12383,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["true})@type(undefined",{"_index":19480,"title":{},"body":{"classes/SanisGruppenResponse.html":{},"classes/SanisResponse.html":{}}}],["true})@unique({options",{"_index":7477,"title":{},"body":{"entities/Course.html":{},"entities/ImportUser.html":{},"entities/LtiTool.html":{}}}],["try",{"_index":629,"title":{},"body":{"injectables/AccountLookupService.html":{},"injectables/AntivirusService.html":{},"injectables/BatchDeletionService.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardManagementUc.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionConsole.html":{},"injectables/EtherpadService.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolService.html":{},"injectables/JwtStrategy.html":{},"injectables/KeycloakAdministrationService.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"controllers/KeycloakManagementController.html":{},"injectables/KeycloakMigrationService.html":{},"injectables/LdapStrategy.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthAdapterService.html":{},"injectables/PreviewService.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/TaskCopyUC.html":{},"injectables/TldrawWsService.html":{},"injectables/ToolReferenceUc.html":{},"injectables/ToolVersionService.html":{},"injectables/UserMigrationService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["trybuildtoolreference",{"_index":23026,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["trybuildtoolreference(userid",{"_index":23034,"title":{},"body":{"injectables/ToolReferenceUc.html":{}}}],["tryextractmetatags",{"_index":16230,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["tryextractmetatags(url",{"_index":16243,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["tryfilenameasfallback",{"_index":16231,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["tryfilenameasfallback(url",{"_index":16245,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["tryfindbyid",{"_index":12933,"title":{},"body":{"injectables/GroupService.html":{}}}],["tryfindbyid(id",{"_index":12944,"title":{},"body":{"injectables/GroupService.html":{}}}],["trygetprevieworgenerate",{"_index":17956,"title":{},"body":{"injectables/PreviewService.html":{}}}],["trygetprevieworgenerate(params",{"_index":17967,"title":{},"body":{"injectables/PreviewService.html":{}}}],["trying",{"_index":6192,"title":{},"body":{"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/LdapStrategy.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/UsersList.html":{}}}],["tryinternallinkmetatags",{"_index":16232,"title":{},"body":{"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{}}}],["tryinternallinkmetatags(url",{"_index":16247,"title":{},"body":{"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{}}}],["tryrollbackmigration",{"_index":19958,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["tryrollbackmigration(currentuserid",{"_index":23769,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["tryrollbackmigration(originalschooldo",{"_index":19978,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["ts",{"_index":1072,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/ImportUserScope.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/UserRepo.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["tspuid",{"_index":4646,"title":{},"body":{"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{}}}],["ttl",{"_index":20223,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["turned",{"_index":22414,"title":{},"body":{"classes/TldrawWs.html":{}}}],["tvalue",{"_index":13795,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["two",{"_index":13399,"title":{},"body":{"classes/H5PTemporaryFileFactory.html":{},"injectables/LdapStrategy.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["typ",{"_index":14313,"title":{},"body":{"interfaces/JwtConstants.html":{},"classes/SanisGruppeResponse.html":{}}}],["type",{"_index":32,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AbstractUrlHandler.html":{},"interfaces/AcceptConsentRequestBody.html":{},"interfaces/AcceptLoginRequestBody.html":{},"classes/AcceptQuery.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"interfaces/AccountConfig.html":{},"controllers/AccountController.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"injectables/AccountIdmToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountLookupService.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchListResponse.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"modules/AntivirusModule.html":{},"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"classes/AuthCodeFailureLoggableException.html":{},"classes/AuthenticationCodeGrantTokenRequest.html":{},"modules/AuthenticationModule.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/AuthenticationValues.html":{},"interfaces/AuthorizationContext.html":{},"classes/AuthorizationContextBuilder.html":{},"classes/AuthorizationError.html":{},"injectables/AuthorizationHelper.html":{},"interfaces/AuthorizationLoaderService.html":{},"interfaces/AuthorizationLoaderServiceGeneric.html":{},"classes/AuthorizationParams.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosErrorLoggable.html":{},"classes/AxiosResponseImp.html":{},"classes/BBBBaseMeetingConfig.html":{},"interfaces/BBBBaseResponse.html":{},"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{},"interfaces/BBBCreateResponse.html":{},"classes/BBBJoinConfig.html":{},"classes/BBBJoinConfigBuilder.html":{},"interfaces/BBBJoinResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"interfaces/BBBResponse.html":{},"injectables/BBBService.html":{},"classes/BaseDO.html":{},"injectables/BaseDORepo.html":{},"classes/BaseDomainObject.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BaseRepo.html":{},"interfaces/BaseResponseMapper.html":{},"classes/BaseUc.html":{},"classes/BasicToolConfig.html":{},"classes/BasicToolConfigEntity.html":{},"classes/BasicToolConfigParams.html":{},"classes/BasicToolConfigResponse.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionService.html":{},"interfaces/BatchDeletionSummary.html":{},"classes/BatchDeletionSummaryBuilder.html":{},"interfaces/BatchDeletionSummaryDetail.html":{},"classes/BatchDeletionSummaryDetailBuilder.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardContextResponse.html":{},"controllers/BoardController.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"interfaces/BoardDoBuilder.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoCopyService.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardDoService.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"interfaces/BoardExternalReference.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardRepo.html":{},"classes/BoardResponse.html":{},"classes/BoardResponseMapper.html":{},"controllers/BoardSubmissionController.html":{},"classes/BoardTaskResponse.html":{},"classes/BoardTaskStatusMapper.html":{},"classes/BoardTaskStatusResponse.html":{},"injectables/BoardUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/BoardUrlParams.html":{},"classes/BruteForceError.html":{},"injectables/BsonConverter.html":{},"classes/Builder.html":{},"classes/BusinessError.html":{},"interfaces/CalendarEvent.html":{},"classes/CalendarEventDto.html":{},"injectables/CalendarMapper.html":{},"injectables/CalendarService.html":{},"classes/Card.html":{},"controllers/CardController.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"injectables/CardService.html":{},"classes/CardSkeletonResponse.html":{},"injectables/CardUc.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassFilterParams.html":{},"classes/ClassInfoDto.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSortParams.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageAdapterMapper.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"injectables/ColumnBoardCopyService.html":{},"classes/ColumnBoardFactory.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"controllers/ColumnController.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"classes/ColumnResponse.html":{},"classes/ColumnResponseMapper.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/ColumnUrlParams.html":{},"entities/ColumnboardBoardElement.html":{},"interfaces/CommonCartridgeConfig.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"injectables/CommonToolService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementFactory.html":{},"classes/ContentElementResponseFactory.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContentMetadata.html":{},"classes/ContextExternalTool.html":{},"injectables/ContextExternalToolAuthorizableService.html":{},"classes/ContextExternalToolConfigurationStatus.html":{},"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolCountPerContextResponse.html":{},"entities/ContextExternalToolEntity.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.html":{},"interfaces/ContextExternalToolProperties.html":{},"interfaces/ContextExternalToolProps.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"injectables/ContextExternalToolRule.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"injectables/ContextExternalToolService.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/ContextRef.html":{},"classes/ContextRefParams.html":{},"injectables/ConverterUtil.html":{},"classes/CookiesDto.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDO.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFileResponseBuilder.html":{},"interfaces/CopyFiles.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{},"classes/County.html":{},"entities/Course.html":{},"controllers/CourseController.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupRule.html":{},"injectables/CourseGroupService.html":{},"classes/CourseMapper.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"classes/CourseQueryParams.html":{},"injectables/CourseRepo.html":{},"injectables/CourseRule.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"injectables/CourseUrlHandler.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"interfaces/CreateJwtParams.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/CreateNews.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CurrentUserMapper.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameter.html":{},"classes/CustomParameterEntity.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/CustomParameterPostParams.html":{},"classes/CustomParameterResponse.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"classes/DashboardResponse.html":{},"injectables/DashboardUc.html":{},"classes/DashboardUrlParams.html":{},"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"injectables/DatabaseManagementService.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"injectables/DeletionClient.html":{},"interfaces/DeletionClientConfig.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionExecutionParams.html":{},"interfaces/DeletionExecutionTriggerResult.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"injectables/DeletionLogRepo.html":{},"injectables/DeletionLogService.html":{},"interfaces/DeletionLogStatistic.html":{},"interfaces/DeletionLogStatistic-1.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"interfaces/DeletionRequestCreateAnswer.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestInput.html":{},"classes/DeletionRequestInputBuilder.html":{},"interfaces/DeletionRequestLog.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestOutput.html":{},"classes/DeletionRequestOutputBuilder.html":{},"interfaces/DeletionRequestProps.html":{},"interfaces/DeletionRequestProps-1.html":{},"injectables/DeletionRequestRepo.html":{},"classes/DeletionRequestResponse.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"interfaces/DeletionRequestTargetRefInput.html":{},"classes/DeletionRequestTargetRefInputBuilder.html":{},"controllers/DeletionRequestsController.html":{},"interfaces/DeletionTargetRef.html":{},"interfaces/DeletionTargetRef-1.html":{},"classes/DeletionTargetRefBuilder.html":{},"classes/DeletionTargetRefBuilder-1.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObject.html":{},"classes/DomainObjectFactory.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"injectables/DrawingElementAdapterService.html":{},"classes/DrawingElementContent.html":{},"classes/DrawingElementContentBody.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/DrawingElementResponse.html":{},"classes/DrawingElementResponseMapper.html":{},"classes/DtoCreator.html":{},"injectables/DurationLoggingInterceptor.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"injectables/ElementUc.html":{},"interfaces/EncryptionService.html":{},"classes/EntityNotFoundError.html":{},"interfaces/EntityWithSchool.html":{},"classes/ErrorLoggable.html":{},"injectables/ErrorLogger.html":{},"classes/ErrorMapper.html":{},"classes/ErrorResponse.html":{},"interfaces/ErrorType.html":{},"classes/ErrorUtils.html":{},"injectables/EtherpadService.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalGroupUserDto.html":{},"classes/ExternalSchoolDto.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalSource.html":{},"classes/ExternalSourceEntity.html":{},"interfaces/ExternalSourceEntityProps.html":{},"classes/ExternalSourceResponse.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolConfig.html":{},"classes/ExternalToolConfigCreateParams.html":{},"classes/ExternalToolConfigEntity.html":{},"classes/ExternalToolConfigResponse.html":{},"injectables/ExternalToolConfigurationService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContent.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolElementResponse.html":{},"classes/ExternalToolElementResponseMapper.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolLogo.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/ExternalToolMetadata.html":{},"classes/ExternalToolMetadataMapper.html":{},"classes/ExternalToolMetadataResponse.html":{},"injectables/ExternalToolMetadataService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"interfaces/ExternalToolProps.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"classes/ExternalToolSearchParams.html":{},"interfaces/ExternalToolSearchQuery.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolServiceMapper.html":{},"classes/ExternalToolSortingMapper.html":{},"injectables/ExternalToolUc.html":{},"classes/ExternalToolUpdateParams.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/ExternalUserDto.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FeathersError.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"injectables/FederalStateRepo.html":{},"injectables/FederalStateService.html":{},"interfaces/File.html":{},"classes/FileContentBody.html":{},"interfaces/FileDO.html":{},"interfaces/FileDomainObjectProps.html":{},"classes/FileDto.html":{},"classes/FileDto-1.html":{},"classes/FileDtoBuilder.html":{},"classes/FileElement.html":{},"classes/FileElementContent.html":{},"classes/FileElementContentBody.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileElementResponse.html":{},"classes/FileElementResponseMapper.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FileMetadata.html":{},"classes/FileParamBuilder.html":{},"classes/FileParams.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"injectables/FileRecordRepo.html":{},"classes/FileRecordResponse.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/FileRequestInfo.html":{},"classes/FileResponseBuilder.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"controllers/FileSecurityController.html":{},"interfaces/FileStorageConfig.html":{},"injectables/FileSystemAdapter.html":{},"classes/FileUrlParams.html":{},"injectables/FilesRepo.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageClientAdapterService.html":{},"interfaces/FilesStorageClientConfig.html":{},"classes/FilesStorageClientMapper.html":{},"injectables/FilesStorageConsumer.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageModule.html":{},"injectables/FilesStorageProducer.html":{},"modules/FilesStorageTestModule.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/ForbiddenLoggableException.html":{},"classes/ForbiddenOperationError.html":{},"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFile.html":{},"interfaces/GetFileResponse.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"interfaces/GetH5pFileResponse.html":{},"interfaces/GetLibraryFile.html":{},"interfaces/GetLibraryFile-1.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"classes/GlobalErrorFilter.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupIdParams.html":{},"interfaces/GroupNameIdTuple.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUser.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/GroupUsers.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentFactory.html":{},"classes/H5PContentMapper.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentParentParams.html":{},"interfaces/H5PContentProperties.html":{},"injectables/H5PContentRepo.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PErrorMapper.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"classes/H5PTemporaryFileFactory.html":{},"entities/H5pEditorTempFile.html":{},"classes/H5pFileDto.html":{},"interfaces/HtmlMailContent.html":{},"classes/HydraOauthFailedLoggableException.html":{},"injectables/HydraOauthUc.html":{},"classes/HydraRedirectDto.html":{},"injectables/HydraSsoService.html":{},"interfaces/IBbbSettings.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"interfaces/IError.html":{},"interfaces/IFindOptions.html":{},"interfaces/IGridElement.html":{},"interfaces/IH5PLibraryManagementConfig.html":{},"interfaces/IImportUserScope.html":{},"interfaces/IKeycloakConfigurationInputFiles.html":{},"interfaces/IKeycloakSettings.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/INewsScope.html":{},"interfaces/ITask.html":{},"interfaces/IToolFeatures.html":{},"interfaces/IVideoConferenceSettings.html":{},"classes/IdParams.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"interfaces/IdentityManagementConfig.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"classes/ImportUserMatchMapper.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"interfaces/InlineAttachment.html":{},"entities/InstalledLibrary.html":{},"interfaces/InterceptorConfig.html":{},"interfaces/IntrospectResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JsonAccount.html":{},"interfaces/JsonUser.html":{},"interfaces/JwtConstants.html":{},"classes/JwtExtractor.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"classes/JwtTestFactory.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"classes/LdapConnectionError.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolDo.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"entities/LessonBoardElement.html":{},"controllers/LessonController.html":{},"classes/LessonCopyApiParams.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"classes/LessonScope.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LessonUrlHandler.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryName.html":{},"classes/LibraryParametersBodyParams.html":{},"injectables/LibraryRepo.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"interfaces/ListFiles.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"injectables/Logger.html":{},"interfaces/LoggerConfig.html":{},"classes/LoggingUtils.html":{},"controllers/LoginController.html":{},"classes/LoginDto.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse.html":{},"classes/LoginResponse-1.html":{},"classes/LoginResponseMapper.html":{},"injectables/LoginUc.html":{},"injectables/Lti11EncryptionService.html":{},"classes/Lti11ToolConfig.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigEntity.html":{},"classes/Lti11ToolConfigResponse.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"injectables/LtiToolService.html":{},"classes/LumiUserWithContentData.html":{},"interfaces/Mail.html":{},"interfaces/MailAttachment.html":{},"interfaces/MailConfig.html":{},"interfaces/MailContent.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"injectables/MaterialsRepo.html":{},"interfaces/Meta.html":{},"controllers/MetaTagExtractorController.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"classes/MigrationDto.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsCrudOperationLoggable.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"classes/NewsScope.html":{},"interfaces/NewsTargetFilter.html":{},"injectables/NewsUc.html":{},"classes/NewsUrlParams.html":{},"injectables/NexboardService.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"classes/NotFoundLoggableException.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OAuthProcessDto.html":{},"classes/OAuthRejectableBody.html":{},"injectables/OAuthService.html":{},"classes/OAuthTokenDto.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfig.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigEntity.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/Oauth2ToolConfigResponse.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"injectables/OauthAdapterService.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"classes/OauthConfigEntity.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthConfigResponse.html":{},"interfaces/OauthCurrentUser.html":{},"classes/OauthDataDto.html":{},"classes/OauthDataStrategyInputDto.html":{},"classes/OauthLoginResponse.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthProviderController.html":{},"injectables/OauthProviderLoginFlowService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OauthProviderLogoutFlowUc.html":{},"classes/OauthProviderRequestMapper.html":{},"injectables/OauthProviderResponseMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OauthProviderUc.html":{},"controllers/OauthSSOController.html":{},"classes/OauthSsoErrorLoggableException.html":{},"interfaces/OauthTokenResponse.html":{},"interfaces/ObjectKeysRecursive.html":{},"interfaces/OcsResponse.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcContextResponse.html":{},"classes/OidcIdentityProviderMapper.html":{},"injectables/OidcMockProvisioningStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"classes/Page.html":{},"classes/PageContentDto.html":{},"interfaces/Pagination.html":{},"classes/PaginationParams.html":{},"classes/PaginationResponse.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"interfaces/ParentInfo.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/Path.html":{},"injectables/PermissionService.html":{},"interfaces/PlainTextMailContent.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewConfig.html":{},"interfaces/PreviewFileOptions.html":{},"interfaces/PreviewFileParams.html":{},"classes/PreviewGeneratorBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewModuleConfig.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"injectables/PreviewProducer.html":{},"interfaces/PreviewResponseMessage.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"classes/PrometheusMetricsSetupStateLoggable.html":{},"classes/PropertyData.html":{},"interfaces/ProviderConsentResponse.html":{},"interfaces/ProviderConsentSessionResponse.html":{},"interfaces/ProviderLoginResponse.html":{},"interfaces/ProviderOidcContext.html":{},"interfaces/ProviderRedirectResponse.html":{},"classes/ProvisioningDto.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningStrategy.html":{},"classes/ProvisioningSystemDto.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/Pseudonym.html":{},"controllers/PseudonymController.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"classes/PseudonymParams.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/PublicSystemResponse.html":{},"classes/PushDeleteRequestsOptionsBuilder.html":{},"interfaces/PushDeletionRequestsOptions.html":{},"interfaces/QueueDeletionRequestInput.html":{},"classes/QueueDeletionRequestInputBuilder.html":{},"interfaces/QueueDeletionRequestOutput.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"injectables/ReferenceLoader.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/ReferencesService.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"injectables/RegistrationPinRepo.html":{},"injectables/RegistrationPinService.html":{},"interfaces/RejectRequestBody.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"interfaces/RepoLoader.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"classes/ResolvedUserResponse.html":{},"classes/ResponseInfo.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"interfaces/RetryOptions.html":{},"classes/RevokeConsentParams.html":{},"classes/RichText.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContent.html":{},"classes/RichTextElementContentBody.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RichTextElementResponse.html":{},"classes/RichTextElementResponseMapper.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"modules/RocketChatModule.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"entities/Role.html":{},"classes/RoleDto.html":{},"classes/RoleMapper.html":{},"classes/RoleNameMapper.html":{},"interfaces/RoleProperties.html":{},"classes/RoleReference.html":{},"injectables/RoleRepo.html":{},"injectables/RoleService.html":{},"injectables/RoleUc.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"injectables/RoomsAuthorisationService.html":{},"controllers/RoomsController.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"interfaces/RpcMessage.html":{},"classes/RpcMessageProducer.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/S3ClientAdapter.html":{},"modules/S3ClientModule.html":{},"interfaces/S3Config.html":{},"interfaces/S3Config-1.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultDto.html":{},"classes/ScanResultParams.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalTool.html":{},"classes/SchoolExternalToolConfigurationStatus.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"entities/SchoolExternalToolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolMetadata.html":{},"classes/SchoolExternalToolMetadataMapper.html":{},"classes/SchoolExternalToolMetadataResponse.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/SchoolExternalToolPostParams.html":{},"interfaces/SchoolExternalToolProperties.html":{},"interfaces/SchoolExternalToolProps.html":{},"classes/SchoolExternalToolRefDO.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolExternalToolSearchParams.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/SchoolExternalToolUc.html":{},"injectables/SchoolExternalToolValidationService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolInfoMapper.html":{},"classes/SchoolInfoResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"injectables/SchoolSpecificFileCopyServiceFactory.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"classes/SchoolToolConfigurationStatusResponseMapper.html":{},"injectables/SchoolValidationService.html":{},"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{},"classes/Scope.html":{},"interfaces/ScopeInfo.html":{},"classes/ScopeRef.html":{},"interfaces/ServerConfig.html":{},"classes/ServerConsole.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SetHeightBodyParams.html":{},"entities/ShareToken.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenContextTypeMapper.html":{},"controllers/ShareTokenController.html":{},"classes/ShareTokenDO.html":{},"classes/ShareTokenFactory.html":{},"classes/ShareTokenImportBodyParams.html":{},"interfaces/ShareTokenInfoDto.html":{},"classes/ShareTokenInfoResponse.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"classes/ShareTokenPayloadResponse.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"classes/ShareTokenResponse.html":{},"classes/ShareTokenResponseMapper.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortHelper.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/StorageProviderEntity.html":{},"interfaces/StorageProviderProperties.html":{},"injectables/StorageProviderRepo.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContent.html":{},"classes/SubmissionContainerElementContentBody.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionContainerElementResponse.html":{},"classes/SubmissionContainerElementResponseMapper.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionContainerUrlParams.html":{},"controllers/SubmissionController.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionService.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionStatusResponse.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionUrlParams.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"classes/SuccessfulResponse.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/System.html":{},"controllers/SystemController.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"injectables/SystemOidcService.html":{},"interfaces/SystemProps.html":{},"injectables/SystemRepo.html":{},"classes/SystemResponseMapper.html":{},"injectables/SystemRule.html":{},"classes/SystemScope.html":{},"injectables/SystemService.html":{},"injectables/SystemUc.html":{},"interfaces/TargetGroupProperties.html":{},"classes/TargetInfoMapper.html":{},"classes/TargetInfoResponse.html":{},"entities/Task.html":{},"entities/TaskBoardElement.html":{},"controllers/TaskController.html":{},"classes/TaskCopyApiParams.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskCreateParams.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"injectables/TaskRule.html":{},"classes/TaskScope.html":{},"injectables/TaskService.html":{},"interfaces/TaskStatus.html":{},"classes/TaskStatusMapper.html":{},"classes/TaskStatusResponse.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskUpdateParams.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskUrlParams.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"interfaces/TeamProperties.html":{},"classes/TeamRoleDto.html":{},"classes/TeamRolePermissionsDto.html":{},"injectables/TeamRule.html":{},"injectables/TeamService.html":{},"classes/TeamUrlParams.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"interfaces/TemporaryFileProperties.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"injectables/TimeoutInterceptor.html":{},"classes/TimestampsResponse.html":{},"injectables/TldrawBoardRepo.html":{},"interfaces/TldrawConfig.html":{},"controllers/TldrawController.html":{},"classes/TldrawDeleteParams.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"modules/TldrawModule.html":{},"injectables/TldrawRepo.html":{},"injectables/TldrawService.html":{},"modules/TldrawTestModule.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TokenRequestMapper.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolConfiguration.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"classes/ToolContextMapper.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchData.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchParams.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"classes/ToolReference.html":{},"controllers/ToolReferenceController.html":{},"classes/ToolReferenceListResponse.html":{},"classes/ToolReferenceMapper.html":{},"classes/ToolReferenceResponse.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolReferenceUc.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/ToolStatusResponseMapper.html":{},"injectables/ToolVersionService.html":{},"interfaces/TriggerDeletionExecutionOptions.html":{},"classes/TriggerDeletionExecutionOptionsBuilder.html":{},"classes/UnauthorizedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"interfaces/UrlHandler.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserConfig.html":{},"controllers/UserController.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDataResponse.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationResponse.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorDetailResponse.html":{},"classes/ValidationErrorLoggableException.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceConfiguration.html":{},"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceOptionsDO.html":{},"classes/VideoConferenceOptionsResponse.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"classes/VideoConferenceScopeParams.html":{},"classes/VisibilitySettingsResponse.html":{},"classes/WsSharedDocDo.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{},"dependencies.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["type']?.tostring",{"_index":11476,"title":{},"body":{"classes/FileDtoBuilder.html":{}}}],["type.enum",{"_index":1507,"title":{},"body":{"classes/AuthenticationCodeGrantTokenRequest.html":{},"injectables/CacheService.html":{},"entities/ContextExternalToolEntity.html":{},"interfaces/ContextExternalToolProperties.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/JwtValidationAdapter.html":{},"classes/OauthClientBody.html":{},"classes/TokenRequestMapper.html":{}}}],["type.factory.ts",{"_index":18377,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["type.factory.ts:11",{"_index":18381,"title":{},"body":{"classes/ReadableStreamWithFileTypeImp.html":{}}}],["type.includes(bn.type",{"_index":3568,"title":{},"body":{"classes/BoardDoBuilderImpl.html":{}}}],["type.interface.ts",{"_index":9966,"title":{},"body":{"interfaces/ErrorType.html":{}}}],["type.mapper.ts",{"_index":16315,"title":{},"body":{"classes/MetadataTypeMapper.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["type.mapper.ts:6",{"_index":16319,"title":{},"body":{"classes/MetadataTypeMapper.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["type.response",{"_index":12868,"title":{},"body":{"classes/GroupResponse.html":{}}}],["typecheckers",{"_index":6058,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["typedefinitions",{"_index":25485,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["typemapping",{"_index":10798,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/GroupResponseMapper.html":{}}}],["typemapping[customparameterdo.type",{"_index":10901,"title":{},"body":{"injectables/ExternalToolResponseMapper.html":{}}}],["typemapping[customparameterparam.type",{"_index":10839,"title":{},"body":{"injectables/ExternalToolRequestMapper.html":{}}}],["typemapping[resolvedgroup.type",{"_index":12903,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["typeof",{"_index":1675,"title":{},"body":{"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"classes/BusinessError.html":{},"injectables/CardUc.html":{},"classes/DashboardEntity.html":{},"classes/GridElement.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraSsoService.html":{},"interfaces/IGridElement.html":{},"interfaces/LibrariesContentType.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/OAuthService.html":{},"classes/RequestInfo.html":{},"classes/ResponseInfo.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/Scope.html":{},"classes/SortHelper.html":{},"classes/StringValidator.html":{},"injectables/SystemRule.html":{},"classes/TestApiClient.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{}}}],["types",{"_index":134,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"interfaces/AuthorizableObject.html":{},"injectables/BasicToolLaunchStrategy.html":{},"entities/Board.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"entities/BoardElement.html":{},"classes/BoardElementResponse.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardUrlHandler.html":{},"classes/Card.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"interfaces/CardProps.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"interfaces/ColumnBoardProps.html":{},"entities/ColumnNode.html":{},"interfaces/ColumnProps.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"injectables/ContentElementFactory.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseUrlHandler.html":{},"classes/DeletionLog.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"classes/DeletionRequestFactory.html":{},"interfaces/DeletionRequestProps.html":{},"classes/DomainObject.html":{},"classes/DrawingElement.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"interfaces/DrawingElementProps.html":{},"classes/ExternalToolElement.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"interfaces/FileElementProps.html":{},"classes/FileMetadata.html":{},"classes/FilesStorageMapper.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"classes/H5PContentMapper.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"entities/InstalledLibrary.html":{},"classes/LdapConfigEntity.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonUrlHandler.html":{},"classes/LibraryName.html":{},"classes/LinkElement.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"interfaces/Loggable.html":{},"classes/LoggingUtils.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MetadataTypeMapper.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/Path.html":{},"classes/RichTextElement.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"interfaces/RichTextElementProps.html":{},"classes/RoleReference.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/RoomsUc.html":{},"entities/SchoolNews.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{},"entities/Submission.html":{},"classes/SubmissionContainerElement.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerElementProps.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"classes/SubmissionItem.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"interfaces/SubmissionProperties.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"injectables/TaskUrlHandler.html":{},"entities/TeamNews.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolContextTypesListResponse.html":{},"controllers/ToolLaunchController.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"interfaces/UrlHandler.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["types')@apiforbiddenresponse()@apioperation({summary",{"_index":22640,"title":{},"body":{"controllers/ToolConfigurationController.html":{}}}],["types.get(type",{"_index":12302,"title":{},"body":{"classes/FilesStorageMapper.html":{},"classes/H5PContentMapper.html":{},"classes/MetadataTypeMapper.html":{},"classes/ShareTokenContextTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["types.set(filerecordparenttype.boardnode",{"_index":12300,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["types.set(filerecordparenttype.course",{"_index":12291,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["types.set(filerecordparenttype.lesson",{"_index":12296,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["types.set(filerecordparenttype.school",{"_index":12294,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["types.set(filerecordparenttype.submission",{"_index":12298,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["types.set(filerecordparenttype.task",{"_index":12289,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["types.set(filerecordparenttype.user",{"_index":12292,"title":{},"body":{"classes/FilesStorageMapper.html":{}}}],["types.set(h5pcontentparenttype.lesson",{"_index":13062,"title":{},"body":{"classes/H5PContentMapper.html":{}}}],["types.set(sharetokencontexttype.school",{"_index":20297,"title":{},"body":{"classes/ShareTokenContextTypeMapper.html":{}}}],["types.set(sharetokenparenttype.course",{"_index":16322,"title":{},"body":{"classes/MetadataTypeMapper.html":{},"classes/ShareTokenParentTypeMapper.html":{}}}],["types.set(sharetokenparenttype.lesson",{"_index":20388,"title":{},"body":{"classes/ShareTokenParentTypeMapper.html":{}}}],["types.set(sharetokenparenttype.task",{"_index":20389,"title":{},"body":{"classes/ShareTokenParentTypeMapper.html":{}}}],["types.ts",{"_index":13068,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["types.ts:12",{"_index":16059,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:14",{"_index":16058,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:16",{"_index":16063,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:18",{"_index":16055,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:20",{"_index":16056,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:22",{"_index":16057,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:24",{"_index":16060,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:26",{"_index":16061,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:28",{"_index":16062,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types.ts:30",{"_index":16054,"title":{},"body":{"classes/LumiUserWithContentData.html":{}}}],["types/board",{"_index":3872,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{}}}],["types/cache",{"_index":24444,"title":{},"body":{"dependencies.html":{}}}],["types/connect",{"_index":24446,"title":{},"body":{"dependencies.html":{}}}],["types/connection",{"_index":24386,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["types/copy.types",{"_index":7338,"title":{},"body":{"injectables/CopyHelperService.html":{},"classes/CopyMapper.html":{}}}],["types/entity",{"_index":21277,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["types/gm",{"_index":24448,"title":{},"body":{"dependencies.html":{}}}],["types/ldapjs",{"_index":24450,"title":{},"body":{"dependencies.html":{}}}],["types/news.types",{"_index":7816,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["types/redis",{"_index":24452,"title":{},"body":{"dependencies.html":{}}}],["types/room",{"_index":9683,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["types/task.types",{"_index":21278,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["types/xml2js",{"_index":24454,"title":{},"body":{"dependencies.html":{}}}],["typescript",{"_index":1089,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"classes/AxiosResponseImp.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"interfaces/CollectionFilePath.html":{},"entities/CourseNews.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ErrorLoggable.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"injectables/FilesStorageConsumer.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/H5PEditorModule.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/JwtExtractor.html":{},"injectables/JwtValidationAdapter.html":{},"injectables/LegacySystemRepo.html":{},"controllers/LoginController.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/ReadableStreamWithFileTypeImp.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"entities/SchoolNews.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/TeamNews.html":{},"classes/TestBootstrapConsole.html":{},"injectables/TldrawBoardRepo.html":{},"modules/TldrawModule.html":{},"classes/TldrawWs.html":{},"injectables/UserRepo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["typical",{"_index":24939,"title":{},"body":{"license.html":{}}}],["typing",{"_index":11275,"title":{},"body":{"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["u",{"_index":559,"title":{},"body":{"classes/AccountFactory.html":{},"interfaces/AdminIdAndToken.html":{},"classes/BaseFactory.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{}}}],["u.id",{"_index":7566,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["u.userid",{"_index":2661,"title":{},"body":{"classes/BaseUc.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["u.userid.id",{"_index":21988,"title":{},"body":{"injectables/TeamService.html":{}}}],["ubername",{"_index":15588,"title":{},"body":{"classes/LibraryFileUrlParams.html":{}}}],["uc",{"_index":3005,"title":{},"body":{"modules/BoardApiModule.html":{},"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"modules/CollaborativeStorageModule.html":{},"controllers/ColumnController.html":{},"classes/DeleteFilesConsole.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"classes/DeletionExecutionConsole.html":{},"controllers/DeletionExecutionsController.html":{},"classes/DeletionQueueConsole.html":{},"controllers/DeletionRequestsController.html":{},"controllers/ElementController.html":{},"injectables/ExternalToolRequestMapper.html":{},"controllers/FileSecurityController.html":{},"modules/FilesModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/GroupApiModule.html":{},"controllers/GroupController.html":{},"modules/LearnroomApiModule.html":{},"modules/LessonApiModule.html":{},"controllers/LessonController.html":{},"modules/MetaTagExtractorApiModule.html":{},"controllers/MetaTagExtractorController.html":{},"modules/OauthApiModule.html":{},"modules/OauthProviderApiModule.html":{},"controllers/OauthSSOController.html":{},"modules/PseudonymApiModule.html":{},"controllers/PseudonymController.html":{},"controllers/ShareTokenController.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"controllers/SubmissionController.html":{},"modules/TaskApiModule.html":{},"controllers/TeamNewsController.html":{},"controllers/ToolConfigurationController.html":{},"classes/ToolConfigurationMapper.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolLaunchController.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"modules/UserApiModule.html":{},"controllers/UserController.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{},"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"modules/VideoConferenceModule.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["uc.mapper.ts",{"_index":12956,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["uc.mapper.ts:12",{"_index":12966,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["uc.mapper.ts:32",{"_index":12961,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["uc.mapper.ts:50",{"_index":12969,"title":{},"body":{"classes/GroupUcMapper.html":{}}}],["uc.ts",{"_index":25539,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["uc/account.uc",{"_index":283,"title":{},"body":{"modules/AccountApiModule.html":{},"controllers/AccountController.html":{}}}],["uc/board",{"_index":3768,"title":{},"body":{"classes/BoardManagementConsole.html":{},"modules/ManagementModule.html":{}}}],["uc/collaborative",{"_index":5058,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["uc/course",{"_index":7588,"title":{},"body":{"controllers/CourseController.html":{},"controllers/RoomsController.html":{}}}],["uc/course.uc",{"_index":7591,"title":{},"body":{"controllers/CourseController.html":{}}}],["uc/dashboard.uc",{"_index":8359,"title":{},"body":{"controllers/DashboardController.html":{}}}],["uc/database",{"_index":8779,"title":{},"body":{"classes/DatabaseManagementConsole.html":{},"controllers/DatabaseManagementController.html":{},"modules/ManagementModule.html":{},"interfaces/Options.html":{}}}],["uc/dto",{"_index":1725,"title":{},"body":{"injectables/AuthenticationService.html":{},"injectables/ExternalToolConfigurationService.html":{},"controllers/GroupController.html":{},"classes/GroupResponseMapper.html":{},"controllers/LoginController.html":{},"classes/LoginResponseMapper.html":{},"classes/ShareTokenInfoResponseMapper.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["uc/dto/class",{"_index":4701,"title":{},"body":{"classes/ClassInfoResponse.html":{}}}],["uc/dto/context",{"_index":6875,"title":{},"body":{"classes/ContextExternalToolRequestMapper.html":{},"injectables/ContextExternalToolService.html":{},"controllers/ToolContextController.html":{}}}],["uc/dto/school",{"_index":19791,"title":{},"body":{"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolService.html":{},"controllers/ToolSchoolController.html":{}}}],["uc/dto/user.dto",{"_index":23922,"title":{},"body":{"injectables/UserService.html":{}}}],["uc/element.uc",{"_index":3006,"title":{},"body":{"modules/BoardApiModule.html":{},"controllers/BoardSubmissionController.html":{},"controllers/ElementController.html":{}}}],["uc/fwu",{"_index":12432,"title":{},"body":{"controllers/FwuLearningContentsController.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{}}}],["uc/h5p.uc",{"_index":13170,"title":{},"body":{"controllers/H5PEditorController.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{}}}],["uc/keycloak",{"_index":4847,"title":{},"body":{"interfaces/CleanOptions.html":{},"modules/KeycloakConfigurationModule.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{}}}],["uc/lesson",{"_index":19196,"title":{},"body":{"controllers/RoomsController.html":{}}}],["uc/login.uc",{"_index":1490,"title":{},"body":{"modules/AuthenticationApiModule.html":{},"controllers/LoginController.html":{}}}],["uc/news.uc",{"_index":16462,"title":{},"body":{"controllers/NewsController.html":{},"modules/NewsModule.html":{}}}],["uc/oauth",{"_index":17298,"title":{},"body":{"controllers/OauthProviderController.html":{}}}],["uc/rooms.uc",{"_index":19197,"title":{},"body":{"controllers/RoomsController.html":{}}}],["uc/submission",{"_index":3007,"title":{},"body":{"modules/BoardApiModule.html":{},"controllers/BoardSubmissionController.html":{}}}],["uc/system.uc",{"_index":21059,"title":{},"body":{"controllers/SystemController.html":{}}}],["uc/task",{"_index":21407,"title":{},"body":{"controllers/TaskController.html":{}}}],["uc/task.uc",{"_index":21408,"title":{},"body":{"controllers/TaskController.html":{}}}],["uc/user",{"_index":13908,"title":{},"body":{"controllers/ImportUserController.html":{},"modules/ImportUserModule.html":{}}}],["ucs",{"_index":15127,"title":{},"body":{"modules/LearnroomApiModule.html":{}}}],["ui",{"_index":24569,"title":{},"body":{"dependencies.html":{},"additional-documentation/nestjs-application.html":{}}}],["ui_locales",{"_index":17549,"title":{},"body":{"classes/OidcContextResponse.html":{},"interfaces/ProviderOidcContext.html":{}}}],["ui_use_real_name=true",{"_index":25962,"title":{},"body":{"additional-documentation/nestjs-application/rocket.chat.html":{}}}],["uid",{"_index":13850,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["uid=(.+?),/i",{"_index":13849,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["uid=[^,]*${escapedloginname",{"_index":14158,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["uid=john${sequence},cn=schueler,cn=users,ou=1,dc=training,dc=ucs",{"_index":13953,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["uid=loginname",{"_index":13847,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["uint8array",{"_index":22248,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["uint8array(message",{"_index":22538,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["uk",{"_index":23166,"title":{},"body":{"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["um",{"_index":5494,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["unable",{"_index":3331,"title":{},"body":{"injectables/BoardCopyService.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/OidcProvisioningService.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["unambiguous",{"_index":1395,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"classes/ErrorResponse.html":{}}}],["unarchivegroup(groupname",{"_index":1122,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["unauthorized",{"_index":22828,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["unauthorized'})@apiforbiddenresponse({description",{"_index":22820,"title":{},"body":{"controllers/ToolLaunchController.html":{}}}],["unauthorized_exception",{"_index":23108,"title":{},"body":{"classes/UnauthorizedLoggableException.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["unauthorizedexception",{"_index":1983,"title":{},"body":{"injectables/AuthorizationService.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/JwtStrategy.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"injectables/LocalStrategy.html":{},"controllers/MetaTagExtractorController.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/Oauth2Strategy.html":{},"controllers/OauthSSOController.html":{},"injectables/TaskUC.html":{},"classes/UnauthorizedLoggableException.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["unauthorizedexception('insufficient",{"_index":11261,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["unauthorizedexception('missing",{"_index":11255,"title":{},"body":{"injectables/FeathersAuthorizationService.html":{}}}],["unauthorizedexception('no",{"_index":16935,"title":{},"body":{"injectables/Oauth2Strategy.html":{}}}],["unauthorizedexception('unauthorized",{"_index":14346,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["unauthorizedexception('user",{"_index":15047,"title":{},"body":{"injectables/LdapService.html":{}}}],["unauthorizedexception(`school",{"_index":15087,"title":{},"body":{"injectables/LdapStrategy.html":{}}}],["unauthorizedexception})@apiresponse({status",{"_index":16188,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["unauthorizedloggableexception",{"_index":1721,"title":{"classes/UnauthorizedLoggableException.html":{}},"body":{"injectables/AuthenticationService.html":{},"classes/UnauthorizedLoggableException.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["unauthorizedloggableexception(username",{"_index":1729,"title":{},"body":{"injectables/AuthenticationService.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["und",{"_index":5512,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["undefined",{"_index":125,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/AccountSearchListResponse.html":{},"injectables/AccountServiceDb.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/AntivirusService.html":{},"interfaces/AppStartInfo.html":{},"classes/AppStartLoggable.html":{},"injectables/AuthenticationService.html":{},"injectables/AutoContextIdStrategy.html":{},"injectables/AutoContextNameStrategy.html":{},"interfaces/AutoParameterStrategy.html":{},"injectables/AutoSchoolIdStrategy.html":{},"injectables/BaseDORepo.html":{},"injectables/BasicToolLaunchStrategy.html":{},"entities/Board.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardManagementUc.html":{},"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"injectables/BoardNodeRepo.html":{},"classes/BoardResponse.html":{},"injectables/BoardUrlHandler.html":{},"classes/BusinessError.html":{},"classes/CardIdsParams.html":{},"classes/CardListResponse.html":{},"classes/CardResponse.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassInfoResponse.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"classes/ClassSourceOptions.html":{},"classes/ClassSourceOptionsEntity.html":{},"interfaces/ClassSourceOptionsEntityProps.html":{},"interfaces/ClassSourceOptionsProps.html":{},"injectables/ClassesRepo.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"interfaces/CollectionFilePath.html":{},"classes/ColumnBoardFactory.html":{},"classes/ColumnResponse.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/CommonToolValidationService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/ContentBodyParams.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolScope.html":{},"classes/ContextExternalToolSearchListResponse.html":{},"classes/CopyApiResponse.html":{},"interfaces/CopyFileDomainObjectProps.html":{},"classes/CopyFileDto.html":{},"classes/CopyFileListResponse.html":{},"interfaces/CopyFiles.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"classes/CourseMetadataListResponse.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseUrlHandler.html":{},"interfaces/CustomLtiProperty.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"classes/DashboardResponse.html":{},"classes/DatabaseManagementConsole.html":{},"classes/DeletionExecutionConsole.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionQueueConsole.html":{},"classes/DeletionRequest.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"interfaces/DeletionRequestProps.html":{},"classes/DrawingElementContentBody.html":{},"classes/ErrorUtils.html":{},"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContentBody.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolLogoService.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolSearchListResponse.html":{},"injectables/ExternalToolService.html":{},"classes/ExternalToolSortingMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"interfaces/File.html":{},"classes/FileElementContentBody.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"injectables/FilesStorageConsumer.html":{},"interfaces/GetFile.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GuardAgainst.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/HydraSsoService.html":{},"interfaces/IGridElement.html":{},"interfaces/ILegacyLogger.html":{},"injectables/IdTokenService.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"interfaces/ImportUserProperties.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySchoolRepo.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/LessonUrlHandler.html":{},"classes/LibrariesBodyParams.html":{},"interfaces/LibrariesContentType.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkElementContentBody.html":{},"interfaces/ListFiles.html":{},"classes/LoggingUtils.html":{},"classes/LoginResponse-1.html":{},"classes/LtiRoleMapper.html":{},"entities/LtiTool.html":{},"injectables/MailService.html":{},"interfaces/MailServiceOptions.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MigrationCheckService.html":{},"interfaces/MigrationOptions.html":{},"classes/NewsListResponse.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OAuthService.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"controllers/OauthSSOController.html":{},"interfaces/ObjectKeysRecursive.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/Options.html":{},"interfaces/ParentInfo.html":{},"classes/PreviewBuilder.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewGeneratorService.html":{},"classes/PrometheusMetricsConfig.html":{},"injectables/ProvisioningService.html":{},"classes/ProvisioningSystemInputMapper.html":{},"classes/PseudonymScope.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"classes/PublicSystemListResponse.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"modules/RedisModule.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResponseInfo.html":{},"interfaces/RetryOptions.html":{},"classes/RichTextElementContentBody.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/S3ClientAdapter.html":{},"interfaces/S3Config.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"injectables/SanisResponseMapper.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"classes/SchoolExternalToolResponse.html":{},"classes/SchoolExternalToolScope.html":{},"classes/SchoolExternalToolSearchListResponse.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/ShareToken.html":{},"interfaces/ShareTokenProperties.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenUC.html":{},"classes/SingleColumnBoardResponse.html":{},"classes/SortHelper.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/Submission.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionItemResponse.html":{},"interfaces/SubmissionProperties.html":{},"classes/SubmissionStatusListResponse.html":{},"classes/SubmissionsResponse.html":{},"classes/System.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemMapper.html":{},"classes/SystemOidcMapper.html":{},"interfaces/SystemProps.html":{},"classes/SystemResponseMapper.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskListResponse.html":{},"interfaces/TaskParent.html":{},"injectables/TaskRepo.html":{},"injectables/TaskUrlHandler.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/TldrawWsService.html":{},"classes/ToolLaunchRequestResponse.html":{},"injectables/ToolLaunchService.html":{},"classes/ToolReferenceListResponse.html":{},"classes/UpdateElementContentBodyParams.html":{},"interfaces/UserBoardRoles.html":{},"injectables/UserDORepo.html":{},"controllers/UserLoginMigrationController.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"injectables/UserLoginMigrationRepo.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMatchListResponse.html":{},"classes/UserScope.html":{},"classes/UsersList.html":{},"classes/ValidationErrorLoggableException.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/WsSharedDocDo.html":{}}}],["undefined})@apiproperty({oneof",{"_index":10241,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{}}}],["undefined})@apiresponse({status",{"_index":4003,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ElementController.html":{}}}],["undefined})@isarray({groups",{"_index":19506,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{}}}],["undefined})@isboolean()@isoptional",{"_index":24086,"title":{},"body":{"classes/VideoConferenceCreateParams.html":{}}}],["undefined})@property({nullable",{"_index":11758,"title":{},"body":{"entities/FileRecord.html":{},"entities/ShareToken.html":{}}}],["undefined})@type(undefined",{"_index":6783,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"classes/SchoolExternalToolPostParams.html":{}}}],["undefined})@userequestcontext",{"_index":12248,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["undefined})@validatenested({each",{"_index":19507,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{}}}],["undefined})@validatenested({groups",{"_index":19510,"title":{},"body":{"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{}}}],["under",{"_index":24597,"title":{},"body":{"index.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["understand",{"_index":25653,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{}}}],["unexpected",{"_index":25727,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["unfamiliar",{"_index":25663,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["unhandled",{"_index":9889,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["unicode",{"_index":795,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["uninstallunwantedlibraries",{"_index":13310,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["uninstallunwantedlibraries(wantedlibraries",{"_index":13321,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{}}}],["unique",{"_index":219,"title":{},"body":{"entities/Account.html":{},"classes/ApiValidationErrorResponse.html":{},"entities/Board.html":{},"injectables/ContextExternalToolValidationService.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"interfaces/CustomLtiProperty.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/ErrorResponse.html":{},"entities/ExternalToolEntity.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakSeedService.html":{},"entities/LtiTool.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{},"classes/UsersList.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["unique()@property",{"_index":10294,"title":{},"body":{"entities/ExternalToolEntity.html":{}}}],["uniqueids",{"_index":21339,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["uniqueids.length",{"_index":21342,"title":{},"body":{"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["uniquemember",{"_index":14997,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["uniquememberids",{"_index":20706,"title":{},"body":{"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{}}}],["uniquenames",{"_index":6113,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["uniquenames.size",{"_index":6115,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["uniquepermissions",{"_index":19005,"title":{},"body":{"entities/Role.html":{},"interfaces/RoleProperties.html":{},"entities/User.html":{},"interfaces/UserProperties.html":{}}}],["unit",{"_index":25287,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["unittests",{"_index":25816,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["universal",{"_index":24575,"title":{},"body":{"dependencies.html":{}}}],["unknown",{"_index":158,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/AntivirusService.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthorizationHelper.html":{},"classes/AxiosErrorFactory.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"injectables/BoardRepo.html":{},"injectables/BsonConverter.html":{},"classes/BusinessError.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"interfaces/CollectionFilePath.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"injectables/ColumnBoardTargetService.html":{},"interfaces/ColumnProps.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ContentMetadata.html":{},"injectables/ContextExternalToolRepo.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/CourseCopyService.html":{},"injectables/DatabaseManagementService.html":{},"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"classes/ErrorLoggable.html":{},"classes/ErrorUtils.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"controllers/FileSecurityController.html":{},"injectables/FilesStorageProducer.html":{},"injectables/FwuLearningContentsUc.html":{},"interfaces/GetFileResponse-1.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/GlobalErrorFilter.html":{},"classes/GroupRoleUnknownLoggable.html":{},"classes/GuardAgainst.html":{},"entities/H5PContent.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentProperties.html":{},"interfaces/H5PContentResponse.html":{},"controllers/H5PEditorController.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PSaveResponse.html":{},"interfaces/ILegacyLogger.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySystemRepo.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonUC.html":{},"interfaces/LibrariesContentType.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"classes/LoggingUtils.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/NewsUc.html":{},"injectables/OauthAdapterService.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"injectables/PreviewGeneratorConsumer.html":{},"injectables/PreviewProducer.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RequestInfo.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/ResponseInfo.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/RpcMessageProducer.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SaveH5PEditorParams.html":{},"injectables/SchoolExternalToolMetadataService.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/SchoolMigrationService.html":{},"classes/StorageProviderEncryptedStringType.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"injectables/SubmissionUc.html":{},"injectables/SystemRule.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"classes/TestApiClient.html":{},"injectables/ToolReferenceUc.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"injectables/UserDORepo.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{},"injectables/UserRepo.html":{}}}],["unknown.loggable.ts",{"_index":12915,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["unknown.loggable.ts:4",{"_index":12918,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["unknown.loggable.ts:7",{"_index":12920,"title":{},"body":{"classes/GroupRoleUnknownLoggable.html":{}}}],["unknownerror",{"_index":12597,"title":{},"body":{"classes/GlobalErrorFilter.html":{}}}],["unknownquerytype",{"_index":23112,"title":{},"body":{"classes/UnknownQueryTypeLoggableException.html":{}}}],["unknownquerytypeloggableexception",{"_index":23109,"title":{"classes/UnknownQueryTypeLoggableException.html":{}},"body":{"classes/UnknownQueryTypeLoggableException.html":{}}}],["unless",{"_index":24945,"title":{},"body":{"license.html":{}}}],["unlimited",{"_index":370,"title":{},"body":{"controllers/AccountController.html":{},"license.html":{}}}],["unmarkfordelete",{"_index":11812,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["unmarkoutdatedusers",{"_index":19959,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["unmarkoutdatedusers(userloginmigration",{"_index":19981,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["unmodified",{"_index":24736,"title":{},"body":{"license.html":{}}}],["unnecessary",{"_index":24818,"title":{},"body":{"license.html":{}}}],["unnessasary",{"_index":22960,"title":{},"body":{"injectables/ToolPermissionHelper.html":{}}}],["unpacking",{"_index":24973,"title":{},"body":{"license.html":{}}}],["unprocessable_entity_exception",{"_index":18845,"title":{},"body":{"classes/RestrictedContextMismatchLoggable.html":{}}}],["unprocessableentityexception",{"_index":6376,"title":{},"body":{"classes/ContentElementResponseFactory.html":{},"injectables/ElementUc.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolService.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewService.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["unprocessableentityexception('cannot",{"_index":9823,"title":{},"body":{"injectables/ElementUc.html":{},"injectables/NextcloudStrategy.html":{}}}],["unprocessableentityexception(`could",{"_index":10982,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["unprocessableentityexception(`the",{"_index":10998,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["unprocessableentityexception(`unknown",{"_index":10702,"title":{},"body":{"classes/ExternalToolRepoMapper.html":{}}}],["unprocessableentityexception(errortype.preview_not_possible",{"_index":17980,"title":{},"body":{"injectables/PreviewService.html":{}}}],["unpublish",{"_index":5551,"title":{},"body":{"entities/ColumnBoardTarget.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"classes/PatchVisibilityParams.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{}}}],["unpublished",{"_index":8014,"title":{},"body":{"interfaces/CreateNews.html":{},"classes/FilterNewsParams.html":{},"interfaces/INewsScope.html":{},"classes/NewsMapper.html":{},"injectables/NewsUc.html":{}}}],["unreachable",{"_index":986,"title":{},"body":{"injectables/AccountValidationService.html":{},"classes/KeycloakSeedService.html":{}}}],["unresponsive",{"_index":19443,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["uns",{"_index":5526,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["unsafe",{"_index":1091,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/BaseFactory.html":{},"interfaces/CollectionFilePath.html":{},"classes/ErrorLoggable.html":{},"classes/ImportUserFactory.html":{},"classes/JwtExtractor.html":{},"injectables/JwtValidationAdapter.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"injectables/TldrawBoardRepo.html":{},"classes/TldrawWs.html":{},"injectables/UserRepo.html":{}}}],["unsupported",{"_index":3985,"title":{},"body":{"classes/BoardResponseMapper.html":{}}}],["unter",{"_index":5530,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["until",{"_index":9574,"title":{},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalGroupDto.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/GroupDomainMapper.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/UpdateElementContentBodyParams.html":{},"license.html":{}}}],["untildate",{"_index":7457,"title":{},"body":{"entities/Course.html":{},"injectables/CourseCopyService.html":{},"classes/CourseFactory.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"classes/UsersList.html":{}}}],["untildateinfuture",{"_index":7885,"title":{},"body":{"injectables/CourseRepo.html":{},"classes/CourseScope.html":{}}}],["unused",{"_index":2059,"title":{},"body":{"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BasicToolLaunchStrategy.html":{},"classes/DomainObjectFactory.html":{},"injectables/FilesStorageConsumer.html":{},"controllers/LoginController.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/TestBootstrapConsole.html":{}}}],["unusedtools",{"_index":10160,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["unusedtools.filter",{"_index":10163,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["unwanted",{"_index":21680,"title":{},"body":{"injectables/TaskRepo.html":{}}}],["up",{"_index":18054,"title":{},"body":{"classes/PrometheusMetricsSetupStateLoggable.html":{},"controllers/ShareTokenController.html":{},"modules/VideoConferenceModule.html":{},"index.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["update",{"_index":3206,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"injectables/CollaborativeStorageAdapter.html":{},"interfaces/CollectionFilePath.html":{},"controllers/ColumnController.html":{},"injectables/ContentElementService.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"controllers/ElementController.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakMigrationService.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"classes/PatchMyAccountParams.html":{},"injectables/SubmissionItemService.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["update(deletionrequest",{"_index":9423,"title":{},"body":{"injectables/DeletionRequestRepo.html":{}}}],["update(deletionrequesttoupdate",{"_index":9472,"title":{},"body":{"injectables/DeletionRequestService.html":{}}}],["update(element",{"_index":6407,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["update(id",{"_index":16664,"title":{},"body":{"injectables/NewsUc.html":{}}}],["update(submissionitem",{"_index":20859,"title":{},"body":{"injectables/SubmissionItemService.html":{}}}],["update(urlparams",{"_index":16455,"title":{},"body":{"controllers/NewsController.html":{}}}],["update.params.ts",{"_index":11067,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/TaskUpdateParams.html":{}}}],["update.params.ts:16",{"_index":21862,"title":{},"body":{"classes/TaskUpdateParams.html":{}}}],["update.params.ts:17",{"_index":11069,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["update.params.ts:21",{"_index":11072,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["update.params.ts:22",{"_index":15919,"title":{},"body":{"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["update.params.ts:25",{"_index":21865,"title":{},"body":{"classes/TaskUpdateParams.html":{}}}],["update.params.ts:26",{"_index":11076,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["update.params.ts:27",{"_index":15918,"title":{},"body":{"classes/Lti11ToolConfigUpdateParams.html":{}}}],["update.params.ts:31",{"_index":11071,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["update.params.ts:33",{"_index":21866,"title":{},"body":{"classes/TaskUpdateParams.html":{}}}],["update.params.ts:35",{"_index":15917,"title":{},"body":{"classes/Lti11ToolConfigUpdateParams.html":{}}}],["update.params.ts:36",{"_index":16963,"title":{},"body":{"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["update.params.ts:39",{"_index":15916,"title":{},"body":{"classes/Lti11ToolConfigUpdateParams.html":{}}}],["update.params.ts:40",{"_index":16962,"title":{},"body":{"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["update.params.ts:41",{"_index":21863,"title":{},"body":{"classes/TaskUpdateParams.html":{}}}],["update.params.ts:44",{"_index":16964,"title":{},"body":{"classes/Oauth2ToolConfigUpdateParams.html":{}}}],["update.params.ts:49",{"_index":21861,"title":{},"body":{"classes/TaskUpdateParams.html":{}}}],["update.params.ts:52",{"_index":11068,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["update.params.ts:57",{"_index":21864,"title":{},"body":{"classes/TaskUpdateParams.html":{}}}],["update.params.ts:59",{"_index":11074,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["update.params.ts:63",{"_index":11070,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["update.params.ts:67",{"_index":11073,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["update.params.ts:73",{"_index":11075,"title":{},"body":{"classes/ExternalToolUpdateParams.html":{}}}],["update.visitor",{"_index":6412,"title":{},"body":{"injectables/ContentElementService.html":{}}}],["update.visitor.ts",{"_index":6426,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:105",{"_index":6442,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:109",{"_index":6436,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:118",{"_index":6431,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:30",{"_index":6429,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:36",{"_index":6434,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:40",{"_index":6433,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:44",{"_index":6432,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:48",{"_index":6437,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:57",{"_index":6438,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:78",{"_index":6439,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:87",{"_index":6435,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["update.visitor.ts:95",{"_index":6440,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["updateaccount",{"_index":13774,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["updateaccount(accountid",{"_index":13800,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["updateaccount(id",{"_index":14735,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["updateaccountbyid",{"_index":322,"title":{},"body":{"controllers/AccountController.html":{}}}],["updateaccountbyid(currentuser",{"_index":378,"title":{},"body":{"controllers/AccountController.html":{}}}],["updateaccountpassword",{"_index":13775,"title":{},"body":{"classes/IdentityManagementService.html":{},"injectables/KeycloakIdentityManagementService.html":{}}}],["updateaccountpassword(accountid",{"_index":13802,"title":{},"body":{"classes/IdentityManagementService.html":{}}}],["updateaccountpassword(id",{"_index":14737,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["updateboard",{"_index":19217,"title":{},"body":{"injectables/RoomsService.html":{}}}],["updateboard(board",{"_index":19222,"title":{},"body":{"injectables/RoomsService.html":{}}}],["updateboardtitle",{"_index":3178,"title":{},"body":{"controllers/BoardController.html":{},"injectables/BoardUc.html":{}}}],["updateboardtitle(urlparams",{"_index":3203,"title":{},"body":{"controllers/BoardController.html":{}}}],["updateboardtitle(userid",{"_index":4105,"title":{},"body":{"injectables/BoardUc.html":{}}}],["updatecardheight",{"_index":4324,"title":{},"body":{"controllers/CardController.html":{},"injectables/CardUc.html":{}}}],["updatecardheight(urlparams",{"_index":4347,"title":{},"body":{"controllers/CardController.html":{}}}],["updatecardheight(userid",{"_index":4505,"title":{},"body":{"injectables/CardUc.html":{}}}],["updatecardtitle",{"_index":4325,"title":{},"body":{"controllers/CardController.html":{},"injectables/CardUc.html":{}}}],["updatecardtitle(urlparams",{"_index":4351,"title":{},"body":{"controllers/CardController.html":{}}}],["updatecardtitle(userid",{"_index":4507,"title":{},"body":{"injectables/CardUc.html":{}}}],["updatecolumntitle",{"_index":5579,"title":{},"body":{"controllers/ColumnController.html":{},"injectables/ColumnUc.html":{}}}],["updatecolumntitle(urlparams",{"_index":5595,"title":{},"body":{"controllers/ColumnController.html":{}}}],["updatecolumntitle(userid",{"_index":5657,"title":{},"body":{"injectables/ColumnUc.html":{}}}],["updatecontextexternaltool",{"_index":7028,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["updatecontextexternaltool(currentuser",{"_index":22716,"title":{},"body":{"controllers/ToolContextController.html":{}}}],["updatecontextexternaltool(userid",{"_index":7042,"title":{},"body":{"injectables/ContextExternalToolUc.html":{}}}],["updatecopiedembeddedtasksoflessons",{"_index":3249,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["updatecopiedembeddedtasksoflessons(boardstatus",{"_index":3279,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["updated",{"_index":360,"title":{},"body":{"controllers/AccountController.html":{},"controllers/CollaborativeStorageController.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/IdentityManagementService.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"injectables/NextcloudStrategy.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"injectables/SchoolExternalToolUc.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/WsSharedDocDo.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{}}}],["updated.'})@apiresponse({status",{"_index":386,"title":{},"body":{"controllers/AccountController.html":{}}}],["updatedat",{"_index":431,"title":{},"body":{"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BoardColumnBoardResponse.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardTaskResponse.html":{},"injectables/CardService.html":{},"classes/Class.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnService.html":{},"injectables/ContentElementFactory.html":{},"classes/County.html":{},"injectables/CourseUc.html":{},"classes/DeletionLog.html":{},"entities/DeletionLogEntity.html":{},"interfaces/DeletionLogEntityProps.html":{},"classes/DeletionLogMapper.html":{},"interfaces/DeletionLogProps.html":{},"classes/DeletionRequest.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestMapper.html":{},"interfaces/DeletionRequestProps.html":{},"classes/DtoCreator.html":{},"interfaces/EntityWithSchool.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"entities/FederalStateEntity.html":{},"interfaces/FederalStateProperties.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"interfaces/IEntity.html":{},"interfaces/IEntityWithTimestamps.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"classes/NewsResponse.html":{},"interfaces/ParentInfo.html":{},"classes/Pseudonym.html":{},"interfaces/PseudonymProps.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/ResolvedUserResponse.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/SubmissionItemFactory.html":{},"injectables/SubmissionItemService.html":{},"classes/TaskListResponse.html":{},"classes/TaskMapper.html":{},"classes/TaskResponse.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{}}}],["updatedclasses",{"_index":4779,"title":{},"body":{"injectables/ClassService.html":{}}}],["updatedclasses.length",{"_index":4783,"title":{},"body":{"injectables/ClassService.html":{}}}],["updateddomainobject",{"_index":4833,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["updatedelements",{"_index":3360,"title":{},"body":{"injectables/BoardCopyService.html":{}}}],["updatedentity",{"_index":4835,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["updatedlessons",{"_index":15562,"title":{},"body":{"injectables/LessonService.html":{}}}],["updatedlessons.length",{"_index":15567,"title":{},"body":{"injectables/LessonService.html":{}}}],["updatedmodel",{"_index":8674,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["updatedocument",{"_index":22234,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"injectables/TldrawWsService.html":{}}}],["updatedocument(docname",{"_index":22242,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"injectables/TldrawWsService.html":{}}}],["updatedtool",{"_index":7058,"title":{},"body":{"injectables/ContextExternalToolUc.html":{},"controllers/ToolContextController.html":{}}}],["updateduserloginmigration",{"_index":4942,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["updateduserloginmigration.id",{"_index":18838,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{}}}],["updateelement",{"_index":9763,"title":{},"body":{"controllers/ElementController.html":{}}}],["updateelement(urlparams",{"_index":9777,"title":{},"body":{"controllers/ElementController.html":{}}}],["updateelementcontent",{"_index":9800,"title":{},"body":{"injectables/ElementUc.html":{}}}],["updateelementcontent(userid",{"_index":9808,"title":{},"body":{"injectables/ElementUc.html":{}}}],["updateelementcontentbodyparams",{"_index":9578,"title":{"classes/UpdateElementContentBodyParams.html":{}},"body":{"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"controllers/ElementController.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["updateexecutionrequest",{"_index":14569,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["updateexistinggridelement",{"_index":8630,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["updateexistinggridelement(elementmodel",{"_index":8652,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["updateexternaltool",{"_index":10928,"title":{},"body":{"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"controllers/ToolController.html":{}}}],["updateexternaltool(currentuser",{"_index":22776,"title":{},"body":{"controllers/ToolController.html":{}}}],["updateexternaltool(toupdate",{"_index":10948,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["updateexternaltool(userid",{"_index":11050,"title":{},"body":{"injectables/ExternalToolUc.html":{}}}],["updatefileurls",{"_index":21435,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["updatefileurls(task",{"_index":21446,"title":{},"body":{"injectables/TaskCopyService.html":{}}}],["updateflag",{"_index":13872,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["updateflag(urlparams",{"_index":13897,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["updateflagparams",{"_index":13898,"title":{"classes/UpdateFlagParams.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/UpdateFlagParams.html":{}}}],["updatehandler",{"_index":22447,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["updatehandler(update",{"_index":22469,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["updateheight",{"_index":4433,"title":{},"body":{"injectables/CardService.html":{}}}],["updateheight(card",{"_index":4452,"title":{},"body":{"injectables/CardService.html":{}}}],["updateidentityprovider",{"_index":14494,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["updateidentityprovider(oidcconfig",{"_index":14528,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["updatelasttriedfailedlogin",{"_index":21,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountServiceDb.html":{},"injectables/AuthenticationService.html":{}}}],["updatelasttriedfailedlogin(accountid",{"_index":81,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountServiceDb.html":{}}}],["updatelasttriedfailedlogin(id",{"_index":1710,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["updatemany",{"_index":4808,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["updatemany(classes",{"_index":4813,"title":{},"body":{"injectables/ClassesRepo.html":{}}}],["updatematchparams",{"_index":13890,"title":{"classes/UpdateMatchParams.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/UpdateMatchParams.html":{}}}],["updatemyaccount",{"_index":323,"title":{},"body":{"controllers/AccountController.html":{}}}],["updatemyaccount(@currentuser",{"_index":419,"title":{},"body":{"controllers/AccountController.html":{}}}],["updatemyaccount(currentuser",{"_index":382,"title":{},"body":{"controllers/AccountController.html":{}}}],["updatenewsparams",{"_index":16456,"title":{"classes/UpdateNewsParams.html":{}},"body":{"controllers/NewsController.html":{},"classes/NewsMapper.html":{},"classes/UpdateNewsParams.html":{}}}],["updateoauth2client",{"_index":17190,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{},"classes/OauthProviderService.html":{}}}],["updateoauth2client(currentuser",{"_index":17201,"title":{},"body":{"injectables/OauthProviderClientCrudUc.html":{},"controllers/OauthProviderController.html":{}}}],["updateoauth2client(id",{"_index":17471,"title":{},"body":{"classes/OauthProviderService.html":{}}}],["updateoauth2toolconfig",{"_index":10929,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["updateoauth2toolconfig(toupdate",{"_index":10951,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["updateoauthclientorthrow",{"_index":10930,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["updateoauthclientorthrow(loadedoauthclient",{"_index":10953,"title":{},"body":{"injectables/ExternalToolService.html":{}}}],["updateorcreateidpdefaultmapper",{"_index":14495,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["updateorcreateidpdefaultmapper(idpalias",{"_index":14530,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["updatepassword",{"_index":22,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountServiceDb.html":{}}}],["updatepassword(accountid",{"_index":86,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountServiceDb.html":{}}}],["updater",{"_index":6421,"title":{},"body":{"injectables/ContentElementService.html":{},"entities/CourseNews.html":{},"entities/News.html":{},"classes/NewsListResponse.html":{},"interfaces/NewsProperties.html":{},"injectables/NewsRepo.html":{},"classes/NewsResponse.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["updaterid",{"_index":7831,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["updates",{"_index":356,"title":{},"body":{"controllers/AccountController.html":{},"injectables/CollaborativeStorageAdapter.html":{},"controllers/CollaborativeStorageController.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"interfaces/CollectionFilePath.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/NextcloudStrategy.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"license.html":{}}}],["updateschoolexternaltool",{"_index":19864,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{},"controllers/ToolSchoolController.html":{}}}],["updateschoolexternaltool(currentuser",{"_index":23065,"title":{},"body":{"controllers/ToolSchoolController.html":{}}}],["updateschoolexternaltool(userid",{"_index":19879,"title":{},"body":{"injectables/SchoolExternalToolUc.html":{}}}],["updatesecuritycheckstatus(status",{"_index":11800,"title":{},"body":{"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["updatesecuritystatus",{"_index":11981,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["updatesecuritystatus(@body",{"_index":12000,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["updatesecuritystatus(scanresultdto",{"_index":11986,"title":{},"body":{"controllers/FileSecurityController.html":{}}}],["updatestoreddocwithdiff",{"_index":22235,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["updatestoreddocwithdiff(docname",{"_index":22246,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["updatesubmissionitem",{"_index":3996,"title":{},"body":{"controllers/BoardSubmissionController.html":{},"injectables/SubmissionItemUc.html":{}}}],["updatesubmissionitem(currentuser",{"_index":4012,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["updatesubmissionitem(userid",{"_index":20876,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["updatesubmissionitembodyparams",{"_index":4013,"title":{"classes/UpdateSubmissionItemBodyParams.html":{}},"body":{"controllers/BoardSubmissionController.html":{},"classes/UpdateSubmissionItemBodyParams.html":{}}}],["updateteam",{"_index":4962,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/NextcloudStrategy.html":{}}}],["updateteam(team",{"_index":4976,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/NextcloudStrategy.html":{}}}],["updateteampermissionsforrole",{"_index":4963,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{}}}],["updateteampermissionsforrole(currentuser",{"_index":5041,"title":{},"body":{"controllers/CollaborativeStorageController.html":{}}}],["updateteampermissionsforrole(currentuserid",{"_index":5095,"title":{},"body":{"injectables/CollaborativeStorageService.html":{}}}],["updateteampermissionsforrole(dto",{"_index":5124,"title":{},"body":{"interfaces/CollaborativeStorageStrategy.html":{},"injectables/NextcloudStrategy.html":{}}}],["updateteampermissionsforrole(team",{"_index":4978,"title":{},"body":{"injectables/CollaborativeStorageAdapter.html":{}}}],["updateteamusersingroup",{"_index":16727,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["updateteamusersingroup(groupid",{"_index":16747,"title":{},"body":{"injectables/NextcloudStrategy.html":{}}}],["updatetitle",{"_index":4434,"title":{},"body":{"injectables/CardService.html":{},"injectables/ColumnBoardService.html":{},"injectables/ColumnService.html":{}}}],["updatetitle(board",{"_index":5470,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["updatetitle(card",{"_index":4454,"title":{},"body":{"injectables/CardService.html":{}}}],["updatetitle(column",{"_index":5640,"title":{},"body":{"injectables/ColumnService.html":{}}}],["updateusername",{"_index":23,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountServiceDb.html":{}}}],["updateusername(accountid",{"_index":89,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountServiceDb.html":{}}}],["updateuserpermissionsforrole",{"_index":5128,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["updateuserpermissionsforrole(currentuserid",{"_index":5135,"title":{},"body":{"injectables/CollaborativeStorageUc.html":{}}}],["updatevisibilityofboardelement",{"_index":19241,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["updatevisibilityofboardelement(roomid",{"_index":19248,"title":{},"body":{"injectables/RoomsUc.html":{}}}],["updating",{"_index":2468,"title":{},"body":{"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/ContextExternalToolRepo.html":{},"interfaces/CreateNews.html":{},"injectables/ExternalToolRepo.html":{},"interfaces/INewsScope.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LtiToolRepo.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"injectables/NextcloudStrategy.html":{},"injectables/SchoolExternalToolRepo.html":{},"injectables/ShareTokenRepo.html":{},"classes/UpdateNewsParams.html":{},"injectables/UserDORepo.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/VideoConferenceRepo.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["updator/creator",{"_index":16578,"title":{},"body":{"injectables/NewsRepo.html":{}}}],["upload",{"_index":19359,"title":{},"body":{"injectables/S3ClientAdapter.html":{},"dependencies.html":{}}}],["upload.done",{"_index":19382,"title":{},"body":{"injectables/S3ClientAdapter.html":{}}}],["uploadedfiles",{"_index":13165,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["upper",{"_index":15677,"title":{},"body":{"classes/ListOauthClientsParams.html":{}}}],["uppercase",{"_index":25557,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["uppercase_snake_case",{"_index":1397,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{},"classes/ErrorResponse.html":{}}}],["uri",{"_index":1060,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"modules/DeletionApiModule.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigResponse.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["url",{"_index":110,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/AntivirusService.html":{},"interfaces/BBBJoinResponse.html":{},"injectables/BBBService.html":{},"injectables/BasicToolLaunchStrategy.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardUrlHandler.html":{},"modules/CacheWrapperModule.html":{},"injectables/CalendarService.html":{},"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentResponse.html":{},"injectables/ContentElementFactory.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/CopyFileListResponse.html":{},"classes/CopyFileParams.html":{},"classes/CopyFileResponse.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"injectables/CourseUrlHandler.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterFactory.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalTool.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileParams.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordParams.html":{},"classes/FileRecordResponse.html":{},"classes/FileUrlParams.html":{},"classes/GetMetaTagDataBody.html":{},"interfaces/GlobalConstants.html":{},"injectables/HydraSsoService.html":{},"interfaces/ILegacyLogger.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"classes/LdapConfig.html":{},"classes/LdapConfigEntity.html":{},"injectables/LdapService.html":{},"injectables/LegacySystemService.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonUrlHandler.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContent.html":{},"classes/LinkElementContentBody.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"interfaces/LinkElementProps.html":{},"classes/LinkElementResponse.html":{},"classes/LinkElementResponseMapper.html":{},"classes/LoginResponse-1.html":{},"injectables/Lti11EncryptionService.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"entities/Material.html":{},"classes/MaterialFactory.html":{},"interfaces/MaterialProperties.html":{},"classes/MetaTagExtractorResponse.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagExtractorUc.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/NexboardService.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/PreviewParams.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RedirectResponse.html":{},"modules/RedisModule.html":{},"interfaces/RelatedResourceProperties.html":{},"classes/RenameFileParams.html":{},"injectables/RequestLoggingInterceptor.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/System.html":{},"classes/SystemDomainMapper.html":{},"classes/SystemDto.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemMapper.html":{},"interfaces/SystemProps.html":{},"interfaces/TargetGroupProperties.html":{},"injectables/TaskUrlHandler.html":{},"classes/TldrawWs.html":{},"classes/ToolLaunchMapper.html":{},"classes/ToolLaunchRequest.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReferenceResponse.html":{},"classes/UpdateElementContentBodyParams.html":{},"interfaces/UrlHandler.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["url('/admin/api/v1/deletionexecutions",{"_index":9029,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["url('/admin/api/v1/deletionrequests",{"_index":9026,"title":{},"body":{"injectables/DeletionClient.html":{}}}],["url(`${api_version_path}${newpath",{"_index":1348,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["url(params.logouturl).origin",{"_index":24068,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["url(this.baseurl",{"_index":2428,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["url(this.content.url).tostring",{"_index":6461,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{}}}],["url(this.logouturl).origin",{"_index":14215,"title":{},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{}}}],["url(url",{"_index":154,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{}}}],["url(value",{"_index":15643,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["url.body.params",{"_index":16192,"title":{},"body":{"controllers/MetaTagExtractorController.html":{}}}],["url.body.params.ts",{"_index":12551,"title":{},"body":{"classes/GetMetaTagDataBody.html":{}}}],["url.body.params.ts:10",{"_index":12553,"title":{},"body":{"classes/GetMetaTagDataBody.html":{}}}],["url.de",{"_index":16306,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["url.href",{"_index":1350,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["url.length",{"_index":16254,"title":{},"body":{"injectables/MetaTagExtractorService.html":{}}}],["url.loggable",{"_index":14212,"title":{},"body":{"classes/InvalidOriginForLogoutUrlLoggableException.html":{}}}],["url.pathname",{"_index":2429,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["url.search",{"_index":2431,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["url.service",{"_index":16209,"title":{},"body":{"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagExtractorService.html":{}}}],["url.service.ts",{"_index":16285,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["url.service.ts:20",{"_index":16295,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["url.service.ts:27",{"_index":16294,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["url.service.ts:34",{"_index":16292,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["url.service.ts:9",{"_index":16290,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["url.tolowercase().includes(domain.tolowercase",{"_index":16308,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["url.tostring",{"_index":2432,"title":{},"body":{"injectables/BBBService.html":{}}}],["urlencoded",{"_index":14713,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthAdapterService.html":{}}}],["urlencodedpayload",{"_index":16985,"title":{},"body":{"injectables/OauthAdapterService.html":{}}}],["urlhandler",{"_index":4137,"title":{"interfaces/UrlHandler.html":{}},"body":{"injectables/BoardUrlHandler.html":{},"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/MetaTagInternalUrlService.html":{},"injectables/TaskUrlHandler.html":{},"interfaces/UrlHandler.html":{}}}],["urlobject",{"_index":152,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{}}}],["urlobject.pathname",{"_index":16312,"title":{},"body":{"injectables/MetaTagInternalUrlService.html":{}}}],["urlparamkeys",{"_index":14558,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["urlparams",{"_index":3189,"title":{},"body":{"controllers/BoardController.html":{},"controllers/BoardSubmissionController.html":{},"controllers/CardController.html":{},"controllers/ColumnController.html":{},"controllers/CourseController.html":{},"controllers/DashboardController.html":{},"controllers/ElementController.html":{},"controllers/ImportUserController.html":{},"controllers/LessonController.html":{},"controllers/NewsController.html":{},"controllers/RoomsController.html":{},"controllers/ShareTokenController.html":{},"controllers/SubmissionController.html":{},"controllers/TaskController.html":{},"controllers/TeamNewsController.html":{},"controllers/TldrawController.html":{}}}],["urlparams.boardid",{"_index":3222,"title":{},"body":{"controllers/BoardController.html":{}}}],["urlparams.cardid",{"_index":4371,"title":{},"body":{"controllers/CardController.html":{}}}],["urlparams.columnid",{"_index":5604,"title":{},"body":{"controllers/ColumnController.html":{}}}],["urlparams.contentelementid",{"_index":9786,"title":{},"body":{"controllers/ElementController.html":{}}}],["urlparams.dashboardid",{"_index":8373,"title":{},"body":{"controllers/DashboardController.html":{}}}],["urlparams.elementid",{"_index":19204,"title":{},"body":{"controllers/RoomsController.html":{}}}],["urlparams.importuserid",{"_index":13926,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["urlparams.lessonid",{"_index":15412,"title":{},"body":{"controllers/LessonController.html":{},"controllers/RoomsController.html":{}}}],["urlparams.newsid",{"_index":16479,"title":{},"body":{"controllers/NewsController.html":{}}}],["urlparams.roomid",{"_index":19203,"title":{},"body":{"controllers/RoomsController.html":{}}}],["urlparams.submissioncontainerid",{"_index":4031,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["urlparams.submissionid",{"_index":20771,"title":{},"body":{"controllers/SubmissionController.html":{}}}],["urlparams.submissionitemid",{"_index":4036,"title":{},"body":{"controllers/BoardSubmissionController.html":{}}}],["urlparams.taskid",{"_index":21424,"title":{},"body":{"controllers/TaskController.html":{}}}],["urlparams.teamid",{"_index":21934,"title":{},"body":{"controllers/TeamNewsController.html":{}}}],["urlparams.token",{"_index":20338,"title":{},"body":{"controllers/ShareTokenController.html":{}}}],["urls",{"_index":12504,"title":{},"body":{"interfaces/GetFileResponse-1.html":{},"interfaces/GetH5PFileResponse.html":{},"classes/H5PContentMetadata.html":{},"interfaces/H5PContentResponse.html":{},"classes/H5PEditorModelContentResponse.html":{},"classes/H5PEditorModelResponse.html":{},"classes/H5PSaveResponse.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/OauthClientBody.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["urlsafe",{"_index":24578,"title":{},"body":{"dependencies.html":{}}}],["urlsearchparams",{"_index":2352,"title":{},"body":{"injectables/BBBService.html":{},"injectables/CalendarService.html":{}}}],["urlstripped",{"_index":22420,"title":{},"body":{"classes/TldrawWs.html":{}}}],["usable",{"_index":20291,"title":{},"body":{"classes/ShareTokenBodyParams.html":{}}}],["usage",{"_index":4777,"title":{},"body":{"injectables/ClassService.html":{},"classes/ExternalToolRepoMapper.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["use",{"_index":412,"title":{},"body":{"controllers/AccountController.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"injectables/BoardNodeRepo.html":{},"injectables/CommonToolService.html":{},"injectables/CopyFilesService.html":{},"entities/CourseNews.html":{},"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/DomainObjectFactory.html":{},"injectables/ErrorLogger.html":{},"injectables/ExternalToolUc.html":{},"injectables/FeathersRosterService.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"injectables/FileSystemAdapter.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"classes/GlobalValidationPipe.html":{},"injectables/H5PLibraryManagementService.html":{},"injectables/LdapStrategy.html":{},"modules/LearnroomApiModule.html":{},"injectables/LegacyLogger.html":{},"injectables/LegacySystemRepo.html":{},"injectables/LegacySystemService.html":{},"interfaces/LibrariesContentType.html":{},"classes/MongoPatterns.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/OauthClientBody.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"interfaces/ParentInfo.html":{},"injectables/PermissionService.html":{},"entities/SchoolNews.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/TaskUC.html":{},"entities/TeamNews.html":{},"injectables/ToolPermissionHelper.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"injectables/UserService.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{},"index.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/rocket.chat.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{},"additional-documentation/nestjs-application/code-style.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["use_stream_to_antivirus",{"_index":12007,"title":{},"body":{"interfaces/FileStorageConfig.html":{}}}],["usecase",{"_index":25459,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["usecases",{"_index":25497,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["usecentralldap",{"_index":13894,"title":{},"body":{"controllers/ImportUserController.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{}}}],["useclass",{"_index":9957,"title":{},"body":{"modules/ErrorModule.html":{},"modules/IdentityManagementModule.html":{},"modules/InterceptorModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/OauthProviderServiceModule.html":{},"modules/ValidationModule.html":{}}}],["used",{"_index":72,"title":{},"body":{"classes/AbstractAccountService.html":{},"interfaces/AdminIdAndToken.html":{},"modules/AuthorizationReferenceModule.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/CardSkeletonResponse.html":{},"interfaces/CleanOptions.html":{},"injectables/CollaborativeStorageAdapter.html":{},"classes/ConsentResponse.html":{},"injectables/ErrorLogger.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/FeathersRosterService.html":{},"classes/FileMetadata.html":{},"interfaces/ILegacyLogger.html":{},"entities/InstalledLibrary.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LibraryName.html":{},"classes/LoginResponse-1.html":{},"interfaces/MigrationOptions.html":{},"classes/MongoPatterns.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"injectables/NextcloudStrategy.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"interfaces/OauthCurrentUser.html":{},"classes/Path.html":{},"interfaces/RetryOptions.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/S3ClientAdapter.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"controllers/SystemController.html":{},"injectables/TaskRepo.html":{},"entities/TeamEntity.html":{},"controllers/TeamNewsController.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"injectables/UserRepo.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["usedglobals",{"_index":12559,"title":{},"body":{"interfaces/GlobalConstants.html":{}}}],["usedobuilder(builder",{"_index":3894,"title":{},"body":{"entities/BoardNode.html":{},"interfaces/BoardNodeProps.html":{},"entities/CardNode.html":{},"interfaces/CardNodeProps.html":{},"entities/ColumnBoardNode.html":{},"interfaces/ColumnBoardNodeProps.html":{},"entities/ColumnNode.html":{},"entities/DrawingElementNode.html":{},"interfaces/DrawingElementNodeProps.html":{},"entities/ExternalToolElementNodeEntity.html":{},"interfaces/ExternalToolElementNodeEntityProps.html":{},"entities/FileElementNode.html":{},"interfaces/FileElementNodeProps.html":{},"entities/LinkElementNode.html":{},"interfaces/LinkElementNodeProps.html":{},"entities/RichTextElementNode.html":{},"interfaces/RichTextElementNodeProps.html":{},"entities/SubmissionContainerElementNode.html":{},"interfaces/SubmissionContainerNodeProps.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["useexisting",{"_index":5033,"title":{},"body":{"modules/CollaborativeStorageAdapterModule.html":{}}}],["usefactory",{"_index":686,"title":{},"body":{"modules/AccountModule.html":{},"modules/AntivirusModule.html":{},"modules/CacheWrapperModule.html":{},"modules/EncryptionModule.html":{},"modules/InterceptorModule.html":{},"modules/LoggerModule.html":{},"modules/MongoMemoryDatabaseModule.html":{},"modules/PreviewGeneratorConsumerModule.html":{},"modules/RedisModule.html":{},"modules/S3ClientModule.html":{}}}],["useful",{"_index":25208,"title":{},"body":{"license.html":{}}}],["useguards",{"_index":9130,"title":{},"body":{"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{},"controllers/LoginController.html":{}}}],["useguards(authguard('api",{"_index":9133,"title":{},"body":{"controllers/DeletionExecutionsController.html":{},"controllers/DeletionRequestsController.html":{}}}],["useguards(authguard('ldap",{"_index":15801,"title":{},"body":{"controllers/LoginController.html":{}}}],["useguards(authguard('local",{"_index":15807,"title":{},"body":{"controllers/LoginController.html":{}}}],["useguards(authguard('oauth2",{"_index":15811,"title":{},"body":{"controllers/LoginController.html":{}}}],["useguards(undefined)@httpcode(httpstatus.ok)@post('ldap')@apioperation({summary",{"_index":15781,"title":{},"body":{"controllers/LoginController.html":{}}}],["useguards(undefined)@httpcode(httpstatus.ok)@post('local')@apioperation({summary",{"_index":15788,"title":{},"body":{"controllers/LoginController.html":{}}}],["useguards(undefined)@httpcode(httpstatus.ok)@post('oauth2')@apioperation({summary",{"_index":15793,"title":{},"body":{"controllers/LoginController.html":{}}}],["useinterceptors",{"_index":13166,"title":{},"body":{"controllers/H5PEditorController.html":{}}}],["user",{"_index":290,"title":{"entities/User.html":{}},"body":{"classes/AccountByIdBodyParams.html":{},"controllers/AccountController.html":{},"classes/AccountFactory.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationHelper.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"classes/BaseUc.html":{},"injectables/BatchDeletionUc.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoRule.html":{},"injectables/CardUc.html":{},"interfaces/CleanOptions.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"controllers/CollaborativeStorageController.html":{},"injectables/CollaborativeStorageService.html":{},"injectables/CollaborativeStorageUc.html":{},"injectables/ColumnBoardCopyService.html":{},"interfaces/ComponentEtherpadProperties.html":{},"interfaces/ComponentGeogebraProperties.html":{},"interfaces/ComponentInternalProperties.html":{},"interfaces/ComponentLernstoreProperties.html":{},"interfaces/ComponentNexboardProperties.html":{},"interfaces/ComponentTextProperties.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"injectables/ContextExternalToolRule.html":{},"injectables/ContextExternalToolUc.html":{},"interfaces/CopyFileDO.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRule.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRule.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomParameterFactory.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"modules/DeletionApiModule.html":{},"injectables/DeletionClient.html":{},"classes/DtoCreator.html":{},"injectables/ElementUc.html":{},"classes/ExternalGroupDto.html":{},"injectables/ExternalToolConfigurationUc.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolUc.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"modules/FilesStorageModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"classes/Group.html":{},"controllers/GroupController.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupRoleUnknownLoggable.html":{},"injectables/GroupRule.html":{},"injectables/GroupService.html":{},"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"classes/GroupUserResponse.html":{},"modules/H5PEditorModule.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/ITask.html":{},"injectables/IdTokenService.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserMapper.html":{},"modules/ImportUserModule.html":{},"interfaces/ImportUserProperties.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/ImportUserUrlParams.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"injectables/IservProvisioningStrategy.html":{},"interfaces/JwtPayload.html":{},"injectables/JwtStrategy.html":{},"injectables/KeycloakConfigurationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAlreadyPersistedException.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LdapUserMigrationException.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LessonCopyUC.html":{},"entities/LessonEntity.html":{},"interfaces/LessonParent.html":{},"interfaces/LessonProperties.html":{},"injectables/LessonRepo.html":{},"injectables/LessonRule.html":{},"injectables/LessonUC.html":{},"interfaces/LibrariesContentType.html":{},"injectables/LocalStrategy.html":{},"controllers/LoginController.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"classes/LumiUserWithContentData.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MetaTagExtractorModule.html":{},"injectables/MetaTagExtractorService.html":{},"classes/MigrationAlreadyActivatedException.html":{},"injectables/MigrationCheckService.html":{},"interfaces/MigrationOptions.html":{},"classes/MissingSchoolNumberException.html":{},"entities/News.html":{},"controllers/NewsController.html":{},"classes/NewsListResponse.html":{},"classes/NewsMapper.html":{},"interfaces/NewsProperties.html":{},"classes/NewsResponse.html":{},"injectables/NewsUc.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/OauthConfig.html":{},"classes/OauthConfigDto.html":{},"interfaces/OauthCurrentUser.html":{},"injectables/OauthProviderClientCrudUc.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"classes/OauthProviderService.html":{},"controllers/OauthSSOController.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"interfaces/ParentInfo.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"injectables/PermissionService.html":{},"controllers/PseudonymController.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"classes/RedirectResponse.html":{},"classes/ResolvedGroupDto.html":{},"classes/ResolvedGroupUser.html":{},"classes/ResolvedUserMapper.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"interfaces/RetryOptions.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/RocketChatUserService.html":{},"injectables/RoomBoardDTOFactory.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/RoomsUc.html":{},"interfaces/Rule.html":{},"injectables/RuleManager.html":{},"injectables/SanisResponseMapper.html":{},"injectables/SchoolExternalToolRule.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInMigrationLoggableException.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"injectables/SchoolMigrationService.html":{},"entities/SchoolNews.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenUC.html":{},"injectables/StartUserLoginMigrationUc.html":{},"entities/Submission.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"classes/SubmissionItemResponseMapper.html":{},"interfaces/SubmissionProperties.html":{},"injectables/SubmissionRule.html":{},"injectables/SubmissionUc.html":{},"classes/SubmissionsResponse.html":{},"injectables/SystemRule.html":{},"injectables/SystemUc.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"injectables/TaskCopyUC.html":{},"interfaces/TaskCreate.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"interfaces/TaskProperties.html":{},"injectables/TaskRule.html":{},"interfaces/TaskStatus.html":{},"injectables/TaskUC.html":{},"interfaces/TaskUpdate.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"controllers/TeamNewsController.html":{},"interfaces/TeamProperties.html":{},"injectables/TeamRule.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileStorage.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"injectables/ToolPermissionHelper.html":{},"controllers/ToolReferenceController.html":{},"controllers/ToolSchoolController.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"entities/User.html":{},"classes/UserAlreadyAssignedToImportUserError.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"controllers/UserController.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{},"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"entities/UserLoginMigrationEntity.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"interfaces/UserMetdata.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"classes/UserParams.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserRule.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["user's",{"_index":17254,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["user'})@isboolean",{"_index":23119,"title":{},"body":{"classes/UpdateFlagParams.html":{}}}],["user'})@ismongoid",{"_index":23122,"title":{},"body":{"classes/UpdateMatchParams.html":{}}}],["user(params",{"_index":26028,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["user(s",{"_index":25999,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["user(value",{"_index":21892,"title":{},"body":{"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{}}}],["user.'})@apiresponse({status",{"_index":359,"title":{},"body":{"controllers/AccountController.html":{},"controllers/GroupController.html":{}}}],["user._id",{"_index":14142,"title":{},"body":{"classes/ImportUserScope.html":{}}}],["user._id.$oid",{"_index":14873,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["user.accountid",{"_index":1732,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["user.attribute",{"_index":14641,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["user.attributes",{"_index":14779,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["user.attributes[attributename",{"_index":14780,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["user.birthday",{"_index":17644,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["user.business",{"_index":23183,"title":{},"body":{"classes/UserAlreadyAssignedToImportUserError.html":{}}}],["user.cancreaterestricted",{"_index":13083,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["user.caninstallrecommended",{"_index":13085,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["user.canupdateandinstalllibraries",{"_index":13087,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["user.controller",{"_index":14053,"title":{},"body":{"modules/ImportUserModule.html":{}}}],["user.controller.ts",{"_index":13863,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:100",{"_index":13888,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:105",{"_index":13896,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:113",{"_index":13875,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:30",{"_index":13878,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:48",{"_index":13892,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:60",{"_index":13885,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:71",{"_index":13900,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.controller.ts:83",{"_index":13881,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.createdat",{"_index":18812,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["user.createdtimestamp",{"_index":14785,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["user.do",{"_index":18958,"title":{},"body":{"classes/RocketChatUserMapper.html":{},"injectables/RocketChatUserRepo.html":{}}}],["user.do.ts",{"_index":18920,"title":{},"body":{"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{}}}],["user.do.ts:14",{"_index":18922,"title":{},"body":{"classes/RocketChatUser.html":{}}}],["user.do.ts:18",{"_index":18924,"title":{},"body":{"classes/RocketChatUser.html":{}}}],["user.do.ts:22",{"_index":18926,"title":{},"body":{"classes/RocketChatUser.html":{}}}],["user.do.ts:26",{"_index":18928,"title":{},"body":{"classes/RocketChatUser.html":{}}}],["user.do.ts:30",{"_index":18929,"title":{},"body":{"classes/RocketChatUser.html":{}}}],["user.do.ts:34",{"_index":18930,"title":{},"body":{"classes/RocketChatUser.html":{}}}],["user.dto",{"_index":10015,"title":{},"body":{"classes/ExternalGroupDto.html":{},"classes/OauthDataDto.html":{}}}],["user.dto.ts",{"_index":10023,"title":{},"body":{"classes/ExternalGroupUserDto.html":{},"classes/ExternalUserDto.html":{}}}],["user.dto.ts:10",{"_index":11186,"title":{},"body":{"classes/ExternalUserDto.html":{}}}],["user.dto.ts:12",{"_index":11188,"title":{},"body":{"classes/ExternalUserDto.html":{}}}],["user.dto.ts:14",{"_index":11185,"title":{},"body":{"classes/ExternalUserDto.html":{}}}],["user.dto.ts:4",{"_index":10026,"title":{},"body":{"classes/ExternalGroupUserDto.html":{},"classes/ExternalUserDto.html":{}}}],["user.dto.ts:6",{"_index":10025,"title":{},"body":{"classes/ExternalGroupUserDto.html":{},"classes/ExternalUserDto.html":{}}}],["user.dto.ts:8",{"_index":11187,"title":{},"body":{"classes/ExternalUserDto.html":{}}}],["user.email",{"_index":13088,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"injectables/IdTokenService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"classes/LumiUserWithContentData.html":{},"injectables/OidcProvisioningService.html":{},"classes/UserDto.html":{},"classes/UserMatchMapper.html":{}}}],["user.entity",{"_index":7495,"title":{},"body":{"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"entities/CourseNews.html":{},"interfaces/CourseProperties.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/IImportUserScope.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"interfaces/NameMatch.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/RocketChatUserFactory.html":{},"entities/SchoolNews.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"entities/TeamEntity.html":{},"entities/TeamNews.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"classes/UsersList.html":{}}}],["user.entity.factory.ts",{"_index":18949,"title":{},"body":{"classes/RocketChatUserFactory.html":{}}}],["user.entity.ts",{"_index":12996,"title":{},"body":{"classes/GroupUserEntity.html":{},"interfaces/GroupUserEntityProps.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["user.entity.ts:102",{"_index":13828,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:109",{"_index":13821,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:112",{"_index":13815,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:13",{"_index":12999,"title":{},"body":{"classes/GroupUserEntity.html":{}}}],["user.entity.ts:16",{"_index":12998,"title":{},"body":{"classes/GroupUserEntity.html":{}}}],["user.entity.ts:20",{"_index":18940,"title":{},"body":{"entities/RocketChatUserEntity.html":{}}}],["user.entity.ts:24",{"_index":18939,"title":{},"body":{"entities/RocketChatUserEntity.html":{}}}],["user.entity.ts:28",{"_index":18938,"title":{},"body":{"entities/RocketChatUserEntity.html":{}}}],["user.entity.ts:31",{"_index":18937,"title":{},"body":{"entities/RocketChatUserEntity.html":{}}}],["user.entity.ts:54",{"_index":13825,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:57",{"_index":13826,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:60",{"_index":13817,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:76",{"_index":13813,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:79",{"_index":13814,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:82",{"_index":13816,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:88",{"_index":13811,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:91",{"_index":13823,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.entity.ts:94",{"_index":13810,"title":{},"body":{"entities/ImportUser.html":{}}}],["user.externalid",{"_index":14291,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{},"injectables/OidcProvisioningStrategy.html":{},"classes/UserDto.html":{}}}],["user.externalidtoken",{"_index":15814,"title":{},"body":{"controllers/LoginController.html":{}}}],["user.factory",{"_index":698,"title":{},"body":{"interfaces/AccountParams.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/SubmissionFactory.html":{},"classes/TaskFactory.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["user.factory.ts",{"_index":13946,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["user.factory.ts:10",{"_index":13948,"title":{},"body":{"classes/ImportUserFactory.html":{}}}],["user.firstname",{"_index":3421,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/GroupUserResponse.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"injectables/OidcProvisioningService.html":{},"classes/ResolvedUserMapper.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/UserDto.html":{},"classes/UserInfoMapper.html":{},"classes/UserMatchMapper.html":{},"injectables/UserService.html":{},"classes/UsersList.html":{}}}],["user.forcepasswordchange",{"_index":23368,"title":{},"body":{"classes/UserDto.html":{}}}],["user.id",{"_index":578,"title":{},"body":{"classes/AccountFactory.html":{},"injectables/AuthorizationHelper.html":{},"injectables/BoardCopyService.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardDoRule.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/CurrentUserMapper.html":{},"injectables/FeathersRosterService.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"classes/GroupUserResponse.html":{},"interfaces/H5PContentParentParams.html":{},"injectables/IdTokenService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"classes/LumiUserWithContentData.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/PseudonymService.html":{},"classes/ResolvedUserMapper.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/Task.html":{},"injectables/TaskCopyService.html":{},"interfaces/TaskParent.html":{},"injectables/TaskUC.html":{},"classes/TaskWithStatusVo.html":{},"injectables/TeamRule.html":{},"injectables/TemporaryFileStorage.html":{},"interfaces/UserData.html":{},"classes/UserDto.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"classes/UserInfoMapper.html":{},"classes/UserMatchMapper.html":{},"interfaces/UserMetdata.html":{},"classes/UsersList.html":{},"injectables/VideoConferenceEndUc.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["user.interface",{"_index":14866,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["user.interface.ts",{"_index":14297,"title":{},"body":{"interfaces/JsonUser.html":{}}}],["user.language",{"_index":23367,"title":{},"body":{"classes/UserDto.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["user.lastloginsystemchange",{"_index":16345,"title":{},"body":{"injectables/MigrationCheckService.html":{},"classes/UserDto.html":{}}}],["user.lastname",{"_index":3422,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/GroupUcMapper.html":{},"classes/GroupUserResponse.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{},"injectables/OidcProvisioningService.html":{},"classes/ResolvedUserMapper.html":{},"classes/SubmissionItemResponseMapper.html":{},"classes/UserDto.html":{},"classes/UserInfoMapper.html":{},"classes/UserMatchMapper.html":{},"injectables/UserService.html":{},"classes/UsersList.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["user.ldapdn",{"_index":23366,"title":{},"body":{"classes/UserDto.html":{}}}],["user.mapper",{"_index":13903,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user.mapper.ts",{"_index":8046,"title":{},"body":{"classes/CurrentUserMapper.html":{},"classes/ImportUserMapper.html":{},"classes/ResolvedUserMapper.html":{},"classes/RocketChatUserMapper.html":{}}}],["user.mapper.ts:18",{"_index":18956,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["user.mapper.ts:19",{"_index":13983,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["user.mapper.ts:20",{"_index":8058,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["user.mapper.ts:34",{"_index":13985,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["user.mapper.ts:41",{"_index":8054,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["user.mapper.ts:5",{"_index":18809,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["user.mapper.ts:51",{"_index":13982,"title":{},"body":{"classes/ImportUserMapper.html":{}}}],["user.mapper.ts:53",{"_index":8052,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["user.mapper.ts:6",{"_index":18955,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["user.mapper.ts:9",{"_index":8061,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["user.module",{"_index":23202,"title":{},"body":{"modules/UserApiModule.html":{}}}],["user.module.ts",{"_index":18972,"title":{},"body":{"modules/RocketChatUserModule.html":{}}}],["user.name",{"_index":13089,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["user.outdatedsince",{"_index":20007,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"classes/UserDto.html":{}}}],["user.params",{"_index":23738,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["user.params.ts",{"_index":12370,"title":{},"body":{"classes/FilterImportUserParams.html":{},"classes/FilterUserParams.html":{},"classes/SortImportUserParams.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["user.params.ts:12",{"_index":12405,"title":{},"body":{"classes/FilterUserParams.html":{}}}],["user.params.ts:21",{"_index":12376,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["user.params.ts:27",{"_index":12379,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["user.params.ts:33",{"_index":12380,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["user.params.ts:40",{"_index":12384,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["user.params.ts:45",{"_index":12378,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["user.params.ts:54",{"_index":12374,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["user.params.ts:59",{"_index":12387,"title":{},"body":{"classes/FilterImportUserParams.html":{}}}],["user.parents?.map((parent",{"_index":23868,"title":{},"body":{"injectables/UserRepo.html":{}}}],["user.permissions",{"_index":11219,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["user.preferences",{"_index":23369,"title":{},"body":{"classes/UserDto.html":{}}}],["user.repo.ts",{"_index":18976,"title":{},"body":{"injectables/RocketChatUserRepo.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["user.repo.ts:12",{"_index":18980,"title":{},"body":{"injectables/RocketChatUserRepo.html":{}}}],["user.repo.ts:16",{"_index":18979,"title":{},"body":{"injectables/RocketChatUserRepo.html":{}}}],["user.repo.ts:26",{"_index":18978,"title":{},"body":{"injectables/RocketChatUserRepo.html":{}}}],["user.repo.ts:9",{"_index":18977,"title":{},"body":{"injectables/RocketChatUserRepo.html":{}}}],["user.resolvepermissions",{"_index":1823,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["user.response",{"_index":12869,"title":{},"body":{"classes/GroupResponse.html":{}}}],["user.response.ts",{"_index":13002,"title":{},"body":{"classes/GroupUserResponse.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/ResolvedUserResponse.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["user.response.ts:11",{"_index":18820,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:12",{"_index":13007,"title":{},"body":{"classes/GroupUserResponse.html":{}}}],["user.response.ts:14",{"_index":18822,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:15",{"_index":13004,"title":{},"body":{"classes/GroupUserResponse.html":{}}}],["user.response.ts:17",{"_index":18821,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:20",{"_index":18819,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:23",{"_index":18826,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:25",{"_index":14104,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:26",{"_index":18824,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:29",{"_index":18823,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:31",{"_index":14106,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:32",{"_index":18825,"title":{},"body":{"classes/ResolvedUserResponse.html":{}}}],["user.response.ts:37",{"_index":14102,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:43",{"_index":14105,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:50",{"_index":14108,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:53",{"_index":14101,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:56",{"_index":14107,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:6",{"_index":13006,"title":{},"body":{"classes/GroupUserResponse.html":{}}}],["user.response.ts:61",{"_index":14103,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:64",{"_index":13959,"title":{},"body":{"classes/ImportUserListResponse.html":{}}}],["user.response.ts:7",{"_index":14100,"title":{},"body":{"classes/ImportUserResponse.html":{}}}],["user.response.ts:9",{"_index":13005,"title":{},"body":{"classes/GroupUserResponse.html":{}}}],["user.role",{"_index":13008,"title":{},"body":{"classes/GroupUserResponse.html":{}}}],["user.role.name",{"_index":12909,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["user.roleids",{"_index":23365,"title":{},"body":{"classes/UserDto.html":{}}}],["user.roles",{"_index":17641,"title":{},"body":{"injectables/OidcProvisioningService.html":{},"injectables/UserDORepo.html":{}}}],["user.roles.getitems",{"_index":23218,"title":{},"body":{"controllers/UserController.html":{}}}],["user.roles.getitems().map((role",{"_index":8064,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["user.roles.getitems(true",{"_index":23743,"title":{},"body":{"classes/UserMatchMapper.html":{}}}],["user.roles.isinitialized(true",{"_index":17799,"title":{},"body":{"injectables/PermissionService.html":{}}}],["user.roles.map((roleref",{"_index":8067,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["user.roles.some",{"_index":23939,"title":{},"body":{"injectables/UserService.html":{}}}],["user.roles.some((role",{"_index":11367,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["user.school",{"_index":7646,"title":{},"body":{"injectables/CourseCopyService.html":{},"injectables/TaskCopyService.html":{},"injectables/UserDORepo.html":{},"injectables/UserRepo.html":{}}}],["user.school.id",{"_index":6943,"title":{},"body":{"injectables/ContextExternalToolRule.html":{},"classes/CurrentUserMapper.html":{},"injectables/GroupRule.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/LegacySchoolRule.html":{},"injectables/SchoolExternalToolRule.html":{},"injectables/ShareTokenUC.html":{},"injectables/UserLoginMigrationRule.html":{}}}],["user.school.schoolyear?.enddate",{"_index":7649,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["user.school.schoolyear?.startdate",{"_index":7648,"title":{},"body":{"injectables/CourseCopyService.html":{}}}],["user.school.systems.getidentifiers().includes(domainobject.id",{"_index":21225,"title":{},"body":{"injectables/SystemRule.html":{}}}],["user.school.tostring",{"_index":18816,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["user.schoolid",{"_index":5420,"title":{},"body":{"injectables/ColumnBoardCopyService.html":{},"classes/CurrentUserMapper.html":{},"injectables/IdTokenService.html":{},"injectables/OidcProvisioningService.html":{},"classes/UserDto.html":{}}}],["user.schoolid.tostring",{"_index":11217,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["user.scope",{"_index":23281,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["user.service",{"_index":18974,"title":{},"body":{"modules/RocketChatUserModule.html":{}}}],["user.service.ts",{"_index":18985,"title":{},"body":{"injectables/RocketChatUserService.html":{}}}],["user.service.ts:10",{"_index":18989,"title":{},"body":{"injectables/RocketChatUserService.html":{}}}],["user.service.ts:16",{"_index":18988,"title":{},"body":{"injectables/RocketChatUserService.html":{}}}],["user.service.ts:7",{"_index":18987,"title":{},"body":{"injectables/RocketChatUserService.html":{}}}],["user.ts",{"_index":12990,"title":{},"body":{"classes/GroupUser.html":{},"interfaces/OauthCurrentUser.html":{},"classes/ResolvedGroupUser.html":{}}}],["user.ts:4",{"_index":12992,"title":{},"body":{"classes/GroupUser.html":{}}}],["user.ts:5",{"_index":18805,"title":{},"body":{"classes/ResolvedGroupUser.html":{}}}],["user.ts:6",{"_index":12991,"title":{},"body":{"classes/GroupUser.html":{}}}],["user.ts:7",{"_index":18804,"title":{},"body":{"classes/ResolvedGroupUser.html":{}}}],["user.type",{"_index":13090,"title":{},"body":{"interfaces/H5PContentParentParams.html":{},"classes/LumiUserWithContentData.html":{}}}],["user.uc.ts",{"_index":25563,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["user.updatedat",{"_index":18814,"title":{},"body":{"classes/ResolvedUserMapper.html":{}}}],["user.url.params.ts",{"_index":14167,"title":{},"body":{"classes/ImportUserUrlParams.html":{}}}],["user.url.params.ts:11",{"_index":14168,"title":{},"body":{"classes/ImportUserUrlParams.html":{}}}],["user.user.firstname",{"_index":12910,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["user.user.id",{"_index":12908,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["user.user.lastname",{"_index":12911,"title":{},"body":{"classes/GroupResponseMapper.html":{}}}],["user.userid",{"_index":12699,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{},"classes/SubmissionItemResponseMapper.html":{},"controllers/UserLoginMigrationController.html":{}}}],["user.username",{"_index":14784,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"classes/KeycloakSeedService.html":{}}}],["user.userroleenum",{"_index":20883,"title":{},"body":{"injectables/SubmissionItemUc.html":{}}}],["user/account",{"_index":14342,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["user/domain/rocket",{"_index":18919,"title":{},"body":{"classes/RocketChatUser.html":{},"interfaces/RocketChatUserProps.html":{}}}],["user/entity/rocket",{"_index":18936,"title":{},"body":{"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{}}}],["user/entity/testing/rocket",{"_index":18948,"title":{},"body":{"classes/RocketChatUserFactory.html":{}}}],["user/import",{"_index":13864,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["user/repo/mapper/rocket",{"_index":18954,"title":{},"body":{"classes/RocketChatUserMapper.html":{}}}],["user/repo/rocket",{"_index":18975,"title":{},"body":{"injectables/RocketChatUserRepo.html":{}}}],["user/rocketchat",{"_index":18971,"title":{},"body":{"modules/RocketChatUserModule.html":{}}}],["user/service/rocket",{"_index":18984,"title":{},"body":{"injectables/RocketChatUserService.html":{}}}],["user?.id",{"_index":17680,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["user_already_assigned_to_import_user_error",{"_index":23186,"title":{},"body":{"classes/UserAlreadyAssignedToImportUserError.html":{}}}],["user_id",{"_index":2297,"title":{},"body":{"interfaces/BBBJoinResponse.html":{},"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["user_login_migration_already_closed",{"_index":23401,"title":{},"body":{"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{}}}],["user_login_migration_database_operation_failed",{"_index":23758,"title":{},"body":{"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{}}}],["user_login_migration_grace_period_expired",{"_index":23552,"title":{},"body":{"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}}}],["user_login_migration_not_found",{"_index":23584,"title":{},"body":{"classes/UserLoginMigrationNotFoundLoggableException.html":{}}}],["useralreadyassignedtoimportusererror",{"_index":23181,"title":{"classes/UserAlreadyAssignedToImportUserError.html":{}},"body":{"classes/UserAlreadyAssignedToImportUserError.html":{}}}],["userandaccountparams",{"_index":705,"title":{"interfaces/UserAndAccountParams.html":{}},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["userandaccounttestfactory",{"_index":706,"title":{"classes/UserAndAccountTestFactory.html":{}},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["userandaccounttestfactory.buildaccount(user",{"_index":718,"title":{},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{}}}],["userapimodule",{"_index":20207,"title":{"modules/UserApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/UserApiModule.html":{}}}],["userattributenamemapping",{"_index":14988,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["userboardrole",{"_index":3672,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["userboardrole.roles.includes(boardroles.editor",{"_index":3676,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["userboardrole.roles.includes(boardroles.reader",{"_index":3677,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["userboardrole.userroleenum",{"_index":3674,"title":{},"body":{"injectables/BoardDoRule.html":{}}}],["userboardroles",{"_index":3387,"title":{"interfaces/UserBoardRoles.html":{}},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemUc.html":{},"interfaces/UserBoardRoles.html":{}}}],["userconfig",{"_index":20131,"title":{"interfaces/UserConfig.html":{}},"body":{"interfaces/ServerConfig.html":{},"interfaces/UserConfig.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{}}}],["usercontroller",{"_index":23201,"title":{"controllers/UserController.html":{}},"body":{"modules/UserApiModule.html":{},"controllers/UserController.html":{}}}],["usercount",{"_index":14868,"title":{},"body":{"classes/KeycloakSeedService.html":{}}}],["userdata",{"_index":11318,"title":{"interfaces/UserData.html":{}},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["userdataresponse",{"_index":20841,"title":{"classes/UserDataResponse.html":{}},"body":{"classes/SubmissionItemResponseMapper.html":{},"classes/SubmissionsResponse.html":{},"classes/UserDataResponse.html":{}}}],["userdo",{"_index":8056,"title":{"classes/UserDO.html":{}},"body":{"classes/CurrentUserMapper.html":{},"injectables/FeathersRosterService.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"injectables/GroupService.html":{},"classes/GroupUcMapper.html":{},"injectables/IdTokenService.html":{},"classes/IservMapper.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/MigrationCheckService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"injectables/Oauth2Strategy.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OidcProvisioningService.html":{},"injectables/OidcProvisioningStrategy.html":{},"injectables/PseudonymService.html":{},"classes/ResolvedGroupUser.html":{},"injectables/SchoolMigrationService.html":{},"classes/UserDO.html":{},"injectables/UserDORepo.html":{},"interfaces/UserData.html":{},"classes/UserDoFactory.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationService.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"injectables/UserService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["userdo.email",{"_index":14240,"title":{},"body":{"classes/IservMapper.html":{}}}],["userdo.externalid",{"_index":14241,"title":{},"body":{"classes/IservMapper.html":{},"injectables/UserMigrationService.html":{}}}],["userdo.firstname",{"_index":14238,"title":{},"body":{"classes/IservMapper.html":{}}}],["userdo.lastloginsystemchange",{"_index":23686,"title":{},"body":{"injectables/UserLoginMigrationService.html":{},"injectables/UserMigrationService.html":{}}}],["userdo.lastname",{"_index":14239,"title":{},"body":{"classes/IservMapper.html":{}}}],["userdo.previousexternalid",{"_index":23777,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["userdocopy",{"_index":23770,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["userdocument",{"_index":23861,"title":{},"body":{"injectables/UserRepo.html":{}}}],["userdocuments",{"_index":23858,"title":{},"body":{"injectables/UserRepo.html":{}}}],["userdocuments.map((userdocument",{"_index":23859,"title":{},"body":{"injectables/UserRepo.html":{}}}],["userdofactory",{"_index":23339,"title":{"classes/UserDoFactory.html":{}},"body":{"classes/UserDoFactory.html":{}}}],["userdofactory.define(userdo",{"_index":23344,"title":{},"body":{"classes/UserDoFactory.html":{}}}],["userdorepo",{"_index":23261,"title":{"injectables/UserDORepo.html":{}},"body":{"injectables/UserDORepo.html":{},"modules/UserModule.html":{},"injectables/UserService.html":{}}}],["userdto",{"_index":23347,"title":{"classes/UserDto.html":{}},"body":{"classes/UserDto.html":{},"classes/UserMapper.html":{},"injectables/UserService.html":{}}}],["userentity",{"_index":23291,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserService.html":{}}}],["userentitys",{"_index":23301,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["userentitys.find((user",{"_index":23303,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["userequestcontext",{"_index":12258,"title":{},"body":{"injectables/FilesStorageConsumer.html":{}}}],["userfactory",{"_index":697,"title":{"classes/UserFactory.html":{}},"body":{"interfaces/AccountParams.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/SubmissionFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamUserFactory.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserFactory.html":{}}}],["userfactory.build",{"_index":20788,"title":{},"body":{"classes/SubmissionFactory.html":{},"classes/TaskFactory.html":{}}}],["userfactory.buildlistwithid(numberofstudents",{"_index":7711,"title":{},"body":{"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{}}}],["userfactory.buildlistwithid(numberofteachers",{"_index":7712,"title":{},"body":{"classes/CourseFactory.html":{}}}],["userfactory.buildlistwithid(numberofteammembers",{"_index":20785,"title":{},"body":{"classes/SubmissionFactory.html":{}}}],["userfactory.buildwithid",{"_index":20784,"title":{},"body":{"classes/SubmissionFactory.html":{},"classes/TeamUserFactory.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["userfactory.define(user",{"_index":23388,"title":{},"body":{"classes/UserFactory.html":{}}}],["userforgroupnotfoundloggable",{"_index":17612,"title":{"classes/UserForGroupNotFoundLoggable.html":{}},"body":{"injectables/OidcProvisioningService.html":{},"classes/UserForGroupNotFoundLoggable.html":{}}}],["userforgroupnotfoundloggable(externalgroupuser",{"_index":17683,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["usergroup",{"_index":11329,"title":{"interfaces/UserGroup.html":{}},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["usergroups",{"_index":11328,"title":{"interfaces/UserGroups.html":{}},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["userid",{"_index":39,"title":{},"body":{"classes/AbstractAccountService.html":{},"entities/Account.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"injectables/AccountValidationService.html":{},"interfaces/AdminIdAndToken.html":{},"injectables/AuthorizationReferenceService.html":{},"injectables/AuthorizationService.html":{},"classes/BBBJoinConfig.html":{},"interfaces/BBBMeetingInfoResponse.html":{},"classes/BaseUc.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BoardCopyService.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardDoRule.html":{},"injectables/BoardUc.html":{},"injectables/CalendarService.html":{},"injectables/CardUc.html":{},"classes/Class.html":{},"interfaces/ClassProps.html":{},"injectables/ClassService.html":{},"injectables/ClassesRepo.html":{},"injectables/CloseUserLoginMigrationUc.html":{},"injectables/ColumnBoardCopyService.html":{},"injectables/ColumnUc.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/ContextExternalToolUc.html":{},"interfaces/CopyFileDO.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParamBuilder.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"interfaces/CopyFilesRequestInfo.html":{},"injectables/CopyFilesService.html":{},"classes/CopyMapper.html":{},"entities/Course.html":{},"injectables/CourseCopyService.html":{},"injectables/CourseCopyUC.html":{},"injectables/CourseExportUc.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"injectables/CourseGroupRepo.html":{},"injectables/CourseGroupService.html":{},"interfaces/CourseProperties.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseService.html":{},"injectables/CourseUc.html":{},"interfaces/CreateJwtPayload.html":{},"classes/CurrentUserMapper.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"injectables/DashboardRepo.html":{},"injectables/DashboardUc.html":{},"classes/DownloadFileParams.html":{},"injectables/ElementUc.html":{},"injectables/EtherpadService.html":{},"injectables/ExternalToolConfigurationUc.html":{},"entities/ExternalToolPseudonymEntity.html":{},"interfaces/ExternalToolPseudonymEntityProps.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolUc.html":{},"injectables/FeathersAuthProvider.html":{},"injectables/FeathersAuthorizationService.html":{},"interfaces/FileDO.html":{},"classes/FileParams.html":{},"entities/FileRecord.html":{},"classes/FileRecordParams.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileUrlParams.html":{},"injectables/FilesService.html":{},"injectables/FilesStorageConsumer.html":{},"classes/ForbiddenLoggableException.html":{},"classes/GridElement.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupNameIdTuple.html":{},"classes/GroupUser.html":{},"interfaces/ICurrentUser.html":{},"interfaces/IDashboardRepo.html":{},"interfaces/IGridElement.html":{},"interfaces/ILegacyLogger.html":{},"interfaces/IdToken.html":{},"classes/IdTokenCreationLoggableException.html":{},"injectables/IdTokenService.html":{},"classes/IdentityManagementService.html":{},"classes/ImportUserScope.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"interfaces/JsonAccount.html":{},"interfaces/JwtConstants.html":{},"interfaces/JwtPayload.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/LdapStrategy.html":{},"injectables/LessonCopyUC.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"injectables/LessonUC.html":{},"injectables/LocalStrategy.html":{},"injectables/MetaTagExtractorUc.html":{},"classes/NewsCrudOperationLoggable.html":{},"injectables/NewsUc.html":{},"injectables/NexboardService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"injectables/OauthProviderUc.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/ParentInfo.html":{},"classes/PreviewParams.html":{},"classes/Pseudonym.html":{},"entities/PseudonymEntity.html":{},"interfaces/PseudonymEntityProps.html":{},"classes/PseudonymMapper.html":{},"interfaces/PseudonymProps.html":{},"classes/PseudonymResponse.html":{},"classes/PseudonymScope.html":{},"interfaces/PseudonymSearchQuery.html":{},"injectables/PseudonymService.html":{},"injectables/PseudonymUc.html":{},"injectables/PseudonymsRepo.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RenameFileParams.html":{},"injectables/RequestLoggingInterceptor.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{},"injectables/RocketChatUserRepo.html":{},"injectables/RocketChatUserService.html":{},"injectables/RoomsService.html":{},"injectables/RoomsUc.html":{},"classes/ScanResultParams.html":{},"injectables/SchoolExternalToolUc.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"injectables/SchoolMigrationService.html":{},"interfaces/SchoolSpecificFileCopyService.html":{},"classes/SchoolSpecificFileCopyServiceImpl.html":{},"injectables/ShareTokenUC.html":{},"classes/SingleFileParams.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemFactory.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SubmissionItemResponse.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemService.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SubmissionRepo.html":{},"injectables/SubmissionUc.html":{},"injectables/SystemUc.html":{},"injectables/TaskCopyUC.html":{},"injectables/TaskRepo.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{},"classes/TeamDto.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"injectables/TeamMapper.html":{},"interfaces/TeamProperties.html":{},"injectables/TeamService.html":{},"classes/TeamUserDto.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileRepo.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/ToolLaunchService.html":{},"interfaces/ToolLaunchStrategy.html":{},"injectables/ToolLaunchUc.html":{},"injectables/ToolPermissionHelper.html":{},"injectables/ToolReferenceUc.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UpdateMatchParams.html":{},"interfaces/UserBoardRoles.html":{},"classes/UserDataResponse.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationMapper.html":{},"interfaces/UserLoginMigrationQuery.html":{},"classes/UserLoginMigrationSearchParams.html":{},"injectables/UserLoginMigrationService.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{},"classes/UserParams.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"injectables/VideoConferenceEndUc.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["userid(value",{"_index":20803,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["userid).buildwithid",{"_index":21908,"title":{},"body":{"classes/TeamFactory.html":{}}}],["userid)?.userroleenum",{"_index":2662,"title":{},"body":{"classes/BaseUc.html":{}}}],["userid.tohexstring",{"_index":4725,"title":{},"body":{"classes/ClassMapper.html":{}}}],["userid.tostring",{"_index":11228,"title":{},"body":{"injectables/FeathersAuthProvider.html":{}}}],["userid1",{"_index":4590,"title":{},"body":{"classes/Class.html":{},"interfaces/ClassProps.html":{}}}],["userid?.tostring",{"_index":1000,"title":{},"body":{"injectables/AccountValidationService.html":{}}}],["userids",{"_index":62,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountRepo.html":{},"injectables/AccountServiceDb.html":{},"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/ClassesRepo.html":{},"entities/Course.html":{},"entities/CourseGroup.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"injectables/NextcloudStrategy.html":{},"entities/Submission.html":{},"interfaces/SubmissionProperties.html":{},"entities/TeamEntity.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"classes/UsersList.html":{}}}],["userids'})@index",{"_index":7723,"title":{},"body":{"entities/CourseGroup.html":{}}}],["userids.map((id",{"_index":775,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["userimportuc",{"_index":13907,"title":{},"body":{"controllers/ImportUserController.html":{},"modules/ImportUserModule.html":{}}}],["userinfo",{"_index":15858,"title":{},"body":{"injectables/LoginUc.html":{},"classes/SystemEntityFactory.html":{}}}],["userinfo.token.claim",{"_index":14645,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["userinfomapper",{"_index":16527,"title":{"classes/UserInfoMapper.html":{}},"body":{"classes/NewsMapper.html":{},"classes/UserInfoMapper.html":{}}}],["userinfomapper.maptoresponse(news.creator",{"_index":16530,"title":{},"body":{"classes/NewsMapper.html":{}}}],["userinfomapper.maptoresponse(news.updater",{"_index":16544,"title":{},"body":{"classes/NewsMapper.html":{}}}],["userinforesponse",{"_index":16498,"title":{"classes/UserInfoResponse.html":{}},"body":{"classes/NewsListResponse.html":{},"classes/NewsResponse.html":{},"classes/UserInfoMapper.html":{},"classes/UserInfoResponse.html":{}}}],["userinfourl",{"_index":15012,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigDto.html":{},"classes/OidcConfigEntity.html":{},"classes/OidcIdentityProviderMapper.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"classes/SystemOidcMapper.html":{}}}],["userjwt",{"_index":23698,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["userlist",{"_index":13933,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["userlist.map((user",{"_index":13935,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["userloginmigration",{"_index":4937,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/MigrationCheckService.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"entities/SchoolEntity.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["userloginmigration.closedat",{"_index":16347,"title":{},"body":{"injectables/MigrationCheckService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["userloginmigration.finishedat",{"_index":20013,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigration.finishedat.gettime",{"_index":23673,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["userloginmigration.id",{"_index":20589,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigration.mandatorysince",{"_index":23666,"title":{},"body":{"injectables/UserLoginMigrationService.html":{}}}],["userloginmigration.school",{"_index":19666,"title":{},"body":{"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{}}}],["userloginmigration.schoolid",{"_index":20003,"title":{},"body":{"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigration.startedat",{"_index":16346,"title":{},"body":{"injectables/MigrationCheckService.html":{},"injectables/SchoolMigrationService.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigration.targetsystemid",{"_index":23707,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["userloginmigrationalreadyclosedloggableexception",{"_index":20585,"title":{"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{}},"body":{"injectables/StartUserLoginMigrationUc.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigrationalreadyclosedloggableexception(userloginmigration.closedat",{"_index":20590,"title":{},"body":{"injectables/StartUserLoginMigrationUc.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigrationalreadyclosedloggableexception})@apiokresponse({description",{"_index":23456,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationalreadyclosedloggableexception})@apiunprocessableentityresponse({description",{"_index":23421,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationapimodule",{"_index":20205,"title":{"modules/UserLoginMigrationApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/UserLoginMigrationApiModule.html":{}}}],["userloginmigrationcontroller",{"_index":23407,"title":{"controllers/UserLoginMigrationController.html":{}},"body":{"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationdo",{"_index":4935,"title":{"classes/UserLoginMigrationDO.html":{}},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/MigrationCheckService.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/SchoolMigrationService.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationDO.html":{},"classes/UserLoginMigrationMapper.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationRule.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["userloginmigrationentity",{"_index":15248,"title":{"entities/UserLoginMigrationEntity.html":{}},"body":{"injectables/LegacySchoolRepo.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"entities/UserLoginMigrationEntity.html":{},"injectables/UserLoginMigrationRepo.html":{}}}],["userloginmigrationgraceperiodexpiredloggableexception",{"_index":23466,"title":{"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{}},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigrationgraceperiodexpiredloggableexception})@apinotfoundresponse({description",{"_index":23423,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationgraceperiodexpiredloggableexception})@apiokresponse({description",{"_index":23449,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationgraceperiodexpiredloggableexception})@apiunprocessableentityresponse({description",{"_index":23455,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationid",{"_index":15178,"title":{},"body":{"classes/LegacySchoolDo.html":{},"injectables/LegacySchoolRepo.html":{},"classes/SchoolMigrationSuccessfulLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationStartedLoggable.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["userloginmigrationmandatoryloggable",{"_index":22568,"title":{"classes/UserLoginMigrationMandatoryLoggable.html":{}},"body":{"injectables/ToggleUserLoginMigrationUc.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{}}}],["userloginmigrationmandatoryloggable(userid",{"_index":22571,"title":{},"body":{"injectables/ToggleUserLoginMigrationUc.html":{}}}],["userloginmigrationmandatoryparams",{"_index":23453,"title":{"classes/UserLoginMigrationMandatoryParams.html":{}},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMandatoryParams.html":{}}}],["userloginmigrationmapper",{"_index":23467,"title":{"classes/UserLoginMigrationMapper.html":{}},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{}}}],["userloginmigrationmapper.mapsearchparamstoquery(params",{"_index":23478,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationmapper.mapuserloginmigrationdotoresponse(migrationdto",{"_index":23491,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationmapper.mapuserloginmigrationdotoresponse(userloginmigration",{"_index":23483,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationmodule",{"_index":17161,"title":{"modules/UserLoginMigrationModule.html":{}},"body":{"modules/OauthModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{}}}],["userloginmigrationnotfoundloggableexception",{"_index":4936,"title":{"classes/UserLoginMigrationNotFoundLoggableException.html":{}},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{}}}],["userloginmigrationnotfoundloggableexception(schoolid",{"_index":4939,"title":{},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{}}}],["userloginmigrationnotfoundloggableexception})@apiokresponse({description",{"_index":23424,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationnotfoundloggableexception})@apiunprocessableentityresponse({description",{"_index":23445,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationprops",{"_index":23601,"title":{},"body":{"injectables/UserLoginMigrationRepo.html":{}}}],["userloginmigrationquery",{"_index":23468,"title":{"interfaces/UserLoginMigrationQuery.html":{}},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{},"interfaces/UserLoginMigrationQuery.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["userloginmigrationrepo",{"_index":16331,"title":{"injectables/UserLoginMigrationRepo.html":{}},"body":{"injectables/MigrationCheckService.html":{},"injectables/SchoolMigrationService.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationService.html":{}}}],["userloginmigrationresponse",{"_index":23469,"title":{"classes/UserLoginMigrationResponse.html":{}},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationResponse.html":{},"classes/UserLoginMigrationSearchListResponse.html":{}}}],["userloginmigrationresponse})@apiforbiddenresponse",{"_index":23462,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationresponse})@apinotfoundresponse({description",{"_index":23431,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationresponse})@apiunauthorizedresponse()@apiforbiddenresponse",{"_index":23450,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationresponse})@apiunauthorizedresponse()@apiforbiddenresponse()@apinocontentresponse({description",{"_index":23425,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationrevertservice",{"_index":4930,"title":{"injectables/UserLoginMigrationRevertService.html":{}},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationRevertService.html":{}}}],["userloginmigrationrule",{"_index":1878,"title":{"injectables/UserLoginMigrationRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/RuleManager.html":{},"injectables/UserLoginMigrationRule.html":{}}}],["userloginmigrations",{"_index":23430,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationsearchlistresponse",{"_index":23470,"title":{"classes/UserLoginMigrationSearchListResponse.html":{}},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationSearchListResponse.html":{}}}],["userloginmigrationsearchlistresponse})@apiinternalservererrorresponse({description",{"_index":23437,"title":{},"body":{"controllers/UserLoginMigrationController.html":{}}}],["userloginmigrationsearchparams",{"_index":23434,"title":{"classes/UserLoginMigrationSearchParams.html":{}},"body":{"controllers/UserLoginMigrationController.html":{},"classes/UserLoginMigrationMapper.html":{},"classes/UserLoginMigrationSearchParams.html":{}}}],["userloginmigrationservice",{"_index":4928,"title":{"injectables/UserLoginMigrationService.html":{}},"body":{"injectables/CloseUserLoginMigrationUc.html":{},"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{},"injectables/ToggleUserLoginMigrationUc.html":{},"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationRevertService.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["userloginmigrationstartloggable",{"_index":18833,"title":{"classes/UserLoginMigrationStartLoggable.html":{}},"body":{"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{},"classes/UserLoginMigrationStartLoggable.html":{}}}],["userloginmigrationstartloggable(userid",{"_index":18837,"title":{},"body":{"injectables/RestartUserLoginMigrationUc.html":{},"injectables/StartUserLoginMigrationUc.html":{}}}],["userloginmigrationuc",{"_index":23406,"title":{"injectables/UserLoginMigrationUc.html":{}},"body":{"modules/UserLoginMigrationApiModule.html":{},"controllers/UserLoginMigrationController.html":{},"injectables/UserLoginMigrationUc.html":{}}}],["usermapper",{"_index":23722,"title":{"classes/UserMapper.html":{}},"body":{"classes/UserMapper.html":{},"injectables/UserService.html":{}}}],["usermapper.mapfromentitytodto(userentity",{"_index":23925,"title":{},"body":{"injectables/UserService.html":{}}}],["usermatches",{"_index":14095,"title":{},"body":{"injectables/ImportUserRepo.html":{}}}],["usermatchlistresponse",{"_index":13912,"title":{"classes/UserMatchListResponse.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{}}}],["usermatchlistresponse(dtolist",{"_index":13937,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["usermatchmapper",{"_index":13904,"title":{"classes/UserMatchMapper.html":{}},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{},"classes/UserMatchMapper.html":{}}}],["usermatchmapper.maptodomain(scope",{"_index":13932,"title":{},"body":{"controllers/ImportUserController.html":{}}}],["usermatchmapper.maptoresponse(user",{"_index":13936,"title":{},"body":{"controllers/ImportUserController.html":{},"classes/ImportUserMapper.html":{}}}],["usermatchresponse",{"_index":13961,"title":{"classes/UserMatchResponse.html":{}},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{}}}],["usermatchschoolid",{"_index":19914,"title":{},"body":{"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{}}}],["usermetadata",{"_index":11335,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["usermetdata",{"_index":11327,"title":{"interfaces/UserMetdata.html":{}},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["usermigrationdatabaseoperationfailedloggableexception",{"_index":23757,"title":{"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{}},"body":{"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{},"injectables/UserMigrationService.html":{}}}],["usermigrationdatabaseoperationfailedloggableexception(currentuserid",{"_index":23776,"title":{},"body":{"injectables/UserMigrationService.html":{}}}],["usermigrationdto",{"_index":16352,"title":{},"body":{"classes/MigrationDto.html":{}}}],["usermigrationdto.redirect",{"_index":16353,"title":{},"body":{"classes/MigrationDto.html":{}}}],["usermigrationisnotenabled",{"_index":23759,"title":{"classes/UserMigrationIsNotEnabled.html":{}},"body":{"classes/UserMigrationIsNotEnabled.html":{}}}],["usermigrationservice",{"_index":23582,"title":{"injectables/UserMigrationService.html":{}},"body":{"modules/UserLoginMigrationModule.html":{},"injectables/UserLoginMigrationUc.html":{},"injectables/UserMigrationService.html":{}}}],["usermigrationstartedloggable",{"_index":23699,"title":{"classes/UserMigrationStartedLoggable.html":{}},"body":{"injectables/UserLoginMigrationUc.html":{},"classes/UserMigrationStartedLoggable.html":{}}}],["usermigrationstartedloggable(currentuserid",{"_index":23710,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["usermigrationsuccessfulloggable",{"_index":23700,"title":{"classes/UserMigrationSuccessfulLoggable.html":{}},"body":{"injectables/UserLoginMigrationUc.html":{},"classes/UserMigrationSuccessfulLoggable.html":{}}}],["usermigrationsuccessfulloggable(currentuserid",{"_index":23720,"title":{},"body":{"injectables/UserLoginMigrationUc.html":{}}}],["usermodel",{"_index":14643,"title":{},"body":{"injectables/KeycloakConfigurationService.html":{}}}],["usermodule",{"_index":3843,"title":{"modules/UserModule.html":{}},"body":{"modules/BoardModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/DeletionApiModule.html":{},"modules/GroupApiModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{}}}],["username",{"_index":51,"title":{},"body":{"classes/AbstractAccountService.html":{},"entities/Account.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountDto.html":{},"classes/AccountEntityToDtoMapper.html":{},"classes/AccountFactory.html":{},"classes/AccountIdmToDtoMapperDb.html":{},"classes/AccountIdmToDtoMapperIdm.html":{},"interfaces/AccountParams.html":{},"injectables/AccountRepo.html":{},"classes/AccountResponse.html":{},"classes/AccountResponseMapper.html":{},"classes/AccountSaveDto.html":{},"injectables/AccountServiceDb.html":{},"interfaces/AdminIdAndToken.html":{},"interfaces/AuthenticationResponse.html":{},"injectables/AuthenticationService.html":{},"injectables/FeathersRosterService.html":{},"interfaces/IKeycloakSettings.html":{},"classes/IdentityManagementOauthService.html":{},"classes/IdentityManagementService.html":{},"interfaces/IntrospectResponse.html":{},"interfaces/JsonAccount.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"classes/LdapAuthorizationBodyParams.html":{},"injectables/LdapService.html":{},"injectables/LdapStrategy.html":{},"classes/LocalAuthorizationBodyParams.html":{},"injectables/LocalStrategy.html":{},"injectables/OidcProvisioningService.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUser.html":{},"entities/RocketChatUserEntity.html":{},"interfaces/RocketChatUserEntityProps.html":{},"classes/RocketChatUserFactory.html":{},"classes/RocketChatUserMapper.html":{},"interfaces/RocketChatUserProps.html":{},"classes/TestApiClient.html":{},"classes/UnauthorizedLoggableException.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["username.replace(/[^(\\p{l}\\p{n})]/gu",{"_index":798,"title":{},"body":{"injectables/AccountRepo.html":{}}}],["username.trim().tolowercase",{"_index":1753,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["usernames",{"_index":11285,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["usernotfoundafterprovisioningloggableexception",{"_index":16875,"title":{"classes/UserNotFoundAfterProvisioningLoggableException.html":{}},"body":{"injectables/OAuthService.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["usernotfoundafterprovisioningloggableexception(externaluserid",{"_index":16896,"title":{},"body":{"injectables/OAuthService.html":{}}}],["userparams",{"_index":699,"title":{"classes/UserParams.html":{}},"body":{"interfaces/AccountParams.html":{},"interfaces/UserAndAccountParams.html":{},"classes/UserAndAccountTestFactory.html":{},"classes/UserParams.html":{}}}],["userparentsentity",{"_index":23156,"title":{"classes/UserParentsEntity.html":{}},"body":{"entities/User.html":{},"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{},"interfaces/UserProperties.html":{}}}],["userparentsentityprops",{"_index":23805,"title":{"interfaces/UserParentsEntityProps.html":{}},"body":{"classes/UserParentsEntity.html":{},"interfaces/UserParentsEntityProps.html":{}}}],["userpathadditions",{"_index":14985,"title":{},"body":{"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{}}}],["userpermissions",{"_index":23385,"title":{},"body":{"classes/UserFactory.html":{}}}],["userproperties",{"_index":23167,"title":{"interfaces/UserProperties.html":{}},"body":{"entities/User.html":{},"classes/UserFactory.html":{},"interfaces/UserProperties.html":{}}}],["userquery",{"_index":23267,"title":{},"body":{"injectables/UserDORepo.html":{},"injectables/UserService.html":{}}}],["userrefprops",{"_index":1809,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["userrefprops.some((prop",{"_index":1840,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["userrepo",{"_index":268,"title":{"injectables/UserRepo.html":{}},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"injectables/AccountValidationService.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"injectables/AuthorizationService.html":{},"injectables/CourseCopyService.html":{},"modules/ImportUserModule.html":{},"injectables/LdapStrategy.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"injectables/LocalStrategy.html":{},"injectables/ReferenceLoader.html":{},"interfaces/RepoLoader.html":{},"injectables/RoomsUc.html":{},"modules/UserModule.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["userrepresentation",{"_index":14723,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{}}}],["userrole",{"_index":13963,"title":{},"body":{"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/RoleNameMapper.html":{},"injectables/SanisResponseMapper.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserMatchResponse.html":{}}}],["userrole.admin",{"_index":19036,"title":{},"body":{"classes/RoleNameMapper.html":{},"classes/UserMatchMapper.html":{}}}],["userrole.student",{"_index":19038,"title":{},"body":{"classes/RoleNameMapper.html":{},"classes/UserMatchMapper.html":{}}}],["userrole.teacher",{"_index":19037,"title":{},"body":{"classes/RoleNameMapper.html":{},"classes/UserMatchMapper.html":{}}}],["userroleenum",{"_index":2645,"title":{},"body":{"classes/BaseUc.html":{},"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/BoardUc.html":{},"injectables/CardUc.html":{},"injectables/ColumnUc.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{},"interfaces/UserBoardRoles.html":{}}}],["userroleenum.student",{"_index":2665,"title":{},"body":{"classes/BaseUc.html":{},"injectables/BoardDoAuthorizableService.html":{},"injectables/ElementUc.html":{},"injectables/SubmissionItemUc.html":{}}}],["userroleenum.substitution_teacher",{"_index":3426,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["userroleenum.teacher",{"_index":3424,"title":{},"body":{"injectables/BoardDoAuthorizableService.html":{}}}],["userrule",{"_index":1879,"title":{"injectables/UserRule.html":{}},"body":{"modules/AuthorizationModule.html":{},"injectables/RuleManager.html":{},"injectables/UserRule.html":{}}}],["users",{"_index":3370,"title":{},"body":{"classes/BoardDoAuthorizable.html":{},"interfaces/BoardDoAuthorizableProps.html":{},"injectables/BoardDoAuthorizableService.html":{},"controllers/BoardSubmissionController.html":{},"interfaces/CleanOptions.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CopyFileDO.html":{},"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/FeathersRosterService.html":{},"interfaces/FileDO.html":{},"classes/FileMetadata.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"interfaces/GroupProps.html":{},"injectables/GroupRepo.html":{},"classes/GroupResponse.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{},"interfaces/GroupUsers.html":{},"interfaces/GroupfoldersCreated.html":{},"interfaces/GroupfoldersFolder.html":{},"interfaces/ICurrentUser.html":{},"modules/ImportUserModule.html":{},"injectables/ImportUserRepo.html":{},"entities/InstalledLibrary.html":{},"injectables/JwtValidationAdapter.html":{},"classes/KeycloakConsole.html":{},"controllers/KeycloakManagementController.html":{},"classes/KeycloakSeedService.html":{},"classes/LibraryName.html":{},"controllers/LoginController.html":{},"interfaces/Meta.html":{},"interfaces/MigrationOptions.html":{},"injectables/NewsUc.html":{},"interfaces/NextcloudGroups.html":{},"injectables/NextcloudStrategy.html":{},"interfaces/OcsResponse.html":{},"injectables/OidcProvisioningService.html":{},"interfaces/ParentInfo.html":{},"classes/Path.html":{},"classes/ResolvedGroupDto.html":{},"interfaces/RetryOptions.html":{},"injectables/SchoolMigrationService.html":{},"classes/ShareTokenBodyParams.html":{},"classes/SubmissionItemResponseMapper.html":{},"injectables/SubmissionItemUc.html":{},"classes/SubmissionsResponse.html":{},"interfaces/SuccessfulRes.html":{},"controllers/SystemController.html":{},"entities/User.html":{},"interfaces/UserBoardRoles.html":{},"interfaces/UserProperties.html":{},"injectables/UserRepo.html":{},"injectables/UserService.html":{},"classes/UsersList.html":{},"classes/VideoConferenceCreateParams.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["users(value",{"_index":12692,"title":{},"body":{"classes/Group.html":{},"interfaces/GroupProps.html":{}}}],["users.filter((groupuser",{"_index":17677,"title":{},"body":{"injectables/OidcProvisioningService.html":{}}}],["users.find",{"_index":14759,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["users.find((user",{"_index":23830,"title":{},"body":{"injectables/UserRepo.html":{}}}],["users.getidentifiers('_id",{"_index":7539,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["users.length",{"_index":7543,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/KeycloakSeedService.html":{},"classes/UsersList.html":{}}}],["users.map((user",{"_index":7550,"title":{},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"injectables/FeathersRosterService.html":{},"classes/SubmissionItemResponseMapper.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{},"classes/UsersList.html":{}}}],["users.resetpassword",{"_index":14753,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["users.total",{"_index":20019,"title":{},"body":{"injectables/SchoolMigrationService.html":{}}}],["users.update",{"_index":14752,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["users_configuration_path='/tmp/config/users",{"_index":25887,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["userscollection",{"_index":5306,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["userscollection.createindex",{"_index":5318,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["userscollection.dropindex('usersearchindex",{"_index":5317,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["userscollection.indexes",{"_index":5310,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["userscollection.indexexists('usersearchindex",{"_index":5309,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["userscope",{"_index":23280,"title":{"classes/UserScope.html":{}},"body":{"injectables/UserDORepo.html":{},"classes/UserScope.html":{}}}],["userscount",{"_index":1068,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["usersearchindex",{"_index":5311,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["usersearchindex[0].key?.schoolid",{"_index":5314,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["usersearchindexexists",{"_index":5308,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["userservice",{"_index":5401,"title":{"injectables/UserService.html":{}},"body":{"injectables/ColumnBoardCopyService.html":{},"injectables/FeathersRosterService.html":{},"injectables/IdTokenService.html":{},"injectables/IservProvisioningStrategy.html":{},"injectables/MigrationCheckService.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OAuthService.html":{},"injectables/OauthProviderLoginFlowUc.html":{},"injectables/OidcProvisioningService.html":{},"injectables/SchoolMigrationService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"injectables/UserLoginMigrationService.html":{},"interfaces/UserMetdata.html":{},"injectables/UserMigrationService.html":{},"modules/UserModule.html":{},"injectables/UserService.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["userservice.findbyid",{"_index":23923,"title":{},"body":{"injectables/UserService.html":{}}}],["usersfile",{"_index":13627,"title":{},"body":{"interfaces/IKeycloakConfigurationInputFiles.html":{},"classes/KeycloakConfiguration.html":{}}}],["userslist",{"_index":7510,"title":{"classes/UsersList.html":{}},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"classes/UsersList.html":{}}}],["userspermissions",{"_index":1822,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/PermissionService.html":{}}}],["userspermissions.includes(p",{"_index":1825,"title":{},"body":{"injectables/AuthorizationHelper.html":{},"injectables/PermissionService.html":{}}}],["usersresponse",{"_index":20846,"title":{},"body":{"classes/SubmissionItemResponseMapper.html":{}}}],["usersubmissionexists",{"_index":9826,"title":{},"body":{"injectables/ElementUc.html":{}}}],["userswithemail",{"_index":14286,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["userswithemail.length",{"_index":14288,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["userswithemail[0",{"_index":14289,"title":{},"body":{"injectables/IservProvisioningStrategy.html":{}}}],["usertoicurrentuser",{"_index":8050,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["usertoicurrentuser(accountid",{"_index":8060,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["useruc",{"_index":13915,"title":{"injectables/UserUc.html":{}},"body":{"controllers/ImportUserController.html":{},"modules/UserApiModule.html":{},"controllers/UserController.html":{},"injectables/UserUc.html":{}}}],["userwithpopulatedroles",{"_index":1996,"title":{},"body":{"injectables/AuthorizationService.html":{}}}],["uses",{"_index":15235,"title":{},"body":{"modules/LegacySchoolModule.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LegacySchoolRule.html":{},"injectables/LegacySchoolService.html":{},"injectables/TemporaryFileStorage.html":{},"license.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["usevalue",{"_index":1267,"title":{},"body":{"modules/AntivirusModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/MailModule.html":{},"interfaces/MailModuleOptions.html":{},"modules/RocketChatModule.html":{},"modules/ToolConfigModule.html":{},"modules/VideoConferenceModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["usevalue(createmock",{"_index":22160,"title":{},"body":{"classes/TestBootstrapConsole.html":{}}}],["using",{"_index":543,"title":{},"body":{"classes/AccountFactory.html":{},"injectables/AccountRepo.html":{},"modules/AuthorizationReferenceModule.html":{},"classes/BaseFactory.html":{},"classes/BaseUc.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ColumnBoardFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CustomParameterFactory.html":{},"classes/DeletionRequestFactory.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"modules/FeathersModule.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"classes/FileRecordFactory.html":{},"classes/H5PContentFactory.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/ImportUserFactory.html":{},"modules/InterceptorModule.html":{},"classes/LegacySchoolFactory.html":{},"classes/LessonFactory.html":{},"interfaces/LibrariesContentType.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/RocketChatUserFactory.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"classes/SubmissionFactory.html":{},"classes/SystemEntityFactory.html":{},"classes/TaskFactory.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"modules/ToolModule.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["usually",{"_index":6247,"title":{},"body":{"classes/ConsentRequestBody.html":{},"classes/LoginRequestBody.html":{},"classes/OAuthRejectableBody.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["utf",{"_index":12059,"title":{},"body":{"injectables/FileSystemAdapter.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/KeycloakSeedService.html":{},"interfaces/LibrariesContentType.html":{}}}],["util",{"_index":12588,"title":{},"body":{"classes/GlobalErrorFilter.html":{},"injectables/LegacyLogger.html":{},"classes/LoggingUtils.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["util.inspect(message).replace(/\\n/g",{"_index":15172,"title":{},"body":{"injectables/LegacyLogger.html":{},"classes/LoggingUtils.html":{}}}],["utilities",{"_index":15742,"title":{},"body":{"modules/LoggerModule.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["utilities.format.nestlike",{"_index":15761,"title":{},"body":{"modules/LoggerModule.html":{}}}],["utils",{"_index":2476,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BoardDoRepo.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/GlobalErrorFilter.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/TldrawBoardRepo.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["utils.asarray(domainobject",{"_index":18558,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["utils.asarray(domainobjects).map((dob",{"_index":2501,"title":{},"body":{"injectables/BaseDORepo.html":{}}}],["utils.asarray(id",{"_index":2513,"title":{},"body":{"injectables/BaseDORepo.html":{},"injectables/BoardDoRepo.html":{}}}],["utils/error.utils",{"_index":9881,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["uuid",{"_index":620,"title":{},"body":{"injectables/AccountLookupService.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/ImportUserFactory.html":{},"classes/LdapConfigEntity.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"interfaces/ParentInfo.html":{},"injectables/PseudonymService.html":{},"entities/SystemEntity.html":{},"classes/SystemEntityFactory.html":{},"interfaces/SystemEntityProps.html":{},"dependencies.html":{}}}],["uuidv4",{"_index":13949,"title":{},"body":{"classes/ImportUserFactory.html":{},"injectables/PseudonymService.html":{}}}],["v",{"_index":4907,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["v3",{"_index":25274,"title":{},"body":{"todo.html":{}}}],["v3/index",{"_index":25279,"title":{},"body":{"todo.html":{}}}],["v3/tools/external",{"_index":10217,"title":{},"body":{"injectables/ExternalToolConfigurationUc.html":{},"injectables/ToolReferenceService.html":{}}}],["v4",{"_index":11559,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"classes/FileSecurityCheckEntity.html":{},"interfaces/FileSecurityCheckEntityProps.html":{},"classes/ImportUserFactory.html":{},"interfaces/ParentInfo.html":{},"injectables/PseudonymService.html":{}}}],["val",{"_index":6087,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["valid",{"_index":628,"title":{},"body":{"injectables/AccountLookupService.html":{},"modules/AuthenticationModule.html":{},"injectables/BatchDeletionService.html":{},"entities/Board.html":{},"classes/BoardManagementConsole.html":{},"injectables/DeletionClient.html":{},"classes/GlobalValidationPipe.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{},"classes/GroupValidPeriodEntity.html":{},"interfaces/GroupValidPeriodEntityProps.html":{},"classes/LdapConfigEntity.html":{},"injectables/MetaTagExtractorService.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/ReferencesService.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"entities/Task.html":{},"interfaces/TaskParent.html":{},"classes/TaskWithStatusVo.html":{},"license.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["validatabletool",{"_index":6069,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validatabletool.id",{"_index":6118,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validatabletool.parameters",{"_index":6121,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validatabletool.parameters.find",{"_index":6126,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validatabletool.parameters.length",{"_index":6116,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validatabletool.parameters.map",{"_index":6112,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validate",{"_index":1213,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/IdTokenInvalidLoggableException.html":{},"modules/InterceptorModule.html":{},"injectables/JwtStrategy.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacySchoolService.html":{},"injectables/LocalStrategy.html":{},"injectables/Oauth2Strategy.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolValidationService.html":{},"injectables/TaskUC.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["validate(contextexternaltool",{"_index":7071,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["validate(payload",{"_index":14330,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["validate(props",{"_index":4611,"title":{},"body":{"entities/ClassEntity.html":{},"interfaces/ClassEntityProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["validate(request",{"_index":15078,"title":{},"body":{"injectables/LdapStrategy.html":{},"injectables/Oauth2Strategy.html":{}}}],["validate(response",{"_index":19568,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["validate(school",{"_index":20075,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["validate(schoolexternaltool",{"_index":19893,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["validate(username",{"_index":15699,"title":{},"body":{"injectables/LocalStrategy.html":{}}}],["validate(value",{"_index":1245,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["validateandgetexternaltool",{"_index":11294,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["validateandgetexternaltool(oauth2clientid",{"_index":11319,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["validatecommon",{"_index":10491,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validatecommon(externaltool",{"_index":10510,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validatecontextexternaltools",{"_index":11295,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["validatecontextexternaltools(courseid",{"_index":11321,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["validatecreate",{"_index":11081,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validatecreate(externaltool",{"_index":11088,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validated",{"_index":1226,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"injectables/JwtValidationAdapter.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["validatelogosize",{"_index":10360,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["validatelogosize(externaltool",{"_index":10374,"title":{},"body":{"classes/ExternalToolLogoService.html":{}}}],["validatelti11config",{"_index":11082,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validatelti11config(externaltool",{"_index":11089,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validatenested",{"_index":6788,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SingleFileParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["validatenested()@apiproperty",{"_index":9617,"title":{},"body":{"classes/DrawingElementContentBody.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/MoveElementParams.html":{},"classes/RichTextElementContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{}}}],["validatenested()@type(undefined",{"_index":10240,"title":{},"body":{"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/UpdateElementContentBodyParams.html":{}}}],["validatenested({each",{"_index":6781,"title":{},"body":{"classes/ContextExternalToolPostParams.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/SchoolExternalToolPostParams.html":{}}}],["validateoauth2config",{"_index":11083,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validateoauth2config(externaltool",{"_index":11091,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validateparameter",{"_index":6067,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validateparameter(param",{"_index":6089,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validatepassword",{"_index":24,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountServiceDb.html":{}}}],["validatepassword(account",{"_index":91,"title":{},"body":{"classes/AbstractAccountService.html":{},"injectables/AccountServiceDb.html":{}}}],["validatereordering(reorderedids",{"_index":2952,"title":{},"body":{"entities/Board.html":{}}}],["validaterocketchatconfig",{"_index":1190,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["validateschoolexternaltool",{"_index":11296,"title":{},"body":{"injectables/FeathersRosterService.html":{}}}],["validateschoolexternaltool(schoolid",{"_index":11323,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["validatestatus",{"_index":13431,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["validatesubject",{"_index":17222,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["validatesubject(currentuser",{"_index":17233,"title":{},"body":{"injectables/OauthProviderConsentFlowUc.html":{}}}],["validatetoken",{"_index":16854,"title":{},"body":{"injectables/OAuthService.html":{}}}],["validatetoken(idtoken",{"_index":16871,"title":{},"body":{"injectables/OAuthService.html":{}}}],["validateupdate",{"_index":11084,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validateupdate(toolid",{"_index":11092,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validateusersmatch",{"_index":8740,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["validateusersmatch(dashboard",{"_index":8748,"title":{},"body":{"injectables/DashboardUc.html":{}}}],["validating",{"_index":14361,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["validation",{"_index":1373,"title":{"additional-documentation/nestjs-application/domain-object-validation.html":{}},"body":{"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/BusinessError.html":{},"modules/CoreModule.html":{},"entities/CourseNews.html":{},"classes/CreateNewsParams.html":{},"classes/ErrorLoggable.html":{},"classes/GlobalValidationPipe.html":{},"injectables/LegacySchoolService.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"classes/SanisPersonenkontextResponse.html":{},"classes/SanisResponse.html":{},"entities/SchoolNews.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{},"classes/ValidationError.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["validation.adapter",{"_index":1554,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/AuthenticationService.html":{},"injectables/JwtStrategy.html":{}}}],["validation.adapter.ts",{"_index":14350,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["validation.adapter.ts:13",{"_index":14355,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["validation.adapter.ts:25",{"_index":14360,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["validation.adapter.ts:30",{"_index":14358,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["validation.adapter.ts:36",{"_index":14364,"title":{},"body":{"injectables/JwtValidationAdapter.html":{}}}],["validation.error.ts",{"_index":1353,"title":{},"body":{"classes/ApiValidationError.html":{}}}],["validation.error.ts:4",{"_index":1358,"title":{},"body":{"classes/ApiValidationError.html":{}}}],["validation.pipe",{"_index":23981,"title":{},"body":{"modules/ValidationModule.html":{}}}],["validation.pipe.ts",{"_index":12626,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["validation.pipe.ts:12",{"_index":12628,"title":{},"body":{"classes/GlobalValidationPipe.html":{}}}],["validation.service",{"_index":6770,"title":{},"body":{"modules/ContextExternalToolModule.html":{},"injectables/ContextExternalToolUc.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/SchoolExternalToolService.html":{},"injectables/ToolVersionService.html":{}}}],["validation.service.ts",{"_index":6057,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ContextExternalToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolValidationService.html":{}}}],["validation.service.ts:10",{"_index":10492,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolValidationService.html":{}}}],["validation.service.ts:107",{"_index":6081,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validation.service.ts:108",{"_index":10499,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:118",{"_index":10501,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:12",{"_index":7069,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["validation.service.ts:128",{"_index":10507,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:136",{"_index":10503,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:14",{"_index":6099,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validation.service.ts:148",{"_index":10496,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:16",{"_index":10511,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/SchoolValidationService.html":{}}}],["validation.service.ts:17",{"_index":19894,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["validation.service.ts:20",{"_index":7072,"title":{},"body":{"injectables/ContextExternalToolValidationService.html":{}}}],["validation.service.ts:24",{"_index":6088,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validation.service.ts:26",{"_index":11093,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validation.service.ts:27",{"_index":19891,"title":{},"body":{"injectables/SchoolExternalToolValidationService.html":{}}}],["validation.service.ts:32",{"_index":6070,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ContextExternalToolValidationService.html":{}}}],["validation.service.ts:46",{"_index":6073,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validation.service.ts:58",{"_index":6076,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolValidationService.html":{}}}],["validation.service.ts:7",{"_index":20073,"title":{},"body":{"injectables/SchoolValidationService.html":{}}}],["validation.service.ts:72",{"_index":6085,"title":{},"body":{"injectables/CommonToolValidationService.html":{},"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:74",{"_index":11090,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validation.service.ts:76",{"_index":10505,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:82",{"_index":6090,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validation.service.ts:84",{"_index":11087,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validation.service.ts:86",{"_index":10494,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:9",{"_index":11085,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validation.service.ts:91",{"_index":6079,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validation.service.ts:95",{"_index":10509,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validation.service.ts:99",{"_index":6083,"title":{},"body":{"injectables/CommonToolValidationService.html":{}}}],["validation_error",{"_index":23965,"title":{},"body":{"classes/ValidationError.html":{},"classes/ValidationErrorLoggableException.html":{}}}],["validationerror",{"_index":338,"title":{"classes/ValidationError.html":{}},"body":{"controllers/AccountController.html":{},"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/CurrentUserMapper.html":{},"classes/ErrorLoggable.html":{},"injectables/ExternalToolParameterValidationService.html":{},"injectables/ExternalToolValidationService.html":{},"classes/GlobalValidationPipe.html":{},"controllers/LoginController.html":{},"injectables/SanisProvisioningStrategy.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SubmissionItemService.html":{},"controllers/ToolContextController.html":{},"controllers/ToolController.html":{},"controllers/ToolSchoolController.html":{},"classes/ValidationError.html":{},"classes/ValidationErrorLoggableException.html":{},"additional-documentation/nestjs-application/exception-handling.html":{}}}],["validationerror('user",{"_index":8066,"title":{},"body":{"classes/CurrentUserMapper.html":{}}}],["validationerror(`tool_id_mismatch",{"_index":11099,"title":{},"body":{"injectables/ExternalToolValidationService.html":{}}}],["validationerror(`tool_name_duplicate",{"_index":10514,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validationerror(`tool_param_name",{"_index":10519,"title":{},"body":{"injectables/ExternalToolParameterValidationService.html":{}}}],["validationerror.children",{"_index":1413,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["validationerror.children.foreach((childerror",{"_index":1414,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["validationerror.constraints",{"_index":1409,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["validationerror.property",{"_index":1407,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["validationerrordetailresponse",{"_index":1385,"title":{"classes/ValidationErrorDetailResponse.html":{}},"body":{"classes/ApiValidationErrorResponse.html":{},"classes/ValidationErrorDetailResponse.html":{}}}],["validationerrordetailresponse(propertypath",{"_index":1412,"title":{},"body":{"classes/ApiValidationErrorResponse.html":{}}}],["validationerrorlistobject",{"_index":23973,"title":{},"body":{"classes/ValidationErrorLoggableException.html":{}}}],["validationerrorloggableexception",{"_index":19537,"title":{"classes/ValidationErrorLoggableException.html":{}},"body":{"injectables/SanisProvisioningStrategy.html":{},"classes/ValidationErrorLoggableException.html":{}}}],["validationerrorloggableexception(validationerrors",{"_index":19570,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["validationerrorlogmessage",{"_index":1469,"title":{},"body":{"classes/AuthCodeFailureLoggableException.html":{},"classes/AxiosErrorLoggable.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalSchoolNumberMissingLoggableException.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"classes/ExternalToolLogoFetchedLoggable.html":{},"classes/ExternalToolLogoNotFoundLoggableException.html":{},"classes/ExternalToolLogoSizeExceededLoggableException.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/GroupRoleUnknownLoggable.html":{},"classes/HydraOauthFailedLoggableException.html":{},"classes/IdTokenExtractionFailureLoggableException.html":{},"classes/IdTokenInvalidLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"classes/InvalidUserLoginMigrationLoggableException.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapUserMigrationException.html":{},"interfaces/Loggable.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/OauthConfigMissingLoggableException.html":{},"classes/OauthSsoErrorLoggableException.html":{},"classes/ParameterTypeNotImplementedLoggableException.html":{},"classes/ReferencedEntityNotFoundLoggable.html":{},"classes/RestrictedContextMismatchLoggable.html":{},"classes/SchoolForGroupNotFoundLoggable.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"classes/SchoolInUserMigrationEndLoggable.html":{},"classes/SchoolInUserMigrationStartLoggable.html":{},"classes/SchoolNumberDuplicateLoggableException.html":{},"classes/SchoolNumberMismatchLoggableException.html":{},"classes/SchoolNumberMissingLoggableException.html":{},"classes/TokenRequestLoggableException.html":{},"classes/TooManyPseudonymsLoggableException.html":{},"classes/ToolStatusOutdatedLoggableException.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"classes/UserForGroupNotFoundLoggable.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{},"classes/UserLoginMigrationMandatoryLoggable.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationStartLoggable.html":{},"classes/UserMigrationIsNotEnabled.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{}}}],["validationerrors",{"_index":1359,"title":{},"body":{"classes/ApiValidationError.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/ErrorLoggable.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/ValidationErrorLoggableException.html":{}}}],["validationerrors.length",{"_index":19569,"title":{},"body":{"injectables/SanisProvisioningStrategy.html":{}}}],["validationmetadata",{"_index":9906,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["validationmetadata.context?.privacyprotected",{"_index":9908,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["validationmetadata.propertyname",{"_index":9907,"title":{},"body":{"classes/ErrorLoggable.html":{}}}],["validationmodule",{"_index":7405,"title":{"modules/ValidationModule.html":{}},"body":{"modules/CoreModule.html":{},"modules/ValidationModule.html":{}}}],["validationpipe",{"_index":1221,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/GlobalValidationPipe.html":{}}}],["validationpipe.createexceptionfactory",{"_index":1248,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["validationresult",{"_index":1244,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["validationresult.length",{"_index":1246,"title":{},"body":{"injectables/AjaxPostBodyParamsTransformPipe.html":{}}}],["validator",{"_index":200,"title":{},"body":{"classes/AcceptQuery.html":{},"classes/AccountByIdBodyParams.html":{},"classes/AccountByIdParams.html":{},"classes/AccountSaveDto.html":{},"classes/AccountSearchQueryParams.html":{},"classes/AjaxGetQueryParams.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/AjaxPostQueryParams.html":{},"classes/AuthorizationParams.html":{},"classes/BasicToolConfigParams.html":{},"classes/BoardLessonResponse.html":{},"classes/BoardUrlParams.html":{},"classes/CardIdsParams.html":{},"classes/CardUrlParams.html":{},"classes/ChallengeParams.html":{},"classes/ChangeLanguageParams.html":{},"classes/ClassFilterParams.html":{},"classes/ClassSortParams.html":{},"classes/ColumnUrlParams.html":{},"classes/ConsentRequestBody.html":{},"classes/ConsentResponse.html":{},"classes/ConsentSessionResponse.html":{},"classes/ContentBodyParams.html":{},"classes/ContentElementUrlParams.html":{},"classes/ContentFileUrlParams.html":{},"classes/ContextExternalToolContextParams.html":{},"classes/ContextExternalToolIdParams.html":{},"classes/ContextExternalToolIdParams-1.html":{},"classes/ContextExternalToolPostParams.html":{},"classes/ContextRefParams.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/CourseQueryParams.html":{},"classes/CourseUrlParams.html":{},"classes/CreateCardBodyParams.html":{},"classes/CreateContentElementBodyParams.html":{},"classes/CreateNewsParams.html":{},"classes/CreateSubmissionItemBodyParams.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterPostParams.html":{},"classes/DashboardUrlParams.html":{},"classes/DeletionExecutionParams.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestLogResponse.html":{},"classes/DownloadFileParams.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElementContentBody.html":{},"classes/ElementContentBody.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElementContentBody.html":{},"classes/ExternalToolIdParams.html":{},"classes/ExternalToolSearchParams.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElementContentBody.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/FilterImportUserParams.html":{},"classes/FilterNewsParams.html":{},"classes/FilterUserParams.html":{},"classes/GetFwuLearningContentParams.html":{},"classes/GetH5PContentParams.html":{},"classes/GetH5PEditorParams.html":{},"classes/GetH5PEditorParamsCreate.html":{},"classes/GetMetaTagDataBody.html":{},"classes/GlobalValidationPipe.html":{},"classes/GroupIdParams.html":{},"classes/IdParams.html":{},"classes/ImportUserListResponse.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserUrlParams.html":{},"classes/LdapAuthorizationBodyParams.html":{},"classes/LessonCopyApiParams.html":{},"classes/LessonUrlParams.html":{},"classes/LessonUrlParams-1.html":{},"classes/LibrariesBodyParams.html":{},"classes/LibraryFileUrlParams.html":{},"classes/LibraryParametersBodyParams.html":{},"classes/LinkContentBody.html":{},"classes/LinkElementContentBody.html":{},"classes/ListOauthClientsParams.html":{},"classes/LocalAuthorizationBodyParams.html":{},"classes/LoginRequestBody.html":{},"classes/LoginResponse-1.html":{},"classes/Lti11ToolConfigCreateParams.html":{},"classes/Lti11ToolConfigUpdateParams.html":{},"classes/MetaTagExtractorResponse.html":{},"classes/MoveCardBodyParams.html":{},"classes/MoveColumnBodyParams.html":{},"classes/MoveContentElementBody.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/NewsUrlParams.html":{},"classes/OAuthRejectableBody.html":{},"classes/Oauth2AuthorizationBodyParams.html":{},"classes/Oauth2MigrationParams.html":{},"classes/Oauth2ToolConfigCreateParams.html":{},"classes/Oauth2ToolConfigUpdateParams.html":{},"classes/OauthClientBody.html":{},"classes/PaginationParams.html":{},"classes/PatchGroupParams.html":{},"classes/PatchMyAccountParams.html":{},"classes/PatchMyPasswordParams.html":{},"classes/PatchOrderParams.html":{},"classes/PatchVisibilityParams.html":{},"classes/PostH5PContentCreateParams.html":{},"classes/PostH5PContentParams.html":{},"classes/PreviewParams.html":{},"classes/PseudonymParams.html":{},"classes/RenameBodyParams.html":{},"classes/RenameFileParams.html":{},"classes/RevokeConsentParams.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElementContentBody.html":{},"classes/RoomElementUrlParams.html":{},"classes/RoomUrlParams.html":{},"classes/SanisAnschriftResponse.html":{},"classes/SanisGeburtResponse.html":{},"classes/SanisGruppeResponse.html":{},"classes/SanisGruppenResponse.html":{},"classes/SanisGruppenzugehoerigkeitResponse.html":{},"classes/SanisNameResponse.html":{},"classes/SanisOrganisationResponse.html":{},"classes/SanisPersonResponse.html":{},"classes/SanisPersonenkontextResponse.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SanisResponse.html":{},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{},"classes/SaveH5PEditorParams.html":{},"classes/ScanResultParams.html":{},"classes/SchoolExternalToolIdParams.html":{},"classes/SchoolExternalToolIdParams-1.html":{},"classes/SchoolExternalToolPostParams.html":{},"classes/SchoolExternalToolSearchParams.html":{},"classes/SchoolIdParams.html":{},"classes/SchoolIdParams-1.html":{},"classes/SetHeightBodyParams.html":{},"classes/ShareTokenBodyParams.html":{},"classes/ShareTokenImportBodyParams.html":{},"classes/ShareTokenUrlParams.html":{},"classes/SingleFileParams.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"classes/StatelessAuthorizationParams.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElementContentBody.html":{},"classes/SubmissionContainerUrlParams.html":{},"classes/SubmissionItemUrlParams.html":{},"classes/SubmissionUrlParams.html":{},"classes/SystemFilterParams.html":{},"classes/SystemIdParams.html":{},"classes/TaskCopyApiParams.html":{},"classes/TaskCreateParams.html":{},"classes/TaskUpdateParams.html":{},"classes/TaskUrlParams.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamRoleDto.html":{},"classes/TeamUrlParams.html":{},"classes/TldrawDeleteParams.html":{},"classes/ToolLaunchParams.html":{},"classes/UpdateElementContentBodyParams.html":{},"classes/UpdateFlagParams.html":{},"classes/UpdateMatchParams.html":{},"classes/UpdateNewsParams.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"classes/UserLoginMigrationMandatoryParams.html":{},"classes/UserLoginMigrationSearchParams.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchResponse.html":{},"classes/UserParams.html":{},"classes/ValidationErrorLoggableException.html":{},"classes/VideoConferenceCreateParams.html":{},"classes/VideoConferenceScopeParams.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["validators",{"_index":25553,"title":{},"body":{"additional-documentation/nestjs-application/file-structure.html":{}}}],["validcourses",{"_index":11373,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["validcourses.push(course",{"_index":11376,"title":{},"body":{"injectables/FeathersRosterService.html":{},"interfaces/UserData.html":{},"interfaces/UserGroup.html":{},"interfaces/UserGroups.html":{},"interfaces/UserMetdata.html":{}}}],["validfrom",{"_index":12690,"title":{},"body":{"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{},"injectables/OidcProvisioningService.html":{}}}],["validjwt",{"_index":7983,"title":{},"body":{"interfaces/CreateJwtParams.html":{},"classes/JwtTestFactory.html":{}}}],["validperiod",{"_index":12773,"title":{},"body":{"classes/GroupDomainMapper.html":{},"entities/GroupEntity.html":{},"interfaces/GroupEntityProps.html":{}}}],["validuntil",{"_index":12691,"title":{},"body":{"classes/Group.html":{},"classes/GroupDomainMapper.html":{},"interfaces/GroupProps.html":{},"injectables/OidcProvisioningService.html":{}}}],["value",{"_index":130,"title":{},"body":{"classes/AbstractUrlHandler.html":{},"classes/AccountFactory.html":{},"injectables/AccountRepo.html":{},"classes/AccountSearchQueryParams.html":{},"injectables/AccountServiceDb.html":{},"injectables/AjaxPostBodyParamsTransformPipe.html":{},"classes/ApiValidationErrorResponse.html":{},"classes/BBBCreateConfigBuilder.html":{},"classes/BBBJoinConfigBuilder.html":{},"classes/BaseEntityWithTimestamps.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"injectables/BatchDeletionUc.html":{},"entities/Board.html":{},"classes/BoardDoBuilderImpl.html":{},"classes/BoardManagementConsole.html":{},"injectables/BoardManagementUc.html":{},"injectables/BoardUrlHandler.html":{},"classes/CardSkeletonResponse.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassSortParams.html":{},"injectables/CollaborativeStorageService.html":{},"interfaces/CollectionFilePath.html":{},"classes/ColumnBoardFactory.html":{},"injectables/ColumnBoardService.html":{},"entities/ColumnBoardTarget.html":{},"classes/CommonCartridgeFileBuilder.html":{},"injectables/CommonToolValidationService.html":{},"classes/ConsentResponse.html":{},"classes/ContentElementResponseFactory.html":{},"classes/ContextExternalToolFactory.html":{},"classes/ContextExternalToolRequestMapper.html":{},"classes/ContextExternalToolResponse.html":{},"classes/ContextExternalToolResponseMapper.html":{},"classes/ContextExternalToolScope.html":{},"injectables/CopyHelperService.html":{},"entities/Course.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"injectables/CourseRepo.html":{},"classes/CourseScope.html":{},"injectables/CourseUrlHandler.html":{},"interfaces/CustomLtiProperty.html":{},"classes/CustomLtiPropertyDO.html":{},"classes/CustomParameterEntry.html":{},"classes/CustomParameterEntryEntity.html":{},"classes/CustomParameterEntryParam.html":{},"classes/CustomParameterEntryResponse.html":{},"classes/CustomParameterFactory.html":{},"classes/DashboardEntity.html":{},"entities/DashboardGridElementModel.html":{},"entities/DashboardModelEntity.html":{},"classes/DeleteFilesConsole.html":{},"injectables/DeleteFilesUc.html":{},"classes/DeletionExecutionParams.html":{},"classes/DeletionRequestBodyProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestScope.html":{},"injectables/DeletionRequestService.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingContentBody.html":{},"classes/DrawingElement.html":{},"classes/DrawingElementContentBody.html":{},"interfaces/DrawingElementProps.html":{},"classes/ElementContentBody.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalToolContentBody.html":{},"classes/ExternalToolCreateParams.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolElementContentBody.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"injectables/ExternalToolParameterValidationService.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolScope.html":{},"classes/ExternalToolUpdateParams.html":{},"classes/FileContentBody.html":{},"classes/FileElement.html":{},"classes/FileElementContentBody.html":{},"interfaces/FileElementProps.html":{},"entities/FileEntity.html":{},"classes/FilePermissionEntity.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"classes/FileSecurityCheckEntity.html":{},"classes/FilterUserParams.html":{},"classes/GlobalValidationPipe.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"classes/GuardAgainst.html":{},"classes/H5PContentFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"injectables/HydraSsoService.html":{},"interfaces/IGridElement.html":{},"classes/IdentityManagementService.html":{},"entities/ImportUser.html":{},"classes/ImportUserFactory.html":{},"injectables/ImportUserRepo.html":{},"classes/ImportUserResponse.html":{},"classes/ImportUserScope.html":{},"classes/KeycloakAdministration.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConfiguration.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementService.html":{},"injectables/KeycloakMigrationService.html":{},"classes/KeycloakSeedService.html":{},"injectables/LdapStrategy.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolService.html":{},"entities/LessonEntity.html":{},"classes/LessonFactory.html":{},"classes/LessonScope.html":{},"injectables/LessonUrlHandler.html":{},"classes/LinkContentBody.html":{},"classes/LinkElement.html":{},"classes/LinkElementContentBody.html":{},"interfaces/LinkElementProps.html":{},"injectables/Logger.html":{},"entities/LtiTool.html":{},"classes/LtiToolDO.html":{},"classes/LtiToolFactory.html":{},"classes/MaterialFactory.html":{},"injectables/MetaTagExtractorService.html":{},"injectables/MetaTagInternalUrlService.html":{},"classes/MissingToolParameterValueLoggableException.html":{},"classes/MongoPatterns.html":{},"entities/News.html":{},"injectables/NewsRepo.html":{},"classes/NewsScope.html":{},"injectables/NewsUc.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/PaginationParams.html":{},"injectables/PreviewGeneratorService.html":{},"classes/PropertyData.html":{},"injectables/ProvisioningService.html":{},"classes/PseudonymScope.html":{},"classes/RecursiveCopyVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"injectables/ReferenceLoader.html":{},"classes/RequestInfo.html":{},"classes/ResolvedUserMapper.html":{},"classes/RichTextContentBody.html":{},"classes/RichTextElement.html":{},"classes/RichTextElementContentBody.html":{},"interfaces/RichTextElementProps.html":{},"classes/RocketChatUserFactory.html":{},"entities/Role.html":{},"injectables/RoleRepo.html":{},"injectables/RoomBoardResponseMapper.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisResponseMapper.html":{},"entities/SchoolEntity.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolExternalToolRequestMapper.html":{},"injectables/SchoolExternalToolResponseMapper.html":{},"classes/SchoolExternalToolScope.html":{},"classes/Scope.html":{},"classes/SortExternalToolParams.html":{},"classes/SortImportUserParams.html":{},"classes/SortingParams.html":{},"classes/StorageProviderEncryptedStringType.html":{},"classes/StringValidator.html":{},"entities/Submission.html":{},"classes/SubmissionContainerContentBody.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionContainerElementContentBody.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemScope.html":{},"injectables/SystemUc.html":{},"entities/Task.html":{},"controllers/TaskController.html":{},"classes/TaskFactory.html":{},"injectables/TaskRepo.html":{},"classes/TaskResponse.html":{},"classes/TaskScope.html":{},"injectables/TaskUC.html":{},"injectables/TaskUrlHandler.html":{},"entities/TeamEntity.html":{},"classes/TeamFactory.html":{},"interfaces/TeamProperties.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"interfaces/TeamUserProperties.html":{},"injectables/TeamsRepo.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestConnection.html":{},"classes/TestHelper.html":{},"classes/TestXApiKeyClient.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"injectables/TldrawWsService.html":{},"classes/ToolConfiguration.html":{},"classes/ToolContextMapper.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/UpdateElementContentBodyParams.html":{},"entities/User.html":{},"classes/UserAndAccountTestFactory.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserDto.html":{},"classes/UserFactory.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"classes/VideoConferenceConfiguration.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["value.length",{"_index":20615,"title":{},"body":{"classes/StorageProviderEncryptedStringType.html":{},"classes/StringValidator.html":{}}}],["value.loggable",{"_index":16368,"title":{},"body":{"classes/MissingToolParameterValueLoggableException.html":{}}}],["value.trim().length",{"_index":20650,"title":{},"body":{"classes/StringValidator.html":{}}}],["value[0",{"_index":14794,"title":{},"body":{"injectables/KeycloakIdentityManagementService.html":{}}}],["values",{"_index":1561,"title":{},"body":{"modules/AuthenticationModule.html":{},"injectables/BatchDeletionService.html":{},"classes/LdapConfigEntity.html":{},"injectables/LdapStrategy.html":{},"classes/OauthClientBody.html":{},"classes/OauthConfigEntity.html":{},"classes/OidcConfigEntity.html":{},"classes/StorageProviderEncryptedStringType.html":{},"entities/SystemEntity.html":{},"interfaces/SystemEntityProps.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["values.ts",{"_index":1758,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["values.ts:2",{"_index":1762,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["values.ts:4",{"_index":1761,"title":{},"body":{"classes/AuthenticationValues.html":{}}}],["var",{"_index":5331,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["variable",{"_index":20225,"title":{},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{}}}],["variables",{"_index":20525,"title":{},"body":{"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{},"additional-documentation/nestjs-application/file-structure.html":{}}}],["variant",{"_index":22119,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["various",{"_index":25467,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["vars",{"_index":2060,"title":{},"body":{"injectables/AutoSchoolIdStrategy.html":{},"injectables/AutoSchoolNumberStrategy.html":{},"injectables/BasicToolLaunchStrategy.html":{},"classes/DomainObjectFactory.html":{},"injectables/FilesStorageConsumer.html":{},"controllers/LoginController.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/TestBootstrapConsole.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["vcdo",{"_index":24231,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["vcdo.options",{"_index":24233,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{}}}],["verbatim",{"_index":24659,"title":{},"body":{"license.html":{}}}],["verbose",{"_index":4856,"title":{},"body":{"interfaces/CleanOptions.html":{},"injectables/KeycloakConfigurationUc.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakMigrationService.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["verified",{"_index":1154,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{},"entities/RegistrationPinEntity.html":{},"interfaces/RegistrationPinEntityProps.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{}}}],["verify",{"_index":25795,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["verifyfeaturesenabled",{"_index":24107,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["verifyfeaturesenabled(schoolid",{"_index":24119,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["verifying",{"_index":25796,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["verifyoptions",{"_index":1600,"title":{},"body":{"modules/AuthenticationModule.html":{}}}],["version",{"_index":5695,"title":{},"body":{"injectables/CommonCartridgeExportService.html":{},"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeOrganizationItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"classes/ContextExternalToolConfigurationTemplateResponse.html":{},"modules/ContextExternalToolModule.html":{},"injectables/CourseExportUc.html":{},"classes/CourseQueryParams.html":{},"classes/CustomParameterFactory.html":{},"classes/ExternalTool.html":{},"entities/ExternalToolEntity.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"interfaces/ExternalToolProps.html":{},"classes/ExternalToolRepoMapper.html":{},"injectables/ExternalToolRequestMapper.html":{},"classes/ExternalToolResponse.html":{},"injectables/ExternalToolResponseMapper.html":{},"injectables/ExternalToolService.html":{},"injectables/ExternalToolUc.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"injectables/LibraryRepo.html":{},"classes/Oauth2ToolConfigFactory.html":{},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{},"classes/SchoolExternalToolPostParams.html":{},"injectables/SchoolExternalToolValidationService.html":{},"entities/TldrawDrawing.html":{},"interfaces/TldrawDrawingProps.html":{},"classes/ToolConfigurationMapper.html":{},"injectables/ToolLaunchService.html":{},"injectables/ToolReferenceService.html":{},"injectables/ToolVersionService.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{}}}],["version.interface.ts",{"_index":23095,"title":{},"body":{"interfaces/ToolVersion.html":{}}}],["version.interface.ts:2",{"_index":23096,"title":{},"body":{"interfaces/ToolVersion.html":{}}}],["versioning",{"_index":6045,"title":{},"body":{"injectables/CommonToolService.html":{}}}],["versionkey",{"_index":11530,"title":{},"body":{"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{}}}],["versionnumber",{"_index":5917,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["versions",{"_index":6672,"title":{},"body":{"classes/ContextExternalToolConfigurationStatusResponse.html":{},"classes/SchoolExternalToolConfigurationStatusResponse.html":{},"license.html":{}}}],["very",{"_index":5272,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"index.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["via",{"_index":2808,"title":{},"body":{"injectables/BatchDeletionService.html":{},"classes/CopyApiResponse.html":{},"classes/DeletionExecutionConsole.html":{},"controllers/KeycloakManagementController.html":{},"controllers/LoginController.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"classes/TaskListResponse.html":{},"classes/TaskResponse.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["video",{"_index":9527,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"modules/VideoConferenceApiModule.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceInfo.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceJoin.html":{},"classes/VideoConferenceJoinResponse.html":{},"modules/VideoConferenceModule.html":{},"classes/VideoConferenceOptions.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["videoconference",{"_index":7509,"title":{"entities/VideoConference.html":{},"classes/VideoConference-1.html":{}},"body":{"entities/Course.html":{},"interfaces/CourseProperties.html":{},"entities/SchoolEntity.html":{},"interfaces/SchoolProperties.html":{},"classes/SchoolRolePermission.html":{},"classes/SchoolRoles.html":{},"classes/UsersList.html":{},"entities/VideoConference.html":{},"classes/VideoConference-1.html":{},"classes/VideoConferenceConfiguration.html":{},"injectables/VideoConferenceCreateUc.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceInfo.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceOptions.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["videoconference.options.everybodyjoinsasmoderator",{"_index":24249,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["videoconference.options.moderatormustapprovejoinrequests",{"_index":24251,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["videoconference2",{"_index":24033,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["videoconference:31",{"_index":24209,"title":{},"body":{"classes/VideoConferenceInfo.html":{}}}],["videoconference:34",{"_index":24210,"title":{},"body":{"classes/VideoConferenceInfo.html":{}}}],["videoconference:6",{"_index":24208,"title":{},"body":{"classes/VideoConferenceInfo.html":{}}}],["videoconferenceapimodule",{"_index":20209,"title":{"modules/VideoConferenceApiModule.html":{}},"body":{"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/VideoConferenceApiModule.html":{}}}],["videoconferencebaseresponse",{"_index":9528,"title":{"classes/VideoConferenceBaseResponse.html":{}},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["videoconferencebaseresponse:10",{"_index":9534,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{}}}],["videoconferencebaseresponse:12",{"_index":9532,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{}}}],["videoconferencebaseresponse:8",{"_index":9535,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{}}}],["videoconferenceconfiguration",{"_index":24025,"title":{"classes/VideoConferenceConfiguration.html":{}},"body":{"classes/VideoConferenceConfiguration.html":{},"modules/VideoConferenceModule.html":{}}}],["videoconferenceconfiguration.bbb",{"_index":24030,"title":{},"body":{"classes/VideoConferenceConfiguration.html":{},"modules/VideoConferenceModule.html":{}}}],["videoconferenceconfiguration.videoconference",{"_index":24293,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["videoconferencecontroller",{"_index":24020,"title":{"controllers/VideoConferenceController.html":{}},"body":{"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{}}}],["videoconferencecreateparams",{"_index":24053,"title":{"classes/VideoConferenceCreateParams.html":{}},"body":{"controllers/VideoConferenceController.html":{},"classes/VideoConferenceCreateParams.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceMapper.html":{}}}],["videoconferencecreateuc",{"_index":24016,"title":{"injectables/VideoConferenceCreateUc.html":{}},"body":{"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{}}}],["videoconferencedeprecatedcontroller",{"_index":24159,"title":{"controllers/VideoConferenceDeprecatedController.html":{}},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"modules/VideoConferenceModule.html":{}}}],["videoconferencedeprecateduc",{"_index":24172,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"modules/VideoConferenceModule.html":{}}}],["videoconferencedo",{"_index":24146,"title":{"classes/VideoConferenceDO.html":{}},"body":{"classes/VideoConferenceDO.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceOptionsDO.html":{},"injectables/VideoConferenceRepo.html":{}}}],["videoconferenceenduc",{"_index":24017,"title":{"injectables/VideoConferenceEndUc.html":{}},"body":{"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceEndUc.html":{}}}],["videoconferenceinfo",{"_index":24060,"title":{"classes/VideoConferenceInfo.html":{}},"body":{"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceInfo.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["videoconferenceinforesponse",{"_index":24062,"title":{"classes/VideoConferenceInfoResponse.html":{}},"body":{"controllers/VideoConferenceController.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceMapper.html":{}}}],["videoconferenceinforesponse})@apiresponse({status",{"_index":24044,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["videoconferenceinfouc",{"_index":24018,"title":{"injectables/VideoConferenceInfoUc.html":{}},"body":{"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceInfoUc.html":{}}}],["videoconferencejoin",{"_index":24061,"title":{"classes/VideoConferenceJoin.html":{}},"body":{"controllers/VideoConferenceController.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceJoin.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["videoconferencejoin.url",{"_index":24281,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["videoconferencejoinresponse",{"_index":24063,"title":{"classes/VideoConferenceJoinResponse.html":{}},"body":{"controllers/VideoConferenceController.html":{},"classes/VideoConferenceJoinResponse.html":{},"classes/VideoConferenceMapper.html":{}}}],["videoconferencejoinresponse})@apiresponse({status",{"_index":24050,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["videoconferencejoinuc",{"_index":24019,"title":{"injectables/VideoConferenceJoinUc.html":{}},"body":{"modules/VideoConferenceApiModule.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceJoinUc.html":{}}}],["videoconferencemapper",{"_index":24057,"title":{"classes/VideoConferenceMapper.html":{}},"body":{"controllers/VideoConferenceController.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["videoconferencemapper.tovideoconferenceinforesponse(dto",{"_index":24080,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["videoconferencemapper.tovideoconferencejoinresponse(dto",{"_index":24077,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["videoconferencemapper.tovideoconferenceoptions(params",{"_index":24073,"title":{},"body":{"controllers/VideoConferenceController.html":{}}}],["videoconferencemapper.tovideoconferencestateresponse(from.state",{"_index":24348,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["videoconferencemodule",{"_index":24015,"title":{"modules/VideoConferenceModule.html":{}},"body":{"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{}}}],["videoconferenceoptions",{"_index":23984,"title":{"classes/VideoConferenceOptions.html":{}},"body":{"entities/VideoConference.html":{},"controllers/VideoConferenceController.html":{},"injectables/VideoConferenceCreateUc.html":{},"classes/VideoConferenceInfo.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptions.html":{}}}],["videoconferenceoptionsdo",{"_index":24150,"title":{"classes/VideoConferenceOptionsDO.html":{}},"body":{"classes/VideoConferenceDO.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceOptionsDO.html":{}}}],["videoconferenceoptionsresponse",{"_index":24213,"title":{"classes/VideoConferenceOptionsResponse.html":{}},"body":{"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceMapper.html":{},"classes/VideoConferenceOptionsResponse.html":{}}}],["videoconferenceoptionsresponse(videoconferenceinfo.options",{"_index":24280,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["videoconferencerepo",{"_index":24287,"title":{"injectables/VideoConferenceRepo.html":{}},"body":{"modules/VideoConferenceModule.html":{},"injectables/VideoConferenceRepo.html":{}}}],["videoconferenceresponsedeprecatedmapper",{"_index":24170,"title":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["videoconferenceresponsedeprecatedmapper.maptobaseresponse(dto",{"_index":24194,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["videoconferenceresponsedeprecatedmapper.maptoinforesponse(dto",{"_index":24191,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["videoconferenceresponsedeprecatedmapper.maptojoinresponse(dto",{"_index":24189,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["videoconferenceresponsemapper",{"_index":24341,"title":{},"body":{"classes/VideoConferenceResponseDeprecatedMapper.html":{}}}],["videoconferences",{"_index":23998,"title":{},"body":{"entities/VideoConference.html":{},"classes/VideoConferenceOptions.html":{}}}],["videoconferencescope",{"_index":20127,"title":{},"body":{"classes/ScopeRef.html":{},"classes/VideoConferenceDO.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"classes/VideoConferenceOptionsDO.html":{},"injectables/VideoConferenceRepo.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["videoconferencescope'})@isenum(videoconferencescope",{"_index":24353,"title":{},"body":{"classes/VideoConferenceScopeParams.html":{}}}],["videoconferencescope.course",{"_index":24325,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["videoconferencescope.event",{"_index":24323,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["videoconferencescopeparams",{"_index":24036,"title":{"classes/VideoConferenceScopeParams.html":{}},"body":{"controllers/VideoConferenceController.html":{},"classes/VideoConferenceScopeParams.html":{}}}],["videoconferenceservice",{"_index":24109,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"modules/VideoConferenceModule.html":{}}}],["videoconferencesettings",{"_index":13675,"title":{},"body":{"interfaces/IVideoConferenceSettings.html":{},"modules/VideoConferenceModule.html":{}}}],["videoconferencestate",{"_index":24005,"title":{},"body":{"classes/VideoConference-1.html":{},"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceEndUc.html":{},"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceJoin.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["videoconferencestate.finished",{"_index":24205,"title":{},"body":{"injectables/VideoConferenceEndUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["videoconferencestate.not_started",{"_index":24225,"title":{},"body":{"injectables/VideoConferenceInfoUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["videoconferencestate.running",{"_index":24183,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{},"injectables/VideoConferenceInfoUc.html":{},"injectables/VideoConferenceJoinUc.html":{},"classes/VideoConferenceMapper.html":{}}}],["videoconferencestateresponse",{"_index":9533,"title":{},"body":{"classes/DeprecatedVideoConferenceInfoResponse.html":{},"classes/DeprecatedVideoConferenceJoinResponse.html":{},"classes/VideoConferenceBaseResponse.html":{},"classes/VideoConferenceInfoResponse.html":{},"classes/VideoConferenceMapper.html":{}}}],["videoconferencestateresponse.finished",{"_index":24278,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["videoconferencestateresponse.not_started",{"_index":24276,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["videoconferencestateresponse.running",{"_index":24277,"title":{},"body":{"classes/VideoConferenceMapper.html":{}}}],["videoconferenceuc",{"_index":24176,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["videoconferencingscopemapping",{"_index":24327,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["videoconferencingscopemapping[entity.targetmodel",{"_index":24331,"title":{},"body":{"injectables/VideoConferenceRepo.html":{}}}],["videocount",{"_index":2314,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["view",{"_index":16660,"title":{},"body":{"injectables/NewsUc.html":{},"license.html":{}}}],["viewer",{"_index":2265,"title":{},"body":{"classes/BBBJoinConfig.html":{}}}],["viewers",{"_index":7827,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{}}}],["violates",{"_index":24971,"title":{},"body":{"license.html":{}}}],["violation",{"_index":25015,"title":{},"body":{"license.html":{}}}],["virtuals",{"_index":24531,"title":{},"body":{"dependencies.html":{}}}],["virus",{"_index":11880,"title":{},"body":{"classes/FileRecordMapper.html":{}}}],["virus_detected",{"_index":1291,"title":{},"body":{"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["virus_signature",{"_index":1292,"title":{},"body":{"interfaces/AntivirusModuleOptions.html":{},"injectables/AntivirusService.html":{},"interfaces/AntivirusServiceOptions.html":{},"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewParams.html":{},"classes/RenameFileParams.html":{},"interfaces/ScanResult.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["viruses",{"_index":1322,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["viruses.join",{"_index":1326,"title":{},"body":{"injectables/AntivirusService.html":{}}}],["visibilities",{"_index":25258,"title":{},"body":{"todo.html":{}}}],["visibility",{"_index":4418,"title":{},"body":{"classes/CardResponse.html":{},"classes/PatchVisibilityParams.html":{},"injectables/RoomsUc.html":{}}}],["visibility.params.ts",{"_index":17780,"title":{},"body":{"classes/PatchVisibilityParams.html":{}}}],["visibility.params.ts:12",{"_index":17781,"title":{},"body":{"classes/PatchVisibilityParams.html":{}}}],["visibilitysettings",{"_index":4409,"title":{},"body":{"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{}}}],["visibilitysettingsresponse",{"_index":4416,"title":{"classes/VisibilitySettingsResponse.html":{}},"body":{"classes/CardResponse.html":{},"classes/CardResponseMapper.html":{},"classes/VisibilitySettingsResponse.html":{}}}],["visible",{"_index":7826,"title":{},"body":{"entities/CourseNews.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardResponse.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TeamNews.html":{},"license.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["visibletools",{"_index":10145,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["visibletools.filter",{"_index":10148,"title":{},"body":{"injectables/ExternalToolConfigurationService.html":{}}}],["visitcard",{"_index":3085,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitcard(card",{"_index":3095,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitcardasync",{"_index":3141,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitcardasync(card",{"_index":3133,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitcardasync(original",{"_index":18404,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitchildren",{"_index":18534,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["visitchildren(parent",{"_index":18545,"title":{},"body":{"classes/RecursiveSaveVisitor.html":{}}}],["visitchildrenasync",{"_index":18485,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["visitchildrenasync(domainobject",{"_index":18490,"title":{},"body":{"injectables/RecursiveDeleteVisitor.html":{}}}],["visitchildrenof",{"_index":18394,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitchildrenof(boarddo",{"_index":18406,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitcolumn",{"_index":3086,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitcolumn(column",{"_index":3098,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitcolumnasync",{"_index":3142,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitcolumnasync(column",{"_index":3132,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitcolumnasync(original",{"_index":18408,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitcolumnboard",{"_index":3087,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitcolumnboard(columnboard",{"_index":3100,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitcolumnboardasync",{"_index":3143,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitcolumnboardasync(columnboard",{"_index":3131,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitcolumnboardasync(original",{"_index":18410,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitdrawingelement",{"_index":3088,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitdrawingelement(drawingelement",{"_index":3102,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitdrawingelementasync",{"_index":3144,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitdrawingelementasync(drawingelement",{"_index":3137,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitdrawingelementasync(original",{"_index":18412,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitexternaltoolelement",{"_index":3089,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitexternaltoolelement(externaltoolelement",{"_index":3105,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitexternaltoolelementasync",{"_index":3145,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitexternaltoolelementasync(externaltoolelement",{"_index":3140,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitexternaltoolelementasync(original",{"_index":18414,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitfileelement",{"_index":3090,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitfileelement(fileelement",{"_index":3108,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitfileelementasync",{"_index":3146,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitfileelementasync(fileelement",{"_index":3134,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitfileelementasync(original",{"_index":18416,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitlinkelement",{"_index":3091,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitlinkelement(linkelement",{"_index":3111,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitlinkelementasync",{"_index":3147,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitlinkelementasync(linkelement",{"_index":3135,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitlinkelementasync(original",{"_index":18418,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitor",{"_index":3040,"title":{},"body":{"classes/BoardComposite.html":{},"injectables/BoardDoCopyService.html":{},"classes/Card.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/DrawingElement.html":{},"classes/ExternalToolElement.html":{},"classes/FileElement.html":{},"classes/LinkElement.html":{},"classes/RichTextElement.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionItem.html":{}}}],["visitor.copy(params.original",{"_index":3588,"title":{},"body":{"injectables/BoardDoCopyService.html":{}}}],["visitor.ts",{"_index":3084,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:13",{"_index":3101,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:14",{"_index":3099,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:15",{"_index":3097,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:16",{"_index":3110,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:17",{"_index":3113,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:18",{"_index":3116,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:19",{"_index":3104,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:20",{"_index":3119,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:21",{"_index":3121,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:22",{"_index":3107,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{}}}],["visitor.ts:26",{"_index":3153,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:27",{"_index":3152,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:28",{"_index":3151,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:29",{"_index":3156,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:30",{"_index":3157,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:31",{"_index":3158,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:32",{"_index":3154,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:33",{"_index":3159,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:34",{"_index":3160,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.ts:35",{"_index":3155,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visitor.visitcard(this",{"_index":4316,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{}}}],["visitor.visitcardasync(this",{"_index":4317,"title":{},"body":{"classes/Card.html":{},"interfaces/CardProps.html":{}}}],["visitor.visitcolumn(this",{"_index":5380,"title":{},"body":{"classes/Column.html":{},"interfaces/ColumnProps.html":{}}}],["visitor.visitcolumnasync(this",{"_index":5381,"title":{},"body":{"classes/Column.html":{},"interfaces/ColumnProps.html":{}}}],["visitor.visitcolumnboard(this",{"_index":5396,"title":{},"body":{"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["visitor.visitcolumnboardasync(this",{"_index":5397,"title":{},"body":{"classes/ColumnBoard.html":{},"interfaces/ColumnBoardProps.html":{}}}],["visitor.visitdrawingelement(this",{"_index":9598,"title":{},"body":{"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{}}}],["visitor.visitdrawingelementasync(this",{"_index":9599,"title":{},"body":{"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{}}}],["visitor.visitexternaltoolelement(this",{"_index":10262,"title":{},"body":{"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{}}}],["visitor.visitexternaltoolelementasync(this",{"_index":10263,"title":{},"body":{"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{}}}],["visitor.visitfileelement(this",{"_index":11493,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["visitor.visitfileelementasync(this",{"_index":11494,"title":{},"body":{"classes/FileElement.html":{},"interfaces/FileElementProps.html":{}}}],["visitor.visitlinkelement(this",{"_index":15647,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["visitor.visitlinkelementasync(this",{"_index":15648,"title":{},"body":{"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{}}}],["visitor.visitrichtextelement(this",{"_index":18879,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["visitor.visitrichtextelementasync(this",{"_index":18880,"title":{},"body":{"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{}}}],["visitor.visitsubmissioncontainerelement(this",{"_index":20721,"title":{},"body":{"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{}}}],["visitor.visitsubmissioncontainerelementasync(this",{"_index":20722,"title":{},"body":{"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{}}}],["visitor.visitsubmissionitem(this",{"_index":20806,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["visitor.visitsubmissionitemasync(this",{"_index":20807,"title":{},"body":{"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{}}}],["visitrichtextelement",{"_index":3092,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitrichtextelement(richtextelement",{"_index":3114,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitrichtextelementasync",{"_index":3148,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitrichtextelementasync(original",{"_index":18420,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitrichtextelementasync(richtextelement",{"_index":3136,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitsubmissioncontainerelement",{"_index":3093,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitsubmissioncontainerelement(submissioncontainerelement",{"_index":3117,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitsubmissioncontainerelementasync",{"_index":3149,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitsubmissioncontainerelementasync(original",{"_index":18422,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitsubmissioncontainerelementasync(submissioncontainerelement",{"_index":3138,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitsubmissionitem",{"_index":3094,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitsubmissionitem(submissionitem",{"_index":3120,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/RecursiveSaveVisitor.html":{}}}],["visitsubmissionitemasync",{"_index":3150,"title":{},"body":{"interfaces/BoardCompositeVisitorAsync.html":{},"injectables/ContentElementUpdateVisitor.html":{},"classes/RecursiveCopyVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitsubmissionitemasync(original",{"_index":18424,"title":{},"body":{"classes/RecursiveCopyVisitor.html":{}}}],["visitsubmissionitemasync(submission",{"_index":6441,"title":{},"body":{"injectables/ContentElementUpdateVisitor.html":{},"injectables/RecursiveDeleteVisitor.html":{}}}],["visitsubmissionitemasync(submissionitem",{"_index":3139,"title":{},"body":{"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{}}}],["visual",{"_index":24619,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["vo",{"_index":13833,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["voicebridge",{"_index":2251,"title":{},"body":{"interfaces/BBBCreateResponse.html":{},"interfaces/BBBMeetingInfoResponse.html":{}}}],["voiceparticipantcount",{"_index":2315,"title":{},"body":{"interfaces/BBBMeetingInfoResponse.html":{}}}],["void",{"_index":569,"title":{},"body":{"classes/AccountFactory.html":{},"injectables/AccountRepo.html":{},"interfaces/AdminIdAndToken.html":{},"classes/ApiValidationErrorResponse.html":{},"injectables/AuthenticationService.html":{},"injectables/AuthorizationService.html":{},"injectables/BaseDORepo.html":{},"classes/BaseFactory.html":{},"injectables/BasicToolLaunchStrategy.html":{},"entities/Board.html":{},"classes/BoardComposite.html":{},"interfaces/BoardCompositeProps.html":{},"interfaces/BoardCompositeVisitor.html":{},"interfaces/BoardCompositeVisitorAsync.html":{},"classes/BoardDoAuthorizable.html":{},"classes/BoardDoBuilderImpl.html":{},"injectables/BoardManagementUc.html":{},"classes/Card.html":{},"interfaces/CardProps.html":{},"classes/Class.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"injectables/CollaborativeStorageAdapter.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"interfaces/ColumnBoardProps.html":{},"entities/ColumnBoardTarget.html":{},"interfaces/ColumnProps.html":{},"injectables/CommonToolValidationService.html":{},"injectables/ConsoleWriterService.html":{},"classes/ContextExternalToolFactory.html":{},"injectables/ContextExternalToolRepo.html":{},"classes/ContextExternalToolScope.html":{},"entities/Course.html":{},"injectables/CourseCopyUC.html":{},"classes/CourseFactory.html":{},"entities/CourseGroup.html":{},"classes/CourseGroupFactory.html":{},"interfaces/CourseGroupProperties.html":{},"interfaces/CourseProperties.html":{},"classes/CourseScope.html":{},"classes/CustomParameterFactory.html":{},"classes/DashboardEntity.html":{},"injectables/DashboardUc.html":{},"entities/DeletionRequestEntity.html":{},"interfaces/DeletionRequestEntityProps.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestScope.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"interfaces/DrawingElementProps.html":{},"injectables/ErrorLogger.html":{},"injectables/ExternalToolConfigurationService.html":{},"classes/ExternalToolElement.html":{},"interfaces/ExternalToolElementProps.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoService.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolScope.html":{},"injectables/ExternalToolValidationService.html":{},"injectables/ExternalToolVersionIncrementService.html":{},"classes/FileElement.html":{},"interfaces/FileElementProps.html":{},"entities/FileEntity.html":{},"interfaces/FileEntityProps.html":{},"entities/FileRecord.html":{},"classes/FileRecordFactory.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordScope.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"injectables/FilesStorageProducer.html":{},"classes/GlobalErrorFilter.html":{},"classes/GridElement.html":{},"classes/Group.html":{},"interfaces/GroupProps.html":{},"classes/H5PContentFactory.html":{},"controllers/H5PEditorController.html":{},"injectables/H5PLibraryManagementService.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraSsoService.html":{},"interfaces/IGridElement.html":{},"interfaces/ILegacyLogger.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserScope.html":{},"injectables/KeycloakAdministrationService.html":{},"classes/KeycloakConsole.html":{},"injectables/KeycloakIdentityManagementOauthService.html":{},"interfaces/Learnroom.html":{},"interfaces/LearnroomElement.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySchoolRepo.html":{},"injectables/LessonCopyUC.html":{},"classes/LessonFactory.html":{},"classes/LessonScope.html":{},"interfaces/LibrariesContentType.html":{},"classes/LinkElement.html":{},"interfaces/LinkElementProps.html":{},"injectables/Logger.html":{},"classes/LtiToolFactory.html":{},"injectables/LtiToolRepo.html":{},"classes/MaterialFactory.html":{},"classes/NewsScope.html":{},"injectables/OAuth2ToolLaunchStrategy.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"interfaces/ParentInfo.html":{},"injectables/PreviewGeneratorService.html":{},"injectables/PreviewProducer.html":{},"injectables/PreviewService.html":{},"classes/PrometheusMetricsConfig.html":{},"injectables/ProvisioningService.html":{},"classes/PseudonymScope.html":{},"injectables/RecursiveDeleteVisitor.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextElement.html":{},"interfaces/RichTextElementProps.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"classes/RocketChatUserFactory.html":{},"classes/RpcMessageProducer.html":{},"injectables/S3ClientAdapter.html":{},"injectables/SanisProvisioningStrategy.html":{},"classes/SchoolExternalToolFactory.html":{},"injectables/SchoolExternalToolRepo.html":{},"classes/SchoolExternalToolScope.html":{},"injectables/SchoolExternalToolValidationService.html":{},"injectables/SchoolMigrationService.html":{},"classes/Scope.html":{},"classes/ServerConsole.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"injectables/ShareTokenRepo.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/SubmissionContainerElement.html":{},"interfaces/SubmissionContainerElementProps.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"interfaces/SubmissionItemProps.html":{},"classes/SystemEntityFactory.html":{},"classes/SystemScope.html":{},"entities/Task.html":{},"injectables/TaskCopyUC.html":{},"classes/TaskFactory.html":{},"interfaces/TaskParent.html":{},"classes/TaskScope.html":{},"classes/TaskWithStatusVo.html":{},"classes/TeamFactory.html":{},"classes/TeamUserEntity.html":{},"classes/TeamUserFactory.html":{},"injectables/TemporaryFileStorage.html":{},"injectables/TldrawBoardRepo.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"injectables/UserLoginMigrationRepo.html":{},"injectables/UserLoginMigrationService.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"injectables/UserUc.html":{},"classes/UsersList.html":{},"injectables/VideoConferenceCreateUc.html":{},"injectables/VideoConferenceRepo.html":{},"classes/WsSharedDocDo.html":{},"injectables/XApiKeyStrategy.html":{},"license.html":{}}}],["volume",{"_index":24878,"title":{},"body":{"license.html":{}}}],["vorname",{"_index":19491,"title":{},"body":{"classes/SanisNameResponse.html":{}}}],["vs",{"_index":14308,"title":{},"body":{"interfaces/JwtConstants.html":{},"todo.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["vscode",{"_index":24590,"title":{"additional-documentation/nestjs-application/vscode.html":{}},"body":{"index.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/vscode.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["vscode/extensions.json",{"_index":25831,"title":{},"body":{"additional-documentation/nestjs-application/vscode.html":{}}}],["vscode/lauch",{"_index":25280,"title":{},"body":{"todo.html":{}}}],["vscode/launch.default.json",{"_index":25398,"title":{},"body":{"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/vscode.html":{}}}],["vscode/settings.default.json",{"_index":25829,"title":{},"body":{"additional-documentation/nestjs-application/vscode.html":{}}}],["w",{"_index":6526,"title":{},"body":{"classes/ContentMetadata.html":{},"classes/FileMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"classes/Path.html":{}}}],["wait",{"_index":1750,"title":{},"body":{"injectables/AuthenticationService.html":{}}}],["waiting",{"_index":24255,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["waive",{"_index":24837,"title":{},"body":{"license.html":{}}}],["waiver",{"_index":25194,"title":{},"body":{"license.html":{}}}],["want",{"_index":5093,"title":{},"body":{"injectables/CollaborativeStorageService.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"classes/LibraryName.html":{},"injectables/OauthProviderConsentFlowUc.html":{},"classes/Path.html":{},"modules/RabbitMQWrapperModule.html":{},"modules/RabbitMQWrapperTestModule.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/logging.html":{},"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["wantedlibraries",{"_index":13325,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["wantedlibraries.includes(librariestocheck[lastpositionlibrariestocheckarray].machinename",{"_index":13370,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["warn",{"_index":13639,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["warn(message",{"_index":13650,"title":{},"body":{"interfaces/ILegacyLogger.html":{},"injectables/LegacyLogger.html":{}}}],["warning",{"_index":15722,"title":{},"body":{"injectables/Logger.html":{}}}],["warning(loggable",{"_index":15731,"title":{},"body":{"injectables/Logger.html":{}}}],["warranties",{"_index":24765,"title":{},"body":{"license.html":{}}}],["warranty",{"_index":24764,"title":{},"body":{"license.html":{}}}],["watch",{"_index":25264,"title":{},"body":{"todo.html":{}}}],["way",{"_index":3924,"title":{},"body":{"injectables/BoardNodeRepo.html":{},"injectables/CourseCopyUC.html":{},"classes/FileMetadata.html":{},"entities/InstalledLibrary.html":{},"injectables/LdapStrategy.html":{},"classes/LibraryName.html":{},"classes/Path.html":{},"injectables/ShareTokenUC.html":{},"injectables/TaskCopyUC.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["ways",{"_index":24887,"title":{},"body":{"license.html":{}}}],["web",{"_index":5980,"title":{},"body":{"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebContentResource.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{}}}],["weblink",{"_index":6008,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["websocket",{"_index":22172,"title":{},"body":{"classes/TestConnection.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["websocket(`${wsurl",{"_index":22178,"title":{},"body":{"classes/TestConnection.html":{}}}],["websocket(`${wsurl}/${docname",{"_index":22177,"title":{},"body":{"classes/TestConnection.html":{}}}],["websocketgateway",{"_index":22404,"title":{},"body":{"classes/TldrawWs.html":{}}}],["websocketgateway(socket_port",{"_index":22407,"title":{},"body":{"classes/TldrawWs.html":{}}}],["websocketserver",{"_index":22398,"title":{},"body":{"classes/TldrawWs.html":{}}}],["weights",{"_index":5322,"title":{},"body":{"interfaces/CollectionFilePath.html":{}}}],["weird",{"_index":7850,"title":{},"body":{"entities/CourseNews.html":{},"entities/News.html":{},"interfaces/NewsProperties.html":{},"entities/SchoolNews.html":{},"entities/TaskBoardElement.html":{},"entities/TeamNews.html":{}}}],["welcome",{"_index":2166,"title":{},"body":{"classes/BBBCreateConfig.html":{},"classes/BBBCreateConfigBuilder.html":{}}}],["well",{"_index":24750,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["wellknownurl",{"_index":14693,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{}}}],["wenn",{"_index":24292,"title":{},"body":{"modules/VideoConferenceModule.html":{}}}],["went",{"_index":13687,"title":{},"body":{"classes/IdTokenCreationLoggableException.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["werden",{"_index":5503,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["wether",{"_index":26095,"title":{},"body":{"additional-documentation/nestjs-application/code-style.html":{}}}],["whatever",{"_index":20163,"title":{},"body":{"classes/ServerConsole.html":{},"license.html":{}}}],["whereas",{"_index":25494,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["wherelastloginsystemchangeisbetween",{"_index":23286,"title":{},"body":{"injectables/UserDORepo.html":{},"classes/UserScope.html":{}}}],["wherelastloginsystemchangeisbetween(startdate",{"_index":23881,"title":{},"body":{"classes/UserScope.html":{}}}],["wherelastloginsystemchangesmallerthan",{"_index":23876,"title":{},"body":{"classes/UserScope.html":{}}}],["wherelastloginsystemchangesmallerthan(date",{"_index":23883,"title":{},"body":{"classes/UserScope.html":{}}}],["wherelastloginsystemchangesmallerthan(query.lastloginsystemchangesmallerthan",{"_index":23285,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["wherever",{"_index":15163,"title":{},"body":{"injectables/LegacyLogger.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["whether",{"_index":8042,"title":{},"body":{"classes/CreateSubmissionItemBodyParams.html":{},"injectables/TldrawWsService.html":{},"classes/ToolLaunchRequestResponse.html":{},"classes/ToolReferenceResponse.html":{},"classes/UpdateSubmissionItemBodyParams.html":{},"license.html":{}}}],["whitelist",{"_index":12634,"title":{},"body":{"classes/GlobalValidationPipe.html":{},"injectables/JwtStrategy.html":{},"injectables/JwtValidationAdapter.html":{}}}],["whitelisted",{"_index":14343,"title":{},"body":{"injectables/JwtStrategy.html":{}}}],["whitespace",{"_index":16405,"title":{},"body":{"classes/MongoPatterns.html":{}}}],["whole",{"_index":16734,"title":{},"body":{"injectables/NextcloudStrategy.html":{},"classes/ReferencesService.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["whos",{"_index":20817,"title":{},"body":{"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{}}}],["whose",{"_index":24927,"title":{},"body":{"license.html":{}}}],["wichtige",{"_index":5495,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["widely",{"_index":24777,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["widespread",{"_index":24698,"title":{},"body":{"license.html":{}}}],["width",{"_index":7226,"title":{},"body":{"classes/CopyFileParams.html":{},"classes/CopyFilesOfParentParams.html":{},"classes/CopyFilesOfParentPayload.html":{},"classes/DownloadFileParams.html":{},"classes/FileParams.html":{},"classes/FileRecordParams.html":{},"classes/FileUrlParams.html":{},"classes/PreviewActionsLoggable.html":{},"classes/PreviewBuilder.html":{},"interfaces/PreviewFileOptions.html":{},"injectables/PreviewGeneratorService.html":{},"interfaces/PreviewOptions.html":{},"classes/PreviewParams.html":{},"interfaces/PreviewResponseMessage.html":{},"classes/RenameFileParams.html":{},"classes/ScanResultParams.html":{},"classes/SingleFileParams.html":{}}}],["width=100",{"_index":6006,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["wildfly",{"_index":25915,"title":{},"body":{"additional-documentation/nestjs-application/keycloak.html":{}}}],["willkommen",{"_index":5482,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["window",{"_index":24784,"title":{},"body":{"license.html":{},"todo.html":{}}}],["windowfeatures",{"_index":6005,"title":{},"body":{"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["windows",{"_index":25241,"title":{},"body":{"todo.html":{},"additional-documentation/nestjs-application/git.html":{}}}],["winston",{"_index":9926,"title":{},"body":{"injectables/ErrorLogger.html":{},"injectables/LegacyLogger.html":{},"injectables/Logger.html":{},"modules/LoggerModule.html":{},"dependencies.html":{},"additional-documentation/nestjs-application/logging.html":{}}}],["winston.config.syslog.levels",{"_index":15747,"title":{},"body":{"modules/LoggerModule.html":{}}}],["winston.format.combine",{"_index":15754,"title":{},"body":{"modules/LoggerModule.html":{}}}],["winston.format.ms",{"_index":15760,"title":{},"body":{"modules/LoggerModule.html":{}}}],["winston.format.timestamp",{"_index":15755,"title":{},"body":{"modules/LoggerModule.html":{}}}],["winston.transports.console",{"_index":15751,"title":{},"body":{"modules/LoggerModule.html":{}}}],["winston_module_provider",{"_index":9925,"title":{},"body":{"injectables/ErrorLogger.html":{},"injectables/LegacyLogger.html":{},"injectables/Logger.html":{}}}],["winstonlogger",{"_index":9915,"title":{},"body":{"injectables/ErrorLogger.html":{},"injectables/LegacyLogger.html":{},"injectables/Logger.html":{}}}],["winstonmodule",{"_index":15743,"title":{},"body":{"modules/LoggerModule.html":{}}}],["winstonmodule.forrootasync",{"_index":15745,"title":{},"body":{"modules/LoggerModule.html":{}}}],["wip",{"_index":24630,"title":{},"body":{"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["wipo",{"_index":24829,"title":{},"body":{"license.html":{}}}],["wir",{"_index":5490,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["wired",{"_index":25819,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["wish",{"_index":24679,"title":{},"body":{"license.html":{}}}],["withbase64logo",{"_index":8296,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["withbasicconfig",{"_index":10307,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["withcredentials",{"_index":13462,"title":{},"body":{"injectables/HydraOauthUc.html":{}}}],["withcustomparameters",{"_index":10326,"title":{},"body":{"classes/ExternalToolFactory.html":{}}}],["withcustomparameters(number",{"_index":8293,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["witherror",{"_index":2076,"title":{},"body":{"classes/AxiosErrorFactory.html":{}}}],["witherror(error",{"_index":2077,"title":{},"body":{"classes/AxiosErrorFactory.html":{}}}],["withexternaldata",{"_index":16958,"title":{},"body":{"classes/Oauth2ToolConfigFactory.html":{}}}],["withexternaldata(oauth2params",{"_index":8259,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["withguestpolicy",{"_index":2204,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["withguestpolicy(guestpolicy",{"_index":2210,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["withid",{"_index":20360,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["withid(id",{"_index":20361,"title":{},"body":{"classes/ShareTokenFactory.html":{}}}],["within",{"_index":4188,"title":{},"body":{"classes/BusinessError.html":{},"injectables/CommonCartridgeExportService.html":{},"injectables/ContextExternalToolValidationService.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/PatchOrderParams.html":{},"classes/RoomElementUrlParams.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["withindexes",{"_index":8812,"title":{},"body":{"controllers/DatabaseManagementController.html":{}}}],["withldapconfig",{"_index":21123,"title":{},"body":{"classes/SystemEntityFactory.html":{},"classes/SystemScope.html":{}}}],["withldapconfig(otherparams",{"_index":21126,"title":{},"body":{"classes/SystemEntityFactory.html":{}}}],["withlogouturl",{"_index":2205,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["withlogouturl(logouturl",{"_index":2212,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["withlogouturl(options.logouturl",{"_index":24139,"title":{},"body":{"injectables/VideoConferenceCreateUc.html":{}}}],["withlti11config",{"_index":10308,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{}}}],["withlti11config(customparam",{"_index":8291,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["withmuteonstart",{"_index":2206,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["withmuteonstart(value",{"_index":2214,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["withname",{"_index":10309,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{},"classes/LtiToolFactory.html":{}}}],["withname(name",{"_index":10314,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{},"classes/LtiToolFactory.html":{}}}],["withoauth2config",{"_index":10310,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{}}}],["withoauth2config(clientid",{"_index":10316,"title":{},"body":{"classes/ExternalToolEntityFactory.html":{}}}],["withoauth2config(customparam",{"_index":8289,"title":{},"body":{"classes/CustomParameterFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/Oauth2ToolConfigFactory.html":{}}}],["withoauthclientid",{"_index":15983,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["withoauthclientid(oauthclientid",{"_index":15985,"title":{},"body":{"classes/LtiToolFactory.html":{}}}],["withoauthconfig",{"_index":21124,"title":{},"body":{"classes/SystemEntityFactory.html":{},"classes/SystemScope.html":{}}}],["withoidcconfig",{"_index":21125,"title":{},"body":{"classes/SystemEntityFactory.html":{},"classes/SystemScope.html":{}}}],["without",{"_index":812,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/BBBCreateConfigBuilder.html":{},"injectables/BBBService.html":{},"injectables/BaseDORepo.html":{},"interfaces/CreateJwtPayload.html":{},"interfaces/JwtPayload.html":{},"injectables/NextcloudStrategy.html":{},"injectables/OidcProvisioningService.html":{},"injectables/TaskRepo.html":{},"injectables/TemporaryFileStorage.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/file-structure.html":{},"additional-documentation/nestjs-application/configuration.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["without/succeeds",{"_index":25237,"title":{},"body":{"todo.html":{}}}],["withoutcontext",{"_index":5430,"title":{},"body":{"classes/ColumnBoardFactory.html":{}}}],["withoutdatedsince",{"_index":23877,"title":{},"body":{"classes/UserScope.html":{}}}],["withoutdatedsince(date",{"_index":23885,"title":{},"body":{"classes/UserScope.html":{}}}],["withoutdatedsince(query.outdatedsince",{"_index":23289,"title":{},"body":{"injectables/UserDORepo.html":{}}}],["withrole",{"_index":2278,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{},"classes/UserFactory.html":{}}}],["withrole(role",{"_index":23378,"title":{},"body":{"classes/UserFactory.html":{}}}],["withrole(value",{"_index":2282,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["withroleanduserid",{"_index":21899,"title":{},"body":{"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{}}}],["withroleanduserid(role",{"_index":21901,"title":{},"body":{"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{}}}],["withrolebyname",{"_index":23374,"title":{},"body":{"classes/UserFactory.html":{}}}],["withrolebyname(name",{"_index":23380,"title":{},"body":{"classes/UserFactory.html":{}}}],["withroles",{"_index":23341,"title":{},"body":{"classes/UserDoFactory.html":{}}}],["withroles(roles",{"_index":23342,"title":{},"body":{"classes/UserDoFactory.html":{}}}],["withschoolexternaltoolref",{"_index":6745,"title":{},"body":{"classes/ContextExternalToolFactory.html":{}}}],["withschoolexternaltoolref(schooltoolid",{"_index":6746,"title":{},"body":{"classes/ContextExternalToolFactory.html":{}}}],["withschoolid",{"_index":19719,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["withschoolid(schoolid",{"_index":19720,"title":{},"body":{"classes/SchoolExternalToolFactory.html":{}}}],["withsystemid",{"_index":503,"title":{},"body":{"classes/AccountFactory.html":{}}}],["withsystemid(id",{"_index":518,"title":{},"body":{"classes/AccountFactory.html":{}}}],["withteamuser",{"_index":21900,"title":{},"body":{"classes/TeamFactory.html":{}}}],["withteamuser(teamuser",{"_index":21903,"title":{},"body":{"classes/TeamFactory.html":{}}}],["withuser",{"_index":504,"title":{},"body":{"classes/AccountFactory.html":{}}}],["withuser(user",{"_index":520,"title":{},"body":{"classes/AccountFactory.html":{}}}],["withuserid",{"_index":2279,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{},"classes/TeamUserFactory.html":{}}}],["withuserid(currentuserid",{"_index":24247,"title":{},"body":{"injectables/VideoConferenceJoinUc.html":{}}}],["withuserid(userid",{"_index":22009,"title":{},"body":{"classes/TeamUserFactory.html":{}}}],["withuserid(value",{"_index":2284,"title":{},"body":{"classes/BBBJoinConfigBuilder.html":{}}}],["withuserids",{"_index":4639,"title":{},"body":{"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/DeletionRequestFactory.html":{}}}],["withuserids(id",{"_index":9359,"title":{},"body":{"classes/DeletionRequestFactory.html":{}}}],["withuserids(userids",{"_index":4640,"title":{},"body":{"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{}}}],["withwelcome",{"_index":2207,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["withwelcome(welcome",{"_index":2216,"title":{},"body":{"classes/BBBCreateConfigBuilder.html":{}}}],["wont_check",{"_index":7148,"title":{},"body":{"interfaces/CopyFileDO.html":{},"interfaces/FileDO.html":{},"entities/FileRecord.html":{},"interfaces/FileRecordProperties.html":{},"classes/FileRecordSecurityCheck.html":{},"interfaces/FileRecordSecurityCheckProperties.html":{},"interfaces/ParentInfo.html":{}}}],["word",{"_index":25633,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{}}}],["words",{"_index":5326,"title":{},"body":{"interfaces/CollectionFilePath.html":{},"index.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["work",{"_index":816,"title":{},"body":{"injectables/AccountRepo.html":{},"classes/BaseEntity.html":{},"classes/BaseEntityWithTimestamps.html":{},"interfaces/FeathersService.html":{},"injectables/FeathersServiceProvider.html":{},"entities/SubmissionItemNode.html":{},"interfaces/SubmissionItemNodeProps.html":{},"injectables/SymetricKeyEncryptionService.html":{},"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{},"additional-documentation/nestjs-application/keycloak.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["work's",{"_index":24788,"title":{},"body":{"license.html":{}}}],["worker",{"_index":9739,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["worker.manufacture",{"_index":9740,"title":{},"body":{"classes/DtoCreator.html":{},"injectables/RoomBoardDTOFactory.html":{}}}],["working",{"_index":4875,"title":{},"body":{"interfaces/CleanOptions.html":{},"classes/KeycloakConsole.html":{},"interfaces/MigrationOptions.html":{},"interfaces/RetryOptions.html":{},"license.html":{},"todo.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["workings",{"_index":25659,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["works",{"_index":12395,"title":{},"body":{"classes/FilterNewsParams.html":{},"classes/H5PContentFactory.html":{},"injectables/NewsRepo.html":{},"index.html":{},"license.html":{},"additional-documentation/nestjs-application/configuration.html":{}}}],["worldwide",{"_index":25082,"title":{},"body":{"license.html":{}}}],["wouldn't",{"_index":1830,"title":{},"body":{"injectables/AuthorizationHelper.html":{}}}],["wrap",{"_index":2921,"title":{},"body":{"entities/Board.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["wrap(dashboard).toreference",{"_index":8547,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{}}}],["wrap(modelentity).init",{"_index":8656,"title":{},"body":{"injectables/DashboardModelMapper.html":{}}}],["wrap(props.course).toreference",{"_index":2942,"title":{},"body":{"entities/Board.html":{}}}],["wrap(props.school).toreference",{"_index":13835,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["wrap(props.system).toreference",{"_index":13836,"title":{},"body":{"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["wrap(props.user).toreference",{"_index":8554,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{}}}],["wrapped",{"_index":25668,"title":{},"body":{"additional-documentation/nestjs-application/testing.html":{}}}],["wrappedreference",{"_index":2912,"title":{},"body":{"entities/Board.html":{},"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"interfaces/DashboardModelProperties.html":{},"entities/ImportUser.html":{},"interfaces/ImportUserProperties.html":{}}}],["wrapper",{"_index":5915,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeOrganizationWrapperElement.html":{},"classes/CommonCartridgeResourceWrapperElement.html":{}}}],["writable",{"_index":9553,"title":{},"body":{"classes/DoBaseFactory.html":{}}}],["write",{"_index":1784,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{},"classes/FilePermissionEntity.html":{},"interfaces/FilePermissionEntityProps.html":{},"injectables/FileSystemAdapter.html":{},"injectables/LessonRule.html":{},"injectables/RoomsAuthorisationService.html":{},"injectables/TaskUC.html":{},"classes/TeamPermissionsBody.html":{},"classes/TeamPermissionsDto.html":{},"injectables/TeamPermissionsMapper.html":{},"additional-documentation/nestjs-application/domain-object-validation.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/git.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["write(requiredpermissions",{"_index":1789,"title":{},"body":{"classes/AuthorizationContextBuilder.html":{}}}],["write/read",{"_index":25995,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["writecourseids",{"_index":21847,"title":{},"body":{"injectables/TaskUC.html":{}}}],["writecourses",{"_index":21844,"title":{},"body":{"injectables/TaskUC.html":{}}}],["writecourses.includes(c",{"_index":21846,"title":{},"body":{"injectables/TaskUC.html":{}}}],["writecourses.map((c",{"_index":21848,"title":{},"body":{"injectables/TaskUC.html":{}}}],["writefile",{"_index":12038,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["writefile(filepath",{"_index":12066,"title":{},"body":{"injectables/FileSystemAdapter.html":{}}}],["writelessons",{"_index":21853,"title":{},"body":{"injectables/TaskUC.html":{}}}],["writen",{"_index":26075,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["writer.module",{"_index":20170,"title":{},"body":{"modules/ServerConsoleModule.html":{}}}],["writer.module.ts",{"_index":6322,"title":{},"body":{"modules/ConsoleWriterModule.html":{}}}],["writer.service",{"_index":6323,"title":{},"body":{"modules/ConsoleWriterModule.html":{},"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{}}}],["writer.service.ts",{"_index":6324,"title":{},"body":{"injectables/ConsoleWriterService.html":{}}}],["writer.service.ts:5",{"_index":6326,"title":{},"body":{"injectables/ConsoleWriterService.html":{}}}],["writer/console",{"_index":6321,"title":{},"body":{"modules/ConsoleWriterModule.html":{},"injectables/ConsoleWriterService.html":{},"classes/DatabaseManagementConsole.html":{},"interfaces/Options.html":{},"modules/ServerConsoleModule.html":{}}}],["writestate",{"_index":22418,"title":{},"body":{"classes/TldrawWs.html":{}}}],["writestate(doc.name",{"_index":22496,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["writesyncstep1",{"_index":22480,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["writesyncstep1(encoder",{"_index":22548,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["writeupdate",{"_index":22481,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["writeupdate(encoder",{"_index":22510,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["writing",{"_index":25159,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/testing.html":{}}}],["written",{"_index":24894,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["wrong",{"_index":8752,"title":{},"body":{"injectables/DashboardUc.html":{},"classes/ErrorLoggable.html":{},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/InvalidOriginForLogoutUrlLoggableException.html":{},"additional-documentation/nestjs-application/testing.html":{},"additional-documentation/nestjs-application/authorisation.html":{}}}],["wrongly",{"_index":26062,"title":{},"body":{"additional-documentation/nestjs-application/authorisation.html":{}}}],["ws",{"_index":22173,"title":{},"body":{"classes/TestConnection.html":{},"classes/TldrawWs.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"modules/TldrawWsTestModule.html":{},"classes/WsSharedDocDo.html":{},"dependencies.html":{}}}],["ws.binarytype",{"_index":22530,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["ws.close",{"_index":22499,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["ws.module",{"_index":22389,"title":{},"body":{"modules/TldrawTestModule.html":{}}}],["ws.module.ts",{"_index":22437,"title":{},"body":{"modules/TldrawWsModule.html":{}}}],["ws.on('close",{"_index":22546,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["ws.on('message",{"_index":22535,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["ws.on('open",{"_index":22179,"title":{},"body":{"classes/TestConnection.html":{}}}],["ws.on('pong",{"_index":22547,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["ws.ping",{"_index":22544,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["ws://localhost:${gatewayport",{"_index":22176,"title":{},"body":{"classes/TestConnection.html":{}}}],["wsclosecodeenum",{"_index":22406,"title":{},"body":{"classes/TldrawWs.html":{}}}],["wsclosecodeenum.ws_client_bad_request_code",{"_index":22413,"title":{},"body":{"classes/TldrawWs.html":{}}}],["wsconnection",{"_index":24374,"title":{},"body":{"classes/WsSharedDocDo.html":{}}}],["wsconnectionstate",{"_index":22483,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["wsconnectionstate.connecting",{"_index":22502,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["wsconnectionstate.open",{"_index":22503,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["wsmessagetype",{"_index":22484,"title":{},"body":{"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["wsmessagetype.awareness",{"_index":22526,"title":{},"body":{"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["wsmessagetype.sync",{"_index":22509,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["wsshareddocdo",{"_index":22244,"title":{"classes/WsSharedDocDo.html":{}},"body":{"injectables/TldrawBoardRepo.html":{},"classes/TldrawWsFactory.html":{},"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{}}}],["wsshareddocdo(docname",{"_index":22515,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["wsurl",{"_index":22175,"title":{},"body":{"classes/TestConnection.html":{}}}],["www",{"_index":14712,"title":{},"body":{"injectables/KeycloakIdentityManagementOauthService.html":{},"injectables/OauthAdapterService.html":{}}}],["wünsche",{"_index":5537,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["x",{"_index":1170,"title":{},"body":{"interfaces/AdminIdAndToken.html":{},"interfaces/CalendarEvent.html":{},"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"injectables/DashboardModelMapper.html":{},"classes/DashboardResponse.html":{},"injectables/DeletionClient.html":{},"classes/DomainObjectFactory.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"classes/RocketChatError.html":{},"interfaces/RocketChatGroupModel.html":{},"interfaces/RocketChatOptions.html":{},"injectables/XApiKeyStrategy.html":{},"additional-documentation/nestjs-application/keycloak.html":{}}}],["xapikey",{"_index":22194,"title":{},"body":{"classes/TestXApiKeyClient.html":{}}}],["xapikeyconfig",{"_index":9282,"title":{"interfaces/XApiKeyConfig.html":{}},"body":{"modules/DeletionModule.html":{},"interfaces/ServerConfig.html":{},"interfaces/XApiKeyConfig.html":{},"injectables/XApiKeyStrategy.html":{}}}],["xapikeystrategy",{"_index":1534,"title":{"injectables/XApiKeyStrategy.html":{}},"body":{"modules/AuthenticationModule.html":{},"injectables/XApiKeyStrategy.html":{}}}],["xml",{"_index":7102,"title":{},"body":{"injectables/ConverterUtil.html":{}}}],["xml2js",{"_index":5811,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["xml2json",{"_index":7103,"title":{},"body":{"injectables/ConverterUtil.html":{}}}],["xml2json(xml",{"_index":7105,"title":{},"body":{"injectables/ConverterUtil.html":{}}}],["xml2object",{"_index":7099,"title":{},"body":{"injectables/ConverterUtil.html":{}}}],["xml2object(xml",{"_index":7100,"title":{},"body":{"injectables/ConverterUtil.html":{}}}],["xmlbuilder",{"_index":5791,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"classes/CommonCartridgeResourceItemElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["xmlns",{"_index":5862,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["xmlns:blti",{"_index":5863,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xmlns:ext",{"_index":5924,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["xmlns:lticm",{"_index":5864,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xmlns:lticp",{"_index":5865,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xmlns:mnf",{"_index":5920,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["xmlns:res",{"_index":5922,"title":{},"body":{"classes/CommonCartridgeManifestElement.html":{}}}],["xmlns:xsi",{"_index":5866,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["xpos",{"_index":8529,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{}}}],["xposition",{"_index":8562,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{}}}],["xsd/imsbasiclti_v1p0",{"_index":5896,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsd/imslticc_v1p0",{"_index":5895,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsd/imslticm_v1p0",{"_index":5897,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsd/imslticp_v1p0",{"_index":5898,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsd/lti/ltiv1p0/imsbasiclti_v1p0.xsd",{"_index":5900,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsd/lti/ltiv1p0/imslticc_v1p0.xsd",{"_index":5899,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsd/lti/ltiv1p0/imslticm_v1p0.xsd",{"_index":5901,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsd/lti/ltiv1p0/imslticp_v1p0.xsd",{"_index":5902,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{}}}],["xsi:schemalocation",{"_index":5869,"title":{},"body":{"classes/CommonCartridgeLtiResource.html":{},"classes/CommonCartridgeManifestElement.html":{},"classes/CommonCartridgeWebLinkResourceElement.html":{}}}],["xxxx",{"_index":25845,"title":{},"body":{"additional-documentation/nestjs-application/git.html":{}}}],["y",{"_index":8352,"title":{},"body":{"controllers/DashboardController.html":{},"classes/DashboardEntity.html":{},"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"injectables/DashboardModelMapper.html":{},"classes/DashboardResponse.html":{},"classes/GridElement.html":{},"interfaces/IGridElement.html":{},"classes/MoveElementParams.html":{},"classes/MoveElementPositionParams.html":{},"injectables/TldrawBoardRepo.html":{},"injectables/TldrawWsService.html":{},"classes/WsSharedDocDo.html":{},"dependencies.html":{}}}],["y.doc",{"_index":22455,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["yagni",{"_index":25447,"title":{},"body":{"additional-documentation/nestjs-application/software-architecture.html":{}}}],["yagni.more",{"_index":25649,"title":{},"body":{"additional-documentation/nestjs-application/domain-object-validation.html":{}}}],["yaml",{"_index":13336,"title":{},"body":{"injectables/H5PLibraryManagementService.html":{},"interfaces/LibrariesContentType.html":{}}}],["ydoc",{"_index":22243,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"classes/TldrawWs.html":{},"injectables/TldrawWsService.html":{}}}],["ydoc.on('update",{"_index":22291,"title":{},"body":{"injectables/TldrawBoardRepo.html":{}}}],["ydocument",{"_index":22495,"title":{},"body":{"injectables/TldrawWsService.html":{}}}],["year",{"_index":4544,"title":{},"body":{"classes/Class.html":{},"entities/ClassEntity.html":{},"classes/ClassEntityFactory.html":{},"interfaces/ClassEntityProps.html":{},"classes/ClassFactory.html":{},"classes/ClassMapper.html":{},"interfaces/ClassProps.html":{},"injectables/SchoolYearRepo.html":{},"injectables/SchoolYearService.html":{}}}],["year.service.ts",{"_index":20097,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["year.service.ts:11",{"_index":20102,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["year.service.ts:17",{"_index":20101,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["year.service.ts:7",{"_index":20100,"title":{},"body":{"injectables/SchoolYearService.html":{}}}],["yearfrom",{"_index":6527,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["years",{"_index":20088,"title":{},"body":{"entities/SchoolYearEntity.html":{},"interfaces/SchoolYearProperties.html":{},"classes/UnknownQueryTypeLoggableException.html":{},"license.html":{}}}],["yearto",{"_index":6528,"title":{},"body":{"classes/ContentMetadata.html":{},"entities/H5PContent.html":{},"interfaces/H5PContentProperties.html":{}}}],["yes",{"_index":59,"title":{},"body":{"classes/AbstractAccountService.html":{},"classes/AccountFactory.html":{},"classes/AccountSearchListResponse.html":{},"injectables/AccountValidationService.html":{},"modules/AdminApiServerTestModule.html":{},"classes/AuthCodeFailureLoggableException.html":{},"injectables/AuthenticationService.html":{},"classes/AuthorizationError.html":{},"classes/BaseDO.html":{},"classes/BaseFactory.html":{},"classes/BaseUc.html":{},"injectables/BatchDeletionService.html":{},"injectables/BatchDeletionUc.html":{},"classes/BoardComposite.html":{},"injectables/BoardDoRepo.html":{},"injectables/BoardDoService.html":{},"injectables/BoardNodeRepo.html":{},"injectables/BoardUc.html":{},"classes/BusinessError.html":{},"classes/Card.html":{},"injectables/CardService.html":{},"injectables/CardUc.html":{},"classes/ClassEntityFactory.html":{},"classes/ClassFactory.html":{},"classes/ClassInfoSearchListResponse.html":{},"classes/Column.html":{},"classes/ColumnBoard.html":{},"classes/ColumnBoardFactory.html":{},"controllers/ColumnController.html":{},"injectables/ColumnService.html":{},"injectables/ColumnUc.html":{},"classes/CommonCartridgeMetadataElement.html":{},"classes/ContextExternalToolFactory.html":{},"classes/CopyFileListResponse.html":{},"classes/CourseFactory.html":{},"classes/CourseGroupFactory.html":{},"classes/CourseMetadataListResponse.html":{},"classes/CourseMetadataResponse.html":{},"injectables/CourseRepo.html":{},"injectables/CourseUc.html":{},"classes/CurrentUserMapper.html":{},"classes/CustomParameterFactory.html":{},"injectables/DeletionClient.html":{},"classes/DeletionExecutionTriggerResultBuilder.html":{},"injectables/DeletionExecutionUc.html":{},"classes/DeletionLogStatisticBuilder.html":{},"classes/DeletionRequestBodyPropsBuilder.html":{},"classes/DeletionRequestFactory.html":{},"classes/DeletionRequestInputBuilder.html":{},"classes/DeletionRequestLogResponseBuilder.html":{},"injectables/DeletionRequestRepo.html":{},"injectables/DeletionRequestService.html":{},"classes/DoBaseFactory.html":{},"classes/DomainObjectFactory.html":{},"classes/DrawingElement.html":{},"injectables/ElementUc.html":{},"classes/EntityNotFoundError.html":{},"classes/ErrorResponse.html":{},"classes/ErrorUtils.html":{},"classes/ExternalToolElement.html":{},"classes/ExternalToolEntityFactory.html":{},"classes/ExternalToolFactory.html":{},"classes/ExternalToolLogoFetchFailedLoggableException.html":{},"injectables/ExternalToolPseudonymRepo.html":{},"injectables/ExternalToolRepo.html":{},"classes/ExternalToolSearchListResponse.html":{},"injectables/ExternalToolService.html":{},"interfaces/FeathersService.html":{},"classes/FileElement.html":{},"classes/FileRecordFactory.html":{},"classes/FileRecordListResponse.html":{},"classes/FileRecordMapper.html":{},"injectables/FileRecordRepo.html":{},"classes/FilesStorageMapper.html":{},"modules/FilesStorageTestModule.html":{},"classes/ForbiddenOperationError.html":{},"modules/FwuLearningContentsTestModule.html":{},"injectables/FwuLearningContentsUc.html":{},"classes/GroupResponseMapper.html":{},"classes/GroupUcMapper.html":{},"classes/H5PContentFactory.html":{},"controllers/H5PEditorController.html":{},"modules/H5PEditorTestModule.html":{},"classes/H5PTemporaryFileFactory.html":{},"injectables/HydraOauthUc.html":{},"interfaces/ILegacyLogger.html":{},"classes/IdTokenCreationLoggableException.html":{},"classes/IdTokenUserNotFoundLoggableException.html":{},"classes/IdentityManagementService.html":{},"controllers/ImportUserController.html":{},"classes/ImportUserFactory.html":{},"classes/ImportUserListResponse.html":{},"injectables/ImportUserRepo.html":{},"classes/JwtTestFactory.html":{},"injectables/KeycloakConfigurationService.html":{},"injectables/KeycloakConfigurationUc.html":{},"injectables/KeycloakIdentityManagementService.html":{},"classes/LdapAlreadyPersistedException.html":{},"classes/LdapConnectionError.html":{},"injectables/LegacyLogger.html":{},"classes/LegacySchoolFactory.html":{},"injectables/LegacySystemService.html":{},"classes/LessonFactory.html":{},"injectables/LessonRepo.html":{},"injectables/LessonService.html":{},"classes/LinkElement.html":{},"injectables/LocalStrategy.html":{},"classes/LoggingUtils.html":{},"classes/LoginResponseMapper.html":{},"classes/LtiToolFactory.html":{},"modules/ManagementServerTestModule.html":{},"classes/MaterialFactory.html":{},"classes/MigrationAlreadyActivatedException.html":{},"classes/MigrationMayBeCompleted.html":{},"classes/MigrationMayNotBeCompleted.html":{},"classes/MissingSchoolNumberException.html":{},"modules/MongoMemoryDatabaseModule.html":{},"classes/NewsListResponse.html":{},"injectables/NewsRepo.html":{},"injectables/NewsUc.html":{},"injectables/OAuthService.html":{},"classes/Oauth2ToolConfigFactory.html":{},"injectables/OauthProviderClientCrudUc.html":{},"classes/OauthProviderRequestMapper.html":{},"classes/OauthProviderService.html":{},"injectables/OidcProvisioningService.html":{},"classes/PaginationResponse.html":{},"injectables/PreviewService.html":{},"classes/QueueDeletionRequestOutputBuilder.html":{},"classes/RecursiveSaveVisitor.html":{},"classes/RichTextElement.html":{},"classes/RocketChatUserFactory.html":{},"interfaces/Rule.html":{},"injectables/S3ClientAdapter.html":{},"classes/SchoolExternalToolFactory.html":{},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{},"modules/ServerTestModule.html":{},"classes/ShareTokenFactory.html":{},"injectables/ShareTokenService.html":{},"injectables/ShareTokenUC.html":{},"classes/StorageProviderEncryptedStringType.html":{},"classes/StringValidator.html":{},"classes/SubmissionContainerElement.html":{},"classes/SubmissionFactory.html":{},"classes/SubmissionItem.html":{},"injectables/SubmissionItemUc.html":{},"injectables/SymetricKeyEncryptionService.html":{},"classes/SystemEntityFactory.html":{},"injectables/SystemUc.html":{},"classes/TaskFactory.html":{},"classes/TaskListResponse.html":{},"injectables/TaskRepo.html":{},"injectables/TaskService.html":{},"injectables/TaskUC.html":{},"classes/TeamFactory.html":{},"classes/TeamUserFactory.html":{},"injectables/TemporaryFileStorage.html":{},"classes/TestApiClient.html":{},"classes/TestXApiKeyClient.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsTestModule.html":{},"classes/UnauthorizedLoggableException.html":{},"injectables/UserDORepo.html":{},"classes/UserDoFactory.html":{},"classes/UserFactory.html":{},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{},"classes/UserLoginMigrationNotFoundLoggableException.html":{},"classes/UserLoginMigrationSearchListResponse.html":{},"classes/UserMatchListResponse.html":{},"classes/UserMatchMapper.html":{},"classes/UserNotFoundAfterProvisioningLoggableException.html":{},"injectables/UserRepo.html":{},"classes/UserScope.html":{},"injectables/UserService.html":{},"classes/ValidationError.html":{}}}],["yesterday",{"_index":11852,"title":{},"body":{"classes/FileRecordFactory.html":{},"classes/H5PTemporaryFileFactory.html":{},"classes/TaskFactory.html":{}}}],["yet.'})@apiresponse({status",{"_index":24164,"title":{},"body":{"controllers/VideoConferenceDeprecatedController.html":{}}}],["yjs",{"_index":22260,"title":{},"body":{"injectables/TldrawBoardRepo.html":{},"classes/WsSharedDocDo.html":{},"dependencies.html":{}}}],["your.config.ts",{"_index":26105,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["your.module.ts",{"_index":26109,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["your.service.ts",{"_index":26107,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["your_s3_uniq_connection_token",{"_index":26106,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["yourloggable",{"_index":25602,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["yourloggable(userid",{"_index":25607,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["yourmodule",{"_index":26110,"title":{},"body":{"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["yourself",{"_index":25096,"title":{},"body":{"license.html":{},"additional-documentation/nestjs-application/software-architecture.html":{}}}],["yourservice",{"_index":25637,"title":{},"body":{"additional-documentation/nestjs-application/exception-handling.html":{},"additional-documentation/nestjs-application/s3clientmodule.html":{}}}],["youruc",{"_index":25603,"title":{},"body":{"additional-documentation/nestjs-application/logging.html":{}}}],["ypos",{"_index":8530,"title":{},"body":{"entities/DashboardGridElementModel.html":{},"interfaces/DashboardGridElementModelProperties.html":{},"entities/DashboardModelEntity.html":{},"injectables/DashboardModelMapper.html":{},"interfaces/DashboardModelProperties.html":{}}}],["yposition",{"_index":8563,"title":{},"body":{"classes/DashboardGridElementResponse.html":{},"classes/DashboardGridSubElementResponse.html":{},"classes/DashboardMapper.html":{},"classes/DashboardResponse.html":{}}}],["yyyy",{"_index":15756,"title":{},"body":{"modules/LoggerModule.html":{}}}],["z0",{"_index":22099,"title":{},"body":{"injectables/TemporaryFileStorage.html":{}}}],["z]+)$/i",{"_index":7945,"title":{},"body":{"injectables/CourseUrlHandler.html":{},"injectables/LessonUrlHandler.html":{},"injectables/TaskUrlHandler.html":{}}}],["z]|[0",{"_index":12524,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{}}}],["za",{"_index":12523,"title":{},"body":{"classes/GetFwuLearningContentParams.html":{},"injectables/TemporaryFileStorage.html":{}}}],["zip",{"_index":5810,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{},"dependencies.html":{}}}],["zipbuilder",{"_index":5792,"title":{},"body":{"classes/CommonCartridgeFileBuilder.html":{},"classes/CommonCartridgeOrganizationBuilder.html":{},"interfaces/ICommonCartridgeFileBuilder.html":{},"interfaces/ICommonCartridgeOrganizationBuilder.html":{}}}],["zoom",{"_index":269,"title":{},"body":{"modules/AccountApiModule.html":{},"modules/AccountModule.html":{},"modules/AdminApiServerModule.html":{},"modules/AdminApiServerTestModule.html":{},"modules/AuthenticationApiModule.html":{},"modules/AuthenticationModule.html":{},"modules/AuthorizationModule.html":{},"modules/AuthorizationReferenceModule.html":{},"modules/BoardApiModule.html":{},"modules/BoardModule.html":{},"modules/CacheWrapperModule.html":{},"modules/CalendarModule.html":{},"modules/ClassModule.html":{},"modules/CollaborativeStorageAdapterModule.html":{},"modules/CollaborativeStorageModule.html":{},"modules/CommonToolModule.html":{},"modules/ConsoleWriterModule.html":{},"modules/ContextExternalToolModule.html":{},"modules/CopyHelperModule.html":{},"modules/CoreModule.html":{},"modules/DatabaseManagementModule.html":{},"modules/DeletionApiModule.html":{},"modules/DeletionConsoleModule.html":{},"modules/DeletionModule.html":{},"modules/EncryptionModule.html":{},"modules/ErrorModule.html":{},"modules/ExternalToolModule.html":{},"modules/FeathersModule.html":{},"modules/FileSystemModule.html":{},"modules/FilesModule.html":{},"modules/FilesStorageAMQPModule.html":{},"modules/FilesStorageApiModule.html":{},"modules/FilesStorageClientModule.html":{},"modules/FilesStorageModule.html":{},"modules/FilesStorageTestModule.html":{},"modules/FwuLearningContentsModule.html":{},"modules/FwuLearningContentsTestModule.html":{},"modules/GroupApiModule.html":{},"modules/GroupModule.html":{},"modules/H5PEditorModule.html":{},"modules/H5PEditorTestModule.html":{},"modules/H5PLibraryManagementModule.html":{},"modules/IdentityManagementModule.html":{},"modules/ImportUserModule.html":{},"modules/KeycloakAdministrationModule.html":{},"modules/KeycloakConfigurationModule.html":{},"modules/KeycloakModule.html":{},"modules/LearnroomApiModule.html":{},"modules/LearnroomModule.html":{},"modules/LegacySchoolModule.html":{},"modules/LessonApiModule.html":{},"modules/LessonModule.html":{},"modules/LoggerModule.html":{},"modules/LtiToolModule.html":{},"modules/ManagementModule.html":{},"modules/ManagementServerModule.html":{},"modules/ManagementServerTestModule.html":{},"modules/MetaTagExtractorApiModule.html":{},"modules/MetaTagExtractorModule.html":{},"modules/NewsModule.html":{},"modules/OauthApiModule.html":{},"modules/OauthModule.html":{},"modules/OauthProviderApiModule.html":{},"modules/OauthProviderModule.html":{},"modules/OauthProviderServiceModule.html":{},"modules/PreviewGeneratorAMQPModule.html":{},"modules/PreviewGeneratorProducerModule.html":{},"modules/ProvisioningModule.html":{},"modules/PseudonymApiModule.html":{},"modules/PseudonymModule.html":{},"modules/RedisModule.html":{},"modules/RegistrationPinModule.html":{},"modules/RocketChatUserModule.html":{},"modules/RoleModule.html":{},"modules/SchoolExternalToolModule.html":{},"modules/ServerConsoleModule.html":{},"modules/ServerModule.html":{},"modules/ServerTestModule.html":{},"modules/SharingApiModule.html":{},"modules/SharingModule.html":{},"modules/SystemApiModule.html":{},"modules/SystemModule.html":{},"modules/TaskApiModule.html":{},"modules/TaskModule.html":{},"modules/TeamsApiModule.html":{},"modules/TeamsModule.html":{},"modules/TldrawClientModule.html":{},"modules/TldrawModule.html":{},"modules/TldrawTestModule.html":{},"modules/TldrawWsModule.html":{},"modules/TldrawWsTestModule.html":{},"modules/ToolApiModule.html":{},"modules/ToolLaunchModule.html":{},"modules/ToolModule.html":{},"modules/UserApiModule.html":{},"modules/UserLoginMigrationApiModule.html":{},"modules/UserLoginMigrationModule.html":{},"modules/UserModule.html":{},"modules/VideoConferenceApiModule.html":{},"modules/VideoConferenceModule.html":{}}}],["zu",{"_index":5510,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["zum",{"_index":5513,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}],["zusammengefasst",{"_index":5519,"title":{},"body":{"injectables/ColumnBoardService.html":{}}}]],"pipeline":["stemmer"]}, + "store": {"classes/AbstractAccountService.html":{"url":"classes/AbstractAccountService.html","title":"class - AbstractAccountService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AbstractAccountService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/services/account.service.abstract.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Abstract\n delete\n \n \n Abstract\n deleteByUserId\n \n \n Abstract\n findById\n \n \n Abstract\n findByUserId\n \n \n Abstract\n findByUserIdOrFail\n \n \n Abstract\n findByUsernameAndSystemId\n \n \n Abstract\n findMany\n \n \n Abstract\n findMultipleByUserId\n \n \n Abstract\n save\n \n \n Abstract\n searchByUsernameExactMatch\n \n \n Abstract\n searchByUsernamePartialMatch\n \n \n Abstract\n updateLastTriedFailedLogin\n \n \n Abstract\n updatePassword\n \n \n Abstract\n updateUsername\n \n \n Abstract\n validatePassword\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Abstract\n delete\n \n \n \n \n \n \n \n delete(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n deleteByUserId\n \n \n \n \n \n \n \n deleteByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n findByUserId\n \n \n \n \n \n \n \n findByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n findByUserIdOrFail\n \n \n \n \n \n \n \n findByUserIdOrFail(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n findByUsernameAndSystemId\n \n \n \n \n \n \n \n findByUsernameAndSystemId(username: string, systemId: EntityId | ObjectId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n findMany\n \n \n \n \n \n \n For migration purpose only\n \n \n \n \n \n findMany(offset?: number, limit?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n offset\n \n number\n \n\n \n Yes\n \n\n\n \n \n limit\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n findMultipleByUserId\n \n \n \n \n \n \n \n findMultipleByUserId(userIds: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n save\n \n \n \n \n \n \n \n save(accountDto: AccountSaveDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountDto\n \n AccountSaveDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n searchByUsernameExactMatch\n \n \n \n \n \n \n \n searchByUsernameExactMatch(userName: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n searchByUsernamePartialMatch\n \n \n \n \n \n \n \n searchByUsernamePartialMatch(userName: string, skip: number, limit: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userName\n \n string\n \n\n \n No\n \n\n\n \n \n skip\n \n number\n \n\n \n No\n \n\n\n \n \n limit\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n updateLastTriedFailedLogin\n \n \n \n \n \n \n Used for brute force detection, but will become subject to IDM thus be removed.\n \n \n \n \n \n updateLastTriedFailedLogin(accountId: EntityId, lastTriedFailedLogin: Date)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n lastTriedFailedLogin\n \n Date\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n updatePassword\n \n \n \n \n \n \n \n updatePassword(accountId: EntityId, password: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n password\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n updateUsername\n \n \n \n \n \n \n \n updateUsername(accountId: EntityId, username: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n validatePassword\n \n \n \n \n \n \n \n validatePassword(account: AccountDto, comparePassword: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.service.abstract.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n AccountDto\n \n\n \n No\n \n\n\n \n \n comparePassword\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { AccountDto, AccountSaveDto } from './dto';\n\nexport abstract class AbstractAccountService {\n\tabstract findById(id: EntityId): Promise;\n\n\tabstract findMultipleByUserId(userIds: EntityId[]): Promise;\n\n\tabstract findByUserId(userId: EntityId): Promise;\n\n\tabstract findByUserIdOrFail(userId: EntityId): Promise;\n\n\tabstract findByUsernameAndSystemId(username: string, systemId: EntityId | ObjectId): Promise;\n\n\tabstract save(accountDto: AccountSaveDto): Promise;\n\n\tabstract updateUsername(accountId: EntityId, username: string): Promise;\n\n\t/**\n\t * @deprecated Used for brute force detection, but will become subject to IDM thus be removed.\n\t */\n\tabstract updateLastTriedFailedLogin(accountId: EntityId, lastTriedFailedLogin: Date): Promise;\n\n\tabstract updatePassword(accountId: EntityId, password: string): Promise;\n\n\tabstract delete(id: EntityId): Promise;\n\n\tabstract deleteByUserId(userId: EntityId): Promise;\n\n\tabstract searchByUsernamePartialMatch(userName: string, skip: number, limit: number): Promise>;\n\n\tabstract searchByUsernameExactMatch(userName: string): Promise>;\n\n\tabstract validatePassword(account: AccountDto, comparePassword: string): Promise;\n\t/**\n\t * @deprecated For migration purpose only\n\t */\n\tabstract findMany(offset?: number, limit?: number): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AbstractUrlHandler.html":{"url":"classes/AbstractUrlHandler.html","title":"class - AbstractUrlHandler","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AbstractUrlHandler\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/service/url-handler/abstract-url-handler.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Abstract\n patterns\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n doesUrlMatch\n \n \n Protected\n extractId\n \n \n getDefaultMetaData\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Abstract\n patterns\n \n \n \n \n \n \n Type : RegExp[]\n\n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/abstract-url-handler.ts:5\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n doesUrlMatch\n \n \n \n \n \n \ndoesUrlMatch(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/abstract-url-handler.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n extractId\n \n \n \n \n \n \n \n extractId(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/abstract-url-handler.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getDefaultMetaData\n \n \n \n \n \n \ngetDefaultMetaData(url: string, partial: Partial)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/abstract-url-handler.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n partial\n \n Partial\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : MetaData\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { basename } from 'node:path';\nimport { MetaData } from '../../types';\n\nexport abstract class AbstractUrlHandler {\n\tprotected abstract patterns: RegExp[];\n\n\tprotected extractId(url: string): string | undefined {\n\t\tconst results: RegExpMatchArray = this.patterns\n\t\t\t.map((pattern: RegExp) => pattern.exec(url))\n\t\t\t.filter((result) => result !== null)\n\t\t\t.find((result) => (result?.length ?? 0) >= 2) as RegExpMatchArray;\n\n\t\tif (results && results[1]) {\n\t\t\treturn results[1];\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tdoesUrlMatch(url: string): boolean {\n\t\tconst doesMatch = this.patterns.some((pattern) => pattern.test(url));\n\t\treturn doesMatch;\n\t}\n\n\tgetDefaultMetaData(url: string, partial: Partial = {}): MetaData {\n\t\tconst urlObject = new URL(url);\n\t\tconst title = basename(urlObject.pathname);\n\t\treturn {\n\t\t\ttitle,\n\t\t\tdescription: '',\n\t\t\turl,\n\t\t\ttype: 'unknown',\n\t\t\t...partial,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AcceptConsentRequestBody.html":{"url":"interfaces/AcceptConsentRequestBody.html","title":"interface - AcceptConsentRequestBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AcceptConsentRequestBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/oauth-provider/dto/request/accept-consent-request.body.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n grant_access_token_audience\n \n \n \n Optional\n \n grant_scope\n \n \n \n Optional\n \n handled_at\n \n \n \n Optional\n \n remember\n \n \n \n Optional\n \n remember_for\n \n \n \n Optional\n \n session\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n grant_access_token_audience\n \n \n \n \n \n \n \n \n grant_access_token_audience: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n grant_scope\n \n \n \n \n \n \n \n \n grant_scope: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n handled_at\n \n \n \n \n \n \n \n \n handled_at: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n remember\n \n \n \n \n \n \n \n \n remember: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n remember_for\n \n \n \n \n \n \n \n \n remember_for: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n session\n \n \n \n \n \n \n \n \n session: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { IdToken } from '@modules/oauth-provider/interface/id-token';\n\nexport interface AcceptConsentRequestBody {\n\tgrant_access_token_audience?: string[];\n\n\tgrant_scope?: string[];\n\n\thandled_at?: string;\n\n\tremember?: boolean;\n\n\tremember_for?: number;\n\n\tsession?: {\n\t\taccess_token?: string;\n\n\t\tid_token?: IdToken;\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AcceptLoginRequestBody.html":{"url":"interfaces/AcceptLoginRequestBody.html","title":"interface - AcceptLoginRequestBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AcceptLoginRequestBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/oauth-provider/dto/request/accept-login-request.body.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n acr\n \n \n \n Optional\n \n amr\n \n \n \n Optional\n \n context\n \n \n \n Optional\n \n force_subject_identifier\n \n \n \n Optional\n \n remember\n \n \n \n Optional\n \n remember_for\n \n \n \n Optional\n \n subject\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n acr\n \n \n \n \n \n \n \n \n acr: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n amr\n \n \n \n \n \n \n \n \n amr: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n context\n \n \n \n \n \n \n \n \n context: object\n\n \n \n\n\n \n \n Type : object\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n force_subject_identifier\n \n \n \n \n \n \n \n \n force_subject_identifier: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n remember\n \n \n \n \n \n \n \n \n remember: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n remember_for\n \n \n \n \n \n \n \n \n remember_for: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n subject\n \n \n \n \n \n \n \n \n subject: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface AcceptLoginRequestBody {\n\tsubject?: string;\n\n\tacr?: string;\n\n\tamr?: string[];\n\n\tcontext?: object;\n\n\tforce_subject_identifier?: string;\n\n\tremember?: boolean;\n\n\tremember_for?: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AcceptQuery.html":{"url":"classes/AcceptQuery.html","title":"class - AcceptQuery","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AcceptQuery\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/request/accept.query.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n accept\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n accept\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@StringToBoolean()@ApiPropertyOptional({description: 'Accepts the login request.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/accept.query.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsBoolean } from 'class-validator';\nimport { ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller/index';\n\nexport class AcceptQuery {\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({ description: 'Accepts the login request.', required: true, nullable: false })\n\taccept!: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/Account.html":{"url":"entities/Account.html","title":"entity - Account","body":"\n \n\n\n\n\n\n\n\n Entities\n Account\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/account.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n activated\n \n \n \n Optional\n credentialHash\n \n \n \n Optional\n expiresAt\n \n \n \n Optional\n lasttriedFailedLogin\n \n \n \n Optional\n password\n \n \n \n Optional\n systemId\n \n \n \n Optional\n token\n \n \n \n Optional\n userId\n \n \n \n \n username\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n activated\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/account.entity.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n credentialHash\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/account.entity.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n expiresAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/account.entity.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n lasttriedFailedLogin\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/account.entity.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n password\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/account.entity.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n systemId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/account.entity.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n token\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/account.entity.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n userId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true, unique: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/account.entity.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/account.entity.ts:12\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property, Index } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport type IdmAccountProperties = Readonly>;\n\n@Entity({ tableName: 'accounts' })\n@Index({ properties: ['userId', 'systemId'] })\nexport class Account extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Index()\n\tusername!: string;\n\n\t@Property({ nullable: true })\n\tpassword?: string;\n\n\t@Property({ nullable: true })\n\ttoken?: string;\n\n\t@Property({ nullable: true })\n\tcredentialHash?: string;\n\n\t@Property({ nullable: true, unique: false })\n\tuserId?: ObjectId;\n\n\t@Property({ nullable: true })\n\tsystemId?: ObjectId;\n\n\t@Property({ nullable: true })\n\tlasttriedFailedLogin?: Date;\n\n\t@Property({ nullable: true })\n\texpiresAt?: Date;\n\n\t@Property({ nullable: true })\n\tactivated?: boolean;\n\n\tconstructor(props: IdmAccountProperties) {\n\t\tsuper();\n\t\tthis.username = props.username;\n\t\tthis.password = props.password;\n\t\tthis.token = props.token;\n\t\tthis.credentialHash = props.credentialHash;\n\t\tthis.userId = props.userId;\n\t\tthis.systemId = props.systemId;\n\t\tthis.lasttriedFailedLogin = props.lasttriedFailedLogin;\n\t\tthis.expiresAt = props.expiresAt;\n\t\tthis.activated = props.activated;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AccountApiModule.html":{"url":"modules/AccountApiModule.html","title":"module - AccountApiModule","body":"\n \n\n\n\n\n Modules\n AccountApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_AccountApiModule\n\n\n\ncluster_AccountApiModule_imports\n\n\n\ncluster_AccountApiModule_providers\n\n\n\n\nAccountModule\n\nAccountModule\n\n\n\nAccountApiModule\n\nAccountApiModule\n\nAccountApiModule -->\n\nAccountModule->AccountApiModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nAccountApiModule -->\n\nLoggerModule->AccountApiModule\n\n\n\n\n\nAccountUc\n\nAccountUc\n\nAccountApiModule -->\n\nAccountUc->AccountApiModule\n\n\n\n\n\nPermissionService\n\nPermissionService\n\nAccountApiModule -->\n\nPermissionService->AccountApiModule\n\n\n\n\n\nUserRepo\n\nUserRepo\n\nAccountApiModule -->\n\nUserRepo->AccountApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/account/account-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n AccountUc\n \n \n PermissionService\n \n \n UserRepo\n \n \n \n \n Controllers\n \n \n AccountController\n \n \n \n \n Imports\n \n \n AccountModule\n \n \n LoggerModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { PermissionService } from '@shared/domain/service';\nimport { UserRepo } from '@shared/repo';\nimport { LoggerModule } from '../../core/logger/logger.module';\nimport { AccountModule } from './account.module';\nimport { AccountController } from './controller/account.controller';\nimport { AccountUc } from './uc/account.uc';\n\n@Module({\n\timports: [AccountModule, LoggerModule],\n\tproviders: [UserRepo, PermissionService, AccountUc],\n\tcontrollers: [AccountController],\n\texports: [],\n})\nexport class AccountApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountByIdBodyParams.html":{"url":"classes/AccountByIdBodyParams.html","title":"class - AccountByIdBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountByIdBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/controller/dto/account-by-id.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n activated\n \n \n \n \n \n \n \n Optional\n password\n \n \n \n \n \n \n Optional\n username\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n activated\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsBoolean()@ApiProperty({description: 'The new activation state of the user.', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account-by-id.body.params.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n password\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @PrivacyProtect()@IsOptional()@IsString()@Matches(passwordPattern)@ApiProperty({description: 'The new password for the user.', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account-by-id.body.params.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n username\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()@IsEmail()@ApiProperty({description: 'The new user name for the user.', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account-by-id.body.params.ts:15\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { PrivacyProtect } from '@shared/controller';\nimport { IsBoolean, IsString, IsOptional, Matches, IsEmail } from 'class-validator';\nimport { passwordPattern } from './password-pattern';\n\nexport class AccountByIdBodyParams {\n\t@IsOptional()\n\t@IsString()\n\t@IsEmail()\n\t@ApiProperty({\n\t\tdescription: 'The new user name for the user.',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\tusername?: string;\n\n\t@PrivacyProtect()\n\t@IsOptional()\n\t@IsString()\n\t@Matches(passwordPattern)\n\t@ApiProperty({\n\t\tdescription: 'The new password for the user.',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\tpassword?: string;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@ApiProperty({\n\t\tdescription: 'The new activation state of the user.',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\tactivated?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountByIdParams.html":{"url":"classes/AccountByIdParams.html","title":"class - AccountByIdParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountByIdParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/controller/dto/account-by-id.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({description: 'The id for the account.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account-by-id.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsString } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\n\nexport class AccountByIdParams {\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'The id for the account.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tid!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AccountConfig.html":{"url":"interfaces/AccountConfig.html","title":"interface - AccountConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AccountConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/account-config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n LOGIN_BLOCK_TIME\n \n \n \n \n TEACHER_STUDENT_VISIBILITY__IS_CONFIGURABLE\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n LOGIN_BLOCK_TIME\n \n \n \n \n \n \n \n \n LOGIN_BLOCK_TIME: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n TEACHER_STUDENT_VISIBILITY__IS_CONFIGURABLE\n \n \n \n \n \n \n \n \n TEACHER_STUDENT_VISIBILITY__IS_CONFIGURABLE: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface AccountConfig {\n\tLOGIN_BLOCK_TIME: number;\n\tTEACHER_STUDENT_VISIBILITY__IS_CONFIGURABLE: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/AccountController.html":{"url":"controllers/AccountController.html","title":"controller - AccountController","body":"\n \n\n\n\n\n\n\n Controllers\n AccountController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/controller/account.controller.ts\n \n\n \n Prefix\n \n \n account\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteAccountById\n \n \n \n \n \n \n \n \n Async\n findAccountById\n \n \n \n \n \n \n \n \n Async\n replaceMyPassword\n \n \n \n \n \n \n \n Async\n searchAccounts\n \n \n \n \n \n \n \n \n Async\n updateAccountById\n \n \n \n \n \n \n \n \n Async\n updateMyAccount\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteAccountById\n \n \n \n \n \n \n \n deleteAccountById(currentUser: ICurrentUser, params: AccountByIdParams)\n \n \n\n \n \n Decorators : \n \n @Delete(':id')@ApiOperation({summary: 'Deletes an account with given id. Superhero role is REQUIRED.'})@ApiResponse({status: 200, type: AccountResponse, description: 'Returns deleted account.'})@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiResponse({status: 403, type: ForbiddenOperationError, description: 'User is not a superhero.'})@ApiResponse({status: 404, type: EntityNotFoundError, description: 'Account not found.'})\n \n \n\n \n \n Defined in apps/server/src/modules/account/controller/account.controller.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n AccountByIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAccountById\n \n \n \n \n \n \n \n findAccountById(currentUser: ICurrentUser, params: AccountByIdParams)\n \n \n\n \n \n Decorators : \n \n @Get(':id')@ApiOperation({summary: 'Returns an account with given id. Superhero role is REQUIRED.'})@ApiResponse({status: 200, type: AccountResponse, description: 'Returns the account.'})@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiResponse({status: 403, type: ForbiddenOperationError, description: 'User is not a superhero.'})@ApiResponse({status: 404, type: EntityNotFoundError, description: 'Account not found.'})\n \n \n\n \n \n Defined in apps/server/src/modules/account/controller/account.controller.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n AccountByIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n replaceMyPassword\n \n \n \n \n \n \n \n replaceMyPassword(currentUser: ICurrentUser, params: PatchMyPasswordParams)\n \n \n\n \n \n Decorators : \n \n @Patch('me/password')@ApiOperation({summary: 'Updates the the temporary account password for the authenticated user.'})@ApiResponse({status: 200, description: 'Updated the temporary password successfully.'})@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiResponse({status: 403, type: ForbiddenOperationError, description: 'Invalid password.'})@ApiResponse({status: 404, type: EntityNotFoundError, description: 'Account or user not found.'})\n \n \n\n \n \n Defined in apps/server/src/modules/account/controller/account.controller.ts:97\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n PatchMyPasswordParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n searchAccounts\n \n \n \n \n \n \n \n searchAccounts(currentUser: ICurrentUser, query: AccountSearchQueryParams)\n \n \n\n \n \n Decorators : \n \n @Get()@ApiOperation({summary: 'Returns all accounts which satisfies the given criteria. For unlimited access Superhero role is REQUIRED.'})@ApiResponse({status: 200, type: AccountSearchListResponse, description: 'Returns a paged list of accounts.'})@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiResponse({status: 403, type: ForbiddenOperationError, description: 'User is not a superhero or administrator.'})\n \n \n\n \n \n Defined in apps/server/src/modules/account/controller/account.controller.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n query\n \n AccountSearchQueryParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateAccountById\n \n \n \n \n \n \n \n updateAccountById(currentUser: ICurrentUser, params: AccountByIdParams, body: AccountByIdBodyParams)\n \n \n\n \n \n Decorators : \n \n @Patch(':id')@ApiOperation({summary: 'Updates an account with given id. Superhero role is REQUIRED.'})@ApiResponse({status: 200, type: AccountResponse, description: 'Returns updated account.'})@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiResponse({status: 403, type: ForbiddenOperationError, description: 'User is not a superhero.'})@ApiResponse({status: 404, type: EntityNotFoundError, description: 'Account not found.'})\n \n \n\n \n \n Defined in apps/server/src/modules/account/controller/account.controller.ts:70\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n AccountByIdParams\n \n\n \n No\n \n\n\n \n \n body\n \n AccountByIdBodyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateMyAccount\n \n \n \n \n \n \n \n updateMyAccount(currentUser: ICurrentUser, params: PatchMyAccountParams)\n \n \n\n \n \n Decorators : \n \n @Patch('me')@ApiOperation({summary: 'Updates an account for the authenticated user.'})@ApiResponse({status: 200, description: 'Account was successfully updated.'})@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiResponse({status: 403, type: ForbiddenOperationError, description: 'Invalid password.'})@ApiResponse({status: 404, type: EntityNotFoundError, description: 'Account not found.'})\n \n \n\n \n \n Defined in apps/server/src/modules/account/controller/account.controller.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n PatchMyAccountParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Body, Controller, Delete, Get, Param, Patch, Query } from '@nestjs/common';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { EntityNotFoundError, ForbiddenOperationError, ValidationError } from '@shared/common';\nimport { ICurrentUser } from '@src/modules/authentication';\nimport { Authenticate, CurrentUser } from '@src/modules/authentication/decorator/auth.decorator';\nimport { AccountUc } from '../uc/account.uc';\nimport {\n\tAccountByIdBodyParams,\n\tAccountByIdParams,\n\tAccountResponse,\n\tAccountSearchListResponse,\n\tAccountSearchQueryParams,\n\tPatchMyAccountParams,\n\tPatchMyPasswordParams,\n} from './dto';\n\n@ApiTags('Account')\n@Authenticate('jwt')\n@Controller('account')\nexport class AccountController {\n\tconstructor(private readonly accountUc: AccountUc) {}\n\n\t@Get()\n\t@ApiOperation({\n\t\tsummary:\n\t\t\t'Returns all accounts which satisfies the given criteria. For unlimited access Superhero role is REQUIRED.',\n\t})\n\t@ApiResponse({ status: 200, type: AccountSearchListResponse, description: 'Returns a paged list of accounts.' })\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiResponse({ status: 403, type: ForbiddenOperationError, description: 'User is not a superhero or administrator.' })\n\tasync searchAccounts(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() query: AccountSearchQueryParams\n\t): Promise {\n\t\treturn this.accountUc.searchAccounts(currentUser, query);\n\t}\n\n\t@Get(':id')\n\t@ApiOperation({ summary: 'Returns an account with given id. Superhero role is REQUIRED.' })\n\t@ApiResponse({ status: 200, type: AccountResponse, description: 'Returns the account.' })\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiResponse({ status: 403, type: ForbiddenOperationError, description: 'User is not a superhero.' })\n\t@ApiResponse({ status: 404, type: EntityNotFoundError, description: 'Account not found.' })\n\tasync findAccountById(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: AccountByIdParams\n\t): Promise {\n\t\treturn this.accountUc.findAccountById(currentUser, params);\n\t}\n\n\t// IMPORTANT!!!\n\t// updateMyAccount has to occur before updateAccountById, because Nest.js\n\t// will always use the first path match and me will be treated as a path parameter\n\t@Patch('me')\n\t@ApiOperation({ summary: 'Updates an account for the authenticated user.' })\n\t@ApiResponse({ status: 200, description: 'Account was successfully updated.' })\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiResponse({ status: 403, type: ForbiddenOperationError, description: 'Invalid password.' })\n\t@ApiResponse({ status: 404, type: EntityNotFoundError, description: 'Account not found.' })\n\tasync updateMyAccount(@CurrentUser() currentUser: ICurrentUser, @Body() params: PatchMyAccountParams): Promise {\n\t\treturn this.accountUc.updateMyAccount(currentUser.userId, params);\n\t}\n\n\t@Patch(':id')\n\t@ApiOperation({ summary: 'Updates an account with given id. Superhero role is REQUIRED.' })\n\t@ApiResponse({ status: 200, type: AccountResponse, description: 'Returns updated account.' })\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiResponse({ status: 403, type: ForbiddenOperationError, description: 'User is not a superhero.' })\n\t@ApiResponse({ status: 404, type: EntityNotFoundError, description: 'Account not found.' })\n\tasync updateAccountById(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: AccountByIdParams,\n\t\t@Body() body: AccountByIdBodyParams\n\t): Promise {\n\t\treturn this.accountUc.updateAccountById(currentUser, params, body);\n\t}\n\n\t@Delete(':id')\n\t@ApiOperation({ summary: 'Deletes an account with given id. Superhero role is REQUIRED.' })\n\t@ApiResponse({ status: 200, type: AccountResponse, description: 'Returns deleted account.' })\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiResponse({ status: 403, type: ForbiddenOperationError, description: 'User is not a superhero.' })\n\t@ApiResponse({ status: 404, type: EntityNotFoundError, description: 'Account not found.' })\n\tasync deleteAccountById(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: AccountByIdParams\n\t): Promise {\n\t\treturn this.accountUc.deleteAccountById(currentUser, params);\n\t}\n\n\t@Patch('me/password')\n\t@ApiOperation({ summary: 'Updates the the temporary account password for the authenticated user.' })\n\t@ApiResponse({ status: 200, description: 'Updated the temporary password successfully.' })\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiResponse({ status: 403, type: ForbiddenOperationError, description: 'Invalid password.' })\n\t@ApiResponse({ status: 404, type: EntityNotFoundError, description: 'Account or user not found.' })\n\tasync replaceMyPassword(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() params: PatchMyPasswordParams\n\t): Promise {\n\t\treturn this.accountUc.replaceMyTemporaryPassword(currentUser.userId, params.password, params.confirmPassword);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountDto.html":{"url":"classes/AccountDto.html","title":"class - AccountDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/services/dto/account.dto.ts\n \n\n\n\n \n Extends\n \n \n AccountSaveDto\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n createdAt\n \n \n Readonly\n id\n \n \n Readonly\n updatedAt\n \n \n \n \n Optional\n activated\n \n \n \n \n Optional\n credentialHash\n \n \n \n \n Optional\n expiresAt\n \n \n \n Optional\n idmReferenceId\n \n \n \n \n Optional\n lasttriedFailedLogin\n \n \n \n \n \n Optional\n password\n \n \n \n \n Optional\n systemId\n \n \n \n \n Optional\n token\n \n \n \n \n Optional\n userId\n \n \n \n \n username\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: AccountDto)\n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account.dto.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n AccountDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n createdAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:7\n\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:5\n\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n updatedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:9\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n activated\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsBoolean()\n \n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:54\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n credentialHash\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()\n \n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:34\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n expiresAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsDate()\n \n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:50\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n idmReferenceId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()\n \n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:57\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n lasttriedFailedLogin\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsDate()\n \n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:46\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n password\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @PrivacyProtect()@IsOptional()@Matches(passwordPattern)\n \n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:26\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n systemId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsMongoId()\n \n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:42\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n token\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()\n \n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:30\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n userId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsMongoId()\n \n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:38\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()\n \n \n \n \n \n Inherited from AccountSaveDto\n\n \n \n \n \n Defined in AccountSaveDto:21\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { AccountSaveDto } from './account-save.dto';\n\nexport class AccountDto extends AccountSaveDto {\n\treadonly id: EntityId;\n\n\treadonly createdAt: Date;\n\n\treadonly updatedAt: Date;\n\n\tconstructor(props: AccountDto) {\n\t\tsuper(props);\n\t\tthis.id = props.id;\n\t\tthis.createdAt = props.createdAt;\n\t\tthis.updatedAt = props.updatedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountEntityToDtoMapper.html":{"url":"classes/AccountEntityToDtoMapper.html","title":"class - AccountEntityToDtoMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountEntityToDtoMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/mapper/account-entity-to-dto.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapAccountsToDto\n \n \n Static\n mapSearchResult\n \n \n Static\n mapToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapAccountsToDto\n \n \n \n \n \n \n \n mapAccountsToDto(accounts: Account[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/mapper/account-entity-to-dto.mapper.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accounts\n \n Account[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AccountDto[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapSearchResult\n \n \n \n \n \n \n \n mapSearchResult(accountEntities: [Account[], number])\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/mapper/account-entity-to-dto.mapper.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountEntities\n \n [Account[], number]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Counted\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToDto\n \n \n \n \n \n \n \n mapToDto(account: Account)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/mapper/account-entity-to-dto.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n Account\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AccountDto\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Account } from '@shared/domain/entity';\nimport { Counted } from '@shared/domain/types';\nimport { AccountDto } from '../services/dto/account.dto';\n\nexport class AccountEntityToDtoMapper {\n\tstatic mapToDto(account: Account): AccountDto {\n\t\treturn new AccountDto({\n\t\t\tid: account.id,\n\t\t\tcreatedAt: account.createdAt,\n\t\t\tupdatedAt: account.updatedAt,\n\t\t\tuserId: account.userId?.toString(),\n\t\t\tusername: account.username,\n\t\t\tactivated: account.activated,\n\t\t\tcredentialHash: account.credentialHash,\n\t\t\texpiresAt: account.expiresAt,\n\t\t\tlasttriedFailedLogin: account.lasttriedFailedLogin,\n\t\t\tpassword: account.password,\n\t\t\tsystemId: account.systemId?.toString(),\n\t\t\ttoken: account.token,\n\t\t});\n\t}\n\n\tstatic mapSearchResult(accountEntities: [Account[], number]): Counted {\n\t\tconst foundAccounts = accountEntities[0];\n\t\tconst accountDtos: AccountDto[] = AccountEntityToDtoMapper.mapAccountsToDto(foundAccounts);\n\t\treturn [accountDtos, accountEntities[1]];\n\t}\n\n\tstatic mapAccountsToDto(accounts: Account[]): AccountDto[] {\n\t\treturn accounts.map((accountEntity) => AccountEntityToDtoMapper.mapToDto(accountEntity));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountFactory.html":{"url":"classes/AccountFactory.html","title":"class - AccountFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/account.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withSystemId\n \n \n withUser\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withSystemId\n \n \n \n \n \n \nwithSystemId(id: EntityId | ObjectId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/account.factory.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withUser\n \n \n \n \n \n \nwithUser(user: User)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/account.factory.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Account, IdmAccountProperties, User } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\n\nimport { ObjectId } from 'bson';\nimport { DeepPartial } from 'fishery';\nimport { BaseFactory } from './base.factory';\n\nclass AccountFactory extends BaseFactory {\n\twithSystemId(id: EntityId | ObjectId): this {\n\t\tconst params: DeepPartial = { systemId: id };\n\n\t\treturn this.params(params);\n\t}\n\n\twithUser(user: User): this {\n\t\tif (!user.id) {\n\t\t\tthrow new Error('User does not have an id.');\n\t\t}\n\n\t\tconst params: DeepPartial = { userId: user.id };\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const defaultTestPassword = 'DummyPasswd!1';\nexport const defaultTestPasswordHash = '$2a$10$/DsztV5o6P5piW2eWJsxw.4nHovmJGBA.QNwiTmuZ/uvUc40b.Uhu';\n// !!! important username should not be contain a space !!!\nexport const accountFactory = AccountFactory.define(Account, ({ sequence }) => {\n\treturn {\n\t\tusername: `account${sequence}`,\n\t\tpassword: defaultTestPasswordHash,\n\t\tuserId: new ObjectId(),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AccountIdmToDtoMapper.html":{"url":"injectables/AccountIdmToDtoMapper.html","title":"injectable - AccountIdmToDtoMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AccountIdmToDtoMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/mapper/account-idm-to-dto.mapper.abstract.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Abstract\n mapToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Abstract\n mapToDto\n \n \n \n \n \n \n \n mapToDto(account: IdmAccount)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/mapper/account-idm-to-dto.mapper.abstract.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n IdmAccount\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AccountDto\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { IdmAccount } from '@shared/domain/interface';\nimport { AccountDto } from '../services/dto/account.dto';\n\n@Injectable()\nexport abstract class AccountIdmToDtoMapper {\n\tabstract mapToDto(account: IdmAccount): AccountDto;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountIdmToDtoMapperDb.html":{"url":"classes/AccountIdmToDtoMapperDb.html","title":"class - AccountIdmToDtoMapperDb","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountIdmToDtoMapperDb\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/mapper/account-idm-to-dto.mapper.db.ts\n \n\n\n\n \n Extends\n \n \n AccountIdmToDtoMapper\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n mapToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n mapToDto\n \n \n \n \n \n \nmapToDto(account: IdmAccount)\n \n \n\n\n \n \n Inherited from AccountIdmToDtoMapper\n\n \n \n \n \n Defined in AccountIdmToDtoMapper:6\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n IdmAccount\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AccountDto\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { IdmAccount } from '@shared/domain/interface';\nimport { AccountDto } from '../services/dto/account.dto';\nimport { AccountIdmToDtoMapper } from './account-idm-to-dto.mapper.abstract';\n\nexport class AccountIdmToDtoMapperDb extends AccountIdmToDtoMapper {\n\tmapToDto(account: IdmAccount): AccountDto {\n\t\tconst createdDate = account.createdDate ? account.createdDate : new Date();\n\t\treturn new AccountDto({\n\t\t\tid: account.attDbcAccountId ?? '',\n\t\t\tidmReferenceId: account.id,\n\t\t\tuserId: account.attDbcUserId,\n\t\t\tsystemId: account.attDbcSystemId,\n\t\t\tusername: account.username ?? '',\n\t\t\tcreatedAt: createdDate,\n\t\t\tupdatedAt: createdDate,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountIdmToDtoMapperIdm.html":{"url":"classes/AccountIdmToDtoMapperIdm.html","title":"class - AccountIdmToDtoMapperIdm","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountIdmToDtoMapperIdm\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/mapper/account-idm-to-dto.mapper.idm.ts\n \n\n\n\n \n Extends\n \n \n AccountIdmToDtoMapper\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n mapToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n mapToDto\n \n \n \n \n \n \nmapToDto(account: IdmAccount)\n \n \n\n\n \n \n Inherited from AccountIdmToDtoMapper\n\n \n \n \n \n Defined in AccountIdmToDtoMapper:6\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n IdmAccount\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AccountDto\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { IdmAccount } from '@shared/domain/interface';\nimport { AccountDto } from '../services/dto/account.dto';\nimport { AccountIdmToDtoMapper } from './account-idm-to-dto.mapper.abstract';\n\nexport class AccountIdmToDtoMapperIdm extends AccountIdmToDtoMapper {\n\tmapToDto(account: IdmAccount): AccountDto {\n\t\tconst createdDate = account.createdDate ? account.createdDate : new Date();\n\t\treturn new AccountDto({\n\t\t\tid: account.id,\n\t\t\tidmReferenceId: undefined,\n\t\t\tuserId: account.attDbcUserId,\n\t\t\tsystemId: account.attDbcSystemId,\n\t\t\tusername: account.username ?? '',\n\t\t\tcreatedAt: createdDate,\n\t\t\tupdatedAt: createdDate,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AccountLookupService.html":{"url":"injectables/AccountLookupService.html","title":"injectable - AccountLookupService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AccountLookupService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/services/account-lookup.service.ts\n \n\n\n \n Description\n \n \n Service to convert between internal and external ids.\nThe external ids are the primary keys from the IDM (Keycloak), currently they are UUID formatted strings.\nThe internal ids are the primary keys from the mongo db, currently they are BSON object ids or their hex string representation.\nIMPORTANT: This service will not guarantee that the id is valid, it will only try to convert it.\n\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getExternalId\n \n \n Async\n getInternalId\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(idmService: IdentityManagementService, configService: ConfigService)\n \n \n \n \n Defined in apps/server/src/modules/account/services/account-lookup.service.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n idmService\n \n \n IdentityManagementService\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getExternalId\n \n \n \n \n \n \n \n getExternalId(id: EntityId | ObjectId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account-lookup.service.ts:44\n \n \n\n\n \n \n Converts an internal id to the external id, if the id is already an external id, it will be returned as is.\nIMPORTANT: This method will not guarantee that the id is valid, it will only try to convert it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n the id the should be converted to the external id.\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n the converted id or null if conversion failed.\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n getInternalId\n \n \n \n \n \n \n \n getInternalId(id: EntityId | ObjectId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account-lookup.service.ts:27\n \n \n\n\n \n \n Converts an external id to the internal id, if the id is already an internal id, it will be returned as is.\nIMPORTANT: This method will not guarantee that the id is valid, it will only try to convert it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n the id the should be converted to the internal id.\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n the converted id or null if conversion failed.\n\n \n \n \n \n \n\n\n \n\n\n \n import { IdentityManagementService } from '@infra/identity-management';\nimport { ServerConfig } from '@modules/server/server.config';\nimport { Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\n\n/**\n * Service to convert between internal and external ids.\n * The external ids are the primary keys from the IDM (Keycloak), currently they are UUID formatted strings.\n * The internal ids are the primary keys from the mongo db, currently they are BSON object ids or their hex string representation.\n * IMPORTANT: This service will not guarantee that the id is valid, it will only try to convert it.\n */\n@Injectable()\nexport class AccountLookupService {\n\tconstructor(\n\t\tprivate readonly idmService: IdentityManagementService,\n\t\tprivate readonly configService: ConfigService\n\t) {}\n\n\t/**\n\t * Converts an external id to the internal id, if the id is already an internal id, it will be returned as is.\n\t * IMPORTANT: This method will not guarantee that the id is valid, it will only try to convert it.\n\t * @param id the id the should be converted to the internal id.\n\t * @returns the converted id or null if conversion failed.\n\t */\n\tasync getInternalId(id: EntityId | ObjectId): Promise {\n\t\tif (id instanceof ObjectId || ObjectId.isValid(id)) {\n\t\t\treturn new ObjectId(id);\n\t\t}\n\t\tif (this.configService.get('FEATURE_IDENTITY_MANAGEMENT_STORE_ENABLED') === true) {\n\t\t\tconst account = await this.idmService.findAccountById(id);\n\t\t\treturn new ObjectId(account.attDbcAccountId);\n\t\t}\n\t\treturn null;\n\t}\n\n\t/**\n\t * Converts an internal id to the external id, if the id is already an external id, it will be returned as is.\n\t * IMPORTANT: This method will not guarantee that the id is valid, it will only try to convert it.\n\t * @param id the id the should be converted to the external id.\n\t * @returns the converted id or null if conversion failed.\n\t */\n\tasync getExternalId(id: EntityId | ObjectId): Promise {\n\t\tif (!(id instanceof ObjectId) && !ObjectId.isValid(id)) {\n\t\t\treturn id;\n\t\t}\n\t\tif (this.configService.get('FEATURE_IDENTITY_MANAGEMENT_STORE_ENABLED') === true) {\n\t\t\tconst account = await this.idmService.findAccountByDbcAccountId(id.toString());\n\t\t\treturn account.id;\n\t\t}\n\t\treturn null;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AccountModule.html":{"url":"modules/AccountModule.html","title":"module - AccountModule","body":"\n \n\n\n\n\n Modules\n AccountModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_AccountModule\n\n\n\ncluster_AccountModule_exports\n\n\n\ncluster_AccountModule_imports\n\n\n\ncluster_AccountModule_providers\n\n\n\n\nIdentityManagementModule\n\nIdentityManagementModule\n\n\n\nAccountModule\n\nAccountModule\n\nAccountModule -->\n\nIdentityManagementModule->AccountModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nAccountModule -->\n\nLoggerModule->AccountModule\n\n\n\n\n\nAccountService \n\nAccountService \n\nAccountService -->\n\nAccountModule->AccountService \n\n\n\n\n\nAccountValidationService \n\nAccountValidationService \n\nAccountValidationService -->\n\nAccountModule->AccountValidationService \n\n\n\n\n\nAccountLookupService\n\nAccountLookupService\n\nAccountModule -->\n\nAccountLookupService->AccountModule\n\n\n\n\n\nAccountRepo\n\nAccountRepo\n\nAccountModule -->\n\nAccountRepo->AccountModule\n\n\n\n\n\nAccountService\n\nAccountService\n\nAccountModule -->\n\nAccountService->AccountModule\n\n\n\n\n\nAccountServiceDb\n\nAccountServiceDb\n\nAccountModule -->\n\nAccountServiceDb->AccountModule\n\n\n\n\n\nAccountServiceIdm\n\nAccountServiceIdm\n\nAccountModule -->\n\nAccountServiceIdm->AccountModule\n\n\n\n\n\nAccountValidationService\n\nAccountValidationService\n\nAccountModule -->\n\nAccountValidationService->AccountModule\n\n\n\n\n\nLegacySystemRepo\n\nLegacySystemRepo\n\nAccountModule -->\n\nLegacySystemRepo->AccountModule\n\n\n\n\n\nPermissionService\n\nPermissionService\n\nAccountModule -->\n\nPermissionService->AccountModule\n\n\n\n\n\nUserRepo\n\nUserRepo\n\nAccountModule -->\n\nUserRepo->AccountModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/account/account.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n AccountLookupService\n \n \n AccountRepo\n \n \n AccountService\n \n \n AccountServiceDb\n \n \n AccountServiceIdm\n \n \n AccountValidationService\n \n \n LegacySystemRepo\n \n \n PermissionService\n \n \n UserRepo\n \n \n \n \n Imports\n \n \n IdentityManagementModule\n \n \n LoggerModule\n \n \n \n \n Exports\n \n \n AccountService\n \n \n AccountValidationService\n \n \n \n \n \n\n\n \n\n\n \n import { IdentityManagementModule } from '@infra/identity-management';\nimport { Module } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { PermissionService } from '@shared/domain/service';\nimport { LegacySystemRepo, UserRepo } from '@shared/repo';\n\nimport { LoggerModule } from '@src/core/logger/logger.module';\nimport { ServerConfig } from '../server/server.config';\nimport { AccountIdmToDtoMapper, AccountIdmToDtoMapperDb, AccountIdmToDtoMapperIdm } from './mapper';\nimport { AccountRepo } from './repo/account.repo';\nimport { AccountServiceDb } from './services/account-db.service';\nimport { AccountServiceIdm } from './services/account-idm.service';\nimport { AccountLookupService } from './services/account-lookup.service';\nimport { AccountService } from './services/account.service';\nimport { AccountValidationService } from './services/account.validation.service';\n\nfunction accountIdmToDtoMapperFactory(configService: ConfigService): AccountIdmToDtoMapper {\n\tif (configService.get('FEATURE_IDENTITY_MANAGEMENT_LOGIN_ENABLED') === true) {\n\t\treturn new AccountIdmToDtoMapperIdm();\n\t}\n\treturn new AccountIdmToDtoMapperDb();\n}\n\n@Module({\n\timports: [IdentityManagementModule, LoggerModule],\n\tproviders: [\n\t\tUserRepo,\n\t\tLegacySystemRepo,\n\t\tPermissionService,\n\t\tAccountRepo,\n\t\tAccountServiceDb,\n\t\tAccountServiceIdm,\n\t\tAccountService,\n\t\tAccountLookupService,\n\t\tAccountValidationService,\n\t\t{\n\t\t\tprovide: AccountIdmToDtoMapper,\n\t\t\tuseFactory: accountIdmToDtoMapperFactory,\n\t\t\tinject: [ConfigService],\n\t\t},\n\t],\n\texports: [AccountService, AccountValidationService],\n})\nexport class AccountModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AccountParams.html":{"url":"interfaces/AccountParams.html","title":"interface - AccountParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AccountParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/user-and-account.test.factory.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n systemId\n \n \n \n Optional\n \n username\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n systemId\n \n \n \n \n \n \n \n \n systemId: EntityId | ObjectId\n\n \n \n\n\n \n \n Type : EntityId | ObjectId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n \n \n username: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Account, SchoolEntity, User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport _ from 'lodash';\nimport { accountFactory } from './account.factory';\nimport { userFactory } from './user.factory';\n\ninterface UserParams {\n\tfirstName?: string;\n\tlastName?: string;\n\temail?: string;\n\tschool?: SchoolEntity;\n\texternalId?: string;\n}\n\ninterface AccountParams {\n\tusername?: string;\n\tsystemId?: EntityId | ObjectId;\n}\n\nexport interface UserAndAccountParams extends UserParams, AccountParams {}\n\nexport class UserAndAccountTestFactory {\n\tprivate static getUserParams(params: UserAndAccountParams): UserParams {\n\t\tconst userParams = _.pick(params, 'firstName', 'lastName', 'email', 'school', 'externalId');\n\t\treturn userParams;\n\t}\n\n\tprivate static buildAccount(user: User, params: UserAndAccountParams = {}): Account {\n\t\tconst accountParams = _.pick(params, 'username', 'systemId');\n\t\tconst account = accountFactory.withUser(user).build(accountParams);\n\t\treturn account;\n\t}\n\n\tpublic static buildStudent(\n\t\tparams: UserAndAccountParams = {},\n\t\tadditionalPermissions: Permission[] = []\n\t): {\n\t\tstudentAccount: Account;\n\t\tstudentUser: User;\n\t} {\n\t\tconst user = userFactory\n\t\t\t.asStudent(additionalPermissions)\n\t\t\t.buildWithId(UserAndAccountTestFactory.getUserParams(params));\n\t\tconst account = UserAndAccountTestFactory.buildAccount(user, params);\n\n\t\treturn { studentAccount: account, studentUser: user };\n\t}\n\n\tpublic static buildTeacher(\n\t\tparams: UserAndAccountParams = {},\n\t\tadditionalPermissions: Permission[] = []\n\t): { teacherAccount: Account; teacherUser: User } {\n\t\tconst user = userFactory\n\t\t\t.asTeacher(additionalPermissions)\n\t\t\t.buildWithId(UserAndAccountTestFactory.getUserParams(params));\n\t\tconst account = UserAndAccountTestFactory.buildAccount(user, params);\n\n\t\treturn { teacherAccount: account, teacherUser: user };\n\t}\n\n\tpublic static buildAdmin(\n\t\tparams: UserAndAccountParams = {},\n\t\tadditionalPermissions: Permission[] = []\n\t): { adminAccount: Account; adminUser: User } {\n\t\tconst user = userFactory\n\t\t\t.asAdmin(additionalPermissions)\n\t\t\t.buildWithId(UserAndAccountTestFactory.getUserParams(params));\n\t\tconst account = UserAndAccountTestFactory.buildAccount(user, params);\n\n\t\treturn { adminAccount: account, adminUser: user };\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AccountRepo.html":{"url":"injectables/AccountRepo.html","title":"injectable - AccountRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AccountRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/repo/account.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteById\n \n \n Async\n deleteByUserId\n \n \n Async\n findByUserId\n \n \n Async\n findByUserIdOrFail\n \n \n Async\n findByUsernameAndSystemId\n \n \n Async\n findMany\n \n \n Async\n findMultipleByUserId\n \n \n Async\n flush\n \n \n getObjectReference\n \n \n saveWithoutFlush\n \n \n Private\n Async\n searchByUsername\n \n \n Async\n searchByUsernameExactMatch\n \n \n Async\n searchByUsernamePartialMatch\n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteById\n \n \n \n \n \n \n \n deleteById(accountId: EntityId | ObjectId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:59\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountId\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteByUserId\n \n \n \n \n \n \n \n deleteByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:64\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserId\n \n \n \n \n \n \n \n findByUserId(userId: EntityId | ObjectId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:19\n \n \n\n\n \n \n Finds an account by user id.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n userId\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n the user id\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserIdOrFail\n \n \n \n \n \n \n \n findByUserIdOrFail(userId: EntityId | ObjectId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUsernameAndSystemId\n \n \n \n \n \n \n \n findByUsernameAndSystemId(username: string, systemId: EntityId | ObjectId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findMany\n \n \n \n \n \n \n For migration purpose only\n \n \n \n \n \n findMany(offset: number, limit: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:74\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n offset\n \n number\n \n\n \n No\n \n\n \n 0\n \n\n \n \n limit\n \n number\n \n\n \n No\n \n\n \n 100\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findMultipleByUserId\n \n \n \n \n \n \n \n findMultipleByUserId(userIds: EntityId[] | ObjectId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userIds\n \n EntityId[] | ObjectId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n flush\n \n \n \n \n \n \n \n flush()\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:47\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n getObjectReference\n \n \n \n \n \n \ngetObjectReference(entityName: EntityName, id: Primary | Primary[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:36\n \n \n\n \n \n Type parameters :\n \n Entity\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityName\n \n EntityName\n \n\n \n No\n \n\n\n \n \n id\n \n Primary | Primary[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Entity\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n saveWithoutFlush\n \n \n \n \n \n \nsaveWithoutFlush(account: Account)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n Account\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n searchByUsername\n \n \n \n \n \n \n \n searchByUsername(username: string, offset: number, limit: number, exactMatch: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:80\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n offset\n \n number\n \n\n \n No\n \n\n\n \n \n limit\n \n number\n \n\n \n No\n \n\n\n \n \n exactMatch\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise<>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n searchByUsernameExactMatch\n \n \n \n \n \n \n \n searchByUsernameExactMatch(username: string, skip: number, limit: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n skip\n \n number\n \n\n \n No\n \n\n \n 0\n \n\n \n \n limit\n \n number\n \n\n \n No\n \n\n \n 1\n \n\n \n \n \n \n \n Returns : Promise<>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n searchByUsernamePartialMatch\n \n \n \n \n \n \n \n searchByUsernamePartialMatch(username: string, skip: number, limit: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:55\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n skip\n \n number\n \n\n \n No\n \n\n \n 0\n \n\n \n \n limit\n \n number\n \n\n \n No\n \n\n \n 10\n \n\n \n \n \n \n \n Returns : Promise<>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/account/repo/account.repo.ts:11\n \n \n\n \n \n\n \n\n\n \n import { AnyEntity, EntityName, Primary } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { Account } from '@shared/domain/entity/account.entity';\nimport { SortOrder } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '@shared/repo/base.repo';\n\n@Injectable()\nexport class AccountRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn Account;\n\t}\n\n\t/**\n\t * Finds an account by user id.\n\t * @param userId the user id\n\t */\n\tasync findByUserId(userId: EntityId | ObjectId): Promise {\n\t\treturn this._em.findOne(Account, { userId: new ObjectId(userId) });\n\t}\n\n\tasync findMultipleByUserId(userIds: EntityId[] | ObjectId[]): Promise {\n\t\tconst objectIds = userIds.map((id: EntityId | ObjectId) => new ObjectId(id));\n\t\treturn this._em.find(Account, { userId: objectIds });\n\t}\n\n\tasync findByUserIdOrFail(userId: EntityId | ObjectId): Promise {\n\t\treturn this._em.findOneOrFail(Account, { userId: new ObjectId(userId) });\n\t}\n\n\tasync findByUsernameAndSystemId(username: string, systemId: EntityId | ObjectId): Promise {\n\t\treturn this._em.findOne(Account, { username, systemId: new ObjectId(systemId) });\n\t}\n\n\tgetObjectReference>(\n\t\tentityName: EntityName,\n\t\tid: Primary | Primary[]\n\t): Entity {\n\t\treturn this._em.getReference(entityName, id);\n\t}\n\n\tsaveWithoutFlush(account: Account): void {\n\t\tthis._em.persist(account);\n\t}\n\n\tasync flush(): Promise {\n\t\tawait this._em.flush();\n\t}\n\n\tasync searchByUsernameExactMatch(username: string, skip = 0, limit = 1): Promise {\n\t\treturn this.searchByUsername(username, skip, limit, true);\n\t}\n\n\tasync searchByUsernamePartialMatch(username: string, skip = 0, limit = 10): Promise {\n\t\treturn this.searchByUsername(username, skip, limit, false);\n\t}\n\n\tasync deleteById(accountId: EntityId | ObjectId): Promise {\n\t\tconst account = await this.findById(accountId);\n\t\treturn this.delete(account);\n\t}\n\n\tasync deleteByUserId(userId: EntityId): Promise {\n\t\tconst account = await this.findByUserId(userId);\n\t\tif (account) {\n\t\t\tawait this._em.removeAndFlush(account);\n\t\t}\n\t}\n\n\t/**\n\t * @deprecated For migration purpose only\n\t */\n\tasync findMany(offset = 0, limit = 100): Promise {\n\t\tconst result = await this._em.find(this.entityName, {}, { offset, limit, orderBy: { _id: SortOrder.asc } });\n\t\tthis._em.clear();\n\t\treturn result;\n\t}\n\n\tprivate async searchByUsername(\n\t\tusername: string,\n\t\toffset: number,\n\t\tlimit: number,\n\t\texactMatch: boolean\n\t): Promise {\n\t\t// escapes every character, that's not a unicode letter or number\n\t\tconst escapedUsername = username.replace(/[^(\\p{L}\\p{N})]/gu, '\\\\$&');\n\t\tconst searchUsername = exactMatch ? `^${escapedUsername}$` : escapedUsername;\n\t\treturn this._em.findAndCount(\n\t\t\tthis.entityName,\n\t\t\t{\n\t\t\t\t// NOTE: The default behavior of the MongoDB driver allows\n\t\t\t\t// to pass regular expressions directly into the where clause\n\t\t\t\t// without the need of using the $re operator, this will NOT\n\t\t\t\t// work with SQL drivers\n\t\t\t\tusername: new RegExp(searchUsername, 'i'),\n\t\t\t},\n\t\t\t{\n\t\t\t\toffset,\n\t\t\t\tlimit,\n\t\t\t\torderBy: { username: 1 },\n\t\t\t}\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountResponse.html":{"url":"classes/AccountResponse.html","title":"class - AccountResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/controller/dto/account.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n activated\n \n \n \n id\n \n \n \n Optional\n updatedAt\n \n \n \n Optional\n userId\n \n \n \n username\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: AccountResponse)\n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n AccountResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n activated\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n updatedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account.response.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n userId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account.response.ts:16\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class AccountResponse {\n\tconstructor({ id, username, userId, activated, updatedAt }: AccountResponse) {\n\t\tthis.id = id;\n\t\tthis.username = username;\n\t\tthis.userId = userId;\n\t\tthis.activated = activated;\n\t\tthis.updatedAt = updatedAt;\n\t}\n\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\tusername: string;\n\n\t@ApiProperty()\n\tuserId?: string;\n\n\t@ApiProperty()\n\tactivated?: boolean;\n\n\t@ApiProperty()\n\tupdatedAt?: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountResponseMapper.html":{"url":"classes/AccountResponseMapper.html","title":"class - AccountResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/mapper/account-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n Static\n mapToResponseFromEntity\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(account: AccountDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/mapper/account-response.mapper.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n AccountDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AccountResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToResponseFromEntity\n \n \n \n \n \n \n \n mapToResponseFromEntity(account: Account)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/mapper/account-response.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n Account\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AccountResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { AccountDto } from '@modules/account/services/dto/account.dto';\nimport { Account } from '@shared/domain/entity';\nimport { AccountResponse } from '../controller/dto';\n\nexport class AccountResponseMapper {\n\tstatic mapToResponseFromEntity(account: Account): AccountResponse {\n\t\treturn new AccountResponse({\n\t\t\tid: account.id,\n\t\t\tuserId: account.userId?.toString(),\n\t\t\tactivated: account.activated,\n\t\t\tusername: account.username,\n\t\t\tupdatedAt: account.updatedAt,\n\t\t});\n\t}\n\n\tstatic mapToResponse(account: AccountDto): AccountResponse {\n\t\treturn new AccountResponse({\n\t\t\tid: account.id,\n\t\t\tuserId: account.userId,\n\t\t\tactivated: account.activated,\n\t\t\tusername: account.username,\n\t\t\tupdatedAt: account.updatedAt,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountSaveDto.html":{"url":"classes/AccountSaveDto.html","title":"class - AccountSaveDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountSaveDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/services/dto/account-save.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n activated\n \n \n \n \n Readonly\n Optional\n createdAt\n \n \n \n \n Optional\n credentialHash\n \n \n \n \n Optional\n expiresAt\n \n \n \n \n Readonly\n Optional\n id\n \n \n \n Optional\n idmReferenceId\n \n \n \n \n Optional\n lasttriedFailedLogin\n \n \n \n \n \n Optional\n password\n \n \n \n \n Optional\n systemId\n \n \n \n \n Optional\n token\n \n \n \n \n Readonly\n Optional\n updatedAt\n \n \n \n \n Optional\n userId\n \n \n \n \n username\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: AccountSaveDto)\n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:57\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n AccountSaveDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n activated\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsBoolean()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n createdAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsDate()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n credentialHash\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n expiresAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsDate()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:50\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n idmReferenceId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:57\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n lasttriedFailedLogin\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsDate()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n password\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @PrivacyProtect()@IsOptional()@Matches(passwordPattern)\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n systemId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n token\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n updatedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsDate()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n userId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:38\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/account/services/dto/account-save.dto.ts:21\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { PrivacyProtect } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { IsBoolean, IsDate, IsMongoId, IsNotEmpty, IsOptional, IsString, Matches } from 'class-validator';\nimport { passwordPattern } from '../../controller/dto/password-pattern';\n\nexport class AccountSaveDto {\n\t@IsOptional()\n\t@IsMongoId()\n\treadonly id?: EntityId;\n\n\t@IsOptional()\n\t@IsDate()\n\treadonly createdAt?: Date;\n\n\t@IsOptional()\n\t@IsDate()\n\treadonly updatedAt?: Date;\n\n\t@IsString()\n\t@IsNotEmpty()\n\tusername: string;\n\n\t@PrivacyProtect()\n\t@IsOptional()\n\t@Matches(passwordPattern)\n\tpassword?: string;\n\n\t@IsOptional()\n\t@IsString()\n\ttoken?: string;\n\n\t@IsOptional()\n\t@IsString()\n\tcredentialHash?: string;\n\n\t@IsOptional()\n\t@IsMongoId()\n\tuserId?: EntityId;\n\n\t@IsOptional()\n\t@IsMongoId()\n\tsystemId?: EntityId;\n\n\t@IsOptional()\n\t@IsDate()\n\tlasttriedFailedLogin?: Date;\n\n\t@IsOptional()\n\t@IsDate()\n\texpiresAt?: Date;\n\n\t@IsOptional()\n\t@IsBoolean()\n\tactivated?: boolean;\n\n\t@IsOptional()\n\tidmReferenceId?: string;\n\n\tconstructor(props: AccountSaveDto) {\n\t\tthis.id = props.id;\n\t\tthis.createdAt = props.createdAt;\n\t\tthis.updatedAt = props.updatedAt;\n\t\tthis.username = props.username;\n\t\tthis.password = props.password;\n\t\tthis.token = props.token;\n\t\tthis.credentialHash = props.credentialHash;\n\t\tthis.userId = props.userId;\n\t\tthis.systemId = props.systemId;\n\t\tthis.lasttriedFailedLogin = props.lasttriedFailedLogin;\n\t\tthis.expiresAt = props.expiresAt;\n\t\tthis.activated = props.activated;\n\t\tthis.idmReferenceId = props.idmReferenceId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountSearchListResponse.html":{"url":"classes/AccountSearchListResponse.html","title":"class - AccountSearchListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountSearchListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/controller/dto/account-search-list.response.ts\n \n\n\n\n \n Extends\n \n \n PaginationResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: AccountResponse[], total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account-search-list.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n AccountResponse[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : AccountResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:14\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { PaginationResponse } from '@shared/controller';\nimport { AccountResponse } from './account.response';\n\nexport class AccountSearchListResponse extends PaginationResponse {\n\tconstructor(data: AccountResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [AccountResponse] })\n\tdata: AccountResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AccountSearchQueryParams.html":{"url":"classes/AccountSearchQueryParams.html","title":"class - AccountSearchQueryParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AccountSearchQueryParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/controller/dto/account-search.query.params.ts\n \n\n\n\n \n Extends\n \n \n PaginationParams\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n type\n \n \n \n \n value\n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n Optional\n skip\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : AccountSearchType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(AccountSearchType)@ApiProperty({description: 'The search criteria.', enum: AccountSearchType, required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account-search.query.params.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n value\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({description: 'The search value.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/account-search.query.params.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 10\n \n \n \n \n Decorators : \n \n \n @IsInt()@Min(1)@Max(100)@ApiPropertyOptional({description: 'Page limit, defaults to 10.', minimum: 1, maximum: 99})\n \n \n \n \n \n Inherited from PaginationParams\n\n \n \n \n \n Defined in PaginationParams:14\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Decorators : \n \n \n @IsInt()@Min(0)@ApiPropertyOptional({description: 'Number of elements (not pages) to be skipped'})\n \n \n \n \n \n Inherited from PaginationParams\n\n \n \n \n \n Defined in PaginationParams:8\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsEnum, IsString } from 'class-validator';\nimport { PaginationParams } from '@shared/controller';\nimport { AccountSearchType } from './account-search-type';\n\nexport class AccountSearchQueryParams extends PaginationParams {\n\t@IsEnum(AccountSearchType)\n\t@ApiProperty({\n\t\tdescription: 'The search criteria.',\n\t\tenum: AccountSearchType,\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\ttype!: AccountSearchType;\n\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'The search value.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tvalue!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AccountServiceDb.html":{"url":"injectables/AccountServiceDb.html","title":"injectable - AccountServiceDb","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AccountServiceDb\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/services/account-db.service.ts\n \n\n\n\n \n Extends\n \n \n AbstractAccountService\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n delete\n \n \n Async\n deleteByUserId\n \n \n Private\n encryptPassword\n \n \n Async\n findById\n \n \n Async\n findByUserId\n \n \n Async\n findByUserIdOrFail\n \n \n Async\n findByUsernameAndSystemId\n \n \n Async\n findMany\n \n \n Async\n findMultipleByUserId\n \n \n Private\n Async\n getInternalId\n \n \n Async\n save\n \n \n Async\n searchByUsernameExactMatch\n \n \n Async\n searchByUsernamePartialMatch\n \n \n Async\n updateLastTriedFailedLogin\n \n \n Async\n updatePassword\n \n \n Async\n updateUsername\n \n \n validatePassword\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(accountRepo: AccountRepo, accountLookupService: AccountLookupService)\n \n \n \n \n Defined in apps/server/src/modules/account/services/account-db.service.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountRepo\n \n \n AccountRepo\n \n \n \n No\n \n \n \n \n accountLookupService\n \n \n AccountLookupService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(id: EntityId)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:109\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteByUserId\n \n \n \n \n \n \n \n deleteByUserId(userId: EntityId)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:114\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n encryptPassword\n \n \n \n \n \n \n \n encryptPassword(password: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account-db.service.ts:143\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n password\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserId\n \n \n \n \n \n \n \n findByUserId(userId: EntityId)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserIdOrFail\n \n \n \n \n \n \n \n findByUserIdOrFail(userId: EntityId)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUsernameAndSystemId\n \n \n \n \n \n \n \n findByUsernameAndSystemId(username: string, systemId: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:43\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findMany\n \n \n \n \n \n \n \n findMany(offset: number, limit: number)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:147\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n offset\n \n number\n \n\n \n No\n \n\n \n 0\n \n\n \n \n limit\n \n number\n \n\n \n No\n \n\n \n 100\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findMultipleByUserId\n \n \n \n \n \n \n \n findMultipleByUserId(userIds: EntityId[])\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:25\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getInternalId\n \n \n \n \n \n \n \n getInternalId(id: EntityId | ObjectId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account-db.service.ts:135\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(accountDto: AccountSaveDto)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:48\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountDto\n \n AccountSaveDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n searchByUsernameExactMatch\n \n \n \n \n \n \n \n searchByUsernameExactMatch(userName: string)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:123\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n searchByUsernamePartialMatch\n \n \n \n \n \n \n \n searchByUsernamePartialMatch(userName: string, skip: number, limit: number)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:118\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userName\n \n string\n \n\n \n No\n \n\n\n \n \n skip\n \n number\n \n\n \n No\n \n\n\n \n \n limit\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateLastTriedFailedLogin\n \n \n \n \n \n \n \n updateLastTriedFailedLogin(accountId: EntityId, lastTriedFailedLogin: Date)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:92\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n lastTriedFailedLogin\n \n Date\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updatePassword\n \n \n \n \n \n \n \n updatePassword(accountId: EntityId, password: string)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:100\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n password\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateUsername\n \n \n \n \n \n \n \n updateUsername(accountId: EntityId, username: string)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n validatePassword\n \n \n \n \n \n \nvalidatePassword(account: AccountDto, comparePassword: string)\n \n \n\n\n \n \n Inherited from AbstractAccountService\n\n \n \n \n \n Defined in AbstractAccountService:128\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n AccountDto\n \n\n \n No\n \n\n\n \n \n comparePassword\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { EntityNotFoundError } from '@shared/common';\nimport { Account } from '@shared/domain/entity';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport bcrypt from 'bcryptjs';\nimport { AccountEntityToDtoMapper } from '../mapper';\nimport { AccountRepo } from '../repo/account.repo';\nimport { AccountLookupService } from './account-lookup.service';\nimport { AbstractAccountService } from './account.service.abstract';\nimport { AccountDto, AccountSaveDto } from './dto';\n\n@Injectable()\nexport class AccountServiceDb extends AbstractAccountService {\n\tconstructor(private readonly accountRepo: AccountRepo, private readonly accountLookupService: AccountLookupService) {\n\t\tsuper();\n\t}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst internalId = await this.getInternalId(id);\n\t\tconst accountEntity = await this.accountRepo.findById(internalId);\n\t\treturn AccountEntityToDtoMapper.mapToDto(accountEntity);\n\t}\n\n\tasync findMultipleByUserId(userIds: EntityId[]): Promise {\n\t\tconst accountEntities = await this.accountRepo.findMultipleByUserId(userIds);\n\t\treturn AccountEntityToDtoMapper.mapAccountsToDto(accountEntities);\n\t}\n\n\tasync findByUserId(userId: EntityId): Promise {\n\t\tconst accountEntity = await this.accountRepo.findByUserId(userId);\n\t\treturn accountEntity ? AccountEntityToDtoMapper.mapToDto(accountEntity) : null;\n\t}\n\n\tasync findByUserIdOrFail(userId: EntityId): Promise {\n\t\tconst accountEntity = await this.accountRepo.findByUserId(userId);\n\t\tif (!accountEntity) {\n\t\t\tthrow new EntityNotFoundError('Account');\n\t\t}\n\t\treturn AccountEntityToDtoMapper.mapToDto(accountEntity);\n\t}\n\n\tasync findByUsernameAndSystemId(username: string, systemId: EntityId | ObjectId): Promise {\n\t\tconst accountEntity = await this.accountRepo.findByUsernameAndSystemId(username, systemId);\n\t\treturn accountEntity ? AccountEntityToDtoMapper.mapToDto(accountEntity) : null;\n\t}\n\n\tasync save(accountDto: AccountSaveDto): Promise {\n\t\tlet account: Account;\n\t\tif (accountDto.id) {\n\t\t\tconst internalId = await this.getInternalId(accountDto.id);\n\t\t\taccount = await this.accountRepo.findById(internalId);\n\t\t\taccount.userId = new ObjectId(accountDto.userId);\n\t\t\taccount.systemId = accountDto.systemId ? new ObjectId(accountDto.systemId) : undefined;\n\t\t\taccount.username = accountDto.username;\n\t\t\taccount.activated = accountDto.activated;\n\t\t\taccount.expiresAt = accountDto.expiresAt;\n\t\t\taccount.lasttriedFailedLogin = accountDto.lasttriedFailedLogin;\n\t\t\tif (accountDto.password) {\n\t\t\t\taccount.password = await this.encryptPassword(accountDto.password);\n\t\t\t}\n\t\t\taccount.credentialHash = accountDto.credentialHash;\n\t\t\taccount.token = accountDto.token;\n\n\t\t\tawait this.accountRepo.save(account);\n\t\t} else {\n\t\t\taccount = new Account({\n\t\t\t\tuserId: new ObjectId(accountDto.userId),\n\t\t\t\tsystemId: accountDto.systemId ? new ObjectId(accountDto.systemId) : undefined,\n\t\t\t\tusername: accountDto.username,\n\t\t\t\tactivated: accountDto.activated,\n\t\t\t\texpiresAt: accountDto.expiresAt,\n\t\t\t\tlasttriedFailedLogin: accountDto.lasttriedFailedLogin,\n\t\t\t\tpassword: accountDto.password ? await this.encryptPassword(accountDto.password) : undefined,\n\t\t\t\ttoken: accountDto.token,\n\t\t\t\tcredentialHash: accountDto.credentialHash,\n\t\t\t});\n\n\t\t\tawait this.accountRepo.save(account);\n\t\t}\n\t\treturn AccountEntityToDtoMapper.mapToDto(account);\n\t}\n\n\tasync updateUsername(accountId: EntityId, username: string): Promise {\n\t\tconst internalId = await this.getInternalId(accountId);\n\t\tconst account = await this.accountRepo.findById(internalId);\n\t\taccount.username = username;\n\t\tawait this.accountRepo.save(account);\n\t\treturn AccountEntityToDtoMapper.mapToDto(account);\n\t}\n\n\tasync updateLastTriedFailedLogin(accountId: EntityId, lastTriedFailedLogin: Date): Promise {\n\t\tconst internalId = await this.getInternalId(accountId);\n\t\tconst account = await this.accountRepo.findById(internalId);\n\t\taccount.lasttriedFailedLogin = lastTriedFailedLogin;\n\t\tawait this.accountRepo.save(account);\n\t\treturn AccountEntityToDtoMapper.mapToDto(account);\n\t}\n\n\tasync updatePassword(accountId: EntityId, password: string): Promise {\n\t\tconst internalId = await this.getInternalId(accountId);\n\t\tconst account = await this.accountRepo.findById(internalId);\n\t\taccount.password = await this.encryptPassword(password);\n\n\t\tawait this.accountRepo.save(account);\n\t\treturn AccountEntityToDtoMapper.mapToDto(account);\n\t}\n\n\tasync delete(id: EntityId): Promise {\n\t\tconst internalId = await this.getInternalId(id);\n\t\treturn this.accountRepo.deleteById(internalId);\n\t}\n\n\tasync deleteByUserId(userId: EntityId): Promise {\n\t\treturn this.accountRepo.deleteByUserId(userId);\n\t}\n\n\tasync searchByUsernamePartialMatch(userName: string, skip: number, limit: number): Promise> {\n\t\tconst accountEntities = await this.accountRepo.searchByUsernamePartialMatch(userName, skip, limit);\n\t\treturn AccountEntityToDtoMapper.mapSearchResult(accountEntities);\n\t}\n\n\tasync searchByUsernameExactMatch(userName: string): Promise> {\n\t\tconst accountEntities = await this.accountRepo.searchByUsernameExactMatch(userName);\n\t\treturn AccountEntityToDtoMapper.mapSearchResult(accountEntities);\n\t}\n\n\tvalidatePassword(account: AccountDto, comparePassword: string): Promise {\n\t\tif (!account.password) {\n\t\t\treturn Promise.resolve(false);\n\t\t}\n\t\treturn bcrypt.compare(comparePassword, account.password);\n\t}\n\n\tprivate async getInternalId(id: EntityId | ObjectId): Promise {\n\t\tconst internalId = await this.accountLookupService.getInternalId(id);\n\t\tif (!internalId) {\n\t\t\tthrow new EntityNotFoundError(`Account with id ${id.toString()} not found`);\n\t\t}\n\t\treturn internalId;\n\t}\n\n\tprivate encryptPassword(password: string): Promise {\n\t\treturn bcrypt.hash(password, 10);\n\t}\n\n\tasync findMany(offset = 0, limit = 100): Promise {\n\t\treturn AccountEntityToDtoMapper.mapAccountsToDto(await this.accountRepo.findMany(offset, limit));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AccountValidationService.html":{"url":"injectables/AccountValidationService.html","title":"injectable - AccountValidationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AccountValidationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/services/account.validation.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n isUniqueEmail\n \n \n Async\n isUniqueEmailForAccount\n \n \n Async\n isUniqueEmailForUser\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(accountRepo: AccountRepo, userRepo: UserRepo)\n \n \n \n \n Defined in apps/server/src/modules/account/services/account.validation.service.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountRepo\n \n \n AccountRepo\n \n \n \n No\n \n \n \n \n userRepo\n \n \n UserRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n isUniqueEmail\n \n \n \n \n \n \n \n isUniqueEmail(email: string, userId?: EntityId, accountId?: EntityId, systemId?: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.validation.service.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n email\n \n string\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n Yes\n \n\n\n \n \n accountId\n \n EntityId\n \n\n \n Yes\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n isUniqueEmailForAccount\n \n \n \n \n \n \n \n isUniqueEmailForAccount(email: string, accountId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.validation.service.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n email\n \n string\n \n\n \n No\n \n\n\n \n \n accountId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n isUniqueEmailForUser\n \n \n \n \n \n \n \n isUniqueEmailForUser(email: string, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/account/services/account.validation.service.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n email\n \n string\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { UserRepo } from '@shared/repo';\nimport { AccountEntityToDtoMapper } from '../mapper/account-entity-to-dto.mapper';\nimport { AccountRepo } from '../repo/account.repo';\n\n@Injectable()\nexport class AccountValidationService {\n\tconstructor(private accountRepo: AccountRepo, private userRepo: UserRepo) {}\n\n\tasync isUniqueEmail(email: string, userId?: EntityId, accountId?: EntityId, systemId?: EntityId): Promise {\n\t\tconst [foundUsers, [accounts]] = await Promise.all([\n\t\t\t// Test coverage: Missing branch null check; unreachable\n\t\t\tthis.userRepo.findByEmail(email),\n\t\t\tAccountEntityToDtoMapper.mapSearchResult(await this.accountRepo.searchByUsernameExactMatch(email)),\n\t\t]);\n\n\t\tconst filteredAccounts = accounts.filter((foundAccount) => foundAccount.systemId === systemId);\n\n\t\treturn !(\n\t\t\tfoundUsers.length > 1 ||\n\t\t\tfilteredAccounts.length > 1 ||\n\t\t\t// paranoid 'toString': legacy code may call userId or accountId as ObjectID\n\t\t\t(foundUsers.length === 1 && foundUsers[0].id.toString() !== userId?.toString()) ||\n\t\t\t(filteredAccounts.length === 1 && filteredAccounts[0].id.toString() !== accountId?.toString())\n\t\t);\n\t}\n\n\tasync isUniqueEmailForUser(email: string, userId: EntityId): Promise {\n\t\tconst account = await this.accountRepo.findByUserId(userId);\n\t\treturn this.isUniqueEmail(email, userId, account?.id, account?.systemId?.toString());\n\t}\n\n\tasync isUniqueEmailForAccount(email: string, accountId: EntityId): Promise {\n\t\tconst account = await this.accountRepo.findById(accountId);\n\t\treturn this.isUniqueEmail(email, account.userId?.toString(), account.id, account?.systemId?.toString());\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AdminApiServerModule.html":{"url":"modules/AdminApiServerModule.html","title":"module - AdminApiServerModule","body":"\n \n\n\n\n\n Modules\n AdminApiServerModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_AdminApiServerModule\n\n\n\ncluster_AdminApiServerModule_imports\n\n\n\n\nDeletionApiModule\n\nDeletionApiModule\n\n\n\nAdminApiServerModule\n\nAdminApiServerModule\n\nAdminApiServerModule -->\n\nDeletionApiModule->AdminApiServerModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nAdminApiServerModule -->\n\nLoggerModule->AdminApiServerModule\n\n\n\n\n\nRabbitMQWrapperModule\n\nRabbitMQWrapperModule\n\nAdminApiServerModule -->\n\nRabbitMQWrapperModule->AdminApiServerModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/server/admin-api.server.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n DeletionApiModule\n \n \n LoggerModule\n \n \n RabbitMQWrapperModule\n \n \n \n \n \n\n\n \n\n\n \n import { MikroOrmModule } from '@mikro-orm/nestjs';\nimport { DynamicModule, Module } from '@nestjs/common';\n// import { ALL_ENTITIES } from '@shared/domain';\nimport { FileEntity } from '@modules/files/entity';\nimport { ConfigModule } from '@nestjs/config';\nimport { ALL_ENTITIES } from '@shared/domain/entity';\nimport { DB_PASSWORD, DB_URL, DB_USERNAME, createConfigModuleOptions } from '@src/config';\nimport { LoggerModule } from '@src/core/logger';\nimport { MongoDatabaseModuleOptions, MongoMemoryDatabaseModule } from '@src/infra/database';\nimport { RabbitMQWrapperModule, RabbitMQWrapperTestModule } from '@src/infra/rabbitmq';\nimport { DeletionApiModule } from '../deletion/deletion-api.module';\nimport { serverConfig } from './server.config';\nimport { defaultMikroOrmOptions } from './server.module';\n\nconst serverModules = [ConfigModule.forRoot(createConfigModuleOptions(serverConfig)), DeletionApiModule];\n\n@Module({\n\timports: [\n\t\tRabbitMQWrapperModule,\n\t\t...serverModules,\n\t\tMikroOrmModule.forRoot({\n\t\t\t...defaultMikroOrmOptions,\n\t\t\ttype: 'mongo',\n\t\t\tclientUrl: DB_URL,\n\t\t\tpassword: DB_PASSWORD,\n\t\t\tuser: DB_USERNAME,\n\t\t\tentities: [...ALL_ENTITIES, FileEntity],\n\t\t\tdebug: true,\n\t\t}),\n\t\tLoggerModule,\n\t],\n})\nexport class AdminApiServerModule {}\n\n@Module({\n\timports: [\n\t\t...serverModules,\n\t\tMongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions }),\n\t\tRabbitMQWrapperTestModule,\n\t\tLoggerModule,\n\t],\n})\nexport class AdminApiServerTestModule {\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: AdminApiServerTestModule,\n\t\t\timports: [\n\t\t\t\t...serverModules,\n\t\t\t\tMongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions, ...options }),\n\t\t\t\tRabbitMQWrapperTestModule,\n\t\t\t],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AdminApiServerTestModule.html":{"url":"modules/AdminApiServerTestModule.html","title":"module - AdminApiServerTestModule","body":"\n \n\n\n\n\n Modules\n AdminApiServerTestModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_AdminApiServerTestModule\n\n\n\ncluster_AdminApiServerTestModule_imports\n\n\n\n\nDeletionApiModule\n\nDeletionApiModule\n\n\n\nAdminApiServerTestModule\n\nAdminApiServerTestModule\n\nAdminApiServerTestModule -->\n\nDeletionApiModule->AdminApiServerTestModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nAdminApiServerTestModule -->\n\nLoggerModule->AdminApiServerTestModule\n\n\n\n\n\nMongoMemoryDatabaseModule\n\nMongoMemoryDatabaseModule\n\nAdminApiServerTestModule -->\n\nMongoMemoryDatabaseModule->AdminApiServerTestModule\n\n\n\n\n\nRabbitMQWrapperTestModule\n\nRabbitMQWrapperTestModule\n\nAdminApiServerTestModule -->\n\nRabbitMQWrapperTestModule->AdminApiServerTestModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/server/admin-api.server.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n DeletionApiModule\n \n \n LoggerModule\n \n \n MongoMemoryDatabaseModule\n \n \n RabbitMQWrapperTestModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options?: MongoDatabaseModuleOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/server/admin-api.server.module.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n MongoDatabaseModuleOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { MikroOrmModule } from '@mikro-orm/nestjs';\nimport { DynamicModule, Module } from '@nestjs/common';\n// import { ALL_ENTITIES } from '@shared/domain';\nimport { FileEntity } from '@modules/files/entity';\nimport { ConfigModule } from '@nestjs/config';\nimport { ALL_ENTITIES } from '@shared/domain/entity';\nimport { DB_PASSWORD, DB_URL, DB_USERNAME, createConfigModuleOptions } from '@src/config';\nimport { LoggerModule } from '@src/core/logger';\nimport { MongoDatabaseModuleOptions, MongoMemoryDatabaseModule } from '@src/infra/database';\nimport { RabbitMQWrapperModule, RabbitMQWrapperTestModule } from '@src/infra/rabbitmq';\nimport { DeletionApiModule } from '../deletion/deletion-api.module';\nimport { serverConfig } from './server.config';\nimport { defaultMikroOrmOptions } from './server.module';\n\nconst serverModules = [ConfigModule.forRoot(createConfigModuleOptions(serverConfig)), DeletionApiModule];\n\n@Module({\n\timports: [\n\t\tRabbitMQWrapperModule,\n\t\t...serverModules,\n\t\tMikroOrmModule.forRoot({\n\t\t\t...defaultMikroOrmOptions,\n\t\t\ttype: 'mongo',\n\t\t\tclientUrl: DB_URL,\n\t\t\tpassword: DB_PASSWORD,\n\t\t\tuser: DB_USERNAME,\n\t\t\tentities: [...ALL_ENTITIES, FileEntity],\n\t\t\tdebug: true,\n\t\t}),\n\t\tLoggerModule,\n\t],\n})\nexport class AdminApiServerModule {}\n\n@Module({\n\timports: [\n\t\t...serverModules,\n\t\tMongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions }),\n\t\tRabbitMQWrapperTestModule,\n\t\tLoggerModule,\n\t],\n})\nexport class AdminApiServerTestModule {\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: AdminApiServerTestModule,\n\t\t\timports: [\n\t\t\t\t...serverModules,\n\t\t\t\tMongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions, ...options }),\n\t\t\t\tRabbitMQWrapperTestModule,\n\t\t\t],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AdminIdAndToken.html":{"url":"interfaces/AdminIdAndToken.html","title":"interface - AdminIdAndToken","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AdminIdAndToken\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat/rocket-chat.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n token\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n token\n \n \n \n \n \n \n \n \n token: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { HttpService } from '@nestjs/axios';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { lastValueFrom } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\nexport interface RocketChatOptions {\n\turi?: string;\n\tadminUser?: string;\n\tadminPassword?: string;\n\tadminId?: string;\n\tadminToken?: string;\n}\n\nexport interface RocketChatGroupModel {\n\tgroup: {\n\t\t_id: string;\n\t\tname: string;\n\t\tfname: string;\n\t\tt: string;\n\t\tmsgs: number;\n\t\tusersCount: number;\n\t\tu: {\n\t\t\t_id: string;\n\t\t\tusername: string;\n\t\t};\n\t\tcustomfields: object;\n\t\tbroadcast: boolean;\n\t\tencrypted: boolean;\n\t\tts: Date;\n\t\tro: boolean;\n\t\tdefaults: boolean;\n\t\tsysmes: boolean;\n\t\t_updatedAt: Date;\n\t};\n\tsuccess: boolean;\n}\n\ntype GenericData = Record;\n\nexport class RocketChatError extends Error {\n\tprivate statusCode: number;\n\n\tprivate response: GenericData;\n\n\t// rocketchat specific error type\n\tprivate errorType: string;\n\n\tconstructor(e: any) {\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-argument\n\t\tsuper(e.response.statusText);\n\n\t\t// Set the prototype explicitly.\n\t\tObject.setPrototypeOf(this, RocketChatError.prototype);\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-member-access\n\t\tthis.statusCode = e.response.statusCode;\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment\n\t\tthis.response = e.response.data;\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment\n\t\tthis.errorType = e.response.data.errorType;\n\t}\n}\n\ninterface AdminIdAndToken {\n\tid: string;\n\ttoken: string;\n}\n\n@Injectable()\nexport class RocketChatService {\n\tprivate adminIdAndToken?: AdminIdAndToken;\n\n\tconstructor(\n\t\t@Inject('ROCKET_CHAT_OPTIONS') private readonly options: RocketChatOptions,\n\t\tprivate readonly httpService: HttpService\n\t) {}\n\n\tpublic async me(authToken: string, userId: string): Promise {\n\t\treturn this.get('/api/v1/me', authToken, userId);\n\t}\n\n\tpublic async setUserStatus(authToken: string, userId: string, status: string): Promise {\n\t\treturn this.post('/api/v1/users.setStatus', authToken, userId, {\n\t\t\tmessage: '',\n\t\t\tstatus,\n\t\t});\n\t}\n\n\tpublic async createUserToken(userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.createToken', {\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async logoutUser(authToken: string, userId: string): Promise {\n\t\treturn this.post('/api/v1/logout', authToken, userId, {});\n\t}\n\n\tpublic async getUserList(queryString: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/users.list?${queryString}`);\n\t}\n\n\tpublic async unarchiveGroup(groupName: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.unarchive', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async archiveGroup(groupName: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.archive', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async kickUserFromGroup(groupName: string, userId: string): Promise {\n\t\tconst groupInfo: RocketChatGroupModel = await this.getGroupData(groupName);\n\n\t\treturn this.postAsAdmin('/api/v1/groups.kick', {\n\t\t\troomId: groupInfo.group._id,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async inviteUserToGroup(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.invite', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async addGroupModerator(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.addModerator', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async removeGroupModerator(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.removeModerator', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async getGroupModerators(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.moderators?roomName=${groupName}`);\n\t}\n\n\tpublic async getGroupMembers(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.members?roomName=${groupName}`);\n\t}\n\n\tprivate async getGroupData(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.info?roomName=${groupName}`);\n\t}\n\n\tpublic async createGroup(name: string, members: string[]): Promise {\n\t\t// group.name is only used\n\t\treturn this.postAsAdmin('/api/v1/groups.create', {\n\t\t\tname,\n\t\t\tmembers,\n\t\t});\n\t}\n\n\tpublic async deleteGroup(groupName: string): Promise {\n\t\t// group.name is only used\n\t\treturn this.postAsAdmin('/api/v1/groups.delete', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async createUser(email: string, password: string, username: string, name: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.create', {\n\t\t\temail,\n\t\t\tpassword,\n\t\t\tusername,\n\t\t\tname,\n\t\t\tverified: true,\n\t\t});\n\t}\n\n\tpublic async deleteUser(username: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.delete', {\n\t\t\tusername,\n\t\t});\n\t}\n\n\tprivate async postAsAdmin(path: string, body: GenericData): Promise {\n\t\tconst adminIdAndToken = await this.getAdminIdAndToken();\n\t\treturn this.post(path, adminIdAndToken.token, adminIdAndToken.id, body);\n\t}\n\n\tprivate async getAsAdmin(path: string): Promise {\n\t\tconst adminIdAndToken = await this.getAdminIdAndToken();\n\t\treturn this.get(path, adminIdAndToken.token, adminIdAndToken.id);\n\t}\n\n\tprivate async get(path: string, authToken: string, userId: string): Promise {\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.get(`${this.options.uri}${path}`, {\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'X-Auth-Token': authToken,\n\t\t\t\t\t\t'X-User-ID': userId,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\t\treturn response?.data as Type;\n\t}\n\n\tprivate async post(path: string, authToken: string, userId: string, body: GenericData): Promise {\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.post(`${this.options.uri}${path}`, body, {\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'X-Auth-Token': authToken,\n\t\t\t\t\t\t'X-User-ID': userId,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\t\treturn response?.data as GenericData;\n\t}\n\n\tprivate async getAdminIdAndToken(): Promise {\n\t\tthis.validateRocketChatConfig();\n\n\t\tif (this.adminIdAndToken) {\n\t\t\treturn this.adminIdAndToken;\n\t\t}\n\n\t\tif (this.options.adminId && this.options.adminToken) {\n\t\t\tconst newVar = { id: this.options.adminId, token: this.options.adminToken } as AdminIdAndToken;\n\t\t\tthis.adminIdAndToken = newVar;\n\t\t\treturn newVar;\n\t\t}\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.post(`${this.options.uri}/api/v1/login`, {\n\t\t\t\t\tuser: this.options.adminUser,\n\t\t\t\t\tpassword: this.options.adminPassword,\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\tconst responseJson = response?.data;\n\t\tthis.adminIdAndToken = {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\tid: responseJson.data.userId as string,\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\ttoken: responseJson.data.authToken as string,\n\t\t} as AdminIdAndToken;\n\t\treturn this.adminIdAndToken;\n\t}\n\n\tprivate validateRocketChatConfig(): void {\n\t\tif (!this.options.uri) {\n\t\t\tthrow new Error('rocket chat uri not set');\n\t\t}\n\t\tif (!(this.options.adminId && this.options.adminToken) && !(this.options.adminUser && this.options.adminPassword)) {\n\t\t\tthrow new Error('rocket chat adminId and adminToken OR adminUser and adminPassword must be set');\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AjaxGetQueryParams.html":{"url":"classes/AjaxGetQueryParams.html","title":"class - AjaxGetQueryParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AjaxGetQueryParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/ajax/get.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n action\n \n \n \n \n Optional\n language\n \n \n \n \n Optional\n machineName\n \n \n \n \n Optional\n majorVersion\n \n \n \n \n Optional\n minorVersion\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n action\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/get.params.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n language\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/get.params.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n machineName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/get.params.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n majorVersion\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/get.params.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n minorVersion\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/get.params.ts:18\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsNotEmpty, IsOptional, IsString } from 'class-validator';\n\nexport class AjaxGetQueryParams {\n\t@IsString()\n\t@IsNotEmpty()\n\taction!: string;\n\n\t@IsString()\n\t@IsOptional()\n\tmachineName?: string;\n\n\t@IsString()\n\t@IsOptional()\n\tmajorVersion?: string;\n\n\t@IsString()\n\t@IsOptional()\n\tminorVersion?: string;\n\n\t@IsString()\n\t@IsOptional()\n\tlanguage?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AjaxPostBodyParamsTransformPipe.html":{"url":"injectables/AjaxPostBodyParamsTransformPipe.html","title":"injectable - AjaxPostBodyParamsTransformPipe","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AjaxPostBodyParamsTransformPipe\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/ajax/post.body.params.transform-pipe.ts\n \n\n\n \n Description\n \n \n This transform pipe allows nest to validate the incoming request.\nSince H5P does sent bodies with different shapes, this custom ValidationPipe makes sure the different cases are correctly validated.\n\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n transform\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n transform\n \n \n \n \n \n \n \n transform(value: AjaxPostBodyParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/post.body.params.transform-pipe.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n AjaxPostBodyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise<>\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, PipeTransform, ValidationPipe } from '@nestjs/common';\nimport { plainToClass } from 'class-transformer';\nimport { validate } from 'class-validator';\nimport {\n\tAjaxPostBodyParams,\n\tLibrariesBodyParams,\n\tContentBodyParams,\n\tLibraryParametersBodyParams,\n} from './post.body.params';\n\n/**\n * This transform pipe allows nest to validate the incoming request.\n * Since H5P does sent bodies with different shapes, this custom ValidationPipe makes sure the different cases are correctly validated.\n */\n\n@Injectable()\nexport class AjaxPostBodyParamsTransformPipe implements PipeTransform {\n\tasync transform(value: AjaxPostBodyParams): Promise {\n\t\tif (value === undefined) {\n\t\t\treturn undefined;\n\t\t}\n\t\tif ('libraries' in value) {\n\t\t\tvalue = plainToClass(LibrariesBodyParams, value);\n\t\t} else if ('contentId' in value) {\n\t\t\tvalue = plainToClass(ContentBodyParams, value);\n\t\t} else if ('libraryParameters' in value) {\n\t\t\tvalue = plainToClass(LibraryParametersBodyParams, value);\n\t\t}\n\n\t\tconst validationResult = await validate(value);\n\t\tif (validationResult.length > 0) {\n\t\t\tconst validationPipe = new ValidationPipe();\n\t\t\tconst exceptionFactory = validationPipe.createExceptionFactory();\n\t\t\tthrow exceptionFactory(validationResult);\n\t\t}\n\n\t\treturn value;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AjaxPostQueryParams.html":{"url":"classes/AjaxPostQueryParams.html","title":"class - AjaxPostQueryParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AjaxPostQueryParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/ajax/post.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n action\n \n \n \n \n Optional\n id\n \n \n \n \n Optional\n language\n \n \n \n \n Optional\n machineName\n \n \n \n \n Optional\n majorVersion\n \n \n \n \n Optional\n minorVersion\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n action\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/post.params.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/post.params.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n language\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/post.params.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n machineName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/post.params.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n majorVersion\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/post.params.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n minorVersion\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/post.params.ts:18\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsNotEmpty, IsOptional, IsString } from 'class-validator';\n\nexport class AjaxPostQueryParams {\n\t@IsString()\n\t@IsNotEmpty()\n\taction!: string;\n\n\t@IsString()\n\t@IsOptional()\n\tmachineName?: string;\n\n\t@IsString()\n\t@IsOptional()\n\tmajorVersion?: string;\n\n\t@IsString()\n\t@IsOptional()\n\tminorVersion?: string;\n\n\t@IsString()\n\t@IsOptional()\n\tlanguage?: string;\n\n\t@IsString()\n\t@IsOptional()\n\tid?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AntivirusModule.html":{"url":"modules/AntivirusModule.html","title":"module - AntivirusModule","body":"\n \n\n\n\n\n Modules\n AntivirusModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/antivirus/antivirus.module.ts\n \n\n\n\n\n\n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options: AntivirusModuleOptions)\n \n \n\n\n \n \n Defined in apps/server/src/infra/antivirus/antivirus.module.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n AntivirusModuleOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { DynamicModule, Module } from '@nestjs/common';\nimport NodeClam from 'clamscan';\nimport { AntivirusService } from './antivirus.service';\nimport { AntivirusModuleOptions } from './interfaces';\n\n@Module({})\nexport class AntivirusModule {\n\tstatic forRoot(options: AntivirusModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: AntivirusModule,\n\t\t\tproviders: [\n\t\t\t\tAntivirusService,\n\t\t\t\t{\n\t\t\t\t\tprovide: 'ANTIVIRUS_SERVICE_OPTIONS',\n\t\t\t\t\tuseValue: {\n\t\t\t\t\t\tenabled: options.enabled,\n\t\t\t\t\t\tfilesServiceBaseUrl: options.filesServiceBaseUrl,\n\t\t\t\t\t\texchange: options.exchange,\n\t\t\t\t\t\troutingKey: options.routingKey,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tprovide: NodeClam,\n\t\t\t\t\tuseFactory: () => {\n\t\t\t\t\t\tconst isLocalhost = options.hostname === 'localhost';\n\n\t\t\t\t\t\treturn new NodeClam().init({\n\t\t\t\t\t\t\tdebugMode: isLocalhost,\n\t\t\t\t\t\t\tclamdscan: {\n\t\t\t\t\t\t\t\thost: options.hostname,\n\t\t\t\t\t\t\t\tport: options.port,\n\t\t\t\t\t\t\t\tbypassTest: isLocalhost,\n\t\t\t\t\t\t\t\tlocalFallback: false,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t],\n\n\t\t\texports: [AntivirusService],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AntivirusModuleOptions.html":{"url":"interfaces/AntivirusModuleOptions.html","title":"interface - AntivirusModuleOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AntivirusModuleOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/antivirus/interfaces/antivirus.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n enabled\n \n \n \n \n exchange\n \n \n \n \n filesServiceBaseUrl\n \n \n \n \n hostname\n \n \n \n \n port\n \n \n \n \n routingKey\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n enabled\n \n \n \n \n \n \n \n \n enabled: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n exchange\n \n \n \n \n \n \n \n \n exchange: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n filesServiceBaseUrl\n \n \n \n \n \n \n \n \n filesServiceBaseUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n hostname\n \n \n \n \n \n \n \n \n hostname: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n port\n \n \n \n \n \n \n \n \n port: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n routingKey\n \n \n \n \n \n \n \n \n routingKey: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface AntivirusModuleOptions {\n\tenabled: boolean;\n\tfilesServiceBaseUrl: string;\n\texchange: string;\n\troutingKey: string;\n\thostname: string;\n\tport: number;\n}\n\nexport interface AntivirusServiceOptions {\n\tenabled: boolean;\n\tfilesServiceBaseUrl: string;\n\texchange: string;\n\troutingKey: string;\n}\n\nexport interface ScanResult {\n\tvirus_detected?: boolean;\n\tvirus_signature?: string;\n\terror?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AntivirusService.html":{"url":"injectables/AntivirusService.html","title":"injectable - AntivirusService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AntivirusService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/antivirus/antivirus.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n checkStream\n \n \n Private\n getUrl\n \n \n Public\n Async\n send\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(amqpConnection: AmqpConnection, options: AntivirusServiceOptions, clamConnection: NodeClam)\n \n \n \n \n Defined in apps/server/src/infra/antivirus/antivirus.service.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n amqpConnection\n \n \n AmqpConnection\n \n \n \n No\n \n \n \n \n options\n \n \n AntivirusServiceOptions\n \n \n \n No\n \n \n \n \n clamConnection\n \n \n NodeClam\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n checkStream\n \n \n \n \n \n \n \n checkStream(stream: Readable)\n \n \n\n\n \n \n Defined in apps/server/src/infra/antivirus/antivirus.service.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n stream\n \n Readable\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getUrl\n \n \n \n \n \n \n \n getUrl(path: string, token: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/antivirus/antivirus.service.ts:62\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n path\n \n string\n \n\n \n No\n \n\n\n \n \n token\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n send\n \n \n \n \n \n \n \n send(requestToken: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/infra/antivirus/antivirus.service.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n requestToken\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AmqpConnection } from '@golevelup/nestjs-rabbitmq';\nimport { Inject, Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { ErrorUtils } from '@src/core/error/utils';\nimport { API_VERSION_PATH, FilesStorageInternalActions } from '@modules/files-storage/files-storage.const';\nimport NodeClam from 'clamscan';\nimport { Readable } from 'stream';\nimport { AntivirusServiceOptions, ScanResult } from './interfaces';\n\n@Injectable()\nexport class AntivirusService {\n\tconstructor(\n\t\tprivate readonly amqpConnection: AmqpConnection,\n\t\t@Inject('ANTIVIRUS_SERVICE_OPTIONS') private readonly options: AntivirusServiceOptions,\n\t\tprivate readonly clamConnection: NodeClam\n\t) {}\n\n\tpublic async checkStream(stream: Readable) {\n\t\tconst scanResult: ScanResult = {\n\t\t\tvirus_detected: undefined,\n\t\t\tvirus_signature: undefined,\n\t\t\terror: undefined,\n\t\t};\n\t\ttry {\n\t\t\tconst { isInfected, viruses } = await this.clamConnection.scanStream(stream);\n\t\t\tif (isInfected === true) {\n\t\t\t\tscanResult.virus_detected = true;\n\t\t\t\tscanResult.virus_signature = viruses.join(',');\n\t\t\t} else if (isInfected === null) {\n\t\t\t\tscanResult.virus_detected = undefined;\n\t\t\t\tscanResult.error = '';\n\t\t\t} else {\n\t\t\t\tscanResult.virus_detected = false;\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tthrow new InternalServerErrorException(\n\t\t\t\tnull,\n\t\t\t\tErrorUtils.createHttpExceptionOptions(err, 'AntivirusService:checkStream')\n\t\t\t);\n\t\t}\n\n\t\treturn scanResult;\n\t}\n\n\tpublic async send(requestToken: string | undefined): Promise {\n\t\ttry {\n\t\t\tif (this.options.enabled && requestToken) {\n\t\t\t\tconst downloadUri = this.getUrl(FilesStorageInternalActions.downloadBySecurityToken, requestToken);\n\t\t\t\tconst callbackUri = this.getUrl(FilesStorageInternalActions.updateSecurityStatus, requestToken);\n\n\t\t\t\tawait this.amqpConnection.publish(\n\t\t\t\t\tthis.options.exchange,\n\t\t\t\t\tthis.options.routingKey,\n\t\t\t\t\t{ download_uri: downloadUri, callback_uri: callbackUri },\n\t\t\t\t\t{ persistent: true }\n\t\t\t\t);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tthrow new InternalServerErrorException(null, ErrorUtils.createHttpExceptionOptions(err, 'AntivirusService:send'));\n\t\t}\n\t}\n\n\tprivate getUrl(path: string, token: string): string {\n\t\tconst newPath = path.replace(':token', encodeURIComponent(token));\n\t\tconst url = new URL(`${API_VERSION_PATH}${newPath}`, this.options.filesServiceBaseUrl);\n\n\t\treturn url.href;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AntivirusServiceOptions.html":{"url":"interfaces/AntivirusServiceOptions.html","title":"interface - AntivirusServiceOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AntivirusServiceOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/antivirus/interfaces/antivirus.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n enabled\n \n \n \n \n exchange\n \n \n \n \n filesServiceBaseUrl\n \n \n \n \n routingKey\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n enabled\n \n \n \n \n \n \n \n \n enabled: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n exchange\n \n \n \n \n \n \n \n \n exchange: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n filesServiceBaseUrl\n \n \n \n \n \n \n \n \n filesServiceBaseUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n routingKey\n \n \n \n \n \n \n \n \n routingKey: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface AntivirusModuleOptions {\n\tenabled: boolean;\n\tfilesServiceBaseUrl: string;\n\texchange: string;\n\troutingKey: string;\n\thostname: string;\n\tport: number;\n}\n\nexport interface AntivirusServiceOptions {\n\tenabled: boolean;\n\tfilesServiceBaseUrl: string;\n\texchange: string;\n\troutingKey: string;\n}\n\nexport interface ScanResult {\n\tvirus_detected?: boolean;\n\tvirus_signature?: string;\n\terror?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ApiValidationError.html":{"url":"classes/ApiValidationError.html","title":"class - ApiValidationError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ApiValidationError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/error/api-validation.error.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(validationErrors: ValidationError[])\n \n \n \n \n Defined in apps/server/src/shared/common/error/api-validation.error.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n validationErrors\n \n \n ValidationError[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus, ValidationError } from '@nestjs/common';\nimport { BusinessError } from './business.error';\n\nexport class ApiValidationError extends BusinessError {\n\tconstructor(readonly validationErrors: ValidationError[] = []) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'API_VALIDATION_ERROR',\n\t\t\t\ttitle: 'API Validation Error',\n\t\t\t\tdefaultMessage: 'API validation failed, see validationErrors for details',\n\t\t\t},\n\t\t\tHttpStatus.BAD_REQUEST\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ApiValidationErrorResponse.html":{"url":"classes/ApiValidationErrorResponse.html","title":"class - ApiValidationErrorResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ApiValidationErrorResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/error/dto/api-validation-error.response.ts\n \n\n\n \n Description\n \n \n HTTP response definition for api validation errors.\n\n \n\n \n Extends\n \n \n ErrorResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n validationErrors\n \n \n Readonly\n code\n \n \n Readonly\n Optional\n details\n \n \n Readonly\n message\n \n \n Readonly\n title\n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n extractValidationErrorDetails\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(apiValidationError: ApiValidationError)\n \n \n \n \n Defined in apps/server/src/core/error/dto/api-validation-error.response.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n apiValidationError\n \n \n ApiValidationError\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n validationErrors\n \n \n \n \n \n \n Type : ValidationErrorDetailResponse[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in apps/server/src/core/error/dto/api-validation-error.response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Inherited from ErrorResponse\n\n \n \n \n \n Defined in ErrorResponse:25\n\n \n \n\n \n \n Must match HTTP error code\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Inherited from ErrorResponse\n\n \n \n \n \n Defined in ErrorResponse:30\n\n \n \n\n \n \n Additional custom details about the error\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from ErrorResponse\n\n \n \n \n \n Defined in ErrorResponse:20\n\n \n \n\n \n \n Additional custom information about the error\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from ErrorResponse\n\n \n \n \n \n Defined in ErrorResponse:15\n\n \n \n\n \n \n Description about the type, unique by type, format: Sentence case\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from ErrorResponse\n\n \n \n \n \n Defined in ErrorResponse:10\n\n \n \n\n \n \n Unambiguous error identifier, format: UPPERCASE_SNAKE_CASE\n\n \n \n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n extractValidationErrorDetails\n \n \n \n \n \n \n \n extractValidationErrorDetails(validationError: ValidationError, parentPropertyPath: string[])\n \n \n\n\n \n \n Defined in apps/server/src/core/error/dto/api-validation-error.response.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n validationError\n \n ValidationError\n \n\n \n No\n \n\n \n \n\n \n \n parentPropertyPath\n \n string[]\n \n\n \n No\n \n\n \n []\n \n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ValidationError } from '@nestjs/common';\nimport { ApiValidationError } from '@shared/common';\nimport { ErrorResponse } from './error.response';\nimport { ValidationErrorDetailResponse } from './validation-error-detail.response';\n\n/**\n * HTTP response definition for api validation errors.\n */\nexport class ApiValidationErrorResponse extends ErrorResponse {\n\tvalidationErrors: ValidationErrorDetailResponse[] = [];\n\n\tconstructor(apiValidationError: ApiValidationError) {\n\t\tconst { type, title, message, code } = apiValidationError;\n\t\tsuper(type, title, message, code);\n\n\t\tapiValidationError.validationErrors.forEach((validationError: ValidationError) => {\n\t\t\tthis.extractValidationErrorDetails(validationError);\n\t\t});\n\t}\n\n\tprivate extractValidationErrorDetails(validationError: ValidationError, parentPropertyPath: string[] = []): void {\n\t\tconst propertyPath: string[] = [...parentPropertyPath];\n\t\tif (validationError.property) {\n\t\t\tpropertyPath.push(validationError.property);\n\t\t}\n\n\t\tif (validationError.constraints) {\n\t\t\tconst errors: string[] = Object.values(validationError.constraints);\n\t\t\tthis.validationErrors.push(new ValidationErrorDetailResponse(propertyPath, errors));\n\t\t}\n\n\t\tif (validationError.children) {\n\t\t\tvalidationError.children.forEach((childError: ValidationError) =>\n\t\t\t\tthis.extractValidationErrorDetails(childError, propertyPath)\n\t\t\t);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AppStartInfo.html":{"url":"interfaces/AppStartInfo.html","title":"interface - AppStartInfo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AppStartInfo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/apps/helpers/app-start-loggable.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n appName\n \n \n \n Optional\n \n basePath\n \n \n \n Optional\n \n mountsDescription\n \n \n \n Optional\n \n port\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n appName\n \n \n \n \n \n \n \n \n appName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n basePath\n \n \n \n \n \n \n \n \n basePath: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n mountsDescription\n \n \n \n \n \n \n \n \n mountsDescription: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n port\n \n \n \n \n \n \n \n \n port: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Loggable, LogMessage, LogMessageData } from '@src/core/logger';\n\ninterface AppStartInfo {\n\tappName: string;\n\tport?: number;\n\tbasePath?: string;\n\tmountsDescription?: string;\n}\n\nexport class AppStartLoggable implements Loggable {\n\tconstructor(private readonly info: AppStartInfo) {}\n\n\tgetLogMessage(): LogMessage {\n\t\tconst data: LogMessageData = { appName: this.info.appName };\n\n\t\tif (this.info.port !== undefined) {\n\t\t\tdata.port = this.info.port;\n\t\t}\n\n\t\tif (this.info.basePath !== undefined) {\n\t\t\tdata.basePath = this.info.basePath;\n\t\t}\n\n\t\tif (this.info.mountsDescription !== undefined) {\n\t\t\tdata.mountsDescription = this.info.mountsDescription;\n\t\t}\n\n\t\treturn {\n\t\t\tmessage: 'Successfully started listening...',\n\t\t\tdata,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AppStartLoggable.html":{"url":"classes/AppStartLoggable.html","title":"class - AppStartLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AppStartLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/apps/helpers/app-start-loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(info: AppStartInfo)\n \n \n \n \n Defined in apps/server/src/apps/helpers/app-start-loggable.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n info\n \n \n AppStartInfo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/apps/helpers/app-start-loggable.ts:13\n \n \n\n\n \n \n\n \n Returns : LogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Loggable, LogMessage, LogMessageData } from '@src/core/logger';\n\ninterface AppStartInfo {\n\tappName: string;\n\tport?: number;\n\tbasePath?: string;\n\tmountsDescription?: string;\n}\n\nexport class AppStartLoggable implements Loggable {\n\tconstructor(private readonly info: AppStartInfo) {}\n\n\tgetLogMessage(): LogMessage {\n\t\tconst data: LogMessageData = { appName: this.info.appName };\n\n\t\tif (this.info.port !== undefined) {\n\t\t\tdata.port = this.info.port;\n\t\t}\n\n\t\tif (this.info.basePath !== undefined) {\n\t\t\tdata.basePath = this.info.basePath;\n\t\t}\n\n\t\tif (this.info.mountsDescription !== undefined) {\n\t\t\tdata.mountsDescription = this.info.mountsDescription;\n\t\t}\n\n\t\treturn {\n\t\t\tmessage: 'Successfully started listening...',\n\t\t\tdata,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AppendedAttachment.html":{"url":"interfaces/AppendedAttachment.html","title":"interface - AppendedAttachment","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AppendedAttachment\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/mail/mail.interface.ts\n \n\n\n\n \n Extends\n \n \n MailAttachment\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contentDisposition\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contentDisposition\n \n \n \n \n \n \n \n \n contentDisposition: \n\n \n \n\n\n\n\n\n\n\n \n \n \n \n\n\n \n interface MailAttachment {\n\tbase64Content: string;\n\n\tmimeType: string;\n\n\tname: string;\n}\n\ninterface InlineAttachment extends MailAttachment {\n\tcontentDisposition: 'INLINE';\n\n\tcontentId: string;\n}\n\ninterface AppendedAttachment extends MailAttachment {\n\tcontentDisposition: 'ATTACHMENT';\n}\n\ninterface MailContent {\n\tsubject: string;\n\n\tattachments?: (InlineAttachment | AppendedAttachment)[];\n}\n\ninterface PlainTextMailContent extends MailContent {\n\thtmlContent?: string;\n\n\tplainTextContent: string;\n}\n\ninterface HtmlMailContent extends MailContent {\n\thtmlContent: string;\n\n\tplainTextContent?: string;\n}\n\nexport interface Mail {\n\tmail: PlainTextMailContent | HtmlMailContent;\n\n\trecipients: string[];\n\n\tfrom?: string;\n\n\tcc?: string[];\n\n\tbcc?: string[];\n\n\treplyTo?: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AuthCodeFailureLoggableException.html":{"url":"classes/AuthCodeFailureLoggableException.html","title":"class - AuthCodeFailureLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AuthCodeFailureLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/loggable/auth-code-failure-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n OauthSsoErrorLoggableException\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(errorCode?: string)\n \n \n \n \n Defined in apps/server/src/modules/oauth/loggable/auth-code-failure-loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n errorCode\n \n \n string\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \n \n getLogMessage()\n \n \n\n\n \n \n Inherited from OauthSsoErrorLoggableException\n\n \n \n \n \n Defined in OauthSsoErrorLoggableException:9\n\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { OauthSsoErrorLoggableException } from './oauth-sso-error-loggable-exception';\n\nexport class AuthCodeFailureLoggableException extends OauthSsoErrorLoggableException {\n\tconstructor(private readonly errorCode?: string) {\n\t\tsuper(errorCode ?? 'sso_auth_code_step', 'Authorization Query Object has no authorization code or error');\n\t}\n\n\toverride getLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'SSO_AUTH_CODE_STEP',\n\t\t\tmessage: 'Authorization Query Object has no authorization code or error',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\terrorCode: this.errorCode,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AuthenticationApiModule.html":{"url":"modules/AuthenticationApiModule.html","title":"module - AuthenticationApiModule","body":"\n \n\n\n\n\n Modules\n AuthenticationApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_AuthenticationApiModule\n\n\n\ncluster_AuthenticationApiModule_providers\n\n\n\ncluster_AuthenticationApiModule_imports\n\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\n\n\nAuthenticationApiModule\n\nAuthenticationApiModule\n\nAuthenticationApiModule -->\n\nAuthenticationModule->AuthenticationApiModule\n\n\n\n\n\nLoginUc\n\nLoginUc\n\nAuthenticationApiModule -->\n\nLoginUc->AuthenticationApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/authentication/authentication-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n LoginUc\n \n \n \n \n Controllers\n \n \n LoginController\n \n \n \n \n Imports\n \n \n AuthenticationModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { AuthenticationModule } from './authentication.module';\nimport { LoginController } from './controllers/login.controller';\nimport { LoginUc } from './uc/login.uc';\n\n@Module({\n\timports: [AuthenticationModule],\n\tproviders: [LoginUc],\n\tcontrollers: [LoginController],\n\texports: [],\n})\nexport class AuthenticationApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AuthenticationCodeGrantTokenRequest.html":{"url":"classes/AuthenticationCodeGrantTokenRequest.html","title":"class - AuthenticationCodeGrantTokenRequest","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AuthenticationCodeGrantTokenRequest\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/service/dto/authentication-code-grant-token.request.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n client_id\n \n \n client_secret\n \n \n code\n \n \n grant_type\n \n \n redirect_uri\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: AuthenticationCodeGrantTokenRequest)\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/authentication-code-grant-token.request.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n AuthenticationCodeGrantTokenRequest\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n client_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/authentication-code-grant-token.request.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n client_secret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/authentication-code-grant-token.request.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n code\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/authentication-code-grant-token.request.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n grant_type\n \n \n \n \n \n \n Type : OAuthGrantType.AUTHORIZATION_CODE_GRANT\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/authentication-code-grant-token.request.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n redirect_uri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/authentication-code-grant-token.request.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { OAuthGrantType } from '../../interface/oauth-grant-type.enum';\n\nexport class AuthenticationCodeGrantTokenRequest {\n\tclient_id: string;\n\n\tclient_secret: string;\n\n\tredirect_uri: string;\n\n\tgrant_type: OAuthGrantType.AUTHORIZATION_CODE_GRANT;\n\n\tcode: string;\n\n\tconstructor(props: AuthenticationCodeGrantTokenRequest) {\n\t\tthis.client_id = props.client_id;\n\t\tthis.client_secret = props.client_secret;\n\t\tthis.redirect_uri = props.redirect_uri;\n\t\tthis.grant_type = props.grant_type;\n\t\tthis.code = props.code;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AuthenticationModule.html":{"url":"modules/AuthenticationModule.html","title":"module - AuthenticationModule","body":"\n \n\n\n\n\n Modules\n AuthenticationModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_AuthenticationModule\n\n\n\ncluster_AuthenticationModule_providers\n\n\n\ncluster_AuthenticationModule_imports\n\n\n\ncluster_AuthenticationModule_exports\n\n\n\n\nAccountModule\n\nAccountModule\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\nAuthenticationModule -->\n\nAccountModule->AuthenticationModule\n\n\n\n\n\nCacheWrapperModule\n\nCacheWrapperModule\n\nAuthenticationModule -->\n\nCacheWrapperModule->AuthenticationModule\n\n\n\n\n\nIdentityManagementModule\n\nIdentityManagementModule\n\nAuthenticationModule -->\n\nIdentityManagementModule->AuthenticationModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nAuthenticationModule -->\n\nLoggerModule->AuthenticationModule\n\n\n\n\n\nOauthModule\n\nOauthModule\n\nAuthenticationModule -->\n\nOauthModule->AuthenticationModule\n\n\n\n\n\nRoleModule\n\nRoleModule\n\nAuthenticationModule -->\n\nRoleModule->AuthenticationModule\n\n\n\n\n\nSystemModule\n\nSystemModule\n\nAuthenticationModule -->\n\nSystemModule->AuthenticationModule\n\n\n\n\n\nAuthenticationService \n\nAuthenticationService \n\nAuthenticationService -->\n\nAuthenticationModule->AuthenticationService \n\n\n\n\n\nAuthenticationService\n\nAuthenticationService\n\nAuthenticationModule -->\n\nAuthenticationService->AuthenticationModule\n\n\n\n\n\nJwtStrategy\n\nJwtStrategy\n\nAuthenticationModule -->\n\nJwtStrategy->AuthenticationModule\n\n\n\n\n\nJwtValidationAdapter\n\nJwtValidationAdapter\n\nAuthenticationModule -->\n\nJwtValidationAdapter->AuthenticationModule\n\n\n\n\n\nLdapService\n\nLdapService\n\nAuthenticationModule -->\n\nLdapService->AuthenticationModule\n\n\n\n\n\nLdapStrategy\n\nLdapStrategy\n\nAuthenticationModule -->\n\nLdapStrategy->AuthenticationModule\n\n\n\n\n\nLegacySchoolRepo\n\nLegacySchoolRepo\n\nAuthenticationModule -->\n\nLegacySchoolRepo->AuthenticationModule\n\n\n\n\n\nLegacySystemRepo\n\nLegacySystemRepo\n\nAuthenticationModule -->\n\nLegacySystemRepo->AuthenticationModule\n\n\n\n\n\nLocalStrategy\n\nLocalStrategy\n\nAuthenticationModule -->\n\nLocalStrategy->AuthenticationModule\n\n\n\n\n\nOauth2Strategy\n\nOauth2Strategy\n\nAuthenticationModule -->\n\nOauth2Strategy->AuthenticationModule\n\n\n\n\n\nUserRepo\n\nUserRepo\n\nAuthenticationModule -->\n\nUserRepo->AuthenticationModule\n\n\n\n\n\nXApiKeyStrategy\n\nXApiKeyStrategy\n\nAuthenticationModule -->\n\nXApiKeyStrategy->AuthenticationModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/authentication/authentication.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n AuthenticationService\n \n \n JwtStrategy\n \n \n JwtValidationAdapter\n \n \n LdapService\n \n \n LdapStrategy\n \n \n LegacySchoolRepo\n \n \n LegacySystemRepo\n \n \n LocalStrategy\n \n \n Oauth2Strategy\n \n \n UserRepo\n \n \n XApiKeyStrategy\n \n \n \n \n Imports\n \n \n AccountModule\n \n \n CacheWrapperModule\n \n \n IdentityManagementModule\n \n \n LoggerModule\n \n \n OauthModule\n \n \n RoleModule\n \n \n SystemModule\n \n \n \n \n Exports\n \n \n AuthenticationService\n \n \n \n \n \n\n\n \n\n\n \n import { CacheWrapperModule } from '@infra/cache';\nimport { IdentityManagementModule } from '@infra/identity-management';\nimport { AccountModule } from '@modules/account';\nimport { OauthModule } from '@modules/oauth/oauth.module';\nimport { RoleModule } from '@modules/role';\nimport { SystemModule } from '@modules/system';\nimport { Module } from '@nestjs/common';\nimport { JwtModule, JwtModuleOptions } from '@nestjs/jwt';\nimport { PassportModule } from '@nestjs/passport';\nimport { LegacySchoolRepo, LegacySystemRepo, UserRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { Algorithm, SignOptions } from 'jsonwebtoken';\nimport { jwtConstants } from './constants';\nimport { AuthenticationService } from './services/authentication.service';\nimport { LdapService } from './services/ldap.service';\nimport { JwtValidationAdapter } from './strategy/jwt-validation.adapter';\nimport { JwtStrategy } from './strategy/jwt.strategy';\nimport { LdapStrategy } from './strategy/ldap.strategy';\nimport { LocalStrategy } from './strategy/local.strategy';\nimport { Oauth2Strategy } from './strategy/oauth2.strategy';\nimport { XApiKeyStrategy } from './strategy/x-api-key.strategy';\n\n// values copied from Algorithm definition. Type does not exist at runtime and can't be checked anymore otherwise\nconst algorithms = [\n\t'HS256',\n\t'HS384',\n\t'HS512',\n\t'RS256',\n\t'RS384',\n\t'RS512',\n\t'ES256',\n\t'ES384',\n\t'ES512',\n\t'PS256',\n\t'PS384',\n\t'PS512',\n\t'none',\n];\n\nif (!algorithms.includes(jwtConstants.jwtOptions.algorithm)) {\n\tthrow new Error(`${jwtConstants.jwtOptions.algorithm} is not a valid JWT signing algorithm`);\n}\nconst signAlgorithm = jwtConstants.jwtOptions.algorithm as Algorithm;\n\nconst signOptions: SignOptions = {\n\talgorithm: signAlgorithm,\n\taudience: jwtConstants.jwtOptions.audience,\n\texpiresIn: jwtConstants.jwtOptions.expiresIn,\n\tissuer: jwtConstants.jwtOptions.issuer,\n\theader: { ...jwtConstants.jwtOptions.header, alg: signAlgorithm },\n};\nconst jwtModuleOptions: JwtModuleOptions = {\n\tsecret: jwtConstants.secret,\n\tsignOptions,\n\tverifyOptions: signOptions,\n};\n@Module({\n\timports: [\n\t\tLoggerModule,\n\t\tPassportModule,\n\t\tJwtModule.register(jwtModuleOptions),\n\t\tAccountModule,\n\t\tSystemModule,\n\t\tOauthModule,\n\t\tRoleModule,\n\t\tIdentityManagementModule,\n\t\tCacheWrapperModule,\n\t],\n\tproviders: [\n\t\tJwtStrategy,\n\t\tJwtValidationAdapter,\n\t\tUserRepo,\n\t\tLegacySystemRepo,\n\t\tLegacySchoolRepo,\n\t\tLocalStrategy,\n\t\tAuthenticationService,\n\t\tLdapService,\n\t\tLdapStrategy,\n\t\tOauth2Strategy,\n\t\tXApiKeyStrategy,\n\t],\n\texports: [AuthenticationService],\n})\nexport class AuthenticationModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AuthenticationResponse.html":{"url":"interfaces/AuthenticationResponse.html","title":"interface - AuthenticationResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AuthenticationResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/test-api-client.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n accessToken\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n accessToken\n \n \n \n \n \n \n \n \n accessToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { INestApplication } from '@nestjs/common';\nimport { Account } from '@shared/domain/entity';\nimport supertest, { Response } from 'supertest';\nimport { defaultTestPassword } from './factory/account.factory';\n\ninterface AuthenticationResponse {\n\taccessToken: string;\n}\n\nconst headerConst = {\n\taccept: 'accept',\n\tjson: 'application/json',\n};\n\nconst testReqestConst = {\n\tprefix: 'Bearer',\n\tloginPath: '/authentication/local',\n\taccessToken: 'accessToken',\n\terrorMessage: 'TestApiClient: Can not cast to local AutenticationResponse:',\n};\n\n/**\n * Note res.cookie is not supported atm, feel free to add this\n */\nexport class TestApiClient {\n\tprivate readonly app: INestApplication;\n\n\tprivate readonly baseRoute: string;\n\n\tprivate readonly formattedJwt: string;\n\n\tconstructor(app: INestApplication, baseRoute: string, jwt?: string) {\n\t\tthis.app = app;\n\t\tthis.baseRoute = this.checkAndAddPrefix(baseRoute);\n\t\tthis.formattedJwt = `${testReqestConst.prefix} ${jwt || ''}`;\n\t}\n\n\tpublic get(subPath?: string): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer()).get(path).set('authorization', this.formattedJwt);\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic delete(subPath?: string): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer())\n\t\t\t.delete(path)\n\t\t\t.set('authorization', this.formattedJwt);\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic put(subPath?: string, data = {}): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer())\n\t\t\t.put(path)\n\t\t\t.set('authorization', this.formattedJwt)\n\t\t\t.send(data);\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic patch(subPath?: string, data = {}): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer())\n\t\t\t.patch(path)\n\t\t\t.set('authorization', this.formattedJwt)\n\t\t\t.send(data);\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic post(subPath?: string, data = {}): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer())\n\t\t\t.post(path)\n\t\t\t.set('authorization', this.formattedJwt)\n\t\t\t.send(data);\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic async login(account: Account): Promise {\n\t\tconst path = testReqestConst.loginPath;\n\t\tconst params: { username: string; password: string } = {\n\t\t\tusername: account.username,\n\t\t\tpassword: defaultTestPassword,\n\t\t};\n\t\tconst response = await supertest(this.app.getHttpServer())\n\t\t\t.post(path)\n\t\t\t.set(headerConst.accept, headerConst.json)\n\t\t\t.send(params);\n\n\t\tconst jwtFromResponse = this.getJwtFromResponse(response);\n\n\t\treturn new (this.constructor as new (app: INestApplication, baseRoute: string, jwt?: string) => this)(\n\t\t\tthis.app,\n\t\t\tthis.baseRoute,\n\t\t\tjwtFromResponse\n\t\t);\n\t}\n\n\tprivate isSlash(inputPath: string, pos: number): boolean {\n\t\tconst isSlash = inputPath.charAt(pos) === '/';\n\n\t\treturn isSlash;\n\t}\n\n\tprivate checkAndAddPrefix(inputPath = '/'): string {\n\t\tlet path = '';\n\t\tif (!this.isSlash(inputPath, 0)) {\n\t\t\tpath = '/';\n\t\t}\n\t\tpath += inputPath;\n\n\t\treturn path;\n\t}\n\n\tprivate cleanupPath(inputPath: string): string {\n\t\tlet path = inputPath;\n\t\tif (this.isSlash(path, 0) && this.isSlash(path, 1)) {\n\t\t\tpath = path.slice(1);\n\t\t}\n\n\t\treturn path;\n\t}\n\n\tprivate getPath(routeNameInput = ''): string {\n\t\tconst routeName = this.checkAndAddPrefix(routeNameInput);\n\t\tconst path = this.cleanupPath(this.baseRoute + routeName);\n\n\t\treturn path;\n\t}\n\n\tprivate isAuthenticationResponse(body: unknown): body is AuthenticationResponse {\n\t\tconst isAuthenticationResponse = typeof body === 'object' && body !== null && testReqestConst.accessToken in body;\n\n\t\treturn isAuthenticationResponse;\n\t}\n\n\tprivate getJwtFromResponse(response: Response): string {\n\t\tif (response.error) {\n\t\t\tconst error = JSON.stringify(response.error);\n\t\t\tthrow new Error(error);\n\t\t}\n\t\tif (!this.isAuthenticationResponse(response.body)) {\n\t\t\tconst body = JSON.stringify(response.body);\n\t\t\tthrow new Error(`${testReqestConst.errorMessage} ${body}`);\n\t\t}\n\t\tconst authenticationResponse = response.body;\n\t\tconst jwt = authenticationResponse.accessToken;\n\n\t\treturn jwt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AuthenticationService.html":{"url":"injectables/AuthenticationService.html","title":"injectable - AuthenticationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AuthenticationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/services/authentication.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n checkBrutForce\n \n \n Async\n generateJwt\n \n \n Async\n loadAccount\n \n \n normalizePassword\n \n \n normalizeUsername\n \n \n Async\n removeJwtFromWhitelist\n \n \n Async\n updateLastTriedFailedLogin\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(jwtService: JwtService, jwtValidationAdapter: JwtValidationAdapter, accountService: AccountService, configService: ConfigService)\n \n \n \n \n Defined in apps/server/src/modules/authentication/services/authentication.service.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n jwtService\n \n \n JwtService\n \n \n \n No\n \n \n \n \n jwtValidationAdapter\n \n \n JwtValidationAdapter\n \n \n \n No\n \n \n \n \n accountService\n \n \n AccountService\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n checkBrutForce\n \n \n \n \n \n \ncheckBrutForce(account: AccountDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/services/authentication.service.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n AccountDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n generateJwt\n \n \n \n \n \n \n \n generateJwt(user: CreateJwtPayload)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/services/authentication.service.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n CreateJwtPayload\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n loadAccount\n \n \n \n \n \n \n \n loadAccount(username: string, systemId?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/services/authentication.service.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n normalizePassword\n \n \n \n \n \n \nnormalizePassword(password: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/services/authentication.service.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n password\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n normalizeUsername\n \n \n \n \n \n \nnormalizeUsername(username: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/services/authentication.service.ts:80\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n removeJwtFromWhitelist\n \n \n \n \n \n \n \n removeJwtFromWhitelist(jwtToken: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/services/authentication.service.ts:57\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n jwtToken\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateLastTriedFailedLogin\n \n \n \n \n \n \n \n updateLastTriedFailedLogin(id: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/services/authentication.service.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AccountService } from '@modules/account';\nimport { Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { JwtService } from '@nestjs/jwt';\n// invalid import\nimport { AccountDto } from '@modules/account/services/dto';\n// invalid import, can produce dependency cycles\nimport type { ServerConfig } from '@modules/server';\nimport { randomUUID } from 'crypto';\nimport jwt, { JwtPayload } from 'jsonwebtoken';\nimport { BruteForceError, UnauthorizedLoggableException } from '../errors';\nimport { CreateJwtPayload } from '../interface/jwt-payload';\nimport { JwtValidationAdapter } from '../strategy/jwt-validation.adapter';\nimport { LoginDto } from '../uc/dto';\n\n@Injectable()\nexport class AuthenticationService {\n\tconstructor(\n\t\tprivate readonly jwtService: JwtService,\n\t\tprivate readonly jwtValidationAdapter: JwtValidationAdapter,\n\t\tprivate readonly accountService: AccountService,\n\t\tprivate readonly configService: ConfigService\n\t) {}\n\n\tasync loadAccount(username: string, systemId?: string): Promise {\n\t\tlet account: AccountDto | undefined | null;\n\n\t\tif (systemId) {\n\t\t\taccount = await this.accountService.findByUsernameAndSystemId(username, systemId);\n\t\t} else {\n\t\t\tconst [accounts] = await this.accountService.searchByUsernameExactMatch(username);\n\t\t\taccount = accounts.find((foundAccount) => foundAccount.systemId == null);\n\t\t}\n\n\t\tif (!account) {\n\t\t\tthrow new UnauthorizedLoggableException(username, systemId);\n\t\t}\n\n\t\treturn account;\n\t}\n\n\tasync generateJwt(user: CreateJwtPayload): Promise {\n\t\tconst jti = randomUUID();\n\n\t\tconst result: LoginDto = new LoginDto({\n\t\t\taccessToken: this.jwtService.sign(user, {\n\t\t\t\tsubject: user.accountId,\n\t\t\t\tjwtid: jti,\n\t\t\t}),\n\t\t});\n\n\t\tawait this.jwtValidationAdapter.addToWhitelist(user.accountId, jti);\n\n\t\treturn result;\n\t}\n\n\tasync removeJwtFromWhitelist(jwtToken: string): Promise {\n\t\tconst decodedJwt: JwtPayload | null = jwt.decode(jwtToken, { json: true });\n\n\t\tif (decodedJwt && decodedJwt.jti && decodedJwt.accountId && typeof decodedJwt.accountId === 'string') {\n\t\t\tawait this.jwtValidationAdapter.removeFromWhitelist(decodedJwt.accountId, decodedJwt.jti);\n\t\t}\n\t}\n\n\tcheckBrutForce(account: AccountDto): void {\n\t\tif (account.lasttriedFailedLogin) {\n\t\t\tconst timeDifference = (new Date().getTime() - account.lasttriedFailedLogin.getTime()) / 1000;\n\n\t\t\tif (timeDifference ('LOGIN_BLOCK_TIME')) {\n\t\t\t\tconst timeToWait = this.configService.get('LOGIN_BLOCK_TIME') - Math.ceil(timeDifference);\n\t\t\t\tthrow new BruteForceError(timeToWait, `Brute Force Prevention! Time to wait: ${timeToWait} s`);\n\t\t\t}\n\t\t}\n\t}\n\n\tasync updateLastTriedFailedLogin(id: string): Promise {\n\t\tawait this.accountService.updateLastTriedFailedLogin(id, new Date());\n\t}\n\n\tnormalizeUsername(username: string): string {\n\t\treturn username.trim().toLowerCase();\n\t}\n\n\tnormalizePassword(password: string): string {\n\t\treturn password.trim();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AuthenticationValues.html":{"url":"classes/AuthenticationValues.html","title":"class - AuthenticationValues","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AuthenticationValues\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/types/authentication-values.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n keyValue\n \n \n secretValue\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: AuthenticationValues)\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/authentication-values.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n AuthenticationValues\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n keyValue\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/authentication-values.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n secretValue\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/authentication-values.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class AuthenticationValues {\n\tkeyValue: string;\n\n\tsecretValue: string;\n\n\tconstructor(props: AuthenticationValues) {\n\t\tthis.keyValue = props.keyValue;\n\t\tthis.secretValue = props.secretValue;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AuthorizableObject.html":{"url":"interfaces/AuthorizableObject.html","title":"interface - AuthorizableObject","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AuthorizableObject\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domain-object.ts\n \n\n\n\n\n\n\n\n \n\n\n \n import { EntityId } from './types';\n\nexport interface AuthorizableObject {\n\tget id(): EntityId;\n}\n\nexport abstract class DomainObject implements AuthorizableObject {\n\tprotected props: T;\n\n\tconstructor(props: T) {\n\t\tthis.props = props;\n\t}\n\n\tpublic get id(): EntityId {\n\t\treturn this.props.id;\n\t}\n\n\tpublic getProps(): T {\n\t\tconst copyProps = { ...this.props };\n\n\t\treturn copyProps;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AuthorizationContext.html":{"url":"interfaces/AuthorizationContext.html","title":"interface - AuthorizationContext","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AuthorizationContext\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/type/authorization-context.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n action\n \n \n \n \n requiredPermissions\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n action\n \n \n \n \n \n \n \n \n action: Action\n\n \n \n\n\n \n \n Type : Action\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n requiredPermissions\n \n \n \n \n \n \n \n \n requiredPermissions: Permission[]\n\n \n \n\n\n \n \n Type : Permission[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Permission } from '@shared/domain/interface';\nimport { Action } from './action.enum';\n\nexport interface AuthorizationContext {\n\taction: Action;\n\trequiredPermissions: Permission[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AuthorizationContextBuilder.html":{"url":"classes/AuthorizationContextBuilder.html","title":"class - AuthorizationContextBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AuthorizationContextBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/mapper/authorization-context.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Static\n build\n \n \n Static\n read\n \n \n Static\n write\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Static\n build\n \n \n \n \n \n \n \n build(requiredPermissions: Permission[], action: Action)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/mapper/authorization-context.builder.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n requiredPermissions\n \n Permission[]\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AuthorizationContext\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n read\n \n \n \n \n \n \n \n read(requiredPermissions: Permission[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/mapper/authorization-context.builder.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n requiredPermissions\n \n Permission[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AuthorizationContext\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n write\n \n \n \n \n \n \n \n write(requiredPermissions: Permission[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/mapper/authorization-context.builder.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n requiredPermissions\n \n Permission[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AuthorizationContext\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Permission } from '@shared/domain/interface';\nimport { Action, AuthorizationContext } from '../type';\n\nexport class AuthorizationContextBuilder {\n\tprivate static build(requiredPermissions: Permission[], action: Action): AuthorizationContext {\n\t\tconst context = { requiredPermissions, action };\n\n\t\treturn context;\n\t}\n\n\tstatic write(requiredPermissions: Permission[]): AuthorizationContext {\n\t\tconst context = this.build(requiredPermissions, Action.write);\n\n\t\treturn context;\n\t}\n\n\tstatic read(requiredPermissions: Permission[]): AuthorizationContext {\n\t\tconst context = this.build(requiredPermissions, Action.read);\n\n\t\treturn context;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AuthorizationError.html":{"url":"classes/AuthorizationError.html","title":"class - AuthorizationError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AuthorizationError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/error/authorization.error.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(message?: string, details?: Record)\n \n \n \n \n Defined in apps/server/src/shared/common/error/authorization.error.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n \n string\n \n \n \n Yes\n \n \n \n \n details\n \n \n Record\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { BusinessError } from './business.error';\n\nexport class AuthorizationError extends BusinessError {\n\tconstructor(message?: string, details?: Record) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'AUTHORIZATION_OPERATION',\n\t\t\t\ttitle: 'Authorization Error',\n\t\t\t\tdefaultMessage: message ?? 'The action could not be authorized.',\n\t\t\t},\n\t\t\tHttpStatus.UNAUTHORIZED,\n\t\t\tdetails\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AuthorizationHelper.html":{"url":"injectables/AuthorizationHelper.html","title":"injectable - AuthorizationHelper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AuthorizationHelper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/service/authorization.helper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n hasAccessToEntity\n \n \n Public\n hasAllPermissions\n \n \n Public\n hasAllPermissionsByRole\n \n \n Public\n hasOneOfPermissions\n \n \n Private\n isUserReferenced\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n hasAccessToEntity\n \n \n \n \n \n \n \n hasAccessToEntity(user: User, entity: T, userRefProps: K[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.helper.ts:32\n \n \n\n \n \n Type parameters :\n \n T\n K\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n userRefProps\n \n K[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n hasAllPermissions\n \n \n \n \n \n \n \n hasAllPermissions(user: User, requiredPermissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.helper.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n requiredPermissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n hasAllPermissionsByRole\n \n \n \n \n \n \n \n hasAllPermissionsByRole(role: Role, requiredPermissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.helper.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n role\n \n Role\n \n\n \n No\n \n\n\n \n \n requiredPermissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n hasOneOfPermissions\n \n \n \n \n \n \n \n hasOneOfPermissions(user: User, requiredPermissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.helper.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n requiredPermissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isUserReferenced\n \n \n \n \n \n \n \n isUserReferenced(user: User, entity: T, prop: K)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.helper.ts:38\n \n \n\n \n \n Type parameters :\n \n T\n K\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n prop\n \n K\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Collection } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\nimport { Role, User } from '@shared/domain/entity';\n\n@Injectable()\nexport class AuthorizationHelper {\n\tpublic hasAllPermissions(user: User, requiredPermissions: string[]): boolean {\n\t\tconst usersPermissions = user.resolvePermissions();\n\t\tconst hasAllPermissions = requiredPermissions.every((p) => usersPermissions.includes(p));\n\n\t\treturn hasAllPermissions;\n\t}\n\n\tpublic hasAllPermissionsByRole(role: Role, requiredPermissions: string[]): boolean {\n\t\tconst permissions = role.resolvePermissions();\n\t\tconst hasAllPermissions = requiredPermissions.every((p) => permissions.includes(p));\n\n\t\treturn hasAllPermissions;\n\t}\n\n\tpublic hasOneOfPermissions(user: User, requiredPermissions: string[]): boolean {\n\t\t// TODO: Wouldn't it make more sense to return true for an empty permissions-array?\n\t\tif (!Array.isArray(requiredPermissions) || requiredPermissions.length === 0) {\n\t\t\treturn false;\n\t\t}\n\t\tconst permissions = user.resolvePermissions();\n\t\tconst hasPermission = requiredPermissions.some((p) => permissions.includes(p));\n\n\t\treturn hasPermission;\n\t}\n\n\tpublic hasAccessToEntity(user: User, entity: T, userRefProps: K[]): boolean {\n\t\tconst result = userRefProps.some((prop) => this.isUserReferenced(user, entity, prop));\n\n\t\treturn result;\n\t}\n\n\tprivate isUserReferenced(user: User, entity: T, prop: K) {\n\t\tlet result = false;\n\n\t\tconst reference = entity[prop];\n\n\t\tif (reference instanceof Collection) {\n\t\t\tresult = reference.contains(user);\n\t\t} else if (reference instanceof User) {\n\t\t\tresult = reference === user;\n\t\t} else {\n\t\t\tresult = (reference as unknown as string) === user.id;\n\t\t}\n\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AuthorizationLoaderService.html":{"url":"interfaces/AuthorizationLoaderService.html","title":"interface - AuthorizationLoaderService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AuthorizationLoaderService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/type/authorization-loader-service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n findById\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n findById\n \n \n \n \n \n \nfindById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/type/authorization-loader-service.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizableObject } from '@shared/domain/domain-object'; // fix import when it is avaible\nimport { BaseDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface AuthorizationLoaderService {\n\tfindById(id: EntityId): Promise;\n}\n\nexport interface AuthorizationLoaderServiceGeneric\n\textends AuthorizationLoaderService {\n\tfindById(id: EntityId): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AuthorizationLoaderServiceGeneric.html":{"url":"interfaces/AuthorizationLoaderServiceGeneric.html","title":"interface - AuthorizationLoaderServiceGeneric","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AuthorizationLoaderServiceGeneric\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/type/authorization-loader-service.ts\n \n\n\n\n \n Extends\n \n \n AuthorizationLoaderService\n \n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n findById\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n findById\n \n \n \n \n \n \nfindById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/type/authorization-loader-service.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizableObject } from '@shared/domain/domain-object'; // fix import when it is avaible\nimport { BaseDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface AuthorizationLoaderService {\n\tfindById(id: EntityId): Promise;\n}\n\nexport interface AuthorizationLoaderServiceGeneric\n\textends AuthorizationLoaderService {\n\tfindById(id: EntityId): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AuthorizationModule.html":{"url":"modules/AuthorizationModule.html","title":"module - AuthorizationModule","body":"\n \n\n\n\n\n Modules\n AuthorizationModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_AuthorizationModule\n\n\n\ncluster_AuthorizationModule_providers\n\n\n\ncluster_AuthorizationModule_imports\n\n\n\ncluster_AuthorizationModule_exports\n\n\n\n\nFeathersModule\n\nFeathersModule\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\nAuthorizationModule -->\n\nFeathersModule->AuthorizationModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nAuthorizationModule -->\n\nLoggerModule->AuthorizationModule\n\n\n\n\n\nAuthorizationService \n\nAuthorizationService \n\nAuthorizationService -->\n\nAuthorizationModule->AuthorizationService \n\n\n\n\n\nFeathersAuthorizationService \n\nFeathersAuthorizationService \n\nFeathersAuthorizationService -->\n\nAuthorizationModule->FeathersAuthorizationService \n\n\n\n\n\nSystemRule \n\nSystemRule \n\nSystemRule -->\n\nAuthorizationModule->SystemRule \n\n\n\n\n\nAuthorizationHelper\n\nAuthorizationHelper\n\nAuthorizationModule -->\n\nAuthorizationHelper->AuthorizationModule\n\n\n\n\n\nAuthorizationService\n\nAuthorizationService\n\nAuthorizationModule -->\n\nAuthorizationService->AuthorizationModule\n\n\n\n\n\nBoardDoRule\n\nBoardDoRule\n\nAuthorizationModule -->\n\nBoardDoRule->AuthorizationModule\n\n\n\n\n\nContextExternalToolRule\n\nContextExternalToolRule\n\nAuthorizationModule -->\n\nContextExternalToolRule->AuthorizationModule\n\n\n\n\n\nCourseGroupRule\n\nCourseGroupRule\n\nAuthorizationModule -->\n\nCourseGroupRule->AuthorizationModule\n\n\n\n\n\nCourseRule\n\nCourseRule\n\nAuthorizationModule -->\n\nCourseRule->AuthorizationModule\n\n\n\n\n\nFeathersAuthProvider\n\nFeathersAuthProvider\n\nAuthorizationModule -->\n\nFeathersAuthProvider->AuthorizationModule\n\n\n\n\n\nFeathersAuthorizationService\n\nFeathersAuthorizationService\n\nAuthorizationModule -->\n\nFeathersAuthorizationService->AuthorizationModule\n\n\n\n\n\nGroupRule\n\nGroupRule\n\nAuthorizationModule -->\n\nGroupRule->AuthorizationModule\n\n\n\n\n\nLegacySchoolRule\n\nLegacySchoolRule\n\nAuthorizationModule -->\n\nLegacySchoolRule->AuthorizationModule\n\n\n\n\n\nLessonRule\n\nLessonRule\n\nAuthorizationModule -->\n\nLessonRule->AuthorizationModule\n\n\n\n\n\nRuleManager\n\nRuleManager\n\nAuthorizationModule -->\n\nRuleManager->AuthorizationModule\n\n\n\n\n\nSchoolExternalToolRule\n\nSchoolExternalToolRule\n\nAuthorizationModule -->\n\nSchoolExternalToolRule->AuthorizationModule\n\n\n\n\n\nSubmissionRule\n\nSubmissionRule\n\nAuthorizationModule -->\n\nSubmissionRule->AuthorizationModule\n\n\n\n\n\nSystemRule\n\nSystemRule\n\nAuthorizationModule -->\n\nSystemRule->AuthorizationModule\n\n\n\n\n\nTaskRule\n\nTaskRule\n\nAuthorizationModule -->\n\nTaskRule->AuthorizationModule\n\n\n\n\n\nTeamRule\n\nTeamRule\n\nAuthorizationModule -->\n\nTeamRule->AuthorizationModule\n\n\n\n\n\nUserLoginMigrationRule\n\nUserLoginMigrationRule\n\nAuthorizationModule -->\n\nUserLoginMigrationRule->AuthorizationModule\n\n\n\n\n\nUserRepo\n\nUserRepo\n\nAuthorizationModule -->\n\nUserRepo->AuthorizationModule\n\n\n\n\n\nUserRule\n\nUserRule\n\nAuthorizationModule -->\n\nUserRule->AuthorizationModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/authorization/authorization.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n AuthorizationHelper\n \n \n AuthorizationService\n \n \n BoardDoRule\n \n \n ContextExternalToolRule\n \n \n CourseGroupRule\n \n \n CourseRule\n \n \n FeathersAuthProvider\n \n \n FeathersAuthorizationService\n \n \n GroupRule\n \n \n LegacySchoolRule\n \n \n LessonRule\n \n \n RuleManager\n \n \n SchoolExternalToolRule\n \n \n SubmissionRule\n \n \n SystemRule\n \n \n TaskRule\n \n \n TeamRule\n \n \n UserLoginMigrationRule\n \n \n UserRepo\n \n \n UserRule\n \n \n \n \n Imports\n \n \n FeathersModule\n \n \n LoggerModule\n \n \n \n \n Exports\n \n \n AuthorizationService\n \n \n FeathersAuthorizationService\n \n \n SystemRule\n \n \n \n \n \n\n\n \n\n\n \n import { FeathersModule } from '@infra/feathers';\nimport { Module } from '@nestjs/common';\nimport { UserRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthorizationHelper, AuthorizationService, RuleManager } from './domain';\nimport {\n\tBoardDoRule,\n\tContextExternalToolRule,\n\tCourseGroupRule,\n\tCourseRule,\n\tGroupRule,\n\tLegacySchoolRule,\n\tLessonRule,\n\tSchoolExternalToolRule,\n\tSubmissionRule,\n\tSystemRule,\n\tTaskRule,\n\tTeamRule,\n\tUserLoginMigrationRule,\n\tUserRule,\n} from './domain/rules';\nimport { FeathersAuthorizationService, FeathersAuthProvider } from './feathers';\n\n@Module({\n\timports: [FeathersModule, LoggerModule],\n\tproviders: [\n\t\tFeathersAuthorizationService,\n\t\tFeathersAuthProvider,\n\t\tAuthorizationService,\n\t\tUserRepo,\n\t\tRuleManager,\n\t\tAuthorizationHelper,\n\t\t// rules\n\t\tBoardDoRule,\n\t\tContextExternalToolRule,\n\t\tCourseGroupRule,\n\t\tCourseRule,\n\t\tGroupRule,\n\t\tLessonRule,\n\t\tSchoolExternalToolRule,\n\t\tSubmissionRule,\n\t\tTaskRule,\n\t\tTeamRule,\n\t\tUserRule,\n\t\tUserLoginMigrationRule,\n\t\tLegacySchoolRule,\n\t\tSystemRule,\n\t],\n\texports: [FeathersAuthorizationService, AuthorizationService, SystemRule],\n})\nexport class AuthorizationModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AuthorizationParams.html":{"url":"classes/AuthorizationParams.html","title":"class - AuthorizationParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AuthorizationParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/controller/dto/authorization.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n code\n \n \n \n \n Optional\n error\n \n \n \n \n Optional\n error_description\n \n \n \n \n Optional\n error_uri\n \n \n \n \n state\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n code\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth/controller/dto/authorization.params.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n error\n \n \n \n \n \n \n Type : SSOAuthenticationError\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsEnum(SSOAuthenticationError)\n \n \n \n \n \n Defined in apps/server/src/modules/oauth/controller/dto/authorization.params.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n error_description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth/controller/dto/authorization.params.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n error_uri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth/controller/dto/authorization.params.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n state\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth/controller/dto/authorization.params.ts:24\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsEnum, IsNotEmpty, IsOptional, IsString } from 'class-validator';\nimport { SSOAuthenticationError } from '../../interface/sso-authentication-error.enum';\n\nexport class AuthorizationParams {\n\t@IsOptional()\n\t@IsString()\n\t@IsNotEmpty()\n\tcode?: string;\n\n\t@IsOptional()\n\t@IsEnum(SSOAuthenticationError)\n\terror?: SSOAuthenticationError;\n\n\t@IsOptional()\n\t@IsString()\n\terror_description?: string;\n\n\t@IsOptional()\n\t@IsString()\n\terror_uri?: string;\n\n\t@IsString()\n\t@IsNotEmpty()\n\tstate!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/AuthorizationReferenceModule.html":{"url":"modules/AuthorizationReferenceModule.html","title":"module - AuthorizationReferenceModule","body":"\n \n\n\n\n\n Modules\n AuthorizationReferenceModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_AuthorizationReferenceModule\n\n\n\ncluster_AuthorizationReferenceModule_imports\n\n\n\ncluster_AuthorizationReferenceModule_exports\n\n\n\ncluster_AuthorizationReferenceModule_providers\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nAuthorizationReferenceModule\n\nAuthorizationReferenceModule\n\nAuthorizationReferenceModule -->\n\nAuthorizationModule->AuthorizationReferenceModule\n\n\n\n\n\nLessonModule\n\nLessonModule\n\nAuthorizationReferenceModule -->\n\nLessonModule->AuthorizationReferenceModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nAuthorizationReferenceModule -->\n\nLoggerModule->AuthorizationReferenceModule\n\n\n\n\n\nAuthorizationReferenceService \n\nAuthorizationReferenceService \n\nAuthorizationReferenceService -->\n\nAuthorizationReferenceModule->AuthorizationReferenceService \n\n\n\n\n\nAuthorizationHelper\n\nAuthorizationHelper\n\nAuthorizationReferenceModule -->\n\nAuthorizationHelper->AuthorizationReferenceModule\n\n\n\n\n\nAuthorizationReferenceService\n\nAuthorizationReferenceService\n\nAuthorizationReferenceModule -->\n\nAuthorizationReferenceService->AuthorizationReferenceModule\n\n\n\n\n\nCourseGroupRepo\n\nCourseGroupRepo\n\nAuthorizationReferenceModule -->\n\nCourseGroupRepo->AuthorizationReferenceModule\n\n\n\n\n\nCourseRepo\n\nCourseRepo\n\nAuthorizationReferenceModule -->\n\nCourseRepo->AuthorizationReferenceModule\n\n\n\n\n\nLegacySchoolRepo\n\nLegacySchoolRepo\n\nAuthorizationReferenceModule -->\n\nLegacySchoolRepo->AuthorizationReferenceModule\n\n\n\n\n\nReferenceLoader\n\nReferenceLoader\n\nAuthorizationReferenceModule -->\n\nReferenceLoader->AuthorizationReferenceModule\n\n\n\n\n\nSchoolExternalToolRepo\n\nSchoolExternalToolRepo\n\nAuthorizationReferenceModule -->\n\nSchoolExternalToolRepo->AuthorizationReferenceModule\n\n\n\n\n\nSubmissionRepo\n\nSubmissionRepo\n\nAuthorizationReferenceModule -->\n\nSubmissionRepo->AuthorizationReferenceModule\n\n\n\n\n\nTaskRepo\n\nTaskRepo\n\nAuthorizationReferenceModule -->\n\nTaskRepo->AuthorizationReferenceModule\n\n\n\n\n\nTeamsRepo\n\nTeamsRepo\n\nAuthorizationReferenceModule -->\n\nTeamsRepo->AuthorizationReferenceModule\n\n\n\n\n\nUserRepo\n\nUserRepo\n\nAuthorizationReferenceModule -->\n\nUserRepo->AuthorizationReferenceModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/authorization/authorization-reference.module.ts\n \n\n\n\n \n Description\n \n \n This module is part of an intermediate state. In the future it should be replaced by an AuthorizationApiModule.\nFor now it is used where the authorization itself needs to load data from the database.\nAvoid using this module and load the needed data in your use cases and then use the normal AuthorizationModule!\n\n \n\n\n \n \n \n Providers\n \n \n AuthorizationHelper\n \n \n AuthorizationReferenceService\n \n \n CourseGroupRepo\n \n \n CourseRepo\n \n \n LegacySchoolRepo\n \n \n ReferenceLoader\n \n \n SchoolExternalToolRepo\n \n \n SubmissionRepo\n \n \n TaskRepo\n \n \n TeamsRepo\n \n \n UserRepo\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n LessonModule\n \n \n LoggerModule\n \n \n \n \n Exports\n \n \n AuthorizationReferenceService\n \n \n \n \n \n\n\n \n\n\n \n import { BoardModule } from '@modules/board';\nimport { ToolModule } from '@modules/tool';\nimport { forwardRef, Module } from '@nestjs/common';\nimport {\n\tCourseGroupRepo,\n\tCourseRepo,\n\tLegacySchoolRepo,\n\tSchoolExternalToolRepo,\n\tSubmissionRepo,\n\tTaskRepo,\n\tTeamsRepo,\n\tUserRepo,\n} from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { LessonModule } from '../lesson';\nimport { AuthorizationModule } from './authorization.module';\nimport { AuthorizationHelper, AuthorizationReferenceService, ReferenceLoader } from './domain';\n\n/**\n * This module is part of an intermediate state. In the future it should be replaced by an AuthorizationApiModule.\n * For now it is used where the authorization itself needs to load data from the database.\n * Avoid using this module and load the needed data in your use cases and then use the normal AuthorizationModule!\n */\n@Module({\n\t// TODO: remove forwardRef to TooModule N21-1055\n\timports: [\n\t\tAuthorizationModule,\n\t\tLessonModule,\n\t\tforwardRef(() => ToolModule),\n\t\tforwardRef(() => BoardModule),\n\t\tLoggerModule,\n\t],\n\tproviders: [\n\t\tAuthorizationHelper,\n\t\tReferenceLoader,\n\t\tUserRepo,\n\t\tCourseRepo,\n\t\tCourseGroupRepo,\n\t\tTaskRepo,\n\t\tLegacySchoolRepo,\n\t\tTeamsRepo,\n\t\tSubmissionRepo,\n\t\tSchoolExternalToolRepo,\n\t\tAuthorizationReferenceService,\n\t],\n\texports: [AuthorizationReferenceService],\n})\nexport class AuthorizationReferenceModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AuthorizationReferenceService.html":{"url":"injectables/AuthorizationReferenceService.html","title":"injectable - AuthorizationReferenceService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AuthorizationReferenceService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/service/authorization-reference.service.ts\n \n\n\n \n Description\n \n \n Should by use only internal in authorization module. See ticket: BC-3990\n\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n checkPermissionByReferences\n \n \n Public\n Async\n hasPermissionByReferences\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(loader: ReferenceLoader, authorizationService: AuthorizationService)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization-reference.service.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n loader\n \n \n ReferenceLoader\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n checkPermissionByReferences\n \n \n \n \n \n \n \n checkPermissionByReferences(userId: EntityId, entityName: AuthorizableReferenceType, entityId: EntityId, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization-reference.service.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n entityName\n \n AuthorizableReferenceType\n \n\n \n No\n \n\n\n \n \n entityId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n hasPermissionByReferences\n \n \n \n \n \n \n \n hasPermissionByReferences(userId: EntityId, entityName: AuthorizableReferenceType, entityId: EntityId, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization-reference.service.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n entityName\n \n AuthorizableReferenceType\n \n\n \n No\n \n\n\n \n \n entityId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ForbiddenLoggableException } from '../error';\nimport { AuthorizableReferenceType, AuthorizationContext } from '../type';\nimport { AuthorizationService } from './authorization.service';\nimport { ReferenceLoader } from './reference.loader';\n\n/**\n * Should by use only internal in authorization module. See ticket: BC-3990\n */\n@Injectable()\nexport class AuthorizationReferenceService {\n\tconstructor(private readonly loader: ReferenceLoader, private readonly authorizationService: AuthorizationService) {}\n\n\tpublic async checkPermissionByReferences(\n\t\tuserId: EntityId,\n\t\tentityName: AuthorizableReferenceType,\n\t\tentityId: EntityId,\n\t\tcontext: AuthorizationContext\n\t): Promise {\n\t\tif (!(await this.hasPermissionByReferences(userId, entityName, entityId, context))) {\n\t\t\tthrow new ForbiddenLoggableException(userId, entityName, context);\n\t\t}\n\t}\n\n\tpublic async hasPermissionByReferences(\n\t\tuserId: EntityId,\n\t\tentityName: AuthorizableReferenceType,\n\t\tentityId: EntityId,\n\t\tcontext: AuthorizationContext\n\t): Promise {\n\t\tconst [user, object] = await Promise.all([\n\t\t\tthis.authorizationService.getUserWithPermissions(userId),\n\t\t\tthis.loader.loadAuthorizableObject(entityName, entityId),\n\t\t]);\n\n\t\tconst hasPermission = this.authorizationService.hasPermission(user, object, context);\n\n\t\treturn hasPermission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AuthorizationService.html":{"url":"injectables/AuthorizationService.html","title":"injectable - AuthorizationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AuthorizationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/service/authorization.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n checkAllPermissions\n \n \n Public\n checkOneOfPermissions\n \n \n Public\n checkPermission\n \n \n Public\n Async\n getUserWithPermissions\n \n \n Public\n hasAllPermissions\n \n \n Public\n hasOneOfPermissions\n \n \n Public\n hasPermission\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ruleManager: RuleManager, authorizationHelper: AuthorizationHelper, userRepo: UserRepo)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.service.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ruleManager\n \n \n RuleManager\n \n \n \n No\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n userRepo\n \n \n UserRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n checkAllPermissions\n \n \n \n \n \n \n \n checkAllPermissions(user: User, requiredPermissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.service.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n requiredPermissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n checkOneOfPermissions\n \n \n \n \n \n \n \n checkOneOfPermissions(user: User, requiredPermissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.service.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n requiredPermissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n checkPermission\n \n \n \n \n \n \n \n checkPermission(user: User, object: AuthorizableObject | BaseDO, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.service.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n object\n \n AuthorizableObject | BaseDO\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getUserWithPermissions\n \n \n \n \n \n \n \n getUserWithPermissions(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.service.ts:55\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n hasAllPermissions\n \n \n \n \n \n \n \n hasAllPermissions(user: User, requiredPermissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.service.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n requiredPermissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n hasOneOfPermissions\n \n \n \n \n \n \n \n hasOneOfPermissions(user: User, requiredPermissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.service.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n requiredPermissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, object: AuthorizableObject | BaseDO, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/authorization.service.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n object\n \n AuthorizableObject | BaseDO\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, UnauthorizedException } from '@nestjs/common';\nimport { AuthorizableObject } from '@shared/domain/domain-object';\nimport { BaseDO } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { UserRepo } from '@shared/repo';\nimport { ForbiddenLoggableException } from '../error';\nimport { AuthorizationContext } from '../type';\nimport { AuthorizationHelper } from './authorization.helper';\nimport { RuleManager } from './rule-manager';\n\n@Injectable()\nexport class AuthorizationService {\n\tconstructor(\n\t\tprivate readonly ruleManager: RuleManager,\n\t\tprivate readonly authorizationHelper: AuthorizationHelper,\n\t\tprivate readonly userRepo: UserRepo\n\t) {}\n\n\tpublic checkPermission(user: User, object: AuthorizableObject | BaseDO, context: AuthorizationContext): void {\n\t\tif (!this.hasPermission(user, object, context)) {\n\t\t\tthrow new ForbiddenLoggableException(user.id, object.constructor.name, context);\n\t\t}\n\t}\n\n\tpublic hasPermission(user: User, object: AuthorizableObject | BaseDO, context: AuthorizationContext): boolean {\n\t\tconst rule = this.ruleManager.selectRule(user, object, context);\n\t\tconst hasPermission = rule.hasPermission(user, object, context);\n\n\t\treturn hasPermission;\n\t}\n\n\tpublic checkAllPermissions(user: User, requiredPermissions: string[]): void {\n\t\tif (!this.authorizationHelper.hasAllPermissions(user, requiredPermissions)) {\n\t\t\t// TODO: Should be ForbiddenLoggableException\n\t\t\tthrow new UnauthorizedException();\n\t\t}\n\t}\n\n\tpublic hasAllPermissions(user: User, requiredPermissions: string[]): boolean {\n\t\treturn this.authorizationHelper.hasAllPermissions(user, requiredPermissions);\n\t}\n\n\tpublic checkOneOfPermissions(user: User, requiredPermissions: string[]): void {\n\t\tif (!this.authorizationHelper.hasOneOfPermissions(user, requiredPermissions)) {\n\t\t\t// TODO: Should be ForbiddenLoggableException\n\t\t\tthrow new UnauthorizedException();\n\t\t}\n\t}\n\n\tpublic hasOneOfPermissions(user: User, requiredPermissions: string[]): boolean {\n\t\treturn this.authorizationHelper.hasOneOfPermissions(user, requiredPermissions);\n\t}\n\n\tpublic async getUserWithPermissions(userId: EntityId): Promise {\n\t\t// replace with service method getUserWithPermissions BC-5069\n\t\tconst userWithPopulatedRoles = await this.userRepo.findById(userId, true);\n\n\t\treturn userWithPopulatedRoles;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AutoContextIdStrategy.html":{"url":"injectables/AutoContextIdStrategy.html","title":"injectable - AutoContextIdStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AutoContextIdStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-context-id.strategy.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getValue\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getValue\n \n \n \n \n \n \ngetValue(schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-context-id.strategy.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string | undefined\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ContextExternalTool } from '../../../context-external-tool/domain';\nimport { SchoolExternalTool } from '../../../school-external-tool/domain';\nimport { AutoParameterStrategy } from './auto-parameter.strategy';\n\n@Injectable()\nexport class AutoContextIdStrategy implements AutoParameterStrategy {\n\tgetValue(schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool): string | undefined {\n\t\treturn contextExternalTool.contextRef.id;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AutoContextNameStrategy.html":{"url":"injectables/AutoContextNameStrategy.html","title":"injectable - AutoContextNameStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AutoContextNameStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-context-name.strategy.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n getBoardValue\n \n \n Private\n Async\n getCourseValue\n \n \n Async\n getValue\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(courseService: CourseService, contentElementService: ContentElementService, columnBoardService: ColumnBoardService)\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-context-name.strategy.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseService\n \n \n CourseService\n \n \n \n No\n \n \n \n \n contentElementService\n \n \n ContentElementService\n \n \n \n No\n \n \n \n \n columnBoardService\n \n \n ColumnBoardService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n getBoardValue\n \n \n \n \n \n \n \n getBoardValue(elementId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-context-name.strategy.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n elementId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getCourseValue\n \n \n \n \n \n \n \n getCourseValue(courseId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-context-name.strategy.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getValue\n \n \n \n \n \n \n \n getValue(schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-context-name.strategy.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ColumnBoardService, ContentElementService } from '@modules/board';\nimport { CourseService } from '@modules/learnroom';\nimport { Injectable } from '@nestjs/common';\nimport { AnyContentElementDo, BoardExternalReferenceType, ColumnBoard } from '@shared/domain/domainobject';\nimport { Course } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\n\nimport { CustomParameterType, ToolContextType } from '../../../common/enum';\nimport { ContextExternalTool } from '../../../context-external-tool/domain';\nimport { SchoolExternalTool } from '../../../school-external-tool/domain';\nimport { ParameterTypeNotImplementedLoggableException } from '../../error';\nimport { AutoParameterStrategy } from './auto-parameter.strategy';\n\n@Injectable()\nexport class AutoContextNameStrategy implements AutoParameterStrategy {\n\tconstructor(\n\t\tprivate readonly courseService: CourseService,\n\t\tprivate readonly contentElementService: ContentElementService,\n\t\tprivate readonly columnBoardService: ColumnBoardService\n\t) {}\n\n\tasync getValue(\n\t\tschoolExternalTool: SchoolExternalTool,\n\t\tcontextExternalTool: ContextExternalTool\n\t): Promise {\n\t\tswitch (contextExternalTool.contextRef.type) {\n\t\t\tcase ToolContextType.COURSE: {\n\t\t\t\tconst courseValue: string = await this.getCourseValue(contextExternalTool.contextRef.id);\n\n\t\t\t\treturn courseValue;\n\t\t\t}\n\t\t\tcase ToolContextType.BOARD_ELEMENT: {\n\t\t\t\tconst boardValue: string | undefined = await this.getBoardValue(contextExternalTool.contextRef.id);\n\n\t\t\t\treturn boardValue;\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\tthrow new ParameterTypeNotImplementedLoggableException(\n\t\t\t\t\t`${CustomParameterType.AUTO_CONTEXTNAME}/${contextExternalTool.contextRef.type as string}`\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate async getCourseValue(courseId: EntityId): Promise {\n\t\tconst course: Course = await this.courseService.findById(courseId);\n\n\t\treturn course.name;\n\t}\n\n\tprivate async getBoardValue(elementId: EntityId): Promise {\n\t\tconst element: AnyContentElementDo = await this.contentElementService.findById(elementId);\n\n\t\tconst board: ColumnBoard = await this.columnBoardService.findByDescendant(element);\n\n\t\tif (board.context.type === BoardExternalReferenceType.Course) {\n\t\t\tconst courseName: string = await this.getCourseValue(board.context.id);\n\n\t\t\treturn courseName;\n\t\t}\n\n\t\treturn undefined;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/AutoParameterStrategy.html":{"url":"interfaces/AutoParameterStrategy.html","title":"interface - AutoParameterStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n AutoParameterStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-parameter.strategy.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n getValue\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n getValue\n \n \n \n \n \n \ngetValue(schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-parameter.strategy.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string | Promise | undefined\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ContextExternalTool } from '../../../context-external-tool/domain';\nimport { SchoolExternalTool } from '../../../school-external-tool/domain';\n\nexport interface AutoParameterStrategy {\n\tgetValue(\n\t\tschoolExternalTool: SchoolExternalTool,\n\t\tcontextExternalTool: ContextExternalTool\n\t): string | Promise | undefined;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AutoSchoolIdStrategy.html":{"url":"injectables/AutoSchoolIdStrategy.html","title":"injectable - AutoSchoolIdStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AutoSchoolIdStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-school-id.strategy.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getValue\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getValue\n \n \n \n \n \n \ngetValue(schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-school-id.strategy.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string | undefined\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ContextExternalTool } from '../../../context-external-tool/domain';\nimport { SchoolExternalTool } from '../../../school-external-tool/domain';\nimport { AutoParameterStrategy } from './auto-parameter.strategy';\n\n@Injectable()\nexport class AutoSchoolIdStrategy implements AutoParameterStrategy {\n\tgetValue(\n\t\tschoolExternalTool: SchoolExternalTool,\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\tcontextExternalTool: ContextExternalTool\n\t): string | undefined {\n\t\treturn schoolExternalTool.schoolId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/AutoSchoolNumberStrategy.html":{"url":"injectables/AutoSchoolNumberStrategy.html","title":"injectable - AutoSchoolNumberStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n AutoSchoolNumberStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-school-number.strategy.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getValue\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolService: LegacySchoolService)\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-school-number.strategy.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getValue\n \n \n \n \n \n \n \n getValue(schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/auto-parameter-strategy/auto-school-number.strategy.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { LegacySchoolService } from '@modules/legacy-school';\nimport { Injectable } from '@nestjs/common';\nimport { LegacySchoolDo } from '@shared/domain/domainobject';\nimport { ContextExternalTool } from '../../../context-external-tool/domain';\nimport { SchoolExternalTool } from '../../../school-external-tool/domain';\nimport { AutoParameterStrategy } from './auto-parameter.strategy';\n\n@Injectable()\nexport class AutoSchoolNumberStrategy implements AutoParameterStrategy {\n\tconstructor(private readonly schoolService: LegacySchoolService) {}\n\n\tasync getValue(\n\t\tschoolExternalTool: SchoolExternalTool,\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\tcontextExternalTool: ContextExternalTool\n\t): Promise {\n\t\tconst school: LegacySchoolDo = await this.schoolService.getSchoolById(schoolExternalTool.schoolId);\n\n\t\treturn school.officialSchoolNumber;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AxiosErrorFactory.html":{"url":"classes/AxiosErrorFactory.html","title":"class - AxiosErrorFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AxiosErrorFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/axios-error.factory.ts\n \n\n\n\n \n Extends\n \n \n Factory\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n withError\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withError\n \n \n \n \n \n \nwithError(error)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/axios-error.factory.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n error\n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { axiosResponseFactory } from '@shared/testing';\nimport { AxiosError, AxiosHeaders } from 'axios';\nimport { Factory } from 'fishery';\n\nclass AxiosErrorFactory extends Factory {\n\twithError(error: unknown): this {\n\t\treturn this.params({\n\t\t\tresponse: axiosResponseFactory.build({ status: HttpStatus.BAD_REQUEST, data: error }),\n\t\t});\n\t}\n}\n\nexport const axiosErrorFactory = AxiosErrorFactory.define(() => {\n\treturn {\n\t\tstatus: HttpStatus.BAD_REQUEST,\n\t\tconfig: { headers: new AxiosHeaders() },\n\t\tisAxiosError: true,\n\t\tcode: HttpStatus.BAD_REQUEST.toString(),\n\t\tmessage: 'Bad Request',\n\t\tname: 'BadRequest',\n\t\tresponse: axiosResponseFactory.build({ status: HttpStatus.BAD_REQUEST }),\n\t\tstack: 'mockStack',\n\t\ttoJSON: () => {\n\t\t\treturn { someJson: 'someJson' };\n\t\t},\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AxiosErrorLoggable.html":{"url":"classes/AxiosErrorLoggable.html","title":"class - AxiosErrorLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AxiosErrorLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/error/loggable/axios-error.loggable.ts\n \n\n\n\n \n Extends\n \n \n HttpException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(axiosError: AxiosError, type: string)\n \n \n \n \n Defined in apps/server/src/core/error/loggable/axios-error.loggable.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n axiosError\n \n \n AxiosError\n \n \n \n No\n \n \n \n \n type\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/core/error/loggable/axios-error.loggable.ts:12\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpException, HttpStatus } from '@nestjs/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { AxiosError } from 'axios';\n\nexport class AxiosErrorLoggable extends HttpException implements Loggable {\n\tconstructor(private readonly axiosError: AxiosError, protected readonly type: string) {\n\t\tsuper(JSON.stringify(axiosError.response?.data), axiosError.status ?? HttpStatus.INTERNAL_SERVER_ERROR, {\n\t\t\tcause: axiosError.cause,\n\t\t});\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: this.axiosError.message,\n\t\t\ttype: this.type,\n\t\t\tdata: JSON.stringify(this.axiosError.response?.data),\n\t\t\tstack: this.axiosError.stack,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/AxiosResponseImp.html":{"url":"classes/AxiosResponseImp.html","title":"class - AxiosResponseImp","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n AxiosResponseImp\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/axios-response.factory.ts\n \n\n\n\n\n \n Implements\n \n \n AxiosResponse\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n config\n \n \n data\n \n \n headers\n \n \n status\n \n \n statusText\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: AxiosResponseProps)\n \n \n \n \n Defined in apps/server/src/shared/testing/factory/axios-response.factory.ts:22\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n AxiosResponseProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n config\n \n \n \n \n \n \n Type : InternalAxiosRequestConfig<>\n\n \n \n \n \n Defined in apps/server/src/shared/testing/factory/axios-response.factory.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Defined in apps/server/src/shared/testing/factory/axios-response.factory.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n headers\n \n \n \n \n \n \n Type : AxiosHeaders\n\n \n \n \n \n Defined in apps/server/src/shared/testing/factory/axios-response.factory.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/shared/testing/factory/axios-response.factory.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n statusText\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/testing/factory/axios-response.factory.ts:18\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { AxiosHeaderValue, AxiosHeaders, AxiosResponse, InternalAxiosRequestConfig } from 'axios';\nimport { BaseFactory } from './base.factory';\n\nexport type AxiosHeadersKeyValue = { [key: string]: AxiosHeaderValue };\ntype AxiosResponseProps = {\n\tdata: T;\n\tstatus: number;\n\tstatusText: string;\n\theaders: AxiosHeadersKeyValue;\n\tconfig: InternalAxiosRequestConfig;\n};\n\nclass AxiosResponseImp implements AxiosResponse {\n\tdata: T;\n\n\tstatus: number;\n\n\tstatusText: string;\n\n\theaders: AxiosHeaders;\n\n\tconfig: InternalAxiosRequestConfig;\n\n\tconstructor(props: AxiosResponseProps) {\n\t\tthis.data = props.data;\n\t\tthis.status = props.status;\n\t\tthis.statusText = props.statusText;\n\t\tthis.headers = new AxiosHeaders(props.headers);\n\t\tthis.config = props.config;\n\t}\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const axiosResponseFactory = BaseFactory.define, AxiosResponseProps>(\n\tAxiosResponseImp,\n\t() => {\n\t\treturn {\n\t\t\tdata: '',\n\t\t\tstatus: 200,\n\t\t\tstatusText: '',\n\t\t\theaders: new AxiosHeaders(),\n\t\t\tconfig: { headers: new AxiosHeaders() },\n\t\t};\n\t}\n);\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BBBBaseMeetingConfig.html":{"url":"classes/BBBBaseMeetingConfig.html","title":"class - BBBBaseMeetingConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BBBBaseMeetingConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/request/bbb-base-meeting.config.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n meetingID\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(config: BBBBaseMeetingConfig)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-base-meeting.config.ts:1\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n \n BBBBaseMeetingConfig\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n meetingID\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-base-meeting.config.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class BBBBaseMeetingConfig {\n\tconstructor(config: BBBBaseMeetingConfig) {\n\t\tthis.meetingID = config.meetingID;\n\t}\n\n\tmeetingID: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BBBBaseResponse.html":{"url":"interfaces/BBBBaseResponse.html","title":"interface - BBBBaseResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BBBBaseResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/response/bbb-base.response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n message\n \n \n \n \n messageKey\n \n \n \n \n returncode\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n message\n \n \n \n \n \n \n \n \n message: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n messageKey\n \n \n \n \n \n \n \n \n messageKey: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n returncode\n \n \n \n \n \n \n \n \n returncode: BBBStatus\n\n \n \n\n\n \n \n Type : BBBStatus\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BBBStatus } from './bbb-status.enum';\n\nexport interface BBBBaseResponse {\n\treturncode: BBBStatus;\n\tmessageKey: string;\n\tmessage: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BBBCreateConfig.html":{"url":"classes/BBBCreateConfig.html","title":"class - BBBCreateConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BBBCreateConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/request/bbb-create.config.ts\n \n\n\n\n \n Extends\n \n \n BBBBaseMeetingConfig\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n allowModsToUnmuteUsers\n \n \n Optional\n attendeePW\n \n \n Optional\n guestPolicy\n \n \n Optional\n logoutURL\n \n \n Optional\n meta_bbb-origin-server-name\n \n \n Optional\n moderatorPW\n \n \n Optional\n muteOnStart\n \n \n name\n \n \n Optional\n welcome\n \n \n meetingID\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(config: BBBCreateConfig)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-create.config.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n \n BBBCreateConfig\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n allowModsToUnmuteUsers\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-create.config.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n attendeePW\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-create.config.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n guestPolicy\n \n \n \n \n \n \n Type : GuestPolicy\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-create.config.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n logoutURL\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-create.config.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n meta_bbb-origin-server-name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-create.config.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n moderatorPW\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-create.config.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n muteOnStart\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-create.config.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-create.config.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n welcome\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-create.config.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n meetingID\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from BBBBaseMeetingConfig\n\n \n \n \n \n Defined in BBBBaseMeetingConfig:6\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { BBBBaseMeetingConfig } from './bbb-base-meeting.config';\n\nexport enum GuestPolicy {\n\tALWAYS_ACCEPT = 'ALWAYS_ACCEPT',\n\tALWAYS_DENY = 'ALWAYS_DENY',\n\tASK_MODERATOR = 'ASK_MODERATOR',\n}\n\nexport class BBBCreateConfig extends BBBBaseMeetingConfig {\n\tconstructor(config: BBBCreateConfig) {\n\t\tsuper(config);\n\t\tthis.name = config.name;\n\t\tthis.meetingID = config.meetingID;\n\t\tthis.logoutURL = config.logoutURL;\n\t\tthis.welcome = config.welcome;\n\t\tthis.guestPolicy = config.guestPolicy;\n\t\tthis.moderatorPW = config.moderatorPW;\n\t\tthis.attendeePW = config.attendeePW;\n\t\tthis.allowModsToUnmuteUsers = config.allowModsToUnmuteUsers;\n\t\tthis['meta_bbb-origin-server-name'] = config['meta_bbb-origin-server-name'];\n\t}\n\n\tname: string;\n\n\tattendeePW?: string;\n\n\tmoderatorPW?: string;\n\n\tlogoutURL?: string;\n\n\twelcome?: string;\n\n\tguestPolicy?: GuestPolicy;\n\n\tmuteOnStart?: boolean;\n\n\tallowModsToUnmuteUsers?: boolean;\n\n\t'meta_bbb-origin-server-name'?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BBBCreateConfigBuilder.html":{"url":"classes/BBBCreateConfigBuilder.html","title":"class - BBBCreateConfigBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BBBCreateConfigBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/builder/bbb-create-config.builder.ts\n \n\n\n\n \n Extends\n \n \n Builder\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n product\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n build\n \n \n withGuestPolicy\n \n \n withLogoutUrl\n \n \n withMuteOnStart\n \n \n withWelcome\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n product\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from Builder\n\n \n \n \n \n Defined in Builder:2\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \n \n build()\n \n \n\n\n \n \n Inherited from Builder\n\n \n \n \n \n Defined in Builder:26\n\n \n \n\n\n \n \n\n \n Returns : BBBCreateConfig\n\n \n \n \n \n \n \n \n \n \n \n \n withGuestPolicy\n \n \n \n \n \n \nwithGuestPolicy(guestPolicy: GuestPolicy)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/builder/bbb-create-config.builder.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n guestPolicy\n \n GuestPolicy\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BBBCreateConfigBuilder\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withLogoutUrl\n \n \n \n \n \n \nwithLogoutUrl(logoutUrl: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/builder/bbb-create-config.builder.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n logoutUrl\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BBBCreateConfigBuilder\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withMuteOnStart\n \n \n \n \n \n \nwithMuteOnStart(value: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/builder/bbb-create-config.builder.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BBBCreateConfigBuilder\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withWelcome\n \n \n \n \n \n \nwithWelcome(welcome: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/builder/bbb-create-config.builder.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n welcome\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BBBCreateConfigBuilder\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\nimport { BBBCreateConfig, BBBRole, GuestPolicy } from '../request';\nimport { Builder } from './builder';\n\nexport class BBBCreateConfigBuilder extends Builder {\n\twithLogoutUrl(logoutUrl: string): BBBCreateConfigBuilder {\n\t\tthis.product.logoutURL = logoutUrl;\n\t\treturn this;\n\t}\n\n\twithWelcome(welcome: string): BBBCreateConfigBuilder {\n\t\tthis.product.welcome = welcome;\n\t\treturn this;\n\t}\n\n\twithGuestPolicy(guestPolicy: GuestPolicy): BBBCreateConfigBuilder {\n\t\tthis.product.guestPolicy = guestPolicy;\n\t\treturn this;\n\t}\n\n\twithMuteOnStart(value: boolean): BBBCreateConfigBuilder {\n\t\tthis.product.muteOnStart = value;\n\t\treturn this;\n\t}\n\n\toverride build(): BBBCreateConfig {\n\t\tthis.product['meta_bbb-origin-server-name'] = Configuration.get('SC_DOMAIN') as string;\n\n\t\t// Deprecated fields from BBB that have to be set to a consistent value, in order to call the create endpoint multiple times without error\n\t\tthis.product.moderatorPW = BBBRole.MODERATOR;\n\t\tthis.product.attendeePW = BBBRole.VIEWER;\n\n\t\tthis.product.allowModsToUnmuteUsers = true;\n\n\t\treturn super.build();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BBBCreateResponse.html":{"url":"interfaces/BBBCreateResponse.html","title":"interface - BBBCreateResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BBBCreateResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/response/bbb-create.response.ts\n \n\n\n\n \n Extends\n \n \n BBBBaseResponse\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n createDate\n \n \n \n \n createTime\n \n \n \n \n dialNumber\n \n \n \n \n duration\n \n \n \n \n hasBeenForciblyEnded\n \n \n \n \n hasUserJoined\n \n \n \n \n internalMeetingID\n \n \n \n \n meetingID\n \n \n \n \n parentMeetingID\n \n \n \n \n voiceBridge\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n createDate\n \n \n \n \n \n \n \n \n createDate: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n createTime\n \n \n \n \n \n \n \n \n createTime: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n dialNumber\n \n \n \n \n \n \n \n \n dialNumber: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n duration\n \n \n \n \n \n \n \n \n duration: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n hasBeenForciblyEnded\n \n \n \n \n \n \n \n \n hasBeenForciblyEnded: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n hasUserJoined\n \n \n \n \n \n \n \n \n hasUserJoined: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n internalMeetingID\n \n \n \n \n \n \n \n \n internalMeetingID: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n meetingID\n \n \n \n \n \n \n \n \n meetingID: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentMeetingID\n \n \n \n \n \n \n \n \n parentMeetingID: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n voiceBridge\n \n \n \n \n \n \n \n \n voiceBridge: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BBBBaseResponse } from './bbb-base.response';\n\nexport interface BBBCreateResponse extends BBBBaseResponse {\n\tmeetingID: string;\n\tinternalMeetingID: string;\n\tparentMeetingID: string;\n\tcreateTime: number;\n\tvoiceBridge: number;\n\tdialNumber: string;\n\tcreateDate: string;\n\thasUserJoined: boolean;\n\tduration: number;\n\thasBeenForciblyEnded: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BBBJoinConfig.html":{"url":"classes/BBBJoinConfig.html","title":"class - BBBJoinConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BBBJoinConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/request/bbb-join.config.ts\n \n\n\n\n \n Extends\n \n \n BBBBaseMeetingConfig\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n fullName\n \n \n Optional\n guest\n \n \n Optional\n redirect\n \n \n role\n \n \n Optional\n userID\n \n \n meetingID\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(config: BBBJoinConfig)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-join.config.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n \n BBBJoinConfig\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n fullName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-join.config.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n guest\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-join.config.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n redirect\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-join.config.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n role\n \n \n \n \n \n \n Type : BBBRole\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-join.config.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n userID\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/request/bbb-join.config.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n meetingID\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from BBBBaseMeetingConfig\n\n \n \n \n \n Defined in BBBBaseMeetingConfig:6\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { BBBBaseMeetingConfig } from './bbb-base-meeting.config';\n\nexport enum BBBRole {\n\tMODERATOR = 'MODERATOR',\n\tVIEWER = 'VIEWER',\n}\n\nexport class BBBJoinConfig extends BBBBaseMeetingConfig {\n\tconstructor(config: BBBJoinConfig) {\n\t\tsuper(config);\n\t\tthis.fullName = config.fullName;\n\t\tthis.role = config.role;\n\t\tthis.userID = config.userID;\n\t\tthis.guest = config.guest;\n\t\tthis.redirect = config.redirect;\n\t}\n\n\tfullName: string;\n\n\trole: BBBRole;\n\n\tuserID?: string;\n\n\tguest?: boolean;\n\n\tredirect?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BBBJoinConfigBuilder.html":{"url":"classes/BBBJoinConfigBuilder.html","title":"class - BBBJoinConfigBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BBBJoinConfigBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/builder/bbb-join-config.builder.ts\n \n\n\n\n \n Extends\n \n \n Builder\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n product\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n asGuest\n \n \n withRole\n \n \n withUserId\n \n \n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n product\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from Builder\n\n \n \n \n \n Defined in Builder:2\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n asGuest\n \n \n \n \n \n \nasGuest(value: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/builder/bbb-join-config.builder.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BBBJoinConfigBuilder\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withRole\n \n \n \n \n \n \nwithRole(value: BBBRole)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/builder/bbb-join-config.builder.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n BBBRole\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BBBJoinConfigBuilder\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withUserId\n \n \n \n \n \n \nwithUserId(value: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/builder/bbb-join-config.builder.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BBBJoinConfigBuilder\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild()\n \n \n\n\n \n \n Inherited from Builder\n\n \n \n \n \n Defined in Builder:8\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BBBJoinConfig, BBBRole } from '../request/bbb-join.config';\nimport { Builder } from './builder';\n\nexport class BBBJoinConfigBuilder extends Builder {\n\tasGuest(value: boolean): BBBJoinConfigBuilder {\n\t\tthis.product.guest = value;\n\t\treturn this;\n\t}\n\n\twithRole(value: BBBRole): BBBJoinConfigBuilder {\n\t\tthis.product.role = value;\n\t\treturn this;\n\t}\n\n\twithUserId(value: string): BBBJoinConfigBuilder {\n\t\tthis.product.userID = value;\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BBBJoinResponse.html":{"url":"interfaces/BBBJoinResponse.html","title":"interface - BBBJoinResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BBBJoinResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/response/bbb-join.response.ts\n \n\n\n\n \n Extends\n \n \n BBBBaseResponse\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n auth_token\n \n \n \n \n meeting_id\n \n \n \n \n session_token\n \n \n \n \n url\n \n \n \n \n user_id\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n auth_token\n \n \n \n \n \n \n \n \n auth_token: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n meeting_id\n \n \n \n \n \n \n \n \n meeting_id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n session_token\n \n \n \n \n \n \n \n \n session_token: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n user_id\n \n \n \n \n \n \n \n \n user_id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BBBBaseResponse } from './bbb-base.response';\n\nexport interface BBBJoinResponse extends BBBBaseResponse {\n\tmeeting_id: string;\n\tuser_id: string;\n\tauth_token: string;\n\tsession_token: string;\n\turl: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BBBMeetingInfoResponse.html":{"url":"interfaces/BBBMeetingInfoResponse.html","title":"interface - BBBMeetingInfoResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BBBMeetingInfoResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/response/bbb-meeting-info.response.ts\n \n\n\n\n \n Extends\n \n \n BBBBaseResponse\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n attendees\n \n \n \n Optional\n \n breakout\n \n \n \n Optional\n \n breakoutRooms\n \n \n \n \n createDate\n \n \n \n \n createTime\n \n \n \n \n dialNumber\n \n \n \n \n duration\n \n \n \n \n endTime\n \n \n \n \n hasBeenForciblyEnded\n \n \n \n \n hasUserJoined\n \n \n \n \n internalMeetingID\n \n \n \n \n isBreakout\n \n \n \n \n listenerCount\n \n \n \n \n maxUsers\n \n \n \n \n meetingID\n \n \n \n \n meetingName\n \n \n \n \n metadata\n \n \n \n \n moderatorCount\n \n \n \n \n participantCount\n \n \n \n \n recording\n \n \n \n \n running\n \n \n \n \n startTime\n \n \n \n \n videoCount\n \n \n \n \n voiceBridge\n \n \n \n \n voiceParticipantCount\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n attendees\n \n \n \n \n \n \n \n \n attendees: literal type[]\n\n \n \n\n\n \n \n Type : literal type[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n breakout\n \n \n \n \n \n \n \n \n breakout: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n breakoutRooms\n \n \n \n \n \n \n \n \n breakoutRooms: literal type[]\n\n \n \n\n\n \n \n Type : literal type[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n createDate\n \n \n \n \n \n \n \n \n createDate: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n createTime\n \n \n \n \n \n \n \n \n createTime: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n dialNumber\n \n \n \n \n \n \n \n \n dialNumber: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n duration\n \n \n \n \n \n \n \n \n duration: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n endTime\n \n \n \n \n \n \n \n \n endTime: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n hasBeenForciblyEnded\n \n \n \n \n \n \n \n \n hasBeenForciblyEnded: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n hasUserJoined\n \n \n \n \n \n \n \n \n hasUserJoined: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n internalMeetingID\n \n \n \n \n \n \n \n \n internalMeetingID: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n isBreakout\n \n \n \n \n \n \n \n \n isBreakout: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n listenerCount\n \n \n \n \n \n \n \n \n listenerCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n maxUsers\n \n \n \n \n \n \n \n \n maxUsers: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n meetingID\n \n \n \n \n \n \n \n \n meetingID: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n meetingName\n \n \n \n \n \n \n \n \n meetingName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n metadata\n \n \n \n \n \n \n \n \n metadata: \n\n \n \n\n\n\n\n\n\n\n \n \n \n \n \n \n \n moderatorCount\n \n \n \n \n \n \n \n \n moderatorCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n participantCount\n \n \n \n \n \n \n \n \n participantCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n recording\n \n \n \n \n \n \n \n \n recording: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n running\n \n \n \n \n \n \n \n \n running: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n startTime\n \n \n \n \n \n \n \n \n startTime: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n videoCount\n \n \n \n \n \n \n \n \n videoCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n voiceBridge\n \n \n \n \n \n \n \n \n voiceBridge: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n voiceParticipantCount\n \n \n \n \n \n \n \n \n voiceParticipantCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BBBBaseResponse } from './bbb-base.response';\n\nexport interface BBBMeetingInfoResponse extends BBBBaseResponse {\n\tmeetingName: string;\n\tmeetingID: string;\n\tinternalMeetingID: string;\n\tcreateTime: number;\n\tcreateDate: string;\n\tvoiceBridge: number;\n\tdialNumber: string;\n\trunning: boolean;\n\tduration: number;\n\thasUserJoined: boolean;\n\trecording: boolean;\n\thasBeenForciblyEnded: boolean;\n\tstartTime: number;\n\tendTime: number;\n\tparticipantCount: number;\n\tlistenerCount: number;\n\tvoiceParticipantCount: number;\n\tvideoCount: number;\n\tmaxUsers: number;\n\tmoderatorCount: number;\n\tattendees: {\n\t\tattendee: {\n\t\t\tuserID: string;\n\t\t\tfullName: string;\n\t\t\trole: string;\n\t\t\tisPresenter: boolean;\n\t\t\tisListeningOnly: boolean;\n\t\t\thasJoinedVoice: boolean;\n\t\t\thasVideo: boolean;\n\t\t\tclientType: string;\n\t\t};\n\t}[];\n\tmetadata: unknown;\n\tisBreakout: boolean;\n\tbreakoutRooms?: {\n\t\tbreakout: string;\n\t}[];\n\tbreakout?: {\n\t\tparentMeetingID: string;\n\t\tsequence: number;\n\t\tfreeJoin: boolean;\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BBBResponse.html":{"url":"interfaces/BBBResponse.html","title":"interface - BBBResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BBBResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/response/bbb.response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n response\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n response\n \n \n \n \n \n \n \n \n response: T\n\n \n \n\n\n \n \n Type : T\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BBBBaseResponse } from './bbb-base.response';\n\nexport interface BBBResponse {\n\tresponse: T;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BBBService.html":{"url":"injectables/BBBService.html","title":"injectable - BBBService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BBBService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/bbb.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n create\n \n \n end\n \n \n Protected\n generateChecksum\n \n \n getBbbRequestConfig\n \n \n getMeetingInfo\n \n \n Protected\n getUrl\n \n \n Async\n join\n \n \n Protected\n toParams\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n baseUrl\n \n \n salt\n \n \n presentationUrl\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(bbbSettings: IBbbSettings, httpService: HttpService, converterUtil: ConverterUtil)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n bbbSettings\n \n \n IBbbSettings\n \n \n \n No\n \n \n \n \n httpService\n \n \n HttpService\n \n \n \n No\n \n \n \n \n converterUtil\n \n \n ConverterUtil\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(config: BBBCreateConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:39\n \n \n\n\n \n \n Creates a new BBB Meeting. The create call is idempotent: you can call it multiple times with the same parameters without side effects.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n BBBCreateConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n end\n \n \n \n \n \n \nend(config: BBBBaseMeetingConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:84\n \n \n\n\n \n \n Ends a BBB Meeting.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n BBBBaseMeetingConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n generateChecksum\n \n \n \n \n \n \n \n generateChecksum(callName: string, queryParams: URLSearchParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:136\n \n \n\n\n \n \n Returns a SHA1 encoded checksum for the input parameters.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n callName\n \n string\n \n\n \n No\n \n\n\n \n \n queryParams\n \n URLSearchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getBbbRequestConfig\n \n \n \n \n \n \ngetBbbRequestConfig(presentationUrl: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n presentationUrl\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getMeetingInfo\n \n \n \n \n \n \ngetMeetingInfo(config: BBBBaseMeetingConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:107\n \n \n\n\n \n \n Returns information about a BBB Meeting.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n BBBBaseMeetingConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n getUrl\n \n \n \n \n \n \n \n getUrl(callName: string, queryParams: URLSearchParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:167\n \n \n\n\n \n \n Builds the url for BBB.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n callName\n \n string\n \n\n \n No\n \n\n\n \n Name of the BBB api function.\n\n \n \n \n queryParams\n \n URLSearchParams\n \n\n \n No\n \n\n\n \n Parameters for the endpoint.\n\n \n \n \n \n \n \n Returns : string\n\n \n \n A callable url.\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n join\n \n \n \n \n \n \n \n join(config: BBBJoinConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:72\n \n \n\n\n \n \n Creates a join link to a BBB Meeting.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n BBBJoinConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n The join url\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n toParams\n \n \n \n \n \n \n \n toParams(object: BBBCreateConfig | BBBBaseMeetingConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:150\n \n \n\n\n \n \n Extracts fields from a javascript object and builds a URLSearchParams object from it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n object\n \n BBBCreateConfig | BBBBaseMeetingConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : URLSearchParams\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n baseUrl\n \n \n\n \n \n getbaseUrl()\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:21\n \n \n\n \n \n \n \n \n \n \n salt\n \n \n\n \n \n getsalt()\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:25\n \n \n\n \n \n \n \n \n \n \n presentationUrl\n \n \n\n \n \n getpresentationUrl()\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/bbb.service.ts:29\n \n \n\n \n \n\n \n\n\n \n import { HttpService } from '@nestjs/axios';\nimport { Inject, Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { ConverterUtil } from '@shared/common/utils';\nimport { ErrorUtils } from '@src/core/error/utils';\nimport { AxiosResponse } from 'axios';\nimport crypto from 'crypto';\nimport { firstValueFrom, Observable } from 'rxjs';\nimport { URL, URLSearchParams } from 'url';\nimport { BbbSettings, IBbbSettings } from './bbb-settings.interface';\nimport { BBBBaseMeetingConfig, BBBCreateConfig, BBBJoinConfig } from './request';\nimport { BBBBaseResponse, BBBCreateResponse, BBBMeetingInfoResponse, BBBResponse, BBBStatus } from './response';\n\n@Injectable()\nexport class BBBService {\n\tconstructor(\n\t\t@Inject(BbbSettings) private readonly bbbSettings: IBbbSettings,\n\t\tprivate readonly httpService: HttpService,\n\t\tprivate readonly converterUtil: ConverterUtil\n\t) {}\n\n\tprotected get baseUrl(): string {\n\t\treturn this.bbbSettings.host;\n\t}\n\n\tprotected get salt(): string {\n\t\treturn this.bbbSettings.salt;\n\t}\n\n\tprotected get presentationUrl(): string {\n\t\treturn this.bbbSettings.presentationUrl;\n\t}\n\n\t/**\n\t * Creates a new BBB Meeting. The create call is idempotent: you can call it multiple times with the same parameters without side effects.\n\t * @param {BBBCreateConfig} config\n\t * @returns {Promise>}\n\t * @throws {InternalServerErrorException}\n\t */\n\tcreate(config: BBBCreateConfig): Promise> {\n\t\tconst url: string = this.getUrl('create', this.toParams(config));\n\t\tconst conf = { headers: { 'Content-Type': 'application/xml' } };\n\t\tconst data = this.getBbbRequestConfig(this.presentationUrl);\n\t\tconst observable: Observable> = this.httpService.post(url, data, conf);\n\n\t\treturn firstValueFrom(observable)\n\t\t\t.then((resp: AxiosResponse) => {\n\t\t\t\tconst bbbResp = this.converterUtil.xml2object | BBBResponse>(\n\t\t\t\t\tresp.data\n\t\t\t\t);\n\t\t\t\tif (bbbResp.response.returncode !== BBBStatus.SUCCESS) {\n\t\t\t\t\tthrow new InternalServerErrorException(`${bbbResp.response.messageKey}: ${bbbResp.response.message}`);\n\t\t\t\t}\n\t\t\t\treturn bbbResp as BBBResponse;\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tthrow new InternalServerErrorException(null, ErrorUtils.createHttpExceptionOptions(error, 'BBBService:create'));\n\t\t\t});\n\t}\n\n\t// it should be a private method\n\tgetBbbRequestConfig(presentationUrl: string): string {\n\t\tif (presentationUrl === '') return '';\n\t\treturn ``;\n\t}\n\n\t/**\n\t * Creates a join link to a BBB Meeting.\n\t * @param {BBBJoinConfig} config\n\t * @returns {Promise} The join url\n\t * @throws {InternalServerErrorException}\n\t */\n\tasync join(config: BBBJoinConfig): Promise {\n\t\tawait this.getMeetingInfo(new BBBBaseMeetingConfig({ meetingID: config.meetingID }));\n\n\t\treturn this.getUrl('join', this.toParams(config));\n\t}\n\n\t/**\n\t * Ends a BBB Meeting.\n\t * @param {BBBBaseMeetingConfig} config\n\t * @returns {BBBResponse}\n\t * @throws {InternalServerErrorException}\n\t */\n\tend(config: BBBBaseMeetingConfig): Promise> {\n\t\tconst url: string = this.getUrl('end', this.toParams(config));\n\t\tconst observable: Observable> = this.httpService.get(url);\n\n\t\treturn firstValueFrom(observable)\n\t\t\t.then((resp: AxiosResponse) => {\n\t\t\t\tconst bbbResp = this.converterUtil.xml2object>(resp.data);\n\t\t\t\tif (bbbResp.response.returncode !== BBBStatus.SUCCESS) {\n\t\t\t\t\tthrow new InternalServerErrorException(`${bbbResp.response.messageKey}: ${bbbResp.response.message}`);\n\t\t\t\t}\n\t\t\t\treturn bbbResp;\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tthrow new InternalServerErrorException(null, ErrorUtils.createHttpExceptionOptions(error, 'BBBService:end'));\n\t\t\t});\n\t}\n\n\t/**\n\t * Returns information about a BBB Meeting.\n\t * @param {BBBBaseMeetingConfig} config\n\t * @returns {Promise}\n\t * @throws {InternalServerErrorException}\n\t */\n\tgetMeetingInfo(config: BBBBaseMeetingConfig): Promise> {\n\t\tconst url: string = this.getUrl('getMeetingInfo', this.toParams(config));\n\t\tconst observable: Observable> = this.httpService.get(url);\n\n\t\treturn firstValueFrom(observable)\n\t\t\t.then((resp: AxiosResponse) => {\n\t\t\t\tconst bbbResp = this.converterUtil.xml2object | BBBResponse\n\t\t\t\t>(resp.data);\n\t\t\t\tif (bbbResp.response.returncode !== BBBStatus.SUCCESS) {\n\t\t\t\t\tthrow new InternalServerErrorException(`${bbbResp.response.messageKey}: ${bbbResp.response.message}`);\n\t\t\t\t}\n\t\t\t\treturn bbbResp as BBBResponse;\n\t\t\t})\n\t\t\t.catch((error) => {\n\t\t\t\tthrow new InternalServerErrorException(\n\t\t\t\t\tnull,\n\t\t\t\t\tErrorUtils.createHttpExceptionOptions(error, 'BBBService:getMeetingInfo')\n\t\t\t\t);\n\t\t\t});\n\t}\n\n\t// should be private\n\t/**\n\t * Returns a SHA1 encoded checksum for the input parameters.\n\t * @param {string} callName\n\t * @param {URLSearchParams} queryParams\n\t * @returns {string}\n\t */\n\tprotected generateChecksum(callName: string, queryParams: URLSearchParams): string {\n\t\tconst queryString: string = queryParams.toString();\n\t\tconst sha = crypto.createHash('sha1');\n\t\tsha.update(callName + queryString + this.salt);\n\t\tconst checksum: string = sha.digest('hex');\n\t\treturn checksum;\n\t}\n\n\t// should be private\n\t/**\n\t * Extracts fields from a javascript object and builds a URLSearchParams object from it.\n\t * @param {object} object\n\t * @returns {URLSearchParams}\n\t */\n\tprotected toParams(object: BBBCreateConfig | BBBBaseMeetingConfig): URLSearchParams {\n\t\tconst params: URLSearchParams = new URLSearchParams();\n\t\tObject.keys(object).forEach((key) => {\n\t\t\tif (key) {\n\t\t\t\tparams.append(key, String(object[key]));\n\t\t\t}\n\t\t});\n\t\treturn params;\n\t}\n\n\t// should be private\n\t/**\n\t * Builds the url for BBB.\n\t * @param callName Name of the BBB api function.\n\t * @param queryParams Parameters for the endpoint.\n\t * @returns {string} A callable url.\n\t */\n\tprotected getUrl(callName: string, queryParams: URLSearchParams): string {\n\t\tconst checksum: string = this.generateChecksum(callName, queryParams);\n\t\tqueryParams.append('checksum', checksum);\n\n\t\tconst url: URL = new URL(this.baseUrl);\n\t\turl.pathname = `/bigbluebutton/api/${callName}`;\n\t\turl.search = queryParams.toString();\n\n\t\treturn url.toString();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BaseDO.html":{"url":"classes/BaseDO.html","title":"class - BaseDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BaseDO\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/base.do.ts\n \n\n \n Deprecated\n \n \n \n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \n Protected\n constructor(id?: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/base.do.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n \n string\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/base.do.ts:5\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export abstract class BaseDO {\n\tid?: string;\n\n\tprotected constructor(id?: string) {\n\t\tthis.id = id;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BaseDORepo.html":{"url":"injectables/BaseDORepo.html","title":"injectable - BaseDORepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BaseDORepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/base.do.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n createOrUpdateEntity\n \n \n Async\n delete\n \n \n Async\n deleteById\n \n \n Async\n findById\n \n \n Protected\n Abstract\n mapDOToEntityProperties\n \n \n Protected\n Abstract\n mapEntityToDO\n \n \n Private\n removeProtectedEntityFields\n \n \n Async\n save\n \n \n Async\n saveAll\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(_em: EntityManager, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n _em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n createOrUpdateEntity\n \n \n \n \n \n \n \n createOrUpdateEntity(domainObject: DO)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(domainObjects: DO[] | DO)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[] | DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteById\n \n \n \n \n \n \n [object Object],[object Object],[object Object]\n \n \n \n \n \n deleteById(id: EntityId | EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts:78\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts:90\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Abstract\n mapDOToEntityProperties\n \n \n \n \n \n \n \n mapDOToEntityProperties(entityDO: DO)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : EntityData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Abstract\n mapEntityToDO\n \n \n \n \n \n \n \n mapEntityToDO(entity: E)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n E\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeProtectedEntityFields\n \n \n \n \n \n \n \n removeProtectedEntityFields(entityData: EntityData)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts:98\n \n \n\n\n \n \n Ignore base entity properties when updating entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityData\n \n EntityData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(domainObject: DO)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAll\n \n \n \n \n \n \n \n saveAll(domainObjects: DO[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/base.do.repo.ts:13\n \n \n\n \n \n\n \n\n\n \n import { EntityData, EntityName, FilterQuery, Primary, RequiredEntityData, Utils } from '@mikro-orm/core';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { BaseDO } from '@shared/domain/domainobject';\nimport { BaseEntity, baseEntityProperties } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacyLogger } from '@src/core/logger';\n\n@Injectable()\nexport abstract class BaseDORepo {\n\tconstructor(protected readonly _em: EntityManager, protected readonly logger: LegacyLogger) {}\n\n\tabstract get entityName(): EntityName;\n\n\tprotected abstract mapEntityToDO(entity: E): DO;\n\n\tprotected abstract mapDOToEntityProperties(entityDO: DO): EntityData;\n\n\tasync save(domainObject: DO): Promise {\n\t\tconst savedDomainObjects = await this.saveAll([domainObject]);\n\t\treturn savedDomainObjects[0];\n\t}\n\n\tasync saveAll(domainObjects: DO[]): Promise {\n\t\tconst promises = domainObjects.map(async (dob) => this.createOrUpdateEntity(dob));\n\n\t\tconst savedDomainObjects = await Promise.all(promises);\n\n\t\treturn savedDomainObjects;\n\t}\n\n\tprivate async createOrUpdateEntity(domainObject: DO): Promise {\n\t\tconst entityData = this.mapDOToEntityProperties(domainObject);\n\t\tthis.removeProtectedEntityFields(entityData);\n\n\t\tconst { entityName } = this;\n\n\t\tconst existingEntity = domainObject.id\n\t\t\t? await this._em.findOneOrFail(entityName, { id: domainObject.id } as FilterQuery)\n\t\t\t: undefined;\n\n\t\tconst persistedEntity = existingEntity\n\t\t\t? this._em.assign(existingEntity, entityData)\n\t\t\t: this._em.create(entityName, entityData as RequiredEntityData);\n\n\t\tawait this._em.flush();\n\n\t\tif (!domainObject.id) {\n\t\t\tdomainObject.id = persistedEntity.id;\n\t\t}\n\t\tif ('createdAt' in domainObject && 'createdAt' in persistedEntity) {\n\t\t\tdomainObject.createdAt = persistedEntity.createdAt;\n\t\t}\n\t\tif ('updatedAt' in domainObject && 'updatedAt' in persistedEntity) {\n\t\t\tdomainObject.updatedAt = persistedEntity.updatedAt;\n\t\t}\n\n\t\treturn domainObject;\n\t}\n\n\tasync delete(domainObjects: DO[] | DO): Promise {\n\t\tconst ids: Primary[] = Utils.asArray(domainObjects).map((dob) => {\n\t\t\tif (!dob.id) {\n\t\t\t\tthrow new InternalServerErrorException('Cannot delete object without id');\n\t\t\t}\n\t\t\treturn dob.id as Primary;\n\t\t});\n\n\t\tconst entities = ids.map((eid) => this._em.getReference(this.entityName, eid));\n\n\t\tawait this._em.remove(entities).flush();\n\t}\n\n\t// TODO: https://ticketsystem.dbildungscloud.de/browse/ARC-173 replace with delete(domainObject: DO)\n\t/**\n\t * @deprecated Please use {@link delete} instead\n\t */\n\tasync deleteById(id: EntityId | EntityId[]): Promise {\n\t\tconst ids = Utils.asArray(id) as Primary[];\n\n\t\tconst entities = ids.map((eid) => this._em.getReference(this.entityName, eid));\n\n\t\tawait this._em.remove(entities).flush();\n\n\t\tconst total = ids.length;\n\n\t\treturn total;\n\t}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst entity: E = await this._em.findOneOrFail(this.entityName, { id } as FilterQuery);\n\t\treturn this.mapEntityToDO(entity);\n\t}\n\n\t/**\n\t * Ignore base entity properties when updating entity\n\t */\n\tprivate removeProtectedEntityFields(entityData: EntityData) {\n\t\tObject.keys(entityData).forEach((key) => {\n\t\t\tif (baseEntityProperties.includes(key)) {\n\t\t\t\tdelete entityData[key];\n\t\t\t}\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BaseDomainObject.html":{"url":"classes/BaseDomainObject.html","title":"class - BaseDomainObject","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BaseDomainObject\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/interface/base-domain-object.ts\n \n\n \n Deprecated\n \n \n \n \n\n\n\n \n Implements\n \n \n AuthorizableObject\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Abstract\n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Abstract\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/interface/base-domain-object.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { AuthorizableObject } from '../domain-object';\n\n// idea support for each CRUD action like Actions.read as abstract class, to have a generall interface\n\n/**\n * @deprecated\n */\nexport abstract class BaseDomainObject implements AuthorizableObject {\n\tabstract id: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BaseEntity.html":{"url":"classes/BaseEntity.html","title":"class - BaseEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BaseEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/base.entity.ts\n \n\n\n\n\n \n Implements\n \n \n IEntity\n AuthorizableObject\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n _id\n \n \n \n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n _id\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @PrimaryKey()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/base.entity.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @SerializedPrimaryKey()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/base.entity.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { OptionalProps, PrimaryKey, Property, SerializedPrimaryKey } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport type { AuthorizableObject } from '../domain-object';\nimport type { IEntity } from '../interface';\n\nexport abstract class BaseEntity implements IEntity, AuthorizableObject {\n\t@PrimaryKey()\n\t_id!: ObjectId;\n\n\t@SerializedPrimaryKey()\n\tid!: string;\n}\n\n/**\n * Describes the properties available for entities when used as @IdentifiedReference\n */\nexport type BaseEntityReference = 'id' | '_id';\n\n// NOTE we have to include BaseEntityWithTimestamps in the entity discovery if we inherit from BaseEntity.\n// that can be cumbersome e.g. in tests. that's why we define it as a root class here.\n// TODO check if we can use EntitySchema to prevent code duplication (decorators don't work for defining properties btw.)\n\nexport abstract class BaseEntityWithTimestamps implements AuthorizableObject {\n\t[OptionalProps]?: Optional | 'createdAt' | 'updatedAt';\n\n\t@PrimaryKey()\n\t_id!: ObjectId;\n\n\t@SerializedPrimaryKey()\n\tid!: string;\n\n\t@Property()\n\tcreatedAt = new Date();\n\n\t@Property({ onUpdate: () => new Date() })\n\tupdatedAt = new Date();\n}\n\n// These fields are explicitly ignored when updating an entity. See base.do.repo.ts.\nexport const baseEntityProperties = ['id', '_id', 'updatedAt', 'createdAt'];\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BaseEntityWithTimestamps.html":{"url":"classes/BaseEntityWithTimestamps.html","title":"class - BaseEntityWithTimestamps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BaseEntityWithTimestamps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/base.entity.ts\n \n\n\n\n\n \n Implements\n \n \n AuthorizableObject\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n _id\n \n \n \n createdAt\n \n \n \n id\n \n \n Optional\n OptionalProps\n \n \n \n updatedAt\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n _id\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @PrimaryKey()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/base.entity.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n Default value : new Date()\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/base.entity.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @SerializedPrimaryKey()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/base.entity.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n OptionalProps\n \n \n \n \n \n \n Type : Optional | \"createdAt\" | \"updatedAt\"\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/base.entity.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n Default value : new Date()\n \n \n \n \n Decorators : \n \n \n @Property({onUpdate: () => })\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/base.entity.ts:36\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { OptionalProps, PrimaryKey, Property, SerializedPrimaryKey } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport type { AuthorizableObject } from '../domain-object';\nimport type { IEntity } from '../interface';\n\nexport abstract class BaseEntity implements IEntity, AuthorizableObject {\n\t@PrimaryKey()\n\t_id!: ObjectId;\n\n\t@SerializedPrimaryKey()\n\tid!: string;\n}\n\n/**\n * Describes the properties available for entities when used as @IdentifiedReference\n */\nexport type BaseEntityReference = 'id' | '_id';\n\n// NOTE we have to include BaseEntityWithTimestamps in the entity discovery if we inherit from BaseEntity.\n// that can be cumbersome e.g. in tests. that's why we define it as a root class here.\n// TODO check if we can use EntitySchema to prevent code duplication (decorators don't work for defining properties btw.)\n\nexport abstract class BaseEntityWithTimestamps implements AuthorizableObject {\n\t[OptionalProps]?: Optional | 'createdAt' | 'updatedAt';\n\n\t@PrimaryKey()\n\t_id!: ObjectId;\n\n\t@SerializedPrimaryKey()\n\tid!: string;\n\n\t@Property()\n\tcreatedAt = new Date();\n\n\t@Property({ onUpdate: () => new Date() })\n\tupdatedAt = new Date();\n}\n\n// These fields are explicitly ignored when updating an entity. See base.do.repo.ts.\nexport const baseEntityProperties = ['id', '_id', 'updatedAt', 'createdAt'];\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BaseFactory.html":{"url":"classes/BaseFactory.html","title":"class - BaseFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BaseFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/base.factory.ts\n \n\n\n \n Description\n \n \n Entity factory based on thoughtbot/fishery\nhttps://github.com/thoughtbot/fishery\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(EntityClass: literal type, propsFactory: Factory)\n \n \n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n EntityClass\n \n \n literal type\n \n \n \n No\n \n \n \n \n propsFactory\n \n \n Factory\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:15\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:98\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:110\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:47\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:75\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:60\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:148\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:32\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:122\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:144\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:160\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/base.factory.ts:134\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BuildOptions, DeepPartial, Factory, GeneratorFn, HookFn } from 'fishery';\nimport { ObjectId } from 'mongodb';\n\n/**\n * Entity factory based on thoughtbot/fishery\n * https://github.com/thoughtbot/fishery\n *\n * @template T The entity to be built\n * @template U The properties interface of the entity\n * @template I The transient parameters that your factory supports\n * @template C The class of the factory object being created.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport class BaseFactory {\n\tprotected readonly propsFactory: Factory;\n\n\tconstructor(private readonly EntityClass: { new (props: U): T }, propsFactory: Factory) {\n\t\tthis.propsFactory = propsFactory;\n\t}\n\n\t/**\n\t * Define a factory\n\t * @template T The entity to be built\n\t * @template U The properties interface of the entity\n\t * @template I The transient parameters that your factory supports\n\t * @template C The class of the factory object being created.\n\t * @param EntityClass The constructor of the entity to be built.\n\t * @param generator Your factory function - see `Factory.define()` in thoughtbot/fishery\n\t * @returns\n\t */\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tstatic define>(\n\t\tthis: new (EntityClass: { new (props: U): T }, propsFactory: Factory) => F,\n\t\tEntityClass: { new (props: U): T },\n\t\tgenerator: GeneratorFn\n\t): F {\n\t\tconst propsFactory = Factory.define(generator);\n\t\tconst factory = new this(EntityClass, propsFactory);\n\t\treturn factory;\n\t}\n\n\t/**\n\t * Build an entity using your factory\n\t * @param params\n\t * @returns an entity\n\t */\n\tbuild(params?: DeepPartial, options: BuildOptions = {}): T {\n\t\tconst props = this.propsFactory.build(params, options);\n\t\tconst entity = new this.EntityClass(props);\n\n\t\treturn entity;\n\t}\n\n\t/**\n\t * Build an entity using your factory and generate a id for it.\n\t * @param params\n\t * @param id\n\t * @returns an entity\n\t */\n\tbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions = {}): T {\n\t\tconst entity = this.build(params, options);\n\t\tconst generatedId = new ObjectId(id);\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\tconst entityWithId = Object.assign(entity as any, { _id: generatedId, id: generatedId.toHexString() });\n\n\t\treturn entityWithId as T;\n\t}\n\n\t/**\n\t * Build a list of entities using your factory\n\t * @param number\n\t * @param params\n\t * @returns a list of entities\n\t */\n\tbuildList(number: number, params?: DeepPartial, options: BuildOptions = {}): T[] {\n\t\tconst list: T[] = [];\n\t\tfor (let i = 0; i , options: BuildOptions = {}): T[] {\n\t\tconst list: T[] = [];\n\t\tfor (let i = 0; i ): this {\n\t\tconst newPropsFactory = this.propsFactory.afterBuild(afterBuildFn);\n\t\tconst newFactory = this.clone(newPropsFactory);\n\n\t\treturn newFactory;\n\t}\n\n\t/**\n\t * Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\t * @param associations\n\t * @returns a new factory\n\t */\n\tassociations(associations: Partial): this {\n\t\tconst newPropsFactory = this.propsFactory.associations(associations);\n\t\tconst newFactory = this.clone(newPropsFactory);\n\n\t\treturn newFactory;\n\t}\n\n\t/**\n\t * Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\t * @param params\n\t * @returns a new factory\n\t */\n\tparams(params: DeepPartial): this {\n\t\tconst newPropsFactory = this.propsFactory.params(params);\n\t\tconst newFactory = this.clone(newPropsFactory);\n\n\t\treturn newFactory;\n\t}\n\n\t/**\n\t * Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\t * @param transient - transient params\n\t * @returns a new factory\n\t */\n\ttransient(transient: Partial): this {\n\t\tconst newPropsFactory = this.propsFactory.transient(transient);\n\t\tconst newFactory = this.clone(newPropsFactory);\n\n\t\treturn newFactory;\n\t}\n\n\t/**\n\t * Set sequence back to its default value\n\t */\n\trewindSequence(): void {\n\t\tthis.propsFactory.rewindSequence();\n\t}\n\n\tprotected clone>(this: F, propsFactory: Factory): F {\n\t\tconst copy = new (this.constructor as {\n\t\t\tnew (EntityClass: { new (props: U): T }, propsOfFactory: Factory): F;\n\t\t})(this.EntityClass, propsFactory);\n\n\t\treturn copy;\n\t}\n\n\t/**\n\t * Get the next sequence value\n\t * @returns the next sequence value\n\t */\n\tprotected sequence(): number {\n\t\t// eslint-disable-next-line @typescript-eslint/dot-notation\n\t\treturn this.propsFactory['sequence']();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BaseRepo.html":{"url":"injectables/BaseRepo.html","title":"injectable - BaseRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BaseRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/base.repo.ts\n \n\n\n \n Description\n \n \n This repo will be replaced in the future by a more domain driven repo, which is currently discussed in the arc chapter.\nAn example for a possible implementation is the BaseDORepo.\n\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(_em: EntityManager)\n \n \n \n \n Defined in apps/server/src/shared/repo/base.repo.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n _em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.repo.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.repo.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.repo.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/base.repo.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/base.repo.ts:16\n \n \n\n \n \n\n \n\n\n \n import { EntityName, FilterQuery } from '@mikro-orm/core';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { BaseEntity } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\n\n/**\n * This repo will be replaced in the future by a more domain driven repo, which is currently discussed in the arc chapter.\n * An example for a possible implementation is the {@link BaseDORepo}.\n */\n@Injectable()\nexport abstract class BaseRepo {\n\tconstructor(protected readonly _em: EntityManager) {}\n\n\tabstract get entityName(): EntityName;\n\n\tcreate(entity: T): T {\n\t\treturn this._em.create(this.entityName, entity);\n\t}\n\n\tasync save(entities: T | T[]): Promise {\n\t\tawait this._em.persistAndFlush(entities);\n\t}\n\n\tasync delete(entities: T | T[]): Promise {\n\t\tawait this._em.removeAndFlush(entities);\n\t}\n\n\tasync findById(id: EntityId | ObjectId): Promise {\n\t\tconst promise: Promise = this._em.findOneOrFail(this.entityName, id as FilterQuery);\n\t\treturn promise;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BaseResponseMapper.html":{"url":"interfaces/BaseResponseMapper.html","title":"interface - BaseResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BaseResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/base-mapper.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n canMap\n \n \n \n \n mapToResponse\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n canMap\n \n \n \n \n \n \ncanMap(element: T)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/base-mapper.interface.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapToResponse\n \n \n \n \n \n \nmapToResponse(element: T)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/base-mapper.interface.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AnyContentElementResponse\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import type { AnyBoardDo } from '@shared/domain/domainobject';\nimport type { AnyContentElementResponse } from '../dto';\n\nexport interface BaseResponseMapper {\n\tmapToResponse(element: T): AnyContentElementResponse;\n\n\tcanMap(element: T): boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BaseUc.html":{"url":"classes/BaseUc.html","title":"class - BaseUc","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BaseUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/uc/base.uc.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Protected\n Async\n checkPermission\n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationService: AuthorizationService, boardDoAuthorizableService: BoardDoAuthorizableService)\n \n \n \n \n Defined in apps/server/src/modules/board/uc/base.uc.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n boardDoAuthorizableService\n \n \n BoardDoAuthorizableService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Protected\n Async\n checkPermission\n \n \n \n \n \n \n \n checkPermission(userId: EntityId, anyBoardDo: AnyBoardDo, action: Action, requiredUserRole?: UserRoleEnum)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/base.uc.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n anyBoardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n requiredUserRole\n \n UserRoleEnum\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n \n \n \n \n \n checkSubmissionItemWritePermission(userId: EntityId, submissionItem: SubmissionItem)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/base.uc.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n submissionItem\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n \n \n \n isAuthorizedStudent(userId: EntityId, boardDo: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/base.uc.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Action, AuthorizationService } from '@modules/authorization';\nimport { ForbiddenException } from '@nestjs/common';\nimport { AnyBoardDo, SubmissionItem, UserRoleEnum } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { BoardDoAuthorizableService } from '../service';\n\nexport abstract class BaseUc {\n\tconstructor(\n\t\tprotected readonly authorizationService: AuthorizationService,\n\t\tprotected readonly boardDoAuthorizableService: BoardDoAuthorizableService\n\t) {}\n\n\tprotected async checkPermission(\n\t\tuserId: EntityId,\n\t\tanyBoardDo: AnyBoardDo,\n\t\taction: Action,\n\t\trequiredUserRole?: UserRoleEnum\n\t): Promise {\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\t\tconst boardDoAuthorizable = await this.boardDoAuthorizableService.getBoardAuthorizable(anyBoardDo);\n\t\tif (requiredUserRole) {\n\t\t\tboardDoAuthorizable.requiredUserRole = requiredUserRole;\n\t\t}\n\t\tconst context = { action, requiredPermissions: [] };\n\n\t\treturn this.authorizationService.checkPermission(user, boardDoAuthorizable, context);\n\t}\n\n\tprotected async isAuthorizedStudent(userId: EntityId, boardDo: AnyBoardDo): Promise {\n\t\tconst boardDoAuthorizable = await this.boardDoAuthorizableService.getBoardAuthorizable(boardDo);\n\t\tconst userRoleEnum = boardDoAuthorizable.users.find((u) => u.userId === userId)?.userRoleEnum;\n\n\t\tif (!userRoleEnum) {\n\t\t\tthrow new ForbiddenException('User not part of this board');\n\t\t}\n\n\t\t// TODO do this with permission instead of role and using authorizable rules\n\t\tif (userRoleEnum === UserRoleEnum.STUDENT) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tprotected async checkSubmissionItemWritePermission(userId: EntityId, submissionItem: SubmissionItem) {\n\t\tif (submissionItem.userId !== userId) {\n\t\t\tthrow new ForbiddenException();\n\t\t}\n\t\tawait this.checkPermission(userId, submissionItem, Action.read, UserRoleEnum.STUDENT);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BasicToolConfig.html":{"url":"classes/BasicToolConfig.html","title":"class - BasicToolConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BasicToolConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/domain/config/basic-tool-config.do.ts\n \n\n\n\n \n Extends\n \n \n ExternalToolConfig\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n baseUrl\n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: BasicToolConfig)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/basic-tool-config.do.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n BasicToolConfig\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from ExternalToolConfig\n\n \n \n \n \n Defined in ExternalToolConfig:6\n\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Inherited from ExternalToolConfig\n\n \n \n \n \n Defined in ExternalToolConfig:4\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ToolConfigType } from '../../../common/enum';\nimport { ExternalToolConfig } from './external-tool-config.do';\n\nexport class BasicToolConfig extends ExternalToolConfig {\n\tconstructor(props: BasicToolConfig) {\n\t\tsuper({\n\t\t\ttype: ToolConfigType.BASIC,\n\t\t\tbaseUrl: props.baseUrl,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BasicToolConfigEntity.html":{"url":"classes/BasicToolConfigEntity.html","title":"class - BasicToolConfigEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BasicToolConfigEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/entity/config/basic-tool-config.entity.ts\n \n\n\n\n\n\n\n\n \n Constructor\n \n \n \n \nconstructor(props: BasicToolConfigEntity)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/basic-tool-config.entity.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n BasicToolConfigEntity\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable } from '@mikro-orm/core';\nimport { ToolConfigType } from '../../../common/enum';\nimport { ExternalToolConfigEntity } from './external-tool-config.entity';\n\n@Embeddable({ discriminatorValue: ToolConfigType.BASIC })\nexport class BasicToolConfigEntity extends ExternalToolConfigEntity {\n\tconstructor(props: BasicToolConfigEntity) {\n\t\tsuper(props);\n\t\tthis.type = ToolConfigType.BASIC;\n\t\tthis.baseUrl = props.baseUrl;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BasicToolConfigParams.html":{"url":"classes/BasicToolConfigParams.html","title":"class - BasicToolConfigParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BasicToolConfigParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/config/basic-tool-config.params.ts\n \n\n\n\n \n Extends\n \n \n ExternalToolConfigCreateParams\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigCreateParams\n\n \n \n \n \n Defined in ExternalToolConfigCreateParams:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ToolConfigType)@ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigCreateParams\n\n \n \n \n \n Defined in ExternalToolConfigCreateParams:9\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsEnum, IsString } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { ExternalToolConfigCreateParams } from './external-tool-config.params';\nimport { ToolConfigType } from '../../../../../common/enum';\n\nexport class BasicToolConfigParams extends ExternalToolConfigCreateParams {\n\t@IsEnum(ToolConfigType)\n\t@ApiProperty()\n\ttype!: ToolConfigType;\n\n\t@IsString()\n\t@ApiProperty()\n\tbaseUrl!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BasicToolConfigResponse.html":{"url":"classes/BasicToolConfigResponse.html","title":"class - BasicToolConfigResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BasicToolConfigResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/config/basic-tool-config.response.ts\n \n\n\n\n \n Extends\n \n \n ExternalToolConfigResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n baseUrl\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: BasicToolConfigResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/basic-tool-config.response.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n BasicToolConfigResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigResponse\n\n \n \n \n \n Defined in ExternalToolConfigResponse:10\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigResponse\n\n \n \n \n \n Defined in ExternalToolConfigResponse:7\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ToolConfigType } from '../../../../../common/enum';\nimport { ExternalToolConfigResponse } from './external-tool-config.response';\n\nexport class BasicToolConfigResponse extends ExternalToolConfigResponse {\n\t@ApiProperty()\n\ttype: ToolConfigType;\n\n\t@ApiProperty()\n\tbaseUrl: string;\n\n\tconstructor(props: BasicToolConfigResponse) {\n\t\tsuper();\n\t\tthis.type = ToolConfigType.BASIC;\n\t\tthis.baseUrl = props.baseUrl;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BasicToolLaunchStrategy.html":{"url":"injectables/BasicToolLaunchStrategy.html","title":"injectable - BasicToolLaunchStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BasicToolLaunchStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/service/launch-strategy/basic-tool-launch.strategy.ts\n \n\n\n\n \n Extends\n \n \n AbstractLaunchStrategy\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n autoParameterStrategyMap\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n \n buildToolLaunchDataFromConcreteConfig\n \n \n Public\n \n buildToolLaunchRequestPayload\n \n \n Public\n \n determineLaunchRequestMethod\n \n \n Private\n Async\n addParameters\n \n \n Private\n addProperty\n \n \n Private\n applyPropertiesToPathParams\n \n \n Private\n buildToolLaunchDataFromExternalTool\n \n \n Private\n Async\n buildToolLaunchDataFromTools\n \n \n Private\n buildUrl\n \n \n Public\n Async\n createLaunchData\n \n \n Public\n createLaunchRequest\n \n \n Private\n Async\n getParameterValue\n \n \n Private\n Async\n handleParametersToInclude\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n \n buildToolLaunchDataFromConcreteConfig\n \n \n \n \n \n \n \n buildToolLaunchDataFromConcreteConfig(userId: EntityId, data: ToolLaunchParams)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:9\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n data\n \n ToolLaunchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n \n buildToolLaunchRequestPayload\n \n \n \n \n \n \n \n buildToolLaunchRequestPayload(url: string, properties: PropertyData[])\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n properties\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string | null\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n \n determineLaunchRequestMethod\n \n \n \n \n \n \n \n determineLaunchRequestMethod(properties: PropertyData[])\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:33\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n properties\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LaunchRequestMethod\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n addParameters\n \n \n \n \n \n \n \n addParameters(propertyData: PropertyData[], customParameterDOs: CustomParameter[], scopes: literal type[], schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:155\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n propertyData\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n customParameterDOs\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n scopes\n \n literal type[]\n \n\n \n No\n \n\n\n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n addProperty\n \n \n \n \n \n \n \n addProperty(propertyData: PropertyData[], propertyName: string, value: string | undefined, customParameterLocation: CustomParameterLocation)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:249\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n propertyData\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n propertyName\n \n string\n \n\n \n No\n \n\n\n \n \n value\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n customParameterLocation\n \n CustomParameterLocation\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n applyPropertiesToPathParams\n \n \n \n \n \n \n \n applyPropertiesToPathParams(url: URL, pathProperties: PropertyData[])\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:105\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n URL\n \n\n \n No\n \n\n\n \n \n pathProperties\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n buildToolLaunchDataFromExternalTool\n \n \n \n \n \n \n \n buildToolLaunchDataFromExternalTool(externalTool: ExternalTool)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:128\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolLaunchData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n buildToolLaunchDataFromTools\n \n \n \n \n \n \n \n buildToolLaunchDataFromTools(data: ToolLaunchParams)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:139\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n ToolLaunchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n buildUrl\n \n \n \n \n \n \n \n buildUrl(toolLaunchDataDO: ToolLaunchData)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:79\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolLaunchDataDO\n \n ToolLaunchData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n createLaunchData\n \n \n \n \n \n \n \n createLaunchData(userId: EntityId, data: ToolLaunchParams)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:40\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n data\n \n ToolLaunchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n createLaunchRequest\n \n \n \n \n \n \n \n createLaunchRequest(toolLaunchData: ToolLaunchData)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:64\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolLaunchData\n \n ToolLaunchData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolLaunchRequest\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getParameterValue\n \n \n \n \n \n \n \n getParameterValue(customParameter: CustomParameter, matchingParameterEntry: CustomParameterEntry | undefined, schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:218\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameter\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n matchingParameterEntry\n \n CustomParameterEntry | undefined\n \n\n \n No\n \n\n\n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n handleParametersToInclude\n \n \n \n \n \n \n \n handleParametersToInclude(propertyData: PropertyData[], parametersToInclude: CustomParameter[], params: CustomParameterEntry[], schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:181\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n propertyData\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n parametersToInclude\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n params\n \n CustomParameterEntry[]\n \n\n \n No\n \n\n\n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n autoParameterStrategyMap\n \n \n \n \n \n \n Type : Map\n\n \n \n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:24\n\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { LaunchRequestMethod, PropertyData, PropertyLocation } from '../../types';\nimport { AbstractLaunchStrategy } from './abstract-launch.strategy';\nimport { ToolLaunchParams } from './tool-launch-params.interface';\n\n@Injectable()\nexport class BasicToolLaunchStrategy extends AbstractLaunchStrategy {\n\tpublic override buildToolLaunchDataFromConcreteConfig(\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\tuserId: EntityId,\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\tdata: ToolLaunchParams\n\t): Promise {\n\t\treturn Promise.resolve([]);\n\t}\n\n\tpublic override buildToolLaunchRequestPayload(url: string, properties: PropertyData[]): string | null {\n\t\tconst bodyProperties = properties.filter((property: PropertyData) => property.location === PropertyLocation.BODY);\n\t\tconst payload: Record = {};\n\n\t\tfor (const property of bodyProperties) {\n\t\t\tpayload[property.name] = property.value;\n\t\t}\n\n\t\tif (Object.keys(payload).length === 0) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn JSON.stringify(payload);\n\t}\n\n\tpublic override determineLaunchRequestMethod(properties: PropertyData[]): LaunchRequestMethod {\n\t\tconst hasBodyProperty: boolean = properties.some(\n\t\t\t(property: PropertyData) => property.location === PropertyLocation.BODY\n\t\t);\n\n\t\tconst launchRequestMethod: LaunchRequestMethod = hasBodyProperty\n\t\t\t? LaunchRequestMethod.POST\n\t\t\t: LaunchRequestMethod.GET;\n\n\t\treturn launchRequestMethod;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BatchDeletionService.html":{"url":"injectables/BatchDeletionService.html","title":"injectable - BatchDeletionService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BatchDeletionService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/services/batch-deletion.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n queueDeletionRequests\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(deletionClient: DeletionClient)\n \n \n \n \n Defined in apps/server/src/modules/deletion/services/batch-deletion.service.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionClient\n \n \n DeletionClient\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n queueDeletionRequests\n \n \n \n \n \n \n \n queueDeletionRequests(inputs: QueueDeletionRequestInput[], callsDelayMilliseconds?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/batch-deletion.service.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n inputs\n \n QueueDeletionRequestInput[]\n \n\n \n No\n \n\n\n \n \n callsDelayMilliseconds\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { QueueDeletionRequestOutputBuilder } from './builder';\nimport { DeletionClient, DeletionRequestInputBuilder } from '../client';\nimport { QueueDeletionRequestInput, QueueDeletionRequestOutput } from './interface';\n\n@Injectable()\nexport class BatchDeletionService {\n\tconstructor(private readonly deletionClient: DeletionClient) {}\n\n\tasync queueDeletionRequests(\n\t\tinputs: QueueDeletionRequestInput[],\n\t\tcallsDelayMilliseconds?: number\n\t): Promise {\n\t\tconst outputs: QueueDeletionRequestOutput[] = [];\n\n\t\t// For every provided deletion request input, try to queue it via deletion client.\n\t\t// In any case, add the result of the trial to the outputs - it will be either a valid\n\t\t// response in a form of a requestId + deletionPlannedAt values pair or some error\n\t\t// returned from the client. In any case, every input should be processed.\n\t\tfor (const input of inputs) {\n\t\t\tconst deletionRequestInput = DeletionRequestInputBuilder.build(\n\t\t\t\tinput.targetRefDomain,\n\t\t\t\tinput.targetRefId,\n\t\t\t\tinput.deleteInMinutes\n\t\t\t);\n\n\t\t\ttry {\n\t\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\t\tconst deletionRequestOutput = await this.deletionClient.queueDeletionRequest(deletionRequestInput);\n\n\t\t\t\t// In case of a successful client response, add the\n\t\t\t\t// requestId + deletionPlannedAt values pair to the outputs.\n\t\t\t\toutputs.push(\n\t\t\t\t\tQueueDeletionRequestOutputBuilder.buildSuccess(\n\t\t\t\t\t\tdeletionRequestOutput.requestId,\n\t\t\t\t\t\tdeletionRequestOutput.deletionPlannedAt\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t} catch (err) {\n\t\t\t\t// In case of a failure client response, add the full error message to the outputs.\n\t\t\t\toutputs.push(QueueDeletionRequestOutputBuilder.buildError(err as Error));\n\t\t\t}\n\n\t\t\t// If any delay between the client calls has been requested, \"sleep\" for the specified amount of time.\n\t\t\tif (callsDelayMilliseconds && callsDelayMilliseconds > 0) {\n\t\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\t\tawait new Promise((resolve) => {\n\t\t\t\t\tsetTimeout(resolve, callsDelayMilliseconds);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\n\t\treturn outputs;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BatchDeletionSummary.html":{"url":"interfaces/BatchDeletionSummary.html","title":"interface - BatchDeletionSummary","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BatchDeletionSummary\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/interface/batch-deletion-summary.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n details\n \n \n \n \n executionTimeMilliseconds\n \n \n \n \n failureCount\n \n \n \n \n overallStatus\n \n \n \n \n successCount\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n details\n \n \n \n \n \n \n \n \n details: BatchDeletionSummaryDetail[]\n\n \n \n\n\n \n \n Type : BatchDeletionSummaryDetail[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n executionTimeMilliseconds\n \n \n \n \n \n \n \n \n executionTimeMilliseconds: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n failureCount\n \n \n \n \n \n \n \n \n failureCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n overallStatus\n \n \n \n \n \n \n \n \n overallStatus: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n successCount\n \n \n \n \n \n \n \n \n successCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BatchDeletionSummaryDetail } from './batch-deletion-summary-detail.interface';\n\nexport interface BatchDeletionSummary {\n\texecutionTimeMilliseconds: number;\n\toverallStatus: string;\n\tsuccessCount: number;\n\tfailureCount: number;\n\tdetails: BatchDeletionSummaryDetail[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BatchDeletionSummaryBuilder.html":{"url":"classes/BatchDeletionSummaryBuilder.html","title":"class - BatchDeletionSummaryBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BatchDeletionSummaryBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/builder/batch-deletion-summary.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(executionTimeMilliseconds: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/builder/batch-deletion-summary.builder.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n executionTimeMilliseconds\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BatchDeletionSummary\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BatchDeletionSummary, BatchDeletionSummaryOverallStatus } from '../interface';\n\nexport class BatchDeletionSummaryBuilder {\n\tstatic build(executionTimeMilliseconds: number): BatchDeletionSummary {\n\t\treturn {\n\t\t\texecutionTimeMilliseconds,\n\t\t\toverallStatus: BatchDeletionSummaryOverallStatus.FAILURE,\n\t\t\tsuccessCount: 0,\n\t\t\tfailureCount: 0,\n\t\t\tdetails: [],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BatchDeletionSummaryDetail.html":{"url":"interfaces/BatchDeletionSummaryDetail.html","title":"interface - BatchDeletionSummaryDetail","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BatchDeletionSummaryDetail\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/interface/batch-deletion-summary-detail.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n input\n \n \n \n \n output\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n input\n \n \n \n \n \n \n \n \n input: QueueDeletionRequestInput\n\n \n \n\n\n \n \n Type : QueueDeletionRequestInput\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n output\n \n \n \n \n \n \n \n \n output: QueueDeletionRequestOutput\n\n \n \n\n\n \n \n Type : QueueDeletionRequestOutput\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { QueueDeletionRequestInput, QueueDeletionRequestOutput } from '../services';\n\nexport interface BatchDeletionSummaryDetail {\n\tinput: QueueDeletionRequestInput;\n\toutput: QueueDeletionRequestOutput;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BatchDeletionSummaryDetailBuilder.html":{"url":"classes/BatchDeletionSummaryDetailBuilder.html","title":"class - BatchDeletionSummaryDetailBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BatchDeletionSummaryDetailBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/builder/batch-deletion-summary-detail.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(input: QueueDeletionRequestInput, output: QueueDeletionRequestOutput)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/builder/batch-deletion-summary-detail.builder.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n input\n \n QueueDeletionRequestInput\n \n\n \n No\n \n\n\n \n \n output\n \n QueueDeletionRequestOutput\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BatchDeletionSummaryDetail\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { QueueDeletionRequestInput, QueueDeletionRequestOutput } from '../services';\nimport { BatchDeletionSummaryDetail } from '../interface';\n\nexport class BatchDeletionSummaryDetailBuilder {\n\tstatic build(input: QueueDeletionRequestInput, output: QueueDeletionRequestOutput): BatchDeletionSummaryDetail {\n\t\treturn { input, output };\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BatchDeletionUc.html":{"url":"injectables/BatchDeletionUc.html","title":"injectable - BatchDeletionUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BatchDeletionUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/uc/batch-deletion.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteRefsFromTxtFile\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(batchDeletionService: BatchDeletionService)\n \n \n \n \n Defined in apps/server/src/modules/deletion/uc/batch-deletion.uc.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n batchDeletionService\n \n \n BatchDeletionService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteRefsFromTxtFile\n \n \n \n \n \n \n \n deleteRefsFromTxtFile(refsFilePath: string, targetRefDomain: string, deleteInMinutes: number, callsDelayMilliseconds?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/uc/batch-deletion.uc.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n refsFilePath\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n targetRefDomain\n \n string\n \n\n \n No\n \n\n \n 'user'\n \n\n \n \n deleteInMinutes\n \n number\n \n\n \n No\n \n\n \n 43200\n \n\n \n \n callsDelayMilliseconds\n \n number\n \n\n \n Yes\n \n\n \n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { BatchDeletionSummaryBuilder, BatchDeletionSummaryDetailBuilder } from '../builder';\nimport {\n\tReferencesService,\n\tBatchDeletionService,\n\tQueueDeletionRequestInput,\n\tQueueDeletionRequestInputBuilder,\n} from '../services';\nimport { BatchDeletionSummary, BatchDeletionSummaryOverallStatus } from '../interface';\n\n@Injectable()\nexport class BatchDeletionUc {\n\tconstructor(private readonly batchDeletionService: BatchDeletionService) {}\n\n\tasync deleteRefsFromTxtFile(\n\t\trefsFilePath: string,\n\t\ttargetRefDomain = 'user',\n\t\tdeleteInMinutes = 43200, // 43200 minutes = 720 hours = 30 days\n\t\tcallsDelayMilliseconds?: number\n\t): Promise {\n\t\t// First, load all the references from the provided text file (with given path).\n\t\tconst refsFromTxtFile = ReferencesService.loadFromTxtFile(refsFilePath);\n\n\t\tconst inputs: QueueDeletionRequestInput[] = [];\n\n\t\t// For each reference found in a given file, add it to the inputs\n\t\t// array (with added targetRefDomain and deleteInMinutes fields).\n\t\trefsFromTxtFile.forEach((ref) =>\n\t\t\tinputs.push(QueueDeletionRequestInputBuilder.build(targetRefDomain, ref, deleteInMinutes))\n\t\t);\n\n\t\t// Measure the overall queueing execution time by setting the start...\n\t\tconst startTime = performance.now();\n\n\t\tconst outputs = await this.batchDeletionService.queueDeletionRequests(inputs, callsDelayMilliseconds);\n\n\t\t// ...and end timestamps before and after the batch deletion service method execution.\n\t\tconst endTime = performance.now();\n\n\t\t// Throw an error if the returned outputs number doesn't match the returned inputs number.\n\t\tif (outputs.length !== inputs.length) {\n\t\t\tthrow new Error(\n\t\t\t\t'invalid result from the batch deletion service - expected to ' +\n\t\t\t\t\t'receive the same amount of outputs as the provided inputs, ' +\n\t\t\t\t\t`instead received ${outputs.length} outputs for ${inputs.length} inputs`\n\t\t\t);\n\t\t}\n\n\t\tconst summary: BatchDeletionSummary = BatchDeletionSummaryBuilder.build(endTime - startTime);\n\n\t\t// Go through every received output and, in case of an error presence increase\n\t\t// a failure count or, in case of no error, increase a success count.\n\t\tfor (let i = 0; i \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/Board.html":{"url":"entities/Board.html","title":"entity - Board","body":"\n \n\n\n\n\n\n\n\n Entities\n Board\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/legacy-board/board.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n course\n \n \n \n references\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n course\n \n \n \n \n \n \n Type : IdentifiedReference\n\n \n \n \n \n Decorators : \n \n \n @OneToOne({type: 'Course', fieldName: 'courseId', wrappedReference: true, unique: true, owner: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/legacy-board/board.entity.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n references\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @ManyToMany('BoardElement', undefined, {fieldName: 'referenceIds'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/legacy-board/board.entity.ts:32\n \n \n\n\n \n \n\n \n\n\n \n import { Collection, Entity, IdentifiedReference, ManyToMany, OneToOne, wrap } from '@mikro-orm/core';\nimport { BadRequestException, NotFoundException } from '@nestjs/common';\nimport { LearnroomElement } from '../../interface';\nimport { EntityId } from '../../types';\nimport { BaseEntityWithTimestamps } from '../base.entity';\nimport type { Course } from '../course.entity';\nimport { LessonEntity } from '../lesson.entity';\nimport { Task } from '../task.entity';\nimport { BoardElement, BoardElementReference } from './boardelement.entity';\nimport { ColumnboardBoardElement } from './column-board-boardelement';\nimport { ColumnBoardTarget } from './column-board-target.entity';\nimport { LessonBoardElement } from './lesson-boardelement.entity';\nimport { TaskBoardElement } from './task-boardelement.entity';\n\nexport type BoardProps = {\n\treferences: BoardElement[];\n\tcourse: Course;\n};\n\n@Entity({ tableName: 'board' })\nexport class Board extends BaseEntityWithTimestamps {\n\tconstructor(props: BoardProps) {\n\t\tsuper();\n\t\tthis.references.set(props.references);\n\t\tthis.course = wrap(props.course).toReference();\n\t}\n\n\t@OneToOne({ type: 'Course', fieldName: 'courseId', wrappedReference: true, unique: true, owner: true })\n\tcourse: IdentifiedReference;\n\n\t@ManyToMany('BoardElement', undefined, { fieldName: 'referenceIds' })\n\treferences = new Collection(this);\n\n\tgetByTargetId(id: EntityId): LearnroomElement {\n\t\tconst element = this.getElementByTargetId(id);\n\t\treturn element.target;\n\t}\n\n\tgetElements() {\n\t\treturn this.references.getItems();\n\t}\n\n\treorderElements(ids: EntityId[]) {\n\t\tthis.validateReordering(ids);\n\n\t\tconst elements = ids.map((id) => this.getElementByTargetId(id));\n\n\t\tthis.references.set(elements);\n\t}\n\n\tprivate validateReordering(reorderedIds: EntityId[]) {\n\t\tconst existingElements = this.getElements().map((el) => el.target.id);\n\t\tconst listsEqual = this.checkListsContainingEqualEntities(reorderedIds, existingElements);\n\t\tif (!listsEqual) {\n\t\t\tthrow new BadRequestException('elements did not match. please fetch the elements of the board before reordering');\n\t\t}\n\t}\n\n\tprivate checkListsContainingEqualEntities(first: EntityId[], second: EntityId[]): boolean {\n\t\tconst compareAlphabetic = (a, b) => (a el.target.id === id);\n\t\tif (!element) throw new NotFoundException('board does not contain such element');\n\t\treturn element;\n\t}\n\n\tsyncBoardElementReferences(boardElementTargets: BoardElementReference[]) {\n\t\tthis.removeDeletedReferences(boardElementTargets);\n\t\tthis.appendNotContainedBoardElements(boardElementTargets);\n\t}\n\n\tprivate removeDeletedReferences(boardElementTargets: BoardElementReference[]) {\n\t\tconst references = this.references.getItems();\n\t\tconst onlyExistingReferences = references.filter((ref) => boardElementTargets.includes(ref.target));\n\t\tthis.references.set(onlyExistingReferences);\n\t}\n\n\tprivate appendNotContainedBoardElements(boardElementTargets: BoardElementReference[]): void {\n\t\tconst references = this.references.getItems();\n\t\tconst isNotContained = (element: BoardElementReference) => !references.some((ref) => ref.target === element);\n\t\tconst mapToBoardElement = (target: BoardElementReference) => this.createBoardElementFor(target);\n\n\t\tconst elementsToAdd = boardElementTargets.filter(isNotContained).map(mapToBoardElement);\n\t\tconst newList = [...elementsToAdd, ...references];\n\t\tthis.references.set(newList);\n\t}\n\n\tprivate createBoardElementFor(boardElementTarget: BoardElementReference): BoardElement {\n\t\tif (boardElementTarget instanceof Task) {\n\t\t\treturn new TaskBoardElement({ target: boardElementTarget });\n\t\t}\n\t\tif (boardElementTarget instanceof LessonEntity) {\n\t\t\treturn new LessonBoardElement({ target: boardElementTarget });\n\t\t}\n\t\tif (boardElementTarget instanceof ColumnBoardTarget) {\n\t\t\treturn new ColumnboardBoardElement({ target: boardElementTarget });\n\t\t}\n\t\tthrow new Error('not a valid boardElementReference');\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/BoardApiModule.html":{"url":"modules/BoardApiModule.html","title":"module - BoardApiModule","body":"\n \n\n\n\n\n Modules\n BoardApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_BoardApiModule\n\n\n\ncluster_BoardApiModule_imports\n\n\n\ncluster_BoardApiModule_providers\n\n\n\n\nBoardModule\n\nBoardModule\n\n\n\nBoardApiModule\n\nBoardApiModule\n\nBoardApiModule -->\n\nBoardModule->BoardApiModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nBoardApiModule -->\n\nLoggerModule->BoardApiModule\n\n\n\n\n\nBoardUc\n\nBoardUc\n\nBoardApiModule -->\n\nBoardUc->BoardApiModule\n\n\n\n\n\nCardUc\n\nCardUc\n\nBoardApiModule -->\n\nCardUc->BoardApiModule\n\n\n\n\n\nColumnUc\n\nColumnUc\n\nBoardApiModule -->\n\nColumnUc->BoardApiModule\n\n\n\n\n\nElementUc\n\nElementUc\n\nBoardApiModule -->\n\nElementUc->BoardApiModule\n\n\n\n\n\nSubmissionItemUc\n\nSubmissionItemUc\n\nBoardApiModule -->\n\nSubmissionItemUc->BoardApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/board/board-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n BoardUc\n \n \n CardUc\n \n \n ColumnUc\n \n \n ElementUc\n \n \n SubmissionItemUc\n \n \n \n \n Controllers\n \n \n BoardController\n \n \n ColumnController\n \n \n CardController\n \n \n ElementController\n \n \n BoardSubmissionController\n \n \n \n \n Imports\n \n \n BoardModule\n \n \n LoggerModule\n \n \n \n \n \n\n\n \n\n\n \n import { forwardRef, Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { BoardModule } from './board.module';\nimport {\n\tBoardController,\n\tBoardSubmissionController,\n\tCardController,\n\tColumnController,\n\tElementController,\n} from './controller';\nimport { BoardUc, CardUc, ColumnUc } from './uc';\nimport { ElementUc } from './uc/element.uc';\nimport { SubmissionItemUc } from './uc/submission-item.uc';\n\n@Module({\n\timports: [BoardModule, LoggerModule, forwardRef(() => AuthorizationModule)],\n\tcontrollers: [BoardController, ColumnController, CardController, ElementController, BoardSubmissionController],\n\tproviders: [BoardUc, ColumnUc, CardUc, ElementUc, SubmissionItemUc],\n})\nexport class BoardApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardColumnBoardResponse.html":{"url":"classes/BoardColumnBoardResponse.html","title":"class - BoardColumnBoardResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardColumnBoardResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/single-column-board/board-column-board.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n columnBoardId\n \n \n \n createdAt\n \n \n \n id\n \n \n \n published\n \n \n \n \n title\n \n \n \n updatedAt\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: BoardColumnBoardResponse)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-column-board.response.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n BoardColumnBoardResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n columnBoardId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-column-board.response.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-column-board.response.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-column-board.response.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n published\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-column-board.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-column-board.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-column-board.response.ts:28\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\n\nexport class BoardColumnBoardResponse {\n\tconstructor({ id, columnBoardId, title, published, createdAt, updatedAt }: BoardColumnBoardResponse) {\n\t\tthis.id = id;\n\t\tthis.columnBoardId = columnBoardId;\n\t\tthis.title = title;\n\t\tthis.published = published;\n\t\tthis.createdAt = createdAt;\n\t\tthis.updatedAt = updatedAt;\n\t}\n\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\ttitle: string;\n\n\t@ApiProperty()\n\tpublished: boolean;\n\n\t@ApiProperty()\n\tcreatedAt: Date;\n\n\t@ApiProperty()\n\tupdatedAt: Date;\n\n\t@ApiProperty()\n\tcolumnBoardId: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardComposite.html":{"url":"classes/BoardComposite.html","title":"class - BoardComposite","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardComposite\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/board-composite.do.ts\n \n\n\n\n \n Extends\n \n \n DomainObject\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Abstract\n accept\n \n \n Abstract\n acceptAsync\n \n \n addChild\n \n \n hasChild\n \n \n Abstract\n isAllowedAsChild\n \n \n removeChild\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n children\n \n \n createdAt\n \n \n updatedAt\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Abstract\n accept\n \n \n \n \n \n \n \n accept(visitor: BoardCompositeVisitor)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/board-composite.do.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitor\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n acceptAsync\n \n \n \n \n \n \n \n acceptAsync(visitor: BoardCompositeVisitorAsync)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/board-composite.do.ts:47\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitorAsync\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addChild\n \n \n \n \n \n \naddChild(child: AnyBoardDo, position?: number)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/board-composite.do.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n position\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasChild\n \n \n \n \n \n \nhasChild(child: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/board-composite.do.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n isAllowedAsChild\n \n \n \n \n \n \n \n isAllowedAsChild(domainObject: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/board-composite.do.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeChild\n \n \n \n \n \n \nremoveChild(child: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/board-composite.do.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n children\n \n \n\n \n \n getchildren()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/board-composite.do.ts:7\n \n \n\n \n \n \n \n \n \n \n createdAt\n \n \n\n \n \n getcreatedAt()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/board-composite.do.ts:11\n \n \n\n \n \n \n \n \n \n \n updatedAt\n \n \n\n \n \n getupdatedAt()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/board-composite.do.ts:15\n \n \n\n \n \n\n \n\n\n \n import { BadRequestException, ForbiddenException } from '@nestjs/common';\nimport { DomainObject } from '@shared/domain/domain-object'; // fix import if it is avaible\nimport { EntityId } from '@shared/domain/types';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport abstract class BoardComposite extends DomainObject {\n\tget children(): AnyBoardDo[] {\n\t\treturn this.props.children ?? [];\n\t}\n\n\tget createdAt(): Date {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date {\n\t\treturn this.props.updatedAt;\n\t}\n\n\taddChild(child: AnyBoardDo, position?: number): void {\n\t\tif (!this.isAllowedAsChild(child)) {\n\t\t\tthrow new ForbiddenException(`Cannot add child of type '${child.constructor.name}'`);\n\t\t}\n\t\tposition = position ?? this.children.length;\n\t\tif (position this.children.length) {\n\t\t\tthrow new BadRequestException(`Invalid child position '${position}'`);\n\t\t}\n\t\tif (this.hasChild(child)) {\n\t\t\tthrow new BadRequestException(`Cannot add existing child id='${child.id}'`);\n\t\t}\n\t\tthis.children.splice(position, 0, child);\n\t}\n\n\tabstract isAllowedAsChild(domainObject: AnyBoardDo): boolean;\n\n\tremoveChild(child: AnyBoardDo): void {\n\t\tthis.props.children = this.children.filter((ch) => ch.id !== child.id);\n\t}\n\n\thasChild(child: AnyBoardDo): boolean {\n\t\t// TODO check by object identity instead of id\n\t\tconst exists = this.children.some((obj) => obj.id === child.id);\n\t\treturn exists;\n\t}\n\n\tabstract accept(visitor: BoardCompositeVisitor): void;\n\n\tabstract acceptAsync(visitor: BoardCompositeVisitorAsync): Promise;\n}\n\nexport interface BoardCompositeProps {\n\tid: EntityId;\n\tchildren?: AnyBoardDo[];\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BoardCompositeProps.html":{"url":"interfaces/BoardCompositeProps.html","title":"interface - BoardCompositeProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BoardCompositeProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/board-composite.do.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n children\n \n \n \n \n createdAt\n \n \n \n \n id\n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n children\n \n \n \n \n \n \n \n \n children: AnyBoardDo[]\n\n \n \n\n\n \n \n Type : AnyBoardDo[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BadRequestException, ForbiddenException } from '@nestjs/common';\nimport { DomainObject } from '@shared/domain/domain-object'; // fix import if it is avaible\nimport { EntityId } from '@shared/domain/types';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport abstract class BoardComposite extends DomainObject {\n\tget children(): AnyBoardDo[] {\n\t\treturn this.props.children ?? [];\n\t}\n\n\tget createdAt(): Date {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date {\n\t\treturn this.props.updatedAt;\n\t}\n\n\taddChild(child: AnyBoardDo, position?: number): void {\n\t\tif (!this.isAllowedAsChild(child)) {\n\t\t\tthrow new ForbiddenException(`Cannot add child of type '${child.constructor.name}'`);\n\t\t}\n\t\tposition = position ?? this.children.length;\n\t\tif (position this.children.length) {\n\t\t\tthrow new BadRequestException(`Invalid child position '${position}'`);\n\t\t}\n\t\tif (this.hasChild(child)) {\n\t\t\tthrow new BadRequestException(`Cannot add existing child id='${child.id}'`);\n\t\t}\n\t\tthis.children.splice(position, 0, child);\n\t}\n\n\tabstract isAllowedAsChild(domainObject: AnyBoardDo): boolean;\n\n\tremoveChild(child: AnyBoardDo): void {\n\t\tthis.props.children = this.children.filter((ch) => ch.id !== child.id);\n\t}\n\n\thasChild(child: AnyBoardDo): boolean {\n\t\t// TODO check by object identity instead of id\n\t\tconst exists = this.children.some((obj) => obj.id === child.id);\n\t\treturn exists;\n\t}\n\n\tabstract accept(visitor: BoardCompositeVisitor): void;\n\n\tabstract acceptAsync(visitor: BoardCompositeVisitorAsync): Promise;\n}\n\nexport interface BoardCompositeProps {\n\tid: EntityId;\n\tchildren?: AnyBoardDo[];\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BoardCompositeVisitor.html":{"url":"interfaces/BoardCompositeVisitor.html","title":"interface - BoardCompositeVisitor","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BoardCompositeVisitor\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n visitCard\n \n \n \n \n visitColumn\n \n \n \n \n visitColumnBoard\n \n \n \n \n visitDrawingElement\n \n \n \n \n visitExternalToolElement\n \n \n \n \n visitFileElement\n \n \n \n \n visitLinkElement\n \n \n \n \n visitRichTextElement\n \n \n \n \n visitSubmissionContainerElement\n \n \n \n \n visitSubmissionItem\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n visitCard\n \n \n \n \n \n \nvisitCard(card: Card)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n card\n \n Card\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitColumn\n \n \n \n \n \n \nvisitColumn(column: Column)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n column\n \n Column\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitColumnBoard\n \n \n \n \n \n \nvisitColumnBoard(columnBoard: ColumnBoard)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n columnBoard\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitDrawingElement\n \n \n \n \n \n \nvisitDrawingElement(drawingElement: DrawingElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n drawingElement\n \n DrawingElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitExternalToolElement\n \n \n \n \n \n \nvisitExternalToolElement(externalToolElement: ExternalToolElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolElement\n \n ExternalToolElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitFileElement\n \n \n \n \n \n \nvisitFileElement(fileElement: FileElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileElement\n \n FileElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitLinkElement\n \n \n \n \n \n \nvisitLinkElement(linkElement: LinkElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n linkElement\n \n LinkElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitRichTextElement\n \n \n \n \n \n \nvisitRichTextElement(richTextElement: RichTextElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n richTextElement\n \n RichTextElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitSubmissionContainerElement\n \n \n \n \n \n \nvisitSubmissionContainerElement(submissionContainerElement: SubmissionContainerElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionContainerElement\n \n SubmissionContainerElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitSubmissionItem\n \n \n \n \n \n \nvisitSubmissionItem(submissionItem: SubmissionItem)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionItem\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { DrawingElement } from '../drawing-element.do';\nimport type { Card } from '../card.do';\nimport type { ColumnBoard } from '../column-board.do';\nimport type { Column } from '../column.do';\nimport type { ExternalToolElement } from '../external-tool-element.do';\nimport type { FileElement } from '../file-element.do';\nimport type { LinkElement } from '../link-element.do';\nimport type { RichTextElement } from '../rich-text-element.do';\nimport type { SubmissionContainerElement } from '../submission-container-element.do';\nimport type { SubmissionItem } from '../submission-item.do';\n\nexport interface BoardCompositeVisitor {\n\tvisitColumnBoard(columnBoard: ColumnBoard): void;\n\tvisitColumn(column: Column): void;\n\tvisitCard(card: Card): void;\n\tvisitFileElement(fileElement: FileElement): void;\n\tvisitLinkElement(linkElement: LinkElement): void;\n\tvisitRichTextElement(richTextElement: RichTextElement): void;\n\tvisitDrawingElement(drawingElement: DrawingElement): void;\n\tvisitSubmissionContainerElement(submissionContainerElement: SubmissionContainerElement): void;\n\tvisitSubmissionItem(submissionItem: SubmissionItem): void;\n\tvisitExternalToolElement(externalToolElement: ExternalToolElement): void;\n}\n\nexport interface BoardCompositeVisitorAsync {\n\tvisitColumnBoardAsync(columnBoard: ColumnBoard): Promise;\n\tvisitColumnAsync(column: Column): Promise;\n\tvisitCardAsync(card: Card): Promise;\n\tvisitFileElementAsync(fileElement: FileElement): Promise;\n\tvisitLinkElementAsync(linkElement: LinkElement): Promise;\n\tvisitRichTextElementAsync(richTextElement: RichTextElement): Promise;\n\tvisitDrawingElementAsync(drawingElement: DrawingElement): Promise;\n\tvisitSubmissionContainerElementAsync(submissionContainerElement: SubmissionContainerElement): Promise;\n\tvisitSubmissionItemAsync(submissionItem: SubmissionItem): Promise;\n\tvisitExternalToolElementAsync(externalToolElement: ExternalToolElement): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BoardCompositeVisitorAsync.html":{"url":"interfaces/BoardCompositeVisitorAsync.html","title":"interface - BoardCompositeVisitorAsync","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BoardCompositeVisitorAsync\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n visitCardAsync\n \n \n \n \n visitColumnAsync\n \n \n \n \n visitColumnBoardAsync\n \n \n \n \n visitDrawingElementAsync\n \n \n \n \n visitExternalToolElementAsync\n \n \n \n \n visitFileElementAsync\n \n \n \n \n visitLinkElementAsync\n \n \n \n \n visitRichTextElementAsync\n \n \n \n \n visitSubmissionContainerElementAsync\n \n \n \n \n visitSubmissionItemAsync\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n visitCardAsync\n \n \n \n \n \n \nvisitCardAsync(card: Card)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n card\n \n Card\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitColumnAsync\n \n \n \n \n \n \nvisitColumnAsync(column: Column)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n column\n \n Column\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitColumnBoardAsync\n \n \n \n \n \n \nvisitColumnBoardAsync(columnBoard: ColumnBoard)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n columnBoard\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitDrawingElementAsync\n \n \n \n \n \n \nvisitDrawingElementAsync(drawingElement: DrawingElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n drawingElement\n \n DrawingElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitExternalToolElementAsync\n \n \n \n \n \n \nvisitExternalToolElementAsync(externalToolElement: ExternalToolElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolElement\n \n ExternalToolElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitFileElementAsync\n \n \n \n \n \n \nvisitFileElementAsync(fileElement: FileElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileElement\n \n FileElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitLinkElementAsync\n \n \n \n \n \n \nvisitLinkElementAsync(linkElement: LinkElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n linkElement\n \n LinkElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitRichTextElementAsync\n \n \n \n \n \n \nvisitRichTextElementAsync(richTextElement: RichTextElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n richTextElement\n \n RichTextElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitSubmissionContainerElementAsync\n \n \n \n \n \n \nvisitSubmissionContainerElementAsync(submissionContainerElement: SubmissionContainerElement)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionContainerElement\n \n SubmissionContainerElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitSubmissionItemAsync\n \n \n \n \n \n \nvisitSubmissionItemAsync(submissionItem: SubmissionItem)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-composite-visitor.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionItem\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { DrawingElement } from '../drawing-element.do';\nimport type { Card } from '../card.do';\nimport type { ColumnBoard } from '../column-board.do';\nimport type { Column } from '../column.do';\nimport type { ExternalToolElement } from '../external-tool-element.do';\nimport type { FileElement } from '../file-element.do';\nimport type { LinkElement } from '../link-element.do';\nimport type { RichTextElement } from '../rich-text-element.do';\nimport type { SubmissionContainerElement } from '../submission-container-element.do';\nimport type { SubmissionItem } from '../submission-item.do';\n\nexport interface BoardCompositeVisitor {\n\tvisitColumnBoard(columnBoard: ColumnBoard): void;\n\tvisitColumn(column: Column): void;\n\tvisitCard(card: Card): void;\n\tvisitFileElement(fileElement: FileElement): void;\n\tvisitLinkElement(linkElement: LinkElement): void;\n\tvisitRichTextElement(richTextElement: RichTextElement): void;\n\tvisitDrawingElement(drawingElement: DrawingElement): void;\n\tvisitSubmissionContainerElement(submissionContainerElement: SubmissionContainerElement): void;\n\tvisitSubmissionItem(submissionItem: SubmissionItem): void;\n\tvisitExternalToolElement(externalToolElement: ExternalToolElement): void;\n}\n\nexport interface BoardCompositeVisitorAsync {\n\tvisitColumnBoardAsync(columnBoard: ColumnBoard): Promise;\n\tvisitColumnAsync(column: Column): Promise;\n\tvisitCardAsync(card: Card): Promise;\n\tvisitFileElementAsync(fileElement: FileElement): Promise;\n\tvisitLinkElementAsync(linkElement: LinkElement): Promise;\n\tvisitRichTextElementAsync(richTextElement: RichTextElement): Promise;\n\tvisitDrawingElementAsync(drawingElement: DrawingElement): Promise;\n\tvisitSubmissionContainerElementAsync(submissionContainerElement: SubmissionContainerElement): Promise;\n\tvisitSubmissionItemAsync(submissionItem: SubmissionItem): Promise;\n\tvisitExternalToolElementAsync(externalToolElement: ExternalToolElement): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardContextResponse.html":{"url":"classes/BoardContextResponse.html","title":"class - BoardContextResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardContextResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/board/board-context.reponse.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: BoardContextResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/board-context.reponse.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n BoardContextResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/board-context.reponse.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : BoardExternalReferenceType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: BoardExternalReferenceType, enumName: 'BoardExternalReferenceType'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/board-context.reponse.ts:16\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { BoardExternalReferenceType } from '@shared/domain/domainobject';\n\nexport class BoardContextResponse {\n\tconstructor({ id, type }: BoardContextResponse) {\n\t\tthis.id = id;\n\t\tthis.type = type;\n\t}\n\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@ApiProperty({ enum: BoardExternalReferenceType, enumName: 'BoardExternalReferenceType' })\n\ttype: BoardExternalReferenceType;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/BoardController.html":{"url":"controllers/BoardController.html","title":"controller - BoardController","body":"\n \n\n\n\n\n\n\n Controllers\n BoardController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/board.controller.ts\n \n\n \n Prefix\n \n \n boards\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createColumn\n \n \n \n \n \n \n \n \n \n Async\n deleteBoard\n \n \n \n \n \n \n \n \n Async\n getBoardContext\n \n \n \n \n \n \n \n \n Async\n getBoardSkeleton\n \n \n \n \n \n \n \n \n \n Async\n updateBoardTitle\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createColumn\n \n \n \n \n \n \n \n createColumn(urlParams: BoardUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Create a new column on a board.'})@ApiResponse({status: 201, type: ColumnResponse})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@Post(':boardId/columns')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/board.controller.ts:93\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n BoardUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteBoard\n \n \n \n \n \n \n \n deleteBoard(urlParams: BoardUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Delete a board.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Delete(':boardId')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/board.controller.ts:83\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n BoardUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getBoardContext\n \n \n \n \n \n \n \n getBoardContext(urlParams: BoardUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Get the context of a board.'})@ApiResponse({status: 200, type: BoardContextResponse})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@Get(':boardId/context')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/board.controller.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n BoardUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getBoardSkeleton\n \n \n \n \n \n \n \n getBoardSkeleton(urlParams: BoardUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Get the skeleton of a a board.'})@ApiResponse({status: 200, type: BoardResponse})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@Get(':boardId')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/board.controller.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n BoardUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateBoardTitle\n \n \n \n \n \n \n \n updateBoardTitle(urlParams: BoardUrlParams, bodyParams: RenameBodyParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Update the title of a board.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Patch(':boardId/title')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/board.controller.ts:68\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n BoardUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n RenameBodyParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport {\n\tBody,\n\tController,\n\tDelete,\n\tForbiddenException,\n\tGet,\n\tHttpCode,\n\tNotFoundException,\n\tParam,\n\tPatch,\n\tPost,\n} from '@nestjs/common';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { ApiValidationError } from '@shared/common';\nimport { BoardUc } from '../uc';\nimport { BoardResponse, BoardUrlParams, ColumnResponse, RenameBodyParams } from './dto';\nimport { BoardContextResponse } from './dto/board/board-context.reponse';\nimport { BoardResponseMapper, ColumnResponseMapper } from './mapper';\n\n@ApiTags('Board')\n@Authenticate('jwt')\n@Controller('boards')\nexport class BoardController {\n\tconstructor(private readonly boardUc: BoardUc) {}\n\n\t@ApiOperation({ summary: 'Get the skeleton of a a board.' })\n\t@ApiResponse({ status: 200, type: BoardResponse })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@Get(':boardId')\n\tasync getBoardSkeleton(\n\t\t@Param() urlParams: BoardUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst board = await this.boardUc.findBoard(currentUser.userId, urlParams.boardId);\n\n\t\tconst response = BoardResponseMapper.mapToResponse(board);\n\n\t\treturn response;\n\t}\n\n\t@ApiOperation({ summary: 'Get the context of a board.' })\n\t@ApiResponse({ status: 200, type: BoardContextResponse })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@Get(':boardId/context')\n\tasync getBoardContext(\n\t\t@Param() urlParams: BoardUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst boardContext = await this.boardUc.findBoardContext(currentUser.userId, urlParams.boardId);\n\n\t\tconst response = new BoardContextResponse(boardContext);\n\n\t\treturn response;\n\t}\n\n\t@ApiOperation({ summary: 'Update the title of a board.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Patch(':boardId/title')\n\tasync updateBoardTitle(\n\t\t@Param() urlParams: BoardUrlParams,\n\t\t@Body() bodyParams: RenameBodyParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tawait this.boardUc.updateBoardTitle(currentUser.userId, urlParams.boardId, bodyParams.title);\n\t}\n\n\t@ApiOperation({ summary: 'Delete a board.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Delete(':boardId')\n\tasync deleteBoard(@Param() urlParams: BoardUrlParams, @CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tawait this.boardUc.deleteBoard(currentUser.userId, urlParams.boardId);\n\t}\n\n\t@ApiOperation({ summary: 'Create a new column on a board.' })\n\t@ApiResponse({ status: 201, type: ColumnResponse })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@Post(':boardId/columns')\n\tasync createColumn(\n\t\t@Param() urlParams: BoardUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst column = await this.boardUc.createColumn(currentUser.userId, urlParams.boardId);\n\n\t\tconst response = ColumnResponseMapper.mapToResponse(column);\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BoardCopyService.html":{"url":"injectables/BoardCopyService.html","title":"injectable - BoardCopyService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BoardCopyService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/service/board-copy.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n copyBoard\n \n \n Private\n Async\n copyBoardElements\n \n \n Private\n Async\n copyColumnBoard\n \n \n Private\n Async\n copyLesson\n \n \n Private\n Async\n copyTask\n \n \n Private\n extractReferences\n \n \n Private\n sortByOriginalOrder\n \n \n Private\n updateCopiedEmbeddedTasksOfLessons\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: LegacyLogger, boardRepo: BoardRepo, taskCopyService: TaskCopyService, lessonCopyService: LessonCopyService, columnBoardCopyService: ColumnBoardCopyService, copyHelperService: CopyHelperService)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/service/board-copy.service.ts:36\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n boardRepo\n \n \n BoardRepo\n \n \n \n No\n \n \n \n \n taskCopyService\n \n \n TaskCopyService\n \n \n \n No\n \n \n \n \n lessonCopyService\n \n \n LessonCopyService\n \n \n \n No\n \n \n \n \n columnBoardCopyService\n \n \n ColumnBoardCopyService\n \n \n \n No\n \n \n \n \n copyHelperService\n \n \n CopyHelperService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n copyBoard\n \n \n \n \n \n \n \n copyBoard(params: BoardCopyParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/board-copy.service.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n BoardCopyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n copyBoardElements\n \n \n \n \n \n \n \n copyBoardElements(boardElements: BoardElement[], user: User, destinationCourse: Course)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/board-copy.service.ts:78\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardElements\n \n BoardElement[]\n \n\n \n No\n \n\n\n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n destinationCourse\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n copyColumnBoard\n \n \n \n \n \n \n \n copyColumnBoard(columnBoardTarget: ColumnBoardTarget, user: User, destinationCourse: Course)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/board-copy.service.ts:128\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n columnBoardTarget\n \n ColumnBoardTarget\n \n\n \n No\n \n\n\n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n destinationCourse\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n copyLesson\n \n \n \n \n \n \n \n copyLesson(originalLesson: LessonEntity, user: User, destinationCourse: Course)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/board-copy.service.ts:112\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n originalLesson\n \n LessonEntity\n \n\n \n No\n \n\n\n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n destinationCourse\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n copyTask\n \n \n \n \n \n \n \n copyTask(originalTask: Task, user: User, destinationCourse: Course)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/board-copy.service.ts:120\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n originalTask\n \n Task\n \n\n \n No\n \n\n\n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n destinationCourse\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n extractReferences\n \n \n \n \n \n \n \n extractReferences(statuses: CopyStatus[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/board-copy.service.ts:143\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n statuses\n \n CopyStatus[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BoardElement[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n sortByOriginalOrder\n \n \n \n \n \n \n \n sortByOriginalOrder(resolved: [])\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/board-copy.service.ts:177\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n resolved\n \n []\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CopyStatus[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n updateCopiedEmbeddedTasksOfLessons\n \n \n \n \n \n \n \n updateCopiedEmbeddedTasksOfLessons(boardStatus: CopyStatus)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/board-copy.service.ts:164\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardStatus\n \n CopyStatus\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CopyStatus\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ColumnBoardCopyService } from '@modules/board/service/column-board-copy.service';\nimport { CopyElementType, CopyHelperService, CopyStatus, CopyStatusEnum } from '@modules/copy-helper';\nimport { getResolvedValues } from '@modules/files-storage/helper';\nimport { LessonCopyService } from '@modules/lesson/service';\nimport { TaskCopyService } from '@modules/task/service';\nimport { Injectable } from '@nestjs/common';\nimport { ColumnBoard } from '@shared/domain/domainobject';\nimport { BoardExternalReferenceType } from '@shared/domain/domainobject/board/types';\nimport {\n\tBoard,\n\tBoardElement,\n\tBoardElementType,\n\tColumnBoardTarget,\n\tColumnboardBoardElement,\n\tCourse,\n\tLessonBoardElement,\n\tLessonEntity,\n\tTask,\n\tTaskBoardElement,\n\tUser,\n\tisColumnBoardTarget,\n\tisLesson,\n\tisTask,\n} from '@shared/domain/entity';\nimport { BoardRepo } from '@shared/repo';\nimport { LegacyLogger } from '@src/core/logger';\nimport { sortBy } from 'lodash';\n\ntype BoardCopyParams = {\n\toriginalBoard: Board;\n\tdestinationCourse: Course;\n\tuser: User;\n};\n\n@Injectable()\nexport class BoardCopyService {\n\tconstructor(\n\t\tprivate readonly logger: LegacyLogger,\n\t\tprivate readonly boardRepo: BoardRepo,\n\t\tprivate readonly taskCopyService: TaskCopyService,\n\t\tprivate readonly lessonCopyService: LessonCopyService,\n\t\tprivate readonly columnBoardCopyService: ColumnBoardCopyService,\n\t\tprivate readonly copyHelperService: CopyHelperService\n\t) {}\n\n\tasync copyBoard(params: BoardCopyParams): Promise {\n\t\tconst { originalBoard, user, destinationCourse } = params;\n\n\t\tconst boardElements: BoardElement[] = originalBoard.getElements();\n\t\tconst elements: CopyStatus[] = await this.copyBoardElements(boardElements, user, destinationCourse);\n\t\tconst references: BoardElement[] = this.extractReferences(elements);\n\n\t\tlet boardCopy: Board = new Board({ references, course: destinationCourse });\n\t\tlet status: CopyStatus = {\n\t\t\ttitle: 'board',\n\t\t\ttype: CopyElementType.BOARD,\n\t\t\tstatus: this.copyHelperService.deriveStatusFromElements(elements),\n\t\t\tcopyEntity: boardCopy,\n\t\t\toriginalEntity: params.originalBoard,\n\t\t\telements,\n\t\t};\n\n\t\tstatus = this.updateCopiedEmbeddedTasksOfLessons(status);\n\t\tif (status.copyEntity) {\n\t\t\tboardCopy = status.copyEntity as Board;\n\t\t}\n\n\t\ttry {\n\t\t\tawait this.boardRepo.save(boardCopy);\n\t\t} catch (err) {\n\t\t\tthis.logger.warn(err);\n\t\t\tstatus.status = CopyStatusEnum.FAIL;\n\t\t}\n\n\t\treturn status;\n\t}\n\n\tprivate async copyBoardElements(\n\t\tboardElements: BoardElement[],\n\t\tuser: User,\n\t\tdestinationCourse: Course\n\t): Promise {\n\t\tconst promises: Promise[] = boardElements.map((element, pos) => {\n\t\t\tif (element.target === undefined) {\n\t\t\t\treturn Promise.reject(new Error('Broken boardelement - not pointing to any target entity'));\n\t\t\t}\n\n\t\t\tif (element.boardElementType === BoardElementType.Task && isTask(element.target)) {\n\t\t\t\treturn this.copyTask(element.target, user, destinationCourse).then((status) => [pos, status]);\n\t\t\t}\n\n\t\t\tif (element.boardElementType === BoardElementType.Lesson && isLesson(element.target)) {\n\t\t\t\treturn this.copyLesson(element.target, user, destinationCourse).then((status) => [pos, status]);\n\t\t\t}\n\n\t\t\tif (element.boardElementType === BoardElementType.ColumnBoard && isColumnBoardTarget(element.target)) {\n\t\t\t\treturn this.copyColumnBoard(element.target, user, destinationCourse).then((status) => [pos, status]);\n\t\t\t}\n\n\t\t\t/* istanbul ignore next */\n\t\t\tthis.logger.warn(`BoardCopyService unable to handle boardElementType.`);\n\t\t\t/* istanbul ignore next */\n\t\t\treturn Promise.reject(new Error(`BoardCopyService unable to handle boardElementType.`));\n\t\t});\n\n\t\tconst results = await Promise.allSettled(promises);\n\t\tconst resolved: Array = getResolvedValues(results);\n\t\tconst statuses: CopyStatus[] = this.sortByOriginalOrder(resolved);\n\t\treturn statuses;\n\t}\n\n\tprivate async copyLesson(originalLesson: LessonEntity, user: User, destinationCourse: Course): Promise {\n\t\treturn this.lessonCopyService.copyLesson({\n\t\t\toriginalLessonId: originalLesson.id,\n\t\t\tuser,\n\t\t\tdestinationCourse,\n\t\t});\n\t}\n\n\tprivate async copyTask(originalTask: Task, user: User, destinationCourse: Course): Promise {\n\t\treturn this.taskCopyService.copyTask({\n\t\t\toriginalTaskId: originalTask.id,\n\t\t\tuser,\n\t\t\tdestinationCourse,\n\t\t});\n\t}\n\n\tprivate async copyColumnBoard(\n\t\tcolumnBoardTarget: ColumnBoardTarget,\n\t\tuser: User,\n\t\tdestinationCourse: Course\n\t): Promise {\n\t\treturn this.columnBoardCopyService.copyColumnBoard({\n\t\t\toriginalColumnBoardId: columnBoardTarget.columnBoardId,\n\t\t\tuserId: user.id,\n\t\t\tdestinationExternalReference: {\n\t\t\t\tid: destinationCourse.id,\n\t\t\t\ttype: BoardExternalReferenceType.Course,\n\t\t\t},\n\t\t});\n\t}\n\n\tprivate extractReferences(statuses: CopyStatus[]): BoardElement[] {\n\t\tconst references: BoardElement[] = [];\n\t\tstatuses.forEach((status) => {\n\t\t\tif (status.copyEntity instanceof Task) {\n\t\t\t\tconst taskElement = new TaskBoardElement({ target: status.copyEntity });\n\t\t\t\treferences.push(taskElement);\n\t\t\t}\n\t\t\tif (status.copyEntity instanceof LessonEntity) {\n\t\t\t\tconst lessonElement = new LessonBoardElement({ target: status.copyEntity });\n\t\t\t\treferences.push(lessonElement);\n\t\t\t}\n\t\t\tif (status.copyEntity instanceof ColumnBoard) {\n\t\t\t\tconst columnBoardElement = new ColumnboardBoardElement({\n\t\t\t\t\ttarget: new ColumnBoardTarget({ columnBoardId: status.copyEntity.id, title: status.copyEntity.title }),\n\t\t\t\t});\n\t\t\t\treferences.push(columnBoardElement);\n\t\t\t}\n\t\t});\n\t\treturn references;\n\t}\n\n\tprivate updateCopiedEmbeddedTasksOfLessons(boardStatus: CopyStatus): CopyStatus {\n\t\tconst copyDict = this.copyHelperService.buildCopyEntityDict(boardStatus);\n\t\tconst elements = boardStatus.elements ?? [];\n\t\tconst updatedElements = elements.map((elementCopyStatus) => {\n\t\t\tif (elementCopyStatus.type === CopyElementType.LESSON) {\n\t\t\t\treturn this.lessonCopyService.updateCopiedEmbeddedTasks(elementCopyStatus, copyDict);\n\t\t\t}\n\t\t\treturn elementCopyStatus;\n\t\t});\n\t\tboardStatus.elements = updatedElements;\n\t\treturn boardStatus;\n\t}\n\n\tprivate sortByOriginalOrder(resolved: [number, CopyStatus][]): CopyStatus[] {\n\t\tconst sortByPos = sortBy(resolved, ([pos]) => pos);\n\t\tconst statuses = sortByPos.map(([, status]) => status);\n\t\treturn statuses;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardDoAuthorizable.html":{"url":"classes/BoardDoAuthorizable.html","title":"class - BoardDoAuthorizable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardDoAuthorizable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/types/board-do-authorizable.ts\n \n\n\n\n \n Extends\n \n \n DomainObject\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n users\n \n \n requiredUserRole\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n users\n \n \n\n \n \n getusers()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-do-authorizable.ts:32\n \n \n\n \n \n \n \n \n \n \n requiredUserRole\n \n \n\n \n \n getrequiredUserRole()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-do-authorizable.ts:36\n \n \n\n \n \n setrequiredUserRole(userRoleEnum: UserRoleEnum | undefined)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/types/board-do-authorizable.ts:40\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userRoleEnum\n \n \n UserRoleEnum | undefined\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { EntityId } from '@shared/domain/types';\n\nexport enum BoardRoles {\n\tEDITOR = 'editor',\n\tREADER = 'reader',\n}\n/**\n\tdeprecated: This is a temporary solution. This will be replaced with a more proper permission system.\n*/\nexport enum UserRoleEnum {\n\tTEACHER = 'teacher',\n\tSTUDENT = 'student',\n\tSUBSTITUTION_TEACHER = 'subsitution teacher',\n}\n\nexport interface UserBoardRoles {\n\tfirstName?: string;\n\tlastName?: string;\n\troles: BoardRoles[];\n\tuserId: EntityId;\n\tuserRoleEnum: UserRoleEnum;\n}\n\nexport interface BoardDoAuthorizableProps extends AuthorizableObject {\n\tid: EntityId;\n\tusers: UserBoardRoles[];\n\trequiredUserRole?: UserRoleEnum;\n}\n\nexport class BoardDoAuthorizable extends DomainObject {\n\tget users(): UserBoardRoles[] {\n\t\treturn this.props.users;\n\t}\n\n\tget requiredUserRole(): UserRoleEnum | undefined {\n\t\treturn this.props.requiredUserRole;\n\t}\n\n\tset requiredUserRole(userRoleEnum: UserRoleEnum | undefined) {\n\t\tthis.props.requiredUserRole = userRoleEnum;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BoardDoAuthorizableProps.html":{"url":"interfaces/BoardDoAuthorizableProps.html","title":"interface - BoardDoAuthorizableProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BoardDoAuthorizableProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/types/board-do-authorizable.ts\n \n\n\n\n \n Extends\n \n \n AuthorizableObject\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n Optional\n \n requiredUserRole\n \n \n \n \n users\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n requiredUserRole\n \n \n \n \n \n \n \n \n requiredUserRole: UserRoleEnum\n\n \n \n\n\n \n \n Type : UserRoleEnum\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n users\n \n \n \n \n \n \n \n \n users: UserBoardRoles[]\n\n \n \n\n\n \n \n Type : UserBoardRoles[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { EntityId } from '@shared/domain/types';\n\nexport enum BoardRoles {\n\tEDITOR = 'editor',\n\tREADER = 'reader',\n}\n/**\n\tdeprecated: This is a temporary solution. This will be replaced with a more proper permission system.\n*/\nexport enum UserRoleEnum {\n\tTEACHER = 'teacher',\n\tSTUDENT = 'student',\n\tSUBSTITUTION_TEACHER = 'subsitution teacher',\n}\n\nexport interface UserBoardRoles {\n\tfirstName?: string;\n\tlastName?: string;\n\troles: BoardRoles[];\n\tuserId: EntityId;\n\tuserRoleEnum: UserRoleEnum;\n}\n\nexport interface BoardDoAuthorizableProps extends AuthorizableObject {\n\tid: EntityId;\n\tusers: UserBoardRoles[];\n\trequiredUserRole?: UserRoleEnum;\n}\n\nexport class BoardDoAuthorizable extends DomainObject {\n\tget users(): UserBoardRoles[] {\n\t\treturn this.props.users;\n\t}\n\n\tget requiredUserRole(): UserRoleEnum | undefined {\n\t\treturn this.props.requiredUserRole;\n\t}\n\n\tset requiredUserRole(userRoleEnum: UserRoleEnum | undefined) {\n\t\tthis.props.requiredUserRole = userRoleEnum;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BoardDoAuthorizableService.html":{"url":"injectables/BoardDoAuthorizableService.html","title":"injectable - BoardDoAuthorizableService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BoardDoAuthorizableService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/board-do-authorizable.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findById\n \n \n Async\n getBoardAuthorizable\n \n \n Private\n mapCourseUsersToUsergroup\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(boardDoRepo: BoardDoRepo, courseRepo: CourseRepo)\n \n \n \n \n Defined in apps/server/src/modules/board/service/board-do-authorizable.service.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDoRepo\n \n \n BoardDoRepo\n \n \n \n No\n \n \n \n \n courseRepo\n \n \n CourseRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-authorizable.service.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getBoardAuthorizable\n \n \n \n \n \n \n \n getBoardAuthorizable(boardDo: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-authorizable.service.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapCourseUsersToUsergroup\n \n \n \n \n \n \n \n mapCourseUsersToUsergroup(course: Course)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-authorizable.service.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n course\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserBoardRoles[]\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationLoaderService } from '@modules/authorization';\nimport { forwardRef, Inject, Injectable } from '@nestjs/common';\nimport {\n\tAnyBoardDo,\n\tBoardDoAuthorizable,\n\tBoardExternalReferenceType,\n\tBoardRoles,\n\tColumnBoard,\n\tUserBoardRoles,\n\tUserRoleEnum,\n} from '@shared/domain/domainobject';\nimport { Course } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { CourseRepo } from '@shared/repo';\nimport { BoardDoRepo } from '../repo';\n\n@Injectable()\nexport class BoardDoAuthorizableService implements AuthorizationLoaderService {\n\tconstructor(\n\t\t@Inject(forwardRef(() => BoardDoRepo)) private readonly boardDoRepo: BoardDoRepo,\n\t\tprivate readonly courseRepo: CourseRepo\n\t) {}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst boardDo = await this.boardDoRepo.findById(id, 1);\n\t\tconst { users } = await this.getBoardAuthorizable(boardDo);\n\t\tconst boardDoAuthorizable = new BoardDoAuthorizable({ users, id });\n\n\t\treturn boardDoAuthorizable;\n\t}\n\n\tasync getBoardAuthorizable(boardDo: AnyBoardDo): Promise {\n\t\tconst ancestorIds = await this.boardDoRepo.getAncestorIds(boardDo);\n\t\tconst ids = [...ancestorIds, boardDo.id];\n\t\tconst rootId = ids[0];\n\t\tconst rootBoardDo = await this.boardDoRepo.findById(rootId, 1);\n\t\tif (rootBoardDo instanceof ColumnBoard) {\n\t\t\tif (rootBoardDo.context?.type === BoardExternalReferenceType.Course) {\n\t\t\t\tconst course = await this.courseRepo.findById(rootBoardDo.context.id);\n\t\t\t\tconst users = this.mapCourseUsersToUsergroup(course);\n\t\t\t\treturn new BoardDoAuthorizable({ users, id: boardDo.id });\n\t\t\t}\n\t\t} else {\n\t\t\tthrow new Error('root boardnode was expected to be a ColumnBoard');\n\t\t}\n\n\t\treturn new BoardDoAuthorizable({ users: [], id: boardDo.id });\n\t}\n\n\tprivate mapCourseUsersToUsergroup(course: Course): UserBoardRoles[] {\n\t\tconst users = [\n\t\t\t...course.getTeachersList().map((user) => {\n\t\t\t\treturn {\n\t\t\t\t\tuserId: user.id,\n\t\t\t\t\tfirstName: user.firstName,\n\t\t\t\t\tlastName: user.lastName,\n\t\t\t\t\troles: [BoardRoles.EDITOR],\n\t\t\t\t\tuserRoleEnum: UserRoleEnum.TEACHER,\n\t\t\t\t};\n\t\t\t}),\n\t\t\t...course.getSubstitutionTeachersList().map((user) => {\n\t\t\t\treturn {\n\t\t\t\t\tuserId: user.id,\n\t\t\t\t\tfirstName: user.firstName,\n\t\t\t\t\tlastName: user.lastName,\n\t\t\t\t\troles: [BoardRoles.EDITOR],\n\t\t\t\t\tuserRoleEnum: UserRoleEnum.SUBSTITUTION_TEACHER,\n\t\t\t\t};\n\t\t\t}),\n\t\t\t...course.getStudentsList().map((user) => {\n\t\t\t\treturn {\n\t\t\t\t\tuserId: user.id,\n\t\t\t\t\tfirstName: user.firstName,\n\t\t\t\t\tlastName: user.lastName,\n\t\t\t\t\troles: [BoardRoles.READER],\n\t\t\t\t\tuserRoleEnum: UserRoleEnum.STUDENT,\n\t\t\t\t};\n\t\t\t}),\n\t\t];\n\t\treturn users;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BoardDoBuilder.html":{"url":"interfaces/BoardDoBuilder.html","title":"interface - BoardDoBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BoardDoBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/types/board-do.builder.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n buildCard\n \n \n \n \n buildColumn\n \n \n \n \n buildColumnBoard\n \n \n \n \n buildDrawingElement\n \n \n \n \n buildExternalToolElement\n \n \n \n \n buildFileElement\n \n \n \n \n buildLinkElement\n \n \n \n \n buildRichTextElement\n \n \n \n \n buildSubmissionContainerElement\n \n \n \n \n buildSubmissionItem\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n buildCard\n \n \n \n \n \n \nbuildCard(boardNode: CardNode)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/types/board-do.builder.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n CardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Card\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildColumn\n \n \n \n \n \n \nbuildColumn(boardNode: ColumnNode)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/types/board-do.builder.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n ColumnNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Column\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildColumnBoard\n \n \n \n \n \n \nbuildColumnBoard(boardNode: ColumnBoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/types/board-do.builder.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n ColumnBoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ColumnBoard\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildDrawingElement\n \n \n \n \n \n \nbuildDrawingElement(boardNode: DrawingElementNode)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/types/board-do.builder.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n DrawingElementNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DrawingElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildExternalToolElement\n \n \n \n \n \n \nbuildExternalToolElement(boardNode: ExternalToolElementNodeEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/types/board-do.builder.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n ExternalToolElementNodeEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalToolElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildFileElement\n \n \n \n \n \n \nbuildFileElement(boardNode: FileElementNode)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/types/board-do.builder.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n FileElementNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildLinkElement\n \n \n \n \n \n \nbuildLinkElement(boardNode: LinkElementNode)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/types/board-do.builder.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n LinkElementNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LinkElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildRichTextElement\n \n \n \n \n \n \nbuildRichTextElement(boardNode: RichTextElementNode)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/types/board-do.builder.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n RichTextElementNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RichTextElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildSubmissionContainerElement\n \n \n \n \n \n \nbuildSubmissionContainerElement(boardNode: SubmissionContainerElementNode)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/types/board-do.builder.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n SubmissionContainerElementNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SubmissionContainerElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildSubmissionItem\n \n \n \n \n \n \nbuildSubmissionItem(boardNode: SubmissionItemNode)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/types/board-do.builder.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n SubmissionItemNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SubmissionItem\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import type {\n\tCard,\n\tColumn,\n\tColumnBoard,\n\tDrawingElement,\n\tExternalToolElement,\n\tFileElement,\n\tLinkElement,\n\tRichTextElement,\n\tSubmissionContainerElement,\n\tSubmissionItem,\n} from '../../../domainobject';\nimport type { CardNode } from '../card-node.entity';\nimport type { ColumnBoardNode } from '../column-board-node.entity';\nimport type { ColumnNode } from '../column-node.entity';\nimport type { DrawingElementNode } from '../drawing-element-node.entity';\nimport type { ExternalToolElementNodeEntity } from '../external-tool-element-node.entity';\nimport type { FileElementNode } from '../file-element-node.entity';\nimport type { LinkElementNode } from '../link-element-node.entity';\nimport type { RichTextElementNode } from '../rich-text-element-node.entity';\nimport type { SubmissionContainerElementNode } from '../submission-container-element-node.entity';\nimport type { SubmissionItemNode } from '../submission-item-node.entity';\n\nexport interface BoardDoBuilder {\n\tbuildColumnBoard(boardNode: ColumnBoardNode): ColumnBoard;\n\tbuildColumn(boardNode: ColumnNode): Column;\n\tbuildCard(boardNode: CardNode): Card;\n\tbuildDrawingElement(boardNode: DrawingElementNode): DrawingElement;\n\tbuildFileElement(boardNode: FileElementNode): FileElement;\n\tbuildLinkElement(boardNode: LinkElementNode): LinkElement;\n\tbuildRichTextElement(boardNode: RichTextElementNode): RichTextElement;\n\tbuildSubmissionContainerElement(boardNode: SubmissionContainerElementNode): SubmissionContainerElement;\n\tbuildSubmissionItem(boardNode: SubmissionItemNode): SubmissionItem;\n\tbuildExternalToolElement(boardNode: ExternalToolElementNodeEntity): ExternalToolElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardDoBuilderImpl.html":{"url":"classes/BoardDoBuilderImpl.html","title":"class - BoardDoBuilderImpl","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardDoBuilderImpl\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/repo/board-do.builder-impl.ts\n \n\n\n\n\n \n Implements\n \n \n BoardDoBuilder\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n childrenMap\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n buildCard\n \n \n buildChildren\n \n \n Public\n buildColumn\n \n \n Public\n buildColumnBoard\n \n \n Public\n buildDomainObject\n \n \n Public\n buildDrawingElement\n \n \n buildExternalToolElement\n \n \n Public\n buildFileElement\n \n \n Public\n buildLinkElement\n \n \n Public\n buildRichTextElement\n \n \n Public\n buildSubmissionContainerElement\n \n \n Public\n buildSubmissionItem\n \n \n ensureBoardNodeType\n \n \n ensureLeafNode\n \n \n getChildren\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(descendants: BoardNode[])\n \n \n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:32\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n descendants\n \n \n BoardNode[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n childrenMap\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Default value : {}\n \n \n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:32\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n buildCard\n \n \n \n \n \n \n \n buildCard(boardNode: CardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:77\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n CardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Card\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildChildren\n \n \n \n \n \n \nbuildChildren(boardNode: BoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:205\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n buildColumn\n \n \n \n \n \n \n \n buildColumn(boardNode: ColumnNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:62\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n ColumnNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Column\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n buildColumnBoard\n \n \n \n \n \n \n \n buildColumnBoard(boardNode: ColumnBoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n ColumnBoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ColumnBoard\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n buildDomainObject\n \n \n \n \n \n \n \n buildDomainObject(boardNode: BoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:41\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n buildDrawingElement\n \n \n \n \n \n \n \n buildDrawingElement(boardNode: DrawingElementNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:145\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n DrawingElementNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DrawingElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildExternalToolElement\n \n \n \n \n \n \nbuildExternalToolElement(boardNode: ExternalToolElementNodeEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:191\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n ExternalToolElementNodeEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalToolElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n buildFileElement\n \n \n \n \n \n \n \n buildFileElement(boardNode: FileElementNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:102\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n FileElementNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n buildLinkElement\n \n \n \n \n \n \n \n buildLinkElement(boardNode: LinkElementNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:116\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n LinkElementNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LinkElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n buildRichTextElement\n \n \n \n \n \n \n \n buildRichTextElement(boardNode: RichTextElementNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:131\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n RichTextElementNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RichTextElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n buildSubmissionContainerElement\n \n \n \n \n \n \n \n buildSubmissionContainerElement(boardNode: SubmissionContainerElementNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:158\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n SubmissionContainerElementNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SubmissionContainerElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n buildSubmissionItem\n \n \n \n \n \n \n \n buildSubmissionItem(boardNode: SubmissionItemNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:173\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n SubmissionItemNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SubmissionItem\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ensureBoardNodeType\n \n \n \n \n \n \nensureBoardNodeType(boardNode: BoardNode | BoardNode[], type: BoardNodeType | BoardNodeType[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:221\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n BoardNode | BoardNode[]\n \n\n \n No\n \n\n\n \n \n type\n \n BoardNodeType | BoardNodeType[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ensureLeafNode\n \n \n \n \n \n \nensureLeafNode(boardNode: BoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:216\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getChildren\n \n \n \n \n \n \ngetChildren(boardNode: BoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.builder-impl.ts:210\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BoardNode[]\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { NotImplementedException } from '@nestjs/common';\nimport {\n\tAnyBoardDo,\n\tCard,\n\tColumn,\n\tColumnBoard,\n\tExternalToolElement,\n\tFileElement,\n\tLinkElement,\n\tRichTextElement,\n\tSubmissionContainerElement,\n\tSubmissionItem,\n} from '@shared/domain/domainobject';\nimport { DrawingElement } from '@shared/domain/domainobject/board/drawing-element.do';\nimport {\n\tBoardNodeType,\n\ttype BoardDoBuilder,\n\ttype BoardNode,\n\ttype CardNode,\n\ttype ColumnBoardNode,\n\ttype ColumnNode,\n\ttype ExternalToolElementNodeEntity,\n\ttype FileElementNode,\n\ttype LinkElementNode,\n\ttype RichTextElementNode,\n\ttype SubmissionContainerElementNode,\n\ttype SubmissionItemNode,\n} from '@shared/domain/entity';\nimport { DrawingElementNode } from '@shared/domain/entity/boardnode/drawing-element-node.entity';\n\nexport class BoardDoBuilderImpl implements BoardDoBuilder {\n\tprivate childrenMap: Record = {};\n\n\tconstructor(descendants: BoardNode[] = []) {\n\t\tfor (const boardNode of descendants) {\n\t\t\tthis.childrenMap[boardNode.path] ||= [];\n\t\t\tthis.childrenMap[boardNode.path].push(boardNode);\n\t\t}\n\t}\n\n\tpublic buildDomainObject(boardNode: BoardNode): T {\n\t\treturn boardNode.useDoBuilder(this) as T;\n\t}\n\n\tpublic buildColumnBoard(boardNode: ColumnBoardNode): ColumnBoard {\n\t\tthis.ensureBoardNodeType(this.getChildren(boardNode), BoardNodeType.COLUMN);\n\n\t\tconst columns = this.buildChildren(boardNode);\n\n\t\tconst columnBoard = new ColumnBoard({\n\t\t\tid: boardNode.id,\n\t\t\ttitle: boardNode.title ?? '',\n\t\t\tchildren: columns,\n\t\t\tcreatedAt: boardNode.createdAt,\n\t\t\tupdatedAt: boardNode.updatedAt,\n\t\t\tcontext: boardNode.context,\n\t\t});\n\n\t\treturn columnBoard;\n\t}\n\n\tpublic buildColumn(boardNode: ColumnNode): Column {\n\t\tthis.ensureBoardNodeType(this.getChildren(boardNode), BoardNodeType.CARD);\n\n\t\tconst cards = this.buildChildren(boardNode);\n\n\t\tconst column = new Column({\n\t\t\tid: boardNode.id,\n\t\t\ttitle: boardNode.title ?? '',\n\t\t\tchildren: cards,\n\t\t\tcreatedAt: boardNode.createdAt,\n\t\t\tupdatedAt: boardNode.updatedAt,\n\t\t});\n\t\treturn column;\n\t}\n\n\tpublic buildCard(boardNode: CardNode): Card {\n\t\tthis.ensureBoardNodeType(this.getChildren(boardNode), [\n\t\t\tBoardNodeType.FILE_ELEMENT,\n\t\t\tBoardNodeType.LINK_ELEMENT,\n\t\t\tBoardNodeType.RICH_TEXT_ELEMENT,\n\t\t\tBoardNodeType.DRAWING_ELEMENT,\n\t\t\tBoardNodeType.SUBMISSION_CONTAINER_ELEMENT,\n\t\t\tBoardNodeType.EXTERNAL_TOOL,\n\t\t]);\n\n\t\tconst elements = this.buildChildren(boardNode);\n\n\t\tconst card = new Card({\n\t\t\tid: boardNode.id,\n\t\t\ttitle: boardNode.title ?? '',\n\t\t\theight: boardNode.height,\n\t\t\tchildren: elements,\n\t\t\tcreatedAt: boardNode.createdAt,\n\t\t\tupdatedAt: boardNode.updatedAt,\n\t\t});\n\t\treturn card;\n\t}\n\n\tpublic buildFileElement(boardNode: FileElementNode): FileElement {\n\t\tthis.ensureLeafNode(boardNode);\n\n\t\tconst element = new FileElement({\n\t\t\tid: boardNode.id,\n\t\t\tcaption: boardNode.caption,\n\t\t\talternativeText: boardNode.alternativeText,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: boardNode.createdAt,\n\t\t\tupdatedAt: boardNode.updatedAt,\n\t\t});\n\t\treturn element;\n\t}\n\n\tpublic buildLinkElement(boardNode: LinkElementNode): LinkElement {\n\t\tthis.ensureLeafNode(boardNode);\n\n\t\tconst element = new LinkElement({\n\t\t\tid: boardNode.id,\n\t\t\turl: boardNode.url,\n\t\t\ttitle: boardNode.title,\n\t\t\timageUrl: boardNode.imageUrl,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: boardNode.createdAt,\n\t\t\tupdatedAt: boardNode.updatedAt,\n\t\t});\n\t\treturn element;\n\t}\n\n\tpublic buildRichTextElement(boardNode: RichTextElementNode): RichTextElement {\n\t\tthis.ensureLeafNode(boardNode);\n\n\t\tconst element = new RichTextElement({\n\t\t\tid: boardNode.id,\n\t\t\ttext: boardNode.text,\n\t\t\tinputFormat: boardNode.inputFormat,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: boardNode.createdAt,\n\t\t\tupdatedAt: boardNode.updatedAt,\n\t\t});\n\t\treturn element;\n\t}\n\n\tpublic buildDrawingElement(boardNode: DrawingElementNode): DrawingElement {\n\t\tthis.ensureLeafNode(boardNode);\n\n\t\tconst element = new DrawingElement({\n\t\t\tid: boardNode.id,\n\t\t\tdescription: boardNode.description,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: boardNode.createdAt,\n\t\t\tupdatedAt: boardNode.updatedAt,\n\t\t});\n\t\treturn element;\n\t}\n\n\tpublic buildSubmissionContainerElement(boardNode: SubmissionContainerElementNode): SubmissionContainerElement {\n\t\tthis.ensureBoardNodeType(this.getChildren(boardNode), [BoardNodeType.SUBMISSION_ITEM]);\n\t\tconst elements = this.buildChildren(boardNode);\n\n\t\tconst element = new SubmissionContainerElement({\n\t\t\tid: boardNode.id,\n\t\t\tchildren: elements,\n\t\t\tcreatedAt: boardNode.createdAt,\n\t\t\tupdatedAt: boardNode.updatedAt,\n\t\t\tdueDate: boardNode.dueDate,\n\t\t});\n\n\t\treturn element;\n\t}\n\n\tpublic buildSubmissionItem(boardNode: SubmissionItemNode): SubmissionItem {\n\t\tthis.ensureBoardNodeType(this.getChildren(boardNode), [\n\t\t\tBoardNodeType.FILE_ELEMENT,\n\t\t\tBoardNodeType.RICH_TEXT_ELEMENT,\n\t\t]);\n\t\tconst elements = this.buildChildren(boardNode);\n\n\t\tconst element = new SubmissionItem({\n\t\t\tid: boardNode.id,\n\t\t\tcreatedAt: boardNode.createdAt,\n\t\t\tupdatedAt: boardNode.updatedAt,\n\t\t\tcompleted: boardNode.completed,\n\t\t\tuserId: boardNode.userId,\n\t\t\tchildren: elements,\n\t\t});\n\t\treturn element;\n\t}\n\n\tbuildExternalToolElement(boardNode: ExternalToolElementNodeEntity): ExternalToolElement {\n\t\tthis.ensureLeafNode(boardNode);\n\n\t\tconst element: ExternalToolElement = new ExternalToolElement({\n\t\t\tid: boardNode.id,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: boardNode.createdAt,\n\t\t\tupdatedAt: boardNode.updatedAt,\n\t\t\tcontextExternalToolId: boardNode.contextExternalTool?.id,\n\t\t});\n\n\t\treturn element;\n\t}\n\n\tbuildChildren(boardNode: BoardNode): T[] {\n\t\tconst children = this.getChildren(boardNode).map((node) => node.useDoBuilder(this));\n\t\treturn children as T[];\n\t}\n\n\tgetChildren(boardNode: BoardNode): BoardNode[] {\n\t\tconst children = this.childrenMap[boardNode.pathOfChildren] || [];\n\t\tconst sortedChildren = children.sort((a, b) => a.position - b.position);\n\t\treturn sortedChildren;\n\t}\n\n\tensureLeafNode(boardNode: BoardNode) {\n\t\tconst children = this.getChildren(boardNode);\n\t\tif (children.length !== 0) throw new Error('BoardNode is a leaf node but children were provided.');\n\t}\n\n\tensureBoardNodeType(boardNode: BoardNode | BoardNode[], type: BoardNodeType | BoardNodeType[]) {\n\t\tconst single = (bn: BoardNode, t: BoardNodeType | BoardNodeType[]) => {\n\t\t\tconst isValid = Array.isArray(t) ? type.includes(bn.type) : t === bn.type;\n\t\t\tif (!isValid) {\n\t\t\t\tthrow new NotImplementedException(`Invalid node type '${bn.type}'`);\n\t\t\t}\n\t\t};\n\n\t\tif (Array.isArray(boardNode)) {\n\t\t\tboardNode.forEach((bn) => single(bn, type));\n\t\t} else {\n\t\t\tsingle(boardNode, type);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BoardDoCopyService.html":{"url":"injectables/BoardDoCopyService.html","title":"injectable - BoardDoCopyService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BoardDoCopyService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/board-do-copy-service/board-do-copy.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n copy\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n copy\n \n \n \n \n \n \n \n copy(params: BoardDoCopyParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/board-do-copy.service.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n BoardDoCopyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CopyStatus } from '@modules/copy-helper';\nimport { Injectable } from '@nestjs/common';\nimport { AnyBoardDo } from '@shared/domain/domainobject';\nimport { RecursiveCopyVisitor } from './recursive-copy.visitor';\nimport { SchoolSpecificFileCopyService } from './school-specific-file-copy.interface';\n\nexport type BoardDoCopyParams = {\n\toriginal: AnyBoardDo;\n\tfileCopyService: SchoolSpecificFileCopyService;\n};\n\n@Injectable()\nexport class BoardDoCopyService {\n\tpublic async copy(params: BoardDoCopyParams): Promise {\n\t\tconst visitor = new RecursiveCopyVisitor(params.fileCopyService);\n\n\t\tconst result = await visitor.copy(params.original);\n\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BoardDoRepo.html":{"url":"injectables/BoardDoRepo.html","title":"injectable - BoardDoRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BoardDoRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/repo/board-do.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n delete\n \n \n Async\n findByClassAndId\n \n \n Async\n findById\n \n \n Async\n findByIds\n \n \n Async\n findIdsByExternalReference\n \n \n Async\n findParentOfId\n \n \n Async\n getAncestorIds\n \n \n Async\n getTitlesByIds\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager, boardNodeRepo: BoardNodeRepo, deleteVisitor: RecursiveDeleteVisitor)\n \n \n \n \n Defined in apps/server/src/modules/board/repo/board-do.repo.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n boardNodeRepo\n \n \n BoardNodeRepo\n \n \n \n No\n \n \n \n \n deleteVisitor\n \n \n RecursiveDeleteVisitor\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(domainObject: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.repo.ts:95\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByClassAndId\n \n \n \n \n \n \n \n findByClassAndId(doClass: literal type, id: EntityId, depth?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.repo.ts:28\n \n \n\n \n \n Type parameters :\n \n S\n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n doClass\n \n literal type\n \n\n \n No\n \n\n\n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n depth\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId, depth?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.repo.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n depth\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByIds\n \n \n \n \n \n \n \n findByIds(ids: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.repo.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n ids\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findIdsByExternalReference\n \n \n \n \n \n \n \n findIdsByExternalReference(reference: BoardExternalReference)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.repo.ts:67\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n reference\n \n BoardExternalReference\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findParentOfId\n \n \n \n \n \n \n \n findParentOfId(childId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.repo.ts:77\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n childId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getAncestorIds\n \n \n \n \n \n \n \n getAncestorIds(boardDo: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.repo.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getTitlesByIds\n \n \n \n \n \n \n \n getTitlesByIds(id: EntityId[] | EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.repo.ts:55\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId[] | EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(domainObject: AnyBoardDo | AnyBoardDo[], parent?: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-do.repo.ts:89\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n AnyBoardDo | AnyBoardDo[]\n \n\n \n No\n \n\n\n \n \n parent\n \n AnyBoardDo\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Utils } from '@mikro-orm/core';\nimport { EntityManager, ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable, NotFoundException } from '@nestjs/common';\nimport { AnyBoardDo, BoardExternalReference } from '@shared/domain/domainobject';\nimport { BoardNode, ColumnBoardNode } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { BoardDoBuilderImpl } from './board-do.builder-impl';\nimport { BoardNodeRepo } from './board-node.repo';\nimport { RecursiveDeleteVisitor } from './recursive-delete.vistor';\nimport { RecursiveSaveVisitor } from './recursive-save.visitor';\n\n@Injectable()\nexport class BoardDoRepo {\n\tconstructor(\n\t\tprivate readonly em: EntityManager,\n\t\tprivate readonly boardNodeRepo: BoardNodeRepo,\n\t\tprivate readonly deleteVisitor: RecursiveDeleteVisitor\n\t) {}\n\n\tasync findById(id: EntityId, depth?: number): Promise {\n\t\tconst boardNode = await this.boardNodeRepo.findById(id);\n\t\tconst descendants = await this.boardNodeRepo.findDescendants(boardNode, depth);\n\t\tconst domainObject = new BoardDoBuilderImpl(descendants).buildDomainObject(boardNode);\n\n\t\treturn domainObject;\n\t}\n\n\tasync findByClassAndId(\n\t\tdoClass: { new (props: S): T },\n\t\tid: EntityId,\n\t\tdepth?: number\n\t): Promise {\n\t\tconst domainObject = await this.findById(id, depth);\n\t\tif (!(domainObject instanceof doClass)) {\n\t\t\tthrow new NotFoundException(`There is no '${doClass.name}' with this id`);\n\t\t}\n\n\t\treturn domainObject;\n\t}\n\n\tasync findByIds(ids: EntityId[]): Promise {\n\t\tconst boardNodes = await this.em.find(BoardNode, { id: { $in: ids } });\n\n\t\tconst childrenMap = await this.boardNodeRepo.findDescendantsOfMany(boardNodes);\n\n\t\tconst domainObjects = boardNodes.map((boardNode) => {\n\t\t\tconst children = childrenMap[boardNode.pathOfChildren];\n\t\t\tconst domainObject = new BoardDoBuilderImpl(children).buildDomainObject(boardNode);\n\t\t\treturn domainObject;\n\t\t});\n\n\t\treturn domainObjects;\n\t}\n\n\tasync getTitlesByIds(id: EntityId[] | EntityId): Promise> {\n\t\tconst ids = Utils.asArray(id);\n\t\tconst boardNodes = await this.em.find(BoardNode, { id: { $in: ids } });\n\n\t\tconst titlesMap = boardNodes.reduce((map, node) => {\n\t\t\tmap[node.id] = node.title ?? '';\n\t\t\treturn map;\n\t\t}, {});\n\n\t\treturn titlesMap;\n\t}\n\n\tasync findIdsByExternalReference(reference: BoardExternalReference): Promise {\n\t\tconst boardNodes = await this.em.find(ColumnBoardNode, {\n\t\t\t_contextId: new ObjectId(reference.id),\n\t\t\t_contextType: reference.type,\n\t\t});\n\t\tconst ids = boardNodes.map((o) => o.id);\n\n\t\treturn ids;\n\t}\n\n\tasync findParentOfId(childId: EntityId): Promise {\n\t\tconst boardNode = await this.boardNodeRepo.findById(childId);\n\t\tconst domainObject = boardNode.parentId ? this.findById(boardNode.parentId) : undefined;\n\n\t\treturn domainObject;\n\t}\n\n\tasync getAncestorIds(boardDo: AnyBoardDo): Promise {\n\t\tconst boardNode = await this.boardNodeRepo.findById(boardDo.id);\n\t\treturn boardNode.ancestorIds;\n\t}\n\n\tasync save(domainObject: AnyBoardDo | AnyBoardDo[], parent?: AnyBoardDo): Promise {\n\t\tconst saveVisitor = new RecursiveSaveVisitor(this.em, this.boardNodeRepo);\n\t\tawait saveVisitor.save(domainObject, parent);\n\t\tawait this.em.flush();\n\t}\n\n\tasync delete(domainObject: AnyBoardDo): Promise {\n\t\tawait domainObject.acceptAsync(this.deleteVisitor);\n\t\tawait this.em.flush();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BoardDoRule.html":{"url":"injectables/BoardDoRule.html","title":"injectable - BoardDoRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BoardDoRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/board-do.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/board-do.rule.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, boardDoAuthorizable: BoardDoAuthorizable, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/board-do.rule.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n boardDoAuthorizable\n \n BoardDoAuthorizable\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, boardDoAuthorizable: BoardDoAuthorizable)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/board-do.rule.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n boardDoAuthorizable\n \n BoardDoAuthorizable\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { BoardDoAuthorizable, BoardRoles } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { Action, AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\n\n@Injectable()\nexport class BoardDoRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper) {}\n\n\tpublic isApplicable(user: User, boardDoAuthorizable: BoardDoAuthorizable): boolean {\n\t\tconst isMatched = boardDoAuthorizable instanceof BoardDoAuthorizable;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, boardDoAuthorizable: BoardDoAuthorizable, context: AuthorizationContext): boolean {\n\t\tconst hasPermission = this.authorizationHelper.hasAllPermissions(user, context.requiredPermissions);\n\t\tif (hasPermission === false) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst userBoardRole = boardDoAuthorizable.users.find(({ userId }) => userId === user.id);\n\t\tif (!userBoardRole) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (boardDoAuthorizable.requiredUserRole && boardDoAuthorizable.requiredUserRole !== userBoardRole.userRoleEnum) {\n\t\t\treturn false;\n\t\t}\n\n\t\tif (context.action === Action.write && userBoardRole.roles.includes(BoardRoles.EDITOR)) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (\n\t\t\tcontext.action === Action.read &&\n\t\t\t(userBoardRole.roles.includes(BoardRoles.EDITOR) || userBoardRole.roles.includes(BoardRoles.READER))\n\t\t) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BoardDoService.html":{"url":"injectables/BoardDoService.html","title":"injectable - BoardDoService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BoardDoService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/board-do.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteWithDescendants\n \n \n Async\n move\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(boardDoRepo: BoardDoRepo)\n \n \n \n \n Defined in apps/server/src/modules/board/service/board-do.service.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDoRepo\n \n \n BoardDoRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteWithDescendants\n \n \n \n \n \n \n \n deleteWithDescendants(domainObject: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do.service.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n move\n \n \n \n \n \n \n \n move(child: AnyBoardDo, targetParent: AnyBoardDo, targetPosition?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do.service.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n targetParent\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n targetPosition\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { AnyBoardDo } from '@shared/domain/domainobject';\nimport { BoardDoRepo } from '../repo';\n\n@Injectable()\nexport class BoardDoService {\n\tconstructor(private readonly boardDoRepo: BoardDoRepo) {}\n\n\tasync deleteWithDescendants(domainObject: AnyBoardDo): Promise {\n\t\tconst parent = await this.boardDoRepo.findParentOfId(domainObject.id);\n\n\t\tif (parent) {\n\t\t\tparent.removeChild(domainObject);\n\t\t\tawait this.boardDoRepo.save(parent.children, parent);\n\t\t}\n\n\t\tawait this.boardDoRepo.delete(domainObject);\n\t}\n\n\tasync move(child: AnyBoardDo, targetParent: AnyBoardDo, targetPosition?: number): Promise {\n\t\tif (targetParent.hasChild(child)) {\n\t\t\ttargetParent.removeChild(child);\n\t\t} else {\n\t\t\tconst sourceParent = await this.boardDoRepo.findParentOfId(child.id);\n\t\t\tif (sourceParent) {\n\t\t\t\tsourceParent.removeChild(child);\n\t\t\t\tawait this.boardDoRepo.save(sourceParent.children, sourceParent);\n\t\t\t}\n\t\t}\n\t\ttargetParent.addChild(child, targetPosition);\n\t\tawait this.boardDoRepo.save(targetParent.children, targetParent);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/BoardElement.html":{"url":"entities/BoardElement.html","title":"entity - BoardElement","body":"\n \n\n\n\n\n\n\n\n Entities\n BoardElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/legacy-board/boardelement.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n boardElementType\n \n \n target\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n boardElementType\n \n \n \n \n \n \n Type : BoardElementType\n\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/legacy-board/boardelement.entity.ts:30\n \n \n\n \n \n name of a collection which is referenced in target\n\n \n \n\n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : BoardElementReference\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/legacy-board/boardelement.entity.ts:26\n \n \n\n \n \n id reference to a collection populated later with name\n\n \n \n\n \n \n\n \n\n\n \n import { Entity, Enum } from '@mikro-orm/core';\nimport { EntityId } from '../../types';\nimport { BaseEntityWithTimestamps } from '../base.entity';\nimport { LessonEntity } from '../lesson.entity';\nimport { Task } from '../task.entity';\nimport { ColumnBoardTarget } from './column-board-target.entity';\n\nexport type BoardElementReference = Task | LessonEntity | ColumnBoardTarget;\n\nexport enum BoardElementType {\n\t'Task' = 'task',\n\t'Lesson' = 'lesson',\n\t'ColumnBoard' = 'columnboard',\n}\n\nexport type BoardElementProps = {\n\ttarget: EntityId | BoardElementReference;\n};\n\n@Entity({\n\tdiscriminatorColumn: 'boardElementType',\n\tabstract: true,\n})\nexport abstract class BoardElement extends BaseEntityWithTimestamps {\n\t/** id reference to a collection populated later with name */\n\ttarget!: BoardElementReference;\n\n\t/** name of a collection which is referenced in target */\n\t@Enum()\n\tboardElementType!: BoardElementType;\n\n\tconstructor(props: BoardElementProps) {\n\t\tsuper();\n\t\tObject.assign(this, { target: props.target });\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardElementResponse.html":{"url":"classes/BoardElementResponse.html","title":"class - BoardElementResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardElementResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/single-column-board/board-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: BoardElementResponse)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-element.response.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n BoardElementResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : BoardTaskResponse | BoardLessonResponse | BoardColumnBoardResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Content of the Board, either: a task or a lesson specific for the board'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-element.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : RoomBoardElementTypes\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'the type of the element in the content. For possible types, please refer to the enum', enum: RoomBoardElementTypes})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-element.response.ts:17\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { RoomBoardElementTypes } from '@modules/learnroom/types';\nimport { BoardColumnBoardResponse } from './board-column-board.response';\nimport { BoardLessonResponse } from './board-lesson.response';\nimport { BoardTaskResponse } from './board-task.response';\n\nexport class BoardElementResponse {\n\tconstructor({ type, content }: BoardElementResponse) {\n\t\tthis.type = type;\n\t\tthis.content = content;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'the type of the element in the content. For possible types, please refer to the enum',\n\t\tenum: RoomBoardElementTypes,\n\t})\n\ttype: RoomBoardElementTypes;\n\n\t@ApiProperty({\n\t\tdescription: 'Content of the Board, either: a task or a lesson specific for the board',\n\t})\n\tcontent: BoardTaskResponse | BoardLessonResponse | BoardColumnBoardResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BoardExternalReference.html":{"url":"interfaces/BoardExternalReference.html","title":"interface - BoardExternalReference","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BoardExternalReference\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/types/board-external-reference.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n type\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: BoardExternalReferenceType\n\n \n \n\n\n \n \n Type : BoardExternalReferenceType\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\n\nexport enum BoardExternalReferenceType {\n\t'Course' = 'course',\n}\n\nexport interface BoardExternalReference {\n\ttype: BoardExternalReferenceType;\n\tid: EntityId;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardLessonResponse.html":{"url":"classes/BoardLessonResponse.html","title":"class - BoardLessonResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardLessonResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/single-column-board/board-lesson.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n courseName\n \n \n \n createdAt\n \n \n \n hidden\n \n \n \n id\n \n \n \n \n name\n \n \n \n \n \n \n Optional\n numberOfDraftTasks\n \n \n \n \n \n \n Optional\n numberOfPlannedTasks\n \n \n \n \n \n numberOfPublishedTasks\n \n \n \n updatedAt\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: BoardLessonResponse)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-lesson.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n BoardLessonResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n courseName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-lesson.response.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-lesson.response.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n \n hidden\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-lesson.response.ts:61\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-lesson.response.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-lesson.response.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n numberOfDraftTasks\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@IsOptional()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-lesson.response.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n numberOfPlannedTasks\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@IsOptional()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-lesson.response.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n numberOfPublishedTasks\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-lesson.response.ts:40\n \n \n\n\n \n \n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-lesson.response.ts:58\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\nimport { IsNumber, IsOptional, Min } from 'class-validator';\n\nexport class BoardLessonResponse {\n\tconstructor({\n\t\tid,\n\t\tname,\n\t\thidden,\n\t\tnumberOfPublishedTasks,\n\t\tnumberOfDraftTasks,\n\t\tnumberOfPlannedTasks,\n\t\tcreatedAt,\n\t\tupdatedAt,\n\t}: BoardLessonResponse) {\n\t\tthis.id = id;\n\t\tthis.name = name;\n\t\tthis.hidden = hidden;\n\t\tthis.createdAt = createdAt;\n\t\tthis.updatedAt = updatedAt;\n\t\tthis.numberOfPublishedTasks = numberOfPublishedTasks;\n\t\tthis.numberOfDraftTasks = numberOfDraftTasks;\n\t\tthis.numberOfPlannedTasks = numberOfPlannedTasks;\n\t}\n\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tname: string;\n\n\t@ApiPropertyOptional()\n\t@DecodeHtmlEntities()\n\tcourseName?: string;\n\n\t@IsNumber()\n\t@Min(0)\n\t@ApiProperty()\n\tnumberOfPublishedTasks: number;\n\n\t@IsNumber()\n\t@Min(0)\n\t@IsOptional()\n\t@ApiProperty()\n\tnumberOfDraftTasks?: number;\n\n\t@IsNumber()\n\t@Min(0)\n\t@IsOptional()\n\t@ApiProperty()\n\tnumberOfPlannedTasks?: number;\n\n\t@ApiProperty()\n\tcreatedAt: Date;\n\n\t@ApiProperty()\n\tupdatedAt: Date;\n\n\t@ApiProperty()\n\thidden: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardManagementConsole.html":{"url":"classes/BoardManagementConsole.html","title":"class - BoardManagementConsole","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardManagementConsole\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/management/console/board-management.console.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n createBoard\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(consoleWriter: ConsoleWriterService, boardManagementUc: BoardManagementUc)\n \n \n \n \n Defined in apps/server/src/modules/management/console/board-management.console.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n consoleWriter\n \n \n ConsoleWriterService\n \n \n \n No\n \n \n \n \n boardManagementUc\n \n \n BoardManagementUc\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n createBoard\n \n \n \n \n \n \n \n createBoard(courseId: string)\n \n \n\n \n \n Decorators : \n \n @Command({command: 'create-board [courseId]', description: 'create a multi-column-board'})\n \n \n\n \n \n Defined in apps/server/src/modules/management/console/board-management.console.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n courseId\n \n string\n \n\n \n No\n \n\n \n ''\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ConsoleWriterService } from '@infra/console';\nimport { ObjectId } from 'bson';\nimport { Command, Console } from 'nestjs-console';\nimport { BoardManagementUc } from '../uc/board-management.uc';\n\n@Console({ command: 'board', description: 'board setup console' })\nexport class BoardManagementConsole {\n\tconstructor(private consoleWriter: ConsoleWriterService, private boardManagementUc: BoardManagementUc) {}\n\n\t@Command({\n\t\tcommand: 'create-board [courseId]',\n\t\tdescription: 'create a multi-column-board',\n\t})\n\tasync createBoard(courseId = ''): Promise {\n\t\tif (!ObjectId.isValid(courseId)) {\n\t\t\tthis.consoleWriter.info('Error: please provide a valid courseId this board should be assigned to.');\n\t\t\treturn;\n\t\t}\n\n\t\tconst boardId = await this.boardManagementUc.createBoard(courseId);\n\t\tif (boardId) {\n\t\t\tthis.consoleWriter.info(`Success: board creation is completed! The new boardId is \"${boardId ?? ''}\"`);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BoardManagementUc.html":{"url":"injectables/BoardManagementUc.html","title":"injectable - BoardManagementUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BoardManagementUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/management/uc/board-management.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createBoard\n \n \n Private\n createCards\n \n \n Private\n createColumns\n \n \n Private\n createElements\n \n \n Private\n Async\n doesCourseExist\n \n \n Private\n generateArray\n \n \n Private\n random\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(consoleWriter: ConsoleWriterService, em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/management/uc/board-management.uc.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n consoleWriter\n \n \n ConsoleWriterService\n \n \n \n No\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createBoard\n \n \n \n \n \n \n \n createBoard(courseId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/management/uc/board-management.uc.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createCards\n \n \n \n \n \n \n \n createCards(amount: number, parent: BoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/management/uc/board-management.uc.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n amount\n \n number\n \n\n \n No\n \n\n\n \n \n parent\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BoardNode[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createColumns\n \n \n \n \n \n \n \n createColumns(amount: number, parent: BoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/management/uc/board-management.uc.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n amount\n \n number\n \n\n \n No\n \n\n\n \n \n parent\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BoardNode[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createElements\n \n \n \n \n \n \n \n createElements(amount: number, parent: BoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/management/uc/board-management.uc.ts:62\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n amount\n \n number\n \n\n \n No\n \n\n\n \n \n parent\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BoardNode[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n doesCourseExist\n \n \n \n \n \n \n \n doesCourseExist(courseId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/management/uc/board-management.uc.ts:81\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n \n ''\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n generateArray\n \n \n \n \n \n \n \n generateArray(length: number, fn: (i: number) => void)\n \n \n\n\n \n \n Defined in apps/server/src/modules/management/uc/board-management.uc.ts:73\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n length\n \n number\n \n\n \n No\n \n\n\n \n \n fn\n \n function\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n random\n \n \n \n \n \n \n \n random(min: number, max: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/management/uc/board-management.uc.ts:77\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n min\n \n number\n \n\n \n No\n \n\n\n \n \n max\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : number\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ConsoleWriterService } from '@infra/console';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { BoardExternalReferenceType } from '@shared/domain/domainobject';\nimport { BoardNode, Course } from '@shared/domain/entity';\nimport { EntityId, InputFormat } from '@shared/domain/types';\nimport {\n\tcardNodeFactory,\n\tcolumnBoardNodeFactory,\n\tcolumnNodeFactory,\n\trichTextElementNodeFactory,\n} from '@shared/testing';\n\n@Injectable()\nexport class BoardManagementUc {\n\tconstructor(private consoleWriter: ConsoleWriterService, private em: EntityManager) {}\n\n\tasync createBoard(courseId: EntityId): Promise {\n\t\tif (!(await this.doesCourseExist(courseId))) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst context = { type: BoardExternalReferenceType.Course, id: courseId };\n\t\tconst board = columnBoardNodeFactory.build({ context });\n\t\tawait this.em.persistAndFlush(board);\n\n\t\tconst columns = this.createColumns(3, board);\n\t\tawait this.em.persistAndFlush(columns);\n\n\t\tconst cardsPerColumn = columns.map((column) => this.createCards(this.random(1, 3), column));\n\t\tconst cards = cardsPerColumn.flat();\n\t\tawait this.em.persistAndFlush(cards);\n\n\t\tconst elementsPerCard = cards.map((card) => this.createElements(1, card));\n\t\tconst elements = elementsPerCard.flat();\n\t\tawait this.em.persistAndFlush(elements);\n\n\t\treturn board.id;\n\t}\n\n\tprivate createColumns(amount: number, parent: BoardNode): BoardNode[] {\n\t\treturn this.generateArray(amount, (i) =>\n\t\t\tcolumnNodeFactory.build({\n\t\t\t\tparent,\n\t\t\t\ttitle: `Column ${i + 1}`,\n\t\t\t\tposition: i,\n\t\t\t})\n\t\t);\n\t}\n\n\tprivate createCards(amount: number, parent: BoardNode): BoardNode[] {\n\t\treturn this.generateArray(amount, (i) =>\n\t\t\tcardNodeFactory.build({\n\t\t\t\tparent,\n\t\t\t\ttitle: `Card ${i + 1}`,\n\t\t\t\theight: this.random(50, 250),\n\t\t\t\tposition: i,\n\t\t\t})\n\t\t);\n\t}\n\n\tprivate createElements(amount: number, parent: BoardNode): BoardNode[] {\n\t\treturn this.generateArray(amount, (i) =>\n\t\t\trichTextElementNodeFactory.build({\n\t\t\t\tparent,\n\t\t\t\ttext: `Text ${i + 1}`,\n\t\t\t\tinputFormat: InputFormat.RICH_TEXT_CK5,\n\t\t\t\tposition: i,\n\t\t\t})\n\t\t);\n\t}\n\n\tprivate generateArray(length: number, fn: (i: number) => T) {\n\t\treturn [...Array(length).keys()].map((_, i) => fn(i));\n\t}\n\n\tprivate random(min: number, max: number): number {\n\t\treturn Math.floor(Math.random() * (max + min - 1) + min);\n\t}\n\n\tprivate async doesCourseExist(courseId: EntityId = ''): Promise {\n\t\ttry {\n\t\t\tawait this.em.findOneOrFail(Course, courseId);\n\t\t\treturn true;\n\t\t} catch (err) {\n\t\t\tthis.consoleWriter.info(`Error: course does not exist (courseId: \"${courseId}\")`);\n\t\t}\n\t\treturn false;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/BoardModule.html":{"url":"modules/BoardModule.html","title":"module - BoardModule","body":"\n \n\n\n\n\n Modules\n BoardModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_BoardModule\n\n\n\ncluster_BoardModule_providers\n\n\n\ncluster_BoardModule_imports\n\n\n\ncluster_BoardModule_exports\n\n\n\n\nConsoleWriterModule\n\nConsoleWriterModule\n\n\n\nBoardModule\n\nBoardModule\n\nBoardModule -->\n\nConsoleWriterModule->BoardModule\n\n\n\n\n\nContextExternalToolModule\n\nContextExternalToolModule\n\nBoardModule -->\n\nContextExternalToolModule->BoardModule\n\n\n\n\n\nFilesStorageClientModule\n\nFilesStorageClientModule\n\nBoardModule -->\n\nFilesStorageClientModule->BoardModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nBoardModule -->\n\nLoggerModule->BoardModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nBoardModule -->\n\nUserModule->BoardModule\n\n\n\n\n\nBoardDoAuthorizableService \n\nBoardDoAuthorizableService \n\nBoardDoAuthorizableService -->\n\nBoardModule->BoardDoAuthorizableService \n\n\n\n\n\nCardService \n\nCardService \n\nCardService -->\n\nBoardModule->CardService \n\n\n\n\n\nColumnBoardCopyService \n\nColumnBoardCopyService \n\nColumnBoardCopyService -->\n\nBoardModule->ColumnBoardCopyService \n\n\n\n\n\nColumnBoardService \n\nColumnBoardService \n\nColumnBoardService -->\n\nBoardModule->ColumnBoardService \n\n\n\n\n\nColumnService \n\nColumnService \n\nColumnService -->\n\nBoardModule->ColumnService \n\n\n\n\n\nContentElementService \n\nContentElementService \n\nContentElementService -->\n\nBoardModule->ContentElementService \n\n\n\n\n\nSubmissionItemService \n\nSubmissionItemService \n\nSubmissionItemService -->\n\nBoardModule->SubmissionItemService \n\n\n\n\n\nBoardDoAuthorizableService\n\nBoardDoAuthorizableService\n\nBoardModule -->\n\nBoardDoAuthorizableService->BoardModule\n\n\n\n\n\nBoardDoCopyService\n\nBoardDoCopyService\n\nBoardModule -->\n\nBoardDoCopyService->BoardModule\n\n\n\n\n\nBoardDoRepo\n\nBoardDoRepo\n\nBoardModule -->\n\nBoardDoRepo->BoardModule\n\n\n\n\n\nBoardDoService\n\nBoardDoService\n\nBoardModule -->\n\nBoardDoService->BoardModule\n\n\n\n\n\nBoardNodeRepo\n\nBoardNodeRepo\n\nBoardModule -->\n\nBoardNodeRepo->BoardModule\n\n\n\n\n\nCardService\n\nCardService\n\nBoardModule -->\n\nCardService->BoardModule\n\n\n\n\n\nColumnBoardCopyService\n\nColumnBoardCopyService\n\nBoardModule -->\n\nColumnBoardCopyService->BoardModule\n\n\n\n\n\nColumnBoardService\n\nColumnBoardService\n\nBoardModule -->\n\nColumnBoardService->BoardModule\n\n\n\n\n\nColumnService\n\nColumnService\n\nBoardModule -->\n\nColumnService->BoardModule\n\n\n\n\n\nContentElementFactory\n\nContentElementFactory\n\nBoardModule -->\n\nContentElementFactory->BoardModule\n\n\n\n\n\nContentElementService\n\nContentElementService\n\nBoardModule -->\n\nContentElementService->BoardModule\n\n\n\n\n\nCourseRepo\n\nCourseRepo\n\nBoardModule -->\n\nCourseRepo->BoardModule\n\n\n\n\n\nDrawingElementAdapterService\n\nDrawingElementAdapterService\n\nBoardModule -->\n\nDrawingElementAdapterService->BoardModule\n\n\n\n\n\nRecursiveDeleteVisitor\n\nRecursiveDeleteVisitor\n\nBoardModule -->\n\nRecursiveDeleteVisitor->BoardModule\n\n\n\n\n\nSchoolSpecificFileCopyServiceFactory\n\nSchoolSpecificFileCopyServiceFactory\n\nBoardModule -->\n\nSchoolSpecificFileCopyServiceFactory->BoardModule\n\n\n\n\n\nSubmissionItemService\n\nSubmissionItemService\n\nBoardModule -->\n\nSubmissionItemService->BoardModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/board/board.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n BoardDoAuthorizableService\n \n \n BoardDoCopyService\n \n \n BoardDoRepo\n \n \n BoardDoService\n \n \n BoardNodeRepo\n \n \n CardService\n \n \n ColumnBoardCopyService\n \n \n ColumnBoardService\n \n \n ColumnService\n \n \n ContentElementFactory\n \n \n ContentElementService\n \n \n CourseRepo\n \n \n DrawingElementAdapterService\n \n \n RecursiveDeleteVisitor\n \n \n SchoolSpecificFileCopyServiceFactory\n \n \n SubmissionItemService\n \n \n \n \n Imports\n \n \n ConsoleWriterModule\n \n \n ContextExternalToolModule\n \n \n FilesStorageClientModule\n \n \n LoggerModule\n \n \n UserModule\n \n \n \n \n Exports\n \n \n BoardDoAuthorizableService\n \n \n CardService\n \n \n ColumnBoardCopyService\n \n \n ColumnBoardService\n \n \n ColumnService\n \n \n ContentElementService\n \n \n SubmissionItemService\n \n \n \n \n \n\n\n \n\n\n \n import { ConsoleWriterModule } from '@infra/console';\nimport { FilesStorageClientModule } from '@modules/files-storage-client';\nimport { ContextExternalToolModule } from '@modules/tool/context-external-tool';\nimport { UserModule } from '@modules/user';\nimport { Module } from '@nestjs/common';\nimport { ContentElementFactory } from '@shared/domain/domainobject';\nimport { CourseRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { DrawingElementAdapterService } from '@modules/tldraw-client/service/drawing-element-adapter.service';\nimport { HttpModule } from '@nestjs/axios';\nimport { BoardDoRepo, BoardNodeRepo, RecursiveDeleteVisitor } from './repo';\nimport {\n\tBoardDoAuthorizableService,\n\tBoardDoService,\n\tCardService,\n\tColumnBoardService,\n\tColumnService,\n\tContentElementService,\n\tSubmissionItemService,\n} from './service';\nimport { BoardDoCopyService, SchoolSpecificFileCopyServiceFactory } from './service/board-do-copy-service';\nimport { ColumnBoardCopyService } from './service/column-board-copy.service';\n\n@Module({\n\timports: [\n\t\tConsoleWriterModule,\n\t\tFilesStorageClientModule,\n\t\tLoggerModule,\n\t\tUserModule,\n\t\tContextExternalToolModule,\n\t\tHttpModule,\n\t],\n\tproviders: [\n\t\tBoardDoAuthorizableService,\n\t\tBoardDoRepo,\n\t\tBoardDoService,\n\t\tBoardNodeRepo,\n\t\tCardService,\n\t\tColumnBoardService,\n\t\tColumnService,\n\t\tContentElementService,\n\t\tContentElementFactory,\n\t\tCourseRepo, // TODO: import learnroom module instead. This is currently not possible due to dependency cycle with authorisation service\n\t\tRecursiveDeleteVisitor,\n\t\tSubmissionItemService,\n\t\tBoardDoCopyService,\n\t\tColumnBoardCopyService,\n\t\tSchoolSpecificFileCopyServiceFactory,\n\t\tDrawingElementAdapterService,\n\t],\n\texports: [\n\t\tBoardDoAuthorizableService,\n\t\tCardService,\n\t\tColumnBoardService,\n\t\tColumnService,\n\t\tContentElementService,\n\t\tSubmissionItemService,\n\t\tColumnBoardCopyService,\n\t],\n})\nexport class BoardModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/BoardNode.html":{"url":"entities/BoardNode.html","title":"entity - BoardNode","body":"\n \n\n\n\n\n\n\n\n Entities\n BoardNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n level\n \n \n \n \n path\n \n \n \n position\n \n \n \n Optional\n title\n \n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n level\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n path\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Index()@Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n position\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : BoardNodeType\n\n \n \n \n \n Decorators : \n \n \n @Index()@Enum(undefined)\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts:39\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { AnyBoardDo } from '../../domainobject';\nimport { EntityId } from '../../types';\nimport { BaseEntityWithTimestamps } from '../base.entity';\nimport { BoardDoBuilder } from './types';\nimport { BoardNodeType } from './types/board-node-type';\n\nconst PATH_SEPARATOR = ',';\n\n@Entity({ tableName: 'boardnodes', discriminatorColumn: 'type' })\nexport abstract class BoardNode extends BaseEntityWithTimestamps {\n\tconstructor(props: BoardNodeProps) {\n\t\tsuper();\n\t\tif (props.parent && props.parent.id == null) {\n\t\t\tthrow new InternalServerErrorException('Cannot create board node with a parent having no id');\n\t\t}\n\t\tif (props.id != null) {\n\t\t\tthis.id = props.id;\n\t\t}\n\t\tthis.path = props.parent ? BoardNode.joinPath(props.parent.path, props.parent.id) : PATH_SEPARATOR;\n\t\tthis.level = props.parent ? props.parent.level + 1 : 0;\n\t\tthis.position = props.position ?? 0;\n\t\tthis.title = props.title;\n\t}\n\n\t@Index()\n\t@Property({ nullable: false })\n\tpath: string;\n\n\t@Property({ nullable: false })\n\tlevel: number;\n\n\t@Property({ nullable: false })\n\tposition: number;\n\n\t@Index()\n\t@Enum(() => BoardNodeType)\n\ttype!: BoardNodeType;\n\n\t@Property({ nullable: true })\n\ttitle?: string;\n\n\tget parentId(): EntityId | undefined {\n\t\tconst parentId = this.hasParent() ? this.ancestorIds[this.ancestorIds.length - 1] : undefined;\n\t\treturn parentId;\n\t}\n\n\tget ancestorIds(): EntityId[] {\n\t\tconst parentIds = this.path.split(PATH_SEPARATOR).filter((id) => id !== '');\n\t\treturn parentIds;\n\t}\n\n\tget pathOfChildren(): string {\n\t\treturn BoardNode.joinPath(this.path, this.id);\n\t}\n\n\thasParent() {\n\t\treturn this.ancestorIds.length > 0;\n\t}\n\n\tabstract useDoBuilder(builder: BoardDoBuilder): AnyBoardDo;\n\n\tstatic joinPath(path: string, id: EntityId) {\n\t\treturn `${path}${id}${PATH_SEPARATOR}`;\n\t}\n}\n\nexport interface BoardNodeProps {\n\tid?: EntityId;\n\tparent?: BoardNode;\n\tposition?: number;\n\ttitle?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/BoardNodeProps.html":{"url":"interfaces/BoardNodeProps.html","title":"interface - BoardNodeProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n BoardNodeProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/boardnode.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n id\n \n \n \n Optional\n \n parent\n \n \n \n Optional\n \n position\n \n \n \n Optional\n \n title\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n parent\n \n \n \n \n \n \n \n \n parent: BoardNode\n\n \n \n\n\n \n \n Type : BoardNode\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n position\n \n \n \n \n \n \n \n \n position: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { AnyBoardDo } from '../../domainobject';\nimport { EntityId } from '../../types';\nimport { BaseEntityWithTimestamps } from '../base.entity';\nimport { BoardDoBuilder } from './types';\nimport { BoardNodeType } from './types/board-node-type';\n\nconst PATH_SEPARATOR = ',';\n\n@Entity({ tableName: 'boardnodes', discriminatorColumn: 'type' })\nexport abstract class BoardNode extends BaseEntityWithTimestamps {\n\tconstructor(props: BoardNodeProps) {\n\t\tsuper();\n\t\tif (props.parent && props.parent.id == null) {\n\t\t\tthrow new InternalServerErrorException('Cannot create board node with a parent having no id');\n\t\t}\n\t\tif (props.id != null) {\n\t\t\tthis.id = props.id;\n\t\t}\n\t\tthis.path = props.parent ? BoardNode.joinPath(props.parent.path, props.parent.id) : PATH_SEPARATOR;\n\t\tthis.level = props.parent ? props.parent.level + 1 : 0;\n\t\tthis.position = props.position ?? 0;\n\t\tthis.title = props.title;\n\t}\n\n\t@Index()\n\t@Property({ nullable: false })\n\tpath: string;\n\n\t@Property({ nullable: false })\n\tlevel: number;\n\n\t@Property({ nullable: false })\n\tposition: number;\n\n\t@Index()\n\t@Enum(() => BoardNodeType)\n\ttype!: BoardNodeType;\n\n\t@Property({ nullable: true })\n\ttitle?: string;\n\n\tget parentId(): EntityId | undefined {\n\t\tconst parentId = this.hasParent() ? this.ancestorIds[this.ancestorIds.length - 1] : undefined;\n\t\treturn parentId;\n\t}\n\n\tget ancestorIds(): EntityId[] {\n\t\tconst parentIds = this.path.split(PATH_SEPARATOR).filter((id) => id !== '');\n\t\treturn parentIds;\n\t}\n\n\tget pathOfChildren(): string {\n\t\treturn BoardNode.joinPath(this.path, this.id);\n\t}\n\n\thasParent() {\n\t\treturn this.ancestorIds.length > 0;\n\t}\n\n\tabstract useDoBuilder(builder: BoardDoBuilder): AnyBoardDo;\n\n\tstatic joinPath(path: string, id: EntityId) {\n\t\treturn `${path}${id}${PATH_SEPARATOR}`;\n\t}\n}\n\nexport interface BoardNodeProps {\n\tid?: EntityId;\n\tparent?: BoardNode;\n\tposition?: number;\n\ttitle?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BoardNodeRepo.html":{"url":"injectables/BoardNodeRepo.html","title":"injectable - BoardNodeRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BoardNodeRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/repo/board-node.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findById\n \n \n Async\n findDescendants\n \n \n Async\n findDescendantsOfMany\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/board/repo/board-node.repo.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-node.repo.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findDescendants\n \n \n \n \n \n \n \n findDescendants(node: BoardNode, depth?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-node.repo.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n node\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n depth\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findDescendantsOfMany\n \n \n \n \n \n \n \n findDescendantsOfMany(nodes: BoardNode[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/board-node.repo.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n nodes\n \n BoardNode[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { BoardNode } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\n\n@Injectable()\nexport class BoardNodeRepo {\n\tconstructor(private readonly em: EntityManager) {}\n\n\tasync findById(id: EntityId): Promise {\n\t\tlet entity = this.em.getUnitOfWork().getById(BoardNode.name, id);\n\t\tif (entity) {\n\t\t\treturn entity;\n\t\t}\n\n\t\tentity = await this.em.findOneOrFail(BoardNode, id);\n\t\treturn entity;\n\t}\n\n\tasync findDescendants(node: BoardNode, depth?: number): Promise {\n\t\tconst levelQuery = depth !== undefined ? { $gt: node.level, $lte: node.level + depth } : { $gt: node.level };\n\n\t\tconst descendants = await this.em.find(BoardNode, {\n\t\t\tpath: { $re: `^${node.pathOfChildren}` },\n\t\t\tlevel: levelQuery,\n\t\t});\n\n\t\treturn descendants;\n\t}\n\n\tasync findDescendantsOfMany(nodes: BoardNode[]): Promise> {\n\t\tconst pathQueries = nodes.map((node) => {\n\t\t\treturn { path: { $re: `^${node.pathOfChildren}` } };\n\t\t});\n\n\t\tconst map: Record = {};\n\t\tif (pathQueries.length === 0) {\n\t\t\treturn map;\n\t\t}\n\n\t\tconst descendants = await this.em.find(BoardNode, {\n\t\t\t$or: pathQueries,\n\t\t});\n\n\t\t// this is for finding tha ancestors of a descendant\n\t\t// we use this to group the descendants by ancestor\n\t\t// TODO we probably need a more efficient way to do the grouping\n\t\tconst matchAncestors = (descendant: BoardNode): BoardNode[] => {\n\t\t\tconst result = nodes.filter((n) => descendant.path.match(`^${n.pathOfChildren}`));\n\t\t\treturn result;\n\t\t};\n\n\t\tfor (const desc of descendants) {\n\t\t\tconst ancestorNodes = matchAncestors(desc);\n\t\t\tancestorNodes.forEach((node) => {\n\t\t\t\tmap[node.pathOfChildren] ||= [];\n\t\t\t\tmap[node.pathOfChildren].push(desc);\n\t\t\t});\n\t\t}\n\t\treturn map;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BoardRepo.html":{"url":"injectables/BoardRepo.html","title":"injectable - BoardRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BoardRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/board/board.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n createBoardForCourse\n \n \n Async\n findByCourseId\n \n \n Async\n findById\n \n \n Private\n Async\n getOrCreateCourseBoard\n \n \n Private\n Async\n populateBoard\n \n \n create\n \n \n Async\n delete\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n createBoardForCourse\n \n \n \n \n \n \n \n createBoardForCourse(courseId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/board/board.repo.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByCourseId\n \n \n \n \n \n \n \n findByCourseId(courseId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/board/board.repo.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:33\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getOrCreateCourseBoard\n \n \n \n \n \n \n \n getOrCreateCourseBoard(courseId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/board/board.repo.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n populateBoard\n \n \n \n \n \n \n \n populateBoard(board: Board)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/board/board.repo.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n board\n \n Board\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/board/board.repo.ts:8\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Board, ColumnboardBoardElement, Course, LessonBoardElement, TaskBoardElement } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '../base.repo';\n\n@Injectable()\nexport class BoardRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn Board;\n\t}\n\n\tasync findByCourseId(courseId: EntityId): Promise {\n\t\tconst board = await this.getOrCreateCourseBoard(courseId);\n\t\tawait this.populateBoard(board);\n\t\treturn board;\n\t}\n\n\tprivate async getOrCreateCourseBoard(courseId: EntityId): Promise {\n\t\tlet board = await this._em.findOne(Board, { course: courseId });\n\t\tif (!board) {\n\t\t\tboard = await this.createBoardForCourse(courseId);\n\t\t}\n\t\treturn board;\n\t}\n\n\tprivate async createBoardForCourse(courseId: EntityId): Promise {\n\t\tconst course = await this._em.findOneOrFail(Course, courseId);\n\t\tconst board = new Board({ course, references: [] });\n\t\tawait this._em.persistAndFlush(board);\n\t\treturn board;\n\t}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst board = await this._em.findOneOrFail(Board, { id });\n\t\tawait this.populateBoard(board);\n\t\treturn board;\n\t}\n\n\tprivate async populateBoard(board: Board) {\n\t\tawait board.references.init();\n\t\tconst elements = board.references.getItems();\n\t\tconst taskElements = elements.filter((el) => el instanceof TaskBoardElement);\n\t\tawait this._em.populate(taskElements, ['target']);\n\t\tconst lessonElements = elements.filter((el) => el instanceof LessonBoardElement);\n\t\tawait this._em.populate(lessonElements, ['target']);\n\t\tconst columnBoardElements = elements.filter((el) => el instanceof ColumnboardBoardElement);\n\t\tawait this._em.populate(columnBoardElements, ['target']);\n\t\treturn board;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardResponse.html":{"url":"classes/BoardResponse.html","title":"class - BoardResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/board/board.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n columns\n \n \n \n id\n \n \n \n timestamps\n \n \n \n \n Optional\n title\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: BoardResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/board.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n BoardResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n columns\n \n \n \n \n \n \n Type : ColumnResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/board.response.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/board.response.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n timestamps\n \n \n \n \n \n \n Type : TimestampsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/board.response.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/board.response.ts:21\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\nimport { ColumnResponse } from './column.response';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class BoardResponse {\n\tconstructor({ id, title, columns, timestamps }: BoardResponse) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.columns = columns;\n\t\tthis.timestamps = timestamps;\n\t}\n\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\ttitle?: string;\n\n\t@ApiProperty({\n\t\ttype: [ColumnResponse],\n\t})\n\tcolumns: ColumnResponse[];\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardResponseMapper.html":{"url":"classes/BoardResponseMapper.html","title":"class - BoardResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/board-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(board: ColumnBoard)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/board-response.mapper.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n board\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BoardResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpException, HttpStatus } from '@nestjs/common';\nimport { Column, ColumnBoard } from '@shared/domain/domainobject';\nimport { BoardResponse, TimestampsResponse } from '../dto';\nimport { ColumnResponseMapper } from './column-response.mapper';\n\nexport class BoardResponseMapper {\n\tstatic mapToResponse(board: ColumnBoard): BoardResponse {\n\t\tconst result = new BoardResponse({\n\t\t\tid: board.id,\n\t\t\ttitle: board.title,\n\t\t\tcolumns: board.children.map((column) => {\n\t\t\t\t/* istanbul ignore next */\n\t\t\t\tif (!(column instanceof Column)) {\n\t\t\t\t\tthrow new HttpException(\n\t\t\t\t\t\t`unsupported child type: ${column.constructor.name}`,\n\t\t\t\t\t\tHttpStatus.UNPROCESSABLE_ENTITY\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn ColumnResponseMapper.mapToResponse(column);\n\t\t\t}),\n\t\t\ttimestamps: new TimestampsResponse({ lastUpdatedAt: board.updatedAt, createdAt: board.createdAt }),\n\t\t});\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/BoardSubmissionController.html":{"url":"controllers/BoardSubmissionController.html","title":"controller - BoardSubmissionController","body":"\n \n\n\n\n\n\n\n Controllers\n BoardSubmissionController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/board-submission.controller.ts\n \n\n \n Prefix\n \n \n board-submissions\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createElement\n \n \n \n \n \n \n \n Async\n getSubmissionItems\n \n \n \n \n \n \n \n \n \n Async\n updateSubmissionItem\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createElement\n \n \n \n \n \n \n \n createElement(urlParams: SubmissionItemUrlParams, bodyParams: CreateContentElementBodyParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Create a new element in a submission item.'})@ApiExtraModels(RichTextElementResponse, FileElementResponse)@ApiResponse({status: 201, schema: undefined})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@Post(':submissionItemId/elements')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/board-submission.controller.ts:89\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n SubmissionItemUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n CreateContentElementBodyParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getSubmissionItems\n \n \n \n \n \n \n \n getSubmissionItems(currentUser: ICurrentUser, urlParams: SubmissionContainerUrlParams)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Get a list of submission items by their parent container.'})@ApiResponse({status: 200, type: SubmissionsResponse})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@Get(':submissionContainerId')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/board-submission.controller.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n urlParams\n \n SubmissionContainerUrlParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateSubmissionItem\n \n \n \n \n \n \n \n updateSubmissionItem(currentUser: ICurrentUser, urlParams: SubmissionItemUrlParams, bodyParams: UpdateSubmissionItemBodyParams)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Update a single submission item.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Patch(':submissionItemId')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/board-submission.controller.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n urlParams\n \n SubmissionItemUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n UpdateSubmissionItemBodyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport {\n\tBody,\n\tController,\n\tForbiddenException,\n\tGet,\n\tHttpCode,\n\tNotFoundException,\n\tParam,\n\tPatch,\n\tPost,\n} from '@nestjs/common';\nimport { ApiExtraModels, ApiOperation, ApiResponse, ApiTags, getSchemaPath } from '@nestjs/swagger';\nimport { ApiValidationError } from '@shared/common';\nimport { CardUc } from '../uc';\nimport { ElementUc } from '../uc/element.uc';\nimport { SubmissionItemUc } from '../uc/submission-item.uc';\nimport {\n\tCreateContentElementBodyParams,\n\tFileElementResponse,\n\tRichTextElementResponse,\n\tSubmissionContainerUrlParams,\n\tSubmissionItemUrlParams,\n\tUpdateSubmissionItemBodyParams,\n} from './dto';\nimport { SubmissionsResponse } from './dto/submission-item/submissions.response';\nimport { ContentElementResponseFactory, SubmissionItemResponseMapper } from './mapper';\n\n@ApiTags('Board Submission')\n@Authenticate('jwt')\n@Controller('board-submissions')\nexport class BoardSubmissionController {\n\tconstructor(\n\t\tprivate readonly cardUc: CardUc,\n\t\tprivate readonly elementUc: ElementUc,\n\t\tprivate readonly submissionItemUc: SubmissionItemUc\n\t) {}\n\n\t@ApiOperation({ summary: 'Get a list of submission items by their parent container.' })\n\t@ApiResponse({ status: 200, type: SubmissionsResponse })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@Get(':submissionContainerId')\n\tasync getSubmissionItems(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() urlParams: SubmissionContainerUrlParams\n\t): Promise {\n\t\tconst { submissionItems, users } = await this.submissionItemUc.findSubmissionItems(\n\t\t\tcurrentUser.userId,\n\t\t\turlParams.submissionContainerId\n\t\t);\n\t\tconst mapper = SubmissionItemResponseMapper.getInstance();\n\t\tconst response = mapper.mapToResponse(submissionItems, users);\n\n\t\treturn response;\n\t}\n\n\t@ApiOperation({ summary: 'Update a single submission item.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Patch(':submissionItemId')\n\tasync updateSubmissionItem(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() urlParams: SubmissionItemUrlParams,\n\t\t@Body() bodyParams: UpdateSubmissionItemBodyParams\n\t) {\n\t\tawait this.submissionItemUc.updateSubmissionItem(\n\t\t\tcurrentUser.userId,\n\t\t\turlParams.submissionItemId,\n\t\t\tbodyParams.completed\n\t\t);\n\t}\n\n\t@ApiOperation({ summary: 'Create a new element in a submission item.' })\n\t@ApiExtraModels(RichTextElementResponse, FileElementResponse)\n\t@ApiResponse({\n\t\tstatus: 201,\n\t\tschema: {\n\t\t\toneOf: [{ $ref: getSchemaPath(RichTextElementResponse) }, { $ref: getSchemaPath(FileElementResponse) }],\n\t\t},\n\t})\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@Post(':submissionItemId/elements')\n\tasync createElement(\n\t\t@Param() urlParams: SubmissionItemUrlParams,\n\t\t@Body() bodyParams: CreateContentElementBodyParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst { type } = bodyParams;\n\t\tconst element = await this.submissionItemUc.createElement(currentUser.userId, urlParams.submissionItemId, type);\n\t\tconst response = ContentElementResponseFactory.mapSubmissionContentToResponse(element);\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardTaskResponse.html":{"url":"classes/BoardTaskResponse.html","title":"class - BoardTaskResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardTaskResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n availableDate\n \n \n \n \n Optional\n courseName\n \n \n \n createdAt\n \n \n \n \n Optional\n description\n \n \n \n Optional\n displayColor\n \n \n \n Optional\n dueDate\n \n \n \n id\n \n \n \n \n name\n \n \n \n status\n \n \n \n updatedAt\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: BoardTaskResponse)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n BoardTaskResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n availableDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n courseName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n displayColor\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n dueDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : BoardTaskStatusResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts:45\n \n \n\n\n \n \n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task.response.ts:42\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\nimport { BoardTaskStatusResponse } from './board-task-status.response';\n\nexport class BoardTaskResponse {\n\tconstructor({ id, name, createdAt, updatedAt, status }: BoardTaskResponse) {\n\t\tthis.id = id;\n\t\tthis.name = name;\n\t\tthis.createdAt = createdAt;\n\t\tthis.updatedAt = updatedAt;\n\t\tthis.status = status;\n\t}\n\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tname: string;\n\n\t@ApiPropertyOptional()\n\tavailableDate?: Date;\n\n\t@ApiPropertyOptional()\n\tdueDate?: Date;\n\n\t@ApiPropertyOptional()\n\t@DecodeHtmlEntities()\n\tcourseName?: string;\n\n\t@ApiPropertyOptional()\n\t@DecodeHtmlEntities()\n\tdescription?: string;\n\n\t@ApiPropertyOptional()\n\tdisplayColor?: string;\n\n\t@ApiProperty()\n\tcreatedAt: Date;\n\n\t@ApiProperty()\n\tupdatedAt: Date;\n\n\t@ApiProperty()\n\tstatus: BoardTaskStatusResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardTaskStatusMapper.html":{"url":"classes/BoardTaskStatusMapper.html","title":"class - BoardTaskStatusMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardTaskStatusMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/mapper/board-taskStatus.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(status: TaskStatus)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/mapper/board-taskStatus.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n status\n \n TaskStatus\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BoardTaskStatusResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { TaskStatus } from '@shared/domain/types';\nimport { BoardTaskStatusResponse } from '../controller/dto';\n\nexport class BoardTaskStatusMapper {\n\tstatic mapToResponse(status: TaskStatus): BoardTaskStatusResponse {\n\t\tconst dto = new BoardTaskStatusResponse(status);\n\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardTaskStatusResponse.html":{"url":"classes/BoardTaskStatusResponse.html","title":"class - BoardTaskStatusResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardTaskStatusResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task-status.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n graded\n \n \n \n isDraft\n \n \n \n isFinished\n \n \n \n isSubstitutionTeacher\n \n \n \n maxSubmissions\n \n \n \n submitted\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: BoardTaskStatusResponse)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task-status.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n BoardTaskStatusResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n graded\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task-status.response.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n isDraft\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task-status.response.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n isFinished\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task-status.response.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n isSubstitutionTeacher\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task-status.response.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n maxSubmissions\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task-status.response.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n submitted\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board-task-status.response.ts:21\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class BoardTaskStatusResponse {\n\tconstructor({\n\t\tsubmitted,\n\t\tmaxSubmissions,\n\t\tgraded,\n\t\tisDraft,\n\t\tisSubstitutionTeacher,\n\t\tisFinished,\n\t}: BoardTaskStatusResponse) {\n\t\tthis.submitted = submitted;\n\t\tthis.maxSubmissions = maxSubmissions;\n\t\tthis.graded = graded;\n\t\tthis.isDraft = isDraft;\n\t\tthis.isSubstitutionTeacher = isSubstitutionTeacher;\n\t\tthis.isFinished = isFinished;\n\t}\n\n\t@ApiProperty()\n\tsubmitted: number;\n\n\t@ApiProperty()\n\tmaxSubmissions: number;\n\n\t@ApiProperty()\n\tgraded: number;\n\n\t@ApiProperty()\n\tisDraft: boolean;\n\n\t@ApiProperty()\n\tisSubstitutionTeacher: boolean;\n\n\t@ApiProperty()\n\tisFinished: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BoardUc.html":{"url":"injectables/BoardUc.html","title":"injectable - BoardUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BoardUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/uc/board.uc.ts\n \n\n\n\n \n Extends\n \n \n BaseUc\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createColumn\n \n \n Async\n deleteBoard\n \n \n Async\n findBoard\n \n \n Async\n findBoardContext\n \n \n Async\n moveColumn\n \n \n Async\n updateBoardTitle\n \n \n Protected\n Async\n checkPermission\n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationService: AuthorizationService, boardDoAuthorizableService: BoardDoAuthorizableService, cardService: CardService, columnBoardService: ColumnBoardService, columnService: ColumnService, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/board/uc/board.uc.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n boardDoAuthorizableService\n \n \n BoardDoAuthorizableService\n \n \n \n No\n \n \n \n \n cardService\n \n \n CardService\n \n \n \n No\n \n \n \n \n columnBoardService\n \n \n ColumnBoardService\n \n \n \n No\n \n \n \n \n columnService\n \n \n ColumnService\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createColumn\n \n \n \n \n \n \n \n createColumn(userId: EntityId, boardId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/board.uc.ts:62\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteBoard\n \n \n \n \n \n \n \n deleteBoard(userId: EntityId, boardId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/board.uc.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findBoard\n \n \n \n \n \n \n \n findBoard(userId: EntityId, boardId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/board.uc.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findBoardContext\n \n \n \n \n \n \n \n findBoardContext(userId: EntityId, boardId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/board.uc.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n moveColumn\n \n \n \n \n \n \n \n moveColumn(userId: EntityId, columnId: EntityId, targetBoardId: EntityId, targetPosition: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/board.uc.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n columnId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetBoardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetPosition\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateBoardTitle\n \n \n \n \n \n \n \n updateBoardTitle(userId: EntityId, boardId: EntityId, title: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/board.uc.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n title\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n checkPermission\n \n \n \n \n \n \n \n checkPermission(userId: EntityId, anyBoardDo: AnyBoardDo, action: Action, requiredUserRole?: UserRoleEnum)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:13\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n anyBoardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n requiredUserRole\n \n UserRoleEnum\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n \n \n \n \n \n checkSubmissionItemWritePermission(userId: EntityId, submissionItem: SubmissionItem)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:45\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n submissionItem\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n \n \n \n isAuthorizedStudent(userId: EntityId, boardDo: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:29\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Action } from '@modules/authorization';\nimport { AuthorizationService } from '@modules/authorization/domain';\nimport { forwardRef, Inject, Injectable } from '@nestjs/common';\nimport { BoardExternalReference, Column, ColumnBoard } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacyLogger } from '@src/core/logger';\nimport { CardService, ColumnBoardService, ColumnService } from '../service';\nimport { BoardDoAuthorizableService } from '../service/board-do-authorizable.service';\nimport { BaseUc } from './base.uc';\n\n@Injectable()\nexport class BoardUc extends BaseUc {\n\tconstructor(\n\t\t@Inject(forwardRef(() => AuthorizationService))\n\t\tprotected readonly authorizationService: AuthorizationService,\n\t\tprotected readonly boardDoAuthorizableService: BoardDoAuthorizableService,\n\t\tprivate readonly cardService: CardService,\n\t\tprivate readonly columnBoardService: ColumnBoardService,\n\t\tprivate readonly columnService: ColumnService,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tsuper(authorizationService, boardDoAuthorizableService);\n\t\tthis.logger.setContext(BoardUc.name);\n\t}\n\n\tasync findBoard(userId: EntityId, boardId: EntityId): Promise {\n\t\tthis.logger.debug({ action: 'findBoard', userId, boardId });\n\n\t\tconst board = await this.columnBoardService.findById(boardId);\n\t\tawait this.checkPermission(userId, board, Action.read);\n\n\t\treturn board;\n\t}\n\n\tasync findBoardContext(userId: EntityId, boardId: EntityId): Promise {\n\t\tthis.logger.debug({ action: 'findBoardContext', userId, boardId });\n\n\t\tconst board = await this.columnBoardService.findById(boardId);\n\t\tawait this.checkPermission(userId, board, Action.read);\n\n\t\treturn board.context;\n\t}\n\n\tasync deleteBoard(userId: EntityId, boardId: EntityId): Promise {\n\t\tthis.logger.debug({ action: 'deleteBoard', userId, boardId });\n\n\t\tconst board = await this.columnBoardService.findById(boardId);\n\t\tawait this.checkPermission(userId, board, Action.write);\n\n\t\tawait this.columnBoardService.delete(board);\n\t}\n\n\tasync updateBoardTitle(userId: EntityId, boardId: EntityId, title: string): Promise {\n\t\tthis.logger.debug({ action: 'updateBoardTitle', userId, boardId, title });\n\n\t\tconst board = await this.columnBoardService.findById(boardId);\n\t\tawait this.checkPermission(userId, board, Action.write);\n\n\t\tawait this.columnBoardService.updateTitle(board, title);\n\t}\n\n\tasync createColumn(userId: EntityId, boardId: EntityId): Promise {\n\t\tthis.logger.debug({ action: 'createColumn', userId, boardId });\n\n\t\tconst board = await this.columnBoardService.findById(boardId);\n\t\tawait this.checkPermission(userId, board, Action.write);\n\n\t\tconst column = await this.columnService.create(board);\n\t\treturn column;\n\t}\n\n\tasync moveColumn(\n\t\tuserId: EntityId,\n\t\tcolumnId: EntityId,\n\t\ttargetBoardId: EntityId,\n\t\ttargetPosition: number\n\t): Promise {\n\t\tthis.logger.debug({ action: 'moveColumn', userId, columnId, targetBoardId, targetPosition });\n\n\t\tconst column = await this.columnService.findById(columnId);\n\t\tconst targetBoard = await this.columnBoardService.findById(targetBoardId);\n\n\t\tawait this.checkPermission(userId, column, Action.write);\n\t\tawait this.checkPermission(userId, targetBoard, Action.write);\n\n\t\tawait this.columnService.move(column, targetBoard, targetPosition);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BoardUrlHandler.html":{"url":"injectables/BoardUrlHandler.html","title":"injectable - BoardUrlHandler","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BoardUrlHandler\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/service/url-handler/board-url-handler.ts\n \n\n\n\n \n Extends\n \n \n AbstractUrlHandler\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n patterns\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getMetaData\n \n \n doesUrlMatch\n \n \n Protected\n extractId\n \n \n getDefaultMetaData\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(columnBoardService: ColumnBoardService, courseService: CourseService)\n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/board-url-handler.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n columnBoardService\n \n \n ColumnBoardService\n \n \n \n No\n \n \n \n \n courseService\n \n \n CourseService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getMetaData\n \n \n \n \n \n \n \n getMetaData(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/board-url-handler.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n doesUrlMatch\n \n \n \n \n \n \ndoesUrlMatch(url: string)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n extractId\n \n \n \n \n \n \n \n extractId(url: string)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getDefaultMetaData\n \n \n \n \n \n \ngetDefaultMetaData(url: string, partial: Partial)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n partial\n \n Partial\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : MetaData\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n patterns\n \n \n \n \n \n \n Type : RegExp[]\n\n \n \n \n \n Default value : [/\\/rooms\\/(.*?)\\/board\\/?$/i]\n \n \n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:11\n\n \n \n\n\n \n \n\n\n \n\n\n \n import { ColumnBoardService } from '@modules/board';\nimport { CourseService } from '@modules/learnroom';\nimport { Injectable } from '@nestjs/common';\nimport { BoardExternalReferenceType } from '@shared/domain/domainobject';\nimport type { UrlHandler } from '../../interface/url-handler';\nimport { MetaData } from '../../types';\nimport { AbstractUrlHandler } from './abstract-url-handler';\n\n@Injectable()\nexport class BoardUrlHandler extends AbstractUrlHandler implements UrlHandler {\n\tpatterns: RegExp[] = [/\\/rooms\\/(.*?)\\/board\\/?$/i];\n\n\tconstructor(private readonly columnBoardService: ColumnBoardService, private readonly courseService: CourseService) {\n\t\tsuper();\n\t}\n\n\tasync getMetaData(url: string): Promise {\n\t\tconst id = this.extractId(url);\n\t\tif (id === undefined) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst metaData = this.getDefaultMetaData(url, { type: 'board' });\n\n\t\tconst columnBoard = await this.columnBoardService.findById(id);\n\t\tif (columnBoard) {\n\t\t\tmetaData.title = columnBoard.title;\n\t\t\tif (columnBoard.context.type === BoardExternalReferenceType.Course) {\n\t\t\t\tconst course = await this.courseService.findById(columnBoard.context.id);\n\t\t\t\tmetaData.parentType = 'course';\n\t\t\t\tmetaData.parentTitle = course.name;\n\t\t\t}\n\t\t}\n\n\t\treturn metaData;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BoardUrlParams.html":{"url":"classes/BoardUrlParams.html","title":"class - BoardUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BoardUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/board/board.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n boardId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n boardId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the board.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/board.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class BoardUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the board.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tboardId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BruteForceError.html":{"url":"classes/BruteForceError.html","title":"class - BruteForceError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BruteForceError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/errors/brute-force.error.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n timeToWait\n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(timeToWait: number, message: string)\n \n \n \n \n Defined in apps/server/src/modules/authentication/errors/brute-force.error.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n timeToWait\n \n \n number\n \n \n \n No\n \n \n \n \n message\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n timeToWait\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/modules/authentication/errors/brute-force.error.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { BusinessError } from '@shared/common';\n\nexport class BruteForceError extends BusinessError {\n\treadonly timeToWait: number;\n\n\tconstructor(timeToWait: number, message: string) {\n\t\tsuper(\n\t\t\t{ type: 'ENTITY_NOT_FOUND', title: 'Entity Not Found', defaultMessage: message },\n\t\t\tHttpStatus.TOO_MANY_REQUESTS,\n\t\t\t{\n\t\t\t\ttimeToWait,\n\t\t\t}\n\t\t);\n\t\tthis.timeToWait = timeToWait;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/BsonConverter.html":{"url":"injectables/BsonConverter.html","title":"injectable - BsonConverter","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n BsonConverter\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/management/converter/bson.converter.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n deserialize\n \n \n serialize\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n deserialize\n \n \n \n \n \n \ndeserialize(bsonDocuments: [])\n \n \n\n\n \n \n Defined in apps/server/src/modules/management/converter/bson.converter.ts:21\n \n \n\n\n \n \n Deserializes documents from Extended JSON JavaScript objects to plain JavaScript objects.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n bsonDocuments\n \n []\n \n\n \n No\n \n\n\n \n mongo-bson/ejson objects\n\n \n \n \n \n \n \n Returns : []\n\n \n \n mongo-json documents\n\n \n \n \n \n \n \n \n \n \n \n \n serialize\n \n \n \n \n \n \nserialize(documents: [])\n \n \n\n\n \n \n Defined in apps/server/src/modules/management/converter/bson.converter.ts:11\n \n \n\n\n \n \n Serializes documents from plain JavaScript objects to Extended JSON JavaScript objects.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n documents\n \n []\n \n\n \n No\n \n\n\n \n mongo-json documents\n\n \n \n \n \n \n \n Returns : []\n\n \n \n mongo-bson/ejson objects\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EJSON } from 'bson';\n\n@Injectable()\nexport class BsonConverter {\n\t/**\n\t * Serializes documents from plain JavaScript objects to Extended JSON JavaScript objects.\n\t * @param documents mongo-json documents\n\t * @returns mongo-bson/ejson objects\n\t */\n\tserialize(documents: unknown[]): unknown[] {\n\t\tconst bsonDocuments = EJSON.serialize(documents) as unknown[];\n\t\treturn bsonDocuments;\n\t}\n\n\t/**\n\t * Deserializes documents from Extended JSON JavaScript objects to plain JavaScript objects.\n\t * @param bsonDocuments mongo-bson/ejson objects\n\t * @returns mongo-json documents\n\t */\n\tdeserialize(bsonDocuments: unknown[]): unknown[] {\n\t\tconst jsonDocuments = EJSON.deserialize(bsonDocuments) as unknown[];\n\t\treturn jsonDocuments;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Builder.html":{"url":"classes/Builder.html","title":"class - Builder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Builder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/builder/builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n product\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(init: T)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/builder/builder.ts:2\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n init\n \n \n T\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n product\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/bbb/builder/builder.ts:2\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild()\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/bbb/builder/builder.ts:8\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n export class Builder {\n\tprotected readonly product: T;\n\n\tconstructor(init: T) {\n\t\tthis.product = init;\n\t}\n\n\tbuild(): T {\n\t\treturn this.product;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/BusinessError.html":{"url":"classes/BusinessError.html","title":"class - BusinessError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n BusinessError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/error/business.error.ts\n \n\n\n \n Description\n \n \n Abstract base class for business errors, errors that are handled\nwithin a client or inside the application.\n\n \n\n \n Extends\n \n \n HttpException\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \n Protected\n constructor(undefined: ErrorType, code: HttpStatus, details?: Record, cause?)\n \n \n \n \n Defined in apps/server/src/shared/common/error/business.error.ts:25\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n ErrorType\n \n \n \n No\n \n \n \n \n code\n \n \n HttpStatus\n \n \n \n No\n \n \n \n \n details\n \n \n Record\n \n \n \n Yes\n \n \n \n \n cause\n \n \n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Defined in apps/server/src/shared/common/error/business.error.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Defined in apps/server/src/shared/common/error/business.error.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Defined in apps/server/src/shared/common/error/business.error.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Defined in apps/server/src/shared/common/error/business.error.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Defined in apps/server/src/shared/common/error/business.error.ts:15\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Defined in apps/server/src/shared/common/error/business.error.ts:47\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpException, HttpStatus } from '@nestjs/common';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { ErrorResponse } from '@src/core/error/dto/error.response';\nimport { ErrorType } from '@src/core/error/interface';\n\n/**\n * Abstract base class for business errors, errors that are handled\n * within a client or inside the application.\n */\nexport abstract class BusinessError extends HttpException {\n\t@ApiProperty({ description: 'The response status code.' })\n\treadonly code: number;\n\n\t@ApiProperty({ description: 'The error type.' })\n\treadonly type: string;\n\n\t@ApiProperty({ description: 'The error title.' })\n\treadonly title: string;\n\n\t@ApiProperty({ description: 'The error message.' })\n\treadonly message: string;\n\n\t@ApiPropertyOptional({ description: 'The error details.' })\n\t// Is not matched by type validation because HttpException is already declared\n\treadonly details?: Record;\n\n\tprotected constructor(\n\t\t{ type, title, defaultMessage }: ErrorType,\n\t\tcode: HttpStatus = HttpStatus.CONFLICT,\n\t\tdetails?: Record,\n\t\tcause?: unknown\n\t) {\n\t\tsuper({ code, type, title, message: defaultMessage }, code);\n\t\tthis.code = code;\n\t\tthis.type = type;\n\t\tthis.title = title;\n\t\tthis.message = defaultMessage;\n\t\tthis.details = details;\n\n\t\tif (cause instanceof Error) {\n\t\t\tthis.cause = cause;\n\t\t} else if (cause !== undefined) {\n\t\t\tthis.cause = typeof cause === 'object' ? new Error(JSON.stringify(cause)) : new Error(String(cause));\n\t\t}\n\t}\n\n\toverride getResponse(): ErrorResponse {\n\t\tconst errorResponse: ErrorResponse = new ErrorResponse(\n\t\t\tthis.type,\n\t\t\tthis.title,\n\t\t\tthis.message,\n\t\t\tthis.code,\n\t\t\tthis.details\n\t\t);\n\n\t\treturn errorResponse;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CacheService.html":{"url":"injectables/CacheService.html","title":"injectable - CacheService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CacheService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/cache/service/cache.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getStoreType\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getStoreType\n \n \n \n \n \n \ngetStoreType()\n \n \n\n\n \n \n Defined in apps/server/src/infra/cache/service/cache.service.ts:7\n \n \n\n\n \n \n\n \n Returns : CacheStoreType\n\n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { Injectable } from '@nestjs/common';\nimport { CacheStoreType } from '../interface/cache-store-type.enum';\n\n@Injectable()\nexport class CacheService {\n\tgetStoreType(): CacheStoreType {\n\t\treturn Configuration.has('REDIS_URI') ? CacheStoreType.REDIS : CacheStoreType.MEMORY;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/CacheWrapperModule.html":{"url":"modules/CacheWrapperModule.html","title":"module - CacheWrapperModule","body":"\n \n\n\n\n\n Modules\n CacheWrapperModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_CacheWrapperModule\n\n\n\ncluster_CacheWrapperModule_exports\n\n\n\ncluster_CacheWrapperModule_providers\n\n\n\n\nCacheService \n\nCacheService \n\n\n\nCacheWrapperModule\n\nCacheWrapperModule\n\nCacheService -->\n\nCacheWrapperModule->CacheService \n\n\n\n\n\nCacheService\n\nCacheService\n\nCacheWrapperModule -->\n\nCacheService->CacheWrapperModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/cache/cache.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n CacheService\n \n \n \n \n Exports\n \n \n CacheService\n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { CacheModule, CacheModuleOptions } from '@nestjs/cache-manager';\nimport { Module } from '@nestjs/common';\nimport { LegacyLogger, LoggerModule } from '@src/core/logger';\nimport { create } from 'cache-manager-redis-store';\nimport { RedisClient } from 'redis';\nimport { CacheStoreType } from './interface';\nimport { CacheService } from './service/cache.service';\n\n@Module({\n\timports: [\n\t\tCacheModule.registerAsync({\n\t\t\tuseFactory: (cacheService: CacheService, logger: LegacyLogger): CacheModuleOptions => {\n\t\t\t\tif (cacheService.getStoreType() === CacheStoreType.REDIS) {\n\t\t\t\t\tconst redisUrl: string = Configuration.get('REDIS_URI') as string;\n\t\t\t\t\tconst store = create({ url: redisUrl });\n\t\t\t\t\tconst client: RedisClient = store.getClient();\n\n\t\t\t\t\tclient.on('error', (error) => logger.error(error));\n\t\t\t\t\tclient.on('connect', (msg) => logger.log(msg));\n\n\t\t\t\t\treturn { store };\n\t\t\t\t}\n\t\t\t\treturn {};\n\t\t\t},\n\t\t\tinject: [CacheService, LegacyLogger],\n\t\t\timports: [LoggerModule, CacheWrapperModule],\n\t\t}),\n\t],\n\tproviders: [CacheService],\n\texports: [CacheModule, CacheService],\n})\nexport class CacheWrapperModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CalendarEvent.html":{"url":"interfaces/CalendarEvent.html","title":"interface - CalendarEvent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CalendarEvent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/calendar/interface/calendar-event.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: literal type[]\n\n \n \n\n\n \n \n Type : literal type[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface CalendarEvent {\n\tdata: {\n\t\tattributes: {\n\t\t\tsummary: string;\n\t\t\t'x-sc-teamid': string;\n\t\t};\n\t}[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CalendarEventDto.html":{"url":"classes/CalendarEventDto.html","title":"class - CalendarEventDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CalendarEventDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/calendar/dto/calendar-event.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n teamId\n \n \n title\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dto: CalendarEventDto)\n \n \n \n \n Defined in apps/server/src/infra/calendar/dto/calendar-event.dto.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n dto\n \n \n CalendarEventDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n teamId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/infra/calendar/dto/calendar-event.dto.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/infra/calendar/dto/calendar-event.dto.ts:2\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class CalendarEventDto {\n\ttitle: string;\n\n\tteamId: string;\n\n\tconstructor(dto: CalendarEventDto) {\n\t\tthis.title = dto.title;\n\t\tthis.teamId = dto.teamId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CalendarMapper.html":{"url":"injectables/CalendarMapper.html","title":"injectable - CalendarMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CalendarMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/calendar/mapper/calendar.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n mapToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n mapToDto\n \n \n \n \n \n \nmapToDto(event: CalendarEvent)\n \n \n\n\n \n \n Defined in apps/server/src/infra/calendar/mapper/calendar.mapper.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n event\n \n CalendarEvent\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CalendarEventDto\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CalendarEvent } from '@infra/calendar/interface/calendar-event.interface';\nimport { Injectable } from '@nestjs/common';\nimport { CalendarEventDto } from '../dto/calendar-event.dto';\n\n@Injectable()\nexport class CalendarMapper {\n\tmapToDto(event: CalendarEvent): CalendarEventDto {\n\t\tconst { attributes } = event.data[0];\n\t\treturn new CalendarEventDto({\n\t\t\tteamId: attributes['x-sc-teamid'],\n\t\t\ttitle: attributes.summary,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/CalendarModule.html":{"url":"modules/CalendarModule.html","title":"module - CalendarModule","body":"\n \n\n\n\n\n Modules\n CalendarModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_CalendarModule\n\n\n\ncluster_CalendarModule_exports\n\n\n\ncluster_CalendarModule_providers\n\n\n\n\nCalendarService \n\nCalendarService \n\n\n\nCalendarModule\n\nCalendarModule\n\nCalendarService -->\n\nCalendarModule->CalendarService \n\n\n\n\n\nCalendarMapper\n\nCalendarMapper\n\nCalendarModule -->\n\nCalendarMapper->CalendarModule\n\n\n\n\n\nCalendarService\n\nCalendarService\n\nCalendarModule -->\n\nCalendarService->CalendarModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/calendar/calendar.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n CalendarMapper\n \n \n CalendarService\n \n \n \n \n Exports\n \n \n CalendarService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { HttpModule } from '@nestjs/axios';\nimport { CalendarService } from './service/calendar.service';\nimport { CalendarMapper } from './mapper/calendar.mapper';\n\n@Module({\n\timports: [HttpModule],\n\tproviders: [CalendarMapper, CalendarService],\n\texports: [CalendarService],\n})\nexport class CalendarModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CalendarService.html":{"url":"injectables/CalendarService.html","title":"injectable - CalendarService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CalendarService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/calendar/service/calendar.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n baseURL\n \n \n Private\n Readonly\n timeoutMs\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findEvent\n \n \n Private\n get\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(httpService: HttpService, calendarMapper: CalendarMapper)\n \n \n \n \n Defined in apps/server/src/infra/calendar/service/calendar.service.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n httpService\n \n \n HttpService\n \n \n \n No\n \n \n \n \n calendarMapper\n \n \n CalendarMapper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findEvent\n \n \n \n \n \n \n \n findEvent(userId: EntityId, eventId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/infra/calendar/service/calendar.service.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n eventId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n get\n \n \n \n \n \n \n \n get(path: string, queryParams: URLSearchParams, config: AxiosRequestConfig)\n \n \n\n\n \n \n Defined in apps/server/src/infra/calendar/service/calendar.service.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n path\n \n string\n \n\n \n No\n \n\n\n \n \n queryParams\n \n URLSearchParams\n \n\n \n No\n \n\n\n \n \n config\n \n AxiosRequestConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Observable>\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n baseURL\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/infra/calendar/service/calendar.service.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n timeoutMs\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/infra/calendar/service/calendar.service.ts:17\n \n \n\n\n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { HttpService } from '@nestjs/axios';\nimport { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ErrorUtils } from '@src/core/error/utils';\nimport { AxiosRequestConfig, AxiosResponse } from 'axios';\nimport { firstValueFrom, Observable } from 'rxjs';\nimport { URL, URLSearchParams } from 'url';\nimport { CalendarEventDto } from '../dto/calendar-event.dto';\nimport { CalendarEvent } from '../interface/calendar-event.interface';\nimport { CalendarMapper } from '../mapper/calendar.mapper';\n\n@Injectable()\nexport class CalendarService {\n\tprivate readonly baseURL: string;\n\n\tprivate readonly timeoutMs: number;\n\n\tconstructor(private readonly httpService: HttpService, private readonly calendarMapper: CalendarMapper) {\n\t\tthis.baseURL = Configuration.get('CALENDAR_URI') as string;\n\t\tthis.timeoutMs = Configuration.get('REQUEST_OPTION__TIMEOUT_MS') as number;\n\t}\n\n\tasync findEvent(userId: EntityId, eventId: EntityId): Promise {\n\t\tconst params = new URLSearchParams();\n\t\tparams.append('event-id', eventId);\n\n\t\treturn firstValueFrom(\n\t\t\tthis.get('/events', params, {\n\t\t\t\theaders: {\n\t\t\t\t\tAuthorization: userId,\n\t\t\t\t\tAccept: 'Application/json',\n\t\t\t\t},\n\t\t\t\ttimeout: this.timeoutMs,\n\t\t\t})\n\t\t)\n\t\t\t.then((resp: AxiosResponse) => this.calendarMapper.mapToDto(resp.data))\n\t\t\t.catch((error) => {\n\t\t\t\tthrow new InternalServerErrorException(\n\t\t\t\t\tnull,\n\t\t\t\t\tErrorUtils.createHttpExceptionOptions(error, 'CalendarService:findEvent')\n\t\t\t\t);\n\t\t\t});\n\t}\n\n\tprivate get(\n\t\tpath: string,\n\t\tqueryParams: URLSearchParams,\n\t\tconfig: AxiosRequestConfig\n\t): Observable> {\n\t\tconst url: URL = new URL(this.baseURL);\n\t\turl.pathname = path;\n\t\turl.search = queryParams.toString();\n\t\treturn this.httpService.get(url.toString(), config);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Card.html":{"url":"classes/Card.html","title":"class - Card","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Card\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/card.do.ts\n \n\n\n\n \n Extends\n \n \n BoardComposite\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n accept\n \n \n Async\n acceptAsync\n \n \n isAllowedAsChild\n \n \n addChild\n \n \n hasChild\n \n \n removeChild\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n title\n \n \n height\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n accept\n \n \n \n \n \n \naccept(visitor: BoardCompositeVisitor)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:38\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitor\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n acceptAsync\n \n \n \n \n \n \n \n acceptAsync(visitor: BoardCompositeVisitorAsync)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:42\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitorAsync\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isAllowedAsChild\n \n \n \n \n \n \nisAllowedAsChild(domainObject: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:27\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addChild\n \n \n \n \n \n \naddChild(child: AnyBoardDo, position?: number)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n position\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasChild\n \n \n \n \n \n \nhasChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeChild\n \n \n \n \n \n \nremoveChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n title\n \n \n\n \n \n gettitle()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/card.do.ts:11\n \n \n\n \n \n settitle(title: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/card.do.ts:15\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n title\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n height\n \n \n\n \n \n getheight()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/card.do.ts:19\n \n \n\n \n \n setheight(height: number)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/card.do.ts:23\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n height\n \n \n number\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { DrawingElement } from '@shared/domain/domainobject/board/drawing-element.do';\nimport { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport { ExternalToolElement } from './external-tool-element.do';\nimport { FileElement } from './file-element.do';\nimport { LinkElement } from './link-element.do';\nimport { RichTextElement } from './rich-text-element.do';\nimport { SubmissionContainerElement } from './submission-container-element.do';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class Card extends BoardComposite {\n\tget title(): string {\n\t\treturn this.props.title;\n\t}\n\n\tset title(title: string) {\n\t\tthis.props.title = title;\n\t}\n\n\tget height(): number {\n\t\treturn this.props.height;\n\t}\n\n\tset height(height: number) {\n\t\tthis.props.height = height;\n\t}\n\n\tisAllowedAsChild(domainObject: AnyBoardDo): boolean {\n\t\tconst allowed =\n\t\t\tdomainObject instanceof FileElement ||\n\t\t\tdomainObject instanceof DrawingElement ||\n\t\t\tdomainObject instanceof LinkElement ||\n\t\t\tdomainObject instanceof RichTextElement ||\n\t\t\tdomainObject instanceof SubmissionContainerElement ||\n\t\t\tdomainObject instanceof ExternalToolElement;\n\t\treturn allowed;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitCard(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitCardAsync(this);\n\t}\n}\n\nexport interface CardProps extends BoardCompositeProps {\n\ttitle: string;\n\theight: number;\n}\n\nexport function isCard(reference: unknown): reference is Card {\n\treturn reference instanceof Card;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/CardController.html":{"url":"controllers/CardController.html","title":"controller - CardController","body":"\n \n\n\n\n\n\n\n Controllers\n CardController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/card.controller.ts\n \n\n \n Prefix\n \n \n cards\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createElement\n \n \n \n \n \n \n \n \n \n Async\n deleteCard\n \n \n \n \n \n \n \n Async\n getCards\n \n \n \n \n \n \n \n \n \n Async\n moveCard\n \n \n \n \n \n \n \n \n \n Async\n updateCardHeight\n \n \n \n \n \n \n \n \n \n Async\n updateCardTitle\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createElement\n \n \n \n \n \n \n \n createElement(urlParams: CardUrlParams, bodyParams: CreateContentElementBodyParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Create a new element on a card.'})@ApiExtraModels(ExternalToolElementResponse, FileElementResponse, LinkElementResponse, RichTextElementResponse, SubmissionContainerElementResponse)@ApiResponse({status: 201, schema: undefined})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@Post(':cardId/elements')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/card.controller.ts:143\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n CardUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n CreateContentElementBodyParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteCard\n \n \n \n \n \n \n \n deleteCard(urlParams: CardUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Delete a single card.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Delete(':cardId')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/card.controller.ts:114\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n CardUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getCards\n \n \n \n \n \n \n \n getCards(currentUser: ICurrentUser, cardIdParams: CardIdsParams)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Get a list of cards by their ids.'})@ApiResponse({status: 200, type: CardListResponse})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@Get()\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/card.controller.ts:48\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n cardIdParams\n \n CardIdsParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n moveCard\n \n \n \n \n \n \n \n moveCard(urlParams: CardUrlParams, bodyParams: MoveCardBodyParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Move a single card.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Put(':cardId/position')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/card.controller.ts:69\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n CardUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n MoveCardBodyParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateCardHeight\n \n \n \n \n \n \n \n updateCardHeight(urlParams: CardUrlParams, bodyParams: SetHeightBodyParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Update the height of a single card.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Patch(':cardId/height')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/card.controller.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n CardUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n SetHeightBodyParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateCardTitle\n \n \n \n \n \n \n \n updateCardTitle(urlParams: CardUrlParams, bodyParams: RenameBodyParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Update the title of a single card.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Patch(':cardId/title')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/card.controller.ts:99\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n CardUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n RenameBodyParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport {\n\tBody,\n\tController,\n\tDelete,\n\tForbiddenException,\n\tGet,\n\tHttpCode,\n\tNotFoundException,\n\tParam,\n\tPatch,\n\tPost,\n\tPut,\n\tQuery,\n} from '@nestjs/common';\nimport { ApiExtraModels, ApiOperation, ApiResponse, ApiTags, getSchemaPath } from '@nestjs/swagger';\nimport { ApiValidationError } from '@shared/common';\nimport { CardUc, ColumnUc } from '../uc';\nimport {\n\tAnyContentElementResponse,\n\tCardIdsParams,\n\tCardListResponse,\n\tCardUrlParams,\n\tCreateContentElementBodyParams,\n\tDrawingElementResponse,\n\tExternalToolElementResponse,\n\tFileElementResponse,\n\tLinkElementResponse,\n\tMoveCardBodyParams,\n\tRenameBodyParams,\n\tRichTextElementResponse,\n\tSubmissionContainerElementResponse,\n} from './dto';\nimport { SetHeightBodyParams } from './dto/board/set-height.body.params';\nimport { CardResponseMapper, ContentElementResponseFactory } from './mapper';\n\n@ApiTags('Board Card')\n@Authenticate('jwt')\n@Controller('cards')\nexport class CardController {\n\tconstructor(private readonly columnUc: ColumnUc, private readonly cardUc: CardUc) {}\n\n\t@ApiOperation({ summary: 'Get a list of cards by their ids.' })\n\t@ApiResponse({ status: 200, type: CardListResponse })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@Get()\n\tasync getCards(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() cardIdParams: CardIdsParams\n\t): Promise {\n\t\tconst cardIds = Array.isArray(cardIdParams.ids) ? cardIdParams.ids : [cardIdParams.ids];\n\t\tconst cards = await this.cardUc.findCards(currentUser.userId, cardIds);\n\t\tconst cardResponses = cards.map((card) => CardResponseMapper.mapToResponse(card));\n\n\t\tconst result = new CardListResponse({\n\t\t\tdata: cardResponses,\n\t\t});\n\t\treturn result;\n\t}\n\n\t@ApiOperation({ summary: 'Move a single card.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Put(':cardId/position')\n\tasync moveCard(\n\t\t@Param() urlParams: CardUrlParams,\n\t\t@Body() bodyParams: MoveCardBodyParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tawait this.columnUc.moveCard(currentUser.userId, urlParams.cardId, bodyParams.toColumnId, bodyParams.toPosition);\n\t}\n\n\t@ApiOperation({ summary: 'Update the height of a single card.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Patch(':cardId/height')\n\tasync updateCardHeight(\n\t\t@Param() urlParams: CardUrlParams,\n\t\t@Body() bodyParams: SetHeightBodyParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tawait this.cardUc.updateCardHeight(currentUser.userId, urlParams.cardId, bodyParams.height);\n\t}\n\n\t@ApiOperation({ summary: 'Update the title of a single card.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Patch(':cardId/title')\n\tasync updateCardTitle(\n\t\t@Param() urlParams: CardUrlParams,\n\t\t@Body() bodyParams: RenameBodyParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tawait this.cardUc.updateCardTitle(currentUser.userId, urlParams.cardId, bodyParams.title);\n\t}\n\n\t@ApiOperation({ summary: 'Delete a single card.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Delete(':cardId')\n\tasync deleteCard(@Param() urlParams: CardUrlParams, @CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tawait this.cardUc.deleteCard(currentUser.userId, urlParams.cardId);\n\t}\n\n\t@ApiOperation({ summary: 'Create a new element on a card.' })\n\t@ApiExtraModels(\n\t\tExternalToolElementResponse,\n\t\tFileElementResponse,\n\t\tLinkElementResponse,\n\t\tRichTextElementResponse,\n\t\tSubmissionContainerElementResponse\n\t)\n\t@ApiResponse({\n\t\tstatus: 201,\n\t\tschema: {\n\t\t\toneOf: [\n\t\t\t\t{ $ref: getSchemaPath(ExternalToolElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(FileElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(LinkElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(RichTextElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(DrawingElementResponse) },\n\t\t\t],\n\t\t},\n\t})\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@Post(':cardId/elements')\n\tasync createElement(\n\t\t@Param() urlParams: CardUrlParams,\n\t\t@Body() bodyParams: CreateContentElementBodyParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst { type, toPosition } = bodyParams;\n\t\tconst element = await this.cardUc.createElement(currentUser.userId, urlParams.cardId, type, toPosition);\n\t\tconst response = ContentElementResponseFactory.mapToResponse(element);\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CardIdsParams.html":{"url":"classes/CardIdsParams.html","title":"class - CardIdsParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CardIdsParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/card/card-ids.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n ids\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n ids\n \n \n \n \n \n \n Type : string[] | string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId({each: true})@ApiProperty({description: 'Array of Ids to be loaded', type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/card-ids.params.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class CardIdsParams {\n\t@IsMongoId({ each: true })\n\t@ApiProperty({\n\t\tdescription: 'Array of Ids to be loaded',\n\t\ttype: [String],\n\t})\n\tids!: string[] | string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CardListResponse.html":{"url":"classes/CardListResponse.html","title":"class - CardListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CardListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/card/card-list.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: CardListResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/card-list.response.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n CardListResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : CardResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/card-list.response.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { CardResponse } from './card.response';\n\nexport class CardListResponse {\n\tconstructor({ data }: CardListResponse) {\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [CardResponse] })\n\tdata: CardResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/CardNode.html":{"url":"entities/CardNode.html","title":"entity - CardNode","body":"\n \n\n\n\n\n\n\n\n Entities\n CardNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/card-node.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n height\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n height\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/card-node.entity.ts:16\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { Card } from '@shared/domain/domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder } from './types';\nimport { BoardNodeType } from './types/board-node-type';\n\n@Entity({ discriminatorValue: BoardNodeType.CARD })\nexport class CardNode extends BoardNode {\n\tconstructor(props: CardNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.CARD;\n\t\tthis.height = props.height;\n\t}\n\n\t@Property()\n\theight: number;\n\n\tuseDoBuilder(builder: BoardDoBuilder): Card {\n\t\tconst domainObject = builder.buildCard(this);\n\t\treturn domainObject;\n\t}\n}\n\nexport interface CardNodeProps extends BoardNodeProps {\n\theight: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CardNodeProps.html":{"url":"interfaces/CardNodeProps.html","title":"interface - CardNodeProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CardNodeProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/card-node.entity.ts\n \n\n\n\n \n Extends\n \n \n BoardNodeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n height\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n height\n \n \n \n \n \n \n \n \n height: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { Card } from '@shared/domain/domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder } from './types';\nimport { BoardNodeType } from './types/board-node-type';\n\n@Entity({ discriminatorValue: BoardNodeType.CARD })\nexport class CardNode extends BoardNode {\n\tconstructor(props: CardNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.CARD;\n\t\tthis.height = props.height;\n\t}\n\n\t@Property()\n\theight: number;\n\n\tuseDoBuilder(builder: BoardDoBuilder): Card {\n\t\tconst domainObject = builder.buildCard(this);\n\t\treturn domainObject;\n\t}\n}\n\nexport interface CardNodeProps extends BoardNodeProps {\n\theight: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CardProps.html":{"url":"interfaces/CardProps.html","title":"interface - CardProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CardProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/card.do.ts\n \n\n\n\n \n Extends\n \n \n BoardCompositeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n height\n \n \n \n \n title\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n height\n \n \n \n \n \n \n \n \n height: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { DrawingElement } from '@shared/domain/domainobject/board/drawing-element.do';\nimport { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport { ExternalToolElement } from './external-tool-element.do';\nimport { FileElement } from './file-element.do';\nimport { LinkElement } from './link-element.do';\nimport { RichTextElement } from './rich-text-element.do';\nimport { SubmissionContainerElement } from './submission-container-element.do';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class Card extends BoardComposite {\n\tget title(): string {\n\t\treturn this.props.title;\n\t}\n\n\tset title(title: string) {\n\t\tthis.props.title = title;\n\t}\n\n\tget height(): number {\n\t\treturn this.props.height;\n\t}\n\n\tset height(height: number) {\n\t\tthis.props.height = height;\n\t}\n\n\tisAllowedAsChild(domainObject: AnyBoardDo): boolean {\n\t\tconst allowed =\n\t\t\tdomainObject instanceof FileElement ||\n\t\t\tdomainObject instanceof DrawingElement ||\n\t\t\tdomainObject instanceof LinkElement ||\n\t\t\tdomainObject instanceof RichTextElement ||\n\t\t\tdomainObject instanceof SubmissionContainerElement ||\n\t\t\tdomainObject instanceof ExternalToolElement;\n\t\treturn allowed;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitCard(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitCardAsync(this);\n\t}\n}\n\nexport interface CardProps extends BoardCompositeProps {\n\ttitle: string;\n\theight: number;\n}\n\nexport function isCard(reference: unknown): reference is Card {\n\treturn reference instanceof Card;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CardResponse.html":{"url":"classes/CardResponse.html","title":"class - CardResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CardResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/card/card.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n elements\n \n \n \n height\n \n \n \n id\n \n \n \n timestamps\n \n \n \n \n Optional\n title\n \n \n \n visibilitySettings\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: CardResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/card.response.ts:23\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n CardResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n elements\n \n \n \n \n \n \n Type : AnyContentElementResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: 'array', items: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/card.response.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n \n height\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/card.response.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/card.response.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n timestamps\n \n \n \n \n \n \n Type : TimestampsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/card.response.ts:64\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/card.response.ts:40\n \n \n\n\n \n \n \n \n \n \n \n \n \n visibilitySettings\n \n \n \n \n \n \n Type : VisibilitySettingsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/card.response.ts:61\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiExtraModels, ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\nimport {\n\tAnyContentElementResponse,\n\tDrawingElementResponse,\n\tExternalToolElementResponse,\n\tFileElementResponse,\n\tLinkElementResponse,\n\tRichTextElementResponse,\n\tSubmissionContainerElementResponse,\n} from '../element';\nimport { TimestampsResponse } from '../timestamps.response';\nimport { VisibilitySettingsResponse } from './visibility-settings.response';\n\n@ApiExtraModels(\n\tExternalToolElementResponse,\n\tFileElementResponse,\n\tLinkElementResponse,\n\tRichTextElementResponse,\n\tDrawingElementResponse,\n\tSubmissionContainerElementResponse\n)\nexport class CardResponse {\n\tconstructor({ id, title, height, elements, visibilitySettings, timestamps }: CardResponse) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.height = height;\n\t\tthis.elements = elements;\n\t\tthis.visibilitySettings = visibilitySettings;\n\t\tthis.timestamps = timestamps;\n\t}\n\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@ApiPropertyOptional()\n\t@DecodeHtmlEntities()\n\ttitle?: string;\n\n\t@ApiProperty()\n\theight: number;\n\n\t@ApiProperty({\n\t\ttype: 'array',\n\t\titems: {\n\t\t\toneOf: [\n\t\t\t\t{ $ref: getSchemaPath(ExternalToolElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(FileElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(LinkElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(RichTextElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(DrawingElementResponse) },\n\t\t\t],\n\t\t},\n\t})\n\telements: AnyContentElementResponse[];\n\n\t@ApiProperty()\n\tvisibilitySettings: VisibilitySettingsResponse;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CardResponseMapper.html":{"url":"classes/CardResponseMapper.html","title":"class - CardResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CardResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/card-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(card: Card)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/card-response.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n card\n \n Card\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CardResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Card } from '@shared/domain/domainobject';\nimport { CardResponse, TimestampsResponse, VisibilitySettingsResponse } from '../dto';\nimport { ContentElementResponseFactory } from './content-element-response.factory';\n\nexport class CardResponseMapper {\n\tstatic mapToResponse(card: Card): CardResponse {\n\t\tconst result = new CardResponse({\n\t\t\tid: card.id,\n\t\t\ttitle: card.title,\n\t\t\theight: card.height,\n\t\t\telements: card.children.map((element) => ContentElementResponseFactory.mapToResponse(element)),\n\t\t\tvisibilitySettings: new VisibilitySettingsResponse({}),\n\t\t\ttimestamps: new TimestampsResponse({ lastUpdatedAt: card.updatedAt, createdAt: card.createdAt }),\n\t\t});\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CardService.html":{"url":"injectables/CardService.html","title":"injectable - CardService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CardService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/card.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n create\n \n \n Private\n Async\n createEmptyElements\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n findByIds\n \n \n Async\n move\n \n \n Async\n updateHeight\n \n \n Async\n updateTitle\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(boardDoRepo: BoardDoRepo, boardDoService: BoardDoService, contentElementService: ContentElementService)\n \n \n \n \n Defined in apps/server/src/modules/board/service/card.service.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDoRepo\n \n \n BoardDoRepo\n \n \n \n No\n \n \n \n \n boardDoService\n \n \n BoardDoService\n \n \n \n No\n \n \n \n \n contentElementService\n \n \n ContentElementService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n create\n \n \n \n \n \n \n \n create(parent: Column, requiredEmptyElements?: ContentElementType[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/card.service.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n parent\n \n Column\n \n\n \n No\n \n\n\n \n \n requiredEmptyElements\n \n ContentElementType[]\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createEmptyElements\n \n \n \n \n \n \n \n createEmptyElements(card: Card, requiredEmptyElements: ContentElementType[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/card.service.ts:71\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n card\n \n Card\n \n\n \n No\n \n\n\n \n \n requiredEmptyElements\n \n ContentElementType[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(card: Card)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/card.service.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n card\n \n Card\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(cardId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/card.service.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n cardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByIds\n \n \n \n \n \n \n \n findByIds(cardIds: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/card.service.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n cardIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n move\n \n \n \n \n \n \n \n move(card: Card, targetColumn: Column, targetPosition?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/card.service.ts:55\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n card\n \n Card\n \n\n \n No\n \n\n\n \n \n targetColumn\n \n Column\n \n\n \n No\n \n\n\n \n \n targetPosition\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateHeight\n \n \n \n \n \n \n \n updateHeight(card: Card, height: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/card.service.ts:59\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n card\n \n Card\n \n\n \n No\n \n\n\n \n \n height\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateTitle\n \n \n \n \n \n \n \n updateTitle(card: Card, title: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/card.service.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n card\n \n Card\n \n\n \n No\n \n\n\n \n \n title\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, NotFoundException } from '@nestjs/common';\nimport { Card, Column, ContentElementType } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport { BoardDoRepo } from '../repo';\nimport { BoardDoService } from './board-do.service';\nimport { ContentElementService } from './content-element.service';\n\n@Injectable()\nexport class CardService {\n\tconstructor(\n\t\tprivate readonly boardDoRepo: BoardDoRepo,\n\t\tprivate readonly boardDoService: BoardDoService,\n\t\tprivate readonly contentElementService: ContentElementService\n\t) {}\n\n\tasync findById(cardId: EntityId): Promise {\n\t\treturn this.boardDoRepo.findByClassAndId(Card, cardId);\n\t}\n\n\tasync findByIds(cardIds: EntityId[]): Promise {\n\t\tconst cards = await this.boardDoRepo.findByIds(cardIds);\n\t\tif (cards.some((card) => !(card instanceof Card))) {\n\t\t\tthrow new NotFoundException('some ids do not belong to a card');\n\t\t}\n\n\t\treturn cards as Card[];\n\t}\n\n\tasync create(parent: Column, requiredEmptyElements?: ContentElementType[]): Promise {\n\t\tconst card = new Card({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttitle: '',\n\t\t\theight: 150,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\n\t\tparent.addChild(card);\n\n\t\tawait this.boardDoRepo.save(parent.children, parent);\n\n\t\tif (requiredEmptyElements) {\n\t\t\tawait this.createEmptyElements(card, requiredEmptyElements);\n\t\t}\n\n\t\treturn card;\n\t}\n\n\tasync delete(card: Card): Promise {\n\t\tawait this.boardDoService.deleteWithDescendants(card);\n\t}\n\n\tasync move(card: Card, targetColumn: Column, targetPosition?: number): Promise {\n\t\tawait this.boardDoService.move(card, targetColumn, targetPosition);\n\t}\n\n\tasync updateHeight(card: Card, height: number): Promise {\n\t\tconst parent = await this.boardDoRepo.findParentOfId(card.id);\n\t\tcard.height = height;\n\t\tawait this.boardDoRepo.save(card, parent);\n\t}\n\n\tasync updateTitle(card: Card, title: string): Promise {\n\t\tconst parent = await this.boardDoRepo.findParentOfId(card.id);\n\t\tcard.title = title;\n\t\tawait this.boardDoRepo.save(card, parent);\n\t}\n\n\tprivate async createEmptyElements(card: Card, requiredEmptyElements: ContentElementType[]): Promise {\n\t\tfor await (const requiredEmptyElement of requiredEmptyElements) {\n\t\t\tawait this.contentElementService.create(card, requiredEmptyElement);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CardSkeletonResponse.html":{"url":"classes/CardSkeletonResponse.html","title":"class - CardSkeletonResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CardSkeletonResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/board/card-skeleton.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n cardId\n \n \n \n height\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: CardSkeletonResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/card-skeleton.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n CardSkeletonResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n cardId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/card-skeleton.response.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n height\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The approximate height of the referenced card. Intended to be used for prerendering purposes. Note, that different devices can lead to this value not being precise'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/card-skeleton.response.ts:18\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class CardSkeletonResponse {\n\tconstructor({ cardId, height }: CardSkeletonResponse) {\n\t\tthis.cardId = cardId;\n\t\tthis.height = height;\n\t}\n\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tcardId: string;\n\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'The approximate height of the referenced card. Intended to be used for prerendering purposes. Note, that different devices can lead to this value not being precise',\n\t})\n\theight: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CardUc.html":{"url":"injectables/CardUc.html","title":"injectable - CardUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CardUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/uc/card.uc.ts\n \n\n\n\n \n Extends\n \n \n BaseUc\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createElement\n \n \n Async\n deleteCard\n \n \n Private\n Async\n filterAllowed\n \n \n Async\n findCards\n \n \n Async\n moveElement\n \n \n Async\n updateCardHeight\n \n \n Async\n updateCardTitle\n \n \n Protected\n Async\n checkPermission\n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationService: AuthorizationService, boardDoAuthorizableService: BoardDoAuthorizableService, cardService: CardService, elementService: ContentElementService, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/board/uc/card.uc.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n boardDoAuthorizableService\n \n \n BoardDoAuthorizableService\n \n \n \n No\n \n \n \n \n cardService\n \n \n CardService\n \n \n \n No\n \n \n \n \n elementService\n \n \n ContentElementService\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createElement\n \n \n \n \n \n \n \n createElement(userId: EntityId, cardId: EntityId, type: ContentElementType, toPosition?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/card.uc.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n cardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n type\n \n ContentElementType\n \n\n \n No\n \n\n\n \n \n toPosition\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteCard\n \n \n \n \n \n \n \n deleteCard(userId: EntityId, cardId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/card.uc.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n cardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n filterAllowed\n \n \n \n \n \n \n \n filterAllowed(userId: EntityId, boardDos: T[], action: Action)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/card.uc.ts:97\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardDos\n \n T[]\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findCards\n \n \n \n \n \n \n \n findCards(userId: EntityId, cardIds: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/card.uc.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n cardIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n moveElement\n \n \n \n \n \n \n \n moveElement(userId: EntityId, elementId: EntityId, targetCardId: EntityId, targetPosition: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/card.uc.ts:80\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n elementId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetCardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetPosition\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateCardHeight\n \n \n \n \n \n \n \n updateCardHeight(userId: EntityId, cardId: EntityId, height: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/card.uc.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n cardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n height\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateCardTitle\n \n \n \n \n \n \n \n updateCardTitle(userId: EntityId, cardId: EntityId, title: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/card.uc.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n cardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n title\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n checkPermission\n \n \n \n \n \n \n \n checkPermission(userId: EntityId, anyBoardDo: AnyBoardDo, action: Action, requiredUserRole?: UserRoleEnum)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:13\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n anyBoardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n requiredUserRole\n \n UserRoleEnum\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n \n \n \n \n \n checkSubmissionItemWritePermission(userId: EntityId, submissionItem: SubmissionItem)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:45\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n submissionItem\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n \n \n \n isAuthorizedStudent(userId: EntityId, boardDo: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:29\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Action, AuthorizationService } from '@modules/authorization';\nimport { forwardRef, Inject, Injectable } from '@nestjs/common';\nimport { AnyBoardDo, AnyContentElementDo, Card, ContentElementType } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacyLogger } from '@src/core/logger';\nimport { BoardDoAuthorizableService, CardService, ContentElementService } from '../service';\nimport { BaseUc } from './base.uc';\n\n@Injectable()\nexport class CardUc extends BaseUc {\n\tconstructor(\n\t\t@Inject(forwardRef(() => AuthorizationService))\n\t\tprotected readonly authorizationService: AuthorizationService,\n\t\tprotected readonly boardDoAuthorizableService: BoardDoAuthorizableService,\n\t\tprivate readonly cardService: CardService,\n\t\tprivate readonly elementService: ContentElementService,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tsuper(authorizationService, boardDoAuthorizableService);\n\t\tthis.logger.setContext(CardUc.name);\n\t}\n\n\tasync findCards(userId: EntityId, cardIds: EntityId[]): Promise {\n\t\tthis.logger.debug({ action: 'findCards', userId, cardIds });\n\n\t\tconst cards = await this.cardService.findByIds(cardIds);\n\t\tconst allowedCards = await this.filterAllowed(userId, cards, Action.read);\n\n\t\treturn allowedCards;\n\t}\n\n\tasync updateCardHeight(userId: EntityId, cardId: EntityId, height: number): Promise {\n\t\tthis.logger.debug({ action: 'updateCardHeight', userId, cardId, height });\n\n\t\tconst card = await this.cardService.findById(cardId);\n\t\tawait this.checkPermission(userId, card, Action.write);\n\n\t\tawait this.cardService.updateHeight(card, height);\n\t}\n\n\tasync updateCardTitle(userId: EntityId, cardId: EntityId, title: string): Promise {\n\t\tthis.logger.debug({ action: 'updateCardTitle', userId, cardId, title });\n\n\t\tconst card = await this.cardService.findById(cardId);\n\t\tawait this.checkPermission(userId, card, Action.write);\n\n\t\tawait this.cardService.updateTitle(card, title);\n\t}\n\n\tasync deleteCard(userId: EntityId, cardId: EntityId): Promise {\n\t\tthis.logger.debug({ action: 'deleteCard', userId, cardId });\n\n\t\tconst card = await this.cardService.findById(cardId);\n\t\tawait this.checkPermission(userId, card, Action.write);\n\n\t\tawait this.cardService.delete(card);\n\t}\n\n\t// --- elements ---\n\n\tasync createElement(\n\t\tuserId: EntityId,\n\t\tcardId: EntityId,\n\t\ttype: ContentElementType,\n\t\ttoPosition?: number\n\t): Promise {\n\t\tthis.logger.debug({ action: 'createElement', userId, cardId, type });\n\n\t\tconst card = await this.cardService.findById(cardId);\n\t\tawait this.checkPermission(userId, card, Action.write);\n\n\t\tconst element = await this.elementService.create(card, type);\n\t\tif (toPosition !== undefined && typeof toPosition === 'number') {\n\t\t\tawait this.elementService.move(element, card, toPosition);\n\t\t}\n\n\t\treturn element;\n\t}\n\n\tasync moveElement(\n\t\tuserId: EntityId,\n\t\telementId: EntityId,\n\t\ttargetCardId: EntityId,\n\t\ttargetPosition: number\n\t): Promise {\n\t\tthis.logger.debug({ action: 'moveCard', userId, elementId, targetCardId, targetPosition });\n\n\t\tconst element = await this.elementService.findById(elementId);\n\t\tconst targetCard = await this.cardService.findById(targetCardId);\n\n\t\tawait this.checkPermission(userId, element, Action.write);\n\t\tawait this.checkPermission(userId, targetCard, Action.write);\n\n\t\tawait this.elementService.move(element, targetCard, targetPosition);\n\t}\n\n\tprivate async filterAllowed(userId: EntityId, boardDos: T[], action: Action): Promise {\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\n\t\tconst context = { action, requiredPermissions: [] };\n\t\tconst promises = boardDos.map((boardDo) =>\n\t\t\tthis.boardDoAuthorizableService.getBoardAuthorizable(boardDo).then((boardDoAuthorizable) => {\n\t\t\t\treturn { boardDoAuthorizable, boardDo };\n\t\t\t})\n\t\t);\n\t\tconst result = await Promise.all(promises);\n\n\t\tconst allowed = result.reduce((allowedDos: T[], { boardDoAuthorizable, boardDo }) => {\n\t\t\tif (this.authorizationService.hasPermission(user, boardDoAuthorizable, context)) {\n\t\t\t\tallowedDos.push(boardDo);\n\t\t\t}\n\t\t\treturn allowedDos;\n\t\t}, []);\n\n\t\treturn allowed;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CardUrlParams.html":{"url":"classes/CardUrlParams.html","title":"class - CardUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CardUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/card.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n cardId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n cardId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the card.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class CardUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the card.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tcardId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ChallengeParams.html":{"url":"classes/ChallengeParams.html","title":"class - ChallengeParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ChallengeParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/request/challenge.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n challenge\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n challenge\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({description: 'The login challenge.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/challenge.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsString } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\n\nexport class ChallengeParams {\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'The login challenge.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tchallenge!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ChangeLanguageParams.html":{"url":"classes/ChangeLanguageParams.html","title":"class - ChangeLanguageParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ChangeLanguageParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user/controller/dto/user.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n language\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n language\n \n \n \n \n \n \n Type : LanguageType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: LanguageType})@IsEnum(LanguageType)\n \n \n \n \n \n Defined in apps/server/src/modules/user/controller/dto/user.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { LanguageType } from '@shared/domain/entity';\nimport { IsEnum } from 'class-validator';\n\nexport class ChangeLanguageParams {\n\t@ApiProperty({ enum: LanguageType })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Class.html":{"url":"classes/Class.html","title":"class - Class","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Class\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/domain/class.do.ts\n \n\n\n\n \n Extends\n \n \n DomainObject\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n removeUser\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n name\n \n \n schoolId\n \n \n userIds\n \n \n teacherIds\n \n \n invitationLink\n \n \n year\n \n \n gradeLevel\n \n \n ldapDN\n \n \n successor\n \n \n source\n \n \n sourceOptions\n \n \n createdAt\n \n \n updatedAt\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n removeUser\n \n \n \n \n \n \n \n removeUser(userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:74\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n name\n \n \n\n \n \n getname()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:22\n \n \n\n \n \n \n \n \n \n \n schoolId\n \n \n\n \n \n getschoolId()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:26\n \n \n\n \n \n \n \n \n \n \n userIds\n \n \n\n \n \n getuserIds()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:30\n \n \n\n \n \n \n \n \n \n \n teacherIds\n \n \n\n \n \n getteacherIds()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:34\n \n \n\n \n \n \n \n \n \n \n invitationLink\n \n \n\n \n \n getinvitationLink()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:38\n \n \n\n \n \n \n \n \n \n \n year\n \n \n\n \n \n getyear()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:42\n \n \n\n \n \n \n \n \n \n \n gradeLevel\n \n \n\n \n \n getgradeLevel()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:46\n \n \n\n \n \n \n \n \n \n \n ldapDN\n \n \n\n \n \n getldapDN()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:50\n \n \n\n \n \n \n \n \n \n \n successor\n \n \n\n \n \n getsuccessor()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:54\n \n \n\n \n \n \n \n \n \n \n source\n \n \n\n \n \n getsource()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:58\n \n \n\n \n \n \n \n \n \n \n sourceOptions\n \n \n\n \n \n getsourceOptions()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:62\n \n \n\n \n \n \n \n \n \n \n createdAt\n \n \n\n \n \n getcreatedAt()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:66\n \n \n\n \n \n \n \n \n \n \n updatedAt\n \n \n\n \n \n getupdatedAt()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class.do.ts:70\n \n \n\n \n \n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { AuthorizableObject, DomainObject } from '../../../shared/domain/domain-object';\nimport { ClassSourceOptions } from './class-source-options.do';\n\nexport interface ClassProps extends AuthorizableObject {\n\tname: string;\n\tschoolId: EntityId;\n\tuserIds?: EntityId[];\n\tteacherIds: EntityId[];\n\tinvitationLink?: string;\n\tyear?: EntityId;\n\tgradeLevel?: number;\n\tldapDN?: string;\n\tsuccessor?: EntityId;\n\tsource?: string;\n\tsourceOptions?: ClassSourceOptions;\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\nexport class Class extends DomainObject {\n\tget name(): string {\n\t\treturn this.props.name;\n\t}\n\n\tget schoolId(): EntityId {\n\t\treturn this.props.schoolId;\n\t}\n\n\tget userIds(): EntityId[] | undefined {\n\t\treturn this.props.userIds;\n\t}\n\n\tget teacherIds(): EntityId[] {\n\t\treturn this.props.teacherIds;\n\t}\n\n\tget invitationLink(): string | undefined {\n\t\treturn this.props.invitationLink;\n\t}\n\n\tget year(): EntityId | undefined {\n\t\treturn this.props.year;\n\t}\n\n\tget gradeLevel(): number | undefined {\n\t\treturn this.props.gradeLevel;\n\t}\n\n\tget ldapDN(): string | undefined {\n\t\treturn this.props.ldapDN;\n\t}\n\n\tget successor(): EntityId | undefined {\n\t\treturn this.props.successor;\n\t}\n\n\tget source(): string | undefined {\n\t\treturn this.props.source;\n\t}\n\n\tget sourceOptions(): ClassSourceOptions | undefined {\n\t\treturn this.props.sourceOptions;\n\t}\n\n\tget createdAt(): Date {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date {\n\t\treturn this.props.updatedAt;\n\t}\n\n\tpublic removeUser(userId: string) {\n\t\tthis.props.userIds = this.props.userIds?.filter((userId1) => userId1 !== userId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/ClassEntity.html":{"url":"entities/ClassEntity.html","title":"entity - ClassEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n ClassEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/entity/class.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n gradeLevel\n \n \n \n Optional\n invitationLink\n \n \n \n Optional\n ldapDN\n \n \n \n name\n \n \n \n \n schoolId\n \n \n \n \n Optional\n source\n \n \n \n Optional\n sourceOptions\n \n \n \n Optional\n successor\n \n \n \n \n teacherIds\n \n \n \n \n Optional\n userIds\n \n \n \n Optional\n year\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n gradeLevel\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class.entity.ts:47\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n invitationLink\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class.entity.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n ldapDN\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class.entity.ts:50\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class.entity.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property()@Index()\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class.entity.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n source\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})@Index()\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class.entity.ts:57\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n sourceOptions\n \n \n \n \n \n \n Type : ClassSourceOptionsEntity\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {object: true, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class.entity.ts:60\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n successor\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class.entity.ts:53\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n teacherIds\n \n \n \n \n \n \n Type : ObjectId[]\n\n \n \n \n \n Decorators : \n \n \n @Property()@Index()\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class.entity.ts:38\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n userIds\n \n \n \n \n \n \n Type : ObjectId[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})@Index()\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class.entity.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n year\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class.entity.ts:44\n \n \n\n\n \n \n\n \n\n\n \n import { Embedded, Entity, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { ClassSourceOptionsEntity } from './class-source-options.entity';\n\nexport interface ClassEntityProps {\n\tid?: EntityId;\n\tname: string;\n\tschoolId: ObjectId;\n\tuserIds?: ObjectId[];\n\tteacherIds: ObjectId[];\n\tinvitationLink?: string;\n\tyear?: ObjectId;\n\tgradeLevel?: number;\n\tldapDN?: string;\n\tsuccessor?: ObjectId;\n\tsource?: string;\n\tsourceOptions?: ClassSourceOptionsEntity;\n}\n\n@Entity({ tableName: 'classes' })\n@Index({ properties: ['year', 'ldapDN'] })\nexport class ClassEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tname: string;\n\n\t@Property()\n\t@Index()\n\tschoolId: ObjectId;\n\n\t@Property({ nullable: true })\n\t@Index()\n\tuserIds?: ObjectId[];\n\n\t@Property()\n\t@Index()\n\tteacherIds: ObjectId[];\n\n\t@Property({ nullable: true })\n\tinvitationLink?: string;\n\n\t@Property({ nullable: true })\n\tyear?: ObjectId;\n\n\t@Property({ nullable: true })\n\tgradeLevel?: number;\n\n\t@Property({ nullable: true })\n\tldapDN?: string;\n\n\t@Property({ nullable: true })\n\tsuccessor?: ObjectId;\n\n\t@Property({ nullable: true })\n\t@Index()\n\tsource?: string;\n\n\t@Embedded(() => ClassSourceOptionsEntity, { object: true, nullable: true })\n\tsourceOptions?: ClassSourceOptionsEntity;\n\n\tprivate validate(props: ClassEntityProps) {\n\t\tif (props.gradeLevel !== undefined && (props.gradeLevel 13)) {\n\t\t\tthrow new Error('gradeLevel must be value beetween 1 and 13');\n\t\t}\n\t}\n\n\tconstructor(props: ClassEntityProps) {\n\t\tsuper();\n\t\tthis.validate(props);\n\n\t\tif (props.id !== undefined) {\n\t\t\tthis.id = props.id;\n\t\t}\n\n\t\tthis.name = props.name;\n\t\tthis.schoolId = props.schoolId;\n\n\t\tif (props.userIds !== undefined) {\n\t\t\tthis.userIds = props.userIds;\n\t\t}\n\n\t\tthis.teacherIds = props.teacherIds;\n\n\t\tif (props.invitationLink !== undefined) {\n\t\t\tthis.invitationLink = props.invitationLink;\n\t\t}\n\n\t\tif (props.year !== undefined) {\n\t\t\tthis.year = props.year;\n\t\t}\n\t\tif (props.gradeLevel !== undefined) {\n\t\t\tthis.gradeLevel = props.gradeLevel;\n\t\t}\n\t\tif (props.ldapDN !== undefined) {\n\t\t\tthis.ldapDN = props.ldapDN;\n\t\t}\n\n\t\tif (props.successor !== undefined) {\n\t\t\tthis.successor = props.successor;\n\t\t}\n\n\t\tif (props.source !== undefined) {\n\t\t\tthis.source = props.source;\n\t\t}\n\n\t\tif (props.sourceOptions !== undefined) {\n\t\t\tthis.sourceOptions = props.sourceOptions;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ClassEntityFactory.html":{"url":"classes/ClassEntityFactory.html","title":"class - ClassEntityFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ClassEntityFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/entity/testing/factory/class.entity.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withUserIds\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withUserIds\n \n \n \n \n \n \nwithUserIds(userIds: ObjectId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/entity/testing/factory/class.entity.factory.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userIds\n \n ObjectId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ClassEntity, ClassEntityProps, ClassSourceOptionsEntity } from '@modules/class/entity';\nimport { BaseFactory } from '@shared/testing/factory/base.factory';\nimport { ObjectId } from 'bson';\nimport { DeepPartial } from 'fishery';\n\nclass ClassEntityFactory extends BaseFactory {\n\twithUserIds(userIds: ObjectId[]): this {\n\t\tconst params: DeepPartial = {\n\t\t\tuserIds,\n\t\t};\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const classEntityFactory = ClassEntityFactory.define(ClassEntity, ({ sequence }) => {\n\treturn {\n\t\tname: `name-${sequence}`,\n\t\tschoolId: new ObjectId(),\n\t\tuserIds: new Array(),\n\t\tteacherIds: [new ObjectId(), new ObjectId()],\n\t\tinvitationLink: `link-${sequence}`,\n\t\tyear: new ObjectId(),\n\t\tgradeLevel: sequence,\n\t\tldapDN: `dn-${sequence}`,\n\t\tsuccessor: new ObjectId(),\n\t\tsource: `source-${sequence}`,\n\t\tsourceOptions: new ClassSourceOptionsEntity({ tspUid: `id-${sequence}` }),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ClassEntityProps.html":{"url":"interfaces/ClassEntityProps.html","title":"interface - ClassEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ClassEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/entity/class.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n gradeLevel\n \n \n \n Optional\n \n id\n \n \n \n Optional\n \n invitationLink\n \n \n \n Optional\n \n ldapDN\n \n \n \n \n name\n \n \n \n \n schoolId\n \n \n \n Optional\n \n source\n \n \n \n Optional\n \n sourceOptions\n \n \n \n Optional\n \n successor\n \n \n \n \n teacherIds\n \n \n \n Optional\n \n userIds\n \n \n \n Optional\n \n year\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n gradeLevel\n \n \n \n \n \n \n \n \n gradeLevel: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n invitationLink\n \n \n \n \n \n \n \n \n invitationLink: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n ldapDN\n \n \n \n \n \n \n \n \n ldapDN: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n schoolId: ObjectId\n\n \n \n\n\n \n \n Type : ObjectId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n source\n \n \n \n \n \n \n \n \n source: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n sourceOptions\n \n \n \n \n \n \n \n \n sourceOptions: ClassSourceOptionsEntity\n\n \n \n\n\n \n \n Type : ClassSourceOptionsEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n successor\n \n \n \n \n \n \n \n \n successor: ObjectId\n\n \n \n\n\n \n \n Type : ObjectId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n teacherIds\n \n \n \n \n \n \n \n \n teacherIds: ObjectId[]\n\n \n \n\n\n \n \n Type : ObjectId[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n userIds\n \n \n \n \n \n \n \n \n userIds: ObjectId[]\n\n \n \n\n\n \n \n Type : ObjectId[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n year\n \n \n \n \n \n \n \n \n year: ObjectId\n\n \n \n\n\n \n \n Type : ObjectId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Embedded, Entity, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { ClassSourceOptionsEntity } from './class-source-options.entity';\n\nexport interface ClassEntityProps {\n\tid?: EntityId;\n\tname: string;\n\tschoolId: ObjectId;\n\tuserIds?: ObjectId[];\n\tteacherIds: ObjectId[];\n\tinvitationLink?: string;\n\tyear?: ObjectId;\n\tgradeLevel?: number;\n\tldapDN?: string;\n\tsuccessor?: ObjectId;\n\tsource?: string;\n\tsourceOptions?: ClassSourceOptionsEntity;\n}\n\n@Entity({ tableName: 'classes' })\n@Index({ properties: ['year', 'ldapDN'] })\nexport class ClassEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tname: string;\n\n\t@Property()\n\t@Index()\n\tschoolId: ObjectId;\n\n\t@Property({ nullable: true })\n\t@Index()\n\tuserIds?: ObjectId[];\n\n\t@Property()\n\t@Index()\n\tteacherIds: ObjectId[];\n\n\t@Property({ nullable: true })\n\tinvitationLink?: string;\n\n\t@Property({ nullable: true })\n\tyear?: ObjectId;\n\n\t@Property({ nullable: true })\n\tgradeLevel?: number;\n\n\t@Property({ nullable: true })\n\tldapDN?: string;\n\n\t@Property({ nullable: true })\n\tsuccessor?: ObjectId;\n\n\t@Property({ nullable: true })\n\t@Index()\n\tsource?: string;\n\n\t@Embedded(() => ClassSourceOptionsEntity, { object: true, nullable: true })\n\tsourceOptions?: ClassSourceOptionsEntity;\n\n\tprivate validate(props: ClassEntityProps) {\n\t\tif (props.gradeLevel !== undefined && (props.gradeLevel 13)) {\n\t\t\tthrow new Error('gradeLevel must be value beetween 1 and 13');\n\t\t}\n\t}\n\n\tconstructor(props: ClassEntityProps) {\n\t\tsuper();\n\t\tthis.validate(props);\n\n\t\tif (props.id !== undefined) {\n\t\t\tthis.id = props.id;\n\t\t}\n\n\t\tthis.name = props.name;\n\t\tthis.schoolId = props.schoolId;\n\n\t\tif (props.userIds !== undefined) {\n\t\t\tthis.userIds = props.userIds;\n\t\t}\n\n\t\tthis.teacherIds = props.teacherIds;\n\n\t\tif (props.invitationLink !== undefined) {\n\t\t\tthis.invitationLink = props.invitationLink;\n\t\t}\n\n\t\tif (props.year !== undefined) {\n\t\t\tthis.year = props.year;\n\t\t}\n\t\tif (props.gradeLevel !== undefined) {\n\t\t\tthis.gradeLevel = props.gradeLevel;\n\t\t}\n\t\tif (props.ldapDN !== undefined) {\n\t\t\tthis.ldapDN = props.ldapDN;\n\t\t}\n\n\t\tif (props.successor !== undefined) {\n\t\t\tthis.successor = props.successor;\n\t\t}\n\n\t\tif (props.source !== undefined) {\n\t\t\tthis.source = props.source;\n\t\t}\n\n\t\tif (props.sourceOptions !== undefined) {\n\t\t\tthis.sourceOptions = props.sourceOptions;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ClassFactory.html":{"url":"classes/ClassFactory.html","title":"class - ClassFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ClassFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/domain/testing/factory/class.factory.ts\n \n\n\n\n \n Extends\n \n \n DoBaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withUserIds\n \n \n \n buildWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withUserIds\n \n \n \n \n \n \nwithUserIds(userIds: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/domain/testing/factory/class.factory.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userIds\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \n \n buildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DoBaseFactory } from '@shared/testing';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { DeepPartial } from 'fishery';\nimport { Class, ClassProps } from '../../class.do';\nimport { ClassSourceOptions } from '../../class-source-options.do';\n\nclass ClassFactory extends DoBaseFactory {\n\twithUserIds(userIds: string[]): this {\n\t\tconst params: DeepPartial = {\n\t\t\tuserIds,\n\t\t};\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const classFactory = ClassFactory.define(Class, ({ sequence }) => {\n\treturn {\n\t\tid: new ObjectId().toHexString(),\n\t\tname: `name-${sequence}`,\n\t\tschoolId: new ObjectId().toHexString(),\n\t\tuserIds: [new ObjectId().toHexString(), new ObjectId().toHexString()],\n\t\tteacherIds: [new ObjectId().toHexString(), new ObjectId().toHexString()],\n\t\tinvitationLink: `link-${sequence}`,\n\t\tyear: new ObjectId().toHexString(),\n\t\tgradeLevel: sequence,\n\t\tldapDN: `dn-${sequence}`,\n\t\tsuccessor: new ObjectId().toHexString(),\n\t\tsource: `source-${sequence}`,\n\t\tsourceOptions: new ClassSourceOptions({ tspUid: `id-${sequence}` }),\n\t\tcreatedAt: new Date(),\n\t\tupdatedAt: new Date(),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ClassFilterParams.html":{"url":"classes/ClassFilterParams.html","title":"class - ClassFilterParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ClassFilterParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/controller/dto/request/class-filter-params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n type\n \n \n \n \n \n \n Type : SchoolYearQueryType\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsEnum(SchoolYearQueryType)@ApiPropertyOptional({enum: SchoolYearQueryType, enumName: 'SchoolYearQueryType'})\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/request/class-filter-params.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsEnum, IsOptional } from 'class-validator';\nimport { SchoolYearQueryType } from '../interface';\n\nexport class ClassFilterParams {\n\t@IsOptional()\n\t@IsEnum(SchoolYearQueryType)\n\t@ApiPropertyOptional({ enum: SchoolYearQueryType, enumName: 'SchoolYearQueryType' })\n\ttype?: SchoolYearQueryType;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ClassInfoDto.html":{"url":"classes/ClassInfoDto.html","title":"class - ClassInfoDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ClassInfoDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/uc/dto/class-info.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n externalSourceName\n \n \n id\n \n \n Optional\n isUpgradable\n \n \n name\n \n \n Optional\n schoolYear\n \n \n studentCount\n \n \n teacherNames\n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ClassInfoDto)\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/class-info.dto.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ClassInfoDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n externalSourceName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/class-info.dto.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/class-info.dto.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n isUpgradable\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/class-info.dto.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/class-info.dto.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n schoolYear\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/class-info.dto.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n studentCount\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/class-info.dto.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n teacherNames\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/class-info.dto.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ClassRootType\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/class-info.dto.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ClassRootType } from './class-root-type';\n\nexport class ClassInfoDto {\n\tid: string;\n\n\ttype: ClassRootType;\n\n\tname: string;\n\n\texternalSourceName?: string;\n\n\tteacherNames: string[];\n\n\tschoolYear?: string;\n\n\tisUpgradable?: boolean;\n\n\tstudentCount: number;\n\n\tconstructor(props: ClassInfoDto) {\n\t\tthis.id = props.id;\n\t\tthis.type = props.type;\n\t\tthis.name = props.name;\n\t\tthis.externalSourceName = props.externalSourceName;\n\t\tthis.teacherNames = props.teacherNames;\n\t\tthis.schoolYear = props.schoolYear;\n\t\tthis.isUpgradable = props.isUpgradable;\n\t\tthis.studentCount = props.studentCount;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ClassInfoResponse.html":{"url":"classes/ClassInfoResponse.html","title":"class - ClassInfoResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ClassInfoResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/controller/dto/response/class-info.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n externalSourceName\n \n \n \n id\n \n \n \n Optional\n isUpgradable\n \n \n \n name\n \n \n \n Optional\n schoolYear\n \n \n \n studentCount\n \n \n \n teachers\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ClassInfoResponse)\n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/class-info.response.ts:27\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ClassInfoResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n externalSourceName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/class-info.response.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/class-info.response.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n isUpgradable\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/class-info.response.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/class-info.response.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n schoolYear\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/class-info.response.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n studentCount\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/class-info.response.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n teachers\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/class-info.response.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ClassRootType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ClassRootType})\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/class-info.response.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { ClassRootType } from '../../../uc/dto/class-root-type';\n\nexport class ClassInfoResponse {\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty({ enum: ClassRootType })\n\ttype: ClassRootType;\n\n\t@ApiProperty()\n\tname: string;\n\n\t@ApiPropertyOptional()\n\texternalSourceName?: string;\n\n\t@ApiProperty({ type: [String] })\n\tteachers: string[];\n\n\t@ApiPropertyOptional()\n\tschoolYear?: string;\n\n\t@ApiPropertyOptional()\n\tisUpgradable?: boolean;\n\n\t@ApiProperty()\n\tstudentCount: number;\n\n\tconstructor(props: ClassInfoResponse) {\n\t\tthis.id = props.id;\n\t\tthis.type = props.type;\n\t\tthis.name = props.name;\n\t\tthis.externalSourceName = props.externalSourceName;\n\t\tthis.teachers = props.teachers;\n\t\tthis.schoolYear = props.schoolYear;\n\t\tthis.isUpgradable = props.isUpgradable;\n\t\tthis.studentCount = props.studentCount;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ClassInfoSearchListResponse.html":{"url":"classes/ClassInfoSearchListResponse.html","title":"class - ClassInfoSearchListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ClassInfoSearchListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/controller/dto/response/class-info-search-list.response.ts\n \n\n\n\n \n Extends\n \n \n PaginationResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: ClassInfoResponse[], total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/class-info-search-list.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n ClassInfoResponse[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : ClassInfoResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:14\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { PaginationResponse } from '@shared/controller';\nimport { ClassInfoResponse } from './class-info.response';\n\nexport class ClassInfoSearchListResponse extends PaginationResponse {\n\tconstructor(data: ClassInfoResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [ClassInfoResponse] })\n\tdata: ClassInfoResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ClassMapper.html":{"url":"classes/ClassMapper.html","title":"class - ClassMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ClassMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/repo/mapper/class.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Static\n mapToDO\n \n \n Static\n mapToDOs\n \n \n Static\n mapToEntities\n \n \n Static\n mapToEntity\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Static\n mapToDO\n \n \n \n \n \n \n \n mapToDO(entity: ClassEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/repo/mapper/class.mapper.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n ClassEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Class\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToDOs\n \n \n \n \n \n \n \n mapToDOs(entities: ClassEntity[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/repo/mapper/class.mapper.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n ClassEntity[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Class[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToEntities\n \n \n \n \n \n \n \n mapToEntities(domainObjects: Class[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/repo/mapper/class.mapper.ts:47\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n Class[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ClassEntity[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToEntity\n \n \n \n \n \n \n \n mapToEntity(domainObject: Class)\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/repo/mapper/class.mapper.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n Class\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ClassEntity\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { Class } from '../../domain';\nimport { ClassSourceOptions } from '../../domain/class-source-options.do';\nimport { ClassEntity } from '../../entity';\n\nexport class ClassMapper {\n\tprivate static mapToDO(entity: ClassEntity): Class {\n\t\treturn new Class({\n\t\t\tid: entity.id,\n\t\t\tname: entity.name,\n\t\t\tschoolId: entity.schoolId.toHexString(),\n\t\t\tuserIds: entity.userIds?.map((userId) => userId.toHexString()),\n\t\t\tteacherIds: entity.teacherIds.map((teacherId) => teacherId.toHexString()),\n\t\t\tinvitationLink: entity.invitationLink,\n\t\t\tyear: entity.year?.toHexString(),\n\t\t\tgradeLevel: entity.gradeLevel,\n\t\t\tldapDN: entity.ldapDN,\n\t\t\tsuccessor: entity.successor?.toHexString(),\n\t\t\tsource: entity.source,\n\t\t\tsourceOptions: new ClassSourceOptions({ tspUid: entity.sourceOptions?.tspUid }),\n\t\t\tcreatedAt: entity.createdAt,\n\t\t\tupdatedAt: entity.updatedAt,\n\t\t});\n\t}\n\n\tstatic mapToEntity(domainObject: Class): ClassEntity {\n\t\treturn new ClassEntity({\n\t\t\tid: domainObject.id,\n\t\t\tname: domainObject.name,\n\t\t\tschoolId: new ObjectId(domainObject.schoolId),\n\t\t\tteacherIds: domainObject.teacherIds.map((teacherId) => new ObjectId(teacherId)),\n\t\t\tuserIds: domainObject.userIds?.map((userId) => new ObjectId(userId)),\n\t\t\tinvitationLink: domainObject.invitationLink,\n\t\t\tyear: domainObject.year !== undefined ? new ObjectId(domainObject.year) : undefined,\n\t\t\tgradeLevel: domainObject.gradeLevel,\n\t\t\tldapDN: domainObject.ldapDN,\n\t\t\tsuccessor: domainObject.successor !== undefined ? new ObjectId(domainObject.successor) : undefined,\n\t\t\tsource: domainObject.source,\n\t\t\tsourceOptions: domainObject.sourceOptions,\n\t\t});\n\t}\n\n\tstatic mapToDOs(entities: ClassEntity[]): Class[] {\n\t\treturn entities.map((entity) => this.mapToDO(entity));\n\t}\n\n\tstatic mapToEntities(domainObjects: Class[]): ClassEntity[] {\n\t\treturn domainObjects.map((domainObject) => this.mapToEntity(domainObject));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ClassModule.html":{"url":"modules/ClassModule.html","title":"module - ClassModule","body":"\n \n\n\n\n\n Modules\n ClassModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ClassModule\n\n\n\ncluster_ClassModule_providers\n\n\n\ncluster_ClassModule_exports\n\n\n\n\nClassService \n\nClassService \n\n\n\nClassModule\n\nClassModule\n\nClassService -->\n\nClassModule->ClassService \n\n\n\n\n\nClassService\n\nClassService\n\nClassModule -->\n\nClassService->ClassModule\n\n\n\n\n\nClassesRepo\n\nClassesRepo\n\nClassModule -->\n\nClassesRepo->ClassModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/class/class.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ClassService\n \n \n ClassesRepo\n \n \n \n \n Exports\n \n \n ClassService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { ClassService } from './service';\nimport { ClassesRepo } from './repo';\n\n@Module({\n\tproviders: [ClassService, ClassesRepo],\n\texports: [ClassService],\n})\nexport class ClassModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ClassProps.html":{"url":"interfaces/ClassProps.html","title":"interface - ClassProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ClassProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/domain/class.do.ts\n \n\n\n\n \n Extends\n \n \n AuthorizableObject\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n createdAt\n \n \n \n Optional\n \n gradeLevel\n \n \n \n Optional\n \n invitationLink\n \n \n \n Optional\n \n ldapDN\n \n \n \n \n name\n \n \n \n \n schoolId\n \n \n \n Optional\n \n source\n \n \n \n Optional\n \n sourceOptions\n \n \n \n Optional\n \n successor\n \n \n \n \n teacherIds\n \n \n \n \n updatedAt\n \n \n \n Optional\n \n userIds\n \n \n \n Optional\n \n year\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n gradeLevel\n \n \n \n \n \n \n \n \n gradeLevel: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n invitationLink\n \n \n \n \n \n \n \n \n invitationLink: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n ldapDN\n \n \n \n \n \n \n \n \n ldapDN: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n schoolId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n source\n \n \n \n \n \n \n \n \n source: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n sourceOptions\n \n \n \n \n \n \n \n \n sourceOptions: ClassSourceOptions\n\n \n \n\n\n \n \n Type : ClassSourceOptions\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n successor\n \n \n \n \n \n \n \n \n successor: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n teacherIds\n \n \n \n \n \n \n \n \n teacherIds: EntityId[]\n\n \n \n\n\n \n \n Type : EntityId[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n userIds\n \n \n \n \n \n \n \n \n userIds: EntityId[]\n\n \n \n\n\n \n \n Type : EntityId[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n year\n \n \n \n \n \n \n \n \n year: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { AuthorizableObject, DomainObject } from '../../../shared/domain/domain-object';\nimport { ClassSourceOptions } from './class-source-options.do';\n\nexport interface ClassProps extends AuthorizableObject {\n\tname: string;\n\tschoolId: EntityId;\n\tuserIds?: EntityId[];\n\tteacherIds: EntityId[];\n\tinvitationLink?: string;\n\tyear?: EntityId;\n\tgradeLevel?: number;\n\tldapDN?: string;\n\tsuccessor?: EntityId;\n\tsource?: string;\n\tsourceOptions?: ClassSourceOptions;\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\nexport class Class extends DomainObject {\n\tget name(): string {\n\t\treturn this.props.name;\n\t}\n\n\tget schoolId(): EntityId {\n\t\treturn this.props.schoolId;\n\t}\n\n\tget userIds(): EntityId[] | undefined {\n\t\treturn this.props.userIds;\n\t}\n\n\tget teacherIds(): EntityId[] {\n\t\treturn this.props.teacherIds;\n\t}\n\n\tget invitationLink(): string | undefined {\n\t\treturn this.props.invitationLink;\n\t}\n\n\tget year(): EntityId | undefined {\n\t\treturn this.props.year;\n\t}\n\n\tget gradeLevel(): number | undefined {\n\t\treturn this.props.gradeLevel;\n\t}\n\n\tget ldapDN(): string | undefined {\n\t\treturn this.props.ldapDN;\n\t}\n\n\tget successor(): EntityId | undefined {\n\t\treturn this.props.successor;\n\t}\n\n\tget source(): string | undefined {\n\t\treturn this.props.source;\n\t}\n\n\tget sourceOptions(): ClassSourceOptions | undefined {\n\t\treturn this.props.sourceOptions;\n\t}\n\n\tget createdAt(): Date {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date {\n\t\treturn this.props.updatedAt;\n\t}\n\n\tpublic removeUser(userId: string) {\n\t\tthis.props.userIds = this.props.userIds?.filter((userId1) => userId1 !== userId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ClassService.html":{"url":"injectables/ClassService.html","title":"injectable - ClassService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ClassService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/service/class.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n deleteUserDataFromClasses\n \n \n Public\n Async\n findAllByUserId\n \n \n Public\n Async\n findClassesForSchool\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(classesRepo: ClassesRepo)\n \n \n \n \n Defined in apps/server/src/modules/class/service/class.service.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n classesRepo\n \n \n ClassesRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n deleteUserDataFromClasses\n \n \n \n \n \n \n \n deleteUserDataFromClasses(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/service/class.service.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findAllByUserId\n \n \n \n \n \n \n \n findAllByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/service/class.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findClassesForSchool\n \n \n \n \n \n \n \n findClassesForSchool(schoolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/service/class.service.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { Class } from '../domain';\nimport { ClassesRepo } from '../repo';\n\n@Injectable()\nexport class ClassService {\n\tconstructor(private readonly classesRepo: ClassesRepo) {}\n\n\tpublic async findClassesForSchool(schoolId: EntityId): Promise {\n\t\tconst classes: Class[] = await this.classesRepo.findAllBySchoolId(schoolId);\n\n\t\treturn classes;\n\t}\n\n\tpublic async findAllByUserId(userId: EntityId): Promise {\n\t\tconst classes: Class[] = await this.classesRepo.findAllByUserId(userId);\n\n\t\treturn classes;\n\t}\n\n\t// FIXME There is no usage of this method\n\tpublic async deleteUserDataFromClasses(userId: EntityId): Promise {\n\t\tif (!userId) {\n\t\t\tthrow new InternalServerErrorException('User id is missing');\n\t\t}\n\n\t\tconst domainObjects = await this.classesRepo.findAllByUserId(userId);\n\n\t\tconst updatedClasses: Class[] = domainObjects.map((domainObject) => {\n\t\t\tif (domainObject.userIds !== undefined) {\n\t\t\t\tdomainObject.removeUser(userId);\n\t\t\t}\n\t\t\treturn domainObject;\n\t\t});\n\n\t\tawait this.classesRepo.updateMany(updatedClasses);\n\n\t\treturn updatedClasses.length;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ClassSortParams.html":{"url":"classes/ClassSortParams.html","title":"class - ClassSortParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ClassSortParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/controller/dto/request/class-sort-params.ts\n \n\n\n\n \n Extends\n \n \n SortingParams\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n sortBy\n \n \n \n \n \n sortOrder\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n sortBy\n \n \n \n \n \n \n Type : ClassSortBy\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsEnum(ClassSortBy)@ApiPropertyOptional({enum: ClassSortBy})\n \n \n \n \n \n Inherited from SortingParams\n\n \n \n \n \n Defined in SortingParams:10\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n sortOrder\n \n \n \n \n \n \n Type : SortOrder\n\n \n \n \n \n Default value : SortOrder.asc\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsEnum(SortOrder)@ApiPropertyOptional({enum: SortOrder})\n \n \n \n \n \n Inherited from SortingParams\n\n \n \n \n \n Defined in SortingParams:18\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { SortingParams } from '@shared/controller';\nimport { IsEnum, IsOptional } from 'class-validator';\nimport { ClassSortBy } from '../interface';\n\nexport class ClassSortParams extends SortingParams {\n\t@IsOptional()\n\t@IsEnum(ClassSortBy)\n\t@ApiPropertyOptional({ enum: ClassSortBy })\n\tsortBy?: ClassSortBy;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ClassSourceOptions.html":{"url":"classes/ClassSourceOptions.html","title":"class - ClassSourceOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ClassSourceOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/domain/class-source-options.do.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n tspUid\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ClassSourceOptionsProps)\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class-source-options.do.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ClassSourceOptionsProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : ClassSourceOptionsProps\n\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class-source-options.do.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n tspUid\n \n \n\n \n \n gettspUid()\n \n \n \n \n Defined in apps/server/src/modules/class/domain/class-source-options.do.ts:12\n \n \n\n \n \n\n \n\n\n \n export interface ClassSourceOptionsProps {\n\ttspUid?: string;\n}\n\nexport class ClassSourceOptions {\n\tprotected props: ClassSourceOptionsProps;\n\n\tconstructor(props: ClassSourceOptionsProps) {\n\t\tthis.props = props;\n\t}\n\n\tget tspUid(): string | undefined {\n\t\treturn this.props.tspUid;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ClassSourceOptionsEntity.html":{"url":"classes/ClassSourceOptionsEntity.html","title":"class - ClassSourceOptionsEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ClassSourceOptionsEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/entity/class-source-options.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n tspUid\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ClassSourceOptionsEntityProps)\n \n \n \n \n Defined in apps/server/src/modules/class/entity/class-source-options.entity.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ClassSourceOptionsEntityProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n tspUid\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/class/entity/class-source-options.entity.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Property } from '@mikro-orm/core';\n\nexport interface ClassSourceOptionsEntityProps {\n\ttspUid?: string;\n}\n\n@Embeddable()\nexport class ClassSourceOptionsEntity {\n\t@Property({ nullable: true })\n\ttspUid?: string;\n\n\tconstructor(props: ClassSourceOptionsEntityProps) {\n\t\tif (props.tspUid !== undefined) {\n\t\t\tthis.tspUid = props.tspUid;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ClassSourceOptionsEntityProps.html":{"url":"interfaces/ClassSourceOptionsEntityProps.html","title":"interface - ClassSourceOptionsEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ClassSourceOptionsEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/entity/class-source-options.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n tspUid\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n tspUid\n \n \n \n \n \n \n \n \n tspUid: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Embeddable, Property } from '@mikro-orm/core';\n\nexport interface ClassSourceOptionsEntityProps {\n\ttspUid?: string;\n}\n\n@Embeddable()\nexport class ClassSourceOptionsEntity {\n\t@Property({ nullable: true })\n\ttspUid?: string;\n\n\tconstructor(props: ClassSourceOptionsEntityProps) {\n\t\tif (props.tspUid !== undefined) {\n\t\t\tthis.tspUid = props.tspUid;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ClassSourceOptionsProps.html":{"url":"interfaces/ClassSourceOptionsProps.html","title":"interface - ClassSourceOptionsProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ClassSourceOptionsProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/domain/class-source-options.do.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n tspUid\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n tspUid\n \n \n \n \n \n \n \n \n tspUid: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface ClassSourceOptionsProps {\n\ttspUid?: string;\n}\n\nexport class ClassSourceOptions {\n\tprotected props: ClassSourceOptionsProps;\n\n\tconstructor(props: ClassSourceOptionsProps) {\n\t\tthis.props = props;\n\t}\n\n\tget tspUid(): string | undefined {\n\t\treturn this.props.tspUid;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ClassesRepo.html":{"url":"injectables/ClassesRepo.html","title":"injectable - ClassesRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ClassesRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/class/repo/classes.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findAllBySchoolId\n \n \n Async\n findAllByUserId\n \n \n Async\n updateMany\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/class/repo/classes.repo.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findAllBySchoolId\n \n \n \n \n \n \n \n findAllBySchoolId(schoolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/repo/classes.repo.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllByUserId\n \n \n \n \n \n \n \n findAllByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/repo/classes.repo.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateMany\n \n \n \n \n \n \n \n updateMany(classes: Class[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/class/repo/classes.repo.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n classes\n \n Class[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager, ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { EntityId } from '@shared/domain/types';\nimport { Class } from '../domain';\nimport { ClassEntity } from '../entity';\nimport { ClassMapper } from './mapper';\n\n@Injectable()\nexport class ClassesRepo {\n\tconstructor(private readonly em: EntityManager) {}\n\n\tasync findAllBySchoolId(schoolId: EntityId): Promise {\n\t\tconst classes: ClassEntity[] = await this.em.find(ClassEntity, { schoolId: new ObjectId(schoolId) });\n\n\t\tconst mapped: Class[] = ClassMapper.mapToDOs(classes);\n\n\t\treturn mapped;\n\t}\n\n\tasync findAllByUserId(userId: EntityId): Promise {\n\t\tconst classes: ClassEntity[] = await this.em.find(ClassEntity, {\n\t\t\t$or: [{ userIds: new ObjectId(userId) }, { teacherIds: new ObjectId(userId) }],\n\t\t});\n\n\t\tconst mapped: Class[] = ClassMapper.mapToDOs(classes);\n\n\t\treturn mapped;\n\t}\n\n\tasync updateMany(classes: Class[]): Promise {\n\t\tconst classMap: Map = new Map(\n\t\t\tclasses.map((clazz: Class): [string, Class] => [clazz.id, clazz])\n\t\t);\n\n\t\tconst existingEntities: ClassEntity[] = await this.em.find(ClassEntity, {\n\t\t\tid: { $in: Array.from(classMap.keys()) },\n\t\t});\n\n\t\tif (existingEntities.length !existingEntities.find((entity) => entity.id === classId)\n\t\t\t);\n\n\t\t\tthrow new NotFoundLoggableException(Class.name, 'id', missingEntityIds.toString());\n\t\t}\n\n\t\texistingEntities.forEach((entity) => {\n\t\t\tconst updatedDomainObject: Class | undefined = classMap.get(entity.id);\n\n\t\t\tconst updatedEntity: ClassEntity = ClassMapper.mapToEntity(updatedDomainObject as Class);\n\n\t\t\tthis.em.assign(entity, updatedEntity);\n\t\t});\n\n\t\tawait this.em.persistAndFlush(existingEntities);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CleanOptions.html":{"url":"interfaces/CleanOptions.html","title":"interface - CleanOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CleanOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n pageSize\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n pageSize\n \n \n \n \n \n \n \n \n pageSize: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { ConsoleWriterService } from '@infra/console';\nimport { LegacyLogger } from '@src/core/logger';\nimport { Command, CommandOption, Console } from 'nestjs-console';\nimport { KeycloakConfigurationUc } from '../uc/keycloak-configuration.uc';\n\nconst defaultError = new Error('IDM is not reachable or authentication failed.');\n\ninterface RetryOptions {\n\tretryCount?: number;\n\tretryDelay?: number;\n}\n\ninterface MigrationOptions {\n\tskip?: number;\n\tquery?: string;\n\tverbose?: boolean;\n}\n\ninterface CleanOptions {\n\tpageSize?: number;\n}\n@Console({ command: 'idm', description: 'Prefixes all Identity Management (IDM) related console commands.' })\nexport class KeycloakConsole {\n\tconstructor(\n\t\tprivate readonly console: ConsoleWriterService,\n\t\tprivate readonly keycloakConfigurationUc: KeycloakConfigurationUc,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(KeycloakConsole.name);\n\t}\n\n\tstatic retryFlags: CommandOption[] = [\n\t\t{\n\t\t\tflags: '-rc, --retry-count ',\n\t\t\tdescription: 'If the command fails, it will be retried this number of times. Default is no retry.',\n\t\t\trequired: false,\n\t\t\tdefaultValue: 1,\n\t\t},\n\t\t{\n\t\t\tflags: '-rd, --retry-delay ',\n\t\t\tdescription: 'If \"retry\" is active, this delay is used between each retry. Default is 10 seconds.',\n\t\t\trequired: false,\n\t\t\tdefaultValue: 10,\n\t\t},\n\t];\n\n\t/**\n\t * For local development. Checks if connection to IDM is working.\n\t */\n\t@Command({ command: 'check', description: 'Test the connection to the IDM.' })\n\tasync check(): Promise {\n\t\tif (await this.keycloakConfigurationUc.check()) {\n\t\t\tthis.console.info('Connected to IDM');\n\t\t} else {\n\t\t\tthrow defaultError;\n\t\t}\n\t}\n\n\t/**\n\t * Cleans users from IDM\n\t *\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'clean',\n\t\tdescription: 'Remove all users from the IDM.',\n\t\toptions: [\n\t\t\t...KeycloakConsole.retryFlags,\n\t\t\t{\n\t\t\t\tflags: '- mps, --maxPageSize ',\n\t\t\t\tdescription: 'Maximum users to delete per Keycloak API session. Default 100.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: 100,\n\t\t\t},\n\t\t],\n\t})\n\tasync clean(options: RetryOptions & CleanOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'clean',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.clean(options.pageSize ? Number(options.pageSize) : 100);\n\t\t\t\tthis.console.info(`Cleaned ${count} users in IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * For local development. Seeds user into IDM\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'seed',\n\t\tdescription: 'Add all seed users to the IDM.',\n\t\toptions: KeycloakConsole.retryFlags,\n\t})\n\tasync seed(options: RetryOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'seed',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.seed();\n\t\t\t\tthis.console.info(`Seeded ${count} users into IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * Used in production and for local development to transfer configuration to keycloak.\n\t *\n\t */\n\t@Command({\n\t\tcommand: 'configure',\n\t\tdescription: 'Configures Keycloak identity providers.',\n\t\toptions: [...KeycloakConsole.retryFlags],\n\t})\n\tasync configure(options: RetryOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'configure',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.configure();\n\t\t\t\tthis.console.info(`Configured ${count} identity provider(s).`);\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * For migration purpose. Moves all database accounts to the IDM\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'migrate',\n\t\tdescription: 'Add all database users to the IDM.',\n\t\toptions: [\n\t\t\t...KeycloakConsole.retryFlags,\n\t\t\t{\n\t\t\t\tflags: '-s, --skip',\n\t\t\t\tdescription: 'Skip the first \"s\" accounts during migration. Default 0.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: undefined,\n\t\t\t},\n\t\t\t{\n\t\t\t\tflags: '-v, --verbose',\n\t\t\t\tdescription: 'Log all events. Default is false.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: false,\n\t\t\t},\n\t\t],\n\t})\n\tasync migrate(options: RetryOptions & MigrationOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'migrate',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.migrate(\n\t\t\t\t\toptions.skip ? Number(options.skip) : undefined,\n\t\t\t\t\toptions.verbose ? Boolean(options.verbose) : false\n\t\t\t\t);\n\t\t\t\tthis.console.info(`Migrated ${count} users into IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\tprivate async repeatCommand(commandName: string, command: () => Promise, count = 1, delay = 10): Promise {\n\t\tlet repetitions = 0;\n\t\tlet error = new Error('error could be thrown if count is {\n\t\t\tsetTimeout(resolve, ms);\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CloseUserLoginMigrationUc.html":{"url":"injectables/CloseUserLoginMigrationUc.html","title":"injectable - CloseUserLoginMigrationUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CloseUserLoginMigrationUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/uc/close-user-login-migration.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n closeMigration\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userLoginMigrationService: UserLoginMigrationService, schoolMigrationService: SchoolMigrationService, userLoginMigrationRevertService: UserLoginMigrationRevertService, authorizationService: AuthorizationService)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/uc/close-user-login-migration.uc.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigrationService\n \n \n UserLoginMigrationService\n \n \n \n No\n \n \n \n \n schoolMigrationService\n \n \n SchoolMigrationService\n \n \n \n No\n \n \n \n \n userLoginMigrationRevertService\n \n \n UserLoginMigrationRevertService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n closeMigration\n \n \n \n \n \n \n \n closeMigration(userId: EntityId, schoolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/uc/close-user-login-migration.uc.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { UserLoginMigrationNotFoundLoggableException } from '../loggable';\nimport { SchoolMigrationService, UserLoginMigrationRevertService, UserLoginMigrationService } from '../service';\n\n@Injectable()\nexport class CloseUserLoginMigrationUc {\n\tconstructor(\n\t\tprivate readonly userLoginMigrationService: UserLoginMigrationService,\n\t\tprivate readonly schoolMigrationService: SchoolMigrationService,\n\t\tprivate readonly userLoginMigrationRevertService: UserLoginMigrationRevertService,\n\t\tprivate readonly authorizationService: AuthorizationService\n\t) {}\n\n\tasync closeMigration(userId: EntityId, schoolId: EntityId): Promise {\n\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationService.findMigrationBySchool(\n\t\t\tschoolId\n\t\t);\n\n\t\tif (!userLoginMigration) {\n\t\t\tthrow new UserLoginMigrationNotFoundLoggableException(schoolId);\n\t\t}\n\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(userId);\n\t\tthis.authorizationService.checkPermission(\n\t\t\tuser,\n\t\t\tuserLoginMigration,\n\t\t\tAuthorizationContextBuilder.write([Permission.USER_LOGIN_MIGRATION_ADMIN])\n\t\t);\n\n\t\tconst updatedUserLoginMigration: UserLoginMigrationDO = await this.userLoginMigrationService.closeMigration(\n\t\t\tuserLoginMigration\n\t\t);\n\n\t\tconst hasSchoolMigratedUser: boolean = await this.schoolMigrationService.hasSchoolMigratedUser(schoolId);\n\n\t\tif (!hasSchoolMigratedUser) {\n\t\t\tawait this.userLoginMigrationRevertService.revertUserLoginMigration(updatedUserLoginMigration);\n\n\t\t\treturn undefined;\n\t\t}\n\n\t\tawait this.schoolMigrationService.markUnmigratedUsersAsOutdated(updatedUserLoginMigration);\n\n\t\treturn updatedUserLoginMigration;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CollaborativeStorageAdapter.html":{"url":"injectables/CollaborativeStorageAdapter.html","title":"injectable - CollaborativeStorageAdapter","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CollaborativeStorageAdapter\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/collaborative-storage.adapter.ts\n \n\n\n \n Description\n \n \n Provides an Adapter to an external collaborative storage.\nIt loads an appropriate strategy and applies that to the given data.\n\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n strategy\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n createTeam\n \n \n deleteTeam\n \n \n setStrategy\n \n \n updateTeam\n \n \n updateTeamPermissionsForRole\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(strategy: CollaborativeStorageStrategy, mapper: CollaborativeStorageAdapterMapper, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/infra/collaborative-storage/collaborative-storage.adapter.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n strategy\n \n \n CollaborativeStorageStrategy\n \n \n \n No\n \n \n \n \n mapper\n \n \n CollaborativeStorageAdapterMapper\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n createTeam\n \n \n \n \n \n \ncreateTeam(team: TeamDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/collaborative-storage.adapter.ts:58\n \n \n\n\n \n \n Creates a team in the collaborative storage\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n The team DTO\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n deleteTeam\n \n \n \n \n \n \ndeleteTeam(teamId: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/collaborative-storage.adapter.ts:49\n \n \n\n\n \n \n Deletes a team in the collaborative storage\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n teamId\n \n string\n \n\n \n No\n \n\n\n \n The team id\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setStrategy\n \n \n \n \n \n \nsetStrategy(strategy: CollaborativeStorageStrategy)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/collaborative-storage.adapter.ts:30\n \n \n\n\n \n \n Set the strategy that should be used by the adapter\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n strategy\n \n CollaborativeStorageStrategy\n \n\n \n No\n \n\n\n \n The strategy\n\n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateTeam\n \n \n \n \n \n \nupdateTeam(team: TeamDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/collaborative-storage.adapter.ts:67\n \n \n\n\n \n \n Updates a team in the collaborative storage\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n The team DTO\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateTeamPermissionsForRole\n \n \n \n \n \n \nupdateTeamPermissionsForRole(team: TeamDto, role: RoleDto, permissions: TeamPermissionsDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/collaborative-storage.adapter.ts:40\n \n \n\n\n \n \n Update the Permissions for a given Role in the given Team\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n The Team DTO\n\n \n \n \n role\n \n RoleDto\n \n\n \n No\n \n\n\n \n The Role DTO\n\n \n \n \n permissions\n \n TeamPermissionsDto\n \n\n \n No\n \n\n\n \n The permissions to set\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n strategy\n \n \n \n \n \n \n Type : CollaborativeStorageStrategy\n\n \n \n \n \n Defined in apps/server/src/infra/collaborative-storage/collaborative-storage.adapter.ts:15\n \n \n\n\n \n \n\n\n \n\n\n \n import { TeamPermissionsDto } from '@modules/collaborative-storage/services/dto/team-permissions.dto';\nimport { TeamDto } from '@modules/collaborative-storage/services/dto/team.dto';\nimport { RoleDto } from '@modules/role/service/dto/role.dto';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { LegacyLogger } from '@src/core/logger';\nimport { CollaborativeStorageAdapterMapper } from './mapper/collaborative-storage-adapter.mapper';\nimport { CollaborativeStorageStrategy } from './strategy/base.interface.strategy';\n\n/**\n * Provides an Adapter to an external collaborative storage.\n * It loads an appropriate strategy and applies that to the given data.\n */\n@Injectable()\nexport class CollaborativeStorageAdapter {\n\tstrategy: CollaborativeStorageStrategy;\n\n\tconstructor(\n\t\t@Inject('CollaborativeStorageStrategy') strategy: CollaborativeStorageStrategy,\n\t\tprivate mapper: CollaborativeStorageAdapterMapper,\n\t\tprivate logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(CollaborativeStorageAdapter.name);\n\t\tthis.strategy = strategy;\n\t}\n\n\t/**\n\t * Set the strategy that should be used by the adapter\n\t * @param strategy The strategy\n\t */\n\tsetStrategy(strategy: CollaborativeStorageStrategy) {\n\t\tthis.strategy = strategy;\n\t}\n\n\t/**\n\t * Update the Permissions for a given Role in the given Team\n\t * @param team The Team DTO\n\t * @param role The Role DTO\n\t * @param permissions The permissions to set\n\t */\n\tupdateTeamPermissionsForRole(team: TeamDto, role: RoleDto, permissions: TeamPermissionsDto): Promise {\n\t\treturn this.strategy.updateTeamPermissionsForRole(this.mapper.mapDomainToAdapter(team, role, permissions));\n\t}\n\n\t/**\n\t * Deletes a team in the collaborative storage\n\t *\n\t * @param teamId The team id\n\t */\n\tdeleteTeam(teamId: string): Promise {\n\t\treturn this.strategy.deleteTeam(teamId);\n\t}\n\n\t/**\n\t * Creates a team in the collaborative storage\n\t *\n\t * @param team The team DTO\n\t */\n\tcreateTeam(team: TeamDto): Promise {\n\t\treturn this.strategy.createTeam(team);\n\t}\n\n\t/**\n\t * Updates a team in the collaborative storage\n\t *\n\t * @param team The team DTO\n\t */\n\tupdateTeam(team: TeamDto): Promise {\n\t\treturn this.strategy.updateTeam(team);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CollaborativeStorageAdapterMapper.html":{"url":"injectables/CollaborativeStorageAdapterMapper.html","title":"injectable - CollaborativeStorageAdapterMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CollaborativeStorageAdapterMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/mapper/collaborative-storage-adapter.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n mapDomainToAdapter\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n mapDomainToAdapter\n \n \n \n \n \n \n \n mapDomainToAdapter(team: TeamDto, role: RoleDto, permissions: TeamPermissionsDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/mapper/collaborative-storage-adapter.mapper.ts:16\n \n \n\n\n \n \n Maps the Domain DTOs to an appropriate adapter DTO\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n The Team DTO\n\n \n \n \n role\n \n RoleDto\n \n\n \n No\n \n\n\n \n The Role DTO\n\n \n \n \n permissions\n \n TeamPermissionsDto\n \n\n \n No\n \n\n\n \n The Permissions DTO\n\n \n \n \n \n \n \n Returns : TeamRolePermissionsDto\n\n \n \n The mapped adapter DTO\n\n \n \n \n \n \n\n\n \n\n\n \n import { TeamPermissionsDto } from '@modules/collaborative-storage/services/dto/team-permissions.dto';\nimport { TeamDto } from '@modules/collaborative-storage/services/dto/team.dto';\nimport { Injectable } from '@nestjs/common';\nimport { RoleDto } from '@modules/role/service/dto/role.dto';\nimport { TeamRolePermissionsDto } from '../dto/team-role-permissions.dto';\n\n@Injectable()\nexport class CollaborativeStorageAdapterMapper {\n\t/**\n\t * Maps the Domain DTOs to an appropriate adapter DTO\n\t * @param team The Team DTO\n\t * @param role The Role DTO\n\t * @param permissions The Permissions DTO\n\t * @return The mapped adapter DTO\n\t */\n\tpublic mapDomainToAdapter(team: TeamDto, role: RoleDto, permissions: TeamPermissionsDto): TeamRolePermissionsDto {\n\t\treturn new TeamRolePermissionsDto({\n\t\t\tteamId: team.id,\n\t\t\tteamName: team.name,\n\t\t\troleName: role.name,\n\t\t\tpermissions: [\n\t\t\t\t!!permissions.read,\n\t\t\t\t!!permissions.write,\n\t\t\t\t!!permissions.create,\n\t\t\t\t!!permissions.delete,\n\t\t\t\t!!permissions.share,\n\t\t\t],\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/CollaborativeStorageAdapterModule.html":{"url":"modules/CollaborativeStorageAdapterModule.html","title":"module - CollaborativeStorageAdapterModule","body":"\n \n\n\n\n\n Modules\n CollaborativeStorageAdapterModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_CollaborativeStorageAdapterModule\n\n\n\ncluster_CollaborativeStorageAdapterModule_providers\n\n\n\ncluster_CollaborativeStorageAdapterModule_imports\n\n\n\ncluster_CollaborativeStorageAdapterModule_exports\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nCollaborativeStorageAdapterModule\n\nCollaborativeStorageAdapterModule\n\nCollaborativeStorageAdapterModule -->\n\nLoggerModule->CollaborativeStorageAdapterModule\n\n\n\n\n\nPseudonymModule\n\nPseudonymModule\n\nCollaborativeStorageAdapterModule -->\n\nPseudonymModule->CollaborativeStorageAdapterModule\n\n\n\n\n\nToolModule\n\nToolModule\n\nCollaborativeStorageAdapterModule -->\n\nToolModule->CollaborativeStorageAdapterModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nCollaborativeStorageAdapterModule -->\n\nUserModule->CollaborativeStorageAdapterModule\n\n\n\n\n\nCollaborativeStorageAdapter \n\nCollaborativeStorageAdapter \n\nCollaborativeStorageAdapter -->\n\nCollaborativeStorageAdapterModule->CollaborativeStorageAdapter \n\n\n\n\n\nCollaborativeStorageAdapter\n\nCollaborativeStorageAdapter\n\nCollaborativeStorageAdapterModule -->\n\nCollaborativeStorageAdapter->CollaborativeStorageAdapterModule\n\n\n\n\n\nCollaborativeStorageAdapterMapper\n\nCollaborativeStorageAdapterMapper\n\nCollaborativeStorageAdapterModule -->\n\nCollaborativeStorageAdapterMapper->CollaborativeStorageAdapterModule\n\n\n\n\n\nLtiToolRepo\n\nLtiToolRepo\n\nCollaborativeStorageAdapterModule -->\n\nLtiToolRepo->CollaborativeStorageAdapterModule\n\n\n\n\n\nNextcloudClient\n\nNextcloudClient\n\nCollaborativeStorageAdapterModule -->\n\nNextcloudClient->CollaborativeStorageAdapterModule\n\n\n\n\n\nNextcloudStrategy\n\nNextcloudStrategy\n\nCollaborativeStorageAdapterModule -->\n\nNextcloudStrategy->CollaborativeStorageAdapterModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/collaborative-storage/collaborative-storage-adapter.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n CollaborativeStorageAdapter\n \n \n CollaborativeStorageAdapterMapper\n \n \n LtiToolRepo\n \n \n NextcloudClient\n \n \n NextcloudStrategy\n \n \n \n \n Imports\n \n \n LoggerModule\n \n \n PseudonymModule\n \n \n ToolModule\n \n \n UserModule\n \n \n \n \n Exports\n \n \n CollaborativeStorageAdapter\n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { PseudonymModule } from '@modules/pseudonym';\nimport { ToolModule } from '@modules/tool';\nimport { UserModule } from '@modules/user';\nimport { HttpModule } from '@nestjs/axios';\nimport { Module, Provider } from '@nestjs/common';\nimport { LtiToolRepo } from '@shared/repo/ltitool/';\nimport { LoggerModule } from '@src/core/logger';\nimport { CollaborativeStorageAdapter } from './collaborative-storage.adapter';\nimport { CollaborativeStorageAdapterMapper } from './mapper';\nimport { NextcloudClient } from './strategy/nextcloud/nextcloud.client';\nimport { NextcloudStrategy } from './strategy/nextcloud/nextcloud.strategy';\n\nconst storageStrategy: Provider = {\n\tprovide: 'CollaborativeStorageStrategy',\n\tuseExisting: NextcloudStrategy,\n};\n\n@Module({\n\timports: [HttpModule, LoggerModule, ToolModule, PseudonymModule, UserModule],\n\tproviders: [\n\t\tCollaborativeStorageAdapter,\n\t\tCollaborativeStorageAdapterMapper,\n\t\tLtiToolRepo,\n\t\tNextcloudStrategy,\n\t\tNextcloudClient,\n\t\tstorageStrategy,\n\t\t{\n\t\t\tprovide: 'oidcInternalName',\n\t\t\tuseValue: Configuration.get('NEXTCLOUD_SOCIALLOGIN_OIDC_INTERNAL_NAME') as string,\n\t\t},\n\t],\n\texports: [CollaborativeStorageAdapter],\n})\nexport class CollaborativeStorageAdapterModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/CollaborativeStorageController.html":{"url":"controllers/CollaborativeStorageController.html","title":"controller - CollaborativeStorageController","body":"\n \n\n\n\n\n\n\n Controllers\n CollaborativeStorageController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/collaborative-storage/controller/collaborative-storage.controller.ts\n \n\n \n Prefix\n \n \n collaborative-storage\n \n\n\n \n Description\n \n \n Class for providing access to an external collaborative storage.\n\n \n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n updateTeamPermissionsForRole\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n updateTeamPermissionsForRole\n \n \n \n \n \n \n \n updateTeamPermissionsForRole(currentUser: ICurrentUser, teamRole: TeamRoleDto, permissionsBody: TeamPermissionsBody)\n \n \n\n \n \n Decorators : \n \n @Patch('team/:teamId/role/:roleId/permissions')@ApiResponse({status: 200, description: 'Updates the permissions for a team in the external collaborative storage'})@ApiResponse({status: 400, description: 'An error occurred while processing the request'})@ApiResponse({status: 403, description: 'User does not have the correct permission'})@ApiResponse({status: 404, description: 'Team or Role not found!'})\n \n \n\n \n \n Defined in apps/server/src/modules/collaborative-storage/controller/collaborative-storage.controller.ts:32\n \n \n\n\n \n \n Updates the CRUD Permissions(+Share) for a specific Role in a Team\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n The current User\n\n \n \n \n teamRole\n \n TeamRoleDto\n \n\n \n No\n \n\n\n \n Encapsulates the Team and Role to be updated\n\n \n \n \n permissionsBody\n \n TeamPermissionsBody\n \n\n \n No\n \n\n\n \n The new Permissions\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, Param, Patch } from '@nestjs/common';\nimport { ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { LegacyLogger } from '@src/core/logger';\nimport { CollaborativeStorageUc } from '../uc/collaborative-storage.uc';\nimport { TeamPermissionsBody } from './dto/team-permissions.body.params';\nimport { TeamRoleDto } from './dto/team-role.params';\n\n/**\n * Class for providing access to an external collaborative storage.\n *\n */\n@ApiTags('Collaborative-Storage')\n@Authenticate('jwt')\n@Controller('collaborative-storage')\nexport class CollaborativeStorageController {\n\tconstructor(private readonly teamStorageUc: CollaborativeStorageUc, private logger: LegacyLogger) {\n\t\tthis.logger.setContext(CollaborativeStorageController.name);\n\t}\n\n\t/**\n\t * Updates the CRUD Permissions(+Share) for a specific Role in a Team\n\t * @param currentUser The current User\n\t * @param teamRole Encapsulates the Team and Role to be updated\n\t * @param permissionsBody The new Permissions\n\t */\n\t@Patch('team/:teamId/role/:roleId/permissions')\n\t@ApiResponse({ status: 200, description: 'Updates the permissions for a team in the external collaborative storage' })\n\t@ApiResponse({ status: 400, description: 'An error occurred while processing the request' })\n\t@ApiResponse({ status: 403, description: 'User does not have the correct permission' })\n\t@ApiResponse({ status: 404, description: 'Team or Role not found!' })\n\tupdateTeamPermissionsForRole(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() teamRole: TeamRoleDto,\n\t\t@Body() permissionsBody: TeamPermissionsBody\n\t): Promise {\n\t\treturn this.teamStorageUc.updateUserPermissionsForRole(currentUser.userId, teamRole, permissionsBody);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/CollaborativeStorageModule.html":{"url":"modules/CollaborativeStorageModule.html","title":"module - CollaborativeStorageModule","body":"\n \n\n\n\n\n Modules\n CollaborativeStorageModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_CollaborativeStorageModule\n\n\n\ncluster_CollaborativeStorageModule_exports\n\n\n\ncluster_CollaborativeStorageModule_imports\n\n\n\ncluster_CollaborativeStorageModule_providers\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nCollaborativeStorageModule\n\nCollaborativeStorageModule\n\nCollaborativeStorageModule -->\n\nAuthorizationModule->CollaborativeStorageModule\n\n\n\n\n\nCollaborativeStorageAdapterModule\n\nCollaborativeStorageAdapterModule\n\nCollaborativeStorageModule -->\n\nCollaborativeStorageAdapterModule->CollaborativeStorageModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nCollaborativeStorageModule -->\n\nLoggerModule->CollaborativeStorageModule\n\n\n\n\n\nRoleModule\n\nRoleModule\n\nCollaborativeStorageModule -->\n\nRoleModule->CollaborativeStorageModule\n\n\n\n\n\nCollaborativeStorageUc \n\nCollaborativeStorageUc \n\nCollaborativeStorageUc -->\n\nCollaborativeStorageModule->CollaborativeStorageUc \n\n\n\n\n\nCollaborativeStorageService\n\nCollaborativeStorageService\n\nCollaborativeStorageModule -->\n\nCollaborativeStorageService->CollaborativeStorageModule\n\n\n\n\n\nCollaborativeStorageUc\n\nCollaborativeStorageUc\n\nCollaborativeStorageModule -->\n\nCollaborativeStorageUc->CollaborativeStorageModule\n\n\n\n\n\nTeamMapper\n\nTeamMapper\n\nCollaborativeStorageModule -->\n\nTeamMapper->CollaborativeStorageModule\n\n\n\n\n\nTeamPermissionsMapper\n\nTeamPermissionsMapper\n\nCollaborativeStorageModule -->\n\nTeamPermissionsMapper->CollaborativeStorageModule\n\n\n\n\n\nTeamsRepo\n\nTeamsRepo\n\nCollaborativeStorageModule -->\n\nTeamsRepo->CollaborativeStorageModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/collaborative-storage/collaborative-storage.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n CollaborativeStorageService\n \n \n CollaborativeStorageUc\n \n \n TeamMapper\n \n \n TeamPermissionsMapper\n \n \n TeamsRepo\n \n \n \n \n Controllers\n \n \n CollaborativeStorageController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n CollaborativeStorageAdapterModule\n \n \n LoggerModule\n \n \n RoleModule\n \n \n \n \n Exports\n \n \n CollaborativeStorageUc\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { CollaborativeStorageAdapterModule } from '@infra/collaborative-storage';\nimport { TeamsRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { RoleModule } from '@modules/role';\nimport { CollaborativeStorageService } from './services';\nimport { TeamPermissionsMapper, TeamMapper } from './mapper';\nimport { CollaborativeStorageController } from './controller';\nimport { CollaborativeStorageUc } from './uc';\n\n@Module({\n\timports: [CollaborativeStorageAdapterModule, AuthorizationModule, LoggerModule, RoleModule],\n\tproviders: [TeamsRepo, CollaborativeStorageUc, CollaborativeStorageService, TeamPermissionsMapper, TeamMapper],\n\tcontrollers: [CollaborativeStorageController],\n\texports: [CollaborativeStorageUc],\n})\nexport class CollaborativeStorageModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CollaborativeStorageService.html":{"url":"injectables/CollaborativeStorageService.html","title":"injectable - CollaborativeStorageService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CollaborativeStorageService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/collaborative-storage/services/collaborative-storage.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n createTeam\n \n \n deleteTeam\n \n \n Async\n findTeamById\n \n \n updateTeam\n \n \n Async\n updateTeamPermissionsForRole\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(adapter: CollaborativeStorageAdapter, roleService: RoleService, teamsMapper: TeamMapper, teamsRepo: TeamsRepo, authService: AuthorizationService, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/collaborative-storage.service.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n adapter\n \n \n CollaborativeStorageAdapter\n \n \n \n No\n \n \n \n \n roleService\n \n \n RoleService\n \n \n \n No\n \n \n \n \n teamsMapper\n \n \n TeamMapper\n \n \n \n No\n \n \n \n \n teamsRepo\n \n \n TeamsRepo\n \n \n \n No\n \n \n \n \n authService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n createTeam\n \n \n \n \n \n \ncreateTeam(team: TeamDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/collaborative-storage/services/collaborative-storage.service.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n deleteTeam\n \n \n \n \n \n \ndeleteTeam(teamId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/collaborative-storage/services/collaborative-storage.service.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n teamId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findTeamById\n \n \n \n \n \n \n \n findTeamById(teamId: EntityId, populate)\n \n \n\n\n \n \n Defined in apps/server/src/modules/collaborative-storage/services/collaborative-storage.service.ts:32\n \n \n\n\n \n \n Find a Team by its Id and return the DTO\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n Description\n \n \n \n \n teamId\n \n EntityId\n \n\n \n No\n \n\n \n \n\n \n The TeamId\n\n \n \n \n populate\n \n \n\n \n No\n \n\n \n false\n \n\n \n Decide, if you want to populate the Users in the Entity\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n The mapped DTO\n\n \n \n \n \n \n \n \n \n \n \n \n updateTeam\n \n \n \n \n \n \nupdateTeam(team: TeamDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/collaborative-storage/services/collaborative-storage.service.ts:69\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateTeamPermissionsForRole\n \n \n \n \n \n \n \n updateTeamPermissionsForRole(currentUserId: string, teamId: string, roleId: string, teamPermissions: TeamPermissionsDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/collaborative-storage/services/collaborative-storage.service.ts:43\n \n \n\n\n \n \n Sets the Permissions for the specified Role in a Team\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n currentUserId\n \n string\n \n\n \n No\n \n\n\n \n The current User. Needs to be either the teamowner or an teamadmin\n\n \n \n \n teamId\n \n string\n \n\n \n No\n \n\n\n \n The TeamId\n\n \n \n \n roleId\n \n string\n \n\n \n No\n \n\n\n \n The RoleId\n\n \n \n \n teamPermissions\n \n TeamPermissionsDto\n \n\n \n No\n \n\n\n \n The new Permissions\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CollaborativeStorageAdapter } from '@infra/collaborative-storage';\nimport { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { RoleService } from '@modules/role/service/role.service';\nimport { Injectable } from '@nestjs/common';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { TeamsRepo } from '@shared/repo';\nimport { LegacyLogger } from '@src/core/logger';\nimport { TeamMapper } from '../mapper/team.mapper';\nimport { TeamPermissionsDto } from './dto/team-permissions.dto';\nimport { TeamDto } from './dto/team.dto';\n\n@Injectable()\nexport class CollaborativeStorageService {\n\tconstructor(\n\t\tprivate adapter: CollaborativeStorageAdapter,\n\t\tprivate roleService: RoleService,\n\t\tprivate teamsMapper: TeamMapper,\n\t\tprivate teamsRepo: TeamsRepo,\n\t\tprivate authService: AuthorizationService,\n\t\tprivate logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(CollaborativeStorageService.name);\n\t}\n\n\t/**\n\t * Find a Team by its Id and return the DTO\n\t * @param teamId The TeamId\n\t * @param populate Decide, if you want to populate the Users in the Entity\n\t * @return The mapped DTO\n\t */\n\tasync findTeamById(teamId: EntityId, populate = false): Promise {\n\t\treturn this.teamsMapper.mapEntityToDto(await this.teamsRepo.findById(teamId, populate));\n\t}\n\n\t/**\n\t * Sets the Permissions for the specified Role in a Team\n\t * @param currentUserId The current User. Needs to be either the teamowner or an teamadmin\n\t * @param teamId The TeamId\n\t * @param roleId The RoleId\n\t * @param teamPermissions The new Permissions\n\t */\n\tasync updateTeamPermissionsForRole(\n\t\tcurrentUserId: string,\n\t\tteamId: string,\n\t\troleId: string,\n\t\tteamPermissions: TeamPermissionsDto\n\t): Promise {\n\t\tthis.authService.checkPermission(\n\t\t\tawait this.authService.getUserWithPermissions(currentUserId),\n\t\t\tawait this.teamsRepo.findById(teamId, true),\n\t\t\tAuthorizationContextBuilder.write([Permission.CHANGE_TEAM_ROLES])\n\t\t);\n\t\treturn this.adapter.updateTeamPermissionsForRole(\n\t\t\tawait this.findTeamById(teamId, true),\n\t\t\tawait this.roleService.findById(roleId),\n\t\t\tteamPermissions\n\t\t);\n\t}\n\n\tdeleteTeam(teamId: string): Promise {\n\t\treturn this.adapter.deleteTeam(teamId);\n\t}\n\n\tcreateTeam(team: TeamDto): Promise {\n\t\treturn this.adapter.createTeam(team);\n\t}\n\n\tupdateTeam(team: TeamDto): Promise {\n\t\treturn this.adapter.updateTeam(team);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CollaborativeStorageStrategy.html":{"url":"interfaces/CollaborativeStorageStrategy.html","title":"interface - CollaborativeStorageStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CollaborativeStorageStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/strategy/base.interface.strategy.ts\n \n\n\n \n Description\n \n \n base interface for all CollaborativeStorage Strategies\n\n \n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n createTeam\n \n \n \n \n deleteTeam\n \n \n \n \n updateTeam\n \n \n \n \n updateTeamPermissionsForRole\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n createTeam\n \n \n \n \n \n \ncreateTeam(team: TeamDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/base.interface.strategy.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n deleteTeam\n \n \n \n \n \n \ndeleteTeam(teamId: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/base.interface.strategy.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n teamId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateTeam\n \n \n \n \n \n \nupdateTeam(team: TeamDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/base.interface.strategy.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateTeamPermissionsForRole\n \n \n \n \n \n \nupdateTeamPermissionsForRole(dto: TeamRolePermissionsDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/base.interface.strategy.ts:12\n \n \n\n\n \n \n Updates The Permissions for the given Role in the given Team\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n dto\n \n TeamRolePermissionsDto\n \n\n \n No\n \n\n\n \n The DTO to be processed\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { TeamDto } from '@modules/collaborative-storage/services/dto/team.dto';\nimport { TeamRolePermissionsDto } from '../dto/team-role-permissions.dto';\n\n/**\n * base interface for all CollaborativeStorage Strategies\n */\nexport interface CollaborativeStorageStrategy {\n\t/**\n\t * Updates The Permissions for the given Role in the given Team\n\t * @param dto The DTO to be processed\n\t */\n\tupdateTeamPermissionsForRole(dto: TeamRolePermissionsDto): Promise;\n\n\tdeleteTeam(teamId: string): Promise;\n\n\tcreateTeam(team: TeamDto): Promise;\n\n\tupdateTeam(team: TeamDto): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CollaborativeStorageUc.html":{"url":"injectables/CollaborativeStorageUc.html","title":"injectable - CollaborativeStorageUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CollaborativeStorageUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/collaborative-storage/uc/collaborative-storage.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n createTeam\n \n \n deleteTeam\n \n \n updateTeam\n \n \n Async\n updateUserPermissionsForRole\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(service: CollaborativeStorageService, permissionMapper: TeamPermissionsMapper)\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/uc/collaborative-storage.uc.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n service\n \n \n CollaborativeStorageService\n \n \n \n No\n \n \n \n \n permissionMapper\n \n \n TeamPermissionsMapper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n createTeam\n \n \n \n \n \n \ncreateTeam(team: TeamDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/collaborative-storage/uc/collaborative-storage.uc.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n deleteTeam\n \n \n \n \n \n \ndeleteTeam(teamId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/collaborative-storage/uc/collaborative-storage.uc.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n teamId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n updateTeam\n \n \n \n \n \n \nupdateTeam(team: TeamDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/collaborative-storage/uc/collaborative-storage.uc.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateUserPermissionsForRole\n \n \n \n \n \n \n \n updateUserPermissionsForRole(currentUserId: string, teamRole: TeamRoleDto, permissionsDto: TeamPermissionsBody)\n \n \n\n\n \n \n Defined in apps/server/src/modules/collaborative-storage/uc/collaborative-storage.uc.ts:21\n \n \n\n\n \n \n Sets the Permissions for the specified Role in a Team\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n currentUserId\n \n string\n \n\n \n No\n \n\n\n \n The current User. Needs to be either the teamowner or an teamadmin\n\n \n \n \n teamRole\n \n TeamRoleDto\n \n\n \n No\n \n\n\n \n The Team and Role to be altered\n\n \n \n \n permissionsDto\n \n TeamPermissionsBody\n \n\n \n No\n \n\n\n \n The new permissions\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { CollaborativeStorageService } from '@modules/collaborative-storage/services/collaborative-storage.service';\nimport { TeamPermissionsMapper } from '@modules/collaborative-storage/mapper/team-permissions.mapper';\nimport { TeamDto } from '@modules/collaborative-storage/services/dto/team.dto';\nimport { TeamPermissionsBody } from '../controller/dto/team-permissions.body.params';\nimport { TeamRoleDto } from '../controller/dto/team-role.params';\n\n@Injectable()\nexport class CollaborativeStorageUc {\n\tconstructor(\n\t\tprivate readonly service: CollaborativeStorageService,\n\t\tprivate readonly permissionMapper: TeamPermissionsMapper\n\t) {}\n\n\t/**\n\t * Sets the Permissions for the specified Role in a Team\n\t * @param currentUserId The current User. Needs to be either the teamowner or an teamadmin\n\t * @param teamRole The Team and Role to be altered\n\t * @param permissionsDto The new permissions\n\t */\n\tasync updateUserPermissionsForRole(\n\t\tcurrentUserId: string,\n\t\tteamRole: TeamRoleDto,\n\t\tpermissionsDto: TeamPermissionsBody\n\t): Promise {\n\t\treturn this.service.updateTeamPermissionsForRole(\n\t\t\tcurrentUserId,\n\t\t\tteamRole.teamId,\n\t\t\tteamRole.roleId,\n\t\t\tthis.permissionMapper.mapBodyToDto(permissionsDto)\n\t\t);\n\t}\n\n\tdeleteTeam(teamId: string): Promise {\n\t\treturn this.service.deleteTeam(teamId);\n\t}\n\n\tcreateTeam(team: TeamDto): Promise {\n\t\treturn this.service.createTeam(team);\n\t}\n\n\tupdateTeam(team: TeamDto): Promise {\n\t\treturn this.service.updateTeam(team);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CollectionFilePath.html":{"url":"interfaces/CollectionFilePath.html","title":"interface - CollectionFilePath","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CollectionFilePath\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/management/uc/database-management.uc.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n collectionName\n \n \n \n \n filePath\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n collectionName\n \n \n \n \n \n \n \n \n collectionName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n filePath\n \n \n \n \n \n \n \n \n filePath: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\nimport { DatabaseManagementService } from '@infra/database';\nimport { DefaultEncryptionService, EncryptionService, LdapEncryptionService } from '@infra/encryption';\nimport { FileSystemAdapter } from '@infra/file-system';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { StorageProviderEntity, SystemEntity } from '@shared/domain/entity';\nimport { LegacyLogger } from '@src/core/logger';\nimport { orderBy } from 'lodash';\nimport { BsonConverter } from '../converter/bson.converter';\nimport { generateSeedData } from '../seed-data/generateSeedData';\n\nexport interface CollectionFilePath {\n\tfilePath: string;\n\tcollectionName: string;\n}\n\nconst systemsCollectionName = 'systems';\nconst storageprovidersCollectionName = 'storageproviders';\n\nconst defaultSecretReplacementHintText = 'replace with secret placeholder';\n\n@Injectable()\nexport class DatabaseManagementUc {\n\t/**\n\t * relative path to seed data folder based of location of this file.\n\t */\n\tprivate basePath = '../../../../../../backup';\n\n\tconstructor(\n\t\tprivate fileSystemAdapter: FileSystemAdapter,\n\t\tprivate databaseManagementService: DatabaseManagementService,\n\t\tprivate bsonConverter: BsonConverter,\n\t\tprivate readonly configService: ConfigService,\n\t\tprivate readonly logger: LegacyLogger,\n\t\tprivate em: EntityManager,\n\t\t@Inject(DefaultEncryptionService) private readonly defaultEncryptionService: EncryptionService,\n\t\t@Inject(LdapEncryptionService) private readonly ldapEncryptionService: EncryptionService\n\t) {\n\t\tthis.logger.setContext(DatabaseManagementUc.name);\n\t}\n\n\t/**\n\t * absolute path reference for seed data base folder.\n\t */\n\tprivate get baseDir(): string {\n\t\tconst folderPath = this.fileSystemAdapter.joinPath(__dirname, this.basePath);\n\t\treturn folderPath;\n\t}\n\n\t/**\n\t * setup dir with json files\n\t */\n\tprivate getSeedFolder() {\n\t\treturn this.fileSystemAdapter.joinPath(this.baseDir, 'setup');\n\t}\n\n\t/**\n\t * export folder name based on current date\n\t * @returns\n\t */\n\tprivate getTargetFolder(toSeedFolder?: boolean) {\n\t\tif (toSeedFolder === true) {\n\t\t\tconst targetFolder = this.getSeedFolder();\n\t\t\treturn targetFolder;\n\t\t}\n\t\tconst now = new Date();\n\t\tconst currentDateTime = `${now.getFullYear()}_${\n\t\t\tnow.getMonth() + 1\n\t\t}_${now.getDate()}_${now.getHours()}_${now.getMinutes()}_${now.getSeconds()}`;\n\t\tconst targetFolder = this.fileSystemAdapter.joinPath(this.baseDir, currentDateTime);\n\t\treturn targetFolder;\n\t}\n\n\t/**\n\t * Loads all collection names from database and adds related file paths.\n\t * @returns {CollectionFilePath}\n\t */\n\tprivate async loadAllCollectionsFromDatabase(targetFolder: string): Promise {\n\t\tconst collections = await this.databaseManagementService.getCollectionNames();\n\t\tconst collectionsWithFilePaths = collections.map((collectionName) => {\n\t\t\treturn {\n\t\t\t\tfilePath: this.fileSystemAdapter.joinPath(targetFolder, `${collectionName}.json`),\n\t\t\t\tcollectionName,\n\t\t\t};\n\t\t});\n\t\treturn collectionsWithFilePaths;\n\t}\n\n\t/**\n\t * Loads all collection names and file paths from backup files.\n\t * @returns {CollectionFilePath}\n\t */\n\tprivate async loadAllCollectionsFromFilesystem(baseDir: string): Promise {\n\t\tconst filenames = await this.fileSystemAdapter.readDir(baseDir);\n\t\tconst collectionsWithFilePaths = filenames.map((fileName) => {\n\t\t\treturn {\n\t\t\t\tfilePath: this.fileSystemAdapter.joinPath(baseDir, fileName),\n\t\t\t\tcollectionName: fileName.split('.')[0],\n\t\t\t};\n\t\t});\n\t\treturn collectionsWithFilePaths;\n\t}\n\n\t/**\n\t * Scans for existing collections and optionally filters them based on \n\t * @param source\n\t * @param collectionNameFilter\n\t * @returns {CollectionFilePath} the filtered collection names and related file paths\n\t */\n\tprivate async loadCollectionsAvailableFromSourceAndFilterByCollectionNames(\n\t\tsource: 'files' | 'database',\n\t\tfolder: string,\n\t\tcollectionNameFilter?: string[]\n\t) {\n\t\tlet allCollectionsWithFilePaths: CollectionFilePath[] = [];\n\n\t\t// load all available collections from source\n\t\tif (source === 'files') {\n\t\t\tallCollectionsWithFilePaths = await this.loadAllCollectionsFromFilesystem(folder);\n\t\t} else {\n\t\t\t// source === 'database'\n\t\t\tallCollectionsWithFilePaths = await this.loadAllCollectionsFromDatabase(folder);\n\t\t}\n\n\t\t// when a collection name filter is given, apply it and check\n\t\tif (Array.isArray(collectionNameFilter) && collectionNameFilter.length > 0) {\n\t\t\tconst filteredCollectionsWithFilePaths = allCollectionsWithFilePaths.filter(({ collectionName }) =>\n\t\t\t\tcollectionNameFilter?.includes(collectionName)\n\t\t\t);\n\n\t\t\tif (filteredCollectionsWithFilePaths.length !== collectionNameFilter.length) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\t`At least one collectionName of ${JSON.stringify(\n\t\t\t\t\t\tcollectionNameFilter\n\t\t\t\t\t)} is invalid. Collection names available in '${source}' are: ${JSON.stringify(\n\t\t\t\t\t\tallCollectionsWithFilePaths.map((file) => file.collectionName)\n\t\t\t\t\t)}`\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn filteredCollectionsWithFilePaths;\n\t\t}\n\n\t\treturn allCollectionsWithFilePaths;\n\t}\n\n\tprivate async dropCollectionIfExists(collectionName: string) {\n\t\tconst collectionExists = await this.databaseManagementService.collectionExists(collectionName);\n\t\tif (collectionExists) {\n\t\t\t// clear existing documents, if collection exists\n\t\t\tawait this.databaseManagementService.clearCollection(collectionName);\n\t\t} else {\n\t\t\t// create collection\n\t\t\tawait this.databaseManagementService.createCollection(collectionName);\n\t\t}\n\t}\n\n\tasync seedDatabaseCollectionsFromFactories(collections?: string[]): Promise {\n\t\tconst promises = generateSeedData((s: string) => this.injectEnvVars(s))\n\t\t\t.filter((data) => {\n\t\t\t\tif (collections && collections.length > 0) {\n\t\t\t\t\treturn collections.includes(data.collectionName);\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t})\n\t\t\t.map(async ({ collectionName, data }) => {\n\t\t\t\tif (collectionName === systemsCollectionName) {\n\t\t\t\t\tthis.encryptSecretsInSystems(data as SystemEntity[]);\n\t\t\t\t}\n\t\t\t\tawait this.dropCollectionIfExists(collectionName);\n\n\t\t\t\tawait this.em.persistAndFlush(data);\n\n\t\t\t\treturn `${collectionName}:${data.length}`;\n\t\t\t});\n\n\t\tconst seededCollectionsWithAmount = await Promise.all(promises);\n\n\t\treturn seededCollectionsWithAmount;\n\t}\n\n\t/**\n\t * Imports all or filtered from filesystem as bson to database.\n\t * The behaviour should match $ mongoimport\n\t * @param collections optional filter applied on existing collections\n\t * @returns the list of collection names exported\n\t */\n\tasync seedDatabaseCollectionsFromFileSystem(collections?: string[]): Promise {\n\t\t// detect collections to seed based on filesystem data\n\t\tconst setupPath = this.getSeedFolder();\n\t\tconst collectionsToSeed = await this.loadCollectionsAvailableFromSourceAndFilterByCollectionNames(\n\t\t\t'files',\n\t\t\tsetupPath,\n\t\t\tcollections\n\t\t);\n\n\t\tconst seededCollectionsWithAmount: string[] = [];\n\n\t\tawait Promise.all(\n\t\t\tcollectionsToSeed.map(async ({ filePath, collectionName }) => {\n\t\t\t\t// load text from backup file\n\t\t\t\tlet fileContent = await this.fileSystemAdapter.readFile(filePath);\n\n\t\t\t\tif (collectionName === systemsCollectionName || collectionName === storageprovidersCollectionName) {\n\t\t\t\t\tfileContent = this.injectEnvVars(fileContent);\n\t\t\t\t}\n\n\t\t\t\t// create bson-objects from text\n\t\t\t\tconst bsonDocuments = JSON.parse(fileContent) as unknown[];\n\t\t\t\t// deserialize bson (format of mongoexport) to json documents we can import to mongo\n\t\t\t\tconst jsonDocuments = this.bsonConverter.deserialize(bsonDocuments);\n\n\t\t\t\t// hint: collection drop/create is very slow, delete all documents instead\n\t\t\t\tconst collectionExists = await this.databaseManagementService.collectionExists(collectionName);\n\t\t\t\tif (collectionExists) {\n\t\t\t\t\t// clear existing documents, if collection exists\n\t\t\t\t\tawait this.databaseManagementService.clearCollection(collectionName);\n\t\t\t\t} else {\n\t\t\t\t\t// create collection\n\t\t\t\t\tawait this.databaseManagementService.createCollection(collectionName);\n\t\t\t\t}\n\n\t\t\t\tthis.encryptSecrets(collectionName, jsonDocuments);\n\n\t\t\t\t// import backup data into database collection\n\t\t\t\tconst importedDocumentsAmount = await this.databaseManagementService.importCollection(\n\t\t\t\t\tcollectionName,\n\t\t\t\t\tjsonDocuments\n\t\t\t\t);\n\t\t\t\t// keep collection name and number of imported documents\n\t\t\t\tseededCollectionsWithAmount.push(`${collectionName}:${importedDocumentsAmount}`);\n\t\t\t})\n\t\t);\n\t\treturn seededCollectionsWithAmount;\n\t}\n\n\t/**\n\t * Exports all or defined from database as bson to filesystem.\n\t * The behaviour should match $ mongoexport\n\t * @param collections optional filter applied on existing collections\n\t * @param toSeedFolder optional override existing seed data files\n\t * @returns the list of collection names exported\n\t */\n\tasync exportCollectionsToFileSystem(collections?: string[], toSeedFolder?: boolean): Promise {\n\t\tconst targetFolder = this.getTargetFolder(toSeedFolder);\n\t\tawait this.fileSystemAdapter.createDir(targetFolder);\n\t\t// detect collections to export based on database collections\n\t\tconst collectionsToExport = await this.loadCollectionsAvailableFromSourceAndFilterByCollectionNames(\n\t\t\t'database',\n\t\t\ttargetFolder,\n\t\t\tcollections\n\t\t);\n\t\tconst exportedCollections: string[] = [];\n\n\t\tawait Promise.all(\n\t\t\tcollectionsToExport.map(async ({ filePath, collectionName }) => {\n\t\t\t\t// load json documents from collection\n\t\t\t\tconst jsonDocuments = await this.databaseManagementService.findDocumentsOfCollection(collectionName);\n\t\t\t\tthis.removeSecrets(collectionName, jsonDocuments);\n\t\t\t\t// serialize to bson (format of mongoexport)\n\t\t\t\tconst bsonDocuments = this.bsonConverter.serialize(jsonDocuments);\n\t\t\t\t// sort results to have 'new' data added at documents end\n\t\t\t\tconst sortedBsonDocuments = orderBy(bsonDocuments, ['_id.$oid', 'createdAt.$date'], ['asc', 'asc']);\n\t\t\t\t// convert to text\n\t\t\t\tconst TAB = '\t';\n\t\t\t\tconst json = JSON.stringify(sortedBsonDocuments, undefined, TAB);\n\t\t\t\t// persist to filesystem\n\t\t\t\tawait this.fileSystemAdapter.writeFile(filePath, json + this.fileSystemAdapter.EOL);\n\t\t\t\t// keep collection name and number of exported documents\n\t\t\t\texportedCollections.push(`${collectionName}:${sortedBsonDocuments.length}`);\n\t\t\t})\n\t\t);\n\t\treturn exportedCollections;\n\t}\n\n\t/**\n\t * Updates the indexes in the database based on definitions in entities\n\t */\n\tasync syncIndexes(): Promise {\n\t\tawait this.createUserSearchIndex();\n\t\treturn this.databaseManagementService.syncIndexes();\n\t}\n\n\tprivate async createUserSearchIndex(): Promise {\n\t\tconst usersCollection = this.databaseManagementService.getDatabaseCollection('users');\n\t\tconst userSearchIndexExists = await usersCollection.indexExists('userSearchIndex');\n\t\tconst indexes = await usersCollection.indexes();\n\n\t\tif (userSearchIndexExists) {\n\t\t\tconst userSearchIndex = indexes.filter((i) => i.name === 'userSearchIndex');\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\tif (userSearchIndex[0].key?.schoolId === 1) {\n\t\t\t\tthis.logger.debug('userSearcIndex does not require update');\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tawait usersCollection.dropIndex('userSearchIndex');\n\t\t}\n\n\t\tawait usersCollection.createIndex(\n\t\t\t{\n\t\t\t\tfirstName: 'text',\n\t\t\t\tlastName: 'text',\n\t\t\t\temail: 'text',\n\t\t\t\tfirstNameSearchValues: 'text',\n\t\t\t\tlastNameSearchValues: 'text',\n\t\t\t\temailSearchValues: 'text',\n\t\t\t\tschoolId: 1,\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'userSearchIndex',\n\t\t\t\tweights: {\n\t\t\t\t\tfirstName: 15,\n\t\t\t\t\tlastName: 15,\n\t\t\t\t\temail: 15,\n\t\t\t\t\tfirstNameSearchValues: 3,\n\t\t\t\t\tlastNameSearchValues: 3,\n\t\t\t\t\temailSearchValues: 2,\n\t\t\t\t},\n\t\t\t\tdefault_language: 'none', // no stop words and no stemming,\n\t\t\t\tlanguage_override: 'de',\n\t\t\t}\n\t\t);\n\t}\n\n\tprivate injectEnvVars(json: string): string {\n\t\t// replace ${VAR} with VAR content\n\t\tjson = json.replace(/(?\n\t\t\tthis.resolvePlaceholder(placeholder.substring(2, placeholder.length - 1))\n\t\t);\n\t\t// replace \\$ with $ (escaped placeholder sequence)\n\t\tjson = json.replace(/\\\\\\$/g, '$');\n\t\treturn json;\n\t}\n\n\tprivate resolvePlaceholder(placeholder: string) {\n\t\tif (Configuration.has(placeholder)) {\n\t\t\treturn Configuration.get(placeholder) as string;\n\t\t}\n\t\tconst placeholderValue = this.configService.get(placeholder);\n\t\tif (placeholderValue) {\n\t\t\treturn placeholderValue;\n\t\t}\n\t\tthis.logger.warn(`Placeholder \"${placeholder}\" could not be resolved!`);\n\t\treturn '';\n\t}\n\n\tprivate encryptSecrets(collectionName: string, jsonDocuments: unknown[]) {\n\t\tif (collectionName === systemsCollectionName) {\n\t\t\tthis.encryptSecretsInSystems(jsonDocuments as SystemEntity[]);\n\t\t}\n\t}\n\n\tprivate encryptSecretsInSystems(systems: SystemEntity[]) {\n\t\tsystems.forEach((system) => {\n\t\t\tif (system.oauthConfig) {\n\t\t\t\tsystem.oauthConfig.clientSecret = this.defaultEncryptionService.encrypt(system.oauthConfig.clientSecret);\n\t\t\t}\n\t\t\tif (system.oidcConfig) {\n\t\t\t\tsystem.oidcConfig.clientSecret = this.defaultEncryptionService.encrypt(system.oidcConfig.clientSecret);\n\t\t\t}\n\t\t\tif (system.ldapConfig) {\n\t\t\t\tsystem.ldapConfig.searchUserPassword = this.ldapEncryptionService.encrypt(\n\t\t\t\t\tsystem.ldapConfig.searchUserPassword as string\n\t\t\t\t);\n\t\t\t}\n\t\t});\n\t\treturn systems;\n\t}\n\n\t/**\n\t * Removes all known secrets (hard coded) from the export.\n\t * Manual replacement with the intend placeholders or value is mandatory.\n\t * Currently this affects system and storageproviders collections.\n\t */\n\tprivate removeSecrets(collectionName: string, jsonDocuments: unknown[]) {\n\t\tif (collectionName === systemsCollectionName) {\n\t\t\tthis.removeSecretsFromSystems(jsonDocuments as SystemEntity[]);\n\t\t}\n\t\tif (collectionName === storageprovidersCollectionName) {\n\t\t\tthis.removeSecretsFromStorageproviders(jsonDocuments as StorageProviderEntity[]);\n\t\t}\n\t}\n\n\tprivate removeSecretsFromStorageproviders(storageProviders: StorageProviderEntity[]) {\n\t\tstorageProviders.forEach((storageProvider) => {\n\t\t\tstorageProvider.accessKeyId = defaultSecretReplacementHintText;\n\t\t\tstorageProvider.secretAccessKey = defaultSecretReplacementHintText;\n\t\t});\n\t}\n\n\tprivate removeSecretsFromSystems(systems: SystemEntity[]) {\n\t\tsystems.forEach((system) => {\n\t\t\tif (system.oauthConfig) {\n\t\t\t\tsystem.oauthConfig.clientSecret = defaultSecretReplacementHintText;\n\t\t\t}\n\t\t\tif (system.oidcConfig) {\n\t\t\t\tsystem.oidcConfig.clientSecret = defaultSecretReplacementHintText;\n\t\t\t}\n\t\t\tif (system.ldapConfig) {\n\t\t\t\tsystem.ldapConfig.searchUserPassword = defaultSecretReplacementHintText;\n\t\t\t}\n\t\t});\n\t\treturn systems;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Column.html":{"url":"classes/Column.html","title":"class - Column","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Column\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/column.do.ts\n \n\n\n\n \n Extends\n \n \n BoardComposite\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n accept\n \n \n Async\n acceptAsync\n \n \n isAllowedAsChild\n \n \n addChild\n \n \n hasChild\n \n \n removeChild\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n title\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n accept\n \n \n \n \n \n \naccept(visitor: BoardCompositeVisitor)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitor\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n acceptAsync\n \n \n \n \n \n \n \n acceptAsync(visitor: BoardCompositeVisitorAsync)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:23\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitorAsync\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isAllowedAsChild\n \n \n \n \n \n \nisAllowedAsChild(domainObject: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:14\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addChild\n \n \n \n \n \n \naddChild(child: AnyBoardDo, position?: number)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n position\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasChild\n \n \n \n \n \n \nhasChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeChild\n \n \n \n \n \n \nremoveChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n title\n \n \n\n \n \n gettitle()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/column.do.ts:6\n \n \n\n \n \n settitle(title: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/column.do.ts:10\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n title\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport { Card } from './card.do';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class Column extends BoardComposite {\n\tget title(): string {\n\t\treturn this.props.title;\n\t}\n\n\tset title(title: string) {\n\t\tthis.props.title = title;\n\t}\n\n\tisAllowedAsChild(domainObject: AnyBoardDo): boolean {\n\t\tconst allowed = domainObject instanceof Card;\n\t\treturn allowed;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitColumn(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitColumnAsync(this);\n\t}\n}\n\nexport interface ColumnProps extends BoardCompositeProps {\n\ttitle: string;\n}\n\nexport function isColumn(reference: unknown): reference is Column {\n\treturn reference instanceof Column;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ColumnBoard.html":{"url":"classes/ColumnBoard.html","title":"class - ColumnBoard","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ColumnBoard\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/column-board.do.ts\n \n\n\n\n \n Extends\n \n \n BoardComposite\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n accept\n \n \n Async\n acceptAsync\n \n \n isAllowedAsChild\n \n \n addChild\n \n \n hasChild\n \n \n removeChild\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n title\n \n \n context\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n accept\n \n \n \n \n \n \naccept(visitor: BoardCompositeVisitor)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:27\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitor\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n acceptAsync\n \n \n \n \n \n \n \n acceptAsync(visitor: BoardCompositeVisitorAsync)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitorAsync\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isAllowedAsChild\n \n \n \n \n \n \nisAllowedAsChild(domainObject: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addChild\n \n \n \n \n \n \naddChild(child: AnyBoardDo, position?: number)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n position\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasChild\n \n \n \n \n \n \nhasChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeChild\n \n \n \n \n \n \nremoveChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n title\n \n \n\n \n \n gettitle()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/column-board.do.ts:6\n \n \n\n \n \n settitle(title: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/column-board.do.ts:10\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n title\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n context\n \n \n\n \n \n getcontext()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/column-board.do.ts:14\n \n \n\n \n \n setcontext(context: BoardExternalReference)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/column-board.do.ts:18\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n context\n \n \n BoardExternalReference\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport { Column } from './column.do';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync, BoardExternalReference } from './types';\n\nexport class ColumnBoard extends BoardComposite {\n\tget title(): string {\n\t\treturn this.props.title;\n\t}\n\n\tset title(title: string) {\n\t\tthis.props.title = title;\n\t}\n\n\tget context(): BoardExternalReference {\n\t\treturn this.props.context;\n\t}\n\n\tset context(context: BoardExternalReference) {\n\t\tthis.props.context = context;\n\t}\n\n\tisAllowedAsChild(domainObject: AnyBoardDo): boolean {\n\t\tconst allowed = domainObject instanceof Column;\n\t\treturn allowed;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitColumnBoard(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitColumnBoardAsync(this);\n\t}\n}\n\nexport interface ColumnBoardProps extends BoardCompositeProps {\n\ttitle: string;\n\tcontext: BoardExternalReference;\n}\n\nexport function isColumnBoard(reference: unknown): reference is ColumnBoard {\n\treturn reference instanceof ColumnBoard;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ColumnBoardCopyService.html":{"url":"injectables/ColumnBoardCopyService.html","title":"injectable - ColumnBoardCopyService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ColumnBoardCopyService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/column-board-copy.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n copyColumnBoard\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(boardDoRepo: BoardDoRepo, courseRepo: CourseRepo, userService: UserService, boardDoCopyService: BoardDoCopyService, fileCopyServiceFactory: SchoolSpecificFileCopyServiceFactory)\n \n \n \n \n Defined in apps/server/src/modules/board/service/column-board-copy.service.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDoRepo\n \n \n BoardDoRepo\n \n \n \n No\n \n \n \n \n courseRepo\n \n \n CourseRepo\n \n \n \n No\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n boardDoCopyService\n \n \n BoardDoCopyService\n \n \n \n No\n \n \n \n \n fileCopyServiceFactory\n \n \n SchoolSpecificFileCopyServiceFactory\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n copyColumnBoard\n \n \n \n \n \n \n \n copyColumnBoard(props: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column-board-copy.service.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n literal type\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CopyStatus } from '@modules/copy-helper';\nimport { UserService } from '@modules/user';\nimport { Injectable, InternalServerErrorException, NotImplementedException } from '@nestjs/common';\nimport {\n\tBoardExternalReference,\n\tBoardExternalReferenceType,\n\tColumnBoard,\n\tisColumnBoard,\n} from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { CourseRepo } from '@shared/repo';\nimport { BoardDoRepo } from '../repo';\nimport { BoardDoCopyService, SchoolSpecificFileCopyServiceFactory } from './board-do-copy-service';\n\n@Injectable()\nexport class ColumnBoardCopyService {\n\tconstructor(\n\t\tprivate readonly boardDoRepo: BoardDoRepo,\n\t\tprivate readonly courseRepo: CourseRepo,\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly boardDoCopyService: BoardDoCopyService,\n\t\tprivate readonly fileCopyServiceFactory: SchoolSpecificFileCopyServiceFactory\n\t) {}\n\n\tasync copyColumnBoard(props: {\n\t\toriginalColumnBoardId: EntityId;\n\t\tdestinationExternalReference: BoardExternalReference;\n\t\tuserId: EntityId;\n\t}): Promise {\n\t\tconst originalBoard = await this.boardDoRepo.findByClassAndId(ColumnBoard, props.originalColumnBoardId);\n\n\t\tconst user = await this.userService.findById(props.userId);\n\t\t/* istanbul ignore next */\n\t\tif (originalBoard.context.type !== BoardExternalReferenceType.Course) {\n\t\t\tthrow new NotImplementedException('only courses are supported as board parents');\n\t\t}\n\t\tconst course = await this.courseRepo.findById(originalBoard.context.id); // TODO: get rid of this\n\n\t\tconst fileCopyService = this.fileCopyServiceFactory.build({\n\t\t\tsourceSchoolId: course.school.id,\n\t\t\ttargetSchoolId: user.schoolId,\n\t\t\tuserId: props.userId,\n\t\t});\n\n\t\tconst copyStatus = await this.boardDoCopyService.copy({ original: originalBoard, fileCopyService });\n\n\t\t/* istanbul ignore next */\n\t\tif (!isColumnBoard(copyStatus.copyEntity)) {\n\t\t\tthrow new InternalServerErrorException('expected copy of columnboard to be a columnboard');\n\t\t}\n\n\t\tcopyStatus.copyEntity.context = props.destinationExternalReference;\n\t\tawait this.boardDoRepo.save(copyStatus.copyEntity);\n\n\t\treturn copyStatus;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ColumnBoardFactory.html":{"url":"classes/ColumnBoardFactory.html","title":"class - ColumnBoardFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ColumnBoardFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/domainobject/board/column-board.do.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withoutContext\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withoutContext\n \n \n \n \n \n \nwithoutContext()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/domainobject/board/column-board.do.factory.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ColumnBoard, ColumnBoardProps } from '@shared/domain/domainobject';\nimport { BoardExternalReferenceType } from '@shared/domain/domainobject/board/types';\nimport { ObjectId } from 'bson';\nimport { BaseFactory } from '../../base.factory';\n\nexport type IColumnBoardProperties = Readonly;\n\nclass ColumnBoardFactory extends BaseFactory {\n\twithoutContext(): this {\n\t\tconst params = { context: undefined };\n\t\treturn this.params(params);\n\t}\n}\nexport const columnBoardFactory = ColumnBoardFactory.define(ColumnBoard, ({ sequence }) => {\n\treturn {\n\t\tid: new ObjectId().toHexString(),\n\t\ttitle: `column board #${sequence}`,\n\t\tchildren: [],\n\t\tcreatedAt: new Date(),\n\t\tupdatedAt: new Date(),\n\t\tcontext: {\n\t\t\ttype: BoardExternalReferenceType.Course,\n\t\t\tid: new ObjectId().toHexString(),\n\t\t},\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/ColumnBoardNode.html":{"url":"entities/ColumnBoardNode.html","title":"entity - ColumnBoardNode","body":"\n \n\n\n\n\n\n\n\n Entities\n ColumnBoardNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/column-board-node.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n _contextId\n \n \n \n _contextType\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n _contextId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'context'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/column-board-node.entity.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n _contextType\n \n \n \n \n \n \n Type : BoardExternalReferenceType\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'contextType'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/column-board-node.entity.ts:23\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport {\n\tAnyBoardDo,\n\tBoardExternalReference,\n\tBoardExternalReferenceType,\n} from '@shared/domain/domainobject/board/types';\nimport { ObjectId } from 'bson';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder } from './types';\nimport { BoardNodeType } from './types/board-node-type';\n\n@Entity({ discriminatorValue: BoardNodeType.COLUMN_BOARD })\nexport class ColumnBoardNode extends BoardNode {\n\tconstructor(props: ColumnBoardNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.COLUMN_BOARD;\n\n\t\tthis._contextType = props.context.type;\n\t\tthis._contextId = new ObjectId(props.context.id);\n\t}\n\n\t@Property({ fieldName: 'contextType' })\n\t_contextType: BoardExternalReferenceType;\n\n\t@Property({ fieldName: 'context' })\n\t_contextId: ObjectId;\n\n\tget context(): BoardExternalReference {\n\t\treturn {\n\t\t\ttype: this._contextType,\n\t\t\tid: this._contextId.toHexString(),\n\t\t};\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildColumnBoard(this);\n\t\treturn domainObject;\n\t}\n}\n\nexport interface ColumnBoardNodeProps extends BoardNodeProps {\n\tcontext: BoardExternalReference;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ColumnBoardNodeProps.html":{"url":"interfaces/ColumnBoardNodeProps.html","title":"interface - ColumnBoardNodeProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ColumnBoardNodeProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/column-board-node.entity.ts\n \n\n\n\n \n Extends\n \n \n BoardNodeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n context\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n context\n \n \n \n \n \n \n \n \n context: BoardExternalReference\n\n \n \n\n\n \n \n Type : BoardExternalReference\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport {\n\tAnyBoardDo,\n\tBoardExternalReference,\n\tBoardExternalReferenceType,\n} from '@shared/domain/domainobject/board/types';\nimport { ObjectId } from 'bson';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder } from './types';\nimport { BoardNodeType } from './types/board-node-type';\n\n@Entity({ discriminatorValue: BoardNodeType.COLUMN_BOARD })\nexport class ColumnBoardNode extends BoardNode {\n\tconstructor(props: ColumnBoardNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.COLUMN_BOARD;\n\n\t\tthis._contextType = props.context.type;\n\t\tthis._contextId = new ObjectId(props.context.id);\n\t}\n\n\t@Property({ fieldName: 'contextType' })\n\t_contextType: BoardExternalReferenceType;\n\n\t@Property({ fieldName: 'context' })\n\t_contextId: ObjectId;\n\n\tget context(): BoardExternalReference {\n\t\treturn {\n\t\t\ttype: this._contextType,\n\t\t\tid: this._contextId.toHexString(),\n\t\t};\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildColumnBoard(this);\n\t\treturn domainObject;\n\t}\n}\n\nexport interface ColumnBoardNodeProps extends BoardNodeProps {\n\tcontext: BoardExternalReference;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ColumnBoardProps.html":{"url":"interfaces/ColumnBoardProps.html","title":"interface - ColumnBoardProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ColumnBoardProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/column-board.do.ts\n \n\n\n\n \n Extends\n \n \n BoardCompositeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n context\n \n \n \n \n title\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n context\n \n \n \n \n \n \n \n \n context: BoardExternalReference\n\n \n \n\n\n \n \n Type : BoardExternalReference\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport { Column } from './column.do';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync, BoardExternalReference } from './types';\n\nexport class ColumnBoard extends BoardComposite {\n\tget title(): string {\n\t\treturn this.props.title;\n\t}\n\n\tset title(title: string) {\n\t\tthis.props.title = title;\n\t}\n\n\tget context(): BoardExternalReference {\n\t\treturn this.props.context;\n\t}\n\n\tset context(context: BoardExternalReference) {\n\t\tthis.props.context = context;\n\t}\n\n\tisAllowedAsChild(domainObject: AnyBoardDo): boolean {\n\t\tconst allowed = domainObject instanceof Column;\n\t\treturn allowed;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitColumnBoard(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitColumnBoardAsync(this);\n\t}\n}\n\nexport interface ColumnBoardProps extends BoardCompositeProps {\n\ttitle: string;\n\tcontext: BoardExternalReference;\n}\n\nexport function isColumnBoard(reference: unknown): reference is ColumnBoard {\n\treturn reference instanceof ColumnBoard;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ColumnBoardService.html":{"url":"injectables/ColumnBoardService.html","title":"injectable - ColumnBoardService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ColumnBoardService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/column-board.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n create\n \n \n Private\n createRichTextElement\n \n \n Async\n createWelcomeColumnBoard\n \n \n Async\n delete\n \n \n Async\n findByDescendant\n \n \n Async\n findById\n \n \n Async\n findIdsByExternalReference\n \n \n Async\n getBoardObjectTitlesById\n \n \n Async\n updateTitle\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(boardDoRepo: BoardDoRepo, boardDoService: BoardDoService, contentElementFactory: ContentElementFactory)\n \n \n \n \n Defined in apps/server/src/modules/board/service/column-board.service.ts:20\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDoRepo\n \n \n BoardDoRepo\n \n \n \n No\n \n \n \n \n boardDoService\n \n \n BoardDoService\n \n \n \n No\n \n \n \n \n contentElementFactory\n \n \n ContentElementFactory\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n create\n \n \n \n \n \n \n \n create(context: BoardExternalReference, title: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column-board.service.ts:57\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n context\n \n BoardExternalReference\n \n\n \n No\n \n\n \n \n\n \n \n title\n \n string\n \n\n \n No\n \n\n \n ''\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createRichTextElement\n \n \n \n \n \n \n \n createRichTextElement(text: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column-board.service.ts:145\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n text\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RichTextElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createWelcomeColumnBoard\n \n \n \n \n \n \n \n createWelcomeColumnBoard(courseReference: BoardExternalReference)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column-board.service.ts:81\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseReference\n \n BoardExternalReference\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(board: ColumnBoard)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column-board.service.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n board\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByDescendant\n \n \n \n \n \n \n \n findByDescendant(boardDo: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column-board.service.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(boardId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column-board.service.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findIdsByExternalReference\n \n \n \n \n \n \n \n findIdsByExternalReference(reference: BoardExternalReference)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column-board.service.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n reference\n \n BoardExternalReference\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getBoardObjectTitlesById\n \n \n \n \n \n \n \n getBoardObjectTitlesById(boardIds: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column-board.service.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateTitle\n \n \n \n \n \n \n \n updateTitle(board: ColumnBoard, title: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column-board.service.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n board\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n title\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport {\n\tAnyBoardDo,\n\tBoardExternalReference,\n\tCard,\n\tColumn,\n\tColumnBoard,\n\tContentElementFactory,\n\tContentElementType,\n\tRichTextElement,\n} from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport { BoardDoRepo } from '../repo';\nimport { BoardDoService } from './board-do.service';\n\n@Injectable()\nexport class ColumnBoardService {\n\tconstructor(\n\t\tprivate readonly boardDoRepo: BoardDoRepo,\n\t\tprivate readonly boardDoService: BoardDoService,\n\t\tprivate readonly contentElementFactory: ContentElementFactory\n\t) {}\n\n\tasync findById(boardId: EntityId): Promise {\n\t\tconst board = await this.boardDoRepo.findByClassAndId(ColumnBoard, boardId);\n\n\t\treturn board;\n\t}\n\n\tasync findIdsByExternalReference(reference: BoardExternalReference): Promise {\n\t\tconst ids = this.boardDoRepo.findIdsByExternalReference(reference);\n\n\t\treturn ids;\n\t}\n\n\tasync findByDescendant(boardDo: AnyBoardDo): Promise {\n\t\tconst ancestorIds: EntityId[] = await this.boardDoRepo.getAncestorIds(boardDo);\n\t\tconst idHierarchy: EntityId[] = [...ancestorIds, boardDo.id];\n\t\tconst rootId: EntityId = idHierarchy[0];\n\t\tconst rootBoardDo: AnyBoardDo = await this.boardDoRepo.findById(rootId, 1);\n\n\t\tif (rootBoardDo instanceof ColumnBoard) {\n\t\t\treturn rootBoardDo;\n\t\t}\n\n\t\tthrow new NotFoundLoggableException(ColumnBoard.name, 'id', rootId);\n\t}\n\n\tasync getBoardObjectTitlesById(boardIds: EntityId[]): Promise> {\n\t\tconst titleMap = this.boardDoRepo.getTitlesByIds(boardIds);\n\t\treturn titleMap;\n\t}\n\n\tasync create(context: BoardExternalReference, title = ''): Promise {\n\t\tconst columnBoard = new ColumnBoard({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttitle,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t\tcontext,\n\t\t});\n\n\t\tawait this.boardDoRepo.save(columnBoard);\n\n\t\treturn columnBoard;\n\t}\n\n\tasync delete(board: ColumnBoard): Promise {\n\t\tawait this.boardDoService.deleteWithDescendants(board);\n\t}\n\n\tasync updateTitle(board: ColumnBoard, title: string): Promise {\n\t\tboard.title = title;\n\t\tawait this.boardDoRepo.save(board);\n\t}\n\n\tasync createWelcomeColumnBoard(courseReference: BoardExternalReference) {\n\t\tconst columnBoard = new ColumnBoard({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttitle: '',\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t\tcontext: courseReference,\n\t\t});\n\n\t\tconst column = new Column({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttitle: '',\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\t\tcolumnBoard.addChild(column);\n\n\t\tconst card = new Card({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttitle: 'Willkommen auf dem neuen Spalten-Board! 🥳',\n\t\t\theight: 150,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\t\tcolumn.addChild(card);\n\n\t\tconst text1 = this.createRichTextElement(\n\t\t\t'Wir erweitern das Board kontinuierlich um wichtige Funktionen. Der aktuelle Stand kann hier getestet werden. '\n\t\t);\n\t\tcard.addChild(text1);\n\n\t\tif (Configuration.has('COLUMN_BOARD_HELP_LINK')) {\n\t\t\tconst helplink = Configuration.get('COLUMN_BOARD_HELP_LINK') as string;\n\t\t\tconst text2 = this.createRichTextElement(\n\t\t\t\t` Wichtige Informationen zu Berechtigungen und Informationen zum Einsatz des Boards sind im Hilfebereich zusammengefasst.`\n\t\t\t);\n\t\t\tcard.addChild(text2);\n\t\t}\n\n\t\tif (Configuration.has('COLUMN_BOARD_FEEDBACK_LINK')) {\n\t\t\tconst feedbacklink = Configuration.get('COLUMN_BOARD_FEEDBACK_LINK') as string;\n\t\t\tconst text3 = this.createRichTextElement(\n\t\t\t\t`Wir freuen uns sehr über Feedback zum Board unter folgendem Link.`\n\t\t\t);\n\t\t\tcard.addChild(text3);\n\t\t}\n\n\t\tconst SC_THEME = Configuration.get('SC_THEME') as string;\n\t\tif (SC_THEME !== 'default') {\n\t\t\tconst clientUrl = Configuration.get('HOST') as string;\n\t\t\tconst text4 = this.createRichTextElement(\n\t\t\t\t`Wir freuen uns über Feedback und Wünsche.`\n\t\t\t);\n\t\t\tcard.addChild(text4);\n\t\t}\n\n\t\tawait this.boardDoRepo.save(columnBoard);\n\n\t\treturn columnBoard;\n\t}\n\n\tprivate createRichTextElement(text: string): RichTextElement {\n\t\tconst element: RichTextElement = this.contentElementFactory.build(ContentElementType.RICH_TEXT) as RichTextElement;\n\t\telement.text = text;\n\n\t\treturn element;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/ColumnBoardTarget.html":{"url":"entities/ColumnBoardTarget.html","title":"entity - ColumnBoardTarget","body":"\n \n\n\n\n\n\n\n\n Entities\n ColumnBoardTarget\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/legacy-board/column-board-target.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n _columnBoardId\n \n \n \n published\n \n \n \n title\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n _columnBoardId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'columnBoard'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/legacy-board/column-board-target.entity.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n published\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/legacy-board/column-board-target.entity.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/legacy-board/column-board-target.entity.ts:21\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { LearnroomElement } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport { BaseEntityWithTimestamps } from '../base.entity';\n\ntype ColumnBoardTargetProps = {\n\tcolumnBoardId: EntityId;\n\ttitle?: string;\n};\n\n@Entity()\nexport class ColumnBoardTarget extends BaseEntityWithTimestamps implements LearnroomElement {\n\tconstructor(props: ColumnBoardTargetProps) {\n\t\tsuper();\n\t\tthis._columnBoardId = new ObjectId(props.columnBoardId);\n\t\tthis.title = props.title ?? '';\n\t}\n\n\t@Property()\n\ttitle: string;\n\n\tpublish(): void {\n\t\tthis.published = true;\n\t}\n\n\tunpublish(): void {\n\t\tthis.published = false;\n\t}\n\n\t@Property()\n\tpublished = false;\n\n\t@Property({ fieldName: 'columnBoard' })\n\t_columnBoardId: ObjectId;\n\n\tget columnBoardId(): EntityId {\n\t\treturn this._columnBoardId.toHexString();\n\t}\n}\n\nexport function isColumnBoardTarget(reference: unknown): reference is ColumnBoardTarget {\n\treturn reference instanceof ColumnBoardTarget;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ColumnBoardTargetService.html":{"url":"injectables/ColumnBoardTargetService.html","title":"injectable - ColumnBoardTargetService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ColumnBoardTargetService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/service/column-board-target.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n findExistingTargets\n \n \n Async\n findOrCreateTargets\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(columnBoardService: ColumnBoardService, em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/service/column-board-target.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n columnBoardService\n \n \n ColumnBoardService\n \n \n \n No\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n findExistingTargets\n \n \n \n \n \n \n \n findExistingTargets(columnBoardIds: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/column-board-target.service.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n columnBoardIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findOrCreateTargets\n \n \n \n \n \n \n \n findOrCreateTargets(columnBoardIds: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/column-board-target.service.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n columnBoardIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { FilterQuery } from '@mikro-orm/core';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { ColumnBoardService } from '@modules/board';\nimport { Injectable } from '@nestjs/common';\nimport { ColumnBoardTarget } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\n\n@Injectable()\nexport class ColumnBoardTargetService {\n\tconstructor(private readonly columnBoardService: ColumnBoardService, private readonly em: EntityManager) {}\n\n\tasync findOrCreateTargets(columnBoardIds: EntityId[]): Promise {\n\t\tconst existingTargets = await this.findExistingTargets(columnBoardIds);\n\n\t\tconst titlesMap = await this.columnBoardService.getBoardObjectTitlesById(columnBoardIds);\n\n\t\tconst columnBoardTargets = columnBoardIds.map((id) => {\n\t\t\tconst title = titlesMap[id] ?? '';\n\t\t\tlet target = existingTargets.find((item) => item.columnBoardId === id);\n\t\t\tif (target) {\n\t\t\t\ttarget.title = title;\n\t\t\t} else {\n\t\t\t\ttarget = new ColumnBoardTarget({ columnBoardId: id, title });\n\t\t\t}\n\t\t\tthis.em.persist(target);\n\t\t\treturn target;\n\t\t});\n\n\t\tawait this.em.flush();\n\n\t\treturn columnBoardTargets;\n\t}\n\n\tprivate async findExistingTargets(columnBoardIds: EntityId[]): Promise {\n\t\tconst existingTargets = await this.em.find(ColumnBoardTarget, {\n\t\t\t_columnBoardId: { $in: columnBoardIds },\n\t\t} as unknown as FilterQuery);\n\n\t\treturn existingTargets;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/ColumnController.html":{"url":"controllers/ColumnController.html","title":"controller - ColumnController","body":"\n \n\n\n\n\n\n\n Controllers\n ColumnController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/column.controller.ts\n \n\n \n Prefix\n \n \n columns\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createCard\n \n \n \n \n \n \n \n \n \n Async\n deleteColumn\n \n \n \n \n \n \n \n \n \n Async\n moveColumn\n \n \n \n \n \n \n \n \n \n Async\n updateColumnTitle\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createCard\n \n \n \n \n \n \n \n createCard(urlParams: ColumnUrlParams, currentUser: ICurrentUser, createCardBodyParams?: CreateCardBodyParams)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Create a new card on a column.'})@ApiResponse({status: 201, type: CardResponse})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@ApiBody({required: false, type: CreateCardBodyParams})@Post(':columnId/cards')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/column.controller.ts:75\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n ColumnUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n createCardBodyParams\n \n CreateCardBodyParams\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteColumn\n \n \n \n \n \n \n \n deleteColumn(urlParams: ColumnUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Delete a single column.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Delete(':columnId')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/column.controller.ts:64\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n ColumnUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n moveColumn\n \n \n \n \n \n \n \n moveColumn(urlParams: ColumnUrlParams, bodyParams: MoveColumnBodyParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Move a single column.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Put(':columnId/position')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/column.controller.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n ColumnUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n MoveColumnBodyParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateColumnTitle\n \n \n \n \n \n \n \n updateColumnTitle(urlParams: ColumnUrlParams, bodyParams: RenameBodyParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Update the title of a single column.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Patch(':columnId/title')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/column.controller.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n ColumnUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n RenameBodyParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport {\n\tBody,\n\tController,\n\tDelete,\n\tForbiddenException,\n\tHttpCode,\n\tNotFoundException,\n\tParam,\n\tPatch,\n\tPost,\n\tPut,\n} from '@nestjs/common';\nimport { ApiBody, ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { ApiValidationError } from '@shared/common';\nimport { BoardUc, ColumnUc } from '../uc';\nimport { CardResponse, ColumnUrlParams, MoveColumnBodyParams, RenameBodyParams } from './dto';\nimport { CreateCardBodyParams } from './dto/card/create-card.body.params';\nimport { CardResponseMapper } from './mapper';\n\n@ApiTags('Board Column')\n@Authenticate('jwt')\n@Controller('columns')\nexport class ColumnController {\n\tconstructor(private readonly boardUc: BoardUc, private readonly columnUc: ColumnUc) {}\n\n\t@ApiOperation({ summary: 'Move a single column.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Put(':columnId/position')\n\tasync moveColumn(\n\t\t@Param() urlParams: ColumnUrlParams,\n\t\t@Body() bodyParams: MoveColumnBodyParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tawait this.boardUc.moveColumn(currentUser.userId, urlParams.columnId, bodyParams.toBoardId, bodyParams.toPosition);\n\t}\n\n\t@ApiOperation({ summary: 'Update the title of a single column.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Patch(':columnId/title')\n\tasync updateColumnTitle(\n\t\t@Param() urlParams: ColumnUrlParams,\n\t\t@Body() bodyParams: RenameBodyParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tawait this.columnUc.updateColumnTitle(currentUser.userId, urlParams.columnId, bodyParams.title);\n\t}\n\n\t@ApiOperation({ summary: 'Delete a single column.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Delete(':columnId')\n\tasync deleteColumn(@Param() urlParams: ColumnUrlParams, @CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tawait this.columnUc.deleteColumn(currentUser.userId, urlParams.columnId);\n\t}\n\n\t@ApiOperation({ summary: 'Create a new card on a column.' })\n\t@ApiResponse({ status: 201, type: CardResponse })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@ApiBody({ required: false, type: CreateCardBodyParams })\n\t@Post(':columnId/cards')\n\tasync createCard(\n\t\t@Param() urlParams: ColumnUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() createCardBodyParams?: CreateCardBodyParams\n\t): Promise {\n\t\tconst { requiredEmptyElements } = createCardBodyParams || {};\n\t\tconst card = await this.columnUc.createCard(currentUser.userId, urlParams.columnId, requiredEmptyElements);\n\n\t\tconst response = CardResponseMapper.mapToResponse(card);\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/ColumnNode.html":{"url":"entities/ColumnNode.html","title":"entity - ColumnNode","body":"\n \n\n\n\n\n\n\n\n Entities\n ColumnNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/column-node.entity.ts\n \n\n\n\n\n\n \n\n\n \n import { Entity } from '@mikro-orm/core';\nimport { AnyBoardDo } from '../../domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder } from './types';\nimport { BoardNodeType } from './types/board-node-type';\n\n@Entity({ discriminatorValue: BoardNodeType.COLUMN })\nexport class ColumnNode extends BoardNode {\n\tconstructor(props: BoardNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.COLUMN;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildColumn(this);\n\t\treturn domainObject;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ColumnProps.html":{"url":"interfaces/ColumnProps.html","title":"interface - ColumnProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ColumnProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/column.do.ts\n \n\n\n\n \n Extends\n \n \n BoardCompositeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport { Card } from './card.do';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class Column extends BoardComposite {\n\tget title(): string {\n\t\treturn this.props.title;\n\t}\n\n\tset title(title: string) {\n\t\tthis.props.title = title;\n\t}\n\n\tisAllowedAsChild(domainObject: AnyBoardDo): boolean {\n\t\tconst allowed = domainObject instanceof Card;\n\t\treturn allowed;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitColumn(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitColumnAsync(this);\n\t}\n}\n\nexport interface ColumnProps extends BoardCompositeProps {\n\ttitle: string;\n}\n\nexport function isColumn(reference: unknown): reference is Column {\n\treturn reference instanceof Column;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ColumnResponse.html":{"url":"classes/ColumnResponse.html","title":"class - ColumnResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ColumnResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/board/column.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n cards\n \n \n \n id\n \n \n \n timestamps\n \n \n \n \n Optional\n title\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: ColumnResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/column.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n ColumnResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n cards\n \n \n \n \n \n \n Type : CardSkeletonResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/column.response.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/column.response.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n timestamps\n \n \n \n \n \n \n Type : TimestampsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/column.response.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/column.response.ts:21\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\nimport { CardSkeletonResponse } from './card-skeleton.response';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class ColumnResponse {\n\tconstructor({ id, title, cards, timestamps }: ColumnResponse) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.cards = cards;\n\t\tthis.timestamps = timestamps;\n\t}\n\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\ttitle?: string;\n\n\t@ApiProperty({\n\t\ttype: [CardSkeletonResponse],\n\t})\n\tcards: CardSkeletonResponse[];\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ColumnResponseMapper.html":{"url":"classes/ColumnResponseMapper.html","title":"class - ColumnResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ColumnResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/column-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(column: Column)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/column-response.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n column\n \n Column\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ColumnResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpException, HttpStatus } from '@nestjs/common';\nimport { Card, Column } from '@shared/domain/domainobject';\nimport { CardSkeletonResponse, ColumnResponse, TimestampsResponse } from '../dto';\n\nexport class ColumnResponseMapper {\n\tstatic mapToResponse(column: Column): ColumnResponse {\n\t\tconst result = new ColumnResponse({\n\t\t\tid: column.id,\n\t\t\ttitle: column.title,\n\t\t\tcards: column.children.map((card) => {\n\t\t\t\t/* istanbul ignore next */\n\t\t\t\tif (!(card instanceof Card)) {\n\t\t\t\t\tthrow new HttpException(`unsupported child type: ${card.constructor.name}`, HttpStatus.UNPROCESSABLE_ENTITY);\n\t\t\t\t}\n\t\t\t\treturn new CardSkeletonResponse({\n\t\t\t\t\tcardId: card.id,\n\t\t\t\t\theight: card.height,\n\t\t\t\t});\n\t\t\t}),\n\t\t\ttimestamps: new TimestampsResponse({ lastUpdatedAt: column.updatedAt, createdAt: column.createdAt }),\n\t\t});\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ColumnService.html":{"url":"injectables/ColumnService.html","title":"injectable - ColumnService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ColumnService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/column.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n move\n \n \n Async\n updateTitle\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(boardDoRepo: BoardDoRepo, boardDoService: BoardDoService)\n \n \n \n \n Defined in apps/server/src/modules/board/service/column.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDoRepo\n \n \n BoardDoRepo\n \n \n \n No\n \n \n \n \n boardDoService\n \n \n BoardDoService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n create\n \n \n \n \n \n \n \n create(parent: ColumnBoard)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column.service.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n parent\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(column: Column)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column.service.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n column\n \n Column\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(columnId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column.service.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n columnId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n move\n \n \n \n \n \n \n \n move(column: Column, targetBoard: ColumnBoard, targetPosition?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column.service.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n column\n \n Column\n \n\n \n No\n \n\n\n \n \n targetBoard\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n targetPosition\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateTitle\n \n \n \n \n \n \n \n updateTitle(column: Column, title: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/column.service.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n column\n \n Column\n \n\n \n No\n \n\n\n \n \n title\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Column, ColumnBoard } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport { BoardDoRepo } from '../repo';\nimport { BoardDoService } from './board-do.service';\n\n@Injectable()\nexport class ColumnService {\n\tconstructor(private readonly boardDoRepo: BoardDoRepo, private readonly boardDoService: BoardDoService) {}\n\n\tasync findById(columnId: EntityId): Promise {\n\t\tconst column = await this.boardDoRepo.findByClassAndId(Column, columnId);\n\t\treturn column;\n\t}\n\n\tasync create(parent: ColumnBoard): Promise {\n\t\tconst column = new Column({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttitle: '',\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\n\t\tparent.addChild(column);\n\n\t\tawait this.boardDoRepo.save(parent.children, parent);\n\n\t\treturn column;\n\t}\n\n\tasync delete(column: Column): Promise {\n\t\tawait this.boardDoService.deleteWithDescendants(column);\n\t}\n\n\tasync move(column: Column, targetBoard: ColumnBoard, targetPosition?: number): Promise {\n\t\tawait this.boardDoService.move(column, targetBoard, targetPosition);\n\t}\n\n\tasync updateTitle(column: Column, title: string): Promise {\n\t\tconst parent = await this.boardDoRepo.findParentOfId(column.id);\n\t\tcolumn.title = title;\n\t\tawait this.boardDoRepo.save(column, parent);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ColumnUc.html":{"url":"injectables/ColumnUc.html","title":"injectable - ColumnUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ColumnUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/uc/column.uc.ts\n \n\n\n\n \n Extends\n \n \n BaseUc\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createCard\n \n \n Async\n deleteColumn\n \n \n Async\n moveCard\n \n \n Async\n updateColumnTitle\n \n \n Protected\n Async\n checkPermission\n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationService: AuthorizationService, boardDoAuthorizableService: BoardDoAuthorizableService, cardService: CardService, columnService: ColumnService, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/board/uc/column.uc.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n boardDoAuthorizableService\n \n \n BoardDoAuthorizableService\n \n \n \n No\n \n \n \n \n cardService\n \n \n CardService\n \n \n \n No\n \n \n \n \n columnService\n \n \n ColumnService\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createCard\n \n \n \n \n \n \n \n createCard(userId: EntityId, columnId: EntityId, requiredEmptyElements?: ContentElementType[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/column.uc.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n columnId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n requiredEmptyElements\n \n ContentElementType[]\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteColumn\n \n \n \n \n \n \n \n deleteColumn(userId: EntityId, columnId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/column.uc.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n columnId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n moveCard\n \n \n \n \n \n \n \n moveCard(userId: EntityId, cardId: EntityId, targetColumnId: EntityId, targetPosition: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/column.uc.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n cardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetColumnId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetPosition\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateColumnTitle\n \n \n \n \n \n \n \n updateColumnTitle(userId: EntityId, columnId: EntityId, title: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/column.uc.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n columnId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n title\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n checkPermission\n \n \n \n \n \n \n \n checkPermission(userId: EntityId, anyBoardDo: AnyBoardDo, action: Action, requiredUserRole?: UserRoleEnum)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:13\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n anyBoardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n requiredUserRole\n \n UserRoleEnum\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n \n \n \n \n \n checkSubmissionItemWritePermission(userId: EntityId, submissionItem: SubmissionItem)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:45\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n submissionItem\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n \n \n \n isAuthorizedStudent(userId: EntityId, boardDo: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:29\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Action, AuthorizationService } from '@modules/authorization';\nimport { forwardRef, Inject, Injectable } from '@nestjs/common';\nimport { Card, ContentElementType } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacyLogger } from '@src/core/logger';\nimport { BoardDoAuthorizableService, CardService, ColumnService } from '../service';\nimport { BaseUc } from './base.uc';\n\n@Injectable()\nexport class ColumnUc extends BaseUc {\n\tconstructor(\n\t\t@Inject(forwardRef(() => AuthorizationService))\n\t\tprotected readonly authorizationService: AuthorizationService,\n\t\tprotected readonly boardDoAuthorizableService: BoardDoAuthorizableService,\n\t\tprivate readonly cardService: CardService,\n\t\tprivate readonly columnService: ColumnService,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tsuper(authorizationService, boardDoAuthorizableService);\n\t\tthis.logger.setContext(ColumnUc.name);\n\t}\n\n\tasync deleteColumn(userId: EntityId, columnId: EntityId): Promise {\n\t\tthis.logger.debug({ action: 'deleteColumn', userId, columnId });\n\n\t\tconst column = await this.columnService.findById(columnId);\n\t\tawait this.checkPermission(userId, column, Action.write);\n\n\t\tawait this.columnService.delete(column);\n\t}\n\n\tasync updateColumnTitle(userId: EntityId, columnId: EntityId, title: string): Promise {\n\t\tthis.logger.debug({ action: 'updateColumnTitle', userId, columnId, title });\n\n\t\tconst column = await this.columnService.findById(columnId);\n\t\tawait this.checkPermission(userId, column, Action.write);\n\n\t\tawait this.columnService.updateTitle(column, title);\n\t}\n\n\tasync createCard(userId: EntityId, columnId: EntityId, requiredEmptyElements?: ContentElementType[]): Promise {\n\t\tthis.logger.debug({ action: 'createCard', userId, columnId });\n\n\t\tconst column = await this.columnService.findById(columnId);\n\t\tawait this.checkPermission(userId, column, Action.read);\n\n\t\tconst card = await this.cardService.create(column, requiredEmptyElements);\n\n\t\treturn card;\n\t}\n\n\tasync moveCard(userId: EntityId, cardId: EntityId, targetColumnId: EntityId, targetPosition: number): Promise {\n\t\tthis.logger.debug({ action: 'moveCard', userId, cardId, targetColumnId, toPosition: targetPosition });\n\n\t\tconst card = await this.cardService.findById(cardId);\n\t\tconst targetColumn = await this.columnService.findById(targetColumnId);\n\n\t\tawait this.checkPermission(userId, card, Action.write);\n\t\tawait this.checkPermission(userId, targetColumn, Action.write);\n\n\t\tawait this.cardService.move(card, targetColumn, targetPosition);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ColumnUrlParams.html":{"url":"classes/ColumnUrlParams.html","title":"class - ColumnUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ColumnUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/board/column.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n columnId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n columnId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the column.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/column.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class ColumnUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the column.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tcolumnId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/ColumnboardBoardElement.html":{"url":"entities/ColumnboardBoardElement.html","title":"entity - ColumnboardBoardElement","body":"\n \n\n\n\n\n\n\n\n Entities\n ColumnboardBoardElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/legacy-board/column-board-boardelement.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n target\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : ColumnBoardTarget\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('ColumnBoardTarget')\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/legacy-board/column-board-boardelement.ts:13\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, ManyToOne } from '@mikro-orm/core';\nimport { BoardElement, BoardElementType } from './boardelement.entity';\nimport { ColumnBoardTarget } from './column-board-target.entity';\n\n@Entity({ discriminatorValue: BoardElementType.ColumnBoard })\nexport class ColumnboardBoardElement extends BoardElement {\n\tconstructor(props: { target: ColumnBoardTarget }) {\n\t\tsuper(props);\n\t\tthis.boardElementType = BoardElementType.ColumnBoard;\n\t}\n\n\t@ManyToOne('ColumnBoardTarget')\n\ttarget!: ColumnBoardTarget;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CommonCartridgeConfig.html":{"url":"interfaces/CommonCartridgeConfig.html","title":"interface - CommonCartridgeConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CommonCartridgeConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge.config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n FEATURE_IMSCC_COURSE_EXPORT_ENABLED\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n FEATURE_IMSCC_COURSE_EXPORT_ENABLED\n \n \n \n \n \n \n \n \n FEATURE_IMSCC_COURSE_EXPORT_ENABLED: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface CommonCartridgeConfig {\n\tFEATURE_IMSCC_COURSE_EXPORT_ENABLED: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CommonCartridgeElement.html":{"url":"interfaces/CommonCartridgeElement.html","title":"interface - CommonCartridgeElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CommonCartridgeElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-element.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n transform\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n transform\n \n \n \n \n \n \ntransform()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-element.interface.ts:2\n \n \n\n\n \n \n\n \n Returns : Record\n\n \n \n \n \n \n\n\n \n\n\n \n export interface CommonCartridgeElement {\n\ttransform(): Record;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CommonCartridgeExportService.html":{"url":"injectables/CommonCartridgeExportService.html","title":"injectable - CommonCartridgeExportService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CommonCartridgeExportService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/service/common-cartridge-export.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n addLessons\n \n \n Private\n Async\n addTasks\n \n \n Async\n exportCourse\n \n \n Private\n mapContentToResource\n \n \n Private\n mapCourseTeachersToCopyrightOwners\n \n \n Private\n mapTaskToWebContentResource\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(courseService: CourseService, lessonService: LessonService, taskService: TaskService)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/service/common-cartridge-export.service.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseService\n \n \n CourseService\n \n \n \n No\n \n \n \n \n lessonService\n \n \n LessonService\n \n \n \n No\n \n \n \n \n taskService\n \n \n TaskService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n addLessons\n \n \n \n \n \n \n \n addLessons(builder: CommonCartridgeFileBuilder, version: CommonCartridgeVersion, courseId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/common-cartridge-export.service.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n builder\n \n CommonCartridgeFileBuilder\n \n\n \n No\n \n\n\n \n \n version\n \n CommonCartridgeVersion\n \n\n \n No\n \n\n\n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n addTasks\n \n \n \n \n \n \n \n addTasks(builder: CommonCartridgeFileBuilder, version: CommonCartridgeVersion, courseId: EntityId, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/common-cartridge-export.service.ts:71\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n builder\n \n CommonCartridgeFileBuilder\n \n\n \n No\n \n\n\n \n \n version\n \n CommonCartridgeVersion\n \n\n \n No\n \n\n\n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n exportCourse\n \n \n \n \n \n \n \n exportCourse(courseId: EntityId, userId: EntityId, version: CommonCartridgeVersion)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/common-cartridge-export.service.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n version\n \n CommonCartridgeVersion\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapContentToResource\n \n \n \n \n \n \n \n mapContentToResource(lessonId: string, content: ComponentProperties, version: CommonCartridgeVersion)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/common-cartridge-export.service.ts:91\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n lessonId\n \n string\n \n\n \n No\n \n\n\n \n \n content\n \n ComponentProperties\n \n\n \n No\n \n\n\n \n \n version\n \n CommonCartridgeVersion\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ICommonCartridgeResourceProps | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapCourseTeachersToCopyrightOwners\n \n \n \n \n \n \n \n mapCourseTeachersToCopyrightOwners(course: Course)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/common-cartridge-export.service.ts:146\n \n \n\n\n \n \n This method gets the course as parameter and maps the contained teacher names within the teachers Collection to a string.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n course\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n string\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n mapTaskToWebContentResource\n \n \n \n \n \n \n \n mapTaskToWebContentResource(task: Task, version: CommonCartridgeVersion)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/common-cartridge-export.service.ts:154\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n task\n \n Task\n \n\n \n No\n \n\n\n \n \n version\n \n CommonCartridgeVersion\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ICommonCartridgeWebContentResourceProps\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { LessonService } from '@modules/lesson/service';\nimport { TaskService } from '@modules/task/service';\nimport { Injectable } from '@nestjs/common';\nimport { ComponentProperties, Course, Task } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { ComponentType } from '@src/shared/domain/entity/lesson.entity';\nimport {\n\tCommonCartridgeFileBuilder,\n\tCommonCartridgeIntendedUseType,\n\tCommonCartridgeResourceType,\n\tCommonCartridgeVersion,\n\tICommonCartridgeResourceProps,\n\tICommonCartridgeWebContentResourceProps,\n} from '../common-cartridge';\nimport { createIdentifier } from '../common-cartridge/utils';\nimport { CourseService } from './course.service';\n\n@Injectable()\nexport class CommonCartridgeExportService {\n\tconstructor(\n\t\tprivate readonly courseService: CourseService,\n\t\tprivate readonly lessonService: LessonService,\n\t\tprivate readonly taskService: TaskService\n\t) {}\n\n\tasync exportCourse(courseId: EntityId, userId: EntityId, version: CommonCartridgeVersion): Promise {\n\t\tconst course = await this.courseService.findById(courseId);\n\t\tconst builder = new CommonCartridgeFileBuilder({\n\t\t\tidentifier: createIdentifier(courseId),\n\t\t\ttitle: course.name,\n\t\t\tversion,\n\t\t\tcopyrightOwners: this.mapCourseTeachersToCopyrightOwners(course),\n\t\t\tcreationYear: course.createdAt.getFullYear().toString(),\n\t\t});\n\n\t\tawait this.addLessons(builder, version, courseId);\n\t\tawait this.addTasks(builder, version, courseId, userId);\n\n\t\treturn builder.build();\n\t}\n\n\tprivate async addLessons(\n\t\tbuilder: CommonCartridgeFileBuilder,\n\t\tversion: CommonCartridgeVersion,\n\t\tcourseId: EntityId\n\t): Promise {\n\t\tconst [lessons] = await this.lessonService.findByCourseIds([courseId]);\n\n\t\tlessons.forEach((lesson) => {\n\t\t\tconst organizationBuilder = builder.addOrganization({\n\t\t\t\tversion,\n\t\t\t\tidentifier: createIdentifier(lesson.id),\n\t\t\t\ttitle: lesson.name,\n\t\t\t\tresources: [],\n\t\t\t});\n\n\t\t\tlesson.contents.forEach((content) => {\n\t\t\t\tconst resourceProps = this.mapContentToResource(lesson.id, content, version);\n\t\t\t\tif (resourceProps) {\n\t\t\t\t\torganizationBuilder.addResourceToOrganization(resourceProps);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tconst tasks = lesson.tasks.getItems();\n\t\t\ttasks.forEach((task) => {\n\t\t\t\torganizationBuilder.addResourceToOrganization(this.mapTaskToWebContentResource(task, version));\n\t\t\t});\n\t\t});\n\t}\n\n\tprivate async addTasks(\n\t\tbuilder: CommonCartridgeFileBuilder,\n\t\tversion: CommonCartridgeVersion,\n\t\tcourseId: EntityId,\n\t\tuserId: EntityId\n\t): Promise {\n\t\tconst [tasks] = await this.taskService.findBySingleParent(userId, courseId);\n\t\tconst organizationBuilder = builder.addOrganization({\n\t\t\tversion,\n\t\t\tidentifier: createIdentifier(),\n\t\t\t// FIXME: change the title for tasks organization\n\t\t\ttitle: '',\n\t\t\tresources: [],\n\t\t});\n\n\t\ttasks.forEach((task) => {\n\t\t\torganizationBuilder.addResourceToOrganization(this.mapTaskToWebContentResource(task, version));\n\t\t});\n\t}\n\n\tprivate mapContentToResource(\n\t\tlessonId: string,\n\t\tcontent: ComponentProperties,\n\t\tversion: CommonCartridgeVersion\n\t): ICommonCartridgeResourceProps | undefined {\n\t\tconst commonProps = {\n\t\t\tversion,\n\t\t\tidentifier: createIdentifier(content._id),\n\t\t\thref: `${createIdentifier(lessonId)}/${createIdentifier(content._id)}.html`,\n\t\t\ttitle: content.title,\n\t\t};\n\n\t\tif (content.component === ComponentType.TEXT) {\n\t\t\treturn {\n\t\t\t\tversion,\n\t\t\t\tidentifier: createIdentifier(content._id),\n\t\t\t\thref: `${createIdentifier(lessonId)}/${createIdentifier(content._id)}.html`,\n\t\t\t\ttitle: content.title,\n\t\t\t\ttype: CommonCartridgeResourceType.WEB_CONTENT,\n\t\t\t\tintendedUse: CommonCartridgeIntendedUseType.UNSPECIFIED,\n\t\t\t\thtml: `${content.title}${content.content.text}`,\n\t\t\t};\n\t\t}\n\n\t\tif (content.component === ComponentType.GEOGEBRA) {\n\t\t\tconst url = `https://www.geogebra.org/m/${content.content.materialId}`;\n\t\t\treturn version === CommonCartridgeVersion.V_1_3_0\n\t\t\t\t? { ...commonProps, type: CommonCartridgeResourceType.WEB_LINK_V3, url }\n\t\t\t\t: { ...commonProps, type: CommonCartridgeResourceType.WEB_LINK_V1, url };\n\t\t}\n\n\t\tif (content.component === ComponentType.ETHERPAD) {\n\t\t\treturn version === CommonCartridgeVersion.V_1_3_0\n\t\t\t\t? {\n\t\t\t\t\t\t...commonProps,\n\t\t\t\t\t\ttype: CommonCartridgeResourceType.WEB_LINK_V3,\n\t\t\t\t\t\turl: content.content.url,\n\t\t\t\t\t\ttitle: content.content.description,\n\t\t\t\t }\n\t\t\t\t: {\n\t\t\t\t\t\t...commonProps,\n\t\t\t\t\t\ttype: CommonCartridgeResourceType.WEB_LINK_V1,\n\t\t\t\t\t\turl: content.content.url,\n\t\t\t\t\t\ttitle: content.content.description,\n\t\t\t\t };\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\t/**\n\t * This method gets the course as parameter and maps the contained teacher names within the teachers Collection to a string.\n\t * @param Course\n\t * @return string\n\t * */\n\tprivate mapCourseTeachersToCopyrightOwners(course: Course): string {\n\t\tconst result = course.teachers\n\t\t\t.toArray()\n\t\t\t.map((teacher) => `${teacher.firstName} ${teacher.lastName}`)\n\t\t\t.reduce((previousTeachers, currentTeacher) => `${previousTeachers}, ${currentTeacher}`);\n\t\treturn result;\n\t}\n\n\tprivate mapTaskToWebContentResource(\n\t\ttask: Task,\n\t\tversion: CommonCartridgeVersion\n\t): ICommonCartridgeWebContentResourceProps {\n\t\tconst taskIdentifier = createIdentifier(task.id);\n\t\treturn {\n\t\t\tversion,\n\t\t\tidentifier: taskIdentifier,\n\t\t\thref: `${taskIdentifier}/${taskIdentifier}.html`,\n\t\t\ttitle: task.name,\n\t\t\ttype: CommonCartridgeResourceType.WEB_CONTENT,\n\t\t\thtml: `${task.name}${task.description}`,\n\t\t\tintendedUse:\n\t\t\t\tversion === CommonCartridgeVersion.V_1_1_0\n\t\t\t\t\t? CommonCartridgeIntendedUseType.UNSPECIFIED\n\t\t\t\t\t: CommonCartridgeIntendedUseType.ASSIGNMENT,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CommonCartridgeFile.html":{"url":"interfaces/CommonCartridgeFile.html","title":"interface - CommonCartridgeFile","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CommonCartridgeFile\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n canInline\n \n \n \n \n content\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n canInline\n \n \n \n \n \n \ncanInline()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file.interface.ts:2\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \ncontent()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file.interface.ts:3\n \n \n\n\n \n \n\n \n Returns : string\n\n \n \n \n \n \n\n\n \n\n\n \n export interface CommonCartridgeFile {\n\tcanInline(): boolean;\n\tcontent(): string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CommonCartridgeFileBuilder.html":{"url":"classes/CommonCartridgeFileBuilder.html","title":"class - CommonCartridgeFileBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CommonCartridgeFileBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts\n \n\n\n\n\n \n Implements\n \n \n ICommonCartridgeFileBuilder\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n organizations\n \n \n Private\n Readonly\n resources\n \n \n Private\n Readonly\n xmlBuilder\n \n \n Private\n Readonly\n zipBuilder\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n addOrganization\n \n \n addResourceToFile\n \n \n Async\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(options: CommonCartridgeFileBuilderOptions)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:69\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n \n CommonCartridgeFileBuilderOptions\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n organizations\n \n \n \n \n \n \n Default value : new Array()\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:67\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n resources\n \n \n \n \n \n \n Default value : new Array()\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:69\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n xmlBuilder\n \n \n \n \n \n \n Default value : new Builder()\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:63\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n zipBuilder\n \n \n \n \n \n \n Default value : new AdmZip()\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:65\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n addOrganization\n \n \n \n \n \n \naddOrganization(props: ICommonCartridgeOrganizationProps)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n ICommonCartridgeOrganizationProps\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ICommonCartridgeOrganizationBuilder\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addResourceToFile\n \n \n \n \n \n \naddResourceToFile(props: ICommonCartridgeResourceProps)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:79\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n ICommonCartridgeResourceProps\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ICommonCartridgeFileBuilder\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n build\n \n \n \n \n \n \n \n build()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:88\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import AdmZip from 'adm-zip';\nimport { Builder } from 'xml2js';\nimport { CommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeVersion } from './common-cartridge-enums';\nimport { CommonCartridgeManifestElement } from './common-cartridge-manifest-element';\nimport {\n\tCommonCartridgeOrganizationItemElement,\n\tICommonCartridgeOrganizationProps,\n} from './common-cartridge-organization-item-element';\nimport {\n\tCommonCartridgeResourceItemElement,\n\tICommonCartridgeResourceProps,\n} from './common-cartridge-resource-item-element';\n\nexport type CommonCartridgeFileBuilderOptions = {\n\tidentifier: string;\n\ttitle: string;\n\tcopyrightOwners: string;\n\tcreationYear: string;\n\tversion: CommonCartridgeVersion;\n};\n\nexport interface ICommonCartridgeOrganizationBuilder {\n\taddResourceToOrganization(props: ICommonCartridgeResourceProps): ICommonCartridgeOrganizationBuilder;\n}\n\nexport interface ICommonCartridgeFileBuilder {\n\taddOrganization(props: ICommonCartridgeOrganizationProps): ICommonCartridgeOrganizationBuilder;\n\n\taddResourceToFile(props: ICommonCartridgeResourceProps): ICommonCartridgeFileBuilder;\n\n\tbuild(): Promise;\n}\n\nclass CommonCartridgeOrganizationBuilder implements ICommonCartridgeOrganizationBuilder {\n\tconstructor(\n\t\tprivate readonly props: ICommonCartridgeOrganizationProps,\n\t\tprivate readonly xmlBuilder: Builder,\n\t\tprivate readonly zipBuilder: AdmZip\n\t) {}\n\n\tget organization(): CommonCartridgeElement {\n\t\treturn new CommonCartridgeOrganizationItemElement(this.props);\n\t}\n\n\tget resources(): CommonCartridgeElement[] {\n\t\treturn this.props.resources.map(\n\t\t\t(resourceProps) => new CommonCartridgeResourceItemElement(resourceProps, this.xmlBuilder)\n\t\t);\n\t}\n\n\taddResourceToOrganization(props: ICommonCartridgeResourceProps): ICommonCartridgeOrganizationBuilder {\n\t\tconst newResource = new CommonCartridgeResourceItemElement(props, this.xmlBuilder);\n\t\tthis.props.resources.push(props);\n\t\tif (!newResource.canInline()) {\n\t\t\tthis.zipBuilder.addFile(props.href, Buffer.from(newResource.content()));\n\t\t}\n\t\treturn this;\n\t}\n}\n\nexport class CommonCartridgeFileBuilder implements ICommonCartridgeFileBuilder {\n\tprivate readonly xmlBuilder = new Builder();\n\n\tprivate readonly zipBuilder = new AdmZip();\n\n\tprivate readonly organizations = new Array();\n\n\tprivate readonly resources = new Array();\n\n\tconstructor(private readonly options: CommonCartridgeFileBuilderOptions) {}\n\n\taddOrganization(props: ICommonCartridgeOrganizationProps): ICommonCartridgeOrganizationBuilder {\n\t\tconst organizationBuilder = new CommonCartridgeOrganizationBuilder(props, this.xmlBuilder, this.zipBuilder);\n\t\tthis.organizations.push(organizationBuilder);\n\t\treturn organizationBuilder;\n\t}\n\n\taddResourceToFile(props: ICommonCartridgeResourceProps): ICommonCartridgeFileBuilder {\n\t\tconst resource = new CommonCartridgeResourceItemElement(props, this.xmlBuilder);\n\t\tif (!resource.canInline()) {\n\t\t\tthis.zipBuilder.addFile(props.href, Buffer.from(resource.content()));\n\t\t}\n\t\tthis.resources.push(resource);\n\t\treturn this;\n\t}\n\n\tasync build(): Promise {\n\t\tconst organizations = this.organizations.map((organization) => organization.organization);\n\t\tconst resources = this.organizations.flatMap((organization) => organization.resources).concat(this.resources);\n\t\tconst manifest = this.xmlBuilder.buildObject(\n\t\t\tnew CommonCartridgeManifestElement(\n\t\t\t\t{\n\t\t\t\t\tidentifier: this.options.identifier,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttitle: this.options.title,\n\t\t\t\t\tcopyrightOwners: this.options.copyrightOwners,\n\t\t\t\t\tcreationYear: this.options.creationYear,\n\t\t\t\t\tversion: this.options.version,\n\t\t\t\t},\n\t\t\t\torganizations,\n\t\t\t\tresources\n\t\t\t).transform()\n\t\t);\n\t\tthis.zipBuilder.addFile('imsmanifest.xml', Buffer.from(manifest));\n\t\treturn this.zipBuilder.toBufferPromise();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CommonCartridgeLtiResource.html":{"url":"classes/CommonCartridgeLtiResource.html","title":"class - CommonCartridgeLtiResource","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CommonCartridgeLtiResource\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-lti-resource.ts\n \n\n\n\n\n \n Implements\n \n \n CommonCartridgeElement\n CommonCartridgeFile\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n canInline\n \n \n content\n \n \n transform\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ICommonCartridgeLtiResourceProps, xmlBuilder: Builder)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-lti-resource.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ICommonCartridgeLtiResourceProps\n \n \n \n No\n \n \n \n \n xmlBuilder\n \n \n Builder\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n canInline\n \n \n \n \n \n \ncanInline()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-lti-resource.ts:19\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \ncontent()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-lti-resource.ts:23\n \n \n\n\n \n \n\n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n transform\n \n \n \n \n \n \ntransform()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-lti-resource.ts:81\n \n \n\n\n \n \n\n \n Returns : Record\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Builder } from 'xml2js';\nimport { CommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeResourceType, CommonCartridgeVersion } from './common-cartridge-enums';\nimport { CommonCartridgeFile } from './common-cartridge-file.interface';\n\nexport type ICommonCartridgeLtiResourceProps = {\n\ttype: CommonCartridgeResourceType.LTI;\n\tversion: CommonCartridgeVersion;\n\tidentifier: string;\n\thref: string;\n\ttitle: string;\n\tdescription?: string;\n\turl: string;\n};\n\nexport class CommonCartridgeLtiResource implements CommonCartridgeElement, CommonCartridgeFile {\n\tconstructor(private readonly props: ICommonCartridgeLtiResourceProps, private readonly xmlBuilder: Builder) {}\n\n\tcanInline(): boolean {\n\t\treturn false;\n\t}\n\n\tcontent(): string {\n\t\tconst commonObject = {\n\t\t\tcartridge_basiclti_link: {\n\t\t\t\t$: {\n\t\t\t\t\txmlns: '',\n\t\t\t\t\t'xmlns:blti': '',\n\t\t\t\t\t'xmlns:lticm': '',\n\t\t\t\t\t'xmlns:lticp': '',\n\t\t\t\t\t'xmlns:xsi': 'http://www.w3.org/2001/XMLSchema-instance',\n\t\t\t\t\t'xsi:schemaLocation': '',\n\t\t\t\t},\n\t\t\t\tblti: {\n\t\t\t\t\ttitle: this.props.title,\n\t\t\t\t\tdescription: this.props.description,\n\t\t\t\t\tlaunch_url: this.props.url,\n\t\t\t\t\tsecure_launch_url: this.props.url,\n\t\t\t\t\tcartridge_bundle: {\n\t\t\t\t\t\t$: {\n\t\t\t\t\t\t\tidentifierref: 'BLTI001_Bundle',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tcartridge_icon: {\n\t\t\t\t\t\t$: {\n\t\t\t\t\t\t\tidentifierref: 'BLTI001_Icon',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\n\t\tswitch (this.props.version) {\n\t\t\tcase CommonCartridgeVersion.V_1_3_0:\n\t\t\t\tcommonObject.cartridge_basiclti_link.$.xmlns = 'http://www.imsglobal.org/xsd/imslticc_v1p3';\n\t\t\t\tcommonObject.cartridge_basiclti_link.$['xmlns:blti'] = 'http://www.imsglobal.org/xsd/imsbasiclti_v1p0';\n\t\t\t\tcommonObject.cartridge_basiclti_link.$['xmlns:lticm'] = 'http://www.imsglobal.org/xsd/imslticm_v1p0';\n\t\t\t\tcommonObject.cartridge_basiclti_link.$['xmlns:lticp'] = 'http://www.imsglobal.org/xsd/imslticp_v1p0';\n\t\t\t\tcommonObject.cartridge_basiclti_link.$['xsi:schemaLocation'] =\n\t\t\t\t\t'http://www.imsglobal.org/xsd/imslticc_v1p3 http://www.imsglobal.org/xsd/imslticc_v1p3.xsd' +\n\t\t\t\t\t'http://www.imsglobal.org/xsd/imslticp_v1p0 imslticp_v1p0.xsd' +\n\t\t\t\t\t'http://www.imsglobal.org/xsd/imslticm_v1p0 imslticm_v1p0.xsd' +\n\t\t\t\t\t'http://www.imsglobal.org/xsd/imsbasiclti_v1p0 imsbasiclti_v1p0p1.xsd\"';\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tcommonObject.cartridge_basiclti_link.$.xmlns = '/xsd/imslticc_v1p0';\n\t\t\t\tcommonObject.cartridge_basiclti_link.$['xmlns:blti'] = '/xsd/imsbasiclti_v1p0';\n\t\t\t\tcommonObject.cartridge_basiclti_link.$['xmlns:lticm'] = '/xsd/imslticm_v1p0';\n\t\t\t\tcommonObject.cartridge_basiclti_link.$['xmlns:lticp'] = '/xsd/imslticp_v1p0';\n\t\t\t\tcommonObject.cartridge_basiclti_link.$['xsi:schemaLocation'] =\n\t\t\t\t\t'/xsd/imslticc_v1p0 /xsd/lti/ltiv1p0/imslticc_v1p0.xsd' +\n\t\t\t\t\t'/xsd/imsbasiclti_v1p0 /xsd/lti/ltiv1p0/imsbasiclti_v1p0.xsd' +\n\t\t\t\t\t'/xsd/imslticm_v1p0 /xsd/lti/ltiv1p0/imslticm_v1p0.xsd' +\n\t\t\t\t\t'/xsd/imslticp_v1p0 /xsd/lti/ltiv1p0/imslticp_v1p0.xsd\"';\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn this.xmlBuilder.buildObject(commonObject);\n\t}\n\n\ttransform(): Record {\n\t\treturn {\n\t\t\t$: {\n\t\t\t\tidentifier: this.props.identifier,\n\t\t\t\ttype: this.props.type,\n\t\t\t},\n\t\t\tfile: {\n\t\t\t\t$: {\n\t\t\t\t\thref: this.props.href,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CommonCartridgeManifestElement.html":{"url":"classes/CommonCartridgeManifestElement.html","title":"class - CommonCartridgeManifestElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CommonCartridgeManifestElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-manifest-element.ts\n \n\n\n\n\n \n Implements\n \n \n CommonCartridgeElement\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n transform\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ICommonCartridgeManifestProps, metadataProps: ICommonCartridgeMetadataProps, organizations: CommonCartridgeElement[], resources: CommonCartridgeElement[])\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-manifest-element.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ICommonCartridgeManifestProps\n \n \n \n No\n \n \n \n \n metadataProps\n \n \n ICommonCartridgeMetadataProps\n \n \n \n No\n \n \n \n \n organizations\n \n \n CommonCartridgeElement[]\n \n \n \n No\n \n \n \n \n resources\n \n \n CommonCartridgeElement[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n transform\n \n \n \n \n \n \ntransform()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-manifest-element.ts:19\n \n \n\n\n \n \n\n \n Returns : Record\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeVersion } from './common-cartridge-enums';\nimport { CommonCartridgeMetadataElement, ICommonCartridgeMetadataProps } from './common-cartridge-metadata-element';\nimport { CommonCartridgeOrganizationWrapperElement } from './common-cartridge-organization-wrapper-element';\nimport { CommonCartridgeResourceWrapperElement } from './common-cartridge-resource-wrapper-element';\n\nexport type ICommonCartridgeManifestProps = {\n\tidentifier: string;\n};\n\nexport class CommonCartridgeManifestElement implements CommonCartridgeElement {\n\tconstructor(\n\t\tprivate readonly props: ICommonCartridgeManifestProps,\n\t\tprivate readonly metadataProps: ICommonCartridgeMetadataProps,\n\t\tprivate readonly organizations: CommonCartridgeElement[],\n\t\tprivate readonly resources: CommonCartridgeElement[]\n\t) {}\n\n\ttransform(): Record {\n\t\tconst versionNumber = this.metadataProps.version;\n\t\tswitch (versionNumber) {\n\t\t\tcase CommonCartridgeVersion.V_1_3_0:\n\t\t\t\treturn {\n\t\t\t\t\tmanifest: {\n\t\t\t\t\t\t$: {\n\t\t\t\t\t\t\tidentifier: this.props.identifier,\n\t\t\t\t\t\t\txmlns: 'http://www.imsglobal.org/xsd/imsccv1p3/imscp_v1p1',\n\t\t\t\t\t\t\t'xmlns:mnf': 'http://ltsc.ieee.org/xsd/imsccv1p3/LOM/manifest',\n\t\t\t\t\t\t\t'xmlns:res': 'http://ltsc.ieee.org/xsd/imsccv1p3/LOM/resource',\n\t\t\t\t\t\t\t'xmlns:ext': 'http://www.imsglobal.org/xsd/imsccv1p3/imscp_extensionv1p2',\n\t\t\t\t\t\t\t'xmlns:xsi': 'http://www.w3.org/2001/XMLSchema-instance',\n\t\t\t\t\t\t\t'xsi:schemaLocation':\n\t\t\t\t\t\t\t\t'http://ltsc.ieee.org/xsd/imsccv1p3/LOM/resource http://www.imsglobal.org/profile/cc/ccv1p3/LOM/ccv1p3_lomresource_v1p0.xsd ' +\n\t\t\t\t\t\t\t\t'http://www.imsglobal.org/xsd/imsccv1p3/imscp_v1p1 http://www.imsglobal.org/profile/cc/ccv1p3/ccv1p3_imscp_v1p2_v1p0.xsd ' +\n\t\t\t\t\t\t\t\t'http://ltsc.ieee.org/xsd/imsccv1p3/LOM/manifest http://www.imsglobal.org/profile/cc/ccv1p3/LOM/ccv1p3_lommanifest_v1p0.xsd ' +\n\t\t\t\t\t\t\t\t'http://www.imsglobal.org/xsd/imsccv1p3/imscp_extensionv1p2 http://www.imsglobal.org/profile/cc/ccv1p3/ccv1p3_cpextensionv1p2_v1p0.xsd',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmetadata: new CommonCartridgeMetadataElement(this.metadataProps).transform(),\n\t\t\t\t\t\torganizations: new CommonCartridgeOrganizationWrapperElement(this.organizations).transform(),\n\t\t\t\t\t\tresources: new CommonCartridgeResourceWrapperElement(this.resources).transform(),\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\tdefault:\n\t\t\t\treturn {\n\t\t\t\t\tmanifest: {\n\t\t\t\t\t\t$: {\n\t\t\t\t\t\t\tidentifier: this.props.identifier,\n\t\t\t\t\t\t\txmlns: 'http://www.imsglobal.org/xsd/imsccv1p1/imscp_v1p1',\n\t\t\t\t\t\t\t'xmlns:mnf': 'http://ltsc.ieee.org/xsd/imsccv1p1/LOM/manifest',\n\t\t\t\t\t\t\t'xmlns:res': 'http://ltsc.ieee.org/xsd/imsccv1p1/LOM/resource',\n\t\t\t\t\t\t\t'xmlns:xsi': 'http://www.w3.org/2001/XMLSchema-instance',\n\t\t\t\t\t\t\t'xsi:schemaLocation':\n\t\t\t\t\t\t\t\t'http://ltsc.ieee.org/xsd/imsccv1p1/LOM/resource http://www.imsglobal.org/profile/cc/ccv1p1/LOM/ccv1p1_lomresource_v1p0.xsd ' +\n\t\t\t\t\t\t\t\t'http://www.imsglobal.org/xsd/imsccv1p1/imscp_v1p1 http://www.imsglobal.org/profile/cc/ccv1p1/ccv1p1_imscp_v1p2_v1p0.xsd ' +\n\t\t\t\t\t\t\t\t'http://ltsc.ieee.org/xsd/imsccv1p1/LOM/manifest http://www.imsglobal.org/profile/cc/ccv1p1/LOM/ccv1p1_lommanifest_v1p0.xsd ',\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmetadata: new CommonCartridgeMetadataElement(this.metadataProps).transform(),\n\t\t\t\t\t\torganizations: new CommonCartridgeOrganizationWrapperElement(this.organizations).transform(),\n\t\t\t\t\t\tresources: new CommonCartridgeResourceWrapperElement(this.resources).transform(),\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CommonCartridgeMetadataElement.html":{"url":"classes/CommonCartridgeMetadataElement.html","title":"class - CommonCartridgeMetadataElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CommonCartridgeMetadataElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-metadata-element.ts\n \n\n\n\n\n \n Implements\n \n \n CommonCartridgeElement\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n transform\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ICommonCartridgeMetadataProps)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-metadata-element.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ICommonCartridgeMetadataProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n transform\n \n \n \n \n \n \ntransform()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-metadata-element.ts:14\n \n \n\n\n \n \n\n \n Returns : Record\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeVersion } from './common-cartridge-enums';\n\nexport type ICommonCartridgeMetadataProps = {\n\ttitle: string;\n\tcopyrightOwners: string;\n\tcreationYear: string;\n\tversion: CommonCartridgeVersion;\n};\n\nexport class CommonCartridgeMetadataElement implements CommonCartridgeElement {\n\tconstructor(private readonly props: ICommonCartridgeMetadataProps) {}\n\n\ttransform(): Record {\n\t\treturn {\n\t\t\tschema: 'IMS Common Cartridge',\n\t\t\tschemaversion: this.props.version,\n\t\t\t'mnf:lom': {\n\t\t\t\t'mnf:general': {\n\t\t\t\t\t'mnf:title': {\n\t\t\t\t\t\t'mnf:string': this.props.title,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\t'mnf:rights': {\n\t\t\t\t\t'mnf:copyrightAndOtherRestrictions': {\n\t\t\t\t\t\t'mnf:value': 'yes',\n\t\t\t\t\t},\n\t\t\t\t\t'mnf:description': {\n\t\t\t\t\t\t'mnf:string': `${this.props.creationYear} ${this.props.copyrightOwners}`,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CommonCartridgeOrganizationBuilder.html":{"url":"classes/CommonCartridgeOrganizationBuilder.html","title":"class - CommonCartridgeOrganizationBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CommonCartridgeOrganizationBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts\n \n\n\n\n\n \n Implements\n \n \n ICommonCartridgeOrganizationBuilder\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n addResourceToOrganization\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n organization\n \n \n resources\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ICommonCartridgeOrganizationProps, xmlBuilder: Builder, zipBuilder: AdmZip)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:35\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ICommonCartridgeOrganizationProps\n \n \n \n No\n \n \n \n \n xmlBuilder\n \n \n Builder\n \n \n \n No\n \n \n \n \n zipBuilder\n \n \n AdmZip\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n addResourceToOrganization\n \n \n \n \n \n \naddResourceToOrganization(props: ICommonCartridgeResourceProps)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n ICommonCartridgeResourceProps\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ICommonCartridgeOrganizationBuilder\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n organization\n \n \n\n \n \n getorganization()\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:42\n \n \n\n \n \n \n \n \n \n \n resources\n \n \n\n \n \n getresources()\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:46\n \n \n\n \n \n\n \n\n\n \n import AdmZip from 'adm-zip';\nimport { Builder } from 'xml2js';\nimport { CommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeVersion } from './common-cartridge-enums';\nimport { CommonCartridgeManifestElement } from './common-cartridge-manifest-element';\nimport {\n\tCommonCartridgeOrganizationItemElement,\n\tICommonCartridgeOrganizationProps,\n} from './common-cartridge-organization-item-element';\nimport {\n\tCommonCartridgeResourceItemElement,\n\tICommonCartridgeResourceProps,\n} from './common-cartridge-resource-item-element';\n\nexport type CommonCartridgeFileBuilderOptions = {\n\tidentifier: string;\n\ttitle: string;\n\tcopyrightOwners: string;\n\tcreationYear: string;\n\tversion: CommonCartridgeVersion;\n};\n\nexport interface ICommonCartridgeOrganizationBuilder {\n\taddResourceToOrganization(props: ICommonCartridgeResourceProps): ICommonCartridgeOrganizationBuilder;\n}\n\nexport interface ICommonCartridgeFileBuilder {\n\taddOrganization(props: ICommonCartridgeOrganizationProps): ICommonCartridgeOrganizationBuilder;\n\n\taddResourceToFile(props: ICommonCartridgeResourceProps): ICommonCartridgeFileBuilder;\n\n\tbuild(): Promise;\n}\n\nclass CommonCartridgeOrganizationBuilder implements ICommonCartridgeOrganizationBuilder {\n\tconstructor(\n\t\tprivate readonly props: ICommonCartridgeOrganizationProps,\n\t\tprivate readonly xmlBuilder: Builder,\n\t\tprivate readonly zipBuilder: AdmZip\n\t) {}\n\n\tget organization(): CommonCartridgeElement {\n\t\treturn new CommonCartridgeOrganizationItemElement(this.props);\n\t}\n\n\tget resources(): CommonCartridgeElement[] {\n\t\treturn this.props.resources.map(\n\t\t\t(resourceProps) => new CommonCartridgeResourceItemElement(resourceProps, this.xmlBuilder)\n\t\t);\n\t}\n\n\taddResourceToOrganization(props: ICommonCartridgeResourceProps): ICommonCartridgeOrganizationBuilder {\n\t\tconst newResource = new CommonCartridgeResourceItemElement(props, this.xmlBuilder);\n\t\tthis.props.resources.push(props);\n\t\tif (!newResource.canInline()) {\n\t\t\tthis.zipBuilder.addFile(props.href, Buffer.from(newResource.content()));\n\t\t}\n\t\treturn this;\n\t}\n}\n\nexport class CommonCartridgeFileBuilder implements ICommonCartridgeFileBuilder {\n\tprivate readonly xmlBuilder = new Builder();\n\n\tprivate readonly zipBuilder = new AdmZip();\n\n\tprivate readonly organizations = new Array();\n\n\tprivate readonly resources = new Array();\n\n\tconstructor(private readonly options: CommonCartridgeFileBuilderOptions) {}\n\n\taddOrganization(props: ICommonCartridgeOrganizationProps): ICommonCartridgeOrganizationBuilder {\n\t\tconst organizationBuilder = new CommonCartridgeOrganizationBuilder(props, this.xmlBuilder, this.zipBuilder);\n\t\tthis.organizations.push(organizationBuilder);\n\t\treturn organizationBuilder;\n\t}\n\n\taddResourceToFile(props: ICommonCartridgeResourceProps): ICommonCartridgeFileBuilder {\n\t\tconst resource = new CommonCartridgeResourceItemElement(props, this.xmlBuilder);\n\t\tif (!resource.canInline()) {\n\t\t\tthis.zipBuilder.addFile(props.href, Buffer.from(resource.content()));\n\t\t}\n\t\tthis.resources.push(resource);\n\t\treturn this;\n\t}\n\n\tasync build(): Promise {\n\t\tconst organizations = this.organizations.map((organization) => organization.organization);\n\t\tconst resources = this.organizations.flatMap((organization) => organization.resources).concat(this.resources);\n\t\tconst manifest = this.xmlBuilder.buildObject(\n\t\t\tnew CommonCartridgeManifestElement(\n\t\t\t\t{\n\t\t\t\t\tidentifier: this.options.identifier,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttitle: this.options.title,\n\t\t\t\t\tcopyrightOwners: this.options.copyrightOwners,\n\t\t\t\t\tcreationYear: this.options.creationYear,\n\t\t\t\t\tversion: this.options.version,\n\t\t\t\t},\n\t\t\t\torganizations,\n\t\t\t\tresources\n\t\t\t).transform()\n\t\t);\n\t\tthis.zipBuilder.addFile('imsmanifest.xml', Buffer.from(manifest));\n\t\treturn this.zipBuilder.toBufferPromise();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CommonCartridgeOrganizationItemElement.html":{"url":"classes/CommonCartridgeOrganizationItemElement.html","title":"class - CommonCartridgeOrganizationItemElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CommonCartridgeOrganizationItemElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-organization-item-element.ts\n \n\n\n\n\n \n Implements\n \n \n CommonCartridgeElement\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n transform\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ICommonCartridgeOrganizationProps)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-organization-item-element.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ICommonCartridgeOrganizationProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n transform\n \n \n \n \n \n \ntransform()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-organization-item-element.ts:15\n \n \n\n\n \n \n\n \n Returns : Record\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CommonCartridgeElement } from './common-cartridge-element.interface';\nimport { ICommonCartridgeResourceProps } from './common-cartridge-resource-item-element';\nimport { createIdentifier } from './utils';\n\nexport type ICommonCartridgeOrganizationProps = {\n\tidentifier: string;\n\ttitle: string;\n\tversion: string;\n\tresources: ICommonCartridgeResourceProps[];\n};\n\nexport class CommonCartridgeOrganizationItemElement implements CommonCartridgeElement {\n\tconstructor(private readonly props: ICommonCartridgeOrganizationProps) {}\n\n\ttransform(): Record {\n\t\treturn {\n\t\t\t$: {\n\t\t\t\tidentifier: this.props.identifier,\n\t\t\t},\n\t\t\ttitle: this.props.title,\n\t\t\titem: this.props.resources.map((content) => {\n\t\t\t\treturn {\n\t\t\t\t\t$: {\n\t\t\t\t\t\tidentifier: createIdentifier(),\n\t\t\t\t\t\tidentifierref: content.identifier,\n\t\t\t\t\t},\n\t\t\t\t\ttitle: content.title,\n\t\t\t\t};\n\t\t\t}),\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CommonCartridgeOrganizationWrapperElement.html":{"url":"classes/CommonCartridgeOrganizationWrapperElement.html","title":"class - CommonCartridgeOrganizationWrapperElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CommonCartridgeOrganizationWrapperElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-organization-wrapper-element.ts\n \n\n\n\n\n \n Implements\n \n \n CommonCartridgeElement\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n transform\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(organizationElements: CommonCartridgeElement[])\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-organization-wrapper-element.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n organizationElements\n \n \n CommonCartridgeElement[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n transform\n \n \n \n \n \n \ntransform()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-organization-wrapper-element.ts:6\n \n \n\n\n \n \n\n \n Returns : Record\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CommonCartridgeElement } from './common-cartridge-element.interface';\n\nexport class CommonCartridgeOrganizationWrapperElement implements CommonCartridgeElement {\n\tconstructor(private readonly organizationElements: CommonCartridgeElement[]) {}\n\n\ttransform(): Record {\n\t\treturn {\n\t\t\torganization: [\n\t\t\t\t{\n\t\t\t\t\t$: {\n\t\t\t\t\t\tidentifier: 'org-1',\n\t\t\t\t\t\tstructure: 'rooted-hierarchy',\n\t\t\t\t\t},\n\t\t\t\t\titem: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t$: {\n\t\t\t\t\t\t\t\tidentifier: 'LearningModules',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\titem: this.organizationElements.map((organizationElement) => organizationElement.transform()),\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CommonCartridgeResourceItemElement.html":{"url":"classes/CommonCartridgeResourceItemElement.html","title":"class - CommonCartridgeResourceItemElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CommonCartridgeResourceItemElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-resource-item-element.ts\n \n\n\n\n\n \n Implements\n \n \n CommonCartridgeElement\n CommonCartridgeFile\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n inner\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n canInline\n \n \n content\n \n \n transform\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ICommonCartridgeResourceProps, xmlBuilder: Builder)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-resource-item-element.ts:21\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ICommonCartridgeResourceProps\n \n \n \n No\n \n \n \n \n xmlBuilder\n \n \n Builder\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n inner\n \n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-resource-item-element.ts:21\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n canInline\n \n \n \n \n \n \ncanInline()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-resource-item-element.ts:38\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \ncontent()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-resource-item-element.ts:42\n \n \n\n\n \n \n\n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n transform\n \n \n \n \n \n \ntransform()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-resource-item-element.ts:46\n \n \n\n\n \n \n\n \n Returns : Record\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Builder } from 'xml2js';\nimport { CommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeResourceType } from './common-cartridge-enums';\nimport { CommonCartridgeFile } from './common-cartridge-file.interface';\nimport { CommonCartridgeLtiResource, ICommonCartridgeLtiResourceProps } from './common-cartridge-lti-resource';\nimport {\n\tCommonCartridgeWebContentResource,\n\tICommonCartridgeWebContentResourceProps,\n} from './common-cartridge-web-content-resource';\nimport {\n\tCommonCartridgeWebLinkResourceElement,\n\tICommonCartridgeWebLinkResourceProps,\n} from './common-cartridge-web-link-resource';\n\nexport type ICommonCartridgeResourceProps =\n\t| ICommonCartridgeLtiResourceProps\n\t| ICommonCartridgeWebContentResourceProps\n\t| ICommonCartridgeWebLinkResourceProps;\n\nexport class CommonCartridgeResourceItemElement implements CommonCartridgeElement, CommonCartridgeFile {\n\tprivate readonly inner: CommonCartridgeElement & CommonCartridgeFile;\n\n\tconstructor(props: ICommonCartridgeResourceProps, xmlBuilder: Builder) {\n\t\tif (props.type === CommonCartridgeResourceType.LTI) {\n\t\t\tthis.inner = new CommonCartridgeLtiResource(props, xmlBuilder);\n\t\t} else if (props.type === CommonCartridgeResourceType.WEB_CONTENT) {\n\t\t\tthis.inner = new CommonCartridgeWebContentResource(props);\n\t\t} else if (\n\t\t\tprops.type === CommonCartridgeResourceType.WEB_LINK_V1 ||\n\t\t\tprops.type === CommonCartridgeResourceType.WEB_LINK_V3\n\t\t) {\n\t\t\tthis.inner = new CommonCartridgeWebLinkResourceElement(props, xmlBuilder);\n\t\t} else {\n\t\t\tthrow new Error('Resource type is unknown!');\n\t\t}\n\t}\n\n\tcanInline(): boolean {\n\t\treturn this.inner.canInline();\n\t}\n\n\tcontent(): string {\n\t\treturn this.inner.content();\n\t}\n\n\ttransform(): Record {\n\t\treturn this.inner.transform();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CommonCartridgeResourceWrapperElement.html":{"url":"classes/CommonCartridgeResourceWrapperElement.html","title":"class - CommonCartridgeResourceWrapperElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CommonCartridgeResourceWrapperElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-resource-wrapper-element.ts\n \n\n\n\n\n \n Implements\n \n \n CommonCartridgeElement\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n transform\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(resourceElements: CommonCartridgeElement[])\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-resource-wrapper-element.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n resourceElements\n \n \n CommonCartridgeElement[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n transform\n \n \n \n \n \n \ntransform()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-resource-wrapper-element.ts:6\n \n \n\n\n \n \n\n \n Returns : Record\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CommonCartridgeElement } from './common-cartridge-element.interface';\n\nexport class CommonCartridgeResourceWrapperElement implements CommonCartridgeElement {\n\tconstructor(private readonly resourceElements: CommonCartridgeElement[]) {}\n\n\ttransform(): Record {\n\t\treturn {\n\t\t\tresource: this.resourceElements.map((resourceElement) => resourceElement.transform()),\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CommonCartridgeWebContentResource.html":{"url":"classes/CommonCartridgeWebContentResource.html","title":"class - CommonCartridgeWebContentResource","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CommonCartridgeWebContentResource\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-web-content-resource.ts\n \n\n\n\n\n \n Implements\n \n \n CommonCartridgeElement\n CommonCartridgeFile\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n canInline\n \n \n content\n \n \n transform\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ICommonCartridgeWebContentResourceProps)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-web-content-resource.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ICommonCartridgeWebContentResourceProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n canInline\n \n \n \n \n \n \ncanInline()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-web-content-resource.ts:22\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \ncontent()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-web-content-resource.ts:26\n \n \n\n\n \n \n\n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n transform\n \n \n \n \n \n \ntransform()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-web-content-resource.ts:30\n \n \n\n\n \n \n\n \n Returns : Record\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CommonCartridgeElement } from './common-cartridge-element.interface';\nimport {\n\tCommonCartridgeIntendedUseType,\n\tCommonCartridgeResourceType,\n\tCommonCartridgeVersion,\n} from './common-cartridge-enums';\nimport { CommonCartridgeFile } from './common-cartridge-file.interface';\n\nexport type ICommonCartridgeWebContentResourceProps = {\n\ttype: CommonCartridgeResourceType.WEB_CONTENT;\n\tversion: CommonCartridgeVersion;\n\tidentifier: string;\n\thref: string;\n\ttitle: string;\n\thtml: string;\n\tintendedUse?: CommonCartridgeIntendedUseType;\n};\n\nexport class CommonCartridgeWebContentResource implements CommonCartridgeElement, CommonCartridgeFile {\n\tconstructor(private readonly props: ICommonCartridgeWebContentResourceProps) {}\n\n\tcanInline(): boolean {\n\t\treturn false;\n\t}\n\n\tcontent(): string {\n\t\treturn this.props.html;\n\t}\n\n\ttransform(): Record {\n\t\treturn {\n\t\t\t$: {\n\t\t\t\tidentifier: this.props.identifier,\n\t\t\t\ttype: this.props.type,\n\t\t\t\tintendeduse: this.props.intendedUse ?? CommonCartridgeIntendedUseType.UNSPECIFIED,\n\t\t\t},\n\t\t\tfile: {\n\t\t\t\t$: {\n\t\t\t\t\thref: this.props.href,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CommonCartridgeWebLinkResourceElement.html":{"url":"classes/CommonCartridgeWebLinkResourceElement.html","title":"class - CommonCartridgeWebLinkResourceElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CommonCartridgeWebLinkResourceElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-web-link-resource.ts\n \n\n\n\n\n \n Implements\n \n \n CommonCartridgeElement\n CommonCartridgeFile\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n canInline\n \n \n content\n \n \n transform\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ICommonCartridgeWebLinkResourceProps, xmlBuilder: Builder)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-web-link-resource.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ICommonCartridgeWebLinkResourceProps\n \n \n \n No\n \n \n \n \n xmlBuilder\n \n \n Builder\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n canInline\n \n \n \n \n \n \ncanInline()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-web-link-resource.ts:18\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \ncontent()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-web-link-resource.ts:22\n \n \n\n\n \n \n\n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n transform\n \n \n \n \n \n \ntransform()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-web-link-resource.ts:61\n \n \n\n\n \n \n\n \n Returns : Record\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Builder } from 'xml2js';\nimport { CommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeResourceType, CommonCartridgeVersion } from './common-cartridge-enums';\nimport { CommonCartridgeFile } from './common-cartridge-file.interface';\n\nexport type ICommonCartridgeWebLinkResourceProps = {\n\ttype: CommonCartridgeResourceType.WEB_LINK_V1 | CommonCartridgeResourceType.WEB_LINK_V3;\n\tversion: CommonCartridgeVersion;\n\tidentifier: string;\n\thref: string;\n\ttitle: string;\n\turl: string;\n};\n\nexport class CommonCartridgeWebLinkResourceElement implements CommonCartridgeElement, CommonCartridgeFile {\n\tconstructor(private readonly props: ICommonCartridgeWebLinkResourceProps, private readonly xmlBuilder: Builder) {}\n\n\tcanInline(): boolean {\n\t\treturn false;\n\t}\n\n\tcontent(): string {\n\t\tconst commonTags = {\n\t\t\ttitle: this.props.title,\n\t\t\turl: {\n\t\t\t\t$: {\n\t\t\t\t\thref: this.props.url,\n\t\t\t\t\ttarget: '_self',\n\t\t\t\t\twindowFeatures: 'width=100, height=100',\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t\tswitch (this.props.version) {\n\t\t\tcase CommonCartridgeVersion.V_1_3_0:\n\t\t\t\treturn this.xmlBuilder.buildObject({\n\t\t\t\t\twebLink: {\n\t\t\t\t\t\t...commonTags,\n\t\t\t\t\t\t$: {\n\t\t\t\t\t\t\txmlns: 'http://www.imsglobal.org/xsd/imsccv1p3/imswl_v1p3',\n\t\t\t\t\t\t\t'xmlns:xsi': 'http://www.w3.org/2001/XMLSchema-instance',\n\t\t\t\t\t\t\t'xsi:schemaLocation':\n\t\t\t\t\t\t\t\t'http://www.imsglobal.org/xsd/imsccv1p3/imswl_v1p3 http://www.imsglobal.org/profile/cc/ccv1p3/ccv1p3_imswl_v1p3.xsd',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\tdefault:\n\t\t\t\treturn this.xmlBuilder.buildObject({\n\t\t\t\t\twebLink: {\n\t\t\t\t\t\t...commonTags,\n\t\t\t\t\t\t$: {\n\t\t\t\t\t\t\txmlns: 'http://www.imsglobal.org/xsd/imsccv1p1/imswl_v1p1',\n\t\t\t\t\t\t\t'xmlns:xsi': 'http://www.w3.org/2001/XMLSchema-instance',\n\t\t\t\t\t\t\t'xsi:schemaLocation':\n\t\t\t\t\t\t\t\t'http://www.imsglobal.org/xsd/imsccv1p1/imswl_v1p1 https://www.imsglobal.org/sites/default/files/profile/cc/ccv1p1/ccv1p1_imswl_v1p1.xsd',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t}\n\t}\n\n\ttransform(): Record {\n\t\treturn {\n\t\t\t$: {\n\t\t\t\tidentifier: this.props.identifier,\n\t\t\t\ttype: this.props.type,\n\t\t\t},\n\t\t\tfile: {\n\t\t\t\t$: {\n\t\t\t\t\thref: this.props.href,\n\t\t\t\t},\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/CommonToolModule.html":{"url":"modules/CommonToolModule.html","title":"module - CommonToolModule","body":"\n \n\n\n\n\n Modules\n CommonToolModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_CommonToolModule\n\n\n\ncluster_CommonToolModule_providers\n\n\n\ncluster_CommonToolModule_exports\n\n\n\ncluster_CommonToolModule_imports\n\n\n\n\nLegacySchoolModule\n\nLegacySchoolModule\n\n\n\nCommonToolModule\n\nCommonToolModule\n\nCommonToolModule -->\n\nLegacySchoolModule->CommonToolModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nCommonToolModule -->\n\nLoggerModule->CommonToolModule\n\n\n\n\n\nCommonToolService \n\nCommonToolService \n\nCommonToolService -->\n\nCommonToolModule->CommonToolService \n\n\n\n\n\nCommonToolValidationService \n\nCommonToolValidationService \n\nCommonToolValidationService -->\n\nCommonToolModule->CommonToolValidationService \n\n\n\n\n\nContextExternalToolRepo \n\nContextExternalToolRepo \n\nContextExternalToolRepo -->\n\nCommonToolModule->ContextExternalToolRepo \n\n\n\n\n\nSchoolExternalToolRepo \n\nSchoolExternalToolRepo \n\nSchoolExternalToolRepo -->\n\nCommonToolModule->SchoolExternalToolRepo \n\n\n\n\n\nCommonToolService\n\nCommonToolService\n\nCommonToolModule -->\n\nCommonToolService->CommonToolModule\n\n\n\n\n\nCommonToolValidationService\n\nCommonToolValidationService\n\nCommonToolModule -->\n\nCommonToolValidationService->CommonToolModule\n\n\n\n\n\nContextExternalToolRepo\n\nContextExternalToolRepo\n\nCommonToolModule -->\n\nContextExternalToolRepo->CommonToolModule\n\n\n\n\n\nSchoolExternalToolRepo\n\nSchoolExternalToolRepo\n\nCommonToolModule -->\n\nSchoolExternalToolRepo->CommonToolModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tool/common/common-tool.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n CommonToolService\n \n \n CommonToolValidationService\n \n \n ContextExternalToolRepo\n \n \n SchoolExternalToolRepo\n \n \n \n \n Imports\n \n \n LegacySchoolModule\n \n \n LoggerModule\n \n \n \n \n Exports\n \n \n CommonToolService\n \n \n CommonToolValidationService\n \n \n ContextExternalToolRepo\n \n \n SchoolExternalToolRepo\n \n \n \n \n \n\n\n \n\n\n \n import { LegacySchoolModule } from '@modules/legacy-school';\nimport { Module } from '@nestjs/common';\nimport { ContextExternalToolRepo, SchoolExternalToolRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { CommonToolService, CommonToolValidationService } from './service';\n\n@Module({\n\timports: [LoggerModule, LegacySchoolModule],\n\t// TODO: make deletion of entities cascading, adjust ExternalToolService.deleteExternalTool and remove the repos from here\n\tproviders: [CommonToolService, CommonToolValidationService, SchoolExternalToolRepo, ContextExternalToolRepo],\n\texports: [CommonToolService, CommonToolValidationService, SchoolExternalToolRepo, ContextExternalToolRepo],\n})\nexport class CommonToolModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CommonToolService.html":{"url":"injectables/CommonToolService.html","title":"injectable - CommonToolService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CommonToolService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/service/common-tool.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n determineToolConfigurationStatus\n \n \n Public\n isContextRestricted\n \n \n Private\n isLatest\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n determineToolConfigurationStatus\n \n \n \n \n \n \n use ToolVersionService\n \n \n \n \n \n determineToolConfigurationStatus(externalTool: ExternalTool, schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool.service.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolConfigurationStatus\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isContextRestricted\n \n \n \n \n \n \n \n isContextRestricted(externalTool: ExternalTool, context: ToolContextType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool.service.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n context\n \n ToolContextType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isLatest\n \n \n \n \n \n \n \n isLatest(tool1: ToolVersion, tool2: ToolVersion)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool.service.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n tool1\n \n ToolVersion\n \n\n \n No\n \n\n\n \n \n tool2\n \n ToolVersion\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ExternalTool } from '../../external-tool/domain';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { ContextExternalTool } from '../../context-external-tool/domain';\nimport { ToolContextType } from '../enum';\nimport { ContextExternalToolConfigurationStatus } from '../domain';\nimport { ToolVersion } from '../interface';\n\n// TODO N21-1337 remove class when tool versioning is removed\n@Injectable()\nexport class CommonToolService {\n\t/**\n\t * @deprecated use ToolVersionService\n\t */\n\tpublic determineToolConfigurationStatus(\n\t\texternalTool: ExternalTool,\n\t\tschoolExternalTool: SchoolExternalTool,\n\t\tcontextExternalTool: ContextExternalTool\n\t): ContextExternalToolConfigurationStatus {\n\t\tconst configurationStatus: ContextExternalToolConfigurationStatus = new ContextExternalToolConfigurationStatus({\n\t\t\tisOutdatedOnScopeContext: true,\n\t\t\tisOutdatedOnScopeSchool: true,\n\t\t});\n\n\t\tif (\n\t\t\tthis.isLatest(schoolExternalTool, externalTool) &&\n\t\t\tthis.isLatest(contextExternalTool, schoolExternalTool) &&\n\t\t\tthis.isLatest(contextExternalTool, externalTool)\n\t\t) {\n\t\t\tconfigurationStatus.isOutdatedOnScopeContext = false;\n\t\t\tconfigurationStatus.isOutdatedOnScopeSchool = false;\n\t\t} else {\n\t\t\tconfigurationStatus.isOutdatedOnScopeContext = true;\n\t\t\tconfigurationStatus.isOutdatedOnScopeSchool = true;\n\t\t}\n\n\t\treturn configurationStatus;\n\t}\n\n\tprivate isLatest(tool1: ToolVersion, tool2: ToolVersion): boolean {\n\t\treturn tool1.getVersion() >= tool2.getVersion();\n\t}\n\n\tpublic isContextRestricted(externalTool: ExternalTool, context: ToolContextType): boolean {\n\t\tif (externalTool.restrictToContexts?.length && !externalTool.restrictToContexts.includes(context)) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CommonToolValidationService.html":{"url":"injectables/CommonToolValidationService.html","title":"injectable - CommonToolValidationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CommonToolValidationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/service/common-tool-validation.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n typeCheckers\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n checkCustomParameterEntries\n \n \n Private\n checkForDuplicateParameters\n \n \n Private\n checkForUnknownParameters\n \n \n Private\n checkOptionalParameter\n \n \n Private\n checkParameterRegex\n \n \n Private\n checkParameterType\n \n \n Private\n checkValidityOfParameters\n \n \n Public\n isValueValidForType\n \n \n Private\n validateParameter\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n checkCustomParameterEntries\n \n \n \n \n \n \n \n checkCustomParameterEntries(loadedExternalTool: ExternalTool, validatableTool: ValidatableTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool-validation.service.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loadedExternalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n validatableTool\n \n ValidatableTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n checkForDuplicateParameters\n \n \n \n \n \n \n \n checkForDuplicateParameters(validatableTool: ValidatableTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool-validation.service.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n validatableTool\n \n ValidatableTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n checkForUnknownParameters\n \n \n \n \n \n \n \n checkForUnknownParameters(validatableTool: ValidatableTool, parametersForScope: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool-validation.service.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n validatableTool\n \n ValidatableTool\n \n\n \n No\n \n\n\n \n \n parametersForScope\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n checkOptionalParameter\n \n \n \n \n \n \n \n checkOptionalParameter(param: CustomParameter, foundEntry: CustomParameterEntry | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool-validation.service.ts:91\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n param\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n foundEntry\n \n CustomParameterEntry | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n checkParameterRegex\n \n \n \n \n \n \n \n checkParameterRegex(foundEntry: CustomParameterEntry, param: CustomParameter)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool-validation.service.ts:107\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n foundEntry\n \n CustomParameterEntry\n \n\n \n No\n \n\n\n \n \n param\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n checkParameterType\n \n \n \n \n \n \n \n checkParameterType(foundEntry: CustomParameterEntry, param: CustomParameter)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool-validation.service.ts:99\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n foundEntry\n \n CustomParameterEntry\n \n\n \n No\n \n\n\n \n \n param\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n checkValidityOfParameters\n \n \n \n \n \n \n \n checkValidityOfParameters(validatableTool: ValidatableTool, parametersForScope: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool-validation.service.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n validatableTool\n \n ValidatableTool\n \n\n \n No\n \n\n\n \n \n parametersForScope\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isValueValidForType\n \n \n \n \n \n \n \n isValueValidForType(type: CustomParameterType, val: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool-validation.service.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n CustomParameterType\n \n\n \n No\n \n\n\n \n \n val\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n validateParameter\n \n \n \n \n \n \n \n validateParameter(param: CustomParameter, foundEntry: CustomParameterEntry | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool-validation.service.ts:82\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n param\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n foundEntry\n \n CustomParameterEntry | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n typeCheckers\n \n \n \n \n \n \n Default value : {\n\t\t[CustomParameterType.STRING]: () => true,\n\t\t[CustomParameterType.NUMBER]: (val: string | undefined) => !isNaN(Number(val)),\n\t\t[CustomParameterType.BOOLEAN]: (val: string | undefined) => val === 'true' || val === 'false',\n\t\t[CustomParameterType.AUTO_CONTEXTID]: () => false,\n\t\t[CustomParameterType.AUTO_CONTEXTNAME]: () => false,\n\t\t[CustomParameterType.AUTO_SCHOOLID]: () => false,\n\t\t[CustomParameterType.AUTO_SCHOOLNUMBER]: () => false,\n\t}\n \n \n \n \n Defined in apps/server/src/modules/tool/common/service/common-tool-validation.service.ts:14\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ValidationError } from '@shared/common';\nimport { isNaN } from 'lodash';\nimport { ContextExternalTool } from '../../context-external-tool/domain';\nimport { ExternalTool } from '../../external-tool/domain';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { CustomParameter, CustomParameterEntry } from '../domain';\nimport { CustomParameterScope, CustomParameterType } from '../enum';\n\nexport type ValidatableTool = SchoolExternalTool | ContextExternalTool;\n\n@Injectable()\nexport class CommonToolValidationService {\n\tprivate static typeCheckers: { [key in CustomParameterType]: (val: string) => boolean } = {\n\t\t[CustomParameterType.STRING]: () => true,\n\t\t[CustomParameterType.NUMBER]: (val: string | undefined) => !isNaN(Number(val)),\n\t\t[CustomParameterType.BOOLEAN]: (val: string | undefined) => val === 'true' || val === 'false',\n\t\t[CustomParameterType.AUTO_CONTEXTID]: () => false,\n\t\t[CustomParameterType.AUTO_CONTEXTNAME]: () => false,\n\t\t[CustomParameterType.AUTO_SCHOOLID]: () => false,\n\t\t[CustomParameterType.AUTO_SCHOOLNUMBER]: () => false,\n\t};\n\n\tpublic isValueValidForType(type: CustomParameterType, val: string): boolean {\n\t\tconst rule = CommonToolValidationService.typeCheckers[type];\n\n\t\tconst isValid: boolean = rule(val);\n\n\t\treturn isValid;\n\t}\n\n\tpublic checkCustomParameterEntries(loadedExternalTool: ExternalTool, validatableTool: ValidatableTool): void {\n\t\tthis.checkForDuplicateParameters(validatableTool);\n\n\t\tconst parametersForScope: CustomParameter[] = (loadedExternalTool.parameters ?? []).filter(\n\t\t\t(param: CustomParameter) =>\n\t\t\t\t(validatableTool instanceof SchoolExternalTool && param.scope === CustomParameterScope.SCHOOL) ||\n\t\t\t\t(validatableTool instanceof ContextExternalTool && param.scope === CustomParameterScope.CONTEXT)\n\t\t);\n\n\t\tthis.checkForUnknownParameters(validatableTool, parametersForScope);\n\n\t\tthis.checkValidityOfParameters(validatableTool, parametersForScope);\n\t}\n\n\tprivate checkForDuplicateParameters(validatableTool: ValidatableTool): void {\n\t\tconst caseInsensitiveNames: string[] = validatableTool.parameters.map(({ name }: CustomParameterEntry) => name);\n\n\t\tconst uniqueNames: Set = new Set(caseInsensitiveNames);\n\n\t\tif (uniqueNames.size !== validatableTool.parameters.length) {\n\t\t\tthrow new ValidationError(\n\t\t\t\t`tool_param_duplicate: The tool ${validatableTool.id ?? ''} contains multiple of the same custom parameters.`\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate checkForUnknownParameters(validatableTool: ValidatableTool, parametersForScope: CustomParameter[]): void {\n\t\tfor (const entry of validatableTool.parameters) {\n\t\t\tconst foundParameter: CustomParameter | undefined = parametersForScope.find(\n\t\t\t\t({ name }: CustomParameter): boolean => name === entry.name\n\t\t\t);\n\n\t\t\tif (!foundParameter) {\n\t\t\t\tthrow new ValidationError(\n\t\t\t\t\t`tool_param_unknown: The parameter with name ${entry.name} is not part of this tool.`\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate checkValidityOfParameters(validatableTool: ValidatableTool, parametersForScope: CustomParameter[]): void {\n\t\tfor (const param of parametersForScope) {\n\t\t\tconst foundEntry: CustomParameterEntry | undefined = validatableTool.parameters.find(\n\t\t\t\t({ name }: CustomParameterEntry): boolean => name === param.name\n\t\t\t);\n\n\t\t\tthis.validateParameter(param, foundEntry);\n\t\t}\n\t}\n\n\tprivate validateParameter(param: CustomParameter, foundEntry: CustomParameterEntry | undefined): void {\n\t\tthis.checkOptionalParameter(param, foundEntry);\n\n\t\tif (foundEntry) {\n\t\t\tthis.checkParameterType(foundEntry, param);\n\t\t\tthis.checkParameterRegex(foundEntry, param);\n\t\t}\n\t}\n\n\tprivate checkOptionalParameter(param: CustomParameter, foundEntry: CustomParameterEntry | undefined): void {\n\t\tif (!foundEntry?.value && !param.isOptional) {\n\t\t\tthrow new ValidationError(\n\t\t\t\t`tool_param_required: The parameter with name ${param.name} is required but not found in the tool.`\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate checkParameterType(foundEntry: CustomParameterEntry, param: CustomParameter): void {\n\t\tif (foundEntry.value !== undefined && !this.isValueValidForType(param.type, foundEntry.value)) {\n\t\t\tthrow new ValidationError(\n\t\t\t\t`tool_param_type_mismatch: The value of parameter with name ${foundEntry.name} should be of type ${param.type}.`\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate checkParameterRegex(foundEntry: CustomParameterEntry, param: CustomParameter): void {\n\t\tif (foundEntry.value !== undefined && param.regex && !new RegExp(param.regex).test(foundEntry.value ?? '')) {\n\t\t\tthrow new ValidationError(\n\t\t\t\t`tool_param_value_regex: The given entry for the parameter with name ${foundEntry.name} does not fit the regex.`\n\t\t\t);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ComponentEtherpadProperties.html":{"url":"interfaces/ComponentEtherpadProperties.html","title":"interface - ComponentEtherpadProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ComponentEtherpadProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/lesson.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n description\n \n \n \n \n title\n \n \n \n \n url\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n description: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { LearnroomElement } from '@shared/domain/interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport { Material } from './materials.entity';\nimport type { TaskParent } from './task.entity';\nimport { Task } from './task.entity';\n\nexport interface LessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: ComponentProperties[] | [];\n\tmaterials?: Material[];\n}\n\nexport enum ComponentType {\n\tETHERPAD = 'Etherpad',\n\tGEOGEBRA = 'geoGebra',\n\tINTERNAL = 'internal',\n\tLERNSTORE = 'resources',\n\tTEXT = 'text',\n\tNEXBOARD = 'neXboard',\n}\n\nexport interface ComponentTextProperties {\n\ttext: string;\n}\n\nexport interface ComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface ComponentLernstoreProperties {\n\tresources: {\n\t\tclient: string;\n\t\tdescription: string;\n\t\tmerlinReference?: string;\n\t\ttitle: string;\n\t\turl: string;\n\t}[];\n}\n\nexport interface ComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentInternalProperties {\n\turl: string;\n}\n\nexport type ComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: ComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: ComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: ComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: ComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: ComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: ComponentNexboardProperties }\n);\n\nexport interface LessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements LearnroomElement, TaskParent {\n\t@Property()\n\tname: string;\n\n\t@Index()\n\t@Property()\n\thidden = false;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId' })\n\tcourse: Course;\n\n\t@ManyToOne('CourseGroup', { fieldName: 'courseGroupId', nullable: true })\n\tcourseGroup?: CourseGroup;\n\n\t@Property()\n\tposition: number;\n\n\t@Property()\n\tcontents: ComponentProperties[] | [];\n\n\t@ManyToMany('Material', undefined, { fieldName: 'materialIds' })\n\tmaterials = new Collection(this);\n\n\t@OneToMany('Task', 'lesson', { orphanRemoval: true })\n\ttasks = new Collection(this);\n\n\tconstructor(props: LessonProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tif (props.hidden !== undefined) this.hidden = props.hidden;\n\t\tthis.course = props.course;\n\t\tthis.courseGroup = props.courseGroup;\n\t\tthis.position = props.position || 0;\n\t\tthis.contents = props.contents;\n\t\tif (props.materials) this.materials.set(props.materials);\n\t}\n\n\tprivate getParent(): LessonParent {\n\t\tconst parent = this.courseGroup || this.course;\n\n\t\treturn parent;\n\t}\n\n\tprivate getTasksItems(): Task[] {\n\t\tif (!this.tasks.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their tasks that are not loaded.');\n\t\t}\n\t\tconst tasks = this.tasks.getItems();\n\t\treturn tasks;\n\t}\n\n\tgetNumberOfPublishedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPublished());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfDraftTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isDraft());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfPlannedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPlanned());\n\t\treturn filtered.length;\n\t}\n\n\tgetLessonComponents(): ComponentProperties[] | [] {\n\t\treturn this.contents;\n\t}\n\n\tgetLessonLinkedTasks(): Task[] {\n\t\tconst tasks = this.getTasksItems();\n\t\treturn tasks;\n\t}\n\n\tgetLessonMaterials(): Material[] {\n\t\tif (!this.materials.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their materials that are not loaded.');\n\t\t}\n\t\tconst materials = this.materials.getItems();\n\t\treturn materials;\n\t}\n\n\tgetSchoolId(): EntityId {\n\t\tif (!this.courseGroup) {\n\t\t\treturn this.course.school.id;\n\t\t}\n\n\t\treturn this.courseGroup.school.id;\n\t}\n\n\tpublish() {\n\t\tthis.hidden = false;\n\t}\n\n\tunpublish() {\n\t\tthis.hidden = true;\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst parent = this.getParent();\n\t\tconst studentIds = parent.getStudentIds();\n\n\t\treturn studentIds;\n\t}\n}\n\nexport function isLesson(reference: unknown): reference is LessonEntity {\n\treturn reference instanceof LessonEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ComponentGeogebraProperties.html":{"url":"interfaces/ComponentGeogebraProperties.html","title":"interface - ComponentGeogebraProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ComponentGeogebraProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/lesson.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n materialId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n materialId\n \n \n \n \n \n \n \n \n materialId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { LearnroomElement } from '@shared/domain/interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport { Material } from './materials.entity';\nimport type { TaskParent } from './task.entity';\nimport { Task } from './task.entity';\n\nexport interface LessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: ComponentProperties[] | [];\n\tmaterials?: Material[];\n}\n\nexport enum ComponentType {\n\tETHERPAD = 'Etherpad',\n\tGEOGEBRA = 'geoGebra',\n\tINTERNAL = 'internal',\n\tLERNSTORE = 'resources',\n\tTEXT = 'text',\n\tNEXBOARD = 'neXboard',\n}\n\nexport interface ComponentTextProperties {\n\ttext: string;\n}\n\nexport interface ComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface ComponentLernstoreProperties {\n\tresources: {\n\t\tclient: string;\n\t\tdescription: string;\n\t\tmerlinReference?: string;\n\t\ttitle: string;\n\t\turl: string;\n\t}[];\n}\n\nexport interface ComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentInternalProperties {\n\turl: string;\n}\n\nexport type ComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: ComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: ComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: ComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: ComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: ComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: ComponentNexboardProperties }\n);\n\nexport interface LessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements LearnroomElement, TaskParent {\n\t@Property()\n\tname: string;\n\n\t@Index()\n\t@Property()\n\thidden = false;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId' })\n\tcourse: Course;\n\n\t@ManyToOne('CourseGroup', { fieldName: 'courseGroupId', nullable: true })\n\tcourseGroup?: CourseGroup;\n\n\t@Property()\n\tposition: number;\n\n\t@Property()\n\tcontents: ComponentProperties[] | [];\n\n\t@ManyToMany('Material', undefined, { fieldName: 'materialIds' })\n\tmaterials = new Collection(this);\n\n\t@OneToMany('Task', 'lesson', { orphanRemoval: true })\n\ttasks = new Collection(this);\n\n\tconstructor(props: LessonProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tif (props.hidden !== undefined) this.hidden = props.hidden;\n\t\tthis.course = props.course;\n\t\tthis.courseGroup = props.courseGroup;\n\t\tthis.position = props.position || 0;\n\t\tthis.contents = props.contents;\n\t\tif (props.materials) this.materials.set(props.materials);\n\t}\n\n\tprivate getParent(): LessonParent {\n\t\tconst parent = this.courseGroup || this.course;\n\n\t\treturn parent;\n\t}\n\n\tprivate getTasksItems(): Task[] {\n\t\tif (!this.tasks.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their tasks that are not loaded.');\n\t\t}\n\t\tconst tasks = this.tasks.getItems();\n\t\treturn tasks;\n\t}\n\n\tgetNumberOfPublishedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPublished());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfDraftTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isDraft());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfPlannedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPlanned());\n\t\treturn filtered.length;\n\t}\n\n\tgetLessonComponents(): ComponentProperties[] | [] {\n\t\treturn this.contents;\n\t}\n\n\tgetLessonLinkedTasks(): Task[] {\n\t\tconst tasks = this.getTasksItems();\n\t\treturn tasks;\n\t}\n\n\tgetLessonMaterials(): Material[] {\n\t\tif (!this.materials.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their materials that are not loaded.');\n\t\t}\n\t\tconst materials = this.materials.getItems();\n\t\treturn materials;\n\t}\n\n\tgetSchoolId(): EntityId {\n\t\tif (!this.courseGroup) {\n\t\t\treturn this.course.school.id;\n\t\t}\n\n\t\treturn this.courseGroup.school.id;\n\t}\n\n\tpublish() {\n\t\tthis.hidden = false;\n\t}\n\n\tunpublish() {\n\t\tthis.hidden = true;\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst parent = this.getParent();\n\t\tconst studentIds = parent.getStudentIds();\n\n\t\treturn studentIds;\n\t}\n}\n\nexport function isLesson(reference: unknown): reference is LessonEntity {\n\treturn reference instanceof LessonEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ComponentInternalProperties.html":{"url":"interfaces/ComponentInternalProperties.html","title":"interface - ComponentInternalProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ComponentInternalProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/lesson.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { LearnroomElement } from '@shared/domain/interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport { Material } from './materials.entity';\nimport type { TaskParent } from './task.entity';\nimport { Task } from './task.entity';\n\nexport interface LessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: ComponentProperties[] | [];\n\tmaterials?: Material[];\n}\n\nexport enum ComponentType {\n\tETHERPAD = 'Etherpad',\n\tGEOGEBRA = 'geoGebra',\n\tINTERNAL = 'internal',\n\tLERNSTORE = 'resources',\n\tTEXT = 'text',\n\tNEXBOARD = 'neXboard',\n}\n\nexport interface ComponentTextProperties {\n\ttext: string;\n}\n\nexport interface ComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface ComponentLernstoreProperties {\n\tresources: {\n\t\tclient: string;\n\t\tdescription: string;\n\t\tmerlinReference?: string;\n\t\ttitle: string;\n\t\turl: string;\n\t}[];\n}\n\nexport interface ComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentInternalProperties {\n\turl: string;\n}\n\nexport type ComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: ComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: ComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: ComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: ComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: ComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: ComponentNexboardProperties }\n);\n\nexport interface LessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements LearnroomElement, TaskParent {\n\t@Property()\n\tname: string;\n\n\t@Index()\n\t@Property()\n\thidden = false;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId' })\n\tcourse: Course;\n\n\t@ManyToOne('CourseGroup', { fieldName: 'courseGroupId', nullable: true })\n\tcourseGroup?: CourseGroup;\n\n\t@Property()\n\tposition: number;\n\n\t@Property()\n\tcontents: ComponentProperties[] | [];\n\n\t@ManyToMany('Material', undefined, { fieldName: 'materialIds' })\n\tmaterials = new Collection(this);\n\n\t@OneToMany('Task', 'lesson', { orphanRemoval: true })\n\ttasks = new Collection(this);\n\n\tconstructor(props: LessonProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tif (props.hidden !== undefined) this.hidden = props.hidden;\n\t\tthis.course = props.course;\n\t\tthis.courseGroup = props.courseGroup;\n\t\tthis.position = props.position || 0;\n\t\tthis.contents = props.contents;\n\t\tif (props.materials) this.materials.set(props.materials);\n\t}\n\n\tprivate getParent(): LessonParent {\n\t\tconst parent = this.courseGroup || this.course;\n\n\t\treturn parent;\n\t}\n\n\tprivate getTasksItems(): Task[] {\n\t\tif (!this.tasks.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their tasks that are not loaded.');\n\t\t}\n\t\tconst tasks = this.tasks.getItems();\n\t\treturn tasks;\n\t}\n\n\tgetNumberOfPublishedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPublished());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfDraftTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isDraft());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfPlannedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPlanned());\n\t\treturn filtered.length;\n\t}\n\n\tgetLessonComponents(): ComponentProperties[] | [] {\n\t\treturn this.contents;\n\t}\n\n\tgetLessonLinkedTasks(): Task[] {\n\t\tconst tasks = this.getTasksItems();\n\t\treturn tasks;\n\t}\n\n\tgetLessonMaterials(): Material[] {\n\t\tif (!this.materials.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their materials that are not loaded.');\n\t\t}\n\t\tconst materials = this.materials.getItems();\n\t\treturn materials;\n\t}\n\n\tgetSchoolId(): EntityId {\n\t\tif (!this.courseGroup) {\n\t\t\treturn this.course.school.id;\n\t\t}\n\n\t\treturn this.courseGroup.school.id;\n\t}\n\n\tpublish() {\n\t\tthis.hidden = false;\n\t}\n\n\tunpublish() {\n\t\tthis.hidden = true;\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst parent = this.getParent();\n\t\tconst studentIds = parent.getStudentIds();\n\n\t\treturn studentIds;\n\t}\n}\n\nexport function isLesson(reference: unknown): reference is LessonEntity {\n\treturn reference instanceof LessonEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ComponentLernstoreProperties.html":{"url":"interfaces/ComponentLernstoreProperties.html","title":"interface - ComponentLernstoreProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ComponentLernstoreProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/lesson.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n resources\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n resources\n \n \n \n \n \n \n \n \n resources: literal type[]\n\n \n \n\n\n \n \n Type : literal type[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { LearnroomElement } from '@shared/domain/interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport { Material } from './materials.entity';\nimport type { TaskParent } from './task.entity';\nimport { Task } from './task.entity';\n\nexport interface LessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: ComponentProperties[] | [];\n\tmaterials?: Material[];\n}\n\nexport enum ComponentType {\n\tETHERPAD = 'Etherpad',\n\tGEOGEBRA = 'geoGebra',\n\tINTERNAL = 'internal',\n\tLERNSTORE = 'resources',\n\tTEXT = 'text',\n\tNEXBOARD = 'neXboard',\n}\n\nexport interface ComponentTextProperties {\n\ttext: string;\n}\n\nexport interface ComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface ComponentLernstoreProperties {\n\tresources: {\n\t\tclient: string;\n\t\tdescription: string;\n\t\tmerlinReference?: string;\n\t\ttitle: string;\n\t\turl: string;\n\t}[];\n}\n\nexport interface ComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentInternalProperties {\n\turl: string;\n}\n\nexport type ComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: ComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: ComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: ComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: ComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: ComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: ComponentNexboardProperties }\n);\n\nexport interface LessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements LearnroomElement, TaskParent {\n\t@Property()\n\tname: string;\n\n\t@Index()\n\t@Property()\n\thidden = false;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId' })\n\tcourse: Course;\n\n\t@ManyToOne('CourseGroup', { fieldName: 'courseGroupId', nullable: true })\n\tcourseGroup?: CourseGroup;\n\n\t@Property()\n\tposition: number;\n\n\t@Property()\n\tcontents: ComponentProperties[] | [];\n\n\t@ManyToMany('Material', undefined, { fieldName: 'materialIds' })\n\tmaterials = new Collection(this);\n\n\t@OneToMany('Task', 'lesson', { orphanRemoval: true })\n\ttasks = new Collection(this);\n\n\tconstructor(props: LessonProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tif (props.hidden !== undefined) this.hidden = props.hidden;\n\t\tthis.course = props.course;\n\t\tthis.courseGroup = props.courseGroup;\n\t\tthis.position = props.position || 0;\n\t\tthis.contents = props.contents;\n\t\tif (props.materials) this.materials.set(props.materials);\n\t}\n\n\tprivate getParent(): LessonParent {\n\t\tconst parent = this.courseGroup || this.course;\n\n\t\treturn parent;\n\t}\n\n\tprivate getTasksItems(): Task[] {\n\t\tif (!this.tasks.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their tasks that are not loaded.');\n\t\t}\n\t\tconst tasks = this.tasks.getItems();\n\t\treturn tasks;\n\t}\n\n\tgetNumberOfPublishedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPublished());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfDraftTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isDraft());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfPlannedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPlanned());\n\t\treturn filtered.length;\n\t}\n\n\tgetLessonComponents(): ComponentProperties[] | [] {\n\t\treturn this.contents;\n\t}\n\n\tgetLessonLinkedTasks(): Task[] {\n\t\tconst tasks = this.getTasksItems();\n\t\treturn tasks;\n\t}\n\n\tgetLessonMaterials(): Material[] {\n\t\tif (!this.materials.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their materials that are not loaded.');\n\t\t}\n\t\tconst materials = this.materials.getItems();\n\t\treturn materials;\n\t}\n\n\tgetSchoolId(): EntityId {\n\t\tif (!this.courseGroup) {\n\t\t\treturn this.course.school.id;\n\t\t}\n\n\t\treturn this.courseGroup.school.id;\n\t}\n\n\tpublish() {\n\t\tthis.hidden = false;\n\t}\n\n\tunpublish() {\n\t\tthis.hidden = true;\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst parent = this.getParent();\n\t\tconst studentIds = parent.getStudentIds();\n\n\t\treturn studentIds;\n\t}\n}\n\nexport function isLesson(reference: unknown): reference is LessonEntity {\n\treturn reference instanceof LessonEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ComponentNexboardProperties.html":{"url":"interfaces/ComponentNexboardProperties.html","title":"interface - ComponentNexboardProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ComponentNexboardProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/lesson.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n board\n \n \n \n \n description\n \n \n \n \n title\n \n \n \n \n url\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n board\n \n \n \n \n \n \n \n \n board: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n description: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { LearnroomElement } from '@shared/domain/interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport { Material } from './materials.entity';\nimport type { TaskParent } from './task.entity';\nimport { Task } from './task.entity';\n\nexport interface LessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: ComponentProperties[] | [];\n\tmaterials?: Material[];\n}\n\nexport enum ComponentType {\n\tETHERPAD = 'Etherpad',\n\tGEOGEBRA = 'geoGebra',\n\tINTERNAL = 'internal',\n\tLERNSTORE = 'resources',\n\tTEXT = 'text',\n\tNEXBOARD = 'neXboard',\n}\n\nexport interface ComponentTextProperties {\n\ttext: string;\n}\n\nexport interface ComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface ComponentLernstoreProperties {\n\tresources: {\n\t\tclient: string;\n\t\tdescription: string;\n\t\tmerlinReference?: string;\n\t\ttitle: string;\n\t\turl: string;\n\t}[];\n}\n\nexport interface ComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentInternalProperties {\n\turl: string;\n}\n\nexport type ComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: ComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: ComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: ComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: ComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: ComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: ComponentNexboardProperties }\n);\n\nexport interface LessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements LearnroomElement, TaskParent {\n\t@Property()\n\tname: string;\n\n\t@Index()\n\t@Property()\n\thidden = false;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId' })\n\tcourse: Course;\n\n\t@ManyToOne('CourseGroup', { fieldName: 'courseGroupId', nullable: true })\n\tcourseGroup?: CourseGroup;\n\n\t@Property()\n\tposition: number;\n\n\t@Property()\n\tcontents: ComponentProperties[] | [];\n\n\t@ManyToMany('Material', undefined, { fieldName: 'materialIds' })\n\tmaterials = new Collection(this);\n\n\t@OneToMany('Task', 'lesson', { orphanRemoval: true })\n\ttasks = new Collection(this);\n\n\tconstructor(props: LessonProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tif (props.hidden !== undefined) this.hidden = props.hidden;\n\t\tthis.course = props.course;\n\t\tthis.courseGroup = props.courseGroup;\n\t\tthis.position = props.position || 0;\n\t\tthis.contents = props.contents;\n\t\tif (props.materials) this.materials.set(props.materials);\n\t}\n\n\tprivate getParent(): LessonParent {\n\t\tconst parent = this.courseGroup || this.course;\n\n\t\treturn parent;\n\t}\n\n\tprivate getTasksItems(): Task[] {\n\t\tif (!this.tasks.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their tasks that are not loaded.');\n\t\t}\n\t\tconst tasks = this.tasks.getItems();\n\t\treturn tasks;\n\t}\n\n\tgetNumberOfPublishedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPublished());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfDraftTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isDraft());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfPlannedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPlanned());\n\t\treturn filtered.length;\n\t}\n\n\tgetLessonComponents(): ComponentProperties[] | [] {\n\t\treturn this.contents;\n\t}\n\n\tgetLessonLinkedTasks(): Task[] {\n\t\tconst tasks = this.getTasksItems();\n\t\treturn tasks;\n\t}\n\n\tgetLessonMaterials(): Material[] {\n\t\tif (!this.materials.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their materials that are not loaded.');\n\t\t}\n\t\tconst materials = this.materials.getItems();\n\t\treturn materials;\n\t}\n\n\tgetSchoolId(): EntityId {\n\t\tif (!this.courseGroup) {\n\t\t\treturn this.course.school.id;\n\t\t}\n\n\t\treturn this.courseGroup.school.id;\n\t}\n\n\tpublish() {\n\t\tthis.hidden = false;\n\t}\n\n\tunpublish() {\n\t\tthis.hidden = true;\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst parent = this.getParent();\n\t\tconst studentIds = parent.getStudentIds();\n\n\t\treturn studentIds;\n\t}\n}\n\nexport function isLesson(reference: unknown): reference is LessonEntity {\n\treturn reference instanceof LessonEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ComponentTextProperties.html":{"url":"interfaces/ComponentTextProperties.html","title":"interface - ComponentTextProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ComponentTextProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/lesson.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n text\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n text\n \n \n \n \n \n \n \n \n text: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { LearnroomElement } from '@shared/domain/interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport { Material } from './materials.entity';\nimport type { TaskParent } from './task.entity';\nimport { Task } from './task.entity';\n\nexport interface LessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: ComponentProperties[] | [];\n\tmaterials?: Material[];\n}\n\nexport enum ComponentType {\n\tETHERPAD = 'Etherpad',\n\tGEOGEBRA = 'geoGebra',\n\tINTERNAL = 'internal',\n\tLERNSTORE = 'resources',\n\tTEXT = 'text',\n\tNEXBOARD = 'neXboard',\n}\n\nexport interface ComponentTextProperties {\n\ttext: string;\n}\n\nexport interface ComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface ComponentLernstoreProperties {\n\tresources: {\n\t\tclient: string;\n\t\tdescription: string;\n\t\tmerlinReference?: string;\n\t\ttitle: string;\n\t\turl: string;\n\t}[];\n}\n\nexport interface ComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentInternalProperties {\n\turl: string;\n}\n\nexport type ComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: ComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: ComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: ComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: ComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: ComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: ComponentNexboardProperties }\n);\n\nexport interface LessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements LearnroomElement, TaskParent {\n\t@Property()\n\tname: string;\n\n\t@Index()\n\t@Property()\n\thidden = false;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId' })\n\tcourse: Course;\n\n\t@ManyToOne('CourseGroup', { fieldName: 'courseGroupId', nullable: true })\n\tcourseGroup?: CourseGroup;\n\n\t@Property()\n\tposition: number;\n\n\t@Property()\n\tcontents: ComponentProperties[] | [];\n\n\t@ManyToMany('Material', undefined, { fieldName: 'materialIds' })\n\tmaterials = new Collection(this);\n\n\t@OneToMany('Task', 'lesson', { orphanRemoval: true })\n\ttasks = new Collection(this);\n\n\tconstructor(props: LessonProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tif (props.hidden !== undefined) this.hidden = props.hidden;\n\t\tthis.course = props.course;\n\t\tthis.courseGroup = props.courseGroup;\n\t\tthis.position = props.position || 0;\n\t\tthis.contents = props.contents;\n\t\tif (props.materials) this.materials.set(props.materials);\n\t}\n\n\tprivate getParent(): LessonParent {\n\t\tconst parent = this.courseGroup || this.course;\n\n\t\treturn parent;\n\t}\n\n\tprivate getTasksItems(): Task[] {\n\t\tif (!this.tasks.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their tasks that are not loaded.');\n\t\t}\n\t\tconst tasks = this.tasks.getItems();\n\t\treturn tasks;\n\t}\n\n\tgetNumberOfPublishedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPublished());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfDraftTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isDraft());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfPlannedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPlanned());\n\t\treturn filtered.length;\n\t}\n\n\tgetLessonComponents(): ComponentProperties[] | [] {\n\t\treturn this.contents;\n\t}\n\n\tgetLessonLinkedTasks(): Task[] {\n\t\tconst tasks = this.getTasksItems();\n\t\treturn tasks;\n\t}\n\n\tgetLessonMaterials(): Material[] {\n\t\tif (!this.materials.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their materials that are not loaded.');\n\t\t}\n\t\tconst materials = this.materials.getItems();\n\t\treturn materials;\n\t}\n\n\tgetSchoolId(): EntityId {\n\t\tif (!this.courseGroup) {\n\t\t\treturn this.course.school.id;\n\t\t}\n\n\t\treturn this.courseGroup.school.id;\n\t}\n\n\tpublish() {\n\t\tthis.hidden = false;\n\t}\n\n\tunpublish() {\n\t\tthis.hidden = true;\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst parent = this.getParent();\n\t\tconst studentIds = parent.getStudentIds();\n\n\t\treturn studentIds;\n\t}\n}\n\nexport function isLesson(reference: unknown): reference is LessonEntity {\n\treturn reference instanceof LessonEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ConsentRequestBody.html":{"url":"classes/ConsentRequestBody.html","title":"class - ConsentRequestBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ConsentRequestBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/request/consent-request.body.ts\n \n\n\n\n \n Extends\n \n \n OAuthRejectableBody\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n grant_scope\n \n \n \n \n \n Optional\n remember\n \n \n \n \n \n Optional\n remember_for\n \n \n \n \n \n Optional\n error\n \n \n \n \n \n Optional\n error_debug\n \n \n \n \n \n Optional\n error_description\n \n \n \n \n \n Optional\n error_hint\n \n \n \n \n \n Optional\n status_code\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n grant_scope\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@IsString({each: true})@IsOptional()@ApiProperty({description: 'The Oauth2 client id.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/consent-request.body.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n remember\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@IsOptional()@ApiProperty({description: 'Remember, if set to true, tells the oauth provider to remember this consent authorization and reuse it if the same client asks the same user for the same, or a subset of, scope.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/consent-request.body.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n remember_for\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsInt()@IsOptional()@ApiProperty({description: 'RememberFor sets how long the consent authorization should be remembered for in seconds. If set to 0, the authorization will be remembered indefinitely.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/consent-request.body.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n error\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'The error should follow the OAuth2 error format (e.g. invalid_request, login_required). Defaults to request_denied.', required: false, nullable: false})\n \n \n \n \n \n Inherited from OAuthRejectableBody\n\n \n \n \n \n Defined in OAuthRejectableBody:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n error_debug\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'Debug contains information to help resolve the problem as a developer. Usually not exposed to the public but only in the server logs.', required: false, nullable: false})\n \n \n \n \n \n Inherited from OAuthRejectableBody\n\n \n \n \n \n Defined in OAuthRejectableBody:23\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n error_description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'Description of the error in a human readable format.', required: false, nullable: false})\n \n \n \n \n \n Inherited from OAuthRejectableBody\n\n \n \n \n \n Defined in OAuthRejectableBody:32\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n error_hint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'Hint to help resolve the error.', required: false, nullable: false})\n \n \n \n \n \n Inherited from OAuthRejectableBody\n\n \n \n \n \n Defined in OAuthRejectableBody:41\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n status_code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@IsOptional()@ApiProperty({description: 'Represents the HTTP status code of the error (e.g. 401 or 403). Defaults to 400.', required: false, nullable: false})\n \n \n \n \n \n Inherited from OAuthRejectableBody\n\n \n \n \n \n Defined in OAuthRejectableBody:50\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsArray, IsBoolean, IsInt, IsOptional, IsString } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { OAuthRejectableBody } from './oauth-rejectable.body';\n\nexport class ConsentRequestBody extends OAuthRejectableBody {\n\t@IsArray()\n\t@IsString({ each: true })\n\t@IsOptional()\n\t@ApiProperty({ description: 'The Oauth2 client id.', required: false, nullable: false })\n\tgrant_scope?: string[];\n\n\t@IsBoolean()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'Remember, if set to true, tells the oauth provider to remember this consent authorization and reuse it if the same client asks the same user for the same, or a subset of, scope.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\tremember?: boolean;\n\n\t@IsInt()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'RememberFor sets how long the consent authorization should be remembered for in seconds. If set to 0, the authorization will be remembered indefinitely.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\tremember_for?: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ConsentResponse.html":{"url":"classes/ConsentResponse.html","title":"class - ConsentResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ConsentResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n acr\n \n \n \n \n \n \n Optional\n amr\n \n \n \n challenge\n \n \n \n \n Optional\n client\n \n \n \n \n Optional\n context\n \n \n \n \n Optional\n login_challenge\n \n \n \n \n Optional\n login_session_id\n \n \n \n \n Optional\n oidc_context\n \n \n \n \n Optional\n request_url\n \n \n \n \n \n \n Optional\n requested_access_token_audience\n \n \n \n \n \n \n Optional\n requested_scope\n \n \n \n \n Optional\n skip\n \n \n \n \n Optional\n subject\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(consentResponse: ConsentResponse)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n consentResponse\n \n \n ConsentResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n acr\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty({description: 'ACR represents the Authentication AuthorizationContext Class Reference value for this authentication session'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n amr\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@IsOptional()@IsString({each: true})@ApiProperty({required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n challenge\n \n \n \n \n \n \n Type : string | undefined\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Is the id/authorization challenge of the consent authorization request. It is used to identify the session.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n client\n \n \n \n \n \n \n Type : OauthClientResponse\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n context\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n login_challenge\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty({description: 'LoginChallenge is the login challenge this consent challenge belongs to.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:40\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n login_session_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty({description: 'LoginSessionID is the login session ID.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n oidc_context\n \n \n \n \n \n \n Type : OidcContextResponse\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:48\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n request_url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty({description: 'RequestUrl is the original OAuth 2.0 Authorization URL requested by the OAuth 2.0 client.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n requested_access_token_audience\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@IsOptional()@IsString({each: true})@ApiProperty({required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:60\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n requested_scope\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@IsOptional()@IsString({each: true})@ApiProperty({description: 'The request scopes of the login request.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:66\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty({description: 'Skip, if true, implies that the client has requested the same scopes from the same user previously.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:72\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n subject\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty({description: 'Subject is the user id of the end-user that is authenticated.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent.response.ts:76\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsArray, IsOptional, IsString } from 'class-validator';\nimport { OidcContextResponse } from '@modules/oauth-provider/controller/dto/response/oidc-context.response';\nimport { OauthClientResponse } from '@modules/oauth-provider/controller/dto/response/oauth-client.response';\n\nexport class ConsentResponse {\n\tconstructor(consentResponse: ConsentResponse) {\n\t\tObject.assign(this, consentResponse);\n\t}\n\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'ACR represents the Authentication AuthorizationContext Class Reference value for this authentication session',\n\t})\n\tacr?: string;\n\n\t@IsArray()\n\t@IsOptional()\n\t@IsString({ each: true })\n\t@ApiProperty({ required: false, nullable: false })\n\tamr?: string[];\n\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'Is the id/authorization challenge of the consent authorization request. It is used to identify the session.',\n\t})\n\tchallenge: string | undefined;\n\n\t@IsOptional()\n\t@ApiProperty()\n\tclient?: OauthClientResponse;\n\n\t@IsOptional()\n\t@ApiProperty()\n\tcontext?: object;\n\n\t@IsOptional()\n\t@ApiProperty({ description: 'LoginChallenge is the login challenge this consent challenge belongs to.' })\n\tlogin_challenge?: string;\n\n\t@IsOptional()\n\t@ApiProperty({ description: 'LoginSessionID is the login session ID.' })\n\tlogin_session_id?: string;\n\n\t@IsOptional()\n\t@ApiProperty()\n\toidc_context?: OidcContextResponse;\n\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'RequestUrl is the original OAuth 2.0 Authorization URL requested by the OAuth 2.0 client.',\n\t})\n\trequest_url?: string;\n\n\t@IsArray()\n\t@IsOptional()\n\t@IsString({ each: true })\n\t@ApiProperty({ required: false, nullable: false })\n\trequested_access_token_audience?: string[];\n\n\t@IsArray()\n\t@IsOptional()\n\t@IsString({ each: true })\n\t@ApiProperty({ description: 'The request scopes of the login request.', required: false, nullable: false })\n\trequested_scope?: string[];\n\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'Skip, if true, implies that the client has requested the same scopes from the same user previously.',\n\t})\n\tskip?: boolean;\n\n\t@IsOptional()\n\t@ApiProperty({ description: 'Subject is the user id of the end-user that is authenticated.' })\n\tsubject?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ConsentSessionResponse.html":{"url":"classes/ConsentSessionResponse.html","title":"class - ConsentSessionResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ConsentSessionResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/response/consent-session.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n challenge\n \n \n \n \n Optional\n client_id\n \n \n \n Optional\n client_name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(clientId: string | undefined, clientName: string | undefined, challenge: string | undefined)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent-session.response.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n clientId\n \n \n string | undefined\n \n \n \n No\n \n \n \n \n clientName\n \n \n string | undefined\n \n \n \n No\n \n \n \n \n challenge\n \n \n string | undefined\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n challenge\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The id/challenge of the consent authorization request.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent-session.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n client_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty({description: 'The id of the client.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent-session.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n client_name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The name of the client.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/consent-session.response.ts:16\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsOptional } from 'class-validator';\n\nexport class ConsentSessionResponse {\n\tconstructor(clientId: string | undefined, clientName: string | undefined, challenge: string | undefined) {\n\t\tthis.client_id = clientId;\n\t\tthis.client_name = clientName;\n\t\tthis.challenge = challenge;\n\t}\n\n\t@IsOptional()\n\t@ApiProperty({ description: 'The id of the client.' })\n\tclient_id?: string;\n\n\t@ApiProperty({ description: 'The name of the client.' })\n\tclient_name?: string;\n\n\t@ApiProperty({ description: 'The id/challenge of the consent authorization request.' })\n\tchallenge?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ConsoleWriterModule.html":{"url":"modules/ConsoleWriterModule.html","title":"module - ConsoleWriterModule","body":"\n \n\n\n\n\n Modules\n ConsoleWriterModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ConsoleWriterModule\n\n\n\ncluster_ConsoleWriterModule_exports\n\n\n\ncluster_ConsoleWriterModule_providers\n\n\n\n\nConsoleWriterService \n\nConsoleWriterService \n\n\n\nConsoleWriterModule\n\nConsoleWriterModule\n\nConsoleWriterService -->\n\nConsoleWriterModule->ConsoleWriterService \n\n\n\n\n\nConsoleWriterService\n\nConsoleWriterService\n\nConsoleWriterModule -->\n\nConsoleWriterService->ConsoleWriterModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/console/console-writer/console-writer.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ConsoleWriterService\n \n \n \n \n Exports\n \n \n ConsoleWriterService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { ConsoleWriterService } from './console-writer.service';\n\n@Module({\n\tproviders: [ConsoleWriterService],\n\texports: [ConsoleWriterService],\n})\nexport class ConsoleWriterModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ConsoleWriterService.html":{"url":"injectables/ConsoleWriterService.html","title":"injectable - ConsoleWriterService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ConsoleWriterService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/console/console-writer/console-writer.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n info\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n info\n \n \n \n \n \n \ninfo(text: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/console/console-writer/console-writer.service.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n text\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\n\n@Injectable()\nexport class ConsoleWriterService {\n\tinfo(text: string): void {\n\t\t// eslint-disable-next-line no-console\n\t\tconsole.info('Info:', text);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContentBodyParams.html":{"url":"classes/ContentBodyParams.html","title":"class - ContentBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContentBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/ajax/post.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contentId\n \n \n \n \n \n field\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contentId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/post.body.params.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n field\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/post.body.params.ts:19\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsArray, IsMongoId, IsOptional, IsString } from 'class-validator';\n\nexport class LibrariesBodyParams {\n\t@ApiProperty()\n\t@IsArray()\n\t@IsString({ each: true })\n\tlibraries!: string[];\n}\n\nexport class ContentBodyParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsOptional()\n\tfield!: string;\n}\n\nexport class LibraryParametersBodyParams {\n\t@ApiProperty()\n\t@IsString()\n\tlibraryParameters!: string;\n}\n\nexport type AjaxPostBodyParams = LibrariesBodyParams | ContentBodyParams | LibraryParametersBodyParams | undefined;\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ContentElementFactory.html":{"url":"injectables/ContentElementFactory.html","title":"injectable - ContentElementFactory","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ContentElementFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/content-element.factory.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n build\n \n \n Private\n buildDrawing\n \n \n Private\n buildExternalTool\n \n \n Private\n buildFile\n \n \n Private\n buildLink\n \n \n Private\n buildRichText\n \n \n Private\n buildSubmissionContainer\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(type: ContentElementType)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/content-element.factory.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n ContentElementType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AnyContentElementDo\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n buildDrawing\n \n \n \n \n \n \n \n buildDrawing()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/content-element.factory.ts:85\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n buildExternalTool\n \n \n \n \n \n \n \n buildExternalTool()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/content-element.factory.ts:109\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n buildFile\n \n \n \n \n \n \n \n buildFile()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/content-element.factory.ts:47\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n buildLink\n \n \n \n \n \n \n \n buildLink()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/content-element.factory.ts:60\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n buildRichText\n \n \n \n \n \n \n \n buildRichText()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/content-element.factory.ts:72\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n buildSubmissionContainer\n \n \n \n \n \n \n \n buildSubmissionContainer()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/content-element.factory.ts:97\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, NotImplementedException } from '@nestjs/common';\nimport { InputFormat } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport { ExternalToolElement } from './external-tool-element.do';\nimport { DrawingElement } from './drawing-element.do';\nimport { FileElement } from './file-element.do';\nimport { LinkElement } from './link-element.do';\nimport { RichTextElement } from './rich-text-element.do';\nimport { SubmissionContainerElement } from './submission-container-element.do';\nimport { AnyContentElementDo, ContentElementType } from './types';\n\n@Injectable()\nexport class ContentElementFactory {\n\tbuild(type: ContentElementType): AnyContentElementDo {\n\t\tlet element!: AnyContentElementDo;\n\n\t\tswitch (type) {\n\t\t\tcase ContentElementType.FILE:\n\t\t\t\telement = this.buildFile();\n\t\t\t\tbreak;\n\t\t\tcase ContentElementType.LINK:\n\t\t\t\telement = this.buildLink();\n\t\t\t\tbreak;\n\t\t\tcase ContentElementType.RICH_TEXT:\n\t\t\t\telement = this.buildRichText();\n\t\t\t\tbreak;\n\t\t\tcase ContentElementType.DRAWING:\n\t\t\t\telement = this.buildDrawing();\n\t\t\t\tbreak;\n\t\t\tcase ContentElementType.SUBMISSION_CONTAINER:\n\t\t\t\telement = this.buildSubmissionContainer();\n\t\t\t\tbreak;\n\t\t\tcase ContentElementType.EXTERNAL_TOOL:\n\t\t\t\telement = this.buildExternalTool();\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif (!element) {\n\t\t\tthrow new NotImplementedException(`unknown type ${type} of element`);\n\t\t}\n\n\t\treturn element;\n\t}\n\n\tprivate buildFile() {\n\t\tconst element = new FileElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\tcaption: '',\n\t\t\talternativeText: '',\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\n\t\treturn element;\n\t}\n\n\tprivate buildLink() {\n\t\tconst element = new LinkElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\turl: '',\n\t\t\ttitle: '',\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\n\t\treturn element;\n\t}\n\n\tprivate buildRichText() {\n\t\tconst element = new RichTextElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttext: '',\n\t\t\tinputFormat: InputFormat.RICH_TEXT_CK5,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\n\t\treturn element;\n\t}\n\n\tprivate buildDrawing() {\n\t\tconst element = new DrawingElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\tdescription: '',\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\n\t\treturn element;\n\t}\n\n\tprivate buildSubmissionContainer() {\n\t\tconst element = new SubmissionContainerElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\tdueDate: null,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\n\t\treturn element;\n\t}\n\n\tprivate buildExternalTool() {\n\t\tconst element = new ExternalToolElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\n\t\treturn element;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContentElementResponseFactory.html":{"url":"classes/ContentElementResponseFactory.html","title":"class - ContentElementResponseFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContentElementResponseFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/content-element-response.factory.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n mappers\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapSubmissionContentToResponse\n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n mappers\n \n \n \n \n \n \n Type : BaseResponseMapper[]\n\n \n \n \n \n Default value : [\n\t\tFileElementResponseMapper.getInstance(),\n\t\tLinkElementResponseMapper.getInstance(),\n\t\tRichTextElementResponseMapper.getInstance(),\n\t\tDrawingElementResponseMapper.getInstance(),\n\t\tSubmissionContainerElementResponseMapper.getInstance(),\n\t\tExternalToolElementResponseMapper.getInstance(),\n\t]\n \n \n \n \n Defined in apps/server/src/modules/board/controller/mapper/content-element-response.factory.ts:19\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapSubmissionContentToResponse\n \n \n \n \n \n \n \n mapSubmissionContentToResponse(element: RichTextElement | FileElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/content-element-response.factory.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n RichTextElement | FileElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileElementResponse | RichTextElementResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(element: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/content-element-response.factory.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AnyContentElementResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { NotImplementedException, UnprocessableEntityException } from '@nestjs/common';\nimport { AnyBoardDo, FileElement, RichTextElement } from '@shared/domain/domainobject';\nimport {\n\tAnyContentElementResponse,\n\tFileElementResponse,\n\tisFileElementResponse,\n\tisRichTextElementResponse,\n\tRichTextElementResponse,\n} from '../dto';\nimport { BaseResponseMapper } from './base-mapper.interface';\nimport { DrawingElementResponseMapper } from './drawing-element-response.mapper';\nimport { ExternalToolElementResponseMapper } from './external-tool-element-response.mapper';\nimport { FileElementResponseMapper } from './file-element-response.mapper';\nimport { LinkElementResponseMapper } from './link-element-response.mapper';\nimport { RichTextElementResponseMapper } from './rich-text-element-response.mapper';\nimport { SubmissionContainerElementResponseMapper } from './submission-container-element-response.mapper';\n\nexport class ContentElementResponseFactory {\n\tprivate static mappers: BaseResponseMapper[] = [\n\t\tFileElementResponseMapper.getInstance(),\n\t\tLinkElementResponseMapper.getInstance(),\n\t\tRichTextElementResponseMapper.getInstance(),\n\t\tDrawingElementResponseMapper.getInstance(),\n\t\tSubmissionContainerElementResponseMapper.getInstance(),\n\t\tExternalToolElementResponseMapper.getInstance(),\n\t];\n\n\tstatic mapToResponse(element: AnyBoardDo): AnyContentElementResponse {\n\t\tconst elementMapper = this.mappers.find((mapper) => mapper.canMap(element));\n\n\t\tif (!elementMapper) {\n\t\t\tthrow new NotImplementedException(`unsupported element type: ${element.constructor.name}`);\n\t\t}\n\n\t\tconst result = elementMapper.mapToResponse(element);\n\n\t\treturn result;\n\t}\n\n\tstatic mapSubmissionContentToResponse(\n\t\telement: RichTextElement | FileElement\n\t): FileElementResponse | RichTextElementResponse {\n\t\tconst result = this.mapToResponse(element);\n\t\tif (!isFileElementResponse(result) && !isRichTextElementResponse(result)) {\n\t\t\tthrow new UnprocessableEntityException();\n\t\t}\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ContentElementService.html":{"url":"injectables/ContentElementService.html","title":"injectable - ContentElementService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ContentElementService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/content-element.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n findParentOfId\n \n \n Async\n move\n \n \n Async\n update\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(boardDoRepo: BoardDoRepo, boardDoService: BoardDoService, contentElementFactory: ContentElementFactory)\n \n \n \n \n Defined in apps/server/src/modules/board/service/content-element.service.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDoRepo\n \n \n BoardDoRepo\n \n \n \n No\n \n \n \n \n boardDoService\n \n \n BoardDoService\n \n \n \n No\n \n \n \n \n contentElementFactory\n \n \n ContentElementFactory\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n create\n \n \n \n \n \n \n \n create(parent: Card | SubmissionItem, type: ContentElementType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element.service.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n parent\n \n Card | SubmissionItem\n \n\n \n No\n \n\n\n \n \n type\n \n ContentElementType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(element: AnyContentElementDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element.service.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n AnyContentElementDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(elementId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element.service.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n elementId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findParentOfId\n \n \n \n \n \n \n \n findParentOfId(elementId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element.service.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n elementId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n move\n \n \n \n \n \n \n \n move(element: AnyContentElementDo, targetCard: Card, targetPosition: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element.service.ts:54\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n AnyContentElementDo\n \n\n \n No\n \n\n\n \n \n targetCard\n \n Card\n \n\n \n No\n \n\n\n \n \n targetPosition\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n update\n \n \n \n \n \n \n \n update(element: AnyContentElementDo, content: AnyElementContentBody)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element.service.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n AnyContentElementDo\n \n\n \n No\n \n\n\n \n \n content\n \n AnyElementContentBody\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, NotFoundException } from '@nestjs/common';\nimport {\n\tAnyBoardDo,\n\tAnyContentElementDo,\n\tCard,\n\tContentElementFactory,\n\tContentElementType,\n\tisAnyContentElement,\n\tSubmissionItem,\n} from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { AnyElementContentBody } from '../controller/dto';\nimport { BoardDoRepo } from '../repo';\nimport { BoardDoService } from './board-do.service';\nimport { ContentElementUpdateVisitor } from './content-element-update.visitor';\n\n@Injectable()\nexport class ContentElementService {\n\tconstructor(\n\t\tprivate readonly boardDoRepo: BoardDoRepo,\n\t\tprivate readonly boardDoService: BoardDoService,\n\t\tprivate readonly contentElementFactory: ContentElementFactory\n\t) {}\n\n\tasync findById(elementId: EntityId): Promise {\n\t\tconst element = await this.boardDoRepo.findById(elementId);\n\n\t\tif (!isAnyContentElement(element)) {\n\t\t\tthrow new NotFoundException(`There is no '${element.constructor.name}' with this id`);\n\t\t}\n\n\t\treturn element;\n\t}\n\n\tasync findParentOfId(elementId: EntityId): Promise {\n\t\tconst parent = await this.boardDoRepo.findParentOfId(elementId);\n\t\tif (!parent) {\n\t\t\tthrow new NotFoundException('There is no node with this id');\n\t\t}\n\t\treturn parent;\n\t}\n\n\tasync create(parent: Card | SubmissionItem, type: ContentElementType): Promise {\n\t\tconst element = this.contentElementFactory.build(type);\n\t\tparent.addChild(element);\n\t\tawait this.boardDoRepo.save(parent.children, parent);\n\t\treturn element;\n\t}\n\n\tasync delete(element: AnyContentElementDo): Promise {\n\t\tawait this.boardDoService.deleteWithDescendants(element);\n\t}\n\n\tasync move(element: AnyContentElementDo, targetCard: Card, targetPosition: number): Promise {\n\t\tawait this.boardDoService.move(element, targetCard, targetPosition);\n\t}\n\n\tasync update(element: AnyContentElementDo, content: AnyElementContentBody): Promise {\n\t\tconst updater = new ContentElementUpdateVisitor(content);\n\t\tawait element.acceptAsync(updater);\n\n\t\tconst parent = await this.boardDoRepo.findParentOfId(element.id);\n\n\t\tawait this.boardDoRepo.save(element, parent);\n\n\t\treturn element;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ContentElementUpdateVisitor.html":{"url":"injectables/ContentElementUpdateVisitor.html","title":"injectable - ContentElementUpdateVisitor","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ContentElementUpdateVisitor\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/content-element-update.visitor.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n content\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n rejectNotHandled\n \n \n Async\n visitCardAsync\n \n \n Async\n visitColumnAsync\n \n \n Async\n visitColumnBoardAsync\n \n \n Async\n visitDrawingElementAsync\n \n \n Async\n visitExternalToolElementAsync\n \n \n Async\n visitFileElementAsync\n \n \n Async\n visitLinkElementAsync\n \n \n Async\n visitRichTextElementAsync\n \n \n Async\n visitSubmissionContainerElementAsync\n \n \n Async\n visitSubmissionItemAsync\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(content: AnyElementContentBody)\n \n \n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:30\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n content\n \n \n AnyElementContentBody\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n rejectNotHandled\n \n \n \n \n \n \n \n rejectNotHandled(component: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:118\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n component\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitCardAsync\n \n \n \n \n \n \n \n visitCardAsync(card: Card)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n card\n \n Card\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitColumnAsync\n \n \n \n \n \n \n \n visitColumnAsync(column: Column)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n column\n \n Column\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitColumnBoardAsync\n \n \n \n \n \n \n \n visitColumnBoardAsync(columnBoard: ColumnBoard)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n columnBoard\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitDrawingElementAsync\n \n \n \n \n \n \n \n visitDrawingElementAsync(drawingElement: DrawingElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:87\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n drawingElement\n \n DrawingElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitExternalToolElementAsync\n \n \n \n \n \n \n \n visitExternalToolElementAsync(externalToolElement: ExternalToolElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:109\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolElement\n \n ExternalToolElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitFileElementAsync\n \n \n \n \n \n \n \n visitFileElementAsync(fileElement: FileElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:48\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileElement\n \n FileElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitLinkElementAsync\n \n \n \n \n \n \n \n visitLinkElementAsync(linkElement: LinkElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:57\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n linkElement\n \n LinkElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitRichTextElementAsync\n \n \n \n \n \n \n \n visitRichTextElementAsync(richTextElement: RichTextElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:78\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n richTextElement\n \n RichTextElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitSubmissionContainerElementAsync\n \n \n \n \n \n \n \n visitSubmissionContainerElementAsync(submissionContainerElement: SubmissionContainerElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:95\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionContainerElement\n \n SubmissionContainerElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitSubmissionItemAsync\n \n \n \n \n \n \n \n visitSubmissionItemAsync(submission: SubmissionItem)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:105\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submission\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n content\n \n \n \n \n \n \n Type : AnyElementContentBody\n\n \n \n \n \n Defined in apps/server/src/modules/board/service/content-element-update.visitor.ts:30\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { sanitizeRichText } from '@shared/controller';\nimport {\n\tAnyBoardDo,\n\tBoardCompositeVisitorAsync,\n\tCard,\n\tColumn,\n\tColumnBoard,\n\tExternalToolElement,\n\tFileElement,\n\tRichTextElement,\n\tSubmissionContainerElement,\n\tSubmissionItem,\n} from '@shared/domain/domainobject';\nimport { DrawingElement } from '@shared/domain/domainobject/board/drawing-element.do';\nimport { LinkElement } from '@shared/domain/domainobject/board/link-element.do';\nimport { InputFormat } from '@shared/domain/types';\nimport {\n\tAnyElementContentBody,\n\tDrawingContentBody,\n\tExternalToolContentBody,\n\tFileContentBody,\n\tLinkContentBody,\n\tRichTextContentBody,\n\tSubmissionContainerContentBody,\n} from '../controller/dto';\n\n@Injectable()\nexport class ContentElementUpdateVisitor implements BoardCompositeVisitorAsync {\n\tprivate readonly content: AnyElementContentBody;\n\n\tconstructor(content: AnyElementContentBody) {\n\t\tthis.content = content;\n\t}\n\n\tasync visitColumnBoardAsync(columnBoard: ColumnBoard): Promise {\n\t\treturn this.rejectNotHandled(columnBoard);\n\t}\n\n\tasync visitColumnAsync(column: Column): Promise {\n\t\treturn this.rejectNotHandled(column);\n\t}\n\n\tasync visitCardAsync(card: Card): Promise {\n\t\treturn this.rejectNotHandled(card);\n\t}\n\n\tasync visitFileElementAsync(fileElement: FileElement): Promise {\n\t\tif (this.content instanceof FileContentBody) {\n\t\t\tfileElement.caption = sanitizeRichText(this.content.caption, InputFormat.PLAIN_TEXT);\n\t\t\tfileElement.alternativeText = sanitizeRichText(this.content.alternativeText, InputFormat.PLAIN_TEXT);\n\t\t\treturn Promise.resolve();\n\t\t}\n\t\treturn this.rejectNotHandled(fileElement);\n\t}\n\n\tasync visitLinkElementAsync(linkElement: LinkElement): Promise {\n\t\tif (this.content instanceof LinkContentBody) {\n\t\t\tlinkElement.url = new URL(this.content.url).toString();\n\t\t\tlinkElement.title = this.content.title ?? '';\n\t\t\tlinkElement.description = this.content.description ?? '';\n\t\t\tif (this.content.imageUrl) {\n\t\t\t\tconst isRelativeUrl = (url: string) => {\n\t\t\t\t\tconst fallbackHostname = 'https://www.fallback-url-if-url-is-relative.org';\n\t\t\t\t\tconst imageUrlObject = new URL(url, fallbackHostname);\n\t\t\t\t\treturn imageUrlObject.origin === fallbackHostname;\n\t\t\t\t};\n\n\t\t\t\tif (isRelativeUrl(this.content.imageUrl)) {\n\t\t\t\t\tlinkElement.imageUrl = this.content.imageUrl;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn Promise.resolve();\n\t\t}\n\t\treturn this.rejectNotHandled(linkElement);\n\t}\n\n\tasync visitRichTextElementAsync(richTextElement: RichTextElement): Promise {\n\t\tif (this.content instanceof RichTextContentBody) {\n\t\t\trichTextElement.text = sanitizeRichText(this.content.text, this.content.inputFormat);\n\t\t\trichTextElement.inputFormat = this.content.inputFormat;\n\t\t\treturn Promise.resolve();\n\t\t}\n\t\treturn this.rejectNotHandled(richTextElement);\n\t}\n\n\tasync visitDrawingElementAsync(drawingElement: DrawingElement): Promise {\n\t\tif (this.content instanceof DrawingContentBody) {\n\t\t\tdrawingElement.description = this.content.description;\n\t\t\treturn Promise.resolve();\n\t\t}\n\t\treturn this.rejectNotHandled(drawingElement);\n\t}\n\n\tasync visitSubmissionContainerElementAsync(submissionContainerElement: SubmissionContainerElement): Promise {\n\t\tif (this.content instanceof SubmissionContainerContentBody) {\n\t\t\tif (this.content.dueDate !== undefined) {\n\t\t\t\tsubmissionContainerElement.dueDate = this.content.dueDate;\n\t\t\t}\n\t\t\treturn Promise.resolve();\n\t\t}\n\t\treturn this.rejectNotHandled(submissionContainerElement);\n\t}\n\n\tasync visitSubmissionItemAsync(submission: SubmissionItem): Promise {\n\t\treturn this.rejectNotHandled(submission);\n\t}\n\n\tasync visitExternalToolElementAsync(externalToolElement: ExternalToolElement): Promise {\n\t\tif (this.content instanceof ExternalToolContentBody && this.content.contextExternalToolId !== undefined) {\n\t\t\t// Updates should not remove an existing reference to a tool, to prevent orphan tool instances\n\t\t\texternalToolElement.contextExternalToolId = this.content.contextExternalToolId;\n\t\t\treturn Promise.resolve();\n\t\t}\n\t\treturn this.rejectNotHandled(externalToolElement);\n\t}\n\n\tprivate rejectNotHandled(component: AnyBoardDo): Promise {\n\t\treturn Promise.reject(new Error(`Cannot update element of type: '${component.constructor.name}'`));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContentElementUrlParams.html":{"url":"classes/ContentElementUrlParams.html","title":"class - ContentElementUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContentElementUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/board/content-element.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contentElementId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contentElementId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the element.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/content-element.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class ContentElementUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the element.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tcontentElementId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContentFileUrlParams.html":{"url":"classes/ContentFileUrlParams.html","title":"class - ContentFileUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContentFileUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/content-file.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n filename\n \n \n \n \n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n filename\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/content-file.url.params.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/content-file.url.params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId, IsNotEmpty, IsString } from 'class-validator';\n\nexport class ContentFileUrlParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tid!: string;\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfilename!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContentMetadata.html":{"url":"classes/ContentMetadata.html","title":"class - ContentMetadata","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContentMetadata\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts\n \n\n\n\n\n \n Implements\n \n \n IContentMetadata\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n a11yTitle\n \n \n \n Optional\n authorComments\n \n \n \n Optional\n authors\n \n \n \n Optional\n changes\n \n \n \n Optional\n contentType\n \n \n \n defaultLanguage\n \n \n \n Optional\n dynamicDependencies\n \n \n \n Optional\n editorDependencies\n \n \n \n embedTypes\n \n \n \n Optional\n h\n \n \n \n language\n \n \n \n license\n \n \n \n Optional\n licenseExtras\n \n \n \n Optional\n licenseVersion\n \n \n \n mainLibrary\n \n \n \n Optional\n metaDescription\n \n \n \n Optional\n metaKeywords\n \n \n \n preloadedDependencies\n \n \n \n Optional\n source\n \n \n \n title\n \n \n \n Optional\n w\n \n \n \n Optional\n yearFrom\n \n \n \n Optional\n yearTo\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(metadata: IContentMetadata)\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:77\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n metadata\n \n \n IContentMetadata\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n a11yTitle\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n authorComments\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:74\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n authors\n \n \n \n \n \n \n Type : IContentAuthor[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:65\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n changes\n \n \n \n \n \n \n Type : IContentChange[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:71\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n contentType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:77\n \n \n\n\n \n \n \n \n \n \n \n \n \n defaultLanguage\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n dynamicDependencies\n \n \n \n \n \n \n Type : ILibraryName[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n editorDependencies\n \n \n \n \n \n \n Type : ILibraryName[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n embedTypes\n \n \n \n \n \n \n Type : (\"iframe\" | \"div\")[]\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n h\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n language\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n license\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:47\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n licenseExtras\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:68\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n licenseVersion\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:50\n \n \n\n\n \n \n \n \n \n \n \n \n \n mainLibrary\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n metaDescription\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n metaKeywords\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n preloadedDependencies\n \n \n \n \n \n \n Type : ILibraryName[]\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n source\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:59\n \n \n\n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:62\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n w\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:38\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n yearFrom\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:53\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n yearTo\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:56\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IContentMetadata, ILibraryName } from '@lumieducation/h5p-server';\nimport { IContentAuthor, IContentChange } from '@lumieducation/h5p-server/build/src/types';\nimport { Embeddable, Embedded, Entity, Enum, Index, JsonType, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\n\n@Embeddable()\nexport class ContentMetadata implements IContentMetadata {\n\t@Property({ nullable: true })\n\tdynamicDependencies?: ILibraryName[];\n\n\t@Property({ nullable: true })\n\teditorDependencies?: ILibraryName[];\n\n\t@Property()\n\tembedTypes: ('iframe' | 'div')[];\n\n\t@Property({ nullable: true })\n\th?: string;\n\n\t@Property()\n\tlanguage: string;\n\n\t@Property()\n\tmainLibrary: string;\n\n\t@Property({ nullable: true })\n\tmetaDescription?: string;\n\n\t@Property({ nullable: true })\n\tmetaKeywords?: string;\n\n\t@Property()\n\tpreloadedDependencies: ILibraryName[];\n\n\t@Property({ nullable: true })\n\tw?: string;\n\n\t@Property()\n\tdefaultLanguage: string;\n\n\t@Property({ nullable: true })\n\ta11yTitle?: string;\n\n\t@Property()\n\tlicense: string;\n\n\t@Property({ nullable: true })\n\tlicenseVersion?: string;\n\n\t@Property({ nullable: true })\n\tyearFrom?: string;\n\n\t@Property({ nullable: true })\n\tyearTo?: string;\n\n\t@Property({ nullable: true })\n\tsource?: string;\n\n\t@Property()\n\ttitle: string;\n\n\t@Property({ nullable: true })\n\tauthors?: IContentAuthor[];\n\n\t@Property({ nullable: true })\n\tlicenseExtras?: string;\n\n\t@Property({ nullable: true })\n\tchanges?: IContentChange[];\n\n\t@Property({ nullable: true })\n\tauthorComments?: string;\n\n\t@Property({ nullable: true })\n\tcontentType?: string;\n\n\tconstructor(metadata: IContentMetadata) {\n\t\tthis.embedTypes = metadata.embedTypes;\n\t\tthis.language = metadata.language;\n\t\tthis.mainLibrary = metadata.mainLibrary;\n\t\tthis.defaultLanguage = metadata.defaultLanguage;\n\t\tthis.license = metadata.license;\n\t\tthis.title = metadata.title;\n\t\tthis.preloadedDependencies = metadata.preloadedDependencies;\n\t\tthis.dynamicDependencies = metadata.dynamicDependencies;\n\t\tthis.editorDependencies = metadata.editorDependencies;\n\t\tthis.h = metadata.h;\n\t\tthis.metaDescription = metadata.metaDescription;\n\t\tthis.metaKeywords = metadata.metaKeywords;\n\t\tthis.w = metadata.w;\n\t\tthis.a11yTitle = metadata.a11yTitle;\n\t\tthis.licenseVersion = metadata.licenseVersion;\n\t\tthis.yearFrom = metadata.yearFrom;\n\t\tthis.yearTo = metadata.yearTo;\n\t\tthis.source = metadata.source;\n\t\tthis.authors = metadata.authors;\n\t\tthis.licenseExtras = metadata.licenseExtras;\n\t\tthis.changes = metadata.changes;\n\t\tthis.authorComments = metadata.authorComments;\n\t\tthis.contentType = metadata.contentType;\n\t}\n}\n\nexport enum H5PContentParentType {\n\t'Lesson' = 'lessons',\n}\n\nexport interface H5PContentProperties {\n\tcreatorId: EntityId;\n\tparentType: H5PContentParentType;\n\tparentId: EntityId;\n\tschoolId: EntityId;\n\tmetadata: ContentMetadata;\n\tcontent: unknown;\n}\n\n@Entity({ tableName: 'h5p-editor-content' })\nexport class H5PContent extends BaseEntityWithTimestamps {\n\t@Property({ fieldName: 'creator' })\n\t_creatorId: ObjectId;\n\n\tget creatorId(): EntityId {\n\t\treturn this._creatorId.toHexString();\n\t}\n\n\t@Index()\n\t@Enum()\n\tparentType: H5PContentParentType;\n\n\t@Index()\n\t@Property({ fieldName: 'parent' })\n\t_parentId: ObjectId;\n\n\tget parentId(): EntityId {\n\t\treturn this._parentId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'school' })\n\t_schoolId: ObjectId;\n\n\tget schoolId(): EntityId {\n\t\treturn this._schoolId.toHexString();\n\t}\n\n\t@Embedded(() => ContentMetadata)\n\tmetadata: ContentMetadata;\n\n\t@Property({ type: JsonType })\n\tcontent: unknown;\n\n\tconstructor({ parentType, parentId, creatorId, schoolId, metadata, content }: H5PContentProperties) {\n\t\tsuper();\n\n\t\tthis.parentType = parentType;\n\t\tthis._parentId = new ObjectId(parentId);\n\t\tthis._creatorId = new ObjectId(creatorId);\n\t\tthis._schoolId = new ObjectId(schoolId);\n\n\t\tthis.metadata = metadata;\n\t\tthis.content = content;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalTool.html":{"url":"classes/ContextExternalTool.html","title":"class - ContextExternalTool","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalTool\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/domain/context-external-tool.do.ts\n \n\n\n\n \n Extends\n \n \n BaseDO\n \n\n \n Implements\n \n \n ToolVersion\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n contextRef\n \n \n Optional\n displayName\n \n \n parameters\n \n \n schoolToolRef\n \n \n toolVersion\n \n \n Optional\n id\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getVersion\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ContextExternalToolProps)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/context-external-tool.do.ts:30\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ContextExternalToolProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n contextRef\n \n \n \n \n \n \n Type : ContextRef\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/context-external-tool.do.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/context-external-tool.do.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n Type : CustomParameterEntry[]\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/context-external-tool.do.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n schoolToolRef\n \n \n \n \n \n \n Type : SchoolExternalToolRefDO\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/context-external-tool.do.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n toolVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/context-external-tool.do.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from BaseDO\n\n \n \n \n \n Defined in BaseDO:5\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getVersion\n \n \n \n \n \n \ngetVersion()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/context-external-tool.do.ts:41\n \n \n\n\n \n \n\n \n Returns : number\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BaseDO } from '@shared/domain/domainobject/base.do';\nimport { CustomParameterEntry } from '../../common/domain';\nimport { ToolVersion } from '../../common/interface';\nimport { SchoolExternalToolRefDO } from '../../school-external-tool/domain';\nimport { ContextRef } from './context-ref';\n\nexport interface ContextExternalToolProps {\n\tid?: string;\n\n\tschoolToolRef: SchoolExternalToolRefDO;\n\n\tcontextRef: ContextRef;\n\n\tdisplayName?: string;\n\n\tparameters: CustomParameterEntry[];\n\n\ttoolVersion: number;\n}\n\nexport class ContextExternalTool extends BaseDO implements ToolVersion {\n\tschoolToolRef: SchoolExternalToolRefDO;\n\n\tcontextRef: ContextRef;\n\n\tdisplayName?: string;\n\n\tparameters: CustomParameterEntry[];\n\n\ttoolVersion: number;\n\n\tconstructor(props: ContextExternalToolProps) {\n\t\tsuper(props.id);\n\t\tthis.schoolToolRef = props.schoolToolRef;\n\t\tthis.contextRef = props.contextRef;\n\t\tthis.displayName = props.displayName;\n\t\tthis.parameters = props.parameters;\n\t\tthis.toolVersion = props.toolVersion;\n\t}\n\n\tgetVersion(): number {\n\t\treturn this.toolVersion;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ContextExternalToolAuthorizableService.html":{"url":"injectables/ContextExternalToolAuthorizableService.html","title":"injectable - ContextExternalToolAuthorizableService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ContextExternalToolAuthorizableService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/service/context-external-tool-authorizable.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findById\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(contextExternalToolRepo: ContextExternalToolRepo)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool-authorizable.service.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalToolRepo\n \n \n ContextExternalToolRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool-authorizable.service.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationLoaderService } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ContextExternalToolRepo } from '@shared/repo';\nimport { ContextExternalTool } from '../domain';\n\n@Injectable()\nexport class ContextExternalToolAuthorizableService implements AuthorizationLoaderService {\n\tconstructor(private readonly contextExternalToolRepo: ContextExternalToolRepo) {}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst contextExternalTool: ContextExternalTool = await this.contextExternalToolRepo.findById(id);\n\n\t\treturn contextExternalTool;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolConfigurationStatus.html":{"url":"classes/ContextExternalToolConfigurationStatus.html","title":"class - ContextExternalToolConfigurationStatus","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolConfigurationStatus\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/domain/context-external-tool-configuration-status.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n isOutdatedOnScopeContext\n \n \n isOutdatedOnScopeSchool\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ContextExternalToolConfigurationStatus)\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/context-external-tool-configuration-status.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ContextExternalToolConfigurationStatus\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n isOutdatedOnScopeContext\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/context-external-tool-configuration-status.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n isOutdatedOnScopeSchool\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/context-external-tool-configuration-status.ts:2\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class ContextExternalToolConfigurationStatus {\n\tisOutdatedOnScopeSchool: boolean;\n\n\tisOutdatedOnScopeContext: boolean;\n\n\tconstructor(props: ContextExternalToolConfigurationStatus) {\n\t\tthis.isOutdatedOnScopeSchool = props.isOutdatedOnScopeSchool;\n\t\tthis.isOutdatedOnScopeContext = props.isOutdatedOnScopeContext;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolConfigurationStatusResponse.html":{"url":"classes/ContextExternalToolConfigurationStatusResponse.html","title":"class - ContextExternalToolConfigurationStatusResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolConfigurationStatusResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/controller/dto/context-external-tool-configuration-status.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n isOutdatedOnScopeContext\n \n \n \n isOutdatedOnScopeSchool\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ContextExternalToolConfigurationStatusResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/common/controller/dto/context-external-tool-configuration-status.response.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ContextExternalToolConfigurationStatusResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n isOutdatedOnScopeContext\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: Boolean, description: 'Is the tool outdated on context scope, because of non matching versions or required parameter changes on SchoolExternalTool?'})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/common/controller/dto/context-external-tool-configuration-status.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n isOutdatedOnScopeSchool\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: Boolean, description: 'Is the tool outdated on school scope, because of non matching versions or required parameter changes on ExternalTool?'})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/common/controller/dto/context-external-tool-configuration-status.response.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class ContextExternalToolConfigurationStatusResponse {\n\t@ApiProperty({\n\t\ttype: Boolean,\n\t\tdescription:\n\t\t\t'Is the tool outdated on school scope, because of non matching versions or required parameter changes on ExternalTool?',\n\t})\n\tisOutdatedOnScopeSchool: boolean;\n\n\t@ApiProperty({\n\t\ttype: Boolean,\n\t\tdescription:\n\t\t\t'Is the tool outdated on context scope, because of non matching versions or required parameter changes on SchoolExternalTool?',\n\t})\n\tisOutdatedOnScopeContext: boolean;\n\n\tconstructor(props: ContextExternalToolConfigurationStatusResponse) {\n\t\tthis.isOutdatedOnScopeSchool = props.isOutdatedOnScopeSchool;\n\t\tthis.isOutdatedOnScopeContext = props.isOutdatedOnScopeContext;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolConfigurationTemplateListResponse.html":{"url":"classes/ContextExternalToolConfigurationTemplateListResponse.html","title":"class - ContextExternalToolConfigurationTemplateListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolConfigurationTemplateListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/context-external-tool-configuration-template-list.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: ContextExternalToolConfigurationTemplateResponse[])\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/context-external-tool-configuration-template-list.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n ContextExternalToolConfigurationTemplateResponse[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : ContextExternalToolConfigurationTemplateResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/context-external-tool-configuration-template-list.response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContextExternalToolConfigurationTemplateResponse } from './context-external-tool-configuration-template.response';\n\nexport class ContextExternalToolConfigurationTemplateListResponse {\n\t@ApiProperty({ type: [ContextExternalToolConfigurationTemplateResponse] })\n\tdata: ContextExternalToolConfigurationTemplateResponse[];\n\n\tconstructor(data: ContextExternalToolConfigurationTemplateResponse[]) {\n\t\tthis.data = data;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolConfigurationTemplateResponse.html":{"url":"classes/ContextExternalToolConfigurationTemplateResponse.html","title":"class - ContextExternalToolConfigurationTemplateResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolConfigurationTemplateResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/context-external-tool-configuration-template.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n externalToolId\n \n \n \n Optional\n logoUrl\n \n \n \n name\n \n \n \n parameters\n \n \n \n schoolExternalToolId\n \n \n \n version\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(configuration: ContextExternalToolConfigurationTemplateResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/context-external-tool-configuration-template.response.ts:22\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n configuration\n \n \n ContextExternalToolConfigurationTemplateResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n externalToolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/context-external-tool-configuration-template.response.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/context-external-tool-configuration-template.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/context-external-tool-configuration-template.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n Type : CustomParameterResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/context-external-tool-configuration-template.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n schoolExternalToolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/context-external-tool-configuration-template.response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n version\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/context-external-tool-configuration-template.response.ts:22\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { EntityId } from '@shared/domain/types';\nimport { CustomParameterResponse } from './custom-parameter.response';\n\nexport class ContextExternalToolConfigurationTemplateResponse {\n\t@ApiProperty()\n\texternalToolId: EntityId;\n\n\t@ApiProperty()\n\tschoolExternalToolId: EntityId;\n\n\t@ApiProperty()\n\tname: string;\n\n\t@ApiPropertyOptional()\n\tlogoUrl?: string;\n\n\t@ApiProperty({ type: [CustomParameterResponse] })\n\tparameters: CustomParameterResponse[];\n\n\t@ApiProperty()\n\tversion: number;\n\n\tconstructor(configuration: ContextExternalToolConfigurationTemplateResponse) {\n\t\tthis.externalToolId = configuration.externalToolId;\n\t\tthis.schoolExternalToolId = configuration.schoolExternalToolId;\n\t\tthis.name = configuration.name;\n\t\tthis.logoUrl = configuration.logoUrl;\n\t\tthis.parameters = configuration.parameters;\n\t\tthis.version = configuration.version;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolContextParams.html":{"url":"classes/ContextExternalToolContextParams.html","title":"class - ContextExternalToolContextParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolContextParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-context.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextId\n \n \n \n \n contextType\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contextId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({nullable: false, required: true, example: '0000dcfbfb5c7a3f00bf21ab'})@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-context.params.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n contextType\n \n \n \n \n \n \n Type : ToolContextType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ToolContextType)@ApiProperty({enum: ToolContextType, enumName: 'ToolContextType', nullable: false, required: true, example: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-context.params.ts:18\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsEnum, IsMongoId } from 'class-validator';\nimport { ToolContextType } from '../../../common/enum';\n\nexport class ContextExternalToolContextParams {\n\t@ApiProperty({ nullable: false, required: true, example: '0000dcfbfb5c7a3f00bf21ab' })\n\t@IsMongoId()\n\tcontextId!: string;\n\n\t@IsEnum(ToolContextType)\n\t@ApiProperty({\n\t\tenum: ToolContextType,\n\t\tenumName: 'ToolContextType',\n\t\tnullable: false,\n\t\trequired: true,\n\t\texample: ToolContextType.COURSE,\n\t})\n\tcontextType!: ToolContextType;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolCountPerContextResponse.html":{"url":"classes/ContextExternalToolCountPerContextResponse.html","title":"class - ContextExternalToolCountPerContextResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolCountPerContextResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/controller/dto/context-external-tool-count-per-context.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n boardElement\n \n \n \n course\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ContextExternalToolCountPerContextResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/common/controller/dto/context-external-tool-count-per-context.response.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ContextExternalToolCountPerContextResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n boardElement\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/common/controller/dto/context-external-tool-count-per-context.response.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n course\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/common/controller/dto/context-external-tool-count-per-context.response.ts:5\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class ContextExternalToolCountPerContextResponse {\n\t@ApiProperty()\n\tcourse: number;\n\n\t@ApiProperty()\n\tboardElement: number;\n\n\tconstructor(props: ContextExternalToolCountPerContextResponse) {\n\t\tthis.course = props.course;\n\t\tthis.boardElement = props.boardElement;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/ContextExternalToolEntity.html":{"url":"entities/ContextExternalToolEntity.html","title":"entity - ContextExternalToolEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n ContextExternalToolEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/entity/context-external-tool.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contextId\n \n \n \n contextType\n \n \n \n Optional\n displayName\n \n \n \n parameters\n \n \n \n schoolTool\n \n \n \n toolVersion\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/entity/context-external-tool.entity.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n contextType\n \n \n \n \n \n \n Type : ContextExternalToolType\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/entity/context-external-tool.entity.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/entity/context-external-tool.entity.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n Type : CustomParameterEntryEntity[]\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {array: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/entity/context-external-tool.entity.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n schoolTool\n \n \n \n \n \n \n Type : SchoolExternalToolEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/entity/context-external-tool.entity.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n toolVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/entity/context-external-tool.entity.ts:39\n \n \n\n\n \n \n\n \n\n\n \n import { Embedded, Entity, ManyToOne, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { CustomParameterEntryEntity } from '../../common/entity';\nimport { SchoolExternalToolEntity } from '../../school-external-tool/entity';\nimport { ContextExternalToolType } from './context-external-tool-type.enum';\n\nexport interface ContextExternalToolProperties {\n\tschoolTool: SchoolExternalToolEntity;\n\n\tcontextId: string;\n\n\tcontextType: ContextExternalToolType;\n\n\tdisplayName?: string;\n\n\tparameters?: CustomParameterEntryEntity[];\n\n\ttoolVersion: number;\n}\n\n@Entity({ tableName: 'context-external-tools' })\nexport class ContextExternalToolEntity extends BaseEntityWithTimestamps {\n\t@ManyToOne()\n\tschoolTool: SchoolExternalToolEntity;\n\n\t@Property()\n\tcontextId: string;\n\n\t@Property()\n\tcontextType: ContextExternalToolType;\n\n\t@Property({ nullable: true })\n\tdisplayName?: string;\n\n\t@Embedded(() => CustomParameterEntryEntity, { array: true })\n\tparameters: CustomParameterEntryEntity[];\n\n\t@Property()\n\ttoolVersion: number;\n\n\tconstructor(props: ContextExternalToolProperties) {\n\t\tsuper();\n\t\tthis.schoolTool = props.schoolTool;\n\t\tthis.contextId = props.contextId;\n\t\tthis.contextType = props.contextType;\n\t\tthis.displayName = props.displayName;\n\t\tthis.parameters = props.parameters ?? [];\n\t\tthis.toolVersion = props.toolVersion;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolFactory.html":{"url":"classes/ContextExternalToolFactory.html","title":"class - ContextExternalToolFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/domainobject/tool/context-external-tool.factory.ts\n \n\n\n\n \n Extends\n \n \n DoBaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withSchoolExternalToolRef\n \n \n \n buildWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withSchoolExternalToolRef\n \n \n \n \n \n \nwithSchoolExternalToolRef(schoolToolId: string, schoolId?: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/domainobject/tool/context-external-tool.factory.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolToolId\n \n string\n \n\n \n No\n \n\n\n \n \n schoolId\n \n string | undefined\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \n \n buildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { CustomParameterEntry } from '@modules/tool/common/domain';\nimport { ToolContextType } from '@modules/tool/common/enum';\nimport { ContextExternalTool, ContextExternalToolProps } from '@modules/tool/context-external-tool/domain';\nimport { DeepPartial } from 'fishery';\nimport { DoBaseFactory } from '../do-base.factory';\n\nclass ContextExternalToolFactory extends DoBaseFactory {\n\twithSchoolExternalToolRef(schoolToolId: string, schoolId?: string | undefined): this {\n\t\tconst params: DeepPartial = {\n\t\t\tschoolToolRef: { schoolToolId, schoolId },\n\t\t};\n\t\treturn this.params(params);\n\t}\n}\n\nexport const contextExternalToolFactory = ContextExternalToolFactory.define(ContextExternalTool, ({ sequence }) => {\n\treturn {\n\t\tschoolToolRef: { schoolToolId: `schoolToolId-${sequence}`, schoolId: 'schoolId' },\n\t\tcontextRef: { id: new ObjectId().toHexString(), type: ToolContextType.COURSE },\n\t\tdisplayName: 'My Course Tool 1',\n\t\tparameters: [new CustomParameterEntry({ name: 'param', value: 'value' })],\n\t\ttoolVersion: 1,\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolIdParams.html":{"url":"classes/ContextExternalToolIdParams.html","title":"class - ContextExternalToolIdParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolIdParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-id.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextExternalToolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contextExternalToolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({nullable: false, required: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-id.params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsMongoId } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\n\nexport class ContextExternalToolIdParams {\n\t@IsMongoId()\n\t@ApiProperty({ nullable: false, required: true })\n\tcontextExternalToolId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolIdParams-1.html":{"url":"classes/ContextExternalToolIdParams-1.html","title":"class - ContextExternalToolIdParams-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolIdParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/context-external-tool-id.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextExternalToolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contextExternalToolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/context-external-tool-id.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { EntityId } from '@shared/domain/types';\nimport { IsMongoId } from 'class-validator';\n\nexport class ContextExternalToolIdParams {\n\t@IsMongoId()\n\t@ApiProperty()\n\tcontextExternalToolId!: EntityId;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ContextExternalToolModule.html":{"url":"modules/ContextExternalToolModule.html","title":"module - ContextExternalToolModule","body":"\n \n\n\n\n\n Modules\n ContextExternalToolModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ContextExternalToolModule\n\n\n\ncluster_ContextExternalToolModule_exports\n\n\n\ncluster_ContextExternalToolModule_imports\n\n\n\ncluster_ContextExternalToolModule_providers\n\n\n\n\nCommonToolModule\n\nCommonToolModule\n\n\n\nContextExternalToolModule\n\nContextExternalToolModule\n\nContextExternalToolModule -->\n\nCommonToolModule->ContextExternalToolModule\n\n\n\n\n\nExternalToolModule\n\nExternalToolModule\n\nContextExternalToolModule -->\n\nExternalToolModule->ContextExternalToolModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nContextExternalToolModule -->\n\nLoggerModule->ContextExternalToolModule\n\n\n\n\n\nSchoolExternalToolModule\n\nSchoolExternalToolModule\n\nContextExternalToolModule -->\n\nSchoolExternalToolModule->ContextExternalToolModule\n\n\n\n\n\nToolConfigModule\n\nToolConfigModule\n\nContextExternalToolModule -->\n\nToolConfigModule->ContextExternalToolModule\n\n\n\n\n\nContextExternalToolAuthorizableService \n\nContextExternalToolAuthorizableService \n\nContextExternalToolAuthorizableService -->\n\nContextExternalToolModule->ContextExternalToolAuthorizableService \n\n\n\n\n\nContextExternalToolService \n\nContextExternalToolService \n\nContextExternalToolService -->\n\nContextExternalToolModule->ContextExternalToolService \n\n\n\n\n\nContextExternalToolValidationService \n\nContextExternalToolValidationService \n\nContextExternalToolValidationService -->\n\nContextExternalToolModule->ContextExternalToolValidationService \n\n\n\n\n\nToolReferenceService \n\nToolReferenceService \n\nToolReferenceService -->\n\nContextExternalToolModule->ToolReferenceService \n\n\n\n\n\nToolVersionService \n\nToolVersionService \n\nToolVersionService -->\n\nContextExternalToolModule->ToolVersionService \n\n\n\n\n\nContextExternalToolAuthorizableService\n\nContextExternalToolAuthorizableService\n\nContextExternalToolModule -->\n\nContextExternalToolAuthorizableService->ContextExternalToolModule\n\n\n\n\n\nContextExternalToolService\n\nContextExternalToolService\n\nContextExternalToolModule -->\n\nContextExternalToolService->ContextExternalToolModule\n\n\n\n\n\nContextExternalToolValidationService\n\nContextExternalToolValidationService\n\nContextExternalToolModule -->\n\nContextExternalToolValidationService->ContextExternalToolModule\n\n\n\n\n\nToolReferenceService\n\nToolReferenceService\n\nContextExternalToolModule -->\n\nToolReferenceService->ContextExternalToolModule\n\n\n\n\n\nToolVersionService\n\nToolVersionService\n\nContextExternalToolModule -->\n\nToolVersionService->ContextExternalToolModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/context-external-tool.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ContextExternalToolAuthorizableService\n \n \n ContextExternalToolService\n \n \n ContextExternalToolValidationService\n \n \n ToolReferenceService\n \n \n ToolVersionService\n \n \n \n \n Imports\n \n \n CommonToolModule\n \n \n ExternalToolModule\n \n \n LoggerModule\n \n \n SchoolExternalToolModule\n \n \n ToolConfigModule\n \n \n \n \n Exports\n \n \n ContextExternalToolAuthorizableService\n \n \n ContextExternalToolService\n \n \n ContextExternalToolValidationService\n \n \n ToolReferenceService\n \n \n ToolVersionService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { CommonToolModule } from '../common';\nimport { ExternalToolModule } from '../external-tool';\nimport { SchoolExternalToolModule } from '../school-external-tool';\nimport { ContextExternalToolAuthorizableService, ContextExternalToolService, ToolReferenceService } from './service';\nimport { ContextExternalToolValidationService } from './service/context-external-tool-validation.service';\nimport { ToolConfigModule } from '../tool-config.module';\nimport { ToolVersionService } from './service/tool-version-service';\n\n@Module({\n\timports: [CommonToolModule, ExternalToolModule, SchoolExternalToolModule, LoggerModule, ToolConfigModule],\n\tproviders: [\n\t\tContextExternalToolService,\n\t\tContextExternalToolValidationService,\n\t\tContextExternalToolAuthorizableService,\n\t\tToolReferenceService,\n\t\tToolVersionService,\n\t],\n\texports: [\n\t\tContextExternalToolService,\n\t\tContextExternalToolValidationService,\n\t\tContextExternalToolAuthorizableService,\n\t\tToolReferenceService,\n\t\tToolVersionService,\n\t],\n})\nexport class ContextExternalToolModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolPostParams.html":{"url":"classes/ContextExternalToolPostParams.html","title":"class - ContextExternalToolPostParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolPostParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-post.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextId\n \n \n \n \n contextType\n \n \n \n \n \n Optional\n displayName\n \n \n \n \n \n \n \n Optional\n parameters\n \n \n \n \n schoolToolId\n \n \n \n \n toolVersion\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contextId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-post.params.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n contextType\n \n \n \n \n \n \n Type : ToolContextType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ToolContextType)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-post.params.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-post.params.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n parameters\n \n \n \n \n \n \n Type : CustomParameterEntryParam[]\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested({each: true})@IsArray()@IsOptional()@ApiPropertyOptional({type: undefined})@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-post.params.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n schoolToolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-post.params.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n toolVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsNumber()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-post.params.ts:34\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { Type } from 'class-transformer';\nimport { IsArray, IsEnum, IsMongoId, IsNumber, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { CustomParameterEntryParam } from '../../../school-external-tool/controller/dto';\nimport { ToolContextType } from '../../../common/enum';\n\nexport class ContextExternalToolPostParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolToolId!: string;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontextId!: string;\n\n\t@IsEnum(ToolContextType)\n\t@ApiProperty()\n\tcontextType!: ToolContextType;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tdisplayName?: string;\n\n\t@ValidateNested({ each: true })\n\t@IsArray()\n\t@IsOptional()\n\t@ApiPropertyOptional({ type: [CustomParameterEntryParam] })\n\t@Type(() => CustomParameterEntryParam)\n\tparameters?: CustomParameterEntryParam[];\n\n\t@ApiProperty()\n\t@IsNumber()\n\ttoolVersion!: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ContextExternalToolProperties.html":{"url":"interfaces/ContextExternalToolProperties.html","title":"interface - ContextExternalToolProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ContextExternalToolProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/entity/context-external-tool.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contextId\n \n \n \n \n contextType\n \n \n \n Optional\n \n displayName\n \n \n \n Optional\n \n parameters\n \n \n \n \n schoolTool\n \n \n \n \n toolVersion\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contextId\n \n \n \n \n \n \n \n \n contextId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n contextType\n \n \n \n \n \n \n \n \n contextType: ContextExternalToolType\n\n \n \n\n\n \n \n Type : ContextExternalToolType\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n displayName\n \n \n \n \n \n \n \n \n displayName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n \n \n parameters: CustomParameterEntryEntity[]\n\n \n \n\n\n \n \n Type : CustomParameterEntryEntity[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n schoolTool\n \n \n \n \n \n \n \n \n schoolTool: SchoolExternalToolEntity\n\n \n \n\n\n \n \n Type : SchoolExternalToolEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n toolVersion\n \n \n \n \n \n \n \n \n toolVersion: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Embedded, Entity, ManyToOne, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { CustomParameterEntryEntity } from '../../common/entity';\nimport { SchoolExternalToolEntity } from '../../school-external-tool/entity';\nimport { ContextExternalToolType } from './context-external-tool-type.enum';\n\nexport interface ContextExternalToolProperties {\n\tschoolTool: SchoolExternalToolEntity;\n\n\tcontextId: string;\n\n\tcontextType: ContextExternalToolType;\n\n\tdisplayName?: string;\n\n\tparameters?: CustomParameterEntryEntity[];\n\n\ttoolVersion: number;\n}\n\n@Entity({ tableName: 'context-external-tools' })\nexport class ContextExternalToolEntity extends BaseEntityWithTimestamps {\n\t@ManyToOne()\n\tschoolTool: SchoolExternalToolEntity;\n\n\t@Property()\n\tcontextId: string;\n\n\t@Property()\n\tcontextType: ContextExternalToolType;\n\n\t@Property({ nullable: true })\n\tdisplayName?: string;\n\n\t@Embedded(() => CustomParameterEntryEntity, { array: true })\n\tparameters: CustomParameterEntryEntity[];\n\n\t@Property()\n\ttoolVersion: number;\n\n\tconstructor(props: ContextExternalToolProperties) {\n\t\tsuper();\n\t\tthis.schoolTool = props.schoolTool;\n\t\tthis.contextId = props.contextId;\n\t\tthis.contextType = props.contextType;\n\t\tthis.displayName = props.displayName;\n\t\tthis.parameters = props.parameters ?? [];\n\t\tthis.toolVersion = props.toolVersion;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ContextExternalToolProps.html":{"url":"interfaces/ContextExternalToolProps.html","title":"interface - ContextExternalToolProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ContextExternalToolProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/domain/context-external-tool.do.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contextRef\n \n \n \n Optional\n \n displayName\n \n \n \n Optional\n \n id\n \n \n \n \n parameters\n \n \n \n \n schoolToolRef\n \n \n \n \n toolVersion\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contextRef\n \n \n \n \n \n \n \n \n contextRef: ContextRef\n\n \n \n\n\n \n \n Type : ContextRef\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n displayName\n \n \n \n \n \n \n \n \n displayName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n \n \n parameters: CustomParameterEntry[]\n\n \n \n\n\n \n \n Type : CustomParameterEntry[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolToolRef\n \n \n \n \n \n \n \n \n schoolToolRef: SchoolExternalToolRefDO\n\n \n \n\n\n \n \n Type : SchoolExternalToolRefDO\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n toolVersion\n \n \n \n \n \n \n \n \n toolVersion: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BaseDO } from '@shared/domain/domainobject/base.do';\nimport { CustomParameterEntry } from '../../common/domain';\nimport { ToolVersion } from '../../common/interface';\nimport { SchoolExternalToolRefDO } from '../../school-external-tool/domain';\nimport { ContextRef } from './context-ref';\n\nexport interface ContextExternalToolProps {\n\tid?: string;\n\n\tschoolToolRef: SchoolExternalToolRefDO;\n\n\tcontextRef: ContextRef;\n\n\tdisplayName?: string;\n\n\tparameters: CustomParameterEntry[];\n\n\ttoolVersion: number;\n}\n\nexport class ContextExternalTool extends BaseDO implements ToolVersion {\n\tschoolToolRef: SchoolExternalToolRefDO;\n\n\tcontextRef: ContextRef;\n\n\tdisplayName?: string;\n\n\tparameters: CustomParameterEntry[];\n\n\ttoolVersion: number;\n\n\tconstructor(props: ContextExternalToolProps) {\n\t\tsuper(props.id);\n\t\tthis.schoolToolRef = props.schoolToolRef;\n\t\tthis.contextRef = props.contextRef;\n\t\tthis.displayName = props.displayName;\n\t\tthis.parameters = props.parameters;\n\t\tthis.toolVersion = props.toolVersion;\n\t}\n\n\tgetVersion(): number {\n\t\treturn this.toolVersion;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ContextExternalToolRepo.html":{"url":"injectables/ContextExternalToolRepo.html","title":"injectable - ContextExternalToolRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ContextExternalToolRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/contextexternaltool/context-external-tool.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseDORepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n buildScope\n \n \n Async\n countBySchoolToolIdsAndContextType\n \n \n Async\n deleteBySchoolExternalToolIds\n \n \n Async\n find\n \n \n Public\n \n Async\n findById\n \n \n Public\n Async\n findByIdOrNull\n \n \n Private\n mapContextTypeToDoType\n \n \n Private\n mapContextTypeToEntityType\n \n \n mapDOToEntityProperties\n \n \n mapEntityToDO\n \n \n Private\n Async\n createOrUpdateEntity\n \n \n Async\n delete\n \n \n Async\n deleteById\n \n \n Private\n removeProtectedEntityFields\n \n \n Async\n save\n \n \n Async\n saveAll\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(_em: EntityManager, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/shared/repo/contextexternaltool/context-external-tool.repo.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n _em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n buildScope\n \n \n \n \n \n \n \n buildScope(query: ContextExternalToolQuery)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/contextexternaltool/context-external-tool.repo.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n ContextExternalToolQuery\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n countBySchoolToolIdsAndContextType\n \n \n \n \n \n \n \n countBySchoolToolIdsAndContextType(contextType: ContextExternalToolType, schoolExternalToolIds: string[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/contextexternaltool/context-external-tool.repo.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextType\n \n ContextExternalToolType\n \n\n \n No\n \n\n\n \n \n schoolExternalToolIds\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteBySchoolExternalToolIds\n \n \n \n \n \n \n \n deleteBySchoolExternalToolIds(schoolExternalToolIds: string[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/contextexternaltool/context-external-tool.repo.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolIds\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n find\n \n \n \n \n \n \n \n find(query: ContextExternalToolQuery)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/contextexternaltool/context-external-tool.repo.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n ContextExternalToolQuery\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:52\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findByIdOrNull\n \n \n \n \n \n \n \n findByIdOrNull(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/contextexternaltool/context-external-tool.repo.ts:66\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapContextTypeToDoType\n \n \n \n \n \n \n \n mapContextTypeToDoType(type: ContextExternalToolType)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/contextexternaltool/context-external-tool.repo.ts:139\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n ContextExternalToolType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolContextType\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapContextTypeToEntityType\n \n \n \n \n \n \n \n mapContextTypeToEntityType(type: ToolContextType)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/contextexternaltool/context-external-tool.repo.ts:128\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n ToolContextType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolType\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapDOToEntityProperties\n \n \n \n \n \n \nmapDOToEntityProperties(entityDO: ContextExternalTool)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:117\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : EntityData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapEntityToDO\n \n \n \n \n \n \nmapEntityToDO(entity: ContextExternalToolEntity)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:96\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n ContextExternalToolEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalTool\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createOrUpdateEntity\n \n \n \n \n \n \n \n createOrUpdateEntity(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:32\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(domainObjects: DO[] | DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:61\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[] | DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteById\n \n \n \n \n \n \n [object Object],[object Object],[object Object]\n \n \n \n \n \n deleteById(id: EntityId | EntityId[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:78\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeProtectedEntityFields\n \n \n \n \n \n \n \n removeProtectedEntityFields(entityData: EntityData)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:98\n\n \n \n\n\n \n \n Ignore base entity properties when updating entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityData\n \n EntityData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAll\n \n \n \n \n \n \n \n saveAll(domainObjects: DO[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/contextexternaltool/context-external-tool.repo.ts:22\n \n \n\n \n \n\n \n\n\n \n import { EntityData, EntityName } from '@mikro-orm/core';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { ToolContextType } from '@modules/tool/common/enum/tool-context-type.enum';\nimport { ContextExternalTool, ContextRef } from '@modules/tool/context-external-tool/domain';\nimport { ContextExternalToolEntity, ContextExternalToolType } from '@modules/tool/context-external-tool/entity';\nimport { ContextExternalToolQuery } from '@modules/tool/context-external-tool/uc/dto/context-external-tool.types';\nimport { SchoolExternalToolRefDO } from '@modules/tool/school-external-tool/domain';\nimport { SchoolExternalToolEntity } from '@modules/tool/school-external-tool/entity';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseDORepo } from '@shared/repo';\nimport { LegacyLogger } from '@src/core/logger';\nimport { ExternalToolRepoMapper } from '../externaltool';\nimport { ContextExternalToolScope } from './context-external-tool.scope';\n\n@Injectable()\nexport class ContextExternalToolRepo extends BaseDORepo {\n\tconstructor(protected readonly _em: EntityManager, protected readonly logger: LegacyLogger) {\n\t\tsuper(_em, logger);\n\t}\n\n\tget entityName(): EntityName {\n\t\treturn ContextExternalToolEntity;\n\t}\n\n\tasync deleteBySchoolExternalToolIds(schoolExternalToolIds: string[]): Promise {\n\t\tconst count: Promise = this._em.nativeDelete(this.entityName, {\n\t\t\tschoolTool: { $in: schoolExternalToolIds },\n\t\t});\n\t\treturn count;\n\t}\n\n\tasync find(query: ContextExternalToolQuery): Promise {\n\t\tconst scope: ContextExternalToolScope = this.buildScope(query);\n\n\t\tconst entities: ContextExternalToolEntity[] = await this._em.find(this.entityName, scope.query, {\n\t\t\tpopulate: ['schoolTool.school'],\n\t\t});\n\n\t\tconst dos: ContextExternalTool[] = entities.map((entity: ContextExternalToolEntity) => this.mapEntityToDO(entity));\n\t\treturn dos;\n\t}\n\n\tasync countBySchoolToolIdsAndContextType(contextType: ContextExternalToolType, schoolExternalToolIds: string[]) {\n\t\tconst contextExternalToolCount = await this._em.count(this.entityName, {\n\t\t\t$and: [{ schoolTool: { $in: schoolExternalToolIds }, contextType }],\n\t\t});\n\n\t\treturn contextExternalToolCount;\n\t}\n\n\tpublic override async findById(id: EntityId): Promise {\n\t\tconst entity: ContextExternalToolEntity = await this._em.findOneOrFail(\n\t\t\tthis.entityName,\n\t\t\t{ id },\n\t\t\t{\n\t\t\t\tpopulate: ['schoolTool.school'],\n\t\t\t}\n\t\t);\n\n\t\tconst mapped: ContextExternalTool = this.mapEntityToDO(entity);\n\n\t\treturn mapped;\n\t}\n\n\tpublic async findByIdOrNull(id: EntityId): Promise {\n\t\tconst entity: ContextExternalToolEntity | null = await this._em.findOne(\n\t\t\tthis.entityName,\n\t\t\t{ id },\n\t\t\t{\n\t\t\t\tpopulate: ['schoolTool.school'],\n\t\t\t}\n\t\t);\n\n\t\tif (!entity) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst mapped: ContextExternalTool = this.mapEntityToDO(entity);\n\n\t\treturn mapped;\n\t}\n\n\tprivate buildScope(query: ContextExternalToolQuery): ContextExternalToolScope {\n\t\tconst scope: ContextExternalToolScope = new ContextExternalToolScope();\n\n\t\tscope.byId(query.id);\n\t\tscope.bySchoolToolId(query.schoolToolRef?.schoolToolId);\n\t\tscope.byContextId(query.context?.id);\n\t\tscope.byContextType(query.context?.type);\n\t\tscope.allowEmptyQuery(true);\n\n\t\treturn scope;\n\t}\n\n\tmapEntityToDO(entity: ContextExternalToolEntity): ContextExternalTool {\n\t\tconst schoolToolRef: SchoolExternalToolRefDO = new SchoolExternalToolRefDO({\n\t\t\tschoolId: entity.schoolTool.school?.id,\n\t\t\tschoolToolId: entity.schoolTool.id,\n\t\t});\n\n\t\tconst contextRef: ContextRef = new ContextRef({\n\t\t\tid: entity.contextId,\n\t\t\ttype: this.mapContextTypeToDoType(entity.contextType),\n\t\t});\n\n\t\treturn new ContextExternalTool({\n\t\t\tid: entity.id,\n\t\t\tschoolToolRef,\n\t\t\tcontextRef,\n\t\t\tdisplayName: entity.displayName,\n\t\t\ttoolVersion: entity.toolVersion,\n\t\t\tparameters: ExternalToolRepoMapper.mapCustomParameterEntryEntitiesToDOs(entity.parameters),\n\t\t});\n\t}\n\n\tmapDOToEntityProperties(entityDO: ContextExternalTool): EntityData {\n\t\treturn {\n\t\t\tcontextId: entityDO.contextRef.id,\n\t\t\tcontextType: this.mapContextTypeToEntityType(entityDO.contextRef.type),\n\t\t\tdisplayName: entityDO.displayName,\n\t\t\tschoolTool: this._em.getReference(SchoolExternalToolEntity, entityDO.schoolToolRef.schoolToolId),\n\t\t\ttoolVersion: entityDO.toolVersion,\n\t\t\tparameters: ExternalToolRepoMapper.mapCustomParameterEntryDOsToEntities(entityDO.parameters),\n\t\t};\n\t}\n\n\tprivate mapContextTypeToEntityType(type: ToolContextType): ContextExternalToolType {\n\t\tswitch (type) {\n\t\t\tcase ToolContextType.COURSE:\n\t\t\t\treturn ContextExternalToolType.COURSE;\n\t\t\tcase ToolContextType.BOARD_ELEMENT:\n\t\t\t\treturn ContextExternalToolType.BOARD_ELEMENT;\n\t\t\tdefault:\n\t\t\t\tthrow new Error('Unknown ToolContextType');\n\t\t}\n\t}\n\n\tprivate mapContextTypeToDoType(type: ContextExternalToolType): ToolContextType {\n\t\tswitch (type) {\n\t\t\tcase ContextExternalToolType.COURSE:\n\t\t\t\treturn ToolContextType.COURSE;\n\t\t\tcase ContextExternalToolType.BOARD_ELEMENT:\n\t\t\t\treturn ToolContextType.BOARD_ELEMENT;\n\t\t\tdefault:\n\t\t\t\tthrow new Error('Unknown ContextExternalToolType');\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolRequestMapper.html":{"url":"classes/ContextExternalToolRequestMapper.html","title":"class - ContextExternalToolRequestMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolRequestMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/mapper/context-external-tool-request.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapContextExternalToolRequest\n \n \n Private\n Static\n mapRequestToCustomParameterEntryDO\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapContextExternalToolRequest\n \n \n \n \n \n \n \n mapContextExternalToolRequest(request: ContextExternalToolPostParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/mapper/context-external-tool-request.mapper.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n request\n \n ContextExternalToolPostParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolDto\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n mapRequestToCustomParameterEntryDO\n \n \n \n \n \n \n \n mapRequestToCustomParameterEntryDO(customParameterParams: CustomParameterEntryParam[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/mapper/context-external-tool-request.mapper.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameterParams\n \n CustomParameterEntryParam[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CustomParameterEntry[]\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CustomParameterEntry } from '../../common/domain';\nimport { CustomParameterEntryParam } from '../../school-external-tool/controller/dto';\nimport { ContextExternalToolPostParams } from '../controller/dto';\nimport { ContextExternalToolDto } from '../uc/dto/context-external-tool.types';\n\nexport class ContextExternalToolRequestMapper {\n\tstatic mapContextExternalToolRequest(request: ContextExternalToolPostParams): ContextExternalToolDto {\n\t\treturn {\n\t\t\tschoolToolRef: {\n\t\t\t\tschoolToolId: request.schoolToolId,\n\t\t\t},\n\t\t\tcontextRef: {\n\t\t\t\tid: request.contextId,\n\t\t\t\ttype: request.contextType,\n\t\t\t},\n\t\t\tdisplayName: request.displayName,\n\t\t\ttoolVersion: request.toolVersion,\n\t\t\tparameters: this.mapRequestToCustomParameterEntryDO(request.parameters ?? []),\n\t\t};\n\t}\n\n\tprivate static mapRequestToCustomParameterEntryDO(\n\t\tcustomParameterParams: CustomParameterEntryParam[]\n\t): CustomParameterEntry[] {\n\t\treturn customParameterParams.map((customParameterParam: CustomParameterEntryParam) => {\n\t\t\treturn {\n\t\t\t\tname: customParameterParam.name,\n\t\t\t\tvalue: customParameterParam.value || undefined,\n\t\t\t};\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolResponse.html":{"url":"classes/ContextExternalToolResponse.html","title":"class - ContextExternalToolResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contextId\n \n \n \n contextType\n \n \n \n Optional\n displayName\n \n \n \n id\n \n \n \n Optional\n logoUrl\n \n \n \n parameters\n \n \n \n schoolToolId\n \n \n \n toolVersion\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(response: ContextExternalToolResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool.response.ts:28\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n \n ContextExternalToolResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n contextType\n \n \n \n \n \n \n Type : ToolContextType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ToolContextType})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool.response.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool.response.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n Type : CustomParameterEntryResponse[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n schoolToolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool.response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n toolVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool.response.ts:25\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { CustomParameterEntryResponse } from '../../../school-external-tool/controller/dto';\nimport { ToolContextType } from '../../../common/enum';\n\nexport class ContextExternalToolResponse {\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\tschoolToolId: string;\n\n\t@ApiProperty()\n\tcontextId: string;\n\n\t@ApiProperty({ enum: ToolContextType })\n\tcontextType: ToolContextType;\n\n\t@ApiPropertyOptional()\n\tdisplayName?: string;\n\n\t@ApiProperty({ type: [CustomParameterEntryResponse] })\n\tparameters: CustomParameterEntryResponse[] = [];\n\n\t@ApiProperty()\n\ttoolVersion: number;\n\n\t@ApiPropertyOptional()\n\tlogoUrl?: string;\n\n\tconstructor(response: ContextExternalToolResponse) {\n\t\tthis.id = response.id;\n\t\tthis.schoolToolId = response.schoolToolId;\n\t\tthis.contextId = response.contextId;\n\t\tthis.contextType = response.contextType;\n\t\tthis.displayName = response.displayName;\n\t\tthis.parameters = response.parameters;\n\t\tthis.toolVersion = response.toolVersion;\n\t\tthis.logoUrl = response.logoUrl;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolResponseMapper.html":{"url":"classes/ContextExternalToolResponseMapper.html","title":"class - ContextExternalToolResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/mapper/context-external-tool-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapContextExternalToolResponse\n \n \n Private\n Static\n mapRequestToCustomParameterEntryDO\n \n \n Static\n mapToToolReferenceResponse\n \n \n Static\n mapToToolReferenceResponses\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapContextExternalToolResponse\n \n \n \n \n \n \n \n mapContextExternalToolResponse(contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/mapper/context-external-tool-response.mapper.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n mapRequestToCustomParameterEntryDO\n \n \n \n \n \n \n \n mapRequestToCustomParameterEntryDO(customParameterParams: CustomParameterEntryParam[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/mapper/context-external-tool-response.mapper.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameterParams\n \n CustomParameterEntryParam[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CustomParameterEntryResponse[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToToolReferenceResponse\n \n \n \n \n \n \n \n mapToToolReferenceResponse(toolReference: ToolReference)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/mapper/context-external-tool-response.mapper.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolReference\n \n ToolReference\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolReferenceResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToToolReferenceResponses\n \n \n \n \n \n \n \n mapToToolReferenceResponses(toolReferences: ToolReference[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/mapper/context-external-tool-response.mapper.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolReferences\n \n ToolReference[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolReferenceResponse[]\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ToolStatusResponseMapper } from '../../common/mapper/tool-status-response.mapper';\nimport { CustomParameterEntryParam, CustomParameterEntryResponse } from '../../school-external-tool/controller/dto';\nimport { ContextExternalToolResponse, ToolReferenceResponse } from '../controller/dto';\nimport { ContextExternalTool, ToolReference } from '../domain';\n\nexport class ContextExternalToolResponseMapper {\n\tstatic mapContextExternalToolResponse(contextExternalTool: ContextExternalTool): ContextExternalToolResponse {\n\t\tconst mapped: ContextExternalToolResponse = new ContextExternalToolResponse({\n\t\t\tid: contextExternalTool.id ?? '',\n\t\t\tcontextId: contextExternalTool.contextRef.id,\n\t\t\tcontextType: contextExternalTool.contextRef.type,\n\t\t\tschoolToolId: contextExternalTool.schoolToolRef.schoolToolId,\n\t\t\tdisplayName: contextExternalTool.displayName,\n\t\t\ttoolVersion: contextExternalTool.toolVersion,\n\t\t\tparameters: this.mapRequestToCustomParameterEntryDO(contextExternalTool.parameters),\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tprivate static mapRequestToCustomParameterEntryDO(\n\t\tcustomParameterParams: CustomParameterEntryParam[]\n\t): CustomParameterEntryResponse[] {\n\t\tconst mapped: CustomParameterEntryResponse[] = customParameterParams.map(\n\t\t\t(customParameterParam: CustomParameterEntryParam) => {\n\t\t\t\tconst customParameterEntryResponse: CustomParameterEntryResponse = new CustomParameterEntryResponse({\n\t\t\t\t\tname: customParameterParam.name,\n\t\t\t\t\tvalue: customParameterParam.value,\n\t\t\t\t});\n\n\t\t\t\treturn customParameterEntryResponse;\n\t\t\t}\n\t\t);\n\n\t\treturn mapped;\n\t}\n\n\tstatic mapToToolReferenceResponses(toolReferences: ToolReference[]): ToolReferenceResponse[] {\n\t\tconst toolReferenceResponses: ToolReferenceResponse[] = toolReferences.map((toolReference: ToolReference) =>\n\t\t\tthis.mapToToolReferenceResponse(toolReference)\n\t\t);\n\n\t\treturn toolReferenceResponses;\n\t}\n\n\tstatic mapToToolReferenceResponse(toolReference: ToolReference): ToolReferenceResponse {\n\t\tconst response = new ToolReferenceResponse({\n\t\t\tcontextToolId: toolReference.contextToolId,\n\t\t\tdisplayName: toolReference.displayName,\n\t\t\tlogoUrl: toolReference.logoUrl,\n\t\t\topenInNewTab: toolReference.openInNewTab,\n\t\t\tstatus: ToolStatusResponseMapper.mapToResponse(toolReference.status),\n\t\t});\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ContextExternalToolRule.html":{"url":"injectables/ContextExternalToolRule.html","title":"injectable - ContextExternalToolRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ContextExternalToolRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/context-external-tool.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/context-external-tool.rule.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, entity: ContextExternalToolEntity | ContextExternalTool, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/context-external-tool.rule.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n ContextExternalToolEntity | ContextExternalTool\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, entity: ContextExternalToolEntity | ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/context-external-tool.rule.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n ContextExternalToolEntity | ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ContextExternalTool } from '@modules/tool/context-external-tool/domain';\nimport { ContextExternalToolEntity } from '@modules/tool/context-external-tool/entity';\nimport { User } from '@shared/domain/entity';\nimport { AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\n\n@Injectable()\nexport class ContextExternalToolRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper) {}\n\n\tpublic isApplicable(user: User, entity: ContextExternalToolEntity | ContextExternalTool): boolean {\n\t\tconst isMatched: boolean = entity instanceof ContextExternalToolEntity || entity instanceof ContextExternalTool;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(\n\t\tuser: User,\n\t\tentity: ContextExternalToolEntity | ContextExternalTool,\n\t\tcontext: AuthorizationContext\n\t): boolean {\n\t\tlet hasPermission: boolean;\n\t\tif (entity instanceof ContextExternalToolEntity) {\n\t\t\thasPermission =\n\t\t\t\tthis.authorizationHelper.hasAllPermissions(user, context.requiredPermissions) &&\n\t\t\t\tuser.school.id === entity.schoolTool.school.id;\n\t\t} else {\n\t\t\thasPermission =\n\t\t\t\tthis.authorizationHelper.hasAllPermissions(user, context.requiredPermissions) &&\n\t\t\t\tuser.school.id === entity.schoolToolRef.schoolId;\n\t\t}\n\t\treturn hasPermission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolScope.html":{"url":"classes/ContextExternalToolScope.html","title":"class - ContextExternalToolScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/contextexternaltool/context-external-tool.scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n byContextId\n \n \n byContextType\n \n \n byId\n \n \n bySchoolToolId\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n byContextId\n \n \n \n \n \n \nbyContextId(contextId: EntityId | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/contextexternaltool/context-external-tool.scope.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextId\n \n EntityId | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byContextType\n \n \n \n \n \n \nbyContextType(contextType: ToolContextType | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/contextexternaltool/context-external-tool.scope.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextType\n \n ToolContextType | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byId\n \n \n \n \n \n \nbyId(id: EntityId | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/contextexternaltool/context-external-tool.scope.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n bySchoolToolId\n \n \n \n \n \n \nbySchoolToolId(schoolToolId: EntityId | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/contextexternaltool/context-external-tool.scope.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolToolId\n \n EntityId | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ToolContextType } from '@modules/tool/common/enum';\nimport { ContextExternalToolEntity } from '@modules/tool/context-external-tool/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { Scope } from '@shared/repo';\n\nexport class ContextExternalToolScope extends Scope {\n\tbyId(id: EntityId | undefined): ContextExternalToolScope {\n\t\tif (id !== undefined) {\n\t\t\tthis.addQuery({ id });\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tbySchoolToolId(schoolToolId: EntityId | undefined): ContextExternalToolScope {\n\t\tif (schoolToolId !== undefined) {\n\t\t\tthis.addQuery({ schoolTool: schoolToolId });\n\t\t}\n\t\treturn this;\n\t}\n\n\tbyContextId(contextId: EntityId | undefined): ContextExternalToolScope {\n\t\tif (contextId !== undefined) {\n\t\t\tthis.addQuery({ contextId });\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tbyContextType(contextType: ToolContextType | undefined): ContextExternalToolScope {\n\t\tif (contextType !== undefined) {\n\t\t\tthis.addQuery({ contextType });\n\t\t}\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextExternalToolSearchListResponse.html":{"url":"classes/ContextExternalToolSearchListResponse.html","title":"class - ContextExternalToolSearchListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextExternalToolSearchListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-search-list.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: ContextExternalToolResponse[])\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-search-list.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n ContextExternalToolResponse[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : ContextExternalToolResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/context-external-tool-search-list.response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContextExternalToolResponse } from './context-external-tool.response';\n\nexport class ContextExternalToolSearchListResponse {\n\t@ApiProperty({ type: [ContextExternalToolResponse] })\n\tdata: ContextExternalToolResponse[];\n\n\tconstructor(data: ContextExternalToolResponse[]) {\n\t\tthis.data = data;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ContextExternalToolService.html":{"url":"injectables/ContextExternalToolService.html","title":"injectable - ContextExternalToolService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ContextExternalToolService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/service/context-external-tool.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n checkContextRestrictions\n \n \n Public\n Async\n deleteBySchoolExternalToolId\n \n \n Public\n Async\n deleteContextExternalTool\n \n \n Public\n Async\n findAllByContext\n \n \n Public\n Async\n findById\n \n \n Public\n Async\n findByIdOrFail\n \n \n Public\n Async\n findContextExternalTools\n \n \n Public\n Async\n saveContextExternalTool\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(contextExternalToolRepo: ContextExternalToolRepo, externalToolService: ExternalToolService, schoolExternalToolService: SchoolExternalToolService, commonToolService: CommonToolService)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool.service.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalToolRepo\n \n \n ContextExternalToolRepo\n \n \n \n No\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n schoolExternalToolService\n \n \n SchoolExternalToolService\n \n \n \n No\n \n \n \n \n commonToolService\n \n \n CommonToolService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n checkContextRestrictions\n \n \n \n \n \n \n \n checkContextRestrictions(contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool.service.ts:68\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n deleteBySchoolExternalToolId\n \n \n \n \n \n \n \n deleteBySchoolExternalToolId(schoolExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool.service.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n deleteContextExternalTool\n \n \n \n \n \n \n \n deleteContextExternalTool(contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool.service.ts:56\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findAllByContext\n \n \n \n \n \n \n \n findAllByContext(contextRef: ContextRef)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool.service.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextRef\n \n ContextRef\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findById\n \n \n \n \n \n \n \n findById(contextExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool.service.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findByIdOrFail\n \n \n \n \n \n \n \n findByIdOrFail(contextExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool.service.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findContextExternalTools\n \n \n \n \n \n \n \n findContextExternalTools(query: ContextExternalToolQuery)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool.service.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n ContextExternalToolQuery\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n saveContextExternalTool\n \n \n \n \n \n \n \n saveContextExternalTool(contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool.service.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ContextExternalToolRepo } from '@shared/repo';\nimport { ContextExternalTool, ContextRef } from '../domain';\nimport { ContextExternalToolQuery } from '../uc/dto/context-external-tool.types';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { ExternalTool } from '../../external-tool/domain';\nimport { ExternalToolService } from '../../external-tool/service';\nimport { SchoolExternalToolService } from '../../school-external-tool/service';\nimport { RestrictedContextMismatchLoggable } from './restricted-context-mismatch-loggabble';\nimport { CommonToolService } from '../../common/service';\n\n@Injectable()\nexport class ContextExternalToolService {\n\tconstructor(\n\t\tprivate readonly contextExternalToolRepo: ContextExternalToolRepo,\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly commonToolService: CommonToolService\n\t) {}\n\n\tpublic async findContextExternalTools(query: ContextExternalToolQuery): Promise {\n\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolRepo.find(query);\n\n\t\treturn contextExternalTools;\n\t}\n\n\tpublic async findByIdOrFail(contextExternalToolId: EntityId): Promise {\n\t\tconst tool: ContextExternalTool = await this.contextExternalToolRepo.findById(contextExternalToolId);\n\n\t\treturn tool;\n\t}\n\n\tpublic async findById(contextExternalToolId: EntityId): Promise {\n\t\tconst tool: ContextExternalTool | null = await this.contextExternalToolRepo.findByIdOrNull(contextExternalToolId);\n\n\t\treturn tool;\n\t}\n\n\tpublic async saveContextExternalTool(contextExternalTool: ContextExternalTool): Promise {\n\t\tconst savedContextExternalTool: ContextExternalTool = await this.contextExternalToolRepo.save(contextExternalTool);\n\n\t\treturn savedContextExternalTool;\n\t}\n\n\tpublic async deleteBySchoolExternalToolId(schoolExternalToolId: EntityId) {\n\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolRepo.find({\n\t\t\tschoolToolRef: {\n\t\t\t\tschoolToolId: schoolExternalToolId,\n\t\t\t},\n\t\t});\n\n\t\tawait this.contextExternalToolRepo.delete(contextExternalTools);\n\t}\n\n\tpublic async deleteContextExternalTool(contextExternalTool: ContextExternalTool): Promise {\n\t\tawait this.contextExternalToolRepo.delete(contextExternalTool);\n\t}\n\n\tpublic async findAllByContext(contextRef: ContextRef): Promise {\n\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolRepo.find({\n\t\t\tcontext: contextRef,\n\t\t});\n\n\t\treturn contextExternalTools;\n\t}\n\n\tpublic async checkContextRestrictions(contextExternalTool: ContextExternalTool): Promise {\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(\n\t\t\tcontextExternalTool.schoolToolRef.schoolToolId\n\t\t);\n\n\t\tconst externalTool: ExternalTool = await this.externalToolService.findById(schoolExternalTool.toolId);\n\n\t\tif (this.commonToolService.isContextRestricted(externalTool, contextExternalTool.contextRef.type)) {\n\t\t\tthrow new RestrictedContextMismatchLoggable(externalTool.name, contextExternalTool.contextRef.type);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ContextExternalToolUc.html":{"url":"injectables/ContextExternalToolUc.html","title":"injectable - ContextExternalToolUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ContextExternalToolUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/uc/context-external-tool.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createContextExternalTool\n \n \n Public\n Async\n deleteContextExternalTool\n \n \n Private\n Async\n filterToolsWithPermissions\n \n \n Async\n getContextExternalTool\n \n \n Public\n Async\n getContextExternalToolsForContext\n \n \n Async\n updateContextExternalTool\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(toolPermissionHelper: ToolPermissionHelper, schoolExternalToolService: SchoolExternalToolService, contextExternalToolService: ContextExternalToolService, contextExternalToolValidationService: ContextExternalToolValidationService, authorizationService: AuthorizationService)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/context-external-tool.uc.ts:22\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolPermissionHelper\n \n \n ToolPermissionHelper\n \n \n \n No\n \n \n \n \n schoolExternalToolService\n \n \n SchoolExternalToolService\n \n \n \n No\n \n \n \n \n contextExternalToolService\n \n \n ContextExternalToolService\n \n \n \n No\n \n \n \n \n contextExternalToolValidationService\n \n \n ContextExternalToolValidationService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createContextExternalTool\n \n \n \n \n \n \n \n createContextExternalTool(userId: EntityId, schoolId: EntityId, contextExternalToolDto: ContextExternalToolDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/context-external-tool.uc.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextExternalToolDto\n \n ContextExternalToolDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n deleteContextExternalTool\n \n \n \n \n \n \n \n deleteContextExternalTool(userId: EntityId, contextExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/context-external-tool.uc.ts:97\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n filterToolsWithPermissions\n \n \n \n \n \n \n \n filterToolsWithPermissions(userId: EntityId, tools: ContextExternalTool[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/context-external-tool.uc.ts:129\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n tools\n \n ContextExternalTool[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getContextExternalTool\n \n \n \n \n \n \n \n getContextExternalTool(userId: EntityId, contextToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/context-external-tool.uc.ts:120\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getContextExternalToolsForContext\n \n \n \n \n \n \n \n getContextExternalToolsForContext(userId: EntityId, contextType: ToolContextType, contextId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/context-external-tool.uc.ts:106\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextType\n \n ToolContextType\n \n\n \n No\n \n\n\n \n \n contextId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateContextExternalTool\n \n \n \n \n \n \n \n updateContextExternalTool(userId: EntityId, schoolId: EntityId, contextExternalToolId: EntityId, contextExternalToolDto: ContextExternalToolDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/context-external-tool.uc.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextExternalToolDto\n \n ContextExternalToolDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import {\n\tAuthorizationContext,\n\tAuthorizationContextBuilder,\n\tAuthorizationService,\n\tForbiddenLoggableException,\n} from '@modules/authorization';\nimport { AuthorizableReferenceType } from '@modules/authorization/domain';\nimport { Injectable } from '@nestjs/common';\nimport { User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { ToolContextType } from '../../common/enum';\nimport { ToolPermissionHelper } from '../../common/uc/tool-permission-helper';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { SchoolExternalToolService } from '../../school-external-tool/service';\nimport { ContextExternalTool, ContextRef } from '../domain';\nimport { ContextExternalToolService } from '../service';\nimport { ContextExternalToolValidationService } from '../service/context-external-tool-validation.service';\nimport { ContextExternalToolDto } from './dto/context-external-tool.types';\n\n@Injectable()\nexport class ContextExternalToolUc {\n\tconstructor(\n\t\tprivate readonly toolPermissionHelper: ToolPermissionHelper,\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService,\n\t\tprivate readonly contextExternalToolValidationService: ContextExternalToolValidationService,\n\t\tprivate readonly authorizationService: AuthorizationService\n\t) {}\n\n\tasync createContextExternalTool(\n\t\tuserId: EntityId,\n\t\tschoolId: EntityId,\n\t\tcontextExternalToolDto: ContextExternalToolDto\n\t): Promise {\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.write([Permission.CONTEXT_TOOL_ADMIN]);\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(\n\t\t\tcontextExternalToolDto.schoolToolRef.schoolToolId\n\t\t);\n\n\t\tif (schoolExternalTool.schoolId !== schoolId) {\n\t\t\tthrow new ForbiddenLoggableException(userId, AuthorizableReferenceType.ContextExternalToolEntity, context);\n\t\t}\n\n\t\tcontextExternalToolDto.schoolToolRef.schoolId = schoolId;\n\t\tconst contextExternalTool = new ContextExternalTool(contextExternalToolDto);\n\n\t\tawait this.toolPermissionHelper.ensureContextPermissions(userId, contextExternalTool, context);\n\n\t\tawait this.contextExternalToolService.checkContextRestrictions(contextExternalTool);\n\n\t\tawait this.contextExternalToolValidationService.validate(contextExternalTool);\n\n\t\tconst createdTool: ContextExternalTool = await this.contextExternalToolService.saveContextExternalTool(\n\t\t\tcontextExternalTool\n\t\t);\n\n\t\treturn createdTool;\n\t}\n\n\tasync updateContextExternalTool(\n\t\tuserId: EntityId,\n\t\tschoolId: EntityId,\n\t\tcontextExternalToolId: EntityId,\n\t\tcontextExternalToolDto: ContextExternalToolDto\n\t): Promise {\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.write([Permission.CONTEXT_TOOL_ADMIN]);\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(\n\t\t\tcontextExternalToolDto.schoolToolRef.schoolToolId\n\t\t);\n\n\t\tif (schoolExternalTool.schoolId !== schoolId) {\n\t\t\tthrow new ForbiddenLoggableException(userId, AuthorizableReferenceType.ContextExternalToolEntity, context);\n\t\t}\n\n\t\tlet contextExternalTool: ContextExternalTool = await this.contextExternalToolService.findByIdOrFail(\n\t\t\tcontextExternalToolId\n\t\t);\n\n\t\tcontextExternalTool = new ContextExternalTool({\n\t\t\t...contextExternalToolDto,\n\t\t\tid: contextExternalTool.id,\n\t\t});\n\t\tcontextExternalTool.schoolToolRef.schoolId = schoolId;\n\n\t\tawait this.toolPermissionHelper.ensureContextPermissions(userId, contextExternalTool, context);\n\n\t\tawait this.contextExternalToolValidationService.validate(contextExternalTool);\n\n\t\tconst updatedTool: ContextExternalTool = await this.contextExternalToolService.saveContextExternalTool(\n\t\t\tcontextExternalTool\n\t\t);\n\n\t\treturn updatedTool;\n\t}\n\n\tpublic async deleteContextExternalTool(userId: EntityId, contextExternalToolId: EntityId): Promise {\n\t\tconst tool: ContextExternalTool = await this.contextExternalToolService.findByIdOrFail(contextExternalToolId);\n\n\t\tconst context = AuthorizationContextBuilder.write([Permission.CONTEXT_TOOL_ADMIN]);\n\t\tawait this.toolPermissionHelper.ensureContextPermissions(userId, tool, context);\n\n\t\tawait this.contextExternalToolService.deleteContextExternalTool(tool);\n\t}\n\n\tpublic async getContextExternalToolsForContext(\n\t\tuserId: EntityId,\n\t\tcontextType: ToolContextType,\n\t\tcontextId: string\n\t): Promise {\n\t\tconst tools: ContextExternalTool[] = await this.contextExternalToolService.findAllByContext(\n\t\t\tnew ContextRef({ id: contextId, type: contextType })\n\t\t);\n\n\t\tconst toolsWithPermission: ContextExternalTool[] = await this.filterToolsWithPermissions(userId, tools);\n\n\t\treturn toolsWithPermission;\n\t}\n\n\tasync getContextExternalTool(userId: EntityId, contextToolId: EntityId) {\n\t\tconst tool: ContextExternalTool = await this.contextExternalToolService.findByIdOrFail(contextToolId);\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.CONTEXT_TOOL_ADMIN]);\n\n\t\tawait this.toolPermissionHelper.ensureContextPermissions(userId, tool, context);\n\n\t\treturn tool;\n\t}\n\n\tprivate async filterToolsWithPermissions(\n\t\tuserId: EntityId,\n\t\ttools: ContextExternalTool[]\n\t): Promise {\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(userId);\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.CONTEXT_TOOL_ADMIN]);\n\n\t\tconst toolsWithPermission: ContextExternalTool[] = tools.filter((tool) =>\n\t\t\tthis.authorizationService.hasPermission(user, tool, context)\n\t\t);\n\n\t\treturn toolsWithPermission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ContextExternalToolValidationService.html":{"url":"injectables/ContextExternalToolValidationService.html","title":"injectable - ContextExternalToolValidationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ContextExternalToolValidationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/service/context-external-tool-validation.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n checkDuplicateUsesInContext\n \n \n Async\n validate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(contextExternalToolService: ContextExternalToolService, externalToolService: ExternalToolService, schoolExternalToolService: SchoolExternalToolService, commonToolValidationService: CommonToolValidationService)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool-validation.service.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalToolService\n \n \n ContextExternalToolService\n \n \n \n No\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n schoolExternalToolService\n \n \n SchoolExternalToolService\n \n \n \n No\n \n \n \n \n commonToolValidationService\n \n \n CommonToolValidationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n checkDuplicateUsesInContext\n \n \n \n \n \n \n \n checkDuplicateUsesInContext(contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool-validation.service.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n validate\n \n \n \n \n \n \n \n validate(contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/context-external-tool-validation.service.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ValidationError } from '@shared/common';\nimport { CommonToolValidationService } from '../../common/service';\nimport { ExternalTool } from '../../external-tool/domain';\nimport { ExternalToolService } from '../../external-tool/service';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { SchoolExternalToolService } from '../../school-external-tool/service';\nimport { ContextExternalTool } from '../domain';\nimport { ContextExternalToolService } from './context-external-tool.service';\n\n@Injectable()\nexport class ContextExternalToolValidationService {\n\tconstructor(\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService,\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly commonToolValidationService: CommonToolValidationService\n\t) {}\n\n\tasync validate(contextExternalTool: ContextExternalTool): Promise {\n\t\tawait this.checkDuplicateUsesInContext(contextExternalTool);\n\n\t\tconst loadedSchoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(\n\t\t\tcontextExternalTool.schoolToolRef.schoolToolId\n\t\t);\n\n\t\tconst loadedExternalTool: ExternalTool = await this.externalToolService.findById(loadedSchoolExternalTool.toolId);\n\n\t\tthis.commonToolValidationService.checkCustomParameterEntries(loadedExternalTool, contextExternalTool);\n\t}\n\n\tprivate async checkDuplicateUsesInContext(contextExternalTool: ContextExternalTool) {\n\t\tlet duplicate: ContextExternalTool[] = await this.contextExternalToolService.findContextExternalTools({\n\t\t\tschoolToolRef: contextExternalTool.schoolToolRef,\n\t\t\tcontext: contextExternalTool.contextRef,\n\t\t});\n\n\t\t// Only leave tools that are not the currently handled tool itself (for updates) or ones with the same name\n\t\tduplicate = duplicate.filter(\n\t\t\t(duplicateTool) =>\n\t\t\t\tduplicateTool.id !== contextExternalTool.id && duplicateTool.displayName === contextExternalTool.displayName\n\t\t);\n\n\t\tif (duplicate.length > 0) {\n\t\t\tthrow new ValidationError(\n\t\t\t\t`tool_with_name_exists: A tool with the same name is already assigned to this course. Tool names must be unique within a course.`\n\t\t\t);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextRef.html":{"url":"classes/ContextRef.html","title":"class - ContextRef","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextRef\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/domain/context-ref.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n id\n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ContextRef)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/context-ref.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ContextRef\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/context-ref.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolContextType\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/context-ref.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ToolContextType } from '../../common/enum';\n\nexport class ContextRef {\n\tid: string;\n\n\ttype: ToolContextType;\n\n\tconstructor(props: ContextRef) {\n\t\tthis.id = props.id;\n\t\tthis.type = props.type;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ContextRefParams.html":{"url":"classes/ContextRefParams.html","title":"class - ContextRefParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ContextRefParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/context-ref.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextId\n \n \n \n \n contextType\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contextId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/context-ref.params.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n contextType\n \n \n \n \n \n \n Type : ToolContextType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ToolContextType)@ApiProperty({type: ToolContextType})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/context-ref.params.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { EntityId } from '@shared/domain/types';\nimport { IsEnum, IsMongoId } from 'class-validator';\nimport { ToolContextType } from '../../../../common/enum';\n\nexport class ContextRefParams {\n\t@IsEnum(ToolContextType)\n\t@ApiProperty({ type: ToolContextType })\n\tcontextType!: ToolContextType;\n\n\t@IsMongoId()\n\t@ApiProperty()\n\tcontextId!: EntityId;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ConverterUtil.html":{"url":"injectables/ConverterUtil.html","title":"injectable - ConverterUtil","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ConverterUtil\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/utils/converter.util.ts\n \n\n\n \n Description\n \n \n This class encapsulates\n\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n xml2object\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n xml2object\n \n \n \n \n \n \nxml2object(xml: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/common/utils/converter.util.ts:9\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n xml\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport xml2json from '@hendt/xml2json';\n\n/**\n * This class encapsulates\n */\n@Injectable()\nexport class ConverterUtil {\n\txml2object(xml: string): T {\n\t\treturn xml2json(xml) as T;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CookiesDto.html":{"url":"classes/CookiesDto.html","title":"class - CookiesDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CookiesDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/service/dto/cookies.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n hydraCookies\n \n \n localCookies\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: CookiesDto)\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/cookies.dto.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n CookiesDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n hydraCookies\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/cookies.dto.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n localCookies\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/cookies.dto.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class CookiesDto {\n\thydraCookies: string[];\n\n\tlocalCookies: string[];\n\n\tconstructor(props: CookiesDto) {\n\t\tthis.localCookies = props.localCookies;\n\t\tthis.hydraCookies = props.hydraCookies;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CopyApiResponse.html":{"url":"classes/CopyApiResponse.html","title":"class - CopyApiResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CopyApiResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/copy-helper/dto/copy.response.ts\n \n\n\n \n Description\n \n \n DTO for returning a copy status document via api.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n destinationCourseId\n \n \n \n Optional\n elements\n \n \n \n Optional\n id\n \n \n \n status\n \n \n \n Optional\n title\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: CopyApiResponse)\n \n \n \n \n Defined in apps/server/src/modules/copy-helper/dto/copy.response.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n CopyApiResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n destinationCourseId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Id of destination course'})\n \n \n \n \n \n Defined in apps/server/src/modules/copy-helper/dto/copy.response.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n elements\n \n \n \n \n \n \n Type : CopyApiResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({type: undefined, description: 'List of included sub elements with recursive type structure'})\n \n \n \n \n \n Defined in apps/server/src/modules/copy-helper/dto/copy.response.ts:47\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Id of copied element'})\n \n \n \n \n \n Defined in apps/server/src/modules/copy-helper/dto/copy.response.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : CopyStatusEnum\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: 'string', enum: CopyStatusEnum, description: 'Copy progress status of copied element'})\n \n \n \n \n \n Defined in apps/server/src/modules/copy-helper/dto/copy.response.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Title of copied element'})\n \n \n \n \n \n Defined in apps/server/src/modules/copy-helper/dto/copy.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : CopyElementType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: 'string', enum: CopyElementType, description: 'Type of copied element'})\n \n \n \n \n \n Defined in apps/server/src/modules/copy-helper/dto/copy.response.ts:29\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { CopyElementType, CopyStatusEnum } from '@modules/copy-helper/types/copy.types';\n\n/**\n * DTO for returning a copy status document via api.\n */\nexport class CopyApiResponse {\n\tconstructor({ title, type, status }: CopyApiResponse) {\n\t\tif (title) this.title = title;\n\t\tthis.type = type;\n\t\tthis.status = status;\n\t}\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Id of copied element',\n\t})\n\tid?: string;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Title of copied element',\n\t})\n\ttitle?: string;\n\n\t@ApiProperty({\n\t\ttype: 'string',\n\t\tenum: CopyElementType,\n\t\tdescription: 'Type of copied element',\n\t})\n\ttype: CopyElementType;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Id of destination course',\n\t})\n\tdestinationCourseId?: string;\n\n\t@ApiProperty({\n\t\ttype: 'string',\n\t\tenum: CopyStatusEnum,\n\t\tdescription: 'Copy progress status of copied element',\n\t})\n\tstatus: CopyStatusEnum;\n\n\t@ApiPropertyOptional({\n\t\ttype: [CopyApiResponse],\n\t\tdescription: 'List of included sub elements with recursive type structure',\n\t})\n\telements?: CopyApiResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CopyFileDO.html":{"url":"interfaces/CopyFileDO.html","title":"interface - CopyFileDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CopyFileDO\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/rabbitmq/exchange/files-storage.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n id\n \n \n \n \n name\n \n \n \n \n sourceId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n sourceId\n \n \n \n \n \n \n \n \n sourceId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { EntityId } from '@shared/domain/types';\n\nexport const FilesStorageExchange = Configuration.get('FILES_STORAGE__EXCHANGE') as string;\n\nexport enum FilesStorageEvents {\n\t'COPY_FILES_OF_PARENT' = 'copy-files-of-parent',\n\t'LIST_FILES_OF_PARENT' = 'list-files-of-parent',\n\t'DELETE_FILES_OF_PARENT' = 'delete-files-of-parent',\n}\n\nexport enum ScanStatus {\n\tPENDING = 'pending',\n\tVERIFIED = 'verified',\n\tBLOCKED = 'blocked',\n\tWONT_CHECK = 'wont_check',\n\tERROR = 'error',\n}\n\nexport enum FileRecordParentType {\n\t'User' = 'users',\n\t'School' = 'schools',\n\t'Course' = 'courses',\n\t'Task' = 'tasks',\n\t'Lesson' = 'lessons',\n\t'Submission' = 'submissions',\n\t'BoardNode' = 'boardnodes',\n}\n\nexport interface CopyFilesOfParentParams {\n\tuserId: EntityId;\n\tsource: FileRecordParams;\n\ttarget: FileRecordParams;\n}\n\nexport interface FileRecordParams {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\nexport interface CopyFileDO {\n\tid?: EntityId;\n\tsourceId: EntityId;\n\tname: string;\n}\n\nexport interface FileDO {\n\tid: string;\n\tname: string;\n\tparentId: string;\n\tsecurityCheckStatus: ScanStatus;\n\tsize: number;\n\tcreatorId: string;\n\tmimeType: string;\n\tparentType: FileRecordParentType;\n\tdeletedSince?: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CopyFileDomainObjectProps.html":{"url":"interfaces/CopyFileDomainObjectProps.html","title":"interface - CopyFileDomainObjectProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CopyFileDomainObjectProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/interfaces/copy-file-domain-object-props.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n id\n \n \n \n \n name\n \n \n \n \n sourceId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId | undefined\n\n \n \n\n\n \n \n Type : EntityId | undefined\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n sourceId\n \n \n \n \n \n \n \n \n sourceId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\n\nexport interface CopyFileDomainObjectProps {\n\tid?: EntityId | undefined;\n\tsourceId: EntityId;\n\tname: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CopyFileDto.html":{"url":"classes/CopyFileDto.html","title":"class - CopyFileDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CopyFileDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/dto/copy-file.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n id\n \n \n name\n \n \n sourceId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: CopyFileDomainObjectProps)\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/dto/copy-file.dto.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n CopyFileDomainObjectProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : EntityId | undefined\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/dto/copy-file.dto.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/dto/copy-file.dto.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n sourceId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/dto/copy-file.dto.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { CopyFileDomainObjectProps } from '../interfaces';\n\nexport class CopyFileDto {\n\tid?: EntityId | undefined;\n\n\tsourceId: EntityId;\n\n\tname: string;\n\n\tconstructor(data: CopyFileDomainObjectProps) {\n\t\tthis.id = data.id;\n\t\tthis.sourceId = data.sourceId;\n\t\tthis.name = data.name;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CopyFileListResponse.html":{"url":"classes/CopyFileListResponse.html","title":"class - CopyFileListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CopyFileListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts\n \n\n\n\n \n Extends\n \n \n PaginationResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: CopyFileResponse[], total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:84\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n CopyFileResponse[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : CopyFileResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:91\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:14\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { DecodeHtmlEntities, PaginationResponse } from '@shared/controller';\nimport { FileRecord, FileRecordParentType, PreviewStatus, ScanStatus } from '../../entity';\nimport { API_VERSION_PATH } from '../../files-storage.const';\n\nexport class FileRecordResponse {\n\tconstructor(fileRecord: FileRecord) {\n\t\tthis.id = fileRecord.id;\n\t\tthis.name = fileRecord.name;\n\t\tthis.url = `${API_VERSION_PATH}/file/download/${fileRecord.id}/${encodeURIComponent(fileRecord.name)}`;\n\t\tthis.size = fileRecord.size;\n\t\tthis.securityCheckStatus = fileRecord.securityCheck.status;\n\t\tthis.parentId = fileRecord.parentId;\n\t\tthis.creatorId = fileRecord.creatorId;\n\t\tthis.mimeType = fileRecord.mimeType;\n\t\tthis.parentType = fileRecord.parentType;\n\t\tthis.deletedSince = fileRecord.deletedSince;\n\t\tthis.previewStatus = fileRecord.getPreviewStatus();\n\t}\n\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tname: string;\n\n\t@ApiProperty()\n\tparentId: string;\n\n\t@ApiProperty()\n\turl: string;\n\n\t@ApiProperty({ enum: ScanStatus, enumName: 'FileRecordScanStatus' })\n\tsecurityCheckStatus: ScanStatus;\n\n\t@ApiProperty()\n\tsize: number;\n\n\t@ApiProperty()\n\tcreatorId: string;\n\n\t@ApiProperty()\n\tmimeType: string;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\tparentType: FileRecordParentType;\n\n\t@ApiProperty({ enum: PreviewStatus, enumName: 'PreviewStatus' })\n\tpreviewStatus: PreviewStatus;\n\n\t@ApiPropertyOptional()\n\tdeletedSince?: Date;\n}\n\nexport class FileRecordListResponse extends PaginationResponse {\n\tconstructor(data: FileRecordResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [FileRecordResponse] })\n\tdata: FileRecordResponse[];\n}\n\nexport class CopyFileResponse {\n\tconstructor(data: CopyFileResponse) {\n\t\tthis.id = data.id;\n\t\tthis.sourceId = data.sourceId;\n\t\tthis.name = data.name;\n\t}\n\n\t@ApiPropertyOptional()\n\tid?: string;\n\n\t@ApiProperty()\n\tsourceId: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tname: string;\n}\n\nexport class CopyFileListResponse extends PaginationResponse {\n\tconstructor(data: CopyFileResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [CopyFileResponse] })\n\tdata: CopyFileResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CopyFileParams.html":{"url":"classes/CopyFileParams.html","title":"class - CopyFileParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CopyFileParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n fileNamePrefix\n \n \n \n \n target\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n fileNamePrefix\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:95\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : FileRecordParams\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@ValidateNested()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:91\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanResult } from '@infra/antivirus';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { Allow, IsBoolean, IsEnum, IsMongoId, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { FileRecordParentType } from '../../entity';\nimport { PreviewOutputMimeTypes, PreviewWidth } from '../../interface';\n\nexport class FileRecordParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\t@IsEnum(FileRecordParentType)\n\tparentType!: FileRecordParentType;\n}\n\nexport class FileUrlParams {\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\turl!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@Allow()\n\theaders?: Record;\n}\n\nexport class FileParams {\n\t@ApiProperty({ type: 'string', format: 'binary' })\n\t@Allow()\n\tfile!: string;\n}\n\nexport class DownloadFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileName!: string;\n}\n\nexport class ScanResultParams implements ScanResult {\n\t@ApiProperty()\n\t@Allow()\n\tvirus_detected?: boolean;\n\n\t@ApiProperty()\n\t@Allow()\n\tvirus_signature?: string;\n\n\t@ApiProperty()\n\t@Allow()\n\terror?: string;\n}\n\nexport class SingleFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n}\n\nexport class RenameFileParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n}\n\nexport class CopyFilesOfParentParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class CopyFileParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileNamePrefix!: string;\n}\n\nexport class CopyFilesOfParentPayload {\n\t@IsMongoId()\n\tuserId!: EntityId;\n\n\t@ValidateNested()\n\tsource!: FileRecordParams;\n\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class PreviewParams {\n\t@ApiPropertyOptional({ enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes' })\n\t@IsOptional()\n\t@IsEnum(PreviewOutputMimeTypes)\n\toutputFormat?: PreviewOutputMimeTypes;\n\n\t@ApiPropertyOptional({ enum: PreviewWidth, enumName: 'PreviewWidth' })\n\t@IsOptional()\n\t@IsEnum(PreviewWidth)\n\twidth?: PreviewWidth;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'If true, the preview will be generated again.',\n\t})\n\tforceUpdate?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CopyFileResponse.html":{"url":"classes/CopyFileResponse.html","title":"class - CopyFileResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CopyFileResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n name\n \n \n \n sourceId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: CopyFileResponse)\n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:66\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n CopyFileResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:74\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:81\n \n \n\n\n \n \n \n \n \n \n \n \n \n sourceId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:77\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { DecodeHtmlEntities, PaginationResponse } from '@shared/controller';\nimport { FileRecord, FileRecordParentType, PreviewStatus, ScanStatus } from '../../entity';\nimport { API_VERSION_PATH } from '../../files-storage.const';\n\nexport class FileRecordResponse {\n\tconstructor(fileRecord: FileRecord) {\n\t\tthis.id = fileRecord.id;\n\t\tthis.name = fileRecord.name;\n\t\tthis.url = `${API_VERSION_PATH}/file/download/${fileRecord.id}/${encodeURIComponent(fileRecord.name)}`;\n\t\tthis.size = fileRecord.size;\n\t\tthis.securityCheckStatus = fileRecord.securityCheck.status;\n\t\tthis.parentId = fileRecord.parentId;\n\t\tthis.creatorId = fileRecord.creatorId;\n\t\tthis.mimeType = fileRecord.mimeType;\n\t\tthis.parentType = fileRecord.parentType;\n\t\tthis.deletedSince = fileRecord.deletedSince;\n\t\tthis.previewStatus = fileRecord.getPreviewStatus();\n\t}\n\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tname: string;\n\n\t@ApiProperty()\n\tparentId: string;\n\n\t@ApiProperty()\n\turl: string;\n\n\t@ApiProperty({ enum: ScanStatus, enumName: 'FileRecordScanStatus' })\n\tsecurityCheckStatus: ScanStatus;\n\n\t@ApiProperty()\n\tsize: number;\n\n\t@ApiProperty()\n\tcreatorId: string;\n\n\t@ApiProperty()\n\tmimeType: string;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\tparentType: FileRecordParentType;\n\n\t@ApiProperty({ enum: PreviewStatus, enumName: 'PreviewStatus' })\n\tpreviewStatus: PreviewStatus;\n\n\t@ApiPropertyOptional()\n\tdeletedSince?: Date;\n}\n\nexport class FileRecordListResponse extends PaginationResponse {\n\tconstructor(data: FileRecordResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [FileRecordResponse] })\n\tdata: FileRecordResponse[];\n}\n\nexport class CopyFileResponse {\n\tconstructor(data: CopyFileResponse) {\n\t\tthis.id = data.id;\n\t\tthis.sourceId = data.sourceId;\n\t\tthis.name = data.name;\n\t}\n\n\t@ApiPropertyOptional()\n\tid?: string;\n\n\t@ApiProperty()\n\tsourceId: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tname: string;\n}\n\nexport class CopyFileListResponse extends PaginationResponse {\n\tconstructor(data: CopyFileResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [CopyFileResponse] })\n\tdata: CopyFileResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CopyFileResponseBuilder.html":{"url":"classes/CopyFileResponseBuilder.html","title":"class - CopyFileResponseBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CopyFileResponseBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/mapper/copy-file-response.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(id: string, sourceId: string, name: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/copy-file-response.builder.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n sourceId\n \n string\n \n\n \n No\n \n\n\n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CopyFileResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CopyFileResponse } from '../controller/dto';\n\nexport class CopyFileResponseBuilder {\n\tpublic static build(id: string, sourceId: string, name: string): CopyFileResponse {\n\t\tconst copyFileResponse = new CopyFileResponse({ id, sourceId, name });\n\n\t\treturn copyFileResponse;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CopyFiles.html":{"url":"interfaces/CopyFiles.html","title":"interface - CopyFiles","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CopyFiles\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/s3-client/interface/index.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n sourcePath\n \n \n \n \n targetPath\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n sourcePath\n \n \n \n \n \n \n \n \n sourcePath: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n targetPath\n \n \n \n \n \n \n \n \n targetPath: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Readable } from 'stream';\n\nexport interface S3Config {\n\tconnectionName: string;\n\tendpoint: string;\n\tregion: string;\n\tbucket: string;\n\taccessKeyId: string;\n\tsecretAccessKey: string;\n}\n\nexport interface GetFile {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n}\n\nexport interface CopyFiles {\n\tsourcePath: string;\n\ttargetPath: string;\n}\n\nexport interface File {\n\tdata: Readable;\n\tmimeType: string;\n}\n\nexport interface ListFiles {\n\tpath: string;\n\tmaxKeys?: number;\n\tnextMarker?: string;\n\tfiles?: string[];\n}\n\nexport interface ObjectKeysRecursive {\n\tpath: string;\n\tmaxKeys: number | undefined;\n\tnextMarker: string | undefined;\n\tfiles: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CopyFilesOfParentParamBuilder.html":{"url":"classes/CopyFilesOfParentParamBuilder.html","title":"class - CopyFilesOfParentParamBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CopyFilesOfParentParamBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/mapper/copy-files-of-parent-param.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(userId: EntityId, source: FileRequestInfo, target: FileRequestInfo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/mapper/copy-files-of-parent-param.builder.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n source\n \n FileRequestInfo\n \n\n \n No\n \n\n\n \n \n target\n \n FileRequestInfo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CopyFilesRequestInfo\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { FileRequestInfo } from '../interfaces';\nimport { CopyFilesRequestInfo } from '../interfaces/copy-file-request-info';\n\nexport class CopyFilesOfParentParamBuilder {\n\tstatic build(userId: EntityId, source: FileRequestInfo, target: FileRequestInfo): CopyFilesRequestInfo {\n\t\tconst fileRequestInfo = {\n\t\t\tuserId,\n\t\t\tsource,\n\t\t\ttarget,\n\t\t};\n\n\t\treturn fileRequestInfo;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CopyFilesOfParentParams.html":{"url":"classes/CopyFilesOfParentParams.html","title":"class - CopyFilesOfParentParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CopyFilesOfParentParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n target\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : FileRecordParams\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@ValidateNested()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:85\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanResult } from '@infra/antivirus';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { Allow, IsBoolean, IsEnum, IsMongoId, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { FileRecordParentType } from '../../entity';\nimport { PreviewOutputMimeTypes, PreviewWidth } from '../../interface';\n\nexport class FileRecordParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\t@IsEnum(FileRecordParentType)\n\tparentType!: FileRecordParentType;\n}\n\nexport class FileUrlParams {\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\turl!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@Allow()\n\theaders?: Record;\n}\n\nexport class FileParams {\n\t@ApiProperty({ type: 'string', format: 'binary' })\n\t@Allow()\n\tfile!: string;\n}\n\nexport class DownloadFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileName!: string;\n}\n\nexport class ScanResultParams implements ScanResult {\n\t@ApiProperty()\n\t@Allow()\n\tvirus_detected?: boolean;\n\n\t@ApiProperty()\n\t@Allow()\n\tvirus_signature?: string;\n\n\t@ApiProperty()\n\t@Allow()\n\terror?: string;\n}\n\nexport class SingleFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n}\n\nexport class RenameFileParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n}\n\nexport class CopyFilesOfParentParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class CopyFileParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileNamePrefix!: string;\n}\n\nexport class CopyFilesOfParentPayload {\n\t@IsMongoId()\n\tuserId!: EntityId;\n\n\t@ValidateNested()\n\tsource!: FileRecordParams;\n\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class PreviewParams {\n\t@ApiPropertyOptional({ enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes' })\n\t@IsOptional()\n\t@IsEnum(PreviewOutputMimeTypes)\n\toutputFormat?: PreviewOutputMimeTypes;\n\n\t@ApiPropertyOptional({ enum: PreviewWidth, enumName: 'PreviewWidth' })\n\t@IsOptional()\n\t@IsEnum(PreviewWidth)\n\twidth?: PreviewWidth;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'If true, the preview will be generated again.',\n\t})\n\tforceUpdate?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CopyFilesOfParentPayload.html":{"url":"classes/CopyFilesOfParentPayload.html","title":"class - CopyFilesOfParentPayload","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CopyFilesOfParentPayload\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n source\n \n \n \n target\n \n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n source\n \n \n \n \n \n \n Type : FileRecordParams\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:103\n \n \n\n\n \n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : FileRecordParams\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:106\n \n \n\n\n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:100\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanResult } from '@infra/antivirus';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { Allow, IsBoolean, IsEnum, IsMongoId, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { FileRecordParentType } from '../../entity';\nimport { PreviewOutputMimeTypes, PreviewWidth } from '../../interface';\n\nexport class FileRecordParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\t@IsEnum(FileRecordParentType)\n\tparentType!: FileRecordParentType;\n}\n\nexport class FileUrlParams {\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\turl!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@Allow()\n\theaders?: Record;\n}\n\nexport class FileParams {\n\t@ApiProperty({ type: 'string', format: 'binary' })\n\t@Allow()\n\tfile!: string;\n}\n\nexport class DownloadFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileName!: string;\n}\n\nexport class ScanResultParams implements ScanResult {\n\t@ApiProperty()\n\t@Allow()\n\tvirus_detected?: boolean;\n\n\t@ApiProperty()\n\t@Allow()\n\tvirus_signature?: string;\n\n\t@ApiProperty()\n\t@Allow()\n\terror?: string;\n}\n\nexport class SingleFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n}\n\nexport class RenameFileParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n}\n\nexport class CopyFilesOfParentParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class CopyFileParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileNamePrefix!: string;\n}\n\nexport class CopyFilesOfParentPayload {\n\t@IsMongoId()\n\tuserId!: EntityId;\n\n\t@ValidateNested()\n\tsource!: FileRecordParams;\n\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class PreviewParams {\n\t@ApiPropertyOptional({ enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes' })\n\t@IsOptional()\n\t@IsEnum(PreviewOutputMimeTypes)\n\toutputFormat?: PreviewOutputMimeTypes;\n\n\t@ApiPropertyOptional({ enum: PreviewWidth, enumName: 'PreviewWidth' })\n\t@IsOptional()\n\t@IsEnum(PreviewWidth)\n\twidth?: PreviewWidth;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'If true, the preview will be generated again.',\n\t})\n\tforceUpdate?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CopyFilesRequestInfo.html":{"url":"interfaces/CopyFilesRequestInfo.html","title":"interface - CopyFilesRequestInfo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CopyFilesRequestInfo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/interfaces/copy-file-request-info.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n source\n \n \n \n \n target\n \n \n \n \n userId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n source\n \n \n \n \n \n \n \n \n source: FileRequestInfo\n\n \n \n\n\n \n \n Type : FileRequestInfo\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n \n \n target: FileRequestInfo\n\n \n \n\n\n \n \n Type : FileRequestInfo\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { FileRequestInfo } from './file-request-info';\n\nexport interface CopyFilesRequestInfo {\n\tuserId: EntityId;\n\tsource: FileRequestInfo;\n\ttarget: FileRequestInfo;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CopyFilesService.html":{"url":"injectables/CopyFilesService.html","title":"injectable - CopyFilesService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CopyFilesService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/service/copy-files.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n copyFilesOfEntity\n \n \n Private\n createFileUrlReplacements\n \n \n Private\n deriveCopyStatus\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(copyHelperService: CopyHelperService, filesStorageClientAdapterService: FilesStorageClientAdapterService)\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/service/copy-files.service.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n copyHelperService\n \n \n CopyHelperService\n \n \n \n No\n \n \n \n \n filesStorageClientAdapterService\n \n \n FilesStorageClientAdapterService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n copyFilesOfEntity\n \n \n \n \n \n \n \n copyFilesOfEntity(originalEntity: T, copyEntity: T, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/service/copy-files.service.ts:23\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n originalEntity\n \n T\n \n\n \n No\n \n\n\n \n \n copyEntity\n \n T\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createFileUrlReplacements\n \n \n \n \n \n \n \n createFileUrlReplacements(fileDtos: CopyFileDto[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/service/copy-files.service.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileDtos\n \n CopyFileDto[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileUrlReplacement[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n deriveCopyStatus\n \n \n \n \n \n \n \n deriveCopyStatus(fileDtos: CopyFileDto[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/service/copy-files.service.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileDtos\n \n CopyFileDto[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CopyStatus\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CopyElementType, CopyHelperService, CopyStatus, CopyStatusEnum } from '@modules/copy-helper';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { CopyFileDto } from '../dto';\nimport { EntityWithEmbeddedFiles } from '../interfaces';\nimport { CopyFilesOfParentParamBuilder, FileParamBuilder } from '../mapper';\nimport { FilesStorageClientAdapterService } from './files-storage-client.service';\n\nconst FILE_COULD_NOT_BE_COPIED_HINT = 'fileCouldNotBeCopied';\n\nexport type FileUrlReplacement = {\n\tregex: RegExp;\n\treplacement: string;\n};\n\n@Injectable()\nexport class CopyFilesService {\n\tconstructor(\n\t\tprivate readonly copyHelperService: CopyHelperService,\n\t\tprivate readonly filesStorageClientAdapterService: FilesStorageClientAdapterService\n\t) {}\n\n\tasync copyFilesOfEntity(\n\t\toriginalEntity: T,\n\t\tcopyEntity: T,\n\t\tuserId: EntityId\n\t): Promise {\n\t\tconst source = FileParamBuilder.build(originalEntity.getSchoolId(), originalEntity);\n\t\tconst target = FileParamBuilder.build(copyEntity.getSchoolId(), copyEntity);\n\t\tconst copyFilesOfParentParams = CopyFilesOfParentParamBuilder.build(userId, source, target);\n\n\t\tconst fileDtos = await this.filesStorageClientAdapterService.copyFilesOfParent(copyFilesOfParentParams);\n\t\tconst fileUrlReplacements = this.createFileUrlReplacements(fileDtos);\n\t\tconst fileCopyStatus = this.deriveCopyStatus(fileDtos);\n\n\t\treturn { fileUrlReplacements, fileCopyStatus };\n\t}\n\n\tprivate createFileUrlReplacements(fileDtos: CopyFileDto[]): FileUrlReplacement[] {\n\t\treturn fileDtos.map((fileDto): FileUrlReplacement => {\n\t\t\tconst { sourceId, id, name } = fileDto;\n\n\t\t\t// use hint as id replacement, if file could not be copied\n\t\t\tconst newId = id ?? FILE_COULD_NOT_BE_COPIED_HINT;\n\n\t\t\tconst fileUrlReplacement: FileUrlReplacement = {\n\t\t\t\tregex: new RegExp(`${sourceId}.+?\"`, 'g'),\n\t\t\t\treplacement: `${newId}/${name}\"`,\n\t\t\t};\n\n\t\t\treturn fileUrlReplacement;\n\t\t});\n\t}\n\n\tprivate deriveCopyStatus(fileDtos: CopyFileDto[]): CopyStatus {\n\t\tconst fileStatuses: CopyStatus[] = fileDtos.map(({ sourceId, id, name }) => {\n\t\t\tconst result = {\n\t\t\t\ttype: CopyElementType.FILE,\n\t\t\t\tstatus: id ? CopyStatusEnum.SUCCESS : CopyStatusEnum.FAIL,\n\t\t\t\ttitle: name ?? `(old fileid: ${sourceId})`,\n\t\t\t};\n\t\t\treturn result;\n\t\t});\n\n\t\tconst fileGroupStatus = {\n\t\t\ttype: CopyElementType.FILE_GROUP,\n\t\t\tstatus: this.copyHelperService.deriveStatusFromElements(fileStatuses),\n\t\t\telements: fileStatuses,\n\t\t};\n\t\treturn fileGroupStatus;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/CopyHelperModule.html":{"url":"modules/CopyHelperModule.html","title":"module - CopyHelperModule","body":"\n \n\n\n\n\n Modules\n CopyHelperModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_CopyHelperModule\n\n\n\ncluster_CopyHelperModule_providers\n\n\n\ncluster_CopyHelperModule_exports\n\n\n\n\nCopyHelperService \n\nCopyHelperService \n\n\n\nCopyHelperModule\n\nCopyHelperModule\n\nCopyHelperService -->\n\nCopyHelperModule->CopyHelperService \n\n\n\n\n\nCopyHelperService\n\nCopyHelperService\n\nCopyHelperModule -->\n\nCopyHelperService->CopyHelperModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/copy-helper/copy-helper.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n CopyHelperService\n \n \n \n \n Exports\n \n \n CopyHelperService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { CopyHelperService } from './service/copy-helper.service';\n\n@Module({\n\tproviders: [CopyHelperService],\n\texports: [CopyHelperService],\n})\nexport class CopyHelperModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CopyHelperService.html":{"url":"injectables/CopyHelperService.html","title":"injectable - CopyHelperService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CopyHelperService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/copy-helper/service/copy-helper.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n buildCopyEntityDict\n \n \n deriveCopyName\n \n \n deriveStatusFromElements\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n buildCopyEntityDict\n \n \n \n \n \n \nbuildCopyEntityDict(status: CopyStatus)\n \n \n\n\n \n \n Defined in apps/server/src/modules/copy-helper/service/copy-helper.service.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n status\n \n CopyStatus\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CopyDictionary\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n deriveCopyName\n \n \n \n \n \n \nderiveCopyName(name: string, existingNames: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/copy-helper/service/copy-helper.service.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n existingNames\n \n string[]\n \n\n \n No\n \n\n \n []\n \n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n deriveStatusFromElements\n \n \n \n \n \n \nderiveStatusFromElements(elements: CopyStatus[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/copy-helper/service/copy-helper.service.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n elements\n \n CopyStatus[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CopyStatusEnum\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { AuthorizableObject } from '@shared/domain/domain-object';\nimport { EntityId } from '@shared/domain/types';\nimport { CopyDictionary, CopyStatus, CopyStatusEnum } from '../types/copy.types';\n\nconst isAtLeastPartialSuccessfull = (status) => status === CopyStatusEnum.PARTIAL || status === CopyStatusEnum.SUCCESS;\n\n@Injectable()\nexport class CopyHelperService {\n\tderiveStatusFromElements(elements: CopyStatus[]): CopyStatusEnum {\n\t\tconst elementsStatuses = elements.map((el) => el.status);\n\n\t\tconst filtered = elementsStatuses.filter((status) => status !== CopyStatusEnum.NOT_DOING);\n\n\t\tif (filtered.length > 0) {\n\t\t\tif (filtered.every((status) => !isAtLeastPartialSuccessfull(status))) {\n\t\t\t\treturn CopyStatusEnum.FAIL;\n\t\t\t}\n\n\t\t\tif (filtered.some((status) => status !== CopyStatusEnum.SUCCESS)) {\n\t\t\t\treturn CopyStatusEnum.PARTIAL;\n\t\t\t}\n\t\t}\n\n\t\treturn CopyStatusEnum.SUCCESS;\n\t}\n\n\tderiveCopyName(name: string, existingNames: string[] = []): string {\n\t\tif (!existingNames.includes(name)) {\n\t\t\treturn name;\n\t\t}\n\t\tlet num = 1;\n\t\tconst matches = name.match(/^(?.*) \\((?\\d+)\\)$/);\n\t\tif (matches && matches.groups) {\n\t\t\t({ name } = matches.groups);\n\t\t\tnum = Number(matches.groups.number) + 1;\n\t\t}\n\t\tconst composedName = `${name} (${num})`;\n\t\tif (existingNames.includes(composedName)) {\n\t\t\treturn this.deriveCopyName(composedName, existingNames);\n\t\t}\n\t\treturn composedName;\n\t}\n\n\tbuildCopyEntityDict(status: CopyStatus): CopyDictionary {\n\t\tconst map = new Map();\n\t\tstatus.elements?.forEach((elementStatus: CopyStatus) => {\n\t\t\tthis.buildCopyEntityDict(elementStatus).forEach((el, key) => map.set(key, el));\n\t\t});\n\t\tif (status.originalEntity && status.copyEntity) {\n\t\t\tmap.set(status.originalEntity.id, status.copyEntity);\n\t\t}\n\t\treturn map;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CopyMapper.html":{"url":"classes/CopyMapper.html","title":"class - CopyMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CopyMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/copy-helper/mapper/copy.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapLessonCopyToDomain\n \n \n Static\n mapTaskCopyToDomain\n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapLessonCopyToDomain\n \n \n \n \n \n \n \n mapLessonCopyToDomain(params: LessonCopyApiParams, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/copy-helper/mapper/copy.mapper.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n LessonCopyApiParams\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LessonCopyParentParams\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapTaskCopyToDomain\n \n \n \n \n \n \n \n mapTaskCopyToDomain(params: TaskCopyApiParams, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/copy-helper/mapper/copy.mapper.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n TaskCopyApiParams\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskCopyParentParams\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(copyStatus: CopyStatus)\n \n \n\n\n \n \n Defined in apps/server/src/modules/copy-helper/mapper/copy.mapper.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n copyStatus\n \n CopyStatus\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CopyApiResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { LessonCopyApiParams } from '@modules/learnroom/controller/dto/lesson/lesson-copy.params';\nimport { LessonCopyParentParams } from '@modules/lesson/types';\nimport { TaskCopyApiParams } from '@modules/task/controller/dto/task-copy.params';\nimport { TaskCopyParentParams } from '@modules/task/types';\nimport { LessonEntity, Task } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { CopyApiResponse } from '../dto/copy.response';\nimport { CopyStatus, CopyStatusEnum } from '../types/copy.types';\n\nexport class CopyMapper {\n\tstatic mapToResponse(copyStatus: CopyStatus): CopyApiResponse {\n\t\tconst dto = new CopyApiResponse({\n\t\t\ttitle: copyStatus.title,\n\t\t\ttype: copyStatus.type,\n\t\t\tstatus: copyStatus.status,\n\t\t});\n\n\t\tif (copyStatus.copyEntity) {\n\t\t\tconst copyEntity = copyStatus.copyEntity as LessonEntity | Task;\n\t\t\tdto.id = copyEntity.id;\n\t\t\tdto.destinationCourseId = copyEntity.course?.id;\n\t\t}\n\t\tif (copyStatus.status !== CopyStatusEnum.SUCCESS && copyStatus.elements) {\n\t\t\tdto.elements = copyStatus.elements\n\t\t\t\t.map((element) => CopyMapper.mapToResponse(element))\n\t\t\t\t.filter((element) => element.status !== CopyStatusEnum.SUCCESS);\n\t\t}\n\t\treturn dto;\n\t}\n\n\tstatic mapLessonCopyToDomain(params: LessonCopyApiParams, userId: EntityId): LessonCopyParentParams {\n\t\tconst dto = {\n\t\t\tcourseId: params.courseId,\n\t\t\tuserId,\n\t\t};\n\n\t\treturn dto;\n\t}\n\n\tstatic mapTaskCopyToDomain(params: TaskCopyApiParams, userId: EntityId): TaskCopyParentParams {\n\t\tconst dto = {\n\t\t\tcourseId: params.courseId,\n\t\t\tlessonId: params.lessonId,\n\t\t\tuserId,\n\t\t};\n\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/CoreModule.html":{"url":"modules/CoreModule.html","title":"module - CoreModule","body":"\n \n\n\n\n\n Modules\n CoreModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_CoreModule\n\n\n\ncluster_CoreModule_exports\n\n\n\ncluster_CoreModule_imports\n\n\n\n\nErrorModule\n\nErrorModule\n\n\n\nCoreModule\n\nCoreModule\n\nCoreModule -->\n\nErrorModule->CoreModule\n\n\n\n\n\nInterceptorModule\n\nInterceptorModule\n\nCoreModule -->\n\nInterceptorModule->CoreModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nCoreModule -->\n\nLoggerModule->CoreModule\n\n\n\n\n\nValidationModule\n\nValidationModule\n\nCoreModule -->\n\nValidationModule->CoreModule\n\n\n\n\n\nLoggerModule \n\nLoggerModule \n\nLoggerModule -->\n\nCoreModule->LoggerModule \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/core/core.module.ts\n \n\n\n\n \n Description\n \n \n The core module configures the cross-functional application behaviour by customizing error handling providing and logging.\nOverrides/Configures global APP_INTERCEPTOR, APP_PIPE, APP_GUARD, APP_FILTER\n\n \n\n\n \n \n \n Imports\n \n \n ErrorModule\n \n \n InterceptorModule\n \n \n LoggerModule\n \n \n ValidationModule\n \n \n \n \n Exports\n \n \n LoggerModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { ErrorModule } from './error';\nimport { InterceptorModule } from './interceptor';\nimport { LoggerModule } from './logger';\nimport { ValidationModule } from './validation';\n\n/**\n * The core module configures the cross-functional application behaviour by customizing error handling providing and logging.\n * Overrides/Configures global APP_INTERCEPTOR, APP_PIPE, APP_GUARD, APP_FILTER\n */\n@Module({\n\timports: [LoggerModule, ErrorModule, ValidationModule, InterceptorModule],\n\texports: [LoggerModule],\n})\nexport class CoreModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CoreModuleConfig.html":{"url":"interfaces/CoreModuleConfig.html","title":"interface - CoreModuleConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CoreModuleConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/interfaces/core-module-config.ts\n \n\n\n\n \n Extends\n \n \n InterceptorConfig\n LoggerConfig\n \n\n\n\n\n \n\n\n \n import { InterceptorConfig } from '@shared/common';\nimport { LoggerConfig } from '../logger';\n\nexport interface CoreModuleConfig extends InterceptorConfig, LoggerConfig {}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/County.html":{"url":"classes/County.html","title":"class - County","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n County\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/federal-state.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n antaresKey\n \n \n countyId\n \n \n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(county: County)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/federal-state.entity.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n county\n \n \n County\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n antaresKey\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/federal-state.entity.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n countyId\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/federal-state.entity.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/federal-state.entity.ts:21\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Embedded, Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface FederalStateProperties {\n\tname: string;\n\tabbreviation: string;\n\tlogoUrl: string;\n\tcounties?: County[];\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\n@Embeddable()\nexport class County {\n\tconstructor(county: County) {\n\t\tthis.name = county.name;\n\t\tthis.countyId = county.countyId;\n\t\tthis.antaresKey = county.antaresKey;\n\t}\n\n\tname: string;\n\n\tcountyId: number;\n\n\tantaresKey: string;\n}\n\n@Entity({ tableName: 'federalstates' })\nexport class FederalStateEntity extends BaseEntityWithTimestamps {\n\t@Property({ nullable: false })\n\tname: string;\n\n\t@Property({ nullable: false })\n\tabbreviation: string;\n\n\t@Property()\n\tlogoUrl: string;\n\n\t@Embedded(() => County, { array: true, nullable: true })\n\tcounties?: County[];\n\n\tconstructor(props: FederalStateProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.abbreviation = props.abbreviation;\n\t\tthis.logoUrl = props.logoUrl;\n\t\tthis.updatedAt = props.updatedAt;\n\t\tthis.createdAt = props.createdAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/Course.html":{"url":"entities/Course.html","title":"entity - Course","body":"\n \n\n\n\n\n\n\n\n Entities\n Course\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/course.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n classes\n \n \n \n color\n \n \n \n Optional\n copyingSince\n \n \n \n courseGroups\n \n \n \n description\n \n \n \n Optional\n features\n \n \n \n groups\n \n \n \n name\n \n \n \n \n school\n \n \n \n \n Optional\n shareToken\n \n \n \n Optional\n startDate\n \n \n \n \n students\n \n \n \n \n substitutionTeachers\n \n \n \n \n teachers\n \n \n \n \n Optional\n untilDate\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n classes\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @ManyToMany(undefined, undefined, {fieldName: 'classIds'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:100\n \n \n\n\n \n \n \n \n \n \n \n \n \n color\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : DEFAULT.color\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:80\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n copyingSince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:90\n \n \n\n\n \n \n \n \n \n \n \n \n \n courseGroups\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @OneToMany('CourseGroup', 'course', {orphanRemoval: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:76\n \n \n\n\n \n \n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : DEFAULT.description\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:57\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n features\n \n \n \n \n \n \n Type : CourseFeatures[]\n\n \n \n \n \n Decorators : \n \n \n @Enum({nullable: true, array: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:97\n \n \n\n\n \n \n \n \n \n \n \n \n \n groups\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @ManyToMany(undefined, undefined, {fieldName: 'groupIds'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:103\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : DEFAULT.name\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n Type : SchoolEntity\n\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToOne(undefined, {fieldName: 'schoolId'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:61\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n shareToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})@Unique({options: undefined})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:94\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n startDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:83\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n students\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToMany('User', undefined, {fieldName: 'userIds'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:65\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n substitutionTeachers\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToMany('User', undefined, {fieldName: 'substitutionIds'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:73\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n teachers\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToMany('User', undefined, {fieldName: 'teacherIds'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:69\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n untilDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Index()@Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:87\n \n \n\n\n \n \n\n \n\n\n \n import { Collection, Entity, Enum, Index, ManyToMany, ManyToOne, OneToMany, Property, Unique } from '@mikro-orm/core';\nimport { ClassEntity } from '@modules/class/entity/class.entity';\nimport { GroupEntity } from '@modules/group/entity/group.entity';\nimport { InternalServerErrorException } from '@nestjs/common/exceptions/internal-server-error.exception';\nimport { EntityWithSchool, Learnroom } from '@shared/domain/interface';\nimport { EntityId, LearnroomMetadata, LearnroomTypes } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport type { LessonParent } from './lesson.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { TaskParent } from './task.entity';\nimport type { User } from './user.entity';\n\nexport interface CourseProperties {\n\tname?: string;\n\tdescription?: string;\n\tschool: SchoolEntity;\n\tstudents?: User[];\n\tteachers?: User[];\n\tsubstitutionTeachers?: User[];\n\t// TODO: color format\n\tcolor?: string;\n\tstartDate?: Date;\n\tuntilDate?: Date;\n\tcopyingSince?: Date;\n\tfeatures?: CourseFeatures[];\n\tclasses?: ClassEntity[];\n\tgroups?: GroupEntity[];\n}\n\n// that is really really shit default handling :D constructor, getter, js default, em default...what the hell\n// i hope it can cleanup with adding schema instant of I...Properties.\nconst DEFAULT = {\n\tcolor: '#ACACAC',\n\tname: 'Kurse',\n\tdescription: '',\n};\n\nconst enum CourseFeatures {\n\tVIDEOCONFERENCE = 'videoconference',\n}\n\nexport class UsersList {\n\tid!: string;\n\n\tfirstName!: string;\n\n\tlastName!: string;\n}\n\n@Entity({ tableName: 'courses' })\nexport class Course extends BaseEntityWithTimestamps implements Learnroom, EntityWithSchool, TaskParent, LessonParent {\n\t@Property()\n\tname: string = DEFAULT.name;\n\n\t@Property()\n\tdescription: string = DEFAULT.description;\n\n\t@Index()\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool: SchoolEntity;\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'userIds' })\n\tstudents = new Collection(this);\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'teacherIds' })\n\tteachers = new Collection(this);\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'substitutionIds' })\n\tsubstitutionTeachers = new Collection(this);\n\n\t@OneToMany('CourseGroup', 'course', { orphanRemoval: true })\n\tcourseGroups = new Collection(this);\n\n\t// TODO: string color format\n\t@Property()\n\tcolor: string = DEFAULT.color;\n\n\t@Property({ nullable: true })\n\tstartDate?: Date;\n\n\t@Index()\n\t@Property({ nullable: true })\n\tuntilDate?: Date;\n\n\t@Property({ nullable: true })\n\tcopyingSince?: Date;\n\n\t@Property({ nullable: true })\n\t@Unique({ options: { sparse: true } })\n\tshareToken?: string;\n\n\t@Enum({ nullable: true, array: true })\n\tfeatures?: CourseFeatures[];\n\n\t@ManyToMany(() => ClassEntity, undefined, { fieldName: 'classIds' })\n\tclasses = new Collection(this);\n\n\t@ManyToMany(() => GroupEntity, undefined, { fieldName: 'groupIds' })\n\tgroups = new Collection(this);\n\n\tconstructor(props: CourseProperties) {\n\t\tsuper();\n\t\tif (props.name) this.name = props.name;\n\t\tif (props.description) this.description = props.description;\n\t\tthis.school = props.school;\n\t\tthis.students.set(props.students || []);\n\t\tthis.teachers.set(props.teachers || []);\n\t\tthis.substitutionTeachers.set(props.substitutionTeachers || []);\n\t\tif (props.color) this.color = props.color;\n\t\tif (props.untilDate) this.untilDate = props.untilDate;\n\t\tif (props.startDate) this.startDate = props.startDate;\n\t\tif (props.copyingSince) this.copyingSince = props.copyingSince;\n\t\tif (props.features) this.features = props.features;\n\t\tthis.classes.set(props.classes || []);\n\t\tthis.groups.set(props.groups || []);\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst studentIds = Course.extractIds(this.students);\n\t\treturn studentIds;\n\t}\n\n\tpublic getTeacherIds(): EntityId[] {\n\t\tconst teacherIds = Course.extractIds(this.teachers);\n\t\treturn teacherIds;\n\t}\n\n\tpublic getSubstitutionTeacherIds(): EntityId[] {\n\t\tconst substitutionTeacherIds = Course.extractIds(this.substitutionTeachers);\n\t\treturn substitutionTeacherIds;\n\t}\n\n\tprivate static extractIds(users: Collection): EntityId[] {\n\t\tif (!users) {\n\t\t\tthrow new InternalServerErrorException(\n\t\t\t\t`Students, teachers or stubstitution is undefined. The course needs to be populated`\n\t\t\t);\n\t\t}\n\n\t\tconst objectIds = users.getIdentifiers('_id');\n\t\tconst ids = objectIds.map((id): string => id.toString());\n\n\t\treturn ids;\n\t}\n\n\tpublic getStudentsList(): UsersList[] {\n\t\tconst users = this.students.getItems();\n\t\tif (users.length) {\n\t\t\tconst usersList = Course.extractUserList(users);\n\t\t\treturn usersList;\n\t\t}\n\t\treturn [];\n\t}\n\n\tpublic getTeachersList(): UsersList[] {\n\t\tconst users = this.teachers.getItems();\n\t\tif (users.length) {\n\t\t\tconst usersList = Course.extractUserList(users);\n\t\t\treturn usersList;\n\t\t}\n\t\treturn [];\n\t}\n\n\tpublic getSubstitutionTeachersList(): UsersList[] {\n\t\tconst users = this.substitutionTeachers.getItems();\n\t\tif (users.length) {\n\t\t\tconst usersList = Course.extractUserList(users);\n\t\t\treturn usersList;\n\t\t}\n\t\treturn [];\n\t}\n\n\tprivate static extractUserList(users: User[]): UsersList[] {\n\t\tconst usersList: UsersList[] = users.map((user) => {\n\t\t\treturn {\n\t\t\t\tid: user.id,\n\t\t\t\tfirstName: user.firstName,\n\t\t\t\tlastName: user.lastName,\n\t\t\t};\n\t\t});\n\t\treturn usersList;\n\t}\n\n\tpublic isUserSubstitutionTeacher(user: User): boolean {\n\t\tconst isSubstitutionTeacher = this.substitutionTeachers.contains(user);\n\n\t\treturn isSubstitutionTeacher;\n\t}\n\n\tpublic getCourseGroupItems(): CourseGroup[] {\n\t\tif (!this.courseGroups.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Courses trying to access their course groups that are not loaded.');\n\t\t}\n\t\tconst courseGroups = this.courseGroups.getItems();\n\n\t\treturn courseGroups;\n\t}\n\n\tgetShortTitle(): string {\n\t\tif (this.name.length === 1) {\n\t\t\treturn this.name;\n\t\t}\n\t\tconst [firstChar, secondChar] = [...this.name];\n\t\tconst pattern = /\\p{Extended_Pictographic}/u;\n\t\tif (pattern.test(firstChar)) {\n\t\t\treturn firstChar;\n\t\t}\n\t\treturn firstChar + secondChar;\n\t}\n\n\tpublic getMetadata(): LearnroomMetadata {\n\t\treturn {\n\t\t\tid: this.id,\n\t\t\ttype: LearnroomTypes.Course,\n\t\t\ttitle: this.name,\n\t\t\tshortTitle: this.getShortTitle(),\n\t\t\tdisplayColor: this.color,\n\t\t\tuntilDate: this.untilDate,\n\t\t\tstartDate: this.startDate,\n\t\t\tcopyingSince: this.copyingSince,\n\t\t};\n\t}\n\n\tpublic isFinished(): boolean {\n\t\tif (!this.untilDate) {\n\t\t\treturn false;\n\t\t}\n\t\tconst isFinished = this.untilDate u.id === userId);\n\t}\n\n\tprivate removeTeacher(userId: EntityId): void {\n\t\tthis.teachers.remove((u) => u.id === userId);\n\t}\n\n\tprivate removeSubstitutionTeacher(userId: EntityId): void {\n\t\tthis.substitutionTeachers.remove((u) => u.id === userId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/CourseController.html":{"url":"controllers/CourseController.html","title":"controller - CourseController","body":"\n \n\n\n\n\n\n\n Controllers\n CourseController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/course.controller.ts\n \n\n \n Prefix\n \n \n courses\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n exportCourse\n \n \n \n Async\n findForUser\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n exportCourse\n \n \n \n \n \n \n \n exportCourse(currentUser: ICurrentUser, urlParams: CourseUrlParams, queryParams: CourseQueryParams, response: Response)\n \n \n\n \n \n Decorators : \n \n @Get(':courseId/export')\n \n \n\n \n \n Defined in apps/server/src/modules/learnroom/controller/course.controller.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n urlParams\n \n CourseUrlParams\n \n\n \n No\n \n\n\n \n \n queryParams\n \n CourseQueryParams\n \n\n \n No\n \n\n\n \n \n response\n \n Response\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findForUser\n \n \n \n \n \n \n \n findForUser(currentUser: ICurrentUser, pagination: PaginationParams)\n \n \n\n \n \n Decorators : \n \n @Get()\n \n \n\n \n \n Defined in apps/server/src/modules/learnroom/controller/course.controller.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n pagination\n \n PaginationParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Controller, Get, NotFoundException, Param, Query, Res, StreamableFile } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { ApiTags } from '@nestjs/swagger';\nimport { PaginationParams } from '@shared/controller/';\nimport { Response } from 'express';\nimport { CourseMapper } from '../mapper/course.mapper';\nimport { CourseExportUc } from '../uc/course-export.uc';\nimport { CourseUc } from '../uc/course.uc';\nimport { CourseMetadataListResponse, CourseQueryParams, CourseUrlParams } from './dto';\n\n@ApiTags('Courses')\n@Authenticate('jwt')\n@Controller('courses')\nexport class CourseController {\n\tconstructor(\n\t\tprivate readonly courseUc: CourseUc,\n\t\tprivate readonly courseExportUc: CourseExportUc,\n\t\tprivate readonly configService: ConfigService\n\t) {}\n\n\t@Get()\n\tasync findForUser(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() pagination: PaginationParams\n\t): Promise {\n\t\tconst [courses, total] = await this.courseUc.findAllByUser(currentUser.userId, pagination);\n\t\tconst courseResponses = courses.map((course) => CourseMapper.mapToMetadataResponse(course));\n\t\tconst { skip, limit } = pagination;\n\n\t\tconst result = new CourseMetadataListResponse(courseResponses, total, skip, limit);\n\t\treturn result;\n\t}\n\n\t@Get(':courseId/export')\n\tasync exportCourse(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() urlParams: CourseUrlParams,\n\t\t@Query() queryParams: CourseQueryParams,\n\t\t@Res({ passthrough: true }) response: Response\n\t): Promise {\n\t\tif (!this.configService.get('FEATURE_IMSCC_COURSE_EXPORT_ENABLED')) throw new NotFoundException();\n\t\tconst result = await this.courseExportUc.exportCourse(urlParams.courseId, currentUser.userId, queryParams.version);\n\t\tresponse.set({\n\t\t\t'Content-Type': 'application/zip',\n\t\t\t'Content-Disposition': 'attachment;',\n\t\t});\n\t\treturn new StreamableFile(result);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CourseCopyService.html":{"url":"injectables/CourseCopyService.html","title":"injectable - CourseCopyService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CourseCopyService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/service/course-copy.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n copyCourse\n \n \n Private\n Async\n copyCourseEntity\n \n \n Private\n deriveCourseStatus\n \n \n Private\n Async\n finishCourseCopying\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(courseRepo: CourseRepo, boardRepo: BoardRepo, roomsService: RoomsService, boardCopyService: BoardCopyService, copyHelperService: CopyHelperService, userRepo: UserRepo)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/service/course-copy.service.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseRepo\n \n \n CourseRepo\n \n \n \n No\n \n \n \n \n boardRepo\n \n \n BoardRepo\n \n \n \n No\n \n \n \n \n roomsService\n \n \n RoomsService\n \n \n \n No\n \n \n \n \n boardCopyService\n \n \n BoardCopyService\n \n \n \n No\n \n \n \n \n copyHelperService\n \n \n CopyHelperService\n \n \n \n No\n \n \n \n \n userRepo\n \n \n UserRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n copyCourse\n \n \n \n \n \n \n \n copyCourse(undefined: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/course-copy.service.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n literal type\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n copyCourseEntity\n \n \n \n \n \n \n \n copyCourseEntity(params: CourseCopyParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/course-copy.service.ts:57\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n CourseCopyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n deriveCourseStatus\n \n \n \n \n \n \n \n deriveCourseStatus(originalCourse: Course, courseCopy: Course, boardStatus: CopyStatus)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/course-copy.service.ts:79\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n originalCourse\n \n Course\n \n\n \n No\n \n\n\n \n \n courseCopy\n \n Course\n \n\n \n No\n \n\n\n \n \n boardStatus\n \n CopyStatus\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CopyStatus\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n finishCourseCopying\n \n \n \n \n \n \n \n finishCourseCopying(courseCopy: Course)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/course-copy.service.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseCopy\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CopyElementType, CopyHelperService, CopyStatus, CopyStatusEnum } from '@modules/copy-helper';\nimport { Injectable } from '@nestjs/common';\nimport { Course, User } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { BoardRepo, CourseRepo, UserRepo } from '@shared/repo';\nimport { BoardCopyService } from './board-copy.service';\nimport { RoomsService } from './rooms.service';\n\ntype CourseCopyParams = {\n\toriginalCourse: Course;\n\tuser: User;\n\tcopyName?: string;\n};\n\n@Injectable()\nexport class CourseCopyService {\n\tconstructor(\n\t\tprivate readonly courseRepo: CourseRepo,\n\t\tprivate readonly boardRepo: BoardRepo,\n\t\tprivate readonly roomsService: RoomsService,\n\t\tprivate readonly boardCopyService: BoardCopyService,\n\t\tprivate readonly copyHelperService: CopyHelperService,\n\t\tprivate readonly userRepo: UserRepo\n\t) {}\n\n\tasync copyCourse({\n\t\tuserId,\n\t\tcourseId,\n\t\tnewName,\n\t}: {\n\t\tuserId: EntityId;\n\t\tcourseId: EntityId;\n\t\tnewName?: string | undefined;\n\t}): Promise {\n\t\tconst user: User = await this.userRepo.findById(userId, true);\n\n\t\t// fetch original course and board\n\t\tconst originalCourse = await this.courseRepo.findById(courseId);\n\t\tlet originalBoard = await this.boardRepo.findByCourseId(courseId);\n\t\toriginalBoard = await this.roomsService.updateBoard(originalBoard, courseId, userId);\n\n\t\t// handle potential name conflict\n\t\tconst [existingCourses] = await this.courseRepo.findAllByUserId(userId);\n\t\tconst existingNames = existingCourses.map((course: Course) => course.name);\n\t\tconst copyName = this.copyHelperService.deriveCopyName(newName || originalCourse.name, existingNames);\n\n\t\t// copy course and board\n\t\tconst courseCopy = await this.copyCourseEntity({ user, originalCourse, copyName });\n\t\tconst boardStatus = await this.boardCopyService.copyBoard({ originalBoard, destinationCourse: courseCopy, user });\n\t\tconst finishedCourseCopy = await this.finishCourseCopying(courseCopy);\n\n\t\tconst courseStatus = this.deriveCourseStatus(originalCourse, finishedCourseCopy, boardStatus);\n\n\t\treturn courseStatus;\n\t}\n\n\tprivate async copyCourseEntity(params: CourseCopyParams): Promise {\n\t\tconst { originalCourse, user, copyName } = params;\n\t\tconst courseCopy = new Course({\n\t\t\tschool: user.school,\n\t\t\tname: copyName,\n\t\t\tcolor: originalCourse.color,\n\t\t\tteachers: [user],\n\t\t\tstartDate: user.school.schoolYear?.startDate,\n\t\t\tuntilDate: user.school.schoolYear?.endDate,\n\t\t\tcopyingSince: new Date(),\n\t\t});\n\n\t\tawait this.courseRepo.createCourse(courseCopy);\n\t\treturn courseCopy;\n\t}\n\n\tprivate async finishCourseCopying(courseCopy: Course) {\n\t\tdelete courseCopy.copyingSince;\n\t\tawait this.courseRepo.save(courseCopy);\n\t\treturn courseCopy;\n\t}\n\n\tprivate deriveCourseStatus(originalCourse: Course, courseCopy: Course, boardStatus: CopyStatus): CopyStatus {\n\t\tconst elements = [\n\t\t\t{\n\t\t\t\ttype: CopyElementType.METADATA,\n\t\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: CopyElementType.USER_GROUP,\n\t\t\t\tstatus: CopyStatusEnum.NOT_DOING,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: CopyElementType.LTITOOL_GROUP,\n\t\t\t\tstatus: CopyStatusEnum.NOT_DOING,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: CopyElementType.TIME_GROUP,\n\t\t\t\tstatus: CopyStatusEnum.NOT_DOING,\n\t\t\t},\n\t\t\tboardStatus,\n\t\t];\n\n\t\tconst courseGroupsExist = originalCourse.getCourseGroupItems().length > 0;\n\t\tif (courseGroupsExist) {\n\t\t\telements.push({ type: CopyElementType.COURSEGROUP_GROUP, status: CopyStatusEnum.NOT_IMPLEMENTED });\n\t\t}\n\n\t\tconst status = {\n\t\t\ttitle: courseCopy.name,\n\t\t\ttype: CopyElementType.COURSE,\n\t\t\tstatus: this.copyHelperService.deriveStatusFromElements(elements),\n\t\t\tcopyEntity: courseCopy,\n\t\t\toriginalEntity: originalCourse,\n\t\t\telements,\n\t\t};\n\t\treturn status;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CourseCopyUC.html":{"url":"injectables/CourseCopyUC.html","title":"injectable - CourseCopyUC","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CourseCopyUC\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/uc/course-copy.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkFeatureEnabled\n \n \n Async\n copyCourse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorization: AuthorizationReferenceService, courseCopyService: CourseCopyService)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/course-copy.uc.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorization\n \n \n AuthorizationReferenceService\n \n \n \n No\n \n \n \n \n courseCopyService\n \n \n CourseCopyService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkFeatureEnabled\n \n \n \n \n \n \n \n checkFeatureEnabled()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/course-copy.uc.ts:28\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n copyCourse\n \n \n \n \n \n \n \n copyCourse(userId: EntityId, courseId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/course-copy.uc.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\nimport { AuthorizationContextBuilder } from '@modules/authorization';\nimport { AuthorizableReferenceType, AuthorizationReferenceService } from '@modules/authorization/domain';\nimport { CopyStatus } from '@modules/copy-helper';\nimport { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { CourseCopyService } from '../service';\n\n@Injectable()\nexport class CourseCopyUC {\n\tconstructor(\n\t\tprivate readonly authorization: AuthorizationReferenceService,\n\t\tprivate readonly courseCopyService: CourseCopyService\n\t) {}\n\n\tasync copyCourse(userId: EntityId, courseId: EntityId): Promise {\n\t\tthis.checkFeatureEnabled();\n\n\t\tconst context = AuthorizationContextBuilder.write([Permission.COURSE_CREATE]);\n\t\tawait this.authorization.checkPermissionByReferences(userId, AuthorizableReferenceType.Course, courseId, context);\n\n\t\tconst result = await this.courseCopyService.copyCourse({ userId, courseId });\n\n\t\treturn result;\n\t}\n\n\tprivate checkFeatureEnabled() {\n\t\t// @hpi-schul-cloud/commons is deprecated way to get envirements\n\t\tconst enabled = Configuration.get('FEATURE_COPY_SERVICE_ENABLED') as boolean;\n\t\tif (!enabled) {\n\t\t\tthrow new InternalServerErrorException('Copy Feature not enabled');\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CourseExportUc.html":{"url":"injectables/CourseExportUc.html","title":"injectable - CourseExportUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CourseExportUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/uc/course-export.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n exportCourse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(courseExportService: CommonCartridgeExportService, authorizationService: AuthorizationReferenceService)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/course-export.uc.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseExportService\n \n \n CommonCartridgeExportService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationReferenceService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n exportCourse\n \n \n \n \n \n \n \n exportCourse(courseId: EntityId, userId: EntityId, version: CommonCartridgeVersion)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/course-export.uc.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n version\n \n CommonCartridgeVersion\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContextBuilder } from '@modules/authorization';\nimport { AuthorizableReferenceType, AuthorizationReferenceService } from '@modules/authorization/domain';\nimport { Injectable } from '@nestjs/common';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { CommonCartridgeVersion } from '../common-cartridge';\nimport { CommonCartridgeExportService } from '../service/common-cartridge-export.service';\n\n@Injectable()\nexport class CourseExportUc {\n\tconstructor(\n\t\tprivate readonly courseExportService: CommonCartridgeExportService,\n\t\tprivate readonly authorizationService: AuthorizationReferenceService\n\t) {}\n\n\tasync exportCourse(courseId: EntityId, userId: EntityId, version: CommonCartridgeVersion): Promise {\n\t\tconst context = AuthorizationContextBuilder.read([Permission.COURSE_EDIT]);\n\t\tawait this.authorizationService.checkPermissionByReferences(\n\t\t\tuserId,\n\t\t\tAuthorizableReferenceType.Course,\n\t\t\tcourseId,\n\t\t\tcontext\n\t\t);\n\n\t\treturn this.courseExportService.exportCourse(courseId, userId, version);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CourseFactory.html":{"url":"classes/CourseFactory.html","title":"class - CourseFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CourseFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/course.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n isFinished\n \n \n isOpen\n \n \n studentsWithId\n \n \n teachersWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n isFinished\n \n \n \n \n \n \nisFinished()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/course.factory.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n isOpen\n \n \n \n \n \n \nisOpen()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/course.factory.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n studentsWithId\n \n \n \n \n \n \nstudentsWithId(numberOfStudents: number)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/course.factory.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n numberOfStudents\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n teachersWithId\n \n \n \n \n \n \nteachersWithId(numberOfTeachers: number)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/course.factory.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n numberOfTeachers\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DeepPartial } from 'fishery';\n\nimport { Course, CourseProperties } from '@shared/domain/entity';\n\nimport { BaseFactory } from './base.factory';\nimport { schoolFactory } from './school.factory';\nimport { userFactory } from './user.factory';\n\nconst oneDay = 24 * 60 * 60 * 1000;\n\nclass CourseFactory extends BaseFactory {\n\tisFinished(): this {\n\t\tconst untilDate = new Date(Date.now() - oneDay);\n\t\tconst params: DeepPartial = { untilDate };\n\n\t\treturn this.params(params);\n\t}\n\n\tisOpen(): this {\n\t\tconst untilDate = new Date(Date.now() + oneDay);\n\t\tconst params: DeepPartial = { untilDate };\n\n\t\treturn this.params(params);\n\t}\n\n\tstudentsWithId(numberOfStudents: number): this {\n\t\tconst students = userFactory.buildListWithId(numberOfStudents);\n\t\tconst params: DeepPartial = { students };\n\n\t\treturn this.params(params);\n\t}\n\n\tteachersWithId(numberOfTeachers: number): this {\n\t\tconst teachers = userFactory.buildListWithId(numberOfTeachers);\n\t\tconst params: DeepPartial = { teachers };\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const courseFactory = CourseFactory.define(Course, ({ sequence }) => {\n\treturn {\n\t\tname: `course #${sequence}`,\n\t\tdescription: `course #${sequence} description`,\n\t\tcolor: '#FFFFFF',\n\t\tschool: schoolFactory.build(),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/CourseGroup.html":{"url":"entities/CourseGroup.html","title":"entity - CourseGroup","body":"\n \n\n\n\n\n\n\n\n Entities\n CourseGroup\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/coursegroup.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n course\n \n \n \n name\n \n \n \n \n school\n \n \n \n \n students\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n course\n \n \n \n \n \n \n Type : Course\n\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToOne('Course', {fieldName: 'courseId'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/coursegroup.entity.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/coursegroup.entity.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n Type : SchoolEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined, {fieldName: 'schoolId'})@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/coursegroup.entity.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n students\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @ManyToMany('User', undefined, {fieldName: 'userIds'})@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/coursegroup.entity.ts:25\n \n \n\n\n \n \n\n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, Property } from '@mikro-orm/core';\nimport { EntityWithSchool } from '../interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport type { LessonParent } from './lesson.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { TaskParent } from './task.entity';\nimport type { User } from './user.entity';\n\nexport interface CourseGroupProperties {\n\tname: string;\n\tcourse: Course;\n\tstudents?: User[];\n}\n\n@Entity({ tableName: 'coursegroups' })\n@Index({ properties: ['school', 'course'] })\nexport class CourseGroup extends BaseEntityWithTimestamps implements EntityWithSchool, TaskParent, LessonParent {\n\t@Property()\n\tname: string;\n\n\t@ManyToMany('User', undefined, { fieldName: 'userIds' })\n\t@Index()\n\tstudents = new Collection(this);\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId' })\n\tcourse: Course;\n\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\t@Index()\n\tschool: SchoolEntity;\n\n\tconstructor(props: CourseGroupProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.course = props.course;\n\t\tthis.school = props.course.school;\n\t\tif (props.students) this.students.set(props.students);\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tlet studentIds: EntityId[] = [];\n\n\t\t// A not existing course group can be referenced in a submission.\n\t\t// Therefore we need to handle this case instead of returning an error here.\n\t\tif (this.students) {\n\t\t\tconst studentObjectIds = this.students.getIdentifiers('_id');\n\t\t\tstudentIds = studentObjectIds.map((id): string => id.toString());\n\t\t}\n\n\t\treturn studentIds;\n\t}\n\n\tpublic removeStudent(userId: EntityId): void {\n\t\tthis.students.remove((u) => u.id === userId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CourseGroupFactory.html":{"url":"classes/CourseGroupFactory.html","title":"class - CourseGroupFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CourseGroupFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/coursegroup.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n studentsWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n studentsWithId\n \n \n \n \n \n \nstudentsWithId(numberOfStudents: number)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/coursegroup.factory.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n numberOfStudents\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CourseGroup, CourseGroupProperties } from '@shared/domain/entity';\nimport { DeepPartial } from 'fishery';\nimport { BaseFactory } from './base.factory';\nimport { courseFactory } from './course.factory';\nimport { userFactory } from './user.factory';\n\nclass CourseGroupFactory extends BaseFactory {\n\tstudentsWithId(numberOfStudents: number): this {\n\t\tconst students = userFactory.buildListWithId(numberOfStudents);\n\t\tconst params: DeepPartial = { students };\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const courseGroupFactory = CourseGroupFactory.define(CourseGroup, ({ sequence }) => {\n\treturn {\n\t\tname: `courseGroup #${sequence}`,\n\t\tcourse: courseFactory.build(),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CourseGroupProperties.html":{"url":"interfaces/CourseGroupProperties.html","title":"interface - CourseGroupProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CourseGroupProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/coursegroup.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n course\n \n \n \n \n name\n \n \n \n Optional\n \n students\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n course\n \n \n \n \n \n \n \n \n course: Course\n\n \n \n\n\n \n \n Type : Course\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n students\n \n \n \n \n \n \n \n \n students: User[]\n\n \n \n\n\n \n \n Type : User[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, Property } from '@mikro-orm/core';\nimport { EntityWithSchool } from '../interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport type { LessonParent } from './lesson.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { TaskParent } from './task.entity';\nimport type { User } from './user.entity';\n\nexport interface CourseGroupProperties {\n\tname: string;\n\tcourse: Course;\n\tstudents?: User[];\n}\n\n@Entity({ tableName: 'coursegroups' })\n@Index({ properties: ['school', 'course'] })\nexport class CourseGroup extends BaseEntityWithTimestamps implements EntityWithSchool, TaskParent, LessonParent {\n\t@Property()\n\tname: string;\n\n\t@ManyToMany('User', undefined, { fieldName: 'userIds' })\n\t@Index()\n\tstudents = new Collection(this);\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId' })\n\tcourse: Course;\n\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\t@Index()\n\tschool: SchoolEntity;\n\n\tconstructor(props: CourseGroupProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.course = props.course;\n\t\tthis.school = props.course.school;\n\t\tif (props.students) this.students.set(props.students);\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tlet studentIds: EntityId[] = [];\n\n\t\t// A not existing course group can be referenced in a submission.\n\t\t// Therefore we need to handle this case instead of returning an error here.\n\t\tif (this.students) {\n\t\t\tconst studentObjectIds = this.students.getIdentifiers('_id');\n\t\t\tstudentIds = studentObjectIds.map((id): string => id.toString());\n\t\t}\n\n\t\treturn studentIds;\n\t}\n\n\tpublic removeStudent(userId: EntityId): void {\n\t\tthis.students.remove((u) => u.id === userId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CourseGroupRepo.html":{"url":"injectables/CourseGroupRepo.html","title":"injectable - CourseGroupRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CourseGroupRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/coursegroup/coursegroup.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findByCourseIds\n \n \n Async\n findById\n \n \n Async\n findByUserId\n \n \n create\n \n \n Async\n delete\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findByCourseIds\n \n \n \n \n \n \n \n findByCourseIds(courseIds: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/coursegroup/coursegroup.repo.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: string)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:14\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserId\n \n \n \n \n \n \n \n findByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/coursegroup/coursegroup.repo.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/coursegroup/coursegroup.repo.ts:10\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\n\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { CourseGroup } from '@shared/domain/entity';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '../base.repo';\n\n@Injectable()\nexport class CourseGroupRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn CourseGroup;\n\t}\n\n\tasync findById(id: string): Promise {\n\t\tconst courseGroup = await super.findById(id);\n\t\tawait this._em.populate(courseGroup, ['course']);\n\t\treturn courseGroup;\n\t}\n\n\tasync findByCourseIds(courseIds: EntityId[]): Promise> {\n\t\tconst [courseGroups, count] = await this._em.findAndCount(CourseGroup, {\n\t\t\tcourse: { $in: courseIds },\n\t\t});\n\t\treturn [courseGroups, count];\n\t}\n\n\tasync findByUserId(userId: EntityId): Promise> {\n\t\tconst [courseGroups, count] = await this._em.findAndCount(CourseGroup, {\n\t\t\tstudents: new ObjectId(userId),\n\t\t});\n\t\treturn [courseGroups, count];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CourseGroupRule.html":{"url":"injectables/CourseGroupRule.html","title":"injectable - CourseGroupRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CourseGroupRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/course-group.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper, courseRule: CourseRule)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/course-group.rule.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n courseRule\n \n \n CourseRule\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, entity: CourseGroup, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/course-group.rule.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n CourseGroup\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, entity: CourseGroup)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/course-group.rule.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n CourseGroup\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { CourseGroup, User } from '@shared/domain/entity';\nimport { CourseRule } from './course.rule';\nimport { Action, AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\n\n@Injectable()\nexport class CourseGroupRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper, private readonly courseRule: CourseRule) {}\n\n\tpublic isApplicable(user: User, entity: CourseGroup): boolean {\n\t\tconst isMatched = entity instanceof CourseGroup;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, entity: CourseGroup, context: AuthorizationContext): boolean {\n\t\tconst { requiredPermissions } = context;\n\n\t\tconst hasAllPermissions = this.authorizationHelper.hasAllPermissions(user, requiredPermissions);\n\t\tconst hasPermission =\n\t\t\tthis.authorizationHelper.hasAccessToEntity(user, entity, ['students']) ||\n\t\t\tthis.courseRule.hasPermission(user, entity.course, { action: Action.write, requiredPermissions: [] });\n\n\t\treturn hasAllPermissions && hasPermission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CourseGroupService.html":{"url":"injectables/CourseGroupService.html","title":"injectable - CourseGroupService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CourseGroupService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/service/coursegroup.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n deleteUserDataFromCourseGroup\n \n \n Public\n Async\n findAllCourseGroupsByUserId\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(repo: CourseGroupRepo)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/service/coursegroup.service.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n repo\n \n \n CourseGroupRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n deleteUserDataFromCourseGroup\n \n \n \n \n \n \n \n deleteUserDataFromCourseGroup(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/coursegroup.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findAllCourseGroupsByUserId\n \n \n \n \n \n \n \n findAllCourseGroupsByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/coursegroup.service.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { CourseGroup } from '@shared/domain/entity';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { CourseGroupRepo } from '@shared/repo';\n\n@Injectable()\nexport class CourseGroupService {\n\tconstructor(private readonly repo: CourseGroupRepo) {}\n\n\tpublic async findAllCourseGroupsByUserId(userId: EntityId): Promise> {\n\t\tconst [courseGroups, count] = await this.repo.findByUserId(userId);\n\n\t\treturn [courseGroups, count];\n\t}\n\n\tpublic async deleteUserDataFromCourseGroup(userId: EntityId): Promise {\n\t\tconst [courseGroups, count] = await this.repo.findByUserId(userId);\n\n\t\tcourseGroups.forEach((courseGroup) => courseGroup.removeStudent(userId));\n\n\t\tawait this.repo.save(courseGroups);\n\n\t\treturn count;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CourseMapper.html":{"url":"classes/CourseMapper.html","title":"class - CourseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CourseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/mapper/course.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToMetadataResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToMetadataResponse\n \n \n \n \n \n \n \n mapToMetadataResponse(course: Course)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/mapper/course.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n course\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CourseMetadataResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Course } from '@shared/domain/entity';\nimport { CourseMetadataResponse } from '../controller/dto';\n\nexport class CourseMapper {\n\tstatic mapToMetadataResponse(course: Course): CourseMetadataResponse {\n\t\tconst courseMetadata = course.getMetadata();\n\t\tconst dto = new CourseMetadataResponse(\n\t\t\tcourseMetadata.id,\n\t\t\tcourseMetadata.title,\n\t\t\tcourseMetadata.shortTitle,\n\t\t\tcourseMetadata.displayColor,\n\t\t\tcourseMetadata.startDate,\n\t\t\tcourseMetadata.untilDate,\n\t\t\tcourseMetadata.copyingSince\n\t\t);\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CourseMetadataListResponse.html":{"url":"classes/CourseMetadataListResponse.html","title":"class - CourseMetadataListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CourseMetadataListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/course-metadata.response.ts\n \n\n\n\n \n Extends\n \n \n PaginationResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: CourseMetadataResponse[], total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/course-metadata.response.ts:61\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n CourseMetadataResponse[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : CourseMetadataResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:68\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:14\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { PaginationResponse } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\n\nexport class CourseMetadataResponse {\n\tconstructor(\n\t\tid: EntityId,\n\t\ttitle: string,\n\t\tshortTitle: string,\n\t\tdisplayColor: string,\n\t\tstartDate?: Date,\n\t\tuntilDate?: Date,\n\t\tcopyingSince?: Date\n\t) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.shortTitle = shortTitle;\n\t\tthis.displayColor = displayColor;\n\t\tthis.startDate = startDate;\n\t\tthis.untilDate = untilDate;\n\t\tthis.copyingSince = copyingSince;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the Grid element',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Title of the Grid element',\n\t})\n\ttitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Short title of the Grid element',\n\t})\n\tshortTitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Color of the Grid element',\n\t})\n\tdisplayColor: string;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Start date of the course',\n\t})\n\tstartDate?: Date;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'End date of the course. After this the course counts as archived',\n\t})\n\tuntilDate?: Date;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Start of the copying process if it is still ongoing - otherwise property is not set.',\n\t})\n\tcopyingSince?: Date;\n}\n\nexport class CourseMetadataListResponse extends PaginationResponse {\n\tconstructor(data: CourseMetadataResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [CourseMetadataResponse] })\n\tdata: CourseMetadataResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CourseMetadataResponse.html":{"url":"classes/CourseMetadataResponse.html","title":"class - CourseMetadataResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CourseMetadataResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/course-metadata.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n copyingSince\n \n \n \n displayColor\n \n \n \n id\n \n \n \n shortTitle\n \n \n \n Optional\n startDate\n \n \n \n title\n \n \n \n Optional\n untilDate\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(id: EntityId, title: string, shortTitle: string, displayColor: string, startDate?: Date, untilDate?: Date, copyingSince?: Date)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/course-metadata.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n \n EntityId\n \n \n \n No\n \n \n \n \n title\n \n \n string\n \n \n \n No\n \n \n \n \n shortTitle\n \n \n string\n \n \n \n No\n \n \n \n \n displayColor\n \n \n string\n \n \n \n No\n \n \n \n \n startDate\n \n \n Date\n \n \n \n Yes\n \n \n \n \n untilDate\n \n \n Date\n \n \n \n Yes\n \n \n \n \n copyingSince\n \n \n Date\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n copyingSince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Start of the copying process if it is still ongoing - otherwise property is not set.'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/course-metadata.response.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n \n displayColor\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Color of the Grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/course-metadata.response.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The id of the Grid element', pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/course-metadata.response.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n shortTitle\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Short title of the Grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/course-metadata.response.ts:38\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n startDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Start date of the course'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/course-metadata.response.ts:48\n \n \n\n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Title of the Grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/course-metadata.response.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n untilDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'End date of the course. After this the course counts as archived'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/course-metadata.response.ts:53\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { PaginationResponse } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\n\nexport class CourseMetadataResponse {\n\tconstructor(\n\t\tid: EntityId,\n\t\ttitle: string,\n\t\tshortTitle: string,\n\t\tdisplayColor: string,\n\t\tstartDate?: Date,\n\t\tuntilDate?: Date,\n\t\tcopyingSince?: Date\n\t) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.shortTitle = shortTitle;\n\t\tthis.displayColor = displayColor;\n\t\tthis.startDate = startDate;\n\t\tthis.untilDate = untilDate;\n\t\tthis.copyingSince = copyingSince;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the Grid element',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Title of the Grid element',\n\t})\n\ttitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Short title of the Grid element',\n\t})\n\tshortTitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Color of the Grid element',\n\t})\n\tdisplayColor: string;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Start date of the course',\n\t})\n\tstartDate?: Date;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'End date of the course. After this the course counts as archived',\n\t})\n\tuntilDate?: Date;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Start of the copying process if it is still ongoing - otherwise property is not set.',\n\t})\n\tcopyingSince?: Date;\n}\n\nexport class CourseMetadataListResponse extends PaginationResponse {\n\tconstructor(data: CourseMetadataResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [CourseMetadataResponse] })\n\tdata: CourseMetadataResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/CourseNews.html":{"url":"entities/CourseNews.html","title":"entity - CourseNews","body":"\n \n\n\n\n\n\n\n\n Entities\n CourseNews\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/news.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n target\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : Course\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('Course', {nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:116\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Enum, Index, ManyToOne, Property } from '@mikro-orm/core';\nimport { EntityId } from '../types';\nimport { NewsTarget, NewsTargetModel } from '../types/news.types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { TeamEntity } from './team.entity';\nimport type { User } from './user.entity';\n\nexport interface NewsProperties {\n\ttitle: string;\n\tcontent: string;\n\tdisplayAt: Date;\n\tschool: EntityId | SchoolEntity;\n\tcreator: EntityId | User;\n\ttarget: EntityId | NewsTarget;\n\n\texternalId?: string;\n\tsource?: 'internal' | 'rss';\n\tsourceDescription?: string;\n\tupdater?: User;\n}\n\n@Entity({\n\tdiscriminatorColumn: 'targetModel',\n\tabstract: true,\n})\n@Index({ properties: ['school', 'target'] })\n@Index({ properties: ['school', 'target', 'targetModel'] })\n@Index({ properties: ['target', 'targetModel'] })\nexport abstract class News extends BaseEntityWithTimestamps {\n\t/** the news title */\n\t@Property()\n\ttitle: string;\n\n\t/** the news content as html */\n\t@Property()\n\tcontent: string;\n\n\t/** only past news are visible for viewers, when edit permission, news visible in the future might be accessed too */\n\t@Property()\n\t@Index()\n\tdisplayAt: Date;\n\n\t@Property({ nullable: true })\n\texternalId?: string;\n\n\t@Property({ nullable: true })\n\tsource?: 'internal' | 'rss';\n\n\t@Property({ nullable: true })\n\tsourceDescription?: string;\n\n\t/** id reference to a collection populated later with name */\n\ttarget!: NewsTarget;\n\n\t/** name of a collection which is referenced in target */\n\t@Enum()\n\ttargetModel!: NewsTargetModel;\n\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool!: SchoolEntity;\n\n\t@ManyToOne('User', { fieldName: 'creatorId' })\n\tcreator!: User;\n\n\t@ManyToOne('User', { fieldName: 'updaterId', nullable: true })\n\tupdater?: User;\n\n\tpermissions: string[] = [];\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper();\n\t\tthis.title = props.title;\n\t\tthis.content = props.content;\n\t\tthis.displayAt = props.displayAt;\n\t\tObject.assign(this, { school: props.school, creator: props.creator, updater: props.updater, target: props.target });\n\t\tthis.externalId = props.externalId;\n\t\tthis.source = props.source;\n\t\tthis.sourceDescription = props.sourceDescription;\n\t}\n\n\tstatic createInstance(targetModel: NewsTargetModel, props: NewsProperties): News {\n\t\tlet news: News;\n\t\tif (targetModel === NewsTargetModel.Course) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new CourseNews(props);\n\t\t} else if (targetModel === NewsTargetModel.Team) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new TeamNews(props);\n\t\t} else {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new SchoolNews(props);\n\t\t}\n\t\treturn news;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.School })\nexport class SchoolNews extends News {\n\t@ManyToOne(() => SchoolEntity)\n\ttarget!: SchoolEntity;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.School;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.Course })\nexport class CourseNews extends News {\n\t// FIXME Due to a weird behaviour in the mikro-orm validation we have to\n\t// disable the validation by setting the reference nullable.\n\t// Remove when fixed in mikro-orm.\n\t@ManyToOne('Course', { nullable: true })\n\ttarget!: Course;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.Course;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.Team })\nexport class TeamNews extends News {\n\t@ManyToOne('TeamEntity')\n\ttarget!: TeamEntity;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.Team;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CourseProperties.html":{"url":"interfaces/CourseProperties.html","title":"interface - CourseProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CourseProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/course.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n classes\n \n \n \n Optional\n \n color\n \n \n \n Optional\n \n copyingSince\n \n \n \n Optional\n \n description\n \n \n \n Optional\n \n features\n \n \n \n Optional\n \n groups\n \n \n \n Optional\n \n name\n \n \n \n \n school\n \n \n \n Optional\n \n startDate\n \n \n \n Optional\n \n students\n \n \n \n Optional\n \n substitutionTeachers\n \n \n \n Optional\n \n teachers\n \n \n \n Optional\n \n untilDate\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n classes\n \n \n \n \n \n \n \n \n classes: ClassEntity[]\n\n \n \n\n\n \n \n Type : ClassEntity[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n color\n \n \n \n \n \n \n \n \n color: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n copyingSince\n \n \n \n \n \n \n \n \n copyingSince: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n description: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n features\n \n \n \n \n \n \n \n \n features: CourseFeatures[]\n\n \n \n\n\n \n \n Type : CourseFeatures[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n groups\n \n \n \n \n \n \n \n \n groups: GroupEntity[]\n\n \n \n\n\n \n \n Type : GroupEntity[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n \n \n school: SchoolEntity\n\n \n \n\n\n \n \n Type : SchoolEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n startDate\n \n \n \n \n \n \n \n \n startDate: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n students\n \n \n \n \n \n \n \n \n students: User[]\n\n \n \n\n\n \n \n Type : User[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n substitutionTeachers\n \n \n \n \n \n \n \n \n substitutionTeachers: User[]\n\n \n \n\n\n \n \n Type : User[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n teachers\n \n \n \n \n \n \n \n \n teachers: User[]\n\n \n \n\n\n \n \n Type : User[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n untilDate\n \n \n \n \n \n \n \n \n untilDate: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Entity, Enum, Index, ManyToMany, ManyToOne, OneToMany, Property, Unique } from '@mikro-orm/core';\nimport { ClassEntity } from '@modules/class/entity/class.entity';\nimport { GroupEntity } from '@modules/group/entity/group.entity';\nimport { InternalServerErrorException } from '@nestjs/common/exceptions/internal-server-error.exception';\nimport { EntityWithSchool, Learnroom } from '@shared/domain/interface';\nimport { EntityId, LearnroomMetadata, LearnroomTypes } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport type { LessonParent } from './lesson.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { TaskParent } from './task.entity';\nimport type { User } from './user.entity';\n\nexport interface CourseProperties {\n\tname?: string;\n\tdescription?: string;\n\tschool: SchoolEntity;\n\tstudents?: User[];\n\tteachers?: User[];\n\tsubstitutionTeachers?: User[];\n\t// TODO: color format\n\tcolor?: string;\n\tstartDate?: Date;\n\tuntilDate?: Date;\n\tcopyingSince?: Date;\n\tfeatures?: CourseFeatures[];\n\tclasses?: ClassEntity[];\n\tgroups?: GroupEntity[];\n}\n\n// that is really really shit default handling :D constructor, getter, js default, em default...what the hell\n// i hope it can cleanup with adding schema instant of I...Properties.\nconst DEFAULT = {\n\tcolor: '#ACACAC',\n\tname: 'Kurse',\n\tdescription: '',\n};\n\nconst enum CourseFeatures {\n\tVIDEOCONFERENCE = 'videoconference',\n}\n\nexport class UsersList {\n\tid!: string;\n\n\tfirstName!: string;\n\n\tlastName!: string;\n}\n\n@Entity({ tableName: 'courses' })\nexport class Course extends BaseEntityWithTimestamps implements Learnroom, EntityWithSchool, TaskParent, LessonParent {\n\t@Property()\n\tname: string = DEFAULT.name;\n\n\t@Property()\n\tdescription: string = DEFAULT.description;\n\n\t@Index()\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool: SchoolEntity;\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'userIds' })\n\tstudents = new Collection(this);\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'teacherIds' })\n\tteachers = new Collection(this);\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'substitutionIds' })\n\tsubstitutionTeachers = new Collection(this);\n\n\t@OneToMany('CourseGroup', 'course', { orphanRemoval: true })\n\tcourseGroups = new Collection(this);\n\n\t// TODO: string color format\n\t@Property()\n\tcolor: string = DEFAULT.color;\n\n\t@Property({ nullable: true })\n\tstartDate?: Date;\n\n\t@Index()\n\t@Property({ nullable: true })\n\tuntilDate?: Date;\n\n\t@Property({ nullable: true })\n\tcopyingSince?: Date;\n\n\t@Property({ nullable: true })\n\t@Unique({ options: { sparse: true } })\n\tshareToken?: string;\n\n\t@Enum({ nullable: true, array: true })\n\tfeatures?: CourseFeatures[];\n\n\t@ManyToMany(() => ClassEntity, undefined, { fieldName: 'classIds' })\n\tclasses = new Collection(this);\n\n\t@ManyToMany(() => GroupEntity, undefined, { fieldName: 'groupIds' })\n\tgroups = new Collection(this);\n\n\tconstructor(props: CourseProperties) {\n\t\tsuper();\n\t\tif (props.name) this.name = props.name;\n\t\tif (props.description) this.description = props.description;\n\t\tthis.school = props.school;\n\t\tthis.students.set(props.students || []);\n\t\tthis.teachers.set(props.teachers || []);\n\t\tthis.substitutionTeachers.set(props.substitutionTeachers || []);\n\t\tif (props.color) this.color = props.color;\n\t\tif (props.untilDate) this.untilDate = props.untilDate;\n\t\tif (props.startDate) this.startDate = props.startDate;\n\t\tif (props.copyingSince) this.copyingSince = props.copyingSince;\n\t\tif (props.features) this.features = props.features;\n\t\tthis.classes.set(props.classes || []);\n\t\tthis.groups.set(props.groups || []);\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst studentIds = Course.extractIds(this.students);\n\t\treturn studentIds;\n\t}\n\n\tpublic getTeacherIds(): EntityId[] {\n\t\tconst teacherIds = Course.extractIds(this.teachers);\n\t\treturn teacherIds;\n\t}\n\n\tpublic getSubstitutionTeacherIds(): EntityId[] {\n\t\tconst substitutionTeacherIds = Course.extractIds(this.substitutionTeachers);\n\t\treturn substitutionTeacherIds;\n\t}\n\n\tprivate static extractIds(users: Collection): EntityId[] {\n\t\tif (!users) {\n\t\t\tthrow new InternalServerErrorException(\n\t\t\t\t`Students, teachers or stubstitution is undefined. The course needs to be populated`\n\t\t\t);\n\t\t}\n\n\t\tconst objectIds = users.getIdentifiers('_id');\n\t\tconst ids = objectIds.map((id): string => id.toString());\n\n\t\treturn ids;\n\t}\n\n\tpublic getStudentsList(): UsersList[] {\n\t\tconst users = this.students.getItems();\n\t\tif (users.length) {\n\t\t\tconst usersList = Course.extractUserList(users);\n\t\t\treturn usersList;\n\t\t}\n\t\treturn [];\n\t}\n\n\tpublic getTeachersList(): UsersList[] {\n\t\tconst users = this.teachers.getItems();\n\t\tif (users.length) {\n\t\t\tconst usersList = Course.extractUserList(users);\n\t\t\treturn usersList;\n\t\t}\n\t\treturn [];\n\t}\n\n\tpublic getSubstitutionTeachersList(): UsersList[] {\n\t\tconst users = this.substitutionTeachers.getItems();\n\t\tif (users.length) {\n\t\t\tconst usersList = Course.extractUserList(users);\n\t\t\treturn usersList;\n\t\t}\n\t\treturn [];\n\t}\n\n\tprivate static extractUserList(users: User[]): UsersList[] {\n\t\tconst usersList: UsersList[] = users.map((user) => {\n\t\t\treturn {\n\t\t\t\tid: user.id,\n\t\t\t\tfirstName: user.firstName,\n\t\t\t\tlastName: user.lastName,\n\t\t\t};\n\t\t});\n\t\treturn usersList;\n\t}\n\n\tpublic isUserSubstitutionTeacher(user: User): boolean {\n\t\tconst isSubstitutionTeacher = this.substitutionTeachers.contains(user);\n\n\t\treturn isSubstitutionTeacher;\n\t}\n\n\tpublic getCourseGroupItems(): CourseGroup[] {\n\t\tif (!this.courseGroups.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Courses trying to access their course groups that are not loaded.');\n\t\t}\n\t\tconst courseGroups = this.courseGroups.getItems();\n\n\t\treturn courseGroups;\n\t}\n\n\tgetShortTitle(): string {\n\t\tif (this.name.length === 1) {\n\t\t\treturn this.name;\n\t\t}\n\t\tconst [firstChar, secondChar] = [...this.name];\n\t\tconst pattern = /\\p{Extended_Pictographic}/u;\n\t\tif (pattern.test(firstChar)) {\n\t\t\treturn firstChar;\n\t\t}\n\t\treturn firstChar + secondChar;\n\t}\n\n\tpublic getMetadata(): LearnroomMetadata {\n\t\treturn {\n\t\t\tid: this.id,\n\t\t\ttype: LearnroomTypes.Course,\n\t\t\ttitle: this.name,\n\t\t\tshortTitle: this.getShortTitle(),\n\t\t\tdisplayColor: this.color,\n\t\t\tuntilDate: this.untilDate,\n\t\t\tstartDate: this.startDate,\n\t\t\tcopyingSince: this.copyingSince,\n\t\t};\n\t}\n\n\tpublic isFinished(): boolean {\n\t\tif (!this.untilDate) {\n\t\t\treturn false;\n\t\t}\n\t\tconst isFinished = this.untilDate u.id === userId);\n\t}\n\n\tprivate removeTeacher(userId: EntityId): void {\n\t\tthis.teachers.remove((u) => u.id === userId);\n\t}\n\n\tprivate removeSubstitutionTeacher(userId: EntityId): void {\n\t\tthis.substitutionTeachers.remove((u) => u.id === userId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CourseQueryParams.html":{"url":"classes/CourseQueryParams.html","title":"class - CourseQueryParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CourseQueryParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/course.query.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n version\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n version\n \n \n \n \n \n \n Type : CommonCartridgeVersion\n\n \n \n \n \n Decorators : \n \n \n @IsString()@Matches(undefined)@ApiProperty({description: 'The version of CC export', required: true, nullable: false, enum: CommonCartridgeVersion})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/course.query.params.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsString, Matches } from 'class-validator';\nimport { CommonCartridgeVersion } from '../../common-cartridge';\n\nexport class CourseQueryParams {\n\t@IsString()\n\t@Matches(Object.values(CommonCartridgeVersion).join('|'))\n\t@ApiProperty({\n\t\tdescription: 'The version of CC export',\n\t\trequired: true,\n\t\tnullable: false,\n\t\tenum: CommonCartridgeVersion,\n\t})\n\tversion!: CommonCartridgeVersion;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CourseRepo.html":{"url":"injectables/CourseRepo.html","title":"injectable - CourseRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CourseRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/course/course.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createCourse\n \n \n Async\n findAllByUserId\n \n \n Async\n findAllForTeacher\n \n \n Async\n findAllForTeacherOrSubstituteTeacher\n \n \n Async\n findById\n \n \n Async\n findOne\n \n \n create\n \n \n Async\n delete\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createCourse\n \n \n \n \n \n \n \n createCourse(course: Course)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/course/course.repo.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n course\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllByUserId\n \n \n \n \n \n \n \n findAllByUserId(userId: EntityId, filters?: literal type, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/course/course.repo.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n filters\n \n literal type\n \n\n \n Yes\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllForTeacher\n \n \n \n \n \n \n \n findAllForTeacher(userId: EntityId, filters?: literal type, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/course/course.repo.ts:97\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n filters\n \n literal type\n \n\n \n Yes\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllForTeacherOrSubstituteTeacher\n \n \n \n \n \n \n \n findAllForTeacherOrSubstituteTeacher(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/course/course.repo.ts:122\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId, populate)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:65\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n \n \n\n \n \n populate\n \n \n\n \n No\n \n\n \n true\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findOne\n \n \n \n \n \n \n \n findOne(courseId: EntityId, userId?: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/course/course.repo.ts:131\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/course/course.repo.ts:57\n \n \n\n \n \n\n \n\n\n \n import { FilterQuery, QueryOrderMap } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\n\nimport { Course } from '@shared/domain/entity';\nimport { IFindOptions } from '@shared/domain/interface';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '../base.repo';\nimport { Scope } from '../scope';\n\nclass CourseScope extends Scope {\n\tforAllGroupTypes(userId: EntityId): CourseScope {\n\t\tconst isStudent = { students: userId };\n\t\tconst isTeacher = { teachers: userId };\n\t\tconst isSubstitutionTeacher = { substitutionTeachers: userId };\n\n\t\tif (userId) {\n\t\t\tthis.addQuery({ $or: [isStudent, isTeacher, isSubstitutionTeacher] });\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tforTeacherOrSubstituteTeacher(userId: EntityId): CourseScope {\n\t\tconst isTeacher = { teachers: userId };\n\t\tconst isSubstitutionTeacher = { substitutionTeachers: userId };\n\n\t\tif (userId) {\n\t\t\tthis.addQuery({ $or: [isTeacher, isSubstitutionTeacher] });\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tforTeacher(userId: EntityId): CourseScope {\n\t\tthis.addQuery({ teachers: userId });\n\t\treturn this;\n\t}\n\n\tforActiveCourses(): CourseScope {\n\t\tconst now = new Date();\n\t\tconst noUntilDate = { untilDate: { $exists: false } } as FilterQuery;\n\t\tconst untilDateInFuture = { untilDate: { $gte: now } };\n\n\t\tthis.addQuery({ $or: [noUntilDate, untilDateInFuture] });\n\n\t\treturn this;\n\t}\n\n\tforCourseId(courseId: EntityId): CourseScope {\n\t\tthis.addQuery({ id: courseId });\n\t\treturn this;\n\t}\n}\n\n@Injectable()\nexport class CourseRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn Course;\n\t}\n\n\tasync createCourse(course: Course): Promise {\n\t\treturn this.save(this.create(course));\n\t}\n\n\tasync findById(id: EntityId, populate = true): Promise {\n\t\tconst course = await super.findById(id);\n\t\tif (populate) {\n\t\t\tawait this._em.populate(course, ['courseGroups', 'teachers', 'substitutionTeachers', 'students']);\n\t\t}\n\t\treturn course;\n\t}\n\n\tasync findAllByUserId(\n\t\tuserId: EntityId,\n\t\tfilters?: { onlyActiveCourses?: boolean },\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst scope = new CourseScope();\n\t\tscope.forAllGroupTypes(userId);\n\n\t\tif (filters?.onlyActiveCourses) {\n\t\t\tscope.forActiveCourses();\n\t\t}\n\n\t\tconst { pagination, order } = options || {};\n\t\tconst queryOptions = {\n\t\t\toffset: pagination?.skip,\n\t\t\tlimit: pagination?.limit,\n\t\t\torderBy: order as QueryOrderMap,\n\t\t};\n\n\t\tconst [courses, count] = await this._em.findAndCount(Course, scope.query, queryOptions);\n\n\t\treturn [courses, count];\n\t}\n\n\tasync findAllForTeacher(\n\t\tuserId: EntityId,\n\t\tfilters?: { onlyActiveCourses?: boolean },\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst scope = new CourseScope();\n\t\tscope.forTeacher(userId);\n\n\t\tif (filters?.onlyActiveCourses) {\n\t\t\tscope.forActiveCourses();\n\t\t}\n\n\t\tconst { pagination, order } = options || {};\n\t\tconst queryOptions = {\n\t\t\toffset: pagination?.skip,\n\t\t\tlimit: pagination?.limit,\n\t\t\torderBy: order as QueryOrderMap,\n\t\t};\n\n\t\tconst [courses, count] = await this._em.findAndCount(Course, scope.query, queryOptions);\n\n\t\treturn [courses, count];\n\t}\n\n\t// not tested in repo.integration.spec\n\tasync findAllForTeacherOrSubstituteTeacher(userId: EntityId): Promise> {\n\t\tconst scope = new CourseScope();\n\t\tscope.forTeacherOrSubstituteTeacher(userId);\n\n\t\tconst [courses, count] = await this._em.findAndCount(Course, scope.query);\n\n\t\treturn [courses, count];\n\t}\n\n\tasync findOne(courseId: EntityId, userId?: EntityId): Promise {\n\t\tconst scope = new CourseScope();\n\t\tscope.forCourseId(courseId);\n\t\tif (userId) scope.forAllGroupTypes(userId);\n\n\t\tconst course = await this._em.findOneOrFail(Course, scope.query);\n\n\t\treturn course;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CourseRule.html":{"url":"injectables/CourseRule.html","title":"injectable - CourseRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CourseRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/course.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/course.rule.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, entity: Course, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/course.rule.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n Course\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, entity: Course)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/course.rule.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Course, User } from '@shared/domain/entity';\nimport { Action, AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\n\n@Injectable()\nexport class CourseRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper) {}\n\n\tpublic isApplicable(user: User, entity: Course): boolean {\n\t\tconst isMatched = entity instanceof Course;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, entity: Course, context: AuthorizationContext): boolean {\n\t\tconst { action, requiredPermissions } = context;\n\t\tconst hasPermission =\n\t\t\tthis.authorizationHelper.hasAllPermissions(user, requiredPermissions) &&\n\t\t\tthis.authorizationHelper.hasAccessToEntity(\n\t\t\t\tuser,\n\t\t\t\tentity,\n\t\t\t\taction === Action.read ? ['teachers', 'substitutionTeachers', 'students'] : ['teachers', 'substitutionTeachers']\n\t\t\t);\n\n\t\treturn hasPermission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CourseScope.html":{"url":"classes/CourseScope.html","title":"class - CourseScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CourseScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/course/course.repo.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n forActiveCourses\n \n \n forAllGroupTypes\n \n \n forCourseId\n \n \n forTeacher\n \n \n forTeacherOrSubstituteTeacher\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n forActiveCourses\n \n \n \n \n \n \nforActiveCourses()\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/course/course.repo.ts:39\n \n \n\n\n \n \n\n \n Returns : CourseScope\n\n \n \n \n \n \n \n \n \n \n \n \n forAllGroupTypes\n \n \n \n \n \n \nforAllGroupTypes(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/course/course.repo.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CourseScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n forCourseId\n \n \n \n \n \n \nforCourseId(courseId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/course/course.repo.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CourseScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n forTeacher\n \n \n \n \n \n \nforTeacher(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/course/course.repo.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CourseScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n forTeacherOrSubstituteTeacher\n \n \n \n \n \n \nforTeacherOrSubstituteTeacher(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/course/course.repo.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CourseScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { FilterQuery, QueryOrderMap } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\n\nimport { Course } from '@shared/domain/entity';\nimport { IFindOptions } from '@shared/domain/interface';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '../base.repo';\nimport { Scope } from '../scope';\n\nclass CourseScope extends Scope {\n\tforAllGroupTypes(userId: EntityId): CourseScope {\n\t\tconst isStudent = { students: userId };\n\t\tconst isTeacher = { teachers: userId };\n\t\tconst isSubstitutionTeacher = { substitutionTeachers: userId };\n\n\t\tif (userId) {\n\t\t\tthis.addQuery({ $or: [isStudent, isTeacher, isSubstitutionTeacher] });\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tforTeacherOrSubstituteTeacher(userId: EntityId): CourseScope {\n\t\tconst isTeacher = { teachers: userId };\n\t\tconst isSubstitutionTeacher = { substitutionTeachers: userId };\n\n\t\tif (userId) {\n\t\t\tthis.addQuery({ $or: [isTeacher, isSubstitutionTeacher] });\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tforTeacher(userId: EntityId): CourseScope {\n\t\tthis.addQuery({ teachers: userId });\n\t\treturn this;\n\t}\n\n\tforActiveCourses(): CourseScope {\n\t\tconst now = new Date();\n\t\tconst noUntilDate = { untilDate: { $exists: false } } as FilterQuery;\n\t\tconst untilDateInFuture = { untilDate: { $gte: now } };\n\n\t\tthis.addQuery({ $or: [noUntilDate, untilDateInFuture] });\n\n\t\treturn this;\n\t}\n\n\tforCourseId(courseId: EntityId): CourseScope {\n\t\tthis.addQuery({ id: courseId });\n\t\treturn this;\n\t}\n}\n\n@Injectable()\nexport class CourseRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn Course;\n\t}\n\n\tasync createCourse(course: Course): Promise {\n\t\treturn this.save(this.create(course));\n\t}\n\n\tasync findById(id: EntityId, populate = true): Promise {\n\t\tconst course = await super.findById(id);\n\t\tif (populate) {\n\t\t\tawait this._em.populate(course, ['courseGroups', 'teachers', 'substitutionTeachers', 'students']);\n\t\t}\n\t\treturn course;\n\t}\n\n\tasync findAllByUserId(\n\t\tuserId: EntityId,\n\t\tfilters?: { onlyActiveCourses?: boolean },\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst scope = new CourseScope();\n\t\tscope.forAllGroupTypes(userId);\n\n\t\tif (filters?.onlyActiveCourses) {\n\t\t\tscope.forActiveCourses();\n\t\t}\n\n\t\tconst { pagination, order } = options || {};\n\t\tconst queryOptions = {\n\t\t\toffset: pagination?.skip,\n\t\t\tlimit: pagination?.limit,\n\t\t\torderBy: order as QueryOrderMap,\n\t\t};\n\n\t\tconst [courses, count] = await this._em.findAndCount(Course, scope.query, queryOptions);\n\n\t\treturn [courses, count];\n\t}\n\n\tasync findAllForTeacher(\n\t\tuserId: EntityId,\n\t\tfilters?: { onlyActiveCourses?: boolean },\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst scope = new CourseScope();\n\t\tscope.forTeacher(userId);\n\n\t\tif (filters?.onlyActiveCourses) {\n\t\t\tscope.forActiveCourses();\n\t\t}\n\n\t\tconst { pagination, order } = options || {};\n\t\tconst queryOptions = {\n\t\t\toffset: pagination?.skip,\n\t\t\tlimit: pagination?.limit,\n\t\t\torderBy: order as QueryOrderMap,\n\t\t};\n\n\t\tconst [courses, count] = await this._em.findAndCount(Course, scope.query, queryOptions);\n\n\t\treturn [courses, count];\n\t}\n\n\t// not tested in repo.integration.spec\n\tasync findAllForTeacherOrSubstituteTeacher(userId: EntityId): Promise> {\n\t\tconst scope = new CourseScope();\n\t\tscope.forTeacherOrSubstituteTeacher(userId);\n\n\t\tconst [courses, count] = await this._em.findAndCount(Course, scope.query);\n\n\t\treturn [courses, count];\n\t}\n\n\tasync findOne(courseId: EntityId, userId?: EntityId): Promise {\n\t\tconst scope = new CourseScope();\n\t\tscope.forCourseId(courseId);\n\t\tif (userId) scope.forAllGroupTypes(userId);\n\n\t\tconst course = await this._em.findOneOrFail(Course, scope.query);\n\n\t\treturn course;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CourseService.html":{"url":"injectables/CourseService.html","title":"injectable - CourseService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CourseService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/service/course.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n deleteUserDataFromCourse\n \n \n Async\n findAllByUserId\n \n \n Public\n Async\n findAllCoursesByUserId\n \n \n Async\n findById\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(repo: CourseRepo)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/service/course.service.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n repo\n \n \n CourseRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n deleteUserDataFromCourse\n \n \n \n \n \n \n \n deleteUserDataFromCourse(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/course.service.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllByUserId\n \n \n \n \n \n \n \n findAllByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/course.service.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findAllCoursesByUserId\n \n \n \n \n \n \n \n findAllCoursesByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/course.service.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(courseId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/course.service.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Course } from '@shared/domain/entity';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { CourseRepo } from '@shared/repo';\n\n@Injectable()\nexport class CourseService {\n\tconstructor(private readonly repo: CourseRepo) {}\n\n\tasync findById(courseId: EntityId): Promise {\n\t\treturn this.repo.findById(courseId);\n\t}\n\n\tpublic async findAllCoursesByUserId(userId: EntityId): Promise> {\n\t\tconst [courses, count] = await this.repo.findAllByUserId(userId);\n\n\t\treturn [courses, count];\n\t}\n\n\tpublic async deleteUserDataFromCourse(userId: EntityId): Promise {\n\t\tconst [courses, count] = await this.repo.findAllByUserId(userId);\n\n\t\tcourses.forEach((course: Course) => course.removeUser(userId));\n\n\t\tawait this.repo.save(courses);\n\n\t\treturn count;\n\t}\n\n\tasync findAllByUserId(userId: EntityId): Promise {\n\t\tconst [courses] = await this.repo.findAllByUserId(userId);\n\n\t\treturn courses;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CourseUc.html":{"url":"injectables/CourseUc.html","title":"injectable - CourseUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CourseUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/uc/course.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n findAllByUser\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(courseRepo: CourseRepo)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/course.uc.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseRepo\n \n \n CourseRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n findAllByUser\n \n \n \n \n \n \nfindAllByUser(userId: EntityId, options?: PaginationParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/course.uc.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n options\n \n PaginationParams\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { PaginationParams } from '@shared/controller/';\nimport { Course } from '@shared/domain/entity';\nimport { SortOrder } from '@shared/domain/interface';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { CourseRepo } from '@shared/repo';\n\n@Injectable()\nexport class CourseUc {\n\tconstructor(private readonly courseRepo: CourseRepo) {}\n\n\tfindAllByUser(userId: EntityId, options?: PaginationParams): Promise> {\n\t\treturn this.courseRepo.findAllByUserId(userId, {}, { pagination: options, order: { updatedAt: SortOrder.desc } });\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/CourseUrlHandler.html":{"url":"injectables/CourseUrlHandler.html","title":"injectable - CourseUrlHandler","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n CourseUrlHandler\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/service/url-handler/course-url-handler.ts\n \n\n\n\n \n Extends\n \n \n AbstractUrlHandler\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n patterns\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getMetaData\n \n \n doesUrlMatch\n \n \n Protected\n extractId\n \n \n getDefaultMetaData\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(courseService: CourseService)\n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/course-url-handler.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseService\n \n \n CourseService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getMetaData\n \n \n \n \n \n \n \n getMetaData(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/course-url-handler.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n doesUrlMatch\n \n \n \n \n \n \ndoesUrlMatch(url: string)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n extractId\n \n \n \n \n \n \n \n extractId(url: string)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getDefaultMetaData\n \n \n \n \n \n \ngetDefaultMetaData(url: string, partial: Partial)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n partial\n \n Partial\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : MetaData\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n patterns\n \n \n \n \n \n \n Type : RegExp[]\n\n \n \n \n \n Default value : [/\\/rooms\\/([0-9a-z]+)$/i]\n \n \n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:9\n\n \n \n\n\n \n \n\n\n \n\n\n \n import { CourseService } from '@modules/learnroom';\nimport { Injectable } from '@nestjs/common';\nimport type { UrlHandler } from '../../interface/url-handler';\nimport { MetaData } from '../../types';\nimport { AbstractUrlHandler } from './abstract-url-handler';\n\n@Injectable()\nexport class CourseUrlHandler extends AbstractUrlHandler implements UrlHandler {\n\tpatterns: RegExp[] = [/\\/rooms\\/([0-9a-z]+)$/i];\n\n\tconstructor(private readonly courseService: CourseService) {\n\t\tsuper();\n\t}\n\n\tasync getMetaData(url: string): Promise {\n\t\tconst id = this.extractId(url);\n\t\tif (id === undefined) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst metaData = this.getDefaultMetaData(url, { type: 'course' });\n\t\tconst course = await this.courseService.findById(id);\n\t\tif (course) {\n\t\t\tmetaData.title = course.name;\n\t\t}\n\n\t\treturn metaData;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CourseUrlParams.html":{"url":"classes/CourseUrlParams.html","title":"class - CourseUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CourseUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/course.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n courseId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n courseId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the course', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/course.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class CourseUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the course',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tcourseId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CreateCardBodyParams.html":{"url":"classes/CreateCardBodyParams.html","title":"class - CreateCardBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CreateCardBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/card/create-card.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n requiredEmptyElements\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n requiredEmptyElements\n \n \n \n \n \n \n Type : ContentElementType[]\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ContentElementType, {each: true})@IsOptional()@ApiPropertyOptional({required: false, isArray: true, enum: ContentElementType})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/create-card.body.params.ts:13\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { IsEnum, IsOptional } from 'class-validator';\n\nexport class CreateCardBodyParams {\n\t@IsEnum(ContentElementType, { each: true })\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\trequired: false,\n\t\tisArray: true,\n\t\tenum: ContentElementType,\n\t})\n\trequiredEmptyElements?: ContentElementType[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CreateContentElementBodyParams.html":{"url":"classes/CreateContentElementBodyParams.html","title":"class - CreateContentElementBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CreateContentElementBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/create-content-element.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n toPosition\n \n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n toPosition\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsInt()@Min(0)@ApiPropertyOptional({description: 'to bring element to a specific position, default is last position', type: Number, required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/create-content-element.body.params.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ContentElementType)@ApiProperty({description: 'The type of element', enum: ContentElementType, required: true, nullable: false, enumName: 'ContentElementType'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/create-content-element.body.params.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { IsEnum, IsInt, IsOptional, Min } from 'class-validator';\n\nexport class CreateContentElementBodyParams {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tdescription: 'The type of element',\n\t\tenum: ContentElementType,\n\t\trequired: true,\n\t\tnullable: false,\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n\n\t@IsOptional()\n\t@IsInt()\n\t@Min(0)\n\t@ApiPropertyOptional({\n\t\tdescription: 'to bring element to a specific position, default is last position',\n\t\ttype: Number,\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\ttoPosition?: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CreateJwtParams.html":{"url":"interfaces/CreateJwtParams.html","title":"interface - CreateJwtParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CreateJwtParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/jwt.test.factory.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n accountId\n \n \n \n Optional\n \n aud\n \n \n \n Optional\n \n external_sub\n \n \n \n Optional\n \n iss\n \n \n \n Optional\n \n privateKey\n \n \n \n Optional\n \n sub\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n accountId\n \n \n \n \n \n \n \n \n accountId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n aud\n \n \n \n \n \n \n \n \n aud: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n external_sub\n \n \n \n \n \n \n \n \n external_sub: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n iss\n \n \n \n \n \n \n \n \n iss: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n privateKey\n \n \n \n \n \n \n \n \n privateKey: string | Buffer\n\n \n \n\n\n \n \n Type : string | Buffer\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n sub\n \n \n \n \n \n \n \n \n sub: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import jwt from 'jsonwebtoken';\nimport crypto, { KeyPairKeyObjectResult } from 'crypto';\n\nconst keyPair: KeyPairKeyObjectResult = crypto.generateKeyPairSync('rsa', { modulusLength: 4096 });\nconst publicKey: string | Buffer = keyPair.publicKey.export({ type: 'pkcs1', format: 'pem' });\nconst privateKey: string | Buffer = keyPair.privateKey.export({ type: 'pkcs1', format: 'pem' });\n\ninterface CreateJwtParams {\n\tprivateKey?: string | Buffer;\n\tsub?: string;\n\tiss?: string;\n\taud?: string;\n\taccountId?: string;\n\texternal_sub?: string;\n}\n\nexport class JwtTestFactory {\n\tpublic static getPublicKey(): string | Buffer {\n\t\treturn publicKey;\n\t}\n\n\tpublic static createJwt(params?: CreateJwtParams): string {\n\t\tconst validJwt = jwt.sign(\n\t\t\t{\n\t\t\t\tsub: params?.sub ?? 'testUser',\n\t\t\t\tiss: params?.iss ?? 'issuer',\n\t\t\t\taud: params?.aud ?? 'audience',\n\t\t\t\tjti: 'jti',\n\t\t\t\tiat: Date.now(),\n\t\t\t\texp: Date.now() + 100000,\n\t\t\t\taccountId: params?.accountId ?? 'accountId',\n\t\t\t\texternal_sub: params?.external_sub ?? 'externalSub',\n\t\t\t},\n\t\t\tparams?.privateKey ?? privateKey,\n\t\t\t{\n\t\t\t\talgorithm: 'RS256',\n\t\t\t}\n\t\t);\n\t\treturn validJwt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CreateJwtPayload.html":{"url":"interfaces/CreateJwtPayload.html","title":"interface - CreateJwtPayload","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CreateJwtPayload\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/interface/jwt-payload.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n accountId\n \n \n \n \n isExternalUser\n \n \n \n \n roles\n \n \n \n \n schoolId\n \n \n \n Optional\n \n support\n \n \n \n Optional\n \n systemId\n \n \n \n \n userId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n accountId\n \n \n \n \n \n \n \n \n accountId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n isExternalUser\n \n \n \n \n \n \n \n \n isExternalUser: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n roles\n \n \n \n \n \n \n \n \n roles: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n schoolId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n support\n \n \n \n \n \n \n \n \n support: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n systemId\n \n \n \n \n \n \n \n \n systemId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface CreateJwtPayload {\n\taccountId: string;\n\tuserId: string;\n\tschoolId: string;\n\troles: string[];\n\tsystemId?: string; // without this the user needs to change his PW during first login\n\tsupport?: boolean;\n\t// support UserId is missed see featherJS\n\tisExternalUser: boolean;\n}\n\nexport interface JwtPayload extends CreateJwtPayload {\n\t/** audience */\n\taud: string;\n\t/** expiration in // TODO\n\t *\n\t */\n\texp: number;\n\tiat: number;\n\t/** issuer */\n\tiss: string;\n\tjti: string;\n\n\t/** // TODO\n\t *\n\t */\n\tsub: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CreateNews.html":{"url":"interfaces/CreateNews.html","title":"interface - CreateNews","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CreateNews\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/types/news.types.ts\n \n\n\n \n Description\n \n \n news interface for ceating news\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n Optional\n \n displayAt\n \n \n \n \n target\n \n \n \n \n title\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n content\n \n \n \n \n \n \n \n \n content: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n displayAt\n \n \n \n \n \n \n \n \n displayAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n \n \n target: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import type { Course } from '../entity/course.entity';\nimport type { SchoolEntity } from '../entity/school.entity';\nimport type { TeamEntity } from '../entity/team.entity';\nimport { EntityId } from './entity-id';\n\nexport enum NewsTargetModel {\n\t'School' = 'schools',\n\t'Course' = 'courses',\n\t'Team' = 'teams',\n}\n\n/** news interface for ceating news */\nexport interface CreateNews {\n\ttitle: string;\n\tcontent: string;\n\tdisplayAt?: Date;\n\ttarget: { targetModel: NewsTargetModel; targetId: EntityId };\n}\n\n/** news interface for updating news */\nexport type IUpdateNews = Partial;\n\n/** interface for finding news with optional targetId */\nexport interface INewsScope {\n\ttarget?: { targetModel: NewsTargetModel; targetId?: EntityId };\n\tunpublished?: boolean;\n}\n\nexport type NewsTarget = SchoolEntity | TeamEntity | Course;\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CreateNewsParams.html":{"url":"classes/CreateNewsParams.html","title":"class - CreateNewsParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CreateNewsParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/dto/create-news.params.ts\n \n\n\n \n Description\n \n \n DTO for creating a news document.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n Optional\n displayAt\n \n \n \n \n targetId\n \n \n \n \n targetModel\n \n \n \n \n \n title\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@SanitizeHtml(InputFormat.RICH_TEXT)@ApiProperty({description: 'Content of the News entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/create-news.params.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n displayAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsDate()@IsOptional()@ApiPropertyOptional({description: 'The point in time from when the News entity schould be displayed. Defaults to now so that the news is published'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/create-news.params.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n targetId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({pattern: '[a-f0-9]{24}', description: 'Specific target id to which the News entity is related'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/create-news.params.ts:45\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n targetModel\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(NewsTargetModel)@ApiProperty({enum: NewsTargetModel, description: 'Target model to which the News entity is related'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/create-news.params.ts:38\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@SanitizeHtml()@ApiProperty({description: 'Title of the News entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/create-news.params.ts:15\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\nimport { InputFormat, NewsTargetModel } from '@shared/domain/types';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString } from 'class-validator';\n\n/**\n * DTO for creating a news document.\n */\nexport class CreateNewsParams {\n\t@IsString()\n\t@SanitizeHtml()\n\t@ApiProperty({\n\t\tdescription: 'Title of the News entity',\n\t})\n\ttitle!: string;\n\n\t@IsString()\n\t// TODO add correct validation for input format\n\t@SanitizeHtml(InputFormat.RICH_TEXT)\n\t@ApiProperty({\n\t\tdescription: 'Content of the News entity',\n\t})\n\tcontent!: string;\n\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription:\n\t\t\t'The point in time from when the News entity schould be displayed. Defaults to now so that the news is published',\n\t})\n\tdisplayAt?: Date;\n\n\t@IsEnum(NewsTargetModel)\n\t@ApiProperty({\n\t\tenum: NewsTargetModel,\n\t\tdescription: 'Target model to which the News entity is related',\n\t})\n\ttargetModel!: string;\n\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'Specific target id to which the News entity is related',\n\t})\n\ttargetId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CreateSubmissionItemBodyParams.html":{"url":"classes/CreateSubmissionItemBodyParams.html","title":"class - CreateSubmissionItemBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CreateSubmissionItemBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/submission-item/create-submission-item.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n completed\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n completed\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty({description: 'Boolean indicating whether the submission is completed.', required: true})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/create-submission-item.body.params.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsBoolean } from 'class-validator';\n\nexport class CreateSubmissionItemBodyParams {\n\t@IsBoolean()\n\t@ApiProperty({\n\t\tdescription: 'Boolean indicating whether the submission is completed.',\n\t\trequired: true,\n\t})\n\tcompleted!: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CurrentUserMapper.html":{"url":"classes/CurrentUserMapper.html","title":"class - CurrentUserMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CurrentUserMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/mapper/current-user.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n jwtToICurrentUser\n \n \n Static\n mapCurrentUserToCreateJwtPayload\n \n \n Static\n mapToOauthCurrentUser\n \n \n Static\n userToICurrentUser\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n jwtToICurrentUser\n \n \n \n \n \n \n \n jwtToICurrentUser(jwtPayload: JwtPayload)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/mapper/current-user.mapper.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n jwtPayload\n \n JwtPayload\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ICurrentUser\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapCurrentUserToCreateJwtPayload\n \n \n \n \n \n \n \n mapCurrentUserToCreateJwtPayload(currentUser: ICurrentUser)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/mapper/current-user.mapper.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CreateJwtPayload\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToOauthCurrentUser\n \n \n \n \n \n \n \n mapToOauthCurrentUser(accountId: string, user: UserDO, systemId?: string, externalIdToken?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/mapper/current-user.mapper.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountId\n \n string\n \n\n \n No\n \n\n\n \n \n user\n \n UserDO\n \n\n \n No\n \n\n\n \n \n systemId\n \n string\n \n\n \n Yes\n \n\n\n \n \n externalIdToken\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : OauthCurrentUser\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n userToICurrentUser\n \n \n \n \n \n \n \n userToICurrentUser(accountId: string, user: User, isExternalUser: boolean, systemId?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/mapper/current-user.mapper.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountId\n \n string\n \n\n \n No\n \n\n\n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n isExternalUser\n \n boolean\n \n\n \n No\n \n\n\n \n \n systemId\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : ICurrentUser\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ValidationError } from '@shared/common';\nimport { RoleReference } from '@shared/domain/domainobject';\nimport { UserDO } from '@shared/domain/domainobject/user.do';\nimport { Role, User } from '@shared/domain/entity';\nimport { ICurrentUser, OauthCurrentUser } from '../interface';\nimport { CreateJwtPayload, JwtPayload } from '../interface/jwt-payload';\n\nexport class CurrentUserMapper {\n\tstatic userToICurrentUser(accountId: string, user: User, isExternalUser: boolean, systemId?: string): ICurrentUser {\n\t\treturn {\n\t\t\taccountId,\n\t\t\tsystemId,\n\t\t\troles: user.roles.getItems().map((role: Role) => role.id),\n\t\t\tschoolId: user.school.id,\n\t\t\tuserId: user.id,\n\t\t\tisExternalUser,\n\t\t};\n\t}\n\n\tstatic mapToOauthCurrentUser(\n\t\taccountId: string,\n\t\tuser: UserDO,\n\t\tsystemId?: string,\n\t\texternalIdToken?: string\n\t): OauthCurrentUser {\n\t\tif (!user.id) {\n\t\t\tthrow new ValidationError('user has no ID');\n\t\t}\n\n\t\treturn {\n\t\t\taccountId,\n\t\t\tsystemId,\n\t\t\troles: user.roles.map((roleRef: RoleReference) => roleRef.id),\n\t\t\tschoolId: user.schoolId,\n\t\t\tuserId: user.id,\n\t\t\texternalIdToken,\n\t\t\tisExternalUser: true,\n\t\t};\n\t}\n\n\tstatic mapCurrentUserToCreateJwtPayload(currentUser: ICurrentUser): CreateJwtPayload {\n\t\treturn {\n\t\t\taccountId: currentUser.accountId,\n\t\t\tuserId: currentUser.userId,\n\t\t\tschoolId: currentUser.schoolId,\n\t\t\troles: currentUser.roles,\n\t\t\tsystemId: currentUser.systemId,\n\t\t\tsupport: currentUser.impersonated,\n\t\t\tisExternalUser: currentUser.isExternalUser,\n\t\t};\n\t}\n\n\tstatic jwtToICurrentUser(jwtPayload: JwtPayload): ICurrentUser {\n\t\treturn {\n\t\t\taccountId: jwtPayload.accountId,\n\t\t\tsystemId: jwtPayload.systemId,\n\t\t\troles: jwtPayload.roles,\n\t\t\tschoolId: jwtPayload.schoolId,\n\t\t\tuserId: jwtPayload.userId,\n\t\t\timpersonated: jwtPayload.support,\n\t\t\tisExternalUser: jwtPayload.isExternalUser,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/CustomLtiProperty.html":{"url":"interfaces/CustomLtiProperty.html","title":"interface - CustomLtiProperty","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n CustomLtiProperty\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/ltitool.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n key\n \n \n \n \n value\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n key\n \n \n \n \n \n \n \n \n key: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n value\n \n \n \n \n \n \n \n \n value: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Enum, Property, Unique } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport type ILtiToolProperties = Readonly>;\n\nexport enum LtiRoleType {\n\tLEARNER = 'Learner',\n\tINSTRUCTOR = 'Instructor',\n\tCONTENT_DEVELOPER = 'ContentDeveloper',\n\tADMINISTRATOR = 'Administrator',\n\tMENTOR = 'Mentor',\n\tTEACHING_ASSISTANT = 'TeachingAssistant',\n}\n\nexport enum LtiPrivacyPermission {\n\tANONYMOUS = 'anonymous',\n\tEMAIL = 'e-mail',\n\tNAME = 'name',\n\tPUBLIC = 'public',\n\tPSEUDONYMOUS = 'pseudonymous',\n}\n\nexport interface CustomLtiProperty {\n\tkey: string;\n\tvalue: string;\n}\n\n@Entity({ tableName: 'ltitools' })\nexport class LtiTool extends BaseEntityWithTimestamps {\n\t@Property({ nullable: false })\n\tname: string;\n\n\t@Property({ nullable: false })\n\turl: string;\n\n\t@Property({ nullable: true })\n\tkey: string;\n\n\t@Property({ nullable: false, default: 'none' })\n\tsecret: string;\n\n\t@Property({ nullable: true })\n\tlogo_url?: string;\n\n\t@Property({ nullable: true })\n\tlti_message_type?: string;\n\n\t@Property({ nullable: true })\n\tlti_version?: string;\n\n\t@Property({ nullable: true })\n\tresource_link_id?: string;\n\n\t@Enum({ array: true, items: () => LtiRoleType })\n\t@Property({ nullable: true })\n\troles?: LtiRoleType[];\n\n\t@Enum({\n\t\titems: () => LtiPrivacyPermission,\n\t\tdefault: LtiPrivacyPermission.ANONYMOUS,\n\t\tnullable: false,\n\t})\n\tprivacy_permission: LtiPrivacyPermission;\n\n\t@Property({ nullable: false })\n\tcustoms: CustomLtiProperty[];\n\n\t@Property({ nullable: false, default: false })\n\tisTemplate: boolean;\n\n\t@Property({ nullable: true })\n\tisLocal?: boolean;\n\n\t@Property({ nullable: true, fieldName: 'originTool' })\n\t_originToolId?: ObjectId;\n\n\t@Property({ persist: false, getter: true })\n\tget originToolId(): EntityId | undefined {\n\t\treturn this._originToolId?.toHexString();\n\t}\n\n\t@Property({ nullable: true })\n\toAuthClientId?: string;\n\n\t@Property({ nullable: true })\n\t@Unique({ options: { sparse: true } })\n\tfriendlyUrl?: string;\n\n\t@Property({ nullable: true })\n\tskipConsent?: boolean;\n\n\t@Property({ nullable: false, default: false })\n\topenNewTab: boolean;\n\n\t@Property({ nullable: true })\n\tfrontchannel_logout_uri?: string;\n\n\t@Property({ nullable: false, default: false })\n\tisHidden: boolean;\n\n\tconstructor(props: ILtiToolProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.url = props.url;\n\t\tthis.key = props.key || 'none';\n\t\tthis.secret = props.secret || 'none';\n\t\tthis.logo_url = props.logo_url;\n\t\tthis.lti_message_type = props.lti_message_type;\n\t\tthis.lti_version = props.lti_version;\n\t\tthis.resource_link_id = props.resource_link_id;\n\t\tthis.roles = props.roles || [];\n\t\tthis.privacy_permission = props.privacy_permission || LtiPrivacyPermission.ANONYMOUS;\n\t\tthis.customs = props.customs || [];\n\t\tthis.isTemplate = props.isTemplate || false;\n\t\tthis.isLocal = props.isLocal;\n\t\tif (props.originToolId !== undefined) {\n\t\t\tthis._originToolId = new ObjectId(props.originToolId);\n\t\t}\n\t\tthis.oAuthClientId = props.oAuthClientId;\n\t\tthis.friendlyUrl = props.friendlyUrl;\n\t\tthis.skipConsent = props.skipConsent;\n\t\tthis.openNewTab = props.openNewTab || false;\n\t\tthis.frontchannel_logout_uri = props.frontchannel_logout_uri;\n\t\tthis.isHidden = props.isHidden || false;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CustomLtiPropertyDO.html":{"url":"classes/CustomLtiPropertyDO.html","title":"class - CustomLtiPropertyDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CustomLtiPropertyDO\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/ltitool.do.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n key\n \n \n value\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(key: string, value: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n key\n \n \n string\n \n \n \n No\n \n \n \n \n value\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n key\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n value\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { LtiPrivacyPermission, LtiRoleType } from '@shared/domain/entity/ltitool.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseDO } from './base.do';\n\nexport class CustomLtiPropertyDO {\n\tkey: string;\n\n\tvalue: string;\n\n\tconstructor(key: string, value: string) {\n\t\tthis.key = key;\n\t\tthis.value = value;\n\t}\n}\n\nexport class LtiToolDO extends BaseDO {\n\tname: string;\n\n\turl: string;\n\n\tkey: string;\n\n\tsecret: string;\n\n\tlogo_url?: string;\n\n\tlti_message_type?: string;\n\n\tlti_version?: string;\n\n\tresource_link_id?: string;\n\n\troles: LtiRoleType[];\n\n\tprivacy_permission: LtiPrivacyPermission;\n\n\tcustoms: CustomLtiPropertyDO[];\n\n\tisTemplate: boolean;\n\n\tisLocal?: boolean;\n\n\toriginToolId?: EntityId;\n\n\toAuthClientId?: string;\n\n\tfriendlyUrl?: string;\n\n\tskipConsent?: boolean;\n\n\topenNewTab: boolean;\n\n\tfrontchannel_logout_uri?: string;\n\n\tisHidden: boolean;\n\n\tconstructor(domainObject: LtiToolDO) {\n\t\tsuper(domainObject.id);\n\n\t\tthis.name = domainObject.name;\n\t\tthis.url = domainObject.url;\n\t\tthis.key = domainObject.key;\n\t\tthis.secret = domainObject.secret;\n\t\tthis.logo_url = domainObject.logo_url;\n\t\tthis.lti_message_type = domainObject.lti_message_type;\n\t\tthis.lti_version = domainObject.lti_version;\n\t\tthis.resource_link_id = domainObject.resource_link_id;\n\t\tthis.roles = domainObject.roles;\n\t\tthis.privacy_permission = domainObject.privacy_permission;\n\t\tthis.customs = domainObject.customs;\n\t\tthis.isTemplate = domainObject.isTemplate;\n\t\tthis.isLocal = domainObject.isLocal;\n\t\tthis.originToolId = domainObject.originToolId;\n\t\tthis.oAuthClientId = domainObject.oAuthClientId;\n\t\tthis.friendlyUrl = domainObject.friendlyUrl;\n\t\tthis.skipConsent = domainObject.skipConsent;\n\t\tthis.openNewTab = domainObject.openNewTab;\n\t\tthis.frontchannel_logout_uri = domainObject.frontchannel_logout_uri;\n\t\tthis.isHidden = domainObject.isHidden;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CustomParameter.html":{"url":"classes/CustomParameter.html","title":"class - CustomParameter","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CustomParameter\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/domain/custom-parameter.do.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n default\n \n \n Optional\n description\n \n \n displayName\n \n \n isOptional\n \n \n location\n \n \n name\n \n \n Optional\n regex\n \n \n Optional\n regexComment\n \n \n scope\n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: CustomParameter)\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter.do.ts:22\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n CustomParameter\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n default\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter.do.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter.do.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter.do.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n isOptional\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter.do.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n location\n \n \n \n \n \n \n Type : CustomParameterLocation\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter.do.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter.do.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n regex\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter.do.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n regexComment\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter.do.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n scope\n \n \n \n \n \n \n Type : CustomParameterScope\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter.do.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : CustomParameterType\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter.do.ts:20\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { CustomParameterScope, CustomParameterLocation, CustomParameterType } from '../enum';\n\nexport class CustomParameter {\n\tname: string;\n\n\tdisplayName: string;\n\n\tdescription?: string;\n\n\tdefault?: string;\n\n\tregex?: string;\n\n\tregexComment?: string;\n\n\tscope: CustomParameterScope;\n\n\tlocation: CustomParameterLocation;\n\n\ttype: CustomParameterType;\n\n\tisOptional: boolean;\n\n\tconstructor(props: CustomParameter) {\n\t\tthis.name = props.name;\n\t\tthis.displayName = props.displayName;\n\t\tthis.description = props.description;\n\t\tthis.default = props.default;\n\t\tthis.location = props.location;\n\t\tthis.scope = props.scope;\n\t\tthis.type = props.type;\n\t\tthis.regex = props.regex;\n\t\tthis.regexComment = props.regexComment;\n\t\tthis.isOptional = props.isOptional;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CustomParameterEntity.html":{"url":"classes/CustomParameterEntity.html","title":"class - CustomParameterEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CustomParameterEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n default\n \n \n \n Optional\n description\n \n \n \n displayName\n \n \n \n isOptional\n \n \n \n location\n \n \n \n name\n \n \n \n Optional\n regex\n \n \n \n Optional\n regexComment\n \n \n \n scope\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: CustomParameterEntity)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts:34\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n CustomParameterEntity\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n default\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n isOptional\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n \n location\n \n \n \n \n \n \n Type : CustomParameterLocation\n\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n regex\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n regexComment\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n scope\n \n \n \n \n \n \n Type : CustomParameterScope\n\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : CustomParameterType\n\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/custom-parameter/custom-parameter.entity.ts:31\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Enum, Property } from '@mikro-orm/core';\nimport { CustomParameterLocation, CustomParameterScope, CustomParameterType } from '../../../common/enum';\n\n@Embeddable()\nexport class CustomParameterEntity {\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tdisplayName: string;\n\n\t@Property({ nullable: true })\n\tdescription?: string;\n\n\t@Property({ nullable: true })\n\tdefault?: string;\n\n\t@Property({ nullable: true })\n\tregex?: string;\n\n\t@Property({ nullable: true })\n\tregexComment?: string;\n\n\t@Enum()\n\tscope: CustomParameterScope;\n\n\t@Enum()\n\tlocation: CustomParameterLocation;\n\n\t@Enum()\n\ttype: CustomParameterType;\n\n\t@Property()\n\tisOptional: boolean;\n\n\tconstructor(props: CustomParameterEntity) {\n\t\tthis.name = props.name;\n\t\tthis.displayName = props.displayName;\n\t\tthis.description = props.description;\n\t\tthis.default = props.default;\n\t\tthis.location = props.location;\n\t\tthis.scope = props.scope;\n\t\tthis.type = props.type;\n\t\tthis.regex = props.regex;\n\t\tthis.regexComment = props.regexComment;\n\t\tthis.isOptional = props.isOptional;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CustomParameterEntry.html":{"url":"classes/CustomParameterEntry.html","title":"class - CustomParameterEntry","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CustomParameterEntry\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/domain/custom-parameter-entry.do.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n name\n \n \n Optional\n value\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: CustomParameterEntry)\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter-entry.do.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n CustomParameterEntry\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter-entry.do.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n value\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/common/domain/custom-parameter-entry.do.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class CustomParameterEntry {\n\tname: string;\n\n\tvalue?: string;\n\n\tconstructor(props: CustomParameterEntry) {\n\t\tthis.name = props.name;\n\t\tthis.value = props.value;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CustomParameterEntryEntity.html":{"url":"classes/CustomParameterEntryEntity.html","title":"class - CustomParameterEntryEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CustomParameterEntryEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/entity/custom-parameter-entry.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n name\n \n \n \n Optional\n value\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: CustomParameterEntryEntity)\n \n \n \n \n Defined in apps/server/src/modules/tool/common/entity/custom-parameter-entry.entity.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n CustomParameterEntryEntity\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/common/entity/custom-parameter-entry.entity.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n value\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/common/entity/custom-parameter-entry.entity.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Property } from '@mikro-orm/core';\n\n@Embeddable()\nexport class CustomParameterEntryEntity {\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tvalue?: string;\n\n\tconstructor(props: CustomParameterEntryEntity) {\n\t\tthis.name = props.name;\n\t\tthis.value = props.value;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CustomParameterEntryParam.html":{"url":"classes/CustomParameterEntryParam.html","title":"class - CustomParameterEntryParam","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CustomParameterEntryParam\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/controller/dto/custom-parameter-entry.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n Optional\n value\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/custom-parameter-entry.params.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n value\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/custom-parameter-entry.params.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsOptional, IsString } from 'class-validator';\n\nexport class CustomParameterEntryParam {\n\t@IsString()\n\t@ApiProperty()\n\tname!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tvalue?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CustomParameterEntryResponse.html":{"url":"classes/CustomParameterEntryResponse.html","title":"class - CustomParameterEntryResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CustomParameterEntryResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/controller/dto/custom-parameter-entry.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n name\n \n \n \n \n Optional\n value\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: CustomParameterEntryResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/custom-parameter-entry.response.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n CustomParameterEntryResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/custom-parameter-entry.response.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n value\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/custom-parameter-entry.response.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\n\nexport class CustomParameterEntryResponse {\n\t@ApiProperty()\n\tname: string;\n\n\t@ApiProperty()\n\t@ApiPropertyOptional()\n\tvalue?: string;\n\n\tconstructor(props: CustomParameterEntryResponse) {\n\t\tthis.name = props.name;\n\t\tthis.value = props.value;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CustomParameterFactory.html":{"url":"classes/CustomParameterFactory.html","title":"class - CustomParameterFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CustomParameterFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/domainobject/tool/external-tool.factory.ts\n \n\n\n\n \n Extends\n \n \n DoBaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n buildListWithEachType\n \n \n \n buildWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n buildListWithEachType\n \n \n \n \n \n \nbuildListWithEachType(params?: DeepPartial)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/domainobject/tool/external-tool.factory.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : CustomParameter[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \n \n buildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CustomParameter } from '@modules/tool/common/domain';\nimport {\n\tCustomParameterLocation,\n\tCustomParameterScope,\n\tCustomParameterType,\n\tLtiMessageType,\n\tLtiPrivacyPermission,\n\tTokenEndpointAuthMethod,\n\tToolConfigType,\n} from '@modules/tool/common/enum';\nimport {\n\tBasicToolConfig,\n\tExternalTool,\n\tExternalToolProps,\n\tLti11ToolConfig,\n\tOauth2ToolConfig,\n} from '@modules/tool/external-tool/domain';\nimport { DeepPartial } from 'fishery';\nimport { DoBaseFactory } from '../do-base.factory';\n\nexport const basicToolConfigFactory = DoBaseFactory.define(BasicToolConfig, () => {\n\treturn {\n\t\ttype: ToolConfigType.BASIC,\n\t\tbaseUrl: 'https://www.basic-baseUrl.com/',\n\t};\n});\n\nclass Oauth2ToolConfigFactory extends DoBaseFactory {\n\twithExternalData(oauth2Params?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tclientSecret: 'clientSecret',\n\t\t\tscope: 'offline openid',\n\t\t\tfrontchannelLogoutUri: 'https://www.frontchannel.com/',\n\t\t\tredirectUris: ['https://www.redirect.com/'],\n\t\t\ttokenEndpointAuthMethod: TokenEndpointAuthMethod.CLIENT_SECRET_POST,\n\t\t};\n\n\t\treturn this.params({ ...params, ...oauth2Params });\n\t}\n}\n\nexport const oauth2ToolConfigFactory = Oauth2ToolConfigFactory.define(Oauth2ToolConfig, () => {\n\treturn {\n\t\ttype: ToolConfigType.OAUTH2,\n\t\tbaseUrl: 'https://www.oauth2-baseUrl.com/',\n\t\tclientId: 'clientId',\n\t\tskipConsent: false,\n\t};\n});\n\nexport const lti11ToolConfigFactory = DoBaseFactory.define(Lti11ToolConfig, () => {\n\treturn {\n\t\ttype: ToolConfigType.LTI11,\n\t\tbaseUrl: 'https://www.lti11-baseUrl.com/',\n\t\tkey: 'key',\n\t\tsecret: 'secret',\n\t\tprivacy_permission: LtiPrivacyPermission.PSEUDONYMOUS,\n\t\tlti_message_type: LtiMessageType.BASIC_LTI_LAUNCH_REQUEST,\n\t\tresource_link_id: 'linkId',\n\t\tlaunch_presentation_locale: 'de-DE',\n\t};\n});\n\nclass CustomParameterFactory extends DoBaseFactory {\n\tbuildListWithEachType(params?: DeepPartial): CustomParameter[] {\n\t\tconst globalParameter = this.build({ ...params, scope: CustomParameterScope.GLOBAL });\n\t\tconst schoolParameter = this.build({ ...params, scope: CustomParameterScope.SCHOOL });\n\t\tconst contextParameter = this.build({ ...params, scope: CustomParameterScope.CONTEXT });\n\n\t\treturn [globalParameter, schoolParameter, contextParameter];\n\t}\n}\n\nexport const customParameterFactory = CustomParameterFactory.define(CustomParameter, ({ sequence }) => {\n\treturn {\n\t\tname: `custom-parameter-${sequence}`,\n\t\tdisplayName: 'User Friendly Name',\n\t\ttype: CustomParameterType.STRING,\n\t\tscope: CustomParameterScope.SCHOOL,\n\t\tlocation: CustomParameterLocation.BODY,\n\t\tisOptional: false,\n\t};\n});\n\nclass ExternalToolFactory extends DoBaseFactory {\n\twithOauth2Config(customParam?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tconfig: oauth2ToolConfigFactory.build(customParam),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithLti11Config(customParam?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tconfig: lti11ToolConfigFactory.build(customParam),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithCustomParameters(number: number, customParam?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tparameters: customParameterFactory.buildList(number, customParam),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithBase64Logo(): this {\n\t\tconst params: DeepPartial = {\n\t\t\tlogo: 'iVBORw0KGgoAAAANSUhEUgAAAfQAAADICAYAAAAeGRPoAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjQ2MUQ2Q0Y5RTQxMTExRTdBMTg3QkQ2MDVGMUFEMUIwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjQ2MUQ2Q0ZBRTQxMTExRTdBMTg3QkQ2MDVGMUFEMUIwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NDYxRDZDRjdFNDExMTFFN0ExODdCRDYwNUYxQUQxQjAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NDYxRDZDRjhFNDExMTFFN0ExODdCRDYwNUYxQUQxQjAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz45EjsrAAALfUlEQVR42uzdgXWjOAIGYHLvGsiV4CnBU4JTgqeEpIS4hKSEpIS4BLsEu4RJCeMScmhGzPplkyCMAGO+7z3ezs3tYsuS+BEIcfX29lYAAOP2Hz8BAAh0AECgAwACHQAQ6AAg0AEAgQ4ACHQAQKADgEAHAAQ6ACDQAQCBDgACHQAQ6ACAQAcABDoACHQAQKADAAIdABDoACDQAQCBDgAIdABAoAOAQAcABDoAINABAIEOAAIdABDoAIBABwAEOgAIdABAoAMAAh0AEOgAINABAIEOAAh0AECgA4BABwAEOgAg0AEAgQ4ACHQAEOgAgEAHAAQ6ACDQAUCgAwACHQAQ6ACAQAcAgQ4ACHQAQKADAAIdAAQ6ACDQAQCBDgAIdAAQ6ACAQAcABDoAINABQKADAAIdABDoAIBABwCBDgAIdABAoAMAAh0ABDoAINABgN79109AbldXV9flPxblNov/DOblFv7+UG77+HfVn39vb29vB78emdpg1fauP2iDwWvcgm3883aMbbAs6/yorPP414ujf+W4z+2r/12WdasOL6zdl4Ufa4fdvGu0gyp/x6sTyjD0jx8a/03GOgn1cVtuyxN3EQ4267CV3+t16u2jhz701lfb6DEAlnGbt2yDz+ccDDHEq7LOTtzNIZY11PVaHV6AEOhj3ErhgP12LtuJZRj6e28y1cW8g/p4CgeqKbePHvpQ522jp3LMYnvJWWe/2rbBjsq66Kht/wwn4+pw3Jt76LQ9o76NB5jco+Gw35/l/p/iJXx43/auy+2+CqPMu7+O+9zFzziHsj511Nf+Bmr5GT/jlTZ1OEICnbZh/lT8c0+rC1WwL/3ivLvkvCu3h44/KrTth/LzdvFy8BBlXXQUeJ8F+6b8zIeuT6SnVIcCnXM/oC5jmPchdMiXqZxlk3QiuStOv3d8inkc6c0HKOum45Pmj9zHYJ+pQ4HOZR9Qr08I8zBRZRu3U4RJcs9+fWHe44nkRyeWu/gd+ijr04BlrRzU4Xh4bI1T3CaMGMKB4LH4M4N2/0Gnrh5JqWbr1u3vzmNtwrxhEFSzuEP7ez1+TCu2v9lR+2syagv3mvcfteuMZb0vml1ifz0q6/74KZF3Za3Km/Lb/cjd56ZUh4OYyuy/1NnPZhknfe9fNd/9JQR0g/1Vk1d+frK/hym2D+3vX7O7G83YbtgGm86yDn1g1lFZlw3Lumy4/9Df7mv68VwdjrBPC3SBnrlT7lru//2BZtekUwv0y2t/MYB+JR6kH9q0lzjK2yV+1q6jx7dSy3qf4Xe9/2C/t+rQY2tMQ91lrceWV4zCf/8tXmZzqZ2iSH+SIrSVVZv2Ei/BhgV1UuZrzDuYqJlS1upyeNu+doj7+F78s+LaY/l3z+pwnAQ6WQM9x4pT8UDzI3TKi7vHRdN7rovEe753uYIotr+7xEC4zzUTPD45kvIM+E3Old1iH/sew3ylDgU609Hb4zPnvtY0vUgZPd11MaqMgbBP6A+5RngPiWXdd1DWQxdhPsE6FOhc1IjKqm7kHNnVjVjXHV0iroQrRXWXf2/btvtY1tnAZVWHAp2JqesYVnQjl5S2tOryC8THv1LuVbd9rvk2od+t1OFZ16FAZ3TqLl89XPJKTPQ2srtOCIPHtm/lSwyEEAZ1n7PsuKzPfZRVHQp0pqWuU4ROvLnUlZjoTfUe7C9DrsfvU/dZ8xYTq5YZPl8dDluHAp1RSpmo9ntp2Pjmpnv31TlB3VWefc8j1nWG7/yZ2ZmVVR0KdKYgPh+aelYdDlRh5u6vMtQ3MdxdjidHGKx7bvchePYJ7X30ZVWHAp38FmX4vXWwbTJ8t3A/qunCD4sY7uHFCCHgX2LAz1Q1n7SXL0d3A3ynbcvvPKayqsMR8nIWTjrTLYM4zEw99Y1J1WSZsIVJdNWLJdYWkiHREJegD2Mqa3ineZHpEnLZL2/UoUDnckP9uTxgFEWe1yCGUXpY2CGM2EOgP4/teVvySbktM9A95bqTzcUJZV10WNb5UCPOKdXhOXHJnVahXqQt2tD0IFRNqPNM+zSZRKkOEegMEOrhUnl4mcoqc7CHUXu4z/5kljyAQKefUD8cvSUtBHvOS2nhefaNUGcEvBVQHQp0LivYyy0E+++3NxV5ZrKGy/AvfuHJtKPatQ4Gevyx9nnxCyqrOhToZLQtO8VVB9tNTx16H99rHIL9f8Wfe+1tAn5xSe8tpvMDcxeuJ1RWdSjQ4dOR+/oo4MMIPrzWsOnCEladm9AJbc3/P8TobtHyO5/6381O7Hc3qSf6RTcvSJlSHQp0Jhvwr2GGfLn9iKP31Al1KS974DKc1Ys04onkouV3HkVZ1aFAhzaj92pCXcqz55aOnYbaJTp7vgebEj7bjso61peGTKkOBTq8C/a7hFC3VOw0pNyO6fONfnWftY3vOTjF9szKqg4FOmRRdy9v4SeaxgleQiDc9jFyja8C7uxFI4kvDbkd2yh9SnUo0OHzg8DWL0HiAfapyy8Q77vWPV1xKNqHQd2VqfA9HtThWdehQGecQieJZ73Q1cldOMDWTVLq+nHGEKJ1I8jHtpdq4zLKdftYjq3PTakOBTpjFl7D+hTf6JTbV4+meRvbtKQ8TvXQRdCFZYeL+vuuhyJtMmeKx8SyztXh2dahQGd0o/PQSaqDSng2fJPrPljcz1cHrFc1MLlResotmKeco7zEIMg6sotPe9S173Cyu+ngxUVzdSjQmV6Y337QScJEtV2mzlh3P80IfXruirR1CsIo76XN4kPhhDKcoCYGwTaGcO6y1gnle8nR38JoP5Z3qQ4FOtMK88UXgXsdO2N47elt0w4Z78m/FPWz2NdqYnKj9DBqTV3JLARTaIONVhWMIRACclekPUkRwulHB2UNI9nUgPnb307py3EEm1pedTiGY3T5Q08tlDZfVXZcBrGv7zL4j59a3njfblM0Wwv5OY6ow7ru+y/2u4xn03X73na9Fv05tY9Lbn+n/I7xYN10zsa6aoOxHR6qE8jiz2XmamsyQg37uPmsTWeqm5cTvlNV1tfjl6MclbW6nbUoGq7nkKvdT6kOBbpAP+dAv46B3uZe26H455L5rGi+SMz3rjugQD/fQI/fOfW+aFd6CYJM/S2XcI95lbFsk6jDIbjkTuoB+BBfrNLmflO1lnLjEUJpdYkdkMbtMNyLXQ308b0FQRyFhqtRQ86+/n1JOmeYT6kOBTpjOKCu4oGmz9nmz5c0cYXWbfAxtsE+ZyaHS9jf+gyCo+WQhwi/dSzvWh0KdC77gBo6xvci/S1pbaziQQ3et8HUF/q0HdHdxVeRHgYqaxV+fQTRaxzB/ui6vFOqQ4HOuR9Qj9+StupgxL6PBxYjc+pGsDdF/uWCD7Fdf4uruA1+AhNved0V3VwdC79fCPFvxxPq1OG4mBT37wZmUtzp5VnG3zb889TnSMMlvnVXl/rG1D4uuf118TvGRYluY/ubtWh/29gGD2dcdzn62j6W9Tk+VnYO5ZpMHQp0xhQW1aMk1+8Csvrz69FIYxv/vJ1aB6TTYKgmX87ftb3j9lc9eTHa9hf7WlXW2Qdl3cdyjqqsU6pDgQ4A/OUeOgAIdABAoAMAAh0AEOgAINABAIEOAAh0AECgA4BABwAEOgAg0AEAgQ4AAh0AEOgAgEAHAAQ6AAh0AECgAwACHQAQ6AAg0AEAgQ4ACHQAQKADgEAHAAQ6ACDQAQCBDgACHQAQ6ACAQAcABDoACHQAQKADAAIdABDoACDQAQCBDgAIdABAoAOAQAcABDoAINABAIEOAAh0ABDoAIBABwAEOgAg0AFAoAMAAh0AEOgAgEAHAIEOAAh0AECgAwACHQAEOgAg0AEAgQ4ACHQAEOgAgEAHAAQ6ACDQAUCgAwACHQAQ6ACAQAcAgQ4ACHQAQKADAAIdAAQ6ACDQAYD+/V+AAQADXuXS75wQpQAAAABJRU5ErkJggg==',\n\t\t};\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const externalToolFactory = ExternalToolFactory.define(ExternalTool, ({ sequence }) => {\n\treturn {\n\t\tname: `external-tool-${sequence}`,\n\t\turl: 'https://url.com/',\n\t\tconfig: basicToolConfigFactory.build(),\n\t\tlogoUrl: 'https://logo.com/',\n\t\tisHidden: false,\n\t\topenNewTab: false,\n\t\tversion: 1,\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CustomParameterPostParams.html":{"url":"classes/CustomParameterPostParams.html","title":"class - CustomParameterPostParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CustomParameterPostParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/custom-parameter.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n defaultValue\n \n \n \n \n \n Optional\n description\n \n \n \n \n \n displayName\n \n \n \n \n isOptional\n \n \n \n \n location\n \n \n \n \n \n name\n \n \n \n \n \n Optional\n regex\n \n \n \n \n \n Optional\n regexComment\n \n \n \n \n scope\n \n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n defaultValue\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/custom-parameter.params.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/custom-parameter.params.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/custom-parameter.params.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n isOptional\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/custom-parameter.params.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n location\n \n \n \n \n \n \n Type : CustomParameterLocationParams\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(CustomParameterLocationParams)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/custom-parameter.params.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/custom-parameter.params.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n regex\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/custom-parameter.params.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n regexComment\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/custom-parameter.params.ts:38\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n scope\n \n \n \n \n \n \n Type : CustomParameterScopeTypeParams\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(CustomParameterScopeTypeParams)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/custom-parameter.params.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : CustomParameterTypeParams\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(CustomParameterTypeParams)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/custom-parameter.params.ts:50\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsBoolean, IsEnum, IsNotEmpty, IsOptional, IsString } from 'class-validator';\nimport {\n\tCustomParameterLocationParams,\n\tCustomParameterScopeTypeParams,\n\tCustomParameterTypeParams,\n} from '../../../../common/enum';\n\nexport class CustomParameterPostParams {\n\t@IsString()\n\t@IsNotEmpty()\n\t@ApiProperty()\n\tname!: string;\n\n\t@IsString()\n\t@IsNotEmpty()\n\t@ApiProperty()\n\tdisplayName!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tdefaultValue?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tregex?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tregexComment?: string;\n\n\t@IsEnum(CustomParameterScopeTypeParams)\n\t@ApiProperty()\n\tscope!: CustomParameterScopeTypeParams;\n\n\t@IsEnum(CustomParameterLocationParams)\n\t@ApiProperty()\n\tlocation!: CustomParameterLocationParams;\n\n\t@IsEnum(CustomParameterTypeParams)\n\t@ApiProperty()\n\ttype!: CustomParameterTypeParams;\n\n\t@IsBoolean()\n\t@ApiProperty()\n\tisOptional!: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/CustomParameterResponse.html":{"url":"classes/CustomParameterResponse.html","title":"class - CustomParameterResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n CustomParameterResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n defaultValue\n \n \n \n Optional\n description\n \n \n \n displayName\n \n \n \n isOptional\n \n \n \n location\n \n \n \n name\n \n \n \n Optional\n regex\n \n \n \n Optional\n regexComment\n \n \n \n scope\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: CustomParameterResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts:37\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n CustomParameterResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n defaultValue\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n isOptional\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n \n location\n \n \n \n \n \n \n Type : CustomParameterLocationParams\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: CustomParameterLocationParams})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n regex\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n regexComment\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n scope\n \n \n \n \n \n \n Type : CustomParameterScopeTypeParams\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: CustomParameterScopeTypeParams})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : CustomParameterTypeParams\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: CustomParameterTypeParams})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/custom-parameter.response.ts:34\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport {\n\tCustomParameterLocationParams,\n\tCustomParameterScopeTypeParams,\n\tCustomParameterTypeParams,\n} from '../../../../common/enum';\n\nexport class CustomParameterResponse {\n\t@ApiProperty()\n\tname: string;\n\n\t@ApiProperty()\n\tdisplayName: string;\n\n\t@ApiPropertyOptional()\n\tdescription?: string;\n\n\t@ApiPropertyOptional()\n\tdefaultValue?: string;\n\n\t@ApiPropertyOptional()\n\tregex?: string;\n\n\t@ApiPropertyOptional()\n\tregexComment?: string;\n\n\t@ApiProperty({ enum: CustomParameterScopeTypeParams })\n\tscope: CustomParameterScopeTypeParams;\n\n\t@ApiProperty({ enum: CustomParameterLocationParams })\n\tlocation: CustomParameterLocationParams;\n\n\t@ApiProperty({ enum: CustomParameterTypeParams })\n\ttype: CustomParameterTypeParams;\n\n\t@ApiProperty()\n\tisOptional: boolean;\n\n\tconstructor(props: CustomParameterResponse) {\n\t\tthis.name = props.name;\n\t\tthis.displayName = props.displayName;\n\t\tthis.description = props.description;\n\t\tthis.defaultValue = props.defaultValue;\n\t\tthis.location = props.location;\n\t\tthis.scope = props.scope;\n\t\tthis.type = props.type;\n\t\tthis.regex = props.regex;\n\t\tthis.regexComment = props.regexComment;\n\t\tthis.isOptional = props.isOptional;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/DashboardController.html":{"url":"controllers/DashboardController.html","title":"controller - DashboardController","body":"\n \n\n\n\n\n\n\n Controllers\n DashboardController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dashboard.controller.ts\n \n\n \n Prefix\n \n \n dashboard\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n findForUser\n \n \n \n Async\n moveElement\n \n \n \n Async\n patchGroup\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n findForUser\n \n \n \n \n \n \n \n findForUser(currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get()\n \n \n\n \n \n Defined in apps/server/src/modules/learnroom/controller/dashboard.controller.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n moveElement\n \n \n \n \n \n \n \n moveElement(undefined: DashboardUrlParams, params: MoveElementParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Patch(':dashboardId/moveElement')\n \n \n\n \n \n Defined in apps/server/src/modules/learnroom/controller/dashboard.controller.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n DashboardUrlParams\n \n\n \n No\n \n\n\n \n \n params\n \n MoveElementParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n patchGroup\n \n \n \n \n \n \n \n patchGroup(urlParams: DashboardUrlParams, x: number, y: number, params: PatchGroupParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Patch(':dashboardId/element')\n \n \n\n \n \n Defined in apps/server/src/modules/learnroom/controller/dashboard.controller.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n DashboardUrlParams\n \n\n \n No\n \n\n\n \n \n x\n \n number\n \n\n \n No\n \n\n\n \n \n y\n \n number\n \n\n \n No\n \n\n\n \n \n params\n \n PatchGroupParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, Get, Param, Patch, Query } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { DashboardMapper } from '../mapper/dashboard.mapper';\nimport { DashboardUc } from '../uc/dashboard.uc';\nimport { DashboardResponse, DashboardUrlParams, MoveElementParams, PatchGroupParams } from './dto';\n\n@ApiTags('Dashboard')\n@Authenticate('jwt')\n@Controller('dashboard')\nexport class DashboardController {\n\tconstructor(private readonly dashboardUc: DashboardUc) {}\n\n\t@Get()\n\tasync findForUser(@CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst dashboard = await this.dashboardUc.getUsersDashboard(currentUser.userId);\n\t\tconst dto = DashboardMapper.mapToResponse(dashboard);\n\t\treturn dto;\n\t}\n\n\t@Patch(':dashboardId/moveElement')\n\tasync moveElement(\n\t\t@Param() { dashboardId }: DashboardUrlParams,\n\t\t@Body() params: MoveElementParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst dashboard = await this.dashboardUc.moveElementOnDashboard(\n\t\t\tdashboardId,\n\t\t\tparams.from,\n\t\t\tparams.to,\n\t\t\tcurrentUser.userId\n\t\t);\n\t\tconst dto = DashboardMapper.mapToResponse(dashboard);\n\t\treturn dto;\n\t}\n\n\t@Patch(':dashboardId/element')\n\tasync patchGroup(\n\t\t@Param() urlParams: DashboardUrlParams,\n\t\t@Query('x') x: number,\n\t\t@Query('y') y: number,\n\t\t@Body() params: PatchGroupParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst dashboard = await this.dashboardUc.renameGroupOnDashboard(\n\t\t\turlParams.dashboardId,\n\t\t\t{ x, y },\n\t\t\tparams.title,\n\t\t\tcurrentUser.userId\n\t\t);\n\t\tconst dto = DashboardMapper.mapToResponse(dashboard);\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DashboardEntity.html":{"url":"classes/DashboardEntity.html","title":"class - DashboardEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DashboardEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/dashboard.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n columns\n \n \n grid\n \n \n id\n \n \n userId\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n addRoom\n \n \n Private\n allRooms\n \n \n Private\n determineNewRoomsIn\n \n \n getElement\n \n \n Private\n getFirstOpenIndex\n \n \n getGrid\n \n \n getId\n \n \n Private\n getReferencesFromPosition\n \n \n getUserId\n \n \n Private\n gridIndexFromPosition\n \n \n Private\n mergeElementIntoPosition\n \n \n moveElement\n \n \n Private\n positionFromGridIndex\n \n \n Private\n removeFromPosition\n \n \n Private\n removeRoomsNotInList\n \n \n setLearnRooms\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(id: string, props: DashboardProps)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:180\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n \n string\n \n \n \n No\n \n \n \n \n props\n \n \n DashboardProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n columns\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:163\n \n \n\n\n \n \n \n \n \n \n \n \n grid\n \n \n \n \n \n \n Type : Map\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:165\n \n \n\n\n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:161\n \n \n\n\n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:167\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n addRoom\n \n \n \n \n \n \n \n addRoom(room: Learnroom)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:272\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n room\n \n Learnroom\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n allRooms\n \n \n \n \n \n \n \n allRooms()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:266\n \n \n\n\n \n \n\n \n Returns : Learnroom[]\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n determineNewRoomsIn\n \n \n \n \n \n \n \n determineNewRoomsIn(rooms: Learnroom[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:255\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n rooms\n \n Learnroom[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Learnroom[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getElement\n \n \n \n \n \n \ngetElement(position: GridPosition)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:213\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n position\n \n GridPosition\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : IGridElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getFirstOpenIndex\n \n \n \n \n \n \n \n getFirstOpenIndex()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:278\n \n \n\n\n \n \n\n \n Returns : number\n\n \n \n \n \n \n \n \n \n \n \n \n getGrid\n \n \n \n \n \n \ngetGrid()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:201\n \n \n\n\n \n \n\n \n Returns : GridElementWithPosition[]\n\n \n \n \n \n \n \n \n \n \n \n \n getId\n \n \n \n \n \n \ngetId()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:193\n \n \n\n\n \n \n\n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n getReferencesFromPosition\n \n \n \n \n \n \n \n getReferencesFromPosition(position: GridPositionWithGroupIndex)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:286\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n position\n \n GridPositionWithGroupIndex\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : IGridElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getUserId\n \n \n \n \n \n \ngetUserId()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:197\n \n \n\n\n \n \n\n \n Returns : EntityId\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n gridIndexFromPosition\n \n \n \n \n \n \n \n gridIndexFromPosition(pos: GridPosition)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:169\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pos\n \n GridPosition\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : number\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mergeElementIntoPosition\n \n \n \n \n \n \n \n mergeElementIntoPosition(element: IGridElement, position: GridPosition)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:307\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n IGridElement\n \n\n \n No\n \n\n\n \n \n position\n \n GridPosition\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : IGridElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n moveElement\n \n \n \n \n \n \nmoveElement(from: GridPositionWithGroupIndex, to: GridPositionWithGroupIndex)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:221\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n from\n \n GridPositionWithGroupIndex\n \n\n \n No\n \n\n\n \n \n to\n \n GridPositionWithGroupIndex\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GridElementWithPosition\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n positionFromGridIndex\n \n \n \n \n \n \n \n positionFromGridIndex(index: number)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:176\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n index\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GridPosition\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeFromPosition\n \n \n \n \n \n \n \n removeFromPosition(position: GridPositionWithGroupIndex)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:298\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n position\n \n GridPositionWithGroupIndex\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeRoomsNotInList\n \n \n \n \n \n \n \n removeRoomsNotInList(roomList: Learnroom[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:240\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roomList\n \n Learnroom[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setLearnRooms\n \n \n \n \n \n \nsetLearnRooms(rooms: Learnroom[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:231\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n rooms\n \n Learnroom[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BadRequestException, NotFoundException } from '@nestjs/common';\nimport { Learnroom } from '@shared/domain/interface';\nimport { EntityId, LearnroomMetadata } from '@shared/domain/types';\n\nconst defaultColumns = 4;\n\nexport interface IGridElement {\n\thasId(): boolean;\n\n\tgetId: () => EntityId | undefined;\n\n\tgetContent: () => GridElementContent;\n\n\tisGroup(): boolean;\n\n\tremoveReferenceByIndex(index: number): void;\n\n\tremoveReference(reference: Learnroom): void;\n\n\tgetReferences(): Learnroom[];\n\n\taddReferences(anotherReference: Learnroom[]): void;\n\n\tsetGroupName(newGroupName: string): void;\n}\n\nexport type GridElementContent = {\n\treferencedId?: string;\n\ttitle?: string;\n\tshortTitle: string;\n\tdisplayColor: string;\n\tgroup?: LearnroomMetadata[];\n\tgroupId?: string;\n\tcopyingSince?: Date;\n};\n\nexport class GridElement implements IGridElement {\n\tid?: EntityId;\n\n\ttitle?: string;\n\n\tprivate sortReferences = (a: Learnroom, b: Learnroom) => {\n\t\tconst titleA = a.getMetadata().title;\n\t\tconst titleB = b.getMetadata().title;\n\t\tif (titleA titleB) {\n\t\t\treturn 1;\n\t\t}\n\t\treturn 0;\n\t};\n\n\tprivate constructor(props: { id?: EntityId; title?: string; references: Learnroom[] }) {\n\t\tif (props.id) this.id = props.id;\n\t\tif (props.title) this.title = props.title;\n\t\tthis.references = props.references.sort(this.sortReferences);\n\t}\n\n\tstatic FromPersistedReference(id: EntityId, reference: Learnroom): GridElement {\n\t\treturn new GridElement({ id, references: [reference] });\n\t}\n\n\tstatic FromPersistedGroup(id: EntityId, title: string | undefined, group: Learnroom[]): GridElement {\n\t\treturn new GridElement({ id, title, references: group });\n\t}\n\n\tstatic FromSingleReference(reference: Learnroom): GridElement {\n\t\treturn new GridElement({ references: [reference] });\n\t}\n\n\tstatic FromGroup(title: string, references: Learnroom[]): GridElement {\n\t\treturn new GridElement({ title, references });\n\t}\n\n\treferences: Learnroom[];\n\n\thasId(): boolean {\n\t\treturn !!this.id;\n\t}\n\n\tgetId(): EntityId | undefined {\n\t\treturn this.id;\n\t}\n\n\tgetReferences(): Learnroom[] {\n\t\treturn this.references;\n\t}\n\n\tremoveReferenceByIndex(index: number): void {\n\t\tif (!this.isGroup()) {\n\t\t\tthrow new BadRequestException('this element is not a group.');\n\t\t}\n\t\tif (index > 0 && this.references.length reference.getMetadata());\n\t\tconst checkShortTitle = this.title ? this.title.substring(0, 2) : '';\n\t\tconst groupMetadata = {\n\t\t\tgroupId: this.getId(),\n\t\t\ttitle: this.title,\n\t\t\tshortTitle: checkShortTitle,\n\t\t\tdisplayColor: 'exampleColor',\n\t\t\tgroup: groupData,\n\t\t};\n\t\treturn groupMetadata;\n\t}\n\n\tisGroup(): boolean {\n\t\treturn this.references.length > 1;\n\t}\n\n\tsetGroupName(newGroupName: string): void {\n\t\tif (!this.isGroup()) {\n\t\t\treturn;\n\t\t}\n\t\tthis.title = newGroupName;\n\t}\n}\n\nexport type GridPosition = { x: number; y: number };\nexport type GridPositionWithGroupIndex = { x: number; y: number; groupIndex?: number };\n\nexport type GridElementWithPosition = {\n\tgridElement: IGridElement;\n\tpos: GridPosition;\n};\n\nexport type DashboardProps = { colums?: number; grid: GridElementWithPosition[]; userId: EntityId };\n\nexport class DashboardEntity {\n\tid: EntityId;\n\n\tcolumns: number;\n\n\tgrid: Map;\n\n\tuserId: EntityId;\n\n\tprivate gridIndexFromPosition(pos: GridPosition): number {\n\t\tif (pos.x > this.columns) {\n\t\t\tthrow new BadRequestException('dashboard element position is outside the grid.');\n\t\t}\n\t\treturn this.columns * pos.y + pos.x;\n\t}\n\n\tprivate positionFromGridIndex(index: number): GridPosition {\n\t\tconst y = Math.floor(index / this.columns);\n\t\tconst x = index % this.columns;\n\t\treturn { x, y };\n\t}\n\n\tconstructor(id: string, props: DashboardProps) {\n\t\tthis.columns = props.colums || defaultColumns;\n\t\tthis.grid = new Map();\n\t\tprops.grid.forEach((element) => {\n\t\t\tthis.grid.set(this.gridIndexFromPosition(element.pos), element.gridElement);\n\t\t});\n\t\tthis.id = id;\n\t\tthis.userId = props.userId;\n\t\tObject.assign(this, {});\n\t}\n\n\tgetId(): string {\n\t\treturn this.id;\n\t}\n\n\tgetUserId(): EntityId {\n\t\treturn this.userId;\n\t}\n\n\tgetGrid(): GridElementWithPosition[] {\n\t\tconst result = [...this.grid.keys()].map((key) => {\n\t\t\tconst position = this.positionFromGridIndex(key);\n\t\t\tconst value = this.grid.get(key) as IGridElement;\n\t\t\treturn {\n\t\t\t\tpos: position,\n\t\t\t\tgridElement: value,\n\t\t\t};\n\t\t});\n\t\treturn result;\n\t}\n\n\tgetElement(position: GridPosition): IGridElement {\n\t\tconst element = this.grid.get(this.gridIndexFromPosition(position));\n\t\tif (!element) {\n\t\t\tthrow new NotFoundException('no element at grid position');\n\t\t}\n\t\treturn element;\n\t}\n\n\tmoveElement(from: GridPositionWithGroupIndex, to: GridPositionWithGroupIndex): GridElementWithPosition {\n\t\tconst elementToMove = this.getReferencesFromPosition(from);\n\t\tconst resultElement = this.mergeElementIntoPosition(elementToMove, to);\n\t\tthis.removeFromPosition(from);\n\t\treturn {\n\t\t\tpos: to,\n\t\t\tgridElement: resultElement,\n\t\t};\n\t}\n\n\tsetLearnRooms(rooms: Learnroom[]): void {\n\t\tthis.removeRoomsNotInList(rooms);\n\t\tconst newRooms = this.determineNewRoomsIn(rooms);\n\n\t\tnewRooms.forEach((room) => {\n\t\t\tthis.addRoom(room);\n\t\t});\n\t}\n\n\tprivate removeRoomsNotInList(roomList: Learnroom[]): void {\n\t\t[...this.grid.keys()].forEach((key) => {\n\t\t\tconst element = this.grid.get(key) as IGridElement;\n\t\t\tconst currentRooms = element.getReferences();\n\t\t\tcurrentRooms.forEach((room) => {\n\t\t\t\tif (!roomList.includes(room)) {\n\t\t\t\t\telement.removeReference(room);\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (element.getReferences().length === 0) {\n\t\t\t\tthis.grid.delete(key);\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate determineNewRoomsIn(rooms: Learnroom[]): Learnroom[] {\n\t\tconst result: Learnroom[] = [];\n\t\tconst existingRooms = this.allRooms();\n\t\trooms.forEach((room) => {\n\t\t\tif (!existingRooms.includes(room)) {\n\t\t\t\tresult.push(room);\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t}\n\n\tprivate allRooms(): Learnroom[] {\n\t\tconst elements = [...this.grid.values()];\n\t\tconst references = elements.map((el) => el.getReferences()).flat();\n\t\treturn references;\n\t}\n\n\tprivate addRoom(room: Learnroom): void {\n\t\tconst index = this.getFirstOpenIndex();\n\t\tconst newElement = GridElement.FromSingleReference(room);\n\t\tthis.grid.set(index, newElement);\n\t}\n\n\tprivate getFirstOpenIndex(): number {\n\t\tlet i = 0;\n\t\twhile (this.grid.get(i) !== undefined) {\n\t\t\ti += 1;\n\t\t}\n\t\treturn i;\n\t}\n\n\tprivate getReferencesFromPosition(position: GridPositionWithGroupIndex): IGridElement {\n\t\tconst elementToMove = this.getElement(position);\n\n\t\tif (typeof position.groupIndex === 'number' && elementToMove.isGroup()) {\n\t\t\tconst references = elementToMove.getReferences();\n\t\t\tconst referenceForIndex = references[position.groupIndex];\n\t\t\treturn GridElement.FromSingleReference(referenceForIndex);\n\t\t}\n\n\t\treturn elementToMove;\n\t}\n\n\tprivate removeFromPosition(position: GridPositionWithGroupIndex): void {\n\t\tconst element = this.getElement(position);\n\t\tif (typeof position.groupIndex === 'number') {\n\t\t\telement.removeReferenceByIndex(position.groupIndex);\n\t\t} else {\n\t\t\tthis.grid.delete(this.gridIndexFromPosition(position));\n\t\t}\n\t}\n\n\tprivate mergeElementIntoPosition(element: IGridElement, position: GridPosition): IGridElement {\n\t\tconst targetElement = this.grid.get(this.gridIndexFromPosition(position));\n\t\tif (targetElement) {\n\t\t\ttargetElement.addReferences(element.getReferences());\n\t\t\treturn targetElement;\n\t\t}\n\t\tthis.grid.set(this.gridIndexFromPosition(position), element);\n\t\treturn element;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/DashboardGridElementModel.html":{"url":"entities/DashboardGridElementModel.html","title":"entity - DashboardGridElementModel","body":"\n \n\n\n\n\n\n\n\n Entities\n DashboardGridElementModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/dashboard.model.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n dashboard\n \n \n \n \n references\n \n \n \n Optional\n title\n \n \n \n xPos\n \n \n \n yPos\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n dashboard\n \n \n \n \n \n \n Type : IdentifiedReference\n\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToOne('DashboardModelEntity', {wrappedReference: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.model.entity.ts:56\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n references\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToMany('Course', undefined, {fieldName: 'referenceIds'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.model.entity.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.model.entity.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n \n xPos\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.model.entity.ts:45\n \n \n\n\n \n \n \n \n \n \n \n \n \n yPos\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.model.entity.ts:48\n \n \n\n\n \n \n\n \n\n\n \n import {\n\tCollection,\n\tEntity,\n\tIdentifiedReference,\n\tIndex,\n\tManyToMany,\n\tManyToOne,\n\tOneToMany,\n\tProperty,\n\twrap,\n} from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { Course } from './course.entity';\nimport { User } from './user.entity';\n\nexport interface DashboardGridElementModelProperties {\n\tid?: string;\n\ttitle?: string;\n\txPos: number;\n\tyPos: number;\n\treferences: Course[];\n\tdashboard: DashboardModelEntity;\n}\n\n@Entity({ tableName: 'dashboardelement' })\nexport class DashboardGridElementModel extends BaseEntityWithTimestamps {\n\tconstructor({ id, title, xPos, yPos, references, dashboard }: DashboardGridElementModelProperties) {\n\t\tsuper();\n\t\tif (id) {\n\t\t\tthis._id = ObjectId.createFromHexString(id);\n\t\t\tthis.id = id;\n\t\t}\n\t\tthis.title = title;\n\t\tthis.xPos = xPos;\n\t\tthis.yPos = yPos;\n\t\tthis.references.set(references);\n\t\tthis.dashboard = wrap(dashboard).toReference();\n\t}\n\n\t@Property({ nullable: true })\n\ttitle?: string;\n\n\t@Property()\n\txPos: number;\n\n\t@Property()\n\tyPos: number;\n\n\t@Index()\n\t@ManyToMany('Course', undefined, { fieldName: 'referenceIds' })\n\treferences = new Collection(this);\n\n\t@Index()\n\t@ManyToOne('DashboardModelEntity', { wrappedReference: true })\n\tdashboard: IdentifiedReference;\n}\n\nexport interface DashboardModelProperties {\n\tid: string;\n\tuser: User;\n\tgridElements?: DashboardGridElementModel[];\n}\n\n@Entity({ tableName: 'dashboard' })\nexport class DashboardModelEntity extends BaseEntityWithTimestamps {\n\tconstructor(props: DashboardModelProperties) {\n\t\tsuper();\n\t\tthis._id = ObjectId.createFromHexString(props.id);\n\t\tthis.id = props.id;\n\t\tthis.user = wrap(props.user).toReference();\n\t\tif (props.gridElements) this.gridElements.set(props.gridElements);\n\t}\n\n\t@OneToMany('DashboardGridElementModel', 'dashboard')\n\tgridElements: Collection = new Collection(this);\n\n\t// userId\n\t@Index()\n\t@ManyToOne('User', { fieldName: 'userId', wrappedReference: true })\n\tuser: IdentifiedReference;\n\n\t// sizetype\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DashboardGridElementModelProperties.html":{"url":"interfaces/DashboardGridElementModelProperties.html","title":"interface - DashboardGridElementModelProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DashboardGridElementModelProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/dashboard.model.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n dashboard\n \n \n \n Optional\n \n id\n \n \n \n \n references\n \n \n \n Optional\n \n title\n \n \n \n \n xPos\n \n \n \n \n yPos\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n dashboard\n \n \n \n \n \n \n \n \n dashboard: DashboardModelEntity\n\n \n \n\n\n \n \n Type : DashboardModelEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n references\n \n \n \n \n \n \n \n \n references: Course[]\n\n \n \n\n\n \n \n Type : Course[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n xPos\n \n \n \n \n \n \n \n \n xPos: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n yPos\n \n \n \n \n \n \n \n \n yPos: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import {\n\tCollection,\n\tEntity,\n\tIdentifiedReference,\n\tIndex,\n\tManyToMany,\n\tManyToOne,\n\tOneToMany,\n\tProperty,\n\twrap,\n} from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { Course } from './course.entity';\nimport { User } from './user.entity';\n\nexport interface DashboardGridElementModelProperties {\n\tid?: string;\n\ttitle?: string;\n\txPos: number;\n\tyPos: number;\n\treferences: Course[];\n\tdashboard: DashboardModelEntity;\n}\n\n@Entity({ tableName: 'dashboardelement' })\nexport class DashboardGridElementModel extends BaseEntityWithTimestamps {\n\tconstructor({ id, title, xPos, yPos, references, dashboard }: DashboardGridElementModelProperties) {\n\t\tsuper();\n\t\tif (id) {\n\t\t\tthis._id = ObjectId.createFromHexString(id);\n\t\t\tthis.id = id;\n\t\t}\n\t\tthis.title = title;\n\t\tthis.xPos = xPos;\n\t\tthis.yPos = yPos;\n\t\tthis.references.set(references);\n\t\tthis.dashboard = wrap(dashboard).toReference();\n\t}\n\n\t@Property({ nullable: true })\n\ttitle?: string;\n\n\t@Property()\n\txPos: number;\n\n\t@Property()\n\tyPos: number;\n\n\t@Index()\n\t@ManyToMany('Course', undefined, { fieldName: 'referenceIds' })\n\treferences = new Collection(this);\n\n\t@Index()\n\t@ManyToOne('DashboardModelEntity', { wrappedReference: true })\n\tdashboard: IdentifiedReference;\n}\n\nexport interface DashboardModelProperties {\n\tid: string;\n\tuser: User;\n\tgridElements?: DashboardGridElementModel[];\n}\n\n@Entity({ tableName: 'dashboard' })\nexport class DashboardModelEntity extends BaseEntityWithTimestamps {\n\tconstructor(props: DashboardModelProperties) {\n\t\tsuper();\n\t\tthis._id = ObjectId.createFromHexString(props.id);\n\t\tthis.id = props.id;\n\t\tthis.user = wrap(props.user).toReference();\n\t\tif (props.gridElements) this.gridElements.set(props.gridElements);\n\t}\n\n\t@OneToMany('DashboardGridElementModel', 'dashboard')\n\tgridElements: Collection = new Collection(this);\n\n\t// userId\n\t@Index()\n\t@ManyToOne('User', { fieldName: 'userId', wrappedReference: true })\n\tuser: IdentifiedReference;\n\n\t// sizetype\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DashboardGridElementResponse.html":{"url":"classes/DashboardGridElementResponse.html","title":"class - DashboardGridElementResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DashboardGridElementResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n copyingSince\n \n \n \n displayColor\n \n \n \n Optional\n groupElements\n \n \n \n Optional\n groupId\n \n \n \n Optional\n id\n \n \n \n shortTitle\n \n \n \n \n Optional\n title\n \n \n \n xPosition\n \n \n \n yPosition\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: DashboardGridElementResponse)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:35\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n DashboardGridElementResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n copyingSince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Start of the copying process if it is still ongoing - otherwise property is not set.'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:105\n \n \n\n\n \n \n \n \n \n \n \n \n \n displayColor\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Color of the Grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:78\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n groupElements\n \n \n \n \n \n \n Type : DashboardGridSubElementResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined, description: 'List of all subelements in the group'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:100\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n groupId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The id of the group element', pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:94\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The id of the Grid element', pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:62\n \n \n\n\n \n \n \n \n \n \n \n \n \n shortTitle\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Short title of the Grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:73\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @DecodeHtmlEntities()@ApiProperty({description: 'Title of the Grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:68\n \n \n\n\n \n \n \n \n \n \n \n \n \n xPosition\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'X position of the Grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:83\n \n \n\n\n \n \n \n \n \n \n \n \n \n yPosition\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Y position of the Grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:88\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\n\nexport class DashboardGridSubElementResponse {\n\tconstructor({ id, title, shortTitle, displayColor }: DashboardGridSubElementResponse) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.shortTitle = shortTitle;\n\t\tthis.displayColor = displayColor;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the Grid element',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@DecodeHtmlEntities()\n\t@ApiProperty({\n\t\tdescription: 'Title of the Grid element',\n\t})\n\ttitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Short title of the Grid element',\n\t})\n\tshortTitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Color of the Grid element',\n\t})\n\tdisplayColor: string;\n}\n\nexport class DashboardGridElementResponse {\n\tconstructor({\n\t\tid,\n\t\ttitle,\n\t\tshortTitle,\n\t\tdisplayColor,\n\t\txPosition,\n\t\tyPosition,\n\t\tgroupId,\n\t\tgroupElements,\n\t\tcopyingSince = undefined,\n\t}: DashboardGridElementResponse) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.shortTitle = shortTitle;\n\t\tthis.displayColor = displayColor;\n\t\tthis.xPosition = xPosition;\n\t\tthis.yPosition = yPosition;\n\t\tthis.groupId = groupId;\n\t\tthis.groupElements = groupElements;\n\t\tthis.copyingSince = copyingSince;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the Grid element',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid?: string;\n\n\t@DecodeHtmlEntities()\n\t@ApiProperty({\n\t\tdescription: 'Title of the Grid element',\n\t})\n\ttitle?: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Short title of the Grid element',\n\t})\n\tshortTitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Color of the Grid element',\n\t})\n\tdisplayColor: string;\n\n\t@ApiProperty({\n\t\tdescription: 'X position of the Grid element',\n\t})\n\txPosition: number;\n\n\t@ApiProperty({\n\t\tdescription: 'Y position of the Grid element',\n\t})\n\tyPosition: number;\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the group element',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tgroupId?: string;\n\n\t@ApiProperty({\n\t\ttype: [DashboardGridSubElementResponse],\n\t\tdescription: 'List of all subelements in the group',\n\t})\n\tgroupElements?: DashboardGridSubElementResponse[];\n\n\t@ApiProperty({\n\t\tdescription: 'Start of the copying process if it is still ongoing - otherwise property is not set.',\n\t})\n\tcopyingSince?: Date;\n}\n\nexport class DashboardResponse {\n\tconstructor({ id, gridElements }: DashboardResponse) {\n\t\tthis.id = id;\n\t\tthis.gridElements = gridElements;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the Dashboard entity',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@ApiProperty({\n\t\ttype: [DashboardGridElementResponse],\n\t\tdescription: 'List of all elements visible on the dashboard',\n\t})\n\tgridElements: DashboardGridElementResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DashboardGridSubElementResponse.html":{"url":"classes/DashboardGridSubElementResponse.html","title":"class - DashboardGridSubElementResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DashboardGridSubElementResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n displayColor\n \n \n \n id\n \n \n \n shortTitle\n \n \n \n \n title\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: DashboardGridSubElementResponse)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n DashboardGridSubElementResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n displayColor\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Color of the Grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The id of the Grid element', pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n shortTitle\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Short title of the Grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @DecodeHtmlEntities()@ApiProperty({description: 'Title of the Grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:22\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\n\nexport class DashboardGridSubElementResponse {\n\tconstructor({ id, title, shortTitle, displayColor }: DashboardGridSubElementResponse) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.shortTitle = shortTitle;\n\t\tthis.displayColor = displayColor;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the Grid element',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@DecodeHtmlEntities()\n\t@ApiProperty({\n\t\tdescription: 'Title of the Grid element',\n\t})\n\ttitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Short title of the Grid element',\n\t})\n\tshortTitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Color of the Grid element',\n\t})\n\tdisplayColor: string;\n}\n\nexport class DashboardGridElementResponse {\n\tconstructor({\n\t\tid,\n\t\ttitle,\n\t\tshortTitle,\n\t\tdisplayColor,\n\t\txPosition,\n\t\tyPosition,\n\t\tgroupId,\n\t\tgroupElements,\n\t\tcopyingSince = undefined,\n\t}: DashboardGridElementResponse) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.shortTitle = shortTitle;\n\t\tthis.displayColor = displayColor;\n\t\tthis.xPosition = xPosition;\n\t\tthis.yPosition = yPosition;\n\t\tthis.groupId = groupId;\n\t\tthis.groupElements = groupElements;\n\t\tthis.copyingSince = copyingSince;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the Grid element',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid?: string;\n\n\t@DecodeHtmlEntities()\n\t@ApiProperty({\n\t\tdescription: 'Title of the Grid element',\n\t})\n\ttitle?: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Short title of the Grid element',\n\t})\n\tshortTitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Color of the Grid element',\n\t})\n\tdisplayColor: string;\n\n\t@ApiProperty({\n\t\tdescription: 'X position of the Grid element',\n\t})\n\txPosition: number;\n\n\t@ApiProperty({\n\t\tdescription: 'Y position of the Grid element',\n\t})\n\tyPosition: number;\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the group element',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tgroupId?: string;\n\n\t@ApiProperty({\n\t\ttype: [DashboardGridSubElementResponse],\n\t\tdescription: 'List of all subelements in the group',\n\t})\n\tgroupElements?: DashboardGridSubElementResponse[];\n\n\t@ApiProperty({\n\t\tdescription: 'Start of the copying process if it is still ongoing - otherwise property is not set.',\n\t})\n\tcopyingSince?: Date;\n}\n\nexport class DashboardResponse {\n\tconstructor({ id, gridElements }: DashboardResponse) {\n\t\tthis.id = id;\n\t\tthis.gridElements = gridElements;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the Dashboard entity',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@ApiProperty({\n\t\ttype: [DashboardGridElementResponse],\n\t\tdescription: 'List of all elements visible on the dashboard',\n\t})\n\tgridElements: DashboardGridElementResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DashboardMapper.html":{"url":"classes/DashboardMapper.html","title":"class - DashboardMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DashboardMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/mapper/dashboard.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Static\n mapGridElement\n \n \n Private\n Static\n mapLearnroom\n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Static\n mapGridElement\n \n \n \n \n \n \n \n mapGridElement(data: GridElementWithPosition)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/mapper/dashboard.mapper.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n GridElementWithPosition\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DashboardGridElementResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n mapLearnroom\n \n \n \n \n \n \n \n mapLearnroom(metadata: LearnroomMetadata)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/mapper/dashboard.mapper.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n metadata\n \n LearnroomMetadata\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DashboardGridSubElementResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(dashboard: DashboardEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/mapper/dashboard.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n dashboard\n \n DashboardEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DashboardResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DashboardEntity, GridElementWithPosition } from '@shared/domain/entity';\nimport { LearnroomMetadata } from '@shared/domain/types';\nimport { DashboardGridElementResponse, DashboardGridSubElementResponse, DashboardResponse } from '../controller/dto';\n\nexport class DashboardMapper {\n\tstatic mapToResponse(dashboard: DashboardEntity): DashboardResponse {\n\t\tconst dto = new DashboardResponse({\n\t\t\tid: dashboard.getId(),\n\t\t\tgridElements: dashboard\n\t\t\t\t.getGrid()\n\t\t\t\t.map((elementWithPosition) => DashboardMapper.mapGridElement(elementWithPosition)),\n\t\t});\n\t\treturn dto;\n\t}\n\n\tprivate static mapGridElement(data: GridElementWithPosition): DashboardGridElementResponse {\n\t\tconst elementData = data.gridElement.getContent();\n\t\tconst position = data.pos;\n\t\tconst dto = new DashboardGridElementResponse({\n\t\t\ttitle: elementData.title,\n\t\t\tshortTitle: elementData.shortTitle,\n\t\t\tdisplayColor: elementData.displayColor,\n\t\t\txPosition: position.x,\n\t\t\tyPosition: position.y,\n\t\t\tcopyingSince: elementData.copyingSince ?? undefined,\n\t\t});\n\t\tif (elementData.referencedId) {\n\t\t\tdto.id = elementData.referencedId;\n\t\t}\n\t\tif (elementData.group && elementData.groupId) {\n\t\t\tdto.groupId = elementData.groupId;\n\t\t\tdto.groupElements = elementData.group.map((groupMetadata) => DashboardMapper.mapLearnroom(groupMetadata));\n\t\t}\n\t\treturn dto;\n\t}\n\n\tprivate static mapLearnroom(metadata: LearnroomMetadata): DashboardGridSubElementResponse {\n\t\treturn new DashboardGridSubElementResponse(metadata);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/DashboardModelEntity.html":{"url":"entities/DashboardModelEntity.html","title":"entity - DashboardModelEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n DashboardModelEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/dashboard.model.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n gridElements\n \n \n \n \n user\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n gridElements\n \n \n \n \n \n \n Type : Collection\n\n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @OneToMany('DashboardGridElementModel', 'dashboard')\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.model.entity.ts:76\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n user\n \n \n \n \n \n \n Type : IdentifiedReference\n\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToOne('User', {fieldName: 'userId', wrappedReference: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.model.entity.ts:81\n \n \n\n\n \n \n\n \n\n\n \n import {\n\tCollection,\n\tEntity,\n\tIdentifiedReference,\n\tIndex,\n\tManyToMany,\n\tManyToOne,\n\tOneToMany,\n\tProperty,\n\twrap,\n} from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { Course } from './course.entity';\nimport { User } from './user.entity';\n\nexport interface DashboardGridElementModelProperties {\n\tid?: string;\n\ttitle?: string;\n\txPos: number;\n\tyPos: number;\n\treferences: Course[];\n\tdashboard: DashboardModelEntity;\n}\n\n@Entity({ tableName: 'dashboardelement' })\nexport class DashboardGridElementModel extends BaseEntityWithTimestamps {\n\tconstructor({ id, title, xPos, yPos, references, dashboard }: DashboardGridElementModelProperties) {\n\t\tsuper();\n\t\tif (id) {\n\t\t\tthis._id = ObjectId.createFromHexString(id);\n\t\t\tthis.id = id;\n\t\t}\n\t\tthis.title = title;\n\t\tthis.xPos = xPos;\n\t\tthis.yPos = yPos;\n\t\tthis.references.set(references);\n\t\tthis.dashboard = wrap(dashboard).toReference();\n\t}\n\n\t@Property({ nullable: true })\n\ttitle?: string;\n\n\t@Property()\n\txPos: number;\n\n\t@Property()\n\tyPos: number;\n\n\t@Index()\n\t@ManyToMany('Course', undefined, { fieldName: 'referenceIds' })\n\treferences = new Collection(this);\n\n\t@Index()\n\t@ManyToOne('DashboardModelEntity', { wrappedReference: true })\n\tdashboard: IdentifiedReference;\n}\n\nexport interface DashboardModelProperties {\n\tid: string;\n\tuser: User;\n\tgridElements?: DashboardGridElementModel[];\n}\n\n@Entity({ tableName: 'dashboard' })\nexport class DashboardModelEntity extends BaseEntityWithTimestamps {\n\tconstructor(props: DashboardModelProperties) {\n\t\tsuper();\n\t\tthis._id = ObjectId.createFromHexString(props.id);\n\t\tthis.id = props.id;\n\t\tthis.user = wrap(props.user).toReference();\n\t\tif (props.gridElements) this.gridElements.set(props.gridElements);\n\t}\n\n\t@OneToMany('DashboardGridElementModel', 'dashboard')\n\tgridElements: Collection = new Collection(this);\n\n\t// userId\n\t@Index()\n\t@ManyToOne('User', { fieldName: 'userId', wrappedReference: true })\n\tuser: IdentifiedReference;\n\n\t// sizetype\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DashboardModelMapper.html":{"url":"injectables/DashboardModelMapper.html","title":"injectable - DashboardModelMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DashboardModelMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n createGridElement\n \n \n Private\n Async\n findExistingGridElement\n \n \n Private\n Async\n getOrConstructDashboardModelEntity\n \n \n Async\n mapDashboardToEntity\n \n \n Async\n mapDashboardToModel\n \n \n Async\n mapElementToEntity\n \n \n Async\n mapGridElementToModel\n \n \n Async\n mapReferenceToEntity\n \n \n mapReferenceToModel\n \n \n Private\n Async\n updateExistingGridElement\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager)\n \n \n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n createGridElement\n \n \n \n \n \n \n \n createGridElement(elementWithPosition: GridElementWithPosition, dashboard: DashboardModelEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:95\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n elementWithPosition\n \n GridElementWithPosition\n \n\n \n No\n \n\n\n \n \n dashboard\n \n DashboardModelEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findExistingGridElement\n \n \n \n \n \n \n \n findExistingGridElement(elementWithPosition: GridElementWithPosition)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:64\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n elementWithPosition\n \n GridElementWithPosition\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getOrConstructDashboardModelEntity\n \n \n \n \n \n \n \n getOrConstructDashboardModelEntity(entity: DashboardEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:128\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n DashboardEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n mapDashboardToEntity\n \n \n \n \n \n \n \n mapDashboardToEntity(modelEntity: DashboardModelEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n modelEntity\n \n DashboardModelEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n mapDashboardToModel\n \n \n \n \n \n \n \n mapDashboardToModel(entity: DashboardEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:112\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n DashboardEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n mapElementToEntity\n \n \n \n \n \n \n \n mapElementToEntity(modelEntity: DashboardGridElementModel)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n modelEntity\n \n DashboardGridElementModel\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n mapGridElementToModel\n \n \n \n \n \n \n \n mapGridElementToModel(elementWithPosition: GridElementWithPosition, dashboard: DashboardModelEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n elementWithPosition\n \n GridElementWithPosition\n \n\n \n No\n \n\n\n \n \n dashboard\n \n DashboardModelEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n mapReferenceToEntity\n \n \n \n \n \n \n \n mapReferenceToEntity(modelEntity: Course)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n modelEntity\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapReferenceToModel\n \n \n \n \n \n \nmapReferenceToModel(reference: Learnroom)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n reference\n \n Learnroom\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Course\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n updateExistingGridElement\n \n \n \n \n \n \n \n updateExistingGridElement(elementModel: DashboardGridElementModel, elementWithPosition: GridElementWithPosition, dashboard: DashboardModelEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.model.mapper.ts:75\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n elementModel\n \n DashboardGridElementModel\n \n\n \n No\n \n\n\n \n \n elementWithPosition\n \n GridElementWithPosition\n \n\n \n No\n \n\n\n \n \n dashboard\n \n DashboardModelEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager, wrap } from '@mikro-orm/core';\nimport { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport {\n\tCourse,\n\tDashboardEntity,\n\tDashboardGridElementModel,\n\tDashboardModelEntity,\n\tGridElement,\n\tGridElementWithPosition,\n\tUser,\n} from '@shared/domain/entity';\nimport { Learnroom } from '@shared/domain/interface';\nimport { LearnroomTypes } from '@shared/domain/types';\n\n@Injectable()\nexport class DashboardModelMapper {\n\tconstructor(protected readonly em: EntityManager) {}\n\n\tasync mapReferenceToEntity(modelEntity: Course): Promise {\n\t\tconst domainEntity = await wrap(modelEntity).init();\n\t\treturn domainEntity;\n\t}\n\n\tasync mapElementToEntity(modelEntity: DashboardGridElementModel): Promise {\n\t\tconst referenceModels = await modelEntity.references.loadItems();\n\t\tconst references = await Promise.all(referenceModels.map((ref) => this.mapReferenceToEntity(ref)));\n\t\tconst result = {\n\t\t\tpos: { x: modelEntity.xPos, y: modelEntity.yPos },\n\t\t\tgridElement: GridElement.FromPersistedGroup(modelEntity.id, modelEntity.title, references),\n\t\t};\n\t\treturn result;\n\t}\n\n\tasync mapDashboardToEntity(modelEntity: DashboardModelEntity): Promise {\n\t\tif (!modelEntity.gridElements.isInitialized()) {\n\t\t\tawait modelEntity.gridElements.init();\n\t\t}\n\t\tconst grid = await Promise.all(Array.from(modelEntity.gridElements).map(async (e) => this.mapElementToEntity(e)));\n\t\treturn new DashboardEntity(modelEntity.id, { grid, userId: modelEntity.user.id });\n\t}\n\n\tmapReferenceToModel(reference: Learnroom): Course {\n\t\tconst metadata = reference.getMetadata();\n\t\tif (metadata.type === LearnroomTypes.Course) {\n\t\t\tconst course = reference as Course;\n\t\t\treturn course;\n\t\t}\n\t\tthrow new InternalServerErrorException('unknown learnroom type');\n\t}\n\n\tasync mapGridElementToModel(\n\t\telementWithPosition: GridElementWithPosition,\n\t\tdashboard: DashboardModelEntity\n\t): Promise {\n\t\tconst existing = await this.findExistingGridElement(elementWithPosition);\n\t\tif (existing) {\n\t\t\tconst updatedModel = this.updateExistingGridElement(existing, elementWithPosition, dashboard);\n\t\t\treturn updatedModel;\n\t\t}\n\t\tconst createdModel = await this.createGridElement(elementWithPosition, dashboard);\n\t\treturn createdModel;\n\t}\n\n\tprivate async findExistingGridElement(\n\t\telementWithPosition: GridElementWithPosition\n\t): Promise {\n\t\tconst { gridElement } = elementWithPosition;\n\t\tif (gridElement.hasId()) {\n\t\t\tconst existing = await this.em.findOne(DashboardGridElementModel, gridElement.getId() as string);\n\t\t\tif (existing) return existing;\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tprivate async updateExistingGridElement(\n\t\telementModel: DashboardGridElementModel,\n\t\telementWithPosition: GridElementWithPosition,\n\t\tdashboard: DashboardModelEntity\n\t): Promise {\n\t\telementModel.xPos = elementWithPosition.pos.x;\n\t\telementModel.yPos = elementWithPosition.pos.y;\n\t\tconst { gridElement } = elementWithPosition;\n\n\t\tif (gridElement.isGroup()) {\n\t\t\telementModel.title = gridElement.getContent().title;\n\t\t}\n\n\t\tconst references = await Promise.all(gridElement.getReferences().map((ref) => this.mapReferenceToModel(ref)));\n\t\telementModel.references.set(references);\n\n\t\telementModel.dashboard = wrap(dashboard).toReference();\n\t\treturn elementModel;\n\t}\n\n\tprivate async createGridElement(\n\t\telementWithPosition: GridElementWithPosition,\n\t\tdashboard: DashboardModelEntity\n\t): Promise {\n\t\tconst { gridElement } = elementWithPosition;\n\t\tconst references = await Promise.all(gridElement.getReferences().map((ref) => this.mapReferenceToModel(ref)));\n\t\tconst elementModel = new DashboardGridElementModel({\n\t\t\tid: gridElement.getId(),\n\t\t\txPos: elementWithPosition.pos.x,\n\t\t\tyPos: elementWithPosition.pos.y,\n\t\t\treferences,\n\t\t\tdashboard,\n\t\t});\n\n\t\treturn elementModel;\n\t}\n\n\tasync mapDashboardToModel(entity: DashboardEntity): Promise {\n\t\tconst modelEntity = await this.getOrConstructDashboardModelEntity(entity);\n\t\tconst mappedElements = await Promise.all(\n\t\t\tentity.getGrid().map((elementWithPosition) => this.mapGridElementToModel(elementWithPosition, modelEntity))\n\t\t);\n\n\t\tArray.from(modelEntity.gridElements).forEach((el) => {\n\t\t\tif (!mappedElements.includes(el)) {\n\t\t\t\tmodelEntity.gridElements.remove(el);\n\t\t\t\tthis.em.remove(el);\n\t\t\t}\n\t\t});\n\n\t\treturn modelEntity;\n\t}\n\n\tprivate async getOrConstructDashboardModelEntity(entity: DashboardEntity): Promise {\n\t\tconst existing = await this.em.findOne(DashboardModelEntity, entity.getId());\n\t\tif (existing) {\n\t\t\treturn existing;\n\t\t}\n\t\tconst user = await this.em.findOneOrFail(User, entity.getUserId());\n\t\treturn new DashboardModelEntity({ id: entity.getId(), user, gridElements: [] });\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DashboardModelProperties.html":{"url":"interfaces/DashboardModelProperties.html","title":"interface - DashboardModelProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DashboardModelProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/dashboard.model.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n gridElements\n \n \n \n \n id\n \n \n \n \n user\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n gridElements\n \n \n \n \n \n \n \n \n gridElements: DashboardGridElementModel[]\n\n \n \n\n\n \n \n Type : DashboardGridElementModel[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n user\n \n \n \n \n \n \n \n \n user: User\n\n \n \n\n\n \n \n Type : User\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import {\n\tCollection,\n\tEntity,\n\tIdentifiedReference,\n\tIndex,\n\tManyToMany,\n\tManyToOne,\n\tOneToMany,\n\tProperty,\n\twrap,\n} from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { Course } from './course.entity';\nimport { User } from './user.entity';\n\nexport interface DashboardGridElementModelProperties {\n\tid?: string;\n\ttitle?: string;\n\txPos: number;\n\tyPos: number;\n\treferences: Course[];\n\tdashboard: DashboardModelEntity;\n}\n\n@Entity({ tableName: 'dashboardelement' })\nexport class DashboardGridElementModel extends BaseEntityWithTimestamps {\n\tconstructor({ id, title, xPos, yPos, references, dashboard }: DashboardGridElementModelProperties) {\n\t\tsuper();\n\t\tif (id) {\n\t\t\tthis._id = ObjectId.createFromHexString(id);\n\t\t\tthis.id = id;\n\t\t}\n\t\tthis.title = title;\n\t\tthis.xPos = xPos;\n\t\tthis.yPos = yPos;\n\t\tthis.references.set(references);\n\t\tthis.dashboard = wrap(dashboard).toReference();\n\t}\n\n\t@Property({ nullable: true })\n\ttitle?: string;\n\n\t@Property()\n\txPos: number;\n\n\t@Property()\n\tyPos: number;\n\n\t@Index()\n\t@ManyToMany('Course', undefined, { fieldName: 'referenceIds' })\n\treferences = new Collection(this);\n\n\t@Index()\n\t@ManyToOne('DashboardModelEntity', { wrappedReference: true })\n\tdashboard: IdentifiedReference;\n}\n\nexport interface DashboardModelProperties {\n\tid: string;\n\tuser: User;\n\tgridElements?: DashboardGridElementModel[];\n}\n\n@Entity({ tableName: 'dashboard' })\nexport class DashboardModelEntity extends BaseEntityWithTimestamps {\n\tconstructor(props: DashboardModelProperties) {\n\t\tsuper();\n\t\tthis._id = ObjectId.createFromHexString(props.id);\n\t\tthis.id = props.id;\n\t\tthis.user = wrap(props.user).toReference();\n\t\tif (props.gridElements) this.gridElements.set(props.gridElements);\n\t}\n\n\t@OneToMany('DashboardGridElementModel', 'dashboard')\n\tgridElements: Collection = new Collection(this);\n\n\t// userId\n\t@Index()\n\t@ManyToOne('User', { fieldName: 'userId', wrappedReference: true })\n\tuser: IdentifiedReference;\n\n\t// sizetype\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DashboardRepo.html":{"url":"injectables/DashboardRepo.html","title":"injectable - DashboardRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DashboardRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/dashboard/dashboard.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getDashboardById\n \n \n Async\n getUsersDashboard\n \n \n Async\n persist\n \n \n Async\n persistAndFlush\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager, mapper: DashboardModelMapper)\n \n \n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.repo.ts:21\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n mapper\n \n \n DashboardModelMapper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getDashboardById\n \n \n \n \n \n \n \n getDashboardById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.repo.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getUsersDashboard\n \n \n \n \n \n \n \n getUsersDashboard(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.repo.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n persist\n \n \n \n \n \n \n \n persist(entity: DashboardEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.repo.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n DashboardEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n persistAndFlush\n \n \n \n \n \n \n \n persistAndFlush(entity: DashboardEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.repo.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n DashboardEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager, ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { DashboardEntity, DashboardModelEntity, GridElementWithPosition } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { DashboardModelMapper } from './dashboard.model.mapper';\n\nconst generateEmptyDashboard = (userId: EntityId) => {\n\tconst gridArray: GridElementWithPosition[] = [];\n\n\tconst dashboard = new DashboardEntity(new ObjectId().toString(), { grid: gridArray, userId });\n\treturn dashboard;\n};\n\nexport interface IDashboardRepo {\n\tgetUsersDashboard(userId: EntityId): Promise;\n\tgetDashboardById(id: EntityId): Promise;\n\tpersistAndFlush(entity: DashboardEntity): Promise;\n}\n\n@Injectable()\nexport class DashboardRepo implements IDashboardRepo {\n\tconstructor(protected readonly em: EntityManager, protected readonly mapper: DashboardModelMapper) {}\n\n\t// ToDo: refactor this to be in an abstract class (see baseRepo)\n\tasync persist(entity: DashboardEntity): Promise {\n\t\tconst modelEntity = await this.mapper.mapDashboardToModel(entity);\n\t\tthis.em.persist(modelEntity);\n\t\treturn this.mapper.mapDashboardToEntity(modelEntity);\n\t}\n\n\tasync persistAndFlush(entity: DashboardEntity): Promise {\n\t\tconst modelEntity = await this.mapper.mapDashboardToModel(entity);\n\t\tawait this.em.persistAndFlush(modelEntity);\n\t\treturn this.mapper.mapDashboardToEntity(modelEntity);\n\t}\n\n\tasync getDashboardById(id: EntityId): Promise {\n\t\tconst dashboardModel = await this.em.findOneOrFail(DashboardModelEntity, id);\n\t\tconst dashboard = await this.mapper.mapDashboardToEntity(dashboardModel);\n\t\treturn dashboard;\n\t}\n\n\tasync getUsersDashboard(userId: EntityId): Promise {\n\t\tconst dashboardModel = await this.em.findOne(DashboardModelEntity, { user: userId });\n\t\tif (dashboardModel) {\n\t\t\treturn this.mapper.mapDashboardToEntity(dashboardModel);\n\t\t}\n\n\t\tconst dashboard = generateEmptyDashboard(userId);\n\t\tawait this.persistAndFlush(dashboard);\n\n\t\treturn dashboard;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DashboardResponse.html":{"url":"classes/DashboardResponse.html","title":"class - DashboardResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DashboardResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n gridElements\n \n \n \n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: DashboardResponse)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:108\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n DashboardResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n gridElements\n \n \n \n \n \n \n Type : DashboardGridElementResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined, description: 'List of all elements visible on the dashboard'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:124\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The id of the Dashboard entity', pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.response.ts:118\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\n\nexport class DashboardGridSubElementResponse {\n\tconstructor({ id, title, shortTitle, displayColor }: DashboardGridSubElementResponse) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.shortTitle = shortTitle;\n\t\tthis.displayColor = displayColor;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the Grid element',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@DecodeHtmlEntities()\n\t@ApiProperty({\n\t\tdescription: 'Title of the Grid element',\n\t})\n\ttitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Short title of the Grid element',\n\t})\n\tshortTitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Color of the Grid element',\n\t})\n\tdisplayColor: string;\n}\n\nexport class DashboardGridElementResponse {\n\tconstructor({\n\t\tid,\n\t\ttitle,\n\t\tshortTitle,\n\t\tdisplayColor,\n\t\txPosition,\n\t\tyPosition,\n\t\tgroupId,\n\t\tgroupElements,\n\t\tcopyingSince = undefined,\n\t}: DashboardGridElementResponse) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.shortTitle = shortTitle;\n\t\tthis.displayColor = displayColor;\n\t\tthis.xPosition = xPosition;\n\t\tthis.yPosition = yPosition;\n\t\tthis.groupId = groupId;\n\t\tthis.groupElements = groupElements;\n\t\tthis.copyingSince = copyingSince;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the Grid element',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid?: string;\n\n\t@DecodeHtmlEntities()\n\t@ApiProperty({\n\t\tdescription: 'Title of the Grid element',\n\t})\n\ttitle?: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Short title of the Grid element',\n\t})\n\tshortTitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Color of the Grid element',\n\t})\n\tdisplayColor: string;\n\n\t@ApiProperty({\n\t\tdescription: 'X position of the Grid element',\n\t})\n\txPosition: number;\n\n\t@ApiProperty({\n\t\tdescription: 'Y position of the Grid element',\n\t})\n\tyPosition: number;\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the group element',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tgroupId?: string;\n\n\t@ApiProperty({\n\t\ttype: [DashboardGridSubElementResponse],\n\t\tdescription: 'List of all subelements in the group',\n\t})\n\tgroupElements?: DashboardGridSubElementResponse[];\n\n\t@ApiProperty({\n\t\tdescription: 'Start of the copying process if it is still ongoing - otherwise property is not set.',\n\t})\n\tcopyingSince?: Date;\n}\n\nexport class DashboardResponse {\n\tconstructor({ id, gridElements }: DashboardResponse) {\n\t\tthis.id = id;\n\t\tthis.gridElements = gridElements;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the Dashboard entity',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@ApiProperty({\n\t\ttype: [DashboardGridElementResponse],\n\t\tdescription: 'List of all elements visible on the dashboard',\n\t})\n\tgridElements: DashboardGridElementResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DashboardUc.html":{"url":"injectables/DashboardUc.html","title":"injectable - DashboardUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DashboardUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/uc/dashboard.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getUsersDashboard\n \n \n Async\n moveElementOnDashboard\n \n \n Async\n renameGroupOnDashboard\n \n \n Private\n validateUsersMatch\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dashboardRepo: IDashboardRepo, courseRepo: CourseRepo)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/dashboard.uc.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n dashboardRepo\n \n \n IDashboardRepo\n \n \n \n No\n \n \n \n \n courseRepo\n \n \n CourseRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getUsersDashboard\n \n \n \n \n \n \n \n getUsersDashboard(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/dashboard.uc.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n moveElementOnDashboard\n \n \n \n \n \n \n \n moveElementOnDashboard(dashboardId: EntityId, from: GridPositionWithGroupIndex, to: GridPositionWithGroupIndex, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/dashboard.uc.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n dashboardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n from\n \n GridPositionWithGroupIndex\n \n\n \n No\n \n\n\n \n \n to\n \n GridPositionWithGroupIndex\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n renameGroupOnDashboard\n \n \n \n \n \n \n \n renameGroupOnDashboard(dashboardId: EntityId, position: GridPosition, params: string, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/dashboard.uc.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n dashboardId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n position\n \n GridPosition\n \n\n \n No\n \n\n\n \n \n params\n \n string\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n validateUsersMatch\n \n \n \n \n \n \n \n validateUsersMatch(dashboard: DashboardEntity, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/dashboard.uc.ts:59\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n dashboard\n \n DashboardEntity\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Inject, Injectable, NotFoundException } from '@nestjs/common';\nimport { DashboardEntity, GridPosition, GridPositionWithGroupIndex } from '@shared/domain/entity';\nimport { SortOrder } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { CourseRepo, IDashboardRepo } from '@shared/repo';\n// import { NotFound } from '@feathersjs/errors'; // wrong import? see NotFoundException\n\n@Injectable()\nexport class DashboardUc {\n\tconstructor(\n\t\t@Inject('DASHBOARD_REPO') private readonly dashboardRepo: IDashboardRepo,\n\t\tprivate readonly courseRepo: CourseRepo\n\t) {}\n\n\tasync getUsersDashboard(userId: EntityId): Promise {\n\t\tconst dashboard = await this.dashboardRepo.getUsersDashboard(userId);\n\t\tconst [courses] = await this.courseRepo.findAllByUserId(\n\t\t\tuserId,\n\t\t\t{ onlyActiveCourses: true },\n\t\t\t{ order: { name: SortOrder.asc } }\n\t\t);\n\n\t\tdashboard.setLearnRooms(courses);\n\t\tawait this.dashboardRepo.persistAndFlush(dashboard);\n\t\treturn dashboard;\n\t}\n\n\tasync moveElementOnDashboard(\n\t\tdashboardId: EntityId,\n\t\tfrom: GridPositionWithGroupIndex,\n\t\tto: GridPositionWithGroupIndex,\n\t\tuserId: EntityId\n\t): Promise {\n\t\tconst dashboard = await this.dashboardRepo.getDashboardById(dashboardId);\n\t\tthis.validateUsersMatch(dashboard, userId);\n\n\t\tdashboard.moveElement(from, to);\n\n\t\tawait this.dashboardRepo.persistAndFlush(dashboard);\n\t\treturn dashboard;\n\t}\n\n\tasync renameGroupOnDashboard(\n\t\tdashboardId: EntityId,\n\t\tposition: GridPosition,\n\t\tparams: string,\n\t\tuserId: EntityId\n\t): Promise {\n\t\tconst dashboard = await this.dashboardRepo.getDashboardById(dashboardId);\n\t\tthis.validateUsersMatch(dashboard, userId);\n\n\t\tconst gridElement = dashboard.getElement(position);\n\t\tgridElement.setGroupName(params);\n\n\t\tawait this.dashboardRepo.persistAndFlush(dashboard);\n\t\treturn dashboard;\n\t}\n\n\tprivate validateUsersMatch(dashboard: DashboardEntity, userId: EntityId) {\n\t\tif (dashboard.getUserId() !== userId) {\n\t\t\tthrow new NotFoundException('no such dashboard found');\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DashboardUrlParams.html":{"url":"classes/DashboardUrlParams.html","title":"class - DashboardUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DashboardUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/dashboard.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n dashboardId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n dashboardId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the dashboard.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/dashboard.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class DashboardUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the dashboard.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tdashboardId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DatabaseManagementConsole.html":{"url":"classes/DatabaseManagementConsole.html","title":"class - DatabaseManagementConsole","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DatabaseManagementConsole\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/management/console/database-management.console.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n exportCollections\n \n \n \n Async\n seedCollections\n \n \n \n Async\n syncIndexes\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(consoleWriter: ConsoleWriterService, databaseManagementUc: DatabaseManagementUc)\n \n \n \n \n Defined in apps/server/src/modules/management/console/database-management.console.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n consoleWriter\n \n \n ConsoleWriterService\n \n \n \n No\n \n \n \n \n databaseManagementUc\n \n \n DatabaseManagementUc\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n exportCollections\n \n \n \n \n \n \n \n exportCollections(options: Options)\n \n \n\n \n \n Decorators : \n \n @Command({command: 'export', options: undefined, description: 'export database collections to filesystem'})\n \n \n\n \n \n Defined in apps/server/src/modules/management/console/database-management.console.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n Options\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n seedCollections\n \n \n \n \n \n \n \n seedCollections(options: Options)\n \n \n\n \n \n Decorators : \n \n @Command({command: 'seed', options: undefined, description: 'reset database collections with seed data from filesystem'})\n \n \n\n \n \n Defined in apps/server/src/modules/management/console/database-management.console.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n Options\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n syncIndexes\n \n \n \n \n \n \n \n syncIndexes()\n \n \n\n \n \n Decorators : \n \n @Command({command: 'sync-indexes', options: undefined, description: 'sync indexes from nest and mikroorm'})\n \n \n\n \n \n Defined in apps/server/src/modules/management/console/database-management.console.ts:72\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ConsoleWriterService } from '@infra/console/console-writer/console-writer.service';\nimport { Command, Console } from 'nestjs-console';\nimport { DatabaseManagementUc } from '../uc/database-management.uc';\n\ninterface Options {\n\tcollection?: string;\n\toverride?: boolean;\n\tonlyfactories?: boolean;\n}\n\n@Console({ command: 'database', description: 'database setup console' })\nexport class DatabaseManagementConsole {\n\tconstructor(private consoleWriter: ConsoleWriterService, private databaseManagementUc: DatabaseManagementUc) {}\n\n\t@Command({\n\t\tcommand: 'seed',\n\t\toptions: [\n\t\t\t{\n\t\t\t\tflags: '-c, --collection ',\n\t\t\t\trequired: false,\n\t\t\t\tdescription: 'filter for a single ',\n\t\t\t},\n\t\t\t{\n\t\t\t\tflags: '-o, --onlyfactories',\n\t\t\t\trequired: false,\n\t\t\t\tdescription: 'seed from factories only',\n\t\t\t},\n\t\t],\n\t\tdescription: 'reset database collections with seed data from filesystem',\n\t})\n\tasync seedCollections(options: Options): Promise {\n\t\tconst filter = options?.collection ? [options.collection] : undefined;\n\n\t\tconst collections = options.onlyfactories\n\t\t\t? await this.databaseManagementUc.seedDatabaseCollectionsFromFactories(filter)\n\t\t\t: await this.databaseManagementUc.seedDatabaseCollectionsFromFileSystem(filter);\n\t\tconst report = JSON.stringify(collections);\n\t\tthis.consoleWriter.info(report);\n\t\treturn collections;\n\t}\n\n\t@Command({\n\t\tcommand: 'export',\n\t\toptions: [\n\t\t\t{\n\t\t\t\tflags: '-c, --collection ',\n\t\t\t\trequired: false,\n\t\t\t\tdescription: 'filter for a single ',\n\t\t\t},\n\t\t\t{\n\t\t\t\tflags: '-o, --override',\n\t\t\t\trequired: false,\n\t\t\t\tdescription: 'optional export collections to setup folder and override existing files',\n\t\t\t},\n\t\t],\n\t\tdescription: 'export database collections to filesystem',\n\t})\n\tasync exportCollections(options: Options): Promise {\n\t\tconst filter = options?.collection ? [options.collection] : undefined;\n\t\tconst toSeedFolder = options?.override ? true : undefined;\n\t\tconst collections = await this.databaseManagementUc.exportCollectionsToFileSystem(filter, toSeedFolder);\n\t\tconst report = JSON.stringify(collections);\n\t\tthis.consoleWriter.info(report);\n\t\treturn collections;\n\t}\n\n\t@Command({\n\t\tcommand: 'sync-indexes',\n\t\toptions: [],\n\t\tdescription: 'sync indexes from nest and mikroorm',\n\t})\n\tasync syncIndexes(): Promise {\n\t\tawait this.databaseManagementUc.syncIndexes();\n\t\tconst report = 'sync of indexes is completed';\n\t\tthis.consoleWriter.info(report);\n\t\treturn report;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/DatabaseManagementController.html":{"url":"controllers/DatabaseManagementController.html","title":"controller - DatabaseManagementController","body":"\n \n\n\n\n\n\n\n Controllers\n DatabaseManagementController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/management/controller/database-management.controller.ts\n \n\n \n Prefix\n \n \n management/database\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n exportCollection\n \n \n \n Async\n exportCollections\n \n \n \n Async\n importCollection\n \n \n \n Async\n importCollections\n \n \n \n syncIndexes\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n exportCollection\n \n \n \n \n \n \n \n exportCollection(collectionName: string)\n \n \n\n \n \n Decorators : \n \n @Post('export/:collectionName')\n \n \n\n \n \n Defined in apps/server/src/modules/management/controller/database-management.controller.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n collectionName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n exportCollections\n \n \n \n \n \n \n \n exportCollections()\n \n \n\n \n \n Decorators : \n \n @Post('export')\n \n \n\n \n \n Defined in apps/server/src/modules/management/controller/database-management.controller.ts:23\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n importCollection\n \n \n \n \n \n \n \n importCollection(collectionName: string)\n \n \n\n \n \n Decorators : \n \n @Post('seed/:collectionName')\n \n \n\n \n \n Defined in apps/server/src/modules/management/controller/database-management.controller.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n collectionName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n importCollections\n \n \n \n \n \n \n \n importCollections(withIndexes: boolean)\n \n \n\n \n \n Decorators : \n \n @All('seed')\n \n \n\n \n \n Defined in apps/server/src/modules/management/controller/database-management.controller.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n withIndexes\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n syncIndexes\n \n \n \n \n \n \n \n syncIndexes()\n \n \n\n \n \n Decorators : \n \n @Post('sync-indexes')\n \n \n\n \n \n Defined in apps/server/src/modules/management/controller/database-management.controller.ts:33\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n\n\n \n import { Controller, Param, Post, All, Query } from '@nestjs/common';\nimport { DatabaseManagementUc } from '../uc/database-management.uc';\n\n@Controller('management/database')\nexport class DatabaseManagementController {\n\tconstructor(private databaseManagementUc: DatabaseManagementUc) {}\n\n\t@All('seed')\n\tasync importCollections(@Query('with-indexes') withIndexes: boolean): Promise {\n\t\tconst res = await this.databaseManagementUc.seedDatabaseCollectionsFromFileSystem();\n\t\tif (withIndexes) {\n\t\t\tawait this.databaseManagementUc.syncIndexes();\n\t\t}\n\t\treturn res;\n\t}\n\n\t@Post('seed/:collectionName')\n\tasync importCollection(@Param('collectionName') collectionName: string): Promise {\n\t\treturn this.databaseManagementUc.seedDatabaseCollectionsFromFileSystem([collectionName]);\n\t}\n\n\t@Post('export')\n\tasync exportCollections(): Promise {\n\t\treturn this.databaseManagementUc.exportCollectionsToFileSystem();\n\t}\n\n\t@Post('export/:collectionName')\n\tasync exportCollection(@Param('collectionName') collectionName: string): Promise {\n\t\treturn this.databaseManagementUc.exportCollectionsToFileSystem([collectionName]);\n\t}\n\n\t@Post('sync-indexes')\n\tsyncIndexes() {\n\t\treturn this.databaseManagementUc.syncIndexes();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/DatabaseManagementModule.html":{"url":"modules/DatabaseManagementModule.html","title":"module - DatabaseManagementModule","body":"\n \n\n\n\n\n Modules\n DatabaseManagementModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_DatabaseManagementModule\n\n\n\ncluster_DatabaseManagementModule_providers\n\n\n\ncluster_DatabaseManagementModule_exports\n\n\n\n\nDatabaseManagementService \n\nDatabaseManagementService \n\n\n\nDatabaseManagementModule\n\nDatabaseManagementModule\n\nDatabaseManagementService -->\n\nDatabaseManagementModule->DatabaseManagementService \n\n\n\n\n\nDatabaseManagementService\n\nDatabaseManagementService\n\nDatabaseManagementModule -->\n\nDatabaseManagementService->DatabaseManagementModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/database/management/database-management.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n DatabaseManagementService\n \n \n \n \n Exports\n \n \n DatabaseManagementService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { DatabaseManagementService } from './database-management.service';\n\n@Module({\n\tproviders: [DatabaseManagementService],\n\texports: [DatabaseManagementService],\n})\nexport class DatabaseManagementModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DatabaseManagementService.html":{"url":"injectables/DatabaseManagementService.html","title":"injectable - DatabaseManagementService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DatabaseManagementService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/database/management/database-management.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n clearCollection\n \n \n Async\n collectionExists\n \n \n Async\n createCollection\n \n \n Async\n dropCollection\n \n \n Async\n findDocumentsOfCollection\n \n \n Async\n getCollectionNames\n \n \n getDatabaseCollection\n \n \n Async\n importCollection\n \n \n Async\n syncIndexes\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n db\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager, orm: MikroORM)\n \n \n \n \n Defined in apps/server/src/infra/database/management/database-management.service.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n orm\n \n \n MikroORM\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n clearCollection\n \n \n \n \n \n \n \n clearCollection(collectionName: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/database/management/database-management.service.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n collectionName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n collectionExists\n \n \n \n \n \n \n \n collectionExists(collectionName: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/database/management/database-management.service.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n collectionName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createCollection\n \n \n \n \n \n \n \n createCollection(collectionName: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/database/management/database-management.service.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n collectionName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n dropCollection\n \n \n \n \n \n \n \n dropCollection(collectionName: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/database/management/database-management.service.ts:62\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n collectionName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findDocumentsOfCollection\n \n \n \n \n \n \n \n findDocumentsOfCollection(collectionName: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/database/management/database-management.service.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n collectionName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getCollectionNames\n \n \n \n \n \n \n \n getCollectionNames()\n \n \n\n\n \n \n Defined in apps/server/src/infra/database/management/database-management.service.ts:44\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n getDatabaseCollection\n \n \n \n \n \n \ngetDatabaseCollection(collectionName: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/database/management/database-management.service.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n collectionName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Collection\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n importCollection\n \n \n \n \n \n \n \n importCollection(collectionName: string, jsonDocuments: [])\n \n \n\n\n \n \n Defined in apps/server/src/infra/database/management/database-management.service.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n collectionName\n \n string\n \n\n \n No\n \n\n\n \n \n jsonDocuments\n \n []\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n syncIndexes\n \n \n \n \n \n \n \n syncIndexes()\n \n \n\n\n \n \n Defined in apps/server/src/infra/database/management/database-management.service.ts:66\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n db\n \n \n\n \n \n getdb()\n \n \n \n \n Defined in apps/server/src/infra/database/management/database-management.service.ts:11\n \n \n\n \n \n\n \n\n\n \n import { MikroORM } from '@mikro-orm/core';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { BaseEntity } from '@shared/domain/entity';\nimport { Collection, Db } from 'mongodb';\n\n@Injectable()\nexport class DatabaseManagementService {\n\tconstructor(private em: EntityManager, private readonly orm: MikroORM) {}\n\n\tprivate get db(): Db {\n\t\treturn this.em.getConnection('write').getDb();\n\t}\n\n\tgetDatabaseCollection(collectionName: string): Collection {\n\t\tconst collection = this.db.collection(collectionName);\n\t\treturn collection;\n\t}\n\n\tasync importCollection(collectionName: string, jsonDocuments: unknown[]): Promise {\n\t\tif (jsonDocuments.length === 0) {\n\t\t\treturn 0;\n\t\t}\n\t\tconst collection = this.getDatabaseCollection(collectionName);\n\t\tconst { insertedCount } = await collection.insertMany(jsonDocuments as BaseEntity[], {\n\t\t\tforceServerObjectId: true,\n\t\t\tbypassDocumentValidation: true,\n\t\t});\n\t\treturn insertedCount;\n\t}\n\n\tasync findDocumentsOfCollection(collectionName: string): Promise {\n\t\tconst collection = this.getDatabaseCollection(collectionName);\n\t\tconst documents = (await collection.find({}).toArray()) as unknown[];\n\t\treturn documents;\n\t}\n\n\tasync clearCollection(collectionName: string): Promise {\n\t\tconst collection = this.getDatabaseCollection(collectionName);\n\t\tconst { deletedCount } = await collection.deleteMany({});\n\t\treturn deletedCount || 0;\n\t}\n\n\tasync getCollectionNames(): Promise {\n\t\tconst collections = (await this.db.listCollections(undefined, { nameOnly: true }).toArray()) as unknown[] as {\n\t\t\tname: string;\n\t\t}[];\n\t\tconst collectionNames = collections.map((collection) => collection.name);\n\t\treturn collectionNames;\n\t}\n\n\tasync collectionExists(collectionName: string): Promise {\n\t\tconst collections = await this.getCollectionNames();\n\t\tconst result = collections.includes(collectionName);\n\t\treturn result;\n\t}\n\n\tasync createCollection(collectionName: string): Promise {\n\t\tawait this.db.createCollection(collectionName);\n\t}\n\n\tasync dropCollection(collectionName: string): Promise {\n\t\tawait this.db.dropCollection(collectionName);\n\t}\n\n\tasync syncIndexes(): Promise {\n\t\treturn this.orm.getSchemaGenerator().ensureIndexes();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeleteFilesConsole.html":{"url":"classes/DeleteFilesConsole.html","title":"class - DeleteFilesConsole","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeleteFilesConsole\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files/job/delete-files.console.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteMarkedFiles\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(deleteFilesUc: DeleteFilesUc, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/files/job/delete-files.console.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n deleteFilesUc\n \n \n DeleteFilesUc\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n deleteMarkedFiles\n \n \n \n \n \n \n \n deleteMarkedFiles(daysSinceDeletion: number, batchSize: number)\n \n \n\n \n \n Decorators : \n \n @Command({command: 'cleanup-job [batchSize]', description: 'cleanup job to remove files that were marked for deletion days ago'})\n \n \n\n \n \n Defined in apps/server/src/modules/files/job/delete-files.console.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n daysSinceDeletion\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n batchSize\n \n number\n \n\n \n No\n \n\n \n 1000\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Command, Console } from 'nestjs-console';\nimport { LegacyLogger } from '@src/core/logger';\nimport { DeleteFilesUc } from '../uc';\n\n@Console({ command: 'files', description: 'file deletion console' })\nexport class DeleteFilesConsole {\n\tconstructor(private deleteFilesUc: DeleteFilesUc, private logger: LegacyLogger) {\n\t\tthis.logger.setContext(DeleteFilesConsole.name);\n\t}\n\n\t@Command({\n\t\tcommand: 'cleanup-job [batchSize]',\n\t\tdescription: 'cleanup job to remove files that were marked for deletion days ago',\n\t})\n\tasync deleteMarkedFiles(daysSinceDeletion: number, batchSize = 1000): Promise {\n\t\tthis.logger.log(\n\t\t\t`Start cleanup job: Deleting files that were marked for deletion at least ${daysSinceDeletion} days ago; batch size: ${batchSize}`\n\t\t);\n\t\tconst thresholdDate = new Date();\n\t\tthresholdDate.setDate(thresholdDate.getDate() - daysSinceDeletion);\n\n\t\tawait this.deleteFilesUc.deleteMarkedFiles(thresholdDate, Number(batchSize));\n\t\tthis.logger.log('cleanup job finished');\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DeleteFilesUc.html":{"url":"injectables/DeleteFilesUc.html","title":"injectable - DeleteFilesUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DeleteFilesUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files/uc/delete-files.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n s3ClientMap\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n createClient\n \n \n Private\n Async\n deleteFile\n \n \n Private\n Async\n deleteFileInStorage\n \n \n Public\n Async\n deleteMarkedFiles\n \n \n Private\n Async\n initializeS3ClientMap\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(filesRepo: FilesRepo, storageProviderRepo: StorageProviderRepo, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/files/uc/delete-files.uc.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filesRepo\n \n \n FilesRepo\n \n \n \n No\n \n \n \n \n storageProviderRepo\n \n \n StorageProviderRepo\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n createClient\n \n \n \n \n \n \n \n createClient(storageProvider: StorageProviderEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/uc/delete-files.uc.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n storageProvider\n \n StorageProviderEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : S3Client\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n deleteFile\n \n \n \n \n \n \n \n deleteFile(file: FileEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/uc/delete-files.uc.ts:91\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n file\n \n FileEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n deleteFileInStorage\n \n \n \n \n \n \n \n deleteFileInStorage(file: FileEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/uc/delete-files.uc.ts:106\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n file\n \n FileEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n deleteMarkedFiles\n \n \n \n \n \n \n \n deleteMarkedFiles(thresholdDate: Date, batchSize: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/uc/delete-files.uc.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n thresholdDate\n \n Date\n \n\n \n No\n \n\n\n \n \n batchSize\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n initializeS3ClientMap\n \n \n \n \n \n \n \n initializeS3ClientMap()\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/uc/delete-files.uc.ts:66\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n s3ClientMap\n \n \n \n \n \n \n Type : Map\n\n \n \n \n \n Default value : new Map()\n \n \n \n \n Defined in apps/server/src/modules/files/uc/delete-files.uc.ts:12\n \n \n\n\n \n \n\n\n \n\n\n \n import { DeleteObjectCommand, S3Client } from '@aws-sdk/client-s3';\nimport { Injectable } from '@nestjs/common';\nimport { StorageProviderEntity } from '@shared/domain/entity';\nimport { StorageProviderRepo } from '@shared/repo/storageprovider';\nimport { LegacyLogger } from '@src/core/logger';\nimport { FileEntity } from '../entity';\nimport { FilesRepo } from '../repo';\n\n@Injectable()\nexport class DeleteFilesUc {\n\tprivate s3ClientMap: Map = new Map();\n\n\tconstructor(\n\t\tprivate readonly filesRepo: FilesRepo,\n\t\tprivate readonly storageProviderRepo: StorageProviderRepo,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(DeleteFilesUc.name);\n\t}\n\n\tpublic async deleteMarkedFiles(thresholdDate: Date, batchSize: number): Promise {\n\t\tawait this.initializeS3ClientMap();\n\n\t\tlet batchCounter = 0;\n\t\tlet numberOfFilesInBatch = 0;\n\t\tlet numberOfProcessedFiles = 0;\n\t\tconst failingFileIds: string[] = [];\n\n\t\tdo {\n\t\t\tconst offset = failingFileIds.length;\n\t\t\tconst files = await this.filesRepo.findForCleanup(thresholdDate, batchSize, offset);\n\n\t\t\tconst promises = files.map((file) => this.deleteFile(file));\n\t\t\tconst results = await Promise.all(promises);\n\n\t\t\tlet numberOfFailingFilesInBatch = 0;\n\n\t\t\tresults.forEach((result) => {\n\t\t\t\tif (!result.success) {\n\t\t\t\t\tfailingFileIds.push(result.fileId);\n\t\t\t\t\tnumberOfFailingFilesInBatch += 1;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tnumberOfFilesInBatch = files.length;\n\t\t\tnumberOfProcessedFiles += files.length;\n\t\t\tbatchCounter += 1;\n\n\t\t\tthis.logger.log(\n\t\t\t\t`Finished batch ${batchCounter} with ${numberOfFilesInBatch} files and ${numberOfFailingFilesInBatch} failed deletions`\n\t\t\t);\n\t\t} while (numberOfFilesInBatch > 0);\n\n\t\tthis.logger.log(\n\t\t\t`${\n\t\t\t\tnumberOfProcessedFiles - failingFileIds.length\n\t\t\t} out of ${numberOfProcessedFiles} files were successfully deleted`\n\t\t);\n\n\t\tif (failingFileIds.length > 0) {\n\t\t\tthis.logger.error(`the following files could not be deleted: ${failingFileIds.toString()}`);\n\t\t}\n\t}\n\n\tprivate async initializeS3ClientMap() {\n\t\tconst providers = await this.storageProviderRepo.findAll();\n\n\t\tproviders.forEach((provider) => {\n\t\t\tthis.s3ClientMap.set(provider.id, this.createClient(provider));\n\t\t});\n\n\t\tthis.logger.log(`Initialized s3ClientMap with ${this.s3ClientMap.size} clients.`);\n\t}\n\n\tprivate createClient(storageProvider: StorageProviderEntity): S3Client {\n\t\tconst client = new S3Client({\n\t\t\tendpoint: storageProvider.endpointUrl,\n\t\t\tforcePathStyle: true,\n\t\t\tregion: storageProvider.region,\n\t\t\ttls: true,\n\t\t\tcredentials: {\n\t\t\t\taccessKeyId: storageProvider.accessKeyId,\n\t\t\t\tsecretAccessKey: storageProvider.secretAccessKey,\n\t\t\t},\n\t\t});\n\n\t\treturn client;\n\t}\n\n\tprivate async deleteFile(file: FileEntity): Promise {\n\t\ttry {\n\t\t\tif (!file.isDirectory) {\n\t\t\t\tawait this.deleteFileInStorage(file);\n\t\t\t}\n\t\t\tawait this.filesRepo.delete(file);\n\n\t\t\treturn { fileId: file.id, success: true };\n\t\t} catch (error) {\n\t\t\tthis.logger.error(error);\n\n\t\t\treturn { fileId: file.id, success: false };\n\t\t}\n\t}\n\n\tprivate async deleteFileInStorage(file: FileEntity) {\n\t\tconst bucket = file.bucket as string;\n\t\tconst storageFileName = file.storageFileName as string;\n\t\tconst deletionCommand = new DeleteObjectCommand({ Bucket: bucket, Key: storageFileName });\n\n\t\tconst storageProvider = file.storageProvider as StorageProviderEntity;\n\t\tconst client = this.s3ClientMap.get(storageProvider.id) as S3Client;\n\n\t\tawait client.send(deletionCommand);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/DeletionApiModule.html":{"url":"modules/DeletionApiModule.html","title":"module - DeletionApiModule","body":"\n \n\n\n\n\n Modules\n DeletionApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_DeletionApiModule\n\n\n\ncluster_DeletionApiModule_imports\n\n\n\ncluster_DeletionApiModule_providers\n\n\n\n\nAccountModule\n\nAccountModule\n\n\n\nDeletionApiModule\n\nDeletionApiModule\n\nDeletionApiModule -->\n\nAccountModule->DeletionApiModule\n\n\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\nDeletionApiModule -->\n\nAuthenticationModule->DeletionApiModule\n\n\n\n\n\nClassModule\n\nClassModule\n\nDeletionApiModule -->\n\nClassModule->DeletionApiModule\n\n\n\n\n\nDeletionModule\n\nDeletionModule\n\nDeletionApiModule -->\n\nDeletionModule->DeletionApiModule\n\n\n\n\n\nFilesModule\n\nFilesModule\n\nDeletionApiModule -->\n\nFilesModule->DeletionApiModule\n\n\n\n\n\nLearnroomModule\n\nLearnroomModule\n\nDeletionApiModule -->\n\nLearnroomModule->DeletionApiModule\n\n\n\n\n\nLessonModule\n\nLessonModule\n\nDeletionApiModule -->\n\nLessonModule->DeletionApiModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nDeletionApiModule -->\n\nLoggerModule->DeletionApiModule\n\n\n\n\n\nPseudonymModule\n\nPseudonymModule\n\nDeletionApiModule -->\n\nPseudonymModule->DeletionApiModule\n\n\n\n\n\nRegistrationPinModule\n\nRegistrationPinModule\n\nDeletionApiModule -->\n\nRegistrationPinModule->DeletionApiModule\n\n\n\n\n\nRocketChatModule\n\nRocketChatModule\n\nDeletionApiModule -->\n\nRocketChatModule->DeletionApiModule\n\n\n\n\n\nRocketChatUserModule\n\nRocketChatUserModule\n\nDeletionApiModule -->\n\nRocketChatUserModule->DeletionApiModule\n\n\n\n\n\nTeamsModule\n\nTeamsModule\n\nDeletionApiModule -->\n\nTeamsModule->DeletionApiModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nDeletionApiModule -->\n\nUserModule->DeletionApiModule\n\n\n\n\n\nDeletionRequestUc\n\nDeletionRequestUc\n\nDeletionApiModule -->\n\nDeletionRequestUc->DeletionApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/deletion/deletion-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n DeletionRequestUc\n \n \n \n \n Controllers\n \n \n DeletionRequestsController\n \n \n DeletionExecutionsController\n \n \n \n \n Imports\n \n \n AccountModule\n \n \n AuthenticationModule\n \n \n ClassModule\n \n \n DeletionModule\n \n \n FilesModule\n \n \n LearnroomModule\n \n \n LessonModule\n \n \n LoggerModule\n \n \n PseudonymModule\n \n \n RegistrationPinModule\n \n \n RocketChatModule\n \n \n RocketChatUserModule\n \n \n TeamsModule\n \n \n UserModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { DeletionModule } from '@modules/deletion';\nimport { AccountModule } from '@modules/account';\nimport { ClassModule } from '@modules/class';\nimport { LearnroomModule } from '@modules/learnroom';\nimport { FilesModule } from '@modules/files';\nimport { PseudonymModule } from '@modules/pseudonym';\nimport { LessonModule } from '@modules/lesson';\nimport { TeamsModule } from '@modules/teams';\nimport { UserModule } from '@modules/user';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthenticationModule } from '@modules/authentication';\nimport { RocketChatUserModule } from '@modules/rocketchat-user';\nimport { Configuration } from '@hpi-schul-cloud/commons';\nimport { RocketChatModule } from '@modules/rocketchat';\nimport { RegistrationPinModule } from '@modules/registration-pin';\nimport { DeletionRequestsController } from './controller/deletion-requests.controller';\nimport { DeletionExecutionsController } from './controller/deletion-executions.controller';\nimport { DeletionRequestUc } from './uc';\n\n@Module({\n\timports: [\n\t\tDeletionModule,\n\t\tAccountModule,\n\t\tClassModule,\n\t\tLearnroomModule,\n\t\tFilesModule,\n\t\tLessonModule,\n\t\tPseudonymModule,\n\t\tTeamsModule,\n\t\tUserModule,\n\t\tLoggerModule,\n\t\tAuthenticationModule,\n\t\tRocketChatUserModule,\n\t\tRegistrationPinModule,\n\t\tRocketChatModule.forRoot({\n\t\t\turi: Configuration.get('ROCKET_CHAT_URI') as string,\n\t\t\tadminId: Configuration.get('ROCKET_CHAT_ADMIN_ID') as string,\n\t\t\tadminToken: Configuration.get('ROCKET_CHAT_ADMIN_TOKEN') as string,\n\t\t\tadminUser: Configuration.get('ROCKET_CHAT_ADMIN_USER') as string,\n\t\t\tadminPassword: Configuration.get('ROCKET_CHAT_ADMIN_PASSWORD') as string,\n\t\t}),\n\t],\n\tcontrollers: [DeletionRequestsController, DeletionExecutionsController],\n\tproviders: [DeletionRequestUc],\n})\nexport class DeletionApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DeletionClient.html":{"url":"injectables/DeletionClient.html","title":"injectable - DeletionClient","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DeletionClient\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/client/deletion.client.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n apiKey\n \n \n Private\n Readonly\n baseUrl\n \n \n Private\n Readonly\n postDeletionExecutionsEndpoint\n \n \n Private\n Readonly\n postDeletionRequestsEndpoint\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n apiKeyHeader\n \n \n Private\n defaultHeaders\n \n \n Async\n executeDeletions\n \n \n Async\n queueDeletionRequest\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(httpService: HttpService, configService: ConfigService)\n \n \n \n \n Defined in apps/server/src/modules/deletion/client/deletion.client.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n httpService\n \n \n HttpService\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n apiKeyHeader\n \n \n \n \n \n \n \n apiKeyHeader()\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/client/deletion.client.ts:88\n \n \n\n\n \n \n\n \n Returns : { 'X-Api-Key': string; }\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n defaultHeaders\n \n \n \n \n \n \n \n defaultHeaders()\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/client/deletion.client.ts:92\n \n \n\n\n \n \n\n \n Returns : { headers: { 'X-Api-Key': string; }; }\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n executeDeletions\n \n \n \n \n \n \n \n executeDeletions(limit?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/client/deletion.client.ts:64\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n limit\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n queueDeletionRequest\n \n \n \n \n \n \n \n queueDeletionRequest(input: DeletionRequestInput)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/client/deletion.client.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n input\n \n DeletionRequestInput\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n apiKey\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/deletion/client/deletion.client.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/deletion/client/deletion.client.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n postDeletionExecutionsEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/deletion/client/deletion.client.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n postDeletionRequestsEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/deletion/client/deletion.client.ts:14\n \n \n\n\n \n \n\n\n \n\n\n \n import { HttpService } from '@nestjs/axios';\nimport { BadGatewayException, Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { ErrorUtils } from '@src/core/error/utils';\nimport { firstValueFrom } from 'rxjs';\nimport { DeletionClientConfig, DeletionRequestInput, DeletionRequestOutput } from './interface';\n\n@Injectable()\nexport class DeletionClient {\n\tprivate readonly baseUrl: string;\n\n\tprivate readonly apiKey: string;\n\n\tprivate readonly postDeletionRequestsEndpoint: string;\n\n\tprivate readonly postDeletionExecutionsEndpoint: string;\n\n\tconstructor(\n\t\tprivate readonly httpService: HttpService,\n\t\tprivate readonly configService: ConfigService\n\t) {\n\t\tthis.baseUrl = this.configService.get('ADMIN_API_CLIENT_BASE_URL');\n\t\tthis.apiKey = this.configService.get('ADMIN_API_CLIENT_API_KEY');\n\n\t\t// Prepare the POST /deletionRequests endpoint beforehand to not do it on every client call.\n\t\tthis.postDeletionRequestsEndpoint = new URL('/admin/api/v1/deletionRequests', this.baseUrl).toString();\n\t\tthis.postDeletionExecutionsEndpoint = new URL('/admin/api/v1/deletionExecutions', this.baseUrl).toString();\n\t}\n\n\tasync queueDeletionRequest(input: DeletionRequestInput): Promise {\n\t\ttry {\n\t\t\tconst request = this.httpService.post(\n\t\t\t\tthis.postDeletionRequestsEndpoint,\n\t\t\t\tinput,\n\t\t\t\tthis.defaultHeaders()\n\t\t\t);\n\n\t\t\tconst resp = await firstValueFrom(request);\n\n\t\t\t// Throw an error if any other status code (other than expected \"202 Accepted\" is returned).\n\t\t\tif (resp.status !== 202) {\n\t\t\t\tthrow new Error(`invalid HTTP status code in a response from the server - ${resp.status} instead of 202`);\n\t\t\t}\n\n\t\t\t// Throw an error if server didn't return a requestId in a response (and it is\n\t\t\t// required as it gives client the reference to the created deletion request).\n\t\t\tif (!resp.data.requestId) {\n\t\t\t\tthrow new Error('no valid requestId returned from the server');\n\t\t\t}\n\n\t\t\t// Throw an error if server didn't return a deletionPlannedAt timestamp so the user\n\t\t\t// will not be aware after which date the deletion request's execution will begin.\n\t\t\tif (!resp.data.deletionPlannedAt) {\n\t\t\t\tthrow Error('no valid deletionPlannedAt returned from the server');\n\t\t\t}\n\n\t\t\treturn resp.data;\n\t\t} catch (err) {\n\t\t\t// Throw an error if sending deletion request has failed.\n\t\t\tthrow new BadGatewayException('DeletionClient:queueDeletionRequest', ErrorUtils.createHttpExceptionOptions(err));\n\t\t}\n\t}\n\n\tasync executeDeletions(limit?: number): Promise {\n\t\tlet requestConfig = {};\n\n\t\tif (limit && limit > 0) {\n\t\t\trequestConfig = { ...this.defaultHeaders(), params: { limit } };\n\t\t} else {\n\t\t\trequestConfig = { ...this.defaultHeaders() };\n\t\t}\n\n\t\ttry {\n\t\t\tconst request = this.httpService.post(this.postDeletionExecutionsEndpoint, null, requestConfig);\n\n\t\t\tconst resp = await firstValueFrom(request);\n\n\t\t\tif (resp.status !== 204) {\n\t\t\t\t// Throw an error if any other status code (other than expected \"204 No Content\" is returned).\n\t\t\t\tthrow new Error(`invalid HTTP status code in a response from the server - ${resp.status} instead of 204`);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\t// Throw an error if sending deletion request(s) execution trigger has failed.\n\t\t\tthrow new BadGatewayException('DeletionClient:executeDeletions', ErrorUtils.createHttpExceptionOptions(err));\n\t\t}\n\t}\n\n\tprivate apiKeyHeader() {\n\t\treturn { 'X-Api-Key': this.apiKey };\n\t}\n\n\tprivate defaultHeaders() {\n\t\treturn {\n\t\t\theaders: this.apiKeyHeader(),\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionClientConfig.html":{"url":"interfaces/DeletionClientConfig.html","title":"interface - DeletionClientConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionClientConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/client/interface/deletion-client-config.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n ADMIN_API_CLIENT_API_KEY\n \n \n \n \n ADMIN_API_CLIENT_BASE_URL\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n ADMIN_API_CLIENT_API_KEY\n \n \n \n \n \n \n \n \n ADMIN_API_CLIENT_API_KEY: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n ADMIN_API_CLIENT_BASE_URL\n \n \n \n \n \n \n \n \n ADMIN_API_CLIENT_BASE_URL: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface DeletionClientConfig {\n\tADMIN_API_CLIENT_BASE_URL: string;\n\tADMIN_API_CLIENT_API_KEY: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/DeletionConsoleModule.html":{"url":"modules/DeletionConsoleModule.html","title":"module - DeletionConsoleModule","body":"\n \n\n\n\n\n Modules\n DeletionConsoleModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_DeletionConsoleModule\n\n\n\ncluster_DeletionConsoleModule_imports\n\n\n\ncluster_DeletionConsoleModule_providers\n\n\n\n\nConsoleWriterModule\n\nConsoleWriterModule\n\n\n\nDeletionConsoleModule\n\nDeletionConsoleModule\n\nDeletionConsoleModule -->\n\nConsoleWriterModule->DeletionConsoleModule\n\n\n\n\n\nBatchDeletionService\n\nBatchDeletionService\n\nDeletionConsoleModule -->\n\nBatchDeletionService->DeletionConsoleModule\n\n\n\n\n\nBatchDeletionUc\n\nBatchDeletionUc\n\nDeletionConsoleModule -->\n\nBatchDeletionUc->DeletionConsoleModule\n\n\n\n\n\nDeletionClient\n\nDeletionClient\n\nDeletionConsoleModule -->\n\nDeletionClient->DeletionConsoleModule\n\n\n\n\n\nDeletionExecutionUc\n\nDeletionExecutionUc\n\nDeletionConsoleModule -->\n\nDeletionExecutionUc->DeletionConsoleModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/deletion/console/deletion-console.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n BatchDeletionService\n \n \n BatchDeletionUc\n \n \n DeletionClient\n \n \n DeletionExecutionUc\n \n \n \n \n Imports\n \n \n ConsoleWriterModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { HttpModule } from '@nestjs/axios';\nimport { ConfigModule } from '@nestjs/config';\nimport { ConsoleModule } from 'nestjs-console';\nimport { ConsoleWriterModule } from '@infra/console';\nimport { createConfigModuleOptions } from '@src/config';\nimport { DeletionClient } from '../client';\nimport { getDeletionClientConfig } from '../client/deletion-client.config';\nimport { BatchDeletionService } from '../services';\nimport { BatchDeletionUc, DeletionExecutionUc } from '../uc';\nimport { DeletionQueueConsole } from './deletion-queue.console';\nimport { DeletionExecutionConsole } from './deletion-execution.console';\n\n@Module({\n\timports: [\n\t\tConsoleModule,\n\t\tConsoleWriterModule,\n\t\tHttpModule,\n\t\tConfigModule.forRoot(createConfigModuleOptions(getDeletionClientConfig)),\n\t],\n\tproviders: [\n\t\tDeletionClient,\n\t\tBatchDeletionService,\n\t\tBatchDeletionUc,\n\t\tDeletionExecutionUc,\n\t\tDeletionQueueConsole,\n\t\tDeletionExecutionConsole,\n\t],\n})\nexport class DeletionConsoleModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionExecutionConsole.html":{"url":"classes/DeletionExecutionConsole.html","title":"class - DeletionExecutionConsole","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionExecutionConsole\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/console/deletion-execution.console.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n triggerDeletionExecution\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(consoleWriter: ConsoleWriterService, deletionExecutionUc: DeletionExecutionUc)\n \n \n \n \n Defined in apps/server/src/modules/deletion/console/deletion-execution.console.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n consoleWriter\n \n \n ConsoleWriterService\n \n \n \n No\n \n \n \n \n deletionExecutionUc\n \n \n DeletionExecutionUc\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n triggerDeletionExecution\n \n \n \n \n \n \n \n triggerDeletionExecution(options: TriggerDeletionExecutionOptions)\n \n \n\n \n \n Decorators : \n \n @Command({command: 'trigger', description: 'Trigger execution of deletion requests.', options: undefined})\n \n \n\n \n \n Defined in apps/server/src/modules/deletion/console/deletion-execution.console.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n TriggerDeletionExecutionOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Command, Console } from 'nestjs-console';\nimport { ConsoleWriterService } from '@infra/console';\nimport { DeletionExecutionUc } from '../uc';\nimport { DeletionExecutionTriggerResultBuilder } from './builder';\nimport { DeletionExecutionTriggerResult, TriggerDeletionExecutionOptions } from './interface';\n\n@Console({ command: 'execution', description: 'Console providing an access to the deletion execution(s).' })\nexport class DeletionExecutionConsole {\n\tconstructor(private consoleWriter: ConsoleWriterService, private deletionExecutionUc: DeletionExecutionUc) {}\n\n\t@Command({\n\t\tcommand: 'trigger',\n\t\tdescription: 'Trigger execution of deletion requests.',\n\t\toptions: [\n\t\t\t{\n\t\t\t\tflags: '-l, --limit ',\n\t\t\t\tdescription: 'Limit of the requested deletion executions that should be performed.',\n\t\t\t\trequired: false,\n\t\t\t},\n\t\t],\n\t})\n\tasync triggerDeletionExecution(options: TriggerDeletionExecutionOptions): Promise {\n\t\t// Try to trigger the deletion execution(s) via Deletion API client,\n\t\t// return successful status in case of a success, otherwise return\n\t\t// a result with a failure status and a proper error message.\n\t\tlet result: DeletionExecutionTriggerResult;\n\n\t\ttry {\n\t\t\tawait this.deletionExecutionUc.triggerDeletionExecution(options.limit ? Number(options.limit) : undefined);\n\n\t\t\tresult = DeletionExecutionTriggerResultBuilder.buildSuccess();\n\t\t} catch (err) {\n\t\t\tresult = DeletionExecutionTriggerResultBuilder.buildFailure(err as Error);\n\t\t}\n\n\t\tthis.consoleWriter.info(JSON.stringify(result));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionExecutionParams.html":{"url":"classes/DeletionExecutionParams.html","title":"class - DeletionExecutionParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionExecutionParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/controller/dto/deletion-execution.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 100\n \n \n \n \n Decorators : \n \n \n @IsInt()@Min(1)@IsOptional()@ApiPropertyOptional({description: 'Page limit, defaults to 100.', minimum: 1})\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/controller/dto/deletion-execution.params.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsInt, IsOptional, Min } from 'class-validator';\n\nexport class DeletionExecutionParams {\n\t@IsInt()\n\t@Min(1)\n\t@IsOptional()\n\t@ApiPropertyOptional({ description: 'Page limit, defaults to 100.', minimum: 1 })\n\tlimit?: number = 100;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionExecutionTriggerResult.html":{"url":"interfaces/DeletionExecutionTriggerResult.html","title":"interface - DeletionExecutionTriggerResult","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionExecutionTriggerResult\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/console/interface/deletion-execution-trigger-result.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n error\n \n \n \n \n status\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n error\n \n \n \n \n \n \n \n \n error: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n \n \n status: DeletionExecutionTriggerStatus\n\n \n \n\n\n \n \n Type : DeletionExecutionTriggerStatus\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { DeletionExecutionTriggerStatus } from './deletion-execution-trigger-status.enum';\n\nexport interface DeletionExecutionTriggerResult {\n\tstatus: DeletionExecutionTriggerStatus;\n\terror?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionExecutionTriggerResultBuilder.html":{"url":"classes/DeletionExecutionTriggerResultBuilder.html","title":"class - DeletionExecutionTriggerResultBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionExecutionTriggerResultBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/console/builder/deletion-execution-trigger-result.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Static\n build\n \n \n Static\n buildFailure\n \n \n Static\n buildSuccess\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Static\n build\n \n \n \n \n \n \n \n build(status: DeletionExecutionTriggerStatus, error?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/console/builder/deletion-execution-trigger-result.builder.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n status\n \n DeletionExecutionTriggerStatus\n \n\n \n No\n \n\n\n \n \n error\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DeletionExecutionTriggerResult\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n buildFailure\n \n \n \n \n \n \n \n buildFailure(err: Error)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/console/builder/deletion-execution-trigger-result.builder.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n err\n \n Error\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionExecutionTriggerResult\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n buildSuccess\n \n \n \n \n \n \n \n buildSuccess()\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/console/builder/deletion-execution-trigger-result.builder.ts:14\n \n \n\n\n \n \n\n \n Returns : DeletionExecutionTriggerResult\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DeletionExecutionTriggerResult, DeletionExecutionTriggerStatus } from '../interface';\n\nexport class DeletionExecutionTriggerResultBuilder {\n\tprivate static build(status: DeletionExecutionTriggerStatus, error?: string): DeletionExecutionTriggerResult {\n\t\tconst output: DeletionExecutionTriggerResult = { status };\n\n\t\tif (error) {\n\t\t\toutput.error = error;\n\t\t}\n\n\t\treturn output;\n\t}\n\n\tstatic buildSuccess(): DeletionExecutionTriggerResult {\n\t\treturn this.build(DeletionExecutionTriggerStatus.SUCCESS);\n\t}\n\n\tstatic buildFailure(err: Error): DeletionExecutionTriggerResult {\n\t\treturn this.build(DeletionExecutionTriggerStatus.FAILURE, err.toString());\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DeletionExecutionUc.html":{"url":"injectables/DeletionExecutionUc.html","title":"injectable - DeletionExecutionUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DeletionExecutionUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/uc/deletion-execution.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n triggerDeletionExecution\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(deletionClient: DeletionClient)\n \n \n \n \n Defined in apps/server/src/modules/deletion/uc/deletion-execution.uc.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionClient\n \n \n DeletionClient\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n triggerDeletionExecution\n \n \n \n \n \n \n \n triggerDeletionExecution(limit?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/uc/deletion-execution.uc.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n limit\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { DeletionClient } from '../client';\n\n@Injectable()\nexport class DeletionExecutionUc {\n\tconstructor(private readonly deletionClient: DeletionClient) {}\n\n\tasync triggerDeletionExecution(limit?: number): Promise {\n\t\tawait this.deletionClient.executeDeletions(limit);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/DeletionExecutionsController.html":{"url":"controllers/DeletionExecutionsController.html","title":"controller - DeletionExecutionsController","body":"\n \n\n\n\n\n\n\n Controllers\n DeletionExecutionsController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/controller/deletion-executions.controller.ts\n \n\n \n Prefix\n \n \n deletionExecutions\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n Async\n executeDeletions\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n Async\n executeDeletions\n \n \n \n \n \n \n \n executeDeletions(deletionExecutionQuery: DeletionExecutionParams)\n \n \n\n \n \n Decorators : \n \n @Post()@HttpCode(204)@ApiOperation({summary: 'Execute the deletion process'})@ApiResponse({status: 204})\n \n \n\n \n \n Defined in apps/server/src/modules/deletion/controller/deletion-executions.controller.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionExecutionQuery\n \n DeletionExecutionParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Controller, HttpCode, Post, Query, UseGuards } from '@nestjs/common';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { AuthGuard } from '@nestjs/passport';\nimport { DeletionRequestUc } from '../uc';\nimport { DeletionExecutionParams } from './dto';\n\n@ApiTags('DeletionExecutions')\n@UseGuards(AuthGuard('api-key'))\n@Controller('deletionExecutions')\nexport class DeletionExecutionsController {\n\tconstructor(private readonly deletionRequestUc: DeletionRequestUc) {}\n\n\t@Post()\n\t@HttpCode(204)\n\t@ApiOperation({\n\t\tsummary: 'Execute the deletion process',\n\t})\n\t@ApiResponse({\n\t\tstatus: 204,\n\t})\n\tasync executeDeletions(@Query() deletionExecutionQuery: DeletionExecutionParams) {\n\t\treturn this.deletionRequestUc.executeDeletionRequests(deletionExecutionQuery.limit);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionLog.html":{"url":"classes/DeletionLog.html","title":"class - DeletionLog","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionLog\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/domain/deletion-log.do.ts\n \n\n\n\n \n Extends\n \n \n DomainObject\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n createdAt\n \n \n updatedAt\n \n \n domain\n \n \n operation\n \n \n modifiedCount\n \n \n deletedCount\n \n \n deletionRequestId\n \n \n performedAt\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n createdAt\n \n \n\n \n \n getcreatedAt()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-log.do.ts:17\n \n \n\n \n \n \n \n \n \n \n updatedAt\n \n \n\n \n \n getupdatedAt()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-log.do.ts:21\n \n \n\n \n \n \n \n \n \n \n domain\n \n \n\n \n \n getdomain()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-log.do.ts:25\n \n \n\n \n \n \n \n \n \n \n operation\n \n \n\n \n \n getoperation()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-log.do.ts:29\n \n \n\n \n \n \n \n \n \n \n modifiedCount\n \n \n\n \n \n getmodifiedCount()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-log.do.ts:33\n \n \n\n \n \n \n \n \n \n \n deletedCount\n \n \n\n \n \n getdeletedCount()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-log.do.ts:37\n \n \n\n \n \n \n \n \n \n \n deletionRequestId\n \n \n\n \n \n getdeletionRequestId()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-log.do.ts:41\n \n \n\n \n \n \n \n \n \n \n performedAt\n \n \n\n \n \n getperformedAt()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-log.do.ts:45\n \n \n\n \n \n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { DeletionDomainModel, DeletionOperationModel } from './types';\n\nexport interface DeletionLogProps extends AuthorizableObject {\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n\tdomain: DeletionDomainModel;\n\toperation?: DeletionOperationModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n\tdeletionRequestId?: EntityId;\n\tperformedAt?: Date;\n}\n\nexport class DeletionLog extends DomainObject {\n\tget createdAt(): Date | undefined {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date | undefined {\n\t\treturn this.props.updatedAt;\n\t}\n\n\tget domain(): DeletionDomainModel {\n\t\treturn this.props.domain;\n\t}\n\n\tget operation(): DeletionOperationModel | undefined {\n\t\treturn this.props.operation;\n\t}\n\n\tget modifiedCount(): number | undefined {\n\t\treturn this.props.modifiedCount;\n\t}\n\n\tget deletedCount(): number | undefined {\n\t\treturn this.props.deletedCount;\n\t}\n\n\tget deletionRequestId(): EntityId | undefined {\n\t\treturn this.props.deletionRequestId;\n\t}\n\n\tget performedAt(): Date | undefined {\n\t\treturn this.props.performedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/DeletionLogEntity.html":{"url":"entities/DeletionLogEntity.html","title":"entity - DeletionLogEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n DeletionLogEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/entity/deletion-log.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n deletedCount\n \n \n \n Optional\n deletionRequestId\n \n \n \n domain\n \n \n \n Optional\n modifiedCount\n \n \n \n Optional\n operation\n \n \n \n \n Optional\n performedAt\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n deletedCount\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/entity/deletion-log.entity.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n deletionRequestId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/entity/deletion-log.entity.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n \n domain\n \n \n \n \n \n \n Type : DeletionDomainModel\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/entity/deletion-log.entity.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n modifiedCount\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/entity/deletion-log.entity.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n operation\n \n \n \n \n \n \n Type : DeletionOperationModel\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/entity/deletion-log.entity.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n performedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})@Index({options: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/entity/deletion-log.entity.ts:38\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Index, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport { DeletionDomainModel, DeletionOperationModel } from '../domain/types';\n\nexport interface DeletionLogEntityProps {\n\tid?: EntityId;\n\tdomain: DeletionDomainModel;\n\toperation?: DeletionOperationModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n\tdeletionRequestId?: ObjectId;\n\tperformedAt?: Date;\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n}\n\n@Entity({ tableName: 'deletionlogs' })\nexport class DeletionLogEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tdomain: DeletionDomainModel;\n\n\t@Property({ nullable: true })\n\toperation?: DeletionOperationModel;\n\n\t@Property({ nullable: true })\n\tmodifiedCount?: number;\n\n\t@Property({ nullable: true })\n\tdeletedCount?: number;\n\n\t@Property({ nullable: true })\n\tdeletionRequestId?: ObjectId;\n\n\t@Property({ nullable: true })\n\t@Index({ options: { expireAfterSeconds: 7776000 } })\n\tperformedAt?: Date;\n\n\tconstructor(props: DeletionLogEntityProps) {\n\t\tsuper();\n\t\tif (props.id !== undefined) {\n\t\t\tthis.id = props.id;\n\t\t}\n\n\t\tthis.domain = props.domain;\n\n\t\tif (props.operation !== undefined) {\n\t\t\tthis.operation = props.operation;\n\t\t}\n\n\t\tif (props.modifiedCount !== undefined) {\n\t\t\tthis.modifiedCount = props.modifiedCount;\n\t\t}\n\n\t\tif (props.deletedCount !== undefined) {\n\t\t\tthis.deletedCount = props.deletedCount;\n\t\t}\n\n\t\tif (props.deletionRequestId !== undefined) {\n\t\t\tthis.deletionRequestId = props.deletionRequestId;\n\t\t}\n\n\t\tif (props.createdAt !== undefined) {\n\t\t\tthis.createdAt = props.createdAt;\n\t\t}\n\n\t\tif (props.updatedAt !== undefined) {\n\t\t\tthis.updatedAt = props.updatedAt;\n\t\t}\n\n\t\tif (props.performedAt !== undefined) {\n\t\t\tthis.performedAt = props.performedAt;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionLogEntityProps.html":{"url":"interfaces/DeletionLogEntityProps.html","title":"interface - DeletionLogEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionLogEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/entity/deletion-log.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n createdAt\n \n \n \n Optional\n \n deletedCount\n \n \n \n Optional\n \n deletionRequestId\n \n \n \n \n domain\n \n \n \n Optional\n \n id\n \n \n \n Optional\n \n modifiedCount\n \n \n \n Optional\n \n operation\n \n \n \n Optional\n \n performedAt\n \n \n \n Optional\n \n updatedAt\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n deletedCount\n \n \n \n \n \n \n \n \n deletedCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n deletionRequestId\n \n \n \n \n \n \n \n \n deletionRequestId: ObjectId\n\n \n \n\n\n \n \n Type : ObjectId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n domain\n \n \n \n \n \n \n \n \n domain: DeletionDomainModel\n\n \n \n\n\n \n \n Type : DeletionDomainModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n modifiedCount\n \n \n \n \n \n \n \n \n modifiedCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n operation\n \n \n \n \n \n \n \n \n operation: DeletionOperationModel\n\n \n \n\n\n \n \n Type : DeletionOperationModel\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n performedAt\n \n \n \n \n \n \n \n \n performedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Index, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport { DeletionDomainModel, DeletionOperationModel } from '../domain/types';\n\nexport interface DeletionLogEntityProps {\n\tid?: EntityId;\n\tdomain: DeletionDomainModel;\n\toperation?: DeletionOperationModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n\tdeletionRequestId?: ObjectId;\n\tperformedAt?: Date;\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n}\n\n@Entity({ tableName: 'deletionlogs' })\nexport class DeletionLogEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tdomain: DeletionDomainModel;\n\n\t@Property({ nullable: true })\n\toperation?: DeletionOperationModel;\n\n\t@Property({ nullable: true })\n\tmodifiedCount?: number;\n\n\t@Property({ nullable: true })\n\tdeletedCount?: number;\n\n\t@Property({ nullable: true })\n\tdeletionRequestId?: ObjectId;\n\n\t@Property({ nullable: true })\n\t@Index({ options: { expireAfterSeconds: 7776000 } })\n\tperformedAt?: Date;\n\n\tconstructor(props: DeletionLogEntityProps) {\n\t\tsuper();\n\t\tif (props.id !== undefined) {\n\t\t\tthis.id = props.id;\n\t\t}\n\n\t\tthis.domain = props.domain;\n\n\t\tif (props.operation !== undefined) {\n\t\t\tthis.operation = props.operation;\n\t\t}\n\n\t\tif (props.modifiedCount !== undefined) {\n\t\t\tthis.modifiedCount = props.modifiedCount;\n\t\t}\n\n\t\tif (props.deletedCount !== undefined) {\n\t\t\tthis.deletedCount = props.deletedCount;\n\t\t}\n\n\t\tif (props.deletionRequestId !== undefined) {\n\t\t\tthis.deletionRequestId = props.deletionRequestId;\n\t\t}\n\n\t\tif (props.createdAt !== undefined) {\n\t\t\tthis.createdAt = props.createdAt;\n\t\t}\n\n\t\tif (props.updatedAt !== undefined) {\n\t\t\tthis.updatedAt = props.updatedAt;\n\t\t}\n\n\t\tif (props.performedAt !== undefined) {\n\t\t\tthis.performedAt = props.performedAt;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionLogMapper.html":{"url":"classes/DeletionLogMapper.html","title":"class - DeletionLogMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionLogMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/repo/mapper/deletion-log.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToDO\n \n \n Static\n mapToDOs\n \n \n Static\n mapToEntities\n \n \n Static\n mapToEntity\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToDO\n \n \n \n \n \n \n \n mapToDO(entity: DeletionLogEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/mapper/deletion-log.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n DeletionLogEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionLog\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToDOs\n \n \n \n \n \n \n \n mapToDOs(entities: DeletionLogEntity[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/mapper/deletion-log.mapper.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n DeletionLogEntity[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionLog[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToEntities\n \n \n \n \n \n \n \n mapToEntities(domainObjects: DeletionLog[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/mapper/deletion-log.mapper.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DeletionLog[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionLogEntity[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToEntity\n \n \n \n \n \n \n \n mapToEntity(domainObject: DeletionLog)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/mapper/deletion-log.mapper.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DeletionLog\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionLogEntity\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { DeletionLogEntity } from '../../entity/deletion-log.entity';\nimport { DeletionLog } from '../../domain/deletion-log.do';\n\nexport class DeletionLogMapper {\n\tstatic mapToDO(entity: DeletionLogEntity): DeletionLog {\n\t\treturn new DeletionLog({\n\t\t\tid: entity.id,\n\t\t\tcreatedAt: entity.createdAt,\n\t\t\tupdatedAt: entity.updatedAt,\n\t\t\tdomain: entity.domain,\n\t\t\toperation: entity.operation,\n\t\t\tmodifiedCount: entity.modifiedCount,\n\t\t\tdeletedCount: entity.deletedCount,\n\t\t\tdeletionRequestId: entity.deletionRequestId?.toHexString(),\n\t\t\tperformedAt: entity.performedAt,\n\t\t});\n\t}\n\n\tstatic mapToEntity(domainObject: DeletionLog): DeletionLogEntity {\n\t\treturn new DeletionLogEntity({\n\t\t\tid: domainObject.id,\n\t\t\tcreatedAt: domainObject.createdAt,\n\t\t\tupdatedAt: domainObject.updatedAt,\n\t\t\tdomain: domainObject.domain,\n\t\t\toperation: domainObject.operation,\n\t\t\tmodifiedCount: domainObject.modifiedCount,\n\t\t\tdeletedCount: domainObject.deletedCount,\n\t\t\tdeletionRequestId: new ObjectId(domainObject.deletionRequestId),\n\t\t\tperformedAt: domainObject.performedAt,\n\t\t});\n\t}\n\n\tstatic mapToDOs(entities: DeletionLogEntity[]): DeletionLog[] {\n\t\treturn entities.map((entity) => this.mapToDO(entity));\n\t}\n\n\tstatic mapToEntities(domainObjects: DeletionLog[]): DeletionLogEntity[] {\n\t\treturn domainObjects.map((domainObject) => this.mapToEntity(domainObject));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionLogProps.html":{"url":"interfaces/DeletionLogProps.html","title":"interface - DeletionLogProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionLogProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/domain/deletion-log.do.ts\n \n\n\n\n \n Extends\n \n \n AuthorizableObject\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n createdAt\n \n \n \n Optional\n \n deletedCount\n \n \n \n Optional\n \n deletionRequestId\n \n \n \n \n domain\n \n \n \n Optional\n \n modifiedCount\n \n \n \n Optional\n \n operation\n \n \n \n Optional\n \n performedAt\n \n \n \n Optional\n \n updatedAt\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n deletedCount\n \n \n \n \n \n \n \n \n deletedCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n deletionRequestId\n \n \n \n \n \n \n \n \n deletionRequestId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n domain\n \n \n \n \n \n \n \n \n domain: DeletionDomainModel\n\n \n \n\n\n \n \n Type : DeletionDomainModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n modifiedCount\n \n \n \n \n \n \n \n \n modifiedCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n operation\n \n \n \n \n \n \n \n \n operation: DeletionOperationModel\n\n \n \n\n\n \n \n Type : DeletionOperationModel\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n performedAt\n \n \n \n \n \n \n \n \n performedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { DeletionDomainModel, DeletionOperationModel } from './types';\n\nexport interface DeletionLogProps extends AuthorizableObject {\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n\tdomain: DeletionDomainModel;\n\toperation?: DeletionOperationModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n\tdeletionRequestId?: EntityId;\n\tperformedAt?: Date;\n}\n\nexport class DeletionLog extends DomainObject {\n\tget createdAt(): Date | undefined {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date | undefined {\n\t\treturn this.props.updatedAt;\n\t}\n\n\tget domain(): DeletionDomainModel {\n\t\treturn this.props.domain;\n\t}\n\n\tget operation(): DeletionOperationModel | undefined {\n\t\treturn this.props.operation;\n\t}\n\n\tget modifiedCount(): number | undefined {\n\t\treturn this.props.modifiedCount;\n\t}\n\n\tget deletedCount(): number | undefined {\n\t\treturn this.props.deletedCount;\n\t}\n\n\tget deletionRequestId(): EntityId | undefined {\n\t\treturn this.props.deletionRequestId;\n\t}\n\n\tget performedAt(): Date | undefined {\n\t\treturn this.props.performedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DeletionLogRepo.html":{"url":"injectables/DeletionLogRepo.html","title":"injectable - DeletionLogRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DeletionLogRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/repo/deletion-log.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n create\n \n \n Async\n findAllByDeletionRequestId\n \n \n Async\n findById\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-log.repo.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n create\n \n \n \n \n \n \n \n create(deletionLog: DeletionLog)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-log.repo.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionLog\n \n DeletionLog\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllByDeletionRequestId\n \n \n \n \n \n \n \n findAllByDeletionRequestId(deletionRequestId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-log.repo.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(deletionLogId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-log.repo.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionLogId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-log.repo.ts:12\n \n \n\n \n \n\n \n\n\n \n import { EntityManager, ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { DeletionLog } from '../domain/deletion-log.do';\nimport { DeletionLogEntity } from '../entity/deletion-log.entity';\nimport { DeletionLogMapper } from './mapper/deletion-log.mapper';\n\n@Injectable()\nexport class DeletionLogRepo {\n\tconstructor(private readonly em: EntityManager) {}\n\n\tget entityName() {\n\t\treturn DeletionLogEntity;\n\t}\n\n\tasync findById(deletionLogId: EntityId): Promise {\n\t\tconst deletionLog: DeletionLogEntity = await this.em.findOneOrFail(DeletionLogEntity, {\n\t\t\tid: deletionLogId,\n\t\t});\n\n\t\tconst mapped: DeletionLog = DeletionLogMapper.mapToDO(deletionLog);\n\n\t\treturn mapped;\n\t}\n\n\tasync findAllByDeletionRequestId(deletionRequestId: EntityId): Promise {\n\t\tconst deletionLogEntities: DeletionLogEntity[] = await this.em.find(DeletionLogEntity, {\n\t\t\tdeletionRequestId: new ObjectId(deletionRequestId),\n\t\t});\n\n\t\tconst mapped: DeletionLog[] = DeletionLogMapper.mapToDOs(deletionLogEntities);\n\n\t\treturn mapped;\n\t}\n\n\tasync create(deletionLog: DeletionLog): Promise {\n\t\tconst deletionLogEntity: DeletionLogEntity = DeletionLogMapper.mapToEntity(deletionLog);\n\t\tthis.em.persist(deletionLogEntity);\n\t\tawait this.em.flush();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DeletionLogService.html":{"url":"injectables/DeletionLogService.html","title":"injectable - DeletionLogService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DeletionLogService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/services/deletion-log.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createDeletionLog\n \n \n Async\n findByDeletionRequestId\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(deletionLogRepo: DeletionLogRepo)\n \n \n \n \n Defined in apps/server/src/modules/deletion/services/deletion-log.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionLogRepo\n \n \n DeletionLogRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createDeletionLog\n \n \n \n \n \n \n \n createDeletionLog(deletionRequestId: EntityId, domain: DeletionDomainModel, operation: DeletionOperationModel, modifiedCount: number, deletedCount: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/deletion-log.service.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n domain\n \n DeletionDomainModel\n \n\n \n No\n \n\n\n \n \n operation\n \n DeletionOperationModel\n \n\n \n No\n \n\n\n \n \n modifiedCount\n \n number\n \n\n \n No\n \n\n\n \n \n deletedCount\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByDeletionRequestId\n \n \n \n \n \n \n \n findByDeletionRequestId(deletionRequestId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/deletion-log.service.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { DeletionLog } from '../domain/deletion-log.do';\nimport { DeletionDomainModel, DeletionOperationModel } from '../domain/types';\nimport { DeletionLogRepo } from '../repo';\n\n@Injectable()\nexport class DeletionLogService {\n\tconstructor(private readonly deletionLogRepo: DeletionLogRepo) {}\n\n\tasync createDeletionLog(\n\t\tdeletionRequestId: EntityId,\n\t\tdomain: DeletionDomainModel,\n\t\toperation: DeletionOperationModel,\n\t\tmodifiedCount: number,\n\t\tdeletedCount: number\n\t): Promise {\n\t\tconst newDeletionLog = new DeletionLog({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\tperformedAt: new Date(),\n\t\t\tdomain,\n\t\t\tdeletionRequestId,\n\t\t\toperation,\n\t\t\tmodifiedCount,\n\t\t\tdeletedCount,\n\t\t});\n\n\t\tawait this.deletionLogRepo.create(newDeletionLog);\n\t}\n\n\tasync findByDeletionRequestId(deletionRequestId: EntityId): Promise {\n\t\tconst deletionLogs: DeletionLog[] = await this.deletionLogRepo.findAllByDeletionRequestId(deletionRequestId);\n\n\t\treturn deletionLogs;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionLogStatistic.html":{"url":"interfaces/DeletionLogStatistic.html","title":"interface - DeletionLogStatistic","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionLogStatistic\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/interface/interfaces.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n deletedCount\n \n \n \n \n domain\n \n \n \n Optional\n \n modifiedCount\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n deletedCount\n \n \n \n \n \n \n \n \n deletedCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n domain\n \n \n \n \n \n \n \n \n domain: DeletionDomainModel\n\n \n \n\n\n \n \n Type : DeletionDomainModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n modifiedCount\n \n \n \n \n \n \n \n \n modifiedCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { DeletionDomainModel } from '../domain/types';\n\nexport interface DeletionTargetRef {\n\tdomain: DeletionDomainModel;\n\tid: EntityId;\n}\n\nexport interface DeletionLogStatistic {\n\tdomain: DeletionDomainModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionLogStatistic-1.html":{"url":"interfaces/DeletionLogStatistic-1.html","title":"interface - DeletionLogStatistic-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionLogStatistic\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/uc/interface/interfaces.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n deletedCount\n \n \n \n \n domain\n \n \n \n Optional\n \n modifiedCount\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n deletedCount\n \n \n \n \n \n \n \n \n deletedCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n domain\n \n \n \n \n \n \n \n \n domain: DeletionDomainModel\n\n \n \n\n\n \n \n Type : DeletionDomainModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n modifiedCount\n \n \n \n \n \n \n \n \n modifiedCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { DeletionDomainModel } from '../../domain/types/deletion-domain-model.enum';\n\nexport interface DeletionTargetRef {\n\ttargetRefDomain: DeletionDomainModel;\n\ttargetRefId: EntityId;\n}\n\nexport interface DeletionRequestLog {\n\ttargetRef: DeletionTargetRef;\n\tdeletionPlannedAt: Date;\n\tstatistics?: DeletionLogStatistic[];\n}\n\nexport interface DeletionLogStatistic {\n\tdomain: DeletionDomainModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n}\n\nexport interface DeletionRequestProps {\n\ttargetRef: { targetRefDoamin: DeletionDomainModel; targetRefId: EntityId };\n\tdeleteInMinutes?: number;\n}\n\nexport interface DeletionRequestCreateAnswer {\n\trequestId: EntityId;\n\tdeletionPlannedAt: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionLogStatisticBuilder.html":{"url":"classes/DeletionLogStatisticBuilder.html","title":"class - DeletionLogStatisticBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionLogStatisticBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/builder/deletion-log-statistic.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(domain: DeletionDomainModel, modifiedCount?: number, deletedCount?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/builder/deletion-log-statistic.builder.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domain\n \n DeletionDomainModel\n \n\n \n No\n \n\n\n \n \n modifiedCount\n \n number\n \n\n \n Yes\n \n\n\n \n \n deletedCount\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DeletionLogStatistic\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DeletionDomainModel } from '../domain/types';\nimport { DeletionLogStatistic } from '../interface';\n\nexport class DeletionLogStatisticBuilder {\n\tstatic build(domain: DeletionDomainModel, modifiedCount?: number, deletedCount?: number): DeletionLogStatistic {\n\t\tconst deletionLogStatistic = { domain, modifiedCount, deletedCount };\n\n\t\treturn deletionLogStatistic;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/DeletionModule.html":{"url":"modules/DeletionModule.html","title":"module - DeletionModule","body":"\n \n\n\n\n\n Modules\n DeletionModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_DeletionModule\n\n\n\ncluster_DeletionModule_providers\n\n\n\ncluster_DeletionModule_exports\n\n\n\n\nDeletionLogService \n\nDeletionLogService \n\n\n\nDeletionRequestService \n\nDeletionRequestService \n\n\n\nDeletionModule\n\nDeletionModule\n\nDeletionLogService -->\n\nDeletionModule->DeletionLogService \n\n\n\nDeletionRequestService -->\n\nDeletionModule->DeletionRequestService \n\n\n\n\n\nDeletionLogRepo\n\nDeletionLogRepo\n\nDeletionModule -->\n\nDeletionLogRepo->DeletionModule\n\n\n\n\n\nDeletionLogService\n\nDeletionLogService\n\nDeletionModule -->\n\nDeletionLogService->DeletionModule\n\n\n\n\n\nDeletionRequestRepo\n\nDeletionRequestRepo\n\nDeletionModule -->\n\nDeletionRequestRepo->DeletionModule\n\n\n\n\n\nDeletionRequestService\n\nDeletionRequestService\n\nDeletionModule -->\n\nDeletionRequestService->DeletionModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/deletion/deletion.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n DeletionLogRepo\n \n \n DeletionLogService\n \n \n DeletionRequestRepo\n \n \n DeletionRequestService\n \n \n \n \n Exports\n \n \n DeletionLogService\n \n \n DeletionRequestService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { DeletionRequestService } from './services/deletion-request.service';\nimport { DeletionRequestRepo } from './repo/deletion-request.repo';\nimport { XApiKeyConfig } from '../authentication/config/x-api-key.config';\nimport { DeletionLogService } from './services/deletion-log.service';\nimport { DeletionLogRepo } from './repo';\n\n@Module({\n\tproviders: [\n\t\tDeletionRequestRepo,\n\t\tDeletionLogRepo,\n\t\tConfigService,\n\t\tDeletionLogService,\n\t\tDeletionRequestService,\n\t],\n\texports: [DeletionRequestService, DeletionLogService],\n})\nexport class DeletionModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionQueueConsole.html":{"url":"classes/DeletionQueueConsole.html","title":"class - DeletionQueueConsole","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionQueueConsole\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/console/deletion-queue.console.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n pushDeletionRequests\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(consoleWriter: ConsoleWriterService, batchDeletionUc: BatchDeletionUc)\n \n \n \n \n Defined in apps/server/src/modules/deletion/console/deletion-queue.console.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n consoleWriter\n \n \n ConsoleWriterService\n \n \n \n No\n \n \n \n \n batchDeletionUc\n \n \n BatchDeletionUc\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n pushDeletionRequests\n \n \n \n \n \n \n \n pushDeletionRequests(options: PushDeletionRequestsOptions)\n \n \n\n \n \n Decorators : \n \n @Command({command: 'push', description: 'Push new deletion requests to the deletion queue.', options: undefined})\n \n \n\n \n \n Defined in apps/server/src/modules/deletion/console/deletion-queue.console.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n PushDeletionRequestsOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Console, Command } from 'nestjs-console';\nimport { ConsoleWriterService } from '@infra/console';\nimport { BatchDeletionUc } from '../uc';\nimport { PushDeletionRequestsOptions } from './interface';\n\n@Console({ command: 'queue', description: 'Console providing an access to the deletion queue.' })\nexport class DeletionQueueConsole {\n\tconstructor(private consoleWriter: ConsoleWriterService, private batchDeletionUc: BatchDeletionUc) {}\n\n\t@Command({\n\t\tcommand: 'push',\n\t\tdescription: 'Push new deletion requests to the deletion queue.',\n\t\toptions: [\n\t\t\t{\n\t\t\t\tflags: '-rfp, --refsFilePath ',\n\t\t\t\tdescription: 'Path of the file containing all the references to the data that should be deleted.',\n\t\t\t\trequired: true,\n\t\t\t},\n\t\t\t{\n\t\t\t\tflags: '-trd, --targetRefDomain ',\n\t\t\t\tdescription: 'Name of the target ref domain.',\n\t\t\t\trequired: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\tflags: '-dim, --deleteInMinutes ',\n\t\t\t\tdescription: 'Number of minutes after which the data deletion process should begin.',\n\t\t\t\trequired: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\tflags: '-cdm, --callsDelayMs ',\n\t\t\t\tdescription: 'Delay between all the performed client calls, in milliseconds.',\n\t\t\t\trequired: false,\n\t\t\t},\n\t\t],\n\t})\n\tasync pushDeletionRequests(options: PushDeletionRequestsOptions): Promise {\n\t\tconst summary = await this.batchDeletionUc.deleteRefsFromTxtFile(\n\t\t\toptions.refsFilePath,\n\t\t\toptions.targetRefDomain,\n\t\t\toptions.deleteInMinutes ? Number(options.deleteInMinutes) : undefined,\n\t\t\toptions.callsDelayMs ? Number(options.callsDelayMs) : undefined\n\t\t);\n\n\t\tthis.consoleWriter.info(JSON.stringify(summary));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequest.html":{"url":"classes/DeletionRequest.html","title":"class - DeletionRequest","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequest\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/domain/deletion-request.do.ts\n \n\n\n\n \n Extends\n \n \n DomainObject\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n createdAt\n \n \n updatedAt\n \n \n targetRefDomain\n \n \n deleteAfter\n \n \n targetRefId\n \n \n status\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n createdAt\n \n \n\n \n \n getcreatedAt()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-request.do.ts:15\n \n \n\n \n \n \n \n \n \n \n updatedAt\n \n \n\n \n \n getupdatedAt()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-request.do.ts:19\n \n \n\n \n \n \n \n \n \n \n targetRefDomain\n \n \n\n \n \n gettargetRefDomain()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-request.do.ts:23\n \n \n\n \n \n \n \n \n \n \n deleteAfter\n \n \n\n \n \n getdeleteAfter()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-request.do.ts:27\n \n \n\n \n \n \n \n \n \n \n targetRefId\n \n \n\n \n \n gettargetRefId()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-request.do.ts:31\n \n \n\n \n \n \n \n \n \n \n status\n \n \n\n \n \n getstatus()\n \n \n \n \n Defined in apps/server/src/modules/deletion/domain/deletion-request.do.ts:35\n \n \n\n \n \n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { DeletionDomainModel, DeletionStatusModel } from './types';\n\nexport interface DeletionRequestProps extends AuthorizableObject {\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n\ttargetRefDomain: DeletionDomainModel;\n\tdeleteAfter: Date;\n\ttargetRefId: EntityId;\n\tstatus: DeletionStatusModel;\n}\n\nexport class DeletionRequest extends DomainObject {\n\tget createdAt(): Date | undefined {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date | undefined {\n\t\treturn this.props.updatedAt;\n\t}\n\n\tget targetRefDomain(): DeletionDomainModel {\n\t\treturn this.props.targetRefDomain;\n\t}\n\n\tget deleteAfter(): Date {\n\t\treturn this.props.deleteAfter;\n\t}\n\n\tget targetRefId(): EntityId {\n\t\treturn this.props.targetRefId;\n\t}\n\n\tget status(): DeletionStatusModel {\n\t\treturn this.props.status;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequestBodyProps.html":{"url":"classes/DeletionRequestBodyProps.html","title":"class - DeletionRequestBodyProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestBodyProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/controller/dto/deletion-request.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n deleteInMinutes\n \n \n \n targetRef\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n deleteInMinutes\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : MINUTES_OF_30_DAYS\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@IsOptional()@ApiPropertyOptional({required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/controller/dto/deletion-request.body.params.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n targetRef\n \n \n \n \n \n \n Type : DeletionTargetRef\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/controller/dto/deletion-request.body.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsNumber, IsOptional, Min } from 'class-validator';\nimport { DeletionTargetRef } from '../../interface';\n\nconst MINUTES_OF_30_DAYS = 30 * 24 * 60;\nexport class DeletionRequestBodyProps {\n\t@ApiProperty({\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\ttargetRef!: DeletionTargetRef;\n\n\t@IsNumber()\n\t@Min(0)\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tdeleteInMinutes?: number = MINUTES_OF_30_DAYS;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequestBodyPropsBuilder.html":{"url":"classes/DeletionRequestBodyPropsBuilder.html","title":"class - DeletionRequestBodyPropsBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestBodyPropsBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/builder/deletion-request-body-props.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(domain: DeletionDomainModel, id: EntityId, deleteInMinutes?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/builder/deletion-request-body-props.builder.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domain\n \n DeletionDomainModel\n \n\n \n No\n \n\n\n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n deleteInMinutes\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DeletionRequestBodyProps\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { DeletionRequestBodyProps } from '../controller/dto';\nimport { DeletionDomainModel } from '../domain/types';\n\nexport class DeletionRequestBodyPropsBuilder {\n\tstatic build(domain: DeletionDomainModel, id: EntityId, deleteInMinutes?: number): DeletionRequestBodyProps {\n\t\tconst deletionRequestItem = {\n\t\t\ttargetRef: { domain, id },\n\t\t\tdeleteInMinutes,\n\t\t};\n\n\t\treturn deletionRequestItem;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionRequestCreateAnswer.html":{"url":"interfaces/DeletionRequestCreateAnswer.html","title":"interface - DeletionRequestCreateAnswer","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionRequestCreateAnswer\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/uc/interface/interfaces.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n deletionPlannedAt\n \n \n \n \n requestId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n deletionPlannedAt\n \n \n \n \n \n \n \n \n deletionPlannedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n requestId\n \n \n \n \n \n \n \n \n requestId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { DeletionDomainModel } from '../../domain/types/deletion-domain-model.enum';\n\nexport interface DeletionTargetRef {\n\ttargetRefDomain: DeletionDomainModel;\n\ttargetRefId: EntityId;\n}\n\nexport interface DeletionRequestLog {\n\ttargetRef: DeletionTargetRef;\n\tdeletionPlannedAt: Date;\n\tstatistics?: DeletionLogStatistic[];\n}\n\nexport interface DeletionLogStatistic {\n\tdomain: DeletionDomainModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n}\n\nexport interface DeletionRequestProps {\n\ttargetRef: { targetRefDoamin: DeletionDomainModel; targetRefId: EntityId };\n\tdeleteInMinutes?: number;\n}\n\nexport interface DeletionRequestCreateAnswer {\n\trequestId: EntityId;\n\tdeletionPlannedAt: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/DeletionRequestEntity.html":{"url":"entities/DeletionRequestEntity.html","title":"entity - DeletionRequestEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n DeletionRequestEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/entity/deletion-request.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n deleteAfter\n \n \n \n status\n \n \n \n targetRefDomain\n \n \n \n targetRefId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n deleteAfter\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property()@Index({options: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/entity/deletion-request.entity.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : DeletionStatusModel\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/entity/deletion-request.entity.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n targetRefDomain\n \n \n \n \n \n \n Type : DeletionDomainModel\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/entity/deletion-request.entity.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n targetRefId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/entity/deletion-request.entity.ts:25\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Index, Property, Unique } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { DeletionDomainModel, DeletionStatusModel } from '../domain/types';\n\nconst SECONDS_OF_90_DAYS = 90 * 24 * 60 * 60;\nexport interface DeletionRequestEntityProps {\n\tid?: EntityId;\n\ttargetRefDomain: DeletionDomainModel;\n\tdeleteAfter: Date;\n\ttargetRefId: EntityId;\n\tstatus: DeletionStatusModel;\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n}\n\n@Entity({ tableName: 'deletionrequests' })\n@Unique({ properties: ['targetRefId', 'targetRefDomain'] })\nexport class DeletionRequestEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Index({ options: { expireAfterSeconds: SECONDS_OF_90_DAYS } })\n\tdeleteAfter: Date;\n\n\t@Property()\n\ttargetRefId!: EntityId;\n\n\t@Property()\n\ttargetRefDomain: DeletionDomainModel;\n\n\t@Property()\n\tstatus: DeletionStatusModel;\n\n\tconstructor(props: DeletionRequestEntityProps) {\n\t\tsuper();\n\t\tif (props.id !== undefined) {\n\t\t\tthis.id = props.id;\n\t\t}\n\n\t\tthis.targetRefDomain = props.targetRefDomain;\n\t\tthis.deleteAfter = props.deleteAfter;\n\t\tthis.targetRefId = props.targetRefId;\n\t\tthis.status = props.status;\n\n\t\tif (props.createdAt !== undefined) {\n\t\t\tthis.createdAt = props.createdAt;\n\t\t}\n\n\t\tif (props.updatedAt !== undefined) {\n\t\t\tthis.updatedAt = props.updatedAt;\n\t\t}\n\t}\n\n\tpublic executed(): void {\n\t\tthis.status = DeletionStatusModel.SUCCESS;\n\t}\n\n\tpublic failed(): void {\n\t\tthis.status = DeletionStatusModel.FAILED;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionRequestEntityProps.html":{"url":"interfaces/DeletionRequestEntityProps.html","title":"interface - DeletionRequestEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionRequestEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/entity/deletion-request.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n createdAt\n \n \n \n \n deleteAfter\n \n \n \n Optional\n \n id\n \n \n \n \n status\n \n \n \n \n targetRefDomain\n \n \n \n \n targetRefId\n \n \n \n Optional\n \n updatedAt\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n deleteAfter\n \n \n \n \n \n \n \n \n deleteAfter: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n \n \n status: DeletionStatusModel\n\n \n \n\n\n \n \n Type : DeletionStatusModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n targetRefDomain\n \n \n \n \n \n \n \n \n targetRefDomain: DeletionDomainModel\n\n \n \n\n\n \n \n Type : DeletionDomainModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n targetRefId\n \n \n \n \n \n \n \n \n targetRefId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Index, Property, Unique } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { DeletionDomainModel, DeletionStatusModel } from '../domain/types';\n\nconst SECONDS_OF_90_DAYS = 90 * 24 * 60 * 60;\nexport interface DeletionRequestEntityProps {\n\tid?: EntityId;\n\ttargetRefDomain: DeletionDomainModel;\n\tdeleteAfter: Date;\n\ttargetRefId: EntityId;\n\tstatus: DeletionStatusModel;\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n}\n\n@Entity({ tableName: 'deletionrequests' })\n@Unique({ properties: ['targetRefId', 'targetRefDomain'] })\nexport class DeletionRequestEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Index({ options: { expireAfterSeconds: SECONDS_OF_90_DAYS } })\n\tdeleteAfter: Date;\n\n\t@Property()\n\ttargetRefId!: EntityId;\n\n\t@Property()\n\ttargetRefDomain: DeletionDomainModel;\n\n\t@Property()\n\tstatus: DeletionStatusModel;\n\n\tconstructor(props: DeletionRequestEntityProps) {\n\t\tsuper();\n\t\tif (props.id !== undefined) {\n\t\t\tthis.id = props.id;\n\t\t}\n\n\t\tthis.targetRefDomain = props.targetRefDomain;\n\t\tthis.deleteAfter = props.deleteAfter;\n\t\tthis.targetRefId = props.targetRefId;\n\t\tthis.status = props.status;\n\n\t\tif (props.createdAt !== undefined) {\n\t\t\tthis.createdAt = props.createdAt;\n\t\t}\n\n\t\tif (props.updatedAt !== undefined) {\n\t\t\tthis.updatedAt = props.updatedAt;\n\t\t}\n\t}\n\n\tpublic executed(): void {\n\t\tthis.status = DeletionStatusModel.SUCCESS;\n\t}\n\n\tpublic failed(): void {\n\t\tthis.status = DeletionStatusModel.FAILED;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequestFactory.html":{"url":"classes/DeletionRequestFactory.html","title":"class - DeletionRequestFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/domain/testing/factory/deletion-request.factory.ts\n \n\n\n\n \n Extends\n \n \n DoBaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withUserIds\n \n \n \n buildWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withUserIds\n \n \n \n \n \n \nwithUserIds(id: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/domain/testing/factory/deletion-request.factory.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \n \n buildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DoBaseFactory } from '@shared/testing';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { DeepPartial } from 'fishery';\nimport { DeletionRequest, DeletionRequestProps } from '../../deletion-request.do';\nimport { DeletionDomainModel, DeletionStatusModel } from '../../types';\n\nclass DeletionRequestFactory extends DoBaseFactory {\n\twithUserIds(id: string): this {\n\t\tconst params: DeepPartial = {\n\t\t\ttargetRefId: id,\n\t\t};\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const deletionRequestFactory = DeletionRequestFactory.define(DeletionRequest, () => {\n\treturn {\n\t\tid: new ObjectId().toHexString(),\n\t\ttargetRefDomain: DeletionDomainModel.USER,\n\t\tdeleteAfter: new Date(),\n\t\ttargetRefId: new ObjectId().toHexString(),\n\t\tstatus: DeletionStatusModel.REGISTERED,\n\t\tcreatedAt: new Date(),\n\t\tupdatedAt: new Date(),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionRequestInput.html":{"url":"interfaces/DeletionRequestInput.html","title":"interface - DeletionRequestInput","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionRequestInput\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/client/interface/deletion-request-input.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n deleteInMinutes\n \n \n \n \n targetRef\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n deleteInMinutes\n \n \n \n \n \n \n \n \n deleteInMinutes: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n targetRef\n \n \n \n \n \n \n \n \n targetRef: DeletionRequestTargetRefInput\n\n \n \n\n\n \n \n Type : DeletionRequestTargetRefInput\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { DeletionRequestTargetRefInput } from './deletion-request-target-ref-input.interface';\n\nexport interface DeletionRequestInput {\n\ttargetRef: DeletionRequestTargetRefInput;\n\tdeleteInMinutes?: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequestInputBuilder.html":{"url":"classes/DeletionRequestInputBuilder.html","title":"class - DeletionRequestInputBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestInputBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/client/builder/deletion-request-input.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(targetRefDomain: string, targetRefId: string, deleteInMinutes?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/client/builder/deletion-request-input.builder.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n targetRefDomain\n \n string\n \n\n \n No\n \n\n\n \n \n targetRefId\n \n string\n \n\n \n No\n \n\n\n \n \n deleteInMinutes\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DeletionRequestInput\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DeletionRequestInput } from '../interface';\nimport { DeletionRequestTargetRefInputBuilder } from './deletion-request-target-ref-input.builder';\n\nexport class DeletionRequestInputBuilder {\n\tstatic build(targetRefDomain: string, targetRefId: string, deleteInMinutes?: number): DeletionRequestInput {\n\t\treturn {\n\t\t\ttargetRef: DeletionRequestTargetRefInputBuilder.build(targetRefDomain, targetRefId),\n\t\t\tdeleteInMinutes,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionRequestLog.html":{"url":"interfaces/DeletionRequestLog.html","title":"interface - DeletionRequestLog","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionRequestLog\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/uc/interface/interfaces.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n deletionPlannedAt\n \n \n \n Optional\n \n statistics\n \n \n \n \n targetRef\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n deletionPlannedAt\n \n \n \n \n \n \n \n \n deletionPlannedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n statistics\n \n \n \n \n \n \n \n \n statistics: DeletionLogStatistic[]\n\n \n \n\n\n \n \n Type : DeletionLogStatistic[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n targetRef\n \n \n \n \n \n \n \n \n targetRef: DeletionTargetRef\n\n \n \n\n\n \n \n Type : DeletionTargetRef\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { DeletionDomainModel } from '../../domain/types/deletion-domain-model.enum';\n\nexport interface DeletionTargetRef {\n\ttargetRefDomain: DeletionDomainModel;\n\ttargetRefId: EntityId;\n}\n\nexport interface DeletionRequestLog {\n\ttargetRef: DeletionTargetRef;\n\tdeletionPlannedAt: Date;\n\tstatistics?: DeletionLogStatistic[];\n}\n\nexport interface DeletionLogStatistic {\n\tdomain: DeletionDomainModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n}\n\nexport interface DeletionRequestProps {\n\ttargetRef: { targetRefDoamin: DeletionDomainModel; targetRefId: EntityId };\n\tdeleteInMinutes?: number;\n}\n\nexport interface DeletionRequestCreateAnswer {\n\trequestId: EntityId;\n\tdeletionPlannedAt: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequestLogResponse.html":{"url":"classes/DeletionRequestLogResponse.html","title":"class - DeletionRequestLogResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestLogResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/controller/dto/deletion-request-log.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n deletionPlannedAt\n \n \n \n \n Optional\n statistics\n \n \n \n targetRef\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(response: DeletionRequestLogResponse)\n \n \n \n \n Defined in apps/server/src/modules/deletion/controller/dto/deletion-request-log.response.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n \n DeletionRequestLogResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n deletionPlannedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/controller/dto/deletion-request-log.response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n statistics\n \n \n \n \n \n \n Type : DeletionLogStatistic[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/controller/dto/deletion-request-log.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n targetRef\n \n \n \n \n \n \n Type : DeletionTargetRef\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/controller/dto/deletion-request-log.response.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsOptional } from 'class-validator';\nimport { DeletionLogStatistic, DeletionTargetRef } from '../../interface';\n\nexport class DeletionRequestLogResponse {\n\t@ApiProperty()\n\ttargetRef: DeletionTargetRef;\n\n\t@ApiProperty()\n\tdeletionPlannedAt: Date;\n\n\t@ApiProperty()\n\t@IsOptional()\n\tstatistics?: DeletionLogStatistic[];\n\n\tconstructor(response: DeletionRequestLogResponse) {\n\t\tthis.targetRef = response.targetRef;\n\t\tthis.deletionPlannedAt = response.deletionPlannedAt;\n\t\tthis.statistics = response.statistics;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequestLogResponseBuilder.html":{"url":"classes/DeletionRequestLogResponseBuilder.html","title":"class - DeletionRequestLogResponseBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestLogResponseBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/builder/deletion-request-log-response.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(targetRef: DeletionTargetRef, deletionPlannedAt: Date, statistics?: DeletionLogStatistic[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/builder/deletion-request-log-response.builder.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n targetRef\n \n DeletionTargetRef\n \n\n \n No\n \n\n\n \n \n deletionPlannedAt\n \n Date\n \n\n \n No\n \n\n\n \n \n statistics\n \n DeletionLogStatistic[]\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DeletionRequestLogResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DeletionRequestLogResponse } from '../controller/dto';\nimport { DeletionLogStatistic, DeletionTargetRef } from '../interface';\n\nexport class DeletionRequestLogResponseBuilder {\n\tstatic build(\n\t\ttargetRef: DeletionTargetRef,\n\t\tdeletionPlannedAt: Date,\n\t\tstatistics?: DeletionLogStatistic[]\n\t): DeletionRequestLogResponse {\n\t\tconst deletionRequestLog = { targetRef, deletionPlannedAt, statistics };\n\n\t\treturn deletionRequestLog;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequestMapper.html":{"url":"classes/DeletionRequestMapper.html","title":"class - DeletionRequestMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/repo/mapper/deletion-request.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToDO\n \n \n Static\n mapToEntity\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToDO\n \n \n \n \n \n \n \n mapToDO(entity: DeletionRequestEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/mapper/deletion-request.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n DeletionRequestEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionRequest\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToEntity\n \n \n \n \n \n \n \n mapToEntity(domainObject: DeletionRequest)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/mapper/deletion-request.mapper.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DeletionRequest\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionRequestEntity\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DeletionRequest } from '../../domain/deletion-request.do';\nimport { DeletionRequestEntity } from '../../entity';\n\nexport class DeletionRequestMapper {\n\tstatic mapToDO(entity: DeletionRequestEntity): DeletionRequest {\n\t\treturn new DeletionRequest({\n\t\t\tid: entity.id,\n\t\t\tcreatedAt: entity.createdAt,\n\t\t\tupdatedAt: entity.updatedAt,\n\t\t\ttargetRefDomain: entity.targetRefDomain,\n\t\t\tdeleteAfter: entity.deleteAfter,\n\t\t\ttargetRefId: entity.targetRefId,\n\t\t\tstatus: entity.status,\n\t\t});\n\t}\n\n\tstatic mapToEntity(domainObject: DeletionRequest): DeletionRequestEntity {\n\t\treturn new DeletionRequestEntity({\n\t\t\tid: domainObject.id,\n\t\t\ttargetRefDomain: domainObject.targetRefDomain,\n\t\t\tdeleteAfter: domainObject.deleteAfter,\n\t\t\ttargetRefId: domainObject.targetRefId,\n\t\t\tcreatedAt: domainObject.createdAt,\n\t\t\tupdatedAt: domainObject.updatedAt,\n\t\t\tstatus: domainObject.status,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionRequestOutput.html":{"url":"interfaces/DeletionRequestOutput.html","title":"interface - DeletionRequestOutput","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionRequestOutput\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/client/interface/deletion-request-output.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n deletionPlannedAt\n \n \n \n \n requestId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n deletionPlannedAt\n \n \n \n \n \n \n \n \n deletionPlannedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n requestId\n \n \n \n \n \n \n \n \n requestId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface DeletionRequestOutput {\n\trequestId: string;\n\tdeletionPlannedAt: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequestOutputBuilder.html":{"url":"classes/DeletionRequestOutputBuilder.html","title":"class - DeletionRequestOutputBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestOutputBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/client/builder/deletion-request-output.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(requestId: string, deletionPlannedAt: Date)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/client/builder/deletion-request-output.builder.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n requestId\n \n string\n \n\n \n No\n \n\n\n \n \n deletionPlannedAt\n \n Date\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionRequestOutput\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DeletionRequestOutput } from '../interface';\n\nexport class DeletionRequestOutputBuilder {\n\tstatic build(requestId: string, deletionPlannedAt: Date): DeletionRequestOutput {\n\t\treturn {\n\t\t\trequestId,\n\t\t\tdeletionPlannedAt,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionRequestProps.html":{"url":"interfaces/DeletionRequestProps.html","title":"interface - DeletionRequestProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionRequestProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/domain/deletion-request.do.ts\n \n\n\n\n \n Extends\n \n \n AuthorizableObject\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n createdAt\n \n \n \n \n deleteAfter\n \n \n \n \n status\n \n \n \n \n targetRefDomain\n \n \n \n \n targetRefId\n \n \n \n Optional\n \n updatedAt\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n deleteAfter\n \n \n \n \n \n \n \n \n deleteAfter: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n \n \n status: DeletionStatusModel\n\n \n \n\n\n \n \n Type : DeletionStatusModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n targetRefDomain\n \n \n \n \n \n \n \n \n targetRefDomain: DeletionDomainModel\n\n \n \n\n\n \n \n Type : DeletionDomainModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n targetRefId\n \n \n \n \n \n \n \n \n targetRefId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { DeletionDomainModel, DeletionStatusModel } from './types';\n\nexport interface DeletionRequestProps extends AuthorizableObject {\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n\ttargetRefDomain: DeletionDomainModel;\n\tdeleteAfter: Date;\n\ttargetRefId: EntityId;\n\tstatus: DeletionStatusModel;\n}\n\nexport class DeletionRequest extends DomainObject {\n\tget createdAt(): Date | undefined {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date | undefined {\n\t\treturn this.props.updatedAt;\n\t}\n\n\tget targetRefDomain(): DeletionDomainModel {\n\t\treturn this.props.targetRefDomain;\n\t}\n\n\tget deleteAfter(): Date {\n\t\treturn this.props.deleteAfter;\n\t}\n\n\tget targetRefId(): EntityId {\n\t\treturn this.props.targetRefId;\n\t}\n\n\tget status(): DeletionStatusModel {\n\t\treturn this.props.status;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionRequestProps-1.html":{"url":"interfaces/DeletionRequestProps-1.html","title":"interface - DeletionRequestProps-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionRequestProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/uc/interface/interfaces.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n deleteInMinutes\n \n \n \n \n targetRef\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n deleteInMinutes\n \n \n \n \n \n \n \n \n deleteInMinutes: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n targetRef\n \n \n \n \n \n \n \n \n targetRef: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { DeletionDomainModel } from '../../domain/types/deletion-domain-model.enum';\n\nexport interface DeletionTargetRef {\n\ttargetRefDomain: DeletionDomainModel;\n\ttargetRefId: EntityId;\n}\n\nexport interface DeletionRequestLog {\n\ttargetRef: DeletionTargetRef;\n\tdeletionPlannedAt: Date;\n\tstatistics?: DeletionLogStatistic[];\n}\n\nexport interface DeletionLogStatistic {\n\tdomain: DeletionDomainModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n}\n\nexport interface DeletionRequestProps {\n\ttargetRef: { targetRefDoamin: DeletionDomainModel; targetRefId: EntityId };\n\tdeleteInMinutes?: number;\n}\n\nexport interface DeletionRequestCreateAnswer {\n\trequestId: EntityId;\n\tdeletionPlannedAt: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DeletionRequestRepo.html":{"url":"injectables/DeletionRequestRepo.html","title":"injectable - DeletionRequestRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DeletionRequestRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/repo/deletion-request.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n create\n \n \n Async\n deleteById\n \n \n Async\n findAllItemsToExecution\n \n \n Async\n findById\n \n \n Async\n markDeletionRequestAsExecuted\n \n \n Async\n markDeletionRequestAsFailed\n \n \n Async\n update\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-request.repo.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n create\n \n \n \n \n \n \n \n create(deletionRequest: DeletionRequest)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-request.repo.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequest\n \n DeletionRequest\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteById\n \n \n \n \n \n \n \n deleteById(deletionRequestId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-request.repo.ts:78\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllItemsToExecution\n \n \n \n \n \n \n \n findAllItemsToExecution(limit?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-request.repo.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n limit\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(deletionRequestId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-request.repo.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n markDeletionRequestAsExecuted\n \n \n \n \n \n \n \n markDeletionRequestAsExecuted(deletionRequestId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-request.repo.ts:56\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n markDeletionRequestAsFailed\n \n \n \n \n \n \n \n markDeletionRequestAsFailed(deletionRequestId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-request.repo.ts:67\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n update\n \n \n \n \n \n \n \n update(deletionRequest: DeletionRequest)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-request.repo.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequest\n \n DeletionRequest\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-request.repo.ts:14\n \n \n\n \n \n\n \n\n\n \n import { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { SortOrder } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { DeletionRequest } from '../domain/deletion-request.do';\nimport { DeletionRequestEntity } from '../entity';\nimport { DeletionRequestScope } from './deletion-request-scope';\nimport { DeletionRequestMapper } from './mapper/deletion-request.mapper';\n\n@Injectable()\nexport class DeletionRequestRepo {\n\tconstructor(private readonly em: EntityManager) {}\n\n\tget entityName() {\n\t\treturn DeletionRequestEntity;\n\t}\n\n\tasync findById(deletionRequestId: EntityId): Promise {\n\t\tconst deletionRequest: DeletionRequestEntity = await this.em.findOneOrFail(DeletionRequestEntity, {\n\t\t\tid: deletionRequestId,\n\t\t});\n\n\t\tconst mapped: DeletionRequest = DeletionRequestMapper.mapToDO(deletionRequest);\n\n\t\treturn mapped;\n\t}\n\n\tasync create(deletionRequest: DeletionRequest): Promise {\n\t\tconst deletionRequestEntity = DeletionRequestMapper.mapToEntity(deletionRequest);\n\t\tthis.em.persist(deletionRequestEntity);\n\t\tawait this.em.flush();\n\t}\n\n\tasync findAllItemsToExecution(limit?: number): Promise {\n\t\tconst currentDate = new Date();\n\t\tconst scope = new DeletionRequestScope().byDeleteAfter(currentDate).byStatus();\n\t\tconst order = { createdAt: SortOrder.desc };\n\n\t\tconst [deletionRequestEntities] = await this.em.findAndCount(DeletionRequestEntity, scope.query, {\n\t\t\tlimit,\n\t\t\torderBy: order,\n\t\t});\n\n\t\tconst mapped: DeletionRequest[] = deletionRequestEntities.map((entity) => DeletionRequestMapper.mapToDO(entity));\n\n\t\treturn mapped;\n\t}\n\n\tasync update(deletionRequest: DeletionRequest): Promise {\n\t\tconst deletionRequestEntity = DeletionRequestMapper.mapToEntity(deletionRequest);\n\t\tconst referencedEntity = this.em.getReference(DeletionRequestEntity, deletionRequestEntity.id);\n\n\t\tawait this.em.persistAndFlush(referencedEntity);\n\t}\n\n\tasync markDeletionRequestAsExecuted(deletionRequestId: EntityId): Promise {\n\t\tconst deletionRequest: DeletionRequestEntity = await this.em.findOneOrFail(DeletionRequestEntity, {\n\t\t\tid: deletionRequestId,\n\t\t});\n\n\t\tdeletionRequest.executed();\n\t\tawait this.em.persistAndFlush(deletionRequest);\n\n\t\treturn true;\n\t}\n\n\tasync markDeletionRequestAsFailed(deletionRequestId: EntityId): Promise {\n\t\tconst deletionRequest: DeletionRequestEntity = await this.em.findOneOrFail(DeletionRequestEntity, {\n\t\t\tid: deletionRequestId,\n\t\t});\n\n\t\tdeletionRequest.failed();\n\t\tawait this.em.persistAndFlush(deletionRequest);\n\n\t\treturn true;\n\t}\n\n\tasync deleteById(deletionRequestId: EntityId): Promise {\n\t\tconst entity: DeletionRequestEntity | null = await this.em.findOneOrFail(DeletionRequestEntity, {\n\t\t\tid: deletionRequestId,\n\t\t});\n\n\t\tawait this.em.removeAndFlush(entity);\n\n\t\treturn true;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequestResponse.html":{"url":"classes/DeletionRequestResponse.html","title":"class - DeletionRequestResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/controller/dto/deletion-request.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n deletionPlannedAt\n \n \n \n requestId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(response: DeletionRequestResponse)\n \n \n \n \n Defined in apps/server/src/modules/deletion/controller/dto/deletion-request.response.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n \n DeletionRequestResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n deletionPlannedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/controller/dto/deletion-request.response.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n requestId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/deletion/controller/dto/deletion-request.response.ts:5\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class DeletionRequestResponse {\n\t@ApiProperty()\n\trequestId: string;\n\n\t@ApiProperty()\n\tdeletionPlannedAt: Date;\n\n\tconstructor(response: DeletionRequestResponse) {\n\t\tthis.requestId = response.requestId;\n\t\tthis.deletionPlannedAt = response.deletionPlannedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequestScope.html":{"url":"classes/DeletionRequestScope.html","title":"class - DeletionRequestScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/repo/deletion-request-scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n byDeleteAfter\n \n \n byStatus\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n byDeleteAfter\n \n \n \n \n \n \nbyDeleteAfter(currentDate: Date)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-request-scope.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentDate\n \n Date\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionRequestScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byStatus\n \n \n \n \n \n \nbyStatus()\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/repo/deletion-request-scope.ts:12\n \n \n\n\n \n \n\n \n Returns : DeletionRequestScope\n\n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Scope } from '@shared/repo';\nimport { DeletionRequestEntity } from '../entity';\nimport { DeletionStatusModel } from '../domain/types';\n\nexport class DeletionRequestScope extends Scope {\n\tbyDeleteAfter(currentDate: Date): DeletionRequestScope {\n\t\tthis.addQuery({ deleteAfter: { $lt: currentDate } });\n\n\t\treturn this;\n\t}\n\n\tbyStatus(): DeletionRequestScope {\n\t\tthis.addQuery({ status: [DeletionStatusModel.REGISTERED, DeletionStatusModel.FAILED] });\n\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DeletionRequestService.html":{"url":"injectables/DeletionRequestService.html","title":"injectable - DeletionRequestService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DeletionRequestService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/services/deletion-request.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createDeletionRequest\n \n \n Async\n deleteById\n \n \n Async\n findAllItemsToExecute\n \n \n Async\n findById\n \n \n Async\n markDeletionRequestAsExecuted\n \n \n Async\n markDeletionRequestAsFailed\n \n \n Async\n update\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(deletionRequestRepo: DeletionRequestRepo)\n \n \n \n \n Defined in apps/server/src/modules/deletion/services/deletion-request.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestRepo\n \n \n DeletionRequestRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createDeletionRequest\n \n \n \n \n \n \n \n createDeletionRequest(targetRefId: EntityId, targetRefDomain: DeletionDomainModel, deleteInMinutes: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/deletion-request.service.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n targetRefId\n \n EntityId\n \n\n \n No\n \n\n \n \n\n \n \n targetRefDomain\n \n DeletionDomainModel\n \n\n \n No\n \n\n \n \n\n \n \n deleteInMinutes\n \n number\n \n\n \n No\n \n\n \n 43200\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteById\n \n \n \n \n \n \n \n deleteById(deletionRequestId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/deletion-request.service.ts:57\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllItemsToExecute\n \n \n \n \n \n \n \n findAllItemsToExecute(limit?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/deletion-request.service.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n limit\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(deletionRequestId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/deletion-request.service.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n markDeletionRequestAsExecuted\n \n \n \n \n \n \n \n markDeletionRequestAsExecuted(deletionRequestId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/deletion-request.service.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n markDeletionRequestAsFailed\n \n \n \n \n \n \n \n markDeletionRequestAsFailed(deletionRequestId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/deletion-request.service.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n update\n \n \n \n \n \n \n \n update(deletionRequestToUpdate: DeletionRequest)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/deletion-request.service.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestToUpdate\n \n DeletionRequest\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { DeletionRequest } from '../domain/deletion-request.do';\nimport { DeletionDomainModel, DeletionStatusModel } from '../domain/types';\nimport { DeletionRequestRepo } from '../repo/deletion-request.repo';\n\n@Injectable()\nexport class DeletionRequestService {\n\tconstructor(private readonly deletionRequestRepo: DeletionRequestRepo) {}\n\n\tasync createDeletionRequest(\n\t\ttargetRefId: EntityId,\n\t\ttargetRefDomain: DeletionDomainModel,\n\t\tdeleteInMinutes = 43200\n\t): Promise {\n\t\tconst dateOfDeletion = new Date();\n\t\tdateOfDeletion.setMinutes(dateOfDeletion.getMinutes() + deleteInMinutes);\n\n\t\tconst newDeletionRequest = new DeletionRequest({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttargetRefDomain,\n\t\t\tdeleteAfter: dateOfDeletion,\n\t\t\ttargetRefId,\n\t\t\tstatus: DeletionStatusModel.REGISTERED,\n\t\t});\n\n\t\tawait this.deletionRequestRepo.create(newDeletionRequest);\n\n\t\treturn { requestId: newDeletionRequest.id, deletionPlannedAt: newDeletionRequest.deleteAfter };\n\t}\n\n\tasync findById(deletionRequestId: EntityId): Promise {\n\t\tconst deletionRequest: DeletionRequest = await this.deletionRequestRepo.findById(deletionRequestId);\n\n\t\treturn deletionRequest;\n\t}\n\n\tasync findAllItemsToExecute(limit?: number): Promise {\n\t\tconst itemsToDelete: DeletionRequest[] = await this.deletionRequestRepo.findAllItemsToExecution(limit);\n\n\t\treturn itemsToDelete;\n\t}\n\n\tasync update(deletionRequestToUpdate: DeletionRequest): Promise {\n\t\tawait this.deletionRequestRepo.update(deletionRequestToUpdate);\n\t}\n\n\tasync markDeletionRequestAsExecuted(deletionRequestId: EntityId): Promise {\n\t\treturn this.deletionRequestRepo.markDeletionRequestAsExecuted(deletionRequestId);\n\t}\n\n\tasync markDeletionRequestAsFailed(deletionRequestId: EntityId): Promise {\n\t\treturn this.deletionRequestRepo.markDeletionRequestAsFailed(deletionRequestId);\n\t}\n\n\tasync deleteById(deletionRequestId: EntityId): Promise {\n\t\tawait this.deletionRequestRepo.deleteById(deletionRequestId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionRequestTargetRefInput.html":{"url":"interfaces/DeletionRequestTargetRefInput.html","title":"interface - DeletionRequestTargetRefInput","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionRequestTargetRefInput\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/client/interface/deletion-request-target-ref-input.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n domain\n \n \n \n \n id\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n domain\n \n \n \n \n \n \n \n \n domain: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface DeletionRequestTargetRefInput {\n\tdomain: string;\n\tid: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionRequestTargetRefInputBuilder.html":{"url":"classes/DeletionRequestTargetRefInputBuilder.html","title":"class - DeletionRequestTargetRefInputBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionRequestTargetRefInputBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/client/builder/deletion-request-target-ref-input.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(domain: string, id: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/client/builder/deletion-request-target-ref-input.builder.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domain\n \n string\n \n\n \n No\n \n\n\n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionRequestTargetRefInput\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DeletionRequestTargetRefInput } from '../interface';\n\nexport class DeletionRequestTargetRefInputBuilder {\n\tstatic build(domain: string, id: string): DeletionRequestTargetRefInput {\n\t\treturn { domain, id };\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/DeletionRequestsController.html":{"url":"controllers/DeletionRequestsController.html","title":"controller - DeletionRequestsController","body":"\n \n\n\n\n\n\n\n Controllers\n DeletionRequestsController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/controller/deletion-requests.controller.ts\n \n\n \n Prefix\n \n \n deletionRequests\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n Async\n cancelDeletionRequest\n \n \n \n \n \n \n Async\n createDeletionRequests\n \n \n \n \n \n \n Async\n getPerformedDeletionDetails\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n Async\n cancelDeletionRequest\n \n \n \n \n \n \n \n cancelDeletionRequest(requestId: string)\n \n \n\n \n \n Decorators : \n \n @Delete(':requestId')@HttpCode(204)@ApiOperation({summary: 'Canceling a deletion request'})@ApiResponse({status: 204})\n \n \n\n \n \n Defined in apps/server/src/modules/deletion/controller/deletion-requests.controller.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n requestId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createDeletionRequests\n \n \n \n \n \n \n \n createDeletionRequests(deletionRequestBody: DeletionRequestBodyProps)\n \n \n\n \n \n Decorators : \n \n @Post()@HttpCode(202)@ApiOperation({summary: '\"Queueing\" a deletion request'})@ApiResponse({status: 202, type: DeletionRequestResponse, description: 'Returns identifier of the deletion request and when deletion is planned at'})\n \n \n\n \n \n Defined in apps/server/src/modules/deletion/controller/deletion-requests.controller.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n deletionRequestBody\n \n DeletionRequestBodyProps\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getPerformedDeletionDetails\n \n \n \n \n \n \n \n getPerformedDeletionDetails(requestId: string)\n \n \n\n \n \n Decorators : \n \n @Get(':requestId')@HttpCode(200)@ApiOperation({summary: 'Retrieving details of performed or planned deletion'})@ApiResponse({status: 200, type: DeletionRequestLogResponse, description: 'Return details of performed or planned deletion'})\n \n \n\n \n \n Defined in apps/server/src/modules/deletion/controller/deletion-requests.controller.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n requestId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Body, Controller, Delete, Get, HttpCode, Param, Post, UseGuards } from '@nestjs/common';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { AuthGuard } from '@nestjs/passport';\nimport { DeletionRequestUc } from '../uc';\nimport { DeletionRequestLogResponse, DeletionRequestBodyProps, DeletionRequestResponse } from './dto';\n\n@ApiTags('DeletionRequests')\n@UseGuards(AuthGuard('api-key'))\n@Controller('deletionRequests')\nexport class DeletionRequestsController {\n\tconstructor(private readonly deletionRequestUc: DeletionRequestUc) {}\n\n\t@Post()\n\t@HttpCode(202)\n\t@ApiOperation({\n\t\tsummary: '\"Queueing\" a deletion request',\n\t})\n\t@ApiResponse({\n\t\tstatus: 202,\n\t\ttype: DeletionRequestResponse,\n\t\tdescription: 'Returns identifier of the deletion request and when deletion is planned at',\n\t})\n\tasync createDeletionRequests(\n\t\t@Body() deletionRequestBody: DeletionRequestBodyProps\n\t): Promise {\n\t\treturn this.deletionRequestUc.createDeletionRequest(deletionRequestBody);\n\t}\n\n\t@Get(':requestId')\n\t@HttpCode(200)\n\t@ApiOperation({\n\t\tsummary: 'Retrieving details of performed or planned deletion',\n\t})\n\t@ApiResponse({\n\t\tstatus: 200,\n\t\ttype: DeletionRequestLogResponse,\n\t\tdescription: 'Return details of performed or planned deletion',\n\t})\n\tasync getPerformedDeletionDetails(@Param('requestId') requestId: string): Promise {\n\t\treturn this.deletionRequestUc.findById(requestId);\n\t}\n\n\t@Delete(':requestId')\n\t@HttpCode(204)\n\t@ApiOperation({\n\t\tsummary: 'Canceling a deletion request',\n\t})\n\t@ApiResponse({\n\t\tstatus: 204,\n\t})\n\tasync cancelDeletionRequest(@Param('requestId') requestId: string) {\n\t\treturn this.deletionRequestUc.deleteDeletionRequestById(requestId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionTargetRef.html":{"url":"interfaces/DeletionTargetRef.html","title":"interface - DeletionTargetRef","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionTargetRef\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/interface/interfaces.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n domain\n \n \n \n \n id\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n domain\n \n \n \n \n \n \n \n \n domain: DeletionDomainModel\n\n \n \n\n\n \n \n Type : DeletionDomainModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { DeletionDomainModel } from '../domain/types';\n\nexport interface DeletionTargetRef {\n\tdomain: DeletionDomainModel;\n\tid: EntityId;\n}\n\nexport interface DeletionLogStatistic {\n\tdomain: DeletionDomainModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DeletionTargetRef-1.html":{"url":"interfaces/DeletionTargetRef-1.html","title":"interface - DeletionTargetRef-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DeletionTargetRef\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/uc/interface/interfaces.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n targetRefDomain\n \n \n \n \n targetRefId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n targetRefDomain\n \n \n \n \n \n \n \n \n targetRefDomain: DeletionDomainModel\n\n \n \n\n\n \n \n Type : DeletionDomainModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n targetRefId\n \n \n \n \n \n \n \n \n targetRefId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { DeletionDomainModel } from '../../domain/types/deletion-domain-model.enum';\n\nexport interface DeletionTargetRef {\n\ttargetRefDomain: DeletionDomainModel;\n\ttargetRefId: EntityId;\n}\n\nexport interface DeletionRequestLog {\n\ttargetRef: DeletionTargetRef;\n\tdeletionPlannedAt: Date;\n\tstatistics?: DeletionLogStatistic[];\n}\n\nexport interface DeletionLogStatistic {\n\tdomain: DeletionDomainModel;\n\tmodifiedCount?: number;\n\tdeletedCount?: number;\n}\n\nexport interface DeletionRequestProps {\n\ttargetRef: { targetRefDoamin: DeletionDomainModel; targetRefId: EntityId };\n\tdeleteInMinutes?: number;\n}\n\nexport interface DeletionRequestCreateAnswer {\n\trequestId: EntityId;\n\tdeletionPlannedAt: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionTargetRefBuilder.html":{"url":"classes/DeletionTargetRefBuilder.html","title":"class - DeletionTargetRefBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionTargetRefBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/builder/deletion-target-ref.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(domain: DeletionDomainModel, id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/builder/deletion-target-ref.builder.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domain\n \n DeletionDomainModel\n \n\n \n No\n \n\n\n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionTargetRef\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { DeletionDomainModel } from '../domain/types';\nimport { DeletionTargetRef } from '../interface';\n\nexport class DeletionTargetRefBuilder {\n\tstatic build(domain: DeletionDomainModel, id: EntityId): DeletionTargetRef {\n\t\tconst deletionTargetRef = { domain, id };\n\n\t\treturn deletionTargetRef;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeletionTargetRefBuilder-1.html":{"url":"classes/DeletionTargetRefBuilder-1.html","title":"class - DeletionTargetRefBuilder-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeletionTargetRefBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/uc/builder/deletion-target-ref.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(targetRefDomain: DeletionDomainModel, targetRefId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/uc/builder/deletion-target-ref.builder.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n targetRefDomain\n \n DeletionDomainModel\n \n\n \n No\n \n\n\n \n \n targetRefId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeletionTargetRef\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { DeletionDomainModel } from '../../domain/types/deletion-domain-model.enum';\nimport { DeletionTargetRef } from '../interface/interfaces';\n\nexport class DeletionTargetRefBuilder {\n\tstatic build(targetRefDomain: DeletionDomainModel, targetRefId: EntityId): DeletionTargetRef {\n\t\tconst deletionTargetRef = { targetRefDomain, targetRefId };\n\n\t\treturn deletionTargetRef;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeprecatedVideoConferenceInfoResponse.html":{"url":"classes/DeprecatedVideoConferenceInfoResponse.html","title":"class - DeprecatedVideoConferenceInfoResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeprecatedVideoConferenceInfoResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/controller/dto/response/video-conference-deprecated.response.ts\n \n\n \n Deprecated\n \n \n Please use new video conference response classes\n \n\n\n \n Extends\n \n \n VideoConferenceBaseResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n options\n \n \n permission\n \n \n state\n \n \n Optional\n status\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(resp: DeprecatedVideoConferenceInfoResponse)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-deprecated.response.ts:43\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n resp\n \n \n DeprecatedVideoConferenceInfoResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n options\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-deprecated.response.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n permission\n \n \n \n \n \n \n Type : Permission\n\n \n \n \n \n Inherited from VideoConferenceBaseResponse\n\n \n \n \n \n Defined in VideoConferenceBaseResponse:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n state\n \n \n \n \n \n \n Type : VideoConferenceStateResponse\n\n \n \n \n \n Inherited from VideoConferenceBaseResponse\n\n \n \n \n \n Defined in VideoConferenceBaseResponse:10\n\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n status\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from VideoConferenceBaseResponse\n\n \n \n \n \n Defined in VideoConferenceBaseResponse:8\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Permission } from '@shared/domain/interface';\nimport { VideoConferenceStateResponse } from './video-conference-state.response';\n\n/**\n * @deprecated Please use new video conference response classes\n */\nexport class VideoConferenceBaseResponse {\n\tstatus?: string;\n\n\tstate: VideoConferenceStateResponse;\n\n\tpermission: Permission;\n\n\tconstructor(resp: VideoConferenceBaseResponse) {\n\t\tthis.status = 'SUCCESS';\n\t\tthis.state = resp.state;\n\t\tthis.permission = resp.permission;\n\t}\n}\n\n/**\n * @deprecated Please use new video conference response classes\n */\nexport class DeprecatedVideoConferenceJoinResponse extends VideoConferenceBaseResponse {\n\turl?: string;\n\n\tconstructor(resp: DeprecatedVideoConferenceJoinResponse) {\n\t\tsuper(resp);\n\t\tthis.url = resp.url;\n\t}\n}\n\n/**\n * @deprecated Please use new video conference response classes\n */\nexport class DeprecatedVideoConferenceInfoResponse extends VideoConferenceBaseResponse {\n\toptions?: {\n\t\teveryAttendeeJoinsMuted: boolean;\n\n\t\teverybodyJoinsAsModerator: boolean;\n\n\t\tmoderatorMustApproveJoinRequests: boolean;\n\t};\n\n\tconstructor(resp: DeprecatedVideoConferenceInfoResponse) {\n\t\tsuper(resp);\n\t\tthis.options = resp.options;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DeprecatedVideoConferenceJoinResponse.html":{"url":"classes/DeprecatedVideoConferenceJoinResponse.html","title":"class - DeprecatedVideoConferenceJoinResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DeprecatedVideoConferenceJoinResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/controller/dto/response/video-conference-deprecated.response.ts\n \n\n \n Deprecated\n \n \n Please use new video conference response classes\n \n\n\n \n Extends\n \n \n VideoConferenceBaseResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n url\n \n \n permission\n \n \n state\n \n \n Optional\n status\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(resp: DeprecatedVideoConferenceJoinResponse)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-deprecated.response.ts:25\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n resp\n \n \n DeprecatedVideoConferenceJoinResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-deprecated.response.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n permission\n \n \n \n \n \n \n Type : Permission\n\n \n \n \n \n Inherited from VideoConferenceBaseResponse\n\n \n \n \n \n Defined in VideoConferenceBaseResponse:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n state\n \n \n \n \n \n \n Type : VideoConferenceStateResponse\n\n \n \n \n \n Inherited from VideoConferenceBaseResponse\n\n \n \n \n \n Defined in VideoConferenceBaseResponse:10\n\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n status\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from VideoConferenceBaseResponse\n\n \n \n \n \n Defined in VideoConferenceBaseResponse:8\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Permission } from '@shared/domain/interface';\nimport { VideoConferenceStateResponse } from './video-conference-state.response';\n\n/**\n * @deprecated Please use new video conference response classes\n */\nexport class VideoConferenceBaseResponse {\n\tstatus?: string;\n\n\tstate: VideoConferenceStateResponse;\n\n\tpermission: Permission;\n\n\tconstructor(resp: VideoConferenceBaseResponse) {\n\t\tthis.status = 'SUCCESS';\n\t\tthis.state = resp.state;\n\t\tthis.permission = resp.permission;\n\t}\n}\n\n/**\n * @deprecated Please use new video conference response classes\n */\nexport class DeprecatedVideoConferenceJoinResponse extends VideoConferenceBaseResponse {\n\turl?: string;\n\n\tconstructor(resp: DeprecatedVideoConferenceJoinResponse) {\n\t\tsuper(resp);\n\t\tthis.url = resp.url;\n\t}\n}\n\n/**\n * @deprecated Please use new video conference response classes\n */\nexport class DeprecatedVideoConferenceInfoResponse extends VideoConferenceBaseResponse {\n\toptions?: {\n\t\teveryAttendeeJoinsMuted: boolean;\n\n\t\teverybodyJoinsAsModerator: boolean;\n\n\t\tmoderatorMustApproveJoinRequests: boolean;\n\t};\n\n\tconstructor(resp: DeprecatedVideoConferenceInfoResponse) {\n\t\tsuper(resp);\n\t\tthis.options = resp.options;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DoBaseFactory.html":{"url":"classes/DoBaseFactory.html","title":"class - DoBaseFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DoBaseFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/domainobject/do-base.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n buildWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \n \n buildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BuildOptions, DeepPartial } from 'fishery';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseFactory } from '../base.factory';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport class DoBaseFactory extends BaseFactory {\n\toverride buildWithId(params?: DeepPartial, id?: string, options: BuildOptions = {}): T {\n\t\tconst entity: T = this.build(params, options);\n\t\tObject.defineProperty(entity, 'id', { value: id ?? new ObjectId().toHexString(), writable: true });\n\n\t\treturn entity;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DomainObject.html":{"url":"classes/DomainObject.html","title":"class - DomainObject","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DomainObject\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domain-object.ts\n \n\n\n\n\n \n Implements\n \n \n AuthorizableObject\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n id\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: T)\n \n \n \n \n Defined in apps/server/src/shared/domain/domain-object.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n T\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domain-object.ts:8\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domain-object.ts:18\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n id\n \n \n\n \n \n getid()\n \n \n \n \n Defined in apps/server/src/shared/domain/domain-object.ts:14\n \n \n\n \n \n\n \n\n\n \n import { EntityId } from './types';\n\nexport interface AuthorizableObject {\n\tget id(): EntityId;\n}\n\nexport abstract class DomainObject implements AuthorizableObject {\n\tprotected props: T;\n\n\tconstructor(props: T) {\n\t\tthis.props = props;\n\t}\n\n\tpublic get id(): EntityId {\n\t\treturn this.props.id;\n\t}\n\n\tpublic getProps(): T {\n\t\tconst copyProps = { ...this.props };\n\n\t\treturn copyProps;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DomainObjectFactory.html":{"url":"classes/DomainObjectFactory.html","title":"class - DomainObjectFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DomainObjectFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/domainobject/domain-object.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n buildWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \n \n buildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:14\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { MethodNotAllowedException } from '@nestjs/common';\nimport { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { BuildOptions, DeepPartial } from 'fishery';\nimport { BaseFactory } from '../base.factory';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport class DomainObjectFactory,\n\tU extends AuthorizableObject = T extends DomainObject ? X : never,\n\tI = any,\n\tC = U\n> extends BaseFactory {\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\toverride buildWithId(params?: DeepPartial, id?: string, options: BuildOptions = {}): T {\n\t\tthrow new MethodNotAllowedException(\n\t\t\t'Domain Objects are always generated with an id. Use .build({ id: ... }) to set an id.'\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DownloadFileParams.html":{"url":"classes/DownloadFileParams.html","title":"class - DownloadFileParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DownloadFileParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n fileName\n \n \n \n \n fileRecordId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n fileName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n fileRecordId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:48\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanResult } from '@infra/antivirus';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { Allow, IsBoolean, IsEnum, IsMongoId, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { FileRecordParentType } from '../../entity';\nimport { PreviewOutputMimeTypes, PreviewWidth } from '../../interface';\n\nexport class FileRecordParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\t@IsEnum(FileRecordParentType)\n\tparentType!: FileRecordParentType;\n}\n\nexport class FileUrlParams {\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\turl!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@Allow()\n\theaders?: Record;\n}\n\nexport class FileParams {\n\t@ApiProperty({ type: 'string', format: 'binary' })\n\t@Allow()\n\tfile!: string;\n}\n\nexport class DownloadFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileName!: string;\n}\n\nexport class ScanResultParams implements ScanResult {\n\t@ApiProperty()\n\t@Allow()\n\tvirus_detected?: boolean;\n\n\t@ApiProperty()\n\t@Allow()\n\tvirus_signature?: string;\n\n\t@ApiProperty()\n\t@Allow()\n\terror?: string;\n}\n\nexport class SingleFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n}\n\nexport class RenameFileParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n}\n\nexport class CopyFilesOfParentParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class CopyFileParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileNamePrefix!: string;\n}\n\nexport class CopyFilesOfParentPayload {\n\t@IsMongoId()\n\tuserId!: EntityId;\n\n\t@ValidateNested()\n\tsource!: FileRecordParams;\n\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class PreviewParams {\n\t@ApiPropertyOptional({ enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes' })\n\t@IsOptional()\n\t@IsEnum(PreviewOutputMimeTypes)\n\toutputFormat?: PreviewOutputMimeTypes;\n\n\t@ApiPropertyOptional({ enum: PreviewWidth, enumName: 'PreviewWidth' })\n\t@IsOptional()\n\t@IsEnum(PreviewWidth)\n\twidth?: PreviewWidth;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'If true, the preview will be generated again.',\n\t})\n\tforceUpdate?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DrawingContentBody.html":{"url":"classes/DrawingContentBody.html","title":"class - DrawingContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DrawingContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n description\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:69\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DrawingElement.html":{"url":"classes/DrawingElement.html","title":"class - DrawingElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DrawingElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/drawing-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardComposite\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n accept\n \n \n Async\n acceptAsync\n \n \n isAllowedAsChild\n \n \n addChild\n \n \n hasChild\n \n \n removeChild\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n description\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n accept\n \n \n \n \n \n \naccept(visitor: BoardCompositeVisitor)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:17\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitor\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n acceptAsync\n \n \n \n \n \n \n \n acceptAsync(visitor: BoardCompositeVisitorAsync)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:21\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitorAsync\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isAllowedAsChild\n \n \n \n \n \n \nisAllowedAsChild()\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:13\n\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n addChild\n \n \n \n \n \n \naddChild(child: AnyBoardDo, position?: number)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n position\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasChild\n \n \n \n \n \n \nhasChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeChild\n \n \n \n \n \n \nremoveChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n description\n \n \n\n \n \n getdescription()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/drawing-element.do.ts:5\n \n \n\n \n \n setdescription(value: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/drawing-element.do.ts:9\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class DrawingElement extends BoardComposite {\n\tget description(): string {\n\t\treturn this.props.description;\n\t}\n\n\tset description(value: string) {\n\t\tthis.props.description = value;\n\t}\n\n\tisAllowedAsChild(): boolean {\n\t\treturn false;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitDrawingElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitDrawingElementAsync(this);\n\t}\n}\n\nexport interface DrawingElementProps extends BoardCompositeProps {\n\tdescription: string;\n}\n\nexport function isDrawingElement(reference: unknown): reference is DrawingElement {\n\treturn reference instanceof DrawingElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DrawingElementAdapterService.html":{"url":"injectables/DrawingElementAdapterService.html","title":"injectable - DrawingElementAdapterService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DrawingElementAdapterService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw-client/service/drawing-element-adapter.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteDrawingBinData\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: LegacyLogger, httpService: HttpService)\n \n \n \n \n Defined in apps/server/src/modules/tldraw-client/service/drawing-element-adapter.service.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n httpService\n \n \n HttpService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteDrawingBinData\n \n \n \n \n \n \n \n deleteDrawingBinData(docName: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw-client/service/drawing-element-adapter.service.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n docName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { LegacyLogger } from '@src/core/logger';\nimport { firstValueFrom } from 'rxjs';\nimport { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { HttpService } from '@nestjs/axios';\n\n@Injectable()\nexport class DrawingElementAdapterService {\n\tconstructor(private logger: LegacyLogger, private readonly httpService: HttpService) {\n\t\tthis.logger.setContext(DrawingElementAdapterService.name);\n\t}\n\n\tasync deleteDrawingBinData(docName: string): Promise {\n\t\tawait firstValueFrom(\n\t\t\tthis.httpService.delete(`${Configuration.get('TLDRAW_URI') as string}/api/v3/tldraw-document/${docName}`, {\n\t\t\t\theaders: {\n\t\t\t\t\tAccept: 'Application/json',\n\t\t\t\t},\n\t\t\t})\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DrawingElementContent.html":{"url":"classes/DrawingElementContent.html","title":"class - DrawingElementContent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DrawingElementContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/drawing-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n description\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: DrawingElementContent)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/drawing-element.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n DrawingElementContent\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/drawing-element.response.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class DrawingElementContent {\n\tconstructor({ description }: DrawingElementContent) {\n\t\tthis.description = description;\n\t}\n\n\t@ApiProperty()\n\tdescription: string;\n}\n\nexport class DrawingElementResponse {\n\tconstructor({ id, content, timestamps, type }: DrawingElementResponse) {\n\t\tthis.id = id;\n\t\tthis.timestamps = timestamps;\n\t\tthis.type = type;\n\t\tthis.content = content;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.DRAWING;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n\n\t@ApiProperty()\n\tcontent: DrawingElementContent;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DrawingElementContentBody.html":{"url":"classes/DrawingElementContentBody.html","title":"class - DrawingElementContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DrawingElementContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n \n Extends\n \n \n ElementContentBody\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : DrawingContentBody\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:78\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.DRAWING\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from ElementContentBody\n\n \n \n \n \n Defined in ElementContentBody:74\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/DrawingElementNode.html":{"url":"entities/DrawingElementNode.html","title":"entity - DrawingElementNode","body":"\n \n\n\n\n\n\n\n\n Entities\n DrawingElementNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/drawing-element-node.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n description\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/drawing-element-node.entity.ts:9\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { AnyBoardDo } from '@shared/domain/domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.DRAWING_ELEMENT })\nexport class DrawingElementNode extends BoardNode {\n\t@Property()\n\tdescription: string;\n\n\tconstructor(props: DrawingElementNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.DRAWING_ELEMENT;\n\t\tthis.description = props.description;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildDrawingElement(this);\n\t\treturn domainObject;\n\t}\n}\n\nexport interface DrawingElementNodeProps extends BoardNodeProps {\n\tdescription: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DrawingElementNodeProps.html":{"url":"interfaces/DrawingElementNodeProps.html","title":"interface - DrawingElementNodeProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DrawingElementNodeProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/drawing-element-node.entity.ts\n \n\n\n\n \n Extends\n \n \n BoardNodeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n description: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { AnyBoardDo } from '@shared/domain/domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.DRAWING_ELEMENT })\nexport class DrawingElementNode extends BoardNode {\n\t@Property()\n\tdescription: string;\n\n\tconstructor(props: DrawingElementNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.DRAWING_ELEMENT;\n\t\tthis.description = props.description;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildDrawingElement(this);\n\t\treturn domainObject;\n\t}\n}\n\nexport interface DrawingElementNodeProps extends BoardNodeProps {\n\tdescription: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/DrawingElementProps.html":{"url":"interfaces/DrawingElementProps.html","title":"interface - DrawingElementProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n DrawingElementProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/drawing-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardCompositeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n description: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class DrawingElement extends BoardComposite {\n\tget description(): string {\n\t\treturn this.props.description;\n\t}\n\n\tset description(value: string) {\n\t\tthis.props.description = value;\n\t}\n\n\tisAllowedAsChild(): boolean {\n\t\treturn false;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitDrawingElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitDrawingElementAsync(this);\n\t}\n}\n\nexport interface DrawingElementProps extends BoardCompositeProps {\n\tdescription: string;\n}\n\nexport function isDrawingElement(reference: unknown): reference is DrawingElement {\n\treturn reference instanceof DrawingElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DrawingElementResponse.html":{"url":"classes/DrawingElementResponse.html","title":"class - DrawingElementResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DrawingElementResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/drawing-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n id\n \n \n \n timestamps\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: DrawingElementResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/drawing-element.response.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n DrawingElementResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : DrawingElementContent\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/drawing-element.response.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/drawing-element.response.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n timestamps\n \n \n \n \n \n \n Type : TimestampsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/drawing-element.response.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.DRAWING\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ContentElementType, enumName: 'ContentElementType'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/drawing-element.response.ts:26\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class DrawingElementContent {\n\tconstructor({ description }: DrawingElementContent) {\n\t\tthis.description = description;\n\t}\n\n\t@ApiProperty()\n\tdescription: string;\n}\n\nexport class DrawingElementResponse {\n\tconstructor({ id, content, timestamps, type }: DrawingElementResponse) {\n\t\tthis.id = id;\n\t\tthis.timestamps = timestamps;\n\t\tthis.type = type;\n\t\tthis.content = content;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.DRAWING;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n\n\t@ApiProperty()\n\tcontent: DrawingElementContent;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DrawingElementResponseMapper.html":{"url":"classes/DrawingElementResponseMapper.html","title":"class - DrawingElementResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DrawingElementResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/drawing-element-response.mapper.ts\n \n\n\n\n\n \n Implements\n \n \n BaseResponseMapper\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n canMap\n \n \n Static\n getInstance\n \n \n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n \n \n Type : DrawingElementResponseMapper\n\n \n \n \n \n Defined in apps/server/src/modules/board/controller/mapper/drawing-element-response.mapper.ts:8\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n canMap\n \n \n \n \n \n \ncanMap(element: DrawingElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/drawing-element-response.mapper.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n DrawingElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n getInstance\n \n \n \n \n \n \n \n getInstance()\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/drawing-element-response.mapper.ts:10\n \n \n\n\n \n \n\n \n Returns : DrawingElementResponseMapper\n\n \n \n \n \n \n \n \n \n \n \n \n mapToResponse\n \n \n \n \n \n \nmapToResponse(element: DrawingElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/drawing-element-response.mapper.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n DrawingElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DrawingElementResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DrawingElement } from '@shared/domain/domainobject/board/drawing-element.do';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { DrawingElementContent, DrawingElementResponse } from '../dto/element/drawing-element.response';\nimport { TimestampsResponse } from '../dto';\nimport { BaseResponseMapper } from './base-mapper.interface';\n\nexport class DrawingElementResponseMapper implements BaseResponseMapper {\n\tprivate static instance: DrawingElementResponseMapper;\n\n\tpublic static getInstance(): DrawingElementResponseMapper {\n\t\tif (!DrawingElementResponseMapper.instance) {\n\t\t\tDrawingElementResponseMapper.instance = new DrawingElementResponseMapper();\n\t\t}\n\n\t\treturn DrawingElementResponseMapper.instance;\n\t}\n\n\tmapToResponse(element: DrawingElement): DrawingElementResponse {\n\t\tconst result = new DrawingElementResponse({\n\t\t\tid: element.id,\n\t\t\ttimestamps: new TimestampsResponse({ lastUpdatedAt: element.updatedAt, createdAt: element.createdAt }),\n\t\t\ttype: ContentElementType.DRAWING,\n\t\t\tcontent: new DrawingElementContent({ description: element.description }),\n\t\t});\n\n\t\treturn result;\n\t}\n\n\tcanMap(element: DrawingElement): boolean {\n\t\treturn element instanceof DrawingElement;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/DtoCreator.html":{"url":"classes/DtoCreator.html","title":"class - DtoCreator","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n DtoCreator\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n authorisationService\n \n \n board\n \n \n room\n \n \n roomsAuthorisationService\n \n \n user\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n buildDTOWithElements\n \n \n Private\n createTaskStatus\n \n \n Private\n filterByPermission\n \n \n Private\n isColumnBoardFeatureFlagActive\n \n \n Private\n isTeacher\n \n \n manufacture\n \n \n Private\n mapColumnBoardElement\n \n \n Private\n mapLessonElement\n \n \n Private\n mapTaskElement\n \n \n Private\n mapToElementDTOs\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: literal type)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:36\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n literal type\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n authorisationService\n \n \n \n \n \n \n Type : AuthorizationService\n\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n board\n \n \n \n \n \n \n Type : Board\n\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n room\n \n \n \n \n \n \n Type : Course\n\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n roomsAuthorisationService\n \n \n \n \n \n \n Type : RoomsAuthorisationService\n\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n user\n \n \n \n \n \n \n Type : User\n\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:32\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n buildDTOWithElements\n \n \n \n \n \n \n \n buildDTOWithElements(elements: RoomBoardElementDTO[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:173\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n elements\n \n RoomBoardElementDTO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RoomBoardDTO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createTaskStatus\n \n \n \n \n \n \n \n createTaskStatus(task: Task)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:129\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n task\n \n Task\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskStatus\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n filterByPermission\n \n \n \n \n \n \n \n filterByPermission(elements: BoardElement[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:67\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n elements\n \n BoardElement[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isColumnBoardFeatureFlagActive\n \n \n \n \n \n \n \n isColumnBoardFeatureFlagActive()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:89\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n isTeacher\n \n \n \n \n \n \n \n isTeacher()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:95\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n manufacture\n \n \n \n \n \n \nmanufacture()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:58\n \n \n\n\n \n \n\n \n Returns : RoomBoardDTO\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n mapColumnBoardElement\n \n \n \n \n \n \n \n mapColumnBoardElement(element: BoardElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:158\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n BoardElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RoomBoardElementDTO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapLessonElement\n \n \n \n \n \n \n \n mapLessonElement(element: BoardElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:139\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n BoardElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RoomBoardElementDTO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapTaskElement\n \n \n \n \n \n \n \n mapTaskElement(element: BoardElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:121\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n BoardElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RoomBoardElementDTO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapToElementDTOs\n \n \n \n \n \n \n \n mapToElementDTOs(elements: BoardElement[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:102\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n elements\n \n BoardElement[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : {}\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { Action, AuthorizationService } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport {\n\tBoard,\n\tBoardElement,\n\tBoardElementType,\n\tColumnBoardTarget,\n\tColumnboardBoardElement,\n\tCourse,\n\tLessonEntity,\n\tTask,\n\tTaskWithStatusVo,\n\tUser,\n} from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { TaskStatus } from '@shared/domain/types';\nimport {\n\tColumnBoardMetaData,\n\tLessonMetaData,\n\tRoomBoardDTO,\n\tRoomBoardElementDTO,\n\tRoomBoardElementTypes,\n} from '../types/room-board.types';\nimport { RoomsAuthorisationService } from './rooms.authorisation.service';\n\nclass DtoCreator {\n\troom: Course;\n\n\tboard: Board;\n\n\tuser: User;\n\n\tauthorisationService: AuthorizationService;\n\n\troomsAuthorisationService: RoomsAuthorisationService;\n\n\tconstructor({\n\t\troom,\n\t\tboard,\n\t\tuser,\n\t\tauthorisationService,\n\t\troomsAuthorisationService,\n\t}: {\n\t\troom: Course;\n\t\tboard: Board;\n\t\tuser: User;\n\t\tauthorisationService: AuthorizationService;\n\t\troomsAuthorisationService: RoomsAuthorisationService;\n\t}) {\n\t\tthis.room = room;\n\t\tthis.board = board;\n\t\tthis.user = user;\n\t\tthis.authorisationService = authorisationService;\n\t\tthis.roomsAuthorisationService = roomsAuthorisationService;\n\t}\n\n\tmanufacture(): RoomBoardDTO {\n\t\tconst elements = this.board.getElements();\n\t\tconst filtered = this.filterByPermission(elements);\n\n\t\tconst mappedElements = this.mapToElementDTOs(filtered);\n\t\tconst dto = this.buildDTOWithElements(mappedElements);\n\t\treturn dto;\n\t}\n\n\tprivate filterByPermission(elements: BoardElement[]) {\n\t\tconst filtered = elements.filter((element) => {\n\t\t\tlet result = false;\n\t\t\tif (element.boardElementType === BoardElementType.Task) {\n\t\t\t\tresult = this.roomsAuthorisationService.hasTaskReadPermission(this.user, element.target as Task);\n\t\t\t}\n\n\t\t\tif (element.boardElementType === BoardElementType.Lesson) {\n\t\t\t\tresult = this.roomsAuthorisationService.hasLessonReadPermission(this.user, element.target as LessonEntity);\n\t\t\t}\n\n\t\t\tif (element instanceof ColumnboardBoardElement && this.isColumnBoardFeatureFlagActive()) {\n\t\t\t\tresult = this.authorisationService.hasPermission(this.user, this.room, {\n\t\t\t\t\taction: Action.read,\n\t\t\t\t\trequiredPermissions: [Permission.COURSE_VIEW],\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn result;\n\t\t});\n\t\treturn filtered;\n\t}\n\n\tprivate isColumnBoardFeatureFlagActive() {\n\t\tconst isActive = (Configuration.get('FEATURE_COLUMN_BOARD_ENABLED') as boolean) === true;\n\n\t\treturn isActive;\n\t}\n\n\tprivate isTeacher(): boolean {\n\t\tif (this.room.teachers.contains(this.user) || this.room.substitutionTeachers.contains(this.user)) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprivate mapToElementDTOs(elements: BoardElement[]) {\n\t\tconst results: RoomBoardElementDTO[] = [];\n\t\telements.forEach((element) => {\n\t\t\tif (element.boardElementType === BoardElementType.Task) {\n\t\t\t\tconst mapped = this.mapTaskElement(element);\n\t\t\t\tresults.push(mapped);\n\t\t\t}\n\t\t\tif (element.boardElementType === BoardElementType.Lesson) {\n\t\t\t\tconst mapped = this.mapLessonElement(element);\n\t\t\t\tresults.push(mapped);\n\t\t\t}\n\t\t\tif (element.boardElementType === BoardElementType.ColumnBoard) {\n\t\t\t\tconst mapped = this.mapColumnBoardElement(element);\n\t\t\t\tresults.push(mapped);\n\t\t\t}\n\t\t});\n\t\treturn results;\n\t}\n\n\tprivate mapTaskElement(element: BoardElement): RoomBoardElementDTO {\n\t\tconst task = element.target as Task;\n\t\tconst status = this.createTaskStatus(task);\n\n\t\tconst content = new TaskWithStatusVo(task, status);\n\t\treturn { type: RoomBoardElementTypes.TASK, content };\n\t}\n\n\tprivate createTaskStatus(task: Task): TaskStatus {\n\t\tlet status: TaskStatus;\n\t\tif (this.isTeacher()) {\n\t\t\tstatus = task.createTeacherStatusForUser(this.user);\n\t\t} else {\n\t\t\tstatus = task.createStudentStatusForUser(this.user);\n\t\t}\n\t\treturn status;\n\t}\n\n\tprivate mapLessonElement(element: BoardElement): RoomBoardElementDTO {\n\t\tconst type = RoomBoardElementTypes.LESSON;\n\t\tconst lesson = element.target as LessonEntity;\n\t\tconst content: LessonMetaData = {\n\t\t\tid: lesson.id,\n\t\t\tname: lesson.name,\n\t\t\thidden: lesson.hidden,\n\t\t\tcreatedAt: lesson.createdAt,\n\t\t\tupdatedAt: lesson.updatedAt,\n\t\t\tcourseName: lesson.course.name,\n\t\t\tnumberOfPublishedTasks: lesson.getNumberOfPublishedTasks(),\n\t\t};\n\t\tif (this.isTeacher()) {\n\t\t\tcontent.numberOfDraftTasks = lesson.getNumberOfDraftTasks();\n\t\t\tcontent.numberOfPlannedTasks = lesson.getNumberOfPlannedTasks();\n\t\t}\n\t\treturn { type, content };\n\t}\n\n\tprivate mapColumnBoardElement(element: BoardElement): RoomBoardElementDTO {\n\t\tconst type = RoomBoardElementTypes.COLUMN_BOARD;\n\t\tconst columnBoardTarget = element.target as ColumnBoardTarget;\n\t\tconst content: ColumnBoardMetaData = {\n\t\t\tid: columnBoardTarget.id,\n\t\t\tcolumnBoardId: columnBoardTarget.columnBoardId,\n\t\t\ttitle: columnBoardTarget.title,\n\t\t\tcreatedAt: columnBoardTarget.createdAt,\n\t\t\tupdatedAt: columnBoardTarget.updatedAt,\n\t\t\tpublished: columnBoardTarget.published,\n\t\t};\n\n\t\treturn { type, content };\n\t}\n\n\tprivate buildDTOWithElements(elements: RoomBoardElementDTO[]): RoomBoardDTO {\n\t\tconst dto = {\n\t\t\troomId: this.room.id,\n\t\t\tdisplayColor: this.room.color,\n\t\t\ttitle: this.room.name,\n\t\t\telements,\n\t\t\tisArchived: this.room.isFinished(),\n\t\t};\n\t\treturn dto;\n\t}\n}\n\n@Injectable()\nexport class RoomBoardDTOFactory {\n\tconstructor(\n\t\tprivate readonly authorisationService: AuthorizationService,\n\t\tprivate readonly roomsAuthorisationService: RoomsAuthorisationService\n\t) {}\n\n\tcreateDTO({ room, board, user }: { room: Course; board: Board; user: User }): RoomBoardDTO {\n\t\tconst worker = new DtoCreator({\n\t\t\troom,\n\t\t\tboard,\n\t\t\tuser,\n\t\t\tauthorisationService: this.authorisationService,\n\t\t\troomsAuthorisationService: this.roomsAuthorisationService,\n\t\t});\n\t\tconst result = worker.manufacture();\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/DurationLoggingInterceptor.html":{"url":"injectables/DurationLoggingInterceptor.html","title":"injectable - DurationLoggingInterceptor","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n DurationLoggingInterceptor\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/interceptor/duration-logging.interceptor.ts\n \n\n\n \n Description\n \n \n This interceptor is logging the duration of a REST call.\n\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n intercept\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/shared/common/interceptor/duration-logging.interceptor.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n intercept\n \n \n \n \n \n \nintercept(context: ExecutionContext, next: CallHandler)\n \n \n\n\n \n \n Defined in apps/server/src/shared/common/interceptor/duration-logging.interceptor.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n context\n \n ExecutionContext\n \n\n \n No\n \n\n\n \n \n next\n \n CallHandler\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Observable<>\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CallHandler, ExecutionContext, Injectable, NestInterceptor } from '@nestjs/common';\nimport { LegacyLogger } from '@src/core/logger';\nimport { Observable } from 'rxjs';\nimport { tap } from 'rxjs/operators';\n\n/**\n * This interceptor is logging the duration of a REST call.\n */\n@Injectable()\nexport class DurationLoggingInterceptor implements NestInterceptor {\n\tconstructor(private logger: LegacyLogger) {\n\t\tlogger.setContext(DurationLoggingInterceptor.name);\n\t}\n\n\tintercept(context: ExecutionContext, next: CallHandler): Observable {\n\t\tthis.logger.log('Before...');\n\t\tconst now = Date.now();\n\t\treturn next.handle().pipe(tap(() => this.logger.log(`After... ${Date.now() - now}ms`)));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ElementContentBody.html":{"url":"classes/ElementContentBody.html","title":"class - ElementContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ElementContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ContentElementType)@ApiProperty({enum: ContentElementType, description: 'the type of the updated element', enumName: 'ContentElementType'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/ElementController.html":{"url":"controllers/ElementController.html","title":"controller - ElementController","body":"\n \n\n\n\n\n\n\n Controllers\n ElementController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/element.controller.ts\n \n\n \n Prefix\n \n \n elements\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createSubmissionItem\n \n \n \n \n \n \n \n \n \n Async\n deleteElement\n \n \n \n \n \n \n \n \n \n Async\n moveElement\n \n \n \n \n \n \n \n \n \n \n Async\n updateElement\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createSubmissionItem\n \n \n \n \n \n \n \n createSubmissionItem(urlParams: ContentElementUrlParams, bodyParams: CreateSubmissionItemBodyParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Create a new submission item having parent a submission container element.'})@ApiExtraModels(SubmissionItemResponse)@ApiResponse({status: 201, type: SubmissionItemResponse})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@ApiBody({required: true, type: CreateSubmissionItemBodyParams})@Post(':contentElementId/submissions')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/element.controller.ts:129\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n ContentElementUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n CreateSubmissionItemBodyParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteElement\n \n \n \n \n \n \n \n deleteElement(urlParams: ContentElementUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Delete a single content element.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Delete(':contentElementId')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/element.controller.ts:114\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n ContentElementUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n moveElement\n \n \n \n \n \n \n \n moveElement(urlParams: ContentElementUrlParams, bodyParams: MoveContentElementBody, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Move a single content element.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Put(':contentElementId/position')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/element.controller.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n ContentElementUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n MoveContentElementBody\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateElement\n \n \n \n \n \n \n \n updateElement(urlParams: ContentElementUrlParams, bodyParams: UpdateElementContentBodyParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Update a single content element.'})@ApiExtraModels(FileElementContentBody, RichTextElementContentBody, SubmissionContainerElementContentBody, ExternalToolElementContentBody, LinkElementContentBody, DrawingElementContentBody)@ApiResponse({status: 201, schema: undefined})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(201)@Patch(':contentElementId/content')\n \n \n\n \n \n Defined in apps/server/src/modules/board/controller/element.controller.ts:93\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n ContentElementUrlParams\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n UpdateElementContentBodyParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport {\n\tBody,\n\tController,\n\tDelete,\n\tForbiddenException,\n\tHttpCode,\n\tNotFoundException,\n\tParam,\n\tPatch,\n\tPost,\n\tPut,\n} from '@nestjs/common';\nimport { ApiBody, ApiExtraModels, ApiOperation, ApiResponse, ApiTags, getSchemaPath } from '@nestjs/swagger';\nimport { ApiValidationError } from '@shared/common';\nimport { CardUc } from '../uc';\nimport { ElementUc } from '../uc/element.uc';\nimport {\n\tAnyContentElementResponse,\n\tContentElementUrlParams,\n\tCreateSubmissionItemBodyParams,\n\tDrawingElementContentBody,\n\tDrawingElementResponse,\n\tExternalToolElementContentBody,\n\tExternalToolElementResponse,\n\tFileElementContentBody,\n\tFileElementResponse,\n\tLinkElementContentBody,\n\tLinkElementResponse,\n\tMoveContentElementBody,\n\tRichTextElementContentBody,\n\tRichTextElementResponse,\n\tSubmissionContainerElementContentBody,\n\tSubmissionContainerElementResponse,\n\tSubmissionItemResponse,\n\tUpdateElementContentBodyParams,\n} from './dto';\nimport { ContentElementResponseFactory, SubmissionItemResponseMapper } from './mapper';\n\n@ApiTags('Board Element')\n@Authenticate('jwt')\n@Controller('elements')\nexport class ElementController {\n\tconstructor(private readonly cardUc: CardUc, private readonly elementUc: ElementUc) {}\n\n\t@ApiOperation({ summary: 'Move a single content element.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Put(':contentElementId/position')\n\tasync moveElement(\n\t\t@Param() urlParams: ContentElementUrlParams,\n\t\t@Body() bodyParams: MoveContentElementBody,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tawait this.cardUc.moveElement(\n\t\t\tcurrentUser.userId,\n\t\t\turlParams.contentElementId,\n\t\t\tbodyParams.toCardId,\n\t\t\tbodyParams.toPosition\n\t\t);\n\t}\n\n\t@ApiOperation({ summary: 'Update a single content element.' })\n\t@ApiExtraModels(\n\t\tFileElementContentBody,\n\t\tRichTextElementContentBody,\n\t\tSubmissionContainerElementContentBody,\n\t\tExternalToolElementContentBody,\n\t\tLinkElementContentBody,\n\t\tDrawingElementContentBody\n\t)\n\t@ApiResponse({\n\t\tstatus: 201,\n\t\tschema: {\n\t\t\toneOf: [\n\t\t\t\t{ $ref: getSchemaPath(ExternalToolElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(FileElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(LinkElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(RichTextElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementResponse) },\n\t\t\t\t{ $ref: getSchemaPath(DrawingElementResponse) },\n\t\t\t],\n\t\t},\n\t})\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(201)\n\t@Patch(':contentElementId/content')\n\tasync updateElement(\n\t\t@Param() urlParams: ContentElementUrlParams,\n\t\t@Body() bodyParams: UpdateElementContentBodyParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst element = await this.elementUc.updateElementContent(\n\t\t\tcurrentUser.userId,\n\t\t\turlParams.contentElementId,\n\t\t\tbodyParams.data.content\n\t\t);\n\t\tconst response = ContentElementResponseFactory.mapToResponse(element);\n\t\treturn response;\n\t}\n\n\t@ApiOperation({ summary: 'Delete a single content element.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Delete(':contentElementId')\n\tasync deleteElement(\n\t\t@Param() urlParams: ContentElementUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tawait this.elementUc.deleteElement(currentUser.userId, urlParams.contentElementId);\n\t}\n\n\t@ApiOperation({ summary: 'Create a new submission item having parent a submission container element.' })\n\t@ApiExtraModels(SubmissionItemResponse)\n\t@ApiResponse({ status: 201, type: SubmissionItemResponse })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@ApiBody({ required: true, type: CreateSubmissionItemBodyParams })\n\t@Post(':contentElementId/submissions')\n\tasync createSubmissionItem(\n\t\t@Param() urlParams: ContentElementUrlParams,\n\t\t@Body() bodyParams: CreateSubmissionItemBodyParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst submissionItem = await this.elementUc.createSubmissionItem(\n\t\t\tcurrentUser.userId,\n\t\t\turlParams.contentElementId,\n\t\t\tbodyParams.completed\n\t\t);\n\t\tconst mapper = SubmissionItemResponseMapper.getInstance();\n\t\tconst response = mapper.mapSubmissionItemToResponse(submissionItem);\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ElementUc.html":{"url":"injectables/ElementUc.html","title":"injectable - ElementUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ElementUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/uc/element.uc.ts\n \n\n\n\n \n Extends\n \n \n BaseUc\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createSubmissionItem\n \n \n Async\n deleteElement\n \n \n Private\n Async\n getElementWithWritePermission\n \n \n Async\n updateElementContent\n \n \n Protected\n Async\n checkPermission\n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationService: AuthorizationService, boardDoAuthorizableService: BoardDoAuthorizableService, elementService: ContentElementService, submissionItemService: SubmissionItemService, logger: Logger)\n \n \n \n \n Defined in apps/server/src/modules/board/uc/element.uc.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n boardDoAuthorizableService\n \n \n BoardDoAuthorizableService\n \n \n \n No\n \n \n \n \n elementService\n \n \n ContentElementService\n \n \n \n No\n \n \n \n \n submissionItemService\n \n \n SubmissionItemService\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createSubmissionItem\n \n \n \n \n \n \n \n createSubmissionItem(userId: EntityId, contentElementId: EntityId, completed: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/element.uc.ts:63\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contentElementId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n completed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteElement\n \n \n \n \n \n \n \n deleteElement(userId: EntityId, elementId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/element.uc.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n elementId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getElementWithWritePermission\n \n \n \n \n \n \n \n getElementWithWritePermission(userId: EntityId, elementId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/element.uc.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n elementId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateElementContent\n \n \n \n \n \n \n \n updateElementContent(userId: EntityId, elementId: EntityId, content: AnyElementContentBody)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/element.uc.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n elementId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n content\n \n AnyElementContentBody\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n checkPermission\n \n \n \n \n \n \n \n checkPermission(userId: EntityId, anyBoardDo: AnyBoardDo, action: Action, requiredUserRole?: UserRoleEnum)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:13\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n anyBoardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n requiredUserRole\n \n UserRoleEnum\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n \n \n \n \n \n checkSubmissionItemWritePermission(userId: EntityId, submissionItem: SubmissionItem)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:45\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n submissionItem\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n \n \n \n isAuthorizedStudent(userId: EntityId, boardDo: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:29\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Action, AuthorizationService } from '@modules/authorization';\nimport { ForbiddenException, forwardRef, Inject, Injectable, UnprocessableEntityException } from '@nestjs/common';\nimport {\n\tAnyBoardDo,\n\tAnyContentElementDo,\n\tisSubmissionContainerElement,\n\tisSubmissionItem,\n\tSubmissionItem,\n\tUserRoleEnum,\n} from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { Logger } from '@src/core/logger';\nimport { AnyElementContentBody } from '../controller/dto';\nimport { BoardDoAuthorizableService, ContentElementService } from '../service';\nimport { SubmissionItemService } from '../service/submission-item.service';\nimport { BaseUc } from './base.uc';\n\n@Injectable()\nexport class ElementUc extends BaseUc {\n\tconstructor(\n\t\t@Inject(forwardRef(() => AuthorizationService))\n\t\tprotected readonly authorizationService: AuthorizationService,\n\t\tprotected readonly boardDoAuthorizableService: BoardDoAuthorizableService,\n\t\tprivate readonly elementService: ContentElementService,\n\t\tprivate readonly submissionItemService: SubmissionItemService,\n\t\tprivate readonly logger: Logger\n\t) {\n\t\tsuper(authorizationService, boardDoAuthorizableService);\n\t\tthis.logger.setContext(ElementUc.name);\n\t}\n\n\tasync updateElementContent(\n\t\tuserId: EntityId,\n\t\telementId: EntityId,\n\t\tcontent: AnyElementContentBody\n\t): Promise {\n\t\tconst element = await this.getElementWithWritePermission(userId, elementId);\n\n\t\tawait this.elementService.update(element, content);\n\t\treturn element;\n\t}\n\n\tasync deleteElement(userId: EntityId, elementId: EntityId): Promise {\n\t\tconst element = await this.getElementWithWritePermission(userId, elementId);\n\n\t\tawait this.elementService.delete(element);\n\t}\n\n\tprivate async getElementWithWritePermission(userId: EntityId, elementId: EntityId): Promise {\n\t\tconst element = await this.elementService.findById(elementId);\n\n\t\tconst parent: AnyBoardDo = await this.elementService.findParentOfId(elementId);\n\n\t\tif (isSubmissionItem(parent)) {\n\t\t\tawait this.checkSubmissionItemWritePermission(userId, parent);\n\t\t} else {\n\t\t\tawait this.checkPermission(userId, element, Action.write);\n\t\t}\n\n\t\treturn element;\n\t}\n\n\tasync createSubmissionItem(\n\t\tuserId: EntityId,\n\t\tcontentElementId: EntityId,\n\t\tcompleted: boolean\n\t): Promise {\n\t\tconst submissionContainerElement = await this.elementService.findById(contentElementId);\n\n\t\tif (!isSubmissionContainerElement(submissionContainerElement)) {\n\t\t\tthrow new UnprocessableEntityException('Cannot create submission-item for non submission-container-element');\n\t\t}\n\n\t\tif (!submissionContainerElement.children.every((child) => isSubmissionItem(child))) {\n\t\t\tthrow new UnprocessableEntityException(\n\t\t\t\t'Children of submission-container-element must be of type submission-item'\n\t\t\t);\n\t\t}\n\n\t\tconst userSubmissionExists = submissionContainerElement.children\n\t\t\t.filter(isSubmissionItem)\n\t\t\t.find((item) => item.userId === userId);\n\t\tif (userSubmissionExists) {\n\t\t\tthrow new ForbiddenException(\n\t\t\t\t'User is not allowed to have multiple submission-items per submission-container-element'\n\t\t\t);\n\t\t}\n\n\t\tawait this.checkPermission(userId, submissionContainerElement, Action.read, UserRoleEnum.STUDENT);\n\n\t\tconst submissionItem = await this.submissionItemService.create(userId, submissionContainerElement, { completed });\n\n\t\treturn submissionItem;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/EncryptionModule.html":{"url":"modules/EncryptionModule.html","title":"module - EncryptionModule","body":"\n \n\n\n\n\n Modules\n EncryptionModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_EncryptionModule\n\n\n\ncluster_EncryptionModule_imports\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nEncryptionModule\n\nEncryptionModule\n\nEncryptionModule -->\n\nLoggerModule->EncryptionModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/encryption/encryption.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n LoggerModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { LegacyLogger, LoggerModule } from '@src/core/logger';\nimport { DefaultEncryptionService, LdapEncryptionService } from './encryption.interface';\nimport { SymetricKeyEncryptionService } from './encryption.service';\n\nfunction encryptionProviderFactory(configService: ConfigService, logger: LegacyLogger, aesKey: string) {\n\tconst key = configService.get(aesKey);\n\treturn new SymetricKeyEncryptionService(logger, key);\n}\n\n@Module({\n\timports: [LoggerModule],\n\tproviders: [\n\t\t{\n\t\t\tprovide: DefaultEncryptionService,\n\t\t\tuseFactory: (configService: ConfigService, logger: LegacyLogger) =>\n\t\t\t\tencryptionProviderFactory(configService, logger, 'AES_KEY'),\n\t\t\tinject: [ConfigService, LegacyLogger],\n\t\t},\n\t\t{\n\t\t\tprovide: LdapEncryptionService,\n\t\t\tuseFactory: (configService: ConfigService, logger: LegacyLogger) =>\n\t\t\t\tencryptionProviderFactory(configService, logger, 'LDAP_PASSWORD_ENCRYPTION_KEY'),\n\t\t\tinject: [ConfigService, LegacyLogger],\n\t\t},\n\t],\n\texports: [DefaultEncryptionService, LdapEncryptionService],\n})\nexport class EncryptionModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/EncryptionService.html":{"url":"interfaces/EncryptionService.html","title":"interface - EncryptionService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n EncryptionService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/encryption/encryption.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n decrypt\n \n \n \n \n encrypt\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n decrypt\n \n \n \n \n \n \ndecrypt(data: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/encryption/encryption.interface.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n encrypt\n \n \n \n \n \n \nencrypt(data: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/encryption/encryption.interface.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n export const DefaultEncryptionService = Symbol('DefaultEncryptionService');\nexport const LdapEncryptionService = Symbol('LdapEncryptionService');\n\nexport interface EncryptionService {\n\tencrypt(data: string): string;\n\tdecrypt(data: string): string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/EntityNotFoundError.html":{"url":"classes/EntityNotFoundError.html","title":"class - EntityNotFoundError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n EntityNotFoundError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/error/entity-not-found.error.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(entityName: string, details?: Record)\n \n \n \n \n Defined in apps/server/src/shared/common/error/entity-not-found.error.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityName\n \n \n string\n \n \n \n No\n \n \n \n \n details\n \n \n Record\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { BusinessError } from './business.error';\n\nexport class EntityNotFoundError extends BusinessError {\n\tconstructor(readonly entityName: string, details?: Record) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'ENTITY_NOT_FOUND',\n\t\t\t\ttitle: 'Entity Not Found',\n\t\t\t\tdefaultMessage: `${entityName} entity not found.`,\n\t\t\t},\n\t\t\tHttpStatus.NOT_FOUND,\n\t\t\tdetails\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/EntityWithSchool.html":{"url":"interfaces/EntityWithSchool.html","title":"interface - EntityWithSchool","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n EntityWithSchool\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/interface/entity.ts\n \n\n\n\n \n Extends\n \n \n IEntity\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n school\n \n \n \n \n \n \n \n \n school: SchoolEntity\n\n \n \n\n\n \n \n Type : SchoolEntity\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { SchoolEntity } from '@shared/domain/entity/school.entity';\n\nexport interface IEntity {\n\t_id: ObjectId;\n\tid: string;\n}\n\nexport interface IEntityWithTimestamps extends IEntity {\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\nexport interface EntityWithSchool extends IEntity {\n\tschool: SchoolEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ErrorLoggable.html":{"url":"classes/ErrorLoggable.html","title":"class - ErrorLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ErrorLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/error/loggable/error.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n classValidatorMetadataStorage\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n createLogMessageForValidationErrors\n \n \n getLogMessage\n \n \n Private\n getPropertyValue\n \n \n Private\n isPropertyPrivacyProtected\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(error: Error)\n \n \n \n \n Defined in apps/server/src/core/error/loggable/error.loggable.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n \n Error\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n classValidatorMetadataStorage\n \n \n \n \n \n \n Default value : getMetadataStorage()\n \n \n \n \n Defined in apps/server/src/core/error/loggable/error.loggable.ts:11\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n createLogMessageForValidationErrors\n \n \n \n \n \n \n \n createLogMessageForValidationErrors(error: ApiValidationError)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/loggable/error.loggable.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n ApiValidationError\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : { validationErrors: any; type: string; }\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/core/error/loggable/error.loggable.ts:13\n \n \n\n\n \n \n\n \n Returns : ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n getPropertyValue\n \n \n \n \n \n \n \n getPropertyValue(e: ValidationError)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/loggable/error.loggable.ts:47\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n e\n \n ValidationError\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isPropertyPrivacyProtected\n \n \n \n \n \n \n \n isPropertyPrivacyProtected(target: Record, property: string)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/loggable/error.loggable.ts:56\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n target\n \n Record\n \n\n \n No\n \n\n\n \n \n property\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ApiValidationError } from '@shared/common';\nimport { getMetadataStorage } from 'class-validator';\nimport { ValidationError } from '@nestjs/common';\nimport { Loggable } from '../../logger/interfaces';\nimport { ErrorLogMessage, ValidationErrorLogMessage } from '../../logger/types';\nimport { ErrorUtils } from '../utils/error.utils';\n\nexport class ErrorLoggable implements Loggable {\n\tconstructor(private readonly error: Error) {}\n\n\tprivate readonly classValidatorMetadataStorage = getMetadataStorage();\n\n\tgetLogMessage(): ErrorLogMessage | ValidationErrorLogMessage {\n\t\tlet logMessage: ErrorLogMessage | ValidationErrorLogMessage = {\n\t\t\terror: this.error,\n\t\t\ttype: '',\n\t\t};\n\n\t\tif (this.error instanceof ApiValidationError) {\n\t\t\tlogMessage = this.createLogMessageForValidationErrors(this.error);\n\t\t} else if (ErrorUtils.isFeathersError(this.error)) {\n\t\t\tlogMessage.type = 'Feathers Error';\n\t\t} else if (ErrorUtils.isBusinessError(this.error)) {\n\t\t\tlogMessage.type = 'Business Error';\n\t\t} else if (ErrorUtils.isNestHttpException(this.error)) {\n\t\t\tlogMessage.type = 'Technical Error';\n\t\t} else {\n\t\t\tlogMessage.type = 'Unhandled or Unknown Error';\n\t\t}\n\n\t\treturn logMessage;\n\t}\n\n\tprivate createLogMessageForValidationErrors(error: ApiValidationError) {\n\t\tconst errorMessages = error.validationErrors.map((e) => {\n\t\t\tconst value = this.getPropertyValue(e);\n\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\tconst message = `Wrong property value for '${e.property}' got '${value}' : ${JSON.stringify(e.constraints)}`;\n\t\t\treturn message;\n\t\t});\n\t\treturn {\n\t\t\tvalidationErrors: errorMessages,\n\t\t\ttype: 'API Validation Error',\n\t\t};\n\t}\n\n\tprivate getPropertyValue(e: ValidationError): unknown {\n\t\t// we can only log a value if we can decide if it is privacy protected\n\t\t// that has to be done using the target metadata of class-validator (see @PrivacyProtect decorator)\n\t\tif (e.target && !this.isPropertyPrivacyProtected(e.target, e.property)) {\n\t\t\treturn e.value;\n\t\t}\n\t\treturn '######';\n\t}\n\n\tprivate isPropertyPrivacyProtected(target: Record, property: string): boolean {\n\t\tconst metadatas = this.classValidatorMetadataStorage.getTargetValidationMetadatas(\n\t\t\ttarget.constructor,\n\t\t\t'',\n\t\t\ttrue,\n\t\t\ttrue\n\t\t);\n\n\t\tconst privacyProtected = metadatas.some(\n\t\t\t(validationMetadata) =>\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\t\tvalidationMetadata.propertyName === property && validationMetadata.context?.privacyProtected\n\t\t);\n\n\t\treturn privacyProtected;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ErrorLogger.html":{"url":"injectables/ErrorLogger.html","title":"injectable - ErrorLogger","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ErrorLogger\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/logger/error-logger.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n alert\n \n \n crit\n \n \n emerg\n \n \n error\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: WinstonLogger)\n \n \n \n \n Defined in apps/server/src/core/logger/error-logger.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n WinstonLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n alert\n \n \n \n \n \n \nalert(loggable: Loggable)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/error-logger.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loggable\n \n Loggable\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n crit\n \n \n \n \n \n \ncrit(loggable: Loggable)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/error-logger.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loggable\n \n Loggable\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n emerg\n \n \n \n \n \n \nemerg(loggable: Loggable)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/error-logger.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loggable\n \n Loggable\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n error\n \n \n \n \n \n \nerror(loggable: Loggable)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/error-logger.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loggable\n \n Loggable\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Inject, Injectable } from '@nestjs/common';\nimport { WINSTON_MODULE_PROVIDER } from 'nest-winston';\nimport { Logger as WinstonLogger } from 'winston';\nimport { Loggable } from './interfaces';\nimport { LoggingUtils } from './logging.utils';\n\n// ErrorLogger may only be used in the ErrorModule. Do not use it in other modules!\n@Injectable()\nexport class ErrorLogger {\n\tconstructor(@Inject(WINSTON_MODULE_PROVIDER) private readonly logger: WinstonLogger) {}\n\n\temerg(loggable: Loggable): void {\n\t\tconst message = LoggingUtils.createMessageWithContext(loggable);\n\t\tthis.logger.emerg(message);\n\t}\n\n\talert(loggable: Loggable): void {\n\t\tconst message = LoggingUtils.createMessageWithContext(loggable);\n\t\tthis.logger.alert(message);\n\t}\n\n\tcrit(loggable: Loggable): void {\n\t\tconst message = LoggingUtils.createMessageWithContext(loggable);\n\t\tthis.logger.crit(message);\n\t}\n\n\terror(loggable: Loggable): void {\n\t\tconst message = LoggingUtils.createMessageWithContext(loggable);\n\t\tthis.logger.error(message);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ErrorMapper.html":{"url":"classes/ErrorMapper.html","title":"class - ErrorMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ErrorMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/rabbitmq/error.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapRpcErrorResponseToDomainError\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapRpcErrorResponseToDomainError\n \n \n \n \n \n \n \n mapRpcErrorResponseToDomainError(errorObj: IError)\n \n \n\n\n \n \n Defined in apps/server/src/infra/rabbitmq/error.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n errorObj\n \n IError\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BadRequestException | ForbiddenException | InternalServerErrorException\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { IError } from '@infra/rabbitmq';\nimport { BadRequestException, ForbiddenException, InternalServerErrorException } from '@nestjs/common';\nimport { ErrorUtils } from '@src/core/error/utils';\n\nexport class ErrorMapper {\n\tstatic mapRpcErrorResponseToDomainError(\n\t\terrorObj: IError\n\t): BadRequestException | ForbiddenException | InternalServerErrorException {\n\t\tlet error: BadRequestException | ForbiddenException | InternalServerErrorException;\n\t\tif (errorObj.status === 400) {\n\t\t\terror = new BadRequestException(errorObj.message);\n\t\t} else if (errorObj.status === 403) {\n\t\t\terror = new ForbiddenException(errorObj.message);\n\t\t} else if (errorObj.status === 500) {\n\t\t\terror = new InternalServerErrorException(errorObj.message);\n\t\t} else {\n\t\t\terror = new InternalServerErrorException(null, ErrorUtils.createHttpExceptionOptions(errorObj));\n\t\t}\n\n\t\treturn error;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ErrorModule.html":{"url":"modules/ErrorModule.html","title":"module - ErrorModule","body":"\n \n\n\n\n\n Modules\n ErrorModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ErrorModule\n\n\n\ncluster_ErrorModule_imports\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nErrorModule\n\nErrorModule\n\nErrorModule -->\n\nLoggerModule->ErrorModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/core/error/error.module.ts\n \n\n\n\n \n Description\n \n \n Overrides the default global Exception Filter of NestJS provided by @APP_FILTER\n\n \n\n\n \n \n \n Imports\n \n \n LoggerModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { APP_FILTER } from '@nestjs/core';\nimport { LoggerModule } from '../logger';\nimport { GlobalErrorFilter } from './filter/global-error.filter';\n\n/**\n * Overrides the default global Exception Filter of NestJS provided by @APP_FILTER\n */\n@Module({\n\timports: [LoggerModule],\n\tproviders: [\n\t\t{\n\t\t\tprovide: APP_FILTER,\n\t\t\tuseClass: GlobalErrorFilter,\n\t\t},\n\t],\n})\nexport class ErrorModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ErrorResponse.html":{"url":"classes/ErrorResponse.html","title":"class - ErrorResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ErrorResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/error/dto/error.response.ts\n \n\n\n \n Description\n \n \n HTTP response definition for errors.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Readonly\n code\n \n \n Readonly\n Optional\n details\n \n \n Readonly\n message\n \n \n Readonly\n title\n \n \n Readonly\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(type: string, title: string, message: string, code: number, details?: Record)\n \n \n \n \n Defined in apps/server/src/core/error/dto/error.response.ts:30\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n \n string\n \n \n \n No\n \n \n \n \n title\n \n \n string\n \n \n \n No\n \n \n \n \n message\n \n \n string\n \n \n \n No\n \n \n \n \n code\n \n \n number\n \n \n \n No\n \n \n \n \n details\n \n \n Record\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/core/error/dto/error.response.ts:25\n \n \n\n \n \n Must match HTTP error code\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Defined in apps/server/src/core/error/dto/error.response.ts:30\n \n \n\n \n \n Additional custom details about the error\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/core/error/dto/error.response.ts:20\n \n \n\n \n \n Additional custom information about the error\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/core/error/dto/error.response.ts:15\n \n \n\n \n \n Description about the type, unique by type, format: Sentence case\n\n \n \n\n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/core/error/dto/error.response.ts:10\n \n \n\n \n \n Unambiguous error identifier, format: UPPERCASE_SNAKE_CASE\n\n \n \n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\n\n/**\n * HTTP response definition for errors.\n */\nexport class ErrorResponse {\n\t/**\n\t * Unambiguous error identifier, format: UPPERCASE_SNAKE_CASE\n\t */\n\treadonly type: string;\n\n\t/**\n\t * Description about the type, unique by type, format: Sentence case\n\t */\n\treadonly title: string;\n\n\t/**\n\t * Additional custom information about the error\n\t */\n\treadonly message: string;\n\n\t/**\n\t * Must match HTTP error code\n\t */\n\treadonly code: number;\n\n\t/**\n\t * Additional custom details about the error\n\t */\n\treadonly details?: Record;\n\n\tconstructor(\n\t\ttype: string,\n\t\ttitle: string,\n\t\tmessage: string,\n\t\tcode: number = HttpStatus.CONFLICT,\n\t\tdetails?: Record\n\t) {\n\t\tthis.type = type;\n\t\tthis.title = title;\n\t\tthis.message = message;\n\t\tthis.code = code;\n\t\tthis.details = details;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ErrorType.html":{"url":"interfaces/ErrorType.html","title":"interface - ErrorType","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ErrorType\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/error/interface/error-type.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n defaultMessage\n \n \n \n \n title\n \n \n \n \n type\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n defaultMessage\n \n \n \n \n \n \n \n \n defaultMessage: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface ErrorType {\n\treadonly type: string;\n\treadonly title: string;\n\treadonly defaultMessage: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ErrorUtils.html":{"url":"classes/ErrorUtils.html","title":"class - ErrorUtils","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ErrorUtils\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/error/utils/error.utils.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n createHttpExceptionOptions\n \n \n Static\n isBusinessError\n \n \n Static\n isFeathersError\n \n \n Static\n isNestHttpException\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n createHttpExceptionOptions\n \n \n \n \n \n \n \n createHttpExceptionOptions(error, description?: string)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/utils/error.utils.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n \n\n \n No\n \n\n\n \n \n description\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : HttpExceptionOptions\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n isBusinessError\n \n \n \n \n \n \n \n isBusinessError(error)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/utils/error.utils.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n error\n\n \n No\n \n\n\n \n \n \n \n \n Returns : BusinessError\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n isFeathersError\n \n \n \n \n \n \n \n isFeathersError(error)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/utils/error.utils.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n error\n\n \n No\n \n\n\n \n \n \n \n \n Returns : FeathersError\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n isNestHttpException\n \n \n \n \n \n \n \n isNestHttpException(error)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/utils/error.utils.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n error\n\n \n No\n \n\n\n \n \n \n \n \n Returns : HttpException\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpException, HttpExceptionOptions } from '@nestjs/common';\nimport { BusinessError } from '@shared/common';\nimport { FeathersError } from '../interface';\n\nexport class ErrorUtils {\n\tstatic isFeathersError(error: unknown): error is FeathersError {\n\t\tlet isFeathersError = false;\n\n\t\tif (error instanceof Error && 'type' in error) {\n\t\t\tisFeathersError = (error as FeathersError)?.type === 'FeathersError';\n\t\t}\n\n\t\treturn isFeathersError;\n\t}\n\n\tstatic isBusinessError(error: unknown): error is BusinessError {\n\t\treturn error instanceof BusinessError;\n\t}\n\n\tstatic isNestHttpException(error: unknown): error is HttpException {\n\t\treturn error instanceof HttpException;\n\t}\n\n\tstatic createHttpExceptionOptions(error: unknown, description?: string): HttpExceptionOptions {\n\t\tlet causeError: Error | undefined;\n\n\t\tif (error instanceof Error) {\n\t\t\tcauseError = error;\n\t\t} else {\n\t\t\tcauseError = error ? new Error(JSON.stringify(error)) : undefined;\n\t\t}\n\n\t\treturn { cause: causeError, description };\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/EtherpadService.html":{"url":"injectables/EtherpadService.html","title":"injectable - EtherpadService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n EtherpadService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/lesson/service/etherpad.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createEtherpad\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(feathersServiceProvider: FeathersServiceProvider, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/lesson/service/etherpad.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n feathersServiceProvider\n \n \n FeathersServiceProvider\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createEtherpad\n \n \n \n \n \n \n \n createEtherpad(userId: EntityId, courseId: string, title: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/service/etherpad.service.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n courseId\n \n string\n \n\n \n No\n \n\n\n \n \n title\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { FeathersServiceProvider } from '@infra/feathers';\nimport { LegacyLogger } from '@src/core/logger';\n\nexport type PadResponse = { data: { padID: string } };\n\n@Injectable()\nexport class EtherpadService {\n\tconstructor(private readonly feathersServiceProvider: FeathersServiceProvider, private logger: LegacyLogger) {}\n\n\tasync createEtherpad(userId: EntityId, courseId: string, title: string): Promise {\n\t\tconst data = {\n\t\t\tcourseId,\n\t\t\tpadName: title,\n\t\t};\n\t\ttry {\n\t\t\tconst service = this.feathersServiceProvider.getService('/etherpad/pads');\n\t\t\tconst pad = (await service.create(data, { account: { userId } })) as PadResponse;\n\t\t\treturn pad.data.padID;\n\t\t} catch (error) {\n\t\t\tthis.logger.error('Could not create new Etherpad', error);\n\t\t\treturn false;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalGroupDto.html":{"url":"classes/ExternalGroupDto.html","title":"class - ExternalGroupDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalGroupDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/dto/external-group.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n externalId\n \n \n Optional\n from\n \n \n name\n \n \n Optional\n otherUsers\n \n \n type\n \n \n Optional\n until\n \n \n user\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalGroupDto)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-group.dto.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalGroupDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-group.dto.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n from\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-group.dto.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-group.dto.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n otherUsers\n \n \n \n \n \n \n Type : ExternalGroupUserDto[]\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-group.dto.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : GroupTypes\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-group.dto.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n until\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-group.dto.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n user\n \n \n \n \n \n \n Type : ExternalGroupUserDto\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-group.dto.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { GroupTypes } from '@modules/group';\nimport { ExternalGroupUserDto } from './external-group-user.dto';\n\nexport class ExternalGroupDto {\n\texternalId: string;\n\n\tname: string;\n\n\tuser: ExternalGroupUserDto;\n\n\totherUsers?: ExternalGroupUserDto[];\n\n\tfrom?: Date;\n\n\tuntil?: Date;\n\n\ttype: GroupTypes;\n\n\tconstructor(props: ExternalGroupDto) {\n\t\tthis.externalId = props.externalId;\n\t\tthis.name = props.name;\n\t\tthis.user = props.user;\n\t\tthis.otherUsers = props.otherUsers;\n\t\tthis.from = props.from;\n\t\tthis.until = props.until;\n\t\tthis.type = props.type;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalGroupUserDto.html":{"url":"classes/ExternalGroupUserDto.html","title":"class - ExternalGroupUserDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalGroupUserDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/dto/external-group-user.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n externalUserId\n \n \n roleName\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalGroupUserDto)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-group-user.dto.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalGroupUserDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n externalUserId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-group-user.dto.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n roleName\n \n \n \n \n \n \n Type : RoleName\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-group-user.dto.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { RoleName } from '@shared/domain/interface';\n\nexport class ExternalGroupUserDto {\n\texternalUserId: string;\n\n\troleName: RoleName;\n\n\tconstructor(props: ExternalGroupUserDto) {\n\t\tthis.externalUserId = props.externalUserId;\n\t\tthis.roleName = props.roleName;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalSchoolDto.html":{"url":"classes/ExternalSchoolDto.html","title":"class - ExternalSchoolDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalSchoolDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/dto/external-school.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n externalId\n \n \n Optional\n location\n \n \n name\n \n \n Optional\n officialSchoolNumber\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalSchoolDto)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-school.dto.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalSchoolDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-school.dto.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n location\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-school.dto.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-school.dto.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n officialSchoolNumber\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-school.dto.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class ExternalSchoolDto {\n\texternalId: string;\n\n\tname: string;\n\n\tofficialSchoolNumber?: string;\n\n\tlocation?: string;\n\n\tconstructor(props: ExternalSchoolDto) {\n\t\tthis.externalId = props.externalId;\n\t\tthis.name = props.name;\n\t\tthis.officialSchoolNumber = props.officialSchoolNumber;\n\t\tthis.location = props.location;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalSchoolNumberMissingLoggableException.html":{"url":"classes/ExternalSchoolNumberMissingLoggableException.html","title":"class - ExternalSchoolNumberMissingLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalSchoolNumberMissingLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/external-school-number-missing.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n UnprocessableEntityException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalSchoolId: string)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/external-school-number-missing.loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalSchoolId\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/external-school-number-missing.loggable-exception.ts:9\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UnprocessableEntityException } from '@nestjs/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class ExternalSchoolNumberMissingLoggableException extends UnprocessableEntityException implements Loggable {\n\tconstructor(private readonly externalSchoolId: string) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'EXTERNAL_SCHOOL_NUMBER_MISSING',\n\t\t\tmessage: 'The external system did not provide a official school number for the school.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\texternalSchoolId: this.externalSchoolId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalSource.html":{"url":"classes/ExternalSource.html","title":"class - ExternalSource","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalSource\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/external-source.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n externalId\n \n \n systemId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalSource)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/external-source.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalSource\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/external-source.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n systemId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/external-source.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class ExternalSource {\n\texternalId: string;\n\n\tsystemId: string;\n\n\tconstructor(props: ExternalSource) {\n\t\tthis.externalId = props.externalId;\n\t\tthis.systemId = props.systemId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalSourceEntity.html":{"url":"classes/ExternalSourceEntity.html","title":"class - ExternalSourceEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalSourceEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/external-source.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n externalId\n \n \n \n system\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalSourceEntityProps)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/external-source.entity.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalSourceEntityProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/external-source.entity.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n system\n \n \n \n \n \n \n Type : SystemEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined)\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/external-source.entity.ts:16\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, ManyToOne, Property } from '@mikro-orm/core';\nimport { SystemEntity } from './system.entity';\n\nexport interface ExternalSourceEntityProps {\n\texternalId: string;\n\n\tsystem: SystemEntity;\n}\n\n@Embeddable()\nexport class ExternalSourceEntity {\n\t@Property()\n\texternalId: string;\n\n\t@ManyToOne(() => SystemEntity)\n\tsystem: SystemEntity;\n\n\tconstructor(props: ExternalSourceEntityProps) {\n\t\tthis.externalId = props.externalId;\n\t\tthis.system = props.system;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ExternalSourceEntityProps.html":{"url":"interfaces/ExternalSourceEntityProps.html","title":"interface - ExternalSourceEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ExternalSourceEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/external-source.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n externalId\n \n \n \n \n system\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n externalId\n \n \n \n \n \n \n \n \n externalId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n system\n \n \n \n \n \n \n \n \n system: SystemEntity\n\n \n \n\n\n \n \n Type : SystemEntity\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Embeddable, ManyToOne, Property } from '@mikro-orm/core';\nimport { SystemEntity } from './system.entity';\n\nexport interface ExternalSourceEntityProps {\n\texternalId: string;\n\n\tsystem: SystemEntity;\n}\n\n@Embeddable()\nexport class ExternalSourceEntity {\n\t@Property()\n\texternalId: string;\n\n\t@ManyToOne(() => SystemEntity)\n\tsystem: SystemEntity;\n\n\tconstructor(props: ExternalSourceEntityProps) {\n\t\tthis.externalId = props.externalId;\n\t\tthis.system = props.system;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalSourceResponse.html":{"url":"classes/ExternalSourceResponse.html","title":"class - ExternalSourceResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalSourceResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/controller/dto/response/external-source.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n externalId\n \n \n \n systemId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalSourceResponse)\n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/external-source.response.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalSourceResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/external-source.response.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n \n systemId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/external-source.response.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class ExternalSourceResponse {\n\t@ApiProperty()\n\texternalId: string;\n\n\t@ApiProperty()\n\tsystemId: string;\n\n\tconstructor(props: ExternalSourceResponse) {\n\t\tthis.externalId = props.externalId;\n\t\tthis.systemId = props.systemId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalTool.html":{"url":"classes/ExternalTool.html","title":"class - ExternalTool","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalTool\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts\n \n\n\n\n \n Extends\n \n \n BaseDO\n \n\n \n Implements\n \n \n ToolVersion\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n config\n \n \n isHidden\n \n \n Optional\n logo\n \n \n Optional\n logoUrl\n \n \n name\n \n \n openNewTab\n \n \n Optional\n parameters\n \n \n Optional\n restrictToContexts\n \n \n Optional\n url\n \n \n version\n \n \n Optional\n id\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getVersion\n \n \n Static\n isBasicConfig\n \n \n Static\n isLti11Config\n \n \n Static\n isOauth2Config\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalToolProps)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:51\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalToolProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n config\n \n \n \n \n \n \n Type : BasicToolConfig | Lti11ToolConfig | Oauth2ToolConfig\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n isHidden\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:45\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n logo\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n openNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:47\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n parameters\n \n \n \n \n \n \n Type : CustomParameter[]\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n restrictToContexts\n \n \n \n \n \n \n Type : ToolContextType[]\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:51\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n version\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from BaseDO\n\n \n \n \n \n Defined in BaseDO:5\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getVersion\n \n \n \n \n \n \ngetVersion()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:76\n \n \n\n\n \n \n\n \n Returns : number\n\n \n \n \n \n \n \n \n \n \n \n \n Static\n isBasicConfig\n \n \n \n \n \n \n \n isBasicConfig(config: ExternalToolConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:80\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n ExternalToolConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BasicToolConfig\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n isLti11Config\n \n \n \n \n \n \n \n isLti11Config(config: ExternalToolConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:88\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n ExternalToolConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Lti11ToolConfig\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n isOauth2Config\n \n \n \n \n \n \n \n isOauth2Config(config: ExternalToolConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n ExternalToolConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Oauth2ToolConfig\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BaseDO } from '@shared/domain/domainobject/base.do';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { ToolVersion } from '../../common/interface';\nimport { Oauth2ToolConfig, BasicToolConfig, Lti11ToolConfig, ExternalToolConfig } from './config';\nimport { CustomParameter } from '../../common/domain';\nimport { ToolConfigType, ToolContextType } from '../../common/enum';\n\nexport interface ExternalToolProps {\n\tid?: string;\n\n\tname: string;\n\n\turl?: string;\n\n\tlogoUrl?: string;\n\n\tlogo?: string;\n\n\tconfig: BasicToolConfig | Lti11ToolConfig | Oauth2ToolConfig;\n\n\tparameters?: CustomParameter[];\n\n\tisHidden: boolean;\n\n\topenNewTab: boolean;\n\n\tversion: number;\n\n\trestrictToContexts?: ToolContextType[];\n}\n\nexport class ExternalTool extends BaseDO implements ToolVersion {\n\tname: string;\n\n\turl?: string;\n\n\tlogoUrl?: string;\n\n\tlogo?: string;\n\n\tconfig: BasicToolConfig | Lti11ToolConfig | Oauth2ToolConfig;\n\n\tparameters?: CustomParameter[];\n\n\tisHidden: boolean;\n\n\topenNewTab: boolean;\n\n\tversion: number;\n\n\trestrictToContexts?: ToolContextType[];\n\n\tconstructor(props: ExternalToolProps) {\n\t\tsuper(props.id);\n\n\t\tthis.name = props.name;\n\t\tthis.url = props.url;\n\t\tthis.logoUrl = props.logoUrl;\n\t\tthis.logo = props.logo;\n\t\tif (ExternalTool.isBasicConfig(props.config)) {\n\t\t\tthis.config = new BasicToolConfig(props.config);\n\t\t} else if (ExternalTool.isOauth2Config(props.config)) {\n\t\t\tthis.config = new Oauth2ToolConfig(props.config);\n\t\t} else if (ExternalTool.isLti11Config(props.config)) {\n\t\t\tthis.config = new Lti11ToolConfig(props.config);\n\t\t} else {\n\t\t\tthrow new InternalServerErrorException(`Unknown tool config`);\n\t\t}\n\t\tthis.parameters = props.parameters;\n\t\tthis.isHidden = props.isHidden;\n\t\tthis.openNewTab = props.openNewTab;\n\t\tthis.version = props.version;\n\t\tthis.restrictToContexts = props.restrictToContexts;\n\t}\n\n\tgetVersion(): number {\n\t\treturn this.version;\n\t}\n\n\tstatic isBasicConfig(config: ExternalToolConfig): config is BasicToolConfig {\n\t\treturn ToolConfigType.BASIC === config.type;\n\t}\n\n\tstatic isOauth2Config(config: ExternalToolConfig): config is Oauth2ToolConfig {\n\t\treturn ToolConfigType.OAUTH2 === config.type;\n\t}\n\n\tstatic isLti11Config(config: ExternalToolConfig): config is Lti11ToolConfig {\n\t\treturn ToolConfigType.LTI11 === config.type;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolConfig.html":{"url":"classes/ExternalToolConfig.html","title":"class - ExternalToolConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/domain/config/external-tool-config.do.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n baseUrl\n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalToolConfig)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/external-tool-config.do.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalToolConfig\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/external-tool-config.do.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/external-tool-config.do.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ToolConfigType } from '../../../common/enum';\n\nexport abstract class ExternalToolConfig {\n\ttype: ToolConfigType;\n\n\tbaseUrl: string;\n\n\tconstructor(props: ExternalToolConfig) {\n\t\tthis.type = props.type;\n\t\tthis.baseUrl = props.baseUrl;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolConfigCreateParams.html":{"url":"classes/ExternalToolConfigCreateParams.html","title":"class - ExternalToolConfigCreateParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolConfigCreateParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/config/external-tool-config.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Abstract\n baseUrl\n \n \n Abstract\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Abstract\n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/external-tool-config.params.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n Abstract\n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/external-tool-config.params.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ToolConfigType } from '../../../../../common/enum';\n\nexport abstract class ExternalToolConfigCreateParams {\n\tabstract type: ToolConfigType;\n\n\tabstract baseUrl: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolConfigEntity.html":{"url":"classes/ExternalToolConfigEntity.html","title":"class - ExternalToolConfigEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolConfigEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/entity/config/external-tool-config.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n baseUrl\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalToolConfigEntity)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/external-tool-config.entity.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalToolConfigEntity\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/external-tool-config.entity.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/external-tool-config.entity.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Enum, Property } from '@mikro-orm/core';\nimport { ToolConfigType } from '../../../common/enum';\n\n@Embeddable({ abstract: true, discriminatorColumn: 'type' })\nexport abstract class ExternalToolConfigEntity {\n\t@Enum()\n\ttype: ToolConfigType;\n\n\t@Property()\n\tbaseUrl: string;\n\n\tconstructor(props: ExternalToolConfigEntity) {\n\t\tthis.type = props.type;\n\t\tthis.baseUrl = props.baseUrl;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolConfigResponse.html":{"url":"classes/ExternalToolConfigResponse.html","title":"class - ExternalToolConfigResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolConfigResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/config/external-tool-config.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Abstract\n baseUrl\n \n \n Abstract\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Abstract\n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/external-tool-config.response.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n Abstract\n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/external-tool-config.response.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ToolConfigType } from '../../../../../common/enum';\n\nexport abstract class ExternalToolConfigResponse {\n\tabstract type: ToolConfigType;\n\n\tabstract baseUrl: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolConfigurationService.html":{"url":"injectables/ExternalToolConfigurationService.html","title":"injectable - ExternalToolConfigurationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolConfigurationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/service/external-tool-configuration.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n filterForAvailableExternalTools\n \n \n Public\n filterForAvailableSchoolExternalTools\n \n \n Public\n filterForAvailableTools\n \n \n Public\n filterForContextRestrictions\n \n \n Public\n filterParametersForScope\n \n \n Public\n getToolContextTypes\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(toolFeatures: IToolFeatures, commonToolService: CommonToolService)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-configuration.service.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolFeatures\n \n \n IToolFeatures\n \n \n \n No\n \n \n \n \n commonToolService\n \n \n CommonToolService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n filterForAvailableExternalTools\n \n \n \n \n \n \n \n filterForAvailableExternalTools(externalTools: ExternalTool[], availableSchoolExternalTools: SchoolExternalTool[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-configuration.service.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTools\n \n ExternalTool[]\n \n\n \n No\n \n\n\n \n \n availableSchoolExternalTools\n \n SchoolExternalTool[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolTemplateInfo[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n filterForAvailableSchoolExternalTools\n \n \n \n \n \n \n \n filterForAvailableSchoolExternalTools(schoolExternalTools: SchoolExternalTool[], contextExternalToolsInUse: ContextExternalTool[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-configuration.service.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalTools\n \n SchoolExternalTool[]\n \n\n \n No\n \n\n\n \n \n contextExternalToolsInUse\n \n ContextExternalTool[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolExternalTool[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n filterForAvailableTools\n \n \n \n \n \n \n \n filterForAvailableTools(externalTools: Page, toolIdsInUse: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-configuration.service.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTools\n \n Page\n \n\n \n No\n \n\n\n \n \n toolIdsInUse\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalTool[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n filterForContextRestrictions\n \n \n \n \n \n \n \n filterForContextRestrictions(availableTools: ContextExternalToolTemplateInfo[], contextType: ToolContextType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-configuration.service.ts:82\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n availableTools\n \n ContextExternalToolTemplateInfo[]\n \n\n \n No\n \n\n\n \n \n contextType\n \n ToolContextType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolTemplateInfo[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n filterParametersForScope\n \n \n \n \n \n \n \n filterParametersForScope(externalTool: ExternalTool, scope: CustomParameterScope)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-configuration.service.ts:92\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n scope\n \n CustomParameterScope\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getToolContextTypes\n \n \n \n \n \n \n \n getToolContextTypes()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-configuration.service.ts:100\n \n \n\n\n \n \n\n \n Returns : ToolContextType[]\n\n \n \n \n \n \n\n\n \n\n\n \n import { Inject, Injectable } from '@nestjs/common';\nimport { Page } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { CustomParameter } from '../../common/domain';\nimport { CustomParameterScope, ToolContextType } from '../../common/enum';\nimport { ContextExternalTool } from '../../context-external-tool/domain';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { IToolFeatures, ToolFeatures } from '../../tool-config';\nimport { ExternalTool } from '../domain';\nimport { ContextExternalToolTemplateInfo } from '../uc/dto';\nimport { CommonToolService } from '../../common/service';\n\n@Injectable()\nexport class ExternalToolConfigurationService {\n\tconstructor(\n\t\t@Inject(ToolFeatures) private readonly toolFeatures: IToolFeatures,\n\t\tprivate readonly commonToolService: CommonToolService\n\t) {}\n\n\tpublic filterForAvailableTools(externalTools: Page, toolIdsInUse: EntityId[]): ExternalTool[] {\n\t\tconst visibleTools: ExternalTool[] = externalTools.data.filter((tool: ExternalTool): boolean => !tool.isHidden);\n\n\t\tconst availableTools: ExternalTool[] = visibleTools.filter(\n\t\t\t(tool: ExternalTool): boolean => !!tool.id && !toolIdsInUse.includes(tool.id)\n\t\t);\n\t\treturn availableTools;\n\t}\n\n\tpublic filterForAvailableSchoolExternalTools(\n\t\tschoolExternalTools: SchoolExternalTool[],\n\t\tcontextExternalToolsInUse: ContextExternalTool[]\n\t): SchoolExternalTool[] {\n\t\tconst availableSchoolExternalTools: SchoolExternalTool[] = schoolExternalTools.filter(\n\t\t\t(schoolExternalTool: SchoolExternalTool): boolean => {\n\t\t\t\tif (this.toolFeatures.contextConfigurationEnabled) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tconst hasContextExternalTool: boolean = contextExternalToolsInUse.some(\n\t\t\t\t\t(contextExternalTool: ContextExternalTool) =>\n\t\t\t\t\t\tcontextExternalTool.schoolToolRef.schoolToolId === schoolExternalTool.id\n\t\t\t\t);\n\n\t\t\t\treturn !hasContextExternalTool;\n\t\t\t}\n\t\t);\n\n\t\treturn availableSchoolExternalTools;\n\t}\n\n\tpublic filterForAvailableExternalTools(\n\t\texternalTools: ExternalTool[],\n\t\tavailableSchoolExternalTools: SchoolExternalTool[]\n\t): ContextExternalToolTemplateInfo[] {\n\t\tconst toolsWithSchoolTool: (ContextExternalToolTemplateInfo | null)[] = availableSchoolExternalTools.map(\n\t\t\t(schoolExternalTool: SchoolExternalTool) => {\n\t\t\t\tconst externalTool: ExternalTool | undefined = externalTools.find(\n\t\t\t\t\t(tool: ExternalTool) => schoolExternalTool.toolId === tool.id\n\t\t\t\t);\n\n\t\t\t\tif (!externalTool) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\texternalTool,\n\t\t\t\t\tschoolExternalTool,\n\t\t\t\t};\n\t\t\t}\n\t\t);\n\n\t\tconst unusedTools: ContextExternalToolTemplateInfo[] = toolsWithSchoolTool.filter(\n\t\t\t(toolRef): toolRef is ContextExternalToolTemplateInfo => !!toolRef\n\t\t);\n\t\tconst availableTools: ContextExternalToolTemplateInfo[] = unusedTools.filter(\n\t\t\t(toolRef): toolRef is ContextExternalToolTemplateInfo => !toolRef.externalTool.isHidden\n\t\t);\n\n\t\treturn availableTools;\n\t}\n\n\tpublic filterForContextRestrictions(\n\t\tavailableTools: ContextExternalToolTemplateInfo[],\n\t\tcontextType: ToolContextType\n\t): ContextExternalToolTemplateInfo[] {\n\t\tconst availableToolsForContext: ContextExternalToolTemplateInfo[] = availableTools.filter(\n\t\t\t(availableTool) => !this.commonToolService.isContextRestricted(availableTool.externalTool, contextType)\n\t\t);\n\t\treturn availableToolsForContext;\n\t}\n\n\tpublic filterParametersForScope(externalTool: ExternalTool, scope: CustomParameterScope) {\n\t\tif (externalTool.parameters) {\n\t\t\texternalTool.parameters = externalTool.parameters.filter(\n\t\t\t\t(parameter: CustomParameter) => parameter.scope === scope\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic getToolContextTypes(): ToolContextType[] {\n\t\tconst toolContextTypes: ToolContextType[] = Object.values(ToolContextType);\n\n\t\treturn toolContextTypes;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolConfigurationUc.html":{"url":"injectables/ExternalToolConfigurationUc.html","title":"injectable - ExternalToolConfigurationUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolConfigurationUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/uc/external-tool-configuration.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n ensureContextPermissions\n \n \n Private\n Async\n ensureSchoolPermissions\n \n \n Public\n Async\n getAvailableToolsForContext\n \n \n Public\n Async\n getAvailableToolsForSchool\n \n \n Public\n Async\n getTemplateForContextExternalTool\n \n \n Public\n Async\n getTemplateForSchoolExternalTool\n \n \n Public\n Async\n getToolContextTypes\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolService: ExternalToolService, schoolExternalToolService: SchoolExternalToolService, contextExternalToolService: ContextExternalToolService, toolPermissionHelper: ToolPermissionHelper, externalToolConfigurationService: ExternalToolConfigurationService, externalToolLogoService: ExternalToolLogoService, authorizationService: AuthorizationService)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool-configuration.uc.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n schoolExternalToolService\n \n \n SchoolExternalToolService\n \n \n \n No\n \n \n \n \n contextExternalToolService\n \n \n ContextExternalToolService\n \n \n \n No\n \n \n \n \n toolPermissionHelper\n \n \n ToolPermissionHelper\n \n \n \n No\n \n \n \n \n externalToolConfigurationService\n \n \n ExternalToolConfigurationService\n \n \n \n No\n \n \n \n \n externalToolLogoService\n \n \n ExternalToolLogoService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n ensureContextPermissions\n \n \n \n \n \n \n \n ensureContextPermissions(userId: EntityId, tools: ContextExternalTool[], context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool-configuration.uc.ts:194\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n tools\n \n ContextExternalTool[]\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n ensureSchoolPermissions\n \n \n \n \n \n \n \n ensureSchoolPermissions(userId: EntityId, tools: SchoolExternalTool[], context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool-configuration.uc.ts:182\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n tools\n \n SchoolExternalTool[]\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getAvailableToolsForContext\n \n \n \n \n \n \n \n getAvailableToolsForContext(userId: EntityId, schoolId: EntityId, contextId: EntityId, contextType: ToolContextType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool-configuration.uc.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextType\n \n ToolContextType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getAvailableToolsForSchool\n \n \n \n \n \n \n \n getAvailableToolsForSchool(userId: EntityId, schoolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool-configuration.uc.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getTemplateForContextExternalTool\n \n \n \n \n \n \n \n getTemplateForContextExternalTool(userId: EntityId, contextExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool-configuration.uc.ts:153\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getTemplateForSchoolExternalTool\n \n \n \n \n \n \n \n getTemplateForSchoolExternalTool(userId: EntityId, schoolExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool-configuration.uc.ts:133\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getToolContextTypes\n \n \n \n \n \n \n \n getToolContextTypes(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool-configuration.uc.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContext, AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { Inject, Injectable, forwardRef } from '@nestjs/common';\nimport { NotFoundException } from '@nestjs/common/exceptions/not-found.exception';\nimport { Page } from '@shared/domain/domainobject/page';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { User } from '@shared/domain/entity';\nimport { CustomParameterScope, ToolContextType } from '../../common/enum';\nimport { ToolPermissionHelper } from '../../common/uc/tool-permission-helper';\nimport { ContextExternalTool } from '../../context-external-tool/domain';\nimport { ContextExternalToolService } from '../../context-external-tool/service';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { SchoolExternalToolService } from '../../school-external-tool/service';\nimport { ExternalTool } from '../domain';\nimport { ExternalToolConfigurationService, ExternalToolLogoService, ExternalToolService } from '../service';\nimport { ContextExternalToolTemplateInfo } from './dto';\n\n@Injectable()\nexport class ExternalToolConfigurationUc {\n\tconstructor(\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService,\n\t\t@Inject(forwardRef(() => ToolPermissionHelper))\n\t\tprivate readonly toolPermissionHelper: ToolPermissionHelper,\n\t\tprivate readonly externalToolConfigurationService: ExternalToolConfigurationService,\n\t\tprivate readonly externalToolLogoService: ExternalToolLogoService,\n\t\tprivate readonly authorizationService: AuthorizationService\n\t) {}\n\n\tpublic async getToolContextTypes(userId: EntityId): Promise {\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(userId);\n\t\tthis.authorizationService.checkAllPermissions(user, [Permission.TOOL_ADMIN]);\n\n\t\tconst toolContextTypes: ToolContextType[] = this.externalToolConfigurationService.getToolContextTypes();\n\n\t\treturn toolContextTypes;\n\t}\n\n\tpublic async getAvailableToolsForSchool(userId: EntityId, schoolId: EntityId): Promise {\n\t\tconst externalTools: Page = await this.externalToolService.findExternalTools({});\n\n\t\tconst schoolExternalToolsInUse: SchoolExternalTool[] = await this.schoolExternalToolService.findSchoolExternalTools(\n\t\t\t{\n\t\t\t\tschoolId,\n\t\t\t}\n\t\t);\n\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.SCHOOL_TOOL_ADMIN]);\n\n\t\tawait this.ensureSchoolPermissions(userId, schoolExternalToolsInUse, context);\n\n\t\tconst toolIdsInUse: EntityId[] = schoolExternalToolsInUse.map(\n\t\t\t(schoolExternalTool: SchoolExternalTool): EntityId => schoolExternalTool.toolId\n\t\t);\n\n\t\tconst availableTools: ExternalTool[] = this.externalToolConfigurationService.filterForAvailableTools(\n\t\t\texternalTools,\n\t\t\ttoolIdsInUse\n\t\t);\n\n\t\tavailableTools.forEach((externalTool) => {\n\t\t\tthis.externalToolConfigurationService.filterParametersForScope(externalTool, CustomParameterScope.SCHOOL);\n\t\t});\n\n\t\tavailableTools.forEach((externalTool) => {\n\t\t\texternalTool.logoUrl = this.externalToolLogoService.buildLogoUrl(\n\t\t\t\t'/v3/tools/external-tools/{id}/logo',\n\t\t\t\texternalTool\n\t\t\t);\n\t\t});\n\n\t\treturn availableTools;\n\t}\n\n\tpublic async getAvailableToolsForContext(\n\t\tuserId: EntityId,\n\t\tschoolId: EntityId,\n\t\tcontextId: EntityId,\n\t\tcontextType: ToolContextType\n\t): Promise {\n\t\tconst [externalTools, schoolExternalTools, contextExternalToolsInUse]: [\n\t\t\tPage,\n\t\t\tSchoolExternalTool[],\n\t\t\tContextExternalTool[]\n\t\t] = await Promise.all([\n\t\t\tthis.externalToolService.findExternalTools({}),\n\t\t\tthis.schoolExternalToolService.findSchoolExternalTools({\n\t\t\t\tschoolId,\n\t\t\t}),\n\t\t\tthis.contextExternalToolService.findContextExternalTools({\n\t\t\t\tcontext: { id: contextId, type: contextType },\n\t\t\t}),\n\t\t]);\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.CONTEXT_TOOL_ADMIN]);\n\n\t\tawait this.ensureContextPermissions(userId, contextExternalToolsInUse, context);\n\n\t\tconst availableSchoolExternalTools: SchoolExternalTool[] =\n\t\t\tthis.externalToolConfigurationService.filterForAvailableSchoolExternalTools(\n\t\t\t\tschoolExternalTools,\n\t\t\t\tcontextExternalToolsInUse\n\t\t\t);\n\n\t\tlet availableToolsForContext: ContextExternalToolTemplateInfo[] =\n\t\t\tthis.externalToolConfigurationService.filterForAvailableExternalTools(\n\t\t\t\texternalTools.data,\n\t\t\t\tavailableSchoolExternalTools\n\t\t\t);\n\n\t\tavailableToolsForContext = this.externalToolConfigurationService.filterForContextRestrictions(\n\t\t\tavailableToolsForContext,\n\t\t\tcontextType\n\t\t);\n\n\t\tavailableToolsForContext.forEach((toolTemplateInfo) => {\n\t\t\tthis.externalToolConfigurationService.filterParametersForScope(\n\t\t\t\ttoolTemplateInfo.externalTool,\n\t\t\t\tCustomParameterScope.CONTEXT\n\t\t\t);\n\t\t});\n\n\t\tavailableToolsForContext.forEach((toolTemplateInfo) => {\n\t\t\ttoolTemplateInfo.externalTool.logoUrl = this.externalToolLogoService.buildLogoUrl(\n\t\t\t\t'/v3/tools/external-tools/{id}/logo',\n\t\t\t\ttoolTemplateInfo.externalTool\n\t\t\t);\n\t\t});\n\n\t\treturn availableToolsForContext;\n\t}\n\n\tpublic async getTemplateForSchoolExternalTool(\n\t\tuserId: EntityId,\n\t\tschoolExternalToolId: EntityId\n\t): Promise {\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(schoolExternalToolId);\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.SCHOOL_TOOL_ADMIN]);\n\n\t\tawait this.toolPermissionHelper.ensureSchoolPermissions(userId, schoolExternalTool, context);\n\n\t\tconst externalTool: ExternalTool = await this.externalToolService.findById(schoolExternalTool.toolId);\n\n\t\tif (externalTool.isHidden) {\n\t\t\tthrow new NotFoundException('Could not find the Tool Template');\n\t\t}\n\n\t\tthis.externalToolConfigurationService.filterParametersForScope(externalTool, CustomParameterScope.SCHOOL);\n\n\t\treturn externalTool;\n\t}\n\n\tpublic async getTemplateForContextExternalTool(\n\t\tuserId: EntityId,\n\t\tcontextExternalToolId: EntityId\n\t): Promise {\n\t\tconst contextExternalTool: ContextExternalTool = await this.contextExternalToolService.findByIdOrFail(\n\t\t\tcontextExternalToolId\n\t\t);\n\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.CONTEXT_TOOL_ADMIN]);\n\t\tawait this.toolPermissionHelper.ensureContextPermissions(userId, contextExternalTool, context);\n\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(\n\t\t\tcontextExternalTool.schoolToolRef.schoolToolId\n\t\t);\n\n\t\tconst externalTool: ExternalTool = await this.externalToolService.findById(schoolExternalTool.toolId);\n\n\t\tif (externalTool.isHidden) {\n\t\t\tthrow new NotFoundException('Could not find the Tool Template');\n\t\t}\n\n\t\tthis.externalToolConfigurationService.filterParametersForScope(externalTool, CustomParameterScope.CONTEXT);\n\n\t\treturn {\n\t\t\texternalTool,\n\t\t\tschoolExternalTool,\n\t\t};\n\t}\n\n\tprivate async ensureSchoolPermissions(\n\t\tuserId: EntityId,\n\t\ttools: SchoolExternalTool[],\n\t\tcontext: AuthorizationContext\n\t): Promise {\n\t\tawait Promise.all(\n\t\t\ttools.map(async (tool: SchoolExternalTool) =>\n\t\t\t\tthis.toolPermissionHelper.ensureSchoolPermissions(userId, tool, context)\n\t\t\t)\n\t\t);\n\t}\n\n\tprivate async ensureContextPermissions(\n\t\tuserId: EntityId,\n\t\ttools: ContextExternalTool[],\n\t\tcontext: AuthorizationContext\n\t): Promise {\n\t\tawait Promise.all(\n\t\t\ttools.map(async (tool: ContextExternalTool) =>\n\t\t\t\tthis.toolPermissionHelper.ensureContextPermissions(userId, tool, context)\n\t\t\t)\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolContentBody.html":{"url":"classes/ExternalToolContentBody.html","title":"class - ExternalToolContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n contextExternalToolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n contextExternalToolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:122\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolCreateParams.html":{"url":"classes/ExternalToolCreateParams.html","title":"class - ExternalToolCreateParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolCreateParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-create.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n config\n \n \n \n \n isHidden\n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n name\n \n \n \n \n openNewTab\n \n \n \n \n \n \n \n Optional\n parameters\n \n \n \n \n \n \n Optional\n restrictToContexts\n \n \n \n \n \n Optional\n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n config\n \n \n \n \n \n \n Type : Lti11ToolConfigCreateParams | Oauth2ToolConfigCreateParams | BasicToolConfigParams\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()@Type(undefined, {keepDiscriminatorProperty: true, discriminator: undefined})@ApiProperty({oneOf: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-create.params.ts:48\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n isHidden\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-create.params.ts:59\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-create.params.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-create.params.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n openNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-create.params.ts:63\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n parameters\n \n \n \n \n \n \n Type : CustomParameterPostParams[]\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested({each: true})@IsArray()@IsOptional()@ApiPropertyOptional({type: undefined})@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-create.params.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n restrictToContexts\n \n \n \n \n \n \n Type : ToolContextType[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@IsOptional()@IsEnum(ToolContextType, {each: true})@ApiPropertyOptional({enum: ToolContextType, enumName: 'ToolContextType', isArray: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-create.params.ts:69\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-create.params.ts:22\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiExtraModels, ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { Type } from 'class-transformer';\nimport { IsArray, IsBoolean, IsEnum, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { ToolConfigType, ToolContextType } from '../../../../common/enum';\nimport {\n\tBasicToolConfigParams,\n\tExternalToolConfigCreateParams,\n\tLti11ToolConfigCreateParams,\n\tOauth2ToolConfigCreateParams,\n} from './config';\nimport { CustomParameterPostParams } from './custom-parameter.params';\n\n@ApiExtraModels(Lti11ToolConfigCreateParams, Oauth2ToolConfigCreateParams, BasicToolConfigParams)\nexport class ExternalToolCreateParams {\n\t@IsString()\n\t@ApiProperty()\n\tname!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\turl?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tlogoUrl?: string;\n\n\t@ValidateNested()\n\t@Type(/* istanbul ignore next */ () => ExternalToolConfigCreateParams, {\n\t\tkeepDiscriminatorProperty: true,\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: Lti11ToolConfigCreateParams, name: ToolConfigType.LTI11 },\n\t\t\t\t{ value: Oauth2ToolConfigCreateParams, name: ToolConfigType.OAUTH2 },\n\t\t\t\t{ value: BasicToolConfigParams, name: ToolConfigType.BASIC },\n\t\t\t],\n\t\t},\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(BasicToolConfigParams) },\n\t\t\t{ $ref: getSchemaPath(Lti11ToolConfigCreateParams) },\n\t\t\t{ $ref: getSchemaPath(Oauth2ToolConfigCreateParams) },\n\t\t],\n\t})\n\tconfig!: Lti11ToolConfigCreateParams | Oauth2ToolConfigCreateParams | BasicToolConfigParams;\n\n\t@ValidateNested({ each: true })\n\t@IsArray()\n\t@IsOptional()\n\t@ApiPropertyOptional({ type: [CustomParameterPostParams] })\n\t@Type(/* istanbul ignore next */ () => CustomParameterPostParams)\n\tparameters?: CustomParameterPostParams[];\n\n\t@IsBoolean()\n\t@ApiProperty()\n\tisHidden!: boolean;\n\n\t@IsBoolean()\n\t@ApiProperty()\n\topenNewTab!: boolean;\n\n\t@IsArray()\n\t@IsOptional()\n\t@IsEnum(ToolContextType, { each: true })\n\t@ApiPropertyOptional({ enum: ToolContextType, enumName: 'ToolContextType', isArray: true })\n\trestrictToContexts?: ToolContextType[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolElement.html":{"url":"classes/ExternalToolElement.html","title":"class - ExternalToolElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/external-tool-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardComposite\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n accept\n \n \n Async\n acceptAsync\n \n \n isAllowedAsChild\n \n \n addChild\n \n \n hasChild\n \n \n removeChild\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n contextExternalToolId\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n accept\n \n \n \n \n \n \naccept(visitor: BoardCompositeVisitor)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:17\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitor\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n acceptAsync\n \n \n \n \n \n \n \n acceptAsync(visitor: BoardCompositeVisitorAsync)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:21\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitorAsync\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isAllowedAsChild\n \n \n \n \n \n \nisAllowedAsChild()\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:13\n\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n addChild\n \n \n \n \n \n \naddChild(child: AnyBoardDo, position?: number)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n position\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasChild\n \n \n \n \n \n \nhasChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeChild\n \n \n \n \n \n \nremoveChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n contextExternalToolId\n \n \n\n \n \n getcontextExternalToolId()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/external-tool-element.do.ts:5\n \n \n\n \n \n setcontextExternalToolId(value: string | undefined)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/external-tool-element.do.ts:9\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n string | undefined\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class ExternalToolElement extends BoardComposite {\n\tget contextExternalToolId(): string | undefined {\n\t\treturn this.props.contextExternalToolId;\n\t}\n\n\tset contextExternalToolId(value: string | undefined) {\n\t\tthis.props.contextExternalToolId = value;\n\t}\n\n\tisAllowedAsChild(): boolean {\n\t\treturn false;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitExternalToolElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitExternalToolElementAsync(this);\n\t}\n}\n\nexport interface ExternalToolElementProps extends BoardCompositeProps {\n\tcontextExternalToolId?: string;\n}\n\nexport function isExternalToolElement(reference: unknown): reference is ExternalToolElement {\n\treturn reference instanceof ExternalToolElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolElementContent.html":{"url":"classes/ExternalToolElementContent.html","title":"class - ExternalToolElementContent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolElementContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/external-tool-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contextExternalToolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalToolElementContent)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/external-tool-element.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalToolElementContent\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextExternalToolId\n \n \n \n \n \n \n Type : string | null\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: String, required: true, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/external-tool-element.response.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class ExternalToolElementContent {\n\tconstructor(props: ExternalToolElementContent) {\n\t\tthis.contextExternalToolId = props.contextExternalToolId;\n\t}\n\n\t@ApiProperty({ type: String, required: true, nullable: true })\n\tcontextExternalToolId: string | null;\n}\n\nexport class ExternalToolElementResponse {\n\tconstructor(props: ExternalToolElementResponse) {\n\t\tthis.id = props.id;\n\t\tthis.type = props.type;\n\t\tthis.content = props.content;\n\t\tthis.timestamps = props.timestamps;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.EXTERNAL_TOOL;\n\n\t@ApiProperty()\n\tcontent: ExternalToolElementContent;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolElementContentBody.html":{"url":"classes/ExternalToolElementContentBody.html","title":"class - ExternalToolElementContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolElementContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n \n Extends\n \n \n ElementContentBody\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : ExternalToolContentBody\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:131\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.EXTERNAL_TOOL\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from ElementContentBody\n\n \n \n \n \n Defined in ElementContentBody:127\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/ExternalToolElementNodeEntity.html":{"url":"entities/ExternalToolElementNodeEntity.html","title":"entity - ExternalToolElementNodeEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n ExternalToolElementNodeEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/external-tool-element-node.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n contextExternalTool\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n contextExternalTool\n \n \n \n \n \n \n Type : ContextExternalToolEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/external-tool-element-node.entity.ts:10\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, ManyToOne } from '@mikro-orm/core';\nimport { AnyBoardDo } from '@shared/domain/domainobject';\nimport { ContextExternalToolEntity } from '@modules/tool/context-external-tool/entity/context-external-tool.entity';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.EXTERNAL_TOOL })\nexport class ExternalToolElementNodeEntity extends BoardNode {\n\t@ManyToOne({ nullable: true })\n\tcontextExternalTool?: ContextExternalToolEntity;\n\n\tconstructor(props: ExternalToolElementNodeEntityProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.EXTERNAL_TOOL;\n\t\tthis.contextExternalTool = props.contextExternalTool;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildExternalToolElement(this);\n\t\treturn domainObject;\n\t}\n}\n\nexport interface ExternalToolElementNodeEntityProps extends BoardNodeProps {\n\tcontextExternalTool?: ContextExternalToolEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ExternalToolElementNodeEntityProps.html":{"url":"interfaces/ExternalToolElementNodeEntityProps.html","title":"interface - ExternalToolElementNodeEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ExternalToolElementNodeEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/external-tool-element-node.entity.ts\n \n\n\n\n \n Extends\n \n \n BoardNodeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n contextExternalTool\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contextExternalTool\n \n \n \n \n \n \n \n \n contextExternalTool: ContextExternalToolEntity\n\n \n \n\n\n \n \n Type : ContextExternalToolEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Entity, ManyToOne } from '@mikro-orm/core';\nimport { AnyBoardDo } from '@shared/domain/domainobject';\nimport { ContextExternalToolEntity } from '@modules/tool/context-external-tool/entity/context-external-tool.entity';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.EXTERNAL_TOOL })\nexport class ExternalToolElementNodeEntity extends BoardNode {\n\t@ManyToOne({ nullable: true })\n\tcontextExternalTool?: ContextExternalToolEntity;\n\n\tconstructor(props: ExternalToolElementNodeEntityProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.EXTERNAL_TOOL;\n\t\tthis.contextExternalTool = props.contextExternalTool;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildExternalToolElement(this);\n\t\treturn domainObject;\n\t}\n}\n\nexport interface ExternalToolElementNodeEntityProps extends BoardNodeProps {\n\tcontextExternalTool?: ContextExternalToolEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ExternalToolElementProps.html":{"url":"interfaces/ExternalToolElementProps.html","title":"interface - ExternalToolElementProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ExternalToolElementProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/external-tool-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardCompositeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n contextExternalToolId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contextExternalToolId\n \n \n \n \n \n \n \n \n contextExternalToolId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class ExternalToolElement extends BoardComposite {\n\tget contextExternalToolId(): string | undefined {\n\t\treturn this.props.contextExternalToolId;\n\t}\n\n\tset contextExternalToolId(value: string | undefined) {\n\t\tthis.props.contextExternalToolId = value;\n\t}\n\n\tisAllowedAsChild(): boolean {\n\t\treturn false;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitExternalToolElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitExternalToolElementAsync(this);\n\t}\n}\n\nexport interface ExternalToolElementProps extends BoardCompositeProps {\n\tcontextExternalToolId?: string;\n}\n\nexport function isExternalToolElement(reference: unknown): reference is ExternalToolElement {\n\treturn reference instanceof ExternalToolElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolElementResponse.html":{"url":"classes/ExternalToolElementResponse.html","title":"class - ExternalToolElementResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolElementResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/external-tool-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n id\n \n \n \n timestamps\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalToolElementResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/external-tool-element.response.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalToolElementResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : ExternalToolElementContent\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/external-tool-element.response.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/external-tool-element.response.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n timestamps\n \n \n \n \n \n \n Type : TimestampsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/external-tool-element.response.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.EXTERNAL_TOOL\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ContentElementType, enumName: 'ContentElementType'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/external-tool-element.response.ts:26\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class ExternalToolElementContent {\n\tconstructor(props: ExternalToolElementContent) {\n\t\tthis.contextExternalToolId = props.contextExternalToolId;\n\t}\n\n\t@ApiProperty({ type: String, required: true, nullable: true })\n\tcontextExternalToolId: string | null;\n}\n\nexport class ExternalToolElementResponse {\n\tconstructor(props: ExternalToolElementResponse) {\n\t\tthis.id = props.id;\n\t\tthis.type = props.type;\n\t\tthis.content = props.content;\n\t\tthis.timestamps = props.timestamps;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.EXTERNAL_TOOL;\n\n\t@ApiProperty()\n\tcontent: ExternalToolElementContent;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolElementResponseMapper.html":{"url":"classes/ExternalToolElementResponseMapper.html","title":"class - ExternalToolElementResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolElementResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/external-tool-element-response.mapper.ts\n \n\n\n\n\n \n Implements\n \n \n BaseResponseMapper\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n canMap\n \n \n Static\n getInstance\n \n \n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n \n \n Type : ExternalToolElementResponseMapper\n\n \n \n \n \n Defined in apps/server/src/modules/board/controller/mapper/external-tool-element-response.mapper.ts:6\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n canMap\n \n \n \n \n \n \ncanMap(element: ExternalToolElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/external-tool-element-response.mapper.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n ExternalToolElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n getInstance\n \n \n \n \n \n \n \n getInstance()\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/external-tool-element-response.mapper.ts:8\n \n \n\n\n \n \n\n \n Returns : ExternalToolElementResponseMapper\n\n \n \n \n \n \n \n \n \n \n \n \n mapToResponse\n \n \n \n \n \n \nmapToResponse(element: ExternalToolElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/external-tool-element-response.mapper.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n ExternalToolElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalToolElementResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ContentElementType, ExternalToolElement } from '@shared/domain/domainobject';\nimport { ExternalToolElementContent, ExternalToolElementResponse, TimestampsResponse } from '../dto';\nimport { BaseResponseMapper } from './base-mapper.interface';\n\nexport class ExternalToolElementResponseMapper implements BaseResponseMapper {\n\tprivate static instance: ExternalToolElementResponseMapper;\n\n\tpublic static getInstance(): ExternalToolElementResponseMapper {\n\t\tif (!ExternalToolElementResponseMapper.instance) {\n\t\t\tExternalToolElementResponseMapper.instance = new ExternalToolElementResponseMapper();\n\t\t}\n\n\t\treturn ExternalToolElementResponseMapper.instance;\n\t}\n\n\tmapToResponse(element: ExternalToolElement): ExternalToolElementResponse {\n\t\tconst result = new ExternalToolElementResponse({\n\t\t\tid: element.id,\n\t\t\ttimestamps: new TimestampsResponse({ lastUpdatedAt: element.updatedAt, createdAt: element.createdAt }),\n\t\t\ttype: ContentElementType.EXTERNAL_TOOL,\n\t\t\tcontent: new ExternalToolElementContent({ contextExternalToolId: element.contextExternalToolId ?? null }),\n\t\t});\n\n\t\treturn result;\n\t}\n\n\tcanMap(element: ExternalToolElement): boolean {\n\t\treturn element instanceof ExternalToolElement;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/ExternalToolEntity.html":{"url":"entities/ExternalToolEntity.html","title":"entity - ExternalToolEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n ExternalToolEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n config\n \n \n \n isHidden\n \n \n \n Optional\n logoBase64\n \n \n \n Optional\n logoUrl\n \n \n \n \n name\n \n \n \n openNewTab\n \n \n \n Optional\n parameters\n \n \n \n Optional\n restrictToContexts\n \n \n \n Optional\n url\n \n \n \n version\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n config\n \n \n \n \n \n \n Type : BasicToolConfigEntity | Oauth2ToolConfigEntity | Lti11ToolConfigEntity\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n isHidden\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n logoBase64\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Unique()@Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n openNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n parameters\n \n \n \n \n \n \n Type : CustomParameterEntity[]\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {array: true, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n restrictToContexts\n \n \n \n \n \n \n Type : ToolContextType[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n version\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/external-tool.entity.ts:38\n \n \n\n\n \n \n\n \n\n\n \n import { Embedded, Entity, Property, Unique } from '@mikro-orm/core';\n\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { CustomParameterEntity } from './custom-parameter';\nimport { BasicToolConfigEntity, Lti11ToolConfigEntity, Oauth2ToolConfigEntity } from './config';\nimport { ToolContextType } from '../../common/enum';\n\nexport type IExternalToolProperties = Readonly>;\n\n@Entity({ tableName: 'external-tools' })\nexport class ExternalToolEntity extends BaseEntityWithTimestamps {\n\t@Unique()\n\t@Property()\n\tname: string;\n\n\t@Property({ nullable: true })\n\turl?: string;\n\n\t@Property({ nullable: true })\n\tlogoUrl?: string;\n\n\t@Property({ nullable: true })\n\tlogoBase64?: string;\n\n\t@Embedded(() => [BasicToolConfigEntity, Oauth2ToolConfigEntity, Lti11ToolConfigEntity])\n\tconfig: BasicToolConfigEntity | Oauth2ToolConfigEntity | Lti11ToolConfigEntity;\n\n\t@Embedded(() => CustomParameterEntity, { array: true, nullable: true })\n\tparameters?: CustomParameterEntity[];\n\n\t@Property()\n\tisHidden: boolean;\n\n\t@Property()\n\topenNewTab: boolean;\n\n\t@Property()\n\tversion: number;\n\n\t@Property({ nullable: true })\n\trestrictToContexts?: ToolContextType[];\n\n\tconstructor(props: IExternalToolProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.url = props.url;\n\t\tthis.logoUrl = props.logoUrl;\n\t\tthis.logoBase64 = props.logoBase64;\n\t\tthis.config = props.config;\n\t\tthis.parameters = props.parameters;\n\t\tthis.isHidden = props.isHidden;\n\t\tthis.openNewTab = props.openNewTab;\n\t\tthis.version = props.version;\n\t\tthis.restrictToContexts = props.restrictToContexts;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolEntityFactory.html":{"url":"classes/ExternalToolEntityFactory.html","title":"class - ExternalToolEntityFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolEntityFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/external-tool-entity.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withBase64Logo\n \n \n withBasicConfig\n \n \n withLti11Config\n \n \n withName\n \n \n withOauth2Config\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withBase64Logo\n \n \n \n \n \n \nwithBase64Logo()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/external-tool-entity.factory.ts:66\n \n \n\n\n \n \n \n \n \n \n \n \n withBasicConfig\n \n \n \n \n \n \nwithBasicConfig()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/external-tool-entity.factory.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n withLti11Config\n \n \n \n \n \n \nwithLti11Config()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/external-tool-entity.factory.ts:50\n \n \n\n\n \n \n \n \n \n \n \n \n withName\n \n \n \n \n \n \nwithName(name: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/external-tool-entity.factory.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withOauth2Config\n \n \n \n \n \n \nwithOauth2Config(clientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/external-tool-entity.factory.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n clientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import {\n\tCustomParameterLocation,\n\tCustomParameterScope,\n\tCustomParameterType,\n\tLtiMessageType,\n\tLtiPrivacyPermission,\n\tToolConfigType,\n} from '@modules/tool/common/enum';\nimport {\n\tBasicToolConfigEntity,\n\tCustomParameterEntity,\n\tExternalToolEntity,\n\tIExternalToolProperties,\n\tLti11ToolConfigEntity,\n\tOauth2ToolConfigEntity,\n} from '@modules/tool/external-tool/entity';\nimport { DeepPartial } from 'fishery';\nimport { BaseFactory } from './base.factory';\n\nexport class ExternalToolEntityFactory extends BaseFactory {\n\twithName(name: string): this {\n\t\tconst params: DeepPartial = {\n\t\t\tname,\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithBasicConfig(): this {\n\t\tconst params: DeepPartial = {\n\t\t\tconfig: new BasicToolConfigEntity({\n\t\t\t\ttype: ToolConfigType.BASIC,\n\t\t\t\tbaseUrl: 'mockBaseUrl',\n\t\t\t}),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithOauth2Config(clientId: string): this {\n\t\tconst params: DeepPartial = {\n\t\t\tconfig: new Oauth2ToolConfigEntity({\n\t\t\t\ttype: ToolConfigType.OAUTH2,\n\t\t\t\tbaseUrl: 'mockBaseUrl',\n\t\t\t\tclientId,\n\t\t\t\tskipConsent: false,\n\t\t\t}),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithLti11Config(): this {\n\t\tconst params: DeepPartial = {\n\t\t\tconfig: new Lti11ToolConfigEntity({\n\t\t\t\ttype: ToolConfigType.BASIC,\n\t\t\t\tbaseUrl: 'mockBaseUrl',\n\t\t\t\tkey: 'key',\n\t\t\t\tlti_message_type: LtiMessageType.BASIC_LTI_LAUNCH_REQUEST,\n\t\t\t\tresource_link_id: 'resource_link_id',\n\t\t\t\tsecret: 'secret',\n\t\t\t\tprivacy_permission: LtiPrivacyPermission.ANONYMOUS,\n\t\t\t\tlaunch_presentation_locale: 'de-DE',\n\t\t\t}),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithBase64Logo(): this {\n\t\tconst params: DeepPartial = {\n\t\t\tlogoBase64:\n\t\t\t\t'iVBORw0KGgoAAAANSUhEUgAAAfQAAADICAYAAAAeGRPoAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjQ2MUQ2Q0Y5RTQxMTExRTdBMTg3QkQ2MDVGMUFEMUIwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjQ2MUQ2Q0ZBRTQxMTExRTdBMTg3QkQ2MDVGMUFEMUIwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NDYxRDZDRjdFNDExMTFFN0ExODdCRDYwNUYxQUQxQjAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NDYxRDZDRjhFNDExMTFFN0ExODdCRDYwNUYxQUQxQjAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz45EjsrAAALfUlEQVR42uzdgXWjOAIGYHLvGsiV4CnBU4JTgqeEpIS4hKSEpIS4BLsEu4RJCeMScmhGzPplkyCMAGO+7z3ezs3tYsuS+BEIcfX29lYAAOP2Hz8BAAh0AECgAwACHQAQ6AAg0AEAgQ4ACHQAQKADgEAHAAQ6ACDQAQCBDgACHQAQ6ACAQAcABDoACHQAQKADAAIdABDoACDQAQCBDgAIdABAoAOAQAcABDoAINABAIEOAAIdABDoAIBABwAEOgAIdABAoAMAAh0AEOgAINABAIEOAAh0AECgA4BABwAEOgAg0AEAgQ4ACHQAEOgAgEAHAAQ6ACDQAUCgAwACHQAQ6ACAQAcAgQ4ACHQAQKADAAIdAAQ6ACDQAQCBDgAIdAAQ6ACAQAcABDoAINABQKADAAIdABDoAIBABwCBDgAIdABAoAMAAh0ABDoAINABgN79109AbldXV9flPxblNov/DOblFv7+UG77+HfVn39vb29vB78emdpg1fauP2iDwWvcgm3883aMbbAs6/yorPP414ujf+W4z+2r/12WdasOL6zdl4Ufa4fdvGu0gyp/x6sTyjD0jx8a/03GOgn1cVtuyxN3EQ4267CV3+t16u2jhz701lfb6DEAlnGbt2yDz+ccDDHEq7LOTtzNIZY11PVaHV6AEOhj3ErhgP12LtuJZRj6e28y1cW8g/p4CgeqKbePHvpQ522jp3LMYnvJWWe/2rbBjsq66Kht/wwn4+pw3Jt76LQ9o76NB5jco+Gw35/l/p/iJXx43/auy+2+CqPMu7+O+9zFzziHsj511Nf+Bmr5GT/jlTZ1OEICnbZh/lT8c0+rC1WwL/3ivLvkvCu3h44/KrTth/LzdvFy8BBlXXQUeJ8F+6b8zIeuT6SnVIcCnXM/oC5jmPchdMiXqZxlk3QiuStOv3d8inkc6c0HKOum45Pmj9zHYJ+pQ4HOZR9Qr08I8zBRZRu3U4RJcs9+fWHe44nkRyeWu/gd+ijr04BlrRzU4Xh4bI1T3CaMGMKB4LH4M4N2/0Gnrh5JqWbr1u3vzmNtwrxhEFSzuEP7ez1+TCu2v9lR+2syagv3mvcfteuMZb0vml1ifz0q6/74KZF3Za3Km/Lb/cjd56ZUh4OYyuy/1NnPZhknfe9fNd/9JQR0g/1Vk1d+frK/hym2D+3vX7O7G83YbtgGm86yDn1g1lFZlw3Lumy4/9Df7mv68VwdjrBPC3SBnrlT7lru//2BZtekUwv0y2t/MYB+JR6kH9q0lzjK2yV+1q6jx7dSy3qf4Xe9/2C/t+rQY2tMQ91lrceWV4zCf/8tXmZzqZ2iSH+SIrSVVZv2Ei/BhgV1UuZrzDuYqJlS1upyeNu+doj7+F78s+LaY/l3z+pwnAQ6WQM9x4pT8UDzI3TKi7vHRdN7rovEe753uYIotr+7xEC4zzUTPD45kvIM+E3Old1iH/sew3ylDgU609Hb4zPnvtY0vUgZPd11MaqMgbBP6A+5RngPiWXdd1DWQxdhPsE6FOhc1IjKqm7kHNnVjVjXHV0iroQrRXWXf2/btvtY1tnAZVWHAp2JqesYVnQjl5S2tOryC8THv1LuVbd9rvk2od+t1OFZ16FAZ3TqLl89XPJKTPQ2srtOCIPHtm/lSwyEEAZ1n7PsuKzPfZRVHQp0pqWuU4ROvLnUlZjoTfUe7C9DrsfvU/dZ8xYTq5YZPl8dDluHAp1RSpmo9ntp2Pjmpnv31TlB3VWefc8j1nWG7/yZ2ZmVVR0KdKYgPh+aelYdDlRh5u6vMtQ3MdxdjidHGKx7bvchePYJ7X30ZVWHAp38FmX4vXWwbTJ8t3A/qunCD4sY7uHFCCHgX2LAz1Q1n7SXL0d3A3ynbcvvPKayqsMR8nIWTjrTLYM4zEw99Y1J1WSZsIVJdNWLJdYWkiHREJegD2Mqa3ineZHpEnLZL2/UoUDnckP9uTxgFEWe1yCGUXpY2CGM2EOgP4/teVvySbktM9A95bqTzcUJZV10WNb5UCPOKdXhOXHJnVahXqQt2tD0IFRNqPNM+zSZRKkOEegMEOrhUnl4mcoqc7CHUXu4z/5kljyAQKefUD8cvSUtBHvOS2nhefaNUGcEvBVQHQp0LivYyy0E+++3NxV5ZrKGy/AvfuHJtKPatQ4Gevyx9nnxCyqrOhToZLQtO8VVB9tNTx16H99rHIL9f8Wfe+1tAn5xSe8tpvMDcxeuJ1RWdSjQ4dOR+/oo4MMIPrzWsOnCEladm9AJbc3/P8TobtHyO5/6381O7Hc3qSf6RTcvSJlSHQp0Jhvwr2GGfLn9iKP31Al1KS974DKc1Ys04onkouV3HkVZ1aFAhzaj92pCXcqz55aOnYbaJTp7vgebEj7bjso61peGTKkOBTq8C/a7hFC3VOw0pNyO6fONfnWftY3vOTjF9szKqg4FOmRRdy9v4SeaxgleQiDc9jFyja8C7uxFI4kvDbkd2yh9SnUo0OHzg8DWL0HiAfapyy8Q77vWPV1xKNqHQd2VqfA9HtThWdehQGecQieJZ73Q1cldOMDWTVLq+nHGEKJ1I8jHtpdq4zLKdftYjq3PTakOBTpjFl7D+hTf6JTbV4+meRvbtKQ8TvXQRdCFZYeL+vuuhyJtMmeKx8SyztXh2dahQGd0o/PQSaqDSng2fJPrPljcz1cHrFc1MLlResotmKeco7zEIMg6sotPe9S173Cyu+ngxUVzdSjQmV6Y337QScJEtV2mzlh3P80IfXruirR1CsIo76XN4kPhhDKcoCYGwTaGcO6y1gnle8nR38JoP5Z3qQ4FOtMK88UXgXsdO2N47elt0w4Z78m/FPWz2NdqYnKj9DBqTV3JLARTaIONVhWMIRACclekPUkRwulHB2UNI9nUgPnb307py3EEm1pedTiGY3T5Q08tlDZfVXZcBrGv7zL4j59a3njfblM0Wwv5OY6ow7ru+y/2u4xn03X73na9Fv05tY9Lbn+n/I7xYN10zsa6aoOxHR6qE8jiz2XmamsyQg37uPmsTWeqm5cTvlNV1tfjl6MclbW6nbUoGq7nkKvdT6kOBbpAP+dAv46B3uZe26H455L5rGi+SMz3rjugQD/fQI/fOfW+aFd6CYJM/S2XcI95lbFsk6jDIbjkTuoB+BBfrNLmflO1lnLjEUJpdYkdkMbtMNyLXQ308b0FQRyFhqtRQ86+/n1JOmeYT6kOBTpjOKCu4oGmz9nmz5c0cYXWbfAxtsE+ZyaHS9jf+gyCo+WQhwi/dSzvWh0KdC77gBo6xvci/S1pbaziQQ3et8HUF/q0HdHdxVeRHgYqaxV+fQTRaxzB/ui6vFOqQ4HOuR9Qj9+StupgxL6PBxYjc+pGsDdF/uWCD7Fdf4uruA1+AhNved0V3VwdC79fCPFvxxPq1OG4mBT37wZmUtzp5VnG3zb889TnSMMlvnVXl/rG1D4uuf118TvGRYluY/ubtWh/29gGD2dcdzn62j6W9Tk+VnYO5ZpMHQp0xhQW1aMk1+8Csvrz69FIYxv/vJ1aB6TTYKgmX87ftb3j9lc9eTHa9hf7WlXW2Qdl3cdyjqqsU6pDgQ4A/OUeOgAIdABAoAMAAh0AEOgAINABAIEOAAh0AECgA4BABwAEOgAg0AEAgQ4AAh0AEOgAgEAHAAQ6AAh0AECgAwACHQAQ6AAg0AEAgQ4ACHQAQKADgEAHAAQ6ACDQAQCBDgACHQAQ6ACAQAcABDoACHQAQKADAAIdABDoACDQAQCBDgAIdABAoAOAQAcABDoAINABAIEOAAh0ABDoAIBABwAEOgAg0AFAoAMAAh0AEOgAgEAHAIEOAAh0AECgAwACHQAEOgAg0AEAgQ4ACHQAEOgAgEAHAAQ6ACDQAUCgAwACHQAQ6ACAQAcAgQ4ACHQAQKADAAIdAAQ6ACDQAYD+/V+AAQADXuXS75wQpQAAAABJRU5ErkJggg==',\n\t\t};\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const customParameterEntityFactory = BaseFactory.define(\n\tCustomParameterEntity,\n\t({ sequence }) => {\n\t\treturn {\n\t\t\tname: `name${sequence}`,\n\t\t\tdisplayName: `User Friendly Name ${sequence}`,\n\t\t\tdescription: 'This is a mock parameter.',\n\t\t\tdefault: 'default',\n\t\t\tlocation: CustomParameterLocation.PATH,\n\t\t\tscope: CustomParameterScope.SCHOOL,\n\t\t\ttype: CustomParameterType.STRING,\n\t\t\tisOptional: false,\n\t\t};\n\t}\n);\n\nexport const externalToolEntityFactory = ExternalToolEntityFactory.define(\n\tExternalToolEntity,\n\t({ sequence }): IExternalToolProperties => {\n\t\treturn {\n\t\t\tname: `external-tool-${sequence}`,\n\t\t\turl: '',\n\t\t\tlogoUrl: 'https://logourl.com',\n\t\t\tconfig: new BasicToolConfigEntity({\n\t\t\t\ttype: ToolConfigType.BASIC,\n\t\t\t\tbaseUrl: 'mockBaseUrl',\n\t\t\t}),\n\t\t\tparameters: [customParameterEntityFactory.build()],\n\t\t\tisHidden: false,\n\t\t\topenNewTab: true,\n\t\t\tversion: 1,\n\t\t};\n\t}\n);\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolFactory.html":{"url":"classes/ExternalToolFactory.html","title":"class - ExternalToolFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/domainobject/tool/external-tool.factory.ts\n \n\n\n\n \n Extends\n \n \n DoBaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withBase64Logo\n \n \n withCustomParameters\n \n \n withLti11Config\n \n \n withOauth2Config\n \n \n \n buildWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withBase64Logo\n \n \n \n \n \n \nwithBase64Logo()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/domainobject/tool/external-tool.factory.ts:107\n \n \n\n\n \n \n \n \n \n \n \n \n withCustomParameters\n \n \n \n \n \n \nwithCustomParameters(number: number, customParam?: DeepPartial)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/domainobject/tool/external-tool.factory.ts:100\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n\n \n \n customParam\n \n DeepPartial\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withLti11Config\n \n \n \n \n \n \nwithLti11Config(customParam?: DeepPartial)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/domainobject/tool/external-tool.factory.ts:93\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParam\n \n DeepPartial\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withOauth2Config\n \n \n \n \n \n \nwithOauth2Config(customParam?: DeepPartial)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/domainobject/tool/external-tool.factory.ts:86\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParam\n \n DeepPartial\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \n \n buildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CustomParameter } from '@modules/tool/common/domain';\nimport {\n\tCustomParameterLocation,\n\tCustomParameterScope,\n\tCustomParameterType,\n\tLtiMessageType,\n\tLtiPrivacyPermission,\n\tTokenEndpointAuthMethod,\n\tToolConfigType,\n} from '@modules/tool/common/enum';\nimport {\n\tBasicToolConfig,\n\tExternalTool,\n\tExternalToolProps,\n\tLti11ToolConfig,\n\tOauth2ToolConfig,\n} from '@modules/tool/external-tool/domain';\nimport { DeepPartial } from 'fishery';\nimport { DoBaseFactory } from '../do-base.factory';\n\nexport const basicToolConfigFactory = DoBaseFactory.define(BasicToolConfig, () => {\n\treturn {\n\t\ttype: ToolConfigType.BASIC,\n\t\tbaseUrl: 'https://www.basic-baseUrl.com/',\n\t};\n});\n\nclass Oauth2ToolConfigFactory extends DoBaseFactory {\n\twithExternalData(oauth2Params?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tclientSecret: 'clientSecret',\n\t\t\tscope: 'offline openid',\n\t\t\tfrontchannelLogoutUri: 'https://www.frontchannel.com/',\n\t\t\tredirectUris: ['https://www.redirect.com/'],\n\t\t\ttokenEndpointAuthMethod: TokenEndpointAuthMethod.CLIENT_SECRET_POST,\n\t\t};\n\n\t\treturn this.params({ ...params, ...oauth2Params });\n\t}\n}\n\nexport const oauth2ToolConfigFactory = Oauth2ToolConfigFactory.define(Oauth2ToolConfig, () => {\n\treturn {\n\t\ttype: ToolConfigType.OAUTH2,\n\t\tbaseUrl: 'https://www.oauth2-baseUrl.com/',\n\t\tclientId: 'clientId',\n\t\tskipConsent: false,\n\t};\n});\n\nexport const lti11ToolConfigFactory = DoBaseFactory.define(Lti11ToolConfig, () => {\n\treturn {\n\t\ttype: ToolConfigType.LTI11,\n\t\tbaseUrl: 'https://www.lti11-baseUrl.com/',\n\t\tkey: 'key',\n\t\tsecret: 'secret',\n\t\tprivacy_permission: LtiPrivacyPermission.PSEUDONYMOUS,\n\t\tlti_message_type: LtiMessageType.BASIC_LTI_LAUNCH_REQUEST,\n\t\tresource_link_id: 'linkId',\n\t\tlaunch_presentation_locale: 'de-DE',\n\t};\n});\n\nclass CustomParameterFactory extends DoBaseFactory {\n\tbuildListWithEachType(params?: DeepPartial): CustomParameter[] {\n\t\tconst globalParameter = this.build({ ...params, scope: CustomParameterScope.GLOBAL });\n\t\tconst schoolParameter = this.build({ ...params, scope: CustomParameterScope.SCHOOL });\n\t\tconst contextParameter = this.build({ ...params, scope: CustomParameterScope.CONTEXT });\n\n\t\treturn [globalParameter, schoolParameter, contextParameter];\n\t}\n}\n\nexport const customParameterFactory = CustomParameterFactory.define(CustomParameter, ({ sequence }) => {\n\treturn {\n\t\tname: `custom-parameter-${sequence}`,\n\t\tdisplayName: 'User Friendly Name',\n\t\ttype: CustomParameterType.STRING,\n\t\tscope: CustomParameterScope.SCHOOL,\n\t\tlocation: CustomParameterLocation.BODY,\n\t\tisOptional: false,\n\t};\n});\n\nclass ExternalToolFactory extends DoBaseFactory {\n\twithOauth2Config(customParam?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tconfig: oauth2ToolConfigFactory.build(customParam),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithLti11Config(customParam?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tconfig: lti11ToolConfigFactory.build(customParam),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithCustomParameters(number: number, customParam?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tparameters: customParameterFactory.buildList(number, customParam),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithBase64Logo(): this {\n\t\tconst params: DeepPartial = {\n\t\t\tlogo: 'iVBORw0KGgoAAAANSUhEUgAAAfQAAADICAYAAAAeGRPoAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjQ2MUQ2Q0Y5RTQxMTExRTdBMTg3QkQ2MDVGMUFEMUIwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjQ2MUQ2Q0ZBRTQxMTExRTdBMTg3QkQ2MDVGMUFEMUIwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NDYxRDZDRjdFNDExMTFFN0ExODdCRDYwNUYxQUQxQjAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NDYxRDZDRjhFNDExMTFFN0ExODdCRDYwNUYxQUQxQjAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz45EjsrAAALfUlEQVR42uzdgXWjOAIGYHLvGsiV4CnBU4JTgqeEpIS4hKSEpIS4BLsEu4RJCeMScmhGzPplkyCMAGO+7z3ezs3tYsuS+BEIcfX29lYAAOP2Hz8BAAh0AECgAwACHQAQ6AAg0AEAgQ4ACHQAQKADgEAHAAQ6ACDQAQCBDgACHQAQ6ACAQAcABDoACHQAQKADAAIdABDoACDQAQCBDgAIdABAoAOAQAcABDoAINABAIEOAAIdABDoAIBABwAEOgAIdABAoAMAAh0AEOgAINABAIEOAAh0AECgA4BABwAEOgAg0AEAgQ4ACHQAEOgAgEAHAAQ6ACDQAUCgAwACHQAQ6ACAQAcAgQ4ACHQAQKADAAIdAAQ6ACDQAQCBDgAIdAAQ6ACAQAcABDoAINABQKADAAIdABDoAIBABwCBDgAIdABAoAMAAh0ABDoAINABgN79109AbldXV9flPxblNov/DOblFv7+UG77+HfVn39vb29vB78emdpg1fauP2iDwWvcgm3883aMbbAs6/yorPP414ujf+W4z+2r/12WdasOL6zdl4Ufa4fdvGu0gyp/x6sTyjD0jx8a/03GOgn1cVtuyxN3EQ4267CV3+t16u2jhz701lfb6DEAlnGbt2yDz+ccDDHEq7LOTtzNIZY11PVaHV6AEOhj3ErhgP12LtuJZRj6e28y1cW8g/p4CgeqKbePHvpQ522jp3LMYnvJWWe/2rbBjsq66Kht/wwn4+pw3Jt76LQ9o76NB5jco+Gw35/l/p/iJXx43/auy+2+CqPMu7+O+9zFzziHsj511Nf+Bmr5GT/jlTZ1OEICnbZh/lT8c0+rC1WwL/3ivLvkvCu3h44/KrTth/LzdvFy8BBlXXQUeJ8F+6b8zIeuT6SnVIcCnXM/oC5jmPchdMiXqZxlk3QiuStOv3d8inkc6c0HKOum45Pmj9zHYJ+pQ4HOZR9Qr08I8zBRZRu3U4RJcs9+fWHe44nkRyeWu/gd+ijr04BlrRzU4Xh4bI1T3CaMGMKB4LH4M4N2/0Gnrh5JqWbr1u3vzmNtwrxhEFSzuEP7ez1+TCu2v9lR+2syagv3mvcfteuMZb0vml1ifz0q6/74KZF3Za3Km/Lb/cjd56ZUh4OYyuy/1NnPZhknfe9fNd/9JQR0g/1Vk1d+frK/hym2D+3vX7O7G83YbtgGm86yDn1g1lFZlw3Lumy4/9Df7mv68VwdjrBPC3SBnrlT7lru//2BZtekUwv0y2t/MYB+JR6kH9q0lzjK2yV+1q6jx7dSy3qf4Xe9/2C/t+rQY2tMQ91lrceWV4zCf/8tXmZzqZ2iSH+SIrSVVZv2Ei/BhgV1UuZrzDuYqJlS1upyeNu+doj7+F78s+LaY/l3z+pwnAQ6WQM9x4pT8UDzI3TKi7vHRdN7rovEe753uYIotr+7xEC4zzUTPD45kvIM+E3Old1iH/sew3ylDgU609Hb4zPnvtY0vUgZPd11MaqMgbBP6A+5RngPiWXdd1DWQxdhPsE6FOhc1IjKqm7kHNnVjVjXHV0iroQrRXWXf2/btvtY1tnAZVWHAp2JqesYVnQjl5S2tOryC8THv1LuVbd9rvk2od+t1OFZ16FAZ3TqLl89XPJKTPQ2srtOCIPHtm/lSwyEEAZ1n7PsuKzPfZRVHQp0pqWuU4ROvLnUlZjoTfUe7C9DrsfvU/dZ8xYTq5YZPl8dDluHAp1RSpmo9ntp2Pjmpnv31TlB3VWefc8j1nWG7/yZ2ZmVVR0KdKYgPh+aelYdDlRh5u6vMtQ3MdxdjidHGKx7bvchePYJ7X30ZVWHAp38FmX4vXWwbTJ8t3A/qunCD4sY7uHFCCHgX2LAz1Q1n7SXL0d3A3ynbcvvPKayqsMR8nIWTjrTLYM4zEw99Y1J1WSZsIVJdNWLJdYWkiHREJegD2Mqa3ineZHpEnLZL2/UoUDnckP9uTxgFEWe1yCGUXpY2CGM2EOgP4/teVvySbktM9A95bqTzcUJZV10WNb5UCPOKdXhOXHJnVahXqQt2tD0IFRNqPNM+zSZRKkOEegMEOrhUnl4mcoqc7CHUXu4z/5kljyAQKefUD8cvSUtBHvOS2nhefaNUGcEvBVQHQp0LivYyy0E+++3NxV5ZrKGy/AvfuHJtKPatQ4Gevyx9nnxCyqrOhToZLQtO8VVB9tNTx16H99rHIL9f8Wfe+1tAn5xSe8tpvMDcxeuJ1RWdSjQ4dOR+/oo4MMIPrzWsOnCEladm9AJbc3/P8TobtHyO5/6381O7Hc3qSf6RTcvSJlSHQp0Jhvwr2GGfLn9iKP31Al1KS974DKc1Ys04onkouV3HkVZ1aFAhzaj92pCXcqz55aOnYbaJTp7vgebEj7bjso61peGTKkOBTq8C/a7hFC3VOw0pNyO6fONfnWftY3vOTjF9szKqg4FOmRRdy9v4SeaxgleQiDc9jFyja8C7uxFI4kvDbkd2yh9SnUo0OHzg8DWL0HiAfapyy8Q77vWPV1xKNqHQd2VqfA9HtThWdehQGecQieJZ73Q1cldOMDWTVLq+nHGEKJ1I8jHtpdq4zLKdftYjq3PTakOBTpjFl7D+hTf6JTbV4+meRvbtKQ8TvXQRdCFZYeL+vuuhyJtMmeKx8SyztXh2dahQGd0o/PQSaqDSng2fJPrPljcz1cHrFc1MLlResotmKeco7zEIMg6sotPe9S173Cyu+ngxUVzdSjQmV6Y337QScJEtV2mzlh3P80IfXruirR1CsIo76XN4kPhhDKcoCYGwTaGcO6y1gnle8nR38JoP5Z3qQ4FOtMK88UXgXsdO2N47elt0w4Z78m/FPWz2NdqYnKj9DBqTV3JLARTaIONVhWMIRACclekPUkRwulHB2UNI9nUgPnb307py3EEm1pedTiGY3T5Q08tlDZfVXZcBrGv7zL4j59a3njfblM0Wwv5OY6ow7ru+y/2u4xn03X73na9Fv05tY9Lbn+n/I7xYN10zsa6aoOxHR6qE8jiz2XmamsyQg37uPmsTWeqm5cTvlNV1tfjl6MclbW6nbUoGq7nkKvdT6kOBbpAP+dAv46B3uZe26H455L5rGi+SMz3rjugQD/fQI/fOfW+aFd6CYJM/S2XcI95lbFsk6jDIbjkTuoB+BBfrNLmflO1lnLjEUJpdYkdkMbtMNyLXQ308b0FQRyFhqtRQ86+/n1JOmeYT6kOBTpjOKCu4oGmz9nmz5c0cYXWbfAxtsE+ZyaHS9jf+gyCo+WQhwi/dSzvWh0KdC77gBo6xvci/S1pbaziQQ3et8HUF/q0HdHdxVeRHgYqaxV+fQTRaxzB/ui6vFOqQ4HOuR9Qj9+StupgxL6PBxYjc+pGsDdF/uWCD7Fdf4uruA1+AhNved0V3VwdC79fCPFvxxPq1OG4mBT37wZmUtzp5VnG3zb889TnSMMlvnVXl/rG1D4uuf118TvGRYluY/ubtWh/29gGD2dcdzn62j6W9Tk+VnYO5ZpMHQp0xhQW1aMk1+8Csvrz69FIYxv/vJ1aB6TTYKgmX87ftb3j9lc9eTHa9hf7WlXW2Qdl3cdyjqqsU6pDgQ4A/OUeOgAIdABAoAMAAh0AEOgAINABAIEOAAh0AECgA4BABwAEOgAg0AEAgQ4AAh0AEOgAgEAHAAQ6AAh0AECgAwACHQAQ6AAg0AEAgQ4ACHQAQKADgEAHAAQ6ACDQAQCBDgACHQAQ6ACAQAcABDoACHQAQKADAAIdABDoACDQAQCBDgAIdABAoAOAQAcABDoAINABAIEOAAh0ABDoAIBABwAEOgAg0AFAoAMAAh0AEOgAgEAHAIEOAAh0AECgAwACHQAEOgAg0AEAgQ4ACHQAEOgAgEAHAAQ6ACDQAUCgAwACHQAQ6ACAQAcAgQ4ACHQAQKADAAIdAAQ6ACDQAYD+/V+AAQADXuXS75wQpQAAAABJRU5ErkJggg==',\n\t\t};\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const externalToolFactory = ExternalToolFactory.define(ExternalTool, ({ sequence }) => {\n\treturn {\n\t\tname: `external-tool-${sequence}`,\n\t\turl: 'https://url.com/',\n\t\tconfig: basicToolConfigFactory.build(),\n\t\tlogoUrl: 'https://logo.com/',\n\t\tisHidden: false,\n\t\topenNewTab: false,\n\t\tversion: 1,\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolIdParams.html":{"url":"classes/ExternalToolIdParams.html","title":"class - ExternalToolIdParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolIdParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-id.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n externalToolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n externalToolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({nullable: false, required: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-id.params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsMongoId } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\n\nexport class ExternalToolIdParams {\n\t@IsMongoId()\n\t@ApiProperty({ nullable: false, required: true })\n\texternalToolId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolLogo.html":{"url":"classes/ExternalToolLogo.html","title":"class - ExternalToolLogo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolLogo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/domain/external-tool-logo.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n contentType\n \n \n logo\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolLogo: ExternalToolLogo)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool-logo.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolLogo\n \n \n ExternalToolLogo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n contentType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool-logo.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n logo\n \n \n \n \n \n \n Type : Buffer\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool-logo.ts:2\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class ExternalToolLogo {\n\tlogo: Buffer;\n\n\tcontentType: string;\n\n\tconstructor(externalToolLogo: ExternalToolLogo) {\n\t\tthis.logo = externalToolLogo.logo;\n\t\tthis.contentType = externalToolLogo.contentType;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolLogoFetchFailedLoggableException.html":{"url":"classes/ExternalToolLogoFetchFailedLoggableException.html","title":"class - ExternalToolLogoFetchFailedLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolLogoFetchFailedLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-fetch-failed-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logoUrl: string, httpStatus?: HttpStatus)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-fetch-failed-loggable-exception.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logoUrl\n \n \n string\n \n \n \n No\n \n \n \n \n httpStatus\n \n \n HttpStatus\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-fetch-failed-loggable-exception.ts:17\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { BusinessError } from '@shared/common';\n\nexport class ExternalToolLogoFetchFailedLoggableException extends BusinessError implements Loggable {\n\tconstructor(private readonly logoUrl: string, private readonly httpStatus?: HttpStatus) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'EXTERNAL_TOOL_LOGO_FETCH_FAILED',\n\t\t\t\ttitle: 'External tool logo fetch failed.',\n\t\t\t\tdefaultMessage: 'External tool logo could not been fetched.',\n\t\t\t},\n\t\t\tHttpStatus.INTERNAL_SERVER_ERROR\n\t\t);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'EXTERNAL_TOOL_LOGO_FETCH_FAILED',\n\t\t\tmessage: 'External tool logo could not been fetched',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tlogoUrl: this.logoUrl,\n\t\t\t\thttpStatus: this.httpStatus,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolLogoFetchedLoggable.html":{"url":"classes/ExternalToolLogoFetchedLoggable.html","title":"class - ExternalToolLogoFetchedLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolLogoFetchedLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-fetched-loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logoUrl: string)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-fetched-loggable.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logoUrl\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-fetched-loggable.ts:6\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class ExternalToolLogoFetchedLoggable implements Loggable {\n\tconstructor(private readonly logoUrl: string) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'EXTERNAL_TOOL_LOGO_FETCHED',\n\t\t\tmessage: 'External tool logo was fetched',\n\t\t\tdata: {\n\t\t\t\tlogoUrl: this.logoUrl,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolLogoNotFoundLoggableException.html":{"url":"classes/ExternalToolLogoNotFoundLoggableException.html","title":"class - ExternalToolLogoNotFoundLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolLogoNotFoundLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-not-found-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n NotFoundException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolId: string)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-not-found-loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolId\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-not-found-loggable-exception.ts:9\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { NotFoundException } from '@nestjs/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class ExternalToolLogoNotFoundLoggableException extends NotFoundException implements Loggable {\n\tconstructor(private readonly externalToolId: string) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'EXTERNAL_TOOL_LOGO_NOT_FOUND',\n\t\t\tmessage: 'External tool logo not found',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\texternalToolId: this.externalToolId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolLogoService.html":{"url":"classes/ExternalToolLogoService.html","title":"class - ExternalToolLogoService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolLogoService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/service/external-tool-logo.service.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n buildLogoUrl\n \n \n Private\n detectContentTypeOrThrow\n \n \n Private\n Async\n fetchBase64Logo\n \n \n Async\n fetchLogo\n \n \n Async\n getExternalToolBinaryLogo\n \n \n validateLogoSize\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(toolFeatures: IToolFeatures, logger: Logger, httpService: HttpService, externalToolService: ExternalToolService)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-logo.service.ts:26\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolFeatures\n \n \n IToolFeatures\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n httpService\n \n \n HttpService\n \n \n \n No\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n buildLogoUrl\n \n \n \n \n \n \nbuildLogoUrl(template: string, externalTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-logo.service.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n template\n \n string\n \n\n \n No\n \n\n\n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n detectContentTypeOrThrow\n \n \n \n \n \n \n \n detectContentTypeOrThrow(imageBuffer: Buffer)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-logo.service.ts:114\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n imageBuffer\n \n Buffer\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n fetchBase64Logo\n \n \n \n \n \n \n \n fetchBase64Logo(logoUrl: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-logo.service.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n logoUrl\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n fetchLogo\n \n \n \n \n \n \n \n fetchLogo(externalTool: Partial)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-logo.service.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getExternalToolBinaryLogo\n \n \n \n \n \n \n \n getExternalToolBinaryLogo(toolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-logo.service.ts:97\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n validateLogoSize\n \n \n \n \n \n \nvalidateLogoSize(externalTool: Partial)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-logo.service.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpService } from '@nestjs/axios';\nimport { HttpException, Inject } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { Logger } from '@src/core/logger';\nimport { AxiosResponse } from 'axios';\nimport { lastValueFrom } from 'rxjs';\nimport { IToolFeatures, ToolFeatures } from '../../tool-config';\nimport { ExternalTool } from '../domain';\nimport { ExternalToolLogo } from '../domain/external-tool-logo';\nimport {\n\tExternalToolLogoFetchedLoggable,\n\tExternalToolLogoFetchFailedLoggableException,\n\tExternalToolLogoNotFoundLoggableException,\n\tExternalToolLogoSizeExceededLoggableException,\n\tExternalToolLogoWrongFileTypeLoggableException,\n} from '../loggable';\nimport { ExternalToolService } from './external-tool.service';\n\nconst contentTypeDetector: Record = {\n\tffd8ffe0: 'image/jpeg',\n\tffd8ffe1: 'image/jpeg',\n\t'89504e47': 'image/png',\n\t'47494638': 'image/gif',\n};\n\nexport class ExternalToolLogoService {\n\tconstructor(\n\t\t@Inject(ToolFeatures) private readonly toolFeatures: IToolFeatures,\n\t\tprivate readonly logger: Logger,\n\t\tprivate readonly httpService: HttpService,\n\t\tprivate readonly externalToolService: ExternalToolService\n\t) {}\n\n\tbuildLogoUrl(template: string, externalTool: ExternalTool): string | undefined {\n\t\tconst { logo, id } = externalTool;\n\t\tconst backendUrl = this.toolFeatures.backEndUrl;\n\n\t\tif (logo) {\n\t\t\tconst filledTemplate = template.replace(/\\{id\\}/g, id || '');\n\t\t\treturn `${backendUrl}${filledTemplate}`;\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tvalidateLogoSize(externalTool: Partial): void {\n\t\tif (!externalTool.logo) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst buffer: Buffer = Buffer.from(externalTool.logo, 'base64');\n\n\t\tif (buffer.length > this.toolFeatures.maxExternalToolLogoSizeInBytes) {\n\t\t\tthrow new ExternalToolLogoSizeExceededLoggableException(\n\t\t\t\texternalTool.id,\n\t\t\t\tthis.toolFeatures.maxExternalToolLogoSizeInBytes\n\t\t\t);\n\t\t}\n\t}\n\n\tasync fetchLogo(externalTool: Partial): Promise {\n\t\tif (externalTool.logoUrl) {\n\t\t\tconst base64Logo: string = await this.fetchBase64Logo(externalTool.logoUrl);\n\n\t\t\tif (base64Logo) {\n\t\t\t\treturn base64Logo;\n\t\t\t}\n\t\t}\n\n\t\treturn undefined;\n\t}\n\n\tprivate async fetchBase64Logo(logoUrl: string): Promise {\n\t\ttry {\n\t\t\tconst response: AxiosResponse = await lastValueFrom(\n\t\t\t\tthis.httpService.get(logoUrl, { responseType: 'arraybuffer' })\n\t\t\t);\n\t\t\tthis.logger.info(new ExternalToolLogoFetchedLoggable(logoUrl));\n\n\t\t\tconst buffer: Buffer = Buffer.from(response.data);\n\t\t\tthis.detectContentTypeOrThrow(buffer);\n\n\t\t\tconst logoBase64: string = buffer.toString('base64');\n\n\t\t\treturn logoBase64;\n\t\t} catch (error) {\n\t\t\tif (error instanceof ExternalToolLogoWrongFileTypeLoggableException) {\n\t\t\t\tthrow new ExternalToolLogoWrongFileTypeLoggableException();\n\t\t\t} else if (error instanceof HttpException) {\n\t\t\t\tthrow new ExternalToolLogoFetchFailedLoggableException(logoUrl, error.getStatus());\n\t\t\t} else {\n\t\t\t\tthrow new ExternalToolLogoFetchFailedLoggableException(logoUrl);\n\t\t\t}\n\t\t}\n\t}\n\n\tasync getExternalToolBinaryLogo(toolId: EntityId): Promise {\n\t\tconst tool: ExternalTool = await this.externalToolService.findById(toolId);\n\n\t\tif (!tool.logo) {\n\t\t\tthrow new ExternalToolLogoNotFoundLoggableException(toolId);\n\t\t}\n\n\t\tconst logoBinaryData: Buffer = Buffer.from(tool.logo, 'base64');\n\n\t\tconst externalToolLogo: ExternalToolLogo = new ExternalToolLogo({\n\t\t\tcontentType: this.detectContentTypeOrThrow(logoBinaryData),\n\t\t\tlogo: logoBinaryData,\n\t\t});\n\n\t\treturn externalToolLogo;\n\t}\n\n\tprivate detectContentTypeOrThrow(imageBuffer: Buffer): string {\n\t\tconst imageSignature: string = imageBuffer.toString('hex', 0, 4);\n\n\t\tconst contentType: string | ExternalToolLogoWrongFileTypeLoggableException =\n\t\t\tcontentTypeDetector[imageSignature] || new ExternalToolLogoWrongFileTypeLoggableException();\n\n\t\tif (contentType instanceof ExternalToolLogoWrongFileTypeLoggableException) {\n\t\t\tthrow new ExternalToolLogoWrongFileTypeLoggableException();\n\t\t}\n\n\t\treturn contentType;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolLogoSizeExceededLoggableException.html":{"url":"classes/ExternalToolLogoSizeExceededLoggableException.html","title":"class - ExternalToolLogoSizeExceededLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolLogoSizeExceededLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-size-exceeded-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolId: string | undefined, maxExternalToolLogoSizeInBytes: number)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-size-exceeded-loggable-exception.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolId\n \n \n string | undefined\n \n \n \n No\n \n \n \n \n maxExternalToolLogoSizeInBytes\n \n \n number\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-size-exceeded-loggable-exception.ts:20\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { BusinessError } from '@shared/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class ExternalToolLogoSizeExceededLoggableException extends BusinessError implements Loggable {\n\tconstructor(\n\t\tprivate readonly externalToolId: string | undefined,\n\t\tprivate readonly maxExternalToolLogoSizeInBytes: number\n\t) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'EXTERNAL_TOOL_LOGO_SIZE_EXCEEDED',\n\t\t\t\ttitle: 'External tool logo size exceeded.',\n\t\t\t\tdefaultMessage: 'External tool logo size exceeded.',\n\t\t\t},\n\t\t\tHttpStatus.BAD_REQUEST\n\t\t);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'EXTERNAL_TOOL_LOGO_SIZE_EXCEEDED',\n\t\t\tmessage: 'External tool logo size exceeded',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\texternalToolId: this.externalToolId,\n\t\t\t\tmaxExternalToolLogoSizeInBytes: this.maxExternalToolLogoSizeInBytes,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolLogoWrongFileTypeLoggableException.html":{"url":"classes/ExternalToolLogoWrongFileTypeLoggableException.html","title":"class - ExternalToolLogoWrongFileTypeLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolLogoWrongFileTypeLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-wrong-file-type-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor()\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-wrong-file-type-loggable-exception.ts:5\n \n \n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/loggable/external-tool-logo-wrong-file-type-loggable-exception.ts:17\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BusinessError } from '@shared/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { HttpStatus } from '@nestjs/common';\n\nexport class ExternalToolLogoWrongFileTypeLoggableException extends BusinessError implements Loggable {\n\tconstructor() {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'EXTERNAL_TOOL_LOGO_WRONG_FILE_TYPE',\n\t\t\t\ttitle: 'External tool logo wrong file type.',\n\t\t\t\tdefaultMessage: 'External tool logo has the wrong file type. Only JPEG and PNG files are supported.',\n\t\t\t},\n\t\t\tHttpStatus.BAD_REQUEST\n\t\t);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'EXTERNAL_TOOL_LOGO_WRONG_FILE_TYPE',\n\t\t\tmessage: 'External tool logo has the wrong file type. Only JPEG and PNG files are supported.',\n\t\t\tstack: this.stack,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolMetadata.html":{"url":"classes/ExternalToolMetadata.html","title":"class - ExternalToolMetadata","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolMetadata\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/domain/external-tool-metadata.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n contextExternalToolCountPerContext\n \n \n schoolExternalToolCount\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolMetadata: ExternalToolMetadata)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool-metadata.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolMetadata\n \n \n ExternalToolMetadata\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n contextExternalToolCountPerContext\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool-metadata.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n schoolExternalToolCount\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/external-tool-metadata.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ContextExternalToolType } from '../../context-external-tool/entity';\n\nexport class ExternalToolMetadata {\n\tschoolExternalToolCount: number;\n\n\tcontextExternalToolCountPerContext: Record;\n\n\tconstructor(externalToolMetadata: ExternalToolMetadata) {\n\t\tthis.schoolExternalToolCount = externalToolMetadata.schoolExternalToolCount;\n\t\tthis.contextExternalToolCountPerContext = externalToolMetadata.contextExternalToolCountPerContext;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolMetadataMapper.html":{"url":"classes/ExternalToolMetadataMapper.html","title":"class - ExternalToolMetadataMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolMetadataMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/mapper/external-tool-metadata.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToExternalToolMetadataResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToExternalToolMetadataResponse\n \n \n \n \n \n \n \n mapToExternalToolMetadataResponse(externalToolMetadata: ExternalToolMetadata)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-metadata.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolMetadata\n \n ExternalToolMetadata\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalToolMetadataResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ContextExternalToolCountPerContextResponse } from '../../common/controller/dto';\nimport { ExternalToolMetadataResponse } from '../controller/dto';\nimport { ExternalToolMetadata } from '../domain';\n\nexport class ExternalToolMetadataMapper {\n\tstatic mapToExternalToolMetadataResponse(externalToolMetadata: ExternalToolMetadata): ExternalToolMetadataResponse {\n\t\tconst externalToolMetadataResponse: ExternalToolMetadataResponse = new ExternalToolMetadataResponse({\n\t\t\tschoolExternalToolCount: externalToolMetadata.schoolExternalToolCount,\n\t\t\tcontextExternalToolCountPerContext: new ContextExternalToolCountPerContextResponse(\n\t\t\t\texternalToolMetadata.contextExternalToolCountPerContext\n\t\t\t),\n\t\t});\n\n\t\treturn externalToolMetadataResponse;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolMetadataResponse.html":{"url":"classes/ExternalToolMetadataResponse.html","title":"class - ExternalToolMetadataResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolMetadataResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool-metadata.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contextExternalToolCountPerContext\n \n \n \n schoolExternalToolCount\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolMetadataResponse: ExternalToolMetadataResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool-metadata.response.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolMetadataResponse\n \n \n ExternalToolMetadataResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextExternalToolCountPerContext\n \n \n \n \n \n \n Type : ContextExternalToolCountPerContextResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool-metadata.response.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n \n schoolExternalToolCount\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool-metadata.response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContextExternalToolCountPerContextResponse } from '../../../../common/controller/dto';\n\nexport class ExternalToolMetadataResponse {\n\t@ApiProperty()\n\tschoolExternalToolCount: number;\n\n\t@ApiProperty()\n\tcontextExternalToolCountPerContext: ContextExternalToolCountPerContextResponse;\n\n\tconstructor(externalToolMetadataResponse: ExternalToolMetadataResponse) {\n\t\tthis.schoolExternalToolCount = externalToolMetadataResponse.schoolExternalToolCount;\n\t\tthis.contextExternalToolCountPerContext = externalToolMetadataResponse.contextExternalToolCountPerContext;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolMetadataService.html":{"url":"injectables/ExternalToolMetadataService.html","title":"injectable - ExternalToolMetadataService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolMetadataService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/service/external-tool-metadata.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getMetadata\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolToolRepo: SchoolExternalToolRepo, contextToolRepo: ContextExternalToolRepo)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-metadata.service.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolToolRepo\n \n \n SchoolExternalToolRepo\n \n \n \n No\n \n \n \n \n contextToolRepo\n \n \n ContextExternalToolRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getMetadata\n \n \n \n \n \n \n \n getMetadata(toolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-metadata.service.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ContextExternalToolRepo, SchoolExternalToolRepo } from '@shared/repo';\nimport { ToolContextType } from '../../common/enum';\nimport { ToolContextMapper } from '../../common/mapper/tool-context.mapper';\nimport { ContextExternalToolType } from '../../context-external-tool/entity';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { ExternalToolMetadata } from '../domain';\n\n@Injectable()\nexport class ExternalToolMetadataService {\n\tconstructor(\n\t\tprivate readonly schoolToolRepo: SchoolExternalToolRepo,\n\t\tprivate readonly contextToolRepo: ContextExternalToolRepo\n\t) {}\n\n\tasync getMetadata(toolId: EntityId): Promise {\n\t\tconst schoolExternalTools: SchoolExternalTool[] = await this.schoolToolRepo.findByExternalToolId(toolId);\n\n\t\tconst schoolExternalToolIds: string[] = schoolExternalTools.map(\n\t\t\t(schoolExternalTool: SchoolExternalTool): string =>\n\t\t\t\t// We can be sure that the repo returns the id\n\t\t\t\tschoolExternalTool.id as string\n\t\t);\n\t\tconst contextExternalToolCount: Record = {\n\t\t\t[ContextExternalToolType.BOARD_ELEMENT]: 0,\n\t\t\t[ContextExternalToolType.COURSE]: 0,\n\t\t};\n\t\tif (schoolExternalTools.length >= 1) {\n\t\t\tawait Promise.all(\n\t\t\t\tObject.values(ToolContextType).map(async (contextType: ToolContextType): Promise => {\n\t\t\t\t\tconst type: ContextExternalToolType = ToolContextMapper.contextMapping[contextType];\n\n\t\t\t\t\tconst countPerContext: number = await this.contextToolRepo.countBySchoolToolIdsAndContextType(\n\t\t\t\t\t\ttype,\n\t\t\t\t\t\tschoolExternalToolIds\n\t\t\t\t\t);\n\t\t\t\t\tcontextExternalToolCount[type] = countPerContext;\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\n\t\tconst externalToolMetadata: ExternalToolMetadata = new ExternalToolMetadata({\n\t\t\tschoolExternalToolCount: schoolExternalTools.length,\n\t\t\tcontextExternalToolCountPerContext: contextExternalToolCount,\n\t\t});\n\n\t\treturn externalToolMetadata;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ExternalToolModule.html":{"url":"modules/ExternalToolModule.html","title":"module - ExternalToolModule","body":"\n \n\n\n\n\n Modules\n ExternalToolModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ExternalToolModule\n\n\n\ncluster_ExternalToolModule_imports\n\n\n\ncluster_ExternalToolModule_exports\n\n\n\ncluster_ExternalToolModule_providers\n\n\n\n\nCommonToolModule\n\nCommonToolModule\n\n\n\nExternalToolModule\n\nExternalToolModule\n\nExternalToolModule -->\n\nCommonToolModule->ExternalToolModule\n\n\n\n\n\nEncryptionModule\n\nEncryptionModule\n\nExternalToolModule -->\n\nEncryptionModule->ExternalToolModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nExternalToolModule -->\n\nLoggerModule->ExternalToolModule\n\n\n\n\n\nOauthProviderServiceModule\n\nOauthProviderServiceModule\n\nExternalToolModule -->\n\nOauthProviderServiceModule->ExternalToolModule\n\n\n\n\n\nToolConfigModule\n\nToolConfigModule\n\nExternalToolModule -->\n\nToolConfigModule->ExternalToolModule\n\n\n\n\n\nExternalToolConfigurationService \n\nExternalToolConfigurationService \n\nExternalToolConfigurationService -->\n\nExternalToolModule->ExternalToolConfigurationService \n\n\n\n\n\nExternalToolLogoService \n\nExternalToolLogoService \n\nExternalToolLogoService -->\n\nExternalToolModule->ExternalToolLogoService \n\n\n\n\n\nExternalToolMetadataService \n\nExternalToolMetadataService \n\nExternalToolMetadataService -->\n\nExternalToolModule->ExternalToolMetadataService \n\n\n\n\n\nExternalToolService \n\nExternalToolService \n\nExternalToolService -->\n\nExternalToolModule->ExternalToolService \n\n\n\n\n\nExternalToolValidationService \n\nExternalToolValidationService \n\nExternalToolValidationService -->\n\nExternalToolModule->ExternalToolValidationService \n\n\n\n\n\nExternalToolVersionIncrementService \n\nExternalToolVersionIncrementService \n\nExternalToolVersionIncrementService -->\n\nExternalToolModule->ExternalToolVersionIncrementService \n\n\n\n\n\nExternalToolConfigurationService\n\nExternalToolConfigurationService\n\nExternalToolModule -->\n\nExternalToolConfigurationService->ExternalToolModule\n\n\n\n\n\nExternalToolMetadataService\n\nExternalToolMetadataService\n\nExternalToolModule -->\n\nExternalToolMetadataService->ExternalToolModule\n\n\n\n\n\nExternalToolParameterValidationService\n\nExternalToolParameterValidationService\n\nExternalToolModule -->\n\nExternalToolParameterValidationService->ExternalToolModule\n\n\n\n\n\nExternalToolRepo\n\nExternalToolRepo\n\nExternalToolModule -->\n\nExternalToolRepo->ExternalToolModule\n\n\n\n\n\nExternalToolService\n\nExternalToolService\n\nExternalToolModule -->\n\nExternalToolService->ExternalToolModule\n\n\n\n\n\nExternalToolServiceMapper\n\nExternalToolServiceMapper\n\nExternalToolModule -->\n\nExternalToolServiceMapper->ExternalToolModule\n\n\n\n\n\nExternalToolValidationService\n\nExternalToolValidationService\n\nExternalToolModule -->\n\nExternalToolValidationService->ExternalToolModule\n\n\n\n\n\nExternalToolVersionIncrementService\n\nExternalToolVersionIncrementService\n\nExternalToolModule -->\n\nExternalToolVersionIncrementService->ExternalToolModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tool/external-tool/external-tool.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ExternalToolConfigurationService\n \n \n ExternalToolMetadataService\n \n \n ExternalToolParameterValidationService\n \n \n ExternalToolRepo\n \n \n ExternalToolService\n \n \n ExternalToolServiceMapper\n \n \n ExternalToolValidationService\n \n \n ExternalToolVersionIncrementService\n \n \n \n \n Imports\n \n \n CommonToolModule\n \n \n EncryptionModule\n \n \n LoggerModule\n \n \n OauthProviderServiceModule\n \n \n ToolConfigModule\n \n \n \n \n Exports\n \n \n ExternalToolConfigurationService\n \n \n ExternalToolLogoService\n \n \n ExternalToolMetadataService\n \n \n ExternalToolService\n \n \n ExternalToolValidationService\n \n \n ExternalToolVersionIncrementService\n \n \n \n \n \n\n\n \n\n\n \n import { HttpModule } from '@nestjs/axios';\nimport { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { OauthProviderServiceModule } from '@infra/oauth-provider';\nimport { EncryptionModule } from '@infra/encryption';\nimport { ExternalToolRepo } from '@shared/repo';\nimport { ToolConfigModule } from '../tool-config.module';\nimport { ExternalToolMetadataMapper } from './mapper';\nimport { ToolContextMapper } from '../common/mapper/tool-context.mapper';\nimport {\n\tExternalToolConfigurationService,\n\tExternalToolLogoService,\n\tExternalToolParameterValidationService,\n\tExternalToolService,\n\tExternalToolServiceMapper,\n\tExternalToolValidationService,\n\tExternalToolVersionIncrementService,\n\tExternalToolMetadataService,\n} from './service';\nimport { CommonToolModule } from '../common';\n\n@Module({\n\timports: [CommonToolModule, ToolConfigModule, LoggerModule, OauthProviderServiceModule, EncryptionModule, HttpModule],\n\tproviders: [\n\t\tExternalToolService,\n\t\tExternalToolServiceMapper,\n\t\tExternalToolParameterValidationService,\n\t\tExternalToolValidationService,\n\t\tExternalToolVersionIncrementService,\n\t\tExternalToolConfigurationService,\n\t\tExternalToolLogoService,\n\t\tExternalToolRepo,\n\t\tExternalToolMetadataService,\n\t\tExternalToolMetadataMapper,\n\t\tToolContextMapper,\n\t],\n\texports: [\n\t\tExternalToolService,\n\t\tExternalToolValidationService,\n\t\tExternalToolVersionIncrementService,\n\t\tExternalToolConfigurationService,\n\t\tExternalToolLogoService,\n\t\tExternalToolMetadataService,\n\t],\n})\nexport class ExternalToolModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolParameterValidationService.html":{"url":"injectables/ExternalToolParameterValidationService.html","title":"injectable - ExternalToolParameterValidationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolParameterValidationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n hasDuplicateAttributes\n \n \n Private\n isAutoParameterGlobal\n \n \n Private\n isCustomParameterNameEmpty\n \n \n Private\n isDefaultValueOfValidRegex\n \n \n Private\n isDefaultValueOfValidType\n \n \n Private\n isGlobalParameterValid\n \n \n Private\n Async\n isNameUnique\n \n \n Private\n isRegexCommentMandatoryAndFilled\n \n \n Private\n isRegexValid\n \n \n Async\n validateCommon\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolService: ExternalToolService, commonToolValidationService: CommonToolValidationService)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n commonToolValidationService\n \n \n CommonToolValidationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n hasDuplicateAttributes\n \n \n \n \n \n \n \n hasDuplicateAttributes(customParameter: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts:86\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameter\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isAutoParameterGlobal\n \n \n \n \n \n \n \n isAutoParameterGlobal(customParameter: CustomParameter)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts:148\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameter\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isCustomParameterNameEmpty\n \n \n \n \n \n \n \n isCustomParameterNameEmpty(param: CustomParameter)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n param\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isDefaultValueOfValidRegex\n \n \n \n \n \n \n \n isDefaultValueOfValidRegex(param: CustomParameter)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts:108\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n param\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isDefaultValueOfValidType\n \n \n \n \n \n \n \n isDefaultValueOfValidType(param: CustomParameter)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts:118\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n param\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isGlobalParameterValid\n \n \n \n \n \n \n \n isGlobalParameterValid(customParameter: CustomParameter)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts:136\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameter\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n isNameUnique\n \n \n \n \n \n \n \n isNameUnique(externalTool: ExternalTool | Partial)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool | Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isRegexCommentMandatoryAndFilled\n \n \n \n \n \n \n \n isRegexCommentMandatoryAndFilled(customParameter: CustomParameter)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts:128\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameter\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isRegexValid\n \n \n \n \n \n \n \n isRegexValid(param: CustomParameter)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts:95\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n param\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n validateCommon\n \n \n \n \n \n \n \n validateCommon(externalTool: ExternalTool | Partial)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-parameter-validation.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool | Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ValidationError } from '@shared/common';\nimport { CustomParameter } from '../../common/domain';\nimport { autoParameters, CustomParameterScope } from '../../common/enum';\nimport { CommonToolValidationService } from '../../common/service';\nimport { ExternalTool } from '../domain';\nimport { ExternalToolService } from './external-tool.service';\n\n@Injectable()\nexport class ExternalToolParameterValidationService {\n\tconstructor(\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly commonToolValidationService: CommonToolValidationService\n\t) {}\n\n\tasync validateCommon(externalTool: ExternalTool | Partial): Promise {\n\t\tif (!(await this.isNameUnique(externalTool))) {\n\t\t\tthrow new ValidationError(`tool_name_duplicate: The tool name \"${externalTool.name || ''}\" is already used.`);\n\t\t}\n\n\t\tif (externalTool.parameters) {\n\t\t\tif (this.hasDuplicateAttributes(externalTool.parameters)) {\n\t\t\t\tthrow new ValidationError(\n\t\t\t\t\t`tool_param_duplicate: The tool ${externalTool.name || ''} contains multiple of the same custom parameters.`\n\t\t\t\t);\n\t\t\t}\n\n\t\t\texternalTool.parameters.forEach((param: CustomParameter) => {\n\t\t\t\tif (this.isCustomParameterNameEmpty(param)) {\n\t\t\t\t\tthrow new ValidationError(`tool_param_name: A custom parameter is missing a name.`);\n\t\t\t\t}\n\n\t\t\t\tif (!this.isGlobalParameterValid(param)) {\n\t\t\t\t\tthrow new ValidationError(\n\t\t\t\t\t\t`tool_param_default_required: The custom parameter \"${param.name}\" is a global parameter and requires a default value.`\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif (!this.isAutoParameterGlobal(param)) {\n\t\t\t\t\tthrow new ValidationError(\n\t\t\t\t\t\t`tool_param_auto_requires_global: The custom parameter \"${param.name}\" with type \"${param.type}\" must have the scope \"global\", since it is automatically filled.`\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif (!this.isRegexCommentMandatoryAndFilled(param)) {\n\t\t\t\t\tthrow new ValidationError(\n\t\t\t\t\t\t`tool_param_regexComment: The custom parameter \"${param.name}\" parameter is missing a regex comment.`\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif (!this.isRegexValid(param)) {\n\t\t\t\t\tthrow new ValidationError(\n\t\t\t\t\t\t`tool_param_regex_invalid: The custom Parameter \"${param.name}\" has an invalid regex.`\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif (!this.isDefaultValueOfValidType(param)) {\n\t\t\t\t\tthrow new ValidationError(\n\t\t\t\t\t\t`tool_param_type_mismatch: The default value of the custom parameter \"${param.name}\" should be of type \"${param.type}\".`\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tif (!this.isDefaultValueOfValidRegex(param)) {\n\t\t\t\t\tthrow new ValidationError(\n\t\t\t\t\t\t`tool_param_default_regex: The default value of a the custom parameter \"${param.name}\" does not match its regex.`\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tprivate isCustomParameterNameEmpty(param: CustomParameter): boolean {\n\t\treturn !param.name || !param.displayName;\n\t}\n\n\tprivate async isNameUnique(externalTool: ExternalTool | Partial): Promise {\n\t\tif (!externalTool.name) {\n\t\t\treturn true;\n\t\t}\n\n\t\tconst duplicate: ExternalTool | null = await this.externalToolService.findExternalToolByName(externalTool.name);\n\n\t\treturn duplicate == null || duplicate.id === externalTool.id;\n\t}\n\n\tprivate hasDuplicateAttributes(customParameter: CustomParameter[]): boolean {\n\t\treturn customParameter.some((item, itemIndex) =>\n\t\t\tcustomParameter.some(\n\t\t\t\t(other, otherIndex) =>\n\t\t\t\t\titemIndex !== otherIndex && item.name.toLocaleLowerCase() === other.name.toLocaleLowerCase()\n\t\t\t)\n\t\t);\n\t}\n\n\tprivate isRegexValid(param: CustomParameter): boolean {\n\t\tif (param.regex) {\n\t\t\ttry {\n\t\t\t\t// eslint-disable-next-line no-new\n\t\t\t\tnew RegExp(param.regex);\n\t\t\t} catch (e) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tprivate isDefaultValueOfValidRegex(param: CustomParameter): boolean {\n\t\tif (param.regex && param.default) {\n\t\t\tconst isValid: boolean = new RegExp(param.regex).test(param.default);\n\n\t\t\treturn isValid;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tprivate isDefaultValueOfValidType(param: CustomParameter): boolean {\n\t\tif (param.default) {\n\t\t\tconst isValid: boolean = this.commonToolValidationService.isValueValidForType(param.type, param.default);\n\n\t\t\treturn isValid;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tprivate isRegexCommentMandatoryAndFilled(customParameter: CustomParameter): boolean {\n\t\tif (customParameter.regex && !customParameter.regexComment) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tprivate isGlobalParameterValid(customParameter: CustomParameter): boolean {\n\t\tif (customParameter.scope !== CustomParameterScope.GLOBAL) {\n\t\t\treturn true;\n\t\t}\n\n\t\tif (autoParameters.includes(customParameter.type) || customParameter.default) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tprivate isAutoParameterGlobal(customParameter: CustomParameter): boolean {\n\t\tif (!autoParameters.includes(customParameter.type)) {\n\t\t\treturn true;\n\t\t}\n\n\t\tconst isGlobal: boolean = customParameter.scope === CustomParameterScope.GLOBAL;\n\n\t\treturn isGlobal;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ExternalToolProps.html":{"url":"interfaces/ExternalToolProps.html","title":"interface - ExternalToolProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ExternalToolProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/domain/external-tool.do.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n config\n \n \n \n Optional\n \n id\n \n \n \n \n isHidden\n \n \n \n Optional\n \n logo\n \n \n \n Optional\n \n logoUrl\n \n \n \n \n name\n \n \n \n \n openNewTab\n \n \n \n Optional\n \n parameters\n \n \n \n Optional\n \n restrictToContexts\n \n \n \n Optional\n \n url\n \n \n \n \n version\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n config\n \n \n \n \n \n \n \n \n config: BasicToolConfig | Lti11ToolConfig | Oauth2ToolConfig\n\n \n \n\n\n \n \n Type : BasicToolConfig | Lti11ToolConfig | Oauth2ToolConfig\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n isHidden\n \n \n \n \n \n \n \n \n isHidden: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n logo\n \n \n \n \n \n \n \n \n logo: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n logoUrl\n \n \n \n \n \n \n \n \n logoUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n openNewTab\n \n \n \n \n \n \n \n \n openNewTab: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n \n \n parameters: CustomParameter[]\n\n \n \n\n\n \n \n Type : CustomParameter[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n restrictToContexts\n \n \n \n \n \n \n \n \n restrictToContexts: ToolContextType[]\n\n \n \n\n\n \n \n Type : ToolContextType[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n version\n \n \n \n \n \n \n \n \n version: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BaseDO } from '@shared/domain/domainobject/base.do';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { ToolVersion } from '../../common/interface';\nimport { Oauth2ToolConfig, BasicToolConfig, Lti11ToolConfig, ExternalToolConfig } from './config';\nimport { CustomParameter } from '../../common/domain';\nimport { ToolConfigType, ToolContextType } from '../../common/enum';\n\nexport interface ExternalToolProps {\n\tid?: string;\n\n\tname: string;\n\n\turl?: string;\n\n\tlogoUrl?: string;\n\n\tlogo?: string;\n\n\tconfig: BasicToolConfig | Lti11ToolConfig | Oauth2ToolConfig;\n\n\tparameters?: CustomParameter[];\n\n\tisHidden: boolean;\n\n\topenNewTab: boolean;\n\n\tversion: number;\n\n\trestrictToContexts?: ToolContextType[];\n}\n\nexport class ExternalTool extends BaseDO implements ToolVersion {\n\tname: string;\n\n\turl?: string;\n\n\tlogoUrl?: string;\n\n\tlogo?: string;\n\n\tconfig: BasicToolConfig | Lti11ToolConfig | Oauth2ToolConfig;\n\n\tparameters?: CustomParameter[];\n\n\tisHidden: boolean;\n\n\topenNewTab: boolean;\n\n\tversion: number;\n\n\trestrictToContexts?: ToolContextType[];\n\n\tconstructor(props: ExternalToolProps) {\n\t\tsuper(props.id);\n\n\t\tthis.name = props.name;\n\t\tthis.url = props.url;\n\t\tthis.logoUrl = props.logoUrl;\n\t\tthis.logo = props.logo;\n\t\tif (ExternalTool.isBasicConfig(props.config)) {\n\t\t\tthis.config = new BasicToolConfig(props.config);\n\t\t} else if (ExternalTool.isOauth2Config(props.config)) {\n\t\t\tthis.config = new Oauth2ToolConfig(props.config);\n\t\t} else if (ExternalTool.isLti11Config(props.config)) {\n\t\t\tthis.config = new Lti11ToolConfig(props.config);\n\t\t} else {\n\t\t\tthrow new InternalServerErrorException(`Unknown tool config`);\n\t\t}\n\t\tthis.parameters = props.parameters;\n\t\tthis.isHidden = props.isHidden;\n\t\tthis.openNewTab = props.openNewTab;\n\t\tthis.version = props.version;\n\t\tthis.restrictToContexts = props.restrictToContexts;\n\t}\n\n\tgetVersion(): number {\n\t\treturn this.version;\n\t}\n\n\tstatic isBasicConfig(config: ExternalToolConfig): config is BasicToolConfig {\n\t\treturn ToolConfigType.BASIC === config.type;\n\t}\n\n\tstatic isOauth2Config(config: ExternalToolConfig): config is Oauth2ToolConfig {\n\t\treturn ToolConfigType.OAUTH2 === config.type;\n\t}\n\n\tstatic isLti11Config(config: ExternalToolConfig): config is Lti11ToolConfig {\n\t\treturn ToolConfigType.LTI11 === config.type;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/ExternalToolPseudonymEntity.html":{"url":"entities/ExternalToolPseudonymEntity.html","title":"entity - ExternalToolPseudonymEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n ExternalToolPseudonymEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/entity/external-tool-pseudonym.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n pseudonym\n \n \n \n toolId\n \n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n pseudonym\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()@Unique()\n \n \n \n \n \n Defined in apps/server/src/modules/pseudonym/entity/external-tool-pseudonym.entity.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n toolId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/pseudonym/entity/external-tool-pseudonym.entity.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/pseudonym/entity/external-tool-pseudonym.entity.ts:24\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property, Unique } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface ExternalToolPseudonymEntityProps {\n\tid?: EntityId;\n\tpseudonym: string;\n\ttoolId: ObjectId;\n\tuserId: ObjectId;\n}\n\n@Entity({ tableName: 'external-tool-pseudonyms' })\n@Unique({ properties: ['userId', 'toolId'] })\nexport class ExternalToolPseudonymEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Unique()\n\tpseudonym: string;\n\n\t@Property()\n\ttoolId: ObjectId;\n\n\t@Property()\n\tuserId: ObjectId;\n\n\tconstructor(props: ExternalToolPseudonymEntityProps) {\n\t\tsuper();\n\t\tif (props.id != null) {\n\t\t\tthis.id = props.id;\n\t\t}\n\t\tthis.pseudonym = props.pseudonym;\n\t\tthis.toolId = props.toolId;\n\t\tthis.userId = props.userId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ExternalToolPseudonymEntityProps.html":{"url":"interfaces/ExternalToolPseudonymEntityProps.html","title":"interface - ExternalToolPseudonymEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ExternalToolPseudonymEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/entity/external-tool-pseudonym.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n id\n \n \n \n \n pseudonym\n \n \n \n \n toolId\n \n \n \n \n userId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n pseudonym\n \n \n \n \n \n \n \n \n pseudonym: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n toolId\n \n \n \n \n \n \n \n \n toolId: ObjectId\n\n \n \n\n\n \n \n Type : ObjectId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: ObjectId\n\n \n \n\n\n \n \n Type : ObjectId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property, Unique } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface ExternalToolPseudonymEntityProps {\n\tid?: EntityId;\n\tpseudonym: string;\n\ttoolId: ObjectId;\n\tuserId: ObjectId;\n}\n\n@Entity({ tableName: 'external-tool-pseudonyms' })\n@Unique({ properties: ['userId', 'toolId'] })\nexport class ExternalToolPseudonymEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Unique()\n\tpseudonym: string;\n\n\t@Property()\n\ttoolId: ObjectId;\n\n\t@Property()\n\tuserId: ObjectId;\n\n\tconstructor(props: ExternalToolPseudonymEntityProps) {\n\t\tsuper();\n\t\tif (props.id != null) {\n\t\t\tthis.id = props.id;\n\t\t}\n\t\tthis.pseudonym = props.pseudonym;\n\t\tthis.toolId = props.toolId;\n\t\tthis.userId = props.userId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolPseudonymRepo.html":{"url":"injectables/ExternalToolPseudonymRepo.html","title":"injectable - ExternalToolPseudonymRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolPseudonymRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/repo/external-tool-pseudonym.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createOrUpdate\n \n \n Async\n deletePseudonymsByUserId\n \n \n Async\n findByUserId\n \n \n Async\n findByUserIdAndToolId\n \n \n Async\n findByUserIdAndToolIdOrFail\n \n \n Async\n findPseudonym\n \n \n Async\n findPseudonymByPseudonym\n \n \n Protected\n mapDomainObjectToEntityProperties\n \n \n Protected\n mapEntityToDomainObject\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/pseudonym/repo/external-tool-pseudonym.repo.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createOrUpdate\n \n \n \n \n \n \n \n createOrUpdate(domainObject: Pseudonym)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/external-tool-pseudonym.repo.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n Pseudonym\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deletePseudonymsByUserId\n \n \n \n \n \n \n \n deletePseudonymsByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/external-tool-pseudonym.repo.ts:71\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserId\n \n \n \n \n \n \n \n findByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/external-tool-pseudonym.repo.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserIdAndToolId\n \n \n \n \n \n \n \n findByUserIdAndToolId(userId: EntityId, toolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/external-tool-pseudonym.repo.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n toolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserIdAndToolIdOrFail\n \n \n \n \n \n \n \n findByUserIdAndToolIdOrFail(userId: EntityId, toolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/external-tool-pseudonym.repo.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n toolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findPseudonym\n \n \n \n \n \n \n \n findPseudonym(query: PseudonymSearchQuery, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/external-tool-pseudonym.repo.ts:114\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n PseudonymSearchQuery\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findPseudonymByPseudonym\n \n \n \n \n \n \n \n findPseudonymByPseudonym(pseudonym: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/external-tool-pseudonym.repo.ts:79\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonym\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n mapDomainObjectToEntityProperties\n \n \n \n \n \n \n \n mapDomainObjectToEntityProperties(entityDO: Pseudonym)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/external-tool-pseudonym.repo.ts:106\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n Pseudonym\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalToolPseudonymEntityProps\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n mapEntityToDomainObject\n \n \n \n \n \n \n \n mapEntityToDomainObject(entity: ExternalToolPseudonymEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/external-tool-pseudonym.repo.ts:93\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n ExternalToolPseudonymEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Pseudonym\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager, ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { Page, Pseudonym } from '@shared/domain/domainobject';\nimport { IFindOptions, Pagination } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { Scope } from '@shared/repo';\nimport { PseudonymSearchQuery } from '../domain';\nimport { ExternalToolPseudonymEntity, ExternalToolPseudonymEntityProps } from '../entity';\nimport { PseudonymScope } from '../entity/pseudonym.scope';\n\n@Injectable()\nexport class ExternalToolPseudonymRepo {\n\tconstructor(private readonly em: EntityManager) {}\n\n\tasync findByUserIdAndToolIdOrFail(userId: EntityId, toolId: EntityId): Promise {\n\t\tconst entity: ExternalToolPseudonymEntity = await this.em.findOneOrFail(ExternalToolPseudonymEntity, {\n\t\t\tuserId: new ObjectId(userId),\n\t\t\ttoolId: new ObjectId(toolId),\n\t\t});\n\n\t\tconst domainObject: Pseudonym = this.mapEntityToDomainObject(entity);\n\n\t\treturn domainObject;\n\t}\n\n\tasync findByUserIdAndToolId(userId: EntityId, toolId: EntityId): Promise {\n\t\tconst entity: ExternalToolPseudonymEntity | null = await this.em.findOne(ExternalToolPseudonymEntity, {\n\t\t\tuserId: new ObjectId(userId),\n\t\t\ttoolId: new ObjectId(toolId),\n\t\t});\n\n\t\tif (!entity) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst domainObject: Pseudonym = this.mapEntityToDomainObject(entity);\n\n\t\treturn domainObject;\n\t}\n\n\tasync findByUserId(userId: EntityId): Promise {\n\t\tconst entities: ExternalToolPseudonymEntity[] = await this.em.find(ExternalToolPseudonymEntity, {\n\t\t\tuserId: new ObjectId(userId),\n\t\t});\n\t\tconst pseudonyms: Pseudonym[] = entities.map((entity) => this.mapEntityToDomainObject(entity));\n\n\t\treturn pseudonyms;\n\t}\n\n\tasync createOrUpdate(domainObject: Pseudonym): Promise {\n\t\tconst existing: ExternalToolPseudonymEntity | undefined = this.em\n\t\t\t.getUnitOfWork()\n\t\t\t.getById(ExternalToolPseudonymEntity.name, domainObject.id);\n\n\t\tconst entityProps: ExternalToolPseudonymEntityProps = this.mapDomainObjectToEntityProperties(domainObject);\n\t\tlet entity: ExternalToolPseudonymEntity = new ExternalToolPseudonymEntity(entityProps);\n\n\t\tif (existing) {\n\t\t\tentity = this.em.assign(existing, entity);\n\t\t} else {\n\t\t\tthis.em.persist(entity);\n\t\t}\n\n\t\tawait this.em.flush();\n\n\t\tconst savedDomainObject: Pseudonym = this.mapEntityToDomainObject(entity);\n\n\t\treturn savedDomainObject;\n\t}\n\n\tasync deletePseudonymsByUserId(userId: EntityId): Promise {\n\t\tconst promise: Promise = this.em.nativeDelete(ExternalToolPseudonymEntity, {\n\t\t\tuserId: new ObjectId(userId),\n\t\t});\n\n\t\treturn promise;\n\t}\n\n\tasync findPseudonymByPseudonym(pseudonym: string): Promise {\n\t\tconst entities: ExternalToolPseudonymEntity | null = await this.em.findOne(ExternalToolPseudonymEntity, {\n\t\t\tpseudonym,\n\t\t});\n\n\t\tif (!entities) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst domainObject: Pseudonym = this.mapEntityToDomainObject(entities);\n\n\t\treturn domainObject;\n\t}\n\n\tprotected mapEntityToDomainObject(entity: ExternalToolPseudonymEntity): Pseudonym {\n\t\tconst pseudonym = new Pseudonym({\n\t\t\tid: entity.id,\n\t\t\tpseudonym: entity.pseudonym,\n\t\t\ttoolId: entity.toolId.toHexString(),\n\t\t\tuserId: entity.userId.toHexString(),\n\t\t\tcreatedAt: entity.createdAt,\n\t\t\tupdatedAt: entity.updatedAt,\n\t\t});\n\n\t\treturn pseudonym;\n\t}\n\n\tprotected mapDomainObjectToEntityProperties(entityDO: Pseudonym): ExternalToolPseudonymEntityProps {\n\t\treturn {\n\t\t\tpseudonym: entityDO.pseudonym,\n\t\t\ttoolId: new ObjectId(entityDO.toolId),\n\t\t\tuserId: new ObjectId(entityDO.userId),\n\t\t};\n\t}\n\n\tasync findPseudonym(query: PseudonymSearchQuery, options?: IFindOptions): Promise> {\n\t\tconst pagination: Pagination = options?.pagination ?? {};\n\t\tconst scope: Scope = new PseudonymScope()\n\t\t\t.byPseudonym(query.pseudonym)\n\t\t\t.byToolId(query.toolId)\n\t\t\t.byUserId(query.userId)\n\t\t\t.allowEmptyQuery(true);\n\n\t\tconst [entities, total] = await this.em.findAndCount(ExternalToolPseudonymEntity, scope.query, {\n\t\t\toffset: pagination?.skip,\n\t\t\tlimit: pagination?.limit,\n\t\t});\n\n\t\tconst entityDos: Pseudonym[] = entities.map((entity) => this.mapEntityToDomainObject(entity));\n\t\tconst page: Page = new Page(entityDos, total);\n\n\t\treturn page;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolRepo.html":{"url":"injectables/ExternalToolRepo.html","title":"injectable - ExternalToolRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/externaltool/external-tool.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseDORepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n find\n \n \n Async\n findAllByConfigType\n \n \n Async\n findByName\n \n \n Async\n findByOAuth2ConfigClientId\n \n \n mapDOToEntityProperties\n \n \n mapEntityToDO\n \n \n Private\n Async\n createOrUpdateEntity\n \n \n Async\n delete\n \n \n Async\n deleteById\n \n \n Async\n findById\n \n \n Private\n removeProtectedEntityFields\n \n \n Async\n save\n \n \n Async\n saveAll\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(_em: EntityManager, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n _em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n find\n \n \n \n \n \n \n \n find(query: ExternalToolSearchQuery, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n ExternalToolSearchQuery\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllByConfigType\n \n \n \n \n \n \n \n findAllByConfigType(type: ToolConfigType)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n ToolConfigType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByName\n \n \n \n \n \n \n \n findByName(name: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByOAuth2ConfigClientId\n \n \n \n \n \n \n \n findByOAuth2ConfigClientId(clientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n clientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapDOToEntityProperties\n \n \n \n \n \n \nmapDOToEntityProperties(entityDO: ExternalTool)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:87\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : EntityData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapEntityToDO\n \n \n \n \n \n \nmapEntityToDO(entity: ExternalToolEntity)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:81\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n ExternalToolEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalTool\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createOrUpdateEntity\n \n \n \n \n \n \n \n createOrUpdateEntity(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:32\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(domainObjects: DO[] | DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:61\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[] | DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteById\n \n \n \n \n \n \n [object Object],[object Object],[object Object]\n \n \n \n \n \n deleteById(id: EntityId | EntityId[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:78\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:90\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeProtectedEntityFields\n \n \n \n \n \n \n \n removeProtectedEntityFields(entityData: EntityData)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:98\n\n \n \n\n\n \n \n Ignore base entity properties when updating entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityData\n \n EntityData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAll\n \n \n \n \n \n \n \n saveAll(domainObjects: DO[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.ts:20\n \n \n\n \n \n\n \n\n\n \n import { EntityData, EntityName, QueryOrderMap } from '@mikro-orm/core';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { ToolConfigType } from '@modules/tool/common/enum';\nimport { ExternalToolSearchQuery } from '@modules/tool/common/interface';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { ExternalToolEntity } from '@modules/tool/external-tool/entity';\nimport { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { Page } from '@shared/domain/domainobject';\nimport { IFindOptions, Pagination, SortOrder } from '@shared/domain/interface';\nimport { BaseDORepo, ExternalToolRepoMapper, ExternalToolSortingMapper, Scope } from '@shared/repo';\nimport { LegacyLogger } from '@src/core/logger';\nimport { ExternalToolScope } from './external-tool.scope';\n\n@Injectable()\nexport class ExternalToolRepo extends BaseDORepo {\n\tconstructor(protected readonly _em: EntityManager, protected readonly logger: LegacyLogger) {\n\t\tsuper(_em, logger);\n\t}\n\n\tget entityName(): EntityName {\n\t\treturn ExternalToolEntity;\n\t}\n\n\tasync findByName(name: string): Promise {\n\t\tconst entity: ExternalToolEntity | null = await this._em.findOne(this.entityName, { name });\n\t\tif (entity !== null) {\n\t\t\tconst domainObject: ExternalTool = this.mapEntityToDO(entity);\n\t\t\treturn domainObject;\n\t\t}\n\t\treturn null;\n\t}\n\n\tasync findAllByConfigType(type: ToolConfigType): Promise {\n\t\tconst entities: ExternalToolEntity[] = await this._em.find(this.entityName, { config: { type } });\n\t\tconst domainObjects: ExternalTool[] = entities.map((entity: ExternalToolEntity): ExternalTool => {\n\t\t\tconst domainObject: ExternalTool = this.mapEntityToDO(entity);\n\t\t\treturn domainObject;\n\t\t});\n\t\treturn domainObjects;\n\t}\n\n\tasync findByOAuth2ConfigClientId(clientId: string): Promise {\n\t\tconst entity: ExternalToolEntity | null = await this._em.findOne(this.entityName, { config: { clientId } });\n\t\tif (entity !== null) {\n\t\t\tconst domainObject: ExternalTool = this.mapEntityToDO(entity);\n\t\t\treturn domainObject;\n\t\t}\n\t\treturn null;\n\t}\n\n\tasync find(query: ExternalToolSearchQuery, options?: IFindOptions): Promise> {\n\t\tconst pagination: Pagination = options?.pagination || {};\n\t\tconst order: QueryOrderMap = ExternalToolSortingMapper.mapDOSortOrderToQueryOrder(\n\t\t\toptions?.order || {}\n\t\t);\n\t\tconst scope: Scope = new ExternalToolScope()\n\t\t\t.byName(query.name)\n\t\t\t.byClientId(query.clientId)\n\t\t\t.byHidden(query.isHidden)\n\t\t\t.allowEmptyQuery(true);\n\n\t\tif (order._id == null) {\n\t\t\torder._id = SortOrder.asc;\n\t\t}\n\n\t\tconst [entities, total]: [ExternalToolEntity[], number] = await this._em.findAndCount(\n\t\t\tExternalToolEntity,\n\t\t\tscope.query,\n\t\t\t{\n\t\t\t\toffset: pagination?.skip,\n\t\t\t\tlimit: pagination?.limit,\n\t\t\t\torderBy: order,\n\t\t\t}\n\t\t);\n\n\t\tconst entityDos: ExternalTool[] = entities.map((entity) => this.mapEntityToDO(entity));\n\t\tconst page: Page = new Page(entityDos, total);\n\t\treturn page;\n\t}\n\n\tmapEntityToDO(entity: ExternalToolEntity): ExternalTool {\n\t\tconst domainObject = ExternalToolRepoMapper.mapEntityToDO(entity);\n\n\t\treturn domainObject;\n\t}\n\n\tmapDOToEntityProperties(entityDO: ExternalTool): EntityData {\n\t\tconst entity = ExternalToolRepoMapper.mapDOToEntityProperties(entityDO);\n\n\t\treturn entity;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolRepoMapper.html":{"url":"classes/ExternalToolRepoMapper.html","title":"class - ExternalToolRepoMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolRepoMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapBasicToolConfigDOToEntity\n \n \n Static\n mapBasicToolConfigToDO\n \n \n Static\n mapCustomParameterDOsToEntities\n \n \n Static\n mapCustomParameterEntryDOsToEntities\n \n \n Static\n mapCustomParameterEntryEntitiesToDOs\n \n \n Static\n mapCustomParametersToDOs\n \n \n Static\n mapDOToEntityProperties\n \n \n Static\n mapEntityToDO\n \n \n Static\n mapLti11ToolConfigDOToEntity\n \n \n Static\n mapLti11ToolConfigToDO\n \n \n Static\n mapOauth2ConfigDOToEntity\n \n \n Static\n mapOauth2ConfigToDO\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapBasicToolConfigDOToEntity\n \n \n \n \n \n \n \n mapBasicToolConfigDOToEntity(lti11Config: BasicToolConfig)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:109\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n lti11Config\n \n BasicToolConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BasicToolConfigEntity\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapBasicToolConfigToDO\n \n \n \n \n \n \n \n mapBasicToolConfigToDO(lti11Config: BasicToolConfigEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n lti11Config\n \n BasicToolConfigEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BasicToolConfig\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapCustomParameterDOsToEntities\n \n \n \n \n \n \n \n mapCustomParameterDOsToEntities(customParameters: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:156\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameters\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CustomParameterEntity[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapCustomParameterEntryDOsToEntities\n \n \n \n \n \n \n \n mapCustomParameterEntryDOsToEntities(entries: CustomParameterEntry[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:184\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entries\n \n CustomParameterEntry[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CustomParameterEntryEntity[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapCustomParameterEntryEntitiesToDOs\n \n \n \n \n \n \n \n mapCustomParameterEntryEntitiesToDOs(entries: CustomParameterEntryEntity[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:174\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entries\n \n CustomParameterEntryEntity[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CustomParameterEntry[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapCustomParametersToDOs\n \n \n \n \n \n \n \n mapCustomParametersToDOs(customParameters: CustomParameterEntity[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:138\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameters\n \n CustomParameterEntity[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CustomParameter[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapDOToEntityProperties\n \n \n \n \n \n \n \n mapDOToEntityProperties(entityDO: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:78\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : EntityData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapEntityToDO\n \n \n \n \n \n \n \n mapEntityToDO(entity: ExternalToolEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n ExternalToolEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalTool\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapLti11ToolConfigDOToEntity\n \n \n \n \n \n \n \n mapLti11ToolConfigDOToEntity(lti11Config: Lti11ToolConfig)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:125\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n lti11Config\n \n Lti11ToolConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Lti11ToolConfigEntity\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapLti11ToolConfigToDO\n \n \n \n \n \n \n \n mapLti11ToolConfigToDO(lti11Config: Lti11ToolConfigEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n lti11Config\n \n Lti11ToolConfigEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Lti11ToolConfig\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapOauth2ConfigDOToEntity\n \n \n \n \n \n \n \n mapOauth2ConfigDOToEntity(oauth2Config: Oauth2ToolConfig)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:116\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauth2Config\n \n Oauth2ToolConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Oauth2ToolConfigEntity\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapOauth2ConfigToDO\n \n \n \n \n \n \n \n mapOauth2ConfigToDO(oauth2Config: Oauth2ToolConfigEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.repo.mapper.ts:56\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauth2Config\n \n Oauth2ToolConfigEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Oauth2ToolConfig\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UnprocessableEntityException } from '@nestjs/common';\nimport { CustomParameter, CustomParameterEntry } from '@modules/tool/common/domain';\nimport { CustomParameterEntryEntity } from '@modules/tool/common/entity';\nimport { ToolConfigType } from '@modules/tool/common/enum';\nimport { BasicToolConfig, ExternalTool, Lti11ToolConfig, Oauth2ToolConfig } from '@modules/tool/external-tool/domain';\nimport {\n\tBasicToolConfigEntity,\n\tCustomParameterEntity,\n\tExternalToolEntity,\n\tLti11ToolConfigEntity,\n\tOauth2ToolConfigEntity,\n} from '@modules/tool/external-tool/entity';\nimport { EntityData } from '@mikro-orm/core';\n\n// TODO: maybe rename because of usage in external tool repo and school external tool repo\nexport class ExternalToolRepoMapper {\n\tstatic mapEntityToDO(entity: ExternalToolEntity): ExternalTool {\n\t\tlet config: BasicToolConfig | Oauth2ToolConfig | Lti11ToolConfig;\n\t\tswitch (entity.config.type) {\n\t\t\tcase ToolConfigType.BASIC:\n\t\t\t\tconfig = this.mapBasicToolConfigToDO(entity.config as BasicToolConfig);\n\t\t\t\tbreak;\n\t\t\tcase ToolConfigType.OAUTH2:\n\t\t\t\tconfig = this.mapOauth2ConfigToDO(entity.config as Oauth2ToolConfig);\n\t\t\t\tbreak;\n\t\t\tcase ToolConfigType.LTI11:\n\t\t\t\tconfig = this.mapLti11ToolConfigToDO(entity.config as Lti11ToolConfig);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\t/* istanbul ignore next */\n\t\t\t\tthrow new UnprocessableEntityException(`Unknown config type.`);\n\t\t}\n\n\t\treturn new ExternalTool({\n\t\t\tid: entity.id,\n\t\t\tname: entity.name,\n\t\t\turl: entity.url,\n\t\t\tlogoUrl: entity.logoUrl,\n\t\t\tlogo: entity.logoBase64,\n\t\t\tconfig,\n\t\t\tparameters: this.mapCustomParametersToDOs(entity.parameters || []),\n\t\t\tisHidden: entity.isHidden,\n\t\t\topenNewTab: entity.openNewTab,\n\t\t\tversion: entity.version,\n\t\t\trestrictToContexts: entity.restrictToContexts,\n\t\t});\n\t}\n\n\tstatic mapBasicToolConfigToDO(lti11Config: BasicToolConfigEntity): BasicToolConfig {\n\t\treturn new BasicToolConfig({\n\t\t\ttype: lti11Config.type,\n\t\t\tbaseUrl: lti11Config.baseUrl,\n\t\t});\n\t}\n\n\tstatic mapOauth2ConfigToDO(oauth2Config: Oauth2ToolConfigEntity): Oauth2ToolConfig {\n\t\treturn new Oauth2ToolConfig({\n\t\t\ttype: oauth2Config.type,\n\t\t\tbaseUrl: oauth2Config.baseUrl,\n\t\t\tclientId: oauth2Config.clientId,\n\t\t\tskipConsent: oauth2Config.skipConsent,\n\t\t});\n\t}\n\n\tstatic mapLti11ToolConfigToDO(lti11Config: Lti11ToolConfigEntity): Lti11ToolConfig {\n\t\treturn new Lti11ToolConfig({\n\t\t\ttype: lti11Config.type,\n\t\t\tbaseUrl: lti11Config.baseUrl,\n\t\t\tkey: lti11Config.key,\n\t\t\tsecret: lti11Config.secret,\n\t\t\tlti_message_type: lti11Config.lti_message_type,\n\t\t\tresource_link_id: lti11Config.resource_link_id,\n\t\t\tprivacy_permission: lti11Config.privacy_permission,\n\t\t\tlaunch_presentation_locale: lti11Config.launch_presentation_locale,\n\t\t});\n\t}\n\n\tstatic mapDOToEntityProperties(entityDO: ExternalTool): EntityData {\n\t\tlet config: BasicToolConfigEntity | Oauth2ToolConfigEntity | Lti11ToolConfigEntity;\n\t\tswitch (entityDO.config.type) {\n\t\t\tcase ToolConfigType.BASIC:\n\t\t\t\tconfig = this.mapBasicToolConfigDOToEntity(entityDO.config as BasicToolConfig);\n\t\t\t\tbreak;\n\t\t\tcase ToolConfigType.OAUTH2:\n\t\t\t\tconfig = this.mapOauth2ConfigDOToEntity(entityDO.config as Oauth2ToolConfig);\n\t\t\t\tbreak;\n\t\t\tcase ToolConfigType.LTI11:\n\t\t\t\tconfig = this.mapLti11ToolConfigDOToEntity(entityDO.config as Lti11ToolConfig);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\t/* istanbul ignore next */\n\t\t\t\tthrow new UnprocessableEntityException(`Unknown config type.`);\n\t\t}\n\n\t\treturn {\n\t\t\tname: entityDO.name,\n\t\t\turl: entityDO.url,\n\t\t\tlogoUrl: entityDO.logoUrl,\n\t\t\tlogoBase64: entityDO.logo,\n\t\t\tconfig,\n\t\t\tparameters: this.mapCustomParameterDOsToEntities(entityDO.parameters ?? []),\n\t\t\tisHidden: entityDO.isHidden,\n\t\t\topenNewTab: entityDO.openNewTab,\n\t\t\tversion: entityDO.version,\n\t\t\trestrictToContexts: entityDO.restrictToContexts,\n\t\t};\n\t}\n\n\tstatic mapBasicToolConfigDOToEntity(lti11Config: BasicToolConfig): BasicToolConfigEntity {\n\t\treturn new BasicToolConfigEntity({\n\t\t\ttype: lti11Config.type,\n\t\t\tbaseUrl: lti11Config.baseUrl,\n\t\t});\n\t}\n\n\tstatic mapOauth2ConfigDOToEntity(oauth2Config: Oauth2ToolConfig): Oauth2ToolConfigEntity {\n\t\treturn new Oauth2ToolConfigEntity({\n\t\t\ttype: oauth2Config.type,\n\t\t\tbaseUrl: oauth2Config.baseUrl,\n\t\t\tclientId: oauth2Config.clientId,\n\t\t\tskipConsent: oauth2Config.skipConsent,\n\t\t});\n\t}\n\n\tstatic mapLti11ToolConfigDOToEntity(lti11Config: Lti11ToolConfig): Lti11ToolConfigEntity {\n\t\treturn new Lti11ToolConfigEntity({\n\t\t\ttype: lti11Config.type,\n\t\t\tbaseUrl: lti11Config.baseUrl,\n\t\t\tkey: lti11Config.key,\n\t\t\tsecret: lti11Config.secret,\n\t\t\tlti_message_type: lti11Config.lti_message_type,\n\t\t\tresource_link_id: lti11Config.resource_link_id,\n\t\t\tprivacy_permission: lti11Config.privacy_permission,\n\t\t\tlaunch_presentation_locale: lti11Config.launch_presentation_locale,\n\t\t});\n\t}\n\n\tstatic mapCustomParametersToDOs(customParameters: CustomParameterEntity[]): CustomParameter[] {\n\t\treturn customParameters.map(\n\t\t\t(param: CustomParameterEntity) =>\n\t\t\t\tnew CustomParameter({\n\t\t\t\t\tname: param.name,\n\t\t\t\t\tdisplayName: param.displayName,\n\t\t\t\t\tdescription: param.description,\n\t\t\t\t\tdefault: param.default,\n\t\t\t\t\tregex: param.regex,\n\t\t\t\t\tregexComment: param.regexComment,\n\t\t\t\t\tscope: param.scope,\n\t\t\t\t\tlocation: param.location,\n\t\t\t\t\ttype: param.type,\n\t\t\t\t\tisOptional: param.isOptional,\n\t\t\t\t})\n\t\t);\n\t}\n\n\tstatic mapCustomParameterDOsToEntities(customParameters: CustomParameter[]): CustomParameterEntity[] {\n\t\treturn customParameters.map(\n\t\t\t(param: CustomParameter) =>\n\t\t\t\tnew CustomParameterEntity({\n\t\t\t\t\tname: param.name,\n\t\t\t\t\tdisplayName: param.displayName,\n\t\t\t\t\tdescription: param.description,\n\t\t\t\t\tdefault: param.default,\n\t\t\t\t\tregex: param.regex,\n\t\t\t\t\tregexComment: param.regexComment,\n\t\t\t\t\tscope: param.scope,\n\t\t\t\t\tlocation: param.location,\n\t\t\t\t\ttype: param.type,\n\t\t\t\t\tisOptional: param.isOptional,\n\t\t\t\t})\n\t\t);\n\t}\n\n\tstatic mapCustomParameterEntryEntitiesToDOs(entries: CustomParameterEntryEntity[]): CustomParameterEntry[] {\n\t\treturn entries.map(\n\t\t\t(entry: CustomParameterEntryEntity): CustomParameterEntry =>\n\t\t\t\tnew CustomParameterEntry({\n\t\t\t\t\tname: entry.name,\n\t\t\t\t\tvalue: entry.value,\n\t\t\t\t})\n\t\t);\n\t}\n\n\tstatic mapCustomParameterEntryDOsToEntities(entries: CustomParameterEntry[]): CustomParameterEntryEntity[] {\n\t\treturn entries.map(\n\t\t\t(entry: CustomParameterEntryEntity): CustomParameterEntry =>\n\t\t\t\tnew CustomParameterEntryEntity({\n\t\t\t\t\tname: entry.name,\n\t\t\t\t\tvalue: entry.value,\n\t\t\t\t})\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolRequestMapper.html":{"url":"injectables/ExternalToolRequestMapper.html","title":"injectable - ExternalToolRequestMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolRequestMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/mapper/external-tool-request.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n mapCreateRequest\n \n \n mapExternalToolFilterQueryToExternalToolSearchQuery\n \n \n Private\n mapRequestToBasicToolConfig\n \n \n Private\n mapRequestToCustomParameterDO\n \n \n Private\n mapRequestToLti11ToolConfigCreate\n \n \n Private\n mapRequestToLti11ToolConfigUpdate\n \n \n Private\n mapRequestToOauth2ToolConfigCreate\n \n \n Private\n mapRequestToOauth2ToolConfigUpdate\n \n \n mapSortingQueryToDomain\n \n \n Public\n mapUpdateRequest\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n mapCreateRequest\n \n \n \n \n \n \n \n mapCreateRequest(externalToolCreateParams: ExternalToolCreateParams, version: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-request.mapper.ts:88\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n externalToolCreateParams\n \n ExternalToolCreateParams\n \n\n \n No\n \n\n \n \n\n \n \n version\n \n number\n \n\n \n No\n \n\n \n 1\n \n\n \n \n \n \n \n Returns : ExternalToolCreate\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapExternalToolFilterQueryToExternalToolSearchQuery\n \n \n \n \n \n \nmapExternalToolFilterQueryToExternalToolSearchQuery(params: ExternalToolSearchParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-request.mapper.ts:172\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n ExternalToolSearchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalToolSearchQuery\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapRequestToBasicToolConfig\n \n \n \n \n \n \n \n mapRequestToBasicToolConfig(externalToolConfigParams: BasicToolConfigParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-request.mapper.ts:115\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolConfigParams\n \n BasicToolConfigParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BasicToolConfigDto\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapRequestToCustomParameterDO\n \n \n \n \n \n \n \n mapRequestToCustomParameterDO(customParameterParams: CustomParameterPostParams[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-request.mapper.ts:143\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameterParams\n \n CustomParameterPostParams[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CustomParameterDto[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapRequestToLti11ToolConfigCreate\n \n \n \n \n \n \n \n mapRequestToLti11ToolConfigCreate(externalToolConfigParams: Lti11ToolConfigCreateParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-request.mapper.ts:119\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolConfigParams\n \n Lti11ToolConfigCreateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Lti11ToolConfigCreate\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapRequestToLti11ToolConfigUpdate\n \n \n \n \n \n \n \n mapRequestToLti11ToolConfigUpdate(externalToolConfigParams: Lti11ToolConfigUpdateParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-request.mapper.ts:125\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolConfigParams\n \n Lti11ToolConfigUpdateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Lti11ToolConfigUpdate\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapRequestToOauth2ToolConfigCreate\n \n \n \n \n \n \n \n mapRequestToOauth2ToolConfigCreate(externalToolConfigParams: Oauth2ToolConfigCreateParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-request.mapper.ts:131\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolConfigParams\n \n Oauth2ToolConfigCreateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Oauth2ToolConfigCreate\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapRequestToOauth2ToolConfigUpdate\n \n \n \n \n \n \n \n mapRequestToOauth2ToolConfigUpdate(externalToolConfigParams: Oauth2ToolConfigUpdateParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-request.mapper.ts:137\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolConfigParams\n \n Oauth2ToolConfigUpdateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Oauth2ToolConfigUpdate\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapSortingQueryToDomain\n \n \n \n \n \n \nmapSortingQueryToDomain(sortingQuery: SortExternalToolParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-request.mapper.ts:160\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n sortingQuery\n \n SortExternalToolParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SortOrderMap | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n mapUpdateRequest\n \n \n \n \n \n \n \n mapUpdateRequest(externalToolUpdateParams: ExternalToolUpdateParams, version: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-request.mapper.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n externalToolUpdateParams\n \n ExternalToolUpdateParams\n \n\n \n No\n \n\n \n \n\n \n \n version\n \n number\n \n\n \n No\n \n\n \n 1\n \n\n \n \n \n \n \n Returns : ExternalToolUpdate\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { SortOrderMap } from '@shared/domain/interface';\nimport {\n\tCustomParameterLocation,\n\tCustomParameterLocationParams,\n\tCustomParameterScope,\n\tCustomParameterScopeTypeParams,\n\tCustomParameterType,\n\tCustomParameterTypeParams,\n} from '../../common/enum';\nimport { ExternalToolSearchQuery } from '../../common/interface';\nimport {\n\tBasicToolConfigParams,\n\tCustomParameterPostParams,\n\tExternalToolCreateParams,\n\tExternalToolSearchParams,\n\tExternalToolUpdateParams,\n\tLti11ToolConfigCreateParams,\n\tLti11ToolConfigUpdateParams,\n\tOauth2ToolConfigCreateParams,\n\tOauth2ToolConfigUpdateParams,\n\tSortExternalToolParams,\n} from '../controller/dto';\nimport { ExternalTool } from '../domain';\nimport {\n\tBasicToolConfigDto,\n\tCustomParameterDto,\n\tExternalToolCreate,\n\tExternalToolUpdate,\n\tLti11ToolConfigCreate,\n\tLti11ToolConfigUpdate,\n\tOauth2ToolConfigCreate,\n\tOauth2ToolConfigUpdate,\n} from '../uc';\n\nconst scopeMapping: Record = {\n\t[CustomParameterScopeTypeParams.GLOBAL]: CustomParameterScope.GLOBAL,\n\t[CustomParameterScopeTypeParams.SCHOOL]: CustomParameterScope.SCHOOL,\n\t[CustomParameterScopeTypeParams.CONTEXT]: CustomParameterScope.CONTEXT,\n};\n\nconst locationMapping: Record = {\n\t[CustomParameterLocationParams.PATH]: CustomParameterLocation.PATH,\n\t[CustomParameterLocationParams.QUERY]: CustomParameterLocation.QUERY,\n\t[CustomParameterLocationParams.BODY]: CustomParameterLocation.BODY,\n};\n\nconst typeMapping: Record = {\n\t[CustomParameterTypeParams.STRING]: CustomParameterType.STRING,\n\t[CustomParameterTypeParams.BOOLEAN]: CustomParameterType.BOOLEAN,\n\t[CustomParameterTypeParams.NUMBER]: CustomParameterType.NUMBER,\n\t[CustomParameterTypeParams.AUTO_CONTEXTID]: CustomParameterType.AUTO_CONTEXTID,\n\t[CustomParameterTypeParams.AUTO_CONTEXTNAME]: CustomParameterType.AUTO_CONTEXTNAME,\n\t[CustomParameterTypeParams.AUTO_SCHOOLID]: CustomParameterType.AUTO_SCHOOLID,\n\t[CustomParameterTypeParams.AUTO_SCHOOLNUMBER]: CustomParameterType.AUTO_SCHOOLNUMBER,\n};\n\n@Injectable()\nexport class ExternalToolRequestMapper {\n\tpublic mapUpdateRequest(externalToolUpdateParams: ExternalToolUpdateParams, version = 1): ExternalToolUpdate {\n\t\tlet mappedConfig: BasicToolConfigDto | Lti11ToolConfigUpdate | Oauth2ToolConfigUpdate;\n\t\tif (externalToolUpdateParams.config instanceof BasicToolConfigParams) {\n\t\t\tmappedConfig = this.mapRequestToBasicToolConfig(externalToolUpdateParams.config);\n\t\t} else if (externalToolUpdateParams.config instanceof Lti11ToolConfigUpdateParams) {\n\t\t\tmappedConfig = this.mapRequestToLti11ToolConfigUpdate(externalToolUpdateParams.config);\n\t\t} else {\n\t\t\tmappedConfig = this.mapRequestToOauth2ToolConfigUpdate(externalToolUpdateParams.config);\n\t\t}\n\n\t\tconst mappedCustomParameter: CustomParameterDto[] = this.mapRequestToCustomParameterDO(\n\t\t\texternalToolUpdateParams.parameters ?? []\n\t\t);\n\n\t\treturn {\n\t\t\tid: externalToolUpdateParams.id,\n\t\t\tname: externalToolUpdateParams.name,\n\t\t\turl: externalToolUpdateParams.url,\n\t\t\tlogoUrl: externalToolUpdateParams.logoUrl,\n\t\t\tconfig: mappedConfig,\n\t\t\tparameters: mappedCustomParameter,\n\t\t\tisHidden: externalToolUpdateParams.isHidden,\n\t\t\topenNewTab: externalToolUpdateParams.openNewTab,\n\t\t\tversion,\n\t\t\trestrictToContexts: externalToolUpdateParams.restrictToContexts,\n\t\t};\n\t}\n\n\tpublic mapCreateRequest(externalToolCreateParams: ExternalToolCreateParams, version = 1): ExternalToolCreate {\n\t\tlet mappedConfig: BasicToolConfigDto | Lti11ToolConfigCreate | Oauth2ToolConfigCreate;\n\t\tif (externalToolCreateParams.config instanceof BasicToolConfigParams) {\n\t\t\tmappedConfig = this.mapRequestToBasicToolConfig(externalToolCreateParams.config);\n\t\t} else if (externalToolCreateParams.config instanceof Lti11ToolConfigCreateParams) {\n\t\t\tmappedConfig = this.mapRequestToLti11ToolConfigCreate(externalToolCreateParams.config);\n\t\t} else {\n\t\t\tmappedConfig = this.mapRequestToOauth2ToolConfigCreate(externalToolCreateParams.config);\n\t\t}\n\n\t\tconst mappedCustomParameter: CustomParameterDto[] = this.mapRequestToCustomParameterDO(\n\t\t\texternalToolCreateParams.parameters ?? []\n\t\t);\n\n\t\treturn {\n\t\t\tname: externalToolCreateParams.name,\n\t\t\turl: externalToolCreateParams.url,\n\t\t\tlogoUrl: externalToolCreateParams.logoUrl,\n\t\t\tconfig: mappedConfig,\n\t\t\tparameters: mappedCustomParameter,\n\t\t\tisHidden: externalToolCreateParams.isHidden,\n\t\t\topenNewTab: externalToolCreateParams.openNewTab,\n\t\t\tversion,\n\t\t\trestrictToContexts: externalToolCreateParams.restrictToContexts,\n\t\t};\n\t}\n\n\tprivate mapRequestToBasicToolConfig(externalToolConfigParams: BasicToolConfigParams): BasicToolConfigDto {\n\t\treturn { ...externalToolConfigParams };\n\t}\n\n\tprivate mapRequestToLti11ToolConfigCreate(\n\t\texternalToolConfigParams: Lti11ToolConfigCreateParams\n\t): Lti11ToolConfigCreate {\n\t\treturn { ...externalToolConfigParams };\n\t}\n\n\tprivate mapRequestToLti11ToolConfigUpdate(\n\t\texternalToolConfigParams: Lti11ToolConfigUpdateParams\n\t): Lti11ToolConfigUpdate {\n\t\treturn { ...externalToolConfigParams };\n\t}\n\n\tprivate mapRequestToOauth2ToolConfigCreate(\n\t\texternalToolConfigParams: Oauth2ToolConfigCreateParams\n\t): Oauth2ToolConfigCreate {\n\t\treturn { ...externalToolConfigParams };\n\t}\n\n\tprivate mapRequestToOauth2ToolConfigUpdate(\n\t\texternalToolConfigParams: Oauth2ToolConfigUpdateParams\n\t): Oauth2ToolConfigUpdate {\n\t\treturn { ...externalToolConfigParams };\n\t}\n\n\tprivate mapRequestToCustomParameterDO(customParameterParams: CustomParameterPostParams[]): CustomParameterDto[] {\n\t\treturn customParameterParams.map((customParameterParam: CustomParameterPostParams) => {\n\t\t\treturn {\n\t\t\t\tname: customParameterParam.name,\n\t\t\t\tdisplayName: customParameterParam.displayName,\n\t\t\t\tdescription: customParameterParam.description,\n\t\t\t\tdefault: customParameterParam.defaultValue,\n\t\t\t\tregex: customParameterParam.regex,\n\t\t\t\tregexComment: customParameterParam.regexComment,\n\t\t\t\tscope: scopeMapping[customParameterParam.scope],\n\t\t\t\tlocation: locationMapping[customParameterParam.location],\n\t\t\t\ttype: typeMapping[customParameterParam.type],\n\t\t\t\tisOptional: customParameterParam.isOptional,\n\t\t\t};\n\t\t});\n\t}\n\n\tmapSortingQueryToDomain(sortingQuery: SortExternalToolParams): SortOrderMap | undefined {\n\t\tconst { sortBy } = sortingQuery;\n\t\tif (sortBy == null) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst result: SortOrderMap = {\n\t\t\t[sortBy]: sortingQuery.sortOrder,\n\t\t};\n\t\treturn result;\n\t}\n\n\tmapExternalToolFilterQueryToExternalToolSearchQuery(params: ExternalToolSearchParams): ExternalToolSearchQuery {\n\t\tconst searchQuery: ExternalToolSearchQuery = {\n\t\t\tname: params.name,\n\t\t\tclientId: params.clientId,\n\t\t};\n\n\t\treturn searchQuery;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolResponse.html":{"url":"classes/ExternalToolResponse.html","title":"class - ExternalToolResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n config\n \n \n \n id\n \n \n \n isHidden\n \n \n \n Optional\n logoUrl\n \n \n \n name\n \n \n \n openNewTab\n \n \n \n parameters\n \n \n \n Optional\n restrictToContexts\n \n \n \n Optional\n url\n \n \n \n version\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(response: ExternalToolResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts:35\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n \n ExternalToolResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n config\n \n \n \n \n \n \n Type : BasicToolConfigResponse | Oauth2ToolConfigResponse | Lti11ToolConfigResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n isHidden\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n \n openNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n Type : CustomParameterResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n restrictToContexts\n \n \n \n \n \n \n Type : ToolContextType[]\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({enum: ToolContextType, enumName: 'ToolContextType', isArray: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n version\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool.response.ts:32\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { BasicToolConfigResponse, Oauth2ToolConfigResponse, Lti11ToolConfigResponse } from './config';\nimport { CustomParameterResponse } from './custom-parameter.response';\nimport { ToolContextType } from '../../../../common/enum';\n\nexport class ExternalToolResponse {\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\tname: string;\n\n\t@ApiPropertyOptional()\n\turl?: string;\n\n\t@ApiPropertyOptional()\n\tlogoUrl?: string;\n\n\t@ApiProperty()\n\tconfig: BasicToolConfigResponse | Oauth2ToolConfigResponse | Lti11ToolConfigResponse;\n\n\t@ApiProperty()\n\tparameters: CustomParameterResponse[];\n\n\t@ApiProperty()\n\tisHidden: boolean;\n\n\t@ApiProperty()\n\topenNewTab: boolean;\n\n\t@ApiProperty()\n\tversion: number;\n\n\t@ApiPropertyOptional({ enum: ToolContextType, enumName: 'ToolContextType', isArray: true })\n\trestrictToContexts?: ToolContextType[];\n\n\tconstructor(response: ExternalToolResponse) {\n\t\tthis.id = response.id;\n\t\tthis.name = response.name;\n\t\tthis.url = response.url;\n\t\tthis.logoUrl = response.logoUrl;\n\t\tthis.config = response.config;\n\t\tthis.parameters = response.parameters;\n\t\tthis.isHidden = response.isHidden;\n\t\tthis.openNewTab = response.openNewTab;\n\t\tthis.version = response.version;\n\t\tthis.restrictToContexts = response.restrictToContexts;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolResponseMapper.html":{"url":"injectables/ExternalToolResponseMapper.html","title":"injectable - ExternalToolResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/mapper/external-tool-response.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Static\n mapBasicToolConfigDOToResponse\n \n \n Static\n mapCustomParameterToResponse\n \n \n Private\n Static\n mapLti11ToolConfigDOToResponse\n \n \n Private\n Static\n mapOauth2ToolConfigDOToResponse\n \n \n Static\n mapToExternalToolResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Static\n mapBasicToolConfigDOToResponse\n \n \n \n \n \n \n \n mapBasicToolConfigDOToResponse(externalToolConfigDO: BasicToolConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-response.mapper.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolConfigDO\n \n BasicToolConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BasicToolConfigResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapCustomParameterToResponse\n \n \n \n \n \n \n \n mapCustomParameterToResponse(customParameters: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-response.mapper.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameters\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CustomParameterResponse[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n mapLti11ToolConfigDOToResponse\n \n \n \n \n \n \n \n mapLti11ToolConfigDOToResponse(externalToolConfigDO: Lti11ToolConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-response.mapper.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolConfigDO\n \n Lti11ToolConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Lti11ToolConfigResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n mapOauth2ToolConfigDOToResponse\n \n \n \n \n \n \n \n mapOauth2ToolConfigDOToResponse(externalToolConfigDO: Oauth2ToolConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-response.mapper.ts:80\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolConfigDO\n \n Oauth2ToolConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Oauth2ToolConfigResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToExternalToolResponse\n \n \n \n \n \n \n \n mapToExternalToolResponse(externalTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/external-tool-response.mapper.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalToolResponse\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { CustomParameter } from '../../common/domain';\nimport {\n\tCustomParameterLocation,\n\tCustomParameterLocationParams,\n\tCustomParameterScope,\n\tCustomParameterScopeTypeParams,\n\tCustomParameterType,\n\tCustomParameterTypeParams,\n} from '../../common/enum';\nimport {\n\tBasicToolConfigResponse,\n\tCustomParameterResponse,\n\tExternalToolResponse,\n\tLti11ToolConfigResponse,\n\tOauth2ToolConfigResponse,\n} from '../controller/dto';\nimport { BasicToolConfig, ExternalTool, Lti11ToolConfig, Oauth2ToolConfig } from '../domain';\n\nconst scopeMapping: Record = {\n\t[CustomParameterScope.GLOBAL]: CustomParameterScopeTypeParams.GLOBAL,\n\t[CustomParameterScope.SCHOOL]: CustomParameterScopeTypeParams.SCHOOL,\n\t[CustomParameterScope.CONTEXT]: CustomParameterScopeTypeParams.CONTEXT,\n};\n\nconst locationMapping: Record = {\n\t[CustomParameterLocation.PATH]: CustomParameterLocationParams.PATH,\n\t[CustomParameterLocation.QUERY]: CustomParameterLocationParams.QUERY,\n\t[CustomParameterLocation.BODY]: CustomParameterLocationParams.BODY,\n};\n\nconst typeMapping: Record = {\n\t[CustomParameterType.STRING]: CustomParameterTypeParams.STRING,\n\t[CustomParameterType.BOOLEAN]: CustomParameterTypeParams.BOOLEAN,\n\t[CustomParameterType.NUMBER]: CustomParameterTypeParams.NUMBER,\n\t[CustomParameterType.AUTO_CONTEXTID]: CustomParameterTypeParams.AUTO_CONTEXTID,\n\t[CustomParameterType.AUTO_CONTEXTNAME]: CustomParameterTypeParams.AUTO_CONTEXTNAME,\n\t[CustomParameterType.AUTO_SCHOOLID]: CustomParameterTypeParams.AUTO_SCHOOLID,\n\t[CustomParameterType.AUTO_SCHOOLNUMBER]: CustomParameterTypeParams.AUTO_SCHOOLNUMBER,\n};\n\n@Injectable()\nexport class ExternalToolResponseMapper {\n\tstatic mapToExternalToolResponse(externalTool: ExternalTool): ExternalToolResponse {\n\t\tlet mappedConfig: BasicToolConfigResponse | Lti11ToolConfigResponse | Oauth2ToolConfigResponse;\n\t\tif (externalTool.config instanceof BasicToolConfig) {\n\t\t\tmappedConfig = this.mapBasicToolConfigDOToResponse(externalTool.config);\n\t\t} else if (externalTool.config instanceof Lti11ToolConfig) {\n\t\t\tmappedConfig = this.mapLti11ToolConfigDOToResponse(externalTool.config);\n\t\t} else {\n\t\t\tmappedConfig = this.mapOauth2ToolConfigDOToResponse(externalTool.config);\n\t\t}\n\n\t\tconst mappedCustomParameter: CustomParameterResponse[] = this.mapCustomParameterToResponse(\n\t\t\texternalTool.parameters ?? []\n\t\t);\n\n\t\treturn new ExternalToolResponse({\n\t\t\tid: externalTool.id ?? '',\n\t\t\tname: externalTool.name,\n\t\t\turl: externalTool.url,\n\t\t\tlogoUrl: externalTool.logoUrl,\n\t\t\tconfig: mappedConfig,\n\t\t\tparameters: mappedCustomParameter,\n\t\t\tisHidden: externalTool.isHidden,\n\t\t\topenNewTab: externalTool.openNewTab,\n\t\t\tversion: externalTool.version,\n\t\t\trestrictToContexts: externalTool.restrictToContexts,\n\t\t});\n\t}\n\n\tprivate static mapBasicToolConfigDOToResponse(externalToolConfigDO: BasicToolConfig): BasicToolConfigResponse {\n\t\treturn new BasicToolConfigResponse({ ...externalToolConfigDO });\n\t}\n\n\tprivate static mapLti11ToolConfigDOToResponse(externalToolConfigDO: Lti11ToolConfig): Lti11ToolConfigResponse {\n\t\treturn new Lti11ToolConfigResponse({ ...externalToolConfigDO });\n\t}\n\n\tprivate static mapOauth2ToolConfigDOToResponse(externalToolConfigDO: Oauth2ToolConfig): Oauth2ToolConfigResponse {\n\t\treturn new Oauth2ToolConfigResponse({ ...externalToolConfigDO });\n\t}\n\n\tstatic mapCustomParameterToResponse(customParameters: CustomParameter[]): CustomParameterResponse[] {\n\t\treturn customParameters.map((customParameterDO: CustomParameter) => {\n\t\t\treturn {\n\t\t\t\tname: customParameterDO.name,\n\t\t\t\tdisplayName: customParameterDO.displayName,\n\t\t\t\tdescription: customParameterDO.description,\n\t\t\t\tdefaultValue: customParameterDO.default,\n\t\t\t\tregex: customParameterDO.regex,\n\t\t\t\tregexComment: customParameterDO.regexComment,\n\t\t\t\tscope: scopeMapping[customParameterDO.scope],\n\t\t\t\tlocation: locationMapping[customParameterDO.location],\n\t\t\t\ttype: typeMapping[customParameterDO.type],\n\t\t\t\tisOptional: customParameterDO.isOptional,\n\t\t\t};\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolScope.html":{"url":"classes/ExternalToolScope.html","title":"class - ExternalToolScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/externaltool/external-tool.scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n byClientId\n \n \n byHidden\n \n \n byName\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n byClientId\n \n \n \n \n \n \nbyClientId(clientId: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.scope.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n clientId\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byHidden\n \n \n \n \n \n \nbyHidden(isHidden: boolean | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.scope.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isHidden\n \n boolean | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byName\n \n \n \n \n \n \nbyName(name: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool.scope.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Scope } from '@shared/repo/scope';\nimport { ExternalToolEntity } from '@modules/tool/external-tool/entity';\n\nexport class ExternalToolScope extends Scope {\n\tbyName(name: string | undefined): this {\n\t\tif (name) {\n\t\t\tthis.addQuery({ name: { $re: name } });\n\t\t}\n\t\treturn this;\n\t}\n\n\tbyClientId(clientId: string | undefined): this {\n\t\tif (clientId) {\n\t\t\tthis.addQuery({ config: { clientId } });\n\t\t}\n\t\treturn this;\n\t}\n\n\tbyHidden(isHidden: boolean | undefined): this {\n\t\tif (isHidden !== undefined) {\n\t\t\tthis.addQuery({ isHidden });\n\t\t}\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolSearchListResponse.html":{"url":"classes/ExternalToolSearchListResponse.html","title":"class - ExternalToolSearchListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolSearchListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool-search-list.response.ts\n \n\n\n\n \n Extends\n \n \n PaginationResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: ExternalToolResponse[], total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/external-tool-search-list.response.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n ExternalToolResponse[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : ExternalToolResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:7\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:14\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { PaginationResponse } from '@shared/controller';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { ExternalToolResponse } from './external-tool.response';\n\nexport class ExternalToolSearchListResponse extends PaginationResponse {\n\t@ApiProperty({ type: [ExternalToolResponse] })\n\tdata: ExternalToolResponse[];\n\n\tconstructor(data: ExternalToolResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolSearchParams.html":{"url":"classes/ExternalToolSearchParams.html","title":"class - ExternalToolSearchParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolSearchParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-search.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n clientId\n \n \n \n \n \n Optional\n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n clientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'OAuth2 client id of the external tool'})@IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-search.params.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Name of the external tool'})@IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-search.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsOptional, IsString } from 'class-validator';\n\nexport class ExternalToolSearchParams {\n\t@ApiPropertyOptional({ description: 'Name of the external tool' })\n\t@IsString()\n\t@IsOptional()\n\tname?: string;\n\n\t@ApiPropertyOptional({ description: 'OAuth2 client id of the external tool' })\n\t@IsString()\n\t@IsOptional()\n\tclientId?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ExternalToolSearchQuery.html":{"url":"interfaces/ExternalToolSearchQuery.html","title":"interface - ExternalToolSearchQuery","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ExternalToolSearchQuery\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/interface/external-tool-search-query.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n clientId\n \n \n \n Optional\n \n isHidden\n \n \n \n Optional\n \n name\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n clientId\n \n \n \n \n \n \n \n \n clientId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n isHidden\n \n \n \n \n \n \n \n \n isHidden: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface ExternalToolSearchQuery {\n\tname?: string;\n\n\tclientId?: string;\n\n\tisHidden?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolService.html":{"url":"injectables/ExternalToolService.html","title":"injectable - ExternalToolService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/service/external-tool.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n addExternalOauth2DataToConfig\n \n \n Async\n createExternalTool\n \n \n Async\n deleteExternalTool\n \n \n Async\n findById\n \n \n findExternalToolByName\n \n \n findExternalToolByOAuth2ConfigClientId\n \n \n Async\n findExternalTools\n \n \n Async\n updateExternalTool\n \n \n Private\n Async\n updateOauth2ToolConfig\n \n \n Private\n Async\n updateOauthClientOrThrow\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolRepo: ExternalToolRepo, oauthProviderService: OauthProviderService, mapper: ExternalToolServiceMapper, schoolExternalToolRepo: SchoolExternalToolRepo, contextExternalToolRepo: ContextExternalToolRepo, encryptionService: EncryptionService, legacyLogger: LegacyLogger, externalToolVersionService: ExternalToolVersionIncrementService)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.service.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolRepo\n \n \n ExternalToolRepo\n \n \n \n No\n \n \n \n \n oauthProviderService\n \n \n OauthProviderService\n \n \n \n No\n \n \n \n \n mapper\n \n \n ExternalToolServiceMapper\n \n \n \n No\n \n \n \n \n schoolExternalToolRepo\n \n \n SchoolExternalToolRepo\n \n \n \n No\n \n \n \n \n contextExternalToolRepo\n \n \n ContextExternalToolRepo\n \n \n \n No\n \n \n \n \n encryptionService\n \n \n EncryptionService\n \n \n \n No\n \n \n \n \n legacyLogger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n externalToolVersionService\n \n \n ExternalToolVersionIncrementService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n addExternalOauth2DataToConfig\n \n \n \n \n \n \n \n addExternalOauth2DataToConfig(config: Oauth2ToolConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.service.ts:145\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n Oauth2ToolConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createExternalTool\n \n \n \n \n \n \n \n createExternalTool(externalTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.service.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteExternalTool\n \n \n \n \n \n \n \n deleteExternalTool(toolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.service.ts:105\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.service.ts:80\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n findExternalToolByName\n \n \n \n \n \n \nfindExternalToolByName(name: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.service.ts:95\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n findExternalToolByOAuth2ConfigClientId\n \n \n \n \n \n \nfindExternalToolByOAuth2ConfigClientId(clientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.service.ts:100\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n clientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findExternalTools\n \n \n \n \n \n \n \n findExternalTools(query: ExternalToolSearchQuery, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.service.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n ExternalToolSearchQuery\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateExternalTool\n \n \n \n \n \n \n \n updateExternalTool(toUpdate: ExternalTool, loadedTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.service.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toUpdate\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n loadedTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n updateOauth2ToolConfig\n \n \n \n \n \n \n \n updateOauth2ToolConfig(toUpdate: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.service.ts:120\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toUpdate\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n updateOauthClientOrThrow\n \n \n \n \n \n \n \n updateOauthClientOrThrow(loadedOauthClient: ProviderOauthClient, toUpdateOauthClient: ProviderOauthClient, toUpdate: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool.service.ts:133\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loadedOauthClient\n \n ProviderOauthClient\n \n\n \n No\n \n\n\n \n \n toUpdateOauthClient\n \n ProviderOauthClient\n \n\n \n No\n \n\n\n \n \n toUpdate\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { DefaultEncryptionService, EncryptionService } from '@infra/encryption';\nimport { OauthProviderService } from '@infra/oauth-provider';\nimport { ProviderOauthClient } from '@infra/oauth-provider/dto';\nimport { Inject, Injectable, UnprocessableEntityException } from '@nestjs/common';\nimport { Page } from '@shared/domain/domainobject';\nimport { IFindOptions } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { ContextExternalToolRepo, ExternalToolRepo, SchoolExternalToolRepo } from '@shared/repo';\nimport { LegacyLogger } from '@src/core/logger';\nimport { TokenEndpointAuthMethod } from '../../common/enum';\nimport { ExternalToolSearchQuery } from '../../common/interface';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { ExternalTool, Oauth2ToolConfig } from '../domain';\nimport { ExternalToolServiceMapper } from './external-tool-service.mapper';\nimport { ExternalToolVersionIncrementService } from './external-tool-version-increment.service';\n\n@Injectable()\nexport class ExternalToolService {\n\tconstructor(\n\t\tprivate readonly externalToolRepo: ExternalToolRepo,\n\t\tprivate readonly oauthProviderService: OauthProviderService,\n\t\tprivate readonly mapper: ExternalToolServiceMapper,\n\t\tprivate readonly schoolExternalToolRepo: SchoolExternalToolRepo,\n\t\tprivate readonly contextExternalToolRepo: ContextExternalToolRepo,\n\t\t@Inject(DefaultEncryptionService) private readonly encryptionService: EncryptionService,\n\t\tprivate readonly legacyLogger: LegacyLogger,\n\t\tprivate readonly externalToolVersionService: ExternalToolVersionIncrementService\n\t) {}\n\n\tasync createExternalTool(externalTool: ExternalTool): Promise {\n\t\tif (ExternalTool.isLti11Config(externalTool.config) && externalTool.config.secret) {\n\t\t\texternalTool.config.secret = this.encryptionService.encrypt(externalTool.config.secret);\n\t\t} else if (ExternalTool.isOauth2Config(externalTool.config)) {\n\t\t\tconst oauthClient: ProviderOauthClient = this.mapper.mapDoToProviderOauthClient(\n\t\t\t\texternalTool.name,\n\t\t\t\texternalTool.config\n\t\t\t);\n\n\t\t\tawait this.oauthProviderService.createOAuth2Client(oauthClient);\n\t\t}\n\n\t\tconst created: ExternalTool = await this.externalToolRepo.save(externalTool);\n\t\treturn created;\n\t}\n\n\tasync updateExternalTool(toUpdate: ExternalTool, loadedTool: ExternalTool): Promise {\n\t\tawait this.updateOauth2ToolConfig(toUpdate);\n\t\tthis.externalToolVersionService.increaseVersionOfNewToolIfNecessary(loadedTool, toUpdate);\n\t\tconst externalTool: ExternalTool = await this.externalToolRepo.save(toUpdate);\n\t\treturn externalTool;\n\t}\n\n\tasync findExternalTools(\n\t\tquery: ExternalToolSearchQuery,\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst tools: Page = await this.externalToolRepo.find(query, options);\n\n\t\tconst resolvedTools: (ExternalTool | undefined)[] = await Promise.all(\n\t\t\ttools.data.map(async (tool: ExternalTool): Promise => {\n\t\t\t\tif (ExternalTool.isOauth2Config(tool.config)) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tawait this.addExternalOauth2DataToConfig(tool.config);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\tthis.legacyLogger.debug(\n\t\t\t\t\t\t\t`Could not resolve oauth2Config of tool with clientId ${tool.config.clientId}. It will be filtered out.`\n\t\t\t\t\t\t);\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn tool;\n\t\t\t})\n\t\t);\n\n\t\ttools.data = resolvedTools.filter((tool) => tool !== undefined) as ExternalTool[];\n\n\t\treturn tools;\n\t}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst tool: ExternalTool = await this.externalToolRepo.findById(id);\n\t\tif (ExternalTool.isOauth2Config(tool.config)) {\n\t\t\ttry {\n\t\t\t\tawait this.addExternalOauth2DataToConfig(tool.config);\n\t\t\t} catch (e) {\n\t\t\t\tthis.legacyLogger.debug(\n\t\t\t\t\t`Could not resolve oauth2Config of tool with clientId ${tool.config.clientId}. It will be filtered out.`\n\t\t\t\t);\n\t\t\t\tthrow new UnprocessableEntityException(`Could not resolve oauth2Config of tool ${tool.name}.`);\n\t\t\t}\n\t\t}\n\t\treturn tool;\n\t}\n\n\tfindExternalToolByName(name: string): Promise {\n\t\tconst externalTool: Promise = this.externalToolRepo.findByName(name);\n\t\treturn externalTool;\n\t}\n\n\tfindExternalToolByOAuth2ConfigClientId(clientId: string): Promise {\n\t\tconst externalTool: Promise = this.externalToolRepo.findByOAuth2ConfigClientId(clientId);\n\t\treturn externalTool;\n\t}\n\n\tasync deleteExternalTool(toolId: EntityId): Promise {\n\t\tconst schoolExternalTools: SchoolExternalTool[] = await this.schoolExternalToolRepo.findByExternalToolId(toolId);\n\t\tconst schoolExternalToolIds: string[] = schoolExternalTools.map(\n\t\t\t(schoolExternalTool: SchoolExternalTool): string =>\n\t\t\t\t// We can be sure that the repo returns the id\n\t\t\t\tschoolExternalTool.id as string\n\t\t);\n\n\t\tawait Promise.all([\n\t\t\tthis.contextExternalToolRepo.deleteBySchoolExternalToolIds(schoolExternalToolIds),\n\t\t\tthis.schoolExternalToolRepo.deleteByExternalToolId(toolId),\n\t\t\tthis.externalToolRepo.deleteById(toolId),\n\t\t]);\n\t}\n\n\tprivate async updateOauth2ToolConfig(toUpdate: ExternalTool) {\n\t\tif (ExternalTool.isOauth2Config(toUpdate.config)) {\n\t\t\tconst toUpdateOauthClient: ProviderOauthClient = this.mapper.mapDoToProviderOauthClient(\n\t\t\t\ttoUpdate.name,\n\t\t\t\ttoUpdate.config\n\t\t\t);\n\t\t\tconst loadedOauthClient: ProviderOauthClient = await this.oauthProviderService.getOAuth2Client(\n\t\t\t\ttoUpdate.config.clientId\n\t\t\t);\n\t\t\tawait this.updateOauthClientOrThrow(loadedOauthClient, toUpdateOauthClient, toUpdate);\n\t\t}\n\t}\n\n\tprivate async updateOauthClientOrThrow(\n\t\tloadedOauthClient: ProviderOauthClient,\n\t\ttoUpdateOauthClient: ProviderOauthClient,\n\t\ttoUpdate: ExternalTool\n\t) {\n\t\tif (loadedOauthClient && loadedOauthClient.client_id) {\n\t\t\tawait this.oauthProviderService.updateOAuth2Client(loadedOauthClient.client_id, toUpdateOauthClient);\n\t\t} else {\n\t\t\tthrow new UnprocessableEntityException(`The oAuthConfigs clientId of tool ${toUpdate.name}\" does not exist`);\n\t\t}\n\t}\n\n\tprivate async addExternalOauth2DataToConfig(config: Oauth2ToolConfig) {\n\t\tconst oauthClient: ProviderOauthClient = await this.oauthProviderService.getOAuth2Client(config.clientId);\n\n\t\tconfig.scope = oauthClient.scope;\n\t\tconfig.tokenEndpointAuthMethod = oauthClient.token_endpoint_auth_method as TokenEndpointAuthMethod;\n\t\tconfig.redirectUris = oauthClient.redirect_uris;\n\t\tconfig.frontchannelLogoutUri = oauthClient.frontchannel_logout_uri;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolServiceMapper.html":{"url":"injectables/ExternalToolServiceMapper.html","title":"injectable - ExternalToolServiceMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolServiceMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/service/external-tool-service.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n mapDoToProviderOauthClient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n mapDoToProviderOauthClient\n \n \n \n \n \n \nmapDoToProviderOauthClient(name: string, oauth2Config: Oauth2ToolConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-service.mapper.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n oauth2Config\n \n Oauth2ToolConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ProviderOauthClient\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ProviderOauthClient } from '@infra/oauth-provider/dto';\nimport { Injectable } from '@nestjs/common';\nimport { Oauth2ToolConfig } from '../domain';\n\n@Injectable()\nexport class ExternalToolServiceMapper {\n\tmapDoToProviderOauthClient(name: string, oauth2Config: Oauth2ToolConfig): ProviderOauthClient {\n\t\treturn {\n\t\t\tclient_name: name,\n\t\t\tclient_id: oauth2Config.clientId,\n\t\t\tclient_secret: oauth2Config.clientSecret,\n\t\t\tscope: oauth2Config.scope,\n\t\t\ttoken_endpoint_auth_method: oauth2Config.tokenEndpointAuthMethod,\n\t\t\tredirect_uris: oauth2Config.redirectUris,\n\t\t\tfrontchannel_logout_uri: oauth2Config.frontchannelLogoutUri,\n\t\t\tsubject_type: 'pairwise',\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolSortingMapper.html":{"url":"classes/ExternalToolSortingMapper.html","title":"class - ExternalToolSortingMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolSortingMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/externaltool/external-tool-sorting.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapDOSortOrderToQueryOrder\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapDOSortOrderToQueryOrder\n \n \n \n \n \n \n \n mapDOSortOrderToQueryOrder(sort: SortOrderMap)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/externaltool/external-tool-sorting.mapper.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n sort\n \n SortOrderMap\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : QueryOrderMap\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { QueryOrderMap } from '@mikro-orm/core';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { ExternalToolEntity } from '@modules/tool/external-tool/entity';\nimport { SortOrderMap } from '@shared/domain/interface';\n\nexport class ExternalToolSortingMapper {\n\tstatic mapDOSortOrderToQueryOrder(sort: SortOrderMap): QueryOrderMap {\n\t\tconst queryOrderMap: QueryOrderMap = {\n\t\t\t_id: sort.id,\n\t\t\tname: sort.name,\n\t\t};\n\t\tObject.keys(queryOrderMap)\n\t\t\t.filter((key) => queryOrderMap[key] === undefined)\n\t\t\t.forEach((key) => delete queryOrderMap[key]);\n\t\treturn queryOrderMap;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolUc.html":{"url":"injectables/ExternalToolUc.html","title":"injectable - ExternalToolUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/uc/external-tool.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createExternalTool\n \n \n Async\n deleteExternalTool\n \n \n Private\n Async\n ensurePermission\n \n \n Async\n findExternalTool\n \n \n Async\n getExternalTool\n \n \n Async\n getMetadataForExternalTool\n \n \n Async\n updateExternalTool\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolService: ExternalToolService, authorizationService: AuthorizationService, toolValidationService: ExternalToolValidationService, externalToolLogoService: ExternalToolLogoService, externalToolMetadataService: ExternalToolMetadataService)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool.uc.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n toolValidationService\n \n \n ExternalToolValidationService\n \n \n \n No\n \n \n \n \n externalToolLogoService\n \n \n ExternalToolLogoService\n \n \n \n No\n \n \n \n \n externalToolMetadataService\n \n \n ExternalToolMetadataService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createExternalTool\n \n \n \n \n \n \n \n createExternalTool(userId: EntityId, externalToolCreate: ExternalToolCreate)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool.uc.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n externalToolCreate\n \n ExternalToolCreate\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteExternalTool\n \n \n \n \n \n \n \n deleteExternalTool(userId: EntityId, toolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool.uc.ts:79\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n toolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n ensurePermission\n \n \n \n \n \n \n \n ensurePermission(userId: EntityId, permission: Permission)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool.uc.ts:95\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n permission\n \n Permission\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findExternalTool\n \n \n \n \n \n \n \n findExternalTool(userId: EntityId, query: ExternalToolSearchQuery, options: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool.uc.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n query\n \n ExternalToolSearchQuery\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getExternalTool\n \n \n \n \n \n \n \n getExternalTool(userId: EntityId, toolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool.uc.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n toolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getMetadataForExternalTool\n \n \n \n \n \n \n \n getMetadataForExternalTool(userId: EntityId, toolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool.uc.ts:86\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n toolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateExternalTool\n \n \n \n \n \n \n \n updateExternalTool(userId: EntityId, toolId: string, externalTool: ExternalToolUpdate)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/uc/external-tool.uc.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n toolId\n \n string\n \n\n \n No\n \n\n\n \n \n externalTool\n \n ExternalToolUpdate\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationService } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport { Page } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { IFindOptions, Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { ExternalToolSearchQuery } from '../../common/interface';\nimport { ExternalTool, ExternalToolConfig, ExternalToolMetadata } from '../domain';\nimport {\n\tExternalToolLogoService,\n\tExternalToolMetadataService,\n\tExternalToolService,\n\tExternalToolValidationService,\n} from '../service';\nimport { ExternalToolCreate, ExternalToolUpdate } from './dto';\n\n@Injectable()\nexport class ExternalToolUc {\n\tconstructor(\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly toolValidationService: ExternalToolValidationService,\n\t\tprivate readonly externalToolLogoService: ExternalToolLogoService,\n\t\tprivate readonly externalToolMetadataService: ExternalToolMetadataService\n\t) {}\n\n\tasync createExternalTool(userId: EntityId, externalToolCreate: ExternalToolCreate): Promise {\n\t\tawait this.ensurePermission(userId, Permission.TOOL_ADMIN);\n\n\t\tconst externalTool = new ExternalTool({ ...externalToolCreate });\n\t\texternalTool.logo = await this.externalToolLogoService.fetchLogo(externalTool);\n\n\t\tawait this.toolValidationService.validateCreate(externalTool);\n\n\t\tconst tool: ExternalTool = await this.externalToolService.createExternalTool(externalTool);\n\n\t\treturn tool;\n\t}\n\n\tasync updateExternalTool(userId: EntityId, toolId: string, externalTool: ExternalToolUpdate): Promise {\n\t\tawait this.ensurePermission(userId, Permission.TOOL_ADMIN);\n\n\t\texternalTool.logo = await this.externalToolLogoService.fetchLogo(externalTool);\n\n\t\tawait this.toolValidationService.validateUpdate(toolId, externalTool);\n\n\t\tconst loaded: ExternalTool = await this.externalToolService.findById(toolId);\n\t\tconst configToUpdate: ExternalToolConfig = { ...loaded.config, ...externalTool.config };\n\t\tconst toUpdate: ExternalTool = new ExternalTool({\n\t\t\t...loaded,\n\t\t\t...externalTool,\n\t\t\tconfig: configToUpdate,\n\t\t\tversion: loaded.version,\n\t\t});\n\n\t\tconst saved: ExternalTool = await this.externalToolService.updateExternalTool(toUpdate, loaded);\n\n\t\treturn saved;\n\t}\n\n\tasync findExternalTool(\n\t\tuserId: EntityId,\n\t\tquery: ExternalToolSearchQuery,\n\t\toptions: IFindOptions\n\t): Promise> {\n\t\tawait this.ensurePermission(userId, Permission.TOOL_ADMIN);\n\n\t\tconst tools: Page = await this.externalToolService.findExternalTools(query, options);\n\t\treturn tools;\n\t}\n\n\tasync getExternalTool(userId: EntityId, toolId: EntityId): Promise {\n\t\tawait this.ensurePermission(userId, Permission.TOOL_ADMIN);\n\n\t\tconst tool: ExternalTool = await this.externalToolService.findById(toolId);\n\t\treturn tool;\n\t}\n\n\tasync deleteExternalTool(userId: EntityId, toolId: EntityId): Promise {\n\t\tawait this.ensurePermission(userId, Permission.TOOL_ADMIN);\n\n\t\tconst promise: Promise = this.externalToolService.deleteExternalTool(toolId);\n\t\treturn promise;\n\t}\n\n\tasync getMetadataForExternalTool(userId: EntityId, toolId: EntityId): Promise {\n\t\t// TODO N21-1496: Change External Tools to use authorizationService.checkPermission\n\t\tawait this.ensurePermission(userId, Permission.TOOL_ADMIN);\n\n\t\tconst metadata: ExternalToolMetadata = await this.externalToolMetadataService.getMetadata(toolId);\n\n\t\treturn metadata;\n\t}\n\n\tprivate async ensurePermission(userId: EntityId, permission: Permission) {\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(userId);\n\t\tthis.authorizationService.checkAllPermissions(user, [permission]);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalToolUpdateParams.html":{"url":"classes/ExternalToolUpdateParams.html","title":"class - ExternalToolUpdateParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalToolUpdateParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-update.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n config\n \n \n \n \n id\n \n \n \n \n isHidden\n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n name\n \n \n \n \n openNewTab\n \n \n \n \n \n \n \n Optional\n parameters\n \n \n \n \n \n \n Optional\n restrictToContexts\n \n \n \n \n \n Optional\n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n config\n \n \n \n \n \n \n Type : Lti11ToolConfigUpdateParams | Oauth2ToolConfigUpdateParams | BasicToolConfigParams\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()@Type(undefined, {keepDiscriminatorProperty: true, discriminator: undefined})@ApiProperty({oneOf: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-update.params.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-update.params.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n isHidden\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-update.params.ts:63\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-update.params.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-update.params.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n openNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-update.params.ts:67\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n parameters\n \n \n \n \n \n \n Type : CustomParameterPostParams[]\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested({each: true})@IsArray()@IsOptional()@ApiPropertyOptional({type: undefined})@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-update.params.ts:59\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n restrictToContexts\n \n \n \n \n \n \n Type : ToolContextType[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@IsOptional()@IsEnum(ToolContextType, {each: true})@ApiPropertyOptional({enum: ToolContextType, enumName: 'ToolContextType', isArray: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-update.params.ts:73\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-update.params.ts:26\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiExtraModels, ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { Type } from 'class-transformer';\nimport { IsArray, IsBoolean, IsEnum, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { ToolConfigType, ToolContextType } from '../../../../common/enum';\nimport {\n\tBasicToolConfigParams,\n\tExternalToolConfigCreateParams,\n\tLti11ToolConfigUpdateParams,\n\tOauth2ToolConfigUpdateParams,\n} from './config';\nimport { CustomParameterPostParams } from './custom-parameter.params';\n\n@ApiExtraModels(Lti11ToolConfigUpdateParams, Oauth2ToolConfigUpdateParams, BasicToolConfigParams)\nexport class ExternalToolUpdateParams {\n\t@IsString()\n\t@ApiProperty()\n\tid!: string;\n\n\t@IsString()\n\t@ApiProperty()\n\tname!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\turl?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tlogoUrl?: string;\n\n\t@ValidateNested()\n\t@Type(/* istanbul ignore next */ () => ExternalToolConfigCreateParams, {\n\t\tkeepDiscriminatorProperty: true,\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: Lti11ToolConfigUpdateParams, name: ToolConfigType.LTI11 },\n\t\t\t\t{ value: Oauth2ToolConfigUpdateParams, name: ToolConfigType.OAUTH2 },\n\t\t\t\t{ value: BasicToolConfigParams, name: ToolConfigType.BASIC },\n\t\t\t],\n\t\t},\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(BasicToolConfigParams) },\n\t\t\t{ $ref: getSchemaPath(Lti11ToolConfigUpdateParams) },\n\t\t\t{ $ref: getSchemaPath(Oauth2ToolConfigUpdateParams) },\n\t\t],\n\t})\n\tconfig!: Lti11ToolConfigUpdateParams | Oauth2ToolConfigUpdateParams | BasicToolConfigParams;\n\n\t@ValidateNested({ each: true })\n\t@IsArray()\n\t@IsOptional()\n\t@ApiPropertyOptional({ type: [CustomParameterPostParams] })\n\t@Type(/* istanbul ignore next */ () => CustomParameterPostParams)\n\tparameters?: CustomParameterPostParams[];\n\n\t@IsBoolean()\n\t@ApiProperty()\n\tisHidden!: boolean;\n\n\t@IsBoolean()\n\t@ApiProperty()\n\topenNewTab!: boolean;\n\n\t@IsArray()\n\t@IsOptional()\n\t@IsEnum(ToolContextType, { each: true })\n\t@ApiPropertyOptional({ enum: ToolContextType, enumName: 'ToolContextType', isArray: true })\n\trestrictToContexts?: ToolContextType[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolValidationService.html":{"url":"injectables/ExternalToolValidationService.html","title":"injectable - ExternalToolValidationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolValidationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/service/external-tool-validation.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n isClientIdUnique\n \n \n Async\n validateCreate\n \n \n Private\n validateLti11Config\n \n \n Private\n Async\n validateOauth2Config\n \n \n Async\n validateUpdate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolService: ExternalToolService, externalToolParameterValidationService: ExternalToolParameterValidationService, externalToolLogoService: ExternalToolLogoService)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-validation.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n externalToolParameterValidationService\n \n \n ExternalToolParameterValidationService\n \n \n \n No\n \n \n \n \n externalToolLogoService\n \n \n ExternalToolLogoService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n isClientIdUnique\n \n \n \n \n \n \n \n isClientIdUnique(externalTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-validation.service.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n validateCreate\n \n \n \n \n \n \n \n validateCreate(externalTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-validation.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n validateLti11Config\n \n \n \n \n \n \n \n validateLti11Config(externalTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-validation.service.ts:74\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n validateOauth2Config\n \n \n \n \n \n \n \n validateOauth2Config(externalTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-validation.service.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n validateUpdate\n \n \n \n \n \n \n \n validateUpdate(toolId: string, externalTool: Partial)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-validation.service.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolId\n \n string\n \n\n \n No\n \n\n\n \n \n externalTool\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ValidationError } from '@shared/common';\nimport { ExternalTool } from '../domain';\nimport { ExternalToolLogoService } from './external-tool-logo.service';\nimport { ExternalToolParameterValidationService } from './external-tool-parameter-validation.service';\nimport { ExternalToolService } from './external-tool.service';\n\n@Injectable()\nexport class ExternalToolValidationService {\n\tconstructor(\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly externalToolParameterValidationService: ExternalToolParameterValidationService,\n\t\tprivate readonly externalToolLogoService: ExternalToolLogoService\n\t) {}\n\n\tasync validateCreate(externalTool: ExternalTool): Promise {\n\t\tawait this.externalToolParameterValidationService.validateCommon(externalTool);\n\n\t\tawait this.validateOauth2Config(externalTool);\n\n\t\tthis.validateLti11Config(externalTool);\n\n\t\tthis.externalToolLogoService.validateLogoSize(externalTool);\n\t}\n\n\tasync validateUpdate(toolId: string, externalTool: Partial): Promise {\n\t\tif (toolId !== externalTool.id) {\n\t\t\tthrow new ValidationError(`tool_id_mismatch: The tool has no id or it does not match the path parameter.`);\n\t\t}\n\n\t\tawait this.externalToolParameterValidationService.validateCommon(externalTool);\n\n\t\tconst loadedTool: ExternalTool = await this.externalToolService.findById(toolId);\n\t\tif (\n\t\t\tExternalTool.isOauth2Config(loadedTool.config) &&\n\t\t\texternalTool.config &&\n\t\t\texternalTool.config.type !== loadedTool.config.type\n\t\t) {\n\t\t\tthrow new ValidationError(\n\t\t\t\t`tool_type_immutable: The Config Type of the tool ${externalTool.name || ''} is immutable.`\n\t\t\t);\n\t\t}\n\n\t\tif (\n\t\t\texternalTool.config &&\n\t\t\tExternalTool.isOauth2Config(externalTool.config) &&\n\t\t\tExternalTool.isOauth2Config(loadedTool.config) &&\n\t\t\texternalTool.config.clientId !== loadedTool.config.clientId\n\t\t) {\n\t\t\tthrow new ValidationError(\n\t\t\t\t`tool_clientId_immutable: The Client Id of the tool ${externalTool.name || ''} is immutable.`\n\t\t\t);\n\t\t}\n\n\t\tthis.externalToolLogoService.validateLogoSize(externalTool);\n\t}\n\n\tprivate async validateOauth2Config(externalTool: ExternalTool): Promise {\n\t\tif (ExternalTool.isOauth2Config(externalTool.config)) {\n\t\t\tif (!externalTool.config.clientSecret) {\n\t\t\t\tthrow new ValidationError(\n\t\t\t\t\t`tool_clientSecret_missing: The Client Secret of the tool ${externalTool.name || ''} is missing.`\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (!(await this.isClientIdUnique(externalTool))) {\n\t\t\t\tthrow new ValidationError(\n\t\t\t\t\t`tool_clientId_duplicate: The Client Id of the tool ${externalTool.name || ''} is already used.`\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate validateLti11Config(externalTool: ExternalTool): void {\n\t\tif (ExternalTool.isLti11Config(externalTool.config)) {\n\t\t\tif (!externalTool.config.secret) {\n\t\t\t\tthrow new ValidationError(\n\t\t\t\t\t`tool_secret_missing: The secret of the LTI tool ${externalTool.name || ''} is missing.`\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}\n\n\tprivate async isClientIdUnique(externalTool: ExternalTool): Promise {\n\t\tlet duplicate: ExternalTool | null = null;\n\t\tif (ExternalTool.isOauth2Config(externalTool.config)) {\n\t\t\tduplicate = await this.externalToolService.findExternalToolByOAuth2ConfigClientId(externalTool.config.clientId);\n\t\t}\n\t\treturn duplicate == null || duplicate.id === externalTool.id;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ExternalToolVersionIncrementService.html":{"url":"injectables/ExternalToolVersionIncrementService.html","title":"injectable - ExternalToolVersionIncrementService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ExternalToolVersionIncrementService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/service/external-tool-version-increment.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n compareParameters\n \n \n Private\n hasChangedParameterNames\n \n \n Private\n hasChangedParameterRegex\n \n \n Private\n hasChangedParameterScope\n \n \n Private\n hasChangedParameterTypes\n \n \n Private\n hasChangedRequiredParameters\n \n \n Private\n hasNewRequiredParameter\n \n \n increaseVersionOfNewToolIfNecessary\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n compareParameters\n \n \n \n \n \n \n \n compareParameters(oldParams: CustomParameter[], newParams: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-version-increment.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oldParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n newParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n hasChangedParameterNames\n \n \n \n \n \n \n \n hasChangedParameterNames(oldParams: CustomParameter[], newParams: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-version-increment.service.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oldParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n newParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n hasChangedParameterRegex\n \n \n \n \n \n \n \n hasChangedParameterRegex(newParams: CustomParameter[], matchingParams: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-version-increment.service.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n newParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n matchingParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n hasChangedParameterScope\n \n \n \n \n \n \n \n hasChangedParameterScope(newParams: CustomParameter[], matchingParams: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-version-increment.service.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n newParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n matchingParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n hasChangedParameterTypes\n \n \n \n \n \n \n \n hasChangedParameterTypes(newParams: CustomParameter[], matchingParams: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-version-increment.service.ts:68\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n newParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n matchingParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n hasChangedRequiredParameters\n \n \n \n \n \n \n \n hasChangedRequiredParameters(newParams: CustomParameter[], matchingParams: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-version-increment.service.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n newParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n matchingParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n hasNewRequiredParameter\n \n \n \n \n \n \n \n hasNewRequiredParameter(oldParams: CustomParameter[], newParams: CustomParameter[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-version-increment.service.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oldParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n newParams\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n increaseVersionOfNewToolIfNecessary\n \n \n \n \n \n \nincreaseVersionOfNewToolIfNecessary(oldTool: ExternalTool, newTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/service/external-tool-version-increment.service.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oldTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n newTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ExternalTool } from '../domain';\nimport { CustomParameter } from '../../common/domain';\n\n@Injectable()\nexport class ExternalToolVersionIncrementService {\n\tincreaseVersionOfNewToolIfNecessary(oldTool: ExternalTool, newTool: ExternalTool): void {\n\t\tif (!oldTool.parameters || !newTool.parameters) {\n\t\t\treturn;\n\t\t}\n\t\tif (this.compareParameters(oldTool.parameters, newTool.parameters)) {\n\t\t\tnewTool.version += 1;\n\t\t}\n\t}\n\n\tprivate compareParameters(oldParams: CustomParameter[], newParams: CustomParameter[]): boolean {\n\t\tconst matchingParams: CustomParameter[] = oldParams.filter((oldParam) =>\n\t\t\tnewParams.some((newParam) => oldParam.name === newParam.name)\n\t\t);\n\n\t\tconst shouldIncrementVersion =\n\t\t\tthis.hasNewRequiredParameter(oldParams, newParams) ||\n\t\t\tthis.hasChangedRequiredParameters(oldParams, newParams) ||\n\t\t\tthis.hasChangedParameterNames(oldParams, newParams) ||\n\t\t\tthis.hasChangedParameterRegex(newParams, matchingParams) ||\n\t\t\tthis.hasChangedParameterTypes(newParams, matchingParams) ||\n\t\t\tthis.hasChangedParameterScope(newParams, matchingParams);\n\n\t\treturn shouldIncrementVersion;\n\t}\n\n\tprivate hasNewRequiredParameter(oldParams: CustomParameter[], newParams: CustomParameter[]): boolean {\n\t\tconst increase = newParams.some(\n\t\t\t(newParam) => !newParam.isOptional && oldParams.every((oldParam) => oldParam.name !== newParam.name)\n\t\t);\n\t\treturn increase;\n\t}\n\n\tprivate hasChangedParameterNames(oldParams: CustomParameter[], newParams: CustomParameter[]): boolean {\n\t\tconst nonOptionalParams = oldParams.filter((parameter) => !parameter.isOptional);\n\t\tconst nonOptionalParamNames = nonOptionalParams.map((parameter) => parameter.name);\n\n\t\tconst newNonOptionalParams = newParams.filter((parameter) => !parameter.isOptional);\n\t\tconst newNonOptionalParamNames = newNonOptionalParams.map((parameter) => parameter.name);\n\n\t\tconst increase =\n\t\t\tnonOptionalParamNames.some((name) => !newNonOptionalParamNames.includes(name)) ||\n\t\t\tnewNonOptionalParamNames.some((name) => !nonOptionalParamNames.includes(name));\n\t\treturn increase;\n\t}\n\n\tprivate hasChangedRequiredParameters(newParams: CustomParameter[], matchingParams: CustomParameter[]): boolean {\n\t\tconst increase = matchingParams.some((param) => {\n\t\t\tconst newParam = newParams.find((p) => p.name === param.name);\n\t\t\treturn newParam && param.isOptional !== newParam.isOptional;\n\t\t});\n\t\treturn increase;\n\t}\n\n\tprivate hasChangedParameterRegex(newParams: CustomParameter[], matchingParams: CustomParameter[]): boolean {\n\t\tconst increase = matchingParams.some((param) => {\n\t\t\tconst newParam = newParams.find((p) => p.name === param.name);\n\t\t\treturn newParam && param.regex !== newParam.regex;\n\t\t});\n\t\treturn increase;\n\t}\n\n\tprivate hasChangedParameterTypes(newParams: CustomParameter[], matchingParams: CustomParameter[]): boolean {\n\t\tconst increase = matchingParams.some((param) => {\n\t\t\tconst newParam = newParams.find((p) => p.name === param.name);\n\t\t\treturn newParam && param.type !== newParam.type;\n\t\t});\n\t\treturn increase;\n\t}\n\n\tprivate hasChangedParameterScope(newParams: CustomParameter[], matchingParams: CustomParameter[]): boolean {\n\t\tconst increase = matchingParams.some((param) => {\n\t\t\tconst newParam = newParams.find((p) => p.name === param.name);\n\t\t\treturn newParam && param.scope !== newParam.scope;\n\t\t});\n\t\treturn increase;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ExternalUserDto.html":{"url":"classes/ExternalUserDto.html","title":"class - ExternalUserDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ExternalUserDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/dto/external-user.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n birthday\n \n \n Optional\n email\n \n \n externalId\n \n \n Optional\n firstName\n \n \n Optional\n lastName\n \n \n Optional\n roles\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ExternalUserDto)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-user.dto.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ExternalUserDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n birthday\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-user.dto.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n email\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-user.dto.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-user.dto.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-user.dto.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-user.dto.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n roles\n \n \n \n \n \n \n Type : RoleName[]\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/external-user.dto.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { RoleName } from '@shared/domain/interface';\n\nexport class ExternalUserDto {\n\texternalId: string;\n\n\tfirstName?: string;\n\n\tlastName?: string;\n\n\temail?: string;\n\n\troles?: RoleName[];\n\n\tbirthday?: Date;\n\n\tconstructor(props: ExternalUserDto) {\n\t\tthis.externalId = props.externalId;\n\t\tthis.firstName = props.firstName;\n\t\tthis.lastName = props.lastName;\n\t\tthis.email = props.email;\n\t\tthis.roles = props.roles;\n\t\tthis.birthday = props.birthday;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FeathersAuthProvider.html":{"url":"injectables/FeathersAuthProvider.html","title":"injectable - FeathersAuthProvider","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FeathersAuthProvider\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/feathers/feathers-auth.provider.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getPermittedSchools\n \n \n Async\n getPermittedTargets\n \n \n Private\n Async\n getUser\n \n \n Async\n getUserSchoolPermissions\n \n \n Async\n getUserTargetPermissions\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(feathersServiceProvider: FeathersServiceProvider)\n \n \n \n \n Defined in apps/server/src/modules/authorization/feathers/feathers-auth.provider.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n feathersServiceProvider\n \n \n FeathersServiceProvider\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getPermittedSchools\n \n \n \n \n \n \n \n getPermittedSchools(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/feathers/feathers-auth.provider.ts:56\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getPermittedTargets\n \n \n \n \n \n \n \n getPermittedTargets(userId: EntityId, targetModel: NewsTargetModel, permissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/feathers/feathers-auth.provider.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetModel\n \n NewsTargetModel\n \n\n \n No\n \n\n\n \n \n permissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getUser\n \n \n \n \n \n \n \n getUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/feathers/feathers-auth.provider.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getUserSchoolPermissions\n \n \n \n \n \n \n \n getUserSchoolPermissions(userId: EntityId, schoolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/feathers/feathers-auth.provider.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise | never\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getUserTargetPermissions\n \n \n \n \n \n \n \n getUserTargetPermissions(userId: EntityId, targetModel: NewsTargetModel, targetId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/feathers/feathers-auth.provider.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetModel\n \n NewsTargetModel\n \n\n \n No\n \n\n\n \n \n targetId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { FeathersServiceProvider } from '@infra/feathers';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable, NotFoundException } from '@nestjs/common';\nimport { BaseEntity } from '@shared/domain/entity';\nimport { EntityId, NewsTargetModel } from '@shared/domain/types';\n\ninterface User {\n\t_id: ObjectId;\n\tschoolId: ObjectId;\n\tpermissions: string[];\n}\n\n@Injectable()\nexport class FeathersAuthProvider {\n\tconstructor(private feathersServiceProvider: FeathersServiceProvider) {}\n\n\tasync getUserSchoolPermissions(userId: EntityId, schoolId: EntityId): Promise | never {\n\t\tconst user = await this.getUser(userId);\n\t\t// test user is school member\n\t\tconst sameSchool = user.schoolId.toString() === schoolId;\n\t\tif (sameSchool && Array.isArray(user.permissions)) {\n\t\t\treturn user.permissions;\n\t\t}\n\t\treturn [];\n\t}\n\n\tasync getUserTargetPermissions(\n\t\tuserId: EntityId,\n\t\ttargetModel: NewsTargetModel,\n\t\ttargetId: EntityId\n\t): Promise {\n\t\tconst service = this.feathersServiceProvider.getService(`${targetModel}/:scopeId/userPermissions/`);\n\t\tconst targetPermissions = (await service.get(userId, {\n\t\t\troute: { scopeId: targetId },\n\t\t})) as string[];\n\t\treturn targetPermissions;\n\t}\n\n\tasync getPermittedTargets(\n\t\tuserId: EntityId,\n\t\ttargetModel: NewsTargetModel,\n\t\tpermissions: string[]\n\t): Promise {\n\t\tconst service = this.feathersServiceProvider.getService(`/users/:scopeId/${targetModel}`);\n\t\tconst targets = (await service.find({\n\t\t\troute: { scopeId: userId.toString() },\n\t\t\tquery: {\n\t\t\t\tpermissions,\n\t\t\t},\n\t\t\tpaginate: false,\n\t\t})) as BaseEntity[];\n\t\tconst targetIds = targets.map((target) => target._id.toString());\n\t\treturn targetIds;\n\t}\n\n\tasync getPermittedSchools(userId: EntityId): Promise {\n\t\tconst user = await this.getUser(userId);\n\t\treturn [user.schoolId.toString()] as EntityId[];\n\t}\n\n\tprivate async getUser(userId: EntityId): Promise {\n\t\tconst service = this.feathersServiceProvider.getService('users');\n\t\tconst user = (await service.get(userId)) as User;\n\t\tif (user == null) throw new NotFoundException();\n\t\treturn user;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FeathersAuthorizationService.html":{"url":"injectables/FeathersAuthorizationService.html","title":"injectable - FeathersAuthorizationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FeathersAuthorizationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/feathers/feathers-authorization.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n checkEntityPermissions\n \n \n Async\n getEntityPermissions\n \n \n Async\n getPermittedEntities\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(feathersAuthProvider: FeathersAuthProvider)\n \n \n \n \n Defined in apps/server/src/modules/authorization/feathers/feathers-authorization.service.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n feathersAuthProvider\n \n \n FeathersAuthProvider\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n checkEntityPermissions\n \n \n \n \n \n \n \n checkEntityPermissions(userId: EntityId, targetModel: NewsTargetModel, targetId: EntityId, permissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/feathers/feathers-authorization.service.ts:32\n \n \n\n\n \n \n Ensure that a user has sufficient permissions for a specific entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetModel\n \n NewsTargetModel\n \n\n \n No\n \n\n\n \n \n targetId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n permissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getEntityPermissions\n \n \n \n \n \n \n \n getEntityPermissions(userId: EntityId, targetModel: NewsTargetModel, targetId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/feathers/feathers-authorization.service.ts:16\n \n \n\n\n \n \n Get all permissions a user has for a specific entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetModel\n \n NewsTargetModel\n \n\n \n No\n \n\n\n \n \n targetId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n The list of entity permissions for the user\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n getPermittedEntities\n \n \n \n \n \n \n \n getPermittedEntities(userId: EntityId, targetModel: NewsTargetModel, permissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/feathers/feathers-authorization.service.ts:54\n \n \n\n\n \n \n Get all entities for which a user has specific permissions\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetModel\n \n NewsTargetModel\n \n\n \n No\n \n\n\n \n \n permissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n The list of ids of all entities that satisfy the provided permissions for the user\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, UnauthorizedException } from '@nestjs/common';\nimport { EntityId, NewsTargetModel } from '@shared/domain/types';\nimport { FeathersAuthProvider } from './feathers-auth.provider';\n\n@Injectable()\nexport class FeathersAuthorizationService {\n\tconstructor(private feathersAuthProvider: FeathersAuthProvider) {}\n\n\t/**\n\t * Get all permissions a user has for a specific entity\n\t * @param userId\n\t * @param targetModel\n\t * @param targetId\n\t * @returns The list of entity permissions for the user\n\t */\n\tasync getEntityPermissions(userId: EntityId, targetModel: NewsTargetModel, targetId: EntityId): Promise {\n\t\tconst permissions =\n\t\t\ttargetModel === NewsTargetModel.School\n\t\t\t\t? await this.feathersAuthProvider.getUserSchoolPermissions(userId, targetId)\n\t\t\t\t: await this.feathersAuthProvider.getUserTargetPermissions(userId, targetModel, targetId);\n\t\treturn permissions;\n\t}\n\n\t/**\n\t * Ensure that a user has sufficient permissions for a specific entity\n\t * @param userId\n\t * @param targetModel\n\t * @param targetId\n\t * @param permissions\n\t * @throws UnauthorizedException if the permissions are not satisfied\n\t */\n\tasync checkEntityPermissions(\n\t\tuserId: EntityId,\n\t\ttargetModel: NewsTargetModel,\n\t\ttargetId: EntityId,\n\t\tpermissions: string[]\n\t): Promise {\n\t\tif (!Array.isArray(permissions) || permissions.length === 0)\n\t\t\tthrow new UnauthorizedException('missing at least one permission to be checked');\n\t\tconst entityPermissions = await this.getEntityPermissions(userId, targetModel, targetId);\n\t\tconst hasPermissions = permissions.every((p) => entityPermissions.includes(p));\n\t\tif (!hasPermissions) {\n\t\t\tthrow new UnauthorizedException('Insufficient permissions');\n\t\t}\n\t}\n\n\t/**\n\t * Get all entities for which a user has specific permissions\n\t * @param userId\n\t * @param targetModel\n\t * @param permissions\n\t * @returns The list of ids of all entities that satisfy the provided permissions for the user\n\t */\n\tasync getPermittedEntities(\n\t\tuserId: EntityId,\n\t\ttargetModel: NewsTargetModel,\n\t\tpermissions: string[]\n\t): Promise {\n\t\tconst entitiyIds =\n\t\t\ttargetModel === NewsTargetModel.School\n\t\t\t\t? await this.feathersAuthProvider.getPermittedSchools(userId)\n\t\t\t\t: await this.feathersAuthProvider.getPermittedTargets(userId, targetModel, permissions);\n\n\t\treturn entitiyIds;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FeathersError.html":{"url":"interfaces/FeathersError.html","title":"interface - FeathersError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FeathersError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/error/interface/feathers-error.interface.ts\n \n\n\n\n \n Extends\n \n \n Error\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n className\n \n \n \n \n code\n \n \n \n \n type\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n className\n \n \n \n \n \n \n \n \n className: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n code\n \n \n \n \n \n \n \n \n code: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface FeathersError extends Error {\n\tcode: number;\n\tclassName: string;\n\ttype: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/FeathersModule.html":{"url":"modules/FeathersModule.html","title":"module - FeathersModule","body":"\n \n\n\n\n\n Modules\n FeathersModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_FeathersModule\n\n\n\ncluster_FeathersModule_providers\n\n\n\ncluster_FeathersModule_exports\n\n\n\n\nFeathersServiceProvider \n\nFeathersServiceProvider \n\n\n\nFeathersModule\n\nFeathersModule\n\nFeathersServiceProvider -->\n\nFeathersModule->FeathersServiceProvider \n\n\n\n\n\nFeathersServiceProvider\n\nFeathersServiceProvider\n\nFeathersModule -->\n\nFeathersServiceProvider->FeathersModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/feathers/feathers.module.ts\n \n\n\n\n \n Description\n \n \n This Module gives access to legacy feathers services. It is request based injected.\nIntroduce strong typing immediately when using this modules service.\n\n \n\n\n \n \n \n Providers\n \n \n FeathersServiceProvider\n \n \n \n \n Exports\n \n \n FeathersServiceProvider\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { FeathersServiceProvider } from './feathers-service.provider';\n\n/**\n * This Module gives access to legacy feathers services. It is request based injected.\n * Introduce strong typing immediately when using this modules service.\n */\n@Module({\n\tproviders: [FeathersServiceProvider],\n\texports: [FeathersServiceProvider],\n})\nexport class FeathersModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FeathersRosterService.html":{"url":"injectables/FeathersRosterService.html","title":"injectable - FeathersRosterService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FeathersRosterService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/service/feathers-roster.service.ts\n \n\n\n \n Description\n \n \n Please do not use this service in any other nest modules.\nThis service will be called from feathers to get the roster data for ctl pseudonyms ExternalToolPseudonymEntity.\nThese data will be used e.g. by bettermarks to resolve and display the usernames.\n\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n filterCoursesByToolAvailability\n \n \n Private\n Async\n findPseudonymByPseudonym\n \n \n Private\n Async\n getAndPseudonyms\n \n \n Private\n Async\n getCoursesFromUsersPseudonym\n \n \n Async\n getGroup\n \n \n Async\n getUserGroups\n \n \n Private\n getUserRole\n \n \n Async\n getUsersMetadata\n \n \n Private\n mapPseudonymToUserData\n \n \n Private\n Async\n validateAndGetExternalTool\n \n \n Private\n Async\n validateContextExternalTools\n \n \n Private\n Async\n validateSchoolExternalTool\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userService: UserService, pseudonymService: PseudonymService, courseService: CourseService, externalToolService: ExternalToolService, schoolExternalToolService: SchoolExternalToolService, contextExternalToolService: ContextExternalToolService)\n \n \n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:56\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n pseudonymService\n \n \n PseudonymService\n \n \n \n No\n \n \n \n \n courseService\n \n \n CourseService\n \n \n \n No\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n schoolExternalToolService\n \n \n SchoolExternalToolService\n \n \n \n No\n \n \n \n \n contextExternalToolService\n \n \n ContextExternalToolService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n filterCoursesByToolAvailability\n \n \n \n \n \n \n \n filterCoursesByToolAvailability(courses: Course[], externalToolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:172\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courses\n \n Course[]\n \n\n \n No\n \n\n\n \n \n externalToolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findPseudonymByPseudonym\n \n \n \n \n \n \n \n findPseudonymByPseudonym(pseudonym: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:156\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonym\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getAndPseudonyms\n \n \n \n \n \n \n \n getAndPseudonyms(users: UserDO[], externalTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:140\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n users\n \n UserDO[]\n \n\n \n No\n \n\n\n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getCoursesFromUsersPseudonym\n \n \n \n \n \n \n \n getCoursesFromUsersPseudonym(pseudonym: Pseudonym)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:166\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonym\n \n Pseudonym\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getGroup\n \n \n \n \n \n \n \n getGroup(courseId: EntityId, oauth2ClientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:103\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n oauth2ClientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getUserGroups\n \n \n \n \n \n \n \n getUserGroups(pseudonym: string, oauth2ClientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:81\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonym\n \n string\n \n\n \n No\n \n\n\n \n \n oauth2ClientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getUserRole\n \n \n \n \n \n \n \n getUserRole(user: UserDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:148\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getUsersMetadata\n \n \n \n \n \n \n \n getUsersMetadata(pseudonym: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:66\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonym\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapPseudonymToUserData\n \n \n \n \n \n \n \n mapPseudonymToUserData(pseudonym: Pseudonym)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:235\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonym\n \n Pseudonym\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n validateAndGetExternalTool\n \n \n \n \n \n \n \n validateAndGetExternalTool(oauth2ClientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:202\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauth2ClientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n validateContextExternalTools\n \n \n \n \n \n \n \n validateContextExternalTools(courseId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:225\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n validateSchoolExternalTool\n \n \n \n \n \n \n \n validateSchoolExternalTool(schoolId: EntityId, toolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/feathers-roster.service.ts:214\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n toolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CourseService } from '@modules/learnroom/service';\nimport { ToolContextType } from '@modules/tool/common/enum';\nimport { ContextExternalTool, ContextRef } from '@modules/tool/context-external-tool/domain';\nimport { ContextExternalToolService } from '@modules/tool/context-external-tool/service';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { ExternalToolService } from '@modules/tool/external-tool/service';\nimport { SchoolExternalTool } from '@modules/tool/school-external-tool/domain';\nimport { SchoolExternalToolService } from '@modules/tool/school-external-tool/service';\nimport { UserService } from '@modules/user';\nimport { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { Pseudonym, RoleReference, UserDO } from '@shared/domain/domainobject';\nimport { Course } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { PseudonymService } from './pseudonym.service';\n\ninterface UserMetdata {\n\tdata: {\n\t\tuser_id: string;\n\t\tusername: string;\n\t\ttype: string;\n\t};\n}\n\ninterface UserGroups {\n\tdata: {\n\t\tgroups: UserGroup[];\n\t};\n}\n\ninterface UserGroup {\n\tgroup_id: string;\n\tname: string;\n\tstudent_count: number;\n}\n\ninterface UserData {\n\tuser_id: string;\n\tusername: string;\n}\n\ninterface Group {\n\tdata: {\n\t\tstudents: UserData[];\n\t\tteachers: UserData[];\n\t};\n}\n\n/**\n * Please do not use this service in any other nest modules.\n * This service will be called from feathers to get the roster data for ctl pseudonyms {@link ExternalToolPseudonymEntity}.\n * These data will be used e.g. by bettermarks to resolve and display the usernames.\n */\n@Injectable()\nexport class FeathersRosterService {\n\tconstructor(\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly pseudonymService: PseudonymService,\n\t\tprivate readonly courseService: CourseService,\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService\n\t) {}\n\n\tasync getUsersMetadata(pseudonym: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym = await this.findPseudonymByPseudonym(pseudonym);\n\t\tconst user: UserDO = await this.userService.findById(loadedPseudonym.userId);\n\n\t\tconst userMetadata: UserMetdata = {\n\t\t\tdata: {\n\t\t\t\tuser_id: user.id as string,\n\t\t\t\tusername: this.pseudonymService.getIframeSubject(loadedPseudonym.pseudonym),\n\t\t\t\ttype: this.getUserRole(user),\n\t\t\t},\n\t\t};\n\n\t\treturn userMetadata;\n\t}\n\n\tasync getUserGroups(pseudonym: string, oauth2ClientId: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym = await this.findPseudonymByPseudonym(pseudonym);\n\t\tconst externalTool: ExternalTool = await this.validateAndGetExternalTool(oauth2ClientId);\n\n\t\tlet courses: Course[] = await this.getCoursesFromUsersPseudonym(loadedPseudonym);\n\t\tcourses = await this.filterCoursesByToolAvailability(courses, externalTool.id as string);\n\n\t\tconst userGroups: UserGroups = {\n\t\t\tdata: {\n\t\t\t\tgroups: courses.map((course) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tgroup_id: course.id,\n\t\t\t\t\t\tname: course.name,\n\t\t\t\t\t\tstudent_count: course.students.length,\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t},\n\t\t};\n\n\t\treturn userGroups;\n\t}\n\n\tasync getGroup(courseId: EntityId, oauth2ClientId: string): Promise {\n\t\tconst course: Course = await this.courseService.findById(courseId);\n\t\tconst externalTool: ExternalTool = await this.validateAndGetExternalTool(oauth2ClientId);\n\n\t\tawait this.validateSchoolExternalTool(course.school.id, externalTool.id as string);\n\t\tawait this.validateContextExternalTools(courseId);\n\n\t\tconst [studentEntities, teacherEntities, substitutionTeacherEntities] = await Promise.all([\n\t\t\tcourse.students.loadItems(),\n\t\t\tcourse.teachers.loadItems(),\n\t\t\tcourse.substitutionTeachers.loadItems(),\n\t\t]);\n\n\t\tconst [students, teachers, substitutionTeachers] = await Promise.all([\n\t\t\tPromise.all(studentEntities.map((user) => this.userService.findById(user.id))),\n\t\t\tPromise.all(teacherEntities.map((user) => this.userService.findById(user.id))),\n\t\t\tPromise.all(substitutionTeacherEntities.map((user) => this.userService.findById(user.id))),\n\t\t]);\n\n\t\tconst [studentPseudonyms, teacherPseudonyms, substitutionTeacherPseudonyms] = await Promise.all([\n\t\t\tthis.getAndPseudonyms(students, externalTool),\n\t\t\tthis.getAndPseudonyms(teachers, externalTool),\n\t\t\tthis.getAndPseudonyms(substitutionTeachers, externalTool),\n\t\t]);\n\n\t\tconst allTeacherPseudonyms: Pseudonym[] = teacherPseudonyms.concat(substitutionTeacherPseudonyms);\n\n\t\tconst group: Group = {\n\t\t\tdata: {\n\t\t\t\tstudents: studentPseudonyms.map((pseudonym: Pseudonym) => this.mapPseudonymToUserData(pseudonym)),\n\t\t\t\tteachers: allTeacherPseudonyms.map((pseudonym: Pseudonym) => this.mapPseudonymToUserData(pseudonym)),\n\t\t\t},\n\t\t};\n\n\t\treturn group;\n\t}\n\n\tprivate async getAndPseudonyms(users: UserDO[], externalTool: ExternalTool): Promise {\n\t\tconst pseudonyms: Pseudonym[] = await Promise.all(\n\t\t\tusers.map((user: UserDO) => this.pseudonymService.findOrCreatePseudonym(user, externalTool))\n\t\t);\n\n\t\treturn pseudonyms;\n\t}\n\n\tprivate getUserRole(user: UserDO): string {\n\t\tconst roleName = user.roles.some((role: RoleReference) => role.name === RoleName.TEACHER)\n\t\t\t? RoleName.TEACHER\n\t\t\t: RoleName.STUDENT;\n\n\t\treturn roleName;\n\t}\n\n\tprivate async findPseudonymByPseudonym(pseudonym: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym | null = await this.pseudonymService.findPseudonymByPseudonym(pseudonym);\n\n\t\tif (!loadedPseudonym) {\n\t\t\tthrow new NotFoundLoggableException(Pseudonym.name, 'pseudonym', pseudonym);\n\t\t}\n\n\t\treturn loadedPseudonym;\n\t}\n\n\tprivate async getCoursesFromUsersPseudonym(pseudonym: Pseudonym): Promise {\n\t\tconst courses: Course[] = await this.courseService.findAllByUserId(pseudonym.userId);\n\n\t\treturn courses;\n\t}\n\n\tprivate async filterCoursesByToolAvailability(courses: Course[], externalToolId: string): Promise {\n\t\tconst validCourses: Course[] = [];\n\n\t\tawait Promise.all(\n\t\t\tcourses.map(async (course: Course) => {\n\t\t\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolService.findAllByContext(\n\t\t\t\t\tnew ContextRef({\n\t\t\t\t\t\tid: course.id,\n\t\t\t\t\t\ttype: ToolContextType.COURSE,\n\t\t\t\t\t})\n\t\t\t\t);\n\n\t\t\t\tfor await (const contextExternalTool of contextExternalTools) {\n\t\t\t\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(\n\t\t\t\t\t\tcontextExternalTool.schoolToolRef.schoolToolId\n\t\t\t\t\t);\n\t\t\t\t\tconst externalTool: ExternalTool = await this.externalToolService.findById(schoolExternalTool.toolId);\n\t\t\t\t\tconst isRequiredTool: boolean = externalTool.id === externalToolId;\n\n\t\t\t\t\tif (isRequiredTool) {\n\t\t\t\t\t\tvalidCourses.push(course);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t);\n\n\t\treturn validCourses;\n\t}\n\n\tprivate async validateAndGetExternalTool(oauth2ClientId: string): Promise {\n\t\tconst externalTool: ExternalTool | null = await this.externalToolService.findExternalToolByOAuth2ConfigClientId(\n\t\t\toauth2ClientId\n\t\t);\n\n\t\tif (!externalTool || !externalTool.id) {\n\t\t\tthrow new NotFoundLoggableException(ExternalTool.name, 'config.clientId', oauth2ClientId);\n\t\t}\n\n\t\treturn externalTool;\n\t}\n\n\tprivate async validateSchoolExternalTool(schoolId: EntityId, toolId: string): Promise {\n\t\tconst schoolExternalTools: SchoolExternalTool[] = await this.schoolExternalToolService.findSchoolExternalTools({\n\t\t\tschoolId,\n\t\t\ttoolId,\n\t\t});\n\n\t\tif (schoolExternalTools.length === 0) {\n\t\t\tthrow new NotFoundLoggableException(SchoolExternalTool.name, 'toolId', toolId);\n\t\t}\n\t}\n\n\tprivate async validateContextExternalTools(courseId: EntityId): Promise {\n\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolService.findAllByContext(\n\t\t\tnew ContextRef({ id: courseId, type: ToolContextType.COURSE })\n\t\t);\n\n\t\tif (contextExternalTools.length === 0) {\n\t\t\tthrow new NotFoundLoggableException(ContextExternalTool.name, 'contextRef.id', courseId);\n\t\t}\n\t}\n\n\tprivate mapPseudonymToUserData(pseudonym: Pseudonym): UserData {\n\t\tconst userData: UserData = {\n\t\t\tuser_id: pseudonym.pseudonym,\n\t\t\tusername: this.pseudonymService.getIframeSubject(pseudonym.pseudonym),\n\t\t};\n\n\t\treturn userData;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FeathersService.html":{"url":"interfaces/FeathersService.html","title":"interface - FeathersService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FeathersService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/feathers/feathers-service.provider.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n create\n \n \n \n \n find\n \n \n \n \n get\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n create\n \n \n \n \n \n \n \n \n \n \n \ncreate(data?: FeathersServiceParams, params?: FeathersServiceParams)\n \n \n\n\n \n \n Defined in apps/server/src/infra/feathers/feathers-service.provider.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n FeathersServiceParams\n \n\n \n Yes\n \n\n\n \n \n params\n \n FeathersServiceParams\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n find\n \n \n \n \n \n \n Access legacy eathers service find method\n \n \n \n \nfind(params?: FeathersServiceParams)\n \n \n\n\n \n \n Defined in apps/server/src/infra/feathers/feathers-service.provider.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n FeathersServiceParams\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n get\n \n \n \n \n \n \n Access legacy eathers service get method\n \n \n \n \nget(id: string, params?: FeathersServiceParams)\n \n \n\n\n \n \n Defined in apps/server/src/infra/feathers/feathers-service.provider.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n params\n \n FeathersServiceParams\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Application } from '@feathersjs/express';\nimport { ImATeapotException, Inject, Injectable, Scope } from '@nestjs/common';\nimport { REQUEST } from '@nestjs/core';\nimport { Request } from 'express';\n\nexport interface FeathersService {\n\t/**\n\t *\n\t * @param id\n\t * @param params\n\t * @deprecated Access legacy eathers service get method\n\t */\n\tget(id: string, params?: FeathersServiceParams): Promise;\n\t/**\n\t *\n\t * @param params\n\t * @deprecated Access legacy eathers service find method\n\t */\n\tfind(params?: FeathersServiceParams): Promise;\n\t/**\n\t *\n\t * @deprecated\n\t */\n\tcreate(data?: FeathersServiceParams, params?: FeathersServiceParams): Promise;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type FeathersServiceParams = Record;\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type FeathersServiceResponse = Record | any[];\n\n/**\n * This Service gives access to legacy feathers services. It is request based injected.\n * IMPORTANT: Introduce strong typing immediately when using this modules service.\n */\n@Injectable({ scope: Scope.REQUEST })\nexport class FeathersServiceProvider {\n\tconstructor(@Inject(REQUEST) private request: Request) {}\n\n\tgetService(path: string): FeathersService {\n\t\tconst feathersApp = this.request.app.get('feathersApp') as Application;\n\t\tif (feathersApp == null) {\n\t\t\t// missing a feathers instance defined in module definition\n\t\t\t// see main.ts how it might work\n\t\t\t// sample: nestExpress.set('feathersApp', feathersExpress);\n\t\t\tthrow new ImATeapotException('this action requires a feathers instance available');\n\t\t}\n\t\tconst service = feathersApp.service(path) as FeathersService;\n\t\treturn service;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FeathersServiceProvider.html":{"url":"injectables/FeathersServiceProvider.html","title":"injectable - FeathersServiceProvider","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FeathersServiceProvider\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/feathers/feathers-service.provider.ts\n \n\n\n \n Description\n \n \n This Service gives access to legacy feathers services. It is request based injected.\nIMPORTANT: Introduce strong typing immediately when using this modules service.\n\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getService\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(request: Request)\n \n \n \n \n Defined in apps/server/src/infra/feathers/feathers-service.provider.ts:38\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n request\n \n \n Request\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getService\n \n \n \n \n \n \ngetService(path: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/feathers/feathers-service.provider.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n path\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FeathersService\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Application } from '@feathersjs/express';\nimport { ImATeapotException, Inject, Injectable, Scope } from '@nestjs/common';\nimport { REQUEST } from '@nestjs/core';\nimport { Request } from 'express';\n\nexport interface FeathersService {\n\t/**\n\t *\n\t * @param id\n\t * @param params\n\t * @deprecated Access legacy eathers service get method\n\t */\n\tget(id: string, params?: FeathersServiceParams): Promise;\n\t/**\n\t *\n\t * @param params\n\t * @deprecated Access legacy eathers service find method\n\t */\n\tfind(params?: FeathersServiceParams): Promise;\n\t/**\n\t *\n\t * @deprecated\n\t */\n\tcreate(data?: FeathersServiceParams, params?: FeathersServiceParams): Promise;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type FeathersServiceParams = Record;\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type FeathersServiceResponse = Record | any[];\n\n/**\n * This Service gives access to legacy feathers services. It is request based injected.\n * IMPORTANT: Introduce strong typing immediately when using this modules service.\n */\n@Injectable({ scope: Scope.REQUEST })\nexport class FeathersServiceProvider {\n\tconstructor(@Inject(REQUEST) private request: Request) {}\n\n\tgetService(path: string): FeathersService {\n\t\tconst feathersApp = this.request.app.get('feathersApp') as Application;\n\t\tif (feathersApp == null) {\n\t\t\t// missing a feathers instance defined in module definition\n\t\t\t// see main.ts how it might work\n\t\t\t// sample: nestExpress.set('feathersApp', feathersExpress);\n\t\t\tthrow new ImATeapotException('this action requires a feathers instance available');\n\t\t}\n\t\tconst service = feathersApp.service(path) as FeathersService;\n\t\treturn service;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/FederalStateEntity.html":{"url":"entities/FederalStateEntity.html","title":"entity - FederalStateEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n FederalStateEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/federal-state.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n abbreviation\n \n \n \n Optional\n counties\n \n \n \n logoUrl\n \n \n \n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n abbreviation\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/federal-state.entity.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n counties\n \n \n \n \n \n \n Type : County[]\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {array: true, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/federal-state.entity.ts:40\n \n \n\n\n \n \n \n \n \n \n \n \n \n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/federal-state.entity.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/federal-state.entity.ts:31\n \n \n\n\n \n \n\n \n\n\n \n import { Embeddable, Embedded, Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface FederalStateProperties {\n\tname: string;\n\tabbreviation: string;\n\tlogoUrl: string;\n\tcounties?: County[];\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\n@Embeddable()\nexport class County {\n\tconstructor(county: County) {\n\t\tthis.name = county.name;\n\t\tthis.countyId = county.countyId;\n\t\tthis.antaresKey = county.antaresKey;\n\t}\n\n\tname: string;\n\n\tcountyId: number;\n\n\tantaresKey: string;\n}\n\n@Entity({ tableName: 'federalstates' })\nexport class FederalStateEntity extends BaseEntityWithTimestamps {\n\t@Property({ nullable: false })\n\tname: string;\n\n\t@Property({ nullable: false })\n\tabbreviation: string;\n\n\t@Property()\n\tlogoUrl: string;\n\n\t@Embedded(() => County, { array: true, nullable: true })\n\tcounties?: County[];\n\n\tconstructor(props: FederalStateProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.abbreviation = props.abbreviation;\n\t\tthis.logoUrl = props.logoUrl;\n\t\tthis.updatedAt = props.updatedAt;\n\t\tthis.createdAt = props.createdAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FederalStateProperties.html":{"url":"interfaces/FederalStateProperties.html","title":"interface - FederalStateProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FederalStateProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/federal-state.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n abbreviation\n \n \n \n Optional\n \n counties\n \n \n \n \n createdAt\n \n \n \n \n logoUrl\n \n \n \n \n name\n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n abbreviation\n \n \n \n \n \n \n \n \n abbreviation: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n counties\n \n \n \n \n \n \n \n \n counties: County[]\n\n \n \n\n\n \n \n Type : County[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n logoUrl\n \n \n \n \n \n \n \n \n logoUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Embeddable, Embedded, Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface FederalStateProperties {\n\tname: string;\n\tabbreviation: string;\n\tlogoUrl: string;\n\tcounties?: County[];\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\n@Embeddable()\nexport class County {\n\tconstructor(county: County) {\n\t\tthis.name = county.name;\n\t\tthis.countyId = county.countyId;\n\t\tthis.antaresKey = county.antaresKey;\n\t}\n\n\tname: string;\n\n\tcountyId: number;\n\n\tantaresKey: string;\n}\n\n@Entity({ tableName: 'federalstates' })\nexport class FederalStateEntity extends BaseEntityWithTimestamps {\n\t@Property({ nullable: false })\n\tname: string;\n\n\t@Property({ nullable: false })\n\tabbreviation: string;\n\n\t@Property()\n\tlogoUrl: string;\n\n\t@Embedded(() => County, { array: true, nullable: true })\n\tcounties?: County[];\n\n\tconstructor(props: FederalStateProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.abbreviation = props.abbreviation;\n\t\tthis.logoUrl = props.logoUrl;\n\t\tthis.updatedAt = props.updatedAt;\n\t\tthis.createdAt = props.createdAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FederalStateRepo.html":{"url":"injectables/FederalStateRepo.html","title":"injectable - FederalStateRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FederalStateRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/federalstate/federal-state.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n findByName\n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n findByName\n \n \n \n \n \n \nfindByName(name: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/federalstate/federal-state.repo.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/federalstate/federal-state.repo.ts:8\n \n \n\n \n \n\n \n\n\n \n import { EntityName } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\nimport { FederalStateEntity } from '@shared/domain/entity';\nimport { BaseRepo } from '../base.repo';\n\n@Injectable()\nexport class FederalStateRepo extends BaseRepo {\n\tget entityName(): EntityName {\n\t\treturn FederalStateEntity;\n\t}\n\n\tfindByName(name: string): Promise {\n\t\treturn this._em.findOneOrFail(FederalStateEntity, { name });\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FederalStateService.html":{"url":"injectables/FederalStateService.html","title":"injectable - FederalStateService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FederalStateService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/legacy-school/service/federal-state.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findFederalStateByName\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(federalStateRepo: FederalStateRepo)\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/service/federal-state.service.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n federalStateRepo\n \n \n FederalStateRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findFederalStateByName\n \n \n \n \n \n \n \n findFederalStateByName(name: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/federal-state.service.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { FederalStateEntity } from '@shared/domain/entity';\nimport { FederalStateRepo } from '@shared/repo';\n\n@Injectable()\nexport class FederalStateService {\n\tconstructor(private readonly federalStateRepo: FederalStateRepo) {}\n\n\t// TODO: N21-990 Refactoring: Create domain objects for schoolYear and federalState\n\tasync findFederalStateByName(name: string): Promise {\n\t\tconst federalState: FederalStateEntity = await this.federalStateRepo.findByName(name);\n\n\t\treturn federalState;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/File.html":{"url":"interfaces/File.html","title":"interface - File","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n File\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/s3-client/interface/index.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n mimeType\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: Readable\n\n \n \n\n\n \n \n Type : Readable\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n mimeType\n \n \n \n \n \n \n \n \n mimeType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Readable } from 'stream';\n\nexport interface S3Config {\n\tconnectionName: string;\n\tendpoint: string;\n\tregion: string;\n\tbucket: string;\n\taccessKeyId: string;\n\tsecretAccessKey: string;\n}\n\nexport interface GetFile {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n}\n\nexport interface CopyFiles {\n\tsourcePath: string;\n\ttargetPath: string;\n}\n\nexport interface File {\n\tdata: Readable;\n\tmimeType: string;\n}\n\nexport interface ListFiles {\n\tpath: string;\n\tmaxKeys?: number;\n\tnextMarker?: string;\n\tfiles?: string[];\n}\n\nexport interface ObjectKeysRecursive {\n\tpath: string;\n\tmaxKeys: number | undefined;\n\tnextMarker: string | undefined;\n\tfiles: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileContentBody.html":{"url":"classes/FileContentBody.html","title":"class - FileContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n alternativeText\n \n \n \n \n caption\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n alternativeText\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n caption\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:20\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FileDO.html":{"url":"interfaces/FileDO.html","title":"interface - FileDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FileDO\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/rabbitmq/exchange/files-storage.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n creatorId\n \n \n \n Optional\n \n deletedSince\n \n \n \n \n id\n \n \n \n \n mimeType\n \n \n \n \n name\n \n \n \n \n parentId\n \n \n \n \n parentType\n \n \n \n \n securityCheckStatus\n \n \n \n \n size\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n creatorId\n \n \n \n \n \n \n \n \n creatorId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n deletedSince\n \n \n \n \n \n \n \n \n deletedSince: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n mimeType\n \n \n \n \n \n \n \n \n mimeType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n \n \n parentId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n \n \n parentType: FileRecordParentType\n\n \n \n\n\n \n \n Type : FileRecordParentType\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n securityCheckStatus\n \n \n \n \n \n \n \n \n securityCheckStatus: ScanStatus\n\n \n \n\n\n \n \n Type : ScanStatus\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n size\n \n \n \n \n \n \n \n \n size: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { EntityId } from '@shared/domain/types';\n\nexport const FilesStorageExchange = Configuration.get('FILES_STORAGE__EXCHANGE') as string;\n\nexport enum FilesStorageEvents {\n\t'COPY_FILES_OF_PARENT' = 'copy-files-of-parent',\n\t'LIST_FILES_OF_PARENT' = 'list-files-of-parent',\n\t'DELETE_FILES_OF_PARENT' = 'delete-files-of-parent',\n}\n\nexport enum ScanStatus {\n\tPENDING = 'pending',\n\tVERIFIED = 'verified',\n\tBLOCKED = 'blocked',\n\tWONT_CHECK = 'wont_check',\n\tERROR = 'error',\n}\n\nexport enum FileRecordParentType {\n\t'User' = 'users',\n\t'School' = 'schools',\n\t'Course' = 'courses',\n\t'Task' = 'tasks',\n\t'Lesson' = 'lessons',\n\t'Submission' = 'submissions',\n\t'BoardNode' = 'boardnodes',\n}\n\nexport interface CopyFilesOfParentParams {\n\tuserId: EntityId;\n\tsource: FileRecordParams;\n\ttarget: FileRecordParams;\n}\n\nexport interface FileRecordParams {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\nexport interface CopyFileDO {\n\tid?: EntityId;\n\tsourceId: EntityId;\n\tname: string;\n}\n\nexport interface FileDO {\n\tid: string;\n\tname: string;\n\tparentId: string;\n\tsecurityCheckStatus: ScanStatus;\n\tsize: number;\n\tcreatorId: string;\n\tmimeType: string;\n\tparentType: FileRecordParentType;\n\tdeletedSince?: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FileDomainObjectProps.html":{"url":"interfaces/FileDomainObjectProps.html","title":"interface - FileDomainObjectProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FileDomainObjectProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/interfaces/file-domain-object-props.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n name\n \n \n \n \n parentId\n \n \n \n \n parentType\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n \n \n parentId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n \n \n parentType: FileRecordParentType\n\n \n \n\n\n \n \n Type : FileRecordParentType\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { FileRecordParentType } from '@infra/rabbitmq';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface FileDomainObjectProps {\n\tid: EntityId;\n\tname: string;\n\tparentType: FileRecordParentType;\n\tparentId: EntityId;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileDto.html":{"url":"classes/FileDto.html","title":"class - FileDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/dto/file.dto.ts\n \n\n\n\n\n \n Implements\n \n \n File\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n data\n \n \n mimeType\n \n \n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(file: FileDto)\n \n \n \n \n Defined in apps/server/src/modules/files-storage/dto/file.dto.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n file\n \n \n FileDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : Readable\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage/dto/file.dto.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n mimeType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage/dto/file.dto.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage/dto/file.dto.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { File } from '@infra/s3-client';\nimport { Readable } from 'stream';\n\nexport class FileDto implements File {\n\tconstructor(file: FileDto) {\n\t\tthis.name = file.name;\n\t\tthis.data = file.data;\n\t\tthis.mimeType = file.mimeType;\n\t}\n\n\tname: string;\n\n\tdata: Readable;\n\n\tmimeType: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileDto-1.html":{"url":"classes/FileDto-1.html","title":"class - FileDto-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/dto/file.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n id\n \n \n name\n \n \n parentId\n \n \n parentType\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: FileDomainObjectProps)\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/dto/file.dto.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n FileDomainObjectProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/dto/file.dto.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/dto/file.dto.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/dto/file.dto.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n Type : FileRecordParentType\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/dto/file.dto.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { FileRecordParentType } from '@infra/rabbitmq';\nimport { EntityId } from '@shared/domain/types';\nimport { FileDomainObjectProps } from '../interfaces';\n\nexport class FileDto {\n\tid: EntityId;\n\n\tname: string;\n\n\tparentType: FileRecordParentType;\n\n\tparentId: EntityId;\n\n\tconstructor(props: FileDomainObjectProps) {\n\t\tthis.id = props.id;\n\t\tthis.name = props.name;\n\t\tthis.parentType = props.parentType;\n\t\tthis.parentId = props.parentId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileDtoBuilder.html":{"url":"classes/FileDtoBuilder.html","title":"class - FileDtoBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileDtoBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/mapper/file-dto.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n Static\n buildFromAxiosResponse\n \n \n Static\n buildFromRequest\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(name: string, data: Readable, mimeType: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/file-dto.builder.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n data\n \n Readable\n \n\n \n No\n \n\n\n \n \n mimeType\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileDto\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n buildFromAxiosResponse\n \n \n \n \n \n \n \n buildFromAxiosResponse(name: string, response: AxiosResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/file-dto.builder.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n response\n \n AxiosResponse\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileDto\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n buildFromRequest\n \n \n \n \n \n \n \n buildFromRequest(fileInfo: FileInfo, data: Readable)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/file-dto.builder.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileInfo\n \n FileInfo\n \n\n \n No\n \n\n\n \n \n data\n \n Readable\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileDto\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { AxiosResponse } from 'axios';\nimport { FileInfo } from 'busboy';\nimport { Readable } from 'stream';\nimport { FileDto } from '../dto/file.dto';\n\nexport class FileDtoBuilder {\n\tpublic static build(name: string, data: Readable, mimeType: string): FileDto {\n\t\tconst file = new FileDto({ name, data, mimeType });\n\n\t\treturn file;\n\t}\n\n\tpublic static buildFromRequest(fileInfo: FileInfo, data: Readable): FileDto {\n\t\tconst file = FileDtoBuilder.build(fileInfo.filename, data, fileInfo.mimeType);\n\n\t\treturn file;\n\t}\n\n\tpublic static buildFromAxiosResponse(name: string, response: AxiosResponse): FileDto {\n\t\tconst mimeType = response.headers['Content-Type']?.toString() || 'application/octet-stream';\n\t\tconst file = FileDtoBuilder.build(name, response.data, mimeType);\n\n\t\treturn file;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileElement.html":{"url":"classes/FileElement.html","title":"class - FileElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/file-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardComposite\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n accept\n \n \n Async\n acceptAsync\n \n \n isAllowedAsChild\n \n \n addChild\n \n \n hasChild\n \n \n removeChild\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n caption\n \n \n alternativeText\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n accept\n \n \n \n \n \n \naccept(visitor: BoardCompositeVisitor)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:25\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitor\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n acceptAsync\n \n \n \n \n \n \n \n acceptAsync(visitor: BoardCompositeVisitorAsync)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:29\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitorAsync\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isAllowedAsChild\n \n \n \n \n \n \nisAllowedAsChild()\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:21\n\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n addChild\n \n \n \n \n \n \naddChild(child: AnyBoardDo, position?: number)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n position\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasChild\n \n \n \n \n \n \nhasChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeChild\n \n \n \n \n \n \nremoveChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n caption\n \n \n\n \n \n getcaption()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/file-element.do.ts:5\n \n \n\n \n \n setcaption(value: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/file-element.do.ts:9\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n alternativeText\n \n \n\n \n \n getalternativeText()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/file-element.do.ts:13\n \n \n\n \n \n setalternativeText(value: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/file-element.do.ts:17\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class FileElement extends BoardComposite {\n\tget caption(): string {\n\t\treturn this.props.caption || '';\n\t}\n\n\tset caption(value: string) {\n\t\tthis.props.caption = value;\n\t}\n\n\tget alternativeText(): string {\n\t\treturn this.props.alternativeText || '';\n\t}\n\n\tset alternativeText(value: string) {\n\t\tthis.props.alternativeText = value;\n\t}\n\n\tisAllowedAsChild(): boolean {\n\t\treturn false;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitFileElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitFileElementAsync(this);\n\t}\n}\n\nexport interface FileElementProps extends BoardCompositeProps {\n\tcaption: string;\n\talternativeText: string;\n}\n\nexport function isFileElement(reference: unknown): reference is FileElement {\n\treturn reference instanceof FileElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileElementContent.html":{"url":"classes/FileElementContent.html","title":"class - FileElementContent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileElementContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/file-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n alternativeText\n \n \n \n \n caption\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: FileElementContent)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/file-element.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n FileElementContent\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n alternativeText\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/file-element.response.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n caption\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/file-element.response.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class FileElementContent {\n\tconstructor({ caption, alternativeText }: FileElementContent) {\n\t\tthis.caption = caption;\n\t\tthis.alternativeText = alternativeText;\n\t}\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tcaption: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\talternativeText: string;\n}\n\nexport class FileElementResponse {\n\tconstructor({ id, content, timestamps, type }: FileElementResponse) {\n\t\tthis.id = id;\n\t\tthis.content = content;\n\t\tthis.timestamps = timestamps;\n\t\tthis.type = type;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.FILE;\n\n\t@ApiProperty()\n\tcontent: FileElementContent;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileElementContentBody.html":{"url":"classes/FileElementContentBody.html","title":"class - FileElementContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileElementContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n \n Extends\n \n \n ElementContentBody\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : FileContentBody\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.FILE\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from ElementContentBody\n\n \n \n \n \n Defined in ElementContentBody:29\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/FileElementNode.html":{"url":"entities/FileElementNode.html","title":"entity - FileElementNode","body":"\n \n\n\n\n\n\n\n\n Entities\n FileElementNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/file-element-node.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n alternativeText\n \n \n \n caption\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n alternativeText\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/file-element-node.entity.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n caption\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/file-element-node.entity.ts:9\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { AnyBoardDo } from '../../domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.FILE_ELEMENT })\nexport class FileElementNode extends BoardNode {\n\t@Property()\n\tcaption: string;\n\n\t@Property()\n\talternativeText: string;\n\n\tconstructor(props: FileElementNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.FILE_ELEMENT;\n\t\tthis.caption = props.caption;\n\t\tthis.alternativeText = props.alternativeText;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildFileElement(this);\n\n\t\treturn domainObject;\n\t}\n}\n\nexport interface FileElementNodeProps extends BoardNodeProps {\n\tcaption: string;\n\talternativeText: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FileElementNodeProps.html":{"url":"interfaces/FileElementNodeProps.html","title":"interface - FileElementNodeProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FileElementNodeProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/file-element-node.entity.ts\n \n\n\n\n \n Extends\n \n \n BoardNodeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n alternativeText\n \n \n \n \n caption\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n alternativeText\n \n \n \n \n \n \n \n \n alternativeText: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n caption\n \n \n \n \n \n \n \n \n caption: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { AnyBoardDo } from '../../domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.FILE_ELEMENT })\nexport class FileElementNode extends BoardNode {\n\t@Property()\n\tcaption: string;\n\n\t@Property()\n\talternativeText: string;\n\n\tconstructor(props: FileElementNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.FILE_ELEMENT;\n\t\tthis.caption = props.caption;\n\t\tthis.alternativeText = props.alternativeText;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildFileElement(this);\n\n\t\treturn domainObject;\n\t}\n}\n\nexport interface FileElementNodeProps extends BoardNodeProps {\n\tcaption: string;\n\talternativeText: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FileElementProps.html":{"url":"interfaces/FileElementProps.html","title":"interface - FileElementProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FileElementProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/file-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardCompositeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n alternativeText\n \n \n \n \n caption\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n alternativeText\n \n \n \n \n \n \n \n \n alternativeText: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n caption\n \n \n \n \n \n \n \n \n caption: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class FileElement extends BoardComposite {\n\tget caption(): string {\n\t\treturn this.props.caption || '';\n\t}\n\n\tset caption(value: string) {\n\t\tthis.props.caption = value;\n\t}\n\n\tget alternativeText(): string {\n\t\treturn this.props.alternativeText || '';\n\t}\n\n\tset alternativeText(value: string) {\n\t\tthis.props.alternativeText = value;\n\t}\n\n\tisAllowedAsChild(): boolean {\n\t\treturn false;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitFileElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitFileElementAsync(this);\n\t}\n}\n\nexport interface FileElementProps extends BoardCompositeProps {\n\tcaption: string;\n\talternativeText: string;\n}\n\nexport function isFileElement(reference: unknown): reference is FileElement {\n\treturn reference instanceof FileElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileElementResponse.html":{"url":"classes/FileElementResponse.html","title":"class - FileElementResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileElementResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/file-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n id\n \n \n \n timestamps\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: FileElementResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/file-element.response.ts:21\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n FileElementResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : FileElementContent\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/file-element.response.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/file-element.response.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n timestamps\n \n \n \n \n \n \n Type : TimestampsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/file-element.response.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.FILE\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ContentElementType, enumName: 'ContentElementType'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/file-element.response.ts:33\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class FileElementContent {\n\tconstructor({ caption, alternativeText }: FileElementContent) {\n\t\tthis.caption = caption;\n\t\tthis.alternativeText = alternativeText;\n\t}\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tcaption: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\talternativeText: string;\n}\n\nexport class FileElementResponse {\n\tconstructor({ id, content, timestamps, type }: FileElementResponse) {\n\t\tthis.id = id;\n\t\tthis.content = content;\n\t\tthis.timestamps = timestamps;\n\t\tthis.type = type;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.FILE;\n\n\t@ApiProperty()\n\tcontent: FileElementContent;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileElementResponseMapper.html":{"url":"classes/FileElementResponseMapper.html","title":"class - FileElementResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileElementResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/file-element-response.mapper.ts\n \n\n\n\n\n \n Implements\n \n \n BaseResponseMapper\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n canMap\n \n \n Static\n getInstance\n \n \n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n \n \n Type : FileElementResponseMapper\n\n \n \n \n \n Defined in apps/server/src/modules/board/controller/mapper/file-element-response.mapper.ts:6\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n canMap\n \n \n \n \n \n \ncanMap(element: FileElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/file-element-response.mapper.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n FileElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n getInstance\n \n \n \n \n \n \n \n getInstance()\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/file-element-response.mapper.ts:8\n \n \n\n\n \n \n\n \n Returns : FileElementResponseMapper\n\n \n \n \n \n \n \n \n \n \n \n \n mapToResponse\n \n \n \n \n \n \nmapToResponse(element: FileElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/file-element-response.mapper.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n FileElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileElementResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ContentElementType, FileElement } from '@shared/domain/domainobject';\nimport { FileElementContent, FileElementResponse, TimestampsResponse } from '../dto';\nimport { BaseResponseMapper } from './base-mapper.interface';\n\nexport class FileElementResponseMapper implements BaseResponseMapper {\n\tprivate static instance: FileElementResponseMapper;\n\n\tpublic static getInstance(): FileElementResponseMapper {\n\t\tif (!FileElementResponseMapper.instance) {\n\t\t\tFileElementResponseMapper.instance = new FileElementResponseMapper();\n\t\t}\n\n\t\treturn FileElementResponseMapper.instance;\n\t}\n\n\tmapToResponse(element: FileElement): FileElementResponse {\n\t\tconst result = new FileElementResponse({\n\t\t\tid: element.id,\n\t\t\ttimestamps: new TimestampsResponse({ lastUpdatedAt: element.updatedAt, createdAt: element.createdAt }),\n\t\t\ttype: ContentElementType.FILE,\n\t\t\tcontent: new FileElementContent({ caption: element.caption, alternativeText: element.alternativeText }),\n\t\t});\n\n\t\treturn result;\n\t}\n\n\tcanMap(element: FileElement): boolean {\n\t\treturn element instanceof FileElement;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/FileEntity.html":{"url":"entities/FileEntity.html","title":"entity - FileEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n FileEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files/entity/file.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n _creatorId\n \n \n \n Optional\n _lockId\n \n \n \n \n _ownerId\n \n \n \n \n Optional\n _parentId\n \n \n \n Optional\n bucket\n \n \n \n deleted\n \n \n \n Optional\n deletedAt\n \n \n \n isDirectory\n \n \n \n name\n \n \n \n permissions\n \n \n \n refOwnerModel\n \n \n \n securityCheck\n \n \n \n \n shareTokens\n \n \n \n Optional\n size\n \n \n \n Optional\n storageFileName\n \n \n \n Optional\n storageProvider\n \n \n \n Optional\n thumbnail\n \n \n \n Optional\n thumbnailRequestToken\n \n \n \n Optional\n type\n \n \n \n Optional\n versionKey\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n _creatorId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'creator'})@Index()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:100\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n _lockId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'lockId', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:110\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n _ownerId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'owner', nullable: false})@Index()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:89\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n _parentId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'parent', nullable: true})@Index()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:81\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n bucket\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:61\n \n \n\n\n \n \n \n \n \n \n \n \n \n deleted\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n deletedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:40\n \n \n\n\n \n \n \n \n \n \n \n \n \n isDirectory\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n \n permissions\n \n \n \n \n \n \n Type : FilePermissionEntity[]\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {array: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:107\n \n \n\n\n \n \n \n \n \n \n \n \n \n refOwnerModel\n \n \n \n \n \n \n Type : FileOwnerModel\n\n \n \n \n \n Decorators : \n \n \n @Enum({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:96\n \n \n\n\n \n \n \n \n \n \n \n \n \n securityCheck\n \n \n \n \n \n \n Type : FileSecurityCheckEntity\n\n \n \n \n \n Default value : new FileSecurityCheckEntity({})\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {object: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:73\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n shareTokens\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})@Index()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:77\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n size\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n storageFileName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n storageProvider\n \n \n \n \n \n \n Type : StorageProviderEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined, {fieldName: 'storageProviderId', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:64\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n thumbnail\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:67\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n thumbnailRequestToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : uuid()\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:70\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n versionKey\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: '__v', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file.entity.ts:117\n \n \n\n\n \n \n\n \n\n\n \n import { Embedded, Entity, Enum, Index, ManyToOne, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { StorageProviderEntity } from '@shared/domain/entity';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { v4 as uuid } from 'uuid';\nimport { FileOwnerModel } from '../domain';\nimport { FilePermissionEntity } from './file-permission.entity';\nimport { FileSecurityCheckEntity } from './file-security-check.entity';\n\nexport interface FileEntityProps {\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n\tdeletedAt?: Date;\n\tdeleted?: boolean;\n\tisDirectory?: boolean;\n\tname: string;\n\tsize?: number;\n\ttype?: string;\n\tstorageFileName?: string;\n\tbucket?: string;\n\tstorageProvider?: StorageProviderEntity;\n\tthumbnail?: string;\n\tthumbnailRequestToken?: string;\n\tsecurityCheck?: FileSecurityCheckEntity;\n\tshareTokens?: string[];\n\tparentId?: EntityId;\n\townerId: EntityId;\n\trefOwnerModel: FileOwnerModel;\n\tcreatorId: EntityId;\n\tpermissions: FilePermissionEntity[];\n\tlockId?: EntityId;\n\tversionKey?: number;\n}\n\n@Entity({ collection: 'files' })\n@Index({ options: { 'permissions.refId': 1 } })\nexport class FileEntity extends BaseEntityWithTimestamps {\n\t@Property({ nullable: true })\n\tdeletedAt?: Date;\n\n\t@Property()\n\tdeleted = false;\n\n\t@Property()\n\tisDirectory = false;\n\n\t@Property()\n\tname: string;\n\n\t@Property({ nullable: true })\n\tsize?: number; // not for directories\n\n\t@Property({ nullable: true })\n\ttype?: string;\n\n\t@Property({ nullable: true })\n\tstorageFileName?: string; // not for directories\n\n\t@Property({ nullable: true })\n\tbucket?: string; // not for directories\n\n\t@ManyToOne(() => StorageProviderEntity, { fieldName: 'storageProviderId', nullable: true })\n\tstorageProvider?: StorageProviderEntity; // not for directories\n\n\t@Property({ nullable: true })\n\tthumbnail?: string;\n\n\t@Property({ nullable: true })\n\tthumbnailRequestToken?: string = uuid();\n\n\t@Embedded(() => FileSecurityCheckEntity, { object: true, nullable: false })\n\tsecurityCheck: FileSecurityCheckEntity = new FileSecurityCheckEntity({});\n\n\t@Property({ nullable: true })\n\t@Index()\n\tshareTokens: string[] = [];\n\n\t@Property({ fieldName: 'parent', nullable: true })\n\t@Index()\n\t_parentId?: ObjectId;\n\n\tget parentId(): EntityId | undefined {\n\t\treturn this._parentId?.toHexString();\n\t}\n\n\t@Property({ fieldName: 'owner', nullable: false })\n\t@Index()\n\t_ownerId: ObjectId;\n\n\tget ownerId(): EntityId {\n\t\treturn this._ownerId.toHexString();\n\t}\n\n\t@Enum({ nullable: false })\n\trefOwnerModel: FileOwnerModel;\n\n\t@Property({ fieldName: 'creator' })\n\t@Index()\n\t_creatorId: ObjectId;\n\n\tget creatorId(): EntityId {\n\t\treturn this._creatorId.toHexString();\n\t}\n\n\t@Embedded(() => FilePermissionEntity, { array: true, nullable: false })\n\tpermissions: FilePermissionEntity[];\n\n\t@Property({ fieldName: 'lockId', nullable: true })\n\t_lockId?: ObjectId;\n\n\tget lockId(): EntityId | undefined {\n\t\treturn this._lockId?.toHexString();\n\t}\n\n\t@Property({ fieldName: '__v', nullable: true })\n\tversionKey?: number; // mongoose model version key\n\n\tprivate validate(props: FileEntityProps) {\n\t\tif (props.isDirectory) return;\n\n\t\tif (!props.size || !props.storageFileName || !props.bucket || !props.storageProvider) {\n\t\t\tthrow new Error(\n\t\t\t\t'files that are not directories always need a size, a storage file name, a bucket, and a storage provider.'\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic removePermissionsByRefId(refId: EntityId): void {\n\t\tconst refObjectId = new ObjectId(refId);\n\n\t\tthis.permissions = this.permissions.filter((permission) => !permission.refId.equals(refObjectId));\n\t}\n\n\tpublic markForDeletion(): void {\n\t\tthis.deletedAt = new Date();\n\t\tthis.deleted = true;\n\t}\n\n\tpublic isMarkedForDeletion(): boolean {\n\t\treturn this.deleted && this.deletedAt !== undefined && !Number.isNaN(this.deletedAt.getTime());\n\t}\n\n\tconstructor(props: FileEntityProps) {\n\t\tsuper();\n\n\t\tthis.validate(props);\n\n\t\tif (props.createdAt !== undefined) {\n\t\t\tthis.createdAt = props.createdAt;\n\t\t}\n\n\t\tif (props.updatedAt !== undefined) {\n\t\t\tthis.updatedAt = props.updatedAt;\n\t\t}\n\n\t\tthis.deletedAt = props.deletedAt;\n\n\t\tif (props.deleted !== undefined) {\n\t\t\tthis.deleted = props.deleted;\n\t\t}\n\n\t\tif (props.isDirectory !== undefined) {\n\t\t\tthis.isDirectory = props.isDirectory;\n\t\t}\n\n\t\tthis.name = props.name;\n\t\tthis.size = props.size;\n\t\tthis.type = props.type;\n\t\tthis.storageFileName = props.storageFileName;\n\t\tthis.bucket = props.bucket;\n\t\tthis.storageProvider = props.storageProvider;\n\t\tthis.thumbnail = props.thumbnail;\n\n\t\tif (props.thumbnailRequestToken !== undefined) {\n\t\t\tthis.thumbnailRequestToken = props.thumbnailRequestToken;\n\t\t}\n\n\t\tif (props.securityCheck !== undefined) {\n\t\t\tthis.securityCheck = props.securityCheck;\n\t\t}\n\n\t\tif (props.shareTokens !== undefined) {\n\t\t\tthis.shareTokens = props.shareTokens;\n\t\t}\n\n\t\tif (props.parentId !== undefined) {\n\t\t\tthis._parentId = new ObjectId(props.parentId);\n\t\t}\n\n\t\tthis._ownerId = new ObjectId(props.ownerId);\n\t\tthis.refOwnerModel = props.refOwnerModel;\n\t\tthis._creatorId = new ObjectId(props.creatorId);\n\t\tthis.permissions = props.permissions;\n\n\t\tif (props.lockId !== undefined) {\n\t\t\tthis._lockId = new ObjectId(props.lockId);\n\t\t}\n\n\t\tif (props.versionKey !== undefined) {\n\t\t\tthis.versionKey = props.versionKey;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FileEntityProps.html":{"url":"interfaces/FileEntityProps.html","title":"interface - FileEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FileEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files/entity/file.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n bucket\n \n \n \n Optional\n \n createdAt\n \n \n \n \n creatorId\n \n \n \n Optional\n \n deleted\n \n \n \n Optional\n \n deletedAt\n \n \n \n Optional\n \n isDirectory\n \n \n \n Optional\n \n lockId\n \n \n \n \n name\n \n \n \n \n ownerId\n \n \n \n Optional\n \n parentId\n \n \n \n \n permissions\n \n \n \n \n refOwnerModel\n \n \n \n Optional\n \n securityCheck\n \n \n \n Optional\n \n shareTokens\n \n \n \n Optional\n \n size\n \n \n \n Optional\n \n storageFileName\n \n \n \n Optional\n \n storageProvider\n \n \n \n Optional\n \n thumbnail\n \n \n \n Optional\n \n thumbnailRequestToken\n \n \n \n Optional\n \n type\n \n \n \n Optional\n \n updatedAt\n \n \n \n Optional\n \n versionKey\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n bucket\n \n \n \n \n \n \n \n \n bucket: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n creatorId\n \n \n \n \n \n \n \n \n creatorId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n deleted\n \n \n \n \n \n \n \n \n deleted: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n deletedAt\n \n \n \n \n \n \n \n \n deletedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n isDirectory\n \n \n \n \n \n \n \n \n isDirectory: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n lockId\n \n \n \n \n \n \n \n \n lockId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n ownerId\n \n \n \n \n \n \n \n \n ownerId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n \n \n parentId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n permissions\n \n \n \n \n \n \n \n \n permissions: FilePermissionEntity[]\n\n \n \n\n\n \n \n Type : FilePermissionEntity[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n refOwnerModel\n \n \n \n \n \n \n \n \n refOwnerModel: FileOwnerModel\n\n \n \n\n\n \n \n Type : FileOwnerModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n securityCheck\n \n \n \n \n \n \n \n \n securityCheck: FileSecurityCheckEntity\n\n \n \n\n\n \n \n Type : FileSecurityCheckEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n shareTokens\n \n \n \n \n \n \n \n \n shareTokens: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n size\n \n \n \n \n \n \n \n \n size: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n storageFileName\n \n \n \n \n \n \n \n \n storageFileName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n storageProvider\n \n \n \n \n \n \n \n \n storageProvider: StorageProviderEntity\n\n \n \n\n\n \n \n Type : StorageProviderEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n thumbnail\n \n \n \n \n \n \n \n \n thumbnail: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n thumbnailRequestToken\n \n \n \n \n \n \n \n \n thumbnailRequestToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n versionKey\n \n \n \n \n \n \n \n \n versionKey: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Embedded, Entity, Enum, Index, ManyToOne, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { StorageProviderEntity } from '@shared/domain/entity';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { v4 as uuid } from 'uuid';\nimport { FileOwnerModel } from '../domain';\nimport { FilePermissionEntity } from './file-permission.entity';\nimport { FileSecurityCheckEntity } from './file-security-check.entity';\n\nexport interface FileEntityProps {\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n\tdeletedAt?: Date;\n\tdeleted?: boolean;\n\tisDirectory?: boolean;\n\tname: string;\n\tsize?: number;\n\ttype?: string;\n\tstorageFileName?: string;\n\tbucket?: string;\n\tstorageProvider?: StorageProviderEntity;\n\tthumbnail?: string;\n\tthumbnailRequestToken?: string;\n\tsecurityCheck?: FileSecurityCheckEntity;\n\tshareTokens?: string[];\n\tparentId?: EntityId;\n\townerId: EntityId;\n\trefOwnerModel: FileOwnerModel;\n\tcreatorId: EntityId;\n\tpermissions: FilePermissionEntity[];\n\tlockId?: EntityId;\n\tversionKey?: number;\n}\n\n@Entity({ collection: 'files' })\n@Index({ options: { 'permissions.refId': 1 } })\nexport class FileEntity extends BaseEntityWithTimestamps {\n\t@Property({ nullable: true })\n\tdeletedAt?: Date;\n\n\t@Property()\n\tdeleted = false;\n\n\t@Property()\n\tisDirectory = false;\n\n\t@Property()\n\tname: string;\n\n\t@Property({ nullable: true })\n\tsize?: number; // not for directories\n\n\t@Property({ nullable: true })\n\ttype?: string;\n\n\t@Property({ nullable: true })\n\tstorageFileName?: string; // not for directories\n\n\t@Property({ nullable: true })\n\tbucket?: string; // not for directories\n\n\t@ManyToOne(() => StorageProviderEntity, { fieldName: 'storageProviderId', nullable: true })\n\tstorageProvider?: StorageProviderEntity; // not for directories\n\n\t@Property({ nullable: true })\n\tthumbnail?: string;\n\n\t@Property({ nullable: true })\n\tthumbnailRequestToken?: string = uuid();\n\n\t@Embedded(() => FileSecurityCheckEntity, { object: true, nullable: false })\n\tsecurityCheck: FileSecurityCheckEntity = new FileSecurityCheckEntity({});\n\n\t@Property({ nullable: true })\n\t@Index()\n\tshareTokens: string[] = [];\n\n\t@Property({ fieldName: 'parent', nullable: true })\n\t@Index()\n\t_parentId?: ObjectId;\n\n\tget parentId(): EntityId | undefined {\n\t\treturn this._parentId?.toHexString();\n\t}\n\n\t@Property({ fieldName: 'owner', nullable: false })\n\t@Index()\n\t_ownerId: ObjectId;\n\n\tget ownerId(): EntityId {\n\t\treturn this._ownerId.toHexString();\n\t}\n\n\t@Enum({ nullable: false })\n\trefOwnerModel: FileOwnerModel;\n\n\t@Property({ fieldName: 'creator' })\n\t@Index()\n\t_creatorId: ObjectId;\n\n\tget creatorId(): EntityId {\n\t\treturn this._creatorId.toHexString();\n\t}\n\n\t@Embedded(() => FilePermissionEntity, { array: true, nullable: false })\n\tpermissions: FilePermissionEntity[];\n\n\t@Property({ fieldName: 'lockId', nullable: true })\n\t_lockId?: ObjectId;\n\n\tget lockId(): EntityId | undefined {\n\t\treturn this._lockId?.toHexString();\n\t}\n\n\t@Property({ fieldName: '__v', nullable: true })\n\tversionKey?: number; // mongoose model version key\n\n\tprivate validate(props: FileEntityProps) {\n\t\tif (props.isDirectory) return;\n\n\t\tif (!props.size || !props.storageFileName || !props.bucket || !props.storageProvider) {\n\t\t\tthrow new Error(\n\t\t\t\t'files that are not directories always need a size, a storage file name, a bucket, and a storage provider.'\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic removePermissionsByRefId(refId: EntityId): void {\n\t\tconst refObjectId = new ObjectId(refId);\n\n\t\tthis.permissions = this.permissions.filter((permission) => !permission.refId.equals(refObjectId));\n\t}\n\n\tpublic markForDeletion(): void {\n\t\tthis.deletedAt = new Date();\n\t\tthis.deleted = true;\n\t}\n\n\tpublic isMarkedForDeletion(): boolean {\n\t\treturn this.deleted && this.deletedAt !== undefined && !Number.isNaN(this.deletedAt.getTime());\n\t}\n\n\tconstructor(props: FileEntityProps) {\n\t\tsuper();\n\n\t\tthis.validate(props);\n\n\t\tif (props.createdAt !== undefined) {\n\t\t\tthis.createdAt = props.createdAt;\n\t\t}\n\n\t\tif (props.updatedAt !== undefined) {\n\t\t\tthis.updatedAt = props.updatedAt;\n\t\t}\n\n\t\tthis.deletedAt = props.deletedAt;\n\n\t\tif (props.deleted !== undefined) {\n\t\t\tthis.deleted = props.deleted;\n\t\t}\n\n\t\tif (props.isDirectory !== undefined) {\n\t\t\tthis.isDirectory = props.isDirectory;\n\t\t}\n\n\t\tthis.name = props.name;\n\t\tthis.size = props.size;\n\t\tthis.type = props.type;\n\t\tthis.storageFileName = props.storageFileName;\n\t\tthis.bucket = props.bucket;\n\t\tthis.storageProvider = props.storageProvider;\n\t\tthis.thumbnail = props.thumbnail;\n\n\t\tif (props.thumbnailRequestToken !== undefined) {\n\t\t\tthis.thumbnailRequestToken = props.thumbnailRequestToken;\n\t\t}\n\n\t\tif (props.securityCheck !== undefined) {\n\t\t\tthis.securityCheck = props.securityCheck;\n\t\t}\n\n\t\tif (props.shareTokens !== undefined) {\n\t\t\tthis.shareTokens = props.shareTokens;\n\t\t}\n\n\t\tif (props.parentId !== undefined) {\n\t\t\tthis._parentId = new ObjectId(props.parentId);\n\t\t}\n\n\t\tthis._ownerId = new ObjectId(props.ownerId);\n\t\tthis.refOwnerModel = props.refOwnerModel;\n\t\tthis._creatorId = new ObjectId(props.creatorId);\n\t\tthis.permissions = props.permissions;\n\n\t\tif (props.lockId !== undefined) {\n\t\t\tthis._lockId = new ObjectId(props.lockId);\n\t\t}\n\n\t\tif (props.versionKey !== undefined) {\n\t\t\tthis.versionKey = props.versionKey;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileMetadata.html":{"url":"classes/FileMetadata.html","title":"class - FileMetadata","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileMetadata\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/entity/library.entity.ts\n \n\n\n\n\n \n Implements\n \n \n IFileStats\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n birthtime\n \n \n name\n \n \n size\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(name: string, birthtime: Date, size: number)\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:37\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n \n string\n \n \n \n No\n \n \n \n \n birthtime\n \n \n Date\n \n \n \n No\n \n \n \n \n size\n \n \n number\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n birthtime\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n size\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:37\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IInstalledLibrary, ILibraryName } from '@lumieducation/h5p-server';\nimport { IFileStats, ILibraryMetadata, IPath } from '@lumieducation/h5p-server/build/src/types';\nimport { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\n\nexport class Path implements IPath {\n\t@Property()\n\tpath: string;\n\n\tconstructor(path: string) {\n\t\tthis.path = path;\n\t}\n}\n\nexport class LibraryName implements ILibraryName {\n\t@Property()\n\tmachineName: string;\n\n\t@Property()\n\tmajorVersion: number;\n\n\t@Property()\n\tminorVersion: number;\n\n\tconstructor(machineName: string, majorVersion: number, minorVersion: number) {\n\t\tthis.machineName = machineName;\n\t\tthis.majorVersion = majorVersion;\n\t\tthis.minorVersion = minorVersion;\n\t}\n}\n\nexport class FileMetadata implements IFileStats {\n\tname: string;\n\n\tbirthtime: Date;\n\n\tsize: number;\n\n\tconstructor(name: string, birthtime: Date, size: number) {\n\t\tthis.name = name;\n\t\tthis.birthtime = birthtime;\n\t\tthis.size = size;\n\t}\n}\n\n@Entity({ tableName: 'h5p_library' })\nexport class InstalledLibrary extends BaseEntityWithTimestamps implements IInstalledLibrary {\n\t@Property()\n\tmachineName: string;\n\n\t@Property()\n\tmajorVersion: number;\n\n\t@Property()\n\tminorVersion: number;\n\n\t@Property()\n\tpatchVersion: number;\n\n\t/**\n\t * Addons can be added to other content types by\n\t */\n\t@Property({ nullable: true })\n\taddTo?: {\n\t\tcontent?: {\n\t\t\ttypes?: {\n\t\t\t\ttext?: {\n\t\t\t\t\t/**\n\t\t\t\t\t * If any string property in the parameters matches the regex,\n\t\t\t\t\t * the addon will be activated for the content.\n\t\t\t\t\t */\n\t\t\t\t\tregex?: string;\n\t\t\t\t};\n\t\t\t}[];\n\t\t};\n\t\t/**\n\t\t * Contains cases in which the library should be added to the editor.\n\t\t *\n\t\t * This is an extension to the H5P library metadata structure made by\n\t\t * h5p-nodejs-library. That way addons can specify to which editors\n\t\t * they should be added in general. The PHP implementation hard-codes\n\t\t * this list into the server, which we want to avoid here.\n\t\t */\n\t\teditor?: {\n\t\t\t/**\n\t\t\t * A list of machine names in which the addon should be added.\n\t\t\t */\n\t\t\tmachineNames: string[];\n\t\t};\n\t\t/**\n\t\t * Contains cases in which the library should be added to the player.\n\t\t *\n\t\t * This is an extension to the H5P library metadata structure made by\n\t\t * h5p-nodejs-library. That way addons can specify to which editors\n\t\t * they should be added in general. The PHP implementation hard-codes\n\t\t * this list into the server, which we want to avoid here.\n\t\t */\n\t\tplayer?: {\n\t\t\t/**\n\t\t\t * A list of machine names in which the addon should be added.\n\t\t\t */\n\t\t\tmachineNames: string[];\n\t\t};\n\t};\n\n\t/**\n\t * If set to true, the library can only be used be users who have this special\n\t * privilege.\n\t */\n\t@Property()\n\trestricted: boolean;\n\n\t@Property({ nullable: true })\n\tauthor?: string;\n\n\t/**\n\t * The core API required to run the library.\n\t */\n\t@Property({ nullable: true })\n\tcoreApi?: {\n\t\tmajorVersion: number;\n\t\tminorVersion: number;\n\t};\n\n\t@Property({ nullable: true })\n\tdescription?: string;\n\n\t@Property({ nullable: true })\n\tdropLibraryCss?: {\n\t\tmachineName: string;\n\t}[];\n\n\t@Property({ nullable: true })\n\tdynamicDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\teditorDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\tembedTypes?: ('iframe' | 'div')[];\n\n\t@Property({ nullable: true })\n\tfullscreen?: 0 | 1;\n\n\t@Property({ nullable: true })\n\th?: number;\n\n\t@Property({ nullable: true })\n\tlicense?: string;\n\n\t@Property({ nullable: true })\n\tmetadataSettings?: {\n\t\tdisable: 0 | 1;\n\t\tdisableExtraTitleField: 0 | 1;\n\t};\n\n\t@Property({ nullable: true })\n\tpreloadedCss?: Path[];\n\n\t@Property({ nullable: true })\n\tpreloadedDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\tpreloadedJs?: Path[];\n\n\t@Property()\n\trunnable: boolean | 0 | 1;\n\n\t@Property()\n\ttitle: string;\n\n\t@Property({ nullable: true })\n\tw?: number;\n\n\t@Property({ nullable: true })\n\trequiredExtensions?: {\n\t\tsharedState: number;\n\t};\n\n\t@Property({ nullable: true })\n\tstate?: {\n\t\tsnapshotSchema: boolean;\n\t\topSchema: boolean;\n\t\tsnapshotLogicChecks: boolean;\n\t\topLogicChecks: boolean;\n\t};\n\n\t@Property()\n\tfiles: FileMetadata[];\n\n\tpublic static simple_compare(a: number, b: number): number {\n\t\tif (a > b) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (a otherLibrary.machineName ? 1 : -1;\n\t}\n\n\tpublic compareVersions(otherLibrary: ILibraryName & { patchVersion?: number }): number {\n\t\tlet result = InstalledLibrary.simple_compare(this.majorVersion, otherLibrary.majorVersion);\n\t\tif (result !== 0) {\n\t\t\treturn result;\n\t\t}\n\t\tresult = InstalledLibrary.simple_compare(this.minorVersion, otherLibrary.minorVersion);\n\t\tif (result !== 0) {\n\t\t\treturn result;\n\t\t}\n\t\treturn InstalledLibrary.simple_compare(this.patchVersion, otherLibrary.patchVersion as number);\n\t}\n\n\tconstructor(libraryMetadata: ILibraryMetadata, restricted = false, files: FileMetadata[] = []) {\n\t\tsuper();\n\t\tthis.machineName = libraryMetadata.machineName;\n\t\tthis.majorVersion = libraryMetadata.majorVersion;\n\t\tthis.minorVersion = libraryMetadata.minorVersion;\n\t\tthis.patchVersion = libraryMetadata.patchVersion;\n\t\tthis.runnable = libraryMetadata.runnable;\n\t\tthis.title = libraryMetadata.title;\n\t\tthis.addTo = libraryMetadata.addTo;\n\t\tthis.author = libraryMetadata.author;\n\t\tthis.coreApi = libraryMetadata.coreApi;\n\t\tthis.description = libraryMetadata.description;\n\t\tthis.dropLibraryCss = libraryMetadata.dropLibraryCss;\n\t\tthis.dynamicDependencies = libraryMetadata.dynamicDependencies;\n\t\tthis.editorDependencies = libraryMetadata.editorDependencies;\n\t\tthis.embedTypes = libraryMetadata.embedTypes;\n\t\tthis.fullscreen = libraryMetadata.fullscreen;\n\t\tthis.h = libraryMetadata.h;\n\t\tthis.license = libraryMetadata.license;\n\t\tthis.metadataSettings = libraryMetadata.metadataSettings;\n\t\tthis.preloadedCss = libraryMetadata.preloadedCss;\n\t\tthis.preloadedDependencies = libraryMetadata.preloadedDependencies;\n\t\tthis.preloadedJs = libraryMetadata.preloadedJs;\n\t\tthis.w = libraryMetadata.w;\n\t\tthis.requiredExtensions = libraryMetadata.requiredExtensions;\n\t\tthis.state = libraryMetadata.state;\n\t\tthis.restricted = restricted;\n\t\tthis.files = files;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileParamBuilder.html":{"url":"classes/FileParamBuilder.html","title":"class - FileParamBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileParamBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/mapper/files-storage-param.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(schoolId: EntityId, parent: EntitiesWithFiles)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/mapper/files-storage-param.builder.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n parent\n \n EntitiesWithFiles\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileRequestInfo\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { EntitiesWithFiles, FileRequestInfo } from '../interfaces';\nimport { FilesStorageClientMapper } from './files-storage-client.mapper';\n\nexport class FileParamBuilder {\n\tstatic build(schoolId: EntityId, parent: EntitiesWithFiles): FileRequestInfo {\n\t\tconst parentType = FilesStorageClientMapper.mapEntityToParentType(parent);\n\t\tconst fileRequestInfo = {\n\t\t\tparentType,\n\t\t\tschoolId,\n\t\t\tparentId: parent.id,\n\t\t};\n\n\t\treturn fileRequestInfo;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileParams.html":{"url":"classes/FileParams.html","title":"class - FileParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n file\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n file\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: 'string', format: 'binary'})@Allow()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:42\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanResult } from '@infra/antivirus';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { Allow, IsBoolean, IsEnum, IsMongoId, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { FileRecordParentType } from '../../entity';\nimport { PreviewOutputMimeTypes, PreviewWidth } from '../../interface';\n\nexport class FileRecordParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\t@IsEnum(FileRecordParentType)\n\tparentType!: FileRecordParentType;\n}\n\nexport class FileUrlParams {\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\turl!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@Allow()\n\theaders?: Record;\n}\n\nexport class FileParams {\n\t@ApiProperty({ type: 'string', format: 'binary' })\n\t@Allow()\n\tfile!: string;\n}\n\nexport class DownloadFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileName!: string;\n}\n\nexport class ScanResultParams implements ScanResult {\n\t@ApiProperty()\n\t@Allow()\n\tvirus_detected?: boolean;\n\n\t@ApiProperty()\n\t@Allow()\n\tvirus_signature?: string;\n\n\t@ApiProperty()\n\t@Allow()\n\terror?: string;\n}\n\nexport class SingleFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n}\n\nexport class RenameFileParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n}\n\nexport class CopyFilesOfParentParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class CopyFileParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileNamePrefix!: string;\n}\n\nexport class CopyFilesOfParentPayload {\n\t@IsMongoId()\n\tuserId!: EntityId;\n\n\t@ValidateNested()\n\tsource!: FileRecordParams;\n\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class PreviewParams {\n\t@ApiPropertyOptional({ enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes' })\n\t@IsOptional()\n\t@IsEnum(PreviewOutputMimeTypes)\n\toutputFormat?: PreviewOutputMimeTypes;\n\n\t@ApiPropertyOptional({ enum: PreviewWidth, enumName: 'PreviewWidth' })\n\t@IsOptional()\n\t@IsEnum(PreviewWidth)\n\twidth?: PreviewWidth;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'If true, the preview will be generated again.',\n\t})\n\tforceUpdate?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FilePermissionEntity.html":{"url":"classes/FilePermissionEntity.html","title":"class - FilePermissionEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FilePermissionEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files/entity/file-permission.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n create\n \n \n \n delete\n \n \n \n read\n \n \n \n refId\n \n \n \n refPermModel\n \n \n \n write\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: FilePermissionEntityProps)\n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-permission.entity.ts:33\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n FilePermissionEntityProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \n Default value : true\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-permission.entity.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n delete\n \n \n \n \n \n \n Default value : true\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-permission.entity.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n read\n \n \n \n \n \n \n Default value : true\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-permission.entity.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n refId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-permission.entity.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n refPermModel\n \n \n \n \n \n \n Type : FilePermissionReferenceModel\n\n \n \n \n \n Decorators : \n \n \n @Enum({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-permission.entity.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n write\n \n \n \n \n \n \n Default value : true\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-permission.entity.ts:24\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Enum, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { EntityId } from '@shared/domain/types';\nimport { FilePermissionReferenceModel } from '../domain';\n\nexport interface FilePermissionEntityProps {\n\trefId: EntityId;\n\trefPermModel: FilePermissionReferenceModel;\n\twrite?: boolean;\n\tread?: boolean;\n\tcreate?: boolean;\n\tdelete?: boolean;\n}\n\n@Embeddable()\nexport class FilePermissionEntity {\n\t@Property({ nullable: false })\n\trefId: ObjectId;\n\n\t@Enum({ nullable: false })\n\trefPermModel: FilePermissionReferenceModel;\n\n\t@Property()\n\twrite = true;\n\n\t@Property()\n\tread = true;\n\n\t@Property()\n\tcreate = true;\n\n\t@Property()\n\tdelete = true;\n\n\tconstructor(props: FilePermissionEntityProps) {\n\t\tthis.refId = new ObjectId(props.refId);\n\t\tthis.refPermModel = props.refPermModel;\n\n\t\tif (props.write !== undefined) {\n\t\t\tthis.write = props.write;\n\t\t}\n\n\t\tif (props.read !== undefined) {\n\t\t\tthis.read = props.read;\n\t\t}\n\n\t\tif (props.create !== undefined) {\n\t\t\tthis.create = props.create;\n\t\t}\n\n\t\tif (props.delete !== undefined) {\n\t\t\tthis.delete = props.delete;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FilePermissionEntityProps.html":{"url":"interfaces/FilePermissionEntityProps.html","title":"interface - FilePermissionEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FilePermissionEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files/entity/file-permission.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n create\n \n \n \n Optional\n \n delete\n \n \n \n Optional\n \n read\n \n \n \n \n refId\n \n \n \n \n refPermModel\n \n \n \n Optional\n \n write\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n create\n \n \n \n \n \n \n \n \n create: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n delete\n \n \n \n \n \n \n \n \n delete: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n read\n \n \n \n \n \n \n \n \n read: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n refId\n \n \n \n \n \n \n \n \n refId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n refPermModel\n \n \n \n \n \n \n \n \n refPermModel: FilePermissionReferenceModel\n\n \n \n\n\n \n \n Type : FilePermissionReferenceModel\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n write\n \n \n \n \n \n \n \n \n write: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Embeddable, Enum, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { EntityId } from '@shared/domain/types';\nimport { FilePermissionReferenceModel } from '../domain';\n\nexport interface FilePermissionEntityProps {\n\trefId: EntityId;\n\trefPermModel: FilePermissionReferenceModel;\n\twrite?: boolean;\n\tread?: boolean;\n\tcreate?: boolean;\n\tdelete?: boolean;\n}\n\n@Embeddable()\nexport class FilePermissionEntity {\n\t@Property({ nullable: false })\n\trefId: ObjectId;\n\n\t@Enum({ nullable: false })\n\trefPermModel: FilePermissionReferenceModel;\n\n\t@Property()\n\twrite = true;\n\n\t@Property()\n\tread = true;\n\n\t@Property()\n\tcreate = true;\n\n\t@Property()\n\tdelete = true;\n\n\tconstructor(props: FilePermissionEntityProps) {\n\t\tthis.refId = new ObjectId(props.refId);\n\t\tthis.refPermModel = props.refPermModel;\n\n\t\tif (props.write !== undefined) {\n\t\t\tthis.write = props.write;\n\t\t}\n\n\t\tif (props.read !== undefined) {\n\t\t\tthis.read = props.read;\n\t\t}\n\n\t\tif (props.create !== undefined) {\n\t\t\tthis.create = props.create;\n\t\t}\n\n\t\tif (props.delete !== undefined) {\n\t\t\tthis.delete = props.delete;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/FileRecord.html":{"url":"entities/FileRecord.html","title":"entity - FileRecord","body":"\n \n\n\n\n\n\n\n\n Entities\n FileRecord\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/entity/filerecord.entity.ts\n \n\n\n \n Description\n \n \n Note: The file record entity will not manage any entity relations by itself.\nThat's why we do not map any relations in the entity class\nand instead just use the plain object ids.\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n _creatorId\n \n \n \n Optional\n _isCopyFrom\n \n \n \n \n _parentId\n \n \n \n _schoolId\n \n \n \n \n Optional\n deletedSince\n \n \n \n mimeType\n \n \n \n name\n \n \n \n \n parentType\n \n \n \n securityCheck\n \n \n \n size\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n _creatorId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'creator'})\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:132\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n _isCopyFrom\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'isCopyFrom', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:146\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n _parentId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Index()@Property({fieldName: 'parent'})\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:125\n \n \n\n\n \n \n \n \n \n \n \n \n \n _schoolId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'school'})\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:139\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n deletedSince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Index({options: undefined})@Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:105\n \n \n\n\n \n \n \n \n \n \n \n \n \n mimeType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:114\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:111\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n Type : FileRecordParentType\n\n \n \n \n \n Decorators : \n \n \n @Index()@Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:121\n \n \n\n\n \n \n \n \n \n \n \n \n \n securityCheck\n \n \n \n \n \n \n Type : FileRecordSecurityCheck\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {object: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:117\n \n \n\n\n \n \n \n \n \n \n \n \n \n size\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:108\n \n \n\n\n \n \n\n \n\n\n \n import { PreviewInputMimeTypes } from '@infra/preview-generator';\nimport { Embeddable, Embedded, Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BadRequestException } from '@nestjs/common';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport path from 'path';\nimport { v4 as uuid } from 'uuid';\nimport { ErrorType } from '../error';\n\nexport enum ScanStatus {\n\tPENDING = 'pending',\n\tVERIFIED = 'verified',\n\tBLOCKED = 'blocked',\n\tWONT_CHECK = 'wont_check',\n\tERROR = 'error',\n}\n\nexport enum FileRecordParentType {\n\t'User' = 'users',\n\t'School' = 'schools',\n\t'Course' = 'courses',\n\t'Task' = 'tasks',\n\t'Lesson' = 'lessons',\n\t'Submission' = 'submissions',\n\t'BoardNode' = 'boardnodes',\n}\n\nexport enum PreviewStatus {\n\tPREVIEW_POSSIBLE = 'preview_possible',\n\tAWAITING_SCAN_STATUS = 'awaiting_scan_status',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_ERROR = 'preview_not_possible_scan_status_error',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_WONT_CHECK = 'preview_not_possible_scan_status_wont_check',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_BLOCKED = 'preview_not_possible_scan_status_blocked',\n\tPREVIEW_NOT_POSSIBLE_WRONG_MIME_TYPE = 'preview_not_possible_wrong_mime_type',\n}\n\nexport interface FileRecordSecurityCheckProperties {\n\tstatus?: ScanStatus;\n\treason?: string;\n\trequestToken?: string;\n}\n@Embeddable()\nexport class FileRecordSecurityCheck {\n\t@Enum()\n\tstatus: ScanStatus = ScanStatus.PENDING;\n\n\t@Property()\n\treason = 'not yet scanned';\n\n\t@Property()\n\trequestToken?: string = uuid();\n\n\t@Property()\n\tcreatedAt = new Date();\n\n\t@Property()\n\tupdatedAt = new Date();\n\n\tconstructor(props: FileRecordSecurityCheckProperties) {\n\t\tif (props.status !== undefined) {\n\t\t\tthis.status = props.status;\n\t\t}\n\t\tif (props.reason !== undefined) {\n\t\t\tthis.reason = props.reason;\n\t\t}\n\t\tif (props.requestToken !== undefined) {\n\t\t\tthis.requestToken = props.requestToken;\n\t\t}\n\t}\n}\n\nexport interface FileRecordProperties {\n\tsize: number;\n\tname: string;\n\tmimeType: string;\n\tparentType: FileRecordParentType;\n\tparentId: EntityId;\n\tcreatorId: EntityId;\n\tschoolId: EntityId;\n\tdeletedSince?: Date;\n\tisCopyFrom?: EntityId;\n}\n\ninterface ParentInfo {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\n// TODO: EntityWithSchool\n\n/**\n * Note: The file record entity will not manage any entity relations by itself.\n * That's why we do not map any relations in the entity class\n * and instead just use the plain object ids.\n */\n@Entity({ tableName: 'filerecords' })\n@Index({ properties: ['_schoolId', '_parentId'], options: { background: true } })\n// https://github.com/mikro-orm/mikro-orm/issues/1230\n@Index({ options: { 'securityCheck.requestToken': 1 } })\nexport class FileRecord extends BaseEntityWithTimestamps {\n\t@Index({ options: { expireAfterSeconds: 7 * 24 * 60 * 60 } })\n\t@Property({ nullable: true })\n\tdeletedSince?: Date;\n\n\t@Property()\n\tsize: number;\n\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tmimeType: string; // TODO mime-type enum?\n\n\t@Embedded(() => FileRecordSecurityCheck, { object: true, nullable: false })\n\tsecurityCheck: FileRecordSecurityCheck;\n\n\t@Index()\n\t@Enum()\n\tparentType: FileRecordParentType;\n\n\t@Index()\n\t@Property({ fieldName: 'parent' })\n\t_parentId: ObjectId;\n\n\tget parentId(): EntityId {\n\t\treturn this._parentId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'creator' })\n\t_creatorId: ObjectId;\n\n\tget creatorId(): EntityId {\n\t\treturn this._creatorId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'school' })\n\t_schoolId: ObjectId;\n\n\tget schoolId(): EntityId {\n\t\treturn this._schoolId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'isCopyFrom', nullable: true })\n\t_isCopyFrom?: ObjectId;\n\n\tget isCopyFrom(): EntityId | undefined {\n\t\tconst result = this._isCopyFrom?.toHexString();\n\n\t\treturn result;\n\t}\n\n\tconstructor(props: FileRecordProperties) {\n\t\tsuper();\n\t\tthis.size = props.size;\n\t\tthis.name = props.name;\n\t\tthis.mimeType = props.mimeType;\n\t\tthis.parentType = props.parentType;\n\t\tthis._parentId = new ObjectId(props.parentId);\n\t\tthis._creatorId = new ObjectId(props.creatorId);\n\t\tthis._schoolId = new ObjectId(props.schoolId);\n\t\tif (props.isCopyFrom) {\n\t\t\tthis._isCopyFrom = new ObjectId(props.isCopyFrom);\n\t\t}\n\t\tthis.securityCheck = new FileRecordSecurityCheck({});\n\t\tthis.deletedSince = props.deletedSince;\n\t}\n\n\tpublic updateSecurityCheckStatus(status: ScanStatus, reason: string): void {\n\t\tthis.securityCheck.status = status;\n\t\tthis.securityCheck.reason = reason;\n\t\tthis.securityCheck.updatedAt = new Date();\n\t\tthis.securityCheck.requestToken = undefined;\n\t}\n\n\tpublic getSecurityToken(): string | undefined {\n\t\treturn this.securityCheck.requestToken;\n\t}\n\n\tpublic copy(userId: EntityId, targetParentInfo: ParentInfo): FileRecord {\n\t\tconst { size, name, mimeType, id } = this;\n\t\tconst { parentType, parentId, schoolId } = targetParentInfo;\n\n\t\tconst fileRecordCopy = new FileRecord({\n\t\t\tsize,\n\t\t\tname,\n\t\t\tmimeType,\n\t\t\tparentType,\n\t\t\tparentId,\n\t\t\tcreatorId: userId,\n\t\t\tschoolId,\n\t\t\tisCopyFrom: id,\n\t\t});\n\n\t\tif (this.isVerified()) {\n\t\t\tfileRecordCopy.securityCheck = this.securityCheck;\n\t\t}\n\n\t\treturn fileRecordCopy;\n\t}\n\n\tpublic markForDelete(): void {\n\t\tthis.deletedSince = new Date();\n\t}\n\n\tpublic unmarkForDelete(): void {\n\t\tthis.deletedSince = undefined;\n\t}\n\n\tpublic setName(name: string): void {\n\t\tif (name.length === 0) {\n\t\t\tthrow new BadRequestException(ErrorType.FILE_NAME_EMPTY);\n\t\t}\n\n\t\tthis.name = name;\n\t}\n\n\tpublic hasName(name: string): boolean {\n\t\tconst hasName = this.name === name;\n\n\t\treturn hasName;\n\t}\n\n\tpublic getName(): string {\n\t\treturn this.name;\n\t}\n\n\tpublic isBlocked(): boolean {\n\t\tconst isBlocked = this.securityCheck.status === ScanStatus.BLOCKED;\n\n\t\treturn isBlocked;\n\t}\n\n\tpublic hasScanStatusError(): boolean {\n\t\tconst hasError = this.securityCheck.status === ScanStatus.ERROR;\n\n\t\treturn hasError;\n\t}\n\n\tpublic hasScanStatusWontCheck(): boolean {\n\t\tconst hasWontCheckStatus = this.securityCheck.status === ScanStatus.WONT_CHECK;\n\n\t\treturn hasWontCheckStatus;\n\t}\n\n\tpublic isPending(): boolean {\n\t\tconst isPending = this.securityCheck.status === ScanStatus.PENDING;\n\n\t\treturn isPending;\n\t}\n\n\tpublic isVerified(): boolean {\n\t\tconst isVerified = this.securityCheck.status === ScanStatus.VERIFIED;\n\n\t\treturn isVerified;\n\t}\n\n\tpublic isPreviewPossible(): boolean {\n\t\tconst isPreviewPossible = Object.values(PreviewInputMimeTypes).includes(this.mimeType);\n\n\t\treturn isPreviewPossible;\n\t}\n\n\tpublic getParentInfo(): ParentInfo {\n\t\tconst { parentId, parentType, schoolId } = this;\n\n\t\treturn { parentId, parentType, schoolId };\n\t}\n\n\tpublic getSchoolId(): EntityId {\n\t\treturn this.schoolId;\n\t}\n\n\tpublic getPreviewStatus(): PreviewStatus {\n\t\tif (this.isBlocked()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_BLOCKED;\n\t\t}\n\n\t\tif (!this.isPreviewPossible()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_WRONG_MIME_TYPE;\n\t\t}\n\n\t\tif (this.isVerified()) {\n\t\t\treturn PreviewStatus.PREVIEW_POSSIBLE;\n\t\t}\n\n\t\tif (this.isPending()) {\n\t\t\treturn PreviewStatus.AWAITING_SCAN_STATUS;\n\t\t}\n\n\t\tif (this.hasScanStatusWontCheck()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_WONT_CHECK;\n\t\t}\n\n\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_ERROR;\n\t}\n\n\tpublic get fileNameWithoutExtension(): string {\n\t\tconst filenameObj = path.parse(this.name);\n\n\t\treturn filenameObj.name;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileRecordFactory.html":{"url":"classes/FileRecordFactory.html","title":"class - FileRecordFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileRecordFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/filerecord.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n markedForDelete\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n markedForDelete\n \n \n \n \n \n \nmarkedForDelete()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/filerecord.factory.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { FileRecordParentType } from '@infra/rabbitmq';\nimport { FileRecord, FileRecordProperties, FileRecordSecurityCheck } from '@modules/files-storage/entity';\nimport { ObjectId } from 'bson';\nimport { DeepPartial } from 'fishery';\nimport { BaseFactory } from './base.factory';\n\nconst yesterday = new Date(Date.now() - 86400000);\n\nclass FileRecordFactory extends BaseFactory {\n\tmarkedForDelete(): this {\n\t\tconst params: DeepPartial = { deletedSince: yesterday };\n\t\treturn this.params(params);\n\t}\n}\n\nexport const fileRecordFactory = FileRecordFactory.define(FileRecord, ({ sequence }) => {\n\treturn {\n\t\tsize: Math.round(Math.random() * 100000),\n\t\tname: `file-record #${sequence}`,\n\t\tmimeType: 'application/octet-stream',\n\t\tsecurityCheck: new FileRecordSecurityCheck({}),\n\t\tparentType: FileRecordParentType.Course,\n\t\tparentId: new ObjectId().toHexString(),\n\t\tcreatorId: new ObjectId().toHexString(),\n\t\tschoolId: new ObjectId().toHexString(),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileRecordListResponse.html":{"url":"classes/FileRecordListResponse.html","title":"class - FileRecordListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileRecordListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts\n \n\n\n\n \n Extends\n \n \n PaginationResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: FileRecordResponse[], total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:56\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n FileRecordResponse[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : FileRecordResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:63\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:14\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { DecodeHtmlEntities, PaginationResponse } from '@shared/controller';\nimport { FileRecord, FileRecordParentType, PreviewStatus, ScanStatus } from '../../entity';\nimport { API_VERSION_PATH } from '../../files-storage.const';\n\nexport class FileRecordResponse {\n\tconstructor(fileRecord: FileRecord) {\n\t\tthis.id = fileRecord.id;\n\t\tthis.name = fileRecord.name;\n\t\tthis.url = `${API_VERSION_PATH}/file/download/${fileRecord.id}/${encodeURIComponent(fileRecord.name)}`;\n\t\tthis.size = fileRecord.size;\n\t\tthis.securityCheckStatus = fileRecord.securityCheck.status;\n\t\tthis.parentId = fileRecord.parentId;\n\t\tthis.creatorId = fileRecord.creatorId;\n\t\tthis.mimeType = fileRecord.mimeType;\n\t\tthis.parentType = fileRecord.parentType;\n\t\tthis.deletedSince = fileRecord.deletedSince;\n\t\tthis.previewStatus = fileRecord.getPreviewStatus();\n\t}\n\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tname: string;\n\n\t@ApiProperty()\n\tparentId: string;\n\n\t@ApiProperty()\n\turl: string;\n\n\t@ApiProperty({ enum: ScanStatus, enumName: 'FileRecordScanStatus' })\n\tsecurityCheckStatus: ScanStatus;\n\n\t@ApiProperty()\n\tsize: number;\n\n\t@ApiProperty()\n\tcreatorId: string;\n\n\t@ApiProperty()\n\tmimeType: string;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\tparentType: FileRecordParentType;\n\n\t@ApiProperty({ enum: PreviewStatus, enumName: 'PreviewStatus' })\n\tpreviewStatus: PreviewStatus;\n\n\t@ApiPropertyOptional()\n\tdeletedSince?: Date;\n}\n\nexport class FileRecordListResponse extends PaginationResponse {\n\tconstructor(data: FileRecordResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [FileRecordResponse] })\n\tdata: FileRecordResponse[];\n}\n\nexport class CopyFileResponse {\n\tconstructor(data: CopyFileResponse) {\n\t\tthis.id = data.id;\n\t\tthis.sourceId = data.sourceId;\n\t\tthis.name = data.name;\n\t}\n\n\t@ApiPropertyOptional()\n\tid?: string;\n\n\t@ApiProperty()\n\tsourceId: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tname: string;\n}\n\nexport class CopyFileListResponse extends PaginationResponse {\n\tconstructor(data: CopyFileResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [CopyFileResponse] })\n\tdata: CopyFileResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileRecordMapper.html":{"url":"classes/FileRecordMapper.html","title":"class - FileRecordMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileRecordMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/mapper/file-record.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapScanResultParamsToDto\n \n \n Static\n mapToFileRecordListResponse\n \n \n Static\n mapToFileRecordResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapScanResultParamsToDto\n \n \n \n \n \n \n \n mapScanResultParamsToDto(scanResultParams: ScanResultParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/file-record.mapper.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n scanResultParams\n \n ScanResultParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ScanResultDto\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToFileRecordListResponse\n \n \n \n \n \n \n \n mapToFileRecordListResponse(fileRecords: FileRecord[], total: number, skip?: number, limit?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/file-record.mapper.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileRecords\n \n FileRecord[]\n \n\n \n No\n \n\n\n \n \n total\n \n number\n \n\n \n No\n \n\n\n \n \n skip\n \n number\n \n\n \n Yes\n \n\n\n \n \n limit\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : FileRecordListResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToFileRecordResponse\n \n \n \n \n \n \n \n mapToFileRecordResponse(fileRecord: FileRecord)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/file-record.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileRecord\n \n FileRecord\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileRecordResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { FileRecordListResponse, FileRecordResponse, ScanResultDto, ScanResultParams } from '../controller/dto';\nimport { FileRecord, ScanStatus } from '../entity';\n\nexport class FileRecordMapper {\n\tstatic mapToFileRecordResponse(fileRecord: FileRecord): FileRecordResponse {\n\t\tconst fileRecordResponse = new FileRecordResponse(fileRecord);\n\n\t\treturn fileRecordResponse;\n\t}\n\n\tstatic mapToFileRecordListResponse(\n\t\tfileRecords: FileRecord[],\n\t\ttotal: number,\n\t\tskip?: number,\n\t\tlimit?: number\n\t): FileRecordListResponse {\n\t\tconst responseFileRecords = fileRecords.map((fileRecord) => FileRecordMapper.mapToFileRecordResponse(fileRecord));\n\t\tconst response = new FileRecordListResponse(responseFileRecords, total, skip, limit);\n\n\t\treturn response;\n\t}\n\n\tstatic mapScanResultParamsToDto(scanResultParams: ScanResultParams): ScanResultDto {\n\t\tconst scanResult = new ScanResultDto({\n\t\t\tstatus: ScanStatus.VERIFIED,\n\t\t\treason: 'Clean',\n\t\t});\n\n\t\tif (scanResultParams.virus_detected) {\n\t\t\tscanResult.status = ScanStatus.BLOCKED;\n\t\t\tscanResult.reason = scanResultParams.virus_signature ?? 'Virus detected';\n\t\t} else if (scanResultParams.error) {\n\t\t\tscanResult.status = ScanStatus.ERROR;\n\t\t\tscanResult.reason = scanResultParams.error;\n\t\t} else if (scanResultParams.virus_detected === undefined || scanResultParams.error === '') {\n\t\t\tscanResult.status = ScanStatus.ERROR;\n\t\t\tscanResult.reason = 'No scan result';\n\t\t}\n\n\t\treturn scanResult;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileRecordParams.html":{"url":"classes/FileRecordParams.html","title":"class - FileRecordParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileRecordParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n parentId\n \n \n \n \n parentType\n \n \n \n \n schoolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n Type : FileRecordParentType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: FileRecordParentType, enumName: 'FileRecordParentType'})@IsEnum(FileRecordParentType)\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanResult } from '@infra/antivirus';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { Allow, IsBoolean, IsEnum, IsMongoId, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { FileRecordParentType } from '../../entity';\nimport { PreviewOutputMimeTypes, PreviewWidth } from '../../interface';\n\nexport class FileRecordParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\t@IsEnum(FileRecordParentType)\n\tparentType!: FileRecordParentType;\n}\n\nexport class FileUrlParams {\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\turl!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@Allow()\n\theaders?: Record;\n}\n\nexport class FileParams {\n\t@ApiProperty({ type: 'string', format: 'binary' })\n\t@Allow()\n\tfile!: string;\n}\n\nexport class DownloadFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileName!: string;\n}\n\nexport class ScanResultParams implements ScanResult {\n\t@ApiProperty()\n\t@Allow()\n\tvirus_detected?: boolean;\n\n\t@ApiProperty()\n\t@Allow()\n\tvirus_signature?: string;\n\n\t@ApiProperty()\n\t@Allow()\n\terror?: string;\n}\n\nexport class SingleFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n}\n\nexport class RenameFileParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n}\n\nexport class CopyFilesOfParentParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class CopyFileParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileNamePrefix!: string;\n}\n\nexport class CopyFilesOfParentPayload {\n\t@IsMongoId()\n\tuserId!: EntityId;\n\n\t@ValidateNested()\n\tsource!: FileRecordParams;\n\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class PreviewParams {\n\t@ApiPropertyOptional({ enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes' })\n\t@IsOptional()\n\t@IsEnum(PreviewOutputMimeTypes)\n\toutputFormat?: PreviewOutputMimeTypes;\n\n\t@ApiPropertyOptional({ enum: PreviewWidth, enumName: 'PreviewWidth' })\n\t@IsOptional()\n\t@IsEnum(PreviewWidth)\n\twidth?: PreviewWidth;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'If true, the preview will be generated again.',\n\t})\n\tforceUpdate?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FileRecordProperties.html":{"url":"interfaces/FileRecordProperties.html","title":"interface - FileRecordProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FileRecordProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/entity/filerecord.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n creatorId\n \n \n \n Optional\n \n deletedSince\n \n \n \n Optional\n \n isCopyFrom\n \n \n \n \n mimeType\n \n \n \n \n name\n \n \n \n \n parentId\n \n \n \n \n parentType\n \n \n \n \n schoolId\n \n \n \n \n size\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n creatorId\n \n \n \n \n \n \n \n \n creatorId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n deletedSince\n \n \n \n \n \n \n \n \n deletedSince: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n isCopyFrom\n \n \n \n \n \n \n \n \n isCopyFrom: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n mimeType\n \n \n \n \n \n \n \n \n mimeType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n \n \n parentId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n \n \n parentType: FileRecordParentType\n\n \n \n\n\n \n \n Type : FileRecordParentType\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n schoolId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n size\n \n \n \n \n \n \n \n \n size: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { PreviewInputMimeTypes } from '@infra/preview-generator';\nimport { Embeddable, Embedded, Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BadRequestException } from '@nestjs/common';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport path from 'path';\nimport { v4 as uuid } from 'uuid';\nimport { ErrorType } from '../error';\n\nexport enum ScanStatus {\n\tPENDING = 'pending',\n\tVERIFIED = 'verified',\n\tBLOCKED = 'blocked',\n\tWONT_CHECK = 'wont_check',\n\tERROR = 'error',\n}\n\nexport enum FileRecordParentType {\n\t'User' = 'users',\n\t'School' = 'schools',\n\t'Course' = 'courses',\n\t'Task' = 'tasks',\n\t'Lesson' = 'lessons',\n\t'Submission' = 'submissions',\n\t'BoardNode' = 'boardnodes',\n}\n\nexport enum PreviewStatus {\n\tPREVIEW_POSSIBLE = 'preview_possible',\n\tAWAITING_SCAN_STATUS = 'awaiting_scan_status',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_ERROR = 'preview_not_possible_scan_status_error',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_WONT_CHECK = 'preview_not_possible_scan_status_wont_check',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_BLOCKED = 'preview_not_possible_scan_status_blocked',\n\tPREVIEW_NOT_POSSIBLE_WRONG_MIME_TYPE = 'preview_not_possible_wrong_mime_type',\n}\n\nexport interface FileRecordSecurityCheckProperties {\n\tstatus?: ScanStatus;\n\treason?: string;\n\trequestToken?: string;\n}\n@Embeddable()\nexport class FileRecordSecurityCheck {\n\t@Enum()\n\tstatus: ScanStatus = ScanStatus.PENDING;\n\n\t@Property()\n\treason = 'not yet scanned';\n\n\t@Property()\n\trequestToken?: string = uuid();\n\n\t@Property()\n\tcreatedAt = new Date();\n\n\t@Property()\n\tupdatedAt = new Date();\n\n\tconstructor(props: FileRecordSecurityCheckProperties) {\n\t\tif (props.status !== undefined) {\n\t\t\tthis.status = props.status;\n\t\t}\n\t\tif (props.reason !== undefined) {\n\t\t\tthis.reason = props.reason;\n\t\t}\n\t\tif (props.requestToken !== undefined) {\n\t\t\tthis.requestToken = props.requestToken;\n\t\t}\n\t}\n}\n\nexport interface FileRecordProperties {\n\tsize: number;\n\tname: string;\n\tmimeType: string;\n\tparentType: FileRecordParentType;\n\tparentId: EntityId;\n\tcreatorId: EntityId;\n\tschoolId: EntityId;\n\tdeletedSince?: Date;\n\tisCopyFrom?: EntityId;\n}\n\ninterface ParentInfo {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\n// TODO: EntityWithSchool\n\n/**\n * Note: The file record entity will not manage any entity relations by itself.\n * That's why we do not map any relations in the entity class\n * and instead just use the plain object ids.\n */\n@Entity({ tableName: 'filerecords' })\n@Index({ properties: ['_schoolId', '_parentId'], options: { background: true } })\n// https://github.com/mikro-orm/mikro-orm/issues/1230\n@Index({ options: { 'securityCheck.requestToken': 1 } })\nexport class FileRecord extends BaseEntityWithTimestamps {\n\t@Index({ options: { expireAfterSeconds: 7 * 24 * 60 * 60 } })\n\t@Property({ nullable: true })\n\tdeletedSince?: Date;\n\n\t@Property()\n\tsize: number;\n\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tmimeType: string; // TODO mime-type enum?\n\n\t@Embedded(() => FileRecordSecurityCheck, { object: true, nullable: false })\n\tsecurityCheck: FileRecordSecurityCheck;\n\n\t@Index()\n\t@Enum()\n\tparentType: FileRecordParentType;\n\n\t@Index()\n\t@Property({ fieldName: 'parent' })\n\t_parentId: ObjectId;\n\n\tget parentId(): EntityId {\n\t\treturn this._parentId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'creator' })\n\t_creatorId: ObjectId;\n\n\tget creatorId(): EntityId {\n\t\treturn this._creatorId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'school' })\n\t_schoolId: ObjectId;\n\n\tget schoolId(): EntityId {\n\t\treturn this._schoolId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'isCopyFrom', nullable: true })\n\t_isCopyFrom?: ObjectId;\n\n\tget isCopyFrom(): EntityId | undefined {\n\t\tconst result = this._isCopyFrom?.toHexString();\n\n\t\treturn result;\n\t}\n\n\tconstructor(props: FileRecordProperties) {\n\t\tsuper();\n\t\tthis.size = props.size;\n\t\tthis.name = props.name;\n\t\tthis.mimeType = props.mimeType;\n\t\tthis.parentType = props.parentType;\n\t\tthis._parentId = new ObjectId(props.parentId);\n\t\tthis._creatorId = new ObjectId(props.creatorId);\n\t\tthis._schoolId = new ObjectId(props.schoolId);\n\t\tif (props.isCopyFrom) {\n\t\t\tthis._isCopyFrom = new ObjectId(props.isCopyFrom);\n\t\t}\n\t\tthis.securityCheck = new FileRecordSecurityCheck({});\n\t\tthis.deletedSince = props.deletedSince;\n\t}\n\n\tpublic updateSecurityCheckStatus(status: ScanStatus, reason: string): void {\n\t\tthis.securityCheck.status = status;\n\t\tthis.securityCheck.reason = reason;\n\t\tthis.securityCheck.updatedAt = new Date();\n\t\tthis.securityCheck.requestToken = undefined;\n\t}\n\n\tpublic getSecurityToken(): string | undefined {\n\t\treturn this.securityCheck.requestToken;\n\t}\n\n\tpublic copy(userId: EntityId, targetParentInfo: ParentInfo): FileRecord {\n\t\tconst { size, name, mimeType, id } = this;\n\t\tconst { parentType, parentId, schoolId } = targetParentInfo;\n\n\t\tconst fileRecordCopy = new FileRecord({\n\t\t\tsize,\n\t\t\tname,\n\t\t\tmimeType,\n\t\t\tparentType,\n\t\t\tparentId,\n\t\t\tcreatorId: userId,\n\t\t\tschoolId,\n\t\t\tisCopyFrom: id,\n\t\t});\n\n\t\tif (this.isVerified()) {\n\t\t\tfileRecordCopy.securityCheck = this.securityCheck;\n\t\t}\n\n\t\treturn fileRecordCopy;\n\t}\n\n\tpublic markForDelete(): void {\n\t\tthis.deletedSince = new Date();\n\t}\n\n\tpublic unmarkForDelete(): void {\n\t\tthis.deletedSince = undefined;\n\t}\n\n\tpublic setName(name: string): void {\n\t\tif (name.length === 0) {\n\t\t\tthrow new BadRequestException(ErrorType.FILE_NAME_EMPTY);\n\t\t}\n\n\t\tthis.name = name;\n\t}\n\n\tpublic hasName(name: string): boolean {\n\t\tconst hasName = this.name === name;\n\n\t\treturn hasName;\n\t}\n\n\tpublic getName(): string {\n\t\treturn this.name;\n\t}\n\n\tpublic isBlocked(): boolean {\n\t\tconst isBlocked = this.securityCheck.status === ScanStatus.BLOCKED;\n\n\t\treturn isBlocked;\n\t}\n\n\tpublic hasScanStatusError(): boolean {\n\t\tconst hasError = this.securityCheck.status === ScanStatus.ERROR;\n\n\t\treturn hasError;\n\t}\n\n\tpublic hasScanStatusWontCheck(): boolean {\n\t\tconst hasWontCheckStatus = this.securityCheck.status === ScanStatus.WONT_CHECK;\n\n\t\treturn hasWontCheckStatus;\n\t}\n\n\tpublic isPending(): boolean {\n\t\tconst isPending = this.securityCheck.status === ScanStatus.PENDING;\n\n\t\treturn isPending;\n\t}\n\n\tpublic isVerified(): boolean {\n\t\tconst isVerified = this.securityCheck.status === ScanStatus.VERIFIED;\n\n\t\treturn isVerified;\n\t}\n\n\tpublic isPreviewPossible(): boolean {\n\t\tconst isPreviewPossible = Object.values(PreviewInputMimeTypes).includes(this.mimeType);\n\n\t\treturn isPreviewPossible;\n\t}\n\n\tpublic getParentInfo(): ParentInfo {\n\t\tconst { parentId, parentType, schoolId } = this;\n\n\t\treturn { parentId, parentType, schoolId };\n\t}\n\n\tpublic getSchoolId(): EntityId {\n\t\treturn this.schoolId;\n\t}\n\n\tpublic getPreviewStatus(): PreviewStatus {\n\t\tif (this.isBlocked()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_BLOCKED;\n\t\t}\n\n\t\tif (!this.isPreviewPossible()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_WRONG_MIME_TYPE;\n\t\t}\n\n\t\tif (this.isVerified()) {\n\t\t\treturn PreviewStatus.PREVIEW_POSSIBLE;\n\t\t}\n\n\t\tif (this.isPending()) {\n\t\t\treturn PreviewStatus.AWAITING_SCAN_STATUS;\n\t\t}\n\n\t\tif (this.hasScanStatusWontCheck()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_WONT_CHECK;\n\t\t}\n\n\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_ERROR;\n\t}\n\n\tpublic get fileNameWithoutExtension(): string {\n\t\tconst filenameObj = path.parse(this.name);\n\n\t\treturn filenameObj.name;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FileRecordRepo.html":{"url":"injectables/FileRecordRepo.html","title":"injectable - FileRecordRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FileRecordRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/repo/filerecord.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n findAndCount\n \n \n Async\n findByParentId\n \n \n Async\n findBySchoolIdAndParentId\n \n \n Async\n findBySchoolIdAndParentIdAndMarkedForDelete\n \n \n Async\n findBySecurityCheckRequestToken\n \n \n Async\n findOneById\n \n \n Async\n findOneByIdMarkedForDelete\n \n \n Private\n Async\n findOneOrFail\n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n findAndCount\n \n \n \n \n \n \n \n findAndCount(scope: FileRecordScope, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord.repo.ts:66\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n scope\n \n FileRecordScope\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByParentId\n \n \n \n \n \n \n \n findByParentId(parentId: EntityId, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord.repo.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n parentId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findBySchoolIdAndParentId\n \n \n \n \n \n \n \n findBySchoolIdAndParentId(schoolId: EntityId, parentId: EntityId, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord.repo.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n parentId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findBySchoolIdAndParentIdAndMarkedForDelete\n \n \n \n \n \n \n \n findBySchoolIdAndParentIdAndMarkedForDelete(schoolId: EntityId, parentId: EntityId, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord.repo.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n parentId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findBySecurityCheckRequestToken\n \n \n \n \n \n \n \n findBySecurityCheckRequestToken(token: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord.repo.ts:57\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n token\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findOneById\n \n \n \n \n \n \n \n findOneById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord.repo.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findOneByIdMarkedForDelete\n \n \n \n \n \n \n \n findOneByIdMarkedForDelete(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord.repo.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findOneOrFail\n \n \n \n \n \n \n \n findOneOrFail(scope: FileRecordScope)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord.repo.ts:82\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n scope\n \n FileRecordScope\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord.repo.ts:10\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { IFindOptions, SortOrder } from '@shared/domain/interface';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '@shared/repo';\nimport { FileRecord } from '../entity';\nimport { FileRecordScope } from './filerecord-scope';\n\n@Injectable()\nexport class FileRecordRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn FileRecord;\n\t}\n\n\tasync findOneById(id: EntityId): Promise {\n\t\tconst scope = new FileRecordScope().byFileRecordId(id).byMarkedForDelete(false);\n\t\tconst fileRecord = await this.findOneOrFail(scope);\n\n\t\treturn fileRecord;\n\t}\n\n\tasync findOneByIdMarkedForDelete(id: EntityId): Promise {\n\t\tconst scope = new FileRecordScope().byFileRecordId(id).byMarkedForDelete(true);\n\t\tconst fileRecord = await this.findOneOrFail(scope);\n\n\t\treturn fileRecord;\n\t}\n\n\tasync findByParentId(parentId: EntityId, options?: IFindOptions): Promise> {\n\t\tconst scope = new FileRecordScope().byParentId(parentId).byMarkedForDelete(false);\n\t\tconst result = await this.findAndCount(scope, options);\n\n\t\treturn result;\n\t}\n\n\tasync findBySchoolIdAndParentId(\n\t\tschoolId: EntityId,\n\t\tparentId: EntityId,\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst scope = new FileRecordScope().bySchoolId(schoolId).byParentId(parentId).byMarkedForDelete(false);\n\t\tconst result = await this.findAndCount(scope, options);\n\n\t\treturn result;\n\t}\n\n\tasync findBySchoolIdAndParentIdAndMarkedForDelete(\n\t\tschoolId: EntityId,\n\t\tparentId: EntityId,\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst scope = new FileRecordScope().bySchoolId(schoolId).byParentId(parentId).byMarkedForDelete(true);\n\t\tconst result = await this.findAndCount(scope, options);\n\n\t\treturn result;\n\t}\n\n\tasync findBySecurityCheckRequestToken(token: string): Promise {\n\t\t// Must also find expires in future. Please do not add .byExpires().\n\t\tconst scope = new FileRecordScope().bySecurityCheckRequestToken(token);\n\n\t\tconst fileRecord = await this.findOneOrFail(scope);\n\n\t\treturn fileRecord;\n\t}\n\n\tprivate async findAndCount(\n\t\tscope: FileRecordScope,\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst { pagination } = options || {};\n\t\tconst order = { createdAt: SortOrder.desc, id: SortOrder.asc };\n\n\t\tconst [fileRecords, count] = await this._em.findAndCount(FileRecord, scope.query, {\n\t\t\toffset: pagination?.skip,\n\t\t\tlimit: pagination?.limit,\n\t\t\torderBy: order,\n\t\t});\n\n\t\treturn [fileRecords, count];\n\t}\n\n\tprivate async findOneOrFail(scope: FileRecordScope): Promise {\n\t\tconst fileRecord = await this._em.findOneOrFail(FileRecord, scope.query);\n\n\t\treturn fileRecord;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileRecordResponse.html":{"url":"classes/FileRecordResponse.html","title":"class - FileRecordResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileRecordResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n creatorId\n \n \n \n Optional\n deletedSince\n \n \n \n id\n \n \n \n mimeType\n \n \n \n \n name\n \n \n \n parentId\n \n \n \n parentType\n \n \n \n previewStatus\n \n \n \n securityCheckStatus\n \n \n \n size\n \n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(fileRecord: FileRecord)\n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileRecord\n \n \n FileRecord\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n creatorId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n deletedSince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:53\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n mimeType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n Type : FileRecordParentType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: FileRecordParentType, enumName: 'FileRecordParentType'})\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:47\n \n \n\n\n \n \n \n \n \n \n \n \n \n previewStatus\n \n \n \n \n \n \n Type : PreviewStatus\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: PreviewStatus, enumName: 'PreviewStatus'})\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:50\n \n \n\n\n \n \n \n \n \n \n \n \n \n securityCheckStatus\n \n \n \n \n \n \n Type : ScanStatus\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ScanStatus, enumName: 'FileRecordScanStatus'})\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n size\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:38\n \n \n\n\n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.response.ts:32\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { DecodeHtmlEntities, PaginationResponse } from '@shared/controller';\nimport { FileRecord, FileRecordParentType, PreviewStatus, ScanStatus } from '../../entity';\nimport { API_VERSION_PATH } from '../../files-storage.const';\n\nexport class FileRecordResponse {\n\tconstructor(fileRecord: FileRecord) {\n\t\tthis.id = fileRecord.id;\n\t\tthis.name = fileRecord.name;\n\t\tthis.url = `${API_VERSION_PATH}/file/download/${fileRecord.id}/${encodeURIComponent(fileRecord.name)}`;\n\t\tthis.size = fileRecord.size;\n\t\tthis.securityCheckStatus = fileRecord.securityCheck.status;\n\t\tthis.parentId = fileRecord.parentId;\n\t\tthis.creatorId = fileRecord.creatorId;\n\t\tthis.mimeType = fileRecord.mimeType;\n\t\tthis.parentType = fileRecord.parentType;\n\t\tthis.deletedSince = fileRecord.deletedSince;\n\t\tthis.previewStatus = fileRecord.getPreviewStatus();\n\t}\n\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tname: string;\n\n\t@ApiProperty()\n\tparentId: string;\n\n\t@ApiProperty()\n\turl: string;\n\n\t@ApiProperty({ enum: ScanStatus, enumName: 'FileRecordScanStatus' })\n\tsecurityCheckStatus: ScanStatus;\n\n\t@ApiProperty()\n\tsize: number;\n\n\t@ApiProperty()\n\tcreatorId: string;\n\n\t@ApiProperty()\n\tmimeType: string;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\tparentType: FileRecordParentType;\n\n\t@ApiProperty({ enum: PreviewStatus, enumName: 'PreviewStatus' })\n\tpreviewStatus: PreviewStatus;\n\n\t@ApiPropertyOptional()\n\tdeletedSince?: Date;\n}\n\nexport class FileRecordListResponse extends PaginationResponse {\n\tconstructor(data: FileRecordResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [FileRecordResponse] })\n\tdata: FileRecordResponse[];\n}\n\nexport class CopyFileResponse {\n\tconstructor(data: CopyFileResponse) {\n\t\tthis.id = data.id;\n\t\tthis.sourceId = data.sourceId;\n\t\tthis.name = data.name;\n\t}\n\n\t@ApiPropertyOptional()\n\tid?: string;\n\n\t@ApiProperty()\n\tsourceId: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tname: string;\n}\n\nexport class CopyFileListResponse extends PaginationResponse {\n\tconstructor(data: CopyFileResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [CopyFileResponse] })\n\tdata: CopyFileResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileRecordScope.html":{"url":"classes/FileRecordScope.html","title":"class - FileRecordScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileRecordScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/repo/filerecord-scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n byFileRecordId\n \n \n byMarkedForDelete\n \n \n byParentId\n \n \n bySchoolId\n \n \n bySecurityCheckRequestToken\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n byFileRecordId\n \n \n \n \n \n \nbyFileRecordId(fileRecordId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord-scope.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileRecordId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileRecordScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byMarkedForDelete\n \n \n \n \n \n \nbyMarkedForDelete(isMarked)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord-scope.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n Default value\n \n \n \n \n isMarked\n\n \n No\n \n\n \n true\n \n\n \n \n \n \n \n Returns : FileRecordScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byParentId\n \n \n \n \n \n \nbyParentId(parentId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord-scope.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n parentId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileRecordScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n bySchoolId\n \n \n \n \n \n \nbySchoolId(schoolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord-scope.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileRecordScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n bySecurityCheckRequestToken\n \n \n \n \n \n \nbySecurityCheckRequestToken(token: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/repo/filerecord-scope.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n token\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileRecordScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { EntityId } from '@shared/domain/types';\nimport { Scope } from '@shared/repo';\nimport { FileRecord } from '../entity';\n\nexport class FileRecordScope extends Scope {\n\tbyParentId(parentId: EntityId): FileRecordScope {\n\t\tthis.addQuery({ _parentId: new ObjectId(parentId) });\n\n\t\treturn this;\n\t}\n\n\tbyFileRecordId(fileRecordId: EntityId): FileRecordScope {\n\t\tthis.addQuery({ id: fileRecordId });\n\n\t\treturn this;\n\t}\n\n\tbySchoolId(schoolId: EntityId): FileRecordScope {\n\t\tthis.addQuery({ _schoolId: new ObjectId(schoolId) });\n\n\t\treturn this;\n\t}\n\n\tbySecurityCheckRequestToken(token: string): FileRecordScope {\n\t\tthis.addQuery({ securityCheck: { requestToken: token } });\n\n\t\treturn this;\n\t}\n\n\tbyMarkedForDelete(isMarked = true): FileRecordScope {\n\t\tconst query = isMarked ? { deletedSince: { $ne: null } } : { deletedSince: null };\n\t\tthis.addQuery(query);\n\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileRecordSecurityCheck.html":{"url":"classes/FileRecordSecurityCheck.html","title":"class - FileRecordSecurityCheck","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileRecordSecurityCheck\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/entity/filerecord.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n createdAt\n \n \n \n reason\n \n \n \n Optional\n requestToken\n \n \n \n status\n \n \n \n updatedAt\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: FileRecordSecurityCheckProperties)\n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:58\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n FileRecordSecurityCheckProperties\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n Default value : new Date()\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n \n reason\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'not yet scanned'\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n requestToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : uuid()\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : ScanStatus\n\n \n \n \n \n Default value : ScanStatus.PENDING\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n Default value : new Date()\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/entity/filerecord.entity.ts:58\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { PreviewInputMimeTypes } from '@infra/preview-generator';\nimport { Embeddable, Embedded, Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BadRequestException } from '@nestjs/common';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport path from 'path';\nimport { v4 as uuid } from 'uuid';\nimport { ErrorType } from '../error';\n\nexport enum ScanStatus {\n\tPENDING = 'pending',\n\tVERIFIED = 'verified',\n\tBLOCKED = 'blocked',\n\tWONT_CHECK = 'wont_check',\n\tERROR = 'error',\n}\n\nexport enum FileRecordParentType {\n\t'User' = 'users',\n\t'School' = 'schools',\n\t'Course' = 'courses',\n\t'Task' = 'tasks',\n\t'Lesson' = 'lessons',\n\t'Submission' = 'submissions',\n\t'BoardNode' = 'boardnodes',\n}\n\nexport enum PreviewStatus {\n\tPREVIEW_POSSIBLE = 'preview_possible',\n\tAWAITING_SCAN_STATUS = 'awaiting_scan_status',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_ERROR = 'preview_not_possible_scan_status_error',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_WONT_CHECK = 'preview_not_possible_scan_status_wont_check',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_BLOCKED = 'preview_not_possible_scan_status_blocked',\n\tPREVIEW_NOT_POSSIBLE_WRONG_MIME_TYPE = 'preview_not_possible_wrong_mime_type',\n}\n\nexport interface FileRecordSecurityCheckProperties {\n\tstatus?: ScanStatus;\n\treason?: string;\n\trequestToken?: string;\n}\n@Embeddable()\nexport class FileRecordSecurityCheck {\n\t@Enum()\n\tstatus: ScanStatus = ScanStatus.PENDING;\n\n\t@Property()\n\treason = 'not yet scanned';\n\n\t@Property()\n\trequestToken?: string = uuid();\n\n\t@Property()\n\tcreatedAt = new Date();\n\n\t@Property()\n\tupdatedAt = new Date();\n\n\tconstructor(props: FileRecordSecurityCheckProperties) {\n\t\tif (props.status !== undefined) {\n\t\t\tthis.status = props.status;\n\t\t}\n\t\tif (props.reason !== undefined) {\n\t\t\tthis.reason = props.reason;\n\t\t}\n\t\tif (props.requestToken !== undefined) {\n\t\t\tthis.requestToken = props.requestToken;\n\t\t}\n\t}\n}\n\nexport interface FileRecordProperties {\n\tsize: number;\n\tname: string;\n\tmimeType: string;\n\tparentType: FileRecordParentType;\n\tparentId: EntityId;\n\tcreatorId: EntityId;\n\tschoolId: EntityId;\n\tdeletedSince?: Date;\n\tisCopyFrom?: EntityId;\n}\n\ninterface ParentInfo {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\n// TODO: EntityWithSchool\n\n/**\n * Note: The file record entity will not manage any entity relations by itself.\n * That's why we do not map any relations in the entity class\n * and instead just use the plain object ids.\n */\n@Entity({ tableName: 'filerecords' })\n@Index({ properties: ['_schoolId', '_parentId'], options: { background: true } })\n// https://github.com/mikro-orm/mikro-orm/issues/1230\n@Index({ options: { 'securityCheck.requestToken': 1 } })\nexport class FileRecord extends BaseEntityWithTimestamps {\n\t@Index({ options: { expireAfterSeconds: 7 * 24 * 60 * 60 } })\n\t@Property({ nullable: true })\n\tdeletedSince?: Date;\n\n\t@Property()\n\tsize: number;\n\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tmimeType: string; // TODO mime-type enum?\n\n\t@Embedded(() => FileRecordSecurityCheck, { object: true, nullable: false })\n\tsecurityCheck: FileRecordSecurityCheck;\n\n\t@Index()\n\t@Enum()\n\tparentType: FileRecordParentType;\n\n\t@Index()\n\t@Property({ fieldName: 'parent' })\n\t_parentId: ObjectId;\n\n\tget parentId(): EntityId {\n\t\treturn this._parentId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'creator' })\n\t_creatorId: ObjectId;\n\n\tget creatorId(): EntityId {\n\t\treturn this._creatorId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'school' })\n\t_schoolId: ObjectId;\n\n\tget schoolId(): EntityId {\n\t\treturn this._schoolId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'isCopyFrom', nullable: true })\n\t_isCopyFrom?: ObjectId;\n\n\tget isCopyFrom(): EntityId | undefined {\n\t\tconst result = this._isCopyFrom?.toHexString();\n\n\t\treturn result;\n\t}\n\n\tconstructor(props: FileRecordProperties) {\n\t\tsuper();\n\t\tthis.size = props.size;\n\t\tthis.name = props.name;\n\t\tthis.mimeType = props.mimeType;\n\t\tthis.parentType = props.parentType;\n\t\tthis._parentId = new ObjectId(props.parentId);\n\t\tthis._creatorId = new ObjectId(props.creatorId);\n\t\tthis._schoolId = new ObjectId(props.schoolId);\n\t\tif (props.isCopyFrom) {\n\t\t\tthis._isCopyFrom = new ObjectId(props.isCopyFrom);\n\t\t}\n\t\tthis.securityCheck = new FileRecordSecurityCheck({});\n\t\tthis.deletedSince = props.deletedSince;\n\t}\n\n\tpublic updateSecurityCheckStatus(status: ScanStatus, reason: string): void {\n\t\tthis.securityCheck.status = status;\n\t\tthis.securityCheck.reason = reason;\n\t\tthis.securityCheck.updatedAt = new Date();\n\t\tthis.securityCheck.requestToken = undefined;\n\t}\n\n\tpublic getSecurityToken(): string | undefined {\n\t\treturn this.securityCheck.requestToken;\n\t}\n\n\tpublic copy(userId: EntityId, targetParentInfo: ParentInfo): FileRecord {\n\t\tconst { size, name, mimeType, id } = this;\n\t\tconst { parentType, parentId, schoolId } = targetParentInfo;\n\n\t\tconst fileRecordCopy = new FileRecord({\n\t\t\tsize,\n\t\t\tname,\n\t\t\tmimeType,\n\t\t\tparentType,\n\t\t\tparentId,\n\t\t\tcreatorId: userId,\n\t\t\tschoolId,\n\t\t\tisCopyFrom: id,\n\t\t});\n\n\t\tif (this.isVerified()) {\n\t\t\tfileRecordCopy.securityCheck = this.securityCheck;\n\t\t}\n\n\t\treturn fileRecordCopy;\n\t}\n\n\tpublic markForDelete(): void {\n\t\tthis.deletedSince = new Date();\n\t}\n\n\tpublic unmarkForDelete(): void {\n\t\tthis.deletedSince = undefined;\n\t}\n\n\tpublic setName(name: string): void {\n\t\tif (name.length === 0) {\n\t\t\tthrow new BadRequestException(ErrorType.FILE_NAME_EMPTY);\n\t\t}\n\n\t\tthis.name = name;\n\t}\n\n\tpublic hasName(name: string): boolean {\n\t\tconst hasName = this.name === name;\n\n\t\treturn hasName;\n\t}\n\n\tpublic getName(): string {\n\t\treturn this.name;\n\t}\n\n\tpublic isBlocked(): boolean {\n\t\tconst isBlocked = this.securityCheck.status === ScanStatus.BLOCKED;\n\n\t\treturn isBlocked;\n\t}\n\n\tpublic hasScanStatusError(): boolean {\n\t\tconst hasError = this.securityCheck.status === ScanStatus.ERROR;\n\n\t\treturn hasError;\n\t}\n\n\tpublic hasScanStatusWontCheck(): boolean {\n\t\tconst hasWontCheckStatus = this.securityCheck.status === ScanStatus.WONT_CHECK;\n\n\t\treturn hasWontCheckStatus;\n\t}\n\n\tpublic isPending(): boolean {\n\t\tconst isPending = this.securityCheck.status === ScanStatus.PENDING;\n\n\t\treturn isPending;\n\t}\n\n\tpublic isVerified(): boolean {\n\t\tconst isVerified = this.securityCheck.status === ScanStatus.VERIFIED;\n\n\t\treturn isVerified;\n\t}\n\n\tpublic isPreviewPossible(): boolean {\n\t\tconst isPreviewPossible = Object.values(PreviewInputMimeTypes).includes(this.mimeType);\n\n\t\treturn isPreviewPossible;\n\t}\n\n\tpublic getParentInfo(): ParentInfo {\n\t\tconst { parentId, parentType, schoolId } = this;\n\n\t\treturn { parentId, parentType, schoolId };\n\t}\n\n\tpublic getSchoolId(): EntityId {\n\t\treturn this.schoolId;\n\t}\n\n\tpublic getPreviewStatus(): PreviewStatus {\n\t\tif (this.isBlocked()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_BLOCKED;\n\t\t}\n\n\t\tif (!this.isPreviewPossible()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_WRONG_MIME_TYPE;\n\t\t}\n\n\t\tif (this.isVerified()) {\n\t\t\treturn PreviewStatus.PREVIEW_POSSIBLE;\n\t\t}\n\n\t\tif (this.isPending()) {\n\t\t\treturn PreviewStatus.AWAITING_SCAN_STATUS;\n\t\t}\n\n\t\tif (this.hasScanStatusWontCheck()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_WONT_CHECK;\n\t\t}\n\n\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_ERROR;\n\t}\n\n\tpublic get fileNameWithoutExtension(): string {\n\t\tconst filenameObj = path.parse(this.name);\n\n\t\treturn filenameObj.name;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FileRecordSecurityCheckProperties.html":{"url":"interfaces/FileRecordSecurityCheckProperties.html","title":"interface - FileRecordSecurityCheckProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FileRecordSecurityCheckProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/entity/filerecord.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n reason\n \n \n \n Optional\n \n requestToken\n \n \n \n Optional\n \n status\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n reason\n \n \n \n \n \n \n \n \n reason: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n requestToken\n \n \n \n \n \n \n \n \n requestToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n \n \n status: ScanStatus\n\n \n \n\n\n \n \n Type : ScanStatus\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { PreviewInputMimeTypes } from '@infra/preview-generator';\nimport { Embeddable, Embedded, Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BadRequestException } from '@nestjs/common';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport path from 'path';\nimport { v4 as uuid } from 'uuid';\nimport { ErrorType } from '../error';\n\nexport enum ScanStatus {\n\tPENDING = 'pending',\n\tVERIFIED = 'verified',\n\tBLOCKED = 'blocked',\n\tWONT_CHECK = 'wont_check',\n\tERROR = 'error',\n}\n\nexport enum FileRecordParentType {\n\t'User' = 'users',\n\t'School' = 'schools',\n\t'Course' = 'courses',\n\t'Task' = 'tasks',\n\t'Lesson' = 'lessons',\n\t'Submission' = 'submissions',\n\t'BoardNode' = 'boardnodes',\n}\n\nexport enum PreviewStatus {\n\tPREVIEW_POSSIBLE = 'preview_possible',\n\tAWAITING_SCAN_STATUS = 'awaiting_scan_status',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_ERROR = 'preview_not_possible_scan_status_error',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_WONT_CHECK = 'preview_not_possible_scan_status_wont_check',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_BLOCKED = 'preview_not_possible_scan_status_blocked',\n\tPREVIEW_NOT_POSSIBLE_WRONG_MIME_TYPE = 'preview_not_possible_wrong_mime_type',\n}\n\nexport interface FileRecordSecurityCheckProperties {\n\tstatus?: ScanStatus;\n\treason?: string;\n\trequestToken?: string;\n}\n@Embeddable()\nexport class FileRecordSecurityCheck {\n\t@Enum()\n\tstatus: ScanStatus = ScanStatus.PENDING;\n\n\t@Property()\n\treason = 'not yet scanned';\n\n\t@Property()\n\trequestToken?: string = uuid();\n\n\t@Property()\n\tcreatedAt = new Date();\n\n\t@Property()\n\tupdatedAt = new Date();\n\n\tconstructor(props: FileRecordSecurityCheckProperties) {\n\t\tif (props.status !== undefined) {\n\t\t\tthis.status = props.status;\n\t\t}\n\t\tif (props.reason !== undefined) {\n\t\t\tthis.reason = props.reason;\n\t\t}\n\t\tif (props.requestToken !== undefined) {\n\t\t\tthis.requestToken = props.requestToken;\n\t\t}\n\t}\n}\n\nexport interface FileRecordProperties {\n\tsize: number;\n\tname: string;\n\tmimeType: string;\n\tparentType: FileRecordParentType;\n\tparentId: EntityId;\n\tcreatorId: EntityId;\n\tschoolId: EntityId;\n\tdeletedSince?: Date;\n\tisCopyFrom?: EntityId;\n}\n\ninterface ParentInfo {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\n// TODO: EntityWithSchool\n\n/**\n * Note: The file record entity will not manage any entity relations by itself.\n * That's why we do not map any relations in the entity class\n * and instead just use the plain object ids.\n */\n@Entity({ tableName: 'filerecords' })\n@Index({ properties: ['_schoolId', '_parentId'], options: { background: true } })\n// https://github.com/mikro-orm/mikro-orm/issues/1230\n@Index({ options: { 'securityCheck.requestToken': 1 } })\nexport class FileRecord extends BaseEntityWithTimestamps {\n\t@Index({ options: { expireAfterSeconds: 7 * 24 * 60 * 60 } })\n\t@Property({ nullable: true })\n\tdeletedSince?: Date;\n\n\t@Property()\n\tsize: number;\n\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tmimeType: string; // TODO mime-type enum?\n\n\t@Embedded(() => FileRecordSecurityCheck, { object: true, nullable: false })\n\tsecurityCheck: FileRecordSecurityCheck;\n\n\t@Index()\n\t@Enum()\n\tparentType: FileRecordParentType;\n\n\t@Index()\n\t@Property({ fieldName: 'parent' })\n\t_parentId: ObjectId;\n\n\tget parentId(): EntityId {\n\t\treturn this._parentId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'creator' })\n\t_creatorId: ObjectId;\n\n\tget creatorId(): EntityId {\n\t\treturn this._creatorId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'school' })\n\t_schoolId: ObjectId;\n\n\tget schoolId(): EntityId {\n\t\treturn this._schoolId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'isCopyFrom', nullable: true })\n\t_isCopyFrom?: ObjectId;\n\n\tget isCopyFrom(): EntityId | undefined {\n\t\tconst result = this._isCopyFrom?.toHexString();\n\n\t\treturn result;\n\t}\n\n\tconstructor(props: FileRecordProperties) {\n\t\tsuper();\n\t\tthis.size = props.size;\n\t\tthis.name = props.name;\n\t\tthis.mimeType = props.mimeType;\n\t\tthis.parentType = props.parentType;\n\t\tthis._parentId = new ObjectId(props.parentId);\n\t\tthis._creatorId = new ObjectId(props.creatorId);\n\t\tthis._schoolId = new ObjectId(props.schoolId);\n\t\tif (props.isCopyFrom) {\n\t\t\tthis._isCopyFrom = new ObjectId(props.isCopyFrom);\n\t\t}\n\t\tthis.securityCheck = new FileRecordSecurityCheck({});\n\t\tthis.deletedSince = props.deletedSince;\n\t}\n\n\tpublic updateSecurityCheckStatus(status: ScanStatus, reason: string): void {\n\t\tthis.securityCheck.status = status;\n\t\tthis.securityCheck.reason = reason;\n\t\tthis.securityCheck.updatedAt = new Date();\n\t\tthis.securityCheck.requestToken = undefined;\n\t}\n\n\tpublic getSecurityToken(): string | undefined {\n\t\treturn this.securityCheck.requestToken;\n\t}\n\n\tpublic copy(userId: EntityId, targetParentInfo: ParentInfo): FileRecord {\n\t\tconst { size, name, mimeType, id } = this;\n\t\tconst { parentType, parentId, schoolId } = targetParentInfo;\n\n\t\tconst fileRecordCopy = new FileRecord({\n\t\t\tsize,\n\t\t\tname,\n\t\t\tmimeType,\n\t\t\tparentType,\n\t\t\tparentId,\n\t\t\tcreatorId: userId,\n\t\t\tschoolId,\n\t\t\tisCopyFrom: id,\n\t\t});\n\n\t\tif (this.isVerified()) {\n\t\t\tfileRecordCopy.securityCheck = this.securityCheck;\n\t\t}\n\n\t\treturn fileRecordCopy;\n\t}\n\n\tpublic markForDelete(): void {\n\t\tthis.deletedSince = new Date();\n\t}\n\n\tpublic unmarkForDelete(): void {\n\t\tthis.deletedSince = undefined;\n\t}\n\n\tpublic setName(name: string): void {\n\t\tif (name.length === 0) {\n\t\t\tthrow new BadRequestException(ErrorType.FILE_NAME_EMPTY);\n\t\t}\n\n\t\tthis.name = name;\n\t}\n\n\tpublic hasName(name: string): boolean {\n\t\tconst hasName = this.name === name;\n\n\t\treturn hasName;\n\t}\n\n\tpublic getName(): string {\n\t\treturn this.name;\n\t}\n\n\tpublic isBlocked(): boolean {\n\t\tconst isBlocked = this.securityCheck.status === ScanStatus.BLOCKED;\n\n\t\treturn isBlocked;\n\t}\n\n\tpublic hasScanStatusError(): boolean {\n\t\tconst hasError = this.securityCheck.status === ScanStatus.ERROR;\n\n\t\treturn hasError;\n\t}\n\n\tpublic hasScanStatusWontCheck(): boolean {\n\t\tconst hasWontCheckStatus = this.securityCheck.status === ScanStatus.WONT_CHECK;\n\n\t\treturn hasWontCheckStatus;\n\t}\n\n\tpublic isPending(): boolean {\n\t\tconst isPending = this.securityCheck.status === ScanStatus.PENDING;\n\n\t\treturn isPending;\n\t}\n\n\tpublic isVerified(): boolean {\n\t\tconst isVerified = this.securityCheck.status === ScanStatus.VERIFIED;\n\n\t\treturn isVerified;\n\t}\n\n\tpublic isPreviewPossible(): boolean {\n\t\tconst isPreviewPossible = Object.values(PreviewInputMimeTypes).includes(this.mimeType);\n\n\t\treturn isPreviewPossible;\n\t}\n\n\tpublic getParentInfo(): ParentInfo {\n\t\tconst { parentId, parentType, schoolId } = this;\n\n\t\treturn { parentId, parentType, schoolId };\n\t}\n\n\tpublic getSchoolId(): EntityId {\n\t\treturn this.schoolId;\n\t}\n\n\tpublic getPreviewStatus(): PreviewStatus {\n\t\tif (this.isBlocked()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_BLOCKED;\n\t\t}\n\n\t\tif (!this.isPreviewPossible()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_WRONG_MIME_TYPE;\n\t\t}\n\n\t\tif (this.isVerified()) {\n\t\t\treturn PreviewStatus.PREVIEW_POSSIBLE;\n\t\t}\n\n\t\tif (this.isPending()) {\n\t\t\treturn PreviewStatus.AWAITING_SCAN_STATUS;\n\t\t}\n\n\t\tif (this.hasScanStatusWontCheck()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_WONT_CHECK;\n\t\t}\n\n\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_ERROR;\n\t}\n\n\tpublic get fileNameWithoutExtension(): string {\n\t\tconst filenameObj = path.parse(this.name);\n\n\t\treturn filenameObj.name;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FileRequestInfo.html":{"url":"interfaces/FileRequestInfo.html","title":"interface - FileRequestInfo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FileRequestInfo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/interfaces/file-request-info.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n parentId\n \n \n \n \n parentType\n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n parentId\n \n \n \n \n \n \n \n \n parentId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n \n \n parentType: FileRecordParentType\n\n \n \n\n\n \n \n Type : FileRecordParentType\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n schoolId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { FileRecordParentType } from '@infra/rabbitmq';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface FileRequestInfo {\n\tschoolId: EntityId;\n\tparentType: FileRecordParentType;\n\tparentId: EntityId;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileResponseBuilder.html":{"url":"classes/FileResponseBuilder.html","title":"class - FileResponseBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileResponseBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/mapper/file-response.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(file: GetFile, name: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/file-response.builder.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n file\n \n GetFile\n \n\n \n No\n \n\n\n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GetFileResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { GetFile } from '@infra/s3-client';\nimport { GetFileResponse } from '../interface';\n\nexport class FileResponseBuilder {\n\tpublic static build(file: GetFile, name: string): GetFileResponse {\n\t\tconst fileResponse = { ...file, data: file.data, name };\n\n\t\treturn fileResponse;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileSecurityCheckEntity.html":{"url":"classes/FileSecurityCheckEntity.html","title":"class - FileSecurityCheckEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileSecurityCheckEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files/entity/file-security-check.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n createdAt\n \n \n \n reason\n \n \n \n Optional\n requestToken\n \n \n \n status\n \n \n \n updatedAt\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: FileSecurityCheckEntityProps)\n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-security-check.entity.ts:26\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n FileSecurityCheckEntityProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n Default value : new Date()\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-security-check.entity.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n reason\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'not yet scanned'\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-security-check.entity.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n requestToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : uuid()\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-security-check.entity.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : FileSecurityCheckStatus\n\n \n \n \n \n Default value : FileSecurityCheckStatus.PENDING\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-security-check.entity.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n Default value : new Date()\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/files/entity/file-security-check.entity.ts:26\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Enum, Property } from '@mikro-orm/core';\nimport { v4 as uuid } from 'uuid';\nimport { FileSecurityCheckStatus } from '../domain';\n\nexport interface FileSecurityCheckEntityProps {\n\tstatus?: FileSecurityCheckStatus;\n\treason?: string;\n\trequestToken?: string;\n}\n\n@Embeddable()\nexport class FileSecurityCheckEntity {\n\t@Enum()\n\tstatus: FileSecurityCheckStatus = FileSecurityCheckStatus.PENDING;\n\n\t@Property()\n\treason = 'not yet scanned';\n\n\t@Property()\n\trequestToken?: string = uuid();\n\n\t@Property()\n\tcreatedAt = new Date();\n\n\t@Property()\n\tupdatedAt = new Date();\n\n\tconstructor(props: FileSecurityCheckEntityProps) {\n\t\tif (props.status !== undefined) {\n\t\t\tthis.status = props.status;\n\t\t}\n\n\t\tif (props.reason !== undefined) {\n\t\t\tthis.reason = props.reason;\n\t\t}\n\n\t\tif (props.requestToken !== undefined) {\n\t\t\tthis.requestToken = props.requestToken;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FileSecurityCheckEntityProps.html":{"url":"interfaces/FileSecurityCheckEntityProps.html","title":"interface - FileSecurityCheckEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FileSecurityCheckEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files/entity/file-security-check.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n reason\n \n \n \n Optional\n \n requestToken\n \n \n \n Optional\n \n status\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n reason\n \n \n \n \n \n \n \n \n reason: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n requestToken\n \n \n \n \n \n \n \n \n requestToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n \n \n status: FileSecurityCheckStatus\n\n \n \n\n\n \n \n Type : FileSecurityCheckStatus\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Embeddable, Enum, Property } from '@mikro-orm/core';\nimport { v4 as uuid } from 'uuid';\nimport { FileSecurityCheckStatus } from '../domain';\n\nexport interface FileSecurityCheckEntityProps {\n\tstatus?: FileSecurityCheckStatus;\n\treason?: string;\n\trequestToken?: string;\n}\n\n@Embeddable()\nexport class FileSecurityCheckEntity {\n\t@Enum()\n\tstatus: FileSecurityCheckStatus = FileSecurityCheckStatus.PENDING;\n\n\t@Property()\n\treason = 'not yet scanned';\n\n\t@Property()\n\trequestToken?: string = uuid();\n\n\t@Property()\n\tcreatedAt = new Date();\n\n\t@Property()\n\tupdatedAt = new Date();\n\n\tconstructor(props: FileSecurityCheckEntityProps) {\n\t\tif (props.status !== undefined) {\n\t\t\tthis.status = props.status;\n\t\t}\n\n\t\tif (props.reason !== undefined) {\n\t\t\tthis.reason = props.reason;\n\t\t}\n\n\t\tif (props.requestToken !== undefined) {\n\t\t\tthis.requestToken = props.requestToken;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/FileSecurityController.html":{"url":"controllers/FileSecurityController.html","title":"controller - FileSecurityController","body":"\n \n\n\n\n\n\n\n Controllers\n FileSecurityController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/file-security.controller.ts\n \n\n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n downloadBySecurityToken\n \n \n \n \n Async\n updateSecurityStatus\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n Async\n downloadBySecurityToken\n \n \n \n \n \n \n \n downloadBySecurityToken(token: string, req: Request)\n \n \n\n \n \n Decorators : \n \n @ApiExcludeEndpoint()@Get(FilesStorageInternalActions.downloadBySecurityToken)\n \n \n\n \n \n Defined in apps/server/src/modules/files-storage/controller/file-security.controller.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n token\n \n string\n \n\n \n No\n \n\n\n \n \n req\n \n Request\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateSecurityStatus\n \n \n \n \n \n \n \n updateSecurityStatus(scanResultDto: ScanResultParams, token: string)\n \n \n\n \n \n Decorators : \n \n @ApiExcludeEndpoint()@Put(FilesStorageInternalActions.updateSecurityStatus)\n \n \n\n \n \n Defined in apps/server/src/modules/files-storage/controller/file-security.controller.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n scanResultDto\n \n ScanResultParams\n \n\n \n No\n \n\n\n \n \n token\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Body, Controller, Get, Param, Put, Req, StreamableFile } from '@nestjs/common';\nimport { ApiExcludeEndpoint, ApiTags } from '@nestjs/swagger';\nimport { Request } from 'express';\nimport { FilesStorageInternalActions } from '../files-storage.const';\nimport { FilesStorageUC } from '../uc';\nimport { ScanResultParams } from './dto';\n\n@ApiTags('file-security')\n@Controller()\nexport class FileSecurityController {\n\tconstructor(private readonly filesStorageUC: FilesStorageUC) {}\n\n\t@ApiExcludeEndpoint()\n\t@Get(FilesStorageInternalActions.downloadBySecurityToken)\n\tasync downloadBySecurityToken(@Param('token') token: string, @Req() req: Request) {\n\t\tconst res = await this.filesStorageUC.downloadBySecurityToken(token);\n\t\treq.on('close', () => {\n\t\t\tres.data.destroy();\n\t\t});\n\n\t\treturn new StreamableFile(res.data, {\n\t\t\ttype: res.contentType,\n\t\t\tdisposition: `attachment;`,\n\t\t});\n\t}\n\n\t@ApiExcludeEndpoint()\n\t@Put(FilesStorageInternalActions.updateSecurityStatus)\n\tasync updateSecurityStatus(@Body() scanResultDto: ScanResultParams, @Param('token') token: string) {\n\t\tawait this.filesStorageUC.updateSecurityStatus(token, scanResultDto);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FileStorageConfig.html":{"url":"interfaces/FileStorageConfig.html","title":"interface - FileStorageConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FileStorageConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/files-storage.config.ts\n \n\n\n\n \n Extends\n \n \n CoreModuleConfig\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n MAX_FILE_SIZE\n \n \n \n \n MAX_SECURITY_CHECK_FILE_SIZE\n \n \n \n \n USE_STREAM_TO_ANTIVIRUS\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n MAX_FILE_SIZE\n \n \n \n \n \n \n \n \n MAX_FILE_SIZE: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n MAX_SECURITY_CHECK_FILE_SIZE\n \n \n \n \n \n \n \n \n MAX_SECURITY_CHECK_FILE_SIZE: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n USE_STREAM_TO_ANTIVIRUS\n \n \n \n \n \n \n \n \n USE_STREAM_TO_ANTIVIRUS: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\nimport { S3Config } from '@infra/s3-client';\nimport { CoreModuleConfig } from '@src/core';\n\nexport const FILES_STORAGE_S3_CONNECTION = 'FILES_STORAGE_S3_CONNECTION';\nexport interface FileStorageConfig extends CoreModuleConfig {\n\tMAX_FILE_SIZE: number;\n\tMAX_SECURITY_CHECK_FILE_SIZE: number;\n\tUSE_STREAM_TO_ANTIVIRUS: boolean;\n}\n\nexport const defaultConfig = {\n\tNEST_LOG_LEVEL: Configuration.get('NEST_LOG_LEVEL') as string,\n\tINCOMING_REQUEST_TIMEOUT: Configuration.get('FILES_STORAGE__INCOMING_REQUEST_TIMEOUT') as number,\n};\n\nconst fileStorageConfig: FileStorageConfig = {\n\tINCOMING_REQUEST_TIMEOUT_COPY_API: Configuration.get('INCOMING_REQUEST_TIMEOUT_COPY_API') as number,\n\tMAX_FILE_SIZE: Configuration.get('FILES_STORAGE__MAX_FILE_SIZE') as number,\n\tMAX_SECURITY_CHECK_FILE_SIZE: Configuration.get('FILES_STORAGE__MAX_FILE_SIZE') as number,\n\tUSE_STREAM_TO_ANTIVIRUS: Configuration.get('FILES_STORAGE__USE_STREAM_TO_ANTIVIRUS') as boolean,\n\t...defaultConfig,\n};\n\n// The configurations lookup\n// config/development.json for development\n// config/test.json for tests\nexport const s3Config: S3Config = {\n\tconnectionName: FILES_STORAGE_S3_CONNECTION,\n\tendpoint: Configuration.get('FILES_STORAGE__S3_ENDPOINT') as string,\n\tregion: Configuration.get('FILES_STORAGE__S3_REGION') as string,\n\tbucket: Configuration.get('FILES_STORAGE__S3_BUCKET') as string,\n\taccessKeyId: Configuration.get('FILES_STORAGE__S3_ACCESS_KEY_ID') as string,\n\tsecretAccessKey: Configuration.get('FILES_STORAGE__S3_SECRET_ACCESS_KEY') as string,\n};\n\nexport const config = () => fileStorageConfig;\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FileSystemAdapter.html":{"url":"injectables/FileSystemAdapter.html","title":"injectable - FileSystemAdapter","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FileSystemAdapter\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/file-system/file-system.adapter.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n encoding\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createDir\n \n \n Async\n createTmpDir\n \n \n joinPath\n \n \n Async\n readDir\n \n \n Async\n readFile\n \n \n Async\n removeDirRecursive\n \n \n Async\n writeFile\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n EOL\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor()\n \n \n \n \n Defined in apps/server/src/infra/file-system/file-system.adapter.ts:12\n \n \n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createDir\n \n \n \n \n \n \n \n createDir(folderPath: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/file-system/file-system.adapter.ts:26\n \n \n\n\n \n \n creates a directory if not already exists\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n folderPath\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createTmpDir\n \n \n \n \n \n \n \n createTmpDir(dirNamePrefix: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/file-system/file-system.adapter.ts:68\n \n \n\n\n \n \n Creates a folder in systems temp path.\nThe dirNamePrefix given will be extended by six random characters.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n dirNamePrefix\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n full path string to temp folder, format depends on os\n\n \n \n \n \n \n \n \n \n \n \n \n joinPath\n \n \n \n \n \n \njoinPath(...paths: string[])\n \n \n\n\n \n \n Defined in apps/server/src/infra/file-system/file-system.adapter.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n paths\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n readDir\n \n \n \n \n \n \n \n readDir(folderPath: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/file-system/file-system.adapter.ts:36\n \n \n\n\n \n \n Lists filenames of given folderPath\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n folderPath\n \n string\n \n\n \n No\n \n\n\n \n path to an existing folder\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n string array of filenames\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n readFile\n \n \n \n \n \n \n \n readFile(filePath: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/file-system/file-system.adapter.ts:57\n \n \n\n\n \n \n Read file from filesystem with given encoding, defaults to utf-8\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n filePath\n \n string\n \n\n \n No\n \n\n\n \n path to existing file, format depending on os\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n file content as encoded text\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n removeDirRecursive\n \n \n \n \n \n \n \n removeDirRecursive(folderPath: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/file-system/file-system.adapter.ts:78\n \n \n\n\n \n \n Removes the given folder recursively including content when not empty.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n folderPath\n \n string\n \n\n \n No\n \n\n\n \n path to an existing folder, format depending on\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n writeFile\n \n \n \n \n \n \n \n writeFile(filePath: string, text: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/file-system/file-system.adapter.ts:48\n \n \n\n\n \n \n Write text to file, will override existing files.\nThe folder in which the file will be created must exist.\nThe path format depends on os\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n filePath\n \n string\n \n\n \n No\n \n\n\n \n path to a file\n\n \n \n \n text\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n encoding\n \n \n \n \n \n \n Type : BufferEncoding\n\n \n \n \n \n Defined in apps/server/src/infra/file-system/file-system.adapter.ts:12\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n EOL\n \n \n\n \n \n getEOL()\n \n \n \n \n Defined in apps/server/src/infra/file-system/file-system.adapter.ts:18\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { promises as fsp, existsSync } from 'fs';\nimport os from 'os';\nimport path from 'path';\n\nimport rimraf = require('rimraf');\n\nconst { mkdir, readdir, writeFile, readFile, mkdtemp } = fsp;\n\n@Injectable()\nexport class FileSystemAdapter {\n\tprivate encoding: BufferEncoding;\n\n\tconstructor() {\n\t\tthis.encoding = 'utf-8';\n\t}\n\n\tget EOL(): string {\n\t\treturn os.EOL;\n\t}\n\n\t/**\n\t * creates a directory if not already exists\n\t * @param folderPath\n\t */\n\tasync createDir(folderPath: string): Promise {\n\t\tconst exists = existsSync(folderPath);\n\t\tif (!exists) await mkdir(folderPath);\n\t}\n\n\t/**\n\t * Lists filenames of given folderPath\n\t * @param folderPath path to an existing folder\n\t * @returns string array of filenames\n\t */\n\tasync readDir(folderPath: string): Promise {\n\t\tconst filenames = await readdir(folderPath, { encoding: this.encoding });\n\t\treturn filenames;\n\t}\n\n\t/**\n\t * Write text to file, will override existing files.\n\t * The folder in which the file will be created must exist.\n\t * The path format depends on os\n\t * @param filePath path to a file\n\t * @param text\n\t */\n\tasync writeFile(filePath: string, text: string): Promise {\n\t\tawait writeFile(filePath, text);\n\t}\n\n\t/**\n\t * Read file from filesystem with given encoding, defaults to utf-8\n\t * @param filePath path to existing file, format depending on os\n\t * @returns file content as encoded text\n\t */\n\tasync readFile(filePath: string): Promise {\n\t\tconst text = await readFile(filePath, this.encoding);\n\t\treturn text;\n\t}\n\n\t/**\n\t * Creates a folder in systems temp path.\n\t * The dirNamePrefix given will be extended by six random characters.\n\t * @param dirNamePrefix\n\t * @returns full path string to temp folder, format depends on os\n\t */\n\tasync createTmpDir(dirNamePrefix: string): Promise {\n\t\tconst dirPath = this.joinPath(os.tmpdir(), dirNamePrefix);\n\t\tconst tmpDirPath = await mkdtemp(dirPath);\n\t\treturn tmpDirPath;\n\t}\n\n\t/**\n\t * Removes the given folder recursively including content when not empty.\n\t * @param folderPath path to an existing folder, format depending on\n\t */\n\tasync removeDirRecursive(folderPath: string): Promise {\n\t\t// fs.rm changed in node 14.14, use rimraf instead\n\t\trimraf.sync(folderPath);\n\t\treturn Promise.resolve();\n\t}\n\n\tjoinPath(...paths: string[]): string {\n\t\treturn path.join(...paths);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/FileSystemModule.html":{"url":"modules/FileSystemModule.html","title":"module - FileSystemModule","body":"\n \n\n\n\n\n Modules\n FileSystemModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_FileSystemModule\n\n\n\ncluster_FileSystemModule_exports\n\n\n\ncluster_FileSystemModule_providers\n\n\n\n\nFileSystemAdapter \n\nFileSystemAdapter \n\n\n\nFileSystemModule\n\nFileSystemModule\n\nFileSystemAdapter -->\n\nFileSystemModule->FileSystemAdapter \n\n\n\n\n\nFileSystemAdapter\n\nFileSystemAdapter\n\nFileSystemModule -->\n\nFileSystemAdapter->FileSystemModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/file-system/file-system.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n FileSystemAdapter\n \n \n \n \n Exports\n \n \n FileSystemAdapter\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { FileSystemAdapter } from './file-system.adapter';\n\n@Module({\n\tproviders: [FileSystemAdapter],\n\texports: [FileSystemAdapter],\n})\nexport class FileSystemModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FileUrlParams.html":{"url":"classes/FileUrlParams.html","title":"class - FileUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FileUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n fileName\n \n \n \n \n Optional\n headers\n \n \n \n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n fileName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: 'string'})@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n headers\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: 'string'})@Allow()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: 'string'})@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:27\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanResult } from '@infra/antivirus';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { Allow, IsBoolean, IsEnum, IsMongoId, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { FileRecordParentType } from '../../entity';\nimport { PreviewOutputMimeTypes, PreviewWidth } from '../../interface';\n\nexport class FileRecordParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\t@IsEnum(FileRecordParentType)\n\tparentType!: FileRecordParentType;\n}\n\nexport class FileUrlParams {\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\turl!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@Allow()\n\theaders?: Record;\n}\n\nexport class FileParams {\n\t@ApiProperty({ type: 'string', format: 'binary' })\n\t@Allow()\n\tfile!: string;\n}\n\nexport class DownloadFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileName!: string;\n}\n\nexport class ScanResultParams implements ScanResult {\n\t@ApiProperty()\n\t@Allow()\n\tvirus_detected?: boolean;\n\n\t@ApiProperty()\n\t@Allow()\n\tvirus_signature?: string;\n\n\t@ApiProperty()\n\t@Allow()\n\terror?: string;\n}\n\nexport class SingleFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n}\n\nexport class RenameFileParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n}\n\nexport class CopyFilesOfParentParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class CopyFileParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileNamePrefix!: string;\n}\n\nexport class CopyFilesOfParentPayload {\n\t@IsMongoId()\n\tuserId!: EntityId;\n\n\t@ValidateNested()\n\tsource!: FileRecordParams;\n\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class PreviewParams {\n\t@ApiPropertyOptional({ enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes' })\n\t@IsOptional()\n\t@IsEnum(PreviewOutputMimeTypes)\n\toutputFormat?: PreviewOutputMimeTypes;\n\n\t@ApiPropertyOptional({ enum: PreviewWidth, enumName: 'PreviewWidth' })\n\t@IsOptional()\n\t@IsEnum(PreviewWidth)\n\twidth?: PreviewWidth;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'If true, the preview will be generated again.',\n\t})\n\tforceUpdate?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/FilesModule.html":{"url":"modules/FilesModule.html","title":"module - FilesModule","body":"\n \n\n\n\n\n Modules\n FilesModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_FilesModule\n\n\n\ncluster_FilesModule_providers\n\n\n\ncluster_FilesModule_imports\n\n\n\ncluster_FilesModule_exports\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nFilesModule\n\nFilesModule\n\nFilesModule -->\n\nLoggerModule->FilesModule\n\n\n\n\n\nFilesService \n\nFilesService \n\nFilesService -->\n\nFilesModule->FilesService \n\n\n\n\n\nDeleteFilesUc\n\nDeleteFilesUc\n\nFilesModule -->\n\nDeleteFilesUc->FilesModule\n\n\n\n\n\nFilesRepo\n\nFilesRepo\n\nFilesModule -->\n\nFilesRepo->FilesModule\n\n\n\n\n\nFilesService\n\nFilesService\n\nFilesModule -->\n\nFilesService->FilesModule\n\n\n\n\n\nStorageProviderRepo\n\nStorageProviderRepo\n\nFilesModule -->\n\nStorageProviderRepo->FilesModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/files/files.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n DeleteFilesUc\n \n \n FilesRepo\n \n \n FilesService\n \n \n StorageProviderRepo\n \n \n \n \n Imports\n \n \n LoggerModule\n \n \n \n \n Exports\n \n \n FilesService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { StorageProviderRepo } from '@shared/repo/storageprovider';\nimport { LoggerModule } from '@src/core/logger';\nimport { DeleteFilesConsole } from './job';\nimport { DeleteFilesUc } from './uc';\nimport { FilesRepo } from './repo';\nimport { FilesService } from './service';\n\n@Module({\n\timports: [LoggerModule],\n\tproviders: [DeleteFilesConsole, DeleteFilesUc, FilesRepo, StorageProviderRepo, FilesService],\n\texports: [FilesService],\n})\nexport class FilesModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FilesRepo.html":{"url":"injectables/FilesRepo.html","title":"injectable - FilesRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FilesRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files/repo/files.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n findByOwnerUserId\n \n \n Public\n Async\n findByPermissionRefId\n \n \n Public\n Async\n findForCleanup\n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(_em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/files/repo/files.repo.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n _em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n findByOwnerUserId\n \n \n \n \n \n \n \n findByOwnerUserId(ownerUserId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/repo/files.repo.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n ownerUserId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findByPermissionRefId\n \n \n \n \n \n \n \n findByPermissionRefId(permissionRefId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/repo/files.repo.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n permissionRefId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findForCleanup\n \n \n \n \n \n \n \n findForCleanup(thresholdDate: Date, batchSize: number, offset: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/repo/files.repo.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n thresholdDate\n \n Date\n \n\n \n No\n \n\n\n \n \n batchSize\n \n number\n \n\n \n No\n \n\n\n \n \n offset\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/files/repo/files.repo.ts:15\n \n \n\n \n \n\n \n\n\n \n import { EntityDictionary } from '@mikro-orm/core';\nimport { EntityManager, ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '@shared/repo/base.repo';\nimport { FileOwnerModel } from '../domain';\nimport { FileEntity } from '../entity';\n\n@Injectable()\nexport class FilesRepo extends BaseRepo {\n\tconstructor(protected readonly _em: EntityManager) {\n\t\tsuper(_em);\n\t}\n\n\tget entityName() {\n\t\treturn FileEntity;\n\t}\n\n\tpublic async findForCleanup(thresholdDate: Date, batchSize: number, offset: number): Promise {\n\t\tconst filter = { deletedAt: { $lte: thresholdDate } };\n\t\tconst options = {\n\t\t\torderBy: { id: 'asc' },\n\t\t\tlimit: batchSize,\n\t\t\toffset,\n\t\t\tpopulate: ['storageProvider'] as never[],\n\t\t};\n\n\t\tconst files = await this._em.find(FileEntity, filter, options);\n\n\t\treturn files as FileEntity[];\n\t}\n\n\tpublic async findByOwnerUserId(ownerUserId: EntityId): Promise {\n\t\tconst filter = {\n\t\t\towner: new ObjectId(ownerUserId),\n\t\t\trefOwnerModel: FileOwnerModel.USER,\n\t\t};\n\n\t\tconst files = await this._em.find(FileEntity, filter);\n\n\t\treturn files as FileEntity[];\n\t}\n\n\tpublic async findByPermissionRefId(permissionRefId: EntityId): Promise {\n\t\tconst pipeline = [\n\t\t\t{\n\t\t\t\t$match: {\n\t\t\t\t\tpermissions: {\n\t\t\t\t\t\t$elemMatch: {\n\t\t\t\t\t\t\trefId: new ObjectId(permissionRefId),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t];\n\n\t\tconst rawFilesDocuments = await this._em.aggregate(FileEntity, pipeline);\n\n\t\tconst files = rawFilesDocuments.map((rawFileDocument) =>\n\t\t\tthis._em.map(FileEntity, rawFileDocument as EntityDictionary)\n\t\t);\n\n\t\treturn files;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FilesService.html":{"url":"injectables/FilesService.html","title":"injectable - FilesService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FilesService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files/service/files.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findFilesAccessibleByUser\n \n \n Async\n findFilesOwnedByUser\n \n \n Async\n markFilesOwnedByUserForDeletion\n \n \n Async\n removeUserPermissionsToAnyFiles\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(repo: FilesRepo)\n \n \n \n \n Defined in apps/server/src/modules/files/service/files.service.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n repo\n \n \n FilesRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findFilesAccessibleByUser\n \n \n \n \n \n \n \n findFilesAccessibleByUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/service/files.service.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findFilesOwnedByUser\n \n \n \n \n \n \n \n findFilesOwnedByUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/service/files.service.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n markFilesOwnedByUserForDeletion\n \n \n \n \n \n \n \n markFilesOwnedByUserForDeletion(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/service/files.service.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n removeUserPermissionsToAnyFiles\n \n \n \n \n \n \n \n removeUserPermissionsToAnyFiles(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files/service/files.service.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { FileEntity } from '../entity';\nimport { FilesRepo } from '../repo';\n\n@Injectable()\nexport class FilesService {\n\tconstructor(private readonly repo: FilesRepo) {}\n\n\tasync findFilesAccessibleByUser(userId: EntityId): Promise {\n\t\treturn this.repo.findByPermissionRefId(userId);\n\t}\n\n\tasync removeUserPermissionsToAnyFiles(userId: EntityId): Promise {\n\t\tconst entities = await this.repo.findByPermissionRefId(userId);\n\n\t\tif (entities.length === 0) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tentities.forEach((entity) => entity.removePermissionsByRefId(userId));\n\n\t\tawait this.repo.save(entities);\n\n\t\treturn entities.length;\n\t}\n\n\tasync findFilesOwnedByUser(userId: EntityId): Promise {\n\t\treturn this.repo.findByOwnerUserId(userId);\n\t}\n\n\tasync markFilesOwnedByUserForDeletion(userId: EntityId): Promise {\n\t\tconst entities = await this.repo.findByOwnerUserId(userId);\n\n\t\tif (entities.length === 0) {\n\t\t\treturn 0;\n\t\t}\n\n\t\tentities.forEach((entity) => entity.markForDeletion());\n\n\t\tawait this.repo.save(entities);\n\n\t\treturn entities.length;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/FilesStorageAMQPModule.html":{"url":"modules/FilesStorageAMQPModule.html","title":"module - FilesStorageAMQPModule","body":"\n \n\n\n\n\n Modules\n FilesStorageAMQPModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_FilesStorageAMQPModule\n\n\n\ncluster_FilesStorageAMQPModule_imports\n\n\n\ncluster_FilesStorageAMQPModule_providers\n\n\n\n\nCoreModule\n\nCoreModule\n\n\n\nFilesStorageAMQPModule\n\nFilesStorageAMQPModule\n\nFilesStorageAMQPModule -->\n\nCoreModule->FilesStorageAMQPModule\n\n\n\n\n\nFilesStorageModule\n\nFilesStorageModule\n\nFilesStorageAMQPModule -->\n\nFilesStorageModule->FilesStorageAMQPModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nFilesStorageAMQPModule -->\n\nLoggerModule->FilesStorageAMQPModule\n\n\n\n\n\nFilesStorageConsumer\n\nFilesStorageConsumer\n\nFilesStorageAMQPModule -->\n\nFilesStorageConsumer->FilesStorageAMQPModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/files-storage/files-storage-amqp.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n FilesStorageConsumer\n \n \n \n \n Imports\n \n \n CoreModule\n \n \n FilesStorageModule\n \n \n LoggerModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { CoreModule } from '@src/core';\nimport { LoggerModule } from '@src/core/logger';\nimport { FilesStorageConsumer } from './controller';\nimport { FilesStorageModule } from './files-storage.module';\n\n@Module({\n\timports: [FilesStorageModule, CoreModule, LoggerModule],\n\tproviders: [FilesStorageConsumer],\n})\nexport class FilesStorageAMQPModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/FilesStorageApiModule.html":{"url":"modules/FilesStorageApiModule.html","title":"module - FilesStorageApiModule","body":"\n \n\n\n\n\n Modules\n FilesStorageApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_FilesStorageApiModule\n\n\n\ncluster_FilesStorageApiModule_imports\n\n\n\ncluster_FilesStorageApiModule_providers\n\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\n\n\nFilesStorageApiModule\n\nFilesStorageApiModule\n\nFilesStorageApiModule -->\n\nAuthenticationModule->FilesStorageApiModule\n\n\n\n\n\nAuthorizationReferenceModule\n\nAuthorizationReferenceModule\n\nFilesStorageApiModule -->\n\nAuthorizationReferenceModule->FilesStorageApiModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nFilesStorageApiModule -->\n\nCoreModule->FilesStorageApiModule\n\n\n\n\n\nFilesStorageModule\n\nFilesStorageModule\n\nFilesStorageApiModule -->\n\nFilesStorageModule->FilesStorageApiModule\n\n\n\n\n\nFilesStorageUC\n\nFilesStorageUC\n\nFilesStorageApiModule -->\n\nFilesStorageUC->FilesStorageApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/files-storage/files-storage-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n FilesStorageUC\n \n \n \n \n Controllers\n \n \n FilesStorageController\n \n \n FileSecurityController\n \n \n \n \n Imports\n \n \n AuthenticationModule\n \n \n AuthorizationReferenceModule\n \n \n CoreModule\n \n \n FilesStorageModule\n \n \n \n \n \n\n\n \n\n\n \n import { HttpModule } from '@nestjs/axios';\nimport { Module } from '@nestjs/common';\nimport { CoreModule } from '@src/core';\nimport { AuthenticationModule } from '@modules/authentication/authentication.module';\nimport { AuthorizationReferenceModule } from '@modules/authorization/authorization-reference.module';\nimport { FileSecurityController, FilesStorageController } from './controller';\nimport { FilesStorageModule } from './files-storage.module';\nimport { FilesStorageUC } from './uc';\n\n@Module({\n\timports: [AuthorizationReferenceModule, FilesStorageModule, AuthenticationModule, CoreModule, HttpModule],\n\tcontrollers: [FilesStorageController, FileSecurityController],\n\tproviders: [FilesStorageUC],\n})\nexport class FilesStorageApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FilesStorageClientAdapterService.html":{"url":"injectables/FilesStorageClientAdapterService.html","title":"injectable - FilesStorageClientAdapterService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FilesStorageClientAdapterService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/service/files-storage-client.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n copyFilesOfParent\n \n \n Async\n deleteFilesOfParent\n \n \n Async\n listFilesOfParent\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: LegacyLogger, fileStorageMQProducer: FilesStorageProducer)\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/service/files-storage-client.service.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n fileStorageMQProducer\n \n \n FilesStorageProducer\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n copyFilesOfParent\n \n \n \n \n \n \n \n copyFilesOfParent(param: CopyFilesRequestInfo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/service/files-storage-client.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n param\n \n CopyFilesRequestInfo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteFilesOfParent\n \n \n \n \n \n \n \n deleteFilesOfParent(parentId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/service/files-storage-client.service.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n parentId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n listFilesOfParent\n \n \n \n \n \n \n \n listFilesOfParent(param: FileRequestInfo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/service/files-storage-client.service.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n param\n \n FileRequestInfo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacyLogger } from '@src/core/logger';\nimport { CopyFileDto, FileDto } from '../dto';\nimport { FileRequestInfo } from '../interfaces';\nimport { CopyFilesRequestInfo } from '../interfaces/copy-file-request-info';\nimport { FilesStorageClientMapper } from '../mapper';\nimport { FilesStorageProducer } from './files-storage.producer';\n\n@Injectable()\nexport class FilesStorageClientAdapterService {\n\tconstructor(private logger: LegacyLogger, private readonly fileStorageMQProducer: FilesStorageProducer) {\n\t\tthis.logger.setContext(FilesStorageClientAdapterService.name);\n\t}\n\n\tasync copyFilesOfParent(param: CopyFilesRequestInfo): Promise {\n\t\tconst response = await this.fileStorageMQProducer.copyFilesOfParent(param);\n\t\tconst fileInfos = FilesStorageClientMapper.mapCopyFileListResponseToCopyFilesDto(response);\n\n\t\treturn fileInfos;\n\t}\n\n\tasync listFilesOfParent(param: FileRequestInfo): Promise {\n\t\tconst response = await this.fileStorageMQProducer.listFilesOfParent(param);\n\n\t\tconst fileInfos = FilesStorageClientMapper.mapfileRecordListResponseToDomainFilesDto(response);\n\n\t\treturn fileInfos;\n\t}\n\n\tasync deleteFilesOfParent(parentId: EntityId): Promise {\n\t\tconst response = await this.fileStorageMQProducer.deleteFilesOfParent(parentId);\n\n\t\tconst fileInfos = FilesStorageClientMapper.mapfileRecordListResponseToDomainFilesDto(response);\n\n\t\treturn fileInfos;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/FilesStorageClientConfig.html":{"url":"interfaces/FilesStorageClientConfig.html","title":"interface - FilesStorageClientConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n FilesStorageClientConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/interfaces/files-storage-client-config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT_COPY_API\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT_COPY_API\n \n \n \n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT_COPY_API: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface FilesStorageClientConfig {\n\tINCOMING_REQUEST_TIMEOUT_COPY_API: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FilesStorageClientMapper.html":{"url":"classes/FilesStorageClientMapper.html","title":"class - FilesStorageClientMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FilesStorageClientMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/mapper/files-storage-client.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapCopyFileListResponseToCopyFilesDto\n \n \n Static\n mapCopyFileResponseToCopyFileDto\n \n \n Static\n mapEntityToParentType\n \n \n Static\n mapfileRecordListResponseToDomainFilesDto\n \n \n Static\n mapFileRecordResponseToFileDto\n \n \n Static\n mapStringToParentType\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapCopyFileListResponseToCopyFilesDto\n \n \n \n \n \n \n \n mapCopyFileListResponseToCopyFilesDto(copyFileListResponse: CopyFileDomainObjectProps[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/mapper/files-storage-client.mapper.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n copyFileListResponse\n \n CopyFileDomainObjectProps[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CopyFileDto[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapCopyFileResponseToCopyFileDto\n \n \n \n \n \n \n \n mapCopyFileResponseToCopyFileDto(response: CopyFileDomainObjectProps)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/mapper/files-storage-client.mapper.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n CopyFileDomainObjectProps\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapEntityToParentType\n \n \n \n \n \n \n \n mapEntityToParentType(entity: EntitiesWithFiles)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/mapper/files-storage-client.mapper.ts:62\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n EntitiesWithFiles\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileRecordParentType\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapfileRecordListResponseToDomainFilesDto\n \n \n \n \n \n \n \n mapfileRecordListResponseToDomainFilesDto(fileRecordListResponse: FileDomainObjectProps[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/mapper/files-storage-client.mapper.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileRecordListResponse\n \n FileDomainObjectProps[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileDto[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapFileRecordResponseToFileDto\n \n \n \n \n \n \n \n mapFileRecordResponseToFileDto(fileRecordResponse: FileDomainObjectProps)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/mapper/files-storage-client.mapper.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileRecordResponse\n \n FileDomainObjectProps\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapStringToParentType\n \n \n \n \n \n \n \n mapStringToParentType(input: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/mapper/files-storage-client.mapper.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n input\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileRecordParentType\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { FileRecordParentType } from '@infra/rabbitmq';\nimport { LessonEntity, Submission, Task } from '@shared/domain/entity';\nimport { CopyFileDto, FileDto } from '../dto';\nimport { CopyFileDomainObjectProps, EntitiesWithFiles, FileDomainObjectProps } from '../interfaces';\n\nexport class FilesStorageClientMapper {\n\tstatic mapfileRecordListResponseToDomainFilesDto(fileRecordListResponse: FileDomainObjectProps[]): FileDto[] {\n\t\tconst filesDto = fileRecordListResponse.map((record: FileDomainObjectProps) => {\n\t\t\tconst fileDto = FilesStorageClientMapper.mapFileRecordResponseToFileDto(record);\n\n\t\t\treturn fileDto;\n\t\t});\n\n\t\treturn filesDto;\n\t}\n\n\tstatic mapCopyFileListResponseToCopyFilesDto(copyFileListResponse: CopyFileDomainObjectProps[]): CopyFileDto[] {\n\t\tconst filesDto = copyFileListResponse.map((response) => {\n\t\t\tconst fileDto = FilesStorageClientMapper.mapCopyFileResponseToCopyFileDto(response);\n\n\t\t\treturn fileDto;\n\t\t});\n\n\t\treturn filesDto;\n\t}\n\n\tstatic mapFileRecordResponseToFileDto(fileRecordResponse: FileDomainObjectProps) {\n\t\tconst parentType = FilesStorageClientMapper.mapStringToParentType(fileRecordResponse.parentType);\n\t\tconst fileDto = new FileDto({\n\t\t\tid: fileRecordResponse.id,\n\t\t\tname: fileRecordResponse.name,\n\t\t\tparentType,\n\t\t\tparentId: fileRecordResponse.parentId,\n\t\t});\n\n\t\treturn fileDto;\n\t}\n\n\tstatic mapCopyFileResponseToCopyFileDto(response: CopyFileDomainObjectProps) {\n\t\tconst dto = new CopyFileDto({\n\t\t\tid: response.id,\n\t\t\tsourceId: response.sourceId,\n\t\t\tname: response.name,\n\t\t});\n\n\t\treturn dto;\n\t}\n\n\tstatic mapStringToParentType(input: string): FileRecordParentType {\n\t\tlet response: FileRecordParentType;\n\t\tconst allowedStrings = Object.values(FileRecordParentType);\n\n\t\tif (allowedStrings.includes(input as FileRecordParentType)) {\n\t\t\tresponse = input as FileRecordParentType;\n\t\t} else {\n\t\t\tthrow new Error(`Mapping type is not supported. ${input}`);\n\t\t}\n\n\t\treturn response;\n\t}\n\n\tstatic mapEntityToParentType(entity: EntitiesWithFiles): FileRecordParentType {\n\t\tif (entity instanceof LessonEntity) return FileRecordParentType.Lesson;\n\n\t\tif (entity instanceof Task) return FileRecordParentType.Task;\n\n\t\tif (entity instanceof Submission) return FileRecordParentType.Submission;\n\n\t\tthrow new Error(`Mapping type is not supported.`);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/FilesStorageClientModule.html":{"url":"modules/FilesStorageClientModule.html","title":"module - FilesStorageClientModule","body":"\n \n\n\n\n\n Modules\n FilesStorageClientModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_FilesStorageClientModule\n\n\n\ncluster_FilesStorageClientModule_imports\n\n\n\ncluster_FilesStorageClientModule_exports\n\n\n\ncluster_FilesStorageClientModule_providers\n\n\n\n\nCopyHelperModule\n\nCopyHelperModule\n\n\n\nFilesStorageClientModule\n\nFilesStorageClientModule\n\nFilesStorageClientModule -->\n\nCopyHelperModule->FilesStorageClientModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nFilesStorageClientModule -->\n\nLoggerModule->FilesStorageClientModule\n\n\n\n\n\nCopyFilesService \n\nCopyFilesService \n\nCopyFilesService -->\n\nFilesStorageClientModule->CopyFilesService \n\n\n\n\n\nFilesStorageClientAdapterService \n\nFilesStorageClientAdapterService \n\nFilesStorageClientAdapterService -->\n\nFilesStorageClientModule->FilesStorageClientAdapterService \n\n\n\n\n\nCopyFilesService\n\nCopyFilesService\n\nFilesStorageClientModule -->\n\nCopyFilesService->FilesStorageClientModule\n\n\n\n\n\nFilesStorageClientAdapterService\n\nFilesStorageClientAdapterService\n\nFilesStorageClientModule -->\n\nFilesStorageClientAdapterService->FilesStorageClientModule\n\n\n\n\n\nFilesStorageProducer\n\nFilesStorageProducer\n\nFilesStorageClientModule -->\n\nFilesStorageProducer->FilesStorageClientModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/files-storage-client/files-storage-client.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n CopyFilesService\n \n \n FilesStorageClientAdapterService\n \n \n FilesStorageProducer\n \n \n \n \n Imports\n \n \n CopyHelperModule\n \n \n LoggerModule\n \n \n \n \n Exports\n \n \n CopyFilesService\n \n \n FilesStorageClientAdapterService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { CopyHelperModule } from '@modules/copy-helper';\nimport { CopyFilesService } from './service/copy-files.service';\nimport { FilesStorageClientAdapterService } from './service/files-storage-client.service';\nimport { FilesStorageProducer } from './service/files-storage.producer';\n\n@Module({\n\timports: [LoggerModule, CopyHelperModule],\n\tproviders: [FilesStorageClientAdapterService, CopyFilesService, FilesStorageProducer],\n\texports: [FilesStorageClientAdapterService, CopyFilesService],\n})\nexport class FilesStorageClientModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FilesStorageConsumer.html":{"url":"injectables/FilesStorageConsumer.html","title":"injectable - FilesStorageConsumer","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FilesStorageConsumer\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/files-storage.consumer.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n Public\n Async\n copyFilesOfParent\n \n \n \n \n Public\n Async\n deleteFilesOfParent\n \n \n \n \n Public\n Async\n getFilesOfParent\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(filesStorageService: FilesStorageService, previewService: PreviewService, logger: LegacyLogger, orm: MikroORM)\n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/files-storage.consumer.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filesStorageService\n \n \n FilesStorageService\n \n \n \n No\n \n \n \n \n previewService\n \n \n PreviewService\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n orm\n \n \n MikroORM\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n Public\n Async\n copyFilesOfParent\n \n \n \n \n \n \n \n copyFilesOfParent(payload: CopyFilesOfParentPayload)\n \n \n\n \n \n Decorators : \n \n @RabbitRPC({exchange: FilesStorageExchange, routingKey: undefined, queue: undefined})@UseRequestContext()\n \n \n\n \n \n Defined in apps/server/src/modules/files-storage/controller/files-storage.consumer.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n payload\n \n CopyFilesOfParentPayload\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n deleteFilesOfParent\n \n \n \n \n \n \n \n deleteFilesOfParent(payload: EntityId)\n \n \n\n \n \n Decorators : \n \n @RabbitRPC({exchange: FilesStorageExchange, routingKey: undefined, queue: undefined})@UseRequestContext()\n \n \n\n \n \n Defined in apps/server/src/modules/files-storage/controller/files-storage.consumer.ts:63\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n payload\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getFilesOfParent\n \n \n \n \n \n \n \n getFilesOfParent(payload: FileRecordParams)\n \n \n\n \n \n Decorators : \n \n @RabbitRPC({exchange: FilesStorageExchange, routingKey: undefined, queue: undefined})@UseRequestContext()\n \n \n\n \n \n Defined in apps/server/src/modules/files-storage/controller/files-storage.consumer.ts:48\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n payload\n \n FileRecordParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { RabbitPayload, RabbitRPC } from '@golevelup/nestjs-rabbitmq';\nimport { CopyFileDO, FileDO, FilesStorageEvents, FilesStorageExchange } from '@infra/rabbitmq';\nimport { RpcMessage } from '@infra/rabbitmq/rpc-message';\nimport { MikroORM, UseRequestContext } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacyLogger } from '@src/core/logger';\nimport { FilesStorageMapper } from '../mapper';\nimport { FilesStorageService } from '../service/files-storage.service';\nimport { PreviewService } from '../service/preview.service';\nimport { CopyFilesOfParentPayload, FileRecordParams } from './dto';\n\n@Injectable()\nexport class FilesStorageConsumer {\n\tconstructor(\n\t\tprivate readonly filesStorageService: FilesStorageService,\n\t\tprivate readonly previewService: PreviewService,\n\t\tprivate logger: LegacyLogger,\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\tprivate readonly orm: MikroORM // don't remove it, we need it for @UseRequestContext\n\t) {\n\t\tthis.logger.setContext(FilesStorageConsumer.name);\n\t}\n\n\t@RabbitRPC({\n\t\texchange: FilesStorageExchange,\n\t\troutingKey: FilesStorageEvents.COPY_FILES_OF_PARENT,\n\t\tqueue: FilesStorageEvents.COPY_FILES_OF_PARENT,\n\t})\n\t@UseRequestContext()\n\tpublic async copyFilesOfParent(\n\t\t@RabbitPayload() payload: CopyFilesOfParentPayload\n\t): Promise> {\n\t\tthis.logger.debug({ action: 'copyFilesOfParent', payload });\n\n\t\tconst { userId, source, target } = payload;\n\t\tconst [response] = await this.filesStorageService.copyFilesOfParent(userId, source, { target });\n\n\t\treturn { message: response };\n\t}\n\n\t@RabbitRPC({\n\t\texchange: FilesStorageExchange,\n\t\troutingKey: FilesStorageEvents.LIST_FILES_OF_PARENT,\n\t\tqueue: FilesStorageEvents.LIST_FILES_OF_PARENT,\n\t})\n\t@UseRequestContext()\n\tpublic async getFilesOfParent(@RabbitPayload() payload: FileRecordParams): Promise> {\n\t\tthis.logger.debug({ action: 'getFilesOfParent', payload });\n\n\t\tconst [fileRecords, total] = await this.filesStorageService.getFileRecordsOfParent(payload.parentId);\n\t\tconst response = FilesStorageMapper.mapToFileRecordListResponse(fileRecords, total);\n\n\t\treturn { message: response.data };\n\t}\n\n\t@RabbitRPC({\n\t\texchange: FilesStorageExchange,\n\t\troutingKey: FilesStorageEvents.DELETE_FILES_OF_PARENT,\n\t\tqueue: FilesStorageEvents.DELETE_FILES_OF_PARENT,\n\t})\n\t@UseRequestContext()\n\tpublic async deleteFilesOfParent(@RabbitPayload() payload: EntityId): Promise> {\n\t\tthis.logger.debug({ action: 'deleteFilesOfParent', payload });\n\n\t\tconst [fileRecords, total] = await this.filesStorageService.getFileRecordsOfParent(payload);\n\n\t\tawait this.previewService.deletePreviews(fileRecords);\n\t\tawait this.filesStorageService.deleteFilesOfParent(fileRecords);\n\n\t\tconst response = FilesStorageMapper.mapToFileRecordListResponse(fileRecords, total);\n\n\t\treturn { message: response.data };\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FilesStorageMapper.html":{"url":"classes/FilesStorageMapper.html","title":"class - FilesStorageMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FilesStorageMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/mapper/files-storage.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapFileRecordToFileRecordParams\n \n \n Static\n mapToAllowedAuthorizationEntityType\n \n \n Static\n mapToFileRecordListResponse\n \n \n Static\n mapToFileRecordResponse\n \n \n Static\n mapToSingleFileParams\n \n \n Static\n mapToStreamableFile\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapFileRecordToFileRecordParams\n \n \n \n \n \n \n \n mapFileRecordToFileRecordParams(fileRecord: FileRecord)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/files-storage.mapper.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileRecord\n \n FileRecord\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileRecordParams\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToAllowedAuthorizationEntityType\n \n \n \n \n \n \n \n mapToAllowedAuthorizationEntityType(type: FileRecordParentType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/files-storage.mapper.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n FileRecordParentType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AuthorizableReferenceType\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToFileRecordListResponse\n \n \n \n \n \n \n \n mapToFileRecordListResponse(fileRecords: FileRecord[], total: number, skip?: number, limit?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/files-storage.mapper.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileRecords\n \n FileRecord[]\n \n\n \n No\n \n\n\n \n \n total\n \n number\n \n\n \n No\n \n\n\n \n \n skip\n \n number\n \n\n \n Yes\n \n\n\n \n \n limit\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : FileRecordListResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToFileRecordResponse\n \n \n \n \n \n \n \n mapToFileRecordResponse(fileRecord: FileRecord)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/files-storage.mapper.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileRecord\n \n FileRecord\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FileRecordResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToSingleFileParams\n \n \n \n \n \n \n \n mapToSingleFileParams(params: DownloadFileParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/files-storage.mapper.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DownloadFileParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SingleFileParams\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToStreamableFile\n \n \n \n \n \n \n \n mapToStreamableFile(fileResponse: GetFileResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/files-storage.mapper.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileResponse\n \n GetFileResponse\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : StreamableFile\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { NotImplementedException, StreamableFile } from '@nestjs/common';\nimport { AuthorizableReferenceType } from '@modules/authorization/domain';\nimport { plainToClass } from 'class-transformer';\nimport {\n\tDownloadFileParams,\n\tFileRecordListResponse,\n\tFileRecordParams,\n\tFileRecordResponse,\n\tSingleFileParams,\n} from '../controller/dto';\nimport { FileRecord, FileRecordParentType } from '../entity';\nimport { GetFileResponse } from '../interface';\n\nexport class FilesStorageMapper {\n\tstatic mapToAllowedAuthorizationEntityType(type: FileRecordParentType): AuthorizableReferenceType {\n\t\tconst types: Map = new Map();\n\t\ttypes.set(FileRecordParentType.Task, AuthorizableReferenceType.Task);\n\t\ttypes.set(FileRecordParentType.Course, AuthorizableReferenceType.Course);\n\t\ttypes.set(FileRecordParentType.User, AuthorizableReferenceType.User);\n\t\ttypes.set(FileRecordParentType.School, AuthorizableReferenceType.School);\n\t\ttypes.set(FileRecordParentType.Lesson, AuthorizableReferenceType.Lesson);\n\t\ttypes.set(FileRecordParentType.Submission, AuthorizableReferenceType.Submission);\n\t\ttypes.set(FileRecordParentType.BoardNode, AuthorizableReferenceType.BoardNode);\n\n\t\tconst res = types.get(type);\n\n\t\tif (!res) {\n\t\t\tthrow new NotImplementedException();\n\t\t}\n\t\treturn res;\n\t}\n\n\tstatic mapToSingleFileParams(params: DownloadFileParams): SingleFileParams {\n\t\tconst singleFileParams = { fileRecordId: params.fileRecordId };\n\n\t\treturn singleFileParams;\n\t}\n\n\tstatic mapFileRecordToFileRecordParams(fileRecord: FileRecord): FileRecordParams {\n\t\tconst fileRecordParams = plainToClass(FileRecordParams, {\n\t\t\tschoolId: fileRecord.schoolId,\n\t\t\tparentId: fileRecord.parentId,\n\t\t\tparentType: fileRecord.parentType,\n\t\t});\n\n\t\treturn fileRecordParams;\n\t}\n\n\tstatic mapToFileRecordResponse(fileRecord: FileRecord): FileRecordResponse {\n\t\treturn new FileRecordResponse(fileRecord);\n\t}\n\n\tstatic mapToFileRecordListResponse(\n\t\tfileRecords: FileRecord[],\n\t\ttotal: number,\n\t\tskip?: number,\n\t\tlimit?: number\n\t): FileRecordListResponse {\n\t\tconst responseFileRecords = fileRecords.map((fileRecord) => FilesStorageMapper.mapToFileRecordResponse(fileRecord));\n\n\t\tconst response = new FileRecordListResponse(responseFileRecords, total, skip, limit);\n\t\treturn response;\n\t}\n\n\tstatic mapToStreamableFile(fileResponse: GetFileResponse): StreamableFile {\n\t\tconst streamableFile = new StreamableFile(fileResponse.data, {\n\t\t\ttype: fileResponse.contentType,\n\t\t\tdisposition: `inline; filename=\"${encodeURI(fileResponse.name)}\"`,\n\t\t\tlength: fileResponse.contentLength,\n\t\t});\n\n\t\treturn streamableFile;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/FilesStorageModule.html":{"url":"modules/FilesStorageModule.html","title":"module - FilesStorageModule","body":"\n \n\n\n\n\n Modules\n FilesStorageModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_FilesStorageModule\n\n\n\ncluster_FilesStorageModule_providers\n\n\n\ncluster_FilesStorageModule_exports\n\n\n\ncluster_FilesStorageModule_imports\n\n\n\n\nRabbitMQWrapperModule\n\nRabbitMQWrapperModule\n\n\n\nFilesStorageModule\n\nFilesStorageModule\n\nFilesStorageModule -->\n\nRabbitMQWrapperModule->FilesStorageModule\n\n\n\n\n\nFilesStorageService \n\nFilesStorageService \n\nFilesStorageService -->\n\nFilesStorageModule->FilesStorageService \n\n\n\n\n\nPreviewService \n\nPreviewService \n\nPreviewService -->\n\nFilesStorageModule->PreviewService \n\n\n\n\n\nFileRecordRepo\n\nFileRecordRepo\n\nFilesStorageModule -->\n\nFileRecordRepo->FilesStorageModule\n\n\n\n\n\nFilesStorageService\n\nFilesStorageService\n\nFilesStorageModule -->\n\nFilesStorageService->FilesStorageModule\n\n\n\n\n\nPreviewService\n\nPreviewService\n\nFilesStorageModule -->\n\nPreviewService->FilesStorageModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/files-storage/files-storage.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n FileRecordRepo\n \n \n FilesStorageService\n \n \n PreviewService\n \n \n \n \n Imports\n \n \n RabbitMQWrapperModule\n \n \n \n \n Exports\n \n \n FilesStorageService\n \n \n PreviewService\n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\nimport { AntivirusModule } from '@infra/antivirus';\nimport { PreviewGeneratorProducerModule } from '@infra/preview-generator';\nimport { RabbitMQWrapperModule } from '@infra/rabbitmq';\nimport { S3ClientModule } from '@infra/s3-client';\nimport { Dictionary, IPrimaryKey } from '@mikro-orm/core';\nimport { MikroOrmModule, MikroOrmModuleSyncOptions } from '@mikro-orm/nestjs';\nimport { Module, NotFoundException } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { ALL_ENTITIES } from '@shared/domain/entity';\nimport { DB_PASSWORD, DB_URL, DB_USERNAME, createConfigModuleOptions } from '@src/config';\nimport { LoggerModule } from '@src/core/logger';\nimport { FileRecord, FileRecordSecurityCheck } from './entity';\nimport { config, s3Config } from './files-storage.config';\nimport { FileRecordRepo } from './repo';\nimport { FilesStorageService, PreviewService } from './service';\n\nconst imports = [\n\tLoggerModule,\n\tConfigModule.forRoot(createConfigModuleOptions(config)),\n\tAntivirusModule.forRoot({\n\t\tenabled: Configuration.get('ENABLE_FILE_SECURITY_CHECK') as boolean,\n\t\tfilesServiceBaseUrl: Configuration.get('FILES_STORAGE__SERVICE_BASE_URL') as string,\n\t\texchange: Configuration.get('ANTIVIRUS_EXCHANGE') as string,\n\t\troutingKey: Configuration.get('ANTIVIRUS_ROUTING_KEY') as string,\n\t\thostname: Configuration.get('CLAMAV__SERVICE_HOSTNAME') as string,\n\t\tport: Configuration.get('CLAMAV__SERVICE_PORT') as number,\n\t}),\n\tS3ClientModule.register([s3Config]),\n\tPreviewGeneratorProducerModule,\n];\nconst providers = [FilesStorageService, PreviewService, FileRecordRepo];\n\nconst defaultMikroOrmOptions: MikroOrmModuleSyncOptions = {\n\tfindOneOrFailHandler: (entityName: string, where: Dictionary | IPrimaryKey) =>\n\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\tnew NotFoundException(`The requested ${entityName}: ${where} has not been found.`),\n};\n\n@Module({\n\timports: [\n\t\t...imports,\n\t\tRabbitMQWrapperModule,\n\t\tMikroOrmModule.forRoot({\n\t\t\t...defaultMikroOrmOptions,\n\t\t\ttype: 'mongo',\n\t\t\t// TODO add mongoose options as mongo options (see database.js)\n\t\t\tclientUrl: DB_URL,\n\t\t\tpassword: DB_PASSWORD,\n\t\t\tuser: DB_USERNAME,\n\t\t\tentities: [...ALL_ENTITIES, FileRecord, FileRecordSecurityCheck],\n\n\t\t\t// debug: true, // use it for locally debugging of querys\n\t\t}),\n\t],\n\tproviders,\n\texports: [FilesStorageService, PreviewService],\n})\nexport class FilesStorageModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FilesStorageProducer.html":{"url":"injectables/FilesStorageProducer.html","title":"injectable - FilesStorageProducer","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FilesStorageProducer\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage-client/service/files-storage.producer.ts\n \n\n\n\n \n Extends\n \n \n RpcMessageProducer\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n copyFilesOfParent\n \n \n Async\n deleteFilesOfParent\n \n \n Async\n listFilesOfParent\n \n \n Protected\n checkError\n \n \n Protected\n createRequest\n \n \n Protected\n Async\n request\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(amqpConnection: AmqpConnection, logger: LegacyLogger, configService: ConfigService)\n \n \n \n \n Defined in apps/server/src/modules/files-storage-client/service/files-storage.producer.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n amqpConnection\n \n \n AmqpConnection\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n copyFilesOfParent\n \n \n \n \n \n \n \n copyFilesOfParent(payload: CopyFilesOfParentParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/service/files-storage.producer.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n payload\n \n CopyFilesOfParentParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteFilesOfParent\n \n \n \n \n \n \n \n deleteFilesOfParent(payload: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/service/files-storage.producer.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n payload\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n listFilesOfParent\n \n \n \n \n \n \n \n listFilesOfParent(payload: FileRecordParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage-client/service/files-storage.producer.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n payload\n \n FileRecordParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n checkError\n \n \n \n \n \n \n \n checkError(response: RpcMessage)\n \n \n\n\n \n \n Inherited from RpcMessageProducer\n\n \n \n \n \n Defined in RpcMessageProducer:21\n\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n RpcMessage\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n createRequest\n \n \n \n \n \n \n \n createRequest(event: string, payload)\n \n \n\n\n \n \n Inherited from RpcMessageProducer\n\n \n \n \n \n Defined in RpcMessageProducer:29\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n event\n \n string\n \n\n \n No\n \n\n\n \n \n payload\n \n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : { exchange: string; routingKey: string; payload: unknown; timeout: number; }\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n request\n \n \n \n \n \n \n \n request(event: string, payload)\n \n \n\n\n \n \n Inherited from RpcMessageProducer\n\n \n \n \n \n Defined in RpcMessageProducer:12\n\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n event\n \n string\n \n\n \n No\n \n\n\n \n \n payload\n \n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AmqpConnection } from '@golevelup/nestjs-rabbitmq';\nimport {\n\tCopyFileDO,\n\tCopyFilesOfParentParams,\n\tFileDO,\n\tFileRecordParams,\n\tFilesStorageEvents,\n\tFilesStorageExchange,\n\tRpcMessageProducer,\n} from '@infra/rabbitmq';\nimport { Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacyLogger } from '@src/core/logger';\nimport { FilesStorageClientConfig } from '../interfaces';\n\n@Injectable()\nexport class FilesStorageProducer extends RpcMessageProducer {\n\tconstructor(\n\t\tprotected readonly amqpConnection: AmqpConnection,\n\t\tprivate readonly logger: LegacyLogger,\n\t\tprotected readonly configService: ConfigService\n\t) {\n\t\tsuper(amqpConnection, FilesStorageExchange, configService.get('INCOMING_REQUEST_TIMEOUT_COPY_API'));\n\t\tthis.logger.setContext(FilesStorageProducer.name);\n\t}\n\n\tasync copyFilesOfParent(payload: CopyFilesOfParentParams): Promise {\n\t\tthis.logger.debug({ action: 'copyFilesOfParent:started', payload });\n\t\tconst response = await this.request(FilesStorageEvents.COPY_FILES_OF_PARENT, payload);\n\n\t\tthis.logger.debug({ action: 'copyFilesOfParent:finished', payload });\n\n\t\treturn response;\n\t}\n\n\tasync listFilesOfParent(payload: FileRecordParams): Promise {\n\t\tthis.logger.debug({ action: 'listFilesOfParent:started', payload });\n\t\tconst response = await this.request(FilesStorageEvents.LIST_FILES_OF_PARENT, payload);\n\n\t\tthis.logger.debug({ action: 'listFilesOfParent:finished', payload });\n\n\t\treturn response;\n\t}\n\n\tasync deleteFilesOfParent(payload: EntityId): Promise {\n\t\tthis.logger.debug({ action: 'deleteFilesOfParent:started', payload });\n\t\tconst response = await this.request(FilesStorageEvents.DELETE_FILES_OF_PARENT, payload);\n\n\t\tthis.logger.debug({ action: 'deleteFilesOfParent:finished', payload });\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/FilesStorageTestModule.html":{"url":"modules/FilesStorageTestModule.html","title":"module - FilesStorageTestModule","body":"\n \n\n\n\n\n Modules\n FilesStorageTestModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_FilesStorageTestModule\n\n\n\ncluster_FilesStorageTestModule_imports\n\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\n\n\nFilesStorageTestModule\n\nFilesStorageTestModule\n\nFilesStorageTestModule -->\n\nAuthenticationModule->FilesStorageTestModule\n\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\nFilesStorageTestModule -->\n\nAuthorizationModule->FilesStorageTestModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nFilesStorageTestModule -->\n\nCoreModule->FilesStorageTestModule\n\n\n\n\n\nFilesStorageApiModule\n\nFilesStorageApiModule\n\nFilesStorageTestModule -->\n\nFilesStorageApiModule->FilesStorageTestModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nFilesStorageTestModule -->\n\nLoggerModule->FilesStorageTestModule\n\n\n\n\n\nMongoMemoryDatabaseModule\n\nMongoMemoryDatabaseModule\n\nFilesStorageTestModule -->\n\nMongoMemoryDatabaseModule->FilesStorageTestModule\n\n\n\n\n\nRabbitMQWrapperTestModule\n\nRabbitMQWrapperTestModule\n\nFilesStorageTestModule -->\n\nRabbitMQWrapperTestModule->FilesStorageTestModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/files-storage/files-storage-test.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n AuthenticationModule\n \n \n AuthorizationModule\n \n \n CoreModule\n \n \n FilesStorageApiModule\n \n \n LoggerModule\n \n \n MongoMemoryDatabaseModule\n \n \n RabbitMQWrapperTestModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options?: MongoDatabaseModuleOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/files-storage-test.module.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n MongoDatabaseModuleOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { DynamicModule, Module } from '@nestjs/common';\n\nimport { MongoDatabaseModuleOptions, MongoMemoryDatabaseModule } from '@infra/database';\nimport { RabbitMQWrapperTestModule } from '@infra/rabbitmq';\nimport { AuthenticationModule } from '@modules/authentication';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { ALL_ENTITIES } from '@shared/domain/entity';\nimport { CoreModule } from '@src/core';\nimport { LoggerModule } from '@src/core/logger';\nimport { FileRecord } from './entity';\nimport { FilesStorageApiModule } from './files-storage-api.module';\n\nconst imports = [\n\tFilesStorageApiModule,\n\tMongoMemoryDatabaseModule.forRoot({ entities: [...ALL_ENTITIES, FileRecord] }),\n\tRabbitMQWrapperTestModule,\n\tAuthorizationModule,\n\tAuthenticationModule,\n\tCoreModule,\n\tLoggerModule,\n];\nconst controllers = [];\nconst providers = [];\n@Module({\n\timports,\n\tcontrollers,\n\tproviders,\n})\nexport class FilesStorageTestModule {\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: FilesStorageTestModule,\n\t\t\timports: [...imports, MongoMemoryDatabaseModule.forRoot({ ...options })],\n\t\t\tcontrollers,\n\t\t\tproviders,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FilterImportUserParams.html":{"url":"classes/FilterImportUserParams.html","title":"class - FilterImportUserParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FilterImportUserParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/controller/dto/filter-import-user.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n classes\n \n \n \n \n \n \n Optional\n firstName\n \n \n \n \n \n Optional\n flagged\n \n \n \n \n \n \n Optional\n lastName\n \n \n \n \n \n \n Optional\n loginName\n \n \n \n \n \n \n \n Optional\n match\n \n \n \n \n \n Optional\n role\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n classes\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()@IsNotEmpty()@ApiPropertyOptional({type: String})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/filter-import-user.params.ts:54\n \n \n\n \n \n filter available classes for contains\n\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()@IsOptional()@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/filter-import-user.params.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n flagged\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()@IsOptional()@IsBoolean()\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/filter-import-user.params.ts:45\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()@IsOptional()@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/filter-import-user.params.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n loginName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()@IsOptional()@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/filter-import-user.params.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n match\n \n \n \n \n \n \n Type : FilterMatchType[]\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({enum: FilterMatchType, isArray: true})@IsOptional()@IsEnum(FilterMatchType, {each: true})@SingleValueToArrayTransformer()@IsArray()\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/filter-import-user.params.ts:40\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n role\n \n \n \n \n \n \n Type : FilterRoleType\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsEnum(FilterRoleType)@ApiPropertyOptional({enum: FilterRoleType})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/filter-import-user.params.ts:59\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { SingleValueToArrayTransformer } from '@shared/controller';\nimport { IsArray, IsBoolean, IsEnum, IsNotEmpty, IsOptional, IsString } from 'class-validator';\n\nexport enum FilterMatchType {\n\tAUTO = 'auto',\n\tMANUAL = 'admin',\n\tNONE = 'none',\n}\nexport enum FilterRoleType {\n\tSTUDENT = 'student',\n\tTEACHER = 'teacher',\n\tADMIN = 'admin',\n}\n\nexport class FilterImportUserParams {\n\t@ApiPropertyOptional()\n\t@IsOptional()\n\t@IsString()\n\t@IsNotEmpty()\n\tfirstName?: string;\n\n\t@ApiPropertyOptional()\n\t@IsOptional()\n\t@IsString()\n\t@IsNotEmpty()\n\tlastName?: string;\n\n\t@ApiPropertyOptional()\n\t@IsOptional()\n\t@IsString()\n\t@IsNotEmpty()\n\tloginName?: string;\n\n\t@ApiPropertyOptional({ enum: FilterMatchType, isArray: true })\n\t@IsOptional()\n\t@IsEnum(FilterMatchType, { each: true })\n\t@SingleValueToArrayTransformer()\n\t@IsArray()\n\tmatch?: FilterMatchType[];\n\n\t@ApiPropertyOptional()\n\t@IsOptional()\n\t@IsBoolean()\n\tflagged?: boolean;\n\n\t/**\n\t * filter available classes for contains\n\t */\n\t@IsOptional()\n\t@IsString()\n\t@IsNotEmpty()\n\t@ApiPropertyOptional({ type: String })\n\tclasses?: string;\n\n\t@IsOptional()\n\t@IsEnum(FilterRoleType)\n\t@ApiPropertyOptional({ enum: FilterRoleType })\n\trole?: FilterRoleType;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FilterNewsParams.html":{"url":"classes/FilterNewsParams.html","title":"class - FilterNewsParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FilterNewsParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/dto/filter-news.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n targetId\n \n \n \n \n \n \n Optional\n targetModel\n \n \n \n \n \n \n Optional\n unpublished\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n targetId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsMongoId()@ApiPropertyOptional({pattern: '[a-f0-9]{24}', description: 'Specific target id to which the news are related (works only together with targetModel)'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/filter-news.params.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n targetModel\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()@IsEnum(NewsTargetModel)@ApiPropertyOptional({enum: NewsTargetModel, description: 'Target model to which the news are related'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/filter-news.params.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n unpublished\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsBoolean()@StringToBoolean()@ApiPropertyOptional({description: 'Flag that filters if the news should be published or not'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/filter-news.params.ts:30\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller/transformer';\nimport { NewsTargetModel } from '@shared/domain/types';\nimport { IsBoolean, IsEnum, IsMongoId, IsOptional, IsString } from 'class-validator';\n\nexport class FilterNewsParams {\n\t@IsOptional()\n\t@IsString()\n\t@IsEnum(NewsTargetModel)\n\t@ApiPropertyOptional({\n\t\tenum: NewsTargetModel,\n\t\tdescription: 'Target model to which the news are related',\n\t})\n\ttargetModel?: string;\n\n\t@IsOptional()\n\t@IsMongoId()\n\t@ApiPropertyOptional({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'Specific target id to which the news are related (works only together with targetModel)',\n\t})\n\ttargetId?: string;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'Flag that filters if the news should be published or not',\n\t})\n\tunpublished?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/FilterUserParams.html":{"url":"classes/FilterUserParams.html","title":"class - FilterUserParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n FilterUserParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/controller/dto/filter-user.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()@IsOptional()@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/filter-user.params.ts:12\n \n \n\n \n \n filter firstname or lastname for given value\n\n \n \n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsNotEmpty, IsOptional, IsString } from 'class-validator';\n\nexport class FilterUserParams {\n\t/**\n\t * filter firstname or lastname for given value\n\t */\n\t@ApiPropertyOptional()\n\t@IsOptional()\n\t@IsString()\n\t@IsNotEmpty()\n\tname?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ForbiddenLoggableException.html":{"url":"classes/ForbiddenLoggableException.html","title":"class - ForbiddenLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ForbiddenLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/error/forbidden.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n ForbiddenException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userId: EntityId, entityName: string, context: AuthorizationContext)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/error/forbidden.loggable-exception.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n entityName\n \n \n string\n \n \n \n No\n \n \n \n \n context\n \n \n AuthorizationContext\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/error/forbidden.loggable-exception.ts:16\n \n \n\n\n \n \n\n \n Returns : ErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ForbiddenException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { Loggable } from '@src/core/logger/interfaces';\nimport { ErrorLogMessage } from '@src/core/logger/types';\nimport { AuthorizationContext } from '../type';\n\nexport class ForbiddenLoggableException extends ForbiddenException implements Loggable {\n\tconstructor(\n\t\tprivate readonly userId: EntityId,\n\t\tprivate readonly entityName: string,\n\t\tprivate readonly context: AuthorizationContext\n\t) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): ErrorLogMessage {\n\t\tconst message: ErrorLogMessage = {\n\t\t\ttype: 'FORBIDDEN_EXCEPTION',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tuserId: this.userId,\n\t\t\t\tentityName: this.entityName,\n\t\t\t\taction: this.context.action,\n\t\t\t\trequiredPermissions: this.context.requiredPermissions.join(','),\n\t\t\t},\n\t\t};\n\n\t\treturn message;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ForbiddenOperationError.html":{"url":"classes/ForbiddenOperationError.html","title":"class - ForbiddenOperationError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ForbiddenOperationError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/error/forbidden-operation.error.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(message?: string, details?: Record)\n \n \n \n \n Defined in apps/server/src/shared/common/error/forbidden-operation.error.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n \n string\n \n \n \n Yes\n \n \n \n \n details\n \n \n Record\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { BusinessError } from './business.error';\n\nexport class ForbiddenOperationError extends BusinessError {\n\tconstructor(message?: string, details?: Record) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'FORBIDDEN_OPERATION',\n\t\t\t\ttitle: 'Forbidden Operation Error',\n\t\t\t\tdefaultMessage: message ?? 'A forbidden operation error occurred.',\n\t\t\t},\n\t\t\tHttpStatus.FORBIDDEN,\n\t\t\tdetails\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/FwuLearningContentsController.html":{"url":"controllers/FwuLearningContentsController.html","title":"controller - FwuLearningContentsController","body":"\n \n\n\n\n\n\n\n Controllers\n FwuLearningContentsController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/fwu-learning-contents/controller/fwu-learning-contents.controller.ts\n \n\n \n Prefix\n \n \n fwu\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n get\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n get\n \n \n \n \n \n \n \n get(req: Request, res: Response, params: GetFwuLearningContentParams)\n \n \n\n \n \n Decorators : \n \n @Get('*/:fwuLearningContent')\n \n \n\n \n \n Defined in apps/server/src/modules/fwu-learning-contents/controller/fwu-learning-contents.controller.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n req\n \n Request\n \n\n \n No\n \n\n\n \n \n res\n \n Response\n \n\n \n No\n \n\n\n \n \n params\n \n GetFwuLearningContentParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport {\n\tController,\n\tGet,\n\tHttpStatus,\n\tInternalServerErrorException,\n\tParam,\n\tReq,\n\tRes,\n\tStreamableFile,\n} from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { Authenticate } from '@modules/authentication';\nimport { Request, Response } from 'express';\nimport { FwuLearningContentsUc } from '../uc/fwu-learning-contents.uc';\nimport { GetFwuLearningContentParams } from './dto/fwu-learning-contents.params';\n\n@ApiTags('fwu')\n@Authenticate('jwt')\n@Controller('fwu')\nexport class FwuLearningContentsController {\n\tconstructor(private readonly fwuLearningContentsUc: FwuLearningContentsUc) {}\n\n\t@Get('*/:fwuLearningContent')\n\tasync get(\n\t\t@Req() req: Request,\n\t\t@Res({ passthrough: true }) res: Response,\n\t\t@Param() params: GetFwuLearningContentParams\n\t): Promise {\n\t\tif (!Configuration.get('FEATURE_FWU_CONTENT_ENABLED')) {\n\t\t\tthrow new InternalServerErrorException('Feature FWU content is not enabled.');\n\t\t}\n\t\tconst bytesRange = req.header('Range');\n\t\tconst path = `${req.params[0]}/${params.fwuLearningContent}`;\n\t\tconst response = await this.fwuLearningContentsUc.get(path, bytesRange);\n\n\t\tif (bytesRange) {\n\t\t\tres.set({\n\t\t\t\t'Accept-Ranges': 'bytes',\n\t\t\t\t'Content-Range': response.contentRange,\n\t\t\t});\n\n\t\t\tres.status(HttpStatus.PARTIAL_CONTENT);\n\t\t} else {\n\t\t\tres.status(HttpStatus.OK);\n\t\t}\n\n\t\treq.on('close', () => response.data.destroy());\n\n\t\treturn new StreamableFile(response.data, {\n\t\t\ttype: response.contentType,\n\t\t\tdisposition: `inline; filename=\"${encodeURI(params.fwuLearningContent)}\"`,\n\t\t\tlength: response.contentLength,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/FwuLearningContentsModule.html":{"url":"modules/FwuLearningContentsModule.html","title":"module - FwuLearningContentsModule","body":"\n \n\n\n\n\n Modules\n FwuLearningContentsModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_FwuLearningContentsModule\n\n\n\ncluster_FwuLearningContentsModule_providers\n\n\n\ncluster_FwuLearningContentsModule_imports\n\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\n\n\nFwuLearningContentsModule\n\nFwuLearningContentsModule\n\nFwuLearningContentsModule -->\n\nAuthenticationModule->FwuLearningContentsModule\n\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\nFwuLearningContentsModule -->\n\nAuthorizationModule->FwuLearningContentsModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nFwuLearningContentsModule -->\n\nCoreModule->FwuLearningContentsModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nFwuLearningContentsModule -->\n\nLoggerModule->FwuLearningContentsModule\n\n\n\n\n\nRabbitMQWrapperModule\n\nRabbitMQWrapperModule\n\nFwuLearningContentsModule -->\n\nRabbitMQWrapperModule->FwuLearningContentsModule\n\n\n\n\n\nS3ClientModule\n\nS3ClientModule\n\nFwuLearningContentsModule -->\n\nS3ClientModule->FwuLearningContentsModule\n\n\n\n\n\nFwuLearningContentsUc\n\nFwuLearningContentsUc\n\nFwuLearningContentsModule -->\n\nFwuLearningContentsUc->FwuLearningContentsModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/fwu-learning-contents/fwu-learning-contents.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n FwuLearningContentsUc\n \n \n \n \n Controllers\n \n \n FwuLearningContentsController\n \n \n \n \n Imports\n \n \n AuthenticationModule\n \n \n AuthorizationModule\n \n \n CoreModule\n \n \n LoggerModule\n \n \n RabbitMQWrapperModule\n \n \n S3ClientModule\n \n \n \n \n \n\n\n \n\n\n \n import { RabbitMQWrapperModule } from '@infra/rabbitmq';\nimport { S3ClientModule } from '@infra/s3-client';\nimport { Dictionary, IPrimaryKey } from '@mikro-orm/core';\nimport { MikroOrmModule, MikroOrmModuleSyncOptions } from '@mikro-orm/nestjs';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { HttpModule } from '@nestjs/axios';\nimport { Module, NotFoundException } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { Account, Role, SchoolEntity, SchoolYearEntity, SystemEntity, User } from '@shared/domain/entity';\nimport { DB_PASSWORD, DB_URL, DB_USERNAME, createConfigModuleOptions } from '@src/config';\nimport { CoreModule } from '@src/core';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthenticationModule } from '../authentication/authentication.module';\nimport { FwuLearningContentsController } from './controller/fwu-learning-contents.controller';\nimport { config, s3Config } from './fwu-learning-contents.config';\nimport { FwuLearningContentsUc } from './uc/fwu-learning-contents.uc';\n\nconst defaultMikroOrmOptions: MikroOrmModuleSyncOptions = {\n\tfindOneOrFailHandler: (entityName: string, where: Dictionary | IPrimaryKey) =>\n\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\tnew NotFoundException(`The requested ${entityName}: ${where} has not been found.`),\n};\n\n@Module({\n\timports: [\n\t\tAuthorizationModule,\n\t\tAuthenticationModule,\n\t\tCoreModule,\n\t\tLoggerModule,\n\t\tHttpModule,\n\t\tRabbitMQWrapperModule,\n\t\tMikroOrmModule.forRoot({\n\t\t\t...defaultMikroOrmOptions,\n\t\t\ttype: 'mongo',\n\t\t\t// TODO add mongoose options as mongo options (see database.js)\n\t\t\tclientUrl: DB_URL,\n\t\t\tpassword: DB_PASSWORD,\n\t\t\tuser: DB_USERNAME,\n\t\t\tentities: [User, Account, Role, SchoolEntity, SystemEntity, SchoolYearEntity],\n\n\t\t\t// debug: true, // use it for locally debugging of querys\n\t\t}),\n\t\tConfigModule.forRoot(createConfigModuleOptions(config)),\n\t\tS3ClientModule.register([s3Config]),\n\t],\n\tcontrollers: [FwuLearningContentsController],\n\tproviders: [FwuLearningContentsUc],\n})\nexport class FwuLearningContentsModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/FwuLearningContentsTestModule.html":{"url":"modules/FwuLearningContentsTestModule.html","title":"module - FwuLearningContentsTestModule","body":"\n \n\n\n\n\n Modules\n FwuLearningContentsTestModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_FwuLearningContentsTestModule\n\n\n\ncluster_FwuLearningContentsTestModule_imports\n\n\n\ncluster_FwuLearningContentsTestModule_providers\n\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\n\n\nFwuLearningContentsTestModule\n\nFwuLearningContentsTestModule\n\nFwuLearningContentsTestModule -->\n\nAuthenticationModule->FwuLearningContentsTestModule\n\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\nFwuLearningContentsTestModule -->\n\nAuthorizationModule->FwuLearningContentsTestModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nFwuLearningContentsTestModule -->\n\nCoreModule->FwuLearningContentsTestModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nFwuLearningContentsTestModule -->\n\nLoggerModule->FwuLearningContentsTestModule\n\n\n\n\n\nMongoMemoryDatabaseModule\n\nMongoMemoryDatabaseModule\n\nFwuLearningContentsTestModule -->\n\nMongoMemoryDatabaseModule->FwuLearningContentsTestModule\n\n\n\n\n\nRabbitMQWrapperTestModule\n\nRabbitMQWrapperTestModule\n\nFwuLearningContentsTestModule -->\n\nRabbitMQWrapperTestModule->FwuLearningContentsTestModule\n\n\n\n\n\nS3ClientModule\n\nS3ClientModule\n\nFwuLearningContentsTestModule -->\n\nS3ClientModule->FwuLearningContentsTestModule\n\n\n\n\n\nFwuLearningContentsUc\n\nFwuLearningContentsUc\n\nFwuLearningContentsTestModule -->\n\nFwuLearningContentsUc->FwuLearningContentsTestModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/fwu-learning-contents/fwu-learning-contents-test.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n FwuLearningContentsUc\n \n \n \n \n Controllers\n \n \n FwuLearningContentsController\n \n \n \n \n Imports\n \n \n AuthenticationModule\n \n \n AuthorizationModule\n \n \n CoreModule\n \n \n LoggerModule\n \n \n MongoMemoryDatabaseModule\n \n \n RabbitMQWrapperTestModule\n \n \n S3ClientModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options?: MongoDatabaseModuleOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/fwu-learning-contents/fwu-learning-contents-test.module.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n MongoDatabaseModuleOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { MongoMemoryDatabaseModule } from '@infra/database';\nimport { MongoDatabaseModuleOptions } from '@infra/database/mongo-memory-database/types';\nimport { RabbitMQWrapperTestModule } from '@infra/rabbitmq';\nimport { S3ClientModule } from '@infra/s3-client';\nimport { AuthenticationModule } from '@modules/authentication/authentication.module';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { HttpModule } from '@nestjs/axios';\nimport { DynamicModule, Module } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { Account, Role, SchoolEntity, SchoolYearEntity, SystemEntity, User } from '@shared/domain/entity';\nimport { createConfigModuleOptions } from '@src/config';\nimport { CoreModule } from '@src/core';\nimport { LoggerModule } from '@src/core/logger';\nimport { FwuLearningContentsController } from './controller/fwu-learning-contents.controller';\nimport { config, s3Config } from './fwu-learning-contents.config';\nimport { FwuLearningContentsUc } from './uc/fwu-learning-contents.uc';\n\nconst imports = [\n\tMongoMemoryDatabaseModule.forRoot({ entities: [User, Account, Role, SchoolEntity, SystemEntity, SchoolYearEntity] }),\n\tAuthorizationModule,\n\tAuthenticationModule,\n\tConfigModule.forRoot(createConfigModuleOptions(config)),\n\tHttpModule,\n\tCoreModule,\n\tLoggerModule,\n\tRabbitMQWrapperTestModule,\n\tS3ClientModule.register([s3Config]),\n];\nconst controllers = [FwuLearningContentsController];\nconst providers = [FwuLearningContentsUc];\n@Module({\n\timports,\n\tcontrollers,\n\tproviders,\n})\nexport class FwuLearningContentsTestModule {\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: FwuLearningContentsTestModule,\n\t\t\timports: [...imports, MongoMemoryDatabaseModule.forRoot({ ...options })],\n\t\t\tcontrollers,\n\t\t\tproviders,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/FwuLearningContentsUc.html":{"url":"injectables/FwuLearningContentsUc.html","title":"injectable - FwuLearningContentsUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n FwuLearningContentsUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/fwu-learning-contents/uc/fwu-learning-contents.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n get\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: LegacyLogger, storageClient: S3ClientAdapter)\n \n \n \n \n Defined in apps/server/src/modules/fwu-learning-contents/uc/fwu-learning-contents.uc.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n storageClient\n \n \n S3ClientAdapter\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n get\n \n \n \n \n \n \n \n get(path: string, bytesRange?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/fwu-learning-contents/uc/fwu-learning-contents.uc.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n path\n \n string\n \n\n \n No\n \n\n\n \n \n bytesRange\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Inject, Injectable } from '@nestjs/common';\nimport { S3ClientAdapter } from '@infra/s3-client';\nimport { LegacyLogger } from '@src/core/logger';\nimport { FWU_CONTENT_S3_CONNECTION } from '../fwu-learning-contents.config';\n\n@Injectable()\nexport class FwuLearningContentsUc {\n\tconstructor(\n\t\tprivate logger: LegacyLogger,\n\t\t@Inject(FWU_CONTENT_S3_CONNECTION) private readonly storageClient: S3ClientAdapter\n\t) {\n\t\tthis.logger.setContext(FwuLearningContentsUc.name);\n\t}\n\n\tasync get(path: string, bytesRange?: string) {\n\t\tconst response = await this.storageClient.get(path, bytesRange);\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GetFile.html":{"url":"interfaces/GetFile.html","title":"interface - GetFile","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GetFile\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/s3-client/interface/index.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n contentLength\n \n \n \n Optional\n \n contentRange\n \n \n \n Optional\n \n contentType\n \n \n \n \n data\n \n \n \n Optional\n \n etag\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contentLength\n \n \n \n \n \n \n \n \n contentLength: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentRange\n \n \n \n \n \n \n \n \n contentRange: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentType\n \n \n \n \n \n \n \n \n contentType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: Readable\n\n \n \n\n\n \n \n Type : Readable\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n etag\n \n \n \n \n \n \n \n \n etag: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Readable } from 'stream';\n\nexport interface S3Config {\n\tconnectionName: string;\n\tendpoint: string;\n\tregion: string;\n\tbucket: string;\n\taccessKeyId: string;\n\tsecretAccessKey: string;\n}\n\nexport interface GetFile {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n}\n\nexport interface CopyFiles {\n\tsourcePath: string;\n\ttargetPath: string;\n}\n\nexport interface File {\n\tdata: Readable;\n\tmimeType: string;\n}\n\nexport interface ListFiles {\n\tpath: string;\n\tmaxKeys?: number;\n\tnextMarker?: string;\n\tfiles?: string[];\n}\n\nexport interface ObjectKeysRecursive {\n\tpath: string;\n\tmaxKeys: number | undefined;\n\tnextMarker: string | undefined;\n\tfiles: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GetFileResponse.html":{"url":"interfaces/GetFileResponse.html","title":"interface - GetFileResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GetFileResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/interface/interfaces.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n contentLength\n \n \n \n Optional\n \n contentRange\n \n \n \n Optional\n \n contentType\n \n \n \n \n data\n \n \n \n Optional\n \n etag\n \n \n \n \n name\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contentLength\n \n \n \n \n \n \n \n \n contentLength: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentRange\n \n \n \n \n \n \n \n \n contentRange: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentType\n \n \n \n \n \n \n \n \n contentType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: Readable\n\n \n \n\n\n \n \n Type : Readable\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n etag\n \n \n \n \n \n \n \n \n etag: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Readable } from 'stream';\nimport type { PreviewParams } from '../controller/dto';\nimport { FileRecord } from '../entity';\n\nexport interface GetFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\nexport interface PreviewFileParams {\n\tfileRecord: FileRecord;\n\tpreviewParams: PreviewParams;\n\thash: string;\n\toriginFilePath: string;\n\tpreviewFilePath: string;\n\tformat: string;\n\tbytesRange?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GetFileResponse-1.html":{"url":"interfaces/GetFileResponse-1.html","title":"interface - GetFileResponse-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GetFileResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n contentLength\n \n \n \n Optional\n \n contentRange\n \n \n \n Optional\n \n contentType\n \n \n \n \n data\n \n \n \n Optional\n \n etag\n \n \n \n \n name\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contentLength\n \n \n \n \n \n \n \n \n contentLength: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentRange\n \n \n \n \n \n \n \n \n contentRange: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentType\n \n \n \n \n \n \n \n \n contentType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: Readable\n\n \n \n\n\n \n \n Type : Readable\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n etag\n \n \n \n \n \n \n \n \n etag: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { ContentParameters, IContentMetadata, IEditorModel, IIntegration } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { Readable } from 'stream';\n\nexport class H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel) {\n\t\tthis.integration = editorModel.integration;\n\t\tthis.scripts = editorModel.scripts;\n\t\tthis.styles = editorModel.styles;\n\t}\n\n\t@ApiProperty()\n\tintegration: IIntegration;\n\n\t// This is a list of URLs that point to the Javascript files the H5P editor needs to load\n\t@ApiProperty()\n\tscripts: string[];\n\n\t// This is a list of URLs that point to the CSS files the H5P editor needs to load\n\t@ApiProperty()\n\tstyles: string[];\n}\n\nexport interface GetH5PFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\ninterface H5PContentResponse {\n\th5p: IContentMetadata;\n\tlibrary: string;\n\tparams: {\n\t\tmetadata: IContentMetadata;\n\t\tparams: ContentParameters;\n\t};\n}\n\nexport class H5PEditorModelContentResponse extends H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel, content: H5PContentResponse) {\n\t\tsuper(editorModel);\n\n\t\tthis.library = content.library;\n\t\tthis.metadata = content.params.metadata;\n\t\tthis.params = content.params.params;\n\t}\n\n\t@ApiProperty()\n\tlibrary: string;\n\n\t@ApiProperty()\n\tmetadata: IContentMetadata;\n\n\t@ApiProperty()\n\tparams: unknown;\n}\n\nexport class H5PContentMetadata {\n\tconstructor(metadata: IContentMetadata) {\n\t\tthis.mainLibrary = metadata.mainLibrary;\n\t\tthis.title = metadata.title;\n\t}\n\n\t@ApiProperty()\n\ttitle: string;\n\n\t@ApiProperty()\n\tmainLibrary: string;\n}\n\nexport class H5PSaveResponse {\n\tconstructor(id: string, metadata: IContentMetadata) {\n\t\tthis.contentId = id;\n\t\tthis.metadata = metadata;\n\t}\n\n\t@ApiProperty()\n\tcontentId!: string;\n\n\t@ApiProperty({ type: H5PContentMetadata })\n\tmetadata!: H5PContentMetadata;\n}\n\nexport interface GetFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GetFwuLearningContentParams.html":{"url":"classes/GetFwuLearningContentParams.html","title":"class - GetFwuLearningContentParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GetFwuLearningContentParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/fwu-learning-contents/controller/dto/fwu-learning-contents.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n fwuLearningContent\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n fwuLearningContent\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@Matches('([A-Za-z]|[0-9])+(.html|.css|.mp4|.pdf|.doc|.png|.jpg|.gif|.min.js|.js|.ico|.txt|.min.css|.ttf|.svg|.woff|.ui.l|.mf.l)')@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/fwu-learning-contents/controller/dto/fwu-learning-contents.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsNotEmpty, IsString, Matches } from 'class-validator';\n\nexport class GetFwuLearningContentParams {\n\t@ApiProperty()\n\t@Matches(\n\t\t'([A-Za-z]|[0-9])+(.html|.css|.mp4|.pdf|.doc|.png|.jpg|.gif|.min.js|.js|.ico|.txt|.min.css|.ttf|.svg|.woff|.ui.l|.mf.l)'\n\t)\n\t@IsString()\n\t@IsNotEmpty()\n\tfwuLearningContent!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GetH5PContentParams.html":{"url":"classes/GetH5PContentParams.html","title":"class - GetH5PContentParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GetH5PContentParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contentId\n \n \n \n \n \n Optional\n language\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contentId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n language\n \n \n \n \n \n \n Type : LanguageType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: LanguageType, enumName: 'LanguageType'})@IsEnum(LanguageType)@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IContentMetadata } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\n\nimport { LanguageType } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { IsEnum, IsMongoId, IsNotEmpty, IsObject, IsOptional, IsString } from 'class-validator';\nimport { H5PContentParentType } from '../../entity';\n\nexport class GetH5PContentParams {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\t@IsOptional()\n\tlanguage?: LanguageType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class GetH5PEditorParamsCreate {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class GetH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class SaveH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class PostH5PContentParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tparams!: unknown;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tmetadata!: IContentMetadata;\n\n\t@ApiProperty()\n\t@IsString()\n\t@SanitizeHtml()\n\t@IsNotEmpty()\n\tmainLibraryUbername!: string;\n}\n\nexport class PostH5PContentCreateParams {\n\t@ApiProperty({ enum: H5PContentParentType, enumName: 'H5PContentParentType' })\n\t@IsEnum(H5PContentParentType)\n\tparentType!: H5PContentParentType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\t@IsObject()\n\tparams!: {\n\t\tparams: unknown;\n\t\tmetadata: IContentMetadata;\n\t};\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tlibrary!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GetH5PEditorParams.html":{"url":"classes/GetH5PEditorParams.html","title":"class - GetH5PEditorParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GetH5PEditorParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contentId\n \n \n \n \n language\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contentId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n language\n \n \n \n \n \n \n Type : LanguageType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: LanguageType, enumName: 'LanguageType'})@IsEnum(LanguageType)\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:34\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IContentMetadata } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\n\nimport { LanguageType } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { IsEnum, IsMongoId, IsNotEmpty, IsObject, IsOptional, IsString } from 'class-validator';\nimport { H5PContentParentType } from '../../entity';\n\nexport class GetH5PContentParams {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\t@IsOptional()\n\tlanguage?: LanguageType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class GetH5PEditorParamsCreate {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class GetH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class SaveH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class PostH5PContentParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tparams!: unknown;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tmetadata!: IContentMetadata;\n\n\t@ApiProperty()\n\t@IsString()\n\t@SanitizeHtml()\n\t@IsNotEmpty()\n\tmainLibraryUbername!: string;\n}\n\nexport class PostH5PContentCreateParams {\n\t@ApiProperty({ enum: H5PContentParentType, enumName: 'H5PContentParentType' })\n\t@IsEnum(H5PContentParentType)\n\tparentType!: H5PContentParentType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\t@IsObject()\n\tparams!: {\n\t\tparams: unknown;\n\t\tmetadata: IContentMetadata;\n\t};\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tlibrary!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GetH5PEditorParamsCreate.html":{"url":"classes/GetH5PEditorParamsCreate.html","title":"class - GetH5PEditorParamsCreate","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GetH5PEditorParamsCreate\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n language\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n language\n \n \n \n \n \n \n Type : LanguageType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: LanguageType, enumName: 'LanguageType'})@IsEnum(LanguageType)\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:24\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IContentMetadata } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\n\nimport { LanguageType } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { IsEnum, IsMongoId, IsNotEmpty, IsObject, IsOptional, IsString } from 'class-validator';\nimport { H5PContentParentType } from '../../entity';\n\nexport class GetH5PContentParams {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\t@IsOptional()\n\tlanguage?: LanguageType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class GetH5PEditorParamsCreate {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class GetH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class SaveH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class PostH5PContentParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tparams!: unknown;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tmetadata!: IContentMetadata;\n\n\t@ApiProperty()\n\t@IsString()\n\t@SanitizeHtml()\n\t@IsNotEmpty()\n\tmainLibraryUbername!: string;\n}\n\nexport class PostH5PContentCreateParams {\n\t@ApiProperty({ enum: H5PContentParentType, enumName: 'H5PContentParentType' })\n\t@IsEnum(H5PContentParentType)\n\tparentType!: H5PContentParentType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\t@IsObject()\n\tparams!: {\n\t\tparams: unknown;\n\t\tmetadata: IContentMetadata;\n\t};\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tlibrary!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GetH5PFileResponse.html":{"url":"interfaces/GetH5PFileResponse.html","title":"interface - GetH5PFileResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GetH5PFileResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n contentLength\n \n \n \n Optional\n \n contentRange\n \n \n \n Optional\n \n contentType\n \n \n \n \n data\n \n \n \n Optional\n \n etag\n \n \n \n \n name\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contentLength\n \n \n \n \n \n \n \n \n contentLength: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentRange\n \n \n \n \n \n \n \n \n contentRange: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentType\n \n \n \n \n \n \n \n \n contentType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: Readable\n\n \n \n\n\n \n \n Type : Readable\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n etag\n \n \n \n \n \n \n \n \n etag: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { ContentParameters, IContentMetadata, IEditorModel, IIntegration } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { Readable } from 'stream';\n\nexport class H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel) {\n\t\tthis.integration = editorModel.integration;\n\t\tthis.scripts = editorModel.scripts;\n\t\tthis.styles = editorModel.styles;\n\t}\n\n\t@ApiProperty()\n\tintegration: IIntegration;\n\n\t// This is a list of URLs that point to the Javascript files the H5P editor needs to load\n\t@ApiProperty()\n\tscripts: string[];\n\n\t// This is a list of URLs that point to the CSS files the H5P editor needs to load\n\t@ApiProperty()\n\tstyles: string[];\n}\n\nexport interface GetH5PFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\ninterface H5PContentResponse {\n\th5p: IContentMetadata;\n\tlibrary: string;\n\tparams: {\n\t\tmetadata: IContentMetadata;\n\t\tparams: ContentParameters;\n\t};\n}\n\nexport class H5PEditorModelContentResponse extends H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel, content: H5PContentResponse) {\n\t\tsuper(editorModel);\n\n\t\tthis.library = content.library;\n\t\tthis.metadata = content.params.metadata;\n\t\tthis.params = content.params.params;\n\t}\n\n\t@ApiProperty()\n\tlibrary: string;\n\n\t@ApiProperty()\n\tmetadata: IContentMetadata;\n\n\t@ApiProperty()\n\tparams: unknown;\n}\n\nexport class H5PContentMetadata {\n\tconstructor(metadata: IContentMetadata) {\n\t\tthis.mainLibrary = metadata.mainLibrary;\n\t\tthis.title = metadata.title;\n\t}\n\n\t@ApiProperty()\n\ttitle: string;\n\n\t@ApiProperty()\n\tmainLibrary: string;\n}\n\nexport class H5PSaveResponse {\n\tconstructor(id: string, metadata: IContentMetadata) {\n\t\tthis.contentId = id;\n\t\tthis.metadata = metadata;\n\t}\n\n\t@ApiProperty()\n\tcontentId!: string;\n\n\t@ApiProperty({ type: H5PContentMetadata })\n\tmetadata!: H5PContentMetadata;\n}\n\nexport interface GetFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GetH5pFileResponse.html":{"url":"interfaces/GetH5pFileResponse.html","title":"interface - GetH5pFileResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GetH5pFileResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-file.dto.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n contentLength\n \n \n \n Optional\n \n contentRange\n \n \n \n Optional\n \n contentType\n \n \n \n \n data\n \n \n \n Optional\n \n etag\n \n \n \n \n name\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contentLength\n \n \n \n \n \n \n \n \n contentLength: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentRange\n \n \n \n \n \n \n \n \n contentRange: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentType\n \n \n \n \n \n \n \n \n contentType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: Readable\n\n \n \n\n\n \n \n Type : Readable\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n etag\n \n \n \n \n \n \n \n \n etag: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Readable } from 'stream';\nimport { File } from '@infra/s3-client';\n\nexport class H5pFileDto implements File {\n\tconstructor(file: H5pFileDto) {\n\t\tthis.name = file.name;\n\t\tthis.data = file.data;\n\t\tthis.mimeType = file.mimeType;\n\t}\n\n\tname: string;\n\n\tdata: Readable;\n\n\tmimeType: string;\n}\n\nexport interface GetH5pFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\nexport interface GetLibraryFile {\n\tdata: Readable;\n\tcontentType: string;\n\tcontentLength: number;\n\tcontentRange?: { start: number; end: number };\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GetLibraryFile.html":{"url":"interfaces/GetLibraryFile.html","title":"interface - GetLibraryFile","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GetLibraryFile\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-file.dto.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contentLength\n \n \n \n Optional\n \n contentRange\n \n \n \n \n contentType\n \n \n \n \n data\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contentLength\n \n \n \n \n \n \n \n \n contentLength: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n contentRange\n \n \n \n \n \n \n \n \n contentRange: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentType\n \n \n \n \n \n \n \n \n contentType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: Readable\n\n \n \n\n\n \n \n Type : Readable\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Readable } from 'stream';\nimport { File } from '@infra/s3-client';\n\nexport class H5pFileDto implements File {\n\tconstructor(file: H5pFileDto) {\n\t\tthis.name = file.name;\n\t\tthis.data = file.data;\n\t\tthis.mimeType = file.mimeType;\n\t}\n\n\tname: string;\n\n\tdata: Readable;\n\n\tmimeType: string;\n}\n\nexport interface GetH5pFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\nexport interface GetLibraryFile {\n\tdata: Readable;\n\tcontentType: string;\n\tcontentLength: number;\n\tcontentRange?: { start: number; end: number };\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GetLibraryFile-1.html":{"url":"interfaces/GetLibraryFile-1.html","title":"interface - GetLibraryFile-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GetLibraryFile\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/uc/dto/h5p-getLibraryFile.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contentLength\n \n \n \n Optional\n \n contentRange\n \n \n \n \n contentType\n \n \n \n \n data\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contentLength\n \n \n \n \n \n \n \n \n contentLength: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n contentRange\n \n \n \n \n \n \n \n \n contentRange: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contentType\n \n \n \n \n \n \n \n \n contentType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: Readable\n\n \n \n\n\n \n \n Type : Readable\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Readable } from 'stream';\n\nexport interface GetLibraryFile {\n\tdata: Readable;\n\tcontentType: string;\n\tcontentLength: number;\n\tcontentRange?: { start: number; end: number };\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GetMetaTagDataBody.html":{"url":"classes/GetMetaTagDataBody.html","title":"class - GetMetaTagDataBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GetMetaTagDataBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/controller/post-link-url.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/controller/post-link-url.body.params.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsString } from 'class-validator';\n\nexport class GetMetaTagDataBody {\n\t@IsString()\n\t@ApiProperty({\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\turl!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GlobalConstants.html":{"url":"interfaces/GlobalConstants.html","title":"interface - GlobalConstants","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GlobalConstants\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/config/database.config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n DB_PASSWORD\n \n \n \n \n DB_URL\n \n \n \n Optional\n \n DB_USERNAME\n \n \n \n \n TLDRAW_DB_URL\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n DB_PASSWORD\n \n \n \n \n \n \n \n \n DB_PASSWORD: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n DB_URL\n \n \n \n \n \n \n \n \n DB_URL: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n DB_USERNAME\n \n \n \n \n \n \n \n \n DB_USERNAME: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n TLDRAW_DB_URL\n \n \n \n \n \n \n \n \n TLDRAW_DB_URL: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import globals = require('../../../../config/globals');\n\ninterface GlobalConstants {\n\tDB_URL: string;\n\tDB_PASSWORD?: string;\n\tDB_USERNAME?: string;\n\tTLDRAW_DB_URL: string;\n}\n\nconst usedGlobals: GlobalConstants = globals;\n\n/** Database URL */\nexport const { DB_URL, DB_PASSWORD, DB_USERNAME, TLDRAW_DB_URL } = usedGlobals;\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GlobalErrorFilter.html":{"url":"classes/GlobalErrorFilter.html","title":"class - GlobalErrorFilter","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GlobalErrorFilter\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/error/filter/global-error.filter.ts\n \n\n\n\n\n \n Implements\n \n \n ExceptionFilter\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n catch\n \n \n Private\n createErrorLoggable\n \n \n Private\n createErrorResponse\n \n \n Private\n createErrorResponseForBusinessError\n \n \n Private\n createErrorResponseForFeathersError\n \n \n Private\n createErrorResponseForNestHttpException\n \n \n Private\n createErrorResponseForUnknownError\n \n \n Private\n sendHttpResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: ErrorLogger)\n \n \n \n \n Defined in apps/server/src/core/error/filter/global-error.filter.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n ErrorLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n catch\n \n \n \n \n \n \ncatch(error: T, host: ArgumentsHost)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/filter/global-error.filter.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n T\n \n\n \n No\n \n\n\n \n \n host\n \n ArgumentsHost\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void | RpcMessage\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createErrorLoggable\n \n \n \n \n \n \n \n createErrorLoggable(error)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/filter/global-error.filter.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n error\n\n \n No\n \n\n\n \n \n \n \n \n Returns : Loggable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createErrorResponse\n \n \n \n \n \n \n \n createErrorResponse(error)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/filter/global-error.filter.ts:56\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n error\n\n \n No\n \n\n\n \n \n \n \n \n Returns : ErrorResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createErrorResponseForBusinessError\n \n \n \n \n \n \n \n createErrorResponseForBusinessError(error: BusinessError)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/filter/global-error.filter.ts:80\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n BusinessError\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ErrorResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createErrorResponseForFeathersError\n \n \n \n \n \n \n \n createErrorResponseForFeathersError(error: FeathersError)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/filter/global-error.filter.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n FeathersError\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createErrorResponseForNestHttpException\n \n \n \n \n \n \n \n createErrorResponseForNestHttpException(exception: HttpException)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/filter/global-error.filter.ts:92\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n exception\n \n HttpException\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ErrorResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createErrorResponseForUnknownError\n \n \n \n \n \n \n \n createErrorResponseForUnknownError()\n \n \n\n\n \n \n Defined in apps/server/src/core/error/filter/global-error.filter.ts:102\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n sendHttpResponse\n \n \n \n \n \n \n \n sendHttpResponse(error: T, host: ArgumentsHost)\n \n \n\n\n \n \n Defined in apps/server/src/core/error/filter/global-error.filter.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n T\n \n\n \n No\n \n\n\n \n \n host\n \n ArgumentsHost\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { IError, RpcMessage } from '@infra/rabbitmq/rpc-message';\nimport { ArgumentsHost, Catch, ExceptionFilter, HttpException, InternalServerErrorException } from '@nestjs/common';\nimport { ApiValidationError, BusinessError } from '@shared/common';\nimport { ErrorLogger, Loggable } from '@src/core/logger';\nimport { LoggingUtils } from '@src/core/logger/logging.utils';\nimport { Response } from 'express';\nimport _ from 'lodash';\nimport util from 'util';\nimport { ApiValidationErrorResponse, ErrorResponse } from '../dto';\nimport { FeathersError } from '../interface';\nimport { ErrorLoggable } from '../loggable/error.loggable';\nimport { ErrorUtils } from '../utils';\n\n@Catch()\nexport class GlobalErrorFilter implements ExceptionFilter {\n\tconstructor(private readonly logger: ErrorLogger) {}\n\n\t// eslint-disable-next-line consistent-return\n\tcatch(error: T, host: ArgumentsHost): void | RpcMessage {\n\t\tconst loggable = this.createErrorLoggable(error);\n\t\tthis.logger.error(loggable);\n\n\t\tconst contextType = host.getType();\n\n\t\tif (contextType === 'http') {\n\t\t\tthis.sendHttpResponse(error, host);\n\t\t}\n\n\t\tif (contextType === 'rmq') {\n\t\t\treturn { message: undefined, error };\n\t\t}\n\t}\n\n\tprivate createErrorLoggable(error: unknown): Loggable {\n\t\tlet loggable: Loggable;\n\n\t\tif (LoggingUtils.isInstanceOfLoggable(error)) {\n\t\t\tloggable = error;\n\t\t} else if (error instanceof Error) {\n\t\t\tloggable = new ErrorLoggable(error);\n\t\t} else {\n\t\t\tconst unknownError = new Error(util.inspect(error));\n\t\t\tloggable = new ErrorLoggable(unknownError);\n\t\t}\n\n\t\treturn loggable;\n\t}\n\n\tprivate sendHttpResponse(error: T, host: ArgumentsHost): void {\n\t\tconst errorResponse = this.createErrorResponse(error);\n\t\tconst httpArgumentHost = host.switchToHttp();\n\t\tconst response = httpArgumentHost.getResponse();\n\t\tresponse.status(errorResponse.code).json(errorResponse);\n\t}\n\n\tprivate createErrorResponse(error: unknown): ErrorResponse {\n\t\tlet response: ErrorResponse;\n\n\t\tif (ErrorUtils.isFeathersError(error)) {\n\t\t\tresponse = this.createErrorResponseForFeathersError(error);\n\t\t} else if (ErrorUtils.isBusinessError(error)) {\n\t\t\tresponse = this.createErrorResponseForBusinessError(error);\n\t\t} else if (ErrorUtils.isNestHttpException(error)) {\n\t\t\tresponse = this.createErrorResponseForNestHttpException(error);\n\t\t} else {\n\t\t\tresponse = this.createErrorResponseForUnknownError();\n\t\t}\n\n\t\treturn response;\n\t}\n\n\tprivate createErrorResponseForFeathersError(error: FeathersError) {\n\t\tconst { code, className, name, message } = error;\n\t\tconst type = _.snakeCase(className).toUpperCase();\n\t\tconst title = _.startCase(name);\n\n\t\treturn new ErrorResponse(type, title, message, code);\n\t}\n\n\tprivate createErrorResponseForBusinessError(error: BusinessError): ErrorResponse {\n\t\tlet response: ErrorResponse;\n\n\t\tif (error instanceof ApiValidationError) {\n\t\t\tresponse = new ApiValidationErrorResponse(error);\n\t\t} else {\n\t\t\tresponse = error.getResponse();\n\t\t}\n\n\t\treturn response;\n\t}\n\n\tprivate createErrorResponseForNestHttpException(exception: HttpException): ErrorResponse {\n\t\tconst code = exception.getStatus();\n\t\tconst msg = exception.message || 'Some error occurred';\n\t\tconst exceptionName = exception.constructor.name.replace('Loggable', '').replace('Exception', '');\n\t\tconst type = _.snakeCase(exceptionName).toUpperCase();\n\t\tconst title = _.startCase(exceptionName);\n\n\t\treturn new ErrorResponse(type, title, msg, code);\n\t}\n\n\tprivate createErrorResponseForUnknownError(): ErrorResponse {\n\t\tconst error = new InternalServerErrorException();\n\t\tconst response = this.createErrorResponseForNestHttpException(error);\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GlobalValidationPipe.html":{"url":"classes/GlobalValidationPipe.html","title":"class - GlobalValidationPipe","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GlobalValidationPipe\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/validation/pipe/global-validation.pipe.ts\n \n\n\n \n Description\n \n \n \nGlobal Pipe setup\n\nValidation of DTOs will base on type-checking\nwhich is enabled by default. To you might use\nthe class-validator decorators to extend\nvalidation.\n\n \n\n \n Extends\n \n \n ValidationPipe\n \n\n\n\n\n \n Constructor\n \n \n \n \nconstructor()\n \n \n \n \n Defined in apps/server/src/core/validation/pipe/global-validation.pipe.ts:12\n \n \n\n \n \n\n\n\n\n\n\n\n\n\n \n\n\n \n import { ValidationError, ValidationPipe } from '@nestjs/common';\nimport { ApiValidationError } from '@shared/common';\n\n/** *********************************************\n * Global Pipe setup\n * **********************************************\n * Validation of DTOs will base on type-checking\n * which is enabled by default. To you might use\n * the class-validator decorators to extend\n * validation.\n */\nexport class GlobalValidationPipe extends ValidationPipe {\n\tconstructor() {\n\t\tsuper({\n\t\t\t// enable DTO instance creation for incoming data\n\t\t\ttransform: true,\n\t\t\ttransformOptions: {\n\t\t\t\t// enable type coersion, requires transform:true\n\t\t\t\tenableImplicitConversion: true,\n\t\t\t},\n\t\t\twhitelist: true, // only pass valid @ApiProperty-decorated DTO properties, remove others\n\t\t\tforbidNonWhitelisted: false, // additional params are just skipped (required when extracting multiple DTO from single query)\n\t\t\tforbidUnknownValues: true,\n\t\t\texceptionFactory: (errors: ValidationError[]) => new ApiValidationError(errors),\n\t\t\tvalidationError: {\n\t\t\t\t// make sure target (DTO) is set on validation error\n\t\t\t\t// we need this to be able to get DTO metadata for checking if a value has to be the obfuscated on output\n\t\t\t\t// see e.g. ErrorLoggable\n\t\t\t\ttarget: true,\n\t\t\t\tvalue: true,\n\t\t\t},\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GridElement.html":{"url":"classes/GridElement.html","title":"class - GridElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GridElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/dashboard.entity.ts\n \n\n\n\n\n \n Implements\n \n \n IGridElement\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n id\n \n \n references\n \n \n Private\n sortReferences\n \n \n Optional\n title\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n addReferences\n \n \n Static\n FromGroup\n \n \n Static\n FromPersistedGroup\n \n \n Static\n FromPersistedReference\n \n \n Static\n FromSingleReference\n \n \n getContent\n \n \n getId\n \n \n getReferences\n \n \n hasId\n \n \n isGroup\n \n \n removeReference\n \n \n removeReferenceByIndex\n \n \n setGroupName\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \n Private\n constructor(props: literal type)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:52\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n literal type\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:38\n \n \n\n\n \n \n \n \n \n \n \n \n references\n \n \n \n \n \n \n Type : Learnroom[]\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:76\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n sortReferences\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:40\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n addReferences\n \n \n \n \n \n \naddReferences(anotherReference: Learnroom[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:108\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n anotherReference\n \n Learnroom[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n FromGroup\n \n \n \n \n \n \n \n FromGroup(title: string, references: Learnroom[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n title\n \n string\n \n\n \n No\n \n\n\n \n \n references\n \n Learnroom[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GridElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n FromPersistedGroup\n \n \n \n \n \n \n \n FromPersistedGroup(id: EntityId, title: string | undefined, group: Learnroom[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:64\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n title\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n group\n \n Learnroom[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GridElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n FromPersistedReference\n \n \n \n \n \n \n \n FromPersistedReference(id: EntityId, reference: Learnroom)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n reference\n \n Learnroom\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GridElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n FromSingleReference\n \n \n \n \n \n \n \n FromSingleReference(reference: Learnroom)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:68\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n reference\n \n Learnroom\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GridElement\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getContent\n \n \n \n \n \n \ngetContent()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:117\n \n \n\n\n \n \n\n \n Returns : GridElementContent\n\n \n \n \n \n \n \n \n \n \n \n \n getId\n \n \n \n \n \n \ngetId()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:82\n \n \n\n\n \n \n\n \n Returns : EntityId | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n getReferences\n \n \n \n \n \n \ngetReferences()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:86\n \n \n\n\n \n \n\n \n Returns : Learnroom[]\n\n \n \n \n \n \n \n \n \n \n \n \n hasId\n \n \n \n \n \n \nhasId()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:78\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n isGroup\n \n \n \n \n \n \nisGroup()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:138\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n removeReference\n \n \n \n \n \n \nremoveReference(reference: Learnroom)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:100\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n reference\n \n Learnroom\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeReferenceByIndex\n \n \n \n \n \n \nremoveReferenceByIndex(index: number)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:90\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n index\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setGroupName\n \n \n \n \n \n \nsetGroupName(newGroupName: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:142\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n newGroupName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BadRequestException, NotFoundException } from '@nestjs/common';\nimport { Learnroom } from '@shared/domain/interface';\nimport { EntityId, LearnroomMetadata } from '@shared/domain/types';\n\nconst defaultColumns = 4;\n\nexport interface IGridElement {\n\thasId(): boolean;\n\n\tgetId: () => EntityId | undefined;\n\n\tgetContent: () => GridElementContent;\n\n\tisGroup(): boolean;\n\n\tremoveReferenceByIndex(index: number): void;\n\n\tremoveReference(reference: Learnroom): void;\n\n\tgetReferences(): Learnroom[];\n\n\taddReferences(anotherReference: Learnroom[]): void;\n\n\tsetGroupName(newGroupName: string): void;\n}\n\nexport type GridElementContent = {\n\treferencedId?: string;\n\ttitle?: string;\n\tshortTitle: string;\n\tdisplayColor: string;\n\tgroup?: LearnroomMetadata[];\n\tgroupId?: string;\n\tcopyingSince?: Date;\n};\n\nexport class GridElement implements IGridElement {\n\tid?: EntityId;\n\n\ttitle?: string;\n\n\tprivate sortReferences = (a: Learnroom, b: Learnroom) => {\n\t\tconst titleA = a.getMetadata().title;\n\t\tconst titleB = b.getMetadata().title;\n\t\tif (titleA titleB) {\n\t\t\treturn 1;\n\t\t}\n\t\treturn 0;\n\t};\n\n\tprivate constructor(props: { id?: EntityId; title?: string; references: Learnroom[] }) {\n\t\tif (props.id) this.id = props.id;\n\t\tif (props.title) this.title = props.title;\n\t\tthis.references = props.references.sort(this.sortReferences);\n\t}\n\n\tstatic FromPersistedReference(id: EntityId, reference: Learnroom): GridElement {\n\t\treturn new GridElement({ id, references: [reference] });\n\t}\n\n\tstatic FromPersistedGroup(id: EntityId, title: string | undefined, group: Learnroom[]): GridElement {\n\t\treturn new GridElement({ id, title, references: group });\n\t}\n\n\tstatic FromSingleReference(reference: Learnroom): GridElement {\n\t\treturn new GridElement({ references: [reference] });\n\t}\n\n\tstatic FromGroup(title: string, references: Learnroom[]): GridElement {\n\t\treturn new GridElement({ title, references });\n\t}\n\n\treferences: Learnroom[];\n\n\thasId(): boolean {\n\t\treturn !!this.id;\n\t}\n\n\tgetId(): EntityId | undefined {\n\t\treturn this.id;\n\t}\n\n\tgetReferences(): Learnroom[] {\n\t\treturn this.references;\n\t}\n\n\tremoveReferenceByIndex(index: number): void {\n\t\tif (!this.isGroup()) {\n\t\t\tthrow new BadRequestException('this element is not a group.');\n\t\t}\n\t\tif (index > 0 && this.references.length reference.getMetadata());\n\t\tconst checkShortTitle = this.title ? this.title.substring(0, 2) : '';\n\t\tconst groupMetadata = {\n\t\t\tgroupId: this.getId(),\n\t\t\ttitle: this.title,\n\t\t\tshortTitle: checkShortTitle,\n\t\t\tdisplayColor: 'exampleColor',\n\t\t\tgroup: groupData,\n\t\t};\n\t\treturn groupMetadata;\n\t}\n\n\tisGroup(): boolean {\n\t\treturn this.references.length > 1;\n\t}\n\n\tsetGroupName(newGroupName: string): void {\n\t\tif (!this.isGroup()) {\n\t\t\treturn;\n\t\t}\n\t\tthis.title = newGroupName;\n\t}\n}\n\nexport type GridPosition = { x: number; y: number };\nexport type GridPositionWithGroupIndex = { x: number; y: number; groupIndex?: number };\n\nexport type GridElementWithPosition = {\n\tgridElement: IGridElement;\n\tpos: GridPosition;\n};\n\nexport type DashboardProps = { colums?: number; grid: GridElementWithPosition[]; userId: EntityId };\n\nexport class DashboardEntity {\n\tid: EntityId;\n\n\tcolumns: number;\n\n\tgrid: Map;\n\n\tuserId: EntityId;\n\n\tprivate gridIndexFromPosition(pos: GridPosition): number {\n\t\tif (pos.x > this.columns) {\n\t\t\tthrow new BadRequestException('dashboard element position is outside the grid.');\n\t\t}\n\t\treturn this.columns * pos.y + pos.x;\n\t}\n\n\tprivate positionFromGridIndex(index: number): GridPosition {\n\t\tconst y = Math.floor(index / this.columns);\n\t\tconst x = index % this.columns;\n\t\treturn { x, y };\n\t}\n\n\tconstructor(id: string, props: DashboardProps) {\n\t\tthis.columns = props.colums || defaultColumns;\n\t\tthis.grid = new Map();\n\t\tprops.grid.forEach((element) => {\n\t\t\tthis.grid.set(this.gridIndexFromPosition(element.pos), element.gridElement);\n\t\t});\n\t\tthis.id = id;\n\t\tthis.userId = props.userId;\n\t\tObject.assign(this, {});\n\t}\n\n\tgetId(): string {\n\t\treturn this.id;\n\t}\n\n\tgetUserId(): EntityId {\n\t\treturn this.userId;\n\t}\n\n\tgetGrid(): GridElementWithPosition[] {\n\t\tconst result = [...this.grid.keys()].map((key) => {\n\t\t\tconst position = this.positionFromGridIndex(key);\n\t\t\tconst value = this.grid.get(key) as IGridElement;\n\t\t\treturn {\n\t\t\t\tpos: position,\n\t\t\t\tgridElement: value,\n\t\t\t};\n\t\t});\n\t\treturn result;\n\t}\n\n\tgetElement(position: GridPosition): IGridElement {\n\t\tconst element = this.grid.get(this.gridIndexFromPosition(position));\n\t\tif (!element) {\n\t\t\tthrow new NotFoundException('no element at grid position');\n\t\t}\n\t\treturn element;\n\t}\n\n\tmoveElement(from: GridPositionWithGroupIndex, to: GridPositionWithGroupIndex): GridElementWithPosition {\n\t\tconst elementToMove = this.getReferencesFromPosition(from);\n\t\tconst resultElement = this.mergeElementIntoPosition(elementToMove, to);\n\t\tthis.removeFromPosition(from);\n\t\treturn {\n\t\t\tpos: to,\n\t\t\tgridElement: resultElement,\n\t\t};\n\t}\n\n\tsetLearnRooms(rooms: Learnroom[]): void {\n\t\tthis.removeRoomsNotInList(rooms);\n\t\tconst newRooms = this.determineNewRoomsIn(rooms);\n\n\t\tnewRooms.forEach((room) => {\n\t\t\tthis.addRoom(room);\n\t\t});\n\t}\n\n\tprivate removeRoomsNotInList(roomList: Learnroom[]): void {\n\t\t[...this.grid.keys()].forEach((key) => {\n\t\t\tconst element = this.grid.get(key) as IGridElement;\n\t\t\tconst currentRooms = element.getReferences();\n\t\t\tcurrentRooms.forEach((room) => {\n\t\t\t\tif (!roomList.includes(room)) {\n\t\t\t\t\telement.removeReference(room);\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (element.getReferences().length === 0) {\n\t\t\t\tthis.grid.delete(key);\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate determineNewRoomsIn(rooms: Learnroom[]): Learnroom[] {\n\t\tconst result: Learnroom[] = [];\n\t\tconst existingRooms = this.allRooms();\n\t\trooms.forEach((room) => {\n\t\t\tif (!existingRooms.includes(room)) {\n\t\t\t\tresult.push(room);\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t}\n\n\tprivate allRooms(): Learnroom[] {\n\t\tconst elements = [...this.grid.values()];\n\t\tconst references = elements.map((el) => el.getReferences()).flat();\n\t\treturn references;\n\t}\n\n\tprivate addRoom(room: Learnroom): void {\n\t\tconst index = this.getFirstOpenIndex();\n\t\tconst newElement = GridElement.FromSingleReference(room);\n\t\tthis.grid.set(index, newElement);\n\t}\n\n\tprivate getFirstOpenIndex(): number {\n\t\tlet i = 0;\n\t\twhile (this.grid.get(i) !== undefined) {\n\t\t\ti += 1;\n\t\t}\n\t\treturn i;\n\t}\n\n\tprivate getReferencesFromPosition(position: GridPositionWithGroupIndex): IGridElement {\n\t\tconst elementToMove = this.getElement(position);\n\n\t\tif (typeof position.groupIndex === 'number' && elementToMove.isGroup()) {\n\t\t\tconst references = elementToMove.getReferences();\n\t\t\tconst referenceForIndex = references[position.groupIndex];\n\t\t\treturn GridElement.FromSingleReference(referenceForIndex);\n\t\t}\n\n\t\treturn elementToMove;\n\t}\n\n\tprivate removeFromPosition(position: GridPositionWithGroupIndex): void {\n\t\tconst element = this.getElement(position);\n\t\tif (typeof position.groupIndex === 'number') {\n\t\t\telement.removeReferenceByIndex(position.groupIndex);\n\t\t} else {\n\t\t\tthis.grid.delete(this.gridIndexFromPosition(position));\n\t\t}\n\t}\n\n\tprivate mergeElementIntoPosition(element: IGridElement, position: GridPosition): IGridElement {\n\t\tconst targetElement = this.grid.get(this.gridIndexFromPosition(position));\n\t\tif (targetElement) {\n\t\t\ttargetElement.addReferences(element.getReferences());\n\t\t\treturn targetElement;\n\t\t}\n\t\tthis.grid.set(this.gridIndexFromPosition(position), element);\n\t\treturn element;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Group.html":{"url":"classes/Group.html","title":"class - Group","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Group\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/domain/group.ts\n \n\n\n\n \n Extends\n \n \n DomainObject\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n addUser\n \n \n isEmpty\n \n \n removeUser\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n name\n \n \n users\n \n \n externalSource\n \n \n organizationId\n \n \n type\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n addUser\n \n \n \n \n \n \naddUser(user: GroupUser)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/domain/group.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n GroupUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isEmpty\n \n \n \n \n \n \nisEmpty()\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/domain/group.ts:54\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n removeUser\n \n \n \n \n \n \nremoveUser(user: UserDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/domain/group.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n name\n \n \n\n \n \n getname()\n \n \n \n \n Defined in apps/server/src/modules/group/domain/group.ts:26\n \n \n\n \n \n \n \n \n \n \n users\n \n \n\n \n \n getusers()\n \n \n \n \n Defined in apps/server/src/modules/group/domain/group.ts:30\n \n \n\n \n \n setusers(value: GroupUser[])\n \n \n \n \n Defined in apps/server/src/modules/group/domain/group.ts:34\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n GroupUser[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n externalSource\n \n \n\n \n \n getexternalSource()\n \n \n \n \n Defined in apps/server/src/modules/group/domain/group.ts:38\n \n \n\n \n \n \n \n \n \n \n organizationId\n \n \n\n \n \n getorganizationId()\n \n \n \n \n Defined in apps/server/src/modules/group/domain/group.ts:42\n \n \n\n \n \n \n \n \n \n \n type\n \n \n\n \n \n gettype()\n \n \n \n \n Defined in apps/server/src/modules/group/domain/group.ts:46\n \n \n\n \n \n\n \n\n\n \n import { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { ExternalSource, type UserDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { GroupTypes } from './group-types';\nimport { GroupUser } from './group-user';\n\nexport interface GroupProps extends AuthorizableObject {\n\tid: EntityId;\n\n\tname: string;\n\n\ttype: GroupTypes;\n\n\tvalidFrom?: Date;\n\n\tvalidUntil?: Date;\n\n\texternalSource?: ExternalSource;\n\n\tusers: GroupUser[];\n\n\torganizationId?: string;\n}\n\nexport class Group extends DomainObject {\n\tget name(): string {\n\t\treturn this.props.name;\n\t}\n\n\tget users(): GroupUser[] {\n\t\treturn this.props.users;\n\t}\n\n\tset users(value: GroupUser[]) {\n\t\tthis.props.users = value;\n\t}\n\n\tget externalSource(): ExternalSource | undefined {\n\t\treturn this.props.externalSource;\n\t}\n\n\tget organizationId(): string | undefined {\n\t\treturn this.props.organizationId;\n\t}\n\n\tget type(): GroupTypes {\n\t\treturn this.props.type;\n\t}\n\n\tremoveUser(user: UserDO): void {\n\t\tthis.props.users = this.props.users.filter((groupUser: GroupUser): boolean => groupUser.userId !== user.id);\n\t}\n\n\tisEmpty(): boolean {\n\t\treturn this.props.users.length === 0;\n\t}\n\n\taddUser(user: GroupUser): void {\n\t\tif (!this.users.find((u) => u.userId === user.userId)) {\n\t\t\tthis.users.push(user);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/GroupApiModule.html":{"url":"modules/GroupApiModule.html","title":"module - GroupApiModule","body":"\n \n\n\n\n\n Modules\n GroupApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_GroupApiModule\n\n\n\ncluster_GroupApiModule_imports\n\n\n\ncluster_GroupApiModule_providers\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nGroupApiModule\n\nGroupApiModule\n\nGroupApiModule -->\n\nAuthorizationModule->GroupApiModule\n\n\n\n\n\nClassModule\n\nClassModule\n\nGroupApiModule -->\n\nClassModule->GroupApiModule\n\n\n\n\n\nGroupModule\n\nGroupModule\n\nGroupApiModule -->\n\nGroupModule->GroupApiModule\n\n\n\n\n\nLegacySchoolModule\n\nLegacySchoolModule\n\nGroupApiModule -->\n\nLegacySchoolModule->GroupApiModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nGroupApiModule -->\n\nLoggerModule->GroupApiModule\n\n\n\n\n\nRoleModule\n\nRoleModule\n\nGroupApiModule -->\n\nRoleModule->GroupApiModule\n\n\n\n\n\nSystemModule\n\nSystemModule\n\nGroupApiModule -->\n\nSystemModule->GroupApiModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nGroupApiModule -->\n\nUserModule->GroupApiModule\n\n\n\n\n\nGroupUc\n\nGroupUc\n\nGroupApiModule -->\n\nGroupUc->GroupApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/group/group-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n GroupUc\n \n \n \n \n Controllers\n \n \n GroupController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n ClassModule\n \n \n GroupModule\n \n \n LegacySchoolModule\n \n \n LoggerModule\n \n \n RoleModule\n \n \n SystemModule\n \n \n UserModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { ClassModule } from '@modules/class';\nimport { RoleModule } from '@modules/role';\nimport { LegacySchoolModule } from '@modules/legacy-school';\nimport { SystemModule } from '@modules/system';\nimport { UserModule } from '@modules/user';\nimport { LoggerModule } from '@src/core/logger';\nimport { GroupController } from './controller';\nimport { GroupModule } from './group.module';\nimport { GroupUc } from './uc';\n\n@Module({\n\timports: [\n\t\tGroupModule,\n\t\tClassModule,\n\t\tUserModule,\n\t\tRoleModule,\n\t\tLegacySchoolModule,\n\t\tAuthorizationModule,\n\t\tSystemModule,\n\t\tLoggerModule,\n\t],\n\tcontrollers: [GroupController],\n\tproviders: [GroupUc],\n})\nexport class GroupApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/GroupController.html":{"url":"controllers/GroupController.html","title":"controller - GroupController","body":"\n \n\n\n\n\n\n\n Controllers\n GroupController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/controller/group.controller.ts\n \n\n \n Prefix\n \n \n groups\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findClasses\n \n \n \n \n \n \n \n Public\n Async\n getGroup\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findClasses\n \n \n \n \n \n \n \n findClasses(pagination: PaginationParams, sortingQuery: ClassSortParams, filterParams: ClassFilterParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Get a list of classes and groups of type class for the current user.'})@ApiResponse({status: undefined, type: ClassInfoSearchListResponse})@ApiResponse({status: '4XX', type: ErrorResponse})@ApiResponse({status: '5XX', type: ErrorResponse})@Get('/class')\n \n \n\n \n \n Defined in apps/server/src/modules/group/controller/group.controller.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pagination\n \n PaginationParams\n \n\n \n No\n \n\n\n \n \n sortingQuery\n \n ClassSortParams\n \n\n \n No\n \n\n\n \n \n filterParams\n \n ClassFilterParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getGroup\n \n \n \n \n \n \n \n getGroup(currentUser: ICurrentUser, params: GroupIdParams)\n \n \n\n \n \n Decorators : \n \n @Get('/:groupId')@ApiOperation({summary: 'Get a group by id.'})@ApiResponse({status: undefined, type: GroupResponse})@ApiResponse({status: '4XX', type: ErrorResponse})@ApiResponse({status: '5XX', type: ErrorResponse})\n \n \n\n \n \n Defined in apps/server/src/modules/group/controller/group.controller.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n GroupIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Controller, Get, HttpStatus, Param, Query } from '@nestjs/common';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { PaginationParams } from '@shared/controller';\nimport { Page } from '@shared/domain/domainobject';\nimport { ErrorResponse } from '@src/core/error/dto';\nimport { GroupUc } from '../uc';\nimport { ClassInfoDto, ResolvedGroupDto } from '../uc/dto';\nimport { ClassFilterParams, ClassInfoSearchListResponse, ClassSortParams, GroupIdParams, GroupResponse } from './dto';\nimport { GroupResponseMapper } from './mapper';\n\n@ApiTags('Group')\n@Authenticate('jwt')\n@Controller('groups')\nexport class GroupController {\n\tconstructor(private readonly groupUc: GroupUc) {}\n\n\t@ApiOperation({ summary: 'Get a list of classes and groups of type class for the current user.' })\n\t@ApiResponse({ status: HttpStatus.OK, type: ClassInfoSearchListResponse })\n\t@ApiResponse({ status: '4XX', type: ErrorResponse })\n\t@ApiResponse({ status: '5XX', type: ErrorResponse })\n\t@Get('/class')\n\tpublic async findClasses(\n\t\t@Query() pagination: PaginationParams,\n\t\t@Query() sortingQuery: ClassSortParams,\n\t\t@Query() filterParams: ClassFilterParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst board: Page = await this.groupUc.findAllClasses(\n\t\t\tcurrentUser.userId,\n\t\t\tcurrentUser.schoolId,\n\t\t\tfilterParams.type,\n\t\t\tpagination.skip,\n\t\t\tpagination.limit,\n\t\t\tsortingQuery.sortBy,\n\t\t\tsortingQuery.sortOrder\n\t\t);\n\n\t\tconst response: ClassInfoSearchListResponse = GroupResponseMapper.mapToClassInfosToListResponse(\n\t\t\tboard,\n\t\t\tpagination.skip,\n\t\t\tpagination.limit\n\t\t);\n\n\t\treturn response;\n\t}\n\n\t@Get('/:groupId')\n\t@ApiOperation({ summary: 'Get a group by id.' })\n\t@ApiResponse({ status: HttpStatus.OK, type: GroupResponse })\n\t@ApiResponse({ status: '4XX', type: ErrorResponse })\n\t@ApiResponse({ status: '5XX', type: ErrorResponse })\n\tpublic async getGroup(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: GroupIdParams\n\t): Promise {\n\t\tconst group: ResolvedGroupDto = await this.groupUc.getGroup(currentUser.userId, params.groupId);\n\n\t\tconst response: GroupResponse = GroupResponseMapper.mapToGroupResponse(group);\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GroupDomainMapper.html":{"url":"classes/GroupDomainMapper.html","title":"class - GroupDomainMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GroupDomainMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/repo/group-domain.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapDomainObjectToEntityProperties\n \n \n Static\n mapEntityToDomainObjectProperties\n \n \n Static\n mapExternalSourceEntityToExternalSource\n \n \n Static\n mapExternalSourceToExternalSourceEntity\n \n \n Static\n mapGroupUserEntityToGroupUser\n \n \n Static\n mapGroupUserToGroupUserEntity\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapDomainObjectToEntityProperties\n \n \n \n \n \n \n \n mapDomainObjectToEntityProperties(group: Group, em: EntityManager)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/repo/group-domain.mapper.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n group\n \n Group\n \n\n \n No\n \n\n\n \n \n em\n \n EntityManager\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GroupEntityProps\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapEntityToDomainObjectProperties\n \n \n \n \n \n \n \n mapEntityToDomainObjectProperties(entity: GroupEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/repo/group-domain.mapper.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n GroupEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GroupProps\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapExternalSourceEntityToExternalSource\n \n \n \n \n \n \n \n mapExternalSourceEntityToExternalSource(entity: ExternalSourceEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/repo/group-domain.mapper.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n ExternalSourceEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalSource\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapExternalSourceToExternalSourceEntity\n \n \n \n \n \n \n \n mapExternalSourceToExternalSourceEntity(externalSource: ExternalSource, em: EntityManager)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/repo/group-domain.mapper.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalSource\n \n ExternalSource\n \n\n \n No\n \n\n\n \n \n em\n \n EntityManager\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalSourceEntity\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapGroupUserEntityToGroupUser\n \n \n \n \n \n \n \n mapGroupUserEntityToGroupUser(entity: GroupUserEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/repo/group-domain.mapper.ts:91\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n GroupUserEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GroupUser\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapGroupUserToGroupUserEntity\n \n \n \n \n \n \n \n mapGroupUserToGroupUserEntity(groupUser: GroupUser, em: EntityManager)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/repo/group-domain.mapper.ts:82\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n groupUser\n \n GroupUser\n \n\n \n No\n \n\n\n \n \n em\n \n EntityManager\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GroupUserEntity\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { EntityManager } from '@mikro-orm/mongodb';\nimport { ExternalSource } from '@shared/domain/domainobject';\nimport { ExternalSourceEntity, Role, SchoolEntity, SystemEntity, User } from '@shared/domain/entity';\nimport { Group, GroupProps, GroupTypes, GroupUser } from '../domain';\nimport { GroupEntity, GroupEntityProps, GroupEntityTypes, GroupUserEntity, GroupValidPeriodEntity } from '../entity';\n\nconst GroupEntityTypesToGroupTypesMapping: Record = {\n\t[GroupEntityTypes.CLASS]: GroupTypes.CLASS,\n};\n\nconst GroupTypesToGroupEntityTypesMapping: Record = {\n\t[GroupTypes.CLASS]: GroupEntityTypes.CLASS,\n};\n\nexport class GroupDomainMapper {\n\tstatic mapDomainObjectToEntityProperties(group: Group, em: EntityManager): GroupEntityProps {\n\t\tconst props: GroupProps = group.getProps();\n\n\t\tlet validPeriod: GroupValidPeriodEntity | undefined;\n\t\tif (props.validFrom && props.validUntil) {\n\t\t\tvalidPeriod = new GroupValidPeriodEntity({\n\t\t\t\tfrom: props.validFrom,\n\t\t\t\tuntil: props.validUntil,\n\t\t\t});\n\t\t}\n\n\t\tconst mapped: GroupEntityProps = {\n\t\t\tid: props.id,\n\t\t\tname: props.name,\n\t\t\ttype: GroupTypesToGroupEntityTypesMapping[props.type],\n\t\t\texternalSource: props.externalSource\n\t\t\t\t? this.mapExternalSourceToExternalSourceEntity(props.externalSource, em)\n\t\t\t\t: undefined,\n\t\t\tusers: props.users.map(\n\t\t\t\t(groupUser): GroupUserEntity => GroupDomainMapper.mapGroupUserToGroupUserEntity(groupUser, em)\n\t\t\t),\n\t\t\tvalidPeriod,\n\t\t\torganization: props.organizationId ? em.getReference(SchoolEntity, props.organizationId) : undefined,\n\t\t};\n\n\t\treturn mapped;\n\t}\n\n\tstatic mapEntityToDomainObjectProperties(entity: GroupEntity): GroupProps {\n\t\tconst mapped: GroupProps = {\n\t\t\tid: entity.id,\n\t\t\tusers: entity.users.map((groupUser): GroupUser => this.mapGroupUserEntityToGroupUser(groupUser)),\n\t\t\tvalidFrom: entity.validPeriod ? entity.validPeriod.from : undefined,\n\t\t\tvalidUntil: entity.validPeriod ? entity.validPeriod.until : undefined,\n\t\t\texternalSource: entity.externalSource\n\t\t\t\t? this.mapExternalSourceEntityToExternalSource(entity.externalSource)\n\t\t\t\t: undefined,\n\t\t\ttype: GroupEntityTypesToGroupTypesMapping[entity.type],\n\t\t\tname: entity.name,\n\t\t\torganizationId: entity.organization?.id,\n\t\t};\n\n\t\treturn mapped;\n\t}\n\n\tstatic mapExternalSourceToExternalSourceEntity(\n\t\texternalSource: ExternalSource,\n\t\tem: EntityManager\n\t): ExternalSourceEntity {\n\t\tconst mapped = new ExternalSourceEntity({\n\t\t\texternalId: externalSource.externalId,\n\t\t\tsystem: em.getReference(SystemEntity, externalSource.systemId),\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tstatic mapExternalSourceEntityToExternalSource(entity: ExternalSourceEntity): ExternalSource {\n\t\tconst mapped = new ExternalSource({\n\t\t\texternalId: entity.externalId,\n\t\t\tsystemId: entity.system.id,\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tstatic mapGroupUserToGroupUserEntity(groupUser: GroupUser, em: EntityManager): GroupUserEntity {\n\t\tconst mapped = new GroupUserEntity({\n\t\t\tuser: em.getReference(User, groupUser.userId),\n\t\t\trole: em.getReference(Role, groupUser.roleId),\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tstatic mapGroupUserEntityToGroupUser(entity: GroupUserEntity): GroupUser {\n\t\tconst mapped = new GroupUser({\n\t\t\tuserId: entity.user.id,\n\t\t\troleId: entity.role.id,\n\t\t});\n\n\t\treturn mapped;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/GroupEntity.html":{"url":"entities/GroupEntity.html","title":"entity - GroupEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n GroupEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/entity/group.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n externalSource\n \n \n \n name\n \n \n \n Optional\n organization\n \n \n \n type\n \n \n \n users\n \n \n \n Optional\n validPeriod\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n externalSource\n \n \n \n \n \n \n Type : ExternalSourceEntity\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/group/entity/group.entity.ts:38\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/group/entity/group.entity.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n organization\n \n \n \n \n \n \n Type : SchoolEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined, {nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/group/entity/group.entity.ts:47\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : GroupEntityTypes\n\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/group/entity/group.entity.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n users\n \n \n \n \n \n \n Type : GroupUserEntity[]\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {array: true})\n \n \n \n \n \n Defined in apps/server/src/modules/group/entity/group.entity.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n validPeriod\n \n \n \n \n \n \n Type : GroupValidPeriodEntity\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/group/entity/group.entity.ts:41\n \n \n\n\n \n \n\n \n\n\n \n import { Embedded, Entity, Enum, ManyToOne, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { ExternalSourceEntity } from '@shared/domain/entity/external-source.entity';\nimport { SchoolEntity } from '@shared/domain/entity/school.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { GroupUserEntity } from './group-user.entity';\nimport { GroupValidPeriodEntity } from './group-valid-period.entity';\n\nexport enum GroupEntityTypes {\n\tCLASS = 'class',\n}\n\nexport interface GroupEntityProps {\n\tid?: EntityId;\n\n\tname: string;\n\n\ttype: GroupEntityTypes;\n\n\texternalSource?: ExternalSourceEntity;\n\n\tvalidPeriod?: GroupValidPeriodEntity;\n\n\tusers: GroupUserEntity[];\n\n\torganization?: SchoolEntity;\n}\n\n@Entity({ tableName: 'groups' })\nexport class GroupEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tname: string;\n\n\t@Enum()\n\ttype: GroupEntityTypes;\n\n\t@Embedded(() => ExternalSourceEntity, { nullable: true })\n\texternalSource?: ExternalSourceEntity;\n\n\t@Embedded(() => GroupValidPeriodEntity, { nullable: true })\n\tvalidPeriod?: GroupValidPeriodEntity;\n\n\t@Embedded(() => GroupUserEntity, { array: true })\n\tusers: GroupUserEntity[];\n\n\t@ManyToOne(() => SchoolEntity, { nullable: true })\n\torganization?: SchoolEntity;\n\n\tconstructor(props: GroupEntityProps) {\n\t\tsuper();\n\t\tif (props.id) {\n\t\t\tthis.id = props.id;\n\t\t}\n\t\tthis.name = props.name;\n\t\tthis.type = props.type;\n\t\tthis.externalSource = props.externalSource;\n\t\tthis.validPeriod = props.validPeriod;\n\t\tthis.users = props.users;\n\t\tthis.organization = props.organization;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GroupEntityProps.html":{"url":"interfaces/GroupEntityProps.html","title":"interface - GroupEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GroupEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/entity/group.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n externalSource\n \n \n \n Optional\n \n id\n \n \n \n \n name\n \n \n \n Optional\n \n organization\n \n \n \n \n type\n \n \n \n \n users\n \n \n \n Optional\n \n validPeriod\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n externalSource\n \n \n \n \n \n \n \n \n externalSource: ExternalSourceEntity\n\n \n \n\n\n \n \n Type : ExternalSourceEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n organization\n \n \n \n \n \n \n \n \n organization: SchoolEntity\n\n \n \n\n\n \n \n Type : SchoolEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: GroupEntityTypes\n\n \n \n\n\n \n \n Type : GroupEntityTypes\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n users\n \n \n \n \n \n \n \n \n users: GroupUserEntity[]\n\n \n \n\n\n \n \n Type : GroupUserEntity[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n validPeriod\n \n \n \n \n \n \n \n \n validPeriod: GroupValidPeriodEntity\n\n \n \n\n\n \n \n Type : GroupValidPeriodEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Embedded, Entity, Enum, ManyToOne, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { ExternalSourceEntity } from '@shared/domain/entity/external-source.entity';\nimport { SchoolEntity } from '@shared/domain/entity/school.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { GroupUserEntity } from './group-user.entity';\nimport { GroupValidPeriodEntity } from './group-valid-period.entity';\n\nexport enum GroupEntityTypes {\n\tCLASS = 'class',\n}\n\nexport interface GroupEntityProps {\n\tid?: EntityId;\n\n\tname: string;\n\n\ttype: GroupEntityTypes;\n\n\texternalSource?: ExternalSourceEntity;\n\n\tvalidPeriod?: GroupValidPeriodEntity;\n\n\tusers: GroupUserEntity[];\n\n\torganization?: SchoolEntity;\n}\n\n@Entity({ tableName: 'groups' })\nexport class GroupEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tname: string;\n\n\t@Enum()\n\ttype: GroupEntityTypes;\n\n\t@Embedded(() => ExternalSourceEntity, { nullable: true })\n\texternalSource?: ExternalSourceEntity;\n\n\t@Embedded(() => GroupValidPeriodEntity, { nullable: true })\n\tvalidPeriod?: GroupValidPeriodEntity;\n\n\t@Embedded(() => GroupUserEntity, { array: true })\n\tusers: GroupUserEntity[];\n\n\t@ManyToOne(() => SchoolEntity, { nullable: true })\n\torganization?: SchoolEntity;\n\n\tconstructor(props: GroupEntityProps) {\n\t\tsuper();\n\t\tif (props.id) {\n\t\t\tthis.id = props.id;\n\t\t}\n\t\tthis.name = props.name;\n\t\tthis.type = props.type;\n\t\tthis.externalSource = props.externalSource;\n\t\tthis.validPeriod = props.validPeriod;\n\t\tthis.users = props.users;\n\t\tthis.organization = props.organization;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GroupIdParams.html":{"url":"classes/GroupIdParams.html","title":"class - GroupIdParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GroupIdParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/controller/dto/request/group-id-params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n groupId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n groupId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({nullable: false, required: true})\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/request/group-id-params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class GroupIdParams {\n\t@IsMongoId()\n\t@ApiProperty({ nullable: false, required: true })\n\tgroupId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/GroupModule.html":{"url":"modules/GroupModule.html","title":"module - GroupModule","body":"\n \n\n\n\n\n Modules\n GroupModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_GroupModule\n\n\n\ncluster_GroupModule_providers\n\n\n\ncluster_GroupModule_exports\n\n\n\n\nGroupService \n\nGroupService \n\n\n\nGroupModule\n\nGroupModule\n\nGroupService -->\n\nGroupModule->GroupService \n\n\n\n\n\nGroupRepo\n\nGroupRepo\n\nGroupModule -->\n\nGroupRepo->GroupModule\n\n\n\n\n\nGroupService\n\nGroupService\n\nGroupModule -->\n\nGroupService->GroupModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/group/group.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n GroupRepo\n \n \n GroupService\n \n \n \n \n Exports\n \n \n GroupService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { GroupRepo } from './repo';\nimport { GroupService } from './service';\n\n@Module({\n\tproviders: [GroupRepo, GroupService],\n\texports: [GroupService],\n})\nexport class GroupModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GroupNameIdTuple.html":{"url":"interfaces/GroupNameIdTuple.html","title":"interface - GroupNameIdTuple","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GroupNameIdTuple\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/interface/id-token.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n displayName\n \n \n \n \n gid\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n displayName\n \n \n \n \n \n \n \n \n displayName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n gid\n \n \n \n \n \n \n \n \n gid: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface IdToken {\n\tiframe?: string;\n\temail?: string;\n\tname?: string;\n\tuserId?: string;\n\tschoolId: string;\n\tgroups?: GroupNameIdTuple[];\n}\n\nexport interface GroupNameIdTuple {\n\tdisplayName: string;\n\tgid: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GroupProps.html":{"url":"interfaces/GroupProps.html","title":"interface - GroupProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GroupProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/domain/group.ts\n \n\n\n\n \n Extends\n \n \n AuthorizableObject\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n externalSource\n \n \n \n \n id\n \n \n \n \n name\n \n \n \n Optional\n \n organizationId\n \n \n \n \n type\n \n \n \n \n users\n \n \n \n Optional\n \n validFrom\n \n \n \n Optional\n \n validUntil\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n externalSource\n \n \n \n \n \n \n \n \n externalSource: ExternalSource\n\n \n \n\n\n \n \n Type : ExternalSource\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n organizationId\n \n \n \n \n \n \n \n \n organizationId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: GroupTypes\n\n \n \n\n\n \n \n Type : GroupTypes\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n users\n \n \n \n \n \n \n \n \n users: GroupUser[]\n\n \n \n\n\n \n \n Type : GroupUser[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n validFrom\n \n \n \n \n \n \n \n \n validFrom: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n validUntil\n \n \n \n \n \n \n \n \n validUntil: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { ExternalSource, type UserDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { GroupTypes } from './group-types';\nimport { GroupUser } from './group-user';\n\nexport interface GroupProps extends AuthorizableObject {\n\tid: EntityId;\n\n\tname: string;\n\n\ttype: GroupTypes;\n\n\tvalidFrom?: Date;\n\n\tvalidUntil?: Date;\n\n\texternalSource?: ExternalSource;\n\n\tusers: GroupUser[];\n\n\torganizationId?: string;\n}\n\nexport class Group extends DomainObject {\n\tget name(): string {\n\t\treturn this.props.name;\n\t}\n\n\tget users(): GroupUser[] {\n\t\treturn this.props.users;\n\t}\n\n\tset users(value: GroupUser[]) {\n\t\tthis.props.users = value;\n\t}\n\n\tget externalSource(): ExternalSource | undefined {\n\t\treturn this.props.externalSource;\n\t}\n\n\tget organizationId(): string | undefined {\n\t\treturn this.props.organizationId;\n\t}\n\n\tget type(): GroupTypes {\n\t\treturn this.props.type;\n\t}\n\n\tremoveUser(user: UserDO): void {\n\t\tthis.props.users = this.props.users.filter((groupUser: GroupUser): boolean => groupUser.userId !== user.id);\n\t}\n\n\tisEmpty(): boolean {\n\t\treturn this.props.users.length === 0;\n\t}\n\n\taddUser(user: GroupUser): void {\n\t\tif (!this.users.find((u) => u.userId === user.userId)) {\n\t\t\tthis.users.push(user);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/GroupRepo.html":{"url":"injectables/GroupRepo.html","title":"injectable - GroupRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n GroupRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/repo/group.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n delete\n \n \n Public\n Async\n findByExternalSource\n \n \n Public\n Async\n findById\n \n \n Public\n Async\n findByUser\n \n \n Public\n Async\n findClassesForSchool\n \n \n Public\n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/group/repo/group.repo.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n delete\n \n \n \n \n \n \n \n delete(domainObject: Group)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/repo/group.repo.ts:100\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n Group\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findByExternalSource\n \n \n \n \n \n \n \n findByExternalSource(externalId: string, systemId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/repo/group.repo.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalId\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/repo/group.repo.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findByUser\n \n \n \n \n \n \n \n findByUser(user: UserDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/repo/group.repo.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findClassesForSchool\n \n \n \n \n \n \n \n findClassesForSchool(schoolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/repo/group.repo.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n save\n \n \n \n \n \n \n \n save(domainObject: Group)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/repo/group.repo.ts:75\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n Group\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager, ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { type UserDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { Group, GroupProps } from '../domain';\nimport { GroupEntity, GroupEntityProps, GroupEntityTypes } from '../entity';\nimport { GroupDomainMapper } from './group-domain.mapper';\n\n@Injectable()\nexport class GroupRepo {\n\tconstructor(private readonly em: EntityManager) {}\n\n\tpublic async findById(id: EntityId): Promise {\n\t\tconst entity: GroupEntity | null = await this.em.findOne(GroupEntity, { id });\n\n\t\tif (!entity) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst props: GroupProps = GroupDomainMapper.mapEntityToDomainObjectProperties(entity);\n\n\t\tconst domainObject: Group = new Group(props);\n\n\t\treturn domainObject;\n\t}\n\n\tpublic async findByExternalSource(externalId: string, systemId: EntityId): Promise {\n\t\tconst entity: GroupEntity | null = await this.em.findOne(GroupEntity, {\n\t\t\texternalSource: {\n\t\t\t\texternalId,\n\t\t\t\tsystem: systemId,\n\t\t\t},\n\t\t});\n\n\t\tif (!entity) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst props: GroupProps = GroupDomainMapper.mapEntityToDomainObjectProperties(entity);\n\n\t\tconst domainObject: Group = new Group(props);\n\n\t\treturn domainObject;\n\t}\n\n\tpublic async findByUser(user: UserDO): Promise {\n\t\tconst entities: GroupEntity[] = await this.em.find(GroupEntity, {\n\t\t\tusers: { user: new ObjectId(user.id) },\n\t\t});\n\n\t\tconst domainObjects = entities.map((entity) => {\n\t\t\tconst props: GroupProps = GroupDomainMapper.mapEntityToDomainObjectProperties(entity);\n\n\t\t\treturn new Group(props);\n\t\t});\n\n\t\treturn domainObjects;\n\t}\n\n\tpublic async findClassesForSchool(schoolId: EntityId): Promise {\n\t\tconst entities: GroupEntity[] = await this.em.find(GroupEntity, {\n\t\t\ttype: GroupEntityTypes.CLASS,\n\t\t\torganization: schoolId,\n\t\t});\n\n\t\tconst domainObjects = entities.map((entity) => {\n\t\t\tconst props: GroupProps = GroupDomainMapper.mapEntityToDomainObjectProperties(entity);\n\n\t\t\treturn new Group(props);\n\t\t});\n\n\t\treturn domainObjects;\n\t}\n\n\tpublic async save(domainObject: Group): Promise {\n\t\tconst entityProps: GroupEntityProps = GroupDomainMapper.mapDomainObjectToEntityProperties(domainObject, this.em);\n\n\t\tconst newEntity: GroupEntity = new GroupEntity(entityProps);\n\n\t\tconst existingEntity: GroupEntity | null = await this.em.findOne(GroupEntity, { id: domainObject.id });\n\n\t\tlet savedEntity: GroupEntity;\n\t\tif (existingEntity) {\n\t\t\tsavedEntity = this.em.assign(existingEntity, newEntity);\n\t\t} else {\n\t\t\tthis.em.persist(newEntity);\n\n\t\t\tsavedEntity = newEntity;\n\t\t}\n\n\t\tawait this.em.flush();\n\n\t\tconst savedProps: GroupProps = GroupDomainMapper.mapEntityToDomainObjectProperties(savedEntity);\n\n\t\tconst savedDomainObject: Group = new Group(savedProps);\n\n\t\treturn savedDomainObject;\n\t}\n\n\tpublic async delete(domainObject: Group): Promise {\n\t\tconst entity: GroupEntity | null = await this.em.findOne(GroupEntity, { id: domainObject.id });\n\n\t\tif (!entity) {\n\t\t\treturn false;\n\t\t}\n\n\t\tawait this.em.removeAndFlush(entity);\n\n\t\treturn true;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GroupResponse.html":{"url":"classes/GroupResponse.html","title":"class - GroupResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GroupResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/controller/dto/response/group.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n externalSource\n \n \n \n id\n \n \n \n name\n \n \n \n Optional\n organizationId\n \n \n \n type\n \n \n \n users\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(group: GroupResponse)\n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/group.response.ts:23\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n group\n \n \n GroupResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n externalSource\n \n \n \n \n \n \n Type : ExternalSourceResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/group.response.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/group.response.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/group.response.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n organizationId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/group.response.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : GroupTypeResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: GroupTypeResponse})\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/group.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n users\n \n \n \n \n \n \n Type : GroupUserResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/group.response.ts:17\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { ExternalSourceResponse } from './external-source.response';\nimport { GroupTypeResponse } from './group-type.response';\nimport { GroupUserResponse } from './group-user.response';\n\nexport class GroupResponse {\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\tname: string;\n\n\t@ApiProperty({ enum: GroupTypeResponse })\n\ttype: GroupTypeResponse;\n\n\t@ApiProperty({ type: [GroupUserResponse] })\n\tusers: GroupUserResponse[];\n\n\t@ApiPropertyOptional()\n\texternalSource?: ExternalSourceResponse;\n\n\t@ApiPropertyOptional()\n\torganizationId?: string;\n\n\tconstructor(group: GroupResponse) {\n\t\tthis.id = group.id;\n\t\tthis.name = group.name;\n\t\tthis.type = group.type;\n\t\tthis.users = group.users;\n\t\tthis.externalSource = group.externalSource;\n\t\tthis.organizationId = group.organizationId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GroupResponseMapper.html":{"url":"classes/GroupResponseMapper.html","title":"class - GroupResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GroupResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/controller/mapper/group-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToClassInfosToListResponse\n \n \n Private\n Static\n mapToClassInfoToResponse\n \n \n Static\n mapToGroupResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToClassInfosToListResponse\n \n \n \n \n \n \n \n mapToClassInfosToListResponse(classInfos: Page, skip?: number, limit?: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/controller/mapper/group-response.mapper.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n classInfos\n \n Page\n \n\n \n No\n \n\n\n \n \n skip\n \n number\n \n\n \n Yes\n \n\n\n \n \n limit\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : ClassInfoSearchListResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n mapToClassInfoToResponse\n \n \n \n \n \n \n \n mapToClassInfoToResponse(classInfo: ClassInfoDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/controller/mapper/group-response.mapper.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n classInfo\n \n ClassInfoDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ClassInfoResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToGroupResponse\n \n \n \n \n \n \n \n mapToGroupResponse(resolvedGroup: ResolvedGroupDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/controller/mapper/group-response.mapper.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n resolvedGroup\n \n ResolvedGroupDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GroupResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Page } from '@shared/domain/domainobject';\nimport { GroupTypes } from '../../domain';\nimport { ClassInfoDto, ResolvedGroupDto } from '../../uc/dto';\nimport {\n\tClassInfoResponse,\n\tClassInfoSearchListResponse,\n\tExternalSourceResponse,\n\tGroupResponse,\n\tGroupTypeResponse,\n\tGroupUserResponse,\n} from '../dto';\n\nconst typeMapping: Record = {\n\t[GroupTypes.CLASS]: GroupTypeResponse.CLASS,\n};\n\nexport class GroupResponseMapper {\n\tstatic mapToClassInfosToListResponse(\n\t\tclassInfos: Page,\n\t\tskip?: number,\n\t\tlimit?: number\n\t): ClassInfoSearchListResponse {\n\t\tconst mappedData: ClassInfoResponse[] = classInfos.data.map((classInfo) =>\n\t\t\tthis.mapToClassInfoToResponse(classInfo)\n\t\t);\n\n\t\tconst response: ClassInfoSearchListResponse = new ClassInfoSearchListResponse(\n\t\t\tmappedData,\n\t\t\tclassInfos.total,\n\t\t\tskip,\n\t\t\tlimit\n\t\t);\n\n\t\treturn response;\n\t}\n\n\tprivate static mapToClassInfoToResponse(classInfo: ClassInfoDto): ClassInfoResponse {\n\t\tconst mapped = new ClassInfoResponse({\n\t\t\tid: classInfo.id,\n\t\t\ttype: classInfo.type,\n\t\t\tname: classInfo.name,\n\t\t\texternalSourceName: classInfo.externalSourceName,\n\t\t\tteachers: classInfo.teacherNames,\n\t\t\tschoolYear: classInfo.schoolYear,\n\t\t\tisUpgradable: classInfo.isUpgradable,\n\t\t\tstudentCount: classInfo.studentCount,\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tstatic mapToGroupResponse(resolvedGroup: ResolvedGroupDto): GroupResponse {\n\t\tconst mapped: GroupResponse = new GroupResponse({\n\t\t\tid: resolvedGroup.id,\n\t\t\tname: resolvedGroup.name,\n\t\t\ttype: typeMapping[resolvedGroup.type],\n\t\t\texternalSource: resolvedGroup.externalSource\n\t\t\t\t? new ExternalSourceResponse({\n\t\t\t\t\t\texternalId: resolvedGroup.externalSource.externalId,\n\t\t\t\t\t\tsystemId: resolvedGroup.externalSource.systemId,\n\t\t\t\t })\n\t\t\t\t: undefined,\n\t\t\tusers: resolvedGroup.users.map(\n\t\t\t\t(user) =>\n\t\t\t\t\tnew GroupUserResponse({\n\t\t\t\t\t\tid: user.user.id as string,\n\t\t\t\t\t\trole: user.role.name,\n\t\t\t\t\t\tfirstName: user.user.firstName,\n\t\t\t\t\t\tlastName: user.user.lastName,\n\t\t\t\t\t})\n\t\t\t),\n\t\t\torganizationId: resolvedGroup.organizationId,\n\t\t});\n\n\t\treturn mapped;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GroupRoleUnknownLoggable.html":{"url":"classes/GroupRoleUnknownLoggable.html","title":"class - GroupRoleUnknownLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GroupRoleUnknownLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/loggable/group-role-unknown.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(relation: SanisSonstigeGruppenzugehoerigeResponse)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/loggable/group-role-unknown.loggable.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n relation\n \n \n SanisSonstigeGruppenzugehoerigeResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/loggable/group-role-unknown.loggable.ts:7\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { SanisSonstigeGruppenzugehoerigeResponse } from '../strategy/sanis/response';\n\nexport class GroupRoleUnknownLoggable implements Loggable {\n\tconstructor(private readonly relation: SanisSonstigeGruppenzugehoerigeResponse) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'Unable to add unknown user to group during provisioning.',\n\t\t\tdata: {\n\t\t\t\texternalUserId: this.relation.ktid,\n\t\t\t\texternalRoleName: this.relation.rollen?.[0],\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/GroupRule.html":{"url":"injectables/GroupRule.html","title":"injectable - GroupRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n GroupRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/group.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/group.rule.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, domainObject: Group, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/group.rule.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n domainObject\n \n Group\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, domainObject: Group)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/group.rule.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n domainObject\n \n Group\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { User } from '@shared/domain/entity';\nimport { Group } from '@src/modules/group';\nimport { AuthorizationHelper } from '../service/authorization.helper';\nimport { AuthorizationContext, Rule } from '../type';\n\n@Injectable()\nexport class GroupRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper) {}\n\n\tpublic isApplicable(user: User, domainObject: Group): boolean {\n\t\tconst isMatched: boolean = domainObject instanceof Group;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, domainObject: Group, context: AuthorizationContext): boolean {\n\t\tconst hasPermission: boolean =\n\t\t\tthis.authorizationHelper.hasAllPermissions(user, context.requiredPermissions) &&\n\t\t\t(domainObject.organizationId ? user.school.id === domainObject.organizationId : true);\n\n\t\treturn hasPermission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/GroupService.html":{"url":"injectables/GroupService.html","title":"injectable - GroupService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n GroupService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/service/group.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n delete\n \n \n Public\n Async\n findByExternalSource\n \n \n Public\n Async\n findById\n \n \n Public\n Async\n findByUser\n \n \n Public\n Async\n findClassesForSchool\n \n \n Public\n Async\n save\n \n \n Public\n Async\n tryFindById\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(groupRepo: GroupRepo)\n \n \n \n \n Defined in apps/server/src/modules/group/service/group.service.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n groupRepo\n \n \n GroupRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n delete\n \n \n \n \n \n \n \n delete(group: Group)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/service/group.service.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n group\n \n Group\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findByExternalSource\n \n \n \n \n \n \n \n findByExternalSource(externalId: string, systemId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/service/group.service.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalId\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/service/group.service.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findByUser\n \n \n \n \n \n \n \n findByUser(user: UserDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/service/group.service.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findClassesForSchool\n \n \n \n \n \n \n \n findClassesForSchool(schoolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/service/group.service.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n save\n \n \n \n \n \n \n \n save(group: Group)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/service/group.service.ts:47\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n group\n \n Group\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n tryFindById\n \n \n \n \n \n \n \n tryFindById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/service/group.service.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationLoaderServiceGeneric } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { type UserDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { Group } from '../domain';\nimport { GroupRepo } from '../repo';\n\n@Injectable()\nexport class GroupService implements AuthorizationLoaderServiceGeneric {\n\tconstructor(private readonly groupRepo: GroupRepo) {}\n\n\tpublic async findById(id: EntityId): Promise {\n\t\tconst group: Group | null = await this.groupRepo.findById(id);\n\n\t\tif (!group) {\n\t\t\tthrow new NotFoundLoggableException(Group.name, 'id', id);\n\t\t}\n\n\t\treturn group;\n\t}\n\n\tpublic async tryFindById(id: EntityId): Promise {\n\t\tconst group: Group | null = await this.groupRepo.findById(id);\n\n\t\treturn group;\n\t}\n\n\tpublic async findByExternalSource(externalId: string, systemId: EntityId): Promise {\n\t\tconst group: Group | null = await this.groupRepo.findByExternalSource(externalId, systemId);\n\n\t\treturn group;\n\t}\n\n\tpublic async findByUser(user: UserDO): Promise {\n\t\tconst groups: Group[] = await this.groupRepo.findByUser(user);\n\n\t\treturn groups;\n\t}\n\n\tpublic async findClassesForSchool(schoolId: EntityId): Promise {\n\t\tconst group: Group[] = await this.groupRepo.findClassesForSchool(schoolId);\n\n\t\treturn group;\n\t}\n\n\tpublic async save(group: Group): Promise {\n\t\tconst savedGroup: Group = await this.groupRepo.save(group);\n\n\t\treturn savedGroup;\n\t}\n\n\tpublic async delete(group: Group): Promise {\n\t\tawait this.groupRepo.delete(group);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GroupUcMapper.html":{"url":"classes/GroupUcMapper.html","title":"class - GroupUcMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GroupUcMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/uc/mapper/group-uc.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapClassToClassInfoDto\n \n \n Static\n mapGroupToClassInfoDto\n \n \n Static\n mapToResolvedGroupDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapClassToClassInfoDto\n \n \n \n \n \n \n \n mapClassToClassInfoDto(clazz: Class, teachers: UserDO[], schoolYear?: SchoolYearEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/uc/mapper/group-uc.mapper.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n clazz\n \n Class\n \n\n \n No\n \n\n\n \n \n teachers\n \n UserDO[]\n \n\n \n No\n \n\n\n \n \n schoolYear\n \n SchoolYearEntity\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : ClassInfoDto\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapGroupToClassInfoDto\n \n \n \n \n \n \n \n mapGroupToClassInfoDto(group: Group, resolvedUsers: ResolvedGroupUser[], system?: SystemDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/uc/mapper/group-uc.mapper.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n group\n \n Group\n \n\n \n No\n \n\n\n \n \n resolvedUsers\n \n ResolvedGroupUser[]\n \n\n \n No\n \n\n\n \n \n system\n \n SystemDto\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : ClassInfoDto\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToResolvedGroupDto\n \n \n \n \n \n \n \n mapToResolvedGroupDto(group: Group, resolvedGroupUsers: ResolvedGroupUser[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/uc/mapper/group-uc.mapper.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n group\n \n Group\n \n\n \n No\n \n\n\n \n \n resolvedGroupUsers\n \n ResolvedGroupUser[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ResolvedGroupDto\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Class } from '@modules/class/domain';\nimport { SystemDto } from '@modules/system';\n\nimport { UserDO } from '@shared/domain/domainobject';\nimport { SchoolYearEntity } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { Group } from '../../domain';\nimport { ClassInfoDto, ResolvedGroupDto, ResolvedGroupUser } from '../dto';\nimport { ClassRootType } from '../dto/class-root-type';\n\nexport class GroupUcMapper {\n\tpublic static mapGroupToClassInfoDto(\n\t\tgroup: Group,\n\t\tresolvedUsers: ResolvedGroupUser[],\n\t\tsystem?: SystemDto\n\t): ClassInfoDto {\n\t\tconst mapped: ClassInfoDto = new ClassInfoDto({\n\t\t\tid: group.id,\n\t\t\ttype: ClassRootType.GROUP,\n\t\t\tname: group.name,\n\t\t\texternalSourceName: system?.displayName,\n\t\t\tteacherNames: resolvedUsers\n\t\t\t\t.filter((groupUser: ResolvedGroupUser) => groupUser.role.name === RoleName.TEACHER)\n\t\t\t\t.map((groupUser: ResolvedGroupUser) => groupUser.user.lastName),\n\t\t\tstudentCount: resolvedUsers.filter((groupUser: ResolvedGroupUser) => groupUser.role.name === RoleName.STUDENT)\n\t\t\t\t.length,\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tpublic static mapClassToClassInfoDto(clazz: Class, teachers: UserDO[], schoolYear?: SchoolYearEntity): ClassInfoDto {\n\t\tconst name = clazz.gradeLevel ? `${clazz.gradeLevel}${clazz.name}` : clazz.name;\n\t\tconst isUpgradable = clazz.gradeLevel !== 13 && !clazz.successor;\n\n\t\tconst mapped: ClassInfoDto = new ClassInfoDto({\n\t\t\tid: clazz.id,\n\t\t\ttype: ClassRootType.CLASS,\n\t\t\tname,\n\t\t\texternalSourceName: clazz.source,\n\t\t\tteacherNames: teachers.map((user: UserDO) => user.lastName),\n\t\t\tschoolYear: schoolYear?.name,\n\t\t\tisUpgradable,\n\t\t\tstudentCount: clazz.userIds ? clazz.userIds.length : 0,\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tpublic static mapToResolvedGroupDto(group: Group, resolvedGroupUsers: ResolvedGroupUser[]): ResolvedGroupDto {\n\t\tconst mapped: ResolvedGroupDto = new ResolvedGroupDto({\n\t\t\tid: group.id,\n\t\t\tname: group.name,\n\t\t\ttype: group.type,\n\t\t\texternalSource: group.externalSource,\n\t\t\tusers: resolvedGroupUsers,\n\t\t});\n\n\t\treturn mapped;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GroupUser.html":{"url":"classes/GroupUser.html","title":"class - GroupUser","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GroupUser\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/domain/group-user.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n roleId\n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: GroupUser)\n \n \n \n \n Defined in apps/server/src/modules/group/domain/group-user.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n GroupUser\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n roleId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/group/domain/group-user.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/group/domain/group-user.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\n\nexport class GroupUser {\n\tuserId: EntityId;\n\n\troleId: EntityId;\n\n\tconstructor(props: GroupUser) {\n\t\tthis.userId = props.userId;\n\t\tthis.roleId = props.roleId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GroupUserEntity.html":{"url":"classes/GroupUserEntity.html","title":"class - GroupUserEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GroupUserEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/entity/group-user.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n role\n \n \n \n user\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: GroupUserEntityProps)\n \n \n \n \n Defined in apps/server/src/modules/group/entity/group-user.entity.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n GroupUserEntityProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n role\n \n \n \n \n \n \n Type : Role\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/group/entity/group-user.entity.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n user\n \n \n \n \n \n \n Type : User\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/group/entity/group-user.entity.ts:13\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, ManyToOne } from '@mikro-orm/core';\nimport { Role, User } from '@shared/domain/entity';\n\nexport interface GroupUserEntityProps {\n\tuser: User;\n\n\trole: Role;\n}\n\n@Embeddable()\nexport class GroupUserEntity {\n\t@ManyToOne(() => User)\n\tuser: User;\n\n\t@ManyToOne(() => Role)\n\trole: Role;\n\n\tconstructor(props: GroupUserEntityProps) {\n\t\tthis.user = props.user;\n\t\tthis.role = props.role;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GroupUserEntityProps.html":{"url":"interfaces/GroupUserEntityProps.html","title":"interface - GroupUserEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GroupUserEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/entity/group-user.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n role\n \n \n \n \n user\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n role\n \n \n \n \n \n \n \n \n role: Role\n\n \n \n\n\n \n \n Type : Role\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n user\n \n \n \n \n \n \n \n \n user: User\n\n \n \n\n\n \n \n Type : User\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Embeddable, ManyToOne } from '@mikro-orm/core';\nimport { Role, User } from '@shared/domain/entity';\n\nexport interface GroupUserEntityProps {\n\tuser: User;\n\n\trole: Role;\n}\n\n@Embeddable()\nexport class GroupUserEntity {\n\t@ManyToOne(() => User)\n\tuser: User;\n\n\t@ManyToOne(() => Role)\n\trole: Role;\n\n\tconstructor(props: GroupUserEntityProps) {\n\t\tthis.user = props.user;\n\t\tthis.role = props.role;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GroupUserResponse.html":{"url":"classes/GroupUserResponse.html","title":"class - GroupUserResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GroupUserResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/controller/dto/response/group-user.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n firstName\n \n \n \n id\n \n \n \n lastName\n \n \n \n role\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(user: GroupUserResponse)\n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/group-user.response.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n \n GroupUserResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/group-user.response.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/group-user.response.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/group-user.response.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n role\n \n \n \n \n \n \n Type : RoleName\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: RoleName})\n \n \n \n \n \n Defined in apps/server/src/modules/group/controller/dto/response/group-user.response.ts:15\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { RoleName } from '@shared/domain/interface';\n\nexport class GroupUserResponse {\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\tfirstName: string;\n\n\t@ApiProperty()\n\tlastName: string;\n\n\t@ApiProperty({ enum: RoleName })\n\trole: RoleName;\n\n\tconstructor(user: GroupUserResponse) {\n\t\tthis.id = user.id;\n\t\tthis.firstName = user.firstName;\n\t\tthis.lastName = user.lastName;\n\t\tthis.role = user.role;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GroupUsers.html":{"url":"interfaces/GroupUsers.html","title":"interface - GroupUsers","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GroupUsers\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n users\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n users\n \n \n \n \n \n \n \n \n users: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface NextcloudGroups {\n\tgroups: string[];\n}\n\nexport interface OcsResponse {\n\tocs: {\n\t\tdata: T;\n\t\tmeta: Meta;\n\t};\n}\n\nexport interface Meta {\n\tstatus: string;\n\tstatuscode: number;\n\tmessage: string;\n\ttotalitems: string;\n\titemsperpage: string;\n}\n\nexport interface SuccessfulRes {\n\tsuccess: boolean;\n}\n\nexport interface GroupUsers {\n\tusers: string[];\n}\n\n// Groupfolders Responses\n\nexport interface GroupfoldersFolder {\n\tfolder_id: number;\n}\n\nexport interface GroupfoldersCreated {\n\tid: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GroupValidPeriodEntity.html":{"url":"classes/GroupValidPeriodEntity.html","title":"class - GroupValidPeriodEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GroupValidPeriodEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/entity/group-valid-period.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n from\n \n \n \n until\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: GroupValidPeriodEntityProps)\n \n \n \n \n Defined in apps/server/src/modules/group/entity/group-valid-period.entity.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n GroupValidPeriodEntityProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n from\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/group/entity/group-valid-period.entity.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n until\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/group/entity/group-valid-period.entity.ts:15\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Property } from '@mikro-orm/core';\n\nexport interface GroupValidPeriodEntityProps {\n\tfrom: Date;\n\n\tuntil: Date;\n}\n\n@Embeddable()\nexport class GroupValidPeriodEntity {\n\t@Property()\n\tfrom: Date;\n\n\t@Property()\n\tuntil: Date;\n\n\tconstructor(props: GroupValidPeriodEntityProps) {\n\t\tthis.from = props.from;\n\t\tthis.until = props.until;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GroupValidPeriodEntityProps.html":{"url":"interfaces/GroupValidPeriodEntityProps.html","title":"interface - GroupValidPeriodEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GroupValidPeriodEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/entity/group-valid-period.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n from\n \n \n \n \n until\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n from\n \n \n \n \n \n \n \n \n from: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n until\n \n \n \n \n \n \n \n \n until: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Embeddable, Property } from '@mikro-orm/core';\n\nexport interface GroupValidPeriodEntityProps {\n\tfrom: Date;\n\n\tuntil: Date;\n}\n\n@Embeddable()\nexport class GroupValidPeriodEntity {\n\t@Property()\n\tfrom: Date;\n\n\t@Property()\n\tuntil: Date;\n\n\tconstructor(props: GroupValidPeriodEntityProps) {\n\t\tthis.from = props.from;\n\t\tthis.until = props.until;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GroupfoldersCreated.html":{"url":"interfaces/GroupfoldersCreated.html","title":"interface - GroupfoldersCreated","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GroupfoldersCreated\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface NextcloudGroups {\n\tgroups: string[];\n}\n\nexport interface OcsResponse {\n\tocs: {\n\t\tdata: T;\n\t\tmeta: Meta;\n\t};\n}\n\nexport interface Meta {\n\tstatus: string;\n\tstatuscode: number;\n\tmessage: string;\n\ttotalitems: string;\n\titemsperpage: string;\n}\n\nexport interface SuccessfulRes {\n\tsuccess: boolean;\n}\n\nexport interface GroupUsers {\n\tusers: string[];\n}\n\n// Groupfolders Responses\n\nexport interface GroupfoldersFolder {\n\tfolder_id: number;\n}\n\nexport interface GroupfoldersCreated {\n\tid: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/GroupfoldersFolder.html":{"url":"interfaces/GroupfoldersFolder.html","title":"interface - GroupfoldersFolder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n GroupfoldersFolder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n folder_id\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n folder_id\n \n \n \n \n \n \n \n \n folder_id: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface NextcloudGroups {\n\tgroups: string[];\n}\n\nexport interface OcsResponse {\n\tocs: {\n\t\tdata: T;\n\t\tmeta: Meta;\n\t};\n}\n\nexport interface Meta {\n\tstatus: string;\n\tstatuscode: number;\n\tmessage: string;\n\ttotalitems: string;\n\titemsperpage: string;\n}\n\nexport interface SuccessfulRes {\n\tsuccess: boolean;\n}\n\nexport interface GroupUsers {\n\tusers: string[];\n}\n\n// Groupfolders Responses\n\nexport interface GroupfoldersFolder {\n\tfolder_id: number;\n}\n\nexport interface GroupfoldersCreated {\n\tid: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/GuardAgainst.html":{"url":"classes/GuardAgainst.html","title":"class - GuardAgainst","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n GuardAgainst\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/utils/guard-against.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n nullOrUndefined\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n nullOrUndefined\n \n \n \n \n \n \n \n nullOrUndefined(value: T | null | undefined, toThrow)\n \n \n\n\n \n \n Defined in apps/server/src/shared/common/utils/guard-against.ts:8\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n Guards against null or undefined and throws specified exception.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n value\n \n T | null | undefined\n \n\n \n No\n \n\n\n \n The value to check.\n\n \n \n \n toThrow\n \n \n\n \n No\n \n\n\n \n The exception to be thrown on failure.\n\n \n \n \n \n \n \n Returns : T | never\n\n \n \n The narrowed value or throws.\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n export class GuardAgainst {\n\t/**\n\t * Guards against null or undefined and throws specified exception.\n\t * @param value The value to check.\n\t * @param toThrow The exception to be thrown on failure.\n\t * @returns The narrowed value or throws.\n\t */\n\tstatic nullOrUndefined(value: T | null | undefined, toThrow: unknown): T | never {\n\t\tif (value === null || value === undefined) {\n\t\t\tthrow toThrow;\n\t\t}\n\t\treturn value;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/H5PContent.html":{"url":"entities/H5PContent.html","title":"entity - H5PContent","body":"\n \n\n\n\n\n\n\n\n Entities\n H5PContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n _creatorId\n \n \n \n \n _parentId\n \n \n \n _schoolId\n \n \n \n content\n \n \n \n metadata\n \n \n \n \n parentType\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n _creatorId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'creator'})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:122\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n _parentId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Index()@Property({fieldName: 'parent'})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:134\n \n \n\n\n \n \n \n \n \n \n \n \n \n _schoolId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'school'})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:141\n \n \n\n\n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Decorators : \n \n \n @Property({type: JsonType})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:151\n \n \n\n\n \n \n \n \n \n \n \n \n \n metadata\n \n \n \n \n \n \n Type : ContentMetadata\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:148\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n Type : H5PContentParentType\n\n \n \n \n \n Decorators : \n \n \n @Index()@Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts:130\n \n \n\n\n \n \n\n \n\n\n \n import { IContentMetadata, ILibraryName } from '@lumieducation/h5p-server';\nimport { IContentAuthor, IContentChange } from '@lumieducation/h5p-server/build/src/types';\nimport { Embeddable, Embedded, Entity, Enum, Index, JsonType, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\n\n@Embeddable()\nexport class ContentMetadata implements IContentMetadata {\n\t@Property({ nullable: true })\n\tdynamicDependencies?: ILibraryName[];\n\n\t@Property({ nullable: true })\n\teditorDependencies?: ILibraryName[];\n\n\t@Property()\n\tembedTypes: ('iframe' | 'div')[];\n\n\t@Property({ nullable: true })\n\th?: string;\n\n\t@Property()\n\tlanguage: string;\n\n\t@Property()\n\tmainLibrary: string;\n\n\t@Property({ nullable: true })\n\tmetaDescription?: string;\n\n\t@Property({ nullable: true })\n\tmetaKeywords?: string;\n\n\t@Property()\n\tpreloadedDependencies: ILibraryName[];\n\n\t@Property({ nullable: true })\n\tw?: string;\n\n\t@Property()\n\tdefaultLanguage: string;\n\n\t@Property({ nullable: true })\n\ta11yTitle?: string;\n\n\t@Property()\n\tlicense: string;\n\n\t@Property({ nullable: true })\n\tlicenseVersion?: string;\n\n\t@Property({ nullable: true })\n\tyearFrom?: string;\n\n\t@Property({ nullable: true })\n\tyearTo?: string;\n\n\t@Property({ nullable: true })\n\tsource?: string;\n\n\t@Property()\n\ttitle: string;\n\n\t@Property({ nullable: true })\n\tauthors?: IContentAuthor[];\n\n\t@Property({ nullable: true })\n\tlicenseExtras?: string;\n\n\t@Property({ nullable: true })\n\tchanges?: IContentChange[];\n\n\t@Property({ nullable: true })\n\tauthorComments?: string;\n\n\t@Property({ nullable: true })\n\tcontentType?: string;\n\n\tconstructor(metadata: IContentMetadata) {\n\t\tthis.embedTypes = metadata.embedTypes;\n\t\tthis.language = metadata.language;\n\t\tthis.mainLibrary = metadata.mainLibrary;\n\t\tthis.defaultLanguage = metadata.defaultLanguage;\n\t\tthis.license = metadata.license;\n\t\tthis.title = metadata.title;\n\t\tthis.preloadedDependencies = metadata.preloadedDependencies;\n\t\tthis.dynamicDependencies = metadata.dynamicDependencies;\n\t\tthis.editorDependencies = metadata.editorDependencies;\n\t\tthis.h = metadata.h;\n\t\tthis.metaDescription = metadata.metaDescription;\n\t\tthis.metaKeywords = metadata.metaKeywords;\n\t\tthis.w = metadata.w;\n\t\tthis.a11yTitle = metadata.a11yTitle;\n\t\tthis.licenseVersion = metadata.licenseVersion;\n\t\tthis.yearFrom = metadata.yearFrom;\n\t\tthis.yearTo = metadata.yearTo;\n\t\tthis.source = metadata.source;\n\t\tthis.authors = metadata.authors;\n\t\tthis.licenseExtras = metadata.licenseExtras;\n\t\tthis.changes = metadata.changes;\n\t\tthis.authorComments = metadata.authorComments;\n\t\tthis.contentType = metadata.contentType;\n\t}\n}\n\nexport enum H5PContentParentType {\n\t'Lesson' = 'lessons',\n}\n\nexport interface H5PContentProperties {\n\tcreatorId: EntityId;\n\tparentType: H5PContentParentType;\n\tparentId: EntityId;\n\tschoolId: EntityId;\n\tmetadata: ContentMetadata;\n\tcontent: unknown;\n}\n\n@Entity({ tableName: 'h5p-editor-content' })\nexport class H5PContent extends BaseEntityWithTimestamps {\n\t@Property({ fieldName: 'creator' })\n\t_creatorId: ObjectId;\n\n\tget creatorId(): EntityId {\n\t\treturn this._creatorId.toHexString();\n\t}\n\n\t@Index()\n\t@Enum()\n\tparentType: H5PContentParentType;\n\n\t@Index()\n\t@Property({ fieldName: 'parent' })\n\t_parentId: ObjectId;\n\n\tget parentId(): EntityId {\n\t\treturn this._parentId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'school' })\n\t_schoolId: ObjectId;\n\n\tget schoolId(): EntityId {\n\t\treturn this._schoolId.toHexString();\n\t}\n\n\t@Embedded(() => ContentMetadata)\n\tmetadata: ContentMetadata;\n\n\t@Property({ type: JsonType })\n\tcontent: unknown;\n\n\tconstructor({ parentType, parentId, creatorId, schoolId, metadata, content }: H5PContentProperties) {\n\t\tsuper();\n\n\t\tthis.parentType = parentType;\n\t\tthis._parentId = new ObjectId(parentId);\n\t\tthis._creatorId = new ObjectId(creatorId);\n\t\tthis._schoolId = new ObjectId(schoolId);\n\n\t\tthis.metadata = metadata;\n\t\tthis.content = content;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/H5PContentFactory.html":{"url":"classes/H5PContentFactory.html","title":"class - H5PContentFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n H5PContentFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/h5p-content.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import {\n\tContentMetadata,\n\tH5PContent,\n\tH5PContentParentType,\n\tH5PContentProperties,\n} from '@src/modules/h5p-editor/entity';\nimport { ObjectID } from 'bson';\nimport { BaseFactory } from './base.factory';\n\nclass H5PContentFactory extends BaseFactory {}\n\nexport const h5pContentFactory = H5PContentFactory.define(H5PContent, ({ sequence }) => {\n\treturn {\n\t\tparentType: H5PContentParentType.Lesson,\n\t\tparentId: new ObjectID().toHexString(),\n\t\tcreatorId: new ObjectID().toHexString(),\n\t\tschoolId: new ObjectID().toHexString(),\n\t\tcontent: {\n\t\t\t[`field${sequence}`]: sequence,\n\t\t\tdateField: new Date(sequence),\n\t\t\tthisObjectHasNoStructure: true,\n\t\t\tnested: {\n\t\t\t\tworks: true,\n\t\t\t},\n\t\t},\n\t\tmetadata: new ContentMetadata({\n\t\t\tdefaultLanguage: 'de-de',\n\t\t\tembedTypes: ['iframe'],\n\t\t\tlanguage: 'de-de',\n\t\t\tlicense: `License #${sequence}`,\n\t\t\tmainLibrary: `Library-${sequence}.0`,\n\t\t\tpreloadedDependencies: [],\n\t\t\ttitle: `Title #${sequence}`,\n\t\t}),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/H5PContentMapper.html":{"url":"classes/H5PContentMapper.html","title":"class - H5PContentMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n H5PContentMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/mapper/h5p-content.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToAllowedAuthorizationEntityType\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToAllowedAuthorizationEntityType\n \n \n \n \n \n \n \n mapToAllowedAuthorizationEntityType(type: H5PContentParentType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/mapper/h5p-content.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n H5PContentParentType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AuthorizableReferenceType\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { NotImplementedException } from '@nestjs/common';\nimport { AuthorizableReferenceType } from '@src/modules/authorization/domain';\nimport { H5PContentParentType } from '../entity';\n\nexport class H5PContentMapper {\n\tstatic mapToAllowedAuthorizationEntityType(type: H5PContentParentType): AuthorizableReferenceType {\n\t\tconst types = new Map();\n\n\t\ttypes.set(H5PContentParentType.Lesson, AuthorizableReferenceType.Lesson);\n\n\t\tconst res = types.get(type);\n\n\t\tif (!res) {\n\t\t\tthrow new NotImplementedException();\n\t\t}\n\n\t\treturn res;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/H5PContentMetadata.html":{"url":"classes/H5PContentMetadata.html","title":"class - H5PContentMetadata","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n H5PContentMetadata\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n mainLibrary\n \n \n \n title\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(metadata: IContentMetadata)\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:61\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n metadata\n \n \n IContentMetadata\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n mainLibrary\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:71\n \n \n\n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:68\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ContentParameters, IContentMetadata, IEditorModel, IIntegration } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { Readable } from 'stream';\n\nexport class H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel) {\n\t\tthis.integration = editorModel.integration;\n\t\tthis.scripts = editorModel.scripts;\n\t\tthis.styles = editorModel.styles;\n\t}\n\n\t@ApiProperty()\n\tintegration: IIntegration;\n\n\t// This is a list of URLs that point to the Javascript files the H5P editor needs to load\n\t@ApiProperty()\n\tscripts: string[];\n\n\t// This is a list of URLs that point to the CSS files the H5P editor needs to load\n\t@ApiProperty()\n\tstyles: string[];\n}\n\nexport interface GetH5PFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\ninterface H5PContentResponse {\n\th5p: IContentMetadata;\n\tlibrary: string;\n\tparams: {\n\t\tmetadata: IContentMetadata;\n\t\tparams: ContentParameters;\n\t};\n}\n\nexport class H5PEditorModelContentResponse extends H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel, content: H5PContentResponse) {\n\t\tsuper(editorModel);\n\n\t\tthis.library = content.library;\n\t\tthis.metadata = content.params.metadata;\n\t\tthis.params = content.params.params;\n\t}\n\n\t@ApiProperty()\n\tlibrary: string;\n\n\t@ApiProperty()\n\tmetadata: IContentMetadata;\n\n\t@ApiProperty()\n\tparams: unknown;\n}\n\nexport class H5PContentMetadata {\n\tconstructor(metadata: IContentMetadata) {\n\t\tthis.mainLibrary = metadata.mainLibrary;\n\t\tthis.title = metadata.title;\n\t}\n\n\t@ApiProperty()\n\ttitle: string;\n\n\t@ApiProperty()\n\tmainLibrary: string;\n}\n\nexport class H5PSaveResponse {\n\tconstructor(id: string, metadata: IContentMetadata) {\n\t\tthis.contentId = id;\n\t\tthis.metadata = metadata;\n\t}\n\n\t@ApiProperty()\n\tcontentId!: string;\n\n\t@ApiProperty({ type: H5PContentMetadata })\n\tmetadata!: H5PContentMetadata;\n}\n\nexport interface GetFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/H5PContentParentParams.html":{"url":"interfaces/H5PContentParentParams.html","title":"interface - H5PContentParentParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n H5PContentParentParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/types/lumi-types.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n parentId\n \n \n \n \n parentType\n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n parentId\n \n \n \n \n \n \n \n \n parentId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n \n \n parentType: H5PContentParentType\n\n \n \n\n\n \n \n Type : H5PContentParentType\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n schoolId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { IUser } from '@lumieducation/h5p-server';\nimport { EntityId } from '@shared/domain/types';\nimport { H5PContentParentType } from '../entity';\n\nexport interface H5PContentParentParams {\n\tschoolId: EntityId;\n\tparentType: H5PContentParentType;\n\tparentId: EntityId;\n}\n\nexport class LumiUserWithContentData implements IUser {\n\tcontentParentType: H5PContentParentType;\n\n\tcontentParentId: EntityId;\n\n\tschoolId: EntityId;\n\n\tcanCreateRestricted: boolean;\n\n\tcanInstallRecommended: boolean;\n\n\tcanUpdateAndInstallLibraries: boolean;\n\n\temail: string;\n\n\tid: EntityId;\n\n\tname: string;\n\n\ttype: 'local' | string;\n\n\tconstructor(user: IUser, parentParams: H5PContentParentParams) {\n\t\tthis.contentParentType = parentParams.parentType;\n\t\tthis.contentParentId = parentParams.parentId;\n\t\tthis.schoolId = parentParams.schoolId;\n\n\t\tthis.canCreateRestricted = user.canCreateRestricted;\n\t\tthis.canInstallRecommended = user.canInstallRecommended;\n\t\tthis.canUpdateAndInstallLibraries = user.canUpdateAndInstallLibraries;\n\t\tthis.email = user.email;\n\t\tthis.id = user.id;\n\t\tthis.name = user.name;\n\t\tthis.type = user.type;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/H5PContentProperties.html":{"url":"interfaces/H5PContentProperties.html","title":"interface - H5PContentProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n H5PContentProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/entity/h5p-content.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n \n creatorId\n \n \n \n \n metadata\n \n \n \n \n parentId\n \n \n \n \n parentType\n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n content\n \n \n \n \n \n \n \n \n content: \n\n \n \n\n\n\n\n\n\n\n \n \n \n \n \n \n \n creatorId\n \n \n \n \n \n \n \n \n creatorId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n metadata\n \n \n \n \n \n \n \n \n metadata: ContentMetadata\n\n \n \n\n\n \n \n Type : ContentMetadata\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n \n \n parentId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n \n \n parentType: H5PContentParentType\n\n \n \n\n\n \n \n Type : H5PContentParentType\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n schoolId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { IContentMetadata, ILibraryName } from '@lumieducation/h5p-server';\nimport { IContentAuthor, IContentChange } from '@lumieducation/h5p-server/build/src/types';\nimport { Embeddable, Embedded, Entity, Enum, Index, JsonType, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\n\n@Embeddable()\nexport class ContentMetadata implements IContentMetadata {\n\t@Property({ nullable: true })\n\tdynamicDependencies?: ILibraryName[];\n\n\t@Property({ nullable: true })\n\teditorDependencies?: ILibraryName[];\n\n\t@Property()\n\tembedTypes: ('iframe' | 'div')[];\n\n\t@Property({ nullable: true })\n\th?: string;\n\n\t@Property()\n\tlanguage: string;\n\n\t@Property()\n\tmainLibrary: string;\n\n\t@Property({ nullable: true })\n\tmetaDescription?: string;\n\n\t@Property({ nullable: true })\n\tmetaKeywords?: string;\n\n\t@Property()\n\tpreloadedDependencies: ILibraryName[];\n\n\t@Property({ nullable: true })\n\tw?: string;\n\n\t@Property()\n\tdefaultLanguage: string;\n\n\t@Property({ nullable: true })\n\ta11yTitle?: string;\n\n\t@Property()\n\tlicense: string;\n\n\t@Property({ nullable: true })\n\tlicenseVersion?: string;\n\n\t@Property({ nullable: true })\n\tyearFrom?: string;\n\n\t@Property({ nullable: true })\n\tyearTo?: string;\n\n\t@Property({ nullable: true })\n\tsource?: string;\n\n\t@Property()\n\ttitle: string;\n\n\t@Property({ nullable: true })\n\tauthors?: IContentAuthor[];\n\n\t@Property({ nullable: true })\n\tlicenseExtras?: string;\n\n\t@Property({ nullable: true })\n\tchanges?: IContentChange[];\n\n\t@Property({ nullable: true })\n\tauthorComments?: string;\n\n\t@Property({ nullable: true })\n\tcontentType?: string;\n\n\tconstructor(metadata: IContentMetadata) {\n\t\tthis.embedTypes = metadata.embedTypes;\n\t\tthis.language = metadata.language;\n\t\tthis.mainLibrary = metadata.mainLibrary;\n\t\tthis.defaultLanguage = metadata.defaultLanguage;\n\t\tthis.license = metadata.license;\n\t\tthis.title = metadata.title;\n\t\tthis.preloadedDependencies = metadata.preloadedDependencies;\n\t\tthis.dynamicDependencies = metadata.dynamicDependencies;\n\t\tthis.editorDependencies = metadata.editorDependencies;\n\t\tthis.h = metadata.h;\n\t\tthis.metaDescription = metadata.metaDescription;\n\t\tthis.metaKeywords = metadata.metaKeywords;\n\t\tthis.w = metadata.w;\n\t\tthis.a11yTitle = metadata.a11yTitle;\n\t\tthis.licenseVersion = metadata.licenseVersion;\n\t\tthis.yearFrom = metadata.yearFrom;\n\t\tthis.yearTo = metadata.yearTo;\n\t\tthis.source = metadata.source;\n\t\tthis.authors = metadata.authors;\n\t\tthis.licenseExtras = metadata.licenseExtras;\n\t\tthis.changes = metadata.changes;\n\t\tthis.authorComments = metadata.authorComments;\n\t\tthis.contentType = metadata.contentType;\n\t}\n}\n\nexport enum H5PContentParentType {\n\t'Lesson' = 'lessons',\n}\n\nexport interface H5PContentProperties {\n\tcreatorId: EntityId;\n\tparentType: H5PContentParentType;\n\tparentId: EntityId;\n\tschoolId: EntityId;\n\tmetadata: ContentMetadata;\n\tcontent: unknown;\n}\n\n@Entity({ tableName: 'h5p-editor-content' })\nexport class H5PContent extends BaseEntityWithTimestamps {\n\t@Property({ fieldName: 'creator' })\n\t_creatorId: ObjectId;\n\n\tget creatorId(): EntityId {\n\t\treturn this._creatorId.toHexString();\n\t}\n\n\t@Index()\n\t@Enum()\n\tparentType: H5PContentParentType;\n\n\t@Index()\n\t@Property({ fieldName: 'parent' })\n\t_parentId: ObjectId;\n\n\tget parentId(): EntityId {\n\t\treturn this._parentId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'school' })\n\t_schoolId: ObjectId;\n\n\tget schoolId(): EntityId {\n\t\treturn this._schoolId.toHexString();\n\t}\n\n\t@Embedded(() => ContentMetadata)\n\tmetadata: ContentMetadata;\n\n\t@Property({ type: JsonType })\n\tcontent: unknown;\n\n\tconstructor({ parentType, parentId, creatorId, schoolId, metadata, content }: H5PContentProperties) {\n\t\tsuper();\n\n\t\tthis.parentType = parentType;\n\t\tthis._parentId = new ObjectId(parentId);\n\t\tthis._creatorId = new ObjectId(creatorId);\n\t\tthis._schoolId = new ObjectId(schoolId);\n\n\t\tthis.metadata = metadata;\n\t\tthis.content = content;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/H5PContentRepo.html":{"url":"injectables/H5PContentRepo.html","title":"injectable - H5PContentRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n H5PContentRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/repo/h5p-content.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteContent\n \n \n Async\n existsOne\n \n \n Async\n findById\n \n \n Async\n getAllContents\n \n \n create\n \n \n Async\n delete\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteContent\n \n \n \n \n \n \n \n deleteContent(content: H5PContent)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/h5p-content.repo.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n content\n \n H5PContent\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n existsOne\n \n \n \n \n \n \n \n existsOne(contentId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/h5p-content.repo.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contentId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(contentId: EntityId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contentId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getAllContents\n \n \n \n \n \n \n \n getAllContents()\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/h5p-content.repo.ts:26\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/repo/h5p-content.repo.ts:8\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '@shared/repo/base.repo';\nimport { H5PContent } from '../entity';\n\n@Injectable()\nexport class H5PContentRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn H5PContent;\n\t}\n\n\tasync existsOne(contentId: EntityId): Promise {\n\t\tconst entityCount = await this._em.count(this.entityName, { id: contentId });\n\n\t\treturn entityCount === 1;\n\t}\n\n\tasync deleteContent(content: H5PContent): Promise {\n\t\treturn this.delete(content);\n\t}\n\n\tasync findById(contentId: EntityId): Promise {\n\t\treturn this._em.findOneOrFail(this.entityName, { id: contentId });\n\t}\n\n\tasync getAllContents(): Promise {\n\t\treturn this._em.find(this.entityName, {});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/H5PContentResponse.html":{"url":"interfaces/H5PContentResponse.html","title":"interface - H5PContentResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n H5PContentResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n h5p\n \n \n \n \n library\n \n \n \n \n params\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n h5p\n \n \n \n \n \n \n \n \n h5p: IContentMetadata\n\n \n \n\n\n \n \n Type : IContentMetadata\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n library\n \n \n \n \n \n \n \n \n library: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n params\n \n \n \n \n \n \n \n \n params: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { ContentParameters, IContentMetadata, IEditorModel, IIntegration } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { Readable } from 'stream';\n\nexport class H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel) {\n\t\tthis.integration = editorModel.integration;\n\t\tthis.scripts = editorModel.scripts;\n\t\tthis.styles = editorModel.styles;\n\t}\n\n\t@ApiProperty()\n\tintegration: IIntegration;\n\n\t// This is a list of URLs that point to the Javascript files the H5P editor needs to load\n\t@ApiProperty()\n\tscripts: string[];\n\n\t// This is a list of URLs that point to the CSS files the H5P editor needs to load\n\t@ApiProperty()\n\tstyles: string[];\n}\n\nexport interface GetH5PFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\ninterface H5PContentResponse {\n\th5p: IContentMetadata;\n\tlibrary: string;\n\tparams: {\n\t\tmetadata: IContentMetadata;\n\t\tparams: ContentParameters;\n\t};\n}\n\nexport class H5PEditorModelContentResponse extends H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel, content: H5PContentResponse) {\n\t\tsuper(editorModel);\n\n\t\tthis.library = content.library;\n\t\tthis.metadata = content.params.metadata;\n\t\tthis.params = content.params.params;\n\t}\n\n\t@ApiProperty()\n\tlibrary: string;\n\n\t@ApiProperty()\n\tmetadata: IContentMetadata;\n\n\t@ApiProperty()\n\tparams: unknown;\n}\n\nexport class H5PContentMetadata {\n\tconstructor(metadata: IContentMetadata) {\n\t\tthis.mainLibrary = metadata.mainLibrary;\n\t\tthis.title = metadata.title;\n\t}\n\n\t@ApiProperty()\n\ttitle: string;\n\n\t@ApiProperty()\n\tmainLibrary: string;\n}\n\nexport class H5PSaveResponse {\n\tconstructor(id: string, metadata: IContentMetadata) {\n\t\tthis.contentId = id;\n\t\tthis.metadata = metadata;\n\t}\n\n\t@ApiProperty()\n\tcontentId!: string;\n\n\t@ApiProperty({ type: H5PContentMetadata })\n\tmetadata!: H5PContentMetadata;\n}\n\nexport interface GetFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/H5PEditorController.html":{"url":"controllers/H5PEditorController.html","title":"controller - H5PEditorController","body":"\n \n\n\n\n\n\n\n Controllers\n H5PEditorController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts\n \n\n \n Prefix\n \n \n h5p-editor\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n createH5pContent\n \n \n \n Async\n deleteH5pContent\n \n \n \n Async\n getAjax\n \n \n \n Async\n getContentFile\n \n \n \n Async\n getContentParameters\n \n \n \n \n Async\n getH5PEditor\n \n \n \n Async\n getLibraryFile\n \n \n \n \n Async\n getNewH5PEditor\n \n \n \n \n \n \n \n \n Async\n getPlayer\n \n \n \n Async\n getTemporaryFile\n \n \n \n \n Async\n postAjax\n \n \n \n \n Async\n saveH5pContent\n \n \n Private\n Static\n setRangeResponseHeaders\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n Async\n createH5pContent\n \n \n \n \n \n \n \n createH5pContent(body: PostH5PContentCreateParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Post('/edit')@ApiResponse({status: 201, type: H5PSaveResponse})\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:182\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n body\n \n PostH5PContentCreateParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteH5pContent\n \n \n \n \n \n \n \n deleteH5pContent(params: GetH5PContentParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Post('/delete/:contentId')\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:151\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n GetH5PContentParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getAjax\n \n \n \n \n \n \n \n getAjax(query: AjaxGetQueryParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get('ajax')\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:123\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n AjaxGetQueryParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getContentFile\n \n \n \n \n \n \n \n getContentFile(params: ContentFileUrlParams, req: Request, res: Response, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get('content/:id/:filename(*)')\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:82\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n ContentFileUrlParams\n \n\n \n No\n \n\n\n \n \n req\n \n Request\n \n\n \n No\n \n\n\n \n \n res\n \n Response\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getContentParameters\n \n \n \n \n \n \n \n getContentParameters(id: string, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get('params/:id')\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:75\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getH5PEditor\n \n \n \n \n \n \n \n getH5PEditor(params: GetH5PEditorParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get('/edit/:contentId/:language')@ApiResponse({status: 200, type: H5PEditorModelContentResponse})\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:170\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n GetH5PEditorParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getLibraryFile\n \n \n \n \n \n \n \n getLibraryFile(params: LibraryFileUrlParams, req: Request)\n \n \n\n \n \n Decorators : \n \n @Get('libraries/:ubername/:file(*)')\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:66\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n LibraryFileUrlParams\n \n\n \n No\n \n\n\n \n \n req\n \n Request\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getNewH5PEditor\n \n \n \n \n \n \n \n getNewH5PEditor(params: GetH5PEditorParamsCreate, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get('/edit/:language')@ApiResponse({status: 200, type: H5PEditorModelResponse})\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:162\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n GetH5PEditorParamsCreate\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getPlayer\n \n \n \n \n \n \n \n getPlayer(currentUser: ICurrentUser, params: GetH5PContentParams)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Return dummy HTML for testing'})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 400, type: BadRequestException})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 500, type: InternalServerErrorException})@Get('/play/:contentId')\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n GetH5PContentParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getTemporaryFile\n \n \n \n \n \n \n \n getTemporaryFile(currentUser: ICurrentUser, file: string, req: Request, res: Response)\n \n \n\n \n \n Decorators : \n \n @Get('temp-files/:file(*)')\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:103\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n file\n \n string\n \n\n \n No\n \n\n\n \n \n req\n \n Request\n \n\n \n No\n \n\n\n \n \n res\n \n Response\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n postAjax\n \n \n \n \n \n \n \n postAjax(body: AjaxPostBodyParams, query: AjaxPostQueryParams, currentUser: ICurrentUser, files?: literal type)\n \n \n\n \n \n Decorators : \n \n @Post('ajax')@UseInterceptors(undefined)\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:136\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n body\n \n AjaxPostBodyParams\n \n\n \n No\n \n\n\n \n \n query\n \n AjaxPostQueryParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n files\n \n literal type\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveH5pContent\n \n \n \n \n \n \n \n saveH5pContent(body: PostH5PContentCreateParams, params: SaveH5PEditorParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Post('/edit/:contentId')@ApiResponse({status: 201, type: H5PSaveResponse})\n \n \n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:199\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n body\n \n PostH5PContentCreateParams\n \n\n \n No\n \n\n\n \n \n params\n \n SaveH5PEditorParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n setRangeResponseHeaders\n \n \n \n \n \n \n \n setRangeResponseHeaders(res: Response, contentLength: number, range?: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/controller/h5p-editor.controller.ts:219\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n res\n \n Response\n \n\n \n No\n \n\n\n \n \n contentLength\n \n number\n \n\n \n No\n \n\n\n \n \n range\n \n literal type\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Authenticate } from '@modules/authentication/decorator/auth.decorator';\nimport {\n\tBadRequestException,\n\tBody,\n\tController,\n\tForbiddenException,\n\tGet,\n\tHttpStatus,\n\tInternalServerErrorException,\n\tParam,\n\tPost,\n\tQuery,\n\tReq,\n\tRes,\n\tStreamableFile,\n\tUploadedFiles,\n\tUseInterceptors,\n} from '@nestjs/common';\nimport { FileFieldsInterceptor } from '@nestjs/platform-express';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { ApiValidationError } from '@shared/common';\nimport { Request, Response } from 'express';\nimport { H5PEditorUc } from '../uc/h5p.uc';\n\nimport {\n\tAjaxGetQueryParams,\n\tAjaxPostBodyParams,\n\tAjaxPostQueryParams,\n\tContentFileUrlParams,\n\tGetH5PContentParams,\n\tGetH5PEditorParams,\n\tGetH5PEditorParamsCreate,\n\tLibraryFileUrlParams,\n\tPostH5PContentCreateParams,\n\tSaveH5PEditorParams,\n} from './dto';\nimport { AjaxPostBodyParamsTransformPipe } from './dto/ajax/post.body.params.transform-pipe';\nimport { H5PEditorModelContentResponse, H5PEditorModelResponse, H5PSaveResponse } from './dto/h5p-editor.response';\n\n@ApiTags('h5p-editor')\n@Authenticate('jwt')\n@Controller('h5p-editor')\nexport class H5PEditorController {\n\tconstructor(private h5pEditorUc: H5PEditorUc) {}\n\n\t@ApiOperation({ summary: 'Return dummy HTML for testing' })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 400, type: BadRequestException })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 500, type: InternalServerErrorException })\n\t@Get('/play/:contentId')\n\tasync getPlayer(@CurrentUser() currentUser: ICurrentUser, @Param() params: GetH5PContentParams) {\n\t\treturn this.h5pEditorUc.getH5pPlayer(currentUser, params.contentId);\n\t}\n\n\t// Other Endpoints (incomplete list), paths not final\n\t// - getLibrary \t\t\t(e.g. GET `/libraries/:uberName/:file(*)`)\n\t// - getContentFile \t\t\t(e.g. GET `/content/:contentId/:file(*)`)\n\t// - getTempFile \t\t\t(e.g. GET `/temp/:file(*)`)\n\t// - ajax endpoint for h5p \t\t(e.g. GET/POST `/ajax/*`)\n\t// - static files from h5p-core\t(e.g. GET `/core/*`)\n\t// - static files for editor\t(e.g. GET `/editor/*`)\n\n\t@Get('libraries/:ubername/:file(*)')\n\tasync getLibraryFile(@Param() params: LibraryFileUrlParams, @Req() req: Request) {\n\t\tconst { data, contentType, contentLength } = await this.h5pEditorUc.getLibraryFile(params.ubername, params.file);\n\n\t\treq.on('close', () => data.destroy());\n\n\t\treturn new StreamableFile(data, { type: contentType, length: contentLength });\n\t}\n\n\t@Get('params/:id')\n\tasync getContentParameters(@Param('id') id: string, @CurrentUser() currentUser: ICurrentUser) {\n\t\tconst content = await this.h5pEditorUc.getContentParameters(id, currentUser);\n\n\t\treturn content;\n\t}\n\n\t@Get('content/:id/:filename(*)')\n\tasync getContentFile(\n\t\t@Param() params: ContentFileUrlParams,\n\t\t@Req() req: Request,\n\t\t@Res({ passthrough: true }) res: Response,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t) {\n\t\tconst { data, contentType, contentLength, contentRange } = await this.h5pEditorUc.getContentFile(\n\t\t\tparams.id,\n\t\t\tparams.filename,\n\t\t\treq,\n\t\t\tcurrentUser\n\t\t);\n\n\t\tH5PEditorController.setRangeResponseHeaders(res, contentLength, contentRange);\n\n\t\treq.on('close', () => data.destroy());\n\n\t\treturn new StreamableFile(data, { type: contentType, length: contentLength });\n\t}\n\n\t@Get('temp-files/:file(*)')\n\tasync getTemporaryFile(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param('file') file: string,\n\t\t@Req() req: Request,\n\t\t@Res({ passthrough: true }) res: Response\n\t) {\n\t\tconst { data, contentType, contentLength, contentRange } = await this.h5pEditorUc.getTemporaryFile(\n\t\t\tfile,\n\t\t\treq,\n\t\t\tcurrentUser\n\t\t);\n\n\t\tH5PEditorController.setRangeResponseHeaders(res, contentLength, contentRange);\n\n\t\treq.on('close', () => data.destroy());\n\n\t\treturn new StreamableFile(data, { type: contentType, length: contentLength });\n\t}\n\n\t@Get('ajax')\n\tasync getAjax(@Query() query: AjaxGetQueryParams, @CurrentUser() currentUser: ICurrentUser) {\n\t\tconst response = this.h5pEditorUc.getAjax(query, currentUser);\n\n\t\treturn response;\n\t}\n\n\t@Post('ajax')\n\t@UseInterceptors(\n\t\tFileFieldsInterceptor([\n\t\t\t{ name: 'file', maxCount: 1 },\n\t\t\t{ name: 'h5p', maxCount: 1 },\n\t\t])\n\t)\n\tasync postAjax(\n\t\t@Body(AjaxPostBodyParamsTransformPipe) body: AjaxPostBodyParams,\n\t\t@Query() query: AjaxPostQueryParams,\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@UploadedFiles() files?: { file?: Express.Multer.File[]; h5p?: Express.Multer.File[] }\n\t) {\n\t\tconst contentFile = files?.file?.[0];\n\t\tconst h5pFile = files?.h5p?.[0];\n\n\t\tconst result = await this.h5pEditorUc.postAjax(currentUser, query, body, contentFile, h5pFile);\n\n\t\treturn result;\n\t}\n\n\t@Post('/delete/:contentId')\n\tasync deleteH5pContent(\n\t\t@Param() params: GetH5PContentParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst deleteSuccessfull = this.h5pEditorUc.deleteH5pContent(currentUser, params.contentId);\n\n\t\treturn deleteSuccessfull;\n\t}\n\n\t@Get('/edit/:language')\n\t@ApiResponse({ status: 200, type: H5PEditorModelResponse })\n\tasync getNewH5PEditor(@Param() params: GetH5PEditorParamsCreate, @CurrentUser() currentUser: ICurrentUser) {\n\t\tconst editorModel = await this.h5pEditorUc.getEmptyH5pEditor(currentUser, params.language);\n\n\t\treturn new H5PEditorModelResponse(editorModel);\n\t}\n\n\t@Get('/edit/:contentId/:language')\n\t@ApiResponse({ status: 200, type: H5PEditorModelContentResponse })\n\tasync getH5PEditor(@Param() params: GetH5PEditorParams, @CurrentUser() currentUser: ICurrentUser) {\n\t\tconst { editorModel, content } = await this.h5pEditorUc.getH5pEditor(\n\t\t\tcurrentUser,\n\t\t\tparams.contentId,\n\t\t\tparams.language\n\t\t);\n\n\t\treturn new H5PEditorModelContentResponse(editorModel, content);\n\t}\n\n\t@Post('/edit')\n\t@ApiResponse({ status: 201, type: H5PSaveResponse })\n\tasync createH5pContent(@Body() body: PostH5PContentCreateParams, @CurrentUser() currentUser: ICurrentUser) {\n\t\tconst response = await this.h5pEditorUc.createH5pContentGetMetadata(\n\t\t\tcurrentUser,\n\t\t\tbody.params.params,\n\t\t\tbody.params.metadata,\n\t\t\tbody.library,\n\t\t\tbody.parentType,\n\t\t\tbody.parentId\n\t\t);\n\n\t\tconst saveResponse = new H5PSaveResponse(response.id, response.metadata);\n\n\t\treturn saveResponse;\n\t}\n\n\t@Post('/edit/:contentId')\n\t@ApiResponse({ status: 201, type: H5PSaveResponse })\n\tasync saveH5pContent(\n\t\t@Body() body: PostH5PContentCreateParams,\n\t\t@Param() params: SaveH5PEditorParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t) {\n\t\tconst response = await this.h5pEditorUc.saveH5pContentGetMetadata(\n\t\t\tparams.contentId,\n\t\t\tcurrentUser,\n\t\t\tbody.params.params,\n\t\t\tbody.params.metadata,\n\t\t\tbody.library,\n\t\t\tbody.parentType,\n\t\t\tbody.parentId\n\t\t);\n\n\t\tconst saveResponse = new H5PSaveResponse(response.id, response.metadata);\n\n\t\treturn saveResponse;\n\t}\n\n\tprivate static setRangeResponseHeaders(res: Response, contentLength: number, range?: { start: number; end: number }) {\n\t\tif (range) {\n\t\t\tconst contentRangeHeader = `bytes ${range.start}-${range.end}/${contentLength}`;\n\n\t\t\tres.set({\n\t\t\t\t'Accept-Ranges': 'bytes',\n\t\t\t\t'Content-Range': contentRangeHeader,\n\t\t\t});\n\n\t\t\tres.status(HttpStatus.PARTIAL_CONTENT);\n\t\t} else {\n\t\t\tres.status(HttpStatus.OK);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/H5PEditorModelContentResponse.html":{"url":"classes/H5PEditorModelContentResponse.html","title":"class - H5PEditorModelContentResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n H5PEditorModelContentResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts\n \n\n\n\n \n Extends\n \n \n H5PEditorModelResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n library\n \n \n \n metadata\n \n \n \n params\n \n \n \n integration\n \n \n \n scripts\n \n \n \n styles\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(editorModel: IEditorModel, content: H5PContentResponse)\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:42\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n editorModel\n \n \n IEditorModel\n \n \n \n No\n \n \n \n \n content\n \n \n H5PContentResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n library\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n \n metadata\n \n \n \n \n \n \n Type : IContentMetadata\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n \n integration\n \n \n \n \n \n \n Type : IIntegration\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Inherited from H5PEditorModelResponse\n\n \n \n \n \n Defined in H5PEditorModelResponse:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n scripts\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Inherited from H5PEditorModelResponse\n\n \n \n \n \n Defined in H5PEditorModelResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n styles\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Inherited from H5PEditorModelResponse\n\n \n \n \n \n Defined in H5PEditorModelResponse:21\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ContentParameters, IContentMetadata, IEditorModel, IIntegration } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { Readable } from 'stream';\n\nexport class H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel) {\n\t\tthis.integration = editorModel.integration;\n\t\tthis.scripts = editorModel.scripts;\n\t\tthis.styles = editorModel.styles;\n\t}\n\n\t@ApiProperty()\n\tintegration: IIntegration;\n\n\t// This is a list of URLs that point to the Javascript files the H5P editor needs to load\n\t@ApiProperty()\n\tscripts: string[];\n\n\t// This is a list of URLs that point to the CSS files the H5P editor needs to load\n\t@ApiProperty()\n\tstyles: string[];\n}\n\nexport interface GetH5PFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\ninterface H5PContentResponse {\n\th5p: IContentMetadata;\n\tlibrary: string;\n\tparams: {\n\t\tmetadata: IContentMetadata;\n\t\tparams: ContentParameters;\n\t};\n}\n\nexport class H5PEditorModelContentResponse extends H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel, content: H5PContentResponse) {\n\t\tsuper(editorModel);\n\n\t\tthis.library = content.library;\n\t\tthis.metadata = content.params.metadata;\n\t\tthis.params = content.params.params;\n\t}\n\n\t@ApiProperty()\n\tlibrary: string;\n\n\t@ApiProperty()\n\tmetadata: IContentMetadata;\n\n\t@ApiProperty()\n\tparams: unknown;\n}\n\nexport class H5PContentMetadata {\n\tconstructor(metadata: IContentMetadata) {\n\t\tthis.mainLibrary = metadata.mainLibrary;\n\t\tthis.title = metadata.title;\n\t}\n\n\t@ApiProperty()\n\ttitle: string;\n\n\t@ApiProperty()\n\tmainLibrary: string;\n}\n\nexport class H5PSaveResponse {\n\tconstructor(id: string, metadata: IContentMetadata) {\n\t\tthis.contentId = id;\n\t\tthis.metadata = metadata;\n\t}\n\n\t@ApiProperty()\n\tcontentId!: string;\n\n\t@ApiProperty({ type: H5PContentMetadata })\n\tmetadata!: H5PContentMetadata;\n}\n\nexport interface GetFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/H5PEditorModelResponse.html":{"url":"classes/H5PEditorModelResponse.html","title":"class - H5PEditorModelResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n H5PEditorModelResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n integration\n \n \n \n scripts\n \n \n \n styles\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(editorModel: IEditorModel)\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n editorModel\n \n \n IEditorModel\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n integration\n \n \n \n \n \n \n Type : IIntegration\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n scripts\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n styles\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:21\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ContentParameters, IContentMetadata, IEditorModel, IIntegration } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { Readable } from 'stream';\n\nexport class H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel) {\n\t\tthis.integration = editorModel.integration;\n\t\tthis.scripts = editorModel.scripts;\n\t\tthis.styles = editorModel.styles;\n\t}\n\n\t@ApiProperty()\n\tintegration: IIntegration;\n\n\t// This is a list of URLs that point to the Javascript files the H5P editor needs to load\n\t@ApiProperty()\n\tscripts: string[];\n\n\t// This is a list of URLs that point to the CSS files the H5P editor needs to load\n\t@ApiProperty()\n\tstyles: string[];\n}\n\nexport interface GetH5PFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\ninterface H5PContentResponse {\n\th5p: IContentMetadata;\n\tlibrary: string;\n\tparams: {\n\t\tmetadata: IContentMetadata;\n\t\tparams: ContentParameters;\n\t};\n}\n\nexport class H5PEditorModelContentResponse extends H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel, content: H5PContentResponse) {\n\t\tsuper(editorModel);\n\n\t\tthis.library = content.library;\n\t\tthis.metadata = content.params.metadata;\n\t\tthis.params = content.params.params;\n\t}\n\n\t@ApiProperty()\n\tlibrary: string;\n\n\t@ApiProperty()\n\tmetadata: IContentMetadata;\n\n\t@ApiProperty()\n\tparams: unknown;\n}\n\nexport class H5PContentMetadata {\n\tconstructor(metadata: IContentMetadata) {\n\t\tthis.mainLibrary = metadata.mainLibrary;\n\t\tthis.title = metadata.title;\n\t}\n\n\t@ApiProperty()\n\ttitle: string;\n\n\t@ApiProperty()\n\tmainLibrary: string;\n}\n\nexport class H5PSaveResponse {\n\tconstructor(id: string, metadata: IContentMetadata) {\n\t\tthis.contentId = id;\n\t\tthis.metadata = metadata;\n\t}\n\n\t@ApiProperty()\n\tcontentId!: string;\n\n\t@ApiProperty({ type: H5PContentMetadata })\n\tmetadata!: H5PContentMetadata;\n}\n\nexport interface GetFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/H5PEditorModule.html":{"url":"modules/H5PEditorModule.html","title":"module - H5PEditorModule","body":"\n \n\n\n\n\n Modules\n H5PEditorModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_H5PEditorModule\n\n\n\ncluster_H5PEditorModule_exports\n\n\n\ncluster_H5PEditorModule_providers\n\n\n\ncluster_H5PEditorModule_imports\n\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\n\n\nH5PEditorModule\n\nH5PEditorModule\n\nH5PEditorModule -->\n\nAuthenticationModule->H5PEditorModule\n\n\n\n\n\nAuthorizationReferenceModule\n\nAuthorizationReferenceModule\n\nH5PEditorModule -->\n\nAuthorizationReferenceModule->H5PEditorModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nH5PEditorModule -->\n\nCoreModule->H5PEditorModule\n\n\n\n\n\nRabbitMQWrapperModule\n\nRabbitMQWrapperModule\n\nH5PEditorModule -->\n\nRabbitMQWrapperModule->H5PEditorModule\n\n\n\n\n\nS3ClientModule\n\nS3ClientModule\n\nH5PEditorModule -->\n\nS3ClientModule->H5PEditorModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nH5PEditorModule -->\n\nUserModule->H5PEditorModule\n\n\n\n\n\nContentStorage \n\nContentStorage \n\nContentStorage -->\n\nH5PEditorModule->ContentStorage \n\n\n\n\n\nLibraryStorage \n\nLibraryStorage \n\nLibraryStorage -->\n\nH5PEditorModule->LibraryStorage \n\n\n\n\n\nContentStorage\n\nContentStorage\n\nH5PEditorModule -->\n\nContentStorage->H5PEditorModule\n\n\n\n\n\nH5PContentRepo\n\nH5PContentRepo\n\nH5PEditorModule -->\n\nH5PContentRepo->H5PEditorModule\n\n\n\n\n\nH5PEditorUc\n\nH5PEditorUc\n\nH5PEditorModule -->\n\nH5PEditorUc->H5PEditorModule\n\n\n\n\n\nLibraryRepo\n\nLibraryRepo\n\nH5PEditorModule -->\n\nLibraryRepo->H5PEditorModule\n\n\n\n\n\nLibraryStorage\n\nLibraryStorage\n\nH5PEditorModule -->\n\nLibraryStorage->H5PEditorModule\n\n\n\n\n\nLogger\n\nLogger\n\nH5PEditorModule -->\n\nLogger->H5PEditorModule\n\n\n\n\n\nTemporaryFileRepo\n\nTemporaryFileRepo\n\nH5PEditorModule -->\n\nTemporaryFileRepo->H5PEditorModule\n\n\n\n\n\nTemporaryFileStorage\n\nTemporaryFileStorage\n\nH5PEditorModule -->\n\nTemporaryFileStorage->H5PEditorModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/h5p-editor/h5p-editor.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ContentStorage\n \n \n H5PContentRepo\n \n \n H5PEditorUc\n \n \n LibraryRepo\n \n \n LibraryStorage\n \n \n Logger\n \n \n TemporaryFileRepo\n \n \n TemporaryFileStorage\n \n \n \n \n Controllers\n \n \n H5PEditorController\n \n \n \n \n Imports\n \n \n AuthenticationModule\n \n \n AuthorizationReferenceModule\n \n \n CoreModule\n \n \n RabbitMQWrapperModule\n \n \n S3ClientModule\n \n \n UserModule\n \n \n \n \n Exports\n \n \n ContentStorage\n \n \n LibraryStorage\n \n \n \n \n \n\n\n \n\n\n \n import { RabbitMQWrapperModule } from '@infra/rabbitmq';\nimport { S3ClientModule } from '@infra/s3-client';\nimport { Dictionary, IPrimaryKey } from '@mikro-orm/core';\nimport { MikroOrmModule, MikroOrmModuleSyncOptions } from '@mikro-orm/nestjs';\nimport { AuthenticationModule } from '@modules/authentication';\nimport { AuthorizationReferenceModule } from '@modules/authorization/authorization-reference.module';\nimport { UserModule } from '@modules/user';\nimport { Module, NotFoundException } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { ALL_ENTITIES } from '@shared/domain/entity';\nimport { DB_PASSWORD, DB_URL, DB_USERNAME, createConfigModuleOptions } from '@src/config';\nimport { CoreModule } from '@src/core';\nimport { Logger } from '@src/core/logger';\nimport { H5PEditorController } from './controller/h5p-editor.controller';\nimport { H5PContent, H5pEditorTempFile, InstalledLibrary } from './entity';\nimport { config, s3ConfigContent, s3ConfigLibraries } from './h5p-editor.config';\nimport { H5PAjaxEndpointProvider, H5PEditorProvider, H5PPlayerProvider } from './provider';\nimport { H5PContentRepo, LibraryRepo, TemporaryFileRepo } from './repo';\nimport { ContentStorage, LibraryStorage, TemporaryFileStorage } from './service';\nimport { H5PEditorUc } from './uc/h5p.uc';\n\nconst defaultMikroOrmOptions: MikroOrmModuleSyncOptions = {\n\tfindOneOrFailHandler: (entityName: string, where: Dictionary | IPrimaryKey) =>\n\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\tnew NotFoundException(`The requested ${entityName}: ${where} has not been found.`),\n};\n\nconst imports = [\n\tAuthenticationModule,\n\tAuthorizationReferenceModule,\n\tCoreModule,\n\tUserModule,\n\tRabbitMQWrapperModule,\n\tMikroOrmModule.forRoot({\n\t\t...defaultMikroOrmOptions,\n\t\ttype: 'mongo',\n\t\t// TODO add mongoose options as mongo options (see database.js)\n\t\tclientUrl: DB_URL,\n\t\tpassword: DB_PASSWORD,\n\t\tuser: DB_USERNAME,\n\t\t// Needs ALL_ENTITIES for authorization\n\t\tallowGlobalContext: true,\n\t\tentities: [...ALL_ENTITIES, H5PContent, H5pEditorTempFile, InstalledLibrary],\n\t}),\n\tConfigModule.forRoot(createConfigModuleOptions(config)),\n\tS3ClientModule.register([s3ConfigContent, s3ConfigLibraries]),\n];\n\nconst controllers = [H5PEditorController];\n\nconst providers = [\n\tLogger,\n\tH5PEditorUc,\n\tH5PContentRepo,\n\tLibraryRepo,\n\tTemporaryFileRepo,\n\tH5PEditorProvider,\n\tH5PPlayerProvider,\n\tH5PAjaxEndpointProvider,\n\tContentStorage,\n\tLibraryStorage,\n\tTemporaryFileStorage,\n];\n\n@Module({\n\timports,\n\tcontrollers,\n\tproviders,\n\texports: [ContentStorage, LibraryStorage],\n})\nexport class H5PEditorModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/H5PEditorTestModule.html":{"url":"modules/H5PEditorTestModule.html","title":"module - H5PEditorTestModule","body":"\n \n\n\n\n\n Modules\n H5PEditorTestModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_H5PEditorTestModule\n\n\n\ncluster_H5PEditorTestModule_providers\n\n\n\ncluster_H5PEditorTestModule_imports\n\n\n\n\nAuthenticationApiModule\n\nAuthenticationApiModule\n\n\n\nH5PEditorTestModule\n\nH5PEditorTestModule\n\nH5PEditorTestModule -->\n\nAuthenticationApiModule->H5PEditorTestModule\n\n\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\nH5PEditorTestModule -->\n\nAuthenticationModule->H5PEditorTestModule\n\n\n\n\n\nAuthorizationReferenceModule\n\nAuthorizationReferenceModule\n\nH5PEditorTestModule -->\n\nAuthorizationReferenceModule->H5PEditorTestModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nH5PEditorTestModule -->\n\nCoreModule->H5PEditorTestModule\n\n\n\n\n\nH5PEditorModule\n\nH5PEditorModule\n\nH5PEditorTestModule -->\n\nH5PEditorModule->H5PEditorTestModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nH5PEditorTestModule -->\n\nLoggerModule->H5PEditorTestModule\n\n\n\n\n\nMongoMemoryDatabaseModule\n\nMongoMemoryDatabaseModule\n\nH5PEditorTestModule -->\n\nMongoMemoryDatabaseModule->H5PEditorTestModule\n\n\n\n\n\nRabbitMQWrapperTestModule\n\nRabbitMQWrapperTestModule\n\nH5PEditorTestModule -->\n\nRabbitMQWrapperTestModule->H5PEditorTestModule\n\n\n\n\n\nS3ClientModule\n\nS3ClientModule\n\nH5PEditorTestModule -->\n\nS3ClientModule->H5PEditorTestModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nH5PEditorTestModule -->\n\nUserModule->H5PEditorTestModule\n\n\n\n\n\nContentStorage\n\nContentStorage\n\nH5PEditorTestModule -->\n\nContentStorage->H5PEditorTestModule\n\n\n\n\n\nH5PContentRepo\n\nH5PContentRepo\n\nH5PEditorTestModule -->\n\nH5PContentRepo->H5PEditorTestModule\n\n\n\n\n\nH5PEditorUc\n\nH5PEditorUc\n\nH5PEditorTestModule -->\n\nH5PEditorUc->H5PEditorTestModule\n\n\n\n\n\nLibraryRepo\n\nLibraryRepo\n\nH5PEditorTestModule -->\n\nLibraryRepo->H5PEditorTestModule\n\n\n\n\n\nLibraryStorage\n\nLibraryStorage\n\nH5PEditorTestModule -->\n\nLibraryStorage->H5PEditorTestModule\n\n\n\n\n\nTemporaryFileRepo\n\nTemporaryFileRepo\n\nH5PEditorTestModule -->\n\nTemporaryFileRepo->H5PEditorTestModule\n\n\n\n\n\nTemporaryFileStorage\n\nTemporaryFileStorage\n\nH5PEditorTestModule -->\n\nTemporaryFileStorage->H5PEditorTestModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/h5p-editor/h5p-editor-test.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ContentStorage\n \n \n H5PContentRepo\n \n \n H5PEditorUc\n \n \n LibraryRepo\n \n \n LibraryStorage\n \n \n TemporaryFileRepo\n \n \n TemporaryFileStorage\n \n \n \n \n Controllers\n \n \n H5PEditorController\n \n \n \n \n Imports\n \n \n AuthenticationApiModule\n \n \n AuthenticationModule\n \n \n AuthorizationReferenceModule\n \n \n CoreModule\n \n \n H5PEditorModule\n \n \n LoggerModule\n \n \n MongoMemoryDatabaseModule\n \n \n RabbitMQWrapperTestModule\n \n \n S3ClientModule\n \n \n UserModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options?: MongoDatabaseModuleOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/h5p-editor-test.module.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n MongoDatabaseModuleOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { MongoDatabaseModuleOptions, MongoMemoryDatabaseModule } from '@infra/database';\nimport { RabbitMQWrapperTestModule } from '@infra/rabbitmq';\nimport { S3ClientModule } from '@infra/s3-client';\nimport { AuthenticationModule } from '@modules/authentication';\nimport { AuthenticationApiModule } from '@modules/authentication/authentication-api.module';\nimport { AuthorizationReferenceModule } from '@modules/authorization/authorization-reference.module';\nimport { UserModule } from '@modules/user';\nimport { DynamicModule, Module } from '@nestjs/common';\nimport { ALL_ENTITIES } from '@shared/domain/entity';\nimport { CoreModule } from '@src/core';\nimport { LoggerModule } from '@src/core/logger';\nimport { H5PEditorController } from './controller';\nimport { H5PContent } from './entity';\nimport { s3ConfigContent, s3ConfigLibraries } from './h5p-editor.config';\nimport { H5PEditorModule } from './h5p-editor.module';\nimport { H5PAjaxEndpointProvider, H5PEditorProvider, H5PPlayerProvider } from './provider';\nimport { H5PContentRepo, LibraryRepo, TemporaryFileRepo } from './repo';\nimport { ContentStorage, LibraryStorage, TemporaryFileStorage } from './service';\nimport { H5PEditorUc } from './uc/h5p.uc';\n\nconst imports = [\n\tH5PEditorModule,\n\tMongoMemoryDatabaseModule.forRoot({ entities: [...ALL_ENTITIES, H5PContent] }),\n\tAuthenticationApiModule,\n\tAuthorizationReferenceModule,\n\tAuthenticationModule,\n\tUserModule,\n\tCoreModule,\n\tLoggerModule,\n\tRabbitMQWrapperTestModule,\n\tS3ClientModule.register([s3ConfigContent, s3ConfigLibraries]),\n];\nconst controllers = [H5PEditorController];\nconst providers = [\n\tH5PEditorUc,\n\tH5PPlayerProvider,\n\tH5PEditorProvider,\n\tH5PAjaxEndpointProvider,\n\tH5PContentRepo,\n\tLibraryRepo,\n\tTemporaryFileRepo,\n\tContentStorage,\n\tLibraryStorage,\n\tTemporaryFileStorage,\n];\n\n@Module({\n\timports,\n\tcontrollers,\n\tproviders,\n})\nexport class H5PEditorTestModule {\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: H5PEditorTestModule,\n\t\t\timports: [...imports, MongoMemoryDatabaseModule.forRoot({ ...options })],\n\t\t\tcontrollers,\n\t\t\tproviders,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/H5PErrorMapper.html":{"url":"classes/H5PErrorMapper.html","title":"class - H5PErrorMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n H5PErrorMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/mapper/h5p-error.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n mapH5pError\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n mapH5pError\n \n \n \n \n \n \n \n mapH5pError(error: H5pError)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/mapper/h5p-error.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n H5pError\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { H5pError } from '@lumieducation/h5p-server';\nimport { HttpException } from '@nestjs/common';\n\nexport class H5PErrorMapper {\n\tpublic mapH5pError(error: H5pError) {\n\t\treturn new HttpException(error.message, error.httpStatusCode);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/H5PLibraryManagementModule.html":{"url":"modules/H5PLibraryManagementModule.html","title":"module - H5PLibraryManagementModule","body":"\n \n\n\n\n\n Modules\n H5PLibraryManagementModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_H5PLibraryManagementModule\n\n\n\ncluster_H5PLibraryManagementModule_providers\n\n\n\ncluster_H5PLibraryManagementModule_imports\n\n\n\n\nCoreModule\n\nCoreModule\n\n\n\nH5PLibraryManagementModule\n\nH5PLibraryManagementModule\n\nH5PLibraryManagementModule -->\n\nCoreModule->H5PLibraryManagementModule\n\n\n\n\n\nH5PEditorModule\n\nH5PEditorModule\n\nH5PLibraryManagementModule -->\n\nH5PEditorModule->H5PLibraryManagementModule\n\n\n\n\n\nRabbitMQWrapperModule\n\nRabbitMQWrapperModule\n\nH5PLibraryManagementModule -->\n\nRabbitMQWrapperModule->H5PLibraryManagementModule\n\n\n\n\n\nS3ClientModule\n\nS3ClientModule\n\nH5PLibraryManagementModule -->\n\nS3ClientModule->H5PLibraryManagementModule\n\n\n\n\n\nH5PLibraryManagementService\n\nH5PLibraryManagementService\n\nH5PLibraryManagementModule -->\n\nH5PLibraryManagementService->H5PLibraryManagementModule\n\n\n\n\n\nLogger\n\nLogger\n\nH5PLibraryManagementModule -->\n\nLogger->H5PLibraryManagementModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/h5p-library-management/h5p-library-management.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n H5PLibraryManagementService\n \n \n Logger\n \n \n \n \n Imports\n \n \n CoreModule\n \n \n H5PEditorModule\n \n \n RabbitMQWrapperModule\n \n \n S3ClientModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { RabbitMQWrapperModule } from '@infra/rabbitmq';\nimport { S3ClientModule } from '@infra/s3-client';\nimport { createConfigModuleOptions } from '@src/config';\nimport { CoreModule } from '@src/core';\nimport { Logger } from '@src/core/logger';\nimport { H5PEditorModule, s3ConfigContent, s3ConfigLibraries } from '@modules/h5p-editor';\nimport { H5PLibraryManagementService, h5PLibraryManagementConfig } from './service';\n\nconst imports = [\n\tConfigModule.forRoot(createConfigModuleOptions(h5PLibraryManagementConfig)),\n\tCoreModule,\n\tH5PEditorModule,\n\tRabbitMQWrapperModule,\n\tS3ClientModule.register([s3ConfigContent, s3ConfigLibraries]),\n];\n\nconst controllers = [];\n\nconst providers = [Logger, H5PLibraryManagementService];\n\n@Module({\n\timports,\n\tcontrollers,\n\tproviders,\n\texports: [],\n})\nexport class H5PLibraryManagementModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/H5PLibraryManagementService.html":{"url":"injectables/H5PLibraryManagementService.html","title":"injectable - H5PLibraryManagementService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n H5PLibraryManagementService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n contentTypeCache\n \n \n contentTypeRepo\n \n \n libraryAdministration\n \n \n libraryManager\n \n \n libraryWishList\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkContentTypeExists\n \n \n Private\n createDefaultIUser\n \n \n Public\n Async\n installLibraries\n \n \n Public\n Async\n run\n \n \n Public\n Async\n uninstallUnwantedLibraries\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(libraryStorage: LibraryStorage, contentStorage: ContentStorage, configService: ConfigService)\n \n \n \n \n Defined in apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts:60\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n libraryStorage\n \n \n LibraryStorage\n \n \n \n No\n \n \n \n \n contentStorage\n \n \n ContentStorage\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkContentTypeExists\n \n \n \n \n \n \n \n checkContentTypeExists(contentType: IHubContentType[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts:110\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contentType\n \n IHubContentType[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n createDefaultIUser\n \n \n \n \n \n \n \n createDefaultIUser()\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts:116\n \n \n\n\n \n \n\n \n Returns : IUser\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n installLibraries\n \n \n \n \n \n \n \n installLibraries(librariesToInstall: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts:130\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n librariesToInstall\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n run\n \n \n \n \n \n \n \n run()\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts:145\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n uninstallUnwantedLibraries\n \n \n \n \n \n \n \n uninstallUnwantedLibraries(wantedLibraries: string[], librariesToCheck: ILibraryAdministrationOverviewItem[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts:88\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n wantedLibraries\n \n string[]\n \n\n \n No\n \n\n\n \n \n librariesToCheck\n \n ILibraryAdministrationOverviewItem[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n contentTypeCache\n \n \n \n \n \n \n Type : ContentTypeCache\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n contentTypeRepo\n \n \n \n \n \n \n Type : ContentTypeInformationRepository\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n libraryAdministration\n \n \n \n \n \n \n Type : LibraryAdministration\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n libraryManager\n \n \n \n \n \n \n Type : LibraryManager\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts:56\n \n \n\n\n \n \n \n \n \n \n \n \n libraryWishList\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts:60\n \n \n\n\n \n \n\n\n \n\n\n \n import {\n\tH5PConfig,\n\tcacheImplementations,\n\tLibraryManager,\n\tContentTypeCache,\n\tIUser,\n\tLibraryAdministration,\n\tILibraryAdministrationOverviewItem,\n} from '@lumieducation/h5p-server';\nimport ContentManager from '@lumieducation/h5p-server/build/src/ContentManager';\nimport ContentTypeInformationRepository from '@lumieducation/h5p-server/build/src/ContentTypeInformationRepository';\nimport { Injectable, InternalServerErrorException, NotFoundException } from '@nestjs/common';\nimport { ContentStorage, LibraryStorage } from '@src/modules/h5p-editor';\nimport { readFileSync } from 'fs';\nimport { parse } from 'yaml';\nimport { ConfigService } from '@nestjs/config';\nimport { IHubContentType } from '@lumieducation/h5p-server/build/src/types';\nimport { IH5PLibraryManagementConfig } from './h5p-library-management.config';\n\nconst h5pConfig = new H5PConfig(undefined, {\n\tbaseUrl: '/api/v3/h5p-editor',\n\tcontentUserStateSaveInterval: false,\n\tsetFinishedEnabled: false,\n});\n\ninterface LibrariesContentType {\n\th5p_libraries: string[];\n}\n\nfunction isLibrariesContentType(object: unknown): object is LibrariesContentType {\n\tconst isType =\n\t\ttypeof object === 'object' &&\n\t\t!Array.isArray(object) &&\n\t\tobject !== null &&\n\t\t'h5p_libraries' in object &&\n\t\tArray.isArray(object.h5p_libraries);\n\n\treturn isType;\n}\n\nexport const castToLibrariesContentType = (object: unknown): LibrariesContentType => {\n\tif (!isLibrariesContentType(object)) {\n\t\tthrow new InternalServerErrorException('Invalid input type for castToLibrariesContentType');\n\t}\n\n\treturn object;\n};\n\n@Injectable()\nexport class H5PLibraryManagementService {\n\t// should all this prop private?\n\tcontentTypeCache: ContentTypeCache;\n\n\tcontentTypeRepo: ContentTypeInformationRepository;\n\n\tlibraryManager: LibraryManager;\n\n\tlibraryAdministration: LibraryAdministration;\n\n\tlibraryWishList: string[];\n\n\tconstructor(\n\t\tprivate readonly libraryStorage: LibraryStorage,\n\t\tprivate readonly contentStorage: ContentStorage,\n\t\tprivate readonly configService: ConfigService\n\t) {\n\t\tconst kvCache = new cacheImplementations.CachedKeyValueStorage('kvcache');\n\t\tthis.contentTypeCache = new ContentTypeCache(h5pConfig, kvCache);\n\t\tthis.libraryManager = new LibraryManager(\n\t\t\tthis.libraryStorage,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\th5pConfig\n\t\t);\n\t\tthis.contentTypeRepo = new ContentTypeInformationRepository(this.contentTypeCache, this.libraryManager, h5pConfig);\n\t\tconst contentManager = new ContentManager(this.contentStorage);\n\t\tthis.libraryAdministration = new LibraryAdministration(this.libraryManager, contentManager);\n\t\tconst filePath = this.configService.get('H5P_EDITOR__LIBRARY_LIST_PATH');\n\n\t\tconst librariesYamlContent = readFileSync(filePath, { encoding: 'utf-8' });\n\t\tconst librariesContentType = castToLibrariesContentType(parse(librariesYamlContent));\n\t\tthis.libraryWishList = librariesContentType.h5p_libraries;\n\t}\n\n\tpublic async uninstallUnwantedLibraries(\n\t\twantedLibraries: string[],\n\t\tlibrariesToCheck: ILibraryAdministrationOverviewItem[]\n\t): Promise {\n\t\tif (librariesToCheck.length === 0) {\n\t\t\treturn;\n\t\t}\n\t\tconst lastPositionLibrariesToCheckArray = librariesToCheck.length - 1;\n\t\tif (\n\t\t\t!wantedLibraries.includes(librariesToCheck[lastPositionLibrariesToCheckArray].machineName) &&\n\t\t\tlibrariesToCheck[lastPositionLibrariesToCheckArray].dependentsCount === 0\n\t\t) {\n\t\t\t// force removal, don't let content prevent it, therefore use libraryStorage directly\n\t\t\t// also to avoid conflicts, remove one-by-one, not using for-await:\n\t\t\tawait this.libraryStorage.deleteLibrary(librariesToCheck[lastPositionLibrariesToCheckArray]);\n\t\t}\n\t\tawait this.uninstallUnwantedLibraries(\n\t\t\tthis.libraryWishList,\n\t\t\tlibrariesToCheck.slice(0, lastPositionLibrariesToCheckArray)\n\t\t);\n\t}\n\n\tprivate checkContentTypeExists(contentType: IHubContentType[]): void {\n\t\tif (contentType === undefined) {\n\t\t\tthrow new NotFoundException('this library does not exist');\n\t\t}\n\t}\n\n\tprivate createDefaultIUser(): IUser {\n\t\tconst user: IUser = {\n\t\t\tcanCreateRestricted: true,\n\t\t\tcanInstallRecommended: true,\n\t\t\tcanUpdateAndInstallLibraries: true,\n\t\t\temail: 'a@b.de',\n\t\t\tid: 'a',\n\t\t\tname: 'a',\n\t\t\ttype: 'local',\n\t\t};\n\n\t\treturn user;\n\t}\n\n\tpublic async installLibraries(librariesToInstall: string[]): Promise {\n\t\tif (librariesToInstall.length === 0) {\n\t\t\treturn;\n\t\t}\n\t\tconst lastPositionLibrariesToInstallArray = librariesToInstall.length - 1;\n\t\t// avoid conflicts, install one-by-one:\n\t\tconst contentType = await this.contentTypeCache.get(librariesToInstall[lastPositionLibrariesToInstallArray]);\n\t\tthis.checkContentTypeExists(contentType);\n\n\t\tconst user = this.createDefaultIUser();\n\n\t\tawait this.contentTypeRepo.installContentType(librariesToInstall[lastPositionLibrariesToInstallArray], user);\n\t\tawait this.installLibraries(librariesToInstall.slice(0, lastPositionLibrariesToInstallArray));\n\t}\n\n\tpublic async run(): Promise {\n\t\tconst installedLibraries = await this.libraryAdministration.getLibraries();\n\t\tawait this.uninstallUnwantedLibraries(this.libraryWishList, installedLibraries);\n\t\tawait this.installLibraries(this.libraryWishList);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/H5PSaveResponse.html":{"url":"classes/H5PSaveResponse.html","title":"class - H5PSaveResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n H5PSaveResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contentId\n \n \n \n metadata\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(id: string, metadata: IContentMetadata)\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:74\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n \n string\n \n \n \n No\n \n \n \n \n metadata\n \n \n IContentMetadata\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n contentId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:81\n \n \n\n\n \n \n \n \n \n \n \n \n \n metadata\n \n \n \n \n \n \n Type : H5PContentMetadata\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: H5PContentMetadata})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.response.ts:84\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ContentParameters, IContentMetadata, IEditorModel, IIntegration } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { Readable } from 'stream';\n\nexport class H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel) {\n\t\tthis.integration = editorModel.integration;\n\t\tthis.scripts = editorModel.scripts;\n\t\tthis.styles = editorModel.styles;\n\t}\n\n\t@ApiProperty()\n\tintegration: IIntegration;\n\n\t// This is a list of URLs that point to the Javascript files the H5P editor needs to load\n\t@ApiProperty()\n\tscripts: string[];\n\n\t// This is a list of URLs that point to the CSS files the H5P editor needs to load\n\t@ApiProperty()\n\tstyles: string[];\n}\n\nexport interface GetH5PFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\ninterface H5PContentResponse {\n\th5p: IContentMetadata;\n\tlibrary: string;\n\tparams: {\n\t\tmetadata: IContentMetadata;\n\t\tparams: ContentParameters;\n\t};\n}\n\nexport class H5PEditorModelContentResponse extends H5PEditorModelResponse {\n\tconstructor(editorModel: IEditorModel, content: H5PContentResponse) {\n\t\tsuper(editorModel);\n\n\t\tthis.library = content.library;\n\t\tthis.metadata = content.params.metadata;\n\t\tthis.params = content.params.params;\n\t}\n\n\t@ApiProperty()\n\tlibrary: string;\n\n\t@ApiProperty()\n\tmetadata: IContentMetadata;\n\n\t@ApiProperty()\n\tparams: unknown;\n}\n\nexport class H5PContentMetadata {\n\tconstructor(metadata: IContentMetadata) {\n\t\tthis.mainLibrary = metadata.mainLibrary;\n\t\tthis.title = metadata.title;\n\t}\n\n\t@ApiProperty()\n\ttitle: string;\n\n\t@ApiProperty()\n\tmainLibrary: string;\n}\n\nexport class H5PSaveResponse {\n\tconstructor(id: string, metadata: IContentMetadata) {\n\t\tthis.contentId = id;\n\t\tthis.metadata = metadata;\n\t}\n\n\t@ApiProperty()\n\tcontentId!: string;\n\n\t@ApiProperty({ type: H5PContentMetadata })\n\tmetadata!: H5PContentMetadata;\n}\n\nexport interface GetFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/H5PTemporaryFileFactory.html":{"url":"classes/H5PTemporaryFileFactory.html","title":"class - H5PTemporaryFileFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n H5PTemporaryFileFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/h5p-temporary-file.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n isExpired\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n isExpired\n \n \n \n \n \n \nisExpired()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/h5p-temporary-file.factory.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { H5pEditorTempFile, TemporaryFileProperties } from '@src/modules/h5p-editor/entity';\nimport { DeepPartial } from 'fishery';\nimport { BaseFactory } from './base.factory';\n\nconst oneDay = 24 * 60 * 60 * 1000;\n\nclass H5PTemporaryFileFactory extends BaseFactory {\n\tisExpired(): this {\n\t\tconst birthtime = new Date(Date.now() - oneDay * 2); // Created two days ago\n\t\tconst expiresAt = new Date(Date.now() - oneDay); // Expired yesterday\n\t\tconst params: DeepPartial = { expiresAt, birthtime };\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const h5pTemporaryFileFactory = H5PTemporaryFileFactory.define(H5pEditorTempFile, ({ sequence }) => {\n\treturn {\n\t\tfilename: `File-${sequence}.txt`,\n\t\townedByUserId: `user-${sequence}`,\n\t\tbirthtime: new Date(Date.now() - oneDay), // Yesterday\n\t\texpiresAt: new Date(Date.now() + oneDay), // Tomorrow\n\t\tsize: sequence,\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/H5pEditorTempFile.html":{"url":"entities/H5pEditorTempFile.html","title":"entity - H5pEditorTempFile","body":"\n \n\n\n\n\n\n\n\n Entities\n H5pEditorTempFile\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/entity/h5p-editor-tempfile.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n birthtime\n \n \n \n expiresAt\n \n \n \n filename\n \n \n \n ownedByUserId\n \n \n \n size\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n birthtime\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-editor-tempfile.entity.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n expiresAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-editor-tempfile.entity.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n filename\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-editor-tempfile.entity.ts:19\n \n \n\n \n \n The name by which the file can be identified; can be a path including subdirectories (e.g. 'images/xyz.png')\n\n \n \n\n \n \n \n \n \n \n \n \n \n ownedByUserId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-editor-tempfile.entity.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n size\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/h5p-editor-tempfile.entity.ts:31\n \n \n\n\n \n \n\n \n\n\n \n import { IFileStats, ITemporaryFile } from '@lumieducation/h5p-server';\nimport { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\n\nexport interface TemporaryFileProperties {\n\tfilename: string;\n\townedByUserId: string;\n\texpiresAt: Date;\n\tbirthtime: Date;\n\tsize: number;\n}\n\n@Entity({ tableName: 'h5p-editor-temp-file' })\nexport class H5pEditorTempFile extends BaseEntityWithTimestamps implements ITemporaryFile, IFileStats {\n\t/**\n\t * The name by which the file can be identified; can be a path including subdirectories (e.g. 'images/xyz.png')\n\t */\n\t@Property()\n\tfilename: string;\n\n\t@Property()\n\texpiresAt: Date;\n\n\t@Property()\n\townedByUserId: string;\n\n\t@Property()\n\tbirthtime: Date;\n\n\t@Property()\n\tsize: number;\n\n\tconstructor({ filename, ownedByUserId, expiresAt, birthtime, size }: TemporaryFileProperties) {\n\t\tsuper();\n\t\tthis.filename = filename;\n\t\tthis.ownedByUserId = ownedByUserId;\n\t\tthis.expiresAt = expiresAt;\n\t\tthis.birthtime = birthtime;\n\t\tthis.size = size;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/H5pFileDto.html":{"url":"classes/H5pFileDto.html","title":"class - H5pFileDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n H5pFileDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-file.dto.ts\n \n\n\n\n\n \n Implements\n \n \n File\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n data\n \n \n mimeType\n \n \n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(file: H5pFileDto)\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-file.dto.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n file\n \n \n H5pFileDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : Readable\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-file.dto.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n mimeType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-file.dto.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-file.dto.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Readable } from 'stream';\nimport { File } from '@infra/s3-client';\n\nexport class H5pFileDto implements File {\n\tconstructor(file: H5pFileDto) {\n\t\tthis.name = file.name;\n\t\tthis.data = file.data;\n\t\tthis.mimeType = file.mimeType;\n\t}\n\n\tname: string;\n\n\tdata: Readable;\n\n\tmimeType: string;\n}\n\nexport interface GetH5pFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\nexport interface GetLibraryFile {\n\tdata: Readable;\n\tcontentType: string;\n\tcontentLength: number;\n\tcontentRange?: { start: number; end: number };\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/HtmlMailContent.html":{"url":"interfaces/HtmlMailContent.html","title":"interface - HtmlMailContent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n HtmlMailContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/mail/mail.interface.ts\n \n\n\n\n \n Extends\n \n \n MailContent\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n htmlContent\n \n \n \n Optional\n \n plainTextContent\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n htmlContent\n \n \n \n \n \n \n \n \n htmlContent: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n plainTextContent\n \n \n \n \n \n \n \n \n plainTextContent: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n interface MailAttachment {\n\tbase64Content: string;\n\n\tmimeType: string;\n\n\tname: string;\n}\n\ninterface InlineAttachment extends MailAttachment {\n\tcontentDisposition: 'INLINE';\n\n\tcontentId: string;\n}\n\ninterface AppendedAttachment extends MailAttachment {\n\tcontentDisposition: 'ATTACHMENT';\n}\n\ninterface MailContent {\n\tsubject: string;\n\n\tattachments?: (InlineAttachment | AppendedAttachment)[];\n}\n\ninterface PlainTextMailContent extends MailContent {\n\thtmlContent?: string;\n\n\tplainTextContent: string;\n}\n\ninterface HtmlMailContent extends MailContent {\n\thtmlContent: string;\n\n\tplainTextContent?: string;\n}\n\nexport interface Mail {\n\tmail: PlainTextMailContent | HtmlMailContent;\n\n\trecipients: string[];\n\n\tfrom?: string;\n\n\tcc?: string[];\n\n\tbcc?: string[];\n\n\treplyTo?: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/HydraOauthFailedLoggableException.html":{"url":"classes/HydraOauthFailedLoggableException.html","title":"class - HydraOauthFailedLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n HydraOauthFailedLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/oauth-provider/loggable/hydra-oauth-failed-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n AxiosErrorLoggable\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(error: AxiosError)\n \n \n \n \n Defined in apps/server/src/infra/oauth-provider/loggable/hydra-oauth-failed-loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n \n AxiosError\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Inherited from AxiosErrorLoggable\n\n \n \n \n \n Defined in AxiosErrorLoggable:12\n\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { AxiosErrorLoggable } from '@src/core/error/loggable';\nimport { AxiosError } from 'axios';\n\nexport class HydraOauthFailedLoggableException extends AxiosErrorLoggable {\n\tconstructor(error: AxiosError) {\n\t\tsuper(error, 'HYDRA_OAUTH_FAILED');\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/HydraOauthUc.html":{"url":"injectables/HydraOauthUc.html","title":"injectable - HydraOauthUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n HydraOauthUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/uc/hydra-oauth.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n MAX_REDIRECTS\n \n \n Protected\n validateStatus\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getOauthToken\n \n \n Private\n Async\n processRedirectCascade\n \n \n Async\n requestAuthCode\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthService: OAuthService, hydraSsoService: HydraSsoService, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/oauth/uc/hydra-oauth.uc.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthService\n \n \n OAuthService\n \n \n \n No\n \n \n \n \n hydraSsoService\n \n \n HydraSsoService\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getOauthToken\n \n \n \n \n \n \n \n getOauthToken(oauthClientId: string, code?: string, error?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/uc/hydra-oauth.uc.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthClientId\n \n string\n \n\n \n No\n \n\n\n \n \n code\n \n string\n \n\n \n Yes\n \n\n\n \n \n error\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n processRedirectCascade\n \n \n \n \n \n \n \n processRedirectCascade(initResponse: AxiosResponse, jwt: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/uc/hydra-oauth.uc.ts:59\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n initResponse\n \n AxiosResponse\n \n\n \n No\n \n\n\n \n \n jwt\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n requestAuthCode\n \n \n \n \n \n \n \n requestAuthCode(jwt: string, oauthClientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/uc/hydra-oauth.uc.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n jwt\n \n string\n \n\n \n No\n \n\n\n \n \n oauthClientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n MAX_REDIRECTS\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 10\n \n \n \n \n Defined in apps/server/src/modules/oauth/uc/hydra-oauth.uc.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n Protected\n validateStatus\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/modules/oauth/uc/hydra-oauth.uc.ts:40\n \n \n\n\n \n \n\n\n \n\n\n \n import { HydraRedirectDto } from '@modules/oauth/service/dto/hydra.redirect.dto';\nimport { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { OauthConfigEntity } from '@shared/domain/entity';\nimport { LegacyLogger } from '@src/core/logger';\nimport { AxiosRequestConfig, AxiosResponse } from 'axios';\nimport { AuthorizationParams } from '../controller/dto';\nimport { OAuthTokenDto } from '../interface';\nimport { AuthCodeFailureLoggableException } from '../loggable';\nimport { HydraSsoService, OAuthService } from '../service';\n\n@Injectable()\nexport class HydraOauthUc {\n\tconstructor(\n\t\tprivate readonly oauthService: OAuthService,\n\t\tprivate readonly hydraSsoService: HydraSsoService,\n\t\tprivate logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(HydraOauthUc.name);\n\t}\n\n\tprivate readonly MAX_REDIRECTS: number = 10;\n\n\tasync getOauthToken(oauthClientId: string, code?: string, error?: string): Promise {\n\t\tif (error || !code) {\n\t\t\tthrow new AuthCodeFailureLoggableException(error);\n\t\t}\n\t\tconst hydraOauthConfig: OauthConfigEntity = await this.hydraSsoService.generateConfig(oauthClientId);\n\n\t\tconst oauthTokens: OAuthTokenDto = await this.oauthService.requestToken(\n\t\t\tcode,\n\t\t\thydraOauthConfig,\n\t\t\thydraOauthConfig.redirectUri\n\t\t);\n\n\t\tawait this.oauthService.validateToken(oauthTokens.idToken, hydraOauthConfig);\n\n\t\treturn oauthTokens;\n\t}\n\n\tprotected validateStatus = (status: number): boolean => status === 200 || status === 302;\n\n\tasync requestAuthCode(jwt: string, oauthClientId: string): Promise {\n\t\tconst hydraOauthConfig: OauthConfigEntity = await this.hydraSsoService.generateConfig(oauthClientId);\n\t\tconst axiosConfig: AxiosRequestConfig = {\n\t\t\theaders: {},\n\t\t\twithCredentials: true,\n\t\t\tmaxRedirects: 0,\n\t\t\tvalidateStatus: this.validateStatus,\n\t\t};\n\n\t\tconst initResponse = await this.hydraSsoService.initAuth(hydraOauthConfig, axiosConfig);\n\n\t\tconst response: AxiosResponse = await this.processRedirectCascade(initResponse, jwt);\n\n\t\tconst authParams: AuthorizationParams = response.data as AuthorizationParams;\n\t\treturn authParams;\n\t}\n\n\tprivate async processRedirectCascade(\n\t\tinitResponse: AxiosResponse,\n\t\tjwt: string\n\t): Promise> {\n\t\tlet dto = new HydraRedirectDto({\n\t\t\tcurrentRedirect: 0,\n\t\t\treferer: '',\n\t\t\tcookies: { localCookies: [`jwt=${jwt}`], hydraCookies: [] },\n\t\t\tresponse: initResponse,\n\t\t\taxiosConfig: initResponse.config,\n\t\t});\n\n\t\tdo {\n\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\tdto = await this.hydraSsoService.processRedirect(dto);\n\t\t} while (dto.response.status === 302 && dto.currentRedirect = this.MAX_REDIRECTS) {\n\t\t\tthrow new InternalServerErrorException(`Redirect limit of ${this.MAX_REDIRECTS} exceeded.`);\n\t\t}\n\t\treturn dto.response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/HydraRedirectDto.html":{"url":"classes/HydraRedirectDto.html","title":"class - HydraRedirectDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n HydraRedirectDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n axiosConfig\n \n \n cookies\n \n \n currentRedirect\n \n \n referer\n \n \n response\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: HydraRedirectDto)\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n HydraRedirectDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n axiosConfig\n \n \n \n \n \n \n Type : AxiosRequestConfig\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n cookies\n \n \n \n \n \n \n Type : CookiesDto\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n currentRedirect\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n referer\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n response\n \n \n \n \n \n \n Type : AxiosResponse\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/hydra.redirect.dto.ts:19\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { CookiesDto } from '@modules/oauth/service/dto/cookies.dto';\nimport { AxiosRequestConfig, AxiosResponse } from 'axios';\n\nexport class HydraRedirectDto {\n\tconstructor(props: HydraRedirectDto) {\n\t\tthis.currentRedirect = props.currentRedirect;\n\t\tthis.referer = props.referer;\n\t\tthis.cookies = props.cookies;\n\t\tthis.response = props.response;\n\t\tthis.axiosConfig = props.axiosConfig;\n\t}\n\n\tcurrentRedirect: number;\n\n\treferer: string;\n\n\tcookies: CookiesDto;\n\n\tresponse: AxiosResponse;\n\n\taxiosConfig: AxiosRequestConfig;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/HydraSsoService.html":{"url":"injectables/HydraSsoService.html","title":"injectable - HydraSsoService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n HydraSsoService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/service/hydra.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n HOST\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n generateConfig\n \n \n Private\n get\n \n \n Async\n initAuth\n \n \n Protected\n processCookies\n \n \n Async\n processRedirect\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ltiRepo: LtiToolRepo, httpService: HttpService, oAuthEncryptionService: EncryptionService, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/hydra.service.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ltiRepo\n \n \n LtiToolRepo\n \n \n \n No\n \n \n \n \n httpService\n \n \n HttpService\n \n \n \n No\n \n \n \n \n oAuthEncryptionService\n \n \n EncryptionService\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n generateConfig\n \n \n \n \n \n \n \n generateConfig(oauthClientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/hydra.service.ts:99\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthClientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n get\n \n \n \n \n \n \n \n get(url: string, axiosConfig: AxiosRequestConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/hydra.service.ts:126\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n axiosConfig\n \n AxiosRequestConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n initAuth\n \n \n \n \n \n \n \n initAuth(oauthConfig: OauthConfigEntity, axiosConfig: AxiosRequestConfig)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/hydra.service.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthConfig\n \n OauthConfigEntity\n \n\n \n No\n \n\n\n \n \n axiosConfig\n \n AxiosRequestConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n processCookies\n \n \n \n \n \n \n \n processCookies(setCookies: string[], cookies: CookiesDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/hydra.service.ts:79\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n setCookies\n \n string[]\n \n\n \n No\n \n\n\n \n \n cookies\n \n CookiesDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CookiesDto\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n processRedirect\n \n \n \n \n \n \n \n processRedirect(dto: HydraRedirectDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/hydra.service.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n dto\n \n HydraRedirectDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n HOST\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : Configuration.get('HOST') as string\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/hydra.service.ts:27\n \n \n\n\n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { DefaultEncryptionService, EncryptionService } from '@infra/encryption';\nimport { AuthorizationParams } from '@modules/oauth/controller/dto/authorization.params';\nimport { CookiesDto } from '@modules/oauth/service/dto/cookies.dto';\nimport { HydraRedirectDto } from '@modules/oauth/service/dto/hydra.redirect.dto';\nimport { HttpService } from '@nestjs/axios';\nimport { Inject, InternalServerErrorException } from '@nestjs/common';\nimport { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { LtiToolDO } from '@shared/domain/domainobject/ltitool.do';\nimport { OauthConfigEntity } from '@shared/domain/entity';\nimport { LtiToolRepo } from '@shared/repo';\nimport { LegacyLogger } from '@src/core/logger';\nimport { AxiosRequestConfig, AxiosResponse } from 'axios';\nimport { nanoid } from 'nanoid';\nimport QueryString from 'qs';\nimport { Observable, firstValueFrom } from 'rxjs';\n\n@Injectable()\nexport class HydraSsoService {\n\tconstructor(\n\t\tprivate readonly ltiRepo: LtiToolRepo,\n\t\tprivate readonly httpService: HttpService,\n\t\t@Inject(DefaultEncryptionService) private readonly oAuthEncryptionService: EncryptionService,\n\t\tprivate readonly logger: LegacyLogger\n\t) {}\n\n\tprivate readonly HOST: string = Configuration.get('HOST') as string;\n\n\tasync initAuth(oauthConfig: OauthConfigEntity, axiosConfig: AxiosRequestConfig): Promise {\n\t\tconst query = QueryString.stringify({\n\t\t\tresponse_type: oauthConfig.responseType,\n\t\t\tscope: oauthConfig.scope,\n\t\t\tclient_id: oauthConfig.clientId,\n\t\t\tredirect_uri: oauthConfig.redirectUri,\n\t\t\tstate: nanoid(15),\n\t\t});\n\t\tthis.logger.log(`${oauthConfig.authEndpoint}?${query}`);\n\t\tthis.logger.log(axiosConfig);\n\t\tconst res: Promise = this.get(`${oauthConfig.authEndpoint}?${query}`, axiosConfig);\n\t\treturn res;\n\t}\n\n\tasync processRedirect(dto: HydraRedirectDto): Promise {\n\t\tconst localDto: HydraRedirectDto = new HydraRedirectDto(dto);\n\t\tlet location = '';\n\n\t\tif (typeof localDto.response.headers.location === 'string') {\n\t\t\t({ location } = localDto.response.headers);\n\t\t}\n\n\t\tconst isLocal = !location.startsWith('http');\n\t\tconst isHydra = location.startsWith(Configuration.get('HYDRA_PUBLIC_URI') as string);\n\n\t\t// locations of schulcloud cookies are a relative path\n\t\tif (isLocal) {\n\t\t\tlocation = `${this.HOST}${location}`;\n\t\t}\n\n\t\tif (localDto.response.headers['set-cookie']) {\n\t\t\tlocalDto.cookies = this.processCookies(localDto.response.headers['set-cookie'], dto.cookies);\n\t\t}\n\n\t\tconst headerCookies: string = isHydra\n\t\t\t? localDto.cookies.hydraCookies.join('; ')\n\t\t\t: localDto.cookies.localCookies.join('; ');\n\n\t\tlocalDto.axiosConfig.headers = {\n\t\t\tReferer: localDto.referer,\n\t\t\tCookie: headerCookies,\n\t\t};\n\t\tthis.logger.log(localDto);\n\t\tlocalDto.response = await this.get(location, localDto.axiosConfig);\n\t\tlocalDto.referer = location;\n\t\tlocalDto.currentRedirect += 1;\n\n\t\treturn localDto;\n\t}\n\n\tprotected processCookies(setCookies: string[], cookies: CookiesDto): CookiesDto {\n\t\tconst { localCookies } = cookies;\n\t\tconst { hydraCookies } = cookies;\n\n\t\tsetCookies.forEach((item: string): void => {\n\t\t\tconst cookie: string = item.split(';')[0];\n\t\t\tif (cookie.startsWith('oauth2') && !hydraCookies.includes(cookie)) {\n\t\t\t\thydraCookies.push(cookie);\n\t\t\t} else if (!localCookies.includes(cookie)) {\n\t\t\t\tlocalCookies.push(cookie);\n\t\t\t}\n\t\t});\n\n\t\tconst cookiesDto = new CookiesDto({\n\t\t\tlocalCookies,\n\t\t\thydraCookies,\n\t\t});\n\t\treturn cookiesDto;\n\t}\n\n\tasync generateConfig(oauthClientId: string): Promise {\n\t\tconst tool: LtiToolDO = await this.ltiRepo.findByOauthClientId(oauthClientId);\n\n\t\t// Needs to be checked, because the fields can be undefined\n\t\tif (!tool.oAuthClientId || !tool.secret) {\n\t\t\tthrow new InternalServerErrorException(oauthClientId, 'Suitable tool not found!');\n\t\t}\n\n\t\tconst hydraUri: string = Configuration.get('HYDRA_PUBLIC_URI') as string;\n\t\tconst hydraOauthConfig = new OauthConfigEntity({\n\t\t\tauthEndpoint: `${hydraUri}/oauth2/auth`,\n\t\t\tclientId: tool.oAuthClientId,\n\t\t\tclientSecret: this.oAuthEncryptionService.encrypt(tool.secret),\n\t\t\tgrantType: 'authorization_code',\n\t\t\tissuer: `${hydraUri}/`,\n\t\t\tjwksEndpoint: `${hydraUri}/.well-known/jwks.json`,\n\t\t\tlogoutEndpoint: `${hydraUri}/oauth2/sessions/logout`,\n\t\t\tprovider: 'hydra',\n\t\t\tredirectUri: `${Configuration.get('HOST') as string}/api/v3/sso/hydra/${oauthClientId}`,\n\t\t\tresponseType: 'code',\n\t\t\tscope: Configuration.get('NEXTCLOUD_SCOPES') as string, // Only Nextcloud is currently supported\n\t\t\ttokenEndpoint: `${hydraUri}/oauth2/token`,\n\t\t});\n\n\t\treturn hydraOauthConfig;\n\t}\n\n\tprivate get(url: string, axiosConfig: AxiosRequestConfig): Promise {\n\t\tconst respObservable: Observable = this.httpService.get(url, axiosConfig);\n\t\tconst res: Promise = firstValueFrom(respObservable);\n\t\treturn res;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IBbbSettings.html":{"url":"interfaces/IBbbSettings.html","title":"interface - IBbbSettings","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IBbbSettings\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/bbb/bbb-settings.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n host\n \n \n \n \n presentationUrl\n \n \n \n \n salt\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n host\n \n \n \n \n \n \n \n \n host: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n presentationUrl\n \n \n \n \n \n \n \n \n presentationUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n salt\n \n \n \n \n \n \n \n \n salt: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export const BbbSettings = Symbol('BbbSettings');\n\nexport interface IBbbSettings {\n\thost: string;\n\tsalt: string;\n\tpresentationUrl: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ICommonCartridgeFileBuilder.html":{"url":"interfaces/ICommonCartridgeFileBuilder.html","title":"interface - ICommonCartridgeFileBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ICommonCartridgeFileBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n addOrganization\n \n \n \n \n addResourceToFile\n \n \n \n \n build\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n addOrganization\n \n \n \n \n \n \naddOrganization(props: ICommonCartridgeOrganizationProps)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n ICommonCartridgeOrganizationProps\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ICommonCartridgeOrganizationBuilder\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addResourceToFile\n \n \n \n \n \n \naddResourceToFile(props: ICommonCartridgeResourceProps)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n ICommonCartridgeResourceProps\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ICommonCartridgeFileBuilder\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:32\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n\n \n\n\n \n import AdmZip from 'adm-zip';\nimport { Builder } from 'xml2js';\nimport { CommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeVersion } from './common-cartridge-enums';\nimport { CommonCartridgeManifestElement } from './common-cartridge-manifest-element';\nimport {\n\tCommonCartridgeOrganizationItemElement,\n\tICommonCartridgeOrganizationProps,\n} from './common-cartridge-organization-item-element';\nimport {\n\tCommonCartridgeResourceItemElement,\n\tICommonCartridgeResourceProps,\n} from './common-cartridge-resource-item-element';\n\nexport type CommonCartridgeFileBuilderOptions = {\n\tidentifier: string;\n\ttitle: string;\n\tcopyrightOwners: string;\n\tcreationYear: string;\n\tversion: CommonCartridgeVersion;\n};\n\nexport interface ICommonCartridgeOrganizationBuilder {\n\taddResourceToOrganization(props: ICommonCartridgeResourceProps): ICommonCartridgeOrganizationBuilder;\n}\n\nexport interface ICommonCartridgeFileBuilder {\n\taddOrganization(props: ICommonCartridgeOrganizationProps): ICommonCartridgeOrganizationBuilder;\n\n\taddResourceToFile(props: ICommonCartridgeResourceProps): ICommonCartridgeFileBuilder;\n\n\tbuild(): Promise;\n}\n\nclass CommonCartridgeOrganizationBuilder implements ICommonCartridgeOrganizationBuilder {\n\tconstructor(\n\t\tprivate readonly props: ICommonCartridgeOrganizationProps,\n\t\tprivate readonly xmlBuilder: Builder,\n\t\tprivate readonly zipBuilder: AdmZip\n\t) {}\n\n\tget organization(): CommonCartridgeElement {\n\t\treturn new CommonCartridgeOrganizationItemElement(this.props);\n\t}\n\n\tget resources(): CommonCartridgeElement[] {\n\t\treturn this.props.resources.map(\n\t\t\t(resourceProps) => new CommonCartridgeResourceItemElement(resourceProps, this.xmlBuilder)\n\t\t);\n\t}\n\n\taddResourceToOrganization(props: ICommonCartridgeResourceProps): ICommonCartridgeOrganizationBuilder {\n\t\tconst newResource = new CommonCartridgeResourceItemElement(props, this.xmlBuilder);\n\t\tthis.props.resources.push(props);\n\t\tif (!newResource.canInline()) {\n\t\t\tthis.zipBuilder.addFile(props.href, Buffer.from(newResource.content()));\n\t\t}\n\t\treturn this;\n\t}\n}\n\nexport class CommonCartridgeFileBuilder implements ICommonCartridgeFileBuilder {\n\tprivate readonly xmlBuilder = new Builder();\n\n\tprivate readonly zipBuilder = new AdmZip();\n\n\tprivate readonly organizations = new Array();\n\n\tprivate readonly resources = new Array();\n\n\tconstructor(private readonly options: CommonCartridgeFileBuilderOptions) {}\n\n\taddOrganization(props: ICommonCartridgeOrganizationProps): ICommonCartridgeOrganizationBuilder {\n\t\tconst organizationBuilder = new CommonCartridgeOrganizationBuilder(props, this.xmlBuilder, this.zipBuilder);\n\t\tthis.organizations.push(organizationBuilder);\n\t\treturn organizationBuilder;\n\t}\n\n\taddResourceToFile(props: ICommonCartridgeResourceProps): ICommonCartridgeFileBuilder {\n\t\tconst resource = new CommonCartridgeResourceItemElement(props, this.xmlBuilder);\n\t\tif (!resource.canInline()) {\n\t\t\tthis.zipBuilder.addFile(props.href, Buffer.from(resource.content()));\n\t\t}\n\t\tthis.resources.push(resource);\n\t\treturn this;\n\t}\n\n\tasync build(): Promise {\n\t\tconst organizations = this.organizations.map((organization) => organization.organization);\n\t\tconst resources = this.organizations.flatMap((organization) => organization.resources).concat(this.resources);\n\t\tconst manifest = this.xmlBuilder.buildObject(\n\t\t\tnew CommonCartridgeManifestElement(\n\t\t\t\t{\n\t\t\t\t\tidentifier: this.options.identifier,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttitle: this.options.title,\n\t\t\t\t\tcopyrightOwners: this.options.copyrightOwners,\n\t\t\t\t\tcreationYear: this.options.creationYear,\n\t\t\t\t\tversion: this.options.version,\n\t\t\t\t},\n\t\t\t\torganizations,\n\t\t\t\tresources\n\t\t\t).transform()\n\t\t);\n\t\tthis.zipBuilder.addFile('imsmanifest.xml', Buffer.from(manifest));\n\t\treturn this.zipBuilder.toBufferPromise();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ICommonCartridgeOrganizationBuilder.html":{"url":"interfaces/ICommonCartridgeOrganizationBuilder.html","title":"interface - ICommonCartridgeOrganizationBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ICommonCartridgeOrganizationBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n addResourceToOrganization\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n addResourceToOrganization\n \n \n \n \n \n \naddResourceToOrganization(props: ICommonCartridgeResourceProps)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/common-cartridge/common-cartridge-file-builder.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n ICommonCartridgeResourceProps\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ICommonCartridgeOrganizationBuilder\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import AdmZip from 'adm-zip';\nimport { Builder } from 'xml2js';\nimport { CommonCartridgeElement } from './common-cartridge-element.interface';\nimport { CommonCartridgeVersion } from './common-cartridge-enums';\nimport { CommonCartridgeManifestElement } from './common-cartridge-manifest-element';\nimport {\n\tCommonCartridgeOrganizationItemElement,\n\tICommonCartridgeOrganizationProps,\n} from './common-cartridge-organization-item-element';\nimport {\n\tCommonCartridgeResourceItemElement,\n\tICommonCartridgeResourceProps,\n} from './common-cartridge-resource-item-element';\n\nexport type CommonCartridgeFileBuilderOptions = {\n\tidentifier: string;\n\ttitle: string;\n\tcopyrightOwners: string;\n\tcreationYear: string;\n\tversion: CommonCartridgeVersion;\n};\n\nexport interface ICommonCartridgeOrganizationBuilder {\n\taddResourceToOrganization(props: ICommonCartridgeResourceProps): ICommonCartridgeOrganizationBuilder;\n}\n\nexport interface ICommonCartridgeFileBuilder {\n\taddOrganization(props: ICommonCartridgeOrganizationProps): ICommonCartridgeOrganizationBuilder;\n\n\taddResourceToFile(props: ICommonCartridgeResourceProps): ICommonCartridgeFileBuilder;\n\n\tbuild(): Promise;\n}\n\nclass CommonCartridgeOrganizationBuilder implements ICommonCartridgeOrganizationBuilder {\n\tconstructor(\n\t\tprivate readonly props: ICommonCartridgeOrganizationProps,\n\t\tprivate readonly xmlBuilder: Builder,\n\t\tprivate readonly zipBuilder: AdmZip\n\t) {}\n\n\tget organization(): CommonCartridgeElement {\n\t\treturn new CommonCartridgeOrganizationItemElement(this.props);\n\t}\n\n\tget resources(): CommonCartridgeElement[] {\n\t\treturn this.props.resources.map(\n\t\t\t(resourceProps) => new CommonCartridgeResourceItemElement(resourceProps, this.xmlBuilder)\n\t\t);\n\t}\n\n\taddResourceToOrganization(props: ICommonCartridgeResourceProps): ICommonCartridgeOrganizationBuilder {\n\t\tconst newResource = new CommonCartridgeResourceItemElement(props, this.xmlBuilder);\n\t\tthis.props.resources.push(props);\n\t\tif (!newResource.canInline()) {\n\t\t\tthis.zipBuilder.addFile(props.href, Buffer.from(newResource.content()));\n\t\t}\n\t\treturn this;\n\t}\n}\n\nexport class CommonCartridgeFileBuilder implements ICommonCartridgeFileBuilder {\n\tprivate readonly xmlBuilder = new Builder();\n\n\tprivate readonly zipBuilder = new AdmZip();\n\n\tprivate readonly organizations = new Array();\n\n\tprivate readonly resources = new Array();\n\n\tconstructor(private readonly options: CommonCartridgeFileBuilderOptions) {}\n\n\taddOrganization(props: ICommonCartridgeOrganizationProps): ICommonCartridgeOrganizationBuilder {\n\t\tconst organizationBuilder = new CommonCartridgeOrganizationBuilder(props, this.xmlBuilder, this.zipBuilder);\n\t\tthis.organizations.push(organizationBuilder);\n\t\treturn organizationBuilder;\n\t}\n\n\taddResourceToFile(props: ICommonCartridgeResourceProps): ICommonCartridgeFileBuilder {\n\t\tconst resource = new CommonCartridgeResourceItemElement(props, this.xmlBuilder);\n\t\tif (!resource.canInline()) {\n\t\t\tthis.zipBuilder.addFile(props.href, Buffer.from(resource.content()));\n\t\t}\n\t\tthis.resources.push(resource);\n\t\treturn this;\n\t}\n\n\tasync build(): Promise {\n\t\tconst organizations = this.organizations.map((organization) => organization.organization);\n\t\tconst resources = this.organizations.flatMap((organization) => organization.resources).concat(this.resources);\n\t\tconst manifest = this.xmlBuilder.buildObject(\n\t\t\tnew CommonCartridgeManifestElement(\n\t\t\t\t{\n\t\t\t\t\tidentifier: this.options.identifier,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\ttitle: this.options.title,\n\t\t\t\t\tcopyrightOwners: this.options.copyrightOwners,\n\t\t\t\t\tcreationYear: this.options.creationYear,\n\t\t\t\t\tversion: this.options.version,\n\t\t\t\t},\n\t\t\t\torganizations,\n\t\t\t\tresources\n\t\t\t).transform()\n\t\t);\n\t\tthis.zipBuilder.addFile('imsmanifest.xml', Buffer.from(manifest));\n\t\treturn this.zipBuilder.toBufferPromise();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ICurrentUser.html":{"url":"interfaces/ICurrentUser.html","title":"interface - ICurrentUser","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ICurrentUser\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/interface/user.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n accountId\n \n \n \n Optional\n \n impersonated\n \n \n \n \n isExternalUser\n \n \n \n \n roles\n \n \n \n \n schoolId\n \n \n \n Optional\n \n systemId\n \n \n \n \n userId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n accountId\n \n \n \n \n \n \n \n \n accountId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n account id as EntityId\n\n \n \n \n \n \n \n \n \n \n impersonated\n \n \n \n \n \n \n \n \n impersonated: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n True if a support member impersonates the user\n\n \n \n \n \n \n \n \n \n \n isExternalUser\n \n \n \n \n \n \n \n \n isExternalUser: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n True if the user is an external user e.g. an oauth user or ldap user\n\n \n \n \n \n \n \n \n \n \n roles\n \n \n \n \n \n \n \n \n roles: EntityId[]\n\n \n \n\n\n \n \n Type : EntityId[]\n\n \n \n\n\n\n\n\n \n \n users role ids as EntityId[]\n\n \n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n schoolId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n users schoolId as EntityId\n\n \n \n \n \n \n \n \n \n \n systemId\n \n \n \n \n \n \n \n \n systemId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n true if user is provided by external system -> no pw change in first login\n\n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n authenticated users id\n\n \n \n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\n\nexport interface ICurrentUser {\n\t/** authenticated users id */\n\tuserId: EntityId;\n\t/** users role ids as EntityId[] */\n\troles: EntityId[];\n\t/** users schoolId as EntityId */\n\tschoolId: EntityId;\n\t/** account id as EntityId */\n\taccountId: EntityId;\n\n\t/** true if user is provided by external system -> no pw change in first login */\n\tsystemId?: EntityId;\n\n\t/** True if a support member impersonates the user */\n\timpersonated?: boolean;\n\n\t/** True if the user is an external user e.g. an oauth user or ldap user */\n\tisExternalUser: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IDashboardRepo.html":{"url":"interfaces/IDashboardRepo.html","title":"interface - IDashboardRepo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IDashboardRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/dashboard/dashboard.repo.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n getDashboardById\n \n \n \n \n getUsersDashboard\n \n \n \n \n persistAndFlush\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n getDashboardById\n \n \n \n \n \n \ngetDashboardById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.repo.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getUsersDashboard\n \n \n \n \n \n \ngetUsersDashboard(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.repo.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n persistAndFlush\n \n \n \n \n \n \npersistAndFlush(entity: DashboardEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/dashboard/dashboard.repo.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n DashboardEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager, ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { DashboardEntity, DashboardModelEntity, GridElementWithPosition } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { DashboardModelMapper } from './dashboard.model.mapper';\n\nconst generateEmptyDashboard = (userId: EntityId) => {\n\tconst gridArray: GridElementWithPosition[] = [];\n\n\tconst dashboard = new DashboardEntity(new ObjectId().toString(), { grid: gridArray, userId });\n\treturn dashboard;\n};\n\nexport interface IDashboardRepo {\n\tgetUsersDashboard(userId: EntityId): Promise;\n\tgetDashboardById(id: EntityId): Promise;\n\tpersistAndFlush(entity: DashboardEntity): Promise;\n}\n\n@Injectable()\nexport class DashboardRepo implements IDashboardRepo {\n\tconstructor(protected readonly em: EntityManager, protected readonly mapper: DashboardModelMapper) {}\n\n\t// ToDo: refactor this to be in an abstract class (see baseRepo)\n\tasync persist(entity: DashboardEntity): Promise {\n\t\tconst modelEntity = await this.mapper.mapDashboardToModel(entity);\n\t\tthis.em.persist(modelEntity);\n\t\treturn this.mapper.mapDashboardToEntity(modelEntity);\n\t}\n\n\tasync persistAndFlush(entity: DashboardEntity): Promise {\n\t\tconst modelEntity = await this.mapper.mapDashboardToModel(entity);\n\t\tawait this.em.persistAndFlush(modelEntity);\n\t\treturn this.mapper.mapDashboardToEntity(modelEntity);\n\t}\n\n\tasync getDashboardById(id: EntityId): Promise {\n\t\tconst dashboardModel = await this.em.findOneOrFail(DashboardModelEntity, id);\n\t\tconst dashboard = await this.mapper.mapDashboardToEntity(dashboardModel);\n\t\treturn dashboard;\n\t}\n\n\tasync getUsersDashboard(userId: EntityId): Promise {\n\t\tconst dashboardModel = await this.em.findOne(DashboardModelEntity, { user: userId });\n\t\tif (dashboardModel) {\n\t\t\treturn this.mapper.mapDashboardToEntity(dashboardModel);\n\t\t}\n\n\t\tconst dashboard = generateEmptyDashboard(userId);\n\t\tawait this.persistAndFlush(dashboard);\n\n\t\treturn dashboard;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IEntity.html":{"url":"interfaces/IEntity.html","title":"interface - IEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/interface/entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n _id\n \n \n \n \n id\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n _id\n \n \n \n \n \n \n \n \n _id: ObjectId\n\n \n \n\n\n \n \n Type : ObjectId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { SchoolEntity } from '@shared/domain/entity/school.entity';\n\nexport interface IEntity {\n\t_id: ObjectId;\n\tid: string;\n}\n\nexport interface IEntityWithTimestamps extends IEntity {\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\nexport interface EntityWithSchool extends IEntity {\n\tschool: SchoolEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IEntityWithTimestamps.html":{"url":"interfaces/IEntityWithTimestamps.html","title":"interface - IEntityWithTimestamps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IEntityWithTimestamps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/interface/entity.ts\n \n\n\n\n \n Extends\n \n \n IEntity\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n createdAt\n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { SchoolEntity } from '@shared/domain/entity/school.entity';\n\nexport interface IEntity {\n\t_id: ObjectId;\n\tid: string;\n}\n\nexport interface IEntityWithTimestamps extends IEntity {\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\nexport interface EntityWithSchool extends IEntity {\n\tschool: SchoolEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IError.html":{"url":"interfaces/IError.html","title":"interface - IError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/rabbitmq/rpc-message.ts\n \n\n\n\n \n Extends\n \n \n Error\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n message\n \n \n \n Optional\n \n status\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n message\n \n \n \n \n \n \n \n \n message: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n \n \n status: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface IError extends Error {\n\tstatus?: number;\n\tmessage: string;\n}\nexport interface RpcMessage {\n\tmessage: T;\n\terror?: IError;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IFindOptions.html":{"url":"interfaces/IFindOptions.html","title":"interface - IFindOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IFindOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/interface/find-options.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n order\n \n \n \n Optional\n \n pagination\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n order\n \n \n \n \n \n \n \n \n order: SortOrderMap\n\n \n \n\n\n \n \n Type : SortOrderMap\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n pagination\n \n \n \n \n \n \n \n \n pagination: Pagination\n\n \n \n\n\n \n \n Type : Pagination\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface Pagination {\n\tskip?: number;\n\tlimit?: number;\n}\n\nexport enum SortOrder {\n\tasc = 'asc',\n\tdesc = 'desc',\n}\n\nexport type SortOrderMap = Partial>;\n\nexport interface IFindOptions {\n\tpagination?: Pagination;\n\torder?: SortOrderMap;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IGridElement.html":{"url":"interfaces/IGridElement.html","title":"interface - IGridElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IGridElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/dashboard.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n getContent\n \n \n \n \n getId\n \n \n \n \n \n \n \n Methods\n \n \n \n \n \n \n \n addReferences\n \n \n \n \n getReferences\n \n \n \n \n hasId\n \n \n \n \n isGroup\n \n \n \n \n removeReference\n \n \n \n \n removeReferenceByIndex\n \n \n \n \n setGroupName\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n addReferences\n \n \n \n \n \n \naddReferences(anotherReference: Learnroom[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n anotherReference\n \n Learnroom[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getReferences\n \n \n \n \n \n \ngetReferences()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:20\n \n \n\n\n \n \n\n \n Returns : Learnroom[]\n\n \n \n \n \n \n \n \n \n \n \n \n hasId\n \n \n \n \n \n \nhasId()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:8\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n isGroup\n \n \n \n \n \n \nisGroup()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:14\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n removeReference\n \n \n \n \n \n \nremoveReference(reference: Learnroom)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n reference\n \n Learnroom\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeReferenceByIndex\n \n \n \n \n \n \nremoveReferenceByIndex(index: number)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n index\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setGroupName\n \n \n \n \n \n \nsetGroupName(newGroupName: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/dashboard.entity.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n newGroupName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n Properties\n \n \n \n \n \n getContent\n \n \n \n \n \n \n \n \n getContent: function\n\n \n \n\n\n \n \n Type : function\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n getId\n \n \n \n \n \n \n \n \n getId: function\n\n \n \n\n\n \n \n Type : function\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BadRequestException, NotFoundException } from '@nestjs/common';\nimport { Learnroom } from '@shared/domain/interface';\nimport { EntityId, LearnroomMetadata } from '@shared/domain/types';\n\nconst defaultColumns = 4;\n\nexport interface IGridElement {\n\thasId(): boolean;\n\n\tgetId: () => EntityId | undefined;\n\n\tgetContent: () => GridElementContent;\n\n\tisGroup(): boolean;\n\n\tremoveReferenceByIndex(index: number): void;\n\n\tremoveReference(reference: Learnroom): void;\n\n\tgetReferences(): Learnroom[];\n\n\taddReferences(anotherReference: Learnroom[]): void;\n\n\tsetGroupName(newGroupName: string): void;\n}\n\nexport type GridElementContent = {\n\treferencedId?: string;\n\ttitle?: string;\n\tshortTitle: string;\n\tdisplayColor: string;\n\tgroup?: LearnroomMetadata[];\n\tgroupId?: string;\n\tcopyingSince?: Date;\n};\n\nexport class GridElement implements IGridElement {\n\tid?: EntityId;\n\n\ttitle?: string;\n\n\tprivate sortReferences = (a: Learnroom, b: Learnroom) => {\n\t\tconst titleA = a.getMetadata().title;\n\t\tconst titleB = b.getMetadata().title;\n\t\tif (titleA titleB) {\n\t\t\treturn 1;\n\t\t}\n\t\treturn 0;\n\t};\n\n\tprivate constructor(props: { id?: EntityId; title?: string; references: Learnroom[] }) {\n\t\tif (props.id) this.id = props.id;\n\t\tif (props.title) this.title = props.title;\n\t\tthis.references = props.references.sort(this.sortReferences);\n\t}\n\n\tstatic FromPersistedReference(id: EntityId, reference: Learnroom): GridElement {\n\t\treturn new GridElement({ id, references: [reference] });\n\t}\n\n\tstatic FromPersistedGroup(id: EntityId, title: string | undefined, group: Learnroom[]): GridElement {\n\t\treturn new GridElement({ id, title, references: group });\n\t}\n\n\tstatic FromSingleReference(reference: Learnroom): GridElement {\n\t\treturn new GridElement({ references: [reference] });\n\t}\n\n\tstatic FromGroup(title: string, references: Learnroom[]): GridElement {\n\t\treturn new GridElement({ title, references });\n\t}\n\n\treferences: Learnroom[];\n\n\thasId(): boolean {\n\t\treturn !!this.id;\n\t}\n\n\tgetId(): EntityId | undefined {\n\t\treturn this.id;\n\t}\n\n\tgetReferences(): Learnroom[] {\n\t\treturn this.references;\n\t}\n\n\tremoveReferenceByIndex(index: number): void {\n\t\tif (!this.isGroup()) {\n\t\t\tthrow new BadRequestException('this element is not a group.');\n\t\t}\n\t\tif (index > 0 && this.references.length reference.getMetadata());\n\t\tconst checkShortTitle = this.title ? this.title.substring(0, 2) : '';\n\t\tconst groupMetadata = {\n\t\t\tgroupId: this.getId(),\n\t\t\ttitle: this.title,\n\t\t\tshortTitle: checkShortTitle,\n\t\t\tdisplayColor: 'exampleColor',\n\t\t\tgroup: groupData,\n\t\t};\n\t\treturn groupMetadata;\n\t}\n\n\tisGroup(): boolean {\n\t\treturn this.references.length > 1;\n\t}\n\n\tsetGroupName(newGroupName: string): void {\n\t\tif (!this.isGroup()) {\n\t\t\treturn;\n\t\t}\n\t\tthis.title = newGroupName;\n\t}\n}\n\nexport type GridPosition = { x: number; y: number };\nexport type GridPositionWithGroupIndex = { x: number; y: number; groupIndex?: number };\n\nexport type GridElementWithPosition = {\n\tgridElement: IGridElement;\n\tpos: GridPosition;\n};\n\nexport type DashboardProps = { colums?: number; grid: GridElementWithPosition[]; userId: EntityId };\n\nexport class DashboardEntity {\n\tid: EntityId;\n\n\tcolumns: number;\n\n\tgrid: Map;\n\n\tuserId: EntityId;\n\n\tprivate gridIndexFromPosition(pos: GridPosition): number {\n\t\tif (pos.x > this.columns) {\n\t\t\tthrow new BadRequestException('dashboard element position is outside the grid.');\n\t\t}\n\t\treturn this.columns * pos.y + pos.x;\n\t}\n\n\tprivate positionFromGridIndex(index: number): GridPosition {\n\t\tconst y = Math.floor(index / this.columns);\n\t\tconst x = index % this.columns;\n\t\treturn { x, y };\n\t}\n\n\tconstructor(id: string, props: DashboardProps) {\n\t\tthis.columns = props.colums || defaultColumns;\n\t\tthis.grid = new Map();\n\t\tprops.grid.forEach((element) => {\n\t\t\tthis.grid.set(this.gridIndexFromPosition(element.pos), element.gridElement);\n\t\t});\n\t\tthis.id = id;\n\t\tthis.userId = props.userId;\n\t\tObject.assign(this, {});\n\t}\n\n\tgetId(): string {\n\t\treturn this.id;\n\t}\n\n\tgetUserId(): EntityId {\n\t\treturn this.userId;\n\t}\n\n\tgetGrid(): GridElementWithPosition[] {\n\t\tconst result = [...this.grid.keys()].map((key) => {\n\t\t\tconst position = this.positionFromGridIndex(key);\n\t\t\tconst value = this.grid.get(key) as IGridElement;\n\t\t\treturn {\n\t\t\t\tpos: position,\n\t\t\t\tgridElement: value,\n\t\t\t};\n\t\t});\n\t\treturn result;\n\t}\n\n\tgetElement(position: GridPosition): IGridElement {\n\t\tconst element = this.grid.get(this.gridIndexFromPosition(position));\n\t\tif (!element) {\n\t\t\tthrow new NotFoundException('no element at grid position');\n\t\t}\n\t\treturn element;\n\t}\n\n\tmoveElement(from: GridPositionWithGroupIndex, to: GridPositionWithGroupIndex): GridElementWithPosition {\n\t\tconst elementToMove = this.getReferencesFromPosition(from);\n\t\tconst resultElement = this.mergeElementIntoPosition(elementToMove, to);\n\t\tthis.removeFromPosition(from);\n\t\treturn {\n\t\t\tpos: to,\n\t\t\tgridElement: resultElement,\n\t\t};\n\t}\n\n\tsetLearnRooms(rooms: Learnroom[]): void {\n\t\tthis.removeRoomsNotInList(rooms);\n\t\tconst newRooms = this.determineNewRoomsIn(rooms);\n\n\t\tnewRooms.forEach((room) => {\n\t\t\tthis.addRoom(room);\n\t\t});\n\t}\n\n\tprivate removeRoomsNotInList(roomList: Learnroom[]): void {\n\t\t[...this.grid.keys()].forEach((key) => {\n\t\t\tconst element = this.grid.get(key) as IGridElement;\n\t\t\tconst currentRooms = element.getReferences();\n\t\t\tcurrentRooms.forEach((room) => {\n\t\t\t\tif (!roomList.includes(room)) {\n\t\t\t\t\telement.removeReference(room);\n\t\t\t\t}\n\t\t\t});\n\t\t\tif (element.getReferences().length === 0) {\n\t\t\t\tthis.grid.delete(key);\n\t\t\t}\n\t\t});\n\t}\n\n\tprivate determineNewRoomsIn(rooms: Learnroom[]): Learnroom[] {\n\t\tconst result: Learnroom[] = [];\n\t\tconst existingRooms = this.allRooms();\n\t\trooms.forEach((room) => {\n\t\t\tif (!existingRooms.includes(room)) {\n\t\t\t\tresult.push(room);\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t}\n\n\tprivate allRooms(): Learnroom[] {\n\t\tconst elements = [...this.grid.values()];\n\t\tconst references = elements.map((el) => el.getReferences()).flat();\n\t\treturn references;\n\t}\n\n\tprivate addRoom(room: Learnroom): void {\n\t\tconst index = this.getFirstOpenIndex();\n\t\tconst newElement = GridElement.FromSingleReference(room);\n\t\tthis.grid.set(index, newElement);\n\t}\n\n\tprivate getFirstOpenIndex(): number {\n\t\tlet i = 0;\n\t\twhile (this.grid.get(i) !== undefined) {\n\t\t\ti += 1;\n\t\t}\n\t\treturn i;\n\t}\n\n\tprivate getReferencesFromPosition(position: GridPositionWithGroupIndex): IGridElement {\n\t\tconst elementToMove = this.getElement(position);\n\n\t\tif (typeof position.groupIndex === 'number' && elementToMove.isGroup()) {\n\t\t\tconst references = elementToMove.getReferences();\n\t\t\tconst referenceForIndex = references[position.groupIndex];\n\t\t\treturn GridElement.FromSingleReference(referenceForIndex);\n\t\t}\n\n\t\treturn elementToMove;\n\t}\n\n\tprivate removeFromPosition(position: GridPositionWithGroupIndex): void {\n\t\tconst element = this.getElement(position);\n\t\tif (typeof position.groupIndex === 'number') {\n\t\t\telement.removeReferenceByIndex(position.groupIndex);\n\t\t} else {\n\t\t\tthis.grid.delete(this.gridIndexFromPosition(position));\n\t\t}\n\t}\n\n\tprivate mergeElementIntoPosition(element: IGridElement, position: GridPosition): IGridElement {\n\t\tconst targetElement = this.grid.get(this.gridIndexFromPosition(position));\n\t\tif (targetElement) {\n\t\t\ttargetElement.addReferences(element.getReferences());\n\t\t\treturn targetElement;\n\t\t}\n\t\tthis.grid.set(this.gridIndexFromPosition(position), element);\n\t\treturn element;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IH5PLibraryManagementConfig.html":{"url":"interfaces/IH5PLibraryManagementConfig.html","title":"interface - IH5PLibraryManagementConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IH5PLibraryManagementConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-library-management/service/h5p-library-management.config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n H5P_EDITOR__LIBRARY_LIST_PATH\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n H5P_EDITOR__LIBRARY_LIST_PATH\n \n \n \n \n \n \n \n \n H5P_EDITOR__LIBRARY_LIST_PATH: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\n\nexport interface IH5PLibraryManagementConfig {\n\tH5P_EDITOR__LIBRARY_LIST_PATH: string;\n}\n\nexport const config: IH5PLibraryManagementConfig = {\n\tH5P_EDITOR__LIBRARY_LIST_PATH: Configuration.get('H5P_EDITOR__LIBRARY_LIST_PATH') as string,\n};\n\nexport const h5PLibraryManagementConfig = () => config;\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IImportUserScope.html":{"url":"interfaces/IImportUserScope.html","title":"interface - IImportUserScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IImportUserScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/types/importuser.types.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n classes\n \n \n \n Optional\n \n firstName\n \n \n \n Optional\n \n flagged\n \n \n \n Optional\n \n lastName\n \n \n \n Optional\n \n loginName\n \n \n \n Optional\n \n matches\n \n \n \n Optional\n \n role\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n classes\n \n \n \n \n \n \n \n \n classes: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n \n \n firstName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n flagged\n \n \n \n \n \n \n \n \n flagged: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n lastName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n loginName\n \n \n \n \n \n \n \n \n loginName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n matches\n \n \n \n \n \n \n \n \n matches: MatchCreatorScope[]\n\n \n \n\n\n \n \n Type : MatchCreatorScope[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n role\n \n \n \n \n \n \n \n \n role: IImportUserRoleName\n\n \n \n\n\n \n \n Type : IImportUserRoleName\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import type { IImportUserRoleName } from '../entity/import-user.entity';\n\nexport enum MatchCreatorScope {\n\tAUTO = 'auto',\n\tMANUAL = 'admin',\n\tNONE = 'none',\n}\n\nexport interface IImportUserScope {\n\tfirstName?: string;\n\tlastName?: string;\n\tloginName?: string;\n\tmatches?: MatchCreatorScope[];\n\tflagged?: boolean;\n\trole?: IImportUserRoleName;\n\tclasses?: string;\n}\n\nexport interface NameMatch {\n\t/**\n\t * Match filter for lastName or firstName\n\t */\n\tname?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IKeycloakConfigurationInputFiles.html":{"url":"interfaces/IKeycloakConfigurationInputFiles.html","title":"interface - IKeycloakConfigurationInputFiles","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IKeycloakConfigurationInputFiles\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/interface/keycloak-configuration-input-files.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n accountsFile\n \n \n \n \n usersFile\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n accountsFile\n \n \n \n \n \n \n \n \n accountsFile: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n usersFile\n \n \n \n \n \n \n \n \n usersFile: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export const KeycloakConfigurationInputFiles = Symbol('KeycloakConfigurationInputFiles');\n\nexport interface IKeycloakConfigurationInputFiles {\n\taccountsFile: string;\n\tusersFile: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IKeycloakSettings.html":{"url":"interfaces/IKeycloakSettings.html","title":"interface - IKeycloakSettings","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IKeycloakSettings\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-administration/interface/keycloak-settings.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n clientId\n \n \n \n \n credentials\n \n \n \n \n realmName\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n \n \n baseUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n clientId\n \n \n \n \n \n \n \n \n clientId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n credentials\n \n \n \n \n \n \n \n \n credentials: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n realmName\n \n \n \n \n \n \n \n \n realmName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export const KeycloakSettings = Symbol('KeycloakSettings');\n\nexport interface IKeycloakSettings {\n\tbaseUrl: string;\n\trealmName: string;\n\tclientId: string;\n\tcredentials: {\n\t\tusername: string;\n\t\tpassword: string;\n\t\tgrantType: 'password';\n\t\tclientId: string;\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ILegacyLogger.html":{"url":"interfaces/ILegacyLogger.html","title":"interface - ILegacyLogger","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ILegacyLogger\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/logger/interfaces/legacy-logger.interface.ts\n \n\n \n Deprecated\n \n \n The new logger for loggables should be used.\n \n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n debug\n \n \n \n \n error\n \n \n \n \n http\n \n \n \n \n log\n \n \n \n \n warn\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n debug\n \n \n \n \n \n \ndebug(message, context?: string)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/interfaces/legacy-logger.interface.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n \n\n \n No\n \n\n\n \n \n context\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n error\n \n \n \n \n \n \nerror(message, trace?: string, context?: string)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/interfaces/legacy-logger.interface.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n \n\n \n No\n \n\n\n \n \n trace\n \n string\n \n\n \n Yes\n \n\n\n \n \n context\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n http\n \n \n \n \n \n \nhttp(message: RequestLoggingBody, context?: string)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/interfaces/legacy-logger.interface.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n RequestLoggingBody\n \n\n \n No\n \n\n\n \n \n context\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n log\n \n \n \n \n \n \nlog(message, context?: string)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/interfaces/legacy-logger.interface.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n \n\n \n No\n \n\n\n \n \n context\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n warn\n \n \n \n \n \n \nwarn(message, context?: string)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/interfaces/legacy-logger.interface.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n \n\n \n No\n \n\n\n \n \n context\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n export type RequestLoggingBody = {\n\tuserId?: string;\n\trequest: { url: string; method: string; params: unknown; query: unknown };\n\terror: unknown | undefined;\n};\n\n/**\n * @deprecated The new logger for loggables should be used.\n */\nexport interface ILegacyLogger {\n\thttp(message: RequestLoggingBody, context?: string): void;\n\tlog(message: unknown, context?: string): void;\n\terror(message: unknown, trace?: string, context?: string): void;\n\twarn(message: unknown, context?: string): void;\n\tdebug(message: unknown, context?: string): void;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/INewsScope.html":{"url":"interfaces/INewsScope.html","title":"interface - INewsScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n INewsScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/types/news.types.ts\n \n\n\n \n Description\n \n \n interface for finding news with optional targetId\n\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n target\n \n \n \n Optional\n \n unpublished\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n target\n \n \n \n \n \n \n \n \n target: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n unpublished\n \n \n \n \n \n \n \n \n unpublished: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import type { Course } from '../entity/course.entity';\nimport type { SchoolEntity } from '../entity/school.entity';\nimport type { TeamEntity } from '../entity/team.entity';\nimport { EntityId } from './entity-id';\n\nexport enum NewsTargetModel {\n\t'School' = 'schools',\n\t'Course' = 'courses',\n\t'Team' = 'teams',\n}\n\n/** news interface for ceating news */\nexport interface CreateNews {\n\ttitle: string;\n\tcontent: string;\n\tdisplayAt?: Date;\n\ttarget: { targetModel: NewsTargetModel; targetId: EntityId };\n}\n\n/** news interface for updating news */\nexport type IUpdateNews = Partial;\n\n/** interface for finding news with optional targetId */\nexport interface INewsScope {\n\ttarget?: { targetModel: NewsTargetModel; targetId?: EntityId };\n\tunpublished?: boolean;\n}\n\nexport type NewsTarget = SchoolEntity | TeamEntity | Course;\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ITask.html":{"url":"interfaces/ITask.html","title":"interface - ITask","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ITask\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/types/task.types.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n availableDate\n \n \n \n Optional\n \n description\n \n \n \n Optional\n \n descriptionInputFormat\n \n \n \n Optional\n \n dueDate\n \n \n \n \n name\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n availableDate\n \n \n \n \n \n \n \n \n availableDate: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n description: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n descriptionInputFormat\n \n \n \n \n \n \n \n \n descriptionInputFormat: InputFormat\n\n \n \n\n\n \n \n Type : InputFormat\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n dueDate\n \n \n \n \n \n \n \n \n dueDate: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import type { Course, LessonEntity, SchoolEntity, Submission, User } from '@shared/domain/entity';\nimport type { InputFormat } from '@shared/domain/types';\n\ninterface ITask {\n\tname: string;\n\tdescription?: string;\n\tdescriptionInputFormat?: InputFormat;\n\tavailableDate?: Date;\n\tdueDate?: Date;\n}\n\nexport interface TaskUpdate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface TaskCreate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface TaskProperties extends ITask {\n\tcourse?: Course;\n\tlesson?: LessonEntity;\n\tcreator: User;\n\tschool: SchoolEntity;\n\tfinished?: User[];\n\tprivate?: boolean;\n\tsubmissions?: Submission[];\n\tpublicSubmissions?: boolean;\n\tteamSubmissions?: boolean;\n}\n\nexport interface TaskStatus {\n\tsubmitted: number;\n\tmaxSubmissions: number;\n\tgraded: number;\n\tisDraft: boolean;\n\tisSubstitutionTeacher: boolean;\n\tisFinished: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IToolFeatures.html":{"url":"interfaces/IToolFeatures.html","title":"interface - IToolFeatures","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IToolFeatures\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n backEndUrl\n \n \n \n \n contextConfigurationEnabled\n \n \n \n \n ctlToolsTabEnabled\n \n \n \n \n ltiToolsTabEnabled\n \n \n \n \n maxExternalToolLogoSizeInBytes\n \n \n \n \n toolStatusWithoutVersions\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n backEndUrl\n \n \n \n \n \n \n \n \n backEndUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n contextConfigurationEnabled\n \n \n \n \n \n \n \n \n contextConfigurationEnabled: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n ctlToolsTabEnabled\n \n \n \n \n \n \n \n \n ctlToolsTabEnabled: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n ltiToolsTabEnabled\n \n \n \n \n \n \n \n \n ltiToolsTabEnabled: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n maxExternalToolLogoSizeInBytes\n \n \n \n \n \n \n \n \n maxExternalToolLogoSizeInBytes: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n toolStatusWithoutVersions\n \n \n \n \n \n \n \n \n toolStatusWithoutVersions: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\n\nexport const ToolFeatures = Symbol('ToolFeatures');\n\nexport interface IToolFeatures {\n\tctlToolsTabEnabled: boolean;\n\tltiToolsTabEnabled: boolean;\n\tcontextConfigurationEnabled: boolean;\n\t// TODO N21-1337 refactor after feature flag is removed\n\ttoolStatusWithoutVersions: boolean;\n\tmaxExternalToolLogoSizeInBytes: number;\n\tbackEndUrl: string;\n}\n\nexport default class ToolConfiguration {\n\tstatic toolFeatures: IToolFeatures = {\n\t\tctlToolsTabEnabled: Configuration.get('FEATURE_CTL_TOOLS_TAB_ENABLED') as boolean,\n\t\tltiToolsTabEnabled: Configuration.get('FEATURE_LTI_TOOLS_TAB_ENABLED') as boolean,\n\t\tcontextConfigurationEnabled: Configuration.get('FEATURE_CTL_CONTEXT_CONFIGURATION_ENABLED') as boolean,\n\t\t// TODO N21-1337 refactor after feature flag is removed\n\t\ttoolStatusWithoutVersions: Configuration.get('FEATURE_COMPUTE_TOOL_STATUS_WITHOUT_VERSIONS_ENABLED') as boolean,\n\t\tmaxExternalToolLogoSizeInBytes: Configuration.get('CTL_TOOLS__EXTERNAL_TOOL_MAX_LOGO_SIZE_IN_BYTES') as number,\n\t\tbackEndUrl: Configuration.get('PUBLIC_BACKEND_URL') as string,\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IVideoConferenceSettings.html":{"url":"interfaces/IVideoConferenceSettings.html","title":"interface - IVideoConferenceSettings","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IVideoConferenceSettings\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/interface/video-conference-settings.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n bbb\n \n \n \n \n enabled\n \n \n \n \n hostUrl\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n bbb\n \n \n \n \n \n \n \n \n bbb: IBbbSettings\n\n \n \n\n\n \n \n Type : IBbbSettings\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n enabled\n \n \n \n \n \n \n \n \n enabled: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n hostUrl\n \n \n \n \n \n \n \n \n hostUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { IBbbSettings } from '../bbb';\n\nexport const VideoConferenceSettings = Symbol('VideoConferenceSettings');\n\nexport interface IVideoConferenceSettings {\n\tenabled: boolean;\n\thostUrl: string;\n\tbbb: IBbbSettings;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/IdParams.html":{"url":"classes/IdParams.html","title":"class - IdParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n IdParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/request/id.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({description: 'The Oauth Client Id.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/id.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsString } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\n\nexport class IdParams {\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'The Oauth Client Id.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tid!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IdToken.html":{"url":"interfaces/IdToken.html","title":"interface - IdToken","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IdToken\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/interface/id-token.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n email\n \n \n \n Optional\n \n groups\n \n \n \n Optional\n \n iframe\n \n \n \n Optional\n \n name\n \n \n \n \n schoolId\n \n \n \n Optional\n \n userId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n email\n \n \n \n \n \n \n \n \n email: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n groups\n \n \n \n \n \n \n \n \n groups: GroupNameIdTuple[]\n\n \n \n\n\n \n \n Type : GroupNameIdTuple[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n iframe\n \n \n \n \n \n \n \n \n iframe: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n schoolId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface IdToken {\n\tiframe?: string;\n\temail?: string;\n\tname?: string;\n\tuserId?: string;\n\tschoolId: string;\n\tgroups?: GroupNameIdTuple[];\n}\n\nexport interface GroupNameIdTuple {\n\tdisplayName: string;\n\tgid: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/IdTokenCreationLoggableException.html":{"url":"classes/IdTokenCreationLoggableException.html","title":"class - IdTokenCreationLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n IdTokenCreationLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/error/id-token-creation-exception.loggable.ts\n \n\n\n\n \n Extends\n \n \n InternalServerErrorException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(clientId: string, userId?: string)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/error/id-token-creation-exception.loggable.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n clientId\n \n \n string\n \n \n \n No\n \n \n \n \n userId\n \n \n string\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/error/id-token-creation-exception.loggable.ts:9\n \n \n\n\n \n \n\n \n Returns : ErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { InternalServerErrorException } from '@nestjs/common';\nimport { ErrorLogMessage, Loggable } from '@src/core/logger';\n\nexport class IdTokenCreationLoggableException extends InternalServerErrorException implements Loggable {\n\tconstructor(private readonly clientId: string, private readonly userId?: string) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): ErrorLogMessage {\n\t\tconst message = {\n\t\t\ttype: 'INTERNAL_SERVER_ERROR_EXCEPTION',\n\t\t\tmessage: 'Something went wrong for id token creation. Tool could not be found.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tuserId: this.userId,\n\t\t\t\tclientId: this.clientId,\n\t\t\t},\n\t\t};\n\n\t\treturn message;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/IdTokenExtractionFailureLoggableException.html":{"url":"classes/IdTokenExtractionFailureLoggableException.html","title":"class - IdTokenExtractionFailureLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n IdTokenExtractionFailureLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/loggable/id-token-extraction-failure-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n OauthSsoErrorLoggableException\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(fieldName: string)\n \n \n \n \n Defined in apps/server/src/modules/oauth/loggable/id-token-extraction-failure-loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n fieldName\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \n \n getLogMessage()\n \n \n\n\n \n \n Inherited from OauthSsoErrorLoggableException\n\n \n \n \n \n Defined in OauthSsoErrorLoggableException:9\n\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { OauthSsoErrorLoggableException } from './oauth-sso-error-loggable-exception';\n\nexport class IdTokenExtractionFailureLoggableException extends OauthSsoErrorLoggableException {\n\tconstructor(private readonly fieldName: string) {\n\t\tsuper();\n\t}\n\n\toverride getLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'SSO_JWT_PROBLEM',\n\t\t\tmessage: 'Failed to extract field',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tfieldName: this.fieldName,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/IdTokenInvalidLoggableException.html":{"url":"classes/IdTokenInvalidLoggableException.html","title":"class - IdTokenInvalidLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n IdTokenInvalidLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/loggable/id-token-invalid-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n OauthSsoErrorLoggableException\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \n \n getLogMessage()\n \n \n\n\n \n \n Inherited from OauthSsoErrorLoggableException\n\n \n \n \n \n Defined in OauthSsoErrorLoggableException:5\n\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { OauthSsoErrorLoggableException } from './oauth-sso-error-loggable-exception';\n\nexport class IdTokenInvalidLoggableException extends OauthSsoErrorLoggableException {\n\toverride getLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'SSO_JWT_PROBLEM',\n\t\t\tmessage: 'Failed to validate idToken',\n\t\t\tstack: this.stack,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/IdTokenService.html":{"url":"injectables/IdTokenService.html","title":"injectable - IdTokenService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n IdTokenService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/service/id-token.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n buildGroupsClaim\n \n \n Async\n createIdToken\n \n \n Private\n Async\n createIframeSubject\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthProviderLoginFlowService: OauthProviderLoginFlowService, pseudonymService: PseudonymService, teamsRepo: TeamsRepo, userService: UserService)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/service/id-token.service.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthProviderLoginFlowService\n \n \n OauthProviderLoginFlowService\n \n \n \n No\n \n \n \n \n pseudonymService\n \n \n PseudonymService\n \n \n \n No\n \n \n \n \n teamsRepo\n \n \n TeamsRepo\n \n \n \n No\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n buildGroupsClaim\n \n \n \n \n \n \n \n buildGroupsClaim(teams: TeamEntity[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/service/id-token.service.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n teams\n \n TeamEntity[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : GroupNameIdTuple[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createIdToken\n \n \n \n \n \n \n \n createIdToken(userId: string, scopes: string[], clientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/service/id-token.service.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n scopes\n \n string[]\n \n\n \n No\n \n\n\n \n \n clientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createIframeSubject\n \n \n \n \n \n \n \n createIframeSubject(user: UserDO, clientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/service/id-token.service.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserDO\n \n\n \n No\n \n\n\n \n \n clientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { PseudonymService } from '@modules/pseudonym';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { UserService } from '@modules/user';\nimport { Injectable } from '@nestjs/common';\nimport { LtiToolDO, Pseudonym, UserDO } from '@shared/domain/domainobject';\nimport { TeamEntity } from '@shared/domain/entity';\nimport { TeamsRepo } from '@shared/repo';\nimport { IdTokenCreationLoggableException } from '../error/id-token-creation-exception.loggable';\nimport { GroupNameIdTuple, IdToken, OauthScope } from '../interface';\nimport { OauthProviderLoginFlowService } from './oauth-provider.login-flow.service';\n\n@Injectable()\nexport class IdTokenService {\n\tconstructor(\n\t\tprivate readonly oauthProviderLoginFlowService: OauthProviderLoginFlowService,\n\t\tprivate readonly pseudonymService: PseudonymService,\n\t\tprivate readonly teamsRepo: TeamsRepo,\n\t\tprivate readonly userService: UserService\n\t) {}\n\n\tasync createIdToken(userId: string, scopes: string[], clientId: string): Promise {\n\t\tlet teams: TeamEntity[] = [];\n\t\tif (scopes.includes(OauthScope.GROUPS)) {\n\t\t\tteams = await this.teamsRepo.findByUserId(userId);\n\t\t}\n\n\t\tconst user: UserDO = await this.userService.findById(userId);\n\t\tconst name: string = await this.userService.getDisplayName(user);\n\t\tconst iframe: string | undefined = await this.createIframeSubject(user, clientId);\n\t\tconst groups: GroupNameIdTuple[] = this.buildGroupsClaim(teams);\n\n\t\treturn {\n\t\t\tiframe,\n\t\t\temail: scopes.includes(OauthScope.EMAIL) ? user.email : undefined,\n\t\t\tname: scopes.includes(OauthScope.PROFILE) ? name : undefined,\n\t\t\tuserId: scopes.includes(OauthScope.PROFILE) ? user.id : undefined,\n\t\t\tschoolId: user.schoolId,\n\t\t\tgroups: scopes.includes(OauthScope.GROUPS) ? groups : undefined,\n\t\t};\n\t}\n\n\tprivate buildGroupsClaim(teams: TeamEntity[]): GroupNameIdTuple[] {\n\t\treturn teams.map((team: TeamEntity): GroupNameIdTuple => {\n\t\t\treturn {\n\t\t\t\tgid: team.id,\n\t\t\t\tdisplayName: team.name,\n\t\t\t};\n\t\t});\n\t}\n\n\t// TODO N21-335 How we can refactor the iframe in the id token?\n\tprivate async createIframeSubject(user: UserDO, clientId: string): Promise {\n\t\tconst tool: ExternalTool | LtiToolDO = await this.oauthProviderLoginFlowService.findToolByClientId(clientId);\n\n\t\tif (!tool.id) {\n\t\t\tthrow new IdTokenCreationLoggableException(clientId, user.id);\n\t\t}\n\n\t\tconst pseudonym: Pseudonym = await this.pseudonymService.findByUserAndToolOrThrow(user, tool);\n\n\t\tconst iframeSubject: string = this.pseudonymService.getIframeSubject(pseudonym.pseudonym);\n\n\t\treturn iframeSubject;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/IdTokenUserNotFoundLoggableException.html":{"url":"classes/IdTokenUserNotFoundLoggableException.html","title":"class - IdTokenUserNotFoundLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n IdTokenUserNotFoundLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/loggable/id-token-user-not-found-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n OauthSsoErrorLoggableException\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(uuid: string, additionalInfo?: string)\n \n \n \n \n Defined in apps/server/src/modules/oauth/loggable/id-token-user-not-found-loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n uuid\n \n \n string\n \n \n \n No\n \n \n \n \n additionalInfo\n \n \n string\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \n \n getLogMessage()\n \n \n\n\n \n \n Inherited from OauthSsoErrorLoggableException\n\n \n \n \n \n Defined in OauthSsoErrorLoggableException:9\n\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { OauthSsoErrorLoggableException } from './oauth-sso-error-loggable-exception';\n\nexport class IdTokenUserNotFoundLoggableException extends OauthSsoErrorLoggableException {\n\tconstructor(private readonly uuid: string, private readonly additionalInfo?: string) {\n\t\tsuper();\n\t}\n\n\toverride getLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'SSO_USER_NOTFOUND',\n\t\t\tmessage: 'Failed to find user with uuid from id token',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tuuid: this.uuid,\n\t\t\t\tadditionalInfo: this.additionalInfo,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IdentityManagementConfig.html":{"url":"interfaces/IdentityManagementConfig.html","title":"interface - IdentityManagementConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IdentityManagementConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/identity-management.config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n FEATURE_IDENTITY_MANAGEMENT_ENABLED\n \n \n \n \n FEATURE_IDENTITY_MANAGEMENT_LOGIN_ENABLED\n \n \n \n \n FEATURE_IDENTITY_MANAGEMENT_STORE_ENABLED\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n FEATURE_IDENTITY_MANAGEMENT_ENABLED\n \n \n \n \n \n \n \n \n FEATURE_IDENTITY_MANAGEMENT_ENABLED: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n FEATURE_IDENTITY_MANAGEMENT_LOGIN_ENABLED\n \n \n \n \n \n \n \n \n FEATURE_IDENTITY_MANAGEMENT_LOGIN_ENABLED: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n FEATURE_IDENTITY_MANAGEMENT_STORE_ENABLED\n \n \n \n \n \n \n \n \n FEATURE_IDENTITY_MANAGEMENT_STORE_ENABLED: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface IdentityManagementConfig {\n\tFEATURE_IDENTITY_MANAGEMENT_ENABLED: boolean;\n\tFEATURE_IDENTITY_MANAGEMENT_STORE_ENABLED: boolean;\n\tFEATURE_IDENTITY_MANAGEMENT_LOGIN_ENABLED: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/IdentityManagementModule.html":{"url":"modules/IdentityManagementModule.html","title":"module - IdentityManagementModule","body":"\n \n\n\n\n\n Modules\n IdentityManagementModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_IdentityManagementModule\n\n\n\ncluster_IdentityManagementModule_imports\n\n\n\ncluster_IdentityManagementModule_exports\n\n\n\n\nEncryptionModule\n\nEncryptionModule\n\n\n\nIdentityManagementModule\n\nIdentityManagementModule\n\nIdentityManagementModule -->\n\nEncryptionModule->IdentityManagementModule\n\n\n\n\n\nKeycloakAdministrationModule\n\nKeycloakAdministrationModule\n\nIdentityManagementModule -->\n\nKeycloakAdministrationModule->IdentityManagementModule\n\n\n\n\n\nKeycloakModule\n\nKeycloakModule\n\nIdentityManagementModule -->\n\nKeycloakModule->IdentityManagementModule\n\n\n\n\n\nIdentityManagementOauthService \n\nIdentityManagementOauthService \n\nIdentityManagementOauthService -->\n\nIdentityManagementModule->IdentityManagementOauthService \n\n\n\n\n\nIdentityManagementService \n\nIdentityManagementService \n\nIdentityManagementService -->\n\nIdentityManagementModule->IdentityManagementService \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/identity-management/identity-management.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n EncryptionModule\n \n \n KeycloakAdministrationModule\n \n \n KeycloakModule\n \n \n \n \n Exports\n \n \n IdentityManagementOauthService\n \n \n IdentityManagementService\n \n \n \n \n \n\n\n \n\n\n \n import { HttpModule } from '@nestjs/axios';\nimport { Module } from '@nestjs/common';\nimport { EncryptionModule } from '../encryption';\nimport { IdentityManagementOauthService } from './identity-management-oauth.service';\nimport { IdentityManagementService } from './identity-management.service';\nimport { KeycloakAdministrationModule } from './keycloak-administration/keycloak-administration.module';\nimport { KeycloakModule } from './keycloak/keycloak.module';\nimport { KeycloakIdentityManagementOauthService } from './keycloak/service/keycloak-identity-management-oauth.service';\nimport { KeycloakIdentityManagementService } from './keycloak/service/keycloak-identity-management.service';\n\n@Module({\n\timports: [KeycloakModule, KeycloakAdministrationModule, HttpModule, EncryptionModule],\n\tproviders: [\n\t\t{ provide: IdentityManagementService, useClass: KeycloakIdentityManagementService },\n\t\t{ provide: IdentityManagementOauthService, useClass: KeycloakIdentityManagementOauthService },\n\t],\n\texports: [IdentityManagementService, IdentityManagementOauthService],\n})\nexport class IdentityManagementModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/IdentityManagementOauthService.html":{"url":"classes/IdentityManagementOauthService.html","title":"class - IdentityManagementOauthService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n IdentityManagementOauthService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/identity-management-oauth.service.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Abstract\n getOauthConfig\n \n \n Abstract\n isOauthConfigAvailable\n \n \n Abstract\n resourceOwnerPasswordGrant\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Abstract\n getOauthConfig\n \n \n \n \n \n \n \n getOauthConfig()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management-oauth.service.ts:9\n \n \n\n\n \n \n Returns the oauth config of the IDM.\n\n\n \n Returns : Promise\n\n \n \n the oauth config of the IDM.\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n isOauthConfigAvailable\n \n \n \n \n \n \n \n isOauthConfigAvailable()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management-oauth.service.ts:15\n \n \n\n\n \n \n Checks if the IDM oauth config is available.\n\n\n \n Returns : Promise\n\n \n \n true if the IDM oauth config is available, false otherwise.\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n resourceOwnerPasswordGrant\n \n \n \n \n \n \n \n resourceOwnerPasswordGrant(username: string, password: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management-oauth.service.ts:23\n \n \n\n\n \n \n Checks the given credentials with the IDM and returns an JWT on success.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n the username of the account to check.\n\n \n \n \n password\n \n string\n \n\n \n No\n \n\n\n \n the password of the account to check.\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n the JWT as string or undefined on failure.\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { OauthConfigDto } from '@modules/system/service/dto';\n\nexport abstract class IdentityManagementOauthService {\n\t/**\n\t * Returns the oauth config of the IDM.\n\t * @returns the oauth config of the IDM.\n\t * @throws an error if the IDM oauth config is not available.\n\t */\n\tabstract getOauthConfig(): Promise;\n\n\t/**\n\t * Checks if the IDM oauth config is available.\n\t * @returns true if the IDM oauth config is available, false otherwise.\n\t */\n\tabstract isOauthConfigAvailable(): Promise;\n\n\t/**\n\t * Checks the given credentials with the IDM and returns an JWT on success.\n\t * @param username the username of the account to check.\n\t * @param password the password of the account to check.\n\t * @returns the JWT as string or undefined on failure.\n\t */\n\tabstract resourceOwnerPasswordGrant(username: string, password: string): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/IdentityManagementService.html":{"url":"classes/IdentityManagementService.html","title":"class - IdentityManagementService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n IdentityManagementService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/identity-management.service.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Abstract\n createAccount\n \n \n Abstract\n deleteAccountById\n \n \n Abstract\n findAccountByDbcAccountId\n \n \n Abstract\n findAccountByDbcUserId\n \n \n Abstract\n findAccountById\n \n \n Abstract\n findAccountsByUsername\n \n \n Abstract\n getAllAccounts\n \n \n Abstract\n getUserAttribute\n \n \n Abstract\n setUserAttribute\n \n \n Abstract\n updateAccount\n \n \n Abstract\n updateAccountPassword\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Abstract\n createAccount\n \n \n \n \n \n \n \n createAccount(account: IdmAccountUpdate, password?: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management.service.ts:18\n \n \n\n\n \n \n Create a new account in the identity management.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n account\n \n IdmAccountUpdate\n \n\n \n No\n \n\n\n \n the account's details\n\n \n \n \n password\n \n string | undefined\n \n\n \n Yes\n \n\n\n \n the account's password (optional)\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n the account id if created successfully\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n deleteAccountById\n \n \n \n \n \n \n \n deleteAccountById(accountId: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management.service.ts:82\n \n \n\n\n \n \n Deletes an account from the identity management.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n accountId\n \n string\n \n\n \n No\n \n\n\n \n the account to be deleted.\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n the accounts id if deleted successfully\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n findAccountByDbcAccountId\n \n \n \n \n \n \n \n findAccountByDbcAccountId(accountDbcAccountId: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management.service.ts:52\n \n \n\n\n \n \n Load a specific account by its dbc account id.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n accountDbcAccountId\n \n string\n \n\n \n No\n \n\n\n \n the account to be loaded.\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n the account if exists\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n findAccountByDbcUserId\n \n \n \n \n \n \n \n findAccountByDbcUserId(accountDbcUserId: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management.service.ts:60\n \n \n\n\n \n \n Load a specific account by its dbc user id.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n accountDbcUserId\n \n string\n \n\n \n No\n \n\n\n \n the account to be loaded.\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n the account if exists\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n findAccountById\n \n \n \n \n \n \n \n findAccountById(accountId: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management.service.ts:44\n \n \n\n\n \n \n Load a specific account by its id.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n accountId\n \n string\n \n\n \n No\n \n\n\n \n the account to be loaded.\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n the account if exists\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n findAccountsByUsername\n \n \n \n \n \n \n \n findAccountsByUsername(username: string, options?: SearchOptions)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management.service.ts:68\n \n \n\n\n \n \n Loads the account with the specific username.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n of the account to be loaded.\n\n \n \n \n options\n \n SearchOptions\n \n\n \n Yes\n \n\n\n \n the search options to be applied.\n\n \n \n \n \n \n \n Returns : Promise>\n\n \n \n the found accounts (might be empty).\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getAllAccounts\n \n \n \n \n \n \n \n getAllAccounts()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management.service.ts:75\n \n \n\n\n \n \n Load all accounts.\n\n\n \n Returns : Promise\n\n \n \n an array of all accounts (might be empty)\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getUserAttribute\n \n \n \n \n \n \n \n getUserAttribute(userId: string, attributeName: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management.service.ts:90\n \n \n\n \n \n Type parameters :\n \n TValue\n \n \n \n\n \n \n Gets an attribute value of a specific user.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n the id of the user to get an attribute value.\n\n \n \n \n attributeName\n \n string\n \n\n \n No\n \n\n\n \n the name of the attribute to get.\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n the attribute value if exists, null otherwise.\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n setUserAttribute\n \n \n \n \n \n \n \n setUserAttribute(userId: string, attributeName: string, attributeValue: TValue)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management.service.ts:101\n \n \n\n \n \n Type parameters :\n \n TValue\n \n \n \n\n \n \n Sets an attribute value of a specific user.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n the id of the user to set an attribute value.\n\n \n \n \n attributeName\n \n string\n \n\n \n No\n \n\n\n \n the name of the attribute to set.\n\n \n \n \n attributeValue\n \n TValue\n \n\n \n No\n \n\n\n \n the value of the attribute to set.\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n updateAccount\n \n \n \n \n \n \n \n updateAccount(accountId: string, account: IdmAccountUpdate)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management.service.ts:27\n \n \n\n\n \n \n Update an existing account's details.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n accountId\n \n string\n \n\n \n No\n \n\n\n \n the account to be updated.\n\n \n \n \n account\n \n IdmAccountUpdate\n \n\n \n No\n \n\n\n \n the account data to be applied.\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n the account id if updated successfully\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n updateAccountPassword\n \n \n \n \n \n \n \n updateAccountPassword(accountId: string, password: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/identity-management.service.ts:36\n \n \n\n\n \n \n Update an existing account's password.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n accountId\n \n string\n \n\n \n No\n \n\n\n \n the account to be updated.\n\n \n \n \n password\n \n string\n \n\n \n No\n \n\n\n \n the new password (clear).\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n the account id if updated successfully\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { IdmAccount, IdmAccountUpdate } from '@shared/domain/interface';\nimport { Counted } from '@shared/domain/types';\n\nexport type SearchOptions = {\n\texact?: boolean;\n\tskip?: number;\n\tlimit?: number;\n};\n\nexport abstract class IdentityManagementService {\n\t/**\n\t * Create a new account in the identity management.\n\t *\n\t * @param account the account's details\n\t * @param [password] the account's password (optional)\n\t * @returns the account id if created successfully\n\t */\n\tabstract createAccount(account: IdmAccountUpdate, password?: string | undefined): Promise;\n\n\t/**\n\t * Update an existing account's details.\n\t *\n\t * @param accountId the account to be updated.\n\t * @param account the account data to be applied.\n\t * @returns the account id if updated successfully\n\t */\n\tabstract updateAccount(accountId: string, account: IdmAccountUpdate): Promise;\n\n\t/**\n\t * Update an existing account's password.\n\t *\n\t * @param accountId the account to be updated.\n\t * @param password the new password (clear).\n\t * @returns the account id if updated successfully\n\t */\n\tabstract updateAccountPassword(accountId: string, password: string): Promise;\n\n\t/**\n\t * Load a specific account by its id.\n\t *\n\t * @param accountId the account to be loaded.\n\t * @returns the account if exists\n\t */\n\tabstract findAccountById(accountId: string): Promise;\n\n\t/**\n\t * Load a specific account by its dbc account id.\n\t *\n\t * @param accountDbcAccountId the account to be loaded.\n\t * @returns the account if exists\n\t */\n\tabstract findAccountByDbcAccountId(accountDbcAccountId: string): Promise;\n\n\t/**\n\t * Load a specific account by its dbc user id.\n\t *\n\t * @param accountDbcUserId the account to be loaded.\n\t * @returns the account if exists\n\t */\n\tabstract findAccountByDbcUserId(accountDbcUserId: string): Promise;\n\n\t/**\n\t * Loads the account with the specific username.\n\t * @param username of the account to be loaded.\n\t * @param options the search options to be applied.\n\t * @returns the found accounts (might be empty).\n\t */\n\tabstract findAccountsByUsername(username: string, options?: SearchOptions): Promise>;\n\n\t/**\n\t * Load all accounts.\n\t *\n\t * @returns an array of all accounts (might be empty)\n\t */\n\tabstract getAllAccounts(): Promise;\n\n\t/**\n\t * Deletes an account from the identity management.\n\t * @param accountId the account to be deleted.\n\t * @returns the accounts id if deleted successfully\n\t */\n\tabstract deleteAccountById(accountId: string): Promise;\n\n\t/**\n\t * Gets an attribute value of a specific user.\n\t * @param userId the id of the user to get an attribute value.\n\t * @param attributeName the name of the attribute to get.\n\t * @returns the attribute value if exists, null otherwise.\n\t */\n\tabstract getUserAttribute(\n\t\tuserId: string,\n\t\tattributeName: string\n\t): Promise;\n\n\t/**\n\t * Sets an attribute value of a specific user.\n\t * @param userId the id of the user to set an attribute value.\n\t * @param attributeName the name of the attribute to set.\n\t * @param attributeValue the value of the attribute to set.\n\t */\n\tabstract setUserAttribute(\n\t\tuserId: string,\n\t\tattributeName: string,\n\t\tattributeValue: TValue\n\t): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/ImportUser.html":{"url":"entities/ImportUser.html","title":"entity - ImportUser","body":"\n \n\n\n\n\n\n\n\n Entities\n ImportUser\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/import-user.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n classNames\n \n \n \n email\n \n \n \n externalId\n \n \n \n firstName\n \n \n \n flagged\n \n \n \n lastName\n \n \n \n ldapDn\n \n \n \n Optional\n matchedBy\n \n \n \n roleNames\n \n \n \n school\n \n \n \n system\n \n \n \n \n Optional\n user\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n classNames\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:94\n \n \n\n\n \n \n \n \n \n \n \n \n \n email\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:88\n \n \n\n\n \n \n \n \n \n \n \n \n \n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'ldapId'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:76\n \n \n\n\n \n \n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:79\n \n \n\n\n \n \n \n \n \n \n \n \n \n flagged\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Decorators : \n \n \n @Property({type: Boolean})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:112\n \n \n\n\n \n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:82\n \n \n\n\n \n \n \n \n \n \n \n \n \n ldapDn\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:60\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n matchedBy\n \n \n \n \n \n \n Type : MatchCreator\n\n \n \n \n \n Decorators : \n \n \n @Enum({fieldName: 'match_matchedBy', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:109\n \n \n\n \n \n References who set the user, take the field as read-only\n\n \n \n\n \n \n \n \n \n \n \n \n \n roleNames\n \n \n \n \n \n \n Type : IImportUserRoleName[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Decorators : \n \n \n @Enum({fieldName: 'roles'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:91\n \n \n\n\n \n \n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n Type : IdentifiedReference\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined, {fieldName: 'schoolId', wrappedReference: true, eager: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n \n system\n \n \n \n \n \n \n Type : IdentifiedReference\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined, {wrappedReference: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:57\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n user\n \n \n \n \n \n \n Type : User\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('User', {fieldName: 'match_userId', eager: true, nullable: true})@Unique({options: undefined})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/import-user.entity.ts:102\n \n \n\n \n \n Update user-match together with matchedBy, take the field as read-only\n\n \n \n\n \n \n\n \n\n\n \n import { Entity, Enum, IdentifiedReference, ManyToOne, Property, Unique, wrap } from '@mikro-orm/core';\nimport { EntityWithSchool, RoleName } from '../interface';\nimport { BaseEntityReference, BaseEntityWithTimestamps } from './base.entity';\nimport { SchoolEntity } from './school.entity';\nimport { SystemEntity } from './system.entity';\nimport type { User } from './user.entity';\n\nexport type IImportUserRoleName = RoleName.ADMINISTRATOR | RoleName.TEACHER | RoleName.STUDENT;\n\nexport interface ImportUserProperties {\n\t// references\n\tschool: SchoolEntity;\n\tsystem: SystemEntity;\n\t// external identifiers\n\tldapDn: string;\n\texternalId: string;\n\t// descriptive properties\n\tfirstName: string;\n\tlastName: string;\n\temail: string; // TODO VO\n\troleNames?: IImportUserRoleName[];\n\tclassNames?: string[];\n\tuser?: User;\n\tmatchedBy?: MatchCreator;\n\tflagged?: boolean;\n}\n\nexport enum MatchCreator {\n\tAUTO = 'auto',\n\tMANUAL = 'admin',\n}\n\n@Entity({ tableName: 'importusers' })\n@Unique({ properties: ['school', 'externalId'] })\n@Unique({ properties: ['school', 'ldapDn'] })\n@Unique({ properties: ['school', 'email'] })\nexport class ImportUser extends BaseEntityWithTimestamps implements EntityWithSchool {\n\tconstructor(props: ImportUserProperties) {\n\t\tsuper();\n\t\tthis.school = wrap(props.school).toReference();\n\t\tthis.system = wrap(props.system).toReference();\n\t\tthis.ldapDn = props.ldapDn;\n\t\tthis.externalId = props.externalId;\n\t\tthis.firstName = props.firstName;\n\t\tthis.lastName = props.lastName;\n\t\tthis.email = props.email;\n\t\tif (Array.isArray(props.roleNames) && props.roleNames.length > 0) this.roleNames.push(...props.roleNames);\n\t\tif (Array.isArray(props.classNames) && props.classNames.length > 0) this.classNames.push(...props.classNames);\n\t\tif (props.user && props.matchedBy) this.setMatch(props.user, props.matchedBy);\n\t\tif (props.flagged && props.flagged === true) this.flagged = true;\n\t}\n\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId', wrappedReference: true, eager: true })\n\tschool: IdentifiedReference;\n\n\t@ManyToOne(() => SystemEntity, { wrappedReference: true })\n\tsystem: IdentifiedReference;\n\n\t@Property()\n\tldapDn: string;\n\n\t/**\n\t * extracts the login name out of the dn which has the login name in 'uid=LOGINNAME,[...]'\n\t * */\n\tget loginName(): string | null {\n\t\tconst PATTERN_LOGIN_FROM_DN = /^uid=(.+?),/i; // extract uid from dn\n\t\tconst matches = this.ldapDn?.match(PATTERN_LOGIN_FROM_DN);\n\t\tif (Array.isArray(matches) && matches.length >= 2) {\n\t\t\tconst loginName = matches[1]; // 0: full match, 1: first group match\n\t\t\treturn loginName;\n\t\t}\n\t\treturn null;\n\t}\n\n\t@Property({ fieldName: 'ldapId' })\n\texternalId: string;\n\n\t@Property()\n\tfirstName: string;\n\n\t@Property()\n\tlastName: string;\n\n\t@Property()\n\t/**\n\t * Lowercase email string\n\t */\n\temail: string;\n\n\t@Enum({ fieldName: 'roles' })\n\troleNames: IImportUserRoleName[] = [];\n\n\t@Property()\n\tclassNames: string[] = [];\n\n\t/**\n\t * Update user-match together with matchedBy, take the field as read-only\n\t * @read\n\t */\n\t@ManyToOne('User', { fieldName: 'match_userId', eager: true, nullable: true })\n\t@Unique({ options: { partialFilterExpression: { match_userId: { $type: 'objectId' } } } })\n\tuser?: User;\n\n\t/**\n\t * References who set the user, take the field as read-only\n\t * @private\n\t */\n\t@Enum({ fieldName: 'match_matchedBy', nullable: true })\n\tmatchedBy?: MatchCreator;\n\n\t@Property({ type: Boolean })\n\tflagged = false;\n\n\tsetMatch(user: User, matchedBy: MatchCreator) {\n\t\tif (this.school.id !== user.school.id) {\n\t\t\tthrow new Error('not same school');\n\t\t}\n\t\tthis.user = user;\n\t\tthis.matchedBy = matchedBy;\n\t}\n\n\trevokeMatch() {\n\t\tthis.user = undefined;\n\t\tthis.matchedBy = undefined;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/ImportUserController.html":{"url":"controllers/ImportUserController.html","title":"controller - ImportUserController","body":"\n \n\n\n\n\n\n\n Controllers\n ImportUserController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/controller/import-user.controller.ts\n \n\n \n Prefix\n \n \n user/import\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n endSchoolInMaintenance\n \n \n \n Async\n findAllImportUsers\n \n \n \n Async\n findAllUnmatchedUsers\n \n \n \n Async\n removeMatch\n \n \n \n Async\n saveAllUsersMatches\n \n \n \n Async\n setMatch\n \n \n \n Async\n startSchoolInUserMigration\n \n \n \n Async\n updateFlag\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n endSchoolInMaintenance\n \n \n \n \n \n \n \n endSchoolInMaintenance(currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Post('startSync')\n \n \n\n \n \n Defined in apps/server/src/modules/user-import/controller/import-user.controller.ts:113\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllImportUsers\n \n \n \n \n \n \n \n findAllImportUsers(currentUser: ICurrentUser, scope: FilterImportUserParams, sortingQuery: SortImportUserParams, pagination: PaginationParams)\n \n \n\n \n \n Decorators : \n \n @Get()\n \n \n\n \n \n Defined in apps/server/src/modules/user-import/controller/import-user.controller.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n scope\n \n FilterImportUserParams\n \n\n \n No\n \n\n\n \n \n sortingQuery\n \n SortImportUserParams\n \n\n \n No\n \n\n\n \n \n pagination\n \n PaginationParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllUnmatchedUsers\n \n \n \n \n \n \n \n findAllUnmatchedUsers(currentUser: ICurrentUser, scope: FilterUserParams, pagination: PaginationParams)\n \n \n\n \n \n Decorators : \n \n @Get('unassigned')\n \n \n\n \n \n Defined in apps/server/src/modules/user-import/controller/import-user.controller.ts:83\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n scope\n \n FilterUserParams\n \n\n \n No\n \n\n\n \n \n pagination\n \n PaginationParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n removeMatch\n \n \n \n \n \n \n \n removeMatch(urlParams: ImportUserUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Delete(':importUserId/match')\n \n \n\n \n \n Defined in apps/server/src/modules/user-import/controller/import-user.controller.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n ImportUserUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAllUsersMatches\n \n \n \n \n \n \n \n saveAllUsersMatches(currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Post('migrate')\n \n \n\n \n \n Defined in apps/server/src/modules/user-import/controller/import-user.controller.ts:100\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n setMatch\n \n \n \n \n \n \n \n setMatch(urlParams: ImportUserUrlParams, currentUser: ICurrentUser, params: UpdateMatchParams)\n \n \n\n \n \n Decorators : \n \n @Patch(':importUserId/match')\n \n \n\n \n \n Defined in apps/server/src/modules/user-import/controller/import-user.controller.ts:48\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n ImportUserUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n UpdateMatchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n startSchoolInUserMigration\n \n \n \n \n \n \n \n startSchoolInUserMigration(currentUser: ICurrentUser, useCentralLdap?: boolean)\n \n \n\n \n \n Decorators : \n \n @Post('startUserMigration')\n \n \n\n \n \n Defined in apps/server/src/modules/user-import/controller/import-user.controller.ts:105\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n useCentralLdap\n \n boolean\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateFlag\n \n \n \n \n \n \n \n updateFlag(urlParams: ImportUserUrlParams, currentUser: ICurrentUser, params: UpdateFlagParams)\n \n \n\n \n \n Decorators : \n \n @Patch(':importUserId/flag')\n \n \n\n \n \n Defined in apps/server/src/modules/user-import/controller/import-user.controller.ts:71\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n ImportUserUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n UpdateFlagParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, Delete, Get, Param, Patch, Post, Query } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { PaginationParams } from '@shared/controller';\nimport { ImportUser, User } from '@shared/domain/entity';\nimport { IFindOptions } from '@shared/domain/interface';\nimport { ImportUserMapper } from '../mapper/import-user.mapper';\nimport { UserMatchMapper } from '../mapper/user-match.mapper';\nimport { UserImportUc } from '../uc/user-import.uc';\n\nimport {\n\tFilterImportUserParams,\n\tFilterUserParams,\n\tImportUserListResponse,\n\tImportUserResponse,\n\tImportUserUrlParams,\n\tSortImportUserParams,\n\tUpdateFlagParams,\n\tUpdateMatchParams,\n\tUserMatchListResponse,\n} from './dto';\n\n@ApiTags('UserImport')\n@Authenticate('jwt')\n@Controller('user/import')\nexport class ImportUserController {\n\tconstructor(private readonly userImportUc: UserImportUc, private readonly userUc: UserImportUc) {}\n\n\t@Get()\n\tasync findAllImportUsers(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() scope: FilterImportUserParams,\n\t\t@Query() sortingQuery: SortImportUserParams,\n\t\t@Query() pagination: PaginationParams\n\t): Promise {\n\t\tconst options: IFindOptions = { pagination };\n\t\toptions.order = ImportUserMapper.mapSortingQueryToDomain(sortingQuery);\n\t\tconst query = ImportUserMapper.mapImportUserFilterQueryToDomain(scope);\n\t\tconst [importUserList, count] = await this.userImportUc.findAllImportUsers(currentUser.userId, query, options);\n\t\tconst { skip, limit } = pagination;\n\t\tconst dtoList = importUserList.map((importUser) => ImportUserMapper.mapToResponse(importUser));\n\t\tconst response = new ImportUserListResponse(dtoList, count, skip, limit);\n\n\t\treturn response;\n\t}\n\n\t@Patch(':importUserId/match')\n\tasync setMatch(\n\t\t@Param() urlParams: ImportUserUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() params: UpdateMatchParams\n\t): Promise {\n\t\tconst result = await this.userImportUc.setMatch(currentUser.userId, urlParams.importUserId, params.userId);\n\t\tconst response = ImportUserMapper.mapToResponse(result);\n\n\t\treturn response;\n\t}\n\n\t@Delete(':importUserId/match')\n\tasync removeMatch(\n\t\t@Param() urlParams: ImportUserUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst result = await this.userImportUc.removeMatch(currentUser.userId, urlParams.importUserId);\n\t\tconst response = ImportUserMapper.mapToResponse(result);\n\n\t\treturn response;\n\t}\n\n\t@Patch(':importUserId/flag')\n\tasync updateFlag(\n\t\t@Param() urlParams: ImportUserUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() params: UpdateFlagParams\n\t): Promise {\n\t\tconst result = await this.userImportUc.updateFlag(currentUser.userId, urlParams.importUserId, params.flagged);\n\t\tconst response = ImportUserMapper.mapToResponse(result);\n\n\t\treturn response;\n\t}\n\n\t@Get('unassigned')\n\tasync findAllUnmatchedUsers(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() scope: FilterUserParams,\n\t\t@Query() pagination: PaginationParams\n\t): Promise {\n\t\tconst options: IFindOptions = { pagination };\n\n\t\tconst query = UserMatchMapper.mapToDomain(scope);\n\t\tconst [userList, total] = await this.userUc.findAllUnmatchedUsers(currentUser.userId, query, options);\n\t\tconst { skip, limit } = pagination;\n\t\tconst dtoList = userList.map((user) => UserMatchMapper.mapToResponse(user));\n\t\tconst response = new UserMatchListResponse(dtoList, total, skip, limit);\n\n\t\treturn response as unknown as UserMatchListResponse;\n\t}\n\n\t@Post('migrate')\n\tasync saveAllUsersMatches(@CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tawait this.userImportUc.saveAllUsersMatches(currentUser.userId);\n\t}\n\n\t@Post('startUserMigration')\n\tasync startSchoolInUserMigration(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query('useCentralLdap') useCentralLdap?: boolean\n\t): Promise {\n\t\tawait this.userImportUc.startSchoolInUserMigration(currentUser.userId, useCentralLdap);\n\t}\n\n\t@Post('startSync')\n\tasync endSchoolInMaintenance(@CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tawait this.userImportUc.endSchoolInMaintenance(currentUser.userId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ImportUserFactory.html":{"url":"classes/ImportUserFactory.html","title":"class - ImportUserFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ImportUserFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/import-user.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n matched\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n matched\n \n \n \n \n \n \nmatched(matchedBy: MatchCreator, user: User)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/import-user.factory.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n matchedBy\n \n MatchCreator\n \n\n \n No\n \n\n\n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { IImportUserRoleName, ImportUser, ImportUserProperties, MatchCreator, User } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { DeepPartial } from 'fishery';\nimport { v4 as uuidv4 } from 'uuid';\nimport { BaseFactory } from './base.factory';\nimport { schoolFactory } from './school.factory';\nimport { systemEntityFactory } from './systemEntityFactory';\n\nclass ImportUserFactory extends BaseFactory {\n\tmatched(matchedBy: MatchCreator, user: User): this {\n\t\tconst params: DeepPartial = { matchedBy, user };\n\t\treturn this.params(params);\n\t}\n}\n\nexport const importUserFactory = ImportUserFactory.define(ImportUser, ({ sequence }) => {\n\treturn {\n\t\tschool: schoolFactory.build(),\n\t\tsystem: systemEntityFactory.build(),\n\t\tldapDn: `uid=john${sequence},cn=schueler,cn=users,ou=1,dc=training,dc=ucs`,\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-call\n\t\texternalId: uuidv4() as unknown as string,\n\t\tfirstName: `John${sequence}`,\n\t\tlastName: `Doe${sequence}`,\n\t\temail: `user-${sequence}@example.com`,\n\t\troleNames: [RoleName.STUDENT as IImportUserRoleName],\n\t\tclassNames: ['firstClass'],\n\t\tflagged: false,\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ImportUserListResponse.html":{"url":"classes/ImportUserListResponse.html","title":"class - ImportUserListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ImportUserListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/controller/dto/import-user.response.ts\n \n\n\n\n \n Extends\n \n \n PaginationResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: ImportUserResponse[], total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/import-user.response.ts:64\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n ImportUserResponse[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : ImportUserResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:71\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:14\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { PaginationResponse } from '@shared/controller';\nimport { IsMongoId, IsString } from 'class-validator';\nimport { UserMatchResponse } from './user-match.response';\nimport { UserRole } from './user-role';\n\nexport class ImportUserResponse {\n\tconstructor(props: ImportUserResponse) {\n\t\tthis.importUserId = props.importUserId;\n\t\tthis.loginName = props.loginName;\n\t\tthis.firstName = props.firstName;\n\t\tthis.lastName = props.lastName;\n\t\tthis.roleNames = props.roleNames;\n\t\tthis.classNames = props.classNames;\n\t\tif (props.match != null) this.match = props.match;\n\t\tif (props.flagged === true) this.flagged = true;\n\t}\n\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'id reference to a import user',\n\t})\n\t// no school, system\n\timportUserId: string;\n\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'login name from external system',\n\t})\n\tloginName: string;\n\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'external systems user firstname',\n\t})\n\tfirstName: string;\n\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'external systems user lastname',\n\t})\n\tlastName: string;\n\n\t@ApiProperty({\n\t\tdescription: 'list of user roles from external system: student, teacher, admin',\n\t\tenum: UserRole,\n\t\tisArray: true,\n\t})\n\troleNames: UserRole[];\n\n\t@ApiProperty({ description: 'names of classes the user attends from external system' })\n\tclassNames: string[];\n\n\t@ApiPropertyOptional({ description: 'assignemnt to a local user account', type: UserMatchResponse })\n\tmatch?: UserMatchResponse;\n\n\t// explicit type is needed for OpenAPI generator\n\t// eslint-disable-next-line @typescript-eslint/no-inferrable-types\n\t@ApiProperty({ description: 'manual flag to apply it as filter' })\n\tflagged: boolean = false;\n}\n\nexport class ImportUserListResponse extends PaginationResponse {\n\tconstructor(data: ImportUserResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [ImportUserResponse] })\n\tdata: ImportUserResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ImportUserMapper.html":{"url":"classes/ImportUserMapper.html","title":"class - ImportUserMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ImportUserMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/mapper/import-user.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapImportUserFilterQueryToDomain\n \n \n Static\n mapSortingQueryToDomain\n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapImportUserFilterQueryToDomain\n \n \n \n \n \n \n \n mapImportUserFilterQueryToDomain(query: FilterImportUserParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/mapper/import-user.mapper.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterImportUserParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : IImportUserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapSortingQueryToDomain\n \n \n \n \n \n \n \n mapSortingQueryToDomain(sortingQuery: SortImportUserParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/mapper/import-user.mapper.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n sortingQuery\n \n SortImportUserParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SortOrderMap | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(importUser: ImportUser)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/mapper/import-user.mapper.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n importUser\n \n ImportUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ImportUserResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BadRequestException } from '@nestjs/common';\nimport { StringValidator } from '@shared/common';\nimport { ImportUser } from '@shared/domain/entity';\nimport { SortOrderMap } from '@shared/domain/interface';\nimport { IImportUserScope } from '@shared/domain/types';\nimport {\n\tFilterImportUserParams,\n\tImportUserResponse,\n\tImportUserSortOrder,\n\tSortImportUserParams,\n} from '../controller/dto';\n\nimport { ImportUserMatchMapper } from './match.mapper';\n\nimport { RoleNameMapper } from './role-name.mapper';\nimport { UserMatchMapper } from './user-match.mapper';\n\nexport class ImportUserMapper {\n\tstatic mapSortingQueryToDomain(sortingQuery: SortImportUserParams): SortOrderMap | undefined {\n\t\tconst { sortBy } = sortingQuery;\n\t\tif (sortBy == null) return undefined;\n\t\tconst result: SortOrderMap = {};\n\t\tswitch (sortBy) {\n\t\t\tcase ImportUserSortOrder.FIRSTNAME:\n\t\t\tcase ImportUserSortOrder.LASTNAME:\n\t\t\t\tresult[sortBy] = sortingQuery.sortOrder;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new BadRequestException();\n\t\t}\n\t\treturn result;\n\t}\n\n\tstatic mapToResponse(importUser: ImportUser): ImportUserResponse {\n\t\tconst dto = new ImportUserResponse({\n\t\t\timportUserId: importUser.id,\n\t\t\tloginName: importUser.loginName || '',\n\t\t\tfirstName: importUser.firstName,\n\t\t\tlastName: importUser.lastName,\n\t\t\troleNames: importUser.roleNames.map((role) => RoleNameMapper.mapToResponse(role)),\n\t\t\tclassNames: importUser.classNames,\n\t\t\tflagged: importUser.flagged,\n\t\t});\n\t\tif (importUser.user != null && importUser.matchedBy) {\n\t\t\tconst { user } = importUser;\n\t\t\tdto.match = UserMatchMapper.mapToResponse(user, importUser.matchedBy);\n\t\t}\n\t\treturn dto;\n\t}\n\n\tstatic mapImportUserFilterQueryToDomain(query: FilterImportUserParams): IImportUserScope {\n\t\tconst dto: IImportUserScope = {};\n\t\tif (StringValidator.isNotEmptyString(query.firstName)) dto.firstName = query.firstName;\n\t\tif (StringValidator.isNotEmptyString(query.lastName)) dto.lastName = query.lastName;\n\t\tif (StringValidator.isNotEmptyString(query.loginName)) dto.loginName = query.loginName;\n\t\tif (query.role != null) {\n\t\t\tdto.role = RoleNameMapper.mapToDomain(query.role);\n\t\t}\n\t\tif (StringValidator.isNotEmptyString(query.classes)) dto.classes = query.classes;\n\t\tif (query.match) {\n\t\t\tdto.matches = query.match.map((match) => ImportUserMatchMapper.mapImportUserMatchScopeToDomain(match));\n\t\t}\n\t\tif (query.flagged === true) dto.flagged = true;\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ImportUserMatchMapper.html":{"url":"classes/ImportUserMatchMapper.html","title":"class - ImportUserMatchMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ImportUserMatchMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/mapper/match.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapImportUserMatchScopeToDomain\n \n \n Static\n mapMatchCreatorToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapImportUserMatchScopeToDomain\n \n \n \n \n \n \n \n mapImportUserMatchScopeToDomain(match: FilterMatchType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/mapper/match.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n match\n \n FilterMatchType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : MatchCreatorScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapMatchCreatorToResponse\n \n \n \n \n \n \n \n mapMatchCreatorToResponse(matchCreator: MatchCreator)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/mapper/match.mapper.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n matchCreator\n \n MatchCreator\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : MatchType\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { MatchCreator } from '@shared/domain/entity';\nimport { MatchCreatorScope } from '@shared/domain/types';\nimport { FilterMatchType, MatchType } from '../controller/dto';\n\nexport class ImportUserMatchMapper {\n\tstatic mapImportUserMatchScopeToDomain(match: FilterMatchType): MatchCreatorScope {\n\t\tif (match === FilterMatchType.AUTO) return MatchCreatorScope.AUTO;\n\t\tif (match === FilterMatchType.MANUAL) return MatchCreatorScope.MANUAL;\n\t\tif (match === FilterMatchType.NONE) return MatchCreatorScope.NONE;\n\t\tthrow Error('invalid match from filter query');\n\t}\n\n\tstatic mapMatchCreatorToResponse(matchCreator: MatchCreator): MatchType {\n\t\tswitch (matchCreator) {\n\t\t\tcase MatchCreator.MANUAL:\n\t\t\t\treturn MatchType.MANUAL;\n\t\t\tcase MatchCreator.AUTO:\n\t\t\tdefault:\n\t\t\t\treturn MatchType.AUTO;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ImportUserModule.html":{"url":"modules/ImportUserModule.html","title":"module - ImportUserModule","body":"\n \n\n\n\n\n Modules\n ImportUserModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ImportUserModule\n\n\n\ncluster_ImportUserModule_providers\n\n\n\ncluster_ImportUserModule_imports\n\n\n\n\nAccountModule\n\nAccountModule\n\n\n\nImportUserModule\n\nImportUserModule\n\nImportUserModule -->\n\nAccountModule->ImportUserModule\n\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\nImportUserModule -->\n\nAuthorizationModule->ImportUserModule\n\n\n\n\n\nLegacySchoolModule\n\nLegacySchoolModule\n\nImportUserModule -->\n\nLegacySchoolModule->ImportUserModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nImportUserModule -->\n\nLoggerModule->ImportUserModule\n\n\n\n\n\nImportUserRepo\n\nImportUserRepo\n\nImportUserModule -->\n\nImportUserRepo->ImportUserModule\n\n\n\n\n\nLegacySchoolRepo\n\nLegacySchoolRepo\n\nImportUserModule -->\n\nLegacySchoolRepo->ImportUserModule\n\n\n\n\n\nLegacySystemRepo\n\nLegacySystemRepo\n\nImportUserModule -->\n\nLegacySystemRepo->ImportUserModule\n\n\n\n\n\nUserImportUc\n\nUserImportUc\n\nImportUserModule -->\n\nUserImportUc->ImportUserModule\n\n\n\n\n\nUserRepo\n\nUserRepo\n\nImportUserModule -->\n\nUserRepo->ImportUserModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/user-import/user-import.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ImportUserRepo\n \n \n LegacySchoolRepo\n \n \n LegacySystemRepo\n \n \n UserImportUc\n \n \n UserRepo\n \n \n \n \n Controllers\n \n \n ImportUserController\n \n \n \n \n Imports\n \n \n AccountModule\n \n \n AuthorizationModule\n \n \n LegacySchoolModule\n \n \n LoggerModule\n \n \n \n \n \n\n\n \n\n\n \n import { LegacySchoolModule } from '@modules/legacy-school';\nimport { Module } from '@nestjs/common';\nimport { ImportUserRepo, LegacySchoolRepo, LegacySystemRepo, UserRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { AccountModule } from '../account';\nimport { AuthorizationModule } from '../authorization';\nimport { ImportUserController } from './controller/import-user.controller';\nimport { UserImportUc } from './uc/user-import.uc';\n\n@Module({\n\timports: [LoggerModule, AccountModule, LegacySchoolModule, AuthorizationModule],\n\tcontrollers: [ImportUserController],\n\tproviders: [UserImportUc, ImportUserRepo, LegacySchoolRepo, LegacySystemRepo, UserRepo],\n\texports: [],\n})\n/**\n * Module to provide user migration,\n * to link existing users with ldap references to enable\n * external authentication and sync.\n */\nexport class ImportUserModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ImportUserProperties.html":{"url":"interfaces/ImportUserProperties.html","title":"interface - ImportUserProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ImportUserProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/import-user.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n classNames\n \n \n \n \n email\n \n \n \n \n externalId\n \n \n \n \n firstName\n \n \n \n Optional\n \n flagged\n \n \n \n \n lastName\n \n \n \n \n ldapDn\n \n \n \n Optional\n \n matchedBy\n \n \n \n Optional\n \n roleNames\n \n \n \n \n school\n \n \n \n \n system\n \n \n \n Optional\n \n user\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n classNames\n \n \n \n \n \n \n \n \n classNames: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n email\n \n \n \n \n \n \n \n \n email: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n externalId\n \n \n \n \n \n \n \n \n externalId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n \n \n firstName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n flagged\n \n \n \n \n \n \n \n \n flagged: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n lastName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n ldapDn\n \n \n \n \n \n \n \n \n ldapDn: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n matchedBy\n \n \n \n \n \n \n \n \n matchedBy: MatchCreator\n\n \n \n\n\n \n \n Type : MatchCreator\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n roleNames\n \n \n \n \n \n \n \n \n roleNames: IImportUserRoleName[]\n\n \n \n\n\n \n \n Type : IImportUserRoleName[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n \n \n school: SchoolEntity\n\n \n \n\n\n \n \n Type : SchoolEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n system\n \n \n \n \n \n \n \n \n system: SystemEntity\n\n \n \n\n\n \n \n Type : SystemEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n user\n \n \n \n \n \n \n \n \n user: User\n\n \n \n\n\n \n \n Type : User\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Enum, IdentifiedReference, ManyToOne, Property, Unique, wrap } from '@mikro-orm/core';\nimport { EntityWithSchool, RoleName } from '../interface';\nimport { BaseEntityReference, BaseEntityWithTimestamps } from './base.entity';\nimport { SchoolEntity } from './school.entity';\nimport { SystemEntity } from './system.entity';\nimport type { User } from './user.entity';\n\nexport type IImportUserRoleName = RoleName.ADMINISTRATOR | RoleName.TEACHER | RoleName.STUDENT;\n\nexport interface ImportUserProperties {\n\t// references\n\tschool: SchoolEntity;\n\tsystem: SystemEntity;\n\t// external identifiers\n\tldapDn: string;\n\texternalId: string;\n\t// descriptive properties\n\tfirstName: string;\n\tlastName: string;\n\temail: string; // TODO VO\n\troleNames?: IImportUserRoleName[];\n\tclassNames?: string[];\n\tuser?: User;\n\tmatchedBy?: MatchCreator;\n\tflagged?: boolean;\n}\n\nexport enum MatchCreator {\n\tAUTO = 'auto',\n\tMANUAL = 'admin',\n}\n\n@Entity({ tableName: 'importusers' })\n@Unique({ properties: ['school', 'externalId'] })\n@Unique({ properties: ['school', 'ldapDn'] })\n@Unique({ properties: ['school', 'email'] })\nexport class ImportUser extends BaseEntityWithTimestamps implements EntityWithSchool {\n\tconstructor(props: ImportUserProperties) {\n\t\tsuper();\n\t\tthis.school = wrap(props.school).toReference();\n\t\tthis.system = wrap(props.system).toReference();\n\t\tthis.ldapDn = props.ldapDn;\n\t\tthis.externalId = props.externalId;\n\t\tthis.firstName = props.firstName;\n\t\tthis.lastName = props.lastName;\n\t\tthis.email = props.email;\n\t\tif (Array.isArray(props.roleNames) && props.roleNames.length > 0) this.roleNames.push(...props.roleNames);\n\t\tif (Array.isArray(props.classNames) && props.classNames.length > 0) this.classNames.push(...props.classNames);\n\t\tif (props.user && props.matchedBy) this.setMatch(props.user, props.matchedBy);\n\t\tif (props.flagged && props.flagged === true) this.flagged = true;\n\t}\n\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId', wrappedReference: true, eager: true })\n\tschool: IdentifiedReference;\n\n\t@ManyToOne(() => SystemEntity, { wrappedReference: true })\n\tsystem: IdentifiedReference;\n\n\t@Property()\n\tldapDn: string;\n\n\t/**\n\t * extracts the login name out of the dn which has the login name in 'uid=LOGINNAME,[...]'\n\t * */\n\tget loginName(): string | null {\n\t\tconst PATTERN_LOGIN_FROM_DN = /^uid=(.+?),/i; // extract uid from dn\n\t\tconst matches = this.ldapDn?.match(PATTERN_LOGIN_FROM_DN);\n\t\tif (Array.isArray(matches) && matches.length >= 2) {\n\t\t\tconst loginName = matches[1]; // 0: full match, 1: first group match\n\t\t\treturn loginName;\n\t\t}\n\t\treturn null;\n\t}\n\n\t@Property({ fieldName: 'ldapId' })\n\texternalId: string;\n\n\t@Property()\n\tfirstName: string;\n\n\t@Property()\n\tlastName: string;\n\n\t@Property()\n\t/**\n\t * Lowercase email string\n\t */\n\temail: string;\n\n\t@Enum({ fieldName: 'roles' })\n\troleNames: IImportUserRoleName[] = [];\n\n\t@Property()\n\tclassNames: string[] = [];\n\n\t/**\n\t * Update user-match together with matchedBy, take the field as read-only\n\t * @read\n\t */\n\t@ManyToOne('User', { fieldName: 'match_userId', eager: true, nullable: true })\n\t@Unique({ options: { partialFilterExpression: { match_userId: { $type: 'objectId' } } } })\n\tuser?: User;\n\n\t/**\n\t * References who set the user, take the field as read-only\n\t * @private\n\t */\n\t@Enum({ fieldName: 'match_matchedBy', nullable: true })\n\tmatchedBy?: MatchCreator;\n\n\t@Property({ type: Boolean })\n\tflagged = false;\n\n\tsetMatch(user: User, matchedBy: MatchCreator) {\n\t\tif (this.school.id !== user.school.id) {\n\t\t\tthrow new Error('not same school');\n\t\t}\n\t\tthis.user = user;\n\t\tthis.matchedBy = matchedBy;\n\t}\n\n\trevokeMatch() {\n\t\tthis.user = undefined;\n\t\tthis.matchedBy = undefined;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ImportUserRepo.html":{"url":"injectables/ImportUserRepo.html","title":"injectable - ImportUserRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ImportUserRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/importuser/importuser.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteImportUsersBySchool\n \n \n Async\n findById\n \n \n Async\n findImportUsers\n \n \n Private\n Async\n findImportUsersAndCount\n \n \n Async\n hasMatch\n \n \n create\n \n \n Async\n delete\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteImportUsersBySchool\n \n \n \n \n \n \n \n deleteImportUsersBySchool(school: SchoolEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.repo.ts:71\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n school\n \n SchoolEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:17\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findImportUsers\n \n \n \n \n \n \n \n findImportUsers(school: SchoolEntity, filters: IImportUserScope, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.repo.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n school\n \n SchoolEntity\n \n\n \n No\n \n\n \n \n\n \n \n filters\n \n IImportUserScope\n \n\n \n No\n \n\n \n {}\n \n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n \n \n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findImportUsersAndCount\n \n \n \n \n \n \n \n findImportUsersAndCount(query: FilterQuery, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.repo.ts:54\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n hasMatch\n \n \n \n \n \n \n \n hasMatch(user: User)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.repo.ts:29\n \n \n\n\n \n \n resolves with importusers matched with a local user account\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.repo.ts:13\n \n \n\n \n \n\n \n\n\n \n import { FilterQuery, QueryOrderMap } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\n\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { ImportUser, SchoolEntity, User } from '@shared/domain/entity';\nimport { IFindOptions } from '@shared/domain/interface';\nimport { Counted, EntityId, IImportUserScope } from '@shared/domain/types';\nimport { BaseRepo } from '@shared/repo/base.repo';\nimport { ImportUserScope } from './importuser.scope';\n\n@Injectable()\nexport class ImportUserRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn ImportUser;\n\t}\n\n\tasync findById(id: EntityId): Promise {\n\t\tif (!ObjectId.isValid(id)) throw new Error('invalid id');\n\t\tconst importUser = await this._em.findOneOrFail(ImportUser, { id });\n\t\tif (importUser.user != null) {\n\t\t\tawait this._em.populate(importUser.user, ['roles']);\n\t\t}\n\t\treturn importUser;\n\t}\n\n\t/**\n\t * resolves with importusers matched with a local user account\n\t */\n\tasync hasMatch(user: User): Promise {\n\t\tconst scope = new ImportUserScope();\n\t\tscope.byUserMatch(user);\n\t\tconst importUser = await this._em.findOne(ImportUser, scope.query);\n\t\treturn importUser;\n\t}\n\n\tasync findImportUsers(\n\t\tschool: SchoolEntity,\n\t\tfilters: IImportUserScope = {},\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst scope = new ImportUserScope();\n\t\tscope.bySchool(school);\n\t\tif (filters.firstName != null) scope.byFirstName(filters.firstName);\n\t\tif (filters.lastName != null) scope.byLastName(filters.lastName);\n\t\tif (filters.loginName != null) scope.byLoginName(filters.loginName);\n\t\tif (filters.role != null) scope.byRole(filters.role);\n\t\tif (filters.classes != null) scope.byClasses(filters.classes);\n\t\tif (filters.matches != null) scope.byMatches(filters.matches);\n\t\tif (filters.flagged === true) scope.isFlagged(true);\n\t\tconst countedImportUsers = await this.findImportUsersAndCount(scope.query, options);\n\t\treturn countedImportUsers;\n\t}\n\n\tprivate async findImportUsersAndCount(\n\t\tquery: FilterQuery,\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst { pagination, order } = options || {};\n\t\tconst queryOptions = {\n\t\t\toffset: pagination?.skip,\n\t\t\tlimit: pagination?.limit,\n\t\t\torderBy: order as QueryOrderMap,\n\t\t};\n\t\tconst [importUserEntities, count] = await this._em.findAndCount(ImportUser, query, queryOptions);\n\t\tconst userMatches = importUserEntities.map((importUser) => importUser.user).filter((user) => user != null);\n\t\t// load role names of referenced users\n\t\tawait this._em.populate(userMatches as User[], ['roles']);\n\t\treturn [importUserEntities, count];\n\t}\n\n\tasync deleteImportUsersBySchool(school: SchoolEntity): Promise {\n\t\tawait this._em.nativeDelete(ImportUser, { school });\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ImportUserResponse.html":{"url":"classes/ImportUserResponse.html","title":"class - ImportUserResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ImportUserResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/controller/dto/import-user.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n classNames\n \n \n \n \n firstName\n \n \n \n flagged\n \n \n \n \n importUserId\n \n \n \n \n lastName\n \n \n \n \n loginName\n \n \n \n Optional\n match\n \n \n \n roleNames\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ImportUserResponse)\n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/import-user.response.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ImportUserResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n classNames\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'names of classes the user attends from external system'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/import-user.response.ts:53\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({description: 'external systems user firstname'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/import-user.response.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n \n flagged\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Default value : false\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'manual flag to apply it as filter'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/import-user.response.ts:61\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n importUserId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({pattern: '[a-f0-9]{24}', description: 'id reference to a import user'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/import-user.response.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({description: 'external systems user lastname'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/import-user.response.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n loginName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({description: 'login name from external system'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/import-user.response.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n match\n \n \n \n \n \n \n Type : UserMatchResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'assignemnt to a local user account', type: UserMatchResponse})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/import-user.response.ts:56\n \n \n\n\n \n \n \n \n \n \n \n \n \n roleNames\n \n \n \n \n \n \n Type : UserRole[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'list of user roles from external system: student, teacher, admin', enum: UserRole, isArray: true})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/import-user.response.ts:50\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { PaginationResponse } from '@shared/controller';\nimport { IsMongoId, IsString } from 'class-validator';\nimport { UserMatchResponse } from './user-match.response';\nimport { UserRole } from './user-role';\n\nexport class ImportUserResponse {\n\tconstructor(props: ImportUserResponse) {\n\t\tthis.importUserId = props.importUserId;\n\t\tthis.loginName = props.loginName;\n\t\tthis.firstName = props.firstName;\n\t\tthis.lastName = props.lastName;\n\t\tthis.roleNames = props.roleNames;\n\t\tthis.classNames = props.classNames;\n\t\tif (props.match != null) this.match = props.match;\n\t\tif (props.flagged === true) this.flagged = true;\n\t}\n\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'id reference to a import user',\n\t})\n\t// no school, system\n\timportUserId: string;\n\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'login name from external system',\n\t})\n\tloginName: string;\n\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'external systems user firstname',\n\t})\n\tfirstName: string;\n\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'external systems user lastname',\n\t})\n\tlastName: string;\n\n\t@ApiProperty({\n\t\tdescription: 'list of user roles from external system: student, teacher, admin',\n\t\tenum: UserRole,\n\t\tisArray: true,\n\t})\n\troleNames: UserRole[];\n\n\t@ApiProperty({ description: 'names of classes the user attends from external system' })\n\tclassNames: string[];\n\n\t@ApiPropertyOptional({ description: 'assignemnt to a local user account', type: UserMatchResponse })\n\tmatch?: UserMatchResponse;\n\n\t// explicit type is needed for OpenAPI generator\n\t// eslint-disable-next-line @typescript-eslint/no-inferrable-types\n\t@ApiProperty({ description: 'manual flag to apply it as filter' })\n\tflagged: boolean = false;\n}\n\nexport class ImportUserListResponse extends PaginationResponse {\n\tconstructor(data: ImportUserResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [ImportUserResponse] })\n\tdata: ImportUserResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ImportUserScope.html":{"url":"classes/ImportUserScope.html","title":"class - ImportUserScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ImportUserScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/importuser/importuser.scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n byClasses\n \n \n byFirstName\n \n \n byLastName\n \n \n byLoginName\n \n \n byMatches\n \n \n byRole\n \n \n bySchool\n \n \n byUserMatch\n \n \n isFlagged\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n byClasses\n \n \n \n \n \n \nbyClasses(classes: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.scope.ts:88\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n classes\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ImportUserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byFirstName\n \n \n \n \n \n \nbyFirstName(firstName: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.scope.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n firstName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ImportUserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byLastName\n \n \n \n \n \n \nbyLastName(lastName: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.scope.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n lastName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ImportUserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byLoginName\n \n \n \n \n \n \nbyLoginName(loginName: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.scope.ts:56\n \n \n\n\n \n \n filters the login name case insensitive for contains which is part of the dn\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loginName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ImportUserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byMatches\n \n \n \n \n \n \nbyMatches(matches: MatchCreatorScope[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.scope.ts:102\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n matches\n \n MatchCreatorScope[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : this\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byRole\n \n \n \n \n \n \nbyRole(roleName: RoleName)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.scope.ts:71\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roleName\n \n RoleName\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ImportUserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n bySchool\n \n \n \n \n \n \nbySchool(school: SchoolEntity)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.scope.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n school\n \n SchoolEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ImportUserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byUserMatch\n \n \n \n \n \n \nbyUserMatch(user: User)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.scope.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ImportUserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isFlagged\n \n \n \n \n \n \nisFlagged(flagged)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/importuser/importuser.scope.ts:115\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n Default value\n \n \n \n \n flagged\n\n \n No\n \n\n \n true\n \n\n \n \n \n \n \n Returns : this\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { FilterQuery } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { StringValidator } from '@shared/common';\nimport { ImportUser, SchoolEntity, User } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { MatchCreatorScope } from '@shared/domain/types';\nimport { MongoPatterns } from '../mongo.patterns';\nimport { Scope } from '../scope';\n\nexport class ImportUserScope extends Scope {\n\tbySchool(school: SchoolEntity): ImportUserScope {\n\t\tconst schoolId = school._id;\n\t\tif (!ObjectId.isValid(schoolId)) throw new Error('invalid school id');\n\t\tthis.addQuery({ school });\n\t\treturn this;\n\t}\n\n\tbyUserMatch(user: User): ImportUserScope {\n\t\tconst userId = user._id;\n\t\tif (!ObjectId.isValid(userId)) throw new Error('invalid user match id');\n\t\tthis.addQuery({ user });\n\t\treturn this;\n\t}\n\n\tbyFirstName(firstName: string): ImportUserScope {\n\t\tconst escapedFirstName = firstName.replace(MongoPatterns.REGEX_MONGO_LANGUAGE_PATTERN_WHITELIST, '').trim();\n\t\t// TODO make db agnostic\n\t\tif (StringValidator.isNotEmptyString(escapedFirstName, true))\n\t\t\tthis.addQuery({\n\t\t\t\tfirstName: {\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t$regex: escapedFirstName,\n\t\t\t\t\t$options: 'i',\n\t\t\t\t},\n\t\t\t});\n\t\treturn this;\n\t}\n\n\tbyLastName(lastName: string): ImportUserScope {\n\t\t// TODO filter does not find café when searching with cafe\n\t\tconst escapedLastName = lastName.replace(MongoPatterns.REGEX_MONGO_LANGUAGE_PATTERN_WHITELIST, '').trim();\n\t\t// TODO make db agnostic\n\t\tif (StringValidator.isNotEmptyString(escapedLastName, true))\n\t\t\tthis.addQuery({\n\t\t\t\tlastName: {\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t$regex: escapedLastName,\n\t\t\t\t\t$options: 'i',\n\t\t\t\t},\n\t\t\t});\n\t\treturn this;\n\t}\n\n\t/** filters the login name case insensitive for contains which is part of the dn */\n\tbyLoginName(loginName: string): ImportUserScope {\n\t\t// TODO filter does not find café when searching with cafe\n\t\tconst escapedLoginName = loginName.replace(MongoPatterns.REGEX_MONGO_LANGUAGE_PATTERN_WHITELIST, '').trim();\n\t\t// TODO make db agnostic\n\t\tif (StringValidator.isNotEmptyString(escapedLoginName, true))\n\t\t\tthis.addQuery({\n\t\t\t\tldapDn: {\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t$regex: `^uid=[^,]*${escapedLoginName}[^,]*,`,\n\t\t\t\t\t$options: 'i',\n\t\t\t\t},\n\t\t\t});\n\t\treturn this;\n\t}\n\n\tbyRole(roleName: RoleName): ImportUserScope {\n\t\tswitch (roleName) {\n\t\t\tcase RoleName.ADMINISTRATOR:\n\t\t\t\tthis.addQuery({ roleNames: { $in: [RoleName.ADMINISTRATOR] } });\n\t\t\t\tbreak;\n\t\t\tcase RoleName.STUDENT:\n\t\t\t\tthis.addQuery({ roleNames: { $in: [RoleName.STUDENT] } });\n\t\t\t\tbreak;\n\t\t\tcase RoleName.TEACHER:\n\t\t\t\tthis.addQuery({ roleNames: { $in: [RoleName.TEACHER] } });\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new Error('unexpected role name');\n\t\t}\n\t\treturn this;\n\t}\n\n\tbyClasses(classes: string): ImportUserScope {\n\t\tconst escapedClasses = classes.replace(MongoPatterns.REGEX_MONGO_LANGUAGE_PATTERN_WHITELIST, '').trim();\n\t\t// TODO make db agnostic\n\t\tif (StringValidator.isNotEmptyString(escapedClasses, true))\n\t\t\tthis.addQuery({\n\t\t\t\tclassNames: {\n\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t$regex: escapedClasses,\n\t\t\t\t\t$options: 'i',\n\t\t\t\t},\n\t\t\t});\n\t\treturn this;\n\t}\n\n\tbyMatches(matches: MatchCreatorScope[]) {\n\t\tconst queries = matches\n\t\t\t.map((match) => {\n\t\t\t\tif (match === MatchCreatorScope.MANUAL) return { matchedBy: 'admin' };\n\t\t\t\tif (match === MatchCreatorScope.AUTO) return { matchedBy: 'auto' };\n\t\t\t\tif (match === MatchCreatorScope.NONE) return { matchedBy: null };\n\t\t\t\treturn null;\n\t\t\t})\n\t\t\t.filter((match) => match != null);\n\t\tif (queries.length > 0) this.addQuery({ $or: queries as FilterQuery[] });\n\t\treturn this;\n\t}\n\n\tisFlagged(flagged = true) {\n\t\tif (flagged === true) this.addQuery({ flagged: true });\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ImportUserUrlParams.html":{"url":"classes/ImportUserUrlParams.html","title":"class - ImportUserUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ImportUserUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/controller/dto/import-user.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n importUserId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n importUserId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of an importuser object, that matches an internal user with an external user.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/import-user.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class ImportUserUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of an importuser object, that matches an internal user with an external user.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\timportUserId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/InlineAttachment.html":{"url":"interfaces/InlineAttachment.html","title":"interface - InlineAttachment","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n InlineAttachment\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/mail/mail.interface.ts\n \n\n\n\n \n Extends\n \n \n MailAttachment\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contentDisposition\n \n \n \n \n contentId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contentDisposition\n \n \n \n \n \n \n \n \n contentDisposition: \n\n \n \n\n\n\n\n\n\n\n \n \n \n \n \n \n \n contentId\n \n \n \n \n \n \n \n \n contentId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n interface MailAttachment {\n\tbase64Content: string;\n\n\tmimeType: string;\n\n\tname: string;\n}\n\ninterface InlineAttachment extends MailAttachment {\n\tcontentDisposition: 'INLINE';\n\n\tcontentId: string;\n}\n\ninterface AppendedAttachment extends MailAttachment {\n\tcontentDisposition: 'ATTACHMENT';\n}\n\ninterface MailContent {\n\tsubject: string;\n\n\tattachments?: (InlineAttachment | AppendedAttachment)[];\n}\n\ninterface PlainTextMailContent extends MailContent {\n\thtmlContent?: string;\n\n\tplainTextContent: string;\n}\n\ninterface HtmlMailContent extends MailContent {\n\thtmlContent: string;\n\n\tplainTextContent?: string;\n}\n\nexport interface Mail {\n\tmail: PlainTextMailContent | HtmlMailContent;\n\n\trecipients: string[];\n\n\tfrom?: string;\n\n\tcc?: string[];\n\n\tbcc?: string[];\n\n\treplyTo?: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/InstalledLibrary.html":{"url":"entities/InstalledLibrary.html","title":"entity - InstalledLibrary","body":"\n \n\n\n\n\n\n\n\n Entities\n InstalledLibrary\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/entity/library.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n addTo\n \n \n \n Optional\n author\n \n \n \n Optional\n coreApi\n \n \n \n Optional\n description\n \n \n \n Optional\n dropLibraryCss\n \n \n \n Optional\n dynamicDependencies\n \n \n \n Optional\n editorDependencies\n \n \n \n Optional\n embedTypes\n \n \n \n files\n \n \n \n Optional\n fullscreen\n \n \n \n Optional\n h\n \n \n \n Optional\n license\n \n \n \n machineName\n \n \n \n majorVersion\n \n \n \n Optional\n metadataSettings\n \n \n \n minorVersion\n \n \n \n patchVersion\n \n \n \n Optional\n preloadedCss\n \n \n \n Optional\n preloadedDependencies\n \n \n \n Optional\n preloadedJs\n \n \n \n Optional\n requiredExtensions\n \n \n \n restricted\n \n \n \n runnable\n \n \n \n Optional\n state\n \n \n \n title\n \n \n \n Optional\n w\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n addTo\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:64\n \n \n\n \n \n Addons can be added to other content types by\n\n \n \n\n \n \n \n \n \n \n \n \n \n Optional\n author\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:114\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n coreApi\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:120\n \n \n\n \n \n The core API required to run the library.\n\n \n \n\n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:126\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n dropLibraryCss\n \n \n \n \n \n \n Type : literal type[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:129\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n dynamicDependencies\n \n \n \n \n \n \n Type : LibraryName[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:134\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n editorDependencies\n \n \n \n \n \n \n Type : LibraryName[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:137\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n embedTypes\n \n \n \n \n \n \n Type : (\"iframe\" | \"div\")[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:140\n \n \n\n\n \n \n \n \n \n \n \n \n \n files\n \n \n \n \n \n \n Type : FileMetadata[]\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:189\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n fullscreen\n \n \n \n \n \n \n Type : \"0\" | \"1\"\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:143\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n h\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:146\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n license\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:149\n \n \n\n\n \n \n \n \n \n \n \n \n \n machineName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n \n majorVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n metadataSettings\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:152\n \n \n\n\n \n \n \n \n \n \n \n \n \n minorVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n \n patchVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n preloadedCss\n \n \n \n \n \n \n Type : Path[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:158\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n preloadedDependencies\n \n \n \n \n \n \n Type : LibraryName[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:161\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n preloadedJs\n \n \n \n \n \n \n Type : Path[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:164\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n requiredExtensions\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:176\n \n \n\n\n \n \n \n \n \n \n \n \n \n restricted\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:111\n \n \n\n \n \n If set to true, the library can only be used be users who have this special\nprivilege.\n\n \n \n\n \n \n \n \n \n \n \n \n \n runnable\n \n \n \n \n \n \n Type : boolean | \"0\" | \"1\"\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:167\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n state\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:181\n \n \n\n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:170\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n w\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:173\n \n \n\n\n \n \n\n \n\n\n \n import { IInstalledLibrary, ILibraryName } from '@lumieducation/h5p-server';\nimport { IFileStats, ILibraryMetadata, IPath } from '@lumieducation/h5p-server/build/src/types';\nimport { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\n\nexport class Path implements IPath {\n\t@Property()\n\tpath: string;\n\n\tconstructor(path: string) {\n\t\tthis.path = path;\n\t}\n}\n\nexport class LibraryName implements ILibraryName {\n\t@Property()\n\tmachineName: string;\n\n\t@Property()\n\tmajorVersion: number;\n\n\t@Property()\n\tminorVersion: number;\n\n\tconstructor(machineName: string, majorVersion: number, minorVersion: number) {\n\t\tthis.machineName = machineName;\n\t\tthis.majorVersion = majorVersion;\n\t\tthis.minorVersion = minorVersion;\n\t}\n}\n\nexport class FileMetadata implements IFileStats {\n\tname: string;\n\n\tbirthtime: Date;\n\n\tsize: number;\n\n\tconstructor(name: string, birthtime: Date, size: number) {\n\t\tthis.name = name;\n\t\tthis.birthtime = birthtime;\n\t\tthis.size = size;\n\t}\n}\n\n@Entity({ tableName: 'h5p_library' })\nexport class InstalledLibrary extends BaseEntityWithTimestamps implements IInstalledLibrary {\n\t@Property()\n\tmachineName: string;\n\n\t@Property()\n\tmajorVersion: number;\n\n\t@Property()\n\tminorVersion: number;\n\n\t@Property()\n\tpatchVersion: number;\n\n\t/**\n\t * Addons can be added to other content types by\n\t */\n\t@Property({ nullable: true })\n\taddTo?: {\n\t\tcontent?: {\n\t\t\ttypes?: {\n\t\t\t\ttext?: {\n\t\t\t\t\t/**\n\t\t\t\t\t * If any string property in the parameters matches the regex,\n\t\t\t\t\t * the addon will be activated for the content.\n\t\t\t\t\t */\n\t\t\t\t\tregex?: string;\n\t\t\t\t};\n\t\t\t}[];\n\t\t};\n\t\t/**\n\t\t * Contains cases in which the library should be added to the editor.\n\t\t *\n\t\t * This is an extension to the H5P library metadata structure made by\n\t\t * h5p-nodejs-library. That way addons can specify to which editors\n\t\t * they should be added in general. The PHP implementation hard-codes\n\t\t * this list into the server, which we want to avoid here.\n\t\t */\n\t\teditor?: {\n\t\t\t/**\n\t\t\t * A list of machine names in which the addon should be added.\n\t\t\t */\n\t\t\tmachineNames: string[];\n\t\t};\n\t\t/**\n\t\t * Contains cases in which the library should be added to the player.\n\t\t *\n\t\t * This is an extension to the H5P library metadata structure made by\n\t\t * h5p-nodejs-library. That way addons can specify to which editors\n\t\t * they should be added in general. The PHP implementation hard-codes\n\t\t * this list into the server, which we want to avoid here.\n\t\t */\n\t\tplayer?: {\n\t\t\t/**\n\t\t\t * A list of machine names in which the addon should be added.\n\t\t\t */\n\t\t\tmachineNames: string[];\n\t\t};\n\t};\n\n\t/**\n\t * If set to true, the library can only be used be users who have this special\n\t * privilege.\n\t */\n\t@Property()\n\trestricted: boolean;\n\n\t@Property({ nullable: true })\n\tauthor?: string;\n\n\t/**\n\t * The core API required to run the library.\n\t */\n\t@Property({ nullable: true })\n\tcoreApi?: {\n\t\tmajorVersion: number;\n\t\tminorVersion: number;\n\t};\n\n\t@Property({ nullable: true })\n\tdescription?: string;\n\n\t@Property({ nullable: true })\n\tdropLibraryCss?: {\n\t\tmachineName: string;\n\t}[];\n\n\t@Property({ nullable: true })\n\tdynamicDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\teditorDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\tembedTypes?: ('iframe' | 'div')[];\n\n\t@Property({ nullable: true })\n\tfullscreen?: 0 | 1;\n\n\t@Property({ nullable: true })\n\th?: number;\n\n\t@Property({ nullable: true })\n\tlicense?: string;\n\n\t@Property({ nullable: true })\n\tmetadataSettings?: {\n\t\tdisable: 0 | 1;\n\t\tdisableExtraTitleField: 0 | 1;\n\t};\n\n\t@Property({ nullable: true })\n\tpreloadedCss?: Path[];\n\n\t@Property({ nullable: true })\n\tpreloadedDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\tpreloadedJs?: Path[];\n\n\t@Property()\n\trunnable: boolean | 0 | 1;\n\n\t@Property()\n\ttitle: string;\n\n\t@Property({ nullable: true })\n\tw?: number;\n\n\t@Property({ nullable: true })\n\trequiredExtensions?: {\n\t\tsharedState: number;\n\t};\n\n\t@Property({ nullable: true })\n\tstate?: {\n\t\tsnapshotSchema: boolean;\n\t\topSchema: boolean;\n\t\tsnapshotLogicChecks: boolean;\n\t\topLogicChecks: boolean;\n\t};\n\n\t@Property()\n\tfiles: FileMetadata[];\n\n\tpublic static simple_compare(a: number, b: number): number {\n\t\tif (a > b) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (a otherLibrary.machineName ? 1 : -1;\n\t}\n\n\tpublic compareVersions(otherLibrary: ILibraryName & { patchVersion?: number }): number {\n\t\tlet result = InstalledLibrary.simple_compare(this.majorVersion, otherLibrary.majorVersion);\n\t\tif (result !== 0) {\n\t\t\treturn result;\n\t\t}\n\t\tresult = InstalledLibrary.simple_compare(this.minorVersion, otherLibrary.minorVersion);\n\t\tif (result !== 0) {\n\t\t\treturn result;\n\t\t}\n\t\treturn InstalledLibrary.simple_compare(this.patchVersion, otherLibrary.patchVersion as number);\n\t}\n\n\tconstructor(libraryMetadata: ILibraryMetadata, restricted = false, files: FileMetadata[] = []) {\n\t\tsuper();\n\t\tthis.machineName = libraryMetadata.machineName;\n\t\tthis.majorVersion = libraryMetadata.majorVersion;\n\t\tthis.minorVersion = libraryMetadata.minorVersion;\n\t\tthis.patchVersion = libraryMetadata.patchVersion;\n\t\tthis.runnable = libraryMetadata.runnable;\n\t\tthis.title = libraryMetadata.title;\n\t\tthis.addTo = libraryMetadata.addTo;\n\t\tthis.author = libraryMetadata.author;\n\t\tthis.coreApi = libraryMetadata.coreApi;\n\t\tthis.description = libraryMetadata.description;\n\t\tthis.dropLibraryCss = libraryMetadata.dropLibraryCss;\n\t\tthis.dynamicDependencies = libraryMetadata.dynamicDependencies;\n\t\tthis.editorDependencies = libraryMetadata.editorDependencies;\n\t\tthis.embedTypes = libraryMetadata.embedTypes;\n\t\tthis.fullscreen = libraryMetadata.fullscreen;\n\t\tthis.h = libraryMetadata.h;\n\t\tthis.license = libraryMetadata.license;\n\t\tthis.metadataSettings = libraryMetadata.metadataSettings;\n\t\tthis.preloadedCss = libraryMetadata.preloadedCss;\n\t\tthis.preloadedDependencies = libraryMetadata.preloadedDependencies;\n\t\tthis.preloadedJs = libraryMetadata.preloadedJs;\n\t\tthis.w = libraryMetadata.w;\n\t\tthis.requiredExtensions = libraryMetadata.requiredExtensions;\n\t\tthis.state = libraryMetadata.state;\n\t\tthis.restricted = restricted;\n\t\tthis.files = files;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/InterceptorConfig.html":{"url":"interfaces/InterceptorConfig.html","title":"interface - InterceptorConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n InterceptorConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/interceptor/interfaces/interceptor-config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT\n \n \n \n \n INCOMING_REQUEST_TIMEOUT_COPY_API\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT\n \n \n \n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT_COPY_API\n \n \n \n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT_COPY_API: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface InterceptorConfig {\n\tINCOMING_REQUEST_TIMEOUT: number;\n\tINCOMING_REQUEST_TIMEOUT_COPY_API: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/InterceptorModule.html":{"url":"modules/InterceptorModule.html","title":"module - InterceptorModule","body":"\n \n\n\n\n\n Modules\n InterceptorModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/core/interceptor/interceptor.module.ts\n \n\n\n\n \n Description\n \n \n \nGlobal Interceptor setup\n\nHere, we globally apply\n\nvalidate input data using @ClassSerializerInterceptor\nset a timeout for requests using @TimeoutInterceptor\n\n\n \n\n\n \n \n \n \n\n\n \n\n\n \n import { ClassSerializerInterceptor, Module } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { APP_INTERCEPTOR } from '@nestjs/core';\nimport { InterceptorConfig, TimeoutInterceptor } from '@shared/common';\n\n/** *********************************************\n * Global Interceptor setup\n * **********************************************\n * Here, we globally apply\n * - validate input data using @ClassSerializerInterceptor\n * - set a timeout for requests using @TimeoutInterceptor\n */\n@Module({\n\tproviders: [\n\t\t{\n\t\t\tprovide: APP_INTERCEPTOR,\n\t\t\tuseClass: ClassSerializerInterceptor,\n\t\t},\n\t\t{\n\t\t\tprovide: APP_INTERCEPTOR, // TODO remove (for testing)\n\t\t\tuseFactory: (configService: ConfigService) => {\n\t\t\t\tconst timeout = configService.get('INCOMING_REQUEST_TIMEOUT');\n\t\t\t\treturn new TimeoutInterceptor(timeout);\n\t\t\t},\n\t\t\tinject: [ConfigService],\n\t\t},\n\t],\n})\nexport class InterceptorModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/IntrospectResponse.html":{"url":"interfaces/IntrospectResponse.html","title":"interface - IntrospectResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n IntrospectResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/oauth-provider/dto/response/introspect.response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n active\n \n \n \n Optional\n \n aud\n \n \n \n Optional\n \n client_id\n \n \n \n Optional\n \n exp\n \n \n \n Optional\n \n ext\n \n \n \n Optional\n \n iat\n \n \n \n Optional\n \n iss\n \n \n \n Optional\n \n nbf\n \n \n \n Optional\n \n obfuscated_subject\n \n \n \n Optional\n \n scope\n \n \n \n Optional\n \n sub\n \n \n \n Optional\n \n token_type\n \n \n \n Optional\n \n token_use\n \n \n \n Optional\n \n username\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n active\n \n \n \n \n \n \n \n \n active: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n aud\n \n \n \n \n \n \n \n \n aud: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n client_id\n \n \n \n \n \n \n \n \n client_id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n exp\n \n \n \n \n \n \n \n \n exp: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n ext\n \n \n \n \n \n \n \n \n ext: object\n\n \n \n\n\n \n \n Type : object\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n iat\n \n \n \n \n \n \n \n \n iat: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n iss\n \n \n \n \n \n \n \n \n iss: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n nbf\n \n \n \n \n \n \n \n \n nbf: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n obfuscated_subject\n \n \n \n \n \n \n \n \n obfuscated_subject: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n scope\n \n \n \n \n \n \n \n \n scope: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n sub\n \n \n \n \n \n \n \n \n sub: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n token_type\n \n \n \n \n \n \n \n \n token_type: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n token_use\n \n \n \n \n \n \n \n \n token_use: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n \n \n username: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface IntrospectResponse {\n\tactive: boolean;\n\n\taud?: string[];\n\n\tclient_id?: string;\n\n\texp?: number;\n\n\text?: object;\n\n\tiat?: number;\n\n\tiss?: string;\n\n\tnbf?: number;\n\n\tobfuscated_subject?: string;\n\n\tscope?: string;\n\n\tsub?: string;\n\n\ttoken_type?: string;\n\n\ttoken_use?: string;\n\n\tusername?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/InvalidOriginForLogoutUrlLoggableException.html":{"url":"classes/InvalidOriginForLogoutUrlLoggableException.html","title":"class - InvalidOriginForLogoutUrlLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n InvalidOriginForLogoutUrlLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/error/invalid-origin-for-logout-url.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n BadRequestException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logoutUrl: string, origin: string | undefined)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/error/invalid-origin-for-logout-url.loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logoutUrl\n \n \n string\n \n \n \n No\n \n \n \n \n origin\n \n \n string | undefined\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/error/invalid-origin-for-logout-url.loggable-exception.ts:9\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BadRequestException } from '@nestjs/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class InvalidOriginForLogoutUrlLoggableException extends BadRequestException implements Loggable {\n\tconstructor(private readonly logoutUrl: string, private readonly origin: string | undefined) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'INVALID_ORIGIN_FOR_LOGOUT_URL',\n\t\t\tmessage: 'The provided logoutUrl is from the wrong domain. Only URLs from the origin of the request can be used.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\treceived: new URL(this.logoutUrl).origin,\n\t\t\t\texpected: this.origin,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/InvalidUserLoginMigrationLoggableException.html":{"url":"classes/InvalidUserLoginMigrationLoggableException.html","title":"class - InvalidUserLoginMigrationLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n InvalidUserLoginMigrationLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/invalid-user-login-migration.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n UnprocessableEntityException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userId: EntityId, targetSystemId: EntityId)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/invalid-user-login-migration.loggable-exception.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n targetSystemId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/invalid-user-login-migration.loggable-exception.ts:10\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UnprocessableEntityException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class InvalidUserLoginMigrationLoggableException extends UnprocessableEntityException implements Loggable {\n\tconstructor(private readonly userId: EntityId, private readonly targetSystemId: EntityId) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'INVALID_USER_LOGIN_MIGRATION',\n\t\t\tmessage: 'The migration cannot be started, because there is no migration to the selected target system.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tuserId: this.userId,\n\t\t\t\ttargetSystemId: this.targetSystemId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/IservMapper.html":{"url":"classes/IservMapper.html","title":"class - IservMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n IservMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/iserv/iserv-do.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToExternalSchoolDto\n \n \n Static\n mapToExternalUserDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToExternalSchoolDto\n \n \n \n \n \n \n \n mapToExternalSchoolDto(schoolDO: LegacySchoolDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/iserv/iserv-do.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolDO\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalSchoolDto\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToExternalUserDto\n \n \n \n \n \n \n \n mapToExternalUserDto(userDO: UserDO, roleNames: RoleName[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/iserv/iserv-do.mapper.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userDO\n \n UserDO\n \n\n \n No\n \n\n\n \n \n roleNames\n \n RoleName[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalUserDto\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { LegacySchoolDo, UserDO } from '@shared/domain/domainobject';\nimport { RoleName } from '@shared/domain/interface';\nimport { ExternalSchoolDto, ExternalUserDto } from '../../dto';\n\nexport class IservMapper {\n\tstatic mapToExternalSchoolDto(schoolDO: LegacySchoolDo): ExternalSchoolDto {\n\t\treturn new ExternalSchoolDto({\n\t\t\tname: schoolDO.name,\n\t\t\texternalId: schoolDO.externalId || '',\n\t\t\tofficialSchoolNumber: schoolDO.officialSchoolNumber,\n\t\t});\n\t}\n\n\tstatic mapToExternalUserDto(userDO: UserDO, roleNames: RoleName[]): ExternalUserDto {\n\t\treturn new ExternalUserDto({\n\t\t\tfirstName: userDO.firstName,\n\t\t\tlastName: userDO.lastName,\n\t\t\temail: userDO.email,\n\t\t\troles: roleNames,\n\t\t\texternalId: userDO.externalId || '',\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/IservProvisioningStrategy.html":{"url":"injectables/IservProvisioningStrategy.html","title":"injectable - IservProvisioningStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n IservProvisioningStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/iserv/iserv.strategy.ts\n \n\n\n\n \n Extends\n \n \n ProvisioningStrategy\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n apply\n \n \n Async\n getAdditionalErrorInfo\n \n \n \n Async\n getData\n \n \n getType\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolService: LegacySchoolService, userService: UserService)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/iserv/iserv.strategy.ts:24\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n apply\n \n \n \n \n \n \n \n apply(data: OauthDataDto)\n \n \n\n\n \n \n Inherited from ProvisioningStrategy\n\n \n \n \n \n Defined in ProvisioningStrategy:63\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n OauthDataDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getAdditionalErrorInfo\n \n \n \n \n \n \n \n getAdditionalErrorInfo(email: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/iserv/iserv.strategy.ts:67\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n email\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getData\n \n \n \n \n \n \n \n getData(input: OauthDataStrategyInputDto)\n \n \n\n\n \n \n Inherited from ProvisioningStrategy\n\n \n \n \n \n Defined in ProvisioningStrategy:33\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n input\n \n OauthDataStrategyInputDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getType\n \n \n \n \n \n \ngetType()\n \n \n\n\n \n \n Inherited from ProvisioningStrategy\n\n \n \n \n \n Defined in ProvisioningStrategy:29\n\n \n \n\n\n \n \n\n \n Returns : SystemProvisioningStrategy\n\n \n \n \n \n \n\n\n \n\n\n \n import { LegacySchoolService } from '@modules/legacy-school';\nimport { UserService } from '@modules/user';\nimport { Injectable } from '@nestjs/common';\nimport { LegacySchoolDo, RoleReference, UserDO } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport jwt, { JwtPayload } from 'jsonwebtoken';\nimport {\n\tIdTokenExtractionFailureLoggableException,\n\tIdTokenUserNotFoundLoggableException,\n} from '@modules/oauth/loggable';\nimport {\n\tExternalSchoolDto,\n\tExternalUserDto,\n\tOauthDataDto,\n\tOauthDataStrategyInputDto,\n\tProvisioningDto,\n} from '../../dto';\nimport { ProvisioningStrategy } from '../base.strategy';\nimport { IservMapper } from './iserv-do.mapper';\n\n@Injectable()\nexport class IservProvisioningStrategy extends ProvisioningStrategy {\n\tconstructor(private readonly schoolService: LegacySchoolService, private readonly userService: UserService) {\n\t\tsuper();\n\t}\n\n\tgetType(): SystemProvisioningStrategy {\n\t\treturn SystemProvisioningStrategy.ISERV;\n\t}\n\n\toverride async getData(input: OauthDataStrategyInputDto): Promise {\n\t\tconst idToken: JwtPayload | null = jwt.decode(input.idToken, { json: true });\n\n\t\tif (!idToken || !idToken.uuid) {\n\t\t\tthrow new IdTokenExtractionFailureLoggableException('uuid');\n\t\t}\n\n\t\tconst ldapUser: UserDO | null = await this.userService.findByExternalId(\n\t\t\tidToken.uuid as string,\n\t\t\tinput.system.systemId\n\t\t);\n\t\tif (!ldapUser) {\n\t\t\tconst additionalInfo: string = await this.getAdditionalErrorInfo(idToken.email as string | undefined);\n\t\t\tthrow new IdTokenUserNotFoundLoggableException(idToken?.uuid as string, additionalInfo);\n\t\t}\n\n\t\tconst ldapSchool: LegacySchoolDo = await this.schoolService.getSchoolById(ldapUser.schoolId);\n\t\tconst roleNames: RoleName[] = ldapUser.roles.map((roleRef: RoleReference): RoleName => roleRef.name);\n\n\t\tconst externalUser: ExternalUserDto = IservMapper.mapToExternalUserDto(ldapUser, roleNames);\n\t\tconst externalSchool: ExternalSchoolDto = IservMapper.mapToExternalSchoolDto(ldapSchool);\n\n\t\tconst oauthData: OauthDataDto = new OauthDataDto({\n\t\t\tsystem: input.system,\n\t\t\texternalUser,\n\t\t\texternalSchool,\n\t\t});\n\t\treturn oauthData;\n\t}\n\n\toverride apply(data: OauthDataDto): Promise {\n\t\treturn Promise.resolve(new ProvisioningDto({ externalUserId: data.externalUser?.externalId }));\n\t}\n\n\tasync getAdditionalErrorInfo(email: string | undefined): Promise {\n\t\tif (email) {\n\t\t\tconst usersWithEmail: User[] = await this.userService.findByEmail(email);\n\t\t\tif (usersWithEmail.length > 0) {\n\t\t\t\tconst user: User = usersWithEmail[0];\n\t\t\t\treturn ` [schoolId: ${user.school.id}, currentLdapId: ${user.externalId ?? ''}]`;\n\t\t\t}\n\t\t}\n\t\treturn '';\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/JsonAccount.html":{"url":"interfaces/JsonAccount.html","title":"interface - JsonAccount","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n JsonAccount\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/interface/json-account.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n _id\n \n \n \n \n password\n \n \n \n Optional\n \n systemId\n \n \n \n \n userId\n \n \n \n \n username\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n _id\n \n \n \n \n \n \n \n \n _id: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n password\n \n \n \n \n \n \n \n \n password: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n systemId\n \n \n \n \n \n \n \n \n systemId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n \n \n username: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface JsonAccount {\n\t_id: {\n\t\t$oid: string;\n\t};\n\tusername: string;\n\tpassword: string;\n\tsystemId?: string;\n\tuserId: {\n\t\t$oid: string;\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/JsonUser.html":{"url":"interfaces/JsonUser.html","title":"interface - JsonUser","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n JsonUser\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/interface/json-user.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n _id\n \n \n \n \n email\n \n \n \n \n firstName\n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n _id\n \n \n \n \n \n \n \n \n _id: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n email\n \n \n \n \n \n \n \n \n email: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n \n \n firstName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n lastName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface JsonUser {\n\t_id: {\n\t\t$oid: string;\n\t};\n\tfirstName: string;\n\tlastName: string;\n\temail: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/JwtAuthGuard.html":{"url":"injectables/JwtAuthGuard.html","title":"injectable - JwtAuthGuard","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n JwtAuthGuard\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/guard/jwt-auth.guard.ts\n \n\n\n\n \n Extends\n \n \n AuthGuard('jwt')\n \n\n\n\n\n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { AuthGuard } from '@nestjs/passport';\n\n@Injectable()\nexport class JwtAuthGuard extends AuthGuard('jwt') {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/JwtConstants.html":{"url":"interfaces/JwtConstants.html","title":"interface - JwtConstants","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n JwtConstants\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/constants.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n jwtOptions\n \n \n \n \n secret\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n jwtOptions\n \n \n \n \n \n \n \n \n jwtOptions: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n secret\n \n \n \n \n \n \n \n \n secret: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import externalAuthConfig = require('../../../../../src/services/authentication/configuration');\n\nconst { authConfig } = externalAuthConfig;\n\n/*\n\tTODO: look at existing keys, vs implemented keys\n\tsupport: true,\n\tsupportUserId,\n\taccountId,\n\tuserId,\n\tiat,\n\texp,\n\taud: this.aud,\n\tiss: 'feathers',\n\tsub: accountId,\n\tjti: `support_${ObjectId()}`,\n*/\nexport interface JwtConstants {\n\tsecret: string;\n\tjwtOptions: {\n\t\theader: { typ: string };\n\t\taudience: string;\n\t\tissuer: string;\n\t\talgorithm: string;\n\t\texpiresIn: string;\n\t};\n}\n\nexport const jwtConstants: JwtConstants = {\n\tsecret: authConfig.secret as string,\n\tjwtOptions: authConfig.jwtOptions,\n};\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/JwtExtractor.html":{"url":"classes/JwtExtractor.html","title":"class - JwtExtractor","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n JwtExtractor\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/strategy/jwt-extractor.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n fromCookie\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n fromCookie\n \n \n \n \n \n \n \n fromCookie(name: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/jwt-extractor.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : JwtFromRequestFunction\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Request } from 'express';\nimport { JwtFromRequestFunction } from 'passport-jwt';\nimport cookie from 'cookie';\n\nexport class JwtExtractor {\n\tstatic fromCookie(name: string): JwtFromRequestFunction {\n\t\treturn (request: Request) => {\n\t\t\tlet token: string | null = null;\n\t\t\tconst cookies = cookie.parse(request.headers.cookie || '');\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\tif (cookies && cookies[name]) {\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-member-access\n\t\t\t\ttoken = cookies[name];\n\t\t\t}\n\t\t\treturn token;\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/JwtPayload.html":{"url":"interfaces/JwtPayload.html","title":"interface - JwtPayload","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n JwtPayload\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/interface/jwt-payload.ts\n \n\n\n\n \n Extends\n \n \n CreateJwtPayload\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n aud\n \n \n \n \n exp\n \n \n \n \n iat\n \n \n \n \n iss\n \n \n \n \n jti\n \n \n \n \n sub\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n aud\n \n \n \n \n \n \n \n \n aud: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n audience\n\n \n \n \n \n \n \n \n \n \n exp\n \n \n \n \n \n \n \n \n exp: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n expiration in // TODO\n\n \n \n \n \n \n \n \n \n \n iat\n \n \n \n \n \n \n \n \n iat: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n iss\n \n \n \n \n \n \n \n \n iss: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n issuer\n\n \n \n \n \n \n \n \n \n \n jti\n \n \n \n \n \n \n \n \n jti: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n sub\n \n \n \n \n \n \n \n \n sub: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n // TODO\n\n \n \n \n \n \n \n\n\n \n export interface CreateJwtPayload {\n\taccountId: string;\n\tuserId: string;\n\tschoolId: string;\n\troles: string[];\n\tsystemId?: string; // without this the user needs to change his PW during first login\n\tsupport?: boolean;\n\t// support UserId is missed see featherJS\n\tisExternalUser: boolean;\n}\n\nexport interface JwtPayload extends CreateJwtPayload {\n\t/** audience */\n\taud: string;\n\t/** expiration in // TODO\n\t *\n\t */\n\texp: number;\n\tiat: number;\n\t/** issuer */\n\tiss: string;\n\tjti: string;\n\n\t/** // TODO\n\t *\n\t */\n\tsub: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/JwtStrategy.html":{"url":"injectables/JwtStrategy.html","title":"injectable - JwtStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n JwtStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/strategy/jwt.strategy.ts\n \n\n\n\n \n Extends\n \n \n PassportStrategy(Strategy)\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n validate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(jwtValidationAdapter: JwtValidationAdapter)\n \n \n \n \n Defined in apps/server/src/modules/authentication/strategy/jwt.strategy.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n jwtValidationAdapter\n \n \n JwtValidationAdapter\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n validate\n \n \n \n \n \n \n \n validate(payload: JwtPayload)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/jwt.strategy.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n payload\n \n JwtPayload\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, UnauthorizedException } from '@nestjs/common';\nimport { PassportStrategy } from '@nestjs/passport';\nimport { ExtractJwt, Strategy } from 'passport-jwt';\nimport { jwtConstants } from '../constants';\nimport { ICurrentUser } from '../interface';\nimport { JwtPayload } from '../interface/jwt-payload';\nimport { CurrentUserMapper } from '../mapper';\nimport { JwtExtractor } from './jwt-extractor';\nimport { JwtValidationAdapter } from './jwt-validation.adapter';\n\n@Injectable()\nexport class JwtStrategy extends PassportStrategy(Strategy) {\n\tconstructor(private readonly jwtValidationAdapter: JwtValidationAdapter) {\n\t\tsuper({\n\t\t\tjwtFromRequest: ExtractJwt.fromExtractors([\n\t\t\t\tExtractJwt.fromAuthHeaderAsBearerToken(),\n\t\t\t\tJwtExtractor.fromCookie('jwt'),\n\t\t\t]),\n\t\t\tignoreExpiration: false,\n\t\t\tsecretOrKey: jwtConstants.secret,\n\t\t\t...jwtConstants.jwtOptions,\n\t\t});\n\t}\n\n\tasync validate(payload: JwtPayload): Promise {\n\t\tconst { accountId, jti } = payload;\n\t\t// check user exists\n\t\ttry {\n\t\t\t// TODO: check user/account is active and has one role\n\t\t\t// check jwt is whitelisted and extend whitelist entry\n\t\t\tawait this.jwtValidationAdapter.isWhitelisted(accountId, jti);\n\t\t\tconst currentUser = CurrentUserMapper.jwtToICurrentUser(payload);\n\t\t\treturn currentUser;\n\t\t} catch (err) {\n\t\t\tthrow new UnauthorizedException('Unauthorized.', { cause: err as Error });\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/JwtTestFactory.html":{"url":"classes/JwtTestFactory.html","title":"class - JwtTestFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n JwtTestFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/jwt.test.factory.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n createJwt\n \n \n Static\n getPublicKey\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n createJwt\n \n \n \n \n \n \n \n createJwt(params?: CreateJwtParams)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/jwt.test.factory.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n CreateJwtParams\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n getPublicKey\n \n \n \n \n \n \n \n getPublicKey()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/jwt.test.factory.ts:18\n \n \n\n\n \n \n\n \n Returns : string | Buffer\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import jwt from 'jsonwebtoken';\nimport crypto, { KeyPairKeyObjectResult } from 'crypto';\n\nconst keyPair: KeyPairKeyObjectResult = crypto.generateKeyPairSync('rsa', { modulusLength: 4096 });\nconst publicKey: string | Buffer = keyPair.publicKey.export({ type: 'pkcs1', format: 'pem' });\nconst privateKey: string | Buffer = keyPair.privateKey.export({ type: 'pkcs1', format: 'pem' });\n\ninterface CreateJwtParams {\n\tprivateKey?: string | Buffer;\n\tsub?: string;\n\tiss?: string;\n\taud?: string;\n\taccountId?: string;\n\texternal_sub?: string;\n}\n\nexport class JwtTestFactory {\n\tpublic static getPublicKey(): string | Buffer {\n\t\treturn publicKey;\n\t}\n\n\tpublic static createJwt(params?: CreateJwtParams): string {\n\t\tconst validJwt = jwt.sign(\n\t\t\t{\n\t\t\t\tsub: params?.sub ?? 'testUser',\n\t\t\t\tiss: params?.iss ?? 'issuer',\n\t\t\t\taud: params?.aud ?? 'audience',\n\t\t\t\tjti: 'jti',\n\t\t\t\tiat: Date.now(),\n\t\t\t\texp: Date.now() + 100000,\n\t\t\t\taccountId: params?.accountId ?? 'accountId',\n\t\t\t\texternal_sub: params?.external_sub ?? 'externalSub',\n\t\t\t},\n\t\t\tparams?.privateKey ?? privateKey,\n\t\t\t{\n\t\t\t\talgorithm: 'RS256',\n\t\t\t}\n\t\t);\n\t\treturn validJwt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/JwtValidationAdapter.html":{"url":"injectables/JwtValidationAdapter.html","title":"injectable - JwtValidationAdapter","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n JwtValidationAdapter\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/strategy/jwt-validation.adapter.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n addToWhitelist\n \n \n Async\n isWhitelisted\n \n \n Async\n removeFromWhitelist\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(cacheManager: Cache, cacheService: CacheService)\n \n \n \n \n Defined in apps/server/src/modules/authentication/strategy/jwt-validation.adapter.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n cacheManager\n \n \n Cache\n \n \n \n No\n \n \n \n \n cacheService\n \n \n CacheService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n addToWhitelist\n \n \n \n \n \n \n \n addToWhitelist(accountId: string, jti: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/jwt-validation.adapter.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountId\n \n string\n \n\n \n No\n \n\n\n \n \n jti\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n isWhitelisted\n \n \n \n \n \n \n \n isWhitelisted(accountId: string, jti: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/jwt-validation.adapter.ts:25\n \n \n\n\n \n \n When validating a jwt it must be added to a whitelist, here we check this.\nWhen the jwt is validated, the expiration time will be extended with this call.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n accountId\n \n string\n \n\n \n No\n \n\n\n \n users account id\n\n \n \n \n jti\n \n string\n \n\n \n No\n \n\n\n \n jwt id (here required to make jwt identifiers identical in redis)\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n removeFromWhitelist\n \n \n \n \n \n \n \n removeFromWhitelist(accountId: string, jti: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/jwt-validation.adapter.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountId\n \n string\n \n\n \n No\n \n\n\n \n \n jti\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CACHE_MANAGER } from '@nestjs/cache-manager';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { CacheService } from '@infra/cache';\nimport { CacheStoreType } from '@infra/cache/interface/cache-store-type.enum';\nimport {\n\taddTokenToWhitelist,\n\tcreateRedisIdentifierFromJwtData,\n\tensureTokenIsWhitelisted,\n} from '@src/imports-from-feathers';\nimport { Cache } from 'cache-manager';\n\n@Injectable()\nexport class JwtValidationAdapter {\n\tconstructor(\n\t\t@Inject(CACHE_MANAGER) private readonly cacheManager: Cache,\n\t\tprivate readonly cacheService: CacheService\n\t) {}\n\n\t/**\n\t * When validating a jwt it must be added to a whitelist, here we check this.\n\t * When the jwt is validated, the expiration time will be extended with this call.\n\t * @param accountId users account id\n\t * @param jti jwt id (here required to make jwt identifiers identical in redis)\n\t */\n\tasync isWhitelisted(accountId: string, jti: string): Promise {\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-call\n\t\tawait ensureTokenIsWhitelisted({ accountId, jti, privateDevice: false });\n\t}\n\n\tasync addToWhitelist(accountId: string, jti: string): Promise {\n\t\tconst redisIdentifier = createRedisIdentifierFromJwtData(accountId, jti);\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-call\n\t\tawait addTokenToWhitelist(redisIdentifier);\n\t}\n\n\tasync removeFromWhitelist(accountId: string, jti: string): Promise {\n\t\tif (this.cacheService.getStoreType() === CacheStoreType.REDIS) {\n\t\t\tconst redisIdentifier: string = createRedisIdentifierFromJwtData(accountId, jti);\n\t\t\tawait this.cacheManager.del(redisIdentifier);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/KeycloakAdministration.html":{"url":"classes/KeycloakAdministration.html","title":"class - KeycloakAdministration","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n KeycloakAdministration\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-administration/keycloak-config.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n keycloakSettings\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n keycloakSettings\n \n \n \n \n \n \n Default value : (Configuration.get('FEATURE_IDENTITY_MANAGEMENT_ENABLED') as boolean)\n\t\t? ({\n\t\t\t\tbaseUrl: Configuration.get('IDENTITY_MANAGEMENT__URI') as string,\n\t\t\t\trealmName: Configuration.get('IDENTITY_MANAGEMENT__TENANT') as string,\n\t\t\t\tclientId: Configuration.get('IDENTITY_MANAGEMENT__CLIENTID') as string,\n\t\t\t\tcredentials: {\n\t\t\t\t\tgrantType: 'password',\n\t\t\t\t\tusername: Configuration.get('IDENTITY_MANAGEMENT__ADMIN_USER') as string,\n\t\t\t\t\tpassword: Configuration.get('IDENTITY_MANAGEMENT__ADMIN_PASSWORD') as string,\n\t\t\t\t\tclientId: Configuration.get('IDENTITY_MANAGEMENT__ADMIN_CLIENTID') as string,\n\t\t\t\t},\n\t\t } as IKeycloakSettings)\n\t\t: ({} as IKeycloakSettings)\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/keycloak-config.ts:5\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { IKeycloakSettings } from './interface/keycloak-settings.interface';\n\nexport default class KeycloakAdministration {\n\tstatic keycloakSettings = (Configuration.get('FEATURE_IDENTITY_MANAGEMENT_ENABLED') as boolean)\n\t\t? ({\n\t\t\t\tbaseUrl: Configuration.get('IDENTITY_MANAGEMENT__URI') as string,\n\t\t\t\trealmName: Configuration.get('IDENTITY_MANAGEMENT__TENANT') as string,\n\t\t\t\tclientId: Configuration.get('IDENTITY_MANAGEMENT__CLIENTID') as string,\n\t\t\t\tcredentials: {\n\t\t\t\t\tgrantType: 'password',\n\t\t\t\t\tusername: Configuration.get('IDENTITY_MANAGEMENT__ADMIN_USER') as string,\n\t\t\t\t\tpassword: Configuration.get('IDENTITY_MANAGEMENT__ADMIN_PASSWORD') as string,\n\t\t\t\t\tclientId: Configuration.get('IDENTITY_MANAGEMENT__ADMIN_CLIENTID') as string,\n\t\t\t\t},\n\t\t } as IKeycloakSettings)\n\t\t: ({} as IKeycloakSettings);\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/KeycloakAdministrationModule.html":{"url":"modules/KeycloakAdministrationModule.html","title":"module - KeycloakAdministrationModule","body":"\n \n\n\n\n\n Modules\n KeycloakAdministrationModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_KeycloakAdministrationModule\n\n\n\ncluster_KeycloakAdministrationModule_exports\n\n\n\ncluster_KeycloakAdministrationModule_providers\n\n\n\n\nKeycloakAdministrationService \n\nKeycloakAdministrationService \n\n\n\nKeycloakAdministrationModule\n\nKeycloakAdministrationModule\n\nKeycloakAdministrationService -->\n\nKeycloakAdministrationModule->KeycloakAdministrationService \n\n\n\n\n\nKeycloakAdministrationService\n\nKeycloakAdministrationService\n\nKeycloakAdministrationModule -->\n\nKeycloakAdministrationService->KeycloakAdministrationModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-administration/keycloak-administration.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n KeycloakAdministrationService\n \n \n \n \n Exports\n \n \n KeycloakAdministrationService\n \n \n \n \n \n\n\n \n\n\n \n import KeycloakAdminClient from '@keycloak/keycloak-admin-client-cjs/keycloak-admin-client-cjs-index';\nimport { Module } from '@nestjs/common';\nimport { KeycloakSettings } from './interface/keycloak-settings.interface';\nimport KeycloakConfiguration from './keycloak-config';\nimport { KeycloakAdministrationService } from './service/keycloak-administration.service';\n\n@Module({\n\tcontrollers: [],\n\tproviders: [\n\t\tKeycloakAdminClient,\n\t\t{\n\t\t\tprovide: KeycloakSettings,\n\t\t\tuseValue: KeycloakConfiguration.keycloakSettings,\n\t\t},\n\t\tKeycloakAdministrationService,\n\t],\n\texports: [KeycloakAdministrationService],\n})\nexport class KeycloakAdministrationModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/KeycloakAdministrationService.html":{"url":"injectables/KeycloakAdministrationService.html","title":"injectable - KeycloakAdministrationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n KeycloakAdministrationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n AUTHORIZATION_TIMEBOX_MS\n \n \n Private\n lastAuthorizationTime\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n authorizeAccess\n \n \n Public\n Async\n callKcAdminClient\n \n \n Public\n getAdminUser\n \n \n Public\n getClientId\n \n \n Public\n Async\n getClientSecret\n \n \n Public\n getWellKnownUrl\n \n \n Public\n resetLastAuthorizationTime\n \n \n Public\n Async\n setPasswordPolicy\n \n \n Public\n Async\n testKcConnection\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \n Public\n constructor(kcAdminClient: KeycloakAdminClient, kcSettings: IKeycloakSettings)\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n kcAdminClient\n \n \n KeycloakAdminClient\n \n \n \n No\n \n \n \n \n kcSettings\n \n \n IKeycloakSettings\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n authorizeAccess\n \n \n \n \n \n \n \n authorizeAccess()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:66\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n callKcAdminClient\n \n \n \n \n \n \n \n callKcAdminClient()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:21\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n getAdminUser\n \n \n \n \n \n \n \n getAdminUser()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:39\n \n \n\n\n \n \n\n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n getClientId\n \n \n \n \n \n \n \n getClientId()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:43\n \n \n\n\n \n \n\n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getClientSecret\n \n \n \n \n \n \n \n getClientSecret()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:47\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n getWellKnownUrl\n \n \n \n \n \n \n \n getWellKnownUrl()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:35\n \n \n\n\n \n \n\n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n resetLastAuthorizationTime\n \n \n \n \n \n \n \n resetLastAuthorizationTime()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:62\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n setPasswordPolicy\n \n \n \n \n \n \n \n setPasswordPolicy()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:57\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n testKcConnection\n \n \n \n \n \n \n \n testKcConnection()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:26\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n AUTHORIZATION_TIMEBOX_MS\n \n \n \n \n \n \n Default value : 59 * 1000\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n lastAuthorizationTime\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-administration/service/keycloak-administration.service.ts:7\n \n \n\n\n \n \n\n\n \n\n\n \n import KeycloakAdminClient from '@keycloak/keycloak-admin-client-cjs/keycloak-admin-client-cjs-index';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { IKeycloakSettings, KeycloakSettings } from '../interface/keycloak-settings.interface';\n\n@Injectable()\nexport class KeycloakAdministrationService {\n\tprivate lastAuthorizationTime = 0;\n\n\tprivate static AUTHORIZATION_TIMEBOX_MS = 59 * 1000;\n\n\tpublic constructor(\n\t\tprivate readonly kcAdminClient: KeycloakAdminClient,\n\t\t@Inject(KeycloakSettings) private readonly kcSettings: IKeycloakSettings\n\t) {\n\t\tthis.kcAdminClient.setConfig({\n\t\t\tbaseUrl: kcSettings.baseUrl,\n\t\t\trealmName: kcSettings.realmName,\n\t\t});\n\t}\n\n\tpublic async callKcAdminClient(): Promise {\n\t\tawait this.authorizeAccess();\n\t\treturn this.kcAdminClient;\n\t}\n\n\tpublic async testKcConnection(): Promise {\n\t\ttry {\n\t\t\tawait this.kcAdminClient.auth(this.kcSettings.credentials);\n\t\t} catch (err) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t}\n\n\tpublic getWellKnownUrl(): string {\n\t\treturn `${this.kcSettings.baseUrl}/realms/${this.kcSettings.realmName}/.well-known/openid-configuration`;\n\t}\n\n\tpublic getAdminUser(): string {\n\t\treturn this.kcSettings.credentials.username;\n\t}\n\n\tpublic getClientId(): string {\n\t\treturn this.kcSettings.clientId;\n\t}\n\n\tpublic async getClientSecret(): Promise {\n\t\tconst kc = await this.callKcAdminClient();\n\t\tconst clientInternalId = (await kc.clients.find({ clientId: this.kcSettings.clientId }))[0]?.id;\n\t\tif (clientInternalId) {\n\t\t\tconst clientSecret = await kc.clients.getClientSecret({ id: clientInternalId });\n\t\t\treturn clientSecret.value ?? '';\n\t\t}\n\t\treturn '';\n\t}\n\n\tpublic async setPasswordPolicy() {\n\t\tconst kc = await this.callKcAdminClient();\n\t\tawait kc.realms.update({ realm: this.kcSettings.realmName }, { passwordPolicy: 'hashIterations(310000)' });\n\t}\n\n\tpublic resetLastAuthorizationTime(): void {\n\t\tthis.lastAuthorizationTime = 0;\n\t}\n\n\tprivate async authorizeAccess() {\n\t\tconst elapsedTimeMilliseconds = new Date().getTime() - this.lastAuthorizationTime;\n\t\tif (elapsedTimeMilliseconds > KeycloakAdministrationService.AUTHORIZATION_TIMEBOX_MS) {\n\t\t\tawait this.kcAdminClient.auth(this.kcSettings.credentials);\n\t\t\tthis.lastAuthorizationTime = new Date().getTime();\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/KeycloakConfiguration.html":{"url":"classes/KeycloakConfiguration.html","title":"class - KeycloakConfiguration","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n KeycloakConfiguration\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/keycloak-config.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n keycloakInputFiles\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n keycloakInputFiles\n \n \n \n \n \n \n Type : IKeycloakConfigurationInputFiles\n\n \n \n \n \n Default value : {\n\t\taccountsFile: './backup/setup/accounts.json',\n\t\tusersFile: './backup/setup/users.json',\n\t}\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/keycloak-config.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IKeycloakConfigurationInputFiles } from './interface/keycloak-configuration-input-files.interface';\n\nexport default class KeycloakConfiguration {\n\tstatic keycloakInputFiles: IKeycloakConfigurationInputFiles = {\n\t\taccountsFile: './backup/setup/accounts.json',\n\t\tusersFile: './backup/setup/users.json',\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/KeycloakConfigurationModule.html":{"url":"modules/KeycloakConfigurationModule.html","title":"module - KeycloakConfigurationModule","body":"\n \n\n\n\n\n Modules\n KeycloakConfigurationModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_KeycloakConfigurationModule\n\n\n\ncluster_KeycloakConfigurationModule_providers\n\n\n\ncluster_KeycloakConfigurationModule_exports\n\n\n\ncluster_KeycloakConfigurationModule_imports\n\n\n\n\nAccountModule\n\nAccountModule\n\n\n\nKeycloakConfigurationModule\n\nKeycloakConfigurationModule\n\nKeycloakConfigurationModule -->\n\nAccountModule->KeycloakConfigurationModule\n\n\n\n\n\nConsoleWriterModule\n\nConsoleWriterModule\n\nKeycloakConfigurationModule -->\n\nConsoleWriterModule->KeycloakConfigurationModule\n\n\n\n\n\nEncryptionModule\n\nEncryptionModule\n\nKeycloakConfigurationModule -->\n\nEncryptionModule->KeycloakConfigurationModule\n\n\n\n\n\nKeycloakAdministrationModule\n\nKeycloakAdministrationModule\n\nKeycloakConfigurationModule -->\n\nKeycloakAdministrationModule->KeycloakConfigurationModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nKeycloakConfigurationModule -->\n\nLoggerModule->KeycloakConfigurationModule\n\n\n\n\n\nSystemModule\n\nSystemModule\n\nKeycloakConfigurationModule -->\n\nSystemModule->KeycloakConfigurationModule\n\n\n\n\n\nKeycloakConfigurationService \n\nKeycloakConfigurationService \n\nKeycloakConfigurationService -->\n\nKeycloakConfigurationModule->KeycloakConfigurationService \n\n\n\n\n\nKeycloakConsole \n\nKeycloakConsole \n\nKeycloakConsole -->\n\nKeycloakConfigurationModule->KeycloakConsole \n\n\n\n\n\nKeycloakSeedService \n\nKeycloakSeedService \n\nKeycloakSeedService -->\n\nKeycloakConfigurationModule->KeycloakSeedService \n\n\n\n\n\nKeycloakConfigurationService\n\nKeycloakConfigurationService\n\nKeycloakConfigurationModule -->\n\nKeycloakConfigurationService->KeycloakConfigurationModule\n\n\n\n\n\nKeycloakConfigurationUc\n\nKeycloakConfigurationUc\n\nKeycloakConfigurationModule -->\n\nKeycloakConfigurationUc->KeycloakConfigurationModule\n\n\n\n\n\nKeycloakMigrationService\n\nKeycloakMigrationService\n\nKeycloakConfigurationModule -->\n\nKeycloakMigrationService->KeycloakConfigurationModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/keycloak-configuration.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n KeycloakConfigurationService\n \n \n KeycloakConfigurationUc\n \n \n KeycloakMigrationService\n \n \n \n \n Controllers\n \n \n KeycloakManagementController\n \n \n \n \n Imports\n \n \n AccountModule\n \n \n ConsoleWriterModule\n \n \n EncryptionModule\n \n \n KeycloakAdministrationModule\n \n \n LoggerModule\n \n \n SystemModule\n \n \n \n \n Exports\n \n \n KeycloakConfigurationService\n \n \n KeycloakConsole\n \n \n KeycloakSeedService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { EncryptionModule } from '@infra/encryption';\nimport { ConsoleWriterModule } from '@infra/console';\nimport { AccountModule } from '@modules/account';\nimport { SystemModule } from '@modules/system';\nimport { KeycloakAdministrationModule } from '../keycloak-administration/keycloak-administration.module';\nimport { KeycloakConsole } from './console/keycloak-configuration.console';\nimport { KeycloakConfigurationInputFiles } from './interface/keycloak-configuration-input-files.interface';\nimport KeycloakConfiguration from './keycloak-config';\nimport { OidcIdentityProviderMapper } from './mapper/identity-provider.mapper';\nimport { KeycloakConfigurationService } from './service/keycloak-configuration.service';\nimport { KeycloakSeedService } from './service/keycloak-seed.service';\nimport { KeycloakConfigurationUc } from './uc/keycloak-configuration.uc';\nimport { KeycloakManagementController } from './controller/keycloak-configuration.controller';\nimport { KeycloakMigrationService } from './service/keycloak-migration.service';\n\n@Module({\n\timports: [\n\t\tKeycloakAdministrationModule,\n\t\tLoggerModule,\n\t\tEncryptionModule,\n\t\tConsoleWriterModule,\n\t\tSystemModule,\n\t\tAccountModule,\n\t],\n\tcontrollers: [KeycloakManagementController],\n\tproviders: [\n\t\t{\n\t\t\tprovide: KeycloakConfigurationInputFiles,\n\t\t\tuseValue: KeycloakConfiguration.keycloakInputFiles,\n\t\t},\n\t\tOidcIdentityProviderMapper,\n\t\tKeycloakConfigurationUc,\n\t\tKeycloakConfigurationService,\n\t\tKeycloakMigrationService,\n\t\tKeycloakSeedService,\n\t\tKeycloakConsole,\n\t],\n\texports: [KeycloakConsole, KeycloakConfigurationService, KeycloakSeedService],\n})\nexport class KeycloakConfigurationModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/KeycloakConfigurationService.html":{"url":"injectables/KeycloakConfigurationService.html","title":"injectable - KeycloakConfigurationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n KeycloakConfigurationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-configuration.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n addClientProtocolMappers\n \n \n Public\n Async\n configureBrokerFlows\n \n \n Public\n Async\n configureClient\n \n \n Public\n Async\n configureIdentityProviders\n \n \n Async\n configureRealm\n \n \n Private\n Async\n createIdentityProvider\n \n \n Private\n Async\n createIdpDefaultMapper\n \n \n Private\n Async\n deleteIdentityProvider\n \n \n Private\n getExternalSubClientMapperConfiguration\n \n \n Private\n getIdpMapperConfiguration\n \n \n Private\n selectConfigureAction\n \n \n Private\n Async\n updateIdentityProvider\n \n \n Private\n Async\n updateOrCreateIdpDefaultMapper\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(kcAdmin: KeycloakAdministrationService, configService: ConfigService, oidcIdentityProviderMapper: OidcIdentityProviderMapper, systemOidcService: SystemOidcService)\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-configuration.service.ts:26\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n kcAdmin\n \n \n KeycloakAdministrationService\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n oidcIdentityProviderMapper\n \n \n OidcIdentityProviderMapper\n \n \n \n No\n \n \n \n \n systemOidcService\n \n \n SystemOidcService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n addClientProtocolMappers\n \n \n \n \n \n \n \n addClientProtocolMappers(defaultClientInternalId: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-configuration.service.ts:167\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n defaultClientInternalId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n configureBrokerFlows\n \n \n \n \n \n \n \n configureBrokerFlows()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-configuration.service.ts:34\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n configureClient\n \n \n \n \n \n \n \n configureClient()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-configuration.service.ts:108\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n configureIdentityProviders\n \n \n \n \n \n \n \n configureIdentityProviders()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-configuration.service.ts:128\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n configureRealm\n \n \n \n \n \n \n \n configureRealm()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-configuration.service.ts:155\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createIdentityProvider\n \n \n \n \n \n \n \n createIdentityProvider(oidcConfig: OidcConfigDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-configuration.service.ts:214\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oidcConfig\n \n OidcConfigDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createIdpDefaultMapper\n \n \n \n \n \n \n \n createIdpDefaultMapper(idpAlias: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-configuration.service.ts:254\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n idpAlias\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n deleteIdentityProvider\n \n \n \n \n \n \n \n deleteIdentityProvider(alias: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-configuration.service.ts:235\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n alias\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getExternalSubClientMapperConfiguration\n \n \n \n \n \n \n \n getExternalSubClientMapperConfiguration()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-configuration.service.ts:277\n \n \n\n\n \n \n\n \n Returns : ProtocolMapperRepresentation\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n getIdpMapperConfiguration\n \n \n \n \n \n \n \n getIdpMapperConfiguration(idpAlias: string, id?: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-configuration.service.ts:262\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n idpAlias\n \n string\n \n\n \n No\n \n\n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : IdentityProviderMapperRepresentation\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n selectConfigureAction\n \n \n \n \n \n \n \n selectConfigureAction(newConfigs: OidcConfigDto[], oldConfigs: IdentityProviderRepresentation[])\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-configuration.service.ts:191\n \n \n\n\n \n \n decides for each system if it needs to be added, updated or deleted in keycloak\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n newConfigs\n \n OidcConfigDto[]\n \n\n \n No\n \n\n\n \n \n oldConfigs\n \n IdentityProviderRepresentation[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : {}\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n updateIdentityProvider\n \n \n \n \n \n \n \n updateIdentityProvider(oidcConfig: OidcConfigDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-configuration.service.ts:224\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oidcConfig\n \n OidcConfigDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n updateOrCreateIdpDefaultMapper\n \n \n \n \n \n \n \n updateOrCreateIdpDefaultMapper(idpAlias: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-configuration.service.ts:240\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n idpAlias\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import AuthenticationExecutionInfoRepresentation from '@keycloak/keycloak-admin-client/lib/defs/authenticationExecutionInfoRepresentation';\nimport AuthenticationFlowRepresentation from '@keycloak/keycloak-admin-client/lib/defs/authenticationFlowRepresentation';\nimport ClientRepresentation from '@keycloak/keycloak-admin-client/lib/defs/clientRepresentation';\nimport IdentityProviderMapperRepresentation from '@keycloak/keycloak-admin-client/lib/defs/identityProviderMapperRepresentation';\nimport IdentityProviderRepresentation from '@keycloak/keycloak-admin-client/lib/defs/identityProviderRepresentation';\nimport ProtocolMapperRepresentation from '@keycloak/keycloak-admin-client/lib/defs/protocolMapperRepresentation';\nimport { ServerConfig } from '@modules/server/server.config';\nimport { OidcConfigDto } from '@modules/system/service';\nimport { SystemOidcService } from '@modules/system/service/system-oidc.service';\nimport { Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { KeycloakAdministrationService } from '../../keycloak-administration/service/keycloak-administration.service';\nimport { OidcIdentityProviderMapper } from '../mapper/identity-provider.mapper';\n\nenum ConfigureAction {\n\tCREATE = 'create',\n\tUPDATE = 'update',\n\tDELETE = 'delete',\n}\n\nconst flowAlias = 'Direct Broker Flow';\nconst oidcUserAttributeMapperName = 'OIDC User Attribute Mapper';\nconst oidcExternalSubMapperName = 'External Sub Mapper';\n\n@Injectable()\nexport class KeycloakConfigurationService {\n\tconstructor(\n\t\tprivate readonly kcAdmin: KeycloakAdministrationService,\n\t\tprivate readonly configService: ConfigService,\n\t\tprivate readonly oidcIdentityProviderMapper: OidcIdentityProviderMapper,\n\t\tprivate readonly systemOidcService: SystemOidcService\n\t) {}\n\n\tpublic async configureBrokerFlows(): Promise {\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tconst executionProviders = ['idp-create-user-if-unique', 'idp-auto-link'];\n\t\tconst getFlowsRequest = kc.realms.makeRequest({\n\t\t\tmethod: 'GET',\n\t\t\tpath: '/{realmName}/authentication/flows',\n\t\t\turlParamKeys: ['realmName'],\n\t\t});\n\t\tconst flows = await getFlowsRequest({ realmName: kc.realmName });\n\t\tconst flow = flows.find((tempFlow) => tempFlow.alias === flowAlias);\n\t\tif (flow && flow.id) {\n\t\t\treturn;\n\t\t}\n\t\tconst createFlowRequest = kc.realms.makeRequest({\n\t\t\tmethod: 'POST',\n\t\t\tpath: '/{realmName}/authentication/flows',\n\t\t\turlParamKeys: ['realmName'],\n\t\t});\n\t\tconst getFlowExecutionsRequest = kc.realms.makeRequest({\n\t\t\tmethod: 'GET',\n\t\t\tpath: '/{realmName}/authentication/flows/{flowAlias}/executions',\n\t\t\turlParamKeys: ['realmName', 'flowAlias'],\n\t\t});\n\t\tconst addExecutionRequest = kc.realms.makeRequest(\n\t\t\t{\n\t\t\t\tmethod: 'POST',\n\t\t\t\tpath: '/{realmName}/authentication/flows/{flowAlias}/executions/execution',\n\t\t\t\turlParamKeys: ['realmName', 'flowAlias'],\n\t\t\t}\n\t\t);\n\t\tconst updateExecutionRequest = kc.realms.makeRequest({\n\t\t\tmethod: 'PUT',\n\t\t\tpath: '/{realmName}/authentication/flows/{flowAlias}/executions',\n\t\t\turlParamKeys: ['realmName', 'flowAlias'],\n\t\t});\n\t\tawait createFlowRequest({\n\t\t\trealmName: kc.realmName,\n\t\t\talias: flowAlias,\n\t\t\tdescription: 'First broker login which automatically creates or maps accounts.',\n\t\t\tproviderId: 'basic-flow',\n\t\t\ttopLevel: true,\n\t\t\tbuiltIn: false,\n\t\t});\n\t\t// eslint-disable-next-line no-restricted-syntax\n\t\tfor (const executionProvider of executionProviders) {\n\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\tawait addExecutionRequest({\n\t\t\t\trealmName: kc.realmName,\n\t\t\t\tflowAlias,\n\t\t\t\tprovider: executionProvider,\n\t\t\t});\n\t\t}\n\t\tconst executions = await getFlowExecutionsRequest({\n\t\t\trealmName: kc.realmName,\n\t\t\tflowAlias,\n\t\t});\n\t\t// eslint-disable-next-line no-restricted-syntax\n\t\tfor (const execution of executions) {\n\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\tawait updateExecutionRequest({\n\t\t\t\trealmName: kc.realmName,\n\t\t\t\tflowAlias,\n\t\t\t\tid: execution.id,\n\t\t\t\trequirement: 'ALTERNATIVE',\n\t\t\t});\n\t\t}\n\t}\n\n\tpublic async configureClient(): Promise {\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tconst scDomain = this.configService.get('SC_DOMAIN');\n\t\tconst redirectUri = scDomain === 'localhost' ? 'http://localhost:3030/' : `https://${scDomain}/`;\n\t\tconst cr: ClientRepresentation = {\n\t\t\tclientId: this.kcAdmin.getClientId(),\n\t\t\tenabled: true,\n\t\t\tprotocol: 'openid-connect',\n\t\t\tpublicClient: false,\n\t\t\tredirectUris: [`${redirectUri}*`],\n\t\t};\n\t\tlet defaultClientInternalId = (await kc.clients.find({ clientId: this.kcAdmin.getClientId() }))[0]?.id;\n\t\tif (!defaultClientInternalId) {\n\t\t\t({ id: defaultClientInternalId } = await kc.clients.create(cr));\n\t\t} else {\n\t\t\tawait kc.clients.update({ id: defaultClientInternalId }, cr);\n\t\t}\n\t\tawait this.addClientProtocolMappers(defaultClientInternalId);\n\t}\n\n\tpublic async configureIdentityProviders(): Promise {\n\t\tlet count = 0;\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tconst oldConfigs = await kc.identityProviders.find();\n\t\tconst newConfigs = await this.systemOidcService.findAll();\n\t\tconst configureActions = this.selectConfigureAction(newConfigs, oldConfigs);\n\t\t// eslint-disable-next-line no-restricted-syntax\n\t\tfor (const configureAction of configureActions) {\n\t\t\tif (configureAction.action === ConfigureAction.CREATE) {\n\t\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\t\tawait this.createIdentityProvider(configureAction.config);\n\t\t\t\tcount += 1;\n\t\t\t}\n\t\t\tif (configureAction.action === ConfigureAction.UPDATE) {\n\t\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\t\tawait this.updateIdentityProvider(configureAction.config);\n\t\t\t\tcount += 1;\n\t\t\t}\n\t\t\tif (configureAction.action === ConfigureAction.DELETE) {\n\t\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\t\tawait this.deleteIdentityProvider(configureAction.alias);\n\t\t\t\tcount += 1;\n\t\t\t}\n\t\t}\n\t\treturn count;\n\t}\n\n\tasync configureRealm(): Promise {\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tawait kc.realms.update(\n\t\t\t{\n\t\t\t\trealm: kc.realmName,\n\t\t\t},\n\t\t\t{\n\t\t\t\teditUsernameAllowed: true,\n\t\t\t}\n\t\t);\n\t}\n\n\tprivate async addClientProtocolMappers(defaultClientInternalId: string) {\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tconst allMappers = await kc.clients.listProtocolMappers({ id: defaultClientInternalId });\n\t\tconst defaultMapper = allMappers.find((mapper) => mapper.name === oidcExternalSubMapperName);\n\t\tif (defaultMapper?.id) {\n\t\t\tawait kc.clients.updateProtocolMapper(\n\t\t\t\t{ id: defaultClientInternalId, mapperId: defaultMapper?.id },\n\t\t\t\t{ ...this.getExternalSubClientMapperConfiguration(), id: defaultMapper?.id }\n\t\t\t);\n\t\t} else {\n\t\t\tawait kc.clients.addProtocolMapper(\n\t\t\t\t{ id: defaultClientInternalId },\n\t\t\t\tthis.getExternalSubClientMapperConfiguration()\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * decides for each system if it needs to be added, updated or deleted in keycloak\n\t *\n\t * @param newConfigs\n\t * @param oldConfigs\n\t * @returns\n\t */\n\tprivate selectConfigureAction(newConfigs: OidcConfigDto[], oldConfigs: IdentityProviderRepresentation[]) {\n\t\tconst result = [] as (\n\t\t\t| { action: ConfigureAction.CREATE; config: OidcConfigDto }\n\t\t\t| { action: ConfigureAction.UPDATE; config: OidcConfigDto }\n\t\t\t| { action: ConfigureAction.DELETE; alias: string }\n\t\t)[];\n\t\t// updating or creating configs\n\t\tnewConfigs.forEach((newConfig) => {\n\t\t\tif (oldConfigs.some((oldConfig) => oldConfig.alias === newConfig.idpHint)) {\n\t\t\t\tresult.push({ action: ConfigureAction.UPDATE, config: newConfig });\n\t\t\t} else {\n\t\t\t\tresult.push({ action: ConfigureAction.CREATE, config: newConfig });\n\t\t\t}\n\t\t});\n\t\t// deleting configs\n\t\toldConfigs.forEach((oldConfig) => {\n\t\t\tif (!newConfigs.some((newConfig) => newConfig.idpHint === oldConfig.alias)) {\n\t\t\t\tresult.push({ action: ConfigureAction.DELETE, alias: oldConfig.alias as string });\n\t\t\t}\n\t\t});\n\t\treturn result;\n\t}\n\n\tprivate async createIdentityProvider(oidcConfig: OidcConfigDto): Promise {\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tif (oidcConfig && oidcConfig?.idpHint) {\n\t\t\tawait kc.identityProviders.create(\n\t\t\t\tthis.oidcIdentityProviderMapper.mapToKeycloakIdentityProvider(oidcConfig, flowAlias)\n\t\t\t);\n\t\t\tawait this.createIdpDefaultMapper(oidcConfig.idpHint);\n\t\t}\n\t}\n\n\tprivate async updateIdentityProvider(oidcConfig: OidcConfigDto): Promise {\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tif (oidcConfig && oidcConfig?.idpHint) {\n\t\t\tawait kc.identityProviders.update(\n\t\t\t\t{ alias: oidcConfig.idpHint },\n\t\t\t\tthis.oidcIdentityProviderMapper.mapToKeycloakIdentityProvider(oidcConfig, flowAlias)\n\t\t\t);\n\t\t\tawait this.updateOrCreateIdpDefaultMapper(oidcConfig.idpHint);\n\t\t}\n\t}\n\n\tprivate async deleteIdentityProvider(alias: string): Promise {\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tawait kc.identityProviders.del({ alias });\n\t}\n\n\tprivate async updateOrCreateIdpDefaultMapper(idpAlias: string) {\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tconst allMappers = await kc.identityProviders.findMappers({ alias: idpAlias });\n\t\tconst defaultMapper = allMappers.find((mapper) => mapper.name === oidcUserAttributeMapperName);\n\t\tif (defaultMapper?.id) {\n\t\t\tawait kc.identityProviders.updateMapper(\n\t\t\t\t{ alias: idpAlias, id: defaultMapper.id },\n\t\t\t\tthis.getIdpMapperConfiguration(idpAlias, defaultMapper.id)\n\t\t\t);\n\t\t} else {\n\t\t\tawait this.createIdpDefaultMapper(idpAlias);\n\t\t}\n\t}\n\n\tprivate async createIdpDefaultMapper(idpAlias: string) {\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tawait kc.identityProviders.createMapper({\n\t\t\talias: idpAlias,\n\t\t\tidentityProviderMapper: this.getIdpMapperConfiguration(idpAlias),\n\t\t});\n\t}\n\n\tprivate getIdpMapperConfiguration(idpAlias: string, id?: string): IdentityProviderMapperRepresentation {\n\t\treturn {\n\t\t\tid,\n\t\t\tname: oidcUserAttributeMapperName,\n\t\t\tidentityProviderAlias: idpAlias,\n\t\t\tidentityProviderMapper: 'oidc-user-attribute-idp-mapper',\n\t\t\tconfig: {\n\t\t\t\tsyncMode: 'FORCE',\n\t\t\t\t'are.claim.values.regex': false,\n\t\t\t\tclaim: 'sub',\n\t\t\t\t'user.attribute': 'external_sub',\n\t\t\t},\n\t\t};\n\t}\n\n\tprivate getExternalSubClientMapperConfiguration(): ProtocolMapperRepresentation {\n\t\treturn {\n\t\t\tname: oidcExternalSubMapperName,\n\t\t\tprotocol: 'openid-connect',\n\t\t\tprotocolMapper: 'oidc-usermodel-attribute-mapper',\n\t\t\tconfig: {\n\t\t\t\t'aggregate.attrs': false,\n\t\t\t\t'userinfo.token.claim': true,\n\t\t\t\tmultivalued: false,\n\t\t\t\t'user.attribute': 'external_sub',\n\t\t\t\t'id.token.claim': true,\n\t\t\t\t'access.token.claim': true,\n\t\t\t\t'claim.name': 'external_sub',\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/KeycloakConfigurationUc.html":{"url":"injectables/KeycloakConfigurationUc.html","title":"injectable - KeycloakConfigurationUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n KeycloakConfigurationUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/uc/keycloak-configuration.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n check\n \n \n Public\n Async\n clean\n \n \n Async\n configure\n \n \n Public\n Async\n migrate\n \n \n Public\n Async\n seed\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(kcAdmin: KeycloakAdministrationService, keycloakConfigService: KeycloakConfigurationService, keycloakSeedService: KeycloakSeedService, keycloakMigrationService: KeycloakMigrationService)\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/uc/keycloak-configuration.uc.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n kcAdmin\n \n \n KeycloakAdministrationService\n \n \n \n No\n \n \n \n \n keycloakConfigService\n \n \n KeycloakConfigurationService\n \n \n \n No\n \n \n \n \n keycloakSeedService\n \n \n KeycloakSeedService\n \n \n \n No\n \n \n \n \n keycloakMigrationService\n \n \n KeycloakMigrationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n check\n \n \n \n \n \n \n \n check()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/uc/keycloak-configuration.uc.ts:16\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n clean\n \n \n \n \n \n \n \n clean(pageSize?: number)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/uc/keycloak-configuration.uc.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pageSize\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n configure\n \n \n \n \n \n \n \n configure()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/uc/keycloak-configuration.uc.ts:32\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n migrate\n \n \n \n \n \n \n \n migrate(skip?: number, verbose?: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/uc/keycloak-configuration.uc.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n skip\n \n number\n \n\n \n Yes\n \n\n\n \n \n verbose\n \n boolean\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n seed\n \n \n \n \n \n \n \n seed()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/uc/keycloak-configuration.uc.ts:24\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { KeycloakAdministrationService } from '../../keycloak-administration/service/keycloak-administration.service';\nimport { KeycloakConfigurationService } from '../service/keycloak-configuration.service';\nimport { KeycloakSeedService } from '../service/keycloak-seed.service';\nimport { KeycloakMigrationService } from '../service/keycloak-migration.service';\n\n@Injectable()\nexport class KeycloakConfigurationUc {\n\tconstructor(\n\t\tprivate readonly kcAdmin: KeycloakAdministrationService,\n\t\tprivate readonly keycloakConfigService: KeycloakConfigurationService,\n\t\tprivate readonly keycloakSeedService: KeycloakSeedService,\n\t\tprivate readonly keycloakMigrationService: KeycloakMigrationService\n\t) {}\n\n\tpublic async check(): Promise {\n\t\treturn this.kcAdmin.testKcConnection();\n\t}\n\n\tpublic async clean(pageSize?: number): Promise {\n\t\treturn this.keycloakSeedService.clean(pageSize);\n\t}\n\n\tpublic async seed(): Promise {\n\t\treturn this.keycloakSeedService.seed();\n\t}\n\n\tpublic async migrate(skip?: number, verbose?: boolean): Promise {\n\t\treturn this.keycloakMigrationService.migrate(skip, verbose);\n\t}\n\n\tasync configure(): Promise {\n\t\tawait this.kcAdmin.setPasswordPolicy();\n\t\tawait this.keycloakConfigService.configureClient();\n\t\tawait this.keycloakConfigService.configureBrokerFlows();\n\t\tawait this.keycloakConfigService.configureRealm();\n\t\treturn this.keycloakConfigService.configureIdentityProviders();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/KeycloakConsole.html":{"url":"classes/KeycloakConsole.html","title":"class - KeycloakConsole","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n KeycloakConsole\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n retryFlags\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n check\n \n \n \n Async\n clean\n \n \n \n Async\n configure\n \n \n Private\n delay\n \n \n \n Async\n migrate\n \n \n Private\n Async\n repeatCommand\n \n \n \n Async\n seed\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(console: ConsoleWriterService, keycloakConfigurationUc: KeycloakConfigurationUc, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts:23\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n console\n \n \n ConsoleWriterService\n \n \n \n No\n \n \n \n \n keycloakConfigurationUc\n \n \n KeycloakConfigurationUc\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n retryFlags\n \n \n \n \n \n \n Type : CommandOption[]\n\n \n \n \n \n Default value : [\n\t\t{\n\t\t\tflags: '-rc, --retry-count ',\n\t\t\tdescription: 'If the command fails, it will be retried this number of times. Default is no retry.',\n\t\t\trequired: false,\n\t\t\tdefaultValue: 1,\n\t\t},\n\t\t{\n\t\t\tflags: '-rd, --retry-delay ',\n\t\t\tdescription: 'If \"retry\" is active, this delay is used between each retry. Default is 10 seconds.',\n\t\t\trequired: false,\n\t\t\tdefaultValue: 10,\n\t\t},\n\t]\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts:32\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n check\n \n \n \n \n \n \n \n check()\n \n \n\n \n \n Decorators : \n \n @Command({command: 'check', description: 'Test the connection to the IDM.'})\n \n \n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts:51\n \n \n\n\n \n \n For local development. Checks if connection to IDM is working.\n\n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n clean\n \n \n \n \n \n \n \n clean(options)\n \n \n\n \n \n Decorators : \n \n @Command({command: 'clean', description: 'Remove all users from the IDM.', options: undefined})\n \n \n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts:77\n \n \n\n\n \n \n Cleans users from IDM\n\n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n options\n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n configure\n \n \n \n \n \n \n \n configure(options: RetryOptions)\n \n \n\n \n \n Decorators : \n \n @Command({command: 'configure', description: 'Configures Keycloak identity providers.', options: undefined})\n \n \n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts:121\n \n \n\n\n \n \n Used in production and for local development to transfer configuration to keycloak.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n RetryOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n delay\n \n \n \n \n \n \n \n delay(ms: number)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts:201\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n ms\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n migrate\n \n \n \n \n \n \n \n migrate(options)\n \n \n\n \n \n Decorators : \n \n @Command({command: 'migrate', description: 'Add all database users to the IDM.', options: undefined})\n \n \n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts:156\n \n \n\n\n \n \n For migration purpose. Moves all database accounts to the IDM\n\n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n options\n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n repeatCommand\n \n \n \n \n \n \n \n repeatCommand(commandName: string, command: () => void, count: number, delay: number)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts:172\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n commandName\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n command\n \n function\n \n\n \n No\n \n\n \n \n\n \n \n count\n \n number\n \n\n \n No\n \n\n \n 1\n \n\n \n \n delay\n \n number\n \n\n \n No\n \n\n \n 10\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n seed\n \n \n \n \n \n \n \n seed(options: RetryOptions)\n \n \n\n \n \n Decorators : \n \n @Command({command: 'seed', description: 'Add all seed users to the IDM.', options: undefined})\n \n \n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts:99\n \n \n\n\n \n \n For local development. Seeds user into IDM\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n RetryOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ConsoleWriterService } from '@infra/console';\nimport { LegacyLogger } from '@src/core/logger';\nimport { Command, CommandOption, Console } from 'nestjs-console';\nimport { KeycloakConfigurationUc } from '../uc/keycloak-configuration.uc';\n\nconst defaultError = new Error('IDM is not reachable or authentication failed.');\n\ninterface RetryOptions {\n\tretryCount?: number;\n\tretryDelay?: number;\n}\n\ninterface MigrationOptions {\n\tskip?: number;\n\tquery?: string;\n\tverbose?: boolean;\n}\n\ninterface CleanOptions {\n\tpageSize?: number;\n}\n@Console({ command: 'idm', description: 'Prefixes all Identity Management (IDM) related console commands.' })\nexport class KeycloakConsole {\n\tconstructor(\n\t\tprivate readonly console: ConsoleWriterService,\n\t\tprivate readonly keycloakConfigurationUc: KeycloakConfigurationUc,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(KeycloakConsole.name);\n\t}\n\n\tstatic retryFlags: CommandOption[] = [\n\t\t{\n\t\t\tflags: '-rc, --retry-count ',\n\t\t\tdescription: 'If the command fails, it will be retried this number of times. Default is no retry.',\n\t\t\trequired: false,\n\t\t\tdefaultValue: 1,\n\t\t},\n\t\t{\n\t\t\tflags: '-rd, --retry-delay ',\n\t\t\tdescription: 'If \"retry\" is active, this delay is used between each retry. Default is 10 seconds.',\n\t\t\trequired: false,\n\t\t\tdefaultValue: 10,\n\t\t},\n\t];\n\n\t/**\n\t * For local development. Checks if connection to IDM is working.\n\t */\n\t@Command({ command: 'check', description: 'Test the connection to the IDM.' })\n\tasync check(): Promise {\n\t\tif (await this.keycloakConfigurationUc.check()) {\n\t\t\tthis.console.info('Connected to IDM');\n\t\t} else {\n\t\t\tthrow defaultError;\n\t\t}\n\t}\n\n\t/**\n\t * Cleans users from IDM\n\t *\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'clean',\n\t\tdescription: 'Remove all users from the IDM.',\n\t\toptions: [\n\t\t\t...KeycloakConsole.retryFlags,\n\t\t\t{\n\t\t\t\tflags: '- mps, --maxPageSize ',\n\t\t\t\tdescription: 'Maximum users to delete per Keycloak API session. Default 100.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: 100,\n\t\t\t},\n\t\t],\n\t})\n\tasync clean(options: RetryOptions & CleanOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'clean',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.clean(options.pageSize ? Number(options.pageSize) : 100);\n\t\t\t\tthis.console.info(`Cleaned ${count} users in IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * For local development. Seeds user into IDM\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'seed',\n\t\tdescription: 'Add all seed users to the IDM.',\n\t\toptions: KeycloakConsole.retryFlags,\n\t})\n\tasync seed(options: RetryOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'seed',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.seed();\n\t\t\t\tthis.console.info(`Seeded ${count} users into IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * Used in production and for local development to transfer configuration to keycloak.\n\t *\n\t */\n\t@Command({\n\t\tcommand: 'configure',\n\t\tdescription: 'Configures Keycloak identity providers.',\n\t\toptions: [...KeycloakConsole.retryFlags],\n\t})\n\tasync configure(options: RetryOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'configure',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.configure();\n\t\t\t\tthis.console.info(`Configured ${count} identity provider(s).`);\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * For migration purpose. Moves all database accounts to the IDM\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'migrate',\n\t\tdescription: 'Add all database users to the IDM.',\n\t\toptions: [\n\t\t\t...KeycloakConsole.retryFlags,\n\t\t\t{\n\t\t\t\tflags: '-s, --skip',\n\t\t\t\tdescription: 'Skip the first \"s\" accounts during migration. Default 0.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: undefined,\n\t\t\t},\n\t\t\t{\n\t\t\t\tflags: '-v, --verbose',\n\t\t\t\tdescription: 'Log all events. Default is false.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: false,\n\t\t\t},\n\t\t],\n\t})\n\tasync migrate(options: RetryOptions & MigrationOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'migrate',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.migrate(\n\t\t\t\t\toptions.skip ? Number(options.skip) : undefined,\n\t\t\t\t\toptions.verbose ? Boolean(options.verbose) : false\n\t\t\t\t);\n\t\t\t\tthis.console.info(`Migrated ${count} users into IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\tprivate async repeatCommand(commandName: string, command: () => Promise, count = 1, delay = 10): Promise {\n\t\tlet repetitions = 0;\n\t\tlet error = new Error('error could be thrown if count is {\n\t\t\tsetTimeout(resolve, ms);\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/KeycloakIdentityManagementOauthService.html":{"url":"injectables/KeycloakIdentityManagementOauthService.html","title":"injectable - KeycloakIdentityManagementOauthService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n KeycloakIdentityManagementOauthService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak/service/keycloak-identity-management-oauth.service.ts\n \n\n\n\n \n Extends\n \n \n IdentityManagementOauthService\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _oauthConfigCache\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getOauthConfig\n \n \n Async\n isOauthConfigAvailable\n \n \n resetOauthConfigCache\n \n \n Async\n resourceOwnerPasswordGrant\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(kcAdminService: KeycloakAdministrationService, configService: ConfigService, httpService: HttpService, oAuthEncryptionService: EncryptionService)\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak/service/keycloak-identity-management-oauth.service.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n kcAdminService\n \n \n KeycloakAdministrationService\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n httpService\n \n \n HttpService\n \n \n \n No\n \n \n \n \n oAuthEncryptionService\n \n \n EncryptionService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getOauthConfig\n \n \n \n \n \n \n \n getOauthConfig()\n \n \n\n\n \n \n Inherited from IdentityManagementOauthService\n\n \n \n \n \n Defined in IdentityManagementOauthService:24\n\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n isOauthConfigAvailable\n \n \n \n \n \n \n \n isOauthConfigAvailable()\n \n \n\n\n \n \n Inherited from IdentityManagementOauthService\n\n \n \n \n \n Defined in IdentityManagementOauthService:54\n\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n resetOauthConfigCache\n \n \n \n \n \n \nresetOauthConfigCache()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak/service/keycloak-identity-management-oauth.service.ts:50\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n resourceOwnerPasswordGrant\n \n \n \n \n \n \n \n resourceOwnerPasswordGrant(username: string, password: string)\n \n \n\n\n \n \n Inherited from IdentityManagementOauthService\n\n \n \n \n \n Defined in IdentityManagementOauthService:61\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n password\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _oauthConfigCache\n \n \n \n \n \n \n Type : OauthConfigDto | undefined\n\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak/service/keycloak-identity-management-oauth.service.ts:13\n \n \n\n\n \n \n\n\n \n\n\n \n import { DefaultEncryptionService, EncryptionService } from '@infra/encryption';\nimport { OauthConfigDto } from '@modules/system/service/dto';\nimport { HttpService } from '@nestjs/axios';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport qs from 'qs';\nimport { lastValueFrom } from 'rxjs';\nimport { IdentityManagementOauthService } from '../../identity-management-oauth.service';\nimport { KeycloakAdministrationService } from '../../keycloak-administration/service/keycloak-administration.service';\n\n@Injectable()\nexport class KeycloakIdentityManagementOauthService extends IdentityManagementOauthService {\n\tprivate _oauthConfigCache: OauthConfigDto | undefined;\n\n\tconstructor(\n\t\tprivate readonly kcAdminService: KeycloakAdministrationService,\n\t\tprivate readonly configService: ConfigService,\n\t\tprivate readonly httpService: HttpService,\n\t\t@Inject(DefaultEncryptionService) private readonly oAuthEncryptionService: EncryptionService\n\t) {\n\t\tsuper();\n\t}\n\n\tasync getOauthConfig(): Promise {\n\t\tif (this._oauthConfigCache) {\n\t\t\treturn this._oauthConfigCache;\n\t\t}\n\t\tconst wellKnownUrl = this.kcAdminService.getWellKnownUrl();\n\t\tconst response = (await lastValueFrom(this.httpService.get>(wellKnownUrl))).data;\n\t\tconst scDomain = this.configService.get('SC_DOMAIN') || '';\n\t\tconst redirectUri =\n\t\t\tscDomain === 'localhost' ? 'http://localhost:3030/api/v3/sso/oauth/' : `https://${scDomain}/api/v3/sso/oauth/`;\n\t\tthis._oauthConfigCache = new OauthConfigDto({\n\t\t\tclientId: this.kcAdminService.getClientId(),\n\t\t\tclientSecret: this.oAuthEncryptionService.encrypt(await this.kcAdminService.getClientSecret()),\n\t\t\tprovider: 'oauth',\n\t\t\tredirectUri,\n\t\t\tresponseType: 'code',\n\t\t\tgrantType: 'authorization_code',\n\t\t\tscope: 'openid profile email',\n\t\t\tissuer: response.issuer as string,\n\t\t\ttokenEndpoint: response.token_endpoint as string,\n\t\t\tauthEndpoint: response.authorization_endpoint as string,\n\t\t\tlogoutEndpoint: response.end_session_endpoint as string,\n\t\t\tjwksEndpoint: response.jwks_uri as string,\n\t\t});\n\t\treturn this._oauthConfigCache;\n\t}\n\n\tresetOauthConfigCache(): void {\n\t\tthis._oauthConfigCache = undefined;\n\t}\n\n\tasync isOauthConfigAvailable(): Promise {\n\t\tif (this._oauthConfigCache) {\n\t\t\treturn true;\n\t\t}\n\t\treturn this.kcAdminService.testKcConnection();\n\t}\n\n\tasync resourceOwnerPasswordGrant(username: string, password: string): Promise {\n\t\tconst { clientId, clientSecret, tokenEndpoint } = await this.getOauthConfig();\n\t\tconst data = {\n\t\t\tusername,\n\t\t\tpassword,\n\t\t\tgrant_type: 'password',\n\t\t\tclient_id: clientId,\n\t\t\tclient_secret: this.oAuthEncryptionService.decrypt(clientSecret),\n\t\t};\n\t\ttry {\n\t\t\tconst response = await lastValueFrom(\n\t\t\t\tthis.httpService.request({\n\t\t\t\t\tmethod: 'post',\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'Content-Type': 'application/x-www-form-urlencoded',\n\t\t\t\t\t},\n\t\t\t\t\turl: tokenEndpoint,\n\t\t\t\t\tdata: qs.stringify(data),\n\t\t\t\t})\n\t\t\t);\n\t\t\treturn response.data.access_token;\n\t\t} catch (err) {\n\t\t\treturn undefined;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/KeycloakIdentityManagementService.html":{"url":"injectables/KeycloakIdentityManagementService.html","title":"injectable - KeycloakIdentityManagementService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n KeycloakIdentityManagementService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak/service/keycloak-identity-management.service.ts\n \n\n\n\n \n Extends\n \n \n IdentityManagementService\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createAccount\n \n \n Async\n deleteAccountById\n \n \n Private\n extractAccount\n \n \n Private\n extractAttributeValue\n \n \n Async\n findAccountByDbcAccountId\n \n \n Async\n findAccountByDbcUserId\n \n \n Async\n findAccountById\n \n \n Async\n findAccountsByUsername\n \n \n Async\n getAllAccounts\n \n \n Async\n getUserAttribute\n \n \n Async\n setUserAttribute\n \n \n Async\n updateAccount\n \n \n Async\n updateAccountPassword\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \n Public\n constructor(kcAdminClient: KeycloakAdministrationService)\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak/service/keycloak-identity-management.service.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n kcAdminClient\n \n \n KeycloakAdministrationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createAccount\n \n \n \n \n \n \n \n createAccount(account: IdmAccount, password?: string)\n \n \n\n\n \n \n Inherited from IdentityManagementService\n\n \n \n \n \n Defined in IdentityManagementService:15\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n IdmAccount\n \n\n \n No\n \n\n\n \n \n password\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteAccountById\n \n \n \n \n \n \n \n deleteAccountById(id: string)\n \n \n\n\n \n \n Inherited from IdentityManagementService\n\n \n \n \n \n Defined in IdentityManagementService:132\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n extractAccount\n \n \n \n \n \n \n \n extractAccount(user: UserRepresentation)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak/service/keycloak-identity-management.service.ts:171\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserRepresentation\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : IdmAccount\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n extractAttributeValue\n \n \n \n \n \n \n \n extractAttributeValue(value)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak/service/keycloak-identity-management.service.ts:187\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n value\n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAccountByDbcAccountId\n \n \n \n \n \n \n \n findAccountByDbcAccountId(accountDbcAccountId: string)\n \n \n\n\n \n \n Inherited from IdentityManagementService\n\n \n \n \n \n Defined in IdentityManagementService:85\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountDbcAccountId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAccountByDbcUserId\n \n \n \n \n \n \n \n findAccountByDbcUserId(accountDbcUserId: string)\n \n \n\n\n \n \n Inherited from IdentityManagementService\n\n \n \n \n \n Defined in IdentityManagementService:99\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n accountDbcUserId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAccountById\n \n \n \n \n \n \n \n findAccountById(id: string)\n \n \n\n\n \n \n Inherited from IdentityManagementService\n\n \n \n \n \n Defined in IdentityManagementService:77\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAccountsByUsername\n \n \n \n \n \n \n \n findAccountsByUsername(username: string, options?: SearchOptions)\n \n \n\n\n \n \n Inherited from IdentityManagementService\n\n \n \n \n \n Defined in IdentityManagementService:114\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n options\n \n SearchOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getAllAccounts\n \n \n \n \n \n \n \n getAllAccounts()\n \n \n\n\n \n \n Inherited from IdentityManagementService\n\n \n \n \n \n Defined in IdentityManagementService:127\n\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n getUserAttribute\n \n \n \n \n \n \n \n getUserAttribute(userId: string, attributeName: string)\n \n \n\n\n \n \n Inherited from IdentityManagementService\n\n \n \n \n \n Defined in IdentityManagementService:137\n\n \n \n\n \n \n Type parameters :\n \n TValue\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n attributeName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n setUserAttribute\n \n \n \n \n \n \n \n setUserAttribute(userId: string, attributeName: string, attributeValue: TValue)\n \n \n\n\n \n \n Inherited from IdentityManagementService\n\n \n \n \n \n Defined in IdentityManagementService:153\n\n \n \n\n \n \n Type parameters :\n \n TValue\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n attributeName\n \n string\n \n\n \n No\n \n\n\n \n \n attributeValue\n \n TValue\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateAccount\n \n \n \n \n \n \n \n updateAccount(id: string, account: IdmAccountUpdate)\n \n \n\n\n \n \n Inherited from IdentityManagementService\n\n \n \n \n \n Defined in IdentityManagementService:47\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n account\n \n IdmAccountUpdate\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateAccountPassword\n \n \n \n \n \n \n \n updateAccountPassword(id: string, password: string)\n \n \n\n\n \n \n Inherited from IdentityManagementService\n\n \n \n \n \n Defined in IdentityManagementService:63\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n password\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import UserRepresentation from '@keycloak/keycloak-admin-client/lib/defs/userRepresentation';\nimport { Injectable } from '@nestjs/common';\nimport { EntityNotFoundError } from '@shared/common';\nimport { IdmAccount, IdmAccountUpdate } from '@shared/domain/interface';\nimport { Counted } from '@shared/domain/types';\nimport { IdentityManagementService, SearchOptions } from '../../identity-management.service';\nimport { KeycloakAdministrationService } from '../../keycloak-administration/service/keycloak-administration.service';\n\n@Injectable()\nexport class KeycloakIdentityManagementService extends IdentityManagementService {\n\tpublic constructor(private readonly kcAdminClient: KeycloakAdministrationService) {\n\t\tsuper();\n\t}\n\n\tasync createAccount(account: IdmAccount, password?: string): Promise {\n\t\tconst kc = await this.kcAdminClient.callKcAdminClient();\n\t\tconst id = await kc.users.create({\n\t\t\tusername: account.username,\n\t\t\temail: account.email,\n\t\t\tfirstName: account.firstName,\n\t\t\tlastName: account.lastName,\n\t\t\tenabled: true,\n\t\t\tattributes: {\n\t\t\t\tdbcAccountId: account.attDbcAccountId,\n\t\t\t\tdbcUserId: account.attDbcUserId,\n\t\t\t\tdbcSystemId: account.attDbcSystemId,\n\t\t\t},\n\t\t});\n\t\tif (id && password) {\n\t\t\ttry {\n\t\t\t\tawait kc.users.resetPassword({\n\t\t\t\t\tid: id.id,\n\t\t\t\t\tcredential: {\n\t\t\t\t\t\ttemporary: false,\n\t\t\t\t\t\ttype: 'password',\n\t\t\t\t\t\tvalue: password,\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t} catch (err) {\n\t\t\t\tawait kc.users.del(id);\n\t\t\t\tthrow err;\n\t\t\t}\n\t\t}\n\t\treturn id.id;\n\t}\n\n\tasync updateAccount(id: string, account: IdmAccountUpdate): Promise {\n\t\tawait (\n\t\t\tawait this.kcAdminClient.callKcAdminClient()\n\t\t).users.update(\n\t\t\t{ id },\n\t\t\t{\n\t\t\t\tusername: account.username,\n\t\t\t\temail: account.email,\n\t\t\t\tfirstName: account.firstName,\n\t\t\t\tlastName: account.lastName,\n\t\t\t\tenabled: true,\n\t\t\t}\n\t\t);\n\t\treturn id;\n\t}\n\n\tasync updateAccountPassword(id: string, password: string): Promise {\n\t\tawait (\n\t\t\tawait this.kcAdminClient.callKcAdminClient()\n\t\t).users.resetPassword({\n\t\t\tid,\n\t\t\tcredential: {\n\t\t\t\ttemporary: false,\n\t\t\t\ttype: 'password',\n\t\t\t\tvalue: password,\n\t\t\t},\n\t\t});\n\t\treturn id;\n\t}\n\n\tasync findAccountById(id: string): Promise {\n\t\tconst keycloakUser = await (await this.kcAdminClient.callKcAdminClient()).users.findOne({ id });\n\t\tif (!keycloakUser) {\n\t\t\tthrow new Error(`Account '${id}' not found`);\n\t\t}\n\t\treturn this.extractAccount(keycloakUser);\n\t}\n\n\tasync findAccountByDbcAccountId(accountDbcAccountId: string): Promise {\n\t\tconst keycloakUsers = await (\n\t\t\tawait this.kcAdminClient.callKcAdminClient()\n\t\t).users.find({ q: `dbcAccountId:${accountDbcAccountId} }` });\n\t\tif (keycloakUsers.length > 1) {\n\t\t\tthrow new Error('Multiple accounts for the same id!');\n\t\t}\n\t\tif (keycloakUsers.length === 0) {\n\t\t\tthrow new Error(`Account '${accountDbcAccountId}' not found`);\n\t\t}\n\n\t\treturn this.extractAccount(keycloakUsers[0]);\n\t}\n\n\tasync findAccountByDbcUserId(accountDbcUserId: string): Promise {\n\t\tconst keycloakUsers = await (\n\t\t\tawait this.kcAdminClient.callKcAdminClient()\n\t\t).users.find({ q: `dbcUserId:${accountDbcUserId} }` });\n\n\t\tif (keycloakUsers.length > 1) {\n\t\t\tthrow new Error('Multiple accounts for the same id!');\n\t\t}\n\t\tif (keycloakUsers.length === 0) {\n\t\t\tthrow new Error(`Account '${accountDbcUserId}' not found`);\n\t\t}\n\n\t\treturn this.extractAccount(keycloakUsers[0]);\n\t}\n\n\tasync findAccountsByUsername(username: string, options?: SearchOptions): Promise> {\n\t\tconst kc = await this.kcAdminClient.callKcAdminClient();\n\t\tconst total = await kc.users.count({ username });\n\t\tconst results = await kc.users.find({\n\t\t\tusername,\n\t\t\texact: options?.exact,\n\t\t\tfirst: options?.skip,\n\t\t\tmax: options?.limit,\n\t\t});\n\t\tconst accounts = results.map((account) => this.extractAccount(account));\n\t\treturn [accounts, total];\n\t}\n\n\tasync getAllAccounts(): Promise {\n\t\tconst keycloakUsers = await (await this.kcAdminClient.callKcAdminClient()).users.find();\n\t\treturn keycloakUsers.map((user: UserRepresentation) => this.extractAccount(user));\n\t}\n\n\tasync deleteAccountById(id: string): Promise {\n\t\tawait (await this.kcAdminClient.callKcAdminClient()).users.del({ id });\n\t\treturn id;\n\t}\n\n\tasync getUserAttribute(\n\t\tuserId: string,\n\t\tattributeName: string\n\t): Promise {\n\t\tconst kc = await this.kcAdminClient.callKcAdminClient();\n\t\tconst user = await kc.users.findOne({ id: userId });\n\t\tif (!user) {\n\t\t\tthrow new EntityNotFoundError(`User '${userId}' not found`);\n\t\t}\n\t\tif (user.attributes && user.attributes[attributeName] && Array.isArray(user.attributes[attributeName])) {\n\t\t\tconst [value] = (user.attributes[attributeName] as TValue[]) || null;\n\t\t\treturn value;\n\t\t}\n\t\treturn null;\n\t}\n\n\tasync setUserAttribute(\n\t\tuserId: string,\n\t\tattributeName: string,\n\t\tattributeValue: TValue\n\t): Promise {\n\t\tconst kc = await this.kcAdminClient.callKcAdminClient();\n\t\tconst user = await kc.users.findOne({ id: userId });\n\t\tif (!user) {\n\t\t\tthrow new EntityNotFoundError(`User '${userId}' not found`);\n\t\t}\n\t\tif (user.attributes) {\n\t\t\tuser.attributes[attributeName] = attributeValue;\n\t\t} else {\n\t\t\tuser.attributes = { [attributeName]: attributeValue };\n\t\t}\n\t\tawait kc.users.update({ id: userId }, user);\n\t}\n\n\tprivate extractAccount(user: UserRepresentation): IdmAccount {\n\t\tconst ret: IdmAccount = {\n\t\t\tid: user.id ?? '',\n\t\t\tusername: user.username,\n\t\t\temail: user.email,\n\t\t\tfirstName: user.firstName,\n\t\t\tlastName: user.lastName,\n\t\t\tcreatedDate: user.createdTimestamp ? new Date(user.createdTimestamp) : undefined,\n\t\t};\n\t\tret.attDbcSystemId = this.extractAttributeValue(user.attributes?.dbcSystemId);\n\t\tret.attDbcUserId = this.extractAttributeValue(user.attributes?.dbcUserId);\n\t\tret.attDbcAccountId = this.extractAttributeValue(user.attributes?.dbcAccountId);\n\n\t\treturn ret;\n\t}\n\n\tprivate extractAttributeValue(value: unknown): string {\n\t\tif (Array.isArray(value)) {\n\t\t\treturn value[0] as string;\n\t\t}\n\t\treturn value as string;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/KeycloakManagementController.html":{"url":"controllers/KeycloakManagementController.html","title":"controller - KeycloakManagementController","body":"\n \n\n\n\n\n\n\n Controllers\n KeycloakManagementController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/controller/keycloak-configuration.controller.ts\n \n\n \n Prefix\n \n \n management/idm\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n importSeedData\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n importSeedData\n \n \n \n \n \n \n \n importSeedData()\n \n \n\n \n \n Decorators : \n \n @Post('seed')\n \n \n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/controller/keycloak-configuration.controller.ts:19\n \n \n\n\n \n \n This connects to IDM, seeds the test users and seeds the identity providers.\nUsed by auto-deployment for develop environment (job_init_idm.yml.j2) via cURL\n\n\n \n Returns : Promise\n\n \n \n The number of seeded users\n\n \n \n \n \n \n \n\n\n \n import { Controller, Post, ServiceUnavailableException } from '@nestjs/common';\nimport { LegacyLogger } from '@src/core/logger';\nimport { KeycloakConfigurationUc } from '../uc/keycloak-configuration.uc';\n\n@Controller('management/idm')\nexport class KeycloakManagementController {\n\tconstructor(private readonly keycloakManagementUc: KeycloakConfigurationUc, private readonly logger: LegacyLogger) {\n\t\tthis.logger.setContext(KeycloakManagementController.name);\n\t}\n\n\t/**\n\t * This connects to IDM, seeds the test users and seeds the identity providers.\n\t * Used by auto-deployment for develop environment (job_init_idm.yml.j2) via cURL\n\t *\n\t * @returns The number of seeded users\n\t * @throws ServiceUnavailableException if IDM is not ready.\n\t */\n\t@Post('seed')\n\tasync importSeedData(): Promise {\n\t\tif (await this.keycloakManagementUc.check()) {\n\t\t\ttry {\n\t\t\t\tawait this.keycloakManagementUc.configure();\n\t\t\t\treturn await this.keycloakManagementUc.seed();\n\t\t\t} catch (err) {\n\t\t\t\tthis.logger.error(err);\n\t\t\t\treturn -1;\n\t\t\t}\n\t\t}\n\t\tthrow new ServiceUnavailableException();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/KeycloakMigrationService.html":{"url":"injectables/KeycloakMigrationService.html","title":"injectable - KeycloakMigrationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n KeycloakMigrationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-migration.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n createOrUpdateIdmAccount\n \n \n Async\n migrate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(kcAdmin: KeycloakAdministrationService, accountService: AccountService, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-migration.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n kcAdmin\n \n \n KeycloakAdministrationService\n \n \n \n No\n \n \n \n \n accountService\n \n \n AccountService\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n createOrUpdateIdmAccount\n \n \n \n \n \n \n \n createOrUpdateIdmAccount(account: AccountDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-migration.service.ts:48\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n AccountDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n migrate\n \n \n \n \n \n \n \n migrate(start: number, verbose)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-migration.service.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n start\n \n number\n \n\n \n No\n \n\n \n 0\n \n\n \n \n verbose\n \n \n\n \n No\n \n\n \n false\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import UserRepresentation from '@keycloak/keycloak-admin-client/lib/defs/userRepresentation';\nimport { Injectable } from '@nestjs/common';\nimport { LegacyLogger } from '@src/core/logger';\nimport { AccountService } from '@modules/account/services/account.service';\nimport { AccountDto } from '@modules/account/services/dto';\nimport { KeycloakAdministrationService } from '../../keycloak-administration/service/keycloak-administration.service';\n\n@Injectable()\nexport class KeycloakMigrationService {\n\tconstructor(\n\t\tprivate readonly kcAdmin: KeycloakAdministrationService,\n\t\tprivate readonly accountService: AccountService,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(KeycloakMigrationService.name);\n\t}\n\n\tasync migrate(start = 0, verbose = false): Promise {\n\t\tconst amount = 100;\n\t\tlet skip = start;\n\t\tlet foundAccounts = 1;\n\t\tlet migratedAccounts = 0;\n\t\tlet accounts: AccountDto[] = [];\n\t\twhile (foundAccounts > 0) {\n\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\taccounts = await this.accountService.findMany(skip, amount);\n\t\t\tfoundAccounts = accounts.length;\n\t\t\tfor (const account of accounts) {\n\t\t\t\ttry {\n\t\t\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\t\t\tconst retAccountId = await this.createOrUpdateIdmAccount(account);\n\t\t\t\t\tmigratedAccounts += 1;\n\t\t\t\t\tif (verbose) {\n\t\t\t\t\t\tthis.logger.log(`Migration of account ${account.id} done, new id is ${retAccountId}.`);\n\t\t\t\t\t}\n\t\t\t\t} catch (err) {\n\t\t\t\t\tthis.logger.error(`Migration of account ${account.id} failed.`, err);\n\t\t\t\t}\n\t\t\t}\n\t\t\tskip += foundAccounts;\n\t\t\tif (!verbose) {\n\t\t\t\tthis.logger.log(`...migrated ${skip} accounts.`);\n\t\t\t}\n\t\t}\n\t\treturn migratedAccounts;\n\t}\n\n\tprivate async createOrUpdateIdmAccount(account: AccountDto): Promise {\n\t\tconst idmUserRepresentation: UserRepresentation = {\n\t\t\tusername: account.username,\n\t\t\tenabled: true,\n\t\t\tcredentials: [\n\t\t\t\t{\n\t\t\t\t\ttype: 'password',\n\t\t\t\t\tsecretData: `{\"value\": \"${account.password ?? ''}\", \"salt\": \"\", \"additionalParameters\": {}}`,\n\t\t\t\t\tcredentialData: '{ \"hashIterations\": 10, \"algorithm\": \"bcrypt\", \"additionalParameters\": {}}',\n\t\t\t\t},\n\t\t\t],\n\t\t\tattributes: {\n\t\t\t\tdbcAccountId: account.id,\n\t\t\t\tdbcUserId: account.userId,\n\t\t\t\tdbcSystemId: account.systemId,\n\t\t\t},\n\t\t};\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tconst existingAccounts = await kc.users.find({ username: account.username, exact: true });\n\t\tif (existingAccounts.length === 1 && existingAccounts[0].id) {\n\t\t\tconst existingAccountId = existingAccounts[0].id;\n\t\t\tawait kc.users.update({ id: existingAccountId }, idmUserRepresentation);\n\t\t\treturn existingAccountId;\n\t\t}\n\t\tif (existingAccounts.length === 0) {\n\t\t\tconst createdAccountId = await kc.users.create(idmUserRepresentation);\n\t\t\treturn createdAccountId.id;\n\t\t}\n\t\tthrow Error(`Duplicate username ${account.username} update operation aborted.`);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/KeycloakModule.html":{"url":"modules/KeycloakModule.html","title":"module - KeycloakModule","body":"\n \n\n\n\n\n Modules\n KeycloakModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_KeycloakModule\n\n\n\ncluster_KeycloakModule_imports\n\n\n\ncluster_KeycloakModule_providers\n\n\n\ncluster_KeycloakModule_exports\n\n\n\n\nEncryptionModule\n\nEncryptionModule\n\n\n\nKeycloakModule\n\nKeycloakModule\n\nKeycloakModule -->\n\nEncryptionModule->KeycloakModule\n\n\n\n\n\nKeycloakAdministrationModule\n\nKeycloakAdministrationModule\n\nKeycloakModule -->\n\nKeycloakAdministrationModule->KeycloakModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nKeycloakModule -->\n\nLoggerModule->KeycloakModule\n\n\n\n\n\nKeycloakIdentityManagementOauthService \n\nKeycloakIdentityManagementOauthService \n\nKeycloakIdentityManagementOauthService -->\n\nKeycloakModule->KeycloakIdentityManagementOauthService \n\n\n\n\n\nKeycloakIdentityManagementService \n\nKeycloakIdentityManagementService \n\nKeycloakIdentityManagementService -->\n\nKeycloakModule->KeycloakIdentityManagementService \n\n\n\n\n\nKeycloakIdentityManagementOauthService\n\nKeycloakIdentityManagementOauthService\n\nKeycloakModule -->\n\nKeycloakIdentityManagementOauthService->KeycloakModule\n\n\n\n\n\nKeycloakIdentityManagementService\n\nKeycloakIdentityManagementService\n\nKeycloakModule -->\n\nKeycloakIdentityManagementService->KeycloakModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/identity-management/keycloak/keycloak.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n KeycloakIdentityManagementOauthService\n \n \n KeycloakIdentityManagementService\n \n \n \n \n Imports\n \n \n EncryptionModule\n \n \n KeycloakAdministrationModule\n \n \n LoggerModule\n \n \n \n \n Exports\n \n \n KeycloakIdentityManagementOauthService\n \n \n KeycloakIdentityManagementService\n \n \n \n \n \n\n\n \n\n\n \n import { HttpModule } from '@nestjs/axios';\nimport { Module } from '@nestjs/common';\nimport { EncryptionModule } from '@infra/encryption';\nimport { LoggerModule } from '@src/core/logger';\nimport { KeycloakAdministrationModule } from '../keycloak-administration/keycloak-administration.module';\nimport { KeycloakIdentityManagementOauthService } from './service/keycloak-identity-management-oauth.service';\nimport { KeycloakIdentityManagementService } from './service/keycloak-identity-management.service';\n\n@Module({\n\timports: [LoggerModule, EncryptionModule, HttpModule, KeycloakAdministrationModule],\n\tproviders: [KeycloakIdentityManagementService, KeycloakIdentityManagementOauthService],\n\texports: [KeycloakIdentityManagementService, KeycloakIdentityManagementOauthService],\n})\nexport class KeycloakModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/KeycloakSeedService.html":{"url":"classes/KeycloakSeedService.html","title":"class - KeycloakSeedService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n KeycloakSeedService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-seed.service.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n clean\n \n \n Private\n Async\n createOrUpdateIdmAccount\n \n \n Private\n Async\n loadAccounts\n \n \n Private\n Async\n loadUsers\n \n \n Async\n seed\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(kcAdmin: KeycloakAdministrationService, logger: LegacyLogger, inputFiles: IKeycloakConfigurationInputFiles)\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-seed.service.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n kcAdmin\n \n \n KeycloakAdministrationService\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n inputFiles\n \n \n IKeycloakConfigurationInputFiles\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n clean\n \n \n \n \n \n \n \n clean(pageSize: number)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-seed.service.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n pageSize\n \n number\n \n\n \n No\n \n\n \n 100\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createOrUpdateIdmAccount\n \n \n \n \n \n \n \n createOrUpdateIdmAccount(account: JsonAccount, user: JsonUser)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-seed.service.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n JsonAccount\n \n\n \n No\n \n\n\n \n \n user\n \n JsonUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n loadAccounts\n \n \n \n \n \n \n \n loadAccounts()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-seed.service.ts:94\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n loadUsers\n \n \n \n \n \n \n \n loadUsers()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-seed.service.ts:99\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n seed\n \n \n \n \n \n \n \n seed()\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/service/keycloak-seed.service.ts:20\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import UserRepresentation from '@keycloak/keycloak-admin-client/lib/defs/userRepresentation';\nimport { Inject } from '@nestjs/common';\nimport { LegacyLogger } from '@src/core/logger';\nimport fs from 'node:fs/promises';\nimport { KeycloakAdministrationService } from '../../keycloak-administration/service/keycloak-administration.service';\nimport { JsonAccount } from '../interface/json-account.interface';\nimport { JsonUser } from '../interface/json-user.interface';\nimport {\n\tIKeycloakConfigurationInputFiles,\n\tKeycloakConfigurationInputFiles,\n} from '../interface/keycloak-configuration-input-files.interface';\n\nexport class KeycloakSeedService {\n\tconstructor(\n\t\tprivate readonly kcAdmin: KeycloakAdministrationService,\n\t\tprivate readonly logger: LegacyLogger,\n\t\t@Inject(KeycloakConfigurationInputFiles) private readonly inputFiles: IKeycloakConfigurationInputFiles\n\t) {}\n\n\tasync seed(): Promise {\n\t\tlet userCount = 0;\n\t\tconst users = await this.loadUsers();\n\t\tconst accounts = await this.loadAccounts();\n\t\t// eslint-disable-next-line no-restricted-syntax\n\t\tfor (const user of users) {\n\t\t\tconst account = accounts.find((a) => a.userId.$oid === user._id.$oid);\n\t\t\tif (account) {\n\t\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\t\tuserCount += (await this.createOrUpdateIdmAccount(account, user)) ? 1 : 0;\n\t\t\t}\n\t\t}\n\t\treturn userCount;\n\t}\n\n\tpublic async clean(pageSize = 100): Promise {\n\t\tlet foundUsers = 1;\n\t\tlet deletedUsers = 0;\n\t\tconst adminUser = this.kcAdmin.getAdminUser();\n\t\tlet kc = await this.kcAdmin.callKcAdminClient();\n\t\tthis.logger.log(`Starting to delete users...`);\n\t\twhile (foundUsers > 0) {\n\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\tkc = await this.kcAdmin.callKcAdminClient();\n\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\tconst users = (await kc.users.find({ max: pageSize })).filter((user) => user.username !== adminUser);\n\t\t\tfoundUsers = users.length;\n\t\t\tthis.logger.log(`Amount of found Users: ${foundUsers}`);\n\t\t\tfor (const user of users) {\n\t\t\t\t// eslint-disable-next-line no-await-in-loop\n\t\t\t\tawait kc.users.del({\n\t\t\t\t\tid: user.id ?? '',\n\t\t\t\t});\n\t\t\t}\n\t\t\tdeletedUsers += foundUsers;\n\t\t\tthis.logger.log(`...deleted ${deletedUsers} users so far.`);\n\t\t}\n\t\treturn deletedUsers;\n\t}\n\n\tprivate async createOrUpdateIdmAccount(account: JsonAccount, user: JsonUser): Promise {\n\t\tconst idmUserRepresentation: UserRepresentation = {\n\t\t\tusername: account.username,\n\t\t\tfirstName: user.firstName,\n\t\t\tlastName: user.lastName,\n\t\t\temail: user.email,\n\t\t\tenabled: true,\n\t\t\tcredentials: [\n\t\t\t\t{\n\t\t\t\t\ttype: 'password',\n\t\t\t\t\tsecretData: `{\"value\": \"${account.password}\", \"salt\": \"\", \"additionalParameters\": {}}`,\n\t\t\t\t\tcredentialData: '{ \"hashIterations\": 10, \"algorithm\": \"bcrypt\", \"additionalParameters\": {}}',\n\t\t\t\t},\n\t\t\t],\n\t\t\tattributes: {\n\t\t\t\tdbcAccountId: account._id.$oid,\n\t\t\t\tdbcUserId: account.userId.$oid,\n\t\t\t\tdbcSystemId: account.systemId,\n\t\t\t},\n\t\t};\n\t\tconst kc = await this.kcAdmin.callKcAdminClient();\n\t\tconst existingAccounts = await kc.users.find({ username: account.username, exact: true });\n\t\tif (existingAccounts.length === 1 && existingAccounts[0].id) {\n\t\t\tawait kc.users.update({ id: existingAccounts[0].id }, idmUserRepresentation);\n\t\t\treturn true;\n\t\t}\n\t\tif (existingAccounts.length === 0) {\n\t\t\tawait kc.users.create(idmUserRepresentation);\n\t\t\treturn true;\n\t\t}\n\t\t// else, unreachable, multiple accounts for same username (unique)\n\t\treturn false;\n\t}\n\n\tprivate async loadAccounts(): Promise {\n\t\tconst data = await fs.readFile(this.inputFiles.accountsFile, { encoding: 'utf-8' });\n\t\treturn JSON.parse(data) as JsonAccount[];\n\t}\n\n\tprivate async loadUsers(): Promise {\n\t\tconst data = await fs.readFile(this.inputFiles.usersFile, { encoding: 'utf-8' });\n\t\treturn JSON.parse(data) as JsonUser[];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LdapAlreadyPersistedException.html":{"url":"classes/LdapAlreadyPersistedException.html","title":"class - LdapAlreadyPersistedException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LdapAlreadyPersistedException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/uc/ldap-user-migration.error.ts\n \n\n\n\n \n Extends\n \n \n LdapUserMigrationException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(descriptionOrOptions?: string | HttpExceptionOptions)\n \n \n \n \n Defined in apps/server/src/modules/user-import/uc/ldap-user-migration.error.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n descriptionOrOptions\n \n \n string | HttpExceptionOptions\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/uc/ldap-user-migration.error.ts:11\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BadRequestException, HttpExceptionOptions } from '@nestjs/common';\nimport { ErrorLogMessage, LogMessage, Loggable, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class LdapUserMigrationException extends BadRequestException {}\n\nexport class LdapAlreadyPersistedException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('ldapAlreadyPersisted', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'LDAP is already Persisted',\n\t\t};\n\t}\n}\nexport class MissingSchoolNumberException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('LDAP migration Exception', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'The school is missing a official school number',\n\t\t};\n\t}\n}\nexport class MigrationAlreadyActivatedException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('LDAP migration Exception', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'Migration is already activated for this school',\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LdapAuthorizationBodyParams.html":{"url":"classes/LdapAuthorizationBodyParams.html","title":"class - LdapAuthorizationBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LdapAuthorizationBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/controllers/dto/ldap-authorization.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n password\n \n \n \n \n schoolId\n \n \n \n \n systemId\n \n \n \n \n \n username\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n password\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/ldap-authorization.body.params.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/ldap-authorization.body.params.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n systemId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/ldap-authorization.body.params.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/ldap-authorization.body.params.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId, IsNotEmpty, IsString } from 'class-validator';\n\nexport class LdapAuthorizationBodyParams {\n\t@IsMongoId()\n\t@ApiProperty()\n\tsystemId!: string;\n\n\t@IsString()\n\t@IsNotEmpty()\n\t@ApiProperty()\n\tusername!: string;\n\n\t@IsString()\n\t@IsNotEmpty()\n\t@ApiProperty()\n\tpassword!: string;\n\n\t@IsMongoId()\n\t@ApiProperty()\n\tschoolId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LdapConfig.html":{"url":"classes/LdapConfig.html","title":"class - LdapConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LdapConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/domain/ldap-config.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n active\n \n \n Optional\n provider\n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: LdapConfig)\n \n \n \n \n Defined in apps/server/src/modules/system/domain/ldap-config.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n LdapConfig\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n active\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/ldap-config.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n provider\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/ldap-config.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/ldap-config.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class LdapConfig {\n\tactive: boolean;\n\n\turl: string;\n\n\tprovider?: string;\n\n\tconstructor(props: LdapConfig) {\n\t\tthis.active = props.active;\n\t\tthis.url = props.url;\n\t\tthis.provider = props.provider;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LdapConfigEntity.html":{"url":"classes/LdapConfigEntity.html","title":"class - LdapConfigEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LdapConfigEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/system.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n active\n \n \n \n Optional\n federalState\n \n \n \n Optional\n lastModifyTimestamp\n \n \n \n Optional\n lastSuccessfulFullSync\n \n \n \n Optional\n lastSuccessfulPartialSync\n \n \n \n Optional\n lastSyncAttempt\n \n \n \n Optional\n provider\n \n \n \n Optional\n providerOptions\n \n \n \n Optional\n rootPath\n \n \n \n Optional\n searchUser\n \n \n \n Optional\n searchUserPassword\n \n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ldapConfig: Readonly)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:76\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ldapConfig\n \n \n Readonly\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n active\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:93\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n federalState\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:96\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n lastModifyTimestamp\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:108\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n lastSuccessfulFullSync\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:102\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n lastSuccessfulPartialSync\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:105\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n lastSyncAttempt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:99\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n provider\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:123\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n providerOptions\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:126\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n rootPath\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:114\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n searchUser\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:117\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n searchUserPassword\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:120\n \n \n\n\n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:111\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Embedded, Entity, Enum, Property } from '@mikro-orm/core';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface SystemEntityProps {\n\ttype: string;\n\turl?: string;\n\talias?: string;\n\tdisplayName?: string;\n\toauthConfig?: OauthConfigEntity;\n\toidcConfig?: OidcConfigEntity;\n\tldapConfig?: LdapConfigEntity;\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\tprovisioningUrl?: string;\n}\n\nexport class OauthConfigEntity {\n\tconstructor(oauthConfig: OauthConfigEntity) {\n\t\tthis.clientId = oauthConfig.clientId;\n\t\tthis.clientSecret = oauthConfig.clientSecret;\n\t\tthis.idpHint = oauthConfig.idpHint;\n\t\tthis.tokenEndpoint = oauthConfig.tokenEndpoint;\n\t\tthis.grantType = oauthConfig.grantType;\n\t\tthis.redirectUri = oauthConfig.redirectUri;\n\t\tthis.scope = oauthConfig.scope;\n\t\tthis.responseType = oauthConfig.responseType;\n\t\tthis.authEndpoint = oauthConfig.authEndpoint;\n\t\tthis.provider = oauthConfig.provider;\n\t\tthis.logoutEndpoint = oauthConfig.logoutEndpoint;\n\t\tthis.issuer = oauthConfig.issuer;\n\t\tthis.jwksEndpoint = oauthConfig.jwksEndpoint;\n\t}\n\n\t@Property()\n\tclientId: string;\n\n\t@Property()\n\tclientSecret: string;\n\n\t@Property({ nullable: true })\n\tidpHint?: string;\n\n\t@Property()\n\tredirectUri: string;\n\n\t@Property()\n\tgrantType: string;\n\n\t@Property()\n\ttokenEndpoint: string;\n\n\t@Property()\n\tauthEndpoint: string;\n\n\t@Property()\n\tresponseType: string;\n\n\t@Property()\n\tscope: string;\n\n\t@Property()\n\tprovider: string;\n\n\t@Property({ nullable: true })\n\tlogoutEndpoint?: string;\n\n\t@Property()\n\tissuer: string;\n\n\t@Property()\n\tjwksEndpoint: string;\n}\n\n@Embeddable()\nexport class LdapConfigEntity {\n\tconstructor(ldapConfig: Readonly) {\n\t\tthis.active = ldapConfig.active;\n\t\tthis.federalState = ldapConfig.federalState;\n\t\tthis.lastSyncAttempt = ldapConfig.lastSyncAttempt;\n\t\tthis.lastSuccessfulFullSync = ldapConfig.lastSuccessfulFullSync;\n\t\tthis.lastSuccessfulPartialSync = ldapConfig.lastSuccessfulPartialSync;\n\t\tthis.lastModifyTimestamp = ldapConfig.lastModifyTimestamp;\n\t\tthis.url = ldapConfig.url;\n\t\tthis.rootPath = ldapConfig.rootPath;\n\t\tthis.searchUser = ldapConfig.searchUser;\n\t\tthis.searchUserPassword = ldapConfig.searchUserPassword;\n\t\tthis.provider = ldapConfig.provider;\n\t\tthis.providerOptions = ldapConfig.providerOptions;\n\t}\n\n\t@Property({ nullable: true })\n\tactive?: boolean;\n\n\t@Property({ nullable: true })\n\tfederalState?: EntityId;\n\n\t@Property({ nullable: true })\n\tlastSyncAttempt?: Date;\n\n\t@Property({ nullable: true })\n\tlastSuccessfulFullSync?: Date;\n\n\t@Property({ nullable: true })\n\tlastSuccessfulPartialSync?: Date;\n\n\t@Property({ nullable: true })\n\tlastModifyTimestamp?: string;\n\n\t@Property()\n\turl: string;\n\n\t@Property({ nullable: true })\n\trootPath?: string;\n\n\t@Property({ nullable: true })\n\tsearchUser?: string;\n\n\t@Property({ nullable: true })\n\tsearchUserPassword?: string;\n\n\t@Property({ nullable: true })\n\tprovider?: string;\n\n\t@Property({ nullable: true })\n\tproviderOptions?: {\n\t\tschoolName?: string;\n\t\tuserPathAdditions?: string;\n\t\tclassPathAdditions?: string;\n\t\troleType?: string;\n\t\tuserAttributeNameMapping?: {\n\t\t\tgivenName?: string;\n\t\t\tsn?: string;\n\t\t\tdn?: string;\n\t\t\tuuid?: string;\n\t\t\tuid?: string;\n\t\t\tmail?: string;\n\t\t\trole?: string;\n\t\t};\n\t\troleAttributeNameMapping?: {\n\t\t\troleStudent?: string;\n\t\t\troleTeacher?: string;\n\t\t\troleAdmin?: string;\n\t\t\troleNoSc?: string;\n\t\t};\n\t\tclassAttributeNameMapping?: {\n\t\t\tdescription?: string;\n\t\t\tdn?: string;\n\t\t\tuniqueMember?: string;\n\t\t};\n\t};\n}\nexport class OidcConfigEntity {\n\tconstructor(oidcConfig: OidcConfigEntity) {\n\t\tthis.clientId = oidcConfig.clientId;\n\t\tthis.clientSecret = oidcConfig.clientSecret;\n\t\tthis.idpHint = oidcConfig.idpHint;\n\t\tthis.authorizationUrl = oidcConfig.authorizationUrl;\n\t\tthis.tokenUrl = oidcConfig.tokenUrl;\n\t\tthis.logoutUrl = oidcConfig.logoutUrl;\n\t\tthis.userinfoUrl = oidcConfig.userinfoUrl;\n\t\tthis.defaultScopes = oidcConfig.defaultScopes;\n\t}\n\n\t@Property()\n\tclientId: string;\n\n\t@Property()\n\tclientSecret: string;\n\n\t@Property()\n\tidpHint: string;\n\n\t@Property()\n\tauthorizationUrl: string;\n\n\t@Property()\n\ttokenUrl: string;\n\n\t@Property()\n\tlogoutUrl: string;\n\n\t@Property()\n\tuserinfoUrl: string;\n\n\t@Property()\n\tdefaultScopes: string;\n}\n\n@Entity({ tableName: 'systems' })\nexport class SystemEntity extends BaseEntityWithTimestamps {\n\tconstructor(props: SystemEntityProps) {\n\t\tsuper();\n\t\tthis.type = props.type;\n\t\tthis.url = props.url;\n\t\tthis.alias = props.alias;\n\t\tthis.displayName = props.displayName;\n\t\tthis.oauthConfig = props.oauthConfig;\n\t\tthis.oidcConfig = props.oidcConfig;\n\t\tthis.ldapConfig = props.ldapConfig;\n\t\tthis.provisioningStrategy = props.provisioningStrategy;\n\t\tthis.provisioningUrl = props.provisioningUrl;\n\t}\n\n\t@Property({ nullable: false })\n\ttype: string; // see legacy enum for valid values\n\n\t@Property({ nullable: true })\n\turl?: string;\n\n\t@Property({ nullable: true })\n\talias?: string;\n\n\t@Property({ nullable: true })\n\tdisplayName?: string;\n\n\t@Property({ nullable: true })\n\toauthConfig?: OauthConfigEntity;\n\n\t@Property({ nullable: true })\n\t@Enum()\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\n\t@Property({ nullable: true })\n\toidcConfig?: OidcConfigEntity;\n\n\t@Embedded({ entity: () => LdapConfigEntity, object: true, nullable: true })\n\tldapConfig?: LdapConfigEntity;\n\n\t@Property({ nullable: true })\n\tprovisioningUrl?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LdapConnectionError.html":{"url":"classes/LdapConnectionError.html","title":"class - LdapConnectionError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LdapConnectionError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/errors/ldap-connection.error.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(details?: Record)\n \n \n \n \n Defined in apps/server/src/modules/authentication/errors/ldap-connection.error.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n details\n \n \n Record\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { BusinessError } from '@shared/common';\n\nexport class LdapConnectionError extends BusinessError {\n\tconstructor(details?: Record) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'LDAP_CONNECTION_FAILED',\n\t\t\t\ttitle: 'LDAP connection failed',\n\t\t\t\tdefaultMessage: 'LDAP connection failed',\n\t\t\t},\n\t\t\tHttpStatus.BAD_GATEWAY,\n\t\t\tdetails\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LdapService.html":{"url":"injectables/LdapService.html","title":"injectable - LdapService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LdapService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/services/ldap.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n checkLdapCredentials\n \n \n Private\n connect\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/authentication/services/ldap.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n checkLdapCredentials\n \n \n \n \n \n \n \n checkLdapCredentials(system: SystemEntity, username: string, password: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/services/ldap.service.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n system\n \n SystemEntity\n \n\n \n No\n \n\n\n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n password\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n connect\n \n \n \n \n \n \n \n connect(system: SystemEntity, username: string, password: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/services/ldap.service.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n system\n \n SystemEntity\n \n\n \n No\n \n\n\n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n password\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, UnauthorizedException } from '@nestjs/common';\nimport { SystemEntity } from '@shared/domain/entity';\nimport { ErrorUtils } from '@src/core/error/utils';\nimport { LegacyLogger } from '@src/core/logger';\nimport { Client, createClient } from 'ldapjs';\nimport { LdapConnectionError } from '../errors/ldap-connection.error';\n\n@Injectable()\nexport class LdapService {\n\tconstructor(private readonly logger: LegacyLogger) {\n\t\tthis.logger.setContext(LdapService.name);\n\t}\n\n\tasync checkLdapCredentials(system: SystemEntity, username: string, password: string): Promise {\n\t\tconst connection = await this.connect(system, username, password);\n\t\tif (connection.connected) {\n\t\t\tconnection.unbind();\n\t\t\treturn;\n\t\t}\n\t\tthrow new UnauthorizedException('User could not authenticate');\n\t}\n\n\tprivate connect(system: SystemEntity, username: string, password: string): Promise {\n\t\tconst { ldapConfig } = system;\n\t\tif (!ldapConfig) {\n\t\t\tthrow Error(`no LDAP config found in system ${system.id}`);\n\t\t}\n\t\tconst client: Client = createClient({\n\t\t\turl: ldapConfig.url,\n\t\t\treconnect: {\n\t\t\t\tinitialDelay: 100,\n\t\t\t\tmaxDelay: 300,\n\t\t\t\tfailAfter: 3,\n\t\t\t},\n\t\t});\n\t\treturn new Promise((resolve, reject) => {\n\t\t\tclient.on('connect', () => {\n\t\t\t\tclient.bind(username, password, (err) => {\n\t\t\t\t\tif (err) {\n\t\t\t\t\t\tthis.logger.debug(err);\n\t\t\t\t\t\treject(\n\t\t\t\t\t\t\tnew UnauthorizedException(\n\t\t\t\t\t\t\t\t'User could not authenticate',\n\t\t\t\t\t\t\t\tErrorUtils.createHttpExceptionOptions(err, 'LdapService:connect')\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.logger.debug('[LDAP] Bind successful');\n\t\t\t\t\t\tresolve(client);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t});\n\t\t\tclient.on('error', (err) => {\n\t\t\t\treject(new LdapConnectionError({ error: err }));\n\t\t\t});\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LdapStrategy.html":{"url":"injectables/LdapStrategy.html","title":"injectable - LdapStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LdapStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/strategy/ldap.strategy.ts\n \n\n\n\n \n Extends\n \n \n PassportStrategy(Strategy, 'ldap')\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n checkCredentials\n \n \n Private\n checkValue\n \n \n Private\n extractParamsFromRequest\n \n \n Private\n Async\n loadAccount\n \n \n Async\n validate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(systemRepo: LegacySystemRepo, schoolRepo: LegacySchoolRepo, ldapService: LdapService, authenticationService: AuthenticationService, userRepo: UserRepo, logger: Logger)\n \n \n \n \n Defined in apps/server/src/modules/authentication/strategy/ldap.strategy.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemRepo\n \n \n LegacySystemRepo\n \n \n \n No\n \n \n \n \n schoolRepo\n \n \n LegacySchoolRepo\n \n \n \n No\n \n \n \n \n ldapService\n \n \n LdapService\n \n \n \n No\n \n \n \n \n authenticationService\n \n \n AuthenticationService\n \n \n \n No\n \n \n \n \n userRepo\n \n \n UserRepo\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n checkCredentials\n \n \n \n \n \n \n \n checkCredentials(account: AccountDto, system: SystemEntity, ldapDn: string, password: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/ldap.strategy.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n AccountDto\n \n\n \n No\n \n\n\n \n \n system\n \n SystemEntity\n \n\n \n No\n \n\n\n \n \n ldapDn\n \n string\n \n\n \n No\n \n\n\n \n \n password\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n checkValue\n \n \n \n \n \n \n \n checkValue(value: T | null | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/ldap.strategy.ts:69\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n T | null | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T | never\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n extractParamsFromRequest\n \n \n \n \n \n \n \n extractParamsFromRequest(request: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/ldap.strategy.ts:57\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n request\n \n literal type\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Required\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n loadAccount\n \n \n \n \n \n \n \n loadAccount(username: string, systemId: string, school: LegacySchoolDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/ldap.strategy.ts:92\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n school\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n validate\n \n \n \n \n \n \n \n validate(request: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/ldap.strategy.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n request\n \n literal type\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AccountDto } from '@modules/account/services/dto';\nimport { Injectable, UnauthorizedException } from '@nestjs/common';\nimport { PassportStrategy } from '@nestjs/passport';\nimport { LegacySchoolDo } from '@shared/domain/domainobject';\nimport { SystemEntity, User } from '@shared/domain/entity';\nimport { LegacySchoolRepo, LegacySystemRepo, UserRepo } from '@shared/repo';\nimport { ErrorLoggable } from '@src/core/error/loggable/error.loggable';\nimport { Logger } from '@src/core/logger';\nimport { Strategy } from 'passport-custom';\nimport { LdapAuthorizationBodyParams } from '../controllers/dto';\nimport { ICurrentUser } from '../interface';\nimport { CurrentUserMapper } from '../mapper';\nimport { AuthenticationService } from '../services/authentication.service';\nimport { LdapService } from '../services/ldap.service';\n\n@Injectable()\nexport class LdapStrategy extends PassportStrategy(Strategy, 'ldap') {\n\tconstructor(\n\t\tprivate readonly systemRepo: LegacySystemRepo,\n\t\tprivate readonly schoolRepo: LegacySchoolRepo,\n\t\tprivate readonly ldapService: LdapService,\n\t\tprivate readonly authenticationService: AuthenticationService,\n\t\tprivate readonly userRepo: UserRepo,\n\t\tprivate readonly logger: Logger\n\t) {\n\t\tsuper();\n\t}\n\n\tasync validate(request: { body: LdapAuthorizationBodyParams }): Promise {\n\t\tconst { username, password, systemId, schoolId } = this.extractParamsFromRequest(request);\n\n\t\tconst system: SystemEntity = await this.systemRepo.findById(systemId);\n\n\t\tconst school: LegacySchoolDo = await this.schoolRepo.findById(schoolId);\n\n\t\tif (!school.systems || !school.systems.includes(systemId)) {\n\t\t\tthrow new UnauthorizedException(`School ${schoolId} does not have the selected system ${systemId}`);\n\t\t}\n\n\t\tconst account: AccountDto = await this.loadAccount(username, system.id, school);\n\n\t\tconst userId: string = this.checkValue(account.userId);\n\n\t\tthis.authenticationService.checkBrutForce(account);\n\n\t\tconst user: User = await this.userRepo.findById(userId);\n\n\t\tconst ldapDn: string = this.checkValue(user.ldapDn);\n\n\t\tawait this.checkCredentials(account, system, ldapDn, password);\n\n\t\tconst currentUser: ICurrentUser = CurrentUserMapper.userToICurrentUser(account.id, user, true, systemId);\n\n\t\treturn currentUser;\n\t}\n\n\tprivate extractParamsFromRequest(request: {\n\t\tbody: LdapAuthorizationBodyParams;\n\t}): Required {\n\t\tconst { systemId, schoolId } = request.body;\n\t\tlet { username, password } = request.body;\n\n\t\tusername = this.authenticationService.normalizeUsername(username);\n\t\tpassword = this.authenticationService.normalizePassword(password);\n\n\t\treturn { username, password, systemId, schoolId };\n\t}\n\n\tprivate checkValue(value: T | null | undefined): T | never {\n\t\tif (value === null || value === undefined) {\n\t\t\tthrow new UnauthorizedException();\n\t\t}\n\t\treturn value;\n\t}\n\n\tprivate async checkCredentials(\n\t\taccount: AccountDto,\n\t\tsystem: SystemEntity,\n\t\tldapDn: string,\n\t\tpassword: string\n\t): Promise {\n\t\ttry {\n\t\t\tawait this.ldapService.checkLdapCredentials(system, ldapDn, password);\n\t\t} catch (error) {\n\t\t\tif (error instanceof UnauthorizedException) {\n\t\t\t\tawait this.authenticationService.updateLastTriedFailedLogin(account.id);\n\t\t\t}\n\t\t\tthrow error;\n\t\t}\n\t}\n\n\tprivate async loadAccount(username: string, systemId: string, school: LegacySchoolDo): Promise {\n\t\tconst externalSchoolId = this.checkValue(school.externalId);\n\n\t\tlet account: AccountDto;\n\n\t\t// TODO having to check for two values in order to find an account is not optimal and should be changed.\n\t\t// The way the name field of Accounts is used for LDAP should be reconsidered, since\n\t\t// mixing the login name with a technical id from a foreign system is not a good pattern.\n\t\t// Binding the login name to an identifier from a foreign system or an identifier of a school can lead to\n\t\t// accounts not being found when the identifier changes.\n\t\ttry {\n\t\t\taccount = await this.authenticationService.loadAccount(`${externalSchoolId}/${username}`.toLowerCase(), systemId);\n\t\t} catch (err: unknown) {\n\t\t\tif (school.previousExternalId) {\n\t\t\t\tthis.logger.info(\n\t\t\t\t\tnew ErrorLoggable(\n\t\t\t\t\t\tnew Error(\n\t\t\t\t\t\t\t`Could not find LDAP account with externalSchoolId ${externalSchoolId} for user ${username}. Trying to use the previousExternalId ${school.previousExternalId} next...`\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t);\n\n\t\t\t\taccount = await this.authenticationService.loadAccount(\n\t\t\t\t\t`${school.previousExternalId}/${username}`.toLowerCase(),\n\t\t\t\t\tsystemId\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tthrow err;\n\t\t\t}\n\t\t}\n\n\t\treturn account;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LdapUserMigrationException.html":{"url":"classes/LdapUserMigrationException.html","title":"class - LdapUserMigrationException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LdapUserMigrationException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/uc/ldap-user-migration.error.ts\n \n\n\n\n \n Extends\n \n \n BadRequestException\n \n\n\n\n\n\n\n\n\n\n\n\n\n \n\n\n \n import { BadRequestException, HttpExceptionOptions } from '@nestjs/common';\nimport { ErrorLogMessage, LogMessage, Loggable, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class LdapUserMigrationException extends BadRequestException {}\n\nexport class LdapAlreadyPersistedException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('ldapAlreadyPersisted', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'LDAP is already Persisted',\n\t\t};\n\t}\n}\nexport class MissingSchoolNumberException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('LDAP migration Exception', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'The school is missing a official school number',\n\t\t};\n\t}\n}\nexport class MigrationAlreadyActivatedException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('LDAP migration Exception', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'Migration is already activated for this school',\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Learnroom.html":{"url":"interfaces/Learnroom.html","title":"interface - Learnroom","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Learnroom\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/interface/learnroom.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n getMetadata\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n getMetadata\n \n \n \n \n \n \n \n \n getMetadata: function\n\n \n \n\n\n \n \n Type : function\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { LearnroomMetadata } from '@shared/domain/types';\n\nexport interface Learnroom {\n\tgetMetadata: () => LearnroomMetadata;\n}\n\nexport interface LearnroomElement {\n\tpublish: () => void;\n\tunpublish: () => void;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/LearnroomApiModule.html":{"url":"modules/LearnroomApiModule.html","title":"module - LearnroomApiModule","body":"\n \n\n\n\n\n Modules\n LearnroomApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_LearnroomApiModule\n\n\n\ncluster_LearnroomApiModule_imports\n\n\n\ncluster_LearnroomApiModule_providers\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nLearnroomApiModule\n\nLearnroomApiModule\n\nLearnroomApiModule -->\n\nAuthorizationModule->LearnroomApiModule\n\n\n\n\n\nAuthorizationReferenceModule\n\nAuthorizationReferenceModule\n\nLearnroomApiModule -->\n\nAuthorizationReferenceModule->LearnroomApiModule\n\n\n\n\n\nCopyHelperModule\n\nCopyHelperModule\n\nLearnroomApiModule -->\n\nCopyHelperModule->LearnroomApiModule\n\n\n\n\n\nLearnroomModule\n\nLearnroomModule\n\nLearnroomApiModule -->\n\nLearnroomModule->LearnroomApiModule\n\n\n\n\n\nLessonModule\n\nLessonModule\n\nLearnroomApiModule -->\n\nLessonModule->LearnroomApiModule\n\n\n\n\n\nBoardRepo\n\nBoardRepo\n\nLearnroomApiModule -->\n\nBoardRepo->LearnroomApiModule\n\n\n\n\n\nCourseCopyUC\n\nCourseCopyUC\n\nLearnroomApiModule -->\n\nCourseCopyUC->LearnroomApiModule\n\n\n\n\n\nCourseExportUc\n\nCourseExportUc\n\nLearnroomApiModule -->\n\nCourseExportUc->LearnroomApiModule\n\n\n\n\n\nCourseRepo\n\nCourseRepo\n\nLearnroomApiModule -->\n\nCourseRepo->LearnroomApiModule\n\n\n\n\n\nCourseUc\n\nCourseUc\n\nLearnroomApiModule -->\n\nCourseUc->LearnroomApiModule\n\n\n\n\n\nDashboardModelMapper\n\nDashboardModelMapper\n\nLearnroomApiModule -->\n\nDashboardModelMapper->LearnroomApiModule\n\n\n\n\n\nDashboardUc\n\nDashboardUc\n\nLearnroomApiModule -->\n\nDashboardUc->LearnroomApiModule\n\n\n\n\n\nLessonCopyUC\n\nLessonCopyUC\n\nLearnroomApiModule -->\n\nLessonCopyUC->LearnroomApiModule\n\n\n\n\n\nRoomBoardDTOFactory\n\nRoomBoardDTOFactory\n\nLearnroomApiModule -->\n\nRoomBoardDTOFactory->LearnroomApiModule\n\n\n\n\n\nRoomBoardResponseMapper\n\nRoomBoardResponseMapper\n\nLearnroomApiModule -->\n\nRoomBoardResponseMapper->LearnroomApiModule\n\n\n\n\n\nRoomsAuthorisationService\n\nRoomsAuthorisationService\n\nLearnroomApiModule -->\n\nRoomsAuthorisationService->LearnroomApiModule\n\n\n\n\n\nRoomsUc\n\nRoomsUc\n\nLearnroomApiModule -->\n\nRoomsUc->LearnroomApiModule\n\n\n\n\n\nUserRepo\n\nUserRepo\n\nLearnroomApiModule -->\n\nUserRepo->LearnroomApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/learnroom/learnroom-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n BoardRepo\n \n \n CourseCopyUC\n \n \n CourseExportUc\n \n \n CourseRepo\n \n \n CourseUc\n \n \n DashboardModelMapper\n \n \n DashboardUc\n \n \n LessonCopyUC\n \n \n RoomBoardDTOFactory\n \n \n RoomBoardResponseMapper\n \n \n RoomsAuthorisationService\n \n \n RoomsUc\n \n \n UserRepo\n \n \n \n \n Controllers\n \n \n DashboardController\n \n \n CourseController\n \n \n RoomsController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n AuthorizationReferenceModule\n \n \n CopyHelperModule\n \n \n LearnroomModule\n \n \n LessonModule\n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationModule } from '@modules/authorization';\nimport { AuthorizationReferenceModule } from '@modules/authorization/authorization-reference.module';\nimport { CopyHelperModule } from '@modules/copy-helper';\nimport { LessonModule } from '@modules/lesson';\nimport { Module } from '@nestjs/common';\nimport { BoardRepo, CourseRepo, DashboardModelMapper, DashboardRepo, UserRepo } from '@shared/repo';\nimport { CourseController } from './controller/course.controller';\nimport { DashboardController } from './controller/dashboard.controller';\nimport { RoomsController } from './controller/rooms.controller';\nimport { LearnroomModule } from './learnroom.module';\nimport { RoomBoardResponseMapper } from './mapper/room-board-response.mapper';\nimport {\n\tCourseCopyUC,\n\tCourseExportUc,\n\tCourseUc,\n\tDashboardUc,\n\tLessonCopyUC,\n\tRoomBoardDTOFactory,\n\tRoomsAuthorisationService,\n\tRoomsUc,\n} from './uc';\n\n@Module({\n\timports: [AuthorizationModule, LessonModule, CopyHelperModule, LearnroomModule, AuthorizationReferenceModule],\n\tcontrollers: [DashboardController, CourseController, RoomsController],\n\tproviders: [\n\t\tDashboardUc,\n\t\tCourseUc,\n\t\tRoomsUc,\n\t\tRoomBoardResponseMapper,\n\t\tRoomBoardDTOFactory,\n\t\tLessonCopyUC,\n\t\tCourseCopyUC,\n\t\tRoomsAuthorisationService,\n\t\tCourseExportUc,\n\t\t// FIXME Refactor UCs to use services and remove these imports\n\t\t{\n\t\t\tprovide: 'DASHBOARD_REPO',\n\t\t\tuseClass: DashboardRepo,\n\t\t},\n\t\tDashboardModelMapper,\n\t\tCourseRepo,\n\t\tUserRepo,\n\t\tBoardRepo,\n\t],\n})\nexport class LearnroomApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/LearnroomElement.html":{"url":"interfaces/LearnroomElement.html","title":"interface - LearnroomElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n LearnroomElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/interface/learnroom.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n publish\n \n \n \n \n unpublish\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n publish\n \n \n \n \n \n \n \n \n publish: function\n\n \n \n\n\n \n \n Type : function\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n unpublish\n \n \n \n \n \n \n \n \n unpublish: function\n\n \n \n\n\n \n \n Type : function\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { LearnroomMetadata } from '@shared/domain/types';\n\nexport interface Learnroom {\n\tgetMetadata: () => LearnroomMetadata;\n}\n\nexport interface LearnroomElement {\n\tpublish: () => void;\n\tunpublish: () => void;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/LearnroomModule.html":{"url":"modules/LearnroomModule.html","title":"module - LearnroomModule","body":"\n \n\n\n\n\n Modules\n LearnroomModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_LearnroomModule\n\n\n\ncluster_LearnroomModule_imports\n\n\n\ncluster_LearnroomModule_providers\n\n\n\ncluster_LearnroomModule_exports\n\n\n\n\nBoardModule\n\nBoardModule\n\n\n\nLearnroomModule\n\nLearnroomModule\n\nLearnroomModule -->\n\nBoardModule->LearnroomModule\n\n\n\n\n\nCopyHelperModule\n\nCopyHelperModule\n\nLearnroomModule -->\n\nCopyHelperModule->LearnroomModule\n\n\n\n\n\nLessonModule\n\nLessonModule\n\nLearnroomModule -->\n\nLessonModule->LearnroomModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nLearnroomModule -->\n\nLoggerModule->LearnroomModule\n\n\n\n\n\nTaskModule\n\nTaskModule\n\nLearnroomModule -->\n\nTaskModule->LearnroomModule\n\n\n\n\n\nCommonCartridgeExportService \n\nCommonCartridgeExportService \n\nCommonCartridgeExportService -->\n\nLearnroomModule->CommonCartridgeExportService \n\n\n\n\n\nCourseCopyService \n\nCourseCopyService \n\nCourseCopyService -->\n\nLearnroomModule->CourseCopyService \n\n\n\n\n\nCourseGroupService \n\nCourseGroupService \n\nCourseGroupService -->\n\nLearnroomModule->CourseGroupService \n\n\n\n\n\nCourseService \n\nCourseService \n\nCourseService -->\n\nLearnroomModule->CourseService \n\n\n\n\n\nRoomsService \n\nRoomsService \n\nRoomsService -->\n\nLearnroomModule->RoomsService \n\n\n\n\n\nBoardCopyService\n\nBoardCopyService\n\nLearnroomModule -->\n\nBoardCopyService->LearnroomModule\n\n\n\n\n\nBoardRepo\n\nBoardRepo\n\nLearnroomModule -->\n\nBoardRepo->LearnroomModule\n\n\n\n\n\nColumnBoardTargetService\n\nColumnBoardTargetService\n\nLearnroomModule -->\n\nColumnBoardTargetService->LearnroomModule\n\n\n\n\n\nCommonCartridgeExportService\n\nCommonCartridgeExportService\n\nLearnroomModule -->\n\nCommonCartridgeExportService->LearnroomModule\n\n\n\n\n\nCourseCopyService\n\nCourseCopyService\n\nLearnroomModule -->\n\nCourseCopyService->LearnroomModule\n\n\n\n\n\nCourseGroupRepo\n\nCourseGroupRepo\n\nLearnroomModule -->\n\nCourseGroupRepo->LearnroomModule\n\n\n\n\n\nCourseGroupService\n\nCourseGroupService\n\nLearnroomModule -->\n\nCourseGroupService->LearnroomModule\n\n\n\n\n\nCourseRepo\n\nCourseRepo\n\nLearnroomModule -->\n\nCourseRepo->LearnroomModule\n\n\n\n\n\nCourseService\n\nCourseService\n\nLearnroomModule -->\n\nCourseService->LearnroomModule\n\n\n\n\n\nDashboardModelMapper\n\nDashboardModelMapper\n\nLearnroomModule -->\n\nDashboardModelMapper->LearnroomModule\n\n\n\n\n\nRoomsService\n\nRoomsService\n\nLearnroomModule -->\n\nRoomsService->LearnroomModule\n\n\n\n\n\nUserRepo\n\nUserRepo\n\nLearnroomModule -->\n\nUserRepo->LearnroomModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/learnroom/learnroom.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n BoardCopyService\n \n \n BoardRepo\n \n \n ColumnBoardTargetService\n \n \n CommonCartridgeExportService\n \n \n CourseCopyService\n \n \n CourseGroupRepo\n \n \n CourseGroupService\n \n \n CourseRepo\n \n \n CourseService\n \n \n DashboardModelMapper\n \n \n RoomsService\n \n \n UserRepo\n \n \n \n \n Imports\n \n \n BoardModule\n \n \n CopyHelperModule\n \n \n LessonModule\n \n \n LoggerModule\n \n \n TaskModule\n \n \n \n \n Exports\n \n \n CommonCartridgeExportService\n \n \n CourseCopyService\n \n \n CourseGroupService\n \n \n CourseService\n \n \n RoomsService\n \n \n \n \n \n\n\n \n\n\n \n import { BoardModule } from '@modules/board';\nimport { CopyHelperModule } from '@modules/copy-helper';\nimport { LessonModule } from '@modules/lesson';\nimport { TaskModule } from '@modules/task';\nimport { Module } from '@nestjs/common';\nimport { BoardRepo, CourseGroupRepo, CourseRepo, DashboardModelMapper, DashboardRepo, UserRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport {\n\tBoardCopyService,\n\tColumnBoardTargetService,\n\tCommonCartridgeExportService,\n\tCourseCopyService,\n\tCourseGroupService,\n\tCourseService,\n\tRoomsService,\n} from './service';\n\n@Module({\n\timports: [LessonModule, TaskModule, CopyHelperModule, BoardModule, LoggerModule],\n\tproviders: [\n\t\t{\n\t\t\tprovide: 'DASHBOARD_REPO',\n\t\t\tuseClass: DashboardRepo,\n\t\t},\n\t\tDashboardModelMapper,\n\t\tCourseRepo,\n\t\tBoardRepo,\n\t\tUserRepo,\n\t\tBoardCopyService,\n\t\tCourseCopyService,\n\t\tRoomsService,\n\t\tCourseService,\n\t\tCommonCartridgeExportService,\n\t\tColumnBoardTargetService,\n\t\tCourseGroupService,\n\t\tCourseGroupRepo,\n\t],\n\texports: [CourseCopyService, CourseService, RoomsService, CommonCartridgeExportService, CourseGroupService],\n})\nexport class LearnroomModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LegacyLogger.html":{"url":"injectables/LegacyLogger.html","title":"injectable - LegacyLogger","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LegacyLogger\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/logger/legacy-logger.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n context\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n createMessage\n \n \n debug\n \n \n error\n \n \n http\n \n \n log\n \n \n setContext\n \n \n Private\n stringifiedMessage\n \n \n warn\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: WinstonLogger)\n \n \n \n \n Defined in apps/server/src/core/logger/legacy-logger.service.ts:22\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n WinstonLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n createMessage\n \n \n \n \n \n \n \n createMessage(message, context?: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/legacy-logger.service.ts:54\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n \n\n \n No\n \n\n\n \n \n context\n \n string | undefined\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : { message: any; context: string; }\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n debug\n \n \n \n \n \n \ndebug(message, context?: string)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/legacy-logger.service.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n \n\n \n No\n \n\n\n \n \n context\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n error\n \n \n \n \n \n \nerror(message, trace?, context?: string)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/legacy-logger.service.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n \n\n \n No\n \n\n\n \n \n trace\n \n \n\n \n Yes\n \n\n\n \n \n context\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n http\n \n \n \n \n \n \nhttp(message: RequestLoggingBody, context?: string)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/legacy-logger.service.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n RequestLoggingBody\n \n\n \n No\n \n\n\n \n \n context\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n log\n \n \n \n \n \n \nlog(message, context?: string)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/legacy-logger.service.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n \n\n \n No\n \n\n\n \n \n context\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n setContext\n \n \n \n \n \n \nsetContext(name: string)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/legacy-logger.service.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n stringifiedMessage\n \n \n \n \n \n \n \n stringifiedMessage(message)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/legacy-logger.service.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n message\n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n warn\n \n \n \n \n \n \nwarn(message, context?: string)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/legacy-logger.service.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n \n\n \n No\n \n\n\n \n \n context\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n context\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : ''\n \n \n \n \n Defined in apps/server/src/core/logger/legacy-logger.service.ts:22\n \n \n\n \n \n This Logger Service can be injected into every Class,\nuse setContext() with CustomProviderClass.name that will be added to every log.\nIt implements @ILegacyLogger which provides the logger methods.\nCAUTION: PREPARE STRINGS AS LOG DATA, DO NOT LOG COMPLEX DATA STRUCTURES\n\n \n \n\n \n \n\n\n \n\n\n \n import { Inject, Injectable, Scope } from '@nestjs/common';\nimport { WINSTON_MODULE_PROVIDER } from 'nest-winston';\nimport util from 'util';\nimport { Logger as WinstonLogger } from 'winston';\nimport { RequestLoggingBody } from './interfaces';\nimport { ILegacyLogger } from './interfaces/legacy-logger.interface';\n\n@Injectable({ scope: Scope.TRANSIENT })\n/**\n * @deprecated The new logger for loggables should be used.\n * Default logger for server application.\n * Must implement ILegacyLogger but must not extend ConsoleLogger (this can be changed).\n * Transient injection: Wherever injected, a separate instance will be created, that can be provided with a custom context.\n */\nexport class LegacyLogger implements ILegacyLogger {\n\t/**\n\t * This Logger Service can be injected into every Class,\n\t * use setContext() with CustomProviderClass.name that will be added to every log.\n\t * It implements @ILegacyLogger which provides the logger methods.\n\t * CAUTION: PREPARE STRINGS AS LOG DATA, DO NOT LOG COMPLEX DATA STRUCTURES\n\t */\n\tprivate context = '';\n\n\tconstructor(@Inject(WINSTON_MODULE_PROVIDER) private readonly logger: WinstonLogger) {}\n\n\tlog(message: unknown, context?: string): void {\n\t\tthis.logger.info(this.createMessage(message, context));\n\t}\n\n\twarn(message: unknown, context?: string): void {\n\t\tthis.logger.warning(this.createMessage(message, context));\n\t}\n\n\tdebug(message: unknown, context?: string): void {\n\t\tthis.logger.debug(this.createMessage(message, context));\n\t}\n\n\thttp(message: RequestLoggingBody, context?: string): void {\n\t\tthis.logger.notice(this.createMessage(message, context));\n\t}\n\n\terror(message: unknown, trace?: unknown, context?: string): void {\n\t\tconst result = {\n\t\t\tmessage,\n\t\t\ttrace,\n\t\t};\n\t\tthis.logger.error(this.createMessage(result, context));\n\t}\n\n\tsetContext(name: string) {\n\t\tthis.context = name;\n\t}\n\n\tprivate createMessage(message: unknown, context?: string | undefined) {\n\t\treturn { message: this.stringifiedMessage(message), context: context || this.context };\n\t}\n\n\tprivate stringifiedMessage(message: unknown) {\n\t\tconst stringifiedMessage = util.inspect(message).replace(/\\n/g, '').replace(/\\\\n/g, '');\n\t\treturn stringifiedMessage;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LegacySchoolDo.html":{"url":"classes/LegacySchoolDo.html","title":"class - LegacySchoolDo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LegacySchoolDo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/legacy-school.do.ts\n \n\n \n Deprecated\n \n \n because it extends the deprecated BaseDO.\n \n\n\n \n Extends\n \n \n BaseDO\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n externalId\n \n \n Optional\n features\n \n \n federalState\n \n \n Optional\n inMaintenanceSince\n \n \n Optional\n inUserMigration\n \n \n name\n \n \n Optional\n officialSchoolNumber\n \n \n Optional\n previousExternalId\n \n \n Optional\n schoolYear\n \n \n Optional\n systems\n \n \n Optional\n userLoginMigrationId\n \n \n Optional\n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(params: LegacySchoolDo)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:31\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n \n LegacySchoolDo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n features\n \n \n \n \n \n \n Type : SchoolFeatures[]\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n federalState\n \n \n \n \n \n \n Type : FederalStateEntity\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n inMaintenanceSince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n inUserMigration\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n officialSchoolNumber\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n previousExternalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n schoolYear\n \n \n \n \n \n \n Type : SchoolYearEntity\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n systems\n \n \n \n \n \n \n Type : EntityId[]\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n userLoginMigrationId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/legacy-school.do.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from BaseDO\n\n \n \n \n \n Defined in BaseDO:5\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { FederalStateEntity, SchoolFeatures, SchoolYearEntity } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseDO } from './base.do';\n\n/**\n * @deprecated because it extends the deprecated BaseDO.\n */\nexport class LegacySchoolDo extends BaseDO {\n\texternalId?: string;\n\n\tinMaintenanceSince?: Date;\n\n\tinUserMigration?: boolean;\n\n\tpreviousExternalId?: string;\n\n\tname: string;\n\n\tofficialSchoolNumber?: string;\n\n\tsystems?: EntityId[];\n\n\tfeatures?: SchoolFeatures[];\n\n\t// TODO: N21-990 Refactoring: Create domain objects for schoolYear and federalState\n\tschoolYear?: SchoolYearEntity;\n\n\tuserLoginMigrationId?: EntityId;\n\n\t// TODO: N21-990 Refactoring: Create domain objects for schoolYear and federalState\n\tfederalState: FederalStateEntity;\n\n\tconstructor(params: LegacySchoolDo) {\n\t\tsuper();\n\t\tthis.id = params.id;\n\t\tthis.externalId = params.externalId;\n\t\tthis.features = params.features;\n\t\tthis.inMaintenanceSince = params.inMaintenanceSince;\n\t\tthis.inUserMigration = params.inUserMigration;\n\t\tthis.name = params.name;\n\t\tthis.previousExternalId = params.previousExternalId;\n\t\tthis.officialSchoolNumber = params.officialSchoolNumber;\n\t\tthis.schoolYear = params.schoolYear;\n\t\tthis.systems = params.systems;\n\t\tthis.userLoginMigrationId = params.userLoginMigrationId;\n\t\tthis.federalState = params.federalState;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LegacySchoolFactory.html":{"url":"classes/LegacySchoolFactory.html","title":"class - LegacySchoolFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LegacySchoolFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/domainobject/legacy-school.factory.ts\n \n\n\n\n \n Extends\n \n \n DoBaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n buildWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \n \n buildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { LegacySchoolDo } from '@shared/domain/domainobject';\nimport { federalStateFactory } from '../federal-state.factory';\nimport { schoolYearFactory } from '../schoolyear.factory';\nimport { DoBaseFactory } from './do-base.factory';\n\nclass LegacySchoolFactory extends DoBaseFactory {}\n\nexport const legacySchoolDoFactory = LegacySchoolFactory.define(LegacySchoolDo, ({ sequence }) => {\n\treturn {\n\t\tname: `schoolName-${sequence}`,\n\t\texternalId: '123',\n\t\tfeatures: [],\n\t\tinMaintenanceSince: new Date(2020, 1),\n\t\tinUserMigration: true,\n\t\toauthMigrationMandatory: new Date(2020, 1),\n\t\toauthMigrationPossible: new Date(2020, 1),\n\t\toauthMigrationFinished: new Date(2020, 1),\n\t\tpreviousExternalId: '456',\n\t\tofficialSchoolNumber: '789',\n\t\tsystems: [],\n\t\tfederalState: federalStateFactory.build(),\n\t\tschoolYear: schoolYearFactory.build(),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/LegacySchoolModule.html":{"url":"modules/LegacySchoolModule.html","title":"module - LegacySchoolModule","body":"\n \n\n\n\n\n Modules\n LegacySchoolModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_LegacySchoolModule\n\n\n\ncluster_LegacySchoolModule_exports\n\n\n\ncluster_LegacySchoolModule_imports\n\n\n\ncluster_LegacySchoolModule_providers\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nLegacySchoolModule\n\nLegacySchoolModule\n\nLegacySchoolModule -->\n\nLoggerModule->LegacySchoolModule\n\n\n\n\n\nFederalStateService \n\nFederalStateService \n\nFederalStateService -->\n\nLegacySchoolModule->FederalStateService \n\n\n\n\n\nLegacySchoolService \n\nLegacySchoolService \n\nLegacySchoolService -->\n\nLegacySchoolModule->LegacySchoolService \n\n\n\n\n\nSchoolYearService \n\nSchoolYearService \n\nSchoolYearService -->\n\nLegacySchoolModule->SchoolYearService \n\n\n\n\n\nFederalStateRepo\n\nFederalStateRepo\n\nLegacySchoolModule -->\n\nFederalStateRepo->LegacySchoolModule\n\n\n\n\n\nFederalStateService\n\nFederalStateService\n\nLegacySchoolModule -->\n\nFederalStateService->LegacySchoolModule\n\n\n\n\n\nLegacySchoolRepo\n\nLegacySchoolRepo\n\nLegacySchoolModule -->\n\nLegacySchoolRepo->LegacySchoolModule\n\n\n\n\n\nLegacySchoolService\n\nLegacySchoolService\n\nLegacySchoolModule -->\n\nLegacySchoolService->LegacySchoolModule\n\n\n\n\n\nSchoolValidationService\n\nSchoolValidationService\n\nLegacySchoolModule -->\n\nSchoolValidationService->LegacySchoolModule\n\n\n\n\n\nSchoolYearRepo\n\nSchoolYearRepo\n\nLegacySchoolModule -->\n\nSchoolYearRepo->LegacySchoolModule\n\n\n\n\n\nSchoolYearService\n\nSchoolYearService\n\nLegacySchoolModule -->\n\nSchoolYearService->LegacySchoolModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/legacy-school/legacy-school.module.ts\n \n\n\n \n Deprecated\n \n \n because it uses the deprecated LegacySchoolDo.\n \n\n\n\n \n \n \n Providers\n \n \n FederalStateRepo\n \n \n FederalStateService\n \n \n LegacySchoolRepo\n \n \n LegacySchoolService\n \n \n SchoolValidationService\n \n \n SchoolYearRepo\n \n \n SchoolYearService\n \n \n \n \n Imports\n \n \n LoggerModule\n \n \n \n \n Exports\n \n \n FederalStateService\n \n \n LegacySchoolService\n \n \n SchoolYearService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { FederalStateRepo, LegacySchoolRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { SchoolYearRepo } from './repo';\nimport { FederalStateService, LegacySchoolService, SchoolValidationService, SchoolYearService } from './service';\n\n/**\n * @deprecated because it uses the deprecated LegacySchoolDo.\n */\n@Module({\n\timports: [LoggerModule],\n\tproviders: [\n\t\tLegacySchoolRepo,\n\t\tLegacySchoolService,\n\t\tSchoolYearService,\n\t\tSchoolYearRepo,\n\t\tFederalStateService,\n\t\tFederalStateRepo,\n\t\tSchoolValidationService,\n\t],\n\texports: [LegacySchoolService, SchoolYearService, FederalStateService],\n})\nexport class LegacySchoolModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LegacySchoolRepo.html":{"url":"injectables/LegacySchoolRepo.html","title":"injectable - LegacySchoolRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LegacySchoolRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/school/legacy-school.repo.ts\n \n\n \n Deprecated\n \n \n because it uses the deprecated LegacySchoolDo.\n \n\n\n \n Extends\n \n \n BaseDORepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findByExternalId\n \n \n Async\n findBySchoolNumber\n \n \n mapDOToEntityProperties\n \n \n mapEntityToDO\n \n \n Private\n Async\n createOrUpdateEntity\n \n \n Async\n delete\n \n \n Async\n deleteById\n \n \n Async\n findById\n \n \n Private\n removeProtectedEntityFields\n \n \n Async\n save\n \n \n Async\n saveAll\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(_em: EntityManager, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/shared/repo/school/legacy-school.repo.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n _em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findByExternalId\n \n \n \n \n \n \n \n findByExternalId(externalId: string, systemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/school/legacy-school.repo.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalId\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findBySchoolNumber\n \n \n \n \n \n \n \n findBySchoolNumber(officialSchoolNumber: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/school/legacy-school.repo.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n officialSchoolNumber\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapDOToEntityProperties\n \n \n \n \n \n \nmapDOToEntityProperties(entityDO: LegacySchoolDo)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:57\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : EntityData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapEntityToDO\n \n \n \n \n \n \nmapEntityToDO(entity: SchoolEntity)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:40\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n SchoolEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LegacySchoolDo\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createOrUpdateEntity\n \n \n \n \n \n \n \n createOrUpdateEntity(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:32\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(domainObjects: DO[] | DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:61\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[] | DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteById\n \n \n \n \n \n \n [object Object],[object Object],[object Object]\n \n \n \n \n \n deleteById(id: EntityId | EntityId[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:78\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:90\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeProtectedEntityFields\n \n \n \n \n \n \n \n removeProtectedEntityFields(entityData: EntityData)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:98\n\n \n \n\n\n \n \n Ignore base entity properties when updating entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityData\n \n EntityData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAll\n \n \n \n \n \n \n \n saveAll(domainObjects: DO[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/school/legacy-school.repo.ts:19\n \n \n\n \n \n\n \n\n\n \n import { EntityData, EntityName } from '@mikro-orm/core';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { LegacySchoolDo } from '@shared/domain/domainobject';\nimport { SchoolEntity, SystemEntity, UserLoginMigrationEntity } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacyLogger } from '@src/core/logger';\nimport { BaseDORepo } from '../base.do.repo';\n\n/**\n * @deprecated because it uses the deprecated LegacySchoolDo.\n */\n@Injectable()\nexport class LegacySchoolRepo extends BaseDORepo {\n\tconstructor(protected readonly _em: EntityManager, protected readonly logger: LegacyLogger) {\n\t\tsuper(_em, logger);\n\t}\n\n\tget entityName(): EntityName {\n\t\treturn SchoolEntity;\n\t}\n\n\tasync findByExternalId(externalId: string, systemId: string): Promise {\n\t\tconst school: SchoolEntity | null = await this._em.findOne(SchoolEntity, { externalId, systems: systemId });\n\n\t\tconst schoolDo: LegacySchoolDo | null = school ? this.mapEntityToDO(school) : null;\n\t\treturn schoolDo;\n\t}\n\n\tasync findBySchoolNumber(officialSchoolNumber: string): Promise {\n\t\tconst [schools, count] = await this._em.findAndCount(SchoolEntity, { officialSchoolNumber });\n\t\tif (count > 1) {\n\t\t\tthrow new InternalServerErrorException(`Multiple schools found for officialSchoolNumber ${officialSchoolNumber}`);\n\t\t}\n\n\t\tconst schoolDo: LegacySchoolDo | null = schools[0] ? this.mapEntityToDO(schools[0]) : null;\n\t\treturn schoolDo;\n\t}\n\n\tmapEntityToDO(entity: SchoolEntity): LegacySchoolDo {\n\t\treturn new LegacySchoolDo({\n\t\t\tid: entity.id,\n\t\t\texternalId: entity.externalId,\n\t\t\tfeatures: entity.features,\n\t\t\tinMaintenanceSince: entity.inMaintenanceSince,\n\t\t\tinUserMigration: entity.inUserMigration,\n\t\t\tname: entity.name,\n\t\t\tpreviousExternalId: entity.previousExternalId,\n\t\t\tofficialSchoolNumber: entity.officialSchoolNumber,\n\t\t\tschoolYear: entity.schoolYear,\n\t\t\tsystems: entity.systems.isInitialized() ? entity.systems.getItems().map((system: SystemEntity) => system.id) : [],\n\t\t\tuserLoginMigrationId: entity.userLoginMigration?.id,\n\t\t\tfederalState: entity.federalState,\n\t\t});\n\t}\n\n\tmapDOToEntityProperties(entityDO: LegacySchoolDo): EntityData {\n\t\treturn {\n\t\t\texternalId: entityDO.externalId,\n\t\t\tfeatures: entityDO.features,\n\t\t\tinMaintenanceSince: entityDO.inMaintenanceSince,\n\t\t\tinUserMigration: entityDO.inUserMigration,\n\t\t\tname: entityDO.name,\n\t\t\tpreviousExternalId: entityDO.previousExternalId,\n\t\t\tofficialSchoolNumber: entityDO.officialSchoolNumber,\n\t\t\tschoolYear: entityDO.schoolYear,\n\t\t\tsystems: entityDO.systems\n\t\t\t\t? entityDO.systems.map((systemId: EntityId) => this._em.getReference(SystemEntity, systemId))\n\t\t\t\t: [],\n\t\t\tuserLoginMigration: entityDO.userLoginMigrationId\n\t\t\t\t? this._em.getReference(UserLoginMigrationEntity, entityDO.userLoginMigrationId)\n\t\t\t\t: undefined,\n\t\t\tfederalState: entityDO.federalState,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LegacySchoolRule.html":{"url":"injectables/LegacySchoolRule.html","title":"injectable - LegacySchoolRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LegacySchoolRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/legacy-school.rule.ts\n \n\n \n Deprecated\n \n \n because it uses the deprecated LegacySchoolDo.\n \n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/legacy-school.rule.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, entity: LegacySchoolDo, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/legacy-school.rule.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, object: AuthorizableObject | BaseDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/legacy-school.rule.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n object\n \n AuthorizableObject | BaseDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { AuthorizableObject } from '@shared/domain/domain-object';\nimport { BaseDO, LegacySchoolDo } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { AuthorizationHelper } from '../service/authorization.helper';\nimport { AuthorizationContext, Rule } from '../type';\n\n/**\n * @deprecated because it uses the deprecated LegacySchoolDo.\n */\n@Injectable()\nexport class LegacySchoolRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper) {}\n\n\tpublic isApplicable(user: User, object: AuthorizableObject | BaseDO): boolean {\n\t\tconst isMatched = object instanceof LegacySchoolDo;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, entity: LegacySchoolDo, context: AuthorizationContext): boolean {\n\t\tconst hasPermission =\n\t\t\tthis.authorizationHelper.hasAllPermissions(user, context.requiredPermissions) && user.school.id === entity.id;\n\n\t\treturn hasPermission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LegacySchoolService.html":{"url":"injectables/LegacySchoolService.html","title":"injectable - LegacySchoolService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LegacySchoolService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/legacy-school/service/legacy-school.service.ts\n \n\n \n Deprecated\n \n \n because it uses the deprecated LegacySchoolDo.\n \n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getSchoolByExternalId\n \n \n Async\n getSchoolById\n \n \n Async\n getSchoolBySchoolNumber\n \n \n Async\n hasFeature\n \n \n Async\n removeFeature\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolRepo: LegacySchoolRepo, schoolValidationService: SchoolValidationService)\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/service/legacy-school.service.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolRepo\n \n \n LegacySchoolRepo\n \n \n \n No\n \n \n \n \n schoolValidationService\n \n \n SchoolValidationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getSchoolByExternalId\n \n \n \n \n \n \n \n getSchoolByExternalId(externalId: string, systemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/legacy-school.service.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalId\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getSchoolById\n \n \n \n \n \n \n \n getSchoolById(id: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/legacy-school.service.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getSchoolBySchoolNumber\n \n \n \n \n \n \n \n getSchoolBySchoolNumber(schoolNumber: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/legacy-school.service.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolNumber\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n hasFeature\n \n \n \n \n \n \n \n hasFeature(schoolId: EntityId, feature: SchoolFeatures)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/legacy-school.service.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n feature\n \n SchoolFeatures\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n removeFeature\n \n \n \n \n \n \n \n removeFeature(schoolId: EntityId, feature: SchoolFeatures)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/legacy-school.service.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n feature\n \n SchoolFeatures\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(school: LegacySchoolDo, validate)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/legacy-school.service.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n school\n \n LegacySchoolDo\n \n\n \n No\n \n\n \n \n\n \n \n validate\n \n \n\n \n No\n \n\n \n false\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { LegacySchoolDo } from '@shared/domain/domainobject';\nimport { SchoolFeatures } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacySchoolRepo } from '@shared/repo';\nimport { SchoolValidationService } from './validation';\n\n/**\n * @deprecated because it uses the deprecated LegacySchoolDo.\n */\n@Injectable()\nexport class LegacySchoolService {\n\tconstructor(\n\t\tprivate readonly schoolRepo: LegacySchoolRepo,\n\t\tprivate readonly schoolValidationService: SchoolValidationService\n\t) {}\n\n\tasync hasFeature(schoolId: EntityId, feature: SchoolFeatures): Promise {\n\t\tconst entity: LegacySchoolDo = await this.schoolRepo.findById(schoolId);\n\t\treturn entity.features ? entity.features.includes(feature) : false;\n\t}\n\n\tasync removeFeature(schoolId: EntityId, feature: SchoolFeatures): Promise {\n\t\tconst school: LegacySchoolDo = await this.schoolRepo.findById(schoolId);\n\t\tif (school.features && school.features.includes(feature)) {\n\t\t\tschool.features = school.features.filter((f: SchoolFeatures) => f !== feature);\n\t\t\tawait this.schoolRepo.save(school);\n\t\t}\n\t}\n\n\tasync getSchoolById(id: string): Promise {\n\t\tconst schoolDO: LegacySchoolDo = await this.schoolRepo.findById(id);\n\n\t\treturn schoolDO;\n\t}\n\n\tasync getSchoolByExternalId(externalId: string, systemId: string): Promise {\n\t\tconst schoolDO: LegacySchoolDo | null = await this.schoolRepo.findByExternalId(externalId, systemId);\n\n\t\treturn schoolDO;\n\t}\n\n\tasync getSchoolBySchoolNumber(schoolNumber: string): Promise {\n\t\tconst schoolDO: LegacySchoolDo | null = await this.schoolRepo.findBySchoolNumber(schoolNumber);\n\n\t\treturn schoolDO;\n\t}\n\n\tasync save(school: LegacySchoolDo, validate = false): Promise {\n\t\tif (validate) {\n\t\t\tawait this.schoolValidationService.validate(school);\n\t\t}\n\n\t\tconst ret: LegacySchoolDo = await this.schoolRepo.save(school);\n\n\t\treturn ret;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LegacySystemRepo.html":{"url":"injectables/LegacySystemRepo.html","title":"injectable - LegacySystemRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LegacySystemRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/system/legacy-system.repo.ts\n \n\n \n Deprecated\n \n \n [object Object],[object Object],[object Object]\n \n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findAll\n \n \n Async\n findByFilter\n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findAll\n \n \n \n \n \n \n \n findAll()\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/system/legacy-system.repo.ts:36\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n findByFilter\n \n \n \n \n \n \n \n findByFilter(type: SystemTypeEnum)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/system/legacy-system.repo.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n SystemTypeEnum\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/system/legacy-system.repo.ts:13\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { SystemEntity } from '@shared/domain/entity';\nimport { SystemTypeEnum } from '@shared/domain/types';\nimport { BaseRepo } from '@shared/repo/base.repo';\nimport { SystemScope } from '@shared/repo/system/system-scope';\n\n// TODO N21-1547: Fully replace this service with SystemService\n/**\n * @deprecated use the {@link SystemRepo} from the system module instead\n */\n@Injectable()\nexport class LegacySystemRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn SystemEntity;\n\t}\n\n\tasync findByFilter(type: SystemTypeEnum): Promise {\n\t\tconst scope = new SystemScope();\n\t\tswitch (type) {\n\t\t\tcase SystemTypeEnum.LDAP:\n\t\t\t\tscope.withLdapConfig();\n\t\t\t\tbreak;\n\t\t\tcase SystemTypeEnum.OAUTH:\n\t\t\t\tscope.withOauthConfig();\n\t\t\t\tbreak;\n\t\t\tcase SystemTypeEnum.OIDC:\n\t\t\t\tscope.withOidcConfig();\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\tthrow new Error(`system type ${type} unknown`);\n\t\t}\n\t\treturn this._em.find(SystemEntity, scope.query);\n\t}\n\n\tasync findAll(): Promise {\n\t\treturn this._em.find(SystemEntity, {});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LegacySystemService.html":{"url":"injectables/LegacySystemService.html","title":"injectable - LegacySystemService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LegacySystemService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/service/legacy-system.service.ts\n \n\n \n Deprecated\n \n \n [object Object],[object Object]\n \n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findById\n \n \n Async\n findByType\n \n \n Private\n Async\n generateBrokerSystems\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(systemRepo: LegacySystemRepo, idmOauthService: IdentityManagementOauthService)\n \n \n \n \n Defined in apps/server/src/modules/system/service/legacy-system.service.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemRepo\n \n \n LegacySystemRepo\n \n \n \n No\n \n \n \n \n idmOauthService\n \n \n IdentityManagementOauthService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/service/legacy-system.service.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByType\n \n \n \n \n \n \n \n findByType(type?: SystemTypeEnum)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/service/legacy-system.service.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n SystemTypeEnum\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n generateBrokerSystems\n \n \n \n \n \n \n \n generateBrokerSystems(systems: SystemEntity[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/service/legacy-system.service.ts:71\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n systems\n \n SystemEntity[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(systemDto: SystemDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/service/legacy-system.service.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemDto\n \n SystemDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { IdentityManagementOauthService } from '@infra/identity-management';\nimport { Injectable } from '@nestjs/common';\nimport { EntityNotFoundError } from '@shared/common';\nimport { SystemEntity } from '@shared/domain/entity';\nimport { EntityId, SystemTypeEnum } from '@shared/domain/types';\nimport { LegacySystemRepo } from '@shared/repo';\nimport { SystemMapper } from '../mapper';\nimport { SystemDto } from './dto';\n\n// TODO N21-1547: Fully replace this service with SystemService\n/**\n * @deprecated use {@link SystemService}\n */\n@Injectable()\nexport class LegacySystemService {\n\tconstructor(\n\t\tprivate readonly systemRepo: LegacySystemRepo,\n\t\tprivate readonly idmOauthService: IdentityManagementOauthService\n\t) {}\n\n\tasync findById(id: EntityId): Promise {\n\t\tlet system = await this.systemRepo.findById(id);\n\t\t[system] = await this.generateBrokerSystems([system]);\n\t\tif (!system) {\n\t\t\tthrow new EntityNotFoundError(SystemEntity.name, { id });\n\t\t}\n\t\treturn SystemMapper.mapFromEntityToDto(system);\n\t}\n\n\tasync findByType(type?: SystemTypeEnum): Promise {\n\t\tlet systems: SystemEntity[];\n\t\tif (type && type === SystemTypeEnum.OAUTH) {\n\t\t\tconst oauthSystems = await this.systemRepo.findByFilter(SystemTypeEnum.OAUTH);\n\t\t\tconst oidcSystems = await this.systemRepo.findByFilter(SystemTypeEnum.OIDC);\n\t\t\tsystems = [...oauthSystems, ...oidcSystems];\n\t\t} else if (type) {\n\t\t\tsystems = await this.systemRepo.findByFilter(type);\n\t\t} else {\n\t\t\tsystems = await this.systemRepo.findAll();\n\t\t}\n\t\tsystems = await this.generateBrokerSystems(systems);\n\t\treturn SystemMapper.mapFromEntitiesToDtos(systems);\n\t}\n\n\tasync save(systemDto: SystemDto): Promise {\n\t\tlet system: SystemEntity;\n\t\tif (systemDto.id) {\n\t\t\tsystem = await this.systemRepo.findById(systemDto.id);\n\t\t\tsystem.type = systemDto.type;\n\t\t\tsystem.alias = systemDto.alias;\n\t\t\tsystem.displayName = systemDto.displayName;\n\t\t\tsystem.oauthConfig = systemDto.oauthConfig;\n\t\t\tsystem.provisioningStrategy = systemDto.provisioningStrategy;\n\t\t\tsystem.provisioningUrl = systemDto.provisioningUrl;\n\t\t\tsystem.url = systemDto.url;\n\t\t} else {\n\t\t\tsystem = new SystemEntity({\n\t\t\t\ttype: systemDto.type,\n\t\t\t\talias: systemDto.alias,\n\t\t\t\tdisplayName: systemDto.displayName,\n\t\t\t\toauthConfig: systemDto.oauthConfig,\n\t\t\t\tprovisioningStrategy: systemDto.provisioningStrategy,\n\t\t\t\tprovisioningUrl: systemDto.provisioningUrl,\n\t\t\t\turl: systemDto.url,\n\t\t\t});\n\t\t}\n\t\tawait this.systemRepo.save(system);\n\t\treturn SystemMapper.mapFromEntityToDto(system);\n\t}\n\n\tprivate async generateBrokerSystems(systems: SystemEntity[]): Promise {\n\t\tif (!(await this.idmOauthService.isOauthConfigAvailable())) {\n\t\t\treturn systems.filter((system) => !(system.oidcConfig && !system.oauthConfig));\n\t\t}\n\t\tconst brokerConfig = await this.idmOauthService.getOauthConfig();\n\t\tlet generatedSystem: SystemEntity;\n\t\treturn systems.map((system) => {\n\t\t\tif (system.oidcConfig && !system.oauthConfig) {\n\t\t\t\tgeneratedSystem = new SystemEntity({\n\t\t\t\t\ttype: SystemTypeEnum.OAUTH,\n\t\t\t\t\talias: system.alias,\n\t\t\t\t\tdisplayName: system.displayName ? system.displayName : system.alias,\n\t\t\t\t\tprovisioningStrategy: system.provisioningStrategy,\n\t\t\t\t\tprovisioningUrl: system.provisioningUrl,\n\t\t\t\t\turl: system.url,\n\t\t\t\t});\n\t\t\t\tgeneratedSystem.id = system.id;\n\t\t\t\tgeneratedSystem.oauthConfig = { ...brokerConfig };\n\t\t\t\tgeneratedSystem.oauthConfig.idpHint = system.oidcConfig.idpHint;\n\t\t\t\tgeneratedSystem.oauthConfig.redirectUri += system.id;\n\t\t\t\treturn generatedSystem;\n\t\t\t}\n\t\t\treturn system;\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/LessonApiModule.html":{"url":"modules/LessonApiModule.html","title":"module - LessonApiModule","body":"\n \n\n\n\n\n Modules\n LessonApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_LessonApiModule\n\n\n\ncluster_LessonApiModule_imports\n\n\n\ncluster_LessonApiModule_providers\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nLessonApiModule\n\nLessonApiModule\n\nLessonApiModule -->\n\nAuthorizationModule->LessonApiModule\n\n\n\n\n\nLessonModule\n\nLessonModule\n\nLessonApiModule -->\n\nLessonModule->LessonApiModule\n\n\n\n\n\nLessonUC\n\nLessonUC\n\nLessonApiModule -->\n\nLessonUC->LessonApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/lesson/lesson-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n LessonUC\n \n \n \n \n Controllers\n \n \n LessonController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n LessonModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { LessonController } from './controller';\nimport { LessonModule } from './lesson.module';\nimport { LessonUC } from './uc';\n\n@Module({\n\timports: [LessonModule, AuthorizationModule],\n\tcontrollers: [LessonController],\n\tproviders: [LessonUC],\n})\nexport class LessonApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/LessonBoardElement.html":{"url":"entities/LessonBoardElement.html","title":"entity - LessonBoardElement","body":"\n \n\n\n\n\n\n\n\n Entities\n LessonBoardElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/legacy-board/lesson-boardelement.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n target\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : LessonEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('LessonEntity')\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/legacy-board/lesson-boardelement.entity.ts:13\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, ManyToOne } from '@mikro-orm/core';\nimport { LessonEntity } from '../lesson.entity';\nimport { BoardElement, BoardElementType } from './boardelement.entity';\n\n@Entity({ discriminatorValue: BoardElementType.Lesson })\nexport class LessonBoardElement extends BoardElement {\n\tconstructor(props: { target: LessonEntity }) {\n\t\tsuper(props);\n\t\tthis.boardElementType = BoardElementType.Lesson;\n\t}\n\n\t@ManyToOne('LessonEntity')\n\ttarget!: LessonEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/LessonController.html":{"url":"controllers/LessonController.html","title":"controller - LessonController","body":"\n \n\n\n\n\n\n\n Controllers\n LessonController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/lesson/controller/lesson.controller.ts\n \n\n \n Prefix\n \n \n lessons\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(urlParams: LessonUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Delete(':lessonId')\n \n \n\n \n \n Defined in apps/server/src/modules/lesson/controller/lesson.controller.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n LessonUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Controller, Delete, Param } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { LessonUC } from '../uc';\nimport { LessonUrlParams } from './dto';\n\n@ApiTags('Lesson')\n@Authenticate('jwt')\n@Controller('lessons')\nexport class LessonController {\n\tconstructor(private readonly lessonUC: LessonUC) {}\n\n\t@Delete(':lessonId')\n\tasync delete(@Param() urlParams: LessonUrlParams, @CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst result = await this.lessonUC.delete(currentUser.userId, urlParams.lessonId);\n\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LessonCopyApiParams.html":{"url":"classes/LessonCopyApiParams.html","title":"class - LessonCopyApiParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LessonCopyApiParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/lesson/lesson-copy.params.ts\n \n\n\n \n Description\n \n \n DTO for creating a task copy.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n courseId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n courseId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsMongoId()@ApiPropertyOptional({pattern: '[a-f0-9]{24}', description: 'Destination course parent Id the lesson is copied to'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/lesson/lesson-copy.params.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsMongoId, IsOptional } from 'class-validator';\n\n/**\n * DTO for creating a task copy.\n */\nexport class LessonCopyApiParams {\n\t@IsOptional()\n\t@IsMongoId()\n\t@ApiPropertyOptional({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'Destination course parent Id the lesson is copied to',\n\t})\n\tcourseId?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LessonCopyUC.html":{"url":"injectables/LessonCopyUC.html","title":"injectable - LessonCopyUC","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LessonCopyUC\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/uc/lesson-copy.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkDestinationCourseAuthorization\n \n \n Private\n checkFeatureEnabled\n \n \n Private\n checkOriginalLessonAuthorization\n \n \n Async\n copyLesson\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorisation: AuthorizationService, lessonCopyService: LessonCopyService, lessonService: LessonService, courseRepo: CourseRepo, copyHelperService: CopyHelperService)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/lesson-copy.uc.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorisation\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n lessonCopyService\n \n \n LessonCopyService\n \n \n \n No\n \n \n \n \n lessonService\n \n \n LessonService\n \n \n \n No\n \n \n \n \n courseRepo\n \n \n CourseRepo\n \n \n \n No\n \n \n \n \n copyHelperService\n \n \n CopyHelperService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkDestinationCourseAuthorization\n \n \n \n \n \n \n \n checkDestinationCourseAuthorization(user: User, destinationCourse: Course)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/lesson-copy.uc.ts:63\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n destinationCourse\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n checkFeatureEnabled\n \n \n \n \n \n \n \n checkFeatureEnabled()\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/lesson-copy.uc.ts:68\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n checkOriginalLessonAuthorization\n \n \n \n \n \n \n \n checkOriginalLessonAuthorization(user: User, originalLesson: LessonEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/lesson-copy.uc.ts:55\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n originalLesson\n \n LessonEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n copyLesson\n \n \n \n \n \n \n \n copyLesson(userId: EntityId, lessonId: EntityId, parentParams: LessonCopyParentParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/lesson-copy.uc.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n lessonId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n parentParams\n \n LessonCopyParentParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\nimport { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { CopyHelperService, CopyStatus } from '@modules/copy-helper';\nimport { LessonCopyParentParams, LessonCopyService, LessonService } from '@modules/lesson';\nimport { ForbiddenException, Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { Course, LessonEntity, User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface/permission.enum';\nimport { EntityId } from '@shared/domain/types';\nimport { CourseRepo } from '@shared/repo';\n\n@Injectable()\nexport class LessonCopyUC {\n\tconstructor(\n\t\tprivate readonly authorisation: AuthorizationService,\n\t\tprivate readonly lessonCopyService: LessonCopyService,\n\t\tprivate readonly lessonService: LessonService,\n\t\tprivate readonly courseRepo: CourseRepo,\n\t\tprivate readonly copyHelperService: CopyHelperService\n\t) {}\n\n\tasync copyLesson(userId: EntityId, lessonId: EntityId, parentParams: LessonCopyParentParams): Promise {\n\t\tthis.checkFeatureEnabled();\n\n\t\tconst [user, originalLesson]: [User, LessonEntity] = await Promise.all([\n\t\t\tthis.authorisation.getUserWithPermissions(userId),\n\t\t\tthis.lessonService.findById(lessonId),\n\t\t]);\n\n\t\tthis.checkOriginalLessonAuthorization(user, originalLesson);\n\n\t\t// should be a seperate private method\n\t\tconst destinationCourse = parentParams.courseId\n\t\t\t? await this.courseRepo.findById(parentParams.courseId)\n\t\t\t: originalLesson.course;\n\t\t// ---\n\n\t\tthis.checkDestinationCourseAuthorization(user, destinationCourse);\n\n\t\t// should be a seperate private method\n\t\tconst [existingLessons] = await this.lessonService.findByCourseIds([originalLesson.course.id]);\n\t\tconst existingNames = existingLessons.map((l) => l.name);\n\t\tconst copyName = this.copyHelperService.deriveCopyName(originalLesson.name, existingNames);\n\n\t\tconst copyStatus = await this.lessonCopyService.copyLesson({\n\t\t\toriginalLessonId: originalLesson.id,\n\t\t\tdestinationCourse,\n\t\t\tuser,\n\t\t\tcopyName,\n\t\t});\n\t\t// ---\n\n\t\treturn copyStatus;\n\t}\n\n\tprivate checkOriginalLessonAuthorization(user: User, originalLesson: LessonEntity): void {\n\t\tconst contextReadWithTopicCreate = AuthorizationContextBuilder.read([Permission.TOPIC_CREATE]);\n\t\tif (!this.authorisation.hasPermission(user, originalLesson, contextReadWithTopicCreate)) {\n\t\t\t// error message is not correct, switch to authorisation.checkPermission() makse sense for me\n\t\t\tthrow new ForbiddenException('could not find lesson to copy');\n\t\t}\n\t}\n\n\tprivate checkDestinationCourseAuthorization(user: User, destinationCourse: Course): void {\n\t\tconst contextCanWrite = AuthorizationContextBuilder.write([]);\n\t\tthis.authorisation.checkPermission(user, destinationCourse, contextCanWrite);\n\t}\n\n\tprivate checkFeatureEnabled() {\n\t\tconst enabled = Configuration.get('FEATURE_COPY_SERVICE_ENABLED') as boolean;\n\t\tif (!enabled) {\n\t\t\tthrow new InternalServerErrorException('Copy Feature not enabled');\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/LessonEntity.html":{"url":"entities/LessonEntity.html","title":"entity - LessonEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n LessonEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/lesson.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contents\n \n \n \n \n course\n \n \n \n Optional\n courseGroup\n \n \n \n \n hidden\n \n \n \n materials\n \n \n \n name\n \n \n \n position\n \n \n \n tasks\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n contents\n \n \n \n \n \n \n Type : ComponentProperties[] | \n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/lesson.entity.ts:104\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n course\n \n \n \n \n \n \n Type : Course\n\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToOne('Course', {fieldName: 'courseId'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/lesson.entity.ts:95\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n courseGroup\n \n \n \n \n \n \n Type : CourseGroup\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('CourseGroup', {fieldName: 'courseGroupId', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/lesson.entity.ts:98\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n hidden\n \n \n \n \n \n \n Default value : false\n \n \n \n \n Decorators : \n \n \n @Index()@Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/lesson.entity.ts:91\n \n \n\n\n \n \n \n \n \n \n \n \n \n materials\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @ManyToMany('Material', undefined, {fieldName: 'materialIds'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/lesson.entity.ts:107\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/lesson.entity.ts:87\n \n \n\n\n \n \n \n \n \n \n \n \n \n position\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/lesson.entity.ts:101\n \n \n\n\n \n \n \n \n \n \n \n \n \n tasks\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @OneToMany('Task', 'lesson', {orphanRemoval: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/lesson.entity.ts:110\n \n \n\n\n \n \n\n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { LearnroomElement } from '@shared/domain/interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport { Material } from './materials.entity';\nimport type { TaskParent } from './task.entity';\nimport { Task } from './task.entity';\n\nexport interface LessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: ComponentProperties[] | [];\n\tmaterials?: Material[];\n}\n\nexport enum ComponentType {\n\tETHERPAD = 'Etherpad',\n\tGEOGEBRA = 'geoGebra',\n\tINTERNAL = 'internal',\n\tLERNSTORE = 'resources',\n\tTEXT = 'text',\n\tNEXBOARD = 'neXboard',\n}\n\nexport interface ComponentTextProperties {\n\ttext: string;\n}\n\nexport interface ComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface ComponentLernstoreProperties {\n\tresources: {\n\t\tclient: string;\n\t\tdescription: string;\n\t\tmerlinReference?: string;\n\t\ttitle: string;\n\t\turl: string;\n\t}[];\n}\n\nexport interface ComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentInternalProperties {\n\turl: string;\n}\n\nexport type ComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: ComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: ComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: ComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: ComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: ComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: ComponentNexboardProperties }\n);\n\nexport interface LessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements LearnroomElement, TaskParent {\n\t@Property()\n\tname: string;\n\n\t@Index()\n\t@Property()\n\thidden = false;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId' })\n\tcourse: Course;\n\n\t@ManyToOne('CourseGroup', { fieldName: 'courseGroupId', nullable: true })\n\tcourseGroup?: CourseGroup;\n\n\t@Property()\n\tposition: number;\n\n\t@Property()\n\tcontents: ComponentProperties[] | [];\n\n\t@ManyToMany('Material', undefined, { fieldName: 'materialIds' })\n\tmaterials = new Collection(this);\n\n\t@OneToMany('Task', 'lesson', { orphanRemoval: true })\n\ttasks = new Collection(this);\n\n\tconstructor(props: LessonProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tif (props.hidden !== undefined) this.hidden = props.hidden;\n\t\tthis.course = props.course;\n\t\tthis.courseGroup = props.courseGroup;\n\t\tthis.position = props.position || 0;\n\t\tthis.contents = props.contents;\n\t\tif (props.materials) this.materials.set(props.materials);\n\t}\n\n\tprivate getParent(): LessonParent {\n\t\tconst parent = this.courseGroup || this.course;\n\n\t\treturn parent;\n\t}\n\n\tprivate getTasksItems(): Task[] {\n\t\tif (!this.tasks.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their tasks that are not loaded.');\n\t\t}\n\t\tconst tasks = this.tasks.getItems();\n\t\treturn tasks;\n\t}\n\n\tgetNumberOfPublishedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPublished());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfDraftTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isDraft());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfPlannedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPlanned());\n\t\treturn filtered.length;\n\t}\n\n\tgetLessonComponents(): ComponentProperties[] | [] {\n\t\treturn this.contents;\n\t}\n\n\tgetLessonLinkedTasks(): Task[] {\n\t\tconst tasks = this.getTasksItems();\n\t\treturn tasks;\n\t}\n\n\tgetLessonMaterials(): Material[] {\n\t\tif (!this.materials.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their materials that are not loaded.');\n\t\t}\n\t\tconst materials = this.materials.getItems();\n\t\treturn materials;\n\t}\n\n\tgetSchoolId(): EntityId {\n\t\tif (!this.courseGroup) {\n\t\t\treturn this.course.school.id;\n\t\t}\n\n\t\treturn this.courseGroup.school.id;\n\t}\n\n\tpublish() {\n\t\tthis.hidden = false;\n\t}\n\n\tunpublish() {\n\t\tthis.hidden = true;\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst parent = this.getParent();\n\t\tconst studentIds = parent.getStudentIds();\n\n\t\treturn studentIds;\n\t}\n}\n\nexport function isLesson(reference: unknown): reference is LessonEntity {\n\treturn reference instanceof LessonEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LessonFactory.html":{"url":"classes/LessonFactory.html","title":"class - LessonFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LessonFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/lesson.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ComponentProperties, Course, LessonEntity, LessonProperties } from '@shared/domain/entity';\n\nimport { BaseFactory } from './base.factory';\nimport { courseFactory } from './course.factory';\n\nclass LessonFactory extends BaseFactory {}\n\nexport const lessonFactory = LessonFactory.define(\n\tLessonEntity,\n\t({ sequence, params }) => {\n\t\tlet course: Course;\n\t\tif (params.course) {\n\t\t\tcourse = params.course as Course;\n\t\t} else {\n\t\t\tcourse = courseFactory.build();\n\t\t}\n\n\t\tconst contents: ComponentProperties[] = [];\n\t\tif (params.contents) {\n\t\t\tparams.contents.forEach((element) => {\n\t\t\t\tcontents.push(element);\n\t\t\t});\n\t\t}\n\n\t\tconst hidden = params.hidden || false;\n\n\t\treturn {\n\t\t\tname: `lesson #${sequence}`,\n\t\t\tcourse,\n\t\t\tcontents,\n\t\t\thidden,\n\t\t\tmaterials: [],\n\t\t};\n\t}\n);\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/LessonModule.html":{"url":"modules/LessonModule.html","title":"module - LessonModule","body":"\n \n\n\n\n\n Modules\n LessonModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_LessonModule\n\n\n\ncluster_LessonModule_exports\n\n\n\ncluster_LessonModule_providers\n\n\n\ncluster_LessonModule_imports\n\n\n\n\nCopyHelperModule\n\nCopyHelperModule\n\n\n\nLessonModule\n\nLessonModule\n\nLessonModule -->\n\nCopyHelperModule->LessonModule\n\n\n\n\n\nFilesStorageClientModule\n\nFilesStorageClientModule\n\nLessonModule -->\n\nFilesStorageClientModule->LessonModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nLessonModule -->\n\nLoggerModule->LessonModule\n\n\n\n\n\nTaskModule\n\nTaskModule\n\nLessonModule -->\n\nTaskModule->LessonModule\n\n\n\n\n\nLessonCopyService \n\nLessonCopyService \n\nLessonCopyService -->\n\nLessonModule->LessonCopyService \n\n\n\n\n\nLessonService \n\nLessonService \n\nLessonService -->\n\nLessonModule->LessonService \n\n\n\n\n\nEtherpadService\n\nEtherpadService\n\nLessonModule -->\n\nEtherpadService->LessonModule\n\n\n\n\n\nFeathersServiceProvider\n\nFeathersServiceProvider\n\nLessonModule -->\n\nFeathersServiceProvider->LessonModule\n\n\n\n\n\nLessonCopyService\n\nLessonCopyService\n\nLessonModule -->\n\nLessonCopyService->LessonModule\n\n\n\n\n\nLessonRepo\n\nLessonRepo\n\nLessonModule -->\n\nLessonRepo->LessonModule\n\n\n\n\n\nLessonService\n\nLessonService\n\nLessonModule -->\n\nLessonService->LessonModule\n\n\n\n\n\nNexboardService\n\nNexboardService\n\nLessonModule -->\n\nNexboardService->LessonModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/lesson/lesson.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n EtherpadService\n \n \n FeathersServiceProvider\n \n \n LessonCopyService\n \n \n LessonRepo\n \n \n LessonService\n \n \n NexboardService\n \n \n \n \n Imports\n \n \n CopyHelperModule\n \n \n FilesStorageClientModule\n \n \n LoggerModule\n \n \n TaskModule\n \n \n \n \n Exports\n \n \n LessonCopyService\n \n \n LessonService\n \n \n \n \n \n\n\n \n\n\n \n import { FeathersServiceProvider } from '@infra/feathers';\nimport { CopyHelperModule } from '@modules/copy-helper';\nimport { FilesStorageClientModule } from '@modules/files-storage-client';\nimport { TaskModule } from '@modules/task';\nimport { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { LessonRepo } from './repository';\nimport { EtherpadService, LessonCopyService, LessonService, NexboardService } from './service';\n\n@Module({\n\timports: [FilesStorageClientModule, LoggerModule, CopyHelperModule, TaskModule],\n\tproviders: [LessonRepo, LessonService, EtherpadService, NexboardService, LessonCopyService, FeathersServiceProvider],\n\texports: [LessonService, LessonCopyService],\n})\nexport class LessonModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/LessonParent.html":{"url":"interfaces/LessonParent.html","title":"interface - LessonParent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n LessonParent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/lesson.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n getStudentIds\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n getStudentIds\n \n \n \n \n \n \ngetStudentIds()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/lesson.entity.ts:81\n \n \n\n\n \n \n\n \n Returns : EntityId[]\n\n \n \n \n \n \n\n\n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { LearnroomElement } from '@shared/domain/interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport { Material } from './materials.entity';\nimport type { TaskParent } from './task.entity';\nimport { Task } from './task.entity';\n\nexport interface LessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: ComponentProperties[] | [];\n\tmaterials?: Material[];\n}\n\nexport enum ComponentType {\n\tETHERPAD = 'Etherpad',\n\tGEOGEBRA = 'geoGebra',\n\tINTERNAL = 'internal',\n\tLERNSTORE = 'resources',\n\tTEXT = 'text',\n\tNEXBOARD = 'neXboard',\n}\n\nexport interface ComponentTextProperties {\n\ttext: string;\n}\n\nexport interface ComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface ComponentLernstoreProperties {\n\tresources: {\n\t\tclient: string;\n\t\tdescription: string;\n\t\tmerlinReference?: string;\n\t\ttitle: string;\n\t\turl: string;\n\t}[];\n}\n\nexport interface ComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentInternalProperties {\n\turl: string;\n}\n\nexport type ComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: ComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: ComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: ComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: ComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: ComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: ComponentNexboardProperties }\n);\n\nexport interface LessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements LearnroomElement, TaskParent {\n\t@Property()\n\tname: string;\n\n\t@Index()\n\t@Property()\n\thidden = false;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId' })\n\tcourse: Course;\n\n\t@ManyToOne('CourseGroup', { fieldName: 'courseGroupId', nullable: true })\n\tcourseGroup?: CourseGroup;\n\n\t@Property()\n\tposition: number;\n\n\t@Property()\n\tcontents: ComponentProperties[] | [];\n\n\t@ManyToMany('Material', undefined, { fieldName: 'materialIds' })\n\tmaterials = new Collection(this);\n\n\t@OneToMany('Task', 'lesson', { orphanRemoval: true })\n\ttasks = new Collection(this);\n\n\tconstructor(props: LessonProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tif (props.hidden !== undefined) this.hidden = props.hidden;\n\t\tthis.course = props.course;\n\t\tthis.courseGroup = props.courseGroup;\n\t\tthis.position = props.position || 0;\n\t\tthis.contents = props.contents;\n\t\tif (props.materials) this.materials.set(props.materials);\n\t}\n\n\tprivate getParent(): LessonParent {\n\t\tconst parent = this.courseGroup || this.course;\n\n\t\treturn parent;\n\t}\n\n\tprivate getTasksItems(): Task[] {\n\t\tif (!this.tasks.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their tasks that are not loaded.');\n\t\t}\n\t\tconst tasks = this.tasks.getItems();\n\t\treturn tasks;\n\t}\n\n\tgetNumberOfPublishedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPublished());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfDraftTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isDraft());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfPlannedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPlanned());\n\t\treturn filtered.length;\n\t}\n\n\tgetLessonComponents(): ComponentProperties[] | [] {\n\t\treturn this.contents;\n\t}\n\n\tgetLessonLinkedTasks(): Task[] {\n\t\tconst tasks = this.getTasksItems();\n\t\treturn tasks;\n\t}\n\n\tgetLessonMaterials(): Material[] {\n\t\tif (!this.materials.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their materials that are not loaded.');\n\t\t}\n\t\tconst materials = this.materials.getItems();\n\t\treturn materials;\n\t}\n\n\tgetSchoolId(): EntityId {\n\t\tif (!this.courseGroup) {\n\t\t\treturn this.course.school.id;\n\t\t}\n\n\t\treturn this.courseGroup.school.id;\n\t}\n\n\tpublish() {\n\t\tthis.hidden = false;\n\t}\n\n\tunpublish() {\n\t\tthis.hidden = true;\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst parent = this.getParent();\n\t\tconst studentIds = parent.getStudentIds();\n\n\t\treturn studentIds;\n\t}\n}\n\nexport function isLesson(reference: unknown): reference is LessonEntity {\n\treturn reference instanceof LessonEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/LessonProperties.html":{"url":"interfaces/LessonProperties.html","title":"interface - LessonProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n LessonProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/lesson.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contents\n \n \n \n \n course\n \n \n \n Optional\n \n courseGroup\n \n \n \n \n hidden\n \n \n \n Optional\n \n materials\n \n \n \n \n name\n \n \n \n Optional\n \n position\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contents\n \n \n \n \n \n \n \n \n contents: ComponentProperties[] | \n\n \n \n\n\n \n \n Type : ComponentProperties[] | \n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n course\n \n \n \n \n \n \n \n \n course: Course\n\n \n \n\n\n \n \n Type : Course\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n courseGroup\n \n \n \n \n \n \n \n \n courseGroup: CourseGroup\n\n \n \n\n\n \n \n Type : CourseGroup\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n hidden\n \n \n \n \n \n \n \n \n hidden: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n materials\n \n \n \n \n \n \n \n \n materials: Material[]\n\n \n \n\n\n \n \n Type : Material[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n position\n \n \n \n \n \n \n \n \n position: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { LearnroomElement } from '@shared/domain/interface';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport { Material } from './materials.entity';\nimport type { TaskParent } from './task.entity';\nimport { Task } from './task.entity';\n\nexport interface LessonProperties {\n\tname: string;\n\thidden: boolean;\n\tcourse: Course;\n\tcourseGroup?: CourseGroup;\n\tposition?: number;\n\tcontents: ComponentProperties[] | [];\n\tmaterials?: Material[];\n}\n\nexport enum ComponentType {\n\tETHERPAD = 'Etherpad',\n\tGEOGEBRA = 'geoGebra',\n\tINTERNAL = 'internal',\n\tLERNSTORE = 'resources',\n\tTEXT = 'text',\n\tNEXBOARD = 'neXboard',\n}\n\nexport interface ComponentTextProperties {\n\ttext: string;\n}\n\nexport interface ComponentGeogebraProperties {\n\tmaterialId: string;\n}\n\nexport interface ComponentLernstoreProperties {\n\tresources: {\n\t\tclient: string;\n\t\tdescription: string;\n\t\tmerlinReference?: string;\n\t\ttitle: string;\n\t\turl: string;\n\t}[];\n}\n\nexport interface ComponentEtherpadProperties {\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentNexboardProperties {\n\tboard: string;\n\tdescription: string;\n\ttitle: string;\n\turl: string;\n}\n\nexport interface ComponentInternalProperties {\n\turl: string;\n}\n\nexport type ComponentProperties = {\n\t_id?: string;\n\ttitle: string;\n\thidden: boolean;\n\tuser?: EntityId;\n} & (\n\t| { component: ComponentType.TEXT; content: ComponentTextProperties }\n\t| { component: ComponentType.ETHERPAD; content: ComponentEtherpadProperties }\n\t| { component: ComponentType.GEOGEBRA; content: ComponentGeogebraProperties }\n\t| { component: ComponentType.INTERNAL; content: ComponentInternalProperties }\n\t| { component: ComponentType.LERNSTORE; content?: ComponentLernstoreProperties }\n\t| { component: ComponentType.NEXBOARD; content: ComponentNexboardProperties }\n);\n\nexport interface LessonParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'lessons' })\nexport class LessonEntity extends BaseEntityWithTimestamps implements LearnroomElement, TaskParent {\n\t@Property()\n\tname: string;\n\n\t@Index()\n\t@Property()\n\thidden = false;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId' })\n\tcourse: Course;\n\n\t@ManyToOne('CourseGroup', { fieldName: 'courseGroupId', nullable: true })\n\tcourseGroup?: CourseGroup;\n\n\t@Property()\n\tposition: number;\n\n\t@Property()\n\tcontents: ComponentProperties[] | [];\n\n\t@ManyToMany('Material', undefined, { fieldName: 'materialIds' })\n\tmaterials = new Collection(this);\n\n\t@OneToMany('Task', 'lesson', { orphanRemoval: true })\n\ttasks = new Collection(this);\n\n\tconstructor(props: LessonProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tif (props.hidden !== undefined) this.hidden = props.hidden;\n\t\tthis.course = props.course;\n\t\tthis.courseGroup = props.courseGroup;\n\t\tthis.position = props.position || 0;\n\t\tthis.contents = props.contents;\n\t\tif (props.materials) this.materials.set(props.materials);\n\t}\n\n\tprivate getParent(): LessonParent {\n\t\tconst parent = this.courseGroup || this.course;\n\n\t\treturn parent;\n\t}\n\n\tprivate getTasksItems(): Task[] {\n\t\tif (!this.tasks.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their tasks that are not loaded.');\n\t\t}\n\t\tconst tasks = this.tasks.getItems();\n\t\treturn tasks;\n\t}\n\n\tgetNumberOfPublishedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPublished());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfDraftTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isDraft());\n\t\treturn filtered.length;\n\t}\n\n\tgetNumberOfPlannedTasks(): number {\n\t\tconst tasks = this.getTasksItems();\n\t\tconst filtered = tasks.filter((task) => task.isPlanned());\n\t\treturn filtered.length;\n\t}\n\n\tgetLessonComponents(): ComponentProperties[] | [] {\n\t\treturn this.contents;\n\t}\n\n\tgetLessonLinkedTasks(): Task[] {\n\t\tconst tasks = this.getTasksItems();\n\t\treturn tasks;\n\t}\n\n\tgetLessonMaterials(): Material[] {\n\t\tif (!this.materials.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Lessons trying to access their materials that are not loaded.');\n\t\t}\n\t\tconst materials = this.materials.getItems();\n\t\treturn materials;\n\t}\n\n\tgetSchoolId(): EntityId {\n\t\tif (!this.courseGroup) {\n\t\t\treturn this.course.school.id;\n\t\t}\n\n\t\treturn this.courseGroup.school.id;\n\t}\n\n\tpublish() {\n\t\tthis.hidden = false;\n\t}\n\n\tunpublish() {\n\t\tthis.hidden = true;\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst parent = this.getParent();\n\t\tconst studentIds = parent.getStudentIds();\n\n\t\treturn studentIds;\n\t}\n}\n\nexport function isLesson(reference: unknown): reference is LessonEntity {\n\treturn reference instanceof LessonEntity;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LessonRepo.html":{"url":"injectables/LessonRepo.html","title":"injectable - LessonRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LessonRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/lesson/repository/lesson.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createLesson\n \n \n Async\n findAllByCourseIds\n \n \n Async\n findById\n \n \n Public\n Async\n findByUserId\n \n \n create\n \n \n Async\n delete\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createLesson\n \n \n \n \n \n \n \n createLesson(lesson: LessonEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/repository/lesson.repo.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n lesson\n \n LessonEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllByCourseIds\n \n \n \n \n \n \n \n findAllByCourseIds(courseIds: EntityId[], filters?: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/repository/lesson.repo.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n filters\n \n literal type\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:20\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findByUserId\n \n \n \n \n \n \n \n findByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/repository/lesson.repo.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/lesson/repository/lesson.repo.ts:12\n \n \n\n \n \n\n \n\n\n \n import { EntityDictionary } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { LessonEntity } from '@shared/domain/entity';\nimport { SortOrder } from '@shared/domain/interface';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '@shared/repo';\nimport { LessonScope } from './lesson-scope';\n\n@Injectable()\nexport class LessonRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn LessonEntity;\n\t}\n\n\tasync createLesson(lesson: LessonEntity): Promise {\n\t\treturn this.save(this.create(lesson));\n\t}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst lesson = await super.findById(id);\n\t\tawait this._em.populate(lesson, ['course', 'tasks', 'materials', 'courseGroup.course']);\n\t\treturn lesson;\n\t}\n\n\tasync findAllByCourseIds(courseIds: EntityId[], filters?: { hidden?: boolean }): Promise> {\n\t\tconst scope = new LessonScope();\n\n\t\tscope.byCourseIds(courseIds);\n\n\t\tif (filters?.hidden !== undefined) {\n\t\t\tscope.byHidden(filters.hidden);\n\t\t}\n\n\t\tconst order = { position: SortOrder.asc };\n\n\t\tconst [lessons, count] = await this._em.findAndCount(LessonEntity, scope.query, { orderBy: order });\n\n\t\tawait this._em.populate(lessons, ['course', 'tasks', 'materials']);\n\n\t\treturn [lessons, count];\n\t}\n\n\tpublic async findByUserId(userId: EntityId): Promise {\n\t\tconst pipeline = [\n\t\t\t{\n\t\t\t\t$match: {\n\t\t\t\t\tcontents: {\n\t\t\t\t\t\t$elemMatch: {\n\t\t\t\t\t\t\tuser: new ObjectId(userId),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t];\n\n\t\tconst rawLessonsDocuments = await this._em.aggregate(LessonEntity, pipeline);\n\n\t\tconst lessons = rawLessonsDocuments.map((rawLessonDocument) =>\n\t\t\tthis._em.map(LessonEntity, rawLessonDocument as EntityDictionary)\n\t\t);\n\n\t\treturn lessons;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LessonRule.html":{"url":"injectables/LessonRule.html","title":"injectable - LessonRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LessonRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/lesson.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n courseGroupPermission\n \n \n Private\n coursePermission\n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n Private\n lessonReadPermission\n \n \n Private\n lessonWritePermission\n \n \n Private\n parentPermission\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper, courseRule: CourseRule, courseGroupRule: CourseGroupRule)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n courseRule\n \n \n CourseRule\n \n \n \n No\n \n \n \n \n courseGroupRule\n \n \n CourseGroupRule\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n courseGroupPermission\n \n \n \n \n \n \n \n courseGroupPermission(user: User, entity: CourseGroup, action: Action)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:79\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n CourseGroup\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n coursePermission\n \n \n \n \n \n \n \n coursePermission(user: User, entity: Course, action: Action)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n Course\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, entity: LessonEntity, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n LessonEntity\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, entity: LessonEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n LessonEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n lessonReadPermission\n \n \n \n \n \n \n \n lessonReadPermission(user: User, entity: LessonEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n LessonEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n lessonWritePermission\n \n \n \n \n \n \n \n lessonWritePermission(user: User, entity: LessonEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n LessonEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n parentPermission\n \n \n \n \n \n \n \n parentPermission(user: User, entity: LessonEntity, action: Action)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/lesson.rule.ts:59\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n LessonEntity\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, NotImplementedException } from '@nestjs/common';\nimport { Course, CourseGroup, LessonEntity, User } from '@shared/domain/entity';\nimport { Action, AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\nimport { CourseGroupRule } from './course-group.rule';\nimport { CourseRule } from './course.rule';\n\n@Injectable()\nexport class LessonRule implements Rule {\n\tconstructor(\n\t\tprivate readonly authorizationHelper: AuthorizationHelper,\n\t\tprivate readonly courseRule: CourseRule,\n\t\tprivate readonly courseGroupRule: CourseGroupRule\n\t) {}\n\n\tpublic isApplicable(user: User, entity: LessonEntity): boolean {\n\t\tconst isMatched = entity instanceof LessonEntity;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, entity: LessonEntity, context: AuthorizationContext): boolean {\n\t\tconst { action, requiredPermissions } = context;\n\t\tlet hasLessonPermission = false;\n\n\t\tif (action === Action.read) {\n\t\t\thasLessonPermission = this.lessonReadPermission(user, entity);\n\t\t} else if (action === Action.write) {\n\t\t\thasLessonPermission = this.lessonWritePermission(user, entity);\n\t\t} else {\n\t\t\tthrow new NotImplementedException('Action is not supported.');\n\t\t}\n\n\t\tconst hasUserPermission = this.authorizationHelper.hasAllPermissions(user, requiredPermissions);\n\t\tconst result = hasUserPermission && hasLessonPermission;\n\n\t\treturn result;\n\t}\n\n\tprivate lessonReadPermission(user: User, entity: LessonEntity): boolean {\n\t\tconst isVisible = !entity.hidden;\n\t\tlet hasParentReadPermission = false;\n\n\t\tif (isVisible) {\n\t\t\thasParentReadPermission = this.parentPermission(user, entity, Action.read);\n\t\t} else {\n\t\t\thasParentReadPermission = this.parentPermission(user, entity, Action.write);\n\t\t}\n\n\t\treturn hasParentReadPermission;\n\t}\n\n\tprivate lessonWritePermission(user: User, entity: LessonEntity): boolean {\n\t\tconst hasParentWritePermission = this.parentPermission(user, entity, Action.write);\n\n\t\treturn hasParentWritePermission;\n\t}\n\n\tprivate parentPermission(user: User, entity: LessonEntity, action: Action): boolean {\n\t\tlet result: boolean;\n\n\t\tif (entity.courseGroup) {\n\t\t\tresult = this.courseGroupPermission(user, entity.courseGroup, action);\n\t\t} else if (entity.course) {\n\t\t\tresult = this.coursePermission(user, entity.course, action); // ask course for student = read || teacher, sub-teacher = write\n\t\t} else {\n\t\t\tresult = false;\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tprivate coursePermission(user: User, entity: Course, action: Action): boolean {\n\t\tconst result = this.courseRule.hasPermission(user, entity, { action, requiredPermissions: [] });\n\n\t\treturn result;\n\t}\n\n\tprivate courseGroupPermission(user: User, entity: CourseGroup, action: Action): boolean {\n\t\tconst result = this.courseGroupRule.hasPermission(user, entity, {\n\t\t\taction,\n\t\t\trequiredPermissions: [],\n\t\t});\n\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LessonScope.html":{"url":"classes/LessonScope.html","title":"class - LessonScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LessonScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/lesson/repository/lesson-scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n byCourseIds\n \n \n byHidden\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n byCourseIds\n \n \n \n \n \n \nbyCourseIds(courseIds: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/repository/lesson-scope.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LessonScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byHidden\n \n \n \n \n \n \nbyHidden(isHidden: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/repository/lesson-scope.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isHidden\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LessonScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { LessonEntity } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { Scope } from '@shared/repo';\n\nexport class LessonScope extends Scope {\n\tbyCourseIds(courseIds: EntityId[]): LessonScope {\n\t\tthis.addQuery({ course: { $in: courseIds } });\n\t\treturn this;\n\t}\n\n\tbyHidden(isHidden: boolean): LessonScope {\n\t\tthis.addQuery({ hidden: { $eq: isHidden } });\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LessonService.html":{"url":"injectables/LessonService.html","title":"injectable - LessonService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LessonService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/lesson/service/lesson.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteLesson\n \n \n Async\n deleteUserDataFromLessons\n \n \n Async\n findAllLessonsByUserId\n \n \n Async\n findByCourseIds\n \n \n Async\n findById\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(lessonRepo: LessonRepo, filesStorageClientAdapterService: FilesStorageClientAdapterService)\n \n \n \n \n Defined in apps/server/src/modules/lesson/service/lesson.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n lessonRepo\n \n \n LessonRepo\n \n \n \n No\n \n \n \n \n filesStorageClientAdapterService\n \n \n FilesStorageClientAdapterService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteLesson\n \n \n \n \n \n \n \n deleteLesson(lesson: LessonEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/service/lesson.service.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n lesson\n \n LessonEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteUserDataFromLessons\n \n \n \n \n \n \n \n deleteUserDataFromLessons(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/service/lesson.service.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllLessonsByUserId\n \n \n \n \n \n \n \n findAllLessonsByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/service/lesson.service.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByCourseIds\n \n \n \n \n \n \n \n findByCourseIds(courseIds: EntityId[], filters?: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/service/lesson.service.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n filters\n \n literal type\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(lessonId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/service/lesson.service.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n lessonId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { FilesStorageClientAdapterService } from '@modules/files-storage-client';\nimport { Injectable } from '@nestjs/common';\nimport { ComponentProperties, LessonEntity } from '@shared/domain/entity';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { AuthorizationLoaderService } from '@src/modules/authorization';\nimport { LessonRepo } from '../repository';\n\n@Injectable()\nexport class LessonService implements AuthorizationLoaderService {\n\tconstructor(\n\t\tprivate readonly lessonRepo: LessonRepo,\n\t\tprivate readonly filesStorageClientAdapterService: FilesStorageClientAdapterService\n\t) {}\n\n\tasync deleteLesson(lesson: LessonEntity): Promise {\n\t\tawait this.filesStorageClientAdapterService.deleteFilesOfParent(lesson.id);\n\n\t\tawait this.lessonRepo.delete(lesson);\n\t}\n\n\tasync findById(lessonId: EntityId): Promise {\n\t\treturn this.lessonRepo.findById(lessonId);\n\t}\n\n\tasync findByCourseIds(courseIds: EntityId[], filters?: { hidden?: boolean }): Promise> {\n\t\treturn this.lessonRepo.findAllByCourseIds(courseIds, filters);\n\t}\n\n\tasync findAllLessonsByUserId(userId: EntityId): Promise {\n\t\tconst lessons = await this.lessonRepo.findByUserId(userId);\n\n\t\treturn lessons;\n\t}\n\n\tasync deleteUserDataFromLessons(userId: EntityId): Promise {\n\t\tconst lessons = await this.lessonRepo.findByUserId(userId);\n\n\t\tconst updatedLessons = lessons.map((lesson: LessonEntity) => {\n\t\t\tlesson.contents.map((c: ComponentProperties) => {\n\t\t\t\tif (c.user === userId) {\n\t\t\t\t\tc.user = undefined;\n\t\t\t\t}\n\t\t\t\treturn c;\n\t\t\t});\n\t\t\treturn lesson;\n\t\t});\n\n\t\tawait this.lessonRepo.save(updatedLessons);\n\n\t\treturn updatedLessons.length;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LessonUC.html":{"url":"injectables/LessonUC.html","title":"injectable - LessonUC","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LessonUC\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/lesson/uc/lesson.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n delete\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationService: AuthorizationService, lessonService: LessonService)\n \n \n \n \n Defined in apps/server/src/modules/lesson/uc/lesson.uc.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n lessonService\n \n \n LessonService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(userId: EntityId, lessonId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/uc/lesson.uc.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n lessonId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { LessonService } from '../service';\n\n@Injectable()\nexport class LessonUC {\n\tconstructor(\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly lessonService: LessonService\n\t) {}\n\n\tasync delete(userId: EntityId, lessonId: EntityId) {\n\t\tconst [user, lesson] = await Promise.all([\n\t\t\tthis.authorizationService.getUserWithPermissions(userId),\n\t\t\tthis.lessonService.findById(lessonId),\n\t\t]);\n\n\t\t// Check by Permission.TOPIC_VIEW because the student doesn't have Permission.TOPIC_EDIT\n\t\t// is required for CourseGroup lessons\n\t\tthis.authorizationService.checkPermission(user, lesson, AuthorizationContextBuilder.write([Permission.TOPIC_VIEW]));\n\n\t\tawait this.lessonService.deleteLesson(lesson);\n\n\t\treturn true;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LessonUrlHandler.html":{"url":"injectables/LessonUrlHandler.html","title":"injectable - LessonUrlHandler","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LessonUrlHandler\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/service/url-handler/lesson-url-handler.ts\n \n\n\n\n \n Extends\n \n \n AbstractUrlHandler\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n patterns\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getMetaData\n \n \n doesUrlMatch\n \n \n Protected\n extractId\n \n \n getDefaultMetaData\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(lessonService: LessonService)\n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/lesson-url-handler.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n lessonService\n \n \n LessonService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getMetaData\n \n \n \n \n \n \n \n getMetaData(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/lesson-url-handler.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n doesUrlMatch\n \n \n \n \n \n \ndoesUrlMatch(url: string)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n extractId\n \n \n \n \n \n \n \n extractId(url: string)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getDefaultMetaData\n \n \n \n \n \n \ngetDefaultMetaData(url: string, partial: Partial)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n partial\n \n Partial\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : MetaData\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n patterns\n \n \n \n \n \n \n Type : RegExp[]\n\n \n \n \n \n Default value : [/\\/topics\\/([0-9a-z]+)$/i]\n \n \n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:9\n\n \n \n\n\n \n \n\n\n \n\n\n \n import { LessonService } from '@modules/lesson';\nimport { Injectable } from '@nestjs/common';\nimport type { UrlHandler } from '../../interface/url-handler';\nimport { MetaData } from '../../types';\nimport { AbstractUrlHandler } from './abstract-url-handler';\n\n@Injectable()\nexport class LessonUrlHandler extends AbstractUrlHandler implements UrlHandler {\n\tpatterns: RegExp[] = [/\\/topics\\/([0-9a-z]+)$/i];\n\n\tconstructor(private readonly lessonService: LessonService) {\n\t\tsuper();\n\t}\n\n\tasync getMetaData(url: string): Promise {\n\t\tconst id = this.extractId(url);\n\t\tif (id === undefined) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst metaData = this.getDefaultMetaData(url, { type: 'lesson' });\n\t\tconst lesson = await this.lessonService.findById(id);\n\t\tif (lesson) {\n\t\t\tmetaData.title = lesson.name;\n\t\t}\n\n\t\treturn metaData;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LessonUrlParams.html":{"url":"classes/LessonUrlParams.html","title":"class - LessonUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LessonUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/lesson/controller/dto/lesson.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n lessonId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n lessonId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the lesson.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/lesson/controller/dto/lesson.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class LessonUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the lesson.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tlessonId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LessonUrlParams-1.html":{"url":"classes/LessonUrlParams-1.html","title":"class - LessonUrlParams-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LessonUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/lesson/lesson.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n lessonId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n lessonId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the lesson.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/lesson/lesson.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class LessonUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the lesson.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tlessonId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LibrariesBodyParams.html":{"url":"classes/LibrariesBodyParams.html","title":"class - LibrariesBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LibrariesBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/ajax/post.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n libraries\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n libraries\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsArray()@IsString({each: true})\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/post.body.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsArray, IsMongoId, IsOptional, IsString } from 'class-validator';\n\nexport class LibrariesBodyParams {\n\t@ApiProperty()\n\t@IsArray()\n\t@IsString({ each: true })\n\tlibraries!: string[];\n}\n\nexport class ContentBodyParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsOptional()\n\tfield!: string;\n}\n\nexport class LibraryParametersBodyParams {\n\t@ApiProperty()\n\t@IsString()\n\tlibraryParameters!: string;\n}\n\nexport type AjaxPostBodyParams = LibrariesBodyParams | ContentBodyParams | LibraryParametersBodyParams | undefined;\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/LibrariesContentType.html":{"url":"interfaces/LibrariesContentType.html","title":"interface - LibrariesContentType","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n LibrariesContentType\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-library-management/service/h5p-library-management.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n h5p_libraries\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n h5p_libraries\n \n \n \n \n \n \n \n \n h5p_libraries: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import {\n\tH5PConfig,\n\tcacheImplementations,\n\tLibraryManager,\n\tContentTypeCache,\n\tIUser,\n\tLibraryAdministration,\n\tILibraryAdministrationOverviewItem,\n} from '@lumieducation/h5p-server';\nimport ContentManager from '@lumieducation/h5p-server/build/src/ContentManager';\nimport ContentTypeInformationRepository from '@lumieducation/h5p-server/build/src/ContentTypeInformationRepository';\nimport { Injectable, InternalServerErrorException, NotFoundException } from '@nestjs/common';\nimport { ContentStorage, LibraryStorage } from '@src/modules/h5p-editor';\nimport { readFileSync } from 'fs';\nimport { parse } from 'yaml';\nimport { ConfigService } from '@nestjs/config';\nimport { IHubContentType } from '@lumieducation/h5p-server/build/src/types';\nimport { IH5PLibraryManagementConfig } from './h5p-library-management.config';\n\nconst h5pConfig = new H5PConfig(undefined, {\n\tbaseUrl: '/api/v3/h5p-editor',\n\tcontentUserStateSaveInterval: false,\n\tsetFinishedEnabled: false,\n});\n\ninterface LibrariesContentType {\n\th5p_libraries: string[];\n}\n\nfunction isLibrariesContentType(object: unknown): object is LibrariesContentType {\n\tconst isType =\n\t\ttypeof object === 'object' &&\n\t\t!Array.isArray(object) &&\n\t\tobject !== null &&\n\t\t'h5p_libraries' in object &&\n\t\tArray.isArray(object.h5p_libraries);\n\n\treturn isType;\n}\n\nexport const castToLibrariesContentType = (object: unknown): LibrariesContentType => {\n\tif (!isLibrariesContentType(object)) {\n\t\tthrow new InternalServerErrorException('Invalid input type for castToLibrariesContentType');\n\t}\n\n\treturn object;\n};\n\n@Injectable()\nexport class H5PLibraryManagementService {\n\t// should all this prop private?\n\tcontentTypeCache: ContentTypeCache;\n\n\tcontentTypeRepo: ContentTypeInformationRepository;\n\n\tlibraryManager: LibraryManager;\n\n\tlibraryAdministration: LibraryAdministration;\n\n\tlibraryWishList: string[];\n\n\tconstructor(\n\t\tprivate readonly libraryStorage: LibraryStorage,\n\t\tprivate readonly contentStorage: ContentStorage,\n\t\tprivate readonly configService: ConfigService\n\t) {\n\t\tconst kvCache = new cacheImplementations.CachedKeyValueStorage('kvcache');\n\t\tthis.contentTypeCache = new ContentTypeCache(h5pConfig, kvCache);\n\t\tthis.libraryManager = new LibraryManager(\n\t\t\tthis.libraryStorage,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\th5pConfig\n\t\t);\n\t\tthis.contentTypeRepo = new ContentTypeInformationRepository(this.contentTypeCache, this.libraryManager, h5pConfig);\n\t\tconst contentManager = new ContentManager(this.contentStorage);\n\t\tthis.libraryAdministration = new LibraryAdministration(this.libraryManager, contentManager);\n\t\tconst filePath = this.configService.get('H5P_EDITOR__LIBRARY_LIST_PATH');\n\n\t\tconst librariesYamlContent = readFileSync(filePath, { encoding: 'utf-8' });\n\t\tconst librariesContentType = castToLibrariesContentType(parse(librariesYamlContent));\n\t\tthis.libraryWishList = librariesContentType.h5p_libraries;\n\t}\n\n\tpublic async uninstallUnwantedLibraries(\n\t\twantedLibraries: string[],\n\t\tlibrariesToCheck: ILibraryAdministrationOverviewItem[]\n\t): Promise {\n\t\tif (librariesToCheck.length === 0) {\n\t\t\treturn;\n\t\t}\n\t\tconst lastPositionLibrariesToCheckArray = librariesToCheck.length - 1;\n\t\tif (\n\t\t\t!wantedLibraries.includes(librariesToCheck[lastPositionLibrariesToCheckArray].machineName) &&\n\t\t\tlibrariesToCheck[lastPositionLibrariesToCheckArray].dependentsCount === 0\n\t\t) {\n\t\t\t// force removal, don't let content prevent it, therefore use libraryStorage directly\n\t\t\t// also to avoid conflicts, remove one-by-one, not using for-await:\n\t\t\tawait this.libraryStorage.deleteLibrary(librariesToCheck[lastPositionLibrariesToCheckArray]);\n\t\t}\n\t\tawait this.uninstallUnwantedLibraries(\n\t\t\tthis.libraryWishList,\n\t\t\tlibrariesToCheck.slice(0, lastPositionLibrariesToCheckArray)\n\t\t);\n\t}\n\n\tprivate checkContentTypeExists(contentType: IHubContentType[]): void {\n\t\tif (contentType === undefined) {\n\t\t\tthrow new NotFoundException('this library does not exist');\n\t\t}\n\t}\n\n\tprivate createDefaultIUser(): IUser {\n\t\tconst user: IUser = {\n\t\t\tcanCreateRestricted: true,\n\t\t\tcanInstallRecommended: true,\n\t\t\tcanUpdateAndInstallLibraries: true,\n\t\t\temail: 'a@b.de',\n\t\t\tid: 'a',\n\t\t\tname: 'a',\n\t\t\ttype: 'local',\n\t\t};\n\n\t\treturn user;\n\t}\n\n\tpublic async installLibraries(librariesToInstall: string[]): Promise {\n\t\tif (librariesToInstall.length === 0) {\n\t\t\treturn;\n\t\t}\n\t\tconst lastPositionLibrariesToInstallArray = librariesToInstall.length - 1;\n\t\t// avoid conflicts, install one-by-one:\n\t\tconst contentType = await this.contentTypeCache.get(librariesToInstall[lastPositionLibrariesToInstallArray]);\n\t\tthis.checkContentTypeExists(contentType);\n\n\t\tconst user = this.createDefaultIUser();\n\n\t\tawait this.contentTypeRepo.installContentType(librariesToInstall[lastPositionLibrariesToInstallArray], user);\n\t\tawait this.installLibraries(librariesToInstall.slice(0, lastPositionLibrariesToInstallArray));\n\t}\n\n\tpublic async run(): Promise {\n\t\tconst installedLibraries = await this.libraryAdministration.getLibraries();\n\t\tawait this.uninstallUnwantedLibraries(this.libraryWishList, installedLibraries);\n\t\tawait this.installLibraries(this.libraryWishList);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LibraryFileUrlParams.html":{"url":"classes/LibraryFileUrlParams.html","title":"class - LibraryFileUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LibraryFileUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/library-file.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n file\n \n \n \n \n \n ubername\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n file\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/library-file.url.params.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n ubername\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/library-file.url.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsNotEmpty, IsString } from 'class-validator';\n\nexport class LibraryFileUrlParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tubername!: string;\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfile!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LibraryName.html":{"url":"classes/LibraryName.html","title":"class - LibraryName","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LibraryName\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/entity/library.entity.ts\n \n\n\n\n\n \n Implements\n \n \n ILibraryName\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n machineName\n \n \n \n majorVersion\n \n \n \n minorVersion\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(machineName: string, majorVersion: number, minorVersion: number)\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:23\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n machineName\n \n \n string\n \n \n \n No\n \n \n \n \n majorVersion\n \n \n number\n \n \n \n No\n \n \n \n \n minorVersion\n \n \n number\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n machineName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n majorVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n minorVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:23\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IInstalledLibrary, ILibraryName } from '@lumieducation/h5p-server';\nimport { IFileStats, ILibraryMetadata, IPath } from '@lumieducation/h5p-server/build/src/types';\nimport { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\n\nexport class Path implements IPath {\n\t@Property()\n\tpath: string;\n\n\tconstructor(path: string) {\n\t\tthis.path = path;\n\t}\n}\n\nexport class LibraryName implements ILibraryName {\n\t@Property()\n\tmachineName: string;\n\n\t@Property()\n\tmajorVersion: number;\n\n\t@Property()\n\tminorVersion: number;\n\n\tconstructor(machineName: string, majorVersion: number, minorVersion: number) {\n\t\tthis.machineName = machineName;\n\t\tthis.majorVersion = majorVersion;\n\t\tthis.minorVersion = minorVersion;\n\t}\n}\n\nexport class FileMetadata implements IFileStats {\n\tname: string;\n\n\tbirthtime: Date;\n\n\tsize: number;\n\n\tconstructor(name: string, birthtime: Date, size: number) {\n\t\tthis.name = name;\n\t\tthis.birthtime = birthtime;\n\t\tthis.size = size;\n\t}\n}\n\n@Entity({ tableName: 'h5p_library' })\nexport class InstalledLibrary extends BaseEntityWithTimestamps implements IInstalledLibrary {\n\t@Property()\n\tmachineName: string;\n\n\t@Property()\n\tmajorVersion: number;\n\n\t@Property()\n\tminorVersion: number;\n\n\t@Property()\n\tpatchVersion: number;\n\n\t/**\n\t * Addons can be added to other content types by\n\t */\n\t@Property({ nullable: true })\n\taddTo?: {\n\t\tcontent?: {\n\t\t\ttypes?: {\n\t\t\t\ttext?: {\n\t\t\t\t\t/**\n\t\t\t\t\t * If any string property in the parameters matches the regex,\n\t\t\t\t\t * the addon will be activated for the content.\n\t\t\t\t\t */\n\t\t\t\t\tregex?: string;\n\t\t\t\t};\n\t\t\t}[];\n\t\t};\n\t\t/**\n\t\t * Contains cases in which the library should be added to the editor.\n\t\t *\n\t\t * This is an extension to the H5P library metadata structure made by\n\t\t * h5p-nodejs-library. That way addons can specify to which editors\n\t\t * they should be added in general. The PHP implementation hard-codes\n\t\t * this list into the server, which we want to avoid here.\n\t\t */\n\t\teditor?: {\n\t\t\t/**\n\t\t\t * A list of machine names in which the addon should be added.\n\t\t\t */\n\t\t\tmachineNames: string[];\n\t\t};\n\t\t/**\n\t\t * Contains cases in which the library should be added to the player.\n\t\t *\n\t\t * This is an extension to the H5P library metadata structure made by\n\t\t * h5p-nodejs-library. That way addons can specify to which editors\n\t\t * they should be added in general. The PHP implementation hard-codes\n\t\t * this list into the server, which we want to avoid here.\n\t\t */\n\t\tplayer?: {\n\t\t\t/**\n\t\t\t * A list of machine names in which the addon should be added.\n\t\t\t */\n\t\t\tmachineNames: string[];\n\t\t};\n\t};\n\n\t/**\n\t * If set to true, the library can only be used be users who have this special\n\t * privilege.\n\t */\n\t@Property()\n\trestricted: boolean;\n\n\t@Property({ nullable: true })\n\tauthor?: string;\n\n\t/**\n\t * The core API required to run the library.\n\t */\n\t@Property({ nullable: true })\n\tcoreApi?: {\n\t\tmajorVersion: number;\n\t\tminorVersion: number;\n\t};\n\n\t@Property({ nullable: true })\n\tdescription?: string;\n\n\t@Property({ nullable: true })\n\tdropLibraryCss?: {\n\t\tmachineName: string;\n\t}[];\n\n\t@Property({ nullable: true })\n\tdynamicDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\teditorDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\tembedTypes?: ('iframe' | 'div')[];\n\n\t@Property({ nullable: true })\n\tfullscreen?: 0 | 1;\n\n\t@Property({ nullable: true })\n\th?: number;\n\n\t@Property({ nullable: true })\n\tlicense?: string;\n\n\t@Property({ nullable: true })\n\tmetadataSettings?: {\n\t\tdisable: 0 | 1;\n\t\tdisableExtraTitleField: 0 | 1;\n\t};\n\n\t@Property({ nullable: true })\n\tpreloadedCss?: Path[];\n\n\t@Property({ nullable: true })\n\tpreloadedDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\tpreloadedJs?: Path[];\n\n\t@Property()\n\trunnable: boolean | 0 | 1;\n\n\t@Property()\n\ttitle: string;\n\n\t@Property({ nullable: true })\n\tw?: number;\n\n\t@Property({ nullable: true })\n\trequiredExtensions?: {\n\t\tsharedState: number;\n\t};\n\n\t@Property({ nullable: true })\n\tstate?: {\n\t\tsnapshotSchema: boolean;\n\t\topSchema: boolean;\n\t\tsnapshotLogicChecks: boolean;\n\t\topLogicChecks: boolean;\n\t};\n\n\t@Property()\n\tfiles: FileMetadata[];\n\n\tpublic static simple_compare(a: number, b: number): number {\n\t\tif (a > b) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (a otherLibrary.machineName ? 1 : -1;\n\t}\n\n\tpublic compareVersions(otherLibrary: ILibraryName & { patchVersion?: number }): number {\n\t\tlet result = InstalledLibrary.simple_compare(this.majorVersion, otherLibrary.majorVersion);\n\t\tif (result !== 0) {\n\t\t\treturn result;\n\t\t}\n\t\tresult = InstalledLibrary.simple_compare(this.minorVersion, otherLibrary.minorVersion);\n\t\tif (result !== 0) {\n\t\t\treturn result;\n\t\t}\n\t\treturn InstalledLibrary.simple_compare(this.patchVersion, otherLibrary.patchVersion as number);\n\t}\n\n\tconstructor(libraryMetadata: ILibraryMetadata, restricted = false, files: FileMetadata[] = []) {\n\t\tsuper();\n\t\tthis.machineName = libraryMetadata.machineName;\n\t\tthis.majorVersion = libraryMetadata.majorVersion;\n\t\tthis.minorVersion = libraryMetadata.minorVersion;\n\t\tthis.patchVersion = libraryMetadata.patchVersion;\n\t\tthis.runnable = libraryMetadata.runnable;\n\t\tthis.title = libraryMetadata.title;\n\t\tthis.addTo = libraryMetadata.addTo;\n\t\tthis.author = libraryMetadata.author;\n\t\tthis.coreApi = libraryMetadata.coreApi;\n\t\tthis.description = libraryMetadata.description;\n\t\tthis.dropLibraryCss = libraryMetadata.dropLibraryCss;\n\t\tthis.dynamicDependencies = libraryMetadata.dynamicDependencies;\n\t\tthis.editorDependencies = libraryMetadata.editorDependencies;\n\t\tthis.embedTypes = libraryMetadata.embedTypes;\n\t\tthis.fullscreen = libraryMetadata.fullscreen;\n\t\tthis.h = libraryMetadata.h;\n\t\tthis.license = libraryMetadata.license;\n\t\tthis.metadataSettings = libraryMetadata.metadataSettings;\n\t\tthis.preloadedCss = libraryMetadata.preloadedCss;\n\t\tthis.preloadedDependencies = libraryMetadata.preloadedDependencies;\n\t\tthis.preloadedJs = libraryMetadata.preloadedJs;\n\t\tthis.w = libraryMetadata.w;\n\t\tthis.requiredExtensions = libraryMetadata.requiredExtensions;\n\t\tthis.state = libraryMetadata.state;\n\t\tthis.restricted = restricted;\n\t\tthis.files = files;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LibraryParametersBodyParams.html":{"url":"classes/LibraryParametersBodyParams.html","title":"class - LibraryParametersBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LibraryParametersBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/ajax/post.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n libraryParameters\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n libraryParameters\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/ajax/post.body.params.ts:25\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsArray, IsMongoId, IsOptional, IsString } from 'class-validator';\n\nexport class LibrariesBodyParams {\n\t@ApiProperty()\n\t@IsArray()\n\t@IsString({ each: true })\n\tlibraries!: string[];\n}\n\nexport class ContentBodyParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsOptional()\n\tfield!: string;\n}\n\nexport class LibraryParametersBodyParams {\n\t@ApiProperty()\n\t@IsString()\n\tlibraryParameters!: string;\n}\n\nexport type AjaxPostBodyParams = LibrariesBodyParams | ContentBodyParams | LibraryParametersBodyParams | undefined;\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LibraryRepo.html":{"url":"injectables/LibraryRepo.html","title":"injectable - LibraryRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LibraryRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/repo/library.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createLibrary\n \n \n Async\n findByName\n \n \n Async\n findByNameAndExactVersion\n \n \n Async\n findNewestByNameAndVersion\n \n \n Async\n findOneByNameAndVersionOrFail\n \n \n Async\n getAll\n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createLibrary\n \n \n \n \n \n \n \n createLibrary(library: InstalledLibrary)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/library.repo.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n library\n \n InstalledLibrary\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByName\n \n \n \n \n \n \n \n findByName(machineName: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/library.repo.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n machineName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByNameAndExactVersion\n \n \n \n \n \n \n \n findByNameAndExactVersion(machineName: string, majorVersion: number, minorVersion: number, patchVersion: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/library.repo.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n machineName\n \n string\n \n\n \n No\n \n\n\n \n \n majorVersion\n \n number\n \n\n \n No\n \n\n\n \n \n minorVersion\n \n number\n \n\n \n No\n \n\n\n \n \n patchVersion\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findNewestByNameAndVersion\n \n \n \n \n \n \n \n findNewestByNameAndVersion(machineName: string, majorVersion: number, minorVersion: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/library.repo.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n machineName\n \n string\n \n\n \n No\n \n\n\n \n \n majorVersion\n \n number\n \n\n \n No\n \n\n\n \n \n minorVersion\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findOneByNameAndVersionOrFail\n \n \n \n \n \n \n \n findOneByNameAndVersionOrFail(machineName: string, majorVersion: number, minorVersion: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/library.repo.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n machineName\n \n string\n \n\n \n No\n \n\n\n \n \n majorVersion\n \n number\n \n\n \n No\n \n\n\n \n \n minorVersion\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getAll\n \n \n \n \n \n \n \n getAll()\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/library.repo.ts:16\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/repo/library.repo.ts:7\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { BaseRepo } from '@shared/repo/base.repo';\nimport { InstalledLibrary } from '../entity';\n\n@Injectable()\nexport class LibraryRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn InstalledLibrary;\n\t}\n\n\tasync createLibrary(library: InstalledLibrary): Promise {\n\t\tconst entity = this.create(library);\n\t\tawait this.save(entity);\n\t}\n\n\tasync getAll(): Promise {\n\t\treturn this._em.find(this.entityName, {});\n\t}\n\n\tasync findOneByNameAndVersionOrFail(\n\t\tmachineName: string,\n\t\tmajorVersion: number,\n\t\tminorVersion: number\n\t): Promise {\n\t\tconst libs = await this._em.find(this.entityName, { machineName, majorVersion, minorVersion });\n\t\tif (libs.length === 1) {\n\t\t\treturn libs[0];\n\t\t}\n\t\tif (libs.length === 0) {\n\t\t\tthrow new Error('Library not found');\n\t\t}\n\t\tthrow new Error('Multiple libraries with the same name and version found');\n\t}\n\n\tasync findByName(machineName: string): Promise {\n\t\treturn this._em.find(this.entityName, { machineName });\n\t}\n\n\tasync findNewestByNameAndVersion(\n\t\tmachineName: string,\n\t\tmajorVersion: number,\n\t\tminorVersion: number\n\t): Promise {\n\t\tconst libs = await this._em.find(this.entityName, {\n\t\t\tmachineName,\n\t\t\tmajorVersion,\n\t\t\tminorVersion,\n\t\t});\n\t\tlet latest: InstalledLibrary | null = null;\n\t\tfor (const lib of libs) {\n\t\t\tif (latest === null || lib.patchVersion > latest.patchVersion) {\n\t\t\t\tlatest = lib;\n\t\t\t}\n\t\t}\n\t\treturn latest;\n\t}\n\n\tasync findByNameAndExactVersion(\n\t\tmachineName: string,\n\t\tmajorVersion: number,\n\t\tminorVersion: number,\n\t\tpatchVersion: number\n\t): Promise {\n\t\tconst [libs, count] = await this._em.findAndCount(this.entityName, {\n\t\t\tmachineName,\n\t\t\tmajorVersion,\n\t\t\tminorVersion,\n\t\t\tpatchVersion,\n\t\t});\n\t\tif (count > 1) {\n\t\t\tthrow new Error('too many libraries with same name and version');\n\t\t}\n\t\tif (count === 1) {\n\t\t\treturn libs[0];\n\t\t}\n\t\treturn null;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LinkContentBody.html":{"url":"classes/LinkContentBody.html","title":"class - LinkContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LinkContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n Optional\n imageUrl\n \n \n \n \n \n Optional\n title\n \n \n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n imageUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:39\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LinkElement.html":{"url":"classes/LinkElement.html","title":"class - LinkElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LinkElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/link-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardComposite\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n accept\n \n \n Async\n acceptAsync\n \n \n isAllowedAsChild\n \n \n addChild\n \n \n hasChild\n \n \n removeChild\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n url\n \n \n title\n \n \n description\n \n \n imageUrl\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n accept\n \n \n \n \n \n \naccept(visitor: BoardCompositeVisitor)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:41\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitor\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n acceptAsync\n \n \n \n \n \n \n \n acceptAsync(visitor: BoardCompositeVisitorAsync)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:45\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitorAsync\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isAllowedAsChild\n \n \n \n \n \n \nisAllowedAsChild()\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:37\n\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n addChild\n \n \n \n \n \n \naddChild(child: AnyBoardDo, position?: number)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n position\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasChild\n \n \n \n \n \n \nhasChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeChild\n \n \n \n \n \n \nremoveChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n url\n \n \n\n \n \n geturl()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/link-element.do.ts:5\n \n \n\n \n \n seturl(value: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/link-element.do.ts:9\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n title\n \n \n\n \n \n gettitle()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/link-element.do.ts:13\n \n \n\n \n \n settitle(value: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/link-element.do.ts:17\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n description\n \n \n\n \n \n getdescription()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/link-element.do.ts:21\n \n \n\n \n \n setdescription(value: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/link-element.do.ts:25\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n imageUrl\n \n \n\n \n \n getimageUrl()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/link-element.do.ts:29\n \n \n\n \n \n setimageUrl(value: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/link-element.do.ts:33\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class LinkElement extends BoardComposite {\n\tget url(): string {\n\t\treturn this.props.url ?? '';\n\t}\n\n\tset url(value: string) {\n\t\tthis.props.url = value;\n\t}\n\n\tget title(): string {\n\t\treturn this.props.title ?? '';\n\t}\n\n\tset title(value: string) {\n\t\tthis.props.title = value;\n\t}\n\n\tget description(): string {\n\t\treturn this.props.description ?? '';\n\t}\n\n\tset description(value: string) {\n\t\tthis.props.description = value ?? '';\n\t}\n\n\tget imageUrl(): string {\n\t\treturn this.props.imageUrl ?? '';\n\t}\n\n\tset imageUrl(value: string) {\n\t\tthis.props.imageUrl = value;\n\t}\n\n\tisAllowedAsChild(): boolean {\n\t\treturn false;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitLinkElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitLinkElementAsync(this);\n\t}\n}\n\nexport interface LinkElementProps extends BoardCompositeProps {\n\turl: string;\n\ttitle: string;\n\tdescription?: string;\n\timageUrl?: string;\n}\n\nexport function isLinkElement(reference: unknown): reference is LinkElement {\n\treturn reference instanceof LinkElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LinkElementContent.html":{"url":"classes/LinkElementContent.html","title":"class - LinkElementContent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LinkElementContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/link-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n description\n \n \n \n Optional\n imageUrl\n \n \n \n title\n \n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: LinkElementContent)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/link-element.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n LinkElementContent\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/link-element.response.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n imageUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/link-element.response.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/link-element.response.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/link-element.response.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class LinkElementContent {\n\tconstructor({ url, title, description, imageUrl }: LinkElementContent) {\n\t\tthis.url = url;\n\t\tthis.title = title;\n\t\tthis.description = description;\n\t\tthis.imageUrl = imageUrl;\n\t}\n\n\t@ApiProperty()\n\turl: string;\n\n\t@ApiProperty()\n\ttitle: string;\n\n\t@ApiPropertyOptional()\n\tdescription?: string;\n\n\t@ApiPropertyOptional()\n\timageUrl?: string;\n}\n\nexport class LinkElementResponse {\n\tconstructor({ id, content, timestamps, type }: LinkElementResponse) {\n\t\tthis.id = id;\n\t\tthis.content = content;\n\t\tthis.timestamps = timestamps;\n\t\tthis.type = type;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.LINK;\n\n\t@ApiProperty()\n\tcontent: LinkElementContent;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LinkElementContentBody.html":{"url":"classes/LinkElementContentBody.html","title":"class - LinkElementContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LinkElementContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n \n Extends\n \n \n ElementContentBody\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : LinkContentBody\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()@ApiProperty({})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:63\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.LINK\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from ElementContentBody\n\n \n \n \n \n Defined in ElementContentBody:59\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/LinkElementNode.html":{"url":"entities/LinkElementNode.html","title":"entity - LinkElementNode","body":"\n \n\n\n\n\n\n\n\n Entities\n LinkElementNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/link-element-node.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n imageUrl\n \n \n \n title\n \n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n imageUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/link-element-node.entity.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/link-element-node.entity.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/link-element-node.entity.ts:9\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { AnyBoardDo } from '../../domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.LINK_ELEMENT })\nexport class LinkElementNode extends BoardNode {\n\t@Property()\n\turl: string;\n\n\t@Property()\n\ttitle: string;\n\n\t@Property()\n\timageUrl?: string;\n\n\tconstructor(props: LinkElementNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.LINK_ELEMENT;\n\t\tthis.url = props.url;\n\t\tthis.title = props.title;\n\t\tthis.imageUrl = props.imageUrl;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildLinkElement(this);\n\n\t\treturn domainObject;\n\t}\n}\n\nexport interface LinkElementNodeProps extends BoardNodeProps {\n\turl: string;\n\ttitle: string;\n\timageUrl?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/LinkElementNodeProps.html":{"url":"interfaces/LinkElementNodeProps.html","title":"interface - LinkElementNodeProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n LinkElementNodeProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/link-element-node.entity.ts\n \n\n\n\n \n Extends\n \n \n BoardNodeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n imageUrl\n \n \n \n \n title\n \n \n \n \n url\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n imageUrl\n \n \n \n \n \n \n \n \n imageUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { AnyBoardDo } from '../../domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.LINK_ELEMENT })\nexport class LinkElementNode extends BoardNode {\n\t@Property()\n\turl: string;\n\n\t@Property()\n\ttitle: string;\n\n\t@Property()\n\timageUrl?: string;\n\n\tconstructor(props: LinkElementNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.LINK_ELEMENT;\n\t\tthis.url = props.url;\n\t\tthis.title = props.title;\n\t\tthis.imageUrl = props.imageUrl;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildLinkElement(this);\n\n\t\treturn domainObject;\n\t}\n}\n\nexport interface LinkElementNodeProps extends BoardNodeProps {\n\turl: string;\n\ttitle: string;\n\timageUrl?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/LinkElementProps.html":{"url":"interfaces/LinkElementProps.html","title":"interface - LinkElementProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n LinkElementProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/link-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardCompositeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n description\n \n \n \n Optional\n \n imageUrl\n \n \n \n \n title\n \n \n \n \n url\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n description: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n imageUrl\n \n \n \n \n \n \n \n \n imageUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class LinkElement extends BoardComposite {\n\tget url(): string {\n\t\treturn this.props.url ?? '';\n\t}\n\n\tset url(value: string) {\n\t\tthis.props.url = value;\n\t}\n\n\tget title(): string {\n\t\treturn this.props.title ?? '';\n\t}\n\n\tset title(value: string) {\n\t\tthis.props.title = value;\n\t}\n\n\tget description(): string {\n\t\treturn this.props.description ?? '';\n\t}\n\n\tset description(value: string) {\n\t\tthis.props.description = value ?? '';\n\t}\n\n\tget imageUrl(): string {\n\t\treturn this.props.imageUrl ?? '';\n\t}\n\n\tset imageUrl(value: string) {\n\t\tthis.props.imageUrl = value;\n\t}\n\n\tisAllowedAsChild(): boolean {\n\t\treturn false;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitLinkElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitLinkElementAsync(this);\n\t}\n}\n\nexport interface LinkElementProps extends BoardCompositeProps {\n\turl: string;\n\ttitle: string;\n\tdescription?: string;\n\timageUrl?: string;\n}\n\nexport function isLinkElement(reference: unknown): reference is LinkElement {\n\treturn reference instanceof LinkElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LinkElementResponse.html":{"url":"classes/LinkElementResponse.html","title":"class - LinkElementResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LinkElementResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/link-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n id\n \n \n \n timestamps\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: LinkElementResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/link-element.response.ts:26\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n LinkElementResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : LinkElementContent\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/link-element.response.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/link-element.response.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n timestamps\n \n \n \n \n \n \n Type : TimestampsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/link-element.response.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.LINK\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ContentElementType, enumName: 'ContentElementType'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/link-element.response.ts:38\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class LinkElementContent {\n\tconstructor({ url, title, description, imageUrl }: LinkElementContent) {\n\t\tthis.url = url;\n\t\tthis.title = title;\n\t\tthis.description = description;\n\t\tthis.imageUrl = imageUrl;\n\t}\n\n\t@ApiProperty()\n\turl: string;\n\n\t@ApiProperty()\n\ttitle: string;\n\n\t@ApiPropertyOptional()\n\tdescription?: string;\n\n\t@ApiPropertyOptional()\n\timageUrl?: string;\n}\n\nexport class LinkElementResponse {\n\tconstructor({ id, content, timestamps, type }: LinkElementResponse) {\n\t\tthis.id = id;\n\t\tthis.content = content;\n\t\tthis.timestamps = timestamps;\n\t\tthis.type = type;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.LINK;\n\n\t@ApiProperty()\n\tcontent: LinkElementContent;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LinkElementResponseMapper.html":{"url":"classes/LinkElementResponseMapper.html","title":"class - LinkElementResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LinkElementResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/link-element-response.mapper.ts\n \n\n\n\n\n \n Implements\n \n \n BaseResponseMapper\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n canMap\n \n \n Static\n getInstance\n \n \n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n \n \n Type : LinkElementResponseMapper\n\n \n \n \n \n Defined in apps/server/src/modules/board/controller/mapper/link-element-response.mapper.ts:6\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n canMap\n \n \n \n \n \n \ncanMap(element: LinkElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/link-element-response.mapper.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n LinkElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n getInstance\n \n \n \n \n \n \n \n getInstance()\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/link-element-response.mapper.ts:8\n \n \n\n\n \n \n\n \n Returns : LinkElementResponseMapper\n\n \n \n \n \n \n \n \n \n \n \n \n mapToResponse\n \n \n \n \n \n \nmapToResponse(element: LinkElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/link-element-response.mapper.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n LinkElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LinkElementResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ContentElementType, LinkElement } from '@shared/domain/domainobject';\nimport { LinkElementContent, LinkElementResponse, TimestampsResponse } from '../dto';\nimport { BaseResponseMapper } from './base-mapper.interface';\n\nexport class LinkElementResponseMapper implements BaseResponseMapper {\n\tprivate static instance: LinkElementResponseMapper;\n\n\tpublic static getInstance(): LinkElementResponseMapper {\n\t\tif (!LinkElementResponseMapper.instance) {\n\t\t\tLinkElementResponseMapper.instance = new LinkElementResponseMapper();\n\t\t}\n\n\t\treturn LinkElementResponseMapper.instance;\n\t}\n\n\tmapToResponse(element: LinkElement): LinkElementResponse {\n\t\tconst result = new LinkElementResponse({\n\t\t\tid: element.id,\n\t\t\ttimestamps: new TimestampsResponse({ lastUpdatedAt: element.updatedAt, createdAt: element.createdAt }),\n\t\t\ttype: ContentElementType.LINK,\n\t\t\tcontent: new LinkElementContent({\n\t\t\t\turl: element.url,\n\t\t\t\ttitle: element.title,\n\t\t\t\tdescription: element.description,\n\t\t\t\timageUrl: element.imageUrl,\n\t\t\t}),\n\t\t});\n\n\t\treturn result;\n\t}\n\n\tcanMap(element: LinkElement): boolean {\n\t\treturn element instanceof LinkElement;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ListFiles.html":{"url":"interfaces/ListFiles.html","title":"interface - ListFiles","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ListFiles\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/s3-client/interface/index.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n files\n \n \n \n Optional\n \n maxKeys\n \n \n \n Optional\n \n nextMarker\n \n \n \n \n path\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n files\n \n \n \n \n \n \n \n \n files: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n maxKeys\n \n \n \n \n \n \n \n \n maxKeys: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n nextMarker\n \n \n \n \n \n \n \n \n nextMarker: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n path\n \n \n \n \n \n \n \n \n path: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Readable } from 'stream';\n\nexport interface S3Config {\n\tconnectionName: string;\n\tendpoint: string;\n\tregion: string;\n\tbucket: string;\n\taccessKeyId: string;\n\tsecretAccessKey: string;\n}\n\nexport interface GetFile {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n}\n\nexport interface CopyFiles {\n\tsourcePath: string;\n\ttargetPath: string;\n}\n\nexport interface File {\n\tdata: Readable;\n\tmimeType: string;\n}\n\nexport interface ListFiles {\n\tpath: string;\n\tmaxKeys?: number;\n\tnextMarker?: string;\n\tfiles?: string[];\n}\n\nexport interface ObjectKeysRecursive {\n\tpath: string;\n\tmaxKeys: number | undefined;\n\tnextMarker: string | undefined;\n\tfiles: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ListOauthClientsParams.html":{"url":"classes/ListOauthClientsParams.html","title":"class - ListOauthClientsParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ListOauthClientsParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/request/list-oauth-clients.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n client_name\n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Optional\n offset\n \n \n \n \n \n Optional\n owner\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n client_name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'The name of the clients to filter by.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/list-oauth-clients.params.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@Max(500)@IsOptional()@ApiProperty({description: 'The maximum amount of clients to returned, upper bound is 500 clients.', required: false, nullable: false, minimum: 0, maximum: 500})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/list-oauth-clients.params.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n offset\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@IsOptional()@ApiProperty({description: 'The offset from where to start looking.', required: false, nullable: false, minimum: 0})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/list-oauth-clients.params.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n owner\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'The owner of the clients to filter by.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/list-oauth-clients.params.ts:45\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsNumber, IsOptional, IsString, Max, Min } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\n\nexport class ListOauthClientsParams {\n\t@IsNumber()\n\t@Min(0)\n\t@Max(500)\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'The maximum amount of clients to returned, upper bound is 500 clients.',\n\t\trequired: false,\n\t\tnullable: false,\n\t\tminimum: 0,\n\t\tmaximum: 500,\n\t})\n\tlimit?: number;\n\n\t@IsNumber()\n\t@Min(0)\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'The offset from where to start looking.',\n\t\trequired: false,\n\t\tnullable: false,\n\t\tminimum: 0,\n\t})\n\toffset?: number;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'The name of the clients to filter by.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\tclient_name?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'The owner of the clients to filter by.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\towner?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LocalAuthorizationBodyParams.html":{"url":"classes/LocalAuthorizationBodyParams.html","title":"class - LocalAuthorizationBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LocalAuthorizationBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/controllers/dto/local-authorization.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n password\n \n \n \n \n \n username\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n password\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/local-authorization.body.params.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/local-authorization.body.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsNotEmpty, IsString } from 'class-validator';\n\nexport class LocalAuthorizationBodyParams {\n\t@IsString()\n\t@IsNotEmpty()\n\t@ApiProperty()\n\tusername!: string;\n\n\t@IsString()\n\t@IsNotEmpty()\n\t@ApiProperty()\n\tpassword!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LocalStrategy.html":{"url":"injectables/LocalStrategy.html","title":"injectable - LocalStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LocalStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/strategy/local.strategy.ts\n \n\n\n\n \n Extends\n \n \n PassportStrategy(Strategy)\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n checkCredentials\n \n \n Private\n cleanupInput\n \n \n Async\n validate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authenticationService: AuthenticationService, idmOauthService: IdentityManagementOauthService, configService: ConfigService, userRepo: UserRepo)\n \n \n \n \n Defined in apps/server/src/modules/authentication/strategy/local.strategy.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authenticationService\n \n \n AuthenticationService\n \n \n \n No\n \n \n \n \n idmOauthService\n \n \n IdentityManagementOauthService\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n userRepo\n \n \n UserRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n checkCredentials\n \n \n \n \n \n \n \n checkCredentials(enteredPassword: string, savedPassword: string, account: AccountDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/local.strategy.ts:54\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n enteredPassword\n \n string\n \n\n \n No\n \n\n\n \n \n savedPassword\n \n string\n \n\n \n No\n \n\n\n \n \n account\n \n AccountDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n cleanupInput\n \n \n \n \n \n \n \n cleanupInput(username?: string, password?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/local.strategy.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n string\n \n\n \n Yes\n \n\n\n \n \n password\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : literal type\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n validate\n \n \n \n \n \n \n \n validate(username?: string, password?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/local.strategy.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n string\n \n\n \n Yes\n \n\n\n \n \n password\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { IdentityManagementConfig, IdentityManagementOauthService } from '@infra/identity-management';\nimport { AccountDto } from '@modules/account/services/dto';\nimport { Injectable, UnauthorizedException } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { PassportStrategy } from '@nestjs/passport';\nimport { GuardAgainst } from '@shared/common/utils/guard-against';\nimport { UserRepo } from '@shared/repo';\nimport bcrypt from 'bcryptjs';\nimport { Strategy } from 'passport-local';\nimport { ICurrentUser } from '../interface';\nimport { CurrentUserMapper } from '../mapper';\nimport { AuthenticationService } from '../services/authentication.service';\n\n@Injectable()\nexport class LocalStrategy extends PassportStrategy(Strategy) {\n\tconstructor(\n\t\tprivate readonly authenticationService: AuthenticationService,\n\t\tprivate readonly idmOauthService: IdentityManagementOauthService,\n\t\tprivate readonly configService: ConfigService,\n\t\tprivate readonly userRepo: UserRepo\n\t) {\n\t\tsuper();\n\t}\n\n\tasync validate(username?: string, password?: string): Promise {\n\t\t({ username, password } = this.cleanupInput(username, password));\n\t\tconst account = await this.authenticationService.loadAccount(username);\n\n\t\tif (this.configService.get('FEATURE_IDENTITY_MANAGEMENT_LOGIN_ENABLED')) {\n\t\t\tconst jwt = await this.idmOauthService.resourceOwnerPasswordGrant(username, password);\n\t\t\tGuardAgainst.nullOrUndefined(jwt, new UnauthorizedException());\n\t\t} else {\n\t\t\tconst accountPassword = GuardAgainst.nullOrUndefined(account.password, new UnauthorizedException());\n\t\t\tawait this.checkCredentials(password, accountPassword, account);\n\t\t}\n\n\t\tconst accountUserId = GuardAgainst.nullOrUndefined(\n\t\t\taccount.userId,\n\t\t\tnew Error(`login failing, because account ${account.id} has no userId`)\n\t\t);\n\t\tconst user = await this.userRepo.findById(accountUserId, true);\n\t\tconst currentUser = CurrentUserMapper.userToICurrentUser(account.id, user, false);\n\t\treturn currentUser;\n\t}\n\n\tprivate cleanupInput(username?: string, password?: string): { username: string; password: string } {\n\t\tusername = GuardAgainst.nullOrUndefined(username, new UnauthorizedException());\n\t\tpassword = GuardAgainst.nullOrUndefined(password, new UnauthorizedException());\n\t\tusername = this.authenticationService.normalizeUsername(username);\n\t\tpassword = this.authenticationService.normalizePassword(password);\n\t\treturn { username, password };\n\t}\n\n\tprivate async checkCredentials(\n\t\tenteredPassword: string,\n\t\tsavedPassword: string,\n\t\taccount: AccountDto\n\t): Promise {\n\t\tthis.authenticationService.checkBrutForce(account);\n\t\tif (!(await bcrypt.compare(enteredPassword, savedPassword))) {\n\t\t\tawait this.authenticationService.updateLastTriedFailedLogin(account.id);\n\t\t\tthrow new UnauthorizedException();\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Loggable.html":{"url":"interfaces/Loggable.html","title":"interface - Loggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Loggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/logger/interfaces/loggable.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/interfaces/loggable.ts:4\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n \n\n\n \n import { ErrorLogMessage, LogMessage, ValidationErrorLogMessage } from '../types';\n\nexport interface Loggable {\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/Logger.html":{"url":"injectables/Logger.html","title":"injectable - Logger","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n Logger\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/logger/logger.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n context\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n debug\n \n \n Public\n info\n \n \n Public\n notice\n \n \n Public\n setContext\n \n \n Public\n warning\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: WinstonLogger)\n \n \n \n \n Defined in apps/server/src/core/logger/logger.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n WinstonLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n debug\n \n \n \n \n \n \n \n debug(loggable: Loggable)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/logger.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loggable\n \n Loggable\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n info\n \n \n \n \n \n \n \n info(loggable: Loggable)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/logger.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loggable\n \n Loggable\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n notice\n \n \n \n \n \n \n \n notice(loggable: Loggable)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/logger.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loggable\n \n Loggable\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n setContext\n \n \n \n \n \n \n \n setContext(name: string)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/logger.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n warning\n \n \n \n \n \n \n \n warning(loggable: Loggable)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/logger.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loggable\n \n Loggable\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n context\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : ''\n \n \n \n \n Defined in apps/server/src/core/logger/logger.ts:9\n \n \n\n\n \n \n\n\n \n\n\n \n import { Inject, Injectable, Scope } from '@nestjs/common';\nimport { WINSTON_MODULE_PROVIDER } from 'nest-winston';\nimport { Logger as WinstonLogger } from 'winston';\nimport { Loggable } from './interfaces';\nimport { LoggingUtils } from './logging.utils';\n\n@Injectable({ scope: Scope.TRANSIENT })\nexport class Logger {\n\tprivate context = '';\n\n\tconstructor(@Inject(WINSTON_MODULE_PROVIDER) private readonly logger: WinstonLogger) {}\n\n\tpublic warning(loggable: Loggable): void {\n\t\tconst message = LoggingUtils.createMessageWithContext(loggable, this.context);\n\t\tthis.logger.warning(message);\n\t}\n\n\tpublic notice(loggable: Loggable): void {\n\t\tconst message = LoggingUtils.createMessageWithContext(loggable, this.context);\n\t\tthis.logger.notice(message);\n\t}\n\n\tpublic info(loggable: Loggable): void {\n\t\tconst message = LoggingUtils.createMessageWithContext(loggable, this.context);\n\t\tthis.logger.info(message);\n\t}\n\n\tpublic debug(loggable: Loggable): void {\n\t\tconst message = LoggingUtils.createMessageWithContext(loggable, this.context);\n\t\tthis.logger.debug(message);\n\t}\n\n\tpublic setContext(name: string) {\n\t\tthis.context = name;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/LoggerConfig.html":{"url":"interfaces/LoggerConfig.html","title":"interface - LoggerConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n LoggerConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/logger/interfaces/logger-config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n NEST_LOG_LEVEL\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n NEST_LOG_LEVEL\n \n \n \n \n \n \n \n \n NEST_LOG_LEVEL: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface LoggerConfig {\n\tNEST_LOG_LEVEL: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/LoggerModule.html":{"url":"modules/LoggerModule.html","title":"module - LoggerModule","body":"\n \n\n\n\n\n Modules\n LoggerModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_LoggerModule\n\n\n\ncluster_LoggerModule_exports\n\n\n\ncluster_LoggerModule_providers\n\n\n\n\nErrorLogger \n\nErrorLogger \n\n\n\nLegacyLogger \n\nLegacyLogger \n\n\n\nLogger \n\nLogger \n\n\n\nLoggerModule\n\nLoggerModule\n\nErrorLogger -->\n\nLoggerModule->ErrorLogger \n\n\n\nLegacyLogger -->\n\nLoggerModule->LegacyLogger \n\n\n\nLogger -->\n\nLoggerModule->Logger \n\n\n\n\n\nErrorLogger\n\nErrorLogger\n\nLoggerModule -->\n\nErrorLogger->LoggerModule\n\n\n\n\n\nLegacyLogger\n\nLegacyLogger\n\nLoggerModule -->\n\nLegacyLogger->LoggerModule\n\n\n\n\n\nLogger\n\nLogger\n\nLoggerModule -->\n\nLogger->LoggerModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/core/logger/logger.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ErrorLogger\n \n \n LegacyLogger\n \n \n Logger\n \n \n \n \n Exports\n \n \n ErrorLogger\n \n \n LegacyLogger\n \n \n Logger\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { utilities, WinstonModule } from 'nest-winston';\nimport winston from 'winston';\nimport { ErrorLogger } from './error-logger';\nimport { LoggerConfig } from './interfaces';\nimport { LegacyLogger } from './legacy-logger.service';\nimport { Logger } from './logger';\n\n@Module({\n\timports: [\n\t\tWinstonModule.forRootAsync({\n\t\t\tuseFactory: (configService: ConfigService) => {\n\t\t\t\treturn {\n\t\t\t\t\tlevels: winston.config.syslog.levels,\n\t\t\t\t\tlevel: configService.get('NEST_LOG_LEVEL'),\n\t\t\t\t\texitOnError: false,\n\t\t\t\t\ttransports: [\n\t\t\t\t\t\tnew winston.transports.Console({\n\t\t\t\t\t\t\thandleExceptions: true,\n\t\t\t\t\t\t\thandleRejections: true,\n\t\t\t\t\t\t\tformat: winston.format.combine(\n\t\t\t\t\t\t\t\twinston.format.timestamp({ format: 'YYYY-MM-DD HH:mm:ss.SSS' }),\n\t\t\t\t\t\t\t\twinston.format.ms(),\n\t\t\t\t\t\t\t\tutilities.format.nestLike()\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t}),\n\t\t\t\t\t],\n\t\t\t\t};\n\t\t\t},\n\t\t\tinject: [ConfigService],\n\t\t}),\n\t],\n\tproviders: [LegacyLogger, Logger, ErrorLogger],\n\texports: [LegacyLogger, Logger, ErrorLogger],\n})\nexport class LoggerModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LoggingUtils.html":{"url":"classes/LoggingUtils.html","title":"class - LoggingUtils","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LoggingUtils\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/logger/logging.utils.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n createMessageWithContext\n \n \n Static\n isInstanceOfLoggable\n \n \n Private\n Static\n stringifyMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n createMessageWithContext\n \n \n \n \n \n \n \n createMessageWithContext(loggable: Loggable, context?: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/logging.utils.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loggable\n \n Loggable\n \n\n \n No\n \n\n\n \n \n context\n \n string | undefined\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : LogMessageWithContext\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n isInstanceOfLoggable\n \n \n \n \n \n \n \n isInstanceOfLoggable(object: any)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/logging.utils.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n object\n \n any\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Loggable\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n stringifyMessage\n \n \n \n \n \n \n \n stringifyMessage(message)\n \n \n\n\n \n \n Defined in apps/server/src/core/logger/logging.utils.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n message\n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import util from 'util';\nimport { Loggable } from './interfaces';\nimport { LogMessageWithContext } from './types';\n\nexport class LoggingUtils {\n\tstatic createMessageWithContext(loggable: Loggable, context?: string | undefined): LogMessageWithContext {\n\t\tconst message = loggable.getLogMessage();\n\t\tconst stringifiedMessage = this.stringifyMessage(message);\n\t\tconst messageWithContext = { message: stringifiedMessage, context };\n\t\treturn messageWithContext;\n\t}\n\n\tprivate static stringifyMessage(message: unknown): string {\n\t\tconst stringifiedMessage = util.inspect(message).replace(/\\n/g, '').replace(/\\\\n/g, '');\n\t\treturn stringifiedMessage;\n\t}\n\n\tstatic isInstanceOfLoggable(object: any): object is Loggable {\n\t\treturn 'getLogMessage' in object;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/LoginController.html":{"url":"controllers/LoginController.html","title":"controller - LoginController","body":"\n \n\n\n\n\n\n\n Controllers\n LoginController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/controllers/login.controller.ts\n \n\n \n Prefix\n \n \n authentication\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n loginLdap\n \n \n \n \n \n \n \n \n \n Async\n loginLocal\n \n \n \n \n \n \n \n \n \n Async\n loginOauth2\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n loginLdap\n \n \n \n \n \n \n \n loginLdap(user: ICurrentUser, _: LdapAuthorizationBodyParams)\n \n \n\n \n \n Decorators : \n \n @UseGuards(undefined)@HttpCode(HttpStatus.OK)@Post('ldap')@ApiOperation({summary: 'Starts the login process for users which are authenticated via LDAP'})@ApiResponse({status: 200, type: LoginResponse, description: 'Login was successful.'})@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiResponse({status: 403, type: ForbiddenOperationError, description: 'Invalid user credentials.'})\n \n \n\n \n \n Defined in apps/server/src/modules/authentication/controllers/login.controller.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n _\n \n LdapAuthorizationBodyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n loginLocal\n \n \n \n \n \n \n \n loginLocal(user: ICurrentUser, _: LocalAuthorizationBodyParams)\n \n \n\n \n \n Decorators : \n \n @UseGuards(undefined)@HttpCode(HttpStatus.OK)@Post('local')@ApiOperation({summary: 'Starts the login process for users which are locally managed.'})@ApiResponse({status: 200, type: LoginResponse, description: 'Login was successful.'})@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiResponse({status: 403, type: ForbiddenOperationError, description: 'Invalid user credentials.'})\n \n \n\n \n \n Defined in apps/server/src/modules/authentication/controllers/login.controller.ts:47\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n _\n \n LocalAuthorizationBodyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n loginOauth2\n \n \n \n \n \n \n \n loginOauth2(user: OauthCurrentUser, _: Oauth2AuthorizationBodyParams)\n \n \n\n \n \n Decorators : \n \n @UseGuards(undefined)@HttpCode(HttpStatus.OK)@Post('oauth2')@ApiOperation({summary: 'Starts the login process for users which are authenticated via OAuth 2.'})@ApiResponse({status: 200, type: LoginResponse, description: 'Login was successful.'})@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiResponse({status: 403, type: ForbiddenOperationError, description: 'Invalid user credentials.'})\n \n \n\n \n \n Defined in apps/server/src/modules/authentication/controllers/login.controller.ts:62\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n OauthCurrentUser\n \n\n \n No\n \n\n\n \n \n _\n \n Oauth2AuthorizationBodyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Body, Controller, HttpCode, HttpStatus, Post, UseGuards } from '@nestjs/common';\nimport { AuthGuard } from '@nestjs/passport';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { ForbiddenOperationError, ValidationError } from '@shared/common';\nimport { CurrentUser } from '../decorator';\nimport type { ICurrentUser, OauthCurrentUser } from '../interface';\nimport { LoginDto } from '../uc/dto';\nimport { LoginUc } from '../uc/login.uc';\nimport {\n\tLdapAuthorizationBodyParams,\n\tLocalAuthorizationBodyParams,\n\tLoginResponse,\n\tOauth2AuthorizationBodyParams,\n\tOauthLoginResponse,\n} from './dto';\nimport { LoginResponseMapper } from './mapper/login-response.mapper';\n\n@ApiTags('Authentication')\n@Controller('authentication')\nexport class LoginController {\n\tconstructor(private readonly loginUc: LoginUc) {}\n\n\t@UseGuards(AuthGuard('ldap'))\n\t@HttpCode(HttpStatus.OK)\n\t@Post('ldap')\n\t@ApiOperation({ summary: 'Starts the login process for users which are authenticated via LDAP' })\n\t@ApiResponse({ status: 200, type: LoginResponse, description: 'Login was successful.' })\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiResponse({ status: 403, type: ForbiddenOperationError, description: 'Invalid user credentials.' })\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tasync loginLdap(@CurrentUser() user: ICurrentUser, @Body() _: LdapAuthorizationBodyParams): Promise {\n\t\tconst loginDto: LoginDto = await this.loginUc.getLoginData(user);\n\n\t\tconst mapped: LoginResponse = LoginResponseMapper.mapToLoginResponse(loginDto);\n\n\t\treturn mapped;\n\t}\n\n\t@UseGuards(AuthGuard('local'))\n\t@HttpCode(HttpStatus.OK)\n\t@Post('local')\n\t@ApiOperation({ summary: 'Starts the login process for users which are locally managed.' })\n\t@ApiResponse({ status: 200, type: LoginResponse, description: 'Login was successful.' })\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiResponse({ status: 403, type: ForbiddenOperationError, description: 'Invalid user credentials.' })\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tasync loginLocal(@CurrentUser() user: ICurrentUser, @Body() _: LocalAuthorizationBodyParams): Promise {\n\t\tconst loginDto: LoginDto = await this.loginUc.getLoginData(user);\n\n\t\tconst mapped: LoginResponse = LoginResponseMapper.mapToLoginResponse(loginDto);\n\n\t\treturn mapped;\n\t}\n\n\t@UseGuards(AuthGuard('oauth2'))\n\t@HttpCode(HttpStatus.OK)\n\t@Post('oauth2')\n\t@ApiOperation({ summary: 'Starts the login process for users which are authenticated via OAuth 2.' })\n\t@ApiResponse({ status: 200, type: LoginResponse, description: 'Login was successful.' })\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiResponse({ status: 403, type: ForbiddenOperationError, description: 'Invalid user credentials.' })\n\tasync loginOauth2(\n\t\t@CurrentUser() user: OauthCurrentUser,\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\t@Body() _: Oauth2AuthorizationBodyParams\n\t): Promise {\n\t\tconst loginDto: LoginDto = await this.loginUc.getLoginData(user);\n\n\t\tconst mapped: OauthLoginResponse = LoginResponseMapper.mapToOauthLoginResponse(loginDto, user.externalIdToken);\n\n\t\treturn mapped;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LoginDto.html":{"url":"classes/LoginDto.html","title":"class - LoginDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LoginDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/uc/dto/login.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n accessToken\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: LoginDto)\n \n \n \n \n Defined in apps/server/src/modules/authentication/uc/dto/login.dto.ts:2\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n LoginDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n accessToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/authentication/uc/dto/login.dto.ts:2\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class LoginDto {\n\taccessToken: string;\n\n\tconstructor(props: LoginDto) {\n\t\tthis.accessToken = props.accessToken;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LoginRequestBody.html":{"url":"classes/LoginRequestBody.html","title":"class - LoginRequestBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LoginRequestBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/request/login-request.body.ts\n \n\n\n\n \n Extends\n \n \n OAuthRejectableBody\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n remember\n \n \n \n \n \n Optional\n remember_for\n \n \n \n \n \n Optional\n error\n \n \n \n \n \n Optional\n error_debug\n \n \n \n \n \n Optional\n error_description\n \n \n \n \n \n Optional\n error_hint\n \n \n \n \n \n Optional\n status_code\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n remember\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@IsOptional()@ApiProperty({description: 'Remember, if set to true, tells the oauth provider to remember this consent authorization and reuse it if the same client asks the same user for the same, or a subset of, scope.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/login-request.body.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n remember_for\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsInt()@IsOptional()@ApiProperty({description: 'RememberFor sets how long the consent authorization should be remembered for in seconds. If set to 0, the authorization will be remembered indefinitely.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/login-request.body.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n error\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'The error should follow the OAuth2 error format (e.g. invalid_request, login_required). Defaults to request_denied.', required: false, nullable: false})\n \n \n \n \n \n Inherited from OAuthRejectableBody\n\n \n \n \n \n Defined in OAuthRejectableBody:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n error_debug\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'Debug contains information to help resolve the problem as a developer. Usually not exposed to the public but only in the server logs.', required: false, nullable: false})\n \n \n \n \n \n Inherited from OAuthRejectableBody\n\n \n \n \n \n Defined in OAuthRejectableBody:23\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n error_description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'Description of the error in a human readable format.', required: false, nullable: false})\n \n \n \n \n \n Inherited from OAuthRejectableBody\n\n \n \n \n \n Defined in OAuthRejectableBody:32\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n error_hint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'Hint to help resolve the error.', required: false, nullable: false})\n \n \n \n \n \n Inherited from OAuthRejectableBody\n\n \n \n \n \n Defined in OAuthRejectableBody:41\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n status_code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@IsOptional()@ApiProperty({description: 'Represents the HTTP status code of the error (e.g. 401 or 403). Defaults to 400.', required: false, nullable: false})\n \n \n \n \n \n Inherited from OAuthRejectableBody\n\n \n \n \n \n Defined in OAuthRejectableBody:50\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsBoolean, IsInt, IsOptional } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { OAuthRejectableBody } from './oauth-rejectable.body';\n\nexport class LoginRequestBody extends OAuthRejectableBody {\n\t@IsBoolean()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'Remember, if set to true, tells the oauth provider to remember this consent authorization and reuse it if the same client asks the same user for the same, or a subset of, scope.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\tremember?: boolean;\n\n\t@IsInt()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'RememberFor sets how long the consent authorization should be remembered for in seconds. If set to 0, the authorization will be remembered indefinitely.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\tremember_for?: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LoginResponse.html":{"url":"classes/LoginResponse.html","title":"class - LoginResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LoginResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/controllers/dto/login.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n accessToken\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: LoginResponse)\n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/login.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n LoginResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n accessToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/login.response.ts:5\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class LoginResponse {\n\t@ApiProperty()\n\taccessToken: string;\n\n\tconstructor(props: LoginResponse) {\n\t\tthis.accessToken = props.accessToken;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LoginResponse-1.html":{"url":"classes/LoginResponse-1.html","title":"class - LoginResponse-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LoginResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n challenge\n \n \n \n client\n \n \n \n \n Optional\n client_id\n \n \n \n \n Optional\n oidc_context\n \n \n \n \n Optional\n request_url\n \n \n \n \n Optional\n requested_access_token_audience\n \n \n \n \n \n \n Optional\n requested_scope\n \n \n \n \n Optional\n session_id\n \n \n \n skip\n \n \n \n subject\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(loginResponse: LoginResponse)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n loginResponse\n \n \n LoginResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n challenge\n \n \n \n \n \n \n Type : string | undefined\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The id/challenge of the consent login request.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n client\n \n \n \n \n \n \n Type : OauthClientResponse | undefined\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n client_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty({description: 'Id of the corresponding client.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n oidc_context\n \n \n \n \n \n \n Type : OidcContextResponse\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n request_url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty({description: 'The original oauth2.0 authorization url request by the client.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n requested_access_token_audience\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n requested_scope\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@IsOptional()@IsString({each: true})@ApiProperty({description: 'The request scopes of the login request.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n session_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@ApiProperty({description: 'The login session id. This parameter is used as sid for the oidc front-/backchannel logout.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n \n skip\n \n \n \n \n \n \n Type : boolean | undefined\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Skip, if true, implies that the client has requested the same scopes from the same user previously.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts:48\n \n \n\n\n \n \n \n \n \n \n \n \n \n subject\n \n \n \n \n \n \n Type : string | undefined\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'User id of the end-user that is authenticated.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/login.response.ts:51\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { OauthClientResponse } from '@modules/oauth-provider/controller/dto/response/oauth-client.response';\nimport { OidcContextResponse } from '@modules/oauth-provider/controller/dto/response/oidc-context.response';\nimport { IsArray, IsOptional, IsString } from 'class-validator';\n\nexport class LoginResponse {\n\tconstructor(loginResponse: LoginResponse) {\n\t\tObject.assign(this, loginResponse);\n\t}\n\n\t@IsOptional()\n\t@ApiProperty({ description: 'Id of the corresponding client.' })\n\tclient_id?: string;\n\n\t@ApiProperty({ description: 'The id/challenge of the consent login request.' })\n\tchallenge: string | undefined;\n\n\t@ApiProperty()\n\tclient: OauthClientResponse | undefined;\n\n\t@IsOptional()\n\t@ApiProperty()\n\toidc_context?: OidcContextResponse;\n\n\t@IsOptional()\n\t@ApiProperty({ description: 'The original oauth2.0 authorization url request by the client.' })\n\trequest_url?: string;\n\n\t@IsOptional()\n\t@ApiProperty()\n\trequested_access_token_audience?: string[];\n\n\t@IsArray()\n\t@IsOptional()\n\t@IsString({ each: true })\n\t@ApiProperty({ description: 'The request scopes of the login request.', required: false, nullable: false })\n\trequested_scope?: string[];\n\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'The login session id. This parameter is used as sid for the oidc front-/backchannel logout.',\n\t})\n\tsession_id?: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Skip, if true, implies that the client has requested the same scopes from the same user previously.',\n\t})\n\tskip: boolean | undefined;\n\n\t@ApiProperty({ description: 'User id of the end-user that is authenticated.' })\n\tsubject: string | undefined;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LoginResponseMapper.html":{"url":"classes/LoginResponseMapper.html","title":"class - LoginResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LoginResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/controllers/mapper/login-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToLoginResponse\n \n \n Static\n mapToOauthLoginResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToLoginResponse\n \n \n \n \n \n \n \n mapToLoginResponse(loginDto: LoginDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/controllers/mapper/login-response.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loginDto\n \n LoginDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LoginResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToOauthLoginResponse\n \n \n \n \n \n \n \n mapToOauthLoginResponse(loginDto: LoginDto, externalIdToken?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/controllers/mapper/login-response.mapper.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loginDto\n \n LoginDto\n \n\n \n No\n \n\n\n \n \n externalIdToken\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : OauthLoginResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { LoginDto } from '../../uc/dto';\nimport { LoginResponse, OauthLoginResponse } from '../dto';\n\nexport class LoginResponseMapper {\n\tstatic mapToLoginResponse(loginDto: LoginDto): LoginResponse {\n\t\tconst response: LoginResponse = new LoginResponse({\n\t\t\taccessToken: loginDto.accessToken,\n\t\t});\n\n\t\treturn response;\n\t}\n\n\tstatic mapToOauthLoginResponse(loginDto: LoginDto, externalIdToken?: string): OauthLoginResponse {\n\t\tconst response: OauthLoginResponse = new OauthLoginResponse({\n\t\t\taccessToken: loginDto.accessToken,\n\t\t\texternalIdToken,\n\t\t});\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LoginUc.html":{"url":"injectables/LoginUc.html","title":"injectable - LoginUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LoginUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/uc/login.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getLoginData\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authService: AuthenticationService)\n \n \n \n \n Defined in apps/server/src/modules/authentication/uc/login.uc.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authService\n \n \n AuthenticationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getLoginData\n \n \n \n \n \n \n \n getLoginData(userInfo: ICurrentUser)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/uc/login.uc.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userInfo\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ICurrentUser } from '../interface';\nimport { CreateJwtPayload } from '../interface/jwt-payload';\nimport { CurrentUserMapper } from '../mapper';\nimport { AuthenticationService } from '../services/authentication.service';\nimport { LoginDto } from './dto';\n\n@Injectable()\nexport class LoginUc {\n\tconstructor(private readonly authService: AuthenticationService) {}\n\n\tasync getLoginData(userInfo: ICurrentUser): Promise {\n\t\tconst createJwtPayload: CreateJwtPayload = CurrentUserMapper.mapCurrentUserToCreateJwtPayload(userInfo);\n\n\t\tconst accessTokenDto: LoginDto = await this.authService.generateJwt(createJwtPayload);\n\n\t\tconst loginDto: LoginDto = new LoginDto({\n\t\t\taccessToken: accessTokenDto.accessToken,\n\t\t});\n\n\t\treturn loginDto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/Lti11EncryptionService.html":{"url":"injectables/Lti11EncryptionService.html","title":"injectable - Lti11EncryptionService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n Lti11EncryptionService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/service/lti11-encryption.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n sign\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n sign\n \n \n \n \n \n \n \n sign(key: string, secret: string, url: string, payload: Record)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/lti11-encryption.service.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n key\n \n string\n \n\n \n No\n \n\n\n \n \n secret\n \n string\n \n\n \n No\n \n\n\n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n payload\n \n Record\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Authorization\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport CryptoJS from 'crypto-js';\nimport OAuth, { Authorization, RequestOptions } from 'oauth-1.0a';\n\n@Injectable()\nexport class Lti11EncryptionService {\n\tpublic sign(key: string, secret: string, url: string, payload: Record): Authorization {\n\t\tconst requestData: RequestOptions = {\n\t\t\turl,\n\t\t\tmethod: 'POST',\n\t\t\tdata: payload,\n\t\t};\n\n\t\tconst consumer: OAuth = new OAuth({\n\t\t\tconsumer: {\n\t\t\t\tkey,\n\t\t\t\tsecret,\n\t\t\t},\n\t\t\tsignature_method: 'HMAC-SHA1',\n\t\t\thash_function: (base_string: string, hashKey: string) =>\n\t\t\t\tCryptoJS.HmacSHA1(base_string, hashKey).toString(CryptoJS.enc.Base64),\n\t\t});\n\n\t\tconst authorization: Authorization = consumer.authorize(requestData);\n\n\t\treturn authorization;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Lti11ToolConfig.html":{"url":"classes/Lti11ToolConfig.html","title":"class - Lti11ToolConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Lti11ToolConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/domain/config/lti11-tool-config.do.ts\n \n\n\n\n \n Extends\n \n \n ExternalToolConfig\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n key\n \n \n launch_presentation_locale\n \n \n lti_message_type\n \n \n privacy_permission\n \n \n Optional\n resource_link_id\n \n \n secret\n \n \n baseUrl\n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: Lti11ToolConfig)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/lti11-tool-config.do.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n Lti11ToolConfig\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n key\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/lti11-tool-config.do.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n launch_presentation_locale\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/lti11-tool-config.do.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n lti_message_type\n \n \n \n \n \n \n Type : LtiMessageType\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/lti11-tool-config.do.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n privacy_permission\n \n \n \n \n \n \n Type : LtiPrivacyPermission\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/lti11-tool-config.do.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n resource_link_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/lti11-tool-config.do.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n secret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/lti11-tool-config.do.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from ExternalToolConfig\n\n \n \n \n \n Defined in ExternalToolConfig:6\n\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Inherited from ExternalToolConfig\n\n \n \n \n \n Defined in ExternalToolConfig:4\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { LtiMessageType, LtiPrivacyPermission, ToolConfigType } from '../../../common/enum';\nimport { ExternalToolConfig } from './external-tool-config.do';\n\nexport class Lti11ToolConfig extends ExternalToolConfig {\n\tkey: string;\n\n\tsecret: string;\n\n\tresource_link_id?: string;\n\n\tlti_message_type: LtiMessageType;\n\n\tprivacy_permission: LtiPrivacyPermission;\n\n\tlaunch_presentation_locale: string;\n\n\tconstructor(props: Lti11ToolConfig) {\n\t\tsuper({\n\t\t\ttype: ToolConfigType.LTI11,\n\t\t\tbaseUrl: props.baseUrl,\n\t\t});\n\t\tthis.key = props.key;\n\t\tthis.secret = props.secret;\n\t\tthis.resource_link_id = props.resource_link_id;\n\t\tthis.lti_message_type = props.lti_message_type;\n\t\tthis.privacy_permission = props.privacy_permission;\n\t\tthis.launch_presentation_locale = props.launch_presentation_locale;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Lti11ToolConfigCreateParams.html":{"url":"classes/Lti11ToolConfigCreateParams.html","title":"class - Lti11ToolConfigCreateParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Lti11ToolConfigCreateParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-create.params.ts\n \n\n\n\n \n Extends\n \n \n ExternalToolConfigCreateParams\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n key\n \n \n \n \n launch_presentation_locale\n \n \n \n \n lti_message_type\n \n \n \n \n privacy_permission\n \n \n \n \n \n Optional\n resource_link_id\n \n \n \n \n secret\n \n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigCreateParams\n\n \n \n \n \n Defined in ExternalToolConfigCreateParams:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n key\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-create.params.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n launch_presentation_locale\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsLocale()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-create.params.ts:38\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n lti_message_type\n \n \n \n \n \n \n Type : LtiMessageType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(LtiMessageType)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-create.params.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n privacy_permission\n \n \n \n \n \n \n Type : LtiPrivacyPermission\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(LtiPrivacyPermission)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-create.params.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n resource_link_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-create.params.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n secret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-create.params.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ToolConfigType)@ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigCreateParams\n\n \n \n \n \n Defined in ExternalToolConfigCreateParams:9\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsEnum, IsLocale, IsOptional, IsString } from 'class-validator';\nimport { LtiMessageType, LtiPrivacyPermission, ToolConfigType } from '../../../../../common/enum';\nimport { ExternalToolConfigCreateParams } from './external-tool-config.params';\n\nexport class Lti11ToolConfigCreateParams extends ExternalToolConfigCreateParams {\n\t@IsEnum(ToolConfigType)\n\t@ApiProperty()\n\ttype!: ToolConfigType;\n\n\t@IsString()\n\t@ApiProperty()\n\tbaseUrl!: string;\n\n\t@IsString()\n\t@ApiProperty()\n\tkey!: string;\n\n\t@IsString()\n\t@ApiProperty()\n\tsecret!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tresource_link_id?: string;\n\n\t@IsEnum(LtiMessageType)\n\t@ApiProperty()\n\tlti_message_type!: LtiMessageType;\n\n\t@IsEnum(LtiPrivacyPermission)\n\t@ApiProperty()\n\tprivacy_permission!: LtiPrivacyPermission;\n\n\t@IsLocale()\n\t@ApiProperty()\n\tlaunch_presentation_locale!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Lti11ToolConfigEntity.html":{"url":"classes/Lti11ToolConfigEntity.html","title":"class - Lti11ToolConfigEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Lti11ToolConfigEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/entity/config/lti11-tool-config.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n key\n \n \n \n launch_presentation_locale\n \n \n \n lti_message_type\n \n \n \n privacy_permission\n \n \n \n Optional\n resource_link_id\n \n \n \n secret\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: Lti11ToolConfigEntity)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/lti11-tool-config.entity.ts:24\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n Lti11ToolConfigEntity\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n key\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/lti11-tool-config.entity.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n \n launch_presentation_locale\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/lti11-tool-config.entity.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n lti_message_type\n \n \n \n \n \n \n Type : LtiMessageType\n\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/lti11-tool-config.entity.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n privacy_permission\n \n \n \n \n \n \n Type : LtiPrivacyPermission\n\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/lti11-tool-config.entity.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n resource_link_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/lti11-tool-config.entity.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n secret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/lti11-tool-config.entity.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Enum, Property } from '@mikro-orm/core';\nimport { LtiPrivacyPermission } from '@shared/domain/entity/ltitool.entity';\nimport { LtiMessageType, ToolConfigType } from '../../../common/enum';\nimport { ExternalToolConfigEntity } from './external-tool-config.entity';\n\n@Embeddable({ discriminatorValue: ToolConfigType.LTI11 })\nexport class Lti11ToolConfigEntity extends ExternalToolConfigEntity {\n\t@Property()\n\tkey: string;\n\n\t@Property()\n\tsecret: string;\n\n\t@Property({ nullable: true })\n\tresource_link_id?: string;\n\n\t@Enum()\n\tlti_message_type: LtiMessageType;\n\n\t@Enum()\n\tprivacy_permission: LtiPrivacyPermission;\n\n\t@Property()\n\tlaunch_presentation_locale: string;\n\n\tconstructor(props: Lti11ToolConfigEntity) {\n\t\tsuper(props);\n\t\tthis.type = ToolConfigType.LTI11;\n\t\tthis.key = props.key;\n\t\tthis.secret = props.secret;\n\t\tthis.resource_link_id = props.resource_link_id;\n\t\tthis.lti_message_type = props.lti_message_type;\n\t\tthis.privacy_permission = props.privacy_permission;\n\t\tthis.launch_presentation_locale = props.launch_presentation_locale;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Lti11ToolConfigResponse.html":{"url":"classes/Lti11ToolConfigResponse.html","title":"class - Lti11ToolConfigResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Lti11ToolConfigResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/config/lti11-tool-config.response.ts\n \n\n\n\n \n Extends\n \n \n ExternalToolConfigResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n baseUrl\n \n \n \n key\n \n \n \n launch_presentation_locale\n \n \n \n lti_message_type\n \n \n \n privacy_permission\n \n \n \n Optional\n resource_link_id\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: Lti11ToolConfigResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/lti11-tool-config.response.ts:25\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n Lti11ToolConfigResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigResponse\n\n \n \n \n \n Defined in ExternalToolConfigResponse:10\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n key\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/lti11-tool-config.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n launch_presentation_locale\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/lti11-tool-config.response.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n lti_message_type\n \n \n \n \n \n \n Type : LtiMessageType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/lti11-tool-config.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n privacy_permission\n \n \n \n \n \n \n Type : LtiPrivacyPermission\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/lti11-tool-config.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n resource_link_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/lti11-tool-config.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigResponse\n\n \n \n \n \n Defined in ExternalToolConfigResponse:7\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { LtiMessageType, LtiPrivacyPermission, ToolConfigType } from '../../../../../common/enum';\nimport { ExternalToolConfigResponse } from './external-tool-config.response';\n\nexport class Lti11ToolConfigResponse extends ExternalToolConfigResponse {\n\t@ApiProperty()\n\ttype: ToolConfigType;\n\n\t@ApiProperty()\n\tbaseUrl: string;\n\n\t@ApiProperty()\n\tkey: string;\n\n\t@ApiPropertyOptional()\n\tresource_link_id?: string;\n\n\t@ApiProperty()\n\tlti_message_type: LtiMessageType;\n\n\t@ApiProperty()\n\tprivacy_permission: LtiPrivacyPermission;\n\n\t@ApiProperty()\n\tlaunch_presentation_locale: string;\n\n\tconstructor(props: Lti11ToolConfigResponse) {\n\t\tsuper();\n\t\tthis.type = ToolConfigType.LTI11;\n\t\tthis.baseUrl = props.baseUrl;\n\t\tthis.key = props.key;\n\t\tthis.resource_link_id = props.resource_link_id;\n\t\tthis.lti_message_type = props.lti_message_type;\n\t\tthis.privacy_permission = props.privacy_permission;\n\t\tthis.launch_presentation_locale = props.launch_presentation_locale;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Lti11ToolConfigUpdateParams.html":{"url":"classes/Lti11ToolConfigUpdateParams.html","title":"class - Lti11ToolConfigUpdateParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Lti11ToolConfigUpdateParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-update.params.ts\n \n\n\n\n \n Extends\n \n \n ExternalToolConfigCreateParams\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n key\n \n \n \n \n launch_presentation_locale\n \n \n \n \n lti_message_type\n \n \n \n \n privacy_permission\n \n \n \n \n \n Optional\n resource_link_id\n \n \n \n \n \n Optional\n secret\n \n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigCreateParams\n\n \n \n \n \n Defined in ExternalToolConfigCreateParams:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n key\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-update.params.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n launch_presentation_locale\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsLocale()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-update.params.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n lti_message_type\n \n \n \n \n \n \n Type : LtiMessageType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(LtiMessageType)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-update.params.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n privacy_permission\n \n \n \n \n \n \n Type : LtiPrivacyPermission\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(LtiPrivacyPermission)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-update.params.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n resource_link_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-update.params.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n secret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/lti11-tool-config-update.params.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ToolConfigType)@ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigCreateParams\n\n \n \n \n \n Defined in ExternalToolConfigCreateParams:9\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsEnum, IsLocale, IsOptional, IsString } from 'class-validator';\nimport { LtiMessageType, LtiPrivacyPermission, ToolConfigType } from '../../../../../common/enum';\nimport { ExternalToolConfigCreateParams } from './external-tool-config.params';\n\nexport class Lti11ToolConfigUpdateParams extends ExternalToolConfigCreateParams {\n\t@IsEnum(ToolConfigType)\n\t@ApiProperty()\n\ttype!: ToolConfigType;\n\n\t@IsString()\n\t@ApiProperty()\n\tbaseUrl!: string;\n\n\t@IsString()\n\t@ApiProperty()\n\tkey!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tsecret?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tresource_link_id?: string;\n\n\t@IsEnum(LtiMessageType)\n\t@ApiProperty()\n\tlti_message_type!: LtiMessageType;\n\n\t@IsEnum(LtiPrivacyPermission)\n\t@ApiProperty()\n\tprivacy_permission!: LtiPrivacyPermission;\n\n\t@IsLocale()\n\t@ApiProperty()\n\tlaunch_presentation_locale!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LtiRoleMapper.html":{"url":"classes/LtiRoleMapper.html","title":"class - LtiRoleMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LtiRoleMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/mapper/lti-role.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapRolesToLtiRoles\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapRolesToLtiRoles\n \n \n \n \n \n \n \n mapRolesToLtiRoles(roleNames: RoleName[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/mapper/lti-role.mapper.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roleNames\n \n RoleName[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LtiRole[]\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { RoleName } from '@shared/domain/interface';\nimport { LtiRole } from '../../common/enum';\n\nconst RoleMapping: Partial> = {\n\t[RoleName.USER]: LtiRole.LEARNER,\n\t[RoleName.STUDENT]: LtiRole.LEARNER,\n\t[RoleName.TEACHER]: LtiRole.INSTRUCTOR,\n\t[RoleName.ADMINISTRATOR]: LtiRole.ADMINISTRATOR,\n\t[RoleName.SUPERHERO]: LtiRole.ADMINISTRATOR,\n};\n\nexport class LtiRoleMapper {\n\tpublic static mapRolesToLtiRoles(roleNames: RoleName[]): LtiRole[] {\n\t\tconst ltiRoles: (LtiRole | undefined)[] = roleNames.map((roleName: RoleName) => RoleMapping[roleName]);\n\n\t\tconst filterUndefined: LtiRole[] = ltiRoles.filter(\n\t\t\t(ltiRole: LtiRole | undefined): ltiRole is LtiRole => ltiRole !== undefined\n\t\t);\n\n\t\treturn filterUndefined;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/LtiTool.html":{"url":"entities/LtiTool.html","title":"entity - LtiTool","body":"\n \n\n\n\n\n\n\n\n Entities\n LtiTool\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/ltitool.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n _originToolId\n \n \n \n customs\n \n \n \n \n Optional\n friendlyUrl\n \n \n \n Optional\n frontchannel_logout_uri\n \n \n \n isHidden\n \n \n \n Optional\n isLocal\n \n \n \n isTemplate\n \n \n \n key\n \n \n \n Optional\n logo_url\n \n \n \n Optional\n lti_message_type\n \n \n \n Optional\n lti_version\n \n \n \n name\n \n \n \n Optional\n oAuthClientId\n \n \n \n openNewTab\n \n \n \n privacy_permission\n \n \n \n Optional\n resource_link_id\n \n \n \n \n Optional\n roles\n \n \n \n secret\n \n \n \n Optional\n skipConsent\n \n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n _originToolId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true, fieldName: 'originTool'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:77\n \n \n\n\n \n \n \n \n \n \n \n \n \n customs\n \n \n \n \n \n \n Type : CustomLtiProperty[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:68\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n friendlyUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})@Unique({options: undefined})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:89\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n frontchannel_logout_uri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:98\n \n \n\n\n \n \n \n \n \n \n \n \n \n isHidden\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false, default: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:101\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n isLocal\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:74\n \n \n\n\n \n \n \n \n \n \n \n \n \n isTemplate\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false, default: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:71\n \n \n\n\n \n \n \n \n \n \n \n \n \n key\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n logo_url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:45\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n lti_message_type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:48\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n lti_version\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:51\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n oAuthClientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:85\n \n \n\n\n \n \n \n \n \n \n \n \n \n openNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false, default: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:95\n \n \n\n\n \n \n \n \n \n \n \n \n \n privacy_permission\n \n \n \n \n \n \n Type : LtiPrivacyPermission\n\n \n \n \n \n Decorators : \n \n \n @Enum({items: () => LtiPrivacyPermission, default: undefined, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:65\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n resource_link_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n roles\n \n \n \n \n \n \n Type : LtiRoleType[]\n\n \n \n \n \n Decorators : \n \n \n @Enum({array: true, items: () => LtiRoleType})@Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n \n secret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false, default: 'none'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skipConsent\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:92\n \n \n\n\n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/ltitool.entity.ts:36\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Enum, Property, Unique } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport type ILtiToolProperties = Readonly>;\n\nexport enum LtiRoleType {\n\tLEARNER = 'Learner',\n\tINSTRUCTOR = 'Instructor',\n\tCONTENT_DEVELOPER = 'ContentDeveloper',\n\tADMINISTRATOR = 'Administrator',\n\tMENTOR = 'Mentor',\n\tTEACHING_ASSISTANT = 'TeachingAssistant',\n}\n\nexport enum LtiPrivacyPermission {\n\tANONYMOUS = 'anonymous',\n\tEMAIL = 'e-mail',\n\tNAME = 'name',\n\tPUBLIC = 'public',\n\tPSEUDONYMOUS = 'pseudonymous',\n}\n\nexport interface CustomLtiProperty {\n\tkey: string;\n\tvalue: string;\n}\n\n@Entity({ tableName: 'ltitools' })\nexport class LtiTool extends BaseEntityWithTimestamps {\n\t@Property({ nullable: false })\n\tname: string;\n\n\t@Property({ nullable: false })\n\turl: string;\n\n\t@Property({ nullable: true })\n\tkey: string;\n\n\t@Property({ nullable: false, default: 'none' })\n\tsecret: string;\n\n\t@Property({ nullable: true })\n\tlogo_url?: string;\n\n\t@Property({ nullable: true })\n\tlti_message_type?: string;\n\n\t@Property({ nullable: true })\n\tlti_version?: string;\n\n\t@Property({ nullable: true })\n\tresource_link_id?: string;\n\n\t@Enum({ array: true, items: () => LtiRoleType })\n\t@Property({ nullable: true })\n\troles?: LtiRoleType[];\n\n\t@Enum({\n\t\titems: () => LtiPrivacyPermission,\n\t\tdefault: LtiPrivacyPermission.ANONYMOUS,\n\t\tnullable: false,\n\t})\n\tprivacy_permission: LtiPrivacyPermission;\n\n\t@Property({ nullable: false })\n\tcustoms: CustomLtiProperty[];\n\n\t@Property({ nullable: false, default: false })\n\tisTemplate: boolean;\n\n\t@Property({ nullable: true })\n\tisLocal?: boolean;\n\n\t@Property({ nullable: true, fieldName: 'originTool' })\n\t_originToolId?: ObjectId;\n\n\t@Property({ persist: false, getter: true })\n\tget originToolId(): EntityId | undefined {\n\t\treturn this._originToolId?.toHexString();\n\t}\n\n\t@Property({ nullable: true })\n\toAuthClientId?: string;\n\n\t@Property({ nullable: true })\n\t@Unique({ options: { sparse: true } })\n\tfriendlyUrl?: string;\n\n\t@Property({ nullable: true })\n\tskipConsent?: boolean;\n\n\t@Property({ nullable: false, default: false })\n\topenNewTab: boolean;\n\n\t@Property({ nullable: true })\n\tfrontchannel_logout_uri?: string;\n\n\t@Property({ nullable: false, default: false })\n\tisHidden: boolean;\n\n\tconstructor(props: ILtiToolProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.url = props.url;\n\t\tthis.key = props.key || 'none';\n\t\tthis.secret = props.secret || 'none';\n\t\tthis.logo_url = props.logo_url;\n\t\tthis.lti_message_type = props.lti_message_type;\n\t\tthis.lti_version = props.lti_version;\n\t\tthis.resource_link_id = props.resource_link_id;\n\t\tthis.roles = props.roles || [];\n\t\tthis.privacy_permission = props.privacy_permission || LtiPrivacyPermission.ANONYMOUS;\n\t\tthis.customs = props.customs || [];\n\t\tthis.isTemplate = props.isTemplate || false;\n\t\tthis.isLocal = props.isLocal;\n\t\tif (props.originToolId !== undefined) {\n\t\t\tthis._originToolId = new ObjectId(props.originToolId);\n\t\t}\n\t\tthis.oAuthClientId = props.oAuthClientId;\n\t\tthis.friendlyUrl = props.friendlyUrl;\n\t\tthis.skipConsent = props.skipConsent;\n\t\tthis.openNewTab = props.openNewTab || false;\n\t\tthis.frontchannel_logout_uri = props.frontchannel_logout_uri;\n\t\tthis.isHidden = props.isHidden || false;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LtiToolDO.html":{"url":"classes/LtiToolDO.html","title":"class - LtiToolDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LtiToolDO\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/ltitool.do.ts\n \n\n\n\n \n Extends\n \n \n BaseDO\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n customs\n \n \n Optional\n friendlyUrl\n \n \n Optional\n frontchannel_logout_uri\n \n \n isHidden\n \n \n Optional\n isLocal\n \n \n isTemplate\n \n \n key\n \n \n Optional\n logo_url\n \n \n Optional\n lti_message_type\n \n \n Optional\n lti_version\n \n \n name\n \n \n Optional\n oAuthClientId\n \n \n openNewTab\n \n \n Optional\n originToolId\n \n \n privacy_permission\n \n \n Optional\n resource_link_id\n \n \n roles\n \n \n secret\n \n \n Optional\n skipConsent\n \n \n url\n \n \n Optional\n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(domainObject: LtiToolDO)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:55\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n \n LtiToolDO\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n customs\n \n \n \n \n \n \n Type : CustomLtiPropertyDO[]\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n friendlyUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:47\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n frontchannel_logout_uri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:53\n \n \n\n\n \n \n \n \n \n \n \n \n isHidden\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n isLocal\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n isTemplate\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n key\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n logo_url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n lti_message_type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n lti_version\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n oAuthClientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:45\n \n \n\n\n \n \n \n \n \n \n \n \n openNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:51\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n originToolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n privacy_permission\n \n \n \n \n \n \n Type : LtiPrivacyPermission\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n resource_link_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n roles\n \n \n \n \n \n \n Type : LtiRoleType[]\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n secret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n skipConsent\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/ltitool.do.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from BaseDO\n\n \n \n \n \n Defined in BaseDO:5\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { LtiPrivacyPermission, LtiRoleType } from '@shared/domain/entity/ltitool.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseDO } from './base.do';\n\nexport class CustomLtiPropertyDO {\n\tkey: string;\n\n\tvalue: string;\n\n\tconstructor(key: string, value: string) {\n\t\tthis.key = key;\n\t\tthis.value = value;\n\t}\n}\n\nexport class LtiToolDO extends BaseDO {\n\tname: string;\n\n\turl: string;\n\n\tkey: string;\n\n\tsecret: string;\n\n\tlogo_url?: string;\n\n\tlti_message_type?: string;\n\n\tlti_version?: string;\n\n\tresource_link_id?: string;\n\n\troles: LtiRoleType[];\n\n\tprivacy_permission: LtiPrivacyPermission;\n\n\tcustoms: CustomLtiPropertyDO[];\n\n\tisTemplate: boolean;\n\n\tisLocal?: boolean;\n\n\toriginToolId?: EntityId;\n\n\toAuthClientId?: string;\n\n\tfriendlyUrl?: string;\n\n\tskipConsent?: boolean;\n\n\topenNewTab: boolean;\n\n\tfrontchannel_logout_uri?: string;\n\n\tisHidden: boolean;\n\n\tconstructor(domainObject: LtiToolDO) {\n\t\tsuper(domainObject.id);\n\n\t\tthis.name = domainObject.name;\n\t\tthis.url = domainObject.url;\n\t\tthis.key = domainObject.key;\n\t\tthis.secret = domainObject.secret;\n\t\tthis.logo_url = domainObject.logo_url;\n\t\tthis.lti_message_type = domainObject.lti_message_type;\n\t\tthis.lti_version = domainObject.lti_version;\n\t\tthis.resource_link_id = domainObject.resource_link_id;\n\t\tthis.roles = domainObject.roles;\n\t\tthis.privacy_permission = domainObject.privacy_permission;\n\t\tthis.customs = domainObject.customs;\n\t\tthis.isTemplate = domainObject.isTemplate;\n\t\tthis.isLocal = domainObject.isLocal;\n\t\tthis.originToolId = domainObject.originToolId;\n\t\tthis.oAuthClientId = domainObject.oAuthClientId;\n\t\tthis.friendlyUrl = domainObject.friendlyUrl;\n\t\tthis.skipConsent = domainObject.skipConsent;\n\t\tthis.openNewTab = domainObject.openNewTab;\n\t\tthis.frontchannel_logout_uri = domainObject.frontchannel_logout_uri;\n\t\tthis.isHidden = domainObject.isHidden;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LtiToolFactory.html":{"url":"classes/LtiToolFactory.html","title":"class - LtiToolFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LtiToolFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/ltitool.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withName\n \n \n withOauthClientId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withName\n \n \n \n \n \n \nwithName(name: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/ltitool.factory.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withOauthClientId\n \n \n \n \n \n \nwithOauthClientId(oAuthClientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/ltitool.factory.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oAuthClientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CustomLtiPropertyDO } from '@shared/domain/domainobject/ltitool.do';\nimport { ILtiToolProperties, LtiPrivacyPermission, LtiRoleType, LtiTool } from '@shared/domain/entity';\nimport { BaseFactory } from '@shared/testing/factory/base.factory';\nimport { DeepPartial } from 'fishery';\n\nclass LtiToolFactory extends BaseFactory {\n\twithName(name: string): this {\n\t\tconst params: DeepPartial = {\n\t\t\tname,\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithOauthClientId(oAuthClientId: string): this {\n\t\tconst params: DeepPartial = {\n\t\t\toAuthClientId,\n\t\t};\n\t\treturn this.params(params);\n\t}\n}\n\nexport const ltiToolFactory = LtiToolFactory.define(LtiTool, ({ sequence }) => {\n\treturn {\n\t\tname: `ltiTool-${sequence}`,\n\t\tisLocal: true,\n\t\toAuthClientId: 'clientId',\n\t\tsecret: 'secret',\n\t\tcustoms: [new CustomLtiPropertyDO('key', 'value')],\n\t\tisHidden: false,\n\t\tisTemplate: false,\n\t\tkey: 'key',\n\t\topenNewTab: false,\n\t\toriginToolId: 'originToolId',\n\t\tprivacy_permission: LtiPrivacyPermission.NAME,\n\t\troles: [LtiRoleType.INSTRUCTOR, LtiRoleType.LEARNER],\n\t\turl: 'url',\n\t\tfriendlyUrl: 'friendlyUrl',\n\t\tfrontchannel_logout_uri: 'frontchannel_logout_uri',\n\t\tlogo_url: 'logo_url',\n\t\tlti_message_type: 'lti_message_type',\n\t\tlti_version: 'lti_version',\n\t\tresource_link_id: 'resource_link_id',\n\t\tskipConsent: true,\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/LtiToolModule.html":{"url":"modules/LtiToolModule.html","title":"module - LtiToolModule","body":"\n \n\n\n\n\n Modules\n LtiToolModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_LtiToolModule\n\n\n\ncluster_LtiToolModule_exports\n\n\n\ncluster_LtiToolModule_providers\n\n\n\n\nLtiToolService \n\nLtiToolService \n\n\n\nLtiToolModule\n\nLtiToolModule\n\nLtiToolService -->\n\nLtiToolModule->LtiToolService \n\n\n\n\n\nLegacyLogger\n\nLegacyLogger\n\nLtiToolModule -->\n\nLegacyLogger->LtiToolModule\n\n\n\n\n\nLtiToolRepo\n\nLtiToolRepo\n\nLtiToolModule -->\n\nLtiToolRepo->LtiToolModule\n\n\n\n\n\nLtiToolService\n\nLtiToolService\n\nLtiToolModule -->\n\nLtiToolService->LtiToolModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/lti-tool/lti-tool.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n LegacyLogger\n \n \n LtiToolRepo\n \n \n LtiToolService\n \n \n \n \n Exports\n \n \n LtiToolService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { LtiToolRepo } from '@shared/repo';\nimport { LegacyLogger } from '@src/core/logger';\nimport { LtiToolService } from './service';\n\n@Module({\n\tproviders: [LtiToolService, LtiToolRepo, LegacyLogger],\n\texports: [LtiToolService],\n})\nexport class LtiToolModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LtiToolRepo.html":{"url":"injectables/LtiToolRepo.html","title":"injectable - LtiToolRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LtiToolRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/ltitool/ltitool.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseDORepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findByClientIdAndIsLocal\n \n \n Async\n findByName\n \n \n Async\n findByOauthClientId\n \n \n Protected\n mapDOToEntityProperties\n \n \n Protected\n mapEntityToDO\n \n \n Private\n Async\n createOrUpdateEntity\n \n \n Async\n delete\n \n \n Async\n deleteById\n \n \n Async\n findById\n \n \n Private\n removeProtectedEntityFields\n \n \n Async\n save\n \n \n Async\n saveAll\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findByClientIdAndIsLocal\n \n \n \n \n \n \n \n findByClientIdAndIsLocal(oAuthClientId: string, isLocal: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/ltitool/ltitool.repo.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oAuthClientId\n \n string\n \n\n \n No\n \n\n\n \n \n isLocal\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByName\n \n \n \n \n \n \n \n findByName(name: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/ltitool/ltitool.repo.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByOauthClientId\n \n \n \n \n \n \n \n findByOauthClientId(oAuthClientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/ltitool/ltitool.repo.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oAuthClientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n mapDOToEntityProperties\n \n \n \n \n \n \n \n mapDOToEntityProperties(entityDO: LtiToolDO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:65\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n LtiToolDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : EntityData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n mapEntityToDO\n \n \n \n \n \n \n \n mapEntityToDO(entity: LtiTool)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n LtiTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LtiToolDO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createOrUpdateEntity\n \n \n \n \n \n \n \n createOrUpdateEntity(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:32\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(domainObjects: DO[] | DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:61\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[] | DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteById\n \n \n \n \n \n \n [object Object],[object Object],[object Object]\n \n \n \n \n \n deleteById(id: EntityId | EntityId[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:78\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:90\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeProtectedEntityFields\n \n \n \n \n \n \n \n removeProtectedEntityFields(entityData: EntityData)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:98\n\n \n \n\n\n \n \n Ignore base entity properties when updating entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityData\n \n EntityData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAll\n \n \n \n \n \n \n \n saveAll(domainObjects: DO[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/ltitool/ltitool.repo.ts:9\n \n \n\n \n \n\n \n\n\n \n import { EntityData, EntityName, NotFoundError } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\nimport { LtiToolDO } from '@shared/domain/domainobject/ltitool.do';\nimport { LtiPrivacyPermission, LtiTool } from '@shared/domain/entity';\nimport { BaseDORepo } from '@shared/repo/base.do.repo';\n\n@Injectable()\nexport class LtiToolRepo extends BaseDORepo {\n\tget entityName(): EntityName {\n\t\treturn LtiTool;\n\t}\n\n\tasync findByName(name: string): Promise {\n\t\tconst entities: LtiTool[] = await this._em.find(LtiTool, { name });\n\t\tif (entities.length === 0) {\n\t\t\tthrow new NotFoundError(`LtiTool with ${name} was not found.`);\n\t\t}\n\t\tconst dos: LtiToolDO[] = entities.map((entity) => this.mapEntityToDO(entity));\n\t\treturn dos;\n\t}\n\n\tasync findByOauthClientId(oAuthClientId: string): Promise {\n\t\tconst entity = await this._em.findOneOrFail(LtiTool, { oAuthClientId });\n\t\treturn this.mapEntityToDO(entity);\n\t}\n\n\tasync findByClientIdAndIsLocal(oAuthClientId: string, isLocal: boolean): Promise {\n\t\tconst entity: LtiTool | null = await this._em.findOne(LtiTool, { oAuthClientId, isLocal });\n\n\t\tif (!entity) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst domainObject: LtiToolDO = this.mapEntityToDO(entity);\n\n\t\treturn domainObject;\n\t}\n\n\tprotected mapEntityToDO(entity: LtiTool): LtiToolDO {\n\t\treturn new LtiToolDO({\n\t\t\tid: entity.id,\n\t\t\tname: entity.name,\n\t\t\turl: entity.url,\n\t\t\tkey: entity.key,\n\t\t\tsecret: entity.secret,\n\t\t\tlogo_url: entity.logo_url,\n\t\t\tlti_message_type: entity.lti_message_type,\n\t\t\tlti_version: entity.lti_version,\n\t\t\tresource_link_id: entity.resource_link_id,\n\t\t\troles: entity.roles || [],\n\t\t\tprivacy_permission: entity.privacy_permission || LtiPrivacyPermission.ANONYMOUS,\n\t\t\tcustoms: entity.customs,\n\t\t\tisTemplate: entity.isTemplate,\n\t\t\tisLocal: entity.isLocal,\n\t\t\toriginToolId: entity.originToolId,\n\t\t\toAuthClientId: entity.oAuthClientId,\n\t\t\tfriendlyUrl: entity.friendlyUrl,\n\t\t\tskipConsent: entity.skipConsent,\n\t\t\topenNewTab: entity.openNewTab,\n\t\t\tfrontchannel_logout_uri: entity.frontchannel_logout_uri,\n\t\t\tisHidden: entity.isHidden,\n\t\t});\n\t}\n\n\tprotected mapDOToEntityProperties(entityDO: LtiToolDO): EntityData {\n\t\treturn {\n\t\t\tname: entityDO.name,\n\t\t\turl: entityDO.url,\n\t\t\tkey: entityDO.key,\n\t\t\tsecret: entityDO.secret,\n\t\t\tlogo_url: entityDO.logo_url,\n\t\t\tlti_message_type: entityDO.lti_message_type,\n\t\t\tlti_version: entityDO.lti_version,\n\t\t\tresource_link_id: entityDO.resource_link_id,\n\t\t\troles: entityDO.roles,\n\t\t\tprivacy_permission: entityDO.privacy_permission,\n\t\t\tcustoms: entityDO.customs,\n\t\t\tisTemplate: entityDO.isTemplate,\n\t\t\tisLocal: entityDO.isLocal,\n\t\t\toriginToolId: entityDO.originToolId,\n\t\t\toAuthClientId: entityDO.oAuthClientId,\n\t\t\tfriendlyUrl: entityDO.friendlyUrl,\n\t\t\tskipConsent: entityDO.skipConsent,\n\t\t\topenNewTab: entityDO.openNewTab,\n\t\t\tfrontchannel_logout_uri: entityDO.frontchannel_logout_uri,\n\t\t\tisHidden: entityDO.isHidden,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/LtiToolService.html":{"url":"injectables/LtiToolService.html","title":"injectable - LtiToolService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n LtiToolService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/lti-tool/service/lti-tool.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n findByClientIdAndIsLocal\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ltiToolRepo: LtiToolRepo)\n \n \n \n \n Defined in apps/server/src/modules/lti-tool/service/lti-tool.service.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ltiToolRepo\n \n \n LtiToolRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n findByClientIdAndIsLocal\n \n \n \n \n \n \n \n findByClientIdAndIsLocal(clientId: string, isLocal: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lti-tool/service/lti-tool.service.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n clientId\n \n string\n \n\n \n No\n \n\n\n \n \n isLocal\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { LtiToolDO } from '@shared/domain/domainobject/ltitool.do';\nimport { LtiToolRepo } from '@shared/repo';\n\n@Injectable()\nexport class LtiToolService {\n\tconstructor(private readonly ltiToolRepo: LtiToolRepo) {}\n\n\tpublic async findByClientIdAndIsLocal(clientId: string, isLocal: boolean): Promise {\n\t\tconst ltiTool: Promise = this.ltiToolRepo.findByClientIdAndIsLocal(clientId, isLocal);\n\n\t\treturn ltiTool;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/LumiUserWithContentData.html":{"url":"classes/LumiUserWithContentData.html","title":"class - LumiUserWithContentData","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n LumiUserWithContentData\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/types/lumi-types.ts\n \n\n\n\n\n \n Implements\n \n \n IUser\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n canCreateRestricted\n \n \n canInstallRecommended\n \n \n canUpdateAndInstallLibraries\n \n \n contentParentId\n \n \n contentParentType\n \n \n email\n \n \n id\n \n \n name\n \n \n schoolId\n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(user: IUser, parentParams: H5PContentParentParams)\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/types/lumi-types.ts:30\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n \n IUser\n \n \n \n No\n \n \n \n \n parentParams\n \n \n H5PContentParentParams\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n canCreateRestricted\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/types/lumi-types.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n canInstallRecommended\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/types/lumi-types.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n canUpdateAndInstallLibraries\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/types/lumi-types.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n contentParentId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/types/lumi-types.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n contentParentType\n \n \n \n \n \n \n Type : H5PContentParentType\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/types/lumi-types.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n email\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/types/lumi-types.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/types/lumi-types.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/types/lumi-types.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/types/lumi-types.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : \"local\" | string\n\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/types/lumi-types.ts:30\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IUser } from '@lumieducation/h5p-server';\nimport { EntityId } from '@shared/domain/types';\nimport { H5PContentParentType } from '../entity';\n\nexport interface H5PContentParentParams {\n\tschoolId: EntityId;\n\tparentType: H5PContentParentType;\n\tparentId: EntityId;\n}\n\nexport class LumiUserWithContentData implements IUser {\n\tcontentParentType: H5PContentParentType;\n\n\tcontentParentId: EntityId;\n\n\tschoolId: EntityId;\n\n\tcanCreateRestricted: boolean;\n\n\tcanInstallRecommended: boolean;\n\n\tcanUpdateAndInstallLibraries: boolean;\n\n\temail: string;\n\n\tid: EntityId;\n\n\tname: string;\n\n\ttype: 'local' | string;\n\n\tconstructor(user: IUser, parentParams: H5PContentParentParams) {\n\t\tthis.contentParentType = parentParams.parentType;\n\t\tthis.contentParentId = parentParams.parentId;\n\t\tthis.schoolId = parentParams.schoolId;\n\n\t\tthis.canCreateRestricted = user.canCreateRestricted;\n\t\tthis.canInstallRecommended = user.canInstallRecommended;\n\t\tthis.canUpdateAndInstallLibraries = user.canUpdateAndInstallLibraries;\n\t\tthis.email = user.email;\n\t\tthis.id = user.id;\n\t\tthis.name = user.name;\n\t\tthis.type = user.type;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Mail.html":{"url":"interfaces/Mail.html","title":"interface - Mail","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Mail\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/mail/mail.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n bcc\n \n \n \n Optional\n \n cc\n \n \n \n Optional\n \n from\n \n \n \n \n mail\n \n \n \n \n recipients\n \n \n \n Optional\n \n replyTo\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n bcc\n \n \n \n \n \n \n \n \n bcc: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n cc\n \n \n \n \n \n \n \n \n cc: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n from\n \n \n \n \n \n \n \n \n from: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n mail\n \n \n \n \n \n \n \n \n mail: PlainTextMailContent | HtmlMailContent\n\n \n \n\n\n \n \n Type : PlainTextMailContent | HtmlMailContent\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n recipients\n \n \n \n \n \n \n \n \n recipients: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n replyTo\n \n \n \n \n \n \n \n \n replyTo: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n interface MailAttachment {\n\tbase64Content: string;\n\n\tmimeType: string;\n\n\tname: string;\n}\n\ninterface InlineAttachment extends MailAttachment {\n\tcontentDisposition: 'INLINE';\n\n\tcontentId: string;\n}\n\ninterface AppendedAttachment extends MailAttachment {\n\tcontentDisposition: 'ATTACHMENT';\n}\n\ninterface MailContent {\n\tsubject: string;\n\n\tattachments?: (InlineAttachment | AppendedAttachment)[];\n}\n\ninterface PlainTextMailContent extends MailContent {\n\thtmlContent?: string;\n\n\tplainTextContent: string;\n}\n\ninterface HtmlMailContent extends MailContent {\n\thtmlContent: string;\n\n\tplainTextContent?: string;\n}\n\nexport interface Mail {\n\tmail: PlainTextMailContent | HtmlMailContent;\n\n\trecipients: string[];\n\n\tfrom?: string;\n\n\tcc?: string[];\n\n\tbcc?: string[];\n\n\treplyTo?: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/MailAttachment.html":{"url":"interfaces/MailAttachment.html","title":"interface - MailAttachment","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n MailAttachment\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/mail/mail.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n base64Content\n \n \n \n \n mimeType\n \n \n \n \n name\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n base64Content\n \n \n \n \n \n \n \n \n base64Content: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n mimeType\n \n \n \n \n \n \n \n \n mimeType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n interface MailAttachment {\n\tbase64Content: string;\n\n\tmimeType: string;\n\n\tname: string;\n}\n\ninterface InlineAttachment extends MailAttachment {\n\tcontentDisposition: 'INLINE';\n\n\tcontentId: string;\n}\n\ninterface AppendedAttachment extends MailAttachment {\n\tcontentDisposition: 'ATTACHMENT';\n}\n\ninterface MailContent {\n\tsubject: string;\n\n\tattachments?: (InlineAttachment | AppendedAttachment)[];\n}\n\ninterface PlainTextMailContent extends MailContent {\n\thtmlContent?: string;\n\n\tplainTextContent: string;\n}\n\ninterface HtmlMailContent extends MailContent {\n\thtmlContent: string;\n\n\tplainTextContent?: string;\n}\n\nexport interface Mail {\n\tmail: PlainTextMailContent | HtmlMailContent;\n\n\trecipients: string[];\n\n\tfrom?: string;\n\n\tcc?: string[];\n\n\tbcc?: string[];\n\n\treplyTo?: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/MailConfig.html":{"url":"interfaces/MailConfig.html","title":"interface - MailConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n MailConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/mail/interfaces/mail-config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n ADDITIONAL_BLACKLISTED_EMAIL_DOMAINS\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n ADDITIONAL_BLACKLISTED_EMAIL_DOMAINS\n \n \n \n \n \n \n \n \n ADDITIONAL_BLACKLISTED_EMAIL_DOMAINS: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface MailConfig {\n\tADDITIONAL_BLACKLISTED_EMAIL_DOMAINS: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/MailContent.html":{"url":"interfaces/MailContent.html","title":"interface - MailContent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n MailContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/mail/mail.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n attachments\n \n \n \n \n subject\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n attachments\n \n \n \n \n \n \n \n \n attachments: (InlineAttachment | AppendedAttachment)[]\n\n \n \n\n\n \n \n Type : (InlineAttachment | AppendedAttachment)[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n subject\n \n \n \n \n \n \n \n \n subject: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n interface MailAttachment {\n\tbase64Content: string;\n\n\tmimeType: string;\n\n\tname: string;\n}\n\ninterface InlineAttachment extends MailAttachment {\n\tcontentDisposition: 'INLINE';\n\n\tcontentId: string;\n}\n\ninterface AppendedAttachment extends MailAttachment {\n\tcontentDisposition: 'ATTACHMENT';\n}\n\ninterface MailContent {\n\tsubject: string;\n\n\tattachments?: (InlineAttachment | AppendedAttachment)[];\n}\n\ninterface PlainTextMailContent extends MailContent {\n\thtmlContent?: string;\n\n\tplainTextContent: string;\n}\n\ninterface HtmlMailContent extends MailContent {\n\thtmlContent: string;\n\n\tplainTextContent?: string;\n}\n\nexport interface Mail {\n\tmail: PlainTextMailContent | HtmlMailContent;\n\n\trecipients: string[];\n\n\tfrom?: string;\n\n\tcc?: string[];\n\n\tbcc?: string[];\n\n\treplyTo?: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/MailModule.html":{"url":"modules/MailModule.html","title":"module - MailModule","body":"\n \n\n\n\n\n Modules\n MailModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/mail/mail.module.ts\n \n\n\n\n\n\n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options: MailModuleOptions)\n \n \n\n\n \n \n Defined in apps/server/src/infra/mail/mail.module.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n MailModuleOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { DynamicModule, Module } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { MailConfig } from './interfaces/mail-config';\nimport { MailService } from './mail.service';\n\ninterface MailModuleOptions {\n\texchange: string;\n\troutingKey: string;\n}\n\n@Module({})\nexport class MailModule {\n\tstatic forRoot(options: MailModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: MailModule,\n\t\t\tproviders: [\n\t\t\t\tMailService,\n\t\t\t\t{\n\t\t\t\t\tprovide: 'MAIL_SERVICE_OPTIONS',\n\t\t\t\t\tuseValue: { exchange: options.exchange, routingKey: options.routingKey },\n\t\t\t\t},\n\t\t\t\tConfigService,\n\t\t\t],\n\t\t\texports: [MailService],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/MailModuleOptions.html":{"url":"interfaces/MailModuleOptions.html","title":"interface - MailModuleOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n MailModuleOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/mail/mail.module.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n exchange\n \n \n \n \n routingKey\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n exchange\n \n \n \n \n \n \n \n \n exchange: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n routingKey\n \n \n \n \n \n \n \n \n routingKey: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { DynamicModule, Module } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { MailConfig } from './interfaces/mail-config';\nimport { MailService } from './mail.service';\n\ninterface MailModuleOptions {\n\texchange: string;\n\troutingKey: string;\n}\n\n@Module({})\nexport class MailModule {\n\tstatic forRoot(options: MailModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: MailModule,\n\t\t\tproviders: [\n\t\t\t\tMailService,\n\t\t\t\t{\n\t\t\t\t\tprovide: 'MAIL_SERVICE_OPTIONS',\n\t\t\t\t\tuseValue: { exchange: options.exchange, routingKey: options.routingKey },\n\t\t\t\t},\n\t\t\t\tConfigService,\n\t\t\t],\n\t\t\texports: [MailService],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/MailService.html":{"url":"injectables/MailService.html","title":"injectable - MailService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n MailService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/mail/mail.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n domainBlacklist\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n filterEmailAdresses\n \n \n Private\n getMailDomain\n \n \n Public\n Async\n send\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(amqpConnection: AmqpConnection, options: MailServiceOptions, configService: ConfigService)\n \n \n \n \n Defined in apps/server/src/infra/mail/mail.service.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n amqpConnection\n \n \n AmqpConnection\n \n \n \n No\n \n \n \n \n options\n \n \n MailServiceOptions\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n filterEmailAdresses\n \n \n \n \n \n \n \n filterEmailAdresses(mails: string[] | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/infra/mail/mail.service.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n mails\n \n string[] | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : [] | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getMailDomain\n \n \n \n \n \n \n \n getMailDomain(mail: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/mail/mail.service.ts:54\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n mail\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n send\n \n \n \n \n \n \n \n send(data: Mail)\n \n \n\n\n \n \n Defined in apps/server/src/infra/mail/mail.service.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n Mail\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n domainBlacklist\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in apps/server/src/infra/mail/mail.service.ts:14\n \n \n\n\n \n \n\n\n \n\n\n \n import { AmqpConnection } from '@golevelup/nestjs-rabbitmq';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { MailConfig } from './interfaces/mail-config';\nimport { Mail } from './mail.interface';\n\ninterface MailServiceOptions {\n\texchange: string;\n\troutingKey: string;\n}\n\n@Injectable()\nexport class MailService {\n\tprivate readonly domainBlacklist: string[];\n\n\tconstructor(\n\t\tprivate readonly amqpConnection: AmqpConnection,\n\t\t@Inject('MAIL_SERVICE_OPTIONS') private readonly options: MailServiceOptions,\n\t\tprivate readonly configService: ConfigService\n\t) {\n\t\tthis.domainBlacklist = this.configService.get('ADDITIONAL_BLACKLISTED_EMAIL_DOMAINS');\n\t}\n\n\tpublic async send(data: Mail): Promise {\n\t\tif (this.domainBlacklist.length > 0) {\n\t\t\tdata.recipients = this.filterEmailAdresses(data.recipients) as string[];\n\t\t\tdata.cc = this.filterEmailAdresses(data.cc);\n\t\t\tdata.bcc = this.filterEmailAdresses(data.bcc);\n\t\t\tdata.replyTo = this.filterEmailAdresses(data.replyTo);\n\t\t}\n\n\t\tif (data.recipients.length === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tawait this.amqpConnection.publish(this.options.exchange, this.options.routingKey, data, { persistent: true });\n\t}\n\n\tprivate filterEmailAdresses(mails: string[] | undefined): string[] | undefined {\n\t\tif (mails === undefined || mails === null) {\n\t\t\treturn mails;\n\t\t}\n\t\tconst mailWhitelist: string[] = [];\n\n\t\tfor (const mail of mails) {\n\t\t\tconst mailDomain = this.getMailDomain(mail);\n\t\t\tif (mailDomain && !this.domainBlacklist.includes(mailDomain)) {\n\t\t\t\tmailWhitelist.push(mail);\n\t\t\t}\n\t\t}\n\t\treturn mailWhitelist;\n\t}\n\n\tprivate getMailDomain(mail: string): string {\n\t\treturn mail.split('@')[1];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/MailServiceOptions.html":{"url":"interfaces/MailServiceOptions.html","title":"interface - MailServiceOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n MailServiceOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/mail/mail.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n exchange\n \n \n \n \n routingKey\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n exchange\n \n \n \n \n \n \n \n \n exchange: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n routingKey\n \n \n \n \n \n \n \n \n routingKey: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { AmqpConnection } from '@golevelup/nestjs-rabbitmq';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { MailConfig } from './interfaces/mail-config';\nimport { Mail } from './mail.interface';\n\ninterface MailServiceOptions {\n\texchange: string;\n\troutingKey: string;\n}\n\n@Injectable()\nexport class MailService {\n\tprivate readonly domainBlacklist: string[];\n\n\tconstructor(\n\t\tprivate readonly amqpConnection: AmqpConnection,\n\t\t@Inject('MAIL_SERVICE_OPTIONS') private readonly options: MailServiceOptions,\n\t\tprivate readonly configService: ConfigService\n\t) {\n\t\tthis.domainBlacklist = this.configService.get('ADDITIONAL_BLACKLISTED_EMAIL_DOMAINS');\n\t}\n\n\tpublic async send(data: Mail): Promise {\n\t\tif (this.domainBlacklist.length > 0) {\n\t\t\tdata.recipients = this.filterEmailAdresses(data.recipients) as string[];\n\t\t\tdata.cc = this.filterEmailAdresses(data.cc);\n\t\t\tdata.bcc = this.filterEmailAdresses(data.bcc);\n\t\t\tdata.replyTo = this.filterEmailAdresses(data.replyTo);\n\t\t}\n\n\t\tif (data.recipients.length === 0) {\n\t\t\treturn;\n\t\t}\n\n\t\tawait this.amqpConnection.publish(this.options.exchange, this.options.routingKey, data, { persistent: true });\n\t}\n\n\tprivate filterEmailAdresses(mails: string[] | undefined): string[] | undefined {\n\t\tif (mails === undefined || mails === null) {\n\t\t\treturn mails;\n\t\t}\n\t\tconst mailWhitelist: string[] = [];\n\n\t\tfor (const mail of mails) {\n\t\t\tconst mailDomain = this.getMailDomain(mail);\n\t\t\tif (mailDomain && !this.domainBlacklist.includes(mailDomain)) {\n\t\t\t\tmailWhitelist.push(mail);\n\t\t\t}\n\t\t}\n\t\treturn mailWhitelist;\n\t}\n\n\tprivate getMailDomain(mail: string): string {\n\t\treturn mail.split('@')[1];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ManagementModule.html":{"url":"modules/ManagementModule.html","title":"module - ManagementModule","body":"\n \n\n\n\n\n Modules\n ManagementModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ManagementModule\n\n\n\ncluster_ManagementModule_providers\n\n\n\n\nBoardManagementUc\n\nBoardManagementUc\n\n\n\nManagementModule\n\nManagementModule\n\nManagementModule -->\n\nBoardManagementUc->ManagementModule\n\n\n\n\n\nBsonConverter\n\nBsonConverter\n\nManagementModule -->\n\nBsonConverter->ManagementModule\n\n\n\n\n\nConsoleWriterService\n\nConsoleWriterService\n\nManagementModule -->\n\nConsoleWriterService->ManagementModule\n\n\n\n\n\nDatabaseManagementService\n\nDatabaseManagementService\n\nManagementModule -->\n\nDatabaseManagementService->ManagementModule\n\n\n\n\n\nDatabaseManagementUc\n\nDatabaseManagementUc\n\nManagementModule -->\n\nDatabaseManagementUc->ManagementModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/management/management.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n BoardManagementUc\n \n \n BsonConverter\n \n \n ConsoleWriterService\n \n \n DatabaseManagementService\n \n \n DatabaseManagementUc\n \n \n \n \n Controllers\n \n \n DatabaseManagementController\n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { Module } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { ConsoleWriterService } from '@infra/console';\nimport { DatabaseManagementModule, DatabaseManagementService } from '@infra/database';\nimport { EncryptionModule } from '@infra/encryption';\nimport { FileSystemModule } from '@infra/file-system';\nimport { KeycloakConfigurationModule } from '@infra/identity-management/keycloak-configuration/keycloak-configuration.module';\nimport { createConfigModuleOptions } from '@src/config';\nimport { LoggerModule } from '@src/core/logger';\nimport { serverConfig } from '@modules/server';\nimport { BoardManagementConsole } from './console/board-management.console';\nimport { DatabaseManagementConsole } from './console/database-management.console';\nimport { DatabaseManagementController } from './controller/database-management.controller';\nimport { BsonConverter } from './converter/bson.converter';\nimport { BoardManagementUc } from './uc/board-management.uc';\nimport { DatabaseManagementUc } from './uc/database-management.uc';\n\nconst baseImports = [\n\tFileSystemModule,\n\tDatabaseManagementModule,\n\tLoggerModule,\n\tConfigModule.forRoot(createConfigModuleOptions(serverConfig)),\n\tEncryptionModule,\n];\n\nconst imports = (Configuration.get('FEATURE_IDENTITY_MANAGEMENT_ENABLED') as boolean)\n\t? [...baseImports, KeycloakConfigurationModule]\n\t: baseImports;\n\nconst providers = [\n\tDatabaseManagementUc,\n\tDatabaseManagementService,\n\tBsonConverter,\n\t// console providers\n\tDatabaseManagementConsole,\n\t// infra services\n\tConsoleWriterService,\n\tBoardManagementConsole,\n\tBoardManagementUc,\n];\n\nconst controllers = [DatabaseManagementController];\n\n@Module({\n\timports: [...imports],\n\tproviders,\n\tcontrollers,\n})\nexport class ManagementModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ManagementServerModule.html":{"url":"modules/ManagementServerModule.html","title":"module - ManagementServerModule","body":"\n \n\n\n\n\n Modules\n ManagementServerModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ManagementServerModule\n\n\n\ncluster_ManagementServerModule_imports\n\n\n\n\nManagementModule\n\nManagementModule\n\n\n\nManagementServerModule\n\nManagementServerModule\n\nManagementServerModule -->\n\nManagementModule->ManagementServerModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/management/management-server.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n ManagementModule\n \n \n \n \n \n\n\n \n\n\n \n import { MongoMemoryDatabaseModule } from '@infra/database';\nimport { MongoDatabaseModuleOptions } from '@infra/database/mongo-memory-database/types';\nimport { Dictionary, IPrimaryKey } from '@mikro-orm/core';\nimport { MikroOrmModule, MikroOrmModuleSyncOptions } from '@mikro-orm/nestjs';\nimport { DynamicModule, Module, NotFoundException } from '@nestjs/common';\nimport { ALL_ENTITIES } from '@shared/domain/entity';\nimport { DB_PASSWORD, DB_URL, DB_USERNAME } from '@src/config';\nimport { ManagementModule } from './management.module';\n\nexport const defaultMikroOrmOptions: MikroOrmModuleSyncOptions = {\n\tfindOneOrFailHandler: (entityName: string, where: Dictionary | IPrimaryKey) =>\n\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\tnew NotFoundException(`The requested ${entityName}: ${where} has not been found.`),\n};\n\n@Module({\n\timports: [\n\t\tManagementModule,\n\t\tMikroOrmModule.forRoot({\n\t\t\t...defaultMikroOrmOptions,\n\t\t\t// TODO repeats server module definitions\n\t\t\ttype: 'mongo',\n\t\t\tclientUrl: DB_URL,\n\t\t\tpassword: DB_PASSWORD,\n\t\t\tuser: DB_USERNAME,\n\t\t\tentities: ALL_ENTITIES,\n\t\t}),\n\t],\n})\nexport class ManagementServerModule {}\n\n@Module({\n\timports: [ManagementModule, MongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions })],\n})\nexport class ManagementServerTestModule {\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: ManagementModule,\n\t\t\timports: [MongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions, ...options })],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ManagementServerTestModule.html":{"url":"modules/ManagementServerTestModule.html","title":"module - ManagementServerTestModule","body":"\n \n\n\n\n\n Modules\n ManagementServerTestModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ManagementServerTestModule\n\n\n\ncluster_ManagementServerTestModule_imports\n\n\n\n\nManagementModule\n\nManagementModule\n\n\n\nManagementServerTestModule\n\nManagementServerTestModule\n\nManagementServerTestModule -->\n\nManagementModule->ManagementServerTestModule\n\n\n\n\n\nMongoMemoryDatabaseModule\n\nMongoMemoryDatabaseModule\n\nManagementServerTestModule -->\n\nMongoMemoryDatabaseModule->ManagementServerTestModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/management/management-server.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n ManagementModule\n \n \n MongoMemoryDatabaseModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options?: MongoDatabaseModuleOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/management/management-server.module.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n MongoDatabaseModuleOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { MongoMemoryDatabaseModule } from '@infra/database';\nimport { MongoDatabaseModuleOptions } from '@infra/database/mongo-memory-database/types';\nimport { Dictionary, IPrimaryKey } from '@mikro-orm/core';\nimport { MikroOrmModule, MikroOrmModuleSyncOptions } from '@mikro-orm/nestjs';\nimport { DynamicModule, Module, NotFoundException } from '@nestjs/common';\nimport { ALL_ENTITIES } from '@shared/domain/entity';\nimport { DB_PASSWORD, DB_URL, DB_USERNAME } from '@src/config';\nimport { ManagementModule } from './management.module';\n\nexport const defaultMikroOrmOptions: MikroOrmModuleSyncOptions = {\n\tfindOneOrFailHandler: (entityName: string, where: Dictionary | IPrimaryKey) =>\n\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\tnew NotFoundException(`The requested ${entityName}: ${where} has not been found.`),\n};\n\n@Module({\n\timports: [\n\t\tManagementModule,\n\t\tMikroOrmModule.forRoot({\n\t\t\t...defaultMikroOrmOptions,\n\t\t\t// TODO repeats server module definitions\n\t\t\ttype: 'mongo',\n\t\t\tclientUrl: DB_URL,\n\t\t\tpassword: DB_PASSWORD,\n\t\t\tuser: DB_USERNAME,\n\t\t\tentities: ALL_ENTITIES,\n\t\t}),\n\t],\n})\nexport class ManagementServerModule {}\n\n@Module({\n\timports: [ManagementModule, MongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions })],\n})\nexport class ManagementServerTestModule {\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: ManagementModule,\n\t\t\timports: [MongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions, ...options })],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/Material.html":{"url":"entities/Material.html","title":"entity - Material","body":"\n \n\n\n\n\n\n\n\n Entities\n Material\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/materials.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n client\n \n \n \n Optional\n description\n \n \n \n license\n \n \n \n Optional\n merlinReference\n \n \n \n relatedResources\n \n \n \n subjects\n \n \n \n tags\n \n \n \n targetGroups\n \n \n \n title\n \n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n client\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/materials.entity.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/materials.entity.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n \n license\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/materials.entity.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n merlinReference\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/materials.entity.ts:40\n \n \n\n\n \n \n \n \n \n \n \n \n \n relatedResources\n \n \n \n \n \n \n Type : RelatedResourceProperties[] | \n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/materials.entity.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n \n subjects\n \n \n \n \n \n \n Type : string[] | \n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/materials.entity.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n \n tags\n \n \n \n \n \n \n Type : string[] | \n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/materials.entity.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n \n targetGroups\n \n \n \n \n \n \n Type : TargetGroupProperties[] | \n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/materials.entity.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/materials.entity.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/materials.entity.ts:58\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface TargetGroupProperties {\n\tstate?: string;\n\tschoolType?: string;\n\tgrade?: string;\n}\n\nexport interface RelatedResourceProperties {\n\toriginId?: string;\n\trelationType?: string;\n}\n\nexport interface MaterialProperties {\n\tclient: string;\n\tdescription?: string;\n\tlicense: string[];\n\tmerlinReference?: string;\n\trelatedResources: RelatedResourceProperties[];\n\tsubjects: string[];\n\ttags: string[];\n\ttargetGroups: TargetGroupProperties[];\n\ttitle: string;\n\turl: string;\n}\n\n@Entity({ collection: 'materials' })\nexport class Material extends BaseEntityWithTimestamps {\n\t@Property()\n\tclient: string;\n\n\t@Property()\n\tdescription?: string;\n\n\t@Property()\n\tlicense: string[];\n\n\t@Property()\n\tmerlinReference?: string;\n\n\t@Property()\n\trelatedResources: RelatedResourceProperties[] | [];\n\n\t@Property()\n\tsubjects: string[] | [];\n\n\t@Property()\n\ttags: string[] | [];\n\n\t@Property()\n\ttargetGroups: TargetGroupProperties[] | [];\n\n\t@Property()\n\ttitle: string;\n\n\t@Property()\n\turl: string;\n\n\tconstructor(props: MaterialProperties) {\n\t\tsuper();\n\t\tthis.client = props.client;\n\t\tthis.description = props.description || '';\n\t\tthis.license = props.license;\n\t\tthis.merlinReference = props.merlinReference || '';\n\t\tthis.relatedResources = props.relatedResources;\n\t\tthis.subjects = props.subjects;\n\t\tthis.tags = props.tags;\n\t\tthis.targetGroups = props.targetGroups;\n\t\tthis.title = props.title;\n\t\tthis.url = props.url;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MaterialFactory.html":{"url":"classes/MaterialFactory.html","title":"class - MaterialFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MaterialFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/material.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Material, MaterialProperties } from '@shared/domain/entity/materials.entity';\nimport { BaseFactory } from './base.factory';\n\nclass MaterialFactory extends BaseFactory {}\n\nexport const materialFactory = MaterialFactory.define(Material, ({ sequence }) => {\n\treturn {\n\t\tclient: 'test material client',\n\t\tdescription: 'test material description',\n\t\tlicense: [],\n\t\tmerlinReference: '',\n\t\trelatedResources: [],\n\t\tsubjects: [],\n\t\ttags: [],\n\t\ttargetGroups: [],\n\t\ttitle: `material #${sequence}`,\n\t\turl: 'test material url',\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/MaterialProperties.html":{"url":"interfaces/MaterialProperties.html","title":"interface - MaterialProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n MaterialProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/materials.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n client\n \n \n \n Optional\n \n description\n \n \n \n \n license\n \n \n \n Optional\n \n merlinReference\n \n \n \n \n relatedResources\n \n \n \n \n subjects\n \n \n \n \n tags\n \n \n \n \n targetGroups\n \n \n \n \n title\n \n \n \n \n url\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n client\n \n \n \n \n \n \n \n \n client: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n \n \n description: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n license\n \n \n \n \n \n \n \n \n license: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n merlinReference\n \n \n \n \n \n \n \n \n merlinReference: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n relatedResources\n \n \n \n \n \n \n \n \n relatedResources: RelatedResourceProperties[]\n\n \n \n\n\n \n \n Type : RelatedResourceProperties[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n subjects\n \n \n \n \n \n \n \n \n subjects: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n tags\n \n \n \n \n \n \n \n \n tags: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n targetGroups\n \n \n \n \n \n \n \n \n targetGroups: TargetGroupProperties[]\n\n \n \n\n\n \n \n Type : TargetGroupProperties[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface TargetGroupProperties {\n\tstate?: string;\n\tschoolType?: string;\n\tgrade?: string;\n}\n\nexport interface RelatedResourceProperties {\n\toriginId?: string;\n\trelationType?: string;\n}\n\nexport interface MaterialProperties {\n\tclient: string;\n\tdescription?: string;\n\tlicense: string[];\n\tmerlinReference?: string;\n\trelatedResources: RelatedResourceProperties[];\n\tsubjects: string[];\n\ttags: string[];\n\ttargetGroups: TargetGroupProperties[];\n\ttitle: string;\n\turl: string;\n}\n\n@Entity({ collection: 'materials' })\nexport class Material extends BaseEntityWithTimestamps {\n\t@Property()\n\tclient: string;\n\n\t@Property()\n\tdescription?: string;\n\n\t@Property()\n\tlicense: string[];\n\n\t@Property()\n\tmerlinReference?: string;\n\n\t@Property()\n\trelatedResources: RelatedResourceProperties[] | [];\n\n\t@Property()\n\tsubjects: string[] | [];\n\n\t@Property()\n\ttags: string[] | [];\n\n\t@Property()\n\ttargetGroups: TargetGroupProperties[] | [];\n\n\t@Property()\n\ttitle: string;\n\n\t@Property()\n\turl: string;\n\n\tconstructor(props: MaterialProperties) {\n\t\tsuper();\n\t\tthis.client = props.client;\n\t\tthis.description = props.description || '';\n\t\tthis.license = props.license;\n\t\tthis.merlinReference = props.merlinReference || '';\n\t\tthis.relatedResources = props.relatedResources;\n\t\tthis.subjects = props.subjects;\n\t\tthis.tags = props.tags;\n\t\tthis.targetGroups = props.targetGroups;\n\t\tthis.title = props.title;\n\t\tthis.url = props.url;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/MaterialsRepo.html":{"url":"injectables/MaterialsRepo.html","title":"injectable - MaterialsRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n MaterialsRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/materials/materials.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/materials/materials.repo.ts:7\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Material } from '@shared/domain/entity/materials.entity';\nimport { BaseRepo } from '../base.repo';\n\n@Injectable()\nexport class MaterialsRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn Material;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Meta.html":{"url":"interfaces/Meta.html","title":"interface - Meta","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Meta\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n itemsperpage\n \n \n \n \n message\n \n \n \n \n status\n \n \n \n \n statuscode\n \n \n \n \n totalitems\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n itemsperpage\n \n \n \n \n \n \n \n \n itemsperpage: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n message\n \n \n \n \n \n \n \n \n message: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n \n \n status: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n statuscode\n \n \n \n \n \n \n \n \n statuscode: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n totalitems\n \n \n \n \n \n \n \n \n totalitems: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface NextcloudGroups {\n\tgroups: string[];\n}\n\nexport interface OcsResponse {\n\tocs: {\n\t\tdata: T;\n\t\tmeta: Meta;\n\t};\n}\n\nexport interface Meta {\n\tstatus: string;\n\tstatuscode: number;\n\tmessage: string;\n\ttotalitems: string;\n\titemsperpage: string;\n}\n\nexport interface SuccessfulRes {\n\tsuccess: boolean;\n}\n\nexport interface GroupUsers {\n\tusers: string[];\n}\n\n// Groupfolders Responses\n\nexport interface GroupfoldersFolder {\n\tfolder_id: number;\n}\n\nexport interface GroupfoldersCreated {\n\tid: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/MetaTagExtractorApiModule.html":{"url":"modules/MetaTagExtractorApiModule.html","title":"module - MetaTagExtractorApiModule","body":"\n \n\n\n\n\n Modules\n MetaTagExtractorApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_MetaTagExtractorApiModule\n\n\n\ncluster_MetaTagExtractorApiModule_providers\n\n\n\ncluster_MetaTagExtractorApiModule_imports\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nMetaTagExtractorApiModule\n\nMetaTagExtractorApiModule\n\nMetaTagExtractorApiModule -->\n\nLoggerModule->MetaTagExtractorApiModule\n\n\n\n\n\nMetaTagExtractorModule\n\nMetaTagExtractorModule\n\nMetaTagExtractorApiModule -->\n\nMetaTagExtractorModule->MetaTagExtractorApiModule\n\n\n\n\n\nMetaTagExtractorUc\n\nMetaTagExtractorUc\n\nMetaTagExtractorApiModule -->\n\nMetaTagExtractorUc->MetaTagExtractorApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/meta-tag-extractor-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n MetaTagExtractorUc\n \n \n \n \n Controllers\n \n \n MetaTagExtractorController\n \n \n \n \n Imports\n \n \n LoggerModule\n \n \n MetaTagExtractorModule\n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationModule } from '@modules/authorization';\nimport { forwardRef, Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { MetaTagExtractorController } from './controller';\nimport { MetaTagExtractorModule } from './meta-tag-extractor.module';\nimport { MetaTagExtractorUc } from './uc';\n\n@Module({\n\timports: [MetaTagExtractorModule, LoggerModule, forwardRef(() => AuthorizationModule)],\n\tcontrollers: [MetaTagExtractorController],\n\tproviders: [MetaTagExtractorUc],\n})\nexport class MetaTagExtractorApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/MetaTagExtractorController.html":{"url":"controllers/MetaTagExtractorController.html","title":"controller - MetaTagExtractorController","body":"\n \n\n\n\n\n\n\n Controllers\n MetaTagExtractorController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/controller/meta-tag-extractor.controller.ts\n \n\n \n Prefix\n \n \n meta-tag-extractor\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n Async\n getMetaTags\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getMetaTags\n \n \n \n \n \n \n \n getMetaTags(currentUser: ICurrentUser, bodyParams: GetMetaTagDataBody)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'return extract meta tags'})@ApiResponse({status: 201, type: MetaTagExtractorResponse})@ApiResponse({status: 401, type: UnauthorizedException})@ApiResponse({status: 500, type: InternalServerErrorException})@Post('')\n \n \n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/controller/meta-tag-extractor.controller.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n bodyParams\n \n GetMetaTagDataBody\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, InternalServerErrorException, Post, UnauthorizedException } from '@nestjs/common';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { MetaTagExtractorUc } from '../uc';\nimport { MetaTagExtractorResponse } from './dto';\nimport { GetMetaTagDataBody } from './post-link-url.body.params';\n\n@ApiTags('Meta Tag Extractor')\n@Authenticate('jwt')\n@Controller('meta-tag-extractor')\nexport class MetaTagExtractorController {\n\tconstructor(private readonly metaTagExtractorUc: MetaTagExtractorUc) {}\n\n\t@ApiOperation({ summary: 'return extract meta tags' })\n\t@ApiResponse({ status: 201, type: MetaTagExtractorResponse })\n\t@ApiResponse({ status: 401, type: UnauthorizedException })\n\t@ApiResponse({ status: 500, type: InternalServerErrorException })\n\t@Post('')\n\tasync getMetaTags(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() bodyParams: GetMetaTagDataBody\n\t): Promise {\n\t\tconst result = await this.metaTagExtractorUc.getMetaData(currentUser.userId, bodyParams.url);\n\t\tconst imageUrl = result.image?.url;\n\t\tconst response = new MetaTagExtractorResponse({ ...result, imageUrl });\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/MetaTagExtractorModule.html":{"url":"modules/MetaTagExtractorModule.html","title":"module - MetaTagExtractorModule","body":"\n \n\n\n\n\n Modules\n MetaTagExtractorModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_MetaTagExtractorModule\n\n\n\ncluster_MetaTagExtractorModule_exports\n\n\n\ncluster_MetaTagExtractorModule_imports\n\n\n\ncluster_MetaTagExtractorModule_providers\n\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\n\n\nMetaTagExtractorModule\n\nMetaTagExtractorModule\n\nMetaTagExtractorModule -->\n\nAuthenticationModule->MetaTagExtractorModule\n\n\n\n\n\nBoardModule\n\nBoardModule\n\nMetaTagExtractorModule -->\n\nBoardModule->MetaTagExtractorModule\n\n\n\n\n\nConsoleWriterModule\n\nConsoleWriterModule\n\nMetaTagExtractorModule -->\n\nConsoleWriterModule->MetaTagExtractorModule\n\n\n\n\n\nLearnroomModule\n\nLearnroomModule\n\nMetaTagExtractorModule -->\n\nLearnroomModule->MetaTagExtractorModule\n\n\n\n\n\nLessonModule\n\nLessonModule\n\nMetaTagExtractorModule -->\n\nLessonModule->MetaTagExtractorModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nMetaTagExtractorModule -->\n\nLoggerModule->MetaTagExtractorModule\n\n\n\n\n\nTaskModule\n\nTaskModule\n\nMetaTagExtractorModule -->\n\nTaskModule->MetaTagExtractorModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nMetaTagExtractorModule -->\n\nUserModule->MetaTagExtractorModule\n\n\n\n\n\nMetaTagExtractorService \n\nMetaTagExtractorService \n\nMetaTagExtractorService -->\n\nMetaTagExtractorModule->MetaTagExtractorService \n\n\n\n\n\nBoardUrlHandler\n\nBoardUrlHandler\n\nMetaTagExtractorModule -->\n\nBoardUrlHandler->MetaTagExtractorModule\n\n\n\n\n\nCourseUrlHandler\n\nCourseUrlHandler\n\nMetaTagExtractorModule -->\n\nCourseUrlHandler->MetaTagExtractorModule\n\n\n\n\n\nLessonUrlHandler\n\nLessonUrlHandler\n\nMetaTagExtractorModule -->\n\nLessonUrlHandler->MetaTagExtractorModule\n\n\n\n\n\nMetaTagExtractorService\n\nMetaTagExtractorService\n\nMetaTagExtractorModule -->\n\nMetaTagExtractorService->MetaTagExtractorModule\n\n\n\n\n\nMetaTagInternalUrlService\n\nMetaTagInternalUrlService\n\nMetaTagExtractorModule -->\n\nMetaTagInternalUrlService->MetaTagExtractorModule\n\n\n\n\n\nTaskUrlHandler\n\nTaskUrlHandler\n\nMetaTagExtractorModule -->\n\nTaskUrlHandler->MetaTagExtractorModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/meta-tag-extractor.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n BoardUrlHandler\n \n \n CourseUrlHandler\n \n \n LessonUrlHandler\n \n \n MetaTagExtractorService\n \n \n MetaTagInternalUrlService\n \n \n TaskUrlHandler\n \n \n \n \n Imports\n \n \n AuthenticationModule\n \n \n BoardModule\n \n \n ConsoleWriterModule\n \n \n LearnroomModule\n \n \n LessonModule\n \n \n LoggerModule\n \n \n TaskModule\n \n \n UserModule\n \n \n \n \n Exports\n \n \n MetaTagExtractorService\n \n \n \n \n \n\n\n \n\n\n \n import { HttpModule } from '@nestjs/axios';\nimport { Module } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { ConsoleWriterModule } from '@infra/console';\nimport { createConfigModuleOptions } from '@src/config';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthenticationModule } from '../authentication/authentication.module';\nimport { BoardModule } from '../board';\nimport { LearnroomModule } from '../learnroom';\nimport { LessonModule } from '../lesson';\nimport { TaskModule } from '../task';\nimport { UserModule } from '../user';\nimport metaTagExtractorConfig from './meta-tag-extractor.config';\nimport { MetaTagExtractorService } from './service';\nimport { MetaTagInternalUrlService } from './service/meta-tag-internal-url.service';\nimport { BoardUrlHandler, CourseUrlHandler, LessonUrlHandler, TaskUrlHandler } from './service/url-handler';\n\n@Module({\n\timports: [\n\t\tAuthenticationModule,\n\t\tBoardModule,\n\t\tConsoleWriterModule,\n\t\tHttpModule,\n\t\tLearnroomModule,\n\t\tLessonModule,\n\t\tLoggerModule,\n\t\tTaskModule,\n\t\tUserModule,\n\t\tConfigModule.forRoot(createConfigModuleOptions(metaTagExtractorConfig)),\n\t],\n\tproviders: [\n\t\tMetaTagExtractorService,\n\t\tMetaTagInternalUrlService,\n\t\tTaskUrlHandler,\n\t\tLessonUrlHandler,\n\t\tCourseUrlHandler,\n\t\tBoardUrlHandler,\n\t],\n\texports: [MetaTagExtractorService],\n})\nexport class MetaTagExtractorModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MetaTagExtractorResponse.html":{"url":"classes/MetaTagExtractorResponse.html","title":"class - MetaTagExtractorResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MetaTagExtractorResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/controller/dto/meta-tag-extractor.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n Optional\n imageUrl\n \n \n \n \n Optional\n parentTitle\n \n \n \n \n Optional\n parentType\n \n \n \n \n Optional\n title\n \n \n \n \n type\n \n \n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: MetaTagExtractorResponse)\n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/controller/dto/meta-tag-extractor.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n MetaTagExtractorResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/controller/dto/meta-tag-extractor.response.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n imageUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/controller/dto/meta-tag-extractor.response.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n parentTitle\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/controller/dto/meta-tag-extractor.response.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n parentType\n \n \n \n \n \n \n Type : MetaDataEntityType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/controller/dto/meta-tag-extractor.response.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/controller/dto/meta-tag-extractor.response.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : MetaDataEntityType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/controller/dto/meta-tag-extractor.response.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsUrl()\n \n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/controller/dto/meta-tag-extractor.response.ts:19\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\nimport { IsString, IsUrl } from 'class-validator';\nimport { MetaDataEntityType } from '../../types';\n\nexport class MetaTagExtractorResponse {\n\tconstructor({ url, title, description, imageUrl, type, parentTitle, parentType }: MetaTagExtractorResponse) {\n\t\tthis.url = url;\n\t\tthis.title = title;\n\t\tthis.description = description;\n\t\tthis.imageUrl = imageUrl;\n\t\tthis.type = type;\n\t\tthis.parentTitle = parentTitle;\n\t\tthis.parentType = parentType;\n\t}\n\n\t@ApiProperty()\n\t@IsUrl()\n\turl!: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\ttitle?: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tdescription?: string;\n\n\t@ApiProperty()\n\t@IsString()\n\timageUrl?: string;\n\n\t@ApiProperty()\n\t@IsString()\n\ttype: MetaDataEntityType;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tparentTitle?: string;\n\n\t@ApiProperty()\n\t@IsString()\n\tparentType?: MetaDataEntityType;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/MetaTagExtractorService.html":{"url":"injectables/MetaTagExtractorService.html","title":"injectable - MetaTagExtractorService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n MetaTagExtractorService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/service/meta-tag-extractor.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n getDefaultMetaData\n \n \n Async\n getMetaData\n \n \n Private\n pickImage\n \n \n Private\n Async\n tryExtractMetaTags\n \n \n Private\n tryFilenameAsFallback\n \n \n Private\n Async\n tryInternalLinkMetaTags\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(internalLinkMataTagService: MetaTagInternalUrlService)\n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-extractor.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n internalLinkMataTagService\n \n \n MetaTagInternalUrlService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n getDefaultMetaData\n \n \n \n \n \n \n \n getDefaultMetaData(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-extractor.service.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : MetaData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getMetaData\n \n \n \n \n \n \n \n getMetaData(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-extractor.service.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n pickImage\n \n \n \n \n \n \n \n pickImage(images: ImageObject[], minWidth: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-extractor.service.ts:69\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n images\n \n ImageObject[]\n \n\n \n No\n \n\n \n \n\n \n \n minWidth\n \n number\n \n\n \n No\n \n\n \n 400\n \n\n \n \n \n \n \n Returns : ImageObject | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n tryExtractMetaTags\n \n \n \n \n \n \n \n tryExtractMetaTags(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-extractor.service.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n tryFilenameAsFallback\n \n \n \n \n \n \n \n tryFilenameAsFallback(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-extractor.service.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : MetaData | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n tryInternalLinkMetaTags\n \n \n \n \n \n \n \n tryInternalLinkMetaTags(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-extractor.service.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport ogs from 'open-graph-scraper';\nimport { ImageObject } from 'open-graph-scraper/dist/lib/types';\nimport { basename } from 'path';\nimport type { MetaData } from '../types';\nimport { MetaTagInternalUrlService } from './meta-tag-internal-url.service';\n\n@Injectable()\nexport class MetaTagExtractorService {\n\tconstructor(private readonly internalLinkMataTagService: MetaTagInternalUrlService) {}\n\n\tasync getMetaData(url: string): Promise {\n\t\tif (url.length === 0) {\n\t\t\tthrow new Error(`MetaTagExtractorService requires a valid URL. Given URL: ${url}`);\n\t\t}\n\n\t\tconst metaData =\n\t\t\t(await this.tryInternalLinkMetaTags(url)) ??\n\t\t\t(await this.tryExtractMetaTags(url)) ??\n\t\t\tthis.tryFilenameAsFallback(url) ??\n\t\t\tthis.getDefaultMetaData(url);\n\n\t\treturn metaData;\n\t}\n\n\tprivate async tryInternalLinkMetaTags(url: string): Promise {\n\t\treturn this.internalLinkMataTagService.tryInternalLinkMetaTags(url);\n\t}\n\n\tprivate async tryExtractMetaTags(url: string): Promise {\n\t\ttry {\n\t\t\tconst data = await ogs({ url, fetchOptions: { headers: { 'User-Agent': 'Open Graph Scraper' } } });\n\n\t\t\tconst title = data.result?.ogTitle ?? '';\n\t\t\tconst description = data.result?.ogDescription ?? '';\n\t\t\tconst image = data.result?.ogImage ? this.pickImage(data?.result?.ogImage) : undefined;\n\n\t\t\treturn {\n\t\t\t\ttitle,\n\t\t\t\tdescription,\n\t\t\t\timage,\n\t\t\t\turl,\n\t\t\t\ttype: 'external',\n\t\t\t};\n\t\t} catch (error) {\n\t\t\treturn undefined;\n\t\t}\n\t}\n\n\tprivate tryFilenameAsFallback(url: string): MetaData | undefined {\n\t\ttry {\n\t\t\tconst urlObject = new URL(url);\n\t\t\tconst title = basename(urlObject.pathname);\n\t\t\treturn {\n\t\t\t\ttitle,\n\t\t\t\tdescription: '',\n\t\t\t\turl,\n\t\t\t\ttype: 'unknown',\n\t\t\t};\n\t\t} catch (error) {\n\t\t\treturn undefined;\n\t\t}\n\t}\n\n\tprivate getDefaultMetaData(url: string): MetaData {\n\t\treturn { url, title: '', description: '', type: 'unknown' };\n\t}\n\n\tprivate pickImage(images: ImageObject[], minWidth = 400): ImageObject | undefined {\n\t\tconst sortedImages = [...images];\n\t\tsortedImages.sort((a, b) => (a.width && b.width ? Number(a.width) - Number(b.width) : 0));\n\t\tconst smallestBigEnoughImage = sortedImages.find((i) => i.width && i.width >= minWidth);\n\t\tconst fallbackImage = images[0] && images[0].width === undefined ? images[0] : undefined;\n\t\treturn smallestBigEnoughImage ?? fallbackImage;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/MetaTagExtractorUc.html":{"url":"injectables/MetaTagExtractorUc.html","title":"injectable - MetaTagExtractorUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n MetaTagExtractorUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/uc/meta-tag-extractor.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getMetaData\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationService: AuthorizationService, metaTagExtractorService: MetaTagExtractorService)\n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/uc/meta-tag-extractor.uc.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n metaTagExtractorService\n \n \n MetaTagExtractorService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getMetaData\n \n \n \n \n \n \n \n getMetaData(userId: EntityId, url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/uc/meta-tag-extractor.uc.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationService } from '@modules/authorization';\nimport { Injectable, UnauthorizedException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { MetaTagExtractorService } from '../service';\nimport { MetaData } from '../types';\n\n@Injectable()\nexport class MetaTagExtractorUc {\n\tconstructor(\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly metaTagExtractorService: MetaTagExtractorService\n\t) {}\n\n\tasync getMetaData(userId: EntityId, url: string): Promise {\n\t\ttry {\n\t\t\tawait this.authorizationService.getUserWithPermissions(userId);\n\t\t} catch (error) {\n\t\t\tthrow new UnauthorizedException();\n\t\t}\n\n\t\tconst result = await this.metaTagExtractorService.getMetaData(url);\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/MetaTagInternalUrlService.html":{"url":"injectables/MetaTagInternalUrlService.html","title":"injectable - MetaTagInternalUrlService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n MetaTagInternalUrlService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/service/meta-tag-internal-url.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n handlers\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n composeMetaTags\n \n \n isInternalUrl\n \n \n Async\n tryInternalLinkMetaTags\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(taskUrlHandler: TaskUrlHandler, lessonUrlHandler: LessonUrlHandler, courseUrlHandler: CourseUrlHandler, boardUrlHandler: BoardUrlHandler)\n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-internal-url.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n taskUrlHandler\n \n \n TaskUrlHandler\n \n \n \n No\n \n \n \n \n lessonUrlHandler\n \n \n LessonUrlHandler\n \n \n \n No\n \n \n \n \n courseUrlHandler\n \n \n CourseUrlHandler\n \n \n \n No\n \n \n \n \n boardUrlHandler\n \n \n BoardUrlHandler\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n composeMetaTags\n \n \n \n \n \n \n \n composeMetaTags(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-internal-url.service.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isInternalUrl\n \n \n \n \n \n \nisInternalUrl(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-internal-url.service.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n tryInternalLinkMetaTags\n \n \n \n \n \n \n \n tryInternalLinkMetaTags(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-internal-url.service.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n handlers\n \n \n \n \n \n \n Type : UrlHandler[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/meta-tag-internal-url.service.ts:9\n \n \n\n\n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { Injectable } from '@nestjs/common';\nimport type { UrlHandler } from '../interface/url-handler';\nimport { MetaData } from '../types';\nimport { BoardUrlHandler, CourseUrlHandler, LessonUrlHandler, TaskUrlHandler } from './url-handler';\n\n@Injectable()\nexport class MetaTagInternalUrlService {\n\tprivate handlers: UrlHandler[] = [];\n\n\tconstructor(\n\t\tprivate readonly taskUrlHandler: TaskUrlHandler,\n\t\tprivate readonly lessonUrlHandler: LessonUrlHandler,\n\t\tprivate readonly courseUrlHandler: CourseUrlHandler,\n\t\tprivate readonly boardUrlHandler: BoardUrlHandler\n\t) {\n\t\tthis.handlers = [this.taskUrlHandler, this.lessonUrlHandler, this.courseUrlHandler, this.boardUrlHandler];\n\t}\n\n\tasync tryInternalLinkMetaTags(url: string): Promise {\n\t\tif (this.isInternalUrl(url)) {\n\t\t\treturn this.composeMetaTags(url);\n\t\t}\n\t\treturn Promise.resolve(undefined);\n\t}\n\n\tisInternalUrl(url: string) {\n\t\tlet domain = Configuration.get('SC_DOMAIN') as string;\n\t\tdomain = domain === '' ? 'nothing-configured-for-internal-url.de' : domain;\n\t\tconst isInternal = url.toLowerCase().includes(domain.toLowerCase());\n\t\treturn isInternal;\n\t}\n\n\tprivate async composeMetaTags(url: string): Promise {\n\t\tconst urlObject = new URL(url);\n\n\t\tconst handler = this.handlers.find((h) => h.doesUrlMatch(url));\n\t\tif (handler) {\n\t\t\tconst result = await handler.getMetaData(url);\n\t\t\treturn result;\n\t\t}\n\n\t\tconst title = urlObject.pathname;\n\t\treturn Promise.resolve({\n\t\t\ttitle,\n\t\t\tdescription: '',\n\t\t\turl,\n\t\t\ttype: 'unknown',\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MetadataTypeMapper.html":{"url":"classes/MetadataTypeMapper.html","title":"class - MetadataTypeMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MetadataTypeMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/mapper/metadata-type.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToAlloweMetadataType\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToAlloweMetadataType\n \n \n \n \n \n \n \n mapToAlloweMetadataType(type: ShareTokenParentType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/mapper/metadata-type.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n ShareTokenParentType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LearnroomTypes\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { NotImplementedException } from '@nestjs/common';\nimport { LearnroomTypes } from '@shared/domain/types';\nimport { ShareTokenParentType } from '../domainobject/share-token.do';\n\nexport class MetadataTypeMapper {\n\tstatic mapToAlloweMetadataType(type: ShareTokenParentType): LearnroomTypes {\n\t\tconst types: Map = new Map();\n\t\ttypes.set(ShareTokenParentType.Course, LearnroomTypes.Course);\n\n\t\tconst res = types.get(type);\n\n\t\tif (!res) {\n\t\t\tthrow new NotImplementedException();\n\t\t}\n\t\treturn res;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MigrationAlreadyActivatedException.html":{"url":"classes/MigrationAlreadyActivatedException.html","title":"class - MigrationAlreadyActivatedException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MigrationAlreadyActivatedException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/uc/ldap-user-migration.error.ts\n \n\n\n\n \n Extends\n \n \n LdapUserMigrationException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(descriptionOrOptions?: string | HttpExceptionOptions)\n \n \n \n \n Defined in apps/server/src/modules/user-import/uc/ldap-user-migration.error.ts:28\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n descriptionOrOptions\n \n \n string | HttpExceptionOptions\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/uc/ldap-user-migration.error.ts:33\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BadRequestException, HttpExceptionOptions } from '@nestjs/common';\nimport { ErrorLogMessage, LogMessage, Loggable, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class LdapUserMigrationException extends BadRequestException {}\n\nexport class LdapAlreadyPersistedException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('ldapAlreadyPersisted', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'LDAP is already Persisted',\n\t\t};\n\t}\n}\nexport class MissingSchoolNumberException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('LDAP migration Exception', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'The school is missing a official school number',\n\t\t};\n\t}\n}\nexport class MigrationAlreadyActivatedException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('LDAP migration Exception', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'Migration is already activated for this school',\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/MigrationCheckService.html":{"url":"injectables/MigrationCheckService.html","title":"injectable - MigrationCheckService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n MigrationCheckService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/service/migration-check.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n isMigrationActive\n \n \n Private\n isUserMigrated\n \n \n Public\n Async\n shouldUserMigrate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userService: UserService, schoolService: LegacySchoolService, userLoginMigrationRepo: UserLoginMigrationRepo)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/migration-check.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n userLoginMigrationRepo\n \n \n UserLoginMigrationRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n isMigrationActive\n \n \n \n \n \n \n \n isMigrationActive(userLoginMigration: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/migration-check.service.ts:48\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigration\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isUserMigrated\n \n \n \n \n \n \n \n isUserMigrated(user: UserDO | null, userLoginMigration: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/migration-check.service.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserDO | null\n \n\n \n No\n \n\n\n \n \n userLoginMigration\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n shouldUserMigrate\n \n \n \n \n \n \n \n shouldUserMigrate(externalUserId: string, systemId: EntityId, officialSchoolNumber: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/migration-check.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalUserId\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n officialSchoolNumber\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { LegacySchoolService } from '@modules/legacy-school';\nimport { UserService } from '@modules/user';\nimport { Injectable } from '@nestjs/common';\nimport { LegacySchoolDo, UserDO, UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { UserLoginMigrationRepo } from '@shared/repo';\n\n@Injectable()\nexport class MigrationCheckService {\n\tconstructor(\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly schoolService: LegacySchoolService,\n\t\tprivate readonly userLoginMigrationRepo: UserLoginMigrationRepo\n\t) {}\n\n\tpublic async shouldUserMigrate(\n\t\texternalUserId: string,\n\t\tsystemId: EntityId,\n\t\tofficialSchoolNumber: string\n\t): Promise {\n\t\tconst school: LegacySchoolDo | null = await this.schoolService.getSchoolBySchoolNumber(officialSchoolNumber);\n\n\t\tif (!school?.id) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationRepo.findBySchoolId(school.id);\n\n\t\tif (!userLoginMigration || !this.isMigrationActive(userLoginMigration)) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst user: UserDO | null = await this.userService.findByExternalId(externalUserId, systemId);\n\n\t\tif (this.isUserMigrated(user, userLoginMigration)) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tprivate isUserMigrated(user: UserDO | null, userLoginMigration: UserLoginMigrationDO): boolean {\n\t\treturn (\n\t\t\t!!user && user.lastLoginSystemChange !== undefined && user.lastLoginSystemChange > userLoginMigration.startedAt\n\t\t);\n\t}\n\n\tprivate isMigrationActive(userLoginMigration: UserLoginMigrationDO): boolean {\n\t\treturn !userLoginMigration.closedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MigrationDto.html":{"url":"classes/MigrationDto.html","title":"class - MigrationDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MigrationDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/service/dto/migration.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n redirect\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userMigrationDto: MigrationDto)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/dto/migration.dto.ts:2\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userMigrationDto\n \n \n MigrationDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n redirect\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/dto/migration.dto.ts:2\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class MigrationDto {\n\tredirect: string;\n\n\tconstructor(userMigrationDto: MigrationDto) {\n\t\tthis.redirect = userMigrationDto.redirect;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MigrationMayBeCompleted.html":{"url":"classes/MigrationMayBeCompleted.html","title":"class - MigrationMayBeCompleted","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MigrationMayBeCompleted\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/loggable/migration-may-be-completed.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(inUserMigration?: boolean)\n \n \n \n \n Defined in apps/server/src/modules/user-import/loggable/migration-may-be-completed.loggable.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n inUserMigration\n \n \n boolean\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/loggable/migration-may-be-completed.loggable.ts:6\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class MigrationMayBeCompleted implements Loggable {\n\tconstructor(private readonly inUserMigration?: boolean) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'The migration may have already been completed or the school may not yet be in maintenance mode',\n\t\t\tdata: {\n\t\t\t\tinUserMigration: this.inUserMigration,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MigrationMayNotBeCompleted.html":{"url":"classes/MigrationMayNotBeCompleted.html","title":"class - MigrationMayNotBeCompleted","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MigrationMayNotBeCompleted\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/loggable/migration-is-not-completed.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(inUserMigration?: boolean)\n \n \n \n \n Defined in apps/server/src/modules/user-import/loggable/migration-is-not-completed.loggable.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n inUserMigration\n \n \n boolean\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/loggable/migration-is-not-completed.loggable.ts:6\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class MigrationMayNotBeCompleted implements Loggable {\n\tconstructor(private readonly inUserMigration?: boolean) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'The migration may not be yet complete or the school may not be in maintenance mode',\n\t\t\tdata: {\n\t\t\t\tinUserMigration: this.inUserMigration,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/MigrationOptions.html":{"url":"interfaces/MigrationOptions.html","title":"interface - MigrationOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n MigrationOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n query\n \n \n \n Optional\n \n skip\n \n \n \n Optional\n \n verbose\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n query\n \n \n \n \n \n \n \n \n query: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n skip\n \n \n \n \n \n \n \n \n skip: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n verbose\n \n \n \n \n \n \n \n \n verbose: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { ConsoleWriterService } from '@infra/console';\nimport { LegacyLogger } from '@src/core/logger';\nimport { Command, CommandOption, Console } from 'nestjs-console';\nimport { KeycloakConfigurationUc } from '../uc/keycloak-configuration.uc';\n\nconst defaultError = new Error('IDM is not reachable or authentication failed.');\n\ninterface RetryOptions {\n\tretryCount?: number;\n\tretryDelay?: number;\n}\n\ninterface MigrationOptions {\n\tskip?: number;\n\tquery?: string;\n\tverbose?: boolean;\n}\n\ninterface CleanOptions {\n\tpageSize?: number;\n}\n@Console({ command: 'idm', description: 'Prefixes all Identity Management (IDM) related console commands.' })\nexport class KeycloakConsole {\n\tconstructor(\n\t\tprivate readonly console: ConsoleWriterService,\n\t\tprivate readonly keycloakConfigurationUc: KeycloakConfigurationUc,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(KeycloakConsole.name);\n\t}\n\n\tstatic retryFlags: CommandOption[] = [\n\t\t{\n\t\t\tflags: '-rc, --retry-count ',\n\t\t\tdescription: 'If the command fails, it will be retried this number of times. Default is no retry.',\n\t\t\trequired: false,\n\t\t\tdefaultValue: 1,\n\t\t},\n\t\t{\n\t\t\tflags: '-rd, --retry-delay ',\n\t\t\tdescription: 'If \"retry\" is active, this delay is used between each retry. Default is 10 seconds.',\n\t\t\trequired: false,\n\t\t\tdefaultValue: 10,\n\t\t},\n\t];\n\n\t/**\n\t * For local development. Checks if connection to IDM is working.\n\t */\n\t@Command({ command: 'check', description: 'Test the connection to the IDM.' })\n\tasync check(): Promise {\n\t\tif (await this.keycloakConfigurationUc.check()) {\n\t\t\tthis.console.info('Connected to IDM');\n\t\t} else {\n\t\t\tthrow defaultError;\n\t\t}\n\t}\n\n\t/**\n\t * Cleans users from IDM\n\t *\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'clean',\n\t\tdescription: 'Remove all users from the IDM.',\n\t\toptions: [\n\t\t\t...KeycloakConsole.retryFlags,\n\t\t\t{\n\t\t\t\tflags: '- mps, --maxPageSize ',\n\t\t\t\tdescription: 'Maximum users to delete per Keycloak API session. Default 100.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: 100,\n\t\t\t},\n\t\t],\n\t})\n\tasync clean(options: RetryOptions & CleanOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'clean',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.clean(options.pageSize ? Number(options.pageSize) : 100);\n\t\t\t\tthis.console.info(`Cleaned ${count} users in IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * For local development. Seeds user into IDM\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'seed',\n\t\tdescription: 'Add all seed users to the IDM.',\n\t\toptions: KeycloakConsole.retryFlags,\n\t})\n\tasync seed(options: RetryOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'seed',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.seed();\n\t\t\t\tthis.console.info(`Seeded ${count} users into IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * Used in production and for local development to transfer configuration to keycloak.\n\t *\n\t */\n\t@Command({\n\t\tcommand: 'configure',\n\t\tdescription: 'Configures Keycloak identity providers.',\n\t\toptions: [...KeycloakConsole.retryFlags],\n\t})\n\tasync configure(options: RetryOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'configure',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.configure();\n\t\t\t\tthis.console.info(`Configured ${count} identity provider(s).`);\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * For migration purpose. Moves all database accounts to the IDM\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'migrate',\n\t\tdescription: 'Add all database users to the IDM.',\n\t\toptions: [\n\t\t\t...KeycloakConsole.retryFlags,\n\t\t\t{\n\t\t\t\tflags: '-s, --skip',\n\t\t\t\tdescription: 'Skip the first \"s\" accounts during migration. Default 0.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: undefined,\n\t\t\t},\n\t\t\t{\n\t\t\t\tflags: '-v, --verbose',\n\t\t\t\tdescription: 'Log all events. Default is false.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: false,\n\t\t\t},\n\t\t],\n\t})\n\tasync migrate(options: RetryOptions & MigrationOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'migrate',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.migrate(\n\t\t\t\t\toptions.skip ? Number(options.skip) : undefined,\n\t\t\t\t\toptions.verbose ? Boolean(options.verbose) : false\n\t\t\t\t);\n\t\t\t\tthis.console.info(`Migrated ${count} users into IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\tprivate async repeatCommand(commandName: string, command: () => Promise, count = 1, delay = 10): Promise {\n\t\tlet repetitions = 0;\n\t\tlet error = new Error('error could be thrown if count is {\n\t\t\tsetTimeout(resolve, ms);\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MissingSchoolNumberException.html":{"url":"classes/MissingSchoolNumberException.html","title":"class - MissingSchoolNumberException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MissingSchoolNumberException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/uc/ldap-user-migration.error.ts\n \n\n\n\n \n Extends\n \n \n LdapUserMigrationException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(descriptionOrOptions?: string | HttpExceptionOptions)\n \n \n \n \n Defined in apps/server/src/modules/user-import/uc/ldap-user-migration.error.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n descriptionOrOptions\n \n \n string | HttpExceptionOptions\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/uc/ldap-user-migration.error.ts:22\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BadRequestException, HttpExceptionOptions } from '@nestjs/common';\nimport { ErrorLogMessage, LogMessage, Loggable, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class LdapUserMigrationException extends BadRequestException {}\n\nexport class LdapAlreadyPersistedException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('ldapAlreadyPersisted', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'LDAP is already Persisted',\n\t\t};\n\t}\n}\nexport class MissingSchoolNumberException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('LDAP migration Exception', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'The school is missing a official school number',\n\t\t};\n\t}\n}\nexport class MigrationAlreadyActivatedException extends LdapUserMigrationException implements Loggable {\n\tconstructor(descriptionOrOptions?: string | HttpExceptionOptions) {\n\t\tsuper('LDAP migration Exception', descriptionOrOptions);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'Migration is already activated for this school',\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MissingToolParameterValueLoggableException.html":{"url":"classes/MissingToolParameterValueLoggableException.html","title":"class - MissingToolParameterValueLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MissingToolParameterValueLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/error/missing-tool-parameter-value.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(contextExternalTool: ContextExternalTool, parameters: CustomParameter[])\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/error/missing-tool-parameter-value.loggable-exception.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalTool\n \n \n ContextExternalTool\n \n \n \n No\n \n \n \n \n parameters\n \n \n CustomParameter[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/error/missing-tool-parameter-value.loggable-exception.ts:26\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { BusinessError } from '@shared/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { ContextExternalTool } from '../../context-external-tool/domain';\nimport { CustomParameter } from '../../common/domain';\n\nexport class MissingToolParameterValueLoggableException extends BusinessError implements Loggable {\n\tconstructor(\n\t\tprivate readonly contextExternalTool: ContextExternalTool,\n\t\tprivate readonly parameters: CustomParameter[]\n\t) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'MISSING_TOOL_PARAMETER_VALUE',\n\t\t\t\ttitle: 'Missing tool parameter value',\n\t\t\t\tdefaultMessage: 'The external tool was attempted to launch, but a parameter was not configured.',\n\t\t\t},\n\t\t\tHttpStatus.UNPROCESSABLE_ENTITY,\n\t\t\t{\n\t\t\t\tparameterKeys: parameters.map((param): string => param.name),\n\t\t\t\tparameterNames: parameters.map((param): string => param.displayName),\n\t\t\t}\n\t\t);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\tconst parameterNames: string[] = this.parameters.map((param): string => param.name);\n\n\t\treturn {\n\t\t\ttype: this.type,\n\t\t\tmessage: this.message,\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tcontextExternalToolId: this.contextExternalTool.id,\n\t\t\t\tparameterNames: `[${parameterNames.join(', ')}]`,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/MongoMemoryDatabaseModule.html":{"url":"modules/MongoMemoryDatabaseModule.html","title":"module - MongoMemoryDatabaseModule","body":"\n \n\n\n\n\n Modules\n MongoMemoryDatabaseModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/database/mongo-memory-database/mongo-memory-database.module.ts\n \n\n\n\n\n\n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options?: MongoDatabaseModuleOptions)\n \n \n\n\n \n \n Defined in apps/server/src/infra/database/mongo-memory-database/mongo-memory-database.module.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n MongoDatabaseModuleOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n onModuleDestroy\n \n \n \n \n \n \n \n onModuleDestroy()\n \n \n\n\n \n \n Defined in apps/server/src/infra/database/mongo-memory-database/mongo-memory-database.module.ts:42\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n \n\n\n \n import { MikroORM } from '@mikro-orm/core';\nimport { MikroOrmModule, MikroOrmModuleAsyncOptions } from '@mikro-orm/nestjs';\nimport { DynamicModule, Inject, Module, OnModuleDestroy } from '@nestjs/common';\nimport { ALL_ENTITIES } from '@shared/domain/entity';\nimport _ from 'lodash';\nimport { MongoDatabaseModuleOptions } from './types';\n\nconst dbName = () => _.times(20, () => _.random(35).toString(36)).join('');\n\nconst createMikroOrmModule = (options: MikroOrmModuleAsyncOptions): DynamicModule => {\n\tconst mikroOrmModule = MikroOrmModule.forRootAsync({\n\t\tuseFactory: () => {\n\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions, no-process-env\n\t\t\tconst clientUrl = `${process.env.MONGO_TEST_URI}/${dbName()}`;\n\t\t\treturn {\n\t\t\t\tallowGlobalContext: true, // can be overridden by options\n\t\t\t\t...options,\n\t\t\t\ttype: 'mongo',\n\t\t\t\tclientUrl,\n\t\t\t};\n\t\t},\n\t});\n\n\treturn mikroOrmModule;\n};\n\n@Module({})\nexport class MongoMemoryDatabaseModule implements OnModuleDestroy {\n\tconstructor(@Inject(MikroORM) private orm: MikroORM) {}\n\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\tconst defaultOptions = {\n\t\t\tentities: ALL_ENTITIES,\n\t\t};\n\t\treturn {\n\t\t\tmodule: MongoMemoryDatabaseModule,\n\t\t\timports: [createMikroOrmModule({ ...defaultOptions, ...options })],\n\t\t\texports: [MikroOrmModule],\n\t\t};\n\t}\n\n\tasync onModuleDestroy(): Promise {\n\t\tawait this.orm.close();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MongoPatterns.html":{"url":"classes/MongoPatterns.html","title":"class - MongoPatterns","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MongoPatterns\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/mongo.patterns.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n REGEX_MONGO_LANGUAGE_PATTERN_WHITELIST\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n REGEX_MONGO_LANGUAGE_PATTERN_WHITELIST\n \n \n \n \n \n \n Default value : /[^\\-_\\w\\d áàâäãåçéèêëíìîïñóòôöõúùûüýÿæœÁÀÂÄÃÅÇÉÈÊËÍÌÎÏÑÓÒÔÖÕÚÙÛÜÝŸÆŒ]/gi\n \n \n \n \n Defined in apps/server/src/shared/repo/mongo.patterns.ts:6\n \n \n\n \n \n Regex to escape strings before use as regex against database.\nUsed to remove all non-language characters except numbers, whitespace or minus.\n\n \n \n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class MongoPatterns {\n\t/**\n\t * Regex to escape strings before use as regex against database.\n\t * Used to remove all non-language characters except numbers, whitespace or minus.\n\t */\n\tstatic REGEX_MONGO_LANGUAGE_PATTERN_WHITELIST =\n\t\t/[^\\-_\\w\\d áàâäãåçéèêëíìîïñóòôöõúùûüýÿæœÁÀÂÄÃÅÇÉÈÊËÍÌÎÏÑÓÒÔÖÕÚÙÛÜÝŸÆŒ]/gi;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MoveCardBodyParams.html":{"url":"classes/MoveCardBodyParams.html","title":"class - MoveCardBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MoveCardBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/board/move-card.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n toColumnId\n \n \n \n \n \n toPosition\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n toColumnId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/move-card.body.params.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n toPosition\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@ApiProperty({required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/move-card.body.params.ts:18\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId, IsNumber, Min } from 'class-validator';\n\nexport class MoveCardBodyParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\ttoColumnId!: string;\n\n\t@IsNumber()\n\t@Min(0)\n\t@ApiProperty({\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\ttoPosition!: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MoveColumnBodyParams.html":{"url":"classes/MoveColumnBodyParams.html","title":"class - MoveColumnBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MoveColumnBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/board/move-column.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n toBoardId\n \n \n \n \n \n toPosition\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n toBoardId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the target board', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/move-column.body.params.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n toPosition\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@ApiProperty({required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/move-column.body.params.ts:19\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId, IsNumber, Min } from 'class-validator';\n\nexport class MoveColumnBodyParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the target board',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\ttoBoardId!: string;\n\n\t@IsNumber()\n\t@Min(0)\n\t@ApiProperty({\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\ttoPosition!: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MoveContentElementBody.html":{"url":"classes/MoveContentElementBody.html","title":"class - MoveContentElementBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MoveContentElementBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/card/move-content-element.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n toCardId\n \n \n \n \n \n toPosition\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n toCardId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/move-content-element.body.params.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n toPosition\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@ApiProperty({required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/move-content-element.body.params.ts:18\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId, IsNumber, Min } from 'class-validator';\n\nexport class MoveContentElementBody {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\ttoCardId!: string;\n\n\t@IsNumber()\n\t@Min(0)\n\t@ApiProperty({\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\ttoPosition!: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MoveElementParams.html":{"url":"classes/MoveElementParams.html","title":"class - MoveElementParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MoveElementParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/move-element.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n from\n \n \n \n \n to\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n from\n \n \n \n \n \n \n Type : MoveElementPositionParams\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/move-element.body.params.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n to\n \n \n \n \n \n \n Type : MoveElementPositionParams\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/move-element.body.params.ts:33\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { ValidateNested, IsNumber, Min, IsOptional } from 'class-validator';\n\n/**\n * DTO for Updating the position of a Dashboard Element.\n */\n\nexport class MoveElementPositionParams {\n\t@IsNumber()\n\t@Min(0)\n\t@ApiProperty()\n\tx!: number;\n\n\t@IsNumber()\n\t@Min(0)\n\t@ApiProperty()\n\ty!: number;\n\n\t@IsNumber()\n\t@Min(0)\n\t@IsOptional()\n\t@ApiPropertyOptional({ description: 'used to identify a position within a group.' })\n\tgroupIndex?: number;\n}\n\nexport class MoveElementParams {\n\t@ValidateNested()\n\t@ApiProperty()\n\tfrom!: MoveElementPositionParams;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tto!: MoveElementPositionParams;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/MoveElementPositionParams.html":{"url":"classes/MoveElementPositionParams.html","title":"class - MoveElementPositionParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n MoveElementPositionParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/move-element.body.params.ts\n \n\n\n \n Description\n \n \n DTO for Updating the position of a Dashboard Element.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n groupIndex\n \n \n \n \n \n x\n \n \n \n \n \n y\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n groupIndex\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@IsOptional()@ApiPropertyOptional({description: 'used to identify a position within a group.'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/move-element.body.params.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n x\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/move-element.body.params.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n y\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@Min(0)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/move-element.body.params.ts:17\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { ValidateNested, IsNumber, Min, IsOptional } from 'class-validator';\n\n/**\n * DTO for Updating the position of a Dashboard Element.\n */\n\nexport class MoveElementPositionParams {\n\t@IsNumber()\n\t@Min(0)\n\t@ApiProperty()\n\tx!: number;\n\n\t@IsNumber()\n\t@Min(0)\n\t@ApiProperty()\n\ty!: number;\n\n\t@IsNumber()\n\t@Min(0)\n\t@IsOptional()\n\t@ApiPropertyOptional({ description: 'used to identify a position within a group.' })\n\tgroupIndex?: number;\n}\n\nexport class MoveElementParams {\n\t@ValidateNested()\n\t@ApiProperty()\n\tfrom!: MoveElementPositionParams;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tto!: MoveElementPositionParams;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/NameMatch.html":{"url":"interfaces/NameMatch.html","title":"interface - NameMatch","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n NameMatch\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/types/importuser.types.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n name\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Match filter for lastName or firstName\n\n \n \n \n \n \n \n\n\n \n import type { IImportUserRoleName } from '../entity/import-user.entity';\n\nexport enum MatchCreatorScope {\n\tAUTO = 'auto',\n\tMANUAL = 'admin',\n\tNONE = 'none',\n}\n\nexport interface IImportUserScope {\n\tfirstName?: string;\n\tlastName?: string;\n\tloginName?: string;\n\tmatches?: MatchCreatorScope[];\n\tflagged?: boolean;\n\trole?: IImportUserRoleName;\n\tclasses?: string;\n}\n\nexport interface NameMatch {\n\t/**\n\t * Match filter for lastName or firstName\n\t */\n\tname?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/News.html":{"url":"entities/News.html","title":"entity - News","body":"\n \n\n\n\n\n\n\n\n Entities\n News\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/news.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n creator\n \n \n \n \n displayAt\n \n \n \n Optional\n externalId\n \n \n permissions\n \n \n \n school\n \n \n \n Optional\n source\n \n \n \n Optional\n sourceDescription\n \n \n target\n \n \n \n targetModel\n \n \n \n title\n \n \n \n Optional\n updater\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:38\n \n \n\n \n \n the news content as html\n\n \n \n\n \n \n \n \n \n \n \n \n \n creator\n \n \n \n \n \n \n Type : User\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('User', {fieldName: 'creatorId'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:65\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n displayAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property()@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:43\n \n \n\n \n \n only past news are visible for viewers, when edit permission, news visible in the future might be accessed too\n\n \n \n\n \n \n \n \n \n \n \n \n \n Optional\n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n permissions\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:70\n \n \n\n\n \n \n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n Type : SchoolEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined, {fieldName: 'schoolId'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:62\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n source\n \n \n \n \n \n \n Type : \"internal\" | \"rss\"\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n sourceDescription\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : NewsTarget\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:55\n \n \n\n \n \n id reference to a collection populated later with name\n\n \n \n\n \n \n \n \n \n \n \n \n \n targetModel\n \n \n \n \n \n \n Type : NewsTargetModel\n\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:59\n \n \n\n \n \n name of a collection which is referenced in target\n\n \n \n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:34\n \n \n\n \n \n the news title\n\n \n \n\n \n \n \n \n \n \n \n \n \n Optional\n updater\n \n \n \n \n \n \n Type : User\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('User', {fieldName: 'updaterId', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:68\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Enum, Index, ManyToOne, Property } from '@mikro-orm/core';\nimport { EntityId } from '../types';\nimport { NewsTarget, NewsTargetModel } from '../types/news.types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { TeamEntity } from './team.entity';\nimport type { User } from './user.entity';\n\nexport interface NewsProperties {\n\ttitle: string;\n\tcontent: string;\n\tdisplayAt: Date;\n\tschool: EntityId | SchoolEntity;\n\tcreator: EntityId | User;\n\ttarget: EntityId | NewsTarget;\n\n\texternalId?: string;\n\tsource?: 'internal' | 'rss';\n\tsourceDescription?: string;\n\tupdater?: User;\n}\n\n@Entity({\n\tdiscriminatorColumn: 'targetModel',\n\tabstract: true,\n})\n@Index({ properties: ['school', 'target'] })\n@Index({ properties: ['school', 'target', 'targetModel'] })\n@Index({ properties: ['target', 'targetModel'] })\nexport abstract class News extends BaseEntityWithTimestamps {\n\t/** the news title */\n\t@Property()\n\ttitle: string;\n\n\t/** the news content as html */\n\t@Property()\n\tcontent: string;\n\n\t/** only past news are visible for viewers, when edit permission, news visible in the future might be accessed too */\n\t@Property()\n\t@Index()\n\tdisplayAt: Date;\n\n\t@Property({ nullable: true })\n\texternalId?: string;\n\n\t@Property({ nullable: true })\n\tsource?: 'internal' | 'rss';\n\n\t@Property({ nullable: true })\n\tsourceDescription?: string;\n\n\t/** id reference to a collection populated later with name */\n\ttarget!: NewsTarget;\n\n\t/** name of a collection which is referenced in target */\n\t@Enum()\n\ttargetModel!: NewsTargetModel;\n\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool!: SchoolEntity;\n\n\t@ManyToOne('User', { fieldName: 'creatorId' })\n\tcreator!: User;\n\n\t@ManyToOne('User', { fieldName: 'updaterId', nullable: true })\n\tupdater?: User;\n\n\tpermissions: string[] = [];\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper();\n\t\tthis.title = props.title;\n\t\tthis.content = props.content;\n\t\tthis.displayAt = props.displayAt;\n\t\tObject.assign(this, { school: props.school, creator: props.creator, updater: props.updater, target: props.target });\n\t\tthis.externalId = props.externalId;\n\t\tthis.source = props.source;\n\t\tthis.sourceDescription = props.sourceDescription;\n\t}\n\n\tstatic createInstance(targetModel: NewsTargetModel, props: NewsProperties): News {\n\t\tlet news: News;\n\t\tif (targetModel === NewsTargetModel.Course) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new CourseNews(props);\n\t\t} else if (targetModel === NewsTargetModel.Team) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new TeamNews(props);\n\t\t} else {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new SchoolNews(props);\n\t\t}\n\t\treturn news;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.School })\nexport class SchoolNews extends News {\n\t@ManyToOne(() => SchoolEntity)\n\ttarget!: SchoolEntity;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.School;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.Course })\nexport class CourseNews extends News {\n\t// FIXME Due to a weird behaviour in the mikro-orm validation we have to\n\t// disable the validation by setting the reference nullable.\n\t// Remove when fixed in mikro-orm.\n\t@ManyToOne('Course', { nullable: true })\n\ttarget!: Course;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.Course;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.Team })\nexport class TeamNews extends News {\n\t@ManyToOne('TeamEntity')\n\ttarget!: TeamEntity;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.Team;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/NewsController.html":{"url":"controllers/NewsController.html","title":"controller - NewsController","body":"\n \n\n\n\n\n\n\n Controllers\n NewsController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/news.controller.ts\n \n\n \n Prefix\n \n \n news\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n create\n \n \n \n Async\n delete\n \n \n \n Async\n findAll\n \n \n \n Async\n findOne\n \n \n \n Async\n update\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n create\n \n \n \n \n \n \n \n create(currentUser: ICurrentUser, params: CreateNewsParams)\n \n \n\n \n \n Decorators : \n \n @Post()\n \n \n\n \n \n Defined in apps/server/src/modules/news/controller/news.controller.ts:26\n \n \n\n\n \n \n Create a news by a user in a given scope (school or team).\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n CreateNewsParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(urlParams: NewsUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Delete(':newsId')\n \n \n\n \n \n Defined in apps/server/src/modules/news/controller/news.controller.ts:89\n \n \n\n\n \n \n Delete a news.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n NewsUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAll\n \n \n \n \n \n \n \n findAll(currentUser: ICurrentUser, scope: FilterNewsParams, pagination: PaginationParams)\n \n \n\n \n \n Decorators : \n \n @Get()\n \n \n\n \n \n Defined in apps/server/src/modules/news/controller/news.controller.ts:40\n \n \n\n\n \n \n Responds with all news for a user.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n scope\n \n FilterNewsParams\n \n\n \n No\n \n\n\n \n \n pagination\n \n PaginationParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findOne\n \n \n \n \n \n \n \n findOne(urlParams: NewsUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get(':newsId')\n \n \n\n \n \n Defined in apps/server/src/modules/news/controller/news.controller.ts:61\n \n \n\n\n \n \n Retrieve a specific news entry by id.\nA user may only read news of scopes he has the read permission.\nThe news entity has school and user names populated.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n NewsUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n update\n \n \n \n \n \n \n \n update(urlParams: NewsUrlParams, currentUser: ICurrentUser, params: UpdateNewsParams)\n \n \n\n \n \n Decorators : \n \n @Patch(':newsId')\n \n \n\n \n \n Defined in apps/server/src/modules/news/controller/news.controller.ts:71\n \n \n\n\n \n \n Update properties of a news.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n NewsUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n UpdateNewsParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, Delete, Get, Param, Patch, Post, Query } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { PaginationParams } from '@shared/controller';\nimport { NewsMapper } from '../mapper/news.mapper';\nimport { NewsUc } from '../uc/news.uc';\nimport {\n\tCreateNewsParams,\n\tFilterNewsParams,\n\tNewsListResponse,\n\tNewsResponse,\n\tNewsUrlParams,\n\tUpdateNewsParams,\n} from './dto';\n\n@ApiTags('News')\n@Authenticate('jwt')\n@Controller('news')\nexport class NewsController {\n\tconstructor(private readonly newsUc: NewsUc) {}\n\n\t/**\n\t * Create a news by a user in a given scope (school or team).\n\t */\n\t@Post()\n\tasync create(@CurrentUser() currentUser: ICurrentUser, @Body() params: CreateNewsParams): Promise {\n\t\tconst news = await this.newsUc.create(\n\t\t\tcurrentUser.userId,\n\t\t\tcurrentUser.schoolId,\n\t\t\tNewsMapper.mapCreateNewsToDomain(params)\n\t\t);\n\t\tconst dto = NewsMapper.mapToResponse(news);\n\t\treturn dto;\n\t}\n\n\t/**\n\t * Responds with all news for a user.\n\t */\n\t@Get()\n\tasync findAll(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() scope: FilterNewsParams,\n\t\t@Query() pagination: PaginationParams\n\t): Promise {\n\t\tconst [newsList, count] = await this.newsUc.findAllForUser(\n\t\t\tcurrentUser.userId,\n\t\t\tNewsMapper.mapNewsScopeToDomain(scope),\n\t\t\t{ pagination }\n\t\t);\n\t\tconst dtoList = newsList.map((news) => NewsMapper.mapToResponse(news));\n\t\tconst response = new NewsListResponse(dtoList, count);\n\t\treturn response;\n\t}\n\n\t/**\n\t * Retrieve a specific news entry by id.\n\t * A user may only read news of scopes he has the read permission.\n\t * The news entity has school and user names populated.\n\t */\n\t@Get(':newsId')\n\tasync findOne(@Param() urlParams: NewsUrlParams, @CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst news = await this.newsUc.findOneByIdForUser(urlParams.newsId, currentUser.userId);\n\t\tconst dto = NewsMapper.mapToResponse(news);\n\t\treturn dto;\n\t}\n\n\t/**\n\t * Update properties of a news.\n\t */\n\t@Patch(':newsId')\n\tasync update(\n\t\t@Param() urlParams: NewsUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() params: UpdateNewsParams\n\t): Promise {\n\t\tconst news = await this.newsUc.update(\n\t\t\turlParams.newsId,\n\t\t\tcurrentUser.userId,\n\t\t\tNewsMapper.mapUpdateNewsToDomain(params)\n\t\t);\n\t\tconst dto = NewsMapper.mapToResponse(news);\n\t\treturn dto;\n\t}\n\n\t/**\n\t * Delete a news.\n\t */\n\t@Delete(':newsId')\n\tasync delete(@Param() urlParams: NewsUrlParams, @CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst deletedId = await this.newsUc.delete(urlParams.newsId, currentUser.userId);\n\t\treturn deletedId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/NewsCrudOperationLoggable.html":{"url":"classes/NewsCrudOperationLoggable.html","title":"class - NewsCrudOperationLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n NewsCrudOperationLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/loggable/news-crud-operation.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(operation: CrudOperation, userId: EntityId, news: News)\n \n \n \n \n Defined in apps/server/src/modules/news/loggable/news-crud-operation.loggable.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n operation\n \n \n CrudOperation\n \n \n \n No\n \n \n \n \n userId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n news\n \n \n News\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/loggable/news-crud-operation.loggable.ts:14\n \n \n\n\n \n \n\n \n Returns : LogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { News } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { CrudOperation } from '@shared/types';\nimport { Loggable, LogMessage } from '@src/core/logger';\nimport { NewsMapper } from '../mapper/news.mapper';\n\nexport class NewsCrudOperationLoggable implements Loggable {\n\tconstructor(\n\t\tprivate readonly operation: CrudOperation,\n\t\tprivate readonly userId: EntityId,\n\t\tprivate readonly news: News\n\t) {}\n\n\tgetLogMessage(): LogMessage {\n\t\treturn {\n\t\t\tmessage: 'Performing a CRUD operation on a news',\n\t\t\tdata: {\n\t\t\t\toperation: this.operation,\n\t\t\t\tuserId: this.userId,\n\t\t\t\tnews: NewsMapper.mapToLogMessageData(this.news),\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/NewsListResponse.html":{"url":"classes/NewsListResponse.html","title":"class - NewsListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n NewsListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/dto/news.response.ts\n \n\n\n\n \n Extends\n \n \n PaginationResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: NewsResponse[], total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:129\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n NewsResponse[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : NewsResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:136\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:14\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { PaginationResponse } from '@shared/controller';\nimport { NewsTargetModel } from '@shared/domain/types';\nimport { SchoolInfoResponse } from './school-info.response';\nimport { TargetInfoResponse } from './target-info.response';\nimport { UserInfoResponse } from './user-info.response';\n\nconst NEWS_SOURCES = ['internal', 'rss'] as const;\nconst TARGET_MODEL_VALUES = Object.values(NewsTargetModel);\n\ntype SourceType = typeof NEWS_SOURCES[number];\nexport class NewsResponse {\n\tconstructor({\n\t\tid,\n\t\ttitle,\n\t\tcontent,\n\t\tdisplayAt,\n\t\tsource,\n\t\tsourceDescription,\n\t\ttargetModel,\n\t\ttargetId,\n\t\ttarget,\n\t\tschool,\n\t\tcreator,\n\t\tupdater,\n\t\tcreatedAt,\n\t\tupdatedAt,\n\t\tpermissions,\n\t}: NewsResponse) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.content = content;\n\t\tthis.displayAt = displayAt;\n\t\tthis.source = source;\n\t\tthis.sourceDescription = sourceDescription;\n\t\tthis.targetModel = targetModel;\n\t\tthis.targetId = targetId;\n\t\tthis.target = target;\n\t\tthis.school = school;\n\t\tthis.creator = creator;\n\t\tthis.updater = updater;\n\t\tthis.createdAt = createdAt;\n\t\tthis.updatedAt = updatedAt;\n\t\tthis.permissions = permissions;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the News entity',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Title of the News entity',\n\t})\n\ttitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Content of the News entity',\n\t})\n\tcontent: string;\n\n\t@ApiProperty({\n\t\tdescription: 'The point in time from when the News entity schould be displayed',\n\t})\n\tdisplayAt: Date;\n\n\t@ApiPropertyOptional({\n\t\ttype: 'string',\n\t\tenum: NEWS_SOURCES,\n\t\tdescription: 'The type of source of the News entity',\n\t})\n\tsource?: SourceType;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'The source description of the News entity',\n\t})\n\tsourceDescription?: string;\n\n\t@ApiProperty({\n\t\tenum: TARGET_MODEL_VALUES,\n\t\tenumName: 'NewsTargetModel',\n\t\tdescription: 'Target model to which the News entity is related',\n\t})\n\ttargetModel: string;\n\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'Specific target id to which the News entity is related',\n\t})\n\ttargetId: string;\n\n\t@ApiProperty({\n\t\tdescription: 'The target object with id and name, could be the school, team, or course name',\n\t})\n\ttarget: TargetInfoResponse;\n\n\t@ApiProperty({\n\t\tdescription: 'The School ownership',\n\t})\n\tschool: SchoolInfoResponse;\n\n\t@ApiProperty({\n\t\tdescription: 'Reference to the User that created the News entity',\n\t})\n\tcreator: UserInfoResponse;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Reference to the User that updated the News entity',\n\t})\n\tupdater?: UserInfoResponse;\n\n\t@ApiProperty({\n\t\tdescription: 'The creation timestamp',\n\t})\n\tcreatedAt: Date;\n\n\t@ApiProperty({\n\t\tdescription: 'The update timestamp',\n\t})\n\tupdatedAt: Date;\n\n\t@ApiProperty({\n\t\tdescription: 'List of permissions the current user has for the News entity',\n\t})\n\tpermissions: string[];\n}\n\nexport class NewsListResponse extends PaginationResponse {\n\tconstructor(data: NewsResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [NewsResponse] })\n\tdata: NewsResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/NewsMapper.html":{"url":"classes/NewsMapper.html","title":"class - NewsMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n NewsMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/mapper/news.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapCreateNewsToDomain\n \n \n Static\n mapNewsScopeToDomain\n \n \n Static\n mapToLogMessageData\n \n \n Static\n mapToResponse\n \n \n Static\n mapUpdateNewsToDomain\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapCreateNewsToDomain\n \n \n \n \n \n \n \n mapCreateNewsToDomain(params: CreateNewsParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/mapper/news.mapper.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n CreateNewsParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CreateNews\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapNewsScopeToDomain\n \n \n \n \n \n \n \n mapNewsScopeToDomain(query: FilterNewsParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/mapper/news.mapper.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterNewsParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : INewsScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToLogMessageData\n \n \n \n \n \n \n \n mapToLogMessageData(news: News)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/mapper/news.mapper.ts:75\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n news\n \n News\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LogMessageData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(news: News)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/mapper/news.mapper.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n news\n \n News\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : NewsResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapUpdateNewsToDomain\n \n \n \n \n \n \n \n mapUpdateNewsToDomain(params: UpdateNewsParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/mapper/news.mapper.ts:66\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n UpdateNewsParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : IUpdateNews\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { News } from '@shared/domain/entity';\nimport { CreateNews, INewsScope, IUpdateNews, NewsTargetModel } from '@shared/domain/types';\nimport { LogMessageData } from '@src/core/logger';\nimport { CreateNewsParams, FilterNewsParams, NewsResponse, UpdateNewsParams } from '../controller/dto';\nimport { SchoolInfoMapper } from './school-info.mapper';\nimport { TargetInfoMapper } from './target-info.mapper';\nimport { UserInfoMapper } from './user-info.mapper';\n\nexport class NewsMapper {\n\tstatic mapToResponse(news: News): NewsResponse {\n\t\tconst target = TargetInfoMapper.mapToResponse(news.target);\n\t\tconst school = SchoolInfoMapper.mapToResponse(news.school);\n\t\tconst creator = UserInfoMapper.mapToResponse(news.creator);\n\n\t\tconst dto = new NewsResponse({\n\t\t\tid: news.id,\n\t\t\ttitle: news.title,\n\t\t\tcontent: news.content,\n\t\t\tdisplayAt: news.displayAt,\n\t\t\tsource: news.source,\n\t\t\tsourceDescription: news.sourceDescription,\n\t\t\ttargetId: news.target.id,\n\t\t\ttargetModel: news.targetModel,\n\t\t\ttarget,\n\t\t\tschool,\n\t\t\tcreator,\n\t\t\tcreatedAt: news.createdAt,\n\t\t\tupdatedAt: news.updatedAt,\n\t\t\tpermissions: news.permissions,\n\t\t});\n\n\t\tif (news.updater) {\n\t\t\tdto.updater = UserInfoMapper.mapToResponse(news.updater);\n\t\t}\n\n\t\treturn dto;\n\t}\n\n\tstatic mapNewsScopeToDomain(query: FilterNewsParams): INewsScope {\n\t\tconst dto: INewsScope = {};\n\t\tif (query.targetModel) {\n\t\t\tdto.target = {\n\t\t\t\ttargetModel: query.targetModel as NewsTargetModel,\n\t\t\t\ttargetId: query.targetId,\n\t\t\t};\n\t\t}\n\t\tif ('unpublished' in query) {\n\t\t\tdto.unpublished = query.unpublished;\n\t\t}\n\t\treturn dto;\n\t}\n\n\tstatic mapCreateNewsToDomain(params: CreateNewsParams): CreateNews {\n\t\tconst dto = {\n\t\t\ttitle: params.title,\n\t\t\tcontent: params.content,\n\t\t\tdisplayAt: params.displayAt,\n\t\t\ttarget: {\n\t\t\t\ttargetModel: params.targetModel as NewsTargetModel,\n\t\t\t\ttargetId: params.targetId,\n\t\t\t},\n\t\t};\n\t\treturn dto;\n\t}\n\n\tstatic mapUpdateNewsToDomain(params: UpdateNewsParams): IUpdateNews {\n\t\tconst dto = {\n\t\t\ttitle: params.title,\n\t\t\tcontent: params.content,\n\t\t\tdisplayAt: params.displayAt,\n\t\t};\n\t\treturn dto;\n\t}\n\n\tstatic mapToLogMessageData(news: News): LogMessageData {\n\t\tconst data = {\n\t\t\tentityType: 'News',\n\t\t\tid: news.id,\n\t\t\ttargetModel: news.targetModel,\n\t\t\ttargetId: news.target.id,\n\t\t};\n\n\t\treturn data;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/NewsModule.html":{"url":"modules/NewsModule.html","title":"module - NewsModule","body":"\n \n\n\n\n\n Modules\n NewsModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_NewsModule\n\n\n\ncluster_NewsModule_providers\n\n\n\ncluster_NewsModule_exports\n\n\n\ncluster_NewsModule_imports\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nNewsModule\n\nNewsModule\n\nNewsModule -->\n\nAuthorizationModule->NewsModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nNewsModule -->\n\nLoggerModule->NewsModule\n\n\n\n\n\nNewsUc \n\nNewsUc \n\nNewsUc -->\n\nNewsModule->NewsUc \n\n\n\n\n\nNewsRepo\n\nNewsRepo\n\nNewsModule -->\n\nNewsRepo->NewsModule\n\n\n\n\n\nNewsUc\n\nNewsUc\n\nNewsModule -->\n\nNewsUc->NewsModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/news/news.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n NewsRepo\n \n \n NewsUc\n \n \n \n \n Controllers\n \n \n NewsController\n \n \n TeamNewsController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n LoggerModule\n \n \n \n \n Exports\n \n \n NewsUc\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { NewsRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { NewsController } from './controller/news.controller';\nimport { TeamNewsController } from './controller/team-news.controller';\nimport { NewsUc } from './uc/news.uc';\n\n@Module({\n\timports: [AuthorizationModule, LoggerModule],\n\tcontrollers: [NewsController, TeamNewsController],\n\tproviders: [NewsUc, NewsRepo],\n\texports: [NewsUc],\n})\nexport class NewsModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/NewsProperties.html":{"url":"interfaces/NewsProperties.html","title":"interface - NewsProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n NewsProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/news.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n \n creator\n \n \n \n \n displayAt\n \n \n \n Optional\n \n externalId\n \n \n \n \n school\n \n \n \n Optional\n \n source\n \n \n \n Optional\n \n sourceDescription\n \n \n \n \n target\n \n \n \n \n title\n \n \n \n Optional\n \n updater\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n content\n \n \n \n \n \n \n \n \n content: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n creator\n \n \n \n \n \n \n \n \n creator: EntityId | User\n\n \n \n\n\n \n \n Type : EntityId | User\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n displayAt\n \n \n \n \n \n \n \n \n displayAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n externalId\n \n \n \n \n \n \n \n \n externalId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n \n \n school: EntityId | SchoolEntity\n\n \n \n\n\n \n \n Type : EntityId | SchoolEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n source\n \n \n \n \n \n \n \n \n source: \"internal\" | \"rss\"\n\n \n \n\n\n \n \n Type : \"internal\" | \"rss\"\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n sourceDescription\n \n \n \n \n \n \n \n \n sourceDescription: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n \n \n target: EntityId | NewsTarget\n\n \n \n\n\n \n \n Type : EntityId | NewsTarget\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n updater\n \n \n \n \n \n \n \n \n updater: User\n\n \n \n\n\n \n \n Type : User\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Enum, Index, ManyToOne, Property } from '@mikro-orm/core';\nimport { EntityId } from '../types';\nimport { NewsTarget, NewsTargetModel } from '../types/news.types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { TeamEntity } from './team.entity';\nimport type { User } from './user.entity';\n\nexport interface NewsProperties {\n\ttitle: string;\n\tcontent: string;\n\tdisplayAt: Date;\n\tschool: EntityId | SchoolEntity;\n\tcreator: EntityId | User;\n\ttarget: EntityId | NewsTarget;\n\n\texternalId?: string;\n\tsource?: 'internal' | 'rss';\n\tsourceDescription?: string;\n\tupdater?: User;\n}\n\n@Entity({\n\tdiscriminatorColumn: 'targetModel',\n\tabstract: true,\n})\n@Index({ properties: ['school', 'target'] })\n@Index({ properties: ['school', 'target', 'targetModel'] })\n@Index({ properties: ['target', 'targetModel'] })\nexport abstract class News extends BaseEntityWithTimestamps {\n\t/** the news title */\n\t@Property()\n\ttitle: string;\n\n\t/** the news content as html */\n\t@Property()\n\tcontent: string;\n\n\t/** only past news are visible for viewers, when edit permission, news visible in the future might be accessed too */\n\t@Property()\n\t@Index()\n\tdisplayAt: Date;\n\n\t@Property({ nullable: true })\n\texternalId?: string;\n\n\t@Property({ nullable: true })\n\tsource?: 'internal' | 'rss';\n\n\t@Property({ nullable: true })\n\tsourceDescription?: string;\n\n\t/** id reference to a collection populated later with name */\n\ttarget!: NewsTarget;\n\n\t/** name of a collection which is referenced in target */\n\t@Enum()\n\ttargetModel!: NewsTargetModel;\n\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool!: SchoolEntity;\n\n\t@ManyToOne('User', { fieldName: 'creatorId' })\n\tcreator!: User;\n\n\t@ManyToOne('User', { fieldName: 'updaterId', nullable: true })\n\tupdater?: User;\n\n\tpermissions: string[] = [];\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper();\n\t\tthis.title = props.title;\n\t\tthis.content = props.content;\n\t\tthis.displayAt = props.displayAt;\n\t\tObject.assign(this, { school: props.school, creator: props.creator, updater: props.updater, target: props.target });\n\t\tthis.externalId = props.externalId;\n\t\tthis.source = props.source;\n\t\tthis.sourceDescription = props.sourceDescription;\n\t}\n\n\tstatic createInstance(targetModel: NewsTargetModel, props: NewsProperties): News {\n\t\tlet news: News;\n\t\tif (targetModel === NewsTargetModel.Course) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new CourseNews(props);\n\t\t} else if (targetModel === NewsTargetModel.Team) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new TeamNews(props);\n\t\t} else {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new SchoolNews(props);\n\t\t}\n\t\treturn news;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.School })\nexport class SchoolNews extends News {\n\t@ManyToOne(() => SchoolEntity)\n\ttarget!: SchoolEntity;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.School;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.Course })\nexport class CourseNews extends News {\n\t// FIXME Due to a weird behaviour in the mikro-orm validation we have to\n\t// disable the validation by setting the reference nullable.\n\t// Remove when fixed in mikro-orm.\n\t@ManyToOne('Course', { nullable: true })\n\ttarget!: Course;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.Course;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.Team })\nexport class TeamNews extends News {\n\t@ManyToOne('TeamEntity')\n\ttarget!: TeamEntity;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.Team;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/NewsRepo.html":{"url":"injectables/NewsRepo.html","title":"injectable - NewsRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n NewsRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/news/news.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n propertiesToPopulate\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findAllPublished\n \n \n Async\n findAllUnpublishedByUser\n \n \n Private\n Async\n findNewsAndCount\n \n \n Async\n findOneById\n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findAllPublished\n \n \n \n \n \n \n \n findAllPublished(targets: NewsTargetFilter[], options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/news/news.repo.ts:23\n \n \n\n\n \n \n Find news\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n targets\n \n NewsTargetFilter[]\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllUnpublishedByUser\n \n \n \n \n \n \n \n findAllUnpublishedByUser(targets: NewsTargetFilter[], creatorId: EntityId, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/news/news.repo.ts:38\n \n \n\n\n \n \n Find news\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n targets\n \n NewsTargetFilter[]\n \n\n \n No\n \n\n\n \n \n \n \n creatorId\n \n EntityId\n \n\n \n No\n \n\n\n \n \ncreatorId\n\n\n \n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findNewsAndCount\n \n \n \n \n \n \n \n findNewsAndCount(query: FilterQuery, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/news/news.repo.ts:60\n \n \n\n\n \n \n resolves a news documents list with some elements (school, target, and updator/creator) populated already\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findOneById\n \n \n \n \n \n \n \n findOneById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/news/news.repo.ts:53\n \n \n\n\n \n \n resolves a news document with some elements (school, target, and updator/creator) populated already\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n propertiesToPopulate\n \n \n \n \n \n \n Type : []\n\n \n \n \n \n Default value : ['school', 'target', 'creator', 'updater']\n \n \n \n \n Defined in apps/server/src/shared/repo/news/news.repo.ts:12\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/news/news.repo.ts:14\n \n \n\n \n \n\n \n\n\n \n import { FilterQuery, QueryOrderMap } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\nimport { CourseNews, News, SchoolNews, TeamNews } from '@shared/domain/entity';\nimport { IFindOptions } from '@shared/domain/interface';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '@shared/repo/base.repo';\nimport { NewsScope } from './news-scope';\nimport { NewsTargetFilter } from './news-target-filter';\n\n@Injectable()\nexport class NewsRepo extends BaseRepo {\n\tpropertiesToPopulate = ['school', 'target', 'creator', 'updater'];\n\n\tget entityName() {\n\t\treturn News;\n\t}\n\n\t/**\n\t * Find news\n\t * @param targets\n\t * @param options\n\t */\n\tasync findAllPublished(targets: NewsTargetFilter[], options?: IFindOptions): Promise> {\n\t\tconst scope = new NewsScope();\n\t\tscope.byTargets(targets);\n\t\tscope.byPublished();\n\n\t\tconst countedNewsList = await this.findNewsAndCount(scope.query, options);\n\t\treturn countedNewsList;\n\t}\n\n\t/**\n\t * Find news\n\t * @param targets\n\t * @param creatorId - creatorId\n\t * @param options\n\t */\n\tasync findAllUnpublishedByUser(\n\t\ttargets: NewsTargetFilter[],\n\t\tcreatorId: EntityId,\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst scope = new NewsScope();\n\t\tscope.byTargets(targets);\n\t\tscope.byUnpublished();\n\t\tscope.byCreator(creatorId);\n\n\t\tconst countedNewsList = await this.findNewsAndCount(scope.query, options);\n\t\treturn countedNewsList;\n\t}\n\n\t/** resolves a news document with some elements (school, target, and updator/creator) populated already */\n\tasync findOneById(id: EntityId): Promise {\n\t\tconst newsEntity = await this._em.findOneOrFail(News, id);\n\t\tawait this._em.populate(newsEntity, this.propertiesToPopulate as never[]);\n\t\treturn newsEntity;\n\t}\n\n\t/** resolves a news documents list with some elements (school, target, and updator/creator) populated already */\n\tprivate async findNewsAndCount(query: FilterQuery, options?: IFindOptions): Promise> {\n\t\tconst { pagination, order } = options || {};\n\t\tconst [newsEntities, count] = await this._em.findAndCount(News, query, {\n\t\t\t...pagination,\n\t\t\torderBy: order as QueryOrderMap,\n\t\t});\n\t\tawait this._em.populate(newsEntities, this.propertiesToPopulate as never[]);\n\t\t// populate target for all inheritances of news which not works when the list contains different types\n\t\tconst discriminatorColumn = 'target';\n\t\tconst schoolNews = newsEntities.filter((news) => news instanceof SchoolNews);\n\t\tawait this._em.populate(schoolNews, [discriminatorColumn]);\n\t\tconst teamNews = newsEntities.filter((news) => news instanceof TeamNews);\n\t\tawait this._em.populate(teamNews, [discriminatorColumn]);\n\t\tconst courseNews = newsEntities.filter((news) => news instanceof CourseNews);\n\t\tawait this._em.populate(courseNews, [discriminatorColumn]);\n\t\treturn [newsEntities, count];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/NewsResponse.html":{"url":"classes/NewsResponse.html","title":"class - NewsResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n NewsResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/dto/news.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n createdAt\n \n \n \n creator\n \n \n \n displayAt\n \n \n \n id\n \n \n \n permissions\n \n \n \n school\n \n \n \n Optional\n source\n \n \n \n Optional\n sourceDescription\n \n \n \n target\n \n \n \n targetId\n \n \n \n targetModel\n \n \n \n title\n \n \n \n updatedAt\n \n \n \n Optional\n updater\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: NewsResponse)\n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n NewsResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Content of the News entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:61\n \n \n\n\n \n \n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The creation timestamp'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:116\n \n \n\n\n \n \n \n \n \n \n \n \n \n creator\n \n \n \n \n \n \n Type : UserInfoResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Reference to the User that created the News entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:106\n \n \n\n\n \n \n \n \n \n \n \n \n \n displayAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The point in time from when the News entity schould be displayed'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:66\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The id of the News entity', pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:51\n \n \n\n\n \n \n \n \n \n \n \n \n \n permissions\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'List of permissions the current user has for the News entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:126\n \n \n\n\n \n \n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n Type : SchoolInfoResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The School ownership'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:101\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n source\n \n \n \n \n \n \n Type : SourceType\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({type: 'string', enum: NEWS_SOURCES, description: 'The type of source of the News entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:73\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n sourceDescription\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The source description of the News entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:78\n \n \n\n\n \n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : TargetInfoResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The target object with id and name, could be the school, team, or course name'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:96\n \n \n\n\n \n \n \n \n \n \n \n \n \n targetId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}', description: 'Specific target id to which the News entity is related'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:91\n \n \n\n\n \n \n \n \n \n \n \n \n \n targetModel\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: TARGET_MODEL_VALUES, enumName: 'NewsTargetModel', description: 'Target model to which the News entity is related'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:85\n \n \n\n\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Title of the News entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:56\n \n \n\n\n \n \n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The update timestamp'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:121\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n updater\n \n \n \n \n \n \n Type : UserInfoResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Reference to the User that updated the News entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.response.ts:111\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { PaginationResponse } from '@shared/controller';\nimport { NewsTargetModel } from '@shared/domain/types';\nimport { SchoolInfoResponse } from './school-info.response';\nimport { TargetInfoResponse } from './target-info.response';\nimport { UserInfoResponse } from './user-info.response';\n\nconst NEWS_SOURCES = ['internal', 'rss'] as const;\nconst TARGET_MODEL_VALUES = Object.values(NewsTargetModel);\n\ntype SourceType = typeof NEWS_SOURCES[number];\nexport class NewsResponse {\n\tconstructor({\n\t\tid,\n\t\ttitle,\n\t\tcontent,\n\t\tdisplayAt,\n\t\tsource,\n\t\tsourceDescription,\n\t\ttargetModel,\n\t\ttargetId,\n\t\ttarget,\n\t\tschool,\n\t\tcreator,\n\t\tupdater,\n\t\tcreatedAt,\n\t\tupdatedAt,\n\t\tpermissions,\n\t}: NewsResponse) {\n\t\tthis.id = id;\n\t\tthis.title = title;\n\t\tthis.content = content;\n\t\tthis.displayAt = displayAt;\n\t\tthis.source = source;\n\t\tthis.sourceDescription = sourceDescription;\n\t\tthis.targetModel = targetModel;\n\t\tthis.targetId = targetId;\n\t\tthis.target = target;\n\t\tthis.school = school;\n\t\tthis.creator = creator;\n\t\tthis.updater = updater;\n\t\tthis.createdAt = createdAt;\n\t\tthis.updatedAt = updatedAt;\n\t\tthis.permissions = permissions;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the News entity',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tid: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Title of the News entity',\n\t})\n\ttitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Content of the News entity',\n\t})\n\tcontent: string;\n\n\t@ApiProperty({\n\t\tdescription: 'The point in time from when the News entity schould be displayed',\n\t})\n\tdisplayAt: Date;\n\n\t@ApiPropertyOptional({\n\t\ttype: 'string',\n\t\tenum: NEWS_SOURCES,\n\t\tdescription: 'The type of source of the News entity',\n\t})\n\tsource?: SourceType;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'The source description of the News entity',\n\t})\n\tsourceDescription?: string;\n\n\t@ApiProperty({\n\t\tenum: TARGET_MODEL_VALUES,\n\t\tenumName: 'NewsTargetModel',\n\t\tdescription: 'Target model to which the News entity is related',\n\t})\n\ttargetModel: string;\n\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'Specific target id to which the News entity is related',\n\t})\n\ttargetId: string;\n\n\t@ApiProperty({\n\t\tdescription: 'The target object with id and name, could be the school, team, or course name',\n\t})\n\ttarget: TargetInfoResponse;\n\n\t@ApiProperty({\n\t\tdescription: 'The School ownership',\n\t})\n\tschool: SchoolInfoResponse;\n\n\t@ApiProperty({\n\t\tdescription: 'Reference to the User that created the News entity',\n\t})\n\tcreator: UserInfoResponse;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Reference to the User that updated the News entity',\n\t})\n\tupdater?: UserInfoResponse;\n\n\t@ApiProperty({\n\t\tdescription: 'The creation timestamp',\n\t})\n\tcreatedAt: Date;\n\n\t@ApiProperty({\n\t\tdescription: 'The update timestamp',\n\t})\n\tupdatedAt: Date;\n\n\t@ApiProperty({\n\t\tdescription: 'List of permissions the current user has for the News entity',\n\t})\n\tpermissions: string[];\n}\n\nexport class NewsListResponse extends PaginationResponse {\n\tconstructor(data: NewsResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [NewsResponse] })\n\tdata: NewsResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/NewsScope.html":{"url":"classes/NewsScope.html","title":"class - NewsScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n NewsScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/news/news-scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n byCreator\n \n \n byPublished\n \n \n byTargets\n \n \n byUnpublished\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n byCreator\n \n \n \n \n \n \nbyCreator(creatorId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/news/news-scope.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n creatorId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : NewsScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byPublished\n \n \n \n \n \n \nbyPublished()\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/news/news-scope.ts:26\n \n \n\n\n \n \n\n \n Returns : NewsScope\n\n \n \n \n \n \n \n \n \n \n \n \n byTargets\n \n \n \n \n \n \nbyTargets(targets: NewsTargetFilter[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/news/news-scope.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n targets\n \n NewsTargetFilter[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : NewsScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byUnpublished\n \n \n \n \n \n \nbyUnpublished()\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/news/news-scope.ts:32\n \n \n\n\n \n \n\n \n Returns : NewsScope\n\n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { FilterQuery } from '@mikro-orm/core';\nimport { News } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { EmptyResultQuery } from '../query';\nimport { Scope } from '../scope';\nimport { NewsTargetFilter } from './news-target-filter';\n\nexport class NewsScope extends Scope {\n\tbyTargets(targets: NewsTargetFilter[]): NewsScope {\n\t\tconst queries: FilterQuery[] = targets.map((target) => {\n\t\t\treturn {\n\t\t\t\t$and: [{ targetModel: target.targetModel }, { 'target:in': target.targetIds }],\n\t\t\t};\n\t\t});\n\t\tif (queries.length === 0) {\n\t\t\t// mission impossile query to ensure empty query result\n\t\t\tthis.addQuery(EmptyResultQuery);\n\t\t} else if (queries.length === 1) {\n\t\t\tthis.addQuery(queries[0]);\n\t\t} else {\n\t\t\tthis.addQuery({ $or: queries });\n\t\t}\n\t\treturn this;\n\t}\n\n\tbyPublished(): NewsScope {\n\t\tconst now = new Date();\n\t\tthis.addQuery({ displayAt: { $lte: now } });\n\t\treturn this;\n\t}\n\n\tbyUnpublished(): NewsScope {\n\t\tconst now = new Date();\n\t\tthis.addQuery({ displayAt: { $gt: now } });\n\t\treturn this;\n\t}\n\n\tbyCreator(creatorId: EntityId): NewsScope {\n\t\tif (creatorId !== undefined) {\n\t\t\tthis.addQuery({ creator: creatorId });\n\t\t}\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/NewsTargetFilter.html":{"url":"interfaces/NewsTargetFilter.html","title":"interface - NewsTargetFilter","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n NewsTargetFilter\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/news/news-target-filter.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n targetIds\n \n \n \n \n targetModel\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n targetIds\n \n \n \n \n \n \n \n \n targetIds: EntityId[]\n\n \n \n\n\n \n \n Type : EntityId[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n targetModel\n \n \n \n \n \n \n \n \n targetModel: NewsTargetModel\n\n \n \n\n\n \n \n Type : NewsTargetModel\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId, NewsTargetModel } from '@shared/domain/types';\n\nexport interface NewsTargetFilter {\n\ttargetModel: NewsTargetModel;\n\ttargetIds: EntityId[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/NewsUc.html":{"url":"injectables/NewsUc.html","title":"injectable - NewsUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n NewsUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/uc/news.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n create\n \n \n Public\n Async\n delete\n \n \n Public\n Async\n findAllForUser\n \n \n Public\n Async\n findOneByIdForUser\n \n \n Private\n Async\n getNewsPermissions\n \n \n Private\n Async\n getPermittedTargets\n \n \n Private\n Static\n getRequiredPermissions\n \n \n Private\n Async\n getTargetFilters\n \n \n Public\n Async\n update\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(newsRepo: NewsRepo, authorizationService: FeathersAuthorizationService, logger: Logger)\n \n \n \n \n Defined in apps/server/src/modules/news/uc/news.uc.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n newsRepo\n \n \n NewsRepo\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n FeathersAuthorizationService\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n create\n \n \n \n \n \n \n \n create(userId: EntityId, schoolId: EntityId, params: CreateNews)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/uc/news.uc.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n params\n \n CreateNews\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n delete\n \n \n \n \n \n \n \n delete(id: EntityId, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/uc/news.uc.ts:139\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findAllForUser\n \n \n \n \n \n \n \n findAllForUser(userId: EntityId, scope?: INewsScope, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/uc/news.uc.ts:58\n \n \n\n\n \n \n Provides news for a user, by default odered by displayAt to show latest news first.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n scope\n \n INewsScope\n \n\n \n Yes\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findOneByIdForUser\n \n \n \n \n \n \n \n findOneByIdForUser(id: EntityId, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/uc/news.uc.ts:91\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getNewsPermissions\n \n \n \n \n \n \n \n getNewsPermissions(userId: EntityId, news: News)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/uc/news.uc.ts:188\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n news\n \n News\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getPermittedTargets\n \n \n \n \n \n \n \n getPermittedTargets(userId: EntityId, scope: INewsScope | undefined, permissions: NewsPermission[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/uc/news.uc.ts:150\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n scope\n \n INewsScope | undefined\n \n\n \n No\n \n\n\n \n \n permissions\n \n NewsPermission[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n getRequiredPermissions\n \n \n \n \n \n \n \n getRequiredPermissions(unpublished: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/uc/news.uc.ts:198\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n unpublished\n \n boolean\n \n\n \n No\n \n\n\n \n news with displayAt set to future date are not published for users with view permission\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getTargetFilters\n \n \n \n \n \n \n \n getTargetFilters(userId: EntityId, targetModels: NewsTargetModel[], permissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/uc/news.uc.ts:170\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetModels\n \n NewsTargetModel[]\n \n\n \n No\n \n\n\n \n \n permissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n update\n \n \n \n \n \n \n \n update(id: EntityId, userId: EntityId, params: IUpdateNews)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/uc/news.uc.ts:113\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n params\n \n IUpdateNews\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { FeathersAuthorizationService } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport { News } from '@shared/domain/entity';\nimport { IFindOptions, Permission, SortOrder } from '@shared/domain/interface';\nimport { Counted, CreateNews, EntityId, INewsScope, IUpdateNews, NewsTargetModel } from '@shared/domain/types';\nimport { NewsRepo, NewsTargetFilter } from '@shared/repo';\nimport { CrudOperation } from '@shared/types';\nimport { Logger } from '@src/core/logger';\nimport { NewsCrudOperationLoggable } from '../loggable/news-crud-operation.loggable';\n\ntype NewsPermission = Permission.NEWS_VIEW | Permission.NEWS_EDIT;\n\n@Injectable()\nexport class NewsUc {\n\tconstructor(\n\t\tprivate newsRepo: NewsRepo,\n\t\tprivate authorizationService: FeathersAuthorizationService,\n\t\tprivate logger: Logger\n\t) {\n\t\tthis.logger.setContext(NewsUc.name);\n\t}\n\n\t/**\n\t *\n\t * @param userId\n\t * @param schoolId\n\t * @param params\n\t * @returns\n\t */\n\tpublic async create(userId: EntityId, schoolId: EntityId, params: CreateNews): Promise {\n\t\tconst { targetModel, targetId } = params.target;\n\t\tawait this.authorizationService.checkEntityPermissions(userId, targetModel, targetId, [Permission.NEWS_CREATE]);\n\n\t\tconst { target, displayAt: paramDisplayAt, ...props } = params;\n\t\t// set news as published by default\n\t\tconst displayAt = paramDisplayAt || new Date();\n\t\tconst news = News.createInstance(targetModel, {\n\t\t\t...props,\n\t\t\tdisplayAt,\n\t\t\tschool: schoolId,\n\t\t\tcreator: userId,\n\t\t\ttarget: targetId,\n\t\t});\n\t\tawait this.newsRepo.save(news);\n\n\t\tthis.logger.info(new NewsCrudOperationLoggable(CrudOperation.CREATE, userId, news));\n\n\t\treturn news;\n\t}\n\n\t/**\n\t * Provides news for a user, by default odered by displayAt to show latest news first.\n\t * @param userId\n\t * @param scope\n\t * @param pagination\n\t * @returns\n\t */\n\tpublic async findAllForUser(\n\t\tuserId: EntityId,\n\t\tscope?: INewsScope,\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst unpublished = !!scope?.unpublished; // default is only published news\n\t\tconst permissions: [NewsPermission] = NewsUc.getRequiredPermissions(unpublished);\n\n\t\tconst targets = await this.getPermittedTargets(userId, scope, permissions);\n\n\t\tif (options == null) options = {};\n\t\t// by default show latest news first\n\t\tif (options.order == null) options.order = { displayAt: SortOrder.desc };\n\n\t\tconst [newsList, newsCount] = unpublished\n\t\t\t? await this.newsRepo.findAllUnpublishedByUser(targets, userId, options)\n\t\t\t: await this.newsRepo.findAllPublished(targets, options);\n\n\t\tawait Promise.all(\n\t\t\tnewsList.map(async (news: News) => {\n\t\t\t\tnews.permissions = await this.getNewsPermissions(userId, news);\n\t\t\t})\n\t\t);\n\n\t\treturn [newsList, newsCount];\n\t}\n\n\t/**\n\t *\n\t * @param id\n\t * @param userId\n\t * @returns\n\t */\n\tpublic async findOneByIdForUser(id: EntityId, userId: EntityId): Promise {\n\t\tconst news = await this.newsRepo.findOneById(id);\n\t\tconst isPublished = news.displayAt > new Date();\n\t\tconst requiredPermissions = NewsUc.getRequiredPermissions(isPublished);\n\t\tawait this.authorizationService.checkEntityPermissions(\n\t\t\tuserId,\n\t\t\tnews.targetModel,\n\t\t\tnews.target.id,\n\t\t\trequiredPermissions\n\t\t);\n\t\tnews.permissions = await this.getNewsPermissions(userId, news);\n\n\t\treturn news;\n\t}\n\n\t/**\n\t *\n\t * @param id\n\t * @param userId\n\t * @param params\n\t * @returns\n\t */\n\tpublic async update(id: EntityId, userId: EntityId, params: IUpdateNews): Promise {\n\t\tconst news = await this.newsRepo.findOneById(id);\n\t\tawait this.authorizationService.checkEntityPermissions(userId, news.targetModel, news.target.id, [\n\t\t\tPermission.NEWS_EDIT,\n\t\t]);\n\n\t\t// eslint-disable-next-line no-restricted-syntax\n\t\tfor (const [key, value] of Object.entries(params)) {\n\t\t\tif (value) {\n\t\t\t\tnews[key] = value;\n\t\t\t}\n\t\t}\n\n\t\tawait this.newsRepo.save(news);\n\n\t\tthis.logger.info(new NewsCrudOperationLoggable(CrudOperation.UPDATE, userId, news));\n\n\t\treturn news;\n\t}\n\n\t/**\n\t *\n\t * @param id\n\t * @param userId\n\t * @returns\n\t */\n\tpublic async delete(id: EntityId, userId: EntityId): Promise {\n\t\tconst news = await this.newsRepo.findOneById(id);\n\t\tawait this.authorizationService.checkEntityPermissions(userId, news.targetModel, news.target.id, ['NEWS_EDIT']);\n\n\t\tawait this.newsRepo.delete(news);\n\n\t\tthis.logger.info(new NewsCrudOperationLoggable(CrudOperation.DELETE, userId, news));\n\n\t\treturn id;\n\t}\n\n\tprivate async getPermittedTargets(userId: EntityId, scope: INewsScope | undefined, permissions: NewsPermission[]) {\n\t\tlet targets: NewsTargetFilter[];\n\n\t\tif (scope?.target == null) {\n\t\t\t// for all target models\n\t\t\ttargets = await this.getTargetFilters(userId, Object.values(NewsTargetModel), permissions);\n\t\t} else {\n\t\t\tconst { targetModel, targetId } = scope.target;\n\t\t\tif (targetModel && targetId) {\n\t\t\t\t// for specific news target\n\t\t\t\tawait this.authorizationService.checkEntityPermissions(userId, targetModel, targetId, permissions);\n\t\t\t\ttargets = [{ targetModel, targetIds: [targetId] }];\n\t\t\t} else {\n\t\t\t\t// for single target model\n\t\t\t\ttargets = await this.getTargetFilters(userId, [targetModel], permissions);\n\t\t\t}\n\t\t}\n\t\treturn targets;\n\t}\n\n\tprivate async getTargetFilters(\n\t\tuserId: EntityId,\n\t\ttargetModels: NewsTargetModel[],\n\t\tpermissions: string[]\n\t): Promise {\n\t\tconst targets = await Promise.all(\n\t\t\ttargetModels.map(async (targetModel) => {\n\t\t\t\treturn {\n\t\t\t\t\ttargetModel,\n\t\t\t\t\ttargetIds: await this.authorizationService.getPermittedEntities(userId, targetModel, permissions),\n\t\t\t\t};\n\t\t\t})\n\t\t);\n\t\tconst nonEmptyTargets = targets.filter((target) => target.targetIds.length > 0);\n\n\t\treturn nonEmptyTargets;\n\t}\n\n\tprivate async getNewsPermissions(userId: EntityId, news: News): Promise {\n\t\tconst permissions = await this.authorizationService.getEntityPermissions(userId, news.targetModel, news.target.id);\n\t\treturn permissions.filter((permission) => permission.includes('NEWS'));\n\t}\n\n\t/**\n\t *\n\t * @param unpublished news with displayAt set to future date are not published for users with view permission\n\t * @returns\n\t */\n\tprivate static getRequiredPermissions(unpublished: boolean): [NewsPermission] {\n\t\treturn unpublished ? [Permission.NEWS_EDIT] : [Permission.NEWS_VIEW];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/NewsUrlParams.html":{"url":"classes/NewsUrlParams.html","title":"class - NewsUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n NewsUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/dto/news.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n newsId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n newsId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the news.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/news.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class NewsUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the news.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tnewsId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/NexboardService.html":{"url":"injectables/NexboardService.html","title":"injectable - NexboardService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n NexboardService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/lesson/service/nexboard.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createNexboard\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(feathersServiceProvider: FeathersServiceProvider, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/lesson/service/nexboard.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n feathersServiceProvider\n \n \n FeathersServiceProvider\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createNexboard\n \n \n \n \n \n \n \n createNexboard(userId: EntityId, title: string, description: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/lesson/service/nexboard.service.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n title\n \n string\n \n\n \n No\n \n\n\n \n \n description\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { FeathersServiceProvider } from '@infra/feathers/feathers-service.provider';\nimport { LegacyLogger } from '@src/core/logger';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\n\nexport type NexboardResponse = { id: string; publicLink: string };\n\n@Injectable()\nexport class NexboardService {\n\tconstructor(private readonly feathersServiceProvider: FeathersServiceProvider, private logger: LegacyLogger) {}\n\n\tasync createNexboard(\n\t\tuserId: EntityId,\n\t\ttitle: string,\n\t\tdescription: string\n\t): Promise {\n\t\tconst data = {\n\t\t\ttitle,\n\t\t\tdescription,\n\t\t};\n\t\ttry {\n\t\t\tconst service = this.feathersServiceProvider.getService('/nexboard/boards');\n\t\t\tconst nexBoard = (await service.create(data, { account: { userId } })) as NexboardResponse;\n\t\t\treturn { board: nexBoard.id, url: nexBoard.publicLink };\n\t\t} catch (error) {\n\t\t\tthis.logger.error('Could not create new Nexboard', error);\n\t\t\treturn false;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/NextcloudGroups.html":{"url":"interfaces/NextcloudGroups.html","title":"interface - NextcloudGroups","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n NextcloudGroups\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n groups\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n groups\n \n \n \n \n \n \n \n \n groups: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface NextcloudGroups {\n\tgroups: string[];\n}\n\nexport interface OcsResponse {\n\tocs: {\n\t\tdata: T;\n\t\tmeta: Meta;\n\t};\n}\n\nexport interface Meta {\n\tstatus: string;\n\tstatuscode: number;\n\tmessage: string;\n\ttotalitems: string;\n\titemsperpage: string;\n}\n\nexport interface SuccessfulRes {\n\tsuccess: boolean;\n}\n\nexport interface GroupUsers {\n\tusers: string[];\n}\n\n// Groupfolders Responses\n\nexport interface GroupfoldersFolder {\n\tfolder_id: number;\n}\n\nexport interface GroupfoldersCreated {\n\tid: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/NextcloudStrategy.html":{"url":"injectables/NextcloudStrategy.html","title":"injectable - NextcloudStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n NextcloudStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.strategy.ts\n \n\n\n \n Description\n \n \n Nextcloud Strategy Implementation for Collaborative Storage\n\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createTeam\n \n \n Async\n deleteTeam\n \n \n Private\n Async\n findLegacyLtiTool\n \n \n Private\n Async\n findNextcloudTool\n \n \n Protected\n Static\n generateGroupFolderName\n \n \n Protected\n Static\n generateGroupId\n \n \n Async\n updateTeam\n \n \n Async\n updateTeamPermissionsForRole\n \n \n Protected\n Async\n updateTeamUsersInGroup\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: LegacyLogger, client: NextcloudClient, pseudonymService: PseudonymService, ltiToolRepo: LtiToolRepo, externalToolService: ExternalToolService, userService: UserService)\n \n \n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.strategy.ts:21\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n client\n \n \n NextcloudClient\n \n \n \n No\n \n \n \n \n pseudonymService\n \n \n PseudonymService\n \n \n \n No\n \n \n \n \n ltiToolRepo\n \n \n LtiToolRepo\n \n \n \n No\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createTeam\n \n \n \n \n \n \n \n createTeam(team: TeamDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.strategy.ts:75\n \n \n\n\n \n \n Creates a team in nextcloud.\nThis includes the creation of the related group, its groupfolder and the adding of the teamUsers (the creator).\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n schulcloud team\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteTeam\n \n \n \n \n \n \n \n deleteTeam(teamId: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.strategy.ts:59\n \n \n\n\n \n \n Deletes a whole team in nextcloud.\nThis includes the related group in nextcloud and the groupfolder of the group.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n teamId\n \n string\n \n\n \n No\n \n\n\n \n id of the schulcloud team\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findLegacyLtiTool\n \n \n \n \n \n \n \n findLegacyLtiTool()\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.strategy.ts:172\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findNextcloudTool\n \n \n \n \n \n \n \n findNextcloudTool()\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.strategy.ts:158\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n Static\n generateGroupFolderName\n \n \n \n \n \n \n \n generateGroupFolderName(teamId: string, teamName: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.strategy.ts:192\n \n \n\n\n \n \n Generates the groupfolder name by concatenating the teamId and teamName.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n teamId\n \n string\n \n\n \n No\n \n\n\n \n id of the team\n\n \n \n \n teamName\n \n string\n \n\n \n No\n \n\n\n \n name of the team\n\n \n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Static\n generateGroupId\n \n \n \n \n \n \n \n generateGroupId(dto: TeamRolePermissionsDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.strategy.ts:202\n \n \n\n\n \n \n Generates groupId of the nextcloud group by concatenating some TeamRolePermissionsDto properties.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n dto\n \n TeamRolePermissionsDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateTeam\n \n \n \n \n \n \n \n updateTeam(team: TeamDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.strategy.ts:98\n \n \n\n\n \n \n Updates a team in nextcloud.\nThis includes the teamuser and the displayname of the team.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n team\n \n TeamDto\n \n\n \n No\n \n\n\n \n schulcloud team\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateTeamPermissionsForRole\n \n \n \n \n \n \n \n updateTeamPermissionsForRole(dto: TeamRolePermissionsDto)\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.strategy.ts:38\n \n \n\n\n \n \n At the moment unused.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n dto\n \n TeamRolePermissionsDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n updateTeamUsersInGroup\n \n \n \n \n \n \n \n updateTeamUsersInGroup(groupId: string, teamUsers: TeamUserDto[])\n \n \n\n\n \n \n Defined in apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.strategy.ts:129\n \n \n\n\n \n \n Updating nextcloud group to be in sync with schulcloud team members.\nTo do this, we have to get the link between the school cloud user ID and the Nextcloud user ID from the\npseudonym table and distinguish between added and deleted users.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n groupId\n \n string\n \n\n \n No\n \n\n\n \n nextclouds groupId\n\n \n \n \n teamUsers\n \n TeamUserDto[]\n \n\n \n No\n \n\n\n \n all users of a TeamDto\n\n \n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { TeamDto, TeamUserDto } from '@modules/collaborative-storage';\nimport { PseudonymService } from '@modules/pseudonym';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { ExternalToolService } from '@modules/tool/external-tool/service';\nimport { UserService } from '@modules/user';\nimport { Injectable, UnprocessableEntityException } from '@nestjs/common';\nimport { Pseudonym, UserDO } from '@shared/domain/domainobject';\nimport { LtiToolDO } from '@shared/domain/domainobject/ltitool.do';\nimport { LtiToolRepo } from '@shared/repo/ltitool/';\nimport { LegacyLogger } from '@src/core/logger';\nimport { TeamRolePermissionsDto } from '../../dto/team-role-permissions.dto';\nimport { CollaborativeStorageStrategy } from '../base.interface.strategy';\nimport { NextcloudClient } from './nextcloud.client';\n\n/**\n * Nextcloud Strategy Implementation for Collaborative Storage\n *\n * @implements {CollaborativeStorageStrategy}\n */\n@Injectable()\nexport class NextcloudStrategy implements CollaborativeStorageStrategy {\n\tconstructor(\n\t\tprivate readonly logger: LegacyLogger,\n\t\tprivate readonly client: NextcloudClient,\n\t\tprivate readonly pseudonymService: PseudonymService,\n\t\tprivate readonly ltiToolRepo: LtiToolRepo,\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly userService: UserService\n\t) {\n\t\tthis.logger.setContext(NextcloudStrategy.name);\n\t}\n\n\t/**\n\t * At the moment unused.\n\t *\n\t * @param dto\n\t */\n\tasync updateTeamPermissionsForRole(dto: TeamRolePermissionsDto): Promise {\n\t\tconst groupId: string = await this.client.findGroupId(NextcloudStrategy.generateGroupId(dto));\n\t\tlet folderId: number;\n\n\t\ttry {\n\t\t\tfolderId = await this.client.findGroupFolderIdForGroupId(groupId);\n\t\t\tawait this.client.setGroupPermissions(groupId, folderId, dto.permissions);\n\t\t} catch (e) {\n\t\t\tthis.logger.log(\n\t\t\t\t`Permissions in nextcloud were not set because of missing groupId or folderId for teamId ${dto.teamId}`\n\t\t\t);\n\t\t}\n\t}\n\n\t/**\n\t * Deletes a whole team in nextcloud.\n\t *\n\t * This includes the related group in nextcloud and the groupfolder of the group.\n\t *\n\t * @param teamId id of the schulcloud team\n\t */\n\tasync deleteTeam(teamId: string): Promise {\n\t\tconst groupId: string = this.client.getNameWithPrefix(teamId);\n\t\tif (groupId) {\n\t\t\tconst folderId: number = await this.client.findGroupFolderIdForGroupId(groupId);\n\t\t\tawait this.client.deleteGroup(groupId);\n\t\t\tawait this.client.deleteGroupFolder(folderId);\n\t\t}\n\t}\n\n\t/**\n\t * Creates a team in nextcloud.\n\t *\n\t * This includes the creation of the related group, its groupfolder and the adding of the {@link TeamUserDto teamUsers} (the creator).\n\t *\n\t * @param team schulcloud team\n\t */\n\tasync createTeam(team: TeamDto): Promise {\n\t\tconst groupId: string = this.client.getNameWithPrefix(team.id);\n\n\t\tawait this.client.createGroup(groupId, team.name);\n\n\t\tawait this.updateTeamUsersInGroup(groupId, team.teamUsers);\n\n\t\tconst folderName: string = NextcloudStrategy.generateGroupFolderName(team.id, team.name);\n\t\t// TODO N21-124: move the creation of group folders from the schulcloud-nextcloud-app to here, when all existing teams are migrated to the nextcloud\n\t\t// Due to the schulcloud-nextcloud-app creating the group folder, when the group is created, it only needs to be renamed here\n\t\tconst folderId: number = await this.client.findGroupFolderIdForGroupId(groupId);\n\t\tawait this.client.changeGroupFolderName(folderId, folderName);\n\t\t// const folderId: number = await this.client.createGroupFolder(folderName);\n\t\t// await this.client.addAccessToGroupFolder(folderId, groupId);\n\t}\n\n\t/**\n\t * Updates a team in nextcloud.\n\t *\n\t * This includes the {@link TeamUserDto teamuser} and the displayname of the team.\n\t *\n\t * @param team schulcloud team\n\t */\n\tasync updateTeam(team: TeamDto): Promise {\n\t\tif (!team.id) {\n\t\t\tthrow new UnprocessableEntityException('Cannot update team without id');\n\t\t}\n\n\t\tconst groupId: string = this.client.getNameWithPrefix(team.id);\n\n\t\tif (team.teamUsers && team.teamUsers.length > 0) {\n\t\t\tawait this.updateTeamUsersInGroup(groupId, team.teamUsers);\n\t\t}\n\n\t\tif (team.name) {\n\t\t\tconst folderName: string = NextcloudStrategy.generateGroupFolderName(team.id, team.name);\n\n\t\t\tawait this.client.renameGroup(groupId, team.name);\n\n\t\t\tconst folderId: number = await this.client.findGroupFolderIdForGroupId(groupId);\n\t\t\tawait this.client.changeGroupFolderName(folderId, folderName);\n\t\t}\n\t}\n\n\t/**\n\t * Updating nextcloud group to be in sync with schulcloud team members.\n\t *\n\t * To do this, we have to get the link between the school cloud user ID and the Nextcloud user ID from the\n\t * pseudonym table and distinguish between added and deleted users.\n\t *\n\t * @param groupId nextclouds groupId\n\t * @param teamUsers all users of a {@link TeamDto}\n\t * @protected\n\t */\n\tprotected async updateTeamUsersInGroup(groupId: string, teamUsers: TeamUserDto[]): Promise {\n\t\tconst groupUserIds: string[] = await this.client.getGroupUsers(groupId);\n\t\tconst nextcloudTool: ExternalTool | LtiToolDO = await this.findNextcloudTool();\n\n\t\tlet convertedTeamUserIds: string[] = await Promise.all[]>(\n\t\t\t// The Oauth authentication generates a pseudonym which will be used from external systems as identifier\n\t\t\tteamUsers.map(async (teamUser: TeamUserDto): Promise => {\n\t\t\t\tconst user: UserDO = await this.userService.findById(teamUser.userId);\n\t\t\t\tconst userId = await this.pseudonymService\n\t\t\t\t\t.findByUserAndToolOrThrow(user, nextcloudTool)\n\t\t\t\t\t.then((pseudonymDO: Pseudonym) => this.client.getNameWithPrefix(pseudonymDO.pseudonym))\n\t\t\t\t\t.catch(() => '');\n\n\t\t\t\treturn userId;\n\t\t\t})\n\t\t);\n\t\tconvertedTeamUserIds = convertedTeamUserIds.filter(Boolean);\n\n\t\tconst removeUserIds: string[] = groupUserIds.filter((userId) => !convertedTeamUserIds.includes(userId));\n\t\tthis.logger.debug(`Removing nextcloud userIds [${removeUserIds.toString()}]`);\n\t\tconst addUserIds: string[] = convertedTeamUserIds.filter((userId) => !groupUserIds.includes(userId));\n\t\tthis.logger.debug(`Adding nextcloud userIds [${addUserIds.toString()}]`);\n\n\t\treturn Promise.all([\n\t\t\tPromise.all(removeUserIds.map((nextcloudUserId) => this.client.removeUserFromGroup(nextcloudUserId, groupId))),\n\t\t\tPromise.all(addUserIds.map((nextcloudUserId) => this.client.addUserToGroup(nextcloudUserId, groupId))),\n\t\t]);\n\t}\n\n\tprivate async findNextcloudTool(): Promise {\n\t\tconst tool: ExternalTool | null = await this.externalToolService.findExternalToolByName(\n\t\t\tthis.client.oidcInternalName\n\t\t);\n\n\t\tif (!tool) {\n\t\t\tconst ltiToolPromise: Promise = this.findLegacyLtiTool();\n\n\t\t\treturn ltiToolPromise;\n\t\t}\n\n\t\treturn tool;\n\t}\n\n\tprivate async findLegacyLtiTool(): Promise {\n\t\tconst foundTools: LtiToolDO[] = await this.ltiToolRepo.findByName(this.client.oidcInternalName);\n\n\t\tif (foundTools.length > 1) {\n\t\t\tthis.logger.warn(\n\t\t\t\t`Please check the configured lti tools. There should one be one tool with the name ${this.client.oidcInternalName}. \n\t\t\t\tOtherwise teams can not be created or updated on demand.`\n\t\t\t);\n\t\t}\n\n\t\treturn foundTools[0];\n\t}\n\n\t/**\n\t * Generates the groupfolder name by concatenating the teamId and teamName.\n\t *\n\t * @param teamId id of the team\n\t * @param teamName name of the team\n\t * @protected\n\t */\n\tprotected static generateGroupFolderName(teamId: string, teamName: string): string {\n\t\treturn `${teamName} (${teamId})`;\n\t}\n\n\t/**\n\t * Generates groupId of the nextcloud group by concatenating some {@link TeamRolePermissionsDto} properties.\n\t *\n\t * @param dto\n\t * @protected\n\t */\n\tprotected static generateGroupId(dto: TeamRolePermissionsDto): string {\n\t\treturn `${dto.teamName}-${dto.teamId}-${dto.roleName}`;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/NotFoundLoggableException.html":{"url":"classes/NotFoundLoggableException.html","title":"class - NotFoundLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n NotFoundLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/loggable-exception/not-found.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n NotFoundException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(resourceName: string, identifierName: string, resourceId: string)\n \n \n \n \n Defined in apps/server/src/shared/common/loggable-exception/not-found.loggable-exception.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n resourceName\n \n \n string\n \n \n \n No\n \n \n \n \n identifierName\n \n \n string\n \n \n \n No\n \n \n \n \n resourceId\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/shared/common/loggable-exception/not-found.loggable-exception.ts:14\n \n \n\n\n \n \n\n \n Returns : ErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { NotFoundException } from '@nestjs/common';\nimport { Loggable } from '@src/core/logger/interfaces';\nimport { ErrorLogMessage } from '@src/core/logger/types';\n\nexport class NotFoundLoggableException extends NotFoundException implements Loggable {\n\tconstructor(\n\t\tprivate readonly resourceName: string,\n\t\tprivate readonly identifierName: string,\n\t\tprivate readonly resourceId: string\n\t) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): ErrorLogMessage {\n\t\tconst message: ErrorLogMessage = {\n\t\t\ttype: 'NOT_FOUND',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tresourceName: this.resourceName,\n\t\t\t\t[this.identifierName]: this.resourceId,\n\t\t\t},\n\t\t};\n\n\t\treturn message;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OAuth2ToolLaunchStrategy.html":{"url":"injectables/OAuth2ToolLaunchStrategy.html","title":"injectable - OAuth2ToolLaunchStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OAuth2ToolLaunchStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/service/launch-strategy/oauth2-tool-launch.strategy.ts\n \n\n\n\n \n Extends\n \n \n AbstractLaunchStrategy\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n autoParameterStrategyMap\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n \n buildToolLaunchDataFromConcreteConfig\n \n \n Public\n \n buildToolLaunchRequestPayload\n \n \n Public\n \n determineLaunchRequestMethod\n \n \n Private\n Async\n addParameters\n \n \n Private\n addProperty\n \n \n Private\n applyPropertiesToPathParams\n \n \n Private\n buildToolLaunchDataFromExternalTool\n \n \n Private\n Async\n buildToolLaunchDataFromTools\n \n \n Private\n buildUrl\n \n \n Public\n Async\n createLaunchData\n \n \n Public\n createLaunchRequest\n \n \n Private\n Async\n getParameterValue\n \n \n Private\n Async\n handleParametersToInclude\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n \n buildToolLaunchDataFromConcreteConfig\n \n \n \n \n \n \n \n buildToolLaunchDataFromConcreteConfig(userId: EntityId, data: ToolLaunchParams)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:9\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n data\n \n ToolLaunchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n \n buildToolLaunchRequestPayload\n \n \n \n \n \n \n \n buildToolLaunchRequestPayload(url: string, properties: PropertyData[])\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n properties\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string | null\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n \n determineLaunchRequestMethod\n \n \n \n \n \n \n \n determineLaunchRequestMethod(properties: PropertyData[])\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n properties\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LaunchRequestMethod\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n addParameters\n \n \n \n \n \n \n \n addParameters(propertyData: PropertyData[], customParameterDOs: CustomParameter[], scopes: literal type[], schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:155\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n propertyData\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n customParameterDOs\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n scopes\n \n literal type[]\n \n\n \n No\n \n\n\n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n addProperty\n \n \n \n \n \n \n \n addProperty(propertyData: PropertyData[], propertyName: string, value: string | undefined, customParameterLocation: CustomParameterLocation)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:249\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n propertyData\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n propertyName\n \n string\n \n\n \n No\n \n\n\n \n \n value\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n customParameterLocation\n \n CustomParameterLocation\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n applyPropertiesToPathParams\n \n \n \n \n \n \n \n applyPropertiesToPathParams(url: URL, pathProperties: PropertyData[])\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:105\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n URL\n \n\n \n No\n \n\n\n \n \n pathProperties\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n buildToolLaunchDataFromExternalTool\n \n \n \n \n \n \n \n buildToolLaunchDataFromExternalTool(externalTool: ExternalTool)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:128\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolLaunchData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n buildToolLaunchDataFromTools\n \n \n \n \n \n \n \n buildToolLaunchDataFromTools(data: ToolLaunchParams)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:139\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n ToolLaunchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n buildUrl\n \n \n \n \n \n \n \n buildUrl(toolLaunchDataDO: ToolLaunchData)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:79\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolLaunchDataDO\n \n ToolLaunchData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n createLaunchData\n \n \n \n \n \n \n \n createLaunchData(userId: EntityId, data: ToolLaunchParams)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:40\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n data\n \n ToolLaunchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n createLaunchRequest\n \n \n \n \n \n \n \n createLaunchRequest(toolLaunchData: ToolLaunchData)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:64\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolLaunchData\n \n ToolLaunchData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolLaunchRequest\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getParameterValue\n \n \n \n \n \n \n \n getParameterValue(customParameter: CustomParameter, matchingParameterEntry: CustomParameterEntry | undefined, schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:218\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameter\n \n CustomParameter\n \n\n \n No\n \n\n\n \n \n matchingParameterEntry\n \n CustomParameterEntry | undefined\n \n\n \n No\n \n\n\n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n handleParametersToInclude\n \n \n \n \n \n \n \n handleParametersToInclude(propertyData: PropertyData[], parametersToInclude: CustomParameter[], params: CustomParameterEntry[], schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:181\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n propertyData\n \n PropertyData[]\n \n\n \n No\n \n\n\n \n \n parametersToInclude\n \n CustomParameter[]\n \n\n \n No\n \n\n\n \n \n params\n \n CustomParameterEntry[]\n \n\n \n No\n \n\n\n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n autoParameterStrategyMap\n \n \n \n \n \n \n Type : Map\n\n \n \n \n \n Inherited from AbstractLaunchStrategy\n\n \n \n \n \n Defined in AbstractLaunchStrategy:24\n\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { LaunchRequestMethod, PropertyData } from '../../types';\nimport { AbstractLaunchStrategy } from './abstract-launch.strategy';\nimport { ToolLaunchParams } from './tool-launch-params.interface';\n\n@Injectable()\nexport class OAuth2ToolLaunchStrategy extends AbstractLaunchStrategy {\n\tpublic override buildToolLaunchDataFromConcreteConfig(\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\tuserId: EntityId,\n\t\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\t\tdata: ToolLaunchParams\n\t): Promise {\n\t\treturn Promise.resolve([]);\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tpublic override buildToolLaunchRequestPayload(url: string, properties: PropertyData[]): string | null {\n\t\treturn null;\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tpublic override determineLaunchRequestMethod(properties: PropertyData[]): LaunchRequestMethod {\n\t\treturn LaunchRequestMethod.GET;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OAuthProcessDto.html":{"url":"classes/OAuthProcessDto.html","title":"class - OAuthProcessDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OAuthProcessDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/service/dto/oauth-process.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n jwt\n \n \n redirect\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(response: OAuthProcessDto)\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/oauth-process.dto.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n \n OAuthProcessDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n jwt\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/oauth-process.dto.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n redirect\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/dto/oauth-process.dto.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class OAuthProcessDto {\n\tjwt?: string;\n\n\tredirect: string;\n\n\tconstructor(response: OAuthProcessDto) {\n\t\tthis.jwt = response.jwt;\n\t\tthis.redirect = response.redirect;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OAuthRejectableBody.html":{"url":"classes/OAuthRejectableBody.html","title":"class - OAuthRejectableBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OAuthRejectableBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/request/oauth-rejectable.body.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n error\n \n \n \n \n \n Optional\n error_debug\n \n \n \n \n \n Optional\n error_description\n \n \n \n \n \n Optional\n error_hint\n \n \n \n \n \n Optional\n status_code\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n error\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'The error should follow the OAuth2 error format (e.g. invalid_request, login_required). Defaults to request_denied.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-rejectable.body.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n error_debug\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'Debug contains information to help resolve the problem as a developer. Usually not exposed to the public but only in the server logs.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-rejectable.body.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n error_description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'Description of the error in a human readable format.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-rejectable.body.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n error_hint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'Hint to help resolve the error.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-rejectable.body.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n status_code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsNumber()@IsOptional()@ApiProperty({description: 'Represents the HTTP status code of the error (e.g. 401 or 403). Defaults to 400.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-rejectable.body.ts:50\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsNumber, IsOptional, IsString } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\n\nexport class OAuthRejectableBody {\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'The error should follow the OAuth2 error format (e.g. invalid_request, login_required). Defaults to request_denied.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\terror?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'Debug contains information to help resolve the problem as a developer. Usually not exposed to the public but only in the server logs.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\terror_debug?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'Description of the error in a human readable format.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\terror_description?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'Hint to help resolve the error.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\terror_hint?: string;\n\n\t@IsNumber()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'Represents the HTTP status code of the error (e.g. 401 or 403). Defaults to 400.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\tstatus_code?: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OAuthService.html":{"url":"injectables/OAuthService.html","title":"injectable - OAuthService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OAuthService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/service/oauth.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n authenticateUser\n \n \n Private\n buildTokenRequestPayload\n \n \n Private\n Async\n findUserAfterProvisioningOrThrow\n \n \n Async\n isOauthProvisioningEnabledForSchool\n \n \n Async\n provisionUser\n \n \n Async\n requestToken\n \n \n Async\n validateToken\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userService: UserService, oauthAdapterService: OauthAdapterService, oAuthEncryptionService: EncryptionService, logger: LegacyLogger, provisioningService: ProvisioningService, systemService: LegacySystemService, migrationCheckService: MigrationCheckService, schoolService: LegacySchoolService)\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/oauth.service.ts:27\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n oauthAdapterService\n \n \n OauthAdapterService\n \n \n \n No\n \n \n \n \n oAuthEncryptionService\n \n \n EncryptionService\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n provisioningService\n \n \n ProvisioningService\n \n \n \n No\n \n \n \n \n systemService\n \n \n LegacySystemService\n \n \n \n No\n \n \n \n \n migrationCheckService\n \n \n MigrationCheckService\n \n \n \n No\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n authenticateUser\n \n \n \n \n \n \n \n authenticateUser(systemId: string, redirectUri: string, authCode?: string, errorCode?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth.service.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n redirectUri\n \n string\n \n\n \n No\n \n\n\n \n \n authCode\n \n string\n \n\n \n Yes\n \n\n\n \n \n errorCode\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n buildTokenRequestPayload\n \n \n \n \n \n \n \n buildTokenRequestPayload(code: string, oauthConfig: OauthConfigEntity, redirectUri: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth.service.ts:152\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n code\n \n string\n \n\n \n No\n \n\n\n \n \n oauthConfig\n \n OauthConfigEntity\n \n\n \n No\n \n\n\n \n \n redirectUri\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AuthenticationCodeGrantTokenRequest\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findUserAfterProvisioningOrThrow\n \n \n \n \n \n \n \n findUserAfterProvisioningOrThrow(externalUserId: string, systemId: EntityId, officialSchoolNumber?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth.service.ts:99\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalUserId\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n officialSchoolNumber\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n isOauthProvisioningEnabledForSchool\n \n \n \n \n \n \n \n isOauthProvisioningEnabledForSchool(officialSchoolNumber: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth.service.ts:115\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n officialSchoolNumber\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n provisionUser\n \n \n \n \n \n \n \n provisionUser(systemId: string, idToken: string, accessToken: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth.service.ts:64\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n idToken\n \n string\n \n\n \n No\n \n\n\n \n \n accessToken\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n requestToken\n \n \n \n \n \n \n \n requestToken(code: string, oauthConfig: OauthConfigEntity, redirectUri: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth.service.ts:125\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n code\n \n string\n \n\n \n No\n \n\n\n \n \n oauthConfig\n \n OauthConfigEntity\n \n\n \n No\n \n\n\n \n \n redirectUri\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n validateToken\n \n \n \n \n \n \n \n validateToken(idToken: string, oauthConfig: OauthConfigEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth.service.ts:137\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n idToken\n \n string\n \n\n \n No\n \n\n\n \n \n oauthConfig\n \n OauthConfigEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { DefaultEncryptionService, EncryptionService } from '@infra/encryption';\nimport { LegacySchoolService } from '@modules/legacy-school';\nimport { OauthDataDto, ProvisioningService } from '@modules/provisioning';\nimport { LegacySystemService } from '@modules/system';\nimport { SystemDto } from '@modules/system/service';\nimport { UserService } from '@modules/user';\nimport { MigrationCheckService } from '@modules/user-login-migration';\nimport { Inject } from '@nestjs/common';\nimport { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { LegacySchoolDo, UserDO } from '@shared/domain/domainobject';\nimport { OauthConfigEntity, SchoolFeatures } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacyLogger } from '@src/core/logger';\nimport jwt, { JwtPayload } from 'jsonwebtoken';\nimport { OAuthTokenDto } from '../interface';\nimport {\n\tAuthCodeFailureLoggableException,\n\tIdTokenInvalidLoggableException,\n\tOauthConfigMissingLoggableException,\n\tUserNotFoundAfterProvisioningLoggableException,\n} from '../loggable';\nimport { TokenRequestMapper } from '../mapper/token-request.mapper';\nimport { AuthenticationCodeGrantTokenRequest, OauthTokenResponse } from './dto';\nimport { OauthAdapterService } from './oauth-adapter.service';\n\n@Injectable()\nexport class OAuthService {\n\tconstructor(\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly oauthAdapterService: OauthAdapterService,\n\t\t@Inject(DefaultEncryptionService) private readonly oAuthEncryptionService: EncryptionService,\n\t\tprivate readonly logger: LegacyLogger,\n\t\tprivate readonly provisioningService: ProvisioningService,\n\t\tprivate readonly systemService: LegacySystemService,\n\t\tprivate readonly migrationCheckService: MigrationCheckService,\n\t\tprivate readonly schoolService: LegacySchoolService\n\t) {\n\t\tthis.logger.setContext(OAuthService.name);\n\t}\n\n\tasync authenticateUser(\n\t\tsystemId: string,\n\t\tredirectUri: string,\n\t\tauthCode?: string,\n\t\terrorCode?: string\n\t): Promise {\n\t\tif (errorCode || !authCode) {\n\t\t\tthrow new AuthCodeFailureLoggableException(errorCode);\n\t\t}\n\n\t\tconst system: SystemDto = await this.systemService.findById(systemId);\n\t\tif (!system.oauthConfig) {\n\t\t\tthrow new OauthConfigMissingLoggableException(systemId);\n\t\t}\n\t\tconst { oauthConfig } = system;\n\n\t\tconst oauthTokens: OAuthTokenDto = await this.requestToken(authCode, oauthConfig, redirectUri);\n\n\t\tawait this.validateToken(oauthTokens.idToken, oauthConfig);\n\n\t\treturn oauthTokens;\n\t}\n\n\tasync provisionUser(systemId: string, idToken: string, accessToken: string): Promise {\n\t\tconst data: OauthDataDto = await this.provisioningService.getData(systemId, idToken, accessToken);\n\n\t\tconst externalUserId: string = data.externalUser.externalId;\n\t\tconst officialSchoolNumber: string | undefined = data.externalSchool?.officialSchoolNumber;\n\n\t\tlet isProvisioningEnabled = true;\n\n\t\tif (officialSchoolNumber) {\n\t\t\tisProvisioningEnabled = await this.isOauthProvisioningEnabledForSchool(officialSchoolNumber);\n\n\t\t\tconst shouldUserMigrate: boolean = await this.migrationCheckService.shouldUserMigrate(\n\t\t\t\texternalUserId,\n\t\t\t\tsystemId,\n\t\t\t\tofficialSchoolNumber\n\t\t\t);\n\n\t\t\tif (shouldUserMigrate) {\n\t\t\t\tconst existingUser: UserDO | null = await this.userService.findByExternalId(externalUserId, systemId);\n\n\t\t\t\tif (!existingUser) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (isProvisioningEnabled) {\n\t\t\tawait this.provisioningService.provisionData(data);\n\t\t}\n\n\t\tconst user: UserDO = await this.findUserAfterProvisioningOrThrow(externalUserId, systemId, officialSchoolNumber);\n\n\t\treturn user;\n\t}\n\n\tprivate async findUserAfterProvisioningOrThrow(\n\t\texternalUserId: string,\n\t\tsystemId: EntityId,\n\t\tofficialSchoolNumber?: string\n\t): Promise {\n\t\tconst user: UserDO | null = await this.userService.findByExternalId(externalUserId, systemId);\n\n\t\tif (!user) {\n\t\t\t// This can happen, when OAuth2 provisioning is disabled, because the school doesn't have the feature.\n\t\t\t// OAuth2 provisioning is disabled for schools that don't have migrated, yet.\n\t\t\tthrow new UserNotFoundAfterProvisioningLoggableException(externalUserId, systemId, officialSchoolNumber);\n\t\t}\n\n\t\treturn user;\n\t}\n\n\tasync isOauthProvisioningEnabledForSchool(officialSchoolNumber: string): Promise {\n\t\tconst school: LegacySchoolDo | null = await this.schoolService.getSchoolBySchoolNumber(officialSchoolNumber);\n\n\t\tif (!school) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn !!school.features?.includes(SchoolFeatures.OAUTH_PROVISIONING_ENABLED);\n\t}\n\n\tasync requestToken(code: string, oauthConfig: OauthConfigEntity, redirectUri: string): Promise {\n\t\tconst payload: AuthenticationCodeGrantTokenRequest = this.buildTokenRequestPayload(code, oauthConfig, redirectUri);\n\n\t\tconst responseToken: OauthTokenResponse = await this.oauthAdapterService.sendAuthenticationCodeTokenRequest(\n\t\t\toauthConfig.tokenEndpoint,\n\t\t\tpayload\n\t\t);\n\n\t\tconst tokenDto: OAuthTokenDto = TokenRequestMapper.mapTokenResponseToDto(responseToken);\n\t\treturn tokenDto;\n\t}\n\n\tasync validateToken(idToken: string, oauthConfig: OauthConfigEntity): Promise {\n\t\tconst publicKey: string = await this.oauthAdapterService.getPublicKey(oauthConfig.jwksEndpoint);\n\t\tconst decodedJWT: string | JwtPayload = jwt.verify(idToken, publicKey, {\n\t\t\talgorithms: ['RS256'],\n\t\t\tissuer: oauthConfig.issuer,\n\t\t\taudience: oauthConfig.clientId,\n\t\t});\n\n\t\tif (typeof decodedJWT === 'string') {\n\t\t\tthrow new IdTokenInvalidLoggableException();\n\t\t}\n\n\t\treturn decodedJWT;\n\t}\n\n\tprivate buildTokenRequestPayload(\n\t\tcode: string,\n\t\toauthConfig: OauthConfigEntity,\n\t\tredirectUri: string\n\t): AuthenticationCodeGrantTokenRequest {\n\t\tconst decryptedClientSecret: string = this.oAuthEncryptionService.decrypt(oauthConfig.clientSecret);\n\n\t\tconst tokenRequestPayload: AuthenticationCodeGrantTokenRequest =\n\t\t\tTokenRequestMapper.createAuthenticationCodeGrantTokenRequestPayload(\n\t\t\t\toauthConfig.clientId,\n\t\t\t\tdecryptedClientSecret,\n\t\t\t\tcode,\n\t\t\t\tredirectUri\n\t\t\t);\n\n\t\treturn tokenRequestPayload;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OAuthTokenDto.html":{"url":"classes/OAuthTokenDto.html","title":"class - OAuthTokenDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OAuthTokenDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/interface/oauth-token.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n accessToken\n \n \n idToken\n \n \n refreshToken\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: OAuthTokenDto)\n \n \n \n \n Defined in apps/server/src/modules/oauth/interface/oauth-token.dto.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n OAuthTokenDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n accessToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/interface/oauth-token.dto.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n idToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/interface/oauth-token.dto.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n refreshToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/oauth/interface/oauth-token.dto.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class OAuthTokenDto {\n\tidToken: string;\n\n\trefreshToken: string;\n\n\taccessToken: string;\n\n\tconstructor(props: OAuthTokenDto) {\n\t\tthis.idToken = props.idToken;\n\t\tthis.refreshToken = props.refreshToken;\n\t\tthis.accessToken = props.accessToken;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Oauth2AuthorizationBodyParams.html":{"url":"classes/Oauth2AuthorizationBodyParams.html","title":"class - Oauth2AuthorizationBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Oauth2AuthorizationBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/controllers/dto/oauth2-authorization.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n code\n \n \n \n \n \n redirectUri\n \n \n \n \n systemId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n code\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/oauth2-authorization.body.params.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n redirectUri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/oauth2-authorization.body.params.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n systemId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/oauth2-authorization.body.params.ts:17\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId, IsNotEmpty, IsString } from 'class-validator';\n\nexport class Oauth2AuthorizationBodyParams {\n\t@IsString()\n\t@IsNotEmpty()\n\t@ApiProperty()\n\tredirectUri!: string;\n\n\t@IsString()\n\t@IsNotEmpty()\n\t@ApiProperty()\n\tcode!: string;\n\n\t@IsMongoId()\n\t@ApiProperty()\n\tsystemId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Oauth2MigrationParams.html":{"url":"classes/Oauth2MigrationParams.html","title":"class - Oauth2MigrationParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Oauth2MigrationParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/controller/dto/oauth2-migration.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n code\n \n \n \n \n \n redirectUri\n \n \n \n \n systemId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n code\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/oauth2-migration.params.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n redirectUri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsNotEmpty()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/oauth2-migration.params.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n systemId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/oauth2-migration.params.ts:17\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId, IsNotEmpty, IsString } from 'class-validator';\n\nexport class Oauth2MigrationParams {\n\t@IsString()\n\t@IsNotEmpty()\n\t@ApiProperty()\n\tredirectUri!: string;\n\n\t@IsString()\n\t@IsNotEmpty()\n\t@ApiProperty()\n\tcode!: string;\n\n\t@IsMongoId()\n\t@ApiProperty()\n\tsystemId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/Oauth2Strategy.html":{"url":"injectables/Oauth2Strategy.html","title":"injectable - Oauth2Strategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n Oauth2Strategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/strategy/oauth2.strategy.ts\n \n\n\n\n \n Extends\n \n \n PassportStrategy(Strategy, 'oauth2')\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n validate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthService: OAuthService, accountService: AccountService)\n \n \n \n \n Defined in apps/server/src/modules/authentication/strategy/oauth2.strategy.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthService\n \n \n OAuthService\n \n \n \n No\n \n \n \n \n accountService\n \n \n AccountService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n validate\n \n \n \n \n \n \n \n validate(request: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/strategy/oauth2.strategy.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n request\n \n literal type\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AccountService } from '@modules/account/services/account.service';\nimport { AccountDto } from '@modules/account/services/dto';\nimport { OAuthService, OAuthTokenDto } from '@modules/oauth';\nimport { Injectable, UnauthorizedException } from '@nestjs/common';\nimport { PassportStrategy } from '@nestjs/passport';\nimport { UserDO } from '@shared/domain/domainobject/user.do';\nimport { Strategy } from 'passport-custom';\nimport { Oauth2AuthorizationBodyParams } from '../controllers/dto';\nimport { ICurrentUser, OauthCurrentUser } from '../interface';\nimport { SchoolInMigrationLoggableException } from '../loggable';\nimport { CurrentUserMapper } from '../mapper';\n\n@Injectable()\nexport class Oauth2Strategy extends PassportStrategy(Strategy, 'oauth2') {\n\tconstructor(private readonly oauthService: OAuthService, private readonly accountService: AccountService) {\n\t\tsuper();\n\t}\n\n\tasync validate(request: { body: Oauth2AuthorizationBodyParams }): Promise {\n\t\tconst { systemId, redirectUri, code } = request.body;\n\n\t\tconst tokenDto: OAuthTokenDto = await this.oauthService.authenticateUser(systemId, redirectUri, code);\n\n\t\tconst user: UserDO | null = await this.oauthService.provisionUser(systemId, tokenDto.idToken, tokenDto.accessToken);\n\n\t\tif (!user || !user.id) {\n\t\t\tthrow new SchoolInMigrationLoggableException();\n\t\t}\n\n\t\tconst account: AccountDto | null = await this.accountService.findByUserId(user.id);\n\t\tif (!account) {\n\t\t\tthrow new UnauthorizedException('no account found');\n\t\t}\n\n\t\tconst currentUser: OauthCurrentUser = CurrentUserMapper.mapToOauthCurrentUser(\n\t\t\taccount.id,\n\t\t\tuser,\n\t\t\tsystemId,\n\t\t\ttokenDto.idToken\n\t\t);\n\n\t\treturn currentUser;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Oauth2ToolConfig.html":{"url":"classes/Oauth2ToolConfig.html","title":"class - Oauth2ToolConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Oauth2ToolConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/domain/config/oauth2-tool-config.do.ts\n \n\n\n\n \n Extends\n \n \n ExternalToolConfig\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n clientId\n \n \n Optional\n clientSecret\n \n \n Optional\n frontchannelLogoutUri\n \n \n Optional\n redirectUris\n \n \n Optional\n scope\n \n \n skipConsent\n \n \n Optional\n tokenEndpointAuthMethod\n \n \n baseUrl\n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: Oauth2ToolConfig)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/oauth2-tool-config.do.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n Oauth2ToolConfig\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n clientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/oauth2-tool-config.do.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n clientSecret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/oauth2-tool-config.do.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n frontchannelLogoutUri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/oauth2-tool-config.do.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n redirectUris\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/oauth2-tool-config.do.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n scope\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/oauth2-tool-config.do.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n skipConsent\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/oauth2-tool-config.do.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n tokenEndpointAuthMethod\n \n \n \n \n \n \n Type : TokenEndpointAuthMethod\n\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/domain/config/oauth2-tool-config.do.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from ExternalToolConfig\n\n \n \n \n \n Defined in ExternalToolConfig:6\n\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Inherited from ExternalToolConfig\n\n \n \n \n \n Defined in ExternalToolConfig:4\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ExternalToolConfig } from './external-tool-config.do';\nimport { TokenEndpointAuthMethod, ToolConfigType } from '../../../common/enum';\n\nexport class Oauth2ToolConfig extends ExternalToolConfig {\n\tclientId: string;\n\n\tclientSecret?: string;\n\n\tskipConsent: boolean;\n\n\ttokenEndpointAuthMethod?: TokenEndpointAuthMethod;\n\n\tfrontchannelLogoutUri?: string;\n\n\tscope?: string;\n\n\tredirectUris?: string[];\n\n\tconstructor(props: Oauth2ToolConfig) {\n\t\tsuper({\n\t\t\ttype: ToolConfigType.OAUTH2,\n\t\t\tbaseUrl: props.baseUrl,\n\t\t});\n\t\tthis.clientId = props.clientId;\n\t\tthis.clientSecret = props.clientSecret;\n\t\tthis.skipConsent = props.skipConsent;\n\t\tthis.redirectUris = props.redirectUris;\n\t\tthis.scope = props.scope;\n\t\tthis.tokenEndpointAuthMethod = props.tokenEndpointAuthMethod;\n\t\tthis.frontchannelLogoutUri = props.frontchannelLogoutUri;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Oauth2ToolConfigCreateParams.html":{"url":"classes/Oauth2ToolConfigCreateParams.html","title":"class - Oauth2ToolConfigCreateParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Oauth2ToolConfigCreateParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-create.params.ts\n \n\n\n\n \n Extends\n \n \n ExternalToolConfigCreateParams\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n clientId\n \n \n \n \n clientSecret\n \n \n \n \n \n Optional\n frontchannelLogoutUri\n \n \n \n \n redirectUris\n \n \n \n \n \n Optional\n scope\n \n \n \n \n skipConsent\n \n \n \n \n tokenEndpointAuthMethod\n \n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigCreateParams\n\n \n \n \n \n Defined in ExternalToolConfigCreateParams:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n clientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-create.params.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n clientSecret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-create.params.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n frontchannelLogoutUri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-create.params.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n redirectUris\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-create.params.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n scope\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-create.params.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n skipConsent\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-create.params.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n tokenEndpointAuthMethod\n \n \n \n \n \n \n Type : TokenEndpointAuthMethod\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(TokenEndpointAuthMethod)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-create.params.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ToolConfigType)@ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigCreateParams\n\n \n \n \n \n Defined in ExternalToolConfigCreateParams:9\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsArray, IsBoolean, IsEnum, IsOptional, IsString } from 'class-validator';\nimport { TokenEndpointAuthMethod, ToolConfigType } from '../../../../../common/enum';\nimport { ExternalToolConfigCreateParams } from './external-tool-config.params';\n\nexport class Oauth2ToolConfigCreateParams extends ExternalToolConfigCreateParams {\n\t@IsEnum(ToolConfigType)\n\t@ApiProperty()\n\ttype!: ToolConfigType;\n\n\t@IsString()\n\t@ApiProperty()\n\tbaseUrl!: string;\n\n\t@IsString()\n\t@ApiProperty()\n\tclientId!: string;\n\n\t@IsString()\n\t@ApiProperty()\n\tclientSecret!: string;\n\n\t@IsBoolean()\n\t@ApiProperty()\n\tskipConsent!: boolean;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tfrontchannelLogoutUri?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tscope?: string;\n\n\t@IsArray()\n\t@ApiProperty()\n\tredirectUris!: string[];\n\n\t@IsEnum(TokenEndpointAuthMethod)\n\t@ApiProperty()\n\ttokenEndpointAuthMethod!: TokenEndpointAuthMethod;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Oauth2ToolConfigEntity.html":{"url":"classes/Oauth2ToolConfigEntity.html","title":"class - Oauth2ToolConfigEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Oauth2ToolConfigEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/entity/config/oauth2-tool-config.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n clientId\n \n \n \n skipConsent\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: Oauth2ToolConfigEntity)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/oauth2-tool-config.entity.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n Oauth2ToolConfigEntity\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n clientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/oauth2-tool-config.entity.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n skipConsent\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/entity/config/oauth2-tool-config.entity.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Property } from '@mikro-orm/core';\nimport { ExternalToolConfigEntity } from './external-tool-config.entity';\nimport { ToolConfigType } from '../../../common/enum';\n\n@Embeddable({ discriminatorValue: ToolConfigType.OAUTH2 })\nexport class Oauth2ToolConfigEntity extends ExternalToolConfigEntity {\n\t@Property()\n\tclientId: string;\n\n\t@Property()\n\tskipConsent: boolean;\n\n\tconstructor(props: Oauth2ToolConfigEntity) {\n\t\tsuper(props);\n\t\tthis.type = ToolConfigType.OAUTH2;\n\t\tthis.clientId = props.clientId;\n\t\tthis.skipConsent = props.skipConsent;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Oauth2ToolConfigFactory.html":{"url":"classes/Oauth2ToolConfigFactory.html","title":"class - Oauth2ToolConfigFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Oauth2ToolConfigFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/domainobject/tool/external-tool.factory.ts\n \n\n\n\n \n Extends\n \n \n DoBaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withExternalData\n \n \n \n buildWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withExternalData\n \n \n \n \n \n \nwithExternalData(oauth2Params?: DeepPartial)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/domainobject/tool/external-tool.factory.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauth2Params\n \n DeepPartial\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \n \n buildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CustomParameter } from '@modules/tool/common/domain';\nimport {\n\tCustomParameterLocation,\n\tCustomParameterScope,\n\tCustomParameterType,\n\tLtiMessageType,\n\tLtiPrivacyPermission,\n\tTokenEndpointAuthMethod,\n\tToolConfigType,\n} from '@modules/tool/common/enum';\nimport {\n\tBasicToolConfig,\n\tExternalTool,\n\tExternalToolProps,\n\tLti11ToolConfig,\n\tOauth2ToolConfig,\n} from '@modules/tool/external-tool/domain';\nimport { DeepPartial } from 'fishery';\nimport { DoBaseFactory } from '../do-base.factory';\n\nexport const basicToolConfigFactory = DoBaseFactory.define(BasicToolConfig, () => {\n\treturn {\n\t\ttype: ToolConfigType.BASIC,\n\t\tbaseUrl: 'https://www.basic-baseUrl.com/',\n\t};\n});\n\nclass Oauth2ToolConfigFactory extends DoBaseFactory {\n\twithExternalData(oauth2Params?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tclientSecret: 'clientSecret',\n\t\t\tscope: 'offline openid',\n\t\t\tfrontchannelLogoutUri: 'https://www.frontchannel.com/',\n\t\t\tredirectUris: ['https://www.redirect.com/'],\n\t\t\ttokenEndpointAuthMethod: TokenEndpointAuthMethod.CLIENT_SECRET_POST,\n\t\t};\n\n\t\treturn this.params({ ...params, ...oauth2Params });\n\t}\n}\n\nexport const oauth2ToolConfigFactory = Oauth2ToolConfigFactory.define(Oauth2ToolConfig, () => {\n\treturn {\n\t\ttype: ToolConfigType.OAUTH2,\n\t\tbaseUrl: 'https://www.oauth2-baseUrl.com/',\n\t\tclientId: 'clientId',\n\t\tskipConsent: false,\n\t};\n});\n\nexport const lti11ToolConfigFactory = DoBaseFactory.define(Lti11ToolConfig, () => {\n\treturn {\n\t\ttype: ToolConfigType.LTI11,\n\t\tbaseUrl: 'https://www.lti11-baseUrl.com/',\n\t\tkey: 'key',\n\t\tsecret: 'secret',\n\t\tprivacy_permission: LtiPrivacyPermission.PSEUDONYMOUS,\n\t\tlti_message_type: LtiMessageType.BASIC_LTI_LAUNCH_REQUEST,\n\t\tresource_link_id: 'linkId',\n\t\tlaunch_presentation_locale: 'de-DE',\n\t};\n});\n\nclass CustomParameterFactory extends DoBaseFactory {\n\tbuildListWithEachType(params?: DeepPartial): CustomParameter[] {\n\t\tconst globalParameter = this.build({ ...params, scope: CustomParameterScope.GLOBAL });\n\t\tconst schoolParameter = this.build({ ...params, scope: CustomParameterScope.SCHOOL });\n\t\tconst contextParameter = this.build({ ...params, scope: CustomParameterScope.CONTEXT });\n\n\t\treturn [globalParameter, schoolParameter, contextParameter];\n\t}\n}\n\nexport const customParameterFactory = CustomParameterFactory.define(CustomParameter, ({ sequence }) => {\n\treturn {\n\t\tname: `custom-parameter-${sequence}`,\n\t\tdisplayName: 'User Friendly Name',\n\t\ttype: CustomParameterType.STRING,\n\t\tscope: CustomParameterScope.SCHOOL,\n\t\tlocation: CustomParameterLocation.BODY,\n\t\tisOptional: false,\n\t};\n});\n\nclass ExternalToolFactory extends DoBaseFactory {\n\twithOauth2Config(customParam?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tconfig: oauth2ToolConfigFactory.build(customParam),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithLti11Config(customParam?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tconfig: lti11ToolConfigFactory.build(customParam),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithCustomParameters(number: number, customParam?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tparameters: customParameterFactory.buildList(number, customParam),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithBase64Logo(): this {\n\t\tconst params: DeepPartial = {\n\t\t\tlogo: 'iVBORw0KGgoAAAANSUhEUgAAAfQAAADICAYAAAAeGRPoAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjQ2MUQ2Q0Y5RTQxMTExRTdBMTg3QkQ2MDVGMUFEMUIwIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjQ2MUQ2Q0ZBRTQxMTExRTdBMTg3QkQ2MDVGMUFEMUIwIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NDYxRDZDRjdFNDExMTFFN0ExODdCRDYwNUYxQUQxQjAiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NDYxRDZDRjhFNDExMTFFN0ExODdCRDYwNUYxQUQxQjAiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz45EjsrAAALfUlEQVR42uzdgXWjOAIGYHLvGsiV4CnBU4JTgqeEpIS4hKSEpIS4BLsEu4RJCeMScmhGzPplkyCMAGO+7z3ezs3tYsuS+BEIcfX29lYAAOP2Hz8BAAh0AECgAwACHQAQ6AAg0AEAgQ4ACHQAQKADgEAHAAQ6ACDQAQCBDgACHQAQ6ACAQAcABDoACHQAQKADAAIdABDoACDQAQCBDgAIdABAoAOAQAcABDoAINABAIEOAAIdABDoAIBABwAEOgAIdABAoAMAAh0AEOgAINABAIEOAAh0AECgA4BABwAEOgAg0AEAgQ4ACHQAEOgAgEAHAAQ6ACDQAUCgAwACHQAQ6ACAQAcAgQ4ACHQAQKADAAIdAAQ6ACDQAQCBDgAIdAAQ6ACAQAcABDoAINABQKADAAIdABDoAIBABwCBDgAIdABAoAMAAh0ABDoAINABgN79109AbldXV9flPxblNov/DOblFv7+UG77+HfVn39vb29vB78emdpg1fauP2iDwWvcgm3883aMbbAs6/yorPP414ujf+W4z+2r/12WdasOL6zdl4Ufa4fdvGu0gyp/x6sTyjD0jx8a/03GOgn1cVtuyxN3EQ4267CV3+t16u2jhz701lfb6DEAlnGbt2yDz+ccDDHEq7LOTtzNIZY11PVaHV6AEOhj3ErhgP12LtuJZRj6e28y1cW8g/p4CgeqKbePHvpQ522jp3LMYnvJWWe/2rbBjsq66Kht/wwn4+pw3Jt76LQ9o76NB5jco+Gw35/l/p/iJXx43/auy+2+CqPMu7+O+9zFzziHsj511Nf+Bmr5GT/jlTZ1OEICnbZh/lT8c0+rC1WwL/3ivLvkvCu3h44/KrTth/LzdvFy8BBlXXQUeJ8F+6b8zIeuT6SnVIcCnXM/oC5jmPchdMiXqZxlk3QiuStOv3d8inkc6c0HKOum45Pmj9zHYJ+pQ4HOZR9Qr08I8zBRZRu3U4RJcs9+fWHe44nkRyeWu/gd+ijr04BlrRzU4Xh4bI1T3CaMGMKB4LH4M4N2/0Gnrh5JqWbr1u3vzmNtwrxhEFSzuEP7ez1+TCu2v9lR+2syagv3mvcfteuMZb0vml1ifz0q6/74KZF3Za3Km/Lb/cjd56ZUh4OYyuy/1NnPZhknfe9fNd/9JQR0g/1Vk1d+frK/hym2D+3vX7O7G83YbtgGm86yDn1g1lFZlw3Lumy4/9Df7mv68VwdjrBPC3SBnrlT7lru//2BZtekUwv0y2t/MYB+JR6kH9q0lzjK2yV+1q6jx7dSy3qf4Xe9/2C/t+rQY2tMQ91lrceWV4zCf/8tXmZzqZ2iSH+SIrSVVZv2Ei/BhgV1UuZrzDuYqJlS1upyeNu+doj7+F78s+LaY/l3z+pwnAQ6WQM9x4pT8UDzI3TKi7vHRdN7rovEe753uYIotr+7xEC4zzUTPD45kvIM+E3Old1iH/sew3ylDgU609Hb4zPnvtY0vUgZPd11MaqMgbBP6A+5RngPiWXdd1DWQxdhPsE6FOhc1IjKqm7kHNnVjVjXHV0iroQrRXWXf2/btvtY1tnAZVWHAp2JqesYVnQjl5S2tOryC8THv1LuVbd9rvk2od+t1OFZ16FAZ3TqLl89XPJKTPQ2srtOCIPHtm/lSwyEEAZ1n7PsuKzPfZRVHQp0pqWuU4ROvLnUlZjoTfUe7C9DrsfvU/dZ8xYTq5YZPl8dDluHAp1RSpmo9ntp2Pjmpnv31TlB3VWefc8j1nWG7/yZ2ZmVVR0KdKYgPh+aelYdDlRh5u6vMtQ3MdxdjidHGKx7bvchePYJ7X30ZVWHAp38FmX4vXWwbTJ8t3A/qunCD4sY7uHFCCHgX2LAz1Q1n7SXL0d3A3ynbcvvPKayqsMR8nIWTjrTLYM4zEw99Y1J1WSZsIVJdNWLJdYWkiHREJegD2Mqa3ineZHpEnLZL2/UoUDnckP9uTxgFEWe1yCGUXpY2CGM2EOgP4/teVvySbktM9A95bqTzcUJZV10WNb5UCPOKdXhOXHJnVahXqQt2tD0IFRNqPNM+zSZRKkOEegMEOrhUnl4mcoqc7CHUXu4z/5kljyAQKefUD8cvSUtBHvOS2nhefaNUGcEvBVQHQp0LivYyy0E+++3NxV5ZrKGy/AvfuHJtKPatQ4Gevyx9nnxCyqrOhToZLQtO8VVB9tNTx16H99rHIL9f8Wfe+1tAn5xSe8tpvMDcxeuJ1RWdSjQ4dOR+/oo4MMIPrzWsOnCEladm9AJbc3/P8TobtHyO5/6381O7Hc3qSf6RTcvSJlSHQp0Jhvwr2GGfLn9iKP31Al1KS974DKc1Ys04onkouV3HkVZ1aFAhzaj92pCXcqz55aOnYbaJTp7vgebEj7bjso61peGTKkOBTq8C/a7hFC3VOw0pNyO6fONfnWftY3vOTjF9szKqg4FOmRRdy9v4SeaxgleQiDc9jFyja8C7uxFI4kvDbkd2yh9SnUo0OHzg8DWL0HiAfapyy8Q77vWPV1xKNqHQd2VqfA9HtThWdehQGecQieJZ73Q1cldOMDWTVLq+nHGEKJ1I8jHtpdq4zLKdftYjq3PTakOBTpjFl7D+hTf6JTbV4+meRvbtKQ8TvXQRdCFZYeL+vuuhyJtMmeKx8SyztXh2dahQGd0o/PQSaqDSng2fJPrPljcz1cHrFc1MLlResotmKeco7zEIMg6sotPe9S173Cyu+ngxUVzdSjQmV6Y337QScJEtV2mzlh3P80IfXruirR1CsIo76XN4kPhhDKcoCYGwTaGcO6y1gnle8nR38JoP5Z3qQ4FOtMK88UXgXsdO2N47elt0w4Z78m/FPWz2NdqYnKj9DBqTV3JLARTaIONVhWMIRACclekPUkRwulHB2UNI9nUgPnb307py3EEm1pedTiGY3T5Q08tlDZfVXZcBrGv7zL4j59a3njfblM0Wwv5OY6ow7ru+y/2u4xn03X73na9Fv05tY9Lbn+n/I7xYN10zsa6aoOxHR6qE8jiz2XmamsyQg37uPmsTWeqm5cTvlNV1tfjl6MclbW6nbUoGq7nkKvdT6kOBbpAP+dAv46B3uZe26H455L5rGi+SMz3rjugQD/fQI/fOfW+aFd6CYJM/S2XcI95lbFsk6jDIbjkTuoB+BBfrNLmflO1lnLjEUJpdYkdkMbtMNyLXQ308b0FQRyFhqtRQ86+/n1JOmeYT6kOBTpjOKCu4oGmz9nmz5c0cYXWbfAxtsE+ZyaHS9jf+gyCo+WQhwi/dSzvWh0KdC77gBo6xvci/S1pbaziQQ3et8HUF/q0HdHdxVeRHgYqaxV+fQTRaxzB/ui6vFOqQ4HOuR9Qj9+StupgxL6PBxYjc+pGsDdF/uWCD7Fdf4uruA1+AhNved0V3VwdC79fCPFvxxPq1OG4mBT37wZmUtzp5VnG3zb889TnSMMlvnVXl/rG1D4uuf118TvGRYluY/ubtWh/29gGD2dcdzn62j6W9Tk+VnYO5ZpMHQp0xhQW1aMk1+8Csvrz69FIYxv/vJ1aB6TTYKgmX87ftb3j9lc9eTHa9hf7WlXW2Qdl3cdyjqqsU6pDgQ4A/OUeOgAIdABAoAMAAh0AEOgAINABAIEOAAh0AECgA4BABwAEOgAg0AEAgQ4AAh0AEOgAgEAHAAQ6AAh0AECgAwACHQAQ6AAg0AEAgQ4ACHQAQKADgEAHAAQ6ACDQAQCBDgACHQAQ6ACAQAcABDoACHQAQKADAAIdABDoACDQAQCBDgAIdABAoAOAQAcABDoAINABAIEOAAh0ABDoAIBABwAEOgAg0AFAoAMAAh0AEOgAgEAHAIEOAAh0AECgAwACHQAEOgAg0AEAgQ4ACHQAEOgAgEAHAAQ6ACDQAUCgAwACHQAQ6ACAQAcAgQ4ACHQAQKADAAIdAAQ6ACDQAYD+/V+AAQADXuXS75wQpQAAAABJRU5ErkJggg==',\n\t\t};\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const externalToolFactory = ExternalToolFactory.define(ExternalTool, ({ sequence }) => {\n\treturn {\n\t\tname: `external-tool-${sequence}`,\n\t\turl: 'https://url.com/',\n\t\tconfig: basicToolConfigFactory.build(),\n\t\tlogoUrl: 'https://logo.com/',\n\t\tisHidden: false,\n\t\topenNewTab: false,\n\t\tversion: 1,\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Oauth2ToolConfigResponse.html":{"url":"classes/Oauth2ToolConfigResponse.html","title":"class - Oauth2ToolConfigResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Oauth2ToolConfigResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/config/oauth2-tool-config.response.ts\n \n\n\n\n \n Extends\n \n \n ExternalToolConfigResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n baseUrl\n \n \n \n clientId\n \n \n \n Optional\n frontchannelLogoutUri\n \n \n \n Optional\n redirectUris\n \n \n \n Optional\n scope\n \n \n \n skipConsent\n \n \n \n Optional\n tokenEndpointAuthMethod\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: Oauth2ToolConfigResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/oauth2-tool-config.response.ts:28\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n Oauth2ToolConfigResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigResponse\n\n \n \n \n \n Defined in ExternalToolConfigResponse:10\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n clientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/oauth2-tool-config.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n frontchannelLogoutUri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/oauth2-tool-config.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n redirectUris\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/oauth2-tool-config.response.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n scope\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/oauth2-tool-config.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n skipConsent\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/oauth2-tool-config.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n tokenEndpointAuthMethod\n \n \n \n \n \n \n Type : TokenEndpointAuthMethod\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/config/oauth2-tool-config.response.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigResponse\n\n \n \n \n \n Defined in ExternalToolConfigResponse:7\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { ExternalToolConfigResponse } from './external-tool-config.response';\nimport { TokenEndpointAuthMethod, ToolConfigType } from '../../../../../common/enum';\n\nexport class Oauth2ToolConfigResponse extends ExternalToolConfigResponse {\n\t@ApiProperty()\n\ttype: ToolConfigType;\n\n\t@ApiProperty()\n\tbaseUrl: string;\n\n\t@ApiProperty()\n\tclientId: string;\n\n\t@ApiProperty()\n\tskipConsent: boolean;\n\n\t@ApiPropertyOptional()\n\tfrontchannelLogoutUri?: string;\n\n\t@ApiPropertyOptional()\n\tscope?: string;\n\n\t@ApiPropertyOptional()\n\tredirectUris?: string[];\n\n\t@ApiPropertyOptional()\n\ttokenEndpointAuthMethod?: TokenEndpointAuthMethod;\n\n\tconstructor(props: Oauth2ToolConfigResponse) {\n\t\tsuper();\n\t\tthis.type = ToolConfigType.OAUTH2;\n\t\tthis.baseUrl = props.baseUrl;\n\t\tthis.clientId = props.clientId;\n\t\tthis.skipConsent = props.skipConsent;\n\t\tthis.frontchannelLogoutUri = props.frontchannelLogoutUri;\n\t\tthis.scope = props.scope;\n\t\tthis.redirectUris = props.redirectUris;\n\t\tthis.tokenEndpointAuthMethod = props.tokenEndpointAuthMethod;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Oauth2ToolConfigUpdateParams.html":{"url":"classes/Oauth2ToolConfigUpdateParams.html","title":"class - Oauth2ToolConfigUpdateParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Oauth2ToolConfigUpdateParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-update.params.ts\n \n\n\n\n \n Extends\n \n \n ExternalToolConfigCreateParams\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n clientId\n \n \n \n \n \n Optional\n clientSecret\n \n \n \n \n \n Optional\n frontchannelLogoutUri\n \n \n \n \n redirectUris\n \n \n \n \n \n Optional\n scope\n \n \n \n \n skipConsent\n \n \n \n \n tokenEndpointAuthMethod\n \n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigCreateParams\n\n \n \n \n \n Defined in ExternalToolConfigCreateParams:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n clientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-update.params.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n clientSecret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-update.params.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n frontchannelLogoutUri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-update.params.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n redirectUris\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-update.params.ts:40\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n scope\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-update.params.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n skipConsent\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-update.params.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n tokenEndpointAuthMethod\n \n \n \n \n \n \n Type : TokenEndpointAuthMethod\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(TokenEndpointAuthMethod)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/config/oauth2-tool-config-update.params.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolConfigType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ToolConfigType)@ApiProperty()\n \n \n \n \n \n Inherited from ExternalToolConfigCreateParams\n\n \n \n \n \n Defined in ExternalToolConfigCreateParams:9\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsArray, IsBoolean, IsEnum, IsOptional, IsString } from 'class-validator';\nimport { TokenEndpointAuthMethod, ToolConfigType } from '../../../../../common/enum';\nimport { ExternalToolConfigCreateParams } from './external-tool-config.params';\n\nexport class Oauth2ToolConfigUpdateParams extends ExternalToolConfigCreateParams {\n\t@IsEnum(ToolConfigType)\n\t@ApiProperty()\n\ttype!: ToolConfigType;\n\n\t@IsString()\n\t@ApiProperty()\n\tbaseUrl!: string;\n\n\t@IsString()\n\t@ApiProperty()\n\tclientId!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tclientSecret?: string;\n\n\t@IsBoolean()\n\t@ApiProperty()\n\tskipConsent!: boolean;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tfrontchannelLogoutUri?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tscope?: string;\n\n\t@IsArray()\n\t@ApiProperty()\n\tredirectUris!: string[];\n\n\t@IsEnum(TokenEndpointAuthMethod)\n\t@ApiProperty()\n\ttokenEndpointAuthMethod!: TokenEndpointAuthMethod;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OauthAdapterService.html":{"url":"injectables/OauthAdapterService.html","title":"injectable - OauthAdapterService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OauthAdapterService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/service/oauth-adapter.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getPublicKey\n \n \n Private\n Async\n resolveTokenRequest\n \n \n Public\n sendAuthenticationCodeTokenRequest\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(httpService: HttpService)\n \n \n \n \n Defined in apps/server/src/modules/oauth/service/oauth-adapter.service.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n httpService\n \n \n HttpService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getPublicKey\n \n \n \n \n \n \n \n getPublicKey(jwksUri: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth-adapter.service.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n jwksUri\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n resolveTokenRequest\n \n \n \n \n \n \n \n resolveTokenRequest(observable: Observable>)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth-adapter.service.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n observable\n \n Observable>\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n sendAuthenticationCodeTokenRequest\n \n \n \n \n \n \n \n sendAuthenticationCodeTokenRequest(tokenEndpoint: string, payload: AuthenticationCodeGrantTokenRequest)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/service/oauth-adapter.service.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n tokenEndpoint\n \n string\n \n\n \n No\n \n\n\n \n \n payload\n \n AuthenticationCodeGrantTokenRequest\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { HttpService } from '@nestjs/axios';\nimport { Injectable } from '@nestjs/common/decorators';\nimport { AxiosResponse, isAxiosError } from 'axios';\nimport JwksRsa from 'jwks-rsa';\nimport QueryString from 'qs';\nimport { lastValueFrom, Observable } from 'rxjs';\nimport { TokenRequestLoggableException } from '../loggable';\nimport { AuthenticationCodeGrantTokenRequest, OauthTokenResponse } from './dto';\n\n@Injectable()\nexport class OauthAdapterService {\n\tconstructor(private readonly httpService: HttpService) {}\n\n\tasync getPublicKey(jwksUri: string): Promise {\n\t\tconst client: JwksRsa.JwksClient = JwksRsa({\n\t\t\tcache: true,\n\t\t\tjwksUri,\n\t\t});\n\t\tconst key: JwksRsa.SigningKey = await client.getSigningKey();\n\t\treturn key.getPublicKey();\n\t}\n\n\tpublic sendAuthenticationCodeTokenRequest(\n\t\ttokenEndpoint: string,\n\t\tpayload: AuthenticationCodeGrantTokenRequest\n\t): Promise {\n\t\tconst urlEncodedPayload: string = QueryString.stringify(payload);\n\t\tconst responseTokenObservable = this.httpService.post(tokenEndpoint, urlEncodedPayload, {\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/x-www-form-urlencoded',\n\t\t\t},\n\t\t});\n\t\tconst responseData: Promise = this.resolveTokenRequest(responseTokenObservable);\n\t\treturn responseData;\n\t}\n\n\tprivate async resolveTokenRequest(\n\t\tobservable: Observable>\n\t): Promise {\n\t\tlet responseToken: AxiosResponse;\n\t\ttry {\n\t\t\tresponseToken = await lastValueFrom(observable);\n\t\t} catch (error: unknown) {\n\t\t\tif (isAxiosError(error)) {\n\t\t\t\tthrow new TokenRequestLoggableException(error);\n\t\t\t}\n\t\t\tthrow error;\n\t\t}\n\n\t\treturn responseToken.data;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/OauthApiModule.html":{"url":"modules/OauthApiModule.html","title":"module - OauthApiModule","body":"\n \n\n\n\n\n Modules\n OauthApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_OauthApiModule\n\n\n\ncluster_OauthApiModule_providers\n\n\n\ncluster_OauthApiModule_imports\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nOauthApiModule\n\nOauthApiModule\n\nOauthApiModule -->\n\nLoggerModule->OauthApiModule\n\n\n\n\n\nOauthModule\n\nOauthModule\n\nOauthApiModule -->\n\nOauthModule->OauthApiModule\n\n\n\n\n\nHydraOauthUc\n\nHydraOauthUc\n\nOauthApiModule -->\n\nHydraOauthUc->OauthApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/oauth/oauth-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n HydraOauthUc\n \n \n \n \n Controllers\n \n \n OauthSSOController\n \n \n \n \n Imports\n \n \n LoggerModule\n \n \n OauthModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { OauthSSOController } from './controller/oauth-sso.controller';\nimport { OauthModule } from './oauth.module';\nimport { HydraOauthUc } from './uc';\n\n@Module({\n\timports: [OauthModule, LoggerModule],\n\tcontrollers: [OauthSSOController],\n\tproviders: [HydraOauthUc],\n})\nexport class OauthApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthClientBody.html":{"url":"classes/OauthClientBody.html","title":"class - OauthClientBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthClientBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/request/oauth-client.body.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n client_id\n \n \n \n \n \n Optional\n client_name\n \n \n \n \n \n Optional\n client_secret\n \n \n \n \n \n Optional\n frontchannel_logout_uri\n \n \n \n \n \n \n Optional\n grant_types\n \n \n \n \n \n \n Optional\n redirect_uris\n \n \n \n \n \n \n Optional\n response_types\n \n \n \n \n \n Optional\n scope\n \n \n \n \n \n Optional\n subject_type\n \n \n \n \n \n Optional\n token_endpoint_auth_method\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n client_id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'The Oauth2 client id.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-client.body.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n client_name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'The Oauth2 client name.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-client.body.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n client_secret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'The Oauth2 client secret.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-client.body.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n frontchannel_logout_uri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'Thr frontchannel logout uri.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-client.body.ts:65\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n grant_types\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@IsOptional()@IsString({each: true})@ApiProperty({description: 'The grant types of the Oauth2 client.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-client.body.ts:71\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n redirect_uris\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@IsOptional()@IsString({each: true})@ApiProperty({description: 'The allowed redirect urls of the Oauth2 client.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-client.body.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n response_types\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@IsOptional()@IsString({each: true})@ApiProperty({description: 'The response types of the Oauth2 client.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-client.body.ts:77\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n scope\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'Scope is a string containing a space-separated list of scope values (as described in Section 3.3 of OAuth 2.0 [RFC6749]) that the client can use when requesting access tokens.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-client.body.ts:56\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n subject_type\n \n \n \n \n \n \n Type : SubjectTypeEnum\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(SubjectTypeEnum)@IsOptional()@ApiProperty({description: 'SubjectType requested for responses to this Client. The subject_types_supported Discovery parameter contains a list of the supported subject_type values for this server. Valid types include pairwise and public.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-client.body.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n token_endpoint_auth_method\n \n \n \n \n \n \n Type : TokenAuthMethod\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(TokenAuthMethod)@IsOptional()@ApiProperty({description: 'Requested Client Authentication method for the Token Endpoint. The options are client_secret_post, client_secret_basic, private_key_jwt, and none.', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/oauth-client.body.ts:36\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsArray, IsEnum, IsOptional, IsString } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { SubjectTypeEnum } from '@modules/oauth-provider/interface/subject-type.enum';\nimport { TokenAuthMethod } from '@modules/oauth-provider/interface/token-auth-method.enum';\n\nexport class OauthClientBody {\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({ description: 'The Oauth2 client id.', required: false, nullable: false })\n\tclient_id?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({ description: 'The Oauth2 client name.', required: false, nullable: false })\n\tclient_name?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({ description: 'The Oauth2 client secret.', required: false, nullable: false })\n\tclient_secret?: string;\n\n\t@IsArray()\n\t@IsOptional()\n\t@IsString({ each: true })\n\t@ApiProperty({ description: 'The allowed redirect urls of the Oauth2 client.', required: false, nullable: false })\n\tredirect_uris?: string[];\n\n\t@IsEnum(TokenAuthMethod)\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'Requested Client Authentication method for the Token Endpoint. The options are client_secret_post, client_secret_basic, private_key_jwt, and none.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\ttoken_endpoint_auth_method?: TokenAuthMethod;\n\n\t@IsEnum(SubjectTypeEnum)\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'SubjectType requested for responses to this Client. The subject_types_supported Discovery parameter contains a list of the supported subject_type values for this server. Valid types include pairwise and public.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\tsubject_type?: SubjectTypeEnum;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'Scope is a string containing a space-separated list of scope values (as described in Section 3.3 of OAuth 2.0 [RFC6749]) that the client can use when requesting access tokens.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\tscope?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'Thr frontchannel logout uri.',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\tfrontchannel_logout_uri?: string;\n\n\t@IsArray()\n\t@IsOptional()\n\t@IsString({ each: true })\n\t@ApiProperty({ description: 'The grant types of the Oauth2 client.', required: false, nullable: false })\n\tgrant_types?: string[];\n\n\t@IsArray()\n\t@IsOptional()\n\t@IsString({ each: true })\n\t@ApiProperty({ description: 'The response types of the Oauth2 client.', required: false, nullable: false })\n\tresponse_types?: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthConfig.html":{"url":"classes/OauthConfig.html","title":"class - OauthConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/domain/oauth-config.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n authEndpoint\n \n \n clientId\n \n \n clientSecret\n \n \n grantType\n \n \n Optional\n idpHint\n \n \n issuer\n \n \n jwksEndpoint\n \n \n Optional\n logoutEndpoint\n \n \n provider\n \n \n redirectUri\n \n \n responseType\n \n \n scope\n \n \n tokenEndpoint\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthConfigDto: OauthConfig)\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:29\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthConfigDto\n \n \n OauthConfig\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n authEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n clientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n clientSecret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n grantType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n idpHint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n issuer\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n jwksEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n logoutEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:25\n \n \n\n \n \n If this is set it will be used to redirect the user after login to the logout endpoint of the identity provider.\n\n \n \n\n \n \n \n \n \n \n \n \n provider\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n redirectUri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n responseType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n scope\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n tokenEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/domain/oauth-config.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class OauthConfig {\n\tclientId: string;\n\n\tclientSecret: string;\n\n\tidpHint?: string;\n\n\tredirectUri: string;\n\n\tgrantType: string;\n\n\ttokenEndpoint: string;\n\n\tauthEndpoint: string;\n\n\tresponseType: string;\n\n\tscope: string;\n\n\tprovider: string;\n\n\t/**\n\t * If this is set it will be used to redirect the user after login to the logout endpoint of the identity provider.\n\t */\n\tlogoutEndpoint?: string;\n\n\tissuer: string;\n\n\tjwksEndpoint: string;\n\n\tconstructor(oauthConfigDto: OauthConfig) {\n\t\tthis.clientId = oauthConfigDto.clientId;\n\t\tthis.clientSecret = oauthConfigDto.clientSecret;\n\t\tthis.idpHint = oauthConfigDto.idpHint;\n\t\tthis.redirectUri = oauthConfigDto.redirectUri;\n\t\tthis.grantType = oauthConfigDto.grantType;\n\t\tthis.tokenEndpoint = oauthConfigDto.tokenEndpoint;\n\t\tthis.authEndpoint = oauthConfigDto.authEndpoint;\n\t\tthis.responseType = oauthConfigDto.responseType;\n\t\tthis.scope = oauthConfigDto.scope;\n\t\tthis.provider = oauthConfigDto.provider;\n\t\tthis.logoutEndpoint = oauthConfigDto.logoutEndpoint;\n\t\tthis.issuer = oauthConfigDto.issuer;\n\t\tthis.jwksEndpoint = oauthConfigDto.jwksEndpoint;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthConfigDto.html":{"url":"classes/OauthConfigDto.html","title":"class - OauthConfigDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthConfigDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/service/dto/oauth-config.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n authEndpoint\n \n \n clientId\n \n \n clientSecret\n \n \n grantType\n \n \n Optional\n idpHint\n \n \n issuer\n \n \n jwksEndpoint\n \n \n Optional\n logoutEndpoint\n \n \n provider\n \n \n redirectUri\n \n \n responseType\n \n \n scope\n \n \n tokenEndpoint\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthConfigDto: OauthConfigDto)\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:29\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthConfigDto\n \n \n OauthConfigDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n authEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n clientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n clientSecret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n grantType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n idpHint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n issuer\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n jwksEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n logoutEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:25\n \n \n\n \n \n If this is set it will be used to redirect the user after login to the logout endpoint of the identity provider.\n\n \n \n\n \n \n \n \n \n \n \n \n provider\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n redirectUri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n responseType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n scope\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n tokenEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oauth-config.dto.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class OauthConfigDto {\n\tclientId: string;\n\n\tclientSecret: string;\n\n\tidpHint?: string;\n\n\tredirectUri: string;\n\n\tgrantType: string;\n\n\ttokenEndpoint: string;\n\n\tauthEndpoint: string;\n\n\tresponseType: string;\n\n\tscope: string;\n\n\tprovider: string;\n\n\t/**\n\t * If this is set it will be used to redirect the user after login to the logout endpoint of the identity provider.\n\t */\n\tlogoutEndpoint?: string;\n\n\tissuer: string;\n\n\tjwksEndpoint: string;\n\n\tconstructor(oauthConfigDto: OauthConfigDto) {\n\t\tthis.clientId = oauthConfigDto.clientId;\n\t\tthis.clientSecret = oauthConfigDto.clientSecret;\n\t\tthis.idpHint = oauthConfigDto.idpHint;\n\t\tthis.redirectUri = oauthConfigDto.redirectUri;\n\t\tthis.grantType = oauthConfigDto.grantType;\n\t\tthis.tokenEndpoint = oauthConfigDto.tokenEndpoint;\n\t\tthis.authEndpoint = oauthConfigDto.authEndpoint;\n\t\tthis.responseType = oauthConfigDto.responseType;\n\t\tthis.scope = oauthConfigDto.scope;\n\t\tthis.provider = oauthConfigDto.provider;\n\t\tthis.logoutEndpoint = oauthConfigDto.logoutEndpoint;\n\t\tthis.issuer = oauthConfigDto.issuer;\n\t\tthis.jwksEndpoint = oauthConfigDto.jwksEndpoint;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthConfigEntity.html":{"url":"classes/OauthConfigEntity.html","title":"class - OauthConfigEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthConfigEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/system.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n authEndpoint\n \n \n \n clientId\n \n \n \n clientSecret\n \n \n \n grantType\n \n \n \n Optional\n idpHint\n \n \n \n issuer\n \n \n \n jwksEndpoint\n \n \n \n Optional\n logoutEndpoint\n \n \n \n provider\n \n \n \n redirectUri\n \n \n \n responseType\n \n \n \n scope\n \n \n \n tokenEndpoint\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthConfig: OauthConfigEntity)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthConfig\n \n \n OauthConfigEntity\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n authEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n \n clientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n clientSecret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n \n grantType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:48\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n idpHint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n \n issuer\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:69\n \n \n\n\n \n \n \n \n \n \n \n \n \n jwksEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:72\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n logoutEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:66\n \n \n\n\n \n \n \n \n \n \n \n \n \n provider\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:63\n \n \n\n\n \n \n \n \n \n \n \n \n \n redirectUri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:45\n \n \n\n\n \n \n \n \n \n \n \n \n \n responseType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:57\n \n \n\n\n \n \n \n \n \n \n \n \n \n scope\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:60\n \n \n\n\n \n \n \n \n \n \n \n \n \n tokenEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:51\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Embedded, Entity, Enum, Property } from '@mikro-orm/core';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface SystemEntityProps {\n\ttype: string;\n\turl?: string;\n\talias?: string;\n\tdisplayName?: string;\n\toauthConfig?: OauthConfigEntity;\n\toidcConfig?: OidcConfigEntity;\n\tldapConfig?: LdapConfigEntity;\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\tprovisioningUrl?: string;\n}\n\nexport class OauthConfigEntity {\n\tconstructor(oauthConfig: OauthConfigEntity) {\n\t\tthis.clientId = oauthConfig.clientId;\n\t\tthis.clientSecret = oauthConfig.clientSecret;\n\t\tthis.idpHint = oauthConfig.idpHint;\n\t\tthis.tokenEndpoint = oauthConfig.tokenEndpoint;\n\t\tthis.grantType = oauthConfig.grantType;\n\t\tthis.redirectUri = oauthConfig.redirectUri;\n\t\tthis.scope = oauthConfig.scope;\n\t\tthis.responseType = oauthConfig.responseType;\n\t\tthis.authEndpoint = oauthConfig.authEndpoint;\n\t\tthis.provider = oauthConfig.provider;\n\t\tthis.logoutEndpoint = oauthConfig.logoutEndpoint;\n\t\tthis.issuer = oauthConfig.issuer;\n\t\tthis.jwksEndpoint = oauthConfig.jwksEndpoint;\n\t}\n\n\t@Property()\n\tclientId: string;\n\n\t@Property()\n\tclientSecret: string;\n\n\t@Property({ nullable: true })\n\tidpHint?: string;\n\n\t@Property()\n\tredirectUri: string;\n\n\t@Property()\n\tgrantType: string;\n\n\t@Property()\n\ttokenEndpoint: string;\n\n\t@Property()\n\tauthEndpoint: string;\n\n\t@Property()\n\tresponseType: string;\n\n\t@Property()\n\tscope: string;\n\n\t@Property()\n\tprovider: string;\n\n\t@Property({ nullable: true })\n\tlogoutEndpoint?: string;\n\n\t@Property()\n\tissuer: string;\n\n\t@Property()\n\tjwksEndpoint: string;\n}\n\n@Embeddable()\nexport class LdapConfigEntity {\n\tconstructor(ldapConfig: Readonly) {\n\t\tthis.active = ldapConfig.active;\n\t\tthis.federalState = ldapConfig.federalState;\n\t\tthis.lastSyncAttempt = ldapConfig.lastSyncAttempt;\n\t\tthis.lastSuccessfulFullSync = ldapConfig.lastSuccessfulFullSync;\n\t\tthis.lastSuccessfulPartialSync = ldapConfig.lastSuccessfulPartialSync;\n\t\tthis.lastModifyTimestamp = ldapConfig.lastModifyTimestamp;\n\t\tthis.url = ldapConfig.url;\n\t\tthis.rootPath = ldapConfig.rootPath;\n\t\tthis.searchUser = ldapConfig.searchUser;\n\t\tthis.searchUserPassword = ldapConfig.searchUserPassword;\n\t\tthis.provider = ldapConfig.provider;\n\t\tthis.providerOptions = ldapConfig.providerOptions;\n\t}\n\n\t@Property({ nullable: true })\n\tactive?: boolean;\n\n\t@Property({ nullable: true })\n\tfederalState?: EntityId;\n\n\t@Property({ nullable: true })\n\tlastSyncAttempt?: Date;\n\n\t@Property({ nullable: true })\n\tlastSuccessfulFullSync?: Date;\n\n\t@Property({ nullable: true })\n\tlastSuccessfulPartialSync?: Date;\n\n\t@Property({ nullable: true })\n\tlastModifyTimestamp?: string;\n\n\t@Property()\n\turl: string;\n\n\t@Property({ nullable: true })\n\trootPath?: string;\n\n\t@Property({ nullable: true })\n\tsearchUser?: string;\n\n\t@Property({ nullable: true })\n\tsearchUserPassword?: string;\n\n\t@Property({ nullable: true })\n\tprovider?: string;\n\n\t@Property({ nullable: true })\n\tproviderOptions?: {\n\t\tschoolName?: string;\n\t\tuserPathAdditions?: string;\n\t\tclassPathAdditions?: string;\n\t\troleType?: string;\n\t\tuserAttributeNameMapping?: {\n\t\t\tgivenName?: string;\n\t\t\tsn?: string;\n\t\t\tdn?: string;\n\t\t\tuuid?: string;\n\t\t\tuid?: string;\n\t\t\tmail?: string;\n\t\t\trole?: string;\n\t\t};\n\t\troleAttributeNameMapping?: {\n\t\t\troleStudent?: string;\n\t\t\troleTeacher?: string;\n\t\t\troleAdmin?: string;\n\t\t\troleNoSc?: string;\n\t\t};\n\t\tclassAttributeNameMapping?: {\n\t\t\tdescription?: string;\n\t\t\tdn?: string;\n\t\t\tuniqueMember?: string;\n\t\t};\n\t};\n}\nexport class OidcConfigEntity {\n\tconstructor(oidcConfig: OidcConfigEntity) {\n\t\tthis.clientId = oidcConfig.clientId;\n\t\tthis.clientSecret = oidcConfig.clientSecret;\n\t\tthis.idpHint = oidcConfig.idpHint;\n\t\tthis.authorizationUrl = oidcConfig.authorizationUrl;\n\t\tthis.tokenUrl = oidcConfig.tokenUrl;\n\t\tthis.logoutUrl = oidcConfig.logoutUrl;\n\t\tthis.userinfoUrl = oidcConfig.userinfoUrl;\n\t\tthis.defaultScopes = oidcConfig.defaultScopes;\n\t}\n\n\t@Property()\n\tclientId: string;\n\n\t@Property()\n\tclientSecret: string;\n\n\t@Property()\n\tidpHint: string;\n\n\t@Property()\n\tauthorizationUrl: string;\n\n\t@Property()\n\ttokenUrl: string;\n\n\t@Property()\n\tlogoutUrl: string;\n\n\t@Property()\n\tuserinfoUrl: string;\n\n\t@Property()\n\tdefaultScopes: string;\n}\n\n@Entity({ tableName: 'systems' })\nexport class SystemEntity extends BaseEntityWithTimestamps {\n\tconstructor(props: SystemEntityProps) {\n\t\tsuper();\n\t\tthis.type = props.type;\n\t\tthis.url = props.url;\n\t\tthis.alias = props.alias;\n\t\tthis.displayName = props.displayName;\n\t\tthis.oauthConfig = props.oauthConfig;\n\t\tthis.oidcConfig = props.oidcConfig;\n\t\tthis.ldapConfig = props.ldapConfig;\n\t\tthis.provisioningStrategy = props.provisioningStrategy;\n\t\tthis.provisioningUrl = props.provisioningUrl;\n\t}\n\n\t@Property({ nullable: false })\n\ttype: string; // see legacy enum for valid values\n\n\t@Property({ nullable: true })\n\turl?: string;\n\n\t@Property({ nullable: true })\n\talias?: string;\n\n\t@Property({ nullable: true })\n\tdisplayName?: string;\n\n\t@Property({ nullable: true })\n\toauthConfig?: OauthConfigEntity;\n\n\t@Property({ nullable: true })\n\t@Enum()\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\n\t@Property({ nullable: true })\n\toidcConfig?: OidcConfigEntity;\n\n\t@Embedded({ entity: () => LdapConfigEntity, object: true, nullable: true })\n\tldapConfig?: LdapConfigEntity;\n\n\t@Property({ nullable: true })\n\tprovisioningUrl?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthConfigMissingLoggableException.html":{"url":"classes/OauthConfigMissingLoggableException.html","title":"class - OauthConfigMissingLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthConfigMissingLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/loggable/oauth-config-missing-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n OauthSsoErrorLoggableException\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(systemId: string)\n \n \n \n \n Defined in apps/server/src/modules/oauth/loggable/oauth-config-missing-loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemId\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \n \n getLogMessage()\n \n \n\n\n \n \n Inherited from OauthSsoErrorLoggableException\n\n \n \n \n \n Defined in OauthSsoErrorLoggableException:9\n\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { OauthSsoErrorLoggableException } from './oauth-sso-error-loggable-exception';\n\nexport class OauthConfigMissingLoggableException extends OauthSsoErrorLoggableException {\n\tconstructor(private readonly systemId: string) {\n\t\tsuper();\n\t}\n\n\toverride getLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'SSO_INTERNAL_ERROR',\n\t\t\tmessage: 'Requested system has no oauth configured',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tsystemId: this.systemId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthConfigResponse.html":{"url":"classes/OauthConfigResponse.html","title":"class - OauthConfigResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthConfigResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/controller/dto/oauth-config.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n authEndpoint\n \n \n \n clientId\n \n \n \n grantType\n \n \n \n Optional\n idpHint\n \n \n \n issuer\n \n \n \n jwksEndpoint\n \n \n \n Optional\n logoutEndpoint\n \n \n \n provider\n \n \n \n redirectUri\n \n \n \n responseType\n \n \n \n scope\n \n \n \n tokenEndpoint\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthConfigResponse: literal type)\n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:86\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthConfigResponse\n \n \n literal type\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n authEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Auth endpoint', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n \n clientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Client id', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n \n grantType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Grant type', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n idpHint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Hint for idp redirects (optional)', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n issuer\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Issuer', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:79\n \n \n\n\n \n \n \n \n \n \n \n \n \n jwksEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Jwks endpoint', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:86\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n logoutEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Logout endpoint', required: false, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:72\n \n \n\n\n \n \n \n \n \n \n \n \n \n provider\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Provider', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:65\n \n \n\n\n \n \n \n \n \n \n \n \n \n redirectUri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Redirect uri', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n responseType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Response type', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:51\n \n \n\n\n \n \n \n \n \n \n \n \n \n scope\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Scope', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n \n tokenEndpoint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Token endpoint', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/oauth-config.response.ts:37\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class OauthConfigResponse {\n\t@ApiProperty({\n\t\tdescription: 'Client id',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tclientId: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Hint for idp redirects (optional)',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\tidpHint?: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Redirect uri',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tredirectUri: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Grant type',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tgrantType: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Token endpoint',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\ttokenEndpoint: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Auth endpoint',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tauthEndpoint: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Response type',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tresponseType: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Scope',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tscope: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Provider',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tprovider: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Logout endpoint',\n\t\trequired: false,\n\t\tnullable: false,\n\t})\n\tlogoutEndpoint?: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Issuer',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tissuer: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Jwks endpoint',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tjwksEndpoint: string;\n\n\tconstructor(oauthConfigResponse: {\n\t\tredirectUri: string;\n\t\tidpHint?: string;\n\t\ttokenEndpoint: string;\n\t\tresponseType: string;\n\t\tclientId: string;\n\t\tprovider: string;\n\t\tjwksEndpoint: string;\n\t\tauthEndpoint: string;\n\t\tscope: string;\n\t\tlogoutEndpoint?: string;\n\t\tgrantType: string;\n\t\tissuer: string;\n\t}) {\n\t\tthis.clientId = oauthConfigResponse.clientId;\n\t\tthis.idpHint = oauthConfigResponse.idpHint;\n\t\tthis.redirectUri = oauthConfigResponse.redirectUri;\n\t\tthis.grantType = oauthConfigResponse.grantType;\n\t\tthis.tokenEndpoint = oauthConfigResponse.tokenEndpoint;\n\t\tthis.authEndpoint = oauthConfigResponse.authEndpoint;\n\t\tthis.responseType = oauthConfigResponse.responseType;\n\t\tthis.scope = oauthConfigResponse.scope;\n\t\tthis.provider = oauthConfigResponse.provider;\n\t\tthis.logoutEndpoint = oauthConfigResponse.logoutEndpoint;\n\t\tthis.issuer = oauthConfigResponse.issuer;\n\t\tthis.jwksEndpoint = oauthConfigResponse.jwksEndpoint;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/OauthCurrentUser.html":{"url":"interfaces/OauthCurrentUser.html","title":"interface - OauthCurrentUser","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n OauthCurrentUser\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/interface/oauth-current-user.ts\n \n\n\n\n \n Extends\n \n \n ICurrentUser\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n externalIdToken\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n externalIdToken\n \n \n \n \n \n \n \n \n externalIdToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n Contains the idToken of the external idp. Will be set during oAuth2 login and used for rp initiated logout\n\n \n \n \n \n \n \n\n\n \n import { ICurrentUser } from './user';\n\nexport interface OauthCurrentUser extends ICurrentUser {\n\t/** Contains the idToken of the external idp. Will be set during oAuth2 login and used for rp initiated logout */\n\texternalIdToken?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthDataDto.html":{"url":"classes/OauthDataDto.html","title":"class - OauthDataDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthDataDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/dto/oauth-data.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n externalGroups\n \n \n Optional\n externalSchool\n \n \n externalUser\n \n \n system\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: OauthDataDto)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/oauth-data.dto.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n OauthDataDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n externalGroups\n \n \n \n \n \n \n Type : ExternalGroupDto[]\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/oauth-data.dto.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n externalSchool\n \n \n \n \n \n \n Type : ExternalSchoolDto\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/oauth-data.dto.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n externalUser\n \n \n \n \n \n \n Type : ExternalUserDto\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/oauth-data.dto.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n system\n \n \n \n \n \n \n Type : ProvisioningSystemDto\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/oauth-data.dto.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ExternalUserDto } from './external-user.dto';\nimport { ExternalSchoolDto } from './external-school.dto';\nimport { ProvisioningSystemDto } from './provisioning-system.dto';\nimport { ExternalGroupDto } from './external-group.dto';\n\nexport class OauthDataDto {\n\tsystem: ProvisioningSystemDto;\n\n\texternalUser: ExternalUserDto;\n\n\texternalSchool?: ExternalSchoolDto;\n\n\texternalGroups?: ExternalGroupDto[];\n\n\tconstructor(props: OauthDataDto) {\n\t\tthis.system = props.system;\n\t\tthis.externalUser = props.externalUser;\n\t\tthis.externalSchool = props.externalSchool;\n\t\tthis.externalGroups = props.externalGroups;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthDataStrategyInputDto.html":{"url":"classes/OauthDataStrategyInputDto.html","title":"class - OauthDataStrategyInputDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthDataStrategyInputDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/dto/oauth-data-strategy-input.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n accessToken\n \n \n idToken\n \n \n system\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: OauthDataStrategyInputDto)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/oauth-data-strategy-input.dto.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n OauthDataStrategyInputDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n accessToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/oauth-data-strategy-input.dto.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n idToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/oauth-data-strategy-input.dto.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n system\n \n \n \n \n \n \n Type : ProvisioningSystemDto\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/oauth-data-strategy-input.dto.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ProvisioningSystemDto } from './provisioning-system.dto';\n\nexport class OauthDataStrategyInputDto {\n\taccessToken: string;\n\n\tidToken: string;\n\n\tsystem: ProvisioningSystemDto;\n\n\tconstructor(props: OauthDataStrategyInputDto) {\n\t\tthis.accessToken = props.accessToken;\n\t\tthis.idToken = props.idToken;\n\t\tthis.system = props.system;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthLoginResponse.html":{"url":"classes/OauthLoginResponse.html","title":"class - OauthLoginResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthLoginResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/controllers/dto/oauth-login.response.ts\n \n\n\n\n \n Extends\n \n \n LoginResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n externalIdToken\n \n \n \n accessToken\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: OauthLoginResponse)\n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/oauth-login.response.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n OauthLoginResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n externalIdToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The external id token which is from the external oauth system and set when scope openid is available.'})\n \n \n \n \n \n Defined in apps/server/src/modules/authentication/controllers/dto/oauth-login.response.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n \n accessToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Inherited from LoginResponse\n\n \n \n \n \n Defined in LoginResponse:5\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { LoginResponse } from './login.response';\n\nexport class OauthLoginResponse extends LoginResponse {\n\t@ApiPropertyOptional({\n\t\tdescription:\n\t\t\t'The external id token which is from the external oauth system and set when scope openid is available.',\n\t})\n\texternalIdToken?: string;\n\n\tconstructor(props: OauthLoginResponse) {\n\t\tsuper(props);\n\t\tthis.externalIdToken = props.externalIdToken;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/OauthModule.html":{"url":"modules/OauthModule.html","title":"module - OauthModule","body":"\n \n\n\n\n\n Modules\n OauthModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_OauthModule\n\n\n\ncluster_OauthModule_providers\n\n\n\ncluster_OauthModule_imports\n\n\n\ncluster_OauthModule_exports\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nOauthModule\n\nOauthModule\n\nOauthModule -->\n\nAuthorizationModule->OauthModule\n\n\n\n\n\nCacheWrapperModule\n\nCacheWrapperModule\n\nOauthModule -->\n\nCacheWrapperModule->OauthModule\n\n\n\n\n\nEncryptionModule\n\nEncryptionModule\n\nOauthModule -->\n\nEncryptionModule->OauthModule\n\n\n\n\n\nLegacySchoolModule\n\nLegacySchoolModule\n\nOauthModule -->\n\nLegacySchoolModule->OauthModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nOauthModule -->\n\nLoggerModule->OauthModule\n\n\n\n\n\nProvisioningModule\n\nProvisioningModule\n\nOauthModule -->\n\nProvisioningModule->OauthModule\n\n\n\n\n\nSystemModule\n\nSystemModule\n\nOauthModule -->\n\nSystemModule->OauthModule\n\n\n\n\n\nUserLoginMigrationModule\n\nUserLoginMigrationModule\n\nOauthModule -->\n\nUserLoginMigrationModule->OauthModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nOauthModule -->\n\nUserModule->OauthModule\n\n\n\n\n\nHydraSsoService \n\nHydraSsoService \n\nHydraSsoService -->\n\nOauthModule->HydraSsoService \n\n\n\n\n\nOAuthService \n\nOAuthService \n\nOAuthService -->\n\nOauthModule->OAuthService \n\n\n\n\n\nHydraSsoService\n\nHydraSsoService\n\nOauthModule -->\n\nHydraSsoService->OauthModule\n\n\n\n\n\nLtiToolRepo\n\nLtiToolRepo\n\nOauthModule -->\n\nLtiToolRepo->OauthModule\n\n\n\n\n\nOAuthService\n\nOAuthService\n\nOauthModule -->\n\nOAuthService->OauthModule\n\n\n\n\n\nOauthAdapterService\n\nOauthAdapterService\n\nOauthModule -->\n\nOauthAdapterService->OauthModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/oauth/oauth.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n HydraSsoService\n \n \n LtiToolRepo\n \n \n OAuthService\n \n \n OauthAdapterService\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n CacheWrapperModule\n \n \n EncryptionModule\n \n \n LegacySchoolModule\n \n \n LoggerModule\n \n \n ProvisioningModule\n \n \n SystemModule\n \n \n UserLoginMigrationModule\n \n \n UserModule\n \n \n \n \n Exports\n \n \n HydraSsoService\n \n \n OAuthService\n \n \n \n \n \n\n\n \n\n\n \n import { CacheWrapperModule } from '@infra/cache';\nimport { EncryptionModule } from '@infra/encryption';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { LegacySchoolModule } from '@modules/legacy-school';\nimport { ProvisioningModule } from '@modules/provisioning';\nimport { SystemModule } from '@modules/system';\nimport { UserModule } from '@modules/user';\nimport { UserLoginMigrationModule } from '@modules/user-login-migration';\nimport { HttpModule } from '@nestjs/axios';\nimport { Module } from '@nestjs/common';\nimport { LtiToolRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { HydraSsoService } from './service/hydra.service';\nimport { OauthAdapterService } from './service/oauth-adapter.service';\nimport { OAuthService } from './service/oauth.service';\n\n@Module({\n\timports: [\n\t\tLoggerModule,\n\t\tAuthorizationModule,\n\t\tHttpModule,\n\t\tEncryptionModule,\n\t\tUserModule,\n\t\tProvisioningModule,\n\t\tSystemModule,\n\t\tCacheWrapperModule,\n\t\tUserLoginMigrationModule,\n\t\tLegacySchoolModule,\n\t],\n\tproviders: [OAuthService, OauthAdapterService, HydraSsoService, LtiToolRepo],\n\texports: [OAuthService, HydraSsoService],\n})\nexport class OauthModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/OauthProviderApiModule.html":{"url":"modules/OauthProviderApiModule.html","title":"module - OauthProviderApiModule","body":"\n \n\n\n\n\n Modules\n OauthProviderApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_OauthProviderApiModule\n\n\n\ncluster_OauthProviderApiModule_providers\n\n\n\ncluster_OauthProviderApiModule_imports\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nOauthProviderApiModule\n\nOauthProviderApiModule\n\nOauthProviderApiModule -->\n\nAuthorizationModule->OauthProviderApiModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nOauthProviderApiModule -->\n\nLoggerModule->OauthProviderApiModule\n\n\n\n\n\nOauthProviderModule\n\nOauthProviderModule\n\nOauthProviderApiModule -->\n\nOauthProviderModule->OauthProviderApiModule\n\n\n\n\n\nOauthProviderServiceModule\n\nOauthProviderServiceModule\n\nOauthProviderApiModule -->\n\nOauthProviderServiceModule->OauthProviderApiModule\n\n\n\n\n\nPseudonymModule\n\nPseudonymModule\n\nOauthProviderApiModule -->\n\nPseudonymModule->OauthProviderApiModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nOauthProviderApiModule -->\n\nUserModule->OauthProviderApiModule\n\n\n\n\n\nOauthProviderClientCrudUc\n\nOauthProviderClientCrudUc\n\nOauthProviderApiModule -->\n\nOauthProviderClientCrudUc->OauthProviderApiModule\n\n\n\n\n\nOauthProviderConsentFlowUc\n\nOauthProviderConsentFlowUc\n\nOauthProviderApiModule -->\n\nOauthProviderConsentFlowUc->OauthProviderApiModule\n\n\n\n\n\nOauthProviderLoginFlowUc\n\nOauthProviderLoginFlowUc\n\nOauthProviderApiModule -->\n\nOauthProviderLoginFlowUc->OauthProviderApiModule\n\n\n\n\n\nOauthProviderLogoutFlowUc\n\nOauthProviderLogoutFlowUc\n\nOauthProviderApiModule -->\n\nOauthProviderLogoutFlowUc->OauthProviderApiModule\n\n\n\n\n\nOauthProviderResponseMapper\n\nOauthProviderResponseMapper\n\nOauthProviderApiModule -->\n\nOauthProviderResponseMapper->OauthProviderApiModule\n\n\n\n\n\nOauthProviderUc\n\nOauthProviderUc\n\nOauthProviderApiModule -->\n\nOauthProviderUc->OauthProviderApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/oauth-provider/oauth-provider-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n OauthProviderClientCrudUc\n \n \n OauthProviderConsentFlowUc\n \n \n OauthProviderLoginFlowUc\n \n \n OauthProviderLogoutFlowUc\n \n \n OauthProviderResponseMapper\n \n \n OauthProviderUc\n \n \n \n \n Controllers\n \n \n OauthProviderController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n LoggerModule\n \n \n OauthProviderModule\n \n \n OauthProviderServiceModule\n \n \n PseudonymModule\n \n \n UserModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { OauthProviderServiceModule } from '@infra/oauth-provider';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { PseudonymModule } from '@modules/pseudonym';\nimport { UserModule } from '@modules/user';\nimport { OauthProviderController } from './controller/oauth-provider.controller';\nimport { OauthProviderResponseMapper } from './mapper/oauth-provider-response.mapper';\nimport { OauthProviderModule } from './oauth-provider.module';\nimport {\n\tOauthProviderClientCrudUc,\n\tOauthProviderConsentFlowUc,\n\tOauthProviderLoginFlowUc,\n\tOauthProviderLogoutFlowUc,\n\tOauthProviderUc,\n} from './uc';\n\n@Module({\n\timports: [\n\t\tOauthProviderServiceModule,\n\t\tOauthProviderModule,\n\t\tPseudonymModule,\n\t\tLoggerModule,\n\t\tAuthorizationModule,\n\t\tUserModule,\n\t],\n\tproviders: [\n\t\tOauthProviderUc,\n\t\tOauthProviderClientCrudUc,\n\t\tOauthProviderConsentFlowUc,\n\t\tOauthProviderLogoutFlowUc,\n\t\tOauthProviderLoginFlowUc,\n\t\tOauthProviderResponseMapper,\n\t],\n\tcontrollers: [OauthProviderController],\n})\nexport class OauthProviderApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OauthProviderClientCrudUc.html":{"url":"injectables/OauthProviderClientCrudUc.html","title":"injectable - OauthProviderClientCrudUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OauthProviderClientCrudUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/uc/oauth-provider.client-crud.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n defaultOauthClientBody\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createOAuth2Client\n \n \n Async\n deleteOAuth2Client\n \n \n Async\n getOAuth2Client\n \n \n Async\n listOAuth2Clients\n \n \n Async\n updateOAuth2Client\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthProviderService: OauthProviderService, authorizationService: AuthorizationService)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.client-crud.uc.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthProviderService\n \n \n OauthProviderService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createOAuth2Client\n \n \n \n \n \n \n \n createOAuth2Client(currentUser: ICurrentUser, data: ProviderOauthClient)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.client-crud.uc.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n data\n \n ProviderOauthClient\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteOAuth2Client\n \n \n \n \n \n \n \n deleteOAuth2Client(currentUser: ICurrentUser, id: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.client-crud.uc.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getOAuth2Client\n \n \n \n \n \n \n \n getOAuth2Client(currentUser: ICurrentUser, id: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.client-crud.uc.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n listOAuth2Clients\n \n \n \n \n \n \n \n listOAuth2Clients(currentUser: ICurrentUser, limit?: number, offset?: number, client_name?: string, owner?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.client-crud.uc.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n limit\n \n number\n \n\n \n Yes\n \n\n\n \n \n offset\n \n number\n \n\n \n Yes\n \n\n\n \n \n client_name\n \n string\n \n\n \n Yes\n \n\n\n \n \n owner\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateOAuth2Client\n \n \n \n \n \n \n \n updateOAuth2Client(currentUser: ICurrentUser, id: string, data: ProviderOauthClient)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.client-crud.uc.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n data\n \n ProviderOauthClient\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n defaultOauthClientBody\n \n \n \n \n \n \n Type : ProviderOauthClient\n\n \n \n \n \n Default value : {\n\t\tscope: 'openid offline',\n\t\tgrant_types: ['authorization_code', 'refresh_token'],\n\t\tresponse_types: ['code', 'token', 'id_token'],\n\t\tredirect_uris: [],\n\t}\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.client-crud.uc.ts:16\n \n \n\n\n \n \n\n\n \n\n\n \n import { ProviderOauthClient } from '@infra/oauth-provider/dto';\nimport { OauthProviderService } from '@infra/oauth-provider/index';\nimport { ICurrentUser } from '@modules/authentication';\nimport { AuthorizationService } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport { User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\n\n@Injectable()\nexport class OauthProviderClientCrudUc {\n\tconstructor(\n\t\tprivate readonly oauthProviderService: OauthProviderService,\n\t\tprivate readonly authorizationService: AuthorizationService\n\t) {}\n\n\tprivate readonly defaultOauthClientBody: ProviderOauthClient = {\n\t\tscope: 'openid offline',\n\t\tgrant_types: ['authorization_code', 'refresh_token'],\n\t\tresponse_types: ['code', 'token', 'id_token'],\n\t\tredirect_uris: [],\n\t};\n\n\tasync listOAuth2Clients(\n\t\tcurrentUser: ICurrentUser,\n\t\tlimit?: number,\n\t\toffset?: number,\n\t\tclient_name?: string,\n\t\towner?: string\n\t): Promise {\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(currentUser.userId);\n\t\tthis.authorizationService.checkAllPermissions(user, [Permission.OAUTH_CLIENT_VIEW]);\n\n\t\tconst client: ProviderOauthClient[] = await this.oauthProviderService.listOAuth2Clients(\n\t\t\tlimit,\n\t\t\toffset,\n\t\t\tclient_name,\n\t\t\towner\n\t\t);\n\t\treturn client;\n\t}\n\n\tasync getOAuth2Client(currentUser: ICurrentUser, id: string): Promise {\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(currentUser.userId);\n\t\tthis.authorizationService.checkAllPermissions(user, [Permission.OAUTH_CLIENT_VIEW]);\n\n\t\tconst client: ProviderOauthClient = await this.oauthProviderService.getOAuth2Client(id);\n\n\t\treturn client;\n\t}\n\n\tasync createOAuth2Client(currentUser: ICurrentUser, data: ProviderOauthClient): Promise {\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(currentUser.userId);\n\t\tthis.authorizationService.checkAllPermissions(user, [Permission.OAUTH_CLIENT_EDIT]);\n\n\t\tconst dataWithDefaults: ProviderOauthClient = { ...this.defaultOauthClientBody, ...data };\n\t\tconst client: ProviderOauthClient = await this.oauthProviderService.createOAuth2Client(dataWithDefaults);\n\t\treturn client;\n\t}\n\n\tasync updateOAuth2Client(\n\t\tcurrentUser: ICurrentUser,\n\t\tid: string,\n\t\tdata: ProviderOauthClient\n\t): Promise {\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(currentUser.userId);\n\t\tthis.authorizationService.checkAllPermissions(user, [Permission.OAUTH_CLIENT_EDIT]);\n\n\t\tconst dataWithDefaults: ProviderOauthClient = { ...this.defaultOauthClientBody, ...data };\n\t\tconst client: ProviderOauthClient = await this.oauthProviderService.updateOAuth2Client(id, dataWithDefaults);\n\t\treturn client;\n\t}\n\n\tasync deleteOAuth2Client(currentUser: ICurrentUser, id: string): Promise {\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(currentUser.userId);\n\t\tthis.authorizationService.checkAllPermissions(user, [Permission.OAUTH_CLIENT_EDIT]);\n\n\t\treturn this.oauthProviderService.deleteOAuth2Client(id);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OauthProviderConsentFlowUc.html":{"url":"injectables/OauthProviderConsentFlowUc.html","title":"injectable - OauthProviderConsentFlowUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OauthProviderConsentFlowUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/uc/oauth-provider.consent-flow.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n acceptConsentRequest\n \n \n Async\n getConsentRequest\n \n \n Async\n patchConsentRequest\n \n \n Private\n rejectConsentRequest\n \n \n Private\n validateSubject\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthProviderService: OauthProviderService, idTokenService: IdTokenService)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.consent-flow.uc.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthProviderService\n \n \n OauthProviderService\n \n \n \n No\n \n \n \n \n idTokenService\n \n \n IdTokenService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n acceptConsentRequest\n \n \n \n \n \n \n \n acceptConsentRequest(challenge: string, body: AcceptConsentRequestBody, userId: string, requested_scope: string[] | undefined, client_id: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.consent-flow.uc.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n body\n \n AcceptConsentRequestBody\n \n\n \n No\n \n\n\n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n requested_scope\n \n string[] | undefined\n \n\n \n No\n \n\n\n \n \n client_id\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getConsentRequest\n \n \n \n \n \n \n \n getConsentRequest(challenge: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.consent-flow.uc.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n patchConsentRequest\n \n \n \n \n \n \n \n patchConsentRequest(challenge: string, query: AcceptQuery, body: ConsentRequestBody, currentUser: ICurrentUser)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.consent-flow.uc.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n query\n \n AcceptQuery\n \n\n \n No\n \n\n\n \n \n body\n \n ConsentRequestBody\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n rejectConsentRequest\n \n \n \n \n \n \n \n rejectConsentRequest(challenge: string, body: RejectRequestBody)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.consent-flow.uc.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n body\n \n RejectRequestBody\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n validateSubject\n \n \n \n \n \n \n \n validateSubject(currentUser: ICurrentUser, response: ProviderConsentResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.consent-flow.uc.ts:80\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n response\n \n ProviderConsentResponse\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { OauthProviderService } from '@infra/oauth-provider';\nimport {\n\tAcceptConsentRequestBody,\n\tProviderConsentResponse,\n\tProviderRedirectResponse,\n\tRejectRequestBody,\n} from '@infra/oauth-provider/dto';\nimport { ICurrentUser } from '@modules/authentication';\nimport { AcceptQuery, ConsentRequestBody } from '@modules/oauth-provider/controller/dto';\nimport { IdToken } from '@modules/oauth-provider/interface/id-token';\nimport { IdTokenService } from '@modules/oauth-provider/service/id-token.service';\nimport { ForbiddenException, Injectable } from '@nestjs/common';\n\n@Injectable()\nexport class OauthProviderConsentFlowUc {\n\tconstructor(\n\t\tprivate readonly oauthProviderService: OauthProviderService,\n\t\tprivate readonly idTokenService: IdTokenService\n\t) {}\n\n\tasync getConsentRequest(challenge: string): Promise {\n\t\tconst consentResponse: ProviderConsentResponse = await this.oauthProviderService.getConsentRequest(challenge);\n\t\treturn consentResponse;\n\t}\n\n\tasync patchConsentRequest(\n\t\tchallenge: string,\n\t\tquery: AcceptQuery,\n\t\tbody: ConsentRequestBody,\n\t\tcurrentUser: ICurrentUser\n\t): Promise {\n\t\tconst consentResponse = await this.oauthProviderService.getConsentRequest(challenge);\n\t\tthis.validateSubject(currentUser, consentResponse);\n\n\t\tlet response: Promise;\n\t\tif (query.accept) {\n\t\t\tresponse = this.acceptConsentRequest(\n\t\t\t\tchallenge,\n\t\t\t\tbody,\n\t\t\t\tcurrentUser.userId,\n\t\t\t\tconsentResponse.requested_scope,\n\t\t\t\tconsentResponse.client?.client_id\n\t\t\t);\n\t\t} else {\n\t\t\tresponse = this.rejectConsentRequest(challenge, body);\n\t\t}\n\t\treturn response;\n\t}\n\n\tprivate rejectConsentRequest(challenge: string, body: RejectRequestBody): Promise {\n\t\tconst redirectResponse: Promise = this.oauthProviderService.rejectConsentRequest(\n\t\t\tchallenge,\n\t\t\tbody\n\t\t);\n\t\treturn redirectResponse;\n\t}\n\n\tprivate async acceptConsentRequest(\n\t\tchallenge: string,\n\t\tbody: AcceptConsentRequestBody,\n\t\tuserId: string,\n\t\trequested_scope: string[] | undefined,\n\t\tclient_id: string | undefined\n\t): Promise {\n\t\tconst idToken: IdToken = await this.idTokenService.createIdToken(userId, requested_scope || [], client_id || '');\n\t\tif (idToken) {\n\t\t\tbody.session = {\n\t\t\t\tid_token: idToken,\n\t\t\t};\n\t\t}\n\n\t\tconst redirectResponse: ProviderRedirectResponse = await this.oauthProviderService.acceptConsentRequest(\n\t\t\tchallenge,\n\t\t\tbody\n\t\t);\n\n\t\treturn redirectResponse;\n\t}\n\n\tprivate validateSubject(currentUser: ICurrentUser, response: ProviderConsentResponse): void {\n\t\tif (response.subject !== currentUser.userId) {\n\t\t\tthrow new ForbiddenException(\"You want to patch another user's consent\");\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/OauthProviderController.html":{"url":"controllers/OauthProviderController.html","title":"controller - OauthProviderController","body":"\n \n\n\n\n\n\n\n Controllers\n OauthProviderController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts\n \n\n \n Prefix\n \n \n oauth2\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n acceptLogoutRequest\n \n \n \n \n Async\n createOAuth2Client\n \n \n \n \n deleteOAuth2Client\n \n \n \n \n Async\n getConsentRequest\n \n \n \n Async\n getLoginRequest\n \n \n \n \n Async\n getOAuth2Client\n \n \n \n getUrl\n \n \n \n \n Async\n listConsentSessions\n \n \n \n \n Async\n listOAuth2Clients\n \n \n \n \n Async\n patchConsentRequest\n \n \n \n \n Async\n patchLoginRequest\n \n \n \n \n revokeConsentSession\n \n \n \n \n Async\n updateOAuth2Client\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n Async\n acceptLogoutRequest\n \n \n \n \n \n \n \n acceptLogoutRequest(params: ChallengeParams)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Patch('logoutRequest/:challenge')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:135\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n ChallengeParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createOAuth2Client\n \n \n \n \n \n \n \n createOAuth2Client(currentUser: ICurrentUser, body: OauthClientBody)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Post('clients')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:80\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n body\n \n OauthClientBody\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n deleteOAuth2Client\n \n \n \n \n \n \n \n deleteOAuth2Client(currentUser: ICurrentUser, params: IdParams)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Delete('clients/:id')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:103\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n IdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getConsentRequest\n \n \n \n \n \n \n \n getConsentRequest(params: ChallengeParams)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Get('consentRequest/:challenge')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:143\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n ChallengeParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getLoginRequest\n \n \n \n \n \n \n \n getLoginRequest(params: ChallengeParams)\n \n \n\n \n \n Decorators : \n \n @Get('loginRequest/:challenge')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:109\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n ChallengeParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getOAuth2Client\n \n \n \n \n \n \n \n getOAuth2Client(currentUser: ICurrentUser, params: IdParams)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Get('clients/:id')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n IdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getUrl\n \n \n \n \n \n \n \n getUrl()\n \n \n\n \n \n Decorators : \n \n @Get('baseUrl')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:188\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n listConsentSessions\n \n \n \n \n \n \n \n listConsentSessions(currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Get('auth/sessions/consent')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:169\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n listOAuth2Clients\n \n \n \n \n \n \n \n listOAuth2Clients(currentUser: ICurrentUser, params: ListOauthClientsParams)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Get('clients')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ListOauthClientsParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n patchConsentRequest\n \n \n \n \n \n \n \n patchConsentRequest(params: ChallengeParams, query: AcceptQuery, body: ConsentRequestBody, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Patch('consentRequest/:challenge')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:151\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n ChallengeParams\n \n\n \n No\n \n\n\n \n \n query\n \n AcceptQuery\n \n\n \n No\n \n\n\n \n \n body\n \n ConsentRequestBody\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n patchLoginRequest\n \n \n \n \n \n \n \n patchLoginRequest(params: ChallengeParams, query: AcceptQuery, body: LoginRequestBody, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Patch('loginRequest/:challenge')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:117\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n ChallengeParams\n \n\n \n No\n \n\n\n \n \n query\n \n AcceptQuery\n \n\n \n No\n \n\n\n \n \n body\n \n LoginRequestBody\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n revokeConsentSession\n \n \n \n \n \n \n \n revokeConsentSession(currentUser: ICurrentUser, params: RevokeConsentParams)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Delete('auth/sessions/consent')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:182\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n RevokeConsentParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateOAuth2Client\n \n \n \n \n \n \n \n updateOAuth2Client(currentUser: ICurrentUser, params: IdParams, body: OauthClientBody)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Put('clients/:id')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth-provider/controller/oauth-provider.controller.ts:91\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n IdParams\n \n\n \n No\n \n\n\n \n \n body\n \n OauthClientBody\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\nimport { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, Delete, Get, Param, Patch, Post, Put, Query } from '@nestjs/common';\n// import should be @infra/oauth-provider\nimport {\n\tProviderConsentResponse,\n\tProviderConsentSessionResponse,\n\tProviderLoginResponse,\n\tProviderOauthClient,\n\tProviderRedirectResponse,\n} from '@infra/oauth-provider/dto';\nimport { ApiTags } from '@nestjs/swagger';\nimport { OauthProviderResponseMapper } from '../mapper/oauth-provider-response.mapper';\nimport { OauthProviderClientCrudUc } from '../uc/oauth-provider.client-crud.uc';\nimport { OauthProviderConsentFlowUc } from '../uc/oauth-provider.consent-flow.uc';\nimport { OauthProviderLoginFlowUc } from '../uc/oauth-provider.login-flow.uc';\nimport { OauthProviderLogoutFlowUc } from '../uc/oauth-provider.logout-flow.uc';\nimport { OauthProviderUc } from '../uc/oauth-provider.uc';\nimport {\n\tAcceptQuery,\n\tChallengeParams,\n\tConsentRequestBody,\n\tConsentSessionResponse,\n\tIdParams,\n\tListOauthClientsParams,\n\tLoginRequestBody,\n\tLoginResponse,\n\tOauthClientBody,\n\tOauthClientResponse,\n\tRevokeConsentParams,\n} from './dto';\nimport { ConsentResponse } from './dto/response/consent.response';\nimport { RedirectResponse } from './dto/response/redirect.response';\n\n@Controller('oauth2')\n@ApiTags('Oauth2')\nexport class OauthProviderController {\n\tconstructor(\n\t\tprivate readonly consentFlowUc: OauthProviderConsentFlowUc,\n\t\tprivate readonly logoutFlowUc: OauthProviderLogoutFlowUc,\n\t\tprivate readonly crudUc: OauthProviderClientCrudUc,\n\t\tprivate readonly oauthProviderUc: OauthProviderUc,\n\t\tprivate readonly oauthProviderLoginFlowUc: OauthProviderLoginFlowUc,\n\t\tprivate readonly oauthProviderResponseMapper: OauthProviderResponseMapper\n\t) {}\n\n\t@Authenticate('jwt')\n\t@Get('clients/:id')\n\tasync getOAuth2Client(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: IdParams\n\t): Promise {\n\t\tconst client: ProviderOauthClient = await this.crudUc.getOAuth2Client(currentUser, params.id);\n\t\tconst mapped: OauthClientResponse = this.oauthProviderResponseMapper.mapOauthClientResponse(client);\n\t\treturn mapped;\n\t}\n\n\t@Authenticate('jwt')\n\t@Get('clients')\n\tasync listOAuth2Clients(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ListOauthClientsParams\n\t): Promise {\n\t\tconst clients: ProviderOauthClient[] = await this.crudUc.listOAuth2Clients(\n\t\t\tcurrentUser,\n\t\t\tparams.limit,\n\t\t\tparams.offset,\n\t\t\tparams.client_name,\n\t\t\tparams.owner\n\t\t);\n\t\tconst mapped: OauthClientResponse[] = clients.map(\n\t\t\t(client: ProviderOauthClient): OauthClientResponse =>\n\t\t\t\tthis.oauthProviderResponseMapper.mapOauthClientResponse(client)\n\t\t);\n\t\treturn mapped;\n\t}\n\n\t@Authenticate('jwt')\n\t@Post('clients')\n\tasync createOAuth2Client(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() body: OauthClientBody\n\t): Promise {\n\t\tconst client: ProviderOauthClient = await this.crudUc.createOAuth2Client(currentUser, body);\n\t\tconst mapped: OauthClientResponse = this.oauthProviderResponseMapper.mapOauthClientResponse(client);\n\t\treturn mapped;\n\t}\n\n\t@Authenticate('jwt')\n\t@Put('clients/:id')\n\tasync updateOAuth2Client(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: IdParams,\n\t\t@Body() body: OauthClientBody\n\t): Promise {\n\t\tconst client: ProviderOauthClient = await this.crudUc.updateOAuth2Client(currentUser, params.id, body);\n\t\tconst mapped: OauthClientResponse = this.oauthProviderResponseMapper.mapOauthClientResponse(client);\n\t\treturn mapped;\n\t}\n\n\t@Authenticate('jwt')\n\t@Delete('clients/:id')\n\tdeleteOAuth2Client(@CurrentUser() currentUser: ICurrentUser, @Param() params: IdParams): Promise {\n\t\tconst promise: Promise = this.crudUc.deleteOAuth2Client(currentUser, params.id);\n\t\treturn promise;\n\t}\n\n\t@Get('loginRequest/:challenge')\n\tasync getLoginRequest(@Param() params: ChallengeParams): Promise {\n\t\tconst loginResponse: ProviderLoginResponse = await this.oauthProviderLoginFlowUc.getLoginRequest(params.challenge);\n\t\tconst mapped: LoginResponse = this.oauthProviderResponseMapper.mapLoginResponse(loginResponse);\n\t\treturn mapped;\n\t}\n\n\t@Authenticate('jwt')\n\t@Patch('loginRequest/:challenge')\n\tasync patchLoginRequest(\n\t\t@Param() params: ChallengeParams,\n\t\t@Query() query: AcceptQuery,\n\t\t@Body() body: LoginRequestBody,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst redirectResponse: ProviderRedirectResponse = await this.oauthProviderLoginFlowUc.patchLoginRequest(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.challenge,\n\t\t\tbody,\n\t\t\tquery\n\t\t);\n\t\tconst mapped: RedirectResponse = this.oauthProviderResponseMapper.mapRedirectResponse(redirectResponse);\n\t\treturn mapped;\n\t}\n\n\t@Authenticate('jwt')\n\t@Patch('logoutRequest/:challenge')\n\tasync acceptLogoutRequest(@Param() params: ChallengeParams): Promise {\n\t\tconst redirect: ProviderRedirectResponse = await this.logoutFlowUc.logoutFlow(params.challenge);\n\t\tconst mapped: RedirectResponse = this.oauthProviderResponseMapper.mapRedirectResponse(redirect);\n\t\treturn mapped;\n\t}\n\n\t@Authenticate('jwt')\n\t@Get('consentRequest/:challenge')\n\tasync getConsentRequest(@Param() params: ChallengeParams): Promise {\n\t\tconst consentRequest: ProviderConsentResponse = await this.consentFlowUc.getConsentRequest(params.challenge);\n\t\tconst mapped: ConsentResponse = this.oauthProviderResponseMapper.mapConsentResponse(consentRequest);\n\t\treturn mapped;\n\t}\n\n\t@Authenticate('jwt')\n\t@Patch('consentRequest/:challenge')\n\tasync patchConsentRequest(\n\t\t@Param() params: ChallengeParams,\n\t\t@Query() query: AcceptQuery,\n\t\t@Body() body: ConsentRequestBody,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst redirectResponse: ProviderRedirectResponse = await this.consentFlowUc.patchConsentRequest(\n\t\t\tparams.challenge,\n\t\t\tquery,\n\t\t\tbody,\n\t\t\tcurrentUser\n\t\t);\n\t\tconst response: RedirectResponse = this.oauthProviderResponseMapper.mapRedirectResponse(redirectResponse);\n\t\treturn response;\n\t}\n\n\t@Authenticate('jwt')\n\t@Get('auth/sessions/consent')\n\tasync listConsentSessions(@CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst sessions: ProviderConsentSessionResponse[] = await this.oauthProviderUc.listConsentSessions(\n\t\t\tcurrentUser.userId\n\t\t);\n\t\tconst mapped: ConsentSessionResponse[] = sessions.map(\n\t\t\t(session: ProviderConsentSessionResponse): ConsentSessionResponse =>\n\t\t\t\tthis.oauthProviderResponseMapper.mapConsentSessionsToResponse(session)\n\t\t);\n\t\treturn mapped;\n\t}\n\n\t@Authenticate('jwt')\n\t@Delete('auth/sessions/consent')\n\trevokeConsentSession(@CurrentUser() currentUser: ICurrentUser, @Param() params: RevokeConsentParams): Promise {\n\t\tconst promise: Promise = this.oauthProviderUc.revokeConsentSession(currentUser.userId, params.client);\n\t\treturn promise;\n\t}\n\n\t@Get('baseUrl')\n\tgetUrl(): Promise {\n\t\treturn Promise.resolve(Configuration.get('HYDRA_URI') as string);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OauthProviderLoginFlowService.html":{"url":"injectables/OauthProviderLoginFlowService.html","title":"injectable - OauthProviderLoginFlowService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OauthProviderLoginFlowService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/service/oauth-provider.login-flow.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n findToolByClientId\n \n \n Public\n isNextcloudTool\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(ltiToolService: LtiToolService, externalToolService: ExternalToolService, toolFeatures: IToolFeatures)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/service/oauth-provider.login-flow.service.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n ltiToolService\n \n \n LtiToolService\n \n \n \n No\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n toolFeatures\n \n \n IToolFeatures\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n findToolByClientId\n \n \n \n \n \n \n \n findToolByClientId(clientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/service/oauth-provider.login-flow.service.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n clientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isNextcloudTool\n \n \n \n \n \n \n \n isNextcloudTool(tool: ExternalTool | LtiToolDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/service/oauth-provider.login-flow.service.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n tool\n \n ExternalTool | LtiToolDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { LtiToolService } from '@modules/lti-tool/service';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { ExternalToolService } from '@modules/tool/external-tool/service';\nimport { IToolFeatures, ToolFeatures } from '@modules/tool/tool-config';\nimport { Inject } from '@nestjs/common';\nimport { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { NotFoundException } from '@nestjs/common/exceptions/not-found.exception';\nimport { LtiToolDO } from '@shared/domain/domainobject/ltitool.do';\n\n@Injectable()\nexport class OauthProviderLoginFlowService {\n\tconstructor(\n\t\tprivate readonly ltiToolService: LtiToolService,\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\t@Inject(ToolFeatures) private readonly toolFeatures: IToolFeatures\n\t) {}\n\n\tpublic async findToolByClientId(clientId: string): Promise {\n\t\tif (this.toolFeatures.ctlToolsTabEnabled) {\n\t\t\tconst externalTool: ExternalTool | null = await this.externalToolService.findExternalToolByOAuth2ConfigClientId(\n\t\t\t\tclientId\n\t\t\t);\n\n\t\t\tif (externalTool) {\n\t\t\t\treturn externalTool;\n\t\t\t}\n\t\t}\n\n\t\tconst ltiTool: LtiToolDO | null = await this.ltiToolService.findByClientIdAndIsLocal(clientId, true);\n\n\t\tif (ltiTool) {\n\t\t\treturn ltiTool;\n\t\t}\n\n\t\tthrow new NotFoundException(`Unable to find ExternalTool or LtiTool for clientId: ${clientId}`);\n\t}\n\n\t// TODO N21-91. Magic Strings are not desireable\n\tpublic isNextcloudTool(tool: ExternalTool | LtiToolDO): boolean {\n\t\tconst isNextcloud: boolean = tool.name === 'SchulcloudNextcloud';\n\n\t\treturn isNextcloud;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OauthProviderLoginFlowUc.html":{"url":"injectables/OauthProviderLoginFlowUc.html","title":"injectable - OauthProviderLoginFlowUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OauthProviderLoginFlowUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/uc/oauth-provider.login-flow.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n acceptLoginRequest\n \n \n Async\n getLoginRequest\n \n \n Async\n patchLoginRequest\n \n \n Private\n Async\n rejectLoginRequest\n \n \n Private\n shouldSkipConsent\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthProviderService: OauthProviderService, oauthProviderLoginFlowService: OauthProviderLoginFlowService, pseudonymService: PseudonymService, authorizationService: AuthorizationService, userService: UserService)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.login-flow.uc.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthProviderService\n \n \n OauthProviderService\n \n \n \n No\n \n \n \n \n oauthProviderLoginFlowService\n \n \n OauthProviderLoginFlowService\n \n \n \n No\n \n \n \n \n pseudonymService\n \n \n PseudonymService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n acceptLoginRequest\n \n \n \n \n \n \n \n acceptLoginRequest(currentUserId: string, challenge: string, loginRequestBody: LoginRequestBody)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.login-flow.uc.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUserId\n \n string\n \n\n \n No\n \n\n\n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n loginRequestBody\n \n LoginRequestBody\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getLoginRequest\n \n \n \n \n \n \n \n getLoginRequest(challenge: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.login-flow.uc.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n patchLoginRequest\n \n \n \n \n \n \n \n patchLoginRequest(currentUserId: string, challenge: string, body: LoginRequestBody, query: AcceptQuery)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.login-flow.uc.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUserId\n \n string\n \n\n \n No\n \n\n\n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n body\n \n LoginRequestBody\n \n\n \n No\n \n\n\n \n \n query\n \n AcceptQuery\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n rejectLoginRequest\n \n \n \n \n \n \n \n rejectLoginRequest(challenge: string, rejectRequestBody: OAuthRejectableBody)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.login-flow.uc.ts:104\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n rejectRequestBody\n \n OAuthRejectableBody\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n shouldSkipConsent\n \n \n \n \n \n \n \n shouldSkipConsent(tool: ExternalTool | LtiToolDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.login-flow.uc.ts:92\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n tool\n \n ExternalTool | LtiToolDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { OauthProviderService } from '@infra/oauth-provider';\nimport { AcceptLoginRequestBody, ProviderLoginResponse, ProviderRedirectResponse } from '@infra/oauth-provider/dto';\nimport { AuthorizationService } from '@modules/authorization';\nimport { AcceptQuery, LoginRequestBody, OAuthRejectableBody } from '@modules/oauth-provider/controller/dto';\nimport { OauthProviderRequestMapper } from '@modules/oauth-provider/mapper/oauth-provider-request.mapper';\nimport { PseudonymService } from '@modules/pseudonym/service';\nimport { ExternalTool, Oauth2ToolConfig } from '@modules/tool/external-tool/domain';\nimport { UserService } from '@modules/user';\nimport { Injectable, InternalServerErrorException, UnprocessableEntityException } from '@nestjs/common';\nimport { Pseudonym, UserDO } from '@shared/domain/domainobject';\nimport { LtiToolDO } from '@shared/domain/domainobject/ltitool.do';\nimport { User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { OauthProviderLoginFlowService } from '../service/oauth-provider.login-flow.service';\n\n@Injectable()\nexport class OauthProviderLoginFlowUc {\n\tconstructor(\n\t\tprivate readonly oauthProviderService: OauthProviderService,\n\t\tprivate readonly oauthProviderLoginFlowService: OauthProviderLoginFlowService,\n\t\tprivate readonly pseudonymService: PseudonymService,\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly userService: UserService\n\t) {}\n\n\tasync getLoginRequest(challenge: string): Promise {\n\t\tconst loginResponse: Promise = this.oauthProviderService.getLoginRequest(challenge);\n\t\treturn loginResponse;\n\t}\n\n\tasync patchLoginRequest(\n\t\tcurrentUserId: string,\n\t\tchallenge: string,\n\t\tbody: LoginRequestBody,\n\t\tquery: AcceptQuery\n\t): Promise {\n\t\tlet redirectResponse: ProviderRedirectResponse;\n\t\tif (query.accept) {\n\t\t\tredirectResponse = await this.acceptLoginRequest(currentUserId, challenge, body);\n\t\t} else {\n\t\t\tredirectResponse = await this.rejectLoginRequest(challenge, body);\n\t\t}\n\t\treturn redirectResponse;\n\t}\n\n\tprivate async acceptLoginRequest(\n\t\tcurrentUserId: string,\n\t\tchallenge: string,\n\t\tloginRequestBody: LoginRequestBody\n\t): Promise {\n\t\tconst loginResponse: ProviderLoginResponse = await this.oauthProviderService.getLoginRequest(challenge);\n\n\t\tif (!loginResponse.client.client_id) {\n\t\t\tthrow new InternalServerErrorException(`Cannot find oAuthClientId in login response for challenge: ${challenge}`);\n\t\t}\n\n\t\tconst tool: ExternalTool | LtiToolDO = await this.oauthProviderLoginFlowService.findToolByClientId(\n\t\t\tloginResponse.client.client_id\n\t\t);\n\n\t\tif (!tool.id) {\n\t\t\tthrow new InternalServerErrorException('Tool has no id');\n\t\t}\n\n\t\tif (this.oauthProviderLoginFlowService.isNextcloudTool(tool)) {\n\t\t\tconst user: User = await this.authorizationService.getUserWithPermissions(currentUserId);\n\t\t\tthis.authorizationService.checkAllPermissions(user, [Permission.NEXTCLOUD_USER]);\n\t\t}\n\n\t\tconst user: UserDO = await this.userService.findById(currentUserId);\n\t\tconst pseudonym: Pseudonym = await this.pseudonymService.findOrCreatePseudonym(user, tool);\n\n\t\tconst skipConsent: boolean = this.shouldSkipConsent(tool);\n\n\t\tconst acceptLoginRequestBody: AcceptLoginRequestBody = OauthProviderRequestMapper.mapCreateAcceptLoginRequestBody(\n\t\t\tloginRequestBody,\n\t\t\tcurrentUserId,\n\t\t\tpseudonym.pseudonym,\n\t\t\t{\n\t\t\t\tskipConsent,\n\t\t\t}\n\t\t);\n\n\t\tconst redirectResponse: ProviderRedirectResponse = await this.oauthProviderService.acceptLoginRequest(\n\t\t\tloginResponse.challenge,\n\t\t\tacceptLoginRequestBody\n\t\t);\n\n\t\treturn redirectResponse;\n\t}\n\n\tprivate shouldSkipConsent(tool: ExternalTool | LtiToolDO): boolean {\n\t\tif (tool instanceof LtiToolDO) {\n\t\t\treturn !!tool.skipConsent;\n\t\t}\n\t\tif (tool.config instanceof Oauth2ToolConfig) {\n\t\t\treturn tool.config.skipConsent;\n\t\t}\n\t\tthrow new UnprocessableEntityException(\n\t\t\t`Cannot use Tool ${tool.name} for OAuth2 login, since it is not a LtiTool or OAuth2-ExternalTool`\n\t\t);\n\t}\n\n\tprivate async rejectLoginRequest(\n\t\tchallenge: string,\n\t\trejectRequestBody: OAuthRejectableBody\n\t): Promise {\n\t\tconst redirectResponse: Promise = this.oauthProviderService.rejectLoginRequest(\n\t\t\tchallenge,\n\t\t\trejectRequestBody\n\t\t);\n\t\treturn redirectResponse;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OauthProviderLogoutFlowUc.html":{"url":"injectables/OauthProviderLogoutFlowUc.html","title":"injectable - OauthProviderLogoutFlowUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OauthProviderLogoutFlowUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/uc/oauth-provider.logout-flow.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n logoutFlow\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthProviderService: OauthProviderService)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.logout-flow.uc.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthProviderService\n \n \n OauthProviderService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n logoutFlow\n \n \n \n \n \n \nlogoutFlow(challenge: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.logout-flow.uc.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { OauthProviderService } from '@infra/oauth-provider';\nimport { ProviderRedirectResponse } from '@infra/oauth-provider/dto';\n\n@Injectable()\nexport class OauthProviderLogoutFlowUc {\n\tconstructor(private readonly oauthProviderService: OauthProviderService) {}\n\n\tlogoutFlow(challenge: string): Promise {\n\t\tconst logoutResponse: Promise = this.oauthProviderService.acceptLogoutRequest(challenge);\n\t\treturn logoutResponse;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/OauthProviderModule.html":{"url":"modules/OauthProviderModule.html","title":"module - OauthProviderModule","body":"\n \n\n\n\n\n Modules\n OauthProviderModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_OauthProviderModule\n\n\n\ncluster_OauthProviderModule_exports\n\n\n\ncluster_OauthProviderModule_providers\n\n\n\ncluster_OauthProviderModule_imports\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nOauthProviderModule\n\nOauthProviderModule\n\nOauthProviderModule -->\n\nLoggerModule->OauthProviderModule\n\n\n\n\n\nLtiToolModule\n\nLtiToolModule\n\nOauthProviderModule -->\n\nLtiToolModule->OauthProviderModule\n\n\n\n\n\nOauthProviderServiceModule\n\nOauthProviderServiceModule\n\nOauthProviderModule -->\n\nOauthProviderServiceModule->OauthProviderModule\n\n\n\n\n\nPseudonymModule\n\nPseudonymModule\n\nOauthProviderModule -->\n\nPseudonymModule->OauthProviderModule\n\n\n\n\n\nToolConfigModule\n\nToolConfigModule\n\nOauthProviderModule -->\n\nToolConfigModule->OauthProviderModule\n\n\n\n\n\nToolModule\n\nToolModule\n\nOauthProviderModule -->\n\nToolModule->OauthProviderModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nOauthProviderModule -->\n\nUserModule->OauthProviderModule\n\n\n\n\n\nIdTokenService \n\nIdTokenService \n\nIdTokenService -->\n\nOauthProviderModule->IdTokenService \n\n\n\n\n\nOauthProviderLoginFlowService \n\nOauthProviderLoginFlowService \n\nOauthProviderLoginFlowService -->\n\nOauthProviderModule->OauthProviderLoginFlowService \n\n\n\n\n\nIdTokenService\n\nIdTokenService\n\nOauthProviderModule -->\n\nIdTokenService->OauthProviderModule\n\n\n\n\n\nOauthProviderLoginFlowService\n\nOauthProviderLoginFlowService\n\nOauthProviderModule -->\n\nOauthProviderLoginFlowService->OauthProviderModule\n\n\n\n\n\nTeamsRepo\n\nTeamsRepo\n\nOauthProviderModule -->\n\nTeamsRepo->OauthProviderModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/oauth-provider/oauth-provider.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n IdTokenService\n \n \n OauthProviderLoginFlowService\n \n \n TeamsRepo\n \n \n \n \n Imports\n \n \n LoggerModule\n \n \n LtiToolModule\n \n \n OauthProviderServiceModule\n \n \n PseudonymModule\n \n \n ToolConfigModule\n \n \n ToolModule\n \n \n UserModule\n \n \n \n \n Exports\n \n \n IdTokenService\n \n \n OauthProviderLoginFlowService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { OauthProviderServiceModule } from '@infra/oauth-provider';\nimport { TeamsRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { LtiToolModule } from '@modules/lti-tool';\nimport { PseudonymModule } from '@modules/pseudonym';\nimport { ToolModule } from '@modules/tool';\nimport { ToolConfigModule } from '@modules/tool/tool-config.module';\nimport { UserModule } from '@modules/user';\nimport { IdTokenService } from './service/id-token.service';\nimport { OauthProviderLoginFlowService } from './service/oauth-provider.login-flow.service';\n\n@Module({\n\timports: [\n\t\tOauthProviderServiceModule,\n\t\tUserModule,\n\t\tLoggerModule,\n\t\tPseudonymModule,\n\t\tLtiToolModule,\n\t\tToolModule,\n\t\tToolConfigModule,\n\t],\n\tproviders: [OauthProviderLoginFlowService, IdTokenService, TeamsRepo],\n\texports: [OauthProviderLoginFlowService, IdTokenService],\n})\nexport class OauthProviderModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthProviderRequestMapper.html":{"url":"classes/OauthProviderRequestMapper.html","title":"class - OauthProviderRequestMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthProviderRequestMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/mapper/oauth-provider-request.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapCreateAcceptLoginRequestBody\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapCreateAcceptLoginRequestBody\n \n \n \n \n \n \n \n mapCreateAcceptLoginRequestBody(loginRequestBody: LoginRequestBody, currentUserId: string, pseudonym: string, context?: object)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/mapper/oauth-provider-request.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n loginRequestBody\n \n LoginRequestBody\n \n\n \n No\n \n\n\n \n \n currentUserId\n \n string\n \n\n \n No\n \n\n\n \n \n pseudonym\n \n string\n \n\n \n No\n \n\n\n \n \n context\n \n object\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : AcceptLoginRequestBody\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { AcceptLoginRequestBody } from '@infra/oauth-provider/dto';\nimport { LoginRequestBody } from '@modules/oauth-provider/controller/dto';\n\nexport class OauthProviderRequestMapper {\n\tstatic mapCreateAcceptLoginRequestBody(\n\t\tloginRequestBody: LoginRequestBody,\n\t\tcurrentUserId: string,\n\t\tpseudonym: string,\n\t\tcontext?: object\n\t): AcceptLoginRequestBody {\n\t\treturn {\n\t\t\tremember: loginRequestBody.remember,\n\t\t\tremember_for: loginRequestBody.remember_for,\n\t\t\tsubject: currentUserId,\n\t\t\tforce_subject_identifier: pseudonym,\n\t\t\tcontext,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OauthProviderResponseMapper.html":{"url":"injectables/OauthProviderResponseMapper.html","title":"injectable - OauthProviderResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OauthProviderResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/mapper/oauth-provider-response.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n mapConsentResponse\n \n \n mapConsentSessionsToResponse\n \n \n mapLoginResponse\n \n \n mapOauthClientResponse\n \n \n mapRedirectResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n mapConsentResponse\n \n \n \n \n \n \nmapConsentResponse(consent: ProviderConsentResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/mapper/oauth-provider-response.mapper.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n consent\n \n ProviderConsentResponse\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ConsentResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapConsentSessionsToResponse\n \n \n \n \n \n \nmapConsentSessionsToResponse(session: ProviderConsentSessionResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/mapper/oauth-provider-response.mapper.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n session\n \n ProviderConsentSessionResponse\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ConsentSessionResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapLoginResponse\n \n \n \n \n \n \nmapLoginResponse(providerLoginResponse: ProviderLoginResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/mapper/oauth-provider-response.mapper.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n providerLoginResponse\n \n ProviderLoginResponse\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LoginResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapOauthClientResponse\n \n \n \n \n \n \nmapOauthClientResponse(oauthClient: ProviderOauthClient)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/mapper/oauth-provider-response.mapper.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthClient\n \n ProviderOauthClient\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : OauthClientResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapRedirectResponse\n \n \n \n \n \n \nmapRedirectResponse(redirect: ProviderRedirectResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/mapper/oauth-provider-response.mapper.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n redirect\n \n ProviderRedirectResponse\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RedirectResponse\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport {\n\tProviderConsentResponse,\n\tProviderConsentSessionResponse,\n\tProviderLoginResponse,\n\tProviderOauthClient,\n\tProviderRedirectResponse,\n} from '@infra/oauth-provider/dto';\nimport {\n\tConsentResponse,\n\tConsentSessionResponse,\n\tLoginResponse,\n\tOauthClientResponse,\n\tRedirectResponse,\n} from '@modules/oauth-provider/controller/dto';\n\n@Injectable()\nexport class OauthProviderResponseMapper {\n\tmapRedirectResponse(redirect: ProviderRedirectResponse): RedirectResponse {\n\t\treturn new RedirectResponse({ ...redirect });\n\t}\n\n\tmapConsentResponse(consent: ProviderConsentResponse): ConsentResponse {\n\t\treturn new ConsentResponse({ ...consent });\n\t}\n\n\tmapOauthClientResponse(oauthClient: ProviderOauthClient): OauthClientResponse {\n\t\tdelete oauthClient.client_secret;\n\t\treturn new OauthClientResponse({ ...oauthClient });\n\t}\n\n\tmapConsentSessionsToResponse(session: ProviderConsentSessionResponse): ConsentSessionResponse {\n\t\treturn new ConsentSessionResponse(\n\t\t\tsession.consent_request.client?.client_id,\n\t\t\tsession.consent_request.client?.client_name,\n\t\t\tsession.consent_request.challenge\n\t\t);\n\t}\n\n\tmapLoginResponse(providerLoginResponse: ProviderLoginResponse): LoginResponse {\n\t\treturn new LoginResponse({ ...providerLoginResponse });\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthProviderService.html":{"url":"classes/OauthProviderService.html","title":"class - OauthProviderService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthProviderService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/oauth-provider/oauth-provider.service.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Abstract\n acceptConsentRequest\n \n \n Abstract\n acceptLoginRequest\n \n \n Abstract\n acceptLogoutRequest\n \n \n Abstract\n createOAuth2Client\n \n \n Abstract\n deleteOAuth2Client\n \n \n Abstract\n getConsentRequest\n \n \n Abstract\n getLoginRequest\n \n \n Abstract\n getOAuth2Client\n \n \n Abstract\n introspectOAuth2Token\n \n \n Abstract\n isInstanceAlive\n \n \n Abstract\n listConsentSessions\n \n \n Abstract\n listOAuth2Clients\n \n \n Abstract\n rejectConsentRequest\n \n \n Abstract\n rejectLoginRequest\n \n \n Abstract\n revokeConsentSession\n \n \n Abstract\n updateOAuth2Client\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Abstract\n acceptConsentRequest\n \n \n \n \n \n \n \n acceptConsentRequest(challenge: string, body: AcceptConsentRequestBody)\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n body\n \n AcceptConsentRequestBody\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n acceptLoginRequest\n \n \n \n \n \n \n \n acceptLoginRequest(challenge: string, body: AcceptLoginRequestBody)\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n body\n \n AcceptLoginRequestBody\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n acceptLogoutRequest\n \n \n \n \n \n \n \n acceptLogoutRequest(challenge: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n createOAuth2Client\n \n \n \n \n \n \n \n createOAuth2Client(data: ProviderOauthClient)\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n ProviderOauthClient\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n deleteOAuth2Client\n \n \n \n \n \n \n \n deleteOAuth2Client(id: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getConsentRequest\n \n \n \n \n \n \n \n getConsentRequest(challenge: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getLoginRequest\n \n \n \n \n \n \n \n getLoginRequest(challenge: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getOAuth2Client\n \n \n \n \n \n \n \n getOAuth2Client(id: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n introspectOAuth2Token\n \n \n \n \n \n \n \n introspectOAuth2Token(token: string, scope?: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n token\n \n string\n \n\n \n No\n \n\n\n \n \n scope\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n isInstanceAlive\n \n \n \n \n \n \n \n isInstanceAlive()\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:30\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Abstract\n listConsentSessions\n \n \n \n \n \n \n \n listConsentSessions(user: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:47\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n listOAuth2Clients\n \n \n \n \n \n \n \n listOAuth2Clients(limit?: number, offset?: number, client_name?: string, owner?: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n limit\n \n number\n \n\n \n Yes\n \n\n\n \n \n offset\n \n number\n \n\n \n Yes\n \n\n\n \n \n client_name\n \n string\n \n\n \n Yes\n \n\n\n \n \n owner\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n rejectConsentRequest\n \n \n \n \n \n \n \n rejectConsentRequest(challenge: string, body: RejectRequestBody)\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n body\n \n RejectRequestBody\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n rejectLoginRequest\n \n \n \n \n \n \n \n rejectLoginRequest(challenge: string, body: RejectRequestBody)\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n challenge\n \n string\n \n\n \n No\n \n\n\n \n \n body\n \n RejectRequestBody\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n revokeConsentSession\n \n \n \n \n \n \n \n revokeConsentSession(user: string, client: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n string\n \n\n \n No\n \n\n\n \n \n client\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n updateOAuth2Client\n \n \n \n \n \n \n \n updateOAuth2Client(id: string, data: ProviderOauthClient)\n \n \n\n\n \n \n Defined in apps/server/src/infra/oauth-provider/oauth-provider.service.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n data\n \n ProviderOauthClient\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import {\n\tAcceptConsentRequestBody,\n\tAcceptLoginRequestBody,\n\tIntrospectResponse,\n\tProviderConsentResponse,\n\tProviderConsentSessionResponse,\n\tProviderLoginResponse,\n\tProviderOauthClient,\n\tProviderRedirectResponse,\n\tRejectRequestBody,\n} from './dto';\n\nexport abstract class OauthProviderService {\n\tabstract getLoginRequest(challenge: string): Promise;\n\n\tabstract acceptLoginRequest(challenge: string, body: AcceptLoginRequestBody): Promise;\n\n\tabstract rejectLoginRequest(challenge: string, body: RejectRequestBody): Promise;\n\n\tabstract getConsentRequest(challenge: string): Promise;\n\n\tabstract acceptConsentRequest(challenge: string, body: AcceptConsentRequestBody): Promise;\n\n\tabstract rejectConsentRequest(challenge: string, body: RejectRequestBody): Promise;\n\n\tabstract acceptLogoutRequest(challenge: string): Promise;\n\n\tabstract introspectOAuth2Token(token: string, scope?: string): Promise;\n\n\tabstract isInstanceAlive(): Promise;\n\n\tabstract listOAuth2Clients(\n\t\tlimit?: number,\n\t\toffset?: number,\n\t\tclient_name?: string,\n\t\towner?: string\n\t): Promise;\n\n\tabstract createOAuth2Client(data: ProviderOauthClient): Promise;\n\n\tabstract getOAuth2Client(id: string): Promise;\n\n\tabstract updateOAuth2Client(id: string, data: ProviderOauthClient): Promise;\n\n\tabstract deleteOAuth2Client(id: string): Promise;\n\n\tabstract listConsentSessions(user: string): Promise;\n\n\tabstract revokeConsentSession(user: string, client: string): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/OauthProviderServiceModule.html":{"url":"modules/OauthProviderServiceModule.html","title":"module - OauthProviderServiceModule","body":"\n \n\n\n\n\n Modules\n OauthProviderServiceModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_OauthProviderServiceModule\n\n\n\ncluster_OauthProviderServiceModule_exports\n\n\n\n\nOauthProviderService \n\nOauthProviderService \n\n\n\nOauthProviderServiceModule\n\nOauthProviderServiceModule\n\nOauthProviderService -->\n\nOauthProviderServiceModule->OauthProviderService \n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/oauth-provider/oauth-provider-service.module.ts\n \n\n\n\n\n\n \n \n \n Exports\n \n \n OauthProviderService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { HttpModule } from '@nestjs/axios';\nimport { OauthProviderService } from './oauth-provider.service';\nimport { HydraAdapter } from './hydra/hydra.adapter';\n\n@Module({\n\timports: [HttpModule],\n\tproviders: [{ provide: OauthProviderService, useClass: HydraAdapter }],\n\texports: [OauthProviderService],\n})\nexport class OauthProviderServiceModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OauthProviderUc.html":{"url":"injectables/OauthProviderUc.html","title":"injectable - OauthProviderUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OauthProviderUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/uc/oauth-provider.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n listConsentSessions\n \n \n revokeConsentSession\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oauthProviderService: OauthProviderService)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.uc.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthProviderService\n \n \n OauthProviderService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n listConsentSessions\n \n \n \n \n \n \nlistConsentSessions(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.uc.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n revokeConsentSession\n \n \n \n \n \n \nrevokeConsentSession(userId: EntityId, clientId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth-provider/uc/oauth-provider.uc.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n clientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { OauthProviderService } from '@infra/oauth-provider';\nimport { ProviderConsentSessionResponse } from '@infra/oauth-provider/dto/';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\n\n@Injectable()\nexport class OauthProviderUc {\n\tconstructor(private readonly oauthProviderService: OauthProviderService) {}\n\n\tlistConsentSessions(userId: EntityId): Promise {\n\t\tconst sessions: Promise = this.oauthProviderService.listConsentSessions(userId);\n\t\treturn sessions;\n\t}\n\n\trevokeConsentSession(userId: EntityId, clientId: string): Promise {\n\t\tconst promise: Promise = this.oauthProviderService.revokeConsentSession(userId, clientId);\n\t\treturn promise;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/OauthSSOController.html":{"url":"controllers/OauthSSOController.html","title":"controller - OauthSSOController","body":"\n \n\n\n\n\n\n\n Controllers\n OauthSSOController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/controller/oauth-sso.controller.ts\n \n\n \n Prefix\n \n \n sso\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n getHydraOauthToken\n \n \n \n \n Async\n requestAuthToken\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n Async\n getHydraOauthToken\n \n \n \n \n \n \n \n getHydraOauthToken(query: StatelessAuthorizationParams, oauthClientId: string)\n \n \n\n \n \n Decorators : \n \n @Get('hydra/:oauthClientId')@Authenticate('jwt')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth/controller/oauth-sso.controller.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n StatelessAuthorizationParams\n \n\n \n No\n \n\n\n \n \n oauthClientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n requestAuthToken\n \n \n \n \n \n \n \n requestAuthToken(currentUser: ICurrentUser, req: Request, oauthClientId: string)\n \n \n\n \n \n Decorators : \n \n @Get('auth/:oauthClientId')@Authenticate('jwt')\n \n \n\n \n \n Defined in apps/server/src/modules/oauth/controller/oauth-sso.controller.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n req\n \n Request\n \n\n \n No\n \n\n\n \n \n oauthClientId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Controller, Get, Param, Query, Req, UnauthorizedException } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { LegacyLogger } from '@src/core/logger';\nimport { Request } from 'express';\nimport { OAuthTokenDto } from '../interface';\nimport { HydraOauthUc } from '../uc';\nimport { AuthorizationParams } from './dto';\nimport { StatelessAuthorizationParams } from './dto/stateless-authorization.params';\n\n@ApiTags('SSO')\n@Controller('sso')\nexport class OauthSSOController {\n\tconstructor(private readonly hydraUc: HydraOauthUc, private readonly logger: LegacyLogger) {\n\t\tthis.logger.setContext(OauthSSOController.name);\n\t}\n\n\t@Get('hydra/:oauthClientId')\n\t@Authenticate('jwt')\n\tasync getHydraOauthToken(\n\t\t@Query() query: StatelessAuthorizationParams,\n\t\t@Param('oauthClientId') oauthClientId: string\n\t): Promise {\n\t\tconst oauthToken = this.hydraUc.getOauthToken(oauthClientId, query.code, query.error);\n\t\treturn oauthToken;\n\t}\n\n\t@Get('auth/:oauthClientId')\n\t@Authenticate('jwt')\n\tasync requestAuthToken(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Req() req: Request,\n\t\t@Param('oauthClientId') oauthClientId: string\n\t): Promise {\n\t\tlet jwt: string;\n\t\tconst authHeader: string | undefined = req.headers.authorization;\n\t\tif (authHeader?.toLowerCase()?.startsWith('bearer ')) {\n\t\t\t[, jwt] = authHeader.split(' ');\n\t\t} else {\n\t\t\tthrow new UnauthorizedException(\n\t\t\t\t`No bearer token in header for authorization process of user ${currentUser.userId} on oauth system ${oauthClientId}`\n\t\t\t);\n\t\t}\n\t\treturn this.hydraUc.requestAuthCode(jwt, oauthClientId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OauthSsoErrorLoggableException.html":{"url":"classes/OauthSsoErrorLoggableException.html","title":"class - OauthSsoErrorLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OauthSsoErrorLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/loggable/oauth-sso-error-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n InternalServerErrorException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/loggable/oauth-sso-error-loggable-exception.ts:5\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { InternalServerErrorException } from '@nestjs/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class OauthSsoErrorLoggableException extends InternalServerErrorException implements Loggable {\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'SSO_LOGIN_FAILED',\n\t\t\tmessage: this.message,\n\t\t\tstack: this.stack,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/OauthTokenResponse.html":{"url":"interfaces/OauthTokenResponse.html","title":"interface - OauthTokenResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n OauthTokenResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/service/dto/oauth-token.response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n access_token\n \n \n \n \n id_token\n \n \n \n \n refresh_token\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n access_token\n \n \n \n \n \n \n \n \n access_token: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n id_token\n \n \n \n \n \n \n \n \n id_token: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n refresh_token\n \n \n \n \n \n \n \n \n refresh_token: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface OauthTokenResponse {\n\taccess_token: string;\n\n\trefresh_token: string;\n\n\tid_token: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ObjectKeysRecursive.html":{"url":"interfaces/ObjectKeysRecursive.html","title":"interface - ObjectKeysRecursive","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ObjectKeysRecursive\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/s3-client/interface/index.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n files\n \n \n \n \n maxKeys\n \n \n \n \n nextMarker\n \n \n \n \n path\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n files\n \n \n \n \n \n \n \n \n files: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n maxKeys\n \n \n \n \n \n \n \n \n maxKeys: number | undefined\n\n \n \n\n\n \n \n Type : number | undefined\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n nextMarker\n \n \n \n \n \n \n \n \n nextMarker: string | undefined\n\n \n \n\n\n \n \n Type : string | undefined\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n path\n \n \n \n \n \n \n \n \n path: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Readable } from 'stream';\n\nexport interface S3Config {\n\tconnectionName: string;\n\tendpoint: string;\n\tregion: string;\n\tbucket: string;\n\taccessKeyId: string;\n\tsecretAccessKey: string;\n}\n\nexport interface GetFile {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n}\n\nexport interface CopyFiles {\n\tsourcePath: string;\n\ttargetPath: string;\n}\n\nexport interface File {\n\tdata: Readable;\n\tmimeType: string;\n}\n\nexport interface ListFiles {\n\tpath: string;\n\tmaxKeys?: number;\n\tnextMarker?: string;\n\tfiles?: string[];\n}\n\nexport interface ObjectKeysRecursive {\n\tpath: string;\n\tmaxKeys: number | undefined;\n\tnextMarker: string | undefined;\n\tfiles: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/OcsResponse.html":{"url":"interfaces/OcsResponse.html","title":"interface - OcsResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n OcsResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n ocs\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n ocs\n \n \n \n \n \n \n \n \n ocs: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface NextcloudGroups {\n\tgroups: string[];\n}\n\nexport interface OcsResponse {\n\tocs: {\n\t\tdata: T;\n\t\tmeta: Meta;\n\t};\n}\n\nexport interface Meta {\n\tstatus: string;\n\tstatuscode: number;\n\tmessage: string;\n\ttotalitems: string;\n\titemsperpage: string;\n}\n\nexport interface SuccessfulRes {\n\tsuccess: boolean;\n}\n\nexport interface GroupUsers {\n\tusers: string[];\n}\n\n// Groupfolders Responses\n\nexport interface GroupfoldersFolder {\n\tfolder_id: number;\n}\n\nexport interface GroupfoldersCreated {\n\tid: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OidcConfigDto.html":{"url":"classes/OidcConfigDto.html","title":"class - OidcConfigDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OidcConfigDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/service/dto/oidc-config.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n authorizationUrl\n \n \n clientId\n \n \n clientSecret\n \n \n defaultScopes\n \n \n idpHint\n \n \n logoutUrl\n \n \n parentSystemId\n \n \n tokenUrl\n \n \n userinfoUrl\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oidcConfigDto: OidcConfigDto)\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oidc-config.dto.ts:1\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oidcConfigDto\n \n \n OidcConfigDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n authorizationUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oidc-config.dto.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n clientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oidc-config.dto.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n clientSecret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oidc-config.dto.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n defaultScopes\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oidc-config.dto.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n idpHint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oidc-config.dto.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n logoutUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oidc-config.dto.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n parentSystemId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oidc-config.dto.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n tokenUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oidc-config.dto.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n userinfoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/oidc-config.dto.ts:28\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class OidcConfigDto {\n\tconstructor(oidcConfigDto: OidcConfigDto) {\n\t\tthis.parentSystemId = oidcConfigDto.parentSystemId;\n\t\tthis.clientId = oidcConfigDto.clientId;\n\t\tthis.clientSecret = oidcConfigDto.clientSecret;\n\t\tthis.idpHint = oidcConfigDto.idpHint;\n\t\tthis.authorizationUrl = oidcConfigDto.authorizationUrl;\n\t\tthis.tokenUrl = oidcConfigDto.tokenUrl;\n\t\tthis.userinfoUrl = oidcConfigDto.userinfoUrl;\n\t\tthis.logoutUrl = oidcConfigDto.logoutUrl;\n\t\tthis.defaultScopes = oidcConfigDto.defaultScopes;\n\t}\n\n\tparentSystemId: string;\n\n\tclientId: string;\n\n\tclientSecret: string;\n\n\tidpHint: string;\n\n\tauthorizationUrl: string;\n\n\ttokenUrl: string;\n\n\tlogoutUrl: string;\n\n\tuserinfoUrl: string;\n\n\tdefaultScopes: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OidcConfigEntity.html":{"url":"classes/OidcConfigEntity.html","title":"class - OidcConfigEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OidcConfigEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/system.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n authorizationUrl\n \n \n \n clientId\n \n \n \n clientSecret\n \n \n \n defaultScopes\n \n \n \n idpHint\n \n \n \n logoutUrl\n \n \n \n tokenUrl\n \n \n \n userinfoUrl\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oidcConfig: OidcConfigEntity)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:153\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oidcConfig\n \n \n OidcConfigEntity\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n authorizationUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:175\n \n \n\n\n \n \n \n \n \n \n \n \n \n clientId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:166\n \n \n\n\n \n \n \n \n \n \n \n \n \n clientSecret\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:169\n \n \n\n\n \n \n \n \n \n \n \n \n \n defaultScopes\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:187\n \n \n\n\n \n \n \n \n \n \n \n \n \n idpHint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:172\n \n \n\n\n \n \n \n \n \n \n \n \n \n logoutUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:181\n \n \n\n\n \n \n \n \n \n \n \n \n \n tokenUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:178\n \n \n\n\n \n \n \n \n \n \n \n \n \n userinfoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:184\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Embedded, Entity, Enum, Property } from '@mikro-orm/core';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface SystemEntityProps {\n\ttype: string;\n\turl?: string;\n\talias?: string;\n\tdisplayName?: string;\n\toauthConfig?: OauthConfigEntity;\n\toidcConfig?: OidcConfigEntity;\n\tldapConfig?: LdapConfigEntity;\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\tprovisioningUrl?: string;\n}\n\nexport class OauthConfigEntity {\n\tconstructor(oauthConfig: OauthConfigEntity) {\n\t\tthis.clientId = oauthConfig.clientId;\n\t\tthis.clientSecret = oauthConfig.clientSecret;\n\t\tthis.idpHint = oauthConfig.idpHint;\n\t\tthis.tokenEndpoint = oauthConfig.tokenEndpoint;\n\t\tthis.grantType = oauthConfig.grantType;\n\t\tthis.redirectUri = oauthConfig.redirectUri;\n\t\tthis.scope = oauthConfig.scope;\n\t\tthis.responseType = oauthConfig.responseType;\n\t\tthis.authEndpoint = oauthConfig.authEndpoint;\n\t\tthis.provider = oauthConfig.provider;\n\t\tthis.logoutEndpoint = oauthConfig.logoutEndpoint;\n\t\tthis.issuer = oauthConfig.issuer;\n\t\tthis.jwksEndpoint = oauthConfig.jwksEndpoint;\n\t}\n\n\t@Property()\n\tclientId: string;\n\n\t@Property()\n\tclientSecret: string;\n\n\t@Property({ nullable: true })\n\tidpHint?: string;\n\n\t@Property()\n\tredirectUri: string;\n\n\t@Property()\n\tgrantType: string;\n\n\t@Property()\n\ttokenEndpoint: string;\n\n\t@Property()\n\tauthEndpoint: string;\n\n\t@Property()\n\tresponseType: string;\n\n\t@Property()\n\tscope: string;\n\n\t@Property()\n\tprovider: string;\n\n\t@Property({ nullable: true })\n\tlogoutEndpoint?: string;\n\n\t@Property()\n\tissuer: string;\n\n\t@Property()\n\tjwksEndpoint: string;\n}\n\n@Embeddable()\nexport class LdapConfigEntity {\n\tconstructor(ldapConfig: Readonly) {\n\t\tthis.active = ldapConfig.active;\n\t\tthis.federalState = ldapConfig.federalState;\n\t\tthis.lastSyncAttempt = ldapConfig.lastSyncAttempt;\n\t\tthis.lastSuccessfulFullSync = ldapConfig.lastSuccessfulFullSync;\n\t\tthis.lastSuccessfulPartialSync = ldapConfig.lastSuccessfulPartialSync;\n\t\tthis.lastModifyTimestamp = ldapConfig.lastModifyTimestamp;\n\t\tthis.url = ldapConfig.url;\n\t\tthis.rootPath = ldapConfig.rootPath;\n\t\tthis.searchUser = ldapConfig.searchUser;\n\t\tthis.searchUserPassword = ldapConfig.searchUserPassword;\n\t\tthis.provider = ldapConfig.provider;\n\t\tthis.providerOptions = ldapConfig.providerOptions;\n\t}\n\n\t@Property({ nullable: true })\n\tactive?: boolean;\n\n\t@Property({ nullable: true })\n\tfederalState?: EntityId;\n\n\t@Property({ nullable: true })\n\tlastSyncAttempt?: Date;\n\n\t@Property({ nullable: true })\n\tlastSuccessfulFullSync?: Date;\n\n\t@Property({ nullable: true })\n\tlastSuccessfulPartialSync?: Date;\n\n\t@Property({ nullable: true })\n\tlastModifyTimestamp?: string;\n\n\t@Property()\n\turl: string;\n\n\t@Property({ nullable: true })\n\trootPath?: string;\n\n\t@Property({ nullable: true })\n\tsearchUser?: string;\n\n\t@Property({ nullable: true })\n\tsearchUserPassword?: string;\n\n\t@Property({ nullable: true })\n\tprovider?: string;\n\n\t@Property({ nullable: true })\n\tproviderOptions?: {\n\t\tschoolName?: string;\n\t\tuserPathAdditions?: string;\n\t\tclassPathAdditions?: string;\n\t\troleType?: string;\n\t\tuserAttributeNameMapping?: {\n\t\t\tgivenName?: string;\n\t\t\tsn?: string;\n\t\t\tdn?: string;\n\t\t\tuuid?: string;\n\t\t\tuid?: string;\n\t\t\tmail?: string;\n\t\t\trole?: string;\n\t\t};\n\t\troleAttributeNameMapping?: {\n\t\t\troleStudent?: string;\n\t\t\troleTeacher?: string;\n\t\t\troleAdmin?: string;\n\t\t\troleNoSc?: string;\n\t\t};\n\t\tclassAttributeNameMapping?: {\n\t\t\tdescription?: string;\n\t\t\tdn?: string;\n\t\t\tuniqueMember?: string;\n\t\t};\n\t};\n}\nexport class OidcConfigEntity {\n\tconstructor(oidcConfig: OidcConfigEntity) {\n\t\tthis.clientId = oidcConfig.clientId;\n\t\tthis.clientSecret = oidcConfig.clientSecret;\n\t\tthis.idpHint = oidcConfig.idpHint;\n\t\tthis.authorizationUrl = oidcConfig.authorizationUrl;\n\t\tthis.tokenUrl = oidcConfig.tokenUrl;\n\t\tthis.logoutUrl = oidcConfig.logoutUrl;\n\t\tthis.userinfoUrl = oidcConfig.userinfoUrl;\n\t\tthis.defaultScopes = oidcConfig.defaultScopes;\n\t}\n\n\t@Property()\n\tclientId: string;\n\n\t@Property()\n\tclientSecret: string;\n\n\t@Property()\n\tidpHint: string;\n\n\t@Property()\n\tauthorizationUrl: string;\n\n\t@Property()\n\ttokenUrl: string;\n\n\t@Property()\n\tlogoutUrl: string;\n\n\t@Property()\n\tuserinfoUrl: string;\n\n\t@Property()\n\tdefaultScopes: string;\n}\n\n@Entity({ tableName: 'systems' })\nexport class SystemEntity extends BaseEntityWithTimestamps {\n\tconstructor(props: SystemEntityProps) {\n\t\tsuper();\n\t\tthis.type = props.type;\n\t\tthis.url = props.url;\n\t\tthis.alias = props.alias;\n\t\tthis.displayName = props.displayName;\n\t\tthis.oauthConfig = props.oauthConfig;\n\t\tthis.oidcConfig = props.oidcConfig;\n\t\tthis.ldapConfig = props.ldapConfig;\n\t\tthis.provisioningStrategy = props.provisioningStrategy;\n\t\tthis.provisioningUrl = props.provisioningUrl;\n\t}\n\n\t@Property({ nullable: false })\n\ttype: string; // see legacy enum for valid values\n\n\t@Property({ nullable: true })\n\turl?: string;\n\n\t@Property({ nullable: true })\n\talias?: string;\n\n\t@Property({ nullable: true })\n\tdisplayName?: string;\n\n\t@Property({ nullable: true })\n\toauthConfig?: OauthConfigEntity;\n\n\t@Property({ nullable: true })\n\t@Enum()\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\n\t@Property({ nullable: true })\n\toidcConfig?: OidcConfigEntity;\n\n\t@Embedded({ entity: () => LdapConfigEntity, object: true, nullable: true })\n\tldapConfig?: LdapConfigEntity;\n\n\t@Property({ nullable: true })\n\tprovisioningUrl?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OidcContextResponse.html":{"url":"classes/OidcContextResponse.html","title":"class - OidcContextResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OidcContextResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/response/oidc-context.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n acr_values\n \n \n \n Optional\n display\n \n \n \n Optional\n id_token_hint_claims\n \n \n \n Optional\n login_hint\n \n \n \n \n Optional\n ui_locales\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n acr_values\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/oidc-context.response.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n display\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/oidc-context.response.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n id_token_hint_claims\n \n \n \n \n \n \n Type : object\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/oidc-context.response.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n login_hint\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/oidc-context.response.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n ui_locales\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @Optional()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/oidc-context.response.ts:19\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { Optional } from '@nestjs/common';\n\nexport class OidcContextResponse {\n\t@ApiProperty()\n\tacr_values?: string[];\n\n\t@ApiProperty()\n\tdisplay?: string;\n\n\t@ApiProperty()\n\tid_token_hint_claims?: object;\n\n\t@ApiProperty()\n\tlogin_hint?: string;\n\n\t@Optional()\n\t@ApiProperty()\n\tui_locales?: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/OidcIdentityProviderMapper.html":{"url":"classes/OidcIdentityProviderMapper.html","title":"class - OidcIdentityProviderMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n OidcIdentityProviderMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/mapper/identity-provider.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n mapToKeycloakIdentityProvider\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(defaultEncryptionService: EncryptionService)\n \n \n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/mapper/identity-provider.mapper.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n defaultEncryptionService\n \n \n EncryptionService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n mapToKeycloakIdentityProvider\n \n \n \n \n \n \n \n mapToKeycloakIdentityProvider(oidcConfig: OidcConfigDto, flowAlias: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/identity-management/keycloak-configuration/mapper/identity-provider.mapper.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oidcConfig\n \n OidcConfigDto\n \n\n \n No\n \n\n\n \n \n flowAlias\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : IdentityProviderRepresentation\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { DefaultEncryptionService, EncryptionService } from '@infra/encryption';\nimport IdentityProviderRepresentation from '@keycloak/keycloak-admin-client/lib/defs/identityProviderRepresentation';\nimport { OidcConfigDto } from '@modules/system/service';\nimport { Inject } from '@nestjs/common';\n\nexport class OidcIdentityProviderMapper {\n\tconstructor(@Inject(DefaultEncryptionService) private readonly defaultEncryptionService: EncryptionService) {}\n\n\tpublic mapToKeycloakIdentityProvider(oidcConfig: OidcConfigDto, flowAlias: string): IdentityProviderRepresentation {\n\t\treturn {\n\t\t\tproviderId: 'oidc',\n\t\t\talias: oidcConfig.idpHint,\n\t\t\tdisplayName: oidcConfig.idpHint,\n\t\t\tenabled: true,\n\t\t\tfirstBrokerLoginFlowAlias: flowAlias,\n\t\t\tconfig: {\n\t\t\t\tclientId: oidcConfig.clientId,\n\t\t\t\tclientSecret: this.defaultEncryptionService.decrypt(oidcConfig.clientSecret),\n\t\t\t\tauthorizationUrl: oidcConfig.authorizationUrl,\n\t\t\t\ttokenUrl: oidcConfig.tokenUrl,\n\t\t\t\tlogoutUrl: oidcConfig.logoutUrl,\n\t\t\t\tuserInfoUrl: oidcConfig.userinfoUrl,\n\t\t\t\tdefaultScope: oidcConfig.defaultScopes,\n\t\t\t\tsyncMode: 'IMPORT',\n\t\t\t\tsync_mode: 'import',\n\t\t\t\tclientAuthMethod: 'client_secret_post',\n\t\t\t\tbackchannelSupported: 'true',\n\t\t\t\tprompt: 'login',\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OidcMockProvisioningStrategy.html":{"url":"injectables/OidcMockProvisioningStrategy.html","title":"injectable - OidcMockProvisioningStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OidcMockProvisioningStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/oidc-mock/oidc-mock.strategy.ts\n \n\n\n\n \n Extends\n \n \n ProvisioningStrategy\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n apply\n \n \n \n Async\n getData\n \n \n getType\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n apply\n \n \n \n \n \n \n \n apply(data: OauthDataDto)\n \n \n\n\n \n \n Inherited from ProvisioningStrategy\n\n \n \n \n \n Defined in ProvisioningStrategy:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n OauthDataDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getData\n \n \n \n \n \n \n \n getData(input: OauthDataStrategyInputDto)\n \n \n\n\n \n \n Inherited from ProvisioningStrategy\n\n \n \n \n \n Defined in ProvisioningStrategy:14\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n input\n \n OauthDataStrategyInputDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getType\n \n \n \n \n \n \ngetType()\n \n \n\n\n \n \n Inherited from ProvisioningStrategy\n\n \n \n \n \n Defined in ProvisioningStrategy:10\n\n \n \n\n\n \n \n\n \n Returns : SystemProvisioningStrategy\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport jwt, { JwtPayload } from 'jsonwebtoken';\nimport { IdTokenExtractionFailureLoggableException } from '@modules/oauth/loggable';\nimport { ExternalUserDto, OauthDataDto, OauthDataStrategyInputDto, ProvisioningDto } from '../../dto';\nimport { ProvisioningStrategy } from '../base.strategy';\n\n@Injectable()\nexport class OidcMockProvisioningStrategy extends ProvisioningStrategy {\n\tgetType(): SystemProvisioningStrategy {\n\t\treturn SystemProvisioningStrategy.OIDC;\n\t}\n\n\toverride async getData(input: OauthDataStrategyInputDto): Promise {\n\t\tconst idToken = jwt.decode(input.idToken, { json: true }) as (JwtPayload & { external_sub?: string }) | null;\n\t\tif (!idToken || !idToken.external_sub) {\n\t\t\tthrow new IdTokenExtractionFailureLoggableException('external_sub');\n\t\t}\n\n\t\tconst externalUser: ExternalUserDto = new ExternalUserDto({\n\t\t\texternalId: idToken.external_sub,\n\t\t});\n\n\t\tconst oauthData: OauthDataDto = new OauthDataDto({\n\t\t\tsystem: input.system,\n\t\t\texternalUser,\n\t\t});\n\t\treturn Promise.resolve(oauthData);\n\t}\n\n\toverride apply(data: OauthDataDto): Promise {\n\t\treturn Promise.resolve(new ProvisioningDto({ externalUserId: data.externalUser.externalId }));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OidcProvisioningService.html":{"url":"injectables/OidcProvisioningService.html","title":"injectable - OidcProvisioningService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OidcProvisioningService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/oidc/service/oidc-provisioning.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n getFilteredGroupUsers\n \n \n Private\n Async\n getGroupUser\n \n \n Private\n getSchoolName\n \n \n Async\n provisionExternalGroup\n \n \n Async\n provisionExternalSchool\n \n \n Async\n provisionExternalUser\n \n \n Async\n removeExternalGroupsAndAffiliation\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userService: UserService, schoolService: LegacySchoolService, groupService: GroupService, roleService: RoleService, accountService: AccountService, schoolYearService: SchoolYearService, federalStateService: FederalStateService, logger: Logger)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/oidc/service/oidc-provisioning.service.ts:21\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n groupService\n \n \n GroupService\n \n \n \n No\n \n \n \n \n roleService\n \n \n RoleService\n \n \n \n No\n \n \n \n \n accountService\n \n \n AccountService\n \n \n \n No\n \n \n \n \n schoolYearService\n \n \n SchoolYearService\n \n \n \n No\n \n \n \n \n federalStateService\n \n \n FederalStateService\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n getFilteredGroupUsers\n \n \n \n \n \n \n \n getFilteredGroupUsers(externalGroup: ExternalGroupDto, systemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/oidc/service/oidc-provisioning.service.ts:189\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalGroup\n \n ExternalGroupDto\n \n\n \n No\n \n\n\n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getGroupUser\n \n \n \n \n \n \n \n getGroupUser(externalGroupUser: ExternalGroupUserDto, systemId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/oidc/service/oidc-provisioning.service.ts:206\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalGroupUser\n \n ExternalGroupUserDto\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getSchoolName\n \n \n \n \n \n \n \n getSchoolName(externalSchool: ExternalSchoolDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/oidc/service/oidc-provisioning.service.ts:71\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalSchool\n \n ExternalSchoolDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n provisionExternalGroup\n \n \n \n \n \n \n \n provisionExternalGroup(externalGroup: ExternalGroupDto, externalSchool: ExternalSchoolDto | undefined, systemId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/oidc/service/oidc-provisioning.service.ts:133\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalGroup\n \n ExternalGroupDto\n \n\n \n No\n \n\n\n \n \n externalSchool\n \n ExternalSchoolDto | undefined\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n provisionExternalSchool\n \n \n \n \n \n \n \n provisionExternalSchool(externalSchool: ExternalSchoolDto, systemId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/oidc/service/oidc-provisioning.service.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalSchool\n \n ExternalSchoolDto\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n provisionExternalUser\n \n \n \n \n \n \n \n provisionExternalUser(externalUser: ExternalUserDto, systemId: EntityId, schoolId?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/oidc/service/oidc-provisioning.service.ts:79\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalUser\n \n ExternalUserDto\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolId\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n removeExternalGroupsAndAffiliation\n \n \n \n \n \n \n \n removeExternalGroupsAndAffiliation(externalUserId: string, externalGroups: ExternalGroupDto[], systemId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/oidc/service/oidc-provisioning.service.ts:223\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalUserId\n \n string\n \n\n \n No\n \n\n\n \n \n externalGroups\n \n ExternalGroupDto[]\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AccountService } from '@modules/account/services/account.service';\nimport { AccountSaveDto } from '@modules/account/services/dto';\nimport { Group, GroupService, GroupUser } from '@modules/group';\nimport { FederalStateService, LegacySchoolService, SchoolYearService } from '@modules/legacy-school';\nimport { FederalStateNames } from '@modules/legacy-school/types';\nimport { RoleService } from '@modules/role';\nimport { RoleDto } from '@modules/role/service/dto/role.dto';\nimport { UserService } from '@modules/user';\nimport { Injectable, UnprocessableEntityException } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { ExternalSource, LegacySchoolDo, RoleReference, UserDO } from '@shared/domain/domainobject';\nimport { FederalStateEntity, SchoolFeatures, SchoolYearEntity } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { Logger } from '@src/core/logger';\nimport { ObjectId } from 'bson';\nimport CryptoJS from 'crypto-js';\nimport { ExternalGroupDto, ExternalGroupUserDto, ExternalSchoolDto, ExternalUserDto } from '../../../dto';\nimport { SchoolForGroupNotFoundLoggable, UserForGroupNotFoundLoggable } from '../../../loggable';\n\n@Injectable()\nexport class OidcProvisioningService {\n\tconstructor(\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly schoolService: LegacySchoolService,\n\t\tprivate readonly groupService: GroupService,\n\t\tprivate readonly roleService: RoleService,\n\t\tprivate readonly accountService: AccountService,\n\t\tprivate readonly schoolYearService: SchoolYearService,\n\t\tprivate readonly federalStateService: FederalStateService,\n\t\tprivate readonly logger: Logger\n\t) {}\n\n\tasync provisionExternalSchool(externalSchool: ExternalSchoolDto, systemId: EntityId): Promise {\n\t\tconst existingSchool: LegacySchoolDo | null = await this.schoolService.getSchoolByExternalId(\n\t\t\texternalSchool.externalId,\n\t\t\tsystemId\n\t\t);\n\t\tlet school: LegacySchoolDo;\n\t\tif (existingSchool) {\n\t\t\tschool = existingSchool;\n\t\t\tschool.name = this.getSchoolName(externalSchool);\n\t\t\tschool.officialSchoolNumber = externalSchool.officialSchoolNumber ?? existingSchool.officialSchoolNumber;\n\t\t\tif (!school.systems) {\n\t\t\t\tschool.systems = [systemId];\n\t\t\t} else if (!school.systems.includes(systemId)) {\n\t\t\t\tschool.systems.push(systemId);\n\t\t\t}\n\t\t} else {\n\t\t\tconst schoolYear: SchoolYearEntity = await this.schoolYearService.getCurrentSchoolYear();\n\t\t\tconst federalState: FederalStateEntity = await this.federalStateService.findFederalStateByName(\n\t\t\t\tFederalStateNames.NIEDERSACHEN\n\t\t\t);\n\n\t\t\tschool = new LegacySchoolDo({\n\t\t\t\texternalId: externalSchool.externalId,\n\t\t\t\tname: this.getSchoolName(externalSchool),\n\t\t\t\tofficialSchoolNumber: externalSchool.officialSchoolNumber,\n\t\t\t\tsystems: [systemId],\n\t\t\t\tfeatures: [SchoolFeatures.OAUTH_PROVISIONING_ENABLED],\n\t\t\t\t// TODO: N21-990 Refactoring: Create domain objects for schoolYear and federalState\n\t\t\t\tschoolYear,\n\t\t\t\tfederalState,\n\t\t\t});\n\t\t}\n\n\t\tconst savedSchool: LegacySchoolDo = await this.schoolService.save(school, true);\n\n\t\treturn savedSchool;\n\t}\n\n\tprivate getSchoolName(externalSchool: ExternalSchoolDto): string {\n\t\tconst schoolName: string = externalSchool.location\n\t\t\t? `${externalSchool.name} (${externalSchool.location})`\n\t\t\t: externalSchool.name;\n\n\t\treturn schoolName;\n\t}\n\n\tasync provisionExternalUser(externalUser: ExternalUserDto, systemId: EntityId, schoolId?: string): Promise {\n\t\tlet roleRefs: RoleReference[] | undefined;\n\t\tif (externalUser.roles) {\n\t\t\tconst roles: RoleDto[] = await this.roleService.findByNames(externalUser.roles);\n\t\t\troleRefs = roles.map((role: RoleDto): RoleReference => new RoleReference({ id: role.id || '', name: role.name }));\n\t\t}\n\n\t\tconst existingUser: UserDO | null = await this.userService.findByExternalId(externalUser.externalId, systemId);\n\t\tlet user: UserDO;\n\t\tlet createNewAccount = false;\n\t\tif (existingUser) {\n\t\t\tuser = existingUser;\n\t\t\tuser.firstName = externalUser.firstName ?? existingUser.firstName;\n\t\t\tuser.lastName = externalUser.lastName ?? existingUser.lastName;\n\t\t\tuser.email = externalUser.email ?? existingUser.email;\n\t\t\tuser.roles = roleRefs ?? existingUser.roles;\n\t\t\tuser.schoolId = schoolId ?? existingUser.schoolId;\n\t\t\tuser.birthday = externalUser.birthday ?? existingUser.birthday;\n\t\t} else {\n\t\t\tcreateNewAccount = true;\n\n\t\t\tif (!schoolId) {\n\t\t\t\tthrow new UnprocessableEntityException(\n\t\t\t\t\t`Unable to create new external user ${externalUser.externalId} without a school`\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tuser = new UserDO({\n\t\t\t\texternalId: externalUser.externalId,\n\t\t\t\tfirstName: externalUser.firstName ?? '',\n\t\t\t\tlastName: externalUser.lastName ?? '',\n\t\t\t\temail: externalUser.email ?? '',\n\t\t\t\troles: roleRefs ?? [],\n\t\t\t\tschoolId,\n\t\t\t\tbirthday: externalUser.birthday,\n\t\t\t});\n\t\t}\n\n\t\tconst savedUser: UserDO = await this.userService.save(user);\n\n\t\tif (createNewAccount) {\n\t\t\tawait this.accountService.saveWithValidation(\n\t\t\t\tnew AccountSaveDto({\n\t\t\t\t\tuserId: savedUser.id,\n\t\t\t\t\tusername: CryptoJS.SHA256(savedUser.id as string).toString(CryptoJS.enc.Base64),\n\t\t\t\t\tsystemId,\n\t\t\t\t\tactivated: true,\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\n\t\treturn savedUser;\n\t}\n\n\tasync provisionExternalGroup(\n\t\texternalGroup: ExternalGroupDto,\n\t\texternalSchool: ExternalSchoolDto | undefined,\n\t\tsystemId: EntityId\n\t): Promise {\n\t\tlet organizationId: string | undefined;\n\t\tif (externalSchool) {\n\t\t\tconst existingSchool: LegacySchoolDo | null = await this.schoolService.getSchoolByExternalId(\n\t\t\t\texternalSchool.externalId,\n\t\t\t\tsystemId\n\t\t\t);\n\n\t\t\tif (!existingSchool || !existingSchool.id) {\n\t\t\t\tthis.logger.info(new SchoolForGroupNotFoundLoggable(externalGroup, externalSchool));\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\torganizationId = existingSchool.id;\n\t\t}\n\n\t\tconst existingGroup: Group | null = await this.groupService.findByExternalSource(\n\t\t\texternalGroup.externalId,\n\t\t\tsystemId\n\t\t);\n\n\t\tconst group: Group = new Group({\n\t\t\tid: existingGroup?.id ?? new ObjectId().toHexString(),\n\t\t\tname: externalGroup.name,\n\t\t\texternalSource: new ExternalSource({\n\t\t\t\texternalId: externalGroup.externalId,\n\t\t\t\tsystemId,\n\t\t\t}),\n\t\t\ttype: externalGroup.type,\n\t\t\torganizationId,\n\t\t\tvalidFrom: externalGroup.from,\n\t\t\tvalidUntil: externalGroup.until,\n\t\t\tusers: existingGroup?.users ?? [],\n\t\t});\n\n\t\tif (externalGroup.otherUsers !== undefined) {\n\t\t\tconst otherUsers: GroupUser[] = await this.getFilteredGroupUsers(externalGroup, systemId);\n\n\t\t\tgroup.users = otherUsers;\n\t\t}\n\n\t\tconst self: GroupUser | null = await this.getGroupUser(externalGroup.user, systemId);\n\n\t\tif (!self) {\n\t\t\tthrow new NotFoundLoggableException(UserDO.name, 'externalId', externalGroup.user.externalUserId);\n\t\t}\n\n\t\tgroup.addUser(self);\n\n\t\tawait this.groupService.save(group);\n\t}\n\n\tprivate async getFilteredGroupUsers(externalGroup: ExternalGroupDto, systemId: string): Promise {\n\t\tif (!externalGroup.otherUsers?.length) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst users: (GroupUser | null)[] = await Promise.all(\n\t\t\texternalGroup.otherUsers.map(\n\t\t\t\tasync (externalGroupUser: ExternalGroupUserDto): Promise =>\n\t\t\t\t\tthis.getGroupUser(externalGroupUser, systemId)\n\t\t\t)\n\t\t);\n\n\t\tconst filteredUsers: GroupUser[] = users.filter((groupUser): groupUser is GroupUser => groupUser !== null);\n\n\t\treturn filteredUsers;\n\t}\n\n\tprivate async getGroupUser(externalGroupUser: ExternalGroupUserDto, systemId: EntityId): Promise {\n\t\tconst user: UserDO | null = await this.userService.findByExternalId(externalGroupUser.externalUserId, systemId);\n\t\tconst roles: RoleDto[] = await this.roleService.findByNames([externalGroupUser.roleName]);\n\n\t\tif (!user?.id || roles.length !== 1 || !roles[0].id) {\n\t\t\tthis.logger.info(new UserForGroupNotFoundLoggable(externalGroupUser));\n\t\t\treturn null;\n\t\t}\n\n\t\tconst groupUser: GroupUser = new GroupUser({\n\t\t\tuserId: user.id,\n\t\t\troleId: roles[0].id,\n\t\t});\n\n\t\treturn groupUser;\n\t}\n\n\tasync removeExternalGroupsAndAffiliation(\n\t\texternalUserId: string,\n\t\texternalGroups: ExternalGroupDto[],\n\t\tsystemId: EntityId\n\t): Promise {\n\t\tconst user: UserDO | null = await this.userService.findByExternalId(externalUserId, systemId);\n\n\t\tif (!user) {\n\t\t\tthrow new NotFoundLoggableException(UserDO.name, 'externalId', externalUserId);\n\t\t}\n\n\t\tconst existingGroupsOfUser: Group[] = await this.groupService.findByUser(user);\n\n\t\tconst groupsFromSystem: Group[] = existingGroupsOfUser.filter(\n\t\t\t(existingGroup: Group) => existingGroup.externalSource?.systemId === systemId\n\t\t);\n\n\t\tconst groupsWithoutUser: Group[] = groupsFromSystem.filter((existingGroupFromSystem: Group) => {\n\t\t\tconst isUserInGroup = externalGroups.some(\n\t\t\t\t(externalGroup: ExternalGroupDto) =>\n\t\t\t\t\texternalGroup.externalId === existingGroupFromSystem.externalSource?.externalId\n\t\t\t);\n\n\t\t\treturn !isUserInGroup;\n\t\t});\n\n\t\tawait Promise.all(\n\t\t\tgroupsWithoutUser.map(async (group: Group) => {\n\t\t\t\tgroup.removeUser(user);\n\n\t\t\t\tif (group.isEmpty()) {\n\t\t\t\t\tawait this.groupService.delete(group);\n\t\t\t\t} else {\n\t\t\t\t\tawait this.groupService.save(group);\n\t\t\t\t}\n\t\t\t})\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/OidcProvisioningStrategy.html":{"url":"injectables/OidcProvisioningStrategy.html","title":"injectable - OidcProvisioningStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n OidcProvisioningStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/oidc/oidc.strategy.ts\n \n\n\n\n \n Extends\n \n \n ProvisioningStrategy\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n apply\n \n \n Abstract\n getData\n \n \n Abstract\n getType\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(oidcProvisioningService: OidcProvisioningService)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/oidc/oidc.strategy.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n oidcProvisioningService\n \n \n OidcProvisioningService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n apply\n \n \n \n \n \n \n \n apply(data: OauthDataDto)\n \n \n\n\n \n \n Inherited from ProvisioningStrategy\n\n \n \n \n \n Defined in ProvisioningStrategy:14\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n OauthDataDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getData\n \n \n \n \n \n \n \n getData(input: OauthDataStrategyInputDto)\n \n \n\n\n \n \n Inherited from ProvisioningStrategy\n\n \n \n \n \n Defined in ProvisioningStrategy:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n input\n \n OauthDataStrategyInputDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getType\n \n \n \n \n \n \n \n getType()\n \n \n\n\n \n \n Inherited from ProvisioningStrategy\n\n \n \n \n \n Defined in ProvisioningStrategy:5\n\n \n \n\n\n \n \n\n \n Returns : SystemProvisioningStrategy\n\n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { Injectable } from '@nestjs/common';\nimport { LegacySchoolDo, UserDO } from '@shared/domain/domainobject';\nimport { OauthDataDto, ProvisioningDto } from '../../dto';\nimport { ProvisioningStrategy } from '../base.strategy';\nimport { OidcProvisioningService } from './service/oidc-provisioning.service';\n\n@Injectable()\nexport abstract class OidcProvisioningStrategy extends ProvisioningStrategy {\n\tconstructor(protected readonly oidcProvisioningService: OidcProvisioningService) {\n\t\tsuper();\n\t}\n\n\toverride async apply(data: OauthDataDto): Promise {\n\t\tlet school: LegacySchoolDo | undefined;\n\t\tif (data.externalSchool) {\n\t\t\tschool = await this.oidcProvisioningService.provisionExternalSchool(data.externalSchool, data.system.systemId);\n\t\t}\n\n\t\tconst user: UserDO = await this.oidcProvisioningService.provisionExternalUser(\n\t\t\tdata.externalUser,\n\t\t\tdata.system.systemId,\n\t\t\tschool?.id\n\t\t);\n\n\t\tif (Configuration.get('FEATURE_SANIS_GROUP_PROVISIONING_ENABLED')) {\n\t\t\tawait this.oidcProvisioningService.removeExternalGroupsAndAffiliation(\n\t\t\t\tdata.externalUser.externalId,\n\t\t\t\tdata.externalGroups ?? [],\n\t\t\t\tdata.system.systemId\n\t\t\t);\n\n\t\t\tif (data.externalGroups) {\n\t\t\t\tawait Promise.all(\n\t\t\t\t\tdata.externalGroups.map((externalGroup) =>\n\t\t\t\t\t\tthis.oidcProvisioningService.provisionExternalGroup(\n\t\t\t\t\t\t\texternalGroup,\n\t\t\t\t\t\t\tdata.externalSchool,\n\t\t\t\t\t\t\tdata.system.systemId\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\treturn new ProvisioningDto({ externalUserId: user.externalId || data.externalUser.externalId });\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Options.html":{"url":"interfaces/Options.html","title":"interface - Options","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Options\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/management/console/database-management.console.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n collection\n \n \n \n Optional\n \n onlyfactories\n \n \n \n Optional\n \n override\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n collection\n \n \n \n \n \n \n \n \n collection: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n onlyfactories\n \n \n \n \n \n \n \n \n onlyfactories: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n override\n \n \n \n \n \n \n \n \n override: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { ConsoleWriterService } from '@infra/console/console-writer/console-writer.service';\nimport { Command, Console } from 'nestjs-console';\nimport { DatabaseManagementUc } from '../uc/database-management.uc';\n\ninterface Options {\n\tcollection?: string;\n\toverride?: boolean;\n\tonlyfactories?: boolean;\n}\n\n@Console({ command: 'database', description: 'database setup console' })\nexport class DatabaseManagementConsole {\n\tconstructor(private consoleWriter: ConsoleWriterService, private databaseManagementUc: DatabaseManagementUc) {}\n\n\t@Command({\n\t\tcommand: 'seed',\n\t\toptions: [\n\t\t\t{\n\t\t\t\tflags: '-c, --collection ',\n\t\t\t\trequired: false,\n\t\t\t\tdescription: 'filter for a single ',\n\t\t\t},\n\t\t\t{\n\t\t\t\tflags: '-o, --onlyfactories',\n\t\t\t\trequired: false,\n\t\t\t\tdescription: 'seed from factories only',\n\t\t\t},\n\t\t],\n\t\tdescription: 'reset database collections with seed data from filesystem',\n\t})\n\tasync seedCollections(options: Options): Promise {\n\t\tconst filter = options?.collection ? [options.collection] : undefined;\n\n\t\tconst collections = options.onlyfactories\n\t\t\t? await this.databaseManagementUc.seedDatabaseCollectionsFromFactories(filter)\n\t\t\t: await this.databaseManagementUc.seedDatabaseCollectionsFromFileSystem(filter);\n\t\tconst report = JSON.stringify(collections);\n\t\tthis.consoleWriter.info(report);\n\t\treturn collections;\n\t}\n\n\t@Command({\n\t\tcommand: 'export',\n\t\toptions: [\n\t\t\t{\n\t\t\t\tflags: '-c, --collection ',\n\t\t\t\trequired: false,\n\t\t\t\tdescription: 'filter for a single ',\n\t\t\t},\n\t\t\t{\n\t\t\t\tflags: '-o, --override',\n\t\t\t\trequired: false,\n\t\t\t\tdescription: 'optional export collections to setup folder and override existing files',\n\t\t\t},\n\t\t],\n\t\tdescription: 'export database collections to filesystem',\n\t})\n\tasync exportCollections(options: Options): Promise {\n\t\tconst filter = options?.collection ? [options.collection] : undefined;\n\t\tconst toSeedFolder = options?.override ? true : undefined;\n\t\tconst collections = await this.databaseManagementUc.exportCollectionsToFileSystem(filter, toSeedFolder);\n\t\tconst report = JSON.stringify(collections);\n\t\tthis.consoleWriter.info(report);\n\t\treturn collections;\n\t}\n\n\t@Command({\n\t\tcommand: 'sync-indexes',\n\t\toptions: [],\n\t\tdescription: 'sync indexes from nest and mikroorm',\n\t})\n\tasync syncIndexes(): Promise {\n\t\tawait this.databaseManagementUc.syncIndexes();\n\t\tconst report = 'sync of indexes is completed';\n\t\tthis.consoleWriter.info(report);\n\t\treturn report;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Page.html":{"url":"classes/Page.html","title":"class - Page","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Page\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/page.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n data\n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: T[], total: number)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/page.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n T[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : T[]\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/page.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/page.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class Page {\n\tdata: T[];\n\n\ttotal: number;\n\n\tconstructor(data: T[], total: number) {\n\t\tthis.data = data;\n\t\tthis.total = total;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PageContentDto.html":{"url":"classes/PageContentDto.html","title":"class - PageContentDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PageContentDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/service/dto/page-content.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n cancelButtonUrl\n \n \n proceedButtonUrl\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: PageContentDto)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/dto/page-content.dto.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n PageContentDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n cancelButtonUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/dto/page-content.dto.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n proceedButtonUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/dto/page-content.dto.ts:2\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class PageContentDto {\n\tproceedButtonUrl: string;\n\n\tcancelButtonUrl: string;\n\n\tconstructor(props: PageContentDto) {\n\t\tthis.proceedButtonUrl = props.proceedButtonUrl;\n\t\tthis.cancelButtonUrl = props.cancelButtonUrl;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Pagination.html":{"url":"interfaces/Pagination.html","title":"interface - Pagination","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Pagination\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/interface/find-options.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n limit\n \n \n \n Optional\n \n skip\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n limit\n \n \n \n \n \n \n \n \n limit: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n skip\n \n \n \n \n \n \n \n \n skip: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface Pagination {\n\tskip?: number;\n\tlimit?: number;\n}\n\nexport enum SortOrder {\n\tasc = 'asc',\n\tdesc = 'desc',\n}\n\nexport type SortOrderMap = Partial>;\n\nexport interface IFindOptions {\n\tpagination?: Pagination;\n\torder?: SortOrderMap;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PaginationParams.html":{"url":"classes/PaginationParams.html","title":"class - PaginationParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PaginationParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/controller/dto/pagination.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n Optional\n skip\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 10\n \n \n \n \n Decorators : \n \n \n @IsInt()@Min(1)@Max(100)@ApiPropertyOptional({description: 'Page limit, defaults to 10.', minimum: 1, maximum: 99})\n \n \n \n \n \n Defined in apps/server/src/shared/controller/dto/pagination.params.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 0\n \n \n \n \n Decorators : \n \n \n @IsInt()@Min(0)@ApiPropertyOptional({description: 'Number of elements (not pages) to be skipped'})\n \n \n \n \n \n Defined in apps/server/src/shared/controller/dto/pagination.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsInt, Max, Min } from 'class-validator';\nimport { ApiPropertyOptional } from '@nestjs/swagger';\n\nexport class PaginationParams {\n\t@IsInt()\n\t@Min(0)\n\t@ApiPropertyOptional({ description: 'Number of elements (not pages) to be skipped' })\n\tskip?: number = 0;\n\n\t@IsInt()\n\t@Min(1)\n\t@Max(100)\n\t@ApiPropertyOptional({ description: 'Page limit, defaults to 10.', minimum: 1, maximum: 99 })\n\tlimit?: number = 10;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PaginationResponse.html":{"url":"classes/PaginationResponse.html","title":"class - PaginationResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PaginationResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/controller/dto/pagination.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Abstract\n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/shared/controller/dto/pagination.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Abstract\n data\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The items for the current page.'})\n \n \n \n \n \n Defined in apps/server/src/shared/controller/dto/pagination.response.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Defined in apps/server/src/shared/controller/dto/pagination.response.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Defined in apps/server/src/shared/controller/dto/pagination.response.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Defined in apps/server/src/shared/controller/dto/pagination.response.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport abstract class PaginationResponse {\n\tconstructor(total: number, skip?: number, limit?: number) {\n\t\tthis.total = total;\n\t\tthis.skip = skip;\n\t\tthis.limit = limit;\n\t}\n\n\t@ApiProperty({ description: 'The items for the current page.' })\n\tabstract data: T;\n\n\t@ApiProperty({ description: 'The total amount of items.', type: 'number' })\n\ttotal: number;\n\n\t@ApiProperty({ description: 'The amount of items skipped from the start.', type: 'number' })\n\tskip?: number;\n\n\t@ApiProperty({ description: 'The page size of the response.', type: 'number' })\n\tlimit?: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ParameterTypeNotImplementedLoggableException.html":{"url":"classes/ParameterTypeNotImplementedLoggableException.html","title":"class - ParameterTypeNotImplementedLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ParameterTypeNotImplementedLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/error/parameter-type-not-implemented.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n NotImplementedException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(parameterType: string)\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/error/parameter-type-not-implemented.loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n parameterType\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/error/parameter-type-not-implemented.loggable-exception.ts:9\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { NotImplementedException } from '@nestjs/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class ParameterTypeNotImplementedLoggableException extends NotImplementedException implements Loggable {\n\tconstructor(private readonly parameterType: string) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'PARAMETER_TYPE_NOT_IMPLEMENTED',\n\t\t\tmessage: 'Launching an external tool with this parameter type is not implemented.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tparameterType: this.parameterType,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ParentInfo.html":{"url":"interfaces/ParentInfo.html","title":"interface - ParentInfo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ParentInfo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/entity/filerecord.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n parentId\n \n \n \n \n parentType\n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n parentId\n \n \n \n \n \n \n \n \n parentId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n \n \n parentType: FileRecordParentType\n\n \n \n\n\n \n \n Type : FileRecordParentType\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n schoolId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { PreviewInputMimeTypes } from '@infra/preview-generator';\nimport { Embeddable, Embedded, Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BadRequestException } from '@nestjs/common';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport path from 'path';\nimport { v4 as uuid } from 'uuid';\nimport { ErrorType } from '../error';\n\nexport enum ScanStatus {\n\tPENDING = 'pending',\n\tVERIFIED = 'verified',\n\tBLOCKED = 'blocked',\n\tWONT_CHECK = 'wont_check',\n\tERROR = 'error',\n}\n\nexport enum FileRecordParentType {\n\t'User' = 'users',\n\t'School' = 'schools',\n\t'Course' = 'courses',\n\t'Task' = 'tasks',\n\t'Lesson' = 'lessons',\n\t'Submission' = 'submissions',\n\t'BoardNode' = 'boardnodes',\n}\n\nexport enum PreviewStatus {\n\tPREVIEW_POSSIBLE = 'preview_possible',\n\tAWAITING_SCAN_STATUS = 'awaiting_scan_status',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_ERROR = 'preview_not_possible_scan_status_error',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_WONT_CHECK = 'preview_not_possible_scan_status_wont_check',\n\tPREVIEW_NOT_POSSIBLE_SCAN_STATUS_BLOCKED = 'preview_not_possible_scan_status_blocked',\n\tPREVIEW_NOT_POSSIBLE_WRONG_MIME_TYPE = 'preview_not_possible_wrong_mime_type',\n}\n\nexport interface FileRecordSecurityCheckProperties {\n\tstatus?: ScanStatus;\n\treason?: string;\n\trequestToken?: string;\n}\n@Embeddable()\nexport class FileRecordSecurityCheck {\n\t@Enum()\n\tstatus: ScanStatus = ScanStatus.PENDING;\n\n\t@Property()\n\treason = 'not yet scanned';\n\n\t@Property()\n\trequestToken?: string = uuid();\n\n\t@Property()\n\tcreatedAt = new Date();\n\n\t@Property()\n\tupdatedAt = new Date();\n\n\tconstructor(props: FileRecordSecurityCheckProperties) {\n\t\tif (props.status !== undefined) {\n\t\t\tthis.status = props.status;\n\t\t}\n\t\tif (props.reason !== undefined) {\n\t\t\tthis.reason = props.reason;\n\t\t}\n\t\tif (props.requestToken !== undefined) {\n\t\t\tthis.requestToken = props.requestToken;\n\t\t}\n\t}\n}\n\nexport interface FileRecordProperties {\n\tsize: number;\n\tname: string;\n\tmimeType: string;\n\tparentType: FileRecordParentType;\n\tparentId: EntityId;\n\tcreatorId: EntityId;\n\tschoolId: EntityId;\n\tdeletedSince?: Date;\n\tisCopyFrom?: EntityId;\n}\n\ninterface ParentInfo {\n\tschoolId: EntityId;\n\tparentId: EntityId;\n\tparentType: FileRecordParentType;\n}\n\n// TODO: EntityWithSchool\n\n/**\n * Note: The file record entity will not manage any entity relations by itself.\n * That's why we do not map any relations in the entity class\n * and instead just use the plain object ids.\n */\n@Entity({ tableName: 'filerecords' })\n@Index({ properties: ['_schoolId', '_parentId'], options: { background: true } })\n// https://github.com/mikro-orm/mikro-orm/issues/1230\n@Index({ options: { 'securityCheck.requestToken': 1 } })\nexport class FileRecord extends BaseEntityWithTimestamps {\n\t@Index({ options: { expireAfterSeconds: 7 * 24 * 60 * 60 } })\n\t@Property({ nullable: true })\n\tdeletedSince?: Date;\n\n\t@Property()\n\tsize: number;\n\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tmimeType: string; // TODO mime-type enum?\n\n\t@Embedded(() => FileRecordSecurityCheck, { object: true, nullable: false })\n\tsecurityCheck: FileRecordSecurityCheck;\n\n\t@Index()\n\t@Enum()\n\tparentType: FileRecordParentType;\n\n\t@Index()\n\t@Property({ fieldName: 'parent' })\n\t_parentId: ObjectId;\n\n\tget parentId(): EntityId {\n\t\treturn this._parentId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'creator' })\n\t_creatorId: ObjectId;\n\n\tget creatorId(): EntityId {\n\t\treturn this._creatorId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'school' })\n\t_schoolId: ObjectId;\n\n\tget schoolId(): EntityId {\n\t\treturn this._schoolId.toHexString();\n\t}\n\n\t@Property({ fieldName: 'isCopyFrom', nullable: true })\n\t_isCopyFrom?: ObjectId;\n\n\tget isCopyFrom(): EntityId | undefined {\n\t\tconst result = this._isCopyFrom?.toHexString();\n\n\t\treturn result;\n\t}\n\n\tconstructor(props: FileRecordProperties) {\n\t\tsuper();\n\t\tthis.size = props.size;\n\t\tthis.name = props.name;\n\t\tthis.mimeType = props.mimeType;\n\t\tthis.parentType = props.parentType;\n\t\tthis._parentId = new ObjectId(props.parentId);\n\t\tthis._creatorId = new ObjectId(props.creatorId);\n\t\tthis._schoolId = new ObjectId(props.schoolId);\n\t\tif (props.isCopyFrom) {\n\t\t\tthis._isCopyFrom = new ObjectId(props.isCopyFrom);\n\t\t}\n\t\tthis.securityCheck = new FileRecordSecurityCheck({});\n\t\tthis.deletedSince = props.deletedSince;\n\t}\n\n\tpublic updateSecurityCheckStatus(status: ScanStatus, reason: string): void {\n\t\tthis.securityCheck.status = status;\n\t\tthis.securityCheck.reason = reason;\n\t\tthis.securityCheck.updatedAt = new Date();\n\t\tthis.securityCheck.requestToken = undefined;\n\t}\n\n\tpublic getSecurityToken(): string | undefined {\n\t\treturn this.securityCheck.requestToken;\n\t}\n\n\tpublic copy(userId: EntityId, targetParentInfo: ParentInfo): FileRecord {\n\t\tconst { size, name, mimeType, id } = this;\n\t\tconst { parentType, parentId, schoolId } = targetParentInfo;\n\n\t\tconst fileRecordCopy = new FileRecord({\n\t\t\tsize,\n\t\t\tname,\n\t\t\tmimeType,\n\t\t\tparentType,\n\t\t\tparentId,\n\t\t\tcreatorId: userId,\n\t\t\tschoolId,\n\t\t\tisCopyFrom: id,\n\t\t});\n\n\t\tif (this.isVerified()) {\n\t\t\tfileRecordCopy.securityCheck = this.securityCheck;\n\t\t}\n\n\t\treturn fileRecordCopy;\n\t}\n\n\tpublic markForDelete(): void {\n\t\tthis.deletedSince = new Date();\n\t}\n\n\tpublic unmarkForDelete(): void {\n\t\tthis.deletedSince = undefined;\n\t}\n\n\tpublic setName(name: string): void {\n\t\tif (name.length === 0) {\n\t\t\tthrow new BadRequestException(ErrorType.FILE_NAME_EMPTY);\n\t\t}\n\n\t\tthis.name = name;\n\t}\n\n\tpublic hasName(name: string): boolean {\n\t\tconst hasName = this.name === name;\n\n\t\treturn hasName;\n\t}\n\n\tpublic getName(): string {\n\t\treturn this.name;\n\t}\n\n\tpublic isBlocked(): boolean {\n\t\tconst isBlocked = this.securityCheck.status === ScanStatus.BLOCKED;\n\n\t\treturn isBlocked;\n\t}\n\n\tpublic hasScanStatusError(): boolean {\n\t\tconst hasError = this.securityCheck.status === ScanStatus.ERROR;\n\n\t\treturn hasError;\n\t}\n\n\tpublic hasScanStatusWontCheck(): boolean {\n\t\tconst hasWontCheckStatus = this.securityCheck.status === ScanStatus.WONT_CHECK;\n\n\t\treturn hasWontCheckStatus;\n\t}\n\n\tpublic isPending(): boolean {\n\t\tconst isPending = this.securityCheck.status === ScanStatus.PENDING;\n\n\t\treturn isPending;\n\t}\n\n\tpublic isVerified(): boolean {\n\t\tconst isVerified = this.securityCheck.status === ScanStatus.VERIFIED;\n\n\t\treturn isVerified;\n\t}\n\n\tpublic isPreviewPossible(): boolean {\n\t\tconst isPreviewPossible = Object.values(PreviewInputMimeTypes).includes(this.mimeType);\n\n\t\treturn isPreviewPossible;\n\t}\n\n\tpublic getParentInfo(): ParentInfo {\n\t\tconst { parentId, parentType, schoolId } = this;\n\n\t\treturn { parentId, parentType, schoolId };\n\t}\n\n\tpublic getSchoolId(): EntityId {\n\t\treturn this.schoolId;\n\t}\n\n\tpublic getPreviewStatus(): PreviewStatus {\n\t\tif (this.isBlocked()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_BLOCKED;\n\t\t}\n\n\t\tif (!this.isPreviewPossible()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_WRONG_MIME_TYPE;\n\t\t}\n\n\t\tif (this.isVerified()) {\n\t\t\treturn PreviewStatus.PREVIEW_POSSIBLE;\n\t\t}\n\n\t\tif (this.isPending()) {\n\t\t\treturn PreviewStatus.AWAITING_SCAN_STATUS;\n\t\t}\n\n\t\tif (this.hasScanStatusWontCheck()) {\n\t\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_WONT_CHECK;\n\t\t}\n\n\t\treturn PreviewStatus.PREVIEW_NOT_POSSIBLE_SCAN_STATUS_ERROR;\n\t}\n\n\tpublic get fileNameWithoutExtension(): string {\n\t\tconst filenameObj = path.parse(this.name);\n\n\t\treturn filenameObj.name;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PatchGroupParams.html":{"url":"classes/PatchGroupParams.html","title":"class - PatchGroupParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PatchGroupParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/patch-group.params.ts\n \n\n\n \n Description\n \n \n DTO for Patching a the group name of a grid element.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@SanitizeHtml()@ApiProperty({description: 'Title of the Group grid element'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/patch-group.params.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\nimport { IsString } from 'class-validator';\n\n/**\n * DTO for Patching a the group name of a grid element.\n */\nexport class PatchGroupParams {\n\t@IsString()\n\t@SanitizeHtml()\n\t@ApiProperty({\n\t\tdescription: 'Title of the Group grid element',\n\t})\n\ttitle!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PatchMyAccountParams.html":{"url":"classes/PatchMyAccountParams.html","title":"class - PatchMyAccountParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PatchMyAccountParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/controller/dto/patch-my-account.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n email\n \n \n \n \n \n Optional\n firstName\n \n \n \n \n \n Optional\n lastName\n \n \n \n \n \n \n \n Optional\n passwordNew\n \n \n \n \n passwordOld\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n email\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsEmail()@IsOptional()@ApiProperty({description: 'The new email address for the current user.', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/patch-my-account.params.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'The new first name for the current user.', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/patch-my-account.params.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@ApiProperty({description: 'The new last name for the current user.', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/patch-my-account.params.ts:51\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n passwordNew\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @PrivacyProtect()@IsString()@IsOptional()@Matches(passwordPattern)@ApiProperty({description: 'The new password for the current user.', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/patch-my-account.params.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n passwordOld\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({description: 'The current user password to authorize the update action.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/patch-my-account.params.ts:13\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { PrivacyProtect } from '@shared/controller';\nimport { IsEmail, IsOptional, IsString, Matches } from 'class-validator';\nimport { passwordPattern } from './password-pattern';\n\nexport class PatchMyAccountParams {\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'The current user password to authorize the update action.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tpasswordOld!: string;\n\n\t@PrivacyProtect()\n\t@IsString()\n\t@IsOptional()\n\t@Matches(passwordPattern)\n\t@ApiProperty({\n\t\tdescription: 'The new password for the current user.',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\tpasswordNew?: string;\n\n\t@IsEmail()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'The new email address for the current user.',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\temail?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'The new first name for the current user.',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\tfirstName?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'The new last name for the current user.',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\tlastName?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PatchMyPasswordParams.html":{"url":"classes/PatchMyPasswordParams.html","title":"class - PatchMyPasswordParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PatchMyPasswordParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/account/controller/dto/patch-my-password.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n confirmPassword\n \n \n \n \n \n \n password\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n confirmPassword\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @PrivacyProtect()@IsString()@Matches(passwordPattern)@ApiProperty({description: 'The confirmed new user password. Must match the password field.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/patch-my-password.params.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n password\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @PrivacyProtect()@IsString()@Matches(passwordPattern)@ApiProperty({description: 'The new user password.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/account/controller/dto/patch-my-password.params.ts:15\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { PrivacyProtect } from '@shared/controller';\nimport { IsString, Matches } from 'class-validator';\nimport { passwordPattern } from './password-pattern';\n\nexport class PatchMyPasswordParams {\n\t@PrivacyProtect()\n\t@IsString()\n\t@Matches(passwordPattern)\n\t@ApiProperty({\n\t\tdescription: 'The new user password.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tpassword!: string;\n\n\t@PrivacyProtect()\n\t@IsString()\n\t@Matches(passwordPattern)\n\t@ApiProperty({\n\t\tdescription: 'The confirmed new user password. Must match the password field.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tconfirmPassword!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PatchOrderParams.html":{"url":"classes/PatchOrderParams.html","title":"class - PatchOrderParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PatchOrderParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/patch-order.params.ts\n \n\n\n \n Description\n \n \n DTO for Patching the order of elements within the board.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n elements\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n elements\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@IsMongoId({each: true})@ApiProperty({description: 'Array ids determining the new order'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/patch-order.params.ts:13\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsArray, IsMongoId } from 'class-validator';\n\n/**\n * DTO for Patching the order of elements within the board.\n */\nexport class PatchOrderParams {\n\t@IsArray()\n\t@IsMongoId({ each: true })\n\t@ApiProperty({\n\t\tdescription: 'Array ids determining the new order',\n\t})\n\telements!: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PatchVisibilityParams.html":{"url":"classes/PatchVisibilityParams.html","title":"class - PatchVisibilityParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PatchVisibilityParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/patch-visibility.params.ts\n \n\n\n \n Description\n \n \n DTO for Patching the visibility of a board element.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n visibility\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n visibility\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty({description: 'true to publish the element, false to unpublish'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/patch-visibility.params.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsBoolean } from 'class-validator';\n\n/**\n * DTO for Patching the visibility of a board element.\n */\nexport class PatchVisibilityParams {\n\t@IsBoolean()\n\t@ApiProperty({\n\t\tdescription: 'true to publish the element, false to unpublish',\n\t})\n\tvisibility!: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Path.html":{"url":"classes/Path.html","title":"class - Path","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Path\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/entity/library.entity.ts\n \n\n\n\n\n \n Implements\n \n \n IPath\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n path\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(path: string)\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n path\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n path\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/entity/library.entity.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IInstalledLibrary, ILibraryName } from '@lumieducation/h5p-server';\nimport { IFileStats, ILibraryMetadata, IPath } from '@lumieducation/h5p-server/build/src/types';\nimport { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\n\nexport class Path implements IPath {\n\t@Property()\n\tpath: string;\n\n\tconstructor(path: string) {\n\t\tthis.path = path;\n\t}\n}\n\nexport class LibraryName implements ILibraryName {\n\t@Property()\n\tmachineName: string;\n\n\t@Property()\n\tmajorVersion: number;\n\n\t@Property()\n\tminorVersion: number;\n\n\tconstructor(machineName: string, majorVersion: number, minorVersion: number) {\n\t\tthis.machineName = machineName;\n\t\tthis.majorVersion = majorVersion;\n\t\tthis.minorVersion = minorVersion;\n\t}\n}\n\nexport class FileMetadata implements IFileStats {\n\tname: string;\n\n\tbirthtime: Date;\n\n\tsize: number;\n\n\tconstructor(name: string, birthtime: Date, size: number) {\n\t\tthis.name = name;\n\t\tthis.birthtime = birthtime;\n\t\tthis.size = size;\n\t}\n}\n\n@Entity({ tableName: 'h5p_library' })\nexport class InstalledLibrary extends BaseEntityWithTimestamps implements IInstalledLibrary {\n\t@Property()\n\tmachineName: string;\n\n\t@Property()\n\tmajorVersion: number;\n\n\t@Property()\n\tminorVersion: number;\n\n\t@Property()\n\tpatchVersion: number;\n\n\t/**\n\t * Addons can be added to other content types by\n\t */\n\t@Property({ nullable: true })\n\taddTo?: {\n\t\tcontent?: {\n\t\t\ttypes?: {\n\t\t\t\ttext?: {\n\t\t\t\t\t/**\n\t\t\t\t\t * If any string property in the parameters matches the regex,\n\t\t\t\t\t * the addon will be activated for the content.\n\t\t\t\t\t */\n\t\t\t\t\tregex?: string;\n\t\t\t\t};\n\t\t\t}[];\n\t\t};\n\t\t/**\n\t\t * Contains cases in which the library should be added to the editor.\n\t\t *\n\t\t * This is an extension to the H5P library metadata structure made by\n\t\t * h5p-nodejs-library. That way addons can specify to which editors\n\t\t * they should be added in general. The PHP implementation hard-codes\n\t\t * this list into the server, which we want to avoid here.\n\t\t */\n\t\teditor?: {\n\t\t\t/**\n\t\t\t * A list of machine names in which the addon should be added.\n\t\t\t */\n\t\t\tmachineNames: string[];\n\t\t};\n\t\t/**\n\t\t * Contains cases in which the library should be added to the player.\n\t\t *\n\t\t * This is an extension to the H5P library metadata structure made by\n\t\t * h5p-nodejs-library. That way addons can specify to which editors\n\t\t * they should be added in general. The PHP implementation hard-codes\n\t\t * this list into the server, which we want to avoid here.\n\t\t */\n\t\tplayer?: {\n\t\t\t/**\n\t\t\t * A list of machine names in which the addon should be added.\n\t\t\t */\n\t\t\tmachineNames: string[];\n\t\t};\n\t};\n\n\t/**\n\t * If set to true, the library can only be used be users who have this special\n\t * privilege.\n\t */\n\t@Property()\n\trestricted: boolean;\n\n\t@Property({ nullable: true })\n\tauthor?: string;\n\n\t/**\n\t * The core API required to run the library.\n\t */\n\t@Property({ nullable: true })\n\tcoreApi?: {\n\t\tmajorVersion: number;\n\t\tminorVersion: number;\n\t};\n\n\t@Property({ nullable: true })\n\tdescription?: string;\n\n\t@Property({ nullable: true })\n\tdropLibraryCss?: {\n\t\tmachineName: string;\n\t}[];\n\n\t@Property({ nullable: true })\n\tdynamicDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\teditorDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\tembedTypes?: ('iframe' | 'div')[];\n\n\t@Property({ nullable: true })\n\tfullscreen?: 0 | 1;\n\n\t@Property({ nullable: true })\n\th?: number;\n\n\t@Property({ nullable: true })\n\tlicense?: string;\n\n\t@Property({ nullable: true })\n\tmetadataSettings?: {\n\t\tdisable: 0 | 1;\n\t\tdisableExtraTitleField: 0 | 1;\n\t};\n\n\t@Property({ nullable: true })\n\tpreloadedCss?: Path[];\n\n\t@Property({ nullable: true })\n\tpreloadedDependencies?: LibraryName[];\n\n\t@Property({ nullable: true })\n\tpreloadedJs?: Path[];\n\n\t@Property()\n\trunnable: boolean | 0 | 1;\n\n\t@Property()\n\ttitle: string;\n\n\t@Property({ nullable: true })\n\tw?: number;\n\n\t@Property({ nullable: true })\n\trequiredExtensions?: {\n\t\tsharedState: number;\n\t};\n\n\t@Property({ nullable: true })\n\tstate?: {\n\t\tsnapshotSchema: boolean;\n\t\topSchema: boolean;\n\t\tsnapshotLogicChecks: boolean;\n\t\topLogicChecks: boolean;\n\t};\n\n\t@Property()\n\tfiles: FileMetadata[];\n\n\tpublic static simple_compare(a: number, b: number): number {\n\t\tif (a > b) {\n\t\t\treturn 1;\n\t\t}\n\t\tif (a otherLibrary.machineName ? 1 : -1;\n\t}\n\n\tpublic compareVersions(otherLibrary: ILibraryName & { patchVersion?: number }): number {\n\t\tlet result = InstalledLibrary.simple_compare(this.majorVersion, otherLibrary.majorVersion);\n\t\tif (result !== 0) {\n\t\t\treturn result;\n\t\t}\n\t\tresult = InstalledLibrary.simple_compare(this.minorVersion, otherLibrary.minorVersion);\n\t\tif (result !== 0) {\n\t\t\treturn result;\n\t\t}\n\t\treturn InstalledLibrary.simple_compare(this.patchVersion, otherLibrary.patchVersion as number);\n\t}\n\n\tconstructor(libraryMetadata: ILibraryMetadata, restricted = false, files: FileMetadata[] = []) {\n\t\tsuper();\n\t\tthis.machineName = libraryMetadata.machineName;\n\t\tthis.majorVersion = libraryMetadata.majorVersion;\n\t\tthis.minorVersion = libraryMetadata.minorVersion;\n\t\tthis.patchVersion = libraryMetadata.patchVersion;\n\t\tthis.runnable = libraryMetadata.runnable;\n\t\tthis.title = libraryMetadata.title;\n\t\tthis.addTo = libraryMetadata.addTo;\n\t\tthis.author = libraryMetadata.author;\n\t\tthis.coreApi = libraryMetadata.coreApi;\n\t\tthis.description = libraryMetadata.description;\n\t\tthis.dropLibraryCss = libraryMetadata.dropLibraryCss;\n\t\tthis.dynamicDependencies = libraryMetadata.dynamicDependencies;\n\t\tthis.editorDependencies = libraryMetadata.editorDependencies;\n\t\tthis.embedTypes = libraryMetadata.embedTypes;\n\t\tthis.fullscreen = libraryMetadata.fullscreen;\n\t\tthis.h = libraryMetadata.h;\n\t\tthis.license = libraryMetadata.license;\n\t\tthis.metadataSettings = libraryMetadata.metadataSettings;\n\t\tthis.preloadedCss = libraryMetadata.preloadedCss;\n\t\tthis.preloadedDependencies = libraryMetadata.preloadedDependencies;\n\t\tthis.preloadedJs = libraryMetadata.preloadedJs;\n\t\tthis.w = libraryMetadata.w;\n\t\tthis.requiredExtensions = libraryMetadata.requiredExtensions;\n\t\tthis.state = libraryMetadata.state;\n\t\tthis.restricted = restricted;\n\t\tthis.files = files;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/PermissionService.html":{"url":"injectables/PermissionService.html","title":"injectable - PermissionService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n PermissionService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/service/permission.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n hasUserAllSchoolPermissions\n \n \n resolvePermissions\n \n \n Private\n resolvePermissionsByRoles\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n hasUserAllSchoolPermissions\n \n \n \n \n \n \n \n \n \n \n \nhasUserAllSchoolPermissions(user: User, requiredPermissions: string[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/service/permission.service.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n requiredPermissions\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n resolvePermissions\n \n \n \n \n \n \n \n \n \n \n \nresolvePermissions(user: User)\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/service/permission.service.ts:17\n \n \n\n\n \n \n Recursively resolve all roles and permissions of a user.\nIMPORTANT: The role collections of the user and nested roles will not be loaded lazily.\nPlease make sure you populate them before calling this method.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n resolvePermissionsByRoles\n \n \n \n \n \n \n \n resolvePermissionsByRoles(inputRoles: Role[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/service/permission.service.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n inputRoles\n \n Role[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string[]\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Role } from '../entity/role.entity';\nimport { User } from '../entity/user.entity';\n\n// TODO: Remove the PermissionService because it duplicates methods from the AuthorizationService.\n// Do not use this service, use the AuthorizationService!\n@Injectable()\nexport class PermissionService {\n\t/**\n\t * Recursively resolve all roles and permissions of a user.\n\t * IMPORTANT: The role collections of the user and nested roles will not be loaded lazily.\n\t * Please make sure you populate them before calling this method.\n\t * @param user\n\t * @deprecated\n\t * @returns\n\t */\n\tresolvePermissions(user: User): string[] {\n\t\tif (!user.roles.isInitialized(true)) {\n\t\t\tthrow new Error('Roles items are not loaded.');\n\t\t}\n\t\tconst rolesAndPermissions = this.resolvePermissionsByRoles(user.roles.getItems());\n\n\t\treturn rolesAndPermissions;\n\t}\n\n\tprivate resolvePermissionsByRoles(inputRoles: Role[]): string[] {\n\t\tlet permissions: string[] = [];\n\n\t\tfor (let i = 0; i 0) {\n\t\t\t\tconst subPermissions = this.resolvePermissionsByRoles(innerRoles);\n\t\t\t\tpermissions = [...permissions, ...subPermissions];\n\t\t\t}\n\t\t}\n\n\t\tpermissions = [...new Set(permissions)];\n\n\t\treturn permissions;\n\t}\n\n\t/**\n\t * @deprecated\n\t */\n\thasUserAllSchoolPermissions(user: User, requiredPermissions: string[]): boolean {\n\t\tif (!Array.isArray(requiredPermissions) || requiredPermissions.length === 0) {\n\t\t\treturn false;\n\t\t}\n\t\tconst usersPermissions = this.resolvePermissions(user);\n\t\tconst hasPermissions = requiredPermissions.every((p) => usersPermissions.includes(p));\n\t\treturn hasPermissions;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PlainTextMailContent.html":{"url":"interfaces/PlainTextMailContent.html","title":"interface - PlainTextMailContent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PlainTextMailContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/mail/mail.interface.ts\n \n\n\n\n \n Extends\n \n \n MailContent\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n htmlContent\n \n \n \n \n plainTextContent\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n htmlContent\n \n \n \n \n \n \n \n \n htmlContent: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n plainTextContent\n \n \n \n \n \n \n \n \n plainTextContent: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n interface MailAttachment {\n\tbase64Content: string;\n\n\tmimeType: string;\n\n\tname: string;\n}\n\ninterface InlineAttachment extends MailAttachment {\n\tcontentDisposition: 'INLINE';\n\n\tcontentId: string;\n}\n\ninterface AppendedAttachment extends MailAttachment {\n\tcontentDisposition: 'ATTACHMENT';\n}\n\ninterface MailContent {\n\tsubject: string;\n\n\tattachments?: (InlineAttachment | AppendedAttachment)[];\n}\n\ninterface PlainTextMailContent extends MailContent {\n\thtmlContent?: string;\n\n\tplainTextContent: string;\n}\n\ninterface HtmlMailContent extends MailContent {\n\thtmlContent: string;\n\n\tplainTextContent?: string;\n}\n\nexport interface Mail {\n\tmail: PlainTextMailContent | HtmlMailContent;\n\n\trecipients: string[];\n\n\tfrom?: string;\n\n\tcc?: string[];\n\n\tbcc?: string[];\n\n\treplyTo?: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PostH5PContentCreateParams.html":{"url":"classes/PostH5PContentCreateParams.html","title":"class - PostH5PContentCreateParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PostH5PContentCreateParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n library\n \n \n \n \n \n params\n \n \n \n \n parentId\n \n \n \n \n parentType\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n library\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:83\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \n Type : literal type\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsNotEmpty()@IsObject()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:75\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:70\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n Type : H5PContentParentType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: H5PContentParentType, enumName: 'H5PContentParentType'})@IsEnum(H5PContentParentType)\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:66\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IContentMetadata } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\n\nimport { LanguageType } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { IsEnum, IsMongoId, IsNotEmpty, IsObject, IsOptional, IsString } from 'class-validator';\nimport { H5PContentParentType } from '../../entity';\n\nexport class GetH5PContentParams {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\t@IsOptional()\n\tlanguage?: LanguageType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class GetH5PEditorParamsCreate {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class GetH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class SaveH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class PostH5PContentParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tparams!: unknown;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tmetadata!: IContentMetadata;\n\n\t@ApiProperty()\n\t@IsString()\n\t@SanitizeHtml()\n\t@IsNotEmpty()\n\tmainLibraryUbername!: string;\n}\n\nexport class PostH5PContentCreateParams {\n\t@ApiProperty({ enum: H5PContentParentType, enumName: 'H5PContentParentType' })\n\t@IsEnum(H5PContentParentType)\n\tparentType!: H5PContentParentType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\t@IsObject()\n\tparams!: {\n\t\tparams: unknown;\n\t\tmetadata: IContentMetadata;\n\t};\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tlibrary!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PostH5PContentParams.html":{"url":"classes/PostH5PContentParams.html","title":"class - PostH5PContentParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PostH5PContentParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contentId\n \n \n \n \n \n \n mainLibraryUbername\n \n \n \n \n metadata\n \n \n \n \n params\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contentId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n mainLibraryUbername\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()@SanitizeHtml()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:60\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n metadata\n \n \n \n \n \n \n Type : IContentMetadata\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:50\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IContentMetadata } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\n\nimport { LanguageType } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { IsEnum, IsMongoId, IsNotEmpty, IsObject, IsOptional, IsString } from 'class-validator';\nimport { H5PContentParentType } from '../../entity';\n\nexport class GetH5PContentParams {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\t@IsOptional()\n\tlanguage?: LanguageType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class GetH5PEditorParamsCreate {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class GetH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class SaveH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class PostH5PContentParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tparams!: unknown;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tmetadata!: IContentMetadata;\n\n\t@ApiProperty()\n\t@IsString()\n\t@SanitizeHtml()\n\t@IsNotEmpty()\n\tmainLibraryUbername!: string;\n}\n\nexport class PostH5PContentCreateParams {\n\t@ApiProperty({ enum: H5PContentParentType, enumName: 'H5PContentParentType' })\n\t@IsEnum(H5PContentParentType)\n\tparentType!: H5PContentParentType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\t@IsObject()\n\tparams!: {\n\t\tparams: unknown;\n\t\tmetadata: IContentMetadata;\n\t};\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tlibrary!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PreviewActionsLoggable.html":{"url":"classes/PreviewActionsLoggable.html","title":"class - PreviewActionsLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PreviewActionsLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/preview-generator/loggable/preview-actions.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(message: string, payload: PreviewFileOptions)\n \n \n \n \n Defined in apps/server/src/infra/preview-generator/loggable/preview-actions.loggable.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n \n string\n \n \n \n No\n \n \n \n \n payload\n \n \n PreviewFileOptions\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/infra/preview-generator/loggable/preview-actions.loggable.ts:7\n \n \n\n\n \n \n\n \n Returns : LogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { LogMessage, Loggable } from '@src/core/logger';\nimport { PreviewFileOptions } from '../interface';\n\nexport class PreviewActionsLoggable implements Loggable {\n\tconstructor(private readonly message: string, private readonly payload: PreviewFileOptions) {}\n\n\tgetLogMessage(): LogMessage {\n\t\tconst { originFilePath, previewFilePath, previewOptions } = this.payload;\n\t\treturn {\n\t\t\tmessage: this.message,\n\t\t\tdata: {\n\t\t\t\toriginFilePath,\n\t\t\t\tpreviewFilePath,\n\t\t\t\tformat: previewOptions.format,\n\t\t\t\twidth: previewOptions.width,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PreviewBuilder.html":{"url":"classes/PreviewBuilder.html","title":"class - PreviewBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PreviewBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/mapper/preview.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n buildParams\n \n \n Static\n buildPayload\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n buildParams\n \n \n \n \n \n \n \n buildParams(fileRecord: FileRecord, previewParams: PreviewParams, bytesRange: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/preview.builder.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileRecord\n \n FileRecord\n \n\n \n No\n \n\n\n \n \n previewParams\n \n PreviewParams\n \n\n \n No\n \n\n\n \n \n bytesRange\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : PreviewFileParams\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n buildPayload\n \n \n \n \n \n \n \n buildPayload(params: PreviewFileParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/mapper/preview.builder.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n PreviewFileParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : PreviewFileOptions\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { PreviewFileOptions } from '@infra/preview-generator';\nimport { PreviewParams } from '../controller/dto';\nimport { FileRecord } from '../entity';\nimport { createPath, createPreviewFilePath, createPreviewNameHash, getFormat } from '../helper';\nimport { PreviewFileParams } from '../interface';\n\nexport class PreviewBuilder {\n\tpublic static buildParams(\n\t\tfileRecord: FileRecord,\n\t\tpreviewParams: PreviewParams,\n\t\tbytesRange: string | undefined\n\t): PreviewFileParams {\n\t\tconst { schoolId, id, mimeType } = fileRecord;\n\t\tconst originFilePath = createPath(schoolId, id);\n\t\tconst format = getFormat(previewParams.outputFormat ?? mimeType);\n\n\t\tconst hash = createPreviewNameHash(id, previewParams);\n\t\tconst previewFilePath = createPreviewFilePath(schoolId, hash, id);\n\n\t\tconst previewFileParams = {\n\t\t\tfileRecord,\n\t\t\tpreviewParams,\n\t\t\thash,\n\t\t\tpreviewFilePath,\n\t\t\toriginFilePath,\n\t\t\tformat,\n\t\t\tbytesRange,\n\t\t};\n\n\t\treturn previewFileParams;\n\t}\n\n\tpublic static buildPayload(params: PreviewFileParams): PreviewFileOptions {\n\t\tconst { originFilePath, previewFilePath, previewParams, format } = params;\n\n\t\tconst payload = {\n\t\t\toriginFilePath,\n\t\t\tpreviewFilePath,\n\t\t\tpreviewOptions: {\n\t\t\t\tformat,\n\t\t\t\twidth: previewParams.width,\n\t\t\t},\n\t\t};\n\n\t\treturn payload;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PreviewConfig.html":{"url":"interfaces/PreviewConfig.html","title":"interface - PreviewConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PreviewConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/preview-generator/interface/preview-consumer-config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n serverConfig\n \n \n \n \n storageConfig\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n serverConfig\n \n \n \n \n \n \n \n \n serverConfig: PreviewModuleConfig\n\n \n \n\n\n \n \n Type : PreviewModuleConfig\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n storageConfig\n \n \n \n \n \n \n \n \n storageConfig: S3Config\n\n \n \n\n\n \n \n Type : S3Config\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { S3Config } from '@infra/s3-client';\n\nexport interface PreviewModuleConfig {\n\tNEST_LOG_LEVEL: string;\n\tINCOMING_REQUEST_TIMEOUT: number;\n}\n\nexport interface PreviewConfig {\n\tstorageConfig: S3Config;\n\tserverConfig: PreviewModuleConfig;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PreviewFileOptions.html":{"url":"interfaces/PreviewFileOptions.html","title":"interface - PreviewFileOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PreviewFileOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/preview-generator/interface/preview.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n originFilePath\n \n \n \n \n previewFilePath\n \n \n \n \n previewOptions\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n originFilePath\n \n \n \n \n \n \n \n \n originFilePath: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n previewFilePath\n \n \n \n \n \n \n \n \n previewFilePath: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n previewOptions\n \n \n \n \n \n \n \n \n previewOptions: PreviewOptions\n\n \n \n\n\n \n \n Type : PreviewOptions\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface PreviewOptions {\n\tformat: string;\n\twidth?: number;\n}\n\nexport interface PreviewFileOptions {\n\toriginFilePath: string;\n\tpreviewFilePath: string;\n\tpreviewOptions: PreviewOptions;\n}\n\nexport interface PreviewResponseMessage {\n\tpreviewFilePath: string;\n\tstatus: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PreviewFileParams.html":{"url":"interfaces/PreviewFileParams.html","title":"interface - PreviewFileParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PreviewFileParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/interface/interfaces.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n bytesRange\n \n \n \n \n fileRecord\n \n \n \n \n format\n \n \n \n \n hash\n \n \n \n \n originFilePath\n \n \n \n \n previewFilePath\n \n \n \n \n previewParams\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n bytesRange\n \n \n \n \n \n \n \n \n bytesRange: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n fileRecord\n \n \n \n \n \n \n \n \n fileRecord: FileRecord\n\n \n \n\n\n \n \n Type : FileRecord\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n format\n \n \n \n \n \n \n \n \n format: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n hash\n \n \n \n \n \n \n \n \n hash: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n originFilePath\n \n \n \n \n \n \n \n \n originFilePath: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n previewFilePath\n \n \n \n \n \n \n \n \n previewFilePath: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n previewParams\n \n \n \n \n \n \n \n \n previewParams: PreviewParams\n\n \n \n\n\n \n \n Type : PreviewParams\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Readable } from 'stream';\nimport type { PreviewParams } from '../controller/dto';\nimport { FileRecord } from '../entity';\n\nexport interface GetFileResponse {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n\tname: string;\n}\n\nexport interface PreviewFileParams {\n\tfileRecord: FileRecord;\n\tpreviewParams: PreviewParams;\n\thash: string;\n\toriginFilePath: string;\n\tpreviewFilePath: string;\n\tformat: string;\n\tbytesRange?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/PreviewGeneratorAMQPModule.html":{"url":"modules/PreviewGeneratorAMQPModule.html","title":"module - PreviewGeneratorAMQPModule","body":"\n \n\n\n\n\n Modules\n PreviewGeneratorAMQPModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_PreviewGeneratorAMQPModule\n\n\n\ncluster_PreviewGeneratorAMQPModule_imports\n\n\n\n\nCoreModule\n\nCoreModule\n\n\n\nPreviewGeneratorAMQPModule\n\nPreviewGeneratorAMQPModule\n\nPreviewGeneratorAMQPModule -->\n\nCoreModule->PreviewGeneratorAMQPModule\n\n\n\n\n\nPreviewGeneratorConsumerModule\n\nPreviewGeneratorConsumerModule\n\nPreviewGeneratorAMQPModule -->\n\nPreviewGeneratorConsumerModule->PreviewGeneratorAMQPModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/files-storage/files-preview-amqp.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n CoreModule\n \n \n PreviewGeneratorConsumerModule\n \n \n \n \n \n\n\n \n\n\n \n import { PreviewGeneratorConsumerModule } from '@infra/preview-generator';\nimport { Module } from '@nestjs/common';\nimport { CoreModule } from '@src/core';\nimport { defaultConfig, s3Config } from './files-storage.config';\n\n@Module({\n\timports: [\n\t\tPreviewGeneratorConsumerModule.register({ storageConfig: s3Config, serverConfig: defaultConfig }),\n\t\tCoreModule,\n\t],\n})\nexport class PreviewGeneratorAMQPModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PreviewGeneratorBuilder.html":{"url":"classes/PreviewGeneratorBuilder.html","title":"class - PreviewGeneratorBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PreviewGeneratorBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/preview-generator/preview-generator.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n buildFile\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n buildFile\n \n \n \n \n \n \n \n buildFile(preview: PassThrough, previewOptions: PreviewOptions)\n \n \n\n\n \n \n Defined in apps/server/src/infra/preview-generator/preview-generator.builder.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n preview\n \n PassThrough\n \n\n \n No\n \n\n\n \n \n previewOptions\n \n PreviewOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : File\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { File } from '@infra/s3-client';\nimport { PassThrough } from 'stream';\nimport { PreviewOptions } from './interface';\n\nexport class PreviewGeneratorBuilder {\n\tpublic static buildFile(preview: PassThrough, previewOptions: PreviewOptions): File {\n\t\tconst { format } = previewOptions;\n\n\t\tconst file = {\n\t\t\tdata: preview,\n\t\t\tmimeType: format,\n\t\t};\n\n\t\treturn file;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/PreviewGeneratorConsumer.html":{"url":"injectables/PreviewGeneratorConsumer.html","title":"injectable - PreviewGeneratorConsumer","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n PreviewGeneratorConsumer\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/preview-generator/preview-generator.consumer.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n generatePreview\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(previewGeneratorService: PreviewGeneratorService, logger: Logger)\n \n \n \n \n Defined in apps/server/src/infra/preview-generator/preview-generator.consumer.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n previewGeneratorService\n \n \n PreviewGeneratorService\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Public\n Async\n generatePreview\n \n \n \n \n \n \n \n generatePreview(payload: PreviewFileOptions)\n \n \n\n \n \n Decorators : \n \n @RabbitRPC({exchange: FilesPreviewExchange, routingKey: undefined, queue: undefined})\n \n \n\n \n \n Defined in apps/server/src/infra/preview-generator/preview-generator.consumer.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n payload\n \n PreviewFileOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { RabbitPayload, RabbitRPC } from '@golevelup/nestjs-rabbitmq';\nimport { FilesPreviewEvents, FilesPreviewExchange } from '@infra/rabbitmq';\nimport { Injectable } from '@nestjs/common';\nimport { Logger } from '@src/core/logger';\nimport { PreviewFileOptions } from './interface';\nimport { PreviewActionsLoggable } from './loggable/preview-actions.loggable';\nimport { PreviewGeneratorService } from './preview-generator.service';\n\n@Injectable()\nexport class PreviewGeneratorConsumer {\n\tconstructor(private readonly previewGeneratorService: PreviewGeneratorService, private logger: Logger) {\n\t\tthis.logger.setContext(PreviewGeneratorConsumer.name);\n\t}\n\n\t@RabbitRPC({\n\t\texchange: FilesPreviewExchange,\n\t\troutingKey: FilesPreviewEvents.GENERATE_PREVIEW,\n\t\tqueue: FilesPreviewEvents.GENERATE_PREVIEW,\n\t})\n\tpublic async generatePreview(@RabbitPayload() payload: PreviewFileOptions) {\n\t\tthis.logger.info(new PreviewActionsLoggable('PreviewGeneratorConsumer.generatePreview:start', payload));\n\n\t\tconst response = await this.previewGeneratorService.generatePreview(payload);\n\n\t\tthis.logger.info(new PreviewActionsLoggable('PreviewGeneratorConsumer.generatePreview:end', payload));\n\n\t\treturn { message: response };\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/PreviewGeneratorConsumerModule.html":{"url":"modules/PreviewGeneratorConsumerModule.html","title":"module - PreviewGeneratorConsumerModule","body":"\n \n\n\n\n\n Modules\n PreviewGeneratorConsumerModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/preview-generator/preview-generator-consumer.module.ts\n \n\n\n\n\n\n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n register\n \n \n \n \n \n \n \n register(config: PreviewConfig)\n \n \n\n\n \n \n Defined in apps/server/src/infra/preview-generator/preview-generator-consumer.module.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n config\n \n PreviewConfig\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { DynamicModule, Module } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { RabbitMQWrapperModule } from '@infra/rabbitmq';\nimport { S3ClientAdapter, S3ClientModule } from '@infra/s3-client';\nimport { createConfigModuleOptions } from '@src/config';\nimport { Logger, LoggerModule } from '@src/core/logger';\nimport { PreviewConfig } from './interface/preview-consumer-config';\nimport { PreviewGeneratorConsumer } from './preview-generator.consumer';\nimport { PreviewGeneratorService } from './preview-generator.service';\n\n@Module({})\nexport class PreviewGeneratorConsumerModule {\n\tstatic register(config: PreviewConfig): DynamicModule {\n\t\tconst { storageConfig, serverConfig } = config;\n\t\tconst providers = [\n\t\t\t{\n\t\t\t\tprovide: PreviewGeneratorService,\n\t\t\t\tuseFactory: (logger: Logger, storageClient: S3ClientAdapter) =>\n\t\t\t\t\tnew PreviewGeneratorService(storageClient, logger),\n\t\t\t\tinject: [Logger, storageConfig.connectionName],\n\t\t\t},\n\t\t\tPreviewGeneratorConsumer,\n\t\t];\n\n\t\treturn {\n\t\t\tmodule: PreviewGeneratorConsumerModule,\n\t\t\timports: [\n\t\t\t\tLoggerModule,\n\t\t\t\tS3ClientModule.register([storageConfig]),\n\t\t\t\tRabbitMQWrapperModule,\n\t\t\t\tConfigModule.forRoot(createConfigModuleOptions(() => serverConfig)),\n\t\t\t],\n\t\t\tproviders,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/PreviewGeneratorProducerModule.html":{"url":"modules/PreviewGeneratorProducerModule.html","title":"module - PreviewGeneratorProducerModule","body":"\n \n\n\n\n\n Modules\n PreviewGeneratorProducerModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_PreviewGeneratorProducerModule\n\n\n\ncluster_PreviewGeneratorProducerModule_exports\n\n\n\ncluster_PreviewGeneratorProducerModule_providers\n\n\n\ncluster_PreviewGeneratorProducerModule_imports\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nPreviewGeneratorProducerModule\n\nPreviewGeneratorProducerModule\n\nPreviewGeneratorProducerModule -->\n\nLoggerModule->PreviewGeneratorProducerModule\n\n\n\n\n\nRabbitMQWrapperModule\n\nRabbitMQWrapperModule\n\nPreviewGeneratorProducerModule -->\n\nRabbitMQWrapperModule->PreviewGeneratorProducerModule\n\n\n\n\n\nPreviewProducer \n\nPreviewProducer \n\nPreviewProducer -->\n\nPreviewGeneratorProducerModule->PreviewProducer \n\n\n\n\n\nPreviewProducer\n\nPreviewProducer\n\nPreviewGeneratorProducerModule -->\n\nPreviewProducer->PreviewGeneratorProducerModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/preview-generator/preview-generator-producer.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n PreviewProducer\n \n \n \n \n Imports\n \n \n LoggerModule\n \n \n RabbitMQWrapperModule\n \n \n \n \n Exports\n \n \n PreviewProducer\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { RabbitMQWrapperModule } from '../rabbitmq';\nimport { PreviewProducer } from './preview.producer';\n\n@Module({\n\timports: [LoggerModule, RabbitMQWrapperModule],\n\tproviders: [PreviewProducer],\n\texports: [PreviewProducer],\n})\nexport class PreviewGeneratorProducerModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/PreviewGeneratorService.html":{"url":"injectables/PreviewGeneratorService.html","title":"injectable - PreviewGeneratorService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n PreviewGeneratorService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/preview-generator/preview-generator.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n imageMagick\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkIfPreviewPossible\n \n \n Private\n Async\n downloadOriginFile\n \n \n Public\n Async\n generatePreview\n \n \n Private\n resizeAndConvert\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(storageClient: S3ClientAdapter, logger: Logger)\n \n \n \n \n Defined in apps/server/src/infra/preview-generator/preview-generator.service.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n storageClient\n \n \n S3ClientAdapter\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkIfPreviewPossible\n \n \n \n \n \n \n \n checkIfPreviewPossible(original: GetFile, params: PreviewFileOptions)\n \n \n\n\n \n \n Defined in apps/server/src/infra/preview-generator/preview-generator.service.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n GetFile\n \n\n \n No\n \n\n\n \n \n params\n \n PreviewFileOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void | UnprocessableEntityException\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n downloadOriginFile\n \n \n \n \n \n \n \n downloadOriginFile(pathToFile: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/preview-generator/preview-generator.service.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pathToFile\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n generatePreview\n \n \n \n \n \n \n \n generatePreview(params: PreviewFileOptions)\n \n \n\n\n \n \n Defined in apps/server/src/infra/preview-generator/preview-generator.service.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n PreviewFileOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n resizeAndConvert\n \n \n \n \n \n \n \n resizeAndConvert(original: GetFile, previewParams: PreviewOptions)\n \n \n\n\n \n \n Defined in apps/server/src/infra/preview-generator/preview-generator.service.ts:56\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n GetFile\n \n\n \n No\n \n\n\n \n \n previewParams\n \n PreviewOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : PassThrough\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n imageMagick\n \n \n \n \n \n \n Default value : subClass({ imageMagick: '7+' })\n \n \n \n \n Defined in apps/server/src/infra/preview-generator/preview-generator.service.ts:12\n \n \n\n\n \n \n\n\n \n\n\n \n import { GetFile, S3ClientAdapter } from '@infra/s3-client';\nimport { Injectable, UnprocessableEntityException } from '@nestjs/common';\nimport { Logger } from '@src/core/logger';\nimport { subClass } from 'gm';\nimport { PassThrough } from 'stream';\nimport { PreviewFileOptions, PreviewInputMimeTypes, PreviewOptions, PreviewResponseMessage } from './interface';\nimport { PreviewActionsLoggable } from './loggable/preview-actions.loggable';\nimport { PreviewGeneratorBuilder } from './preview-generator.builder';\n\n@Injectable()\nexport class PreviewGeneratorService {\n\tprivate imageMagick = subClass({ imageMagick: '7+' });\n\n\tconstructor(private readonly storageClient: S3ClientAdapter, private logger: Logger) {\n\t\tthis.logger.setContext(PreviewGeneratorService.name);\n\t}\n\n\tpublic async generatePreview(params: PreviewFileOptions): Promise {\n\t\tthis.logger.info(new PreviewActionsLoggable('PreviewGeneratorService.generatePreview:start', params));\n\t\tconst { originFilePath, previewFilePath, previewOptions } = params;\n\n\t\tconst original = await this.downloadOriginFile(originFilePath);\n\n\t\tthis.checkIfPreviewPossible(original, params);\n\n\t\tconst preview = this.resizeAndConvert(original, previewOptions);\n\n\t\tconst file = PreviewGeneratorBuilder.buildFile(preview, params.previewOptions);\n\n\t\tawait this.storageClient.create(previewFilePath, file);\n\n\t\tthis.logger.info(new PreviewActionsLoggable('PreviewGeneratorService.generatePreview:end', params));\n\n\t\treturn {\n\t\t\tpreviewFilePath,\n\t\t\tstatus: true,\n\t\t};\n\t}\n\n\tprivate checkIfPreviewPossible(original: GetFile, params: PreviewFileOptions): void | UnprocessableEntityException {\n\t\tconst isPreviewPossible =\n\t\t\toriginal.contentType && Object.values(PreviewInputMimeTypes).includes(original.contentType);\n\n\t\tif (!isPreviewPossible) {\n\t\t\tthis.logger.warning(new PreviewActionsLoggable('PreviewGeneratorService.previewNotPossible', params));\n\t\t\tthrow new UnprocessableEntityException();\n\t\t}\n\t}\n\n\tprivate async downloadOriginFile(pathToFile: string): Promise {\n\t\tconst file = await this.storageClient.get(pathToFile);\n\n\t\treturn file;\n\t}\n\n\tprivate resizeAndConvert(original: GetFile, previewParams: PreviewOptions): PassThrough {\n\t\tconst { format, width } = previewParams;\n\n\t\tconst preview = this.imageMagick(original.data);\n\n\t\tif (original.contentType === PreviewInputMimeTypes.APPLICATION_PDF) {\n\t\t\tpreview.selectFrame(0);\n\t\t}\n\n\t\tif (original.contentType === PreviewInputMimeTypes.IMAGE_GIF) {\n\t\t\tpreview.coalesce();\n\t\t}\n\n\t\tif (width) {\n\t\t\tpreview.resize(width, undefined, '>');\n\t\t}\n\n\t\tconst result = preview.stream(format);\n\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PreviewModuleConfig.html":{"url":"interfaces/PreviewModuleConfig.html","title":"interface - PreviewModuleConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PreviewModuleConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/preview-generator/interface/preview-consumer-config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT\n \n \n \n \n NEST_LOG_LEVEL\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT\n \n \n \n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n NEST_LOG_LEVEL\n \n \n \n \n \n \n \n \n NEST_LOG_LEVEL: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { S3Config } from '@infra/s3-client';\n\nexport interface PreviewModuleConfig {\n\tNEST_LOG_LEVEL: string;\n\tINCOMING_REQUEST_TIMEOUT: number;\n}\n\nexport interface PreviewConfig {\n\tstorageConfig: S3Config;\n\tserverConfig: PreviewModuleConfig;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PreviewOptions.html":{"url":"interfaces/PreviewOptions.html","title":"interface - PreviewOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PreviewOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/preview-generator/interface/preview.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n format\n \n \n \n Optional\n \n width\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n format\n \n \n \n \n \n \n \n \n format: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n width\n \n \n \n \n \n \n \n \n width: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface PreviewOptions {\n\tformat: string;\n\twidth?: number;\n}\n\nexport interface PreviewFileOptions {\n\toriginFilePath: string;\n\tpreviewFilePath: string;\n\tpreviewOptions: PreviewOptions;\n}\n\nexport interface PreviewResponseMessage {\n\tpreviewFilePath: string;\n\tstatus: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PreviewParams.html":{"url":"classes/PreviewParams.html","title":"class - PreviewParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PreviewParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n forceUpdate\n \n \n \n \n \n Optional\n outputFormat\n \n \n \n \n \n Optional\n width\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n forceUpdate\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsBoolean()@StringToBoolean()@ApiPropertyOptional({description: 'If true, the preview will be generated again.'})\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:126\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n outputFormat\n \n \n \n \n \n \n Type : PreviewOutputMimeTypes\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes'})@IsOptional()@IsEnum(PreviewOutputMimeTypes)\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:113\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n width\n \n \n \n \n \n \n Type : PreviewWidth\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({enum: PreviewWidth, enumName: 'PreviewWidth'})@IsOptional()@IsEnum(PreviewWidth)\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:118\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanResult } from '@infra/antivirus';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { Allow, IsBoolean, IsEnum, IsMongoId, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { FileRecordParentType } from '../../entity';\nimport { PreviewOutputMimeTypes, PreviewWidth } from '../../interface';\n\nexport class FileRecordParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\t@IsEnum(FileRecordParentType)\n\tparentType!: FileRecordParentType;\n}\n\nexport class FileUrlParams {\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\turl!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@Allow()\n\theaders?: Record;\n}\n\nexport class FileParams {\n\t@ApiProperty({ type: 'string', format: 'binary' })\n\t@Allow()\n\tfile!: string;\n}\n\nexport class DownloadFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileName!: string;\n}\n\nexport class ScanResultParams implements ScanResult {\n\t@ApiProperty()\n\t@Allow()\n\tvirus_detected?: boolean;\n\n\t@ApiProperty()\n\t@Allow()\n\tvirus_signature?: string;\n\n\t@ApiProperty()\n\t@Allow()\n\terror?: string;\n}\n\nexport class SingleFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n}\n\nexport class RenameFileParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n}\n\nexport class CopyFilesOfParentParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class CopyFileParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileNamePrefix!: string;\n}\n\nexport class CopyFilesOfParentPayload {\n\t@IsMongoId()\n\tuserId!: EntityId;\n\n\t@ValidateNested()\n\tsource!: FileRecordParams;\n\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class PreviewParams {\n\t@ApiPropertyOptional({ enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes' })\n\t@IsOptional()\n\t@IsEnum(PreviewOutputMimeTypes)\n\toutputFormat?: PreviewOutputMimeTypes;\n\n\t@ApiPropertyOptional({ enum: PreviewWidth, enumName: 'PreviewWidth' })\n\t@IsOptional()\n\t@IsEnum(PreviewWidth)\n\twidth?: PreviewWidth;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'If true, the preview will be generated again.',\n\t})\n\tforceUpdate?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/PreviewProducer.html":{"url":"injectables/PreviewProducer.html","title":"injectable - PreviewProducer","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n PreviewProducer\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/preview-generator/preview.producer.ts\n \n\n\n\n \n Extends\n \n \n RpcMessageProducer\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n generate\n \n \n Protected\n checkError\n \n \n Protected\n createRequest\n \n \n Protected\n Async\n request\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(amqpConnection: AmqpConnection, logger: Logger, configService: ConfigService)\n \n \n \n \n Defined in apps/server/src/infra/preview-generator/preview.producer.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n amqpConnection\n \n \n AmqpConnection\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n generate\n \n \n \n \n \n \n \n generate(payload: PreviewFileOptions)\n \n \n\n\n \n \n Defined in apps/server/src/infra/preview-generator/preview.producer.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n payload\n \n PreviewFileOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n checkError\n \n \n \n \n \n \n \n checkError(response: RpcMessage)\n \n \n\n\n \n \n Inherited from RpcMessageProducer\n\n \n \n \n \n Defined in RpcMessageProducer:21\n\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n RpcMessage\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n createRequest\n \n \n \n \n \n \n \n createRequest(event: string, payload)\n \n \n\n\n \n \n Inherited from RpcMessageProducer\n\n \n \n \n \n Defined in RpcMessageProducer:29\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n event\n \n string\n \n\n \n No\n \n\n\n \n \n payload\n \n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : { exchange: string; routingKey: string; payload: unknown; timeout: number; }\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n request\n \n \n \n \n \n \n \n request(event: string, payload)\n \n \n\n\n \n \n Inherited from RpcMessageProducer\n\n \n \n \n \n Defined in RpcMessageProducer:12\n\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n event\n \n string\n \n\n \n No\n \n\n\n \n \n payload\n \n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AmqpConnection } from '@golevelup/nestjs-rabbitmq';\nimport { FilesPreviewEvents, FilesPreviewExchange, RpcMessageProducer } from '@infra/rabbitmq';\nimport { Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { Logger } from '@src/core/logger';\nimport { PreviewFileOptions, PreviewResponseMessage } from './interface';\nimport { PreviewModuleConfig } from './interface/preview-consumer-config';\nimport { PreviewActionsLoggable } from './loggable/preview-actions.loggable';\n\n@Injectable()\nexport class PreviewProducer extends RpcMessageProducer {\n\tconstructor(\n\t\tprotected readonly amqpConnection: AmqpConnection,\n\t\tprivate readonly logger: Logger,\n\t\tprotected readonly configService: ConfigService\n\t) {\n\t\tconst timeout = configService.get('INCOMING_REQUEST_TIMEOUT');\n\n\t\tsuper(amqpConnection, FilesPreviewExchange, timeout);\n\t\tthis.logger.setContext(PreviewProducer.name);\n\t}\n\n\tasync generate(payload: PreviewFileOptions): Promise {\n\t\tthis.logger.info(new PreviewActionsLoggable('PreviewProducer.generate:started', payload));\n\n\t\tconst response = await this.request(FilesPreviewEvents.GENERATE_PREVIEW, payload);\n\n\t\tthis.logger.info(new PreviewActionsLoggable('PreviewProducer.generate:finished', payload));\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PreviewResponseMessage.html":{"url":"interfaces/PreviewResponseMessage.html","title":"interface - PreviewResponseMessage","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PreviewResponseMessage\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/preview-generator/interface/preview.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n previewFilePath\n \n \n \n \n status\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n previewFilePath\n \n \n \n \n \n \n \n \n previewFilePath: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n \n \n status: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface PreviewOptions {\n\tformat: string;\n\twidth?: number;\n}\n\nexport interface PreviewFileOptions {\n\toriginFilePath: string;\n\tpreviewFilePath: string;\n\tpreviewOptions: PreviewOptions;\n}\n\nexport interface PreviewResponseMessage {\n\tpreviewFilePath: string;\n\tstatus: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/PreviewService.html":{"url":"injectables/PreviewService.html","title":"injectable - PreviewService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n PreviewService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/service/preview.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkIfPreviewPossible\n \n \n Public\n Async\n deletePreviews\n \n \n Public\n Async\n download\n \n \n Private\n Async\n generatePreview\n \n \n Private\n Async\n getPreviewFile\n \n \n Private\n Async\n tryGetPreviewOrGenerate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(storageClient: S3ClientAdapter, logger: LegacyLogger, previewProducer: PreviewProducer)\n \n \n \n \n Defined in apps/server/src/modules/files-storage/service/preview.service.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n storageClient\n \n \n S3ClientAdapter\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n previewProducer\n \n \n PreviewProducer\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkIfPreviewPossible\n \n \n \n \n \n \n \n checkIfPreviewPossible(fileRecord: FileRecord)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/service/preview.service.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileRecord\n \n FileRecord\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void | UnprocessableEntityException\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n deletePreviews\n \n \n \n \n \n \n \n deletePreviews(fileRecords: FileRecord[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/service/preview.service.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileRecords\n \n FileRecord[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n download\n \n \n \n \n \n \n \n download(fileRecord: FileRecord, previewParams: PreviewParams, bytesRange?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/service/preview.service.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileRecord\n \n FileRecord\n \n\n \n No\n \n\n\n \n \n previewParams\n \n PreviewParams\n \n\n \n No\n \n\n\n \n \n bytesRange\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n generatePreview\n \n \n \n \n \n \n \n generatePreview(params: PreviewFileParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/service/preview.service.ts:83\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n PreviewFileParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getPreviewFile\n \n \n \n \n \n \n \n getPreviewFile(params: PreviewFileParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/service/preview.service.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n PreviewFileParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n tryGetPreviewOrGenerate\n \n \n \n \n \n \n \n tryGetPreviewOrGenerate(params: PreviewFileParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/files-storage/service/preview.service.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n PreviewFileParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Inject, Injectable, NotFoundException, UnprocessableEntityException } from '@nestjs/common';\nimport { PreviewProducer } from '@infra/preview-generator';\nimport { S3ClientAdapter } from '@infra/s3-client';\nimport { LegacyLogger } from '@src/core/logger';\nimport { PreviewParams } from '../controller/dto';\nimport { FileRecord, PreviewStatus } from '../entity';\nimport { ErrorType } from '../error';\nimport { FILES_STORAGE_S3_CONNECTION } from '../files-storage.config';\nimport { createPreviewDirectoryPath, getPreviewName } from '../helper';\nimport { GetFileResponse, PreviewFileParams } from '../interface';\nimport { FileResponseBuilder, PreviewBuilder } from '../mapper';\n\n@Injectable()\nexport class PreviewService {\n\tconstructor(\n\t\t@Inject(FILES_STORAGE_S3_CONNECTION) private readonly storageClient: S3ClientAdapter,\n\t\tprivate logger: LegacyLogger,\n\t\tprivate readonly previewProducer: PreviewProducer\n\t) {\n\t\tthis.logger.setContext(PreviewService.name);\n\t}\n\n\tpublic async download(\n\t\tfileRecord: FileRecord,\n\t\tpreviewParams: PreviewParams,\n\t\tbytesRange?: string\n\t): Promise {\n\t\tthis.checkIfPreviewPossible(fileRecord);\n\n\t\tconst previewFileParams = PreviewBuilder.buildParams(fileRecord, previewParams, bytesRange);\n\n\t\tconst response = await this.tryGetPreviewOrGenerate(previewFileParams);\n\n\t\treturn response;\n\t}\n\n\tpublic async deletePreviews(fileRecords: FileRecord[]): Promise {\n\t\tconst paths = fileRecords.map((fileRecord) => createPreviewDirectoryPath(fileRecord.getSchoolId(), fileRecord.id));\n\n\t\tconst promises = paths.map((path) => this.storageClient.deleteDirectory(path));\n\n\t\tawait Promise.all(promises);\n\t}\n\n\tprivate checkIfPreviewPossible(fileRecord: FileRecord): void | UnprocessableEntityException {\n\t\tif (fileRecord.getPreviewStatus() !== PreviewStatus.PREVIEW_POSSIBLE) {\n\t\t\tthis.logger.warn(`could not generate preview for : ${fileRecord.id} ${fileRecord.mimeType}`);\n\t\t\tthrow new UnprocessableEntityException(ErrorType.PREVIEW_NOT_POSSIBLE);\n\t\t}\n\t}\n\n\tprivate async tryGetPreviewOrGenerate(params: PreviewFileParams): Promise {\n\t\tlet file: GetFileResponse;\n\n\t\ttry {\n\t\t\tif (params.previewParams.forceUpdate) {\n\t\t\t\tawait this.generatePreview(params);\n\t\t\t}\n\n\t\t\tfile = await this.getPreviewFile(params);\n\t\t} catch (error) {\n\t\t\tif (!(error instanceof NotFoundException)) {\n\t\t\t\tthrow error;\n\t\t\t}\n\n\t\t\tawait this.generatePreview(params);\n\t\t\tfile = await this.getPreviewFile(params);\n\t\t}\n\n\t\treturn file;\n\t}\n\n\tprivate async getPreviewFile(params: PreviewFileParams): Promise {\n\t\tconst { fileRecord, previewFilePath, bytesRange, previewParams } = params;\n\t\tconst name = getPreviewName(fileRecord, previewParams.outputFormat);\n\t\tconst file = await this.storageClient.get(previewFilePath, bytesRange);\n\n\t\tconst response = FileResponseBuilder.build(file, name);\n\n\t\treturn response;\n\t}\n\n\tprivate async generatePreview(params: PreviewFileParams): Promise {\n\t\tconst payload = PreviewBuilder.buildPayload(params);\n\n\t\tawait this.previewProducer.generate(payload);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PrometheusMetricsConfig.html":{"url":"classes/PrometheusMetricsConfig.html","title":"class - PrometheusMetricsConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PrometheusMetricsConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/metrics/prometheus/config.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n _collectDefaultMetrics\n \n \n Private\n Readonly\n _collectMetricsRouteMetrics\n \n \n Private\n Static\n _instance\n \n \n Private\n Readonly\n _isEnabled\n \n \n Private\n Readonly\n _port\n \n \n Private\n Readonly\n _route\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n reload\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n isEnabled\n \n \n route\n \n \n port\n \n \n collectDefaultMetrics\n \n \n collectMetricsRouteMetrics\n \n \n instance\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \n Private\n constructor()\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:34\n \n \n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n _collectDefaultMetrics\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n _collectMetricsRouteMetrics\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Static\n _instance\n \n \n \n \n \n \n Type : PrometheusMetricsConfig\n\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n _isEnabled\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n _port\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n _route\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:12\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n reload\n \n \n \n \n \n \n \n reload()\n \n \n\n\n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:52\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n isEnabled\n \n \n\n \n \n getisEnabled()\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:8\n \n \n\n \n \n \n \n \n \n \n route\n \n \n\n \n \n getroute()\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:14\n \n \n\n \n \n \n \n \n \n \n port\n \n \n\n \n \n getport()\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:20\n \n \n\n \n \n \n \n \n \n \n collectDefaultMetrics\n \n \n\n \n \n getcollectDefaultMetrics()\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:26\n \n \n\n \n \n \n \n \n \n \n collectMetricsRouteMetrics\n \n \n\n \n \n getcollectMetricsRouteMetrics()\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:32\n \n \n\n \n \n \n \n \n \n \n instance\n \n \n\n \n \n getinstance()\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/config.ts:44\n \n \n\n \n \n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\n\nexport class PrometheusMetricsConfig {\n\tprivate static _instance: PrometheusMetricsConfig;\n\n\tprivate readonly _isEnabled: boolean;\n\n\tget isEnabled(): boolean {\n\t\treturn this._isEnabled;\n\t}\n\n\tprivate readonly _route: string;\n\n\tget route(): string {\n\t\treturn this._route;\n\t}\n\n\tprivate readonly _port: number;\n\n\tget port(): number {\n\t\treturn this._port;\n\t}\n\n\tprivate readonly _collectDefaultMetrics: boolean;\n\n\tget collectDefaultMetrics(): boolean {\n\t\treturn this._collectDefaultMetrics;\n\t}\n\n\tprivate readonly _collectMetricsRouteMetrics: boolean;\n\n\tget collectMetricsRouteMetrics(): boolean {\n\t\treturn this._collectMetricsRouteMetrics;\n\t}\n\n\tprivate constructor() {\n\t\tthis._isEnabled = Configuration.get('FEATURE_PROMETHEUS_METRICS_ENABLED') as boolean;\n\t\tthis._route = Configuration.get('PROMETHEUS_METRICS_ROUTE') as string;\n\t\tthis._port = Configuration.get('PROMETHEUS_METRICS_PORT') as number;\n\t\tthis._collectDefaultMetrics = Configuration.get('PROMETHEUS_METRICS_COLLECT_DEFAULT_METRICS') as boolean;\n\t\tthis._collectMetricsRouteMetrics = Configuration.get('PROMETHEUS_METRICS_COLLECT_METRICS_ROUTE_METRICS') as boolean;\n\t}\n\n\tpublic static get instance() {\n\t\tif (this._instance === undefined) {\n\t\t\tthis._instance = new this();\n\t\t}\n\n\t\treturn this._instance;\n\t}\n\n\tpublic static reload() {\n\t\tthis._instance = new this();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PrometheusMetricsSetupStateLoggable.html":{"url":"classes/PrometheusMetricsSetupStateLoggable.html","title":"class - PrometheusMetricsSetupStateLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PrometheusMetricsSetupStateLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/apps/helpers/prometheus-metrics.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(state: PrometheusMetricsSetupState)\n \n \n \n \n Defined in apps/server/src/apps/helpers/prometheus-metrics.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n \n PrometheusMetricsSetupState\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/apps/helpers/prometheus-metrics.ts:22\n \n \n\n\n \n \n\n \n Returns : LogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Express } from 'express';\n\nimport {\n\tPrometheusMetricsConfig,\n\tcreateAPIResponseTimeMetricMiddleware,\n\tcreatePrometheusMetricsApp,\n} from '@infra/metrics';\nimport { LogMessage, Loggable, Logger } from '@src/core/logger';\nimport { AppStartLoggable } from './app-start-loggable';\n\nexport const enum PrometheusMetricsSetupState {\n\tFEATURE_DISABLED_MIDDLEWARES_WILL_NOT_BE_CREATED = 'Prometheus metrics feature is disabled - no metrics middlewares will be added to the app',\n\tAPI_RESPONSE_TIME_METRIC_MIDDLEWARE_SUCCESSFULLY_ADDED = 'API response time metric middleware successfully added to the app',\n\tFEATURE_DISABLED_APP_WILL_NOT_BE_CREATED = 'Prometheus metrics feature is disabled - Prometheus metrics app will not be created',\n\tCOLLECTING_DEFAULT_METRICS_DISABLED = 'Collecting default metrics is disabled - only the custom metrics will be collected',\n\tCOLLECTING_METRICS_ROUTE_METRICS_DISABLED = 'Collecting metrics route metrics is disabled - no metrics route calls will be added to the metrics',\n}\n\nexport class PrometheusMetricsSetupStateLoggable implements Loggable {\n\tconstructor(private readonly state: PrometheusMetricsSetupState) {}\n\n\tgetLogMessage(): LogMessage {\n\t\treturn {\n\t\t\tmessage: 'Setting up Prometheus metrics...',\n\t\t\tdata: {\n\t\t\t\tstate: this.state,\n\t\t\t},\n\t\t};\n\t}\n}\n\nexport const addPrometheusMetricsMiddlewaresIfEnabled = (logger: Logger, app: Express) => {\n\tif (!PrometheusMetricsConfig.instance.isEnabled) {\n\t\tlogger.debug(\n\t\t\tnew PrometheusMetricsSetupStateLoggable(\n\t\t\t\tPrometheusMetricsSetupState.FEATURE_DISABLED_MIDDLEWARES_WILL_NOT_BE_CREATED\n\t\t\t)\n\t\t);\n\n\t\treturn;\n\t}\n\n\tapp.use(createAPIResponseTimeMetricMiddleware());\n\n\tlogger.debug(\n\t\tnew PrometheusMetricsSetupStateLoggable(\n\t\t\tPrometheusMetricsSetupState.API_RESPONSE_TIME_METRIC_MIDDLEWARE_SUCCESSFULLY_ADDED\n\t\t)\n\t);\n};\n\nexport const createAndStartPrometheusMetricsAppIfEnabled = (logger: Logger) => {\n\tif (!PrometheusMetricsConfig.instance.isEnabled) {\n\t\tlogger.debug(\n\t\t\tnew PrometheusMetricsSetupStateLoggable(PrometheusMetricsSetupState.FEATURE_DISABLED_APP_WILL_NOT_BE_CREATED)\n\t\t);\n\n\t\treturn;\n\t}\n\n\tconst { route, collectDefaultMetrics, collectMetricsRouteMetrics } = PrometheusMetricsConfig.instance;\n\n\tif (!collectDefaultMetrics) {\n\t\tlogger.debug(\n\t\t\tnew PrometheusMetricsSetupStateLoggable(PrometheusMetricsSetupState.COLLECTING_DEFAULT_METRICS_DISABLED)\n\t\t);\n\t}\n\n\tif (!collectMetricsRouteMetrics) {\n\t\tlogger.debug(\n\t\t\tnew PrometheusMetricsSetupStateLoggable(PrometheusMetricsSetupState.COLLECTING_METRICS_ROUTE_METRICS_DISABLED)\n\t\t);\n\t}\n\n\tconst prometheusMetricsAppPort = PrometheusMetricsConfig.instance.port;\n\n\tconst prometheusMetricsApp = createPrometheusMetricsApp(route, collectDefaultMetrics, collectMetricsRouteMetrics);\n\n\tprometheusMetricsApp.listen(prometheusMetricsAppPort, () => {\n\t\tlogger.info(\n\t\t\tnew AppStartLoggable({\n\t\t\t\tappName: 'Prometheus metrics server app',\n\t\t\t\tport: prometheusMetricsAppPort,\n\t\t\t\tmountsDescription: `${route} --> Prometheus metrics`,\n\t\t\t})\n\t\t);\n\t});\n};\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PropertyData.html":{"url":"classes/PropertyData.html","title":"class - PropertyData","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PropertyData\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/types/property-data.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n location\n \n \n name\n \n \n value\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: PropertyData)\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/property-data.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n PropertyData\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n location\n \n \n \n \n \n \n Type : PropertyLocation\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/property-data.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/property-data.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n value\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/property-data.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { PropertyLocation } from './property-location';\n\nexport class PropertyData {\n\tname: string;\n\n\tvalue: string;\n\n\tlocation?: PropertyLocation;\n\n\tconstructor(props: PropertyData) {\n\t\tthis.name = props.name;\n\t\tthis.value = props.value;\n\t\tthis.location = props.location;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ProviderConsentResponse.html":{"url":"interfaces/ProviderConsentResponse.html","title":"interface - ProviderConsentResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ProviderConsentResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/oauth-provider/dto/response/consent.response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n acr\n \n \n \n Optional\n \n amr\n \n \n \n \n challenge\n \n \n \n Optional\n \n client\n \n \n \n Optional\n \n context\n \n \n \n Optional\n \n login_challenge\n \n \n \n Optional\n \n login_session_id\n \n \n \n Optional\n \n oidc_context\n \n \n \n Optional\n \n request_url\n \n \n \n Optional\n \n requested_access_token_audience\n \n \n \n Optional\n \n requested_scope\n \n \n \n Optional\n \n skip\n \n \n \n Optional\n \n subject\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n acr\n \n \n \n \n \n \n \n \n acr: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n amr\n \n \n \n \n \n \n \n \n amr: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n challenge\n \n \n \n \n \n \n \n \n challenge: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n client\n \n \n \n \n \n \n \n \n client: ProviderOauthClient\n\n \n \n\n\n \n \n Type : ProviderOauthClient\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n context\n \n \n \n \n \n \n \n \n context: object\n\n \n \n\n\n \n \n Type : object\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n login_challenge\n \n \n \n \n \n \n \n \n login_challenge: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n login_session_id\n \n \n \n \n \n \n \n \n login_session_id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n oidc_context\n \n \n \n \n \n \n \n \n oidc_context: ProviderOidcContext\n\n \n \n\n\n \n \n Type : ProviderOidcContext\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n request_url\n \n \n \n \n \n \n \n \n request_url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n requested_access_token_audience\n \n \n \n \n \n \n \n \n requested_access_token_audience: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n requested_scope\n \n \n \n \n \n \n \n \n requested_scope: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n skip\n \n \n \n \n \n \n \n \n skip: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n subject\n \n \n \n \n \n \n \n \n subject: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { ProviderOauthClient } from '../interface/oauth-client.interface';\nimport { ProviderOidcContext } from '../interface/oidc-context.interface';\n\nexport interface ProviderConsentResponse {\n\tacr?: string;\n\n\tamr?: string[];\n\n\tchallenge: string;\n\n\tclient?: ProviderOauthClient;\n\n\tcontext?: object;\n\n\tlogin_challenge?: string;\n\n\tlogin_session_id?: string;\n\n\toidc_context?: ProviderOidcContext;\n\n\trequest_url?: string;\n\n\trequested_access_token_audience?: string[];\n\n\trequested_scope?: string[];\n\n\tskip?: boolean;\n\n\tsubject?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ProviderConsentSessionResponse.html":{"url":"interfaces/ProviderConsentSessionResponse.html","title":"interface - ProviderConsentSessionResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ProviderConsentSessionResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/oauth-provider/dto/response/consent-session.response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n consent_request\n \n \n \n Optional\n \n grant_access_token_audience\n \n \n \n Optional\n \n grant_scope\n \n \n \n Optional\n \n handled_at\n \n \n \n Optional\n \n remember\n \n \n \n Optional\n \n remember_for\n \n \n \n Optional\n \n session\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n consent_request\n \n \n \n \n \n \n \n \n consent_request: ProviderConsentResponse\n\n \n \n\n\n \n \n Type : ProviderConsentResponse\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n grant_access_token_audience\n \n \n \n \n \n \n \n \n grant_access_token_audience: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n grant_scope\n \n \n \n \n \n \n \n \n grant_scope: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n handled_at\n \n \n \n \n \n \n \n \n handled_at: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n remember\n \n \n \n \n \n \n \n \n remember: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n remember_for\n \n \n \n \n \n \n \n \n remember_for: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n session\n \n \n \n \n \n \n \n \n session: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { ProviderConsentResponse } from './consent.response';\n\nexport interface ProviderConsentSessionResponse {\n\tconsent_request: ProviderConsentResponse;\n\n\tgrant_access_token_audience?: string[];\n\n\tgrant_scope?: string[];\n\n\thandled_at?: string;\n\n\tremember?: boolean;\n\n\tremember_for?: number;\n\n\tsession?: {\n\t\taccess_token: string;\n\n\t\tid_token: string;\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ProviderLoginResponse.html":{"url":"interfaces/ProviderLoginResponse.html","title":"interface - ProviderLoginResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ProviderLoginResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/oauth-provider/dto/response/login.response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n challenge\n \n \n \n \n client\n \n \n \n Optional\n \n oidc_context\n \n \n \n \n request_url\n \n \n \n \n requested_access_token_audience\n \n \n \n \n requested_scope\n \n \n \n Optional\n \n session_id\n \n \n \n \n skip\n \n \n \n \n subject\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n challenge\n \n \n \n \n \n \n \n \n challenge: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n client\n \n \n \n \n \n \n \n \n client: ProviderOauthClient\n\n \n \n\n\n \n \n Type : ProviderOauthClient\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n oidc_context\n \n \n \n \n \n \n \n \n oidc_context: ProviderOidcContext\n\n \n \n\n\n \n \n Type : ProviderOidcContext\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n request_url\n \n \n \n \n \n \n \n \n request_url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n requested_access_token_audience\n \n \n \n \n \n \n \n \n requested_access_token_audience: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n requested_scope\n \n \n \n \n \n \n \n \n requested_scope: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n session_id\n \n \n \n \n \n \n \n \n session_id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n skip\n \n \n \n \n \n \n \n \n skip: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n subject\n \n \n \n \n \n \n \n \n subject: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { ProviderOauthClient } from '../interface/oauth-client.interface';\nimport { ProviderOidcContext } from '../interface/oidc-context.interface';\n\nexport interface ProviderLoginResponse {\n\tchallenge: string;\n\n\tclient: ProviderOauthClient;\n\n\toidc_context?: ProviderOidcContext;\n\n\trequest_url: string;\n\n\trequested_access_token_audience: string[];\n\n\trequested_scope: string[];\n\n\tsession_id?: string;\n\n\tskip: boolean;\n\n\tsubject: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ProviderOidcContext.html":{"url":"interfaces/ProviderOidcContext.html","title":"interface - ProviderOidcContext","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ProviderOidcContext\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/oauth-provider/dto/interface/oidc-context.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n acr_values\n \n \n \n Optional\n \n display\n \n \n \n Optional\n \n id_token_hint_claims\n \n \n \n Optional\n \n login_hint\n \n \n \n Optional\n \n ui_locales\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n acr_values\n \n \n \n \n \n \n \n \n acr_values: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n display\n \n \n \n \n \n \n \n \n display: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n id_token_hint_claims\n \n \n \n \n \n \n \n \n id_token_hint_claims: object\n\n \n \n\n\n \n \n Type : object\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n login_hint\n \n \n \n \n \n \n \n \n login_hint: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n ui_locales\n \n \n \n \n \n \n \n \n ui_locales: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface ProviderOidcContext {\n\tacr_values?: string[];\n\n\tdisplay?: string;\n\n\tid_token_hint_claims?: object;\n\n\tlogin_hint?: string;\n\n\tui_locales?: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ProviderRedirectResponse.html":{"url":"interfaces/ProviderRedirectResponse.html","title":"interface - ProviderRedirectResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ProviderRedirectResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/oauth-provider/dto/response/redirect.response.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n redirect_to\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n redirect_to\n \n \n \n \n \n \n \n \n redirect_to: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface ProviderRedirectResponse {\n\tredirect_to: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ProvisioningDto.html":{"url":"classes/ProvisioningDto.html","title":"class - ProvisioningDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ProvisioningDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/dto/provisioning.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n externalUserId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(provisioningDto: ProvisioningDto)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/provisioning.dto.ts:2\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n provisioningDto\n \n \n ProvisioningDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n externalUserId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/provisioning.dto.ts:2\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class ProvisioningDto {\n\texternalUserId: string;\n\n\tconstructor(provisioningDto: ProvisioningDto) {\n\t\tthis.externalUserId = provisioningDto.externalUserId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ProvisioningModule.html":{"url":"modules/ProvisioningModule.html","title":"module - ProvisioningModule","body":"\n \n\n\n\n\n Modules\n ProvisioningModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ProvisioningModule\n\n\n\ncluster_ProvisioningModule_providers\n\n\n\ncluster_ProvisioningModule_imports\n\n\n\ncluster_ProvisioningModule_exports\n\n\n\n\nAccountModule\n\nAccountModule\n\n\n\nProvisioningModule\n\nProvisioningModule\n\nProvisioningModule -->\n\nAccountModule->ProvisioningModule\n\n\n\n\n\nGroupModule\n\nGroupModule\n\nProvisioningModule -->\n\nGroupModule->ProvisioningModule\n\n\n\n\n\nLegacySchoolModule\n\nLegacySchoolModule\n\nProvisioningModule -->\n\nLegacySchoolModule->ProvisioningModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nProvisioningModule -->\n\nLoggerModule->ProvisioningModule\n\n\n\n\n\nRoleModule\n\nRoleModule\n\nProvisioningModule -->\n\nRoleModule->ProvisioningModule\n\n\n\n\n\nSystemModule\n\nSystemModule\n\nProvisioningModule -->\n\nSystemModule->ProvisioningModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nProvisioningModule -->\n\nUserModule->ProvisioningModule\n\n\n\n\n\nProvisioningService \n\nProvisioningService \n\nProvisioningService -->\n\nProvisioningModule->ProvisioningService \n\n\n\n\n\nIservProvisioningStrategy\n\nIservProvisioningStrategy\n\nProvisioningModule -->\n\nIservProvisioningStrategy->ProvisioningModule\n\n\n\n\n\nOidcMockProvisioningStrategy\n\nOidcMockProvisioningStrategy\n\nProvisioningModule -->\n\nOidcMockProvisioningStrategy->ProvisioningModule\n\n\n\n\n\nOidcProvisioningService\n\nOidcProvisioningService\n\nProvisioningModule -->\n\nOidcProvisioningService->ProvisioningModule\n\n\n\n\n\nProvisioningService\n\nProvisioningService\n\nProvisioningModule -->\n\nProvisioningService->ProvisioningModule\n\n\n\n\n\nSanisProvisioningStrategy\n\nSanisProvisioningStrategy\n\nProvisioningModule -->\n\nSanisProvisioningStrategy->ProvisioningModule\n\n\n\n\n\nSanisResponseMapper\n\nSanisResponseMapper\n\nProvisioningModule -->\n\nSanisResponseMapper->ProvisioningModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/provisioning/provisioning.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n IservProvisioningStrategy\n \n \n OidcMockProvisioningStrategy\n \n \n OidcProvisioningService\n \n \n ProvisioningService\n \n \n SanisProvisioningStrategy\n \n \n SanisResponseMapper\n \n \n \n \n Imports\n \n \n AccountModule\n \n \n GroupModule\n \n \n LegacySchoolModule\n \n \n LoggerModule\n \n \n RoleModule\n \n \n SystemModule\n \n \n UserModule\n \n \n \n \n Exports\n \n \n ProvisioningService\n \n \n \n \n \n\n\n \n\n\n \n import { HttpModule } from '@nestjs/axios';\nimport { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { AccountModule } from '@modules/account/account.module';\nimport { RoleModule } from '@modules/role';\nimport { LegacySchoolModule } from '@modules/legacy-school';\nimport { SystemModule } from '@modules/system/system.module';\nimport { UserModule } from '@modules/user';\nimport { GroupModule } from '@modules/group';\nimport { ProvisioningService } from './service/provisioning.service';\nimport { IservProvisioningStrategy, OidcMockProvisioningStrategy, SanisProvisioningStrategy } from './strategy';\nimport { OidcProvisioningService } from './strategy/oidc/service/oidc-provisioning.service';\nimport { SanisResponseMapper } from './strategy/sanis/sanis-response.mapper';\n\n@Module({\n\timports: [\n\t\tAccountModule,\n\t\tLegacySchoolModule,\n\t\tUserModule,\n\t\tRoleModule,\n\t\tSystemModule,\n\t\tHttpModule,\n\t\tLoggerModule,\n\t\tGroupModule,\n\t],\n\tproviders: [\n\t\tProvisioningService,\n\t\tSanisResponseMapper,\n\t\tOidcProvisioningService,\n\t\tSanisProvisioningStrategy,\n\t\tIservProvisioningStrategy,\n\t\tOidcMockProvisioningStrategy,\n\t],\n\texports: [ProvisioningService],\n})\nexport class ProvisioningModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ProvisioningService.html":{"url":"injectables/ProvisioningService.html","title":"injectable - ProvisioningService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ProvisioningService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/service/provisioning.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n strategies\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n determineInput\n \n \n Async\n getData\n \n \n Private\n getProvisioningStrategy\n \n \n Async\n provisionData\n \n \n Protected\n registerStrategy\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(systemService: LegacySystemService, sanisStrategy: SanisProvisioningStrategy, iservStrategy: IservProvisioningStrategy, oidcMockStrategy: OidcMockProvisioningStrategy)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/service/provisioning.service.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemService\n \n \n LegacySystemService\n \n \n \n No\n \n \n \n \n sanisStrategy\n \n \n SanisProvisioningStrategy\n \n \n \n No\n \n \n \n \n iservStrategy\n \n \n IservProvisioningStrategy\n \n \n \n No\n \n \n \n \n oidcMockStrategy\n \n \n OidcMockProvisioningStrategy\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n determineInput\n \n \n \n \n \n \n \n determineInput(systemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/service/provisioning.service.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getData\n \n \n \n \n \n \n \n getData(systemId: string, idToken: string, accessToken: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/service/provisioning.service.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n idToken\n \n string\n \n\n \n No\n \n\n\n \n \n accessToken\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getProvisioningStrategy\n \n \n \n \n \n \n \n getProvisioningStrategy(systemStrategy: SystemProvisioningStrategy)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/service/provisioning.service.ts:62\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemStrategy\n \n SystemProvisioningStrategy\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ProvisioningStrategy\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n provisionData\n \n \n \n \n \n \n \n provisionData(oauthData: OauthDataDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/service/provisioning.service.ts:56\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthData\n \n OauthDataDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n registerStrategy\n \n \n \n \n \n \n \n registerStrategy(strategy: ProvisioningStrategy)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/service/provisioning.service.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n strategy\n \n ProvisioningStrategy\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n strategies\n \n \n \n \n \n \n Type : Map\n\n \n \n \n \n Default value : new Map()\n \n \n \n \n Defined in apps/server/src/modules/provisioning/service/provisioning.service.ts:16\n \n \n\n\n \n \n\n\n \n\n\n \n import { LegacySystemService } from '@modules/system';\nimport { SystemDto } from '@modules/system/service/dto/system.dto';\nimport { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { OauthDataDto, OauthDataStrategyInputDto, ProvisioningDto, ProvisioningSystemDto } from '../dto';\nimport { ProvisioningSystemInputMapper } from '../mapper/provisioning-system-input.mapper';\nimport {\n\tIservProvisioningStrategy,\n\tOidcMockProvisioningStrategy,\n\tProvisioningStrategy,\n\tSanisProvisioningStrategy,\n} from '../strategy';\n\n@Injectable()\nexport class ProvisioningService {\n\tstrategies: Map = new Map();\n\n\tconstructor(\n\t\tprivate readonly systemService: LegacySystemService,\n\t\tprivate readonly sanisStrategy: SanisProvisioningStrategy,\n\t\tprivate readonly iservStrategy: IservProvisioningStrategy,\n\t\tprivate readonly oidcMockStrategy: OidcMockProvisioningStrategy\n\t) {\n\t\tthis.registerStrategy(sanisStrategy);\n\t\tthis.registerStrategy(iservStrategy);\n\t\tthis.registerStrategy(oidcMockStrategy);\n\t}\n\n\tprotected registerStrategy(strategy: ProvisioningStrategy) {\n\t\tthis.strategies.set(strategy.getType(), strategy);\n\t}\n\n\tasync getData(systemId: string, idToken: string, accessToken: string): Promise {\n\t\tconst system: ProvisioningSystemDto = await this.determineInput(systemId);\n\t\tconst input: OauthDataStrategyInputDto = new OauthDataStrategyInputDto({\n\t\t\taccessToken,\n\t\t\tidToken,\n\t\t\tsystem,\n\t\t});\n\n\t\tconst strategy: ProvisioningStrategy = this.getProvisioningStrategy(system.provisioningStrategy);\n\n\t\tconst data: OauthDataDto = await strategy.getData(input);\n\t\treturn data;\n\t}\n\n\tprivate async determineInput(systemId: string): Promise {\n\t\tconst systemDto: SystemDto = await this.systemService.findById(systemId);\n\t\tconst inputDto: ProvisioningSystemDto = ProvisioningSystemInputMapper.mapToInternal(systemDto);\n\t\treturn inputDto;\n\t}\n\n\tasync provisionData(oauthData: OauthDataDto): Promise {\n\t\tconst strategy: ProvisioningStrategy = this.getProvisioningStrategy(oauthData.system.provisioningStrategy);\n\t\tconst provisioningDto: Promise = strategy.apply(oauthData);\n\t\treturn provisioningDto;\n\t}\n\n\tprivate getProvisioningStrategy(systemStrategy: SystemProvisioningStrategy): ProvisioningStrategy {\n\t\tconst strategy: ProvisioningStrategy | undefined = this.strategies.get(systemStrategy);\n\n\t\tif (!strategy) {\n\t\t\tthrow new InternalServerErrorException('Provisioning Strategy is not defined.');\n\t\t}\n\n\t\treturn strategy;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ProvisioningStrategy.html":{"url":"classes/ProvisioningStrategy.html","title":"class - ProvisioningStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ProvisioningStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/base.strategy.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Abstract\n apply\n \n \n Abstract\n getData\n \n \n Abstract\n getType\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Abstract\n apply\n \n \n \n \n \n \n \n apply(data: OauthDataDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/base.strategy.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n OauthDataDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getData\n \n \n \n \n \n \n \n getData(input: OauthDataStrategyInputDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/base.strategy.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n input\n \n OauthDataStrategyInputDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Abstract\n getType\n \n \n \n \n \n \n \n getType()\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/base.strategy.ts:5\n \n \n\n\n \n \n\n \n Returns : SystemProvisioningStrategy\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { OauthDataDto, OauthDataStrategyInputDto, ProvisioningDto } from '../dto';\n\nexport abstract class ProvisioningStrategy {\n\tabstract getType(): SystemProvisioningStrategy;\n\n\tabstract getData(input: OauthDataStrategyInputDto): Promise;\n\n\tabstract apply(data: OauthDataDto): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ProvisioningSystemDto.html":{"url":"classes/ProvisioningSystemDto.html","title":"class - ProvisioningSystemDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ProvisioningSystemDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/dto/provisioning-system.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n provisioningStrategy\n \n \n Optional\n provisioningUrl\n \n \n systemId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ProvisioningSystemDto)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/provisioning-system.dto.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ProvisioningSystemDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n provisioningStrategy\n \n \n \n \n \n \n Type : SystemProvisioningStrategy\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/provisioning-system.dto.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n provisioningUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/provisioning-system.dto.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n systemId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/provisioning/dto/provisioning-system.dto.ts:5\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { EntityId } from '@shared/domain/types';\n\nexport class ProvisioningSystemDto {\n\tsystemId: EntityId;\n\n\tprovisioningStrategy: SystemProvisioningStrategy;\n\n\tprovisioningUrl?: string;\n\n\tconstructor(props: ProvisioningSystemDto) {\n\t\tthis.systemId = props.systemId;\n\t\tthis.provisioningStrategy = props.provisioningStrategy;\n\t\tthis.provisioningUrl = props.provisioningUrl;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ProvisioningSystemInputMapper.html":{"url":"classes/ProvisioningSystemInputMapper.html","title":"class - ProvisioningSystemInputMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ProvisioningSystemInputMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/mapper/provisioning-system-input.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToInternal\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToInternal\n \n \n \n \n \n \n \n mapToInternal(dto: SystemDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/mapper/provisioning-system-input.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n dto\n \n SystemDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { SystemDto } from '@modules/system/service/dto/system.dto';\nimport { ProvisioningSystemDto } from '../dto';\n\nexport class ProvisioningSystemInputMapper {\n\tstatic mapToInternal(dto: SystemDto) {\n\t\treturn new ProvisioningSystemDto({\n\t\t\tsystemId: dto.id || '',\n\t\t\tprovisioningStrategy: dto.provisioningStrategy || SystemProvisioningStrategy.UNDEFINED,\n\t\t\tprovisioningUrl: dto.provisioningUrl || undefined,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Pseudonym.html":{"url":"classes/Pseudonym.html","title":"class - Pseudonym","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Pseudonym\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/pseudonym.do.ts\n \n\n\n\n \n Extends\n \n \n DomainObject\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n pseudonym\n \n \n toolId\n \n \n userId\n \n \n createdAt\n \n \n updatedAt\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n pseudonym\n \n \n\n \n \n getpseudonym()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/pseudonym.do.ts:13\n \n \n\n \n \n \n \n \n \n \n toolId\n \n \n\n \n \n gettoolId()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/pseudonym.do.ts:17\n \n \n\n \n \n \n \n \n \n \n userId\n \n \n\n \n \n getuserId()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/pseudonym.do.ts:21\n \n \n\n \n \n \n \n \n \n \n createdAt\n \n \n\n \n \n getcreatedAt()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/pseudonym.do.ts:25\n \n \n\n \n \n \n \n \n \n \n updatedAt\n \n \n\n \n \n getupdatedAt()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/pseudonym.do.ts:29\n \n \n\n \n \n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { AuthorizableObject, DomainObject } from '../domain-object';\n\nexport interface PseudonymProps extends AuthorizableObject {\n\tpseudonym: string;\n\ttoolId: EntityId;\n\tuserId: EntityId;\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\nexport class Pseudonym extends DomainObject {\n\tget pseudonym(): string {\n\t\treturn this.props.pseudonym;\n\t}\n\n\tget toolId(): EntityId {\n\t\treturn this.props.toolId;\n\t}\n\n\tget userId(): EntityId {\n\t\treturn this.props.userId;\n\t}\n\n\tget createdAt(): Date {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date {\n\t\treturn this.props.updatedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/PseudonymApiModule.html":{"url":"modules/PseudonymApiModule.html","title":"module - PseudonymApiModule","body":"\n \n\n\n\n\n Modules\n PseudonymApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_PseudonymApiModule\n\n\n\ncluster_PseudonymApiModule_imports\n\n\n\ncluster_PseudonymApiModule_providers\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nPseudonymApiModule\n\nPseudonymApiModule\n\nPseudonymApiModule -->\n\nAuthorizationModule->PseudonymApiModule\n\n\n\n\n\nLegacySchoolModule\n\nLegacySchoolModule\n\nPseudonymApiModule -->\n\nLegacySchoolModule->PseudonymApiModule\n\n\n\n\n\nPseudonymModule\n\nPseudonymModule\n\nPseudonymApiModule -->\n\nPseudonymModule->PseudonymApiModule\n\n\n\n\n\nPseudonymUc\n\nPseudonymUc\n\nPseudonymApiModule -->\n\nPseudonymUc->PseudonymApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/pseudonym/pseudonym-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n PseudonymUc\n \n \n \n \n Controllers\n \n \n PseudonymController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n LegacySchoolModule\n \n \n PseudonymModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { LegacySchoolModule } from '@modules/legacy-school';\nimport { PseudonymModule } from './pseudonym.module';\nimport { PseudonymController } from './controller/pseudonym.controller';\nimport { PseudonymUc } from './uc';\n\n@Module({\n\timports: [PseudonymModule, AuthorizationModule, LegacySchoolModule],\n\tproviders: [PseudonymUc],\n\tcontrollers: [PseudonymController],\n})\nexport class PseudonymApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/PseudonymController.html":{"url":"controllers/PseudonymController.html","title":"controller - PseudonymController","body":"\n \n\n\n\n\n\n\n Controllers\n PseudonymController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/controller/pseudonym.controller.ts\n \n\n \n Prefix\n \n \n pseudonyms\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n Async\n getPseudonym\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getPseudonym\n \n \n \n \n \n \n \n getPseudonym(params: PseudonymParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get(':pseudonym')@ApiFoundResponse({description: 'Pseudonym has been found.', type: PseudonymResponse})@ApiUnauthorizedResponse()@ApiForbiddenResponse()@ApiOperation({summary: 'Returns the related user and tool information to a pseudonym'})\n \n \n\n \n \n Defined in apps/server/src/modules/pseudonym/controller/pseudonym.controller.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n PseudonymParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Controller, Get, Param } from '@nestjs/common';\nimport {\n\tApiForbiddenResponse,\n\tApiFoundResponse,\n\tApiOperation,\n\tApiTags,\n\tApiUnauthorizedResponse,\n} from '@nestjs/swagger';\nimport { Pseudonym } from '@shared/domain/domainobject';\nimport { PseudonymMapper } from '../mapper/pseudonym.mapper';\nimport { PseudonymUc } from '../uc';\nimport { PseudonymResponse } from './dto';\nimport { PseudonymParams } from './dto/pseudonym-params';\n\n@ApiTags('Pseudonym')\n@Authenticate('jwt')\n@Controller('pseudonyms')\nexport class PseudonymController {\n\tconstructor(private readonly pseudonymUc: PseudonymUc) {}\n\n\t@Get(':pseudonym')\n\t@ApiFoundResponse({ description: 'Pseudonym has been found.', type: PseudonymResponse })\n\t@ApiUnauthorizedResponse()\n\t@ApiForbiddenResponse()\n\t@ApiOperation({ summary: 'Returns the related user and tool information to a pseudonym' })\n\tasync getPseudonym(\n\t\t@Param() params: PseudonymParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst pseudonym: Pseudonym = await this.pseudonymUc.findPseudonymByPseudonym(currentUser.userId, params.pseudonym);\n\n\t\tconst pseudonymResponse: PseudonymResponse = PseudonymMapper.mapToResponse(pseudonym);\n\n\t\treturn pseudonymResponse;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/PseudonymEntity.html":{"url":"entities/PseudonymEntity.html","title":"entity - PseudonymEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n PseudonymEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/entity/pseudonym.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n pseudonym\n \n \n \n toolId\n \n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n pseudonym\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()@Unique()\n \n \n \n \n \n Defined in apps/server/src/modules/pseudonym/entity/pseudonym.entity.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n toolId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/pseudonym/entity/pseudonym.entity.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/pseudonym/entity/pseudonym.entity.ts:24\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property, Unique } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface PseudonymEntityProps {\n\tid?: EntityId;\n\tpseudonym: string;\n\ttoolId: ObjectId;\n\tuserId: ObjectId;\n}\n\n@Entity({ tableName: 'pseudonyms' })\n@Unique({ properties: ['userId', 'toolId'] })\nexport class PseudonymEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Unique()\n\tpseudonym: string;\n\n\t@Property()\n\ttoolId: ObjectId;\n\n\t@Property()\n\tuserId: ObjectId;\n\n\tconstructor(props: PseudonymEntityProps) {\n\t\tsuper();\n\t\tif (props.id != null) {\n\t\t\tthis.id = props.id;\n\t\t}\n\t\tthis.pseudonym = props.pseudonym;\n\t\tthis.toolId = props.toolId;\n\t\tthis.userId = props.userId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PseudonymEntityProps.html":{"url":"interfaces/PseudonymEntityProps.html","title":"interface - PseudonymEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PseudonymEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/entity/pseudonym.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n id\n \n \n \n \n pseudonym\n \n \n \n \n toolId\n \n \n \n \n userId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n pseudonym\n \n \n \n \n \n \n \n \n pseudonym: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n toolId\n \n \n \n \n \n \n \n \n toolId: ObjectId\n\n \n \n\n\n \n \n Type : ObjectId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: ObjectId\n\n \n \n\n\n \n \n Type : ObjectId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property, Unique } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface PseudonymEntityProps {\n\tid?: EntityId;\n\tpseudonym: string;\n\ttoolId: ObjectId;\n\tuserId: ObjectId;\n}\n\n@Entity({ tableName: 'pseudonyms' })\n@Unique({ properties: ['userId', 'toolId'] })\nexport class PseudonymEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Unique()\n\tpseudonym: string;\n\n\t@Property()\n\ttoolId: ObjectId;\n\n\t@Property()\n\tuserId: ObjectId;\n\n\tconstructor(props: PseudonymEntityProps) {\n\t\tsuper();\n\t\tif (props.id != null) {\n\t\t\tthis.id = props.id;\n\t\t}\n\t\tthis.pseudonym = props.pseudonym;\n\t\tthis.toolId = props.toolId;\n\t\tthis.userId = props.userId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PseudonymMapper.html":{"url":"classes/PseudonymMapper.html","title":"class - PseudonymMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PseudonymMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/mapper/pseudonym.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(pseudonym: Pseudonym)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/mapper/pseudonym.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonym\n \n Pseudonym\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : PseudonymResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Pseudonym } from '@shared/domain/domainobject';\nimport { PseudonymResponse } from '../controller/dto';\n\nexport class PseudonymMapper {\n\tstatic mapToResponse(pseudonym: Pseudonym): PseudonymResponse {\n\t\tconst response: PseudonymResponse = new PseudonymResponse({\n\t\t\tid: pseudonym.id,\n\t\t\ttoolId: pseudonym.toolId,\n\t\t\tuserId: pseudonym.userId,\n\t\t});\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/PseudonymModule.html":{"url":"modules/PseudonymModule.html","title":"module - PseudonymModule","body":"\n \n\n\n\n\n Modules\n PseudonymModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_PseudonymModule\n\n\n\ncluster_PseudonymModule_providers\n\n\n\ncluster_PseudonymModule_imports\n\n\n\ncluster_PseudonymModule_exports\n\n\n\n\nLearnroomModule\n\nLearnroomModule\n\n\n\nPseudonymModule\n\nPseudonymModule\n\nPseudonymModule -->\n\nLearnroomModule->PseudonymModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nPseudonymModule -->\n\nUserModule->PseudonymModule\n\n\n\n\n\nFeathersRosterService \n\nFeathersRosterService \n\nFeathersRosterService -->\n\nPseudonymModule->FeathersRosterService \n\n\n\n\n\nPseudonymService \n\nPseudonymService \n\nPseudonymService -->\n\nPseudonymModule->PseudonymService \n\n\n\n\n\nExternalToolPseudonymRepo\n\nExternalToolPseudonymRepo\n\nPseudonymModule -->\n\nExternalToolPseudonymRepo->PseudonymModule\n\n\n\n\n\nFeathersRosterService\n\nFeathersRosterService\n\nPseudonymModule -->\n\nFeathersRosterService->PseudonymModule\n\n\n\n\n\nLegacyLogger\n\nLegacyLogger\n\nPseudonymModule -->\n\nLegacyLogger->PseudonymModule\n\n\n\n\n\nPseudonymService\n\nPseudonymService\n\nPseudonymModule -->\n\nPseudonymService->PseudonymModule\n\n\n\n\n\nPseudonymsRepo\n\nPseudonymsRepo\n\nPseudonymModule -->\n\nPseudonymsRepo->PseudonymModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/pseudonym/pseudonym.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ExternalToolPseudonymRepo\n \n \n FeathersRosterService\n \n \n LegacyLogger\n \n \n PseudonymService\n \n \n PseudonymsRepo\n \n \n \n \n Imports\n \n \n LearnroomModule\n \n \n UserModule\n \n \n \n \n Exports\n \n \n FeathersRosterService\n \n \n PseudonymService\n \n \n \n \n \n\n\n \n\n\n \n import { LearnroomModule } from '@modules/learnroom';\nimport { ToolModule } from '@modules/tool';\nimport { UserModule } from '@modules/user';\nimport { forwardRef, Module } from '@nestjs/common';\nimport { LegacyLogger } from '@src/core/logger';\nimport { ExternalToolPseudonymRepo, PseudonymsRepo } from './repo';\nimport { FeathersRosterService, PseudonymService } from './service';\n\n@Module({\n\timports: [UserModule, LearnroomModule, forwardRef(() => ToolModule)],\n\tproviders: [PseudonymService, PseudonymsRepo, ExternalToolPseudonymRepo, LegacyLogger, FeathersRosterService],\n\texports: [PseudonymService, FeathersRosterService],\n})\nexport class PseudonymModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PseudonymParams.html":{"url":"classes/PseudonymParams.html","title":"class - PseudonymParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PseudonymParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/controller/dto/pseudonym-params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n pseudonym\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n pseudonym\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({nullable: false, required: true})\n \n \n \n \n \n Defined in apps/server/src/modules/pseudonym/controller/dto/pseudonym-params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsString } from 'class-validator';\n\nexport class PseudonymParams {\n\t@IsString()\n\t@ApiProperty({ nullable: false, required: true })\n\tpseudonym!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PseudonymProps.html":{"url":"interfaces/PseudonymProps.html","title":"interface - PseudonymProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PseudonymProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/pseudonym.do.ts\n \n\n\n\n \n Extends\n \n \n AuthorizableObject\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n createdAt\n \n \n \n \n pseudonym\n \n \n \n \n toolId\n \n \n \n \n updatedAt\n \n \n \n \n userId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n pseudonym\n \n \n \n \n \n \n \n \n pseudonym: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n toolId\n \n \n \n \n \n \n \n \n toolId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { AuthorizableObject, DomainObject } from '../domain-object';\n\nexport interface PseudonymProps extends AuthorizableObject {\n\tpseudonym: string;\n\ttoolId: EntityId;\n\tuserId: EntityId;\n\tcreatedAt: Date;\n\tupdatedAt: Date;\n}\n\nexport class Pseudonym extends DomainObject {\n\tget pseudonym(): string {\n\t\treturn this.props.pseudonym;\n\t}\n\n\tget toolId(): EntityId {\n\t\treturn this.props.toolId;\n\t}\n\n\tget userId(): EntityId {\n\t\treturn this.props.userId;\n\t}\n\n\tget createdAt(): Date {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date {\n\t\treturn this.props.updatedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PseudonymResponse.html":{"url":"classes/PseudonymResponse.html","title":"class - PseudonymResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PseudonymResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/controller/dto/pseudonym.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n toolId\n \n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(response: PseudonymResponse)\n \n \n \n \n Defined in apps/server/src/modules/pseudonym/controller/dto/pseudonym.response.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n \n PseudonymResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/pseudonym/controller/dto/pseudonym.response.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n \n toolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/pseudonym/controller/dto/pseudonym.response.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/pseudonym/controller/dto/pseudonym.response.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class PseudonymResponse {\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\ttoolId: string;\n\n\t@ApiProperty()\n\tuserId: string;\n\n\tconstructor(response: PseudonymResponse) {\n\t\tthis.id = response.id;\n\t\tthis.toolId = response.toolId;\n\t\tthis.userId = response.userId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PseudonymScope.html":{"url":"classes/PseudonymScope.html","title":"class - PseudonymScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PseudonymScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/entity/pseudonym.scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n byPseudonym\n \n \n byToolId\n \n \n byUserId\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n byPseudonym\n \n \n \n \n \n \nbyPseudonym(pseudonym: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/entity/pseudonym.scope.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonym\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byToolId\n \n \n \n \n \n \nbyToolId(toolId: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/entity/pseudonym.scope.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolId\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byUserId\n \n \n \n \n \n \nbyUserId(userId: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/entity/pseudonym.scope.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Scope } from '@shared/repo';\nimport { ObjectId } from 'bson';\nimport { ExternalToolPseudonymEntity } from './external-tool-pseudonym.entity';\n\nexport class PseudonymScope extends Scope {\n\tbyPseudonym(pseudonym: string | undefined): this {\n\t\tif (pseudonym) {\n\t\t\tthis.addQuery({ pseudonym });\n\t\t}\n\t\treturn this;\n\t}\n\n\tbyUserId(userId: string | undefined): this {\n\t\tif (userId) {\n\t\t\tthis.addQuery({ userId: new ObjectId(userId) });\n\t\t}\n\t\treturn this;\n\t}\n\n\tbyToolId(toolId: string | undefined): this {\n\t\tif (toolId) {\n\t\t\tthis.addQuery({ toolId: new ObjectId(toolId) });\n\t\t}\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PseudonymSearchQuery.html":{"url":"interfaces/PseudonymSearchQuery.html","title":"interface - PseudonymSearchQuery","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PseudonymSearchQuery\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/domain/pseudonym-search-query.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n pseudonym\n \n \n \n Optional\n \n toolId\n \n \n \n Optional\n \n userId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n pseudonym\n \n \n \n \n \n \n \n \n pseudonym: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n toolId\n \n \n \n \n \n \n \n \n toolId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface PseudonymSearchQuery {\n\tpseudonym?: string;\n\ttoolId?: string;\n\tuserId?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/PseudonymService.html":{"url":"injectables/PseudonymService.html","title":"injectable - PseudonymService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n PseudonymService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/service/pseudonym.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n deleteByUserId\n \n \n Private\n Async\n deleteExternalToolPseudonymsByUserId\n \n \n Private\n Async\n deletePseudonymsByUserId\n \n \n Public\n Async\n findByUserAndToolOrThrow\n \n \n Public\n Async\n findByUserId\n \n \n Private\n Async\n findExternalToolPseudonymsByUserId\n \n \n Public\n Async\n findOrCreatePseudonym\n \n \n Async\n findPseudonym\n \n \n Async\n findPseudonymByPseudonym\n \n \n Private\n Async\n findPseudonymsByUserId\n \n \n getIframeSubject\n \n \n Private\n getRepository\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(pseudonymRepo: PseudonymsRepo, externalToolPseudonymRepo: ExternalToolPseudonymRepo)\n \n \n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonymRepo\n \n \n PseudonymsRepo\n \n \n \n No\n \n \n \n \n externalToolPseudonymRepo\n \n \n ExternalToolPseudonymRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n deleteByUserId\n \n \n \n \n \n \n \n deleteByUserId(userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:75\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n deleteExternalToolPseudonymsByUserId\n \n \n \n \n \n \n \n deleteExternalToolPseudonymsByUserId(userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:106\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n deletePseudonymsByUserId\n \n \n \n \n \n \n \n deletePseudonymsByUserId(userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:100\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findByUserAndToolOrThrow\n \n \n \n \n \n \n \n findByUserAndToolOrThrow(user: UserDO, tool: ExternalTool | LtiToolDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserDO\n \n\n \n No\n \n\n\n \n \n tool\n \n ExternalTool | LtiToolDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findByUserId\n \n \n \n \n \n \n \n findByUserId(userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findExternalToolPseudonymsByUserId\n \n \n \n \n \n \n \n findExternalToolPseudonymsByUserId(userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:94\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findOrCreatePseudonym\n \n \n \n \n \n \n \n findOrCreatePseudonym(user: UserDO, tool: ExternalTool | LtiToolDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserDO\n \n\n \n No\n \n\n\n \n \n tool\n \n ExternalTool | LtiToolDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findPseudonym\n \n \n \n \n \n \n \n findPseudonym(query: PseudonymSearchQuery, options: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:127\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n PseudonymSearchQuery\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findPseudonymByPseudonym\n \n \n \n \n \n \n \n findPseudonymByPseudonym(pseudonym: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:121\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonym\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findPseudonymsByUserId\n \n \n \n \n \n \n \n findPseudonymsByUserId(userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:88\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getIframeSubject\n \n \n \n \n \n \ngetIframeSubject(pseudonym: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:133\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonym\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getRepository\n \n \n \n \n \n \n \n getRepository(tool: ExternalTool | LtiToolDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/service/pseudonym.service.ts:113\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n tool\n \n ExternalTool | LtiToolDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : PseudonymsRepo | ExternalToolPseudonymRepo\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { LtiToolDO, Page, Pseudonym, UserDO } from '@shared/domain/domainobject';\nimport { IFindOptions } from '@shared/domain/interface';\nimport { v4 as uuidv4 } from 'uuid';\nimport { PseudonymSearchQuery } from '../domain';\nimport { ExternalToolPseudonymRepo, PseudonymsRepo } from '../repo';\n\n@Injectable()\nexport class PseudonymService {\n\tconstructor(\n\t\tprivate readonly pseudonymRepo: PseudonymsRepo,\n\t\tprivate readonly externalToolPseudonymRepo: ExternalToolPseudonymRepo\n\t) {}\n\n\tpublic async findByUserAndToolOrThrow(user: UserDO, tool: ExternalTool | LtiToolDO): Promise {\n\t\tif (!user.id || !tool.id) {\n\t\t\tthrow new InternalServerErrorException('User or tool id is missing');\n\t\t}\n\n\t\tconst pseudonymPromise: Promise = this.getRepository(tool).findByUserIdAndToolIdOrFail(user.id, tool.id);\n\n\t\treturn pseudonymPromise;\n\t}\n\n\tpublic async findByUserId(userId: string): Promise {\n\t\tif (!userId) {\n\t\t\tthrow new InternalServerErrorException('User id is missing');\n\t\t}\n\n\t\tlet [pseudonyms, externalToolPseudonyms] = await Promise.all([\n\t\t\tthis.findPseudonymsByUserId(userId),\n\t\t\tthis.findExternalToolPseudonymsByUserId(userId),\n\t\t]);\n\n\t\tif (pseudonyms === undefined) {\n\t\t\tpseudonyms = [];\n\t\t}\n\n\t\tif (externalToolPseudonyms === undefined) {\n\t\t\texternalToolPseudonyms = [];\n\t\t}\n\n\t\tconst allPseudonyms = [...pseudonyms, ...externalToolPseudonyms];\n\n\t\treturn allPseudonyms;\n\t}\n\n\tpublic async findOrCreatePseudonym(user: UserDO, tool: ExternalTool | LtiToolDO): Promise {\n\t\tif (!user.id || !tool.id) {\n\t\t\tthrow new InternalServerErrorException('User or tool id is missing');\n\t\t}\n\n\t\tconst repository: PseudonymsRepo | ExternalToolPseudonymRepo = this.getRepository(tool);\n\n\t\tlet pseudonym: Pseudonym | null = await repository.findByUserIdAndToolId(user.id, tool.id);\n\t\tif (!pseudonym) {\n\t\t\tpseudonym = new Pseudonym({\n\t\t\t\tid: new ObjectId().toHexString(),\n\t\t\t\tpseudonym: uuidv4(),\n\t\t\t\tuserId: user.id,\n\t\t\t\ttoolId: tool.id,\n\t\t\t\tcreatedAt: new Date(),\n\t\t\t\tupdatedAt: new Date(),\n\t\t\t});\n\n\t\t\tpseudonym = await repository.createOrUpdate(pseudonym);\n\t\t}\n\n\t\treturn pseudonym;\n\t}\n\n\tpublic async deleteByUserId(userId: string): Promise {\n\t\tif (!userId) {\n\t\t\tthrow new InternalServerErrorException('User id is missing');\n\t\t}\n\n\t\tconst [deletedPseudonyms, deletedExternalToolPseudonyms] = await Promise.all([\n\t\t\tthis.deletePseudonymsByUserId(userId),\n\t\t\tthis.deleteExternalToolPseudonymsByUserId(userId),\n\t\t]);\n\n\t\treturn deletedPseudonyms + deletedExternalToolPseudonyms;\n\t}\n\n\tprivate async findPseudonymsByUserId(userId: string): Promise {\n\t\tconst pseudonymPromise: Promise = this.pseudonymRepo.findByUserId(userId);\n\n\t\treturn pseudonymPromise;\n\t}\n\n\tprivate async findExternalToolPseudonymsByUserId(userId: string): Promise {\n\t\tconst externalToolPseudonymPromise: Promise = this.externalToolPseudonymRepo.findByUserId(userId);\n\n\t\treturn externalToolPseudonymPromise;\n\t}\n\n\tprivate async deletePseudonymsByUserId(userId: string): Promise {\n\t\tconst pseudonymPromise: Promise = this.pseudonymRepo.deletePseudonymsByUserId(userId);\n\n\t\treturn pseudonymPromise;\n\t}\n\n\tprivate async deleteExternalToolPseudonymsByUserId(userId: string): Promise {\n\t\tconst externalToolPseudonymPromise: Promise =\n\t\t\tthis.externalToolPseudonymRepo.deletePseudonymsByUserId(userId);\n\n\t\treturn externalToolPseudonymPromise;\n\t}\n\n\tprivate getRepository(tool: ExternalTool | LtiToolDO): PseudonymsRepo | ExternalToolPseudonymRepo {\n\t\tif (tool instanceof ExternalTool) {\n\t\t\treturn this.externalToolPseudonymRepo;\n\t\t}\n\n\t\treturn this.pseudonymRepo;\n\t}\n\n\tasync findPseudonymByPseudonym(pseudonym: string): Promise {\n\t\tconst result: Pseudonym | null = await this.externalToolPseudonymRepo.findPseudonymByPseudonym(pseudonym);\n\n\t\treturn result;\n\t}\n\n\tasync findPseudonym(query: PseudonymSearchQuery, options: IFindOptions): Promise> {\n\t\tconst result: Page = await this.externalToolPseudonymRepo.findPseudonym(query, options);\n\n\t\treturn result;\n\t}\n\n\tgetIframeSubject(pseudonym: string): string {\n\t\tconst iFrameSubject = ``;\n\n\t\treturn iFrameSubject;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/PseudonymUc.html":{"url":"injectables/PseudonymUc.html","title":"injectable - PseudonymUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n PseudonymUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/uc/pseudonym.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findPseudonymByPseudonym\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(pseudonymService: PseudonymService, authorizationService: AuthorizationService, schoolService: LegacySchoolService)\n \n \n \n \n Defined in apps/server/src/modules/pseudonym/uc/pseudonym.uc.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonymService\n \n \n PseudonymService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findPseudonymByPseudonym\n \n \n \n \n \n \n \n findPseudonymByPseudonym(userId: EntityId, pseudonym: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/uc/pseudonym.uc.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n pseudonym\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { LegacySchoolService } from '@modules/legacy-school';\nimport { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { LegacySchoolDo, Pseudonym } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { PseudonymService } from '../service';\n\n@Injectable()\nexport class PseudonymUc {\n\tconstructor(\n\t\tprivate readonly pseudonymService: PseudonymService,\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly schoolService: LegacySchoolService\n\t) {}\n\n\tasync findPseudonymByPseudonym(userId: EntityId, pseudonym: string): Promise {\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(userId);\n\n\t\tconst foundPseudonym: Pseudonym | null = await this.pseudonymService.findPseudonymByPseudonym(pseudonym);\n\n\t\tif (foundPseudonym === null) {\n\t\t\tthrow new NotFoundLoggableException(Pseudonym.name, 'pseudonym', pseudonym);\n\t\t}\n\n\t\tconst pseudonymUserId: string = foundPseudonym.userId;\n\t\tconst pseudonymUser: User = await this.authorizationService.getUserWithPermissions(pseudonymUserId);\n\t\tconst pseudonymSchool: LegacySchoolDo = await this.schoolService.getSchoolById(pseudonymUser.school.id);\n\n\t\tthis.authorizationService.checkPermission(user, pseudonymSchool, AuthorizationContextBuilder.read([]));\n\n\t\treturn foundPseudonym;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/PseudonymsRepo.html":{"url":"injectables/PseudonymsRepo.html","title":"injectable - PseudonymsRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n PseudonymsRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createOrUpdate\n \n \n Async\n deletePseudonymsByUserId\n \n \n Async\n findByUserId\n \n \n Async\n findByUserIdAndToolId\n \n \n Async\n findByUserIdAndToolIdOrFail\n \n \n Protected\n mapDomainObjectToEntityProperties\n \n \n Protected\n mapEntityToDomainObject\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createOrUpdate\n \n \n \n \n \n \n \n createOrUpdate(domainObject: Pseudonym)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n Pseudonym\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deletePseudonymsByUserId\n \n \n \n \n \n \n \n deletePseudonymsByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:66\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserId\n \n \n \n \n \n \n \n findByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserIdAndToolId\n \n \n \n \n \n \n \n findByUserIdAndToolId(userId: EntityId, toolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n toolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserIdAndToolIdOrFail\n \n \n \n \n \n \n \n findByUserIdAndToolIdOrFail(userId: EntityId, toolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n toolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n mapDomainObjectToEntityProperties\n \n \n \n \n \n \n \n mapDomainObjectToEntityProperties(entityDO: Pseudonym)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:83\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n Pseudonym\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : PseudonymEntityProps\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n mapEntityToDomainObject\n \n \n \n \n \n \n \n mapEntityToDomainObject(entity: PseudonymEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/repo/pseudonyms.repo.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n PseudonymEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Pseudonym\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager, ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { Pseudonym } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { PseudonymEntity, PseudonymEntityProps } from '../entity';\n\n@Injectable()\nexport class PseudonymsRepo {\n\tconstructor(private readonly em: EntityManager) {}\n\n\tasync findByUserIdAndToolIdOrFail(userId: EntityId, toolId: EntityId): Promise {\n\t\tconst entity: PseudonymEntity = await this.em.findOneOrFail(PseudonymEntity, {\n\t\t\tuserId: new ObjectId(userId),\n\t\t\ttoolId: new ObjectId(toolId),\n\t\t});\n\n\t\tconst domainObject: Pseudonym = this.mapEntityToDomainObject(entity);\n\n\t\treturn domainObject;\n\t}\n\n\tasync findByUserIdAndToolId(userId: EntityId, toolId: EntityId): Promise {\n\t\tconst entity: PseudonymEntity | null = await this.em.findOne(PseudonymEntity, {\n\t\t\tuserId: new ObjectId(userId),\n\t\t\ttoolId: new ObjectId(toolId),\n\t\t});\n\n\t\tif (!entity) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst domainObject: Pseudonym = this.mapEntityToDomainObject(entity);\n\n\t\treturn domainObject;\n\t}\n\n\tasync findByUserId(userId: EntityId): Promise {\n\t\tconst entities: PseudonymEntity[] = await this.em.find(PseudonymEntity, { userId: new ObjectId(userId) });\n\n\t\tconst pseudonyms: Pseudonym[] = entities.map((entity) => this.mapEntityToDomainObject(entity));\n\n\t\treturn pseudonyms;\n\t}\n\n\tasync createOrUpdate(domainObject: Pseudonym): Promise {\n\t\tconst existing: PseudonymEntity | undefined = this.em\n\t\t\t.getUnitOfWork()\n\t\t\t.getById(PseudonymEntity.name, domainObject.id);\n\n\t\tconst entityProps: PseudonymEntityProps = this.mapDomainObjectToEntityProperties(domainObject);\n\t\tlet entity: PseudonymEntity = new PseudonymEntity(entityProps);\n\n\t\tif (existing) {\n\t\t\tentity = this.em.assign(existing, entity);\n\t\t} else {\n\t\t\tthis.em.persist(entity);\n\t\t}\n\n\t\tawait this.em.flush();\n\n\t\tconst savedDomainObject: Pseudonym = this.mapEntityToDomainObject(entity);\n\n\t\treturn savedDomainObject;\n\t}\n\n\tasync deletePseudonymsByUserId(userId: EntityId): Promise {\n\t\tconst promise: Promise = this.em.nativeDelete(PseudonymEntity, { userId: new ObjectId(userId) });\n\n\t\treturn promise;\n\t}\n\n\tprotected mapEntityToDomainObject(entity: PseudonymEntity): Pseudonym {\n\t\treturn new Pseudonym({\n\t\t\tid: entity.id,\n\t\t\tpseudonym: entity.pseudonym,\n\t\t\ttoolId: entity.toolId.toHexString(),\n\t\t\tuserId: entity.userId.toHexString(),\n\t\t\tcreatedAt: entity.createdAt,\n\t\t\tupdatedAt: entity.updatedAt,\n\t\t});\n\t}\n\n\tprotected mapDomainObjectToEntityProperties(entityDO: Pseudonym): PseudonymEntityProps {\n\t\treturn {\n\t\t\tid: entityDO.id,\n\t\t\tpseudonym: entityDO.pseudonym,\n\t\t\ttoolId: new ObjectId(entityDO.toolId),\n\t\t\tuserId: new ObjectId(entityDO.userId),\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PublicSystemListResponse.html":{"url":"classes/PublicSystemListResponse.html","title":"class - PublicSystemListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PublicSystemListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/controller/dto/public-system-list.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(systemResponses: PublicSystemResponse[])\n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/public-system-list.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemResponses\n \n \n PublicSystemResponse[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : PublicSystemResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/public-system-list.response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { PublicSystemResponse } from './public-system-response';\n\nexport class PublicSystemListResponse {\n\t@ApiProperty({ type: [PublicSystemResponse] })\n\tdata: PublicSystemResponse[];\n\n\tconstructor(systemResponses: PublicSystemResponse[]) {\n\t\tthis.data = systemResponses;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PublicSystemResponse.html":{"url":"classes/PublicSystemResponse.html","title":"class - PublicSystemResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PublicSystemResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/controller/dto/public-system-response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n alias\n \n \n \n Optional\n displayName\n \n \n \n id\n \n \n \n Optional\n oauthConfig\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(system: PublicSystemResponse)\n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/public-system-response.ts:39\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n system\n \n \n PublicSystemResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n alias\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Alias of the system.', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/public-system-response.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Display name of the system.', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/public-system-response.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Id of the system.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/public-system-response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n oauthConfig\n \n \n \n \n \n \n Type : OauthConfigResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Oauth config of the system.', type: OauthConfigResponse, required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/public-system-response.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Flag to request only systems with oauth-config.', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/public-system-response.ts:17\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { OauthConfigResponse } from '@modules/system/controller/dto/oauth-config.response';\n\nexport class PublicSystemResponse {\n\t@ApiProperty({\n\t\tdescription: 'Id of the system.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tid: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Flag to request only systems with oauth-config.',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\ttype: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Alias of the system.',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\talias?: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Display name of the system.',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\tdisplayName?: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Oauth config of the system.',\n\t\ttype: OauthConfigResponse,\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\toauthConfig?: OauthConfigResponse;\n\n\tconstructor(system: PublicSystemResponse) {\n\t\tthis.id = system.id;\n\t\tthis.type = system.type;\n\t\tthis.alias = system.alias;\n\t\tthis.displayName = system.displayName;\n\t\tthis.oauthConfig = system.oauthConfig;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/PushDeleteRequestsOptionsBuilder.html":{"url":"classes/PushDeleteRequestsOptionsBuilder.html","title":"class - PushDeleteRequestsOptionsBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n PushDeleteRequestsOptionsBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/console/builder/push-delete-requests-options.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(refsFilePath: string, targetRefDomain: string, deleteInMinutes: number, callsDelayMs: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/console/builder/push-delete-requests-options.builder.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n refsFilePath\n \n string\n \n\n \n No\n \n\n\n \n \n targetRefDomain\n \n string\n \n\n \n No\n \n\n\n \n \n deleteInMinutes\n \n number\n \n\n \n No\n \n\n\n \n \n callsDelayMs\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : PushDeletionRequestsOptions\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { PushDeletionRequestsOptions } from '../interface';\n\nexport class PushDeleteRequestsOptionsBuilder {\n\tstatic build(\n\t\trefsFilePath: string,\n\t\ttargetRefDomain: string,\n\t\tdeleteInMinutes: number,\n\t\tcallsDelayMs: number\n\t): PushDeletionRequestsOptions {\n\t\treturn {\n\t\t\trefsFilePath,\n\t\t\ttargetRefDomain,\n\t\t\tdeleteInMinutes,\n\t\t\tcallsDelayMs,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/PushDeletionRequestsOptions.html":{"url":"interfaces/PushDeletionRequestsOptions.html","title":"interface - PushDeletionRequestsOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n PushDeletionRequestsOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/console/interface/push-delete-requests-options.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n callsDelayMs\n \n \n \n \n deleteInMinutes\n \n \n \n \n refsFilePath\n \n \n \n \n targetRefDomain\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n callsDelayMs\n \n \n \n \n \n \n \n \n callsDelayMs: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n deleteInMinutes\n \n \n \n \n \n \n \n \n deleteInMinutes: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n refsFilePath\n \n \n \n \n \n \n \n \n refsFilePath: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n targetRefDomain\n \n \n \n \n \n \n \n \n targetRefDomain: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface PushDeletionRequestsOptions {\n\trefsFilePath: string;\n\ttargetRefDomain: string;\n\tdeleteInMinutes: number;\n\tcallsDelayMs: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/QueueDeletionRequestInput.html":{"url":"interfaces/QueueDeletionRequestInput.html","title":"interface - QueueDeletionRequestInput","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n QueueDeletionRequestInput\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/services/interface/queue-deletion-request-input.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n deleteInMinutes\n \n \n \n \n targetRefDomain\n \n \n \n \n targetRefId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n deleteInMinutes\n \n \n \n \n \n \n \n \n deleteInMinutes: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n targetRefDomain\n \n \n \n \n \n \n \n \n targetRefDomain: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n targetRefId\n \n \n \n \n \n \n \n \n targetRefId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface QueueDeletionRequestInput {\n\ttargetRefDomain: string;\n\ttargetRefId: string;\n\tdeleteInMinutes: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/QueueDeletionRequestInputBuilder.html":{"url":"classes/QueueDeletionRequestInputBuilder.html","title":"class - QueueDeletionRequestInputBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n QueueDeletionRequestInputBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/services/builder/queue-deletion-request-input.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(targetRefDomain: string, targetRefId: string, deleteInMinutes: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/builder/queue-deletion-request-input.builder.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n targetRefDomain\n \n string\n \n\n \n No\n \n\n\n \n \n targetRefId\n \n string\n \n\n \n No\n \n\n\n \n \n deleteInMinutes\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : QueueDeletionRequestInput\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { QueueDeletionRequestInput } from '../interface';\n\nexport class QueueDeletionRequestInputBuilder {\n\tstatic build(targetRefDomain: string, targetRefId: string, deleteInMinutes: number): QueueDeletionRequestInput {\n\t\treturn { targetRefDomain, targetRefId, deleteInMinutes };\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/QueueDeletionRequestOutput.html":{"url":"interfaces/QueueDeletionRequestOutput.html","title":"interface - QueueDeletionRequestOutput","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n QueueDeletionRequestOutput\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/services/interface/queue-deletion-request-output.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n deletionPlannedAt\n \n \n \n Optional\n \n error\n \n \n \n Optional\n \n requestId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n deletionPlannedAt\n \n \n \n \n \n \n \n \n deletionPlannedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n error\n \n \n \n \n \n \n \n \n error: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n requestId\n \n \n \n \n \n \n \n \n requestId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface QueueDeletionRequestOutput {\n\trequestId?: string;\n\tdeletionPlannedAt?: Date;\n\terror?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/QueueDeletionRequestOutputBuilder.html":{"url":"classes/QueueDeletionRequestOutputBuilder.html","title":"class - QueueDeletionRequestOutputBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n QueueDeletionRequestOutputBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/services/builder/queue-deletion-request-output.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Static\n build\n \n \n Static\n buildError\n \n \n Static\n buildSuccess\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Static\n build\n \n \n \n \n \n \n \n build(requestId?: string, deletionPlannedAt?: Date, error?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/builder/queue-deletion-request-output.builder.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n requestId\n \n string\n \n\n \n Yes\n \n\n\n \n \n deletionPlannedAt\n \n Date\n \n\n \n Yes\n \n\n\n \n \n error\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : QueueDeletionRequestOutput\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n buildError\n \n \n \n \n \n \n \n buildError(err: Error)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/builder/queue-deletion-request-output.builder.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n err\n \n Error\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : QueueDeletionRequestOutput\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n buildSuccess\n \n \n \n \n \n \n \n buildSuccess(requestId: string, deletionPlannedAt: Date)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/builder/queue-deletion-request-output.builder.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n requestId\n \n string\n \n\n \n No\n \n\n\n \n \n deletionPlannedAt\n \n Date\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : QueueDeletionRequestOutput\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { QueueDeletionRequestOutput } from '../interface';\n\nexport class QueueDeletionRequestOutputBuilder {\n\tprivate static build(requestId?: string, deletionPlannedAt?: Date, error?: string): QueueDeletionRequestOutput {\n\t\tconst output: QueueDeletionRequestOutput = {};\n\n\t\tif (requestId) {\n\t\t\toutput.requestId = requestId;\n\t\t}\n\n\t\tif (deletionPlannedAt) {\n\t\t\toutput.deletionPlannedAt = deletionPlannedAt;\n\t\t}\n\n\t\tif (error) {\n\t\t\toutput.error = error.toString();\n\t\t}\n\n\t\treturn output;\n\t}\n\n\tstatic buildSuccess(requestId: string, deletionPlannedAt: Date): QueueDeletionRequestOutput {\n\t\treturn this.build(requestId, deletionPlannedAt);\n\t}\n\n\tstatic buildError(err: Error): QueueDeletionRequestOutput {\n\t\treturn this.build(undefined, undefined, err.toString());\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RabbitMQWrapperModule.html":{"url":"modules/RabbitMQWrapperModule.html","title":"module - RabbitMQWrapperModule","body":"\n \n\n\n\n\n Modules\n RabbitMQWrapperModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/rabbitmq/rabbitmq.module.ts\n \n\n\n\n\n\n \n \n \n \n\n\n \n\n\n \n import { AmqpConnectionManager, RabbitMQModule } from '@golevelup/nestjs-rabbitmq';\nimport { Configuration } from '@hpi-schul-cloud/commons';\nimport { Global, Module, OnModuleDestroy } from '@nestjs/common';\nimport { FilesPreviewExchange, FilesStorageExchange } from './exchange';\n\n/**\n * https://www.npmjs.com/package/@golevelup/nestjs-rabbitmq#usage\n * we want to have the RabbitMQModule globally available, since it provides via a factory the AMQPConnection.\n * You shall not explicitly declare the AMQPConnection in your modules since it will create a new AMQPConnection which will not be initialized!\n *\n * Therefore, the combination of @Global() and export: [RabbitMQModule] is required.\n */\n\nconst imports = [\n\tRabbitMQModule.forRoot(RabbitMQModule, {\n\t\t// Please don't change the global prefetch count, if you need constraint, change it at channel level\n\t\tprefetchCount: 5,\n\t\texchanges: [\n\t\t\t{\n\t\t\t\tname: Configuration.get('MAIL_SEND_EXCHANGE') as string,\n\t\t\t\ttype: 'direct',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: Configuration.get('ANTIVIRUS_EXCHANGE') as string,\n\t\t\t\ttype: 'direct',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: FilesStorageExchange,\n\t\t\t\ttype: 'direct',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: FilesPreviewExchange,\n\t\t\t\ttype: 'direct',\n\t\t\t},\n\t\t],\n\t\turi: Configuration.get('RABBITMQ_URI') as string,\n\t}),\n];\n@Global()\n@Module({\n\timports,\n\texports: [RabbitMQModule],\n})\nexport class RabbitMQWrapperModule {}\n\n@Global()\n@Module({\n\timports,\n\texports: [RabbitMQModule],\n})\nexport class RabbitMQWrapperTestModule implements OnModuleDestroy {\n\tconstructor(private readonly amqpConnectionManager: AmqpConnectionManager) {}\n\n\t// In tests we need to close connections when the module is destroyed.\n\tasync onModuleDestroy() {\n\t\tawait Promise.all(\n\t\t\tthis.amqpConnectionManager.getConnections().map((connection) => connection.managedConnection.close())\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RabbitMQWrapperTestModule.html":{"url":"modules/RabbitMQWrapperTestModule.html","title":"module - RabbitMQWrapperTestModule","body":"\n \n\n\n\n\n Modules\n RabbitMQWrapperTestModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/rabbitmq/rabbitmq.module.ts\n \n\n\n\n\n\n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n onModuleDestroy\n \n \n \n \n \n \n \n onModuleDestroy()\n \n \n\n\n \n \n Defined in apps/server/src/infra/rabbitmq/rabbitmq.module.ts:55\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n\n \n\n\n \n import { AmqpConnectionManager, RabbitMQModule } from '@golevelup/nestjs-rabbitmq';\nimport { Configuration } from '@hpi-schul-cloud/commons';\nimport { Global, Module, OnModuleDestroy } from '@nestjs/common';\nimport { FilesPreviewExchange, FilesStorageExchange } from './exchange';\n\n/**\n * https://www.npmjs.com/package/@golevelup/nestjs-rabbitmq#usage\n * we want to have the RabbitMQModule globally available, since it provides via a factory the AMQPConnection.\n * You shall not explicitly declare the AMQPConnection in your modules since it will create a new AMQPConnection which will not be initialized!\n *\n * Therefore, the combination of @Global() and export: [RabbitMQModule] is required.\n */\n\nconst imports = [\n\tRabbitMQModule.forRoot(RabbitMQModule, {\n\t\t// Please don't change the global prefetch count, if you need constraint, change it at channel level\n\t\tprefetchCount: 5,\n\t\texchanges: [\n\t\t\t{\n\t\t\t\tname: Configuration.get('MAIL_SEND_EXCHANGE') as string,\n\t\t\t\ttype: 'direct',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: Configuration.get('ANTIVIRUS_EXCHANGE') as string,\n\t\t\t\ttype: 'direct',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: FilesStorageExchange,\n\t\t\t\ttype: 'direct',\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: FilesPreviewExchange,\n\t\t\t\ttype: 'direct',\n\t\t\t},\n\t\t],\n\t\turi: Configuration.get('RABBITMQ_URI') as string,\n\t}),\n];\n@Global()\n@Module({\n\timports,\n\texports: [RabbitMQModule],\n})\nexport class RabbitMQWrapperModule {}\n\n@Global()\n@Module({\n\timports,\n\texports: [RabbitMQModule],\n})\nexport class RabbitMQWrapperTestModule implements OnModuleDestroy {\n\tconstructor(private readonly amqpConnectionManager: AmqpConnectionManager) {}\n\n\t// In tests we need to close connections when the module is destroyed.\n\tasync onModuleDestroy() {\n\t\tawait Promise.all(\n\t\t\tthis.amqpConnectionManager.getConnections().map((connection) => connection.managedConnection.close())\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ReadableStreamWithFileTypeImp.html":{"url":"classes/ReadableStreamWithFileTypeImp.html","title":"class - ReadableStreamWithFileTypeImp","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ReadableStreamWithFileTypeImp\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/readable-stream-with-file-type.factory.ts\n \n\n\n\n \n Extends\n \n \n Readable\n \n\n \n Implements\n \n \n ReadableStreamWithFileType\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n fileType\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ReadableStreamWithFileTypeProps)\n \n \n \n \n Defined in apps/server/src/shared/testing/factory/readable-stream-with-file-type.factory.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ReadableStreamWithFileTypeProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n fileType\n \n \n \n \n \n \n Type : FileTypeResult\n\n \n \n \n \n Defined in apps/server/src/shared/testing/factory/readable-stream-with-file-type.factory.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { FileTypeResult, ReadableStreamWithFileType } from 'file-type';\nimport { Readable } from 'stream';\nimport { BaseFactory } from './base.factory';\n\ntype ReadableStreamWithFileTypeProps = {\n\tfileType?: FileTypeResult;\n\treadable: Readable;\n};\n\nclass ReadableStreamWithFileTypeImp extends Readable implements ReadableStreamWithFileType {\n\tfileType?: FileTypeResult;\n\n\tconstructor(props: ReadableStreamWithFileTypeProps) {\n\t\tsuper();\n\t\tthis.fileType = props.fileType;\n\t}\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const readableStreamWithFileTypeFactory = BaseFactory.define(ReadableStreamWithFileTypeImp, () => {\n\tconst readable = Readable.from('abc');\n\n\treturn {\n\t\tfileType: {\n\t\t\text: 'png',\n\t\t\tmime: 'image/png',\n\t\t},\n\t\treadable,\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RecursiveCopyVisitor.html":{"url":"classes/RecursiveCopyVisitor.html","title":"class - RecursiveCopyVisitor","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RecursiveCopyVisitor\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts\n \n\n\n\n\n \n Implements\n \n \n BoardCompositeVisitorAsync\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n copyMap\n \n \n resultMap\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n copy\n \n \n getCopiesForChildrenOf\n \n \n getCopyStatusesForChildrenOf\n \n \n Async\n visitCardAsync\n \n \n Async\n visitChildrenOf\n \n \n Async\n visitColumnAsync\n \n \n Async\n visitColumnBoardAsync\n \n \n Async\n visitDrawingElementAsync\n \n \n visitExternalToolElementAsync\n \n \n Async\n visitFileElementAsync\n \n \n Async\n visitLinkElementAsync\n \n \n Async\n visitRichTextElementAsync\n \n \n Async\n visitSubmissionContainerElementAsync\n \n \n Async\n visitSubmissionItemAsync\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(fileCopyService: SchoolSpecificFileCopyService)\n \n \n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:24\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileCopyService\n \n \n SchoolSpecificFileCopyService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n copyMap\n \n \n \n \n \n \n Default value : new Map()\n \n \n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n resultMap\n \n \n \n \n \n \n Default value : new Map()\n \n \n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:22\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n copy\n \n \n \n \n \n \n \n copy(original: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getCopiesForChildrenOf\n \n \n \n \n \n \ngetCopiesForChildrenOf(original: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:273\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : {}\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getCopyStatusesForChildrenOf\n \n \n \n \n \n \ngetCopyStatusesForChildrenOf(original: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:260\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : {}\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitCardAsync\n \n \n \n \n \n \n \n visitCardAsync(original: Card)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:78\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n Card\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitChildrenOf\n \n \n \n \n \n \n \n visitChildrenOf(boardDo: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:256\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitColumnAsync\n \n \n \n \n \n \n \n visitColumnAsync(original: Column)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n Column\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitColumnBoardAsync\n \n \n \n \n \n \n \n visitColumnBoardAsync(original: ColumnBoard)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitDrawingElementAsync\n \n \n \n \n \n \n \n visitDrawingElementAsync(original: DrawingElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:127\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n DrawingElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitExternalToolElementAsync\n \n \n \n \n \n \nvisitExternalToolElementAsync(original: ExternalToolElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:238\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n ExternalToolElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitFileElementAsync\n \n \n \n \n \n \n \n visitFileElementAsync(original: FileElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:97\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n FileElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitLinkElementAsync\n \n \n \n \n \n \n \n visitLinkElementAsync(original: LinkElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:145\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n LinkElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitRichTextElementAsync\n \n \n \n \n \n \n \n visitRichTextElementAsync(original: RichTextElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:192\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n RichTextElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitSubmissionContainerElementAsync\n \n \n \n \n \n \n \n visitSubmissionContainerElementAsync(original: SubmissionContainerElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:211\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n SubmissionContainerElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitSubmissionItemAsync\n \n \n \n \n \n \n \n visitSubmissionItemAsync(original: SubmissionItem)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/recursive-copy.visitor.ts:229\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n original\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { FileRecordParentType } from '@infra/rabbitmq';\nimport { CopyElementType, CopyStatus, CopyStatusEnum } from '@modules/copy-helper';\nimport {\n\tAnyBoardDo,\n\tBoardCompositeVisitorAsync,\n\tCard,\n\tColumn,\n\tColumnBoard,\n\tDrawingElement,\n\tExternalToolElement,\n\tFileElement,\n\tRichTextElement,\n\tSubmissionContainerElement,\n\tSubmissionItem,\n} from '@shared/domain/domainobject';\nimport { LinkElement } from '@shared/domain/domainobject/board/link-element.do';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport { SchoolSpecificFileCopyService } from './school-specific-file-copy.interface';\n\nexport class RecursiveCopyVisitor implements BoardCompositeVisitorAsync {\n\tresultMap = new Map();\n\n\tcopyMap = new Map();\n\n\tconstructor(private readonly fileCopyService: SchoolSpecificFileCopyService) {}\n\n\tasync copy(original: AnyBoardDo): Promise {\n\t\tawait original.acceptAsync(this);\n\n\t\tconst result = this.resultMap.get(original.id);\n\t\t/* istanbul ignore next */\n\t\tif (result === undefined) {\n\t\t\tthrow new Error('nothing copied');\n\t\t}\n\t\treturn result;\n\t}\n\n\tasync visitColumnBoardAsync(original: ColumnBoard): Promise {\n\t\tawait this.visitChildrenOf(original);\n\n\t\tconst copy = new ColumnBoard({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttitle: original.title,\n\t\t\tcontext: original.context,\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t\tchildren: this.getCopiesForChildrenOf(original),\n\t\t});\n\n\t\tthis.resultMap.set(original.id, {\n\t\t\tcopyEntity: copy,\n\t\t\ttype: CopyElementType.COLUMNBOARD,\n\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t\telements: this.getCopyStatusesForChildrenOf(original),\n\t\t});\n\t\tthis.copyMap.set(original.id, copy);\n\t}\n\n\tasync visitColumnAsync(original: Column): Promise {\n\t\tawait this.visitChildrenOf(original);\n\t\tconst copy = new Column({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttitle: original.title,\n\t\t\tchildren: this.getCopiesForChildrenOf(original),\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\t\tthis.resultMap.set(original.id, {\n\t\t\tcopyEntity: copy,\n\t\t\ttype: CopyElementType.COLUMN,\n\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t\telements: this.getCopyStatusesForChildrenOf(original),\n\t\t});\n\t\tthis.copyMap.set(original.id, copy);\n\t}\n\n\tasync visitCardAsync(original: Card): Promise {\n\t\tawait this.visitChildrenOf(original);\n\t\tconst copy = new Card({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttitle: original.title,\n\t\t\theight: original.height,\n\t\t\tchildren: this.getCopiesForChildrenOf(original),\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\t\tthis.resultMap.set(original.id, {\n\t\t\tcopyEntity: copy,\n\t\t\ttype: CopyElementType.CARD,\n\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t\telements: this.getCopyStatusesForChildrenOf(original),\n\t\t});\n\t\tthis.copyMap.set(original.id, copy);\n\t}\n\n\tasync visitFileElementAsync(original: FileElement): Promise {\n\t\tconst copy = new FileElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\tcaption: original.caption,\n\t\t\talternativeText: original.alternativeText,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\t\tconst fileCopy = await this.fileCopyService.copyFilesOfParent({\n\t\t\tsourceParentId: original.id,\n\t\t\ttargetParentId: copy.id,\n\t\t\tparentType: FileRecordParentType.BoardNode,\n\t\t});\n\t\tconst fileCopyStatus = fileCopy.map((copyFileDto) => {\n\t\t\treturn {\n\t\t\t\ttype: CopyElementType.FILE,\n\t\t\t\tstatus: copyFileDto.id ? CopyStatusEnum.SUCCESS : CopyStatusEnum.FAIL,\n\t\t\t\ttitle: copyFileDto.name ?? `(old fileid: ${copyFileDto.sourceId})`,\n\t\t\t};\n\t\t});\n\t\tthis.resultMap.set(original.id, {\n\t\t\tcopyEntity: copy,\n\t\t\ttype: CopyElementType.FILE_ELEMENT,\n\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t\telements: fileCopyStatus,\n\t\t});\n\t\tthis.copyMap.set(original.id, copy);\n\t}\n\n\tasync visitDrawingElementAsync(original: DrawingElement): Promise {\n\t\tconst copy = new DrawingElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\tdescription: original.description,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\t\tthis.resultMap.set(original.id, {\n\t\t\tcopyEntity: copy,\n\t\t\ttype: CopyElementType.DRAWING_ELEMENT,\n\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t});\n\t\tthis.copyMap.set(original.id, copy);\n\n\t\treturn Promise.resolve();\n\t}\n\n\tasync visitLinkElementAsync(original: LinkElement): Promise {\n\t\tconst copy = new LinkElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\turl: original.url,\n\t\t\ttitle: original.title,\n\t\t\timageUrl: original.imageUrl,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\n\t\tconst result: CopyStatus = {\n\t\t\tcopyEntity: copy,\n\t\t\ttype: CopyElementType.LINK_ELEMENT,\n\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t};\n\n\t\tif (original.imageUrl) {\n\t\t\tconst fileCopy = await this.fileCopyService.copyFilesOfParent({\n\t\t\t\tsourceParentId: original.id,\n\t\t\t\ttargetParentId: copy.id,\n\t\t\t\tparentType: FileRecordParentType.BoardNode,\n\t\t\t});\n\t\t\tfileCopy.forEach((copyFileDto) => {\n\t\t\t\tif (copyFileDto.id) {\n\t\t\t\t\tif (copy.imageUrl.includes(copyFileDto.sourceId)) {\n\t\t\t\t\t\tcopy.imageUrl = copy.imageUrl.replace(copyFileDto.sourceId, copyFileDto.id);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcopy.imageUrl = '';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\tconst fileCopyStatus = fileCopy.map((copyFileDto) => {\n\t\t\t\treturn {\n\t\t\t\t\ttype: CopyElementType.FILE,\n\t\t\t\t\tstatus: copyFileDto.id ? CopyStatusEnum.SUCCESS : CopyStatusEnum.FAIL,\n\t\t\t\t\ttitle: copyFileDto.name ?? `(old fileid: ${copyFileDto.sourceId})`,\n\t\t\t\t};\n\t\t\t});\n\t\t\tresult.elements = fileCopyStatus;\n\t\t}\n\t\tthis.resultMap.set(original.id, result);\n\t\tthis.copyMap.set(original.id, copy);\n\n\t\treturn Promise.resolve();\n\t}\n\n\tasync visitRichTextElementAsync(original: RichTextElement): Promise {\n\t\tconst copy = new RichTextElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\ttext: original.text,\n\t\t\tinputFormat: original.inputFormat,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\t\tthis.resultMap.set(original.id, {\n\t\t\tcopyEntity: copy,\n\t\t\ttype: CopyElementType.RICHTEXT_ELEMENT,\n\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t});\n\t\tthis.copyMap.set(original.id, copy);\n\n\t\treturn Promise.resolve();\n\t}\n\n\tasync visitSubmissionContainerElementAsync(original: SubmissionContainerElement): Promise {\n\t\tawait this.visitChildrenOf(original);\n\t\tconst copy = new SubmissionContainerElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\tdueDate: original.dueDate,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\t\tthis.resultMap.set(original.id, {\n\t\t\tcopyEntity: copy,\n\t\t\ttype: CopyElementType.SUBMISSION_CONTAINER_ELEMENT,\n\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t\telements: this.getCopyStatusesForChildrenOf(original),\n\t\t});\n\t\tthis.copyMap.set(original.id, copy);\n\t}\n\n\tasync visitSubmissionItemAsync(original: SubmissionItem): Promise {\n\t\tthis.resultMap.set(original.id, {\n\t\t\ttype: CopyElementType.SUBMISSION_ITEM,\n\t\t\tstatus: CopyStatusEnum.NOT_DOING,\n\t\t});\n\n\t\treturn Promise.resolve();\n\t}\n\n\tvisitExternalToolElementAsync(original: ExternalToolElement): Promise {\n\t\tconst copy = new ExternalToolElement({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\tcontextExternalToolId: undefined,\n\t\t\tchildren: [],\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t});\n\t\tthis.resultMap.set(original.id, {\n\t\t\tcopyEntity: copy,\n\t\t\ttype: CopyElementType.EXTERNAL_TOOL_ELEMENT,\n\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t});\n\t\tthis.copyMap.set(original.id, copy);\n\n\t\treturn Promise.resolve();\n\t}\n\n\tasync visitChildrenOf(boardDo: AnyBoardDo) {\n\t\treturn Promise.allSettled(boardDo.children.map((child) => child.acceptAsync(this)));\n\t}\n\n\tgetCopyStatusesForChildrenOf(original: AnyBoardDo) {\n\t\tconst childstatusses: CopyStatus[] = [];\n\n\t\toriginal.children.forEach((child) => {\n\t\t\tconst childStatus = this.resultMap.get(child.id);\n\t\t\tif (childStatus) {\n\t\t\t\tchildstatusses.push(childStatus);\n\t\t\t}\n\t\t});\n\n\t\treturn childstatusses;\n\t}\n\n\tgetCopiesForChildrenOf(original: AnyBoardDo) {\n\t\tconst copies: AnyBoardDo[] = [];\n\t\toriginal.children.forEach((child) => {\n\t\t\tconst childCopy = this.copyMap.get(child.id);\n\t\t\tif (childCopy) {\n\t\t\t\tcopies.push(childCopy);\n\t\t\t}\n\t\t});\n\n\t\treturn copies;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RecursiveDeleteVisitor.html":{"url":"injectables/RecursiveDeleteVisitor.html","title":"injectable - RecursiveDeleteVisitor","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RecursiveDeleteVisitor\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/repo/recursive-delete.vistor.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n deleteNode\n \n \n Async\n visitCardAsync\n \n \n Async\n visitChildrenAsync\n \n \n Async\n visitColumnAsync\n \n \n Async\n visitColumnBoardAsync\n \n \n Async\n visitDrawingElementAsync\n \n \n Async\n visitExternalToolElementAsync\n \n \n Async\n visitFileElementAsync\n \n \n Async\n visitLinkElementAsync\n \n \n Async\n visitRichTextElementAsync\n \n \n Async\n visitSubmissionContainerElementAsync\n \n \n Async\n visitSubmissionItemAsync\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager, filesStorageClientAdapterService: FilesStorageClientAdapterService, contextExternalToolService: ContextExternalToolService, drawingElementAdapterService: DrawingElementAdapterService)\n \n \n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:24\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n filesStorageClientAdapterService\n \n \n FilesStorageClientAdapterService\n \n \n \n No\n \n \n \n \n contextExternalToolService\n \n \n ContextExternalToolService\n \n \n \n No\n \n \n \n \n drawingElementAdapterService\n \n \n DrawingElementAdapterService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n deleteNode\n \n \n \n \n \n \ndeleteNode(domainObject: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:99\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitCardAsync\n \n \n \n \n \n \n \n visitCardAsync(card: Card)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n card\n \n Card\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitChildrenAsync\n \n \n \n \n \n \n \n visitChildrenAsync(domainObject: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:103\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitColumnAsync\n \n \n \n \n \n \n \n visitColumnAsync(column: Column)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n column\n \n Column\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitColumnBoardAsync\n \n \n \n \n \n \n \n visitColumnBoardAsync(columnBoard: ColumnBoard)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n columnBoard\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitDrawingElementAsync\n \n \n \n \n \n \n \n visitDrawingElementAsync(drawingElement: DrawingElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:66\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n drawingElement\n \n DrawingElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitExternalToolElementAsync\n \n \n \n \n \n \n \n visitExternalToolElementAsync(externalToolElement: ExternalToolElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:83\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolElement\n \n ExternalToolElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitFileElementAsync\n \n \n \n \n \n \n \n visitFileElementAsync(fileElement: FileElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:47\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileElement\n \n FileElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitLinkElementAsync\n \n \n \n \n \n \n \n visitLinkElementAsync(linkElement: LinkElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:54\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n linkElement\n \n LinkElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitRichTextElementAsync\n \n \n \n \n \n \n \n visitRichTextElementAsync(richTextElement: RichTextElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n richTextElement\n \n RichTextElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitSubmissionContainerElementAsync\n \n \n \n \n \n \n \n visitSubmissionContainerElementAsync(submissionContainerElement: SubmissionContainerElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionContainerElement\n \n SubmissionContainerElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n visitSubmissionItemAsync\n \n \n \n \n \n \n \n visitSubmissionItemAsync(submission: SubmissionItem)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-delete.vistor.ts:78\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submission\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager } from '@mikro-orm/mongodb';\nimport { FilesStorageClientAdapterService } from '@modules/files-storage-client';\nimport { DrawingElementAdapterService } from '@modules/tldraw-client/service/drawing-element-adapter.service';\nimport { ContextExternalTool } from '@modules/tool/context-external-tool/domain';\nimport { ContextExternalToolService } from '@modules/tool/context-external-tool/service';\nimport { Injectable } from '@nestjs/common';\nimport {\n\tAnyBoardDo,\n\tBoardCompositeVisitorAsync,\n\tCard,\n\tColumn,\n\tColumnBoard,\n\tExternalToolElement,\n\tFileElement,\n\tRichTextElement,\n\tSubmissionContainerElement,\n\tSubmissionItem,\n} from '@shared/domain/domainobject';\nimport { DrawingElement } from '@shared/domain/domainobject/board/drawing-element.do';\nimport { LinkElement } from '@shared/domain/domainobject/board/link-element.do';\nimport { BoardNode } from '@shared/domain/entity';\n\n@Injectable()\nexport class RecursiveDeleteVisitor implements BoardCompositeVisitorAsync {\n\tconstructor(\n\t\tprivate readonly em: EntityManager,\n\t\tprivate readonly filesStorageClientAdapterService: FilesStorageClientAdapterService,\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService,\n\t\tprivate readonly drawingElementAdapterService: DrawingElementAdapterService\n\t) {}\n\n\tasync visitColumnBoardAsync(columnBoard: ColumnBoard): Promise {\n\t\tthis.deleteNode(columnBoard);\n\t\tawait this.visitChildrenAsync(columnBoard);\n\t}\n\n\tasync visitColumnAsync(column: Column): Promise {\n\t\tthis.deleteNode(column);\n\t\tawait this.visitChildrenAsync(column);\n\t}\n\n\tasync visitCardAsync(card: Card): Promise {\n\t\tthis.deleteNode(card);\n\t\tawait this.visitChildrenAsync(card);\n\t}\n\n\tasync visitFileElementAsync(fileElement: FileElement): Promise {\n\t\tawait this.filesStorageClientAdapterService.deleteFilesOfParent(fileElement.id);\n\t\tthis.deleteNode(fileElement);\n\n\t\tawait this.visitChildrenAsync(fileElement);\n\t}\n\n\tasync visitLinkElementAsync(linkElement: LinkElement): Promise {\n\t\tawait this.filesStorageClientAdapterService.deleteFilesOfParent(linkElement.id);\n\t\tthis.deleteNode(linkElement);\n\n\t\tawait this.visitChildrenAsync(linkElement);\n\t}\n\n\tasync visitRichTextElementAsync(richTextElement: RichTextElement): Promise {\n\t\tthis.deleteNode(richTextElement);\n\t\tawait this.visitChildrenAsync(richTextElement);\n\t}\n\n\tasync visitDrawingElementAsync(drawingElement: DrawingElement): Promise {\n\t\tawait this.drawingElementAdapterService.deleteDrawingBinData(drawingElement.id);\n\n\t\tthis.deleteNode(drawingElement);\n\t\tawait this.visitChildrenAsync(drawingElement);\n\t}\n\n\tasync visitSubmissionContainerElementAsync(submissionContainerElement: SubmissionContainerElement): Promise {\n\t\tthis.deleteNode(submissionContainerElement);\n\t\tawait this.visitChildrenAsync(submissionContainerElement);\n\t}\n\n\tasync visitSubmissionItemAsync(submission: SubmissionItem): Promise {\n\t\tthis.deleteNode(submission);\n\t\tawait this.visitChildrenAsync(submission);\n\t}\n\n\tasync visitExternalToolElementAsync(externalToolElement: ExternalToolElement): Promise {\n\t\tif (externalToolElement.contextExternalToolId) {\n\t\t\tconst linkedTool: ContextExternalTool | null = await this.contextExternalToolService.findById(\n\t\t\t\texternalToolElement.contextExternalToolId\n\t\t\t);\n\n\t\t\tif (linkedTool) {\n\t\t\t\tawait this.contextExternalToolService.deleteContextExternalTool(linkedTool);\n\t\t\t}\n\t\t}\n\n\t\tthis.deleteNode(externalToolElement);\n\n\t\tawait this.visitChildrenAsync(externalToolElement);\n\t}\n\n\tdeleteNode(domainObject: AnyBoardDo): void {\n\t\tthis.em.remove(this.em.getReference(BoardNode, domainObject.id));\n\t}\n\n\tasync visitChildrenAsync(domainObject: AnyBoardDo): Promise {\n\t\tawait Promise.all(domainObject.children.map(async (child) => child.acceptAsync(this)));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RecursiveSaveVisitor.html":{"url":"classes/RecursiveSaveVisitor.html","title":"class - RecursiveSaveVisitor","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RecursiveSaveVisitor\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/repo/recursive-save.visitor.ts\n \n\n\n\n\n \n Implements\n \n \n BoardCompositeVisitor\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n parentsMap\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n createOrUpdateBoardNode\n \n \n Private\n registerParentData\n \n \n Async\n save\n \n \n Private\n saveRecursive\n \n \n visitCard\n \n \n Private\n visitChildren\n \n \n visitColumn\n \n \n visitColumnBoard\n \n \n visitDrawingElement\n \n \n visitExternalToolElement\n \n \n visitFileElement\n \n \n visitLinkElement\n \n \n visitRichTextElement\n \n \n visitSubmissionContainerElement\n \n \n visitSubmissionItem\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager, boardNodeRepo: BoardNodeRepo)\n \n \n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:41\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n boardNodeRepo\n \n \n BoardNodeRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n parentsMap\n \n \n \n \n \n \n Type : Map\n\n \n \n \n \n Default value : new Map()\n \n \n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:41\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n createOrUpdateBoardNode\n \n \n \n \n \n \ncreateOrUpdateBoardNode(boardNode: BoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:220\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n registerParentData\n \n \n \n \n \n \n \n registerParentData(parent: AnyBoardDo, child: AnyBoardDo, parentNode: BoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:206\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n parent\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n parentNode\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(domainObject: AnyBoardDo | AnyBoardDo[], parent?: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n AnyBoardDo | AnyBoardDo[]\n \n\n \n No\n \n\n\n \n \n parent\n \n AnyBoardDo\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n saveRecursive\n \n \n \n \n \n \n \n saveRecursive(boardNode: BoardNode, anyBoardDo: AnyBoardDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:214\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardNode\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n anyBoardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitCard\n \n \n \n \n \n \nvisitCard(card: Card)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:86\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n card\n \n Card\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n visitChildren\n \n \n \n \n \n \n \n visitChildren(parent: AnyBoardDo, parentNode: BoardNode)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:199\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n parent\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n parentNode\n \n BoardNode\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitColumn\n \n \n \n \n \n \nvisitColumn(column: Column)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n column\n \n Column\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitColumnBoard\n \n \n \n \n \n \nvisitColumnBoard(columnBoard: ColumnBoard)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:59\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n columnBoard\n \n ColumnBoard\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitDrawingElement\n \n \n \n \n \n \nvisitDrawingElement(drawingElement: DrawingElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:144\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n drawingElement\n \n DrawingElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitExternalToolElement\n \n \n \n \n \n \nvisitExternalToolElement(externalToolElement: ExternalToolElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:183\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolElement\n \n ExternalToolElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitFileElement\n \n \n \n \n \n \nvisitFileElement(fileElement: FileElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:100\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileElement\n \n FileElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitLinkElement\n \n \n \n \n \n \nvisitLinkElement(linkElement: LinkElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:114\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n linkElement\n \n LinkElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitRichTextElement\n \n \n \n \n \n \nvisitRichTextElement(richTextElement: RichTextElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:130\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n richTextElement\n \n RichTextElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitSubmissionContainerElement\n \n \n \n \n \n \nvisitSubmissionContainerElement(submissionContainerElement: SubmissionContainerElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:157\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionContainerElement\n \n SubmissionContainerElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n visitSubmissionItem\n \n \n \n \n \n \nvisitSubmissionItem(submissionItem: SubmissionItem)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/repo/recursive-save.visitor.ts:170\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionItem\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Utils } from '@mikro-orm/core';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { ContextExternalToolEntity } from '@modules/tool/context-external-tool/entity';\nimport {\n\tAnyBoardDo,\n\tBoardCompositeVisitor,\n\tCard,\n\tColumn,\n\tColumnBoard,\n\tExternalToolElement,\n\tFileElement,\n\tRichTextElement,\n\tSubmissionContainerElement,\n\tSubmissionItem,\n} from '@shared/domain/domainobject';\nimport { DrawingElement } from '@shared/domain/domainobject/board/drawing-element.do';\nimport { LinkElement } from '@shared/domain/domainobject/board/link-element.do';\nimport {\n\tBoardNode,\n\tCardNode,\n\tColumnBoardNode,\n\tColumnNode,\n\tExternalToolElementNodeEntity,\n\tFileElementNode,\n\tRichTextElementNode,\n\tSubmissionContainerElementNode,\n\tSubmissionItemNode,\n} from '@shared/domain/entity';\nimport { DrawingElementNode } from '@shared/domain/entity/boardnode/drawing-element-node.entity';\nimport { LinkElementNode } from '@shared/domain/entity/boardnode/link-element-node.entity';\nimport { EntityId } from '@shared/domain/types';\n\nimport { BoardNodeRepo } from './board-node.repo';\n\ntype ParentData = {\n\tboardNode: BoardNode;\n\tposition: number;\n};\n\nexport class RecursiveSaveVisitor implements BoardCompositeVisitor {\n\tprivate parentsMap: Map = new Map();\n\n\tconstructor(private readonly em: EntityManager, private readonly boardNodeRepo: BoardNodeRepo) {}\n\n\tasync save(domainObject: AnyBoardDo | AnyBoardDo[], parent?: AnyBoardDo): Promise {\n\t\tconst domainObjects = Utils.asArray(domainObject);\n\n\t\tif (parent) {\n\t\t\tconst parentNode = await this.boardNodeRepo.findById(parent.id);\n\n\t\t\tdomainObjects.forEach((child) => {\n\t\t\t\tthis.registerParentData(parent, child, parentNode);\n\t\t\t});\n\t\t}\n\n\t\tdomainObjects.forEach((child) => child.accept(this));\n\t}\n\n\tvisitColumnBoard(columnBoard: ColumnBoard): void {\n\t\tconst parentData = this.parentsMap.get(columnBoard.id);\n\n\t\tconst boardNode = new ColumnBoardNode({\n\t\t\tid: columnBoard.id,\n\t\t\ttitle: columnBoard.title,\n\t\t\tparent: parentData?.boardNode,\n\t\t\tposition: parentData?.position,\n\t\t\tcontext: columnBoard.context,\n\t\t});\n\n\t\tthis.saveRecursive(boardNode, columnBoard);\n\t}\n\n\tvisitColumn(column: Column): void {\n\t\tconst parentData = this.parentsMap.get(column.id);\n\n\t\tconst boardNode = new ColumnNode({\n\t\t\tid: column.id,\n\t\t\ttitle: column.title,\n\t\t\tparent: parentData?.boardNode,\n\t\t\tposition: parentData?.position,\n\t\t});\n\n\t\tthis.saveRecursive(boardNode, column);\n\t}\n\n\tvisitCard(card: Card): void {\n\t\tconst parentData = this.parentsMap.get(card.id);\n\n\t\tconst boardNode = new CardNode({\n\t\t\tid: card.id,\n\t\t\theight: card.height,\n\t\t\ttitle: card.title,\n\t\t\tparent: parentData?.boardNode,\n\t\t\tposition: parentData?.position,\n\t\t});\n\n\t\tthis.saveRecursive(boardNode, card);\n\t}\n\n\tvisitFileElement(fileElement: FileElement): void {\n\t\tconst parentData = this.parentsMap.get(fileElement.id);\n\n\t\tconst boardNode = new FileElementNode({\n\t\t\tid: fileElement.id,\n\t\t\tcaption: fileElement.caption,\n\t\t\talternativeText: fileElement.alternativeText,\n\t\t\tparent: parentData?.boardNode,\n\t\t\tposition: parentData?.position,\n\t\t});\n\n\t\tthis.saveRecursive(boardNode, fileElement);\n\t}\n\n\tvisitLinkElement(linkElement: LinkElement): void {\n\t\tconst parentData = this.parentsMap.get(linkElement.id);\n\n\t\tconst boardNode = new LinkElementNode({\n\t\t\tid: linkElement.id,\n\t\t\turl: linkElement.url,\n\t\t\ttitle: linkElement.title,\n\t\t\timageUrl: linkElement.imageUrl,\n\t\t\tparent: parentData?.boardNode,\n\t\t\tposition: parentData?.position,\n\t\t});\n\n\t\tthis.createOrUpdateBoardNode(boardNode);\n\t\tthis.visitChildren(linkElement, boardNode);\n\t}\n\n\tvisitRichTextElement(richTextElement: RichTextElement): void {\n\t\tconst parentData = this.parentsMap.get(richTextElement.id);\n\n\t\tconst boardNode = new RichTextElementNode({\n\t\t\tid: richTextElement.id,\n\t\t\ttext: richTextElement.text,\n\t\t\tinputFormat: richTextElement.inputFormat,\n\t\t\tparent: parentData?.boardNode,\n\t\t\tposition: parentData?.position,\n\t\t});\n\n\t\tthis.saveRecursive(boardNode, richTextElement);\n\t}\n\n\tvisitDrawingElement(drawingElement: DrawingElement): void {\n\t\tconst parentData = this.parentsMap.get(drawingElement.id);\n\n\t\tconst boardNode = new DrawingElementNode({\n\t\t\tid: drawingElement.id,\n\t\t\tdescription: drawingElement.description ?? '',\n\t\t\tparent: parentData?.boardNode,\n\t\t\tposition: parentData?.position,\n\t\t});\n\n\t\tthis.saveRecursive(boardNode, drawingElement);\n\t}\n\n\tvisitSubmissionContainerElement(submissionContainerElement: SubmissionContainerElement): void {\n\t\tconst parentData = this.parentsMap.get(submissionContainerElement.id);\n\n\t\tconst boardNode = new SubmissionContainerElementNode({\n\t\t\tid: submissionContainerElement.id,\n\t\t\tparent: parentData?.boardNode,\n\t\t\tposition: parentData?.position,\n\t\t\tdueDate: submissionContainerElement.dueDate,\n\t\t});\n\n\t\tthis.saveRecursive(boardNode, submissionContainerElement);\n\t}\n\n\tvisitSubmissionItem(submissionItem: SubmissionItem): void {\n\t\tconst parentData = this.parentsMap.get(submissionItem.id);\n\t\tconst boardNode = new SubmissionItemNode({\n\t\t\tid: submissionItem.id,\n\t\t\tparent: parentData?.boardNode,\n\t\t\tposition: parentData?.position,\n\t\t\tcompleted: submissionItem.completed,\n\t\t\tuserId: submissionItem.userId,\n\t\t});\n\n\t\tthis.saveRecursive(boardNode, submissionItem);\n\t}\n\n\tvisitExternalToolElement(externalToolElement: ExternalToolElement): void {\n\t\tconst parentData: ParentData | undefined = this.parentsMap.get(externalToolElement.id);\n\n\t\tconst boardNode: ExternalToolElementNodeEntity = new ExternalToolElementNodeEntity({\n\t\t\tid: externalToolElement.id,\n\t\t\tcontextExternalTool: externalToolElement.contextExternalToolId\n\t\t\t\t? this.em.getReference(ContextExternalToolEntity, externalToolElement.contextExternalToolId)\n\t\t\t\t: undefined,\n\t\t\tparent: parentData?.boardNode,\n\t\t\tposition: parentData?.position,\n\t\t});\n\n\t\tthis.createOrUpdateBoardNode(boardNode);\n\t\tthis.visitChildren(externalToolElement, boardNode);\n\t}\n\n\tprivate visitChildren(parent: AnyBoardDo, parentNode: BoardNode) {\n\t\tparent.children.forEach((child) => {\n\t\t\tthis.registerParentData(parent, child, parentNode);\n\t\t\tchild.accept(this);\n\t\t});\n\t}\n\n\tprivate registerParentData(parent: AnyBoardDo, child: AnyBoardDo, parentNode: BoardNode) {\n\t\tconst position = parent.children.findIndex((obj) => obj.id === child.id);\n\t\tif (position === -1) {\n\t\t\tthrow new Error(`Cannot get child position. Child doesnt belong to parent`);\n\t\t}\n\t\tthis.parentsMap.set(child.id, { boardNode: parentNode, position });\n\t}\n\n\tprivate saveRecursive(boardNode: BoardNode, anyBoardDo: AnyBoardDo): void {\n\t\tthis.createOrUpdateBoardNode(boardNode);\n\t\tthis.visitChildren(anyBoardDo, boardNode);\n\t}\n\n\t// TODO make private (change tests)\n\tcreateOrUpdateBoardNode(boardNode: BoardNode): void {\n\t\tconst existing = this.em.getUnitOfWork().getById(BoardNode.name, boardNode.id);\n\t\tif (existing) {\n\t\t\tthis.em.assign(existing, boardNode);\n\t\t} else {\n\t\t\tthis.em.persist(boardNode);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RedirectResponse.html":{"url":"classes/RedirectResponse.html","title":"class - RedirectResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RedirectResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/response/redirect.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n redirect_to\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(redirectReponse: RedirectResponse)\n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/redirect.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n redirectReponse\n \n \n RedirectResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n redirect_to\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'RedirectURL is the URL which you should redirect the user to once the authentication process is completed.'})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/response/redirect.response.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class RedirectResponse {\n\tconstructor(redirectReponse: RedirectResponse) {\n\t\tthis.redirect_to = redirectReponse.redirect_to;\n\t}\n\n\t@ApiProperty({\n\t\tdescription:\n\t\t\t'RedirectURL is the URL which you should redirect the user to once the authentication process is completed.',\n\t})\n\tredirect_to: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RedisModule.html":{"url":"modules/RedisModule.html","title":"module - RedisModule","body":"\n \n\n\n\n\n Modules\n RedisModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_RedisModule\n\n\n\ncluster_RedisModule_imports\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nRedisModule\n\nRedisModule\n\nRedisModule -->\n\nLoggerModule->RedisModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/redis/redis.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n LoggerModule\n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { Module } from '@nestjs/common';\nimport { LegacyLogger, LoggerModule } from '@src/core/logger';\nimport { createClient, RedisClient } from 'redis';\nimport { REDIS_CLIENT } from './interface/redis.constants';\n\n@Module({\n\timports: [LoggerModule],\n\tproviders: [\n\t\t{\n\t\t\tprovide: REDIS_CLIENT,\n\t\t\tuseFactory: (logger: LegacyLogger) => {\n\t\t\t\tlogger.setContext(RedisModule.name);\n\n\t\t\t\tif (Configuration.has('REDIS_URI')) {\n\t\t\t\t\tconst redisUrl: string = Configuration.get('REDIS_URI') as string;\n\t\t\t\t\tconst client: RedisClient = createClient({ url: redisUrl });\n\n\t\t\t\t\tclient.on('error', (error) => logger.error(error));\n\t\t\t\t\tclient.on('connect', (msg) => logger.log(msg));\n\n\t\t\t\t\treturn client;\n\t\t\t\t}\n\n\t\t\t\treturn undefined;\n\t\t\t},\n\t\t\tinject: [LegacyLogger],\n\t\t},\n\t],\n\texports: [REDIS_CLIENT],\n})\nexport class RedisModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ReferenceLoader.html":{"url":"injectables/ReferenceLoader.html","title":"injectable - ReferenceLoader","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ReferenceLoader\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/service/reference.loader.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n repos\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n loadAuthorizableObject\n \n \n Private\n resolveRepo\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userRepo: UserRepo, courseRepo: CourseRepo, courseGroupRepo: CourseGroupRepo, taskRepo: TaskRepo, schoolRepo: LegacySchoolRepo, lessonService: LessonService, teamsRepo: TeamsRepo, submissionRepo: SubmissionRepo, schoolExternalToolRepo: SchoolExternalToolRepo, boardNodeAuthorizableService: BoardDoAuthorizableService, contextExternalToolAuthorizableService: ContextExternalToolAuthorizableService)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/service/reference.loader.ts:41\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userRepo\n \n \n UserRepo\n \n \n \n No\n \n \n \n \n courseRepo\n \n \n CourseRepo\n \n \n \n No\n \n \n \n \n courseGroupRepo\n \n \n CourseGroupRepo\n \n \n \n No\n \n \n \n \n taskRepo\n \n \n TaskRepo\n \n \n \n No\n \n \n \n \n schoolRepo\n \n \n LegacySchoolRepo\n \n \n \n No\n \n \n \n \n lessonService\n \n \n LessonService\n \n \n \n No\n \n \n \n \n teamsRepo\n \n \n TeamsRepo\n \n \n \n No\n \n \n \n \n submissionRepo\n \n \n SubmissionRepo\n \n \n \n No\n \n \n \n \n schoolExternalToolRepo\n \n \n SchoolExternalToolRepo\n \n \n \n No\n \n \n \n \n boardNodeAuthorizableService\n \n \n BoardDoAuthorizableService\n \n \n \n No\n \n \n \n \n contextExternalToolAuthorizableService\n \n \n ContextExternalToolAuthorizableService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n loadAuthorizableObject\n \n \n \n \n \n \n \n loadAuthorizableObject(objectName: AuthorizableReferenceType, objectId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/reference.loader.ts:79\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n objectName\n \n AuthorizableReferenceType\n \n\n \n No\n \n\n\n \n \n objectId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n resolveRepo\n \n \n \n \n \n \n \n resolveRepo(type: AuthorizableReferenceType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/reference.loader.ts:71\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n AuthorizableReferenceType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RepoLoader\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n repos\n \n \n \n \n \n \n Type : Map\n\n \n \n \n \n Default value : new Map()\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/service/reference.loader.ts:41\n \n \n\n\n \n \n\n\n \n\n\n \n import { BoardDoAuthorizableService } from '@modules/board';\n\nimport { LessonService } from '@modules/lesson';\nimport { ContextExternalToolAuthorizableService } from '@modules/tool';\nimport { Injectable, NotImplementedException } from '@nestjs/common';\nimport { AuthorizableObject } from '@shared/domain/domain-object';\nimport { BaseDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport {\n\tCourseGroupRepo,\n\tCourseRepo,\n\tLegacySchoolRepo,\n\tSchoolExternalToolRepo,\n\tSubmissionRepo,\n\tTaskRepo,\n\tTeamsRepo,\n\tUserRepo,\n} from '@shared/repo';\nimport { AuthorizableReferenceType } from '../type';\n\ntype RepoType =\n\t| TaskRepo\n\t| CourseRepo\n\t| UserRepo\n\t| LegacySchoolRepo\n\t| TeamsRepo\n\t| CourseGroupRepo\n\t| SubmissionRepo\n\t| SchoolExternalToolRepo\n\t| BoardDoAuthorizableService\n\t| ContextExternalToolAuthorizableService\n\t| LessonService;\n\ninterface RepoLoader {\n\trepo: RepoType;\n\tpopulate?: boolean;\n}\n\n@Injectable()\nexport class ReferenceLoader {\n\tprivate repos: Map = new Map();\n\n\tconstructor(\n\t\tprivate readonly userRepo: UserRepo,\n\t\tprivate readonly courseRepo: CourseRepo,\n\t\tprivate readonly courseGroupRepo: CourseGroupRepo,\n\t\tprivate readonly taskRepo: TaskRepo,\n\t\tprivate readonly schoolRepo: LegacySchoolRepo,\n\t\tprivate readonly lessonService: LessonService,\n\t\tprivate readonly teamsRepo: TeamsRepo,\n\t\tprivate readonly submissionRepo: SubmissionRepo,\n\t\tprivate readonly schoolExternalToolRepo: SchoolExternalToolRepo,\n\t\tprivate readonly boardNodeAuthorizableService: BoardDoAuthorizableService,\n\t\tprivate readonly contextExternalToolAuthorizableService: ContextExternalToolAuthorizableService\n\t) {\n\t\tthis.repos.set(AuthorizableReferenceType.Task, { repo: this.taskRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.Course, { repo: this.courseRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.CourseGroup, { repo: this.courseGroupRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.User, { repo: this.userRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.School, { repo: this.schoolRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.Lesson, { repo: this.lessonService });\n\t\tthis.repos.set(AuthorizableReferenceType.Team, { repo: this.teamsRepo, populate: true });\n\t\tthis.repos.set(AuthorizableReferenceType.Submission, { repo: this.submissionRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.SchoolExternalToolEntity, { repo: this.schoolExternalToolRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.BoardNode, { repo: this.boardNodeAuthorizableService });\n\t\tthis.repos.set(AuthorizableReferenceType.ContextExternalToolEntity, {\n\t\t\trepo: this.contextExternalToolAuthorizableService,\n\t\t});\n\t}\n\n\tprivate resolveRepo(type: AuthorizableReferenceType): RepoLoader {\n\t\tconst repo = this.repos.get(type);\n\t\tif (repo) {\n\t\t\treturn repo;\n\t\t}\n\t\tthrow new NotImplementedException('REPO_OR_SERVICE_NOT_IMPLEMENT');\n\t}\n\n\tasync loadAuthorizableObject(\n\t\tobjectName: AuthorizableReferenceType,\n\t\tobjectId: EntityId\n\t): Promise {\n\t\tconst repoLoader: RepoLoader = this.resolveRepo(objectName);\n\n\t\tlet object: AuthorizableObject | BaseDO;\n\t\tif (repoLoader.populate) {\n\t\t\tobject = await repoLoader.repo.findById(objectId, true);\n\t\t} else {\n\t\t\tobject = await repoLoader.repo.findById(objectId);\n\t\t}\n\n\t\treturn object;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ReferencedEntityNotFoundLoggable.html":{"url":"classes/ReferencedEntityNotFoundLoggable.html","title":"class - ReferencedEntityNotFoundLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ReferencedEntityNotFoundLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/loggable/referenced-entity-not-found-loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(sourceEntityName: string, sourceEntityId: EntityId, referencedEntityName: string, referencedEntityId: EntityId)\n \n \n \n \n Defined in apps/server/src/shared/common/loggable/referenced-entity-not-found-loggable.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n sourceEntityName\n \n \n string\n \n \n \n No\n \n \n \n \n sourceEntityId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n referencedEntityName\n \n \n string\n \n \n \n No\n \n \n \n \n referencedEntityId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/shared/common/loggable/referenced-entity-not-found-loggable.ts:12\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { EntityId } from '../../domain/types';\n\nexport class ReferencedEntityNotFoundLoggable implements Loggable {\n\tconstructor(\n\t\tprivate readonly sourceEntityName: string,\n\t\tprivate readonly sourceEntityId: EntityId,\n\t\tprivate readonly referencedEntityName: string,\n\t\tprivate readonly referencedEntityId: EntityId\n\t) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'The requested entity could not been found, but it is still referenced.',\n\t\t\tdata: {\n\t\t\t\treferencedEntityName: this.referencedEntityName,\n\t\t\t\treferencedEntityId: this.referencedEntityId,\n\t\t\t\tsourceEntityName: this.sourceEntityName,\n\t\t\t\tsourceEntityId: this.sourceEntityId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ReferencesService.html":{"url":"classes/ReferencesService.html","title":"class - ReferencesService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ReferencesService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/services/references.service.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n loadFromTxtFile\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n loadFromTxtFile\n \n \n \n \n \n \n \n loadFromTxtFile(filePath: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/services/references.service.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n filePath\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string[]\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import fs from 'fs';\n\nexport class ReferencesService {\n\tstatic loadFromTxtFile(filePath: string): string[] {\n\t\tlet fileContent = fs.readFileSync(filePath).toString();\n\n\t\t// Replace all the CRLF occurrences with just a LF.\n\t\tfileContent = fileContent.replace(/\\r\\n?/g, '\\n');\n\n\t\t// Split the whole file content by a line feed (LF) char (\\n).\n\t\tconst fileLines = fileContent.split('\\n');\n\n\t\tconst references: string[] = [];\n\n\t\t// Iterate over all the file lines and if it contains a valid id (which is\n\t\t// basically any non-empty string), add it to the loaded references array.\n\t\tfileLines.forEach((fileLine) => {\n\t\t\tconst reference = fileLine.trim();\n\n\t\t\tif (reference && reference.length > 0) {\n\t\t\t\treferences.push(reference);\n\t\t\t}\n\t\t});\n\n\t\treturn references;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/RegistrationPinEntity.html":{"url":"entities/RegistrationPinEntity.html","title":"entity - RegistrationPinEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n RegistrationPinEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/registration-pin/entity/registration-pin.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n email\n \n \n \n \n importHash\n \n \n \n pin\n \n \n \n verified\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n email\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()@Index()\n \n \n \n \n \n Defined in apps/server/src/modules/registration-pin/entity/registration-pin.entity.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n importHash\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()@Index()\n \n \n \n \n \n Defined in apps/server/src/modules/registration-pin/entity/registration-pin.entity.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n pin\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/registration-pin/entity/registration-pin.entity.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n verified\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({default: false})\n \n \n \n \n \n Defined in apps/server/src/modules/registration-pin/entity/registration-pin.entity.ts:24\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Index, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface RegistrationPinEntityProps {\n\tid?: EntityId;\n\temail: string;\n\tpin: string;\n\tverified: boolean;\n\timportHash: string;\n}\n\n@Entity({ tableName: 'registrationpins' })\n@Index({ properties: ['email', 'pin'] })\nexport class RegistrationPinEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Index()\n\temail: string;\n\n\t@Property()\n\tpin: string;\n\n\t@Property({ default: false })\n\tverified: boolean;\n\n\t@Property()\n\t@Index()\n\timportHash: string;\n\n\tconstructor(props: RegistrationPinEntityProps) {\n\t\tsuper();\n\t\tif (props.id !== undefined) {\n\t\t\tthis.id = props.id;\n\t\t}\n\t\tthis.email = props.email;\n\t\tthis.pin = props.pin;\n\t\tthis.verified = props.verified;\n\t\tthis.importHash = props.importHash;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RegistrationPinEntityProps.html":{"url":"interfaces/RegistrationPinEntityProps.html","title":"interface - RegistrationPinEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RegistrationPinEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/registration-pin/entity/registration-pin.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n email\n \n \n \n Optional\n \n id\n \n \n \n \n importHash\n \n \n \n \n pin\n \n \n \n \n verified\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n email\n \n \n \n \n \n \n \n \n email: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n importHash\n \n \n \n \n \n \n \n \n importHash: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n pin\n \n \n \n \n \n \n \n \n pin: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n verified\n \n \n \n \n \n \n \n \n verified: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Index, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface RegistrationPinEntityProps {\n\tid?: EntityId;\n\temail: string;\n\tpin: string;\n\tverified: boolean;\n\timportHash: string;\n}\n\n@Entity({ tableName: 'registrationpins' })\n@Index({ properties: ['email', 'pin'] })\nexport class RegistrationPinEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Index()\n\temail: string;\n\n\t@Property()\n\tpin: string;\n\n\t@Property({ default: false })\n\tverified: boolean;\n\n\t@Property()\n\t@Index()\n\timportHash: string;\n\n\tconstructor(props: RegistrationPinEntityProps) {\n\t\tsuper();\n\t\tif (props.id !== undefined) {\n\t\t\tthis.id = props.id;\n\t\t}\n\t\tthis.email = props.email;\n\t\tthis.pin = props.pin;\n\t\tthis.verified = props.verified;\n\t\tthis.importHash = props.importHash;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RegistrationPinModule.html":{"url":"modules/RegistrationPinModule.html","title":"module - RegistrationPinModule","body":"\n \n\n\n\n\n Modules\n RegistrationPinModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_RegistrationPinModule\n\n\n\ncluster_RegistrationPinModule_exports\n\n\n\ncluster_RegistrationPinModule_providers\n\n\n\ncluster_RegistrationPinModule_imports\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nRegistrationPinModule\n\nRegistrationPinModule\n\nRegistrationPinModule -->\n\nLoggerModule->RegistrationPinModule\n\n\n\n\n\nRegistrationPinService \n\nRegistrationPinService \n\nRegistrationPinService -->\n\nRegistrationPinModule->RegistrationPinService \n\n\n\n\n\nRegistrationPinRepo\n\nRegistrationPinRepo\n\nRegistrationPinModule -->\n\nRegistrationPinRepo->RegistrationPinModule\n\n\n\n\n\nRegistrationPinService\n\nRegistrationPinService\n\nRegistrationPinModule -->\n\nRegistrationPinService->RegistrationPinModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/registration-pin/registration-pin.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n RegistrationPinRepo\n \n \n RegistrationPinService\n \n \n \n \n Imports\n \n \n LoggerModule\n \n \n \n \n Exports\n \n \n RegistrationPinService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { RegistrationPinService } from './service';\nimport { RegistrationPinRepo } from './repo';\n\n@Module({\n\timports: [LoggerModule],\n\tproviders: [RegistrationPinService, RegistrationPinRepo],\n\texports: [RegistrationPinService],\n})\nexport class RegistrationPinModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RegistrationPinRepo.html":{"url":"injectables/RegistrationPinRepo.html","title":"injectable - RegistrationPinRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RegistrationPinRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/registration-pin/repo/registration-pin.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteRegistrationPinByEmail\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/registration-pin/repo/registration-pin.repo.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteRegistrationPinByEmail\n \n \n \n \n \n \n \n deleteRegistrationPinByEmail(email: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/registration-pin/repo/registration-pin.repo.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n email\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { RegistrationPinEntity } from '../entity';\n\n@Injectable()\nexport class RegistrationPinRepo {\n\tconstructor(private readonly em: EntityManager) {}\n\n\tasync deleteRegistrationPinByEmail(email: string): Promise {\n\t\tconst promise: Promise = this.em.nativeDelete(RegistrationPinEntity, { email });\n\n\t\treturn promise;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RegistrationPinService.html":{"url":"injectables/RegistrationPinService.html","title":"injectable - RegistrationPinService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RegistrationPinService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/registration-pin/service/registration-pin.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteRegistrationPinByEmail\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(registrationPinRepo: RegistrationPinRepo)\n \n \n \n \n Defined in apps/server/src/modules/registration-pin/service/registration-pin.service.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n registrationPinRepo\n \n \n RegistrationPinRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteRegistrationPinByEmail\n \n \n \n \n \n \n \n deleteRegistrationPinByEmail(email: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/registration-pin/service/registration-pin.service.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n email\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { RegistrationPinRepo } from '../repo';\n\n@Injectable()\nexport class RegistrationPinService {\n\tconstructor(private readonly registrationPinRepo: RegistrationPinRepo) {}\n\n\tasync deleteRegistrationPinByEmail(email: string): Promise {\n\t\treturn this.registrationPinRepo.deleteRegistrationPinByEmail(email);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RejectRequestBody.html":{"url":"interfaces/RejectRequestBody.html","title":"interface - RejectRequestBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RejectRequestBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/oauth-provider/dto/request/reject-request.body.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n error\n \n \n \n Optional\n \n error_debug\n \n \n \n Optional\n \n error_description\n \n \n \n Optional\n \n error_hint\n \n \n \n Optional\n \n status_code\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n error\n \n \n \n \n \n \n \n \n error: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n error_debug\n \n \n \n \n \n \n \n \n error_debug: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n error_description\n \n \n \n \n \n \n \n \n error_description: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n error_hint\n \n \n \n \n \n \n \n \n error_hint: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n status_code\n \n \n \n \n \n \n \n \n status_code: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface RejectRequestBody {\n\terror?: string;\n\n\terror_debug?: string;\n\n\terror_description?: string;\n\n\terror_hint?: string;\n\n\tstatus_code?: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RelatedResourceProperties.html":{"url":"interfaces/RelatedResourceProperties.html","title":"interface - RelatedResourceProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RelatedResourceProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/materials.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n originId\n \n \n \n Optional\n \n relationType\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n originId\n \n \n \n \n \n \n \n \n originId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n relationType\n \n \n \n \n \n \n \n \n relationType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface TargetGroupProperties {\n\tstate?: string;\n\tschoolType?: string;\n\tgrade?: string;\n}\n\nexport interface RelatedResourceProperties {\n\toriginId?: string;\n\trelationType?: string;\n}\n\nexport interface MaterialProperties {\n\tclient: string;\n\tdescription?: string;\n\tlicense: string[];\n\tmerlinReference?: string;\n\trelatedResources: RelatedResourceProperties[];\n\tsubjects: string[];\n\ttags: string[];\n\ttargetGroups: TargetGroupProperties[];\n\ttitle: string;\n\turl: string;\n}\n\n@Entity({ collection: 'materials' })\nexport class Material extends BaseEntityWithTimestamps {\n\t@Property()\n\tclient: string;\n\n\t@Property()\n\tdescription?: string;\n\n\t@Property()\n\tlicense: string[];\n\n\t@Property()\n\tmerlinReference?: string;\n\n\t@Property()\n\trelatedResources: RelatedResourceProperties[] | [];\n\n\t@Property()\n\tsubjects: string[] | [];\n\n\t@Property()\n\ttags: string[] | [];\n\n\t@Property()\n\ttargetGroups: TargetGroupProperties[] | [];\n\n\t@Property()\n\ttitle: string;\n\n\t@Property()\n\turl: string;\n\n\tconstructor(props: MaterialProperties) {\n\t\tsuper();\n\t\tthis.client = props.client;\n\t\tthis.description = props.description || '';\n\t\tthis.license = props.license;\n\t\tthis.merlinReference = props.merlinReference || '';\n\t\tthis.relatedResources = props.relatedResources;\n\t\tthis.subjects = props.subjects;\n\t\tthis.tags = props.tags;\n\t\tthis.targetGroups = props.targetGroups;\n\t\tthis.title = props.title;\n\t\tthis.url = props.url;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RenameBodyParams.html":{"url":"classes/RenameBodyParams.html","title":"class - RenameBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RenameBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/board/rename.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({required: true, nullable: false})@SanitizeHtml()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/rename.body.params.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsString } from 'class-validator';\nimport { SanitizeHtml } from '@shared/controller';\n\nexport class RenameBodyParams {\n\t@IsString()\n\t@ApiProperty({\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\t@SanitizeHtml()\n\ttitle!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RenameFileParams.html":{"url":"classes/RenameFileParams.html","title":"class - RenameFileParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RenameFileParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n fileName\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n fileName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:79\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanResult } from '@infra/antivirus';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { Allow, IsBoolean, IsEnum, IsMongoId, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { FileRecordParentType } from '../../entity';\nimport { PreviewOutputMimeTypes, PreviewWidth } from '../../interface';\n\nexport class FileRecordParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\t@IsEnum(FileRecordParentType)\n\tparentType!: FileRecordParentType;\n}\n\nexport class FileUrlParams {\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\turl!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@Allow()\n\theaders?: Record;\n}\n\nexport class FileParams {\n\t@ApiProperty({ type: 'string', format: 'binary' })\n\t@Allow()\n\tfile!: string;\n}\n\nexport class DownloadFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileName!: string;\n}\n\nexport class ScanResultParams implements ScanResult {\n\t@ApiProperty()\n\t@Allow()\n\tvirus_detected?: boolean;\n\n\t@ApiProperty()\n\t@Allow()\n\tvirus_signature?: string;\n\n\t@ApiProperty()\n\t@Allow()\n\terror?: string;\n}\n\nexport class SingleFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n}\n\nexport class RenameFileParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n}\n\nexport class CopyFilesOfParentParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class CopyFileParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileNamePrefix!: string;\n}\n\nexport class CopyFilesOfParentPayload {\n\t@IsMongoId()\n\tuserId!: EntityId;\n\n\t@ValidateNested()\n\tsource!: FileRecordParams;\n\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class PreviewParams {\n\t@ApiPropertyOptional({ enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes' })\n\t@IsOptional()\n\t@IsEnum(PreviewOutputMimeTypes)\n\toutputFormat?: PreviewOutputMimeTypes;\n\n\t@ApiPropertyOptional({ enum: PreviewWidth, enumName: 'PreviewWidth' })\n\t@IsOptional()\n\t@IsEnum(PreviewWidth)\n\twidth?: PreviewWidth;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'If true, the preview will be generated again.',\n\t})\n\tforceUpdate?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RepoLoader.html":{"url":"interfaces/RepoLoader.html","title":"interface - RepoLoader","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RepoLoader\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/service/reference.loader.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n populate\n \n \n \n \n repo\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n populate\n \n \n \n \n \n \n \n \n populate: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n repo\n \n \n \n \n \n \n \n \n repo: RepoType\n\n \n \n\n\n \n \n Type : RepoType\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BoardDoAuthorizableService } from '@modules/board';\n\nimport { LessonService } from '@modules/lesson';\nimport { ContextExternalToolAuthorizableService } from '@modules/tool';\nimport { Injectable, NotImplementedException } from '@nestjs/common';\nimport { AuthorizableObject } from '@shared/domain/domain-object';\nimport { BaseDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport {\n\tCourseGroupRepo,\n\tCourseRepo,\n\tLegacySchoolRepo,\n\tSchoolExternalToolRepo,\n\tSubmissionRepo,\n\tTaskRepo,\n\tTeamsRepo,\n\tUserRepo,\n} from '@shared/repo';\nimport { AuthorizableReferenceType } from '../type';\n\ntype RepoType =\n\t| TaskRepo\n\t| CourseRepo\n\t| UserRepo\n\t| LegacySchoolRepo\n\t| TeamsRepo\n\t| CourseGroupRepo\n\t| SubmissionRepo\n\t| SchoolExternalToolRepo\n\t| BoardDoAuthorizableService\n\t| ContextExternalToolAuthorizableService\n\t| LessonService;\n\ninterface RepoLoader {\n\trepo: RepoType;\n\tpopulate?: boolean;\n}\n\n@Injectable()\nexport class ReferenceLoader {\n\tprivate repos: Map = new Map();\n\n\tconstructor(\n\t\tprivate readonly userRepo: UserRepo,\n\t\tprivate readonly courseRepo: CourseRepo,\n\t\tprivate readonly courseGroupRepo: CourseGroupRepo,\n\t\tprivate readonly taskRepo: TaskRepo,\n\t\tprivate readonly schoolRepo: LegacySchoolRepo,\n\t\tprivate readonly lessonService: LessonService,\n\t\tprivate readonly teamsRepo: TeamsRepo,\n\t\tprivate readonly submissionRepo: SubmissionRepo,\n\t\tprivate readonly schoolExternalToolRepo: SchoolExternalToolRepo,\n\t\tprivate readonly boardNodeAuthorizableService: BoardDoAuthorizableService,\n\t\tprivate readonly contextExternalToolAuthorizableService: ContextExternalToolAuthorizableService\n\t) {\n\t\tthis.repos.set(AuthorizableReferenceType.Task, { repo: this.taskRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.Course, { repo: this.courseRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.CourseGroup, { repo: this.courseGroupRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.User, { repo: this.userRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.School, { repo: this.schoolRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.Lesson, { repo: this.lessonService });\n\t\tthis.repos.set(AuthorizableReferenceType.Team, { repo: this.teamsRepo, populate: true });\n\t\tthis.repos.set(AuthorizableReferenceType.Submission, { repo: this.submissionRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.SchoolExternalToolEntity, { repo: this.schoolExternalToolRepo });\n\t\tthis.repos.set(AuthorizableReferenceType.BoardNode, { repo: this.boardNodeAuthorizableService });\n\t\tthis.repos.set(AuthorizableReferenceType.ContextExternalToolEntity, {\n\t\t\trepo: this.contextExternalToolAuthorizableService,\n\t\t});\n\t}\n\n\tprivate resolveRepo(type: AuthorizableReferenceType): RepoLoader {\n\t\tconst repo = this.repos.get(type);\n\t\tif (repo) {\n\t\t\treturn repo;\n\t\t}\n\t\tthrow new NotImplementedException('REPO_OR_SERVICE_NOT_IMPLEMENT');\n\t}\n\n\tasync loadAuthorizableObject(\n\t\tobjectName: AuthorizableReferenceType,\n\t\tobjectId: EntityId\n\t): Promise {\n\t\tconst repoLoader: RepoLoader = this.resolveRepo(objectName);\n\n\t\tlet object: AuthorizableObject | BaseDO;\n\t\tif (repoLoader.populate) {\n\t\t\tobject = await repoLoader.repo.findById(objectId, true);\n\t\t} else {\n\t\t\tobject = await repoLoader.repo.findById(objectId);\n\t\t}\n\n\t\treturn object;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RequestInfo.html":{"url":"classes/RequestInfo.html","title":"class - RequestInfo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RequestInfo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/metrics/prometheus/middleware.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n baseUrl\n \n \n fullPath\n \n \n method\n \n \n routePath\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n hasPath\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(req: Request)\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/middleware.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n req\n \n \n Request\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/middleware.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n fullPath\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/middleware.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n method\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/middleware.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n routePath\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : ''\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/middleware.ts:12\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n hasPath\n \n \n \n \n \n \n \n hasPath(reqRoute)\n \n \n\n\n \n \n Defined in apps/server/src/infra/metrics/prometheus/middleware.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n reqRoute\n\n \n No\n \n\n\n \n \n \n \n \n Returns : literal type\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import client from 'prom-client';\nimport responseTime from 'response-time';\nimport { Request, RequestHandler, Response } from 'express';\n\nclass RequestInfo {\n\tmethod: string;\n\n\tbaseUrl: string;\n\n\tfullPath: string;\n\n\troutePath = '';\n\n\tprivate hasPath(reqRoute: unknown): reqRoute is { path: string } {\n\t\treturn typeof reqRoute === 'object' && reqRoute != null && 'path' in reqRoute;\n\t}\n\n\tconstructor(req: Request) {\n\t\tthis.method = req.method;\n\t\tthis.baseUrl = req.baseUrl === undefined ? '' : req.baseUrl;\n\t\tthis.fullPath = this.baseUrl;\n\n\t\tif (this.hasPath(req.route)) {\n\t\t\tthis.routePath = req.route.path;\n\n\t\t\tthis.fullPath += this.routePath;\n\t\t}\n\t}\n}\n\nclass ResponseInfo {\n\tstatusCode: number;\n\n\tconstructor(res: Response) {\n\t\tthis.statusCode = res.statusCode;\n\t}\n}\n\nconst apiResponseTimeMetricLabelNames = ['method', 'base_url', 'full_path', 'route_path', 'status_code'];\n\nexport const getAPIResponseTimeMetricLabels = (req: Request, res: Response) => {\n\tconst reqInfo = new RequestInfo(req);\n\tconst resInfo = new ResponseInfo(res);\n\n\treturn {\n\t\tmethod: reqInfo.method,\n\t\tbase_url: reqInfo.baseUrl,\n\t\tfull_path: reqInfo.fullPath,\n\t\troute_path: reqInfo.routePath,\n\t\tstatus_code: resInfo.statusCode,\n\t};\n};\n\nexport const apiResponseTimeMetricHistogram = new client.Histogram({\n\tname: 'sc_api_response_time_in_seconds',\n\thelp: 'SC API response time in seconds',\n\tlabelNames: apiResponseTimeMetricLabelNames,\n});\n\nexport const createAPIResponseTimeMetricMiddleware = (): RequestHandler =>\n\tresponseTime((req: Request, res: Response, time: number) => {\n\t\tconst labels = getAPIResponseTimeMetricLabels(req, res);\n\n\t\tapiResponseTimeMetricHistogram.observe(labels, time / 1000);\n\t});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RequestLoggingInterceptor.html":{"url":"injectables/RequestLoggingInterceptor.html","title":"injectable - RequestLoggingInterceptor","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RequestLoggingInterceptor\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/interceptor/request-logging.interceptor.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n intercept\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/shared/common/interceptor/request-logging.interceptor.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n intercept\n \n \n \n \n \n \nintercept(context: ExecutionContext, next: CallHandler)\n \n \n\n\n \n \n Defined in apps/server/src/shared/common/interceptor/request-logging.interceptor.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n context\n \n ExecutionContext\n \n\n \n No\n \n\n\n \n \n next\n \n CallHandler\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Observable<>\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ICurrentUser } from '@modules/authentication/interface/user';\nimport { CallHandler, ExecutionContext, Injectable, NestInterceptor } from '@nestjs/common';\nimport { LegacyLogger, RequestLoggingBody } from '@src/core/logger';\nimport { Request } from 'express';\nimport { Observable, throwError } from 'rxjs';\nimport { catchError, tap } from 'rxjs/operators';\n\n@Injectable()\nexport class RequestLoggingInterceptor implements NestInterceptor {\n\tconstructor(private logger: LegacyLogger) {}\n\n\tintercept(context: ExecutionContext, next: CallHandler): Observable {\n\t\tthis.logger.setContext(`${context.getClass().name}::${context.getHandler().name}()`);\n\n\t\tconst req: Request = context.switchToHttp().getRequest();\n\t\tconst currentUser = req.user as ICurrentUser;\n\t\tconst logging: RequestLoggingBody = {\n\t\t\tuserId: currentUser.userId,\n\t\t\trequest: {\n\t\t\t\turl: req.url,\n\t\t\t\tmethod: req.method,\n\t\t\t\tparams: req.params,\n\t\t\t\tquery: req.query,\n\t\t\t},\n\t\t\terror: undefined,\n\t\t};\n\t\treturn next.handle().pipe(\n\t\t\ttap(() => {\n\t\t\t\tthis.logger.http(logging);\n\t\t\t}),\n\t\t\tcatchError((err: unknown) => {\n\t\t\t\tlogging.error = err;\n\t\t\t\tthis.logger.http(logging);\n\t\t\t\treturn throwError(() => err);\n\t\t\t})\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ResolvedGroupDto.html":{"url":"classes/ResolvedGroupDto.html","title":"class - ResolvedGroupDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ResolvedGroupDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/uc/dto/resolved-group.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n externalSource\n \n \n id\n \n \n name\n \n \n Optional\n organizationId\n \n \n type\n \n \n users\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(group: ResolvedGroupDto)\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/resolved-group.dto.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n group\n \n \n ResolvedGroupDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n externalSource\n \n \n \n \n \n \n Type : ExternalSource\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/resolved-group.dto.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/resolved-group.dto.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/resolved-group.dto.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n organizationId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/resolved-group.dto.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : GroupTypes\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/resolved-group.dto.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n users\n \n \n \n \n \n \n Type : ResolvedGroupUser[]\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/resolved-group.dto.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ExternalSource } from '@shared/domain/domainobject';\nimport { GroupTypes } from '../../domain';\nimport { ResolvedGroupUser } from './resolved-group-user';\n\nexport class ResolvedGroupDto {\n\tid: string;\n\n\tname: string;\n\n\ttype: GroupTypes;\n\n\tusers: ResolvedGroupUser[];\n\n\texternalSource?: ExternalSource;\n\n\torganizationId?: string;\n\n\tconstructor(group: ResolvedGroupDto) {\n\t\tthis.id = group.id;\n\t\tthis.name = group.name;\n\t\tthis.type = group.type;\n\t\tthis.users = group.users;\n\t\tthis.externalSource = group.externalSource;\n\t\tthis.organizationId = group.organizationId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ResolvedGroupUser.html":{"url":"classes/ResolvedGroupUser.html","title":"class - ResolvedGroupUser","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ResolvedGroupUser\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/uc/dto/resolved-group-user.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n role\n \n \n user\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ResolvedGroupUser)\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/resolved-group-user.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ResolvedGroupUser\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n role\n \n \n \n \n \n \n Type : RoleDto\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/resolved-group-user.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n user\n \n \n \n \n \n \n Type : UserDO\n\n \n \n \n \n Defined in apps/server/src/modules/group/uc/dto/resolved-group-user.ts:5\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { RoleDto } from '@modules/role/service/dto/role.dto';\nimport { UserDO } from '@shared/domain/domainobject';\n\nexport class ResolvedGroupUser {\n\tuser: UserDO;\n\n\trole: RoleDto;\n\n\tconstructor(props: ResolvedGroupUser) {\n\t\tthis.user = props.user;\n\t\tthis.role = props.role;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ResolvedUserMapper.html":{"url":"classes/ResolvedUserMapper.html","title":"class - ResolvedUserMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ResolvedUserMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user/mapper/resolved-user.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(user: User, permissions: string[], roles: Role[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/mapper/resolved-user.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n \n \n\n \n \n permissions\n \n string[]\n \n\n \n No\n \n\n \n []\n \n\n \n \n roles\n \n Role[]\n \n\n \n No\n \n\n \n []\n \n\n \n \n \n \n \n Returns : ResolvedUserResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Role, User } from '@shared/domain/entity';\nimport { ResolvedUserResponse } from '../controller/dto';\n\nexport class ResolvedUserMapper {\n\tstatic mapToResponse(user: User, permissions: string[] = [], roles: Role[] = []): ResolvedUserResponse {\n\t\tconst dto = new ResolvedUserResponse();\n\t\tdto.id = user.id;\n\t\tdto.firstName = user.firstName;\n\t\tdto.lastName = user.lastName;\n\t\tdto.createdAt = user.createdAt;\n\t\tdto.updatedAt = user.updatedAt;\n\t\tdto.schoolId = user.school.toString();\n\t\tdto.roles = roles.map((role) => {\n\t\t\treturn { name: role.name, id: role.id };\n\t\t});\n\n\t\tdto.permissions = permissions;\n\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ResolvedUserResponse.html":{"url":"classes/ResolvedUserResponse.html","title":"class - ResolvedUserResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ResolvedUserResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user/controller/dto/resolved-user.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n createdAt\n \n \n \n firstName\n \n \n \n id\n \n \n \n lastName\n \n \n \n permissions\n \n \n \n roles\n \n \n \n schoolId\n \n \n \n updatedAt\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user/controller/dto/resolved-user.response.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user/controller/dto/resolved-user.response.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user/controller/dto/resolved-user.response.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user/controller/dto/resolved-user.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n permissions\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user/controller/dto/resolved-user.response.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n roles\n \n \n \n \n \n \n Type : Role[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user/controller/dto/resolved-user.response.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user/controller/dto/resolved-user.response.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user/controller/dto/resolved-user.response.ts:23\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport type Role = {\n\tname: string;\n\n\tid: string;\n};\n\nexport class ResolvedUserResponse {\n\t@ApiProperty()\n\tfirstName!: string;\n\n\t@ApiProperty()\n\tlastName!: string;\n\n\t@ApiProperty()\n\tid!: string;\n\n\t@ApiProperty()\n\tcreatedAt!: Date;\n\n\t@ApiProperty()\n\tupdatedAt!: Date;\n\n\t@ApiProperty()\n\troles!: Role[];\n\n\t@ApiProperty()\n\tpermissions!: string[];\n\n\t@ApiProperty()\n\tschoolId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ResponseInfo.html":{"url":"classes/ResponseInfo.html","title":"class - ResponseInfo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ResponseInfo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/metrics/prometheus/middleware.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n statusCode\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(res: Response)\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/middleware.ts:32\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n res\n \n \n Response\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n statusCode\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/infra/metrics/prometheus/middleware.ts:32\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import client from 'prom-client';\nimport responseTime from 'response-time';\nimport { Request, RequestHandler, Response } from 'express';\n\nclass RequestInfo {\n\tmethod: string;\n\n\tbaseUrl: string;\n\n\tfullPath: string;\n\n\troutePath = '';\n\n\tprivate hasPath(reqRoute: unknown): reqRoute is { path: string } {\n\t\treturn typeof reqRoute === 'object' && reqRoute != null && 'path' in reqRoute;\n\t}\n\n\tconstructor(req: Request) {\n\t\tthis.method = req.method;\n\t\tthis.baseUrl = req.baseUrl === undefined ? '' : req.baseUrl;\n\t\tthis.fullPath = this.baseUrl;\n\n\t\tif (this.hasPath(req.route)) {\n\t\t\tthis.routePath = req.route.path;\n\n\t\t\tthis.fullPath += this.routePath;\n\t\t}\n\t}\n}\n\nclass ResponseInfo {\n\tstatusCode: number;\n\n\tconstructor(res: Response) {\n\t\tthis.statusCode = res.statusCode;\n\t}\n}\n\nconst apiResponseTimeMetricLabelNames = ['method', 'base_url', 'full_path', 'route_path', 'status_code'];\n\nexport const getAPIResponseTimeMetricLabels = (req: Request, res: Response) => {\n\tconst reqInfo = new RequestInfo(req);\n\tconst resInfo = new ResponseInfo(res);\n\n\treturn {\n\t\tmethod: reqInfo.method,\n\t\tbase_url: reqInfo.baseUrl,\n\t\tfull_path: reqInfo.fullPath,\n\t\troute_path: reqInfo.routePath,\n\t\tstatus_code: resInfo.statusCode,\n\t};\n};\n\nexport const apiResponseTimeMetricHistogram = new client.Histogram({\n\tname: 'sc_api_response_time_in_seconds',\n\thelp: 'SC API response time in seconds',\n\tlabelNames: apiResponseTimeMetricLabelNames,\n});\n\nexport const createAPIResponseTimeMetricMiddleware = (): RequestHandler =>\n\tresponseTime((req: Request, res: Response, time: number) => {\n\t\tconst labels = getAPIResponseTimeMetricLabels(req, res);\n\n\t\tapiResponseTimeMetricHistogram.observe(labels, time / 1000);\n\t});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RestartUserLoginMigrationUc.html":{"url":"injectables/RestartUserLoginMigrationUc.html","title":"injectable - RestartUserLoginMigrationUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RestartUserLoginMigrationUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/uc/restart-user-login-migration.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n restartMigration\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userLoginMigrationService: UserLoginMigrationService, authorizationService: AuthorizationService, schoolMigrationService: SchoolMigrationService, logger: Logger)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/uc/restart-user-login-migration.uc.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigrationService\n \n \n UserLoginMigrationService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n schoolMigrationService\n \n \n SchoolMigrationService\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n restartMigration\n \n \n \n \n \n \n \n restartMigration(userId: string, schoolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/uc/restart-user-login-migration.uc.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n schoolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { Logger } from '@src/core/logger';\nimport { UserLoginMigrationNotFoundLoggableException, UserLoginMigrationStartLoggable } from '../loggable';\nimport { SchoolMigrationService, UserLoginMigrationService } from '../service';\n\n@Injectable()\nexport class RestartUserLoginMigrationUc {\n\tconstructor(\n\t\tprivate readonly userLoginMigrationService: UserLoginMigrationService,\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly schoolMigrationService: SchoolMigrationService,\n\t\tprivate readonly logger: Logger\n\t) {\n\t\tthis.logger.setContext(RestartUserLoginMigrationUc.name);\n\t}\n\n\tpublic async restartMigration(userId: string, schoolId: string): Promise {\n\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationService.findMigrationBySchool(\n\t\t\tschoolId\n\t\t);\n\n\t\tif (!userLoginMigration) {\n\t\t\tthrow new UserLoginMigrationNotFoundLoggableException(schoolId);\n\t\t}\n\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(userId);\n\t\tthis.authorizationService.checkPermission(\n\t\t\tuser,\n\t\t\tuserLoginMigration,\n\t\t\tAuthorizationContextBuilder.write([Permission.USER_LOGIN_MIGRATION_ADMIN])\n\t\t);\n\n\t\tconst updatedUserLoginMigration: UserLoginMigrationDO = await this.userLoginMigrationService.restartMigration(\n\t\t\tuserLoginMigration\n\t\t);\n\n\t\tawait this.schoolMigrationService.unmarkOutdatedUsers(updatedUserLoginMigration);\n\n\t\tthis.logger.info(new UserLoginMigrationStartLoggable(userId, updatedUserLoginMigration.id));\n\n\t\treturn updatedUserLoginMigration;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RestrictedContextMismatchLoggable.html":{"url":"classes/RestrictedContextMismatchLoggable.html","title":"class - RestrictedContextMismatchLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RestrictedContextMismatchLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/service/restricted-context-mismatch-loggabble.ts\n \n\n\n\n \n Extends\n \n \n UnprocessableEntityException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolName: string, context: ToolContextType)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/restricted-context-mismatch-loggabble.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolName\n \n \n string\n \n \n \n No\n \n \n \n \n context\n \n \n ToolContextType\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/restricted-context-mismatch-loggabble.ts:11\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UnprocessableEntityException } from '@nestjs/common';\nimport { Loggable } from '@src/core/logger/interfaces';\nimport { ErrorLogMessage, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { ToolContextType } from '../../common/enum';\n\nexport class RestrictedContextMismatchLoggable extends UnprocessableEntityException implements Loggable {\n\tconstructor(private readonly externalToolName: string, private readonly context: ToolContextType) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\tconst message: LogMessage | ErrorLogMessage | ValidationErrorLogMessage = {\n\t\t\ttype: 'UNPROCESSABLE_ENTITY_EXCEPTION',\n\t\t\tmessage: `Could not create an instance of ${this.externalToolName} in context: ${this.context} because of the context restrictions of the tool.`,\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\texternalToolName: this.externalToolName,\n\t\t\t\tcontext: this.context,\n\t\t\t},\n\t\t};\n\n\t\treturn message;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RetryOptions.html":{"url":"interfaces/RetryOptions.html","title":"interface - RetryOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RetryOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/identity-management/keycloak-configuration/console/keycloak-configuration.console.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n retryCount\n \n \n \n Optional\n \n retryDelay\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n retryCount\n \n \n \n \n \n \n \n \n retryCount: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n retryDelay\n \n \n \n \n \n \n \n \n retryDelay: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { ConsoleWriterService } from '@infra/console';\nimport { LegacyLogger } from '@src/core/logger';\nimport { Command, CommandOption, Console } from 'nestjs-console';\nimport { KeycloakConfigurationUc } from '../uc/keycloak-configuration.uc';\n\nconst defaultError = new Error('IDM is not reachable or authentication failed.');\n\ninterface RetryOptions {\n\tretryCount?: number;\n\tretryDelay?: number;\n}\n\ninterface MigrationOptions {\n\tskip?: number;\n\tquery?: string;\n\tverbose?: boolean;\n}\n\ninterface CleanOptions {\n\tpageSize?: number;\n}\n@Console({ command: 'idm', description: 'Prefixes all Identity Management (IDM) related console commands.' })\nexport class KeycloakConsole {\n\tconstructor(\n\t\tprivate readonly console: ConsoleWriterService,\n\t\tprivate readonly keycloakConfigurationUc: KeycloakConfigurationUc,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(KeycloakConsole.name);\n\t}\n\n\tstatic retryFlags: CommandOption[] = [\n\t\t{\n\t\t\tflags: '-rc, --retry-count ',\n\t\t\tdescription: 'If the command fails, it will be retried this number of times. Default is no retry.',\n\t\t\trequired: false,\n\t\t\tdefaultValue: 1,\n\t\t},\n\t\t{\n\t\t\tflags: '-rd, --retry-delay ',\n\t\t\tdescription: 'If \"retry\" is active, this delay is used between each retry. Default is 10 seconds.',\n\t\t\trequired: false,\n\t\t\tdefaultValue: 10,\n\t\t},\n\t];\n\n\t/**\n\t * For local development. Checks if connection to IDM is working.\n\t */\n\t@Command({ command: 'check', description: 'Test the connection to the IDM.' })\n\tasync check(): Promise {\n\t\tif (await this.keycloakConfigurationUc.check()) {\n\t\t\tthis.console.info('Connected to IDM');\n\t\t} else {\n\t\t\tthrow defaultError;\n\t\t}\n\t}\n\n\t/**\n\t * Cleans users from IDM\n\t *\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'clean',\n\t\tdescription: 'Remove all users from the IDM.',\n\t\toptions: [\n\t\t\t...KeycloakConsole.retryFlags,\n\t\t\t{\n\t\t\t\tflags: '- mps, --maxPageSize ',\n\t\t\t\tdescription: 'Maximum users to delete per Keycloak API session. Default 100.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: 100,\n\t\t\t},\n\t\t],\n\t})\n\tasync clean(options: RetryOptions & CleanOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'clean',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.clean(options.pageSize ? Number(options.pageSize) : 100);\n\t\t\t\tthis.console.info(`Cleaned ${count} users in IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * For local development. Seeds user into IDM\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'seed',\n\t\tdescription: 'Add all seed users to the IDM.',\n\t\toptions: KeycloakConsole.retryFlags,\n\t})\n\tasync seed(options: RetryOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'seed',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.seed();\n\t\t\t\tthis.console.info(`Seeded ${count} users into IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * Used in production and for local development to transfer configuration to keycloak.\n\t *\n\t */\n\t@Command({\n\t\tcommand: 'configure',\n\t\tdescription: 'Configures Keycloak identity providers.',\n\t\toptions: [...KeycloakConsole.retryFlags],\n\t})\n\tasync configure(options: RetryOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'configure',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.configure();\n\t\t\t\tthis.console.info(`Configured ${count} identity provider(s).`);\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\t/**\n\t * For migration purpose. Moves all database accounts to the IDM\n\t * @param options\n\t */\n\t@Command({\n\t\tcommand: 'migrate',\n\t\tdescription: 'Add all database users to the IDM.',\n\t\toptions: [\n\t\t\t...KeycloakConsole.retryFlags,\n\t\t\t{\n\t\t\t\tflags: '-s, --skip',\n\t\t\t\tdescription: 'Skip the first \"s\" accounts during migration. Default 0.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: undefined,\n\t\t\t},\n\t\t\t{\n\t\t\t\tflags: '-v, --verbose',\n\t\t\t\tdescription: 'Log all events. Default is false.',\n\t\t\t\trequired: false,\n\t\t\t\tdefaultValue: false,\n\t\t\t},\n\t\t],\n\t})\n\tasync migrate(options: RetryOptions & MigrationOptions): Promise {\n\t\tawait this.repeatCommand(\n\t\t\t'migrate',\n\t\t\tasync () => {\n\t\t\t\tconst count = await this.keycloakConfigurationUc.migrate(\n\t\t\t\t\toptions.skip ? Number(options.skip) : undefined,\n\t\t\t\t\toptions.verbose ? Boolean(options.verbose) : false\n\t\t\t\t);\n\t\t\t\tthis.console.info(`Migrated ${count} users into IDM`);\n\t\t\t\treturn count;\n\t\t\t},\n\t\t\toptions.retryCount,\n\t\t\toptions.retryDelay\n\t\t);\n\t}\n\n\tprivate async repeatCommand(commandName: string, command: () => Promise, count = 1, delay = 10): Promise {\n\t\tlet repetitions = 0;\n\t\tlet error = new Error('error could be thrown if count is {\n\t\t\tsetTimeout(resolve, ms);\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RevokeConsentParams.html":{"url":"classes/RevokeConsentParams.html","title":"class - RevokeConsentParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RevokeConsentParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/request/revoke-consent.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n client\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n client\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({description: 'The Oauth2 client id.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/revoke-consent.params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsString } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\n\nexport class RevokeConsentParams {\n\t@IsString()\n\t@ApiProperty({ description: 'The Oauth2 client id.', required: true, nullable: false })\n\tclient!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RichText.html":{"url":"classes/RichText.html","title":"class - RichText","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RichText\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/types/rich-text.types.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: RichText)\n \n \n \n \n Defined in apps/server/src/shared/domain/types/rich-text.types.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n RichText\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Content of the rich text element'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/types/rich-text.types.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : InputFormat\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Input format of the rich text element', enum: InputFormat})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/types/rich-text.types.ts:20\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { sanitizeRichText } from '../../controller/transformer/sanitize-html.transformer';\nimport { InputFormat } from './input-format.types';\n\nexport class RichText {\n\tconstructor({ content, type }: RichText) {\n\t\tthis.content = sanitizeRichText(content, type);\n\t\tthis.type = type;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'Content of the rich text element',\n\t})\n\tcontent: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Input format of the rich text element',\n\t\tenum: InputFormat,\n\t})\n\ttype: InputFormat;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RichTextContentBody.html":{"url":"classes/RichTextContentBody.html","title":"class - RichTextContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RichTextContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n inputFormat\n \n \n \n \n text\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n inputFormat\n \n \n \n \n \n \n Type : InputFormat\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(InputFormat)@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:88\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n text\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:84\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RichTextElement.html":{"url":"classes/RichTextElement.html","title":"class - RichTextElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RichTextElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/rich-text-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardComposite\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n accept\n \n \n Async\n acceptAsync\n \n \n isAllowedAsChild\n \n \n addChild\n \n \n hasChild\n \n \n removeChild\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n text\n \n \n inputFormat\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n accept\n \n \n \n \n \n \naccept(visitor: BoardCompositeVisitor)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitor\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n acceptAsync\n \n \n \n \n \n \n \n acceptAsync(visitor: BoardCompositeVisitorAsync)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitorAsync\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isAllowedAsChild\n \n \n \n \n \n \nisAllowedAsChild()\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:22\n\n \n \n\n\n \n \n\n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n addChild\n \n \n \n \n \n \naddChild(child: AnyBoardDo, position?: number)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n position\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasChild\n \n \n \n \n \n \nhasChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeChild\n \n \n \n \n \n \nremoveChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n text\n \n \n\n \n \n gettext()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/rich-text-element.do.ts:6\n \n \n\n \n \n settext(value: string)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/rich-text-element.do.ts:10\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n inputFormat\n \n \n\n \n \n getinputFormat()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/rich-text-element.do.ts:14\n \n \n\n \n \n setinputFormat(value: InputFormat)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/rich-text-element.do.ts:18\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n InputFormat\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { InputFormat } from '@shared/domain/types';\nimport { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class RichTextElement extends BoardComposite {\n\tget text(): string {\n\t\treturn this.props.text;\n\t}\n\n\tset text(value: string) {\n\t\tthis.props.text = value;\n\t}\n\n\tget inputFormat(): InputFormat {\n\t\treturn this.props.inputFormat;\n\t}\n\n\tset inputFormat(value: InputFormat) {\n\t\tthis.props.inputFormat = value;\n\t}\n\n\tisAllowedAsChild(): boolean {\n\t\treturn false;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitRichTextElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitRichTextElementAsync(this);\n\t}\n}\n\nexport interface RichTextElementProps extends BoardCompositeProps {\n\ttext: string;\n\tinputFormat: InputFormat;\n}\n\nexport function isRichTextElement(reference: unknown): reference is RichTextElement {\n\treturn reference instanceof RichTextElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RichTextElementContent.html":{"url":"classes/RichTextElementContent.html","title":"class - RichTextElementContent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RichTextElementContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/rich-text-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n inputFormat\n \n \n \n text\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: RichTextElementContent)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/rich-text-element.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n RichTextElementContent\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n inputFormat\n \n \n \n \n \n \n Type : InputFormat\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/rich-text-element.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n text\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/rich-text-element.response.ts:13\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class RichTextElementContent {\n\tconstructor({ text, inputFormat }: RichTextElementContent) {\n\t\tthis.text = text;\n\t\tthis.inputFormat = inputFormat;\n\t}\n\n\t@ApiProperty()\n\ttext: string;\n\n\t@ApiProperty()\n\tinputFormat: InputFormat;\n}\n\nexport class RichTextElementResponse {\n\tconstructor({ id, content, timestamps, type }: RichTextElementResponse) {\n\t\tthis.id = id;\n\t\tthis.content = content;\n\t\tthis.timestamps = timestamps;\n\t\tthis.type = type;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.RICH_TEXT;\n\n\t@ApiProperty()\n\tcontent: RichTextElementContent;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RichTextElementContentBody.html":{"url":"classes/RichTextElementContentBody.html","title":"class - RichTextElementContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RichTextElementContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n \n Extends\n \n \n ElementContentBody\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : RichTextContentBody\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:97\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.RICH_TEXT\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from ElementContentBody\n\n \n \n \n \n Defined in ElementContentBody:93\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/RichTextElementNode.html":{"url":"entities/RichTextElementNode.html","title":"entity - RichTextElementNode","body":"\n \n\n\n\n\n\n\n\n Entities\n RichTextElementNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/rich-text-element-node.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n inputFormat\n \n \n \n text\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n inputFormat\n \n \n \n \n \n \n Type : InputFormat\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/rich-text-element-node.entity.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n text\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/rich-text-element-node.entity.ts:10\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { AnyBoardDo } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.RICH_TEXT_ELEMENT })\nexport class RichTextElementNode extends BoardNode {\n\t@Property()\n\ttext: string;\n\n\t@Property()\n\tinputFormat: InputFormat;\n\n\tconstructor(props: RichTextElementNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.RICH_TEXT_ELEMENT;\n\t\tthis.text = props.text;\n\t\tthis.inputFormat = props.inputFormat;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildRichTextElement(this);\n\t\treturn domainObject;\n\t}\n}\n\nexport interface RichTextElementNodeProps extends BoardNodeProps {\n\ttext: string;\n\tinputFormat: InputFormat;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RichTextElementNodeProps.html":{"url":"interfaces/RichTextElementNodeProps.html","title":"interface - RichTextElementNodeProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RichTextElementNodeProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/rich-text-element-node.entity.ts\n \n\n\n\n \n Extends\n \n \n BoardNodeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n inputFormat\n \n \n \n \n text\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n inputFormat\n \n \n \n \n \n \n \n \n inputFormat: InputFormat\n\n \n \n\n\n \n \n Type : InputFormat\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n text\n \n \n \n \n \n \n \n \n text: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { AnyBoardDo } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.RICH_TEXT_ELEMENT })\nexport class RichTextElementNode extends BoardNode {\n\t@Property()\n\ttext: string;\n\n\t@Property()\n\tinputFormat: InputFormat;\n\n\tconstructor(props: RichTextElementNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.RICH_TEXT_ELEMENT;\n\t\tthis.text = props.text;\n\t\tthis.inputFormat = props.inputFormat;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildRichTextElement(this);\n\t\treturn domainObject;\n\t}\n}\n\nexport interface RichTextElementNodeProps extends BoardNodeProps {\n\ttext: string;\n\tinputFormat: InputFormat;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RichTextElementProps.html":{"url":"interfaces/RichTextElementProps.html","title":"interface - RichTextElementProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RichTextElementProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/rich-text-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardCompositeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n inputFormat\n \n \n \n \n text\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n inputFormat\n \n \n \n \n \n \n \n \n inputFormat: InputFormat\n\n \n \n\n\n \n \n Type : InputFormat\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n text\n \n \n \n \n \n \n \n \n text: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { InputFormat } from '@shared/domain/types';\nimport { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class RichTextElement extends BoardComposite {\n\tget text(): string {\n\t\treturn this.props.text;\n\t}\n\n\tset text(value: string) {\n\t\tthis.props.text = value;\n\t}\n\n\tget inputFormat(): InputFormat {\n\t\treturn this.props.inputFormat;\n\t}\n\n\tset inputFormat(value: InputFormat) {\n\t\tthis.props.inputFormat = value;\n\t}\n\n\tisAllowedAsChild(): boolean {\n\t\treturn false;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitRichTextElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitRichTextElementAsync(this);\n\t}\n}\n\nexport interface RichTextElementProps extends BoardCompositeProps {\n\ttext: string;\n\tinputFormat: InputFormat;\n}\n\nexport function isRichTextElement(reference: unknown): reference is RichTextElement {\n\treturn reference instanceof RichTextElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RichTextElementResponse.html":{"url":"classes/RichTextElementResponse.html","title":"class - RichTextElementResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RichTextElementResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/rich-text-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n id\n \n \n \n timestamps\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: RichTextElementResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/rich-text-element.response.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n RichTextElementResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : RichTextElementContent\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/rich-text-element.response.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/rich-text-element.response.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n timestamps\n \n \n \n \n \n \n Type : TimestampsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/rich-text-element.response.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.RICH_TEXT\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ContentElementType, enumName: 'ContentElementType'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/rich-text-element.response.ts:31\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class RichTextElementContent {\n\tconstructor({ text, inputFormat }: RichTextElementContent) {\n\t\tthis.text = text;\n\t\tthis.inputFormat = inputFormat;\n\t}\n\n\t@ApiProperty()\n\ttext: string;\n\n\t@ApiProperty()\n\tinputFormat: InputFormat;\n}\n\nexport class RichTextElementResponse {\n\tconstructor({ id, content, timestamps, type }: RichTextElementResponse) {\n\t\tthis.id = id;\n\t\tthis.content = content;\n\t\tthis.timestamps = timestamps;\n\t\tthis.type = type;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.RICH_TEXT;\n\n\t@ApiProperty()\n\tcontent: RichTextElementContent;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RichTextElementResponseMapper.html":{"url":"classes/RichTextElementResponseMapper.html","title":"class - RichTextElementResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RichTextElementResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/rich-text-element-response.mapper.ts\n \n\n\n\n\n \n Implements\n \n \n BaseResponseMapper\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n canMap\n \n \n Static\n getInstance\n \n \n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n \n \n Type : RichTextElementResponseMapper\n\n \n \n \n \n Defined in apps/server/src/modules/board/controller/mapper/rich-text-element-response.mapper.ts:7\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n canMap\n \n \n \n \n \n \ncanMap(element: RichTextElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/rich-text-element-response.mapper.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n RichTextElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n getInstance\n \n \n \n \n \n \n \n getInstance()\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/rich-text-element-response.mapper.ts:9\n \n \n\n\n \n \n\n \n Returns : RichTextElementResponseMapper\n\n \n \n \n \n \n \n \n \n \n \n \n mapToResponse\n \n \n \n \n \n \nmapToResponse(element: RichTextElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/rich-text-element-response.mapper.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n RichTextElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RichTextElementResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ContentElementType, RichTextElement } from '@shared/domain/domainobject';\nimport { TimestampsResponse } from '../dto';\nimport { RichTextElementContent, RichTextElementResponse } from '../dto/element/rich-text-element.response';\nimport { BaseResponseMapper } from './base-mapper.interface';\n\nexport class RichTextElementResponseMapper implements BaseResponseMapper {\n\tprivate static instance: RichTextElementResponseMapper;\n\n\tpublic static getInstance(): RichTextElementResponseMapper {\n\t\tif (!RichTextElementResponseMapper.instance) {\n\t\t\tRichTextElementResponseMapper.instance = new RichTextElementResponseMapper();\n\t\t}\n\n\t\treturn RichTextElementResponseMapper.instance;\n\t}\n\n\tmapToResponse(element: RichTextElement): RichTextElementResponse {\n\t\tconst result = new RichTextElementResponse({\n\t\t\tid: element.id,\n\t\t\ttimestamps: new TimestampsResponse({ lastUpdatedAt: element.updatedAt, createdAt: element.createdAt }),\n\t\t\ttype: ContentElementType.RICH_TEXT,\n\t\t\tcontent: new RichTextElementContent({ text: element.text, inputFormat: element.inputFormat }),\n\t\t});\n\n\t\treturn result;\n\t}\n\n\tcanMap(element: RichTextElement): boolean {\n\t\treturn element instanceof RichTextElement;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RocketChatError.html":{"url":"classes/RocketChatError.html","title":"class - RocketChatError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RocketChatError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat/rocket-chat.service.ts\n \n\n\n\n \n Extends\n \n \n Error\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n errorType\n \n \n Private\n response\n \n \n Private\n statusCode\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(e: any)\n \n \n \n \n Defined in apps/server/src/modules/rocketchat/rocket-chat.service.ts:47\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n e\n \n \n any\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n errorType\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/rocketchat/rocket-chat.service.ts:47\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n response\n \n \n \n \n \n \n Type : GenericData\n\n \n \n \n \n Defined in apps/server/src/modules/rocketchat/rocket-chat.service.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n statusCode\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/modules/rocketchat/rocket-chat.service.ts:42\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { HttpService } from '@nestjs/axios';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { lastValueFrom } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\nexport interface RocketChatOptions {\n\turi?: string;\n\tadminUser?: string;\n\tadminPassword?: string;\n\tadminId?: string;\n\tadminToken?: string;\n}\n\nexport interface RocketChatGroupModel {\n\tgroup: {\n\t\t_id: string;\n\t\tname: string;\n\t\tfname: string;\n\t\tt: string;\n\t\tmsgs: number;\n\t\tusersCount: number;\n\t\tu: {\n\t\t\t_id: string;\n\t\t\tusername: string;\n\t\t};\n\t\tcustomfields: object;\n\t\tbroadcast: boolean;\n\t\tencrypted: boolean;\n\t\tts: Date;\n\t\tro: boolean;\n\t\tdefaults: boolean;\n\t\tsysmes: boolean;\n\t\t_updatedAt: Date;\n\t};\n\tsuccess: boolean;\n}\n\ntype GenericData = Record;\n\nexport class RocketChatError extends Error {\n\tprivate statusCode: number;\n\n\tprivate response: GenericData;\n\n\t// rocketchat specific error type\n\tprivate errorType: string;\n\n\tconstructor(e: any) {\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-argument\n\t\tsuper(e.response.statusText);\n\n\t\t// Set the prototype explicitly.\n\t\tObject.setPrototypeOf(this, RocketChatError.prototype);\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-member-access\n\t\tthis.statusCode = e.response.statusCode;\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment\n\t\tthis.response = e.response.data;\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment\n\t\tthis.errorType = e.response.data.errorType;\n\t}\n}\n\ninterface AdminIdAndToken {\n\tid: string;\n\ttoken: string;\n}\n\n@Injectable()\nexport class RocketChatService {\n\tprivate adminIdAndToken?: AdminIdAndToken;\n\n\tconstructor(\n\t\t@Inject('ROCKET_CHAT_OPTIONS') private readonly options: RocketChatOptions,\n\t\tprivate readonly httpService: HttpService\n\t) {}\n\n\tpublic async me(authToken: string, userId: string): Promise {\n\t\treturn this.get('/api/v1/me', authToken, userId);\n\t}\n\n\tpublic async setUserStatus(authToken: string, userId: string, status: string): Promise {\n\t\treturn this.post('/api/v1/users.setStatus', authToken, userId, {\n\t\t\tmessage: '',\n\t\t\tstatus,\n\t\t});\n\t}\n\n\tpublic async createUserToken(userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.createToken', {\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async logoutUser(authToken: string, userId: string): Promise {\n\t\treturn this.post('/api/v1/logout', authToken, userId, {});\n\t}\n\n\tpublic async getUserList(queryString: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/users.list?${queryString}`);\n\t}\n\n\tpublic async unarchiveGroup(groupName: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.unarchive', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async archiveGroup(groupName: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.archive', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async kickUserFromGroup(groupName: string, userId: string): Promise {\n\t\tconst groupInfo: RocketChatGroupModel = await this.getGroupData(groupName);\n\n\t\treturn this.postAsAdmin('/api/v1/groups.kick', {\n\t\t\troomId: groupInfo.group._id,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async inviteUserToGroup(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.invite', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async addGroupModerator(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.addModerator', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async removeGroupModerator(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.removeModerator', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async getGroupModerators(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.moderators?roomName=${groupName}`);\n\t}\n\n\tpublic async getGroupMembers(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.members?roomName=${groupName}`);\n\t}\n\n\tprivate async getGroupData(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.info?roomName=${groupName}`);\n\t}\n\n\tpublic async createGroup(name: string, members: string[]): Promise {\n\t\t// group.name is only used\n\t\treturn this.postAsAdmin('/api/v1/groups.create', {\n\t\t\tname,\n\t\t\tmembers,\n\t\t});\n\t}\n\n\tpublic async deleteGroup(groupName: string): Promise {\n\t\t// group.name is only used\n\t\treturn this.postAsAdmin('/api/v1/groups.delete', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async createUser(email: string, password: string, username: string, name: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.create', {\n\t\t\temail,\n\t\t\tpassword,\n\t\t\tusername,\n\t\t\tname,\n\t\t\tverified: true,\n\t\t});\n\t}\n\n\tpublic async deleteUser(username: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.delete', {\n\t\t\tusername,\n\t\t});\n\t}\n\n\tprivate async postAsAdmin(path: string, body: GenericData): Promise {\n\t\tconst adminIdAndToken = await this.getAdminIdAndToken();\n\t\treturn this.post(path, adminIdAndToken.token, adminIdAndToken.id, body);\n\t}\n\n\tprivate async getAsAdmin(path: string): Promise {\n\t\tconst adminIdAndToken = await this.getAdminIdAndToken();\n\t\treturn this.get(path, adminIdAndToken.token, adminIdAndToken.id);\n\t}\n\n\tprivate async get(path: string, authToken: string, userId: string): Promise {\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.get(`${this.options.uri}${path}`, {\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'X-Auth-Token': authToken,\n\t\t\t\t\t\t'X-User-ID': userId,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\t\treturn response?.data as Type;\n\t}\n\n\tprivate async post(path: string, authToken: string, userId: string, body: GenericData): Promise {\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.post(`${this.options.uri}${path}`, body, {\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'X-Auth-Token': authToken,\n\t\t\t\t\t\t'X-User-ID': userId,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\t\treturn response?.data as GenericData;\n\t}\n\n\tprivate async getAdminIdAndToken(): Promise {\n\t\tthis.validateRocketChatConfig();\n\n\t\tif (this.adminIdAndToken) {\n\t\t\treturn this.adminIdAndToken;\n\t\t}\n\n\t\tif (this.options.adminId && this.options.adminToken) {\n\t\t\tconst newVar = { id: this.options.adminId, token: this.options.adminToken } as AdminIdAndToken;\n\t\t\tthis.adminIdAndToken = newVar;\n\t\t\treturn newVar;\n\t\t}\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.post(`${this.options.uri}/api/v1/login`, {\n\t\t\t\t\tuser: this.options.adminUser,\n\t\t\t\t\tpassword: this.options.adminPassword,\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\tconst responseJson = response?.data;\n\t\tthis.adminIdAndToken = {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\tid: responseJson.data.userId as string,\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\ttoken: responseJson.data.authToken as string,\n\t\t} as AdminIdAndToken;\n\t\treturn this.adminIdAndToken;\n\t}\n\n\tprivate validateRocketChatConfig(): void {\n\t\tif (!this.options.uri) {\n\t\t\tthrow new Error('rocket chat uri not set');\n\t\t}\n\t\tif (!(this.options.adminId && this.options.adminToken) && !(this.options.adminUser && this.options.adminPassword)) {\n\t\t\tthrow new Error('rocket chat adminId and adminToken OR adminUser and adminPassword must be set');\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RocketChatGroupModel.html":{"url":"interfaces/RocketChatGroupModel.html","title":"interface - RocketChatGroupModel","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RocketChatGroupModel\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat/rocket-chat.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n group\n \n \n \n \n success\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n group\n \n \n \n \n \n \n \n \n group: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n success\n \n \n \n \n \n \n \n \n success: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { HttpService } from '@nestjs/axios';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { lastValueFrom } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\nexport interface RocketChatOptions {\n\turi?: string;\n\tadminUser?: string;\n\tadminPassword?: string;\n\tadminId?: string;\n\tadminToken?: string;\n}\n\nexport interface RocketChatGroupModel {\n\tgroup: {\n\t\t_id: string;\n\t\tname: string;\n\t\tfname: string;\n\t\tt: string;\n\t\tmsgs: number;\n\t\tusersCount: number;\n\t\tu: {\n\t\t\t_id: string;\n\t\t\tusername: string;\n\t\t};\n\t\tcustomfields: object;\n\t\tbroadcast: boolean;\n\t\tencrypted: boolean;\n\t\tts: Date;\n\t\tro: boolean;\n\t\tdefaults: boolean;\n\t\tsysmes: boolean;\n\t\t_updatedAt: Date;\n\t};\n\tsuccess: boolean;\n}\n\ntype GenericData = Record;\n\nexport class RocketChatError extends Error {\n\tprivate statusCode: number;\n\n\tprivate response: GenericData;\n\n\t// rocketchat specific error type\n\tprivate errorType: string;\n\n\tconstructor(e: any) {\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-argument\n\t\tsuper(e.response.statusText);\n\n\t\t// Set the prototype explicitly.\n\t\tObject.setPrototypeOf(this, RocketChatError.prototype);\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-member-access\n\t\tthis.statusCode = e.response.statusCode;\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment\n\t\tthis.response = e.response.data;\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment\n\t\tthis.errorType = e.response.data.errorType;\n\t}\n}\n\ninterface AdminIdAndToken {\n\tid: string;\n\ttoken: string;\n}\n\n@Injectable()\nexport class RocketChatService {\n\tprivate adminIdAndToken?: AdminIdAndToken;\n\n\tconstructor(\n\t\t@Inject('ROCKET_CHAT_OPTIONS') private readonly options: RocketChatOptions,\n\t\tprivate readonly httpService: HttpService\n\t) {}\n\n\tpublic async me(authToken: string, userId: string): Promise {\n\t\treturn this.get('/api/v1/me', authToken, userId);\n\t}\n\n\tpublic async setUserStatus(authToken: string, userId: string, status: string): Promise {\n\t\treturn this.post('/api/v1/users.setStatus', authToken, userId, {\n\t\t\tmessage: '',\n\t\t\tstatus,\n\t\t});\n\t}\n\n\tpublic async createUserToken(userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.createToken', {\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async logoutUser(authToken: string, userId: string): Promise {\n\t\treturn this.post('/api/v1/logout', authToken, userId, {});\n\t}\n\n\tpublic async getUserList(queryString: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/users.list?${queryString}`);\n\t}\n\n\tpublic async unarchiveGroup(groupName: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.unarchive', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async archiveGroup(groupName: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.archive', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async kickUserFromGroup(groupName: string, userId: string): Promise {\n\t\tconst groupInfo: RocketChatGroupModel = await this.getGroupData(groupName);\n\n\t\treturn this.postAsAdmin('/api/v1/groups.kick', {\n\t\t\troomId: groupInfo.group._id,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async inviteUserToGroup(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.invite', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async addGroupModerator(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.addModerator', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async removeGroupModerator(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.removeModerator', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async getGroupModerators(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.moderators?roomName=${groupName}`);\n\t}\n\n\tpublic async getGroupMembers(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.members?roomName=${groupName}`);\n\t}\n\n\tprivate async getGroupData(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.info?roomName=${groupName}`);\n\t}\n\n\tpublic async createGroup(name: string, members: string[]): Promise {\n\t\t// group.name is only used\n\t\treturn this.postAsAdmin('/api/v1/groups.create', {\n\t\t\tname,\n\t\t\tmembers,\n\t\t});\n\t}\n\n\tpublic async deleteGroup(groupName: string): Promise {\n\t\t// group.name is only used\n\t\treturn this.postAsAdmin('/api/v1/groups.delete', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async createUser(email: string, password: string, username: string, name: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.create', {\n\t\t\temail,\n\t\t\tpassword,\n\t\t\tusername,\n\t\t\tname,\n\t\t\tverified: true,\n\t\t});\n\t}\n\n\tpublic async deleteUser(username: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.delete', {\n\t\t\tusername,\n\t\t});\n\t}\n\n\tprivate async postAsAdmin(path: string, body: GenericData): Promise {\n\t\tconst adminIdAndToken = await this.getAdminIdAndToken();\n\t\treturn this.post(path, adminIdAndToken.token, adminIdAndToken.id, body);\n\t}\n\n\tprivate async getAsAdmin(path: string): Promise {\n\t\tconst adminIdAndToken = await this.getAdminIdAndToken();\n\t\treturn this.get(path, adminIdAndToken.token, adminIdAndToken.id);\n\t}\n\n\tprivate async get(path: string, authToken: string, userId: string): Promise {\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.get(`${this.options.uri}${path}`, {\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'X-Auth-Token': authToken,\n\t\t\t\t\t\t'X-User-ID': userId,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\t\treturn response?.data as Type;\n\t}\n\n\tprivate async post(path: string, authToken: string, userId: string, body: GenericData): Promise {\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.post(`${this.options.uri}${path}`, body, {\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'X-Auth-Token': authToken,\n\t\t\t\t\t\t'X-User-ID': userId,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\t\treturn response?.data as GenericData;\n\t}\n\n\tprivate async getAdminIdAndToken(): Promise {\n\t\tthis.validateRocketChatConfig();\n\n\t\tif (this.adminIdAndToken) {\n\t\t\treturn this.adminIdAndToken;\n\t\t}\n\n\t\tif (this.options.adminId && this.options.adminToken) {\n\t\t\tconst newVar = { id: this.options.adminId, token: this.options.adminToken } as AdminIdAndToken;\n\t\t\tthis.adminIdAndToken = newVar;\n\t\t\treturn newVar;\n\t\t}\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.post(`${this.options.uri}/api/v1/login`, {\n\t\t\t\t\tuser: this.options.adminUser,\n\t\t\t\t\tpassword: this.options.adminPassword,\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\tconst responseJson = response?.data;\n\t\tthis.adminIdAndToken = {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\tid: responseJson.data.userId as string,\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\ttoken: responseJson.data.authToken as string,\n\t\t} as AdminIdAndToken;\n\t\treturn this.adminIdAndToken;\n\t}\n\n\tprivate validateRocketChatConfig(): void {\n\t\tif (!this.options.uri) {\n\t\t\tthrow new Error('rocket chat uri not set');\n\t\t}\n\t\tif (!(this.options.adminId && this.options.adminToken) && !(this.options.adminUser && this.options.adminPassword)) {\n\t\t\tthrow new Error('rocket chat adminId and adminToken OR adminUser and adminPassword must be set');\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RocketChatModule.html":{"url":"modules/RocketChatModule.html","title":"module - RocketChatModule","body":"\n \n\n\n\n\n Modules\n RocketChatModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/rocketchat/rocket-chat.module.ts\n \n\n\n\n\n\n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options: RocketChatOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/rocketchat/rocket-chat.module.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n RocketChatOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { HttpModule } from '@nestjs/axios';\nimport { DynamicModule, Module } from '@nestjs/common';\nimport { RocketChatOptions, RocketChatService } from './rocket-chat.service';\n\n@Module({})\nexport class RocketChatModule {\n\tstatic forRoot(options: RocketChatOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: RocketChatModule,\n\t\t\timports: [HttpModule],\n\t\t\tproviders: [\n\t\t\t\tRocketChatService,\n\t\t\t\t{\n\t\t\t\t\tprovide: 'ROCKET_CHAT_OPTIONS',\n\t\t\t\t\tuseValue: options,\n\t\t\t\t},\n\t\t\t],\n\t\t\texports: [RocketChatService],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RocketChatOptions.html":{"url":"interfaces/RocketChatOptions.html","title":"interface - RocketChatOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RocketChatOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat/rocket-chat.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n adminId\n \n \n \n Optional\n \n adminPassword\n \n \n \n Optional\n \n adminToken\n \n \n \n Optional\n \n adminUser\n \n \n \n Optional\n \n uri\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n adminId\n \n \n \n \n \n \n \n \n adminId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n adminPassword\n \n \n \n \n \n \n \n \n adminPassword: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n adminToken\n \n \n \n \n \n \n \n \n adminToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n adminUser\n \n \n \n \n \n \n \n \n adminUser: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n uri\n \n \n \n \n \n \n \n \n uri: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { HttpService } from '@nestjs/axios';\nimport { Inject, Injectable } from '@nestjs/common';\nimport { lastValueFrom } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\n\nexport interface RocketChatOptions {\n\turi?: string;\n\tadminUser?: string;\n\tadminPassword?: string;\n\tadminId?: string;\n\tadminToken?: string;\n}\n\nexport interface RocketChatGroupModel {\n\tgroup: {\n\t\t_id: string;\n\t\tname: string;\n\t\tfname: string;\n\t\tt: string;\n\t\tmsgs: number;\n\t\tusersCount: number;\n\t\tu: {\n\t\t\t_id: string;\n\t\t\tusername: string;\n\t\t};\n\t\tcustomfields: object;\n\t\tbroadcast: boolean;\n\t\tencrypted: boolean;\n\t\tts: Date;\n\t\tro: boolean;\n\t\tdefaults: boolean;\n\t\tsysmes: boolean;\n\t\t_updatedAt: Date;\n\t};\n\tsuccess: boolean;\n}\n\ntype GenericData = Record;\n\nexport class RocketChatError extends Error {\n\tprivate statusCode: number;\n\n\tprivate response: GenericData;\n\n\t// rocketchat specific error type\n\tprivate errorType: string;\n\n\tconstructor(e: any) {\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-argument\n\t\tsuper(e.response.statusText);\n\n\t\t// Set the prototype explicitly.\n\t\tObject.setPrototypeOf(this, RocketChatError.prototype);\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-member-access\n\t\tthis.statusCode = e.response.statusCode;\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment\n\t\tthis.response = e.response.data;\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment\n\t\tthis.errorType = e.response.data.errorType;\n\t}\n}\n\ninterface AdminIdAndToken {\n\tid: string;\n\ttoken: string;\n}\n\n@Injectable()\nexport class RocketChatService {\n\tprivate adminIdAndToken?: AdminIdAndToken;\n\n\tconstructor(\n\t\t@Inject('ROCKET_CHAT_OPTIONS') private readonly options: RocketChatOptions,\n\t\tprivate readonly httpService: HttpService\n\t) {}\n\n\tpublic async me(authToken: string, userId: string): Promise {\n\t\treturn this.get('/api/v1/me', authToken, userId);\n\t}\n\n\tpublic async setUserStatus(authToken: string, userId: string, status: string): Promise {\n\t\treturn this.post('/api/v1/users.setStatus', authToken, userId, {\n\t\t\tmessage: '',\n\t\t\tstatus,\n\t\t});\n\t}\n\n\tpublic async createUserToken(userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.createToken', {\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async logoutUser(authToken: string, userId: string): Promise {\n\t\treturn this.post('/api/v1/logout', authToken, userId, {});\n\t}\n\n\tpublic async getUserList(queryString: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/users.list?${queryString}`);\n\t}\n\n\tpublic async unarchiveGroup(groupName: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.unarchive', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async archiveGroup(groupName: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.archive', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async kickUserFromGroup(groupName: string, userId: string): Promise {\n\t\tconst groupInfo: RocketChatGroupModel = await this.getGroupData(groupName);\n\n\t\treturn this.postAsAdmin('/api/v1/groups.kick', {\n\t\t\troomId: groupInfo.group._id,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async inviteUserToGroup(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.invite', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async addGroupModerator(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.addModerator', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async removeGroupModerator(groupName: string, userId: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/groups.removeModerator', {\n\t\t\troomName: groupName,\n\t\t\tuserId,\n\t\t});\n\t}\n\n\tpublic async getGroupModerators(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.moderators?roomName=${groupName}`);\n\t}\n\n\tpublic async getGroupMembers(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.members?roomName=${groupName}`);\n\t}\n\n\tprivate async getGroupData(groupName: string): Promise {\n\t\treturn this.getAsAdmin(`/api/v1/groups.info?roomName=${groupName}`);\n\t}\n\n\tpublic async createGroup(name: string, members: string[]): Promise {\n\t\t// group.name is only used\n\t\treturn this.postAsAdmin('/api/v1/groups.create', {\n\t\t\tname,\n\t\t\tmembers,\n\t\t});\n\t}\n\n\tpublic async deleteGroup(groupName: string): Promise {\n\t\t// group.name is only used\n\t\treturn this.postAsAdmin('/api/v1/groups.delete', {\n\t\t\troomName: groupName,\n\t\t});\n\t}\n\n\tpublic async createUser(email: string, password: string, username: string, name: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.create', {\n\t\t\temail,\n\t\t\tpassword,\n\t\t\tusername,\n\t\t\tname,\n\t\t\tverified: true,\n\t\t});\n\t}\n\n\tpublic async deleteUser(username: string): Promise {\n\t\treturn this.postAsAdmin('/api/v1/users.delete', {\n\t\t\tusername,\n\t\t});\n\t}\n\n\tprivate async postAsAdmin(path: string, body: GenericData): Promise {\n\t\tconst adminIdAndToken = await this.getAdminIdAndToken();\n\t\treturn this.post(path, adminIdAndToken.token, adminIdAndToken.id, body);\n\t}\n\n\tprivate async getAsAdmin(path: string): Promise {\n\t\tconst adminIdAndToken = await this.getAdminIdAndToken();\n\t\treturn this.get(path, adminIdAndToken.token, adminIdAndToken.id);\n\t}\n\n\tprivate async get(path: string, authToken: string, userId: string): Promise {\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.get(`${this.options.uri}${path}`, {\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'X-Auth-Token': authToken,\n\t\t\t\t\t\t'X-User-ID': userId,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\t\treturn response?.data as Type;\n\t}\n\n\tprivate async post(path: string, authToken: string, userId: string, body: GenericData): Promise {\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.post(`${this.options.uri}${path}`, body, {\n\t\t\t\t\theaders: {\n\t\t\t\t\t\t'X-Auth-Token': authToken,\n\t\t\t\t\t\t'X-User-ID': userId,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\t\treturn response?.data as GenericData;\n\t}\n\n\tprivate async getAdminIdAndToken(): Promise {\n\t\tthis.validateRocketChatConfig();\n\n\t\tif (this.adminIdAndToken) {\n\t\t\treturn this.adminIdAndToken;\n\t\t}\n\n\t\tif (this.options.adminId && this.options.adminToken) {\n\t\t\tconst newVar = { id: this.options.adminId, token: this.options.adminToken } as AdminIdAndToken;\n\t\t\tthis.adminIdAndToken = newVar;\n\t\t\treturn newVar;\n\t\t}\n\t\tconst response = await lastValueFrom(\n\t\t\tthis.httpService\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\t\t\t.post(`${this.options.uri}/api/v1/login`, {\n\t\t\t\t\tuser: this.options.adminUser,\n\t\t\t\t\tpassword: this.options.adminPassword,\n\t\t\t\t})\n\t\t\t\t.pipe(\n\t\t\t\t\tcatchError((e) => {\n\t\t\t\t\t\tthrow new RocketChatError(e);\n\t\t\t\t\t})\n\t\t\t\t)\n\t\t);\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n\t\tconst responseJson = response?.data;\n\t\tthis.adminIdAndToken = {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\tid: responseJson.data.userId as string,\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\ttoken: responseJson.data.authToken as string,\n\t\t} as AdminIdAndToken;\n\t\treturn this.adminIdAndToken;\n\t}\n\n\tprivate validateRocketChatConfig(): void {\n\t\tif (!this.options.uri) {\n\t\t\tthrow new Error('rocket chat uri not set');\n\t\t}\n\t\tif (!(this.options.adminId && this.options.adminToken) && !(this.options.adminUser && this.options.adminPassword)) {\n\t\t\tthrow new Error('rocket chat adminId and adminToken OR adminUser and adminPassword must be set');\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RocketChatUser.html":{"url":"classes/RocketChatUser.html","title":"class - RocketChatUser","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RocketChatUser\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat-user/domain/rocket-chat-user.do.ts\n \n\n\n\n \n Extends\n \n \n DomainObject\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n userId\n \n \n username\n \n \n rcId\n \n \n authToken\n \n \n createdAt\n \n \n updatedAt\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n userId\n \n \n\n \n \n getuserId()\n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/domain/rocket-chat-user.do.ts:14\n \n \n\n \n \n \n \n \n \n \n username\n \n \n\n \n \n getusername()\n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/domain/rocket-chat-user.do.ts:18\n \n \n\n \n \n \n \n \n \n \n rcId\n \n \n\n \n \n getrcId()\n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/domain/rocket-chat-user.do.ts:22\n \n \n\n \n \n \n \n \n \n \n authToken\n \n \n\n \n \n getauthToken()\n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/domain/rocket-chat-user.do.ts:26\n \n \n\n \n \n \n \n \n \n \n createdAt\n \n \n\n \n \n getcreatedAt()\n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/domain/rocket-chat-user.do.ts:30\n \n \n\n \n \n \n \n \n \n \n updatedAt\n \n \n\n \n \n getupdatedAt()\n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/domain/rocket-chat-user.do.ts:34\n \n \n\n \n \n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\n\nexport interface RocketChatUserProps extends AuthorizableObject {\n\tuserId: EntityId;\n\tusername: string;\n\trcId: string;\n\tauthToken?: string;\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n}\n\nexport class RocketChatUser extends DomainObject {\n\tget userId(): EntityId {\n\t\treturn this.props.userId;\n\t}\n\n\tget username(): string {\n\t\treturn this.props.username;\n\t}\n\n\tget rcId(): string {\n\t\treturn this.props.rcId;\n\t}\n\n\tget authToken(): string | undefined {\n\t\treturn this.props.authToken;\n\t}\n\n\tget createdAt(): Date | undefined {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date | undefined {\n\t\treturn this.props.updatedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/RocketChatUserEntity.html":{"url":"entities/RocketChatUserEntity.html","title":"entity - RocketChatUserEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n RocketChatUserEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat-user/entity/rocket-chat-user.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n authToken\n \n \n \n \n rcId\n \n \n \n \n userId\n \n \n \n \n username\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n authToken\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/entity/rocket-chat-user.entity.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n rcId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()@Index()\n \n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/entity/rocket-chat-user.entity.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property()@Unique()\n \n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/entity/rocket-chat-user.entity.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()@Unique()\n \n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/entity/rocket-chat-user.entity.ts:20\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Index, Property, Unique } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface RocketChatUserEntityProps {\n\tid?: EntityId;\n\tuserId: ObjectId;\n\tusername: string;\n\trcId: string;\n\tauthToken?: string;\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n}\n\n@Entity({ tableName: 'rocketchatusers' })\nexport class RocketChatUserEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Unique()\n\tusername: string;\n\n\t@Property()\n\t@Unique()\n\tuserId: ObjectId;\n\n\t@Property()\n\t@Index()\n\trcId: string;\n\n\t@Property({ nullable: true })\n\tauthToken?: string;\n\n\tconstructor(props: RocketChatUserEntityProps) {\n\t\tsuper();\n\n\t\tif (props.id !== undefined) {\n\t\t\tthis.id = props.id;\n\t\t}\n\n\t\tthis.userId = props.userId;\n\t\tthis.username = props.username;\n\t\tthis.rcId = props.rcId;\n\n\t\tif (props.authToken !== undefined) {\n\t\t\tthis.authToken = props.authToken;\n\t\t}\n\n\t\tif (props.createdAt !== undefined) {\n\t\t\tthis.createdAt = props.createdAt;\n\t\t}\n\n\t\tif (props.updatedAt !== undefined) {\n\t\t\tthis.updatedAt = props.updatedAt;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RocketChatUserEntityProps.html":{"url":"interfaces/RocketChatUserEntityProps.html","title":"interface - RocketChatUserEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RocketChatUserEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat-user/entity/rocket-chat-user.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n authToken\n \n \n \n Optional\n \n createdAt\n \n \n \n Optional\n \n id\n \n \n \n \n rcId\n \n \n \n Optional\n \n updatedAt\n \n \n \n \n userId\n \n \n \n \n username\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n authToken\n \n \n \n \n \n \n \n \n authToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n rcId\n \n \n \n \n \n \n \n \n rcId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: ObjectId\n\n \n \n\n\n \n \n Type : ObjectId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n \n \n username: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Index, Property, Unique } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types';\n\nexport interface RocketChatUserEntityProps {\n\tid?: EntityId;\n\tuserId: ObjectId;\n\tusername: string;\n\trcId: string;\n\tauthToken?: string;\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n}\n\n@Entity({ tableName: 'rocketchatusers' })\nexport class RocketChatUserEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Unique()\n\tusername: string;\n\n\t@Property()\n\t@Unique()\n\tuserId: ObjectId;\n\n\t@Property()\n\t@Index()\n\trcId: string;\n\n\t@Property({ nullable: true })\n\tauthToken?: string;\n\n\tconstructor(props: RocketChatUserEntityProps) {\n\t\tsuper();\n\n\t\tif (props.id !== undefined) {\n\t\t\tthis.id = props.id;\n\t\t}\n\n\t\tthis.userId = props.userId;\n\t\tthis.username = props.username;\n\t\tthis.rcId = props.rcId;\n\n\t\tif (props.authToken !== undefined) {\n\t\t\tthis.authToken = props.authToken;\n\t\t}\n\n\t\tif (props.createdAt !== undefined) {\n\t\t\tthis.createdAt = props.createdAt;\n\t\t}\n\n\t\tif (props.updatedAt !== undefined) {\n\t\t\tthis.updatedAt = props.updatedAt;\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RocketChatUserFactory.html":{"url":"classes/RocketChatUserFactory.html","title":"class - RocketChatUserFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RocketChatUserFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat-user/entity/testing/rocket-chat-user.entity.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseFactory } from '@shared/testing';\nimport { RocketChatUserEntity, RocketChatUserEntityProps } from '../rocket-chat-user.entity';\n\nclass RocketChatUserFactory extends BaseFactory {}\n\nexport const rocketChatUserEntityFactory = RocketChatUserFactory.define(RocketChatUserEntity, ({ sequence }) => {\n\treturn {\n\t\tid: new ObjectId().toHexString(),\n\t\tuserId: new ObjectId(),\n\t\tusername: `username-${sequence}`,\n\t\trcId: `rcId-${sequence}`,\n\t\tauthToken: `aythToken-${sequence}`,\n\t\tcreatedAt: new Date(),\n\t\tupdatedAt: new Date(),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RocketChatUserMapper.html":{"url":"classes/RocketChatUserMapper.html","title":"class - RocketChatUserMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RocketChatUserMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat-user/repo/mapper/rocket-chat-user.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToDO\n \n \n Static\n mapToEntity\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToDO\n \n \n \n \n \n \n \n mapToDO(entity: RocketChatUserEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/rocketchat-user/repo/mapper/rocket-chat-user.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n RocketChatUserEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RocketChatUser\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToEntity\n \n \n \n \n \n \n \n mapToEntity(domainObject: RocketChatUser)\n \n \n\n\n \n \n Defined in apps/server/src/modules/rocketchat-user/repo/mapper/rocket-chat-user.mapper.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n RocketChatUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RocketChatUserEntity\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { RocketChatUserEntity } from '../../entity';\nimport { RocketChatUser } from '../../domain/rocket-chat-user.do';\n\nexport class RocketChatUserMapper {\n\tstatic mapToDO(entity: RocketChatUserEntity): RocketChatUser {\n\t\treturn new RocketChatUser({\n\t\t\tid: entity.id,\n\t\t\tuserId: entity.userId.toHexString(),\n\t\t\tusername: entity.username,\n\t\t\trcId: entity.rcId,\n\t\t\tauthToken: entity.authToken,\n\t\t\tcreatedAt: entity.createdAt,\n\t\t\tupdatedAt: entity.updatedAt,\n\t\t});\n\t}\n\n\tstatic mapToEntity(domainObject: RocketChatUser): RocketChatUserEntity {\n\t\treturn new RocketChatUserEntity({\n\t\t\tid: domainObject.id,\n\t\t\tuserId: new ObjectId(domainObject.userId),\n\t\t\tusername: domainObject.username,\n\t\t\trcId: domainObject.rcId,\n\t\t\tauthToken: domainObject.authToken,\n\t\t\tcreatedAt: domainObject.createdAt,\n\t\t\tupdatedAt: domainObject.updatedAt,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RocketChatUserModule.html":{"url":"modules/RocketChatUserModule.html","title":"module - RocketChatUserModule","body":"\n \n\n\n\n\n Modules\n RocketChatUserModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_RocketChatUserModule\n\n\n\ncluster_RocketChatUserModule_exports\n\n\n\ncluster_RocketChatUserModule_providers\n\n\n\n\nRocketChatUserService \n\nRocketChatUserService \n\n\n\nRocketChatUserModule\n\nRocketChatUserModule\n\nRocketChatUserService -->\n\nRocketChatUserModule->RocketChatUserService \n\n\n\n\n\nRocketChatUserRepo\n\nRocketChatUserRepo\n\nRocketChatUserModule -->\n\nRocketChatUserRepo->RocketChatUserModule\n\n\n\n\n\nRocketChatUserService\n\nRocketChatUserService\n\nRocketChatUserModule -->\n\nRocketChatUserService->RocketChatUserModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/rocketchat-user/rocketchat-user.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n RocketChatUserRepo\n \n \n RocketChatUserService\n \n \n \n \n Exports\n \n \n RocketChatUserService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { RocketChatUserRepo } from './repo';\nimport { RocketChatUserService } from './service/rocket-chat-user.service';\n\n@Module({\n\tproviders: [RocketChatUserRepo, RocketChatUserService],\n\texports: [RocketChatUserService],\n})\nexport class RocketChatUserModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RocketChatUserProps.html":{"url":"interfaces/RocketChatUserProps.html","title":"interface - RocketChatUserProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RocketChatUserProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat-user/domain/rocket-chat-user.do.ts\n \n\n\n\n \n Extends\n \n \n AuthorizableObject\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n authToken\n \n \n \n Optional\n \n createdAt\n \n \n \n \n rcId\n \n \n \n Optional\n \n updatedAt\n \n \n \n \n userId\n \n \n \n \n username\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n authToken\n \n \n \n \n \n \n \n \n authToken: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n \n \n createdAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n rcId\n \n \n \n \n \n \n \n \n rcId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n \n \n updatedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n \n \n username: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\n\nexport interface RocketChatUserProps extends AuthorizableObject {\n\tuserId: EntityId;\n\tusername: string;\n\trcId: string;\n\tauthToken?: string;\n\tcreatedAt?: Date;\n\tupdatedAt?: Date;\n}\n\nexport class RocketChatUser extends DomainObject {\n\tget userId(): EntityId {\n\t\treturn this.props.userId;\n\t}\n\n\tget username(): string {\n\t\treturn this.props.username;\n\t}\n\n\tget rcId(): string {\n\t\treturn this.props.rcId;\n\t}\n\n\tget authToken(): string | undefined {\n\t\treturn this.props.authToken;\n\t}\n\n\tget createdAt(): Date | undefined {\n\t\treturn this.props.createdAt;\n\t}\n\n\tget updatedAt(): Date | undefined {\n\t\treturn this.props.updatedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RocketChatUserRepo.html":{"url":"injectables/RocketChatUserRepo.html","title":"injectable - RocketChatUserRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RocketChatUserRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat-user/repo/rocket-chat-user.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteByUserId\n \n \n Async\n findByUserId\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/repo/rocket-chat-user.repo.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteByUserId\n \n \n \n \n \n \n \n deleteByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/rocketchat-user/repo/rocket-chat-user.repo.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserId\n \n \n \n \n \n \n \n findByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/rocketchat-user/repo/rocket-chat-user.repo.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/repo/rocket-chat-user.repo.ts:12\n \n \n\n \n \n\n \n\n\n \n import { EntityManager, ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { RocketChatUser } from '../domain/rocket-chat-user.do';\nimport { RocketChatUserEntity } from '../entity';\nimport { RocketChatUserMapper } from './mapper';\n\n@Injectable()\nexport class RocketChatUserRepo {\n\tconstructor(private readonly em: EntityManager) {}\n\n\tget entityName() {\n\t\treturn RocketChatUserEntity;\n\t}\n\n\tasync findByUserId(userId: EntityId): Promise {\n\t\tconst entity: RocketChatUserEntity = await this.em.findOneOrFail(RocketChatUserEntity, {\n\t\t\tuserId: new ObjectId(userId),\n\t\t});\n\n\t\tconst mapped: RocketChatUser = RocketChatUserMapper.mapToDO(entity);\n\n\t\treturn mapped;\n\t}\n\n\tasync deleteByUserId(userId: EntityId): Promise {\n\t\tconst promise: Promise = this.em.nativeDelete(RocketChatUserEntity, {\n\t\t\tuserId: new ObjectId(userId),\n\t\t});\n\n\t\treturn promise;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RocketChatUserService.html":{"url":"injectables/RocketChatUserService.html","title":"injectable - RocketChatUserService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RocketChatUserService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/rocketchat-user/service/rocket-chat-user.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n deleteByUserId\n \n \n Public\n Async\n findByUserId\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(rocketChatUserRepo: RocketChatUserRepo)\n \n \n \n \n Defined in apps/server/src/modules/rocketchat-user/service/rocket-chat-user.service.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n rocketChatUserRepo\n \n \n RocketChatUserRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n deleteByUserId\n \n \n \n \n \n \n \n deleteByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/rocketchat-user/service/rocket-chat-user.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findByUserId\n \n \n \n \n \n \n \n findByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/rocketchat-user/service/rocket-chat-user.service.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { RocketChatUser } from '../domain';\nimport { RocketChatUserRepo } from '../repo';\n\n@Injectable()\nexport class RocketChatUserService {\n\tconstructor(private readonly rocketChatUserRepo: RocketChatUserRepo) {}\n\n\tpublic async findByUserId(userId: EntityId): Promise {\n\t\tconst user: RocketChatUser = await this.rocketChatUserRepo.findByUserId(userId);\n\n\t\treturn user;\n\t}\n\n\tpublic deleteByUserId(userId: EntityId): Promise {\n\t\treturn this.rocketChatUserRepo.deleteByUserId(userId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/Role.html":{"url":"entities/Role.html","title":"entity - Role","body":"\n \n\n\n\n\n\n\n\n Entities\n Role\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/role.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n name\n \n \n \n permissions\n \n \n \n roles\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : RoleName\n\n \n \n \n \n Decorators : \n \n \n @Property()@Unique()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/role.entity.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n permissions\n \n \n \n \n \n \n Type : Permission[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/role.entity.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n roles\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @ManyToMany({entity: 'Role'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/role.entity.ts:21\n \n \n\n\n \n \n\n \n\n\n \n import { Collection, Entity, ManyToMany, Property, Unique } from '@mikro-orm/core';\nimport { Permission, RoleName } from '../interface';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface RoleProperties {\n\tpermissions?: Permission[];\n\troles?: Role[];\n\tname: RoleName;\n}\n\n@Entity({ tableName: 'roles' })\nexport class Role extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Unique()\n\tname: RoleName;\n\n\t@Property()\n\tpermissions: Permission[] = [];\n\n\t@ManyToMany({ entity: 'Role' })\n\troles = new Collection(this);\n\n\tconstructor(props: RoleProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tif (props.permissions) this.permissions = props.permissions;\n\t\tif (props.roles) this.roles.set(props.roles);\n\t}\n\n\tpublic resolvePermissions(): string[] {\n\t\tif (!this.roles.isInitialized(true)) {\n\t\t\tthrow new Error('Roles items are not loaded.');\n\t\t}\n\n\t\tlet permissions: string[] = [...this.permissions];\n\n\t\tconst innerRoles = this.roles.getItems();\n\t\tinnerRoles.forEach((innerRole) => {\n\t\t\tconst innerPermissions = innerRole.resolvePermissions();\n\t\t\tpermissions = [...permissions, ...innerPermissions];\n\t\t});\n\n\t\tconst uniquePermissions = [...new Set(permissions)];\n\n\t\treturn uniquePermissions;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RoleDto.html":{"url":"classes/RoleDto.html","title":"class - RoleDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RoleDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/role/service/dto/role.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n id\n \n \n name\n \n \n Optional\n permissions\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: RoleDto)\n \n \n \n \n Defined in apps/server/src/modules/role/service/dto/role.dto.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n RoleDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/role/service/dto/role.dto.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : RoleName\n\n \n \n \n \n Defined in apps/server/src/modules/role/service/dto/role.dto.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n permissions\n \n \n \n \n \n \n Type : Permission[]\n\n \n \n \n \n Defined in apps/server/src/modules/role/service/dto/role.dto.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Permission, RoleName } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\n\nexport class RoleDto {\n\tid?: EntityId;\n\n\tname: RoleName;\n\n\tpermissions?: Permission[];\n\n\tconstructor(props: RoleDto) {\n\t\tthis.id = props.id;\n\t\tthis.name = props.name;\n\t\tthis.permissions = props.permissions;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RoleMapper.html":{"url":"classes/RoleMapper.html","title":"class - RoleMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RoleMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/role/mapper/role.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapFromEntitiesToDtos\n \n \n Static\n mapFromEntityToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapFromEntitiesToDtos\n \n \n \n \n \n \n \n mapFromEntitiesToDtos(enities: Role[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/role/mapper/role.mapper.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n enities\n \n Role[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RoleDto[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapFromEntityToDto\n \n \n \n \n \n \n \n mapFromEntityToDto(entity: Role)\n \n \n\n\n \n \n Defined in apps/server/src/modules/role/mapper/role.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n Role\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RoleDto\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { RoleDto } from '@modules/role/service/dto/role.dto';\nimport { Role } from '@shared/domain/entity';\n\nexport class RoleMapper {\n\tstatic mapFromEntityToDto(entity: Role): RoleDto {\n\t\treturn new RoleDto({\n\t\t\tid: entity.id,\n\t\t\tname: entity.name,\n\t\t\tpermissions: entity.permissions,\n\t\t});\n\t}\n\n\tstatic mapFromEntitiesToDtos(enities: Role[]): RoleDto[] {\n\t\treturn enities.map((entity) => this.mapFromEntityToDto(entity));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/RoleModule.html":{"url":"modules/RoleModule.html","title":"module - RoleModule","body":"\n \n\n\n\n\n Modules\n RoleModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_RoleModule\n\n\n\ncluster_RoleModule_providers\n\n\n\ncluster_RoleModule_exports\n\n\n\n\nRoleRepo \n\nRoleRepo \n\n\n\nRoleService \n\nRoleService \n\n\n\nRoleUc \n\nRoleUc \n\n\n\nRoleModule\n\nRoleModule\n\nRoleRepo -->\n\nRoleModule->RoleRepo \n\n\n\nRoleService -->\n\nRoleModule->RoleService \n\n\n\nRoleUc -->\n\nRoleModule->RoleUc \n\n\n\n\n\nRoleRepo\n\nRoleRepo\n\nRoleModule -->\n\nRoleRepo->RoleModule\n\n\n\n\n\nRoleService\n\nRoleService\n\nRoleModule -->\n\nRoleService->RoleModule\n\n\n\n\n\nRoleUc\n\nRoleUc\n\nRoleModule -->\n\nRoleUc->RoleModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/role/role.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n RoleRepo\n \n \n RoleService\n \n \n RoleUc\n \n \n \n \n Exports\n \n \n RoleRepo\n \n \n RoleService\n \n \n RoleUc\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { RoleRepo } from '@shared/repo';\nimport { RoleService } from '@modules/role/service/role.service';\nimport { RoleUc } from '@modules/role/uc/role.uc';\n\n@Module({\n\tproviders: [RoleRepo, RoleService, RoleUc],\n\texports: [RoleService, RoleUc, RoleRepo],\n})\nexport class RoleModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RoleNameMapper.html":{"url":"classes/RoleNameMapper.html","title":"class - RoleNameMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RoleNameMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/mapper/role-name.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToDomain\n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToDomain\n \n \n \n \n \n \n \n mapToDomain(roleName: FilterRoleType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/mapper/role-name.mapper.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roleName\n \n FilterRoleType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : IImportUserRoleName\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(roleName: IImportUserRoleName)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/mapper/role-name.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roleName\n \n IImportUserRoleName\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserRole\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { IImportUserRoleName } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { FilterRoleType, UserRole } from '../controller/dto';\n\nexport class RoleNameMapper {\n\tstatic mapToResponse(roleName: IImportUserRoleName): UserRole {\n\t\tif (roleName === RoleName.ADMINISTRATOR) return UserRole.ADMIN;\n\t\tif (roleName === RoleName.TEACHER) return UserRole.TEACHER;\n\t\tif (roleName === RoleName.STUDENT) return UserRole.STUDENT;\n\t\tthrow Error('invalid role name from domain');\n\t}\n\n\tstatic mapToDomain(roleName: FilterRoleType): IImportUserRoleName {\n\t\tif (roleName === FilterRoleType.ADMIN) return RoleName.ADMINISTRATOR;\n\t\tif (roleName === FilterRoleType.TEACHER) return RoleName.TEACHER;\n\t\tif (roleName === FilterRoleType.STUDENT) return RoleName.STUDENT;\n\t\tthrow Error('invalid role name from query');\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RoleProperties.html":{"url":"interfaces/RoleProperties.html","title":"interface - RoleProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RoleProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/role.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n name\n \n \n \n Optional\n \n permissions\n \n \n \n Optional\n \n roles\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: RoleName\n\n \n \n\n\n \n \n Type : RoleName\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n permissions\n \n \n \n \n \n \n \n \n permissions: Permission[]\n\n \n \n\n\n \n \n Type : Permission[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n roles\n \n \n \n \n \n \n \n \n roles: Role[]\n\n \n \n\n\n \n \n Type : Role[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Entity, ManyToMany, Property, Unique } from '@mikro-orm/core';\nimport { Permission, RoleName } from '../interface';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface RoleProperties {\n\tpermissions?: Permission[];\n\troles?: Role[];\n\tname: RoleName;\n}\n\n@Entity({ tableName: 'roles' })\nexport class Role extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Unique()\n\tname: RoleName;\n\n\t@Property()\n\tpermissions: Permission[] = [];\n\n\t@ManyToMany({ entity: 'Role' })\n\troles = new Collection(this);\n\n\tconstructor(props: RoleProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tif (props.permissions) this.permissions = props.permissions;\n\t\tif (props.roles) this.roles.set(props.roles);\n\t}\n\n\tpublic resolvePermissions(): string[] {\n\t\tif (!this.roles.isInitialized(true)) {\n\t\t\tthrow new Error('Roles items are not loaded.');\n\t\t}\n\n\t\tlet permissions: string[] = [...this.permissions];\n\n\t\tconst innerRoles = this.roles.getItems();\n\t\tinnerRoles.forEach((innerRole) => {\n\t\t\tconst innerPermissions = innerRole.resolvePermissions();\n\t\t\tpermissions = [...permissions, ...innerPermissions];\n\t\t});\n\n\t\tconst uniquePermissions = [...new Set(permissions)];\n\n\t\treturn uniquePermissions;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RoleReference.html":{"url":"classes/RoleReference.html","title":"class - RoleReference","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RoleReference\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/role-reference.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n id\n \n \n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: RoleReference)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/role-reference.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n RoleReference\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/role-reference.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : RoleName\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/role-reference.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { RoleName } from '../interface';\nimport { EntityId } from '../types';\n\nexport class RoleReference {\n\tid: EntityId;\n\n\tname: RoleName;\n\n\tconstructor(props: RoleReference) {\n\t\tthis.id = props.id;\n\t\tthis.name = props.name;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RoleRepo.html":{"url":"injectables/RoleRepo.html","title":"injectable - RoleRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RoleRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/role/role.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n cacheExpiration\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findById\n \n \n Async\n findByIds\n \n \n Async\n findByName\n \n \n Async\n findByNames\n \n \n create\n \n \n Async\n delete\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:20\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByIds\n \n \n \n \n \n \n \n findByIds(ids: string[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/role/role.repo.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n ids\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByName\n \n \n \n \n \n \n \n findByName(name: RoleName)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/role/role.repo.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n RoleName\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByNames\n \n \n \n \n \n \n \n findByNames(names: RoleName[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/role/role.repo.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n names\n \n RoleName[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n cacheExpiration\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 60000\n \n \n \n \n Defined in apps/server/src/shared/repo/role/role.repo.ts:13\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/role/role.repo.ts:9\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Role } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '../base.repo';\n\n@Injectable()\nexport class RoleRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn Role;\n\t}\n\n\tcacheExpiration = 60000;\n\n\tasync findByName(name: RoleName): Promise {\n\t\tconst promise: Promise = this._em.findOneOrFail(Role, { name }, { cache: this.cacheExpiration });\n\t\treturn promise;\n\t}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst promise: Promise = this._em.findOneOrFail(Role, { id }, { cache: this.cacheExpiration });\n\t\treturn promise;\n\t}\n\n\tasync findByNames(names: RoleName[]): Promise {\n\t\tconst promise: Promise = this._em.find(Role, { name: { $in: names } }, { cache: this.cacheExpiration });\n\t\treturn promise;\n\t}\n\n\tasync findByIds(ids: string[]): Promise {\n\t\tconst promise: Promise = this._em.find(Role, { id: { $in: ids } }, { cache: this.cacheExpiration });\n\t\treturn promise;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RoleService.html":{"url":"injectables/RoleService.html","title":"injectable - RoleService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RoleService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/role/service/role.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findById\n \n \n Async\n findByIds\n \n \n Async\n findByNames\n \n \n Async\n getProtectedRoles\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(roleRepo: RoleRepo)\n \n \n \n \n Defined in apps/server/src/modules/role/service/role.service.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n roleRepo\n \n \n RoleRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/role/service/role.service.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByIds\n \n \n \n \n \n \n \n findByIds(ids: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/role/service/role.service.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n ids\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByNames\n \n \n \n \n \n \n \n findByNames(names: RoleName[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/role/service/role.service.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n names\n \n RoleName[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getProtectedRoles\n \n \n \n \n \n \n \n getProtectedRoles()\n \n \n\n\n \n \n Defined in apps/server/src/modules/role/service/role.service.ts:13\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Role } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { RoleRepo } from '@shared/repo';\nimport { RoleMapper } from '../mapper/role.mapper';\nimport { RoleDto } from './dto/role.dto';\n\n@Injectable()\nexport class RoleService {\n\tconstructor(private readonly roleRepo: RoleRepo) {}\n\n\tasync getProtectedRoles(): Promise {\n\t\tconst roleDtos: RoleDto[] = await this.findByNames([RoleName.ADMINISTRATOR, RoleName.TEACHER]);\n\t\treturn roleDtos;\n\t}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst entity: Role = await this.roleRepo.findById(id);\n\t\tconst roleDto: RoleDto = RoleMapper.mapFromEntityToDto(entity);\n\t\treturn roleDto;\n\t}\n\n\tasync findByIds(ids: EntityId[]): Promise {\n\t\tconst roles: Role[] = await this.roleRepo.findByIds(ids);\n\t\tconst roleDtos: RoleDto[] = RoleMapper.mapFromEntitiesToDtos(roles);\n\t\treturn roleDtos;\n\t}\n\n\tasync findByNames(names: RoleName[]): Promise {\n\t\tconst entities: Role[] = await this.roleRepo.findByNames(names);\n\t\tconst roleDtos: RoleDto[] = RoleMapper.mapFromEntitiesToDtos(entities);\n\t\treturn roleDtos;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RoleUc.html":{"url":"injectables/RoleUc.html","title":"injectable - RoleUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RoleUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/role/uc/role.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findByNames\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(roleService: RoleService)\n \n \n \n \n Defined in apps/server/src/modules/role/uc/role.uc.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n roleService\n \n \n RoleService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findByNames\n \n \n \n \n \n \n \n findByNames(names: RoleName[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/role/uc/role.uc.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n names\n \n RoleName[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { RoleDto } from '@modules/role/service/dto/role.dto';\nimport { RoleService } from '@modules/role/service/role.service';\nimport { Injectable } from '@nestjs/common';\nimport { RoleName } from '@shared/domain/interface';\n\n@Injectable()\nexport class RoleUc {\n\tconstructor(private readonly roleService: RoleService) {}\n\n\tasync findByNames(names: RoleName[]): Promise {\n\t\tconst promise: Promise = this.roleService.findByNames(names);\n\t\treturn promise;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RoomBoardDTOFactory.html":{"url":"injectables/RoomBoardDTOFactory.html","title":"injectable - RoomBoardDTOFactory","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RoomBoardDTOFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n createDTO\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorisationService: AuthorizationService, roomsAuthorisationService: RoomsAuthorisationService)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:186\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorisationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n roomsAuthorisationService\n \n \n RoomsAuthorisationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n createDTO\n \n \n \n \n \n \ncreateDTO(undefined: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/room-board-dto.factory.ts:192\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n literal type\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RoomBoardDTO\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { Action, AuthorizationService } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport {\n\tBoard,\n\tBoardElement,\n\tBoardElementType,\n\tColumnBoardTarget,\n\tColumnboardBoardElement,\n\tCourse,\n\tLessonEntity,\n\tTask,\n\tTaskWithStatusVo,\n\tUser,\n} from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { TaskStatus } from '@shared/domain/types';\nimport {\n\tColumnBoardMetaData,\n\tLessonMetaData,\n\tRoomBoardDTO,\n\tRoomBoardElementDTO,\n\tRoomBoardElementTypes,\n} from '../types/room-board.types';\nimport { RoomsAuthorisationService } from './rooms.authorisation.service';\n\nclass DtoCreator {\n\troom: Course;\n\n\tboard: Board;\n\n\tuser: User;\n\n\tauthorisationService: AuthorizationService;\n\n\troomsAuthorisationService: RoomsAuthorisationService;\n\n\tconstructor({\n\t\troom,\n\t\tboard,\n\t\tuser,\n\t\tauthorisationService,\n\t\troomsAuthorisationService,\n\t}: {\n\t\troom: Course;\n\t\tboard: Board;\n\t\tuser: User;\n\t\tauthorisationService: AuthorizationService;\n\t\troomsAuthorisationService: RoomsAuthorisationService;\n\t}) {\n\t\tthis.room = room;\n\t\tthis.board = board;\n\t\tthis.user = user;\n\t\tthis.authorisationService = authorisationService;\n\t\tthis.roomsAuthorisationService = roomsAuthorisationService;\n\t}\n\n\tmanufacture(): RoomBoardDTO {\n\t\tconst elements = this.board.getElements();\n\t\tconst filtered = this.filterByPermission(elements);\n\n\t\tconst mappedElements = this.mapToElementDTOs(filtered);\n\t\tconst dto = this.buildDTOWithElements(mappedElements);\n\t\treturn dto;\n\t}\n\n\tprivate filterByPermission(elements: BoardElement[]) {\n\t\tconst filtered = elements.filter((element) => {\n\t\t\tlet result = false;\n\t\t\tif (element.boardElementType === BoardElementType.Task) {\n\t\t\t\tresult = this.roomsAuthorisationService.hasTaskReadPermission(this.user, element.target as Task);\n\t\t\t}\n\n\t\t\tif (element.boardElementType === BoardElementType.Lesson) {\n\t\t\t\tresult = this.roomsAuthorisationService.hasLessonReadPermission(this.user, element.target as LessonEntity);\n\t\t\t}\n\n\t\t\tif (element instanceof ColumnboardBoardElement && this.isColumnBoardFeatureFlagActive()) {\n\t\t\t\tresult = this.authorisationService.hasPermission(this.user, this.room, {\n\t\t\t\t\taction: Action.read,\n\t\t\t\t\trequiredPermissions: [Permission.COURSE_VIEW],\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn result;\n\t\t});\n\t\treturn filtered;\n\t}\n\n\tprivate isColumnBoardFeatureFlagActive() {\n\t\tconst isActive = (Configuration.get('FEATURE_COLUMN_BOARD_ENABLED') as boolean) === true;\n\n\t\treturn isActive;\n\t}\n\n\tprivate isTeacher(): boolean {\n\t\tif (this.room.teachers.contains(this.user) || this.room.substitutionTeachers.contains(this.user)) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tprivate mapToElementDTOs(elements: BoardElement[]) {\n\t\tconst results: RoomBoardElementDTO[] = [];\n\t\telements.forEach((element) => {\n\t\t\tif (element.boardElementType === BoardElementType.Task) {\n\t\t\t\tconst mapped = this.mapTaskElement(element);\n\t\t\t\tresults.push(mapped);\n\t\t\t}\n\t\t\tif (element.boardElementType === BoardElementType.Lesson) {\n\t\t\t\tconst mapped = this.mapLessonElement(element);\n\t\t\t\tresults.push(mapped);\n\t\t\t}\n\t\t\tif (element.boardElementType === BoardElementType.ColumnBoard) {\n\t\t\t\tconst mapped = this.mapColumnBoardElement(element);\n\t\t\t\tresults.push(mapped);\n\t\t\t}\n\t\t});\n\t\treturn results;\n\t}\n\n\tprivate mapTaskElement(element: BoardElement): RoomBoardElementDTO {\n\t\tconst task = element.target as Task;\n\t\tconst status = this.createTaskStatus(task);\n\n\t\tconst content = new TaskWithStatusVo(task, status);\n\t\treturn { type: RoomBoardElementTypes.TASK, content };\n\t}\n\n\tprivate createTaskStatus(task: Task): TaskStatus {\n\t\tlet status: TaskStatus;\n\t\tif (this.isTeacher()) {\n\t\t\tstatus = task.createTeacherStatusForUser(this.user);\n\t\t} else {\n\t\t\tstatus = task.createStudentStatusForUser(this.user);\n\t\t}\n\t\treturn status;\n\t}\n\n\tprivate mapLessonElement(element: BoardElement): RoomBoardElementDTO {\n\t\tconst type = RoomBoardElementTypes.LESSON;\n\t\tconst lesson = element.target as LessonEntity;\n\t\tconst content: LessonMetaData = {\n\t\t\tid: lesson.id,\n\t\t\tname: lesson.name,\n\t\t\thidden: lesson.hidden,\n\t\t\tcreatedAt: lesson.createdAt,\n\t\t\tupdatedAt: lesson.updatedAt,\n\t\t\tcourseName: lesson.course.name,\n\t\t\tnumberOfPublishedTasks: lesson.getNumberOfPublishedTasks(),\n\t\t};\n\t\tif (this.isTeacher()) {\n\t\t\tcontent.numberOfDraftTasks = lesson.getNumberOfDraftTasks();\n\t\t\tcontent.numberOfPlannedTasks = lesson.getNumberOfPlannedTasks();\n\t\t}\n\t\treturn { type, content };\n\t}\n\n\tprivate mapColumnBoardElement(element: BoardElement): RoomBoardElementDTO {\n\t\tconst type = RoomBoardElementTypes.COLUMN_BOARD;\n\t\tconst columnBoardTarget = element.target as ColumnBoardTarget;\n\t\tconst content: ColumnBoardMetaData = {\n\t\t\tid: columnBoardTarget.id,\n\t\t\tcolumnBoardId: columnBoardTarget.columnBoardId,\n\t\t\ttitle: columnBoardTarget.title,\n\t\t\tcreatedAt: columnBoardTarget.createdAt,\n\t\t\tupdatedAt: columnBoardTarget.updatedAt,\n\t\t\tpublished: columnBoardTarget.published,\n\t\t};\n\n\t\treturn { type, content };\n\t}\n\n\tprivate buildDTOWithElements(elements: RoomBoardElementDTO[]): RoomBoardDTO {\n\t\tconst dto = {\n\t\t\troomId: this.room.id,\n\t\t\tdisplayColor: this.room.color,\n\t\t\ttitle: this.room.name,\n\t\t\telements,\n\t\t\tisArchived: this.room.isFinished(),\n\t\t};\n\t\treturn dto;\n\t}\n}\n\n@Injectable()\nexport class RoomBoardDTOFactory {\n\tconstructor(\n\t\tprivate readonly authorisationService: AuthorizationService,\n\t\tprivate readonly roomsAuthorisationService: RoomsAuthorisationService\n\t) {}\n\n\tcreateDTO({ room, board, user }: { room: Course; board: Board; user: User }): RoomBoardDTO {\n\t\tconst worker = new DtoCreator({\n\t\t\troom,\n\t\t\tboard,\n\t\t\tuser,\n\t\t\tauthorisationService: this.authorisationService,\n\t\t\troomsAuthorisationService: this.roomsAuthorisationService,\n\t\t});\n\t\tconst result = worker.manufacture();\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RoomBoardResponseMapper.html":{"url":"injectables/RoomBoardResponseMapper.html","title":"injectable - RoomBoardResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RoomBoardResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/mapper/room-board-response.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n mapBoardElements\n \n \n Private\n mapColumnBoard\n \n \n Private\n mapLesson\n \n \n Private\n mapTask\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n mapToResponse\n \n \n \n \n \n \nmapToResponse(board: RoomBoardDTO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/mapper/room-board-response.mapper.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n board\n \n RoomBoardDTO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SingleColumnBoardResponse\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n mapBoardElements\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/modules/learnroom/mapper/room-board-response.mapper.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n mapColumnBoard\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/modules/learnroom/mapper/room-board-response.mapper.ts:93\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n mapLesson\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/modules/learnroom/mapper/room-board-response.mapper.ts:73\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n mapTask\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/modules/learnroom/mapper/room-board-response.mapper.ts:47\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Course, TaskWithStatusVo } from '@shared/domain/entity';\nimport {\n\tBoardElementResponse,\n\tBoardLessonResponse,\n\tBoardTaskResponse,\n\tSingleColumnBoardResponse,\n} from '../controller/dto';\nimport { BoardColumnBoardResponse } from '../controller/dto/single-column-board/board-column-board.response';\nimport { ColumnBoardMetaData, LessonMetaData, RoomBoardDTO, RoomBoardElementTypes } from '../types';\nimport { BoardTaskStatusMapper } from './board-taskStatus.mapper';\n\n@Injectable()\nexport class RoomBoardResponseMapper {\n\tmapToResponse(board: RoomBoardDTO): SingleColumnBoardResponse {\n\t\tconst elements = this.mapBoardElements(board);\n\n\t\tconst mapped = new SingleColumnBoardResponse({\n\t\t\troomId: board.roomId,\n\t\t\ttitle: board.title,\n\t\t\tdisplayColor: board.displayColor,\n\t\t\telements,\n\t\t\tisArchived: board.isArchived,\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tprivate mapBoardElements = (board: RoomBoardDTO): BoardElementResponse[] => {\n\t\tconst elements: BoardElementResponse[] = [];\n\t\tboard.elements.forEach((element) => {\n\t\t\tif (element.type === RoomBoardElementTypes.TASK) {\n\t\t\t\telements.push(this.mapTask(element.content as TaskWithStatusVo));\n\t\t\t}\n\n\t\t\tif (element.type === RoomBoardElementTypes.LESSON) {\n\t\t\t\telements.push(this.mapLesson(element.content as LessonMetaData));\n\t\t\t}\n\n\t\t\tif (element.type === RoomBoardElementTypes.COLUMN_BOARD) {\n\t\t\t\telements.push(this.mapColumnBoard(element.content as ColumnBoardMetaData));\n\t\t\t}\n\t\t});\n\t\treturn elements;\n\t};\n\n\tprivate mapTask = (taskWithStatus: TaskWithStatusVo): BoardElementResponse => {\n\t\tconst { task: boardTask, status } = taskWithStatus;\n\t\tconst boardTaskDesc = boardTask.getParentData();\n\t\tconst boardTaskStatus = BoardTaskStatusMapper.mapToResponse(status);\n\n\t\tconst mappedTask = new BoardTaskResponse({\n\t\t\tid: boardTask.id,\n\t\t\tname: boardTask.name,\n\t\t\tcreatedAt: boardTask.createdAt,\n\t\t\tupdatedAt: boardTask.updatedAt,\n\t\t\tstatus: boardTaskStatus,\n\t\t});\n\n\t\tconst taskCourse = boardTask.course as Course;\n\t\tmappedTask.courseName = taskCourse.name;\n\t\tmappedTask.availableDate = boardTask.availableDate;\n\t\tmappedTask.dueDate = boardTask.dueDate;\n\t\tmappedTask.displayColor = boardTaskDesc.color;\n\t\tmappedTask.description = boardTask.description;\n\t\tconst boardElementResponse = new BoardElementResponse({\n\t\t\ttype: RoomBoardElementTypes.TASK,\n\t\t\tcontent: mappedTask,\n\t\t});\n\t\treturn boardElementResponse;\n\t};\n\n\tprivate mapLesson = (lesson: LessonMetaData): BoardElementResponse => {\n\t\tconst mappedLesson = new BoardLessonResponse({\n\t\t\tid: lesson.id,\n\t\t\tname: lesson.name,\n\t\t\thidden: lesson.hidden,\n\t\t\tcreatedAt: lesson.createdAt,\n\t\t\tupdatedAt: lesson.updatedAt,\n\t\t\tnumberOfPublishedTasks: lesson.numberOfPublishedTasks,\n\t\t\tnumberOfDraftTasks: lesson.numberOfDraftTasks,\n\t\t\tnumberOfPlannedTasks: lesson.numberOfPlannedTasks,\n\t\t\tcourseName: lesson.courseName,\n\t\t});\n\n\t\tconst boardElementResponse = new BoardElementResponse({\n\t\t\ttype: RoomBoardElementTypes.LESSON,\n\t\t\tcontent: mappedLesson,\n\t\t});\n\t\treturn boardElementResponse;\n\t};\n\n\tprivate mapColumnBoard = (columnBoardInfo: ColumnBoardMetaData): BoardElementResponse => {\n\t\tconst mappedColumnBoard = new BoardColumnBoardResponse({\n\t\t\tid: columnBoardInfo.id,\n\t\t\tcolumnBoardId: columnBoardInfo.columnBoardId,\n\t\t\ttitle: columnBoardInfo.title,\n\t\t\tpublished: columnBoardInfo.published,\n\t\t\tcreatedAt: columnBoardInfo.createdAt,\n\t\t\tupdatedAt: columnBoardInfo.updatedAt,\n\t\t});\n\n\t\tconst boardElementResponse = new BoardElementResponse({\n\t\t\ttype: RoomBoardElementTypes.COLUMN_BOARD,\n\t\t\tcontent: mappedColumnBoard,\n\t\t});\n\t\treturn boardElementResponse;\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RoomElementUrlParams.html":{"url":"classes/RoomElementUrlParams.html","title":"class - RoomElementUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RoomElementUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/room-element.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n elementId\n \n \n \n \n roomId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n elementId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the element within the room.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/room-element.url.params.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n roomId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the room.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/room-element.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class RoomElementUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the room.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\troomId!: string;\n\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the element within the room.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\telementId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RoomUrlParams.html":{"url":"classes/RoomUrlParams.html","title":"class - RoomUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RoomUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/room.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n roomId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n roomId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the room.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/room.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class RoomUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the room.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\troomId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RoomsAuthorisationService.html":{"url":"injectables/RoomsAuthorisationService.html","title":"injectable - RoomsAuthorisationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RoomsAuthorisationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n hasCourseReadPermission\n \n \n hasCourseWritePermission\n \n \n hasLessonReadPermission\n \n \n hasTaskReadPermission\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n hasCourseReadPermission\n \n \n \n \n \n \nhasCourseReadPermission(user: User, course: Course)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n course\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasCourseWritePermission\n \n \n \n \n \n \nhasCourseWritePermission(user: User, course: Course)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n course\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasLessonReadPermission\n \n \n \n \n \n \nhasLessonReadPermission(user: User, lesson: LessonEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n lesson\n \n LessonEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasTaskReadPermission\n \n \n \n \n \n \nhasTaskReadPermission(user: User, task: Task)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/rooms.authorisation.service.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n task\n \n Task\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, NotImplementedException } from '@nestjs/common';\nimport { Course, LessonEntity, Task, User } from '@shared/domain/entity';\n\nexport enum TaskParentPermission {\n\tread,\n\twrite,\n}\n\n@Injectable()\nexport class RoomsAuthorisationService {\n\thasCourseWritePermission(user: User, course: Course): boolean {\n\t\tconst hasPermission = course.substitutionTeachers.contains(user) || course.teachers.contains(user);\n\n\t\treturn hasPermission;\n\t}\n\n\thasCourseReadPermission(user: User, course: Course): boolean {\n\t\tconst hasPermission =\n\t\t\tcourse.students.contains(user) || course.substitutionTeachers.contains(user) || course.teachers.contains(user);\n\n\t\treturn hasPermission;\n\t}\n\n\thasTaskReadPermission(user: User, task: Task): boolean {\n\t\tconst isCreator = task.creator === user;\n\t\tlet hasCoursePermission = false;\n\n\t\tif (task.lesson) {\n\t\t\tthrow new NotImplementedException('rooms currenlty do not support tasks in lessons');\n\t\t}\n\n\t\tif (task.course) {\n\t\t\thasCoursePermission = this.hasCourseReadPermission(user, task.course);\n\n\t\t\tif (!task.isPublished()) {\n\t\t\t\thasCoursePermission = this.hasCourseWritePermission(user, task.course);\n\t\t\t}\n\t\t}\n\n\t\tconst hasPermission = isCreator || hasCoursePermission;\n\n\t\treturn hasPermission;\n\t}\n\n\thasLessonReadPermission(user: User, lesson: LessonEntity): boolean {\n\t\tlet hasCoursePermission = false;\n\t\thasCoursePermission = this.hasCourseReadPermission(user, lesson.course);\n\t\tif (lesson.hidden) {\n\t\t\thasCoursePermission = this.hasCourseWritePermission(user, lesson.course);\n\t\t}\n\n\t\treturn hasCoursePermission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/RoomsController.html":{"url":"controllers/RoomsController.html","title":"controller - RoomsController","body":"\n \n\n\n\n\n\n\n Controllers\n RoomsController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/rooms.controller.ts\n \n\n \n Prefix\n \n \n rooms\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n copyCourse\n \n \n \n \n Async\n copyLesson\n \n \n \n Async\n getRoomBoard\n \n \n \n Async\n patchElementVisibility\n \n \n \n Async\n patchOrderingOfElements\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n Async\n copyCourse\n \n \n \n \n \n \n \n copyCourse(currentUser: ICurrentUser, urlParams: RoomUrlParams)\n \n \n\n \n \n Decorators : \n \n @Post(':roomId/copy')@RequestTimeout(undefined.INCOMING_REQUEST_TIMEOUT_COPY_API)\n \n \n\n \n \n Defined in apps/server/src/modules/learnroom/controller/rooms.controller.ts:67\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n urlParams\n \n RoomUrlParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n copyLesson\n \n \n \n \n \n \n \n copyLesson(currentUser: ICurrentUser, urlParams: LessonUrlParams, params: LessonCopyApiParams)\n \n \n\n \n \n Decorators : \n \n @Post('lessons/:lessonId/copy')@RequestTimeout(undefined.INCOMING_REQUEST_TIMEOUT_COPY_API)\n \n \n\n \n \n Defined in apps/server/src/modules/learnroom/controller/rooms.controller.ts:78\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n urlParams\n \n LessonUrlParams\n \n\n \n No\n \n\n\n \n \n params\n \n LessonCopyApiParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getRoomBoard\n \n \n \n \n \n \n \n getRoomBoard(urlParams: RoomUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get(':roomId/board')\n \n \n\n \n \n Defined in apps/server/src/modules/learnroom/controller/rooms.controller.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n RoomUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n patchElementVisibility\n \n \n \n \n \n \n \n patchElementVisibility(urlParams: RoomElementUrlParams, params: PatchVisibilityParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Patch(':roomId/elements/:elementId/visibility')\n \n \n\n \n \n Defined in apps/server/src/modules/learnroom/controller/rooms.controller.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n RoomElementUrlParams\n \n\n \n No\n \n\n\n \n \n params\n \n PatchVisibilityParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n patchOrderingOfElements\n \n \n \n \n \n \n \n patchOrderingOfElements(urlParams: RoomUrlParams, params: PatchOrderParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Patch(':roomId/board/order')\n \n \n\n \n \n Defined in apps/server/src/modules/learnroom/controller/rooms.controller.ts:57\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n RoomUrlParams\n \n\n \n No\n \n\n\n \n \n params\n \n PatchOrderParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { CopyApiResponse, CopyMapper } from '@modules/copy-helper';\nimport { serverConfig } from '@modules/server/server.config';\nimport { Body, Controller, Get, Param, Patch, Post } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { RequestTimeout } from '@shared/common';\nimport { RoomBoardResponseMapper } from '../mapper/room-board-response.mapper';\nimport { CourseCopyUC } from '../uc/course-copy.uc';\nimport { LessonCopyUC } from '../uc/lesson-copy.uc';\nimport { RoomsUc } from '../uc/rooms.uc';\nimport {\n\tLessonCopyApiParams,\n\tLessonUrlParams,\n\tPatchOrderParams,\n\tPatchVisibilityParams,\n\tRoomElementUrlParams,\n\tRoomUrlParams,\n\tSingleColumnBoardResponse,\n} from './dto';\n\n@ApiTags('Rooms')\n@Authenticate('jwt')\n@Controller('rooms')\nexport class RoomsController {\n\tconstructor(\n\t\tprivate readonly roomsUc: RoomsUc,\n\t\tprivate readonly mapper: RoomBoardResponseMapper,\n\t\tprivate readonly courseCopyUc: CourseCopyUC,\n\t\tprivate readonly lessonCopyUc: LessonCopyUC\n\t) {}\n\n\t@Get(':roomId/board')\n\tasync getRoomBoard(\n\t\t@Param() urlParams: RoomUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst board = await this.roomsUc.getBoard(urlParams.roomId, currentUser.userId);\n\t\tconst mapped = this.mapper.mapToResponse(board);\n\t\treturn mapped;\n\t}\n\n\t@Patch(':roomId/elements/:elementId/visibility')\n\tasync patchElementVisibility(\n\t\t@Param() urlParams: RoomElementUrlParams,\n\t\t@Body() params: PatchVisibilityParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tawait this.roomsUc.updateVisibilityOfBoardElement(\n\t\t\turlParams.roomId,\n\t\t\turlParams.elementId,\n\t\t\tcurrentUser.userId,\n\t\t\tparams.visibility\n\t\t);\n\t}\n\n\t@Patch(':roomId/board/order')\n\tasync patchOrderingOfElements(\n\t\t@Param() urlParams: RoomUrlParams,\n\t\t@Body() params: PatchOrderParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tawait this.roomsUc.reorderBoardElements(urlParams.roomId, currentUser.userId, params.elements);\n\t}\n\n\t@Post(':roomId/copy')\n\t@RequestTimeout(serverConfig().INCOMING_REQUEST_TIMEOUT_COPY_API)\n\tasync copyCourse(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() urlParams: RoomUrlParams\n\t): Promise {\n\t\tconst copyStatus = await this.courseCopyUc.copyCourse(currentUser.userId, urlParams.roomId);\n\t\tconst dto = CopyMapper.mapToResponse(copyStatus);\n\t\treturn dto;\n\t}\n\n\t@Post('lessons/:lessonId/copy')\n\t@RequestTimeout(serverConfig().INCOMING_REQUEST_TIMEOUT_COPY_API)\n\tasync copyLesson(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() urlParams: LessonUrlParams,\n\t\t@Body() params: LessonCopyApiParams\n\t): Promise {\n\t\tconst copyStatus = await this.lessonCopyUc.copyLesson(\n\t\t\tcurrentUser.userId,\n\t\t\turlParams.lessonId,\n\t\t\tCopyMapper.mapLessonCopyToDomain(params, currentUser.userId)\n\t\t);\n\t\tconst dto = CopyMapper.mapToResponse(copyStatus);\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RoomsService.html":{"url":"injectables/RoomsService.html","title":"injectable - RoomsService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RoomsService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/service/rooms.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n handleColumnBoardIntegration\n \n \n Async\n updateBoard\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(taskService: TaskService, lessonService: LessonService, boardRepo: BoardRepo, columnBoardService: ColumnBoardService, columnBoardTargetService: ColumnBoardTargetService)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/service/rooms.service.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n taskService\n \n \n TaskService\n \n \n \n No\n \n \n \n \n lessonService\n \n \n LessonService\n \n \n \n No\n \n \n \n \n boardRepo\n \n \n BoardRepo\n \n \n \n No\n \n \n \n \n columnBoardService\n \n \n ColumnBoardService\n \n \n \n No\n \n \n \n \n columnBoardTargetService\n \n \n ColumnBoardTargetService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n handleColumnBoardIntegration\n \n \n \n \n \n \n \n handleColumnBoardIntegration(roomId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/rooms.service.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roomId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateBoard\n \n \n \n \n \n \n \n updateBoard(board: Board, roomId: EntityId, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/service/rooms.service.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n board\n \n Board\n \n\n \n No\n \n\n\n \n \n roomId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { ColumnBoardService } from '@modules/board';\nimport { LessonService } from '@modules/lesson';\nimport { TaskService } from '@modules/task';\nimport { Injectable } from '@nestjs/common';\nimport { BoardExternalReferenceType } from '@shared/domain/domainobject';\nimport { Board, ColumnBoardTarget } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { BoardRepo } from '@shared/repo';\nimport { ColumnBoardTargetService } from './column-board-target.service';\n\n@Injectable()\nexport class RoomsService {\n\tconstructor(\n\t\tprivate readonly taskService: TaskService,\n\t\tprivate readonly lessonService: LessonService,\n\t\tprivate readonly boardRepo: BoardRepo,\n\t\tprivate readonly columnBoardService: ColumnBoardService,\n\t\tprivate readonly columnBoardTargetService: ColumnBoardTargetService\n\t) {}\n\n\tasync updateBoard(board: Board, roomId: EntityId, userId: EntityId): Promise {\n\t\tconst [courseLessons] = await this.lessonService.findByCourseIds([roomId]);\n\t\tconst [courseTasks] = await this.taskService.findBySingleParent(userId, roomId);\n\n\t\tconst courseColumnBoardTargets = await this.handleColumnBoardIntegration(roomId);\n\n\t\tconst boardElementTargets = [...courseLessons, ...courseTasks, ...courseColumnBoardTargets];\n\n\t\tboard.syncBoardElementReferences(boardElementTargets);\n\n\t\tawait this.boardRepo.save(board);\n\t\treturn board;\n\t}\n\n\tprivate async handleColumnBoardIntegration(roomId: EntityId): Promise {\n\t\tlet courseColumnBoardTargets: ColumnBoardTarget[] = [];\n\n\t\tif ((Configuration.get('FEATURE_COLUMN_BOARD_ENABLED') as boolean) === true) {\n\t\t\tconst courseReference = {\n\t\t\t\ttype: BoardExternalReferenceType.Course,\n\t\t\t\tid: roomId,\n\t\t\t};\n\n\t\t\tconst columnBoardIds = await this.columnBoardService.findIdsByExternalReference(courseReference);\n\t\t\tif (columnBoardIds.length === 0) {\n\t\t\t\tconst columnBoard = await this.columnBoardService.createWelcomeColumnBoard(courseReference);\n\t\t\t\tcolumnBoardIds.push(columnBoard.id);\n\t\t\t}\n\n\t\t\tcourseColumnBoardTargets = await this.columnBoardTargetService.findOrCreateTargets(columnBoardIds);\n\t\t}\n\t\treturn courseColumnBoardTargets;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RoomsUc.html":{"url":"injectables/RoomsUc.html","title":"injectable - RoomsUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RoomsUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/uc/rooms.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getBoard\n \n \n Async\n reorderBoardElements\n \n \n Async\n updateVisibilityOfBoardElement\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(courseRepo: CourseRepo, userRepo: UserRepo, boardRepo: BoardRepo, factory: RoomBoardDTOFactory, authorisationService: RoomsAuthorisationService, roomsService: RoomsService)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/uc/rooms.uc.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseRepo\n \n \n CourseRepo\n \n \n \n No\n \n \n \n \n userRepo\n \n \n UserRepo\n \n \n \n No\n \n \n \n \n boardRepo\n \n \n BoardRepo\n \n \n \n No\n \n \n \n \n factory\n \n \n RoomBoardDTOFactory\n \n \n \n No\n \n \n \n \n authorisationService\n \n \n RoomsAuthorisationService\n \n \n \n No\n \n \n \n \n roomsService\n \n \n RoomsService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getBoard\n \n \n \n \n \n \n \n getBoard(roomId: EntityId, userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/rooms.uc.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roomId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n reorderBoardElements\n \n \n \n \n \n \n \n reorderBoardElements(roomId: EntityId, userId: EntityId, orderedList: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/rooms.uc.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roomId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n orderedList\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateVisibilityOfBoardElement\n \n \n \n \n \n \n \n updateVisibilityOfBoardElement(roomId: EntityId, elementId: EntityId, userId: EntityId, visibility: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/learnroom/uc/rooms.uc.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roomId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n elementId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n visibility\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ForbiddenException, Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { BoardRepo, CourseRepo, UserRepo } from '@shared/repo';\nimport { RoomsService } from '../service/rooms.service';\nimport { RoomBoardDTO } from '../types';\nimport { RoomBoardDTOFactory } from './room-board-dto.factory';\nimport { RoomsAuthorisationService } from './rooms.authorisation.service';\n\n@Injectable()\nexport class RoomsUc {\n\tconstructor(\n\t\tprivate readonly courseRepo: CourseRepo,\n\t\tprivate readonly userRepo: UserRepo,\n\t\tprivate readonly boardRepo: BoardRepo,\n\t\tprivate readonly factory: RoomBoardDTOFactory,\n\t\tprivate readonly authorisationService: RoomsAuthorisationService,\n\t\tprivate readonly roomsService: RoomsService\n\t) {}\n\n\tasync getBoard(roomId: EntityId, userId: EntityId): Promise {\n\t\tconst user = await this.userRepo.findById(userId, true);\n\t\tconst course = await this.courseRepo.findOne(roomId, userId);\n\t\tconst board = await this.boardRepo.findByCourseId(roomId);\n\n\t\tawait this.roomsService.updateBoard(board, roomId, userId);\n\n\t\tconst roomBoardDTO = this.factory.createDTO({ room: course, board, user });\n\t\treturn roomBoardDTO;\n\t}\n\n\tasync updateVisibilityOfBoardElement(\n\t\troomId: EntityId,\n\t\telementId: EntityId,\n\t\tuserId: EntityId,\n\t\tvisibility: boolean\n\t): Promise {\n\t\tconst user = await this.userRepo.findById(userId);\n\t\tconst course = await this.courseRepo.findOne(roomId, userId);\n\t\tif (!this.authorisationService.hasCourseWritePermission(user, course)) {\n\t\t\tthrow new ForbiddenException('you are not allowed to edit this');\n\t\t}\n\t\tconst board = await this.boardRepo.findByCourseId(course.id);\n\t\tconst element = board.getByTargetId(elementId);\n\t\tif (visibility) {\n\t\t\telement.publish();\n\t\t} else {\n\t\t\telement.unpublish();\n\t\t}\n\t\tawait this.boardRepo.save(board);\n\t}\n\n\tasync reorderBoardElements(roomId: EntityId, userId: EntityId, orderedList: EntityId[]): Promise {\n\t\tconst user = await this.userRepo.findById(userId);\n\t\tconst course = await this.courseRepo.findOne(roomId, userId);\n\t\tif (!this.authorisationService.hasCourseWritePermission(user, course)) {\n\t\t\tthrow new ForbiddenException('you are not allowed to edit this');\n\t\t}\n\t\tconst board = await this.boardRepo.findByCourseId(course.id);\n\t\tboard.reorderElements(orderedList);\n\t\tawait this.boardRepo.save(board);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/RpcMessage.html":{"url":"interfaces/RpcMessage.html","title":"interface - RpcMessage","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n RpcMessage\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/rabbitmq/rpc-message.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n error\n \n \n \n \n message\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n error\n \n \n \n \n \n \n \n \n error: IError\n\n \n \n\n\n \n \n Type : IError\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n message\n \n \n \n \n \n \n \n \n message: T\n\n \n \n\n\n \n \n Type : T\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface IError extends Error {\n\tstatus?: number;\n\tmessage: string;\n}\nexport interface RpcMessage {\n\tmessage: T;\n\terror?: IError;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/RpcMessageProducer.html":{"url":"classes/RpcMessageProducer.html","title":"class - RpcMessageProducer","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n RpcMessageProducer\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/rabbitmq/rpc-message-producer.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Protected\n checkError\n \n \n Protected\n createRequest\n \n \n Protected\n Async\n request\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(amqpConnection: AmqpConnection, exchange: string, timeout: number)\n \n \n \n \n Defined in apps/server/src/infra/rabbitmq/rpc-message-producer.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n amqpConnection\n \n \n AmqpConnection\n \n \n \n No\n \n \n \n \n exchange\n \n \n string\n \n \n \n No\n \n \n \n \n timeout\n \n \n number\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Protected\n checkError\n \n \n \n \n \n \n \n checkError(response: RpcMessage)\n \n \n\n\n \n \n Defined in apps/server/src/infra/rabbitmq/rpc-message-producer.ts:21\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n RpcMessage\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n createRequest\n \n \n \n \n \n \n \n createRequest(event: string, payload)\n \n \n\n\n \n \n Defined in apps/server/src/infra/rabbitmq/rpc-message-producer.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n event\n \n string\n \n\n \n No\n \n\n\n \n \n payload\n \n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : { exchange: string; routingKey: string; payload: unknown; timeout: number; }\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n request\n \n \n \n \n \n \n \n request(event: string, payload)\n \n \n\n\n \n \n Defined in apps/server/src/infra/rabbitmq/rpc-message-producer.ts:12\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n event\n \n string\n \n\n \n No\n \n\n\n \n \n payload\n \n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { AmqpConnection } from '@golevelup/nestjs-rabbitmq';\nimport { ErrorMapper } from './error.mapper';\nimport { RpcMessage } from './rpc-message';\n\nexport abstract class RpcMessageProducer {\n\tconstructor(\n\t\tprotected readonly amqpConnection: AmqpConnection,\n\t\tprotected readonly exchange: string,\n\t\tprotected readonly timeout: number\n\t) {}\n\n\tprotected async request(event: string, payload: unknown) {\n\t\tconst response = await this.amqpConnection.request>(this.createRequest(event, payload));\n\n\t\tthis.checkError(response);\n\t\treturn response.message;\n\t}\n\n\t// need to be fixed with https://ticketsystem.dbildungscloud.de/browse/BC-2984\n\t// mapRpcErrorResponseToDomainError should also removed with this ticket\n\tprotected checkError(response: RpcMessage) {\n\t\tconst { error } = response;\n\t\tif (error) {\n\t\t\tconst domainError = ErrorMapper.mapRpcErrorResponseToDomainError(error);\n\t\t\tthrow domainError;\n\t\t}\n\t}\n\n\tprotected createRequest(event: string, payload: unknown) {\n\t\treturn {\n\t\t\texchange: this.exchange,\n\t\t\troutingKey: event,\n\t\t\tpayload,\n\t\t\ttimeout: this.timeout,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/Rule.html":{"url":"interfaces/Rule.html","title":"interface - Rule","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n Rule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/type/rule.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n hasPermission\n \n \n \n \n isApplicable\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n hasPermission\n \n \n \n \n \n \nhasPermission(user: User, object: T, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/type/rule.interface.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n object\n \n T\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isApplicable\n \n \n \n \n \n \nisApplicable(user: User, object: T, context?: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/type/rule.interface.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n object\n \n T\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizableObject } from '@shared/domain/domain-object'; // fix import when it is avaible\nimport { BaseDO } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { AuthorizationContext } from './authorization-context.interface';\n\nexport interface Rule {\n\tisApplicable(user: User, object: T, context?: AuthorizationContext): boolean;\n\thasPermission(user: User, object: T, context: AuthorizationContext): boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/RuleManager.html":{"url":"injectables/RuleManager.html","title":"injectable - RuleManager","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n RuleManager\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/service/rule-manager.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n rules\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n matchSingleRule\n \n \n Public\n selectRule\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(courseRule: CourseRule, courseGroupRule: CourseGroupRule, lessonRule: LessonRule, legaySchoolRule: LegacySchoolRule, taskRule: TaskRule, userRule: UserRule, teamRule: TeamRule, submissionRule: SubmissionRule, schoolExternalToolRule: SchoolExternalToolRule, boardDoRule: BoardDoRule, contextExternalToolRule: ContextExternalToolRule, userLoginMigrationRule: UserLoginMigrationRule, groupRule: GroupRule, systemRule: SystemRule)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/service/rule-manager.ts:25\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseRule\n \n \n CourseRule\n \n \n \n No\n \n \n \n \n courseGroupRule\n \n \n CourseGroupRule\n \n \n \n No\n \n \n \n \n lessonRule\n \n \n LessonRule\n \n \n \n No\n \n \n \n \n legaySchoolRule\n \n \n LegacySchoolRule\n \n \n \n No\n \n \n \n \n taskRule\n \n \n TaskRule\n \n \n \n No\n \n \n \n \n userRule\n \n \n UserRule\n \n \n \n No\n \n \n \n \n teamRule\n \n \n TeamRule\n \n \n \n No\n \n \n \n \n submissionRule\n \n \n SubmissionRule\n \n \n \n No\n \n \n \n \n schoolExternalToolRule\n \n \n SchoolExternalToolRule\n \n \n \n No\n \n \n \n \n boardDoRule\n \n \n BoardDoRule\n \n \n \n No\n \n \n \n \n contextExternalToolRule\n \n \n ContextExternalToolRule\n \n \n \n No\n \n \n \n \n userLoginMigrationRule\n \n \n UserLoginMigrationRule\n \n \n \n No\n \n \n \n \n groupRule\n \n \n GroupRule\n \n \n \n No\n \n \n \n \n systemRule\n \n \n SystemRule\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n matchSingleRule\n \n \n \n \n \n \n \n matchSingleRule(rules: Rule[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/rule-manager.ts:68\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n rules\n \n Rule[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n selectRule\n \n \n \n \n \n \n \n selectRule(user: User, object: AuthorizableObject | BaseDO, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/service/rule-manager.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n object\n \n AuthorizableObject | BaseDO\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Rule\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n rules\n \n \n \n \n \n \n Type : Rule[]\n\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/service/rule-manager.ts:25\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable, InternalServerErrorException, NotImplementedException } from '@nestjs/common';\nimport { AuthorizableObject } from '@shared/domain/domain-object'; // fix import when it is avaible\nimport { BaseDO } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport {\n\tBoardDoRule,\n\tContextExternalToolRule,\n\tCourseGroupRule,\n\tCourseRule,\n\tGroupRule,\n\tLegacySchoolRule,\n\tLessonRule,\n\tSchoolExternalToolRule,\n\tSubmissionRule,\n\tSystemRule,\n\tTaskRule,\n\tTeamRule,\n\tUserLoginMigrationRule,\n\tUserRule,\n} from '../rules';\nimport type { AuthorizationContext, Rule } from '../type';\n\n@Injectable()\nexport class RuleManager {\n\tprivate readonly rules: Rule[];\n\n\tconstructor(\n\t\tprivate readonly courseRule: CourseRule,\n\t\tprivate readonly courseGroupRule: CourseGroupRule,\n\t\tprivate readonly lessonRule: LessonRule,\n\t\tprivate readonly legaySchoolRule: LegacySchoolRule,\n\t\tprivate readonly taskRule: TaskRule,\n\t\tprivate readonly userRule: UserRule,\n\t\tprivate readonly teamRule: TeamRule,\n\t\tprivate readonly submissionRule: SubmissionRule,\n\t\tprivate readonly schoolExternalToolRule: SchoolExternalToolRule,\n\t\tprivate readonly boardDoRule: BoardDoRule,\n\t\tprivate readonly contextExternalToolRule: ContextExternalToolRule,\n\t\tprivate readonly userLoginMigrationRule: UserLoginMigrationRule,\n\t\tprivate readonly groupRule: GroupRule,\n\t\tprivate readonly systemRule: SystemRule\n\t) {\n\t\tthis.rules = [\n\t\t\tthis.courseRule,\n\t\t\tthis.courseGroupRule,\n\t\t\tthis.lessonRule,\n\t\t\tthis.taskRule,\n\t\t\tthis.teamRule,\n\t\t\tthis.userRule,\n\t\t\tthis.legaySchoolRule,\n\t\t\tthis.submissionRule,\n\t\t\tthis.schoolExternalToolRule,\n\t\t\tthis.boardDoRule,\n\t\t\tthis.contextExternalToolRule,\n\t\t\tthis.userLoginMigrationRule,\n\t\t\tthis.groupRule,\n\t\t\tthis.systemRule,\n\t\t];\n\t}\n\n\tpublic selectRule(user: User, object: AuthorizableObject | BaseDO, context: AuthorizationContext): Rule {\n\t\tconst selectedRules = this.rules.filter((rule) => rule.isApplicable(user, object, context));\n\t\tconst rule = this.matchSingleRule(selectedRules);\n\n\t\treturn rule;\n\t}\n\n\tprivate matchSingleRule(rules: Rule[]) {\n\t\tif (rules.length === 0) {\n\t\t\tthrow new NotImplementedException();\n\t\t}\n\t\tif (rules.length > 1) {\n\t\t\tthrow new InternalServerErrorException('MULTIPLE_MATCHES_ARE_NOT_ALLOWED');\n\t\t}\n\t\treturn rules[0];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/S3ClientAdapter.html":{"url":"injectables/S3ClientAdapter.html","title":"injectable - S3ClientAdapter","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n S3ClientAdapter\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/s3-client/s3-client.adapter.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n deletedFolderName\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkStreamResponsive\n \n \n Public\n Async\n copy\n \n \n Public\n Async\n create\n \n \n Public\n Async\n createBucket\n \n \n Public\n Async\n delete\n \n \n Public\n Async\n deleteDirectory\n \n \n Public\n Async\n get\n \n \n Public\n Async\n head\n \n \n Public\n Async\n list\n \n \n Private\n Async\n listObjectKeysRecursive\n \n \n Public\n Async\n moveToTrash\n \n \n Public\n Async\n restore\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(client: S3Client, config: S3Config, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:23\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n client\n \n \n S3Client\n \n \n \n No\n \n \n \n \n config\n \n \n S3Config\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkStreamResponsive\n \n \n \n \n \n \n \n checkStreamResponsive(stream: Readable, context: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:292\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n stream\n \n Readable\n \n\n \n No\n \n\n\n \n \n context\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n copy\n \n \n \n \n \n \n \n copy(paths: CopyFiles[])\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:157\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n paths\n \n CopyFiles[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n create\n \n \n \n \n \n \n \n create(path: string, file: File)\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n path\n \n string\n \n\n \n No\n \n\n\n \n \n file\n \n File\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n createBucket\n \n \n \n \n \n \n \n createBucket()\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:34\n \n \n\n\n \n \n\n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n delete\n \n \n \n \n \n \n \n delete(paths: string[])\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:181\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n paths\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n deleteDirectory\n \n \n \n \n \n \n \n deleteDirectory(path: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:265\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n path\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n get\n \n \n \n \n \n \n \n get(path: string, bytesRange?: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n path\n \n string\n \n\n \n No\n \n\n\n \n \n bytesRange\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n head\n \n \n \n \n \n \n \n head(path: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:243\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n path\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n list\n \n \n \n \n \n \n \n list(params: ListFiles)\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:201\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n ListFiles\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n listObjectKeysRecursive\n \n \n \n \n \n \n \n listObjectKeysRecursive(params: ListFiles)\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:213\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n ListFiles\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n moveToTrash\n \n \n \n \n \n \n \n moveToTrash(paths: string[])\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:113\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n paths\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n restore\n \n \n \n \n \n \n \n restore(paths: string[])\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:136\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n paths\n \n string[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n deletedFolderName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : 'trash'\n \n \n \n \n Defined in apps/server/src/infra/s3-client/s3-client.adapter.ts:23\n \n \n\n\n \n \n\n\n \n\n\n \n import {\n\tCopyObjectCommand,\n\tCopyObjectCommandOutput,\n\tCreateBucketCommand,\n\tDeleteObjectsCommand,\n\tGetObjectCommand,\n\tHeadObjectCommand,\n\tHeadObjectCommandOutput,\n\tListObjectsV2Command,\n\tS3Client,\n\tServiceOutputTypes,\n} from '@aws-sdk/client-s3';\nimport { Upload } from '@aws-sdk/lib-storage';\nimport { Inject, Injectable, InternalServerErrorException, NotFoundException } from '@nestjs/common';\nimport { ErrorUtils } from '@src/core/error/utils';\nimport { LegacyLogger } from '@src/core/logger';\nimport { Readable } from 'stream';\nimport { S3_CLIENT, S3_CONFIG } from './constants';\nimport { CopyFiles, File, GetFile, ListFiles, ObjectKeysRecursive, S3Config } from './interface';\n\n@Injectable()\nexport class S3ClientAdapter {\n\tprivate deletedFolderName = 'trash';\n\n\tconstructor(\n\t\t@Inject(S3_CLIENT) readonly client: S3Client,\n\t\t@Inject(S3_CONFIG) readonly config: S3Config,\n\t\tprivate logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(S3ClientAdapter.name);\n\t}\n\n\t// is public but only used internally\n\tpublic async createBucket() {\n\t\ttry {\n\t\t\tthis.logger.debug({ action: 'create bucket', params: { bucket: this.config.bucket } });\n\n\t\t\tconst req = new CreateBucketCommand({ Bucket: this.config.bucket });\n\t\t\tawait this.client.send(req);\n\t\t} catch (err) {\n\t\t\tif (err instanceof Error) {\n\t\t\t\tthis.logger.error(`${err.message} \"${this.config.bucket}\"`);\n\t\t\t}\n\t\t\tthrow new InternalServerErrorException(\n\t\t\t\t'S3ClientAdapter:createBucket',\n\t\t\t\tErrorUtils.createHttpExceptionOptions(err)\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic async get(path: string, bytesRange?: string): Promise {\n\t\ttry {\n\t\t\tthis.logger.debug({ action: 'get', params: { path, bucket: this.config.bucket } });\n\n\t\t\tconst req = new GetObjectCommand({\n\t\t\t\tBucket: this.config.bucket,\n\t\t\t\tKey: path,\n\t\t\t\tRange: bytesRange,\n\t\t\t});\n\n\t\t\tconst data = await this.client.send(req);\n\t\t\tconst stream = data.Body as Readable;\n\n\t\t\tthis.checkStreamResponsive(stream, path);\n\n\t\t\treturn {\n\t\t\t\tdata: stream,\n\t\t\t\tcontentType: data.ContentType,\n\t\t\t\tcontentLength: data.ContentLength,\n\t\t\t\tcontentRange: data.ContentRange,\n\t\t\t\tetag: data.ETag,\n\t\t\t};\n\t\t} catch (err) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\tif (err?.Code === 'NoSuchKey') {\n\t\t\t\tthis.logger.warn(`could not find one of the files for deletion with id ${path}`);\n\t\t\t\tthrow new NotFoundException('NoSuchKey', ErrorUtils.createHttpExceptionOptions(err));\n\t\t\t} else {\n\t\t\t\tthrow new InternalServerErrorException('S3ClientAdapter:get', ErrorUtils.createHttpExceptionOptions(err));\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic async create(path: string, file: File): Promise {\n\t\ttry {\n\t\t\tthis.logger.debug({ action: 'create', params: { path, bucket: this.config.bucket } });\n\n\t\t\tconst req = {\n\t\t\t\tBody: file.data,\n\t\t\t\tBucket: this.config.bucket,\n\t\t\t\tKey: path,\n\t\t\t\tContentType: file.mimeType,\n\t\t\t};\n\t\t\tconst upload = new Upload({\n\t\t\t\tclient: this.client,\n\t\t\t\tparams: req,\n\t\t\t});\n\n\t\t\tconst commandOutput = await upload.done();\n\t\t\treturn commandOutput;\n\t\t} catch (err) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\tif (err?.Code === 'NoSuchBucket') {\n\t\t\t\tawait this.createBucket();\n\n\t\t\t\treturn await this.create(path, file);\n\t\t\t}\n\n\t\t\tthrow new InternalServerErrorException('S3ClientAdapter:create', ErrorUtils.createHttpExceptionOptions(err));\n\t\t}\n\t}\n\n\tpublic async moveToTrash(paths: string[]): Promise {\n\t\ttry {\n\t\t\tconst copyPaths = paths.map((path) => {\n\t\t\t\treturn { sourcePath: path, targetPath: `${this.deletedFolderName}/${path}` };\n\t\t\t});\n\n\t\t\tconst result = await this.copy(copyPaths);\n\n\t\t\t// try catch with rollback is not needed,\n\t\t\t// because the second copyRequest try override existing files in trash folder\n\t\t\tawait this.delete(paths);\n\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\tif (err?.cause?.name === 'NoSuchKey') {\n\t\t\t\tthis.logger.warn(`could not find one of the files for deletion with ids ${paths.join(',')}`);\n\t\t\t\treturn [];\n\t\t\t}\n\t\t\tthrow new InternalServerErrorException('S3ClientAdapter:delete', ErrorUtils.createHttpExceptionOptions(err));\n\t\t}\n\t}\n\n\tpublic async restore(paths: string[]): Promise {\n\t\ttry {\n\t\t\tthis.logger.debug({ action: 'restore', params: { paths, bucket: this.config.bucket } });\n\n\t\t\tconst copyPaths = paths.map((path) => {\n\t\t\t\treturn { sourcePath: `${this.deletedFolderName}/${path}`, targetPath: path };\n\t\t\t});\n\n\t\t\tconst result = await this.copy(copyPaths);\n\n\t\t\t// try catch with rollback is not needed,\n\t\t\t// because the second copyRequest try override existing files in trash folder\n\t\t\tconst deleteObjects = copyPaths.map((p) => p.sourcePath);\n\t\t\tawait this.delete(deleteObjects);\n\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthrow new InternalServerErrorException('S3ClientAdapter:restore', ErrorUtils.createHttpExceptionOptions(err));\n\t\t}\n\t}\n\n\tpublic async copy(paths: CopyFiles[]) {\n\t\ttry {\n\t\t\tthis.logger.debug({ action: 'copy', params: { paths, bucket: this.config.bucket } });\n\n\t\t\tconst copyRequests = paths.map(async (path) => {\n\t\t\t\tconst req = new CopyObjectCommand({\n\t\t\t\t\tBucket: this.config.bucket,\n\t\t\t\t\tCopySource: `${this.config.bucket}/${path.sourcePath}`,\n\t\t\t\t\tKey: `${path.targetPath}`,\n\t\t\t\t});\n\n\t\t\t\tconst data = await this.client.send(req);\n\n\t\t\t\treturn data;\n\t\t\t});\n\n\t\t\tconst result = await Promise.all(copyRequests);\n\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthrow new InternalServerErrorException('S3ClientAdapter:copy', ErrorUtils.createHttpExceptionOptions(err));\n\t\t}\n\t}\n\n\tpublic async delete(paths: string[]) {\n\t\ttry {\n\t\t\tthis.logger.debug({ action: 'delete', params: { paths, bucket: this.config.bucket } });\n\n\t\t\tconst pathObjects = paths.map((p) => {\n\t\t\t\treturn { Key: p };\n\t\t\t});\n\t\t\tconst req = new DeleteObjectsCommand({\n\t\t\t\tBucket: this.config.bucket,\n\t\t\t\tDelete: { Objects: pathObjects },\n\t\t\t});\n\n\t\t\tconst result = await this.client.send(req);\n\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthrow new InternalServerErrorException('S3ClientAdapter:delete', ErrorUtils.createHttpExceptionOptions(err));\n\t\t}\n\t}\n\n\tpublic async list(params: ListFiles): Promise {\n\t\ttry {\n\t\t\tthis.logger.debug({ action: 'list', params });\n\n\t\t\tconst result = await this.listObjectKeysRecursive(params);\n\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tthrow new NotFoundException(null, ErrorUtils.createHttpExceptionOptions(err, 'S3ClientAdapter:listDirectory'));\n\t\t}\n\t}\n\n\tprivate async listObjectKeysRecursive(params: ListFiles): Promise {\n\t\tconst { path, maxKeys, nextMarker } = params;\n\t\tlet files: string[] = params.files ? params.files : [];\n\t\tconst MaxKeys = maxKeys && maxKeys - files.length;\n\n\t\tconst req = new ListObjectsV2Command({\n\t\t\tBucket: this.config.bucket,\n\t\t\tPrefix: path,\n\t\t\tContinuationToken: nextMarker,\n\t\t\tMaxKeys,\n\t\t});\n\n\t\tconst data = await this.client.send(req);\n\n\t\tconst returnedFiles =\n\t\t\tdata?.Contents?.filter((o) => o.Key)\n\t\t\t\t.map((o) => o.Key as string) // Can not be undefined because of filter above\n\t\t\t\t.map((key) => key.substring(path.length)) ?? [];\n\n\t\tfiles = files.concat(returnedFiles);\n\n\t\tlet res: ObjectKeysRecursive = { path, maxKeys, nextMarker: data?.ContinuationToken, files };\n\n\t\tif (data?.IsTruncated && (!maxKeys || res.files.length {\n\t\ttry {\n\t\t\tthis.logger.debug({ action: 'head', params: { path, bucket: this.config.bucket } });\n\n\t\t\tconst req = new HeadObjectCommand({\n\t\t\t\tBucket: this.config.bucket,\n\t\t\t\tKey: path,\n\t\t\t});\n\n\t\t\tconst headResponse = await this.client.send(req);\n\n\t\t\treturn headResponse;\n\t\t} catch (err) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n\t\t\tif (err.message && err.message === 'NoSuchKey') {\n\t\t\t\tthis.logger.warn(`could not find the file for head with id ${path}`);\n\t\t\t\tthrow new NotFoundException(null, ErrorUtils.createHttpExceptionOptions(err, 'NoSuchKey'));\n\t\t\t}\n\t\t\tthrow new InternalServerErrorException(null, ErrorUtils.createHttpExceptionOptions(err, 'S3ClientAdapter:head'));\n\t\t}\n\t}\n\n\tpublic async deleteDirectory(path: string) {\n\t\ttry {\n\t\t\tthis.logger.debug({ action: 'deleteDirectory', params: { path, bucket: this.config.bucket } });\n\n\t\t\tconst req = new ListObjectsV2Command({\n\t\t\t\tBucket: this.config.bucket,\n\t\t\t\tPrefix: path,\n\t\t\t});\n\n\t\t\tconst data = await this.client.send(req);\n\n\t\t\tif (data.Contents?.length && data.Contents?.length > 0) {\n\t\t\t\tconst pathObjects = data.Contents.map((p) => p.Key);\n\n\t\t\t\tconst filteredPathObjects = pathObjects.filter((p): p is string => !!p);\n\n\t\t\t\tawait this.delete(filteredPathObjects);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tthrow new InternalServerErrorException(\n\t\t\t\t'S3ClientAdapter:deleteDirectory',\n\t\t\t\tErrorUtils.createHttpExceptionOptions(err)\n\t\t\t);\n\t\t}\n\t}\n\n\t/* istanbul ignore next */\n\tprivate checkStreamResponsive(stream: Readable, context: string) {\n\t\tlet timer: NodeJS.Timeout;\n\t\tconst refreshTimeout = () => {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n\t\t\tif (timer) clearTimeout(timer);\n\t\t\ttimer = setTimeout(() => {\n\t\t\t\tthis.logger.log(`Stream unresponsive: S3 object key ${context}`);\n\t\t\t\tstream.destroy();\n\t\t\t}, 60 * 1000);\n\t\t};\n\n\t\tstream.on('data', () => {\n\t\t\trefreshTimeout();\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/S3ClientModule.html":{"url":"modules/S3ClientModule.html","title":"module - S3ClientModule","body":"\n \n\n\n\n\n Modules\n S3ClientModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/infra/s3-client/s3-client.module.ts\n \n\n\n\n\n\n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n register\n \n \n \n \n \n \n \n register(configs: S3Config[])\n \n \n\n\n \n \n Defined in apps/server/src/infra/s3-client/s3-client.module.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n configs\n \n S3Config[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { S3Client } from '@aws-sdk/client-s3';\nimport { DynamicModule, Module } from '@nestjs/common';\nimport { LegacyLogger, LoggerModule } from '@src/core/logger';\nimport { S3Config } from './interface';\nimport { S3ClientAdapter } from './s3-client.adapter';\n\nconst createS3ClientAdapter = (config: S3Config, legacyLogger: LegacyLogger) => {\n\tconst { region, accessKeyId, secretAccessKey, endpoint } = config;\n\n\tconst s3Client = new S3Client({\n\t\tregion,\n\t\tcredentials: {\n\t\t\taccessKeyId,\n\t\t\tsecretAccessKey,\n\t\t},\n\t\tendpoint,\n\t\tforcePathStyle: true,\n\t\ttls: true,\n\t});\n\treturn new S3ClientAdapter(s3Client, config, legacyLogger);\n};\n\n@Module({})\nexport class S3ClientModule {\n\tstatic register(configs: S3Config[]): DynamicModule {\n\t\tconst providers = configs.flatMap((config) => [\n\t\t\t{\n\t\t\t\tprovide: config.connectionName,\n\t\t\t\tuseFactory: (logger: LegacyLogger) => createS3ClientAdapter(config, logger),\n\t\t\t\tinject: [LegacyLogger],\n\t\t\t},\n\t\t]);\n\n\t\treturn {\n\t\t\tmodule: S3ClientModule,\n\t\t\timports: [LoggerModule],\n\t\t\tproviders,\n\t\t\texports: providers,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/S3Config.html":{"url":"interfaces/S3Config.html","title":"interface - S3Config","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n S3Config\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/s3-client/interface/index.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n accessKeyId\n \n \n \n \n bucket\n \n \n \n \n connectionName\n \n \n \n \n endpoint\n \n \n \n \n region\n \n \n \n \n secretAccessKey\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n accessKeyId\n \n \n \n \n \n \n \n \n accessKeyId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n bucket\n \n \n \n \n \n \n \n \n bucket: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n connectionName\n \n \n \n \n \n \n \n \n connectionName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n endpoint\n \n \n \n \n \n \n \n \n endpoint: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n region\n \n \n \n \n \n \n \n \n region: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n secretAccessKey\n \n \n \n \n \n \n \n \n secretAccessKey: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Readable } from 'stream';\n\nexport interface S3Config {\n\tconnectionName: string;\n\tendpoint: string;\n\tregion: string;\n\tbucket: string;\n\taccessKeyId: string;\n\tsecretAccessKey: string;\n}\n\nexport interface GetFile {\n\tdata: Readable;\n\tetag?: string;\n\tcontentType?: string;\n\tcontentLength?: number;\n\tcontentRange?: string;\n}\n\nexport interface CopyFiles {\n\tsourcePath: string;\n\ttargetPath: string;\n}\n\nexport interface File {\n\tdata: Readable;\n\tmimeType: string;\n}\n\nexport interface ListFiles {\n\tpath: string;\n\tmaxKeys?: number;\n\tnextMarker?: string;\n\tfiles?: string[];\n}\n\nexport interface ObjectKeysRecursive {\n\tpath: string;\n\tmaxKeys: number | undefined;\n\tnextMarker: string | undefined;\n\tfiles: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/S3Config-1.html":{"url":"interfaces/S3Config-1.html","title":"interface - S3Config-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n S3Config\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/fwu-learning-contents/interface/config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n accessKeyId\n \n \n \n \n bucket\n \n \n \n \n endpoint\n \n \n \n \n region\n \n \n \n \n secretAccessKey\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n accessKeyId\n \n \n \n \n \n \n \n \n accessKeyId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n bucket\n \n \n \n \n \n \n \n \n bucket: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n endpoint\n \n \n \n \n \n \n \n \n endpoint: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n region\n \n \n \n \n \n \n \n \n region: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n secretAccessKey\n \n \n \n \n \n \n \n \n secretAccessKey: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface S3Config {\n\tendpoint: string;\n\tregion: string;\n\tbucket: string;\n\taccessKeyId: string;\n\tsecretAccessKey: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SanisAnschriftResponse.html":{"url":"classes/SanisAnschriftResponse.html","title":"class - SanisAnschriftResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SanisAnschriftResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/response/sanis-anschrift-response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n ort\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n ort\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-anschrift-response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsOptional, IsString } from 'class-validator';\n\nexport class SanisAnschriftResponse {\n\t@IsString()\n\t@IsOptional()\n\tort?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SanisGeburtResponse.html":{"url":"classes/SanisGeburtResponse.html","title":"class - SanisGeburtResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SanisGeburtResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/response/sanis-geburt-response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n datum\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n datum\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-geburt-response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsOptional, IsString } from 'class-validator';\n\nexport class SanisGeburtResponse {\n\t@IsOptional()\n\t@IsString()\n\tdatum?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SanisGruppeResponse.html":{"url":"classes/SanisGruppeResponse.html","title":"class - SanisGruppeResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SanisGruppeResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/response/sanis-gruppe-response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n bezeichnung\n \n \n \n id\n \n \n \n typ\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n bezeichnung\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-gruppe-response.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-gruppe-response.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n \n typ\n \n \n \n \n \n \n Type : SanisGroupType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(SanisGroupType)\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-gruppe-response.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsEnum, IsString } from 'class-validator';\nimport { SanisGroupType } from './sanis-group-type';\n\nexport class SanisGruppeResponse {\n\t@IsString()\n\tid!: string;\n\n\t@IsString()\n\tbezeichnung!: string;\n\n\t@IsEnum(SanisGroupType)\n\ttyp!: SanisGroupType;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SanisGruppenResponse.html":{"url":"classes/SanisGruppenResponse.html","title":"class - SanisGruppenResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SanisGruppenResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/response/sanis-gruppen-response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n gruppe\n \n \n \n \n \n gruppenzugehoerigkeit\n \n \n \n \n \n \n Optional\n sonstige_gruppenzugehoerige\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n gruppe\n \n \n \n \n \n \n Type : SanisGruppeResponse\n\n \n \n \n \n Decorators : \n \n \n @IsObject()@ValidateNested()@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-gruppen-response.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n gruppenzugehoerigkeit\n \n \n \n \n \n \n Type : SanisGruppenzugehoerigkeitResponse\n\n \n \n \n \n Decorators : \n \n \n @IsObject()@ValidateNested()@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-gruppen-response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n sonstige_gruppenzugehoerige\n \n \n \n \n \n \n Type : SanisSonstigeGruppenzugehoerigeResponse[]\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsArray()@ValidateNested({each: true})@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-gruppen-response.ts:22\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Type } from 'class-transformer';\nimport { IsArray, IsObject, IsOptional, ValidateNested } from 'class-validator';\nimport { SanisGruppeResponse } from './sanis-gruppe-response';\nimport { SanisGruppenzugehoerigkeitResponse } from './sanis-gruppenzugehoerigkeit-response';\nimport { SanisSonstigeGruppenzugehoerigeResponse } from './sanis-sonstige-gruppenzugehoerige-response';\n\nexport class SanisGruppenResponse {\n\t@IsObject()\n\t@ValidateNested()\n\t@Type(() => SanisGruppeResponse)\n\tgruppe!: SanisGruppeResponse;\n\n\t@IsObject()\n\t@ValidateNested()\n\t@Type(() => SanisGruppenzugehoerigkeitResponse)\n\tgruppenzugehoerigkeit!: SanisGruppenzugehoerigkeitResponse;\n\n\t@IsOptional()\n\t@IsArray()\n\t@ValidateNested({ each: true })\n\t@Type(() => SanisSonstigeGruppenzugehoerigeResponse)\n\tsonstige_gruppenzugehoerige?: SanisSonstigeGruppenzugehoerigeResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SanisGruppenzugehoerigkeitResponse.html":{"url":"classes/SanisGruppenzugehoerigkeitResponse.html","title":"class - SanisGruppenzugehoerigkeitResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SanisGruppenzugehoerigkeitResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/response/sanis-gruppenzugehoerigkeit-response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n rollen\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n rollen\n \n \n \n \n \n \n Type : SanisGroupRole[]\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsArray()@IsEnum(SanisGroupRole, {each: true})\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-gruppenzugehoerigkeit-response.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsArray, IsEnum, IsOptional } from 'class-validator';\nimport { SanisGroupRole } from './sanis-group-role';\n\nexport class SanisGruppenzugehoerigkeitResponse {\n\t@IsOptional()\n\t@IsArray()\n\t@IsEnum(SanisGroupRole, { each: true })\n\trollen?: SanisGroupRole[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SanisNameResponse.html":{"url":"classes/SanisNameResponse.html","title":"class - SanisNameResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SanisNameResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/response/sanis-name-response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n familienname\n \n \n \n vorname\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n familienname\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-name-response.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n \n vorname\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-name-response.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsString } from 'class-validator';\n\nexport class SanisNameResponse {\n\t@IsString()\n\tfamilienname!: string;\n\n\t@IsString()\n\tvorname!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SanisOrganisationResponse.html":{"url":"classes/SanisOrganisationResponse.html","title":"class - SanisOrganisationResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SanisOrganisationResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/response/sanis-organisation-response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n anschrift\n \n \n \n id\n \n \n \n kennung\n \n \n \n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n anschrift\n \n \n \n \n \n \n Type : SanisAnschriftResponse\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsObject()@ValidateNested()@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-organisation-response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-organisation-response.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n \n kennung\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-organisation-response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-organisation-response.ts:13\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Type } from 'class-transformer';\nimport { IsObject, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { SanisAnschriftResponse } from './sanis-anschrift-response';\n\nexport class SanisOrganisationResponse {\n\t@IsString()\n\tid!: string;\n\n\t@IsString()\n\tkennung!: string;\n\n\t@IsString()\n\tname!: string;\n\n\t@IsOptional()\n\t@IsObject()\n\t@ValidateNested()\n\t@Type(() => SanisAnschriftResponse)\n\tanschrift?: SanisAnschriftResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SanisPersonResponse.html":{"url":"classes/SanisPersonResponse.html","title":"class - SanisPersonResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SanisPersonResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/response/sanis-person-response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n geburt\n \n \n \n \n \n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n geburt\n \n \n \n \n \n \n Type : SanisGeburtResponse\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsObject()@ValidateNested()@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-person-response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : SanisNameResponse\n\n \n \n \n \n Decorators : \n \n \n @IsObject()@ValidateNested()@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-person-response.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Type } from 'class-transformer';\nimport { IsObject, IsOptional, ValidateNested } from 'class-validator';\nimport { SanisGeburtResponse } from './sanis-geburt-response';\nimport { SanisNameResponse } from './sanis-name-response';\n\nexport class SanisPersonResponse {\n\t@IsObject()\n\t@ValidateNested()\n\t@Type(() => SanisNameResponse)\n\tname!: SanisNameResponse;\n\n\t@IsOptional()\n\t@IsObject()\n\t@ValidateNested()\n\t@Type(() => SanisGeburtResponse)\n\tgeburt?: SanisGeburtResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SanisPersonenkontextResponse.html":{"url":"classes/SanisPersonenkontextResponse.html","title":"class - SanisPersonenkontextResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SanisPersonenkontextResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/response/sanis-personenkontext-response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n gruppen\n \n \n \n id\n \n \n \n \n \n organisation\n \n \n \n rolle\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n gruppen\n \n \n \n \n \n \n Type : SanisGruppenResponse[]\n\n \n \n \n \n Decorators : \n \n \n @IsOptional({groups: undefined})@IsArray({groups: undefined})@ValidateNested({each: true, groups: undefined})@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-personenkontext-response.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString({groups: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-personenkontext-response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n organisation\n \n \n \n \n \n \n Type : SanisOrganisationResponse\n\n \n \n \n \n Decorators : \n \n \n @IsObject({groups: undefined})@ValidateNested({groups: undefined})@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-personenkontext-response.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n rolle\n \n \n \n \n \n \n Type : SanisRole\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(SanisRole, {groups: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-personenkontext-response.ts:13\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Type } from 'class-transformer';\nimport { IsArray, IsEnum, IsObject, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { SanisGruppenResponse } from './sanis-gruppen-response';\nimport { SanisOrganisationResponse } from './sanis-organisation-response';\nimport { SanisResponseValidationGroups } from './sanis-response-validation-groups';\nimport { SanisRole } from './sanis-role';\n\nexport class SanisPersonenkontextResponse {\n\t@IsString({ groups: [SanisResponseValidationGroups.USER, SanisResponseValidationGroups.GROUPS] })\n\tid!: string;\n\n\t@IsEnum(SanisRole, { groups: [SanisResponseValidationGroups.USER] })\n\trolle!: SanisRole;\n\n\t@IsObject({ groups: [SanisResponseValidationGroups.SCHOOL] })\n\t@ValidateNested({ groups: [SanisResponseValidationGroups.SCHOOL] })\n\t@Type(() => SanisOrganisationResponse)\n\torganisation!: SanisOrganisationResponse;\n\n\t@IsOptional({ groups: [SanisResponseValidationGroups.GROUPS] })\n\t@IsArray({ groups: [SanisResponseValidationGroups.GROUPS] })\n\t@ValidateNested({ each: true, groups: [SanisResponseValidationGroups.GROUPS] })\n\t@Type(() => SanisGruppenResponse)\n\tgruppen?: SanisGruppenResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SanisProvisioningStrategy.html":{"url":"injectables/SanisProvisioningStrategy.html","title":"injectable - SanisProvisioningStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SanisProvisioningStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts\n \n\n\n\n \n Extends\n \n \n OidcProvisioningStrategy\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n addTeacherRoleIfAdmin\n \n \n Private\n Async\n checkResponseValidation\n \n \n \n Async\n getData\n \n \n getType\n \n \n Private\n isObjectEmpty\n \n \n Private\n removeEmptyObjectsFromResponse\n \n \n \n Async\n apply\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(responseMapper: SanisResponseMapper, httpService: HttpService, oidcProvisioningService: OidcProvisioningService)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts:24\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n responseMapper\n \n \n SanisResponseMapper\n \n \n \n No\n \n \n \n \n httpService\n \n \n HttpService\n \n \n \n No\n \n \n \n \n oidcProvisioningService\n \n \n OidcProvisioningService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n addTeacherRoleIfAdmin\n \n \n \n \n \n \n \n addTeacherRoleIfAdmin(externalUser: ExternalUserDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts:129\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalUser\n \n ExternalUserDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n checkResponseValidation\n \n \n \n \n \n \n \n checkResponseValidation(response: SanisResponse, groups: SanisResponseValidationGroups[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts:117\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n SanisResponse\n \n\n \n No\n \n\n\n \n \n groups\n \n SanisResponseValidationGroups[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getData\n \n \n \n \n \n \n \n getData(input: OauthDataStrategyInputDto)\n \n \n\n\n \n \n Inherited from ProvisioningStrategy\n\n \n \n \n \n Defined in ProvisioningStrategy:37\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n input\n \n OauthDataStrategyInputDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getType\n \n \n \n \n \n \ngetType()\n \n \n\n\n \n \n Inherited from ProvisioningStrategy\n\n \n \n \n \n Defined in ProvisioningStrategy:33\n\n \n \n\n\n \n \n\n \n Returns : SystemProvisioningStrategy\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n isObjectEmpty\n \n \n \n \n \n \n \n isObjectEmpty(obj)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts:113\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n obj\n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeEmptyObjectsFromResponse\n \n \n \n \n \n \n \n removeEmptyObjectsFromResponse(response: SanisResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/sanis.strategy.ts:87\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n SanisResponse\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SanisResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n apply\n \n \n \n \n \n \n \n apply(data: OauthDataDto)\n \n \n\n\n \n \n Inherited from ProvisioningStrategy\n\n \n \n \n \n Defined in ProvisioningStrategy:14\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n OauthDataDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { HttpService } from '@nestjs/axios';\nimport { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { ValidationErrorLoggableException } from '@shared/common/loggable-exception';\nimport { RoleName } from '@shared/domain/interface';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { AxiosRequestConfig, AxiosResponse } from 'axios';\nimport { plainToClass } from 'class-transformer';\nimport { validate, ValidationError } from 'class-validator';\nimport { firstValueFrom } from 'rxjs';\nimport {\n\tExternalGroupDto,\n\tExternalSchoolDto,\n\tExternalUserDto,\n\tOauthDataDto,\n\tOauthDataStrategyInputDto,\n} from '../../dto';\nimport { OidcProvisioningStrategy } from '../oidc/oidc.strategy';\nimport { OidcProvisioningService } from '../oidc/service/oidc-provisioning.service';\nimport { SanisGruppenResponse, SanisResponse, SanisResponseValidationGroups } from './response';\nimport { SanisResponseMapper } from './sanis-response.mapper';\n\n@Injectable()\nexport class SanisProvisioningStrategy extends OidcProvisioningStrategy {\n\tconstructor(\n\t\tprivate readonly responseMapper: SanisResponseMapper,\n\t\tprivate readonly httpService: HttpService,\n\t\tprotected readonly oidcProvisioningService: OidcProvisioningService\n\t) {\n\t\tsuper(oidcProvisioningService);\n\t}\n\n\tgetType(): SystemProvisioningStrategy {\n\t\treturn SystemProvisioningStrategy.SANIS;\n\t}\n\n\toverride async getData(input: OauthDataStrategyInputDto): Promise {\n\t\tif (!input.system.provisioningUrl) {\n\t\t\tthrow new InternalServerErrorException(\n\t\t\t\t`Sanis system with id: ${input.system.systemId} is missing a provisioning url`\n\t\t\t);\n\t\t}\n\n\t\tconst axiosConfig: AxiosRequestConfig = {\n\t\t\theaders: {\n\t\t\t\tAuthorization: `Bearer ${input.accessToken}`,\n\t\t\t\t'Accept-Encoding': 'gzip',\n\t\t\t},\n\t\t};\n\n\t\tconst axiosResponse: AxiosResponse = await firstValueFrom(\n\t\t\tthis.httpService.get(input.system.provisioningUrl, axiosConfig)\n\t\t);\n\n\t\tconst fixedData: SanisResponse = this.removeEmptyObjectsFromResponse(axiosResponse.data);\n\n\t\tconst response: SanisResponse = plainToClass(SanisResponse, fixedData);\n\n\t\tawait this.checkResponseValidation(response, [\n\t\t\tSanisResponseValidationGroups.USER,\n\t\t\tSanisResponseValidationGroups.SCHOOL,\n\t\t]);\n\n\t\tconst externalUser: ExternalUserDto = this.responseMapper.mapToExternalUserDto(axiosResponse.data);\n\t\tthis.addTeacherRoleIfAdmin(externalUser);\n\n\t\tconst externalSchool: ExternalSchoolDto = this.responseMapper.mapToExternalSchoolDto(axiosResponse.data);\n\n\t\tlet externalGroups: ExternalGroupDto[] | undefined;\n\t\tif (Configuration.get('FEATURE_SANIS_GROUP_PROVISIONING_ENABLED')) {\n\t\t\tawait this.checkResponseValidation(response, [SanisResponseValidationGroups.GROUPS]);\n\n\t\t\texternalGroups = this.responseMapper.mapToExternalGroupDtos(axiosResponse.data);\n\t\t}\n\n\t\tconst oauthData: OauthDataDto = new OauthDataDto({\n\t\t\tsystem: input.system,\n\t\t\texternalSchool,\n\t\t\texternalUser,\n\t\t\texternalGroups,\n\t\t});\n\n\t\treturn oauthData;\n\t}\n\n\t// This is a temporary fix to a problem with moin.schule and should be resolved after 12.12.23\n\tprivate removeEmptyObjectsFromResponse(response: SanisResponse): SanisResponse {\n\t\tconst fixedResponse: SanisResponse = { ...response };\n\n\t\tif (fixedResponse?.personenkontexte?.length && fixedResponse.personenkontexte[0].gruppen) {\n\t\t\tconst groups: SanisGruppenResponse[] = fixedResponse.personenkontexte[0].gruppen;\n\n\t\t\tfor (const group of groups) {\n\t\t\t\tgroup.sonstige_gruppenzugehoerige = group.sonstige_gruppenzugehoerige?.filter(\n\t\t\t\t\t(relation) => !this.isObjectEmpty(relation)\n\t\t\t\t);\n\n\t\t\t\tif (!group.sonstige_gruppenzugehoerige?.length) {\n\t\t\t\t\tgroup.sonstige_gruppenzugehoerige = undefined;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfixedResponse.personenkontexte[0].gruppen = groups.filter((group) => !this.isObjectEmpty(group));\n\n\t\t\tif (!fixedResponse.personenkontexte[0].gruppen.length) {\n\t\t\t\tfixedResponse.personenkontexte[0].gruppen = undefined;\n\t\t\t}\n\t\t}\n\n\t\treturn fixedResponse;\n\t}\n\n\tprivate isObjectEmpty(obj: unknown): boolean {\n\t\treturn typeof obj === 'object' && !!obj && !Object.keys(obj).some((key) => obj[key] !== undefined);\n\t}\n\n\tprivate async checkResponseValidation(response: SanisResponse, groups: SanisResponseValidationGroups[]) {\n\t\tconst validationErrors: ValidationError[] = await validate(response, {\n\t\t\talways: true,\n\t\t\tforbidUnknownValues: false,\n\t\t\tgroups,\n\t\t});\n\n\t\tif (validationErrors.length) {\n\t\t\tthrow new ValidationErrorLoggableException(validationErrors);\n\t\t}\n\t}\n\n\tprivate addTeacherRoleIfAdmin(externalUser: ExternalUserDto): void {\n\t\tif (externalUser.roles && externalUser.roles.includes(RoleName.ADMINISTRATOR)) {\n\t\t\texternalUser.roles.push(RoleName.TEACHER);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SanisResponse.html":{"url":"classes/SanisResponse.html","title":"class - SanisResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SanisResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/response/sanis.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n person\n \n \n \n \n \n \n personenkontexte\n \n \n \n pid\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n person\n \n \n \n \n \n \n Type : SanisPersonResponse\n\n \n \n \n \n Decorators : \n \n \n @IsObject({groups: undefined})@ValidateNested({groups: undefined})@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n personenkontexte\n \n \n \n \n \n \n Type : SanisPersonenkontextResponse[]\n\n \n \n \n \n Decorators : \n \n \n @IsArray()@ArrayMinSize(1)@ValidateNested({each: true})@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis.response.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n pid\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString({groups: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis.response.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Type } from 'class-transformer';\nimport { ArrayMinSize, IsArray, IsObject, IsString, ValidateNested } from 'class-validator';\nimport { SanisPersonResponse } from './sanis-person-response';\nimport { SanisPersonenkontextResponse } from './sanis-personenkontext-response';\nimport { SanisResponseValidationGroups } from './sanis-response-validation-groups';\n\nexport class SanisResponse {\n\t@IsString({ groups: [SanisResponseValidationGroups.USER] })\n\tpid!: string;\n\n\t@IsObject({ groups: [SanisResponseValidationGroups.USER] })\n\t@ValidateNested({ groups: [SanisResponseValidationGroups.USER] })\n\t@Type(() => SanisPersonResponse)\n\tperson!: SanisPersonResponse;\n\n\t@IsArray()\n\t@ArrayMinSize(1)\n\t@ValidateNested({ each: true })\n\t@Type(() => SanisPersonenkontextResponse)\n\tpersonenkontexte!: SanisPersonenkontextResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SanisResponseMapper.html":{"url":"injectables/SanisResponseMapper.html","title":"injectable - SanisResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SanisResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/sanis-response.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n SCHOOLNUMBER_PREFIX_REGEX\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n mapExternalGroup\n \n \n Private\n mapSanisRoleToRoleName\n \n \n Public\n mapToExternalGroupDtos\n \n \n Private\n mapToExternalGroupUser\n \n \n mapToExternalSchoolDto\n \n \n mapToExternalUserDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: Logger)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/sanis-response.mapper.ts:34\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n mapExternalGroup\n \n \n \n \n \n \n \n mapExternalGroup(source: SanisResponse, group: SanisGruppenResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/sanis-response.mapper.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n source\n \n SanisResponse\n \n\n \n No\n \n\n\n \n \n group\n \n SanisGruppenResponse\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalGroupDto | null\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapSanisRoleToRoleName\n \n \n \n \n \n \n \n mapSanisRoleToRoleName(source: SanisResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/sanis-response.mapper.ts:66\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n source\n \n SanisResponse\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : RoleName\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n mapToExternalGroupDtos\n \n \n \n \n \n \n \n mapToExternalGroupDtos(source: SanisResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/sanis-response.mapper.ts:70\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n source\n \n SanisResponse\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : [] | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapToExternalGroupUser\n \n \n \n \n \n \n \n mapToExternalGroupUser(relation: SanisSonstigeGruppenzugehoerigeResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/sanis-response.mapper.ts:118\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n relation\n \n SanisSonstigeGruppenzugehoerigeResponse\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalGroupUserDto | null\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapToExternalSchoolDto\n \n \n \n \n \n \nmapToExternalSchoolDto(source: SanisResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/sanis-response.mapper.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n source\n \n SanisResponse\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalSchoolDto\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapToExternalUserDto\n \n \n \n \n \n \nmapToExternalUserDto(source: SanisResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/sanis-response.mapper.ts:54\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n source\n \n SanisResponse\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ExternalUserDto\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n SCHOOLNUMBER_PREFIX_REGEX\n \n \n \n \n \n \n Default value : /^NI_/\n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/sanis-response.mapper.ts:34\n \n \n\n\n \n \n\n\n \n\n\n \n import { GroupTypes } from '@modules/group';\nimport { Injectable } from '@nestjs/common';\nimport { RoleName } from '@shared/domain/interface';\nimport { Logger } from '@src/core/logger';\nimport { ExternalGroupDto, ExternalGroupUserDto, ExternalSchoolDto, ExternalUserDto } from '../../dto';\nimport { GroupRoleUnknownLoggable } from '../../loggable';\nimport {\n\tSanisGroupRole,\n\tSanisGroupType,\n\tSanisGruppenResponse,\n\tSanisResponse,\n\tSanisRole,\n\tSanisSonstigeGruppenzugehoerigeResponse,\n} from './response';\n\nconst RoleMapping: Record = {\n\t[SanisRole.LEHR]: RoleName.TEACHER,\n\t[SanisRole.LERN]: RoleName.STUDENT,\n\t[SanisRole.LEIT]: RoleName.ADMINISTRATOR,\n\t[SanisRole.ORGADMIN]: RoleName.ADMINISTRATOR,\n};\n\nconst GroupRoleMapping: Partial> = {\n\t[SanisGroupRole.TEACHER]: RoleName.TEACHER,\n\t[SanisGroupRole.STUDENT]: RoleName.STUDENT,\n};\n\nconst GroupTypeMapping: Partial> = {\n\t[SanisGroupType.CLASS]: GroupTypes.CLASS,\n};\n\n@Injectable()\nexport class SanisResponseMapper {\n\tSCHOOLNUMBER_PREFIX_REGEX = /^NI_/;\n\n\tconstructor(private readonly logger: Logger) {}\n\n\tmapToExternalSchoolDto(source: SanisResponse): ExternalSchoolDto {\n\t\tconst officialSchoolNumber: string = source.personenkontexte[0].organisation.kennung.replace(\n\t\t\tthis.SCHOOLNUMBER_PREFIX_REGEX,\n\t\t\t''\n\t\t);\n\n\t\tconst mapped = new ExternalSchoolDto({\n\t\t\tname: source.personenkontexte[0].organisation.name,\n\t\t\texternalId: source.personenkontexte[0].organisation.id.toString(),\n\t\t\tofficialSchoolNumber,\n\t\t\tlocation: source.personenkontexte[0].organisation.anschrift?.ort,\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tmapToExternalUserDto(source: SanisResponse): ExternalUserDto {\n\t\tconst mapped = new ExternalUserDto({\n\t\t\tfirstName: source.person.name.vorname,\n\t\t\tlastName: source.person.name.familienname,\n\t\t\troles: [this.mapSanisRoleToRoleName(source)],\n\t\t\texternalId: source.pid,\n\t\t\tbirthday: source.person.geburt?.datum ? new Date(source.person.geburt?.datum) : undefined,\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tprivate mapSanisRoleToRoleName(source: SanisResponse): RoleName {\n\t\treturn RoleMapping[source.personenkontexte[0].rolle];\n\t}\n\n\tpublic mapToExternalGroupDtos(source: SanisResponse): ExternalGroupDto[] | undefined {\n\t\tconst groups: SanisGruppenResponse[] | undefined = source.personenkontexte[0].gruppen;\n\n\t\tif (!groups) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst mapped: ExternalGroupDto[] = groups\n\t\t\t.map((group) => this.mapExternalGroup(source, group))\n\t\t\t.filter((group): group is ExternalGroupDto => group !== null);\n\n\t\treturn mapped;\n\t}\n\n\tprivate mapExternalGroup(source: SanisResponse, group: SanisGruppenResponse): ExternalGroupDto | null {\n\t\tconst groupType: GroupTypes | undefined = GroupTypeMapping[group.gruppe.typ];\n\n\t\tif (!groupType) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst user: ExternalGroupUserDto | null = this.mapToExternalGroupUser({\n\t\t\tktid: source.personenkontexte[0].id,\n\t\t\trollen: group.gruppenzugehoerigkeit.rollen,\n\t\t});\n\n\t\tif (!user) {\n\t\t\treturn null;\n\t\t}\n\n\t\tlet otherUsers: ExternalGroupUserDto[] | undefined;\n\t\tif (group.sonstige_gruppenzugehoerige) {\n\t\t\totherUsers = group.sonstige_gruppenzugehoerige\n\t\t\t\t.map((relation: SanisSonstigeGruppenzugehoerigeResponse): ExternalGroupUserDto | null =>\n\t\t\t\t\tthis.mapToExternalGroupUser(relation)\n\t\t\t\t)\n\t\t\t\t.filter((otherUser: ExternalGroupUserDto | null): otherUser is ExternalGroupUserDto => otherUser !== null);\n\t\t}\n\n\t\treturn new ExternalGroupDto({\n\t\t\tname: group.gruppe.bezeichnung,\n\t\t\ttype: groupType,\n\t\t\texternalId: group.gruppe.id,\n\t\t\tuser,\n\t\t\totherUsers,\n\t\t});\n\t}\n\n\tprivate mapToExternalGroupUser(relation: SanisSonstigeGruppenzugehoerigeResponse): ExternalGroupUserDto | null {\n\t\tif (!relation.rollen?.length) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst userRole: RoleName | undefined = GroupRoleMapping[relation.rollen[0]];\n\n\t\tif (!userRole) {\n\t\t\tthis.logger.info(new GroupRoleUnknownLoggable(relation));\n\t\t\treturn null;\n\t\t}\n\n\t\tconst mapped = new ExternalGroupUserDto({\n\t\t\troleName: userRole,\n\t\t\texternalUserId: relation.ktid,\n\t\t});\n\n\t\treturn mapped;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SanisSonstigeGruppenzugehoerigeResponse.html":{"url":"classes/SanisSonstigeGruppenzugehoerigeResponse.html","title":"class - SanisSonstigeGruppenzugehoerigeResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SanisSonstigeGruppenzugehoerigeResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/strategy/sanis/response/sanis-sonstige-gruppenzugehoerige-response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n ktid\n \n \n \n \n \n Optional\n rollen\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n ktid\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-sonstige-gruppenzugehoerige-response.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n rollen\n \n \n \n \n \n \n Type : SanisGroupRole[]\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsArray()@IsEnum(SanisGroupRole, {each: true})\n \n \n \n \n \n Defined in apps/server/src/modules/provisioning/strategy/sanis/response/sanis-sonstige-gruppenzugehoerige-response.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsArray, IsEnum, IsOptional, IsString } from 'class-validator';\nimport { SanisGroupRole } from './sanis-group-role';\n\nexport class SanisSonstigeGruppenzugehoerigeResponse {\n\t@IsString()\n\tktid!: string;\n\n\t@IsOptional()\n\t@IsArray()\n\t@IsEnum(SanisGroupRole, { each: true })\n\trollen?: SanisGroupRole[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SaveH5PEditorParams.html":{"url":"classes/SaveH5PEditorParams.html","title":"class - SaveH5PEditorParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SaveH5PEditorParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contentId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contentId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/controller/dto/h5p-editor.params.ts:40\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IContentMetadata } from '@lumieducation/h5p-server';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\n\nimport { LanguageType } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { IsEnum, IsMongoId, IsNotEmpty, IsObject, IsOptional, IsString } from 'class-validator';\nimport { H5PContentParentType } from '../../entity';\n\nexport class GetH5PContentParams {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\t@IsOptional()\n\tlanguage?: LanguageType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class GetH5PEditorParamsCreate {\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class GetH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty({ enum: LanguageType, enumName: 'LanguageType' })\n\t@IsEnum(LanguageType)\n\tlanguage!: LanguageType;\n}\n\nexport class SaveH5PEditorParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n}\n\nexport class PostH5PContentParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tcontentId!: string;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tparams!: unknown;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\tmetadata!: IContentMetadata;\n\n\t@ApiProperty()\n\t@IsString()\n\t@SanitizeHtml()\n\t@IsNotEmpty()\n\tmainLibraryUbername!: string;\n}\n\nexport class PostH5PContentCreateParams {\n\t@ApiProperty({ enum: H5PContentParentType, enumName: 'H5PContentParentType' })\n\t@IsEnum(H5PContentParentType)\n\tparentType!: H5PContentParentType;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty()\n\t@IsNotEmpty()\n\t@IsObject()\n\tparams!: {\n\t\tparams: unknown;\n\t\tmetadata: IContentMetadata;\n\t};\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tlibrary!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ScanResult.html":{"url":"interfaces/ScanResult.html","title":"interface - ScanResult","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ScanResult\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/antivirus/interfaces/antivirus.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n error\n \n \n \n Optional\n \n virus_detected\n \n \n \n Optional\n \n virus_signature\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n error\n \n \n \n \n \n \n \n \n error: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n virus_detected\n \n \n \n \n \n \n \n \n virus_detected: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n virus_signature\n \n \n \n \n \n \n \n \n virus_signature: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface AntivirusModuleOptions {\n\tenabled: boolean;\n\tfilesServiceBaseUrl: string;\n\texchange: string;\n\troutingKey: string;\n\thostname: string;\n\tport: number;\n}\n\nexport interface AntivirusServiceOptions {\n\tenabled: boolean;\n\tfilesServiceBaseUrl: string;\n\texchange: string;\n\troutingKey: string;\n}\n\nexport interface ScanResult {\n\tvirus_detected?: boolean;\n\tvirus_signature?: string;\n\terror?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ScanResultDto.html":{"url":"classes/ScanResultDto.html","title":"class - ScanResultDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ScanResultDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/scan-result.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n reason\n \n \n status\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ScanResultDto)\n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/scan-result.dto.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ScanResultDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n reason\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/scan-result.dto.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : ScanStatus\n\n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/scan-result.dto.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanStatus } from '../../entity';\n\nexport class ScanResultDto {\n\tstatus: ScanStatus;\n\n\treason: string;\n\n\tconstructor(props: ScanResultDto) {\n\t\tthis.status = props.status;\n\t\tthis.reason = props.reason;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ScanResultParams.html":{"url":"classes/ScanResultParams.html","title":"class - ScanResultParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ScanResultParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts\n \n\n\n\n\n \n Implements\n \n \n ScanResult\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n error\n \n \n \n \n Optional\n virus_detected\n \n \n \n \n Optional\n virus_signature\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n error\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@Allow()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:66\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n virus_detected\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@Allow()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n virus_signature\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@Allow()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:62\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanResult } from '@infra/antivirus';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { Allow, IsBoolean, IsEnum, IsMongoId, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { FileRecordParentType } from '../../entity';\nimport { PreviewOutputMimeTypes, PreviewWidth } from '../../interface';\n\nexport class FileRecordParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\t@IsEnum(FileRecordParentType)\n\tparentType!: FileRecordParentType;\n}\n\nexport class FileUrlParams {\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\turl!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@Allow()\n\theaders?: Record;\n}\n\nexport class FileParams {\n\t@ApiProperty({ type: 'string', format: 'binary' })\n\t@Allow()\n\tfile!: string;\n}\n\nexport class DownloadFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileName!: string;\n}\n\nexport class ScanResultParams implements ScanResult {\n\t@ApiProperty()\n\t@Allow()\n\tvirus_detected?: boolean;\n\n\t@ApiProperty()\n\t@Allow()\n\tvirus_signature?: string;\n\n\t@ApiProperty()\n\t@Allow()\n\terror?: string;\n}\n\nexport class SingleFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n}\n\nexport class RenameFileParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n}\n\nexport class CopyFilesOfParentParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class CopyFileParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileNamePrefix!: string;\n}\n\nexport class CopyFilesOfParentPayload {\n\t@IsMongoId()\n\tuserId!: EntityId;\n\n\t@ValidateNested()\n\tsource!: FileRecordParams;\n\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class PreviewParams {\n\t@ApiPropertyOptional({ enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes' })\n\t@IsOptional()\n\t@IsEnum(PreviewOutputMimeTypes)\n\toutputFormat?: PreviewOutputMimeTypes;\n\n\t@ApiPropertyOptional({ enum: PreviewWidth, enumName: 'PreviewWidth' })\n\t@IsOptional()\n\t@IsEnum(PreviewWidth)\n\twidth?: PreviewWidth;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'If true, the preview will be generated again.',\n\t})\n\tforceUpdate?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/SchoolEntity.html":{"url":"entities/SchoolEntity.html","title":"entity - SchoolEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n SchoolEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/school.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n externalId\n \n \n \n Optional\n features\n \n \n \n federalState\n \n \n \n Optional\n inMaintenanceSince\n \n \n \n Optional\n inUserMigration\n \n \n \n name\n \n \n \n Optional\n officialSchoolNumber\n \n \n \n Optional\n permissions\n \n \n \n Optional\n previousExternalId\n \n \n \n Optional\n schoolYear\n \n \n \n systems\n \n \n \n Optional\n userLoginMigration\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true, fieldName: 'ldapSchoolIdentifier'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/school.entity.ts:75\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n features\n \n \n \n \n \n \n Type : SchoolFeatures[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/school.entity.ts:66\n \n \n\n\n \n \n \n \n \n \n \n \n \n federalState\n \n \n \n \n \n \n Type : FederalStateEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined, {fieldName: 'federalState', nullable: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/school.entity.ts:105\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n inMaintenanceSince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/school.entity.ts:69\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n inUserMigration\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/school.entity.ts:72\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/school.entity.ts:81\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n officialSchoolNumber\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/school.entity.ts:84\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n permissions\n \n \n \n \n \n \n Type : SchoolRoles\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {object: true, nullable: true, prefix: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/school.entity.ts:90\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n previousExternalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/school.entity.ts:78\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n schoolYear\n \n \n \n \n \n \n Type : SchoolYearEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined, {fieldName: 'currentYear', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/school.entity.ts:93\n \n \n\n\n \n \n \n \n \n \n \n \n \n systems\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @ManyToMany(undefined, undefined, {fieldName: 'systems'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/school.entity.ts:87\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n userLoginMigration\n \n \n \n \n \n \n Type : UserLoginMigrationEntity\n\n \n \n \n \n Decorators : \n \n \n @OneToOne(undefined, userLoginMigration => userLoginMigration.school, {orphanRemoval: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/school.entity.ts:102\n \n \n\n\n \n \n\n \n\n\n \n import {\n\tCollection,\n\tEmbeddable,\n\tEmbedded,\n\tEntity,\n\tIndex,\n\tManyToMany,\n\tManyToOne,\n\tOneToOne,\n\tProperty,\n} from '@mikro-orm/core';\nimport { UserLoginMigrationEntity } from '@shared/domain/entity/user-login-migration.entity';\nimport { BaseEntity } from './base.entity';\nimport { FederalStateEntity } from './federal-state.entity';\nimport { SchoolYearEntity } from './schoolyear.entity';\nimport { SystemEntity } from './system.entity';\n\nexport enum SchoolFeatures {\n\tROCKET_CHAT = 'rocketChat',\n\tVIDEOCONFERENCE = 'videoconference',\n\tNEXTCLOUD = 'nextcloud',\n\tSTUDENTVISIBILITY = 'studentVisibility', // deprecated\n\tLDAP_UNIVENTION_MIGRATION = 'ldapUniventionMigrationSchool',\n\tOAUTH_PROVISIONING_ENABLED = 'oauthProvisioningEnabled',\n\tSHOW_OUTDATED_USERS = 'showOutdatedUsers',\n\tENABLE_LDAP_SYNC_DURING_MIGRATION = 'enableLdapSyncDuringMigration',\n}\n\nexport interface SchoolProperties {\n\t_id?: string;\n\texternalId?: string;\n\tinMaintenanceSince?: Date;\n\tinUserMigration?: boolean;\n\tpreviousExternalId?: string;\n\tname: string;\n\tofficialSchoolNumber?: string;\n\tsystems?: SystemEntity[];\n\tfeatures?: SchoolFeatures[];\n\tschoolYear?: SchoolYearEntity;\n\tuserLoginMigration?: UserLoginMigrationEntity;\n\tfederalState: FederalStateEntity;\n}\n\n@Embeddable()\nexport class SchoolRolePermission {\n\t@Property({ nullable: true })\n\tSTUDENT_LIST?: boolean;\n\n\t@Property({ nullable: true })\n\tLERNSTORE_VIEW?: boolean;\n}\n\n@Embeddable()\nexport class SchoolRoles {\n\t@Property({ nullable: true, fieldName: 'student' })\n\tstudent?: SchoolRolePermission;\n\n\t@Property({ nullable: true, fieldName: 'teacher' })\n\tteacher?: SchoolRolePermission;\n}\n\n@Entity({ tableName: 'schools' })\n@Index({ properties: ['externalId', 'systems'] })\nexport class SchoolEntity extends BaseEntity {\n\t@Property({ nullable: true })\n\tfeatures?: SchoolFeatures[];\n\n\t@Property({ nullable: true })\n\tinMaintenanceSince?: Date;\n\n\t@Property({ nullable: true })\n\tinUserMigration?: boolean;\n\n\t@Property({ nullable: true, fieldName: 'ldapSchoolIdentifier' })\n\texternalId?: string;\n\n\t@Property({ nullable: true })\n\tpreviousExternalId?: string;\n\n\t@Property()\n\tname: string;\n\n\t@Property({ nullable: true })\n\tofficialSchoolNumber?: string;\n\n\t@ManyToMany(() => SystemEntity, undefined, { fieldName: 'systems' })\n\tsystems = new Collection(this);\n\n\t@Embedded(() => SchoolRoles, { object: true, nullable: true, prefix: false })\n\tpermissions?: SchoolRoles;\n\n\t@ManyToOne(() => SchoolYearEntity, { fieldName: 'currentYear', nullable: true })\n\tschoolYear?: SchoolYearEntity;\n\n\t@OneToOne(\n\t\t() => UserLoginMigrationEntity,\n\t\t(userLoginMigration: UserLoginMigrationEntity) => userLoginMigration.school,\n\t\t{\n\t\t\torphanRemoval: true,\n\t\t}\n\t)\n\tuserLoginMigration?: UserLoginMigrationEntity;\n\n\t@ManyToOne(() => FederalStateEntity, { fieldName: 'federalState', nullable: false })\n\tfederalState: FederalStateEntity;\n\n\tconstructor(props: SchoolProperties) {\n\t\tsuper();\n\t\tif (props.externalId) {\n\t\t\tthis.externalId = props.externalId;\n\t\t}\n\t\tif (props.previousExternalId) {\n\t\t\tthis.previousExternalId = props.previousExternalId;\n\t\t}\n\t\tthis.inMaintenanceSince = props.inMaintenanceSince;\n\t\tif (props.inUserMigration !== null) {\n\t\t\tthis.inUserMigration = props.inUserMigration;\n\t\t}\n\t\tthis.name = props.name;\n\t\tif (props.officialSchoolNumber) {\n\t\t\tthis.officialSchoolNumber = props.officialSchoolNumber;\n\t\t}\n\t\tif (props.systems) {\n\t\t\tthis.systems.set(props.systems);\n\t\t}\n\t\tif (props.features) {\n\t\t\tthis.features = props.features;\n\t\t}\n\t\tif (props.schoolYear) {\n\t\t\tthis.schoolYear = props.schoolYear;\n\t\t}\n\t\tif (props.userLoginMigration) {\n\t\t\tthis.userLoginMigration = props.userLoginMigration;\n\t\t}\n\t\tthis.federalState = props.federalState;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalTool.html":{"url":"classes/SchoolExternalTool.html","title":"class - SchoolExternalTool","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalTool\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/domain/school-external-tool.do.ts\n \n\n\n\n \n Extends\n \n \n BaseDO\n \n\n \n Implements\n \n \n ToolVersion\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n name\n \n \n parameters\n \n \n schoolId\n \n \n Optional\n status\n \n \n toolId\n \n \n toolVersion\n \n \n Optional\n id\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getVersion\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: SchoolExternalToolProps)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool.do.ts:33\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n SchoolExternalToolProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool.do.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n Type : CustomParameterEntry[]\n\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool.do.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool.do.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n status\n \n \n \n \n \n \n Type : SchoolExternalToolConfigurationStatus\n\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool.do.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n toolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool.do.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n toolVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool.do.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from BaseDO\n\n \n \n \n \n Defined in BaseDO:5\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getVersion\n \n \n \n \n \n \ngetVersion()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool.do.ts:45\n \n \n\n\n \n \n\n \n Returns : number\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BaseDO } from '@shared/domain/domainobject/base.do';\nimport { CustomParameterEntry } from '../../common/domain';\nimport { ToolVersion } from '../../common/interface';\nimport { SchoolExternalToolConfigurationStatus } from '../controller/dto';\n\nexport interface SchoolExternalToolProps {\n\tid?: string;\n\n\tname?: string;\n\n\ttoolId: string;\n\n\tschoolId: string;\n\n\tparameters: CustomParameterEntry[];\n\n\ttoolVersion: number;\n\n\tstatus?: SchoolExternalToolConfigurationStatus;\n}\n\nexport class SchoolExternalTool extends BaseDO implements ToolVersion {\n\tname?: string;\n\n\ttoolId: string;\n\n\tschoolId: string;\n\n\tparameters: CustomParameterEntry[];\n\n\ttoolVersion: number;\n\n\tstatus?: SchoolExternalToolConfigurationStatus;\n\n\tconstructor(props: SchoolExternalToolProps) {\n\t\tsuper(props.id);\n\t\tthis.name = props.name;\n\t\tthis.toolId = props.toolId;\n\t\tthis.schoolId = props.schoolId;\n\t\tthis.parameters = props.parameters;\n\t\tthis.toolVersion = props.toolVersion;\n\t\tthis.status = props.status;\n\t}\n\n\tgetVersion(): number {\n\t\treturn this.toolVersion;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolConfigurationStatus.html":{"url":"classes/SchoolExternalToolConfigurationStatus.html","title":"class - SchoolExternalToolConfigurationStatus","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolConfigurationStatus\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/controller/domain/school-external-tool-configuration-status.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n isOutdatedOnScopeSchool\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: SchoolExternalToolConfigurationStatus)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/domain/school-external-tool-configuration-status.ts:2\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n SchoolExternalToolConfigurationStatus\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n isOutdatedOnScopeSchool\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/domain/school-external-tool-configuration-status.ts:2\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class SchoolExternalToolConfigurationStatus {\n\tisOutdatedOnScopeSchool: boolean;\n\n\tconstructor(props: SchoolExternalToolConfigurationStatus) {\n\t\tthis.isOutdatedOnScopeSchool = props.isOutdatedOnScopeSchool;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolConfigurationStatusResponse.html":{"url":"classes/SchoolExternalToolConfigurationStatusResponse.html","title":"class - SchoolExternalToolConfigurationStatusResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolConfigurationStatusResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-configuration.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n isOutdatedOnScopeSchool\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: SchoolExternalToolConfigurationStatusResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-configuration.response.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n SchoolExternalToolConfigurationStatusResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n isOutdatedOnScopeSchool\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: Boolean, description: 'Is the tool outdated on school scope, because of non matching versions or required parameter changes on ExternalTool?'})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-configuration.response.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class SchoolExternalToolConfigurationStatusResponse {\n\t@ApiProperty({\n\t\ttype: Boolean,\n\t\tdescription:\n\t\t\t'Is the tool outdated on school scope, because of non matching versions or required parameter changes on ExternalTool?',\n\t})\n\tisOutdatedOnScopeSchool: boolean;\n\n\tconstructor(props: SchoolExternalToolConfigurationStatusResponse) {\n\t\tthis.isOutdatedOnScopeSchool = props.isOutdatedOnScopeSchool;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolConfigurationTemplateListResponse.html":{"url":"classes/SchoolExternalToolConfigurationTemplateListResponse.html","title":"class - SchoolExternalToolConfigurationTemplateListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolConfigurationTemplateListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/school-external-tool-configuration-template-list.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: SchoolExternalToolConfigurationTemplateResponse[])\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/school-external-tool-configuration-template-list.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n SchoolExternalToolConfigurationTemplateResponse[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : SchoolExternalToolConfigurationTemplateResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/school-external-tool-configuration-template-list.response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { SchoolExternalToolConfigurationTemplateResponse } from './school-external-tool-configuration-template.response';\n\nexport class SchoolExternalToolConfigurationTemplateListResponse {\n\t@ApiProperty({ type: [SchoolExternalToolConfigurationTemplateResponse] })\n\tdata: SchoolExternalToolConfigurationTemplateResponse[];\n\n\tconstructor(data: SchoolExternalToolConfigurationTemplateResponse[]) {\n\t\tthis.data = data;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolConfigurationTemplateResponse.html":{"url":"classes/SchoolExternalToolConfigurationTemplateResponse.html","title":"class - SchoolExternalToolConfigurationTemplateResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolConfigurationTemplateResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/school-external-tool-configuration-template.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n externalToolId\n \n \n \n Optional\n logoUrl\n \n \n \n name\n \n \n \n parameters\n \n \n \n version\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(configuration: SchoolExternalToolConfigurationTemplateResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/school-external-tool-configuration-template.response.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n configuration\n \n \n SchoolExternalToolConfigurationTemplateResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n externalToolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/school-external-tool-configuration-template.response.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/school-external-tool-configuration-template.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/school-external-tool-configuration-template.response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n Type : CustomParameterResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/school-external-tool-configuration-template.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n version\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/school-external-tool-configuration-template.response.ts:19\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { EntityId } from '@shared/domain/types';\nimport { CustomParameterResponse } from './custom-parameter.response';\n\nexport class SchoolExternalToolConfigurationTemplateResponse {\n\t@ApiProperty()\n\texternalToolId: EntityId;\n\n\t@ApiProperty()\n\tname: string;\n\n\t@ApiPropertyOptional()\n\tlogoUrl?: string;\n\n\t@ApiProperty({ type: [CustomParameterResponse] })\n\tparameters: CustomParameterResponse[];\n\n\t@ApiProperty()\n\tversion: number;\n\n\tconstructor(configuration: SchoolExternalToolConfigurationTemplateResponse) {\n\t\tthis.externalToolId = configuration.externalToolId;\n\t\tthis.name = configuration.name;\n\t\tthis.logoUrl = configuration.logoUrl;\n\t\tthis.parameters = configuration.parameters;\n\t\tthis.version = configuration.version;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/SchoolExternalToolEntity.html":{"url":"entities/SchoolExternalToolEntity.html","title":"entity - SchoolExternalToolEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n SchoolExternalToolEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/entity/school-external-tool.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n school\n \n \n \n schoolParameters\n \n \n \n tool\n \n \n \n toolVersion\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n Type : SchoolEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined, {eager: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/entity/school-external-tool.entity.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n schoolParameters\n \n \n \n \n \n \n Type : CustomParameterEntryEntity[]\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {array: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/entity/school-external-tool.entity.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n tool\n \n \n \n \n \n \n Type : ExternalToolEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/entity/school-external-tool.entity.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n toolVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/entity/school-external-tool.entity.ts:26\n \n \n\n\n \n \n\n \n\n\n \n import { Embedded, Entity, ManyToOne, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { SchoolEntity } from '@shared/domain/entity/school.entity';\nimport { CustomParameterEntryEntity } from '../../common/entity';\nimport { ExternalToolEntity } from '../../external-tool/entity';\n\nexport interface SchoolExternalToolProperties {\n\ttool: ExternalToolEntity;\n\tschool: SchoolEntity;\n\tschoolParameters?: CustomParameterEntryEntity[];\n\ttoolVersion: number;\n}\n\n@Entity({ tableName: 'school-external-tools' })\nexport class SchoolExternalToolEntity extends BaseEntityWithTimestamps {\n\t@ManyToOne()\n\ttool: ExternalToolEntity;\n\n\t@ManyToOne(() => SchoolEntity, { eager: true })\n\tschool: SchoolEntity;\n\n\t@Embedded(() => CustomParameterEntryEntity, { array: true })\n\tschoolParameters: CustomParameterEntryEntity[];\n\n\t@Property()\n\ttoolVersion: number;\n\n\tconstructor(props: SchoolExternalToolProperties) {\n\t\tsuper();\n\t\tthis.tool = props.tool;\n\t\tthis.school = props.school;\n\t\tthis.schoolParameters = props.schoolParameters ?? [];\n\t\tthis.toolVersion = props.toolVersion;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolFactory.html":{"url":"classes/SchoolExternalToolFactory.html","title":"class - SchoolExternalToolFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/domainobject/tool/school-external-tool.factory.ts\n \n\n\n\n \n Extends\n \n \n DoBaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withSchoolId\n \n \n \n buildWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withSchoolId\n \n \n \n \n \n \nwithSchoolId(schoolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/domainobject/tool/school-external-tool.factory.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \n \n buildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { CustomParameterEntry } from '@modules/tool/common/domain';\nimport { SchoolExternalTool, SchoolExternalToolProps } from '@modules/tool/school-external-tool/domain';\nimport { DeepPartial } from 'fishery';\nimport { DoBaseFactory } from '../do-base.factory';\nimport { schoolToolConfigurationStatusFactory } from './school-external-tool-configuration-status.factory';\n\nclass SchoolExternalToolFactory extends DoBaseFactory {\n\twithSchoolId(schoolId: string): this {\n\t\tconst params: DeepPartial = {\n\t\t\tschoolId,\n\t\t};\n\t\treturn this.params(params);\n\t}\n}\n\nexport const schoolExternalToolFactory = SchoolExternalToolFactory.define(SchoolExternalTool, ({ sequence }) => {\n\treturn {\n\t\tname: `schoolExternal-${sequence}`,\n\t\tschoolId: `schoolId-${sequence}`,\n\t\ttoolVersion: 1,\n\t\tparameters: [\n\t\t\tnew CustomParameterEntry({\n\t\t\t\tname: 'name',\n\t\t\t\tvalue: 'value',\n\t\t\t}),\n\t\t],\n\t\ttoolId: 'toolId',\n\t\tstatus: schoolToolConfigurationStatusFactory.build(),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolIdParams.html":{"url":"classes/SchoolExternalToolIdParams.html","title":"class - SchoolExternalToolIdParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolIdParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-id.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n schoolExternalToolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n schoolExternalToolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({nullable: false, required: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-id.params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsMongoId } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\n\nexport class SchoolExternalToolIdParams {\n\t@IsMongoId()\n\t@ApiProperty({ nullable: false, required: true })\n\tschoolExternalToolId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolIdParams-1.html":{"url":"classes/SchoolExternalToolIdParams-1.html","title":"class - SchoolExternalToolIdParams-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolIdParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/school-external-tool-id.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n schoolExternalToolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n schoolExternalToolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/school-external-tool-id.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { EntityId } from '@shared/domain/types';\nimport { IsMongoId } from 'class-validator';\n\nexport class SchoolExternalToolIdParams {\n\t@IsMongoId()\n\t@ApiProperty()\n\tschoolExternalToolId!: EntityId;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolMetadata.html":{"url":"classes/SchoolExternalToolMetadata.html","title":"class - SchoolExternalToolMetadata","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolMetadata\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/domain/school-external-tool-metadata.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n contextExternalToolCountPerContext\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolExternalToolMetadata: SchoolExternalToolMetadata)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool-metadata.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolMetadata\n \n \n SchoolExternalToolMetadata\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n contextExternalToolCountPerContext\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool-metadata.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ContextExternalToolType } from '../../context-external-tool/entity';\n\nexport class SchoolExternalToolMetadata {\n\tcontextExternalToolCountPerContext: Record;\n\n\tconstructor(schoolExternalToolMetadata: SchoolExternalToolMetadata) {\n\t\tthis.contextExternalToolCountPerContext = schoolExternalToolMetadata.contextExternalToolCountPerContext;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolMetadataMapper.html":{"url":"classes/SchoolExternalToolMetadataMapper.html","title":"class - SchoolExternalToolMetadataMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolMetadataMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/mapper/school-external-tool-metadata.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToSchoolExternalToolMetadataResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToSchoolExternalToolMetadataResponse\n \n \n \n \n \n \n \n mapToSchoolExternalToolMetadataResponse(schoolExternalToolMetadata: SchoolExternalToolMetadata)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/mapper/school-external-tool-metadata.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolMetadata\n \n SchoolExternalToolMetadata\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolExternalToolMetadataResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ContextExternalToolCountPerContextResponse } from '../../common/controller/dto';\nimport { SchoolExternalToolMetadataResponse } from '../controller/dto';\nimport { SchoolExternalToolMetadata } from '../domain';\n\nexport class SchoolExternalToolMetadataMapper {\n\tstatic mapToSchoolExternalToolMetadataResponse(\n\t\tschoolExternalToolMetadata: SchoolExternalToolMetadata\n\t): SchoolExternalToolMetadataResponse {\n\t\tconst externalToolMetadataResponse: SchoolExternalToolMetadataResponse = new SchoolExternalToolMetadataResponse({\n\t\t\tcontextExternalToolCountPerContext: new ContextExternalToolCountPerContextResponse(\n\t\t\t\tschoolExternalToolMetadata.contextExternalToolCountPerContext\n\t\t\t),\n\t\t});\n\n\t\treturn externalToolMetadataResponse;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolMetadataResponse.html":{"url":"classes/SchoolExternalToolMetadataResponse.html","title":"class - SchoolExternalToolMetadataResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolMetadataResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-metadata.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contextExternalToolCountPerContext\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolExternalToolMetadataResponse: SchoolExternalToolMetadataResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-metadata.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolMetadataResponse\n \n \n SchoolExternalToolMetadataResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextExternalToolCountPerContext\n \n \n \n \n \n \n Type : ContextExternalToolCountPerContextResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-metadata.response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContextExternalToolCountPerContextResponse } from '../../../common/controller/dto';\n\nexport class SchoolExternalToolMetadataResponse {\n\t@ApiProperty()\n\tcontextExternalToolCountPerContext: ContextExternalToolCountPerContextResponse;\n\n\tconstructor(schoolExternalToolMetadataResponse: SchoolExternalToolMetadataResponse) {\n\t\tthis.contextExternalToolCountPerContext = schoolExternalToolMetadataResponse.contextExternalToolCountPerContext;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolExternalToolMetadataService.html":{"url":"injectables/SchoolExternalToolMetadataService.html","title":"injectable - SchoolExternalToolMetadataService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolExternalToolMetadataService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/service/school-external-tool-metadata.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getMetadata\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(contextToolRepo: ContextExternalToolRepo)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool-metadata.service.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextToolRepo\n \n \n ContextExternalToolRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getMetadata\n \n \n \n \n \n \n \n getMetadata(schoolExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool-metadata.service.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ContextExternalToolRepo } from '@shared/repo';\nimport { ToolContextType } from '../../common/enum';\nimport { ToolContextMapper } from '../../common/mapper/tool-context.mapper';\nimport { ContextExternalToolType } from '../../context-external-tool/entity';\nimport { SchoolExternalToolMetadata } from '../domain';\n\n@Injectable()\nexport class SchoolExternalToolMetadataService {\n\tconstructor(private readonly contextToolRepo: ContextExternalToolRepo) {}\n\n\tasync getMetadata(schoolExternalToolId: EntityId) {\n\t\tconst contextExternalToolCount: Record = {\n\t\t\t[ContextExternalToolType.BOARD_ELEMENT]: 0,\n\t\t\t[ContextExternalToolType.COURSE]: 0,\n\t\t};\n\n\t\tawait Promise.all(\n\t\t\tObject.values(ToolContextType).map(async (contextType: ToolContextType): Promise => {\n\t\t\t\tconst type: ContextExternalToolType = ToolContextMapper.contextMapping[contextType];\n\n\t\t\t\tconst countPerContext: number = await this.contextToolRepo.countBySchoolToolIdsAndContextType(type, [\n\t\t\t\t\tschoolExternalToolId,\n\t\t\t\t]);\n\n\t\t\t\tcontextExternalToolCount[type] = countPerContext;\n\t\t\t})\n\t\t);\n\n\t\tconst schoolExternalToolMetadata: SchoolExternalToolMetadata = new SchoolExternalToolMetadata({\n\t\t\tcontextExternalToolCountPerContext: contextExternalToolCount,\n\t\t});\n\n\t\treturn schoolExternalToolMetadata;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/SchoolExternalToolModule.html":{"url":"modules/SchoolExternalToolModule.html","title":"module - SchoolExternalToolModule","body":"\n \n\n\n\n\n Modules\n SchoolExternalToolModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_SchoolExternalToolModule\n\n\n\ncluster_SchoolExternalToolModule_exports\n\n\n\ncluster_SchoolExternalToolModule_providers\n\n\n\ncluster_SchoolExternalToolModule_imports\n\n\n\n\nCommonToolModule\n\nCommonToolModule\n\n\n\nSchoolExternalToolModule\n\nSchoolExternalToolModule\n\nSchoolExternalToolModule -->\n\nCommonToolModule->SchoolExternalToolModule\n\n\n\n\n\nExternalToolModule\n\nExternalToolModule\n\nSchoolExternalToolModule -->\n\nExternalToolModule->SchoolExternalToolModule\n\n\n\n\n\nToolConfigModule\n\nToolConfigModule\n\nSchoolExternalToolModule -->\n\nToolConfigModule->SchoolExternalToolModule\n\n\n\n\n\nSchoolExternalToolMetadataService \n\nSchoolExternalToolMetadataService \n\nSchoolExternalToolMetadataService -->\n\nSchoolExternalToolModule->SchoolExternalToolMetadataService \n\n\n\n\n\nSchoolExternalToolService \n\nSchoolExternalToolService \n\nSchoolExternalToolService -->\n\nSchoolExternalToolModule->SchoolExternalToolService \n\n\n\n\n\nSchoolExternalToolValidationService \n\nSchoolExternalToolValidationService \n\nSchoolExternalToolValidationService -->\n\nSchoolExternalToolModule->SchoolExternalToolValidationService \n\n\n\n\n\nSchoolExternalToolMetadataService\n\nSchoolExternalToolMetadataService\n\nSchoolExternalToolModule -->\n\nSchoolExternalToolMetadataService->SchoolExternalToolModule\n\n\n\n\n\nSchoolExternalToolService\n\nSchoolExternalToolService\n\nSchoolExternalToolModule -->\n\nSchoolExternalToolService->SchoolExternalToolModule\n\n\n\n\n\nSchoolExternalToolValidationService\n\nSchoolExternalToolValidationService\n\nSchoolExternalToolModule -->\n\nSchoolExternalToolValidationService->SchoolExternalToolModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/school-external-tool.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n SchoolExternalToolMetadataService\n \n \n SchoolExternalToolService\n \n \n SchoolExternalToolValidationService\n \n \n \n \n Imports\n \n \n CommonToolModule\n \n \n ExternalToolModule\n \n \n ToolConfigModule\n \n \n \n \n Exports\n \n \n SchoolExternalToolMetadataService\n \n \n SchoolExternalToolService\n \n \n SchoolExternalToolValidationService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { CommonToolModule } from '../common';\nimport {\n\tSchoolExternalToolService,\n\tSchoolExternalToolValidationService,\n\tSchoolExternalToolMetadataService,\n} from './service';\nimport { ExternalToolModule } from '../external-tool';\nimport { ToolConfigModule } from '../tool-config.module';\n\n@Module({\n\timports: [CommonToolModule, ExternalToolModule, ToolConfigModule],\n\tproviders: [SchoolExternalToolService, SchoolExternalToolValidationService, SchoolExternalToolMetadataService],\n\texports: [SchoolExternalToolService, SchoolExternalToolValidationService, SchoolExternalToolMetadataService],\n})\nexport class SchoolExternalToolModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolPostParams.html":{"url":"classes/SchoolExternalToolPostParams.html","title":"class - SchoolExternalToolPostParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolPostParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-post.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n parameters\n \n \n \n \n \n schoolId\n \n \n \n \n \n toolId\n \n \n \n \n version\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n parameters\n \n \n \n \n \n \n Type : CustomParameterEntryParam[]\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested({each: true})@IsArray()@IsOptional()@ApiPropertyOptional({type: undefined})@Type(undefined)\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-post.params.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-post.params.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n toolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-post.params.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n version\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsNumber()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-post.params.ts:26\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { Type } from 'class-transformer';\nimport { IsArray, IsMongoId, IsNumber, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { CustomParameterEntryParam } from './custom-parameter-entry.params';\n\nexport class SchoolExternalToolPostParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsMongoId()\n\ttoolId!: string;\n\n\t@ApiProperty()\n\t@IsString()\n\t@IsMongoId()\n\tschoolId!: string;\n\n\t@ValidateNested({ each: true })\n\t@IsArray()\n\t@IsOptional()\n\t@ApiPropertyOptional({ type: [CustomParameterEntryParam] })\n\t@Type(() => CustomParameterEntryParam)\n\tparameters?: CustomParameterEntryParam[];\n\n\t@ApiProperty()\n\t@IsNumber()\n\tversion!: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SchoolExternalToolProperties.html":{"url":"interfaces/SchoolExternalToolProperties.html","title":"interface - SchoolExternalToolProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SchoolExternalToolProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/entity/school-external-tool.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n school\n \n \n \n Optional\n \n schoolParameters\n \n \n \n \n tool\n \n \n \n \n toolVersion\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n school\n \n \n \n \n \n \n \n \n school: SchoolEntity\n\n \n \n\n\n \n \n Type : SchoolEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolParameters\n \n \n \n \n \n \n \n \n schoolParameters: CustomParameterEntryEntity[]\n\n \n \n\n\n \n \n Type : CustomParameterEntryEntity[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n tool\n \n \n \n \n \n \n \n \n tool: ExternalToolEntity\n\n \n \n\n\n \n \n Type : ExternalToolEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n toolVersion\n \n \n \n \n \n \n \n \n toolVersion: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Embedded, Entity, ManyToOne, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { SchoolEntity } from '@shared/domain/entity/school.entity';\nimport { CustomParameterEntryEntity } from '../../common/entity';\nimport { ExternalToolEntity } from '../../external-tool/entity';\n\nexport interface SchoolExternalToolProperties {\n\ttool: ExternalToolEntity;\n\tschool: SchoolEntity;\n\tschoolParameters?: CustomParameterEntryEntity[];\n\ttoolVersion: number;\n}\n\n@Entity({ tableName: 'school-external-tools' })\nexport class SchoolExternalToolEntity extends BaseEntityWithTimestamps {\n\t@ManyToOne()\n\ttool: ExternalToolEntity;\n\n\t@ManyToOne(() => SchoolEntity, { eager: true })\n\tschool: SchoolEntity;\n\n\t@Embedded(() => CustomParameterEntryEntity, { array: true })\n\tschoolParameters: CustomParameterEntryEntity[];\n\n\t@Property()\n\ttoolVersion: number;\n\n\tconstructor(props: SchoolExternalToolProperties) {\n\t\tsuper();\n\t\tthis.tool = props.tool;\n\t\tthis.school = props.school;\n\t\tthis.schoolParameters = props.schoolParameters ?? [];\n\t\tthis.toolVersion = props.toolVersion;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SchoolExternalToolProps.html":{"url":"interfaces/SchoolExternalToolProps.html","title":"interface - SchoolExternalToolProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SchoolExternalToolProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/domain/school-external-tool.do.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n id\n \n \n \n Optional\n \n name\n \n \n \n \n parameters\n \n \n \n \n schoolId\n \n \n \n Optional\n \n status\n \n \n \n \n toolId\n \n \n \n \n toolVersion\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n id\n \n \n \n \n \n \n \n \n id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n \n \n parameters: CustomParameterEntry[]\n\n \n \n\n\n \n \n Type : CustomParameterEntry[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n \n \n schoolId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n \n \n status: SchoolExternalToolConfigurationStatus\n\n \n \n\n\n \n \n Type : SchoolExternalToolConfigurationStatus\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n toolId\n \n \n \n \n \n \n \n \n toolId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n toolVersion\n \n \n \n \n \n \n \n \n toolVersion: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BaseDO } from '@shared/domain/domainobject/base.do';\nimport { CustomParameterEntry } from '../../common/domain';\nimport { ToolVersion } from '../../common/interface';\nimport { SchoolExternalToolConfigurationStatus } from '../controller/dto';\n\nexport interface SchoolExternalToolProps {\n\tid?: string;\n\n\tname?: string;\n\n\ttoolId: string;\n\n\tschoolId: string;\n\n\tparameters: CustomParameterEntry[];\n\n\ttoolVersion: number;\n\n\tstatus?: SchoolExternalToolConfigurationStatus;\n}\n\nexport class SchoolExternalTool extends BaseDO implements ToolVersion {\n\tname?: string;\n\n\ttoolId: string;\n\n\tschoolId: string;\n\n\tparameters: CustomParameterEntry[];\n\n\ttoolVersion: number;\n\n\tstatus?: SchoolExternalToolConfigurationStatus;\n\n\tconstructor(props: SchoolExternalToolProps) {\n\t\tsuper(props.id);\n\t\tthis.name = props.name;\n\t\tthis.toolId = props.toolId;\n\t\tthis.schoolId = props.schoolId;\n\t\tthis.parameters = props.parameters;\n\t\tthis.toolVersion = props.toolVersion;\n\t\tthis.status = props.status;\n\t}\n\n\tgetVersion(): number {\n\t\treturn this.toolVersion;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolRefDO.html":{"url":"classes/SchoolExternalToolRefDO.html","title":"class - SchoolExternalToolRefDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolRefDO\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/domain/school-external-tool-ref.do.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n schoolId\n \n \n schoolToolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: SchoolExternalToolRefDO)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool-ref.do.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n SchoolExternalToolRefDO\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n schoolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool-ref.do.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n schoolToolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/domain/school-external-tool-ref.do.ts:2\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class SchoolExternalToolRefDO {\n\tschoolToolId: string;\n\n\tschoolId?: string;\n\n\tconstructor(props: SchoolExternalToolRefDO) {\n\t\tthis.schoolToolId = props.schoolToolId;\n\t\tthis.schoolId = props.schoolId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolExternalToolRepo.html":{"url":"injectables/SchoolExternalToolRepo.html","title":"injectable - SchoolExternalToolRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolExternalToolRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/schoolexternaltool/school-external-tool.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseDORepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n buildScope\n \n \n Async\n deleteByExternalToolId\n \n \n Async\n find\n \n \n Async\n findByExternalToolId\n \n \n Async\n findBySchoolId\n \n \n mapDOToEntityProperties\n \n \n mapEntityToDO\n \n \n Private\n Async\n createOrUpdateEntity\n \n \n Async\n delete\n \n \n Async\n deleteById\n \n \n Async\n findById\n \n \n Private\n removeProtectedEntityFields\n \n \n Async\n save\n \n \n Async\n saveAll\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(_em: EntityManager, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/shared/repo/schoolexternaltool/school-external-tool.repo.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n _em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n buildScope\n \n \n \n \n \n \n \n buildScope(query: SchoolExternalToolQuery)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/schoolexternaltool/school-external-tool.repo.ts:57\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n SchoolExternalToolQuery\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolExternalToolScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteByExternalToolId\n \n \n \n \n \n \n \n deleteByExternalToolId(toolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/schoolexternaltool/school-external-tool.repo.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n find\n \n \n \n \n \n \n \n find(query: SchoolExternalToolQuery)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/schoolexternaltool/school-external-tool.repo.ts:48\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n SchoolExternalToolQuery\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByExternalToolId\n \n \n \n \n \n \n \n findByExternalToolId(toolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/schoolexternaltool/school-external-tool.repo.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findBySchoolId\n \n \n \n \n \n \n \n findBySchoolId(schoolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/schoolexternaltool/school-external-tool.repo.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapDOToEntityProperties\n \n \n \n \n \n \nmapDOToEntityProperties(entityDO: SchoolExternalTool)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:77\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : EntityData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapEntityToDO\n \n \n \n \n \n \nmapEntityToDO(entity: SchoolExternalToolEntity)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:67\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n SchoolExternalToolEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolExternalTool\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createOrUpdateEntity\n \n \n \n \n \n \n \n createOrUpdateEntity(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:32\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(domainObjects: DO[] | DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:61\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[] | DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteById\n \n \n \n \n \n \n [object Object],[object Object],[object Object]\n \n \n \n \n \n deleteById(id: EntityId | EntityId[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:78\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:90\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeProtectedEntityFields\n \n \n \n \n \n \n \n removeProtectedEntityFields(entityData: EntityData)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:98\n\n \n \n\n\n \n \n Ignore base entity properties when updating entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityData\n \n EntityData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAll\n \n \n \n \n \n \n \n saveAll(domainObjects: DO[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/schoolexternaltool/school-external-tool.repo.ts:20\n \n \n\n \n \n\n \n\n\n \n import { EntityData, EntityName } from '@mikro-orm/core';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { ExternalToolEntity } from '@modules/tool/external-tool/entity';\nimport { SchoolExternalTool } from '@modules/tool/school-external-tool/domain';\nimport { SchoolExternalToolEntity } from '@modules/tool/school-external-tool/entity';\nimport { SchoolExternalToolQuery } from '@modules/tool/school-external-tool/uc/dto/school-external-tool.types';\nimport { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { SchoolEntity } from '@shared/domain/entity';\nimport { BaseDORepo } from '@shared/repo/base.do.repo';\nimport { LegacyLogger } from '@src/core/logger';\nimport { ExternalToolRepoMapper } from '../externaltool';\nimport { SchoolExternalToolScope } from './school-external-tool.scope';\n\n@Injectable()\nexport class SchoolExternalToolRepo extends BaseDORepo {\n\tconstructor(protected readonly _em: EntityManager, protected readonly logger: LegacyLogger) {\n\t\tsuper(_em, logger);\n\t}\n\n\tget entityName(): EntityName {\n\t\treturn SchoolExternalToolEntity;\n\t}\n\n\tasync findByExternalToolId(toolId: string): Promise {\n\t\tconst entities: SchoolExternalToolEntity[] = await this._em.find(this.entityName, { tool: toolId });\n\t\tconst domainObjects: SchoolExternalTool[] = entities.map((entity: SchoolExternalToolEntity): SchoolExternalTool => {\n\t\t\tconst domainObject: SchoolExternalTool = this.mapEntityToDO(entity);\n\t\t\treturn domainObject;\n\t\t});\n\t\treturn domainObjects;\n\t}\n\n\tasync findBySchoolId(schoolId: string): Promise {\n\t\tconst entities: SchoolExternalToolEntity[] = await this._em.find(this.entityName, { school: schoolId });\n\t\tconst domainObjects: SchoolExternalTool[] = entities.map((entity: SchoolExternalToolEntity): SchoolExternalTool => {\n\t\t\tconst domainObject: SchoolExternalTool = this.mapEntityToDO(entity);\n\t\t\treturn domainObject;\n\t\t});\n\n\t\treturn domainObjects;\n\t}\n\n\tasync deleteByExternalToolId(toolId: string): Promise {\n\t\tconst count: Promise = this._em.nativeDelete(this.entityName, { tool: toolId });\n\t\treturn count;\n\t}\n\n\tasync find(query: SchoolExternalToolQuery): Promise {\n\t\tconst scope: SchoolExternalToolScope = this.buildScope(query);\n\n\t\tconst entities: SchoolExternalToolEntity[] = await this._em.find(this.entityName, scope.query);\n\n\t\tconst dos: SchoolExternalTool[] = entities.map((entity: SchoolExternalToolEntity) => this.mapEntityToDO(entity));\n\t\treturn dos;\n\t}\n\n\tprivate buildScope(query: SchoolExternalToolQuery): SchoolExternalToolScope {\n\t\tconst scope: SchoolExternalToolScope = new SchoolExternalToolScope();\n\n\t\tscope.bySchoolId(query.schoolId);\n\t\tscope.byToolId(query.toolId);\n\t\tscope.allowEmptyQuery(true);\n\n\t\treturn scope;\n\t}\n\n\tmapEntityToDO(entity: SchoolExternalToolEntity): SchoolExternalTool {\n\t\treturn new SchoolExternalTool({\n\t\t\tid: entity.id,\n\t\t\ttoolId: entity.tool.id,\n\t\t\tschoolId: entity.school.id,\n\t\t\ttoolVersion: entity.toolVersion,\n\t\t\tparameters: ExternalToolRepoMapper.mapCustomParameterEntryEntitiesToDOs(entity.schoolParameters),\n\t\t});\n\t}\n\n\tmapDOToEntityProperties(entityDO: SchoolExternalTool): EntityData {\n\t\treturn {\n\t\t\tschool: this._em.getReference(SchoolEntity, entityDO.schoolId),\n\t\t\ttool: this._em.getReference(ExternalToolEntity, entityDO.toolId),\n\t\t\ttoolVersion: entityDO.toolVersion,\n\t\t\tschoolParameters: ExternalToolRepoMapper.mapCustomParameterEntryDOsToEntities(entityDO.parameters),\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolExternalToolRequestMapper.html":{"url":"injectables/SchoolExternalToolRequestMapper.html","title":"injectable - SchoolExternalToolRequestMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolExternalToolRequestMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/mapper/school-external-tool-request.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n mapRequestToCustomParameterEntryDO\n \n \n mapSchoolExternalToolRequest\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n mapRequestToCustomParameterEntryDO\n \n \n \n \n \n \n \n mapRequestToCustomParameterEntryDO(customParameterParams: CustomParameterEntryParam[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/mapper/school-external-tool-request.mapper.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n customParameterParams\n \n CustomParameterEntryParam[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CustomParameterEntry[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapSchoolExternalToolRequest\n \n \n \n \n \n \nmapSchoolExternalToolRequest(request: SchoolExternalToolPostParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/mapper/school-external-tool-request.mapper.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n request\n \n SchoolExternalToolPostParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolExternalToolDto\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { CustomParameterEntry } from '../../common/domain';\nimport { CustomParameterEntryParam, SchoolExternalToolPostParams } from '../controller/dto';\nimport { SchoolExternalToolDto } from '../uc/dto/school-external-tool.types';\n\n@Injectable()\nexport class SchoolExternalToolRequestMapper {\n\tmapSchoolExternalToolRequest(request: SchoolExternalToolPostParams): SchoolExternalToolDto {\n\t\treturn {\n\t\t\ttoolId: request.toolId,\n\t\t\tschoolId: request.schoolId,\n\t\t\ttoolVersion: request.version,\n\t\t\tparameters: this.mapRequestToCustomParameterEntryDO(request.parameters ?? []),\n\t\t};\n\t}\n\n\tprivate mapRequestToCustomParameterEntryDO(\n\t\tcustomParameterParams: CustomParameterEntryParam[]\n\t): CustomParameterEntry[] {\n\t\treturn customParameterParams.map((customParameterParam: CustomParameterEntryParam) => {\n\t\t\treturn {\n\t\t\t\tname: customParameterParam.name,\n\t\t\t\tvalue: customParameterParam.value || undefined,\n\t\t\t};\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolResponse.html":{"url":"classes/SchoolExternalToolResponse.html","title":"class - SchoolExternalToolResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n Optional\n logoUrl\n \n \n \n name\n \n \n \n parameters\n \n \n \n schoolId\n \n \n \n status\n \n \n \n toolId\n \n \n \n toolVersion\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(response: SchoolExternalToolResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool.response.ts:28\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n \n SchoolExternalToolResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool.response.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool.response.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool.response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n parameters\n \n \n \n \n \n \n Type : CustomParameterEntryResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : SchoolExternalToolConfigurationStatusResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: SchoolExternalToolConfigurationStatusResponse})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool.response.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n toolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n toolVersion\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool.response.ts:22\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { CustomParameterEntryResponse } from './custom-parameter-entry.response';\nimport { SchoolExternalToolConfigurationStatusResponse } from './school-external-tool-configuration.response';\n\nexport class SchoolExternalToolResponse {\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\tname: string;\n\n\t@ApiProperty()\n\ttoolId: string;\n\n\t@ApiProperty()\n\tschoolId: string;\n\n\t@ApiProperty({ type: [CustomParameterEntryResponse] })\n\tparameters: CustomParameterEntryResponse[];\n\n\t@ApiProperty()\n\ttoolVersion: number;\n\n\t@ApiProperty({ type: SchoolExternalToolConfigurationStatusResponse })\n\tstatus: SchoolExternalToolConfigurationStatusResponse;\n\n\t@ApiPropertyOptional()\n\tlogoUrl?: string;\n\n\tconstructor(response: SchoolExternalToolResponse) {\n\t\tthis.id = response.id;\n\t\tthis.name = response.name;\n\t\tthis.toolId = response.toolId;\n\t\tthis.schoolId = response.schoolId;\n\t\tthis.parameters = response.parameters;\n\t\tthis.toolVersion = response.toolVersion;\n\t\tthis.status = response.status;\n\t\tthis.logoUrl = response.logoUrl;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolExternalToolResponseMapper.html":{"url":"injectables/SchoolExternalToolResponseMapper.html","title":"injectable - SchoolExternalToolResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolExternalToolResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/mapper/school-external-tool-response.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n mapToCustomParameterEntryResponse\n \n \n mapToSchoolExternalToolResponse\n \n \n mapToSearchListResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n mapToCustomParameterEntryResponse\n \n \n \n \n \n \n \n mapToCustomParameterEntryResponse(entries: CustomParameterEntry[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/mapper/school-external-tool-response.mapper.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entries\n \n CustomParameterEntry[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CustomParameterEntryResponse[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapToSchoolExternalToolResponse\n \n \n \n \n \n \nmapToSchoolExternalToolResponse(schoolExternalTool: SchoolExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/mapper/school-external-tool-response.mapper.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolExternalToolResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapToSearchListResponse\n \n \n \n \n \n \nmapToSearchListResponse(externalTools: SchoolExternalTool[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/mapper/school-external-tool-response.mapper.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTools\n \n SchoolExternalTool[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolExternalToolSearchListResponse\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { CustomParameterEntry } from '../../common/domain';\nimport {\n\tCustomParameterEntryResponse,\n\tSchoolExternalToolResponse,\n\tSchoolExternalToolSearchListResponse,\n} from '../controller/dto';\nimport { SchoolExternalTool } from '../domain';\nimport { SchoolToolConfigurationStatusResponseMapper } from './school-external-tool-status-response.mapper';\n\n@Injectable()\nexport class SchoolExternalToolResponseMapper {\n\tmapToSearchListResponse(externalTools: SchoolExternalTool[]): SchoolExternalToolSearchListResponse {\n\t\tconst responses: SchoolExternalToolResponse[] = externalTools.map((toolDO: SchoolExternalTool) =>\n\t\t\tthis.mapToSchoolExternalToolResponse(toolDO)\n\t\t);\n\t\treturn new SchoolExternalToolSearchListResponse(responses);\n\t}\n\n\tmapToSchoolExternalToolResponse(schoolExternalTool: SchoolExternalTool): SchoolExternalToolResponse {\n\t\treturn {\n\t\t\tid: schoolExternalTool.id ?? '',\n\t\t\tname: schoolExternalTool.name ?? '',\n\t\t\ttoolId: schoolExternalTool.toolId,\n\t\t\tschoolId: schoolExternalTool.schoolId,\n\t\t\tparameters: this.mapToCustomParameterEntryResponse(schoolExternalTool.parameters),\n\t\t\ttoolVersion: schoolExternalTool.toolVersion,\n\t\t\tstatus: SchoolToolConfigurationStatusResponseMapper.mapToResponse(\n\t\t\t\tschoolExternalTool.status ?? { isOutdatedOnScopeSchool: false }\n\t\t\t),\n\t\t};\n\t}\n\n\tprivate mapToCustomParameterEntryResponse(entries: CustomParameterEntry[]): CustomParameterEntryResponse[] {\n\t\treturn entries.map(\n\t\t\t(entry: CustomParameterEntry): CustomParameterEntry =>\n\t\t\t\tnew CustomParameterEntryResponse({\n\t\t\t\t\tname: entry.name,\n\t\t\t\t\tvalue: entry.value,\n\t\t\t\t})\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolExternalToolRule.html":{"url":"injectables/SchoolExternalToolRule.html","title":"injectable - SchoolExternalToolRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolExternalToolRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/school-external-tool.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/school-external-tool.rule.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, entity: SchoolExternalToolEntity | SchoolExternalTool, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/school-external-tool.rule.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n SchoolExternalToolEntity | SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, entity: SchoolExternalToolEntity | SchoolExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/school-external-tool.rule.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n SchoolExternalToolEntity | SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { SchoolExternalTool } from '@modules/tool/school-external-tool/domain';\nimport { SchoolExternalToolEntity } from '@modules/tool/school-external-tool/entity';\nimport { User } from '@shared/domain/entity';\nimport { AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\n\n@Injectable()\nexport class SchoolExternalToolRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper) {}\n\n\tpublic isApplicable(user: User, entity: SchoolExternalToolEntity | SchoolExternalTool): boolean {\n\t\tconst isMatched: boolean = entity instanceof SchoolExternalToolEntity || entity instanceof SchoolExternalTool;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(\n\t\tuser: User,\n\t\tentity: SchoolExternalToolEntity | SchoolExternalTool,\n\t\tcontext: AuthorizationContext\n\t): boolean {\n\t\tlet hasPermission: boolean;\n\t\tif (entity instanceof SchoolExternalToolEntity) {\n\t\t\thasPermission =\n\t\t\t\tthis.authorizationHelper.hasAllPermissions(user, context.requiredPermissions) &&\n\t\t\t\tuser.school.id === entity.school.id;\n\t\t} else {\n\t\t\thasPermission =\n\t\t\t\tthis.authorizationHelper.hasAllPermissions(user, context.requiredPermissions) &&\n\t\t\t\tuser.school.id === entity.schoolId;\n\t\t}\n\t\treturn hasPermission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolScope.html":{"url":"classes/SchoolExternalToolScope.html","title":"class - SchoolExternalToolScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/schoolexternaltool/school-external-tool.scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n bySchoolId\n \n \n byToolId\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n bySchoolId\n \n \n \n \n \n \nbySchoolId(schoolId: EntityId | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/schoolexternaltool/school-external-tool.scope.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byToolId\n \n \n \n \n \n \nbyToolId(toolId: EntityId | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/schoolexternaltool/school-external-tool.scope.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolId\n \n EntityId | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { SchoolExternalToolEntity } from '@modules/tool/school-external-tool/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { Scope } from '@shared/repo/scope';\n\nexport class SchoolExternalToolScope extends Scope {\n\tbySchoolId(schoolId: EntityId | undefined): this {\n\t\tif (schoolId !== undefined) {\n\t\t\tthis.addQuery({ school: schoolId });\n\t\t}\n\t\treturn this;\n\t}\n\n\tbyToolId(toolId: EntityId | undefined): this {\n\t\tif (toolId !== undefined) {\n\t\t\tthis.addQuery({ tool: toolId });\n\t\t}\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolSearchListResponse.html":{"url":"classes/SchoolExternalToolSearchListResponse.html","title":"class - SchoolExternalToolSearchListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolSearchListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-search-list.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: SchoolExternalToolResponse[])\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-search-list.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n SchoolExternalToolResponse[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : SchoolExternalToolResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-search-list.response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { SchoolExternalToolResponse } from './school-external-tool.response';\n\nexport class SchoolExternalToolSearchListResponse {\n\t@ApiProperty({ type: [SchoolExternalToolResponse] })\n\tdata: SchoolExternalToolResponse[];\n\n\tconstructor(data: SchoolExternalToolResponse[]) {\n\t\tthis.data = data;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolExternalToolSearchParams.html":{"url":"classes/SchoolExternalToolSearchParams.html","title":"class - SchoolExternalToolSearchParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolExternalToolSearchParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-search.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsString()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/dto/school-external-tool-search.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId, IsString } from 'class-validator';\n\nexport class SchoolExternalToolSearchParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsMongoId()\n\tschoolId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolExternalToolService.html":{"url":"injectables/SchoolExternalToolService.html","title":"injectable - SchoolExternalToolService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolExternalToolService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/service/school-external-tool.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteSchoolExternalToolById\n \n \n Private\n Async\n determineSchoolToolStatus\n \n \n Private\n Async\n enrichDataFromExternalTool\n \n \n Private\n Async\n enrichWithDataFromExternalTools\n \n \n Async\n findById\n \n \n Async\n findSchoolExternalTools\n \n \n Async\n saveSchoolExternalTool\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolExternalToolRepo: SchoolExternalToolRepo, externalToolService: ExternalToolService, schoolExternalToolValidationService: SchoolExternalToolValidationService, toolFeatures: IToolFeatures)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool.service.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolRepo\n \n \n SchoolExternalToolRepo\n \n \n \n No\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n schoolExternalToolValidationService\n \n \n SchoolExternalToolValidationService\n \n \n \n No\n \n \n \n \n toolFeatures\n \n \n IToolFeatures\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteSchoolExternalToolById\n \n \n \n \n \n \n \n deleteSchoolExternalToolById(schoolExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool.service.ts:85\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n determineSchoolToolStatus\n \n \n \n \n \n \n \n determineSchoolToolStatus(tool: SchoolExternalTool, externalTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool.service.ts:56\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n tool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n enrichDataFromExternalTool\n \n \n \n \n \n \n \n enrichDataFromExternalTool(tool: SchoolExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool.service.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n tool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n enrichWithDataFromExternalTools\n \n \n \n \n \n \n \n enrichWithDataFromExternalTools(tools: SchoolExternalTool[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool.service.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n tools\n \n SchoolExternalTool[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(schoolExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool.service.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findSchoolExternalTools\n \n \n \n \n \n \n \n findSchoolExternalTools(query: SchoolExternalToolQuery)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool.service.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n SchoolExternalToolQuery\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveSchoolExternalTool\n \n \n \n \n \n \n \n saveSchoolExternalTool(schoolExternalTool: SchoolExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool.service.ts:89\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Inject, Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { SchoolExternalToolRepo } from '@shared/repo';\nimport { ExternalTool } from '../../external-tool/domain';\nimport { ExternalToolService } from '../../external-tool/service';\nimport { IToolFeatures, ToolFeatures } from '../../tool-config';\nimport { SchoolExternalToolConfigurationStatus } from '../controller/dto';\nimport { SchoolExternalTool } from '../domain';\nimport { SchoolExternalToolQuery } from '../uc/dto/school-external-tool.types';\nimport { SchoolExternalToolValidationService } from './school-external-tool-validation.service';\n\n@Injectable()\nexport class SchoolExternalToolService {\n\tconstructor(\n\t\tprivate readonly schoolExternalToolRepo: SchoolExternalToolRepo,\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly schoolExternalToolValidationService: SchoolExternalToolValidationService,\n\t\t@Inject(ToolFeatures) private readonly toolFeatures: IToolFeatures\n\t) {}\n\n\tasync findById(schoolExternalToolId: EntityId): Promise {\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolRepo.findById(schoolExternalToolId);\n\t\treturn schoolExternalTool;\n\t}\n\n\tasync findSchoolExternalTools(query: SchoolExternalToolQuery): Promise {\n\t\tlet schoolExternalTools: SchoolExternalTool[] = await this.schoolExternalToolRepo.find({\n\t\t\tschoolId: query.schoolId,\n\t\t});\n\n\t\tschoolExternalTools = await this.enrichWithDataFromExternalTools(schoolExternalTools);\n\n\t\treturn schoolExternalTools;\n\t}\n\n\tprivate async enrichWithDataFromExternalTools(tools: SchoolExternalTool[]): Promise {\n\t\tconst enrichedTools: SchoolExternalTool[] = await Promise.all(\n\t\t\ttools.map(async (tool: SchoolExternalTool): Promise => this.enrichDataFromExternalTool(tool))\n\t\t);\n\n\t\treturn enrichedTools;\n\t}\n\n\tprivate async enrichDataFromExternalTool(tool: SchoolExternalTool): Promise {\n\t\tconst externalTool: ExternalTool = await this.externalToolService.findById(tool.toolId);\n\t\tconst status: SchoolExternalToolConfigurationStatus = await this.determineSchoolToolStatus(tool, externalTool);\n\t\tconst schoolExternalTool: SchoolExternalTool = new SchoolExternalTool({\n\t\t\t...tool,\n\t\t\tstatus,\n\t\t\tname: externalTool.name,\n\t\t});\n\n\t\treturn schoolExternalTool;\n\t}\n\n\tprivate async determineSchoolToolStatus(\n\t\ttool: SchoolExternalTool,\n\t\texternalTool: ExternalTool\n\t): Promise {\n\t\tconst status: SchoolExternalToolConfigurationStatus = new SchoolExternalToolConfigurationStatus({\n\t\t\tisOutdatedOnScopeSchool: true,\n\t\t});\n\n\t\tif (this.toolFeatures.toolStatusWithoutVersions) {\n\t\t\ttry {\n\t\t\t\tawait this.schoolExternalToolValidationService.validate(tool);\n\n\t\t\t\tstatus.isOutdatedOnScopeSchool = false;\n\n\t\t\t\treturn status;\n\t\t\t} catch (err) {\n\t\t\t\treturn status;\n\t\t\t}\n\t\t}\n\n\t\tif (externalTool.version {\n\t\tawait this.schoolExternalToolRepo.deleteById(schoolExternalToolId);\n\t}\n\n\tasync saveSchoolExternalTool(schoolExternalTool: SchoolExternalTool): Promise {\n\t\tlet createdSchoolExternalTool: SchoolExternalTool = await this.schoolExternalToolRepo.save(schoolExternalTool);\n\t\tcreatedSchoolExternalTool = await this.enrichDataFromExternalTool(createdSchoolExternalTool);\n\t\treturn createdSchoolExternalTool;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolExternalToolUc.html":{"url":"injectables/SchoolExternalToolUc.html","title":"injectable - SchoolExternalToolUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolExternalToolUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/uc/school-external-tool.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createSchoolExternalTool\n \n \n Async\n deleteSchoolExternalTool\n \n \n Private\n Async\n ensureSchoolPermissions\n \n \n Async\n findSchoolExternalTools\n \n \n Async\n getMetadataForSchoolExternalTool\n \n \n Async\n getSchoolExternalTool\n \n \n Async\n updateSchoolExternalTool\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolExternalToolService: SchoolExternalToolService, contextExternalToolService: ContextExternalToolService, schoolExternalToolValidationService: SchoolExternalToolValidationService, schoolExternalToolMetadataService: SchoolExternalToolMetadataService, toolPermissionHelper: ToolPermissionHelper)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/uc/school-external-tool.uc.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolService\n \n \n SchoolExternalToolService\n \n \n \n No\n \n \n \n \n contextExternalToolService\n \n \n ContextExternalToolService\n \n \n \n No\n \n \n \n \n schoolExternalToolValidationService\n \n \n SchoolExternalToolValidationService\n \n \n \n No\n \n \n \n \n schoolExternalToolMetadataService\n \n \n SchoolExternalToolMetadataService\n \n \n \n No\n \n \n \n \n toolPermissionHelper\n \n \n ToolPermissionHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createSchoolExternalTool\n \n \n \n \n \n \n \n createSchoolExternalTool(userId: EntityId, schoolExternalToolDto: SchoolExternalToolDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/uc/school-external-tool.uc.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolExternalToolDto\n \n SchoolExternalToolDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteSchoolExternalTool\n \n \n \n \n \n \n \n deleteSchoolExternalTool(userId: EntityId, schoolExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/uc/school-external-tool.uc.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n ensureSchoolPermissions\n \n \n \n \n \n \n \n ensureSchoolPermissions(userId: EntityId, tools: SchoolExternalTool[], context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/uc/school-external-tool.uc.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n tools\n \n SchoolExternalTool[]\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findSchoolExternalTools\n \n \n \n \n \n \n \n findSchoolExternalTools(userId: EntityId, query: SchoolExternalToolQueryInput)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/uc/school-external-tool.uc.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n query\n \n SchoolExternalToolQueryInput\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getMetadataForSchoolExternalTool\n \n \n \n \n \n \n \n getMetadataForSchoolExternalTool(userId: EntityId, schoolExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/uc/school-external-tool.uc.ts:105\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getSchoolExternalTool\n \n \n \n \n \n \n \n getSchoolExternalTool(userId: EntityId, schoolExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/uc/school-external-tool.uc.ts:77\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateSchoolExternalTool\n \n \n \n \n \n \n \n updateSchoolExternalTool(userId: EntityId, schoolExternalToolId: string, schoolExternalToolDto: SchoolExternalToolDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/uc/school-external-tool.uc.ts:85\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolExternalToolId\n \n string\n \n\n \n No\n \n\n\n \n \n schoolExternalToolDto\n \n SchoolExternalToolDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContext, AuthorizationContextBuilder } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { ToolPermissionHelper } from '../../common/uc/tool-permission-helper';\nimport { ContextExternalToolService } from '../../context-external-tool/service';\nimport { SchoolExternalTool, SchoolExternalToolMetadata } from '../domain';\nimport {\n\tSchoolExternalToolMetadataService,\n\tSchoolExternalToolService,\n\tSchoolExternalToolValidationService,\n} from '../service';\nimport { SchoolExternalToolDto, SchoolExternalToolQueryInput } from './dto/school-external-tool.types';\n\n@Injectable()\nexport class SchoolExternalToolUc {\n\tconstructor(\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService,\n\t\tprivate readonly schoolExternalToolValidationService: SchoolExternalToolValidationService,\n\t\tprivate readonly schoolExternalToolMetadataService: SchoolExternalToolMetadataService,\n\t\tprivate readonly toolPermissionHelper: ToolPermissionHelper\n\t) {}\n\n\tasync findSchoolExternalTools(userId: EntityId, query: SchoolExternalToolQueryInput): Promise {\n\t\tlet tools: SchoolExternalTool[] = [];\n\t\tif (query.schoolId) {\n\t\t\ttools = await this.schoolExternalToolService.findSchoolExternalTools({ schoolId: query.schoolId });\n\t\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.SCHOOL_TOOL_ADMIN]);\n\n\t\t\tawait this.ensureSchoolPermissions(userId, tools, context);\n\t\t}\n\t\treturn tools;\n\t}\n\n\tasync createSchoolExternalTool(\n\t\tuserId: EntityId,\n\t\tschoolExternalToolDto: SchoolExternalToolDto\n\t): Promise {\n\t\tconst schoolExternalTool = new SchoolExternalTool({ ...schoolExternalToolDto });\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.SCHOOL_TOOL_ADMIN]);\n\n\t\tawait this.toolPermissionHelper.ensureSchoolPermissions(userId, schoolExternalTool, context);\n\t\tawait this.schoolExternalToolValidationService.validate(schoolExternalTool);\n\n\t\tconst createdSchoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.saveSchoolExternalTool(\n\t\t\tschoolExternalTool\n\t\t);\n\n\t\treturn createdSchoolExternalTool;\n\t}\n\n\tprivate async ensureSchoolPermissions(\n\t\tuserId: EntityId,\n\t\ttools: SchoolExternalTool[],\n\t\tcontext: AuthorizationContext\n\t): Promise {\n\t\tawait Promise.all(\n\t\t\ttools.map(async (tool: SchoolExternalTool) =>\n\t\t\t\tthis.toolPermissionHelper.ensureSchoolPermissions(userId, tool, context)\n\t\t\t)\n\t\t);\n\t}\n\n\tasync deleteSchoolExternalTool(userId: EntityId, schoolExternalToolId: EntityId): Promise {\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(schoolExternalToolId);\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.SCHOOL_TOOL_ADMIN]);\n\n\t\tawait this.toolPermissionHelper.ensureSchoolPermissions(userId, schoolExternalTool, context);\n\n\t\tawait Promise.all([\n\t\t\tthis.contextExternalToolService.deleteBySchoolExternalToolId(schoolExternalToolId),\n\t\t\tthis.schoolExternalToolService.deleteSchoolExternalToolById(schoolExternalToolId),\n\t\t]);\n\t}\n\n\tasync getSchoolExternalTool(userId: EntityId, schoolExternalToolId: EntityId): Promise {\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(schoolExternalToolId);\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.SCHOOL_TOOL_ADMIN]);\n\n\t\tawait this.toolPermissionHelper.ensureSchoolPermissions(userId, schoolExternalTool, context);\n\t\treturn schoolExternalTool;\n\t}\n\n\tasync updateSchoolExternalTool(\n\t\tuserId: EntityId,\n\t\tschoolExternalToolId: string,\n\t\tschoolExternalToolDto: SchoolExternalToolDto\n\t): Promise {\n\t\tconst schoolExternalTool = new SchoolExternalTool({ ...schoolExternalToolDto });\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.SCHOOL_TOOL_ADMIN]);\n\n\t\tawait this.toolPermissionHelper.ensureSchoolPermissions(userId, schoolExternalTool, context);\n\t\tawait this.schoolExternalToolValidationService.validate(schoolExternalTool);\n\n\t\tconst updated: SchoolExternalTool = new SchoolExternalTool({\n\t\t\t...schoolExternalToolDto,\n\t\t\tid: schoolExternalToolId,\n\t\t});\n\n\t\tconst saved = await this.schoolExternalToolService.saveSchoolExternalTool(updated);\n\t\treturn saved;\n\t}\n\n\tasync getMetadataForSchoolExternalTool(\n\t\tuserId: EntityId,\n\t\tschoolExternalToolId: EntityId\n\t): Promise {\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(schoolExternalToolId);\n\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.SCHOOL_TOOL_ADMIN]);\n\t\tawait this.toolPermissionHelper.ensureSchoolPermissions(userId, schoolExternalTool, context);\n\n\t\tconst metadata: SchoolExternalToolMetadata = await this.schoolExternalToolMetadataService.getMetadata(\n\t\t\tschoolExternalToolId\n\t\t);\n\n\t\treturn metadata;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolExternalToolValidationService.html":{"url":"injectables/SchoolExternalToolValidationService.html","title":"injectable - SchoolExternalToolValidationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolExternalToolValidationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/service/school-external-tool-validation.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkVersionMatch\n \n \n Async\n validate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolService: ExternalToolService, commonToolValidationService: CommonToolValidationService, toolFeatures: IToolFeatures)\n \n \n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool-validation.service.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n commonToolValidationService\n \n \n CommonToolValidationService\n \n \n \n No\n \n \n \n \n toolFeatures\n \n \n IToolFeatures\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkVersionMatch\n \n \n \n \n \n \n \n checkVersionMatch(schoolExternalToolVersion: number, externalToolVersion: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool-validation.service.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolVersion\n \n number\n \n\n \n No\n \n\n\n \n \n externalToolVersion\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n validate\n \n \n \n \n \n \n \n validate(schoolExternalTool: SchoolExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/service/school-external-tool-validation.service.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Inject, Injectable } from '@nestjs/common';\nimport { ValidationError } from '@shared/common';\nimport { CommonToolValidationService } from '../../common/service';\nimport { ExternalTool } from '../../external-tool/domain';\nimport { ExternalToolService } from '../../external-tool/service';\nimport { IToolFeatures, ToolFeatures } from '../../tool-config';\nimport { SchoolExternalTool } from '../domain';\n\n@Injectable()\nexport class SchoolExternalToolValidationService {\n\tconstructor(\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly commonToolValidationService: CommonToolValidationService,\n\t\t@Inject(ToolFeatures) private readonly toolFeatures: IToolFeatures\n\t) {}\n\n\tasync validate(schoolExternalTool: SchoolExternalTool): Promise {\n\t\tconst loadedExternalTool: ExternalTool = await this.externalToolService.findById(schoolExternalTool.toolId);\n\n\t\tif (!this.toolFeatures.toolStatusWithoutVersions) {\n\t\t\tthis.checkVersionMatch(schoolExternalTool.toolVersion, loadedExternalTool.version);\n\t\t}\n\n\t\tthis.commonToolValidationService.checkCustomParameterEntries(loadedExternalTool, schoolExternalTool);\n\t}\n\n\tprivate checkVersionMatch(schoolExternalToolVersion: number, externalToolVersion: number): void {\n\t\tif (schoolExternalToolVersion !== externalToolVersion) {\n\t\t\tthrow new ValidationError(\n\t\t\t\t`tool_version_mismatch: The version ${schoolExternalToolVersion} of given schoolExternalTool does not match the externalTool version ${externalToolVersion}.`\n\t\t\t);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolForGroupNotFoundLoggable.html":{"url":"classes/SchoolForGroupNotFoundLoggable.html","title":"class - SchoolForGroupNotFoundLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolForGroupNotFoundLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/loggable/school-for-group-not-found.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(group: ExternalGroupDto, school: ExternalSchoolDto)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/loggable/school-for-group-not-found.loggable.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n group\n \n \n ExternalGroupDto\n \n \n \n No\n \n \n \n \n school\n \n \n ExternalSchoolDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/loggable/school-for-group-not-found.loggable.ts:7\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { ExternalGroupDto, ExternalSchoolDto } from '../dto';\n\nexport class SchoolForGroupNotFoundLoggable implements Loggable {\n\tconstructor(private readonly group: ExternalGroupDto, private readonly school: ExternalSchoolDto) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'Unable to provision group, since the connected school cannot be found.',\n\t\t\tdata: {\n\t\t\t\texternalGroupId: this.group.externalId,\n\t\t\t\texternalOrganizationId: this.school.externalId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolIdDoesNotMatchWithUserSchoolId.html":{"url":"classes/SchoolIdDoesNotMatchWithUserSchoolId.html","title":"class - SchoolIdDoesNotMatchWithUserSchoolId","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolIdDoesNotMatchWithUserSchoolId\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/loggable/school-id-does-not-match-with-user-school-id.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userMatchSchoolId: string, importUserSchoolId: string, schoolId?: EntityId)\n \n \n \n \n Defined in apps/server/src/modules/user-import/loggable/school-id-does-not-match-with-user-school-id.loggable.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userMatchSchoolId\n \n \n string\n \n \n \n No\n \n \n \n \n importUserSchoolId\n \n \n string\n \n \n \n No\n \n \n \n \n schoolId\n \n \n EntityId\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/loggable/school-id-does-not-match-with-user-school-id.loggable.ts:11\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class SchoolIdDoesNotMatchWithUserSchoolId implements Loggable {\n\tconstructor(\n\t\tprivate readonly userMatchSchoolId: string,\n\t\tprivate readonly importUserSchoolId: string,\n\t\tprivate readonly schoolId?: EntityId\n\t) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'School ID does not match with user school ID or with imported user school ID',\n\t\t\tdata: {\n\t\t\t\tuserMatchSchoolId: this.userMatchSchoolId,\n\t\t\t\timportUserId: this.importUserSchoolId,\n\t\t\t\tschoolId: this.schoolId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolIdParams.html":{"url":"classes/SchoolIdParams.html","title":"class - SchoolIdParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolIdParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/controller/dto/request/school-id.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/request/school-id.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { EntityId } from '@shared/domain/types';\nimport { IsMongoId } from 'class-validator';\n\nexport class SchoolIdParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolIdParams-1.html":{"url":"classes/SchoolIdParams-1.html","title":"class - SchoolIdParams-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolIdParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/school-id.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/request/school-id.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { EntityId } from '@shared/domain/types';\nimport { IsMongoId } from 'class-validator';\n\nexport class SchoolIdParams {\n\t@IsMongoId()\n\t@ApiProperty()\n\tschoolId!: EntityId;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolInMigrationLoggableException.html":{"url":"classes/SchoolInMigrationLoggableException.html","title":"class - SchoolInMigrationLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolInMigrationLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/loggable/school-in-migration.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor()\n \n \n \n \n Defined in apps/server/src/modules/authentication/loggable/school-in-migration.loggable-exception.ts:5\n \n \n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/loggable/school-in-migration.loggable-exception.ts:17\n \n \n\n\n \n \n\n \n Returns : ErrorLogMessage\n\n \n \n \n \n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { BusinessError } from '@shared/common';\nimport { ErrorLogMessage, Loggable } from '@src/core/logger';\n\nexport class SchoolInMigrationLoggableException extends BusinessError implements Loggable {\n\tconstructor() {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'SCHOOL_IN_MIGRATION',\n\t\t\t\ttitle: 'Login failed because school is in migration',\n\t\t\t\tdefaultMessage: 'Login failed because creation of user is not possible during migration',\n\t\t\t},\n\t\t\tHttpStatus.UNAUTHORIZED\n\t\t);\n\t}\n\n\tgetLogMessage(): ErrorLogMessage {\n\t\treturn {\n\t\t\ttype: this.type,\n\t\t\tstack: this.stack,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolInUserMigrationEndLoggable.html":{"url":"classes/SchoolInUserMigrationEndLoggable.html","title":"class - SchoolInUserMigrationEndLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolInUserMigrationEndLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/loggable/school-in-user-migration-end.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolName: string)\n \n \n \n \n Defined in apps/server/src/modules/user-import/loggable/school-in-user-migration-end.loggable.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolName\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/loggable/school-in-user-migration-end.loggable.ts:6\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class SchoolInUserMigrationEndLoggable implements Loggable {\n\tconstructor(private readonly schoolName: string) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'Migration for school is completed',\n\t\t\tdata: {\n\t\t\t\tschoolName: this.schoolName,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolInUserMigrationStartLoggable.html":{"url":"classes/SchoolInUserMigrationStartLoggable.html","title":"class - SchoolInUserMigrationStartLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolInUserMigrationStartLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/loggable/school-in-user-migration-start.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userId: EntityId, schoolName: string, useCentralLdap: boolean)\n \n \n \n \n Defined in apps/server/src/modules/user-import/loggable/school-in-user-migration-start.loggable.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n schoolName\n \n \n string\n \n \n \n No\n \n \n \n \n useCentralLdap\n \n \n boolean\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/loggable/school-in-user-migration-start.loggable.ts:11\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class SchoolInUserMigrationStartLoggable implements Loggable {\n\tconstructor(\n\t\tprivate readonly userId: EntityId,\n\t\tprivate readonly schoolName: string,\n\t\tprivate readonly useCentralLdap: boolean\n\t) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'The school administrator started the migration for his school.',\n\t\t\tdata: {\n\t\t\t\tcurrentUserId: this.userId,\n\t\t\t\tschoolName: this.schoolName,\n\t\t\t\tcentralLdap: this.useCentralLdap,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolInfoMapper.html":{"url":"classes/SchoolInfoMapper.html","title":"class - SchoolInfoMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolInfoMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/mapper/school-info.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(schoolInfo: SchoolEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/mapper/school-info.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolInfo\n \n SchoolEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolInfoResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { SchoolEntity } from '@shared/domain/entity';\nimport { SchoolInfoResponse } from '../controller/dto';\n\nexport class SchoolInfoMapper {\n\tstatic mapToResponse(schoolInfo: SchoolEntity): SchoolInfoResponse {\n\t\tconst dto = new SchoolInfoResponse({ id: schoolInfo.id, name: schoolInfo.name });\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolInfoResponse.html":{"url":"classes/SchoolInfoResponse.html","title":"class - SchoolInfoResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolInfoResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/dto/school-info.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: SchoolInfoResponse)\n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/school-info.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n SchoolInfoResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}', description: 'The id of the School entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/school-info.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The name of the School entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/school-info.response.ts:18\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class SchoolInfoResponse {\n\tconstructor({ id, name }: SchoolInfoResponse) {\n\t\tthis.id = id;\n\t\tthis.name = name;\n\t}\n\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'The id of the School entity',\n\t})\n\tid: string;\n\n\t@ApiProperty({\n\t\tdescription: 'The name of the School entity',\n\t})\n\tname: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html":{"url":"classes/SchoolMigrationDatabaseOperationFailedLoggableException.html","title":"class - SchoolMigrationDatabaseOperationFailedLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolMigrationDatabaseOperationFailedLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/school-migration-database-operation-failed.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n InternalServerErrorException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(school: LegacySchoolDo, operation: \"migration\" | \"rollback\", error)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/school-migration-database-operation-failed.loggable-exception.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n school\n \n \n LegacySchoolDo\n \n \n \n No\n \n \n \n \n operation\n \n \n \"migration\" | \"rollback\"\n \n \n \n No\n \n \n \n \n error\n \n \n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n getLogMessage\n \n \n \n \n \n \n \n getLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/school-migration-database-operation-failed.loggable-exception.ts:19\n \n \n\n\n \n \n\n \n Returns : ErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { InternalServerErrorException } from '@nestjs/common';\nimport { LegacySchoolDo } from '@shared/domain/domainobject';\nimport { ErrorUtils } from '@src/core/error/utils';\nimport { ErrorLogMessage, Loggable } from '@src/core/logger';\n\nexport class SchoolMigrationDatabaseOperationFailedLoggableException\n\textends InternalServerErrorException\n\timplements Loggable\n{\n\t// TODO: Remove undefined type from schoolId when using the new School DO\n\tconstructor(\n\t\tprivate readonly school: LegacySchoolDo,\n\t\tprivate readonly operation: 'migration' | 'rollback',\n\t\terror: unknown\n\t) {\n\t\tsuper(ErrorUtils.createHttpExceptionOptions(error));\n\t}\n\n\tpublic getLogMessage(): ErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'SCHOOL_LOGIN_MIGRATION_DATABASE_OPERATION_FAILED',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tschoolId: this.school.id,\n\t\t\t\toperation: this.operation,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolMigrationService.html":{"url":"injectables/SchoolMigrationService.html","title":"injectable - SchoolMigrationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolMigrationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/service/school-migration.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkOfficialSchoolNumbersMatch\n \n \n Private\n Async\n doMigration\n \n \n Public\n Async\n getSchoolForMigration\n \n \n Private\n hasSchoolMigrated\n \n \n Public\n Async\n hasSchoolMigratedUser\n \n \n Public\n Async\n markUnmigratedUsersAsOutdated\n \n \n Public\n Async\n migrateSchool\n \n \n Private\n Async\n tryRollbackMigration\n \n \n Public\n Async\n unmarkOutdatedUsers\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolService: LegacySchoolService, legacyLogger: LegacyLogger, logger: Logger, userService: UserService, userLoginMigrationRepo: UserLoginMigrationRepo)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.service.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n legacyLogger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n userLoginMigrationRepo\n \n \n UserLoginMigrationRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkOfficialSchoolNumbersMatch\n \n \n \n \n \n \n \n checkOfficialSchoolNumbersMatch(schoolDO: LegacySchoolDo, officialExternalSchoolNumber: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.service.ts:81\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolDO\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n officialExternalSchoolNumber\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n doMigration\n \n \n \n \n \n \n \n doMigration(externalId: string, school: LegacySchoolDo, targetSystemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.service.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalId\n \n string\n \n\n \n No\n \n\n\n \n \n school\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n targetSystemId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getSchoolForMigration\n \n \n \n \n \n \n \n getSchoolForMigration(userId: string, externalId: string, officialSchoolNumber: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.service.ts:62\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n externalId\n \n string\n \n\n \n No\n \n\n\n \n \n officialSchoolNumber\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n hasSchoolMigrated\n \n \n \n \n \n \n \n hasSchoolMigrated(sourceExternalId: string | undefined, targetExternalId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.service.ts:90\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n sourceExternalId\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n targetExternalId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n hasSchoolMigratedUser\n \n \n \n \n \n \n \n hasSchoolMigratedUser(schoolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.service.ts:139\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n markUnmigratedUsersAsOutdated\n \n \n \n \n \n \n \n markUnmigratedUsersAsOutdated(userLoginMigration: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.service.ts:96\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigration\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n migrateSchool\n \n \n \n \n \n \n \n migrateSchool(existingSchool: LegacySchoolDo, externalId: string, targetSystemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.service.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n existingSchool\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n externalId\n \n string\n \n\n \n No\n \n\n\n \n \n targetSystemId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n tryRollbackMigration\n \n \n \n \n \n \n \n tryRollbackMigration(originalSchoolDO: LegacySchoolDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.service.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n originalSchoolDO\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n unmarkOutdatedUsers\n \n \n \n \n \n \n \n unmarkOutdatedUsers(userLoginMigration: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/school-migration.service.ts:119\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigration\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { LegacySchoolService } from '@modules/legacy-school';\nimport { UserService } from '@modules/user';\nimport { Injectable } from '@nestjs/common';\nimport { LegacySchoolDo, Page, UserDO, UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { UserLoginMigrationRepo } from '@shared/repo';\nimport { LegacyLogger, Logger } from '@src/core/logger';\nimport { performance } from 'perf_hooks';\nimport {\n\tSchoolMigrationDatabaseOperationFailedLoggableException,\n\tSchoolNumberMismatchLoggableException,\n} from '../loggable';\n\n@Injectable()\nexport class SchoolMigrationService {\n\tconstructor(\n\t\tprivate readonly schoolService: LegacySchoolService,\n\t\tprivate readonly legacyLogger: LegacyLogger,\n\t\tprivate readonly logger: Logger,\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly userLoginMigrationRepo: UserLoginMigrationRepo\n\t) {}\n\n\tpublic async migrateSchool(\n\t\texistingSchool: LegacySchoolDo,\n\t\texternalId: string,\n\t\ttargetSystemId: string\n\t): Promise {\n\t\tconst schoolDOCopy: LegacySchoolDo = new LegacySchoolDo({ ...existingSchool });\n\n\t\ttry {\n\t\t\tawait this.doMigration(externalId, existingSchool, targetSystemId);\n\t\t} catch (error: unknown) {\n\t\t\tawait this.tryRollbackMigration(schoolDOCopy);\n\n\t\t\tthrow new SchoolMigrationDatabaseOperationFailedLoggableException(existingSchool, 'migration', error);\n\t\t}\n\t}\n\n\tprivate async doMigration(externalId: string, school: LegacySchoolDo, targetSystemId: string): Promise {\n\t\tschool.previousExternalId = school.externalId;\n\t\tschool.externalId = externalId;\n\t\tif (!school.systems) {\n\t\t\tschool.systems = [];\n\t\t}\n\t\tif (!school.systems.includes(targetSystemId)) {\n\t\t\tschool.systems.push(targetSystemId);\n\t\t}\n\n\t\tawait this.schoolService.save(school);\n\t}\n\n\tprivate async tryRollbackMigration(originalSchoolDO: LegacySchoolDo): Promise {\n\t\ttry {\n\t\t\tawait this.schoolService.save(originalSchoolDO);\n\t\t} catch (error: unknown) {\n\t\t\tthis.logger.warning(\n\t\t\t\tnew SchoolMigrationDatabaseOperationFailedLoggableException(originalSchoolDO, 'rollback', error)\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic async getSchoolForMigration(\n\t\tuserId: string,\n\t\texternalId: string,\n\t\tofficialSchoolNumber: string\n\t): Promise {\n\t\tconst user: UserDO = await this.userService.findById(userId);\n\t\tconst school: LegacySchoolDo = await this.schoolService.getSchoolById(user.schoolId);\n\n\t\tthis.checkOfficialSchoolNumbersMatch(school, officialSchoolNumber);\n\n\t\tconst schoolMigrated: boolean = this.hasSchoolMigrated(school.externalId, externalId);\n\n\t\tif (schoolMigrated) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn school;\n\t}\n\n\tprivate checkOfficialSchoolNumbersMatch(schoolDO: LegacySchoolDo, officialExternalSchoolNumber: string): void {\n\t\tif (schoolDO.officialSchoolNumber !== officialExternalSchoolNumber) {\n\t\t\tthrow new SchoolNumberMismatchLoggableException(\n\t\t\t\tschoolDO.officialSchoolNumber ?? '',\n\t\t\t\tofficialExternalSchoolNumber\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate hasSchoolMigrated(sourceExternalId: string | undefined, targetExternalId: string): boolean {\n\t\tconst isExternalIdEquivalent: boolean = sourceExternalId === targetExternalId;\n\n\t\treturn isExternalIdEquivalent;\n\t}\n\n\tpublic async markUnmigratedUsersAsOutdated(userLoginMigration: UserLoginMigrationDO): Promise {\n\t\tconst startTime: number = performance.now();\n\n\t\tconst notMigratedUsers: Page = await this.userService.findUsers({\n\t\t\tschoolId: userLoginMigration.schoolId,\n\t\t\tisOutdated: false,\n\t\t\tlastLoginSystemChangeSmallerThan: userLoginMigration.startedAt,\n\t\t});\n\n\t\tnotMigratedUsers.data.forEach((user: UserDO) => {\n\t\t\tuser.outdatedSince = userLoginMigration.closedAt;\n\t\t});\n\n\t\tawait this.userService.saveAll(notMigratedUsers.data);\n\n\t\tconst endTime: number = performance.now();\n\t\tthis.legacyLogger.warn(\n\t\t\t`markUnmigratedUsersAsOutdated for schoolId ${userLoginMigration.schoolId} took ${\n\t\t\t\tendTime - startTime\n\t\t\t} milliseconds`\n\t\t);\n\t}\n\n\tpublic async unmarkOutdatedUsers(userLoginMigration: UserLoginMigrationDO): Promise {\n\t\tconst startTime: number = performance.now();\n\n\t\tconst migratedUsers: Page = await this.userService.findUsers({\n\t\t\tschoolId: userLoginMigration.schoolId,\n\t\t\toutdatedSince: userLoginMigration.finishedAt,\n\t\t});\n\n\t\tmigratedUsers.data.forEach((user: UserDO) => {\n\t\t\tuser.outdatedSince = undefined;\n\t\t});\n\n\t\tawait this.userService.saveAll(migratedUsers.data);\n\n\t\tconst endTime: number = performance.now();\n\t\tthis.legacyLogger.warn(\n\t\t\t`unmarkOutdatedUsers for schoolId ${userLoginMigration.schoolId} took ${endTime - startTime} milliseconds`\n\t\t);\n\t}\n\n\tpublic async hasSchoolMigratedUser(schoolId: string): Promise {\n\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationRepo.findBySchoolId(schoolId);\n\n\t\tif (!userLoginMigration) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst users: Page = await this.userService.findUsers({\n\t\t\tlastLoginSystemChangeBetweenStart: userLoginMigration.startedAt,\n\t\t\tlastLoginSystemChangeBetweenEnd: userLoginMigration.closedAt,\n\t\t});\n\n\t\tif (users.total > 0) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolMigrationSuccessfulLoggable.html":{"url":"classes/SchoolMigrationSuccessfulLoggable.html","title":"class - SchoolMigrationSuccessfulLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolMigrationSuccessfulLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/debug/school-migration-successful.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(school: LegacySchoolDo, userLoginMigration: UserLoginMigrationDO)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/debug/school-migration-successful.loggable.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n school\n \n \n LegacySchoolDo\n \n \n \n No\n \n \n \n \n userLoginMigration\n \n \n UserLoginMigrationDO\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/debug/school-migration-successful.loggable.ts:7\n \n \n\n\n \n \n\n \n Returns : LogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { LegacySchoolDo, UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { Loggable, LogMessage } from '@src/core/logger';\n\nexport class SchoolMigrationSuccessfulLoggable implements Loggable {\n\tconstructor(private readonly school: LegacySchoolDo, private readonly userLoginMigration: UserLoginMigrationDO) {}\n\n\tgetLogMessage(): LogMessage {\n\t\treturn {\n\t\t\tmessage: 'A school has successfully migrated.',\n\t\t\tdata: {\n\t\t\t\tschoolId: this.school.id,\n\t\t\t\texternalId: this.school.externalId,\n\t\t\t\tpreviousExternalId: this.school.previousExternalId,\n\t\t\t\tuserLoginMigrationId: this.userLoginMigration.id,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/SchoolNews.html":{"url":"entities/SchoolNews.html","title":"entity - SchoolNews","body":"\n \n\n\n\n\n\n\n\n Entities\n SchoolNews\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/news.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n target\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : SchoolEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined)\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:102\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Enum, Index, ManyToOne, Property } from '@mikro-orm/core';\nimport { EntityId } from '../types';\nimport { NewsTarget, NewsTargetModel } from '../types/news.types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { TeamEntity } from './team.entity';\nimport type { User } from './user.entity';\n\nexport interface NewsProperties {\n\ttitle: string;\n\tcontent: string;\n\tdisplayAt: Date;\n\tschool: EntityId | SchoolEntity;\n\tcreator: EntityId | User;\n\ttarget: EntityId | NewsTarget;\n\n\texternalId?: string;\n\tsource?: 'internal' | 'rss';\n\tsourceDescription?: string;\n\tupdater?: User;\n}\n\n@Entity({\n\tdiscriminatorColumn: 'targetModel',\n\tabstract: true,\n})\n@Index({ properties: ['school', 'target'] })\n@Index({ properties: ['school', 'target', 'targetModel'] })\n@Index({ properties: ['target', 'targetModel'] })\nexport abstract class News extends BaseEntityWithTimestamps {\n\t/** the news title */\n\t@Property()\n\ttitle: string;\n\n\t/** the news content as html */\n\t@Property()\n\tcontent: string;\n\n\t/** only past news are visible for viewers, when edit permission, news visible in the future might be accessed too */\n\t@Property()\n\t@Index()\n\tdisplayAt: Date;\n\n\t@Property({ nullable: true })\n\texternalId?: string;\n\n\t@Property({ nullable: true })\n\tsource?: 'internal' | 'rss';\n\n\t@Property({ nullable: true })\n\tsourceDescription?: string;\n\n\t/** id reference to a collection populated later with name */\n\ttarget!: NewsTarget;\n\n\t/** name of a collection which is referenced in target */\n\t@Enum()\n\ttargetModel!: NewsTargetModel;\n\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool!: SchoolEntity;\n\n\t@ManyToOne('User', { fieldName: 'creatorId' })\n\tcreator!: User;\n\n\t@ManyToOne('User', { fieldName: 'updaterId', nullable: true })\n\tupdater?: User;\n\n\tpermissions: string[] = [];\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper();\n\t\tthis.title = props.title;\n\t\tthis.content = props.content;\n\t\tthis.displayAt = props.displayAt;\n\t\tObject.assign(this, { school: props.school, creator: props.creator, updater: props.updater, target: props.target });\n\t\tthis.externalId = props.externalId;\n\t\tthis.source = props.source;\n\t\tthis.sourceDescription = props.sourceDescription;\n\t}\n\n\tstatic createInstance(targetModel: NewsTargetModel, props: NewsProperties): News {\n\t\tlet news: News;\n\t\tif (targetModel === NewsTargetModel.Course) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new CourseNews(props);\n\t\t} else if (targetModel === NewsTargetModel.Team) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new TeamNews(props);\n\t\t} else {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new SchoolNews(props);\n\t\t}\n\t\treturn news;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.School })\nexport class SchoolNews extends News {\n\t@ManyToOne(() => SchoolEntity)\n\ttarget!: SchoolEntity;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.School;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.Course })\nexport class CourseNews extends News {\n\t// FIXME Due to a weird behaviour in the mikro-orm validation we have to\n\t// disable the validation by setting the reference nullable.\n\t// Remove when fixed in mikro-orm.\n\t@ManyToOne('Course', { nullable: true })\n\ttarget!: Course;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.Course;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.Team })\nexport class TeamNews extends News {\n\t@ManyToOne('TeamEntity')\n\ttarget!: TeamEntity;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.Team;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolNumberDuplicateLoggableException.html":{"url":"classes/SchoolNumberDuplicateLoggableException.html","title":"class - SchoolNumberDuplicateLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolNumberDuplicateLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/legacy-school/loggable/school-number-duplicate.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n UnprocessableEntityException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(officialSchoolNumber: string)\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/loggable/school-number-duplicate.loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n officialSchoolNumber\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/loggable/school-number-duplicate.loggable-exception.ts:9\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UnprocessableEntityException } from '@nestjs/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class SchoolNumberDuplicateLoggableException extends UnprocessableEntityException implements Loggable {\n\tconstructor(private readonly officialSchoolNumber: string) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'SCHOOL_NUMBER_DUPLICATE',\n\t\t\tmessage: 'Unable to save the school. A school with this official school number does already exist.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tofficialSchoolNumber: this.officialSchoolNumber,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolNumberMismatchLoggableException.html":{"url":"classes/SchoolNumberMismatchLoggableException.html","title":"class - SchoolNumberMismatchLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolNumberMismatchLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/school-number-mismatch.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(sourceSchoolNumber: string, targetSchoolNumber: string)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/school-number-mismatch.loggable-exception.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n sourceSchoolNumber\n \n \n string\n \n \n \n No\n \n \n \n \n targetSchoolNumber\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/school-number-mismatch.loggable-exception.ts:21\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { BusinessError } from '@shared/common';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class SchoolNumberMismatchLoggableException extends BusinessError implements Loggable {\n\tconstructor(private readonly sourceSchoolNumber: string, private readonly targetSchoolNumber: string) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'SCHOOL_MIGRATION_FAILED',\n\t\t\t\ttitle: 'Migration of school failed.',\n\t\t\t\tdefaultMessage: 'School could not migrate during user migration process.',\n\t\t\t},\n\t\t\tHttpStatus.INTERNAL_SERVER_ERROR,\n\t\t\t{\n\t\t\t\tsourceSchoolNumber,\n\t\t\t\ttargetSchoolNumber,\n\t\t\t}\n\t\t);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: this.type,\n\t\t\tmessage: this.message,\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tsourceSchoolNumber: this.sourceSchoolNumber,\n\t\t\t\ttargetSchoolNumber: this.targetSchoolNumber,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolNumberMissingLoggableException.html":{"url":"classes/SchoolNumberMissingLoggableException.html","title":"class - SchoolNumberMissingLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolNumberMissingLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/school-number-missing.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n UnprocessableEntityException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolId: EntityId)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/school-number-missing.loggable-exception.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/school-number-missing.loggable-exception.ts:10\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UnprocessableEntityException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class SchoolNumberMissingLoggableException extends UnprocessableEntityException implements Loggable {\n\tconstructor(private readonly schoolId: EntityId) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'SCHOOL_NUMBER_MISSING',\n\t\t\tmessage: 'The school is missing a official school number.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tschoolId: this.schoolId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SchoolProperties.html":{"url":"interfaces/SchoolProperties.html","title":"interface - SchoolProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SchoolProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/school.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n _id\n \n \n \n Optional\n \n externalId\n \n \n \n Optional\n \n features\n \n \n \n \n federalState\n \n \n \n Optional\n \n inMaintenanceSince\n \n \n \n Optional\n \n inUserMigration\n \n \n \n \n name\n \n \n \n Optional\n \n officialSchoolNumber\n \n \n \n Optional\n \n previousExternalId\n \n \n \n Optional\n \n schoolYear\n \n \n \n Optional\n \n systems\n \n \n \n Optional\n \n userLoginMigration\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n _id\n \n \n \n \n \n \n \n \n _id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n externalId\n \n \n \n \n \n \n \n \n externalId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n features\n \n \n \n \n \n \n \n \n features: SchoolFeatures[]\n\n \n \n\n\n \n \n Type : SchoolFeatures[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n federalState\n \n \n \n \n \n \n \n \n federalState: FederalStateEntity\n\n \n \n\n\n \n \n Type : FederalStateEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n inMaintenanceSince\n \n \n \n \n \n \n \n \n inMaintenanceSince: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n inUserMigration\n \n \n \n \n \n \n \n \n inUserMigration: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n officialSchoolNumber\n \n \n \n \n \n \n \n \n officialSchoolNumber: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n previousExternalId\n \n \n \n \n \n \n \n \n previousExternalId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n schoolYear\n \n \n \n \n \n \n \n \n schoolYear: SchoolYearEntity\n\n \n \n\n\n \n \n Type : SchoolYearEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n systems\n \n \n \n \n \n \n \n \n systems: SystemEntity[]\n\n \n \n\n\n \n \n Type : SystemEntity[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n userLoginMigration\n \n \n \n \n \n \n \n \n userLoginMigration: UserLoginMigrationEntity\n\n \n \n\n\n \n \n Type : UserLoginMigrationEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import {\n\tCollection,\n\tEmbeddable,\n\tEmbedded,\n\tEntity,\n\tIndex,\n\tManyToMany,\n\tManyToOne,\n\tOneToOne,\n\tProperty,\n} from '@mikro-orm/core';\nimport { UserLoginMigrationEntity } from '@shared/domain/entity/user-login-migration.entity';\nimport { BaseEntity } from './base.entity';\nimport { FederalStateEntity } from './federal-state.entity';\nimport { SchoolYearEntity } from './schoolyear.entity';\nimport { SystemEntity } from './system.entity';\n\nexport enum SchoolFeatures {\n\tROCKET_CHAT = 'rocketChat',\n\tVIDEOCONFERENCE = 'videoconference',\n\tNEXTCLOUD = 'nextcloud',\n\tSTUDENTVISIBILITY = 'studentVisibility', // deprecated\n\tLDAP_UNIVENTION_MIGRATION = 'ldapUniventionMigrationSchool',\n\tOAUTH_PROVISIONING_ENABLED = 'oauthProvisioningEnabled',\n\tSHOW_OUTDATED_USERS = 'showOutdatedUsers',\n\tENABLE_LDAP_SYNC_DURING_MIGRATION = 'enableLdapSyncDuringMigration',\n}\n\nexport interface SchoolProperties {\n\t_id?: string;\n\texternalId?: string;\n\tinMaintenanceSince?: Date;\n\tinUserMigration?: boolean;\n\tpreviousExternalId?: string;\n\tname: string;\n\tofficialSchoolNumber?: string;\n\tsystems?: SystemEntity[];\n\tfeatures?: SchoolFeatures[];\n\tschoolYear?: SchoolYearEntity;\n\tuserLoginMigration?: UserLoginMigrationEntity;\n\tfederalState: FederalStateEntity;\n}\n\n@Embeddable()\nexport class SchoolRolePermission {\n\t@Property({ nullable: true })\n\tSTUDENT_LIST?: boolean;\n\n\t@Property({ nullable: true })\n\tLERNSTORE_VIEW?: boolean;\n}\n\n@Embeddable()\nexport class SchoolRoles {\n\t@Property({ nullable: true, fieldName: 'student' })\n\tstudent?: SchoolRolePermission;\n\n\t@Property({ nullable: true, fieldName: 'teacher' })\n\tteacher?: SchoolRolePermission;\n}\n\n@Entity({ tableName: 'schools' })\n@Index({ properties: ['externalId', 'systems'] })\nexport class SchoolEntity extends BaseEntity {\n\t@Property({ nullable: true })\n\tfeatures?: SchoolFeatures[];\n\n\t@Property({ nullable: true })\n\tinMaintenanceSince?: Date;\n\n\t@Property({ nullable: true })\n\tinUserMigration?: boolean;\n\n\t@Property({ nullable: true, fieldName: 'ldapSchoolIdentifier' })\n\texternalId?: string;\n\n\t@Property({ nullable: true })\n\tpreviousExternalId?: string;\n\n\t@Property()\n\tname: string;\n\n\t@Property({ nullable: true })\n\tofficialSchoolNumber?: string;\n\n\t@ManyToMany(() => SystemEntity, undefined, { fieldName: 'systems' })\n\tsystems = new Collection(this);\n\n\t@Embedded(() => SchoolRoles, { object: true, nullable: true, prefix: false })\n\tpermissions?: SchoolRoles;\n\n\t@ManyToOne(() => SchoolYearEntity, { fieldName: 'currentYear', nullable: true })\n\tschoolYear?: SchoolYearEntity;\n\n\t@OneToOne(\n\t\t() => UserLoginMigrationEntity,\n\t\t(userLoginMigration: UserLoginMigrationEntity) => userLoginMigration.school,\n\t\t{\n\t\t\torphanRemoval: true,\n\t\t}\n\t)\n\tuserLoginMigration?: UserLoginMigrationEntity;\n\n\t@ManyToOne(() => FederalStateEntity, { fieldName: 'federalState', nullable: false })\n\tfederalState: FederalStateEntity;\n\n\tconstructor(props: SchoolProperties) {\n\t\tsuper();\n\t\tif (props.externalId) {\n\t\t\tthis.externalId = props.externalId;\n\t\t}\n\t\tif (props.previousExternalId) {\n\t\t\tthis.previousExternalId = props.previousExternalId;\n\t\t}\n\t\tthis.inMaintenanceSince = props.inMaintenanceSince;\n\t\tif (props.inUserMigration !== null) {\n\t\t\tthis.inUserMigration = props.inUserMigration;\n\t\t}\n\t\tthis.name = props.name;\n\t\tif (props.officialSchoolNumber) {\n\t\t\tthis.officialSchoolNumber = props.officialSchoolNumber;\n\t\t}\n\t\tif (props.systems) {\n\t\t\tthis.systems.set(props.systems);\n\t\t}\n\t\tif (props.features) {\n\t\t\tthis.features = props.features;\n\t\t}\n\t\tif (props.schoolYear) {\n\t\t\tthis.schoolYear = props.schoolYear;\n\t\t}\n\t\tif (props.userLoginMigration) {\n\t\t\tthis.userLoginMigration = props.userLoginMigration;\n\t\t}\n\t\tthis.federalState = props.federalState;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolRolePermission.html":{"url":"classes/SchoolRolePermission.html","title":"class - SchoolRolePermission","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolRolePermission\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/school.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n LERNSTORE_VIEW\n \n \n \n Optional\n STUDENT_LIST\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n LERNSTORE_VIEW\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/school.entity.ts:50\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n STUDENT_LIST\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/school.entity.ts:47\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import {\n\tCollection,\n\tEmbeddable,\n\tEmbedded,\n\tEntity,\n\tIndex,\n\tManyToMany,\n\tManyToOne,\n\tOneToOne,\n\tProperty,\n} from '@mikro-orm/core';\nimport { UserLoginMigrationEntity } from '@shared/domain/entity/user-login-migration.entity';\nimport { BaseEntity } from './base.entity';\nimport { FederalStateEntity } from './federal-state.entity';\nimport { SchoolYearEntity } from './schoolyear.entity';\nimport { SystemEntity } from './system.entity';\n\nexport enum SchoolFeatures {\n\tROCKET_CHAT = 'rocketChat',\n\tVIDEOCONFERENCE = 'videoconference',\n\tNEXTCLOUD = 'nextcloud',\n\tSTUDENTVISIBILITY = 'studentVisibility', // deprecated\n\tLDAP_UNIVENTION_MIGRATION = 'ldapUniventionMigrationSchool',\n\tOAUTH_PROVISIONING_ENABLED = 'oauthProvisioningEnabled',\n\tSHOW_OUTDATED_USERS = 'showOutdatedUsers',\n\tENABLE_LDAP_SYNC_DURING_MIGRATION = 'enableLdapSyncDuringMigration',\n}\n\nexport interface SchoolProperties {\n\t_id?: string;\n\texternalId?: string;\n\tinMaintenanceSince?: Date;\n\tinUserMigration?: boolean;\n\tpreviousExternalId?: string;\n\tname: string;\n\tofficialSchoolNumber?: string;\n\tsystems?: SystemEntity[];\n\tfeatures?: SchoolFeatures[];\n\tschoolYear?: SchoolYearEntity;\n\tuserLoginMigration?: UserLoginMigrationEntity;\n\tfederalState: FederalStateEntity;\n}\n\n@Embeddable()\nexport class SchoolRolePermission {\n\t@Property({ nullable: true })\n\tSTUDENT_LIST?: boolean;\n\n\t@Property({ nullable: true })\n\tLERNSTORE_VIEW?: boolean;\n}\n\n@Embeddable()\nexport class SchoolRoles {\n\t@Property({ nullable: true, fieldName: 'student' })\n\tstudent?: SchoolRolePermission;\n\n\t@Property({ nullable: true, fieldName: 'teacher' })\n\tteacher?: SchoolRolePermission;\n}\n\n@Entity({ tableName: 'schools' })\n@Index({ properties: ['externalId', 'systems'] })\nexport class SchoolEntity extends BaseEntity {\n\t@Property({ nullable: true })\n\tfeatures?: SchoolFeatures[];\n\n\t@Property({ nullable: true })\n\tinMaintenanceSince?: Date;\n\n\t@Property({ nullable: true })\n\tinUserMigration?: boolean;\n\n\t@Property({ nullable: true, fieldName: 'ldapSchoolIdentifier' })\n\texternalId?: string;\n\n\t@Property({ nullable: true })\n\tpreviousExternalId?: string;\n\n\t@Property()\n\tname: string;\n\n\t@Property({ nullable: true })\n\tofficialSchoolNumber?: string;\n\n\t@ManyToMany(() => SystemEntity, undefined, { fieldName: 'systems' })\n\tsystems = new Collection(this);\n\n\t@Embedded(() => SchoolRoles, { object: true, nullable: true, prefix: false })\n\tpermissions?: SchoolRoles;\n\n\t@ManyToOne(() => SchoolYearEntity, { fieldName: 'currentYear', nullable: true })\n\tschoolYear?: SchoolYearEntity;\n\n\t@OneToOne(\n\t\t() => UserLoginMigrationEntity,\n\t\t(userLoginMigration: UserLoginMigrationEntity) => userLoginMigration.school,\n\t\t{\n\t\t\torphanRemoval: true,\n\t\t}\n\t)\n\tuserLoginMigration?: UserLoginMigrationEntity;\n\n\t@ManyToOne(() => FederalStateEntity, { fieldName: 'federalState', nullable: false })\n\tfederalState: FederalStateEntity;\n\n\tconstructor(props: SchoolProperties) {\n\t\tsuper();\n\t\tif (props.externalId) {\n\t\t\tthis.externalId = props.externalId;\n\t\t}\n\t\tif (props.previousExternalId) {\n\t\t\tthis.previousExternalId = props.previousExternalId;\n\t\t}\n\t\tthis.inMaintenanceSince = props.inMaintenanceSince;\n\t\tif (props.inUserMigration !== null) {\n\t\t\tthis.inUserMigration = props.inUserMigration;\n\t\t}\n\t\tthis.name = props.name;\n\t\tif (props.officialSchoolNumber) {\n\t\t\tthis.officialSchoolNumber = props.officialSchoolNumber;\n\t\t}\n\t\tif (props.systems) {\n\t\t\tthis.systems.set(props.systems);\n\t\t}\n\t\tif (props.features) {\n\t\t\tthis.features = props.features;\n\t\t}\n\t\tif (props.schoolYear) {\n\t\t\tthis.schoolYear = props.schoolYear;\n\t\t}\n\t\tif (props.userLoginMigration) {\n\t\t\tthis.userLoginMigration = props.userLoginMigration;\n\t\t}\n\t\tthis.federalState = props.federalState;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolRoles.html":{"url":"classes/SchoolRoles.html","title":"class - SchoolRoles","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolRoles\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/school.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n student\n \n \n \n Optional\n teacher\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n student\n \n \n \n \n \n \n Type : SchoolRolePermission\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true, fieldName: 'student'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/school.entity.ts:56\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n teacher\n \n \n \n \n \n \n Type : SchoolRolePermission\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true, fieldName: 'teacher'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/school.entity.ts:59\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import {\n\tCollection,\n\tEmbeddable,\n\tEmbedded,\n\tEntity,\n\tIndex,\n\tManyToMany,\n\tManyToOne,\n\tOneToOne,\n\tProperty,\n} from '@mikro-orm/core';\nimport { UserLoginMigrationEntity } from '@shared/domain/entity/user-login-migration.entity';\nimport { BaseEntity } from './base.entity';\nimport { FederalStateEntity } from './federal-state.entity';\nimport { SchoolYearEntity } from './schoolyear.entity';\nimport { SystemEntity } from './system.entity';\n\nexport enum SchoolFeatures {\n\tROCKET_CHAT = 'rocketChat',\n\tVIDEOCONFERENCE = 'videoconference',\n\tNEXTCLOUD = 'nextcloud',\n\tSTUDENTVISIBILITY = 'studentVisibility', // deprecated\n\tLDAP_UNIVENTION_MIGRATION = 'ldapUniventionMigrationSchool',\n\tOAUTH_PROVISIONING_ENABLED = 'oauthProvisioningEnabled',\n\tSHOW_OUTDATED_USERS = 'showOutdatedUsers',\n\tENABLE_LDAP_SYNC_DURING_MIGRATION = 'enableLdapSyncDuringMigration',\n}\n\nexport interface SchoolProperties {\n\t_id?: string;\n\texternalId?: string;\n\tinMaintenanceSince?: Date;\n\tinUserMigration?: boolean;\n\tpreviousExternalId?: string;\n\tname: string;\n\tofficialSchoolNumber?: string;\n\tsystems?: SystemEntity[];\n\tfeatures?: SchoolFeatures[];\n\tschoolYear?: SchoolYearEntity;\n\tuserLoginMigration?: UserLoginMigrationEntity;\n\tfederalState: FederalStateEntity;\n}\n\n@Embeddable()\nexport class SchoolRolePermission {\n\t@Property({ nullable: true })\n\tSTUDENT_LIST?: boolean;\n\n\t@Property({ nullable: true })\n\tLERNSTORE_VIEW?: boolean;\n}\n\n@Embeddable()\nexport class SchoolRoles {\n\t@Property({ nullable: true, fieldName: 'student' })\n\tstudent?: SchoolRolePermission;\n\n\t@Property({ nullable: true, fieldName: 'teacher' })\n\tteacher?: SchoolRolePermission;\n}\n\n@Entity({ tableName: 'schools' })\n@Index({ properties: ['externalId', 'systems'] })\nexport class SchoolEntity extends BaseEntity {\n\t@Property({ nullable: true })\n\tfeatures?: SchoolFeatures[];\n\n\t@Property({ nullable: true })\n\tinMaintenanceSince?: Date;\n\n\t@Property({ nullable: true })\n\tinUserMigration?: boolean;\n\n\t@Property({ nullable: true, fieldName: 'ldapSchoolIdentifier' })\n\texternalId?: string;\n\n\t@Property({ nullable: true })\n\tpreviousExternalId?: string;\n\n\t@Property()\n\tname: string;\n\n\t@Property({ nullable: true })\n\tofficialSchoolNumber?: string;\n\n\t@ManyToMany(() => SystemEntity, undefined, { fieldName: 'systems' })\n\tsystems = new Collection(this);\n\n\t@Embedded(() => SchoolRoles, { object: true, nullable: true, prefix: false })\n\tpermissions?: SchoolRoles;\n\n\t@ManyToOne(() => SchoolYearEntity, { fieldName: 'currentYear', nullable: true })\n\tschoolYear?: SchoolYearEntity;\n\n\t@OneToOne(\n\t\t() => UserLoginMigrationEntity,\n\t\t(userLoginMigration: UserLoginMigrationEntity) => userLoginMigration.school,\n\t\t{\n\t\t\torphanRemoval: true,\n\t\t}\n\t)\n\tuserLoginMigration?: UserLoginMigrationEntity;\n\n\t@ManyToOne(() => FederalStateEntity, { fieldName: 'federalState', nullable: false })\n\tfederalState: FederalStateEntity;\n\n\tconstructor(props: SchoolProperties) {\n\t\tsuper();\n\t\tif (props.externalId) {\n\t\t\tthis.externalId = props.externalId;\n\t\t}\n\t\tif (props.previousExternalId) {\n\t\t\tthis.previousExternalId = props.previousExternalId;\n\t\t}\n\t\tthis.inMaintenanceSince = props.inMaintenanceSince;\n\t\tif (props.inUserMigration !== null) {\n\t\t\tthis.inUserMigration = props.inUserMigration;\n\t\t}\n\t\tthis.name = props.name;\n\t\tif (props.officialSchoolNumber) {\n\t\t\tthis.officialSchoolNumber = props.officialSchoolNumber;\n\t\t}\n\t\tif (props.systems) {\n\t\t\tthis.systems.set(props.systems);\n\t\t}\n\t\tif (props.features) {\n\t\t\tthis.features = props.features;\n\t\t}\n\t\tif (props.schoolYear) {\n\t\t\tthis.schoolYear = props.schoolYear;\n\t\t}\n\t\tif (props.userLoginMigration) {\n\t\t\tthis.userLoginMigration = props.userLoginMigration;\n\t\t}\n\t\tthis.federalState = props.federalState;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SchoolSpecificFileCopyService.html":{"url":"interfaces/SchoolSpecificFileCopyService.html","title":"interface - SchoolSpecificFileCopyService","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SchoolSpecificFileCopyService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/board-do-copy-service/school-specific-file-copy.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n copyFilesOfParent\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n copyFilesOfParent\n \n \n \n \n \n \ncopyFilesOfParent(params: SchoolSpecificFileCopyServiceCopyParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/school-specific-file-copy.interface.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n SchoolSpecificFileCopyServiceCopyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CopyFileDto } from '@modules/files-storage-client/dto';\nimport { FileRecordParentType } from '@modules/files-storage/entity';\nimport { EntityId } from '@shared/domain/types';\n\nexport type SchoolSpecificFileCopyServiceCopyParams = {\n\tsourceParentId: EntityId;\n\ttargetParentId: EntityId;\n\tparentType: FileRecordParentType;\n};\n\nexport type SchoolSpecificFileCopyServiceProps = {\n\tsourceSchoolId: EntityId;\n\ttargetSchoolId: EntityId;\n\tuserId: EntityId;\n};\n\nexport interface SchoolSpecificFileCopyService {\n\tcopyFilesOfParent(params: SchoolSpecificFileCopyServiceCopyParams): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolSpecificFileCopyServiceFactory.html":{"url":"injectables/SchoolSpecificFileCopyServiceFactory.html","title":"injectable - SchoolSpecificFileCopyServiceFactory","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolSpecificFileCopyServiceFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/board-do-copy-service/school-specific-file-copy-service.factory.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(filesStorageClientAdapterService: FilesStorageClientAdapterService)\n \n \n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/school-specific-file-copy-service.factory.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filesStorageClientAdapterService\n \n \n FilesStorageClientAdapterService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(props: SchoolSpecificFileCopyServiceProps)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/school-specific-file-copy-service.factory.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n SchoolSpecificFileCopyServiceProps\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolSpecificFileCopyService\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { FilesStorageClientAdapterService } from '@modules/files-storage-client';\nimport {\n\tSchoolSpecificFileCopyService,\n\tSchoolSpecificFileCopyServiceProps,\n} from './school-specific-file-copy.interface';\nimport { SchoolSpecificFileCopyServiceImpl } from './school-specific-file-copy.service';\n\n@Injectable()\nexport class SchoolSpecificFileCopyServiceFactory {\n\tconstructor(private readonly filesStorageClientAdapterService: FilesStorageClientAdapterService) {}\n\n\tbuild(props: SchoolSpecificFileCopyServiceProps): SchoolSpecificFileCopyService {\n\t\treturn new SchoolSpecificFileCopyServiceImpl(this.filesStorageClientAdapterService, props);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolSpecificFileCopyServiceImpl.html":{"url":"classes/SchoolSpecificFileCopyServiceImpl.html","title":"class - SchoolSpecificFileCopyServiceImpl","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolSpecificFileCopyServiceImpl\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/board-do-copy-service/school-specific-file-copy.service.ts\n \n\n\n\n\n \n Implements\n \n \n SchoolSpecificFileCopyService\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n copyFilesOfParent\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(filesStorageClientAdapterService: FilesStorageClientAdapterService, props: SchoolSpecificFileCopyServiceProps)\n \n \n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/school-specific-file-copy.service.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n filesStorageClientAdapterService\n \n \n FilesStorageClientAdapterService\n \n \n \n No\n \n \n \n \n props\n \n \n SchoolSpecificFileCopyServiceProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n copyFilesOfParent\n \n \n \n \n \n \n \n copyFilesOfParent(params: SchoolSpecificFileCopyServiceCopyParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/board-do-copy-service/school-specific-file-copy.service.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n SchoolSpecificFileCopyServiceCopyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { FilesStorageClientAdapterService } from '@modules/files-storage-client';\nimport { CopyFileDto } from '@modules/files-storage-client/dto';\nimport {\n\tSchoolSpecificFileCopyService,\n\tSchoolSpecificFileCopyServiceCopyParams,\n\tSchoolSpecificFileCopyServiceProps,\n} from './school-specific-file-copy.interface';\n\nexport class SchoolSpecificFileCopyServiceImpl implements SchoolSpecificFileCopyService {\n\tconstructor(\n\t\tprivate readonly filesStorageClientAdapterService: FilesStorageClientAdapterService,\n\t\tprivate readonly props: SchoolSpecificFileCopyServiceProps\n\t) {}\n\n\tpublic async copyFilesOfParent(params: SchoolSpecificFileCopyServiceCopyParams): Promise {\n\t\treturn this.filesStorageClientAdapterService.copyFilesOfParent({\n\t\t\tsource: {\n\t\t\t\tparentId: params.sourceParentId,\n\t\t\t\tparentType: params.parentType,\n\t\t\t\tschoolId: this.props.sourceSchoolId,\n\t\t\t},\n\t\t\ttarget: {\n\t\t\t\tparentId: params.targetParentId,\n\t\t\t\tparentType: params.parentType,\n\t\t\t\tschoolId: this.props.targetSchoolId,\n\t\t\t},\n\t\t\tuserId: this.props.userId,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SchoolToolConfigurationStatusResponseMapper.html":{"url":"classes/SchoolToolConfigurationStatusResponseMapper.html","title":"class - SchoolToolConfigurationStatusResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SchoolToolConfigurationStatusResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/mapper/school-external-tool-status-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(status: SchoolExternalToolConfigurationStatus)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/mapper/school-external-tool-status-response.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n status\n \n SchoolExternalToolConfigurationStatus\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolExternalToolConfigurationStatusResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { SchoolExternalToolConfigurationStatus } from '../controller/dto';\nimport { SchoolExternalToolConfigurationStatusResponse } from '../controller/dto/school-external-tool-configuration.response';\n\nexport class SchoolToolConfigurationStatusResponseMapper {\n\tstatic mapToResponse(status: SchoolExternalToolConfigurationStatus): SchoolExternalToolConfigurationStatusResponse {\n\t\tconst configurationStatus: SchoolExternalToolConfigurationStatusResponse =\n\t\t\tnew SchoolExternalToolConfigurationStatusResponse({\n\t\t\t\tisOutdatedOnScopeSchool: status.isOutdatedOnScopeSchool,\n\t\t\t});\n\n\t\treturn configurationStatus;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolValidationService.html":{"url":"injectables/SchoolValidationService.html","title":"injectable - SchoolValidationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolValidationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/legacy-school/service/validation/school-validation.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n isSchoolNumberUnique\n \n \n Public\n Async\n validate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolRepo: LegacySchoolRepo)\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/service/validation/school-validation.service.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolRepo\n \n \n LegacySchoolRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n isSchoolNumberUnique\n \n \n \n \n \n \n \n isSchoolNumberUnique(school: LegacySchoolDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/validation/school-validation.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n school\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n validate\n \n \n \n \n \n \n \n validate(school: LegacySchoolDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/validation/school-validation.service.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n school\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { LegacySchoolDo } from '@shared/domain/domainobject';\nimport { LegacySchoolRepo } from '@shared/repo';\nimport { SchoolNumberDuplicateLoggableException } from '../../loggable';\n\n@Injectable()\nexport class SchoolValidationService {\n\tconstructor(private readonly schoolRepo: LegacySchoolRepo) {}\n\n\tpublic async validate(school: LegacySchoolDo): Promise {\n\t\tif (!(await this.isSchoolNumberUnique(school))) {\n\t\t\tthrow new SchoolNumberDuplicateLoggableException(school.officialSchoolNumber as string);\n\t\t}\n\t}\n\n\tprivate async isSchoolNumberUnique(school: LegacySchoolDo): Promise {\n\t\tif (!school.officialSchoolNumber) {\n\t\t\treturn true;\n\t\t}\n\n\t\tconst foundSchool: LegacySchoolDo | null = await this.schoolRepo.findBySchoolNumber(school.officialSchoolNumber);\n\n\t\treturn foundSchool === null || foundSchool.id === school.id;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/SchoolYearEntity.html":{"url":"entities/SchoolYearEntity.html","title":"entity - SchoolYearEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n SchoolYearEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/schoolyear.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n endDate\n \n \n \n name\n \n \n \n startDate\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n endDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/schoolyear.entity.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/schoolyear.entity.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n startDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/schoolyear.entity.ts:16\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntity } from './base.entity';\n\nexport interface SchoolYearProperties {\n\tname: string;\n\tstartDate: Date;\n\tendDate: Date;\n}\n\n@Entity({ tableName: 'years' })\nexport class SchoolYearEntity extends BaseEntity implements SchoolYearProperties {\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tstartDate: Date;\n\n\t@Property()\n\tendDate: Date;\n\n\tconstructor(props: SchoolYearProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.startDate = props.startDate;\n\t\tthis.endDate = props.endDate;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SchoolYearProperties.html":{"url":"interfaces/SchoolYearProperties.html","title":"interface - SchoolYearProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SchoolYearProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/schoolyear.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n endDate\n \n \n \n \n name\n \n \n \n \n startDate\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n endDate\n \n \n \n \n \n \n \n \n endDate: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n startDate\n \n \n \n \n \n \n \n \n startDate: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntity } from './base.entity';\n\nexport interface SchoolYearProperties {\n\tname: string;\n\tstartDate: Date;\n\tendDate: Date;\n}\n\n@Entity({ tableName: 'years' })\nexport class SchoolYearEntity extends BaseEntity implements SchoolYearProperties {\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tstartDate: Date;\n\n\t@Property()\n\tendDate: Date;\n\n\tconstructor(props: SchoolYearProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.startDate = props.startDate;\n\t\tthis.endDate = props.endDate;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolYearRepo.html":{"url":"injectables/SchoolYearRepo.html","title":"injectable - SchoolYearRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolYearRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/legacy-school/repo/schoolyear.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findCurrentYear\n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findCurrentYear\n \n \n \n \n \n \n \n findCurrentYear()\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/repo/schoolyear.repo.ts:11\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/repo/schoolyear.repo.ts:7\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { SchoolYearEntity } from '@shared/domain/entity';\nimport { BaseRepo } from '@shared/repo/base.repo';\n\n@Injectable()\nexport class SchoolYearRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn SchoolYearEntity;\n\t}\n\n\tasync findCurrentYear(): Promise {\n\t\tconst currentDate = new Date();\n\t\tconst year: SchoolYearEntity | null = await this._em.findOneOrFail(SchoolYearEntity, {\n\t\t\t$and: [{ startDate: { $lte: currentDate } }, { endDate: { $gte: currentDate } }],\n\t\t});\n\t\treturn year;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SchoolYearService.html":{"url":"injectables/SchoolYearService.html","title":"injectable - SchoolYearService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SchoolYearService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/legacy-school/service/school-year.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findById\n \n \n Async\n getCurrentSchoolYear\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolYearRepo: SchoolYearRepo)\n \n \n \n \n Defined in apps/server/src/modules/legacy-school/service/school-year.service.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolYearRepo\n \n \n SchoolYearRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/school-year.service.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getCurrentSchoolYear\n \n \n \n \n \n \n \n getCurrentSchoolYear()\n \n \n\n\n \n \n Defined in apps/server/src/modules/legacy-school/service/school-year.service.ts:11\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { SchoolYearEntity } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { SchoolYearRepo } from '../repo';\n\n@Injectable()\nexport class SchoolYearService {\n\tconstructor(private readonly schoolYearRepo: SchoolYearRepo) {}\n\n\t// TODO: N21-990 Refactoring: Create domain objects for schoolYear and federalState\n\tasync getCurrentSchoolYear(): Promise {\n\t\tconst current: SchoolYearEntity = await this.schoolYearRepo.findCurrentYear();\n\n\t\treturn current;\n\t}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst year: SchoolYearEntity = await this.schoolYearRepo.findById(id);\n\n\t\treturn year;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/Scope.html":{"url":"classes/Scope.html","title":"class - Scope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n Scope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/scope.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n query\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(operator: ScopeOperator)\n \n \n \n \n Defined in apps/server/src/shared/repo/scope.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n operator\n \n \n ScopeOperator\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/shared/repo/scope.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Defined in apps/server/src/shared/repo/scope.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in apps/server/src/shared/repo/scope.ts:9\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/scope.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/scope.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n query\n \n \n\n \n \n getquery()\n \n \n \n \n Defined in apps/server/src/shared/repo/scope.ts:20\n \n \n\n \n \n\n \n\n\n \n import { FilterQuery } from '@mikro-orm/core';\nimport { EmptyResultQuery } from './query/empty-result.query';\n\ntype EmptyResultQueryType = typeof EmptyResultQuery;\n\ntype ScopeOperator = '$and' | '$or';\n\nexport class Scope {\n\tprivate _queries: FilterQuery[] = [];\n\n\tprivate _operator: ScopeOperator;\n\n\tprivate _allowEmptyQuery: boolean;\n\n\tconstructor(operator: ScopeOperator = '$and') {\n\t\tthis._operator = operator;\n\t\tthis._allowEmptyQuery = false;\n\t}\n\n\tget query(): FilterQuery {\n\t\tif (this._queries.length === 0) {\n\t\t\tif (this._allowEmptyQuery) {\n\t\t\t\treturn {} as FilterQuery;\n\t\t\t}\n\t\t\treturn EmptyResultQuery as FilterQuery;\n\t\t}\n\t\tconst query = this._queries.length > 1 ? { [this._operator]: this._queries } : this._queries[0];\n\t\treturn query as FilterQuery;\n\t}\n\n\taddQuery(query: FilterQuery | EmptyResultQueryType): void {\n\t\tthis._queries.push(query);\n\t}\n\n\tallowEmptyQuery(isEmptyQueryAllowed: boolean): Scope {\n\t\tthis._allowEmptyQuery = isEmptyQueryAllowed;\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ScopeInfo.html":{"url":"interfaces/ScopeInfo.html","title":"interface - ScopeInfo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ScopeInfo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/uc/dto/scope-info.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n logoutUrl\n \n \n \n \n scopeId\n \n \n \n \n scopeName\n \n \n \n \n title\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n logoutUrl\n \n \n \n \n \n \n \n \n logoutUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n scopeId\n \n \n \n \n \n \n \n \n scopeId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n scopeName\n \n \n \n \n \n \n \n \n scopeName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n \n \n title: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { EntityId } from '@shared/domain/types';\n\nexport interface ScopeInfo {\n\tscopeId: EntityId;\n\n\tscopeName: string;\n\n\ttitle: string;\n\n\tlogoutUrl: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ScopeRef.html":{"url":"classes/ScopeRef.html","title":"class - ScopeRef","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ScopeRef\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/uc/dto/scope-ref.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n id\n \n \n scope\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(id: EntityId, scope: VideoConferenceScope)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/scope-ref.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n \n EntityId\n \n \n \n No\n \n \n \n \n scope\n \n \n VideoConferenceScope\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/scope-ref.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n scope\n \n \n \n \n \n \n Type : VideoConferenceScope\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/scope-ref.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { VideoConferenceScope } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\n\nexport class ScopeRef {\n\tid: EntityId;\n\n\tscope: VideoConferenceScope;\n\n\tconstructor(id: EntityId, scope: VideoConferenceScope) {\n\t\tthis.id = id;\n\t\tthis.scope = scope;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ServerConfig.html":{"url":"interfaces/ServerConfig.html","title":"interface - ServerConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ServerConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/server/server.config.ts\n \n\n\n\n \n Extends\n \n \n CoreModuleConfig\n UserConfig\n FilesStorageClientConfig\n AccountConfig\n IdentityManagementConfig\n CommonCartridgeConfig\n MailConfig\n XApiKeyConfig\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n NODE_ENV\n \n \n \n \n SC_DOMAIN\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n NODE_ENV\n \n \n \n \n \n \n \n \n NODE_ENV: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n SC_DOMAIN\n \n \n \n \n \n \n \n \n SC_DOMAIN: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\nimport type { IdentityManagementConfig } from '@infra/identity-management';\nimport type { AccountConfig } from '@modules/account';\nimport type { FilesStorageClientConfig } from '@modules/files-storage-client';\nimport type { CommonCartridgeConfig } from '@modules/learnroom/common-cartridge';\nimport type { UserConfig } from '@modules/user';\nimport type { CoreModuleConfig } from '@src/core';\nimport { MailConfig } from '@src/infra/mail/interfaces/mail-config';\nimport { XApiKeyConfig } from '@modules/authentication';\n\nexport enum NodeEnvType {\n\tTEST = 'test',\n\tDEVELOPMENT = 'development',\n\tPRODUCTION = 'production',\n\tMIGRATION = 'migration',\n}\n\nexport interface ServerConfig\n\textends CoreModuleConfig,\n\t\tUserConfig,\n\t\tFilesStorageClientConfig,\n\t\tAccountConfig,\n\t\tIdentityManagementConfig,\n\t\tCommonCartridgeConfig,\n\t\tMailConfig,\n\t\tXApiKeyConfig {\n\tNODE_ENV: string;\n\tSC_DOMAIN: string;\n}\n\nconst config: ServerConfig = {\n\tSC_DOMAIN: Configuration.get('SC_DOMAIN') as string,\n\tINCOMING_REQUEST_TIMEOUT: Configuration.get('INCOMING_REQUEST_TIMEOUT_API') as number,\n\tINCOMING_REQUEST_TIMEOUT_COPY_API: Configuration.get('INCOMING_REQUEST_TIMEOUT_COPY_API') as number,\n\tNEST_LOG_LEVEL: Configuration.get('NEST_LOG_LEVEL') as string,\n\tAVAILABLE_LANGUAGES: (Configuration.get('I18N__AVAILABLE_LANGUAGES') as string).split(','),\n\tNODE_ENV: Configuration.get('NODE_ENV') as NodeEnvType,\n\tLOGIN_BLOCK_TIME: Configuration.get('LOGIN_BLOCK_TIME') as number,\n\tTEACHER_STUDENT_VISIBILITY__IS_CONFIGURABLE: Configuration.get(\n\t\t'TEACHER_STUDENT_VISIBILITY__IS_CONFIGURABLE'\n\t) as boolean,\n\tFEATURE_IMSCC_COURSE_EXPORT_ENABLED: Configuration.get('FEATURE_IMSCC_COURSE_EXPORT_ENABLED') as boolean,\n\tFEATURE_IDENTITY_MANAGEMENT_ENABLED: Configuration.get('FEATURE_IDENTITY_MANAGEMENT_ENABLED') as boolean,\n\tFEATURE_IDENTITY_MANAGEMENT_STORE_ENABLED: Configuration.get('FEATURE_IDENTITY_MANAGEMENT_STORE_ENABLED') as boolean,\n\tFEATURE_IDENTITY_MANAGEMENT_LOGIN_ENABLED: Configuration.get('FEATURE_IDENTITY_MANAGEMENT_LOGIN_ENABLED') as boolean,\n\tADMIN_API__ALLOWED_API_KEYS: (Configuration.get('ADMIN_API__ALLOWED_API_KEYS') as string)\n\t\t.split(',')\n\t\t.map((apiKey) => apiKey.trim()),\n\tADDITIONAL_BLACKLISTED_EMAIL_DOMAINS: (Configuration.get('ADDITIONAL_BLACKLISTED_EMAIL_DOMAINS') as string)\n\t\t.split(',')\n\t\t.map((domain) => domain.trim()),\n};\n\nexport const serverConfig = () => config;\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ServerConsole.html":{"url":"classes/ServerConsole.html","title":"class - ServerConsole","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ServerConsole\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/console/server.console.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getHello\n \n \n \n getInOut\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(consoleWriter: ConsoleWriterService)\n \n \n \n \n Defined in apps/server/src/console/server.console.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n consoleWriter\n \n \n ConsoleWriterService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getHello\n \n \n \n \n \n \n \n getHello()\n \n \n\n \n \n Decorators : \n \n @Command({command: 'test', description: 'sample test output'})\n \n \n\n \n \n Defined in apps/server/src/console/server.console.ts:11\n \n \n\n\n \n \n test method for console output\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n getInOut\n \n \n \n \n \n \n \n getInOut(whatever: string)\n \n \n\n \n \n Decorators : \n \n @Command({command: 'out ', description: 'return input args'})\n \n \n\n \n \n Defined in apps/server/src/console/server.console.ts:17\n \n \n\n\n \n \n test method for console input\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n whatever\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Command, Console } from 'nestjs-console';\nimport { ConsoleWriterService } from '@infra/console';\n\n@Console({ command: 'server', description: 'sample server console' })\nexport class ServerConsole {\n\tconstructor(private consoleWriter: ConsoleWriterService) {}\n\n\t/** test method for console output */\n\t@Command({ command: 'test', description: 'sample test output' })\n\tgetHello(): void {\n\t\tthis.consoleWriter.info('Schulcloud Server API');\n\t}\n\n\t/** test method for console input */\n\t@Command({ command: 'out ', description: 'return input args' })\n\tgetInOut(whatever: string): void {\n\t\tthis.consoleWriter.info(`input was: ${whatever}`);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ServerConsoleModule.html":{"url":"modules/ServerConsoleModule.html","title":"module - ServerConsoleModule","body":"\n \n\n\n\n\n Modules\n ServerConsoleModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ServerConsoleModule\n\n\n\ncluster_ServerConsoleModule_imports\n\n\n\n\nConsoleWriterModule\n\nConsoleWriterModule\n\n\n\nServerConsoleModule\n\nServerConsoleModule\n\nServerConsoleModule -->\n\nConsoleWriterModule->ServerConsoleModule\n\n\n\n\n\nFilesModule\n\nFilesModule\n\nServerConsoleModule -->\n\nFilesModule->ServerConsoleModule\n\n\n\n\n\nManagementModule\n\nManagementModule\n\nServerConsoleModule -->\n\nManagementModule->ServerConsoleModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/console/console.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n \n \n \n ConsoleWriterModule\n \n \n FilesModule\n \n \n ManagementModule\n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { ConsoleWriterModule } from '@infra/console/console-writer/console-writer.module';\nimport { KeycloakModule } from '@infra/identity-management/keycloak/keycloak.module';\nimport { Dictionary, IPrimaryKey } from '@mikro-orm/core';\nimport { MikroOrmModule } from '@mikro-orm/nestjs';\nimport { FilesModule } from '@modules/files';\nimport { FileRecord } from '@modules/files-storage/entity';\nimport { FileEntity } from '@modules/files/entity';\nimport { ManagementModule } from '@modules/management/management.module';\nimport { serverConfig } from '@modules/server';\nimport { Module, NotFoundException } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { ALL_ENTITIES } from '@shared/domain/entity';\nimport { DB_PASSWORD, DB_URL, DB_USERNAME, createConfigModuleOptions } from '@src/config';\nimport { ConsoleModule } from 'nestjs-console';\nimport { ServerConsole } from './server.console';\n\n@Module({\n\timports: [\n\t\tManagementModule,\n\t\tConsoleModule,\n\t\tConsoleWriterModule,\n\t\tFilesModule,\n\t\tConfigModule.forRoot(createConfigModuleOptions(serverConfig)),\n\t\t...((Configuration.get('FEATURE_IDENTITY_MANAGEMENT_ENABLED') as boolean) ? [KeycloakModule] : []),\n\t\tMikroOrmModule.forRoot({\n\t\t\t// TODO repeats server module definitions\n\t\t\ttype: 'mongo',\n\t\t\tclientUrl: DB_URL,\n\t\t\tpassword: DB_PASSWORD,\n\t\t\tuser: DB_USERNAME,\n\t\t\tentities: [...ALL_ENTITIES, FileEntity, FileRecord],\n\t\t\tallowGlobalContext: true,\n\t\t\tfindOneOrFailHandler: (entityName: string, where: Dictionary | IPrimaryKey) =>\n\t\t\t\tnew NotFoundException(`The requested ${entityName}: ${JSON.stringify(where)} has not been found.`),\n\t\t}),\n\t],\n\tproviders: [\n\t\t/** add console services as providers */\n\t\tServerConsole,\n\t],\n})\nexport class ServerConsoleModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/ServerController.html":{"url":"controllers/ServerController.html","title":"controller - ServerController","body":"\n \n\n\n\n\n\n\n Controllers\n ServerController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/server/controller/server.controller.ts\n \n\n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getHello\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getHello\n \n \n \n \n \n \n \n getHello()\n \n \n\n \n \n Decorators : \n \n @Get()\n \n \n\n \n \n Defined in apps/server/src/modules/server/controller/server.controller.ts:7\n \n \n\n\n \n \n default route to test public access\n\n\n \n Returns : string\n\n \n \n \n \n \n \n\n\n \n import { Controller, Get } from '@nestjs/common';\n\n@Controller()\nexport class ServerController {\n\t/** default route to test public access */\n\t@Get()\n\tgetHello(): string {\n\t\treturn 'Schulcloud Server API';\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ServerModule.html":{"url":"modules/ServerModule.html","title":"module - ServerModule","body":"\n \n\n\n\n\n Modules\n ServerModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ServerModule\n\n\n\ncluster_ServerModule_imports\n\n\n\n\nDeletionApiModule\n\nDeletionApiModule\n\n\n\nServerModule\n\nServerModule\n\nServerModule -->\n\nDeletionApiModule->ServerModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nServerModule -->\n\nLoggerModule->ServerModule\n\n\n\n\n\nRabbitMQWrapperModule\n\nRabbitMQWrapperModule\n\nServerModule -->\n\nRabbitMQWrapperModule->ServerModule\n\n\n\n\n\nRedisModule\n\nRedisModule\n\nServerModule -->\n\nRedisModule->ServerModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/server/server.module.ts\n \n\n\n\n \n Description\n \n \n Server Module used for production\n\n \n\n\n \n \n \n Controllers\n \n \n ServerController\n \n \n \n \n Imports\n \n \n DeletionApiModule\n \n \n LoggerModule\n \n \n RabbitMQWrapperModule\n \n \n RedisModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n configure\n \n \n \n \n \n \nconfigure(consumer: MiddlewareConsumer)\n \n \n\n\n \n \n Defined in apps/server/src/modules/server/server.module.ts:155\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n consumer\n \n MiddlewareConsumer\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\nimport { MongoDatabaseModuleOptions, MongoMemoryDatabaseModule } from '@infra/database';\nimport { MailModule } from '@infra/mail';\nimport { RabbitMQWrapperModule, RabbitMQWrapperTestModule } from '@infra/rabbitmq';\nimport { REDIS_CLIENT, RedisModule } from '@infra/redis';\nimport { Dictionary, IPrimaryKey } from '@mikro-orm/core';\nimport { MikroOrmModule, MikroOrmModuleSyncOptions } from '@mikro-orm/nestjs';\nimport { AccountApiModule } from '@modules/account/account-api.module';\nimport { AuthenticationApiModule } from '@modules/authentication/authentication-api.module';\nimport { BoardApiModule } from '@modules/board/board-api.module';\nimport { CollaborativeStorageModule } from '@modules/collaborative-storage';\nimport { FilesStorageClientModule } from '@modules/files-storage-client';\nimport { GroupApiModule } from '@modules/group/group-api.module';\nimport { LearnroomApiModule } from '@modules/learnroom/learnroom-api.module';\nimport { LessonApiModule } from '@modules/lesson/lesson-api.module';\nimport { MetaTagExtractorApiModule, MetaTagExtractorModule } from '@modules/meta-tag-extractor';\nimport { NewsModule } from '@modules/news';\nimport { OauthProviderApiModule } from '@modules/oauth-provider';\nimport { OauthApiModule } from '@modules/oauth/oauth-api.module';\nimport { PseudonymApiModule } from '@modules/pseudonym/pseudonym-api.module';\nimport { RocketChatModule } from '@modules/rocketchat';\nimport { SharingApiModule } from '@modules/sharing/sharing.module';\nimport { SystemApiModule } from '@modules/system/system-api.module';\nimport { TaskApiModule } from '@modules/task/task-api.module';\nimport { TeamsApiModule } from '@modules/teams/teams-api.module';\nimport { ToolApiModule } from '@modules/tool/tool-api.module';\nimport { ImportUserModule } from '@modules/user-import';\nimport { UserLoginMigrationApiModule } from '@modules/user-login-migration/user-login-migration-api.module';\nimport { UserApiModule } from '@modules/user/user-api.module';\nimport { VideoConferenceApiModule } from '@modules/video-conference/video-conference-api.module';\nimport { DynamicModule, Inject, MiddlewareConsumer, Module, NestModule, NotFoundException } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { ALL_ENTITIES } from '@shared/domain/entity';\nimport { DB_PASSWORD, DB_URL, DB_USERNAME, createConfigModuleOptions } from '@src/config';\nimport { CoreModule } from '@src/core';\nimport { LegacyLogger, LoggerModule } from '@src/core/logger';\nimport connectRedis from 'connect-redis';\nimport session from 'express-session';\nimport { RedisClient } from 'redis';\nimport { ServerController } from './controller/server.controller';\nimport { serverConfig } from './server.config';\n\nconst serverModules = [\n\tConfigModule.forRoot(createConfigModuleOptions(serverConfig)),\n\tCoreModule,\n\tAuthenticationApiModule,\n\tAccountApiModule,\n\tCollaborativeStorageModule,\n\tOauthApiModule,\n\tMetaTagExtractorModule,\n\tTaskApiModule,\n\tLessonApiModule,\n\tNewsModule,\n\tUserApiModule,\n\tImportUserModule,\n\tLearnroomApiModule,\n\tFilesStorageClientModule,\n\tSystemApiModule,\n\tMailModule.forRoot({\n\t\texchange: Configuration.get('MAIL_SEND_EXCHANGE') as string,\n\t\troutingKey: Configuration.get('MAIL_SEND_ROUTING_KEY') as string,\n\t}),\n\tRocketChatModule.forRoot({\n\t\turi: Configuration.get('ROCKET_CHAT_URI') as string,\n\t\tadminId: Configuration.get('ROCKET_CHAT_ADMIN_ID') as string,\n\t\tadminToken: Configuration.get('ROCKET_CHAT_ADMIN_TOKEN') as string,\n\t\tadminUser: Configuration.get('ROCKET_CHAT_ADMIN_USER') as string,\n\t\tadminPassword: Configuration.get('ROCKET_CHAT_ADMIN_PASSWORD') as string,\n\t}),\n\tVideoConferenceApiModule,\n\tOauthProviderApiModule,\n\tSharingApiModule,\n\tToolApiModule,\n\tUserLoginMigrationApiModule,\n\tBoardApiModule,\n\tGroupApiModule,\n\tTeamsApiModule,\n\tMetaTagExtractorApiModule,\n\tPseudonymApiModule,\n];\n\nexport const defaultMikroOrmOptions: MikroOrmModuleSyncOptions = {\n\tfindOneOrFailHandler: (entityName: string, where: Dictionary | IPrimaryKey) =>\n\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\tnew NotFoundException(`The requested ${entityName}: ${where} has not been found.`),\n};\n\nconst setupSessions = (consumer: MiddlewareConsumer, redisClient: RedisClient | undefined, logger: LegacyLogger) => {\n\tconst sessionDuration: number = Configuration.get('SESSION__EXPIRES_SECONDS') as number;\n\n\tlet store: connectRedis.RedisStore | undefined;\n\tif (redisClient) {\n\t\tconst RedisStore: connectRedis.RedisStore = connectRedis(session);\n\t\tstore = new RedisStore({\n\t\t\tclient: redisClient,\n\t\t\tttl: sessionDuration,\n\t\t});\n\t} else {\n\t\tlogger.warn(\n\t\t\t'The RedisStore for sessions is not setup, since the environment variable REDIS_URI is not defined. Sessions are using the build-in MemoryStore. This should not be used in production!'\n\t\t);\n\t}\n\n\tconsumer\n\t\t.apply(\n\t\t\tsession({\n\t\t\t\tstore,\n\t\t\t\tsecret: Configuration.get('SESSION__SECRET') as string,\n\t\t\t\tresave: false,\n\t\t\t\tsaveUninitialized: false,\n\t\t\t\tname: Configuration.has('SESSION__NAME') ? (Configuration.get('SESSION__NAME') as string) : undefined,\n\t\t\t\tproxy: Configuration.has('SESSION__PROXY') ? (Configuration.get('SESSION__PROXY') as boolean) : undefined,\n\t\t\t\tcookie: {\n\t\t\t\t\tsecure: Configuration.get('SESSION__SECURE') as boolean,\n\t\t\t\t\tsameSite: Configuration.get('SESSION__SAME_SITE') as boolean | 'lax' | 'strict' | 'none',\n\t\t\t\t\thttpOnly: Configuration.get('SESSION__HTTP_ONLY') as boolean,\n\t\t\t\t\tmaxAge: sessionDuration * 1000,\n\t\t\t\t},\n\t\t\t})\n\t\t)\n\t\t.forRoutes('*');\n};\n\n/**\n * Server Module used for production\n */\n@Module({\n\timports: [\n\t\tRabbitMQWrapperModule,\n\t\t...serverModules,\n\t\tMikroOrmModule.forRoot({\n\t\t\t...defaultMikroOrmOptions,\n\t\t\ttype: 'mongo',\n\t\t\t// TODO add mongoose options as mongo options (see database.js)\n\t\t\tclientUrl: DB_URL,\n\t\t\tpassword: DB_PASSWORD,\n\t\t\tuser: DB_USERNAME,\n\t\t\tentities: ALL_ENTITIES,\n\n\t\t\t// debug: true, // use it for locally debugging of queries\n\t\t}),\n\t\tLoggerModule,\n\t\tRedisModule,\n\t],\n\tcontrollers: [ServerController],\n})\nexport class ServerModule implements NestModule {\n\tconstructor(\n\t\t@Inject(REDIS_CLIENT) private readonly redisClient: RedisClient | undefined,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tlogger.setContext(ServerModule.name);\n\t}\n\n\tconfigure(consumer: MiddlewareConsumer) {\n\t\tsetupSessions(consumer, this.redisClient, this.logger);\n\t}\n}\n\n/**\n * Server module used for testing.\n * Should have same modules than the @ServerModule while infrastucture Modules can be different.\n * Customizations:\n * - In Memory Database instead of external connection\n * // TODO add custom mail, rocketchat, and rabbitmq modules\n * // TODO use instead of ServerModule when NODE_ENV=test\n */\n@Module({\n\timports: [\n\t\t...serverModules,\n\t\tMongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions }),\n\t\tRabbitMQWrapperTestModule,\n\t\tLoggerModule,\n\t\tRedisModule,\n\t],\n\tcontrollers: [ServerController],\n})\nexport class ServerTestModule implements NestModule {\n\tconstructor(\n\t\t@Inject(REDIS_CLIENT) private readonly redisClient: RedisClient | undefined,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tlogger.setContext(ServerTestModule.name);\n\t}\n\n\tconfigure(consumer: MiddlewareConsumer) {\n\t\tsetupSessions(consumer, undefined, this.logger);\n\t}\n\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: ServerTestModule,\n\t\t\timports: [\n\t\t\t\t...serverModules,\n\t\t\t\tMongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions, ...options }),\n\t\t\t\tRabbitMQWrapperTestModule,\n\t\t\t],\n\t\t\tcontrollers: [ServerController],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ServerTestModule.html":{"url":"modules/ServerTestModule.html","title":"module - ServerTestModule","body":"\n \n\n\n\n\n Modules\n ServerTestModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ServerTestModule\n\n\n\ncluster_ServerTestModule_imports\n\n\n\n\nDeletionApiModule\n\nDeletionApiModule\n\n\n\nServerTestModule\n\nServerTestModule\n\nServerTestModule -->\n\nDeletionApiModule->ServerTestModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nServerTestModule -->\n\nLoggerModule->ServerTestModule\n\n\n\n\n\nMongoMemoryDatabaseModule\n\nMongoMemoryDatabaseModule\n\nServerTestModule -->\n\nMongoMemoryDatabaseModule->ServerTestModule\n\n\n\n\n\nRabbitMQWrapperTestModule\n\nRabbitMQWrapperTestModule\n\nServerTestModule -->\n\nRabbitMQWrapperTestModule->ServerTestModule\n\n\n\n\n\nRedisModule\n\nRedisModule\n\nServerTestModule -->\n\nRedisModule->ServerTestModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/server/server.module.ts\n \n\n\n\n \n Description\n \n \n Server module used for testing.\nShould have same modules than the @ServerModule while infrastucture Modules can be different.\nCustomizations:\n\nIn Memory Database instead of external connection\n// TODO add custom mail, rocketchat, and rabbitmq modules\n// TODO use instead of ServerModule when NODE_ENV=test\n\n\n \n\n\n \n \n \n Controllers\n \n \n ServerController\n \n \n \n \n Imports\n \n \n DeletionApiModule\n \n \n LoggerModule\n \n \n MongoMemoryDatabaseModule\n \n \n RabbitMQWrapperTestModule\n \n \n RedisModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n configure\n \n \n \n \n \n \nconfigure(consumer: MiddlewareConsumer)\n \n \n\n\n \n \n Defined in apps/server/src/modules/server/server.module.ts:186\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n consumer\n \n MiddlewareConsumer\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options?: MongoDatabaseModuleOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/server/server.module.ts:190\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n MongoDatabaseModuleOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\nimport { MongoDatabaseModuleOptions, MongoMemoryDatabaseModule } from '@infra/database';\nimport { MailModule } from '@infra/mail';\nimport { RabbitMQWrapperModule, RabbitMQWrapperTestModule } from '@infra/rabbitmq';\nimport { REDIS_CLIENT, RedisModule } from '@infra/redis';\nimport { Dictionary, IPrimaryKey } from '@mikro-orm/core';\nimport { MikroOrmModule, MikroOrmModuleSyncOptions } from '@mikro-orm/nestjs';\nimport { AccountApiModule } from '@modules/account/account-api.module';\nimport { AuthenticationApiModule } from '@modules/authentication/authentication-api.module';\nimport { BoardApiModule } from '@modules/board/board-api.module';\nimport { CollaborativeStorageModule } from '@modules/collaborative-storage';\nimport { FilesStorageClientModule } from '@modules/files-storage-client';\nimport { GroupApiModule } from '@modules/group/group-api.module';\nimport { LearnroomApiModule } from '@modules/learnroom/learnroom-api.module';\nimport { LessonApiModule } from '@modules/lesson/lesson-api.module';\nimport { MetaTagExtractorApiModule, MetaTagExtractorModule } from '@modules/meta-tag-extractor';\nimport { NewsModule } from '@modules/news';\nimport { OauthProviderApiModule } from '@modules/oauth-provider';\nimport { OauthApiModule } from '@modules/oauth/oauth-api.module';\nimport { PseudonymApiModule } from '@modules/pseudonym/pseudonym-api.module';\nimport { RocketChatModule } from '@modules/rocketchat';\nimport { SharingApiModule } from '@modules/sharing/sharing.module';\nimport { SystemApiModule } from '@modules/system/system-api.module';\nimport { TaskApiModule } from '@modules/task/task-api.module';\nimport { TeamsApiModule } from '@modules/teams/teams-api.module';\nimport { ToolApiModule } from '@modules/tool/tool-api.module';\nimport { ImportUserModule } from '@modules/user-import';\nimport { UserLoginMigrationApiModule } from '@modules/user-login-migration/user-login-migration-api.module';\nimport { UserApiModule } from '@modules/user/user-api.module';\nimport { VideoConferenceApiModule } from '@modules/video-conference/video-conference-api.module';\nimport { DynamicModule, Inject, MiddlewareConsumer, Module, NestModule, NotFoundException } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { ALL_ENTITIES } from '@shared/domain/entity';\nimport { DB_PASSWORD, DB_URL, DB_USERNAME, createConfigModuleOptions } from '@src/config';\nimport { CoreModule } from '@src/core';\nimport { LegacyLogger, LoggerModule } from '@src/core/logger';\nimport connectRedis from 'connect-redis';\nimport session from 'express-session';\nimport { RedisClient } from 'redis';\nimport { ServerController } from './controller/server.controller';\nimport { serverConfig } from './server.config';\n\nconst serverModules = [\n\tConfigModule.forRoot(createConfigModuleOptions(serverConfig)),\n\tCoreModule,\n\tAuthenticationApiModule,\n\tAccountApiModule,\n\tCollaborativeStorageModule,\n\tOauthApiModule,\n\tMetaTagExtractorModule,\n\tTaskApiModule,\n\tLessonApiModule,\n\tNewsModule,\n\tUserApiModule,\n\tImportUserModule,\n\tLearnroomApiModule,\n\tFilesStorageClientModule,\n\tSystemApiModule,\n\tMailModule.forRoot({\n\t\texchange: Configuration.get('MAIL_SEND_EXCHANGE') as string,\n\t\troutingKey: Configuration.get('MAIL_SEND_ROUTING_KEY') as string,\n\t}),\n\tRocketChatModule.forRoot({\n\t\turi: Configuration.get('ROCKET_CHAT_URI') as string,\n\t\tadminId: Configuration.get('ROCKET_CHAT_ADMIN_ID') as string,\n\t\tadminToken: Configuration.get('ROCKET_CHAT_ADMIN_TOKEN') as string,\n\t\tadminUser: Configuration.get('ROCKET_CHAT_ADMIN_USER') as string,\n\t\tadminPassword: Configuration.get('ROCKET_CHAT_ADMIN_PASSWORD') as string,\n\t}),\n\tVideoConferenceApiModule,\n\tOauthProviderApiModule,\n\tSharingApiModule,\n\tToolApiModule,\n\tUserLoginMigrationApiModule,\n\tBoardApiModule,\n\tGroupApiModule,\n\tTeamsApiModule,\n\tMetaTagExtractorApiModule,\n\tPseudonymApiModule,\n];\n\nexport const defaultMikroOrmOptions: MikroOrmModuleSyncOptions = {\n\tfindOneOrFailHandler: (entityName: string, where: Dictionary | IPrimaryKey) =>\n\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\tnew NotFoundException(`The requested ${entityName}: ${where} has not been found.`),\n};\n\nconst setupSessions = (consumer: MiddlewareConsumer, redisClient: RedisClient | undefined, logger: LegacyLogger) => {\n\tconst sessionDuration: number = Configuration.get('SESSION__EXPIRES_SECONDS') as number;\n\n\tlet store: connectRedis.RedisStore | undefined;\n\tif (redisClient) {\n\t\tconst RedisStore: connectRedis.RedisStore = connectRedis(session);\n\t\tstore = new RedisStore({\n\t\t\tclient: redisClient,\n\t\t\tttl: sessionDuration,\n\t\t});\n\t} else {\n\t\tlogger.warn(\n\t\t\t'The RedisStore for sessions is not setup, since the environment variable REDIS_URI is not defined. Sessions are using the build-in MemoryStore. This should not be used in production!'\n\t\t);\n\t}\n\n\tconsumer\n\t\t.apply(\n\t\t\tsession({\n\t\t\t\tstore,\n\t\t\t\tsecret: Configuration.get('SESSION__SECRET') as string,\n\t\t\t\tresave: false,\n\t\t\t\tsaveUninitialized: false,\n\t\t\t\tname: Configuration.has('SESSION__NAME') ? (Configuration.get('SESSION__NAME') as string) : undefined,\n\t\t\t\tproxy: Configuration.has('SESSION__PROXY') ? (Configuration.get('SESSION__PROXY') as boolean) : undefined,\n\t\t\t\tcookie: {\n\t\t\t\t\tsecure: Configuration.get('SESSION__SECURE') as boolean,\n\t\t\t\t\tsameSite: Configuration.get('SESSION__SAME_SITE') as boolean | 'lax' | 'strict' | 'none',\n\t\t\t\t\thttpOnly: Configuration.get('SESSION__HTTP_ONLY') as boolean,\n\t\t\t\t\tmaxAge: sessionDuration * 1000,\n\t\t\t\t},\n\t\t\t})\n\t\t)\n\t\t.forRoutes('*');\n};\n\n/**\n * Server Module used for production\n */\n@Module({\n\timports: [\n\t\tRabbitMQWrapperModule,\n\t\t...serverModules,\n\t\tMikroOrmModule.forRoot({\n\t\t\t...defaultMikroOrmOptions,\n\t\t\ttype: 'mongo',\n\t\t\t// TODO add mongoose options as mongo options (see database.js)\n\t\t\tclientUrl: DB_URL,\n\t\t\tpassword: DB_PASSWORD,\n\t\t\tuser: DB_USERNAME,\n\t\t\tentities: ALL_ENTITIES,\n\n\t\t\t// debug: true, // use it for locally debugging of queries\n\t\t}),\n\t\tLoggerModule,\n\t\tRedisModule,\n\t],\n\tcontrollers: [ServerController],\n})\nexport class ServerModule implements NestModule {\n\tconstructor(\n\t\t@Inject(REDIS_CLIENT) private readonly redisClient: RedisClient | undefined,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tlogger.setContext(ServerModule.name);\n\t}\n\n\tconfigure(consumer: MiddlewareConsumer) {\n\t\tsetupSessions(consumer, this.redisClient, this.logger);\n\t}\n}\n\n/**\n * Server module used for testing.\n * Should have same modules than the @ServerModule while infrastucture Modules can be different.\n * Customizations:\n * - In Memory Database instead of external connection\n * // TODO add custom mail, rocketchat, and rabbitmq modules\n * // TODO use instead of ServerModule when NODE_ENV=test\n */\n@Module({\n\timports: [\n\t\t...serverModules,\n\t\tMongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions }),\n\t\tRabbitMQWrapperTestModule,\n\t\tLoggerModule,\n\t\tRedisModule,\n\t],\n\tcontrollers: [ServerController],\n})\nexport class ServerTestModule implements NestModule {\n\tconstructor(\n\t\t@Inject(REDIS_CLIENT) private readonly redisClient: RedisClient | undefined,\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tlogger.setContext(ServerTestModule.name);\n\t}\n\n\tconfigure(consumer: MiddlewareConsumer) {\n\t\tsetupSessions(consumer, undefined, this.logger);\n\t}\n\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: ServerTestModule,\n\t\t\timports: [\n\t\t\t\t...serverModules,\n\t\t\t\tMongoMemoryDatabaseModule.forRoot({ ...defaultMikroOrmOptions, ...options }),\n\t\t\t\tRabbitMQWrapperTestModule,\n\t\t\t],\n\t\t\tcontrollers: [ServerController],\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SetHeightBodyParams.html":{"url":"classes/SetHeightBodyParams.html","title":"class - SetHeightBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SetHeightBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/board/set-height.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n height\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n height\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsPositive()@ApiProperty({required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/board/set-height.body.params.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsPositive } from 'class-validator';\n\nexport class SetHeightBodyParams {\n\t@IsPositive()\n\t@ApiProperty({\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\theight!: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/ShareToken.html":{"url":"entities/ShareToken.html","title":"entity - ShareToken","body":"\n \n\n\n\n\n\n\n\n Entities\n ShareToken\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/entity/share-token.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n _contextId\n \n \n \n _parentId\n \n \n \n Optional\n contextType\n \n \n \n \n Optional\n expiresAt\n \n \n \n parentType\n \n \n \n token\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n _contextId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'context', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/entity/share-token.entity.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n _parentId\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'parent'})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/entity/share-token.entity.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n contextType\n \n \n \n \n \n \n Type : ShareTokenContextType\n\n \n \n \n \n Decorators : \n \n \n @Enum({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/entity/share-token.entity.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n expiresAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Index({options: undefined})@Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/entity/share-token.entity.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n Type : ShareTokenParentType\n\n \n \n \n \n Decorators : \n \n \n @Enum()\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/entity/share-token.entity.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n token\n \n \n \n \n \n \n Type : ShareTokenString\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/entity/share-token.entity.ts:19\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types/entity-id';\nimport { ShareTokenContextType, ShareTokenParentType, ShareTokenString } from '../domainobject/share-token.do';\n\nexport interface ShareTokenProperties {\n\ttoken: ShareTokenString;\n\tparentType: ShareTokenParentType;\n\tparentId: EntityId | ObjectId;\n\tcontextType?: ShareTokenContextType;\n\tcontextId?: EntityId | ObjectId;\n\texpiresAt?: Date;\n}\n\n@Entity({ tableName: 'sharetokens' })\nexport class ShareToken extends BaseEntityWithTimestamps {\n\t@Property()\n\ttoken: ShareTokenString;\n\n\t@Enum()\n\tparentType: ShareTokenParentType;\n\n\t@Property({ fieldName: 'parent' })\n\t_parentId: ObjectId;\n\n\tget parentId(): EntityId {\n\t\treturn this._parentId.toHexString();\n\t}\n\n\t@Enum({ nullable: true })\n\tcontextType?: ShareTokenContextType;\n\n\t@Property({ fieldName: 'context', nullable: true })\n\t_contextId?: ObjectId;\n\n\tget contextId(): EntityId | undefined {\n\t\treturn this._contextId?.toHexString();\n\t}\n\n\t@Index({ options: { expireAfterSeconds: 0 } })\n\t@Property({ nullable: true })\n\texpiresAt?: Date;\n\n\tconstructor(props: ShareTokenProperties) {\n\t\tsuper();\n\t\tthis.token = props.token;\n\t\tthis.parentType = props.parentType;\n\t\tthis._parentId = new ObjectId(props.parentId);\n\t\tthis.contextType = props.contextType;\n\t\tif (props.contextId !== undefined) {\n\t\t\tthis._contextId = new ObjectId(props.contextId);\n\t\t}\n\t\tthis.expiresAt = props.expiresAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenBodyParams.html":{"url":"classes/ShareTokenBodyParams.html","title":"class - ShareTokenBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/controller/dto/share-token.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n expiresInDays\n \n \n \n \n parentId\n \n \n \n \n parentType\n \n \n \n \n \n Optional\n schoolExclusive\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n expiresInDays\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @IsInt()@IsOptional()@IsPositive()@ApiProperty({description: 'when defined, the sharetoken will expire after the given number of days.', required: false, nullable: true, minimum: 1})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token.body.params.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'the id of the object being shared.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token.body.params.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n Type : ShareTokenParentType\n\n \n \n \n \n Decorators : \n \n \n @IsEnum(ShareTokenParentType)@ApiProperty({description: 'the type of the object being shared', required: true, nullable: false, enum: ShareTokenParentType})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token.body.params.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n schoolExclusive\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@IsOptional()@ApiProperty({description: 'when defined, the sharetoken will be usable exclusively by members of the users school.', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token.body.params.ts:41\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsBoolean, IsEnum, IsInt, IsMongoId, IsOptional, IsPositive } from 'class-validator';\nimport { ShareTokenParentType } from '../../domainobject/share-token.do';\n\nexport class ShareTokenBodyParams {\n\t@IsEnum(ShareTokenParentType)\n\t@ApiProperty({\n\t\tdescription: 'the type of the object being shared',\n\t\trequired: true,\n\t\tnullable: false,\n\t\tenum: ShareTokenParentType,\n\t})\n\tparentType!: ShareTokenParentType;\n\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'the id of the object being shared.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tparentId!: string;\n\n\t@IsInt()\n\t@IsOptional()\n\t@IsPositive()\n\t@ApiProperty({\n\t\tdescription: 'when defined, the sharetoken will expire after the given number of days.',\n\t\trequired: false,\n\t\tnullable: true,\n\t\tminimum: 1,\n\t})\n\texpiresInDays?: number;\n\n\t@IsBoolean()\n\t@IsOptional()\n\t@ApiProperty({\n\t\tdescription: 'when defined, the sharetoken will be usable exclusively by members of the users school.',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\tschoolExclusive?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenContextTypeMapper.html":{"url":"classes/ShareTokenContextTypeMapper.html","title":"class - ShareTokenContextTypeMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenContextTypeMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/mapper/context-type.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToAllowedAuthorizationEntityType\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToAllowedAuthorizationEntityType\n \n \n \n \n \n \n \n mapToAllowedAuthorizationEntityType(type: ShareTokenContextType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/mapper/context-type.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n ShareTokenContextType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AuthorizableReferenceType\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { NotImplementedException } from '@nestjs/common';\nimport { AuthorizableReferenceType } from '@modules/authorization/domain';\nimport { ShareTokenContextType } from '../domainobject/share-token.do';\n\nexport class ShareTokenContextTypeMapper {\n\tstatic mapToAllowedAuthorizationEntityType(type: ShareTokenContextType): AuthorizableReferenceType {\n\t\tconst types: Map = new Map();\n\t\ttypes.set(ShareTokenContextType.School, AuthorizableReferenceType.School);\n\n\t\tconst res = types.get(type);\n\n\t\tif (!res) {\n\t\t\tthrow new NotImplementedException();\n\t\t}\n\n\t\treturn res;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/ShareTokenController.html":{"url":"controllers/ShareTokenController.html","title":"controller - ShareTokenController","body":"\n \n\n\n\n\n\n\n Controllers\n ShareTokenController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/controller/share-token.controller.ts\n \n\n \n Prefix\n \n \n sharetoken\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createShareToken\n \n \n \n \n \n \n \n \n \n \n Async\n importShareToken\n \n \n \n \n \n \n \n \n Async\n lookupShareToken\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createShareToken\n \n \n \n \n \n \n \n createShareToken(currentUser: ICurrentUser, body: ShareTokenBodyParams)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Create a share token.'})@ApiResponse({status: 201, type: ShareTokenResponse})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 500, type: InternalServerErrorException})@Post()\n \n \n\n \n \n Defined in apps/server/src/modules/sharing/controller/share-token.controller.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n body\n \n ShareTokenBodyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n importShareToken\n \n \n \n \n \n \n \n importShareToken(currentUser: ICurrentUser, urlParams: ShareTokenUrlParams, body: ShareTokenImportBodyParams)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Import a share token payload.'})@ApiResponse({status: 201, type: CopyApiResponse})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@ApiResponse({status: 500, type: InternalServerErrorException})@ApiResponse({status: 501, type: NotImplementedException})@Post(':token/import')@RequestTimeout(undefined.INCOMING_REQUEST_TIMEOUT_COPY_API)\n \n \n\n \n \n Defined in apps/server/src/modules/sharing/controller/share-token.controller.ts:86\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n urlParams\n \n ShareTokenUrlParams\n \n\n \n No\n \n\n\n \n \n body\n \n ShareTokenImportBodyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n lookupShareToken\n \n \n \n \n \n \n \n lookupShareToken(currentUser: ICurrentUser, urlParams: ShareTokenUrlParams)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Look up a share token.'})@ApiResponse({status: 200, type: ShareTokenInfoResponse})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@ApiResponse({status: 500, type: InternalServerErrorException})@Get(':token')\n \n \n\n \n \n Defined in apps/server/src/modules/sharing/controller/share-token.controller.ts:67\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n urlParams\n \n ShareTokenUrlParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { CopyApiResponse, CopyMapper } from '@modules/copy-helper';\nimport {\n\tBody,\n\tController,\n\tForbiddenException,\n\tGet,\n\tInternalServerErrorException,\n\tNotFoundException,\n\tNotImplementedException,\n\tParam,\n\tPost,\n} from '@nestjs/common';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { ApiValidationError, RequestTimeout } from '@shared/common';\n// invalid import can produce dependency cycles\nimport { serverConfig } from '@modules/server/server.config';\nimport { ShareTokenInfoResponseMapper, ShareTokenResponseMapper } from '../mapper';\nimport { ShareTokenUC } from '../uc';\nimport {\n\tShareTokenBodyParams,\n\tShareTokenImportBodyParams,\n\tShareTokenInfoResponse,\n\tShareTokenResponse,\n\tShareTokenUrlParams,\n} from './dto';\n\n@ApiTags('ShareToken')\n@Authenticate('jwt')\n@Controller('sharetoken')\nexport class ShareTokenController {\n\tconstructor(private readonly shareTokenUC: ShareTokenUC) {}\n\n\t@ApiOperation({ summary: 'Create a share token.' })\n\t@ApiResponse({ status: 201, type: ShareTokenResponse })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 500, type: InternalServerErrorException })\n\t@Post()\n\tasync createShareToken(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() body: ShareTokenBodyParams\n\t): Promise {\n\t\tconst shareToken = await this.shareTokenUC.createShareToken(\n\t\t\tcurrentUser.userId,\n\t\t\t{\n\t\t\t\tparentType: body.parentType,\n\t\t\t\tparentId: body.parentId,\n\t\t\t},\n\t\t\t{\n\t\t\t\tschoolExclusive: body.schoolExclusive,\n\t\t\t\texpiresInDays: body.expiresInDays,\n\t\t\t}\n\t\t);\n\n\t\tconst response = ShareTokenResponseMapper.mapToResponse(shareToken);\n\n\t\treturn Promise.resolve(response);\n\t}\n\n\t@ApiOperation({ summary: 'Look up a share token.' })\n\t@ApiResponse({ status: 200, type: ShareTokenInfoResponse })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@ApiResponse({ status: 500, type: InternalServerErrorException })\n\t@Get(':token')\n\tasync lookupShareToken(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() urlParams: ShareTokenUrlParams\n\t): Promise {\n\t\tconst shareTokenInfo = await this.shareTokenUC.lookupShareToken(currentUser.userId, urlParams.token);\n\n\t\tconst response = ShareTokenInfoResponseMapper.mapToResponse(shareTokenInfo);\n\n\t\treturn response;\n\t}\n\n\t@ApiOperation({ summary: 'Import a share token payload.' })\n\t@ApiResponse({ status: 201, type: CopyApiResponse })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@ApiResponse({ status: 500, type: InternalServerErrorException })\n\t@ApiResponse({ status: 501, type: NotImplementedException })\n\t@Post(':token/import')\n\t@RequestTimeout(serverConfig().INCOMING_REQUEST_TIMEOUT_COPY_API)\n\tasync importShareToken(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() urlParams: ShareTokenUrlParams,\n\t\t@Body() body: ShareTokenImportBodyParams\n\t): Promise {\n\t\tconst copyStatus = await this.shareTokenUC.importShareToken(\n\t\t\tcurrentUser.userId,\n\t\t\turlParams.token,\n\t\t\tbody.newName,\n\t\t\tbody.destinationCourseId\n\t\t);\n\n\t\tconst response = CopyMapper.mapToResponse(copyStatus);\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenDO.html":{"url":"classes/ShareTokenDO.html","title":"class - ShareTokenDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenDO\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/domainobject/share-token.do.ts\n \n\n\n\n \n Extends\n \n \n BaseDO\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n context\n \n \n Optional\n expiresAt\n \n \n payload\n \n \n token\n \n \n Optional\n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(domainObject: ShareTokenDO)\n \n \n \n \n Defined in apps/server/src/modules/sharing/domainobject/share-token.do.ts:33\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n \n ShareTokenDO\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n context\n \n \n \n \n \n \n Type : ShareTokenContext\n\n \n \n \n \n Defined in apps/server/src/modules/sharing/domainobject/share-token.do.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n expiresAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/modules/sharing/domainobject/share-token.do.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n payload\n \n \n \n \n \n \n Type : ShareTokenPayload\n\n \n \n \n \n Defined in apps/server/src/modules/sharing/domainobject/share-token.do.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n token\n \n \n \n \n \n \n Type : ShareTokenString\n\n \n \n \n \n Defined in apps/server/src/modules/sharing/domainobject/share-token.do.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from BaseDO\n\n \n \n \n \n Defined in BaseDO:5\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { BaseDO } from '@shared/domain/domainobject';\n\nexport enum ShareTokenParentType {\n\t'Course' = 'courses',\n\t'Task' = 'tasks',\n\t'Lesson' = 'lessons',\n}\n\nexport enum ShareTokenContextType {\n\t'School' = 'schools',\n}\n\nexport type ShareTokenString = string;\n\nexport type ShareTokenPayload = {\n\tparentType: ShareTokenParentType;\n\tparentId: EntityId;\n};\n\nexport type ShareTokenContext = {\n\tcontextType: ShareTokenContextType;\n\tcontextId: EntityId;\n};\n\nexport class ShareTokenDO extends BaseDO {\n\ttoken: ShareTokenString;\n\n\tpayload: ShareTokenPayload;\n\n\tcontext?: ShareTokenContext;\n\n\texpiresAt?: Date;\n\n\tconstructor(domainObject: ShareTokenDO) {\n\t\tsuper(domainObject.id);\n\n\t\tthis.token = domainObject.token;\n\t\tthis.payload = domainObject.payload;\n\t\tthis.context = domainObject.context;\n\t\tthis.expiresAt = domainObject.expiresAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenFactory.html":{"url":"classes/ShareTokenFactory.html","title":"class - ShareTokenFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/share-token.do.factory.ts\n \n\n\n\n \n Extends\n \n \n Factory\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n withId\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withId\n \n \n \n \n \n \nwithId(id?: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/share-token.do.factory.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ShareTokenDO, ShareTokenParentType } from '@modules/sharing/domainobject/share-token.do';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport { Factory } from 'fishery';\n\nclass ShareTokenFactory extends Factory {\n\t/* istanbul ignore next */\n\twithId(id?: EntityId) {\n\t\treturn this.params({ id: new ObjectId(id).toHexString() });\n\t}\n}\n\nexport const shareTokenFactory = ShareTokenFactory.define(({ sequence }) => {\n\treturn {\n\t\ttoken: `share-token-${sequence}`,\n\t\tpayload: {\n\t\t\tparentType: ShareTokenParentType.Course,\n\t\t\tparentId: new ObjectId().toHexString(),\n\t\t},\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenImportBodyParams.html":{"url":"classes/ShareTokenImportBodyParams.html","title":"class - ShareTokenImportBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenImportBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/controller/dto/share-token-import.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n destinationCourseId\n \n \n \n \n \n newName\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n destinationCourseId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()@ApiProperty({description: 'Id of the course to which the lesson/task will be added', required: false, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token-import.body.params.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n newName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@SanitizeHtml()@ApiProperty({description: 'the new name of the imported object.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token-import.body.params.ts:13\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\nimport { IsOptional, IsString } from 'class-validator';\n\nexport class ShareTokenImportBodyParams {\n\t@IsString()\n\t@SanitizeHtml()\n\t@ApiProperty({\n\t\tdescription: 'the new name of the imported object.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tnewName!: string;\n\n\t@IsOptional()\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'Id of the course to which the lesson/task will be added',\n\t\trequired: false,\n\t\tnullable: true,\n\t})\n\tdestinationCourseId?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ShareTokenInfoDto.html":{"url":"interfaces/ShareTokenInfoDto.html","title":"interface - ShareTokenInfoDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ShareTokenInfoDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/uc/dto/share-token-info.dto.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n parentName\n \n \n \n \n parentType\n \n \n \n \n token\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n parentName\n \n \n \n \n \n \n \n \n parentName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n \n \n parentType: ShareTokenParentType\n\n \n \n\n\n \n \n Type : ShareTokenParentType\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n token\n \n \n \n \n \n \n \n \n token: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { ShareTokenParentType } from '../../domainobject/share-token.do';\n\nexport interface ShareTokenInfoDto {\n\ttoken: string;\n\tparentType: ShareTokenParentType;\n\tparentName: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenInfoResponse.html":{"url":"classes/ShareTokenInfoResponse.html","title":"class - ShareTokenInfoResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenInfoResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/controller/dto/share-token-info.reponse.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n parentName\n \n \n \n parentType\n \n \n \n token\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: ShareTokenInfoResponse)\n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token-info.reponse.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n ShareTokenInfoResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n parentName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token-info.reponse.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n Type : ShareTokenParentType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ShareTokenParentType})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token-info.reponse.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n token\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token-info.reponse.ts:13\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\nimport { ShareTokenParentType } from '../../domainobject/share-token.do';\n\nexport class ShareTokenInfoResponse {\n\tconstructor({ token, parentType, parentName }: ShareTokenInfoResponse) {\n\t\tthis.token = token;\n\t\tthis.parentType = parentType;\n\t\tthis.parentName = parentName;\n\t}\n\n\t@ApiProperty()\n\ttoken: string;\n\n\t@ApiProperty({ enum: ShareTokenParentType })\n\tparentType: ShareTokenParentType;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tparentName: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenInfoResponseMapper.html":{"url":"classes/ShareTokenInfoResponseMapper.html","title":"class - ShareTokenInfoResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenInfoResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/mapper/share-token-info-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(shareTokenInfo: ShareTokenInfoDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/mapper/share-token-info-response.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n shareTokenInfo\n \n ShareTokenInfoDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ShareTokenInfoResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ShareTokenInfoResponse } from '../controller/dto';\nimport { ShareTokenInfoDto } from '../uc/dto';\n\nexport class ShareTokenInfoResponseMapper {\n\tstatic mapToResponse(shareTokenInfo: ShareTokenInfoDto): ShareTokenInfoResponse {\n\t\tconst dto = new ShareTokenInfoResponse({\n\t\t\ttoken: shareTokenInfo.token,\n\t\t\tparentType: shareTokenInfo.parentType,\n\t\t\tparentName: shareTokenInfo.parentName,\n\t\t});\n\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenParentTypeMapper.html":{"url":"classes/ShareTokenParentTypeMapper.html","title":"class - ShareTokenParentTypeMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenParentTypeMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/mapper/parent-type.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToAllowedAuthorizationEntityType\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToAllowedAuthorizationEntityType\n \n \n \n \n \n \n \n mapToAllowedAuthorizationEntityType(type: ShareTokenParentType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/mapper/parent-type.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n type\n \n ShareTokenParentType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AuthorizableReferenceType\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { NotImplementedException } from '@nestjs/common';\nimport { AuthorizableReferenceType } from '@modules/authorization/domain';\nimport { ShareTokenParentType } from '../domainobject/share-token.do';\n\nexport class ShareTokenParentTypeMapper {\n\tstatic mapToAllowedAuthorizationEntityType(type: ShareTokenParentType): AuthorizableReferenceType {\n\t\tconst types: Map = new Map();\n\t\ttypes.set(ShareTokenParentType.Course, AuthorizableReferenceType.Course);\n\t\ttypes.set(ShareTokenParentType.Lesson, AuthorizableReferenceType.Lesson);\n\t\ttypes.set(ShareTokenParentType.Task, AuthorizableReferenceType.Task);\n\n\t\tconst res = types.get(type);\n\n\t\tif (!res) {\n\t\t\tthrow new NotImplementedException();\n\t\t}\n\t\treturn res;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenPayloadResponse.html":{"url":"classes/ShareTokenPayloadResponse.html","title":"class - ShareTokenPayloadResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenPayloadResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/controller/dto/share-token-payload.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n parentId\n \n \n \n parentType\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(payload: ShareTokenPayload)\n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token-payload.response.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n payload\n \n \n ShareTokenPayload\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token-payload.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n Type : ShareTokenParentType\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ShareTokenParentType})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token-payload.response.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ShareTokenParentType, ShareTokenPayload } from '../../domainobject/share-token.do';\n\nexport class ShareTokenPayloadResponse {\n\tconstructor(payload: ShareTokenPayload) {\n\t\tthis.parentType = payload.parentType;\n\t\tthis.parentId = payload.parentId;\n\t}\n\n\t@ApiProperty({ enum: ShareTokenParentType })\n\tparentType: ShareTokenParentType;\n\n\t@ApiProperty()\n\tparentId: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ShareTokenProperties.html":{"url":"interfaces/ShareTokenProperties.html","title":"interface - ShareTokenProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ShareTokenProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/entity/share-token.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n contextId\n \n \n \n Optional\n \n contextType\n \n \n \n Optional\n \n expiresAt\n \n \n \n \n parentId\n \n \n \n \n parentType\n \n \n \n \n token\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n contextId\n \n \n \n \n \n \n \n \n contextId: EntityId | ObjectId\n\n \n \n\n\n \n \n Type : EntityId | ObjectId\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n contextType\n \n \n \n \n \n \n \n \n contextType: ShareTokenContextType\n\n \n \n\n\n \n \n Type : ShareTokenContextType\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n expiresAt\n \n \n \n \n \n \n \n \n expiresAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n parentId\n \n \n \n \n \n \n \n \n parentId: EntityId | ObjectId\n\n \n \n\n\n \n \n Type : EntityId | ObjectId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n parentType\n \n \n \n \n \n \n \n \n parentType: ShareTokenParentType\n\n \n \n\n\n \n \n Type : ShareTokenParentType\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n token\n \n \n \n \n \n \n \n \n token: ShareTokenString\n\n \n \n\n\n \n \n Type : ShareTokenString\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Enum, Index, Property } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity/base.entity';\nimport { EntityId } from '@shared/domain/types/entity-id';\nimport { ShareTokenContextType, ShareTokenParentType, ShareTokenString } from '../domainobject/share-token.do';\n\nexport interface ShareTokenProperties {\n\ttoken: ShareTokenString;\n\tparentType: ShareTokenParentType;\n\tparentId: EntityId | ObjectId;\n\tcontextType?: ShareTokenContextType;\n\tcontextId?: EntityId | ObjectId;\n\texpiresAt?: Date;\n}\n\n@Entity({ tableName: 'sharetokens' })\nexport class ShareToken extends BaseEntityWithTimestamps {\n\t@Property()\n\ttoken: ShareTokenString;\n\n\t@Enum()\n\tparentType: ShareTokenParentType;\n\n\t@Property({ fieldName: 'parent' })\n\t_parentId: ObjectId;\n\n\tget parentId(): EntityId {\n\t\treturn this._parentId.toHexString();\n\t}\n\n\t@Enum({ nullable: true })\n\tcontextType?: ShareTokenContextType;\n\n\t@Property({ fieldName: 'context', nullable: true })\n\t_contextId?: ObjectId;\n\n\tget contextId(): EntityId | undefined {\n\t\treturn this._contextId?.toHexString();\n\t}\n\n\t@Index({ options: { expireAfterSeconds: 0 } })\n\t@Property({ nullable: true })\n\texpiresAt?: Date;\n\n\tconstructor(props: ShareTokenProperties) {\n\t\tsuper();\n\t\tthis.token = props.token;\n\t\tthis.parentType = props.parentType;\n\t\tthis._parentId = new ObjectId(props.parentId);\n\t\tthis.contextType = props.contextType;\n\t\tif (props.contextId !== undefined) {\n\t\t\tthis._contextId = new ObjectId(props.contextId);\n\t\t}\n\t\tthis.expiresAt = props.expiresAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ShareTokenRepo.html":{"url":"injectables/ShareTokenRepo.html","title":"injectable - ShareTokenRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ShareTokenRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/repo/share-token.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseDORepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findOneByToken\n \n \n Protected\n mapDOToEntityProperties\n \n \n Protected\n mapEntityToDO\n \n \n Private\n Async\n createOrUpdateEntity\n \n \n Async\n delete\n \n \n Async\n deleteById\n \n \n Async\n findById\n \n \n Private\n removeProtectedEntityFields\n \n \n Async\n save\n \n \n Async\n saveAll\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findOneByToken\n \n \n \n \n \n \n \n findOneByToken(token: ShareTokenString)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/repo/share-token.repo.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n token\n \n ShareTokenString\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n mapDOToEntityProperties\n \n \n \n \n \n \n \n mapDOToEntityProperties(domainObject: ShareTokenDO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:43\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n ShareTokenDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : EntityData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n mapEntityToDO\n \n \n \n \n \n \n \n mapEntityToDO(entity: ShareToken)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:21\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n ShareToken\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ShareTokenDO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createOrUpdateEntity\n \n \n \n \n \n \n \n createOrUpdateEntity(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:32\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(domainObjects: DO[] | DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:61\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[] | DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteById\n \n \n \n \n \n \n [object Object],[object Object],[object Object]\n \n \n \n \n \n deleteById(id: EntityId | EntityId[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:78\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:90\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeProtectedEntityFields\n \n \n \n \n \n \n \n removeProtectedEntityFields(entityData: EntityData)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:98\n\n \n \n\n\n \n \n Ignore base entity properties when updating entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityData\n \n EntityData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAll\n \n \n \n \n \n \n \n saveAll(domainObjects: DO[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/sharing/repo/share-token.repo.ts:9\n \n \n\n \n \n\n \n\n\n \n import { EntityData, EntityName } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\nimport { BaseDORepo } from '@shared/repo/base.do.repo';\nimport { ShareTokenContext, ShareTokenDO, ShareTokenPayload, ShareTokenString } from '../domainobject/share-token.do';\nimport { ShareToken } from '../entity/share-token.entity';\n\n@Injectable()\nexport class ShareTokenRepo extends BaseDORepo {\n\tget entityName(): EntityName {\n\t\treturn ShareToken;\n\t}\n\n\tasync findOneByToken(token: ShareTokenString): Promise {\n\t\tconst entity = await this._em.findOneOrFail(ShareToken, { token });\n\n\t\tconst shareToken = this.mapEntityToDO(entity);\n\n\t\treturn shareToken;\n\t}\n\n\tprotected mapEntityToDO(entity: ShareToken): ShareTokenDO {\n\t\tconst payload: ShareTokenPayload = {\n\t\t\tparentType: entity.parentType,\n\t\t\tparentId: entity.parentId,\n\t\t};\n\n\t\tconst context: ShareTokenContext | undefined =\n\t\t\tentity.contextType && entity.contextId\n\t\t\t\t? { contextType: entity.contextType, contextId: entity.contextId }\n\t\t\t\t: undefined;\n\n\t\tconst domainObject = new ShareTokenDO({\n\t\t\tid: entity.id,\n\t\t\ttoken: entity.token,\n\t\t\tpayload,\n\t\t\tcontext,\n\t\t\texpiresAt: entity.expiresAt,\n\t\t});\n\n\t\treturn domainObject;\n\t}\n\n\tprotected mapDOToEntityProperties(domainObject: ShareTokenDO): EntityData {\n\t\tconst properties = {\n\t\t\ttoken: domainObject.token,\n\t\t\tparentType: domainObject.payload.parentType,\n\t\t\tparentId: domainObject.payload.parentId,\n\t\t\tcontextType: domainObject.context?.contextType,\n\t\t\tcontextId: domainObject.context?.contextId,\n\t\t\texpiresAt: domainObject.expiresAt,\n\t\t};\n\n\t\treturn properties;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenResponse.html":{"url":"classes/ShareTokenResponse.html","title":"class - ShareTokenResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/controller/dto/share-token.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n expiresAt\n \n \n \n payload\n \n \n \n token\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: ShareTokenResponse)\n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token.response.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n ShareTokenResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n expiresAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token.response.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n payload\n \n \n \n \n \n \n Type : ShareTokenPayloadResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token.response.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n token\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token.response.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { ShareTokenPayloadResponse } from './share-token-payload.response';\n\nexport class ShareTokenResponse {\n\tconstructor({ token, payload, expiresAt }: ShareTokenResponse) {\n\t\tthis.token = token;\n\t\tthis.payload = new ShareTokenPayloadResponse(payload);\n\t\tthis.expiresAt = expiresAt;\n\t}\n\n\t@ApiProperty()\n\ttoken: string;\n\n\t@ApiProperty()\n\tpayload: ShareTokenPayloadResponse;\n\n\t@ApiPropertyOptional()\n\texpiresAt?: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenResponseMapper.html":{"url":"classes/ShareTokenResponseMapper.html","title":"class - ShareTokenResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/mapper/share-token-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(shareToken: ShareTokenDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/mapper/share-token-response.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n shareToken\n \n ShareTokenDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ShareTokenResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ShareTokenDO } from '../domainobject/share-token.do';\nimport { ShareTokenResponse } from '../controller/dto';\n\nexport class ShareTokenResponseMapper {\n\tstatic mapToResponse(shareToken: ShareTokenDO): ShareTokenResponse {\n\t\tconst dto = new ShareTokenResponse({\n\t\t\ttoken: shareToken.token,\n\t\t\tpayload: shareToken.payload,\n\t\t\texpiresAt: shareToken.expiresAt,\n\t\t});\n\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ShareTokenService.html":{"url":"injectables/ShareTokenService.html","title":"injectable - ShareTokenService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ShareTokenService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/service/share-token.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkExpired\n \n \n Async\n createToken\n \n \n Async\n lookupToken\n \n \n Async\n lookupTokenWithParentName\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(tokenGenerator: TokenGenerator, shareTokenRepo: ShareTokenRepo, courseService: CourseService, lessonService: LessonService, taskService: TaskService)\n \n \n \n \n Defined in apps/server/src/modules/sharing/service/share-token.service.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n tokenGenerator\n \n \n TokenGenerator\n \n \n \n No\n \n \n \n \n shareTokenRepo\n \n \n ShareTokenRepo\n \n \n \n No\n \n \n \n \n courseService\n \n \n CourseService\n \n \n \n No\n \n \n \n \n lessonService\n \n \n LessonService\n \n \n \n No\n \n \n \n \n taskService\n \n \n TaskService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkExpired\n \n \n \n \n \n \n \n checkExpired(shareToken: ShareTokenDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/service/share-token.service.ts:70\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n shareToken\n \n ShareTokenDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createToken\n \n \n \n \n \n \n \n createToken(payload: ShareTokenPayload, options?: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/service/share-token.service.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n payload\n \n ShareTokenPayload\n \n\n \n No\n \n\n\n \n \n options\n \n literal type\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n lookupToken\n \n \n \n \n \n \n \n lookupToken(token: ShareTokenString)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/service/share-token.service.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n token\n \n ShareTokenString\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n lookupTokenWithParentName\n \n \n \n \n \n \n \n lookupTokenWithParentName(token: ShareTokenString)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/service/share-token.service.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n token\n \n ShareTokenString\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { CourseService } from '@modules/learnroom/service';\nimport { LessonService } from '@modules/lesson/service';\nimport { TaskService } from '@modules/task/service';\nimport {\n\tShareTokenContext,\n\tShareTokenDO,\n\tShareTokenParentType,\n\tShareTokenPayload,\n\tShareTokenString,\n} from '../domainobject/share-token.do';\nimport { ShareTokenRepo } from '../repo/share-token.repo';\nimport { TokenGenerator } from './token-generator.service';\n\n@Injectable()\nexport class ShareTokenService {\n\tconstructor(\n\t\tprivate readonly tokenGenerator: TokenGenerator,\n\t\tprivate readonly shareTokenRepo: ShareTokenRepo,\n\t\tprivate readonly courseService: CourseService,\n\t\tprivate readonly lessonService: LessonService,\n\t\tprivate readonly taskService: TaskService\n\t) {}\n\n\tasync createToken(\n\t\tpayload: ShareTokenPayload,\n\t\toptions?: { context?: ShareTokenContext; expiresAt?: Date }\n\t): Promise {\n\t\tconst token = this.tokenGenerator.generateShareToken();\n\t\tconst shareToken = new ShareTokenDO({\n\t\t\ttoken,\n\t\t\tpayload,\n\t\t\tcontext: options?.context,\n\t\t\texpiresAt: options?.expiresAt,\n\t\t});\n\n\t\tawait this.shareTokenRepo.save(shareToken);\n\n\t\treturn shareToken;\n\t}\n\n\tasync lookupToken(token: ShareTokenString): Promise {\n\t\tconst shareToken = await this.shareTokenRepo.findOneByToken(token);\n\n\t\tthis.checkExpired(shareToken);\n\n\t\treturn shareToken;\n\t}\n\n\tasync lookupTokenWithParentName(token: ShareTokenString): Promise {\n\t\tconst shareToken = await this.lookupToken(token);\n\n\t\tlet parentName = '';\n\t\tswitch (shareToken.payload.parentType) {\n\t\t\tcase ShareTokenParentType.Course:\n\t\t\t\tparentName = (await this.courseService.findById(shareToken.payload.parentId)).name;\n\t\t\t\tbreak;\n\t\t\tcase ShareTokenParentType.Lesson:\n\t\t\t\tparentName = (await this.lessonService.findById(shareToken.payload.parentId)).name;\n\t\t\t\tbreak;\n\t\t\tcase ShareTokenParentType.Task:\n\t\t\t\tparentName = (await this.taskService.findById(shareToken.payload.parentId)).name;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t}\n\n\t\treturn { shareToken, parentName };\n\t}\n\n\tprivate checkExpired(shareToken: ShareTokenDO) {\n\t\tif (shareToken.expiresAt != null && shareToken.expiresAt \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ShareTokenUC.html":{"url":"injectables/ShareTokenUC.html","title":"injectable - ShareTokenUC","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ShareTokenUC\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/uc/share-token.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n checkContextReadPermission\n \n \n Private\n Async\n checkCreatePermission\n \n \n Private\n checkFeatureEnabled\n \n \n Private\n Async\n checkParentWritePermission\n \n \n Private\n Async\n copyCourse\n \n \n Private\n Async\n copyLesson\n \n \n Private\n Async\n copyTask\n \n \n Async\n createShareToken\n \n \n Async\n importShareToken\n \n \n Async\n lookupShareToken\n \n \n Private\n nowPlusDays\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(shareTokenService: ShareTokenService, authorizationService: AuthorizationService, authorizationReferenceService: AuthorizationReferenceService, courseCopyService: CourseCopyService, lessonCopyService: LessonCopyService, courseService: CourseService, taskCopyService: TaskCopyService, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:25\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n shareTokenService\n \n \n ShareTokenService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n authorizationReferenceService\n \n \n AuthorizationReferenceService\n \n \n \n No\n \n \n \n \n courseCopyService\n \n \n CourseCopyService\n \n \n \n No\n \n \n \n \n lessonCopyService\n \n \n LessonCopyService\n \n \n \n No\n \n \n \n \n courseService\n \n \n CourseService\n \n \n \n No\n \n \n \n \n taskCopyService\n \n \n TaskCopyService\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n checkContextReadPermission\n \n \n \n \n \n \n \n checkContextReadPermission(userId: EntityId, context: ShareTokenContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:193\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n context\n \n ShareTokenContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n checkCreatePermission\n \n \n \n \n \n \n \n checkCreatePermission(userId: EntityId, parentType: ShareTokenParentType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:205\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n parentType\n \n ShareTokenParentType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n checkFeatureEnabled\n \n \n \n \n \n \n \n checkFeatureEnabled(parentType: ShareTokenParentType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:232\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n parentType\n \n ShareTokenParentType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n checkParentWritePermission\n \n \n \n \n \n \n \n checkParentWritePermission(userId: EntityId, payload: ShareTokenPayload)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:167\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n payload\n \n ShareTokenPayload\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n copyCourse\n \n \n \n \n \n \n \n copyCourse(userId: EntityId, courseId: string, newName: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:132\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n courseId\n \n string\n \n\n \n No\n \n\n\n \n \n newName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n copyLesson\n \n \n \n \n \n \n \n copyLesson(userId: string, lessonId: string, courseId: string, copyName?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:140\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n lessonId\n \n string\n \n\n \n No\n \n\n\n \n \n courseId\n \n string\n \n\n \n No\n \n\n\n \n \n copyName\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n copyTask\n \n \n \n \n \n \n \n copyTask(userId: string, originalTaskId: string, courseId: string, copyName?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:151\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n originalTaskId\n \n string\n \n\n \n No\n \n\n\n \n \n courseId\n \n string\n \n\n \n No\n \n\n\n \n \n copyName\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createShareToken\n \n \n \n \n \n \n \n createShareToken(userId: EntityId, payload: ShareTokenPayload, options?: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n payload\n \n ShareTokenPayload\n \n\n \n No\n \n\n\n \n \n options\n \n literal type\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n importShareToken\n \n \n \n \n \n \n \n importShareToken(userId: EntityId, token: string, newName: string, destinationCourseId?: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:90\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n token\n \n string\n \n\n \n No\n \n\n\n \n \n newName\n \n string\n \n\n \n No\n \n\n\n \n \n destinationCourseId\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n lookupShareToken\n \n \n \n \n \n \n \n lookupShareToken(userId: EntityId, token: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:68\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n token\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n nowPlusDays\n \n \n \n \n \n \n \n nowPlusDays(days: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/uc/share-token.uc.ts:226\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n days\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { AuthorizationReferenceService } from '@modules/authorization/domain';\nimport { CopyStatus } from '@modules/copy-helper';\nimport { CourseCopyService } from '@modules/learnroom';\nimport { CourseService } from '@modules/learnroom/service';\nimport { LessonCopyService } from '@modules/lesson/service';\nimport { TaskCopyService } from '@modules/task/service';\nimport { BadRequestException, Injectable, InternalServerErrorException, NotImplementedException } from '@nestjs/common';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacyLogger } from '@src/core/logger';\nimport {\n\tShareTokenContext,\n\tShareTokenContextType,\n\tShareTokenDO,\n\tShareTokenParentType,\n\tShareTokenPayload,\n} from '../domainobject/share-token.do';\nimport { ShareTokenContextTypeMapper, ShareTokenParentTypeMapper } from '../mapper';\nimport { ShareTokenService } from '../service';\nimport { ShareTokenInfoDto } from './dto';\n\n@Injectable()\nexport class ShareTokenUC {\n\tconstructor(\n\t\tprivate readonly shareTokenService: ShareTokenService,\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly authorizationReferenceService: AuthorizationReferenceService,\n\t\tprivate readonly courseCopyService: CourseCopyService,\n\t\tprivate readonly lessonCopyService: LessonCopyService,\n\t\tprivate readonly courseService: CourseService,\n\t\tprivate readonly taskCopyService: TaskCopyService,\n\n\t\tprivate readonly logger: LegacyLogger\n\t) {\n\t\tthis.logger.setContext(ShareTokenUC.name);\n\t}\n\n\tasync createShareToken(\n\t\tuserId: EntityId,\n\t\tpayload: ShareTokenPayload,\n\t\toptions?: { schoolExclusive?: boolean; expiresInDays?: number }\n\t): Promise {\n\t\tthis.checkFeatureEnabled(payload.parentType);\n\n\t\tthis.logger.debug({ action: 'createShareToken', userId, payload, options });\n\n\t\tawait this.checkParentWritePermission(userId, payload);\n\n\t\tconst serviceOptions: { context?: ShareTokenContext; expiresAt?: Date } = {};\n\t\tif (options?.schoolExclusive) {\n\t\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\t\t\tserviceOptions.context = {\n\t\t\t\tcontextType: ShareTokenContextType.School,\n\t\t\t\tcontextId: user.school.id,\n\t\t\t};\n\t\t\tawait this.checkContextReadPermission(userId, serviceOptions.context);\n\t\t}\n\t\tif (options?.expiresInDays) {\n\t\t\tserviceOptions.expiresAt = this.nowPlusDays(options.expiresInDays);\n\t\t}\n\n\t\tconst shareToken = await this.shareTokenService.createToken(payload, serviceOptions);\n\t\treturn shareToken;\n\t}\n\n\tasync lookupShareToken(userId: EntityId, token: string): Promise {\n\t\tthis.logger.debug({ action: 'lookupShareToken', userId, token });\n\n\t\tconst { shareToken, parentName } = await this.shareTokenService.lookupTokenWithParentName(token);\n\n\t\tthis.checkFeatureEnabled(shareToken.payload.parentType);\n\n\t\tawait this.checkCreatePermission(userId, shareToken.payload.parentType);\n\n\t\tif (shareToken.context) {\n\t\t\tawait this.checkContextReadPermission(userId, shareToken.context);\n\t\t}\n\n\t\tconst shareTokenInfo: ShareTokenInfoDto = {\n\t\t\ttoken,\n\t\t\tparentType: shareToken.payload.parentType,\n\t\t\tparentName,\n\t\t};\n\n\t\treturn shareTokenInfo;\n\t}\n\n\tasync importShareToken(\n\t\tuserId: EntityId,\n\t\ttoken: string,\n\t\tnewName: string,\n\t\tdestinationCourseId?: string\n\t): Promise {\n\t\tthis.logger.debug({ action: 'importShareToken', userId, token, newName });\n\n\t\tconst shareToken = await this.shareTokenService.lookupToken(token);\n\n\t\tthis.checkFeatureEnabled(shareToken.payload.parentType);\n\n\t\tif (shareToken.context) {\n\t\t\tawait this.checkContextReadPermission(userId, shareToken.context);\n\t\t}\n\n\t\tawait this.checkCreatePermission(userId, shareToken.payload.parentType);\n\n\t\tlet result: CopyStatus;\n\t\tswitch (shareToken.payload.parentType) {\n\t\t\tcase ShareTokenParentType.Course:\n\t\t\t\tresult = await this.copyCourse(userId, shareToken.payload.parentId, newName);\n\t\t\t\tbreak;\n\t\t\tcase ShareTokenParentType.Lesson:\n\t\t\t\tif (destinationCourseId === undefined) {\n\t\t\t\t\tthrow new BadRequestException('Destination course id is required to copy lesson');\n\t\t\t\t}\n\t\t\t\tresult = await this.copyLesson(userId, shareToken.payload.parentId, destinationCourseId, newName);\n\t\t\t\tbreak;\n\t\t\tcase ShareTokenParentType.Task:\n\t\t\t\tif (destinationCourseId === undefined) {\n\t\t\t\t\tthrow new BadRequestException('Destination course id is required to copy task');\n\t\t\t\t}\n\t\t\t\tresult = await this.copyTask(userId, shareToken.payload.parentId, destinationCourseId, newName);\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new NotImplementedException('Copy not implemented');\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tprivate async copyCourse(userId: EntityId, courseId: string, newName: string): Promise {\n\t\treturn this.courseCopyService.copyCourse({\n\t\t\tuserId,\n\t\t\tcourseId,\n\t\t\tnewName,\n\t\t});\n\t}\n\n\tprivate async copyLesson(userId: string, lessonId: string, courseId: string, copyName?: string): Promise {\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\t\tconst destinationCourse = await this.courseService.findById(courseId);\n\t\treturn this.lessonCopyService.copyLesson({\n\t\t\tuser,\n\t\t\toriginalLessonId: lessonId,\n\t\t\tdestinationCourse,\n\t\t\tcopyName,\n\t\t});\n\t}\n\n\tprivate async copyTask(\n\t\tuserId: string,\n\t\toriginalTaskId: string,\n\t\tcourseId: string,\n\t\tcopyName?: string\n\t): Promise {\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\t\tconst destinationCourse = await this.courseService.findById(courseId);\n\t\treturn this.taskCopyService.copyTask({\n\t\t\tuser,\n\t\t\toriginalTaskId,\n\t\t\tdestinationCourse,\n\t\t\tcopyName,\n\t\t});\n\t}\n\n\tprivate async checkParentWritePermission(userId: EntityId, payload: ShareTokenPayload) {\n\t\tconst allowedParentType = ShareTokenParentTypeMapper.mapToAllowedAuthorizationEntityType(payload.parentType);\n\n\t\tlet requiredPermissions: Permission[] = [];\n\t\t// eslint-disable-next-line default-case\n\t\tswitch (payload.parentType) {\n\t\t\tcase ShareTokenParentType.Course:\n\t\t\t\trequiredPermissions = [Permission.COURSE_CREATE];\n\t\t\t\tbreak;\n\t\t\tcase ShareTokenParentType.Lesson:\n\t\t\t\trequiredPermissions = [Permission.TOPIC_CREATE];\n\t\t\t\tbreak;\n\t\t\tcase ShareTokenParentType.Task:\n\t\t\t\trequiredPermissions = [Permission.HOMEWORK_CREATE];\n\t\t}\n\n\t\tconst authorizationContext = AuthorizationContextBuilder.write(requiredPermissions);\n\n\t\tawait this.authorizationReferenceService.checkPermissionByReferences(\n\t\t\tuserId,\n\t\t\tallowedParentType,\n\t\t\tpayload.parentId,\n\t\t\tauthorizationContext\n\t\t);\n\t}\n\n\tprivate async checkContextReadPermission(userId: EntityId, context: ShareTokenContext) {\n\t\tconst allowedContextType = ShareTokenContextTypeMapper.mapToAllowedAuthorizationEntityType(context.contextType);\n\t\tconst authorizationContext = AuthorizationContextBuilder.read([]);\n\n\t\tawait this.authorizationReferenceService.checkPermissionByReferences(\n\t\t\tuserId,\n\t\t\tallowedContextType,\n\t\t\tcontext.contextId,\n\t\t\tauthorizationContext\n\t\t);\n\t}\n\n\tprivate async checkCreatePermission(userId: EntityId, parentType: ShareTokenParentType) {\n\t\t// checks if parent type is supported\n\t\tShareTokenParentTypeMapper.mapToAllowedAuthorizationEntityType(parentType);\n\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\n\t\tlet requiredPermissions: Permission[] = [];\n\t\t// eslint-disable-next-line default-case\n\t\tswitch (parentType) {\n\t\t\tcase ShareTokenParentType.Course:\n\t\t\t\trequiredPermissions = [Permission.COURSE_CREATE];\n\t\t\t\tbreak;\n\t\t\tcase ShareTokenParentType.Lesson:\n\t\t\t\trequiredPermissions = [Permission.TOPIC_CREATE];\n\t\t\t\tbreak;\n\t\t\tcase ShareTokenParentType.Task:\n\t\t\t\trequiredPermissions = [Permission.HOMEWORK_CREATE];\n\t\t}\n\t\tthis.authorizationService.checkAllPermissions(user, requiredPermissions);\n\t}\n\n\tprivate nowPlusDays(days: number) {\n\t\tconst date = new Date();\n\t\tdate.setDate(date.getDate() + days);\n\t\treturn date;\n\t}\n\n\tprivate checkFeatureEnabled(parentType: ShareTokenParentType) {\n\t\tswitch (parentType) {\n\t\t\tcase ShareTokenParentType.Course:\n\t\t\t\t// Configuration.get is the deprecated way to read envirment variables\n\t\t\t\tif (!(Configuration.get('FEATURE_COURSE_SHARE_NEW') as boolean)) {\n\t\t\t\t\tthrow new InternalServerErrorException('Import Course Feature not enabled');\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase ShareTokenParentType.Lesson:\n\t\t\t\t// Configuration.get is the deprecated way to read envirment variables\n\t\t\t\tif (!(Configuration.get('FEATURE_LESSON_SHARE') as boolean)) {\n\t\t\t\t\tthrow new InternalServerErrorException('Import Lesson Feature not enabled');\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tcase ShareTokenParentType.Task:\n\t\t\t\t// Configuration.get is the deprecated way to read envirment variables\n\t\t\t\tif (!(Configuration.get('FEATURE_TASK_SHARE') as boolean)) {\n\t\t\t\t\tthrow new InternalServerErrorException('Import Task Feature not enabled');\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tthrow new NotImplementedException('Import Feature not implemented');\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ShareTokenUrlParams.html":{"url":"classes/ShareTokenUrlParams.html","title":"class - ShareTokenUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ShareTokenUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/controller/dto/share-token.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n token\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n token\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({description: 'The token that identifies the shared object', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/sharing/controller/dto/share-token.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsString } from 'class-validator';\n\nexport class ShareTokenUrlParams {\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'The token that identifies the shared object',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\ttoken!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/SharingApiModule.html":{"url":"modules/SharingApiModule.html","title":"module - SharingApiModule","body":"\n \n\n\n\n\n Modules\n SharingApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_SharingApiModule\n\n\n\ncluster_SharingApiModule_imports\n\n\n\ncluster_SharingApiModule_providers\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nSharingApiModule\n\nSharingApiModule\n\nSharingApiModule -->\n\nAuthorizationModule->SharingApiModule\n\n\n\n\n\nAuthorizationReferenceModule\n\nAuthorizationReferenceModule\n\nSharingApiModule -->\n\nAuthorizationReferenceModule->SharingApiModule\n\n\n\n\n\nLearnroomModule\n\nLearnroomModule\n\nSharingApiModule -->\n\nLearnroomModule->SharingApiModule\n\n\n\n\n\nLessonModule\n\nLessonModule\n\nSharingApiModule -->\n\nLessonModule->SharingApiModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nSharingApiModule -->\n\nLoggerModule->SharingApiModule\n\n\n\n\n\nSharingModule\n\nSharingModule\n\nSharingApiModule -->\n\nSharingModule->SharingApiModule\n\n\n\n\n\nTaskModule\n\nTaskModule\n\nSharingApiModule -->\n\nTaskModule->SharingApiModule\n\n\n\n\n\nShareTokenUC\n\nShareTokenUC\n\nSharingApiModule -->\n\nShareTokenUC->SharingApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/sharing/sharing.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ShareTokenUC\n \n \n \n \n Controllers\n \n \n ShareTokenController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n AuthorizationReferenceModule\n \n \n LearnroomModule\n \n \n LessonModule\n \n \n LoggerModule\n \n \n SharingModule\n \n \n TaskModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { AuthorizationReferenceModule } from '@modules/authorization/authorization-reference.module';\nimport { ShareTokenController } from './controller/share-token.controller';\nimport { ShareTokenUC } from './uc';\nimport { ShareTokenService, TokenGenerator } from './service';\nimport { ShareTokenRepo } from './repo/share-token.repo';\nimport { LessonModule } from '../lesson';\nimport { LearnroomModule } from '../learnroom';\nimport { TaskModule } from '../task';\n\n@Module({\n\timports: [AuthorizationModule, AuthorizationReferenceModule, LoggerModule, LearnroomModule, LessonModule, TaskModule],\n\tcontrollers: [],\n\tproviders: [ShareTokenService, TokenGenerator, ShareTokenRepo],\n\texports: [ShareTokenService],\n})\nexport class SharingModule {}\n\n@Module({\n\timports: [\n\t\tSharingModule,\n\t\tAuthorizationModule,\n\t\tAuthorizationReferenceModule,\n\t\tLearnroomModule,\n\t\tLessonModule,\n\t\tTaskModule,\n\t\tLoggerModule,\n\t],\n\tcontrollers: [ShareTokenController],\n\tproviders: [ShareTokenUC],\n})\nexport class SharingApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/SharingModule.html":{"url":"modules/SharingModule.html","title":"module - SharingModule","body":"\n \n\n\n\n\n Modules\n SharingModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_SharingModule\n\n\n\ncluster_SharingModule_exports\n\n\n\ncluster_SharingModule_providers\n\n\n\ncluster_SharingModule_imports\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nSharingModule\n\nSharingModule\n\nSharingModule -->\n\nAuthorizationModule->SharingModule\n\n\n\n\n\nAuthorizationReferenceModule\n\nAuthorizationReferenceModule\n\nSharingModule -->\n\nAuthorizationReferenceModule->SharingModule\n\n\n\n\n\nLearnroomModule\n\nLearnroomModule\n\nSharingModule -->\n\nLearnroomModule->SharingModule\n\n\n\n\n\nLessonModule\n\nLessonModule\n\nSharingModule -->\n\nLessonModule->SharingModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nSharingModule -->\n\nLoggerModule->SharingModule\n\n\n\n\n\nTaskModule\n\nTaskModule\n\nSharingModule -->\n\nTaskModule->SharingModule\n\n\n\n\n\nShareTokenService \n\nShareTokenService \n\nShareTokenService -->\n\nSharingModule->ShareTokenService \n\n\n\n\n\nShareTokenRepo\n\nShareTokenRepo\n\nSharingModule -->\n\nShareTokenRepo->SharingModule\n\n\n\n\n\nShareTokenService\n\nShareTokenService\n\nSharingModule -->\n\nShareTokenService->SharingModule\n\n\n\n\n\nTokenGenerator\n\nTokenGenerator\n\nSharingModule -->\n\nTokenGenerator->SharingModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/sharing/sharing.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ShareTokenRepo\n \n \n ShareTokenService\n \n \n TokenGenerator\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n AuthorizationReferenceModule\n \n \n LearnroomModule\n \n \n LessonModule\n \n \n LoggerModule\n \n \n TaskModule\n \n \n \n \n Exports\n \n \n ShareTokenService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { AuthorizationReferenceModule } from '@modules/authorization/authorization-reference.module';\nimport { ShareTokenController } from './controller/share-token.controller';\nimport { ShareTokenUC } from './uc';\nimport { ShareTokenService, TokenGenerator } from './service';\nimport { ShareTokenRepo } from './repo/share-token.repo';\nimport { LessonModule } from '../lesson';\nimport { LearnroomModule } from '../learnroom';\nimport { TaskModule } from '../task';\n\n@Module({\n\timports: [AuthorizationModule, AuthorizationReferenceModule, LoggerModule, LearnroomModule, LessonModule, TaskModule],\n\tcontrollers: [],\n\tproviders: [ShareTokenService, TokenGenerator, ShareTokenRepo],\n\texports: [ShareTokenService],\n})\nexport class SharingModule {}\n\n@Module({\n\timports: [\n\t\tSharingModule,\n\t\tAuthorizationModule,\n\t\tAuthorizationReferenceModule,\n\t\tLearnroomModule,\n\t\tLessonModule,\n\t\tTaskModule,\n\t\tLoggerModule,\n\t],\n\tcontrollers: [ShareTokenController],\n\tproviders: [ShareTokenUC],\n})\nexport class SharingApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SingleColumnBoardResponse.html":{"url":"classes/SingleColumnBoardResponse.html","title":"class - SingleColumnBoardResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SingleColumnBoardResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/learnroom/controller/dto/single-column-board/board.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n displayColor\n \n \n \n elements\n \n \n \n isArchived\n \n \n \n roomId\n \n \n \n \n title\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: SingleColumnBoardResponse)\n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n SingleColumnBoardResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n displayColor\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Color of the Board'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board.response.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n elements\n \n \n \n \n \n \n Type : BoardElementResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined, description: 'Array of board specific tasks or lessons with matching type property'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board.response.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n isArchived\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Boolean if the room this board belongs to is archived'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board.response.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n \n roomId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The id of the room this board belongs to', pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @DecodeHtmlEntities()@ApiProperty({description: 'Title of the Board'})\n \n \n \n \n \n Defined in apps/server/src/modules/learnroom/controller/dto/single-column-board/board.response.ts:25\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { DecodeHtmlEntities } from '@shared/controller';\nimport { BoardElementResponse } from './board-element.response';\n\n// TODO: this and DashboardResponse should be combined\nexport class SingleColumnBoardResponse {\n\tconstructor({ roomId, title, displayColor, elements, isArchived }: SingleColumnBoardResponse) {\n\t\tthis.roomId = roomId;\n\t\tthis.title = title;\n\t\tthis.displayColor = displayColor;\n\t\tthis.elements = elements;\n\t\tthis.isArchived = isArchived;\n\t}\n\n\t@ApiProperty({\n\t\tdescription: 'The id of the room this board belongs to',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\troomId: string;\n\n\t@DecodeHtmlEntities()\n\t@ApiProperty({\n\t\tdescription: 'Title of the Board',\n\t})\n\ttitle: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Color of the Board',\n\t})\n\tdisplayColor: string;\n\n\t@ApiProperty({\n\t\ttype: [BoardElementResponse],\n\t\tdescription: 'Array of board specific tasks or lessons with matching type property',\n\t})\n\telements: BoardElementResponse[];\n\n\t@ApiProperty({\n\t\tdescription: 'Boolean if the room this board belongs to is archived',\n\t})\n\tisArchived: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SingleFileParams.html":{"url":"classes/SingleFileParams.html","title":"class - SingleFileParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SingleFileParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n fileRecordId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n fileRecordId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/files-storage/controller/dto/file-storage.params.ts:72\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ScanResult } from '@infra/antivirus';\nimport { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { EntityId } from '@shared/domain/types';\nimport { Allow, IsBoolean, IsEnum, IsMongoId, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { FileRecordParentType } from '../../entity';\nimport { PreviewOutputMimeTypes, PreviewWidth } from '../../interface';\n\nexport class FileRecordParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tschoolId!: EntityId;\n\n\t@ApiProperty()\n\t@IsMongoId()\n\tparentId!: EntityId;\n\n\t@ApiProperty({ enum: FileRecordParentType, enumName: 'FileRecordParentType' })\n\t@IsEnum(FileRecordParentType)\n\tparentType!: FileRecordParentType;\n}\n\nexport class FileUrlParams {\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\turl!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n\n\t@ApiProperty({ type: 'string' })\n\t@Allow()\n\theaders?: Record;\n}\n\nexport class FileParams {\n\t@ApiProperty({ type: 'string', format: 'binary' })\n\t@Allow()\n\tfile!: string;\n}\n\nexport class DownloadFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileName!: string;\n}\n\nexport class ScanResultParams implements ScanResult {\n\t@ApiProperty()\n\t@Allow()\n\tvirus_detected?: boolean;\n\n\t@ApiProperty()\n\t@Allow()\n\tvirus_signature?: string;\n\n\t@ApiProperty()\n\t@Allow()\n\terror?: string;\n}\n\nexport class SingleFileParams {\n\t@ApiProperty()\n\t@IsMongoId()\n\tfileRecordId!: EntityId;\n}\n\nexport class RenameFileParams {\n\t@ApiProperty()\n\t@IsString()\n\t@IsNotEmpty()\n\tfileName!: string;\n}\n\nexport class CopyFilesOfParentParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class CopyFileParams {\n\t@ApiProperty()\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n\n\t@ApiProperty()\n\t@IsString()\n\tfileNamePrefix!: string;\n}\n\nexport class CopyFilesOfParentPayload {\n\t@IsMongoId()\n\tuserId!: EntityId;\n\n\t@ValidateNested()\n\tsource!: FileRecordParams;\n\n\t@ValidateNested()\n\ttarget!: FileRecordParams;\n}\n\nexport class PreviewParams {\n\t@ApiPropertyOptional({ enum: PreviewOutputMimeTypes, enumName: 'PreviewOutputMimeTypes' })\n\t@IsOptional()\n\t@IsEnum(PreviewOutputMimeTypes)\n\toutputFormat?: PreviewOutputMimeTypes;\n\n\t@ApiPropertyOptional({ enum: PreviewWidth, enumName: 'PreviewWidth' })\n\t@IsOptional()\n\t@IsEnum(PreviewWidth)\n\twidth?: PreviewWidth;\n\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\t@ApiPropertyOptional({\n\t\tdescription: 'If true, the preview will be generated again.',\n\t})\n\tforceUpdate?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SortExternalToolParams.html":{"url":"classes/SortExternalToolParams.html","title":"class - SortExternalToolParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SortExternalToolParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/request/external-tool-sort.params.ts\n \n\n\n\n \n Extends\n \n \n SortingParams\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n sortBy\n \n \n \n \n \n sortOrder\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n sortBy\n \n \n \n \n \n \n Type : ExternalToolSortBy\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsEnum(ExternalToolSortBy)@ApiPropertyOptional({enum: ExternalToolSortBy})\n \n \n \n \n \n Inherited from SortingParams\n\n \n \n \n \n Defined in SortingParams:14\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n sortOrder\n \n \n \n \n \n \n Type : SortOrder\n\n \n \n \n \n Default value : SortOrder.asc\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsEnum(SortOrder)@ApiPropertyOptional({enum: SortOrder})\n \n \n \n \n \n Inherited from SortingParams\n\n \n \n \n \n Defined in SortingParams:18\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { SortingParams } from '@shared/controller';\nimport { IsEnum, IsOptional } from 'class-validator';\nimport { ApiPropertyOptional } from '@nestjs/swagger';\n\nexport enum ExternalToolSortBy {\n\tID = 'id',\n\tNAME = 'name',\n}\n\nexport class SortExternalToolParams extends SortingParams {\n\t@IsOptional()\n\t@IsEnum(ExternalToolSortBy)\n\t@ApiPropertyOptional({ enum: ExternalToolSortBy })\n\tsortBy?: ExternalToolSortBy;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SortHelper.html":{"url":"classes/SortHelper.html","title":"class - SortHelper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SortHelper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/util/sort-helper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n genericSortFunction\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n genericSortFunction\n \n \n \n \n \n \n \n genericSortFunction(a: T, b: T, sortOrder: SortOrder)\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/util/sort-helper.ts:4\n \n \n\n \n \n Type parameters :\n \n T\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n a\n \n T\n \n\n \n No\n \n\n\n \n \n b\n \n T\n \n\n \n No\n \n\n\n \n \n sortOrder\n \n SortOrder\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : number\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { SortOrder } from '@shared/domain/interface';\n\nexport class SortHelper {\n\tpublic static genericSortFunction(a: T, b: T, sortOrder: SortOrder): number {\n\t\tlet order: number;\n\n\t\tif (typeof a !== 'undefined' && typeof b === 'undefined') {\n\t\t\torder = 1;\n\t\t} else if (typeof a === 'undefined' && typeof b !== 'undefined') {\n\t\t\torder = -1;\n\t\t} else if (typeof a === 'string' && typeof b === 'string') {\n\t\t\torder = a.localeCompare(b);\n\t\t} else if (typeof a === 'number' && typeof b === 'number') {\n\t\t\torder = a - b;\n\t\t} else {\n\t\t\torder = 0;\n\t\t}\n\n\t\treturn sortOrder === SortOrder.desc ? -order : order;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SortImportUserParams.html":{"url":"classes/SortImportUserParams.html","title":"class - SortImportUserParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SortImportUserParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/controller/dto/sort-import-user.params.ts\n \n\n\n\n \n Extends\n \n \n SortingParams\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n sortBy\n \n \n \n \n \n sortOrder\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n sortBy\n \n \n \n \n \n \n Type : ImportUserSortOrder\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsEnum(ImportUserSortOrder)@ApiPropertyOptional({enum: ImportUserSortOrder})\n \n \n \n \n \n Inherited from SortingParams\n\n \n \n \n \n Defined in SortingParams:14\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n sortOrder\n \n \n \n \n \n \n Type : SortOrder\n\n \n \n \n \n Default value : SortOrder.asc\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsEnum(SortOrder)@ApiPropertyOptional({enum: SortOrder})\n \n \n \n \n \n Inherited from SortingParams\n\n \n \n \n \n Defined in SortingParams:18\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { SortingParams } from '@shared/controller';\nimport { IsEnum, IsOptional } from 'class-validator';\n\nexport enum ImportUserSortOrder {\n\tFIRSTNAME = 'firstName',\n\tLASTNAME = 'lastName',\n}\n\nexport class SortImportUserParams extends SortingParams {\n\t@IsOptional()\n\t@IsEnum(ImportUserSortOrder)\n\t@ApiPropertyOptional({ enum: ImportUserSortOrder })\n\tsortBy?: ImportUserSortOrder;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SortingParams.html":{"url":"classes/SortingParams.html","title":"class - SortingParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SortingParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/controller/dto/sorting.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Abstract\n Optional\n sortBy\n \n \n \n \n \n sortOrder\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Abstract\n Optional\n sortBy\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Defined in apps/server/src/shared/controller/dto/sorting.params.ts:13\n \n \n\n \n \n Set type and Decorators in extending classes\n\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n sortOrder\n \n \n \n \n \n \n Type : SortOrder\n\n \n \n \n \n Default value : SortOrder.asc\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsEnum(SortOrder)@ApiPropertyOptional({enum: SortOrder})\n \n \n \n \n \n Defined in apps/server/src/shared/controller/dto/sorting.params.ts:18\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsEnum, IsOptional } from 'class-validator';\nimport { ApiPropertyOptional } from '@nestjs/swagger';\n\nenum SortOrder {\n\tasc = 'asc',\n\tdesc = 'desc',\n}\n\nexport abstract class SortingParams {\n\t/**\n\t * Set type and Decorators in extending classes\n\t */\n\tabstract sortBy?: T;\n\n\t@IsOptional()\n\t@IsEnum(SortOrder)\n\t@ApiPropertyOptional({ enum: SortOrder })\n\tsortOrder: SortOrder = SortOrder.asc;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/StartUserLoginMigrationUc.html":{"url":"injectables/StartUserLoginMigrationUc.html","title":"injectable - StartUserLoginMigrationUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n StartUserLoginMigrationUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/uc/start-user-login-migration.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n checkPreconditions\n \n \n Async\n startMigration\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userLoginMigrationService: UserLoginMigrationService, authorizationService: AuthorizationService, schoolService: LegacySchoolService, logger: Logger)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/uc/start-user-login-migration.uc.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigrationService\n \n \n UserLoginMigrationService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n checkPreconditions\n \n \n \n \n \n \n \n checkPreconditions(userId: string, schoolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/uc/start-user-login-migration.uc.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n schoolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n startMigration\n \n \n \n \n \n \n \n startMigration(userId: EntityId, schoolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/uc/start-user-login-migration.uc.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContext, AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { LegacySchoolService } from '@modules/legacy-school';\nimport { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { LegacySchoolDo, UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { Logger } from '@src/core/logger';\nimport {\n\tSchoolNumberMissingLoggableException,\n\tUserLoginMigrationAlreadyClosedLoggableException,\n\tUserLoginMigrationStartLoggable,\n} from '../loggable';\nimport { UserLoginMigrationService } from '../service';\n\n@Injectable()\nexport class StartUserLoginMigrationUc {\n\tconstructor(\n\t\tprivate readonly userLoginMigrationService: UserLoginMigrationService,\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly schoolService: LegacySchoolService,\n\t\tprivate readonly logger: Logger\n\t) {\n\t\tthis.logger.setContext(StartUserLoginMigrationUc.name);\n\t}\n\n\tasync startMigration(userId: EntityId, schoolId: EntityId): Promise {\n\t\tawait this.checkPreconditions(userId, schoolId);\n\n\t\tlet userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationService.findMigrationBySchool(\n\t\t\tschoolId\n\t\t);\n\n\t\tif (!userLoginMigration) {\n\t\t\tuserLoginMigration = await this.userLoginMigrationService.startMigration(schoolId);\n\n\t\t\tthis.logger.info(new UserLoginMigrationStartLoggable(userId, userLoginMigration.id));\n\t\t} else if (userLoginMigration.closedAt) {\n\t\t\tthrow new UserLoginMigrationAlreadyClosedLoggableException(userLoginMigration.closedAt, userLoginMigration.id);\n\t\t}\n\n\t\treturn userLoginMigration;\n\t}\n\n\tprivate async checkPreconditions(userId: string, schoolId: string): Promise {\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(userId);\n\t\tconst school: LegacySchoolDo = await this.schoolService.getSchoolById(schoolId);\n\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.write([Permission.USER_LOGIN_MIGRATION_ADMIN]);\n\t\tthis.authorizationService.checkPermission(user, school, context);\n\n\t\tif (!school.officialSchoolNumber) {\n\t\t\tthrow new SchoolNumberMissingLoggableException(schoolId);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/StatelessAuthorizationParams.html":{"url":"classes/StatelessAuthorizationParams.html","title":"class - StatelessAuthorizationParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n StatelessAuthorizationParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/controller/dto/stateless-authorization.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n code\n \n \n \n \n Optional\n error\n \n \n \n \n Optional\n error_description\n \n \n \n \n Optional\n error_uri\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n code\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()@IsNotEmpty()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth/controller/dto/stateless-authorization.params.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n error\n \n \n \n \n \n \n Type : SSOAuthenticationError\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsEnum(SSOAuthenticationError)\n \n \n \n \n \n Defined in apps/server/src/modules/oauth/controller/dto/stateless-authorization.params.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n error_description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth/controller/dto/stateless-authorization.params.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n error_uri\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()\n \n \n \n \n \n Defined in apps/server/src/modules/oauth/controller/dto/stateless-authorization.params.ts:20\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsEnum, IsNotEmpty, IsOptional, IsString } from 'class-validator';\nimport { SSOAuthenticationError } from '../../interface/sso-authentication-error.enum';\n\nexport class StatelessAuthorizationParams {\n\t@IsOptional()\n\t@IsString()\n\t@IsNotEmpty()\n\tcode?: string;\n\n\t@IsOptional()\n\t@IsEnum(SSOAuthenticationError)\n\terror?: SSOAuthenticationError;\n\n\t@IsOptional()\n\t@IsString()\n\terror_description?: string;\n\n\t@IsOptional()\n\t@IsString()\n\terror_uri?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/StorageProviderEncryptedStringType.html":{"url":"classes/StorageProviderEncryptedStringType.html","title":"class - StorageProviderEncryptedStringType","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n StorageProviderEncryptedStringType\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/types/StorageProviderEncryptedString.type.ts\n \n\n\n \n Description\n \n \n Serialization type to transparent encrypt string values in database.\n\n \n\n \n Extends\n \n \n Type\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n key\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n convertToDatabaseValue\n \n \n convertToJSValue\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(customKey?: string)\n \n \n \n \n Defined in apps/server/src/shared/repo/types/StorageProviderEncryptedString.type.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n customKey\n \n \n string\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n key\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/repo/types/StorageProviderEncryptedString.type.ts:10\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n convertToDatabaseValue\n \n \n \n \n \n \nconvertToDatabaseValue(value: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/types/StorageProviderEncryptedString.type.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n convertToJSValue\n \n \n \n \n \n \nconvertToJSValue(value: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/types/StorageProviderEncryptedString.type.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\nimport { Type } from '@mikro-orm/core';\nimport CryptoJs from 'crypto-js';\n\n/**\n * Serialization type to transparent encrypt string values in database.\n */\nexport class StorageProviderEncryptedStringType extends Type {\n\t// TODO modularize service?\n\tprivate key: string;\n\n\tconstructor(customKey?: string) {\n\t\tsuper();\n\t\tif (customKey) {\n\t\t\tthis.key = customKey;\n\t\t} else {\n\t\t\tthis.key = Configuration.get('S3_KEY') as string;\n\t\t}\n\t}\n\n\tconvertToDatabaseValue(value: string | undefined): string {\n\t\t// keep nullish values\n\t\tif (value == null) {\n\t\t\treturn value as unknown as string;\n\t\t}\n\n\t\t// encrypt non-empty strings only\n\t\tif (value.length === 0) {\n\t\t\treturn '';\n\t\t}\n\t\tconst encryptedString = CryptoJs.AES.encrypt(value, this.key).toString();\n\n\t\treturn encryptedString;\n\t}\n\n\tconvertToJSValue(value: string | undefined): string {\n\t\t// keep nullish values\n\t\tif (value == null) {\n\t\t\treturn value as unknown as string;\n\t\t}\n\n\t\t// decrypt non-empty strings only\n\t\tif (value.length === 0) {\n\t\t\treturn '';\n\t\t}\n\n\t\t// decrypt only non-empty strings\n\t\tconst decryptedString: string = CryptoJs.AES.decrypt(value, this.key).toString(CryptoJs.enc.Utf8);\n\n\t\treturn decryptedString;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/StorageProviderEntity.html":{"url":"entities/StorageProviderEntity.html","title":"entity - StorageProviderEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n StorageProviderEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/storageprovider.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n accessKeyId\n \n \n \n endpointUrl\n \n \n \n Optional\n region\n \n \n \n secretAccessKey\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n accessKeyId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/storageprovider.entity.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n endpointUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/storageprovider.entity.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n region\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/storageprovider.entity.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n secretAccessKey\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({fieldName: 'secretAccessKey', type: StorageProviderEncryptedStringType})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/storageprovider.entity.ts:21\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { StorageProviderEncryptedStringType } from '@shared/repo/types/StorageProviderEncryptedString.type';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface StorageProviderProperties {\n\tendpointUrl: string;\n\taccessKeyId: string;\n\tsecretAccessKey: string;\n\tregion?: string;\n}\n\n@Entity({ tableName: 'storageproviders' })\nexport class StorageProviderEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tendpointUrl: string;\n\n\t@Property()\n\taccessKeyId: string;\n\n\t@Property({ fieldName: 'secretAccessKey', type: StorageProviderEncryptedStringType })\n\tsecretAccessKey: string;\n\n\t@Property({ nullable: true })\n\tregion?: string;\n\n\tconstructor(props: StorageProviderProperties) {\n\t\tsuper();\n\t\tthis.endpointUrl = props.endpointUrl;\n\t\tthis.accessKeyId = props.accessKeyId;\n\t\tthis.secretAccessKey = props.secretAccessKey;\n\t\tthis.region = props.region;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/StorageProviderProperties.html":{"url":"interfaces/StorageProviderProperties.html","title":"interface - StorageProviderProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n StorageProviderProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/storageprovider.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n accessKeyId\n \n \n \n \n endpointUrl\n \n \n \n Optional\n \n region\n \n \n \n \n secretAccessKey\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n accessKeyId\n \n \n \n \n \n \n \n \n accessKeyId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n endpointUrl\n \n \n \n \n \n \n \n \n endpointUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n region\n \n \n \n \n \n \n \n \n region: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n secretAccessKey\n \n \n \n \n \n \n \n \n secretAccessKey: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { StorageProviderEncryptedStringType } from '@shared/repo/types/StorageProviderEncryptedString.type';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface StorageProviderProperties {\n\tendpointUrl: string;\n\taccessKeyId: string;\n\tsecretAccessKey: string;\n\tregion?: string;\n}\n\n@Entity({ tableName: 'storageproviders' })\nexport class StorageProviderEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tendpointUrl: string;\n\n\t@Property()\n\taccessKeyId: string;\n\n\t@Property({ fieldName: 'secretAccessKey', type: StorageProviderEncryptedStringType })\n\tsecretAccessKey: string;\n\n\t@Property({ nullable: true })\n\tregion?: string;\n\n\tconstructor(props: StorageProviderProperties) {\n\t\tsuper();\n\t\tthis.endpointUrl = props.endpointUrl;\n\t\tthis.accessKeyId = props.accessKeyId;\n\t\tthis.secretAccessKey = props.secretAccessKey;\n\t\tthis.region = props.region;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/StorageProviderRepo.html":{"url":"injectables/StorageProviderRepo.html","title":"injectable - StorageProviderRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n StorageProviderRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/storageprovider/storageprovider.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findAll\n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(_em: EntityManager)\n \n \n \n \n Defined in apps/server/src/shared/repo/storageprovider/storageprovider.repo.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n _em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findAll\n \n \n \n \n \n \n \n findAll()\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/storageprovider/storageprovider.repo.ts:16\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/storageprovider/storageprovider.repo.ts:12\n \n \n\n \n \n\n \n\n\n \n import { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { StorageProviderEntity } from '@shared/domain/entity';\nimport { BaseRepo } from '../base.repo';\n\n@Injectable()\nexport class StorageProviderRepo extends BaseRepo {\n\tconstructor(protected readonly _em: EntityManager) {\n\t\tsuper(_em);\n\t}\n\n\tget entityName() {\n\t\treturn StorageProviderEntity;\n\t}\n\n\tasync findAll(): Promise {\n\t\tconst providers = this._em.find(StorageProviderEntity, {});\n\n\t\treturn providers;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/StringValidator.html":{"url":"classes/StringValidator.html","title":"class - StringValidator","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n StringValidator\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/validator/string.validator.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n isNotEmptyString\n \n \n Static\n isString\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n isNotEmptyString\n \n \n \n \n \n \n \n isNotEmptyString(value?: string, trim)\n \n \n\n\n \n \n Defined in apps/server/src/shared/common/validator/string.validator.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n value\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n trim\n \n \n\n \n No\n \n\n \n false\n \n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n isString\n \n \n \n \n \n \n \n isString(value?: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/common/validator/string.validator.ts:2\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n export class StringValidator {\n\tstatic isString(value?: string): value is string {\n\t\tconst result = value != null && typeof value === 'string';\n\t\tif (result === true) {\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tstatic isNotEmptyString(value?: string, trim = false): boolean {\n\t\tif (StringValidator.isString(value)) {\n\t\t\tconst result = trim ? value.trim().length > 0 : value.length > 0;\n\t\t\treturn result;\n\t\t}\n\t\treturn false;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/Submission.html":{"url":"entities/Submission.html","title":"entity - Submission","body":"\n \n\n\n\n\n\n\n\n Entities\n Submission\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/submission.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n comment\n \n \n \n Optional\n courseGroup\n \n \n \n Optional\n grade\n \n \n \n Optional\n gradeComment\n \n \n \n graded\n \n \n \n \n school\n \n \n \n student\n \n \n \n submitted\n \n \n \n \n task\n \n \n \n teamMembers\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n comment\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/submission.entity.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n courseGroup\n \n \n \n \n \n \n Type : CourseGroup\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('CourseGroup', {fieldName: 'courseGroupId', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/submission.entity.ts:40\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n grade\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/submission.entity.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n gradeComment\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/submission.entity.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n \n graded\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/submission.entity.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n Type : SchoolEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined, {fieldName: 'schoolId'})@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/submission.entity.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n student\n \n \n \n \n \n \n Type : User\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('User', {fieldName: 'studentId'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/submission.entity.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n \n submitted\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/submission.entity.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n task\n \n \n \n \n \n \n Type : Task\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('Task', {fieldName: 'homeworkId'})@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/submission.entity.ts:34\n \n \n\n\n \n \n \n \n \n \n \n \n \n teamMembers\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @ManyToMany('User', undefined, {fieldName: 'teamMembers'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/submission.entity.ts:43\n \n \n\n\n \n \n\n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, Property, Unique } from '@mikro-orm/core';\n\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { CourseGroup } from './coursegroup.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { Task } from './task.entity';\nimport type { User } from './user.entity';\n\nexport interface SubmissionProperties {\n\tschool: SchoolEntity;\n\ttask: Task;\n\tstudent: User;\n\tcourseGroup?: CourseGroup;\n\tteamMembers?: User[];\n\tcomment: string;\n\tsubmitted?: boolean;\n\tgraded?: boolean;\n\tgrade?: number;\n\tgradeComment?: string;\n}\n\n@Entity({ tableName: 'submissions' })\n@Index({ properties: ['student', 'teamMembers'] })\n@Unique({ properties: ['student', 'task'] })\nexport class Submission extends BaseEntityWithTimestamps {\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\t@Index()\n\tschool: SchoolEntity;\n\n\t@ManyToOne('Task', { fieldName: 'homeworkId' })\n\t@Index()\n\ttask: Task;\n\n\t@ManyToOne('User', { fieldName: 'studentId' })\n\tstudent: User;\n\n\t@ManyToOne('CourseGroup', { fieldName: 'courseGroupId', nullable: true })\n\tcourseGroup?: CourseGroup;\n\n\t@ManyToMany('User', undefined, { fieldName: 'teamMembers' })\n\tteamMembers = new Collection(this);\n\n\t@Property({ nullable: true })\n\tcomment?: string;\n\n\t@Property()\n\tsubmitted: boolean;\n\n\t@Property()\n\tgraded: boolean;\n\n\t@Property({ nullable: true })\n\tgrade?: number;\n\n\t@Property({ nullable: true })\n\tgradeComment?: string;\n\n\tconstructor(props: SubmissionProperties) {\n\t\tsuper();\n\t\tthis.school = props.school;\n\t\tthis.student = props.student;\n\t\tthis.comment = props.comment;\n\t\tthis.task = props.task;\n\t\tthis.submitted = props.submitted || false;\n\t\tthis.graded = props.graded || false;\n\t\tthis.grade = props.grade;\n\t\tthis.gradeComment = props.gradeComment;\n\t\tthis.courseGroup = props.courseGroup;\n\n\t\tif (props.teamMembers !== undefined) {\n\t\t\tthis.teamMembers.set(props.teamMembers);\n\t\t}\n\t}\n\n\tprivate getCourseGroupStudentIds(): EntityId[] {\n\t\tlet courseGroupMemberIds: EntityId[] = [];\n\n\t\tif (this.courseGroup) {\n\t\t\tcourseGroupMemberIds = this.courseGroup.getStudentIds();\n\t\t}\n\n\t\treturn courseGroupMemberIds;\n\t}\n\n\tprivate getTeamMemberIds(): EntityId[] {\n\t\tif (!this.teamMembers) {\n\t\t\tthrow new InternalServerErrorException(\n\t\t\t\t'Submission.teamMembers is undefined. The submission need to be populated.'\n\t\t\t);\n\t\t}\n\n\t\tconst teamMemberObjectIds = this.teamMembers.getIdentifiers('_id');\n\t\tconst teamMemberIds = teamMemberObjectIds.map((id): string => id.toString());\n\n\t\treturn teamMemberIds;\n\t}\n\n\tpublic isSubmitted(): boolean {\n\t\treturn this.submitted;\n\t}\n\n\tpublic isSubmittedForUser(user: User): boolean {\n\t\tconst isMember = this.isUserSubmitter(user);\n\t\tconst isSubmitted = this.isSubmitted();\n\t\tconst isSubmittedForUser = isMember && isSubmitted;\n\n\t\treturn isSubmittedForUser;\n\t}\n\n\t// Bad that the logic is needed to expose the userIds, but is used in task for now.\n\t// Check later if it can be replaced and remove all related code.\n\tpublic getSubmitterIds(): EntityId[] {\n\t\tconst creatorId = this.student.id;\n\t\tconst teamMemberIds = this.getTeamMemberIds();\n\t\tconst courseGroupMemberIds = this.getCourseGroupStudentIds();\n\t\tconst memberIds = [creatorId, ...teamMemberIds, ...courseGroupMemberIds];\n\n\t\tconst uniqueMemberIds = [...new Set(memberIds)];\n\n\t\treturn uniqueMemberIds;\n\t}\n\n\tpublic isUserSubmitter(user: User): boolean {\n\t\tconst memberIds = this.getSubmitterIds();\n\t\tconst isMember = memberIds.some((id) => id === user.id);\n\n\t\treturn isMember;\n\t}\n\n\tpublic isGraded(): boolean {\n\t\treturn this.graded;\n\t}\n\n\tpublic isGradedForUser(user: User): boolean {\n\t\tconst isMember = this.isUserSubmitter(user);\n\t\tconst isGraded = this.isGraded();\n\t\tconst isGradedForUser = isMember && isGraded;\n\n\t\treturn isGradedForUser;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionContainerContentBody.html":{"url":"classes/SubmissionContainerContentBody.html","title":"class - SubmissionContainerContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionContainerContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n dueDate\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n dueDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsDate()@IsOptional()@ApiPropertyOptional({description: 'The point in time until when a submission can be handed in.'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:106\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionContainerElement.html":{"url":"classes/SubmissionContainerElement.html","title":"class - SubmissionContainerElement","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionContainerElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/submission-container-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardComposite\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n accept\n \n \n Async\n acceptAsync\n \n \n isAllowedAsChild\n \n \n addChild\n \n \n hasChild\n \n \n removeChild\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n dueDate\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n accept\n \n \n \n \n \n \naccept(visitor: BoardCompositeVisitor)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitor\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n acceptAsync\n \n \n \n \n \n \n \n acceptAsync(visitor: BoardCompositeVisitorAsync)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:23\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitorAsync\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isAllowedAsChild\n \n \n \n \n \n \nisAllowedAsChild(domainObject: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:14\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addChild\n \n \n \n \n \n \naddChild(child: AnyBoardDo, position?: number)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n position\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasChild\n \n \n \n \n \n \nhasChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeChild\n \n \n \n \n \n \nremoveChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n dueDate\n \n \n\n \n \n getdueDate()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/submission-container-element.do.ts:6\n \n \n\n \n \n setdueDate(value: Date | null)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/submission-container-element.do.ts:10\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n Date | null\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport { SubmissionItem } from './submission-item.do';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class SubmissionContainerElement extends BoardComposite {\n\tget dueDate(): Date | null {\n\t\treturn this.props.dueDate;\n\t}\n\n\tset dueDate(value: Date | null) {\n\t\tthis.props.dueDate = value;\n\t}\n\n\tisAllowedAsChild(domainObject: AnyBoardDo): boolean {\n\t\tconst allowed = domainObject instanceof SubmissionItem;\n\t\treturn allowed;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitSubmissionContainerElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitSubmissionContainerElementAsync(this);\n\t}\n}\n\nexport interface SubmissionContainerElementProps extends BoardCompositeProps {\n\tdueDate: Date | null;\n}\n\nexport function isSubmissionContainerElement(reference: unknown): reference is SubmissionContainerElement {\n\treturn reference instanceof SubmissionContainerElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionContainerElementContent.html":{"url":"classes/SubmissionContainerElementContent.html","title":"class - SubmissionContainerElementContent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionContainerElementContent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/submission-container-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n dueDate\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: SubmissionContainerElementContent)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/submission-container-element.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n SubmissionContainerElementContent\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n dueDate\n \n \n \n \n \n \n Type : Date | null\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: Date, description: 'The dueDate as date string or null of not set', example: '2023-08-17T14:17:51.958+00:00'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/submission-container-element.response.ts:15\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class SubmissionContainerElementContent {\n\tconstructor({ dueDate }: SubmissionContainerElementContent) {\n\t\tthis.dueDate = dueDate;\n\t}\n\n\t@ApiProperty({\n\t\ttype: Date,\n\t\tdescription: 'The dueDate as date string or null of not set',\n\t\texample: '2023-08-17T14:17:51.958+00:00',\n\t})\n\tdueDate: Date | null;\n}\n\nexport class SubmissionContainerElementResponse {\n\tconstructor({ id, content, timestamps, type }: SubmissionContainerElementResponse) {\n\t\tthis.id = id;\n\t\tthis.content = content;\n\t\tthis.timestamps = timestamps;\n\t\tthis.type = type;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ApiProperty()\n\tcontent: SubmissionContainerElementContent;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionContainerElementContentBody.html":{"url":"classes/SubmissionContainerElementContentBody.html","title":"class - SubmissionContainerElementContentBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionContainerElementContentBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n \n Extends\n \n \n ElementContentBody\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : SubmissionContainerContentBody\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:115\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.SUBMISSION_CONTAINER\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from ElementContentBody\n\n \n \n \n \n Defined in ElementContentBody:111\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/SubmissionContainerElementNode.html":{"url":"entities/SubmissionContainerElementNode.html","title":"entity - SubmissionContainerElementNode","body":"\n \n\n\n\n\n\n\n\n Entities\n SubmissionContainerElementNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/submission-container-element-node.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n dueDate\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n dueDate\n \n \n \n \n \n \n Type : Date | null\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/submission-container-element-node.entity.ts:9\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { AnyBoardDo } from '../../domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.SUBMISSION_CONTAINER_ELEMENT })\nexport class SubmissionContainerElementNode extends BoardNode {\n\t@Property({ nullable: true })\n\tdueDate: Date | null;\n\n\tconstructor(props: SubmissionContainerNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.SUBMISSION_CONTAINER_ELEMENT;\n\t\tthis.dueDate = props.dueDate;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildSubmissionContainerElement(this);\n\n\t\treturn domainObject;\n\t}\n}\n\nexport interface SubmissionContainerNodeProps extends BoardNodeProps {\n\tdueDate: Date | null;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SubmissionContainerElementProps.html":{"url":"interfaces/SubmissionContainerElementProps.html","title":"interface - SubmissionContainerElementProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SubmissionContainerElementProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/submission-container-element.do.ts\n \n\n\n\n \n Extends\n \n \n BoardCompositeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n dueDate\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n dueDate\n \n \n \n \n \n \n \n \n dueDate: Date | null\n\n \n \n\n\n \n \n Type : Date | null\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport { SubmissionItem } from './submission-item.do';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class SubmissionContainerElement extends BoardComposite {\n\tget dueDate(): Date | null {\n\t\treturn this.props.dueDate;\n\t}\n\n\tset dueDate(value: Date | null) {\n\t\tthis.props.dueDate = value;\n\t}\n\n\tisAllowedAsChild(domainObject: AnyBoardDo): boolean {\n\t\tconst allowed = domainObject instanceof SubmissionItem;\n\t\treturn allowed;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitSubmissionContainerElement(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitSubmissionContainerElementAsync(this);\n\t}\n}\n\nexport interface SubmissionContainerElementProps extends BoardCompositeProps {\n\tdueDate: Date | null;\n}\n\nexport function isSubmissionContainerElement(reference: unknown): reference is SubmissionContainerElement {\n\treturn reference instanceof SubmissionContainerElement;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionContainerElementResponse.html":{"url":"classes/SubmissionContainerElementResponse.html","title":"class - SubmissionContainerElementResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionContainerElementResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/submission-container-element.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n content\n \n \n \n id\n \n \n \n timestamps\n \n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: SubmissionContainerElementResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/submission-container-element.response.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n SubmissionContainerElementResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : SubmissionContainerElementContent\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/submission-container-element.response.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/submission-container-element.response.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n timestamps\n \n \n \n \n \n \n Type : TimestampsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/submission-container-element.response.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ContentElementType.SUBMISSION_CONTAINER\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ContentElementType, enumName: 'ContentElementType'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/submission-container-element.response.ts:30\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { TimestampsResponse } from '../timestamps.response';\n\nexport class SubmissionContainerElementContent {\n\tconstructor({ dueDate }: SubmissionContainerElementContent) {\n\t\tthis.dueDate = dueDate;\n\t}\n\n\t@ApiProperty({\n\t\ttype: Date,\n\t\tdescription: 'The dueDate as date string or null of not set',\n\t\texample: '2023-08-17T14:17:51.958+00:00',\n\t})\n\tdueDate: Date | null;\n}\n\nexport class SubmissionContainerElementResponse {\n\tconstructor({ id, content, timestamps, type }: SubmissionContainerElementResponse) {\n\t\tthis.id = id;\n\t\tthis.content = content;\n\t\tthis.timestamps = timestamps;\n\t\tthis.type = type;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty({ enum: ContentElementType, enumName: 'ContentElementType' })\n\ttype: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ApiProperty()\n\tcontent: SubmissionContainerElementContent;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionContainerElementResponseMapper.html":{"url":"classes/SubmissionContainerElementResponseMapper.html","title":"class - SubmissionContainerElementResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionContainerElementResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/submission-container-element-response.mapper.ts\n \n\n\n\n\n \n Implements\n \n \n BaseResponseMapper\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n canMap\n \n \n Static\n getInstance\n \n \n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n \n \n Type : SubmissionContainerElementResponseMapper\n\n \n \n \n \n Defined in apps/server/src/modules/board/controller/mapper/submission-container-element-response.mapper.ts:6\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n canMap\n \n \n \n \n \n \ncanMap(element: SubmissionContainerElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/submission-container-element-response.mapper.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n SubmissionContainerElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n getInstance\n \n \n \n \n \n \n \n getInstance()\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/submission-container-element-response.mapper.ts:8\n \n \n\n\n \n \n\n \n Returns : SubmissionContainerElementResponseMapper\n\n \n \n \n \n \n \n \n \n \n \n \n mapToResponse\n \n \n \n \n \n \nmapToResponse(element: SubmissionContainerElement)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/submission-container-element-response.mapper.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n element\n \n SubmissionContainerElement\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SubmissionContainerElementResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ContentElementType, SubmissionContainerElement } from '@shared/domain/domainobject';\nimport { SubmissionContainerElementContent, SubmissionContainerElementResponse, TimestampsResponse } from '../dto';\nimport { BaseResponseMapper } from './base-mapper.interface';\n\nexport class SubmissionContainerElementResponseMapper implements BaseResponseMapper {\n\tprivate static instance: SubmissionContainerElementResponseMapper;\n\n\tpublic static getInstance(): SubmissionContainerElementResponseMapper {\n\t\tif (!SubmissionContainerElementResponseMapper.instance) {\n\t\t\tSubmissionContainerElementResponseMapper.instance = new SubmissionContainerElementResponseMapper();\n\t\t}\n\n\t\treturn SubmissionContainerElementResponseMapper.instance;\n\t}\n\n\tmapToResponse(element: SubmissionContainerElement): SubmissionContainerElementResponse {\n\t\tconst result = new SubmissionContainerElementResponse({\n\t\t\tid: element.id,\n\t\t\ttimestamps: new TimestampsResponse({ lastUpdatedAt: element.updatedAt, createdAt: element.createdAt }),\n\t\t\ttype: ContentElementType.SUBMISSION_CONTAINER,\n\t\t\tcontent: new SubmissionContainerElementContent({\n\t\t\t\tdueDate: element.dueDate,\n\t\t\t}),\n\t\t});\n\n\t\tif (element.dueDate) {\n\t\t\tresult.content = new SubmissionContainerElementContent({ dueDate: element.dueDate });\n\t\t}\n\n\t\treturn result;\n\t}\n\n\tcanMap(element: SubmissionContainerElement): boolean {\n\t\treturn element instanceof SubmissionContainerElement;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SubmissionContainerNodeProps.html":{"url":"interfaces/SubmissionContainerNodeProps.html","title":"interface - SubmissionContainerNodeProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SubmissionContainerNodeProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/submission-container-element-node.entity.ts\n \n\n\n\n \n Extends\n \n \n BoardNodeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n dueDate\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n dueDate\n \n \n \n \n \n \n \n \n dueDate: Date | null\n\n \n \n\n\n \n \n Type : Date | null\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { AnyBoardDo } from '../../domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.SUBMISSION_CONTAINER_ELEMENT })\nexport class SubmissionContainerElementNode extends BoardNode {\n\t@Property({ nullable: true })\n\tdueDate: Date | null;\n\n\tconstructor(props: SubmissionContainerNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.SUBMISSION_CONTAINER_ELEMENT;\n\t\tthis.dueDate = props.dueDate;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildSubmissionContainerElement(this);\n\n\t\treturn domainObject;\n\t}\n}\n\nexport interface SubmissionContainerNodeProps extends BoardNodeProps {\n\tdueDate: Date | null;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionContainerUrlParams.html":{"url":"classes/SubmissionContainerUrlParams.html","title":"class - SubmissionContainerUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionContainerUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/submission-item/submission-container.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n submissionContainerId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n submissionContainerId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the submission container.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/submission-container.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class SubmissionContainerUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the submission container.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tsubmissionContainerId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/SubmissionController.html":{"url":"controllers/SubmissionController.html","title":"controller - SubmissionController","body":"\n \n\n\n\n\n\n\n Controllers\n SubmissionController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/submission.controller.ts\n \n\n \n Prefix\n \n \n submissions\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n delete\n \n \n \n Async\n findStatusesByTask\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(urlParams: SubmissionUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Delete(':submissionId')\n \n \n\n \n \n Defined in apps/server/src/modules/task/controller/submission.controller.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n SubmissionUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findStatusesByTask\n \n \n \n \n \n \n \n findStatusesByTask(currentUser: ICurrentUser, params: TaskUrlParams)\n \n \n\n \n \n Decorators : \n \n @Get('status/task/:taskId')\n \n \n\n \n \n Defined in apps/server/src/modules/task/controller/submission.controller.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n TaskUrlParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Controller, Delete, Get, Param } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { SubmissionMapper } from '../mapper';\nimport { SubmissionUc } from '../uc';\nimport { SubmissionStatusListResponse, SubmissionUrlParams, TaskUrlParams } from './dto';\n\n@ApiTags('Submission')\n@Authenticate('jwt')\n@Controller('submissions')\nexport class SubmissionController {\n\tconstructor(private readonly submissionUc: SubmissionUc) {}\n\n\t@Get('status/task/:taskId')\n\tasync findStatusesByTask(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: TaskUrlParams\n\t): Promise {\n\t\tconst submissions = await this.submissionUc.findAllByTask(currentUser.userId, params.taskId);\n\n\t\tconst submissionResponses = submissions.map((submission) => SubmissionMapper.mapToStatusResponse(submission));\n\n\t\tconst listResponse = new SubmissionStatusListResponse(submissionResponses);\n\n\t\treturn listResponse;\n\t}\n\n\t@Delete(':submissionId')\n\tasync delete(@Param() urlParams: SubmissionUrlParams, @CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst result = await this.submissionUc.delete(currentUser.userId, urlParams.submissionId);\n\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionFactory.html":{"url":"classes/SubmissionFactory.html","title":"class - SubmissionFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/submission.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n graded\n \n \n studentWithId\n \n \n submitted\n \n \n teamMembersWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n graded\n \n \n \n \n \n \ngraded()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/submission.factory.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n studentWithId\n \n \n \n \n \n \nstudentWithId()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/submission.factory.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n submitted\n \n \n \n \n \n \nsubmitted()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/submission.factory.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n teamMembersWithId\n \n \n \n \n \n \nteamMembersWithId(numberOfTeamMembers: number)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/submission.factory.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n numberOfTeamMembers\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Submission, SubmissionProperties } from '@shared/domain/entity';\nimport { DeepPartial } from 'fishery';\nimport { BaseFactory } from './base.factory';\nimport { schoolFactory } from './school.factory';\nimport { taskFactory } from './task.factory';\nimport { userFactory } from './user.factory';\n\nclass SubmissionFactory extends BaseFactory {\n\tgraded(): this {\n\t\tconst params: DeepPartial = { graded: true };\n\n\t\treturn this.params(params);\n\t}\n\n\tsubmitted(): this {\n\t\tconst params: DeepPartial = { submitted: true };\n\n\t\treturn this.params(params);\n\t}\n\n\tstudentWithId(): this {\n\t\tconst params: DeepPartial = { student: userFactory.buildWithId() };\n\n\t\treturn this.params(params);\n\t}\n\n\tteamMembersWithId(numberOfTeamMembers: number): this {\n\t\tconst teamMembers = userFactory.buildListWithId(numberOfTeamMembers);\n\t\tconst params: DeepPartial = { teamMembers };\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const submissionFactory = SubmissionFactory.define(Submission, ({ sequence }) => {\n\treturn {\n\t\tschool: schoolFactory.build(),\n\t\ttask: taskFactory.build(),\n\t\tstudent: userFactory.build(),\n\t\tcomment: `submission comment #${sequence}`,\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionItem.html":{"url":"classes/SubmissionItem.html","title":"class - SubmissionItem","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionItem\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/submission-item.do.ts\n \n\n\n\n \n Extends\n \n \n BoardComposite\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n accept\n \n \n Async\n acceptAsync\n \n \n isAllowedAsChild\n \n \n addChild\n \n \n hasChild\n \n \n removeChild\n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n completed\n \n \n userId\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n accept\n \n \n \n \n \n \naccept(visitor: BoardCompositeVisitor)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:29\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitor\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n acceptAsync\n \n \n \n \n \n \n \n acceptAsync(visitor: BoardCompositeVisitorAsync)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:33\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n visitor\n \n BoardCompositeVisitorAsync\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isAllowedAsChild\n \n \n \n \n \n \nisAllowedAsChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:23\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addChild\n \n \n \n \n \n \naddChild(child: AnyBoardDo, position?: number)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n position\n \n number\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n hasChild\n \n \n \n \n \n \nhasChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:39\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n removeChild\n \n \n \n \n \n \nremoveChild(child: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BoardComposite\n\n \n \n \n \n Defined in BoardComposite:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n child\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n completed\n \n \n\n \n \n getcompleted()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/submission-item.do.ts:7\n \n \n\n \n \n setcompleted(value: boolean)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/submission-item.do.ts:11\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n boolean\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n userId\n \n \n\n \n \n getuserId()\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/submission-item.do.ts:15\n \n \n\n \n \n setuserId(value: EntityId)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/board/submission-item.do.ts:19\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n EntityId\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { FileElement, isFileElement, isRichTextElement, RichTextElement } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class SubmissionItem extends BoardComposite {\n\tget completed(): boolean {\n\t\treturn this.props.completed;\n\t}\n\n\tset completed(value: boolean) {\n\t\tthis.props.completed = value;\n\t}\n\n\tget userId(): EntityId {\n\t\treturn this.props.userId;\n\t}\n\n\tset userId(value: EntityId) {\n\t\tthis.props.userId = value;\n\t}\n\n\tisAllowedAsChild(child: AnyBoardDo): boolean {\n\t\tconst allowed = isFileElement(child) || isRichTextElement(child);\n\n\t\treturn allowed;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitSubmissionItem(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitSubmissionItemAsync(this);\n\t}\n}\n\nexport interface SubmissionItemProps extends BoardCompositeProps {\n\tcompleted: boolean;\n\tuserId: EntityId;\n}\n\nexport function isSubmissionItem(reference: unknown): reference is SubmissionItem {\n\treturn reference instanceof SubmissionItem;\n}\n\nexport const isSubmissionItemContent = (element: AnyBoardDo): element is RichTextElement | FileElement =>\n\tisRichTextElement(element) || isFileElement(element);\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SubmissionItemFactory.html":{"url":"injectables/SubmissionItemFactory.html","title":"injectable - SubmissionItemFactory","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SubmissionItemFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/submission-item.factory.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/domainobject/board/submission-item.factory.ts:7\n \n \n\n\n \n \n\n \n Returns : SubmissionItem\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ObjectId } from 'bson';\nimport { SubmissionItem } from './submission-item.do';\n\n@Injectable()\nexport class SubmissionItemFactory {\n\tbuild(): SubmissionItem {\n\t\treturn new SubmissionItem({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t\tcompleted: false,\n\t\t\tuserId: new ObjectId().toHexString(),\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/SubmissionItemNode.html":{"url":"entities/SubmissionItemNode.html","title":"entity - SubmissionItemNode","body":"\n \n\n\n\n\n\n\n\n Entities\n SubmissionItemNode\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/submission-item-node.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n completed\n \n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n completed\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/submission-item-node.entity.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @Property({comment: 'The user whos submission this is. Usually the student submitting the work.'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/boardnode/submission-item-node.entity.ts:16\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { EntityId } from '@shared/domain/types';\nimport { AnyBoardDo } from '../../domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.SUBMISSION_ITEM })\nexport class SubmissionItemNode extends BoardNode {\n\t@Property()\n\tcompleted!: boolean;\n\n\t// @Index() // TODO if enabled tests in management fails with ERROR [ExceptionsHandler] Failed to create indexes\n\t@Property({\n\t\tcomment: 'The user whos submission this is. Usually the student submitting the work.',\n\t})\n\tuserId!: EntityId;\n\n\tconstructor(props: SubmissionItemNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.SUBMISSION_ITEM;\n\t\tthis.completed = props.completed;\n\t\tthis.userId = props.userId;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildSubmissionItem(this);\n\n\t\treturn domainObject;\n\t}\n}\n\nexport interface SubmissionItemNodeProps extends BoardNodeProps {\n\tcompleted: boolean;\n\tuserId: EntityId;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SubmissionItemNodeProps.html":{"url":"interfaces/SubmissionItemNodeProps.html","title":"interface - SubmissionItemNodeProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SubmissionItemNodeProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/boardnode/submission-item-node.entity.ts\n \n\n\n\n \n Extends\n \n \n BoardNodeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n completed\n \n \n \n \n userId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n completed\n \n \n \n \n \n \n \n \n completed: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { EntityId } from '@shared/domain/types';\nimport { AnyBoardDo } from '../../domainobject';\nimport { BoardNode, BoardNodeProps } from './boardnode.entity';\nimport { BoardDoBuilder, BoardNodeType } from './types';\n\n@Entity({ discriminatorValue: BoardNodeType.SUBMISSION_ITEM })\nexport class SubmissionItemNode extends BoardNode {\n\t@Property()\n\tcompleted!: boolean;\n\n\t// @Index() // TODO if enabled tests in management fails with ERROR [ExceptionsHandler] Failed to create indexes\n\t@Property({\n\t\tcomment: 'The user whos submission this is. Usually the student submitting the work.',\n\t})\n\tuserId!: EntityId;\n\n\tconstructor(props: SubmissionItemNodeProps) {\n\t\tsuper(props);\n\t\tthis.type = BoardNodeType.SUBMISSION_ITEM;\n\t\tthis.completed = props.completed;\n\t\tthis.userId = props.userId;\n\t}\n\n\tuseDoBuilder(builder: BoardDoBuilder): AnyBoardDo {\n\t\tconst domainObject = builder.buildSubmissionItem(this);\n\n\t\treturn domainObject;\n\t}\n}\n\nexport interface SubmissionItemNodeProps extends BoardNodeProps {\n\tcompleted: boolean;\n\tuserId: EntityId;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SubmissionItemProps.html":{"url":"interfaces/SubmissionItemProps.html","title":"interface - SubmissionItemProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SubmissionItemProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/submission-item.do.ts\n \n\n\n\n \n Extends\n \n \n BoardCompositeProps\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n completed\n \n \n \n \n userId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n completed\n \n \n \n \n \n \n \n \n completed: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { FileElement, isFileElement, isRichTextElement, RichTextElement } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { BoardComposite, BoardCompositeProps } from './board-composite.do';\nimport type { AnyBoardDo, BoardCompositeVisitor, BoardCompositeVisitorAsync } from './types';\n\nexport class SubmissionItem extends BoardComposite {\n\tget completed(): boolean {\n\t\treturn this.props.completed;\n\t}\n\n\tset completed(value: boolean) {\n\t\tthis.props.completed = value;\n\t}\n\n\tget userId(): EntityId {\n\t\treturn this.props.userId;\n\t}\n\n\tset userId(value: EntityId) {\n\t\tthis.props.userId = value;\n\t}\n\n\tisAllowedAsChild(child: AnyBoardDo): boolean {\n\t\tconst allowed = isFileElement(child) || isRichTextElement(child);\n\n\t\treturn allowed;\n\t}\n\n\taccept(visitor: BoardCompositeVisitor): void {\n\t\tvisitor.visitSubmissionItem(this);\n\t}\n\n\tasync acceptAsync(visitor: BoardCompositeVisitorAsync): Promise {\n\t\tawait visitor.visitSubmissionItemAsync(this);\n\t}\n}\n\nexport interface SubmissionItemProps extends BoardCompositeProps {\n\tcompleted: boolean;\n\tuserId: EntityId;\n}\n\nexport function isSubmissionItem(reference: unknown): reference is SubmissionItem {\n\treturn reference instanceof SubmissionItem;\n}\n\nexport const isSubmissionItemContent = (element: AnyBoardDo): element is RichTextElement | FileElement =>\n\tisRichTextElement(element) || isFileElement(element);\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionItemResponse.html":{"url":"classes/SubmissionItemResponse.html","title":"class - SubmissionItemResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionItemResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/submission-item/submission-item.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n completed\n \n \n \n elements\n \n \n \n id\n \n \n \n timestamps\n \n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: SubmissionItemResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/submission-item.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n SubmissionItemResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n completed\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/submission-item.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n elements\n \n \n \n \n \n \n Type : (RichTextElementResponse | FileElementResponse)[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: 'array', items: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/submission-item.response.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/submission-item.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n timestamps\n \n \n \n \n \n \n Type : TimestampsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/submission-item.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/submission-item.response.ts:25\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiExtraModels, ApiProperty, getSchemaPath } from '@nestjs/swagger';\nimport { TimestampsResponse } from '../timestamps.response';\nimport { FileElementResponse, RichTextElementResponse } from '../element';\n\n@ApiExtraModels(FileElementResponse, RichTextElementResponse)\nexport class SubmissionItemResponse {\n\tconstructor({ id, timestamps, completed, userId, elements }: SubmissionItemResponse) {\n\t\tthis.id = id;\n\t\tthis.timestamps = timestamps;\n\t\tthis.completed = completed;\n\t\tthis.userId = userId;\n\t\tthis.elements = elements;\n\t}\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tid: string;\n\n\t@ApiProperty()\n\ttimestamps: TimestampsResponse;\n\n\t@ApiProperty()\n\tcompleted: boolean;\n\n\t@ApiProperty({ pattern: '[a-f0-9]{24}' })\n\tuserId: string;\n\n\t@ApiProperty({\n\t\ttype: 'array',\n\t\titems: {\n\t\t\toneOf: [{ $ref: getSchemaPath(FileElementResponse) }, { $ref: getSchemaPath(RichTextElementResponse) }],\n\t\t},\n\t})\n\telements: (RichTextElementResponse | FileElementResponse)[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionItemResponseMapper.html":{"url":"classes/SubmissionItemResponseMapper.html","title":"class - SubmissionItemResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionItemResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/mapper/submission-item-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n getInstance\n \n \n Public\n mapSubmissionItemToResponse\n \n \n Public\n mapToResponse\n \n \n Private\n mapUsersToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Static\n instance\n \n \n \n \n \n \n Type : SubmissionItemResponseMapper\n\n \n \n \n \n Defined in apps/server/src/modules/board/controller/mapper/submission-item-response.mapper.ts:12\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n getInstance\n \n \n \n \n \n \n \n getInstance()\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/submission-item-response.mapper.ts:14\n \n \n\n\n \n \n\n \n Returns : SubmissionItemResponseMapper\n\n \n \n \n \n \n \n \n \n \n \n \n Public\n mapSubmissionItemToResponse\n \n \n \n \n \n \n \n mapSubmissionItemToResponse(submissionItem: SubmissionItem)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/submission-item-response.mapper.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionItem\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SubmissionItemResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(submissionItems: SubmissionItem[], users: UserBoardRoles[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/submission-item-response.mapper.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionItems\n \n SubmissionItem[]\n \n\n \n No\n \n\n\n \n \n users\n \n UserBoardRoles[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SubmissionsResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n mapUsersToResponse\n \n \n \n \n \n \n \n mapUsersToResponse(user: UserBoardRoles)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/controller/mapper/submission-item-response.mapper.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserBoardRoles\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import {\n\tFileElement,\n\tisSubmissionItemContent,\n\tRichTextElement,\n\tSubmissionItem,\n\tUserBoardRoles,\n} from '@shared/domain/domainobject';\nimport { SubmissionItemResponse, SubmissionsResponse, TimestampsResponse, UserDataResponse } from '../dto';\nimport { ContentElementResponseFactory } from './content-element-response.factory';\n\nexport class SubmissionItemResponseMapper {\n\tprivate static instance: SubmissionItemResponseMapper;\n\n\tpublic static getInstance(): SubmissionItemResponseMapper {\n\t\tif (!SubmissionItemResponseMapper.instance) {\n\t\t\tSubmissionItemResponseMapper.instance = new SubmissionItemResponseMapper();\n\t\t}\n\n\t\treturn SubmissionItemResponseMapper.instance;\n\t}\n\n\tpublic mapToResponse(submissionItems: SubmissionItem[], users: UserBoardRoles[]): SubmissionsResponse {\n\t\tconst submissionItemsResponse: SubmissionItemResponse[] = submissionItems.map((item) =>\n\t\t\tthis.mapSubmissionItemToResponse(item)\n\t\t);\n\t\tconst usersResponse: UserDataResponse[] = users.map((user) => this.mapUsersToResponse(user));\n\n\t\tconst response = new SubmissionsResponse(submissionItemsResponse, usersResponse);\n\n\t\treturn response;\n\t}\n\n\tpublic mapSubmissionItemToResponse(submissionItem: SubmissionItem): SubmissionItemResponse {\n\t\tconst children: (FileElement | RichTextElement)[] = submissionItem.children.filter(isSubmissionItemContent);\n\t\tconst result = new SubmissionItemResponse({\n\t\t\tcompleted: submissionItem.completed,\n\t\t\tid: submissionItem.id,\n\t\t\ttimestamps: new TimestampsResponse({\n\t\t\t\tlastUpdatedAt: submissionItem.updatedAt,\n\t\t\t\tcreatedAt: submissionItem.createdAt,\n\t\t\t}),\n\t\t\tuserId: submissionItem.userId,\n\t\t\telements: children.map((element) => ContentElementResponseFactory.mapSubmissionContentToResponse(element)),\n\t\t});\n\n\t\treturn result;\n\t}\n\n\tprivate mapUsersToResponse(user: UserBoardRoles) {\n\t\tconst result = new UserDataResponse({\n\t\t\tuserId: user.userId,\n\t\t\tfirstName: user.firstName || '',\n\t\t\tlastName: user.lastName || '',\n\t\t});\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SubmissionItemService.html":{"url":"injectables/SubmissionItemService.html","title":"injectable - SubmissionItemService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SubmissionItemService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/service/submission-item.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n create\n \n \n Async\n findById\n \n \n Async\n update\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(boardDoRepo: BoardDoRepo, boardDoService: BoardDoService)\n \n \n \n \n Defined in apps/server/src/modules/board/service/submission-item.service.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n boardDoRepo\n \n \n BoardDoRepo\n \n \n \n No\n \n \n \n \n boardDoService\n \n \n BoardDoService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n create\n \n \n \n \n \n \n \n create(userId: EntityId, submissionContainer: SubmissionContainerElement, payload: literal type)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/submission-item.service.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n submissionContainer\n \n SubmissionContainerElement\n \n\n \n No\n \n\n\n \n \n payload\n \n literal type\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/submission-item.service.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n update\n \n \n \n \n \n \n \n update(submissionItem: SubmissionItem, completed: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/service/submission-item.service.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionItem\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n completed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, NotFoundException, UnprocessableEntityException } from '@nestjs/common';\nimport { ObjectId } from 'bson';\n\nimport { ValidationError } from '@shared/common';\nimport { isSubmissionContainerElement, SubmissionContainerElement, SubmissionItem } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\n\nimport { BoardDoRepo } from '../repo';\nimport { BoardDoService } from './board-do.service';\n\n@Injectable()\nexport class SubmissionItemService {\n\tconstructor(private readonly boardDoRepo: BoardDoRepo, private readonly boardDoService: BoardDoService) {}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst element = await this.boardDoRepo.findById(id);\n\n\t\tif (!(element instanceof SubmissionItem)) {\n\t\t\tthrow new NotFoundException(`There is no '${element.constructor.name}' with this id`);\n\t\t}\n\n\t\treturn element;\n\t}\n\n\tasync create(\n\t\tuserId: EntityId,\n\t\tsubmissionContainer: SubmissionContainerElement,\n\t\tpayload: { completed: boolean }\n\t): Promise {\n\t\tconst submissionItem = new SubmissionItem({\n\t\t\tid: new ObjectId().toHexString(),\n\t\t\tcreatedAt: new Date(),\n\t\t\tupdatedAt: new Date(),\n\t\t\tcompleted: payload.completed,\n\t\t\tuserId,\n\t\t});\n\n\t\tsubmissionContainer.addChild(submissionItem);\n\n\t\tawait this.boardDoRepo.save(submissionContainer.children, submissionContainer);\n\n\t\treturn submissionItem;\n\t}\n\n\tasync update(submissionItem: SubmissionItem, completed: boolean): Promise {\n\t\tconst submissionContainterElement = await this.boardDoRepo.findParentOfId(submissionItem.id);\n\t\tif (!isSubmissionContainerElement(submissionContainterElement)) {\n\t\t\tthrow new UnprocessableEntityException();\n\t\t}\n\n\t\tconst now = new Date();\n\t\tif (submissionContainterElement.dueDate && submissionContainterElement.dueDate \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SubmissionItemUc.html":{"url":"injectables/SubmissionItemUc.html","title":"injectable - SubmissionItemUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SubmissionItemUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/uc/submission-item.uc.ts\n \n\n\n\n \n Extends\n \n \n BaseUc\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createElement\n \n \n Async\n findSubmissionItems\n \n \n Async\n updateSubmissionItem\n \n \n Protected\n Async\n checkPermission\n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationService: AuthorizationService, boardDoAuthorizableService: BoardDoAuthorizableService, elementService: ContentElementService, submissionItemService: SubmissionItemService)\n \n \n \n \n Defined in apps/server/src/modules/board/uc/submission-item.uc.ts:27\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n boardDoAuthorizableService\n \n \n BoardDoAuthorizableService\n \n \n \n No\n \n \n \n \n elementService\n \n \n ContentElementService\n \n \n \n No\n \n \n \n \n submissionItemService\n \n \n SubmissionItemService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createElement\n \n \n \n \n \n \n \n createElement(userId: EntityId, submissionItemId: EntityId, type: ContentElementType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/submission-item.uc.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n submissionItemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n type\n \n ContentElementType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findSubmissionItems\n \n \n \n \n \n \n \n findSubmissionItems(userId: EntityId, submissionContainerId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/submission-item.uc.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n submissionContainerId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateSubmissionItem\n \n \n \n \n \n \n \n updateSubmissionItem(userId: EntityId, submissionItemId: EntityId, completed: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/board/uc/submission-item.uc.ts:64\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n submissionItemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n completed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n checkPermission\n \n \n \n \n \n \n \n checkPermission(userId: EntityId, anyBoardDo: AnyBoardDo, action: Action, requiredUserRole?: UserRoleEnum)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:13\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n anyBoardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n requiredUserRole\n \n UserRoleEnum\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n checkSubmissionItemWritePermission\n \n \n \n \n \n \n \n checkSubmissionItemWritePermission(userId: EntityId, submissionItem: SubmissionItem)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:45\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n submissionItem\n \n SubmissionItem\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n Async\n isAuthorizedStudent\n \n \n \n \n \n \n \n isAuthorizedStudent(userId: EntityId, boardDo: AnyBoardDo)\n \n \n\n\n \n \n Inherited from BaseUc\n\n \n \n \n \n Defined in BaseUc:29\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n boardDo\n \n AnyBoardDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Action, AuthorizationService } from '@modules/authorization';\nimport {\n\tBadRequestException,\n\tforwardRef,\n\tInject,\n\tInjectable,\n\tNotFoundException,\n\tUnprocessableEntityException,\n} from '@nestjs/common';\nimport {\n\tContentElementType,\n\tFileElement,\n\tisFileElement,\n\tisRichTextElement,\n\tisSubmissionContainerElement,\n\tisSubmissionItem,\n\tRichTextElement,\n\tSubmissionItem,\n\tUserBoardRoles,\n\tUserRoleEnum,\n} from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { BoardDoAuthorizableService, ContentElementService, SubmissionItemService } from '../service';\nimport { BaseUc } from './base.uc';\n\n@Injectable()\nexport class SubmissionItemUc extends BaseUc {\n\tconstructor(\n\t\t@Inject(forwardRef(() => AuthorizationService))\n\t\tprotected readonly authorizationService: AuthorizationService,\n\t\tprotected readonly boardDoAuthorizableService: BoardDoAuthorizableService,\n\t\tprotected readonly elementService: ContentElementService,\n\t\tprotected readonly submissionItemService: SubmissionItemService\n\t) {\n\t\tsuper(authorizationService, boardDoAuthorizableService);\n\t}\n\n\tasync findSubmissionItems(\n\t\tuserId: EntityId,\n\t\tsubmissionContainerId: EntityId\n\t): Promise {\n\t\tconst submissionContainerElement = await this.elementService.findById(submissionContainerId);\n\n\t\tif (!isSubmissionContainerElement(submissionContainerElement)) {\n\t\t\tthrow new NotFoundException('Could not find a submission container with this id');\n\t\t}\n\n\t\tawait this.checkPermission(userId, submissionContainerElement, Action.read);\n\n\t\tlet submissionItems = submissionContainerElement.children.filter(isSubmissionItem);\n\n\t\tconst boardAuthorizable = await this.boardDoAuthorizableService.getBoardAuthorizable(submissionContainerElement);\n\t\tlet users = boardAuthorizable.users.filter((user) => user.userRoleEnum === UserRoleEnum.STUDENT);\n\n\t\tconst isAuthorizedStudent = await this.isAuthorizedStudent(userId, submissionContainerElement);\n\t\tif (isAuthorizedStudent) {\n\t\t\tsubmissionItems = submissionItems.filter((item) => item.userId === userId);\n\t\t\tusers = [];\n\t\t}\n\n\t\treturn { submissionItems, users };\n\t}\n\n\tasync updateSubmissionItem(\n\t\tuserId: EntityId,\n\t\tsubmissionItemId: EntityId,\n\t\tcompleted: boolean\n\t): Promise {\n\t\tconst submissionItem = await this.submissionItemService.findById(submissionItemId);\n\t\tawait this.checkSubmissionItemWritePermission(userId, submissionItem);\n\t\tawait this.submissionItemService.update(submissionItem, completed);\n\n\t\treturn submissionItem;\n\t}\n\n\tasync createElement(\n\t\tuserId: EntityId,\n\t\tsubmissionItemId: EntityId,\n\t\ttype: ContentElementType\n\t): Promise {\n\t\tif (type !== ContentElementType.RICH_TEXT && type !== ContentElementType.FILE) {\n\t\t\tthrow new BadRequestException();\n\t\t}\n\n\t\tconst submissionItem = await this.submissionItemService.findById(submissionItemId);\n\n\t\tawait this.checkSubmissionItemWritePermission(userId, submissionItem);\n\n\t\tconst element = await this.elementService.create(submissionItem, type);\n\n\t\tif (!isFileElement(element) && !isRichTextElement(element)) {\n\t\t\tthrow new UnprocessableEntityException();\n\t\t}\n\n\t\treturn element;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionItemUrlParams.html":{"url":"classes/SubmissionItemUrlParams.html","title":"class - SubmissionItemUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionItemUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/submission-item/submission-item.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n submissionItemId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n submissionItemId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the submission item.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/submission-item.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class SubmissionItemUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the submission item.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tsubmissionItemId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionMapper.html":{"url":"classes/SubmissionMapper.html","title":"class - SubmissionMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/mapper/submission.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToStatusResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToStatusResponse\n \n \n \n \n \n \n \n mapToStatusResponse(submission: Submission)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/mapper/submission.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submission\n \n Submission\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SubmissionStatusResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Submission } from '@shared/domain/entity';\nimport { SubmissionStatusResponse } from '../controller/dto';\n\nexport class SubmissionMapper {\n\tstatic mapToStatusResponse(submission: Submission): SubmissionStatusResponse {\n\t\tconst dto = new SubmissionStatusResponse({\n\t\t\tid: submission.id,\n\t\t\tsubmitters: submission.getSubmitterIds(),\n\t\t\tisSubmitted: submission.isSubmitted(),\n\t\t\tgrade: submission.grade,\n\t\t\tisGraded: submission.isGraded(),\n\t\t\tsubmittingCourseGroupName: submission.courseGroup?.name,\n\t\t});\n\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SubmissionProperties.html":{"url":"interfaces/SubmissionProperties.html","title":"interface - SubmissionProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SubmissionProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/submission.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n comment\n \n \n \n Optional\n \n courseGroup\n \n \n \n Optional\n \n grade\n \n \n \n Optional\n \n gradeComment\n \n \n \n Optional\n \n graded\n \n \n \n \n school\n \n \n \n \n student\n \n \n \n Optional\n \n submitted\n \n \n \n \n task\n \n \n \n Optional\n \n teamMembers\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n comment\n \n \n \n \n \n \n \n \n comment: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n courseGroup\n \n \n \n \n \n \n \n \n courseGroup: CourseGroup\n\n \n \n\n\n \n \n Type : CourseGroup\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n grade\n \n \n \n \n \n \n \n \n grade: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n gradeComment\n \n \n \n \n \n \n \n \n gradeComment: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n graded\n \n \n \n \n \n \n \n \n graded: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n \n \n school: SchoolEntity\n\n \n \n\n\n \n \n Type : SchoolEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n student\n \n \n \n \n \n \n \n \n student: User\n\n \n \n\n\n \n \n Type : User\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n submitted\n \n \n \n \n \n \n \n \n submitted: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n task\n \n \n \n \n \n \n \n \n task: Task\n\n \n \n\n\n \n \n Type : Task\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n teamMembers\n \n \n \n \n \n \n \n \n teamMembers: User[]\n\n \n \n\n\n \n \n Type : User[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, Property, Unique } from '@mikro-orm/core';\n\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { CourseGroup } from './coursegroup.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { Task } from './task.entity';\nimport type { User } from './user.entity';\n\nexport interface SubmissionProperties {\n\tschool: SchoolEntity;\n\ttask: Task;\n\tstudent: User;\n\tcourseGroup?: CourseGroup;\n\tteamMembers?: User[];\n\tcomment: string;\n\tsubmitted?: boolean;\n\tgraded?: boolean;\n\tgrade?: number;\n\tgradeComment?: string;\n}\n\n@Entity({ tableName: 'submissions' })\n@Index({ properties: ['student', 'teamMembers'] })\n@Unique({ properties: ['student', 'task'] })\nexport class Submission extends BaseEntityWithTimestamps {\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\t@Index()\n\tschool: SchoolEntity;\n\n\t@ManyToOne('Task', { fieldName: 'homeworkId' })\n\t@Index()\n\ttask: Task;\n\n\t@ManyToOne('User', { fieldName: 'studentId' })\n\tstudent: User;\n\n\t@ManyToOne('CourseGroup', { fieldName: 'courseGroupId', nullable: true })\n\tcourseGroup?: CourseGroup;\n\n\t@ManyToMany('User', undefined, { fieldName: 'teamMembers' })\n\tteamMembers = new Collection(this);\n\n\t@Property({ nullable: true })\n\tcomment?: string;\n\n\t@Property()\n\tsubmitted: boolean;\n\n\t@Property()\n\tgraded: boolean;\n\n\t@Property({ nullable: true })\n\tgrade?: number;\n\n\t@Property({ nullable: true })\n\tgradeComment?: string;\n\n\tconstructor(props: SubmissionProperties) {\n\t\tsuper();\n\t\tthis.school = props.school;\n\t\tthis.student = props.student;\n\t\tthis.comment = props.comment;\n\t\tthis.task = props.task;\n\t\tthis.submitted = props.submitted || false;\n\t\tthis.graded = props.graded || false;\n\t\tthis.grade = props.grade;\n\t\tthis.gradeComment = props.gradeComment;\n\t\tthis.courseGroup = props.courseGroup;\n\n\t\tif (props.teamMembers !== undefined) {\n\t\t\tthis.teamMembers.set(props.teamMembers);\n\t\t}\n\t}\n\n\tprivate getCourseGroupStudentIds(): EntityId[] {\n\t\tlet courseGroupMemberIds: EntityId[] = [];\n\n\t\tif (this.courseGroup) {\n\t\t\tcourseGroupMemberIds = this.courseGroup.getStudentIds();\n\t\t}\n\n\t\treturn courseGroupMemberIds;\n\t}\n\n\tprivate getTeamMemberIds(): EntityId[] {\n\t\tif (!this.teamMembers) {\n\t\t\tthrow new InternalServerErrorException(\n\t\t\t\t'Submission.teamMembers is undefined. The submission need to be populated.'\n\t\t\t);\n\t\t}\n\n\t\tconst teamMemberObjectIds = this.teamMembers.getIdentifiers('_id');\n\t\tconst teamMemberIds = teamMemberObjectIds.map((id): string => id.toString());\n\n\t\treturn teamMemberIds;\n\t}\n\n\tpublic isSubmitted(): boolean {\n\t\treturn this.submitted;\n\t}\n\n\tpublic isSubmittedForUser(user: User): boolean {\n\t\tconst isMember = this.isUserSubmitter(user);\n\t\tconst isSubmitted = this.isSubmitted();\n\t\tconst isSubmittedForUser = isMember && isSubmitted;\n\n\t\treturn isSubmittedForUser;\n\t}\n\n\t// Bad that the logic is needed to expose the userIds, but is used in task for now.\n\t// Check later if it can be replaced and remove all related code.\n\tpublic getSubmitterIds(): EntityId[] {\n\t\tconst creatorId = this.student.id;\n\t\tconst teamMemberIds = this.getTeamMemberIds();\n\t\tconst courseGroupMemberIds = this.getCourseGroupStudentIds();\n\t\tconst memberIds = [creatorId, ...teamMemberIds, ...courseGroupMemberIds];\n\n\t\tconst uniqueMemberIds = [...new Set(memberIds)];\n\n\t\treturn uniqueMemberIds;\n\t}\n\n\tpublic isUserSubmitter(user: User): boolean {\n\t\tconst memberIds = this.getSubmitterIds();\n\t\tconst isMember = memberIds.some((id) => id === user.id);\n\n\t\treturn isMember;\n\t}\n\n\tpublic isGraded(): boolean {\n\t\treturn this.graded;\n\t}\n\n\tpublic isGradedForUser(user: User): boolean {\n\t\tconst isMember = this.isUserSubmitter(user);\n\t\tconst isGraded = this.isGraded();\n\t\tconst isGradedForUser = isMember && isGraded;\n\n\t\treturn isGradedForUser;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SubmissionRepo.html":{"url":"injectables/SubmissionRepo.html","title":"injectable - SubmissionRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SubmissionRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/submission/submission.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n byUserIdQuery\n \n \n Async\n findAllByTaskIds\n \n \n Async\n findAllByUserId\n \n \n Async\n findById\n \n \n Private\n Async\n populateReferences\n \n \n create\n \n \n Async\n delete\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n byUserIdQuery\n \n \n \n \n \n \n \n byUserIdQuery(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/submission/submission.repo.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllByTaskIds\n \n \n \n \n \n \n \n findAllByTaskIds(taskIds: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/submission/submission.repo.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n taskIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllByUserId\n \n \n \n \n \n \n \n findAllByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/submission/submission.repo.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: string)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:15\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n populateReferences\n \n \n \n \n \n \n \n populateReferences(submissions: Submission[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/submission/submission.repo.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissions\n \n Submission[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/submission/submission.repo.ts:11\n \n \n\n \n \n\n \n\n\n \n import { FilterQuery } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\nimport { CourseGroup, Submission } from '@shared/domain/entity';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '../base.repo';\n\n// TODO: add scope helper\n\n@Injectable()\nexport class SubmissionRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn Submission;\n\t}\n\n\tasync findById(id: string): Promise {\n\t\tconst submission = await super.findById(id);\n\t\tawait this.populateReferences([submission]);\n\n\t\treturn submission;\n\t}\n\n\tasync findAllByTaskIds(taskIds: EntityId[]): Promise> {\n\t\tconst [submissions, count] = await this._em.findAndCount(this.entityName, {\n\t\t\ttask: { $in: taskIds },\n\t\t});\n\t\tawait this.populateReferences(submissions);\n\n\t\treturn [submissions, count];\n\t}\n\n\tasync findAllByUserId(userId: EntityId): Promise> {\n\t\tconst result = await this._em.findAndCount(this.entityName, await this.byUserIdQuery(userId));\n\t\treturn result;\n\t}\n\n\tprivate async byUserIdQuery(userId: EntityId): Promise> {\n\t\tconst courseGroupsOfUser = await this._em.find(CourseGroup, { students: userId });\n\t\tconst query = { $or: [{ student: userId }, { teamMembers: userId }, { courseGroup: { $in: courseGroupsOfUser } }] };\n\t\treturn query;\n\t}\n\n\tprivate async populateReferences(submissions: Submission[]): Promise {\n\t\tawait this._em.populate(submissions, [\n\t\t\t'courseGroup',\n\t\t\t'task.course',\n\t\t\t'task.lesson.course',\n\t\t\t'task.lesson.courseGroup.course',\n\t\t]);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SubmissionRule.html":{"url":"injectables/SubmissionRule.html","title":"injectable - SubmissionRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SubmissionRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/submission.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n hasAccessToSubmission\n \n \n Private\n hasParentTaskReadAccess\n \n \n Private\n hasParentTaskWriteAccess\n \n \n Public\n hasPermission\n \n \n Private\n hasReadAccess\n \n \n Private\n hasWriteAccess\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper, taskRule: TaskRule)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/submission.rule.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n taskRule\n \n \n TaskRule\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n hasAccessToSubmission\n \n \n \n \n \n \n \n hasAccessToSubmission(user: User, submission: Submission, action: Action)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/submission.rule.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n submission\n \n Submission\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n hasParentTaskReadAccess\n \n \n \n \n \n \n \n hasParentTaskReadAccess(user: User, submission: Submission)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/submission.rule.ts:70\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n submission\n \n Submission\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n hasParentTaskWriteAccess\n \n \n \n \n \n \n \n hasParentTaskWriteAccess(user: User, submission: Submission)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/submission.rule.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n submission\n \n Submission\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, submission: Submission, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/submission.rule.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n submission\n \n Submission\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n hasReadAccess\n \n \n \n \n \n \n \n hasReadAccess(user: User, submission: Submission)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/submission.rule.ts:47\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n submission\n \n Submission\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n hasWriteAccess\n \n \n \n \n \n \n \n hasWriteAccess(user: User, submission: Submission)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/submission.rule.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n submission\n \n Submission\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, entity: Submission)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/submission.rule.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n Submission\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable, NotImplementedException } from '@nestjs/common';\nimport { Submission, User } from '@shared/domain/entity';\nimport { Action, AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\nimport { TaskRule } from './task.rule';\n\n@Injectable()\nexport class SubmissionRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper, private readonly taskRule: TaskRule) {}\n\n\tpublic isApplicable(user: User, entity: Submission): boolean {\n\t\tconst isMatched = entity instanceof Submission;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, submission: Submission, context: AuthorizationContext): boolean {\n\t\tconst { action, requiredPermissions } = context;\n\n\t\tconst result =\n\t\t\tthis.authorizationHelper.hasAllPermissions(user, requiredPermissions) &&\n\t\t\tthis.hasAccessToSubmission(user, submission, action);\n\n\t\treturn result;\n\t}\n\n\tprivate hasAccessToSubmission(user: User, submission: Submission, action: Action): boolean {\n\t\tlet hasAccessToSubmission = false;\n\n\t\tif (action === Action.write) {\n\t\t\thasAccessToSubmission = this.hasWriteAccess(user, submission);\n\t\t} else if (action === Action.read) {\n\t\t\thasAccessToSubmission = this.hasReadAccess(user, submission);\n\t\t} else {\n\t\t\tthrow new NotImplementedException('Action is not supported.');\n\t\t}\n\n\t\treturn hasAccessToSubmission;\n\t}\n\n\tprivate hasWriteAccess(user: User, submission: Submission) {\n\t\tconst hasWriteAccess = submission.isUserSubmitter(user) || this.hasParentTaskWriteAccess(user, submission);\n\n\t\treturn hasWriteAccess;\n\t}\n\n\tprivate hasReadAccess(user: User, submission: Submission) {\n\t\tlet hasReadAccess = false;\n\n\t\tif (submission.isSubmitted()) {\n\t\t\thasReadAccess =\n\t\t\t\tthis.hasWriteAccess(user, submission) ||\n\t\t\t\t(this.hasParentTaskReadAccess(user, submission) && submission.task.areSubmissionsPublic());\n\t\t} else {\n\t\t\thasReadAccess = submission.isUserSubmitter(user);\n\t\t}\n\n\t\treturn hasReadAccess;\n\t}\n\n\tprivate hasParentTaskWriteAccess(user: User, submission: Submission) {\n\t\tconst hasParentTaskWriteAccess = this.taskRule.hasPermission(user, submission.task, {\n\t\t\taction: Action.write,\n\t\t\trequiredPermissions: [],\n\t\t});\n\n\t\treturn hasParentTaskWriteAccess;\n\t}\n\n\tprivate hasParentTaskReadAccess(user: User, submission: Submission) {\n\t\tconst hasParentTaskReadAccess = this.taskRule.hasPermission(user, submission.task, {\n\t\t\taction: Action.read,\n\t\t\trequiredPermissions: [],\n\t\t});\n\n\t\treturn hasParentTaskReadAccess;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SubmissionService.html":{"url":"injectables/SubmissionService.html","title":"injectable - SubmissionService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SubmissionService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/service/submission.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n delete\n \n \n Async\n findAllByTask\n \n \n Async\n findById\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(submissionRepo: SubmissionRepo, filesStorageClientAdapterService: FilesStorageClientAdapterService)\n \n \n \n \n Defined in apps/server/src/modules/task/service/submission.service.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionRepo\n \n \n SubmissionRepo\n \n \n \n No\n \n \n \n \n filesStorageClientAdapterService\n \n \n FilesStorageClientAdapterService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(submission: Submission)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/service/submission.service.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submission\n \n Submission\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllByTask\n \n \n \n \n \n \n \n findAllByTask(taskId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/service/submission.service.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n taskId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(submissionId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/service/submission.service.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { FilesStorageClientAdapterService } from '@modules/files-storage-client';\nimport { Injectable } from '@nestjs/common';\nimport { Submission } from '@shared/domain/entity';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { SubmissionRepo } from '@shared/repo';\n\n@Injectable()\nexport class SubmissionService {\n\tconstructor(\n\t\tprivate readonly submissionRepo: SubmissionRepo,\n\t\tprivate readonly filesStorageClientAdapterService: FilesStorageClientAdapterService\n\t) {}\n\n\tasync findById(submissionId: EntityId): Promise {\n\t\treturn this.submissionRepo.findById(submissionId);\n\t}\n\n\tasync findAllByTask(taskId: EntityId): Promise> {\n\t\tconst submissions = this.submissionRepo.findAllByTaskIds([taskId]);\n\n\t\treturn submissions;\n\t}\n\n\tasync delete(submission: Submission): Promise {\n\t\tawait this.filesStorageClientAdapterService.deleteFilesOfParent(submission.id);\n\n\t\tawait this.submissionRepo.delete(submission);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionStatusListResponse.html":{"url":"classes/SubmissionStatusListResponse.html","title":"class - SubmissionStatusListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionStatusListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/dto/submission.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: SubmissionStatusResponse[])\n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/submission.response.ts:32\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n SubmissionStatusResponse[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : SubmissionStatusResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/submission.response.ts:38\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\n\nexport class SubmissionStatusResponse {\n\tconstructor({ id, submitters, isSubmitted, grade, isGraded, submittingCourseGroupName }: SubmissionStatusResponse) {\n\t\tthis.id = id;\n\t\tthis.submitters = submitters;\n\t\tthis.isSubmitted = isSubmitted;\n\t\tthis.grade = grade;\n\t\tthis.isGraded = isGraded;\n\t\tthis.submittingCourseGroupName = submittingCourseGroupName;\n\t}\n\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\tsubmitters: string[];\n\n\t@ApiProperty()\n\tisSubmitted: boolean;\n\n\t@ApiPropertyOptional()\n\tgrade?: number;\n\n\t@ApiProperty()\n\tisGraded: boolean;\n\n\t@ApiPropertyOptional()\n\tsubmittingCourseGroupName?: string;\n}\n\nexport class SubmissionStatusListResponse {\n\tconstructor(data: SubmissionStatusResponse[]) {\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [SubmissionStatusResponse] })\n\tdata: SubmissionStatusResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionStatusResponse.html":{"url":"classes/SubmissionStatusResponse.html","title":"class - SubmissionStatusResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionStatusResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/dto/submission.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n grade\n \n \n \n id\n \n \n \n isGraded\n \n \n \n isSubmitted\n \n \n \n submitters\n \n \n \n Optional\n submittingCourseGroupName\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: SubmissionStatusResponse)\n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/submission.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n SubmissionStatusResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n grade\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/submission.response.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/submission.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n isGraded\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/submission.response.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n isSubmitted\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/submission.response.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n submitters\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/submission.response.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n submittingCourseGroupName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/submission.response.ts:29\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\n\nexport class SubmissionStatusResponse {\n\tconstructor({ id, submitters, isSubmitted, grade, isGraded, submittingCourseGroupName }: SubmissionStatusResponse) {\n\t\tthis.id = id;\n\t\tthis.submitters = submitters;\n\t\tthis.isSubmitted = isSubmitted;\n\t\tthis.grade = grade;\n\t\tthis.isGraded = isGraded;\n\t\tthis.submittingCourseGroupName = submittingCourseGroupName;\n\t}\n\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\tsubmitters: string[];\n\n\t@ApiProperty()\n\tisSubmitted: boolean;\n\n\t@ApiPropertyOptional()\n\tgrade?: number;\n\n\t@ApiProperty()\n\tisGraded: boolean;\n\n\t@ApiPropertyOptional()\n\tsubmittingCourseGroupName?: string;\n}\n\nexport class SubmissionStatusListResponse {\n\tconstructor(data: SubmissionStatusResponse[]) {\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [SubmissionStatusResponse] })\n\tdata: SubmissionStatusResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SubmissionUc.html":{"url":"injectables/SubmissionUc.html","title":"injectable - SubmissionUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SubmissionUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/uc/submission.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n delete\n \n \n Private\n filterSubmissionsByPermission\n \n \n Async\n findAllByTask\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(submissionService: SubmissionService, authorizationService: AuthorizationService)\n \n \n \n \n Defined in apps/server/src/modules/task/uc/submission.uc.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionService\n \n \n SubmissionService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(userId: EntityId, submissionId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/submission.uc.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n submissionId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n filterSubmissionsByPermission\n \n \n \n \n \n \n \n filterSubmissionsByPermission(submissions: Submission[], user: User)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/submission.uc.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissions\n \n Submission[]\n \n\n \n No\n \n\n\n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Submission[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllByTask\n \n \n \n \n \n \n \n findAllByTask(userId: EntityId, taskId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/submission.uc.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n taskId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport { Submission, User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { SubmissionService } from '../service';\n\n@Injectable()\nexport class SubmissionUc {\n\tconstructor(\n\t\tprivate readonly submissionService: SubmissionService,\n\t\tprivate readonly authorizationService: AuthorizationService\n\t) {}\n\n\tasync findAllByTask(userId: EntityId, taskId: EntityId): Promise {\n\t\tconst [submissions] = await this.submissionService.findAllByTask(taskId);\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\n\t\tconst permittedSubmissions = this.filterSubmissionsByPermission(submissions, user);\n\n\t\treturn permittedSubmissions;\n\t}\n\n\tasync delete(userId: EntityId, submissionId: EntityId) {\n\t\tconst [user, submission] = await Promise.all([\n\t\t\tthis.authorizationService.getUserWithPermissions(userId),\n\t\t\tthis.submissionService.findById(submissionId),\n\t\t]);\n\n\t\tthis.authorizationService.checkPermission(\n\t\t\tuser,\n\t\t\tsubmission,\n\t\t\tAuthorizationContextBuilder.write([Permission.SUBMISSIONS_EDIT])\n\t\t);\n\n\t\tawait this.submissionService.delete(submission);\n\n\t\treturn true;\n\t}\n\n\tprivate filterSubmissionsByPermission(submissions: Submission[], user: User): Submission[] {\n\t\tconst permissionContext = AuthorizationContextBuilder.read([Permission.SUBMISSIONS_VIEW]);\n\n\t\tconst permittedSubmissions = submissions.filter((submission) => {\n\t\t\tconst hasPermission = this.authorizationService.hasPermission(user, submission, permissionContext);\n\n\t\t\treturn hasPermission;\n\t\t});\n\n\t\treturn permittedSubmissions;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionUrlParams.html":{"url":"classes/SubmissionUrlParams.html","title":"class - SubmissionUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/dto/submission.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n submissionId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n submissionId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the submission.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/submission.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class SubmissionUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the submission.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tsubmissionId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SubmissionsResponse.html":{"url":"classes/SubmissionsResponse.html","title":"class - SubmissionsResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SubmissionsResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/submission-item/submissions.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n submissionItemsResponse\n \n \n \n users\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(submissionItemsResponse: SubmissionItemResponse[], users: UserDataResponse[])\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/submissions.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n submissionItemsResponse\n \n \n SubmissionItemResponse[]\n \n \n \n No\n \n \n \n \n users\n \n \n UserDataResponse[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n submissionItemsResponse\n \n \n \n \n \n \n Type : SubmissionItemResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/submissions.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n users\n \n \n \n \n \n \n Type : UserDataResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/submissions.response.ts:19\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { UserDataResponse } from '../user-data.response';\nimport { SubmissionItemResponse } from './submission-item.response';\n\nexport class SubmissionsResponse {\n\tconstructor(submissionItemsResponse: SubmissionItemResponse[], users: UserDataResponse[]) {\n\t\tthis.submissionItemsResponse = submissionItemsResponse;\n\t\tthis.users = users;\n\t}\n\n\t@ApiProperty({\n\t\ttype: [SubmissionItemResponse],\n\t})\n\tsubmissionItemsResponse: SubmissionItemResponse[];\n\n\t@ApiProperty({\n\t\ttype: [UserDataResponse],\n\t})\n\tusers: UserDataResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SuccessfulRes.html":{"url":"interfaces/SuccessfulRes.html","title":"interface - SuccessfulRes","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SuccessfulRes\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/strategy/nextcloud/nextcloud.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n success\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n success\n \n \n \n \n \n \n \n \n success: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface NextcloudGroups {\n\tgroups: string[];\n}\n\nexport interface OcsResponse {\n\tocs: {\n\t\tdata: T;\n\t\tmeta: Meta;\n\t};\n}\n\nexport interface Meta {\n\tstatus: string;\n\tstatuscode: number;\n\tmessage: string;\n\ttotalitems: string;\n\titemsperpage: string;\n}\n\nexport interface SuccessfulRes {\n\tsuccess: boolean;\n}\n\nexport interface GroupUsers {\n\tusers: string[];\n}\n\n// Groupfolders Responses\n\nexport interface GroupfoldersFolder {\n\tfolder_id: number;\n}\n\nexport interface GroupfoldersCreated {\n\tid: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SuccessfulResponse.html":{"url":"classes/SuccessfulResponse.html","title":"class - SuccessfulResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SuccessfulResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user/controller/dto/user.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n successful\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(successful: boolean)\n \n \n \n \n Defined in apps/server/src/modules/user/controller/dto/user.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n successful\n \n \n boolean\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n successful\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user/controller/dto/user.response.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class SuccessfulResponse {\n\tconstructor(successful: boolean) {\n\t\tthis.successful = successful;\n\t}\n\n\t@ApiProperty()\n\tsuccessful: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SymetricKeyEncryptionService.html":{"url":"injectables/SymetricKeyEncryptionService.html","title":"injectable - SymetricKeyEncryptionService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SymetricKeyEncryptionService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/encryption/encryption.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n decrypt\n \n \n Public\n encrypt\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(logger: LegacyLogger, key?: string)\n \n \n \n \n Defined in apps/server/src/infra/encryption/encryption.service.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n key\n \n \n string\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n decrypt\n \n \n \n \n \n \n \n decrypt(data: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/encryption/encryption.service.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n encrypt\n \n \n \n \n \n \n \n encrypt(data: string)\n \n \n\n\n \n \n Defined in apps/server/src/infra/encryption/encryption.service.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import CryptoJs from 'crypto-js';\n\nimport { Injectable } from '@nestjs/common';\nimport { LegacyLogger } from '@src/core/logger';\nimport { EncryptionService } from './encryption.interface';\n\n@Injectable()\nexport class SymetricKeyEncryptionService implements EncryptionService {\n\tconstructor(private logger: LegacyLogger, private key?: string) {\n\t\tif (!this.key) {\n\t\t\tthis.logger.warn('No AES key defined. Encryption will no work');\n\t\t}\n\t}\n\n\tpublic encrypt(data: string): string {\n\t\tif (!this.key) {\n\t\t\tthis.logger.warn('No AES key defined. Will return plain text');\n\t\t\treturn data;\n\t\t}\n\t\treturn CryptoJs.AES.encrypt(data, this.key).toString();\n\t}\n\n\tpublic decrypt(data: string): string {\n\t\tif (!this.key) {\n\t\t\tthis.logger.warn('No AES key defined. Will return plain text');\n\t\t\treturn data;\n\t\t}\n\t\treturn CryptoJs.AES.decrypt(data, this.key).toString(CryptoJs.enc.Utf8);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/System.html":{"url":"classes/System.html","title":"class - System","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n System\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/domain/system.do.ts\n \n\n\n\n \n Extends\n \n \n DomainObject\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n props\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n ldapConfig\n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n props\n \n \n \n \n \n \n Type : T\n\n \n \n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:8\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n getProps\n \n \n \n \n \n \n \n getProps()\n \n \n\n\n \n \n Inherited from DomainObject\n\n \n \n \n \n Defined in DomainObject:18\n\n \n \n\n\n \n \n\n \n Returns : T\n\n \n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n ldapConfig\n \n \n\n \n \n getldapConfig()\n \n \n \n \n Defined in apps/server/src/modules/system/domain/system.do.ts:25\n \n \n\n \n \n\n \n\n\n \n import { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { LdapConfig } from './ldap-config';\nimport { OauthConfig } from './oauth-config';\n\nexport interface SystemProps extends AuthorizableObject {\n\ttype: string;\n\n\turl?: string;\n\n\talias?: string;\n\n\tdisplayName?: string;\n\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\n\tprovisioningUrl?: string;\n\n\toauthConfig?: OauthConfig;\n\n\tldapConfig?: LdapConfig;\n}\n\nexport class System extends DomainObject {\n\tget ldapConfig(): LdapConfig | undefined {\n\t\treturn this.props.ldapConfig;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/SystemApiModule.html":{"url":"modules/SystemApiModule.html","title":"module - SystemApiModule","body":"\n \n\n\n\n\n Modules\n SystemApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_SystemApiModule\n\n\n\ncluster_SystemApiModule_imports\n\n\n\ncluster_SystemApiModule_providers\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nSystemApiModule\n\nSystemApiModule\n\nSystemApiModule -->\n\nAuthorizationModule->SystemApiModule\n\n\n\n\n\nSystemModule\n\nSystemModule\n\nSystemApiModule -->\n\nSystemModule->SystemApiModule\n\n\n\n\n\nSystemUc\n\nSystemUc\n\nSystemApiModule -->\n\nSystemUc->SystemApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/system/system-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n SystemUc\n \n \n \n \n Controllers\n \n \n SystemController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n SystemModule\n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationModule } from '@modules/authorization';\nimport { SystemController } from '@modules/system/controller/system.controller';\nimport { SystemUc } from '@modules/system/uc/system.uc';\nimport { Module } from '@nestjs/common';\nimport { SystemModule } from './system.module';\n\n@Module({\n\timports: [SystemModule, AuthorizationModule],\n\tproviders: [SystemUc],\n\tcontrollers: [SystemController],\n})\nexport class SystemApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/SystemController.html":{"url":"controllers/SystemController.html","title":"controller - SystemController","body":"\n \n\n\n\n\n\n\n Controllers\n SystemController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/controller/system.controller.ts\n \n\n \n Prefix\n \n \n systems\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteSystem\n \n \n \n \n \n Async\n find\n \n \n \n \n \n Async\n getSystem\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteSystem\n \n \n \n \n \n \n \n deleteSystem(currentUser: ICurrentUser, params: SystemIdParams)\n \n \n\n \n \n Decorators : \n \n @Authenticate('jwt')@Delete(':systemId')@ApiForbiddenResponse()@ApiUnauthorizedResponse()@ApiOperation({summary: 'Deletes a system.'})@HttpCode(HttpStatus.NO_CONTENT)\n \n \n\n \n \n Defined in apps/server/src/modules/system/controller/system.controller.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n SystemIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n find\n \n \n \n \n \n \n \n find(filterParams: SystemFilterParams)\n \n \n\n \n \n Decorators : \n \n @Get('public')@ApiOperation({summary: 'Finds all publicly available systems.'})@ApiResponse({status: 200, type: PublicSystemListResponse, description: 'Returns a list of systems.'})\n \n \n\n \n \n Defined in apps/server/src/modules/system/controller/system.controller.ts:21\n \n \n\n\n \n \n This endpoint is used to show users the possible login systems that exist.\nNo sensible data should be returned!\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n filterParams\n \n SystemFilterParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getSystem\n \n \n \n \n \n \n \n getSystem(params: SystemIdParams)\n \n \n\n \n \n Decorators : \n \n @Get('public/:systemId')@ApiOperation({summary: 'Finds a publicly available system.'})@ApiResponse({status: 200, type: PublicSystemResponse, description: 'Returns a system.'})\n \n \n\n \n \n Defined in apps/server/src/modules/system/controller/system.controller.ts:36\n \n \n\n\n \n \n This endpoint is used to get information about a possible login systems.\nNo sensible data should be returned!\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n SystemIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Controller, Delete, Get, HttpCode, HttpStatus, Param, Query } from '@nestjs/common';\nimport { ApiForbiddenResponse, ApiOperation, ApiResponse, ApiTags, ApiUnauthorizedResponse } from '@nestjs/swagger';\nimport { SystemDto } from '../service';\nimport { SystemUc } from '../uc/system.uc';\nimport { PublicSystemListResponse, PublicSystemResponse, SystemFilterParams, SystemIdParams } from './dto';\nimport { SystemResponseMapper } from './mapper/system-response.mapper';\n\n@ApiTags('Systems')\n@Controller('systems')\nexport class SystemController {\n\tconstructor(private readonly systemUc: SystemUc) {}\n\n\t/**\n\t * This endpoint is used to show users the possible login systems that exist.\n\t * No sensible data should be returned!\n\t */\n\t@Get('public')\n\t@ApiOperation({ summary: 'Finds all publicly available systems.' })\n\t@ApiResponse({ status: 200, type: PublicSystemListResponse, description: 'Returns a list of systems.' })\n\tasync find(@Query() filterParams: SystemFilterParams): Promise {\n\t\tconst systemDtos: SystemDto[] = await this.systemUc.findByFilter(filterParams.type, filterParams.onlyOauth);\n\n\t\tconst mapped: PublicSystemListResponse = SystemResponseMapper.mapFromDtoToListResponse(systemDtos);\n\n\t\treturn mapped;\n\t}\n\n\t/**\n\t * This endpoint is used to get information about a possible login systems.\n\t * No sensible data should be returned!\n\t */\n\t@Get('public/:systemId')\n\t@ApiOperation({ summary: 'Finds a publicly available system.' })\n\t@ApiResponse({ status: 200, type: PublicSystemResponse, description: 'Returns a system.' })\n\tasync getSystem(@Param() params: SystemIdParams): Promise {\n\t\tconst systemDto: SystemDto = await this.systemUc.findById(params.systemId);\n\n\t\tconst mapped: PublicSystemResponse = SystemResponseMapper.mapFromDtoToResponse(systemDto);\n\n\t\treturn mapped;\n\t}\n\n\t@Authenticate('jwt')\n\t@Delete(':systemId')\n\t@ApiForbiddenResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiOperation({ summary: 'Deletes a system.' })\n\t@HttpCode(HttpStatus.NO_CONTENT)\n\tasync deleteSystem(@CurrentUser() currentUser: ICurrentUser, @Param() params: SystemIdParams): Promise {\n\t\tawait this.systemUc.delete(currentUser.userId, params.systemId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SystemDomainMapper.html":{"url":"classes/SystemDomainMapper.html","title":"class - SystemDomainMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SystemDomainMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/repo/system-domain.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapEntityToDomainObjectProperties\n \n \n Private\n Static\n mapLdapConfigEntityToDomainObject\n \n \n Private\n Static\n mapOauthConfigEntityToDomainObject\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapEntityToDomainObjectProperties\n \n \n \n \n \n \n \n mapEntityToDomainObjectProperties(entity: SystemEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/repo/system-domain.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n SystemEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SystemProps\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n mapLdapConfigEntityToDomainObject\n \n \n \n \n \n \n \n mapLdapConfigEntityToDomainObject(ldapConfig: LdapConfigEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/repo/system-domain.mapper.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n ldapConfig\n \n LdapConfigEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : LdapConfig\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n mapOauthConfigEntityToDomainObject\n \n \n \n \n \n \n \n mapOauthConfigEntityToDomainObject(oauthConfig: OauthConfigEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/repo/system-domain.mapper.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthConfig\n \n OauthConfigEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : OauthConfig\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { LdapConfigEntity, OauthConfigEntity, SystemEntity } from '@shared/domain/entity';\nimport { LdapConfig, OauthConfig, SystemProps } from '../domain';\n\nexport class SystemDomainMapper {\n\tpublic static mapEntityToDomainObjectProperties(entity: SystemEntity): SystemProps {\n\t\tconst mapped: SystemProps = {\n\t\t\tid: entity.id,\n\t\t\turl: entity.url,\n\t\t\ttype: entity.type,\n\t\t\tprovisioningUrl: entity.provisioningUrl,\n\t\t\tprovisioningStrategy: entity.provisioningStrategy,\n\t\t\tdisplayName: entity.displayName,\n\t\t\talias: entity.alias,\n\t\t\toauthConfig: entity.oauthConfig ? this.mapOauthConfigEntityToDomainObject(entity.oauthConfig) : undefined,\n\t\t\tldapConfig: entity.ldapConfig ? this.mapLdapConfigEntityToDomainObject(entity.ldapConfig) : undefined,\n\t\t};\n\n\t\treturn mapped;\n\t}\n\n\tprivate static mapOauthConfigEntityToDomainObject(oauthConfig: OauthConfigEntity): OauthConfig {\n\t\tconst mapped: OauthConfig = new OauthConfig({\n\t\t\tclientId: oauthConfig.clientId,\n\t\t\tclientSecret: oauthConfig.clientSecret,\n\t\t\tidpHint: oauthConfig.idpHint,\n\t\t\tauthEndpoint: oauthConfig.authEndpoint,\n\t\t\tresponseType: oauthConfig.responseType,\n\t\t\tscope: oauthConfig.scope,\n\t\t\tprovider: oauthConfig.provider,\n\t\t\tlogoutEndpoint: oauthConfig.logoutEndpoint,\n\t\t\tissuer: oauthConfig.issuer,\n\t\t\tjwksEndpoint: oauthConfig.jwksEndpoint,\n\t\t\tgrantType: oauthConfig.grantType,\n\t\t\ttokenEndpoint: oauthConfig.tokenEndpoint,\n\t\t\tredirectUri: oauthConfig.redirectUri,\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tprivate static mapLdapConfigEntityToDomainObject(ldapConfig: LdapConfigEntity): LdapConfig {\n\t\tconst mapped: LdapConfig = new LdapConfig({\n\t\t\tactive: !!ldapConfig.active,\n\t\t\turl: ldapConfig.url,\n\t\t\tprovider: ldapConfig.provider,\n\t\t});\n\n\t\treturn mapped;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SystemDto.html":{"url":"classes/SystemDto.html","title":"class - SystemDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SystemDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/service/dto/system.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n alias\n \n \n Optional\n displayName\n \n \n Optional\n id\n \n \n Optional\n ldapActive\n \n \n Optional\n oauthConfig\n \n \n Optional\n provisioningStrategy\n \n \n Optional\n provisioningUrl\n \n \n type\n \n \n Optional\n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(system: SystemDto)\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/system.dto.ts:22\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n system\n \n \n SystemDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n alias\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/system.dto.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/system.dto.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/system.dto.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n ldapActive\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/system.dto.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n oauthConfig\n \n \n \n \n \n \n Type : OauthConfigDto\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/system.dto.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n provisioningStrategy\n \n \n \n \n \n \n Type : SystemProvisioningStrategy\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/system.dto.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n provisioningUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/system.dto.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/system.dto.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/system/service/dto/system.dto.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { OauthConfigDto } from '@modules/system/service/dto/oauth-config.dto';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { EntityId } from '@shared/domain/types';\n\nexport class SystemDto {\n\tid?: EntityId;\n\n\ttype: string;\n\n\turl?: string;\n\n\talias?: string;\n\n\tdisplayName?: string;\n\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\n\tprovisioningUrl?: string;\n\n\toauthConfig?: OauthConfigDto;\n\n\tldapActive?: boolean;\n\n\tconstructor(system: SystemDto) {\n\t\tthis.id = system.id;\n\t\tthis.type = system.type;\n\t\tthis.url = system.url;\n\t\tthis.alias = system.alias;\n\t\tthis.displayName = system.displayName;\n\t\tthis.provisioningStrategy = system.provisioningStrategy;\n\t\tthis.provisioningUrl = system.provisioningUrl;\n\t\tthis.oauthConfig = system.oauthConfig;\n\t\tthis.ldapActive = system.ldapActive;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/SystemEntity.html":{"url":"entities/SystemEntity.html","title":"entity - SystemEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n SystemEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/system.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n alias\n \n \n \n Optional\n displayName\n \n \n \n Optional\n ldapConfig\n \n \n \n Optional\n oauthConfig\n \n \n \n Optional\n oidcConfig\n \n \n \n \n Optional\n provisioningStrategy\n \n \n \n Optional\n provisioningUrl\n \n \n \n type\n \n \n \n Optional\n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n alias\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:212\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:215\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n ldapConfig\n \n \n \n \n \n \n Type : LdapConfigEntity\n\n \n \n \n \n Decorators : \n \n \n @Embedded({entity: () => LdapConfigEntity, object: true, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:228\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n oauthConfig\n \n \n \n \n \n \n Type : OauthConfigEntity\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:218\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n oidcConfig\n \n \n \n \n \n \n Type : OidcConfigEntity\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:225\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n provisioningStrategy\n \n \n \n \n \n \n Type : SystemProvisioningStrategy\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})@Enum()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:222\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n provisioningUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:231\n \n \n\n\n \n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:206\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/system.entity.ts:209\n \n \n\n\n \n \n\n \n\n\n \n import { Embeddable, Embedded, Entity, Enum, Property } from '@mikro-orm/core';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface SystemEntityProps {\n\ttype: string;\n\turl?: string;\n\talias?: string;\n\tdisplayName?: string;\n\toauthConfig?: OauthConfigEntity;\n\toidcConfig?: OidcConfigEntity;\n\tldapConfig?: LdapConfigEntity;\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\tprovisioningUrl?: string;\n}\n\nexport class OauthConfigEntity {\n\tconstructor(oauthConfig: OauthConfigEntity) {\n\t\tthis.clientId = oauthConfig.clientId;\n\t\tthis.clientSecret = oauthConfig.clientSecret;\n\t\tthis.idpHint = oauthConfig.idpHint;\n\t\tthis.tokenEndpoint = oauthConfig.tokenEndpoint;\n\t\tthis.grantType = oauthConfig.grantType;\n\t\tthis.redirectUri = oauthConfig.redirectUri;\n\t\tthis.scope = oauthConfig.scope;\n\t\tthis.responseType = oauthConfig.responseType;\n\t\tthis.authEndpoint = oauthConfig.authEndpoint;\n\t\tthis.provider = oauthConfig.provider;\n\t\tthis.logoutEndpoint = oauthConfig.logoutEndpoint;\n\t\tthis.issuer = oauthConfig.issuer;\n\t\tthis.jwksEndpoint = oauthConfig.jwksEndpoint;\n\t}\n\n\t@Property()\n\tclientId: string;\n\n\t@Property()\n\tclientSecret: string;\n\n\t@Property({ nullable: true })\n\tidpHint?: string;\n\n\t@Property()\n\tredirectUri: string;\n\n\t@Property()\n\tgrantType: string;\n\n\t@Property()\n\ttokenEndpoint: string;\n\n\t@Property()\n\tauthEndpoint: string;\n\n\t@Property()\n\tresponseType: string;\n\n\t@Property()\n\tscope: string;\n\n\t@Property()\n\tprovider: string;\n\n\t@Property({ nullable: true })\n\tlogoutEndpoint?: string;\n\n\t@Property()\n\tissuer: string;\n\n\t@Property()\n\tjwksEndpoint: string;\n}\n\n@Embeddable()\nexport class LdapConfigEntity {\n\tconstructor(ldapConfig: Readonly) {\n\t\tthis.active = ldapConfig.active;\n\t\tthis.federalState = ldapConfig.federalState;\n\t\tthis.lastSyncAttempt = ldapConfig.lastSyncAttempt;\n\t\tthis.lastSuccessfulFullSync = ldapConfig.lastSuccessfulFullSync;\n\t\tthis.lastSuccessfulPartialSync = ldapConfig.lastSuccessfulPartialSync;\n\t\tthis.lastModifyTimestamp = ldapConfig.lastModifyTimestamp;\n\t\tthis.url = ldapConfig.url;\n\t\tthis.rootPath = ldapConfig.rootPath;\n\t\tthis.searchUser = ldapConfig.searchUser;\n\t\tthis.searchUserPassword = ldapConfig.searchUserPassword;\n\t\tthis.provider = ldapConfig.provider;\n\t\tthis.providerOptions = ldapConfig.providerOptions;\n\t}\n\n\t@Property({ nullable: true })\n\tactive?: boolean;\n\n\t@Property({ nullable: true })\n\tfederalState?: EntityId;\n\n\t@Property({ nullable: true })\n\tlastSyncAttempt?: Date;\n\n\t@Property({ nullable: true })\n\tlastSuccessfulFullSync?: Date;\n\n\t@Property({ nullable: true })\n\tlastSuccessfulPartialSync?: Date;\n\n\t@Property({ nullable: true })\n\tlastModifyTimestamp?: string;\n\n\t@Property()\n\turl: string;\n\n\t@Property({ nullable: true })\n\trootPath?: string;\n\n\t@Property({ nullable: true })\n\tsearchUser?: string;\n\n\t@Property({ nullable: true })\n\tsearchUserPassword?: string;\n\n\t@Property({ nullable: true })\n\tprovider?: string;\n\n\t@Property({ nullable: true })\n\tproviderOptions?: {\n\t\tschoolName?: string;\n\t\tuserPathAdditions?: string;\n\t\tclassPathAdditions?: string;\n\t\troleType?: string;\n\t\tuserAttributeNameMapping?: {\n\t\t\tgivenName?: string;\n\t\t\tsn?: string;\n\t\t\tdn?: string;\n\t\t\tuuid?: string;\n\t\t\tuid?: string;\n\t\t\tmail?: string;\n\t\t\trole?: string;\n\t\t};\n\t\troleAttributeNameMapping?: {\n\t\t\troleStudent?: string;\n\t\t\troleTeacher?: string;\n\t\t\troleAdmin?: string;\n\t\t\troleNoSc?: string;\n\t\t};\n\t\tclassAttributeNameMapping?: {\n\t\t\tdescription?: string;\n\t\t\tdn?: string;\n\t\t\tuniqueMember?: string;\n\t\t};\n\t};\n}\nexport class OidcConfigEntity {\n\tconstructor(oidcConfig: OidcConfigEntity) {\n\t\tthis.clientId = oidcConfig.clientId;\n\t\tthis.clientSecret = oidcConfig.clientSecret;\n\t\tthis.idpHint = oidcConfig.idpHint;\n\t\tthis.authorizationUrl = oidcConfig.authorizationUrl;\n\t\tthis.tokenUrl = oidcConfig.tokenUrl;\n\t\tthis.logoutUrl = oidcConfig.logoutUrl;\n\t\tthis.userinfoUrl = oidcConfig.userinfoUrl;\n\t\tthis.defaultScopes = oidcConfig.defaultScopes;\n\t}\n\n\t@Property()\n\tclientId: string;\n\n\t@Property()\n\tclientSecret: string;\n\n\t@Property()\n\tidpHint: string;\n\n\t@Property()\n\tauthorizationUrl: string;\n\n\t@Property()\n\ttokenUrl: string;\n\n\t@Property()\n\tlogoutUrl: string;\n\n\t@Property()\n\tuserinfoUrl: string;\n\n\t@Property()\n\tdefaultScopes: string;\n}\n\n@Entity({ tableName: 'systems' })\nexport class SystemEntity extends BaseEntityWithTimestamps {\n\tconstructor(props: SystemEntityProps) {\n\t\tsuper();\n\t\tthis.type = props.type;\n\t\tthis.url = props.url;\n\t\tthis.alias = props.alias;\n\t\tthis.displayName = props.displayName;\n\t\tthis.oauthConfig = props.oauthConfig;\n\t\tthis.oidcConfig = props.oidcConfig;\n\t\tthis.ldapConfig = props.ldapConfig;\n\t\tthis.provisioningStrategy = props.provisioningStrategy;\n\t\tthis.provisioningUrl = props.provisioningUrl;\n\t}\n\n\t@Property({ nullable: false })\n\ttype: string; // see legacy enum for valid values\n\n\t@Property({ nullable: true })\n\turl?: string;\n\n\t@Property({ nullable: true })\n\talias?: string;\n\n\t@Property({ nullable: true })\n\tdisplayName?: string;\n\n\t@Property({ nullable: true })\n\toauthConfig?: OauthConfigEntity;\n\n\t@Property({ nullable: true })\n\t@Enum()\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\n\t@Property({ nullable: true })\n\toidcConfig?: OidcConfigEntity;\n\n\t@Embedded({ entity: () => LdapConfigEntity, object: true, nullable: true })\n\tldapConfig?: LdapConfigEntity;\n\n\t@Property({ nullable: true })\n\tprovisioningUrl?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SystemEntityFactory.html":{"url":"classes/SystemEntityFactory.html","title":"class - SystemEntityFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SystemEntityFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/systemEntityFactory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withLdapConfig\n \n \n withOauthConfig\n \n \n withOidcConfig\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withLdapConfig\n \n \n \n \n \n \nwithLdapConfig(otherParams?: DeepPartial)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/systemEntityFactory.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n otherParams\n \n DeepPartial\n \n\n \n Yes\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withOauthConfig\n \n \n \n \n \n \nwithOauthConfig()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/systemEntityFactory.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n withOidcConfig\n \n \n \n \n \n \nwithOidcConfig()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/systemEntityFactory.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import {\n\tLdapConfigEntity,\n\tOauthConfigEntity,\n\tOidcConfigEntity,\n\tSystemEntity,\n\tSystemEntityProps,\n} from '@shared/domain/entity';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { DeepPartial } from 'fishery';\nimport { BaseFactory } from './base.factory';\n\nexport class SystemEntityFactory extends BaseFactory {\n\twithOauthConfig(): this {\n\t\tconst params: DeepPartial = {\n\t\t\toauthConfig: new OauthConfigEntity({\n\t\t\t\tclientId: '12345',\n\t\t\t\tclientSecret: 'mocksecret',\n\t\t\t\tidpHint: 'mock-oauth-idpHint',\n\t\t\t\ttokenEndpoint: 'https://mock.de/mock/auth/public/mockToken',\n\t\t\t\tgrantType: 'authorization_code',\n\t\t\t\tredirectUri: 'https://mockhost:3030/api/v3/sso/oauth/',\n\t\t\t\tscope: 'openid uuid',\n\t\t\t\tresponseType: 'code',\n\t\t\t\tauthEndpoint: 'https://mock.de/auth',\n\t\t\t\tprovider: 'mock_type',\n\t\t\t\tlogoutEndpoint: 'https://mock.de/logout',\n\t\t\t\tissuer: 'mock_issuer',\n\t\t\t\tjwksEndpoint: 'https://mock.de/jwks',\n\t\t\t}),\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithLdapConfig(otherParams?: DeepPartial): this {\n\t\tconst params: DeepPartial = {\n\t\t\tldapConfig: new LdapConfigEntity({\n\t\t\t\turl: 'ldaps:mock.de:389',\n\t\t\t\tactive: true,\n\t\t\t\t...otherParams,\n\t\t\t}),\n\t\t};\n\n\t\treturn this.params(params);\n\t}\n\n\twithOidcConfig(): this {\n\t\tconst params = {\n\t\t\toidcConfig: new OidcConfigEntity({\n\t\t\t\tclientId: 'mock-client-id',\n\t\t\t\tclientSecret: 'mock-client-secret',\n\t\t\t\tidpHint: 'mock-oidc-idpHint',\n\t\t\t\tdefaultScopes: 'openid email userinfo',\n\t\t\t\tauthorizationUrl: 'https://mock.tld/auth',\n\t\t\t\ttokenUrl: 'https://mock.tld/token',\n\t\t\t\tuserinfoUrl: 'https://mock.tld/userinfo',\n\t\t\t\tlogoutUrl: 'https://mock.tld/logout',\n\t\t\t}),\n\t\t};\n\t\treturn this.params(params);\n\t}\n}\n\nexport const systemEntityFactory = SystemEntityFactory.define(SystemEntity, ({ sequence }) => {\n\treturn {\n\t\ttype: 'oauth',\n\t\turl: 'https://mock.de',\n\t\talias: `system #${sequence}`,\n\t\tdisplayName: `system #${sequence}DisplayName`,\n\t\tprovisioningStrategy: SystemProvisioningStrategy.OIDC,\n\t\tprovisioningUrl: 'https://provisioningurl.de',\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SystemEntityProps.html":{"url":"interfaces/SystemEntityProps.html","title":"interface - SystemEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SystemEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/system.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n alias\n \n \n \n Optional\n \n displayName\n \n \n \n Optional\n \n ldapConfig\n \n \n \n Optional\n \n oauthConfig\n \n \n \n Optional\n \n oidcConfig\n \n \n \n Optional\n \n provisioningStrategy\n \n \n \n Optional\n \n provisioningUrl\n \n \n \n \n type\n \n \n \n Optional\n \n url\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n alias\n \n \n \n \n \n \n \n \n alias: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n displayName\n \n \n \n \n \n \n \n \n displayName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n ldapConfig\n \n \n \n \n \n \n \n \n ldapConfig: LdapConfigEntity\n\n \n \n\n\n \n \n Type : LdapConfigEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n oauthConfig\n \n \n \n \n \n \n \n \n oauthConfig: OauthConfigEntity\n\n \n \n\n\n \n \n Type : OauthConfigEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n oidcConfig\n \n \n \n \n \n \n \n \n oidcConfig: OidcConfigEntity\n\n \n \n\n\n \n \n Type : OidcConfigEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n provisioningStrategy\n \n \n \n \n \n \n \n \n provisioningStrategy: SystemProvisioningStrategy\n\n \n \n\n\n \n \n Type : SystemProvisioningStrategy\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n provisioningUrl\n \n \n \n \n \n \n \n \n provisioningUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Embeddable, Embedded, Entity, Enum, Property } from '@mikro-orm/core';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { EntityId } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface SystemEntityProps {\n\ttype: string;\n\turl?: string;\n\talias?: string;\n\tdisplayName?: string;\n\toauthConfig?: OauthConfigEntity;\n\toidcConfig?: OidcConfigEntity;\n\tldapConfig?: LdapConfigEntity;\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\tprovisioningUrl?: string;\n}\n\nexport class OauthConfigEntity {\n\tconstructor(oauthConfig: OauthConfigEntity) {\n\t\tthis.clientId = oauthConfig.clientId;\n\t\tthis.clientSecret = oauthConfig.clientSecret;\n\t\tthis.idpHint = oauthConfig.idpHint;\n\t\tthis.tokenEndpoint = oauthConfig.tokenEndpoint;\n\t\tthis.grantType = oauthConfig.grantType;\n\t\tthis.redirectUri = oauthConfig.redirectUri;\n\t\tthis.scope = oauthConfig.scope;\n\t\tthis.responseType = oauthConfig.responseType;\n\t\tthis.authEndpoint = oauthConfig.authEndpoint;\n\t\tthis.provider = oauthConfig.provider;\n\t\tthis.logoutEndpoint = oauthConfig.logoutEndpoint;\n\t\tthis.issuer = oauthConfig.issuer;\n\t\tthis.jwksEndpoint = oauthConfig.jwksEndpoint;\n\t}\n\n\t@Property()\n\tclientId: string;\n\n\t@Property()\n\tclientSecret: string;\n\n\t@Property({ nullable: true })\n\tidpHint?: string;\n\n\t@Property()\n\tredirectUri: string;\n\n\t@Property()\n\tgrantType: string;\n\n\t@Property()\n\ttokenEndpoint: string;\n\n\t@Property()\n\tauthEndpoint: string;\n\n\t@Property()\n\tresponseType: string;\n\n\t@Property()\n\tscope: string;\n\n\t@Property()\n\tprovider: string;\n\n\t@Property({ nullable: true })\n\tlogoutEndpoint?: string;\n\n\t@Property()\n\tissuer: string;\n\n\t@Property()\n\tjwksEndpoint: string;\n}\n\n@Embeddable()\nexport class LdapConfigEntity {\n\tconstructor(ldapConfig: Readonly) {\n\t\tthis.active = ldapConfig.active;\n\t\tthis.federalState = ldapConfig.federalState;\n\t\tthis.lastSyncAttempt = ldapConfig.lastSyncAttempt;\n\t\tthis.lastSuccessfulFullSync = ldapConfig.lastSuccessfulFullSync;\n\t\tthis.lastSuccessfulPartialSync = ldapConfig.lastSuccessfulPartialSync;\n\t\tthis.lastModifyTimestamp = ldapConfig.lastModifyTimestamp;\n\t\tthis.url = ldapConfig.url;\n\t\tthis.rootPath = ldapConfig.rootPath;\n\t\tthis.searchUser = ldapConfig.searchUser;\n\t\tthis.searchUserPassword = ldapConfig.searchUserPassword;\n\t\tthis.provider = ldapConfig.provider;\n\t\tthis.providerOptions = ldapConfig.providerOptions;\n\t}\n\n\t@Property({ nullable: true })\n\tactive?: boolean;\n\n\t@Property({ nullable: true })\n\tfederalState?: EntityId;\n\n\t@Property({ nullable: true })\n\tlastSyncAttempt?: Date;\n\n\t@Property({ nullable: true })\n\tlastSuccessfulFullSync?: Date;\n\n\t@Property({ nullable: true })\n\tlastSuccessfulPartialSync?: Date;\n\n\t@Property({ nullable: true })\n\tlastModifyTimestamp?: string;\n\n\t@Property()\n\turl: string;\n\n\t@Property({ nullable: true })\n\trootPath?: string;\n\n\t@Property({ nullable: true })\n\tsearchUser?: string;\n\n\t@Property({ nullable: true })\n\tsearchUserPassword?: string;\n\n\t@Property({ nullable: true })\n\tprovider?: string;\n\n\t@Property({ nullable: true })\n\tproviderOptions?: {\n\t\tschoolName?: string;\n\t\tuserPathAdditions?: string;\n\t\tclassPathAdditions?: string;\n\t\troleType?: string;\n\t\tuserAttributeNameMapping?: {\n\t\t\tgivenName?: string;\n\t\t\tsn?: string;\n\t\t\tdn?: string;\n\t\t\tuuid?: string;\n\t\t\tuid?: string;\n\t\t\tmail?: string;\n\t\t\trole?: string;\n\t\t};\n\t\troleAttributeNameMapping?: {\n\t\t\troleStudent?: string;\n\t\t\troleTeacher?: string;\n\t\t\troleAdmin?: string;\n\t\t\troleNoSc?: string;\n\t\t};\n\t\tclassAttributeNameMapping?: {\n\t\t\tdescription?: string;\n\t\t\tdn?: string;\n\t\t\tuniqueMember?: string;\n\t\t};\n\t};\n}\nexport class OidcConfigEntity {\n\tconstructor(oidcConfig: OidcConfigEntity) {\n\t\tthis.clientId = oidcConfig.clientId;\n\t\tthis.clientSecret = oidcConfig.clientSecret;\n\t\tthis.idpHint = oidcConfig.idpHint;\n\t\tthis.authorizationUrl = oidcConfig.authorizationUrl;\n\t\tthis.tokenUrl = oidcConfig.tokenUrl;\n\t\tthis.logoutUrl = oidcConfig.logoutUrl;\n\t\tthis.userinfoUrl = oidcConfig.userinfoUrl;\n\t\tthis.defaultScopes = oidcConfig.defaultScopes;\n\t}\n\n\t@Property()\n\tclientId: string;\n\n\t@Property()\n\tclientSecret: string;\n\n\t@Property()\n\tidpHint: string;\n\n\t@Property()\n\tauthorizationUrl: string;\n\n\t@Property()\n\ttokenUrl: string;\n\n\t@Property()\n\tlogoutUrl: string;\n\n\t@Property()\n\tuserinfoUrl: string;\n\n\t@Property()\n\tdefaultScopes: string;\n}\n\n@Entity({ tableName: 'systems' })\nexport class SystemEntity extends BaseEntityWithTimestamps {\n\tconstructor(props: SystemEntityProps) {\n\t\tsuper();\n\t\tthis.type = props.type;\n\t\tthis.url = props.url;\n\t\tthis.alias = props.alias;\n\t\tthis.displayName = props.displayName;\n\t\tthis.oauthConfig = props.oauthConfig;\n\t\tthis.oidcConfig = props.oidcConfig;\n\t\tthis.ldapConfig = props.ldapConfig;\n\t\tthis.provisioningStrategy = props.provisioningStrategy;\n\t\tthis.provisioningUrl = props.provisioningUrl;\n\t}\n\n\t@Property({ nullable: false })\n\ttype: string; // see legacy enum for valid values\n\n\t@Property({ nullable: true })\n\turl?: string;\n\n\t@Property({ nullable: true })\n\talias?: string;\n\n\t@Property({ nullable: true })\n\tdisplayName?: string;\n\n\t@Property({ nullable: true })\n\toauthConfig?: OauthConfigEntity;\n\n\t@Property({ nullable: true })\n\t@Enum()\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\n\t@Property({ nullable: true })\n\toidcConfig?: OidcConfigEntity;\n\n\t@Embedded({ entity: () => LdapConfigEntity, object: true, nullable: true })\n\tldapConfig?: LdapConfigEntity;\n\n\t@Property({ nullable: true })\n\tprovisioningUrl?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SystemFilterParams.html":{"url":"classes/SystemFilterParams.html","title":"class - SystemFilterParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SystemFilterParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/controller/dto/system.filter.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n onlyOauth\n \n \n \n \n \n Optional\n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n Optional\n onlyOauth\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Flag to request only systems with oauth-config.'})@IsOptional()@IsBoolean()@StringToBoolean()\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/system.filter.params.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n type\n \n \n \n \n \n \n Type : SystemTypeEnum\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The type of the system.'})@IsOptional()@IsEnum(SystemTypeEnum)\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/system.filter.params.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { StringToBoolean } from '@shared/controller';\nimport { SystemTypeEnum } from '@shared/domain/types';\nimport { IsBoolean, IsEnum, IsOptional } from 'class-validator';\n\nexport class SystemFilterParams {\n\t@ApiPropertyOptional({ description: 'The type of the system.' })\n\t@IsOptional()\n\t@IsEnum(SystemTypeEnum)\n\ttype?: SystemTypeEnum;\n\n\t@ApiPropertyOptional({ description: 'Flag to request only systems with oauth-config.' })\n\t@IsOptional()\n\t@IsBoolean()\n\t@StringToBoolean()\n\tonlyOauth?: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SystemIdParams.html":{"url":"classes/SystemIdParams.html","title":"class - SystemIdParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SystemIdParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/controller/dto/system-id.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n systemId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n systemId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/system/controller/dto/system-id.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { EntityId } from '@shared/domain/types';\nimport { IsMongoId } from 'class-validator';\n\nexport class SystemIdParams {\n\t@IsMongoId()\n\t@ApiProperty()\n\tsystemId!: EntityId;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SystemMapper.html":{"url":"classes/SystemMapper.html","title":"class - SystemMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SystemMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/mapper/system.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapFromEntitiesToDtos\n \n \n Static\n mapFromEntityToDto\n \n \n Static\n mapFromOauthConfigEntityToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapFromEntitiesToDtos\n \n \n \n \n \n \n \n mapFromEntitiesToDtos(entities: SystemEntity[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/mapper/system.mapper.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n SystemEntity[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SystemDto[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapFromEntityToDto\n \n \n \n \n \n \n \n mapFromEntityToDto(entity: SystemEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/mapper/system.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n SystemEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SystemDto\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapFromOauthConfigEntityToDto\n \n \n \n \n \n \n \n mapFromOauthConfigEntityToDto(oauthConfig: OauthConfigEntity | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/mapper/system.mapper.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthConfig\n \n OauthConfigEntity | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : OauthConfigDto | undefined\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { OauthConfigDto } from '@modules/system/service/dto/oauth-config.dto';\nimport { SystemDto } from '@modules/system/service/dto/system.dto';\nimport { OauthConfigEntity, SystemEntity } from '@shared/domain/entity';\n\nexport class SystemMapper {\n\tstatic mapFromEntityToDto(entity: SystemEntity): SystemDto {\n\t\treturn new SystemDto({\n\t\t\tid: entity.id,\n\t\t\ttype: entity.type,\n\t\t\turl: entity.url,\n\t\t\talias: entity.alias,\n\t\t\tdisplayName: entity.displayName ?? entity.alias,\n\t\t\tprovisioningStrategy: entity.provisioningStrategy,\n\t\t\tprovisioningUrl: entity.provisioningUrl,\n\t\t\toauthConfig: SystemMapper.mapFromOauthConfigEntityToDto(entity.oauthConfig),\n\t\t\tldapActive: entity.ldapConfig?.active,\n\t\t});\n\t}\n\n\tstatic mapFromOauthConfigEntityToDto(oauthConfig: OauthConfigEntity | undefined): OauthConfigDto | undefined {\n\t\tif (!oauthConfig) return undefined;\n\t\treturn new OauthConfigDto({\n\t\t\tclientId: oauthConfig.clientId,\n\t\t\tclientSecret: oauthConfig.clientSecret,\n\t\t\tidpHint: oauthConfig.idpHint,\n\t\t\tredirectUri: oauthConfig.redirectUri,\n\t\t\tgrantType: oauthConfig.grantType,\n\t\t\ttokenEndpoint: oauthConfig.tokenEndpoint,\n\t\t\tauthEndpoint: oauthConfig.authEndpoint,\n\t\t\tresponseType: oauthConfig.responseType,\n\t\t\tscope: oauthConfig.scope,\n\t\t\tprovider: oauthConfig.provider,\n\t\t\tlogoutEndpoint: oauthConfig.logoutEndpoint,\n\t\t\tissuer: oauthConfig.issuer,\n\t\t\tjwksEndpoint: oauthConfig.jwksEndpoint,\n\t\t});\n\t}\n\n\tstatic mapFromEntitiesToDtos(entities: SystemEntity[]): SystemDto[] {\n\t\treturn entities.map((entity) => this.mapFromEntityToDto(entity));\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/SystemModule.html":{"url":"modules/SystemModule.html","title":"module - SystemModule","body":"\n \n\n\n\n\n Modules\n SystemModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_SystemModule\n\n\n\ncluster_SystemModule_exports\n\n\n\ncluster_SystemModule_providers\n\n\n\ncluster_SystemModule_imports\n\n\n\n\nIdentityManagementModule\n\nIdentityManagementModule\n\n\n\nSystemModule\n\nSystemModule\n\nSystemModule -->\n\nIdentityManagementModule->SystemModule\n\n\n\n\n\nLegacySystemService \n\nLegacySystemService \n\nLegacySystemService -->\n\nSystemModule->LegacySystemService \n\n\n\n\n\nSystemOidcService \n\nSystemOidcService \n\nSystemOidcService -->\n\nSystemModule->SystemOidcService \n\n\n\n\n\nSystemService \n\nSystemService \n\nSystemService -->\n\nSystemModule->SystemService \n\n\n\n\n\nLegacySystemRepo\n\nLegacySystemRepo\n\nSystemModule -->\n\nLegacySystemRepo->SystemModule\n\n\n\n\n\nLegacySystemService\n\nLegacySystemService\n\nSystemModule -->\n\nLegacySystemService->SystemModule\n\n\n\n\n\nSystemOidcService\n\nSystemOidcService\n\nSystemModule -->\n\nSystemOidcService->SystemModule\n\n\n\n\n\nSystemRepo\n\nSystemRepo\n\nSystemModule -->\n\nSystemRepo->SystemModule\n\n\n\n\n\nSystemService\n\nSystemService\n\nSystemModule -->\n\nSystemService->SystemModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/system/system.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n LegacySystemRepo\n \n \n LegacySystemService\n \n \n SystemOidcService\n \n \n SystemRepo\n \n \n SystemService\n \n \n \n \n Imports\n \n \n IdentityManagementModule\n \n \n \n \n Exports\n \n \n LegacySystemService\n \n \n SystemOidcService\n \n \n SystemService\n \n \n \n \n \n\n\n \n\n\n \n import { IdentityManagementModule } from '@infra/identity-management/identity-management.module';\nimport { Module } from '@nestjs/common';\nimport { LegacySystemRepo } from '@shared/repo';\nimport { SystemRepo } from './repo';\nimport { LegacySystemService, SystemService } from './service';\nimport { SystemOidcService } from './service/system-oidc.service';\n\n@Module({\n\timports: [IdentityManagementModule],\n\tproviders: [LegacySystemRepo, LegacySystemService, SystemOidcService, SystemService, SystemRepo],\n\texports: [LegacySystemService, SystemOidcService, SystemService],\n})\nexport class SystemModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SystemOidcMapper.html":{"url":"classes/SystemOidcMapper.html","title":"class - SystemOidcMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SystemOidcMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/mapper/system-oidc.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapFromEntitiesToDtos\n \n \n Static\n mapFromEntityToDto\n \n \n Static\n mapFromOidcConfigEntityToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapFromEntitiesToDtos\n \n \n \n \n \n \n \n mapFromEntitiesToDtos(entities: SystemEntity[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/mapper/system-oidc.mapper.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n SystemEntity[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : OidcConfigDto[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapFromEntityToDto\n \n \n \n \n \n \n \n mapFromEntityToDto(entity: SystemEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/mapper/system-oidc.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n SystemEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : OidcConfigDto | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapFromOidcConfigEntityToDto\n \n \n \n \n \n \n \n mapFromOidcConfigEntityToDto(systemId: string, oidcConfig: OidcConfigEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/mapper/system-oidc.mapper.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n oidcConfig\n \n OidcConfigEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : OidcConfigDto\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { OidcConfigDto } from '@modules/system/service/dto/oidc-config.dto';\nimport { OidcConfigEntity, SystemEntity } from '@shared/domain/entity';\n\nexport class SystemOidcMapper {\n\tstatic mapFromEntityToDto(entity: SystemEntity): OidcConfigDto | undefined {\n\t\tif (entity.oidcConfig) {\n\t\t\treturn SystemOidcMapper.mapFromOidcConfigEntityToDto(entity.id, entity.oidcConfig);\n\t\t}\n\t\treturn undefined;\n\t}\n\n\tstatic mapFromOidcConfigEntityToDto(systemId: string, oidcConfig: OidcConfigEntity): OidcConfigDto {\n\t\treturn new OidcConfigDto({\n\t\t\tparentSystemId: systemId,\n\t\t\tclientId: oidcConfig.clientId,\n\t\t\tclientSecret: oidcConfig?.clientSecret,\n\t\t\tidpHint: oidcConfig.idpHint,\n\t\t\tauthorizationUrl: oidcConfig.authorizationUrl,\n\t\t\ttokenUrl: oidcConfig.tokenUrl,\n\t\t\tuserinfoUrl: oidcConfig.userinfoUrl,\n\t\t\tlogoutUrl: oidcConfig.logoutUrl,\n\t\t\tdefaultScopes: oidcConfig.defaultScopes,\n\t\t});\n\t}\n\n\tstatic mapFromEntitiesToDtos(entities: SystemEntity[]): OidcConfigDto[] {\n\t\treturn entities\n\t\t\t.map((entity) => this.mapFromEntityToDto(entity))\n\t\t\t.filter((entity): entity is OidcConfigDto => entity !== undefined);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SystemOidcService.html":{"url":"injectables/SystemOidcService.html","title":"injectable - SystemOidcService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SystemOidcService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/service/system-oidc.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findAll\n \n \n Async\n findById\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(systemRepo: LegacySystemRepo)\n \n \n \n \n Defined in apps/server/src/modules/system/service/system-oidc.service.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemRepo\n \n \n LegacySystemRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findAll\n \n \n \n \n \n \n \n findAll()\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/service/system-oidc.service.ts:22\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/service/system-oidc.service.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityNotFoundError } from '@shared/common';\nimport { SystemEntity } from '@shared/domain/entity';\nimport { EntityId, SystemTypeEnum } from '@shared/domain/types';\nimport { LegacySystemRepo } from '@shared/repo';\nimport { SystemOidcMapper } from '../mapper';\nimport { OidcConfigDto } from './dto';\n\n@Injectable()\nexport class SystemOidcService {\n\tconstructor(private readonly systemRepo: LegacySystemRepo) {}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst system = await this.systemRepo.findById(id);\n\t\tconst mappedEntity = SystemOidcMapper.mapFromEntityToDto(system);\n\t\tif (!mappedEntity) {\n\t\t\tthrow new EntityNotFoundError(SystemEntity.name, { id });\n\t\t}\n\t\treturn mappedEntity;\n\t}\n\n\tasync findAll(): Promise {\n\t\tconst system = await this.systemRepo.findByFilter(SystemTypeEnum.OIDC);\n\t\treturn SystemOidcMapper.mapFromEntitiesToDtos(system);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/SystemProps.html":{"url":"interfaces/SystemProps.html","title":"interface - SystemProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n SystemProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/domain/system.do.ts\n \n\n\n\n \n Extends\n \n \n AuthorizableObject\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n alias\n \n \n \n Optional\n \n displayName\n \n \n \n Optional\n \n ldapConfig\n \n \n \n Optional\n \n oauthConfig\n \n \n \n Optional\n \n provisioningStrategy\n \n \n \n Optional\n \n provisioningUrl\n \n \n \n \n type\n \n \n \n Optional\n \n url\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n alias\n \n \n \n \n \n \n \n \n alias: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n displayName\n \n \n \n \n \n \n \n \n displayName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n ldapConfig\n \n \n \n \n \n \n \n \n ldapConfig: LdapConfig\n\n \n \n\n\n \n \n Type : LdapConfig\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n oauthConfig\n \n \n \n \n \n \n \n \n oauthConfig: OauthConfig\n\n \n \n\n\n \n \n Type : OauthConfig\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n provisioningStrategy\n \n \n \n \n \n \n \n \n provisioningStrategy: SystemProvisioningStrategy\n\n \n \n\n\n \n \n Type : SystemProvisioningStrategy\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n provisioningUrl\n \n \n \n \n \n \n \n \n provisioningUrl: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n \n \n type: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n \n \n url: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { SystemProvisioningStrategy } from '@shared/domain/interface/system-provisioning.strategy';\nimport { LdapConfig } from './ldap-config';\nimport { OauthConfig } from './oauth-config';\n\nexport interface SystemProps extends AuthorizableObject {\n\ttype: string;\n\n\turl?: string;\n\n\talias?: string;\n\n\tdisplayName?: string;\n\n\tprovisioningStrategy?: SystemProvisioningStrategy;\n\n\tprovisioningUrl?: string;\n\n\toauthConfig?: OauthConfig;\n\n\tldapConfig?: LdapConfig;\n}\n\nexport class System extends DomainObject {\n\tget ldapConfig(): LdapConfig | undefined {\n\t\treturn this.props.ldapConfig;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SystemRepo.html":{"url":"injectables/SystemRepo.html","title":"injectable - SystemRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SystemRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/repo/system.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n delete\n \n \n Public\n Async\n findById\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/system/repo/system.repo.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n delete\n \n \n \n \n \n \n \n delete(domainObject: System)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/repo/system.repo.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n System\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/repo/system.repo.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { SystemEntity } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { System, SystemProps } from '../domain';\nimport { SystemDomainMapper } from './system-domain.mapper';\n\n@Injectable()\nexport class SystemRepo {\n\tconstructor(private readonly em: EntityManager) {}\n\n\tpublic async findById(id: EntityId): Promise {\n\t\tconst entity: SystemEntity | null = await this.em.findOne(SystemEntity, { id });\n\n\t\tif (!entity) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst props: SystemProps = SystemDomainMapper.mapEntityToDomainObjectProperties(entity);\n\n\t\tconst domainObject: System = new System(props);\n\n\t\treturn domainObject;\n\t}\n\n\tpublic async delete(domainObject: System): Promise {\n\t\tconst entity: SystemEntity | null = await this.em.findOne(SystemEntity, { id: domainObject.id });\n\n\t\tif (!entity) {\n\t\t\treturn false;\n\t\t}\n\n\t\tawait this.em.removeAndFlush(entity);\n\n\t\treturn true;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SystemResponseMapper.html":{"url":"classes/SystemResponseMapper.html","title":"class - SystemResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SystemResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/controller/mapper/system-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapFromDtoToListResponse\n \n \n Static\n mapFromDtoToResponse\n \n \n Static\n mapFromOauthConfigDtoToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapFromDtoToListResponse\n \n \n \n \n \n \n \n mapFromDtoToListResponse(systems: SystemDto[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/controller/mapper/system-response.mapper.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n systems\n \n SystemDto[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : PublicSystemListResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapFromDtoToResponse\n \n \n \n \n \n \n \n mapFromDtoToResponse(system: SystemDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/controller/mapper/system-response.mapper.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n system\n \n SystemDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : PublicSystemResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapFromOauthConfigDtoToResponse\n \n \n \n \n \n \n \n mapFromOauthConfigDtoToResponse(oauthConfigDto: OauthConfigDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/controller/mapper/system-response.mapper.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n oauthConfigDto\n \n OauthConfigDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : OauthConfigResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { OauthConfigResponse } from '@modules/system/controller/dto/oauth-config.response';\nimport { OauthConfigDto } from '@modules/system/service/dto/oauth-config.dto';\nimport { SystemDto } from '@modules/system/service/dto/system.dto';\nimport { PublicSystemListResponse } from '../dto/public-system-list.response';\nimport { PublicSystemResponse } from '../dto/public-system-response';\n\nexport class SystemResponseMapper {\n\tstatic mapFromDtoToListResponse(systems: SystemDto[]): PublicSystemListResponse {\n\t\tconst systemResponses: PublicSystemResponse[] = systems.map(\n\t\t\t(system: SystemDto): PublicSystemResponse => this.mapFromDtoToResponse(system)\n\t\t);\n\n\t\tconst systemListResponse: PublicSystemListResponse = new PublicSystemListResponse(systemResponses);\n\n\t\treturn systemListResponse;\n\t}\n\n\tstatic mapFromDtoToResponse(system: SystemDto): PublicSystemResponse {\n\t\tconst systemResponse: PublicSystemResponse = new PublicSystemResponse({\n\t\t\tid: system.id || '',\n\t\t\ttype: system.type,\n\t\t\talias: system.alias,\n\t\t\tdisplayName: system.displayName,\n\t\t\toauthConfig: system.oauthConfig\n\t\t\t\t? SystemResponseMapper.mapFromOauthConfigDtoToResponse(system.oauthConfig)\n\t\t\t\t: undefined,\n\t\t});\n\n\t\treturn systemResponse;\n\t}\n\n\tstatic mapFromOauthConfigDtoToResponse(oauthConfigDto: OauthConfigDto): OauthConfigResponse {\n\t\tconst oauthConfigResponse: OauthConfigResponse = new OauthConfigResponse({\n\t\t\tclientId: oauthConfigDto.clientId,\n\t\t\t// clientSecret will not be mapped for security reasons,\n\t\t\tidpHint: oauthConfigDto.idpHint,\n\t\t\tredirectUri: oauthConfigDto.redirectUri,\n\t\t\tgrantType: oauthConfigDto.grantType,\n\t\t\ttokenEndpoint: oauthConfigDto.tokenEndpoint,\n\t\t\tauthEndpoint: oauthConfigDto.authEndpoint,\n\t\t\tresponseType: oauthConfigDto.responseType,\n\t\t\tscope: oauthConfigDto.scope,\n\t\t\tprovider: oauthConfigDto.provider,\n\t\t\tlogoutEndpoint: oauthConfigDto.logoutEndpoint,\n\t\t\tissuer: oauthConfigDto.issuer,\n\t\t\tjwksEndpoint: oauthConfigDto.jwksEndpoint,\n\t\t});\n\n\t\treturn oauthConfigResponse;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SystemRule.html":{"url":"injectables/SystemRule.html","title":"injectable - SystemRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SystemRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/system.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n canEdit\n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/system.rule.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n canEdit\n \n \n \n \n \n \n \n canEdit(system)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/system.rule.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n system\n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, domainObject: System, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/system.rule.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n domainObject\n \n System\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, domainObject: System)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/system.rule.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n domainObject\n \n System\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { System } from '@modules/system';\nimport { Injectable } from '@nestjs/common';\nimport { User } from '@shared/domain/entity';\nimport { AuthorizationHelper } from '../service/authorization.helper';\nimport { Action, AuthorizationContext, Rule } from '../type';\n\n@Injectable()\nexport class SystemRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper) {}\n\n\tpublic isApplicable(user: User, domainObject: System): boolean {\n\t\tconst isMatched: boolean = domainObject instanceof System;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, domainObject: System, context: AuthorizationContext): boolean {\n\t\tconst hasPermissions: boolean = this.authorizationHelper.hasAllPermissions(user, context.requiredPermissions);\n\n\t\tconst hasAccess: boolean = user.school.systems.getIdentifiers().includes(domainObject.id);\n\n\t\tlet isAuthorized: boolean = hasPermissions && hasAccess;\n\n\t\tif (context.action === Action.write) {\n\t\t\tisAuthorized = isAuthorized && this.canEdit(domainObject);\n\t\t}\n\n\t\treturn isAuthorized;\n\t}\n\n\tpublic canEdit(system: unknown): boolean {\n\t\tconst canEdit: boolean =\n\t\t\ttypeof system === 'object' &&\n\t\t\t!!system &&\n\t\t\t'ldapConfig' in system &&\n\t\t\ttypeof system.ldapConfig === 'object' &&\n\t\t\t!!system.ldapConfig &&\n\t\t\t'provider' in system.ldapConfig &&\n\t\t\tsystem.ldapConfig.provider === 'general';\n\n\t\treturn canEdit;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/SystemScope.html":{"url":"classes/SystemScope.html","title":"class - SystemScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n SystemScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/system/system-scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withLdapConfig\n \n \n withOauthConfig\n \n \n withOidcConfig\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withLdapConfig\n \n \n \n \n \n \nwithLdapConfig()\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/system/system-scope.ts:5\n \n \n\n\n \n \n\n \n Returns : SystemScope\n\n \n \n \n \n \n \n \n \n \n \n \n withOauthConfig\n \n \n \n \n \n \nwithOauthConfig()\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/system/system-scope.ts:10\n \n \n\n\n \n \n\n \n Returns : SystemScope\n\n \n \n \n \n \n \n \n \n \n \n \n withOidcConfig\n \n \n \n \n \n \nwithOidcConfig()\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/system/system-scope.ts:15\n \n \n\n\n \n \n\n \n Returns : SystemScope\n\n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { SystemEntity } from '@shared/domain/entity';\nimport { Scope } from '../scope';\n\nexport class SystemScope extends Scope {\n\twithLdapConfig(): SystemScope {\n\t\tthis.addQuery({ ldapConfig: { $ne: null } });\n\t\treturn this;\n\t}\n\n\twithOauthConfig(): SystemScope {\n\t\tthis.addQuery({ oauthConfig: { $ne: null } });\n\t\treturn this;\n\t}\n\n\twithOidcConfig(): SystemScope {\n\t\tthis.addQuery({ oidcConfig: { $ne: null } });\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SystemService.html":{"url":"injectables/SystemService.html","title":"injectable - SystemService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SystemService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/service/system.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n delete\n \n \n Public\n Async\n findById\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(systemRepo: SystemRepo)\n \n \n \n \n Defined in apps/server/src/modules/system/service/system.service.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n systemRepo\n \n \n SystemRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n delete\n \n \n \n \n \n \n \n delete(domainObject: System)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/service/system.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n System\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/service/system.service.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { System } from '../domain';\nimport { SystemRepo } from '../repo';\n\n@Injectable()\nexport class SystemService {\n\tconstructor(private readonly systemRepo: SystemRepo) {}\n\n\tpublic async findById(id: EntityId): Promise {\n\t\tconst system: System | null = await this.systemRepo.findById(id);\n\n\t\treturn system;\n\t}\n\n\tpublic async delete(domainObject: System): Promise {\n\t\tconst deleted: boolean = await this.systemRepo.delete(domainObject);\n\n\t\treturn deleted;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/SystemUc.html":{"url":"injectables/SystemUc.html","title":"injectable - SystemUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n SystemUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/system/uc/system.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n delete\n \n \n Async\n findByFilter\n \n \n Async\n findById\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(legacySystemService: LegacySystemService, systemService: SystemService, authorizationService: AuthorizationService)\n \n \n \n \n Defined in apps/server/src/modules/system/uc/system.uc.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n legacySystemService\n \n \n LegacySystemService\n \n \n \n No\n \n \n \n \n systemService\n \n \n SystemService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(userId: EntityId, systemId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/uc/system.uc.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByFilter\n \n \n \n \n \n \n \n findByFilter(type?: SystemType, onlyOauth)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/uc/system.uc.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n type\n \n SystemType\n \n\n \n Yes\n \n\n \n \n\n \n \n onlyOauth\n \n \n\n \n No\n \n\n \n false\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/system/uc/system.uc.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport { EntityNotFoundError } from '@shared/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { SystemEntity, User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId, SystemType, SystemTypeEnum } from '@shared/domain/types';\nimport { System } from '../domain';\nimport { LegacySystemService, SystemDto, SystemService } from '../service';\n\n@Injectable()\nexport class SystemUc {\n\tconstructor(\n\t\tprivate readonly legacySystemService: LegacySystemService,\n\t\tprivate readonly systemService: SystemService,\n\t\tprivate readonly authorizationService: AuthorizationService\n\t) {}\n\n\tasync findByFilter(type?: SystemType, onlyOauth = false): Promise {\n\t\tlet systems: SystemDto[];\n\n\t\tif (onlyOauth) {\n\t\t\tsystems = await this.legacySystemService.findByType(SystemTypeEnum.OAUTH);\n\t\t} else {\n\t\t\tsystems = await this.legacySystemService.findByType(type);\n\t\t}\n\n\t\tsystems = systems.filter((system: SystemDto) => system.ldapActive !== false);\n\n\t\treturn systems;\n\t}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst system: SystemDto = await this.legacySystemService.findById(id);\n\n\t\tif (system.ldapActive === false) {\n\t\t\tthrow new EntityNotFoundError(SystemEntity.name, { id });\n\t\t}\n\n\t\treturn system;\n\t}\n\n\tasync delete(userId: EntityId, systemId: EntityId): Promise {\n\t\tconst system: System | null = await this.systemService.findById(systemId);\n\n\t\tif (!system) {\n\t\t\tthrow new NotFoundLoggableException(System.name, 'id', systemId);\n\t\t}\n\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(userId);\n\t\tthis.authorizationService.checkPermission(\n\t\t\tuser,\n\t\t\tsystem,\n\t\t\tAuthorizationContextBuilder.write([Permission.SYSTEM_CREATE])\n\t\t);\n\n\t\tawait this.systemService.delete(system);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TargetGroupProperties.html":{"url":"interfaces/TargetGroupProperties.html","title":"interface - TargetGroupProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TargetGroupProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/materials.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n grade\n \n \n \n Optional\n \n schoolType\n \n \n \n Optional\n \n state\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n grade\n \n \n \n \n \n \n \n \n grade: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n schoolType\n \n \n \n \n \n \n \n \n schoolType: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n state\n \n \n \n \n \n \n \n \n state: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport interface TargetGroupProperties {\n\tstate?: string;\n\tschoolType?: string;\n\tgrade?: string;\n}\n\nexport interface RelatedResourceProperties {\n\toriginId?: string;\n\trelationType?: string;\n}\n\nexport interface MaterialProperties {\n\tclient: string;\n\tdescription?: string;\n\tlicense: string[];\n\tmerlinReference?: string;\n\trelatedResources: RelatedResourceProperties[];\n\tsubjects: string[];\n\ttags: string[];\n\ttargetGroups: TargetGroupProperties[];\n\ttitle: string;\n\turl: string;\n}\n\n@Entity({ collection: 'materials' })\nexport class Material extends BaseEntityWithTimestamps {\n\t@Property()\n\tclient: string;\n\n\t@Property()\n\tdescription?: string;\n\n\t@Property()\n\tlicense: string[];\n\n\t@Property()\n\tmerlinReference?: string;\n\n\t@Property()\n\trelatedResources: RelatedResourceProperties[] | [];\n\n\t@Property()\n\tsubjects: string[] | [];\n\n\t@Property()\n\ttags: string[] | [];\n\n\t@Property()\n\ttargetGroups: TargetGroupProperties[] | [];\n\n\t@Property()\n\ttitle: string;\n\n\t@Property()\n\turl: string;\n\n\tconstructor(props: MaterialProperties) {\n\t\tsuper();\n\t\tthis.client = props.client;\n\t\tthis.description = props.description || '';\n\t\tthis.license = props.license;\n\t\tthis.merlinReference = props.merlinReference || '';\n\t\tthis.relatedResources = props.relatedResources;\n\t\tthis.subjects = props.subjects;\n\t\tthis.tags = props.tags;\n\t\tthis.targetGroups = props.targetGroups;\n\t\tthis.title = props.title;\n\t\tthis.url = props.url;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TargetInfoMapper.html":{"url":"classes/TargetInfoMapper.html","title":"class - TargetInfoMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TargetInfoMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/mapper/target-info.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(target: NewsTarget)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/mapper/target-info.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n target\n \n NewsTarget\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TargetInfoResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { NewsTarget } from '@shared/domain/types';\nimport { TargetInfoResponse } from '../controller/dto/target-info.response';\n\nexport class TargetInfoMapper {\n\tstatic mapToResponse(target: NewsTarget): TargetInfoResponse {\n\t\tconst dto = new TargetInfoResponse({ id: target.id, name: target.name });\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TargetInfoResponse.html":{"url":"classes/TargetInfoResponse.html","title":"class - TargetInfoResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TargetInfoResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/dto/target-info.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: TargetInfoResponse)\n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/target-info.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n TargetInfoResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}', description: 'The id of the Target entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/target-info.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The name of the Target entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/target-info.response.ts:18\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class TargetInfoResponse {\n\tconstructor({ id, name }: TargetInfoResponse) {\n\t\tthis.id = id;\n\t\tthis.name = name;\n\t}\n\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'The id of the Target entity',\n\t})\n\tid: string;\n\n\t@ApiProperty({\n\t\tdescription: 'The name of the Target entity',\n\t})\n\tname: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/Task.html":{"url":"entities/Task.html","title":"entity - Task","body":"\n \n\n\n\n\n\n\n\n Entities\n Task\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/task.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n availableDate\n \n \n \n \n Optional\n course\n \n \n \n \n creator\n \n \n \n description\n \n \n \n descriptionInputFormat\n \n \n \n \n Optional\n dueDate\n \n \n \n \n finished\n \n \n \n \n Optional\n lesson\n \n \n \n name\n \n \n \n private\n \n \n \n Optional\n publicSubmissions\n \n \n \n \n school\n \n \n \n submissions\n \n \n \n Optional\n teamSubmissions\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n availableDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n course\n \n \n \n \n \n \n Type : Course\n\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToOne('Course', {fieldName: 'courseId', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:75\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n creator\n \n \n \n \n \n \n Type : User\n\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToOne('User', {fieldName: 'teacherId'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:71\n \n \n\n\n \n \n \n \n \n \n \n \n \n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:48\n \n \n\n\n \n \n \n \n \n \n \n \n \n descriptionInputFormat\n \n \n \n \n \n \n Type : InputFormat\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:51\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n dueDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n finished\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToMany('User', undefined, {fieldName: 'archived'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:90\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n lesson\n \n \n \n \n \n \n Type : LessonEntity\n\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToOne('LessonEntity', {fieldName: 'lessonId', nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:83\n \n \n\n\n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:45\n \n \n\n\n \n \n \n \n \n \n \n \n \n private\n \n \n \n \n \n \n Default value : true\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:61\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n publicSubmissions\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:64\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n Type : SchoolEntity\n\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToOne(undefined, {fieldName: 'schoolId'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:79\n \n \n\n\n \n \n \n \n \n \n \n \n \n submissions\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @OneToMany('Submission', 'task')\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:86\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n teamSubmissions\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:67\n \n \n\n\n \n \n\n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { SchoolEntity } from '@shared/domain/entity/school.entity';\nimport { InputFormat } from '@shared/domain/types/input-format.types';\nimport type { EntityWithSchool } from '../interface';\nimport type { LearnroomElement } from '../interface/learnroom';\nimport type { EntityId } from '../types/entity-id';\nimport type { TaskProperties, TaskStatus } from '../types/task.types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport type { LessonEntity } from './lesson.entity';\nimport type { Submission } from './submission.entity';\nimport { User } from './user.entity';\n\nexport class TaskWithStatusVo {\n\ttask!: Task;\n\n\tstatus!: TaskStatus;\n\n\tconstructor(task: Task, status: TaskStatus) {\n\t\tthis.task = task;\n\t\tthis.status = status;\n\t}\n}\n\nexport type TaskParentDescriptions = {\n\tcourseName: string;\n\tcourseId: string;\n\tlessonName: string;\n\tlessonHidden: boolean;\n\tcolor: string;\n};\n\nexport interface TaskParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'homeworks' })\n@Index({ properties: ['private', 'dueDate', 'finished'] })\n@Index({ properties: ['id', 'private'] })\n@Index({ properties: ['finished', 'course'] })\n@Index({ properties: ['finished', 'course'] })\nexport class Task extends BaseEntityWithTimestamps implements LearnroomElement, EntityWithSchool {\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tdescription: string;\n\n\t@Property()\n\tdescriptionInputFormat: InputFormat;\n\n\t@Property({ nullable: true })\n\tavailableDate?: Date;\n\n\t@Property({ nullable: true })\n\t@Index()\n\tdueDate?: Date;\n\n\t@Property()\n\tprivate = true;\n\n\t@Property({ nullable: true })\n\tpublicSubmissions?: boolean;\n\n\t@Property({ nullable: true })\n\tteamSubmissions?: boolean;\n\n\t@Index()\n\t@ManyToOne('User', { fieldName: 'teacherId' })\n\tcreator: User;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId', nullable: true })\n\tcourse?: Course;\n\n\t@Index()\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool: SchoolEntity;\n\n\t@Index()\n\t@ManyToOne('LessonEntity', { fieldName: 'lessonId', nullable: true })\n\tlesson?: LessonEntity; // In database exist also null, but it can not set.\n\n\t@OneToMany('Submission', 'task')\n\tsubmissions = new Collection(this);\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'archived' })\n\tfinished = new Collection(this);\n\n\tconstructor(props: TaskProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.description = props.description || '';\n\t\tthis.descriptionInputFormat = props.descriptionInputFormat || InputFormat.RICH_TEXT_CK4;\n\t\tthis.availableDate = props.availableDate;\n\t\tthis.dueDate = props.dueDate;\n\n\t\tif (props.private !== undefined) this.private = props.private;\n\t\tthis.creator = props.creator;\n\t\tthis.course = props.course;\n\t\tthis.school = props.school;\n\t\tthis.lesson = props.lesson;\n\t\tthis.submissions.set(props.submissions || []);\n\t\tthis.finished.set(props.finished || []);\n\t\tthis.publicSubmissions = props.publicSubmissions || false;\n\t\tthis.teamSubmissions = props.teamSubmissions || false;\n\t}\n\n\tprivate getSubmissionItems(): Submission[] {\n\t\tif (!this.submissions || !this.submissions.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Submissions items are not loaded.');\n\t\t}\n\t\tconst submissions = this.submissions.getItems();\n\n\t\treturn submissions;\n\t}\n\n\tprivate getFinishedUserIds(): EntityId[] {\n\t\tif (!this.finished) {\n\t\t\tthrow new InternalServerErrorException('Task.finished is undefined. The task need to be populated.');\n\t\t}\n\n\t\tconst finishedObjectIds = this.finished.getIdentifiers('_id');\n\t\tconst finishedIds = finishedObjectIds.map((id): string => id.toString());\n\n\t\treturn finishedIds;\n\t}\n\n\tprivate getParent(): TaskParent | User {\n\t\tconst parent = this.lesson || this.course || this.creator;\n\n\t\treturn parent;\n\t}\n\n\tprivate getMaxSubmissions(): number {\n\t\tconst parent = this.getParent();\n\t\t// For draft (user as parent) propaly user is not a student, but for maxSubmission one is valid result\n\t\tconst maxSubmissions = parent instanceof User ? 1 : parent.getStudentIds().length;\n\n\t\treturn maxSubmissions;\n\t}\n\n\tprivate isFinishedForUser(user: User): boolean {\n\t\tconst finishedUserIds = this.getFinishedUserIds();\n\t\tconst isUserInFinishedUser = finishedUserIds.some((finishedUserId) => finishedUserId === user.id);\n\n\t\tconst isCourseFinished = this.course ? this.course.isFinished() : false;\n\n\t\tconst isFinishedForUser = isUserInFinishedUser || isCourseFinished;\n\n\t\treturn isFinishedForUser;\n\t}\n\n\tpublic isDraft(): boolean {\n\t\t// private can be undefined in the database\n\t\treturn !!this.private;\n\t}\n\n\tpublic isPublished(): boolean {\n\t\tif (this.isDraft()) {\n\t\t\treturn false;\n\t\t}\n\t\tif (this.availableDate && this.availableDate > new Date()) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tpublic isPlanned(): boolean {\n\t\tif (this.isDraft()) {\n\t\t\treturn false;\n\t\t}\n\t\tif (this.availableDate && this.availableDate > new Date()) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tprivate getSubmittedSubmissions(): Submission[] {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst submittedSubmissions = submissions.filter((submission) => submission.isSubmitted());\n\n\t\treturn submittedSubmissions;\n\t}\n\n\tpublic areSubmissionsPublic(): boolean {\n\t\tconst areSubmissionsPublic = !!this.publicSubmissions;\n\n\t\treturn areSubmissionsPublic;\n\t}\n\n\tprivate getGradedSubmissions(): Submission[] {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst gradedSubmissions = submissions.filter((submission) => submission.isGraded());\n\n\t\treturn gradedSubmissions;\n\t}\n\n\tprivate isSubmittedForUser(user: User): boolean {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst isSubmitted = submissions.some((submission) => submission.isSubmittedForUser(user));\n\n\t\treturn isSubmitted;\n\t}\n\n\tprivate isGradedForUser(user: User): boolean {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst isGraded = submissions.some((submission) => submission.isGradedForUser(user));\n\n\t\treturn isGraded;\n\t}\n\n\tprivate calculateNumberOfSubmitters(submissions: Submission[]): number {\n\t\tlet taskSubmitterIds: EntityId[] = [];\n\n\t\tsubmissions.forEach((submission) => {\n\t\t\tconst submitterIds = submission.getSubmitterIds();\n\t\t\ttaskSubmitterIds = [...taskSubmitterIds, ...submitterIds];\n\t\t});\n\n\t\tconst uniqueIds = [...new Set(taskSubmitterIds)];\n\t\tconst numberOfSubmitters = uniqueIds.length;\n\n\t\treturn numberOfSubmitters;\n\t}\n\n\tprivate isUserSubstitutionTeacherInCourse(user: User): boolean {\n\t\tconst isSubstitutionTeacher = this.course ? this.course.isUserSubstitutionTeacher(user) : false;\n\n\t\treturn isSubstitutionTeacher;\n\t}\n\n\tpublic createTeacherStatusForUser(user: User): TaskStatus {\n\t\tconst submittedSubmissions = this.getSubmittedSubmissions();\n\t\tconst gradedSubmissions = this.getGradedSubmissions();\n\n\t\tconst numberOfSubmitters = this.calculateNumberOfSubmitters(submittedSubmissions);\n\t\tconst numberOfSubmittersWithGrade = this.calculateNumberOfSubmitters(gradedSubmissions);\n\t\tconst maxSubmissions = this.getMaxSubmissions();\n\t\tconst isDraft = this.isDraft();\n\t\tconst isFinished = this.isFinishedForUser(user);\n\t\tconst isSubstitutionTeacher = this.isUserSubstitutionTeacherInCourse(user);\n\n\t\tconst status = {\n\t\t\tsubmitted: numberOfSubmitters,\n\t\t\tgraded: numberOfSubmittersWithGrade,\n\t\t\tmaxSubmissions,\n\t\t\tisDraft,\n\t\t\tisSubstitutionTeacher,\n\t\t\tisFinished,\n\t\t};\n\n\t\treturn status;\n\t}\n\n\tpublic createStudentStatusForUser(user: User): TaskStatus {\n\t\tconst isSubmitted = this.isSubmittedForUser(user);\n\t\tconst isGraded = this.isGradedForUser(user);\n\t\tconst maxSubmissions = 1;\n\t\tconst isDraft = this.isDraft();\n\t\tconst isSubstitutionTeacher = false;\n\t\tconst isFinished = this.isFinishedForUser(user);\n\n\t\tconst status = {\n\t\t\tsubmitted: isSubmitted ? 1 : 0,\n\t\t\tgraded: isGraded ? 1 : 0,\n\t\t\tmaxSubmissions,\n\t\t\tisDraft,\n\t\t\tisSubstitutionTeacher,\n\t\t\tisFinished,\n\t\t};\n\n\t\treturn status;\n\t}\n\n\t// TODO: based on the parent relationship\n\tpublic getParentData(): TaskParentDescriptions {\n\t\tlet descriptions: TaskParentDescriptions;\n\t\tif (this.course) {\n\t\t\tdescriptions = {\n\t\t\t\tcourseName: this.course.name,\n\t\t\t\tcourseId: this.course.id,\n\t\t\t\tlessonName: this.lesson ? this.lesson.name : '',\n\t\t\t\tlessonHidden: this.lesson ? this.lesson.hidden : false,\n\t\t\t\tcolor: this.course.color,\n\t\t\t};\n\t\t} else {\n\t\t\tdescriptions = {\n\t\t\t\tcourseName: '',\n\t\t\t\tcourseId: '',\n\t\t\t\tlessonName: '',\n\t\t\t\tlessonHidden: false,\n\t\t\t\tcolor: '#ACACAC',\n\t\t\t};\n\t\t}\n\n\t\treturn descriptions;\n\t}\n\n\tpublic finishForUser(user: User): void {\n\t\tthis.finished.add(user);\n\t}\n\n\tpublic restoreForUser(user: User): void {\n\t\tthis.finished.remove(user);\n\t}\n\n\tpublic getSchoolId(): EntityId {\n\t\treturn this.school.id;\n\t}\n\n\tpublic publish(): void {\n\t\tthis.private = false;\n\t\tthis.availableDate = new Date();\n\t}\n\n\tpublic unpublish(): void {\n\t\tthis.private = true;\n\t}\n}\n\nexport function isTask(reference: unknown): reference is Task {\n\treturn reference instanceof Task;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TaskApiModule.html":{"url":"modules/TaskApiModule.html","title":"module - TaskApiModule","body":"\n \n\n\n\n\n Modules\n TaskApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_TaskApiModule\n\n\n\ncluster_TaskApiModule_providers\n\n\n\ncluster_TaskApiModule_imports\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nTaskApiModule\n\nTaskApiModule\n\nTaskApiModule -->\n\nAuthorizationModule->TaskApiModule\n\n\n\n\n\nCopyHelperModule\n\nCopyHelperModule\n\nTaskApiModule -->\n\nCopyHelperModule->TaskApiModule\n\n\n\n\n\nLessonModule\n\nLessonModule\n\nTaskApiModule -->\n\nLessonModule->TaskApiModule\n\n\n\n\n\nTaskModule\n\nTaskModule\n\nTaskApiModule -->\n\nTaskModule->TaskApiModule\n\n\n\n\n\nCourseRepo\n\nCourseRepo\n\nTaskApiModule -->\n\nCourseRepo->TaskApiModule\n\n\n\n\n\nSubmissionUc\n\nSubmissionUc\n\nTaskApiModule -->\n\nSubmissionUc->TaskApiModule\n\n\n\n\n\nTaskCopyUC\n\nTaskCopyUC\n\nTaskApiModule -->\n\nTaskCopyUC->TaskApiModule\n\n\n\n\n\nTaskRepo\n\nTaskRepo\n\nTaskApiModule -->\n\nTaskRepo->TaskApiModule\n\n\n\n\n\nTaskUC\n\nTaskUC\n\nTaskApiModule -->\n\nTaskUC->TaskApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/task/task-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n CourseRepo\n \n \n SubmissionUc\n \n \n TaskCopyUC\n \n \n TaskRepo\n \n \n TaskUC\n \n \n \n \n Controllers\n \n \n TaskController\n \n \n SubmissionController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n CopyHelperModule\n \n \n LessonModule\n \n \n TaskModule\n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationModule } from '@modules/authorization';\nimport { CopyHelperModule } from '@modules/copy-helper/copy-helper.module';\nimport { Module } from '@nestjs/common';\nimport { CourseRepo, TaskRepo } from '@shared/repo';\nimport { LessonModule } from '@modules/lesson';\nimport { SubmissionController, TaskController } from './controller';\nimport { TaskModule } from './task.module';\nimport { SubmissionUc, TaskCopyUC, TaskUC } from './uc';\n\n@Module({\n\timports: [AuthorizationModule, CopyHelperModule, TaskModule, LessonModule],\n\tcontrollers: [TaskController, SubmissionController],\n\tproviders: [TaskUC, TaskRepo, CourseRepo, TaskCopyUC, SubmissionUc],\n})\nexport class TaskApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/TaskBoardElement.html":{"url":"entities/TaskBoardElement.html","title":"entity - TaskBoardElement","body":"\n \n\n\n\n\n\n\n\n Entities\n TaskBoardElement\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/legacy-board/task-boardelement.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n target\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : Task\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('Task', {nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/legacy-board/task-boardelement.entity.ts:16\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, ManyToOne } from '@mikro-orm/core';\nimport { Task } from '../task.entity';\nimport { BoardElement, BoardElementType } from './boardelement.entity';\n\n@Entity({ discriminatorValue: BoardElementType.Task })\nexport class TaskBoardElement extends BoardElement {\n\tconstructor(props: { target: Task }) {\n\t\tsuper(props);\n\t\tthis.boardElementType = BoardElementType.Task;\n\t}\n\n\t// FIXME Due to a weird behaviour in the mikro-orm validation we have to\n\t// disable the validation by setting the reference nullable.\n\t// Remove when fixed in mikro-orm.\n\t@ManyToOne('Task', { nullable: true })\n\ttarget!: Task;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/TaskController.html":{"url":"controllers/TaskController.html","title":"controller - TaskController","body":"\n \n\n\n\n\n\n\n Controllers\n TaskController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/task.controller.ts\n \n\n \n Prefix\n \n \n tasks\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n copyTask\n \n \n \n Async\n delete\n \n \n \n Async\n findAll\n \n \n \n Async\n findAllFinished\n \n \n Private\n Async\n findAllTasks\n \n \n \n Async\n finish\n \n \n \n Async\n restore\n \n \n \n Async\n revertPublished\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n Async\n copyTask\n \n \n \n \n \n \n \n copyTask(currentUser: ICurrentUser, urlParams: TaskUrlParams, params: TaskCopyApiParams)\n \n \n\n \n \n Decorators : \n \n @Post(':taskId/copy')@RequestTimeout(undefined.INCOMING_REQUEST_TIMEOUT_COPY_API)\n \n \n\n \n \n Defined in apps/server/src/modules/task/controller/task.controller.ts:85\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n urlParams\n \n TaskUrlParams\n \n\n \n No\n \n\n\n \n \n params\n \n TaskCopyApiParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(urlParams: TaskUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Delete(':taskId')\n \n \n\n \n \n Defined in apps/server/src/modules/task/controller/task.controller.ts:100\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n TaskUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAll\n \n \n \n \n \n \n \n findAll(currentUser: ICurrentUser, pagination: PaginationParams)\n \n \n\n \n \n Decorators : \n \n @Get()\n \n \n\n \n \n Defined in apps/server/src/modules/task/controller/task.controller.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n pagination\n \n PaginationParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllFinished\n \n \n \n \n \n \n \n findAllFinished(currentUser: ICurrentUser, pagination: PaginationParams)\n \n \n\n \n \n Decorators : \n \n @Get('finished')\n \n \n\n \n \n Defined in apps/server/src/modules/task/controller/task.controller.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n pagination\n \n PaginationParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findAllTasks\n \n \n \n \n \n \n \n findAllTasks(currentUser: ICurrentUser, pagination: PaginationParams, finished)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/controller/task.controller.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n \n \n\n \n \n pagination\n \n PaginationParams\n \n\n \n No\n \n\n \n \n\n \n \n finished\n \n \n\n \n No\n \n\n \n false\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n finish\n \n \n \n \n \n \n \n finish(urlParams: TaskUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Patch(':taskId/finish')\n \n \n\n \n \n Defined in apps/server/src/modules/task/controller/task.controller.ts:54\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n TaskUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n restore\n \n \n \n \n \n \n \n restore(urlParams: TaskUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Patch(':taskId/restore')\n \n \n\n \n \n Defined in apps/server/src/modules/task/controller/task.controller.ts:63\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n TaskUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n revertPublished\n \n \n \n \n \n \n \n revertPublished(urlParams: TaskUrlParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Patch(':taskId/revertPublished')\n \n \n\n \n \n Defined in apps/server/src/modules/task/controller/task.controller.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n TaskUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { CopyApiResponse, CopyMapper } from '@modules/copy-helper';\nimport { Body, Controller, Delete, Get, Param, Patch, Post, Query } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { RequestTimeout } from '@shared/common';\nimport { PaginationParams } from '@shared/controller/';\n// invalid import can produce dependency cycles\nimport { serverConfig } from '@modules/server/server.config';\nimport { TaskMapper } from '../mapper';\nimport { TaskCopyUC } from '../uc/task-copy.uc';\nimport { TaskUC } from '../uc/task.uc';\nimport { TaskListResponse, TaskResponse, TaskUrlParams } from './dto';\nimport { TaskCopyApiParams } from './dto/task-copy.params';\n\n@ApiTags('Task')\n@Authenticate('jwt')\n@Controller('tasks')\nexport class TaskController {\n\tconstructor(private readonly taskUc: TaskUC, private readonly taskCopyUc: TaskCopyUC) {}\n\n\t@Get()\n\tasync findAll(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() pagination: PaginationParams\n\t): Promise {\n\t\treturn this.findAllTasks(currentUser, pagination);\n\t}\n\n\t@Get('finished')\n\tasync findAllFinished(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() pagination: PaginationParams\n\t): Promise {\n\t\treturn this.findAllTasks(currentUser, pagination, true);\n\t}\n\n\tprivate async findAllTasks(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() pagination: PaginationParams,\n\t\tfinished = false\n\t): Promise {\n\t\tconst [tasksWithStatus, total] = finished\n\t\t\t? await this.taskUc.findAllFinished(currentUser.userId, pagination)\n\t\t\t: await this.taskUc.findAll(currentUser.userId, pagination);\n\n\t\tconst taskResponses = tasksWithStatus.map((task) => TaskMapper.mapToResponse(task));\n\n\t\tconst { skip, limit } = pagination;\n\t\tconst result = new TaskListResponse(taskResponses, total, skip, limit);\n\t\treturn result;\n\t}\n\n\t@Patch(':taskId/finish')\n\tasync finish(@Param() urlParams: TaskUrlParams, @CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst task = await this.taskUc.changeFinishedForUser(currentUser.userId, urlParams.taskId, true);\n\n\t\tconst response = TaskMapper.mapToResponse(task);\n\n\t\treturn response;\n\t}\n\n\t@Patch(':taskId/restore')\n\tasync restore(@Param() urlParams: TaskUrlParams, @CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst task = await this.taskUc.changeFinishedForUser(currentUser.userId, urlParams.taskId, false);\n\n\t\tconst response = TaskMapper.mapToResponse(task);\n\n\t\treturn response;\n\t}\n\n\t@Patch(':taskId/revertPublished')\n\tasync revertPublished(\n\t\t@Param() urlParams: TaskUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst task = await this.taskUc.revertPublished(currentUser.userId, urlParams.taskId);\n\n\t\tconst response = TaskMapper.mapToResponse(task);\n\n\t\treturn response;\n\t}\n\n\t@Post(':taskId/copy')\n\t@RequestTimeout(serverConfig().INCOMING_REQUEST_TIMEOUT_COPY_API)\n\tasync copyTask(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() urlParams: TaskUrlParams,\n\t\t@Body() params: TaskCopyApiParams\n\t): Promise {\n\t\tconst copyStatus = await this.taskCopyUc.copyTask(\n\t\t\tcurrentUser.userId,\n\t\t\turlParams.taskId,\n\t\t\tCopyMapper.mapTaskCopyToDomain(params, currentUser.userId)\n\t\t);\n\t\tconst dto = CopyMapper.mapToResponse(copyStatus);\n\t\treturn dto;\n\t}\n\n\t@Delete(':taskId')\n\tasync delete(@Param() urlParams: TaskUrlParams, @CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst result = await this.taskUc.delete(currentUser.userId, urlParams.taskId);\n\n\t\treturn result;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskCopyApiParams.html":{"url":"classes/TaskCopyApiParams.html","title":"class - TaskCopyApiParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskCopyApiParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/dto/task-copy.params.ts\n \n\n\n \n Description\n \n \n DTO for creating a task copy.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n courseId\n \n \n \n \n \n Optional\n lessonId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n courseId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsMongoId()@ApiPropertyOptional({pattern: '[a-f0-9]{24}', description: 'Destination course parent Id the task is copied to'})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-copy.params.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n lessonId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsMongoId()@ApiPropertyOptional({pattern: '[a-f0-9]{24}', description: 'Destination lesson parent Id the task is copied to'})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-copy.params.ts:22\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsMongoId, IsOptional } from 'class-validator';\n\n/**\n * DTO for creating a task copy.\n */\nexport class TaskCopyApiParams {\n\t@IsOptional()\n\t@IsMongoId()\n\t@ApiPropertyOptional({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'Destination course parent Id the task is copied to',\n\t})\n\tcourseId?: string;\n\n\t@IsOptional()\n\t@IsMongoId()\n\t@ApiPropertyOptional({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'Destination lesson parent Id the task is copied to',\n\t})\n\tlessonId?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TaskCopyService.html":{"url":"injectables/TaskCopyService.html","title":"injectable - TaskCopyService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TaskCopyService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/service/task-copy.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n copyTask\n \n \n Private\n Async\n copyTaskEntity\n \n \n Private\n deriveCopyStatus\n \n \n Private\n Async\n updateFileUrls\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(taskRepo: TaskRepo, copyHelperService: CopyHelperService, copyFilesService: CopyFilesService)\n \n \n \n \n Defined in apps/server/src/modules/task/service/task-copy.service.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n taskRepo\n \n \n TaskRepo\n \n \n \n No\n \n \n \n \n copyHelperService\n \n \n CopyHelperService\n \n \n \n No\n \n \n \n \n copyFilesService\n \n \n CopyFilesService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n copyTask\n \n \n \n \n \n \n \n copyTask(params: TaskCopyParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/service/task-copy.service.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n TaskCopyParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n copyTaskEntity\n \n \n \n \n \n \n \n copyTaskEntity(params: TaskCopyParams, originalTask: Task, user: User, destinationCourse: Course | undefined, destinationLesson: LessonEntity | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/service/task-copy.service.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n TaskCopyParams\n \n\n \n No\n \n\n\n \n \n originalTask\n \n Task\n \n\n \n No\n \n\n\n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n destinationCourse\n \n Course | undefined\n \n\n \n No\n \n\n\n \n \n destinationLesson\n \n LessonEntity | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n deriveCopyStatus\n \n \n \n \n \n \n \n deriveCopyStatus(fileCopyStatus: CopyStatus, originalTask: Task, taskCopy: Task)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/service/task-copy.service.ts:70\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n fileCopyStatus\n \n CopyStatus\n \n\n \n No\n \n\n\n \n \n originalTask\n \n Task\n \n\n \n No\n \n\n\n \n \n taskCopy\n \n Task\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : CopyStatus\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n updateFileUrls\n \n \n \n \n \n \n \n updateFileUrls(task: Task, fileUrlReplacements: FileUrlReplacement[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/service/task-copy.service.ts:63\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n task\n \n Task\n \n\n \n No\n \n\n\n \n \n fileUrlReplacements\n \n FileUrlReplacement[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CopyElementType, CopyHelperService, CopyStatus, CopyStatusEnum } from '@modules/copy-helper';\nimport { CopyFilesService } from '@modules/files-storage-client';\nimport { FileUrlReplacement } from '@modules/files-storage-client/service/copy-files.service';\nimport { Injectable } from '@nestjs/common';\nimport { Course, LessonEntity, Task, User } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { TaskRepo } from '@shared/repo';\n\ntype TaskCopyParams = {\n\toriginalTaskId: EntityId;\n\tdestinationCourse?: Course;\n\tdestinationLesson?: LessonEntity;\n\tuser: User;\n\tcopyName?: string;\n};\n\n@Injectable()\nexport class TaskCopyService {\n\tconstructor(\n\t\tprivate readonly taskRepo: TaskRepo,\n\t\tprivate readonly copyHelperService: CopyHelperService,\n\t\tprivate readonly copyFilesService: CopyFilesService\n\t) {}\n\n\tasync copyTask(params: TaskCopyParams): Promise {\n\t\tconst { user, destinationLesson, destinationCourse } = params;\n\t\tconst originalTask = await this.taskRepo.findById(params.originalTaskId);\n\n\t\tconst taskCopy = await this.copyTaskEntity(params, originalTask, user, destinationCourse, destinationLesson);\n\n\t\tconst { fileUrlReplacements, fileCopyStatus } = await this.copyFilesService.copyFilesOfEntity(\n\t\t\toriginalTask,\n\t\t\ttaskCopy,\n\t\t\tuser.id\n\t\t);\n\n\t\tawait this.updateFileUrls(taskCopy, fileUrlReplacements);\n\n\t\treturn this.deriveCopyStatus(fileCopyStatus, originalTask, taskCopy);\n\t}\n\n\tprivate async copyTaskEntity(\n\t\tparams: TaskCopyParams,\n\t\toriginalTask: Task,\n\t\tuser: User,\n\t\tdestinationCourse: Course | undefined,\n\t\tdestinationLesson: LessonEntity | undefined\n\t) {\n\t\tconst taskCopy = new Task({\n\t\t\tname: params.copyName || originalTask.name,\n\t\t\tdescription: originalTask.description,\n\t\t\tdescriptionInputFormat: originalTask.descriptionInputFormat,\n\t\t\tschool: user.school,\n\t\t\tcreator: user,\n\t\t\tcourse: destinationCourse,\n\t\t\tlesson: destinationLesson,\n\t\t\tteamSubmissions: originalTask.teamSubmissions,\n\t\t});\n\t\tawait this.taskRepo.createTask(taskCopy);\n\t\treturn taskCopy;\n\t}\n\n\tprivate async updateFileUrls(task: Task, fileUrlReplacements: FileUrlReplacement[]) {\n\t\tfileUrlReplacements.forEach(({ regex, replacement }) => {\n\t\t\ttask.description = task.description.replace(regex, replacement);\n\t\t});\n\t\tawait this.taskRepo.save(task);\n\t}\n\n\tprivate deriveCopyStatus(fileCopyStatus: CopyStatus, originalTask: Task, taskCopy: Task) {\n\t\tconst elements = [\n\t\t\t{\n\t\t\t\ttype: CopyElementType.METADATA,\n\t\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: CopyElementType.CONTENT,\n\t\t\t\tstatus: CopyStatusEnum.SUCCESS,\n\t\t\t},\n\t\t\t{\n\t\t\t\ttype: CopyElementType.SUBMISSION_GROUP,\n\t\t\t\tstatus: CopyStatusEnum.NOT_DOING,\n\t\t\t},\n\t\t\tfileCopyStatus,\n\t\t];\n\n\t\tconst status: CopyStatus = {\n\t\t\ttitle: taskCopy.name,\n\t\t\ttype: CopyElementType.TASK,\n\t\t\tstatus: this.copyHelperService.deriveStatusFromElements(elements),\n\t\t\tcopyEntity: taskCopy,\n\t\t\toriginalEntity: originalTask,\n\t\t\telements,\n\t\t};\n\t\treturn status;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TaskCopyUC.html":{"url":"injectables/TaskCopyUC.html","title":"injectable - TaskCopyUC","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TaskCopyUC\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/uc/task-copy.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkDestinationCourseAuthorisation\n \n \n Private\n checkDestinationLessonAuthorization\n \n \n Private\n checkFeatureEnabled\n \n \n Private\n checkOriginalTaskAuthorization\n \n \n Async\n copyTask\n \n \n Private\n Async\n getCopyName\n \n \n Private\n Async\n getDestinationCourse\n \n \n Private\n Async\n getDestinationLesson\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(courseRepo: CourseRepo, lessonService: LessonService, authorisation: AuthorizationService, taskCopyService: TaskCopyService, taskRepo: TaskRepo, copyHelperService: CopyHelperService)\n \n \n \n \n Defined in apps/server/src/modules/task/uc/task-copy.uc.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseRepo\n \n \n CourseRepo\n \n \n \n No\n \n \n \n \n lessonService\n \n \n LessonService\n \n \n \n No\n \n \n \n \n authorisation\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n taskCopyService\n \n \n TaskCopyService\n \n \n \n No\n \n \n \n \n taskRepo\n \n \n TaskRepo\n \n \n \n No\n \n \n \n \n copyHelperService\n \n \n CopyHelperService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkDestinationCourseAuthorisation\n \n \n \n \n \n \n \n checkDestinationCourseAuthorisation(authorizableUser: User, destinationCourse: Course)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task-copy.uc.ts:71\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizableUser\n \n User\n \n\n \n No\n \n\n\n \n \n destinationCourse\n \n Course\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n checkDestinationLessonAuthorization\n \n \n \n \n \n \n \n checkDestinationLessonAuthorization(authorizableUser: User, destinationLesson: LessonEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task-copy.uc.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizableUser\n \n User\n \n\n \n No\n \n\n\n \n \n destinationLesson\n \n LessonEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n checkFeatureEnabled\n \n \n \n \n \n \n \n checkFeatureEnabled()\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task-copy.uc.ts:114\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n checkOriginalTaskAuthorization\n \n \n \n \n \n \n \n checkOriginalTaskAuthorization(authorizableUser: User, originalTask: Task)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task-copy.uc.ts:63\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizableUser\n \n User\n \n\n \n No\n \n\n\n \n \n originalTask\n \n Task\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n copyTask\n \n \n \n \n \n \n \n copyTask(userId: EntityId, taskId: EntityId, parentParams: TaskCopyParentParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task-copy.uc.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n taskId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n parentParams\n \n TaskCopyParentParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getCopyName\n \n \n \n \n \n \n \n getCopyName(originalTaskName: string, parentCourseId: EntityId | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task-copy.uc.ts:83\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n originalTaskName\n \n string\n \n\n \n No\n \n\n\n \n \n parentCourseId\n \n EntityId | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getDestinationCourse\n \n \n \n \n \n \n \n getDestinationCourse(courseId: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task-copy.uc.ts:94\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseId\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getDestinationLesson\n \n \n \n \n \n \n \n getDestinationLesson(lessonId: string | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task-copy.uc.ts:104\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n lessonId\n \n string | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\nimport { AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { CopyHelperService, CopyStatus } from '@modules/copy-helper';\nimport { LessonService } from '@modules/lesson';\nimport { ForbiddenException, Injectable, InternalServerErrorException, NotFoundException } from '@nestjs/common';\nimport { Course, LessonEntity, Task, User } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { CourseRepo, TaskRepo } from '@shared/repo';\nimport { TaskCopyService } from '../service';\nimport { TaskCopyParentParams } from '../types';\n\n@Injectable()\nexport class TaskCopyUC {\n\tconstructor(\n\t\tprivate readonly courseRepo: CourseRepo,\n\t\tprivate readonly lessonService: LessonService,\n\t\tprivate readonly authorisation: AuthorizationService,\n\t\tprivate readonly taskCopyService: TaskCopyService,\n\t\tprivate readonly taskRepo: TaskRepo,\n\t\tprivate readonly copyHelperService: CopyHelperService\n\t) {}\n\n\tasync copyTask(userId: EntityId, taskId: EntityId, parentParams: TaskCopyParentParams): Promise {\n\t\tthis.checkFeatureEnabled();\n\n\t\t// i put it to promise all, it do not look like any more information can be expose over errors if it is called between the authorizations\n\t\t// TODO: Add try catch around it with throw BadRequest invalid data\n\t\tconst [authorizableUser, originalTask, destinationCourse]: [User, Task, Course | undefined] = await Promise.all([\n\t\t\tthis.authorisation.getUserWithPermissions(userId),\n\t\t\tthis.taskRepo.findById(taskId),\n\t\t\tthis.getDestinationCourse(parentParams.courseId),\n\t\t]);\n\n\t\tthis.checkOriginalTaskAuthorization(authorizableUser, originalTask);\n\n\t\tif (destinationCourse) {\n\t\t\tthis.checkDestinationCourseAuthorisation(authorizableUser, destinationCourse);\n\t\t}\n\n\t\t// i think getDestinationLesson can also to a promise.all on top\n\t\t// then getCopyName can be put into if (destinationCourse) {\n\t\t// but then the test need to cleanup\n\t\tconst [destinationLesson, copyName]: [LessonEntity | undefined, string | undefined] = await Promise.all([\n\t\t\tthis.getDestinationLesson(parentParams.lessonId),\n\t\t\tthis.getCopyName(originalTask.name, parentParams.courseId),\n\t\t]);\n\n\t\tif (destinationLesson) {\n\t\t\tthis.checkDestinationLessonAuthorization(authorizableUser, destinationLesson);\n\t\t}\n\n\t\tconst status = await this.taskCopyService.copyTask({\n\t\t\toriginalTaskId: originalTask.id,\n\t\t\tdestinationCourse,\n\t\t\tdestinationLesson,\n\t\t\tuser: authorizableUser,\n\t\t\tcopyName,\n\t\t});\n\n\t\treturn status;\n\t}\n\n\tprivate checkOriginalTaskAuthorization(authorizableUser: User, originalTask: Task): void {\n\t\tconst context = AuthorizationContextBuilder.read([]);\n\t\tif (!this.authorisation.hasPermission(authorizableUser, originalTask, context)) {\n\t\t\t// error message and erorr type are not correct\n\t\t\tthrow new NotFoundException('could not find task to copy');\n\t\t}\n\t}\n\n\tprivate checkDestinationCourseAuthorisation(authorizableUser: User, destinationCourse: Course): void {\n\t\tconst context = AuthorizationContextBuilder.write([]);\n\t\tthis.authorisation.checkPermission(authorizableUser, destinationCourse, context);\n\t}\n\n\tprivate checkDestinationLessonAuthorization(authorizableUser: User, destinationLesson: LessonEntity): void {\n\t\tconst context = AuthorizationContextBuilder.write([]);\n\t\tif (!this.authorisation.hasPermission(authorizableUser, destinationLesson, context)) {\n\t\t\tthrow new ForbiddenException('you dont have permission to add to this lesson');\n\t\t}\n\t}\n\n\tprivate async getCopyName(originalTaskName: string, parentCourseId: EntityId | undefined) {\n\t\tlet existingNames: string[] = [];\n\t\tif (parentCourseId) {\n\t\t\t// It should really get an task where the creatorId === '' ?\n\t\t\tconst [existingTasks] = await this.taskRepo.findBySingleParent('', parentCourseId);\n\t\t\texistingNames = existingTasks.map((t) => t.name);\n\t\t}\n\n\t\treturn this.copyHelperService.deriveCopyName(originalTaskName, existingNames);\n\t}\n\n\tprivate async getDestinationCourse(courseId: string | undefined): Promise {\n\t\tif (courseId === undefined) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst destinationCourse = await this.courseRepo.findById(courseId);\n\n\t\treturn destinationCourse;\n\t}\n\n\tprivate async getDestinationLesson(lessonId: string | undefined): Promise {\n\t\tif (lessonId === undefined) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst destinationLesson = await this.lessonService.findById(lessonId);\n\n\t\treturn destinationLesson;\n\t}\n\n\tprivate checkFeatureEnabled() {\n\t\t// This is the deprecated way to read envirement variables\n\t\tconst enabled = Configuration.get('FEATURE_COPY_SERVICE_ENABLED') as boolean;\n\t\tif (!enabled) {\n\t\t\tthrow new InternalServerErrorException('Copy Feature not enabled');\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TaskCreate.html":{"url":"interfaces/TaskCreate.html","title":"interface - TaskCreate","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TaskCreate\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/types/task.types.ts\n \n\n\n\n \n Extends\n \n \n ITask\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n courseId\n \n \n \n Optional\n \n lessonId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n courseId\n \n \n \n \n \n \n \n \n courseId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n lessonId\n \n \n \n \n \n \n \n \n lessonId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import type { Course, LessonEntity, SchoolEntity, Submission, User } from '@shared/domain/entity';\nimport type { InputFormat } from '@shared/domain/types';\n\ninterface ITask {\n\tname: string;\n\tdescription?: string;\n\tdescriptionInputFormat?: InputFormat;\n\tavailableDate?: Date;\n\tdueDate?: Date;\n}\n\nexport interface TaskUpdate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface TaskCreate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface TaskProperties extends ITask {\n\tcourse?: Course;\n\tlesson?: LessonEntity;\n\tcreator: User;\n\tschool: SchoolEntity;\n\tfinished?: User[];\n\tprivate?: boolean;\n\tsubmissions?: Submission[];\n\tpublicSubmissions?: boolean;\n\tteamSubmissions?: boolean;\n}\n\nexport interface TaskStatus {\n\tsubmitted: number;\n\tmaxSubmissions: number;\n\tgraded: number;\n\tisDraft: boolean;\n\tisSubstitutionTeacher: boolean;\n\tisFinished: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskCreateParams.html":{"url":"classes/TaskCreateParams.html","title":"class - TaskCreateParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskCreateParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/dto/task-create.params.ts\n \n\n\n\n\n \n Implements\n \n \n TaskCreate\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n availableDate\n \n \n \n \n \n \n Optional\n courseId\n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n Optional\n dueDate\n \n \n \n \n \n \n Optional\n lessonId\n \n \n \n \n \n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n availableDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsDate()@IsOptional()@ApiPropertyOptional({description: 'Date since the task is published', type: Date})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-create.params.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n courseId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsMongoId()@IsOptional()@ApiPropertyOptional({description: 'The id of an course object.', pattern: '[a-f0-9]{24}', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-create.params.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@SanitizeHtml(InputFormat.RICH_TEXT_CK5)@ApiPropertyOptional({description: 'The description of the task'})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-create.params.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n dueDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsDate()@IsOptional()@ApiPropertyOptional({description: 'Date until the task submissions can be sent', type: Date})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-create.params.ts:57\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n lessonId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsMongoId()@IsOptional()@ApiPropertyOptional({description: 'The id of an lesson object.', pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-create.params.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@SanitizeHtml()@ApiProperty({description: 'The title of the task', required: true})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-create.params.ts:33\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\nimport { InputFormat, TaskCreate } from '@shared/domain/types';\nimport { IsDate, IsMongoId, IsOptional, IsString } from 'class-validator';\n\nexport class TaskCreateParams implements TaskCreate {\n\t@IsString()\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The id of an course object.',\n\t\tpattern: '[a-f0-9]{24}',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tcourseId?: string;\n\n\t@IsString()\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The id of an lesson object.',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tlessonId?: string;\n\n\t@IsString()\n\t@SanitizeHtml()\n\t@ApiProperty({\n\t\tdescription: 'The title of the task',\n\t\trequired: true,\n\t})\n\tname!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@SanitizeHtml(InputFormat.RICH_TEXT_CK5)\n\t@ApiPropertyOptional({\n\t\tdescription: 'The description of the task',\n\t})\n\tdescription?: string;\n\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'Date since the task is published',\n\t\ttype: Date,\n\t})\n\tavailableDate?: Date;\n\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'Date until the task submissions can be sent',\n\t\ttype: Date,\n\t})\n\tdueDate?: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskFactory.html":{"url":"classes/TaskFactory.html","title":"class - TaskFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/task.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n draft\n \n \n finished\n \n \n isPlanned\n \n \n isPublished\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n draft\n \n \n \n \n \n \ndraft()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/task.factory.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n finished\n \n \n \n \n \n \nfinished(user: User)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/task.factory.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isPlanned\n \n \n \n \n \n \nisPlanned()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/task.factory.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n isPublished\n \n \n \n \n \n \nisPublished()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/task.factory.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Task, User } from '@shared/domain/entity';\nimport { TaskProperties } from '@shared/domain/types';\nimport { DeepPartial } from 'fishery';\nimport { BaseFactory } from './base.factory';\nimport { schoolFactory } from './school.factory';\nimport { userFactory } from './user.factory';\n\nconst yesterday = new Date(Date.now() - 86400000);\n\nclass TaskFactory extends BaseFactory {\n\tdraft(): this {\n\t\tconst params: DeepPartial = { private: true };\n\n\t\treturn this.params(params);\n\t}\n\n\tisPlanned(): this {\n\t\tconst params: DeepPartial = { private: false, availableDate: new Date(Date.now() + 10000) };\n\n\t\treturn this.params(params);\n\t}\n\n\tisPublished(): this {\n\t\tconst params: DeepPartial = { private: false, availableDate: new Date(Date.now() - 10000) };\n\n\t\treturn this.params(params);\n\t}\n\n\tfinished(user: User): this {\n\t\tconst params: DeepPartial = { finished: [user] };\n\t\treturn this.params(params);\n\t}\n}\n\nexport const taskFactory = TaskFactory.define(Task, ({ sequence }) => {\n\tconst school = schoolFactory.build();\n\tconst creator = userFactory.build({ school });\n\t// private is by default in constructor true, but in the most test cases we need private: false\n\treturn {\n\t\tname: `task #${sequence}`,\n\t\tprivate: false,\n\t\tavailableDate: yesterday,\n\t\tcreator,\n\t\tschool,\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskListResponse.html":{"url":"classes/TaskListResponse.html","title":"class - TaskListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/dto/task.response.ts\n \n\n\n\n \n Extends\n \n \n PaginationResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: TaskResponse[], total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:67\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n TaskResponse[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : TaskResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:74\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:14\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { DecodeHtmlEntities, PaginationResponse } from '@shared/controller';\nimport { RichText } from '@shared/domain/types';\nimport { TaskStatusResponse } from './task-status.response';\n\n/**\n * DTO for returning a task document via api.\n */\nexport class TaskResponse {\n\tconstructor({ id, name, courseName, courseId, createdAt, updatedAt, status }: TaskResponse) {\n\t\tthis.id = id;\n\t\tthis.name = name;\n\t\tthis.courseName = courseName;\n\t\tthis.courseId = courseId;\n\t\tthis.createdAt = createdAt;\n\t\tthis.updatedAt = updatedAt;\n\t\tthis.lessonHidden = false;\n\t\tthis.status = status;\n\t}\n\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tname: string;\n\n\t@ApiPropertyOptional()\n\tavailableDate?: Date;\n\n\t@ApiPropertyOptional()\n\tdueDate?: Date;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tcourseName: string = '' as string;\n\n\t@ApiPropertyOptional()\n\tlessonName?: string;\n\n\t@ApiProperty()\n\tcourseId: string = '' as string;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Task description object, with props content: string and type: input format types',\n\t\ttype: RichText,\n\t})\n\t@DecodeHtmlEntities()\n\tdescription?: RichText;\n\n\t@ApiProperty()\n\tlessonHidden: boolean;\n\n\t@ApiPropertyOptional()\n\tdisplayColor?: string;\n\n\t@ApiProperty()\n\tcreatedAt: Date;\n\n\t@ApiProperty()\n\tupdatedAt: Date;\n\n\t@ApiProperty()\n\tstatus: TaskStatusResponse;\n}\n\nexport class TaskListResponse extends PaginationResponse {\n\tconstructor(data: TaskResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [TaskResponse] })\n\tdata: TaskResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskMapper.html":{"url":"classes/TaskMapper.html","title":"class - TaskMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/mapper/task.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapTaskCreateToDomain\n \n \n Static\n mapTaskUpdateToDomain\n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapTaskCreateToDomain\n \n \n \n \n \n \n \n mapTaskCreateToDomain(params: TaskCreateParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/mapper/task.mapper.ts:55\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n TaskCreateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskCreate\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapTaskUpdateToDomain\n \n \n \n \n \n \n \n mapTaskUpdateToDomain(params: TaskUpdateParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/mapper/task.mapper.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n TaskUpdateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskUpdate\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(taskWithStatus: TaskWithStatusVo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/mapper/task.mapper.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n taskWithStatus\n \n TaskWithStatusVo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { TaskWithStatusVo } from '@shared/domain/entity';\nimport { InputFormat, RichText, TaskCreate, TaskUpdate } from '@shared/domain/types';\nimport { TaskCreateParams, TaskResponse, TaskUpdateParams } from '../controller/dto';\nimport { TaskStatusMapper } from './task-status.mapper';\n\nexport class TaskMapper {\n\tstatic mapToResponse(taskWithStatus: TaskWithStatusVo): TaskResponse {\n\t\tconst { task, status } = taskWithStatus;\n\t\tconst taskDesc = task.getParentData();\n\t\tconst statusDto = TaskStatusMapper.mapToResponse(status);\n\n\t\tconst dto = new TaskResponse({\n\t\t\tid: task.id,\n\t\t\tname: task.name,\n\t\t\tcourseName: taskDesc.courseName,\n\t\t\tcourseId: taskDesc.courseId,\n\t\t\tcreatedAt: task.createdAt,\n\t\t\tupdatedAt: task.updatedAt,\n\t\t\tlessonHidden: false,\n\t\t\tstatus: statusDto,\n\t\t});\n\t\tif (task.description) {\n\t\t\tdto.description = new RichText({\n\t\t\t\tcontent: task.description,\n\t\t\t\ttype: task.descriptionInputFormat || InputFormat.RICH_TEXT_CK4,\n\t\t\t});\n\t\t}\n\t\tdto.availableDate = task.availableDate;\n\t\tdto.dueDate = task.dueDate;\n\n\t\tdto.displayColor = taskDesc.color;\n\t\tif (taskDesc.lessonName) {\n\t\t\tdto.lessonName = taskDesc.lessonName;\n\t\t}\n\t\tdto.lessonHidden = taskDesc.lessonHidden;\n\n\t\treturn dto;\n\t}\n\n\tstatic mapTaskUpdateToDomain(params: TaskUpdateParams): TaskUpdate {\n\t\tconst dto: TaskUpdate = {\n\t\t\tname: params.name,\n\t\t\tcourseId: params.courseId,\n\t\t\tlessonId: params.lessonId,\n\t\t\tdescription: params.description,\n\t\t\tavailableDate: params.availableDate,\n\t\t\tdueDate: params.dueDate,\n\t\t};\n\t\tif (params.description) {\n\t\t\tdto.descriptionInputFormat = InputFormat.RICH_TEXT_CK5;\n\t\t}\n\t\treturn dto;\n\t}\n\n\tstatic mapTaskCreateToDomain(params: TaskCreateParams): TaskCreate {\n\t\tconst dto: TaskCreate = {\n\t\t\tname: params.name || 'Draft',\n\t\t\tcourseId: params.courseId,\n\t\t\tlessonId: params.lessonId,\n\t\t\tdescription: params.description,\n\t\t\tavailableDate: params.availableDate,\n\t\t\tdueDate: params.dueDate,\n\t\t};\n\t\tif (params.description) {\n\t\t\tdto.descriptionInputFormat = InputFormat.RICH_TEXT_CK5;\n\t\t}\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TaskModule.html":{"url":"modules/TaskModule.html","title":"module - TaskModule","body":"\n \n\n\n\n\n Modules\n TaskModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_TaskModule\n\n\n\ncluster_TaskModule_imports\n\n\n\ncluster_TaskModule_providers\n\n\n\ncluster_TaskModule_exports\n\n\n\n\nCopyHelperModule\n\nCopyHelperModule\n\n\n\nTaskModule\n\nTaskModule\n\nTaskModule -->\n\nCopyHelperModule->TaskModule\n\n\n\n\n\nFilesStorageClientModule\n\nFilesStorageClientModule\n\nTaskModule -->\n\nFilesStorageClientModule->TaskModule\n\n\n\n\n\nSubmissionService \n\nSubmissionService \n\nSubmissionService -->\n\nTaskModule->SubmissionService \n\n\n\n\n\nTaskCopyService \n\nTaskCopyService \n\nTaskCopyService -->\n\nTaskModule->TaskCopyService \n\n\n\n\n\nTaskService \n\nTaskService \n\nTaskService -->\n\nTaskModule->TaskService \n\n\n\n\n\nCourseRepo\n\nCourseRepo\n\nTaskModule -->\n\nCourseRepo->TaskModule\n\n\n\n\n\nSubmissionRepo\n\nSubmissionRepo\n\nTaskModule -->\n\nSubmissionRepo->TaskModule\n\n\n\n\n\nSubmissionService\n\nSubmissionService\n\nTaskModule -->\n\nSubmissionService->TaskModule\n\n\n\n\n\nTaskCopyService\n\nTaskCopyService\n\nTaskModule -->\n\nTaskCopyService->TaskModule\n\n\n\n\n\nTaskRepo\n\nTaskRepo\n\nTaskModule -->\n\nTaskRepo->TaskModule\n\n\n\n\n\nTaskService\n\nTaskService\n\nTaskModule -->\n\nTaskService->TaskModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/task/task.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n CourseRepo\n \n \n SubmissionRepo\n \n \n SubmissionService\n \n \n TaskCopyService\n \n \n TaskRepo\n \n \n TaskService\n \n \n \n \n Imports\n \n \n CopyHelperModule\n \n \n FilesStorageClientModule\n \n \n \n \n Exports\n \n \n SubmissionService\n \n \n TaskCopyService\n \n \n TaskService\n \n \n \n \n \n\n\n \n\n\n \n import { CopyHelperModule } from '@modules/copy-helper';\nimport { FilesStorageClientModule } from '@modules/files-storage-client';\nimport { Module } from '@nestjs/common';\nimport { CourseRepo, SubmissionRepo, TaskRepo } from '@shared/repo';\nimport { SubmissionService, TaskCopyService, TaskService } from './service';\n\n@Module({\n\timports: [FilesStorageClientModule, CopyHelperModule],\n\tproviders: [TaskService, TaskCopyService, SubmissionService, TaskRepo, CourseRepo, SubmissionRepo],\n\texports: [TaskService, TaskCopyService, SubmissionService],\n})\nexport class TaskModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TaskParent.html":{"url":"interfaces/TaskParent.html","title":"interface - TaskParent","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TaskParent\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/task.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n getStudentIds\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n getStudentIds\n \n \n \n \n \n \ngetStudentIds()\n \n \n\n\n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:35\n \n \n\n\n \n \n\n \n Returns : EntityId[]\n\n \n \n \n \n \n\n\n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { SchoolEntity } from '@shared/domain/entity/school.entity';\nimport { InputFormat } from '@shared/domain/types/input-format.types';\nimport type { EntityWithSchool } from '../interface';\nimport type { LearnroomElement } from '../interface/learnroom';\nimport type { EntityId } from '../types/entity-id';\nimport type { TaskProperties, TaskStatus } from '../types/task.types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport type { LessonEntity } from './lesson.entity';\nimport type { Submission } from './submission.entity';\nimport { User } from './user.entity';\n\nexport class TaskWithStatusVo {\n\ttask!: Task;\n\n\tstatus!: TaskStatus;\n\n\tconstructor(task: Task, status: TaskStatus) {\n\t\tthis.task = task;\n\t\tthis.status = status;\n\t}\n}\n\nexport type TaskParentDescriptions = {\n\tcourseName: string;\n\tcourseId: string;\n\tlessonName: string;\n\tlessonHidden: boolean;\n\tcolor: string;\n};\n\nexport interface TaskParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'homeworks' })\n@Index({ properties: ['private', 'dueDate', 'finished'] })\n@Index({ properties: ['id', 'private'] })\n@Index({ properties: ['finished', 'course'] })\n@Index({ properties: ['finished', 'course'] })\nexport class Task extends BaseEntityWithTimestamps implements LearnroomElement, EntityWithSchool {\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tdescription: string;\n\n\t@Property()\n\tdescriptionInputFormat: InputFormat;\n\n\t@Property({ nullable: true })\n\tavailableDate?: Date;\n\n\t@Property({ nullable: true })\n\t@Index()\n\tdueDate?: Date;\n\n\t@Property()\n\tprivate = true;\n\n\t@Property({ nullable: true })\n\tpublicSubmissions?: boolean;\n\n\t@Property({ nullable: true })\n\tteamSubmissions?: boolean;\n\n\t@Index()\n\t@ManyToOne('User', { fieldName: 'teacherId' })\n\tcreator: User;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId', nullable: true })\n\tcourse?: Course;\n\n\t@Index()\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool: SchoolEntity;\n\n\t@Index()\n\t@ManyToOne('LessonEntity', { fieldName: 'lessonId', nullable: true })\n\tlesson?: LessonEntity; // In database exist also null, but it can not set.\n\n\t@OneToMany('Submission', 'task')\n\tsubmissions = new Collection(this);\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'archived' })\n\tfinished = new Collection(this);\n\n\tconstructor(props: TaskProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.description = props.description || '';\n\t\tthis.descriptionInputFormat = props.descriptionInputFormat || InputFormat.RICH_TEXT_CK4;\n\t\tthis.availableDate = props.availableDate;\n\t\tthis.dueDate = props.dueDate;\n\n\t\tif (props.private !== undefined) this.private = props.private;\n\t\tthis.creator = props.creator;\n\t\tthis.course = props.course;\n\t\tthis.school = props.school;\n\t\tthis.lesson = props.lesson;\n\t\tthis.submissions.set(props.submissions || []);\n\t\tthis.finished.set(props.finished || []);\n\t\tthis.publicSubmissions = props.publicSubmissions || false;\n\t\tthis.teamSubmissions = props.teamSubmissions || false;\n\t}\n\n\tprivate getSubmissionItems(): Submission[] {\n\t\tif (!this.submissions || !this.submissions.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Submissions items are not loaded.');\n\t\t}\n\t\tconst submissions = this.submissions.getItems();\n\n\t\treturn submissions;\n\t}\n\n\tprivate getFinishedUserIds(): EntityId[] {\n\t\tif (!this.finished) {\n\t\t\tthrow new InternalServerErrorException('Task.finished is undefined. The task need to be populated.');\n\t\t}\n\n\t\tconst finishedObjectIds = this.finished.getIdentifiers('_id');\n\t\tconst finishedIds = finishedObjectIds.map((id): string => id.toString());\n\n\t\treturn finishedIds;\n\t}\n\n\tprivate getParent(): TaskParent | User {\n\t\tconst parent = this.lesson || this.course || this.creator;\n\n\t\treturn parent;\n\t}\n\n\tprivate getMaxSubmissions(): number {\n\t\tconst parent = this.getParent();\n\t\t// For draft (user as parent) propaly user is not a student, but for maxSubmission one is valid result\n\t\tconst maxSubmissions = parent instanceof User ? 1 : parent.getStudentIds().length;\n\n\t\treturn maxSubmissions;\n\t}\n\n\tprivate isFinishedForUser(user: User): boolean {\n\t\tconst finishedUserIds = this.getFinishedUserIds();\n\t\tconst isUserInFinishedUser = finishedUserIds.some((finishedUserId) => finishedUserId === user.id);\n\n\t\tconst isCourseFinished = this.course ? this.course.isFinished() : false;\n\n\t\tconst isFinishedForUser = isUserInFinishedUser || isCourseFinished;\n\n\t\treturn isFinishedForUser;\n\t}\n\n\tpublic isDraft(): boolean {\n\t\t// private can be undefined in the database\n\t\treturn !!this.private;\n\t}\n\n\tpublic isPublished(): boolean {\n\t\tif (this.isDraft()) {\n\t\t\treturn false;\n\t\t}\n\t\tif (this.availableDate && this.availableDate > new Date()) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tpublic isPlanned(): boolean {\n\t\tif (this.isDraft()) {\n\t\t\treturn false;\n\t\t}\n\t\tif (this.availableDate && this.availableDate > new Date()) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tprivate getSubmittedSubmissions(): Submission[] {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst submittedSubmissions = submissions.filter((submission) => submission.isSubmitted());\n\n\t\treturn submittedSubmissions;\n\t}\n\n\tpublic areSubmissionsPublic(): boolean {\n\t\tconst areSubmissionsPublic = !!this.publicSubmissions;\n\n\t\treturn areSubmissionsPublic;\n\t}\n\n\tprivate getGradedSubmissions(): Submission[] {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst gradedSubmissions = submissions.filter((submission) => submission.isGraded());\n\n\t\treturn gradedSubmissions;\n\t}\n\n\tprivate isSubmittedForUser(user: User): boolean {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst isSubmitted = submissions.some((submission) => submission.isSubmittedForUser(user));\n\n\t\treturn isSubmitted;\n\t}\n\n\tprivate isGradedForUser(user: User): boolean {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst isGraded = submissions.some((submission) => submission.isGradedForUser(user));\n\n\t\treturn isGraded;\n\t}\n\n\tprivate calculateNumberOfSubmitters(submissions: Submission[]): number {\n\t\tlet taskSubmitterIds: EntityId[] = [];\n\n\t\tsubmissions.forEach((submission) => {\n\t\t\tconst submitterIds = submission.getSubmitterIds();\n\t\t\ttaskSubmitterIds = [...taskSubmitterIds, ...submitterIds];\n\t\t});\n\n\t\tconst uniqueIds = [...new Set(taskSubmitterIds)];\n\t\tconst numberOfSubmitters = uniqueIds.length;\n\n\t\treturn numberOfSubmitters;\n\t}\n\n\tprivate isUserSubstitutionTeacherInCourse(user: User): boolean {\n\t\tconst isSubstitutionTeacher = this.course ? this.course.isUserSubstitutionTeacher(user) : false;\n\n\t\treturn isSubstitutionTeacher;\n\t}\n\n\tpublic createTeacherStatusForUser(user: User): TaskStatus {\n\t\tconst submittedSubmissions = this.getSubmittedSubmissions();\n\t\tconst gradedSubmissions = this.getGradedSubmissions();\n\n\t\tconst numberOfSubmitters = this.calculateNumberOfSubmitters(submittedSubmissions);\n\t\tconst numberOfSubmittersWithGrade = this.calculateNumberOfSubmitters(gradedSubmissions);\n\t\tconst maxSubmissions = this.getMaxSubmissions();\n\t\tconst isDraft = this.isDraft();\n\t\tconst isFinished = this.isFinishedForUser(user);\n\t\tconst isSubstitutionTeacher = this.isUserSubstitutionTeacherInCourse(user);\n\n\t\tconst status = {\n\t\t\tsubmitted: numberOfSubmitters,\n\t\t\tgraded: numberOfSubmittersWithGrade,\n\t\t\tmaxSubmissions,\n\t\t\tisDraft,\n\t\t\tisSubstitutionTeacher,\n\t\t\tisFinished,\n\t\t};\n\n\t\treturn status;\n\t}\n\n\tpublic createStudentStatusForUser(user: User): TaskStatus {\n\t\tconst isSubmitted = this.isSubmittedForUser(user);\n\t\tconst isGraded = this.isGradedForUser(user);\n\t\tconst maxSubmissions = 1;\n\t\tconst isDraft = this.isDraft();\n\t\tconst isSubstitutionTeacher = false;\n\t\tconst isFinished = this.isFinishedForUser(user);\n\n\t\tconst status = {\n\t\t\tsubmitted: isSubmitted ? 1 : 0,\n\t\t\tgraded: isGraded ? 1 : 0,\n\t\t\tmaxSubmissions,\n\t\t\tisDraft,\n\t\t\tisSubstitutionTeacher,\n\t\t\tisFinished,\n\t\t};\n\n\t\treturn status;\n\t}\n\n\t// TODO: based on the parent relationship\n\tpublic getParentData(): TaskParentDescriptions {\n\t\tlet descriptions: TaskParentDescriptions;\n\t\tif (this.course) {\n\t\t\tdescriptions = {\n\t\t\t\tcourseName: this.course.name,\n\t\t\t\tcourseId: this.course.id,\n\t\t\t\tlessonName: this.lesson ? this.lesson.name : '',\n\t\t\t\tlessonHidden: this.lesson ? this.lesson.hidden : false,\n\t\t\t\tcolor: this.course.color,\n\t\t\t};\n\t\t} else {\n\t\t\tdescriptions = {\n\t\t\t\tcourseName: '',\n\t\t\t\tcourseId: '',\n\t\t\t\tlessonName: '',\n\t\t\t\tlessonHidden: false,\n\t\t\t\tcolor: '#ACACAC',\n\t\t\t};\n\t\t}\n\n\t\treturn descriptions;\n\t}\n\n\tpublic finishForUser(user: User): void {\n\t\tthis.finished.add(user);\n\t}\n\n\tpublic restoreForUser(user: User): void {\n\t\tthis.finished.remove(user);\n\t}\n\n\tpublic getSchoolId(): EntityId {\n\t\treturn this.school.id;\n\t}\n\n\tpublic publish(): void {\n\t\tthis.private = false;\n\t\tthis.availableDate = new Date();\n\t}\n\n\tpublic unpublish(): void {\n\t\tthis.private = true;\n\t}\n}\n\nexport function isTask(reference: unknown): reference is Task {\n\treturn reference instanceof Task;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TaskProperties.html":{"url":"interfaces/TaskProperties.html","title":"interface - TaskProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TaskProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/types/task.types.ts\n \n\n\n\n \n Extends\n \n \n ITask\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n course\n \n \n \n \n creator\n \n \n \n Optional\n \n finished\n \n \n \n Optional\n \n lesson\n \n \n \n Optional\n \n private\n \n \n \n Optional\n \n publicSubmissions\n \n \n \n \n school\n \n \n \n Optional\n \n submissions\n \n \n \n Optional\n \n teamSubmissions\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n course\n \n \n \n \n \n \n \n \n course: Course\n\n \n \n\n\n \n \n Type : Course\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n creator\n \n \n \n \n \n \n \n \n creator: User\n\n \n \n\n\n \n \n Type : User\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n finished\n \n \n \n \n \n \n \n \n finished: User[]\n\n \n \n\n\n \n \n Type : User[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n lesson\n \n \n \n \n \n \n \n \n lesson: LessonEntity\n\n \n \n\n\n \n \n Type : LessonEntity\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n private\n \n \n \n \n \n \n \n \n private: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n publicSubmissions\n \n \n \n \n \n \n \n \n publicSubmissions: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n \n \n school: SchoolEntity\n\n \n \n\n\n \n \n Type : SchoolEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n submissions\n \n \n \n \n \n \n \n \n submissions: Submission[]\n\n \n \n\n\n \n \n Type : Submission[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n teamSubmissions\n \n \n \n \n \n \n \n \n teamSubmissions: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import type { Course, LessonEntity, SchoolEntity, Submission, User } from '@shared/domain/entity';\nimport type { InputFormat } from '@shared/domain/types';\n\ninterface ITask {\n\tname: string;\n\tdescription?: string;\n\tdescriptionInputFormat?: InputFormat;\n\tavailableDate?: Date;\n\tdueDate?: Date;\n}\n\nexport interface TaskUpdate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface TaskCreate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface TaskProperties extends ITask {\n\tcourse?: Course;\n\tlesson?: LessonEntity;\n\tcreator: User;\n\tschool: SchoolEntity;\n\tfinished?: User[];\n\tprivate?: boolean;\n\tsubmissions?: Submission[];\n\tpublicSubmissions?: boolean;\n\tteamSubmissions?: boolean;\n}\n\nexport interface TaskStatus {\n\tsubmitted: number;\n\tmaxSubmissions: number;\n\tgraded: number;\n\tisDraft: boolean;\n\tisSubstitutionTeacher: boolean;\n\tisFinished: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TaskRepo.html":{"url":"injectables/TaskRepo.html","title":"injectable - TaskRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TaskRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/task/task.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n createTask\n \n \n Async\n findAllByParentIds\n \n \n Async\n findAllFinishedByParentIds\n \n \n Async\n findById\n \n \n Async\n findBySingleParent\n \n \n Private\n Async\n findTasksAndCount\n \n \n Private\n Async\n populate\n \n \n create\n \n \n Async\n delete\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n createTask\n \n \n \n \n \n \n \n createTask(task: Task)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task.repo.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n task\n \n Task\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllByParentIds\n \n \n \n \n \n \n \n findAllByParentIds(parentIds: literal type, filters?: literal type, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task.repo.ts:106\n \n \n\n\n \n \n Find all tasks by their parents which can be any of\n\na teacher who owns the task\na list of courses\na list of lessons\n\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n parentIds\n \n literal type\n \n\n \n No\n \n\n\n \n parentIds for teacher, courses and lesson\n\n \n \n \n filters\n \n literal type\n \n\n \n Yes\n \n\n\n \n filters\n\n \n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n pagination, sorting\n\n \n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllFinishedByParentIds\n \n \n \n \n \n \n \n findAllFinishedByParentIds(parentIds: literal type, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task.repo.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n parentIds\n \n literal type\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findBySingleParent\n \n \n \n \n \n \n \n findBySingleParent(creatorId: EntityId, courseId: EntityId, filters?: literal type, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task.repo.ts:164\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n creatorId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n filters\n \n literal type\n \n\n \n Yes\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findTasksAndCount\n \n \n \n \n \n \n \n findTasksAndCount(query: FilterQuery, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task.repo.ts:190\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n populate\n \n \n \n \n \n \n \n populate(tasks: Task[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task.repo.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n tasks\n \n Task[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/task/task.repo.ts:11\n \n \n\n \n \n\n \n\n\n \n import { FilterQuery } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\nimport { Task } from '@shared/domain/entity';\nimport { IFindOptions, SortOrder } from '@shared/domain/interface';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '../base.repo';\nimport { TaskScope } from './task-scope';\n\n@Injectable()\nexport class TaskRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn Task;\n\t}\n\n\tprivate async populate(tasks: Task[]): Promise {\n\t\tawait this._em.populate(tasks, [\n\t\t\t'course',\n\t\t\t'lesson',\n\t\t\t'lesson.course',\n\t\t\t'lesson.courseGroup',\n\t\t\t'submissions',\n\t\t\t'submissions.courseGroup',\n\t\t]);\n\t}\n\n\tasync createTask(task: Task): Promise {\n\t\treturn this.save(this.create(task));\n\t}\n\n\tasync findById(id: EntityId): Promise {\n\t\tconst task = await super.findById(id);\n\n\t\tawait this.populate([task]);\n\n\t\treturn task;\n\t}\n\n\tasync findAllFinishedByParentIds(\n\t\tparentIds: {\n\t\t\tcreatorId: EntityId;\n\t\t\topenCourseIds: EntityId[];\n\t\t\tlessonIdsOfOpenCourses: EntityId[];\n\t\t\tfinishedCourseIds: EntityId[];\n\t\t\tlessonIdsOfFinishedCourses: EntityId[];\n\t\t},\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst scope = new TaskScope('$or');\n\n\t\tconst parentsOpen = new TaskScope('$or');\n\t\tparentsOpen.byCourseIds(parentIds.openCourseIds);\n\t\tparentsOpen.byLessonIds(parentIds.lessonIdsOfOpenCourses);\n\n\t\tconst parentsFinished = new TaskScope('$or');\n\t\tparentsFinished.byCourseIds(parentIds.finishedCourseIds);\n\t\tparentsFinished.byLessonIds(parentIds.lessonIdsOfFinishedCourses);\n\n\t\tconst closedForOpenCoursesAndLessons = new TaskScope();\n\t\tclosedForOpenCoursesAndLessons.addQuery(parentsOpen.query);\n\t\tclosedForOpenCoursesAndLessons.byDraft(false);\n\t\tclosedForOpenCoursesAndLessons.byFinished(parentIds.creatorId, true);\n\n\t\tconst allForFinishedCoursesAndLessons = new TaskScope();\n\t\tallForFinishedCoursesAndLessons.addQuery(parentsFinished.query);\n\t\tallForFinishedCoursesAndLessons.byDraft(false);\n\n\t\t// must find also closed without course or lesson as parent\n\t\tconst closedWithoutParentForCreator = new TaskScope();\n\t\tclosedWithoutParentForCreator.byFinished(parentIds.creatorId, true);\n\t\tclosedWithoutParentForCreator.byOnlyCreatorId(parentIds.creatorId);\n\n\t\tconst closedDraftsForCreator = new TaskScope();\n\t\tclosedDraftsForCreator.addQuery(parentsOpen.query);\n\t\tclosedDraftsForCreator.byFinished(parentIds.creatorId, true);\n\t\tclosedDraftsForCreator.byCreatorId(parentIds.creatorId);\n\n\t\tconst allForFinishedCoursesAndLessonsForCreator = new TaskScope();\n\t\tallForFinishedCoursesAndLessonsForCreator.addQuery(parentsFinished.query);\n\t\tallForFinishedCoursesAndLessonsForCreator.byCreatorId(parentIds.creatorId);\n\n\t\tconst allForCreator = new TaskScope('$or');\n\t\tallForCreator.addQuery(closedWithoutParentForCreator.query);\n\t\tallForCreator.addQuery(closedDraftsForCreator.query);\n\t\tallForCreator.addQuery(allForFinishedCoursesAndLessonsForCreator.query);\n\n\t\tscope.addQuery(closedForOpenCoursesAndLessons.query);\n\t\tscope.addQuery(allForFinishedCoursesAndLessons.query);\n\t\tscope.addQuery(allForCreator.query);\n\n\t\tconst countedTaskList = await this.findTasksAndCount(scope.query, options);\n\n\t\treturn countedTaskList;\n\t}\n\n\t/**\n\t * Find all tasks by their parents which can be any of\n\t * - a teacher who owns the task\n\t * - a list of courses\n\t * - a list of lessons\n\t *\n\t * @param parentIds parentIds for teacher, courses and lesson\n\t * @param filters filters\n\t * @param options pagination, sorting\n\t * @returns\n\t */\n\tasync findAllByParentIds(\n\t\tparentIds: {\n\t\t\tcreatorId?: EntityId;\n\t\t\tcourseIds?: EntityId[];\n\t\t\tlessonIds?: EntityId[];\n\t\t},\n\t\tfilters?: {\n\t\t\tafterDueDateOrNone?: Date;\n\t\t\tfinished?: { userId: EntityId; value: boolean };\n\t\t\tavailableOn?: Date;\n\t\t},\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst scope = new TaskScope();\n\n\t\tconst parentIdScope = new TaskScope('$or');\n\n\t\tif (parentIds.creatorId) {\n\t\t\tparentIdScope.byOnlyCreatorId(parentIds.creatorId);\n\t\t}\n\n\t\tif (parentIds.courseIds) {\n\t\t\tparentIdScope.byCourseIds(parentIds.courseIds);\n\t\t}\n\n\t\tif (parentIds.lessonIds) {\n\t\t\tparentIdScope.byLessonIds(parentIds.lessonIds);\n\t\t}\n\n\t\tscope.addQuery(parentIdScope.query);\n\n\t\tif (filters?.finished) {\n\t\t\tscope.byFinished(filters.finished.userId, filters.finished.value);\n\t\t}\n\n\t\tif (parentIds.creatorId) {\n\t\t\tscope.excludeDraftsOfOthers(parentIds.creatorId);\n\t\t} else {\n\t\t\tscope.byDraft(false);\n\t\t}\n\n\t\tif (filters?.afterDueDateOrNone !== undefined) {\n\t\t\tscope.afterDueDateOrNone(filters.afterDueDateOrNone);\n\t\t}\n\n\t\tif (filters?.availableOn !== undefined) {\n\t\t\tif (parentIds.creatorId) {\n\t\t\t\tscope.excludeUnavailableOfOthers(parentIds.creatorId, filters.availableOn);\n\t\t\t} else {\n\t\t\t\tscope.byAvailable(filters?.availableOn);\n\t\t\t}\n\t\t}\n\n\t\tconst countedTaskList = await this.findTasksAndCount(scope.query, options);\n\n\t\treturn countedTaskList;\n\t}\n\n\tasync findBySingleParent(\n\t\tcreatorId: EntityId,\n\t\tcourseId: EntityId,\n\t\tfilters?: { draft?: boolean; noFutureAvailableDate?: boolean },\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst scope = new TaskScope();\n\t\tscope.byCourseIds([courseId]);\n\n\t\tif (filters?.draft !== undefined) {\n\t\t\tif (filters?.draft === true) {\n\t\t\t\tscope.excludeDraftsOfOthers(creatorId);\n\t\t\t} else {\n\t\t\t\tscope.byDraft(false);\n\t\t\t}\n\t\t}\n\n\t\tif (filters?.noFutureAvailableDate !== undefined) {\n\t\t\tscope.noFutureAvailableDate();\n\t\t}\n\n\t\tconst countedTaskList = await this.findTasksAndCount(scope.query, options);\n\n\t\treturn countedTaskList;\n\t}\n\n\tprivate async findTasksAndCount(query: FilterQuery, options?: IFindOptions): Promise> {\n\t\tconst pagination = options?.pagination || {};\n\t\tconst order = options?.order || {};\n\n\t\t// In order to solve pagination missmatches we apply a default order by _id. This is necessary\n\t\t// because other fields like the dueDate can be equal or null.\n\t\t// When pagination is used, sorting takes place on every page and if ambiguous leads to unwanted results.\n\t\t// Note: Indexes for dueDate and for _id do exist but there's no combined index.\n\t\t// This is okay, because the combined index would be too expensive for the particular purpose here.\n\t\tif (order._id == null) {\n\t\t\torder._id = SortOrder.asc;\n\t\t}\n\n\t\tconst [tasks, count] = await this._em.findAndCount(Task, query, {\n\t\t\toffset: pagination?.skip,\n\t\t\tlimit: pagination?.limit,\n\t\t\torderBy: order,\n\t\t});\n\n\t\tawait this.populate(tasks);\n\n\t\treturn [tasks, count];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskResponse.html":{"url":"classes/TaskResponse.html","title":"class - TaskResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/dto/task.response.ts\n \n\n\n \n Description\n \n \n DTO for returning a task document via api.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n availableDate\n \n \n \n courseId\n \n \n \n \n courseName\n \n \n \n createdAt\n \n \n \n \n Optional\n description\n \n \n \n Optional\n displayColor\n \n \n \n Optional\n dueDate\n \n \n \n id\n \n \n \n lessonHidden\n \n \n \n Optional\n lessonName\n \n \n \n \n name\n \n \n \n status\n \n \n \n updatedAt\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: TaskResponse)\n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n TaskResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n availableDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n courseId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '' as string\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n courseName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Default value : '' as string\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:58\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : RichText\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Task description object, with props content: string and type: input format types', type: RichText})@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n displayColor\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:55\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n dueDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n lessonHidden\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:52\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n lessonName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()@DecodeHtmlEntities()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : TaskStatusResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:64\n \n \n\n\n \n \n \n \n \n \n \n \n \n updatedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.response.ts:61\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { DecodeHtmlEntities, PaginationResponse } from '@shared/controller';\nimport { RichText } from '@shared/domain/types';\nimport { TaskStatusResponse } from './task-status.response';\n\n/**\n * DTO for returning a task document via api.\n */\nexport class TaskResponse {\n\tconstructor({ id, name, courseName, courseId, createdAt, updatedAt, status }: TaskResponse) {\n\t\tthis.id = id;\n\t\tthis.name = name;\n\t\tthis.courseName = courseName;\n\t\tthis.courseId = courseId;\n\t\tthis.createdAt = createdAt;\n\t\tthis.updatedAt = updatedAt;\n\t\tthis.lessonHidden = false;\n\t\tthis.status = status;\n\t}\n\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tname: string;\n\n\t@ApiPropertyOptional()\n\tavailableDate?: Date;\n\n\t@ApiPropertyOptional()\n\tdueDate?: Date;\n\n\t@ApiProperty()\n\t@DecodeHtmlEntities()\n\tcourseName: string = '' as string;\n\n\t@ApiPropertyOptional()\n\tlessonName?: string;\n\n\t@ApiProperty()\n\tcourseId: string = '' as string;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Task description object, with props content: string and type: input format types',\n\t\ttype: RichText,\n\t})\n\t@DecodeHtmlEntities()\n\tdescription?: RichText;\n\n\t@ApiProperty()\n\tlessonHidden: boolean;\n\n\t@ApiPropertyOptional()\n\tdisplayColor?: string;\n\n\t@ApiProperty()\n\tcreatedAt: Date;\n\n\t@ApiProperty()\n\tupdatedAt: Date;\n\n\t@ApiProperty()\n\tstatus: TaskStatusResponse;\n}\n\nexport class TaskListResponse extends PaginationResponse {\n\tconstructor(data: TaskResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [TaskResponse] })\n\tdata: TaskResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TaskRule.html":{"url":"injectables/TaskRule.html","title":"injectable - TaskRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TaskRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/task.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n hasParentPermission\n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper, courseRule: CourseRule, lessonRule: LessonRule)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/task.rule.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n courseRule\n \n \n CourseRule\n \n \n \n No\n \n \n \n \n lessonRule\n \n \n LessonRule\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n hasParentPermission\n \n \n \n \n \n \n \n hasParentPermission(user: User, entity: Task, action: Action)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/task.rule.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n Task\n \n\n \n No\n \n\n\n \n \n action\n \n Action\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, entity: Task, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/task.rule.ts:22\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n Task\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, entity: Task)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/task.rule.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n Task\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { Task, User } from '@shared/domain/entity';\nimport { Action, AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\nimport { CourseRule } from './course.rule';\nimport { LessonRule } from './lesson.rule';\n\n@Injectable()\nexport class TaskRule implements Rule {\n\tconstructor(\n\t\tprivate readonly authorizationHelper: AuthorizationHelper,\n\t\tprivate readonly courseRule: CourseRule,\n\t\tprivate readonly lessonRule: LessonRule\n\t) {}\n\n\tpublic isApplicable(user: User, entity: Task): boolean {\n\t\tconst isMatched = entity instanceof Task;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, entity: Task, context: AuthorizationContext): boolean {\n\t\tlet { action } = context;\n\t\tconst { requiredPermissions } = context;\n\t\tconst hasRequiredPermission = this.authorizationHelper.hasAllPermissions(user, requiredPermissions);\n\t\tif (!hasRequiredPermission) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst isCreator = this.authorizationHelper.hasAccessToEntity(user, entity, ['creator']);\n\t\tif (entity.isDraft()) {\n\t\t\taction = Action.write;\n\t\t}\n\n\t\tconst hasParentPermission = this.hasParentPermission(user, entity, action);\n\n\t\t// TODO why parent permission has OR cond?\n\t\tconst result = isCreator || hasParentPermission;\n\n\t\treturn result;\n\t}\n\n\tprivate hasParentPermission(user: User, entity: Task, action: Action): boolean {\n\t\tif (entity.lesson) {\n\t\t\tconst hasLessonPermission = this.lessonRule.hasPermission(user, entity.lesson, {\n\t\t\t\taction,\n\t\t\t\trequiredPermissions: [],\n\t\t\t});\n\t\t\treturn hasLessonPermission;\n\t\t}\n\t\tif (entity.course) {\n\t\t\tconst hasCoursePermission = this.courseRule.hasPermission(user, entity.course, {\n\t\t\t\taction,\n\t\t\t\trequiredPermissions: [],\n\t\t\t});\n\n\t\t\treturn hasCoursePermission;\n\t\t}\n\t\treturn true;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskScope.html":{"url":"classes/TaskScope.html","title":"class - TaskScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/task/task-scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n afterDueDateOrNone\n \n \n byAvailable\n \n \n byCourseIds\n \n \n byCreatorId\n \n \n byDraft\n \n \n byFinished\n \n \n byLessonIds\n \n \n byOnlyCreatorId\n \n \n excludeDraftsOfOthers\n \n \n excludeUnavailableOfOthers\n \n \n Private\n getByDraftForCreatorQuery\n \n \n Private\n getByDraftQuery\n \n \n noFutureAvailableDate\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n afterDueDateOrNone\n \n \n \n \n \n \nafterDueDateOrNone(dueDate: Date)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:83\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n dueDate\n \n Date\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byAvailable\n \n \n \n \n \n \nbyAvailable(availableDate: Date)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:60\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n availableDate\n \n Date\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byCourseIds\n \n \n \n \n \n \nbyCourseIds(courseIds: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n courseIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byCreatorId\n \n \n \n \n \n \nbyCreatorId(creatorId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n creatorId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byDraft\n \n \n \n \n \n \nbyDraft(isDraft: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isDraft\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byFinished\n \n \n \n \n \n \nbyFinished(userId: EntityId, value: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n value\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byLessonIds\n \n \n \n \n \n \nbyLessonIds(lessonIds: EntityId[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n lessonIds\n \n EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n byOnlyCreatorId\n \n \n \n \n \n \nbyOnlyCreatorId(creatorId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n creatorId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n excludeDraftsOfOthers\n \n \n \n \n \n \nexcludeDraftsOfOthers(creatorId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n creatorId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n excludeUnavailableOfOthers\n \n \n \n \n \n \nexcludeUnavailableOfOthers(creatorId: EntityId, availableOn: Date)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n creatorId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n availableOn\n \n Date\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getByDraftForCreatorQuery\n \n \n \n \n \n \n \n getByDraftForCreatorQuery(creatorId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:95\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n creatorId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FilterQuery\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getByDraftQuery\n \n \n \n \n \n \n \n getByDraftQuery(isDraft: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:89\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isDraft\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : FilterQuery\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n noFutureAvailableDate\n \n \n \n \n \n \nnoFutureAvailableDate()\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/task/task-scope.ts:66\n \n \n\n\n \n \n\n \n Returns : TaskScope\n\n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { FilterQuery } from '@mikro-orm/core';\nimport { Task } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { Scope } from '../scope';\n\nexport class TaskScope extends Scope {\n\tbyFinished(userId: EntityId, value: boolean): TaskScope {\n\t\tif (value === true) {\n\t\t\tthis.addQuery({ finished: userId });\n\t\t} else {\n\t\t\tthis.addQuery({ finished: { $ne: userId } });\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tbyOnlyCreatorId(creatorId: EntityId): TaskScope {\n\t\tthis.addQuery({\n\t\t\t$and: [{ creator: creatorId }, { course: null }, { lesson: null }],\n\t\t});\n\n\t\treturn this;\n\t}\n\n\tbyCreatorId(creatorId: EntityId): TaskScope {\n\t\tthis.addQuery({ creator: creatorId });\n\n\t\treturn this;\n\t}\n\n\tbyCourseIds(courseIds: EntityId[]): TaskScope {\n\t\tthis.addQuery({\n\t\t\t$and: [{ course: { $in: courseIds } }, { lesson: null }],\n\t\t});\n\n\t\treturn this;\n\t}\n\n\tbyLessonIds(lessonIds: EntityId[]): TaskScope {\n\t\tthis.addQuery({ lesson: { $in: lessonIds } });\n\n\t\treturn this;\n\t}\n\n\tbyDraft(isDraft: boolean): TaskScope {\n\t\tconst query = this.getByDraftQuery(isDraft);\n\t\tthis.addQuery(query);\n\n\t\treturn this;\n\t}\n\n\texcludeDraftsOfOthers(creatorId: EntityId): TaskScope {\n\t\tthis.addQuery({\n\t\t\t$or: [this.getByDraftForCreatorQuery(creatorId), this.getByDraftQuery(false)],\n\t\t});\n\n\t\treturn this;\n\t}\n\n\tbyAvailable(availableDate: Date): TaskScope {\n\t\tthis.addQuery({ availableDate: { $lte: availableDate } });\n\n\t\treturn this;\n\t}\n\n\tnoFutureAvailableDate(): TaskScope {\n\t\tconst query = { availableDate: { $lte: new Date(Date.now()) } };\n\t\tthis.addQuery(query);\n\n\t\treturn this;\n\t}\n\n\texcludeUnavailableOfOthers(creatorId: EntityId, availableOn: Date): TaskScope {\n\t\tthis.addQuery({\n\t\t\t$or: [\n\t\t\t\t{ creator: creatorId },\n\t\t\t\t{ $and: [{ creator: { $ne: creatorId } }, { availableDate: { $lte: availableOn } }] },\n\t\t\t],\n\t\t});\n\t\treturn this;\n\t}\n\n\tafterDueDateOrNone(dueDate: Date): TaskScope {\n\t\tthis.addQuery({ $or: [{ dueDate: { $gte: dueDate } }, { dueDate: null }] });\n\n\t\treturn this;\n\t}\n\n\tprivate getByDraftQuery(isDraft: boolean): FilterQuery {\n\t\tconst query = isDraft ? { private: { $eq: true } } : { private: { $ne: true } };\n\n\t\treturn query;\n\t}\n\n\tprivate getByDraftForCreatorQuery(creatorId: EntityId): FilterQuery {\n\t\tconst query = { $and: [{ creator: creatorId }, this.getByDraftQuery(true)] };\n\n\t\treturn query;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TaskService.html":{"url":"injectables/TaskService.html","title":"injectable - TaskService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TaskService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/service/task.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n delete\n \n \n Private\n Async\n deleteSubmissions\n \n \n Async\n findById\n \n \n Async\n findBySingleParent\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(taskRepo: TaskRepo, submissionService: SubmissionService, filesStorageClientAdapterService: FilesStorageClientAdapterService)\n \n \n \n \n Defined in apps/server/src/modules/task/service/task.service.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n taskRepo\n \n \n TaskRepo\n \n \n \n No\n \n \n \n \n submissionService\n \n \n SubmissionService\n \n \n \n No\n \n \n \n \n filesStorageClientAdapterService\n \n \n FilesStorageClientAdapterService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(task: Task)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/service/task.service.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n task\n \n Task\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n deleteSubmissions\n \n \n \n \n \n \n \n deleteSubmissions(task: Task)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/service/task.service.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n task\n \n Task\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(taskId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/service/task.service.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n taskId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findBySingleParent\n \n \n \n \n \n \n \n findBySingleParent(creatorId: EntityId, courseId: EntityId, filters?: literal type, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/service/task.service.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n creatorId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n courseId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n filters\n \n literal type\n \n\n \n Yes\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { FilesStorageClientAdapterService } from '@modules/files-storage-client';\nimport { Injectable } from '@nestjs/common';\nimport { Task } from '@shared/domain/entity';\nimport { IFindOptions } from '@shared/domain/interface';\nimport { Counted, EntityId } from '@shared/domain/types';\nimport { TaskRepo } from '@shared/repo';\nimport { SubmissionService } from './submission.service';\n\n@Injectable()\nexport class TaskService {\n\tconstructor(\n\t\tprivate readonly taskRepo: TaskRepo,\n\t\tprivate readonly submissionService: SubmissionService,\n\t\tprivate readonly filesStorageClientAdapterService: FilesStorageClientAdapterService\n\t) {}\n\n\tasync findBySingleParent(\n\t\tcreatorId: EntityId,\n\t\tcourseId: EntityId,\n\t\tfilters?: { draft?: boolean; noFutureAvailableDate?: boolean },\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\treturn this.taskRepo.findBySingleParent(creatorId, courseId, filters, options);\n\t}\n\n\tasync delete(task: Task): Promise {\n\t\tawait this.filesStorageClientAdapterService.deleteFilesOfParent(task.id);\n\n\t\tawait this.deleteSubmissions(task);\n\n\t\tawait this.taskRepo.delete(task);\n\t}\n\n\tprivate async deleteSubmissions(task: Task): Promise {\n\t\tconst submissions = task.submissions.getItems();\n\t\tconst promises = submissions.map((submission) => this.submissionService.delete(submission));\n\n\t\tawait Promise.all(promises);\n\t}\n\n\tasync findById(taskId: EntityId): Promise {\n\t\treturn this.taskRepo.findById(taskId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TaskStatus.html":{"url":"interfaces/TaskStatus.html","title":"interface - TaskStatus","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TaskStatus\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/types/task.types.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n graded\n \n \n \n \n isDraft\n \n \n \n \n isFinished\n \n \n \n \n isSubstitutionTeacher\n \n \n \n \n maxSubmissions\n \n \n \n \n submitted\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n graded\n \n \n \n \n \n \n \n \n graded: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n isDraft\n \n \n \n \n \n \n \n \n isDraft: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n isFinished\n \n \n \n \n \n \n \n \n isFinished: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n isSubstitutionTeacher\n \n \n \n \n \n \n \n \n isSubstitutionTeacher: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n maxSubmissions\n \n \n \n \n \n \n \n \n maxSubmissions: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n submitted\n \n \n \n \n \n \n \n \n submitted: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import type { Course, LessonEntity, SchoolEntity, Submission, User } from '@shared/domain/entity';\nimport type { InputFormat } from '@shared/domain/types';\n\ninterface ITask {\n\tname: string;\n\tdescription?: string;\n\tdescriptionInputFormat?: InputFormat;\n\tavailableDate?: Date;\n\tdueDate?: Date;\n}\n\nexport interface TaskUpdate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface TaskCreate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface TaskProperties extends ITask {\n\tcourse?: Course;\n\tlesson?: LessonEntity;\n\tcreator: User;\n\tschool: SchoolEntity;\n\tfinished?: User[];\n\tprivate?: boolean;\n\tsubmissions?: Submission[];\n\tpublicSubmissions?: boolean;\n\tteamSubmissions?: boolean;\n}\n\nexport interface TaskStatus {\n\tsubmitted: number;\n\tmaxSubmissions: number;\n\tgraded: number;\n\tisDraft: boolean;\n\tisSubstitutionTeacher: boolean;\n\tisFinished: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskStatusMapper.html":{"url":"classes/TaskStatusMapper.html","title":"class - TaskStatusMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskStatusMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/mapper/task-status.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(status: TaskStatus)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/mapper/task-status.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n status\n \n TaskStatus\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TaskStatusResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { TaskStatus } from '@shared/domain/types';\nimport { TaskStatusResponse } from '../controller/dto/task-status.response';\n\nexport class TaskStatusMapper {\n\tstatic mapToResponse(status: TaskStatus): TaskStatusResponse {\n\t\tconst dto = new TaskStatusResponse(status);\n\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskStatusResponse.html":{"url":"classes/TaskStatusResponse.html","title":"class - TaskStatusResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskStatusResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/dto/task-status.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n graded\n \n \n \n isDraft\n \n \n \n isFinished\n \n \n \n isSubstitutionTeacher\n \n \n \n maxSubmissions\n \n \n \n submitted\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: TaskStatusResponse)\n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-status.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n TaskStatusResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n graded\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-status.response.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n isDraft\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-status.response.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n isFinished\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-status.response.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n \n isSubstitutionTeacher\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-status.response.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n \n maxSubmissions\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-status.response.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n submitted\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-status.response.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class TaskStatusResponse {\n\tconstructor({ submitted, maxSubmissions, graded, isDraft, isSubstitutionTeacher, isFinished }: TaskStatusResponse) {\n\t\tthis.submitted = submitted;\n\t\tthis.maxSubmissions = maxSubmissions;\n\t\tthis.graded = graded;\n\t\tthis.isDraft = isDraft;\n\t\tthis.isSubstitutionTeacher = isSubstitutionTeacher;\n\t\tthis.isFinished = isFinished;\n\t}\n\n\t@ApiProperty()\n\tsubmitted: number;\n\n\t@ApiProperty()\n\tmaxSubmissions: number;\n\n\t@ApiProperty()\n\tgraded: number;\n\n\t@ApiProperty()\n\tisDraft: boolean;\n\n\t@ApiProperty()\n\tisSubstitutionTeacher: boolean;\n\n\t@ApiProperty()\n\tisFinished: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TaskUC.html":{"url":"injectables/TaskUC.html","title":"injectable - TaskUC","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TaskUC\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/uc/task.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n changeFinishedForUser\n \n \n Async\n delete\n \n \n Async\n findAll\n \n \n Async\n findAllFinished\n \n \n Private\n Async\n findAllForStudent\n \n \n Private\n Async\n findAllForTeacher\n \n \n Private\n getDefaultMaxDueDate\n \n \n Private\n Async\n getPermittedCourses\n \n \n Private\n Async\n getPermittedLessons\n \n \n Async\n revertPublished\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(taskRepo: TaskRepo, authorizationService: AuthorizationService, courseRepo: CourseRepo, lessonService: LessonService, taskService: TaskService)\n \n \n \n \n Defined in apps/server/src/modules/task/uc/task.uc.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n taskRepo\n \n \n TaskRepo\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n courseRepo\n \n \n CourseRepo\n \n \n \n No\n \n \n \n \n lessonService\n \n \n LessonService\n \n \n \n No\n \n \n \n \n taskService\n \n \n TaskService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n changeFinishedForUser\n \n \n \n \n \n \n \n changeFinishedForUser(userId: EntityId, taskId: EntityId, isFinished: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.ts:77\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n taskId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n isFinished\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(userId: EntityId, taskId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.ts:217\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n taskId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAll\n \n \n \n \n \n \n \n findAll(userId: EntityId, pagination: Pagination)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.ts:61\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n pagination\n \n Pagination\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findAllFinished\n \n \n \n \n \n \n \n findAllFinished(userId: EntityId, pagination?: Pagination)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n pagination\n \n Pagination\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findAllForStudent\n \n \n \n \n \n \n \n findAllForStudent(user: User, pagination: Pagination)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.ts:118\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n pagination\n \n Pagination\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n findAllForTeacher\n \n \n \n \n \n \n \n findAllForTeacher(user: User, pagination: Pagination)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.ts:147\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n pagination\n \n Pagination\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getDefaultMaxDueDate\n \n \n \n \n \n \n \n getDefaultMaxDueDate()\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.ts:210\n \n \n\n\n \n \n\n \n Returns : Date\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getPermittedCourses\n \n \n \n \n \n \n \n getPermittedCourses(user: User, neededPermission: Action)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.ts:177\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n neededPermission\n \n Action\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getPermittedLessons\n \n \n \n \n \n \n \n getPermittedLessons(user: User, courses: Course[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.ts:189\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n courses\n \n Course[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n revertPublished\n \n \n \n \n \n \n \n revertPublished(userId: EntityId, taskId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/task/uc/task.uc.ts:102\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n taskId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Action, AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { LessonService } from '@modules/lesson';\nimport { Injectable, UnauthorizedException } from '@nestjs/common';\nimport { Course, LessonEntity, TaskWithStatusVo, User } from '@shared/domain/entity';\nimport { Pagination, Permission, SortOrder } from '@shared/domain/interface';\nimport { Counted, EntityId, TaskStatus } from '@shared/domain/types';\nimport { CourseRepo, TaskRepo } from '@shared/repo';\nimport { TaskService } from '../service';\n\n@Injectable()\nexport class TaskUC {\n\tconstructor(\n\t\tprivate readonly taskRepo: TaskRepo,\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly courseRepo: CourseRepo,\n\t\tprivate readonly lessonService: LessonService,\n\t\tprivate readonly taskService: TaskService\n\t) {}\n\n\tasync findAllFinished(userId: EntityId, pagination?: Pagination): Promise> {\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\n\t\tthis.authorizationService.checkOneOfPermissions(user, [\n\t\t\tPermission.TASK_DASHBOARD_TEACHER_VIEW_V3,\n\t\t\tPermission.TASK_DASHBOARD_VIEW_V3,\n\t\t]);\n\n\t\tconst courses = await this.getPermittedCourses(user, Action.read);\n\t\tconst lessons = await this.getPermittedLessons(user, courses);\n\n\t\tconst openCourseIds = courses.filter((c) => !c.isFinished()).map((c) => c.id);\n\t\tconst finishedCourseIds = courses.filter((c) => c.isFinished()).map((c) => c.id);\n\t\tconst lessonIdsOfOpenCourses = lessons.filter((l) => !l.course.isFinished()).map((l) => l.id);\n\t\tconst lessonIdsOfFinishedCourses = lessons.filter((l) => l.course.isFinished()).map((l) => l.id);\n\n\t\tconst [tasks, total] = await this.taskRepo.findAllFinishedByParentIds(\n\t\t\t{\n\t\t\t\tcreatorId: userId,\n\t\t\t\topenCourseIds,\n\t\t\t\tfinishedCourseIds,\n\t\t\t\tlessonIdsOfOpenCourses,\n\t\t\t\tlessonIdsOfFinishedCourses,\n\t\t\t},\n\t\t\t{ pagination, order: { dueDate: SortOrder.desc } }\n\t\t);\n\n\t\tconst taskWithStatusVos = tasks.map((task) => {\n\t\t\tlet status: TaskStatus;\n\t\t\tif (this.authorizationService.hasPermission(user, task, AuthorizationContextBuilder.write([]))) {\n\t\t\t\tstatus = task.createTeacherStatusForUser(user);\n\t\t\t} else {\n\t\t\t\tstatus = task.createStudentStatusForUser(user);\n\t\t\t}\n\n\t\t\treturn new TaskWithStatusVo(task, status);\n\t\t});\n\n\t\treturn [taskWithStatusVos, total];\n\t}\n\n\tasync findAll(userId: EntityId, pagination: Pagination): Promise> {\n\t\tlet response: Counted;\n\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\n\t\tif (this.authorizationService.hasAllPermissions(user, [Permission.TASK_DASHBOARD_VIEW_V3])) {\n\t\t\tresponse = await this.findAllForStudent(user, pagination);\n\t\t} else if (this.authorizationService.hasAllPermissions(user, [Permission.TASK_DASHBOARD_TEACHER_VIEW_V3])) {\n\t\t\tresponse = await this.findAllForTeacher(user, pagination);\n\t\t} else {\n\t\t\tthrow new UnauthorizedException();\n\t\t}\n\n\t\treturn response;\n\t}\n\n\tasync changeFinishedForUser(userId: EntityId, taskId: EntityId, isFinished: boolean): Promise {\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\t\tconst task = await this.taskRepo.findById(taskId);\n\n\t\tthis.authorizationService.checkPermission(user, task, AuthorizationContextBuilder.read([]));\n\n\t\tif (isFinished) {\n\t\t\ttask.finishForUser(user);\n\t\t} else {\n\t\t\ttask.restoreForUser(user);\n\t\t}\n\t\tawait this.taskRepo.save(task);\n\n\t\t// TODO fix student case - why have student as fallback?\n\t\t// should be based on permission too and use this.createStatus() instead\n\t\t// add status\n\t\tconst status = this.authorizationService.hasOneOfPermissions(user, [Permission.TASK_DASHBOARD_TEACHER_VIEW_V3])\n\t\t\t? task.createTeacherStatusForUser(user)\n\t\t\t: task.createStudentStatusForUser(user);\n\n\t\tconst result = new TaskWithStatusVo(task, status);\n\n\t\treturn result;\n\t}\n\n\tasync revertPublished(userId: EntityId, taskId: EntityId): Promise {\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\t\tconst task = await this.taskRepo.findById(taskId);\n\n\t\tthis.authorizationService.checkPermission(user, task, AuthorizationContextBuilder.write([]));\n\n\t\ttask.unpublish();\n\t\tawait this.taskRepo.save(task);\n\n\t\tconst status = task.createTeacherStatusForUser(user);\n\n\t\tconst result = new TaskWithStatusVo(task, status);\n\n\t\treturn result;\n\t}\n\n\tprivate async findAllForStudent(user: User, pagination: Pagination): Promise> {\n\t\tconst courses = await this.getPermittedCourses(user, Action.read);\n\t\tconst openCourses = courses.filter((c) => !c.isFinished());\n\t\tconst lessons = await this.getPermittedLessons(user, openCourses);\n\n\t\tconst dueDate = this.getDefaultMaxDueDate();\n\t\tconst notFinished = { userId: user.id, value: false };\n\n\t\tconst [tasks, total] = await this.taskRepo.findAllByParentIds(\n\t\t\t{\n\t\t\t\tcreatorId: user.id,\n\t\t\t\tcourseIds: openCourses.map((c) => c.id),\n\t\t\t\tlessonIds: lessons.map((l) => l.id),\n\t\t\t},\n\t\t\t{ afterDueDateOrNone: dueDate, finished: notFinished, availableOn: new Date() },\n\t\t\t{\n\t\t\t\tpagination,\n\t\t\t\torder: { dueDate: SortOrder.asc },\n\t\t\t}\n\t\t);\n\n\t\tconst taskWithStatusVos = tasks.map((task) => {\n\t\t\tconst status = task.createStudentStatusForUser(user);\n\t\t\treturn new TaskWithStatusVo(task, status);\n\t\t});\n\n\t\treturn [taskWithStatusVos, total];\n\t}\n\n\tprivate async findAllForTeacher(user: User, pagination: Pagination): Promise> {\n\t\tconst courses = await this.getPermittedCourses(user, Action.write);\n\t\tconst openCourses = courses.filter((c) => !c.isFinished());\n\t\tconst lessons = await this.getPermittedLessons(user, openCourses);\n\n\t\tconst notFinished = { userId: user.id, value: false };\n\n\t\tconst [tasks, total] = await this.taskRepo.findAllByParentIds(\n\t\t\t{\n\t\t\t\tcreatorId: user.id,\n\t\t\t\tcourseIds: openCourses.map((c) => c.id),\n\t\t\t\tlessonIds: lessons.map((l) => l.id),\n\t\t\t},\n\t\t\t{ finished: notFinished, availableOn: new Date() },\n\t\t\t{\n\t\t\t\tpagination,\n\t\t\t\torder: { dueDate: SortOrder.desc },\n\t\t\t}\n\t\t);\n\n\t\tconst taskWithStatusVos = tasks.map((task) => {\n\t\t\tconst status = task.createTeacherStatusForUser(user);\n\t\t\treturn new TaskWithStatusVo(task, status);\n\t\t});\n\n\t\treturn [taskWithStatusVos, total];\n\t}\n\n\t// it should return also the scopePermissions for this user added to the entity .scopePermission: { userId, read: boolean, write: boolean }\n\t// then we can pass and allow only scoped courses to getPermittedLessonIds and validate read write of .scopePermission\n\tprivate async getPermittedCourses(user: User, neededPermission: Action): Promise {\n\t\tlet permittedCourses: Course[] = [];\n\n\t\tif (neededPermission === Action.write) {\n\t\t\t[permittedCourses] = await this.courseRepo.findAllForTeacherOrSubstituteTeacher(user.id);\n\t\t} else if (neededPermission === Action.read) {\n\t\t\t[permittedCourses] = await this.courseRepo.findAllByUserId(user.id);\n\t\t}\n\n\t\treturn permittedCourses;\n\t}\n\n\tprivate async getPermittedLessons(user: User, courses: Course[]): Promise {\n\t\tconst writeCourses = courses.filter((c) =>\n\t\t\tthis.authorizationService.hasPermission(user, c, AuthorizationContextBuilder.write([]))\n\t\t);\n\t\tconst readCourses = courses.filter((c) => !writeCourses.includes(c));\n\n\t\tconst writeCourseIds = writeCourses.map((c) => c.id);\n\t\tconst readCourseIds = readCourses.map((c) => c.id);\n\n\t\t// idea as combined query:\n\t\t// [{courseIds: onlyWriteCoursesIds}, { courseIds: onlyReadCourses, filter: { hidden: false }}]\n\t\tconst [[writeLessons], [readLessons]] = await Promise.all([\n\t\t\tthis.lessonService.findByCourseIds(writeCourseIds),\n\t\t\tthis.lessonService.findByCourseIds(readCourseIds, { hidden: false }),\n\t\t]);\n\n\t\tconst permittedLessons = [...writeLessons, ...readLessons];\n\n\t\treturn permittedLessons;\n\t}\n\n\tprivate getDefaultMaxDueDate(): Date {\n\t\tconst oneWeekAgo = new Date();\n\t\toneWeekAgo.setDate(oneWeekAgo.getDate() - 7);\n\n\t\treturn oneWeekAgo;\n\t}\n\n\tasync delete(userId: EntityId, taskId: EntityId): Promise {\n\t\tconst user = await this.authorizationService.getUserWithPermissions(userId);\n\t\tconst task = await this.taskRepo.findById(taskId);\n\n\t\tthis.authorizationService.checkPermission(user, task, AuthorizationContextBuilder.write([]));\n\n\t\tawait this.taskService.delete(task);\n\n\t\treturn true;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TaskUpdate.html":{"url":"interfaces/TaskUpdate.html","title":"interface - TaskUpdate","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TaskUpdate\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/types/task.types.ts\n \n\n\n\n \n Extends\n \n \n ITask\n \n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n courseId\n \n \n \n Optional\n \n lessonId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n courseId\n \n \n \n \n \n \n \n \n courseId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n lessonId\n \n \n \n \n \n \n \n \n lessonId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import type { Course, LessonEntity, SchoolEntity, Submission, User } from '@shared/domain/entity';\nimport type { InputFormat } from '@shared/domain/types';\n\ninterface ITask {\n\tname: string;\n\tdescription?: string;\n\tdescriptionInputFormat?: InputFormat;\n\tavailableDate?: Date;\n\tdueDate?: Date;\n}\n\nexport interface TaskUpdate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface TaskCreate extends ITask {\n\tcourseId?: string;\n\tlessonId?: string;\n}\n\nexport interface TaskProperties extends ITask {\n\tcourse?: Course;\n\tlesson?: LessonEntity;\n\tcreator: User;\n\tschool: SchoolEntity;\n\tfinished?: User[];\n\tprivate?: boolean;\n\tsubmissions?: Submission[];\n\tpublicSubmissions?: boolean;\n\tteamSubmissions?: boolean;\n}\n\nexport interface TaskStatus {\n\tsubmitted: number;\n\tmaxSubmissions: number;\n\tgraded: number;\n\tisDraft: boolean;\n\tisSubstitutionTeacher: boolean;\n\tisFinished: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskUpdateParams.html":{"url":"classes/TaskUpdateParams.html","title":"class - TaskUpdateParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskUpdateParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/dto/task-update.params.ts\n \n\n\n\n\n \n Implements\n \n \n TaskUpdate\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n availableDate\n \n \n \n \n \n \n Optional\n courseId\n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n Optional\n dueDate\n \n \n \n \n \n \n Optional\n lessonId\n \n \n \n \n \n name\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n availableDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsDate()@IsOptional()@ApiPropertyOptional({description: 'Date since the task is published', type: Date})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-update.params.ts:49\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n courseId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsMongoId()@IsOptional()@ApiPropertyOptional({description: 'The id of an course object.', pattern: '[a-f0-9]{24}', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-update.params.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n description\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsOptional()@SanitizeHtml(InputFormat.RICH_TEXT_CK5)@ApiPropertyOptional({description: 'The description of the task'})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-update.params.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n dueDate\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsDate()@IsOptional()@ApiPropertyOptional({description: 'Date until the task submissions can be sent', type: Date})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-update.params.ts:57\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n Optional\n lessonId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@IsMongoId()@IsOptional()@ApiPropertyOptional({description: 'The id of an lesson object.', pattern: '[a-f0-9]{24}'})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-update.params.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@SanitizeHtml()@ApiProperty({description: 'The title of the task', required: true})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task-update.params.ts:33\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\nimport { InputFormat, TaskUpdate } from '@shared/domain/types';\nimport { IsDate, IsMongoId, IsOptional, IsString } from 'class-validator';\n\nexport class TaskUpdateParams implements TaskUpdate {\n\t@IsString()\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The id of an course object.',\n\t\tpattern: '[a-f0-9]{24}',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tcourseId?: string;\n\n\t@IsString()\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The id of an lesson object.',\n\t\tpattern: '[a-f0-9]{24}',\n\t})\n\tlessonId?: string;\n\n\t@IsString()\n\t@SanitizeHtml()\n\t@ApiProperty({\n\t\tdescription: 'The title of the task',\n\t\trequired: true,\n\t})\n\tname!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@SanitizeHtml(InputFormat.RICH_TEXT_CK5)\n\t@ApiPropertyOptional({\n\t\tdescription: 'The description of the task',\n\t})\n\tdescription?: string;\n\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'Date since the task is published',\n\t\ttype: Date,\n\t})\n\tavailableDate?: Date;\n\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'Date until the task submissions can be sent',\n\t\ttype: Date,\n\t})\n\tdueDate?: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TaskUrlHandler.html":{"url":"injectables/TaskUrlHandler.html","title":"injectable - TaskUrlHandler","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TaskUrlHandler\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/service/url-handler/task-url-handler.ts\n \n\n\n\n \n Extends\n \n \n AbstractUrlHandler\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n patterns\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getMetaData\n \n \n doesUrlMatch\n \n \n Protected\n extractId\n \n \n getDefaultMetaData\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(taskService: TaskService)\n \n \n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/task-url-handler.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n taskService\n \n \n TaskService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getMetaData\n \n \n \n \n \n \n \n getMetaData(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/service/url-handler/task-url-handler.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n doesUrlMatch\n \n \n \n \n \n \ndoesUrlMatch(url: string)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n extractId\n \n \n \n \n \n \n \n extractId(url: string)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string | undefined\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getDefaultMetaData\n \n \n \n \n \n \ngetDefaultMetaData(url: string, partial: Partial)\n \n \n\n\n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n partial\n \n Partial\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : MetaData\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n patterns\n \n \n \n \n \n \n Type : RegExp[]\n\n \n \n \n \n Default value : [/\\/homework\\/([0-9a-z]+)$/i]\n \n \n \n \n Inherited from AbstractUrlHandler\n\n \n \n \n \n Defined in AbstractUrlHandler:9\n\n \n \n\n\n \n \n\n\n \n\n\n \n import { TaskService } from '@modules/task';\nimport { Injectable } from '@nestjs/common';\nimport type { UrlHandler } from '../../interface/url-handler';\nimport { MetaData } from '../../types';\nimport { AbstractUrlHandler } from './abstract-url-handler';\n\n@Injectable()\nexport class TaskUrlHandler extends AbstractUrlHandler implements UrlHandler {\n\tpatterns: RegExp[] = [/\\/homework\\/([0-9a-z]+)$/i];\n\n\tconstructor(private readonly taskService: TaskService) {\n\t\tsuper();\n\t}\n\n\tasync getMetaData(url: string): Promise {\n\t\tconst id = this.extractId(url);\n\t\tif (id === undefined) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst metaData = this.getDefaultMetaData(url, { type: 'task' });\n\t\tconst task = await this.taskService.findById(id);\n\t\tif (task) {\n\t\t\tmetaData.title = task.name;\n\t\t}\n\n\t\treturn metaData;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskUrlParams.html":{"url":"classes/TaskUrlParams.html","title":"class - TaskUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/task/controller/dto/task.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n taskId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n taskId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the task.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/task/controller/dto/task.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class TaskUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the task.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\ttaskId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TaskWithStatusVo.html":{"url":"classes/TaskWithStatusVo.html","title":"class - TaskWithStatusVo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TaskWithStatusVo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/task.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n status\n \n \n task\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(task: Task, status: TaskStatus)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n task\n \n \n Task\n \n \n \n No\n \n \n \n \n status\n \n \n TaskStatus\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : TaskStatus\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n task\n \n \n \n \n \n \n Type : Task\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/task.entity.ts:16\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Collection, Entity, Index, ManyToMany, ManyToOne, OneToMany, Property } from '@mikro-orm/core';\nimport { InternalServerErrorException } from '@nestjs/common';\nimport { SchoolEntity } from '@shared/domain/entity/school.entity';\nimport { InputFormat } from '@shared/domain/types/input-format.types';\nimport type { EntityWithSchool } from '../interface';\nimport type { LearnroomElement } from '../interface/learnroom';\nimport type { EntityId } from '../types/entity-id';\nimport type { TaskProperties, TaskStatus } from '../types/task.types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport type { LessonEntity } from './lesson.entity';\nimport type { Submission } from './submission.entity';\nimport { User } from './user.entity';\n\nexport class TaskWithStatusVo {\n\ttask!: Task;\n\n\tstatus!: TaskStatus;\n\n\tconstructor(task: Task, status: TaskStatus) {\n\t\tthis.task = task;\n\t\tthis.status = status;\n\t}\n}\n\nexport type TaskParentDescriptions = {\n\tcourseName: string;\n\tcourseId: string;\n\tlessonName: string;\n\tlessonHidden: boolean;\n\tcolor: string;\n};\n\nexport interface TaskParent {\n\tgetStudentIds(): EntityId[];\n}\n\n@Entity({ tableName: 'homeworks' })\n@Index({ properties: ['private', 'dueDate', 'finished'] })\n@Index({ properties: ['id', 'private'] })\n@Index({ properties: ['finished', 'course'] })\n@Index({ properties: ['finished', 'course'] })\nexport class Task extends BaseEntityWithTimestamps implements LearnroomElement, EntityWithSchool {\n\t@Property()\n\tname: string;\n\n\t@Property()\n\tdescription: string;\n\n\t@Property()\n\tdescriptionInputFormat: InputFormat;\n\n\t@Property({ nullable: true })\n\tavailableDate?: Date;\n\n\t@Property({ nullable: true })\n\t@Index()\n\tdueDate?: Date;\n\n\t@Property()\n\tprivate = true;\n\n\t@Property({ nullable: true })\n\tpublicSubmissions?: boolean;\n\n\t@Property({ nullable: true })\n\tteamSubmissions?: boolean;\n\n\t@Index()\n\t@ManyToOne('User', { fieldName: 'teacherId' })\n\tcreator: User;\n\n\t@Index()\n\t@ManyToOne('Course', { fieldName: 'courseId', nullable: true })\n\tcourse?: Course;\n\n\t@Index()\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool: SchoolEntity;\n\n\t@Index()\n\t@ManyToOne('LessonEntity', { fieldName: 'lessonId', nullable: true })\n\tlesson?: LessonEntity; // In database exist also null, but it can not set.\n\n\t@OneToMany('Submission', 'task')\n\tsubmissions = new Collection(this);\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'archived' })\n\tfinished = new Collection(this);\n\n\tconstructor(props: TaskProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.description = props.description || '';\n\t\tthis.descriptionInputFormat = props.descriptionInputFormat || InputFormat.RICH_TEXT_CK4;\n\t\tthis.availableDate = props.availableDate;\n\t\tthis.dueDate = props.dueDate;\n\n\t\tif (props.private !== undefined) this.private = props.private;\n\t\tthis.creator = props.creator;\n\t\tthis.course = props.course;\n\t\tthis.school = props.school;\n\t\tthis.lesson = props.lesson;\n\t\tthis.submissions.set(props.submissions || []);\n\t\tthis.finished.set(props.finished || []);\n\t\tthis.publicSubmissions = props.publicSubmissions || false;\n\t\tthis.teamSubmissions = props.teamSubmissions || false;\n\t}\n\n\tprivate getSubmissionItems(): Submission[] {\n\t\tif (!this.submissions || !this.submissions.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Submissions items are not loaded.');\n\t\t}\n\t\tconst submissions = this.submissions.getItems();\n\n\t\treturn submissions;\n\t}\n\n\tprivate getFinishedUserIds(): EntityId[] {\n\t\tif (!this.finished) {\n\t\t\tthrow new InternalServerErrorException('Task.finished is undefined. The task need to be populated.');\n\t\t}\n\n\t\tconst finishedObjectIds = this.finished.getIdentifiers('_id');\n\t\tconst finishedIds = finishedObjectIds.map((id): string => id.toString());\n\n\t\treturn finishedIds;\n\t}\n\n\tprivate getParent(): TaskParent | User {\n\t\tconst parent = this.lesson || this.course || this.creator;\n\n\t\treturn parent;\n\t}\n\n\tprivate getMaxSubmissions(): number {\n\t\tconst parent = this.getParent();\n\t\t// For draft (user as parent) propaly user is not a student, but for maxSubmission one is valid result\n\t\tconst maxSubmissions = parent instanceof User ? 1 : parent.getStudentIds().length;\n\n\t\treturn maxSubmissions;\n\t}\n\n\tprivate isFinishedForUser(user: User): boolean {\n\t\tconst finishedUserIds = this.getFinishedUserIds();\n\t\tconst isUserInFinishedUser = finishedUserIds.some((finishedUserId) => finishedUserId === user.id);\n\n\t\tconst isCourseFinished = this.course ? this.course.isFinished() : false;\n\n\t\tconst isFinishedForUser = isUserInFinishedUser || isCourseFinished;\n\n\t\treturn isFinishedForUser;\n\t}\n\n\tpublic isDraft(): boolean {\n\t\t// private can be undefined in the database\n\t\treturn !!this.private;\n\t}\n\n\tpublic isPublished(): boolean {\n\t\tif (this.isDraft()) {\n\t\t\treturn false;\n\t\t}\n\t\tif (this.availableDate && this.availableDate > new Date()) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\tpublic isPlanned(): boolean {\n\t\tif (this.isDraft()) {\n\t\t\treturn false;\n\t\t}\n\t\tif (this.availableDate && this.availableDate > new Date()) {\n\t\t\treturn true;\n\t\t}\n\n\t\treturn false;\n\t}\n\n\tprivate getSubmittedSubmissions(): Submission[] {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst submittedSubmissions = submissions.filter((submission) => submission.isSubmitted());\n\n\t\treturn submittedSubmissions;\n\t}\n\n\tpublic areSubmissionsPublic(): boolean {\n\t\tconst areSubmissionsPublic = !!this.publicSubmissions;\n\n\t\treturn areSubmissionsPublic;\n\t}\n\n\tprivate getGradedSubmissions(): Submission[] {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst gradedSubmissions = submissions.filter((submission) => submission.isGraded());\n\n\t\treturn gradedSubmissions;\n\t}\n\n\tprivate isSubmittedForUser(user: User): boolean {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst isSubmitted = submissions.some((submission) => submission.isSubmittedForUser(user));\n\n\t\treturn isSubmitted;\n\t}\n\n\tprivate isGradedForUser(user: User): boolean {\n\t\tconst submissions = this.getSubmissionItems();\n\t\tconst isGraded = submissions.some((submission) => submission.isGradedForUser(user));\n\n\t\treturn isGraded;\n\t}\n\n\tprivate calculateNumberOfSubmitters(submissions: Submission[]): number {\n\t\tlet taskSubmitterIds: EntityId[] = [];\n\n\t\tsubmissions.forEach((submission) => {\n\t\t\tconst submitterIds = submission.getSubmitterIds();\n\t\t\ttaskSubmitterIds = [...taskSubmitterIds, ...submitterIds];\n\t\t});\n\n\t\tconst uniqueIds = [...new Set(taskSubmitterIds)];\n\t\tconst numberOfSubmitters = uniqueIds.length;\n\n\t\treturn numberOfSubmitters;\n\t}\n\n\tprivate isUserSubstitutionTeacherInCourse(user: User): boolean {\n\t\tconst isSubstitutionTeacher = this.course ? this.course.isUserSubstitutionTeacher(user) : false;\n\n\t\treturn isSubstitutionTeacher;\n\t}\n\n\tpublic createTeacherStatusForUser(user: User): TaskStatus {\n\t\tconst submittedSubmissions = this.getSubmittedSubmissions();\n\t\tconst gradedSubmissions = this.getGradedSubmissions();\n\n\t\tconst numberOfSubmitters = this.calculateNumberOfSubmitters(submittedSubmissions);\n\t\tconst numberOfSubmittersWithGrade = this.calculateNumberOfSubmitters(gradedSubmissions);\n\t\tconst maxSubmissions = this.getMaxSubmissions();\n\t\tconst isDraft = this.isDraft();\n\t\tconst isFinished = this.isFinishedForUser(user);\n\t\tconst isSubstitutionTeacher = this.isUserSubstitutionTeacherInCourse(user);\n\n\t\tconst status = {\n\t\t\tsubmitted: numberOfSubmitters,\n\t\t\tgraded: numberOfSubmittersWithGrade,\n\t\t\tmaxSubmissions,\n\t\t\tisDraft,\n\t\t\tisSubstitutionTeacher,\n\t\t\tisFinished,\n\t\t};\n\n\t\treturn status;\n\t}\n\n\tpublic createStudentStatusForUser(user: User): TaskStatus {\n\t\tconst isSubmitted = this.isSubmittedForUser(user);\n\t\tconst isGraded = this.isGradedForUser(user);\n\t\tconst maxSubmissions = 1;\n\t\tconst isDraft = this.isDraft();\n\t\tconst isSubstitutionTeacher = false;\n\t\tconst isFinished = this.isFinishedForUser(user);\n\n\t\tconst status = {\n\t\t\tsubmitted: isSubmitted ? 1 : 0,\n\t\t\tgraded: isGraded ? 1 : 0,\n\t\t\tmaxSubmissions,\n\t\t\tisDraft,\n\t\t\tisSubstitutionTeacher,\n\t\t\tisFinished,\n\t\t};\n\n\t\treturn status;\n\t}\n\n\t// TODO: based on the parent relationship\n\tpublic getParentData(): TaskParentDescriptions {\n\t\tlet descriptions: TaskParentDescriptions;\n\t\tif (this.course) {\n\t\t\tdescriptions = {\n\t\t\t\tcourseName: this.course.name,\n\t\t\t\tcourseId: this.course.id,\n\t\t\t\tlessonName: this.lesson ? this.lesson.name : '',\n\t\t\t\tlessonHidden: this.lesson ? this.lesson.hidden : false,\n\t\t\t\tcolor: this.course.color,\n\t\t\t};\n\t\t} else {\n\t\t\tdescriptions = {\n\t\t\t\tcourseName: '',\n\t\t\t\tcourseId: '',\n\t\t\t\tlessonName: '',\n\t\t\t\tlessonHidden: false,\n\t\t\t\tcolor: '#ACACAC',\n\t\t\t};\n\t\t}\n\n\t\treturn descriptions;\n\t}\n\n\tpublic finishForUser(user: User): void {\n\t\tthis.finished.add(user);\n\t}\n\n\tpublic restoreForUser(user: User): void {\n\t\tthis.finished.remove(user);\n\t}\n\n\tpublic getSchoolId(): EntityId {\n\t\treturn this.school.id;\n\t}\n\n\tpublic publish(): void {\n\t\tthis.private = false;\n\t\tthis.availableDate = new Date();\n\t}\n\n\tpublic unpublish(): void {\n\t\tthis.private = true;\n\t}\n}\n\nexport function isTask(reference: unknown): reference is Task {\n\treturn reference instanceof Task;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TeamDto.html":{"url":"classes/TeamDto.html","title":"class - TeamDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TeamDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/collaborative-storage/services/dto/team.dto.ts\n \n\n\n \n Description\n \n \n TODO\nThis DTO and all associated functionality should be moved to a general teams module once it has been created\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n id\n \n \n name\n \n \n teamUsers\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: TeamDto)\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team.dto.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n TeamDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team.dto.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team.dto.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n teamUsers\n \n \n \n \n \n \n Type : TeamUserDto[]\n\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team.dto.ts:13\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\n\n/**\n * TODO\n * This DTO and all associated functionality should be moved to a general teams module once it has been created\n */\n\nexport class TeamDto {\n\tid: EntityId;\n\n\tname: string;\n\n\tteamUsers: TeamUserDto[];\n\n\tconstructor(props: TeamDto) {\n\t\tthis.id = props.id;\n\t\tthis.name = props.name;\n\t\tthis.teamUsers = props.teamUsers;\n\t}\n}\n\nexport class TeamUserDto {\n\tuserId: string;\n\n\troleId: string;\n\n\tschoolId: string;\n\n\tconstructor(props: TeamUserDto) {\n\t\tthis.userId = props.userId;\n\t\tthis.roleId = props.roleId;\n\t\tthis.schoolId = props.schoolId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/TeamEntity.html":{"url":"entities/TeamEntity.html","title":"entity - TeamEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n TeamEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/team.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n name\n \n \n \n userIds\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/team.entity.ts:56\n \n \n\n\n \n \n \n \n \n \n \n \n \n userIds\n \n \n \n \n \n \n Type : TeamUserEntity[]\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {array: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/team.entity.ts:59\n \n \n\n\n \n \n\n \n\n\n \n import { Embeddable, Embedded, Entity, ManyToOne, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { Role } from './role.entity';\nimport { SchoolEntity } from './school.entity';\nimport { User } from './user.entity';\n\nexport interface TeamProperties {\n\tname: string;\n\tteamUsers?: TeamUserEntity[];\n}\n\nexport interface TeamUserProperties {\n\tuser: User;\n\trole: Role;\n\tschool: SchoolEntity;\n}\n\n@Embeddable()\nexport class TeamUserEntity {\n\tconstructor(props: TeamUserProperties) {\n\t\tthis.userId = props.user;\n\t\tthis.role = props.role;\n\t\tthis.schoolId = props.school;\n\t}\n\n\t@ManyToOne(() => User)\n\tuserId: User;\n\n\t@ManyToOne(() => Role)\n\trole: Role;\n\n\t@ManyToOne(() => SchoolEntity)\n\tprivate schoolId: SchoolEntity;\n\n\t// fieldName cannot be used in ManyToOne on Embeddable due to a mikro-orm bug (https://github.com/mikro-orm/mikro-orm/issues/2165)\n\tget user(): User {\n\t\treturn this.userId;\n\t}\n\n\tset user(value: User) {\n\t\tthis.userId = value;\n\t}\n\n\tget school(): SchoolEntity {\n\t\treturn this.schoolId;\n\t}\n\n\tset school(value: SchoolEntity) {\n\t\tthis.schoolId = value;\n\t}\n}\n\n@Entity({ tableName: 'teams' })\nexport class TeamEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tname: string;\n\n\t@Embedded(() => TeamUserEntity, { array: true })\n\tuserIds: TeamUserEntity[];\n\n\tget teamUsers(): TeamUserEntity[] {\n\t\treturn this.userIds;\n\t}\n\n\tset teamUsers(value: TeamUserEntity[]) {\n\t\tthis.userIds = value;\n\t}\n\n\tconstructor(props: TeamProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.userIds = props.teamUsers ? props.teamUsers.map((teamUser) => new TeamUserEntity(teamUser)) : [];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TeamFactory.html":{"url":"classes/TeamFactory.html","title":"class - TeamFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TeamFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/team.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withRoleAndUserId\n \n \n withTeamUser\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withRoleAndUserId\n \n \n \n \n \n \nwithRoleAndUserId(role: Role, userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/team.factory.ts:7\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n role\n \n Role\n \n\n \n No\n \n\n\n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withTeamUser\n \n \n \n \n \n \nwithTeamUser(teamUser: TeamUserEntity[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/team.factory.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n teamUser\n \n TeamUserEntity[]\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Role, TeamEntity, TeamProperties, TeamUserEntity } from '@shared/domain/entity';\nimport { BaseFactory } from '@shared/testing/factory/base.factory';\nimport { teamUserFactory } from '@shared/testing/factory/teamuser.factory';\nimport { DeepPartial } from 'fishery';\n\nclass TeamFactory extends BaseFactory {\n\twithRoleAndUserId(role: Role, userId: string): this {\n\t\tconst params: DeepPartial = {\n\t\t\tteamUsers: [teamUserFactory.withRoleAndUserId(role, userId).buildWithId()],\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithTeamUser(teamUser: TeamUserEntity[]): this {\n\t\tconst params: DeepPartial = {\n\t\t\tteamUsers: teamUser,\n\t\t};\n\t\treturn this.params(params);\n\t}\n}\n\nexport const teamFactory = TeamFactory.define(TeamEntity, ({ sequence }) => {\n\treturn {\n\t\tname: `team #${sequence}`,\n\t\tteamUsers: [teamUserFactory.buildWithId()],\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TeamMapper.html":{"url":"injectables/TeamMapper.html","title":"injectable - TeamMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TeamMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/collaborative-storage/mapper/team.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n mapEntityToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n mapEntityToDto\n \n \n \n \n \n \n \n mapEntityToDto(teamEntity: TeamEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/collaborative-storage/mapper/team.mapper.ts:12\n \n \n\n\n \n \n Maps a Team Entity to the ServiceDTO\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n teamEntity\n \n TeamEntity\n \n\n \n No\n \n\n\n \n The Entity\n\n \n \n \n \n \n \n Returns : TeamDto\n\n \n \n The Dto\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { TeamEntity, TeamUserEntity } from '@shared/domain/entity';\nimport { TeamDto, TeamUserDto } from '../services/dto/team.dto';\n\n@Injectable()\nexport class TeamMapper {\n\t/**\n\t * Maps a Team Entity to the ServiceDTO\n\t * @param teamEntity The Entity\n\t * @return The Dto\n\t */\n\tpublic mapEntityToDto(teamEntity: TeamEntity): TeamDto {\n\t\tconst teamUsers: TeamUserDto[] = teamEntity.teamUsers.map(\n\t\t\t(teamUser: TeamUserEntity) =>\n\t\t\t\tnew TeamUserDto({\n\t\t\t\t\tuserId: teamUser.user.id,\n\t\t\t\t\troleId: teamUser.role.id,\n\t\t\t\t\tschoolId: teamUser.school.id,\n\t\t\t\t})\n\t\t);\n\t\treturn new TeamDto({ id: teamEntity.id, name: teamEntity.name, teamUsers });\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/TeamNews.html":{"url":"entities/TeamNews.html","title":"entity - TeamNews","body":"\n \n\n\n\n\n\n\n\n Entities\n TeamNews\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/news.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n target\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : TeamEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne('TeamEntity')\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/news.entity.ts:127\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Enum, Index, ManyToOne, Property } from '@mikro-orm/core';\nimport { EntityId } from '../types';\nimport { NewsTarget, NewsTargetModel } from '../types/news.types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport type { Course } from './course.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { TeamEntity } from './team.entity';\nimport type { User } from './user.entity';\n\nexport interface NewsProperties {\n\ttitle: string;\n\tcontent: string;\n\tdisplayAt: Date;\n\tschool: EntityId | SchoolEntity;\n\tcreator: EntityId | User;\n\ttarget: EntityId | NewsTarget;\n\n\texternalId?: string;\n\tsource?: 'internal' | 'rss';\n\tsourceDescription?: string;\n\tupdater?: User;\n}\n\n@Entity({\n\tdiscriminatorColumn: 'targetModel',\n\tabstract: true,\n})\n@Index({ properties: ['school', 'target'] })\n@Index({ properties: ['school', 'target', 'targetModel'] })\n@Index({ properties: ['target', 'targetModel'] })\nexport abstract class News extends BaseEntityWithTimestamps {\n\t/** the news title */\n\t@Property()\n\ttitle: string;\n\n\t/** the news content as html */\n\t@Property()\n\tcontent: string;\n\n\t/** only past news are visible for viewers, when edit permission, news visible in the future might be accessed too */\n\t@Property()\n\t@Index()\n\tdisplayAt: Date;\n\n\t@Property({ nullable: true })\n\texternalId?: string;\n\n\t@Property({ nullable: true })\n\tsource?: 'internal' | 'rss';\n\n\t@Property({ nullable: true })\n\tsourceDescription?: string;\n\n\t/** id reference to a collection populated later with name */\n\ttarget!: NewsTarget;\n\n\t/** name of a collection which is referenced in target */\n\t@Enum()\n\ttargetModel!: NewsTargetModel;\n\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool!: SchoolEntity;\n\n\t@ManyToOne('User', { fieldName: 'creatorId' })\n\tcreator!: User;\n\n\t@ManyToOne('User', { fieldName: 'updaterId', nullable: true })\n\tupdater?: User;\n\n\tpermissions: string[] = [];\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper();\n\t\tthis.title = props.title;\n\t\tthis.content = props.content;\n\t\tthis.displayAt = props.displayAt;\n\t\tObject.assign(this, { school: props.school, creator: props.creator, updater: props.updater, target: props.target });\n\t\tthis.externalId = props.externalId;\n\t\tthis.source = props.source;\n\t\tthis.sourceDescription = props.sourceDescription;\n\t}\n\n\tstatic createInstance(targetModel: NewsTargetModel, props: NewsProperties): News {\n\t\tlet news: News;\n\t\tif (targetModel === NewsTargetModel.Course) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new CourseNews(props);\n\t\t} else if (targetModel === NewsTargetModel.Team) {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new TeamNews(props);\n\t\t} else {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-use-before-define\n\t\t\tnews = new SchoolNews(props);\n\t\t}\n\t\treturn news;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.School })\nexport class SchoolNews extends News {\n\t@ManyToOne(() => SchoolEntity)\n\ttarget!: SchoolEntity;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.School;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.Course })\nexport class CourseNews extends News {\n\t// FIXME Due to a weird behaviour in the mikro-orm validation we have to\n\t// disable the validation by setting the reference nullable.\n\t// Remove when fixed in mikro-orm.\n\t@ManyToOne('Course', { nullable: true })\n\ttarget!: Course;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.Course;\n\t}\n}\n\n@Entity({ discriminatorValue: NewsTargetModel.Team })\nexport class TeamNews extends News {\n\t@ManyToOne('TeamEntity')\n\ttarget!: TeamEntity;\n\n\tconstructor(props: NewsProperties) {\n\t\tsuper(props);\n\t\tthis.targetModel = NewsTargetModel.Team;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/TeamNewsController.html":{"url":"controllers/TeamNewsController.html","title":"controller - TeamNewsController","body":"\n \n\n\n\n\n\n\n Controllers\n TeamNewsController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/team-news.controller.ts\n \n\n \n Prefix\n \n \n team\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n findAllForTeam\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n findAllForTeam\n \n \n \n \n \n \n \n findAllForTeam(urlParams: TeamUrlParams, currentUser: ICurrentUser, scope: FilterNewsParams, pagination: PaginationParams)\n \n \n\n \n \n Decorators : \n \n @Get(':teamId/news')\n \n \n\n \n \n Defined in apps/server/src/modules/news/controller/team-news.controller.ts:19\n \n \n\n\n \n \n Responds with news of a given team for a user.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n TeamUrlParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n scope\n \n FilterNewsParams\n \n\n \n No\n \n\n\n \n \n pagination\n \n PaginationParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Controller, Get, Param, Query } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { PaginationParams } from '@shared/controller';\nimport { NewsMapper } from '../mapper/news.mapper';\nimport { NewsUc } from '../uc';\nimport { FilterNewsParams, NewsListResponse, TeamUrlParams } from './dto';\n\n@ApiTags('News')\n@Authenticate('jwt')\n@Controller('team')\nexport class TeamNewsController {\n\tconstructor(private readonly newsUc: NewsUc) {}\n\n\t/**\n\t * Responds with news of a given team for a user.\n\t */\n\t@Get(':teamId/news')\n\tasync findAllForTeam(\n\t\t@Param() urlParams: TeamUrlParams,\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() scope: FilterNewsParams,\n\t\t@Query() pagination: PaginationParams\n\t): Promise {\n\t\t// enforce filter by a given team, used in team tab\n\t\tscope.targetId = urlParams.teamId;\n\t\tscope.targetModel = 'teams';\n\t\tconst [newsList, count] = await this.newsUc.findAllForUser(\n\t\t\tcurrentUser.userId,\n\t\t\tNewsMapper.mapNewsScopeToDomain(scope),\n\t\t\t{ pagination }\n\t\t);\n\t\tconst dtoList = newsList.map((news) => NewsMapper.mapToResponse(news));\n\t\tconst response = new NewsListResponse(dtoList, count);\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TeamPermissionsBody.html":{"url":"classes/TeamPermissionsBody.html","title":"class - TeamPermissionsBody","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TeamPermissionsBody\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/collaborative-storage/controller/dto/team-permissions.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n create\n \n \n \n \n delete\n \n \n \n \n read\n \n \n \n \n share\n \n \n \n \n write\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/controller/dto/team-permissions.body.params.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n delete\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/controller/dto/team-permissions.body.params.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n read\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/controller/dto/team-permissions.body.params.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n share\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/controller/dto/team-permissions.body.params.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n write\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/controller/dto/team-permissions.body.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsBoolean } from 'class-validator';\n\nexport class TeamPermissionsBody {\n\t@IsBoolean()\n\t@ApiProperty()\n\tread!: boolean;\n\n\t@IsBoolean()\n\t@ApiProperty()\n\twrite!: boolean;\n\n\t@IsBoolean()\n\t@ApiProperty()\n\tcreate!: boolean;\n\n\t@IsBoolean()\n\t@ApiProperty()\n\tdelete!: boolean;\n\n\t@IsBoolean()\n\t@ApiProperty()\n\tshare!: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TeamPermissionsDto.html":{"url":"classes/TeamPermissionsDto.html","title":"class - TeamPermissionsDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TeamPermissionsDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/collaborative-storage/services/dto/team-permissions.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n create\n \n \n Optional\n delete\n \n \n Optional\n read\n \n \n Optional\n share\n \n \n Optional\n write\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: TeamPermissionsDto)\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team-permissions.dto.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n TeamPermissionsDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n create\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team-permissions.dto.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n delete\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team-permissions.dto.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n read\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team-permissions.dto.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n share\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team-permissions.dto.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n write\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team-permissions.dto.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class TeamPermissionsDto {\n\tread?: boolean;\n\n\twrite?: boolean;\n\n\tcreate?: boolean;\n\n\tdelete?: boolean;\n\n\tshare?: boolean;\n\n\tconstructor(props: TeamPermissionsDto) {\n\t\tthis.read = !!props.read;\n\t\tthis.write = !!props.write;\n\t\tthis.create = !!props.create;\n\t\tthis.delete = !!props.delete;\n\t\tthis.share = !!props.share;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TeamPermissionsMapper.html":{"url":"injectables/TeamPermissionsMapper.html","title":"injectable - TeamPermissionsMapper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TeamPermissionsMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/collaborative-storage/mapper/team-permissions.mapper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n mapBodyToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n mapBodyToDto\n \n \n \n \n \n \n \n mapBodyToDto(body: TeamPermissionsBody)\n \n \n\n\n \n \n Defined in apps/server/src/modules/collaborative-storage/mapper/team-permissions.mapper.ts:12\n \n \n\n\n \n \n Maps a TeamPermissions Body to a ServiceDTO\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n body\n \n TeamPermissionsBody\n \n\n \n No\n \n\n\n \n The TeamPermissions Body\n\n \n \n \n \n \n \n Returns : TeamPermissionsDto\n\n \n \n The mapped DTO\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { TeamPermissionsBody } from '../controller/dto/team-permissions.body.params';\nimport { TeamPermissionsDto } from '../services/dto/team-permissions.dto';\n\n@Injectable()\nexport class TeamPermissionsMapper {\n\t/**\n\t * Maps a TeamPermissions Body to a ServiceDTO\n\t * @param body The TeamPermissions Body\n\t * @return The mapped DTO\n\t */\n\tpublic mapBodyToDto(body: TeamPermissionsBody): TeamPermissionsDto {\n\t\treturn new TeamPermissionsDto({\n\t\t\tcreate: body.create,\n\t\t\tdelete: body.delete,\n\t\t\tread: body.read,\n\t\t\tshare: body.share,\n\t\t\twrite: body.write,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TeamProperties.html":{"url":"interfaces/TeamProperties.html","title":"interface - TeamProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TeamProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/team.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n name\n \n \n \n Optional\n \n teamUsers\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n teamUsers\n \n \n \n \n \n \n \n \n teamUsers: TeamUserEntity[]\n\n \n \n\n\n \n \n Type : TeamUserEntity[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n import { Embeddable, Embedded, Entity, ManyToOne, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { Role } from './role.entity';\nimport { SchoolEntity } from './school.entity';\nimport { User } from './user.entity';\n\nexport interface TeamProperties {\n\tname: string;\n\tteamUsers?: TeamUserEntity[];\n}\n\nexport interface TeamUserProperties {\n\tuser: User;\n\trole: Role;\n\tschool: SchoolEntity;\n}\n\n@Embeddable()\nexport class TeamUserEntity {\n\tconstructor(props: TeamUserProperties) {\n\t\tthis.userId = props.user;\n\t\tthis.role = props.role;\n\t\tthis.schoolId = props.school;\n\t}\n\n\t@ManyToOne(() => User)\n\tuserId: User;\n\n\t@ManyToOne(() => Role)\n\trole: Role;\n\n\t@ManyToOne(() => SchoolEntity)\n\tprivate schoolId: SchoolEntity;\n\n\t// fieldName cannot be used in ManyToOne on Embeddable due to a mikro-orm bug (https://github.com/mikro-orm/mikro-orm/issues/2165)\n\tget user(): User {\n\t\treturn this.userId;\n\t}\n\n\tset user(value: User) {\n\t\tthis.userId = value;\n\t}\n\n\tget school(): SchoolEntity {\n\t\treturn this.schoolId;\n\t}\n\n\tset school(value: SchoolEntity) {\n\t\tthis.schoolId = value;\n\t}\n}\n\n@Entity({ tableName: 'teams' })\nexport class TeamEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tname: string;\n\n\t@Embedded(() => TeamUserEntity, { array: true })\n\tuserIds: TeamUserEntity[];\n\n\tget teamUsers(): TeamUserEntity[] {\n\t\treturn this.userIds;\n\t}\n\n\tset teamUsers(value: TeamUserEntity[]) {\n\t\tthis.userIds = value;\n\t}\n\n\tconstructor(props: TeamProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.userIds = props.teamUsers ? props.teamUsers.map((teamUser) => new TeamUserEntity(teamUser)) : [];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TeamRoleDto.html":{"url":"classes/TeamRoleDto.html","title":"class - TeamRoleDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TeamRoleDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/collaborative-storage/controller/dto/team-role.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n roleId\n \n \n \n \n teamId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n roleId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/controller/dto/team-role.params.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n teamId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/controller/dto/team-role.params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class TeamRoleDto {\n\t@IsMongoId()\n\t@ApiProperty()\n\tteamId!: string;\n\n\t@IsMongoId()\n\t@ApiProperty()\n\troleId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TeamRolePermissionsDto.html":{"url":"classes/TeamRolePermissionsDto.html","title":"class - TeamRolePermissionsDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TeamRolePermissionsDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/infra/collaborative-storage/dto/team-role-permissions.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n permissions\n \n \n roleName\n \n \n teamId\n \n \n teamName\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: TeamRolePermissionsDto)\n \n \n \n \n Defined in apps/server/src/infra/collaborative-storage/dto/team-role-permissions.dto.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n TeamRolePermissionsDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n permissions\n \n \n \n \n \n \n Type : boolean[]\n\n \n \n \n \n Defined in apps/server/src/infra/collaborative-storage/dto/team-role-permissions.dto.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n roleName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/infra/collaborative-storage/dto/team-role-permissions.dto.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n teamId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/infra/collaborative-storage/dto/team-role-permissions.dto.ts:2\n \n \n\n\n \n \n \n \n \n \n \n \n teamName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/infra/collaborative-storage/dto/team-role-permissions.dto.ts:4\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n export class TeamRolePermissionsDto {\n\tteamId: string;\n\n\tteamName: string;\n\n\troleName: string;\n\n\tpermissions: boolean[];\n\n\tconstructor(props: TeamRolePermissionsDto) {\n\t\tthis.teamId = props.teamId;\n\t\tthis.teamName = props.teamName;\n\t\tthis.roleName = props.roleName;\n\t\tthis.permissions = props.permissions;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TeamRule.html":{"url":"injectables/TeamRule.html","title":"injectable - TeamRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TeamRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/team.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/team.rule.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, entity: TeamEntity, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/team.rule.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n TeamEntity\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, entity: TeamEntity)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/team.rule.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n TeamEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { TeamEntity, TeamUserEntity, User } from '@shared/domain/entity';\nimport { AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\n\n@Injectable()\nexport class TeamRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper) {}\n\n\tpublic isApplicable(user: User, entity: TeamEntity): boolean {\n\t\treturn entity instanceof TeamEntity;\n\t}\n\n\tpublic hasPermission(user: User, entity: TeamEntity, context: AuthorizationContext): boolean {\n\t\tlet hasPermission = false;\n\t\tconst isTeamUser = entity.teamUsers.find((teamUser: TeamUserEntity) => teamUser.user.id === user.id);\n\t\tif (isTeamUser) {\n\t\t\thasPermission = this.authorizationHelper.hasAllPermissionsByRole(isTeamUser.role, context.requiredPermissions);\n\t\t}\n\t\treturn hasPermission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TeamService.html":{"url":"injectables/TeamService.html","title":"injectable - TeamService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TeamService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/teams/service/team.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n deleteUserDataFromTeams\n \n \n Public\n Async\n findUserDataFromTeams\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(teamsRepo: TeamsRepo)\n \n \n \n \n Defined in apps/server/src/modules/teams/service/team.service.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n teamsRepo\n \n \n TeamsRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n deleteUserDataFromTeams\n \n \n \n \n \n \n \n deleteUserDataFromTeams(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/teams/service/team.service.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findUserDataFromTeams\n \n \n \n \n \n \n \n findUserDataFromTeams(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/teams/service/team.service.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { TeamEntity } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { TeamsRepo } from '@shared/repo';\n\n@Injectable()\nexport class TeamService {\n\tconstructor(private readonly teamsRepo: TeamsRepo) {}\n\n\tpublic async findUserDataFromTeams(userId: EntityId): Promise {\n\t\tconst teams = await this.teamsRepo.findByUserId(userId);\n\n\t\treturn teams;\n\t}\n\n\tpublic async deleteUserDataFromTeams(userId: EntityId): Promise {\n\t\tconst teams = await this.teamsRepo.findByUserId(userId);\n\n\t\tteams.forEach((team) => {\n\t\t\tteam.userIds = team.userIds.filter((u) => u.userId.id !== userId);\n\t\t});\n\n\t\tawait this.teamsRepo.save(teams);\n\n\t\treturn teams.length;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TeamUrlParams.html":{"url":"classes/TeamUrlParams.html","title":"class - TeamUrlParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TeamUrlParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/dto/team.url.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n teamId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n teamId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the team.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/team.url.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class TeamUrlParams {\n\t@IsMongoId()\n\t@ApiProperty({\n\t\tdescription: 'The id of the team.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tteamId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TeamUserDto.html":{"url":"classes/TeamUserDto.html","title":"class - TeamUserDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TeamUserDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/collaborative-storage/services/dto/team.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n roleId\n \n \n schoolId\n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: TeamUserDto)\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team.dto.ts:27\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n TeamUserDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n roleId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team.dto.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team.dto.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/collaborative-storage/services/dto/team.dto.ts:23\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\n\n/**\n * TODO\n * This DTO and all associated functionality should be moved to a general teams module once it has been created\n */\n\nexport class TeamDto {\n\tid: EntityId;\n\n\tname: string;\n\n\tteamUsers: TeamUserDto[];\n\n\tconstructor(props: TeamDto) {\n\t\tthis.id = props.id;\n\t\tthis.name = props.name;\n\t\tthis.teamUsers = props.teamUsers;\n\t}\n}\n\nexport class TeamUserDto {\n\tuserId: string;\n\n\troleId: string;\n\n\tschoolId: string;\n\n\tconstructor(props: TeamUserDto) {\n\t\tthis.userId = props.userId;\n\t\tthis.roleId = props.roleId;\n\t\tthis.schoolId = props.schoolId;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TeamUserEntity.html":{"url":"classes/TeamUserEntity.html","title":"class - TeamUserEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TeamUserEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/team.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n role\n \n \n \n Private\n schoolId\n \n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n user\n \n \n school\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: TeamUserProperties)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/team.entity.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n TeamUserProperties\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n role\n \n \n \n \n \n \n Type : Role\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined)\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/team.entity.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n Private\n schoolId\n \n \n \n \n \n \n Type : SchoolEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined)\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/team.entity.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : User\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined)\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/team.entity.ts:27\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n user\n \n \n\n \n \n getuser()\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/team.entity.ts:36\n \n \n\n \n \n setuser(value: User)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/team.entity.ts:40\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n User\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n school\n \n \n\n \n \n getschool()\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/team.entity.ts:44\n \n \n\n \n \n setschool(value: SchoolEntity)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/team.entity.ts:48\n \n \n \n \n\n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n value\n \n \n SchoolEntity\n \n \n \n No\n \n \n \n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n\n \n\n\n \n import { Embeddable, Embedded, Entity, ManyToOne, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { Role } from './role.entity';\nimport { SchoolEntity } from './school.entity';\nimport { User } from './user.entity';\n\nexport interface TeamProperties {\n\tname: string;\n\tteamUsers?: TeamUserEntity[];\n}\n\nexport interface TeamUserProperties {\n\tuser: User;\n\trole: Role;\n\tschool: SchoolEntity;\n}\n\n@Embeddable()\nexport class TeamUserEntity {\n\tconstructor(props: TeamUserProperties) {\n\t\tthis.userId = props.user;\n\t\tthis.role = props.role;\n\t\tthis.schoolId = props.school;\n\t}\n\n\t@ManyToOne(() => User)\n\tuserId: User;\n\n\t@ManyToOne(() => Role)\n\trole: Role;\n\n\t@ManyToOne(() => SchoolEntity)\n\tprivate schoolId: SchoolEntity;\n\n\t// fieldName cannot be used in ManyToOne on Embeddable due to a mikro-orm bug (https://github.com/mikro-orm/mikro-orm/issues/2165)\n\tget user(): User {\n\t\treturn this.userId;\n\t}\n\n\tset user(value: User) {\n\t\tthis.userId = value;\n\t}\n\n\tget school(): SchoolEntity {\n\t\treturn this.schoolId;\n\t}\n\n\tset school(value: SchoolEntity) {\n\t\tthis.schoolId = value;\n\t}\n}\n\n@Entity({ tableName: 'teams' })\nexport class TeamEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tname: string;\n\n\t@Embedded(() => TeamUserEntity, { array: true })\n\tuserIds: TeamUserEntity[];\n\n\tget teamUsers(): TeamUserEntity[] {\n\t\treturn this.userIds;\n\t}\n\n\tset teamUsers(value: TeamUserEntity[]) {\n\t\tthis.userIds = value;\n\t}\n\n\tconstructor(props: TeamProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.userIds = props.teamUsers ? props.teamUsers.map((teamUser) => new TeamUserEntity(teamUser)) : [];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TeamUserFactory.html":{"url":"classes/TeamUserFactory.html","title":"class - TeamUserFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TeamUserFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/teamuser.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withRoleAndUserId\n \n \n withUserId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withRoleAndUserId\n \n \n \n \n \n \nwithRoleAndUserId(role: Role, userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/teamuser.factory.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n role\n \n Role\n \n\n \n No\n \n\n\n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withUserId\n \n \n \n \n \n \nwithUserId(userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/teamuser.factory.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Role, TeamUserEntity } from '@shared/domain/entity';\nimport { BaseFactory } from '@shared/testing/factory/base.factory';\nimport { roleFactory } from '@shared/testing/factory/role.factory';\nimport { schoolFactory } from '@shared/testing/factory/school.factory';\nimport { userFactory } from '@shared/testing/factory/user.factory';\nimport { DeepPartial } from 'fishery';\n\nclass TeamUserFactory extends BaseFactory {\n\twithRoleAndUserId(role: Role, userId: string): this {\n\t\tconst school = schoolFactory.build();\n\t\tconst params: DeepPartial = {\n\t\t\tuser: userFactory.buildWithId({ school, roles: [roleFactory.build({ roles: [role] })] }, userId),\n\t\t\tschool,\n\t\t\trole,\n\t\t};\n\t\treturn this.params(params);\n\t}\n\n\twithUserId(userId: string): this {\n\t\tconst school = schoolFactory.build();\n\t\tconst params: DeepPartial = {\n\t\t\tuser: userFactory.buildWithId({ school }, userId),\n\t\t\tschool,\n\t\t};\n\t\treturn this.params(params);\n\t}\n}\n\nexport const teamUserFactory = TeamUserFactory.define(TeamUserEntity, () => {\n\tconst role = roleFactory.buildWithId();\n\tconst school = schoolFactory.buildWithId();\n\tconst user = userFactory.buildWithId({ roles: [role] });\n\n\treturn new TeamUserEntity({\n\t\tuser,\n\t\tschool,\n\t\trole,\n\t});\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TeamUserProperties.html":{"url":"interfaces/TeamUserProperties.html","title":"interface - TeamUserProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TeamUserProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/team.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n role\n \n \n \n \n school\n \n \n \n \n user\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n role\n \n \n \n \n \n \n \n \n role: Role\n\n \n \n\n\n \n \n Type : Role\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n \n \n school: SchoolEntity\n\n \n \n\n\n \n \n Type : SchoolEntity\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n user\n \n \n \n \n \n \n \n \n user: User\n\n \n \n\n\n \n \n Type : User\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Embeddable, Embedded, Entity, ManyToOne, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { Role } from './role.entity';\nimport { SchoolEntity } from './school.entity';\nimport { User } from './user.entity';\n\nexport interface TeamProperties {\n\tname: string;\n\tteamUsers?: TeamUserEntity[];\n}\n\nexport interface TeamUserProperties {\n\tuser: User;\n\trole: Role;\n\tschool: SchoolEntity;\n}\n\n@Embeddable()\nexport class TeamUserEntity {\n\tconstructor(props: TeamUserProperties) {\n\t\tthis.userId = props.user;\n\t\tthis.role = props.role;\n\t\tthis.schoolId = props.school;\n\t}\n\n\t@ManyToOne(() => User)\n\tuserId: User;\n\n\t@ManyToOne(() => Role)\n\trole: Role;\n\n\t@ManyToOne(() => SchoolEntity)\n\tprivate schoolId: SchoolEntity;\n\n\t// fieldName cannot be used in ManyToOne on Embeddable due to a mikro-orm bug (https://github.com/mikro-orm/mikro-orm/issues/2165)\n\tget user(): User {\n\t\treturn this.userId;\n\t}\n\n\tset user(value: User) {\n\t\tthis.userId = value;\n\t}\n\n\tget school(): SchoolEntity {\n\t\treturn this.schoolId;\n\t}\n\n\tset school(value: SchoolEntity) {\n\t\tthis.schoolId = value;\n\t}\n}\n\n@Entity({ tableName: 'teams' })\nexport class TeamEntity extends BaseEntityWithTimestamps {\n\t@Property()\n\tname: string;\n\n\t@Embedded(() => TeamUserEntity, { array: true })\n\tuserIds: TeamUserEntity[];\n\n\tget teamUsers(): TeamUserEntity[] {\n\t\treturn this.userIds;\n\t}\n\n\tset teamUsers(value: TeamUserEntity[]) {\n\t\tthis.userIds = value;\n\t}\n\n\tconstructor(props: TeamProperties) {\n\t\tsuper();\n\t\tthis.name = props.name;\n\t\tthis.userIds = props.teamUsers ? props.teamUsers.map((teamUser) => new TeamUserEntity(teamUser)) : [];\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TeamsApiModule.html":{"url":"modules/TeamsApiModule.html","title":"module - TeamsApiModule","body":"\n \n\n\n\n\n Modules\n TeamsApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_TeamsApiModule\n\n\n\ncluster_TeamsApiModule_imports\n\n\n\n\nTeamsModule\n\nTeamsModule\n\n\n\nTeamsApiModule\n\nTeamsApiModule\n\nTeamsApiModule -->\n\nTeamsModule->TeamsApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/teams/teams-api.module.ts\n \n\n\n\n\n\n \n \n \n Imports\n \n \n TeamsModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { TeamsModule } from '@modules/teams/teams.module';\n\n@Module({\n\timports: [TeamsModule],\n\tproviders: [],\n\tcontrollers: [],\n\texports: [],\n})\nexport class TeamsApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TeamsModule.html":{"url":"modules/TeamsModule.html","title":"module - TeamsModule","body":"\n \n\n\n\n\n Modules\n TeamsModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_TeamsModule\n\n\n\ncluster_TeamsModule_exports\n\n\n\ncluster_TeamsModule_providers\n\n\n\n\nTeamService \n\nTeamService \n\n\n\nTeamsModule\n\nTeamsModule\n\nTeamService -->\n\nTeamsModule->TeamService \n\n\n\n\n\nTeamService\n\nTeamService\n\nTeamsModule -->\n\nTeamService->TeamsModule\n\n\n\n\n\nTeamsRepo\n\nTeamsRepo\n\nTeamsModule -->\n\nTeamsRepo->TeamsModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/teams/teams.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n TeamService\n \n \n TeamsRepo\n \n \n \n \n Exports\n \n \n TeamService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { TeamsRepo } from '@shared/repo';\nimport { TeamService } from './service';\n\n@Module({\n\tproviders: [TeamService, TeamsRepo],\n\texports: [TeamService],\n})\nexport class TeamsModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TeamsRepo.html":{"url":"injectables/TeamsRepo.html","title":"injectable - TeamsRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TeamsRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/teams/teams.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n cacheExpiration\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findById\n \n \n Async\n findByUserId\n \n \n Private\n Async\n populateRoles\n \n \n create\n \n \n Async\n delete\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId, populate)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:15\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n \n \n\n \n \n populate\n \n \n\n \n No\n \n\n \n false\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserId\n \n \n \n \n \n \n \n findByUserId(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/teams/teams.repo.ts:36\n \n \n\n\n \n \n Finds teams which the user is a member.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n Array of teams\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n populateRoles\n \n \n \n \n \n \n \n populateRoles(roles: Role[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/teams/teams.repo.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roles\n \n Role[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n cacheExpiration\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Default value : 60000\n \n \n \n \n Defined in apps/server/src/shared/repo/teams/teams.repo.ts:13\n \n \n\n\n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/teams/teams.repo.ts:9\n \n \n\n \n \n\n \n\n\n \n import { ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { Role, TeamEntity, TeamUserEntity } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '../base.repo';\n\n@Injectable()\nexport class TeamsRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn TeamEntity;\n\t}\n\n\tcacheExpiration = 60000;\n\n\tasync findById(id: EntityId, populate = false): Promise {\n\t\tconst team = await this._em.findOneOrFail(TeamEntity, { id }, { cache: this.cacheExpiration });\n\n\t\tif (populate) {\n\t\t\tawait Promise.all(\n\t\t\t\tteam.teamUsers.map(async (teamUser: TeamUserEntity): Promise => {\n\t\t\t\t\tawait this._em.populate(teamUser, ['role']);\n\t\t\t\t\tawait this.populateRoles([teamUser.role]);\n\t\t\t\t})\n\t\t\t);\n\t\t}\n\n\t\treturn team;\n\t}\n\n\t/**\n\t * Finds teams which the user is a member.\n\t *\n\t * @param userId\n\t * @return Array of teams\n\t */\n\tasync findByUserId(userId: EntityId): Promise {\n\t\tconst teams: TeamEntity[] = await this._em.find(TeamEntity, {\n\t\t\tuserIds: { userId: new ObjectId(userId) },\n\t\t});\n\t\treturn teams;\n\t}\n\n\tprivate async populateRoles(roles: Role[]): Promise {\n\t\treturn Promise.all(\n\t\t\troles.map(async (role: Role): Promise => {\n\t\t\t\tif (!role.roles.isInitialized(true)) {\n\t\t\t\t\tawait this._em.populate(role, ['roles']);\n\t\t\t\t\tawait this.populateRoles(role.roles.getItems());\n\t\t\t\t}\n\t\t\t})\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TemporaryFileProperties.html":{"url":"interfaces/TemporaryFileProperties.html","title":"interface - TemporaryFileProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TemporaryFileProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/entity/h5p-editor-tempfile.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n birthtime\n \n \n \n \n expiresAt\n \n \n \n \n filename\n \n \n \n \n ownedByUserId\n \n \n \n \n size\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n birthtime\n \n \n \n \n \n \n \n \n birthtime: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n expiresAt\n \n \n \n \n \n \n \n \n expiresAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n filename\n \n \n \n \n \n \n \n \n filename: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n ownedByUserId\n \n \n \n \n \n \n \n \n ownedByUserId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n size\n \n \n \n \n \n \n \n \n size: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { IFileStats, ITemporaryFile } from '@lumieducation/h5p-server';\nimport { Entity, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from '@shared/domain/entity';\n\nexport interface TemporaryFileProperties {\n\tfilename: string;\n\townedByUserId: string;\n\texpiresAt: Date;\n\tbirthtime: Date;\n\tsize: number;\n}\n\n@Entity({ tableName: 'h5p-editor-temp-file' })\nexport class H5pEditorTempFile extends BaseEntityWithTimestamps implements ITemporaryFile, IFileStats {\n\t/**\n\t * The name by which the file can be identified; can be a path including subdirectories (e.g. 'images/xyz.png')\n\t */\n\t@Property()\n\tfilename: string;\n\n\t@Property()\n\texpiresAt: Date;\n\n\t@Property()\n\townedByUserId: string;\n\n\t@Property()\n\tbirthtime: Date;\n\n\t@Property()\n\tsize: number;\n\n\tconstructor({ filename, ownedByUserId, expiresAt, birthtime, size }: TemporaryFileProperties) {\n\t\tsuper();\n\t\tthis.filename = filename;\n\t\tthis.ownedByUserId = ownedByUserId;\n\t\tthis.expiresAt = expiresAt;\n\t\tthis.birthtime = birthtime;\n\t\tthis.size = size;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TemporaryFileRepo.html":{"url":"injectables/TemporaryFileRepo.html","title":"injectable - TemporaryFileRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TemporaryFileRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/repo/temporary-file.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findAllByUserAndFilename\n \n \n Async\n findByUser\n \n \n Async\n findByUserAndFilename\n \n \n Async\n findExpired\n \n \n Async\n findExpiredByUser\n \n \n create\n \n \n Async\n delete\n \n \n Async\n findById\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findAllByUserAndFilename\n \n \n \n \n \n \n \n findAllByUserAndFilename(userId: EntityId, filename: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/temporary-file.repo.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n filename\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUser\n \n \n \n \n \n \n \n findByUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/temporary-file.repo.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByUserAndFilename\n \n \n \n \n \n \n \n findByUserAndFilename(userId: EntityId, filename: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/temporary-file.repo.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n filename\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findExpired\n \n \n \n \n \n \n \n findExpired()\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/temporary-file.repo.ts:20\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n findExpiredByUser\n \n \n \n \n \n \n \n findExpiredByUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/repo/temporary-file.repo.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId | ObjectId)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:30\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | ObjectId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/repo/temporary-file.repo.ts:8\n \n \n\n \n \n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseRepo } from '@shared/repo/base.repo';\nimport { H5pEditorTempFile } from '../entity';\n\n@Injectable()\nexport class TemporaryFileRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn H5pEditorTempFile;\n\t}\n\n\tasync findByUserAndFilename(userId: EntityId, filename: string): Promise {\n\t\treturn this._em.findOneOrFail(this.entityName, { ownedByUserId: userId, filename });\n\t}\n\n\tasync findAllByUserAndFilename(userId: EntityId, filename: string): Promise {\n\t\treturn this._em.find(this.entityName, { ownedByUserId: userId, filename });\n\t}\n\n\tasync findExpired(): Promise {\n\t\tconst now = new Date();\n\t\treturn this._em.find(this.entityName, { expiresAt: { $lt: now } });\n\t}\n\n\tasync findByUser(userId: EntityId): Promise {\n\t\treturn this._em.find(this.entityName, { ownedByUserId: userId });\n\t}\n\n\tasync findExpiredByUser(userId: EntityId): Promise {\n\t\tconst now = new Date();\n\t\treturn this._em.find(this.entityName, { $and: [{ ownedByUserId: userId }, { expiresAt: { $lt: now } }] });\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TemporaryFileStorage.html":{"url":"injectables/TemporaryFileStorage.html","title":"injectable - TemporaryFileStorage","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TemporaryFileStorage\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/h5p-editor/service/temporary-file-storage.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkFilename\n \n \n Public\n Async\n deleteFile\n \n \n Public\n Async\n fileExists\n \n \n Private\n getFileInfo\n \n \n Private\n getFilePath\n \n \n Public\n Async\n getFileStats\n \n \n Public\n Async\n getFileStream\n \n \n Public\n Async\n listFiles\n \n \n Public\n Async\n saveFile\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(repo: TemporaryFileRepo, s3Client: S3ClientAdapter)\n \n \n \n \n Defined in apps/server/src/modules/h5p-editor/service/temporary-file-storage.service.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n repo\n \n \n TemporaryFileRepo\n \n \n \n No\n \n \n \n \n s3Client\n \n \n S3ClientAdapter\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkFilename\n \n \n \n \n \n \n \n checkFilename(filename: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/service/temporary-file-storage.service.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n filename\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n deleteFile\n \n \n \n \n \n \n \n deleteFile(filename: string, userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/service/temporary-file-storage.service.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n filename\n \n string\n \n\n \n No\n \n\n\n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n fileExists\n \n \n \n \n \n \n \n fileExists(filename: string, user: IUser)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/service/temporary-file-storage.service.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n filename\n \n string\n \n\n \n No\n \n\n\n \n \n user\n \n IUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getFileInfo\n \n \n \n \n \n \n \n getFileInfo(filename: string, userId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/service/temporary-file-storage.service.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n filename\n \n string\n \n\n \n No\n \n\n\n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getFilePath\n \n \n \n \n \n \n \n getFilePath(userId: string, filename: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/service/temporary-file-storage.service.ts:119\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n filename\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getFileStats\n \n \n \n \n \n \n \n getFileStats(filename: string, user: IUser)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/service/temporary-file-storage.service.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n filename\n \n string\n \n\n \n No\n \n\n\n \n \n user\n \n IUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getFileStream\n \n \n \n \n \n \n \n getFileStream(filename: string, user: IUser, rangeStart: number, rangeEnd?: number | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/service/temporary-file-storage.service.ts:47\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n filename\n \n string\n \n\n \n No\n \n\n \n \n\n \n \n user\n \n IUser\n \n\n \n No\n \n\n \n \n\n \n \n rangeStart\n \n number\n \n\n \n No\n \n\n \n 0\n \n\n \n \n rangeEnd\n \n number | undefined\n \n\n \n Yes\n \n\n \n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n listFiles\n \n \n \n \n \n \n \n listFiles(user?: IUser)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/service/temporary-file-storage.service.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n IUser\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n saveFile\n \n \n \n \n \n \n \n saveFile(filename: string, dataStream: ReadStream, user: IUser, expirationTime: Date)\n \n \n\n\n \n \n Defined in apps/server/src/modules/h5p-editor/service/temporary-file-storage.service.ts:79\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n filename\n \n string\n \n\n \n No\n \n\n\n \n \n dataStream\n \n ReadStream\n \n\n \n No\n \n\n\n \n \n user\n \n IUser\n \n\n \n No\n \n\n\n \n \n expirationTime\n \n Date\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { ITemporaryFile, ITemporaryFileStorage, IUser } from '@lumieducation/h5p-server';\nimport { Inject, Injectable, NotAcceptableException } from '@nestjs/common';\nimport { S3ClientAdapter } from '@infra/s3-client';\nimport { ReadStream } from 'fs';\nimport { Readable } from 'stream';\nimport { H5pFileDto } from '../controller/dto/h5p-file.dto';\nimport { H5pEditorTempFile } from '../entity/h5p-editor-tempfile.entity';\nimport { H5P_CONTENT_S3_CONNECTION } from '../h5p-editor.config';\nimport { TemporaryFileRepo } from '../repo/temporary-file.repo';\n\n@Injectable()\nexport class TemporaryFileStorage implements ITemporaryFileStorage {\n\tconstructor(\n\t\tprivate readonly repo: TemporaryFileRepo,\n\t\t@Inject(H5P_CONTENT_S3_CONNECTION) private readonly s3Client: S3ClientAdapter\n\t) {}\n\n\tprivate checkFilename(filename: string): void {\n\t\tif (!/^[a-zA-Z0-9/._-]+$/g.test(filename) && filename.includes('..') && filename.startsWith('/')) {\n\t\t\tthrow new NotAcceptableException(`Filename contains forbidden characters or is empty: '${filename}'`);\n\t\t}\n\t}\n\n\tprivate getFileInfo(filename: string, userId: string): Promise {\n\t\tthis.checkFilename(filename);\n\t\treturn this.repo.findByUserAndFilename(userId, filename);\n\t}\n\n\tpublic async deleteFile(filename: string, userId: string): Promise {\n\t\tthis.checkFilename(filename);\n\t\tconst meta = await this.repo.findByUserAndFilename(userId, filename);\n\t\tawait this.s3Client.delete([this.getFilePath(userId, filename)]);\n\t\tawait this.repo.delete(meta);\n\t}\n\n\tpublic async fileExists(filename: string, user: IUser): Promise {\n\t\tthis.checkFilename(filename);\n\t\tconst files = await this.repo.findAllByUserAndFilename(user.id, filename);\n\t\tconst exists = files.length !== 0;\n\t\treturn exists;\n\t}\n\n\tpublic async getFileStats(filename: string, user: IUser): Promise {\n\t\treturn this.getFileInfo(filename, user.id);\n\t}\n\n\tpublic async getFileStream(\n\t\tfilename: string,\n\t\tuser: IUser,\n\t\trangeStart = 0,\n\t\trangeEnd?: number | undefined\n\t): Promise {\n\t\tthis.checkFilename(filename);\n\t\tconst tempFile = await this.repo.findByUserAndFilename(user.id, filename);\n\t\tconst path = this.getFilePath(user.id, filename);\n\t\tlet rangeEndNew = 0;\n\t\tif (rangeEnd === undefined) {\n\t\t\trangeEndNew = tempFile.size - 1;\n\t\t}\n\t\tconst response = await this.s3Client.get(path, `${rangeStart}-${rangeEndNew}`);\n\n\t\treturn response.data;\n\t}\n\n\tpublic async listFiles(user?: IUser): Promise {\n\t\t// method is expected to support listing all files in database\n\t\t// Lumi uses the variant without a user to search for expired files, so we only return those\n\n\t\tlet files: ITemporaryFile[];\n\t\tif (user) {\n\t\t\tfiles = await this.repo.findByUser(user.id);\n\t\t} else {\n\t\t\tfiles = await this.repo.findExpired();\n\t\t}\n\n\t\treturn files;\n\t}\n\n\tpublic async saveFile(\n\t\tfilename: string,\n\t\tdataStream: ReadStream,\n\t\tuser: IUser,\n\t\texpirationTime: Date\n\t): Promise {\n\t\tthis.checkFilename(filename);\n\t\tconst now = new Date();\n\t\tif (expirationTime \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TestApiClient.html":{"url":"classes/TestApiClient.html","title":"class - TestApiClient","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TestApiClient\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/test-api-client.ts\n \n\n\n \n Description\n \n \n Note res.cookie is not supported atm, feel free to add this\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n app\n \n \n Private\n Readonly\n baseRoute\n \n \n Private\n Readonly\n formattedJwt\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkAndAddPrefix\n \n \n Private\n cleanupPath\n \n \n Public\n delete\n \n \n Public\n get\n \n \n Private\n getJwtFromResponse\n \n \n Private\n getPath\n \n \n Private\n isAuthenticationResponse\n \n \n Private\n isSlash\n \n \n Public\n Async\n login\n \n \n Public\n patch\n \n \n Public\n post\n \n \n Public\n put\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(app: INestApplication, baseRoute: string, jwt?: string)\n \n \n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:30\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n app\n \n \n INestApplication\n \n \n \n No\n \n \n \n \n baseRoute\n \n \n string\n \n \n \n No\n \n \n \n \n jwt\n \n \n string\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n app\n \n \n \n \n \n \n Type : INestApplication\n\n \n \n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:26\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n baseRoute\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n formattedJwt\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:30\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkAndAddPrefix\n \n \n \n \n \n \n \n checkAndAddPrefix(inputPath: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:110\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n inputPath\n \n string\n \n\n \n No\n \n\n \n '/'\n \n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n cleanupPath\n \n \n \n \n \n \n \n cleanupPath(inputPath: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:120\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n inputPath\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n delete\n \n \n \n \n \n \n \n delete(subPath?: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:45\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n subPath\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : supertest.Test\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n get\n \n \n \n \n \n \n \n get(subPath?: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n subPath\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : supertest.Test\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getJwtFromResponse\n \n \n \n \n \n \n \n getJwtFromResponse(response: Response)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:142\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n Response\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getPath\n \n \n \n \n \n \n \n getPath(routeNameInput: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:129\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n routeNameInput\n \n string\n \n\n \n No\n \n\n \n ''\n \n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isAuthenticationResponse\n \n \n \n \n \n \n \n isAuthenticationResponse(body)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:136\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Optional\n \n \n \n \n body\n\n \n No\n \n\n\n \n \n \n \n \n Returns : AuthenticationResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isSlash\n \n \n \n \n \n \n \n isSlash(inputPath: string, pos: number)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:104\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n inputPath\n \n string\n \n\n \n No\n \n\n\n \n \n pos\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n login\n \n \n \n \n \n \n \n login(account: Account)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n account\n \n Account\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise<>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n patch\n \n \n \n \n \n \n \n patch(subPath?: string, data: object)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:64\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n subPath\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n data\n \n object\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : supertest.Test\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n post\n \n \n \n \n \n \n \n post(subPath?: string, data: object)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:74\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n subPath\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n data\n \n object\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : supertest.Test\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n put\n \n \n \n \n \n \n \n put(subPath?: string, data: object)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-api-client.ts:54\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n subPath\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n data\n \n object\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : supertest.Test\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { INestApplication } from '@nestjs/common';\nimport { Account } from '@shared/domain/entity';\nimport supertest, { Response } from 'supertest';\nimport { defaultTestPassword } from './factory/account.factory';\n\ninterface AuthenticationResponse {\n\taccessToken: string;\n}\n\nconst headerConst = {\n\taccept: 'accept',\n\tjson: 'application/json',\n};\n\nconst testReqestConst = {\n\tprefix: 'Bearer',\n\tloginPath: '/authentication/local',\n\taccessToken: 'accessToken',\n\terrorMessage: 'TestApiClient: Can not cast to local AutenticationResponse:',\n};\n\n/**\n * Note res.cookie is not supported atm, feel free to add this\n */\nexport class TestApiClient {\n\tprivate readonly app: INestApplication;\n\n\tprivate readonly baseRoute: string;\n\n\tprivate readonly formattedJwt: string;\n\n\tconstructor(app: INestApplication, baseRoute: string, jwt?: string) {\n\t\tthis.app = app;\n\t\tthis.baseRoute = this.checkAndAddPrefix(baseRoute);\n\t\tthis.formattedJwt = `${testReqestConst.prefix} ${jwt || ''}`;\n\t}\n\n\tpublic get(subPath?: string): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer()).get(path).set('authorization', this.formattedJwt);\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic delete(subPath?: string): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer())\n\t\t\t.delete(path)\n\t\t\t.set('authorization', this.formattedJwt);\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic put(subPath?: string, data = {}): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer())\n\t\t\t.put(path)\n\t\t\t.set('authorization', this.formattedJwt)\n\t\t\t.send(data);\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic patch(subPath?: string, data = {}): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer())\n\t\t\t.patch(path)\n\t\t\t.set('authorization', this.formattedJwt)\n\t\t\t.send(data);\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic post(subPath?: string, data = {}): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer())\n\t\t\t.post(path)\n\t\t\t.set('authorization', this.formattedJwt)\n\t\t\t.send(data);\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic async login(account: Account): Promise {\n\t\tconst path = testReqestConst.loginPath;\n\t\tconst params: { username: string; password: string } = {\n\t\t\tusername: account.username,\n\t\t\tpassword: defaultTestPassword,\n\t\t};\n\t\tconst response = await supertest(this.app.getHttpServer())\n\t\t\t.post(path)\n\t\t\t.set(headerConst.accept, headerConst.json)\n\t\t\t.send(params);\n\n\t\tconst jwtFromResponse = this.getJwtFromResponse(response);\n\n\t\treturn new (this.constructor as new (app: INestApplication, baseRoute: string, jwt?: string) => this)(\n\t\t\tthis.app,\n\t\t\tthis.baseRoute,\n\t\t\tjwtFromResponse\n\t\t);\n\t}\n\n\tprivate isSlash(inputPath: string, pos: number): boolean {\n\t\tconst isSlash = inputPath.charAt(pos) === '/';\n\n\t\treturn isSlash;\n\t}\n\n\tprivate checkAndAddPrefix(inputPath = '/'): string {\n\t\tlet path = '';\n\t\tif (!this.isSlash(inputPath, 0)) {\n\t\t\tpath = '/';\n\t\t}\n\t\tpath += inputPath;\n\n\t\treturn path;\n\t}\n\n\tprivate cleanupPath(inputPath: string): string {\n\t\tlet path = inputPath;\n\t\tif (this.isSlash(path, 0) && this.isSlash(path, 1)) {\n\t\t\tpath = path.slice(1);\n\t\t}\n\n\t\treturn path;\n\t}\n\n\tprivate getPath(routeNameInput = ''): string {\n\t\tconst routeName = this.checkAndAddPrefix(routeNameInput);\n\t\tconst path = this.cleanupPath(this.baseRoute + routeName);\n\n\t\treturn path;\n\t}\n\n\tprivate isAuthenticationResponse(body: unknown): body is AuthenticationResponse {\n\t\tconst isAuthenticationResponse = typeof body === 'object' && body !== null && testReqestConst.accessToken in body;\n\n\t\treturn isAuthenticationResponse;\n\t}\n\n\tprivate getJwtFromResponse(response: Response): string {\n\t\tif (response.error) {\n\t\t\tconst error = JSON.stringify(response.error);\n\t\t\tthrow new Error(error);\n\t\t}\n\t\tif (!this.isAuthenticationResponse(response.body)) {\n\t\t\tconst body = JSON.stringify(response.body);\n\t\t\tthrow new Error(`${testReqestConst.errorMessage} ${body}`);\n\t\t}\n\t\tconst authenticationResponse = response.body;\n\t\tconst jwt = authenticationResponse.accessToken;\n\n\t\treturn jwt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TestBootstrapConsole.html":{"url":"classes/TestBootstrapConsole.html","title":"class - TestBootstrapConsole","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TestBootstrapConsole\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/console/api-test/test-bootstrap.console.ts\n \n\n\n\n \n Extends\n \n \n AbstractBootstrapConsole\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n create\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate()\n \n \n\n\n \n \n Defined in apps/server/src/console/api-test/test-bootstrap.console.ts:8\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { createMock } from '@golevelup/ts-jest';\nimport { Test, TestingModule } from '@nestjs/testing';\nimport { ConsoleWriterService } from '@infra/console';\nimport { DatabaseManagementUc } from '@modules/management/uc/database-management.uc';\nimport { AbstractBootstrapConsole, BootstrapConsole } from 'nestjs-console';\n\nexport class TestBootstrapConsole extends AbstractBootstrapConsole {\n\tcreate(): Promise {\n\t\treturn Test.createTestingModule({\n\t\t\timports: [this.options.module],\n\t\t})\n\t\t\t.overrideProvider(DatabaseManagementUc)\n\t\t\t.useValue(createMock())\n\t\t\t.overrideProvider(ConsoleWriterService)\n\t\t\t.useValue(createMock())\n\t\t\t.compile();\n\t}\n}\n\nexport const execute = async (bootstrap: BootstrapConsole, args: string[]): Promise => {\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tconst commandResponse = await bootstrap.boot([process.argv0, 'console', ...args]);\n\treturn Promise.resolve();\n};\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TestConnection.html":{"url":"classes/TestConnection.html","title":"class - TestConnection","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TestConnection\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/testing/test-connection.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n getWsUrl\n \n \n Static\n setupWs\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n getWsUrl\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/modules/tldraw/testing/test-connection.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n Static\n setupWs\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/modules/tldraw/testing/test-connection.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import WebSocket from 'ws';\n\nexport class TestConnection {\n\tpublic static getWsUrl = (gatewayPort: number): string => {\n\t\tconst wsUrl = `ws://localhost:${gatewayPort}`;\n\t\treturn wsUrl;\n\t};\n\n\tpublic static setupWs = async (wsUrl: string, docName?: string): Promise => {\n\t\tlet ws: WebSocket;\n\t\tif (docName) {\n\t\t\tws = new WebSocket(`${wsUrl}/${docName}`);\n\t\t} else {\n\t\t\tws = new WebSocket(`${wsUrl}`);\n\t\t}\n\t\tawait new Promise((resolve) => {\n\t\t\tws.on('open', resolve);\n\t\t});\n\n\t\treturn ws;\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TestHelper.html":{"url":"classes/TestHelper.html","title":"class - TestHelper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TestHelper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/files-storage/helper/test-helper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n createFile\n \n \n Static\n createFileResponse\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n createFile\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/modules/files-storage/helper/test-helper.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n Static\n createFileResponse\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/modules/files-storage/helper/test-helper.ts:21\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { GetFile } from '@infra/s3-client';\nimport { Readable } from 'stream';\nimport { GetFileResponse } from '../interface';\n\nexport class TestHelper {\n\tpublic static createFile = (contentRange?: string): GetFile => {\n\t\tconst text = 'testText';\n\t\tconst readable = Readable.from(text);\n\n\t\tconst fileResponse = {\n\t\t\tdata: readable,\n\t\t\tcontentType: 'image/webp',\n\t\t\tcontentLength: text.length,\n\t\t\tcontentRange,\n\t\t\tetag: 'testTag',\n\t\t};\n\n\t\treturn fileResponse;\n\t};\n\n\tpublic static createFileResponse = (contentRange?: string): GetFileResponse => {\n\t\tconst name = 'testName';\n\t\tconst file = this.createFile(contentRange);\n\t\tconst fileResponse = { ...file, name };\n\n\t\treturn fileResponse;\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TestXApiKeyClient.html":{"url":"classes/TestXApiKeyClient.html","title":"class - TestXApiKeyClient","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TestXApiKeyClient\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/test-xApiKey-client.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n app\n \n \n Private\n Readonly\n baseRoute\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkAndAddPrefix\n \n \n Private\n cleanupPath\n \n \n Public\n delete\n \n \n Public\n get\n \n \n Private\n getPath\n \n \n Private\n isSlash\n \n \n Public\n post\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(app: INestApplication, baseRoute: string)\n \n \n \n \n Defined in apps/server/src/shared/testing/test-xApiKey-client.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n app\n \n \n INestApplication\n \n \n \n No\n \n \n \n \n baseRoute\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n app\n \n \n \n \n \n \n Type : INestApplication\n\n \n \n \n \n Defined in apps/server/src/shared/testing/test-xApiKey-client.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n Readonly\n baseRoute\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/testing/test-xApiKey-client.ts:7\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkAndAddPrefix\n \n \n \n \n \n \n \n checkAndAddPrefix(inputPath: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-xApiKey-client.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n inputPath\n \n string\n \n\n \n No\n \n\n \n '/'\n \n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n cleanupPath\n \n \n \n \n \n \n \n cleanupPath(inputPath: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-xApiKey-client.ts:54\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n inputPath\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n delete\n \n \n \n \n \n \n \n delete(subPath?: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-xApiKey-client.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n subPath\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : supertest.Test\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n get\n \n \n \n \n \n \n \n get(subPath?: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-xApiKey-client.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n subPath\n \n string\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : supertest.Test\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n getPath\n \n \n \n \n \n \n \n getPath(routeNameInput: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-xApiKey-client.ts:63\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n routeNameInput\n \n string\n \n\n \n No\n \n\n \n ''\n \n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isSlash\n \n \n \n \n \n \n \n isSlash(inputPath: string, pos: number)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-xApiKey-client.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n inputPath\n \n string\n \n\n \n No\n \n\n\n \n \n pos\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n post\n \n \n \n \n \n \n \n post(subPath?: string, data: object)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/test-xApiKey-client.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n subPath\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n data\n \n object\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : supertest.Test\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { INestApplication } from '@nestjs/common';\nimport supertest from 'supertest';\n\nexport class TestXApiKeyClient {\n\tprivate readonly app: INestApplication;\n\n\tprivate readonly baseRoute: string;\n\n\tconstructor(app: INestApplication, baseRoute: string) {\n\t\tthis.app = app;\n\t\tthis.baseRoute = this.checkAndAddPrefix(baseRoute);\n\t}\n\n\tpublic get(subPath?: string): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer()).get(path).set('Accept', 'application/json');\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic delete(subPath?: string): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer()).delete(path).set('Accept', 'application/json');\n\n\t\treturn testRequestInstance;\n\t}\n\n\tpublic post(subPath?: string, data = {}): supertest.Test {\n\t\tconst path = this.getPath(subPath);\n\t\tconst testRequestInstance = supertest(this.app.getHttpServer())\n\t\t\t.post(path)\n\t\t\t.set('Accept', 'application/json')\n\t\t\t.send(data);\n\n\t\treturn testRequestInstance;\n\t}\n\n\tprivate isSlash(inputPath: string, pos: number): boolean {\n\t\tconst isSlash = inputPath.charAt(pos) === '/';\n\n\t\treturn isSlash;\n\t}\n\n\tprivate checkAndAddPrefix(inputPath = '/'): string {\n\t\tlet path = '';\n\t\tif (!this.isSlash(inputPath, 0)) {\n\t\t\tpath = '/';\n\t\t}\n\t\tpath += inputPath;\n\n\t\treturn path;\n\t}\n\n\tprivate cleanupPath(inputPath: string): string {\n\t\tlet path = inputPath;\n\t\tif (this.isSlash(path, 0) && this.isSlash(path, 1)) {\n\t\t\tpath = path.slice(1);\n\t\t}\n\n\t\treturn path;\n\t}\n\n\tprivate getPath(routeNameInput = ''): string {\n\t\tconst routeName = this.checkAndAddPrefix(routeNameInput);\n\t\tconst path = this.cleanupPath(this.baseRoute + routeName);\n\n\t\treturn path;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TimeoutInterceptor.html":{"url":"injectables/TimeoutInterceptor.html","title":"injectable - TimeoutInterceptor","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TimeoutInterceptor\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/interceptor/timeout.interceptor.ts\n \n\n\n \n Description\n \n \n This interceptor leaves the request execution after a given timeout in ms.\nThis will not stop the running services behind the controller.\n\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n intercept\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(requestTimeout: number)\n \n \n \n \n Defined in apps/server/src/shared/common/interceptor/timeout.interceptor.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n requestTimeout\n \n \n number\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n intercept\n \n \n \n \n \n \nintercept(context: ExecutionContext, next: CallHandler)\n \n \n\n\n \n \n Defined in apps/server/src/shared/common/interceptor/timeout.interceptor.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n context\n \n ExecutionContext\n \n\n \n No\n \n\n\n \n \n next\n \n CallHandler\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Observable\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { CallHandler, ExecutionContext, Injectable, NestInterceptor, RequestTimeoutException } from '@nestjs/common';\nimport { Reflector } from '@nestjs/core';\nimport { Observable, throwError, TimeoutError } from 'rxjs';\nimport { catchError, timeout } from 'rxjs/operators';\n\n/**\n * This interceptor leaves the request execution after a given timeout in ms.\n * This will not stop the running services behind the controller.\n */\n@Injectable()\nexport class TimeoutInterceptor implements NestInterceptor {\n\tconstructor(private readonly requestTimeout: number) {}\n\n\tintercept(context: ExecutionContext, next: CallHandler): Observable {\n\t\tconst reflector = new Reflector();\n\t\tconst timeoutValue =\n\t\t\treflector.get('timeout', context.getHandler()) || reflector.get('timeout', context.getClass());\n\t\treturn next.handle().pipe(\n\t\t\ttimeout(timeoutValue || this.requestTimeout),\n\t\t\tcatchError((err: Error) => {\n\t\t\t\tif (err instanceof TimeoutError) {\n\t\t\t\t\treturn throwError(() => new RequestTimeoutException());\n\t\t\t\t}\n\t\t\t\treturn throwError(() => err);\n\t\t\t})\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TimestampsResponse.html":{"url":"classes/TimestampsResponse.html","title":"class - TimestampsResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TimestampsResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/timestamps.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n createdAt\n \n \n \n Optional\n deletedAt\n \n \n \n lastUpdatedAt\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: TimestampsResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/timestamps.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n TimestampsResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n createdAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/timestamps.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n deletedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/timestamps.response.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n \n lastUpdatedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/timestamps.response.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\n\nexport class TimestampsResponse {\n\tconstructor({ lastUpdatedAt, createdAt, deletedAt }: TimestampsResponse) {\n\t\tthis.lastUpdatedAt = lastUpdatedAt;\n\t\tthis.createdAt = createdAt;\n\t\tthis.deletedAt = deletedAt;\n\t}\n\n\t@ApiProperty()\n\tlastUpdatedAt: Date;\n\n\t@ApiProperty()\n\tcreatedAt: Date;\n\n\t@ApiPropertyOptional()\n\tdeletedAt?: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TldrawBoardRepo.html":{"url":"injectables/TldrawBoardRepo.html","title":"injectable - TldrawBoardRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TldrawBoardRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Public\n collectionName\n \n \n Public\n Readonly\n configService\n \n \n Public\n connectionString\n \n \n Public\n flushSize\n \n \n Public\n mdb\n \n \n Public\n multipleCollections\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n flushDocument\n \n \n Public\n Async\n getYDocFromMdb\n \n \n Public\n Async\n updateDocument\n \n \n Public\n updateStoredDocWithDiff\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(configService: ConfigService)\n \n \n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts:19\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n flushDocument\n \n \n \n \n \n \n \n flushDocument(docName: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts:68\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n docName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getYDocFromMdb\n \n \n \n \n \n \n \n getYDocFromMdb(docName: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n docName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n updateDocument\n \n \n \n \n \n \n \n updateDocument(docName: string, ydoc: WsSharedDocDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n docName\n \n string\n \n\n \n No\n \n\n\n \n \n ydoc\n \n WsSharedDocDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n updateStoredDocWithDiff\n \n \n \n \n \n \n \n updateStoredDocWithDiff(docName: string, diff: Uint8Array)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n docName\n \n string\n \n\n \n No\n \n\n\n \n \n diff\n \n Uint8Array\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Public\n collectionName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n Readonly\n configService\n \n \n \n \n \n \n Type : ConfigService\n\n \n \n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n connectionString\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n flushSize\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n mdb\n \n \n \n \n \n \n Type : MongodbPersistence\n\n \n \n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n multipleCollections\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw-board.repo.ts:17\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { MongodbPersistence } from 'y-mongodb-provider';\nimport { ConfigService } from '@nestjs/config';\nimport { applyUpdate, Doc, encodeStateAsUpdate, encodeStateVector } from 'yjs';\nimport { TldrawConfig } from '../config';\nimport { calculateDiff } from '../utils';\nimport { WsSharedDocDo } from '../domain/ws-shared-doc.do';\n\n@Injectable()\nexport class TldrawBoardRepo {\n\tpublic connectionString: string;\n\n\tpublic collectionName: string;\n\n\tpublic flushSize: number;\n\n\tpublic multipleCollections: boolean;\n\n\tpublic mdb: MongodbPersistence;\n\n\tconstructor(public readonly configService: ConfigService) {\n\t\tthis.connectionString = this.configService.get('CONNECTION_STRING');\n\t\tthis.collectionName = this.configService.get('TLDRAW_DB_COLLECTION_NAME') ?? 'drawings';\n\t\tthis.flushSize = this.configService.get('TLDRAW_DB_FLUSH_SIZE') ?? 400;\n\t\tthis.multipleCollections = this.configService.get('TLDRAW_DB_MULTIPLE_COLLECTIONS');\n\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-assignment\n\t\tthis.mdb = new MongodbPersistence(this.connectionString, {\n\t\t\tcollectionName: this.collectionName,\n\t\t\tflushSize: this.flushSize,\n\t\t\tmultipleCollections: this.multipleCollections,\n\t\t});\n\t}\n\n\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t// @ts-ignore\n\t// eslint-disable-next-line consistent-return\n\tpublic async getYDocFromMdb(docName: string): Promise {\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-assignment,@typescript-eslint/no-unsafe-member-access\n\t\tconst yDoc = await this.mdb.getYDoc(docName);\n\t\tif (yDoc instanceof Doc) {\n\t\t\treturn yDoc;\n\t\t}\n\t}\n\n\tpublic updateStoredDocWithDiff(docName: string, diff: Uint8Array): void {\n\t\tconst calc = calculateDiff(diff);\n\t\tif (calc > 0) {\n\t\t\tvoid this.mdb.storeUpdate(docName, diff);\n\t\t}\n\t}\n\n\tpublic async updateDocument(docName: string, ydoc: WsSharedDocDo): Promise {\n\t\tconst persistedYdoc = await this.getYDocFromMdb(docName);\n\t\tconst persistedStateVector = encodeStateVector(persistedYdoc);\n\t\tconst diff = encodeStateAsUpdate(ydoc, persistedStateVector);\n\t\tthis.updateStoredDocWithDiff(docName, diff);\n\n\t\tapplyUpdate(ydoc, encodeStateAsUpdate(persistedYdoc));\n\n\t\tydoc.on('update', (update: Uint8Array) => {\n\t\t\tvoid this.mdb.storeUpdate(docName, update);\n\t\t});\n\n\t\tpersistedYdoc.destroy();\n\t}\n\n\tpublic async flushDocument(docName: string): Promise {\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access\n\t\tawait this.mdb.flushDocument(docName);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TldrawClientModule.html":{"url":"modules/TldrawClientModule.html","title":"module - TldrawClientModule","body":"\n \n\n\n\n\n Modules\n TldrawClientModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_TldrawClientModule\n\n\n\ncluster_TldrawClientModule_imports\n\n\n\ncluster_TldrawClientModule_providers\n\n\n\n\nLoggerModule\n\nLoggerModule\n\n\n\nTldrawClientModule\n\nTldrawClientModule\n\nTldrawClientModule -->\n\nLoggerModule->TldrawClientModule\n\n\n\n\n\nDrawingElementAdapterService\n\nDrawingElementAdapterService\n\nTldrawClientModule -->\n\nDrawingElementAdapterService->TldrawClientModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tldraw-client/tldraw-client.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n DrawingElementAdapterService\n \n \n \n \n Imports\n \n \n LoggerModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { DrawingElementAdapterService } from './service';\n\n@Module({\n\timports: [LoggerModule],\n\tproviders: [DrawingElementAdapterService],\n\texports: [],\n})\nexport class TldrawClientModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TldrawConfig.html":{"url":"interfaces/TldrawConfig.html","title":"interface - TldrawConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TldrawConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n CONNECTION_STRING\n \n \n \n \n FEATURE_TLDRAW_ENABLED\n \n \n \n \n INCOMING_REQUEST_TIMEOUT\n \n \n \n \n NEST_LOG_LEVEL\n \n \n \n \n TLDRAW_DB_COLLECTION_NAME\n \n \n \n \n TLDRAW_DB_FLUSH_SIZE\n \n \n \n \n TLDRAW_DB_MULTIPLE_COLLECTIONS\n \n \n \n \n TLDRAW_GC_ENABLED\n \n \n \n \n TLDRAW_PING_TIMEOUT\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n CONNECTION_STRING\n \n \n \n \n \n \n \n \n CONNECTION_STRING: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n FEATURE_TLDRAW_ENABLED\n \n \n \n \n \n \n \n \n FEATURE_TLDRAW_ENABLED: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT\n \n \n \n \n \n \n \n \n INCOMING_REQUEST_TIMEOUT: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n NEST_LOG_LEVEL\n \n \n \n \n \n \n \n \n NEST_LOG_LEVEL: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n TLDRAW_DB_COLLECTION_NAME\n \n \n \n \n \n \n \n \n TLDRAW_DB_COLLECTION_NAME: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n TLDRAW_DB_FLUSH_SIZE\n \n \n \n \n \n \n \n \n TLDRAW_DB_FLUSH_SIZE: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n TLDRAW_DB_MULTIPLE_COLLECTIONS\n \n \n \n \n \n \n \n \n TLDRAW_DB_MULTIPLE_COLLECTIONS: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n TLDRAW_GC_ENABLED\n \n \n \n \n \n \n \n \n TLDRAW_GC_ENABLED: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n TLDRAW_PING_TIMEOUT\n \n \n \n \n \n \n \n \n TLDRAW_PING_TIMEOUT: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons';\n\nexport interface TldrawConfig {\n\tNEST_LOG_LEVEL: string;\n\tINCOMING_REQUEST_TIMEOUT: number;\n\tTLDRAW_DB_COLLECTION_NAME: string;\n\tTLDRAW_DB_FLUSH_SIZE: string;\n\tTLDRAW_DB_MULTIPLE_COLLECTIONS: boolean;\n\tCONNECTION_STRING: string;\n\tFEATURE_TLDRAW_ENABLED: boolean;\n\tTLDRAW_PING_TIMEOUT: number;\n\tTLDRAW_GC_ENABLED: number;\n}\n\nconst tldrawConnectionString: string = Configuration.get('TLDRAW_DB_URL') as string;\n\nconst tldrawConfig = {\n\tNEST_LOG_LEVEL: Configuration.get('NEST_LOG_LEVEL') as string,\n\tINCOMING_REQUEST_TIMEOUT: Configuration.get('INCOMING_REQUEST_TIMEOUT_API') as number,\n\tTLDRAW_DB_COLLECTION_NAME: Configuration.get('TLDRAW__DB_COLLECTION_NAME') as string,\n\tTLDRAW_DB_FLUSH_SIZE: Configuration.get('TLDRAW__DB_FLUSH_SIZE') as number,\n\tTLDRAW_DB_MULTIPLE_COLLECTIONS: Configuration.get('TLDRAW__DB_MULTIPLE_COLLECTIONS') as boolean,\n\tFEATURE_TLDRAW_ENABLED: Configuration.get('FEATURE_TLDRAW_ENABLED') as boolean,\n\tCONNECTION_STRING: tldrawConnectionString,\n\tTLDRAW_PING_TIMEOUT: Configuration.get('TLDRAW__PING_TIMEOUT') as number,\n\tTLDRAW_GC_ENABLED: Configuration.get('TLDRAW__GC_ENABLED') as boolean,\n};\n\nexport const SOCKET_PORT = Configuration.get('TLDRAW__SOCKET_PORT') as number;\nexport const config = () => tldrawConfig;\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/TldrawController.html":{"url":"controllers/TldrawController.html","title":"controller - TldrawController","body":"\n \n\n\n\n\n\n\n Controllers\n TldrawController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/controller/tldraw.controller.ts\n \n\n \n Prefix\n \n \n tldraw-document\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteByDocName\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteByDocName\n \n \n \n \n \n \n \n deleteByDocName(urlParams: TldrawDeleteParams)\n \n \n\n \n \n Decorators : \n \n @ApiOperation({summary: 'Delete every element of tldraw drawing by its docName.'})@ApiResponse({status: 204})@ApiResponse({status: 400, type: ApiValidationError})@ApiResponse({status: 403, type: ForbiddenException})@ApiResponse({status: 404, type: NotFoundException})@HttpCode(204)@Delete(':docName')\n \n \n\n \n \n Defined in apps/server/src/modules/tldraw/controller/tldraw.controller.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n urlParams\n \n TldrawDeleteParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { Controller, Delete, ForbiddenException, HttpCode, NotFoundException, Param } from '@nestjs/common';\nimport { ApiValidationError } from '@shared/common';\nimport { TldrawService } from '../service/tldraw.service';\nimport { TldrawDeleteParams } from './tldraw.params';\n\n@ApiTags('Tldraw Document')\n@Controller('tldraw-document')\nexport class TldrawController {\n\tconstructor(private readonly tldrawService: TldrawService) {}\n\n\t@ApiOperation({ summary: 'Delete every element of tldraw drawing by its docName.' })\n\t@ApiResponse({ status: 204 })\n\t@ApiResponse({ status: 400, type: ApiValidationError })\n\t@ApiResponse({ status: 403, type: ForbiddenException })\n\t@ApiResponse({ status: 404, type: NotFoundException })\n\t@HttpCode(204)\n\t@Delete(':docName')\n\tasync deleteByDocName(@Param() urlParams: TldrawDeleteParams) {\n\t\tawait this.tldrawService.deleteByDocName(urlParams.docName);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TldrawDeleteParams.html":{"url":"classes/TldrawDeleteParams.html","title":"class - TldrawDeleteParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TldrawDeleteParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/controller/tldraw.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n docName\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n docName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsString()@ApiProperty({description: 'The name of drawing that should be deleted.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/tldraw/controller/tldraw.params.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsString } from 'class-validator';\n\nexport class TldrawDeleteParams {\n\t@IsString()\n\t@ApiProperty({\n\t\tdescription: 'The name of drawing that should be deleted.',\n\t\trequired: true,\n\t\tnullable: false,\n\t})\n\tdocName!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/TldrawDrawing.html":{"url":"entities/TldrawDrawing.html","title":"entity - TldrawDrawing","body":"\n \n\n\n\n\n\n\n\n Entities\n TldrawDrawing\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/entities/tldraw-drawing.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n _id\n \n \n \n Optional\n action\n \n \n \n Optional\n clock\n \n \n \n docName\n \n \n \n value\n \n \n \n version\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n _id\n \n \n \n \n \n \n Type : ObjectId\n\n \n \n \n \n Decorators : \n \n \n @PrimaryKey()\n \n \n \n \n \n Defined in apps/server/src/modules/tldraw/entities/tldraw-drawing.entity.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n action\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tldraw/entities/tldraw-drawing.entity.ts:36\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n clock\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tldraw/entities/tldraw-drawing.entity.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n \n docName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/tldraw/entities/tldraw-drawing.entity.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n value\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/tldraw/entities/tldraw-drawing.entity.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n version\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/tldraw/entities/tldraw-drawing.entity.ts:27\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, PrimaryKey, Property } from '@mikro-orm/core';\nimport { BadRequestException } from '@nestjs/common';\nimport { ObjectId } from '@mikro-orm/mongodb';\n\n@Entity({ tableName: 'drawings' })\nexport class TldrawDrawing {\n\tconstructor(props: TldrawDrawingProps) {\n\t\tif (!props.docName) throw new BadRequestException('Tldraw element should have name.');\n\t\tthis.docName = props.docName;\n\t\tthis.version = props.version;\n\t\tthis.value = props.value;\n\t\tif (typeof props.clock === 'number') {\n\t\t\tthis.clock = props.clock;\n\t\t}\n\t\tif (props.action) {\n\t\t\tthis.action = props.action;\n\t\t}\n\t}\n\n\t@PrimaryKey()\n\t_id!: ObjectId;\n\n\t@Property({ nullable: false })\n\tdocName: string;\n\n\t@Property({ nullable: false })\n\tversion: string;\n\n\t@Property({ nullable: false })\n\tvalue: string;\n\n\t@Property({ nullable: true })\n\tclock?: number;\n\n\t@Property({ nullable: true })\n\taction?: string;\n}\n\nexport interface TldrawDrawingProps {\n\t_id?: string;\n\tdocName: string;\n\tversion: string;\n\tclock?: number;\n\taction?: string;\n\tvalue: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TldrawDrawingProps.html":{"url":"interfaces/TldrawDrawingProps.html","title":"interface - TldrawDrawingProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TldrawDrawingProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/entities/tldraw-drawing.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n _id\n \n \n \n Optional\n \n action\n \n \n \n Optional\n \n clock\n \n \n \n \n docName\n \n \n \n \n value\n \n \n \n \n version\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n _id\n \n \n \n \n \n \n \n \n _id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n action\n \n \n \n \n \n \n \n \n action: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n clock\n \n \n \n \n \n \n \n \n clock: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n docName\n \n \n \n \n \n \n \n \n docName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n value\n \n \n \n \n \n \n \n \n value: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n version\n \n \n \n \n \n \n \n \n version: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Entity, PrimaryKey, Property } from '@mikro-orm/core';\nimport { BadRequestException } from '@nestjs/common';\nimport { ObjectId } from '@mikro-orm/mongodb';\n\n@Entity({ tableName: 'drawings' })\nexport class TldrawDrawing {\n\tconstructor(props: TldrawDrawingProps) {\n\t\tif (!props.docName) throw new BadRequestException('Tldraw element should have name.');\n\t\tthis.docName = props.docName;\n\t\tthis.version = props.version;\n\t\tthis.value = props.value;\n\t\tif (typeof props.clock === 'number') {\n\t\t\tthis.clock = props.clock;\n\t\t}\n\t\tif (props.action) {\n\t\t\tthis.action = props.action;\n\t\t}\n\t}\n\n\t@PrimaryKey()\n\t_id!: ObjectId;\n\n\t@Property({ nullable: false })\n\tdocName: string;\n\n\t@Property({ nullable: false })\n\tversion: string;\n\n\t@Property({ nullable: false })\n\tvalue: string;\n\n\t@Property({ nullable: true })\n\tclock?: number;\n\n\t@Property({ nullable: true })\n\taction?: string;\n}\n\nexport interface TldrawDrawingProps {\n\t_id?: string;\n\tdocName: string;\n\tversion: string;\n\tclock?: number;\n\taction?: string;\n\tvalue: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TldrawModule.html":{"url":"modules/TldrawModule.html","title":"module - TldrawModule","body":"\n \n\n\n\n\n Modules\n TldrawModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_TldrawModule\n\n\n\ncluster_TldrawModule_providers\n\n\n\ncluster_TldrawModule_imports\n\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\n\n\nTldrawModule\n\nTldrawModule\n\nTldrawModule -->\n\nAuthenticationModule->TldrawModule\n\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\nTldrawModule -->\n\nAuthorizationModule->TldrawModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nTldrawModule -->\n\nCoreModule->TldrawModule\n\n\n\n\n\nRabbitMQWrapperTestModule\n\nRabbitMQWrapperTestModule\n\nTldrawModule -->\n\nRabbitMQWrapperTestModule->TldrawModule\n\n\n\n\n\nLogger\n\nLogger\n\nTldrawModule -->\n\nLogger->TldrawModule\n\n\n\n\n\nTldrawBoardRepo\n\nTldrawBoardRepo\n\nTldrawModule -->\n\nTldrawBoardRepo->TldrawModule\n\n\n\n\n\nTldrawRepo\n\nTldrawRepo\n\nTldrawModule -->\n\nTldrawRepo->TldrawModule\n\n\n\n\n\nTldrawService\n\nTldrawService\n\nTldrawModule -->\n\nTldrawService->TldrawModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tldraw/tldraw.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n Logger\n \n \n TldrawBoardRepo\n \n \n TldrawRepo\n \n \n TldrawService\n \n \n \n \n Controllers\n \n \n TldrawController\n \n \n \n \n Imports\n \n \n AuthenticationModule\n \n \n AuthorizationModule\n \n \n CoreModule\n \n \n RabbitMQWrapperTestModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module, NotFoundException } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { createConfigModuleOptions, DB_PASSWORD, DB_USERNAME, TLDRAW_DB_URL } from '@src/config';\nimport { CoreModule } from '@src/core';\nimport { Logger } from '@src/core/logger';\nimport { MikroOrmModule, MikroOrmModuleSyncOptions } from '@mikro-orm/nestjs';\nimport { AuthenticationModule } from '@modules/authentication/authentication.module';\nimport { RabbitMQWrapperTestModule } from '@infra/rabbitmq';\nimport { Dictionary, IPrimaryKey } from '@mikro-orm/core';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { TldrawDrawing } from './entities';\nimport { config } from './config';\nimport { TldrawService } from './service/tldraw.service';\nimport { TldrawBoardRepo } from './repo';\nimport { TldrawController } from './controller/tldraw.controller';\nimport { TldrawRepo } from './repo/tldraw.repo';\n\nconst defaultMikroOrmOptions: MikroOrmModuleSyncOptions = {\n\tfindOneOrFailHandler: (entityName: string, where: Dictionary | IPrimaryKey) =>\n\t\t// eslint-disable-next-line @typescript-eslint/restrict-template-expressions\n\t\tnew NotFoundException(`The requested ${entityName}: ${where} has not been found.`),\n};\n\n@Module({\n\timports: [\n\t\tAuthorizationModule,\n\t\tAuthenticationModule,\n\t\tCoreModule,\n\t\tRabbitMQWrapperTestModule,\n\t\tMikroOrmModule.forRoot({\n\t\t\t...defaultMikroOrmOptions,\n\t\t\ttype: 'mongo',\n\t\t\tclientUrl: TLDRAW_DB_URL,\n\t\t\tpassword: DB_PASSWORD,\n\t\t\tuser: DB_USERNAME,\n\t\t\tentities: [TldrawDrawing],\n\t\t}),\n\t\tConfigModule.forRoot(createConfigModuleOptions(config)),\n\t],\n\tproviders: [Logger, TldrawService, TldrawBoardRepo, TldrawRepo],\n\tcontrollers: [TldrawController],\n})\nexport class TldrawModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TldrawRepo.html":{"url":"injectables/TldrawRepo.html","title":"injectable - TldrawRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TldrawRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/repo/tldraw.repo.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n create\n \n \n Async\n delete\n \n \n Async\n findByDocName\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(_em: EntityManager)\n \n \n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw.repo.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n _em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n create\n \n \n \n \n \n \n \n create(entity: TldrawDrawing)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw.repo.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n TldrawDrawing\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entity: TldrawDrawing | TldrawDrawing[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw.repo.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n TldrawDrawing | TldrawDrawing[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByDocName\n \n \n \n \n \n \n \n findByDocName(docName: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/repo/tldraw.repo.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n docName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { TldrawDrawing } from '../entities';\n\n@Injectable()\nexport class TldrawRepo {\n\tconstructor(private readonly _em: EntityManager) {}\n\n\tasync create(entity: TldrawDrawing): Promise {\n\t\tawait this._em.persistAndFlush(entity);\n\t}\n\n\tasync findByDocName(docName: string): Promise {\n\t\treturn this._em.find(TldrawDrawing, { docName });\n\t}\n\n\tasync delete(entity: TldrawDrawing | TldrawDrawing[]): Promise {\n\t\tawait this._em.removeAndFlush(entity);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TldrawService.html":{"url":"injectables/TldrawService.html","title":"injectable - TldrawService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TldrawService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/service/tldraw.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteByDocName\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(tldrawRepo: TldrawRepo)\n \n \n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.service.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n tldrawRepo\n \n \n TldrawRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteByDocName\n \n \n \n \n \n \n \n deleteByDocName(docName: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.service.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n docName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { TldrawRepo } from '../repo/tldraw.repo';\n\n@Injectable()\nexport class TldrawService {\n\tconstructor(private readonly tldrawRepo: TldrawRepo) {}\n\n\tasync deleteByDocName(docName: string): Promise {\n\t\tconst drawings = await this.tldrawRepo.findByDocName(docName);\n\t\tawait this.tldrawRepo.delete(drawings);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TldrawTestModule.html":{"url":"modules/TldrawTestModule.html","title":"module - TldrawTestModule","body":"\n \n\n\n\n\n Modules\n TldrawTestModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_TldrawTestModule\n\n\n\ncluster_TldrawTestModule_imports\n\n\n\ncluster_TldrawTestModule_providers\n\n\n\n\nAuthenticationApiModule\n\nAuthenticationApiModule\n\n\n\nTldrawTestModule\n\nTldrawTestModule\n\nTldrawTestModule -->\n\nAuthenticationApiModule->TldrawTestModule\n\n\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\nTldrawTestModule -->\n\nAuthenticationModule->TldrawTestModule\n\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\nTldrawTestModule -->\n\nAuthorizationModule->TldrawTestModule\n\n\n\n\n\nCoreModule\n\nCoreModule\n\nTldrawTestModule -->\n\nCoreModule->TldrawTestModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nTldrawTestModule -->\n\nLoggerModule->TldrawTestModule\n\n\n\n\n\nMongoMemoryDatabaseModule\n\nMongoMemoryDatabaseModule\n\nTldrawTestModule -->\n\nMongoMemoryDatabaseModule->TldrawTestModule\n\n\n\n\n\nTldrawWsModule\n\nTldrawWsModule\n\nTldrawTestModule -->\n\nTldrawWsModule->TldrawTestModule\n\n\n\n\n\nTldrawBoardRepo\n\nTldrawBoardRepo\n\nTldrawTestModule -->\n\nTldrawBoardRepo->TldrawTestModule\n\n\n\n\n\nTldrawWsService\n\nTldrawWsService\n\nTldrawTestModule -->\n\nTldrawWsService->TldrawTestModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tldraw/tldraw-test.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n TldrawBoardRepo\n \n \n TldrawWsService\n \n \n \n \n Imports\n \n \n AuthenticationApiModule\n \n \n AuthenticationModule\n \n \n AuthorizationModule\n \n \n CoreModule\n \n \n LoggerModule\n \n \n MongoMemoryDatabaseModule\n \n \n TldrawWsModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options?: MongoDatabaseModuleOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/tldraw-test.module.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n MongoDatabaseModuleOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { DynamicModule, Module } from '@nestjs/common';\nimport { MongoMemoryDatabaseModule, MongoDatabaseModuleOptions } from '@infra/database';\nimport { CoreModule } from '@src/core';\nimport { LoggerModule } from '@src/core/logger';\nimport { AuthenticationModule } from '@modules/authentication/authentication.module';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { Course, User } from '@shared/domain/entity';\nimport { AuthenticationApiModule } from '../authentication/authentication-api.module';\nimport { TldrawWsModule } from './tldraw-ws.module';\nimport { TldrawWs } from './controller';\nimport { TldrawBoardRepo } from './repo';\nimport { TldrawWsService } from './service';\n\nconst imports = [\n\tTldrawWsModule,\n\tMongoMemoryDatabaseModule.forRoot({ entities: [User, Course] }),\n\tAuthenticationApiModule,\n\tAuthorizationModule,\n\tAuthenticationModule,\n\tCoreModule,\n\tLoggerModule,\n];\nconst providers = [TldrawWs, TldrawBoardRepo, TldrawWsService];\n@Module({\n\timports,\n\tproviders,\n})\nexport class TldrawTestModule {\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: TldrawTestModule,\n\t\t\timports: [...imports, MongoMemoryDatabaseModule.forRoot({ ...options })],\n\t\t\tproviders,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TldrawWs.html":{"url":"classes/TldrawWs.html","title":"class - TldrawWs","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TldrawWs\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/controller/tldraw.ws.ts\n \n\n\n\n\n \n Implements\n \n \n OnGatewayInit\n OnGatewayConnection\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n server\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n afterInit\n \n \n Private\n getDocNameFromRequest\n \n \n Public\n handleConnection\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(configService: ConfigService, tldrawWsService: TldrawWsService)\n \n \n \n \n Defined in apps/server/src/modules/tldraw/controller/tldraw.ws.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n tldrawWsService\n \n \n TldrawWsService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n server\n \n \n \n \n \n \n Type : Server\n\n \n \n \n \n Decorators : \n \n \n @WebSocketServer()\n \n \n \n \n \n Defined in apps/server/src/modules/tldraw/controller/tldraw.ws.ts:11\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n afterInit\n \n \n \n \n \n \n \n afterInit()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/controller/tldraw.ws.ts:31\n \n \n\n\n \n \n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Private\n getDocNameFromRequest\n \n \n \n \n \n \n \n getDocNameFromRequest(request: Request)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/controller/tldraw.ws.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n request\n \n Request\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : string\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n handleConnection\n \n \n \n \n \n \n \n handleConnection(client: WebSocket, request: Request)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/controller/tldraw.ws.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n client\n \n WebSocket\n \n\n \n No\n \n\n\n \n \n request\n \n Request\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { WebSocketGateway, WebSocketServer, OnGatewayInit, OnGatewayConnection } from '@nestjs/websockets';\nimport { Server, WebSocket } from 'ws';\nimport { ConfigService } from '@nestjs/config';\nimport { TldrawConfig, SOCKET_PORT } from '../config';\nimport { WsCloseCodeEnum } from '../types';\nimport { TldrawWsService } from '../service';\n\n@WebSocketGateway(SOCKET_PORT)\nexport class TldrawWs implements OnGatewayInit, OnGatewayConnection {\n\t@WebSocketServer()\n\tserver!: Server;\n\n\tconstructor(\n\t\tprivate readonly configService: ConfigService,\n\t\tprivate readonly tldrawWsService: TldrawWsService\n\t) {}\n\n\tpublic handleConnection(client: WebSocket, request: Request): void {\n\t\tconst docName = this.getDocNameFromRequest(request);\n\n\t\tif (docName.length > 0 && this.configService.get('FEATURE_TLDRAW_ENABLED')) {\n\t\t\tthis.tldrawWsService.setupWSConnection(client, docName);\n\t\t} else {\n\t\t\tclient.close(\n\t\t\t\tWsCloseCodeEnum.WS_CLIENT_BAD_REQUEST_CODE,\n\t\t\t\t'Document name is mandatory in url or Tldraw Tool is turned off.'\n\t\t\t);\n\t\t}\n\t}\n\n\tpublic afterInit(): void {\n\t\tthis.tldrawWsService.setPersistence({\n\t\t\tbindState: async (docName, ydoc) => {\n\t\t\t\tawait this.tldrawWsService.updateDocument(docName, ydoc);\n\t\t\t},\n\t\t\twriteState: async (docName) => {\n\t\t\t\t// This is called when all connections to the document are closed.\n\t\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access\n\t\t\t\tawait this.tldrawWsService.flushDocument(docName);\n\t\t\t},\n\t\t});\n\t}\n\n\tprivate getDocNameFromRequest(request: Request): string {\n\t\tconst urlStripped = request.url.replace(/(\\/)|(tldraw-server)/g, '');\n\t\treturn urlStripped;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TldrawWsFactory.html":{"url":"classes/TldrawWsFactory.html","title":"class - TldrawWsFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TldrawWsFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/tldraw.ws.factory.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n createWebsocket\n \n \n Static\n createWsSharedDocDo\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n createWebsocket\n \n \n \n \n \n \n \n createWebsocket(readyState: number)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/tldraw.ws.factory.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n readyState\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : WebSocket\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n createWsSharedDocDo\n \n \n \n \n \n \n \n createWsSharedDocDo()\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/tldraw.ws.factory.ts:5\n \n \n\n\n \n \n\n \n Returns : WsSharedDocDo\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { WsSharedDocDo } from '@modules/tldraw/domain/ws-shared-doc.do';\nimport WebSocket from 'ws';\n\nexport class TldrawWsFactory {\n\tpublic static createWsSharedDocDo(): WsSharedDocDo {\n\t\treturn { conns: new Map(), destroy: () => {} } as WsSharedDocDo;\n\t}\n\n\tpublic static createWebsocket(readyState: number): WebSocket {\n\t\treturn { readyState, close: () => {} } as WebSocket;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TldrawWsModule.html":{"url":"modules/TldrawWsModule.html","title":"module - TldrawWsModule","body":"\n \n\n\n\n\n Modules\n TldrawWsModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_TldrawWsModule\n\n\n\ncluster_TldrawWsModule_imports\n\n\n\ncluster_TldrawWsModule_providers\n\n\n\n\nCoreModule\n\nCoreModule\n\n\n\nTldrawWsModule\n\nTldrawWsModule\n\nTldrawWsModule -->\n\nCoreModule->TldrawWsModule\n\n\n\n\n\nLogger\n\nLogger\n\nTldrawWsModule -->\n\nLogger->TldrawWsModule\n\n\n\n\n\nTldrawBoardRepo\n\nTldrawBoardRepo\n\nTldrawWsModule -->\n\nTldrawBoardRepo->TldrawWsModule\n\n\n\n\n\nTldrawWsService\n\nTldrawWsService\n\nTldrawWsModule -->\n\nTldrawWsService->TldrawWsModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tldraw/tldraw-ws.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n Logger\n \n \n TldrawBoardRepo\n \n \n TldrawWsService\n \n \n \n \n Imports\n \n \n CoreModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { ConfigModule } from '@nestjs/config';\nimport { createConfigModuleOptions } from '@src/config';\nimport { CoreModule } from '@src/core';\nimport { Logger } from '@src/core/logger';\nimport { TldrawBoardRepo } from './repo';\nimport { TldrawWsService } from './service';\nimport { TldrawWs } from './controller';\nimport { config } from './config';\n\n@Module({\n\timports: [CoreModule, ConfigModule.forRoot(createConfigModuleOptions(config))],\n\tproviders: [Logger, TldrawWs, TldrawWsService, TldrawBoardRepo],\n})\nexport class TldrawWsModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TldrawWsService.html":{"url":"injectables/TldrawWsService.html","title":"injectable - TldrawWsService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TldrawWsService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/service/tldraw.ws.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Public\n docs\n \n \n Public\n persistence\n \n \n Public\n pingTimeout\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n closeConn\n \n \n Public\n Async\n flushDocument\n \n \n getYDoc\n \n \n Public\n messageHandler\n \n \n Public\n send\n \n \n Public\n setPersistence\n \n \n Public\n setupWSConnection\n \n \n Public\n Async\n updateDocument\n \n \n Public\n updateHandler\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(configService: ConfigService, tldrawBoardRepo: TldrawBoardRepo)\n \n \n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n tldrawBoardRepo\n \n \n TldrawBoardRepo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n closeConn\n \n \n \n \n \n \n \n closeConn(doc: WsSharedDocDo, ws: WebSocket)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n doc\n \n WsSharedDocDo\n \n\n \n No\n \n\n\n \n \n ws\n \n WebSocket\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n flushDocument\n \n \n \n \n \n \n \n flushDocument(docName: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:206\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n docName\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getYDoc\n \n \n \n \n \n \ngetYDoc(docName: string, gc)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:102\n \n \n\n\n \n \n Gets a Y.Doc by name, whether in memory or on disk\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n Description\n \n \n \n \n docName\n \n string\n \n\n \n No\n \n\n \n \n\n \n \nthe name of the Y.Doc to find or create\n\n\n \n \n \n gc\n \n \n\n \n No\n \n\n \n true\n \n\n \n \nwhether to allow gc on the doc (applies only when created)\n\n\n \n \n \n \n \n \n Returns : WsSharedDocDo\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n messageHandler\n \n \n \n \n \n \n \n messageHandler(conn: WebSocket, doc: WsSharedDocDo, message: Uint8Array)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:113\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n conn\n \n WebSocket\n \n\n \n No\n \n\n\n \n \n doc\n \n WsSharedDocDo\n \n\n \n No\n \n\n\n \n \n message\n \n Uint8Array\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n send\n \n \n \n \n \n \n \n send(doc: WsSharedDocDo, conn: WebSocket, message: Uint8Array)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:65\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n doc\n \n WsSharedDocDo\n \n\n \n No\n \n\n\n \n \n conn\n \n WebSocket\n \n\n \n No\n \n\n\n \n \n message\n \n Uint8Array\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n setPersistence\n \n \n \n \n \n \n \n setPersistence(persistence_: Persitence)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n persistence_\n \n Persitence\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n setupWSConnection\n \n \n \n \n \n \n \n setupWSConnection(ws: WebSocket, docName: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:146\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n ws\n \n WebSocket\n \n\n \n No\n \n\n \n \n\n \n \n docName\n \n string\n \n\n \n No\n \n\n \n 'GLOBAL'\n \n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n updateDocument\n \n \n \n \n \n \n \n updateDocument(docName: string, ydoc: WsSharedDocDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:202\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n docName\n \n string\n \n\n \n No\n \n\n\n \n \n ydoc\n \n WsSharedDocDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n updateHandler\n \n \n \n \n \n \n \n updateHandler(update: Uint8Array, origin, doc: WsSharedDocDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:85\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n update\n \n Uint8Array\n \n\n \n No\n \n\n\n \n \n origin\n \n \n\n \n No\n \n\n\n \n \n doc\n \n WsSharedDocDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Public\n docs\n \n \n \n \n \n \n Default value : new Map()\n \n \n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n persistence\n \n \n \n \n \n \n Type : Persitence | null\n\n \n \n \n \n Default value : null\n \n \n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n pingTimeout\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Defined in apps/server/src/modules/tldraw/service/tldraw.ws.service.ts:14\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport WebSocket from 'ws';\nimport { applyAwarenessUpdate, encodeAwarenessUpdate, removeAwarenessStates } from 'y-protocols/awareness';\nimport { encoding, decoding, map } from 'lib0';\nimport { readSyncMessage, writeSyncStep1, writeUpdate } from 'y-protocols/sync';\nimport { Persitence, WSConnectionState, WSMessageType } from '../types';\nimport { TldrawConfig } from '../config';\nimport { WsSharedDocDo } from '../domain/ws-shared-doc.do';\nimport { TldrawBoardRepo } from '../repo';\n\n@Injectable()\nexport class TldrawWsService {\n\tpublic pingTimeout: number;\n\n\tpublic persistence: Persitence | null = null;\n\n\tpublic docs = new Map();\n\n\tconstructor(\n\t\tprivate readonly configService: ConfigService,\n\t\tprivate readonly tldrawBoardRepo: TldrawBoardRepo\n\t) {\n\t\tthis.pingTimeout = this.configService.get('TLDRAW_PING_TIMEOUT');\n\t}\n\n\tpublic setPersistence(persistence_: Persitence): void {\n\t\tthis.persistence = persistence_;\n\t}\n\n\t/**\n\t * @param {WsSharedDocDo} doc\n\t * @param {WebSocket} ws\n\t */\n\tpublic closeConn(doc: WsSharedDocDo, ws: WebSocket): void {\n\t\tif (doc.conns.has(ws)) {\n\t\t\tconst controlledIds = doc.conns.get(ws) as Set;\n\t\t\tdoc.conns.delete(ws);\n\t\t\tremoveAwarenessStates(doc.awareness, Array.from(controlledIds), null);\n\t\t\tif (doc.conns.size === 0 && this.persistence !== null) {\n\t\t\t\t// if persisted, we store state and destroy ydocument\n\t\t\t\tthis.persistence\n\t\t\t\t\t.writeState(doc.name, doc)\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tdoc.destroy();\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t})\n\t\t\t\t\t.catch(() => {});\n\t\t\t\tthis.docs.delete(doc.name);\n\t\t\t}\n\t\t}\n\n\t\ttry {\n\t\t\tws.close();\n\t\t} catch (err) {\n\t\t\tthrow new Error('Cannot close the connection. It is possible that connection is already closed.');\n\t\t}\n\t}\n\n\t/**\n\t * @param {WsSharedDocDo} doc\n\t * @param {WebSocket} conn\n\t * @param {Uint8Array} message\n\t */\n\tpublic send(doc: WsSharedDocDo, conn: WebSocket, message: Uint8Array): void {\n\t\tif (conn.readyState !== WSConnectionState.CONNECTING && conn.readyState !== WSConnectionState.OPEN) {\n\t\t\tthis.closeConn(doc, conn);\n\t\t}\n\t\ttry {\n\t\t\tconn.send(message, (err: Error | undefined) => {\n\t\t\t\tif (err != null) {\n\t\t\t\t\tthis.closeConn(doc, conn);\n\t\t\t\t}\n\t\t\t});\n\t\t} catch (e) {\n\t\t\tthis.closeConn(doc, conn);\n\t\t}\n\t}\n\n\t/**\n\t * @param {Uint8Array} update\n\t * @param {any} origin\n\t * @param {WsSharedDocDo} doc\n\t */\n\tpublic updateHandler(update: Uint8Array, origin, doc: WsSharedDocDo): void {\n\t\tconst encoder = encoding.createEncoder();\n\t\tencoding.writeVarUint(encoder, WSMessageType.SYNC);\n\t\twriteUpdate(encoder, update);\n\t\tconst message = encoding.toUint8Array(encoder);\n\t\tdoc.conns.forEach((_, conn) => {\n\t\t\tthis.send(doc, conn, message);\n\t\t});\n\t}\n\n\t/**\n\t * Gets a Y.Doc by name, whether in memory or on disk\n\t *\n\t * @param {string} docName - the name of the Y.Doc to find or create\n\t * @param {boolean} gc - whether to allow gc on the doc (applies only when created)\n\t * @return {WsSharedDocDo}\n\t */\n\tgetYDoc(docName: string, gc = true): WsSharedDocDo {\n\t\treturn map.setIfUndefined(this.docs, docName, () => {\n\t\t\tconst doc = new WsSharedDocDo(docName, this, gc);\n\t\t\tif (this.persistence !== null) {\n\t\t\t\tthis.persistence.bindState(docName, doc).catch(() => {});\n\t\t\t}\n\t\t\tthis.docs.set(docName, doc);\n\t\t\treturn doc;\n\t\t});\n\t}\n\n\tpublic messageHandler(conn: WebSocket, doc: WsSharedDocDo, message: Uint8Array): void {\n\t\ttry {\n\t\t\tconst encoder = encoding.createEncoder();\n\t\t\tconst decoder = decoding.createDecoder(message);\n\t\t\tconst messageType = decoding.readVarUint(decoder);\n\t\t\tswitch (messageType) {\n\t\t\t\tcase WSMessageType.SYNC:\n\t\t\t\t\tencoding.writeVarUint(encoder, WSMessageType.SYNC);\n\t\t\t\t\treadSyncMessage(decoder, encoder, doc, conn);\n\n\t\t\t\t\t// If the `encoder` only contains the type of reply message and no\n\t\t\t\t\t// message, there is no need to send the message. When `encoder` only\n\t\t\t\t\t// contains the type of reply, its length is 1.\n\t\t\t\t\tif (encoding.length(encoder) > 1) {\n\t\t\t\t\t\tthis.send(doc, conn, encoding.toUint8Array(encoder));\n\t\t\t\t\t}\n\t\t\t\t\tbreak;\n\t\t\t\tcase WSMessageType.AWARENESS: {\n\t\t\t\t\tapplyAwarenessUpdate(doc.awareness, decoding.readVarUint8Array(decoder), conn);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tdefault:\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tdoc.emit('error', [err]);\n\t\t}\n\t}\n\n\t/**\n\t * @param {WebSocket} ws\n\t * @param {string} docName\n\t */\n\tpublic setupWSConnection(ws: WebSocket, docName = 'GLOBAL'): void {\n\t\tws.binaryType = 'arraybuffer';\n\t\t// get doc, initialize if it does not exist yet\n\t\tconst doc = this.getYDoc(docName, true);\n\t\tdoc.conns.set(ws, new Set());\n\n\t\t// listen and reply to events\n\t\tws.on('message', (message: ArrayBufferLike) => {\n\t\t\tthis.messageHandler(ws, doc, new Uint8Array(message));\n\t\t});\n\n\t\t// Check if connection is still alive\n\t\tlet pongReceived = true;\n\t\tconst pingInterval = setInterval(() => {\n\t\t\tconst hasConn = doc.conns.has(ws);\n\n\t\t\tif (pongReceived) {\n\t\t\t\tif (!hasConn) return;\n\t\t\t\tpongReceived = false;\n\n\t\t\t\ttry {\n\t\t\t\t\tws.ping();\n\t\t\t\t} catch (e) {\n\t\t\t\t\tthis.closeConn(doc, ws);\n\t\t\t\t\tclearInterval(pingInterval);\n\t\t\t\t}\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (hasConn) {\n\t\t\t\tthis.closeConn(doc, ws);\n\t\t\t}\n\n\t\t\tclearInterval(pingInterval);\n\t\t}, this.pingTimeout);\n\t\tws.on('close', () => {\n\t\t\tthis.closeConn(doc, ws);\n\t\t\tclearInterval(pingInterval);\n\t\t});\n\t\tws.on('pong', () => {\n\t\t\tpongReceived = true;\n\t\t});\n\t\t{\n\t\t\tconst encoder = encoding.createEncoder();\n\t\t\tencoding.writeVarUint(encoder, WSMessageType.SYNC);\n\t\t\twriteSyncStep1(encoder, doc);\n\t\t\tthis.send(doc, ws, encoding.toUint8Array(encoder));\n\t\t\tconst awarenessStates = doc.awareness.getStates();\n\t\t\tif (awarenessStates.size > 0) {\n\t\t\t\tencoding.writeVarUint(encoder, WSMessageType.AWARENESS);\n\t\t\t\tencoding.writeVarUint8Array(encoder, encodeAwarenessUpdate(doc.awareness, Array.from(awarenessStates.keys())));\n\t\t\t\tthis.send(doc, ws, encoding.toUint8Array(encoder));\n\t\t\t}\n\t\t}\n\t}\n\n\tpublic async updateDocument(docName: string, ydoc: WsSharedDocDo): Promise {\n\t\tawait this.tldrawBoardRepo.updateDocument(docName, ydoc);\n\t}\n\n\tpublic async flushDocument(docName: string): Promise {\n\t\tawait this.tldrawBoardRepo.flushDocument(docName);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/TldrawWsTestModule.html":{"url":"modules/TldrawWsTestModule.html","title":"module - TldrawWsTestModule","body":"\n \n\n\n\n\n Modules\n TldrawWsTestModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_TldrawWsTestModule\n\n\n\ncluster_TldrawWsTestModule_providers\n\n\n\ncluster_TldrawWsTestModule_imports\n\n\n\n\nCoreModule\n\nCoreModule\n\n\n\nTldrawWsTestModule\n\nTldrawWsTestModule\n\nTldrawWsTestModule -->\n\nCoreModule->TldrawWsTestModule\n\n\n\n\n\nTldrawBoardRepo\n\nTldrawBoardRepo\n\nTldrawWsTestModule -->\n\nTldrawBoardRepo->TldrawWsTestModule\n\n\n\n\n\nTldrawWsService\n\nTldrawWsService\n\nTldrawWsTestModule -->\n\nTldrawWsService->TldrawWsTestModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tldraw/tldraw-ws-test.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n TldrawBoardRepo\n \n \n TldrawWsService\n \n \n \n \n Imports\n \n \n CoreModule\n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n forRoot\n \n \n \n \n \n \n \n forRoot(options?: MongoDatabaseModuleOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/tldraw-ws-test.module.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n MongoDatabaseModuleOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : DynamicModule\n\n \n \n \n \n \n \n \n \n\n \n\n\n \n import { DynamicModule, Module } from '@nestjs/common';\nimport { MongoMemoryDatabaseModule, MongoDatabaseModuleOptions } from '@infra/database';\nimport { CoreModule } from '@src/core';\nimport { ConfigModule } from '@nestjs/config';\nimport { createConfigModuleOptions } from '@src/config';\nimport { TldrawBoardRepo } from './repo';\nimport { TldrawWsService } from './service';\nimport { config } from './config';\nimport { TldrawWs } from './controller';\n\nconst imports = [CoreModule, ConfigModule.forRoot(createConfigModuleOptions(config))];\nconst providers = [TldrawWs, TldrawBoardRepo, TldrawWsService];\n@Module({\n\timports,\n\tproviders,\n})\nexport class TldrawWsTestModule {\n\tstatic forRoot(options?: MongoDatabaseModuleOptions): DynamicModule {\n\t\treturn {\n\t\t\tmodule: TldrawWsTestModule,\n\t\t\timports: [...imports, MongoMemoryDatabaseModule.forRoot({ ...options })],\n\t\t\tproviders,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ToggleUserLoginMigrationUc.html":{"url":"injectables/ToggleUserLoginMigrationUc.html","title":"injectable - ToggleUserLoginMigrationUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ToggleUserLoginMigrationUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/uc/toggle-user-login-migration.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n checkPermission\n \n \n Async\n setMigrationMandatory\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userLoginMigrationService: UserLoginMigrationService, authorizationService: AuthorizationService, schoolService: LegacySchoolService, logger: Logger)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/uc/toggle-user-login-migration.uc.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigrationService\n \n \n UserLoginMigrationService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n checkPermission\n \n \n \n \n \n \n \n checkPermission(userId: string, schoolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/uc/toggle-user-login-migration.uc.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n string\n \n\n \n No\n \n\n\n \n \n schoolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n setMigrationMandatory\n \n \n \n \n \n \n \n setMigrationMandatory(userId: EntityId, schoolId: EntityId, mandatory: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/uc/toggle-user-login-migration.uc.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n mandatory\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContext, AuthorizationContextBuilder, AuthorizationService } from '@modules/authorization';\nimport { LegacySchoolService } from '@modules/legacy-school';\nimport { Injectable } from '@nestjs/common';\nimport { LegacySchoolDo, UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { Logger } from '@src/core/logger';\nimport { UserLoginMigrationMandatoryLoggable, UserLoginMigrationNotFoundLoggableException } from '../loggable';\nimport { UserLoginMigrationService } from '../service';\n\n@Injectable()\nexport class ToggleUserLoginMigrationUc {\n\tconstructor(\n\t\tprivate readonly userLoginMigrationService: UserLoginMigrationService,\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly schoolService: LegacySchoolService,\n\t\tprivate readonly logger: Logger\n\t) {}\n\n\tasync setMigrationMandatory(userId: EntityId, schoolId: EntityId, mandatory: boolean): Promise {\n\t\tawait this.checkPermission(userId, schoolId);\n\n\t\tlet userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationService.findMigrationBySchool(\n\t\t\tschoolId\n\t\t);\n\n\t\tif (!userLoginMigration) {\n\t\t\tthrow new UserLoginMigrationNotFoundLoggableException(schoolId);\n\t\t}\n\n\t\tuserLoginMigration = await this.userLoginMigrationService.setMigrationMandatory(userLoginMigration, mandatory);\n\n\t\tthis.logger.debug(new UserLoginMigrationMandatoryLoggable(userId, userLoginMigration.id, mandatory));\n\n\t\treturn userLoginMigration;\n\t}\n\n\tprivate async checkPermission(userId: string, schoolId: string): Promise {\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(userId);\n\t\tconst school: LegacySchoolDo = await this.schoolService.getSchoolById(schoolId);\n\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.write([Permission.USER_LOGIN_MIGRATION_ADMIN]);\n\t\tthis.authorizationService.checkPermission(user, school, context);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/TokenGenerator.html":{"url":"injectables/TokenGenerator.html","title":"injectable - TokenGenerator","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n TokenGenerator\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/sharing/service/token-generator.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n generateShareToken\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n generateShareToken\n \n \n \n \n \n \ngenerateShareToken()\n \n \n\n\n \n \n Defined in apps/server/src/modules/sharing/service/token-generator.service.ts:7\n \n \n\n\n \n \n\n \n Returns : ShareTokenString\n\n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { nanoid } from 'nanoid';\nimport { ShareTokenString } from '../domainobject/share-token.do';\n\n@Injectable()\nexport class TokenGenerator {\n\tgenerateShareToken(): ShareTokenString {\n\t\tconst token = nanoid(12);\n\t\treturn token;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TokenRequestLoggableException.html":{"url":"classes/TokenRequestLoggableException.html","title":"class - TokenRequestLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TokenRequestLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/loggable/token-request-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n AxiosErrorLoggable\n \n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(error: AxiosError)\n \n \n \n \n Defined in apps/server/src/modules/oauth/loggable/token-request-loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n error\n \n \n AxiosError\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Inherited from AxiosErrorLoggable\n\n \n \n \n \n Defined in AxiosErrorLoggable:12\n\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { AxiosErrorLoggable } from '@src/core/error/loggable';\nimport { AxiosError } from 'axios';\n\nexport class TokenRequestLoggableException extends AxiosErrorLoggable {\n\tconstructor(error: AxiosError) {\n\t\tsuper(error, 'OAUTH_TOKEN_REQUEST_ERROR');\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TokenRequestMapper.html":{"url":"classes/TokenRequestMapper.html","title":"class - TokenRequestMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TokenRequestMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/mapper/token-request.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n createAuthenticationCodeGrantTokenRequestPayload\n \n \n Static\n mapTokenResponseToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n createAuthenticationCodeGrantTokenRequestPayload\n \n \n \n \n \n \n \n createAuthenticationCodeGrantTokenRequestPayload(clientId: string, decryptedClientSecret: string, code: string, redirectUri: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/mapper/token-request.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n clientId\n \n string\n \n\n \n No\n \n\n\n \n \n decryptedClientSecret\n \n string\n \n\n \n No\n \n\n\n \n \n code\n \n string\n \n\n \n No\n \n\n\n \n \n redirectUri\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : AuthenticationCodeGrantTokenRequest\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapTokenResponseToDto\n \n \n \n \n \n \n \n mapTokenResponseToDto(response: OauthTokenResponse)\n \n \n\n\n \n \n Defined in apps/server/src/modules/oauth/mapper/token-request.mapper.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n response\n \n OauthTokenResponse\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : OAuthTokenDto\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { OAuthTokenDto } from '../interface';\nimport { OAuthGrantType } from '../interface/oauth-grant-type.enum';\nimport { AuthenticationCodeGrantTokenRequest, OauthTokenResponse } from '../service/dto';\n\nexport class TokenRequestMapper {\n\tstatic createAuthenticationCodeGrantTokenRequestPayload(\n\t\tclientId: string,\n\t\tdecryptedClientSecret: string,\n\t\tcode: string,\n\t\tredirectUri: string\n\t): AuthenticationCodeGrantTokenRequest {\n\t\treturn new AuthenticationCodeGrantTokenRequest({\n\t\t\tclient_id: clientId,\n\t\t\tclient_secret: decryptedClientSecret,\n\t\t\tredirect_uri: redirectUri,\n\t\t\tgrant_type: OAuthGrantType.AUTHORIZATION_CODE_GRANT,\n\t\t\tcode,\n\t\t});\n\t}\n\n\tstatic mapTokenResponseToDto(response: OauthTokenResponse): OAuthTokenDto {\n\t\treturn new OAuthTokenDto({\n\t\t\tidToken: response.id_token,\n\t\t\trefreshToken: response.refresh_token,\n\t\t\taccessToken: response.access_token,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TooManyPseudonymsLoggableException.html":{"url":"classes/TooManyPseudonymsLoggableException.html","title":"class - TooManyPseudonymsLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TooManyPseudonymsLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/loggable/too-many-pseudonyms.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(pseudonym: string)\n \n \n \n \n Defined in apps/server/src/modules/pseudonym/loggable/too-many-pseudonyms.loggable-exception.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n pseudonym\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/pseudonym/loggable/too-many-pseudonyms.loggable-exception.ts:18\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { BusinessError } from '@shared/common';\nimport { Loggable } from '@src/core/logger/interfaces';\nimport { ErrorLogMessage, LogMessage, ValidationErrorLogMessage } from '@src/core/logger/types';\n\nexport class TooManyPseudonymsLoggableException extends BusinessError implements Loggable {\n\tconstructor(private readonly pseudonym: string) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'PSEUDONYMS_TOO_MANY_PSEUDONYMS_FOUND',\n\t\t\t\ttitle: 'Too many pseudonyms where found.',\n\t\t\t\tdefaultMessage: 'Too many pseudonyms where found.',\n\t\t\t},\n\t\t\tHttpStatus.BAD_REQUEST\n\t\t);\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'PSEUDONYMS_TOO_MANY_PSEUDONYMS_FOUND',\n\t\t\tmessage: 'Too many pseudonyms where found.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tpseudonym: this.pseudonym,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ToolApiModule.html":{"url":"modules/ToolApiModule.html","title":"module - ToolApiModule","body":"\n \n\n\n\n\n Modules\n ToolApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ToolApiModule\n\n\n\ncluster_ToolApiModule_providers\n\n\n\ncluster_ToolApiModule_imports\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nToolApiModule\n\nToolApiModule\n\nToolApiModule -->\n\nAuthorizationModule->ToolApiModule\n\n\n\n\n\nBoardModule\n\nBoardModule\n\nToolApiModule -->\n\nBoardModule->ToolApiModule\n\n\n\n\n\nCommonToolModule\n\nCommonToolModule\n\nToolApiModule -->\n\nCommonToolModule->ToolApiModule\n\n\n\n\n\nLearnroomModule\n\nLearnroomModule\n\nToolApiModule -->\n\nLearnroomModule->ToolApiModule\n\n\n\n\n\nLegacySchoolModule\n\nLegacySchoolModule\n\nToolApiModule -->\n\nLegacySchoolModule->ToolApiModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nToolApiModule -->\n\nLoggerModule->ToolApiModule\n\n\n\n\n\nToolConfigModule\n\nToolConfigModule\n\nToolApiModule -->\n\nToolConfigModule->ToolApiModule\n\n\n\n\n\nToolModule\n\nToolModule\n\nToolApiModule -->\n\nToolModule->ToolApiModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nToolApiModule -->\n\nUserModule->ToolApiModule\n\n\n\n\n\nContextExternalToolUc\n\nContextExternalToolUc\n\nToolApiModule -->\n\nContextExternalToolUc->ToolApiModule\n\n\n\n\n\nExternalToolConfigurationService\n\nExternalToolConfigurationService\n\nToolApiModule -->\n\nExternalToolConfigurationService->ToolApiModule\n\n\n\n\n\nExternalToolConfigurationUc\n\nExternalToolConfigurationUc\n\nToolApiModule -->\n\nExternalToolConfigurationUc->ToolApiModule\n\n\n\n\n\nExternalToolRequestMapper\n\nExternalToolRequestMapper\n\nToolApiModule -->\n\nExternalToolRequestMapper->ToolApiModule\n\n\n\n\n\nExternalToolResponseMapper\n\nExternalToolResponseMapper\n\nToolApiModule -->\n\nExternalToolResponseMapper->ToolApiModule\n\n\n\n\n\nExternalToolUc\n\nExternalToolUc\n\nToolApiModule -->\n\nExternalToolUc->ToolApiModule\n\n\n\n\n\nLtiToolRepo\n\nLtiToolRepo\n\nToolApiModule -->\n\nLtiToolRepo->ToolApiModule\n\n\n\n\n\nSchoolExternalToolRequestMapper\n\nSchoolExternalToolRequestMapper\n\nToolApiModule -->\n\nSchoolExternalToolRequestMapper->ToolApiModule\n\n\n\n\n\nSchoolExternalToolResponseMapper\n\nSchoolExternalToolResponseMapper\n\nToolApiModule -->\n\nSchoolExternalToolResponseMapper->ToolApiModule\n\n\n\n\n\nSchoolExternalToolUc\n\nSchoolExternalToolUc\n\nToolApiModule -->\n\nSchoolExternalToolUc->ToolApiModule\n\n\n\n\n\nToolLaunchUc\n\nToolLaunchUc\n\nToolApiModule -->\n\nToolLaunchUc->ToolApiModule\n\n\n\n\n\nToolPermissionHelper\n\nToolPermissionHelper\n\nToolApiModule -->\n\nToolPermissionHelper->ToolApiModule\n\n\n\n\n\nToolReferenceUc\n\nToolReferenceUc\n\nToolApiModule -->\n\nToolReferenceUc->ToolApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tool/tool-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n ContextExternalToolUc\n \n \n ExternalToolConfigurationService\n \n \n ExternalToolConfigurationUc\n \n \n ExternalToolRequestMapper\n \n \n ExternalToolResponseMapper\n \n \n ExternalToolUc\n \n \n LtiToolRepo\n \n \n SchoolExternalToolRequestMapper\n \n \n SchoolExternalToolResponseMapper\n \n \n SchoolExternalToolUc\n \n \n ToolLaunchUc\n \n \n ToolPermissionHelper\n \n \n ToolReferenceUc\n \n \n \n \n Controllers\n \n \n ToolLaunchController\n \n \n ToolConfigurationController\n \n \n ToolSchoolController\n \n \n ToolContextController\n \n \n ToolReferenceController\n \n \n ToolController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n BoardModule\n \n \n CommonToolModule\n \n \n LearnroomModule\n \n \n LegacySchoolModule\n \n \n LoggerModule\n \n \n ToolConfigModule\n \n \n ToolModule\n \n \n UserModule\n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationModule } from '@modules/authorization';\nimport { LegacySchoolModule } from '@modules/legacy-school';\nimport { UserModule } from '@modules/user';\nimport { Module } from '@nestjs/common';\nimport { LtiToolRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { BoardModule } from '../board';\nimport { LearnroomModule } from '../learnroom';\nimport { CommonToolModule } from './common';\nimport { ToolPermissionHelper } from './common/uc/tool-permission-helper';\nimport { ToolContextController } from './context-external-tool/controller';\nimport { ToolReferenceController } from './context-external-tool/controller/tool-reference.controller';\nimport { ContextExternalToolUc, ToolReferenceUc } from './context-external-tool/uc';\nimport { ToolConfigurationController, ToolController } from './external-tool/controller';\nimport { ExternalToolRequestMapper, ExternalToolResponseMapper } from './external-tool/mapper';\nimport { ExternalToolConfigurationService } from './external-tool/service';\nimport { ExternalToolConfigurationUc, ExternalToolUc } from './external-tool/uc';\nimport { ToolSchoolController } from './school-external-tool/controller';\nimport { SchoolExternalToolRequestMapper, SchoolExternalToolResponseMapper } from './school-external-tool/mapper';\nimport { SchoolExternalToolUc } from './school-external-tool/uc';\nimport { ToolConfigModule } from './tool-config.module';\nimport { ToolLaunchController } from './tool-launch/controller/tool-launch.controller';\nimport { ToolLaunchUc } from './tool-launch/uc';\nimport { ToolModule } from './tool.module';\n\n@Module({\n\timports: [\n\t\tToolModule,\n\t\tCommonToolModule,\n\t\tUserModule,\n\t\tAuthorizationModule,\n\t\tLoggerModule,\n\t\tLegacySchoolModule,\n\t\tToolConfigModule,\n\t\tLearnroomModule,\n\t\tBoardModule,\n\t],\n\tcontrollers: [\n\t\tToolLaunchController,\n\t\tToolConfigurationController,\n\t\tToolSchoolController,\n\t\tToolContextController,\n\t\tToolReferenceController,\n\t\tToolController,\n\t],\n\tproviders: [\n\t\tLtiToolRepo,\n\t\tExternalToolUc,\n\t\tExternalToolConfigurationUc,\n\t\tExternalToolConfigurationService,\n\t\tExternalToolRequestMapper,\n\t\tExternalToolResponseMapper,\n\t\tSchoolExternalToolUc,\n\t\tSchoolExternalToolResponseMapper,\n\t\tSchoolExternalToolRequestMapper,\n\t\tContextExternalToolUc,\n\t\tToolLaunchUc,\n\t\tToolReferenceUc,\n\t\tToolPermissionHelper,\n\t],\n})\nexport class ToolApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ToolConfigModule.html":{"url":"modules/ToolConfigModule.html","title":"module - ToolConfigModule","body":"\n \n\n\n\n\n Modules\n ToolConfigModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tool/tool-config.module.ts\n \n\n\n\n\n\n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport ToolConfiguration, { ToolFeatures } from './tool-config';\n\n@Module({\n\tproviders: [\n\t\t{\n\t\t\tprovide: ToolFeatures,\n\t\t\tuseValue: ToolConfiguration.toolFeatures,\n\t\t},\n\t],\n\texports: [ToolFeatures],\n})\nexport class ToolConfigModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolConfiguration.html":{"url":"classes/ToolConfiguration.html","title":"class - ToolConfiguration","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolConfiguration\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-config.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n toolFeatures\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n toolFeatures\n \n \n \n \n \n \n Type : IToolFeatures\n\n \n \n \n \n Default value : {\n\t\tctlToolsTabEnabled: Configuration.get('FEATURE_CTL_TOOLS_TAB_ENABLED') as boolean,\n\t\tltiToolsTabEnabled: Configuration.get('FEATURE_LTI_TOOLS_TAB_ENABLED') as boolean,\n\t\tcontextConfigurationEnabled: Configuration.get('FEATURE_CTL_CONTEXT_CONFIGURATION_ENABLED') as boolean,\n\t\t// TODO N21-1337 refactor after feature flag is removed\n\t\ttoolStatusWithoutVersions: Configuration.get('FEATURE_COMPUTE_TOOL_STATUS_WITHOUT_VERSIONS_ENABLED') as boolean,\n\t\tmaxExternalToolLogoSizeInBytes: Configuration.get('CTL_TOOLS__EXTERNAL_TOOL_MAX_LOGO_SIZE_IN_BYTES') as number,\n\t\tbackEndUrl: Configuration.get('PUBLIC_BACKEND_URL') as string,\n\t}\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-config.ts:16\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\n\nexport const ToolFeatures = Symbol('ToolFeatures');\n\nexport interface IToolFeatures {\n\tctlToolsTabEnabled: boolean;\n\tltiToolsTabEnabled: boolean;\n\tcontextConfigurationEnabled: boolean;\n\t// TODO N21-1337 refactor after feature flag is removed\n\ttoolStatusWithoutVersions: boolean;\n\tmaxExternalToolLogoSizeInBytes: number;\n\tbackEndUrl: string;\n}\n\nexport default class ToolConfiguration {\n\tstatic toolFeatures: IToolFeatures = {\n\t\tctlToolsTabEnabled: Configuration.get('FEATURE_CTL_TOOLS_TAB_ENABLED') as boolean,\n\t\tltiToolsTabEnabled: Configuration.get('FEATURE_LTI_TOOLS_TAB_ENABLED') as boolean,\n\t\tcontextConfigurationEnabled: Configuration.get('FEATURE_CTL_CONTEXT_CONFIGURATION_ENABLED') as boolean,\n\t\t// TODO N21-1337 refactor after feature flag is removed\n\t\ttoolStatusWithoutVersions: Configuration.get('FEATURE_COMPUTE_TOOL_STATUS_WITHOUT_VERSIONS_ENABLED') as boolean,\n\t\tmaxExternalToolLogoSizeInBytes: Configuration.get('CTL_TOOLS__EXTERNAL_TOOL_MAX_LOGO_SIZE_IN_BYTES') as number,\n\t\tbackEndUrl: Configuration.get('PUBLIC_BACKEND_URL') as string,\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/ToolConfigurationController.html":{"url":"controllers/ToolConfigurationController.html","title":"controller - ToolConfigurationController","body":"\n \n\n\n\n\n\n\n Controllers\n ToolConfigurationController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/tool-configuration.controller.ts\n \n\n \n Prefix\n \n \n tools\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getAvailableToolsForContext\n \n \n \n \n \n \n Public\n Async\n getAvailableToolsForSchool\n \n \n \n \n \n \n \n Public\n Async\n getConfigurationTemplateForContext\n \n \n \n \n \n \n \n Public\n Async\n getConfigurationTemplateForSchool\n \n \n \n \n \n \n Public\n Async\n getToolContextTypes\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getAvailableToolsForContext\n \n \n \n \n \n \n \n getAvailableToolsForContext(currentUser: ICurrentUser, params: ContextRefParams)\n \n \n\n \n \n Decorators : \n \n @Get(':contextType/:contextId/available-tools')@ApiForbiddenResponse()@ApiOperation({summary: 'Lists all available tools that can be added for a given context'})@ApiOkResponse({description: 'List of available tools for a context', type: ContextExternalToolConfigurationTemplateListResponse})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool-configuration.controller.ts:80\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ContextRefParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getAvailableToolsForSchool\n \n \n \n \n \n \n \n getAvailableToolsForSchool(currentUser: ICurrentUser, params: SchoolIdParams)\n \n \n\n \n \n Decorators : \n \n @Get('school/:schoolId/available-tools')@ApiForbiddenResponse()@ApiOperation({summary: 'Lists all available tools that can be added for a given school'})@ApiOkResponse({description: 'List of available tools for a school', type: SchoolExternalToolConfigurationTemplateListResponse})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool-configuration.controller.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n SchoolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getConfigurationTemplateForContext\n \n \n \n \n \n \n \n getConfigurationTemplateForContext(currentUser: ICurrentUser, params: ContextExternalToolIdParams)\n \n \n\n \n \n Decorators : \n \n @Get('context-external-tools/:contextExternalToolId/configuration-template')@ApiUnauthorizedResponse()@ApiForbiddenResponse()@ApiOperation({summary: 'Get the latest configuration template for a Context External Tool'})@ApiFoundResponse({description: 'Configuration template for a Context External Tool', type: ContextExternalToolConfigurationTemplateResponse})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool-configuration.controller.ts:129\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ContextExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getConfigurationTemplateForSchool\n \n \n \n \n \n \n \n getConfigurationTemplateForSchool(currentUser: ICurrentUser, params: SchoolExternalToolIdParams)\n \n \n\n \n \n Decorators : \n \n @Get('school-external-tools/:schoolExternalToolId/configuration-template')@ApiUnauthorizedResponse()@ApiForbiddenResponse()@ApiOperation({summary: 'Get the latest configuration template for a School External Tool'})@ApiFoundResponse({description: 'Configuration template for a School External Tool', type: SchoolExternalToolConfigurationTemplateResponse})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool-configuration.controller.ts:106\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n SchoolExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n getToolContextTypes\n \n \n \n \n \n \n \n getToolContextTypes(currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get('context-types')@ApiForbiddenResponse()@ApiOperation({summary: 'Lists all context types available in the SVS'})@ApiOkResponse({description: 'List of available context types', type: ToolContextTypesListResponse})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool-configuration.controller.ts:40\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Controller, Get, Param } from '@nestjs/common';\nimport {\n\tApiForbiddenResponse,\n\tApiFoundResponse,\n\tApiOkResponse,\n\tApiOperation,\n\tApiTags,\n\tApiUnauthorizedResponse,\n} from '@nestjs/swagger';\nimport { ExternalTool } from '../domain';\nimport { ToolConfigurationMapper } from '../mapper/tool-configuration.mapper';\nimport { ContextExternalToolTemplateInfo, ExternalToolConfigurationUc } from '../uc';\nimport {\n\tContextExternalToolConfigurationTemplateListResponse,\n\tContextExternalToolConfigurationTemplateResponse,\n\tContextExternalToolIdParams,\n\tContextRefParams,\n\tSchoolExternalToolConfigurationTemplateListResponse,\n\tSchoolExternalToolConfigurationTemplateResponse,\n\tSchoolExternalToolIdParams,\n\tSchoolIdParams,\n\tToolContextTypesListResponse,\n} from './dto';\nimport { ToolContextType } from '../../common/enum';\n\n@ApiTags('Tool')\n@Authenticate('jwt')\n@Controller('tools')\nexport class ToolConfigurationController {\n\tconstructor(private readonly externalToolConfigurationUc: ExternalToolConfigurationUc) {}\n\n\t@Get('context-types')\n\t@ApiForbiddenResponse()\n\t@ApiOperation({ summary: 'Lists all context types available in the SVS' })\n\t@ApiOkResponse({\n\t\tdescription: 'List of available context types',\n\t\ttype: ToolContextTypesListResponse,\n\t})\n\tpublic async getToolContextTypes(@CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst toolContextTypes: ToolContextType[] = await this.externalToolConfigurationUc.getToolContextTypes(\n\t\t\tcurrentUser.userId\n\t\t);\n\n\t\tconst mapped: ToolContextTypesListResponse =\n\t\t\tToolConfigurationMapper.mapToToolContextTypesListResponse(toolContextTypes);\n\n\t\treturn mapped;\n\t}\n\n\t@Get('school/:schoolId/available-tools')\n\t@ApiForbiddenResponse()\n\t@ApiOperation({ summary: 'Lists all available tools that can be added for a given school' })\n\t@ApiOkResponse({\n\t\tdescription: 'List of available tools for a school',\n\t\ttype: SchoolExternalToolConfigurationTemplateListResponse,\n\t})\n\tpublic async getAvailableToolsForSchool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: SchoolIdParams\n\t): Promise {\n\t\tconst availableTools: ExternalTool[] = await this.externalToolConfigurationUc.getAvailableToolsForSchool(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.schoolId\n\t\t);\n\n\t\tconst mapped: SchoolExternalToolConfigurationTemplateListResponse =\n\t\t\tToolConfigurationMapper.mapToSchoolExternalToolConfigurationTemplateListResponse(availableTools);\n\n\t\treturn mapped;\n\t}\n\n\t@Get(':contextType/:contextId/available-tools')\n\t@ApiForbiddenResponse()\n\t@ApiOperation({ summary: 'Lists all available tools that can be added for a given context' })\n\t@ApiOkResponse({\n\t\tdescription: 'List of available tools for a context',\n\t\ttype: ContextExternalToolConfigurationTemplateListResponse,\n\t})\n\tpublic async getAvailableToolsForContext(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ContextRefParams\n\t): Promise {\n\t\tconst availableTools: ContextExternalToolTemplateInfo[] =\n\t\t\tawait this.externalToolConfigurationUc.getAvailableToolsForContext(\n\t\t\t\tcurrentUser.userId,\n\t\t\t\tcurrentUser.schoolId,\n\t\t\t\tparams.contextId,\n\t\t\t\tparams.contextType\n\t\t\t);\n\n\t\tconst mapped: ContextExternalToolConfigurationTemplateListResponse =\n\t\t\tToolConfigurationMapper.mapToContextExternalToolConfigurationTemplateListResponse(availableTools);\n\n\t\treturn mapped;\n\t}\n\n\t@Get('school-external-tools/:schoolExternalToolId/configuration-template')\n\t@ApiUnauthorizedResponse()\n\t@ApiForbiddenResponse()\n\t@ApiOperation({ summary: 'Get the latest configuration template for a School External Tool' })\n\t@ApiFoundResponse({\n\t\tdescription: 'Configuration template for a School External Tool',\n\t\ttype: SchoolExternalToolConfigurationTemplateResponse,\n\t})\n\tpublic async getConfigurationTemplateForSchool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: SchoolExternalToolIdParams\n\t): Promise {\n\t\tconst tool: ExternalTool = await this.externalToolConfigurationUc.getTemplateForSchoolExternalTool(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.schoolExternalToolId\n\t\t);\n\n\t\tconst mapped: SchoolExternalToolConfigurationTemplateResponse =\n\t\t\tToolConfigurationMapper.mapToSchoolExternalToolConfigurationTemplateResponse(tool);\n\n\t\treturn mapped;\n\t}\n\n\t@Get('context-external-tools/:contextExternalToolId/configuration-template')\n\t@ApiUnauthorizedResponse()\n\t@ApiForbiddenResponse()\n\t@ApiOperation({ summary: 'Get the latest configuration template for a Context External Tool' })\n\t@ApiFoundResponse({\n\t\tdescription: 'Configuration template for a Context External Tool',\n\t\ttype: ContextExternalToolConfigurationTemplateResponse,\n\t})\n\tpublic async getConfigurationTemplateForContext(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ContextExternalToolIdParams\n\t): Promise {\n\t\tconst tool: ContextExternalToolTemplateInfo =\n\t\t\tawait this.externalToolConfigurationUc.getTemplateForContextExternalTool(\n\t\t\t\tcurrentUser.userId,\n\t\t\t\tparams.contextExternalToolId\n\t\t\t);\n\n\t\tconst mapped: ContextExternalToolConfigurationTemplateResponse =\n\t\t\tToolConfigurationMapper.mapToContextExternalToolConfigurationTemplateResponse(tool);\n\n\t\treturn mapped;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolConfigurationMapper.html":{"url":"classes/ToolConfigurationMapper.html","title":"class - ToolConfigurationMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolConfigurationMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/mapper/tool-configuration.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToContextExternalToolConfigurationTemplateListResponse\n \n \n Static\n mapToContextExternalToolConfigurationTemplateResponse\n \n \n Static\n mapToSchoolExternalToolConfigurationTemplateListResponse\n \n \n Static\n mapToSchoolExternalToolConfigurationTemplateResponse\n \n \n Static\n mapToToolContextTypesListResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToContextExternalToolConfigurationTemplateListResponse\n \n \n \n \n \n \n \n mapToContextExternalToolConfigurationTemplateListResponse(toolInfos: ContextExternalToolTemplateInfo[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/tool-configuration.mapper.ts:62\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolInfos\n \n ContextExternalToolTemplateInfo[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolConfigurationTemplateListResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToContextExternalToolConfigurationTemplateResponse\n \n \n \n \n \n \n \n mapToContextExternalToolConfigurationTemplateResponse(toolInfo: ContextExternalToolTemplateInfo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/tool-configuration.mapper.ts:43\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolInfo\n \n ContextExternalToolTemplateInfo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolConfigurationTemplateResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToSchoolExternalToolConfigurationTemplateListResponse\n \n \n \n \n \n \n \n mapToSchoolExternalToolConfigurationTemplateListResponse(externalTools: ExternalTool[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/tool-configuration.mapper.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTools\n \n ExternalTool[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolExternalToolConfigurationTemplateListResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToSchoolExternalToolConfigurationTemplateResponse\n \n \n \n \n \n \n \n mapToSchoolExternalToolConfigurationTemplateResponse(externalTool: ExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/tool-configuration.mapper.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : SchoolExternalToolConfigurationTemplateResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToToolContextTypesListResponse\n \n \n \n \n \n \n \n mapToToolContextTypesListResponse(toolContextTypes: ToolContextType[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/external-tool/mapper/tool-configuration.mapper.ts:75\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolContextTypes\n \n ToolContextType[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolContextTypesListResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import {\n\tContextExternalToolConfigurationTemplateListResponse,\n\tContextExternalToolConfigurationTemplateResponse,\n\tSchoolExternalToolConfigurationTemplateListResponse,\n\tSchoolExternalToolConfigurationTemplateResponse,\n\tToolContextTypesListResponse,\n} from '../controller/dto';\nimport { ExternalTool } from '../domain';\nimport { ContextExternalToolTemplateInfo } from '../uc';\nimport { ExternalToolResponseMapper } from './external-tool-response.mapper';\nimport { ToolContextType } from '../../common/enum';\n\nexport class ToolConfigurationMapper {\n\tstatic mapToSchoolExternalToolConfigurationTemplateResponse(\n\t\texternalTool: ExternalTool\n\t): SchoolExternalToolConfigurationTemplateResponse {\n\t\tconst mapped = new SchoolExternalToolConfigurationTemplateResponse({\n\t\t\texternalToolId: externalTool.id ?? '',\n\t\t\tname: externalTool.name,\n\t\t\tlogoUrl: externalTool.logoUrl,\n\t\t\tparameters: externalTool.parameters\n\t\t\t\t? ExternalToolResponseMapper.mapCustomParameterToResponse(externalTool.parameters)\n\t\t\t\t: [],\n\t\t\tversion: externalTool.version,\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tstatic mapToSchoolExternalToolConfigurationTemplateListResponse(\n\t\texternalTools: ExternalTool[]\n\t): SchoolExternalToolConfigurationTemplateListResponse {\n\t\tconst mappedTools = externalTools.map(\n\t\t\t(tool): SchoolExternalToolConfigurationTemplateResponse =>\n\t\t\t\tthis.mapToSchoolExternalToolConfigurationTemplateResponse(tool)\n\t\t);\n\n\t\tconst mapped = new SchoolExternalToolConfigurationTemplateListResponse(mappedTools);\n\n\t\treturn mapped;\n\t}\n\n\tstatic mapToContextExternalToolConfigurationTemplateResponse(\n\t\ttoolInfo: ContextExternalToolTemplateInfo\n\t): ContextExternalToolConfigurationTemplateResponse {\n\t\tconst { externalTool, schoolExternalTool } = toolInfo;\n\n\t\tconst mapped = new ContextExternalToolConfigurationTemplateResponse({\n\t\t\texternalToolId: externalTool.id ?? '',\n\t\t\tschoolExternalToolId: schoolExternalTool.id ?? '',\n\t\t\tname: externalTool.name,\n\t\t\tlogoUrl: externalTool.logoUrl,\n\t\t\tparameters: externalTool.parameters\n\t\t\t\t? ExternalToolResponseMapper.mapCustomParameterToResponse(externalTool.parameters)\n\t\t\t\t: [],\n\t\t\tversion: externalTool.version,\n\t\t});\n\n\t\treturn mapped;\n\t}\n\n\tstatic mapToContextExternalToolConfigurationTemplateListResponse(\n\t\ttoolInfos: ContextExternalToolTemplateInfo[]\n\t): ContextExternalToolConfigurationTemplateListResponse {\n\t\tconst mappedTools = toolInfos.map(\n\t\t\t(tool): ContextExternalToolConfigurationTemplateResponse =>\n\t\t\t\tthis.mapToContextExternalToolConfigurationTemplateResponse(tool)\n\t\t);\n\n\t\tconst mapped = new ContextExternalToolConfigurationTemplateListResponse(mappedTools);\n\n\t\treturn mapped;\n\t}\n\n\tstatic mapToToolContextTypesListResponse(toolContextTypes: ToolContextType[]): ToolContextTypesListResponse {\n\t\tconst mappedTypes = new ToolContextTypesListResponse(toolContextTypes);\n\n\t\treturn mappedTypes;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/ToolContextController.html":{"url":"controllers/ToolContextController.html","title":"controller - ToolContextController","body":"\n \n\n\n\n\n\n\n Controllers\n ToolContextController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/controller/tool-context.controller.ts\n \n\n \n Prefix\n \n \n tools/context-external-tools\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createContextExternalTool\n \n \n \n \n \n \n \n Async\n deleteContextExternalTool\n \n \n \n \n \n \n \n \n Async\n getContextExternalTool\n \n \n \n \n \n \n \n Async\n getContextExternalToolsForContext\n \n \n \n \n \n \n \n \n Async\n updateContextExternalTool\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createContextExternalTool\n \n \n \n \n \n \n \n createContextExternalTool(currentUser: ICurrentUser, body: ContextExternalToolPostParams)\n \n \n\n \n \n Decorators : \n \n @Post()@ApiCreatedResponse({description: 'The ContextExternalTool has been successfully created.', type: ContextExternalToolResponse})@ApiForbiddenResponse()@ApiUnprocessableEntityResponse()@ApiUnauthorizedResponse()@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiOperation({summary: 'Creates a ContextExternalTool'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/tool-context.controller.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n body\n \n ContextExternalToolPostParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteContextExternalTool\n \n \n \n \n \n \n \n deleteContextExternalTool(currentUser: ICurrentUser, params: ContextExternalToolIdParams)\n \n \n\n \n \n Decorators : \n \n @Delete(':contextExternalToolId')@ApiForbiddenResponse()@ApiUnauthorizedResponse()@ApiOperation({summary: 'Deletes a ContextExternalTool'})@HttpCode(HttpStatus.NO_CONTENT)\n \n \n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/tool-context.controller.ts:70\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ContextExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getContextExternalTool\n \n \n \n \n \n \n \n getContextExternalTool(currentUser: ICurrentUser, params: ContextExternalToolIdParams)\n \n \n\n \n \n Decorators : \n \n @Get(':contextExternalToolId')@ApiForbiddenResponse()@ApiUnauthorizedResponse()@ApiNotFoundResponse()@ApiOkResponse({description: 'Returns a ContextExternalTool for the given id', type: ContextExternalToolResponse})@ApiOperation({summary: 'Searches a ContextExternalTool for the given id'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/tool-context.controller.ts:122\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ContextExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getContextExternalToolsForContext\n \n \n \n \n \n \n \n getContextExternalToolsForContext(currentUser: ICurrentUser, params: ContextExternalToolContextParams)\n \n \n\n \n \n Decorators : \n \n @Get(':contextType/:contextId')@ApiForbiddenResponse()@ApiUnauthorizedResponse()@ApiOkResponse({description: 'Returns a list of ContextExternalTools for the given context', type: ContextExternalToolSearchListResponse})@ApiOperation({summary: 'Returns a list of ContextExternalTools for the given context'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/tool-context.controller.ts:89\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ContextExternalToolContextParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateContextExternalTool\n \n \n \n \n \n \n \n updateContextExternalTool(currentUser: ICurrentUser, params: ContextExternalToolIdParams, body: ContextExternalToolPostParams)\n \n \n\n \n \n Decorators : \n \n @Put(':contextExternalToolId')@ApiOkResponse({description: 'The ContextExternalTool has been successfully updated.', type: ContextExternalToolResponse})@ApiForbiddenResponse()@ApiUnauthorizedResponse()@ApiUnprocessableEntityResponse()@ApiOperation({summary: 'Updates a ContextExternalTool'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/tool-context.controller.ts:146\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ContextExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n body\n \n ContextExternalToolPostParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, Delete, Get, HttpCode, HttpStatus, Param, Post, Put } from '@nestjs/common';\nimport {\n\tApiCreatedResponse,\n\tApiForbiddenResponse,\n\tApiNotFoundResponse,\n\tApiOkResponse,\n\tApiOperation,\n\tApiResponse,\n\tApiTags,\n\tApiUnauthorizedResponse,\n\tApiUnprocessableEntityResponse,\n} from '@nestjs/swagger';\nimport { ValidationError } from '@shared/common';\nimport { LegacyLogger } from '@src/core/logger';\nimport { ContextExternalTool } from '../domain';\nimport { ContextExternalToolRequestMapper, ContextExternalToolResponseMapper } from '../mapper';\nimport { ContextExternalToolUc } from '../uc';\nimport { ContextExternalToolDto } from '../uc/dto/context-external-tool.types';\nimport {\n\tContextExternalToolContextParams,\n\tContextExternalToolIdParams,\n\tContextExternalToolPostParams,\n\tContextExternalToolResponse,\n\tContextExternalToolSearchListResponse,\n} from './dto';\n\n@ApiTags('Tool')\n@Authenticate('jwt')\n@Controller('tools/context-external-tools')\nexport class ToolContextController {\n\tconstructor(private readonly contextExternalToolUc: ContextExternalToolUc, private readonly logger: LegacyLogger) {}\n\n\t@Post()\n\t@ApiCreatedResponse({\n\t\tdescription: 'The ContextExternalTool has been successfully created.',\n\t\ttype: ContextExternalToolResponse,\n\t})\n\t@ApiForbiddenResponse()\n\t@ApiUnprocessableEntityResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiOperation({ summary: 'Creates a ContextExternalTool' })\n\tasync createContextExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() body: ContextExternalToolPostParams\n\t): Promise {\n\t\tconst contextExternalTool: ContextExternalToolDto =\n\t\t\tContextExternalToolRequestMapper.mapContextExternalToolRequest(body);\n\n\t\tconst createdTool: ContextExternalTool = await this.contextExternalToolUc.createContextExternalTool(\n\t\t\tcurrentUser.userId,\n\t\t\tcurrentUser.schoolId,\n\t\t\tcontextExternalTool\n\t\t);\n\n\t\tconst response: ContextExternalToolResponse =\n\t\t\tContextExternalToolResponseMapper.mapContextExternalToolResponse(createdTool);\n\n\t\tthis.logger.debug(`ContextExternalTool with id ${response.id} was created by user with id ${currentUser.userId}`);\n\n\t\treturn response;\n\t}\n\n\t@Delete(':contextExternalToolId')\n\t@ApiForbiddenResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiOperation({ summary: 'Deletes a ContextExternalTool' })\n\t@HttpCode(HttpStatus.NO_CONTENT)\n\tasync deleteContextExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ContextExternalToolIdParams\n\t): Promise {\n\t\tawait this.contextExternalToolUc.deleteContextExternalTool(currentUser.userId, params.contextExternalToolId);\n\n\t\tthis.logger.debug(\n\t\t\t`ContextExternalTool with id ${params.contextExternalToolId} was deleted by user with id ${currentUser.userId}`\n\t\t);\n\t}\n\n\t@Get(':contextType/:contextId')\n\t@ApiForbiddenResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiOkResponse({\n\t\tdescription: 'Returns a list of ContextExternalTools for the given context',\n\t\ttype: ContextExternalToolSearchListResponse,\n\t})\n\t@ApiOperation({ summary: 'Returns a list of ContextExternalTools for the given context' })\n\tasync getContextExternalToolsForContext(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ContextExternalToolContextParams\n\t): Promise {\n\t\tconst contextExternalTools: ContextExternalTool[] =\n\t\t\tawait this.contextExternalToolUc.getContextExternalToolsForContext(\n\t\t\t\tcurrentUser.userId,\n\t\t\t\tparams.contextType,\n\t\t\t\tparams.contextId\n\t\t\t);\n\n\t\tconst mappedTools: ContextExternalToolResponse[] = contextExternalTools.map(\n\t\t\t(tool: ContextExternalTool): ContextExternalToolResponse =>\n\t\t\t\tContextExternalToolResponseMapper.mapContextExternalToolResponse(tool)\n\t\t);\n\n\t\tthis.logger.debug(\n\t\t\t`User with id ${currentUser.userId} fetched ContextExternalTools for contextType: ${params.contextType} and contextId: ${params.contextId}`\n\t\t);\n\n\t\tconst response: ContextExternalToolSearchListResponse = new ContextExternalToolSearchListResponse(mappedTools);\n\t\treturn response;\n\t}\n\n\t@Get(':contextExternalToolId')\n\t@ApiForbiddenResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiNotFoundResponse()\n\t@ApiOkResponse({\n\t\tdescription: 'Returns a ContextExternalTool for the given id',\n\t\ttype: ContextExternalToolResponse,\n\t})\n\t@ApiOperation({ summary: 'Searches a ContextExternalTool for the given id' })\n\tasync getContextExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ContextExternalToolIdParams\n\t): Promise {\n\t\tconst contextExternalTool: ContextExternalTool = await this.contextExternalToolUc.getContextExternalTool(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.contextExternalToolId\n\t\t);\n\n\t\tconst response: ContextExternalToolResponse =\n\t\t\tContextExternalToolResponseMapper.mapContextExternalToolResponse(contextExternalTool);\n\n\t\treturn response;\n\t}\n\n\t@Put(':contextExternalToolId')\n\t@ApiOkResponse({\n\t\tdescription: 'The ContextExternalTool has been successfully updated.',\n\t\ttype: ContextExternalToolResponse,\n\t})\n\t@ApiForbiddenResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiUnprocessableEntityResponse()\n\t@ApiOperation({ summary: 'Updates a ContextExternalTool' })\n\tasync updateContextExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ContextExternalToolIdParams,\n\t\t@Body() body: ContextExternalToolPostParams\n\t): Promise {\n\t\tconst contextExternalTool: ContextExternalToolDto =\n\t\t\tContextExternalToolRequestMapper.mapContextExternalToolRequest(body);\n\n\t\tconst updatedTool: ContextExternalTool = await this.contextExternalToolUc.updateContextExternalTool(\n\t\t\tcurrentUser.userId,\n\t\t\tcurrentUser.schoolId,\n\t\t\tparams.contextExternalToolId,\n\t\t\tcontextExternalTool\n\t\t);\n\n\t\tconst response: ContextExternalToolResponse =\n\t\t\tContextExternalToolResponseMapper.mapContextExternalToolResponse(updatedTool);\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolContextMapper.html":{"url":"classes/ToolContextMapper.html","title":"class - ToolContextMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolContextMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/mapper/tool-context.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n contextMapping\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n contextMapping\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Default value : {\n\t\t[ToolContextType.COURSE]: ContextExternalToolType.COURSE,\n\t\t[ToolContextType.BOARD_ELEMENT]: ContextExternalToolType.BOARD_ELEMENT,\n\t}\n \n \n \n \n Defined in apps/server/src/modules/tool/common/mapper/tool-context.mapper.ts:5\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ToolContextType } from '../enum';\nimport { ContextExternalToolType } from '../../context-external-tool/entity';\n\nexport class ToolContextMapper {\n\tstatic contextMapping: Record = {\n\t\t[ToolContextType.COURSE]: ContextExternalToolType.COURSE,\n\t\t[ToolContextType.BOARD_ELEMENT]: ContextExternalToolType.BOARD_ELEMENT,\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolContextTypesListResponse.html":{"url":"classes/ToolContextTypesListResponse.html","title":"class - ToolContextTypesListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolContextTypesListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/dto/response/tool-context-types-list.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: ToolContextType[])\n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/tool-context-types-list.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n ToolContextType[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : ToolContextType[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: ToolContextType, enumName: 'ToolContextType', isArray: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/dto/response/tool-context-types-list.response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ToolContextType } from '../../../../common/enum';\n\nexport class ToolContextTypesListResponse {\n\t@ApiProperty({ enum: ToolContextType, enumName: 'ToolContextType', isArray: true })\n\tdata: ToolContextType[];\n\n\tconstructor(data: ToolContextType[]) {\n\t\tthis.data = data;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/ToolController.html":{"url":"controllers/ToolController.html","title":"controller - ToolController","body":"\n \n\n\n\n\n\n\n Controllers\n ToolController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/external-tool/controller/tool.controller.ts\n \n\n \n Prefix\n \n \n tools/external-tools\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createExternalTool\n \n \n \n \n \n \n \n Async\n deleteExternalTool\n \n \n \n \n \n \n \n Async\n findExternalTool\n \n \n \n \n Async\n getExternalTool\n \n \n \n \n \n \n Async\n getExternalToolLogo\n \n \n \n \n \n \n Async\n getMetaDataForExternalTool\n \n \n \n \n \n \n \n \n Async\n updateExternalTool\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createExternalTool\n \n \n \n \n \n \n \n createExternalTool(currentUser: ICurrentUser, externalToolParams: ExternalToolCreateParams)\n \n \n\n \n \n Decorators : \n \n @Post()@ApiCreatedResponse({description: 'The Tool has been successfully created.', type: ExternalToolResponse})@ApiForbiddenResponse()@ApiUnprocessableEntityResponse()@ApiUnauthorizedResponse()@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiOperation({summary: 'Creates an ExternalTool'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool.controller.ts:56\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n externalToolParams\n \n ExternalToolCreateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteExternalTool\n \n \n \n \n \n \n \n deleteExternalTool(currentUser: ICurrentUser, params: ExternalToolIdParams)\n \n \n\n \n \n Decorators : \n \n @Delete(':externalToolId')@ApiForbiddenResponse({description: 'User is not allowed to access this resource.'})@ApiUnauthorizedResponse({description: 'User is not logged in.'})@ApiOperation({summary: 'Deletes an ExternalTool'})@HttpCode(HttpStatus.NO_CONTENT)\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool.controller.ts:145\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findExternalTool\n \n \n \n \n \n \n \n findExternalTool(currentUser: ICurrentUser, filterQuery: ExternalToolSearchParams, pagination: PaginationParams, sortingQuery: SortExternalToolParams)\n \n \n\n \n \n Decorators : \n \n @Get()@ApiFoundResponse({description: 'Tools has been found.', type: ExternalToolSearchListResponse})@ApiUnauthorizedResponse()@ApiForbiddenResponse()@ApiOperation({summary: 'Returns a list of ExternalTools'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool.controller.ts:76\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n filterQuery\n \n ExternalToolSearchParams\n \n\n \n No\n \n\n\n \n \n pagination\n \n PaginationParams\n \n\n \n No\n \n\n\n \n \n sortingQuery\n \n SortExternalToolParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getExternalTool\n \n \n \n \n \n \n \n getExternalTool(currentUser: ICurrentUser, params: ExternalToolIdParams)\n \n \n\n \n \n Decorators : \n \n @Get(':externalToolId')@ApiOperation({summary: 'Returns an ExternalTool for the given id'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool.controller.ts:104\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getExternalToolLogo\n \n \n \n \n \n \n \n getExternalToolLogo(params: ExternalToolIdParams, res: Response)\n \n \n\n \n \n Decorators : \n \n @Get('/:externalToolId/logo')@ApiOperation({summary: 'Gets the logo of an external tool.'})@ApiOkResponse({description: 'Logo of external tool fetched successfully.'})@ApiUnauthorizedResponse({description: 'User is not logged in.'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool.controller.ts:163\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n ExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n res\n \n Response\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getMetaDataForExternalTool\n \n \n \n \n \n \n \n getMetaDataForExternalTool(currentUser: ICurrentUser, params: ExternalToolIdParams)\n \n \n\n \n \n Decorators : \n \n @Get('/:externalToolId/metadata')@ApiOperation({summary: 'Gets the metadata of an external tool.'})@ApiOkResponse({description: 'Metadata of external tool fetched successfully.', type: ExternalToolMetadataResponse})@ApiUnauthorizedResponse({description: 'User is not logged in.'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool.controller.ts:179\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateExternalTool\n \n \n \n \n \n \n \n updateExternalTool(currentUser: ICurrentUser, params: ExternalToolIdParams, externalToolParams: ExternalToolUpdateParams)\n \n \n\n \n \n Decorators : \n \n @Post('/:externalToolId')@ApiOkResponse({description: 'The Tool has been successfully updated.', type: ExternalToolResponse})@ApiForbiddenResponse()@ApiUnauthorizedResponse()@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiOperation({summary: 'Updates an ExternalTool'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/external-tool/controller/tool.controller.ts:123\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n externalToolParams\n \n ExternalToolUpdateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, Delete, Get, HttpCode, HttpStatus, Param, Post, Query, Res } from '@nestjs/common';\nimport {\n\tApiCreatedResponse,\n\tApiForbiddenResponse,\n\tApiFoundResponse,\n\tApiOkResponse,\n\tApiOperation,\n\tApiResponse,\n\tApiTags,\n\tApiUnauthorizedResponse,\n\tApiUnprocessableEntityResponse,\n} from '@nestjs/swagger';\nimport { ValidationError } from '@shared/common';\nimport { PaginationParams } from '@shared/controller';\nimport { Page } from '@shared/domain/domainobject';\nimport { IFindOptions } from '@shared/domain/interface';\nimport { LegacyLogger } from '@src/core/logger';\nimport { Response } from 'express';\nimport { ExternalToolSearchQuery } from '../../common/interface';\nimport { ExternalTool, ExternalToolMetadata } from '../domain';\nimport { ExternalToolLogo } from '../domain/external-tool-logo';\n\nimport { ExternalToolMetadataMapper, ExternalToolRequestMapper, ExternalToolResponseMapper } from '../mapper';\nimport { ExternalToolLogoService } from '../service';\nimport { ExternalToolCreate, ExternalToolUc, ExternalToolUpdate } from '../uc';\nimport {\n\tExternalToolCreateParams,\n\tExternalToolIdParams,\n\tExternalToolMetadataResponse,\n\tExternalToolResponse,\n\tExternalToolSearchListResponse,\n\tExternalToolSearchParams,\n\tExternalToolUpdateParams,\n\tSortExternalToolParams,\n} from './dto';\n\n@ApiTags('Tool')\n@Authenticate('jwt')\n@Controller('tools/external-tools')\nexport class ToolController {\n\tconstructor(\n\t\tprivate readonly externalToolUc: ExternalToolUc,\n\t\tprivate readonly externalToolDOMapper: ExternalToolRequestMapper,\n\t\tprivate readonly logger: LegacyLogger,\n\t\tprivate readonly externalToolLogoService: ExternalToolLogoService\n\t) {}\n\n\t@Post()\n\t@ApiCreatedResponse({ description: 'The Tool has been successfully created.', type: ExternalToolResponse })\n\t@ApiForbiddenResponse()\n\t@ApiUnprocessableEntityResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiOperation({ summary: 'Creates an ExternalTool' })\n\tasync createExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() externalToolParams: ExternalToolCreateParams\n\t): Promise {\n\t\tconst externalTool: ExternalToolCreate = this.externalToolDOMapper.mapCreateRequest(externalToolParams);\n\n\t\tconst created: ExternalTool = await this.externalToolUc.createExternalTool(currentUser.userId, externalTool);\n\n\t\tconst mapped: ExternalToolResponse = ExternalToolResponseMapper.mapToExternalToolResponse(created);\n\n\t\tthis.logger.debug(`ExternalTool with id ${mapped.id} was created by user with id ${currentUser.userId}`);\n\n\t\treturn mapped;\n\t}\n\n\t@Get()\n\t@ApiFoundResponse({ description: 'Tools has been found.', type: ExternalToolSearchListResponse })\n\t@ApiUnauthorizedResponse()\n\t@ApiForbiddenResponse()\n\t@ApiOperation({ summary: 'Returns a list of ExternalTools' })\n\tasync findExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() filterQuery: ExternalToolSearchParams,\n\t\t@Query() pagination: PaginationParams,\n\t\t@Query() sortingQuery: SortExternalToolParams\n\t): Promise {\n\t\tconst options: IFindOptions = { pagination };\n\t\toptions.order = this.externalToolDOMapper.mapSortingQueryToDomain(sortingQuery);\n\t\tconst query: ExternalToolSearchQuery =\n\t\t\tthis.externalToolDOMapper.mapExternalToolFilterQueryToExternalToolSearchQuery(filterQuery);\n\n\t\tconst tools: Page = await this.externalToolUc.findExternalTool(currentUser.userId, query, options);\n\n\t\tconst dtoList: ExternalToolResponse[] = tools.data.map(\n\t\t\t(tool: ExternalTool): ExternalToolResponse => ExternalToolResponseMapper.mapToExternalToolResponse(tool)\n\t\t);\n\t\tconst response: ExternalToolSearchListResponse = new ExternalToolSearchListResponse(\n\t\t\tdtoList,\n\t\t\ttools.total,\n\t\t\tpagination.skip,\n\t\t\tpagination.limit\n\t\t);\n\n\t\treturn response;\n\t}\n\n\t@Get(':externalToolId')\n\t@ApiOperation({ summary: 'Returns an ExternalTool for the given id' })\n\tasync getExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ExternalToolIdParams\n\t): Promise {\n\t\tconst externalTool: ExternalTool = await this.externalToolUc.getExternalTool(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.externalToolId\n\t\t);\n\t\tconst mapped: ExternalToolResponse = ExternalToolResponseMapper.mapToExternalToolResponse(externalTool);\n\n\t\treturn mapped;\n\t}\n\n\t@Post('/:externalToolId')\n\t@ApiOkResponse({ description: 'The Tool has been successfully updated.', type: ExternalToolResponse })\n\t@ApiForbiddenResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiOperation({ summary: 'Updates an ExternalTool' })\n\tasync updateExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ExternalToolIdParams,\n\t\t@Body() externalToolParams: ExternalToolUpdateParams\n\t): Promise {\n\t\tconst externalTool: ExternalToolUpdate = this.externalToolDOMapper.mapUpdateRequest(externalToolParams);\n\t\tconst updated: ExternalTool = await this.externalToolUc.updateExternalTool(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.externalToolId,\n\t\t\texternalTool\n\t\t);\n\t\tconst mapped: ExternalToolResponse = ExternalToolResponseMapper.mapToExternalToolResponse(updated);\n\t\tthis.logger.debug(`ExternalTool with id ${mapped.id} was updated by user with id ${currentUser.userId}`);\n\n\t\treturn mapped;\n\t}\n\n\t@Delete(':externalToolId')\n\t@ApiForbiddenResponse({ description: 'User is not allowed to access this resource.' })\n\t@ApiUnauthorizedResponse({ description: 'User is not logged in.' })\n\t@ApiOperation({ summary: 'Deletes an ExternalTool' })\n\t@HttpCode(HttpStatus.NO_CONTENT)\n\tasync deleteExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ExternalToolIdParams\n\t): Promise {\n\t\tconst promise: Promise = this.externalToolUc.deleteExternalTool(currentUser.userId, params.externalToolId);\n\t\tthis.logger.debug(\n\t\t\t`ExternalTool with id ${params.externalToolId} was deleted by user with id ${currentUser.userId}`\n\t\t);\n\n\t\treturn promise;\n\t}\n\n\t@Get('/:externalToolId/logo')\n\t@ApiOperation({ summary: 'Gets the logo of an external tool.' })\n\t@ApiOkResponse({\n\t\tdescription: 'Logo of external tool fetched successfully.',\n\t})\n\t@ApiUnauthorizedResponse({ description: 'User is not logged in.' })\n\tasync getExternalToolLogo(@Param() params: ExternalToolIdParams, @Res() res: Response): Promise {\n\t\tconst externalToolLogo: ExternalToolLogo = await this.externalToolLogoService.getExternalToolBinaryLogo(\n\t\t\tparams.externalToolId\n\t\t);\n\t\tres.setHeader('Content-Type', externalToolLogo.contentType);\n\t\tres.setHeader('Cache-Control', 'must-revalidate');\n\t\tres.send(externalToolLogo.logo);\n\t}\n\n\t@Get('/:externalToolId/metadata')\n\t@ApiOperation({ summary: 'Gets the metadata of an external tool.' })\n\t@ApiOkResponse({\n\t\tdescription: 'Metadata of external tool fetched successfully.',\n\t\ttype: ExternalToolMetadataResponse,\n\t})\n\t@ApiUnauthorizedResponse({ description: 'User is not logged in.' })\n\tasync getMetaDataForExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ExternalToolIdParams\n\t): Promise {\n\t\tconst externalToolMetadata: ExternalToolMetadata = await this.externalToolUc.getMetadataForExternalTool(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.externalToolId\n\t\t);\n\n\t\tconst mapped: ExternalToolMetadataResponse =\n\t\t\tExternalToolMetadataMapper.mapToExternalToolMetadataResponse(externalToolMetadata);\n\n\t\treturn mapped;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/ToolLaunchController.html":{"url":"controllers/ToolLaunchController.html","title":"controller - ToolLaunchController","body":"\n \n\n\n\n\n\n\n Controllers\n ToolLaunchController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/controller/tool-launch.controller.ts\n \n\n \n Prefix\n \n \n tools\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getToolLaunchRequest\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getToolLaunchRequest\n \n \n \n \n \n \n \n getToolLaunchRequest(currentUser: ICurrentUser, params: ToolLaunchParams)\n \n \n\n \n \n Decorators : \n \n @Get('context/:contextExternalToolId/launch')@ApiOperation({summary: 'Get tool launch request for a context external tool id'})@ApiOkResponse({description: 'Tool launch request', type: ToolLaunchRequestResponse})@ApiUnauthorizedResponse({description: 'Unauthorized'})@ApiForbiddenResponse({description: 'Forbidden'})@ApiBadRequestResponse({description: 'Outdated tools cannot be launched'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/controller/tool-launch.controller.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ToolLaunchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Controller, Get, Param } from '@nestjs/common';\nimport {\n\tApiBadRequestResponse,\n\tApiForbiddenResponse,\n\tApiOkResponse,\n\tApiOperation,\n\tApiTags,\n\tApiUnauthorizedResponse,\n} from '@nestjs/swagger';\nimport { ToolLaunchMapper } from '../mapper';\nimport { ToolLaunchRequest } from '../types';\nimport { ToolLaunchUc } from '../uc';\nimport { ToolLaunchParams, ToolLaunchRequestResponse } from './dto';\n\n@ApiTags('Tool')\n@Authenticate('jwt')\n@Controller('tools')\nexport class ToolLaunchController {\n\tconstructor(private readonly toolLaunchUc: ToolLaunchUc) {}\n\n\t@Get('context/:contextExternalToolId/launch')\n\t@ApiOperation({ summary: 'Get tool launch request for a context external tool id' })\n\t@ApiOkResponse({ description: 'Tool launch request', type: ToolLaunchRequestResponse })\n\t@ApiUnauthorizedResponse({ description: 'Unauthorized' })\n\t@ApiForbiddenResponse({ description: 'Forbidden' })\n\t@ApiBadRequestResponse({ description: 'Outdated tools cannot be launched' })\n\tasync getToolLaunchRequest(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ToolLaunchParams\n\t): Promise {\n\t\tconst toolLaunchRequest: ToolLaunchRequest = await this.toolLaunchUc.getToolLaunchRequest(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.contextExternalToolId\n\t\t);\n\n\t\tconst response: ToolLaunchRequestResponse = ToolLaunchMapper.mapToToolLaunchRequestResponse(toolLaunchRequest);\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolLaunchData.html":{"url":"classes/ToolLaunchData.html","title":"class - ToolLaunchData","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolLaunchData\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/types/tool-launch-data.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n baseUrl\n \n \n openNewTab\n \n \n properties\n \n \n type\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ToolLaunchData)\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/tool-launch-data.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ToolLaunchData\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n baseUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/tool-launch-data.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n openNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/tool-launch-data.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n properties\n \n \n \n \n \n \n Type : PropertyData[]\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/tool-launch-data.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n type\n \n \n \n \n \n \n Type : ToolLaunchDataType\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/tool-launch-data.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { PropertyData } from './property-data';\nimport { ToolLaunchDataType } from './tool-launch-data-type';\n\nexport class ToolLaunchData {\n\tbaseUrl: string;\n\n\ttype: ToolLaunchDataType;\n\n\tproperties: PropertyData[];\n\n\topenNewTab: boolean;\n\n\tconstructor(props: ToolLaunchData) {\n\t\tthis.baseUrl = props.baseUrl;\n\t\tthis.type = props.type;\n\t\tthis.properties = props.properties;\n\t\tthis.openNewTab = props.openNewTab;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolLaunchMapper.html":{"url":"classes/ToolLaunchMapper.html","title":"class - ToolLaunchMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolLaunchMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/mapper/tool-launch.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToParameterLocation\n \n \n Static\n mapToToolConfigType\n \n \n Static\n mapToToolLaunchDataType\n \n \n Static\n mapToToolLaunchRequestResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToParameterLocation\n \n \n \n \n \n \n \n mapToParameterLocation(location: CustomParameterLocation)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/mapper/tool-launch.mapper.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n location\n \n CustomParameterLocation\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : PropertyLocation\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToToolConfigType\n \n \n \n \n \n \n \n mapToToolConfigType(launchDataType: ToolLaunchDataType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/mapper/tool-launch.mapper.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n launchDataType\n \n ToolLaunchDataType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolConfigType\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToToolLaunchDataType\n \n \n \n \n \n \n \n mapToToolLaunchDataType(configType: ToolConfigType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/mapper/tool-launch.mapper.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n configType\n \n ToolConfigType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolLaunchDataType\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToToolLaunchRequestResponse\n \n \n \n \n \n \n \n mapToToolLaunchRequestResponse(toolLaunchRequest: ToolLaunchRequest)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/mapper/tool-launch.mapper.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolLaunchRequest\n \n ToolLaunchRequest\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolLaunchRequestResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { PropertyLocation, ToolLaunchDataType, ToolLaunchRequest } from '../types';\nimport { ToolLaunchRequestResponse } from '../controller/dto';\nimport { CustomParameterLocation, ToolConfigType } from '../../common/enum';\n\nconst customToParameterLocationMapping: Record = {\n\t[CustomParameterLocation.PATH]: PropertyLocation.PATH,\n\t[CustomParameterLocation.BODY]: PropertyLocation.BODY,\n\t[CustomParameterLocation.QUERY]: PropertyLocation.QUERY,\n};\n\nconst toolConfigTypeToToolLaunchDataTypeMapping: Record = {\n\t[ToolConfigType.BASIC]: ToolLaunchDataType.BASIC,\n\t[ToolConfigType.LTI11]: ToolLaunchDataType.LTI11,\n\t[ToolConfigType.OAUTH2]: ToolLaunchDataType.OAUTH2,\n};\n\nconst toolLaunchDataTypeToToolConfigTypeMapping: Record = {\n\t[ToolLaunchDataType.BASIC]: ToolConfigType.BASIC,\n\t[ToolLaunchDataType.LTI11]: ToolConfigType.LTI11,\n\t[ToolLaunchDataType.OAUTH2]: ToolConfigType.OAUTH2,\n};\n\nexport class ToolLaunchMapper {\n\tstatic mapToParameterLocation(location: CustomParameterLocation): PropertyLocation {\n\t\tconst mappedLocation = customToParameterLocationMapping[location];\n\t\treturn mappedLocation;\n\t}\n\n\tstatic mapToToolLaunchDataType(configType: ToolConfigType): ToolLaunchDataType {\n\t\tconst mappedType = toolConfigTypeToToolLaunchDataTypeMapping[configType];\n\t\treturn mappedType;\n\t}\n\n\tstatic mapToToolConfigType(launchDataType: ToolLaunchDataType): ToolConfigType {\n\t\tconst mappedType = toolLaunchDataTypeToToolConfigTypeMapping[launchDataType];\n\t\treturn mappedType;\n\t}\n\n\tstatic mapToToolLaunchRequestResponse(toolLaunchRequest: ToolLaunchRequest): ToolLaunchRequestResponse {\n\t\tconst { method, url, payload, openNewTab } = toolLaunchRequest;\n\n\t\tconst response = new ToolLaunchRequestResponse({\n\t\t\tmethod,\n\t\t\turl,\n\t\t\tpayload,\n\t\t\topenNewTab,\n\t\t});\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ToolLaunchModule.html":{"url":"modules/ToolLaunchModule.html","title":"module - ToolLaunchModule","body":"\n \n\n\n\n\n Modules\n ToolLaunchModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ToolLaunchModule\n\n\n\ncluster_ToolLaunchModule_exports\n\n\n\ncluster_ToolLaunchModule_providers\n\n\n\ncluster_ToolLaunchModule_imports\n\n\n\n\nBoardModule\n\nBoardModule\n\n\n\nToolLaunchModule\n\nToolLaunchModule\n\nToolLaunchModule -->\n\nBoardModule->ToolLaunchModule\n\n\n\n\n\nCommonToolModule\n\nCommonToolModule\n\nToolLaunchModule -->\n\nCommonToolModule->ToolLaunchModule\n\n\n\n\n\nContextExternalToolModule\n\nContextExternalToolModule\n\nToolLaunchModule -->\n\nContextExternalToolModule->ToolLaunchModule\n\n\n\n\n\nExternalToolModule\n\nExternalToolModule\n\nToolLaunchModule -->\n\nExternalToolModule->ToolLaunchModule\n\n\n\n\n\nLearnroomModule\n\nLearnroomModule\n\nToolLaunchModule -->\n\nLearnroomModule->ToolLaunchModule\n\n\n\n\n\nLegacySchoolModule\n\nLegacySchoolModule\n\nToolLaunchModule -->\n\nLegacySchoolModule->ToolLaunchModule\n\n\n\n\n\nSchoolExternalToolModule\n\nSchoolExternalToolModule\n\nToolLaunchModule -->\n\nSchoolExternalToolModule->ToolLaunchModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nToolLaunchModule -->\n\nUserModule->ToolLaunchModule\n\n\n\n\n\nToolLaunchService \n\nToolLaunchService \n\nToolLaunchService -->\n\nToolLaunchModule->ToolLaunchService \n\n\n\n\n\nAutoContextIdStrategy\n\nAutoContextIdStrategy\n\nToolLaunchModule -->\n\nAutoContextIdStrategy->ToolLaunchModule\n\n\n\n\n\nAutoContextNameStrategy\n\nAutoContextNameStrategy\n\nToolLaunchModule -->\n\nAutoContextNameStrategy->ToolLaunchModule\n\n\n\n\n\nAutoSchoolIdStrategy\n\nAutoSchoolIdStrategy\n\nToolLaunchModule -->\n\nAutoSchoolIdStrategy->ToolLaunchModule\n\n\n\n\n\nAutoSchoolNumberStrategy\n\nAutoSchoolNumberStrategy\n\nToolLaunchModule -->\n\nAutoSchoolNumberStrategy->ToolLaunchModule\n\n\n\n\n\nBasicToolLaunchStrategy\n\nBasicToolLaunchStrategy\n\nToolLaunchModule -->\n\nBasicToolLaunchStrategy->ToolLaunchModule\n\n\n\n\n\nLti11EncryptionService\n\nLti11EncryptionService\n\nToolLaunchModule -->\n\nLti11EncryptionService->ToolLaunchModule\n\n\n\n\n\nLti11ToolLaunchStrategy\n\nLti11ToolLaunchStrategy\n\nToolLaunchModule -->\n\nLti11ToolLaunchStrategy->ToolLaunchModule\n\n\n\n\n\nOAuth2ToolLaunchStrategy\n\nOAuth2ToolLaunchStrategy\n\nToolLaunchModule -->\n\nOAuth2ToolLaunchStrategy->ToolLaunchModule\n\n\n\n\n\nToolLaunchService\n\nToolLaunchService\n\nToolLaunchModule -->\n\nToolLaunchService->ToolLaunchModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tool/tool-launch/tool-launch.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n AutoContextIdStrategy\n \n \n AutoContextNameStrategy\n \n \n AutoSchoolIdStrategy\n \n \n AutoSchoolNumberStrategy\n \n \n BasicToolLaunchStrategy\n \n \n Lti11EncryptionService\n \n \n Lti11ToolLaunchStrategy\n \n \n OAuth2ToolLaunchStrategy\n \n \n ToolLaunchService\n \n \n \n \n Imports\n \n \n BoardModule\n \n \n CommonToolModule\n \n \n ContextExternalToolModule\n \n \n ExternalToolModule\n \n \n LearnroomModule\n \n \n LegacySchoolModule\n \n \n SchoolExternalToolModule\n \n \n UserModule\n \n \n \n \n Exports\n \n \n ToolLaunchService\n \n \n \n \n \n\n\n \n\n\n \n import { BoardModule } from '@modules/board';\nimport { LearnroomModule } from '@modules/learnroom';\nimport { LegacySchoolModule } from '@modules/legacy-school';\nimport { PseudonymModule } from '@modules/pseudonym';\nimport { UserModule } from '@modules/user';\nimport { forwardRef, Module } from '@nestjs/common';\nimport { CommonToolModule } from '../common';\nimport { ContextExternalToolModule } from '../context-external-tool';\nimport { ExternalToolModule } from '../external-tool';\nimport { SchoolExternalToolModule } from '../school-external-tool';\nimport { Lti11EncryptionService, ToolLaunchService } from './service';\nimport {\n\tAutoContextIdStrategy,\n\tAutoContextNameStrategy,\n\tAutoSchoolIdStrategy,\n\tAutoSchoolNumberStrategy,\n} from './service/auto-parameter-strategy';\nimport { BasicToolLaunchStrategy, Lti11ToolLaunchStrategy, OAuth2ToolLaunchStrategy } from './service/launch-strategy';\n\n@Module({\n\timports: [\n\t\tCommonToolModule,\n\t\tExternalToolModule,\n\t\tSchoolExternalToolModule,\n\t\tContextExternalToolModule,\n\t\tLegacySchoolModule,\n\t\tUserModule,\n\t\tforwardRef(() => PseudonymModule), // i do not like this solution, the root problem is on other place but not detectable for me\n\t\tLearnroomModule,\n\t\tBoardModule,\n\t],\n\tproviders: [\n\t\tToolLaunchService,\n\t\tLti11EncryptionService,\n\t\tBasicToolLaunchStrategy,\n\t\tLti11ToolLaunchStrategy,\n\t\tOAuth2ToolLaunchStrategy,\n\t\tAutoContextIdStrategy,\n\t\tAutoContextNameStrategy,\n\t\tAutoSchoolIdStrategy,\n\t\tAutoSchoolNumberStrategy,\n\t],\n\texports: [ToolLaunchService],\n})\nexport class ToolLaunchModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolLaunchParams.html":{"url":"classes/ToolLaunchParams.html","title":"class - ToolLaunchParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolLaunchParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/controller/dto/tool-launch.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextExternalToolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n contextExternalToolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The id of the context external tool', nullable: false, required: true})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/controller/dto/tool-launch.params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsMongoId } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\n\nexport class ToolLaunchParams {\n\t@IsMongoId()\n\t@ApiProperty({ description: 'The id of the context external tool', nullable: false, required: true })\n\tcontextExternalToolId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolLaunchRequest.html":{"url":"classes/ToolLaunchRequest.html","title":"class - ToolLaunchRequest","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolLaunchRequest\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/types/tool-launch-request.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n method\n \n \n openNewTab\n \n \n Optional\n payload\n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ToolLaunchRequest)\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/tool-launch-request.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ToolLaunchRequest\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n method\n \n \n \n \n \n \n Type : LaunchRequestMethod\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/tool-launch-request.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n openNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/tool-launch-request.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n payload\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/tool-launch-request.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/types/tool-launch-request.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { LaunchRequestMethod } from './launch-request-method';\n\nexport class ToolLaunchRequest {\n\tmethod: LaunchRequestMethod;\n\n\turl: string;\n\n\tpayload?: string;\n\n\topenNewTab: boolean;\n\n\tconstructor(props: ToolLaunchRequest) {\n\t\tthis.url = props.url;\n\t\tthis.method = props.method;\n\t\tthis.payload = props.payload;\n\t\tthis.openNewTab = props.openNewTab;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolLaunchRequestResponse.html":{"url":"classes/ToolLaunchRequestResponse.html","title":"class - ToolLaunchRequestResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolLaunchRequestResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/controller/dto/tool-launch-request.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n method\n \n \n \n Optional\n openNewTab\n \n \n \n Optional\n payload\n \n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: ToolLaunchRequestResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/controller/dto/tool-launch-request.response.ts:30\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n ToolLaunchRequestResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n method\n \n \n \n \n \n \n Type : LaunchRequestMethod\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The Launch Request method (GET or POST)', enum: LaunchRequestMethod, example: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/controller/dto/tool-launch-request.response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n openNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Specifies whether the Tool should be launched in a new tab', example: true, required: false})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/controller/dto/tool-launch-request.response.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n payload\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The payload for the Tool Launch Request (optional)', example: '{ \"key\": \"value\" }', required: false})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/controller/dto/tool-launch-request.response.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The URL for the Tool Launch Request', example: 'https://example.com/tool-launch'})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/controller/dto/tool-launch-request.response.ts:16\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { LaunchRequestMethod } from '../../types';\n\nexport class ToolLaunchRequestResponse {\n\t@ApiProperty({\n\t\tdescription: 'The Launch Request method (GET or POST)',\n\t\tenum: LaunchRequestMethod,\n\t\texample: LaunchRequestMethod.GET,\n\t})\n\tmethod!: LaunchRequestMethod;\n\n\t@ApiProperty({\n\t\tdescription: 'The URL for the Tool Launch Request',\n\t\texample: 'https://example.com/tool-launch',\n\t})\n\turl!: string;\n\n\t@ApiProperty({\n\t\tdescription: 'The payload for the Tool Launch Request (optional)',\n\t\texample: '{ \"key\": \"value\" }',\n\t\trequired: false,\n\t})\n\tpayload?: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Specifies whether the Tool should be launched in a new tab',\n\t\texample: true,\n\t\trequired: false,\n\t})\n\topenNewTab?: boolean;\n\n\tconstructor(props: ToolLaunchRequestResponse) {\n\t\tthis.url = props.url;\n\t\tthis.method = props.method;\n\t\tthis.payload = props.payload;\n\t\tthis.openNewTab = props.openNewTab;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ToolLaunchService.html":{"url":"injectables/ToolLaunchService.html","title":"injectable - ToolLaunchService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ToolLaunchService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/service/tool-launch.service.ts\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n strategies\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n generateLaunchRequest\n \n \n Async\n getLaunchData\n \n \n Private\n Async\n isToolStatusLatestOrThrow\n \n \n Private\n Async\n loadToolHierarchy\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolExternalToolService: SchoolExternalToolService, externalToolService: ExternalToolService, basicToolLaunchStrategy: BasicToolLaunchStrategy, lti11ToolLaunchStrategy: Lti11ToolLaunchStrategy, oauth2ToolLaunchStrategy: OAuth2ToolLaunchStrategy, toolVersionService: ToolVersionService)\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/tool-launch.service.ts:23\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolService\n \n \n SchoolExternalToolService\n \n \n \n No\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n basicToolLaunchStrategy\n \n \n BasicToolLaunchStrategy\n \n \n \n No\n \n \n \n \n lti11ToolLaunchStrategy\n \n \n Lti11ToolLaunchStrategy\n \n \n \n No\n \n \n \n \n oauth2ToolLaunchStrategy\n \n \n OAuth2ToolLaunchStrategy\n \n \n \n No\n \n \n \n \n toolVersionService\n \n \n ToolVersionService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n generateLaunchRequest\n \n \n \n \n \n \ngenerateLaunchRequest(toolLaunchData: ToolLaunchData)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/tool-launch.service.ts:39\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolLaunchData\n \n ToolLaunchData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolLaunchRequest\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getLaunchData\n \n \n \n \n \n \n \n getLaunchData(userId: EntityId, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/tool-launch.service.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n isToolStatusLatestOrThrow\n \n \n \n \n \n \n \n isToolStatusLatestOrThrow(userId: EntityId, externalTool: ExternalTool, schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/tool-launch.service.ts:87\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n loadToolHierarchy\n \n \n \n \n \n \n \n loadToolHierarchy(schoolExternalToolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/tool-launch.service.ts:74\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolExternalToolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n strategies\n \n \n \n \n \n \n Type : Map\n\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/tool-launch.service.ts:23\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ContextExternalToolConfigurationStatus } from '../../common/domain';\nimport { ToolConfigType } from '../../common/enum';\nimport { ContextExternalTool } from '../../context-external-tool/domain';\nimport { ToolVersionService } from '../../context-external-tool/service/tool-version-service';\nimport { ExternalTool } from '../../external-tool/domain';\nimport { ExternalToolService } from '../../external-tool/service';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { SchoolExternalToolService } from '../../school-external-tool/service';\nimport { ToolStatusOutdatedLoggableException } from '../error';\nimport { ToolLaunchMapper } from '../mapper';\nimport { ToolLaunchData, ToolLaunchRequest } from '../types';\nimport {\n\tBasicToolLaunchStrategy,\n\tLti11ToolLaunchStrategy,\n\tOAuth2ToolLaunchStrategy,\n\tToolLaunchStrategy,\n} from './launch-strategy';\n\n@Injectable()\nexport class ToolLaunchService {\n\tprivate strategies: Map;\n\n\tconstructor(\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly basicToolLaunchStrategy: BasicToolLaunchStrategy,\n\t\tprivate readonly lti11ToolLaunchStrategy: Lti11ToolLaunchStrategy,\n\t\tprivate readonly oauth2ToolLaunchStrategy: OAuth2ToolLaunchStrategy,\n\t\tprivate readonly toolVersionService: ToolVersionService\n\t) {\n\t\tthis.strategies = new Map();\n\t\tthis.strategies.set(ToolConfigType.BASIC, basicToolLaunchStrategy);\n\t\tthis.strategies.set(ToolConfigType.LTI11, lti11ToolLaunchStrategy);\n\t\tthis.strategies.set(ToolConfigType.OAUTH2, oauth2ToolLaunchStrategy);\n\t}\n\n\tgenerateLaunchRequest(toolLaunchData: ToolLaunchData): ToolLaunchRequest {\n\t\tconst toolConfigType: ToolConfigType = ToolLaunchMapper.mapToToolConfigType(toolLaunchData.type);\n\t\tconst strategy: ToolLaunchStrategy | undefined = this.strategies.get(toolConfigType);\n\n\t\tif (!strategy) {\n\t\t\tthrow new InternalServerErrorException('Unknown tool launch data type');\n\t\t}\n\n\t\tconst launchRequest: ToolLaunchRequest = strategy.createLaunchRequest(toolLaunchData);\n\n\t\treturn launchRequest;\n\t}\n\n\tasync getLaunchData(userId: EntityId, contextExternalTool: ContextExternalTool): Promise {\n\t\tconst schoolExternalToolId: EntityId = contextExternalTool.schoolToolRef.schoolToolId;\n\n\t\tconst { externalTool, schoolExternalTool } = await this.loadToolHierarchy(schoolExternalToolId);\n\n\t\tawait this.isToolStatusLatestOrThrow(userId, externalTool, schoolExternalTool, contextExternalTool);\n\n\t\tconst strategy: ToolLaunchStrategy | undefined = this.strategies.get(externalTool.config.type);\n\n\t\tif (!strategy) {\n\t\t\tthrow new InternalServerErrorException('Unknown tool config type');\n\t\t}\n\n\t\tconst launchData: ToolLaunchData = await strategy.createLaunchData(userId, {\n\t\t\texternalTool,\n\t\t\tschoolExternalTool,\n\t\t\tcontextExternalTool,\n\t\t});\n\n\t\treturn launchData;\n\t}\n\n\tprivate async loadToolHierarchy(\n\t\tschoolExternalToolId: string\n\t): Promise {\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(schoolExternalToolId);\n\n\t\tconst externalTool: ExternalTool = await this.externalToolService.findById(schoolExternalTool.toolId);\n\n\t\treturn {\n\t\t\tschoolExternalTool,\n\t\t\texternalTool,\n\t\t};\n\t}\n\n\tprivate async isToolStatusLatestOrThrow(\n\t\tuserId: EntityId,\n\t\texternalTool: ExternalTool,\n\t\tschoolExternalTool: SchoolExternalTool,\n\t\tcontextExternalTool: ContextExternalTool\n\t): Promise {\n\t\tconst status: ContextExternalToolConfigurationStatus =\n\t\t\tawait this.toolVersionService.determineToolConfigurationStatus(\n\t\t\t\texternalTool,\n\t\t\t\tschoolExternalTool,\n\t\t\t\tcontextExternalTool\n\t\t\t);\n\n\t\tif (status.isOutdatedOnScopeSchool || status.isOutdatedOnScopeContext) {\n\t\t\tthrow new ToolStatusOutdatedLoggableException(\n\t\t\t\tuserId,\n\t\t\t\tcontextExternalTool.id ?? '',\n\t\t\t\tstatus.isOutdatedOnScopeSchool,\n\t\t\t\tstatus.isOutdatedOnScopeContext\n\t\t\t);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ToolLaunchStrategy.html":{"url":"interfaces/ToolLaunchStrategy.html","title":"interface - ToolLaunchStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ToolLaunchStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/service/launch-strategy/tool-launch-strategy.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n createLaunchData\n \n \n \n \n createLaunchRequest\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n createLaunchData\n \n \n \n \n \n \ncreateLaunchData(userId: EntityId, params: ToolLaunchParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/launch-strategy/tool-launch-strategy.interface.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n params\n \n ToolLaunchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n createLaunchRequest\n \n \n \n \n \n \ncreateLaunchRequest(toolLaunchDataDO: ToolLaunchData)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/service/launch-strategy/tool-launch-strategy.interface.ts:8\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolLaunchDataDO\n \n ToolLaunchData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolLaunchRequest\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { ToolLaunchData, ToolLaunchRequest } from '../../types';\nimport { ToolLaunchParams } from './tool-launch-params.interface';\n\nexport interface ToolLaunchStrategy {\n\tcreateLaunchData(userId: EntityId, params: ToolLaunchParams): Promise;\n\n\tcreateLaunchRequest(toolLaunchDataDO: ToolLaunchData): ToolLaunchRequest;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ToolLaunchUc.html":{"url":"injectables/ToolLaunchUc.html","title":"injectable - ToolLaunchUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ToolLaunchUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/uc/tool-launch.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getToolLaunchRequest\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(toolLaunchService: ToolLaunchService, contextExternalToolService: ContextExternalToolService, toolPermissionHelper: ToolPermissionHelper)\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/uc/tool-launch.uc.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolLaunchService\n \n \n ToolLaunchService\n \n \n \n No\n \n \n \n \n contextExternalToolService\n \n \n ContextExternalToolService\n \n \n \n No\n \n \n \n \n toolPermissionHelper\n \n \n ToolPermissionHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getToolLaunchRequest\n \n \n \n \n \n \n \n getToolLaunchRequest(userId: EntityId, contextExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/uc/tool-launch.uc.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContext, AuthorizationContextBuilder } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { ToolPermissionHelper } from '../../common/uc/tool-permission-helper';\nimport { ContextExternalTool } from '../../context-external-tool/domain';\nimport { ContextExternalToolService } from '../../context-external-tool/service';\nimport { ToolLaunchService } from '../service';\nimport { ToolLaunchData, ToolLaunchRequest } from '../types';\n\n@Injectable()\nexport class ToolLaunchUc {\n\tconstructor(\n\t\tprivate readonly toolLaunchService: ToolLaunchService,\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService,\n\t\tprivate readonly toolPermissionHelper: ToolPermissionHelper\n\t) {}\n\n\tasync getToolLaunchRequest(userId: EntityId, contextExternalToolId: EntityId): Promise {\n\t\tconst contextExternalTool: ContextExternalTool = await this.contextExternalToolService.findByIdOrFail(\n\t\t\tcontextExternalToolId\n\t\t);\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.CONTEXT_TOOL_USER]);\n\n\t\tawait this.toolPermissionHelper.ensureContextPermissions(userId, contextExternalTool, context);\n\n\t\tconst toolLaunchData: ToolLaunchData = await this.toolLaunchService.getLaunchData(userId, contextExternalTool);\n\t\tconst launchRequest: ToolLaunchRequest = this.toolLaunchService.generateLaunchRequest(toolLaunchData);\n\n\t\treturn launchRequest;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ToolModule.html":{"url":"modules/ToolModule.html","title":"module - ToolModule","body":"\n \n\n\n\n\n Modules\n ToolModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_ToolModule\n\n\n\ncluster_ToolModule_imports\n\n\n\ncluster_ToolModule_exports\n\n\n\ncluster_ToolModule_providers\n\n\n\n\nContextExternalToolModule\n\nContextExternalToolModule\n\n\n\nToolModule\n\nToolModule\n\nToolModule -->\n\nContextExternalToolModule->ToolModule\n\n\n\n\n\nExternalToolModule\n\nExternalToolModule\n\nToolModule -->\n\nExternalToolModule->ToolModule\n\n\n\n\n\nSchoolExternalToolModule\n\nSchoolExternalToolModule\n\nToolModule -->\n\nSchoolExternalToolModule->ToolModule\n\n\n\n\n\nToolConfigModule\n\nToolConfigModule\n\nToolModule -->\n\nToolConfigModule->ToolModule\n\n\n\n\n\nToolLaunchModule\n\nToolLaunchModule\n\nToolModule -->\n\nToolLaunchModule->ToolModule\n\n\n\n\n\nCommonToolService \n\nCommonToolService \n\nCommonToolService -->\n\nToolModule->CommonToolService \n\n\n\n\n\nContextExternalToolModule \n\nContextExternalToolModule \n\nContextExternalToolModule -->\n\nToolModule->ContextExternalToolModule \n\n\n\n\n\nExternalToolModule \n\nExternalToolModule \n\nExternalToolModule -->\n\nToolModule->ExternalToolModule \n\n\n\n\n\nSchoolExternalToolModule \n\nSchoolExternalToolModule \n\nSchoolExternalToolModule -->\n\nToolModule->SchoolExternalToolModule \n\n\n\n\n\nToolLaunchModule \n\nToolLaunchModule \n\nToolLaunchModule -->\n\nToolModule->ToolLaunchModule \n\n\n\n\n\nCommonToolService\n\nCommonToolService\n\nToolModule -->\n\nCommonToolService->ToolModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/tool/tool.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n CommonToolService\n \n \n \n \n Imports\n \n \n ContextExternalToolModule\n \n \n ExternalToolModule\n \n \n SchoolExternalToolModule\n \n \n ToolConfigModule\n \n \n ToolLaunchModule\n \n \n \n \n Exports\n \n \n CommonToolService\n \n \n ContextExternalToolModule\n \n \n ExternalToolModule\n \n \n SchoolExternalToolModule\n \n \n ToolLaunchModule\n \n \n \n \n \n\n\n \n\n\n \n import { forwardRef, Module } from '@nestjs/common';\nimport { ContextExternalToolModule } from './context-external-tool';\nimport { SchoolExternalToolModule } from './school-external-tool';\nimport { ExternalToolModule } from './external-tool';\nimport { CommonToolModule } from './common';\nimport { ToolLaunchModule } from './tool-launch';\nimport { CommonToolService } from './common/service';\nimport { ToolConfigModule } from './tool-config.module';\n\n@Module({\n\timports: [\n\t\tToolConfigModule,\n\t\tforwardRef(() => CommonToolModule),\n\t\tExternalToolModule,\n\t\tSchoolExternalToolModule,\n\t\tContextExternalToolModule,\n\t\tToolLaunchModule,\n\t],\n\tproviders: [CommonToolService],\n\texports: [\n\t\tExternalToolModule,\n\t\tSchoolExternalToolModule,\n\t\tContextExternalToolModule,\n\t\tToolLaunchModule,\n\t\t// TODO: remove this when reference loader is using service instead of repo\n\t\tCommonToolService,\n\t],\n})\nexport class ToolModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ToolPermissionHelper.html":{"url":"injectables/ToolPermissionHelper.html","title":"injectable - ToolPermissionHelper","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ToolPermissionHelper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/uc/tool-permission-helper.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n Async\n ensureContextPermissions\n \n \n Public\n Async\n ensureSchoolPermissions\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationService: AuthorizationService, schoolService: LegacySchoolService, courseService: CourseService, boardElementService: ContentElementService, boardService: BoardDoAuthorizableService)\n \n \n \n \n Defined in apps/server/src/modules/tool/common/uc/tool-permission-helper.ts:15\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n courseService\n \n \n CourseService\n \n \n \n No\n \n \n \n \n boardElementService\n \n \n ContentElementService\n \n \n \n No\n \n \n \n \n boardService\n \n \n BoardDoAuthorizableService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n Async\n ensureContextPermissions\n \n \n \n \n \n \n \n ensureContextPermissions(userId: EntityId, contextExternalTool: ContextExternalTool, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/uc/tool-permission-helper.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n ensureSchoolPermissions\n \n \n \n \n \n \n \n ensureSchoolPermissions(userId: EntityId, schoolExternalTool: SchoolExternalTool, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/uc/tool-permission-helper.ts:53\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContext, AuthorizationService, ForbiddenLoggableException } from '@modules/authorization';\nimport { AuthorizableReferenceType } from '@modules/authorization/domain';\nimport { BoardDoAuthorizableService, ContentElementService } from '@modules/board';\nimport { CourseService } from '@modules/learnroom';\nimport { LegacySchoolService } from '@modules/legacy-school';\nimport { Inject, Injectable, forwardRef } from '@nestjs/common';\nimport { BoardDoAuthorizable, LegacySchoolDo } from '@shared/domain/domainobject';\nimport { Course, User } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { ContextExternalTool } from '../../context-external-tool/domain';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { ToolContextType } from '../enum';\n\n@Injectable()\nexport class ToolPermissionHelper {\n\tconstructor(\n\t\t@Inject(forwardRef(() => AuthorizationService)) private readonly authorizationService: AuthorizationService,\n\t\tprivate readonly schoolService: LegacySchoolService,\n\t\t// invalid dependency on this place it is in UC layer in a other module\n\t\t// loading of ressources should be part of service layer\n\t\t// if it must resolve different loadings based on the request it can be added in own service and use in UC\n\t\tprivate readonly courseService: CourseService,\n\t\tprivate readonly boardElementService: ContentElementService,\n\t\tprivate readonly boardService: BoardDoAuthorizableService\n\t) {}\n\n\t// TODO build interface to get contextDO by contextType\n\tpublic async ensureContextPermissions(\n\t\tuserId: EntityId,\n\t\tcontextExternalTool: ContextExternalTool,\n\t\tcontext: AuthorizationContext\n\t): Promise {\n\t\tconst authorizableUser = await this.authorizationService.getUserWithPermissions(userId);\n\n\t\tthis.authorizationService.checkPermission(authorizableUser, contextExternalTool, context);\n\n\t\tif (contextExternalTool.contextRef.type === ToolContextType.COURSE) {\n\t\t\t// loading of ressources should be part of the UC -> unnessasary awaits\n\t\t\tconst course: Course = await this.courseService.findById(contextExternalTool.contextRef.id);\n\n\t\t\tthis.authorizationService.checkPermission(authorizableUser, course, context);\n\t\t} else if (contextExternalTool.contextRef.type === ToolContextType.BOARD_ELEMENT) {\n\t\t\tconst boardElement = await this.boardElementService.findById(contextExternalTool.contextRef.id);\n\n\t\t\tconst board: BoardDoAuthorizable = await this.boardService.getBoardAuthorizable(boardElement);\n\n\t\t\tthis.authorizationService.checkPermission(authorizableUser, board, context);\n\t\t} else {\n\t\t\tthrow new ForbiddenLoggableException(userId, AuthorizableReferenceType.ContextExternalToolEntity, context);\n\t\t}\n\t}\n\n\tpublic async ensureSchoolPermissions(\n\t\tuserId: EntityId,\n\t\tschoolExternalTool: SchoolExternalTool,\n\t\tcontext: AuthorizationContext\n\t): Promise {\n\t\t// loading of ressources should be part of the UC -> unnessasary awaits\n\t\tconst [user, school]: [User, LegacySchoolDo] = await Promise.all([\n\t\t\tthis.authorizationService.getUserWithPermissions(userId),\n\t\t\tthis.schoolService.getSchoolById(schoolExternalTool.schoolId),\n\t\t]);\n\n\t\tthis.authorizationService.checkPermission(user, school, context);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolReference.html":{"url":"classes/ToolReference.html","title":"class - ToolReference","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolReference\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/domain/tool-reference.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n contextToolId\n \n \n displayName\n \n \n Optional\n logoUrl\n \n \n openInNewTab\n \n \n status\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(toolReference: ToolReference)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/tool-reference.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolReference\n \n \n ToolReference\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n contextToolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/tool-reference.ts:4\n \n \n\n\n \n \n \n \n \n \n \n \n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/tool-reference.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/tool-reference.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n openInNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/tool-reference.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : ContextExternalToolConfigurationStatus\n\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/domain/tool-reference.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ContextExternalToolConfigurationStatus } from '../../common/domain';\n\nexport class ToolReference {\n\tcontextToolId: string;\n\n\tlogoUrl?: string;\n\n\tdisplayName: string;\n\n\topenInNewTab: boolean;\n\n\tstatus: ContextExternalToolConfigurationStatus;\n\n\tconstructor(toolReference: ToolReference) {\n\t\tthis.contextToolId = toolReference.contextToolId;\n\t\tthis.logoUrl = toolReference.logoUrl;\n\t\tthis.displayName = toolReference.displayName;\n\t\tthis.openInNewTab = toolReference.openInNewTab;\n\t\tthis.status = toolReference.status;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/ToolReferenceController.html":{"url":"controllers/ToolReferenceController.html","title":"controller - ToolReferenceController","body":"\n \n\n\n\n\n\n\n Controllers\n ToolReferenceController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/controller/tool-reference.controller.ts\n \n\n \n Prefix\n \n \n tools/tool-references\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n Async\n getToolReference\n \n \n \n \n \n \n \n Async\n getToolReferencesForContext\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getToolReference\n \n \n \n \n \n \n \n getToolReference(currentUser: ICurrentUser, params: ContextExternalToolIdParams)\n \n \n\n \n \n Decorators : \n \n @Get('context-external-tools/:contextExternalToolId')@ApiOperation({summary: 'Get ExternalTool Reference for a given context external tool'})@ApiOkResponse({description: 'The Tool Reference has been successfully fetched.', type: ToolReferenceResponse})@ApiForbiddenResponse({description: 'User is not allowed to access this resource.'})@ApiUnauthorizedResponse({description: 'User is not logged in.'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/tool-reference.controller.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ContextExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getToolReferencesForContext\n \n \n \n \n \n \n \n getToolReferencesForContext(currentUser: ICurrentUser, params: ContextExternalToolContextParams)\n \n \n\n \n \n Decorators : \n \n @Get('/:contextType/:contextId')@ApiOperation({summary: 'Get ExternalTool References for a given context'})@ApiOkResponse({description: 'The Tool References has been successfully fetched.', type: ToolReferenceListResponse})@ApiForbiddenResponse({description: 'User is not allowed to access this resource.'})@ApiUnauthorizedResponse({description: 'User is not logged in.'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/tool-reference.controller.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n ContextExternalToolContextParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Controller, Get, Param } from '@nestjs/common';\nimport { ApiForbiddenResponse, ApiOkResponse, ApiOperation, ApiTags, ApiUnauthorizedResponse } from '@nestjs/swagger';\nimport { ToolReference } from '../domain';\nimport { ContextExternalToolResponseMapper } from '../mapper';\nimport { ToolReferenceUc } from '../uc';\nimport {\n\tContextExternalToolContextParams,\n\tContextExternalToolIdParams,\n\tToolReferenceListResponse,\n\tToolReferenceResponse,\n} from './dto';\n\n@ApiTags('Tool')\n@Authenticate('jwt')\n@Controller('tools/tool-references')\nexport class ToolReferenceController {\n\tconstructor(private readonly toolReferenceUc: ToolReferenceUc) {}\n\n\t@Get('context-external-tools/:contextExternalToolId')\n\t@ApiOperation({ summary: 'Get ExternalTool Reference for a given context external tool' })\n\t@ApiOkResponse({\n\t\tdescription: 'The Tool Reference has been successfully fetched.',\n\t\ttype: ToolReferenceResponse,\n\t})\n\t@ApiForbiddenResponse({ description: 'User is not allowed to access this resource.' })\n\t@ApiUnauthorizedResponse({ description: 'User is not logged in.' })\n\tasync getToolReference(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ContextExternalToolIdParams\n\t): Promise {\n\t\tconst toolReference: ToolReference = await this.toolReferenceUc.getToolReference(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.contextExternalToolId\n\t\t);\n\n\t\tconst toolReferenceResponse: ToolReferenceResponse =\n\t\t\tContextExternalToolResponseMapper.mapToToolReferenceResponse(toolReference);\n\n\t\treturn toolReferenceResponse;\n\t}\n\n\t@Get('/:contextType/:contextId')\n\t@ApiOperation({ summary: 'Get ExternalTool References for a given context' })\n\t@ApiOkResponse({\n\t\tdescription: 'The Tool References has been successfully fetched.',\n\t\ttype: ToolReferenceListResponse,\n\t})\n\t@ApiForbiddenResponse({ description: 'User is not allowed to access this resource.' })\n\t@ApiUnauthorizedResponse({ description: 'User is not logged in.' })\n\tasync getToolReferencesForContext(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: ContextExternalToolContextParams\n\t): Promise {\n\t\tconst toolReferences: ToolReference[] = await this.toolReferenceUc.getToolReferencesForContext(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.contextType,\n\t\t\tparams.contextId\n\t\t);\n\n\t\tconst toolReferenceResponses: ToolReferenceResponse[] =\n\t\t\tContextExternalToolResponseMapper.mapToToolReferenceResponses(toolReferences);\n\n\t\tconst toolReferenceListResponse: ToolReferenceListResponse = new ToolReferenceListResponse(toolReferenceResponses);\n\n\t\treturn toolReferenceListResponse;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolReferenceListResponse.html":{"url":"classes/ToolReferenceListResponse.html","title":"class - ToolReferenceListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolReferenceListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/controller/dto/tool-reference-list.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: ToolReferenceResponse[])\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/tool-reference-list.response.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n ToolReferenceResponse[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : ToolReferenceResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/tool-reference-list.response.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { ToolReferenceResponse } from './tool-reference.response';\n\nexport class ToolReferenceListResponse {\n\t@ApiProperty({ type: [ToolReferenceResponse] })\n\tdata: ToolReferenceResponse[];\n\n\tconstructor(data: ToolReferenceResponse[]) {\n\t\tthis.data = data;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolReferenceMapper.html":{"url":"classes/ToolReferenceMapper.html","title":"class - ToolReferenceMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolReferenceMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/mapper/tool-reference.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToToolReference\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToToolReference\n \n \n \n \n \n \n \n mapToToolReference(externalTool: ExternalTool, contextExternalTool: ContextExternalTool, status: ContextExternalToolConfigurationStatus)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/mapper/tool-reference.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n status\n \n ContextExternalToolConfigurationStatus\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ToolReference\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ContextExternalToolConfigurationStatus } from '../../common/domain';\nimport { ExternalTool } from '../../external-tool/domain';\nimport { ContextExternalTool, ToolReference } from '../domain';\n\nexport class ToolReferenceMapper {\n\tstatic mapToToolReference(\n\t\texternalTool: ExternalTool,\n\t\tcontextExternalTool: ContextExternalTool,\n\t\tstatus: ContextExternalToolConfigurationStatus\n\t): ToolReference {\n\t\tconst toolReference = new ToolReference({\n\t\t\tcontextToolId: contextExternalTool.id ?? '',\n\t\t\tlogoUrl: externalTool.logoUrl,\n\t\t\tdisplayName: contextExternalTool.displayName ?? externalTool.name,\n\t\t\tstatus,\n\t\t\topenInNewTab: externalTool.openNewTab,\n\t\t});\n\n\t\treturn toolReference;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolReferenceResponse.html":{"url":"classes/ToolReferenceResponse.html","title":"class - ToolReferenceResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolReferenceResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/controller/dto/tool-reference.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n contextToolId\n \n \n \n displayName\n \n \n \n Optional\n logoUrl\n \n \n \n openInNewTab\n \n \n \n status\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(toolReferenceResponse: ToolReferenceResponse)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/tool-reference.response.ts:27\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n toolReferenceResponse\n \n \n ToolReferenceResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n contextToolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({nullable: false, required: true, description: 'The id of the tool in the context'})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/tool-reference.response.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n \n displayName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({nullable: false, required: true, description: 'The display name of the tool'})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/tool-reference.response.ts:16\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n logoUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({nullable: false, required: false, description: 'The url of the logo which is stored in the db'})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/tool-reference.response.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n \n openInNewTab\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({nullable: false, required: true, description: 'Whether the tool should be opened in a new tab'})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/tool-reference.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n status\n \n \n \n \n \n \n Type : ContextExternalToolConfigurationStatusResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: ContextExternalToolConfigurationStatusResponse, nullable: false, required: true, description: 'The status of the tool'})\n \n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/controller/dto/tool-reference.response.ts:27\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { ContextExternalToolConfigurationStatusResponse } from '../../../common/controller/dto';\n\nexport class ToolReferenceResponse {\n\t@ApiProperty({ nullable: false, required: true, description: 'The id of the tool in the context' })\n\tcontextToolId: string;\n\n\t@ApiPropertyOptional({\n\t\tnullable: false,\n\t\trequired: false,\n\t\tdescription: 'The url of the logo which is stored in the db',\n\t})\n\tlogoUrl?: string;\n\n\t@ApiProperty({ nullable: false, required: true, description: 'The display name of the tool' })\n\tdisplayName: string;\n\n\t@ApiProperty({ nullable: false, required: true, description: 'Whether the tool should be opened in a new tab' })\n\topenInNewTab: boolean;\n\n\t@ApiProperty({\n\t\ttype: ContextExternalToolConfigurationStatusResponse,\n\t\tnullable: false,\n\t\trequired: true,\n\t\tdescription: 'The status of the tool',\n\t})\n\tstatus: ContextExternalToolConfigurationStatusResponse;\n\n\tconstructor(toolReferenceResponse: ToolReferenceResponse) {\n\t\tthis.contextToolId = toolReferenceResponse.contextToolId;\n\t\tthis.logoUrl = toolReferenceResponse.logoUrl;\n\t\tthis.displayName = toolReferenceResponse.displayName;\n\t\tthis.openInNewTab = toolReferenceResponse.openInNewTab;\n\t\tthis.status = toolReferenceResponse.status;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ToolReferenceService.html":{"url":"injectables/ToolReferenceService.html","title":"injectable - ToolReferenceService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ToolReferenceService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/service/tool-reference.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getToolReference\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalToolService: ExternalToolService, schoolExternalToolService: SchoolExternalToolService, contextExternalToolService: ContextExternalToolService, externalToolLogoService: ExternalToolLogoService, toolVersionService: ToolVersionService)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/tool-reference.service.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalToolService\n \n \n ExternalToolService\n \n \n \n No\n \n \n \n \n schoolExternalToolService\n \n \n SchoolExternalToolService\n \n \n \n No\n \n \n \n \n contextExternalToolService\n \n \n ContextExternalToolService\n \n \n \n No\n \n \n \n \n externalToolLogoService\n \n \n ExternalToolLogoService\n \n \n \n No\n \n \n \n \n toolVersionService\n \n \n ToolVersionService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getToolReference\n \n \n \n \n \n \n \n getToolReference(contextExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/tool-reference.service.ts:23\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ExternalTool } from '../../external-tool/domain';\nimport { ExternalToolLogoService, ExternalToolService } from '../../external-tool/service';\nimport { ContextExternalToolConfigurationStatus } from '../../common/domain';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { SchoolExternalToolService } from '../../school-external-tool/service';\nimport { ContextExternalTool, ToolReference } from '../domain';\nimport { ToolReferenceMapper } from '../mapper';\nimport { ContextExternalToolService } from './context-external-tool.service';\nimport { ToolVersionService } from './tool-version-service';\n\n@Injectable()\nexport class ToolReferenceService {\n\tconstructor(\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService,\n\t\tprivate readonly externalToolLogoService: ExternalToolLogoService,\n\t\tprivate readonly toolVersionService: ToolVersionService\n\t) {}\n\n\tasync getToolReference(contextExternalToolId: EntityId): Promise {\n\t\tconst contextExternalTool: ContextExternalTool = await this.contextExternalToolService.findByIdOrFail(\n\t\t\tcontextExternalToolId\n\t\t);\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(\n\t\t\tcontextExternalTool.schoolToolRef.schoolToolId\n\t\t);\n\t\tconst externalTool: ExternalTool = await this.externalToolService.findById(schoolExternalTool.toolId);\n\n\t\tconst status: ContextExternalToolConfigurationStatus =\n\t\t\tawait this.toolVersionService.determineToolConfigurationStatus(\n\t\t\t\texternalTool,\n\t\t\t\tschoolExternalTool,\n\t\t\t\tcontextExternalTool\n\t\t\t);\n\n\t\tconst toolReference: ToolReference = ToolReferenceMapper.mapToToolReference(\n\t\t\texternalTool,\n\t\t\tcontextExternalTool,\n\t\t\tstatus\n\t\t);\n\t\ttoolReference.logoUrl = this.externalToolLogoService.buildLogoUrl(\n\t\t\t'/v3/tools/external-tools/{id}/logo',\n\t\t\texternalTool\n\t\t);\n\n\t\treturn toolReference;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ToolReferenceUc.html":{"url":"injectables/ToolReferenceUc.html","title":"injectable - ToolReferenceUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ToolReferenceUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/uc/tool-reference.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n ensureToolPermissions\n \n \n Async\n getToolReference\n \n \n Async\n getToolReferencesForContext\n \n \n Private\n Async\n tryBuildToolReference\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(contextExternalToolService: ContextExternalToolService, toolReferenceService: ToolReferenceService, toolPermissionHelper: ToolPermissionHelper)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/tool-reference.uc.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalToolService\n \n \n ContextExternalToolService\n \n \n \n No\n \n \n \n \n toolReferenceService\n \n \n ToolReferenceService\n \n \n \n No\n \n \n \n \n toolPermissionHelper\n \n \n ToolPermissionHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n ensureToolPermissions\n \n \n \n \n \n \n \n ensureToolPermissions(userId: EntityId, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/tool-reference.uc.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getToolReference\n \n \n \n \n \n \n \n getToolReference(userId: EntityId, contextExternalToolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/tool-reference.uc.ts:58\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextExternalToolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getToolReferencesForContext\n \n \n \n \n \n \n \n getToolReferencesForContext(userId: EntityId, contextType: ToolContextType, contextId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/tool-reference.uc.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextType\n \n ToolContextType\n \n\n \n No\n \n\n\n \n \n contextId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n tryBuildToolReference\n \n \n \n \n \n \n \n tryBuildToolReference(userId: EntityId, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/uc/tool-reference.uc.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthorizationContext, AuthorizationContextBuilder } from '@modules/authorization';\nimport { Injectable } from '@nestjs/common';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { ToolContextType } from '../../common/enum';\nimport { ToolPermissionHelper } from '../../common/uc/tool-permission-helper';\nimport { ContextExternalTool, ContextRef, ToolReference } from '../domain';\nimport { ContextExternalToolService, ToolReferenceService } from '../service';\n\n@Injectable()\nexport class ToolReferenceUc {\n\tconstructor(\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService,\n\t\tprivate readonly toolReferenceService: ToolReferenceService,\n\t\tprivate readonly toolPermissionHelper: ToolPermissionHelper\n\t) {}\n\n\tasync getToolReferencesForContext(\n\t\tuserId: EntityId,\n\t\tcontextType: ToolContextType,\n\t\tcontextId: EntityId\n\t): Promise {\n\t\tconst contextRef = new ContextRef({ type: contextType, id: contextId });\n\n\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolService.findAllByContext(\n\t\t\tcontextRef\n\t\t);\n\n\t\tconst toolReferencesPromises: Promise[] = contextExternalTools.map(\n\t\t\tasync (contextExternalTool: ContextExternalTool) => this.tryBuildToolReference(userId, contextExternalTool)\n\t\t);\n\n\t\tconst toolReferencesWithNull: (ToolReference | null)[] = await Promise.all(toolReferencesPromises);\n\t\tconst filteredToolReferences: ToolReference[] = toolReferencesWithNull.filter(\n\t\t\t(toolReference: ToolReference | null): toolReference is ToolReference => toolReference !== null\n\t\t);\n\n\t\treturn filteredToolReferences;\n\t}\n\n\tprivate async tryBuildToolReference(\n\t\tuserId: EntityId,\n\t\tcontextExternalTool: ContextExternalTool\n\t): Promise {\n\t\ttry {\n\t\t\tawait this.ensureToolPermissions(userId, contextExternalTool);\n\n\t\t\tconst toolReference: ToolReference = await this.toolReferenceService.getToolReference(\n\t\t\t\tcontextExternalTool.id as string\n\t\t\t);\n\n\t\t\treturn toolReference;\n\t\t} catch (e: unknown) {\n\t\t\treturn null;\n\t\t}\n\t}\n\n\tasync getToolReference(userId: EntityId, contextExternalToolId: EntityId): Promise {\n\t\tconst contextExternalTool: ContextExternalTool = await this.contextExternalToolService.findByIdOrFail(\n\t\t\tcontextExternalToolId\n\t\t);\n\n\t\tawait this.ensureToolPermissions(userId, contextExternalTool);\n\n\t\tconst toolReference: ToolReference = await this.toolReferenceService.getToolReference(\n\t\t\tcontextExternalTool.id as string\n\t\t);\n\n\t\treturn toolReference;\n\t}\n\n\tprivate async ensureToolPermissions(userId: EntityId, contextExternalTool: ContextExternalTool): Promise {\n\t\tconst context: AuthorizationContext = AuthorizationContextBuilder.read([Permission.CONTEXT_TOOL_USER]);\n\n\t\tconst promise: Promise = this.toolPermissionHelper.ensureContextPermissions(\n\t\t\tuserId,\n\t\t\tcontextExternalTool,\n\t\t\tcontext\n\t\t);\n\n\t\treturn promise;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/ToolSchoolController.html":{"url":"controllers/ToolSchoolController.html","title":"controller - ToolSchoolController","body":"\n \n\n\n\n\n\n\n Controllers\n ToolSchoolController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/school-external-tool/controller/tool-school.controller.ts\n \n\n \n Prefix\n \n \n tools/school-external-tools\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createSchoolExternalTool\n \n \n \n \n \n \n \n Async\n deleteSchoolExternalTool\n \n \n \n \n \n \n Async\n getMetaDataForExternalTool\n \n \n \n \n \n \n Async\n getSchoolExternalTool\n \n \n \n \n \n \n \n Async\n getSchoolExternalTools\n \n \n \n \n \n \n \n \n Async\n updateSchoolExternalTool\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createSchoolExternalTool\n \n \n \n \n \n \n \n createSchoolExternalTool(currentUser: ICurrentUser, body: SchoolExternalToolPostParams)\n \n \n\n \n \n Decorators : \n \n @Post()@ApiCreatedResponse({description: 'The SchoolExternalTool has been successfully created.', type: SchoolExternalToolResponse})@ApiForbiddenResponse()@ApiUnprocessableEntityResponse()@ApiUnauthorizedResponse()@ApiResponse({status: 400, type: ValidationError, description: 'Request data has invalid format.'})@ApiOperation({summary: 'Creates a SchoolExternalTool'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/tool-school.controller.ts:126\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n body\n \n SchoolExternalToolPostParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteSchoolExternalTool\n \n \n \n \n \n \n \n deleteSchoolExternalTool(currentUser: ICurrentUser, params: SchoolExternalToolIdParams)\n \n \n\n \n \n Decorators : \n \n @Delete(':schoolExternalToolId')@ApiForbiddenResponse()@ApiUnauthorizedResponse()@ApiOperation({summary: 'Deletes a SchoolExternalTool'})@HttpCode(HttpStatus.NO_CONTENT)\n \n \n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/tool-school.controller.ts:106\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n SchoolExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getMetaDataForExternalTool\n \n \n \n \n \n \n \n getMetaDataForExternalTool(currentUser: ICurrentUser, params: SchoolExternalToolIdParams)\n \n \n\n \n \n Decorators : \n \n @Get('/:schoolExternalToolId/metadata')@ApiOperation({summary: 'Gets the metadata of an school external tool.'})@ApiOkResponse({description: 'Metadata of school external tool fetched successfully.', type: SchoolExternalToolMetadataResponse})@ApiUnauthorizedResponse({description: 'User is not logged in.'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/tool-school.controller.ts:152\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n SchoolExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getSchoolExternalTool\n \n \n \n \n \n \n \n getSchoolExternalTool(currentUser: ICurrentUser, params: SchoolExternalToolIdParams)\n \n \n\n \n \n Decorators : \n \n @Get(':schoolExternalToolId')@ApiForbiddenResponse()@ApiUnauthorizedResponse()@ApiOperation({summary: 'Returns a SchoolExternalTool for the given id'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/tool-school.controller.ts:66\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n SchoolExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getSchoolExternalTools\n \n \n \n \n \n \n \n getSchoolExternalTools(currentUser: ICurrentUser, schoolExternalToolParams: SchoolExternalToolSearchParams)\n \n \n\n \n \n Decorators : \n \n @Get()@ApiFoundResponse({description: 'SchoolExternalTools has been found.', type: ExternalToolSearchListResponse})@ApiForbiddenResponse()@ApiUnauthorizedResponse()@ApiOperation({summary: 'Returns a list of SchoolExternalTools for a given school'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/tool-school.controller.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n schoolExternalToolParams\n \n SchoolExternalToolSearchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n updateSchoolExternalTool\n \n \n \n \n \n \n \n updateSchoolExternalTool(currentUser: ICurrentUser, params: SchoolExternalToolIdParams, body: SchoolExternalToolPostParams)\n \n \n\n \n \n Decorators : \n \n @Put('/:schoolExternalToolId')@ApiOkResponse({description: 'The Tool has been successfully updated.', type: SchoolExternalToolResponse})@ApiForbiddenResponse()@ApiUnauthorizedResponse()@ApiBadRequestResponse({type: ValidationError, description: 'Request data has invalid format.'})@ApiOperation({summary: 'Updates a SchoolExternalTool'})\n \n \n\n \n \n Defined in apps/server/src/modules/tool/school-external-tool/controller/tool-school.controller.ts:84\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n SchoolExternalToolIdParams\n \n\n \n No\n \n\n\n \n \n body\n \n SchoolExternalToolPostParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, Delete, Get, HttpCode, HttpStatus, Param, Post, Put, Query } from '@nestjs/common';\nimport {\n\tApiBadRequestResponse,\n\tApiCreatedResponse,\n\tApiForbiddenResponse,\n\tApiFoundResponse,\n\tApiOkResponse,\n\tApiOperation,\n\tApiResponse,\n\tApiTags,\n\tApiUnauthorizedResponse,\n\tApiUnprocessableEntityResponse,\n} from '@nestjs/swagger';\nimport { ValidationError } from '@shared/common';\nimport { LegacyLogger } from '@src/core/logger';\nimport { ExternalToolSearchListResponse } from '../../external-tool/controller/dto';\nimport { SchoolExternalTool, SchoolExternalToolMetadata } from '../domain';\nimport {\n\tSchoolExternalToolMetadataMapper,\n\tSchoolExternalToolRequestMapper,\n\tSchoolExternalToolResponseMapper,\n} from '../mapper';\nimport { SchoolExternalToolUc } from '../uc';\nimport { SchoolExternalToolDto } from '../uc/dto/school-external-tool.types';\nimport {\n\tSchoolExternalToolIdParams,\n\tSchoolExternalToolMetadataResponse,\n\tSchoolExternalToolPostParams,\n\tSchoolExternalToolResponse,\n\tSchoolExternalToolSearchListResponse,\n\tSchoolExternalToolSearchParams,\n} from './dto';\n\n@ApiTags('Tool')\n@Authenticate('jwt')\n@Controller('tools/school-external-tools')\nexport class ToolSchoolController {\n\tconstructor(\n\t\tprivate readonly schoolExternalToolUc: SchoolExternalToolUc,\n\t\tprivate readonly responseMapper: SchoolExternalToolResponseMapper,\n\t\tprivate readonly requestMapper: SchoolExternalToolRequestMapper,\n\t\tprivate readonly logger: LegacyLogger\n\t) {}\n\n\t@Get()\n\t@ApiFoundResponse({ description: 'SchoolExternalTools has been found.', type: ExternalToolSearchListResponse })\n\t@ApiForbiddenResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiOperation({ summary: 'Returns a list of SchoolExternalTools for a given school' })\n\tasync getSchoolExternalTools(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Query() schoolExternalToolParams: SchoolExternalToolSearchParams\n\t): Promise {\n\t\tconst found: SchoolExternalTool[] = await this.schoolExternalToolUc.findSchoolExternalTools(currentUser.userId, {\n\t\t\tschoolId: schoolExternalToolParams.schoolId,\n\t\t});\n\t\tconst response: SchoolExternalToolSearchListResponse = this.responseMapper.mapToSearchListResponse(found);\n\t\treturn response;\n\t}\n\n\t@Get(':schoolExternalToolId')\n\t@ApiForbiddenResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiOperation({ summary: 'Returns a SchoolExternalTool for the given id' })\n\tasync getSchoolExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: SchoolExternalToolIdParams\n\t): Promise {\n\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolUc.getSchoolExternalTool(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.schoolExternalToolId\n\t\t);\n\t\tconst mapped: SchoolExternalToolResponse = this.responseMapper.mapToSchoolExternalToolResponse(schoolExternalTool);\n\t\treturn mapped;\n\t}\n\n\t@Put('/:schoolExternalToolId')\n\t@ApiOkResponse({ description: 'The Tool has been successfully updated.', type: SchoolExternalToolResponse })\n\t@ApiForbiddenResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiBadRequestResponse({ type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiOperation({ summary: 'Updates a SchoolExternalTool' })\n\tasync updateSchoolExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: SchoolExternalToolIdParams,\n\t\t@Body() body: SchoolExternalToolPostParams\n\t): Promise {\n\t\tconst schoolExternalToolDto: SchoolExternalToolDto = this.requestMapper.mapSchoolExternalToolRequest(body);\n\t\tconst updated: SchoolExternalTool = await this.schoolExternalToolUc.updateSchoolExternalTool(\n\t\t\tcurrentUser.userId,\n\t\t\tparams.schoolExternalToolId,\n\t\t\tschoolExternalToolDto\n\t\t);\n\n\t\tconst mapped: SchoolExternalToolResponse = this.responseMapper.mapToSchoolExternalToolResponse(updated);\n\t\tthis.logger.debug(`SchoolExternalTool with id ${mapped.id} was updated by user with id ${currentUser.userId}`);\n\t\treturn mapped;\n\t}\n\n\t@Delete(':schoolExternalToolId')\n\t@ApiForbiddenResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiOperation({ summary: 'Deletes a SchoolExternalTool' })\n\t@HttpCode(HttpStatus.NO_CONTENT)\n\tasync deleteSchoolExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: SchoolExternalToolIdParams\n\t): Promise {\n\t\tawait this.schoolExternalToolUc.deleteSchoolExternalTool(currentUser.userId, params.schoolExternalToolId);\n\t\tthis.logger.debug(\n\t\t\t`SchoolExternalTool with id ${params.schoolExternalToolId} was deleted by user with id ${currentUser.userId}`\n\t\t);\n\t}\n\n\t@Post()\n\t@ApiCreatedResponse({\n\t\tdescription: 'The SchoolExternalTool has been successfully created.',\n\t\ttype: SchoolExternalToolResponse,\n\t})\n\t@ApiForbiddenResponse()\n\t@ApiUnprocessableEntityResponse()\n\t@ApiUnauthorizedResponse()\n\t@ApiResponse({ status: 400, type: ValidationError, description: 'Request data has invalid format.' })\n\t@ApiOperation({ summary: 'Creates a SchoolExternalTool' })\n\tasync createSchoolExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() body: SchoolExternalToolPostParams\n\t): Promise {\n\t\tconst schoolExternalToolDto: SchoolExternalToolDto = this.requestMapper.mapSchoolExternalToolRequest(body);\n\n\t\tconst createdSchoolExternalToolDO: SchoolExternalTool = await this.schoolExternalToolUc.createSchoolExternalTool(\n\t\t\tcurrentUser.userId,\n\t\t\tschoolExternalToolDto\n\t\t);\n\n\t\tconst response: SchoolExternalToolResponse =\n\t\t\tthis.responseMapper.mapToSchoolExternalToolResponse(createdSchoolExternalToolDO);\n\n\t\tthis.logger.debug(`SchoolExternalTool with id ${response.id} was created by user with id ${currentUser.userId}`);\n\n\t\treturn response;\n\t}\n\n\t@Get('/:schoolExternalToolId/metadata')\n\t@ApiOperation({ summary: 'Gets the metadata of an school external tool.' })\n\t@ApiOkResponse({\n\t\tdescription: 'Metadata of school external tool fetched successfully.',\n\t\ttype: SchoolExternalToolMetadataResponse,\n\t})\n\t@ApiUnauthorizedResponse({ description: 'User is not logged in.' })\n\tasync getMetaDataForExternalTool(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() params: SchoolExternalToolIdParams\n\t): Promise {\n\t\tconst schoolExternalToolMetadata: SchoolExternalToolMetadata =\n\t\t\tawait this.schoolExternalToolUc.getMetadataForSchoolExternalTool(currentUser.userId, params.schoolExternalToolId);\n\n\t\tconst mapped: SchoolExternalToolMetadataResponse =\n\t\t\tSchoolExternalToolMetadataMapper.mapToSchoolExternalToolMetadataResponse(schoolExternalToolMetadata);\n\n\t\treturn mapped;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolStatusOutdatedLoggableException.html":{"url":"classes/ToolStatusOutdatedLoggableException.html","title":"class - ToolStatusOutdatedLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolStatusOutdatedLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/tool-launch/error/tool-status-outdated.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n BadRequestException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userId: EntityId, toolId: EntityId, isOutdatedOnScopeSchool: boolean, isOutdatedOnScopeContext: boolean)\n \n \n \n \n Defined in apps/server/src/modules/tool/tool-launch/error/tool-status-outdated.loggable-exception.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n toolId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n isOutdatedOnScopeSchool\n \n \n boolean\n \n \n \n No\n \n \n \n \n isOutdatedOnScopeContext\n \n \n boolean\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/tool-launch/error/tool-status-outdated.loggable-exception.ts:15\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BadRequestException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class ToolStatusOutdatedLoggableException extends BadRequestException implements Loggable {\n\tconstructor(\n\t\tprivate readonly userId: EntityId,\n\t\tprivate readonly toolId: EntityId,\n\t\tprivate readonly isOutdatedOnScopeSchool: boolean,\n\t\tprivate readonly isOutdatedOnScopeContext: boolean\n\t) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'TOOL_STATUS_OUTDATED',\n\t\t\tmessage: 'The status of the tool is outdated and cannot be launched by the user.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tuserId: this.userId,\n\t\t\t\ttoolId: this.toolId,\n\t\t\t\tisOutdatedOnScopeSchool: this.isOutdatedOnScopeSchool,\n\t\t\t\tisOutdatedOnScopeContext: this.isOutdatedOnScopeContext,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ToolStatusResponseMapper.html":{"url":"classes/ToolStatusResponseMapper.html","title":"class - ToolStatusResponseMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ToolStatusResponseMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/mapper/tool-status-response.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(status: ContextExternalToolConfigurationStatus)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/mapper/tool-status-response.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n status\n \n ContextExternalToolConfigurationStatus\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : ContextExternalToolConfigurationStatusResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ContextExternalToolConfigurationStatusResponse } from '../controller/dto';\nimport { ContextExternalToolConfigurationStatus } from '../domain';\n\nexport class ToolStatusResponseMapper {\n\tstatic mapToResponse(status: ContextExternalToolConfigurationStatus): ContextExternalToolConfigurationStatusResponse {\n\t\tconst configurationStatus: ContextExternalToolConfigurationStatusResponse =\n\t\t\tnew ContextExternalToolConfigurationStatusResponse({\n\t\t\t\tisOutdatedOnScopeSchool: status.isOutdatedOnScopeSchool,\n\t\t\t\tisOutdatedOnScopeContext: status.isOutdatedOnScopeContext,\n\t\t\t});\n\n\t\treturn configurationStatus;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/ToolVersion.html":{"url":"interfaces/ToolVersion.html","title":"interface - ToolVersion","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n ToolVersion\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/common/interface/tool-version.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n getVersion\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n getVersion\n \n \n \n \n \n \ngetVersion()\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/common/interface/tool-version.interface.ts:2\n \n \n\n\n \n \n\n \n Returns : number\n\n \n \n \n \n \n\n\n \n\n\n \n export interface ToolVersion {\n\tgetVersion(): number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/ToolVersionService.html":{"url":"injectables/ToolVersionService.html","title":"injectable - ToolVersionService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n ToolVersionService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tool/context-external-tool/service/tool-version-service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n determineToolConfigurationStatus\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(contextExternalToolValidationService: ContextExternalToolValidationService, schoolExternalToolValidationService: SchoolExternalToolValidationService, commonToolService: CommonToolService, toolFeatures: IToolFeatures)\n \n \n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/tool-version-service.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n contextExternalToolValidationService\n \n \n ContextExternalToolValidationService\n \n \n \n No\n \n \n \n \n schoolExternalToolValidationService\n \n \n SchoolExternalToolValidationService\n \n \n \n No\n \n \n \n \n commonToolService\n \n \n CommonToolService\n \n \n \n No\n \n \n \n \n toolFeatures\n \n \n IToolFeatures\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n determineToolConfigurationStatus\n \n \n \n \n \n \n \n determineToolConfigurationStatus(externalTool: ExternalTool, schoolExternalTool: SchoolExternalTool, contextExternalTool: ContextExternalTool)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tool/context-external-tool/service/tool-version-service.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalTool\n \n ExternalTool\n \n\n \n No\n \n\n\n \n \n schoolExternalTool\n \n SchoolExternalTool\n \n\n \n No\n \n\n\n \n \n contextExternalTool\n \n ContextExternalTool\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Inject } from '@nestjs/common';\nimport { Injectable } from '@nestjs/common/decorators/core/injectable.decorator';\nimport { ContextExternalToolConfigurationStatus } from '../../common/domain';\nimport { CommonToolService } from '../../common/service';\nimport { ExternalTool } from '../../external-tool/domain';\nimport { SchoolExternalTool } from '../../school-external-tool/domain';\nimport { SchoolExternalToolValidationService } from '../../school-external-tool/service';\nimport { IToolFeatures, ToolFeatures } from '../../tool-config';\nimport { ContextExternalTool } from '../domain';\nimport { ContextExternalToolValidationService } from './context-external-tool-validation.service';\n\n@Injectable()\nexport class ToolVersionService {\n\tconstructor(\n\t\tprivate readonly contextExternalToolValidationService: ContextExternalToolValidationService,\n\t\tprivate readonly schoolExternalToolValidationService: SchoolExternalToolValidationService,\n\t\tprivate readonly commonToolService: CommonToolService,\n\t\t@Inject(ToolFeatures) private readonly toolFeatures: IToolFeatures\n\t) {}\n\n\tasync determineToolConfigurationStatus(\n\t\texternalTool: ExternalTool,\n\t\tschoolExternalTool: SchoolExternalTool,\n\t\tcontextExternalTool: ContextExternalTool\n\t): Promise {\n\t\t// TODO N21-1337 remove if statement, when feature flag is removed\n\t\tif (this.toolFeatures.toolStatusWithoutVersions) {\n\t\t\tconst configurationStatus: ContextExternalToolConfigurationStatus = new ContextExternalToolConfigurationStatus({\n\t\t\t\tisOutdatedOnScopeContext: false,\n\t\t\t\tisOutdatedOnScopeSchool: false,\n\t\t\t});\n\n\t\t\ttry {\n\t\t\t\tawait this.schoolExternalToolValidationService.validate(schoolExternalTool);\n\t\t\t} catch (err) {\n\t\t\t\tconfigurationStatus.isOutdatedOnScopeSchool = true;\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tawait this.contextExternalToolValidationService.validate(contextExternalTool);\n\t\t\t} catch (err) {\n\t\t\t\tconfigurationStatus.isOutdatedOnScopeContext = true;\n\t\t\t}\n\n\t\t\treturn configurationStatus;\n\t\t}\n\t\tconst status: ContextExternalToolConfigurationStatus = this.commonToolService.determineToolConfigurationStatus(\n\t\t\texternalTool,\n\t\t\tschoolExternalTool,\n\t\t\tcontextExternalTool\n\t\t);\n\n\t\treturn status;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/TriggerDeletionExecutionOptions.html":{"url":"interfaces/TriggerDeletionExecutionOptions.html","title":"interface - TriggerDeletionExecutionOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n TriggerDeletionExecutionOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/console/interface/trigger-deletion-execution-options.interface.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n limit\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n limit\n \n \n \n \n \n \n \n \n limit: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface TriggerDeletionExecutionOptions {\n\tlimit: number;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/TriggerDeletionExecutionOptionsBuilder.html":{"url":"classes/TriggerDeletionExecutionOptionsBuilder.html","title":"class - TriggerDeletionExecutionOptionsBuilder","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n TriggerDeletionExecutionOptionsBuilder\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/deletion/console/builder/trigger-deletion-execution-options.builder.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n build\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n build\n \n \n \n \n \n \n \n build(limit: number)\n \n \n\n\n \n \n Defined in apps/server/src/modules/deletion/console/builder/trigger-deletion-execution-options.builder.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n limit\n \n number\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : TriggerDeletionExecutionOptions\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { TriggerDeletionExecutionOptions } from '../interface';\n\nexport class TriggerDeletionExecutionOptionsBuilder {\n\tstatic build(limit: number): TriggerDeletionExecutionOptions {\n\t\treturn { limit };\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UnauthorizedLoggableException.html":{"url":"classes/UnauthorizedLoggableException.html","title":"class - UnauthorizedLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UnauthorizedLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/errors/unauthorized.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n UnauthorizedException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(username: string, systemId?: string)\n \n \n \n \n Defined in apps/server/src/modules/authentication/errors/unauthorized.loggable-exception.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n username\n \n \n string\n \n \n \n No\n \n \n \n \n systemId\n \n \n string\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/authentication/errors/unauthorized.loggable-exception.ts:10\n \n \n\n\n \n \n\n \n Returns : ErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UnauthorizedException } from '@nestjs/common';\nimport { Loggable } from '@src/core/logger/interfaces';\nimport { ErrorLogMessage } from '@src/core/logger/types';\n\nexport class UnauthorizedLoggableException extends UnauthorizedException implements Loggable {\n\tconstructor(private readonly username: string, private readonly systemId?: string) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): ErrorLogMessage {\n\t\tconst message: ErrorLogMessage = {\n\t\t\ttype: 'UNAUTHORIZED_EXCEPTION',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tuserName: this.username,\n\t\t\t\tsystemId: this.systemId,\n\t\t\t},\n\t\t};\n\n\t\treturn message;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UnknownQueryTypeLoggableException.html":{"url":"classes/UnknownQueryTypeLoggableException.html","title":"class - UnknownQueryTypeLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UnknownQueryTypeLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/group/loggable/unknown-query-type-loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n InternalServerErrorException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(unknownQueryType: string)\n \n \n \n \n Defined in apps/server/src/modules/group/loggable/unknown-query-type-loggable-exception.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n unknownQueryType\n \n \n string\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/group/loggable/unknown-query-type-loggable-exception.ts:9\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { InternalServerErrorException } from '@nestjs/common';\n\nexport class UnknownQueryTypeLoggableException extends InternalServerErrorException implements Loggable {\n\tconstructor(private readonly unknownQueryType: string) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'INTERNAL_SERVER_ERROR',\n\t\t\tstack: this.stack,\n\t\t\tmessage: 'Unable to process unknown query type for class years.',\n\t\t\tdata: {\n\t\t\t\tunknownQueryType: this.unknownQueryType,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UpdateElementContentBodyParams.html":{"url":"classes/UpdateElementContentBodyParams.html","title":"class - UpdateElementContentBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UpdateElementContentBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n data\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : FileElementContentBody | LinkElementContentBody | RichTextElementContentBody | SubmissionContainerElementContentBody | ExternalToolElementContentBody | DrawingElementContentBody\n\n \n \n \n \n Decorators : \n \n \n @ValidateNested()@Type(undefined, {discriminator: undefined, keepDiscriminatorProperty: true})@ApiProperty({oneOf: undefined})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/element/update-element-content.body.params.ts:169\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional, getSchemaPath } from '@nestjs/swagger';\nimport { ContentElementType } from '@shared/domain/domainobject';\nimport { InputFormat } from '@shared/domain/types';\nimport { Type } from 'class-transformer';\nimport { IsDate, IsEnum, IsMongoId, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nexport abstract class ElementContentBody {\n\t@IsEnum(ContentElementType)\n\t@ApiProperty({\n\t\tenum: ContentElementType,\n\t\tdescription: 'the type of the updated element',\n\t\tenumName: 'ContentElementType',\n\t})\n\ttype!: ContentElementType;\n}\n\nexport class FileContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\tcaption!: string;\n\n\t@IsString()\n\t@ApiProperty({})\n\talternativeText!: string;\n}\n\nexport class FileElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.FILE })\n\ttype!: ContentElementType.FILE;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: FileContentBody;\n}\n\nexport class LinkContentBody {\n\t@IsString()\n\t@ApiProperty({})\n\turl!: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\ttitle?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\tdescription?: string;\n\n\t@IsString()\n\t@IsOptional()\n\t@ApiProperty({})\n\timageUrl?: string;\n}\n\nexport class LinkElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.LINK })\n\ttype!: ContentElementType.LINK;\n\n\t@ValidateNested()\n\t@ApiProperty({})\n\tcontent!: LinkContentBody;\n}\n\nexport class DrawingContentBody {\n\t@IsString()\n\t@ApiProperty()\n\tdescription!: string;\n}\n\nexport class DrawingElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.DRAWING })\n\ttype!: ContentElementType.DRAWING;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: DrawingContentBody;\n}\n\nexport class RichTextContentBody {\n\t@IsString()\n\t@ApiProperty()\n\ttext!: string;\n\n\t@IsEnum(InputFormat)\n\t@ApiProperty()\n\tinputFormat!: InputFormat;\n}\n\nexport class RichTextElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.RICH_TEXT })\n\ttype!: ContentElementType.RICH_TEXT;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: RichTextContentBody;\n}\n\nexport class SubmissionContainerContentBody {\n\t@IsDate()\n\t@IsOptional()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time until when a submission can be handed in.',\n\t})\n\tdueDate?: Date;\n}\n\nexport class SubmissionContainerElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.SUBMISSION_CONTAINER })\n\ttype!: ContentElementType.SUBMISSION_CONTAINER;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: SubmissionContainerContentBody;\n}\n\nexport class ExternalToolContentBody {\n\t@IsMongoId()\n\t@IsOptional()\n\t@ApiPropertyOptional()\n\tcontextExternalToolId?: string;\n}\n\nexport class ExternalToolElementContentBody extends ElementContentBody {\n\t@ApiProperty({ type: ContentElementType.EXTERNAL_TOOL })\n\ttype!: ContentElementType.EXTERNAL_TOOL;\n\n\t@ValidateNested()\n\t@ApiProperty()\n\tcontent!: ExternalToolContentBody;\n}\n\nexport type AnyElementContentBody =\n\t| FileContentBody\n\t| DrawingContentBody\n\t| LinkContentBody\n\t| RichTextContentBody\n\t| SubmissionContainerContentBody\n\t| ExternalToolContentBody;\n\nexport class UpdateElementContentBodyParams {\n\t@ValidateNested()\n\t@Type(() => ElementContentBody, {\n\t\tdiscriminator: {\n\t\t\tproperty: 'type',\n\t\t\tsubTypes: [\n\t\t\t\t{ value: FileElementContentBody, name: ContentElementType.FILE },\n\t\t\t\t{ value: LinkElementContentBody, name: ContentElementType.LINK },\n\t\t\t\t{ value: RichTextElementContentBody, name: ContentElementType.RICH_TEXT },\n\t\t\t\t{ value: SubmissionContainerElementContentBody, name: ContentElementType.SUBMISSION_CONTAINER },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.EXTERNAL_TOOL },\n\t\t\t\t{ value: ExternalToolElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t\t{ value: DrawingElementContentBody, name: ContentElementType.DRAWING },\n\t\t\t],\n\t\t},\n\t\tkeepDiscriminatorProperty: true,\n\t})\n\t@ApiProperty({\n\t\toneOf: [\n\t\t\t{ $ref: getSchemaPath(FileElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(LinkElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(RichTextElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(SubmissionContainerElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(ExternalToolElementContentBody) },\n\t\t\t{ $ref: getSchemaPath(DrawingElementContentBody) },\n\t\t],\n\t})\n\tdata!:\n\t\t| FileElementContentBody\n\t\t| LinkElementContentBody\n\t\t| RichTextElementContentBody\n\t\t| SubmissionContainerElementContentBody\n\t\t| ExternalToolElementContentBody\n\t\t| DrawingElementContentBody;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UpdateFlagParams.html":{"url":"classes/UpdateFlagParams.html","title":"class - UpdateFlagParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UpdateFlagParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/controller/dto/update-flag.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n flagged\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n flagged\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'updates flag for an import user'})@IsBoolean()\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/update-flag.params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsBoolean } from 'class-validator';\n\nexport class UpdateFlagParams {\n\t@ApiProperty({ description: 'updates flag for an import user' })\n\t@IsBoolean()\n\tflagged!: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UpdateMatchParams.html":{"url":"classes/UpdateMatchParams.html","title":"class - UpdateMatchParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UpdateMatchParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/controller/dto/update-match.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'updates local user reference for an import user'})@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/update-match.params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsMongoId } from 'class-validator';\n\nexport class UpdateMatchParams {\n\t@ApiProperty({ description: 'updates local user reference for an import user' })\n\t@IsMongoId()\n\tuserId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UpdateNewsParams.html":{"url":"classes/UpdateNewsParams.html","title":"class - UpdateNewsParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UpdateNewsParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/dto/update-news.params.ts\n \n\n\n \n Description\n \n \n DTO for Updating a news document.\nA PartialType is a halper which allows to extend an existing class by making all its properties optional.\n\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n displayAt\n \n \n \n \n \n \n title\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n \n content\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()@SanitizeHtml(InputFormat.RICH_TEXT)@ApiPropertyOptional({description: 'Content of the News entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/update-news.params.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n displayAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsDate()@ApiPropertyOptional({description: 'The point in time from when the News entity schould be displayed'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/update-news.params.ts:32\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsOptional()@IsString()@SanitizeHtml()@ApiPropertyOptional({description: 'Title of the News entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/update-news.params.ts:17\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { SanitizeHtml } from '@shared/controller';\nimport { InputFormat } from '@shared/domain/types';\nimport { IsDate, IsOptional, IsString } from 'class-validator';\n\n/**\n * DTO for Updating a news document.\n * A PartialType is a halper which allows to extend an existing class by making all its properties optional.\n */\nexport class UpdateNewsParams {\n\t@IsOptional()\n\t@IsString()\n\t@SanitizeHtml()\n\t@ApiPropertyOptional({\n\t\tdescription: 'Title of the News entity',\n\t})\n\ttitle!: string;\n\n\t@IsOptional()\n\t@IsString()\n\t@SanitizeHtml(InputFormat.RICH_TEXT)\n\t@ApiPropertyOptional({\n\t\tdescription: 'Content of the News entity',\n\t})\n\tcontent!: string;\n\n\t@IsOptional()\n\t@IsDate()\n\t@ApiPropertyOptional({\n\t\tdescription: 'The point in time from when the News entity schould be displayed',\n\t})\n\tdisplayAt!: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UpdateSubmissionItemBodyParams.html":{"url":"classes/UpdateSubmissionItemBodyParams.html","title":"class - UpdateSubmissionItemBodyParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UpdateSubmissionItemBodyParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/submission-item/update-submission-item.body.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n completed\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n completed\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty({description: 'Boolean indicating whether the submission is completed.', required: true})\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/submission-item/update-submission-item.body.params.ts:10\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsBoolean } from 'class-validator';\n\nexport class UpdateSubmissionItemBodyParams {\n\t@IsBoolean()\n\t@ApiProperty({\n\t\tdescription: 'Boolean indicating whether the submission is completed.',\n\t\trequired: true,\n\t})\n\tcompleted!: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UrlHandler.html":{"url":"interfaces/UrlHandler.html","title":"interface - UrlHandler","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UrlHandler\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/meta-tag-extractor/interface/url-handler.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Methods\n \n \n \n \n \n \n \n doesUrlMatch\n \n \n \n \n getMetaData\n \n \n \n \n \n \n \n \n\n \n \n \n Methods\n \n \n \n \n \n \n \n doesUrlMatch\n \n \n \n \n \n \ndoesUrlMatch(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/interface/url-handler.ts:4\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n getMetaData\n \n \n \n \n \n \ngetMetaData(url: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/meta-tag-extractor/interface/url-handler.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n url\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { MetaData } from '../types';\n\nexport interface UrlHandler {\n\tdoesUrlMatch(url: string): boolean;\n\tgetMetaData(url: string): Promise;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/User.html":{"url":"entities/User.html","title":"entity - User","body":"\n \n\n\n\n\n\n\n\n Entities\n User\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/user.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n birthday\n \n \n \n \n Optional\n deletedAt\n \n \n \n \n email\n \n \n \n Optional\n emailSearchValues\n \n \n \n Optional\n externalId\n \n \n \n firstName\n \n \n \n Optional\n firstNameSearchValues\n \n \n \n Optional\n forcePasswordChange\n \n \n \n \n Optional\n importHash\n \n \n \n Optional\n language\n \n \n \n Optional\n lastLoginSystemChange\n \n \n \n lastName\n \n \n \n Optional\n lastNameSearchValues\n \n \n \n \n Optional\n ldapDn\n \n \n \n Optional\n outdatedSince\n \n \n \n Optional\n parents\n \n \n \n Optional\n preferences\n \n \n \n Optional\n previousExternalId\n \n \n \n \n roles\n \n \n \n \n school\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n birthday\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:103\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n deletedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:94\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n email\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n emailSearchValues\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:81\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true, fieldName: 'ldapId'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:65\n \n \n\n\n \n \n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:47\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n firstNameSearchValues\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:75\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n forcePasswordChange\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:87\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n importHash\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:72\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n language\n \n \n \n \n \n \n Type : LanguageType\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:84\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n lastLoginSystemChange\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:97\n \n \n\n\n \n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:50\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n lastNameSearchValues\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:78\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n Optional\n ldapDn\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:62\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n outdatedSince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:100\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n parents\n \n \n \n \n \n \n Type : UserParentsEntity[]\n\n \n \n \n \n Decorators : \n \n \n @Embedded(undefined, {array: true, nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:106\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n preferences\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:90\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n previousExternalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:68\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n roles\n \n \n \n \n \n \n Default value : new Collection(this)\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToMany({fieldName: 'roles', entity: () => Role})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:54\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n Type : SchoolEntity\n\n \n \n \n \n Decorators : \n \n \n @Index()@ManyToOne(undefined, {fieldName: 'schoolId'})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user.entity.ts:58\n \n \n\n\n \n \n\n \n\n\n \n import { Collection, Embedded, Entity, Index, ManyToMany, ManyToOne, Property } from '@mikro-orm/core';\nimport { EntityWithSchool } from '../interface';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { Role } from './role.entity';\nimport { SchoolEntity } from './school.entity';\nimport { UserParentsEntity } from './user-parents.entity';\n\nexport enum LanguageType {\n\tDE = 'de',\n\tEN = 'en',\n\tES = 'es',\n\tUK = 'uk',\n}\n\nexport interface UserProperties {\n\temail: string;\n\tfirstName: string;\n\tlastName: string;\n\tschool: SchoolEntity;\n\troles: Role[];\n\tldapDn?: string;\n\texternalId?: string;\n\tlanguage?: LanguageType;\n\tforcePasswordChange?: boolean;\n\tpreferences?: Record;\n\tdeletedAt?: Date;\n\tlastLoginSystemChange?: Date;\n\toutdatedSince?: Date;\n\tpreviousExternalId?: string;\n\tbirthday?: Date;\n\tparents?: UserParentsEntity[];\n}\n\n@Entity({ tableName: 'users' })\n@Index({ properties: ['id', 'email'] })\n@Index({ properties: ['firstName', 'lastName'] })\n@Index({ properties: ['externalId', 'school'] })\n@Index({ properties: ['school', 'ldapDn'] })\n@Index({ properties: ['school', 'roles'] })\nexport class User extends BaseEntityWithTimestamps implements EntityWithSchool {\n\t@Property()\n\t@Index()\n\t// @Unique()\n\temail: string;\n\n\t@Property()\n\tfirstName: string;\n\n\t@Property()\n\tlastName: string;\n\n\t@Index()\n\t@ManyToMany({ fieldName: 'roles', entity: () => Role })\n\troles = new Collection(this);\n\n\t@Index()\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool: SchoolEntity;\n\n\t@Property({ nullable: true })\n\t@Index()\n\tldapDn?: string;\n\n\t@Property({ nullable: true, fieldName: 'ldapId' })\n\texternalId?: string;\n\n\t@Property({ nullable: true })\n\tpreviousExternalId?: string;\n\n\t@Property({ nullable: true })\n\t@Index()\n\timportHash?: string;\n\n\t@Property({ nullable: true })\n\tfirstNameSearchValues?: string[];\n\n\t@Property({ nullable: true })\n\tlastNameSearchValues?: string[];\n\n\t@Property({ nullable: true })\n\temailSearchValues?: string[];\n\n\t@Property({ nullable: true })\n\tlanguage?: LanguageType;\n\n\t@Property({ nullable: true })\n\tforcePasswordChange?: boolean;\n\n\t@Property({ nullable: true })\n\tpreferences?: Record;\n\n\t@Property({ nullable: true })\n\t@Index()\n\tdeletedAt?: Date;\n\n\t@Property({ nullable: true })\n\tlastLoginSystemChange?: Date;\n\n\t@Property({ nullable: true })\n\toutdatedSince?: Date;\n\n\t@Property({ nullable: true })\n\tbirthday?: Date;\n\n\t@Embedded(() => UserParentsEntity, { array: true, nullable: true })\n\tparents?: UserParentsEntity[];\n\n\tconstructor(props: UserProperties) {\n\t\tsuper();\n\t\tthis.firstName = props.firstName;\n\t\tthis.lastName = props.lastName;\n\t\tthis.email = props.email;\n\t\tthis.school = props.school;\n\t\tthis.roles.set(props.roles);\n\t\tthis.ldapDn = props.ldapDn;\n\t\tthis.externalId = props.externalId;\n\t\tthis.forcePasswordChange = props.forcePasswordChange;\n\t\tthis.language = props.language;\n\t\tthis.preferences = props.preferences ?? {};\n\t\tthis.deletedAt = props.deletedAt;\n\t\tthis.lastLoginSystemChange = props.lastLoginSystemChange;\n\t\tthis.outdatedSince = props.outdatedSince;\n\t\tthis.previousExternalId = props.previousExternalId;\n\t\tthis.birthday = props.birthday;\n\t\tthis.parents = props.parents;\n\t}\n\n\tpublic resolvePermissions(): string[] {\n\t\tif (!this.roles.isInitialized(true)) {\n\t\t\tthrow new Error('Roles items are not loaded.');\n\t\t}\n\n\t\tlet permissions: string[] = [];\n\n\t\tconst roles = this.roles.getItems();\n\t\troles.forEach((role) => {\n\t\t\tconst rolePermissions = role.resolvePermissions();\n\t\t\tpermissions = [...permissions, ...rolePermissions];\n\t\t});\n\n\t\tconst uniquePermissions = [...new Set(permissions)];\n\n\t\treturn uniquePermissions;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserAlreadyAssignedToImportUserError.html":{"url":"classes/UserAlreadyAssignedToImportUserError.html","title":"class - UserAlreadyAssignedToImportUserError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserAlreadyAssignedToImportUserError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/error/user-already-assigned-to-import-user.business-error.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor()\n \n \n \n \n Defined in apps/server/src/shared/common/error/user-already-assigned-to-import-user.business-error.ts:3\n \n \n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BusinessError } from './business.error';\n\nexport class UserAlreadyAssignedToImportUserError extends BusinessError {\n\tconstructor() {\n\t\tsuper({\n\t\t\ttype: 'USER_ALREADY_ASSIGNED_TO_IMPORT_USER_ERROR',\n\t\t\ttitle: 'USER_ALREADY_ASSIGNED_TO_IMPORT_USER_ERROR',\n\t\t\tdefaultMessage:\n\t\t\t\t'The selected user already has been referenced to a different import user. Only one reference is allowed.',\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UserAndAccountParams.html":{"url":"interfaces/UserAndAccountParams.html","title":"interface - UserAndAccountParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UserAndAccountParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/user-and-account.test.factory.ts\n \n\n\n\n \n Extends\n \n \n UserParams\n AccountParams\n \n\n\n\n\n \n\n\n \n import { Account, SchoolEntity, User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport _ from 'lodash';\nimport { accountFactory } from './account.factory';\nimport { userFactory } from './user.factory';\n\ninterface UserParams {\n\tfirstName?: string;\n\tlastName?: string;\n\temail?: string;\n\tschool?: SchoolEntity;\n\texternalId?: string;\n}\n\ninterface AccountParams {\n\tusername?: string;\n\tsystemId?: EntityId | ObjectId;\n}\n\nexport interface UserAndAccountParams extends UserParams, AccountParams {}\n\nexport class UserAndAccountTestFactory {\n\tprivate static getUserParams(params: UserAndAccountParams): UserParams {\n\t\tconst userParams = _.pick(params, 'firstName', 'lastName', 'email', 'school', 'externalId');\n\t\treturn userParams;\n\t}\n\n\tprivate static buildAccount(user: User, params: UserAndAccountParams = {}): Account {\n\t\tconst accountParams = _.pick(params, 'username', 'systemId');\n\t\tconst account = accountFactory.withUser(user).build(accountParams);\n\t\treturn account;\n\t}\n\n\tpublic static buildStudent(\n\t\tparams: UserAndAccountParams = {},\n\t\tadditionalPermissions: Permission[] = []\n\t): {\n\t\tstudentAccount: Account;\n\t\tstudentUser: User;\n\t} {\n\t\tconst user = userFactory\n\t\t\t.asStudent(additionalPermissions)\n\t\t\t.buildWithId(UserAndAccountTestFactory.getUserParams(params));\n\t\tconst account = UserAndAccountTestFactory.buildAccount(user, params);\n\n\t\treturn { studentAccount: account, studentUser: user };\n\t}\n\n\tpublic static buildTeacher(\n\t\tparams: UserAndAccountParams = {},\n\t\tadditionalPermissions: Permission[] = []\n\t): { teacherAccount: Account; teacherUser: User } {\n\t\tconst user = userFactory\n\t\t\t.asTeacher(additionalPermissions)\n\t\t\t.buildWithId(UserAndAccountTestFactory.getUserParams(params));\n\t\tconst account = UserAndAccountTestFactory.buildAccount(user, params);\n\n\t\treturn { teacherAccount: account, teacherUser: user };\n\t}\n\n\tpublic static buildAdmin(\n\t\tparams: UserAndAccountParams = {},\n\t\tadditionalPermissions: Permission[] = []\n\t): { adminAccount: Account; adminUser: User } {\n\t\tconst user = userFactory\n\t\t\t.asAdmin(additionalPermissions)\n\t\t\t.buildWithId(UserAndAccountTestFactory.getUserParams(params));\n\t\tconst account = UserAndAccountTestFactory.buildAccount(user, params);\n\n\t\treturn { adminAccount: account, adminUser: user };\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserAndAccountTestFactory.html":{"url":"classes/UserAndAccountTestFactory.html","title":"class - UserAndAccountTestFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserAndAccountTestFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/user-and-account.test.factory.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Static\n buildAccount\n \n \n Static\n buildAdmin\n \n \n Static\n buildStudent\n \n \n Static\n buildTeacher\n \n \n Private\n Static\n getUserParams\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Static\n buildAccount\n \n \n \n \n \n \n \n buildAccount(user: User, params: UserAndAccountParams)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/user-and-account.test.factory.ts:30\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n UserAndAccountParams\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : Account\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n buildAdmin\n \n \n \n \n \n \n \n buildAdmin(params: UserAndAccountParams, additionalPermissions: Permission[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/user-and-account.test.factory.ts:63\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n UserAndAccountParams\n \n\n \n No\n \n\n \n {}\n \n\n \n \n additionalPermissions\n \n Permission[]\n \n\n \n No\n \n\n \n []\n \n\n \n \n \n \n \n Returns : literal type\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n buildStudent\n \n \n \n \n \n \n \n buildStudent(params: UserAndAccountParams, additionalPermissions: Permission[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/user-and-account.test.factory.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n UserAndAccountParams\n \n\n \n No\n \n\n \n {}\n \n\n \n \n additionalPermissions\n \n Permission[]\n \n\n \n No\n \n\n \n []\n \n\n \n \n \n \n \n Returns : literal type\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n buildTeacher\n \n \n \n \n \n \n \n buildTeacher(params: UserAndAccountParams, additionalPermissions: Permission[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/user-and-account.test.factory.ts:51\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n UserAndAccountParams\n \n\n \n No\n \n\n \n {}\n \n\n \n \n additionalPermissions\n \n Permission[]\n \n\n \n No\n \n\n \n []\n \n\n \n \n \n \n \n Returns : literal type\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Static\n getUserParams\n \n \n \n \n \n \n \n getUserParams(params: UserAndAccountParams)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/user-and-account.test.factory.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n UserAndAccountParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserParams\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Account, SchoolEntity, User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport _ from 'lodash';\nimport { accountFactory } from './account.factory';\nimport { userFactory } from './user.factory';\n\ninterface UserParams {\n\tfirstName?: string;\n\tlastName?: string;\n\temail?: string;\n\tschool?: SchoolEntity;\n\texternalId?: string;\n}\n\ninterface AccountParams {\n\tusername?: string;\n\tsystemId?: EntityId | ObjectId;\n}\n\nexport interface UserAndAccountParams extends UserParams, AccountParams {}\n\nexport class UserAndAccountTestFactory {\n\tprivate static getUserParams(params: UserAndAccountParams): UserParams {\n\t\tconst userParams = _.pick(params, 'firstName', 'lastName', 'email', 'school', 'externalId');\n\t\treturn userParams;\n\t}\n\n\tprivate static buildAccount(user: User, params: UserAndAccountParams = {}): Account {\n\t\tconst accountParams = _.pick(params, 'username', 'systemId');\n\t\tconst account = accountFactory.withUser(user).build(accountParams);\n\t\treturn account;\n\t}\n\n\tpublic static buildStudent(\n\t\tparams: UserAndAccountParams = {},\n\t\tadditionalPermissions: Permission[] = []\n\t): {\n\t\tstudentAccount: Account;\n\t\tstudentUser: User;\n\t} {\n\t\tconst user = userFactory\n\t\t\t.asStudent(additionalPermissions)\n\t\t\t.buildWithId(UserAndAccountTestFactory.getUserParams(params));\n\t\tconst account = UserAndAccountTestFactory.buildAccount(user, params);\n\n\t\treturn { studentAccount: account, studentUser: user };\n\t}\n\n\tpublic static buildTeacher(\n\t\tparams: UserAndAccountParams = {},\n\t\tadditionalPermissions: Permission[] = []\n\t): { teacherAccount: Account; teacherUser: User } {\n\t\tconst user = userFactory\n\t\t\t.asTeacher(additionalPermissions)\n\t\t\t.buildWithId(UserAndAccountTestFactory.getUserParams(params));\n\t\tconst account = UserAndAccountTestFactory.buildAccount(user, params);\n\n\t\treturn { teacherAccount: account, teacherUser: user };\n\t}\n\n\tpublic static buildAdmin(\n\t\tparams: UserAndAccountParams = {},\n\t\tadditionalPermissions: Permission[] = []\n\t): { adminAccount: Account; adminUser: User } {\n\t\tconst user = userFactory\n\t\t\t.asAdmin(additionalPermissions)\n\t\t\t.buildWithId(UserAndAccountTestFactory.getUserParams(params));\n\t\tconst account = UserAndAccountTestFactory.buildAccount(user, params);\n\n\t\treturn { adminAccount: account, adminUser: user };\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/UserApiModule.html":{"url":"modules/UserApiModule.html","title":"module - UserApiModule","body":"\n \n\n\n\n\n Modules\n UserApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_UserApiModule\n\n\n\ncluster_UserApiModule_providers\n\n\n\ncluster_UserApiModule_imports\n\n\n\n\nUserModule\n\nUserModule\n\n\n\nUserApiModule\n\nUserApiModule\n\nUserApiModule -->\n\nUserModule->UserApiModule\n\n\n\n\n\nUserUc\n\nUserUc\n\nUserApiModule -->\n\nUserUc->UserApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/user/user-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n UserUc\n \n \n \n \n Controllers\n \n \n UserController\n \n \n \n \n Imports\n \n \n UserModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { UserController } from './controller';\nimport { UserUc } from './uc';\nimport { UserModule } from './user.module';\n\n@Module({\n\timports: [UserModule],\n\tcontrollers: [UserController],\n\tproviders: [UserUc],\n})\nexport class UserApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UserBoardRoles.html":{"url":"interfaces/UserBoardRoles.html","title":"interface - UserBoardRoles","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UserBoardRoles\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/board/types/board-do-authorizable.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n firstName\n \n \n \n Optional\n \n lastName\n \n \n \n \n roles\n \n \n \n \n userId\n \n \n \n \n userRoleEnum\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n firstName\n \n \n \n \n \n \n \n \n firstName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n lastName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n roles\n \n \n \n \n \n \n \n \n roles: BoardRoles[]\n\n \n \n\n\n \n \n Type : BoardRoles[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: EntityId\n\n \n \n\n\n \n \n Type : EntityId\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n userRoleEnum\n \n \n \n \n \n \n \n \n userRoleEnum: UserRoleEnum\n\n \n \n\n\n \n \n Type : UserRoleEnum\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { AuthorizableObject, DomainObject } from '@shared/domain/domain-object';\nimport { EntityId } from '@shared/domain/types';\n\nexport enum BoardRoles {\n\tEDITOR = 'editor',\n\tREADER = 'reader',\n}\n/**\n\tdeprecated: This is a temporary solution. This will be replaced with a more proper permission system.\n*/\nexport enum UserRoleEnum {\n\tTEACHER = 'teacher',\n\tSTUDENT = 'student',\n\tSUBSTITUTION_TEACHER = 'subsitution teacher',\n}\n\nexport interface UserBoardRoles {\n\tfirstName?: string;\n\tlastName?: string;\n\troles: BoardRoles[];\n\tuserId: EntityId;\n\tuserRoleEnum: UserRoleEnum;\n}\n\nexport interface BoardDoAuthorizableProps extends AuthorizableObject {\n\tid: EntityId;\n\tusers: UserBoardRoles[];\n\trequiredUserRole?: UserRoleEnum;\n}\n\nexport class BoardDoAuthorizable extends DomainObject {\n\tget users(): UserBoardRoles[] {\n\t\treturn this.props.users;\n\t}\n\n\tget requiredUserRole(): UserRoleEnum | undefined {\n\t\treturn this.props.requiredUserRole;\n\t}\n\n\tset requiredUserRole(userRoleEnum: UserRoleEnum | undefined) {\n\t\tthis.props.requiredUserRole = userRoleEnum;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UserConfig.html":{"url":"interfaces/UserConfig.html","title":"interface - UserConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UserConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user/interfaces/user-config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n AVAILABLE_LANGUAGES\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n AVAILABLE_LANGUAGES\n \n \n \n \n \n \n \n \n AVAILABLE_LANGUAGES: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface UserConfig {\n\tAVAILABLE_LANGUAGES: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/UserController.html":{"url":"controllers/UserController.html","title":"controller - UserController","body":"\n \n\n\n\n\n\n\n Controllers\n UserController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user/controller/user.controller.ts\n \n\n \n Prefix\n \n \n user\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n Async\n changeLanguage\n \n \n \n Async\n me\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n Async\n changeLanguage\n \n \n \n \n \n \n \n changeLanguage(params: ChangeLanguageParams, currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Patch('/language')\n \n \n\n \n \n Defined in apps/server/src/modules/user/controller/user.controller.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n ChangeLanguageParams\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n me\n \n \n \n \n \n \n \n me(currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Get('me')\n \n \n\n \n \n Defined in apps/server/src/modules/user/controller/user.controller.ts:15\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, Get, Patch } from '@nestjs/common';\nimport { ApiTags } from '@nestjs/swagger';\nimport { ResolvedUserMapper } from '../mapper';\nimport { UserUc } from '../uc';\nimport { ChangeLanguageParams, ResolvedUserResponse, SuccessfulResponse } from './dto';\n\n@ApiTags('User')\n@Authenticate('jwt')\n@Controller('user')\nexport class UserController {\n\tconstructor(private readonly userUc: UserUc) {}\n\n\t@Get('me')\n\tasync me(@CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst [user, permissions] = await this.userUc.me(currentUser.userId);\n\n\t\t// only the root roles of the user get published\n\t\tconst resolvedUser = ResolvedUserMapper.mapToResponse(user, permissions, user.roles.getItems());\n\n\t\treturn resolvedUser;\n\t}\n\n\t@Patch('/language')\n\tasync changeLanguage(\n\t\t@Body() params: ChangeLanguageParams,\n\t\t@CurrentUser() currentUser: ICurrentUser\n\t): Promise {\n\t\tconst result = await this.userUc.patchLanguage(currentUser.userId, params);\n\n\t\tconst successfulResponse = new SuccessfulResponse(result);\n\n\t\treturn successfulResponse;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserDO.html":{"url":"classes/UserDO.html","title":"class - UserDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserDO\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/user.do.ts\n \n\n\n\n \n Extends\n \n \n BaseDO\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n birthday\n \n \n Optional\n createdAt\n \n \n email\n \n \n Optional\n emailSearchValues\n \n \n Optional\n externalId\n \n \n firstName\n \n \n Optional\n firstNameSearchValues\n \n \n Optional\n forcePasswordChange\n \n \n Optional\n importHash\n \n \n Optional\n language\n \n \n Optional\n lastLoginSystemChange\n \n \n lastName\n \n \n Optional\n lastNameSearchValues\n \n \n Optional\n ldapDn\n \n \n Optional\n outdatedSince\n \n \n Optional\n preferences\n \n \n Optional\n previousExternalId\n \n \n roles\n \n \n schoolId\n \n \n Optional\n updatedAt\n \n \n Optional\n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(domainObject: UserDO)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:45\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n \n UserDO\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n birthday\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:45\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n createdAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n email\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n emailSearchValues\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n firstNameSearchValues\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n forcePasswordChange\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n importHash\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n language\n \n \n \n \n \n \n Type : LanguageType\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n lastLoginSystemChange\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n lastNameSearchValues\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n ldapDn\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n outdatedSince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n preferences\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n previousExternalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:43\n \n \n\n\n \n \n \n \n \n \n \n \n roles\n \n \n \n \n \n \n Type : RoleReference[]\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n updatedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user.do.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from BaseDO\n\n \n \n \n \n Defined in BaseDO:5\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { LanguageType } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseDO } from './base.do';\nimport { RoleReference } from './role-reference';\n\nexport class UserDO extends BaseDO {\n\tcreatedAt?: Date;\n\n\tupdatedAt?: Date;\n\n\temail: string;\n\n\tfirstName: string;\n\n\tlastName: string;\n\n\troles: RoleReference[];\n\n\tschoolId: EntityId;\n\n\tldapDn?: string;\n\n\texternalId?: string;\n\n\timportHash?: string;\n\n\tfirstNameSearchValues?: string[];\n\n\tlastNameSearchValues?: string[];\n\n\temailSearchValues?: string[];\n\n\tlanguage?: LanguageType;\n\n\tforcePasswordChange?: boolean;\n\n\tpreferences?: Record;\n\n\tlastLoginSystemChange?: Date;\n\n\toutdatedSince?: Date;\n\n\tpreviousExternalId?: string;\n\n\tbirthday?: Date;\n\n\tconstructor(domainObject: UserDO) {\n\t\tsuper(domainObject.id);\n\n\t\tthis.createdAt = domainObject.createdAt;\n\t\tthis.updatedAt = domainObject.updatedAt;\n\t\tthis.email = domainObject.email;\n\t\tthis.firstName = domainObject.firstName;\n\t\tthis.lastName = domainObject.lastName;\n\t\tthis.roles = domainObject.roles;\n\t\tthis.schoolId = domainObject.schoolId;\n\t\tthis.ldapDn = domainObject.ldapDn;\n\t\tthis.externalId = domainObject.externalId;\n\t\tthis.importHash = domainObject.importHash;\n\t\tthis.firstNameSearchValues = domainObject.firstNameSearchValues;\n\t\tthis.lastNameSearchValues = domainObject.lastNameSearchValues;\n\t\tthis.emailSearchValues = domainObject.emailSearchValues;\n\t\tthis.language = domainObject.language;\n\t\tthis.forcePasswordChange = domainObject.forcePasswordChange;\n\t\tthis.preferences = domainObject.preferences;\n\t\tthis.lastLoginSystemChange = domainObject.lastLoginSystemChange;\n\t\tthis.outdatedSince = domainObject.outdatedSince;\n\t\tthis.previousExternalId = domainObject.previousExternalId;\n\t\tthis.birthday = domainObject.birthday;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UserDORepo.html":{"url":"injectables/UserDORepo.html","title":"injectable - UserDORepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n UserDORepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/user/user-do.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseDORepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n createQueryOrderMap\n \n \n Async\n find\n \n \n Async\n findByExternalId\n \n \n Async\n findByExternalIdOrFail\n \n \n Async\n findById\n \n \n Async\n findByIdOrNull\n \n \n mapDOToEntityProperties\n \n \n mapEntityToDO\n \n \n Private\n Async\n populateRoles\n \n \n Private\n Async\n createOrUpdateEntity\n \n \n Async\n delete\n \n \n Async\n deleteById\n \n \n Private\n removeProtectedEntityFields\n \n \n Async\n save\n \n \n Async\n saveAll\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n createQueryOrderMap\n \n \n \n \n \n \n \n createQueryOrderMap(sort: SortOrderMap)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user-do.repo.ts:146\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n sort\n \n SortOrderMap\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : QueryOrderMap\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n find\n \n \n \n \n \n \n \n find(query: UserQuery, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user-do.repo.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n UserQuery\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : unknown\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByExternalId\n \n \n \n \n \n \n \n findByExternalId(externalId: string, systemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user-do.repo.ts:82\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalId\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByExternalIdOrFail\n \n \n \n \n \n \n \n findByExternalIdOrFail(externalId: string, systemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user-do.repo.ts:74\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalId\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId, populate)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:46\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n \n \n\n \n \n populate\n \n \n\n \n No\n \n\n \n false\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByIdOrNull\n \n \n \n \n \n \n \n findByIdOrNull(id: EntityId, populate)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user-do.repo.ts:57\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n \n \n\n \n \n populate\n \n \n\n \n No\n \n\n \n false\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapDOToEntityProperties\n \n \n \n \n \n \nmapDOToEntityProperties(entityDO: UserDO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:127\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n UserDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : EntityData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapEntityToDO\n \n \n \n \n \n \nmapEntityToDO(entity: User)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:93\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserDO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n populateRoles\n \n \n \n \n \n \n \n populateRoles(roles: Role[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user-do.repo.ts:156\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roles\n \n Role[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createOrUpdateEntity\n \n \n \n \n \n \n \n createOrUpdateEntity(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:32\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(domainObjects: DO[] | DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:61\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[] | DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteById\n \n \n \n \n \n \n [object Object],[object Object],[object Object]\n \n \n \n \n \n deleteById(id: EntityId | EntityId[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:78\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeProtectedEntityFields\n \n \n \n \n \n \n \n removeProtectedEntityFields(entityData: EntityData)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:98\n\n \n \n\n\n \n \n Ignore base entity properties when updating entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityData\n \n EntityData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAll\n \n \n \n \n \n \n \n saveAll(domainObjects: DO[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/user/user-do.repo.ts:15\n \n \n\n \n \n\n \n\n\n \n import { EntityData, EntityName, FilterQuery, QueryOrderMap } from '@mikro-orm/core';\nimport { UserQuery } from '@modules/user/service/user-query.type';\nimport { Injectable } from '@nestjs/common';\nimport { EntityNotFoundError } from '@shared/common';\nimport { Page, RoleReference } from '@shared/domain/domainobject';\nimport { UserDO } from '@shared/domain/domainobject/user.do';\nimport { Role, SchoolEntity, User } from '@shared/domain/entity';\nimport { IFindOptions, Pagination, SortOrder, SortOrderMap } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { BaseDORepo, Scope } from '@shared/repo';\nimport { UserScope } from './user.scope';\n\n@Injectable()\nexport class UserDORepo extends BaseDORepo {\n\tget entityName(): EntityName {\n\t\treturn User;\n\t}\n\n\tasync find(query: UserQuery, options?: IFindOptions) {\n\t\tconst pagination: Pagination = options?.pagination || {};\n\t\tconst order: QueryOrderMap = this.createQueryOrderMap(options?.order || {});\n\t\tconst scope: Scope = new UserScope()\n\t\t\t.bySchoolId(query.schoolId)\n\t\t\t.isOutdated(query.isOutdated)\n\t\t\t.whereLastLoginSystemChangeSmallerThan(query.lastLoginSystemChangeSmallerThan)\n\t\t\t.whereLastLoginSystemChangeIsBetween(\n\t\t\t\tquery.lastLoginSystemChangeBetweenStart,\n\t\t\t\tquery.lastLoginSystemChangeBetweenEnd\n\t\t\t)\n\t\t\t.withOutdatedSince(query.outdatedSince)\n\t\t\t.allowEmptyQuery(true);\n\n\t\torder._id = order._id ?? SortOrder.asc;\n\n\t\tconst [entities, total]: [User[], number] = await this._em.findAndCount(User, scope.query, {\n\t\t\toffset: pagination?.skip,\n\t\t\tlimit: pagination?.limit,\n\t\t\torderBy: order,\n\t\t});\n\n\t\tconst entityDos: UserDO[] = entities.map((entity) => this.mapEntityToDO(entity));\n\t\tconst page: Page = new Page(entityDos, total);\n\t\treturn page;\n\t}\n\n\tasync findById(id: EntityId, populate = false): Promise {\n\t\tconst userEntity: User = await this._em.findOneOrFail(this.entityName, id as FilterQuery);\n\n\t\tif (populate) {\n\t\t\tawait this._em.populate(userEntity, ['roles', 'school.systems', 'school.schoolYear']);\n\t\t\tawait this.populateRoles(userEntity.roles.getItems());\n\t\t}\n\n\t\treturn this.mapEntityToDO(userEntity);\n\t}\n\n\tasync findByIdOrNull(id: EntityId, populate = false): Promise {\n\t\tconst user: User | null = await this._em.findOne(this.entityName, id as FilterQuery);\n\n\t\tif (!user) {\n\t\t\treturn null;\n\t\t}\n\n\t\tif (populate) {\n\t\t\tawait this._em.populate(user, ['roles', 'school.systems', 'school.schoolYear']);\n\t\t\tawait this.populateRoles(user.roles.getItems());\n\t\t}\n\n\t\tconst domainObject: UserDO = this.mapEntityToDO(user);\n\n\t\treturn domainObject;\n\t}\n\n\tasync findByExternalIdOrFail(externalId: string, systemId: string): Promise {\n\t\tconst userDo: UserDO | null = await this.findByExternalId(externalId, systemId);\n\t\tif (userDo) {\n\t\t\treturn userDo;\n\t\t}\n\t\tthrow new EntityNotFoundError('User');\n\t}\n\n\tasync findByExternalId(externalId: string, systemId: string): Promise {\n\t\tconst userEntitys: User[] = await this._em.find(User, { externalId }, { populate: ['school.systems'] });\n\t\tconst userEntity: User | undefined = userEntitys.find((user: User): boolean => {\n\t\t\tconst { systems } = user.school;\n\t\t\treturn systems && !!systems.getItems().find((system): boolean => system.id === systemId);\n\t\t});\n\n\t\tconst userDo: UserDO | null = userEntity ? this.mapEntityToDO(userEntity) : null;\n\t\treturn userDo;\n\t}\n\n\tmapEntityToDO(entity: User): UserDO {\n\t\tconst user: UserDO = new UserDO({\n\t\t\tid: entity.id,\n\t\t\tcreatedAt: entity.createdAt,\n\t\t\tupdatedAt: entity.updatedAt,\n\t\t\temail: entity.email,\n\t\t\tfirstName: entity.firstName,\n\t\t\tlastName: entity.lastName,\n\t\t\troles: [],\n\t\t\tschoolId: entity.school.id,\n\t\t\tldapDn: entity.ldapDn,\n\t\t\texternalId: entity.externalId,\n\t\t\timportHash: entity.importHash,\n\t\t\tfirstNameSearchValues: entity.firstNameSearchValues,\n\t\t\tlastNameSearchValues: entity.lastNameSearchValues,\n\t\t\temailSearchValues: entity.emailSearchValues,\n\t\t\tlanguage: entity.language,\n\t\t\tforcePasswordChange: entity.forcePasswordChange,\n\t\t\tpreferences: entity.preferences,\n\t\t\tlastLoginSystemChange: entity.lastLoginSystemChange,\n\t\t\toutdatedSince: entity.outdatedSince,\n\t\t\tpreviousExternalId: entity.previousExternalId,\n\t\t\tbirthday: entity.birthday,\n\t\t});\n\n\t\tif (entity.roles.isInitialized()) {\n\t\t\tuser.roles = entity.roles\n\t\t\t\t.getItems()\n\t\t\t\t.map((role: Role): RoleReference => new RoleReference({ id: role.id, name: role.name }));\n\t\t}\n\n\t\treturn user;\n\t}\n\n\tmapDOToEntityProperties(entityDO: UserDO): EntityData {\n\t\treturn {\n\t\t\temail: entityDO.email,\n\t\t\tfirstName: entityDO.firstName,\n\t\t\tlastName: entityDO.lastName,\n\t\t\tschool: this._em.getReference(SchoolEntity, entityDO.schoolId),\n\t\t\troles: entityDO.roles.map((roleRef: RoleReference) => this._em.getReference(Role, roleRef.id)),\n\t\t\tldapDn: entityDO.ldapDn,\n\t\t\texternalId: entityDO.externalId,\n\t\t\tlanguage: entityDO.language,\n\t\t\tforcePasswordChange: entityDO.forcePasswordChange,\n\t\t\tpreferences: entityDO.preferences,\n\t\t\tlastLoginSystemChange: entityDO.lastLoginSystemChange,\n\t\t\toutdatedSince: entityDO.outdatedSince,\n\t\t\tpreviousExternalId: entityDO.previousExternalId,\n\t\t\tbirthday: entityDO.birthday,\n\t\t};\n\t}\n\n\tprivate createQueryOrderMap(sort: SortOrderMap): QueryOrderMap {\n\t\tconst queryOrderMap: QueryOrderMap = {\n\t\t\t_id: sort.id,\n\t\t};\n\t\tObject.keys(queryOrderMap)\n\t\t\t.filter((key) => queryOrderMap[key] === undefined)\n\t\t\t.forEach((key) => delete queryOrderMap[key]);\n\t\treturn queryOrderMap;\n\t}\n\n\tprivate async populateRoles(roles: Role[]): Promise {\n\t\tfor (let i = 0; i \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UserData.html":{"url":"interfaces/UserData.html","title":"interface - UserData","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UserData\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/service/feathers-roster.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n user_id\n \n \n \n \n username\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n user_id\n \n \n \n \n \n \n \n \n user_id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n username\n \n \n \n \n \n \n \n \n username: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { CourseService } from '@modules/learnroom/service';\nimport { ToolContextType } from '@modules/tool/common/enum';\nimport { ContextExternalTool, ContextRef } from '@modules/tool/context-external-tool/domain';\nimport { ContextExternalToolService } from '@modules/tool/context-external-tool/service';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { ExternalToolService } from '@modules/tool/external-tool/service';\nimport { SchoolExternalTool } from '@modules/tool/school-external-tool/domain';\nimport { SchoolExternalToolService } from '@modules/tool/school-external-tool/service';\nimport { UserService } from '@modules/user';\nimport { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { Pseudonym, RoleReference, UserDO } from '@shared/domain/domainobject';\nimport { Course } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { PseudonymService } from './pseudonym.service';\n\ninterface UserMetdata {\n\tdata: {\n\t\tuser_id: string;\n\t\tusername: string;\n\t\ttype: string;\n\t};\n}\n\ninterface UserGroups {\n\tdata: {\n\t\tgroups: UserGroup[];\n\t};\n}\n\ninterface UserGroup {\n\tgroup_id: string;\n\tname: string;\n\tstudent_count: number;\n}\n\ninterface UserData {\n\tuser_id: string;\n\tusername: string;\n}\n\ninterface Group {\n\tdata: {\n\t\tstudents: UserData[];\n\t\tteachers: UserData[];\n\t};\n}\n\n/**\n * Please do not use this service in any other nest modules.\n * This service will be called from feathers to get the roster data for ctl pseudonyms {@link ExternalToolPseudonymEntity}.\n * These data will be used e.g. by bettermarks to resolve and display the usernames.\n */\n@Injectable()\nexport class FeathersRosterService {\n\tconstructor(\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly pseudonymService: PseudonymService,\n\t\tprivate readonly courseService: CourseService,\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService\n\t) {}\n\n\tasync getUsersMetadata(pseudonym: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym = await this.findPseudonymByPseudonym(pseudonym);\n\t\tconst user: UserDO = await this.userService.findById(loadedPseudonym.userId);\n\n\t\tconst userMetadata: UserMetdata = {\n\t\t\tdata: {\n\t\t\t\tuser_id: user.id as string,\n\t\t\t\tusername: this.pseudonymService.getIframeSubject(loadedPseudonym.pseudonym),\n\t\t\t\ttype: this.getUserRole(user),\n\t\t\t},\n\t\t};\n\n\t\treturn userMetadata;\n\t}\n\n\tasync getUserGroups(pseudonym: string, oauth2ClientId: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym = await this.findPseudonymByPseudonym(pseudonym);\n\t\tconst externalTool: ExternalTool = await this.validateAndGetExternalTool(oauth2ClientId);\n\n\t\tlet courses: Course[] = await this.getCoursesFromUsersPseudonym(loadedPseudonym);\n\t\tcourses = await this.filterCoursesByToolAvailability(courses, externalTool.id as string);\n\n\t\tconst userGroups: UserGroups = {\n\t\t\tdata: {\n\t\t\t\tgroups: courses.map((course) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tgroup_id: course.id,\n\t\t\t\t\t\tname: course.name,\n\t\t\t\t\t\tstudent_count: course.students.length,\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t},\n\t\t};\n\n\t\treturn userGroups;\n\t}\n\n\tasync getGroup(courseId: EntityId, oauth2ClientId: string): Promise {\n\t\tconst course: Course = await this.courseService.findById(courseId);\n\t\tconst externalTool: ExternalTool = await this.validateAndGetExternalTool(oauth2ClientId);\n\n\t\tawait this.validateSchoolExternalTool(course.school.id, externalTool.id as string);\n\t\tawait this.validateContextExternalTools(courseId);\n\n\t\tconst [studentEntities, teacherEntities, substitutionTeacherEntities] = await Promise.all([\n\t\t\tcourse.students.loadItems(),\n\t\t\tcourse.teachers.loadItems(),\n\t\t\tcourse.substitutionTeachers.loadItems(),\n\t\t]);\n\n\t\tconst [students, teachers, substitutionTeachers] = await Promise.all([\n\t\t\tPromise.all(studentEntities.map((user) => this.userService.findById(user.id))),\n\t\t\tPromise.all(teacherEntities.map((user) => this.userService.findById(user.id))),\n\t\t\tPromise.all(substitutionTeacherEntities.map((user) => this.userService.findById(user.id))),\n\t\t]);\n\n\t\tconst [studentPseudonyms, teacherPseudonyms, substitutionTeacherPseudonyms] = await Promise.all([\n\t\t\tthis.getAndPseudonyms(students, externalTool),\n\t\t\tthis.getAndPseudonyms(teachers, externalTool),\n\t\t\tthis.getAndPseudonyms(substitutionTeachers, externalTool),\n\t\t]);\n\n\t\tconst allTeacherPseudonyms: Pseudonym[] = teacherPseudonyms.concat(substitutionTeacherPseudonyms);\n\n\t\tconst group: Group = {\n\t\t\tdata: {\n\t\t\t\tstudents: studentPseudonyms.map((pseudonym: Pseudonym) => this.mapPseudonymToUserData(pseudonym)),\n\t\t\t\tteachers: allTeacherPseudonyms.map((pseudonym: Pseudonym) => this.mapPseudonymToUserData(pseudonym)),\n\t\t\t},\n\t\t};\n\n\t\treturn group;\n\t}\n\n\tprivate async getAndPseudonyms(users: UserDO[], externalTool: ExternalTool): Promise {\n\t\tconst pseudonyms: Pseudonym[] = await Promise.all(\n\t\t\tusers.map((user: UserDO) => this.pseudonymService.findOrCreatePseudonym(user, externalTool))\n\t\t);\n\n\t\treturn pseudonyms;\n\t}\n\n\tprivate getUserRole(user: UserDO): string {\n\t\tconst roleName = user.roles.some((role: RoleReference) => role.name === RoleName.TEACHER)\n\t\t\t? RoleName.TEACHER\n\t\t\t: RoleName.STUDENT;\n\n\t\treturn roleName;\n\t}\n\n\tprivate async findPseudonymByPseudonym(pseudonym: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym | null = await this.pseudonymService.findPseudonymByPseudonym(pseudonym);\n\n\t\tif (!loadedPseudonym) {\n\t\t\tthrow new NotFoundLoggableException(Pseudonym.name, 'pseudonym', pseudonym);\n\t\t}\n\n\t\treturn loadedPseudonym;\n\t}\n\n\tprivate async getCoursesFromUsersPseudonym(pseudonym: Pseudonym): Promise {\n\t\tconst courses: Course[] = await this.courseService.findAllByUserId(pseudonym.userId);\n\n\t\treturn courses;\n\t}\n\n\tprivate async filterCoursesByToolAvailability(courses: Course[], externalToolId: string): Promise {\n\t\tconst validCourses: Course[] = [];\n\n\t\tawait Promise.all(\n\t\t\tcourses.map(async (course: Course) => {\n\t\t\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolService.findAllByContext(\n\t\t\t\t\tnew ContextRef({\n\t\t\t\t\t\tid: course.id,\n\t\t\t\t\t\ttype: ToolContextType.COURSE,\n\t\t\t\t\t})\n\t\t\t\t);\n\n\t\t\t\tfor await (const contextExternalTool of contextExternalTools) {\n\t\t\t\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(\n\t\t\t\t\t\tcontextExternalTool.schoolToolRef.schoolToolId\n\t\t\t\t\t);\n\t\t\t\t\tconst externalTool: ExternalTool = await this.externalToolService.findById(schoolExternalTool.toolId);\n\t\t\t\t\tconst isRequiredTool: boolean = externalTool.id === externalToolId;\n\n\t\t\t\t\tif (isRequiredTool) {\n\t\t\t\t\t\tvalidCourses.push(course);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t);\n\n\t\treturn validCourses;\n\t}\n\n\tprivate async validateAndGetExternalTool(oauth2ClientId: string): Promise {\n\t\tconst externalTool: ExternalTool | null = await this.externalToolService.findExternalToolByOAuth2ConfigClientId(\n\t\t\toauth2ClientId\n\t\t);\n\n\t\tif (!externalTool || !externalTool.id) {\n\t\t\tthrow new NotFoundLoggableException(ExternalTool.name, 'config.clientId', oauth2ClientId);\n\t\t}\n\n\t\treturn externalTool;\n\t}\n\n\tprivate async validateSchoolExternalTool(schoolId: EntityId, toolId: string): Promise {\n\t\tconst schoolExternalTools: SchoolExternalTool[] = await this.schoolExternalToolService.findSchoolExternalTools({\n\t\t\tschoolId,\n\t\t\ttoolId,\n\t\t});\n\n\t\tif (schoolExternalTools.length === 0) {\n\t\t\tthrow new NotFoundLoggableException(SchoolExternalTool.name, 'toolId', toolId);\n\t\t}\n\t}\n\n\tprivate async validateContextExternalTools(courseId: EntityId): Promise {\n\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolService.findAllByContext(\n\t\t\tnew ContextRef({ id: courseId, type: ToolContextType.COURSE })\n\t\t);\n\n\t\tif (contextExternalTools.length === 0) {\n\t\t\tthrow new NotFoundLoggableException(ContextExternalTool.name, 'contextRef.id', courseId);\n\t\t}\n\t}\n\n\tprivate mapPseudonymToUserData(pseudonym: Pseudonym): UserData {\n\t\tconst userData: UserData = {\n\t\t\tuser_id: pseudonym.pseudonym,\n\t\t\tusername: this.pseudonymService.getIframeSubject(pseudonym.pseudonym),\n\t\t};\n\n\t\treturn userData;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserDataResponse.html":{"url":"classes/UserDataResponse.html","title":"class - UserDataResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserDataResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/user-data.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n firstName\n \n \n \n lastName\n \n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: UserDataResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/user-data.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n UserDataResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/user-data.response.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/user-data.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/user-data.response.ts:17\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class UserDataResponse {\n\tconstructor({ userId, firstName, lastName }: UserDataResponse) {\n\t\tthis.userId = userId;\n\t\tthis.firstName = firstName;\n\t\tthis.lastName = lastName;\n\t}\n\n\t@ApiProperty()\n\tfirstName: string;\n\n\t@ApiProperty()\n\tlastName: string;\n\n\t@ApiProperty()\n\tuserId: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserDoFactory.html":{"url":"classes/UserDoFactory.html","title":"class - UserDoFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserDoFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/user.do.factory.ts\n \n\n\n\n \n Extends\n \n \n DoBaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n withRoles\n \n \n \n buildWithId\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n withRoles\n \n \n \n \n \n \nwithRoles(roles: literal type[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/user.do.factory.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roles\n \n literal type[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : any\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \n \n buildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:7\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UserDO } from '@shared/domain/domainobject/user.do';\nimport { RoleName } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { ObjectId } from 'bson';\nimport { DeepPartial } from 'fishery';\nimport { DoBaseFactory } from './domainobject';\n\nclass UserDoFactory extends DoBaseFactory {\n\twithRoles(roles: { id: EntityId; name: RoleName }[]) {\n\t\tconst params: DeepPartial = {\n\t\t\troles,\n\t\t};\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const userDoFactory = UserDoFactory.define(UserDO, ({ sequence }) => {\n\treturn {\n\t\tfirstName: 'John',\n\t\tlastName: `Doe ${sequence}`,\n\t\temail: `user-${sequence}@example.com`,\n\t\troles: [],\n\t\tschoolId: new ObjectId().toString(),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserDto.html":{"url":"classes/UserDto.html","title":"class - UserDto","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserDto\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user/uc/dto/user.dto.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n email\n \n \n Optional\n externalId\n \n \n firstName\n \n \n Optional\n forcePasswordChange\n \n \n Optional\n id\n \n \n Optional\n language\n \n \n Optional\n lastLoginSystemChange\n \n \n lastName\n \n \n Optional\n ldapDn\n \n \n Optional\n outdatedSince\n \n \n Optional\n preferences\n \n \n roleIds\n \n \n schoolId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(user: UserDto)\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n \n UserDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n email\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n externalId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n forcePasswordChange\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:39\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n language\n \n \n \n \n \n \n Type : LanguageType\n\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n lastLoginSystemChange\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n ldapDn\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:33\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n outdatedSince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n preferences\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Default value : {}\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:42\n \n \n\n\n \n \n \n \n \n \n \n \n roleIds\n \n \n \n \n \n \n Type : EntityId[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:29\n \n \n\n\n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/user/uc/dto/user.dto.ts:31\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { LanguageType } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\n\nexport class UserDto {\n\tconstructor(user: UserDto) {\n\t\tthis.id = user.id;\n\t\tthis.email = user.email;\n\t\tthis.firstName = user.firstName;\n\t\tthis.lastName = user.lastName;\n\t\tthis.roleIds = user.roleIds;\n\t\tthis.schoolId = user.schoolId;\n\t\tthis.ldapDn = user.ldapDn;\n\t\tthis.externalId = user.externalId;\n\t\tthis.language = user.language;\n\t\tthis.forcePasswordChange = user.forcePasswordChange;\n\t\tthis.preferences = user.preferences;\n\t\tthis.lastLoginSystemChange = user.lastLoginSystemChange;\n\t\tthis.outdatedSince = user.outdatedSince;\n\t}\n\n\tid?: EntityId;\n\n\temail: string;\n\n\tfirstName: string;\n\n\tlastName: string;\n\n\troleIds: EntityId[] = [];\n\n\tschoolId: string;\n\n\tldapDn?: string;\n\n\texternalId?: string;\n\n\tlanguage?: LanguageType;\n\n\tforcePasswordChange?: boolean;\n\n\t// See user entity\n\tpreferences?: Record = {};\n\n\tlastLoginSystemChange?: Date;\n\n\toutdatedSince?: Date;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserFactory.html":{"url":"classes/UserFactory.html","title":"class - UserFactory","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserFactory\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/testing/factory/user.factory.ts\n \n\n\n\n \n Extends\n \n \n BaseFactory\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n asAdmin\n \n \n asStudent\n \n \n asTeacher\n \n \n withRole\n \n \n withRoleByName\n \n \n afterBuild\n \n \n associations\n \n \n build\n \n \n buildList\n \n \n buildListWithId\n \n \n buildWithId\n \n \n Protected\n clone\n \n \n Static\n define\n \n \n params\n \n \n rewindSequence\n \n \n Protected\n sequence\n \n \n transient\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Protected\n Readonly\n propsFactory\n \n \n \n \n \n \n Type : Factory\n\n \n \n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n asAdmin\n \n \n \n \n \n \nasAdmin(additionalPermissions: Permission[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/user.factory.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n additionalPermissions\n \n Permission[]\n \n\n \n No\n \n\n \n []\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n asStudent\n \n \n \n \n \n \nasStudent(additionalPermissions: Permission[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/user.factory.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n additionalPermissions\n \n Permission[]\n \n\n \n No\n \n\n \n []\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n asTeacher\n \n \n \n \n \n \nasTeacher(additionalPermissions: Permission[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/user.factory.ts:33\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n additionalPermissions\n \n Permission[]\n \n\n \n No\n \n\n \n []\n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withRole\n \n \n \n \n \n \nwithRole(role: Role)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/user.factory.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n role\n \n Role\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withRoleByName\n \n \n \n \n \n \nwithRoleByName(name: RoleName)\n \n \n\n\n \n \n Defined in apps/server/src/shared/testing/factory/user.factory.ts:12\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n RoleName\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n afterBuild\n \n \n \n \n \n \nafterBuild(afterBuildFn: HookFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:98\n\n \n \n\n\n \n \n Extend the factory by adding a function to be called after an object is built.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n afterBuildFn\n \n HookFn\n \n\n \n No\n \n\n\n \n \nthe function to call. It accepts your object of type T. The value this function returns gets returned from \"build\"\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n associations\n \n \n \n \n \n \nassociations(associations: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:110\n\n \n \n\n\n \n \n Extend the factory by adding default associations to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n associations\n \n Partial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n build\n \n \n \n \n \n \nbuild(params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:47\n\n \n \n\n\n \n \n Build an entity using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n buildList\n \n \n \n \n \n \nbuildList(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:75\n\n \n \n\n\n \n \n Build a list of entities using your factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n a list of entities\n\n \n \n \n \n \n \n \n \n \n \n \n buildListWithId\n \n \n \n \n \n \nbuildListWithId(number: number, params?: DeepPartial, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:84\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n number\n \n number\n \n\n \n No\n \n\n \n \n\n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n buildWithId\n \n \n \n \n \n \nbuildWithId(params?: DeepPartial, id?: string, options: BuildOptions)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:60\n\n \n \n\n\n \n \n Build an entity using your factory and generate a id for it.\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n params\n \n DeepPartial\n \n\n \n Yes\n \n\n \n \n\n \n \n id\n \n string\n \n\n \n Yes\n \n\n \n \n\n \n \n options\n \n BuildOptions\n \n\n \n No\n \n\n \n {}\n \n\n \n \n \n \n \n Returns : T\n\n \n \n an entity\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n clone\n \n \n \n \n \n \n \n clone(this: F, propsFactory: Factory)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:148\n\n \n \n\n \n \n Type parameters :\n \n F\n \n \n \n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n this\n \n F\n \n\n \n No\n \n\n\n \n \n propsFactory\n \n Factory\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n define\n \n \n \n \n \n \n \n define(this, EntityClass: literal type, generator: GeneratorFn)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:32\n\n \n \n\n \n \n Type parameters :\n \n T\n U\n I\n C\n F\n \n \n \n\n \n \n Define a factory\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n this\n \n \n\n \n No\n \n\n\n \n \n \n \n EntityClass\n \n literal type\n \n\n \n No\n \n\n\n \n The constructor of the entity to be built.\n\n \n \n \n generator\n \n GeneratorFn\n \n\n \n No\n \n\n\n \n Your factory function - see Factory.define() in thoughtbot/fishery\n\n \n \n \n \n \n \n Returns : F\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n params\n \n \n \n \n \n \nparams(params: DeepPartial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:122\n\n \n \n\n\n \n \n Extend the factory by adding default parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n DeepPartial\n \n\n \n No\n \n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n rewindSequence\n \n \n \n \n \n \nrewindSequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:144\n\n \n \n\n\n \n \n Set sequence back to its default value\n\n\n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n Protected\n sequence\n \n \n \n \n \n \n \n sequence()\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:160\n\n \n \n\n\n \n \n Get the next sequence value\n\n\n \n Returns : number\n\n \n \n the next sequence value\n\n \n \n \n \n \n \n \n \n \n \n \n transient\n \n \n \n \n \n \ntransient(transient: Partial)\n \n \n\n\n \n \n Inherited from BaseFactory\n\n \n \n \n \n Defined in BaseFactory:134\n\n \n \n\n\n \n \n Extend the factory by adding default transient parameters to be passed to the factory when \"build\" is called\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n transient\n \n Partial\n \n\n \n No\n \n\n\n \n \ntransient params\n\n\n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Role, User, UserProperties } from '@shared/domain/entity';\nimport { Permission, RoleName } from '@shared/domain/interface';\nimport { DeepPartial } from 'fishery';\nimport _ from 'lodash';\nimport { adminPermissions, studentPermissions, teacherPermissions, userPermissions } from '../user-role-permissions';\nimport { BaseFactory } from './base.factory';\nimport { roleFactory } from './role.factory';\nimport { schoolFactory } from './school.factory';\n\nclass UserFactory extends BaseFactory {\n\twithRoleByName(name: RoleName): this {\n\t\tconst params: DeepPartial = { roles: [roleFactory.buildWithId({ name })] };\n\n\t\treturn this.params(params);\n\t}\n\n\twithRole(role: Role): this {\n\t\tconst params: DeepPartial = { roles: [role] };\n\n\t\treturn this.params(params);\n\t}\n\n\tasStudent(additionalPermissions: Permission[] = []): this {\n\t\tconst permissions = _.union(userPermissions, studentPermissions, additionalPermissions);\n\t\tconst role = roleFactory.buildWithId({ permissions, name: RoleName.STUDENT });\n\n\t\tconst params: DeepPartial = { roles: [role] };\n\n\t\treturn this.params(params);\n\t}\n\n\tasTeacher(additionalPermissions: Permission[] = []): this {\n\t\tconst permissions = _.union(userPermissions, teacherPermissions, additionalPermissions);\n\t\tconst role = roleFactory.buildWithId({ permissions, name: RoleName.TEACHER });\n\n\t\tconst params: DeepPartial = { roles: [role] };\n\n\t\treturn this.params(params);\n\t}\n\n\tasAdmin(additionalPermissions: Permission[] = []): this {\n\t\tconst permissions = _.union(userPermissions, adminPermissions, additionalPermissions);\n\t\tconst role = roleFactory.buildWithId({ permissions, name: RoleName.ADMINISTRATOR });\n\n\t\tconst params: DeepPartial = { roles: [role] };\n\n\t\treturn this.params(params);\n\t}\n}\n\nexport const userFactory = UserFactory.define(User, ({ sequence }) => {\n\treturn {\n\t\tfirstName: 'John',\n\t\tlastName: `Doe ${sequence}`,\n\t\temail: `user-${sequence}@example.com`,\n\t\troles: [],\n\t\tschool: schoolFactory.build(),\n\t};\n});\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserForGroupNotFoundLoggable.html":{"url":"classes/UserForGroupNotFoundLoggable.html","title":"class - UserForGroupNotFoundLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserForGroupNotFoundLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/provisioning/loggable/user-for-group-not-found.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(groupUser: ExternalGroupUserDto)\n \n \n \n \n Defined in apps/server/src/modules/provisioning/loggable/user-for-group-not-found.loggable.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n groupUser\n \n \n ExternalGroupUserDto\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/provisioning/loggable/user-for-group-not-found.loggable.ts:7\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { ExternalGroupUserDto } from '../dto';\n\nexport class UserForGroupNotFoundLoggable implements Loggable {\n\tconstructor(private readonly groupUser: ExternalGroupUserDto) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'Unable to add unknown user to group during provisioning.',\n\t\t\tdata: {\n\t\t\t\texternalUserId: this.groupUser.externalUserId,\n\t\t\t\troleName: this.groupUser.roleName,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UserGroup.html":{"url":"interfaces/UserGroup.html","title":"interface - UserGroup","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UserGroup\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/service/feathers-roster.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n group_id\n \n \n \n \n name\n \n \n \n \n student_count\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n group_id\n \n \n \n \n \n \n \n \n group_id: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n name\n \n \n \n \n \n \n \n \n name: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n student_count\n \n \n \n \n \n \n \n \n student_count: number\n\n \n \n\n\n \n \n Type : number\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { CourseService } from '@modules/learnroom/service';\nimport { ToolContextType } from '@modules/tool/common/enum';\nimport { ContextExternalTool, ContextRef } from '@modules/tool/context-external-tool/domain';\nimport { ContextExternalToolService } from '@modules/tool/context-external-tool/service';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { ExternalToolService } from '@modules/tool/external-tool/service';\nimport { SchoolExternalTool } from '@modules/tool/school-external-tool/domain';\nimport { SchoolExternalToolService } from '@modules/tool/school-external-tool/service';\nimport { UserService } from '@modules/user';\nimport { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { Pseudonym, RoleReference, UserDO } from '@shared/domain/domainobject';\nimport { Course } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { PseudonymService } from './pseudonym.service';\n\ninterface UserMetdata {\n\tdata: {\n\t\tuser_id: string;\n\t\tusername: string;\n\t\ttype: string;\n\t};\n}\n\ninterface UserGroups {\n\tdata: {\n\t\tgroups: UserGroup[];\n\t};\n}\n\ninterface UserGroup {\n\tgroup_id: string;\n\tname: string;\n\tstudent_count: number;\n}\n\ninterface UserData {\n\tuser_id: string;\n\tusername: string;\n}\n\ninterface Group {\n\tdata: {\n\t\tstudents: UserData[];\n\t\tteachers: UserData[];\n\t};\n}\n\n/**\n * Please do not use this service in any other nest modules.\n * This service will be called from feathers to get the roster data for ctl pseudonyms {@link ExternalToolPseudonymEntity}.\n * These data will be used e.g. by bettermarks to resolve and display the usernames.\n */\n@Injectable()\nexport class FeathersRosterService {\n\tconstructor(\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly pseudonymService: PseudonymService,\n\t\tprivate readonly courseService: CourseService,\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService\n\t) {}\n\n\tasync getUsersMetadata(pseudonym: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym = await this.findPseudonymByPseudonym(pseudonym);\n\t\tconst user: UserDO = await this.userService.findById(loadedPseudonym.userId);\n\n\t\tconst userMetadata: UserMetdata = {\n\t\t\tdata: {\n\t\t\t\tuser_id: user.id as string,\n\t\t\t\tusername: this.pseudonymService.getIframeSubject(loadedPseudonym.pseudonym),\n\t\t\t\ttype: this.getUserRole(user),\n\t\t\t},\n\t\t};\n\n\t\treturn userMetadata;\n\t}\n\n\tasync getUserGroups(pseudonym: string, oauth2ClientId: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym = await this.findPseudonymByPseudonym(pseudonym);\n\t\tconst externalTool: ExternalTool = await this.validateAndGetExternalTool(oauth2ClientId);\n\n\t\tlet courses: Course[] = await this.getCoursesFromUsersPseudonym(loadedPseudonym);\n\t\tcourses = await this.filterCoursesByToolAvailability(courses, externalTool.id as string);\n\n\t\tconst userGroups: UserGroups = {\n\t\t\tdata: {\n\t\t\t\tgroups: courses.map((course) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tgroup_id: course.id,\n\t\t\t\t\t\tname: course.name,\n\t\t\t\t\t\tstudent_count: course.students.length,\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t},\n\t\t};\n\n\t\treturn userGroups;\n\t}\n\n\tasync getGroup(courseId: EntityId, oauth2ClientId: string): Promise {\n\t\tconst course: Course = await this.courseService.findById(courseId);\n\t\tconst externalTool: ExternalTool = await this.validateAndGetExternalTool(oauth2ClientId);\n\n\t\tawait this.validateSchoolExternalTool(course.school.id, externalTool.id as string);\n\t\tawait this.validateContextExternalTools(courseId);\n\n\t\tconst [studentEntities, teacherEntities, substitutionTeacherEntities] = await Promise.all([\n\t\t\tcourse.students.loadItems(),\n\t\t\tcourse.teachers.loadItems(),\n\t\t\tcourse.substitutionTeachers.loadItems(),\n\t\t]);\n\n\t\tconst [students, teachers, substitutionTeachers] = await Promise.all([\n\t\t\tPromise.all(studentEntities.map((user) => this.userService.findById(user.id))),\n\t\t\tPromise.all(teacherEntities.map((user) => this.userService.findById(user.id))),\n\t\t\tPromise.all(substitutionTeacherEntities.map((user) => this.userService.findById(user.id))),\n\t\t]);\n\n\t\tconst [studentPseudonyms, teacherPseudonyms, substitutionTeacherPseudonyms] = await Promise.all([\n\t\t\tthis.getAndPseudonyms(students, externalTool),\n\t\t\tthis.getAndPseudonyms(teachers, externalTool),\n\t\t\tthis.getAndPseudonyms(substitutionTeachers, externalTool),\n\t\t]);\n\n\t\tconst allTeacherPseudonyms: Pseudonym[] = teacherPseudonyms.concat(substitutionTeacherPseudonyms);\n\n\t\tconst group: Group = {\n\t\t\tdata: {\n\t\t\t\tstudents: studentPseudonyms.map((pseudonym: Pseudonym) => this.mapPseudonymToUserData(pseudonym)),\n\t\t\t\tteachers: allTeacherPseudonyms.map((pseudonym: Pseudonym) => this.mapPseudonymToUserData(pseudonym)),\n\t\t\t},\n\t\t};\n\n\t\treturn group;\n\t}\n\n\tprivate async getAndPseudonyms(users: UserDO[], externalTool: ExternalTool): Promise {\n\t\tconst pseudonyms: Pseudonym[] = await Promise.all(\n\t\t\tusers.map((user: UserDO) => this.pseudonymService.findOrCreatePseudonym(user, externalTool))\n\t\t);\n\n\t\treturn pseudonyms;\n\t}\n\n\tprivate getUserRole(user: UserDO): string {\n\t\tconst roleName = user.roles.some((role: RoleReference) => role.name === RoleName.TEACHER)\n\t\t\t? RoleName.TEACHER\n\t\t\t: RoleName.STUDENT;\n\n\t\treturn roleName;\n\t}\n\n\tprivate async findPseudonymByPseudonym(pseudonym: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym | null = await this.pseudonymService.findPseudonymByPseudonym(pseudonym);\n\n\t\tif (!loadedPseudonym) {\n\t\t\tthrow new NotFoundLoggableException(Pseudonym.name, 'pseudonym', pseudonym);\n\t\t}\n\n\t\treturn loadedPseudonym;\n\t}\n\n\tprivate async getCoursesFromUsersPseudonym(pseudonym: Pseudonym): Promise {\n\t\tconst courses: Course[] = await this.courseService.findAllByUserId(pseudonym.userId);\n\n\t\treturn courses;\n\t}\n\n\tprivate async filterCoursesByToolAvailability(courses: Course[], externalToolId: string): Promise {\n\t\tconst validCourses: Course[] = [];\n\n\t\tawait Promise.all(\n\t\t\tcourses.map(async (course: Course) => {\n\t\t\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolService.findAllByContext(\n\t\t\t\t\tnew ContextRef({\n\t\t\t\t\t\tid: course.id,\n\t\t\t\t\t\ttype: ToolContextType.COURSE,\n\t\t\t\t\t})\n\t\t\t\t);\n\n\t\t\t\tfor await (const contextExternalTool of contextExternalTools) {\n\t\t\t\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(\n\t\t\t\t\t\tcontextExternalTool.schoolToolRef.schoolToolId\n\t\t\t\t\t);\n\t\t\t\t\tconst externalTool: ExternalTool = await this.externalToolService.findById(schoolExternalTool.toolId);\n\t\t\t\t\tconst isRequiredTool: boolean = externalTool.id === externalToolId;\n\n\t\t\t\t\tif (isRequiredTool) {\n\t\t\t\t\t\tvalidCourses.push(course);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t);\n\n\t\treturn validCourses;\n\t}\n\n\tprivate async validateAndGetExternalTool(oauth2ClientId: string): Promise {\n\t\tconst externalTool: ExternalTool | null = await this.externalToolService.findExternalToolByOAuth2ConfigClientId(\n\t\t\toauth2ClientId\n\t\t);\n\n\t\tif (!externalTool || !externalTool.id) {\n\t\t\tthrow new NotFoundLoggableException(ExternalTool.name, 'config.clientId', oauth2ClientId);\n\t\t}\n\n\t\treturn externalTool;\n\t}\n\n\tprivate async validateSchoolExternalTool(schoolId: EntityId, toolId: string): Promise {\n\t\tconst schoolExternalTools: SchoolExternalTool[] = await this.schoolExternalToolService.findSchoolExternalTools({\n\t\t\tschoolId,\n\t\t\ttoolId,\n\t\t});\n\n\t\tif (schoolExternalTools.length === 0) {\n\t\t\tthrow new NotFoundLoggableException(SchoolExternalTool.name, 'toolId', toolId);\n\t\t}\n\t}\n\n\tprivate async validateContextExternalTools(courseId: EntityId): Promise {\n\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolService.findAllByContext(\n\t\t\tnew ContextRef({ id: courseId, type: ToolContextType.COURSE })\n\t\t);\n\n\t\tif (contextExternalTools.length === 0) {\n\t\t\tthrow new NotFoundLoggableException(ContextExternalTool.name, 'contextRef.id', courseId);\n\t\t}\n\t}\n\n\tprivate mapPseudonymToUserData(pseudonym: Pseudonym): UserData {\n\t\tconst userData: UserData = {\n\t\t\tuser_id: pseudonym.pseudonym,\n\t\t\tusername: this.pseudonymService.getIframeSubject(pseudonym.pseudonym),\n\t\t};\n\n\t\treturn userData;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UserGroups.html":{"url":"interfaces/UserGroups.html","title":"interface - UserGroups","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UserGroups\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/service/feathers-roster.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { CourseService } from '@modules/learnroom/service';\nimport { ToolContextType } from '@modules/tool/common/enum';\nimport { ContextExternalTool, ContextRef } from '@modules/tool/context-external-tool/domain';\nimport { ContextExternalToolService } from '@modules/tool/context-external-tool/service';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { ExternalToolService } from '@modules/tool/external-tool/service';\nimport { SchoolExternalTool } from '@modules/tool/school-external-tool/domain';\nimport { SchoolExternalToolService } from '@modules/tool/school-external-tool/service';\nimport { UserService } from '@modules/user';\nimport { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { Pseudonym, RoleReference, UserDO } from '@shared/domain/domainobject';\nimport { Course } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { PseudonymService } from './pseudonym.service';\n\ninterface UserMetdata {\n\tdata: {\n\t\tuser_id: string;\n\t\tusername: string;\n\t\ttype: string;\n\t};\n}\n\ninterface UserGroups {\n\tdata: {\n\t\tgroups: UserGroup[];\n\t};\n}\n\ninterface UserGroup {\n\tgroup_id: string;\n\tname: string;\n\tstudent_count: number;\n}\n\ninterface UserData {\n\tuser_id: string;\n\tusername: string;\n}\n\ninterface Group {\n\tdata: {\n\t\tstudents: UserData[];\n\t\tteachers: UserData[];\n\t};\n}\n\n/**\n * Please do not use this service in any other nest modules.\n * This service will be called from feathers to get the roster data for ctl pseudonyms {@link ExternalToolPseudonymEntity}.\n * These data will be used e.g. by bettermarks to resolve and display the usernames.\n */\n@Injectable()\nexport class FeathersRosterService {\n\tconstructor(\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly pseudonymService: PseudonymService,\n\t\tprivate readonly courseService: CourseService,\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService\n\t) {}\n\n\tasync getUsersMetadata(pseudonym: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym = await this.findPseudonymByPseudonym(pseudonym);\n\t\tconst user: UserDO = await this.userService.findById(loadedPseudonym.userId);\n\n\t\tconst userMetadata: UserMetdata = {\n\t\t\tdata: {\n\t\t\t\tuser_id: user.id as string,\n\t\t\t\tusername: this.pseudonymService.getIframeSubject(loadedPseudonym.pseudonym),\n\t\t\t\ttype: this.getUserRole(user),\n\t\t\t},\n\t\t};\n\n\t\treturn userMetadata;\n\t}\n\n\tasync getUserGroups(pseudonym: string, oauth2ClientId: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym = await this.findPseudonymByPseudonym(pseudonym);\n\t\tconst externalTool: ExternalTool = await this.validateAndGetExternalTool(oauth2ClientId);\n\n\t\tlet courses: Course[] = await this.getCoursesFromUsersPseudonym(loadedPseudonym);\n\t\tcourses = await this.filterCoursesByToolAvailability(courses, externalTool.id as string);\n\n\t\tconst userGroups: UserGroups = {\n\t\t\tdata: {\n\t\t\t\tgroups: courses.map((course) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tgroup_id: course.id,\n\t\t\t\t\t\tname: course.name,\n\t\t\t\t\t\tstudent_count: course.students.length,\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t},\n\t\t};\n\n\t\treturn userGroups;\n\t}\n\n\tasync getGroup(courseId: EntityId, oauth2ClientId: string): Promise {\n\t\tconst course: Course = await this.courseService.findById(courseId);\n\t\tconst externalTool: ExternalTool = await this.validateAndGetExternalTool(oauth2ClientId);\n\n\t\tawait this.validateSchoolExternalTool(course.school.id, externalTool.id as string);\n\t\tawait this.validateContextExternalTools(courseId);\n\n\t\tconst [studentEntities, teacherEntities, substitutionTeacherEntities] = await Promise.all([\n\t\t\tcourse.students.loadItems(),\n\t\t\tcourse.teachers.loadItems(),\n\t\t\tcourse.substitutionTeachers.loadItems(),\n\t\t]);\n\n\t\tconst [students, teachers, substitutionTeachers] = await Promise.all([\n\t\t\tPromise.all(studentEntities.map((user) => this.userService.findById(user.id))),\n\t\t\tPromise.all(teacherEntities.map((user) => this.userService.findById(user.id))),\n\t\t\tPromise.all(substitutionTeacherEntities.map((user) => this.userService.findById(user.id))),\n\t\t]);\n\n\t\tconst [studentPseudonyms, teacherPseudonyms, substitutionTeacherPseudonyms] = await Promise.all([\n\t\t\tthis.getAndPseudonyms(students, externalTool),\n\t\t\tthis.getAndPseudonyms(teachers, externalTool),\n\t\t\tthis.getAndPseudonyms(substitutionTeachers, externalTool),\n\t\t]);\n\n\t\tconst allTeacherPseudonyms: Pseudonym[] = teacherPseudonyms.concat(substitutionTeacherPseudonyms);\n\n\t\tconst group: Group = {\n\t\t\tdata: {\n\t\t\t\tstudents: studentPseudonyms.map((pseudonym: Pseudonym) => this.mapPseudonymToUserData(pseudonym)),\n\t\t\t\tteachers: allTeacherPseudonyms.map((pseudonym: Pseudonym) => this.mapPseudonymToUserData(pseudonym)),\n\t\t\t},\n\t\t};\n\n\t\treturn group;\n\t}\n\n\tprivate async getAndPseudonyms(users: UserDO[], externalTool: ExternalTool): Promise {\n\t\tconst pseudonyms: Pseudonym[] = await Promise.all(\n\t\t\tusers.map((user: UserDO) => this.pseudonymService.findOrCreatePseudonym(user, externalTool))\n\t\t);\n\n\t\treturn pseudonyms;\n\t}\n\n\tprivate getUserRole(user: UserDO): string {\n\t\tconst roleName = user.roles.some((role: RoleReference) => role.name === RoleName.TEACHER)\n\t\t\t? RoleName.TEACHER\n\t\t\t: RoleName.STUDENT;\n\n\t\treturn roleName;\n\t}\n\n\tprivate async findPseudonymByPseudonym(pseudonym: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym | null = await this.pseudonymService.findPseudonymByPseudonym(pseudonym);\n\n\t\tif (!loadedPseudonym) {\n\t\t\tthrow new NotFoundLoggableException(Pseudonym.name, 'pseudonym', pseudonym);\n\t\t}\n\n\t\treturn loadedPseudonym;\n\t}\n\n\tprivate async getCoursesFromUsersPseudonym(pseudonym: Pseudonym): Promise {\n\t\tconst courses: Course[] = await this.courseService.findAllByUserId(pseudonym.userId);\n\n\t\treturn courses;\n\t}\n\n\tprivate async filterCoursesByToolAvailability(courses: Course[], externalToolId: string): Promise {\n\t\tconst validCourses: Course[] = [];\n\n\t\tawait Promise.all(\n\t\t\tcourses.map(async (course: Course) => {\n\t\t\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolService.findAllByContext(\n\t\t\t\t\tnew ContextRef({\n\t\t\t\t\t\tid: course.id,\n\t\t\t\t\t\ttype: ToolContextType.COURSE,\n\t\t\t\t\t})\n\t\t\t\t);\n\n\t\t\t\tfor await (const contextExternalTool of contextExternalTools) {\n\t\t\t\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(\n\t\t\t\t\t\tcontextExternalTool.schoolToolRef.schoolToolId\n\t\t\t\t\t);\n\t\t\t\t\tconst externalTool: ExternalTool = await this.externalToolService.findById(schoolExternalTool.toolId);\n\t\t\t\t\tconst isRequiredTool: boolean = externalTool.id === externalToolId;\n\n\t\t\t\t\tif (isRequiredTool) {\n\t\t\t\t\t\tvalidCourses.push(course);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t);\n\n\t\treturn validCourses;\n\t}\n\n\tprivate async validateAndGetExternalTool(oauth2ClientId: string): Promise {\n\t\tconst externalTool: ExternalTool | null = await this.externalToolService.findExternalToolByOAuth2ConfigClientId(\n\t\t\toauth2ClientId\n\t\t);\n\n\t\tif (!externalTool || !externalTool.id) {\n\t\t\tthrow new NotFoundLoggableException(ExternalTool.name, 'config.clientId', oauth2ClientId);\n\t\t}\n\n\t\treturn externalTool;\n\t}\n\n\tprivate async validateSchoolExternalTool(schoolId: EntityId, toolId: string): Promise {\n\t\tconst schoolExternalTools: SchoolExternalTool[] = await this.schoolExternalToolService.findSchoolExternalTools({\n\t\t\tschoolId,\n\t\t\ttoolId,\n\t\t});\n\n\t\tif (schoolExternalTools.length === 0) {\n\t\t\tthrow new NotFoundLoggableException(SchoolExternalTool.name, 'toolId', toolId);\n\t\t}\n\t}\n\n\tprivate async validateContextExternalTools(courseId: EntityId): Promise {\n\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolService.findAllByContext(\n\t\t\tnew ContextRef({ id: courseId, type: ToolContextType.COURSE })\n\t\t);\n\n\t\tif (contextExternalTools.length === 0) {\n\t\t\tthrow new NotFoundLoggableException(ContextExternalTool.name, 'contextRef.id', courseId);\n\t\t}\n\t}\n\n\tprivate mapPseudonymToUserData(pseudonym: Pseudonym): UserData {\n\t\tconst userData: UserData = {\n\t\t\tuser_id: pseudonym.pseudonym,\n\t\t\tusername: this.pseudonymService.getIframeSubject(pseudonym.pseudonym),\n\t\t};\n\n\t\treturn userData;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserInfoMapper.html":{"url":"classes/UserInfoMapper.html","title":"class - UserInfoMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserInfoMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/mapper/user-info.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(user: User)\n \n \n\n\n \n \n Defined in apps/server/src/modules/news/mapper/user-info.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserInfoResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { User } from '@shared/domain/entity';\nimport { UserInfoResponse } from '../controller/dto';\n\nexport class UserInfoMapper {\n\tstatic mapToResponse(user: User): UserInfoResponse {\n\t\tconst dto = new UserInfoResponse({\n\t\t\tid: user.id,\n\t\t\tfirstName: user.firstName,\n\t\t\tlastName: user.lastName,\n\t\t});\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserInfoResponse.html":{"url":"classes/UserInfoResponse.html","title":"class - UserInfoResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserInfoResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/news/controller/dto/user-info.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n firstName\n \n \n \n id\n \n \n \n Optional\n lastName\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: UserInfoResponse)\n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/user-info.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n UserInfoResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'First name of the user'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/user-info.response.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({pattern: '[a-f0-9]{24}', description: 'The id of the User entity'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/user-info.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Last name of the user'})\n \n \n \n \n \n Defined in apps/server/src/modules/news/controller/dto/user-info.response.ts:24\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\n\nexport class UserInfoResponse {\n\tconstructor({ id, firstName, lastName }: UserInfoResponse) {\n\t\tthis.id = id;\n\t\tthis.firstName = firstName;\n\t\tthis.lastName = lastName;\n\t}\n\n\t@ApiProperty({\n\t\tpattern: '[a-f0-9]{24}',\n\t\tdescription: 'The id of the User entity',\n\t})\n\tid: string;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'First name of the user',\n\t})\n\tfirstName?: string;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Last name of the user',\n\t})\n\tlastName?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserLoginMigrationAlreadyClosedLoggableException.html":{"url":"classes/UserLoginMigrationAlreadyClosedLoggableException.html","title":"class - UserLoginMigrationAlreadyClosedLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationAlreadyClosedLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/user-login-migration-already-closed.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n UnprocessableEntityException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(closedAt: Date, userLoginMigrationId?: EntityId)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-login-migration-already-closed.loggable-exception.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n closedAt\n \n \n Date\n \n \n \n No\n \n \n \n \n userLoginMigrationId\n \n \n EntityId\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-login-migration-already-closed.loggable-exception.ts:10\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UnprocessableEntityException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class UserLoginMigrationAlreadyClosedLoggableException extends UnprocessableEntityException implements Loggable {\n\tconstructor(private readonly closedAt: Date, private readonly userLoginMigrationId?: EntityId) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'USER_LOGIN_MIGRATION_ALREADY_CLOSED',\n\t\t\tmessage: 'Migration of school cannot be started or changed, because it is already closed.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tuserLoginMigrationId: this.userLoginMigrationId,\n\t\t\t\tclosedAt: this.closedAt.toISOString(),\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/UserLoginMigrationApiModule.html":{"url":"modules/UserLoginMigrationApiModule.html","title":"module - UserLoginMigrationApiModule","body":"\n \n\n\n\n\n Modules\n UserLoginMigrationApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_UserLoginMigrationApiModule\n\n\n\ncluster_UserLoginMigrationApiModule_providers\n\n\n\ncluster_UserLoginMigrationApiModule_imports\n\n\n\n\nAuthenticationModule\n\nAuthenticationModule\n\n\n\nUserLoginMigrationApiModule\n\nUserLoginMigrationApiModule\n\nUserLoginMigrationApiModule -->\n\nAuthenticationModule->UserLoginMigrationApiModule\n\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\nUserLoginMigrationApiModule -->\n\nAuthorizationModule->UserLoginMigrationApiModule\n\n\n\n\n\nLegacySchoolModule\n\nLegacySchoolModule\n\nUserLoginMigrationApiModule -->\n\nLegacySchoolModule->UserLoginMigrationApiModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nUserLoginMigrationApiModule -->\n\nLoggerModule->UserLoginMigrationApiModule\n\n\n\n\n\nOauthModule\n\nOauthModule\n\nUserLoginMigrationApiModule -->\n\nOauthModule->UserLoginMigrationApiModule\n\n\n\n\n\nProvisioningModule\n\nProvisioningModule\n\nUserLoginMigrationApiModule -->\n\nProvisioningModule->UserLoginMigrationApiModule\n\n\n\n\n\nUserLoginMigrationModule\n\nUserLoginMigrationModule\n\nUserLoginMigrationApiModule -->\n\nUserLoginMigrationModule->UserLoginMigrationApiModule\n\n\n\n\n\nCloseUserLoginMigrationUc\n\nCloseUserLoginMigrationUc\n\nUserLoginMigrationApiModule -->\n\nCloseUserLoginMigrationUc->UserLoginMigrationApiModule\n\n\n\n\n\nRestartUserLoginMigrationUc\n\nRestartUserLoginMigrationUc\n\nUserLoginMigrationApiModule -->\n\nRestartUserLoginMigrationUc->UserLoginMigrationApiModule\n\n\n\n\n\nStartUserLoginMigrationUc\n\nStartUserLoginMigrationUc\n\nUserLoginMigrationApiModule -->\n\nStartUserLoginMigrationUc->UserLoginMigrationApiModule\n\n\n\n\n\nToggleUserLoginMigrationUc\n\nToggleUserLoginMigrationUc\n\nUserLoginMigrationApiModule -->\n\nToggleUserLoginMigrationUc->UserLoginMigrationApiModule\n\n\n\n\n\nUserLoginMigrationUc\n\nUserLoginMigrationUc\n\nUserLoginMigrationApiModule -->\n\nUserLoginMigrationUc->UserLoginMigrationApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/user-login-migration/user-login-migration-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n CloseUserLoginMigrationUc\n \n \n RestartUserLoginMigrationUc\n \n \n StartUserLoginMigrationUc\n \n \n ToggleUserLoginMigrationUc\n \n \n UserLoginMigrationUc\n \n \n \n \n Controllers\n \n \n UserLoginMigrationController\n \n \n \n \n Imports\n \n \n AuthenticationModule\n \n \n AuthorizationModule\n \n \n LegacySchoolModule\n \n \n LoggerModule\n \n \n OauthModule\n \n \n ProvisioningModule\n \n \n UserLoginMigrationModule\n \n \n \n \n \n\n\n \n\n\n \n import { AuthenticationModule } from '@modules/authentication/authentication.module';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { LegacySchoolModule } from '@modules/legacy-school';\nimport { OauthModule } from '@modules/oauth';\nimport { ProvisioningModule } from '@modules/provisioning';\nimport { Module } from '@nestjs/common';\nimport { LoggerModule } from '@src/core/logger';\nimport { UserLoginMigrationController } from './controller/user-login-migration.controller';\nimport {\n\tCloseUserLoginMigrationUc,\n\tRestartUserLoginMigrationUc,\n\tStartUserLoginMigrationUc,\n\tToggleUserLoginMigrationUc,\n\tUserLoginMigrationUc,\n} from './uc';\nimport { UserLoginMigrationModule } from './user-login-migration.module';\n\n@Module({\n\timports: [\n\t\tUserLoginMigrationModule,\n\t\tOauthModule,\n\t\tProvisioningModule,\n\t\tAuthenticationModule,\n\t\tAuthorizationModule,\n\t\tLoggerModule,\n\t\tLegacySchoolModule,\n\t],\n\tproviders: [\n\t\tUserLoginMigrationUc,\n\t\tStartUserLoginMigrationUc,\n\t\tRestartUserLoginMigrationUc,\n\t\tToggleUserLoginMigrationUc,\n\t\tCloseUserLoginMigrationUc,\n\t],\n\tcontrollers: [UserLoginMigrationController],\n})\nexport class UserLoginMigrationApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/UserLoginMigrationController.html":{"url":"controllers/UserLoginMigrationController.html","title":"controller - UserLoginMigrationController","body":"\n \n\n\n\n\n\n\n Controllers\n UserLoginMigrationController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/controller/user-login-migration.controller.ts\n \n\n \n Prefix\n \n \n user-login-migrations\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n closeMigration\n \n \n \n \n \n \n Async\n findUserLoginMigrationBySchool\n \n \n \n \n \n \n \n Async\n getMigrations\n \n \n \n \n \n Async\n migrateUserLogin\n \n \n \n \n \n \n \n \n Async\n restartMigration\n \n \n \n \n \n \n \n \n \n Async\n setMigrationMandatory\n \n \n \n \n \n \n \n Async\n startMigration\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n closeMigration\n \n \n \n \n \n \n \n closeMigration(currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Post('close')@HttpCode(HttpStatus.OK)@ApiUnprocessableEntityResponse({description: 'User login migration is already closed and cannot be modified. Restart is possible.', type: UserLoginMigrationAlreadyClosedLoggableException})@ApiUnprocessableEntityResponse({description: 'User login migration is already closed and cannot be modified. It cannot be restarted.', type: UserLoginMigrationGracePeriodExpiredLoggableException})@ApiNotFoundResponse({description: 'User login migration does not exist', type: UserLoginMigrationNotFoundLoggableException})@ApiOkResponse({description: 'User login migration closed', type: UserLoginMigrationResponse})@ApiUnauthorizedResponse()@ApiForbiddenResponse()@ApiNoContentResponse({description: 'User login migration was reverted'})\n \n \n\n \n \n Defined in apps/server/src/modules/user-login-migration/controller/user-login-migration.controller.ts:201\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findUserLoginMigrationBySchool\n \n \n \n \n \n \n \n findUserLoginMigrationBySchool(user: ICurrentUser, params: SchoolIdParams)\n \n \n\n \n \n Decorators : \n \n @Get('schools/:schoolId')@ApiForbiddenResponse()@ApiOkResponse({description: 'UserLoginMigrations has been found', type: UserLoginMigrationResponse})@ApiNotFoundResponse({description: 'Cannot find UserLoginMigration'})\n \n \n\n \n \n Defined in apps/server/src/modules/user-login-migration/controller/user-login-migration.controller.ts:89\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n SchoolIdParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getMigrations\n \n \n \n \n \n \n \n getMigrations(user: ICurrentUser, params: UserLoginMigrationSearchParams)\n \n \n\n \n \n Decorators : \n \n @Get()@ApiForbiddenResponse()@ApiOperation({summary: 'Get UserLoginMigrations', description: 'Currently there can only be one migration for a user. Therefore only one migration is returned.'})@ApiOkResponse({description: 'UserLoginMigrations has been found.', type: UserLoginMigrationSearchListResponse})@ApiInternalServerErrorResponse({description: 'Cannot find target system information.'})\n \n \n\n \n \n Defined in apps/server/src/modules/user-login-migration/controller/user-login-migration.controller.ts:59\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n params\n \n UserLoginMigrationSearchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n migrateUserLogin\n \n \n \n \n \n \n \n migrateUserLogin(jwt: string, currentUser: ICurrentUser, body: Oauth2MigrationParams)\n \n \n\n \n \n Decorators : \n \n @Post('migrate-to-oauth2')@ApiOkResponse({description: 'The User has been successfully migrated.', status: 200})@ApiInternalServerErrorResponse({description: 'The migration of the User was not possible.'})\n \n \n\n \n \n Defined in apps/server/src/modules/user-login-migration/controller/user-login-migration.controller.ts:218\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n jwt\n \n string\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n body\n \n Oauth2MigrationParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n restartMigration\n \n \n \n \n \n \n \n restartMigration(currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Put('restart')@ApiNotFoundResponse({description: 'User login migration was not found', type: UserLoginMigrationNotFoundLoggableException})@ApiUnprocessableEntityResponse({description: 'Grace period for changing the user login migration is expired', type: UserLoginMigrationGracePeriodExpiredLoggableException})@ApiOkResponse({description: 'User login migration started', type: UserLoginMigrationResponse})@ApiUnauthorizedResponse()@ApiForbiddenResponse()\n \n \n\n \n \n Defined in apps/server/src/modules/user-login-migration/controller/user-login-migration.controller.ts:139\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n setMigrationMandatory\n \n \n \n \n \n \n \n setMigrationMandatory(currentUser: ICurrentUser, body: UserLoginMigrationMandatoryParams)\n \n \n\n \n \n Decorators : \n \n @Put('mandatory')@ApiNotFoundResponse({description: 'User login migration was not found', type: UserLoginMigrationNotFoundLoggableException})@ApiUnprocessableEntityResponse({description: 'Grace period for changing the user login migration is expired', type: UserLoginMigrationGracePeriodExpiredLoggableException})@ApiUnprocessableEntityResponse({description: 'User login migration is already closed and cannot be modified', type: UserLoginMigrationAlreadyClosedLoggableException})@ApiOkResponse({description: 'User login migration is set mandatory/optional', type: UserLoginMigrationResponse})@ApiUnauthorizedResponse()@ApiForbiddenResponse()\n \n \n\n \n \n Defined in apps/server/src/modules/user-login-migration/controller/user-login-migration.controller.ts:167\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n body\n \n UserLoginMigrationMandatoryParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n startMigration\n \n \n \n \n \n \n \n startMigration(currentUser: ICurrentUser)\n \n \n\n \n \n Decorators : \n \n @Post('start')@ApiUnprocessableEntityResponse({description: 'User login migration is already closed and cannot be modified', type: UserLoginMigrationAlreadyClosedLoggableException})@ApiUnprocessableEntityResponse({description: 'School has no official school number', type: SchoolNumberMissingLoggableException})@ApiOkResponse({description: 'User login migration started', type: UserLoginMigrationResponse})@ApiForbiddenResponse()\n \n \n\n \n \n Defined in apps/server/src/modules/user-login-migration/controller/user-login-migration.controller.ts:115\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser, JWT } from '@modules/authentication';\nimport { Body, Controller, Get, HttpCode, HttpStatus, Param, Post, Put, Query } from '@nestjs/common';\nimport {\n\tApiForbiddenResponse,\n\tApiInternalServerErrorResponse,\n\tApiNoContentResponse,\n\tApiNotFoundResponse,\n\tApiOkResponse,\n\tApiOperation,\n\tApiTags,\n\tApiUnauthorizedResponse,\n\tApiUnprocessableEntityResponse,\n} from '@nestjs/swagger';\nimport { Page, UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport {\n\tSchoolNumberMissingLoggableException,\n\tUserLoginMigrationAlreadyClosedLoggableException,\n\tUserLoginMigrationGracePeriodExpiredLoggableException,\n\tUserLoginMigrationNotFoundLoggableException,\n} from '../loggable';\nimport { UserLoginMigrationMapper } from '../mapper';\nimport {\n\tCloseUserLoginMigrationUc,\n\tRestartUserLoginMigrationUc,\n\tStartUserLoginMigrationUc,\n\tToggleUserLoginMigrationUc,\n\tUserLoginMigrationQuery,\n\tUserLoginMigrationUc,\n} from '../uc';\nimport {\n\tUserLoginMigrationResponse,\n\tUserLoginMigrationSearchListResponse,\n\tUserLoginMigrationSearchParams,\n} from './dto';\nimport { Oauth2MigrationParams } from './dto/oauth2-migration.params';\nimport { SchoolIdParams } from './dto/request/school-id.params';\nimport { UserLoginMigrationMandatoryParams } from './dto/request/user-login-migration-mandatory.params';\n\n@ApiTags('UserLoginMigration')\n@Controller('user-login-migrations')\n@Authenticate('jwt')\nexport class UserLoginMigrationController {\n\tconstructor(\n\t\tprivate readonly userLoginMigrationUc: UserLoginMigrationUc,\n\t\tprivate readonly startUserLoginMigrationUc: StartUserLoginMigrationUc,\n\t\tprivate readonly restartUserLoginMigrationUc: RestartUserLoginMigrationUc,\n\t\tprivate readonly toggleUserLoginMigrationUc: ToggleUserLoginMigrationUc,\n\t\tprivate readonly closeUserLoginMigrationUc: CloseUserLoginMigrationUc\n\t) {}\n\n\t@Get()\n\t@ApiForbiddenResponse()\n\t@ApiOperation({\n\t\tsummary: 'Get UserLoginMigrations',\n\t\tdescription: 'Currently there can only be one migration for a user. Therefore only one migration is returned.',\n\t})\n\t@ApiOkResponse({ description: 'UserLoginMigrations has been found.', type: UserLoginMigrationSearchListResponse })\n\t@ApiInternalServerErrorResponse({ description: 'Cannot find target system information.' })\n\tasync getMigrations(\n\t\t@CurrentUser() user: ICurrentUser,\n\t\t@Query() params: UserLoginMigrationSearchParams\n\t): Promise {\n\t\tconst userLoginMigrationQuery: UserLoginMigrationQuery = UserLoginMigrationMapper.mapSearchParamsToQuery(params);\n\n\t\tconst migrationPage: Page = await this.userLoginMigrationUc.getMigrations(\n\t\t\tuser.userId,\n\t\t\tuserLoginMigrationQuery\n\t\t);\n\n\t\tconst migrationResponses: UserLoginMigrationResponse[] = migrationPage.data.map(\n\t\t\t(userLoginMigration: UserLoginMigrationDO) =>\n\t\t\t\tUserLoginMigrationMapper.mapUserLoginMigrationDoToResponse(userLoginMigration)\n\t\t);\n\n\t\tconst response: UserLoginMigrationSearchListResponse = new UserLoginMigrationSearchListResponse(\n\t\t\tmigrationResponses,\n\t\t\tmigrationPage.total,\n\t\t\tundefined,\n\t\t\tundefined\n\t\t);\n\n\t\treturn response;\n\t}\n\n\t@Get('schools/:schoolId')\n\t@ApiForbiddenResponse()\n\t@ApiOkResponse({ description: 'UserLoginMigrations has been found', type: UserLoginMigrationResponse })\n\t@ApiNotFoundResponse({ description: 'Cannot find UserLoginMigration' })\n\tasync findUserLoginMigrationBySchool(\n\t\t@CurrentUser() user: ICurrentUser,\n\t\t@Param() params: SchoolIdParams\n\t): Promise {\n\t\tconst userLoginMigration: UserLoginMigrationDO = await this.userLoginMigrationUc.findUserLoginMigrationBySchool(\n\t\t\tuser.userId,\n\t\t\tparams.schoolId\n\t\t);\n\n\t\tconst response: UserLoginMigrationResponse =\n\t\t\tUserLoginMigrationMapper.mapUserLoginMigrationDoToResponse(userLoginMigration);\n\n\t\treturn response;\n\t}\n\n\t@Post('start')\n\t@ApiUnprocessableEntityResponse({\n\t\tdescription: 'User login migration is already closed and cannot be modified',\n\t\ttype: UserLoginMigrationAlreadyClosedLoggableException,\n\t})\n\t@ApiUnprocessableEntityResponse({\n\t\tdescription: 'School has no official school number',\n\t\ttype: SchoolNumberMissingLoggableException,\n\t})\n\t@ApiOkResponse({ description: 'User login migration started', type: UserLoginMigrationResponse })\n\t@ApiForbiddenResponse()\n\tasync startMigration(@CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst migrationDto: UserLoginMigrationDO = await this.startUserLoginMigrationUc.startMigration(\n\t\t\tcurrentUser.userId,\n\t\t\tcurrentUser.schoolId\n\t\t);\n\n\t\tconst migrationResponse: UserLoginMigrationResponse =\n\t\t\tUserLoginMigrationMapper.mapUserLoginMigrationDoToResponse(migrationDto);\n\n\t\treturn migrationResponse;\n\t}\n\n\t@Put('restart')\n\t@ApiNotFoundResponse({\n\t\tdescription: 'User login migration was not found',\n\t\ttype: UserLoginMigrationNotFoundLoggableException,\n\t})\n\t@ApiUnprocessableEntityResponse({\n\t\tdescription: 'Grace period for changing the user login migration is expired',\n\t\ttype: UserLoginMigrationGracePeriodExpiredLoggableException,\n\t})\n\t@ApiOkResponse({ description: 'User login migration started', type: UserLoginMigrationResponse })\n\t@ApiUnauthorizedResponse()\n\t@ApiForbiddenResponse()\n\tasync restartMigration(@CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst migrationDto: UserLoginMigrationDO = await this.restartUserLoginMigrationUc.restartMigration(\n\t\t\tcurrentUser.userId,\n\t\t\tcurrentUser.schoolId\n\t\t);\n\n\t\tconst migrationResponse: UserLoginMigrationResponse =\n\t\t\tUserLoginMigrationMapper.mapUserLoginMigrationDoToResponse(migrationDto);\n\n\t\treturn migrationResponse;\n\t}\n\n\t@Put('mandatory')\n\t@ApiNotFoundResponse({\n\t\tdescription: 'User login migration was not found',\n\t\ttype: UserLoginMigrationNotFoundLoggableException,\n\t})\n\t@ApiUnprocessableEntityResponse({\n\t\tdescription: 'Grace period for changing the user login migration is expired',\n\t\ttype: UserLoginMigrationGracePeriodExpiredLoggableException,\n\t})\n\t@ApiUnprocessableEntityResponse({\n\t\tdescription: 'User login migration is already closed and cannot be modified',\n\t\ttype: UserLoginMigrationAlreadyClosedLoggableException,\n\t})\n\t@ApiOkResponse({ description: 'User login migration is set mandatory/optional', type: UserLoginMigrationResponse })\n\t@ApiUnauthorizedResponse()\n\t@ApiForbiddenResponse()\n\tasync setMigrationMandatory(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() body: UserLoginMigrationMandatoryParams\n\t): Promise {\n\t\tconst migrationDto: UserLoginMigrationDO = await this.toggleUserLoginMigrationUc.setMigrationMandatory(\n\t\t\tcurrentUser.userId,\n\t\t\tcurrentUser.schoolId,\n\t\t\tbody.mandatory\n\t\t);\n\n\t\tconst migrationResponse: UserLoginMigrationResponse =\n\t\t\tUserLoginMigrationMapper.mapUserLoginMigrationDoToResponse(migrationDto);\n\n\t\treturn migrationResponse;\n\t}\n\n\t@Post('close')\n\t@HttpCode(HttpStatus.OK)\n\t@ApiUnprocessableEntityResponse({\n\t\tdescription: 'User login migration is already closed and cannot be modified. Restart is possible.',\n\t\ttype: UserLoginMigrationAlreadyClosedLoggableException,\n\t})\n\t@ApiUnprocessableEntityResponse({\n\t\tdescription: 'User login migration is already closed and cannot be modified. It cannot be restarted.',\n\t\ttype: UserLoginMigrationGracePeriodExpiredLoggableException,\n\t})\n\t@ApiNotFoundResponse({\n\t\tdescription: 'User login migration does not exist',\n\t\ttype: UserLoginMigrationNotFoundLoggableException,\n\t})\n\t@ApiOkResponse({ description: 'User login migration closed', type: UserLoginMigrationResponse })\n\t@ApiUnauthorizedResponse()\n\t@ApiForbiddenResponse()\n\t@ApiNoContentResponse({ description: 'User login migration was reverted' })\n\tasync closeMigration(@CurrentUser() currentUser: ICurrentUser): Promise {\n\t\tconst userLoginMigration: UserLoginMigrationDO | undefined = await this.closeUserLoginMigrationUc.closeMigration(\n\t\t\tcurrentUser.userId,\n\t\t\tcurrentUser.schoolId\n\t\t);\n\n\t\tif (userLoginMigration) {\n\t\t\tconst migrationResponse: UserLoginMigrationResponse =\n\t\t\t\tUserLoginMigrationMapper.mapUserLoginMigrationDoToResponse(userLoginMigration);\n\t\t\treturn migrationResponse;\n\t\t}\n\t\treturn undefined;\n\t}\n\n\t@Post('migrate-to-oauth2')\n\t@ApiOkResponse({ description: 'The User has been successfully migrated.', status: 200 })\n\t@ApiInternalServerErrorResponse({ description: 'The migration of the User was not possible.' })\n\tasync migrateUserLogin(\n\t\t@JWT() jwt: string,\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Body() body: Oauth2MigrationParams\n\t): Promise {\n\t\tawait this.userLoginMigrationUc.migrate(jwt, currentUser.userId, body.systemId, body.code, body.redirectUri);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserLoginMigrationDO.html":{"url":"classes/UserLoginMigrationDO.html","title":"class - UserLoginMigrationDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationDO\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/user-login-migration.do.ts\n \n\n\n\n \n Extends\n \n \n BaseDO\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n closedAt\n \n \n Optional\n finishedAt\n \n \n Optional\n mandatorySince\n \n \n schoolId\n \n \n Optional\n sourceSystemId\n \n \n startedAt\n \n \n targetSystemId\n \n \n Optional\n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: UserLoginMigrationDO)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user-login-migration.do.ts:17\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n UserLoginMigrationDO\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n closedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user-login-migration.do.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n finishedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user-login-migration.do.ts:17\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n mandatorySince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user-login-migration.do.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n schoolId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user-login-migration.do.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n sourceSystemId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user-login-migration.do.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n startedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user-login-migration.do.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n targetSystemId\n \n \n \n \n \n \n Type : EntityId\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/user-login-migration.do.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from BaseDO\n\n \n \n \n \n Defined in BaseDO:5\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '../types';\nimport { BaseDO } from './base.do';\n\nexport class UserLoginMigrationDO extends BaseDO {\n\tschoolId: EntityId;\n\n\tsourceSystemId?: EntityId;\n\n\ttargetSystemId: EntityId;\n\n\tmandatorySince?: Date;\n\n\tstartedAt: Date;\n\n\tclosedAt?: Date;\n\n\tfinishedAt?: Date;\n\n\tconstructor(props: UserLoginMigrationDO) {\n\t\tsuper(props.id);\n\t\tthis.schoolId = props.schoolId;\n\t\tthis.sourceSystemId = props.sourceSystemId;\n\t\tthis.targetSystemId = props.targetSystemId;\n\t\tthis.mandatorySince = props.mandatorySince;\n\t\tthis.startedAt = props.startedAt;\n\t\tthis.closedAt = props.closedAt;\n\t\tthis.finishedAt = props.finishedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/UserLoginMigrationEntity.html":{"url":"entities/UserLoginMigrationEntity.html","title":"entity - UserLoginMigrationEntity","body":"\n \n\n\n\n\n\n\n\n Entities\n UserLoginMigrationEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/user-login-migration.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n closedAt\n \n \n \n Optional\n finishedAt\n \n \n \n Optional\n mandatorySince\n \n \n \n school\n \n \n \n Optional\n sourceSystem\n \n \n \n startedAt\n \n \n \n targetSystem\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n closedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user-login-migration.entity.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n finishedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user-login-migration.entity.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n mandatorySince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property({nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user-login-migration.entity.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n Type : SchoolEntity\n\n \n \n \n \n Decorators : \n \n \n @OneToOne(undefined, school => school.userLoginMigration, {nullable: false, owner: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user-login-migration.entity.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n sourceSystem\n \n \n \n \n \n \n Type : SystemEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined, {nullable: true})\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user-login-migration.entity.ts:15\n \n \n\n\n \n \n \n \n \n \n \n \n \n startedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user-login-migration.entity.ts:24\n \n \n\n\n \n \n \n \n \n \n \n \n \n targetSystem\n \n \n \n \n \n \n Type : SystemEntity\n\n \n \n \n \n Decorators : \n \n \n @ManyToOne(undefined)\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user-login-migration.entity.ts:18\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, ManyToOne, OneToOne, Property } from '@mikro-orm/core';\nimport { SchoolEntity } from '@shared/domain/entity/school.entity';\nimport { SystemEntity } from '@shared/domain/entity/system.entity';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport type IUserLoginMigration = Readonly>;\n\n@Entity({ tableName: 'user-login-migrations' })\nexport class UserLoginMigrationEntity extends BaseEntityWithTimestamps {\n\t@OneToOne(() => SchoolEntity, (school) => school.userLoginMigration, { nullable: false, owner: true })\n\tschool: SchoolEntity;\n\n\t// undefined, if migrating from 'local'\n\t@ManyToOne(() => SystemEntity, { nullable: true })\n\tsourceSystem?: SystemEntity;\n\n\t@ManyToOne(() => SystemEntity)\n\ttargetSystem: SystemEntity;\n\n\t@Property({ nullable: true })\n\tmandatorySince?: Date;\n\n\t@Property()\n\tstartedAt: Date;\n\n\t@Property({ nullable: true })\n\tclosedAt?: Date;\n\n\t@Property({ nullable: true })\n\tfinishedAt?: Date;\n\n\tconstructor(props: IUserLoginMigration) {\n\t\tsuper();\n\t\tthis.school = props.school;\n\t\tthis.sourceSystem = props.sourceSystem;\n\t\tthis.targetSystem = props.targetSystem;\n\t\tthis.mandatorySince = props.mandatorySince;\n\t\tthis.startedAt = props.startedAt;\n\t\tthis.closedAt = props.closedAt;\n\t\tthis.finishedAt = props.finishedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html":{"url":"classes/UserLoginMigrationGracePeriodExpiredLoggableException.html","title":"class - UserLoginMigrationGracePeriodExpiredLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationGracePeriodExpiredLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/user-login-migration-grace-period-expired-loggable.exception.ts\n \n\n\n\n \n Extends\n \n \n UnprocessableEntityException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userLoginMigrationId: EntityId, finishedAt: Date)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-login-migration-grace-period-expired-loggable.exception.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigrationId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n finishedAt\n \n \n Date\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-login-migration-grace-period-expired-loggable.exception.ts:13\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UnprocessableEntityException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class UserLoginMigrationGracePeriodExpiredLoggableException\n\textends UnprocessableEntityException\n\timplements Loggable\n{\n\tconstructor(private readonly userLoginMigrationId: EntityId, private readonly finishedAt: Date) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'USER_LOGIN_MIGRATION_GRACE_PERIOD_EXPIRED',\n\t\t\tmessage: 'The grace period after finishing the user login migration has expired. It cannot be restarted.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tuserLoginMigrationId: this.userLoginMigrationId,\n\t\t\t\tfinishedAt: this.finishedAt.toISOString(),\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserLoginMigrationMandatoryLoggable.html":{"url":"classes/UserLoginMigrationMandatoryLoggable.html","title":"class - UserLoginMigrationMandatoryLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationMandatoryLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/user-login-migration-mandatory.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userId: EntityId, userLoginMigrationId: EntityId | undefined, mandatory: boolean)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-login-migration-mandatory.loggable.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n userLoginMigrationId\n \n \n EntityId | undefined\n \n \n \n No\n \n \n \n \n mandatory\n \n \n boolean\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-login-migration-mandatory.loggable.ts:11\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class UserLoginMigrationMandatoryLoggable implements Loggable {\n\tconstructor(\n\t\tprivate readonly userId: EntityId,\n\t\tprivate readonly userLoginMigrationId: EntityId | undefined,\n\t\tprivate readonly mandatory: boolean\n\t) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'The school administrator changed the requirement status of the user login migration for his school.',\n\t\t\tdata: {\n\t\t\t\tuserId: this.userId,\n\t\t\t\tuserLoginMigrationId: this.userLoginMigrationId,\n\t\t\t\tmandatory: this.mandatory,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserLoginMigrationMandatoryParams.html":{"url":"classes/UserLoginMigrationMandatoryParams.html","title":"class - UserLoginMigrationMandatoryParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationMandatoryParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/controller/dto/request/user-login-migration-mandatory.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n mandatory\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n mandatory\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @IsBoolean()@ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/request/user-login-migration-mandatory.params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { IsBoolean } from 'class-validator';\n\nexport class UserLoginMigrationMandatoryParams {\n\t@IsBoolean()\n\t@ApiProperty()\n\tmandatory!: boolean;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserLoginMigrationMapper.html":{"url":"classes/UserLoginMigrationMapper.html","title":"class - UserLoginMigrationMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/mapper/user-login-migration.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapSearchParamsToQuery\n \n \n Static\n mapUserLoginMigrationDoToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapSearchParamsToQuery\n \n \n \n \n \n \n \n mapSearchParamsToQuery(searchParams: UserLoginMigrationSearchParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/mapper/user-login-migration.mapper.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n searchParams\n \n UserLoginMigrationSearchParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserLoginMigrationQuery\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapUserLoginMigrationDoToResponse\n \n \n \n \n \n \n \n mapUserLoginMigrationDoToResponse(domainObject: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/mapper/user-login-migration.mapper.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserLoginMigrationResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { UserLoginMigrationResponse, UserLoginMigrationSearchParams } from '../controller/dto';\nimport { UserLoginMigrationQuery } from '../uc';\n\nexport class UserLoginMigrationMapper {\n\tstatic mapSearchParamsToQuery(searchParams: UserLoginMigrationSearchParams): UserLoginMigrationQuery {\n\t\tconst query: UserLoginMigrationQuery = {\n\t\t\tuserId: searchParams.userId,\n\t\t};\n\n\t\treturn query;\n\t}\n\n\tstatic mapUserLoginMigrationDoToResponse(domainObject: UserLoginMigrationDO): UserLoginMigrationResponse {\n\t\tconst response: UserLoginMigrationResponse = new UserLoginMigrationResponse({\n\t\t\tid: domainObject.id as string,\n\t\t\tsourceSystemId: domainObject.sourceSystemId,\n\t\t\ttargetSystemId: domainObject.targetSystemId,\n\t\t\tstartedAt: domainObject.startedAt,\n\t\t\tclosedAt: domainObject.closedAt,\n\t\t\tfinishedAt: domainObject.finishedAt,\n\t\t\tmandatorySince: domainObject.mandatorySince,\n\t\t});\n\n\t\treturn response;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/UserLoginMigrationModule.html":{"url":"modules/UserLoginMigrationModule.html","title":"module - UserLoginMigrationModule","body":"\n \n\n\n\n\n Modules\n UserLoginMigrationModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_UserLoginMigrationModule\n\n\n\ncluster_UserLoginMigrationModule_exports\n\n\n\ncluster_UserLoginMigrationModule_providers\n\n\n\ncluster_UserLoginMigrationModule_imports\n\n\n\n\nAccountModule\n\nAccountModule\n\n\n\nUserLoginMigrationModule\n\nUserLoginMigrationModule\n\nUserLoginMigrationModule -->\n\nAccountModule->UserLoginMigrationModule\n\n\n\n\n\nLegacySchoolModule\n\nLegacySchoolModule\n\nUserLoginMigrationModule -->\n\nLegacySchoolModule->UserLoginMigrationModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nUserLoginMigrationModule -->\n\nLoggerModule->UserLoginMigrationModule\n\n\n\n\n\nSystemModule\n\nSystemModule\n\nUserLoginMigrationModule -->\n\nSystemModule->UserLoginMigrationModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nUserLoginMigrationModule -->\n\nUserModule->UserLoginMigrationModule\n\n\n\n\n\nMigrationCheckService \n\nMigrationCheckService \n\nMigrationCheckService -->\n\nUserLoginMigrationModule->MigrationCheckService \n\n\n\n\n\nSchoolMigrationService \n\nSchoolMigrationService \n\nSchoolMigrationService -->\n\nUserLoginMigrationModule->SchoolMigrationService \n\n\n\n\n\nUserLoginMigrationRevertService \n\nUserLoginMigrationRevertService \n\nUserLoginMigrationRevertService -->\n\nUserLoginMigrationModule->UserLoginMigrationRevertService \n\n\n\n\n\nUserLoginMigrationService \n\nUserLoginMigrationService \n\nUserLoginMigrationService -->\n\nUserLoginMigrationModule->UserLoginMigrationService \n\n\n\n\n\nUserMigrationService \n\nUserMigrationService \n\nUserMigrationService -->\n\nUserLoginMigrationModule->UserMigrationService \n\n\n\n\n\nMigrationCheckService\n\nMigrationCheckService\n\nUserLoginMigrationModule -->\n\nMigrationCheckService->UserLoginMigrationModule\n\n\n\n\n\nSchoolMigrationService\n\nSchoolMigrationService\n\nUserLoginMigrationModule -->\n\nSchoolMigrationService->UserLoginMigrationModule\n\n\n\n\n\nUserLoginMigrationRepo\n\nUserLoginMigrationRepo\n\nUserLoginMigrationModule -->\n\nUserLoginMigrationRepo->UserLoginMigrationModule\n\n\n\n\n\nUserLoginMigrationRevertService\n\nUserLoginMigrationRevertService\n\nUserLoginMigrationModule -->\n\nUserLoginMigrationRevertService->UserLoginMigrationModule\n\n\n\n\n\nUserLoginMigrationService\n\nUserLoginMigrationService\n\nUserLoginMigrationModule -->\n\nUserLoginMigrationService->UserLoginMigrationModule\n\n\n\n\n\nUserMigrationService\n\nUserMigrationService\n\nUserLoginMigrationModule -->\n\nUserMigrationService->UserLoginMigrationModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/user-login-migration/user-login-migration.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n MigrationCheckService\n \n \n SchoolMigrationService\n \n \n UserLoginMigrationRepo\n \n \n UserLoginMigrationRevertService\n \n \n UserLoginMigrationService\n \n \n UserMigrationService\n \n \n \n \n Imports\n \n \n AccountModule\n \n \n LegacySchoolModule\n \n \n LoggerModule\n \n \n SystemModule\n \n \n UserModule\n \n \n \n \n Exports\n \n \n MigrationCheckService\n \n \n SchoolMigrationService\n \n \n UserLoginMigrationRevertService\n \n \n UserLoginMigrationService\n \n \n UserMigrationService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { UserLoginMigrationRepo } from '@shared/repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { AccountModule } from '@modules/account';\nimport { LegacySchoolModule } from '@modules/legacy-school';\nimport { SystemModule } from '@modules/system';\nimport { UserModule } from '@modules/user';\nimport {\n\tMigrationCheckService,\n\tSchoolMigrationService,\n\tUserLoginMigrationRevertService,\n\tUserLoginMigrationService,\n\tUserMigrationService,\n} from './service';\n\n@Module({\n\timports: [UserModule, LegacySchoolModule, LoggerModule, AccountModule, SystemModule],\n\tproviders: [\n\t\tUserMigrationService,\n\t\tSchoolMigrationService,\n\t\tMigrationCheckService,\n\t\tUserLoginMigrationService,\n\t\tUserLoginMigrationRepo,\n\t\tUserLoginMigrationRevertService,\n\t],\n\texports: [\n\t\tUserMigrationService,\n\t\tSchoolMigrationService,\n\t\tMigrationCheckService,\n\t\tUserLoginMigrationService,\n\t\tUserLoginMigrationRevertService,\n\t],\n})\nexport class UserLoginMigrationModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserLoginMigrationNotFoundLoggableException.html":{"url":"classes/UserLoginMigrationNotFoundLoggableException.html","title":"class - UserLoginMigrationNotFoundLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationNotFoundLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/user-login-migration-not-found.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n NotFoundException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(schoolId: EntityId, userLoginMigrationId?: EntityId)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-login-migration-not-found.loggable-exception.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n userLoginMigrationId\n \n \n EntityId\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-login-migration-not-found.loggable-exception.ts:10\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { NotFoundException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class UserLoginMigrationNotFoundLoggableException extends NotFoundException implements Loggable {\n\tconstructor(private readonly schoolId: EntityId, private readonly userLoginMigrationId?: EntityId) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'USER_LOGIN_MIGRATION_NOT_FOUND',\n\t\t\tmessage: 'Cannot find requested user login migration for school.',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tschoolId: this.schoolId,\n\t\t\t\tuserLoginMigrationId: this.userLoginMigrationId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UserLoginMigrationQuery.html":{"url":"interfaces/UserLoginMigrationQuery.html","title":"interface - UserLoginMigrationQuery","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UserLoginMigrationQuery\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/uc/dto/user-login-migration-query.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n userId\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n userId\n \n \n \n \n \n \n \n \n userId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n\n\n \n export interface UserLoginMigrationQuery {\n\tuserId?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UserLoginMigrationRepo.html":{"url":"injectables/UserLoginMigrationRepo.html","title":"injectable - UserLoginMigrationRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n UserLoginMigrationRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/userloginmigration/user-login-migration.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseDORepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findBySchoolId\n \n \n mapDOToEntityProperties\n \n \n mapEntityToDO\n \n \n Private\n Async\n createOrUpdateEntity\n \n \n Async\n delete\n \n \n Async\n deleteById\n \n \n Async\n findById\n \n \n Private\n removeProtectedEntityFields\n \n \n Async\n save\n \n \n Async\n saveAll\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(_em: EntityManager, logger: LegacyLogger)\n \n \n \n \n Defined in apps/server/src/shared/repo/userloginmigration/user-login-migration.repo.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n _em\n \n \n EntityManager\n \n \n \n No\n \n \n \n \n logger\n \n \n LegacyLogger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findBySchoolId\n \n \n \n \n \n \n \n findBySchoolId(schoolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/userloginmigration/user-login-migration.repo.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapDOToEntityProperties\n \n \n \n \n \n \nmapDOToEntityProperties(entityDO: UserLoginMigrationDO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:49\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : EntityData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n mapEntityToDO\n \n \n \n \n \n \nmapEntityToDO(entity: UserLoginMigrationEntity)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:34\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n UserLoginMigrationEntity\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserLoginMigrationDO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createOrUpdateEntity\n \n \n \n \n \n \n \n createOrUpdateEntity(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:32\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(domainObjects: DO[] | DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:61\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[] | DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteById\n \n \n \n \n \n \n [object Object],[object Object],[object Object]\n \n \n \n \n \n deleteById(id: EntityId | EntityId[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:78\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:90\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeProtectedEntityFields\n \n \n \n \n \n \n \n removeProtectedEntityFields(entityData: EntityData)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:98\n\n \n \n\n\n \n \n Ignore base entity properties when updating entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityData\n \n EntityData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAll\n \n \n \n \n \n \n \n saveAll(domainObjects: DO[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/userloginmigration/user-login-migration.repo.ts:17\n \n \n\n \n \n\n \n\n\n \n import { EntityData, EntityName } from '@mikro-orm/core';\nimport { EntityManager } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { SchoolEntity, SystemEntity } from '@shared/domain/entity';\nimport { UserLoginMigrationEntity } from '@shared/domain/entity/user-login-migration.entity';\nimport { EntityId } from '@shared/domain/types';\nimport { LegacyLogger } from '@src/core/logger';\nimport { BaseDORepo } from '../base.do.repo';\n\n@Injectable()\nexport class UserLoginMigrationRepo extends BaseDORepo {\n\tconstructor(protected readonly _em: EntityManager, protected readonly logger: LegacyLogger) {\n\t\tsuper(_em, logger);\n\t}\n\n\tget entityName(): EntityName {\n\t\treturn UserLoginMigrationEntity;\n\t}\n\n\tasync findBySchoolId(schoolId: EntityId): Promise {\n\t\tconst userLoginMigration: UserLoginMigrationEntity | null = await this._em.findOne(UserLoginMigrationEntity, {\n\t\t\tschool: schoolId,\n\t\t});\n\n\t\tif (userLoginMigration) {\n\t\t\tconst userLoginMigrationDO = this.mapEntityToDO(userLoginMigration);\n\t\t\treturn userLoginMigrationDO;\n\t\t}\n\n\t\treturn null;\n\t}\n\n\tmapEntityToDO(entity: UserLoginMigrationEntity): UserLoginMigrationDO {\n\t\tconst userLoginMigrationDO: UserLoginMigrationDO = new UserLoginMigrationDO({\n\t\t\tid: entity.id,\n\t\t\tschoolId: entity.school.id,\n\t\t\tsourceSystemId: entity.sourceSystem?.id,\n\t\t\ttargetSystemId: entity.targetSystem.id,\n\t\t\tmandatorySince: entity.mandatorySince,\n\t\t\tstartedAt: entity.startedAt,\n\t\t\tclosedAt: entity.closedAt,\n\t\t\tfinishedAt: entity.finishedAt,\n\t\t});\n\n\t\treturn userLoginMigrationDO;\n\t}\n\n\tmapDOToEntityProperties(entityDO: UserLoginMigrationDO): EntityData {\n\t\tconst userLoginMigrationProps: EntityData = {\n\t\t\tschool: this._em.getReference(SchoolEntity, entityDO.schoolId),\n\t\t\tsourceSystem: entityDO.sourceSystemId ? this._em.getReference(SystemEntity, entityDO.sourceSystemId) : undefined,\n\t\t\ttargetSystem: this._em.getReference(SystemEntity, entityDO.targetSystemId),\n\t\t\tmandatorySince: entityDO.mandatorySince,\n\t\t\tstartedAt: entityDO.startedAt,\n\t\t\tclosedAt: entityDO.closedAt,\n\t\t\tfinishedAt: entityDO.finishedAt,\n\t\t};\n\n\t\treturn userLoginMigrationProps;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserLoginMigrationResponse.html":{"url":"classes/UserLoginMigrationResponse.html","title":"class - UserLoginMigrationResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n closedAt\n \n \n \n Optional\n finishedAt\n \n \n \n id\n \n \n \n Optional\n mandatorySince\n \n \n \n Optional\n sourceSystemId\n \n \n \n startedAt\n \n \n \n targetSystemId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: UserLoginMigrationResponse)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration.response.ts:35\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n UserLoginMigrationResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n closedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Date when the migration was completed'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration.response.ts:30\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n finishedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Date when the migration was completed including the grace period'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration.response.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty()\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration.response.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n mandatorySince\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Date when the migration was marked as required'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration.response.ts:20\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n sourceSystemId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'Id of the system which is the origin of the migration'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration.response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n \n startedAt\n \n \n \n \n \n \n Type : Date\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Date when the migration was started'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration.response.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n targetSystemId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Id of the system which is the target of the migration'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration.response.ts:15\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\n\nexport class UserLoginMigrationResponse {\n\t@ApiProperty()\n\tid: string;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Id of the system which is the origin of the migration',\n\t})\n\tsourceSystemId?: string;\n\n\t@ApiProperty({\n\t\tdescription: 'Id of the system which is the target of the migration',\n\t})\n\ttargetSystemId: string;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Date when the migration was marked as required',\n\t})\n\tmandatorySince?: Date;\n\n\t@ApiProperty({\n\t\tdescription: 'Date when the migration was started',\n\t})\n\tstartedAt: Date;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Date when the migration was completed',\n\t})\n\tclosedAt?: Date;\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'Date when the migration was completed including the grace period',\n\t})\n\tfinishedAt?: Date;\n\n\tconstructor(props: UserLoginMigrationResponse) {\n\t\tthis.id = props.id;\n\t\tthis.sourceSystemId = props.sourceSystemId;\n\t\tthis.targetSystemId = props.targetSystemId;\n\t\tthis.mandatorySince = props.mandatorySince;\n\t\tthis.startedAt = props.startedAt;\n\t\tthis.closedAt = props.closedAt;\n\t\tthis.finishedAt = props.finishedAt;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UserLoginMigrationRevertService.html":{"url":"injectables/UserLoginMigrationRevertService.html","title":"injectable - UserLoginMigrationRevertService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n UserLoginMigrationRevertService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/service/user-login-migration-revert.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n revertUserLoginMigration\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userLoginMigrationService: UserLoginMigrationService, schoolService: LegacySchoolService)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration-revert.service.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigrationService\n \n \n UserLoginMigrationService\n \n \n \n No\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n revertUserLoginMigration\n \n \n \n \n \n \n \n revertUserLoginMigration(userLoginMigration: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration-revert.service.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigration\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { LegacySchoolService } from '@modules/legacy-school';\nimport { Injectable } from '@nestjs/common';\nimport { UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { SchoolFeatures } from '@shared/domain/entity';\nimport { UserLoginMigrationService } from './user-login-migration.service';\n\n@Injectable()\nexport class UserLoginMigrationRevertService {\n\tconstructor(\n\t\tprivate readonly userLoginMigrationService: UserLoginMigrationService,\n\t\tprivate readonly schoolService: LegacySchoolService\n\t) {}\n\n\tasync revertUserLoginMigration(userLoginMigration: UserLoginMigrationDO): Promise {\n\t\tawait this.schoolService.removeFeature(userLoginMigration.schoolId, SchoolFeatures.OAUTH_PROVISIONING_ENABLED);\n\t\tawait this.userLoginMigrationService.deleteUserLoginMigration(userLoginMigration);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UserLoginMigrationRule.html":{"url":"injectables/UserLoginMigrationRule.html","title":"injectable - UserLoginMigrationRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n UserLoginMigrationRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/user-login-migration.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/user-login-migration.rule.ts:8\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, entity: UserLoginMigrationDO, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/user-login-migration.rule.ts:17\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, entity: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/user-login-migration.rule.ts:11\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\n\n@Injectable()\nexport class UserLoginMigrationRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper) {}\n\n\tpublic isApplicable(user: User, entity: UserLoginMigrationDO): boolean {\n\t\tconst isMatched: boolean = entity instanceof UserLoginMigrationDO;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, entity: UserLoginMigrationDO, context: AuthorizationContext): boolean {\n\t\tconst hasPermission: boolean =\n\t\t\tthis.authorizationHelper.hasAllPermissions(user, context.requiredPermissions) &&\n\t\t\tuser.school.id === entity.schoolId;\n\n\t\treturn hasPermission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserLoginMigrationSearchListResponse.html":{"url":"classes/UserLoginMigrationSearchListResponse.html","title":"class - UserLoginMigrationSearchListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationSearchListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration-search-list.response.ts\n \n\n\n\n \n Extends\n \n \n PaginationResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: UserLoginMigrationResponse[], total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/response/user-login-migration-search-list.response.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n UserLoginMigrationResponse[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : UserLoginMigrationResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:7\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:14\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { PaginationResponse } from '@shared/controller';\nimport { ApiProperty } from '@nestjs/swagger';\nimport { UserLoginMigrationResponse } from './user-login-migration.response';\n\nexport class UserLoginMigrationSearchListResponse extends PaginationResponse {\n\t@ApiProperty({ type: [UserLoginMigrationResponse] })\n\tdata: UserLoginMigrationResponse[];\n\n\tconstructor(data: UserLoginMigrationResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserLoginMigrationSearchParams.html":{"url":"classes/UserLoginMigrationSearchParams.html","title":"class - UserLoginMigrationSearchParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationSearchParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/controller/dto/request/user-login-migration-search.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n userId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()@IsString()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/controller/dto/request/user-login-migration-search.params.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsOptional, IsString } from 'class-validator';\n\nexport class UserLoginMigrationSearchParams {\n\t@ApiPropertyOptional()\n\t@IsString()\n\t@IsOptional()\n\tuserId?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UserLoginMigrationService.html":{"url":"injectables/UserLoginMigrationService.html","title":"injectable - UserLoginMigrationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n UserLoginMigrationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkGracePeriod\n \n \n Public\n Async\n closeMigration\n \n \n Private\n Async\n createNewMigration\n \n \n Public\n Async\n deleteUserLoginMigration\n \n \n Private\n enableOauthMigrationFeature\n \n \n Public\n Async\n findMigrationBySchool\n \n \n Public\n Async\n findMigrationByUser\n \n \n Private\n isGracePeriodExpired\n \n \n Public\n Async\n restartMigration\n \n \n Public\n Async\n setMigrationMandatory\n \n \n Public\n Async\n startMigration\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userService: UserService, userLoginMigrationRepo: UserLoginMigrationRepo, schoolService: LegacySchoolService, systemService: LegacySystemService)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:16\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n userLoginMigrationRepo\n \n \n UserLoginMigrationRepo\n \n \n \n No\n \n \n \n \n schoolService\n \n \n LegacySchoolService\n \n \n \n No\n \n \n \n \n systemService\n \n \n LegacySystemService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkGracePeriod\n \n \n \n \n \n \n \n checkGracePeriod(userLoginMigration: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:96\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigration\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n closeMigration\n \n \n \n \n \n \n \n closeMigration(userLoginMigration: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigration\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createNewMigration\n \n \n \n \n \n \n \n createNewMigration(school: LegacySchoolDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:112\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n school\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n deleteUserLoginMigration\n \n \n \n \n \n \n \n deleteUserLoginMigration(userLoginMigration: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:168\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigration\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n enableOauthMigrationFeature\n \n \n \n \n \n \n \n enableOauthMigrationFeature(schoolDo: LegacySchoolDo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:134\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolDo\n \n LegacySchoolDo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findMigrationBySchool\n \n \n \n \n \n \n \n findMigrationBySchool(schoolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:142\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findMigrationByUser\n \n \n \n \n \n \n \n findMigrationByUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:148\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n isGracePeriodExpired\n \n \n \n \n \n \n \n isGracePeriodExpired(userLoginMigration: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:105\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigration\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n restartMigration\n \n \n \n \n \n \n \n restartMigration(userLoginMigration: UserLoginMigrationDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:37\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigration\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n setMigrationMandatory\n \n \n \n \n \n \n \n setMigrationMandatory(userLoginMigration: UserLoginMigrationDO, mandatory: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:52\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userLoginMigration\n \n UserLoginMigrationDO\n \n\n \n No\n \n\n\n \n \n mandatory\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n startMigration\n \n \n \n \n \n \n \n startMigration(schoolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-login-migration.service.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { LegacySchoolService } from '@modules/legacy-school';\nimport { LegacySystemService, SystemDto } from '@modules/system';\nimport { UserService } from '@modules/user';\nimport { Injectable, InternalServerErrorException } from '@nestjs/common';\nimport { LegacySchoolDo, UserDO, UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { SchoolFeatures } from '@shared/domain/entity';\nimport { EntityId, SystemTypeEnum } from '@shared/domain/types';\nimport { UserLoginMigrationRepo } from '@shared/repo';\nimport {\n\tUserLoginMigrationAlreadyClosedLoggableException,\n\tUserLoginMigrationGracePeriodExpiredLoggableException,\n} from '../loggable';\n\n@Injectable()\nexport class UserLoginMigrationService {\n\tconstructor(\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly userLoginMigrationRepo: UserLoginMigrationRepo,\n\t\tprivate readonly schoolService: LegacySchoolService,\n\t\tprivate readonly systemService: LegacySystemService\n\t) {}\n\n\tpublic async startMigration(schoolId: string): Promise {\n\t\tconst schoolDo: LegacySchoolDo = await this.schoolService.getSchoolById(schoolId);\n\n\t\tconst userLoginMigrationDO: UserLoginMigrationDO = await this.createNewMigration(schoolDo);\n\n\t\tthis.enableOauthMigrationFeature(schoolDo);\n\t\tawait this.schoolService.save(schoolDo);\n\n\t\tconst userLoginMigration: UserLoginMigrationDO = await this.userLoginMigrationRepo.save(userLoginMigrationDO);\n\n\t\treturn userLoginMigration;\n\t}\n\n\tpublic async restartMigration(userLoginMigration: UserLoginMigrationDO): Promise {\n\t\tthis.checkGracePeriod(userLoginMigration);\n\n\t\tif (!userLoginMigration.closedAt || !userLoginMigration.finishedAt) {\n\t\t\treturn userLoginMigration;\n\t\t}\n\n\t\tuserLoginMigration.closedAt = undefined;\n\t\tuserLoginMigration.finishedAt = undefined;\n\n\t\tconst updatedUserLoginMigration: UserLoginMigrationDO = await this.userLoginMigrationRepo.save(userLoginMigration);\n\n\t\treturn updatedUserLoginMigration;\n\t}\n\n\tpublic async setMigrationMandatory(\n\t\tuserLoginMigration: UserLoginMigrationDO,\n\t\tmandatory: boolean\n\t): Promise {\n\t\tthis.checkGracePeriod(userLoginMigration);\n\n\t\tif (userLoginMigration.closedAt) {\n\t\t\tthrow new UserLoginMigrationAlreadyClosedLoggableException(userLoginMigration.closedAt, userLoginMigration.id);\n\t\t}\n\n\t\tif (mandatory) {\n\t\t\tuserLoginMigration.mandatorySince = userLoginMigration.mandatorySince ?? new Date();\n\t\t} else {\n\t\t\tuserLoginMigration.mandatorySince = undefined;\n\t\t}\n\n\t\tuserLoginMigration = await this.userLoginMigrationRepo.save(userLoginMigration);\n\n\t\treturn userLoginMigration;\n\t}\n\n\tpublic async closeMigration(userLoginMigration: UserLoginMigrationDO): Promise {\n\t\tthis.checkGracePeriod(userLoginMigration);\n\n\t\tif (userLoginMigration.closedAt) {\n\t\t\treturn userLoginMigration;\n\t\t}\n\n\t\tawait this.schoolService.removeFeature(\n\t\t\tuserLoginMigration.schoolId,\n\t\t\tSchoolFeatures.ENABLE_LDAP_SYNC_DURING_MIGRATION\n\t\t);\n\n\t\tconst now: Date = new Date();\n\t\tconst gracePeriodDuration: number = Configuration.get('MIGRATION_END_GRACE_PERIOD_MS') as number;\n\n\t\tuserLoginMigration.closedAt = now;\n\t\tuserLoginMigration.finishedAt = new Date(now.getTime() + gracePeriodDuration);\n\n\t\tuserLoginMigration = await this.userLoginMigrationRepo.save(userLoginMigration);\n\n\t\treturn userLoginMigration;\n\t}\n\n\tprivate checkGracePeriod(userLoginMigration: UserLoginMigrationDO) {\n\t\tif (userLoginMigration.finishedAt && this.isGracePeriodExpired(userLoginMigration)) {\n\t\t\tthrow new UserLoginMigrationGracePeriodExpiredLoggableException(\n\t\t\t\tuserLoginMigration.id as string,\n\t\t\t\tuserLoginMigration.finishedAt\n\t\t\t);\n\t\t}\n\t}\n\n\tprivate isGracePeriodExpired(userLoginMigration: UserLoginMigrationDO): boolean {\n\t\tconst isGracePeriodExpired: boolean =\n\t\t\t!!userLoginMigration.finishedAt && Date.now() >= userLoginMigration.finishedAt.getTime();\n\n\t\treturn isGracePeriodExpired;\n\t}\n\n\tprivate async createNewMigration(school: LegacySchoolDo): Promise {\n\t\tconst oauthSystems: SystemDto[] = await this.systemService.findByType(SystemTypeEnum.OAUTH);\n\t\tconst sanisSystem: SystemDto | undefined = oauthSystems.find((system: SystemDto) => system.alias === 'SANIS');\n\n\t\tif (!sanisSystem) {\n\t\t\tthrow new InternalServerErrorException('Cannot find SANIS system');\n\t\t}\n\n\t\tconst systemIds: EntityId[] =\n\t\t\tschool.systems?.filter((systemId: EntityId) => systemId !== (sanisSystem.id as string)) || [];\n\t\tconst sourceSystemId = systemIds[0];\n\n\t\tconst userLoginMigrationDO: UserLoginMigrationDO = new UserLoginMigrationDO({\n\t\t\tschoolId: school.id as string,\n\t\t\ttargetSystemId: sanisSystem.id as string,\n\t\t\tsourceSystemId,\n\t\t\tstartedAt: new Date(),\n\t\t});\n\n\t\treturn userLoginMigrationDO;\n\t}\n\n\tprivate enableOauthMigrationFeature(schoolDo: LegacySchoolDo) {\n\t\tif (schoolDo.features && !schoolDo.features.includes(SchoolFeatures.OAUTH_PROVISIONING_ENABLED)) {\n\t\t\tschoolDo.features.push(SchoolFeatures.OAUTH_PROVISIONING_ENABLED);\n\t\t} else {\n\t\t\tschoolDo.features = [SchoolFeatures.OAUTH_PROVISIONING_ENABLED];\n\t\t}\n\t}\n\n\tpublic async findMigrationBySchool(schoolId: string): Promise {\n\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationRepo.findBySchoolId(schoolId);\n\n\t\treturn userLoginMigration;\n\t}\n\n\tpublic async findMigrationByUser(userId: EntityId): Promise {\n\t\tconst userDO: UserDO = await this.userService.findById(userId);\n\t\tconst { schoolId } = userDO;\n\n\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.findMigrationBySchool(schoolId);\n\n\t\tif (!userLoginMigration) {\n\t\t\treturn null;\n\t\t}\n\n\t\tconst hasUserMigrated: boolean =\n\t\t\t!!userDO.lastLoginSystemChange && userDO.lastLoginSystemChange > userLoginMigration.startedAt;\n\n\t\tif (hasUserMigrated) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn userLoginMigration;\n\t}\n\n\tpublic async deleteUserLoginMigration(userLoginMigration: UserLoginMigrationDO): Promise {\n\t\tawait this.userLoginMigrationRepo.delete(userLoginMigration);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserLoginMigrationStartLoggable.html":{"url":"classes/UserLoginMigrationStartLoggable.html","title":"class - UserLoginMigrationStartLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserLoginMigrationStartLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/user-login-migration-start.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userId: EntityId, userLoginMigrationId: EntityId | undefined)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-login-migration-start.loggable.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n userLoginMigrationId\n \n \n EntityId | undefined\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-login-migration-start.loggable.ts:7\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class UserLoginMigrationStartLoggable implements Loggable {\n\tconstructor(private readonly userId: EntityId, private readonly userLoginMigrationId: EntityId | undefined) {}\n\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'The school administrator started the migration for his school.',\n\t\t\tdata: {\n\t\t\t\tuserId: this.userId,\n\t\t\t\tuserLoginMigrationId: this.userLoginMigrationId,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UserLoginMigrationUc.html":{"url":"injectables/UserLoginMigrationUc.html","title":"injectable - UserLoginMigrationUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n UserLoginMigrationUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/uc/user-login-migration.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findUserLoginMigrationBySchool\n \n \n Async\n getMigrations\n \n \n Async\n migrate\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userMigrationService: UserMigrationService, userLoginMigrationService: UserLoginMigrationService, oauthService: OAuthService, provisioningService: ProvisioningService, schoolMigrationService: SchoolMigrationService, authenticationService: AuthenticationService, authorizationService: AuthorizationService, logger: Logger)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/uc/user-login-migration.uc.ts:23\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userMigrationService\n \n \n UserMigrationService\n \n \n \n No\n \n \n \n \n userLoginMigrationService\n \n \n UserLoginMigrationService\n \n \n \n No\n \n \n \n \n oauthService\n \n \n OAuthService\n \n \n \n No\n \n \n \n \n provisioningService\n \n \n ProvisioningService\n \n \n \n No\n \n \n \n \n schoolMigrationService\n \n \n SchoolMigrationService\n \n \n \n No\n \n \n \n \n authenticationService\n \n \n AuthenticationService\n \n \n \n No\n \n \n \n \n authorizationService\n \n \n AuthorizationService\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findUserLoginMigrationBySchool\n \n \n \n \n \n \n \n findUserLoginMigrationBySchool(userId: EntityId, schoolId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/uc/user-login-migration.uc.ts:55\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n schoolId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getMigrations\n \n \n \n \n \n \n \n getMigrations(userId: EntityId, query: UserLoginMigrationQuery)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/uc/user-login-migration.uc.ts:35\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n query\n \n UserLoginMigrationQuery\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n migrate\n \n \n \n \n \n \n \n migrate(userJwt: string, currentUserId: EntityId, targetSystemId: EntityId, code: string, redirectUri: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/uc/user-login-migration.uc.ts:73\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userJwt\n \n string\n \n\n \n No\n \n\n\n \n \n currentUserId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n targetSystemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n code\n \n string\n \n\n \n No\n \n\n\n \n \n redirectUri\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AuthenticationService } from '@modules/authentication';\nimport { Action, AuthorizationService } from '@modules/authorization';\nimport { OAuthService, OAuthTokenDto } from '@modules/oauth';\nimport { OauthDataDto, ProvisioningService } from '@modules/provisioning';\nimport { ForbiddenException, Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { LegacySchoolDo, Page, UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { User } from '@shared/domain/entity';\nimport { Permission } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { Logger } from '@src/core/logger';\nimport {\n\tExternalSchoolNumberMissingLoggableException,\n\tInvalidUserLoginMigrationLoggableException,\n\tSchoolMigrationSuccessfulLoggable,\n\tUserMigrationStartedLoggable,\n\tUserMigrationSuccessfulLoggable,\n} from '../loggable';\nimport { SchoolMigrationService, UserLoginMigrationService, UserMigrationService } from '../service';\nimport { UserLoginMigrationQuery } from './dto';\n\n@Injectable()\nexport class UserLoginMigrationUc {\n\tconstructor(\n\t\tprivate readonly userMigrationService: UserMigrationService,\n\t\tprivate readonly userLoginMigrationService: UserLoginMigrationService,\n\t\tprivate readonly oauthService: OAuthService,\n\t\tprivate readonly provisioningService: ProvisioningService,\n\t\tprivate readonly schoolMigrationService: SchoolMigrationService,\n\t\tprivate readonly authenticationService: AuthenticationService,\n\t\tprivate readonly authorizationService: AuthorizationService,\n\t\tprivate readonly logger: Logger\n\t) {}\n\n\tasync getMigrations(userId: EntityId, query: UserLoginMigrationQuery): Promise> {\n\t\tlet page = new Page([], 0);\n\n\t\tif (query.userId) {\n\t\t\tif (userId !== query.userId) {\n\t\t\t\tthrow new ForbiddenException('Accessing migration status of another user is forbidden.');\n\t\t\t}\n\n\t\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationService.findMigrationByUser(\n\t\t\t\tquery.userId\n\t\t\t);\n\n\t\t\tif (userLoginMigration) {\n\t\t\t\tpage = new Page([userLoginMigration], 1);\n\t\t\t}\n\t\t}\n\n\t\treturn page;\n\t}\n\n\tasync findUserLoginMigrationBySchool(userId: EntityId, schoolId: EntityId): Promise {\n\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationService.findMigrationBySchool(\n\t\t\tschoolId\n\t\t);\n\n\t\tif (!userLoginMigration) {\n\t\t\tthrow new NotFoundLoggableException('UserLoginMigration', 'schoolId', schoolId);\n\t\t}\n\n\t\tconst user: User = await this.authorizationService.getUserWithPermissions(userId);\n\t\tthis.authorizationService.checkPermission(user, userLoginMigration, {\n\t\t\trequiredPermissions: [Permission.USER_LOGIN_MIGRATION_ADMIN],\n\t\t\taction: Action.read,\n\t\t});\n\n\t\treturn userLoginMigration;\n\t}\n\n\tasync migrate(\n\t\tuserJwt: string,\n\t\tcurrentUserId: EntityId,\n\t\ttargetSystemId: EntityId,\n\t\tcode: string,\n\t\tredirectUri: string\n\t): Promise {\n\t\tconst userLoginMigration: UserLoginMigrationDO | null = await this.userLoginMigrationService.findMigrationByUser(\n\t\t\tcurrentUserId\n\t\t);\n\n\t\tif (!userLoginMigration || userLoginMigration.closedAt || userLoginMigration.targetSystemId !== targetSystemId) {\n\t\t\tthrow new InvalidUserLoginMigrationLoggableException(currentUserId, targetSystemId);\n\t\t}\n\n\t\tconst tokenDto: OAuthTokenDto = await this.oauthService.authenticateUser(targetSystemId, redirectUri, code);\n\n\t\tthis.logger.debug(new UserMigrationStartedLoggable(currentUserId, userLoginMigration));\n\n\t\tconst data: OauthDataDto = await this.provisioningService.getData(\n\t\t\ttargetSystemId,\n\t\t\ttokenDto.idToken,\n\t\t\ttokenDto.accessToken\n\t\t);\n\n\t\tif (data.externalSchool) {\n\t\t\tif (!data.externalSchool.officialSchoolNumber) {\n\t\t\t\tthrow new ExternalSchoolNumberMissingLoggableException(data.externalSchool.externalId);\n\t\t\t}\n\n\t\t\tconst schoolToMigrate: LegacySchoolDo | null = await this.schoolMigrationService.getSchoolForMigration(\n\t\t\t\tcurrentUserId,\n\t\t\t\tdata.externalSchool.externalId,\n\t\t\t\tdata.externalSchool.officialSchoolNumber\n\t\t\t);\n\n\t\t\tif (schoolToMigrate) {\n\t\t\t\tawait this.schoolMigrationService.migrateSchool(\n\t\t\t\t\tschoolToMigrate,\n\t\t\t\t\tdata.externalSchool.externalId,\n\t\t\t\t\ttargetSystemId\n\t\t\t\t);\n\n\t\t\t\tthis.logger.debug(new SchoolMigrationSuccessfulLoggable(schoolToMigrate, userLoginMigration));\n\t\t\t}\n\t\t}\n\n\t\tawait this.userMigrationService.migrateUser(currentUserId, data.externalUser.externalId, targetSystemId);\n\n\t\tthis.logger.debug(new UserMigrationSuccessfulLoggable(currentUserId, userLoginMigration));\n\n\t\tawait this.authenticationService.removeJwtFromWhitelist(userJwt);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserMapper.html":{"url":"classes/UserMapper.html","title":"class - UserMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user/mapper/user.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapFromEntityToDto\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapFromEntityToDto\n \n \n \n \n \n \n \n mapFromEntityToDto(entity: User)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/mapper/user.mapper.ts:5\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserDto\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UserDto } from '@modules/user/uc/dto/user.dto';\nimport { Role, User } from '@shared/domain/entity';\n\nexport class UserMapper {\n\tstatic mapFromEntityToDto(entity: User): UserDto {\n\t\treturn new UserDto({\n\t\t\tid: entity.id,\n\t\t\temail: entity.email,\n\t\t\tfirstName: entity.firstName,\n\t\t\tlastName: entity.lastName,\n\t\t\tschoolId: entity.school.id,\n\t\t\troleIds: entity.roles.getItems().map((role: Role) => role.id),\n\t\t\tldapDn: entity.ldapDn,\n\t\t\texternalId: entity.externalId,\n\t\t\tlanguage: entity.language,\n\t\t\tforcePasswordChange: entity.forcePasswordChange,\n\t\t\tpreferences: entity.preferences,\n\t\t\tlastLoginSystemChange: entity.lastLoginSystemChange,\n\t\t\toutdatedSince: entity.outdatedSince,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserMatchListResponse.html":{"url":"classes/UserMatchListResponse.html","title":"class - UserMatchListResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserMatchListResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/controller/dto/user-match.response.ts\n \n\n\n\n \n Extends\n \n \n PaginationResponse\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n Optional\n limit\n \n \n \n Optional\n skip\n \n \n \n total\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(data: UserMatchResponse[], total: number, skip?: number, limit?: number)\n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/user-match.response.ts:44\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n data\n \n \n UserMatchResponse[]\n \n \n \n No\n \n \n \n \n total\n \n \n number\n \n \n \n No\n \n \n \n \n skip\n \n \n number\n \n \n \n Yes\n \n \n \n \n limit\n \n \n number\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n Type : UserMatchResponse[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({type: undefined})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:51\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n limit\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The page size of the response.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:20\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n skip\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The amount of items skipped from the start.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:17\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n total\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The total amount of items.', type: 'number'})\n \n \n \n \n \n Inherited from PaginationResponse\n\n \n \n \n \n Defined in PaginationResponse:14\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { PaginationResponse } from '@shared/controller';\nimport { IsMongoId } from 'class-validator';\nimport { MatchType } from './match-type';\nimport { UserRole } from './user-role';\n\nexport class UserMatchResponse {\n\tconstructor(props: UserMatchResponse) {\n\t\tthis.userId = props.userId;\n\t\tthis.loginName = props.loginName;\n\t\tthis.firstName = props.firstName;\n\t\tthis.lastName = props.lastName;\n\t\tthis.roleNames = props.roleNames;\n\t\tif (props.matchedBy != null) this.matchedBy = props.matchedBy;\n\t}\n\n\t@IsMongoId()\n\t@ApiProperty({ description: 'local user id' })\n\tuserId: string;\n\n\t@ApiProperty({ description: 'login name of local user' })\n\tloginName: string;\n\n\t@ApiProperty({ description: 'firstname of local user' })\n\tfirstName: string;\n\n\t@ApiProperty({ description: 'lastname of local user' })\n\tlastName: string;\n\n\t@ApiProperty({\n\t\tdescription: 'list of user roles from external system: student, teacher, admin',\n\t\tenum: UserRole,\n\t\tisArray: true,\n\t})\n\troleNames: UserRole[];\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'match type: admin (manual) or auto (set, when names match exactly for a single user',\n\t\tenum: MatchType,\n\t})\n\tmatchedBy?: MatchType;\n}\n\nexport class UserMatchListResponse extends PaginationResponse {\n\tconstructor(data: UserMatchResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [UserMatchResponse] })\n\tdata: UserMatchResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserMatchMapper.html":{"url":"classes/UserMatchMapper.html","title":"class - UserMatchMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserMatchMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/mapper/user-match.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToDomain\n \n \n Static\n mapToResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToDomain\n \n \n \n \n \n \n \n mapToDomain(query: FilterUserParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/mapper/user-match.mapper.ts:9\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterUserParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : NameMatch\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToResponse\n \n \n \n \n \n \n \n mapToResponse(user: User, matchCreator?: MatchCreator)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/mapper/user-match.mapper.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n matchCreator\n \n MatchCreator\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : UserMatchResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { StringValidator } from '@shared/common';\nimport { MatchCreator, User } from '@shared/domain/entity';\nimport { NameMatch } from '@shared/domain/types';\nimport { UserMatchResponse, UserRole } from '../controller/dto';\nimport { FilterUserParams } from '../controller/dto/filter-user.params';\nimport { ImportUserMatchMapper } from './match.mapper';\n\nexport class UserMatchMapper {\n\tstatic mapToDomain(query: FilterUserParams): NameMatch {\n\t\tconst scope: NameMatch = {};\n\t\tif (query.name) {\n\t\t\tif (StringValidator.isNotEmptyString(query.name, true)) {\n\t\t\t\tscope.name = query.name;\n\t\t\t} else {\n\t\t\t\tthrow Error('invalid name from query');\n\t\t\t}\n\t\t}\n\t\treturn scope;\n\t}\n\n\tstatic mapToResponse(user: User, matchCreator?: MatchCreator): UserMatchResponse {\n\t\tconst domainRoles = user.roles.getItems(true);\n\t\tconst domainRoleNames = domainRoles.map((role) => role.name);\n\t\tconst roleNames: UserRole[] = domainRoleNames\n\t\t\t.map((roleName) => {\n\t\t\t\tswitch (roleName) {\n\t\t\t\t\tcase 'teacher':\n\t\t\t\t\t\treturn UserRole.TEACHER;\n\t\t\t\t\tcase 'administrator':\n\t\t\t\t\t\treturn UserRole.ADMIN;\n\t\t\t\t\tcase 'student':\n\t\t\t\t\t\treturn UserRole.STUDENT;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t})\n\t\t\t.filter((roleName) => roleName != null) as UserRole[];\n\t\tconst dto = new UserMatchResponse({\n\t\t\tuserId: user.id,\n\t\t\tfirstName: user.firstName,\n\t\t\tlastName: user.lastName,\n\t\t\tloginName: user.email,\n\t\t\troleNames,\n\t\t});\n\t\tif (matchCreator != null) {\n\t\t\tconst matchedBy = ImportUserMatchMapper.mapMatchCreatorToResponse(matchCreator);\n\t\t\tdto.matchedBy = matchedBy;\n\t\t}\n\t\treturn dto;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserMatchResponse.html":{"url":"classes/UserMatchResponse.html","title":"class - UserMatchResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserMatchResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/controller/dto/user-match.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n firstName\n \n \n \n lastName\n \n \n \n loginName\n \n \n \n Optional\n matchedBy\n \n \n \n roleNames\n \n \n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: UserMatchResponse)\n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/user-match.response.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n UserMatchResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'firstname of local user'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/user-match.response.ts:25\n \n \n\n\n \n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'lastname of local user'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/user-match.response.ts:28\n \n \n\n\n \n \n \n \n \n \n \n \n \n loginName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'login name of local user'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/user-match.response.ts:22\n \n \n\n\n \n \n \n \n \n \n \n \n \n Optional\n matchedBy\n \n \n \n \n \n \n Type : MatchType\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'match type: admin (manual) or auto (set, when names match exactly for a single user', enum: MatchType})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/user-match.response.ts:41\n \n \n\n\n \n \n \n \n \n \n \n \n \n roleNames\n \n \n \n \n \n \n Type : UserRole[]\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'list of user roles from external system: student, teacher, admin', enum: UserRole, isArray: true})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/user-match.response.ts:35\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'local user id'})\n \n \n \n \n \n Defined in apps/server/src/modules/user-import/controller/dto/user-match.response.ts:19\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';\nimport { PaginationResponse } from '@shared/controller';\nimport { IsMongoId } from 'class-validator';\nimport { MatchType } from './match-type';\nimport { UserRole } from './user-role';\n\nexport class UserMatchResponse {\n\tconstructor(props: UserMatchResponse) {\n\t\tthis.userId = props.userId;\n\t\tthis.loginName = props.loginName;\n\t\tthis.firstName = props.firstName;\n\t\tthis.lastName = props.lastName;\n\t\tthis.roleNames = props.roleNames;\n\t\tif (props.matchedBy != null) this.matchedBy = props.matchedBy;\n\t}\n\n\t@IsMongoId()\n\t@ApiProperty({ description: 'local user id' })\n\tuserId: string;\n\n\t@ApiProperty({ description: 'login name of local user' })\n\tloginName: string;\n\n\t@ApiProperty({ description: 'firstname of local user' })\n\tfirstName: string;\n\n\t@ApiProperty({ description: 'lastname of local user' })\n\tlastName: string;\n\n\t@ApiProperty({\n\t\tdescription: 'list of user roles from external system: student, teacher, admin',\n\t\tenum: UserRole,\n\t\tisArray: true,\n\t})\n\troleNames: UserRole[];\n\n\t@ApiPropertyOptional({\n\t\tdescription: 'match type: admin (manual) or auto (set, when names match exactly for a single user',\n\t\tenum: MatchType,\n\t})\n\tmatchedBy?: MatchType;\n}\n\nexport class UserMatchListResponse extends PaginationResponse {\n\tconstructor(data: UserMatchResponse[], total: number, skip?: number, limit?: number) {\n\t\tsuper(total, skip, limit);\n\t\tthis.data = data;\n\t}\n\n\t@ApiProperty({ type: [UserMatchResponse] })\n\tdata: UserMatchResponse[];\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UserMetdata.html":{"url":"interfaces/UserMetdata.html","title":"interface - UserMetdata","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UserMetdata\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/pseudonym/service/feathers-roster.service.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n data\n \n \n \n \n \n \n \n \n data: literal type\n\n \n \n\n\n \n \n Type : literal type\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { CourseService } from '@modules/learnroom/service';\nimport { ToolContextType } from '@modules/tool/common/enum';\nimport { ContextExternalTool, ContextRef } from '@modules/tool/context-external-tool/domain';\nimport { ContextExternalToolService } from '@modules/tool/context-external-tool/service';\nimport { ExternalTool } from '@modules/tool/external-tool/domain';\nimport { ExternalToolService } from '@modules/tool/external-tool/service';\nimport { SchoolExternalTool } from '@modules/tool/school-external-tool/domain';\nimport { SchoolExternalToolService } from '@modules/tool/school-external-tool/service';\nimport { UserService } from '@modules/user';\nimport { Injectable } from '@nestjs/common';\nimport { NotFoundLoggableException } from '@shared/common/loggable-exception';\nimport { Pseudonym, RoleReference, UserDO } from '@shared/domain/domainobject';\nimport { Course } from '@shared/domain/entity';\nimport { RoleName } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { PseudonymService } from './pseudonym.service';\n\ninterface UserMetdata {\n\tdata: {\n\t\tuser_id: string;\n\t\tusername: string;\n\t\ttype: string;\n\t};\n}\n\ninterface UserGroups {\n\tdata: {\n\t\tgroups: UserGroup[];\n\t};\n}\n\ninterface UserGroup {\n\tgroup_id: string;\n\tname: string;\n\tstudent_count: number;\n}\n\ninterface UserData {\n\tuser_id: string;\n\tusername: string;\n}\n\ninterface Group {\n\tdata: {\n\t\tstudents: UserData[];\n\t\tteachers: UserData[];\n\t};\n}\n\n/**\n * Please do not use this service in any other nest modules.\n * This service will be called from feathers to get the roster data for ctl pseudonyms {@link ExternalToolPseudonymEntity}.\n * These data will be used e.g. by bettermarks to resolve and display the usernames.\n */\n@Injectable()\nexport class FeathersRosterService {\n\tconstructor(\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly pseudonymService: PseudonymService,\n\t\tprivate readonly courseService: CourseService,\n\t\tprivate readonly externalToolService: ExternalToolService,\n\t\tprivate readonly schoolExternalToolService: SchoolExternalToolService,\n\t\tprivate readonly contextExternalToolService: ContextExternalToolService\n\t) {}\n\n\tasync getUsersMetadata(pseudonym: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym = await this.findPseudonymByPseudonym(pseudonym);\n\t\tconst user: UserDO = await this.userService.findById(loadedPseudonym.userId);\n\n\t\tconst userMetadata: UserMetdata = {\n\t\t\tdata: {\n\t\t\t\tuser_id: user.id as string,\n\t\t\t\tusername: this.pseudonymService.getIframeSubject(loadedPseudonym.pseudonym),\n\t\t\t\ttype: this.getUserRole(user),\n\t\t\t},\n\t\t};\n\n\t\treturn userMetadata;\n\t}\n\n\tasync getUserGroups(pseudonym: string, oauth2ClientId: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym = await this.findPseudonymByPseudonym(pseudonym);\n\t\tconst externalTool: ExternalTool = await this.validateAndGetExternalTool(oauth2ClientId);\n\n\t\tlet courses: Course[] = await this.getCoursesFromUsersPseudonym(loadedPseudonym);\n\t\tcourses = await this.filterCoursesByToolAvailability(courses, externalTool.id as string);\n\n\t\tconst userGroups: UserGroups = {\n\t\t\tdata: {\n\t\t\t\tgroups: courses.map((course) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tgroup_id: course.id,\n\t\t\t\t\t\tname: course.name,\n\t\t\t\t\t\tstudent_count: course.students.length,\n\t\t\t\t\t};\n\t\t\t\t}),\n\t\t\t},\n\t\t};\n\n\t\treturn userGroups;\n\t}\n\n\tasync getGroup(courseId: EntityId, oauth2ClientId: string): Promise {\n\t\tconst course: Course = await this.courseService.findById(courseId);\n\t\tconst externalTool: ExternalTool = await this.validateAndGetExternalTool(oauth2ClientId);\n\n\t\tawait this.validateSchoolExternalTool(course.school.id, externalTool.id as string);\n\t\tawait this.validateContextExternalTools(courseId);\n\n\t\tconst [studentEntities, teacherEntities, substitutionTeacherEntities] = await Promise.all([\n\t\t\tcourse.students.loadItems(),\n\t\t\tcourse.teachers.loadItems(),\n\t\t\tcourse.substitutionTeachers.loadItems(),\n\t\t]);\n\n\t\tconst [students, teachers, substitutionTeachers] = await Promise.all([\n\t\t\tPromise.all(studentEntities.map((user) => this.userService.findById(user.id))),\n\t\t\tPromise.all(teacherEntities.map((user) => this.userService.findById(user.id))),\n\t\t\tPromise.all(substitutionTeacherEntities.map((user) => this.userService.findById(user.id))),\n\t\t]);\n\n\t\tconst [studentPseudonyms, teacherPseudonyms, substitutionTeacherPseudonyms] = await Promise.all([\n\t\t\tthis.getAndPseudonyms(students, externalTool),\n\t\t\tthis.getAndPseudonyms(teachers, externalTool),\n\t\t\tthis.getAndPseudonyms(substitutionTeachers, externalTool),\n\t\t]);\n\n\t\tconst allTeacherPseudonyms: Pseudonym[] = teacherPseudonyms.concat(substitutionTeacherPseudonyms);\n\n\t\tconst group: Group = {\n\t\t\tdata: {\n\t\t\t\tstudents: studentPseudonyms.map((pseudonym: Pseudonym) => this.mapPseudonymToUserData(pseudonym)),\n\t\t\t\tteachers: allTeacherPseudonyms.map((pseudonym: Pseudonym) => this.mapPseudonymToUserData(pseudonym)),\n\t\t\t},\n\t\t};\n\n\t\treturn group;\n\t}\n\n\tprivate async getAndPseudonyms(users: UserDO[], externalTool: ExternalTool): Promise {\n\t\tconst pseudonyms: Pseudonym[] = await Promise.all(\n\t\t\tusers.map((user: UserDO) => this.pseudonymService.findOrCreatePseudonym(user, externalTool))\n\t\t);\n\n\t\treturn pseudonyms;\n\t}\n\n\tprivate getUserRole(user: UserDO): string {\n\t\tconst roleName = user.roles.some((role: RoleReference) => role.name === RoleName.TEACHER)\n\t\t\t? RoleName.TEACHER\n\t\t\t: RoleName.STUDENT;\n\n\t\treturn roleName;\n\t}\n\n\tprivate async findPseudonymByPseudonym(pseudonym: string): Promise {\n\t\tconst loadedPseudonym: Pseudonym | null = await this.pseudonymService.findPseudonymByPseudonym(pseudonym);\n\n\t\tif (!loadedPseudonym) {\n\t\t\tthrow new NotFoundLoggableException(Pseudonym.name, 'pseudonym', pseudonym);\n\t\t}\n\n\t\treturn loadedPseudonym;\n\t}\n\n\tprivate async getCoursesFromUsersPseudonym(pseudonym: Pseudonym): Promise {\n\t\tconst courses: Course[] = await this.courseService.findAllByUserId(pseudonym.userId);\n\n\t\treturn courses;\n\t}\n\n\tprivate async filterCoursesByToolAvailability(courses: Course[], externalToolId: string): Promise {\n\t\tconst validCourses: Course[] = [];\n\n\t\tawait Promise.all(\n\t\t\tcourses.map(async (course: Course) => {\n\t\t\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolService.findAllByContext(\n\t\t\t\t\tnew ContextRef({\n\t\t\t\t\t\tid: course.id,\n\t\t\t\t\t\ttype: ToolContextType.COURSE,\n\t\t\t\t\t})\n\t\t\t\t);\n\n\t\t\t\tfor await (const contextExternalTool of contextExternalTools) {\n\t\t\t\t\tconst schoolExternalTool: SchoolExternalTool = await this.schoolExternalToolService.findById(\n\t\t\t\t\t\tcontextExternalTool.schoolToolRef.schoolToolId\n\t\t\t\t\t);\n\t\t\t\t\tconst externalTool: ExternalTool = await this.externalToolService.findById(schoolExternalTool.toolId);\n\t\t\t\t\tconst isRequiredTool: boolean = externalTool.id === externalToolId;\n\n\t\t\t\t\tif (isRequiredTool) {\n\t\t\t\t\t\tvalidCourses.push(course);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t})\n\t\t);\n\n\t\treturn validCourses;\n\t}\n\n\tprivate async validateAndGetExternalTool(oauth2ClientId: string): Promise {\n\t\tconst externalTool: ExternalTool | null = await this.externalToolService.findExternalToolByOAuth2ConfigClientId(\n\t\t\toauth2ClientId\n\t\t);\n\n\t\tif (!externalTool || !externalTool.id) {\n\t\t\tthrow new NotFoundLoggableException(ExternalTool.name, 'config.clientId', oauth2ClientId);\n\t\t}\n\n\t\treturn externalTool;\n\t}\n\n\tprivate async validateSchoolExternalTool(schoolId: EntityId, toolId: string): Promise {\n\t\tconst schoolExternalTools: SchoolExternalTool[] = await this.schoolExternalToolService.findSchoolExternalTools({\n\t\t\tschoolId,\n\t\t\ttoolId,\n\t\t});\n\n\t\tif (schoolExternalTools.length === 0) {\n\t\t\tthrow new NotFoundLoggableException(SchoolExternalTool.name, 'toolId', toolId);\n\t\t}\n\t}\n\n\tprivate async validateContextExternalTools(courseId: EntityId): Promise {\n\t\tconst contextExternalTools: ContextExternalTool[] = await this.contextExternalToolService.findAllByContext(\n\t\t\tnew ContextRef({ id: courseId, type: ToolContextType.COURSE })\n\t\t);\n\n\t\tif (contextExternalTools.length === 0) {\n\t\t\tthrow new NotFoundLoggableException(ContextExternalTool.name, 'contextRef.id', courseId);\n\t\t}\n\t}\n\n\tprivate mapPseudonymToUserData(pseudonym: Pseudonym): UserData {\n\t\tconst userData: UserData = {\n\t\t\tuser_id: pseudonym.pseudonym,\n\t\t\tusername: this.pseudonymService.getIframeSubject(pseudonym.pseudonym),\n\t\t};\n\n\t\treturn userData;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserMigrationDatabaseOperationFailedLoggableException.html":{"url":"classes/UserMigrationDatabaseOperationFailedLoggableException.html","title":"class - UserMigrationDatabaseOperationFailedLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserMigrationDatabaseOperationFailedLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/user-migration-database-operation-failed.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n InternalServerErrorException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userId: EntityId, operation: \"migration\" | \"rollback\", error)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-migration-database-operation-failed.loggable-exception.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n operation\n \n \n \"migration\" | \"rollback\"\n \n \n \n No\n \n \n \n \n error\n \n \n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n getLogMessage\n \n \n \n \n \n \n \n getLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/user-migration-database-operation-failed.loggable-exception.ts:14\n \n \n\n\n \n \n\n \n Returns : ErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { InternalServerErrorException } from '@nestjs/common';\nimport { EntityId } from '@shared/domain/types';\nimport { ErrorUtils } from '@src/core/error/utils';\nimport { ErrorLogMessage, Loggable } from '@src/core/logger';\n\nexport class UserMigrationDatabaseOperationFailedLoggableException\n\textends InternalServerErrorException\n\timplements Loggable\n{\n\tconstructor(private readonly userId: EntityId, private readonly operation: 'migration' | 'rollback', error: unknown) {\n\t\tsuper(ErrorUtils.createHttpExceptionOptions(error));\n\t}\n\n\tpublic getLogMessage(): ErrorLogMessage {\n\t\treturn {\n\t\t\ttype: 'USER_LOGIN_MIGRATION_DATABASE_OPERATION_FAILED',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\tuserId: this.userId,\n\t\t\t\toperation: this.operation,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserMigrationIsNotEnabled.html":{"url":"classes/UserMigrationIsNotEnabled.html","title":"class - UserMigrationIsNotEnabled","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserMigrationIsNotEnabled\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-import/loggable/user-migration-not-enable.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-import/loggable/user-migration-not-enable.loggable.ts:4\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\n\nexport class UserMigrationIsNotEnabled implements Loggable {\n\tgetLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: 'Feature flag of user migration may be disable or the school is not an LDAP pilot',\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UserMigrationService.html":{"url":"injectables/UserMigrationService.html","title":"injectable - UserMigrationService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n UserMigrationService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/service/user-migration.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n doMigration\n \n \n Async\n migrateUser\n \n \n Private\n Async\n tryRollbackMigration\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userService: UserService, accountService: AccountService, logger: Logger)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-migration.service.ts:11\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n accountService\n \n \n AccountService\n \n \n \n No\n \n \n \n \n logger\n \n \n Logger\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n doMigration\n \n \n \n \n \n \n \n doMigration(userDO: UserDO, externalUserId: string, account: AccountDto, targetSystemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-migration.service.ts:34\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userDO\n \n UserDO\n \n\n \n No\n \n\n\n \n \n externalUserId\n \n string\n \n\n \n No\n \n\n\n \n \n account\n \n AccountDto\n \n\n \n No\n \n\n\n \n \n targetSystemId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n migrateUser\n \n \n \n \n \n \n \n migrateUser(currentUserId: EntityId, externalUserId: string, targetSystemId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-migration.service.ts:18\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUserId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n externalUserId\n \n string\n \n\n \n No\n \n\n\n \n \n targetSystemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n tryRollbackMigration\n \n \n \n \n \n \n \n tryRollbackMigration(currentUserId: EntityId, userDOCopy: UserDO, accountCopy: AccountDto)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/service/user-migration.service.ts:49\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUserId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n userDOCopy\n \n UserDO\n \n\n \n No\n \n\n\n \n \n accountCopy\n \n AccountDto\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AccountService } from '@modules/account/services/account.service';\nimport { AccountDto } from '@modules/account/services/dto';\nimport { UserService } from '@modules/user';\nimport { Injectable } from '@nestjs/common';\nimport { UserDO } from '@shared/domain/domainobject/user.do';\nimport { EntityId } from '@shared/domain/types';\nimport { Logger } from '@src/core/logger';\nimport { UserMigrationDatabaseOperationFailedLoggableException } from '../loggable';\n\n@Injectable()\nexport class UserMigrationService {\n\tconstructor(\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly accountService: AccountService,\n\t\tprivate readonly logger: Logger\n\t) {}\n\n\tasync migrateUser(currentUserId: EntityId, externalUserId: string, targetSystemId: EntityId): Promise {\n\t\tconst userDO: UserDO = await this.userService.findById(currentUserId);\n\t\tconst account: AccountDto = await this.accountService.findByUserIdOrFail(currentUserId);\n\n\t\tconst userDOCopy: UserDO = new UserDO({ ...userDO });\n\t\tconst accountCopy: AccountDto = new AccountDto({ ...account });\n\n\t\ttry {\n\t\t\tawait this.doMigration(userDO, externalUserId, account, targetSystemId);\n\t\t} catch (error: unknown) {\n\t\t\tawait this.tryRollbackMigration(currentUserId, userDOCopy, accountCopy);\n\n\t\t\tthrow new UserMigrationDatabaseOperationFailedLoggableException(currentUserId, 'migration', error);\n\t\t}\n\t}\n\n\tprivate async doMigration(\n\t\tuserDO: UserDO,\n\t\texternalUserId: string,\n\t\taccount: AccountDto,\n\t\ttargetSystemId: string\n\t): Promise {\n\t\tuserDO.previousExternalId = userDO.externalId;\n\t\tuserDO.externalId = externalUserId;\n\t\tuserDO.lastLoginSystemChange = new Date();\n\t\tawait this.userService.save(userDO);\n\n\t\taccount.systemId = targetSystemId;\n\t\tawait this.accountService.save(account);\n\t}\n\n\tprivate async tryRollbackMigration(\n\t\tcurrentUserId: EntityId,\n\t\tuserDOCopy: UserDO,\n\t\taccountCopy: AccountDto\n\t): Promise {\n\t\ttry {\n\t\t\tawait this.userService.save(userDOCopy);\n\t\t\tawait this.accountService.save(accountCopy);\n\t\t} catch (error: unknown) {\n\t\t\tthis.logger.warning(new UserMigrationDatabaseOperationFailedLoggableException(currentUserId, 'rollback', error));\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserMigrationStartedLoggable.html":{"url":"classes/UserMigrationStartedLoggable.html","title":"class - UserMigrationStartedLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserMigrationStartedLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/debug/user-migration-started.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userId: EntityId, userLoginMigration: UserLoginMigrationDO)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/debug/user-migration-started.loggable.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n userLoginMigration\n \n \n UserLoginMigrationDO\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/debug/user-migration-started.loggable.ts:8\n \n \n\n\n \n \n\n \n Returns : LogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { Loggable, LogMessage } from '@src/core/logger';\n\nexport class UserMigrationStartedLoggable implements Loggable {\n\tconstructor(private readonly userId: EntityId, private readonly userLoginMigration: UserLoginMigrationDO) {}\n\n\tgetLogMessage(): LogMessage {\n\t\treturn {\n\t\t\tmessage: 'A user started the user login migration.',\n\t\t\tdata: {\n\t\t\t\tuserId: this.userId,\n\t\t\t\tuserLoginMigrationId: this.userLoginMigration.id,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserMigrationSuccessfulLoggable.html":{"url":"classes/UserMigrationSuccessfulLoggable.html","title":"class - UserMigrationSuccessfulLoggable","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserMigrationSuccessfulLoggable\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user-login-migration/loggable/debug/user-migration-successful.loggable.ts\n \n\n\n\n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userId: EntityId, userLoginMigration: UserLoginMigrationDO)\n \n \n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/debug/user-migration-successful.loggable.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n userLoginMigration\n \n \n UserLoginMigrationDO\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/modules/user-login-migration/loggable/debug/user-migration-successful.loggable.ts:8\n \n \n\n\n \n \n\n \n Returns : LogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { UserLoginMigrationDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { Loggable, LogMessage } from '@src/core/logger';\n\nexport class UserMigrationSuccessfulLoggable implements Loggable {\n\tconstructor(private readonly userId: EntityId, private readonly userLoginMigration: UserLoginMigrationDO) {}\n\n\tgetLogMessage(): LogMessage {\n\t\treturn {\n\t\t\tmessage: 'A user has successfully migrated.',\n\t\t\tdata: {\n\t\t\t\tuserId: this.userId,\n\t\t\t\tuserLoginMigrationId: this.userLoginMigration.id,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/UserModule.html":{"url":"modules/UserModule.html","title":"module - UserModule","body":"\n \n\n\n\n\n Modules\n UserModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_UserModule\n\n\n\ncluster_UserModule_imports\n\n\n\ncluster_UserModule_exports\n\n\n\ncluster_UserModule_providers\n\n\n\n\nAccountModule\n\nAccountModule\n\n\n\nUserModule\n\nUserModule\n\nUserModule -->\n\nAccountModule->UserModule\n\n\n\n\n\nLegacySchoolModule\n\nLegacySchoolModule\n\nUserModule -->\n\nLegacySchoolModule->UserModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nUserModule -->\n\nLoggerModule->UserModule\n\n\n\n\n\nRoleModule\n\nRoleModule\n\nUserModule -->\n\nRoleModule->UserModule\n\n\n\n\n\nUserRepo \n\nUserRepo \n\nUserRepo -->\n\nUserModule->UserRepo \n\n\n\n\n\nUserService \n\nUserService \n\nUserService -->\n\nUserModule->UserService \n\n\n\n\n\nUserDORepo\n\nUserDORepo\n\nUserModule -->\n\nUserDORepo->UserModule\n\n\n\n\n\nUserRepo\n\nUserRepo\n\nUserModule -->\n\nUserRepo->UserModule\n\n\n\n\n\nUserService\n\nUserService\n\nUserModule -->\n\nUserService->UserModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/user/user.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n UserDORepo\n \n \n UserRepo\n \n \n UserService\n \n \n \n \n Imports\n \n \n AccountModule\n \n \n LegacySchoolModule\n \n \n LoggerModule\n \n \n RoleModule\n \n \n \n \n Exports\n \n \n UserRepo\n \n \n UserService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { UserRepo } from '@shared/repo';\nimport { UserDORepo } from '@shared/repo/user/user-do.repo';\nimport { LoggerModule } from '@src/core/logger';\nimport { AccountModule } from '@modules/account';\nimport { RoleModule } from '@modules/role/role.module';\nimport { LegacySchoolModule } from '@modules/legacy-school';\nimport { UserService } from './service/user.service';\n\n@Module({\n\timports: [LegacySchoolModule, RoleModule, AccountModule, LoggerModule],\n\tproviders: [UserRepo, UserDORepo, UserService],\n\texports: [UserService, UserRepo],\n})\nexport class UserModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserNotFoundAfterProvisioningLoggableException.html":{"url":"classes/UserNotFoundAfterProvisioningLoggableException.html","title":"class - UserNotFoundAfterProvisioningLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserNotFoundAfterProvisioningLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth/loggable/user-not-found-after-provisioning.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n OauthSsoErrorLoggableException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(externalUserId: string, systemId: EntityId, officialSchoolNumber?: string)\n \n \n \n \n Defined in apps/server/src/modules/oauth/loggable/user-not-found-after-provisioning.loggable-exception.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalUserId\n \n \n string\n \n \n \n No\n \n \n \n \n systemId\n \n \n EntityId\n \n \n \n No\n \n \n \n \n officialSchoolNumber\n \n \n string\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \n \n getLogMessage()\n \n \n\n\n \n \n Inherited from OauthSsoErrorLoggableException\n\n \n \n \n \n Defined in OauthSsoErrorLoggableException:17\n\n \n \n\n\n \n \n\n \n Returns : LogMessage | ErrorLogMessage | ValidationErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { EntityId } from '@shared/domain/types';\nimport { ErrorLogMessage, Loggable, LogMessage, ValidationErrorLogMessage } from '@src/core/logger';\nimport { OauthSsoErrorLoggableException } from './oauth-sso-error-loggable-exception';\n\nexport class UserNotFoundAfterProvisioningLoggableException extends OauthSsoErrorLoggableException implements Loggable {\n\tconstructor(\n\t\tprivate readonly externalUserId: string,\n\t\tprivate readonly systemId: EntityId,\n\t\tprivate readonly officialSchoolNumber?: string\n\t) {\n\t\tsuper(\n\t\t\t'Unable to find user after provisioning. The feature for OAuth2 provisioning might be disabled for this school.',\n\t\t\t'sso_user_not_found_after_provisioning'\n\t\t);\n\t}\n\n\toverride getLogMessage(): LogMessage | ErrorLogMessage | ValidationErrorLogMessage {\n\t\treturn {\n\t\t\tmessage: this.message,\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\texternalUserId: this.externalUserId,\n\t\t\t\tsystemId: this.systemId,\n\t\t\t\tofficialSchoolNumber: this.officialSchoolNumber,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserParams.html":{"url":"classes/UserParams.html","title":"class - UserParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/oauth-provider/controller/dto/request/user.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n userId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n userId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @IsMongoId()@ApiProperty({description: 'The user id.', required: true, nullable: false})\n \n \n \n \n \n Defined in apps/server/src/modules/oauth-provider/controller/dto/request/user.params.ts:7\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { IsMongoId } from 'class-validator';\nimport { ApiProperty } from '@nestjs/swagger';\n\nexport class UserParams {\n\t@IsMongoId()\n\t@ApiProperty({ description: 'The user id.', required: true, nullable: false })\n\tuserId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserParentsEntity.html":{"url":"classes/UserParentsEntity.html","title":"class - UserParentsEntity","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserParentsEntity\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/user-parents.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n email\n \n \n \n firstName\n \n \n \n lastName\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(props: UserParentsEntityProps)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user-parents.entity.ts:18\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n props\n \n \n UserParentsEntityProps\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n email\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user-parents.entity.ts:18\n \n \n\n\n \n \n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user-parents.entity.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/user-parents.entity.ts:15\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Embeddable, Property } from '@mikro-orm/core';\n\nexport interface UserParentsEntityProps {\n\tfirstName: string;\n\tlastName: string;\n\temail: string;\n}\n\n@Embeddable()\nexport class UserParentsEntity {\n\t@Property()\n\tfirstName: string;\n\n\t@Property()\n\tlastName: string;\n\n\t@Property()\n\temail: string;\n\n\tconstructor(props: UserParentsEntityProps) {\n\t\tthis.firstName = props.firstName;\n\t\tthis.lastName = props.lastName;\n\t\tthis.email = props.email;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UserParentsEntityProps.html":{"url":"interfaces/UserParentsEntityProps.html","title":"interface - UserParentsEntityProps","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UserParentsEntityProps\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/user-parents.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n email\n \n \n \n \n firstName\n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n email\n \n \n \n \n \n \n \n \n email: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n \n \n firstName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n lastName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Embeddable, Property } from '@mikro-orm/core';\n\nexport interface UserParentsEntityProps {\n\tfirstName: string;\n\tlastName: string;\n\temail: string;\n}\n\n@Embeddable()\nexport class UserParentsEntity {\n\t@Property()\n\tfirstName: string;\n\n\t@Property()\n\tlastName: string;\n\n\t@Property()\n\temail: string;\n\n\tconstructor(props: UserParentsEntityProps) {\n\t\tthis.firstName = props.firstName;\n\t\tthis.lastName = props.lastName;\n\t\tthis.email = props.email;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/UserProperties.html":{"url":"interfaces/UserProperties.html","title":"interface - UserProperties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n UserProperties\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/user.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n \n birthday\n \n \n \n Optional\n \n deletedAt\n \n \n \n \n email\n \n \n \n Optional\n \n externalId\n \n \n \n \n firstName\n \n \n \n Optional\n \n forcePasswordChange\n \n \n \n Optional\n \n language\n \n \n \n Optional\n \n lastLoginSystemChange\n \n \n \n \n lastName\n \n \n \n Optional\n \n ldapDn\n \n \n \n Optional\n \n outdatedSince\n \n \n \n Optional\n \n parents\n \n \n \n Optional\n \n preferences\n \n \n \n Optional\n \n previousExternalId\n \n \n \n \n roles\n \n \n \n \n school\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n birthday\n \n \n \n \n \n \n \n \n birthday: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n deletedAt\n \n \n \n \n \n \n \n \n deletedAt: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n email\n \n \n \n \n \n \n \n \n email: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n externalId\n \n \n \n \n \n \n \n \n externalId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n \n \n firstName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n forcePasswordChange\n \n \n \n \n \n \n \n \n forcePasswordChange: boolean\n\n \n \n\n\n \n \n Type : boolean\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n language\n \n \n \n \n \n \n \n \n language: LanguageType\n\n \n \n\n\n \n \n Type : LanguageType\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n lastLoginSystemChange\n \n \n \n \n \n \n \n \n lastLoginSystemChange: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n \n \n lastName: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n ldapDn\n \n \n \n \n \n \n \n \n ldapDn: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n outdatedSince\n \n \n \n \n \n \n \n \n outdatedSince: Date\n\n \n \n\n\n \n \n Type : Date\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n parents\n \n \n \n \n \n \n \n \n parents: UserParentsEntity[]\n\n \n \n\n\n \n \n Type : UserParentsEntity[]\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n preferences\n \n \n \n \n \n \n \n \n preferences: Record\n\n \n \n\n\n \n \n Type : Record\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n previousExternalId\n \n \n \n \n \n \n \n \n previousExternalId: string\n\n \n \n\n\n \n \n Type : string\n\n \n \n\n \n \n Optional\n \n \n\n\n\n\n \n \n \n \n \n \n \n roles\n \n \n \n \n \n \n \n \n roles: Role[]\n\n \n \n\n\n \n \n Type : Role[]\n\n \n \n\n\n\n\n\n \n \n \n \n \n \n \n school\n \n \n \n \n \n \n \n \n school: SchoolEntity\n\n \n \n\n\n \n \n Type : SchoolEntity\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n import { Collection, Embedded, Entity, Index, ManyToMany, ManyToOne, Property } from '@mikro-orm/core';\nimport { EntityWithSchool } from '../interface';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { Role } from './role.entity';\nimport { SchoolEntity } from './school.entity';\nimport { UserParentsEntity } from './user-parents.entity';\n\nexport enum LanguageType {\n\tDE = 'de',\n\tEN = 'en',\n\tES = 'es',\n\tUK = 'uk',\n}\n\nexport interface UserProperties {\n\temail: string;\n\tfirstName: string;\n\tlastName: string;\n\tschool: SchoolEntity;\n\troles: Role[];\n\tldapDn?: string;\n\texternalId?: string;\n\tlanguage?: LanguageType;\n\tforcePasswordChange?: boolean;\n\tpreferences?: Record;\n\tdeletedAt?: Date;\n\tlastLoginSystemChange?: Date;\n\toutdatedSince?: Date;\n\tpreviousExternalId?: string;\n\tbirthday?: Date;\n\tparents?: UserParentsEntity[];\n}\n\n@Entity({ tableName: 'users' })\n@Index({ properties: ['id', 'email'] })\n@Index({ properties: ['firstName', 'lastName'] })\n@Index({ properties: ['externalId', 'school'] })\n@Index({ properties: ['school', 'ldapDn'] })\n@Index({ properties: ['school', 'roles'] })\nexport class User extends BaseEntityWithTimestamps implements EntityWithSchool {\n\t@Property()\n\t@Index()\n\t// @Unique()\n\temail: string;\n\n\t@Property()\n\tfirstName: string;\n\n\t@Property()\n\tlastName: string;\n\n\t@Index()\n\t@ManyToMany({ fieldName: 'roles', entity: () => Role })\n\troles = new Collection(this);\n\n\t@Index()\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool: SchoolEntity;\n\n\t@Property({ nullable: true })\n\t@Index()\n\tldapDn?: string;\n\n\t@Property({ nullable: true, fieldName: 'ldapId' })\n\texternalId?: string;\n\n\t@Property({ nullable: true })\n\tpreviousExternalId?: string;\n\n\t@Property({ nullable: true })\n\t@Index()\n\timportHash?: string;\n\n\t@Property({ nullable: true })\n\tfirstNameSearchValues?: string[];\n\n\t@Property({ nullable: true })\n\tlastNameSearchValues?: string[];\n\n\t@Property({ nullable: true })\n\temailSearchValues?: string[];\n\n\t@Property({ nullable: true })\n\tlanguage?: LanguageType;\n\n\t@Property({ nullable: true })\n\tforcePasswordChange?: boolean;\n\n\t@Property({ nullable: true })\n\tpreferences?: Record;\n\n\t@Property({ nullable: true })\n\t@Index()\n\tdeletedAt?: Date;\n\n\t@Property({ nullable: true })\n\tlastLoginSystemChange?: Date;\n\n\t@Property({ nullable: true })\n\toutdatedSince?: Date;\n\n\t@Property({ nullable: true })\n\tbirthday?: Date;\n\n\t@Embedded(() => UserParentsEntity, { array: true, nullable: true })\n\tparents?: UserParentsEntity[];\n\n\tconstructor(props: UserProperties) {\n\t\tsuper();\n\t\tthis.firstName = props.firstName;\n\t\tthis.lastName = props.lastName;\n\t\tthis.email = props.email;\n\t\tthis.school = props.school;\n\t\tthis.roles.set(props.roles);\n\t\tthis.ldapDn = props.ldapDn;\n\t\tthis.externalId = props.externalId;\n\t\tthis.forcePasswordChange = props.forcePasswordChange;\n\t\tthis.language = props.language;\n\t\tthis.preferences = props.preferences ?? {};\n\t\tthis.deletedAt = props.deletedAt;\n\t\tthis.lastLoginSystemChange = props.lastLoginSystemChange;\n\t\tthis.outdatedSince = props.outdatedSince;\n\t\tthis.previousExternalId = props.previousExternalId;\n\t\tthis.birthday = props.birthday;\n\t\tthis.parents = props.parents;\n\t}\n\n\tpublic resolvePermissions(): string[] {\n\t\tif (!this.roles.isInitialized(true)) {\n\t\t\tthrow new Error('Roles items are not loaded.');\n\t\t}\n\n\t\tlet permissions: string[] = [];\n\n\t\tconst roles = this.roles.getItems();\n\t\troles.forEach((role) => {\n\t\t\tconst rolePermissions = role.resolvePermissions();\n\t\t\tpermissions = [...permissions, ...rolePermissions];\n\t\t});\n\n\t\tconst uniquePermissions = [...new Set(permissions)];\n\n\t\treturn uniquePermissions;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UserRepo.html":{"url":"injectables/UserRepo.html","title":"injectable - UserRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n UserRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/user/user.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseRepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n deleteUser\n \n \n Async\n findByEmail\n \n \n Async\n findByExternalIdOrFail\n \n \n Async\n findById\n \n \n Async\n findWithoutImportUser\n \n \n Async\n flush\n \n \n Async\n getParentEmailsFromUser\n \n \n Private\n Async\n populateRoles\n \n \n saveWithoutFlush\n \n \n create\n \n \n Async\n delete\n \n \n Async\n save\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n deleteUser\n \n \n \n \n \n \n \n deleteUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.repo.ts:158\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByEmail\n \n \n \n \n \n \n \n findByEmail(email: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.repo.ts:150\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n email\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByExternalIdOrFail\n \n \n \n \n \n \n \n findByExternalIdOrFail(externalId: string, systemId: string)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.repo.ts:28\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalId\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId, populate)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:17\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Default value\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n \n \n\n \n \n populate\n \n \n\n \n No\n \n\n \n false\n \n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findWithoutImportUser\n \n \n \n \n \n \n \n findWithoutImportUser(school: SchoolEntity, filters?: NameMatch, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.repo.ts:40\n \n \n\n\n \n \n used for importusers module to request users not referenced in importusers\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n school\n \n SchoolEntity\n \n\n \n No\n \n\n\n \n \n filters\n \n NameMatch\n \n\n \n Yes\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n flush\n \n \n \n \n \n \n \n flush()\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.repo.ts:188\n \n \n\n\n \n \n\n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n Async\n getParentEmailsFromUser\n \n \n \n \n \n \n \n getParentEmailsFromUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.repo.ts:165\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n populateRoles\n \n \n \n \n \n \n \n populateRoles(roles: Role[])\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.repo.ts:172\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n roles\n \n Role[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n saveWithoutFlush\n \n \n \n \n \n \nsaveWithoutFlush(user: User)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.repo.ts:184\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n create\n \n \n \n \n \n \ncreate(entity: T)\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:18\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n T\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : T\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:26\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(entities: T | T[])\n \n \n\n\n \n \n Inherited from BaseRepo\n\n \n \n \n \n Defined in BaseRepo:22\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entities\n \n T | T[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/user/user.repo.ts:13\n \n \n\n \n \n\n \n\n\n \n import { QueryOrderMap, QueryOrderNumeric } from '@mikro-orm/core';\nimport { ObjectId } from '@mikro-orm/mongodb';\nimport { Injectable } from '@nestjs/common';\nimport { StringValidator } from '@shared/common';\nimport { ImportUser, Role, SchoolEntity, User } from '@shared/domain/entity';\nimport { IFindOptions, SortOrder } from '@shared/domain/interface';\nimport { Counted, EntityId, NameMatch } from '@shared/domain/types';\nimport { BaseRepo } from '@shared/repo/base.repo';\nimport { MongoPatterns } from '../mongo.patterns';\n\n@Injectable()\nexport class UserRepo extends BaseRepo {\n\tget entityName() {\n\t\treturn User;\n\t}\n\n\tasync findById(id: EntityId, populate = false): Promise {\n\t\tconst user = await super.findById(id);\n\n\t\tif (populate) {\n\t\t\tawait this._em.populate(user, ['roles', 'school.systems', 'school.schoolYear']);\n\t\t\tawait this.populateRoles(user.roles.getItems());\n\t\t}\n\n\t\treturn user;\n\t}\n\n\tasync findByExternalIdOrFail(externalId: string, systemId: string): Promise {\n\t\tconst [users] = await this._em.findAndCount(User, { externalId }, { populate: ['school.systems'] });\n\t\tconst resultUser = users.find((user) => {\n\t\t\tconst { systems } = user.school;\n\t\t\treturn systems && systems.getItems().find((system) => system.id === systemId);\n\t\t});\n\t\treturn resultUser ?? Promise.reject();\n\t}\n\n\t/**\n\t * used for importusers module to request users not referenced in importusers\n\t */\n\tasync findWithoutImportUser(\n\t\tschool: SchoolEntity,\n\t\tfilters?: NameMatch,\n\t\toptions?: IFindOptions\n\t): Promise> {\n\t\tconst { _id: schoolId } = school;\n\t\tif (!ObjectId.isValid(schoolId)) throw new Error('invalid school id');\n\n\t\tconst existingMatch = { deletedAt: null };\n\t\tconst permittedMatch = { schoolId };\n\n\t\tconst queryFilterMatch: { $or?: unknown[] } = {};\n\t\tif (filters?.name && StringValidator.isNotEmptyString(filters.name, true)) {\n\t\t\tconst escapedName = filters.name.replace(MongoPatterns.REGEX_MONGO_LANGUAGE_PATTERN_WHITELIST, '').trim();\n\t\t\t// TODO make db agnostic\n\t\t\tif (StringValidator.isNotEmptyString(escapedName, true)) {\n\t\t\t\tqueryFilterMatch.$or = [\n\t\t\t\t\t{\n\t\t\t\t\t\tfirstName: {\n\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\t$regex: escapedName,\n\t\t\t\t\t\t\t$options: 'i',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tlastName: {\n\t\t\t\t\t\t\t// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\t$regex: escapedName,\n\t\t\t\t\t\t\t$options: 'i',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t];\n\t\t\t}\n\t\t}\n\n\t\tconst pipeline: unknown[] = [\n\t\t\t{ $match: existingMatch },\n\t\t\t{ $match: permittedMatch },\n\t\t\t{\n\t\t\t\t$lookup: {\n\t\t\t\t\tfrom: 'importusers',\n\t\t\t\t\tlocalField: '_id',\n\t\t\t\t\tforeignField: 'match_userId',\n\t\t\t\t\tas: 'importusers',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\t$match: {\n\t\t\t\t\timportusers: {\n\t\t\t\t\t\t$size: 0,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\t{ $match: queryFilterMatch },\n\t\t\t{\n\t\t\t\t$project: {\n\t\t\t\t\timportusers: 0,\n\t\t\t\t},\n\t\t\t},\n\t\t];\n\n\t\tconst countPipeline = [...pipeline];\n\t\tcountPipeline.push({ $group: { _id: null, count: { $sum: 1 } } });\n\t\tconst total = (await this._em.aggregate(User, countPipeline)) as { count: number }[];\n\t\tconst count = total.length > 0 ? total[0].count : 0;\n\t\tconst { pagination, order } = options || {};\n\n\t\tif (order) {\n\t\t\tconst orderQuery: QueryOrderMap = {};\n\t\t\tif (order.firstName) {\n\t\t\t\tswitch (order.firstName) {\n\t\t\t\t\tcase SortOrder.desc:\n\t\t\t\t\t\torderQuery.firstName = QueryOrderNumeric.DESC;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase SortOrder.asc:\n\t\t\t\t\tdefault:\n\t\t\t\t\t\torderQuery.firstName = QueryOrderNumeric.ASC;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (order.lastName) {\n\t\t\t\tswitch (order.lastName) {\n\t\t\t\t\tcase SortOrder.desc:\n\t\t\t\t\t\torderQuery.lastName = QueryOrderNumeric.DESC;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase SortOrder.asc:\n\t\t\t\t\tdefault:\n\t\t\t\t\t\torderQuery.lastName = QueryOrderNumeric.ASC;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tpipeline.push({ $sort: orderQuery });\n\t\t}\n\n\t\tif (pagination?.skip) {\n\t\t\tpipeline.push({ $skip: pagination.skip });\n\t\t}\n\t\tif (pagination?.limit) {\n\t\t\tpipeline.push({ $limit: pagination.limit });\n\t\t}\n\n\t\tconst userDocuments = await this._em.aggregate(User, pipeline);\n\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n\t\tconst users = userDocuments.map((userDocument) => this._em.map(User, userDocument));\n\t\tawait this._em.populate(users, ['roles']);\n\t\treturn [users, count];\n\t}\n\n\tasync findByEmail(email: string): Promise {\n\t\t// find mail case-insensitive by regex\n\t\tconst promise: Promise = this._em.find(User, {\n\t\t\temail: new RegExp(`^${email.replace(/\\W/g, '\\\\$&')}$`, 'i'),\n\t\t});\n\t\treturn promise;\n\t}\n\n\tasync deleteUser(userId: EntityId): Promise {\n\t\tconst deletedUserNumber: Promise = this._em.nativeDelete(User, {\n\t\t\tid: userId,\n\t\t});\n\t\treturn deletedUserNumber;\n\t}\n\n\tasync getParentEmailsFromUser(userId: EntityId): Promise {\n\t\tconst user = await this._em.findOneOrFail(User, { id: userId });\n\t\tconst parentsEmails = user.parents?.map((parent) => parent.email) ?? [];\n\n\t\treturn parentsEmails;\n\t}\n\n\tprivate async populateRoles(roles: Role[]): Promise {\n\t\tfor (let i = 0; i {\n\t\tawait this._em.flush();\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UserRule.html":{"url":"injectables/UserRule.html","title":"injectable - UserRule","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n UserRule\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authorization/domain/rules/user.rule.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Public\n hasPermission\n \n \n Public\n isApplicable\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(authorizationHelper: AuthorizationHelper)\n \n \n \n \n Defined in apps/server/src/modules/authorization/domain/rules/user.rule.ts:7\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n authorizationHelper\n \n \n AuthorizationHelper\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Public\n hasPermission\n \n \n \n \n \n \n \n hasPermission(user: User, entity: User, context: AuthorizationContext)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/user.rule.ts:16\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n User\n \n\n \n No\n \n\n\n \n \n context\n \n AuthorizationContext\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n isApplicable\n \n \n \n \n \n \n \n isApplicable(user: User, entity: User)\n \n \n\n\n \n \n Defined in apps/server/src/modules/authorization/domain/rules/user.rule.ts:10\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n User\n \n\n \n No\n \n\n\n \n \n entity\n \n User\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : boolean\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { Injectable } from '@nestjs/common';\nimport { User } from '@shared/domain/entity';\nimport { AuthorizationContext, Rule } from '../type';\nimport { AuthorizationHelper } from '../service/authorization.helper';\n\n@Injectable()\nexport class UserRule implements Rule {\n\tconstructor(private readonly authorizationHelper: AuthorizationHelper) {}\n\n\tpublic isApplicable(user: User, entity: User): boolean {\n\t\tconst isMatched = entity instanceof User;\n\n\t\treturn isMatched;\n\t}\n\n\tpublic hasPermission(user: User, entity: User, context: AuthorizationContext): boolean {\n\t\tconst hasPermission = this.authorizationHelper.hasAllPermissions(user, context.requiredPermissions);\n\t\tconst isOwner = user === entity;\n\n\t\treturn hasPermission || isOwner;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UserScope.html":{"url":"classes/UserScope.html","title":"class - UserScope","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UserScope\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/user/user.scope.ts\n \n\n\n\n \n Extends\n \n \n Scope\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n Private\n _operator\n \n \n Private\n _queries\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n bySchoolId\n \n \n isOutdated\n \n \n whereLastLoginSystemChangeIsBetween\n \n \n whereLastLoginSystemChangeSmallerThan\n \n \n withOutdatedSince\n \n \n addQuery\n \n \n allowEmptyQuery\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n _allowEmptyQuery\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:13\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _operator\n \n \n \n \n \n \n Type : ScopeOperator\n\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:11\n\n \n \n\n\n \n \n \n \n \n \n \n \n Private\n _queries\n \n \n \n \n \n \n Type : FilterQuery[]\n\n \n \n \n \n Default value : []\n \n \n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:9\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n bySchoolId\n \n \n \n \n \n \nbySchoolId(schoolId: EntityId | undefined)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.scope.ts:36\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n EntityId | undefined\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : UserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n isOutdated\n \n \n \n \n \n \nisOutdated(isOutdated?: boolean)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.scope.ts:6\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isOutdated\n \n boolean\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : UserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n whereLastLoginSystemChangeIsBetween\n \n \n \n \n \n \nwhereLastLoginSystemChangeIsBetween(startDate?: Date, endDate?: Date)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.scope.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n startDate\n \n Date\n \n\n \n Yes\n \n\n\n \n \n endDate\n \n Date\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : UserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n whereLastLoginSystemChangeSmallerThan\n \n \n \n \n \n \nwhereLastLoginSystemChangeSmallerThan(date?: Date)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.scope.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n date\n \n Date\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : UserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n withOutdatedSince\n \n \n \n \n \n \nwithOutdatedSince(date?: Date)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/user/user.scope.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n date\n \n Date\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : UserScope\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n addQuery\n \n \n \n \n \n \naddQuery(query: FilterQuery | EmptyResultQueryType)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:31\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n FilterQuery | EmptyResultQueryType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n allowEmptyQuery\n \n \n \n \n \n \nallowEmptyQuery(isEmptyQueryAllowed: boolean)\n \n \n\n\n \n \n Inherited from Scope\n\n \n \n \n \n Defined in Scope:35\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n isEmptyQueryAllowed\n \n boolean\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Scope\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { User } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { Scope } from '@shared/repo';\n\nexport class UserScope extends Scope {\n\tisOutdated(isOutdated?: boolean): UserScope {\n\t\tif (isOutdated !== undefined) {\n\t\t\tthis.addQuery({ outdatedSince: { $exists: isOutdated } });\n\t\t}\n\t\treturn this;\n\t}\n\n\twhereLastLoginSystemChangeSmallerThan(date?: Date): UserScope {\n\t\tif (date) {\n\t\t\tthis.addQuery({ $or: [{ lastLoginSystemChange: { $lt: date } }, { lastLoginSystemChange: { $exists: false } }] });\n\t\t}\n\t\treturn this;\n\t}\n\n\twhereLastLoginSystemChangeIsBetween(startDate?: Date, endDate?: Date): UserScope {\n\t\tif (startDate && endDate) {\n\t\t\tthis.addQuery({\n\t\t\t\tlastLoginSystemChange: { $gte: startDate, $lt: endDate },\n\t\t\t});\n\t\t}\n\t\treturn this;\n\t}\n\n\twithOutdatedSince(date?: Date): UserScope {\n\t\tif (date) {\n\t\t\tthis.addQuery({ outdatedSince: { $eq: date } });\n\t\t}\n\t\treturn this;\n\t}\n\n\tbySchoolId(schoolId: EntityId | undefined): UserScope {\n\t\tif (schoolId !== undefined) {\n\t\t\tthis.addQuery({ school: schoolId });\n\t\t}\n\t\treturn this;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UserService.html":{"url":"injectables/UserService.html","title":"injectable - UserService","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n UserService\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user/service/user.service.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkAvailableLanguages\n \n \n Async\n deleteUser\n \n \n Async\n findByEmail\n \n \n Async\n findByExternalId\n \n \n Async\n findById\n \n \n Public\n Async\n findByIdOrNull\n \n \n Async\n findUsers\n \n \n Async\n getDisplayName\n \n \n Async\n getParentEmailsFromUser\n \n \n Async\n getResolvedUser\n \n \n Async\n getUser\n \n \n Async\n me\n \n \n Async\n patchLanguage\n \n \n Async\n save\n \n \n Async\n saveAll\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userRepo: UserRepo, userDORepo: UserDORepo, configService: ConfigService, roleService: RoleService, accountService: AccountService)\n \n \n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:22\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userRepo\n \n \n UserRepo\n \n \n \n No\n \n \n \n \n userDORepo\n \n \n UserDORepo\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n roleService\n \n \n RoleService\n \n \n \n No\n \n \n \n \n accountService\n \n \n AccountService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkAvailableLanguages\n \n \n \n \n \n \n \n checkAvailableLanguages(language: LanguageType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:120\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n language\n \n LanguageType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void | BadRequestException\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteUser\n \n \n \n \n \n \n \n deleteUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:126\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByEmail\n \n \n \n \n \n \n \n findByEmail(email: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:93\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n email\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findByExternalId\n \n \n \n \n \n \n \n findByExternalId(externalId: string, systemId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:87\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n externalId\n \n string\n \n\n \n No\n \n\n\n \n \n systemId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:57\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n Async\n findByIdOrNull\n \n \n \n \n \n \n \n findByIdOrNull(id: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:63\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findUsers\n \n \n \n \n \n \n \n findUsers(query: UserQuery, options?: IFindOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:81\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n query\n \n UserQuery\n \n\n \n No\n \n\n\n \n \n options\n \n IFindOptions\n \n\n \n Yes\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getDisplayName\n \n \n \n \n \n \n \n getDisplayName(user: UserDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:99\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getParentEmailsFromUser\n \n \n \n \n \n \n \n getParentEmailsFromUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:132\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getResolvedUser\n \n \n \n \n \n \n \n getResolvedUser(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:48\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n getUser\n \n \n \n \n \n \n [object Object],[object Object],[object Object]\n \n \n \n \n \n getUser(id: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n me\n \n \n \n \n \n \n \n me(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:31\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise<>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n patchLanguage\n \n \n \n \n \n \n \n patchLanguage(userId: EntityId, newLanguage: LanguageType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:111\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n newLanguage\n \n LanguageType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(user: UserDO)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:69\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n user\n \n UserDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAll\n \n \n \n \n \n \n \n saveAll(users: UserDO[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/service/user.service.ts:75\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n users\n \n UserDO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { AccountService } from '@modules/account';\nimport { AccountDto } from '@modules/account/services/dto';\n// invalid import\nimport { OauthCurrentUser } from '@modules/authentication/interface';\nimport { CurrentUserMapper } from '@modules/authentication/mapper';\nimport { RoleDto } from '@modules/role/service/dto/role.dto';\nimport { RoleService } from '@modules/role/service/role.service';\nimport { BadRequestException, Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { Page, RoleReference, UserDO } from '@shared/domain/domainobject';\nimport { LanguageType, User } from '@shared/domain/entity';\nimport { IFindOptions } from '@shared/domain/interface';\nimport { EntityId } from '@shared/domain/types';\nimport { UserRepo } from '@shared/repo';\nimport { UserDORepo } from '@shared/repo/user/user-do.repo';\nimport { UserConfig } from '../interfaces';\nimport { UserMapper } from '../mapper/user.mapper';\nimport { UserDto } from '../uc/dto/user.dto';\nimport { UserQuery } from './user-query.type';\n\n@Injectable()\nexport class UserService {\n\tconstructor(\n\t\tprivate readonly userRepo: UserRepo,\n\t\tprivate readonly userDORepo: UserDORepo,\n\t\tprivate readonly configService: ConfigService,\n\t\tprivate readonly roleService: RoleService,\n\t\tprivate readonly accountService: AccountService\n\t) {}\n\n\tasync me(userId: EntityId): Promise {\n\t\tconst user = await this.userRepo.findById(userId, true);\n\t\tconst permissions = user.resolvePermissions();\n\n\t\treturn [user, permissions];\n\t}\n\n\t/**\n\t * @deprecated use {@link UserService.findById} instead\n\t */\n\tasync getUser(id: string): Promise {\n\t\tconst userEntity = await this.userRepo.findById(id, true);\n\t\tconst userDto = UserMapper.mapFromEntityToDto(userEntity);\n\n\t\treturn userDto;\n\t}\n\n\tasync getResolvedUser(userId: EntityId): Promise {\n\t\tconst user: UserDO = await this.findById(userId);\n\t\tconst account: AccountDto = await this.accountService.findByUserIdOrFail(userId);\n\n\t\tconst resolvedUser: OauthCurrentUser = CurrentUserMapper.mapToOauthCurrentUser(account.id, user, account.systemId);\n\n\t\treturn resolvedUser;\n\t}\n\n\tasync findById(id: string): Promise {\n\t\tconst userDO = await this.userDORepo.findById(id, true);\n\n\t\treturn userDO;\n\t}\n\n\tpublic async findByIdOrNull(id: string): Promise {\n\t\tconst userDO: UserDO | null = await this.userDORepo.findByIdOrNull(id, true);\n\n\t\treturn userDO;\n\t}\n\n\tasync save(user: UserDO): Promise {\n\t\tconst savedUser: Promise = this.userDORepo.save(user);\n\n\t\treturn savedUser;\n\t}\n\n\tasync saveAll(users: UserDO[]): Promise {\n\t\tconst savedUsers: Promise = this.userDORepo.saveAll(users);\n\n\t\treturn savedUsers;\n\t}\n\n\tasync findUsers(query: UserQuery, options?: IFindOptions): Promise> {\n\t\tconst users: Page = await this.userDORepo.find(query, options);\n\n\t\treturn users;\n\t}\n\n\tasync findByExternalId(externalId: string, systemId: EntityId): Promise {\n\t\tconst user: Promise = this.userDORepo.findByExternalId(externalId, systemId);\n\n\t\treturn user;\n\t}\n\n\tasync findByEmail(email: string): Promise {\n\t\tconst user: Promise = this.userRepo.findByEmail(email);\n\n\t\treturn user;\n\t}\n\n\tasync getDisplayName(user: UserDO): Promise {\n\t\tconst protectedRoles: RoleDto[] = await this.roleService.getProtectedRoles();\n\t\tconst isProtectedUser: boolean = user.roles.some(\n\t\t\t(roleRef: RoleReference): boolean =>\n\t\t\t\t!!protectedRoles.find((protectedRole: RoleDto): boolean => roleRef.id === protectedRole.id)\n\t\t);\n\n\t\tconst displayName: string = isProtectedUser ? user.lastName : `${user.firstName} ${user.lastName}`;\n\n\t\treturn displayName;\n\t}\n\n\tasync patchLanguage(userId: EntityId, newLanguage: LanguageType): Promise {\n\t\tthis.checkAvailableLanguages(newLanguage);\n\t\tconst user = await this.userRepo.findById(userId);\n\t\tuser.language = newLanguage;\n\t\tawait this.userRepo.save(user);\n\n\t\treturn true;\n\t}\n\n\tprivate checkAvailableLanguages(language: LanguageType): void | BadRequestException {\n\t\tif (!this.configService.get('AVAILABLE_LANGUAGES').includes(language)) {\n\t\t\tthrow new BadRequestException('Language is not activated.');\n\t\t}\n\t}\n\n\tasync deleteUser(userId: EntityId): Promise {\n\t\tconst deletedUserNumber: Promise = this.userRepo.deleteUser(userId);\n\n\t\treturn deletedUserNumber;\n\t}\n\n\tasync getParentEmailsFromUser(userId: EntityId): Promise {\n\t\tconst parentEmails = this.userRepo.getParentEmailsFromUser(userId);\n\n\t\treturn parentEmails;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/UserUc.html":{"url":"injectables/UserUc.html","title":"injectable - UserUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n UserUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/user/uc/user.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n checkAvaibleLanguages\n \n \n Async\n me\n \n \n Async\n patchLanguage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(userRepo: UserRepo, configService: ConfigService)\n \n \n \n \n Defined in apps/server/src/modules/user/uc/user.uc.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n userRepo\n \n \n UserRepo\n \n \n \n No\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n checkAvaibleLanguages\n \n \n \n \n \n \n \n checkAvaibleLanguages(settedLanguage: LanguageType)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/uc/user.uc.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n settedLanguage\n \n LanguageType\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void | Error\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n me\n \n \n \n \n \n \n \n me(userId: EntityId)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/uc/user.uc.ts:13\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise<>\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n patchLanguage\n \n \n \n \n \n \n \n patchLanguage(userId: EntityId, params: ChangeLanguageParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/user/uc/user.uc.ts:26\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n userId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n params\n \n ChangeLanguageParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { BadRequestException, Injectable } from '@nestjs/common';\nimport { ConfigService } from '@nestjs/config';\nimport { LanguageType, User } from '@shared/domain/entity';\nimport { EntityId } from '@shared/domain/types';\nimport { UserRepo } from '@shared/repo';\nimport { ChangeLanguageParams } from '../controller/dto';\nimport { UserConfig } from '../interfaces';\n\n@Injectable()\nexport class UserUc {\n\tconstructor(private readonly userRepo: UserRepo, private readonly configService: ConfigService) {}\n\n\tasync me(userId: EntityId): Promise {\n\t\tconst user = await this.userRepo.findById(userId, true);\n\t\tconst permissions = user.resolvePermissions();\n\n\t\treturn [user, permissions];\n\t}\n\n\tprivate checkAvaibleLanguages(settedLanguage: LanguageType): void | Error {\n\t\tif (!this.configService.get('AVAILABLE_LANGUAGES').includes(settedLanguage)) {\n\t\t\tthrow new BadRequestException('Language is not activated.');\n\t\t}\n\t}\n\n\tasync patchLanguage(userId: EntityId, params: ChangeLanguageParams): Promise {\n\t\tthis.checkAvaibleLanguages(params.language);\n\t\tconst user = await this.userRepo.findById(userId);\n\t\tuser.language = params.language;\n\t\tawait this.userRepo.save(user);\n\n\t\treturn true;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/UsersList.html":{"url":"classes/UsersList.html","title":"class - UsersList","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n UsersList\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/course.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n firstName\n \n \n id\n \n \n lastName\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n firstName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:46\n \n \n\n\n \n \n \n \n \n \n \n \n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:44\n \n \n\n\n \n \n \n \n \n \n \n \n lastName\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/course.entity.ts:48\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Collection, Entity, Enum, Index, ManyToMany, ManyToOne, OneToMany, Property, Unique } from '@mikro-orm/core';\nimport { ClassEntity } from '@modules/class/entity/class.entity';\nimport { GroupEntity } from '@modules/group/entity/group.entity';\nimport { InternalServerErrorException } from '@nestjs/common/exceptions/internal-server-error.exception';\nimport { EntityWithSchool, Learnroom } from '@shared/domain/interface';\nimport { EntityId, LearnroomMetadata, LearnroomTypes } from '../types';\nimport { BaseEntityWithTimestamps } from './base.entity';\nimport { CourseGroup } from './coursegroup.entity';\nimport type { LessonParent } from './lesson.entity';\nimport { SchoolEntity } from './school.entity';\nimport type { TaskParent } from './task.entity';\nimport type { User } from './user.entity';\n\nexport interface CourseProperties {\n\tname?: string;\n\tdescription?: string;\n\tschool: SchoolEntity;\n\tstudents?: User[];\n\tteachers?: User[];\n\tsubstitutionTeachers?: User[];\n\t// TODO: color format\n\tcolor?: string;\n\tstartDate?: Date;\n\tuntilDate?: Date;\n\tcopyingSince?: Date;\n\tfeatures?: CourseFeatures[];\n\tclasses?: ClassEntity[];\n\tgroups?: GroupEntity[];\n}\n\n// that is really really shit default handling :D constructor, getter, js default, em default...what the hell\n// i hope it can cleanup with adding schema instant of I...Properties.\nconst DEFAULT = {\n\tcolor: '#ACACAC',\n\tname: 'Kurse',\n\tdescription: '',\n};\n\nconst enum CourseFeatures {\n\tVIDEOCONFERENCE = 'videoconference',\n}\n\nexport class UsersList {\n\tid!: string;\n\n\tfirstName!: string;\n\n\tlastName!: string;\n}\n\n@Entity({ tableName: 'courses' })\nexport class Course extends BaseEntityWithTimestamps implements Learnroom, EntityWithSchool, TaskParent, LessonParent {\n\t@Property()\n\tname: string = DEFAULT.name;\n\n\t@Property()\n\tdescription: string = DEFAULT.description;\n\n\t@Index()\n\t@ManyToOne(() => SchoolEntity, { fieldName: 'schoolId' })\n\tschool: SchoolEntity;\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'userIds' })\n\tstudents = new Collection(this);\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'teacherIds' })\n\tteachers = new Collection(this);\n\n\t@Index()\n\t@ManyToMany('User', undefined, { fieldName: 'substitutionIds' })\n\tsubstitutionTeachers = new Collection(this);\n\n\t@OneToMany('CourseGroup', 'course', { orphanRemoval: true })\n\tcourseGroups = new Collection(this);\n\n\t// TODO: string color format\n\t@Property()\n\tcolor: string = DEFAULT.color;\n\n\t@Property({ nullable: true })\n\tstartDate?: Date;\n\n\t@Index()\n\t@Property({ nullable: true })\n\tuntilDate?: Date;\n\n\t@Property({ nullable: true })\n\tcopyingSince?: Date;\n\n\t@Property({ nullable: true })\n\t@Unique({ options: { sparse: true } })\n\tshareToken?: string;\n\n\t@Enum({ nullable: true, array: true })\n\tfeatures?: CourseFeatures[];\n\n\t@ManyToMany(() => ClassEntity, undefined, { fieldName: 'classIds' })\n\tclasses = new Collection(this);\n\n\t@ManyToMany(() => GroupEntity, undefined, { fieldName: 'groupIds' })\n\tgroups = new Collection(this);\n\n\tconstructor(props: CourseProperties) {\n\t\tsuper();\n\t\tif (props.name) this.name = props.name;\n\t\tif (props.description) this.description = props.description;\n\t\tthis.school = props.school;\n\t\tthis.students.set(props.students || []);\n\t\tthis.teachers.set(props.teachers || []);\n\t\tthis.substitutionTeachers.set(props.substitutionTeachers || []);\n\t\tif (props.color) this.color = props.color;\n\t\tif (props.untilDate) this.untilDate = props.untilDate;\n\t\tif (props.startDate) this.startDate = props.startDate;\n\t\tif (props.copyingSince) this.copyingSince = props.copyingSince;\n\t\tif (props.features) this.features = props.features;\n\t\tthis.classes.set(props.classes || []);\n\t\tthis.groups.set(props.groups || []);\n\t}\n\n\tpublic getStudentIds(): EntityId[] {\n\t\tconst studentIds = Course.extractIds(this.students);\n\t\treturn studentIds;\n\t}\n\n\tpublic getTeacherIds(): EntityId[] {\n\t\tconst teacherIds = Course.extractIds(this.teachers);\n\t\treturn teacherIds;\n\t}\n\n\tpublic getSubstitutionTeacherIds(): EntityId[] {\n\t\tconst substitutionTeacherIds = Course.extractIds(this.substitutionTeachers);\n\t\treturn substitutionTeacherIds;\n\t}\n\n\tprivate static extractIds(users: Collection): EntityId[] {\n\t\tif (!users) {\n\t\t\tthrow new InternalServerErrorException(\n\t\t\t\t`Students, teachers or stubstitution is undefined. The course needs to be populated`\n\t\t\t);\n\t\t}\n\n\t\tconst objectIds = users.getIdentifiers('_id');\n\t\tconst ids = objectIds.map((id): string => id.toString());\n\n\t\treturn ids;\n\t}\n\n\tpublic getStudentsList(): UsersList[] {\n\t\tconst users = this.students.getItems();\n\t\tif (users.length) {\n\t\t\tconst usersList = Course.extractUserList(users);\n\t\t\treturn usersList;\n\t\t}\n\t\treturn [];\n\t}\n\n\tpublic getTeachersList(): UsersList[] {\n\t\tconst users = this.teachers.getItems();\n\t\tif (users.length) {\n\t\t\tconst usersList = Course.extractUserList(users);\n\t\t\treturn usersList;\n\t\t}\n\t\treturn [];\n\t}\n\n\tpublic getSubstitutionTeachersList(): UsersList[] {\n\t\tconst users = this.substitutionTeachers.getItems();\n\t\tif (users.length) {\n\t\t\tconst usersList = Course.extractUserList(users);\n\t\t\treturn usersList;\n\t\t}\n\t\treturn [];\n\t}\n\n\tprivate static extractUserList(users: User[]): UsersList[] {\n\t\tconst usersList: UsersList[] = users.map((user) => {\n\t\t\treturn {\n\t\t\t\tid: user.id,\n\t\t\t\tfirstName: user.firstName,\n\t\t\t\tlastName: user.lastName,\n\t\t\t};\n\t\t});\n\t\treturn usersList;\n\t}\n\n\tpublic isUserSubstitutionTeacher(user: User): boolean {\n\t\tconst isSubstitutionTeacher = this.substitutionTeachers.contains(user);\n\n\t\treturn isSubstitutionTeacher;\n\t}\n\n\tpublic getCourseGroupItems(): CourseGroup[] {\n\t\tif (!this.courseGroups.isInitialized(true)) {\n\t\t\tthrow new InternalServerErrorException('Courses trying to access their course groups that are not loaded.');\n\t\t}\n\t\tconst courseGroups = this.courseGroups.getItems();\n\n\t\treturn courseGroups;\n\t}\n\n\tgetShortTitle(): string {\n\t\tif (this.name.length === 1) {\n\t\t\treturn this.name;\n\t\t}\n\t\tconst [firstChar, secondChar] = [...this.name];\n\t\tconst pattern = /\\p{Extended_Pictographic}/u;\n\t\tif (pattern.test(firstChar)) {\n\t\t\treturn firstChar;\n\t\t}\n\t\treturn firstChar + secondChar;\n\t}\n\n\tpublic getMetadata(): LearnroomMetadata {\n\t\treturn {\n\t\t\tid: this.id,\n\t\t\ttype: LearnroomTypes.Course,\n\t\t\ttitle: this.name,\n\t\t\tshortTitle: this.getShortTitle(),\n\t\t\tdisplayColor: this.color,\n\t\t\tuntilDate: this.untilDate,\n\t\t\tstartDate: this.startDate,\n\t\t\tcopyingSince: this.copyingSince,\n\t\t};\n\t}\n\n\tpublic isFinished(): boolean {\n\t\tif (!this.untilDate) {\n\t\t\treturn false;\n\t\t}\n\t\tconst isFinished = this.untilDate u.id === userId);\n\t}\n\n\tprivate removeTeacher(userId: EntityId): void {\n\t\tthis.teachers.remove((u) => u.id === userId);\n\t}\n\n\tprivate removeSubstitutionTeacher(userId: EntityId): void {\n\t\tthis.substitutionTeachers.remove((u) => u.id === userId);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ValidationError.html":{"url":"classes/ValidationError.html","title":"class - ValidationError","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ValidationError\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/error/validation.error.ts\n \n\n\n\n \n Extends\n \n \n BusinessError\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n Readonly\n Optional\n details\n \n \n \n Readonly\n message\n \n \n \n Readonly\n title\n \n \n \n Readonly\n type\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n getResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(message: string, details?: Record)\n \n \n \n \n Defined in apps/server/src/shared/common/error/validation.error.ts:4\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n message\n \n \n string\n \n \n \n No\n \n \n \n \n details\n \n \n Record\n \n \n \n Yes\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Readonly\n code\n \n \n \n \n \n \n Type : number\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The response status code.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:12\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n Optional\n details\n \n \n \n \n \n \n Type : Record\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The error details.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:25\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n message\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error message.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:21\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n title\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error title.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:18\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n Readonly\n type\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The error type.'})\n \n \n \n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:15\n\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n getResponse\n \n \n \n \n \n \n \n getResponse()\n \n \n\n\n \n \n Inherited from BusinessError\n\n \n \n \n \n Defined in BusinessError:47\n\n \n \n\n\n \n \n\n \n Returns : ErrorResponse\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { HttpStatus } from '@nestjs/common';\nimport { BusinessError } from './business.error';\n\nexport class ValidationError extends BusinessError {\n\tconstructor(readonly message: string, details?: Record) {\n\t\tsuper(\n\t\t\t{\n\t\t\t\ttype: 'VALIDATION_ERROR',\n\t\t\t\ttitle: 'Validation Error',\n\t\t\t\tdefaultMessage: message,\n\t\t\t},\n\t\t\tHttpStatus.BAD_REQUEST,\n\t\t\tdetails\n\t\t);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ValidationErrorDetailResponse.html":{"url":"classes/ValidationErrorDetailResponse.html","title":"class - ValidationErrorDetailResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ValidationErrorDetailResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/core/error/dto/validation-error-detail.response.ts\n \n\n\n\n\n\n\n\n \n Constructor\n \n \n \n \nconstructor(field: string[], errors: string[])\n \n \n \n \n Defined in apps/server/src/core/error/dto/validation-error-detail.response.ts:1\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n field\n \n \n string[]\n \n \n \n No\n \n \n \n \n errors\n \n \n string[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n\n\n\n\n\n\n \n\n\n \n export class ValidationErrorDetailResponse {\n\tconstructor(readonly field: string[], readonly errors: string[]) {}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/ValidationErrorLoggableException.html":{"url":"classes/ValidationErrorLoggableException.html","title":"class - ValidationErrorLoggableException","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n ValidationErrorLoggableException\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/common/loggable-exception/validation-error.loggable-exception.ts\n \n\n\n\n \n Extends\n \n \n InternalServerErrorException\n \n\n \n Implements\n \n \n Loggable\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n getLogMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(validationErrors: ValidationError[])\n \n \n \n \n Defined in apps/server/src/shared/common/loggable-exception/validation-error.loggable-exception.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n validationErrors\n \n \n ValidationError[]\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n getLogMessage\n \n \n \n \n \n \ngetLogMessage()\n \n \n\n\n \n \n Defined in apps/server/src/shared/common/loggable-exception/validation-error.loggable-exception.ts:11\n \n \n\n\n \n \n\n \n Returns : ErrorLogMessage\n\n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { InternalServerErrorException } from '@nestjs/common';\nimport { Loggable } from '@src/core/logger/interfaces';\nimport { ErrorLogMessage } from '@src/core/logger/types';\nimport { ValidationError } from 'class-validator';\n\nexport class ValidationErrorLoggableException extends InternalServerErrorException implements Loggable {\n\tconstructor(private readonly validationErrors: ValidationError[]) {\n\t\tsuper();\n\t}\n\n\tgetLogMessage(): ErrorLogMessage {\n\t\tconst validationErrorListObject: { [key: number]: string } = this.validationErrors.reduce(\n\t\t\t(accumulator, currentValue, currentIndex) => {\n\t\t\t\treturn {\n\t\t\t\t\t...accumulator,\n\t\t\t\t\t[currentIndex]: currentValue.toString(false, undefined, undefined, true),\n\t\t\t\t};\n\t\t\t},\n\t\t\t{}\n\t\t);\n\n\t\tconst message: ErrorLogMessage = {\n\t\t\ttype: 'VALIDATION_ERROR',\n\t\t\tstack: this.stack,\n\t\t\tdata: {\n\t\t\t\t...validationErrorListObject,\n\t\t\t},\n\t\t};\n\n\t\treturn message;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/ValidationModule.html":{"url":"modules/ValidationModule.html","title":"module - ValidationModule","body":"\n \n\n\n\n\n Modules\n ValidationModule\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/core/validation/validation.module.ts\n \n\n\n\n\n\n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { APP_PIPE } from '@nestjs/core';\nimport { GlobalValidationPipe } from './pipe/global-validation.pipe';\n\n@Module({\n\tproviders: [\n\t\t{\n\t\t\tprovide: APP_PIPE,\n\t\t\tuseClass: GlobalValidationPipe,\n\t\t},\n\t],\n})\nexport class ValidationModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"entities/VideoConference.html":{"url":"entities/VideoConference.html","title":"entity - VideoConference","body":"\n \n\n\n\n\n\n\n\n Entities\n VideoConference\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/video-conference.entity.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n options\n \n \n \n \n target\n \n \n \n targetModel\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n options\n \n \n \n \n \n \n Type : VideoConferenceOptions\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/video-conference.entity.ts:37\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()@Index()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/video-conference.entity.ts:31\n \n \n\n\n \n \n \n \n \n \n \n \n \n targetModel\n \n \n \n \n \n \n Type : TargetModels\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Defined in apps/server/src/shared/domain/entity/video-conference.entity.ts:34\n \n \n\n\n \n \n\n \n\n\n \n import { Entity, Index, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport enum TargetModels {\n\tCOURSES = 'courses',\n\tEVENTS = 'events',\n}\n\nexport class VideoConferenceOptions {\n\teveryAttendeJoinsMuted: boolean;\n\n\teverybodyJoinsAsModerator: boolean;\n\n\tmoderatorMustApproveJoinRequests: boolean;\n\n\tconstructor(options: VideoConferenceOptions) {\n\t\tthis.everyAttendeJoinsMuted = options.everyAttendeJoinsMuted;\n\t\tthis.everybodyJoinsAsModerator = options.everybodyJoinsAsModerator;\n\t\tthis.moderatorMustApproveJoinRequests = options.moderatorMustApproveJoinRequests;\n\t}\n}\n\nexport type IVideoConferenceProperties = Readonly>;\n\n// Preset options for opening a video conference\n@Entity({ tableName: 'videoconferences' })\n@Index({ properties: ['target', 'targetModel'] })\nexport class VideoConference extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Index()\n\ttarget: string;\n\n\t@Property()\n\ttargetModel: TargetModels;\n\n\t@Property()\n\toptions: VideoConferenceOptions;\n\n\tconstructor(props: IVideoConferenceProperties) {\n\t\tsuper();\n\t\tthis.target = props.target;\n\t\tthis.targetModel = props.targetModel;\n\t\tthis.options = props.options;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConference-1.html":{"url":"classes/VideoConference-1.html","title":"class - VideoConference-1","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConference\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/uc/dto/video-conference.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Optional\n bbbResponse\n \n \n permission\n \n \n state\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dto: VideoConference)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/video-conference.ts:10\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n dto\n \n \n VideoConference\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n bbbResponse\n \n \n \n \n \n \n Type : BBBResponse\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/video-conference.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n permission\n \n \n \n \n \n \n Type : Permission\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/video-conference.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n state\n \n \n \n \n \n \n Type : VideoConferenceState\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/video-conference.ts:6\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Permission } from '@shared/domain/interface';\nimport { BBBBaseResponse, BBBResponse } from '../../bbb';\nimport { VideoConferenceState } from './video-conference-state.enum';\n\nexport class VideoConference {\n\tstate: VideoConferenceState;\n\n\tpermission: Permission;\n\n\tbbbResponse?: BBBResponse;\n\n\tconstructor(dto: VideoConference) {\n\t\tthis.state = dto.state;\n\t\tthis.bbbResponse = dto.bbbResponse;\n\t\tthis.permission = dto.permission;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/VideoConferenceApiModule.html":{"url":"modules/VideoConferenceApiModule.html","title":"module - VideoConferenceApiModule","body":"\n \n\n\n\n\n Modules\n VideoConferenceApiModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_VideoConferenceApiModule\n\n\n\ncluster_VideoConferenceApiModule_providers\n\n\n\ncluster_VideoConferenceApiModule_imports\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nVideoConferenceApiModule\n\nVideoConferenceApiModule\n\nVideoConferenceApiModule -->\n\nAuthorizationModule->VideoConferenceApiModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nVideoConferenceApiModule -->\n\nUserModule->VideoConferenceApiModule\n\n\n\n\n\nVideoConferenceModule\n\nVideoConferenceModule\n\nVideoConferenceApiModule -->\n\nVideoConferenceModule->VideoConferenceApiModule\n\n\n\n\n\nVideoConferenceCreateUc\n\nVideoConferenceCreateUc\n\nVideoConferenceApiModule -->\n\nVideoConferenceCreateUc->VideoConferenceApiModule\n\n\n\n\n\nVideoConferenceEndUc\n\nVideoConferenceEndUc\n\nVideoConferenceApiModule -->\n\nVideoConferenceEndUc->VideoConferenceApiModule\n\n\n\n\n\nVideoConferenceInfoUc\n\nVideoConferenceInfoUc\n\nVideoConferenceApiModule -->\n\nVideoConferenceInfoUc->VideoConferenceApiModule\n\n\n\n\n\nVideoConferenceJoinUc\n\nVideoConferenceJoinUc\n\nVideoConferenceApiModule -->\n\nVideoConferenceJoinUc->VideoConferenceApiModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/video-conference/video-conference-api.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n VideoConferenceCreateUc\n \n \n VideoConferenceEndUc\n \n \n VideoConferenceInfoUc\n \n \n VideoConferenceJoinUc\n \n \n \n \n Controllers\n \n \n VideoConferenceController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n UserModule\n \n \n VideoConferenceModule\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { UserModule } from '@modules/user';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { VideoConferenceController } from './controller';\nimport { VideoConferenceCreateUc, VideoConferenceJoinUc, VideoConferenceEndUc, VideoConferenceInfoUc } from './uc';\nimport { VideoConferenceModule } from './video-conference.module';\n\n@Module({\n\timports: [VideoConferenceModule, UserModule, AuthorizationModule],\n\tcontrollers: [VideoConferenceController],\n\tproviders: [VideoConferenceCreateUc, VideoConferenceJoinUc, VideoConferenceEndUc, VideoConferenceInfoUc],\n})\nexport class VideoConferenceApiModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceBaseResponse.html":{"url":"classes/VideoConferenceBaseResponse.html","title":"class - VideoConferenceBaseResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceBaseResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/controller/dto/response/video-conference-deprecated.response.ts\n \n\n \n Deprecated\n \n \n Please use new video conference response classes\n \n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n permission\n \n \n state\n \n \n Optional\n status\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(resp: VideoConferenceBaseResponse)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-deprecated.response.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n resp\n \n \n VideoConferenceBaseResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n permission\n \n \n \n \n \n \n Type : Permission\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-deprecated.response.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n state\n \n \n \n \n \n \n Type : VideoConferenceStateResponse\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-deprecated.response.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n status\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-deprecated.response.ts:8\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Permission } from '@shared/domain/interface';\nimport { VideoConferenceStateResponse } from './video-conference-state.response';\n\n/**\n * @deprecated Please use new video conference response classes\n */\nexport class VideoConferenceBaseResponse {\n\tstatus?: string;\n\n\tstate: VideoConferenceStateResponse;\n\n\tpermission: Permission;\n\n\tconstructor(resp: VideoConferenceBaseResponse) {\n\t\tthis.status = 'SUCCESS';\n\t\tthis.state = resp.state;\n\t\tthis.permission = resp.permission;\n\t}\n}\n\n/**\n * @deprecated Please use new video conference response classes\n */\nexport class DeprecatedVideoConferenceJoinResponse extends VideoConferenceBaseResponse {\n\turl?: string;\n\n\tconstructor(resp: DeprecatedVideoConferenceJoinResponse) {\n\t\tsuper(resp);\n\t\tthis.url = resp.url;\n\t}\n}\n\n/**\n * @deprecated Please use new video conference response classes\n */\nexport class DeprecatedVideoConferenceInfoResponse extends VideoConferenceBaseResponse {\n\toptions?: {\n\t\teveryAttendeeJoinsMuted: boolean;\n\n\t\teverybodyJoinsAsModerator: boolean;\n\n\t\tmoderatorMustApproveJoinRequests: boolean;\n\t};\n\n\tconstructor(resp: DeprecatedVideoConferenceInfoResponse) {\n\t\tsuper(resp);\n\t\tthis.options = resp.options;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceConfiguration.html":{"url":"classes/VideoConferenceConfiguration.html","title":"class - VideoConferenceConfiguration","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceConfiguration\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/video-conference-config.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Static\n bbb\n \n \n Static\n videoConference\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Static\n bbb\n \n \n \n \n \n \n Type : IBbbSettings\n\n \n \n \n \n Default value : {\n\t\thost: Configuration.get('VIDEOCONFERENCE_HOST') as string,\n\t\tsalt: Configuration.get('VIDEOCONFERENCE_SALT') as string,\n\t\tpresentationUrl: Configuration.get('VIDEOCONFERENCE_DEFAULT_PRESENTATION') as string,\n\t}\n \n \n \n \n Defined in apps/server/src/modules/video-conference/video-conference-config.ts:6\n \n \n\n\n \n \n \n \n \n \n \n \n Static\n videoConference\n \n \n \n \n \n \n Type : IVideoConferenceSettings\n\n \n \n \n \n Default value : {\n\t\tenabled: Configuration.get('FEATURE_VIDEOCONFERENCE_ENABLED') as boolean,\n\t\thostUrl: Configuration.get('HOST') as string,\n\t\tbbb: VideoConferenceConfiguration.bbb,\n\t}\n \n \n \n \n Defined in apps/server/src/modules/video-conference/video-conference-config.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Configuration } from '@hpi-schul-cloud/commons/lib';\nimport { IBbbSettings } from './bbb';\nimport { IVideoConferenceSettings } from './interface';\n\nexport default class VideoConferenceConfiguration {\n\tstatic bbb: IBbbSettings = {\n\t\thost: Configuration.get('VIDEOCONFERENCE_HOST') as string,\n\t\tsalt: Configuration.get('VIDEOCONFERENCE_SALT') as string,\n\t\tpresentationUrl: Configuration.get('VIDEOCONFERENCE_DEFAULT_PRESENTATION') as string,\n\t};\n\n\tstatic videoConference: IVideoConferenceSettings = {\n\t\tenabled: Configuration.get('FEATURE_VIDEOCONFERENCE_ENABLED') as boolean,\n\t\thostUrl: Configuration.get('HOST') as string,\n\t\tbbb: VideoConferenceConfiguration.bbb,\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/VideoConferenceController.html":{"url":"controllers/VideoConferenceController.html","title":"controller - VideoConferenceController","body":"\n \n\n\n\n\n\n\n Controllers\n VideoConferenceController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/controller/video-conference.controller.ts\n \n\n \n Prefix\n \n \n videoconference2\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n end\n \n \n \n \n \n \n \n \n Async\n info\n \n \n \n \n \n \n \n \n Async\n join\n \n \n \n \n \n \n \n \n Async\n start\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n end\n \n \n \n \n \n \n \n end(currentUser: ICurrentUser, scopeParams: VideoConferenceScopeParams)\n \n \n\n \n \n Decorators : \n \n @Get(':scope/:scopeId/end')@ApiOperation({summary: 'Ends a running video conference.', description: 'Use this endpoint to end a running video conference.'})@ApiResponse({status: undefined, description: 'Returns the status of the operation.'})@ApiResponse({status: undefined, description: 'Invalid parameters.'})@ApiResponse({status: undefined, description: 'User does not have the permission to end this conference.'})@ApiResponse({status: undefined, description: 'Unable to fetch required data.'})\n \n \n\n \n \n Defined in apps/server/src/modules/video-conference/controller/video-conference.controller.ts:132\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n scopeParams\n \n VideoConferenceScopeParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n info\n \n \n \n \n \n \n \n info(currentUser: ICurrentUser, scopeParams: VideoConferenceScopeParams)\n \n \n\n \n \n Decorators : \n \n @Get(':scope/:scopeId/info')@ApiOperation({summary: 'Returns information about a running video conference.', description: 'Use this endpoint to get information about a running video conference.'})@ApiResponse({status: undefined, description: 'Returns a list of information about a video conference.', type: VideoConferenceInfoResponse})@ApiResponse({status: undefined, description: 'Invalid parameters.'})@ApiResponse({status: undefined, description: 'User does not have the permission to get information about this conference.'})@ApiResponse({status: undefined, description: 'Unable to fetch required data.'})\n \n \n\n \n \n Defined in apps/server/src/modules/video-conference/controller/video-conference.controller.ts:105\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n scopeParams\n \n VideoConferenceScopeParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n join\n \n \n \n \n \n \n \n join(currentUser: ICurrentUser, scopeParams: VideoConferenceScopeParams)\n \n \n\n \n \n Decorators : \n \n @Get(':scope/:scopeId/join')@ApiOperation({summary: 'Creates a join link for a video conference, if it has started.', description: 'Use this endpoint to get a link to join an existing video conference. The conference must be running.'})@ApiResponse({status: undefined, description: 'Returns the information for joining the conference.', type: VideoConferenceJoinResponse})@ApiResponse({status: undefined, description: 'Invalid parameters.'})@ApiResponse({status: undefined, description: 'User does not have the permission to join this conference.'})@ApiResponse({status: undefined, description: 'Unable to fetch required data.'})\n \n \n\n \n \n Defined in apps/server/src/modules/video-conference/controller/video-conference.controller.ts:77\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n scopeParams\n \n VideoConferenceScopeParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n start\n \n \n \n \n \n \n \n start(req: Request, currentUser: ICurrentUser, scopeParams: VideoConferenceScopeParams, params: VideoConferenceCreateParams)\n \n \n\n \n \n Decorators : \n \n @Put(':scope/:scopeId/start')@ApiOperation({summary: 'Creates the video conference, if it has not started yet.', description: 'Use this endpoint to start a video conference. If the conference is not yet running, it will be created.'})@ApiResponse({status: undefined, description: 'Video conference was created.'})@ApiResponse({status: undefined, description: 'Invalid parameters.'})@ApiResponse({status: undefined, description: 'User does not have the permission to create this conference.'})@ApiResponse({status: undefined, description: 'Unable to fetch required data.'})\n \n \n\n \n \n Defined in apps/server/src/modules/video-conference/controller/video-conference.controller.ts:44\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n req\n \n Request\n \n\n \n No\n \n\n\n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n scopeParams\n \n VideoConferenceScopeParams\n \n\n \n No\n \n\n\n \n \n params\n \n VideoConferenceCreateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport { Body, Controller, Get, HttpStatus, Param, Put, Req } from '@nestjs/common';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { Request } from 'express';\nimport { InvalidOriginForLogoutUrlLoggableException } from '../error';\nimport { VideoConferenceOptions } from '../interface';\nimport { VideoConferenceMapper } from '../mapper/video-conference.mapper';\nimport { VideoConferenceCreateUc, VideoConferenceEndUc, VideoConferenceInfoUc, VideoConferenceJoinUc } from '../uc';\nimport { ScopeRef, VideoConferenceInfo, VideoConferenceJoin } from '../uc/dto';\nimport {\n\tVideoConferenceCreateParams,\n\tVideoConferenceInfoResponse,\n\tVideoConferenceJoinResponse,\n\tVideoConferenceScopeParams,\n} from './dto';\n\n@ApiTags('VideoConference')\n@Authenticate('jwt')\n@Controller('videoconference2')\nexport class VideoConferenceController {\n\tconstructor(\n\t\tprivate readonly videoConferenceCreateUc: VideoConferenceCreateUc,\n\t\tprivate readonly videoConferenceJoinUc: VideoConferenceJoinUc,\n\t\tprivate readonly videoConferenceEndUc: VideoConferenceEndUc,\n\t\tprivate readonly videoConferenceInfoUc: VideoConferenceInfoUc\n\t) {}\n\n\t@Put(':scope/:scopeId/start')\n\t@ApiOperation({\n\t\tsummary: 'Creates the video conference, if it has not started yet.',\n\t\tdescription:\n\t\t\t'Use this endpoint to start a video conference. If the conference is not yet running, it will be created.',\n\t})\n\t@ApiResponse({\n\t\tstatus: HttpStatus.OK,\n\t\tdescription: 'Video conference was created.',\n\t})\n\t@ApiResponse({ status: HttpStatus.BAD_REQUEST, description: 'Invalid parameters.' })\n\t@ApiResponse({\n\t\tstatus: HttpStatus.FORBIDDEN,\n\t\tdescription: 'User does not have the permission to create this conference.',\n\t})\n\t@ApiResponse({ status: HttpStatus.INTERNAL_SERVER_ERROR, description: 'Unable to fetch required data.' })\n\tasync start(\n\t\t@Req() req: Request,\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() scopeParams: VideoConferenceScopeParams,\n\t\t@Body() params: VideoConferenceCreateParams\n\t): Promise {\n\t\tif (params.logoutUrl && new URL(params.logoutUrl).origin !== req.headers.origin) {\n\t\t\tthrow new InvalidOriginForLogoutUrlLoggableException(params.logoutUrl, req.headers.origin);\n\t\t}\n\n\t\tconst scopeRef = new ScopeRef(scopeParams.scopeId, scopeParams.scope);\n\t\tconst videoConferenceOptions: VideoConferenceOptions = VideoConferenceMapper.toVideoConferenceOptions(params);\n\n\t\tawait this.videoConferenceCreateUc.createIfNotRunning(currentUser.userId, scopeRef, videoConferenceOptions);\n\t}\n\n\t@Get(':scope/:scopeId/join')\n\t@ApiOperation({\n\t\tsummary: 'Creates a join link for a video conference, if it has started.',\n\t\tdescription:\n\t\t\t'Use this endpoint to get a link to join an existing video conference. The conference must be running.',\n\t})\n\t@ApiResponse({\n\t\tstatus: HttpStatus.OK,\n\t\tdescription: 'Returns the information for joining the conference.',\n\t\ttype: VideoConferenceJoinResponse,\n\t})\n\t@ApiResponse({ status: HttpStatus.BAD_REQUEST, description: 'Invalid parameters.' })\n\t@ApiResponse({\n\t\tstatus: HttpStatus.FORBIDDEN,\n\t\tdescription: 'User does not have the permission to join this conference.',\n\t})\n\t@ApiResponse({ status: HttpStatus.INTERNAL_SERVER_ERROR, description: 'Unable to fetch required data.' })\n\tasync join(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() scopeParams: VideoConferenceScopeParams\n\t): Promise {\n\t\tconst scopeRef = new ScopeRef(scopeParams.scopeId, scopeParams.scope);\n\t\tconst dto: VideoConferenceJoin = await this.videoConferenceJoinUc.join(currentUser.userId, scopeRef);\n\n\t\tconst resp: VideoConferenceJoinResponse = VideoConferenceMapper.toVideoConferenceJoinResponse(dto);\n\n\t\treturn resp;\n\t}\n\n\t@Get(':scope/:scopeId/info')\n\t@ApiOperation({\n\t\tsummary: 'Returns information about a running video conference.',\n\t\tdescription: 'Use this endpoint to get information about a running video conference.',\n\t})\n\t@ApiResponse({\n\t\tstatus: HttpStatus.OK,\n\t\tdescription: 'Returns a list of information about a video conference.',\n\t\ttype: VideoConferenceInfoResponse,\n\t})\n\t@ApiResponse({ status: HttpStatus.BAD_REQUEST, description: 'Invalid parameters.' })\n\t@ApiResponse({\n\t\tstatus: HttpStatus.FORBIDDEN,\n\t\tdescription: 'User does not have the permission to get information about this conference.',\n\t})\n\t@ApiResponse({ status: HttpStatus.INTERNAL_SERVER_ERROR, description: 'Unable to fetch required data.' })\n\tasync info(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param() scopeParams: VideoConferenceScopeParams\n\t): Promise {\n\t\tconst scopeRef = new ScopeRef(scopeParams.scopeId, scopeParams.scope);\n\t\tconst dto: VideoConferenceInfo = await this.videoConferenceInfoUc.getMeetingInfo(currentUser.userId, scopeRef);\n\n\t\tconst resp: VideoConferenceInfoResponse = VideoConferenceMapper.toVideoConferenceInfoResponse(dto);\n\n\t\treturn resp;\n\t}\n\n\t@Get(':scope/:scopeId/end')\n\t@ApiOperation({\n\t\tsummary: 'Ends a running video conference.',\n\t\tdescription: 'Use this endpoint to end a running video conference.',\n\t})\n\t@ApiResponse({\n\t\tstatus: HttpStatus.OK,\n\t\tdescription: 'Returns the status of the operation.',\n\t})\n\t@ApiResponse({ status: HttpStatus.BAD_REQUEST, description: 'Invalid parameters.' })\n\t@ApiResponse({\n\t\tstatus: HttpStatus.FORBIDDEN,\n\t\tdescription: 'User does not have the permission to end this conference.',\n\t})\n\t@ApiResponse({ status: HttpStatus.INTERNAL_SERVER_ERROR, description: 'Unable to fetch required data.' })\n\tasync end(@CurrentUser() currentUser: ICurrentUser, @Param() scopeParams: VideoConferenceScopeParams): Promise {\n\t\tconst scopeRef = new ScopeRef(scopeParams.scopeId, scopeParams.scope);\n\n\t\tawait this.videoConferenceEndUc.end(currentUser.userId, scopeRef);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceCreateParams.html":{"url":"classes/VideoConferenceCreateParams.html","title":"class - VideoConferenceCreateParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceCreateParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/controller/dto/request/video-conference-create.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n Optional\n everyAttendeeJoinsMuted\n \n \n \n \n \n Optional\n everybodyJoinsAsModerator\n \n \n \n \n \n Optional\n logoutUrl\n \n \n \n \n \n Optional\n moderatorMustApproveJoinRequests\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n \n Optional\n everyAttendeeJoinsMuted\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({default: undefined})@IsBoolean()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/request/video-conference-create.params.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n everybodyJoinsAsModerator\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({default: undefined})@IsBoolean()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/request/video-conference-create.params.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n logoutUrl\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({description: 'The URL that the BigBlueButton client will go to after users click the OK button on the ‘You have been logged out’ or ’This session was ended’ message. Has to be a URL from the same domain that the conference is started from.'})@IsUrl({require_tld: false})@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/request/video-conference-create.params.ts:27\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n \n Optional\n moderatorMustApproveJoinRequests\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional({default: undefined})@IsBoolean()@IsOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/request/video-conference-create.params.ts:19\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\nimport { IsBoolean, IsOptional, IsUrl } from 'class-validator';\nimport { defaultVideoConferenceOptions } from '../../../interface';\n\nexport class VideoConferenceCreateParams {\n\t@ApiPropertyOptional({ default: defaultVideoConferenceOptions.everyAttendeeJoinsMuted })\n\t@IsBoolean()\n\t@IsOptional()\n\teveryAttendeeJoinsMuted?: boolean;\n\n\t@ApiPropertyOptional({ default: defaultVideoConferenceOptions.everybodyJoinsAsModerator })\n\t@IsBoolean()\n\t@IsOptional()\n\teverybodyJoinsAsModerator?: boolean;\n\n\t@ApiPropertyOptional({ default: defaultVideoConferenceOptions.moderatorMustApproveJoinRequests })\n\t@IsBoolean()\n\t@IsOptional()\n\tmoderatorMustApproveJoinRequests?: boolean;\n\n\t@ApiPropertyOptional({\n\t\tdescription:\n\t\t\t'The URL that the BigBlueButton client will go to after users click the OK button on the ‘You have been logged out’ or ’This session was ended’ message. Has to be a URL from the same domain that the conference is started from.',\n\t})\n\t@IsUrl({ require_tld: false })\n\t@IsOptional()\n\tlogoutUrl?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/VideoConferenceCreateUc.html":{"url":"injectables/VideoConferenceCreateUc.html","title":"injectable - VideoConferenceCreateUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n VideoConferenceCreateUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/uc/video-conference-create.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n Async\n create\n \n \n Async\n createIfNotRunning\n \n \n Private\n prepareBBBCreateConfigBuilder\n \n \n Private\n throwIfNotModerator\n \n \n Private\n Async\n verifyFeaturesEnabled\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(bbbService: BBBService, userService: UserService, videoConferenceService: VideoConferenceService)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-create.uc.ts:20\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n bbbService\n \n \n BBBService\n \n \n \n No\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n videoConferenceService\n \n \n VideoConferenceService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n Async\n create\n \n \n \n \n \n \n \n create(currentUserId: EntityId, scope: ScopeRef, options: VideoConferenceOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-create.uc.ts:41\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUserId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n scope\n \n ScopeRef\n \n\n \n No\n \n\n\n \n \n options\n \n VideoConferenceOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createIfNotRunning\n \n \n \n \n \n \n \n createIfNotRunning(currentUserId: EntityId, scope: ScopeRef, options: VideoConferenceOptions)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-create.uc.ts:27\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUserId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n scope\n \n ScopeRef\n \n\n \n No\n \n\n\n \n \n options\n \n VideoConferenceOptions\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n prepareBBBCreateConfigBuilder\n \n \n \n \n \n \n \n prepareBBBCreateConfigBuilder(scope: ScopeRef, options: VideoConferenceOptions, scopeInfo: ScopeInfo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-create.uc.ts:68\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n scope\n \n ScopeRef\n \n\n \n No\n \n\n\n \n \n options\n \n VideoConferenceOptions\n \n\n \n No\n \n\n\n \n \n scopeInfo\n \n ScopeInfo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : BBBCreateConfigBuilder\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n throwIfNotModerator\n \n \n \n \n \n \n \n throwIfNotModerator(role: BBBRole, errorMessage: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-create.uc.ts:93\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n role\n \n BBBRole\n \n\n \n No\n \n\n\n \n \n errorMessage\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n verifyFeaturesEnabled\n \n \n \n \n \n \n \n verifyFeaturesEnabled(schoolId: string)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-create.uc.ts:89\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n schoolId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { UserService } from '@modules/user';\nimport { ForbiddenException, Injectable } from '@nestjs/common';\nimport { UserDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport {\n\tBBBBaseMeetingConfig,\n\tBBBCreateConfigBuilder,\n\tBBBMeetingInfoResponse,\n\tBBBResponse,\n\tBBBRole,\n\tBBBService,\n\tGuestPolicy,\n} from '../bbb';\nimport { ErrorStatus } from '../error/error-status.enum';\nimport { VideoConferenceOptions } from '../interface';\nimport { VideoConferenceService } from '../service';\nimport { ScopeInfo, ScopeRef } from './dto';\n\n@Injectable()\nexport class VideoConferenceCreateUc {\n\tconstructor(\n\t\tprivate readonly bbbService: BBBService,\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly videoConferenceService: VideoConferenceService\n\t) {}\n\n\tasync createIfNotRunning(currentUserId: EntityId, scope: ScopeRef, options: VideoConferenceOptions): Promise {\n\t\tlet bbbMeetingInfoResponse: BBBResponse | undefined;\n\t\t// try and catch based on legacy behavior\n\t\ttry {\n\t\t\tbbbMeetingInfoResponse = await this.bbbService.getMeetingInfo(new BBBBaseMeetingConfig({ meetingID: scope.id }));\n\t\t} catch (e) {\n\t\t\tbbbMeetingInfoResponse = undefined;\n\t\t}\n\n\t\tif (bbbMeetingInfoResponse === undefined) {\n\t\t\tawait this.create(currentUserId, scope, options);\n\t\t}\n\t}\n\n\tprivate async create(currentUserId: EntityId, scope: ScopeRef, options: VideoConferenceOptions): Promise {\n\t\t/* need to be replace with\n\t\tconst [authorizableUser, scopeRessource]: [User, TeamEntity | Course] = await Promise.all([\n\t\t\tthis.authorizationService.getUserWithPermissions(userId),\n\t\t\tthis.videoConferenceService.loadScopeRessources(scopeId, scope),\n\t\t]);\n\t\t*/\n\t\tconst user: UserDO = await this.userService.findById(currentUserId);\n\n\t\tawait this.verifyFeaturesEnabled(user.schoolId);\n\n\t\tconst scopeInfo: ScopeInfo = await this.videoConferenceService.getScopeInfo(currentUserId, scope.id, scope.scope);\n\n\t\tconst bbbRole: BBBRole = await this.videoConferenceService.determineBbbRole(\n\t\t\tcurrentUserId,\n\t\t\tscopeInfo.scopeId,\n\t\t\tscope.scope\n\t\t);\n\t\tthis.throwIfNotModerator(bbbRole, 'You are not allowed to start the videoconference. Ask a moderator.');\n\n\t\tawait this.videoConferenceService.createOrUpdateVideoConferenceForScopeWithOptions(scope.id, scope.scope, options);\n\n\t\tconst configBuilder: BBBCreateConfigBuilder = this.prepareBBBCreateConfigBuilder(scope, options, scopeInfo);\n\n\t\tawait this.bbbService.create(configBuilder.build());\n\t}\n\n\tprivate prepareBBBCreateConfigBuilder(\n\t\tscope: ScopeRef,\n\t\toptions: VideoConferenceOptions,\n\t\tscopeInfo: ScopeInfo\n\t): BBBCreateConfigBuilder {\n\t\tconst configBuilder: BBBCreateConfigBuilder = new BBBCreateConfigBuilder({\n\t\t\tname: this.videoConferenceService.sanitizeString(scopeInfo.title),\n\t\t\tmeetingID: scope.id,\n\t\t}).withLogoutUrl(options.logoutUrl ?? scopeInfo.logoutUrl);\n\n\t\tif (options.moderatorMustApproveJoinRequests) {\n\t\t\tconfigBuilder.withGuestPolicy(GuestPolicy.ASK_MODERATOR);\n\t\t}\n\n\t\tif (options.everyAttendeeJoinsMuted) {\n\t\t\tconfigBuilder.withMuteOnStart(true);\n\t\t}\n\n\t\treturn configBuilder;\n\t}\n\n\tprivate async verifyFeaturesEnabled(schoolId: string): Promise {\n\t\tawait this.videoConferenceService.throwOnFeaturesDisabled(schoolId);\n\t}\n\n\tprivate throwIfNotModerator(role: BBBRole, errorMessage: string) {\n\t\tif (role !== BBBRole.MODERATOR) {\n\t\t\tthrow new ForbiddenException(ErrorStatus.INSUFFICIENT_PERMISSION, errorMessage);\n\t\t}\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceDO.html":{"url":"classes/VideoConferenceDO.html","title":"class - VideoConferenceDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceDO\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/video-conference.do.ts\n \n\n\n\n \n Extends\n \n \n BaseDO\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n options\n \n \n target\n \n \n targetModel\n \n \n Optional\n id\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(domainObject: VideoConferenceDO)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/video-conference.do.ts:23\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n \n VideoConferenceDO\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n options\n \n \n \n \n \n \n Type : VideoConferenceOptionsDO\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/video-conference.do.ts:23\n \n \n\n\n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/video-conference.do.ts:19\n \n \n\n\n \n \n \n \n \n \n \n \n targetModel\n \n \n \n \n \n \n Type : VideoConferenceScope\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/video-conference.do.ts:21\n \n \n\n\n \n \n \n \n \n \n \n \n Optional\n id\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Inherited from BaseDO\n\n \n \n \n \n Defined in BaseDO:5\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { VideoConferenceScope } from '@shared/domain/interface/video-conference-scope.enum';\nimport { BaseDO } from './base.do';\n\nexport class VideoConferenceOptionsDO {\n\teveryAttendeeJoinsMuted: boolean;\n\n\teverybodyJoinsAsModerator: boolean;\n\n\tmoderatorMustApproveJoinRequests: boolean;\n\n\tconstructor(options: VideoConferenceOptionsDO) {\n\t\tthis.everyAttendeeJoinsMuted = options.everyAttendeeJoinsMuted;\n\t\tthis.everybodyJoinsAsModerator = options.everybodyJoinsAsModerator;\n\t\tthis.moderatorMustApproveJoinRequests = options.moderatorMustApproveJoinRequests;\n\t}\n}\n\nexport class VideoConferenceDO extends BaseDO {\n\ttarget: string;\n\n\ttargetModel: VideoConferenceScope;\n\n\toptions: VideoConferenceOptionsDO;\n\n\tconstructor(domainObject: VideoConferenceDO) {\n\t\tsuper(domainObject.id);\n\n\t\tthis.target = domainObject.target;\n\t\tthis.targetModel = domainObject.targetModel;\n\t\tthis.options = domainObject.options;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"controllers/VideoConferenceDeprecatedController.html":{"url":"controllers/VideoConferenceDeprecatedController.html","title":"controller - VideoConferenceDeprecatedController","body":"\n \n\n\n\n\n\n\n Controllers\n VideoConferenceDeprecatedController\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/controller/video-conference-deprecated.controller.ts\n \n\n \n Prefix\n \n \n videoconference\n \n\n\n \n Description\n \n \n This controller is deprecated. Please use VideoConferenceController instead.\n\n \n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n Async\n createAndJoin\n \n \n \n \n \n \n \n Async\n end\n \n \n \n \n \n \n \n \n Async\n info\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n \n \n \n \n \n Async\n createAndJoin\n \n \n \n \n \n \n \n createAndJoin(currentUser: ICurrentUser, scope: VideoConferenceScope, scopeId: string, params: VideoConferenceCreateParams)\n \n \n\n \n \n Decorators : \n \n @Post(':scope/:scopeId')@ApiOperation({summary: 'Creates a join link for a video conference and creates the video conference, if it has not started yet.'})@ApiResponse({status: 400, type: BadRequestException, description: 'Invalid parameters.'})@ApiResponse({status: 403, type: ForbiddenException, description: 'User does not have the permission to create this conference.'})@ApiResponse({status: 500, type: InternalServerErrorException, description: 'Unable to fetch required data.'})\n \n \n\n \n \n Defined in apps/server/src/modules/video-conference/controller/video-conference-deprecated.controller.ts:46\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n scope\n \n VideoConferenceScope\n \n\n \n No\n \n\n\n \n \n scopeId\n \n string\n \n\n \n No\n \n\n\n \n \n params\n \n VideoConferenceCreateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n end\n \n \n \n \n \n \n \n end(currentUser: ICurrentUser, scope: VideoConferenceScope, scopeId: string)\n \n \n\n \n \n Decorators : \n \n @Delete(':scope/:scopeId')@ApiOperation({summary: 'Ends a running video conference.'})@ApiResponse({status: 400, type: BadRequestException, description: 'Invalid parameters.'})@ApiResponse({status: 403, type: ForbiddenException, description: 'User does not have the permission to get information about this conference.'})@ApiResponse({status: 500, type: InternalServerErrorException, description: 'Unable to fetch required data.'})\n \n \n\n \n \n Defined in apps/server/src/modules/video-conference/controller/video-conference-deprecated.controller.ts:106\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n scope\n \n VideoConferenceScope\n \n\n \n No\n \n\n\n \n \n scopeId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n info\n \n \n \n \n \n \n \n info(currentUser: ICurrentUser, scope: VideoConferenceScope, scopeId: string)\n \n \n\n \n \n Decorators : \n \n @Get(':scope/:scopeId')@ApiOperation({summary: 'Returns information about a running video conference.'})@ApiResponse({status: 200, type: DeprecatedVideoConferenceInfoResponse, description: 'Returns a list of information about a video conference.'})@ApiResponse({status: 400, type: BadRequestException, description: 'Invalid parameters.'})@ApiResponse({status: 403, type: ForbiddenException, description: 'User does not have the permission to get information about this conference.'})@ApiResponse({status: 500, type: InternalServerErrorException, description: 'Unable to fetch required data.'})\n \n \n\n \n \n Defined in apps/server/src/modules/video-conference/controller/video-conference-deprecated.controller.ts:86\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUser\n \n ICurrentUser\n \n\n \n No\n \n\n\n \n \n scope\n \n VideoConferenceScope\n \n\n \n No\n \n\n\n \n \n scopeId\n \n string\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n\n\n \n import { Authenticate, CurrentUser, ICurrentUser } from '@modules/authentication';\nimport {\n\tBadRequestException,\n\tBody,\n\tController,\n\tDelete,\n\tForbiddenException,\n\tGet,\n\tInternalServerErrorException,\n\tParam,\n\tPost,\n} from '@nestjs/common';\nimport { ApiOperation, ApiResponse, ApiTags } from '@nestjs/swagger';\nimport { VideoConferenceScope } from '@shared/domain/interface';\nimport { BBBBaseResponse } from '../bbb';\nimport { defaultVideoConferenceOptions } from '../interface';\nimport { VideoConferenceResponseDeprecatedMapper } from '../mapper/vc-deprecated-response.mapper';\nimport { VideoConferenceDeprecatedUc } from '../uc';\nimport { VideoConference, VideoConferenceInfo, VideoConferenceJoin, VideoConferenceState } from '../uc/dto';\nimport { VideoConferenceCreateParams } from './dto';\nimport {\n\tDeprecatedVideoConferenceInfoResponse,\n\tVideoConferenceBaseResponse,\n} from './dto/response/video-conference-deprecated.response';\n\n/**\n * This controller is deprecated. Please use {@link VideoConferenceController} instead.\n */\n@ApiTags('VideoConference')\n@Authenticate('jwt')\n@Controller('videoconference')\nexport class VideoConferenceDeprecatedController {\n\tconstructor(private readonly videoConferenceUc: VideoConferenceDeprecatedUc) {}\n\n\t@Post(':scope/:scopeId')\n\t@ApiOperation({\n\t\tsummary: 'Creates a join link for a video conference and creates the video conference, if it has not started yet.',\n\t})\n\t@ApiResponse({ status: 400, type: BadRequestException, description: 'Invalid parameters.' })\n\t@ApiResponse({\n\t\tstatus: 403,\n\t\ttype: ForbiddenException,\n\t\tdescription: 'User does not have the permission to create this conference.',\n\t})\n\t@ApiResponse({ status: 500, type: InternalServerErrorException, description: 'Unable to fetch required data.' })\n\tasync createAndJoin(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param('scope') scope: VideoConferenceScope,\n\t\t@Param('scopeId') scopeId: string,\n\t\t@Body() params: VideoConferenceCreateParams\n\t): Promise {\n\t\tconst infoDto: VideoConferenceInfo = await this.videoConferenceUc.getMeetingInfo(currentUser, scope, scopeId);\n\n\t\tif (infoDto.state !== VideoConferenceState.RUNNING) {\n\t\t\tawait this.videoConferenceUc.create(currentUser, scope, scopeId, {\n\t\t\t\teveryAttendeeJoinsMuted:\n\t\t\t\t\tparams.everyAttendeeJoinsMuted ?? defaultVideoConferenceOptions.everyAttendeeJoinsMuted,\n\t\t\t\teverybodyJoinsAsModerator:\n\t\t\t\t\tparams.everybodyJoinsAsModerator ?? defaultVideoConferenceOptions.everybodyJoinsAsModerator,\n\t\t\t\tmoderatorMustApproveJoinRequests:\n\t\t\t\t\tparams.moderatorMustApproveJoinRequests ?? defaultVideoConferenceOptions.moderatorMustApproveJoinRequests,\n\t\t\t});\n\t\t}\n\n\t\tconst dto: VideoConferenceJoin = await this.videoConferenceUc.join(currentUser, scope, scopeId);\n\n\t\treturn VideoConferenceResponseDeprecatedMapper.mapToJoinResponse(dto);\n\t}\n\n\t@Get(':scope/:scopeId')\n\t@ApiOperation({\n\t\tsummary: 'Returns information about a running video conference.',\n\t})\n\t@ApiResponse({\n\t\tstatus: 200,\n\t\ttype: DeprecatedVideoConferenceInfoResponse,\n\t\tdescription: 'Returns a list of information about a video conference.',\n\t})\n\t@ApiResponse({ status: 400, type: BadRequestException, description: 'Invalid parameters.' })\n\t@ApiResponse({\n\t\tstatus: 403,\n\t\ttype: ForbiddenException,\n\t\tdescription: 'User does not have the permission to get information about this conference.',\n\t})\n\t@ApiResponse({ status: 500, type: InternalServerErrorException, description: 'Unable to fetch required data.' })\n\tasync info(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param('scope') scope: VideoConferenceScope,\n\t\t@Param('scopeId') scopeId: string\n\t): Promise {\n\t\tconst dto: VideoConferenceInfo = await this.videoConferenceUc.getMeetingInfo(currentUser, scope, scopeId);\n\t\treturn VideoConferenceResponseDeprecatedMapper.mapToInfoResponse(dto);\n\t}\n\n\t@Delete(':scope/:scopeId')\n\t@ApiOperation({\n\t\tsummary: 'Ends a running video conference.',\n\t})\n\t@ApiResponse({ status: 400, type: BadRequestException, description: 'Invalid parameters.' })\n\t@ApiResponse({\n\t\tstatus: 403,\n\t\ttype: ForbiddenException,\n\t\tdescription: 'User does not have the permission to get information about this conference.',\n\t})\n\t@ApiResponse({ status: 500, type: InternalServerErrorException, description: 'Unable to fetch required data.' })\n\tasync end(\n\t\t@CurrentUser() currentUser: ICurrentUser,\n\t\t@Param('scope') scope: VideoConferenceScope,\n\t\t@Param('scopeId') scopeId: string\n\t): Promise {\n\t\tconst dto: VideoConference = await this.videoConferenceUc.end(currentUser, scope, scopeId);\n\t\treturn VideoConferenceResponseDeprecatedMapper.mapToBaseResponse(dto);\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/VideoConferenceEndUc.html":{"url":"injectables/VideoConferenceEndUc.html","title":"injectable - VideoConferenceEndUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n VideoConferenceEndUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/uc/video-conference-end.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n end\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(bbbService: BBBService, userService: UserService, videoConferenceService: VideoConferenceService)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-end.uc.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n bbbService\n \n \n BBBService\n \n \n \n No\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n videoConferenceService\n \n \n VideoConferenceService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n end\n \n \n \n \n \n \n \n end(currentUserId: EntityId, scope: ScopeRef)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-end.uc.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUserId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n scope\n \n ScopeRef\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise>\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { UserService } from '@modules/user';\nimport { ErrorStatus } from '@modules/video-conference/error/error-status.enum';\nimport { ForbiddenException, Injectable } from '@nestjs/common';\nimport { UserDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { BBBBaseMeetingConfig, BBBBaseResponse, BBBResponse, BBBRole, BBBService } from '../bbb';\nimport { PermissionMapping } from '../mapper/video-conference.mapper';\nimport { VideoConferenceService } from '../service';\nimport { ScopeInfo, ScopeRef, VideoConference, VideoConferenceState } from './dto';\n\n@Injectable()\nexport class VideoConferenceEndUc {\n\tconstructor(\n\t\tprivate readonly bbbService: BBBService,\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly videoConferenceService: VideoConferenceService\n\t) {}\n\n\tasync end(currentUserId: EntityId, scope: ScopeRef): Promise> {\n\t\t/* need to be replace with\n\t\tconst [authorizableUser, scopeRessource]: [User, TeamEntity | Course] = await Promise.all([\n\t\t\tthis.authorizationService.getUserWithPermissions(userId),\n\t\t\tthis.videoConferenceService.loadScopeRessources(scopeId, scope),\n\t\t]);\n\t\t*/\n\t\tconst user: UserDO = await this.userService.findById(currentUserId);\n\t\tconst userId: string = user.id as string;\n\n\t\tawait this.videoConferenceService.throwOnFeaturesDisabled(user.schoolId);\n\n\t\tconst scopeInfo: ScopeInfo = await this.videoConferenceService.getScopeInfo(userId, scope.id, scope.scope);\n\n\t\tconst bbbRole: BBBRole = await this.videoConferenceService.determineBbbRole(userId, scopeInfo.scopeId, scope.scope);\n\n\t\tif (bbbRole !== BBBRole.MODERATOR) {\n\t\t\tthrow new ForbiddenException(ErrorStatus.INSUFFICIENT_PERMISSION);\n\t\t}\n\n\t\tconst config: BBBBaseMeetingConfig = new BBBBaseMeetingConfig({\n\t\t\tmeetingID: scope.id,\n\t\t});\n\n\t\tconst bbbResponse: BBBResponse = await this.bbbService.end(config);\n\n\t\tconst videoConference = new VideoConference({\n\t\t\tstate: VideoConferenceState.FINISHED,\n\t\t\tpermission: PermissionMapping[bbbRole],\n\t\t\tbbbResponse,\n\t\t});\n\t\treturn videoConference;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceInfo.html":{"url":"classes/VideoConferenceInfo.html","title":"class - VideoConferenceInfo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceInfo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/uc/dto/video-conference-info.ts\n \n\n\n\n \n Extends\n \n \n VideoConference\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n options\n \n \n \n \n target\n \n \n \n targetModel\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dto: VideoConferenceInfo)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/video-conference-info.ts:6\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n dto\n \n \n VideoConferenceInfo\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n options\n \n \n \n \n \n \n Type : VideoConferenceOptions\n\n \n \n \n \n Inherited from VideoConference\n\n \n \n \n \n Defined in VideoConference:6\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n target\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @Property()@Index()\n \n \n \n \n \n Inherited from VideoConference\n\n \n \n \n \n Defined in VideoConference:31\n\n \n \n\n\n \n \n \n \n \n \n \n \n \n targetModel\n \n \n \n \n \n \n Type : TargetModels\n\n \n \n \n \n Decorators : \n \n \n @Property()\n \n \n \n \n \n Inherited from VideoConference\n\n \n \n \n \n Defined in VideoConference:34\n\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { VideoConference } from './video-conference';\nimport { BBBMeetingInfoResponse } from '../../bbb';\nimport { VideoConferenceOptions } from '../../interface';\n\nexport class VideoConferenceInfo extends VideoConference {\n\toptions: VideoConferenceOptions;\n\n\tconstructor(dto: VideoConferenceInfo) {\n\t\tsuper(dto);\n\t\tthis.options = dto.options;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceInfoResponse.html":{"url":"classes/VideoConferenceInfoResponse.html","title":"class - VideoConferenceInfoResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceInfoResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/controller/dto/response/video-conference-info.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n options\n \n \n \n state\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(resp: VideoConferenceInfoResponse)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-info.response.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n resp\n \n \n VideoConferenceInfoResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n options\n \n \n \n \n \n \n Type : VideoConferenceOptionsResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The options for the video conference.'})\n \n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-info.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n state\n \n \n \n \n \n \n Type : VideoConferenceStateResponse\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({enum: VideoConferenceStateResponse, enumName: 'VideoConferenceStateResponse', description: 'The state of the video conference.'})\n \n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-info.response.ts:11\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { VideoConferenceOptionsResponse } from './video-conference-options.response';\nimport { VideoConferenceStateResponse } from './video-conference-state.response';\n\nexport class VideoConferenceInfoResponse {\n\t@ApiProperty({\n\t\tenum: VideoConferenceStateResponse,\n\t\tenumName: 'VideoConferenceStateResponse',\n\t\tdescription: 'The state of the video conference.',\n\t})\n\tstate: VideoConferenceStateResponse;\n\n\t@ApiProperty({ description: 'The options for the video conference.' })\n\toptions: VideoConferenceOptionsResponse;\n\n\tconstructor(resp: VideoConferenceInfoResponse) {\n\t\tthis.state = resp.state;\n\t\tthis.options = resp.options;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/VideoConferenceInfoUc.html":{"url":"injectables/VideoConferenceInfoUc.html","title":"injectable - VideoConferenceInfoUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n VideoConferenceInfoUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/uc/video-conference-info.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n getMeetingInfo\n \n \n Private\n Async\n getVideoConferenceOptions\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(bbbService: BBBService, userService: UserService, videoConferenceService: VideoConferenceService)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-info.uc.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n bbbService\n \n \n BBBService\n \n \n \n No\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n videoConferenceService\n \n \n VideoConferenceService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n getMeetingInfo\n \n \n \n \n \n \n \n getMeetingInfo(currentUserId: EntityId, scope: ScopeRef)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-info.uc.ts:20\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUserId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n scope\n \n ScopeRef\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n getVideoConferenceOptions\n \n \n \n \n \n \n \n getVideoConferenceOptions(scope: ScopeRef)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-info.uc.ts:75\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n scope\n \n ScopeRef\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { UserService } from '@modules/user';\nimport { ErrorStatus } from '@modules/video-conference/error/error-status.enum';\nimport { ForbiddenException, Injectable } from '@nestjs/common';\nimport { UserDO, VideoConferenceDO, VideoConferenceOptionsDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { BBBBaseMeetingConfig, BBBMeetingInfoResponse, BBBResponse, BBBRole, BBBService } from '../bbb';\nimport { defaultVideoConferenceOptions, VideoConferenceOptions } from '../interface';\nimport { PermissionMapping } from '../mapper/video-conference.mapper';\nimport { VideoConferenceService } from '../service';\nimport { ScopeInfo, ScopeRef, VideoConferenceInfo, VideoConferenceState } from './dto';\n\n@Injectable()\nexport class VideoConferenceInfoUc {\n\tconstructor(\n\t\tprivate readonly bbbService: BBBService,\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly videoConferenceService: VideoConferenceService\n\t) {}\n\n\tasync getMeetingInfo(currentUserId: EntityId, scope: ScopeRef): Promise {\n\t\t/* need to be replace with\n\t\tconst [authorizableUser, scopeRessource]: [User, TeamEntity | Course] = await Promise.all([\n\t\t\tthis.authorizationService.getUserWithPermissions(userId),\n\t\t\tthis.videoConferenceService.loadScopeRessources(scopeId, scope),\n\t\t]);\n\t\t*/\n\t\tconst user: UserDO = await this.userService.findById(currentUserId);\n\n\t\tawait this.videoConferenceService.throwOnFeaturesDisabled(user.schoolId);\n\n\t\tconst scopeInfo: ScopeInfo = await this.videoConferenceService.getScopeInfo(currentUserId, scope.id, scope.scope);\n\n\t\tconst bbbRole: BBBRole = await this.videoConferenceService.determineBbbRole(\n\t\t\tcurrentUserId,\n\t\t\tscopeInfo.scopeId,\n\t\t\tscope.scope\n\t\t);\n\n\t\tconst config: BBBBaseMeetingConfig = new BBBBaseMeetingConfig({\n\t\t\tmeetingID: scope.id,\n\t\t});\n\n\t\tconst options: VideoConferenceOptionsDO = await this.getVideoConferenceOptions(scope);\n\n\t\tlet response: VideoConferenceInfo;\n\t\ttry {\n\t\t\tconst bbbResponse: BBBResponse = await this.bbbService.getMeetingInfo(config);\n\t\t\tresponse = new VideoConferenceInfo({\n\t\t\t\tstate: VideoConferenceState.RUNNING,\n\t\t\t\tpermission: PermissionMapping[bbbRole],\n\t\t\t\tbbbResponse,\n\t\t\t\toptions: bbbRole === BBBRole.MODERATOR ? options : ({} as VideoConferenceOptions),\n\t\t\t});\n\t\t} catch {\n\t\t\tresponse = new VideoConferenceInfo({\n\t\t\t\tstate: VideoConferenceState.NOT_STARTED,\n\t\t\t\tpermission: PermissionMapping[bbbRole],\n\t\t\t\toptions: bbbRole === BBBRole.MODERATOR ? options : ({} as VideoConferenceOptions),\n\t\t\t});\n\t\t}\n\n\t\tconst isGuest: boolean = await this.videoConferenceService.hasExpertRole(\n\t\t\tcurrentUserId,\n\t\t\tscope.scope,\n\t\t\tscopeInfo.scopeId\n\t\t);\n\n\t\tif (!this.videoConferenceService.canGuestJoin(isGuest, response.state, options.moderatorMustApproveJoinRequests)) {\n\t\t\tthrow new ForbiddenException(ErrorStatus.GUESTS_CANNOT_JOIN_CONFERENCE);\n\t\t}\n\n\t\treturn response;\n\t}\n\n\tprivate async getVideoConferenceOptions(scope: ScopeRef): Promise {\n\t\tlet options: VideoConferenceOptionsDO;\n\t\ttry {\n\t\t\tconst vcDO: VideoConferenceDO = await this.videoConferenceService.findVideoConferenceByScopeIdAndScope(\n\t\t\t\tscope.id,\n\t\t\t\tscope.scope\n\t\t\t);\n\t\t\toptions = vcDO.options;\n\t\t} catch {\n\t\t\toptions = defaultVideoConferenceOptions;\n\t\t}\n\t\treturn options;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceJoin.html":{"url":"classes/VideoConferenceJoin.html","title":"class - VideoConferenceJoin","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceJoin\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/uc/dto/video-conference-join.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n permission\n \n \n state\n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(dto: VideoConferenceJoin)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/video-conference-join.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n dto\n \n \n VideoConferenceJoin\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n permission\n \n \n \n \n \n \n Type : Permission\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/video-conference-join.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n state\n \n \n \n \n \n \n Type : VideoConferenceState\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/video-conference-join.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/dto/video-conference-join.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Permission } from '@shared/domain/interface';\nimport { VideoConferenceState } from './video-conference-state.enum';\n\nexport class VideoConferenceJoin {\n\tstate: VideoConferenceState;\n\n\tpermission: Permission;\n\n\turl: string;\n\n\tconstructor(dto: VideoConferenceJoin) {\n\t\tthis.state = dto.state;\n\t\tthis.permission = dto.permission;\n\t\tthis.url = dto.url;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceJoinResponse.html":{"url":"classes/VideoConferenceJoinResponse.html","title":"class - VideoConferenceJoinResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceJoinResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/controller/dto/response/video-conference-join.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n url\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(resp: VideoConferenceJoinResponse)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-join.response.ts:5\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n resp\n \n \n VideoConferenceJoinResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n url\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'The URL to join the video conference.'})\n \n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-join.response.ts:5\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class VideoConferenceJoinResponse {\n\t@ApiProperty({ description: 'The URL to join the video conference.' })\n\turl: string;\n\n\tconstructor(resp: VideoConferenceJoinResponse) {\n\t\tthis.url = resp.url;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/VideoConferenceJoinUc.html":{"url":"injectables/VideoConferenceJoinUc.html","title":"injectable - VideoConferenceJoinUc","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n VideoConferenceJoinUc\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/uc/video-conference-join.uc.ts\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n join\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(bbbService: BBBService, userService: UserService, videoConferenceService: VideoConferenceService)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-join.uc.ts:12\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n bbbService\n \n \n BBBService\n \n \n \n No\n \n \n \n \n userService\n \n \n UserService\n \n \n \n No\n \n \n \n \n videoConferenceService\n \n \n VideoConferenceService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n join\n \n \n \n \n \n \n \n join(currentUserId: EntityId, scope: ScopeRef)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/uc/video-conference-join.uc.ts:19\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n currentUserId\n \n EntityId\n \n\n \n No\n \n\n\n \n \n scope\n \n ScopeRef\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n\n\n \n import { UserService } from '@modules/user';\nimport { ErrorStatus } from '@modules/video-conference/error/error-status.enum';\nimport { ForbiddenException, Injectable } from '@nestjs/common';\nimport { UserDO, VideoConferenceDO } from '@shared/domain/domainobject';\nimport { EntityId } from '@shared/domain/types';\nimport { BBBJoinConfigBuilder, BBBRole, BBBService } from '../bbb';\nimport { PermissionMapping } from '../mapper/video-conference.mapper';\nimport { VideoConferenceService } from '../service';\nimport { ScopeRef, VideoConferenceJoin, VideoConferenceState } from './dto';\n\n@Injectable()\nexport class VideoConferenceJoinUc {\n\tconstructor(\n\t\tprivate readonly bbbService: BBBService,\n\t\tprivate readonly userService: UserService,\n\t\tprivate readonly videoConferenceService: VideoConferenceService\n\t) {}\n\n\tasync join(currentUserId: EntityId, scope: ScopeRef): Promise {\n\t\tconst user: UserDO = await this.userService.findById(currentUserId);\n\n\t\tawait this.videoConferenceService.throwOnFeaturesDisabled(user.schoolId);\n\n\t\tconst { role, isGuest } = await this.videoConferenceService.getUserRoleAndGuestStatusByUserIdForBbb(\n\t\t\tcurrentUserId,\n\t\t\tscope.id,\n\t\t\tscope.scope\n\t\t);\n\n\t\tconst joinBuilder: BBBJoinConfigBuilder = new BBBJoinConfigBuilder({\n\t\t\tfullName: this.videoConferenceService.sanitizeString(`${user.firstName} ${user.lastName}`),\n\t\t\tmeetingID: scope.id,\n\t\t\trole,\n\t\t})\n\t\t\t.withUserId(currentUserId)\n\t\t\t.asGuest(isGuest);\n\n\t\tconst videoConference: VideoConferenceDO = await this.videoConferenceService.findVideoConferenceByScopeIdAndScope(\n\t\t\tscope.id,\n\t\t\tscope.scope\n\t\t);\n\n\t\tif (videoConference.options.everybodyJoinsAsModerator && !isGuest) {\n\t\t\tjoinBuilder.withRole(BBBRole.MODERATOR);\n\t\t}\n\n\t\tif (\n\t\t\tvideoConference.options.moderatorMustApproveJoinRequests &&\n\t\t\t!videoConference.options.everybodyJoinsAsModerator\n\t\t) {\n\t\t\tjoinBuilder.asGuest(true);\n\t\t}\n\n\t\tif (!videoConference.options.moderatorMustApproveJoinRequests && isGuest) {\n\t\t\tthrow new ForbiddenException(\n\t\t\t\tErrorStatus.GUESTS_CANNOT_JOIN_CONFERENCE,\n\t\t\t\t'Guests cannot join this conference, since the waiting room is not enabled.'\n\t\t\t);\n\t\t}\n\n\t\tconst url: string = await this.bbbService.join(joinBuilder.build());\n\n\t\tconst videoConferenceJoin: VideoConferenceJoin = new VideoConferenceJoin({\n\t\t\tstate: VideoConferenceState.RUNNING,\n\t\t\tpermission: PermissionMapping[role],\n\t\t\turl,\n\t\t});\n\t\treturn videoConferenceJoin;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceMapper.html":{"url":"classes/VideoConferenceMapper.html","title":"class - VideoConferenceMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/mapper/video-conference.mapper.ts\n \n\n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n toVideoConferenceInfoResponse\n \n \n Static\n toVideoConferenceJoinResponse\n \n \n Static\n toVideoConferenceOptions\n \n \n Static\n toVideoConferenceStateResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n toVideoConferenceInfoResponse\n \n \n \n \n \n \n \n toVideoConferenceInfoResponse(videoConferenceInfo: VideoConferenceInfo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/mapper/video-conference.mapper.ts:25\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n videoConferenceInfo\n \n VideoConferenceInfo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : VideoConferenceInfoResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n toVideoConferenceJoinResponse\n \n \n \n \n \n \n \n toVideoConferenceJoinResponse(videoConferenceJoin: VideoConferenceJoin)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/mapper/video-conference.mapper.ts:32\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n videoConferenceJoin\n \n VideoConferenceJoin\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : VideoConferenceJoinResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n toVideoConferenceOptions\n \n \n \n \n \n \n \n toVideoConferenceOptions(params: VideoConferenceCreateParams)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/mapper/video-conference.mapper.ts:42\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n params\n \n VideoConferenceCreateParams\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : VideoConferenceOptions\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n toVideoConferenceStateResponse\n \n \n \n \n \n \n \n toVideoConferenceStateResponse(state: VideoConferenceState)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/mapper/video-conference.mapper.ts:38\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n state\n \n VideoConferenceState\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : VideoConferenceStateResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Permission } from '@shared/domain/interface';\nimport { BBBRole } from '../bbb';\nimport {\n\tVideoConferenceCreateParams,\n\tVideoConferenceInfoResponse,\n\tVideoConferenceJoinResponse,\n\tVideoConferenceStateResponse,\n} from '../controller/dto';\nimport { VideoConferenceOptionsResponse } from '../controller/dto/response/video-conference-options.response';\nimport { VideoConferenceOptions, defaultVideoConferenceOptions } from '../interface';\nimport { VideoConferenceInfo, VideoConferenceJoin, VideoConferenceState } from '../uc/dto';\n\nexport const PermissionMapping = {\n\t[BBBRole.MODERATOR]: Permission.START_MEETING,\n\t[BBBRole.VIEWER]: Permission.JOIN_MEETING,\n};\n\nconst stateMapping = {\n\t[VideoConferenceState.NOT_STARTED]: VideoConferenceStateResponse.NOT_STARTED,\n\t[VideoConferenceState.RUNNING]: VideoConferenceStateResponse.RUNNING,\n\t[VideoConferenceState.FINISHED]: VideoConferenceStateResponse.FINISHED,\n};\n\nexport class VideoConferenceMapper {\n\tstatic toVideoConferenceInfoResponse(videoConferenceInfo: VideoConferenceInfo): VideoConferenceInfoResponse {\n\t\treturn new VideoConferenceInfoResponse({\n\t\t\tstate: this.toVideoConferenceStateResponse(videoConferenceInfo.state),\n\t\t\toptions: new VideoConferenceOptionsResponse(videoConferenceInfo.options),\n\t\t});\n\t}\n\n\tstatic toVideoConferenceJoinResponse(videoConferenceJoin: VideoConferenceJoin): VideoConferenceJoinResponse {\n\t\treturn new VideoConferenceJoinResponse({\n\t\t\turl: videoConferenceJoin.url,\n\t\t});\n\t}\n\n\tstatic toVideoConferenceStateResponse(state: VideoConferenceState): VideoConferenceStateResponse {\n\t\treturn stateMapping[state];\n\t}\n\n\tstatic toVideoConferenceOptions(params: VideoConferenceCreateParams): VideoConferenceOptions {\n\t\treturn {\n\t\t\teveryAttendeeJoinsMuted: params.everyAttendeeJoinsMuted ?? defaultVideoConferenceOptions.everyAttendeeJoinsMuted,\n\t\t\teverybodyJoinsAsModerator:\n\t\t\t\tparams.everybodyJoinsAsModerator ?? defaultVideoConferenceOptions.everybodyJoinsAsModerator,\n\t\t\tmoderatorMustApproveJoinRequests:\n\t\t\t\tparams.moderatorMustApproveJoinRequests ?? defaultVideoConferenceOptions.moderatorMustApproveJoinRequests,\n\t\t\tlogoutUrl: params.logoutUrl,\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"modules/VideoConferenceModule.html":{"url":"modules/VideoConferenceModule.html","title":"module - VideoConferenceModule","body":"\n \n\n\n\n\n Modules\n VideoConferenceModule\n\n\n\n \n \n\n\n\n\n\ndependencies\n\nLegend\n\n  Declarations\n\n  Module\n\n  Bootstrap\n\n  Providers\n\n  Exports\n\ncluster_VideoConferenceModule\n\n\n\ncluster_VideoConferenceModule_providers\n\n\n\ncluster_VideoConferenceModule_imports\n\n\n\ncluster_VideoConferenceModule_exports\n\n\n\n\nAuthorizationModule\n\nAuthorizationModule\n\n\n\nVideoConferenceModule\n\nVideoConferenceModule\n\nVideoConferenceModule -->\n\nAuthorizationModule->VideoConferenceModule\n\n\n\n\n\nAuthorizationReferenceModule\n\nAuthorizationReferenceModule\n\nVideoConferenceModule -->\n\nAuthorizationReferenceModule->VideoConferenceModule\n\n\n\n\n\nCalendarModule\n\nCalendarModule\n\nVideoConferenceModule -->\n\nCalendarModule->VideoConferenceModule\n\n\n\n\n\nLearnroomModule\n\nLearnroomModule\n\nVideoConferenceModule -->\n\nLearnroomModule->VideoConferenceModule\n\n\n\n\n\nLegacySchoolModule\n\nLegacySchoolModule\n\nVideoConferenceModule -->\n\nLegacySchoolModule->VideoConferenceModule\n\n\n\n\n\nLoggerModule\n\nLoggerModule\n\nVideoConferenceModule -->\n\nLoggerModule->VideoConferenceModule\n\n\n\n\n\nUserModule\n\nUserModule\n\nVideoConferenceModule -->\n\nUserModule->VideoConferenceModule\n\n\n\nVideoConferenceModule -->\n\nUserModule->VideoConferenceModule\n\n\n\n\n\nBBBService \n\nBBBService \n\nBBBService -->\n\nVideoConferenceModule->BBBService \n\n\n\n\n\nVideoConferenceService \n\nVideoConferenceService \n\nVideoConferenceService -->\n\nVideoConferenceModule->VideoConferenceService \n\n\n\n\n\nBBBService\n\nBBBService\n\nVideoConferenceModule -->\n\nBBBService->VideoConferenceModule\n\n\n\n\n\nConverterUtil\n\nConverterUtil\n\nVideoConferenceModule -->\n\nConverterUtil->VideoConferenceModule\n\n\n\n\n\nTeamsRepo\n\nTeamsRepo\n\nVideoConferenceModule -->\n\nTeamsRepo->VideoConferenceModule\n\n\n\n\n\nVideoConferenceDeprecatedUc\n\nVideoConferenceDeprecatedUc\n\nVideoConferenceModule -->\n\nVideoConferenceDeprecatedUc->VideoConferenceModule\n\n\n\n\n\nVideoConferenceRepo\n\nVideoConferenceRepo\n\nVideoConferenceModule -->\n\nVideoConferenceRepo->VideoConferenceModule\n\n\n\n\n\nVideoConferenceService\n\nVideoConferenceService\n\nVideoConferenceModule -->\n\nVideoConferenceService->VideoConferenceModule\n\n\n\n\n\n\n \n \n \n Zoom in\n Reset\n Zoom out\n \n\n\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n\n \n File\n \n \n apps/server/src/modules/video-conference/video-conference.module.ts\n \n\n\n\n\n\n \n \n \n Providers\n \n \n BBBService\n \n \n ConverterUtil\n \n \n TeamsRepo\n \n \n VideoConferenceDeprecatedUc\n \n \n VideoConferenceRepo\n \n \n VideoConferenceService\n \n \n \n \n Controllers\n \n \n VideoConferenceDeprecatedController\n \n \n \n \n Imports\n \n \n AuthorizationModule\n \n \n AuthorizationReferenceModule\n \n \n CalendarModule\n \n \n LearnroomModule\n \n \n LegacySchoolModule\n \n \n LoggerModule\n \n \n UserModule\n \n \n UserModule\n \n \n \n \n Exports\n \n \n BBBService\n \n \n VideoConferenceService\n \n \n \n \n \n\n\n \n\n\n \n import { Module } from '@nestjs/common';\nimport { HttpModule } from '@nestjs/axios';\nimport { CalendarModule } from '@infra/calendar';\nimport { VideoConferenceRepo } from '@shared/repo/videoconference/video-conference.repo';\nimport { AuthorizationModule } from '@modules/authorization';\nimport { AuthorizationReferenceModule } from '@modules/authorization/authorization-reference.module';\nimport { TeamsRepo } from '@shared/repo';\nimport { LegacySchoolModule } from '@modules/legacy-school';\nimport { LoggerModule } from '@src/core/logger';\nimport { ConverterUtil } from '@shared/common';\nimport { UserModule } from '@modules/user';\nimport { BBBService, BbbSettings } from './bbb';\nimport { VideoConferenceService } from './service';\nimport { VideoConferenceDeprecatedUc } from './uc';\nimport { VideoConferenceDeprecatedController } from './controller';\nimport VideoConferenceConfiguration from './video-conference-config';\nimport { VideoConferenceSettings } from './interface';\nimport { LearnroomModule } from '../learnroom';\n\n@Module({\n\timports: [\n\t\tAuthorizationModule,\n\t\tAuthorizationReferenceModule, // can be removed wenn video-conference-deprecated is removed\n\t\tCalendarModule,\n\t\tHttpModule,\n\t\tLegacySchoolModule,\n\t\tLoggerModule,\n\t\tUserModule,\n\t\tLearnroomModule,\n\t\tUserModule,\n\t],\n\tproviders: [\n\t\t{\n\t\t\tprovide: VideoConferenceSettings,\n\t\t\tuseValue: VideoConferenceConfiguration.videoConference,\n\t\t},\n\t\t{\n\t\t\tprovide: BbbSettings,\n\t\t\tuseValue: VideoConferenceConfiguration.bbb,\n\t\t},\n\t\tBBBService,\n\t\tVideoConferenceRepo,\n\t\t// TODO: N21-1010 clean up video conferences - remove repos\n\t\tTeamsRepo,\n\t\tConverterUtil,\n\t\tVideoConferenceService,\n\t\t// TODO: N21-885 remove VideoConferenceDeprecatedUc from providers\n\t\tVideoConferenceDeprecatedUc,\n\t],\n\t// TODO: N21-885 remove VideoConferenceDeprecatedController from exports\n\tcontrollers: [VideoConferenceDeprecatedController],\n\texports: [BBBService, VideoConferenceService],\n})\nexport class VideoConferenceModule {}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceOptions.html":{"url":"classes/VideoConferenceOptions.html","title":"class - VideoConferenceOptions","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceOptions\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/entity/video-conference.entity.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n everyAttendeJoinsMuted\n \n \n everybodyJoinsAsModerator\n \n \n moderatorMustApproveJoinRequests\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(options: VideoConferenceOptions)\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/video-conference.entity.ts:14\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n \n VideoConferenceOptions\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n everyAttendeJoinsMuted\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/video-conference.entity.ts:10\n \n \n\n\n \n \n \n \n \n \n \n \n everybodyJoinsAsModerator\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/video-conference.entity.ts:12\n \n \n\n\n \n \n \n \n \n \n \n \n moderatorMustApproveJoinRequests\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/shared/domain/entity/video-conference.entity.ts:14\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { Entity, Index, Property } from '@mikro-orm/core';\nimport { BaseEntityWithTimestamps } from './base.entity';\n\nexport enum TargetModels {\n\tCOURSES = 'courses',\n\tEVENTS = 'events',\n}\n\nexport class VideoConferenceOptions {\n\teveryAttendeJoinsMuted: boolean;\n\n\teverybodyJoinsAsModerator: boolean;\n\n\tmoderatorMustApproveJoinRequests: boolean;\n\n\tconstructor(options: VideoConferenceOptions) {\n\t\tthis.everyAttendeJoinsMuted = options.everyAttendeJoinsMuted;\n\t\tthis.everybodyJoinsAsModerator = options.everybodyJoinsAsModerator;\n\t\tthis.moderatorMustApproveJoinRequests = options.moderatorMustApproveJoinRequests;\n\t}\n}\n\nexport type IVideoConferenceProperties = Readonly>;\n\n// Preset options for opening a video conference\n@Entity({ tableName: 'videoconferences' })\n@Index({ properties: ['target', 'targetModel'] })\nexport class VideoConference extends BaseEntityWithTimestamps {\n\t@Property()\n\t@Index()\n\ttarget: string;\n\n\t@Property()\n\ttargetModel: TargetModels;\n\n\t@Property()\n\toptions: VideoConferenceOptions;\n\n\tconstructor(props: IVideoConferenceProperties) {\n\t\tsuper();\n\t\tthis.target = props.target;\n\t\tthis.targetModel = props.targetModel;\n\t\tthis.options = props.options;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceOptionsDO.html":{"url":"classes/VideoConferenceOptionsDO.html","title":"class - VideoConferenceOptionsDO","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceOptionsDO\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/domain/domainobject/video-conference.do.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n everyAttendeeJoinsMuted\n \n \n everybodyJoinsAsModerator\n \n \n moderatorMustApproveJoinRequests\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(options: VideoConferenceOptionsDO)\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/video-conference.do.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n options\n \n \n VideoConferenceOptionsDO\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n everyAttendeeJoinsMuted\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/video-conference.do.ts:5\n \n \n\n\n \n \n \n \n \n \n \n \n everybodyJoinsAsModerator\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/video-conference.do.ts:7\n \n \n\n\n \n \n \n \n \n \n \n \n moderatorMustApproveJoinRequests\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Defined in apps/server/src/shared/domain/domainobject/video-conference.do.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { VideoConferenceScope } from '@shared/domain/interface/video-conference-scope.enum';\nimport { BaseDO } from './base.do';\n\nexport class VideoConferenceOptionsDO {\n\teveryAttendeeJoinsMuted: boolean;\n\n\teverybodyJoinsAsModerator: boolean;\n\n\tmoderatorMustApproveJoinRequests: boolean;\n\n\tconstructor(options: VideoConferenceOptionsDO) {\n\t\tthis.everyAttendeeJoinsMuted = options.everyAttendeeJoinsMuted;\n\t\tthis.everybodyJoinsAsModerator = options.everybodyJoinsAsModerator;\n\t\tthis.moderatorMustApproveJoinRequests = options.moderatorMustApproveJoinRequests;\n\t}\n}\n\nexport class VideoConferenceDO extends BaseDO {\n\ttarget: string;\n\n\ttargetModel: VideoConferenceScope;\n\n\toptions: VideoConferenceOptionsDO;\n\n\tconstructor(domainObject: VideoConferenceDO) {\n\t\tsuper(domainObject.id);\n\n\t\tthis.target = domainObject.target;\n\t\tthis.targetModel = domainObject.targetModel;\n\t\tthis.options = domainObject.options;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceOptionsResponse.html":{"url":"classes/VideoConferenceOptionsResponse.html","title":"class - VideoConferenceOptionsResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceOptionsResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/controller/dto/response/video-conference-options.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n everyAttendeeJoinsMuted\n \n \n \n everybodyJoinsAsModerator\n \n \n \n moderatorMustApproveJoinRequests\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(resp: VideoConferenceOptionsResponse)\n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-options.response.ts:20\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n resp\n \n \n VideoConferenceOptionsResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n everyAttendeeJoinsMuted\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Every attendee joins muted', example: false})\n \n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-options.response.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n everybodyJoinsAsModerator\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Every attendee joins as a moderator', example: false})\n \n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-options.response.ts:14\n \n \n\n\n \n \n \n \n \n \n \n \n \n moderatorMustApproveJoinRequests\n \n \n \n \n \n \n Type : boolean\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({description: 'Moderator must approve join requests', example: true})\n \n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/response/video-conference-options.response.ts:20\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\n\nexport class VideoConferenceOptionsResponse {\n\t@ApiProperty({\n\t\tdescription: 'Every attendee joins muted',\n\t\texample: false,\n\t})\n\teveryAttendeeJoinsMuted: boolean;\n\n\t@ApiProperty({\n\t\tdescription: 'Every attendee joins as a moderator',\n\t\texample: false,\n\t})\n\teverybodyJoinsAsModerator: boolean;\n\n\t@ApiProperty({\n\t\tdescription: 'Moderator must approve join requests',\n\t\texample: true,\n\t})\n\tmoderatorMustApproveJoinRequests: boolean;\n\n\tconstructor(resp: VideoConferenceOptionsResponse) {\n\t\tthis.everyAttendeeJoinsMuted = resp.everyAttendeeJoinsMuted;\n\t\tthis.everybodyJoinsAsModerator = resp.everybodyJoinsAsModerator;\n\t\tthis.moderatorMustApproveJoinRequests = resp.moderatorMustApproveJoinRequests;\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/VideoConferenceRepo.html":{"url":"injectables/VideoConferenceRepo.html","title":"injectable - VideoConferenceRepo","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n VideoConferenceRepo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/shared/repo/videoconference/video-conference.repo.ts\n \n\n\n\n \n Extends\n \n \n BaseDORepo\n \n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Async\n findByScopeAndScopeId\n \n \n Protected\n mapDOToEntityProperties\n \n \n Protected\n mapEntityToDO\n \n \n Private\n Async\n createOrUpdateEntity\n \n \n Async\n delete\n \n \n Async\n deleteById\n \n \n Async\n findById\n \n \n Private\n removeProtectedEntityFields\n \n \n Async\n save\n \n \n Async\n saveAll\n \n \n \n \n\n\n\n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n \n \n \n \n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Async\n findByScopeAndScopeId\n \n \n \n \n \n \n \n findByScopeAndScopeId(scopeId: string, videoConferenceScope: VideoConferenceScope)\n \n \n\n\n \n \n Defined in apps/server/src/shared/repo/videoconference/video-conference.repo.ts:24\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n scopeId\n \n string\n \n\n \n No\n \n\n\n \n \n videoConferenceScope\n \n VideoConferenceScope\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n mapDOToEntityProperties\n \n \n \n \n \n \n \n mapDOToEntityProperties(entityDO: VideoConferenceDO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:46\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityDO\n \n VideoConferenceDO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : EntityData\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Protected\n mapEntityToDO\n \n \n \n \n \n \n \n mapEntityToDO(entity: VideoConference)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:33\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entity\n \n VideoConference\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : VideoConferenceDO\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n Async\n createOrUpdateEntity\n \n \n \n \n \n \n \n createOrUpdateEntity(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:32\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n delete\n \n \n \n \n \n \n \n delete(domainObjects: DO[] | DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:61\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[] | DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n deleteById\n \n \n \n \n \n \n [object Object],[object Object],[object Object]\n \n \n \n \n \n deleteById(id: EntityId | EntityId[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:78\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId | EntityId[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n findById\n \n \n \n \n \n \n \n findById(id: EntityId)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:90\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n id\n \n EntityId\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n removeProtectedEntityFields\n \n \n \n \n \n \n \n removeProtectedEntityFields(entityData: EntityData)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:98\n\n \n \n\n\n \n \n Ignore base entity properties when updating entity\n\n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n entityData\n \n EntityData\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n save\n \n \n \n \n \n \n \n save(domainObject: DO)\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:19\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObject\n \n DO\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Async\n saveAll\n \n \n \n \n \n \n \n saveAll(domainObjects: DO[])\n \n \n\n\n \n \n Inherited from BaseDORepo\n\n \n \n \n \n Defined in BaseDORepo:24\n\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n domainObjects\n \n DO[]\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : Promise\n\n \n \n \n \n \n \n \n \n\n\n \n \n Accessors\n \n \n \n \n \n \n entityName\n \n \n\n \n \n getentityName()\n \n \n \n \n Defined in apps/server/src/shared/repo/videoconference/video-conference.repo.ts:20\n \n \n\n \n \n\n \n\n\n \n import { EntityData, EntityName, Loaded } from '@mikro-orm/core';\nimport { Injectable } from '@nestjs/common';\nimport { VideoConferenceDO } from '@shared/domain/domainobject';\nimport { TargetModels, VideoConference } from '@shared/domain/entity/video-conference.entity';\nimport { VideoConferenceScope } from '@shared/domain/interface';\nimport { BaseDORepo } from '@shared/repo/base.do.repo';\n\nconst TargetModelsMapping = {\n\t[VideoConferenceScope.EVENT]: TargetModels.EVENTS,\n\t[VideoConferenceScope.COURSE]: TargetModels.COURSES,\n};\n\nconst VideoConferencingScopeMapping = {\n\t[TargetModels.EVENTS]: VideoConferenceScope.EVENT,\n\t[TargetModels.COURSES]: VideoConferenceScope.COURSE,\n};\n\n@Injectable()\nexport class VideoConferenceRepo extends BaseDORepo {\n\tget entityName(): EntityName {\n\t\treturn VideoConference;\n\t}\n\n\tasync findByScopeAndScopeId(scopeId: string, videoConferenceScope: VideoConferenceScope): Promise {\n\t\tconst entity: Loaded = await this._em.findOneOrFail(VideoConference, {\n\t\t\ttarget: scopeId,\n\t\t\ttargetModel: TargetModelsMapping[videoConferenceScope],\n\t\t});\n\n\t\treturn this.mapEntityToDO(entity);\n\t}\n\n\tprotected mapEntityToDO(entity: VideoConference): VideoConferenceDO {\n\t\treturn new VideoConferenceDO({\n\t\t\tid: entity.id,\n\t\t\ttarget: entity.target,\n\t\t\ttargetModel: VideoConferencingScopeMapping[entity.targetModel],\n\t\t\toptions: {\n\t\t\t\teverybodyJoinsAsModerator: entity.options.everybodyJoinsAsModerator,\n\t\t\t\teveryAttendeeJoinsMuted: entity.options.everyAttendeJoinsMuted,\n\t\t\t\tmoderatorMustApproveJoinRequests: entity.options.moderatorMustApproveJoinRequests,\n\t\t\t},\n\t\t});\n\t}\n\n\tprotected mapDOToEntityProperties(entityDO: VideoConferenceDO): EntityData {\n\t\treturn {\n\t\t\ttarget: entityDO.target,\n\t\t\ttargetModel: TargetModelsMapping[entityDO.targetModel],\n\t\t\toptions: {\n\t\t\t\teverybodyJoinsAsModerator: entityDO.options.everybodyJoinsAsModerator,\n\t\t\t\teveryAttendeJoinsMuted: entityDO.options.everyAttendeeJoinsMuted,\n\t\t\t\tmoderatorMustApproveJoinRequests: entityDO.options.moderatorMustApproveJoinRequests,\n\t\t\t},\n\t\t};\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceResponseDeprecatedMapper.html":{"url":"classes/VideoConferenceResponseDeprecatedMapper.html","title":"class - VideoConferenceResponseDeprecatedMapper","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceResponseDeprecatedMapper\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/mapper/vc-deprecated-response.mapper.ts\n \n\n \n Deprecated\n \n \n Please use the VideoConferenceResponseMapper instead.\n \n\n\n\n\n\n \n Index\n \n \n\n \n \n Methods\n \n \n \n \n \n \n Static\n mapToBaseResponse\n \n \n Static\n mapToInfoResponse\n \n \n Static\n mapToJoinResponse\n \n \n \n \n\n\n\n\n\n \n \n\n\n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Static\n mapToBaseResponse\n \n \n \n \n \n \n \n mapToBaseResponse(from: VideoConference)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/mapper/vc-deprecated-response.mapper.ts:14\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n from\n \n VideoConference\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : VideoConferenceBaseResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToInfoResponse\n \n \n \n \n \n \n \n mapToInfoResponse(from: VideoConferenceInfo)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/mapper/vc-deprecated-response.mapper.ts:29\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n from\n \n VideoConferenceInfo\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeprecatedVideoConferenceInfoResponse\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Static\n mapToJoinResponse\n \n \n \n \n \n \n \n mapToJoinResponse(from: VideoConferenceJoin)\n \n \n\n\n \n \n Defined in apps/server/src/modules/video-conference/mapper/vc-deprecated-response.mapper.ts:21\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n \n \n \n \n from\n \n VideoConferenceJoin\n \n\n \n No\n \n\n\n \n \n \n \n \n Returns : DeprecatedVideoConferenceJoinResponse\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { BBBBaseResponse } from '../bbb';\nimport {\n\tDeprecatedVideoConferenceInfoResponse,\n\tDeprecatedVideoConferenceJoinResponse,\n\tVideoConferenceBaseResponse,\n} from '../controller/dto/response/video-conference-deprecated.response';\nimport { VideoConference, VideoConferenceInfo, VideoConferenceJoin } from '../uc/dto';\nimport { VideoConferenceMapper } from './video-conference.mapper';\n\n/**\n * @deprecated Please use the VideoConferenceResponseMapper instead.\n */\nexport class VideoConferenceResponseDeprecatedMapper {\n\tstatic mapToBaseResponse(from: VideoConference): VideoConferenceBaseResponse {\n\t\treturn new VideoConferenceBaseResponse({\n\t\t\tstate: VideoConferenceMapper.toVideoConferenceStateResponse(from.state),\n\t\t\tpermission: from.permission,\n\t\t});\n\t}\n\n\tstatic mapToJoinResponse(from: VideoConferenceJoin): DeprecatedVideoConferenceJoinResponse {\n\t\treturn new DeprecatedVideoConferenceJoinResponse({\n\t\t\tstate: VideoConferenceMapper.toVideoConferenceStateResponse(from.state),\n\t\t\tpermission: from.permission,\n\t\t\turl: from.url,\n\t\t});\n\t}\n\n\tstatic mapToInfoResponse(from: VideoConferenceInfo): DeprecatedVideoConferenceInfoResponse {\n\t\treturn new DeprecatedVideoConferenceInfoResponse({\n\t\t\tstate: VideoConferenceMapper.toVideoConferenceStateResponse(from.state),\n\t\t\tpermission: from.permission,\n\t\t\toptions: from.options,\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VideoConferenceScopeParams.html":{"url":"classes/VideoConferenceScopeParams.html","title":"class - VideoConferenceScopeParams","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VideoConferenceScopeParams\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/video-conference/controller/dto/request/video-conference-scope.params.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n \n scope\n \n \n \n \n scopeId\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n \n scope\n \n \n \n \n \n \n Type : VideoConferenceScope\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({nullable: false, required: true, enum: VideoConferenceScope, enumName: 'VideoConferenceScope'})@IsEnum(VideoConferenceScope)\n \n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/request/video-conference-scope.params.ts:8\n \n \n\n\n \n \n \n \n \n \n \n \n \n \n scopeId\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiProperty({nullable: false, required: true})@IsMongoId()\n \n \n \n \n \n Defined in apps/server/src/modules/video-conference/controller/dto/request/video-conference-scope.params.ts:12\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiProperty } from '@nestjs/swagger';\nimport { VideoConferenceScope } from '@shared/domain/interface';\nimport { IsEnum, IsMongoId } from 'class-validator';\n\nexport class VideoConferenceScopeParams {\n\t@ApiProperty({ nullable: false, required: true, enum: VideoConferenceScope, enumName: 'VideoConferenceScope' })\n\t@IsEnum(VideoConferenceScope)\n\tscope!: VideoConferenceScope;\n\n\t@ApiProperty({ nullable: false, required: true })\n\t@IsMongoId()\n\tscopeId!: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/VisibilitySettingsResponse.html":{"url":"classes/VisibilitySettingsResponse.html","title":"class - VisibilitySettingsResponse","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n VisibilitySettingsResponse\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/board/controller/dto/card/visibility-settings.response.ts\n \n\n\n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n Optional\n publishedAt\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(undefined: VisibilitySettingsResponse)\n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/visibility-settings.response.ts:3\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n \n \n VisibilitySettingsResponse\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n \n Optional\n publishedAt\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Decorators : \n \n \n @ApiPropertyOptional()\n \n \n \n \n \n Defined in apps/server/src/modules/board/controller/dto/card/visibility-settings.response.ts:9\n \n \n\n\n \n \n\n\n\n\n\n\n\n\n \n\n\n \n import { ApiPropertyOptional } from '@nestjs/swagger';\n\nexport class VisibilitySettingsResponse {\n\tconstructor({ publishedAt }: VisibilitySettingsResponse) {\n\t\tthis.publishedAt = publishedAt;\n\t}\n\n\t@ApiPropertyOptional()\n\tpublishedAt?: string;\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"classes/WsSharedDocDo.html":{"url":"classes/WsSharedDocDo.html","title":"class - WsSharedDocDo","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n Classes\n WsSharedDocDo\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/tldraw/domain/ws-shared-doc.do.ts\n \n\n\n\n \n Extends\n \n \n Doc\n \n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Public\n awareness\n \n \n Public\n awarenessChangeHandler\n \n \n Public\n conns\n \n \n Public\n name\n \n \n \n \n\n \n \n Methods\n \n \n \n \n \n \n Private\n manageClientsConnections\n \n \n Private\n prepareAwarenessMessage\n \n \n Private\n sendAwarenessMessage\n \n \n \n \n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(name: string, tldrawService: TldrawWsService, gcEnabled)\n \n \n \n \n Defined in apps/server/src/modules/tldraw/domain/ws-shared-doc.do.ts:13\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n name\n \n \n string\n \n \n \n No\n \n \n \n \n tldrawService\n \n \n TldrawWsService\n \n \n \n No\n \n \n \n \n gcEnabled\n \n \n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Public\n awareness\n \n \n \n \n \n \n Type : Awareness\n\n \n \n \n \n Defined in apps/server/src/modules/tldraw/domain/ws-shared-doc.do.ts:13\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n awarenessChangeHandler\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/modules/tldraw/domain/ws-shared-doc.do.ts:37\n \n \n\n\n \n \n \n Parameters :\n \n \n \n Name\n Description\n \n \n \n \n changes\n \n \n \n \n wsConnection\n \n Origin is the connection that made the change\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Public\n conns\n \n \n \n \n \n \n Type : Map>\n\n \n \n \n \n Defined in apps/server/src/modules/tldraw/domain/ws-shared-doc.do.ts:11\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n name\n \n \n \n \n \n \n Type : string\n\n \n \n \n \n Defined in apps/server/src/modules/tldraw/domain/ws-shared-doc.do.ts:9\n \n \n\n\n \n \n\n\n \n \n \n Methods\n \n \n \n \n \n \n \n Private\n manageClientsConnections\n \n \n \n \n \n \n \n manageClientsConnections(undefined: literal type, wsConnection: WebSocket | null)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/domain/ws-shared-doc.do.ts:50\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n \n literal type\n \n\n \n No\n \n\n\n \n \n \n \n wsConnection\n \n WebSocket | null\n \n\n \n No\n \n\n\n \n Origin is the connection that made the change\n\n \n \n \n \n \n \n Returns : number[]\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n prepareAwarenessMessage\n \n \n \n \n \n \n \n prepareAwarenessMessage(changedClients: number[])\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/domain/ws-shared-doc.do.ts:72\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n changedClients\n \n number[]\n \n\n \n No\n \n\n\n \n array of changed clients\n\n \n \n \n \n \n \n Returns : Uint8Array\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Private\n sendAwarenessMessage\n \n \n \n \n \n \n \n sendAwarenessMessage(buff: Uint8Array)\n \n \n\n\n \n \n Defined in apps/server/src/modules/tldraw/domain/ws-shared-doc.do.ts:83\n \n \n\n\n \n \n\n \n Parameters :\n \n \n \n \n Name\n Type\n Optional\n Description\n \n \n \n \n buff\n \n Uint8Array\n \n\n \n No\n \n\n\n \n encoded message about changes\n\n \n \n \n \n \n \n Returns : void\n\n \n \n \n \n \n \n \n \n\n\n\n\n\n\n \n\n\n \n import { Doc } from 'yjs';\nimport WebSocket from 'ws';\nimport { Awareness, encodeAwarenessUpdate } from 'y-protocols/awareness';\nimport { encoding } from 'lib0';\nimport { TldrawWsService } from '@modules/tldraw/service';\nimport { WSMessageType } from '../types/connection-enum';\n\nexport class WsSharedDocDo extends Doc {\n\tpublic name: string;\n\n\tpublic conns: Map>;\n\n\tpublic awareness: Awareness;\n\n\t/**\n\t * @param {string} name\n\t * @param {TldrawWsService} tldrawService\n\t * @param {boolean} gcEnabled\n\t */\n\tconstructor(name: string, private tldrawService: TldrawWsService, gcEnabled = true) {\n\t\tsuper({ gc: gcEnabled });\n\t\tthis.name = name;\n\t\tthis.conns = new Map();\n\t\tthis.awareness = new Awareness(this);\n\t\tthis.awareness.setLocalState(null);\n\n\t\tthis.awareness.on('update', this.awarenessChangeHandler);\n\t\tthis.on('update', (update: Uint8Array, origin, doc: WsSharedDocDo) => {\n\t\t\tthis.tldrawService.updateHandler(update, origin, doc);\n\t\t});\n\t}\n\n\t/**\n\t * @param {{ added: Array, updated: Array, removed: Array }} changes\n\t * @param {WebSocket | null} wsConnection Origin is the connection that made the change\n\t */\n\tpublic awarenessChangeHandler = (\n\t\t{ added, updated, removed }: { added: Array; updated: Array; removed: Array },\n\t\twsConnection: WebSocket | null\n\t): void => {\n\t\tconst changedClients = this.manageClientsConnections({ added, updated, removed }, wsConnection);\n\t\tconst buff = this.prepareAwarenessMessage(changedClients);\n\t\tthis.sendAwarenessMessage(buff);\n\t};\n\n\t/**\n\t * @param {{ added: Array, updated: Array, removed: Array }} changes\n\t * @param {WebSocket | null} wsConnection Origin is the connection that made the change\n\t */\n\tprivate manageClientsConnections(\n\t\t{ added, updated, removed }: { added: Array; updated: Array; removed: Array },\n\t\twsConnection: WebSocket | null\n\t): number[] {\n\t\tconst changedClients = added.concat(updated, removed);\n\t\tif (wsConnection !== null) {\n\t\t\tconst connControlledIDs = this.conns.get(wsConnection);\n\t\t\tif (connControlledIDs !== undefined) {\n\t\t\t\tadded.forEach((clientID) => {\n\t\t\t\t\tconnControlledIDs.add(clientID);\n\t\t\t\t});\n\t\t\t\tremoved.forEach((clientID) => {\n\t\t\t\t\tconnControlledIDs.delete(clientID);\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t\treturn changedClients;\n\t}\n\n\t/**\n\t * @param changedClients array of changed clients\n\t */\n\tprivate prepareAwarenessMessage(changedClients: number[]): Uint8Array {\n\t\tconst encoder = encoding.createEncoder();\n\t\tencoding.writeVarUint(encoder, WSMessageType.AWARENESS);\n\t\tencoding.writeVarUint8Array(encoder, encodeAwarenessUpdate(this.awareness, changedClients));\n\t\tconst message = encoding.toUint8Array(encoder);\n\t\treturn message;\n\t}\n\n\t/**\n\t * @param {{ Uint8Array }} buff encoded message about changes\n\t */\n\tprivate sendAwarenessMessage(buff: Uint8Array): void {\n\t\tthis.conns.forEach((_, c) => {\n\t\t\tthis.tldrawService.send(this, c, buff);\n\t\t});\n\t}\n}\n\n \n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"interfaces/XApiKeyConfig.html":{"url":"interfaces/XApiKeyConfig.html","title":"interface - XApiKeyConfig","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n Interfaces\n \n XApiKeyConfig\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/config/x-api-key.config.ts\n \n\n\n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n \n ADMIN_API__ALLOWED_API_KEYS\n \n \n \n \n \n \n \n \n\n\n\n \n Properties\n \n \n \n \n \n ADMIN_API__ALLOWED_API_KEYS\n \n \n \n \n \n \n \n \n ADMIN_API__ALLOWED_API_KEYS: string[]\n\n \n \n\n\n \n \n Type : string[]\n\n \n \n\n\n\n\n\n \n \n \n \n\n\n \n export interface XApiKeyConfig {\n\tADMIN_API__ALLOWED_API_KEYS: string[];\n}\n\n \n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"injectables/XApiKeyStrategy.html":{"url":"injectables/XApiKeyStrategy.html","title":"injectable - XApiKeyStrategy","body":"\n \n\n\n\n\n\n\n\n\n\n Injectables\n XApiKeyStrategy\n\n\n\n \n Info\n \n \n Source\n \n\n\n\n \n \n File\n \n \n apps/server/src/modules/authentication/strategy/x-api-key.strategy.ts\n \n\n\n\n \n Extends\n \n \n PassportStrategy(Strategy, 'api-key')\n \n\n\n \n Index\n \n \n \n \n Properties\n \n \n \n \n \n \n Private\n Readonly\n allowedApiKeys\n \n \n Public\n validate\n \n \n \n \n\n\n\n\n\n\n \n \n\n\n \n Constructor\n \n \n \n \nconstructor(configService: ConfigService)\n \n \n \n \n Defined in apps/server/src/modules/authentication/strategy/x-api-key.strategy.ts:9\n \n \n\n \n \n \n Parameters :\n \n \n \n Name\n Type\n Optional\n \n \n \n \n configService\n \n \n ConfigService\n \n \n \n No\n \n \n \n \n \n \n \n \n \n \n\n\n\n \n \n \n Properties\n \n \n \n \n \n \n \n Private\n Readonly\n allowedApiKeys\n \n \n \n \n \n \n Type : string[]\n\n \n \n \n \n Defined in apps/server/src/modules/authentication/strategy/x-api-key.strategy.ts:9\n \n \n\n\n \n \n \n \n \n \n \n \n Public\n validate\n \n \n \n \n \n \n Default value : () => {...}\n \n \n \n \n Defined in apps/server/src/modules/authentication/strategy/x-api-key.strategy.ts:16\n \n \n\n\n \n \n\n\n \n\n\n \n import { Injectable, UnauthorizedException } from '@nestjs/common';\nimport { PassportStrategy } from '@nestjs/passport';\nimport { ConfigService } from '@nestjs/config';\nimport Strategy from 'passport-headerapikey';\nimport { XApiKeyConfig } from '../config/x-api-key.config';\n\n@Injectable()\nexport class XApiKeyStrategy extends PassportStrategy(Strategy, 'api-key') {\n\tprivate readonly allowedApiKeys: string[];\n\n\tconstructor(private readonly configService: ConfigService) {\n\t\tsuper({ header: 'X-API-KEY' }, false);\n\t\tthis.allowedApiKeys = this.configService.get('ADMIN_API__ALLOWED_API_KEYS');\n\t}\n\n\tpublic validate = (apiKey: string, done: (error: Error | null, data: boolean | null) => void) => {\n\t\tif (this.allowedApiKeys.includes(apiKey)) {\n\t\t\tdone(null, true);\n\t\t}\n\t\tdone(new UnauthorizedException(), null);\n\t};\n}\n\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"dependencies.html":{"url":"dependencies.html","title":"package-dependencies - dependencies","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n Dependencies\n \n \n \n @aws-sdk/lib-storage : ^3.100.0\n \n @feathersjs/authentication : ^4.5.16\n \n @feathersjs/authentication-local : ^4.5.11\n \n @feathersjs/configuration : ^4.5.11\n \n @feathersjs/errors : ^4.5.11\n \n @feathersjs/express : ^4.5.11\n \n @feathersjs/feathers : ^4.5.11\n \n @golevelup/nestjs-rabbitmq : ^4.0.0\n \n @hendt/xml2json : ^1.0.3\n \n @hpi-schul-cloud/commons : ^1.3.4\n \n @keycloak/keycloak-admin-client : ^21.1.2\n \n @lumieducation/h5p-server : ^9.2.0\n \n @mikro-orm/core : ^5.5.3\n \n @mikro-orm/mongodb : ^5.5.3\n \n @mikro-orm/nestjs : ^5.2.1\n \n @nestjs/axios : ^3.0.0\n \n @nestjs/cache-manager : ^2.1.0\n \n @nestjs/common : ^10.2.4\n \n @nestjs/config : ^3.0.1\n \n @nestjs/core : ^10.2.4\n \n @nestjs/jwt : ^10.1.1\n \n @nestjs/microservices : ^10.2.4\n \n @nestjs/passport : ^10.0.1\n \n @nestjs/platform-express : ^10.2.4\n \n @nestjs/platform-ws : ^10.2.4\n \n @nestjs/swagger : ^7.1.10\n \n @nestjs/websockets : ^10.2.4\n \n @types/cache-manager-redis-store : ^2.0.1\n \n @types/connect-redis : ^0.0.19\n \n @types/gm : ^1.25.1\n \n @types/ldapjs : ^2.2.5\n \n @types/redis : ^2.8.32\n \n @types/xml2js : ^0.4.11\n \n adm-zip : ^0.5.9\n \n ajv : ^8.8.2\n \n amqp-connection-manager : ^3.2.2\n \n amqplib : ^0.8.0\n \n arg : ^5.0.0\n \n args : ^5.0.1\n \n async : ^3.2.2\n \n async-mutex : ^0.4.0\n \n aws-sdk : ^2.1375.0\n \n axios : ^1.5.0\n \n axios-mock-adapter : ^1.21.2\n \n bbb-promise : ^1.2.0\n \n bcryptjs : *\n \n body-parser : ^1.15.2\n \n bson : ^4.6.0\n \n busboy : ^1.6.0\n \n cache-manager : ^2.9.0\n \n cache-manager-redis-store : ^2.0.0\n \n chalk : ^5.0.0\n \n clamscan : ^2.1.2\n \n class-transformer : ^0.4.0\n \n class-validator : ^0.14.0\n \n client-oauth2 : ^4.2.5\n \n commander : ^8.1.0\n \n compression : ^1.6.2\n \n concurrently : ^6.0.0\n \n connect-redis : ^6.1.3\n \n cors : ^2.8.1\n \n cross-env : ^7.0.0\n \n crypto-js : ^4.2.0\n \n disposable-email-domains : ^1.0.56\n \n es6-promisify : ^7.0.0\n \n express : ^4.14.0\n \n express-openapi-validator : ^4.13.2\n \n express-session : ^1.17.3\n \n feathers-hooks-common : ^5.0.3\n \n feathers-mongoose : ^6.3.0\n \n feathers-swagger : ^3.0.0\n \n file-type : ^18.5.0\n \n freeport : ^1.0.5\n \n gm : ^1.25.0\n \n html-entities : ^2.3.2\n \n i18next : ^23.3.0\n \n i18next-fs-backend : ^2.1.5\n \n jose : ^1.28.1\n \n jsonwebtoken : ^9.0.0\n \n jwks-rsa : ^2.0.5\n \n ldapjs : git://github.com/hpi-schul-cloud/node-ldapjs.git\n \n lodash : ^4.17.19\n \n migrate-mongoose : ^4.0.0\n \n mixwith : ^0.1.1\n \n moment : ^2.19.2\n \n mongodb-uri : ^0.9.7\n \n mongoose : ^5.13.20\n \n mongoose-delete : ^0.5.4\n \n mongoose-id-validator : ^0.6.0\n \n mongoose-lean-virtuals : ^0.8.1\n \n mongoose-shortid-nodeps : git://github.com/leeroybrun/mongoose-shortid-nodeps.git\n \n moodle-client : ^0.5.2\n \n nanoid : ^3.3.4\n \n nest-winston : ^1.9.4\n \n nestjs-console : ^9.0.0\n \n oauth-1.0a : ^2.2.6\n \n open-graph-scraper : ^6.2.2\n \n p-limit : ^3.1.0\n \n papaparse : ^5.1.1\n \n passport : ^0.6.0\n \n passport-custom : ^1.1.1\n \n passport-headerapikey : ^1.2.2\n \n passport-jwt : ^4.0.1\n \n passport-local : ^1.0.0\n \n prom-client : ^13.1.0\n \n qs : ^6.9.7\n \n read-chunk : ^3.0.0\n \n redis : ^3.0.0\n \n reflect-metadata : ^0.1.13\n \n request-promise-core : ^1.1.4\n \n request-promise-native : ^1.0.3\n \n response-time : ^2.3.2\n \n rimraf : ^3.0.2\n \n rss-parser : ^3.13.0\n \n rxjs : ^7.3.1\n \n sanitize-html : ^2.1.0\n \n serve-favicon : ^2.3.2\n \n service : ^0.1.4\n \n socketio-file-upload : ^0.7.0\n \n source-map-support : ^0.5.19\n \n strip-bom : ^4.0.0\n \n swagger-ui-dist : ^4.18.2\n \n swagger-ui-express : ^4.1.6\n \n tiny-async-pool : ^1.2.0\n \n universal-analytics : ^0.5.1\n \n urlsafe-base64 : ^1.0.0\n \n uuid : ^8.3.0\n \n winston : ^3.8.2\n \n y-mongodb-provider : ^0.1.7\n \n y-protocols : ^1.0.5\n \n yjs : ^13.6.7\n \n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"index.html":{"url":"index.html","title":"getting-started - index","body":"\n \n\nSchul-Cloud Server\n\n\n\nNestJS application\n\nFind the NestJS applications documentation of this repository at GitHub pages. It contains information about\n\n\nsetup & preconditions\nstarting the application\ntesting\ntools setup (VSCode, Git)\narchitecture\n\nBased on NestJS\nFeathers application\nThis is legacy part of the application!\nBased on Node.js and Feathers\nApplication seperation\nIn order to seperate NestJS and Feathers each application runs in its own express instance. These express instances are then mounted on seperate paths under a common root express instance.\nExample :Root-Express-App \n├─ api/v1/ --> Feathers-App\n├─ api/v3/ --> NestJS-AppThis ensures that each application can run its own middleware stack for authentication, error handling, logging etc.\nThe mount paths don't have any impact on the routes inside of the applications, e.g. the path /api/v3/news will translate to the inner path /news. That means that in terms of route matching each child application doesn't have to take any measures regarding the path prefix. It simply works as it was mounted to /.\nHowever note that when URLs are generated inside a child application the path prefix has to be prepended. Only then the generated URLs match the appropriate child application, e.g. the path /news has to be provided as the external path /api/v3/news.\nIt is possible (not very likely) that the server api is called with URLs that use the old schema without a path prefix. As a safety net for that we additionally mount the Feathers application as before under the paths:\n\n/ - for internal calls\n/api - for external calls\n\nWhen these paths are accessed an error with context [DEPRECATED-PATH] is logged.\nSetup\nThe whole application setup with all dependencies can be found in System Architecture. It contains information about how different application components are connected to each other.\nDebugger Configuration in Visual Studio Code\nFor more details how to set up Visual Studio Code, read this document.\nHow to name your branch and create a pull request (PR)\n\nTake the Ticket Number from JIRA (ticketsystem.dbildungscloud.de), e.g. SC-999\nName the feature branch beginning with Ticket Number, all words separated by dash \"-\", e.g. feature/SC-999-fantasy-problem\nCreate a PR on branch develop containing the Ticket Number in PR title\nKeep the WIP label as long as this PR is in development, complete PR checklist (is automatically added), keep or increase code test coverage, and pass all tests before you remove the WIP label. Reviewers will be added automatically.\n\nCommitting\nDefault branch: main\n\nGo into project folder\nCheckout to develop branch (or clone for the first time)\nRun git pull\nCreate a branch for your new feature named feature/BC-Ticket-ID-Description\nRun the tests (see above)\nCommit with a meaningful commit message(!) even at 4 a.m. and not stuff like \"dfsdfsf\"\nStart a pull request (see above) to branch develop to merge your changes\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"license.html":{"url":"license.html","title":"getting-started - license","body":"\n \n\nExample : GNU AFFERO GENERAL PUBLIC LICENSE\n Version 3, 19 November 2007 Copyright (C) 2007 Free Software Foundation, Inc. http://fsf.org/\n Everyone is permitted to copy and distribute verbatim copies\n of this license document, but changing it is not allowed.\nExample : Preamble The GNU Affero General Public License is a free, copyleft license for\nsoftware and other kinds of works, specifically designed to ensure\ncooperation with the community in the case of network server software.\n The licenses for most software and other practical works are designed\nto take away your freedom to share and change the works. By contrast,\nour General Public Licenses are intended to guarantee your freedom to\nshare and change all versions of a program--to make sure it remains free\nsoftware for all its users.\n When we speak of free software, we are referring to freedom, not\nprice. Our General Public Licenses are designed to make sure that you\nhave the freedom to distribute copies of free software (and charge for\nthem if you wish), that you receive source code or can get it if you\nwant it, that you can change the software or use pieces of it in new\nfree programs, and that you know you can do these things.\n Developers that use our General Public Licenses protect your rights\nwith two steps: (1) assert copyright on the software, and (2) offer\nyou this License which gives you legal permission to copy, distribute\nand/or modify the software.\n A secondary benefit of defending all users' freedom is that\nimprovements made in alternate versions of the program, if they\nreceive widespread use, become available for other developers to\nincorporate. Many developers of free software are heartened and\nencouraged by the resulting cooperation. However, in the case of\nsoftware used on network servers, this result may fail to come about.\nThe GNU General Public License permits making a modified version and\nletting the public access it on a server without ever releasing its\nsource code to the public.\n The GNU Affero General Public License is designed specifically to\nensure that, in such cases, the modified source code becomes available\nto the community. It requires the operator of a network server to\nprovide the source code of the modified version running there to the\nusers of that server. Therefore, public use of a modified version, on\na publicly accessible server, gives the public access to the source\ncode of the modified version.\n An older license, called the Affero General Public License and\npublished by Affero, was designed to accomplish similar goals. This is\na different license, not a version of the Affero GPL, but Affero has\nreleased a new version of the Affero GPL which permits relicensing under\nthis license.\n The precise terms and conditions for copying, distribution and\nmodification follow.\nExample : TERMS AND CONDITIONS\nDefinitions.\n\n \"This License\" refers to version 3 of the GNU Affero General Public License.\n \"Copyright\" also means copyright-like laws that apply to other kinds of\nworks, such as semiconductor masks.\n \"The Program\" refers to any copyrightable work licensed under this\nLicense. Each licensee is addressed as \"you\". \"Licensees\" and\n\"recipients\" may be individuals or organizations.\n To \"modify\" a work means to copy from or adapt all or part of the work\nin a fashion requiring copyright permission, other than the making of an\nexact copy. The resulting work is called a \"modified version\" of the\nearlier work or a work \"based on\" the earlier work.\n A \"covered work\" means either the unmodified Program or a work based\non the Program.\n To \"propagate\" a work means to do anything with it that, without\npermission, would make you directly or secondarily liable for\ninfringement under applicable copyright law, except executing it on a\ncomputer or modifying a private copy. Propagation includes copying,\ndistribution (with or without modification), making available to the\npublic, and in some countries other activities as well.\n To \"convey\" a work means any kind of propagation that enables other\nparties to make or receive copies. Mere interaction with a user through\na computer network, with no transfer of a copy, is not conveying.\n An interactive user interface displays \"Appropriate Legal Notices\"\nto the extent that it includes a convenient and prominently visible\nfeature that (1) displays an appropriate copyright notice, and (2)\ntells the user that there is no warranty for the work (except to the\nextent that warranties are provided), that licensees may convey the\nwork under this License, and how to view a copy of this License. If\nthe interface presents a list of user commands or options, such as a\nmenu, a prominent item in the list meets this criterion.\n\nSource Code.\n\n The \"source code\" for a work means the preferred form of the work\nfor making modifications to it. \"Object code\" means any non-source\nform of a work.\n A \"Standard Interface\" means an interface that either is an official\nstandard defined by a recognized standards body, or, in the case of\ninterfaces specified for a particular programming language, one that\nis widely used among developers working in that language.\n The \"System Libraries\" of an executable work include anything, other\nthan the work as a whole, that (a) is included in the normal form of\npackaging a Major Component, but which is not part of that Major\nComponent, and (b) serves only to enable use of the work with that\nMajor Component, or to implement a Standard Interface for which an\nimplementation is available to the public in source code form. A\n\"Major Component\", in this context, means a major essential component\n(kernel, window system, and so on) of the specific operating system\n(if any) on which the executable work runs, or a compiler used to\nproduce the work, or an object code interpreter used to run it.\n The \"Corresponding Source\" for a work in object code form means all\nthe source code needed to generate, install, and (for an executable\nwork) run the object code and to modify the work, including scripts to\ncontrol those activities. However, it does not include the work's\nSystem Libraries, or general-purpose tools or generally available free\nprograms which are used unmodified in performing those activities but\nwhich are not part of the work. For example, Corresponding Source\nincludes interface definition files associated with source files for\nthe work, and the source code for shared libraries and dynamically\nlinked subprograms that the work is specifically designed to require,\nsuch as by intimate data communication or control flow between those\nsubprograms and other parts of the work.\n The Corresponding Source need not include anything that users\ncan regenerate automatically from other parts of the Corresponding\nSource.\n The Corresponding Source for a work in source code form is that\nsame work.\n\nBasic Permissions.\n\n All rights granted under this License are granted for the term of\ncopyright on the Program, and are irrevocable provided the stated\nconditions are met. This License explicitly affirms your unlimited\npermission to run the unmodified Program. The output from running a\ncovered work is covered by this License only if the output, given its\ncontent, constitutes a covered work. This License acknowledges your\nrights of fair use or other equivalent, as provided by copyright law.\n You may make, run and propagate covered works that you do not\nconvey, without conditions so long as your license otherwise remains\nin force. You may convey covered works to others for the sole purpose\nof having them make modifications exclusively for you, or provide you\nwith facilities for running those works, provided that you comply with\nthe terms of this License in conveying all material for which you do\nnot control copyright. Those thus making or running the covered works\nfor you must do so exclusively on your behalf, under your direction\nand control, on terms that prohibit them from making any copies of\nyour copyrighted material outside their relationship with you.\n Conveying under any other circumstances is permitted solely under\nthe conditions stated below. Sublicensing is not allowed; section 10\nmakes it unnecessary.\n\nProtecting Users' Legal Rights From Anti-Circumvention Law.\n\n No covered work shall be deemed part of an effective technological\nmeasure under any applicable law fulfilling obligations under article\n11 of the WIPO copyright treaty adopted on 20 December 1996, or\nsimilar laws prohibiting or restricting circumvention of such\nmeasures.\n When you convey a covered work, you waive any legal power to forbid\ncircumvention of technological measures to the extent such circumvention\nis effected by exercising rights under this License with respect to\nthe covered work, and you disclaim any intention to limit operation or\nmodification of the work as a means of enforcing, against the work's\nusers, your or third parties' legal rights to forbid circumvention of\ntechnological measures.\n\nConveying Verbatim Copies.\n\n You may convey verbatim copies of the Program's source code as you\nreceive it, in any medium, provided that you conspicuously and\nappropriately publish on each copy an appropriate copyright notice;\nkeep intact all notices stating that this License and any\nnon-permissive terms added in accord with section 7 apply to the code;\nkeep intact all notices of the absence of any warranty; and give all\nrecipients a copy of this License along with the Program.\n You may charge any price or no price for each copy that you convey,\nand you may offer support or warranty protection for a fee.\n\nConveying Modified Source Versions.\n\n You may convey a work based on the Program, or the modifications to\nproduce it from the Program, in the form of source code under the\nterms of section 4, provided that you also meet all of these conditions:\nExample :a) The work must carry prominent notices stating that you modified\nit, and giving a relevant date.\n\nb) The work must carry prominent notices stating that it is\nreleased under this License and any conditions added under section\n7. This requirement modifies the requirement in section 4 to\n\"keep intact all notices\".\n\nc) You must license the entire work, as a whole, under this\nLicense to anyone who comes into possession of a copy. This\nLicense will therefore apply, along with any applicable section 7\nadditional terms, to the whole of the work, and all its parts,\nregardless of how they are packaged. This License gives no\npermission to license the work in any other way, but it does not\ninvalidate such permission if you have separately received it.\n\nd) If the work has interactive user interfaces, each must display\nAppropriate Legal Notices; however, if the Program has interactive\ninterfaces that do not display Appropriate Legal Notices, your\nwork need not make them do so. A compilation of a covered work with other separate and independent\nworks, which are not by their nature extensions of the covered work,\nand which are not combined with it such as to form a larger program,\nin or on a volume of a storage or distribution medium, is called an\n\"aggregate\" if the compilation and its resulting copyright are not\nused to limit the access or legal rights of the compilation's users\nbeyond what the individual works permit. Inclusion of a covered work\nin an aggregate does not cause this License to apply to the other\nparts of the aggregate.\n\nConveying Non-Source Forms.\n\n You may convey a covered work in object code form under the terms\nof sections 4 and 5, provided that you also convey the\nmachine-readable Corresponding Source under the terms of this License,\nin one of these ways:\nExample :a) Convey the object code in, or embodied in, a physical product\n(including a physical distribution medium), accompanied by the\nCorresponding Source fixed on a durable physical medium\ncustomarily used for software interchange.\n\nb) Convey the object code in, or embodied in, a physical product\n(including a physical distribution medium), accompanied by a\nwritten offer, valid for at least three years and valid for as\nlong as you offer spare parts or customer support for that product\nmodel, to give anyone who possesses the object code either (1) a\ncopy of the Corresponding Source for all the software in the\nproduct that is covered by this License, on a durable physical\nmedium customarily used for software interchange, for a price no\nmore than your reasonable cost of physically performing this\nconveying of source, or (2) access to copy the\nCorresponding Source from a network server at no charge.\n\nc) Convey individual copies of the object code with a copy of the\nwritten offer to provide the Corresponding Source. This\nalternative is allowed only occasionally and noncommercially, and\nonly if you received the object code with such an offer, in accord\nwith subsection 6b.\n\nd) Convey the object code by offering access from a designated\nplace (gratis or for a charge), and offer equivalent access to the\nCorresponding Source in the same way through the same place at no\nfurther charge. You need not require recipients to copy the\nCorresponding Source along with the object code. If the place to\ncopy the object code is a network server, the Corresponding Source\nmay be on a different server (operated by you or a third party)\nthat supports equivalent copying facilities, provided you maintain\nclear directions next to the object code saying where to find the\nCorresponding Source. Regardless of what server hosts the\nCorresponding Source, you remain obligated to ensure that it is\navailable for as long as needed to satisfy these requirements.\n\ne) Convey the object code using peer-to-peer transmission, provided\nyou inform other peers where the object code and Corresponding\nSource of the work are being offered to the general public at no\ncharge under subsection 6d. A separable portion of the object code, whose source code is excluded\nfrom the Corresponding Source as a System Library, need not be\nincluded in conveying the object code work.\n A \"User Product\" is either (1) a \"consumer product\", which means any\ntangible personal property which is normally used for personal, family,\nor household purposes, or (2) anything designed or sold for incorporation\ninto a dwelling. In determining whether a product is a consumer product,\ndoubtful cases shall be resolved in favor of coverage. For a particular\nproduct received by a particular user, \"normally used\" refers to a\ntypical or common use of that class of product, regardless of the status\nof the particular user or of the way in which the particular user\nactually uses, or expects or is expected to use, the product. A product\nis a consumer product regardless of whether the product has substantial\ncommercial, industrial or non-consumer uses, unless such uses represent\nthe only significant mode of use of the product.\n \"Installation Information\" for a User Product means any methods,\nprocedures, authorization keys, or other information required to install\nand execute modified versions of a covered work in that User Product from\na modified version of its Corresponding Source. The information must\nsuffice to ensure that the continued functioning of the modified object\ncode is in no case prevented or interfered with solely because\nmodification has been made.\n If you convey an object code work under this section in, or with, or\nspecifically for use in, a User Product, and the conveying occurs as\npart of a transaction in which the right of possession and use of the\nUser Product is transferred to the recipient in perpetuity or for a\nfixed term (regardless of how the transaction is characterized), the\nCorresponding Source conveyed under this section must be accompanied\nby the Installation Information. But this requirement does not apply\nif neither you nor any third party retains the ability to install\nmodified object code on the User Product (for example, the work has\nbeen installed in ROM).\n The requirement to provide Installation Information does not include a\nrequirement to continue to provide support service, warranty, or updates\nfor a work that has been modified or installed by the recipient, or for\nthe User Product in which it has been modified or installed. Access to a\nnetwork may be denied when the modification itself materially and\nadversely affects the operation of the network or violates the rules and\nprotocols for communication across the network.\n Corresponding Source conveyed, and Installation Information provided,\nin accord with this section must be in a format that is publicly\ndocumented (and with an implementation available to the public in\nsource code form), and must require no special password or key for\nunpacking, reading or copying.\n\nAdditional Terms.\n\n \"Additional permissions\" are terms that supplement the terms of this\nLicense by making exceptions from one or more of its conditions.\nAdditional permissions that are applicable to the entire Program shall\nbe treated as though they were included in this License, to the extent\nthat they are valid under applicable law. If additional permissions\napply only to part of the Program, that part may be used separately\nunder those permissions, but the entire Program remains governed by\nthis License without regard to the additional permissions.\n When you convey a copy of a covered work, you may at your option\nremove any additional permissions from that copy, or from any part of\nit. (Additional permissions may be written to require their own\nremoval in certain cases when you modify the work.) You may place\nadditional permissions on material, added by you to a covered work,\nfor which you have or can give appropriate copyright permission.\n Notwithstanding any other provision of this License, for material you\nadd to a covered work, you may (if authorized by the copyright holders of\nthat material) supplement the terms of this License with terms:\nExample :a) Disclaiming warranty or limiting liability differently from the\nterms of sections 15 and 16 of this License; or\n\nb) Requiring preservation of specified reasonable legal notices or\nauthor attributions in that material or in the Appropriate Legal\nNotices displayed by works containing it; or\n\nc) Prohibiting misrepresentation of the origin of that material, or\nrequiring that modified versions of such material be marked in\nreasonable ways as different from the original version; or\n\nd) Limiting the use for publicity purposes of names of licensors or\nauthors of the material; or\n\ne) Declining to grant rights under trademark law for use of some\ntrade names, trademarks, or service marks; or\n\nf) Requiring indemnification of licensors and authors of that\nmaterial by anyone who conveys the material (or modified versions of\nit) with contractual assumptions of liability to the recipient, for\nany liability that these contractual assumptions directly impose on\nthose licensors and authors. All other non-permissive additional terms are considered \"further\nrestrictions\" within the meaning of section 10. If the Program as you\nreceived it, or any part of it, contains a notice stating that it is\ngoverned by this License along with a term that is a further\nrestriction, you may remove that term. If a license document contains\na further restriction but permits relicensing or conveying under this\nLicense, you may add to a covered work material governed by the terms\nof that license document, provided that the further restriction does\nnot survive such relicensing or conveying.\n If you add terms to a covered work in accord with this section, you\nmust place, in the relevant source files, a statement of the\nadditional terms that apply to those files, or a notice indicating\nwhere to find the applicable terms.\n Additional terms, permissive or non-permissive, may be stated in the\nform of a separately written license, or stated as exceptions;\nthe above requirements apply either way.\n\nTermination.\n\n You may not propagate or modify a covered work except as expressly\nprovided under this License. Any attempt otherwise to propagate or\nmodify it is void, and will automatically terminate your rights under\nthis License (including any patent licenses granted under the third\nparagraph of section 11).\n However, if you cease all violation of this License, then your\nlicense from a particular copyright holder is reinstated (a)\nprovisionally, unless and until the copyright holder explicitly and\nfinally terminates your license, and (b) permanently, if the copyright\nholder fails to notify you of the violation by some reasonable means\nprior to 60 days after the cessation.\n Moreover, your license from a particular copyright holder is\nreinstated permanently if the copyright holder notifies you of the\nviolation by some reasonable means, this is the first time you have\nreceived notice of violation of this License (for any work) from that\ncopyright holder, and you cure the violation prior to 30 days after\nyour receipt of the notice.\n Termination of your rights under this section does not terminate the\nlicenses of parties who have received copies or rights from you under\nthis License. If your rights have been terminated and not permanently\nreinstated, you do not qualify to receive new licenses for the same\nmaterial under section 10.\n\nAcceptance Not Required for Having Copies.\n\n You are not required to accept this License in order to receive or\nrun a copy of the Program. Ancillary propagation of a covered work\noccurring solely as a consequence of using peer-to-peer transmission\nto receive a copy likewise does not require acceptance. However,\nnothing other than this License grants you permission to propagate or\nmodify any covered work. These actions infringe copyright if you do\nnot accept this License. Therefore, by modifying or propagating a\ncovered work, you indicate your acceptance of this License to do so.\n\nAutomatic Licensing of Downstream Recipients.\n\n Each time you convey a covered work, the recipient automatically\nreceives a license from the original licensors, to run, modify and\npropagate that work, subject to this License. You are not responsible\nfor enforcing compliance by third parties with this License.\n An \"entity transaction\" is a transaction transferring control of an\norganization, or substantially all assets of one, or subdividing an\norganization, or merging organizations. If propagation of a covered\nwork results from an entity transaction, each party to that\ntransaction who receives a copy of the work also receives whatever\nlicenses to the work the party's predecessor in interest had or could\ngive under the previous paragraph, plus a right to possession of the\nCorresponding Source of the work from the predecessor in interest, if\nthe predecessor has it or can get it with reasonable efforts.\n You may not impose any further restrictions on the exercise of the\nrights granted or affirmed under this License. For example, you may\nnot impose a license fee, royalty, or other charge for exercise of\nrights granted under this License, and you may not initiate litigation\n(including a cross-claim or counterclaim in a lawsuit) alleging that\nany patent claim is infringed by making, using, selling, offering for\nsale, or importing the Program or any portion of it.\n\nPatents.\n\n A \"contributor\" is a copyright holder who authorizes use under this\nLicense of the Program or a work on which the Program is based. The\nwork thus licensed is called the contributor's \"contributor version\".\n A contributor's \"essential patent claims\" are all patent claims\nowned or controlled by the contributor, whether already acquired or\nhereafter acquired, that would be infringed by some manner, permitted\nby this License, of making, using, or selling its contributor version,\nbut do not include claims that would be infringed only as a\nconsequence of further modification of the contributor version. For\npurposes of this definition, \"control\" includes the right to grant\npatent sublicenses in a manner consistent with the requirements of\nthis License.\n Each contributor grants you a non-exclusive, worldwide, royalty-free\npatent license under the contributor's essential patent claims, to\nmake, use, sell, offer for sale, import and otherwise run, modify and\npropagate the contents of its contributor version.\n In the following three paragraphs, a \"patent license\" is any express\nagreement or commitment, however denominated, not to enforce a patent\n(such as an express permission to practice a patent or covenant not to\nsue for patent infringement). To \"grant\" such a patent license to a\nparty means to make such an agreement or commitment not to enforce a\npatent against the party.\n If you convey a covered work, knowingly relying on a patent license,\nand the Corresponding Source of the work is not available for anyone\nto copy, free of charge and under the terms of this License, through a\npublicly available network server or other readily accessible means,\nthen you must either (1) cause the Corresponding Source to be so\navailable, or (2) arrange to deprive yourself of the benefit of the\npatent license for this particular work, or (3) arrange, in a manner\nconsistent with the requirements of this License, to extend the patent\nlicense to downstream recipients. \"Knowingly relying\" means you have\nactual knowledge that, but for the patent license, your conveying the\ncovered work in a country, or your recipient's use of the covered work\nin a country, would infringe one or more identifiable patents in that\ncountry that you have reason to believe are valid.\n If, pursuant to or in connection with a single transaction or\narrangement, you convey, or propagate by procuring conveyance of, a\ncovered work, and grant a patent license to some of the parties\nreceiving the covered work authorizing them to use, propagate, modify\nor convey a specific copy of the covered work, then the patent license\nyou grant is automatically extended to all recipients of the covered\nwork and works based on it.\n A patent license is \"discriminatory\" if it does not include within\nthe scope of its coverage, prohibits the exercise of, or is\nconditioned on the non-exercise of one or more of the rights that are\nspecifically granted under this License. You may not convey a covered\nwork if you are a party to an arrangement with a third party that is\nin the business of distributing software, under which you make payment\nto the third party based on the extent of your activity of conveying\nthe work, and under which the third party grants, to any of the\nparties who would receive the covered work from you, a discriminatory\npatent license (a) in connection with copies of the covered work\nconveyed by you (or copies made from those copies), or (b) primarily\nfor and in connection with specific products or compilations that\ncontain the covered work, unless you entered into that arrangement,\nor that patent license was granted, prior to 28 March 2007.\n Nothing in this License shall be construed as excluding or limiting\nany implied license or other defenses to infringement that may\notherwise be available to you under applicable patent law.\n\nNo Surrender of Others' Freedom.\n\n If conditions are imposed on you (whether by court order, agreement or\notherwise) that contradict the conditions of this License, they do not\nexcuse you from the conditions of this License. If you cannot convey a\ncovered work so as to satisfy simultaneously your obligations under this\nLicense and any other pertinent obligations, then as a consequence you may\nnot convey it at all. For example, if you agree to terms that obligate you\nto collect a royalty for further conveying from those to whom you convey\nthe Program, the only way you could satisfy both those terms and this\nLicense would be to refrain entirely from conveying the Program.\n\nRemote Network Interaction; Use with the GNU General Public License.\n\n Notwithstanding any other provision of this License, if you modify the\nProgram, your modified version must prominently offer all users\ninteracting with it remotely through a computer network (if your version\nsupports such interaction) an opportunity to receive the Corresponding\nSource of your version by providing access to the Corresponding Source\nfrom a network server at no charge, through some standard or customary\nmeans of facilitating copying of software. This Corresponding Source\nshall include the Corresponding Source for any work covered by version 3\nof the GNU General Public License that is incorporated pursuant to the\nfollowing paragraph.\n Notwithstanding any other provision of this License, you have\npermission to link or combine any covered work with a work licensed\nunder version 3 of the GNU General Public License into a single\ncombined work, and to convey the resulting work. The terms of this\nLicense will continue to apply to the part which is the covered work,\nbut the work with which it is combined will remain governed by version\n3 of the GNU General Public License.\n\nRevised Versions of this License.\n\n The Free Software Foundation may publish revised and/or new versions of\nthe GNU Affero General Public License from time to time. Such new versions\nwill be similar in spirit to the present version, but may differ in detail to\naddress new problems or concerns.\n Each version is given a distinguishing version number. If the\nProgram specifies that a certain numbered version of the GNU Affero General\nPublic License \"or any later version\" applies to it, you have the\noption of following the terms and conditions either of that numbered\nversion or of any later version published by the Free Software\nFoundation. If the Program does not specify a version number of the\nGNU Affero General Public License, you may choose any version ever published\nby the Free Software Foundation.\n If the Program specifies that a proxy can decide which future\nversions of the GNU Affero General Public License can be used, that proxy's\npublic statement of acceptance of a version permanently authorizes you\nto choose that version for the Program.\n Later license versions may give you additional or different\npermissions. However, no additional obligations are imposed on any\nauthor or copyright holder as a result of your choosing to follow a\nlater version.\n\nDisclaimer of Warranty.\n\n THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY\nAPPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT\nHOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM \"AS IS\" WITHOUT WARRANTY\nOF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,\nTHE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR\nPURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM\nIS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF\nALL NECESSARY SERVICING, REPAIR OR CORRECTION.\n\nLimitation of Liability.\n\n IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n\nInterpretation of Sections 15 and 16.\n\n If the disclaimer of warranty and limitation of liability provided\nabove cannot be given local legal effect according to their terms,\nreviewing courts shall apply local law that most closely approximates\nan absolute waiver of all civil liability in connection with the\nProgram, unless a warranty or assumption of liability accompanies a\ncopy of the Program in return for a fee.\nExample : END OF TERMS AND CONDITIONS\n\n How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest\npossible use to the public, the best way to achieve this is to make it\nfree software which everyone can redistribute and change under these terms.\n To do so, attach the following notices to the program. It is safest\nto attach them to the start of each source file to most effectively\nstate the exclusion of warranty; and each file should have at least\nthe \"copyright\" line and a pointer to where the full notice is found.\nExample :\nCopyright (C) \n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the GNU Affero General Public License as published\nby the Free Software Foundation, either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU Affero General Public License for more details.\n\nYou should have received a copy of the GNU Affero General Public License\nalong with this program. If not, see .Also add information on how to contact you by electronic and paper mail.\n If your software can interact with users remotely through a computer\nnetwork, you should also make sure that it provides a way for users to\nget its source. For example, if your program is a web application, its\ninterface could display a \"Source\" link that leads users to an archive\nof the code. There are many ways you could offer source, and different\nsolutions will be better for different programs; see section 13 for the\nspecific requirements.\n You should also get your employer (if you work as a programmer) or school,\nif any, to sign a \"copyright disclaimer\" for the program, if necessary.\nFor more information on this, and how to apply and follow the GNU AGPL, see\nhttp://www.gnu.org/licenses/.\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"properties.html":{"url":"properties.html","title":"package-properties - properties","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n Properties\n \n \n \n Description : dBildungscloud server\n \n Keywords : feathers, nest, jest, domain driven design\n \n Homepage : https://dBildungscloud.de/\n \n Bugs : \n \n License : AGPL-3.0\n \n Repository : \n \n Author : dBildungscloud Team\n \n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"todo.html":{"url":"todo.html","title":"getting-started - todo","body":"\n \n\nTechnical TODO around Nest Introduction\nSUGGESTED\n\nfilter logs by request with reflect-metadata (see mikroorm em setup)\ndisable Document from window\nfind a name for base entity id type\nfind a name for base entity class\ndecide if we want to use our entity id type in all layers (also in dtos etc.)\nuse index.ts files to bundle exports - we could use path names for imports then, e.g. @shared/domain\ncheck how we can implement mandatory/optional fields in dtos\nshould we use Expose() as default in dtos?\nin the controller we have to prohibit serialization of properties that have no @EXPOSE\nfind the best way ORM entity discovery\ndecide where to put domain interfaces (directory)\nhow can we log validation errors during development?\nsanitizer\nremove non-node async library\nfix async cleanup & remove timeout in tests\ntest object creator for nest entities\nenable log only for failed tests: https://stackoverflow.com/a/61909588\nremove mongoose history (keep one)\nremove custom npm packages (ldap, ...)\nAPI default tests to extend: auth required, fails without/succeeds with\n\nACCEPTED\n\ndocumentation\n\nentity constructor\nem to be used in repositories only (!!!)\n\n\nload/perf test\n\ndisable legacy ts support (app, tests)\n\nfix .env/config for windows\n\n\nMERGE\n\napi path prefix cleanup: remove middleware and multiple path mounts, sync with nest\nuser module stucture\nsingle domain: shared entity (main.ts), shared repository \nrequest.user.user in jwt strategy\nremove outdated sorting.ts \nremove default launch/settings json files, apply them\nfix https://github.com/hpi-schul-cloud/schulcloud-server/pull/2729#pullrequestreview-699615164\n\nSELECTED\n\ntest shared / core module \n\nasync test fixes (remove this.timeout and red promise chains)\n\ndb configuration\n\nkeep mongoose options as mongo options\npovider for mikroorm options and db url\ntest db provider\nentity discovery\ncheck indexes in mikroorm: when are they updated?\nteardown (test, server module, main.ts)\nreplikaset for test module\nentity discovery\n\n\nnews\n\nuc cleanup: 2auth, visibilities\ndocument best practices/layers/orm\n\n\ncontext: user-/request-context (see mikroorm/asynclocalstorage)\n\n\nDONE\n\ncheck build & start for production with ops\nfix jest, linter, ...\ninject APP_FILTER (exception handler) and APP_INTERCEPTOR (logger), see core module\ncustom error handling (log/response), see global-error.filter.ts\nwatch docs should hot reload on md file change\n404 error handling in feathers has to be replaced (tests too). better: have nest before feathers... but seems not to be working\nremove mongoose\npublish documentation, see https://hpi-schul-cloud.github.io/schulcloud-server/overview.html\nfix all tests (nest/legacy)\nremove legacy scripts from package json (except tests) goal: have separated tests (legacy/nest) but only execute the nest app\nusing legacy database connection string\nv3 with/-out slash: diffenrent routes should respond with different result (/v3 is a resssource, /v3/ === /v3/index)\nvscode/lauch files: we put only default files into the repo\nnaming of dtos and dto-files: api vs domain, we leave out \"dto\" suffix for simplicity (we know that they are dtos) and instead append a specific suffix:\ne.g.\napi: , , \ndomain: , \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application.html":{"url":"additional-documentation/nestjs-application.html","title":"additional-page - NestJS Application","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nHPI Schul-Cloud NestJS server\nThis application extends the existing server-application based on feathers and express by introducing dependency injection supporting unit testing and modularization, the possibility to develop against interfaces, and start implementation of modules using TypeScript.\nYou find the whole documentation published as GitHub Page\nRequirements\n\nNode.js (see .nvmrc for version)\nMongoDB (4.x)\nRabbitMQ (configure using RABBITMQ_URL, see default.schema.json)\nS3 Object Storage e.g. MinIO locally\n\npreconditions\n\nHave a MongoDB started, run mongod\nHave some seed data in database, use npm run setup to reset the db and apply seed data\nHave RabbitMQ started, run docker run -d -p 5672:5672 -p 15672:15672 --name rabbitmq rabbitmq:3.8.9-management. This starts RabbitMQ on port 5672 and a web admin console at localhost:15672 (use guest:guest to login).\nHave MinIO (S3 compatible object storage), run [optional if you need files-storage module]\n\nExample :docker run \\\n --name minioS3storage \\\n -p 9000:9000 \\\n -p 9001:9001 \\\n -e \"MINIO_ROOT_USER=`miniouser`\" \\\n -e \"MINIO_ROOT_PASSWORD=miniouser\" \\\n quay.io/minio/minio server /data --console-address \":9001\"\nHave ErWIn-IDM started [currently not needed, but will be mandatory in the future]. For more information look here.\n\nChange directory to the schulcloud-server root folder. Execute following command to setup the ErWIn-IDM container:\nExample :docker run \\\n --name erwinidm \\\n -p 8080:8080 \\\n -p 8443:8443 \\\n -v \"$PWD/backup/idm/keycloak:/tmp/realms\" \\\n ghcr.io/hpi-schul-cloud/erwin-idm/dev:latest \\\n \"&& /opt/keycloak/bin/kc.sh import --dir /tmp/realms\"To add seed data into ErWIn-IDM, use npm run setup:idm to reset and apply seed data.\nSee ErWIn-IDM specific documentation to learn how to add the ErWIn-IDM identity broker feature.\n\nAdd secrets to systems (optional)\n\nThe systems of the seed data do not contain any secrets, so connecting to those systems will fail.\nYou can add these secrets by putting them into your env vars. E.g. if you add SANIS_CLIENT_ID= into your .env file, the secret will be written into the db, when you run the database setup. You need to add the env var AES_KEY as well to encrypt those secrets in the DB.\nThe real secrets can be found in the password store.\nWhile exporting the systems to JSON the secrets will be replaced by placeholders following the pattern _. So the system with alias \"sanis\" and the secret property \"clientId\" will be replaced by \"SANIS_CLIENT_ID\"\nHow to start the application\nBeside existing scripts, for the nestJS application the following scripts have been added. Try not changing the scripts as they should match what NestJS defines by default. Execute npm run ...\n\nnest:prebuild remove existing data from previous build\nnest:build compile the applications typescript ressources from apps/server to dist folder, keeps legacy js-code where it is\nnest:build:all currently executes nest:build, could additionaly build static assets\nnest:start starts the nest application on localhost:3030\nnest:start:dev run application without build from sources in dev-mode with hot-reload\nnest:start:debug run application in dev-mode with hot-reload and debug port opened on port :9229\nnest:start:prod start applicaiton in production mode, requires nest:build to be executed beforehand\n\nIt exist a file storage module. It is started as a microservice on port :4444\n\nnest:start:files-storage starts the nest file storage\nnest:start:files-storage:dev run file storage without build from sources in dev-mode with hot-reload\nnest:start:files-storage:debug run file storage in dev-mode with hot-reload and debug port opened on port :9229\nnest:start:files-storage:prod start file storage in production mode, requires nest:build to be executed beforehand\n\nHow to build and serve the documentation\n\nnest:docs:build builds code documentation and module relations into /documentation folder\nnest:docs:serve builds code documentation and module relations into /documentation folder and serves it on port :8080 with hot reload on changes\n\nHow to start the server console\nThe console offers management capabilities of the application.\n\nnest:console after nest:build in production or\nnest:console:dev for development\n\nTo run a specific command run npm run nest:console:dev -- command . The --is required for npm to send params to the console. Use --helpto get an overview about existing commands.\nHow to test the nest-application with jest\nNestJS must not use _.test.[ts|js] as filename but instead either *.spec.ts for unit tests or *.api.spec.ts API tests. This ensures legacy/feathers/mocha tests can be separated from jest test suites.\nThe application must pass the following statement which executes separate checks:\n\nnest:test executes all jest (NestJS) tests with coverage and eslint\n\nTo test a subset, use\n\nnest:test:all execute unit and API tests\n\nnest:test:api execute API tests only\n\nnest:test:unit execute unit tests only\n\nnest:test:cov executes all jest tests with coverage check\n\nnest:test:watch executes changed tests again on save\n\nnest:test:debug executes tests with debugging\n\nnest:lint run eslint to report linter issues and apply formatting\n\nnest:lint:fix run eslint to report and auto-fix fixable linter issues and apply formatting\n\n\nQuality gates\nWith coverage on tests and static code analysis we ensure some quality gates which are all handled by running nest:test:\n\nESLint with prettier ensures formatting and static code analysis to pass, see .eslintrc.js for details.\nTests ensure functional requirements via unit & API tests.\nCoverage on tests ensures a coverage of 80% on NestJS code, see jest.config.ts for details.\n\nGates are part of pull request checks.\nOpenAPI documentation\nThe NestJS applicaiton serves a documentation at :3030/api/v3/docs. The JSON-representation can be found at /api/v3/docs-json to be used for generating a client application.\nLegacy/feathers Swagger UI documentation when running the server locally, it is served at :3030/docs/.\nLegacy (feathers) testing with mocha\n\nnpm run test\nTo run a single test, use npm run mocha-single -- .\n\nHow to get full documentation\nThe documentation is provided by compodoc, run npm run nest:docs:serve, check generated compodoc features, custom information can be found in additional information section. Your console will tell you, where it is served.\nThe updated documentation is published as GitHub Page\nContent\nFor further reading, browse apps/server/doc.\nNestJS CLI\nTo use the NestJS CLI, install the nest cli globally.\nExample : npm i -g @nestjs/cliThen you may use features like nest g service foo within of /apps/server/src.\nDebugging\nThere are launch configurations available for VSCode in .vscode/launch.default.json\nTech Stack\nFeel free to find related documentation:\n\nhttps://nestjs.com/\nhttps://jestjs.io/\nhttps://mikro-orm.io/\nhttps://min.io/\nhttps://www.rabbitmq.com/\n\nConfiguration\nhttps://github.com/hpi-schul-cloud/schulcloud-server/blob/main/config/README.md\nNestJS Modules\nAuthorisation\nhttps://github.com/hpi-schul-cloud/schulcloud-server/blob/main/apps/server/src/modules/authorization/README.md\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/software-architecture.html":{"url":"additional-documentation/nestjs-application/software-architecture.html","title":"additional-page - Software Architecture","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nSoftware Architecture\nGoals\nOur architecture aims to achieve the following goals:\n\nMaintainability\nit should be easy as possible to make changes that do not change the behaviour of the system (refactoring)\nit should be easy to exchange entire components of the system, without impact on other components.\n\n\nExtendability\nit should be easy to add new functionality to the system\n\n\nAgility\nit should be easy to react to changing requirements during our development process\n\n\nChange Security\nit should be easy to determine the correctness of the system after making any changes\n\nPrinciples\nIn order to achieve these goals, we try to follow the principles detailed below.\nThese principles apply to all layers of our software, from lines of code and methods to modules and architectural layers.\n\nSingle Responsibility / Seperation of Concerns\neach piece of code should have a single layer of abstraction/detail\neach piece of code should have a single reason to change\n\n\nOpen/Closed Principle\ndesign to be open to extension, but closed to modification\nLiskov Substitution\nthe specific input may be more generic than its interface\nthe specific output may be more specialized than its interface\n\n\nInterface Segregation\nmultiple small interfaces are preferred over big interfaces\n\n\nDependency Inversion Principle\nalways depend on interfaces, not implementations\nhigher level parts should not depend on lower level parts.\n\n\nKeep It Simple (KISS)\nany piece of code should be simple and readable\nany logic should be broken down to be trivial\nbeware of overenginiering and premature optimisation\n\n\nYou Aint Gonna Need It (YAGNI)\nkeep decisions open for as long as possible\nbuild only what you need to build, stay flexible for future requirements\n\n\nDo Not Repeat Yourself (DRY)\ndo not solve the same responsability or concern in multiple places\nbeware of things that look similar, but are not. for example, things that change for different reasons should not be combined, even if their code looks the same\n\n\n\nServer Layer Architecture\nWe generally distinguish three different layers in our server architecture: The API Layer, the Repository Layer, and the Domain Layer.\n\nNote that based on the Dependency Inversion Principle, the Domain Layer does not have any dependencies. Instead, both the API and Repository Layer depend on its abstractions.\nDomain Layer\nThe Domain Layer contains the business logic of the application. As mentioned above, it is not allowed to know about anything outside the domain layer itself.\n\nAny operation within the system is defined by a usecase (UC). It describes how an external actor, for example a user, can interact with the system.\nEach usecase defines what needs to be done to authorize it, and what needs to be done to fulfill it. To this end, it orchestrates services.\nA service is a public part of a domain module, that provides an interface for logic. It might be a simple class doing simple calculations, an interface to a complex hierarchy of classes within a module, or anything in between.\nThe domain layer might also define other classes, types, and interfaces to be used internally by its services, as well as the interface definitions for the repository layer. That way, the domain does not have to depend on the repositories, and the repositories have to depend on the domain instead (dependency inversion)\nTODO: the exact way of implementing the interfaces between repositories and domain layer is still in active discussion and development within the architecture chapter\nAPI Layer\nThe API Layer is responsible for providing the API that is exposed outside the system, and to map the various incoming requests into domain DTOs.\n\nThe params.dto and response.dto are used to automatically generate the API Documentation based on openAPI. The params.dto also contains information that is used for input validation.\nThe controller is responsible for sanitizing and authenticating incoming requests, and to map to and from the format that the domain usecase implementations expect. To this end, mappers are being used.\nRepository Layer\nThe Repository Layer is responsible for outgoing requests to external services. The most prominent example is accessing the database, but the same principles apply for sending emails or other interactions with external systems.\n\nIn order to access these external systems without knowing them, the domain layer may define interfaces that describe how it would like to use external services in its own domain language. The repositories implement these interfaces, recieving and returning exclusively objects or dtos defined in the domain.\nThe datamodel itself is defined through Entities, that have to be mapped into domain objects before they can be returned to the domain layer. We use MikroORM to create, persist and load the entities and their references among each other.\nModules\nThe codebase is broken into modules, each dealing with a part of the businesslogic, or seperated technical concerns.\nThese modules define what code is available where, and ensure a clean dependency graph.\nAll Code written should be part of exactly one module. Each module contains any services, typedefinitions, interfaces, repositories, mappers, and other files it needs internally to function.\nWhen something is needed in more than one module, it needs to be explicitly exported by the module, to be part of its public interface. It can then be imported by other modules. Services are exported published via the dependency injection mechanism provided by Nestjs.\nExample :@Module({\n providers: [InternalRepo, InternalService, PublicService],\n exports: [PublicService],\n})\nexport class ExampleModule {}\n\n@Module({\n imports: [ExampleModule]\n providers: [SomeOtherService],\n})\nexport class OtherModule {}Notice that in the above example, the PublicService can be used anywhere within the OtherModule, including in the SomeOtherService, whereas the InternalRepo and InternalService can not.\nThings that cant be injectables, like types and interfaces, are exported via the index file at the root of the module.\nCode that needs to be shared across many modules can either be put into their own seperate module, if there is a clearly defined seperate concern covered by it, or into the shared module if not.\nApi Modules\nThe controllers and the corresponding usecases, along with the api tests for these routes, are seperated into api modules\nExample :@Module({\n imports: [ExampleModule]\n providers: [ExampleUc],\n controllers: [ExampleController],\n})\nexport class ExampleApiModule {}This allows us to include the domain modules in different server deployments, without each of them having all api definitions. This also means that no usecase can ever be imported, as only services are ever exported, enforcing a seperation of concerns between logic and orchestration.\nHorizontal Architecture\nThe application is split into different modules that implement different parts of our domain.\nThe exact split of modules is still work in progress, or left open as implementation detail. Some important considerations are:\n\nthings with high cohesion and coupling should be in the same module\nthings with low coupling should be in seperate modules\nthe modules define an explicit public interface of usecases and types they expose to other modules\nno module should ever try to access a class of a different module that is not explicitly exported\nno injectable should ever be defined in more than one module\na module should only export services to be used by other modules.\na module that other modules might need to import, especially in another mikroservice, should not contain controllers.\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/file-structure.html":{"url":"additional-documentation/nestjs-application/file-structure.html","title":"additional-page - File Structure","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nArchitecture mapping to Code\nConventions\nFile structure\nThe server app located in /apps/server is structured like. Beside each ts-file, a test file _.spec.ts has to be added for unit tests (hidden for simplification). Use index.ts files that combine a folders content and export all files from within of the folder using export _ from './file' where this makes sense. When there are naming conflicts, use more specific names and correct concepts. Think about not to create sub-folders, when only one concept exist.\nExample :src/ // sourcecode & unit tests\n - config/ // for global definitions\n - modules/ // for your NestJS modules\n - [module] // where [module] could be like user, homework, school\n - entity/\n - .entity.ts // (where might be a user, news, ... owned by the module) exports entity class & document type\n - .entity.ts // where related-info is a partial of another entity used in the entity above\n - index.ts // exports all entities\n - controller/ // where controllers define the api\n - dto/ // dto's define api in/out types as a class with annotations\n - [params].ts // (like create-user.params.ts)\n - [response].ts // (like create-user.response.ts)\n - index.ts // exports all dto's\n - .controller.ts // defines rest api, references main service file\n - .controller.ts // think about a new module when require multiple controllers :)\n - repo/ // repositories take care to load/persist/... entities\n - schema/ // contains schema imports from legacy app or new definitions (might be replaced by OR mapper)\n - .schema.ts // exports (legacy-) mongoose schemas\n - .repo.ts // where entity might be user, news, school\n - service/ // for technical dependencies (libraries, infrastructure layer concerns)\n - .service.ts // the modules main service file, might be exported for other modules\n - .service.ts // use services not for features\n - mapper/\n - .mapper.ts // mapper for a domain entity, should contain mapDomainToResponse and mapFooToDomain\n - uc/ // preferred for features\n - .uc.ts // one file per single use case (use a long name)\n - .module.ts // DI instructions to build the module\n - shared/ // reused stuff without module ownership\n - core/ // shared concepts (decorators, pipes, guards, errors, ...) folders might be added\n - domain // (abstract) domain base entities which will be extended in the modules\n - util/ // helpers, tools, utils can be located here (but find a better name)\ntest/ // contains globalSetup and globalTeardown for MongoMemoryServer for tests\nFor concepts (see https://docs.nestjs.com/first-steps) of NestJS put implementations in shared/core. You might use shared/utils for own solutions, assume TextUtils but when it contains text validators, move it better to shared/validators/text.validator.ts before merge. The core concepts of NestJS can be extended with ours (like repo).\nFile naming conventions\nIn TypeScript files: for Classes we use PascalCase (names start with uppercase letter), variables use lowercase for the first letter camelCase.\nWhen assigning names, they may end with a concept name:\n\nA Concept might be a known term which is widely used. Samples from NestJS: Controller, Provider, Module, Middleware, Exception, Pipe, Guard, Interceptor.\n\nBeside we have own concepts like comparator, validator (generic ones should not be part of a modules (and located in shared folder btw) or repo, use-case which might be owned by a module.\n\n\nIn file names, we use lowercase and minus in the beginning and end with ..ts\nSamples\n\n\n\nFile name\nClass name\nConcept\nLocation\n\n\n\n\nlogin-user.uc.ts\nLoginUserUc\nuse case\nmodule/uc\n\n\ntext.validator.ts\nTextValidator\nvalidator\nshared/validators\n\n\nuser.repo.ts\nUserRepo\nrepository\nmodule/repo\n\n\nparse-object-id.pipe.ts\nParseObjectIdPipe\npipe\nshared/pipes\n\n\n\nComponents\nComponents are defined as NestJS Modules. \nCommunication between components\nTo access other modules services, it can be injected anywhere. The usage is allowed only, when the module which owns that service has exported it in the modules definition.\nExample :// modules/feathers/feathers-service.provider.ts\n// modules/feathers/feathers.module.ts\n@Module({\n providers: [FeathersServiceProvider],\n exports: [FeathersServiceProvider],\n})\nexport class FeathersModule {}\nThe feathers module is used to handle how the application is using legacy services, when access them, inject the FeathersServiceProvider but in your module definition, import the FeathersModule.\nExample :// your module, here modules/authorization/authorization.module.ts\n@Module({\n imports: [FeathersModule], // here import the services module\n // providers: [AuthorizationService, FeathersAuthProvider],\n // exports: [AuthorizationService],\n})\nexport class AuthorizationModule {}\n\n// inside of your service, here feathers-auth.provider.ts\n@Injectable()\nexport class FeathersAuthProvider {\n\n // inject the service in constructor\n constructor(private feathersServiceProvider: FeathersServiceProvider) {}\n \n // ...\n\n async getUserTargetPermissions(\n // ...\n ): Promise {\n const service = this.feathersServiceProvider.getService(`path`);\n const result = await service.get(...)\n // ...\n return result;\n }\nAccess legacy Code\nUse the feathers module introduced above to get access to legacy services.\nIt is important to introduce strong typing like it happened above in the FeathersAuthProvider. While the FeathersServiceProvider from the feathers module, has only an abstract implementation for all services, add a concrete service inside your module for a specific feathers-service, like above in FeathersAuthProvider.\nAccess NestJS injectable from Feathers\nTo access a NestJS service from a legacy Feathers service you need to make the NestJS service known to the Feathers service-collection in main.ts. \nThis possibility should not be used for new features in Feathers, but it can help if you want to refactor a Feathers service to NestJs although other Feathers services depend on it.\nExample : // main.ts\n async function bootstrap() {\n // (...)\n feathersExpress.services['nest-rocket-chat'] = nestApp.get(RocketChatService);\n // (...)\n }Afterwards you can access it the same way as you access other Feathers services with\napp.service('/nest-rocket-chat');\nLayered Architecture\nThe different layers use separately defined objects that must be mapped when crossing layers.\n\nNever export entities through the service layer without DTO-mapping which is defined in the controller\nConcepts owned by a layer must not be shared with other layers\n\n\nFurther reading: https://khalilstemmler.com/articles/software-design-architecture/organizing-app-logic/\nController\nA modules api layer is defined within of controllers.\nThe main responsibilities of a controller is to define the REST API interface as openAPI specification and map DTO's to match the logic layers interfaces.\nExample : @Post()\n async create(@CurrentUser() currentUser: ICurrentUser, @Body() params: CreateNewsParams): Promise {\n const news = await this.newsUc.create(\n currentUser.userId,\n currentUser.schoolId,\n NewsMapper.mapCreateNewsToDomain(params)\n );\n const dto = NewsMapper.mapToResponse(news);\n return dto;\n }JWT-Authentication\nFor authentication, use guards like JwtAuthGuard. It can be applied to a whole controller or a single controller method only. Then, ICurrentUser can be injected using the @CurrentUser() decorator.\nValidation\nGlobal settings of the core-module ensure request/response validation against the api definition. Simple input types might additionally use a custom pipe while for complex types injected as query/body are validated by default when parsed as DTO class.\nFile naming\nComplex input DTOs are defined like [create-news].params.ts (class-name: CreateNewsParams).\nWhen DTO's are shared between multiple modules, locate them in the layer-related shared folder.\n\nSecurity: When exporting data, internal entities must be mapped to a response DTO class named like [news].response.dto. The mapping ensures which data of internal entities are exported.\n\nopenAPI specification\nDefining the request/response DTOs in a controller will define the openAPI specification automatically. Additional validation rules and openAPI definitions can be added using decorators. For simplification, openAPI decorators should define a type and if a property is required, while additional decorators can be used from class-validator to validate content.\nMapping\nIt is forbidden, to directly pass a DTO to a use-case or return an Entity (or other use-case result) via REST. In-between a mapper must transform the given data, to protect the logic layer from outside implications.\nThe use of a mapper gives us the guarantee, that\n\nno additional data beside the known properties is published.\nA plain object might contain more properties than defined in TS-interfaces.\nSample: All school properties are published while only name & id are intended to be published.\n\n\nthe API definition is complete\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/api-design.html":{"url":"additional-documentation/nestjs-application/api-design.html","title":"additional-page - API Design","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nto be documented\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/logging.html":{"url":"additional-documentation/nestjs-application/logging.html","title":"additional-page - Logging","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nLogging\nFor logging use the Logger, exported by the logger module. It encapsulates a Winston logger. Its injection scope is transient, so you can set a context when you inject it.\nFor better privacy protection and searchability of logs, the logger cannot log arbitrary strings but only so called loggables. If you want to log something you have to use or create a loggable that implements the Loggable interface.\nThe message should be fixed in each loggable. If you want to log further data, put in the data field of the LogMessage, like in the example below.\nExample :export class YourLoggable implements Loggable {\n constructor(private readonly userId: EntityId) {}\n\n getLogMessage(): LogMessage {\n return {\n message: 'I am a log message.',\n data: { userId: this.userId, },\n };\n }\n}\nExample :import { Logger } from '@src/core/logger';\n\nexport class YourUc {\n constructor(private logger: Logger) {\n this.logger.setContext(YourUc.name);\n }\n\n public sampleUcMethod(user) {\n this.logger.log(new YourLoggable(userId: user.id));\n }\n}This produces a logging output like\nExample :[NestWinston] Info - 2023-05-31 15:20:30.888 [YourUc] { message: 'I am a log message.', data: { userId: '0000d231816abba584714c9e' }}Log levels and error logging\nThe logger exposes the methods log, warn, debug and verbose. It does not expose an error method because we don't want errors to be logged manually. All errors are logged in the exception filter.\nLegacy logger\nWhile transitioning to the new logger for loggables, the old logger for strings is still available as LegacyLogger.\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/exception-handling.html":{"url":"additional-documentation/nestjs-application/exception-handling.html","title":"additional-page - Exception Handling","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nException Handling\n\nWe separate our business exceptions from technical exceptions. While for technical exceptions, we use the predefined HTTPExceptions from NestJS, business exceptions inherit from abstract BusinessException.\nBy default, implementations of BusinessException must define\nExample : code: 500\n type: \"CUSTOM_ERROR_TYPE\",\n title: \"Custom Error Type\",\n message: \"Human readable details\",\n // additional: optionalDataThere is a GlobalErrorFilter provided to handle exceptions, which cares about the response format of exceptions and logging. It overrides the default NestJS APP_FILTER in the core/error-module.\nIn client applications, for technical errors, evaluate the http-error-code, then for business exceptions, the type can be used as identifier and additional data can be evaluated.\nFor business errors we use 409/conflict as default to clearly have all business errors with one error code identified.\n\nSample: For API validation errors, 400/Bad Request will be extended with validationError: ValidationError[{ field: string, error: string }] and a custom type API_VALIDATION_ERROR.\n\nPipes can be used as input validation. To get errors reported in the correct format, they can define a custom exception factory when they should produce api validation error or other exceptions, handled by clients.\nChaining errors with the cause property\nIf you catch an error and throw a new one, put the original error in the cause property of the new error. See example:\nExample :try {\n someMethod();\n} catch(error) {\n throw new ForbiddenException('some message', { cause: error });\n}Loggable exceptions\nIf you want the error log to contain more information than just the exception message, use or create an exception which implements the Loggable interface. Don't put data directly in the exception message!\nA loggable exception should extend the respective Built-in HTTP exception from NestJS. For the name just put in \"Loggable\" before the word \"Exception\", e.g. \"BadRequestLoggableException\". Except for logging a loggable exception behaves like any other exception, specifically the error response is not affected by this.\nSee example below.\nExample :export class UnauthorizedLoggableException extends UnauthorizedException implements Loggable {\n constructor(private readonly username: string, private readonly systemId?: string) {\n super();\n }\n\n getLogMessage(): ErrorLogMessage {\n const message = {\n type: 'UNAUTHORIZED_EXCEPTION',\n stack: this.stack,\n data: {\n userName: this.username,\n systemId: this.systemId,\n },\n };\n\n return message;\n }\n}Example :export class YourService {\n public sampleServiceMethod(username, systemId) {\n throw new UnauthorizedLoggableException(username, systemId);\n }\n}\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/domain-object-validation.html":{"url":"additional-documentation/nestjs-application/domain-object-validation.html","title":"additional-page - Domain Object Validation","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nDomain Object Validation\nIf you need to validate a domain object, please write an independent class, so that the domain object itself, its repo and services can reuse it.\nEric Evans suggests using the specification pattern.A specification fulfills the following interface:\nExample :public interface Specification {\n boolean isSatisfiedBy(T t);\n}A specification checks if a domain object fulfills the conditions of the specification.\nA specification can simply specify that a domain object is valid. E.g. a Task has an owner and a description.A specification can specify more complex and specialized conditions. E.g. Task where every student assigned to the task's course has handed in a submission. \nThe specification pattern in its full extend describes how to use logic operators to combine multiple specifications into combined specifications as well. Please don't build this as long as you don't need it. YAGNI.More about full specification pattern\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/testing.html":{"url":"additional-documentation/nestjs-application/testing.html","title":"additional-page - Testing","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nTesting\nAutomated testing is the essential part of the software development process.\nIt improves the code quality and ensure that the code operates correctly especially after refactoring.\nGeneral Test Conventions\nLean Tests\nThe tests should be as simple to read and understand as possible. They should be effortless to write and change, in order to not slow down development. Wherever possible:\n\navoid complex logic\ncover only one case per test\nonly use clearly named and widely used helper functions\nstick to blackbox testing: think about the unit from the outside, not its inner workings.\nits okay to duplicate code for each test\n\nNaming Convention\nWhen a test fails, the name of the test is the first hint to the developer (or any other person) to what went wrong where. (along with the \"describe\" blocks the test is in).\nThus, your describe structure and testcase names should be designed to enable a person unfamiliar with the code to identify the problem as fast as possible. It should tell him:\n\nwhat component is being tested\nunder what condition\nthe expected outcome\n\nTo facilitate this, your tests should be wrapped in at least two describe levels.\nExample :// Name of the unit under test\ndescribe(\"Course Service\", (() => {\n // method that is called\n describe('createCourse', () => {\n // a \"when...\" sentence\n describe(\"When a student tries to create a course\", (() => {\n // a \"should...\" sentence\n it(\"should return course\", async () => {\n ...\n });\n });\n });\n});Isolation\nEach test should be able to run alone, as well as together with any other tests. To ensure this, it is important that the test does not depend on any preexisting data.\n\nEach test should generate the data it needs, and ensure that its data is deleted afterwards. (this is usually done via mocha's \"afterEach\" function.\nWhen you create objects with fields that have to be globally unique, like the account username, you must ensure the name you choose is unique. This can be done by including a timestamp.\nNever use seeddata.\n\nTest Structure\nYour test should be structured in three seperate areas, each distinguished by at least an empty line:\n\nArrange - set up your testdata\nAct - call the function you want to test\nAssert - check the result\n\nthis is known as the AAA-pattern.\nThe tests for a unit should cover as much scenarios as possible. Parameters and the combination of parameters can often take numerous values. Therefore it largely differs from case to case what a sufficient amount of scenarios would be. Parameter values that contradict the typescript type definition should be ignored as a test case. \nThe test coverage report already enforces scenarios that test every possible if/else result in the code. But still some scenarios are not covered by the report and must be tested:\n\nAll error scenarios: That means one describe block for every call that can reject.\n\nWe use different levels of describe blocks to structure the tests in a way, that the tested scenarios could easily be recognized. The outer describe would be the function call itself. Every scenario is added as another describe inside the outer describe. \nAll of the data and mock preparation should happen in a setup function. Every describe scenario only contains one setup function and is called in every test. No further data or mock preparation should be added to the test. Often there will be only one test in every describe scenario, this is perfectly fine with our desired structure.\nExample :describe('[method]', () => {\n describe('when [senario description that is prepared in setup]', () => {\n const setup = () => {\n // prepare the data and mocks for this scenario\n };\n\n it('...', () => {\n const { } = setup();\n });\n\n it('...', () => {\n const { } = setup();\n });\n }); \n\n describe('when [senario description that is prepared in setup]', () => {\n const setup = () => {\n // prepare the data and mocks for this scenario\n };\n\n it('...', () => {\n const { } = setup();\n });\n });\n});Testing Samples\nHandling of function return values\nWhen assigning a value to an expect, separate the function call from the expectation to simplify debugging. This later helps when you not know about the return value type or if it's an promise or not. This is good style not only for tests.\nExample : // doSomethingCrazy : retValue\n it('bad sample', () => {\n expect(doSomethingCrazy(x,y,z)).to...\n })\n it('good sample', () => {\n const result = doSomethingCrazy(x,y,z)\n expect(result).to... // here we can simply debug\n })\nPromises and Timouts in tests\nWhen using asynchronous functions and/opr promises, results must be awaited within of an async test function instead of using promise chains. While for expecting error conditions it might be helpful to use catch for extracting a value from an expected error, in every case avoid writing long promise chains.\n\nInstead of using done callback, use async test functions.\nUse await instead of (long) promise chains\nnever manually set a timeout\n\nExample : // doSomethingCrazy : Promise\n it('bad async sample', async function (done) => {\n this.timeout(10000);\n return doSomethingCrazy(x,y,z).then(result=>{\n expect(result).to...\n done() // expected done\n }).catch(()=>{\n logger.info(`Could not ... ${error}`);\n done() // unexpected done, test will always succeed which is wrong\n })\n })\n it('good async sample', async () => {\n // no timeout set\n const result = await doSomethingCrazy(x,y,z)\n expect(result).to...\n })\nTimeouts must not be used, when async handling is correctly defined!\n\nExpecting errors in tests\nWhen expecting an error, you might take values from an error, test for the error type thrown and must care of promises.\nExample : // doSomethingCrazy : Promise\n it('bad async sample expecting an error', () => {\n expect(doSomethingCrazy(x,y,z)).to...\n })\n it('good async sample expecting an error value', async () => {\n const code = await doSomethingCrazy(x,y,z).catch(err => err.code)\n expect(code).to...\n })\n it('good sample expecting an error type from a sync function', () => {\n expect(() => doSomethingCrazySync(wrong, param)).toThrow(BadRequestException);\n })\n it('good sample expecting an error type from an async function', async () => {\n await expect(doSomethingCrazySync(wrong, param)).rejects.toThrow(BadRequestException);\n })Testing Utilities\nNestJS:\n\nprovides default tooling (such as test runner that builds an isolated module/application loader)\nprovides integration with Jest and Supertest out of the box\nmakes the Nest dependency injection system available in the testing environment for mocking components\n\nThe @nestjs/testing.Test class provides an execution context that mocks the full Nest runtime, but gives\nhooks that can help to manage class instances, including mocking and overriding.\nThe method Test.createTestingModule() takes module metadata as argument it returns TestingModule instance.\nThe TestingModule instance provides method compile() which bootstraps a module with its dependencies.\nEvery provider can be overwritten with custom provider implementation for testing purposes.\nExample : beforeAll(async () => {\n const moduleRef = await Test.createTestingModule({\n controllers: [SampleController],\n providers: [SampleService],\n }).compile();\n\n sampleService = moduleRef.get(SampleService);\n sampleController = moduleRef.get(CatsController);\n });Mocking\nUsing the utilities provided by NestJs, we can easily inject mocks into our testing module. The mocks themselves, we create using a library by @golevelup.\nYou can create a mock using createMock(). As result you will recieved a DeepMocked\nExample :let fut: FeatureUnderTest;\nlet mockService: DeepMocked;\n\nbeforeAll(async () => {\n const module = await Test.createTestingModule({\n providers: [\n FeatureUnderTest,\n {\n provide: MockService,\n useValue: createMock(),\n },\n ],\n }).compile();\n\n fut = module.get(FeatureUnderTest);\n mockService = module.get(MockService);\n});\n\nafterAll(async () => {\n await module.close();\n});\n\nafterEach(() => {\n jest.resetAllMocks();\n})The resulting mock has all the functions of the original Class, replaced with jest spies. This gives you code completion and type safety, combined with all the features of spies.\ncreateTestingModule should only be calld in beforeAll and not in beforeEach to keep the setup and teardown for each test as simple as possible. Therefore module.close should only be called in afterAll and not in afterEach.\nTo generally reset specific mock implementation after each test jest.resetAllMocks can be used in afterEach. jest.restoreAllMocks should not be used, because in some cases it will not properly restore mocks created by ts-jest.\nExample :describe('somefunction', () => {\n describe('when service returns user', () => {\n const setup = () => {\n const resultUser = userFactory.buildWithId();\n\n mockService.getUser.mockReturnValueOnce(resultUser);\n\n return { resultUser };\n };\n\n it('should call service', async () => {\n setup();\n await fut.somefunction();\n expect(mockService.getUser).toHaveBeenCalled();\n });\n\n it('should return user passed by service', async () => {\n const { resultUser } = setup();\n const result = await fut.somefunction();\n expect(result).toEqual(resultUser);\n });\n });\n});For creating specific mock implementations the helper functions which only mock the implementation once, must be used (e.g. mockReturnValueOnce). With that approach more control over mocked functions can be achieved.\nIf you want to mock a method that is not part of a dependency you can mock it with jest.spyOn. We strongly recommend the use of jest.spyOn and not jest.fn, because jest.spyOn can be restored a lot easier. \nUnit Tests vs Integration Tests\nIn Unit Tests we access directly only the component which is currently testing.\nAny dependencies should be mocked or are replaced with default testing implementation.\nEspecially the database access and database calls should be mocked.\nIn contrast to unit tests the integration tests use access to the database and execute\nreal queries using repositories.\nRepo Tests\nFor the data access layer, integration tests can be used to check the repositories base functionality against a database.\nFor Queries care DRY principle, they should be tested very carefully.\n\nUse a in-memory database for testing to allow parallel test execution and have isolated execution of tests.\n\n\nA test must define the before and after state of the data set clearly and cleanup the database after execution to the before state.\n\n\nInstead of using predefined data sets, all preconditions should be defined in code through fixtures.\n\nOur repository layer uses mikro-orm/EntityManager to execute the queries.\nBy testing repositories we want to verify the correct behaviour of the repository functions.\nIt includes verifying expected database state after executed repository function.\nTherefore, the *.repo.integration.spec.js should be used.\nThe basic structure of the repo integration test:\nPreconditions (beforeAll):\n\nCreate Nest JS testing module:\n1.1 with MongoMemoryDatabaseModule defining entities which are used in tests. This will wrap MikroOrmModule.forRoot() with running a MongoDB in memory.\n1.2 provide the repo which should be tested\nGet repo, orm and entityManager from testing module\n\nExample : import { MongoMemoryDatabaseModule } from '@src/modules/database';\n\n let repo: NewsRepo;\n let em: EntityManager;\n let testModule: TestingModule;\n\n beforeAll(async () => {\n testModule: TestingModule = await Test.createTestingModule({ (1)\n imports: [\n MongoMemoryDatabaseModule.forRoot({ (1.1)\n entities: [News, CourseNews, ...],\n }),\n ],\n providers: [NewsRepo], (1.2)\n }).compile();\n repo = testModule.get(NewsRepo); (2)\n orm = testModule.get(MikroORM);\n em = testModule.get(EntityManager);\n })Post conditions (afterAll), Teardown\nAfter all tests are executed close the app and orm to release the resources by closing the test module.\nExample : afterAll(async () => {\n await testModule.close();\n });\nWhen Jest reports open handles that not have been closed, ensure all Promises are awaited and all application parts started are correctly closed.\n\nEntity Factories\nTo fill the in-memory-db we use factories. They are located in \\apps\\server\\src\\shared\\testing\\factory. If you create a new one, please add it to the index.ts in that folder.\nAccessing the in-memory-db\nWhile debugging the tests, the URL to the in-memory-db can be found in the EntityManager instance of your repo in em.config.options.clientUrl.\nCopy paste this URL to your DB Tool e.g. MongoDB Compass. You will find a database called 'test' with the data you created for your test.\nMapping Tests\nMapping tests are Unit Tests which verify the correct mapping between entities and Dto objects.\nThese tests should not have any external dependencies to other layers like database or use cases.\nUse Case Tests\nSince a usecase only contains orchestration, its tests should be decoupled from the components it depends on. We thus use unittests to verify the orchestration where necessary\n\nAll Dependencies should be mocked.\n\n\nUse Spies to verify necessary steps, such as authorisation checks.\n\nto be documented\nController Tests\nControllers do not contain any logic, but exclusively information to map and validate between dataformats used on the network, and those used internally, as well as documentation of the api.\nMost of these things can not be covered by unit tests. Therefore we do not write specific unittests for them, and only cover them with api tests.\nAPI Tests\nThe API tests are plumbing or integration tests. Their job is to make sure all components that interact to fulfill a specific api endpoint are wired up correctly, and fulfil the expectation set up in the documentation.\nAPI tests should be located in the folder controller/api-test of each module.\nThey should call the endpoint like a external entity would, treating it like a blackbox. It should try all parameters available on the API, users with different roles, as well as relevant error cases.\nDuring the API test, all components that are part of the server, or controlled by the server, should be available. This includes an in-memory database.\nAny external services or servers that are outside our control should be mocked away via their respective adapters.\nReferences\nThis guide is inspired by https://github.com/goldbergyoni/javascript-testing-best-practices/\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/vscode.html":{"url":"additional-documentation/nestjs-application/vscode.html","title":"additional-page - VSCode","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nVSCode\nLaunch scripts\nIn the file ./vscode/launch.default.json you find following actions:\n\nAttach to NestJS will allow to attach VSCode debugger to an already running application\nDeubg NestJS via NPM will start the application and attach the debugger\n\nSettings\nIn the file ./vscode/settings.default.json find suggested settings.\nRecommended extensions\nSee ./vscode/extensions.json for recommendations.\nJest\nJest is used to care of unit- and end2end tests on all *.spec.ts files.\n Allows to just see failing tests in Problems tab.\n and get small icons like ✔️ or a cross beside it-definitions inside of test files.\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/git.html":{"url":"additional-documentation/nestjs-application/git.html","title":"additional-page - Git","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nGit\nBranch name conventions\n\nEach change should be done in a ticket (no matter how small)\nThe ticket does not need to be refined for very small things\nMight be relevant for reporting later\n\n\nFolder (feature/..) should no longer be used\nStay below 64 letters\nDo not simply use ticket title, usually we need a shorter description :-)\n\n\nTicket number needs to be uppercase (BC-1234)\nRelated to matching with Jira\nCareful: namespace is lowercase\n\n\n\nExample :BC-XXXX-kebab-case-short-descriptionCommit message conventions\n\nSquashed commit subject should start with a ticket number, and end with a PR number\nClean body (contains all commits by default)\nOnly leave changes relevant for main\nRemove commits likes 'fix for linter', 'add tests', 'fix review comments'\nSee example below\n\n\nWrite commit messages in imperative and active\nGood: \"make the code better\"\nBad: \"made the code better\", \"makes the code better\"\n\n\nFeel free to write actual text\n\nExample :BC-1993 - lesson lernstore and geogebra copy (#3532)\n \nIn order to make sure developers in the future can find out why changes have been made,\nwe would like some descriptive text here that explains what we did and why.\n \n- change some important things\n- change some other things\n- refactor some existing things\n \n# I dont need to mention tests, changes that didnt make it to main, linter, or other fixups\n# only leave lines that are relevant changes compared to main\n# comments like this will not actually show up in the git historyWindows\nWe strongly recommend to let git translate line endings. Please set git config --global --add core.autocrlf input when working with windows.\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/keycloak.html":{"url":"additional-documentation/nestjs-application/keycloak.html","title":"additional-page - Keycloak","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nErWIn-IDM (Keycloak)\n\nErWIn-IDM, namely Keycloak, will be the future Identity Management System (IDM) for the dBildungscloud. Keycloak\nprovides OpenID Connect, SAML 2.0 and other identity related functionalities like SSO out of the box. It can\nalso act as identity broker or aggregate identities from third party services which can be an active directory or LDAP.\n\nDocker\nTo run Keycloak locally for development purpose use the following Bash or PowerShell command. You can log into Keycloak\nhere http://localhost:8080. If you don't want to block your terminal, you can add the -d option to start the container\nin the background. Execute these commands in the repository root or the data seeding will fail, and you can not log into\nKeycloak with any user.\nBash:\nExample :docker run \\\n --name erwinidm \\\n -p 8080:8080 \\\n -p 8443:8443 \\\n -v \"$PWD/backup/idm/keycloak:/tmp/realms\" \\\n ghcr.io/hpi-schul-cloud/erwin-idm/dev:latest \\\n \"&& /opt/keycloak/bin/kc.sh import --dir /tmp/realms\"PowerShell:\nExample :docker run `\n --name erwinidm `\n -p 8080:8080 `\n -p 8443:8443 `\n -v \"$PWD/backup/idm/keycloak:/tmp/realms\" `\n ghcr.io/hpi-schul-cloud/erwin-idm/dev:latest `\n \"&& /opt/keycloak/bin/kc.sh import --dir /tmp/realms\"Setup OpenID Connect Identity Provider mock for ErWIn-IDM brokering\nTo add ErWIn-IDM identity broker feature via OpenID Connect (OIDC) Identity Provider (IdP) mock follow the steps below. Execute these commands in the repository root.\n\nSet env vars (or in your .env file) 'OIDCMOCK__BASE_URL' to http://:4011.\nTo make it work with the nuxt client set the env var HOST=http://localhost:4000\nre-trigger npm run setup:db and npm run setup:idm to reset and apply seed data.\nstart the 'oidc-server-mock' as follows:\n\nExample :docker run \\\n --name oidc-server-mock \\\n -p 4011:80 \\\n -e ASPNETCORE_ENVIRONMENT='Development' \\\n -e SERVER_OPTIONS_PATH='/tmp/config/server-config.json' \\\n -e USERS_CONFIGURATION_PATH='/tmp/config/users-config.json' \\\n -e CLIENTS_CONFIGURATION_PATH='/tmp/config/clients-config.json' \\\n -v \"$PWD/backup/idm/oidcmock:/tmp/config\" \\\n ghcr.io/soluto/oidc-server-mock:0.6.0PowerShell:\nExample :docker run `\n --name oidc-server-mock `\n -p 4011:80 `\n -e ASPNETCORE_ENVIRONMENT='Development' `\n -e SERVER_OPTIONS_PATH='/tmp/config/server-config.json' `\n -e USERS_CONFIGURATION_PATH='/tmp/config/users-config.json' `\n -e CLIENTS_CONFIGURATION_PATH='/tmp/config/clients-config.json' `\n -v \"$PWD/backup/idm/oidcmock:/tmp/config\" `\n ghcr.io/soluto/oidc-server-mock:0.6.0Setup OpenID Connect Identity Provider mock for ErWIn-IDM brokering with LDAP provisioning\nThe broker feature can be setup in conjunction with LDAP provisioning for local testing purpose. Therefore, run the sc-openldap-single container:\nExample :docker run \\\n --name sc-openldap-single \\\n -p 389:389 \\\n ghcr.io/hpi-schul-cloud/sc-openldap-single:latestExample :docker run `\n --name sc-openldap-single `\n -p 389:389 `\n ghcr.io/hpi-schul-cloud/sc-openldap-single:latestThe LDAP provisioning is trigger as follows:\nExample :curl -X POST \\\n  'http://localhost:3030/api/v1/sync?target=ldap' \\\n  --header 'Accept: */*' \\\n  --header 'X-API-KEY: example'Example :Invoke-RestMethod `\n -Uri 'http://localhost:3030/api/v1/sync?target=ldap' `\n -Method Post `\n -Headers @{ \"Accept\" = \"*/*\"; \"X-API-KEY\" = \"example\" }See '/tmp/config/users-config.json' for the users details.\nTest local environment\nYou may test your local setup executing 'keycloak-identity-management.integration.spec.ts':\nExample :npx jest apps/server/src/shared/infra/identity-management/keycloak/service/keycloak-identity-management.service.integration.spec.tsSeeding Data\nDuring container startup Keycloak will always create the Master realm with the admin user. After startup, we use the\nKeycloak-CLI to import the dBildungscloud realm, which contains some seed users, groups and permissions for development\nand testing. In the table below you can see the username and password combinations for the Keycloak login.\n\n\n\nUsername\nPassword\nDescription\n\n\n\n\nkeycloak\nkeycloak\nThe overall Keycloak administrator with all permissions.\n\n\ndbildungscloud\ndBildungscloud\nThe dBildungscloud realm specific administrator.\n\n\n\nUpdating Seed Data\n\nRun Keycloak and make the desired changes\nUse docker container exec -it keycloak bash to start a bash in the container\nUse the Keycloak-CLI to export all Keycloak data with /opt/keycloak/bin/kc.sh export --dir /tmp/realms\nSave your changes with a commit\nIf you start your container with a command from the docker section, your changes will be directly applied to the starting Keycloak container\n\n\nIMPORTANT: During the export process there will be some errors, that's because the export process will be done on the\nsame port as the Keycloak server. This leads to Keycloak failing to start the server in import/export mode. Due to the\ntransition from WildFly to Quarkus as application server there is currently no documentation on this topic.\n\nIn order to re-apply the seeding data for a running keycloak container, you may run following commands (to be executed in the repository root):\n\ndocker cp ./backup/idm/keycloak keycloak:/tmp/realms\ndocker exec erwinidm /opt/keycloak/bin/kc.sh import --dir /tmp/realms\n\nNPM Commands\nA list of available NPM commands regarding Keycloak / IDM.\n\n\n\nCommand\nDescription\n\n\n\n\nsetup:idm:seed\nSeeds users for development and testing purpose into the IDM\n\n\nsetup:idm:configure\nConfigures identity and authentication providers and other details in the IDM\n\n\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/rocket.chat.html":{"url":"additional-documentation/nestjs-application/rocket.chat.html","title":"additional-page - Rocket.Chat","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nRocket.Chat\nStart Mongodb\nIt makes sense for Rocket.Chat to launch its own mongodb in Docker. Reason for this is Rocket.Chat requires Mongodb as replicaSet setup.\nExample :docker run --name rocket-chat-mongodb -m=256m -p27030:27017 -d docker.io/mongo --replSet rs0 --oplogSize 10Start mongoDB console and execute\nExample :rs.initiate({\"_id\" : \"rs0\", \"members\" : [{\"_id\" : 0, \"host\" : \"localhost:27017\"}]})Start rocketChat\n(check the latest settings https://github.com/hpi-schul-cloud/dof_app_deploy/blob/main/ansible/roles/rocketchat/templates/configmap.yml.j2#L9)\nPlease not that the displayed //172.29.173.128 is the IP address of the mongoDB docker container.\nYou can get the ip over the command: docker inspect rocket-chat-mongodb | grep \"IPAddress\" (dependent on our system)\nExample :docker run\\\n -e CREATE_TOKENS_FOR_USERS=true \\\n -e MONGO_URL=mongodb://172.29.173.128:27030/rocketchat \\\n -e ADMIN_PASS=huhu \\\n -e API_Enable_Rate_Limiter_Limit_Calls_Default=255 \\\n -e Accounts_iframe_enabled=true \\\n -e Accounts_iframe_url=http://localhost:4000/rocketChat/Iframe \\\n -e Accounts_Iframe_api_url=http://localhost:4000/rocketChat/authGet \\\n -e Accounts_AllowRealNameChange=false \\\n -e Accounts_AllowUsernameChange=false \\\n -e Accounts_AllowEmailChange=false \\\n -e Accounts_AllowAnonymousRead=false \\\n -e Accounts_Send_Email_When_Activating=false \\\n -e Accounts_Send_Email_When_Deactivating=false \\\n -e Accounts_UseDefaultBlockedDomainsList=false \\\n -e Analytics_features_messages=false \\\n -e Analytics_features_rooms=false \\\n -e Analytics_features_users=false \\\n -e Statistics_reporting=false \\\n -e API_Enable_CORS=true \\\n -e Discussion_enabled=false \\\n -e FileUpload_Enabled=false \\\n -e UI_Use_Real_Name=true \\\n -e Threads_enabled=false \\\n -e Accounts_SetDefaultAvatar=false \\\n -e Iframe_Restrict_Access=false \\\n -e Accounts_Iframe_api_method=GET \\\n -e OVERWRITE_SETTING_Show_Setup_Wizard='completed' \\\n -p 3000:3000 docker.io/rocketchat/rocket.chat:4.7.2ENVS\nYou must also configure you server and legacy client application.\nUse the .env file in top of the project folders.\ndBildungscloud Backend Server\nExample :ROCKETCHAT_SERVICE_ENABLED=true\nROCKET_CHAT_URI=\"http://localhost:3000\"\nROCKET_CHAT_ADMIN_USER=admin\nROCKET_CHAT_ADMIN_PASSWORD=huhudBildungscloud Legacy Client\nExample :ROCKETCHAT_SERVICE_ENABLED=true\nROCKET_CHAT_URI=\"http://localhost:3000\"\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/configuration.html":{"url":"additional-documentation/nestjs-application/configuration.html","title":"additional-page - Configuration","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nSchul-Cloud Server\n\n\n\nNestJS application\n\nFind the NestJS applications documentation of this repository at GitHub pages. It contains information about\n\n\nsetup & preconditions\nstarting the application\ntesting\ntools setup (VSCode, Git)\narchitecture\n\nBased on NestJS\nFeathers application\nThis is legacy part of the application!\nBased on Node.js and Feathers\nApplication seperation\nIn order to seperate NestJS and Feathers each application runs in its own express instance. These express instances are then mounted on seperate paths under a common root express instance.\nExample :Root-Express-App \n├─ api/v1/ --> Feathers-App\n├─ api/v3/ --> NestJS-AppThis ensures that each application can run its own middleware stack for authentication, error handling, logging etc.\nThe mount paths don't have any impact on the routes inside of the applications, e.g. the path /api/v3/news will translate to the inner path /news. That means that in terms of route matching each child application doesn't have to take any measures regarding the path prefix. It simply works as it was mounted to /.\nHowever note that when URLs are generated inside a child application the path prefix has to be prepended. Only then the generated URLs match the appropriate child application, e.g. the path /news has to be provided as the external path /api/v3/news.\nIt is possible (not very likely) that the server api is called with URLs that use the old schema without a path prefix. As a safety net for that we additionally mount the Feathers application as before under the paths:\n\n/ - for internal calls\n/api - for external calls\n\nWhen these paths are accessed an error with context [DEPRECATED-PATH] is logged.\nSetup\nThe whole application setup with all dependencies can be found in System Architecture. It contains information about how different application components are connected to each other.\nDebugger Configuration in Visual Studio Code\nFor more details how to set up Visual Studio Code, read this document.\nHow to name your branch and create a pull request (PR)\n\nTake the Ticket Number from JIRA (ticketsystem.dbildungscloud.de), e.g. SC-999\nName the feature branch beginning with Ticket Number, all words separated by dash \"-\", e.g. feature/SC-999-fantasy-problem\nCreate a PR on branch develop containing the Ticket Number in PR title\nKeep the WIP label as long as this PR is in development, complete PR checklist (is automatically added), keep or increase code test coverage, and pass all tests before you remove the WIP label. Reviewers will be added automatically.\n\nCommitting\nDefault branch: main\n\nGo into project folder\nCheckout to develop branch (or clone for the first time)\nRun git pull\nCreate a branch for your new feature named feature/BC-Ticket-ID-Description\nRun the tests (see above)\nCommit with a meaningful commit message(!) even at 4 a.m. and not stuff like \"dfsdfsf\"\nStart a pull request (see above) to branch develop to merge your changes\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/authorisation.html":{"url":"additional-documentation/nestjs-application/authorisation.html","title":"additional-page - Authorisation","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nNestJS Authorization Module\nObjectives\nBreaking down complexity and isolate it.\nOne place to solve a specific authorization for a scope.\nOne implementation to handle all different situations in our system.\nIt should not be possible to use it in a wrong way.\n\nYou should not need to understand the complete system, to know if something is authorized\n\nWe also want to avoid any specific code for modules, collections, or something else, in the authorization module.\nExplanation of Terms\nPermissions\nWe have string based permissions.\nFor examples check \"enum Permission\".\nIt includes all available permissions and is not seperated by concerns or abstraction levels.\nThe permissions have different implicit scopes like instance, school, or named scope like team and course.\n(Feature Flag Permissions)\nSome of the permissions are used like feature flags. We want to seperate and move these in the future.\nPlease keep that in mind, while becoming familiar with permissions.\nRoles\nWe have a role collection, where each role has a permissions array that includes string based permissions.\nRoles inherit permissions from the roles they have in their \"roles\" field.\nLike the \"user\" role, some of these roles are abstract and only used for inheritance.\nSome others are scope based with a prefix name like team*, or course*.\nThe \"real\" user roles by name are expert, student, teacher and administrator. All of these are in the school scope and the superhero is in the scope of an instance.\n\nIn future we want to remove the inherit logic.\nWe want to add scope types to each role.\nAdd more technical users for the instance scope.\n\nEntities\nThe entities are the representation of a single document of the collection, or the type.\nThey are used for authorization for now, but should be replaced by domain objects soon.\nDomain Objects\nThey are not really introduced. They should map between the repository layer and the domain.\n\nIn future they are the base for authorization and the authorization service doesn't know anything about entities anymore.\n\nScopes\nEverything what the system, or a user wants to do, is executed in a scope.\nA scope means an area like the complete instance, the school, the course, the user itself and so on.\nThe scopes are highly bind to the real domain objects that we have in our domain.\nScope Actions\nThe permission for a base action, like they are defined in CRUD operations, is needed to execute something in a scope.\nThe most implicit action you ever need is the \"read\" action. That means, you must have the authorization to \"read\" the scope, otherwise it should not exist for you. :-)\nThe other possible action is to have write access to the scope.\nIt is a combination of delete, edit, create from CRUD side.\n\nFrom our current perspective, we need no differentiation.\nBut we force the implementation in a way, that allows us to add some more.\n\nScope Permission\nWe have different situations where it is hard to say you can write/read to the domain scope.\nWe need the possibility to define different permissions for a single domain scope, or a single domain object it self.\n\nLet say the user can edit his own user account, but we want to disallow that they can change his age.\nBut an administrator should have the authorization to do it.\n\nor a other case..\n\nA student has limited permissions in a team, where he is only a member, but would have more permissions in a team, where he is the owner. So at this point, we need to distingush between instances of domain objects.\n\nUser(s)\nIn authorization scope it can be a system user, or a real user in our application.\nEach user has a role with permissions in the scope of the domain object they want to interact with.\nEach authorization requires a user.\nSystem Users\nWe have console operations, or operations based on API_KEYS that are used between internal services for already authorized operations like copy and copy files in file service.\nFor this we want to use system user and roles with own permissions.\n\nThey are not introduced for now\n\nRules\nThe rules are implemented with a strategy pattern and are called from the authorization service.\nThe implementation should solve the authorization for a domain object based on the executed action.\nIt implements a check for which domain object, entity, or additional conditions should be used.\n\nThe rule must validate our scope actions.\nWe highly recommend that every single operation and check in the rule is implemented as a additional method to keep the logic clean and moveable.\n\nUser (Role) Permissions vs Scope Based Permissions\nThe permissions of the user come from his role.\nThis permissions have no explicit scope. But implicitly the roles expert, student, teacher and administrator are in the school scope. The superhero is implicitly in the scope of the instance.\nIt exists also scope based permissions. A user can have different (scope)roles in different (domain)scopes. For example in teams where the student can have team member role in one team, or team adminstrator in another.\n\nIn future we want to switch the implicit scope of the user role permissions to explicit scopes like in teams.\nAt the moment we must handle scope-, user- and system-user-permissions as seperated special cases in our implementation.\nBy implementing user role permissions bind to scopes, we can do it in one way for all situations.\n\nHow should you Authorize an Operation?\nAuthorization must be handled in use cases (UC). They solve the authorization and orchestrate the logic that should be done in services, or private methods.\nYou should never implement authorization on service level, to avoid different authorization steps.\nWhen calling other internal micro service for already authorized operations please use a queue based on RabbitMQ.\n\nNot implemented but coming soon.\n\nHow to use Authorization Service\n\nPlease avoid to catch the errors of the authorization in UC.\nWe set empty array as required for passing permissions to make it visible that no string base permission is needed.\n\nExample 1 - Execute a Single Operation\nExample : this.authorizationService.checkPermission(user, course, AuthorizationContextBuilder.write([])\n // or\n this.authorizationService.hasPermission(user, course, AuthorizationContextBuilder.write([])\n // next orchestration stepsExample 2 - Set Permission(s) of User as Required\nExample :// Multiple permissions can be added. For a successful authorization, the user need all of them.\nawait this.authorizationService.hasPermission(userId, course, AuthorizationContextBuilder.read([Permissions.COURSE_VIEW]));\n// next orchestration stepsExample 4 - Define Context for Multiple Places\nExample :/** const **/\nexport const FileStorageAuthorizationContext = {\n create: AuthorizationContextBuilder.write([Permission.FILESTORAGE_CREATE]),\n read: AuthorizationContextBuilder.read([Permission.FILESTORAGE_VIEW]),\n update: AuthorizationContextBuilder.write([Permission.FILESTORAGE_EDIT]),\n delete: AuthorizationContextBuilder.write([Permission.FILESTORAGE_REMOVE]),\n};\n\n/** UC **/\nthis.authorizationService.hasPermission(userId, course, PermissionContexts.create);\n// do other orchestration stepsHow to use in our use cases\nExample - Create a school by superhero\nExample :async createSchoolBySuperhero(userId: EntityId, params: { name: string }) {\n\n const user = this.authorizationService.getUserWithPermissions(userId);\n this.authorizationService.hasAllPermissions(user, [Permission.SCHOOL_CREATE]);\n\n const school = new School(params);\n await this.schoolService.save(school);\n\n return true;\n}\nExample - Create user by admin\nExample :\nasync createUserByAdmin(userId: EntityId, params: { email: string, firstName: string, lastName: string, schoolId: EntityId }) {\n\n const user = this.authorizationService.getUserWithPermissions(userId);\n \n const context = AuthorizationContextBuilder.write([Permission.INSTANCE, Permission.CREATE_USER])\n await this.authorizationService.checkPermission(user, school, context);\n\n const newUser = new User(params)\n await this.userService.save(newUser);\n\n return true;\n}\nExample - Edit course by admin\nExample :// admin\nasync editCourseByAdmin(userId: EntityId, params: { courseId: EntityId, description: string }) {\n\n const course = this.courseService.getCourse(params.courseId);\n const user = this.authorizationService.getUserWithPermissions(userId);\n const school = course.school;\n\n const context = AuthorizationContextBuilder.write([Permission.INSTANCE, Permission.CREATE_USER]);\n this.authorizationService.checkPermissions(user, school, context);\n\n course.description = params.description;\n await this.courseService.save(course);\n\n return true;\n}\nExample - Create a Course\nExample :// User can create a course in scope a school, you need to check if he can it by school\nasync createCourse(userId: EntityId, params: { schoolId: EntityId }) {\n const user = this.authorizationService.getUserWithPermissions(userId);\n const school = this.schoolService.getSchool(params.schoolId);\n\n this.authorizationService.checkPermission(user, school\n {\n action: Actions.write,\n requiredPermissions: [Permission.COURSE_CREATE],\n }\n );\n\n const course = new Course({ school });\n await this.courseService.saveCourse(course);\n\n return course;\n}\nExample - Create a Lesson\nExample :// User can create a lesson to course, so you have a courseId\nasync createLesson(userId: EntityId, params: { courseId: EntityId }) {\n const course = this.courseService.getCourse(params.courseId);\n const user = this.authorizationService.getUserWithPermissions(userId);\n // check authorization for user and course\n this.authorizationService.checkPermission(user, course\n {\n action: Actions.write,\n requiredPermissions: [Permission.COURSE_EDIT],\n }\n );\n\n const lesson = new Lesson({course});\n await this.lessonService.saveLesson(lesson);\n\n return true;\n}How to write a rule\nSo a rule must validate our scope actions. For example we have a news for the school or course. The news has a creator and target model.\n\nAttention: The target model must be populated\n\nExample :@Injectable()\nexport class NewsRule extends BasePermission {\n constructor(private readonly authorizationHelper: AuthorizationHelper, private readonly schoolRule: SchoolRule, private readonly courseRule: CourseRule) {\n super();\n }\n\n // Is used to select the matching rule in the rule manager. Therefore we keep the condition to which case the rule\n // applies in the rule itself. In future we expect more complex conditions that could apply here.\n public isApplicable(user: User, entity: News): boolean {\n const isMatched = entity instanceof News;\n\n return isMatched;\n }\n\n public hasPermission(user: User, entity: News, context: AuthorizationContext): boolean {\n const { action, requiredPermissions } = context;\n\n // check required permissions passed by UC\n const hasPermission = this.authorizationHelper.hasAllPermissions(user, requiredPermissions);\n // check access to entity by property\n const isCreator = this.authorizationHelper.hasAccessToEntity(user, entity, ['creator']);\n let hasNewsPermission = false;\n\n if (action === Actions.read) {\n hasNewsPermission = this.parentPermission(user, entity, action);\n } else if (action === Actions.write) {\n hasNewsPermission = isCreator;\n }\n\n const result = hasPermission && hasNewsPermission;\n\n return result;\n }\n\n private parentPermission(user: User, entity: News, action: Actions): boolean {\n let hasParentPermission = false;\n // check by parentRule, because the schoolRule can contain extra logic\n // e.g. school is offline\n // or courseRule has complex permissions-resolves\n if (entity.targetModel === NewsTargetModel.School) {\n hasParentPermission = this.schoolRule.hasPermission(user, entity.target, { action, requiredPermissions: [] });\n } else if (entity.targetModel === NewsTargetModel.Course) {\n hasParentPermission = this.courseRule.hasPermission(user, entity.target, { action, requiredPermissions: [] });\n }\n\n return hasParentPermission;\n }\n}\nStructure of the Authorization Components\nfeathers-* (legacy/deprecated)\nIt exists a adapter to call featherJS endpoints that solve authorizations.\n\nThis service is only used in news and should not be used in any other place.\nWe want to remove it completly.\n\nAuthorization Module\nThe authorization module is the core of authorization. It collects all needed information and handles it behind a small interface. It exports the authoriation service that can be used in your use case over injections.\nReference.loader\nIt should be use only inside of the authorization module.\nIt is use to load registrated ressouces by the id and name of the ressource.\nThis is needed to solve the API requests from external services. (API implementation is missing for now)\n\nPlease keep in mind that it can have an impact on the performance if you use it wrongly.\nWe keep it as a seperate method to avoid the usage in areas where the domain object should exist, because we see the risk that a developer could be tempted by the ease of only passing the id.\n\nauthorization-context.builder\nWe export an authorization context builder to prepare the parameter for the authorization service called \"authorization context\".\nThis is optional and not required.\nBut it enables us to easily change the structure of the authorization context without touching many different places.\nshared/domain/interface/*\nrolename.enum\nAn enum that holds all avaible role names.\npermission.enum\nA enum that holds all avaible permission names, however it's mixing all domain scopes atm.\nWorking other Internal MicroServices\n\nExample FilesStorageService\n\nWe have the files storage service application that is a bundle of modules of this repository.\nThe application is startet as additional micro service.\nIt exists the need that the server application can call the file service.\nWe add a files storage client module to the server.\nThis module exports a service to communicate with the file service.\nFor communication it uses RabbitMQ.\nEvery operation must already be authorized in the UC of the server. There is no need to do it again in files storage service.\nFor this reason, we want the consumer of the RabbitMQ item to call the files storage service directly without authorization.\nLegacy Tech Stack FeatherJS Hooks\nIn featherJS all the authorization is done in hooks. Mostly before hooks and sometimes in after hooks.\nBefore and after means before, or after the database operation. For self writen services before, or after the call of the operation that should be executed.\nThey work similar to express middleware and bring their own request context.\nIt exists hooks that can be used for all http(s) calls, or for specific type based on CRUD operations.\nAdditionally it also exists the find operations that are a http(s) GET requests without the ID of a specific element.\nEach function that adds to the hooks will be executed in order. Hooks for all methods first, then hooks for specific methodes.\nEach hooks exists for a featherJS service that exposes directly the api endpoints directly. Additional it exists a global hook pattern for the whole application.\nExample: https://github.com/hpi-schul-cloud/schulcloud-server/blob/main/src/services/lesson/hooks/index.js#L232\nDesired Changes in Future\nSome small steps are done. But many next steps still exist.\nThey follow our general target.\nNext Steps\n\nImplementation of Scope Based Permissions as generell solution instead of User Permissions that has only implicit school scopes for now.\nRemove populate logic in reference loader.\nSolve eager loading in coursegroups.\nIntroduce RabbitMQ. Splitting Service(logic) from UC, that we can call services over the consumer for internal communication between micro services of already authorized operations.\nThink about: Move hasPermission checks from rules to a more generic place.\nRemove jwt decorator and cleanup copy logic.\nMove authorization-context.builder to authorization module.\nRemove inheritance from roles, because we want to write it explicitly into the collection documents.\nMoving role api endpoints to nestjs.\nFixing of dashboard to handle roles in the right way as superhero.\nSwitching entity based authorization to domain objects based in steps.\nCleanup of feature flags from user permissions.\nAdd existing feature flags to rules on places where it make sense.\nIntroduce instance as a scope to have an implemenation that handles all scopes/rules/permissions/user types in the same way.\n\nRefactoring Todos\n\nTask module should fully use authorization service.\nNews module should start to use authorization service.\n\nIs Needed\n\nWe can introduce a new layer called \"policy\" that combines different rules (any of them has their own matching strategy) for a single domain object between authorization and rule to reduce complexity in a single rule.\nWe can switch to a behaviour where rules register themself at the authorization service than.\n\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/code-style.html":{"url":"additional-documentation/nestjs-application/code-style.html","title":"additional-page - Code Style","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nCode Style\nFunction\nNaming\nThe name of a function should clearly communicate what it does. There should be no need to read the implementation of a function to understand what it does.\nThere are a few keywords that we use with specific meaning:\nis...\nisTask(), isPublished(), isAuthenticated(), isValid()\nA function with the prefix \"is...\" is checking wether the input belongs to a certain (sub)class, or fulfils a specific criteria.\nThe function should return a boolean, and have no sideeffects.\ncheck...\ncheckPermission(), checkInputIsValid()\nA function with the prefix \"check...\" is checking the condition described in its name, throwing an error if it does not apply.\nhas...\nhasPermission(),\nsimilar to \"is...\", the prefix \"has...\" means that the function is checking a condition, and returns a boolean. It does NOT throw an error.\nClasses\nOrder of declarations\nClasses are declared in the following order:\n\nproperties\nconstructor\nmethods\n\nExample:\nExample :export class Course {\n // 1. properties\n name: string;\n \n // more properties...\n\n // 2. constructor\n constructor(props: { name: string }) {\n // ...\n }\n\n // 3. methods\n getShortTitle(): string {\n // ...\n }\n\n // more methods...\n}\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"},"additional-documentation/nestjs-application/s3clientmodule.html":{"url":"additional-documentation/nestjs-application/s3clientmodule.html","title":"additional-page - S3ClientModule","body":"\n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nS3 client module\nThis module allows to connect to the S3 storage with our abstraction layer.\nhow to use\nYou need to create a unique connection token and set it as the connection name in S3 configuration. And you must use this token, when injecting the S3 client into your service. This is very important, because multiple modules could potentially use the S3 client with different configurations.\nThe S3ClientModule.register method awaits an array of S3 configurations. Also you can create many connections to different S3 providers and buckets.\nExample :// your.config.ts\nexport const YOUR_S3_UNIQ_CONNECTION_TOKEN = \"YOUR_S3_UNIQ_CONNECTION_TOKEN\";\n\nconst s3Config: S3Config = {\n connectionName: YOUR_S3_UNIQ_CONNECTION_TOKEN, // Important!\n endpoint: \"\",\n region: \"\",\n bucket: \"\",\n accessKeyId: \"\",\n secretAccessKey: \"\",\n};\n\n// your.service.ts\n\n@Injectable()\nexport class FilesStorageService {\n constructor(\n @Inject(YOUR_S3_UNIQ_CONNECTION_TOKEN) // Important!\n private readonly storageClient: S3ClientAdapter)\n}\n\n// your.module.ts\n@Module({\n imports: [S3ClientModule.register([s3Config]),]\n providers: [YourService]\n})\n\nexport class YourModule {}\n\n \n \n results matching \"\"\n \n \n \n No results matching \"\"\n \n\n"}} } diff --git a/modules/ClassModule.html b/modules/ClassModule.html index f0d3d619bf3..c922d8c93a7 100644 --- a/modules/ClassModule.html +++ b/modules/ClassModule.html @@ -124,14 +124,14 @@ cluster_ClassModule - -cluster_ClassModule_exports - - cluster_ClassModule_providers + +cluster_ClassModule_exports + + ClassService diff --git a/modules/ClassModule/dependencies.svg b/modules/ClassModule/dependencies.svg index 997714bb623..dff52b79c1a 100644 --- a/modules/ClassModule/dependencies.svg +++ b/modules/ClassModule/dependencies.svg @@ -24,14 +24,14 @@ cluster_ClassModule - -cluster_ClassModule_exports - - cluster_ClassModule_providers + +cluster_ClassModule_exports + + ClassService diff --git a/modules/CollaborativeStorageAdapterModule.html b/modules/CollaborativeStorageAdapterModule.html index 467db94497c..30a06dbf122 100644 --- a/modules/CollaborativeStorageAdapterModule.html +++ b/modules/CollaborativeStorageAdapterModule.html @@ -124,10 +124,6 @@ cluster_CollaborativeStorageAdapterModule - -cluster_CollaborativeStorageAdapterModule_exports - - cluster_CollaborativeStorageAdapterModule_providers @@ -136,6 +132,10 @@ cluster_CollaborativeStorageAdapterModule_imports + +cluster_CollaborativeStorageAdapterModule_exports + + LoggerModule diff --git a/modules/CollaborativeStorageAdapterModule/dependencies.svg b/modules/CollaborativeStorageAdapterModule/dependencies.svg index 1bab514d699..14a0aafb8d4 100644 --- a/modules/CollaborativeStorageAdapterModule/dependencies.svg +++ b/modules/CollaborativeStorageAdapterModule/dependencies.svg @@ -24,10 +24,6 @@ cluster_CollaborativeStorageAdapterModule - -cluster_CollaborativeStorageAdapterModule_exports - - cluster_CollaborativeStorageAdapterModule_providers @@ -36,6 +32,10 @@ cluster_CollaborativeStorageAdapterModule_imports + +cluster_CollaborativeStorageAdapterModule_exports + + LoggerModule diff --git a/modules/CollaborativeStorageModule.html b/modules/CollaborativeStorageModule.html index 4f19b9968e3..bc0337afb03 100644 --- a/modules/CollaborativeStorageModule.html +++ b/modules/CollaborativeStorageModule.html @@ -124,143 +124,143 @@ cluster_CollaborativeStorageModule - -cluster_CollaborativeStorageModule_providers - - cluster_CollaborativeStorageModule_exports - + cluster_CollaborativeStorageModule_imports - + + + +cluster_CollaborativeStorageModule_providers + AuthorizationModule - -AuthorizationModule + +AuthorizationModule CollaborativeStorageModule - -CollaborativeStorageModule + +CollaborativeStorageModule AuthorizationModule->CollaborativeStorageModule - - + + CollaborativeStorageAdapterModule - -CollaborativeStorageAdapterModule + +CollaborativeStorageAdapterModule CollaborativeStorageAdapterModule->CollaborativeStorageModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->CollaborativeStorageModule - - + + RoleModule - -RoleModule + +RoleModule RoleModule->CollaborativeStorageModule - - + + CollaborativeStorageUc - -CollaborativeStorageUc + +CollaborativeStorageUc CollaborativeStorageModule->CollaborativeStorageUc - - + + CollaborativeStorageService - -CollaborativeStorageService + +CollaborativeStorageService CollaborativeStorageService->CollaborativeStorageModule - - + + CollaborativeStorageUc - -CollaborativeStorageUc + +CollaborativeStorageUc CollaborativeStorageUc->CollaborativeStorageModule - - + + TeamMapper - -TeamMapper + +TeamMapper TeamMapper->CollaborativeStorageModule - - + + TeamPermissionsMapper - -TeamPermissionsMapper + +TeamPermissionsMapper TeamPermissionsMapper->CollaborativeStorageModule - - + + TeamsRepo - -TeamsRepo + +TeamsRepo TeamsRepo->CollaborativeStorageModule - - + + diff --git a/modules/CollaborativeStorageModule/dependencies.svg b/modules/CollaborativeStorageModule/dependencies.svg index 40706193c42..6b0ffe0aa0d 100644 --- a/modules/CollaborativeStorageModule/dependencies.svg +++ b/modules/CollaborativeStorageModule/dependencies.svg @@ -24,143 +24,143 @@ cluster_CollaborativeStorageModule - -cluster_CollaborativeStorageModule_providers - - cluster_CollaborativeStorageModule_exports - + cluster_CollaborativeStorageModule_imports - + + + +cluster_CollaborativeStorageModule_providers + AuthorizationModule - -AuthorizationModule + +AuthorizationModule CollaborativeStorageModule - -CollaborativeStorageModule + +CollaborativeStorageModule AuthorizationModule->CollaborativeStorageModule - - + + CollaborativeStorageAdapterModule - -CollaborativeStorageAdapterModule + +CollaborativeStorageAdapterModule CollaborativeStorageAdapterModule->CollaborativeStorageModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->CollaborativeStorageModule - - + + RoleModule - -RoleModule + +RoleModule RoleModule->CollaborativeStorageModule - - + + CollaborativeStorageUc - -CollaborativeStorageUc + +CollaborativeStorageUc CollaborativeStorageModule->CollaborativeStorageUc - - + + CollaborativeStorageService - -CollaborativeStorageService + +CollaborativeStorageService CollaborativeStorageService->CollaborativeStorageModule - - + + CollaborativeStorageUc - -CollaborativeStorageUc + +CollaborativeStorageUc CollaborativeStorageUc->CollaborativeStorageModule - - + + TeamMapper - -TeamMapper + +TeamMapper TeamMapper->CollaborativeStorageModule - - + + TeamPermissionsMapper - -TeamPermissionsMapper + +TeamPermissionsMapper TeamPermissionsMapper->CollaborativeStorageModule - - + + TeamsRepo - -TeamsRepo + +TeamsRepo TeamsRepo->CollaborativeStorageModule - - + + diff --git a/modules/CommonToolModule.html b/modules/CommonToolModule.html index 556225eedd5..b1a0d4e8d9d 100644 --- a/modules/CommonToolModule.html +++ b/modules/CommonToolModule.html @@ -124,14 +124,14 @@ cluster_CommonToolModule - -cluster_CommonToolModule_exports - - cluster_CommonToolModule_providers + +cluster_CommonToolModule_exports + + cluster_CommonToolModule_imports diff --git a/modules/CommonToolModule/dependencies.svg b/modules/CommonToolModule/dependencies.svg index a391438dbeb..e82cb0d6aa5 100644 --- a/modules/CommonToolModule/dependencies.svg +++ b/modules/CommonToolModule/dependencies.svg @@ -24,14 +24,14 @@ cluster_CommonToolModule - -cluster_CommonToolModule_exports - - cluster_CommonToolModule_providers + +cluster_CommonToolModule_exports + + cluster_CommonToolModule_imports diff --git a/modules/ConsoleWriterModule.html b/modules/ConsoleWriterModule.html index 2b7b1224b01..7d69a7a93db 100644 --- a/modules/ConsoleWriterModule.html +++ b/modules/ConsoleWriterModule.html @@ -124,14 +124,14 @@ cluster_ConsoleWriterModule - -cluster_ConsoleWriterModule_providers - - cluster_ConsoleWriterModule_exports + +cluster_ConsoleWriterModule_providers + + ConsoleWriterService diff --git a/modules/ConsoleWriterModule/dependencies.svg b/modules/ConsoleWriterModule/dependencies.svg index bdae8c103a8..10cd3c55c39 100644 --- a/modules/ConsoleWriterModule/dependencies.svg +++ b/modules/ConsoleWriterModule/dependencies.svg @@ -24,14 +24,14 @@ cluster_ConsoleWriterModule - -cluster_ConsoleWriterModule_providers - - cluster_ConsoleWriterModule_exports + +cluster_ConsoleWriterModule_providers + + ConsoleWriterService diff --git a/modules/ContextExternalToolModule.html b/modules/ContextExternalToolModule.html index 0ca03f72961..3be4e193e78 100644 --- a/modules/ContextExternalToolModule.html +++ b/modules/ContextExternalToolModule.html @@ -124,203 +124,203 @@ cluster_ContextExternalToolModule - -cluster_ContextExternalToolModule_providers - + +cluster_ContextExternalToolModule_exports + cluster_ContextExternalToolModule_imports - + - -cluster_ContextExternalToolModule_exports - + +cluster_ContextExternalToolModule_providers + CommonToolModule - -CommonToolModule + +CommonToolModule ContextExternalToolModule - -ContextExternalToolModule + +ContextExternalToolModule CommonToolModule->ContextExternalToolModule - - + + ExternalToolModule - -ExternalToolModule + +ExternalToolModule ExternalToolModule->ContextExternalToolModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->ContextExternalToolModule - - + + SchoolExternalToolModule - -SchoolExternalToolModule + +SchoolExternalToolModule SchoolExternalToolModule->ContextExternalToolModule - - + + ToolConfigModule - -ToolConfigModule + +ToolConfigModule ToolConfigModule->ContextExternalToolModule - - + + ContextExternalToolAuthorizableService - -ContextExternalToolAuthorizableService + +ContextExternalToolAuthorizableService ContextExternalToolModule->ContextExternalToolAuthorizableService - - + + ContextExternalToolService - -ContextExternalToolService + +ContextExternalToolService ContextExternalToolModule->ContextExternalToolService - - + + ContextExternalToolValidationService - -ContextExternalToolValidationService + +ContextExternalToolValidationService ContextExternalToolModule->ContextExternalToolValidationService - - + + ToolReferenceService - -ToolReferenceService + +ToolReferenceService ContextExternalToolModule->ToolReferenceService - - + + ToolVersionService - -ToolVersionService + +ToolVersionService ContextExternalToolModule->ToolVersionService - - + + ContextExternalToolAuthorizableService - -ContextExternalToolAuthorizableService + +ContextExternalToolAuthorizableService ContextExternalToolAuthorizableService->ContextExternalToolModule - - + + ContextExternalToolService - -ContextExternalToolService + +ContextExternalToolService ContextExternalToolService->ContextExternalToolModule - - + + ContextExternalToolValidationService - -ContextExternalToolValidationService + +ContextExternalToolValidationService ContextExternalToolValidationService->ContextExternalToolModule - - + + ToolReferenceService - -ToolReferenceService + +ToolReferenceService ToolReferenceService->ContextExternalToolModule - - + + ToolVersionService - -ToolVersionService + +ToolVersionService ToolVersionService->ContextExternalToolModule - - + + diff --git a/modules/ContextExternalToolModule/dependencies.svg b/modules/ContextExternalToolModule/dependencies.svg index a6c37066a06..c2dc08df3a7 100644 --- a/modules/ContextExternalToolModule/dependencies.svg +++ b/modules/ContextExternalToolModule/dependencies.svg @@ -24,203 +24,203 @@ cluster_ContextExternalToolModule - -cluster_ContextExternalToolModule_providers - + +cluster_ContextExternalToolModule_exports + cluster_ContextExternalToolModule_imports - + - -cluster_ContextExternalToolModule_exports - + +cluster_ContextExternalToolModule_providers + CommonToolModule - -CommonToolModule + +CommonToolModule ContextExternalToolModule - -ContextExternalToolModule + +ContextExternalToolModule CommonToolModule->ContextExternalToolModule - - + + ExternalToolModule - -ExternalToolModule + +ExternalToolModule ExternalToolModule->ContextExternalToolModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->ContextExternalToolModule - - + + SchoolExternalToolModule - -SchoolExternalToolModule + +SchoolExternalToolModule SchoolExternalToolModule->ContextExternalToolModule - - + + ToolConfigModule - -ToolConfigModule + +ToolConfigModule ToolConfigModule->ContextExternalToolModule - - + + ContextExternalToolAuthorizableService - -ContextExternalToolAuthorizableService + +ContextExternalToolAuthorizableService ContextExternalToolModule->ContextExternalToolAuthorizableService - - + + ContextExternalToolService - -ContextExternalToolService + +ContextExternalToolService ContextExternalToolModule->ContextExternalToolService - - + + ContextExternalToolValidationService - -ContextExternalToolValidationService + +ContextExternalToolValidationService ContextExternalToolModule->ContextExternalToolValidationService - - + + ToolReferenceService - -ToolReferenceService + +ToolReferenceService ContextExternalToolModule->ToolReferenceService - - + + ToolVersionService - -ToolVersionService + +ToolVersionService ContextExternalToolModule->ToolVersionService - - + + ContextExternalToolAuthorizableService - -ContextExternalToolAuthorizableService + +ContextExternalToolAuthorizableService ContextExternalToolAuthorizableService->ContextExternalToolModule - - + + ContextExternalToolService - -ContextExternalToolService + +ContextExternalToolService ContextExternalToolService->ContextExternalToolModule - - + + ContextExternalToolValidationService - -ContextExternalToolValidationService + +ContextExternalToolValidationService ContextExternalToolValidationService->ContextExternalToolModule - - + + ToolReferenceService - -ToolReferenceService + +ToolReferenceService ToolReferenceService->ContextExternalToolModule - - + + ToolVersionService - -ToolVersionService + +ToolVersionService ToolVersionService->ContextExternalToolModule - - + + diff --git a/modules/CopyHelperModule.html b/modules/CopyHelperModule.html index 9aadd0357f6..17d56504b7e 100644 --- a/modules/CopyHelperModule.html +++ b/modules/CopyHelperModule.html @@ -124,14 +124,14 @@ cluster_CopyHelperModule - -cluster_CopyHelperModule_exports - - cluster_CopyHelperModule_providers + +cluster_CopyHelperModule_exports + + CopyHelperService diff --git a/modules/CopyHelperModule/dependencies.svg b/modules/CopyHelperModule/dependencies.svg index 01f090fe473..6ce7b3f34d1 100644 --- a/modules/CopyHelperModule/dependencies.svg +++ b/modules/CopyHelperModule/dependencies.svg @@ -24,14 +24,14 @@ cluster_CopyHelperModule - -cluster_CopyHelperModule_exports - - cluster_CopyHelperModule_providers + +cluster_CopyHelperModule_exports + + CopyHelperService diff --git a/modules/CoreModule.html b/modules/CoreModule.html index 5a4b53edb05..bbbd2f997c9 100644 --- a/modules/CoreModule.html +++ b/modules/CoreModule.html @@ -124,14 +124,14 @@ cluster_CoreModule - -cluster_CoreModule_imports - - cluster_CoreModule_exports + +cluster_CoreModule_imports + + ErrorModule diff --git a/modules/CoreModule/dependencies.svg b/modules/CoreModule/dependencies.svg index ea7b488053d..c2868adf51b 100644 --- a/modules/CoreModule/dependencies.svg +++ b/modules/CoreModule/dependencies.svg @@ -24,14 +24,14 @@ cluster_CoreModule - -cluster_CoreModule_imports - - cluster_CoreModule_exports + +cluster_CoreModule_imports + + ErrorModule diff --git a/modules/DatabaseManagementModule.html b/modules/DatabaseManagementModule.html index e8e9962deff..c7059b7791c 100644 --- a/modules/DatabaseManagementModule.html +++ b/modules/DatabaseManagementModule.html @@ -124,14 +124,14 @@ cluster_DatabaseManagementModule - -cluster_DatabaseManagementModule_exports - - cluster_DatabaseManagementModule_providers + +cluster_DatabaseManagementModule_exports + + DatabaseManagementService diff --git a/modules/DatabaseManagementModule/dependencies.svg b/modules/DatabaseManagementModule/dependencies.svg index feb5c1079f9..dec3b83de18 100644 --- a/modules/DatabaseManagementModule/dependencies.svg +++ b/modules/DatabaseManagementModule/dependencies.svg @@ -24,14 +24,14 @@ cluster_DatabaseManagementModule - -cluster_DatabaseManagementModule_exports - - cluster_DatabaseManagementModule_providers + +cluster_DatabaseManagementModule_exports + + DatabaseManagementService diff --git a/modules/DeletionModule.html b/modules/DeletionModule.html index d19ff1a8b2a..4ee47f876bb 100644 --- a/modules/DeletionModule.html +++ b/modules/DeletionModule.html @@ -124,14 +124,14 @@ cluster_DeletionModule - -cluster_DeletionModule_exports - - cluster_DeletionModule_providers + +cluster_DeletionModule_exports + + DeletionLogService diff --git a/modules/DeletionModule/dependencies.svg b/modules/DeletionModule/dependencies.svg index 18ca116f808..44cf9309207 100644 --- a/modules/DeletionModule/dependencies.svg +++ b/modules/DeletionModule/dependencies.svg @@ -24,14 +24,14 @@ cluster_DeletionModule - -cluster_DeletionModule_exports - - cluster_DeletionModule_providers + +cluster_DeletionModule_exports + + DeletionLogService diff --git a/modules/ExternalToolModule.html b/modules/ExternalToolModule.html index edf04a0ab83..0986b36a5cb 100644 --- a/modules/ExternalToolModule.html +++ b/modules/ExternalToolModule.html @@ -124,251 +124,251 @@ cluster_ExternalToolModule + +cluster_ExternalToolModule_imports + + cluster_ExternalToolModule_exports - + cluster_ExternalToolModule_providers - - - -cluster_ExternalToolModule_imports - + CommonToolModule - -CommonToolModule + +CommonToolModule ExternalToolModule - -ExternalToolModule + +ExternalToolModule CommonToolModule->ExternalToolModule - - + + EncryptionModule - -EncryptionModule + +EncryptionModule EncryptionModule->ExternalToolModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->ExternalToolModule - - + + OauthProviderServiceModule - -OauthProviderServiceModule + +OauthProviderServiceModule OauthProviderServiceModule->ExternalToolModule - - + + ToolConfigModule - -ToolConfigModule + +ToolConfigModule ToolConfigModule->ExternalToolModule - - + + ExternalToolConfigurationService - -ExternalToolConfigurationService + +ExternalToolConfigurationService ExternalToolModule->ExternalToolConfigurationService - - + + ExternalToolLogoService - -ExternalToolLogoService + +ExternalToolLogoService ExternalToolModule->ExternalToolLogoService - - + + ExternalToolMetadataService - -ExternalToolMetadataService + +ExternalToolMetadataService ExternalToolModule->ExternalToolMetadataService - - + + ExternalToolService - -ExternalToolService + +ExternalToolService ExternalToolModule->ExternalToolService - - + + ExternalToolValidationService - -ExternalToolValidationService + +ExternalToolValidationService ExternalToolModule->ExternalToolValidationService - - + + ExternalToolVersionIncrementService - -ExternalToolVersionIncrementService + +ExternalToolVersionIncrementService ExternalToolModule->ExternalToolVersionIncrementService - - + + ExternalToolConfigurationService - -ExternalToolConfigurationService + +ExternalToolConfigurationService ExternalToolConfigurationService->ExternalToolModule - - + + ExternalToolMetadataService - -ExternalToolMetadataService + +ExternalToolMetadataService ExternalToolMetadataService->ExternalToolModule - - + + ExternalToolParameterValidationService - -ExternalToolParameterValidationService + +ExternalToolParameterValidationService ExternalToolParameterValidationService->ExternalToolModule - - + + ExternalToolRepo - -ExternalToolRepo + +ExternalToolRepo ExternalToolRepo->ExternalToolModule - - + + ExternalToolService - -ExternalToolService + +ExternalToolService ExternalToolService->ExternalToolModule - - + + ExternalToolServiceMapper - -ExternalToolServiceMapper + +ExternalToolServiceMapper ExternalToolServiceMapper->ExternalToolModule - - + + ExternalToolValidationService - -ExternalToolValidationService + +ExternalToolValidationService ExternalToolValidationService->ExternalToolModule - - + + ExternalToolVersionIncrementService - -ExternalToolVersionIncrementService + +ExternalToolVersionIncrementService ExternalToolVersionIncrementService->ExternalToolModule - - + + diff --git a/modules/ExternalToolModule/dependencies.svg b/modules/ExternalToolModule/dependencies.svg index f93ea71ee20..9733e709be4 100644 --- a/modules/ExternalToolModule/dependencies.svg +++ b/modules/ExternalToolModule/dependencies.svg @@ -24,251 +24,251 @@ cluster_ExternalToolModule + +cluster_ExternalToolModule_imports + + cluster_ExternalToolModule_exports - + cluster_ExternalToolModule_providers - - - -cluster_ExternalToolModule_imports - + CommonToolModule - -CommonToolModule + +CommonToolModule ExternalToolModule - -ExternalToolModule + +ExternalToolModule CommonToolModule->ExternalToolModule - - + + EncryptionModule - -EncryptionModule + +EncryptionModule EncryptionModule->ExternalToolModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->ExternalToolModule - - + + OauthProviderServiceModule - -OauthProviderServiceModule + +OauthProviderServiceModule OauthProviderServiceModule->ExternalToolModule - - + + ToolConfigModule - -ToolConfigModule + +ToolConfigModule ToolConfigModule->ExternalToolModule - - + + ExternalToolConfigurationService - -ExternalToolConfigurationService + +ExternalToolConfigurationService ExternalToolModule->ExternalToolConfigurationService - - + + ExternalToolLogoService - -ExternalToolLogoService + +ExternalToolLogoService ExternalToolModule->ExternalToolLogoService - - + + ExternalToolMetadataService - -ExternalToolMetadataService + +ExternalToolMetadataService ExternalToolModule->ExternalToolMetadataService - - + + ExternalToolService - -ExternalToolService + +ExternalToolService ExternalToolModule->ExternalToolService - - + + ExternalToolValidationService - -ExternalToolValidationService + +ExternalToolValidationService ExternalToolModule->ExternalToolValidationService - - + + ExternalToolVersionIncrementService - -ExternalToolVersionIncrementService + +ExternalToolVersionIncrementService ExternalToolModule->ExternalToolVersionIncrementService - - + + ExternalToolConfigurationService - -ExternalToolConfigurationService + +ExternalToolConfigurationService ExternalToolConfigurationService->ExternalToolModule - - + + ExternalToolMetadataService - -ExternalToolMetadataService + +ExternalToolMetadataService ExternalToolMetadataService->ExternalToolModule - - + + ExternalToolParameterValidationService - -ExternalToolParameterValidationService + +ExternalToolParameterValidationService ExternalToolParameterValidationService->ExternalToolModule - - + + ExternalToolRepo - -ExternalToolRepo + +ExternalToolRepo ExternalToolRepo->ExternalToolModule - - + + ExternalToolService - -ExternalToolService + +ExternalToolService ExternalToolService->ExternalToolModule - - + + ExternalToolServiceMapper - -ExternalToolServiceMapper + +ExternalToolServiceMapper ExternalToolServiceMapper->ExternalToolModule - - + + ExternalToolValidationService - -ExternalToolValidationService + +ExternalToolValidationService ExternalToolValidationService->ExternalToolModule - - + + ExternalToolVersionIncrementService - -ExternalToolVersionIncrementService + +ExternalToolVersionIncrementService ExternalToolVersionIncrementService->ExternalToolModule - - + + diff --git a/modules/FeathersModule.html b/modules/FeathersModule.html index b7d2fd38070..c4483a6daca 100644 --- a/modules/FeathersModule.html +++ b/modules/FeathersModule.html @@ -124,14 +124,14 @@ cluster_FeathersModule - -cluster_FeathersModule_exports - - cluster_FeathersModule_providers + +cluster_FeathersModule_exports + + FeathersServiceProvider diff --git a/modules/FeathersModule/dependencies.svg b/modules/FeathersModule/dependencies.svg index 36645a49bbd..12b2a58d84d 100644 --- a/modules/FeathersModule/dependencies.svg +++ b/modules/FeathersModule/dependencies.svg @@ -24,14 +24,14 @@ cluster_FeathersModule - -cluster_FeathersModule_exports - - cluster_FeathersModule_providers + +cluster_FeathersModule_exports + + FeathersServiceProvider diff --git a/modules/FileSystemModule.html b/modules/FileSystemModule.html index 342b7ab774d..90ab54bbe34 100644 --- a/modules/FileSystemModule.html +++ b/modules/FileSystemModule.html @@ -124,14 +124,14 @@ cluster_FileSystemModule - -cluster_FileSystemModule_providers - - cluster_FileSystemModule_exports + +cluster_FileSystemModule_providers + + FileSystemAdapter diff --git a/modules/FileSystemModule/dependencies.svg b/modules/FileSystemModule/dependencies.svg index 434cad7a861..9bb489d5ad3 100644 --- a/modules/FileSystemModule/dependencies.svg +++ b/modules/FileSystemModule/dependencies.svg @@ -24,14 +24,14 @@ cluster_FileSystemModule - -cluster_FileSystemModule_providers - - cluster_FileSystemModule_exports + +cluster_FileSystemModule_providers + + FileSystemAdapter diff --git a/modules/FilesModule.html b/modules/FilesModule.html index ae6525555d5..f9e39ff4b4c 100644 --- a/modules/FilesModule.html +++ b/modules/FilesModule.html @@ -124,95 +124,95 @@ cluster_FilesModule + +cluster_FilesModule_providers + + cluster_FilesModule_imports - + cluster_FilesModule_exports - - - -cluster_FilesModule_providers - + LoggerModule - -LoggerModule + +LoggerModule FilesModule - -FilesModule + +FilesModule LoggerModule->FilesModule - - + + FilesService - -FilesService + +FilesService FilesModule->FilesService - - + + DeleteFilesUc - -DeleteFilesUc + +DeleteFilesUc DeleteFilesUc->FilesModule - - + + FilesRepo - -FilesRepo + +FilesRepo FilesRepo->FilesModule - - + + FilesService - -FilesService + +FilesService FilesService->FilesModule - - + + StorageProviderRepo - -StorageProviderRepo + +StorageProviderRepo StorageProviderRepo->FilesModule - - + + diff --git a/modules/FilesModule/dependencies.svg b/modules/FilesModule/dependencies.svg index b79595a32cb..ec527d6de79 100644 --- a/modules/FilesModule/dependencies.svg +++ b/modules/FilesModule/dependencies.svg @@ -24,95 +24,95 @@ cluster_FilesModule + +cluster_FilesModule_providers + + cluster_FilesModule_imports - + cluster_FilesModule_exports - - - -cluster_FilesModule_providers - + LoggerModule - -LoggerModule + +LoggerModule FilesModule - -FilesModule + +FilesModule LoggerModule->FilesModule - - + + FilesService - -FilesService + +FilesService FilesModule->FilesService - - + + DeleteFilesUc - -DeleteFilesUc + +DeleteFilesUc DeleteFilesUc->FilesModule - - + + FilesRepo - -FilesRepo + +FilesRepo FilesRepo->FilesModule - - + + FilesService - -FilesService + +FilesService FilesService->FilesModule - - + + StorageProviderRepo - -StorageProviderRepo + +StorageProviderRepo StorageProviderRepo->FilesModule - - + + diff --git a/modules/FilesStorageApiModule.html b/modules/FilesStorageApiModule.html index 0ed3ac9b579..744fc54db93 100644 --- a/modules/FilesStorageApiModule.html +++ b/modules/FilesStorageApiModule.html @@ -124,79 +124,79 @@ cluster_FilesStorageApiModule - -cluster_FilesStorageApiModule_providers - - cluster_FilesStorageApiModule_imports - + + + +cluster_FilesStorageApiModule_providers + AuthenticationModule - -AuthenticationModule + +AuthenticationModule FilesStorageApiModule - -FilesStorageApiModule + +FilesStorageApiModule AuthenticationModule->FilesStorageApiModule - - + + AuthorizationReferenceModule - -AuthorizationReferenceModule + +AuthorizationReferenceModule AuthorizationReferenceModule->FilesStorageApiModule - - + + CoreModule - -CoreModule + +CoreModule CoreModule->FilesStorageApiModule - - + + FilesStorageModule - -FilesStorageModule + +FilesStorageModule FilesStorageModule->FilesStorageApiModule - - + + FilesStorageUC - -FilesStorageUC + +FilesStorageUC FilesStorageUC->FilesStorageApiModule - - + + diff --git a/modules/FilesStorageApiModule/dependencies.svg b/modules/FilesStorageApiModule/dependencies.svg index b9c32e9816d..075c4994910 100644 --- a/modules/FilesStorageApiModule/dependencies.svg +++ b/modules/FilesStorageApiModule/dependencies.svg @@ -24,79 +24,79 @@ cluster_FilesStorageApiModule - -cluster_FilesStorageApiModule_providers - - cluster_FilesStorageApiModule_imports - + + + +cluster_FilesStorageApiModule_providers + AuthenticationModule - -AuthenticationModule + +AuthenticationModule FilesStorageApiModule - -FilesStorageApiModule + +FilesStorageApiModule AuthenticationModule->FilesStorageApiModule - - + + AuthorizationReferenceModule - -AuthorizationReferenceModule + +AuthorizationReferenceModule AuthorizationReferenceModule->FilesStorageApiModule - - + + CoreModule - -CoreModule + +CoreModule CoreModule->FilesStorageApiModule - - + + FilesStorageModule - -FilesStorageModule + +FilesStorageModule FilesStorageModule->FilesStorageApiModule - - + + FilesStorageUC - -FilesStorageUC + +FilesStorageUC FilesStorageUC->FilesStorageApiModule - - + + diff --git a/modules/FilesStorageClientModule.html b/modules/FilesStorageClientModule.html index 377ea380866..38698ad1b13 100644 --- a/modules/FilesStorageClientModule.html +++ b/modules/FilesStorageClientModule.html @@ -128,14 +128,14 @@ cluster_FilesStorageClientModule_imports - -cluster_FilesStorageClientModule_providers - - cluster_FilesStorageClientModule_exports + +cluster_FilesStorageClientModule_providers + + CopyHelperModule diff --git a/modules/FilesStorageClientModule/dependencies.svg b/modules/FilesStorageClientModule/dependencies.svg index 8fc9cf8a552..72886de4a1d 100644 --- a/modules/FilesStorageClientModule/dependencies.svg +++ b/modules/FilesStorageClientModule/dependencies.svg @@ -28,14 +28,14 @@ cluster_FilesStorageClientModule_imports - -cluster_FilesStorageClientModule_providers - - cluster_FilesStorageClientModule_exports + +cluster_FilesStorageClientModule_providers + + CopyHelperModule diff --git a/modules/FilesStorageModule.html b/modules/FilesStorageModule.html index cee702ca98e..fdf59c78ee4 100644 --- a/modules/FilesStorageModule.html +++ b/modules/FilesStorageModule.html @@ -124,95 +124,95 @@ cluster_FilesStorageModule + +cluster_FilesStorageModule_providers + + cluster_FilesStorageModule_exports - + cluster_FilesStorageModule_imports - - - -cluster_FilesStorageModule_providers - + RabbitMQWrapperModule - -RabbitMQWrapperModule + +RabbitMQWrapperModule FilesStorageModule - -FilesStorageModule + +FilesStorageModule RabbitMQWrapperModule->FilesStorageModule - - + + FilesStorageService - -FilesStorageService + +FilesStorageService FilesStorageModule->FilesStorageService - - + + PreviewService - -PreviewService + +PreviewService FilesStorageModule->PreviewService - - + + FileRecordRepo - -FileRecordRepo + +FileRecordRepo FileRecordRepo->FilesStorageModule - - + + FilesStorageService - -FilesStorageService + +FilesStorageService FilesStorageService->FilesStorageModule - - + + PreviewService - -PreviewService + +PreviewService PreviewService->FilesStorageModule - - + + diff --git a/modules/FilesStorageModule/dependencies.svg b/modules/FilesStorageModule/dependencies.svg index 9d7ad83a32f..ac40887cb63 100644 --- a/modules/FilesStorageModule/dependencies.svg +++ b/modules/FilesStorageModule/dependencies.svg @@ -24,95 +24,95 @@ cluster_FilesStorageModule + +cluster_FilesStorageModule_providers + + cluster_FilesStorageModule_exports - + cluster_FilesStorageModule_imports - - - -cluster_FilesStorageModule_providers - + RabbitMQWrapperModule - -RabbitMQWrapperModule + +RabbitMQWrapperModule FilesStorageModule - -FilesStorageModule + +FilesStorageModule RabbitMQWrapperModule->FilesStorageModule - - + + FilesStorageService - -FilesStorageService + +FilesStorageService FilesStorageModule->FilesStorageService - - + + PreviewService - -PreviewService + +PreviewService FilesStorageModule->PreviewService - - + + FileRecordRepo - -FileRecordRepo + +FileRecordRepo FileRecordRepo->FilesStorageModule - - + + FilesStorageService - -FilesStorageService + +FilesStorageService FilesStorageService->FilesStorageModule - - + + PreviewService - -PreviewService + +PreviewService PreviewService->FilesStorageModule - - + + diff --git a/modules/FwuLearningContentsTestModule.html b/modules/FwuLearningContentsTestModule.html index 46bf14a84d7..0410881aa83 100644 --- a/modules/FwuLearningContentsTestModule.html +++ b/modules/FwuLearningContentsTestModule.html @@ -124,115 +124,115 @@ cluster_FwuLearningContentsTestModule - -cluster_FwuLearningContentsTestModule_providers - - cluster_FwuLearningContentsTestModule_imports - + + + +cluster_FwuLearningContentsTestModule_providers + AuthenticationModule - -AuthenticationModule + +AuthenticationModule FwuLearningContentsTestModule - -FwuLearningContentsTestModule + +FwuLearningContentsTestModule AuthenticationModule->FwuLearningContentsTestModule - - + + AuthorizationModule - -AuthorizationModule + +AuthorizationModule AuthorizationModule->FwuLearningContentsTestModule - - + + CoreModule - -CoreModule + +CoreModule CoreModule->FwuLearningContentsTestModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->FwuLearningContentsTestModule - - + + MongoMemoryDatabaseModule - -MongoMemoryDatabaseModule + +MongoMemoryDatabaseModule MongoMemoryDatabaseModule->FwuLearningContentsTestModule - - + + RabbitMQWrapperTestModule - -RabbitMQWrapperTestModule + +RabbitMQWrapperTestModule RabbitMQWrapperTestModule->FwuLearningContentsTestModule - - + + S3ClientModule - -S3ClientModule + +S3ClientModule S3ClientModule->FwuLearningContentsTestModule - - + + FwuLearningContentsUc - -FwuLearningContentsUc + +FwuLearningContentsUc FwuLearningContentsUc->FwuLearningContentsTestModule - - + + diff --git a/modules/FwuLearningContentsTestModule/dependencies.svg b/modules/FwuLearningContentsTestModule/dependencies.svg index 17c50ba016f..41e915a635f 100644 --- a/modules/FwuLearningContentsTestModule/dependencies.svg +++ b/modules/FwuLearningContentsTestModule/dependencies.svg @@ -24,115 +24,115 @@ cluster_FwuLearningContentsTestModule - -cluster_FwuLearningContentsTestModule_providers - - cluster_FwuLearningContentsTestModule_imports - + + + +cluster_FwuLearningContentsTestModule_providers + AuthenticationModule - -AuthenticationModule + +AuthenticationModule FwuLearningContentsTestModule - -FwuLearningContentsTestModule + +FwuLearningContentsTestModule AuthenticationModule->FwuLearningContentsTestModule - - + + AuthorizationModule - -AuthorizationModule + +AuthorizationModule AuthorizationModule->FwuLearningContentsTestModule - - + + CoreModule - -CoreModule + +CoreModule CoreModule->FwuLearningContentsTestModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->FwuLearningContentsTestModule - - + + MongoMemoryDatabaseModule - -MongoMemoryDatabaseModule + +MongoMemoryDatabaseModule MongoMemoryDatabaseModule->FwuLearningContentsTestModule - - + + RabbitMQWrapperTestModule - -RabbitMQWrapperTestModule + +RabbitMQWrapperTestModule RabbitMQWrapperTestModule->FwuLearningContentsTestModule - - + + S3ClientModule - -S3ClientModule + +S3ClientModule S3ClientModule->FwuLearningContentsTestModule - - + + FwuLearningContentsUc - -FwuLearningContentsUc + +FwuLearningContentsUc FwuLearningContentsUc->FwuLearningContentsTestModule - - + + diff --git a/modules/GroupApiModule.html b/modules/GroupApiModule.html index 79f2ec698d2..326f206b729 100644 --- a/modules/GroupApiModule.html +++ b/modules/GroupApiModule.html @@ -124,127 +124,127 @@ cluster_GroupApiModule - -cluster_GroupApiModule_providers - - cluster_GroupApiModule_imports - + + + +cluster_GroupApiModule_providers + AuthorizationModule - -AuthorizationModule + +AuthorizationModule GroupApiModule - -GroupApiModule + +GroupApiModule AuthorizationModule->GroupApiModule - - + + ClassModule - -ClassModule + +ClassModule ClassModule->GroupApiModule - - + + GroupModule - -GroupModule + +GroupModule GroupModule->GroupApiModule - - + + LegacySchoolModule - -LegacySchoolModule + +LegacySchoolModule LegacySchoolModule->GroupApiModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->GroupApiModule - - + + RoleModule - -RoleModule + +RoleModule RoleModule->GroupApiModule - - + + SystemModule - -SystemModule + +SystemModule SystemModule->GroupApiModule - - + + UserModule - -UserModule + +UserModule UserModule->GroupApiModule - - + + GroupUc - -GroupUc + +GroupUc GroupUc->GroupApiModule - - + + diff --git a/modules/GroupApiModule/dependencies.svg b/modules/GroupApiModule/dependencies.svg index cc42281defb..b245c7ef055 100644 --- a/modules/GroupApiModule/dependencies.svg +++ b/modules/GroupApiModule/dependencies.svg @@ -24,127 +24,127 @@ cluster_GroupApiModule - -cluster_GroupApiModule_providers - - cluster_GroupApiModule_imports - + + + +cluster_GroupApiModule_providers + AuthorizationModule - -AuthorizationModule + +AuthorizationModule GroupApiModule - -GroupApiModule + +GroupApiModule AuthorizationModule->GroupApiModule - - + + ClassModule - -ClassModule + +ClassModule ClassModule->GroupApiModule - - + + GroupModule - -GroupModule + +GroupModule GroupModule->GroupApiModule - - + + LegacySchoolModule - -LegacySchoolModule + +LegacySchoolModule LegacySchoolModule->GroupApiModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->GroupApiModule - - + + RoleModule - -RoleModule + +RoleModule RoleModule->GroupApiModule - - + + SystemModule - -SystemModule + +SystemModule SystemModule->GroupApiModule - - + + UserModule - -UserModule + +UserModule UserModule->GroupApiModule - - + + GroupUc - -GroupUc + +GroupUc GroupUc->GroupApiModule - - + + diff --git a/modules/H5PEditorModule.html b/modules/H5PEditorModule.html index c94261aa87e..496a30e41a5 100644 --- a/modules/H5PEditorModule.html +++ b/modules/H5PEditorModule.html @@ -126,213 +126,213 @@ cluster_H5PEditorModule_exports - - - -cluster_H5PEditorModule_imports - + cluster_H5PEditorModule_providers - + + + +cluster_H5PEditorModule_imports + AuthenticationModule - -AuthenticationModule + +AuthenticationModule H5PEditorModule - -H5PEditorModule + +H5PEditorModule AuthenticationModule->H5PEditorModule - - + + AuthorizationReferenceModule - -AuthorizationReferenceModule + +AuthorizationReferenceModule AuthorizationReferenceModule->H5PEditorModule - - + + CoreModule - -CoreModule + +CoreModule CoreModule->H5PEditorModule - - + + RabbitMQWrapperModule - -RabbitMQWrapperModule + +RabbitMQWrapperModule RabbitMQWrapperModule->H5PEditorModule - - + + S3ClientModule - -S3ClientModule + +S3ClientModule S3ClientModule->H5PEditorModule - - + + UserModule - -UserModule + +UserModule UserModule->H5PEditorModule - - + + ContentStorage - -ContentStorage + +ContentStorage H5PEditorModule->ContentStorage - - + + LibraryStorage - -LibraryStorage + +LibraryStorage H5PEditorModule->LibraryStorage - - + + ContentStorage - -ContentStorage + +ContentStorage ContentStorage->H5PEditorModule - - + + H5PContentRepo - -H5PContentRepo + +H5PContentRepo H5PContentRepo->H5PEditorModule - - + + H5PEditorUc - -H5PEditorUc + +H5PEditorUc H5PEditorUc->H5PEditorModule - - + + LibraryRepo - -LibraryRepo + +LibraryRepo LibraryRepo->H5PEditorModule - - + + LibraryStorage - -LibraryStorage + +LibraryStorage LibraryStorage->H5PEditorModule - - + + Logger - -Logger + +Logger Logger->H5PEditorModule - - + + TemporaryFileRepo - -TemporaryFileRepo + +TemporaryFileRepo TemporaryFileRepo->H5PEditorModule - - + + TemporaryFileStorage - -TemporaryFileStorage + +TemporaryFileStorage TemporaryFileStorage->H5PEditorModule - - + + diff --git a/modules/H5PEditorModule/dependencies.svg b/modules/H5PEditorModule/dependencies.svg index b10d0fab472..879b84daa21 100644 --- a/modules/H5PEditorModule/dependencies.svg +++ b/modules/H5PEditorModule/dependencies.svg @@ -26,213 +26,213 @@ cluster_H5PEditorModule_exports - - - -cluster_H5PEditorModule_imports - + cluster_H5PEditorModule_providers - + + + +cluster_H5PEditorModule_imports + AuthenticationModule - -AuthenticationModule + +AuthenticationModule H5PEditorModule - -H5PEditorModule + +H5PEditorModule AuthenticationModule->H5PEditorModule - - + + AuthorizationReferenceModule - -AuthorizationReferenceModule + +AuthorizationReferenceModule AuthorizationReferenceModule->H5PEditorModule - - + + CoreModule - -CoreModule + +CoreModule CoreModule->H5PEditorModule - - + + RabbitMQWrapperModule - -RabbitMQWrapperModule + +RabbitMQWrapperModule RabbitMQWrapperModule->H5PEditorModule - - + + S3ClientModule - -S3ClientModule + +S3ClientModule S3ClientModule->H5PEditorModule - - + + UserModule - -UserModule + +UserModule UserModule->H5PEditorModule - - + + ContentStorage - -ContentStorage + +ContentStorage H5PEditorModule->ContentStorage - - + + LibraryStorage - -LibraryStorage + +LibraryStorage H5PEditorModule->LibraryStorage - - + + ContentStorage - -ContentStorage + +ContentStorage ContentStorage->H5PEditorModule - - + + H5PContentRepo - -H5PContentRepo + +H5PContentRepo H5PContentRepo->H5PEditorModule - - + + H5PEditorUc - -H5PEditorUc + +H5PEditorUc H5PEditorUc->H5PEditorModule - - + + LibraryRepo - -LibraryRepo + +LibraryRepo LibraryRepo->H5PEditorModule - - + + LibraryStorage - -LibraryStorage + +LibraryStorage LibraryStorage->H5PEditorModule - - + + Logger - -Logger + +Logger Logger->H5PEditorModule - - + + TemporaryFileRepo - -TemporaryFileRepo + +TemporaryFileRepo TemporaryFileRepo->H5PEditorModule - - + + TemporaryFileStorage - -TemporaryFileStorage + +TemporaryFileStorage TemporaryFileStorage->H5PEditorModule - - + + diff --git a/modules/KeycloakAdministrationModule.html b/modules/KeycloakAdministrationModule.html index 6037fc8eddf..5e19286838c 100644 --- a/modules/KeycloakAdministrationModule.html +++ b/modules/KeycloakAdministrationModule.html @@ -124,14 +124,14 @@ cluster_KeycloakAdministrationModule - -cluster_KeycloakAdministrationModule_providers - - cluster_KeycloakAdministrationModule_exports + +cluster_KeycloakAdministrationModule_providers + + KeycloakAdministrationService diff --git a/modules/KeycloakAdministrationModule/dependencies.svg b/modules/KeycloakAdministrationModule/dependencies.svg index 913751455c2..6cc08655c7d 100644 --- a/modules/KeycloakAdministrationModule/dependencies.svg +++ b/modules/KeycloakAdministrationModule/dependencies.svg @@ -24,14 +24,14 @@ cluster_KeycloakAdministrationModule - -cluster_KeycloakAdministrationModule_providers - - cluster_KeycloakAdministrationModule_exports + +cluster_KeycloakAdministrationModule_providers + + KeycloakAdministrationService diff --git a/modules/KeycloakConfigurationModule.html b/modules/KeycloakConfigurationModule.html index 72b18f89fee..d591aaaee0b 100644 --- a/modules/KeycloakConfigurationModule.html +++ b/modules/KeycloakConfigurationModule.html @@ -124,167 +124,167 @@ cluster_KeycloakConfigurationModule + +cluster_KeycloakConfigurationModule_providers + + cluster_KeycloakConfigurationModule_exports - + cluster_KeycloakConfigurationModule_imports - - - -cluster_KeycloakConfigurationModule_providers - + AccountModule - -AccountModule + +AccountModule KeycloakConfigurationModule - -KeycloakConfigurationModule + +KeycloakConfigurationModule AccountModule->KeycloakConfigurationModule - - + + ConsoleWriterModule - -ConsoleWriterModule + +ConsoleWriterModule ConsoleWriterModule->KeycloakConfigurationModule - - + + EncryptionModule - -EncryptionModule + +EncryptionModule EncryptionModule->KeycloakConfigurationModule - - + + KeycloakAdministrationModule - -KeycloakAdministrationModule + +KeycloakAdministrationModule KeycloakAdministrationModule->KeycloakConfigurationModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->KeycloakConfigurationModule - - + + SystemModule - -SystemModule + +SystemModule SystemModule->KeycloakConfigurationModule - - + + KeycloakConfigurationService - -KeycloakConfigurationService + +KeycloakConfigurationService KeycloakConfigurationModule->KeycloakConfigurationService - - + + KeycloakConsole - -KeycloakConsole + +KeycloakConsole KeycloakConfigurationModule->KeycloakConsole - - + + KeycloakSeedService - -KeycloakSeedService + +KeycloakSeedService KeycloakConfigurationModule->KeycloakSeedService - - + + KeycloakConfigurationService - -KeycloakConfigurationService + +KeycloakConfigurationService KeycloakConfigurationService->KeycloakConfigurationModule - - + + KeycloakConfigurationUc - -KeycloakConfigurationUc + +KeycloakConfigurationUc KeycloakConfigurationUc->KeycloakConfigurationModule - - + + KeycloakMigrationService - -KeycloakMigrationService + +KeycloakMigrationService KeycloakMigrationService->KeycloakConfigurationModule - - + + diff --git a/modules/KeycloakConfigurationModule/dependencies.svg b/modules/KeycloakConfigurationModule/dependencies.svg index e6ff611e3ea..0fd76341cf6 100644 --- a/modules/KeycloakConfigurationModule/dependencies.svg +++ b/modules/KeycloakConfigurationModule/dependencies.svg @@ -24,167 +24,167 @@ cluster_KeycloakConfigurationModule + +cluster_KeycloakConfigurationModule_providers + + cluster_KeycloakConfigurationModule_exports - + cluster_KeycloakConfigurationModule_imports - - - -cluster_KeycloakConfigurationModule_providers - + AccountModule - -AccountModule + +AccountModule KeycloakConfigurationModule - -KeycloakConfigurationModule + +KeycloakConfigurationModule AccountModule->KeycloakConfigurationModule - - + + ConsoleWriterModule - -ConsoleWriterModule + +ConsoleWriterModule ConsoleWriterModule->KeycloakConfigurationModule - - + + EncryptionModule - -EncryptionModule + +EncryptionModule EncryptionModule->KeycloakConfigurationModule - - + + KeycloakAdministrationModule - -KeycloakAdministrationModule + +KeycloakAdministrationModule KeycloakAdministrationModule->KeycloakConfigurationModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->KeycloakConfigurationModule - - + + SystemModule - -SystemModule + +SystemModule SystemModule->KeycloakConfigurationModule - - + + KeycloakConfigurationService - -KeycloakConfigurationService + +KeycloakConfigurationService KeycloakConfigurationModule->KeycloakConfigurationService - - + + KeycloakConsole - -KeycloakConsole + +KeycloakConsole KeycloakConfigurationModule->KeycloakConsole - - + + KeycloakSeedService - -KeycloakSeedService + +KeycloakSeedService KeycloakConfigurationModule->KeycloakSeedService - - + + KeycloakConfigurationService - -KeycloakConfigurationService + +KeycloakConfigurationService KeycloakConfigurationService->KeycloakConfigurationModule - - + + KeycloakConfigurationUc - -KeycloakConfigurationUc + +KeycloakConfigurationUc KeycloakConfigurationUc->KeycloakConfigurationModule - - + + KeycloakMigrationService - -KeycloakMigrationService + +KeycloakMigrationService KeycloakMigrationService->KeycloakConfigurationModule - - + + diff --git a/modules/KeycloakModule.html b/modules/KeycloakModule.html index cfd3c03e748..c625e700daf 100644 --- a/modules/KeycloakModule.html +++ b/modules/KeycloakModule.html @@ -124,10 +124,6 @@ cluster_KeycloakModule - -cluster_KeycloakModule_exports - - cluster_KeycloakModule_imports @@ -136,6 +132,10 @@ cluster_KeycloakModule_providers + +cluster_KeycloakModule_exports + + EncryptionModule diff --git a/modules/KeycloakModule/dependencies.svg b/modules/KeycloakModule/dependencies.svg index d8c1f35a232..0b5048a820e 100644 --- a/modules/KeycloakModule/dependencies.svg +++ b/modules/KeycloakModule/dependencies.svg @@ -24,10 +24,6 @@ cluster_KeycloakModule - -cluster_KeycloakModule_exports - - cluster_KeycloakModule_imports @@ -36,6 +32,10 @@ cluster_KeycloakModule_providers + +cluster_KeycloakModule_exports + + EncryptionModule diff --git a/modules/LearnroomModule.html b/modules/LearnroomModule.html index 809e4e43894..76c1808f047 100644 --- a/modules/LearnroomModule.html +++ b/modules/LearnroomModule.html @@ -124,287 +124,287 @@ cluster_LearnroomModule - -cluster_LearnroomModule_providers - - cluster_LearnroomModule_imports - + + + +cluster_LearnroomModule_providers + cluster_LearnroomModule_exports - + BoardModule - -BoardModule + +BoardModule LearnroomModule - -LearnroomModule + +LearnroomModule BoardModule->LearnroomModule - - + + CopyHelperModule - -CopyHelperModule + +CopyHelperModule CopyHelperModule->LearnroomModule - - + + LessonModule - -LessonModule + +LessonModule LessonModule->LearnroomModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->LearnroomModule - - + + TaskModule - -TaskModule + +TaskModule TaskModule->LearnroomModule - - + + CommonCartridgeExportService - -CommonCartridgeExportService + +CommonCartridgeExportService LearnroomModule->CommonCartridgeExportService - - + + CourseCopyService - -CourseCopyService + +CourseCopyService LearnroomModule->CourseCopyService - - + + CourseGroupService - -CourseGroupService + +CourseGroupService LearnroomModule->CourseGroupService - - + + CourseService - -CourseService + +CourseService LearnroomModule->CourseService - - + + RoomsService - -RoomsService + +RoomsService LearnroomModule->RoomsService - - + + BoardCopyService - -BoardCopyService + +BoardCopyService BoardCopyService->LearnroomModule - - + + BoardRepo - -BoardRepo + +BoardRepo BoardRepo->LearnroomModule - - + + ColumnBoardTargetService - -ColumnBoardTargetService + +ColumnBoardTargetService ColumnBoardTargetService->LearnroomModule - - + + CommonCartridgeExportService - -CommonCartridgeExportService + +CommonCartridgeExportService CommonCartridgeExportService->LearnroomModule - - + + CourseCopyService - -CourseCopyService + +CourseCopyService CourseCopyService->LearnroomModule - - + + CourseGroupRepo - -CourseGroupRepo + +CourseGroupRepo CourseGroupRepo->LearnroomModule - - + + CourseGroupService - -CourseGroupService + +CourseGroupService CourseGroupService->LearnroomModule - - + + CourseRepo - -CourseRepo + +CourseRepo CourseRepo->LearnroomModule - - + + CourseService - -CourseService + +CourseService CourseService->LearnroomModule - - + + DashboardModelMapper - -DashboardModelMapper + +DashboardModelMapper DashboardModelMapper->LearnroomModule - - + + RoomsService - -RoomsService + +RoomsService RoomsService->LearnroomModule - - + + UserRepo - -UserRepo + +UserRepo UserRepo->LearnroomModule - - + + diff --git a/modules/LearnroomModule/dependencies.svg b/modules/LearnroomModule/dependencies.svg index 4abdae7ded9..dde636a40d1 100644 --- a/modules/LearnroomModule/dependencies.svg +++ b/modules/LearnroomModule/dependencies.svg @@ -24,287 +24,287 @@ cluster_LearnroomModule - -cluster_LearnroomModule_providers - - cluster_LearnroomModule_imports - + + + +cluster_LearnroomModule_providers + cluster_LearnroomModule_exports - + BoardModule - -BoardModule + +BoardModule LearnroomModule - -LearnroomModule + +LearnroomModule BoardModule->LearnroomModule - - + + CopyHelperModule - -CopyHelperModule + +CopyHelperModule CopyHelperModule->LearnroomModule - - + + LessonModule - -LessonModule + +LessonModule LessonModule->LearnroomModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->LearnroomModule - - + + TaskModule - -TaskModule + +TaskModule TaskModule->LearnroomModule - - + + CommonCartridgeExportService - -CommonCartridgeExportService + +CommonCartridgeExportService LearnroomModule->CommonCartridgeExportService - - + + CourseCopyService - -CourseCopyService + +CourseCopyService LearnroomModule->CourseCopyService - - + + CourseGroupService - -CourseGroupService + +CourseGroupService LearnroomModule->CourseGroupService - - + + CourseService - -CourseService + +CourseService LearnroomModule->CourseService - - + + RoomsService - -RoomsService + +RoomsService LearnroomModule->RoomsService - - + + BoardCopyService - -BoardCopyService + +BoardCopyService BoardCopyService->LearnroomModule - - + + BoardRepo - -BoardRepo + +BoardRepo BoardRepo->LearnroomModule - - + + ColumnBoardTargetService - -ColumnBoardTargetService + +ColumnBoardTargetService ColumnBoardTargetService->LearnroomModule - - + + CommonCartridgeExportService - -CommonCartridgeExportService + +CommonCartridgeExportService CommonCartridgeExportService->LearnroomModule - - + + CourseCopyService - -CourseCopyService + +CourseCopyService CourseCopyService->LearnroomModule - - + + CourseGroupRepo - -CourseGroupRepo + +CourseGroupRepo CourseGroupRepo->LearnroomModule - - + + CourseGroupService - -CourseGroupService + +CourseGroupService CourseGroupService->LearnroomModule - - + + CourseRepo - -CourseRepo + +CourseRepo CourseRepo->LearnroomModule - - + + CourseService - -CourseService + +CourseService CourseService->LearnroomModule - - + + DashboardModelMapper - -DashboardModelMapper + +DashboardModelMapper DashboardModelMapper->LearnroomModule - - + + RoomsService - -RoomsService + +RoomsService RoomsService->LearnroomModule - - + + UserRepo - -UserRepo + +UserRepo UserRepo->LearnroomModule - - + + diff --git a/modules/LegacySchoolModule.html b/modules/LegacySchoolModule.html index 5f0d0fa432e..914fcc22b67 100644 --- a/modules/LegacySchoolModule.html +++ b/modules/LegacySchoolModule.html @@ -126,155 +126,155 @@ cluster_LegacySchoolModule - -cluster_LegacySchoolModule_providers - + +cluster_LegacySchoolModule_exports + cluster_LegacySchoolModule_imports - + - -cluster_LegacySchoolModule_exports - + +cluster_LegacySchoolModule_providers + LoggerModule - -LoggerModule + +LoggerModule LegacySchoolModule - -LegacySchoolModule + +LegacySchoolModule LoggerModule->LegacySchoolModule - - + + FederalStateService - -FederalStateService + +FederalStateService LegacySchoolModule->FederalStateService - - + + LegacySchoolService - -LegacySchoolService + +LegacySchoolService LegacySchoolModule->LegacySchoolService - - + + SchoolYearService - -SchoolYearService + +SchoolYearService LegacySchoolModule->SchoolYearService - - + + FederalStateRepo - -FederalStateRepo + +FederalStateRepo FederalStateRepo->LegacySchoolModule - - + + FederalStateService - -FederalStateService + +FederalStateService FederalStateService->LegacySchoolModule - - + + LegacySchoolRepo - -LegacySchoolRepo + +LegacySchoolRepo LegacySchoolRepo->LegacySchoolModule - - + + LegacySchoolService - -LegacySchoolService + +LegacySchoolService LegacySchoolService->LegacySchoolModule - - + + SchoolValidationService - -SchoolValidationService + +SchoolValidationService SchoolValidationService->LegacySchoolModule - - + + SchoolYearRepo - -SchoolYearRepo + +SchoolYearRepo SchoolYearRepo->LegacySchoolModule - - + + SchoolYearService - -SchoolYearService + +SchoolYearService SchoolYearService->LegacySchoolModule - - + + diff --git a/modules/LegacySchoolModule/dependencies.svg b/modules/LegacySchoolModule/dependencies.svg index 1286a6d4d80..082abdbe280 100644 --- a/modules/LegacySchoolModule/dependencies.svg +++ b/modules/LegacySchoolModule/dependencies.svg @@ -24,155 +24,155 @@ cluster_LegacySchoolModule - -cluster_LegacySchoolModule_providers - + +cluster_LegacySchoolModule_exports + cluster_LegacySchoolModule_imports - + - -cluster_LegacySchoolModule_exports - + +cluster_LegacySchoolModule_providers + LoggerModule - -LoggerModule + +LoggerModule LegacySchoolModule - -LegacySchoolModule + +LegacySchoolModule LoggerModule->LegacySchoolModule - - + + FederalStateService - -FederalStateService + +FederalStateService LegacySchoolModule->FederalStateService - - + + LegacySchoolService - -LegacySchoolService + +LegacySchoolService LegacySchoolModule->LegacySchoolService - - + + SchoolYearService - -SchoolYearService + +SchoolYearService LegacySchoolModule->SchoolYearService - - + + FederalStateRepo - -FederalStateRepo + +FederalStateRepo FederalStateRepo->LegacySchoolModule - - + + FederalStateService - -FederalStateService + +FederalStateService FederalStateService->LegacySchoolModule - - + + LegacySchoolRepo - -LegacySchoolRepo + +LegacySchoolRepo LegacySchoolRepo->LegacySchoolModule - - + + LegacySchoolService - -LegacySchoolService + +LegacySchoolService LegacySchoolService->LegacySchoolModule - - + + SchoolValidationService - -SchoolValidationService + +SchoolValidationService SchoolValidationService->LegacySchoolModule - - + + SchoolYearRepo - -SchoolYearRepo + +SchoolYearRepo SchoolYearRepo->LegacySchoolModule - - + + SchoolYearService - -SchoolYearService + +SchoolYearService SchoolYearService->LegacySchoolModule - - + + diff --git a/modules/LessonModule.html b/modules/LessonModule.html index b9c52171602..eedf4e9ae06 100644 --- a/modules/LessonModule.html +++ b/modules/LessonModule.html @@ -124,6 +124,10 @@ cluster_LessonModule + +cluster_LessonModule_exports + + cluster_LessonModule_providers @@ -132,10 +136,6 @@ cluster_LessonModule_imports - -cluster_LessonModule_exports - - CopyHelperModule diff --git a/modules/LessonModule/dependencies.svg b/modules/LessonModule/dependencies.svg index 15081e35f04..ff716f8a8ca 100644 --- a/modules/LessonModule/dependencies.svg +++ b/modules/LessonModule/dependencies.svg @@ -24,6 +24,10 @@ cluster_LessonModule + +cluster_LessonModule_exports + + cluster_LessonModule_providers @@ -32,10 +36,6 @@ cluster_LessonModule_imports - -cluster_LessonModule_exports - - CopyHelperModule diff --git a/modules/LoggerModule.html b/modules/LoggerModule.html index 56c90c8ab88..09a999ca382 100644 --- a/modules/LoggerModule.html +++ b/modules/LoggerModule.html @@ -124,14 +124,14 @@ cluster_LoggerModule - -cluster_LoggerModule_providers - - cluster_LoggerModule_exports + +cluster_LoggerModule_providers + + ErrorLogger diff --git a/modules/LoggerModule/dependencies.svg b/modules/LoggerModule/dependencies.svg index 19f1467382c..15fdf003557 100644 --- a/modules/LoggerModule/dependencies.svg +++ b/modules/LoggerModule/dependencies.svg @@ -24,14 +24,14 @@ cluster_LoggerModule - -cluster_LoggerModule_providers - - cluster_LoggerModule_exports + +cluster_LoggerModule_providers + + ErrorLogger diff --git a/modules/LtiToolModule.html b/modules/LtiToolModule.html index 21feb3d9ca8..ce577637bf6 100644 --- a/modules/LtiToolModule.html +++ b/modules/LtiToolModule.html @@ -124,14 +124,14 @@ cluster_LtiToolModule - -cluster_LtiToolModule_providers - - cluster_LtiToolModule_exports + +cluster_LtiToolModule_providers + + LtiToolService diff --git a/modules/LtiToolModule/dependencies.svg b/modules/LtiToolModule/dependencies.svg index a04811113b8..cb6c096489d 100644 --- a/modules/LtiToolModule/dependencies.svg +++ b/modules/LtiToolModule/dependencies.svg @@ -24,14 +24,14 @@ cluster_LtiToolModule - -cluster_LtiToolModule_providers - - cluster_LtiToolModule_exports + +cluster_LtiToolModule_providers + + LtiToolService diff --git a/modules/MetaTagExtractorApiModule.html b/modules/MetaTagExtractorApiModule.html index 4e11d217c4a..f15a3976356 100644 --- a/modules/MetaTagExtractorApiModule.html +++ b/modules/MetaTagExtractorApiModule.html @@ -124,55 +124,55 @@ cluster_MetaTagExtractorApiModule - -cluster_MetaTagExtractorApiModule_imports - - cluster_MetaTagExtractorApiModule_providers - + + + +cluster_MetaTagExtractorApiModule_imports + LoggerModule - -LoggerModule + +LoggerModule MetaTagExtractorApiModule - -MetaTagExtractorApiModule + +MetaTagExtractorApiModule LoggerModule->MetaTagExtractorApiModule - - + + MetaTagExtractorModule - -MetaTagExtractorModule + +MetaTagExtractorModule MetaTagExtractorModule->MetaTagExtractorApiModule - - + + MetaTagExtractorUc - -MetaTagExtractorUc + +MetaTagExtractorUc MetaTagExtractorUc->MetaTagExtractorApiModule - - + + diff --git a/modules/MetaTagExtractorApiModule/dependencies.svg b/modules/MetaTagExtractorApiModule/dependencies.svg index 6f81c7d31a1..fcc1dcf7588 100644 --- a/modules/MetaTagExtractorApiModule/dependencies.svg +++ b/modules/MetaTagExtractorApiModule/dependencies.svg @@ -24,55 +24,55 @@ cluster_MetaTagExtractorApiModule - -cluster_MetaTagExtractorApiModule_imports - - cluster_MetaTagExtractorApiModule_providers - + + + +cluster_MetaTagExtractorApiModule_imports + LoggerModule - -LoggerModule + +LoggerModule MetaTagExtractorApiModule - -MetaTagExtractorApiModule + +MetaTagExtractorApiModule LoggerModule->MetaTagExtractorApiModule - - + + MetaTagExtractorModule - -MetaTagExtractorModule + +MetaTagExtractorModule MetaTagExtractorModule->MetaTagExtractorApiModule - - + + MetaTagExtractorUc - -MetaTagExtractorUc + +MetaTagExtractorUc MetaTagExtractorUc->MetaTagExtractorApiModule - - + + diff --git a/modules/MetaTagExtractorModule.html b/modules/MetaTagExtractorModule.html index bbf8919da1c..aa91349f1c6 100644 --- a/modules/MetaTagExtractorModule.html +++ b/modules/MetaTagExtractorModule.html @@ -124,203 +124,203 @@ cluster_MetaTagExtractorModule - -cluster_MetaTagExtractorModule_providers - - cluster_MetaTagExtractorModule_exports - + cluster_MetaTagExtractorModule_imports - + + + +cluster_MetaTagExtractorModule_providers + AuthenticationModule - -AuthenticationModule + +AuthenticationModule MetaTagExtractorModule - -MetaTagExtractorModule + +MetaTagExtractorModule AuthenticationModule->MetaTagExtractorModule - - + + BoardModule - -BoardModule + +BoardModule BoardModule->MetaTagExtractorModule - - + + ConsoleWriterModule - -ConsoleWriterModule + +ConsoleWriterModule ConsoleWriterModule->MetaTagExtractorModule - - + + LearnroomModule - -LearnroomModule + +LearnroomModule LearnroomModule->MetaTagExtractorModule - - + + LessonModule - -LessonModule + +LessonModule LessonModule->MetaTagExtractorModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->MetaTagExtractorModule - - + + TaskModule - -TaskModule + +TaskModule TaskModule->MetaTagExtractorModule - - + + UserModule - -UserModule + +UserModule UserModule->MetaTagExtractorModule - - + + MetaTagExtractorService - -MetaTagExtractorService + +MetaTagExtractorService MetaTagExtractorModule->MetaTagExtractorService - - + + BoardUrlHandler - -BoardUrlHandler + +BoardUrlHandler BoardUrlHandler->MetaTagExtractorModule - - + + CourseUrlHandler - -CourseUrlHandler + +CourseUrlHandler CourseUrlHandler->MetaTagExtractorModule - - + + LessonUrlHandler - -LessonUrlHandler + +LessonUrlHandler LessonUrlHandler->MetaTagExtractorModule - - + + MetaTagExtractorService - -MetaTagExtractorService + +MetaTagExtractorService MetaTagExtractorService->MetaTagExtractorModule - - + + MetaTagInternalUrlService - -MetaTagInternalUrlService + +MetaTagInternalUrlService MetaTagInternalUrlService->MetaTagExtractorModule - - + + TaskUrlHandler - -TaskUrlHandler + +TaskUrlHandler TaskUrlHandler->MetaTagExtractorModule - - + + diff --git a/modules/MetaTagExtractorModule/dependencies.svg b/modules/MetaTagExtractorModule/dependencies.svg index c119ce4cb0b..4a7e20d0688 100644 --- a/modules/MetaTagExtractorModule/dependencies.svg +++ b/modules/MetaTagExtractorModule/dependencies.svg @@ -24,203 +24,203 @@ cluster_MetaTagExtractorModule - -cluster_MetaTagExtractorModule_providers - - cluster_MetaTagExtractorModule_exports - + cluster_MetaTagExtractorModule_imports - + + + +cluster_MetaTagExtractorModule_providers + AuthenticationModule - -AuthenticationModule + +AuthenticationModule MetaTagExtractorModule - -MetaTagExtractorModule + +MetaTagExtractorModule AuthenticationModule->MetaTagExtractorModule - - + + BoardModule - -BoardModule + +BoardModule BoardModule->MetaTagExtractorModule - - + + ConsoleWriterModule - -ConsoleWriterModule + +ConsoleWriterModule ConsoleWriterModule->MetaTagExtractorModule - - + + LearnroomModule - -LearnroomModule + +LearnroomModule LearnroomModule->MetaTagExtractorModule - - + + LessonModule - -LessonModule + +LessonModule LessonModule->MetaTagExtractorModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->MetaTagExtractorModule - - + + TaskModule - -TaskModule + +TaskModule TaskModule->MetaTagExtractorModule - - + + UserModule - -UserModule + +UserModule UserModule->MetaTagExtractorModule - - + + MetaTagExtractorService - -MetaTagExtractorService + +MetaTagExtractorService MetaTagExtractorModule->MetaTagExtractorService - - + + BoardUrlHandler - -BoardUrlHandler + +BoardUrlHandler BoardUrlHandler->MetaTagExtractorModule - - + + CourseUrlHandler - -CourseUrlHandler + +CourseUrlHandler CourseUrlHandler->MetaTagExtractorModule - - + + LessonUrlHandler - -LessonUrlHandler + +LessonUrlHandler LessonUrlHandler->MetaTagExtractorModule - - + + MetaTagExtractorService - -MetaTagExtractorService + +MetaTagExtractorService MetaTagExtractorService->MetaTagExtractorModule - - + + MetaTagInternalUrlService - -MetaTagInternalUrlService + +MetaTagInternalUrlService MetaTagInternalUrlService->MetaTagExtractorModule - - + + TaskUrlHandler - -TaskUrlHandler + +TaskUrlHandler TaskUrlHandler->MetaTagExtractorModule - - + + diff --git a/modules/NewsModule.html b/modules/NewsModule.html index 33972c4973a..dab7657e8bf 100644 --- a/modules/NewsModule.html +++ b/modules/NewsModule.html @@ -124,83 +124,83 @@ cluster_NewsModule - -cluster_NewsModule_imports - + +cluster_NewsModule_providers + cluster_NewsModule_exports - + - -cluster_NewsModule_providers - + +cluster_NewsModule_imports + AuthorizationModule - -AuthorizationModule + +AuthorizationModule NewsModule - -NewsModule + +NewsModule AuthorizationModule->NewsModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->NewsModule - - + + NewsUc - -NewsUc + +NewsUc NewsModule->NewsUc - - + + NewsRepo - -NewsRepo + +NewsRepo NewsRepo->NewsModule - - + + NewsUc - -NewsUc + +NewsUc NewsUc->NewsModule - - + + diff --git a/modules/NewsModule/dependencies.svg b/modules/NewsModule/dependencies.svg index 25971d79e2e..a4039bd9fbb 100644 --- a/modules/NewsModule/dependencies.svg +++ b/modules/NewsModule/dependencies.svg @@ -24,83 +24,83 @@ cluster_NewsModule - -cluster_NewsModule_imports - + +cluster_NewsModule_providers + cluster_NewsModule_exports - + - -cluster_NewsModule_providers - + +cluster_NewsModule_imports + AuthorizationModule - -AuthorizationModule + +AuthorizationModule NewsModule - -NewsModule + +NewsModule AuthorizationModule->NewsModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->NewsModule - - + + NewsUc - -NewsUc + +NewsUc NewsModule->NewsUc - - + + NewsRepo - -NewsRepo + +NewsRepo NewsRepo->NewsModule - - + + NewsUc - -NewsUc + +NewsUc NewsUc->NewsModule - - + + diff --git a/modules/OauthApiModule.html b/modules/OauthApiModule.html index 62175d6d5f2..0393830e5ee 100644 --- a/modules/OauthApiModule.html +++ b/modules/OauthApiModule.html @@ -124,55 +124,55 @@ cluster_OauthApiModule - -cluster_OauthApiModule_imports - - cluster_OauthApiModule_providers - + + + +cluster_OauthApiModule_imports + LoggerModule - -LoggerModule + +LoggerModule OauthApiModule - -OauthApiModule + +OauthApiModule LoggerModule->OauthApiModule - - + + OauthModule - -OauthModule + +OauthModule OauthModule->OauthApiModule - - + + HydraOauthUc - -HydraOauthUc + +HydraOauthUc HydraOauthUc->OauthApiModule - - + + diff --git a/modules/OauthApiModule/dependencies.svg b/modules/OauthApiModule/dependencies.svg index 744fcbdbc63..c6707972afb 100644 --- a/modules/OauthApiModule/dependencies.svg +++ b/modules/OauthApiModule/dependencies.svg @@ -24,55 +24,55 @@ cluster_OauthApiModule - -cluster_OauthApiModule_imports - - cluster_OauthApiModule_providers - + + + +cluster_OauthApiModule_imports + LoggerModule - -LoggerModule + +LoggerModule OauthApiModule - -OauthApiModule + +OauthApiModule LoggerModule->OauthApiModule - - + + OauthModule - -OauthModule + +OauthModule OauthModule->OauthApiModule - - + + HydraOauthUc - -HydraOauthUc + +HydraOauthUc HydraOauthUc->OauthApiModule - - + + diff --git a/modules/OauthProviderApiModule.html b/modules/OauthProviderApiModule.html index 2d8e3975756..a02bf4c8193 100644 --- a/modules/OauthProviderApiModule.html +++ b/modules/OauthProviderApiModule.html @@ -124,163 +124,163 @@ cluster_OauthProviderApiModule - -cluster_OauthProviderApiModule_imports - - cluster_OauthProviderApiModule_providers - + + + +cluster_OauthProviderApiModule_imports + AuthorizationModule - -AuthorizationModule + +AuthorizationModule OauthProviderApiModule - -OauthProviderApiModule + +OauthProviderApiModule AuthorizationModule->OauthProviderApiModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->OauthProviderApiModule - - + + OauthProviderModule - -OauthProviderModule + +OauthProviderModule OauthProviderModule->OauthProviderApiModule - - + + OauthProviderServiceModule - -OauthProviderServiceModule + +OauthProviderServiceModule OauthProviderServiceModule->OauthProviderApiModule - - + + PseudonymModule - -PseudonymModule + +PseudonymModule PseudonymModule->OauthProviderApiModule - - + + UserModule - -UserModule + +UserModule UserModule->OauthProviderApiModule - - + + OauthProviderClientCrudUc - -OauthProviderClientCrudUc + +OauthProviderClientCrudUc OauthProviderClientCrudUc->OauthProviderApiModule - - + + OauthProviderConsentFlowUc - -OauthProviderConsentFlowUc + +OauthProviderConsentFlowUc OauthProviderConsentFlowUc->OauthProviderApiModule - - + + OauthProviderLoginFlowUc - -OauthProviderLoginFlowUc + +OauthProviderLoginFlowUc OauthProviderLoginFlowUc->OauthProviderApiModule - - + + OauthProviderLogoutFlowUc - -OauthProviderLogoutFlowUc + +OauthProviderLogoutFlowUc OauthProviderLogoutFlowUc->OauthProviderApiModule - - + + OauthProviderResponseMapper - -OauthProviderResponseMapper + +OauthProviderResponseMapper OauthProviderResponseMapper->OauthProviderApiModule - - + + OauthProviderUc - -OauthProviderUc + +OauthProviderUc OauthProviderUc->OauthProviderApiModule - - + + diff --git a/modules/OauthProviderApiModule/dependencies.svg b/modules/OauthProviderApiModule/dependencies.svg index 5625bcf56ad..fda46c76f6f 100644 --- a/modules/OauthProviderApiModule/dependencies.svg +++ b/modules/OauthProviderApiModule/dependencies.svg @@ -24,163 +24,163 @@ cluster_OauthProviderApiModule - -cluster_OauthProviderApiModule_imports - - cluster_OauthProviderApiModule_providers - + + + +cluster_OauthProviderApiModule_imports + AuthorizationModule - -AuthorizationModule + +AuthorizationModule OauthProviderApiModule - -OauthProviderApiModule + +OauthProviderApiModule AuthorizationModule->OauthProviderApiModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->OauthProviderApiModule - - + + OauthProviderModule - -OauthProviderModule + +OauthProviderModule OauthProviderModule->OauthProviderApiModule - - + + OauthProviderServiceModule - -OauthProviderServiceModule + +OauthProviderServiceModule OauthProviderServiceModule->OauthProviderApiModule - - + + PseudonymModule - -PseudonymModule + +PseudonymModule PseudonymModule->OauthProviderApiModule - - + + UserModule - -UserModule + +UserModule UserModule->OauthProviderApiModule - - + + OauthProviderClientCrudUc - -OauthProviderClientCrudUc + +OauthProviderClientCrudUc OauthProviderClientCrudUc->OauthProviderApiModule - - + + OauthProviderConsentFlowUc - -OauthProviderConsentFlowUc + +OauthProviderConsentFlowUc OauthProviderConsentFlowUc->OauthProviderApiModule - - + + OauthProviderLoginFlowUc - -OauthProviderLoginFlowUc + +OauthProviderLoginFlowUc OauthProviderLoginFlowUc->OauthProviderApiModule - - + + OauthProviderLogoutFlowUc - -OauthProviderLogoutFlowUc + +OauthProviderLogoutFlowUc OauthProviderLogoutFlowUc->OauthProviderApiModule - - + + OauthProviderResponseMapper - -OauthProviderResponseMapper + +OauthProviderResponseMapper OauthProviderResponseMapper->OauthProviderApiModule - - + + OauthProviderUc - -OauthProviderUc + +OauthProviderUc OauthProviderUc->OauthProviderApiModule - - + + diff --git a/modules/OauthProviderModule.html b/modules/OauthProviderModule.html index 15775e0ec15..fa51c8bf3da 100644 --- a/modules/OauthProviderModule.html +++ b/modules/OauthProviderModule.html @@ -126,165 +126,165 @@ cluster_OauthProviderModule_exports - - - -cluster_OauthProviderModule_imports - + cluster_OauthProviderModule_providers - + + + +cluster_OauthProviderModule_imports + LoggerModule - -LoggerModule + +LoggerModule OauthProviderModule - -OauthProviderModule + +OauthProviderModule LoggerModule->OauthProviderModule - - + + LtiToolModule - -LtiToolModule + +LtiToolModule LtiToolModule->OauthProviderModule - - + + OauthProviderServiceModule - -OauthProviderServiceModule + +OauthProviderServiceModule OauthProviderServiceModule->OauthProviderModule - - + + PseudonymModule - -PseudonymModule + +PseudonymModule PseudonymModule->OauthProviderModule - - + + ToolConfigModule - -ToolConfigModule + +ToolConfigModule ToolConfigModule->OauthProviderModule - - + + ToolModule - -ToolModule + +ToolModule ToolModule->OauthProviderModule - - + + UserModule - -UserModule + +UserModule UserModule->OauthProviderModule - - + + IdTokenService - -IdTokenService + +IdTokenService OauthProviderModule->IdTokenService - - + + OauthProviderLoginFlowService - -OauthProviderLoginFlowService + +OauthProviderLoginFlowService OauthProviderModule->OauthProviderLoginFlowService - - + + IdTokenService - -IdTokenService + +IdTokenService IdTokenService->OauthProviderModule - - + + OauthProviderLoginFlowService - -OauthProviderLoginFlowService + +OauthProviderLoginFlowService OauthProviderLoginFlowService->OauthProviderModule - - + + TeamsRepo - -TeamsRepo + +TeamsRepo TeamsRepo->OauthProviderModule - - + + diff --git a/modules/OauthProviderModule/dependencies.svg b/modules/OauthProviderModule/dependencies.svg index ca1de7b3922..7e7954fc6bb 100644 --- a/modules/OauthProviderModule/dependencies.svg +++ b/modules/OauthProviderModule/dependencies.svg @@ -26,165 +26,165 @@ cluster_OauthProviderModule_exports - - - -cluster_OauthProviderModule_imports - + cluster_OauthProviderModule_providers - + + + +cluster_OauthProviderModule_imports + LoggerModule - -LoggerModule + +LoggerModule OauthProviderModule - -OauthProviderModule + +OauthProviderModule LoggerModule->OauthProviderModule - - + + LtiToolModule - -LtiToolModule + +LtiToolModule LtiToolModule->OauthProviderModule - - + + OauthProviderServiceModule - -OauthProviderServiceModule + +OauthProviderServiceModule OauthProviderServiceModule->OauthProviderModule - - + + PseudonymModule - -PseudonymModule + +PseudonymModule PseudonymModule->OauthProviderModule - - + + ToolConfigModule - -ToolConfigModule + +ToolConfigModule ToolConfigModule->OauthProviderModule - - + + ToolModule - -ToolModule + +ToolModule ToolModule->OauthProviderModule - - + + UserModule - -UserModule + +UserModule UserModule->OauthProviderModule - - + + IdTokenService - -IdTokenService + +IdTokenService OauthProviderModule->IdTokenService - - + + OauthProviderLoginFlowService - -OauthProviderLoginFlowService + +OauthProviderLoginFlowService OauthProviderModule->OauthProviderLoginFlowService - - + + IdTokenService - -IdTokenService + +IdTokenService IdTokenService->OauthProviderModule - - + + OauthProviderLoginFlowService - -OauthProviderLoginFlowService + +OauthProviderLoginFlowService OauthProviderLoginFlowService->OauthProviderModule - - + + TeamsRepo - -TeamsRepo + +TeamsRepo TeamsRepo->OauthProviderModule - - + + diff --git a/modules/PreviewGeneratorProducerModule.html b/modules/PreviewGeneratorProducerModule.html index a223ee88042..5eba493d36a 100644 --- a/modules/PreviewGeneratorProducerModule.html +++ b/modules/PreviewGeneratorProducerModule.html @@ -124,14 +124,14 @@ cluster_PreviewGeneratorProducerModule - -cluster_PreviewGeneratorProducerModule_providers - - cluster_PreviewGeneratorProducerModule_exports + +cluster_PreviewGeneratorProducerModule_providers + + cluster_PreviewGeneratorProducerModule_imports diff --git a/modules/PreviewGeneratorProducerModule/dependencies.svg b/modules/PreviewGeneratorProducerModule/dependencies.svg index ceb02a3bf2b..cbaec719594 100644 --- a/modules/PreviewGeneratorProducerModule/dependencies.svg +++ b/modules/PreviewGeneratorProducerModule/dependencies.svg @@ -24,14 +24,14 @@ cluster_PreviewGeneratorProducerModule - -cluster_PreviewGeneratorProducerModule_providers - - cluster_PreviewGeneratorProducerModule_exports + +cluster_PreviewGeneratorProducerModule_providers + + cluster_PreviewGeneratorProducerModule_imports diff --git a/modules/ProvisioningModule.html b/modules/ProvisioningModule.html index e55c935f5d3..5477ceb59b6 100644 --- a/modules/ProvisioningModule.html +++ b/modules/ProvisioningModule.html @@ -128,14 +128,14 @@ cluster_ProvisioningModule_providers - -cluster_ProvisioningModule_exports - - cluster_ProvisioningModule_imports + +cluster_ProvisioningModule_exports + + AccountModule diff --git a/modules/ProvisioningModule/dependencies.svg b/modules/ProvisioningModule/dependencies.svg index 67ee0bc75ee..47217dffc62 100644 --- a/modules/ProvisioningModule/dependencies.svg +++ b/modules/ProvisioningModule/dependencies.svg @@ -28,14 +28,14 @@ cluster_ProvisioningModule_providers - -cluster_ProvisioningModule_exports - - cluster_ProvisioningModule_imports + +cluster_ProvisioningModule_exports + + AccountModule diff --git a/modules/PseudonymApiModule.html b/modules/PseudonymApiModule.html index ecee0f98591..42a9aea5d61 100644 --- a/modules/PseudonymApiModule.html +++ b/modules/PseudonymApiModule.html @@ -124,67 +124,67 @@ cluster_PseudonymApiModule - -cluster_PseudonymApiModule_providers - - cluster_PseudonymApiModule_imports - + + + +cluster_PseudonymApiModule_providers + AuthorizationModule - -AuthorizationModule + +AuthorizationModule PseudonymApiModule - -PseudonymApiModule + +PseudonymApiModule AuthorizationModule->PseudonymApiModule - - + + LegacySchoolModule - -LegacySchoolModule + +LegacySchoolModule LegacySchoolModule->PseudonymApiModule - - + + PseudonymModule - -PseudonymModule + +PseudonymModule PseudonymModule->PseudonymApiModule - - + + PseudonymUc - -PseudonymUc + +PseudonymUc PseudonymUc->PseudonymApiModule - - + + diff --git a/modules/PseudonymApiModule/dependencies.svg b/modules/PseudonymApiModule/dependencies.svg index 31ec95dfc8f..03ca345210c 100644 --- a/modules/PseudonymApiModule/dependencies.svg +++ b/modules/PseudonymApiModule/dependencies.svg @@ -24,67 +24,67 @@ cluster_PseudonymApiModule - -cluster_PseudonymApiModule_providers - - cluster_PseudonymApiModule_imports - + + + +cluster_PseudonymApiModule_providers + AuthorizationModule - -AuthorizationModule + +AuthorizationModule PseudonymApiModule - -PseudonymApiModule + +PseudonymApiModule AuthorizationModule->PseudonymApiModule - - + + LegacySchoolModule - -LegacySchoolModule + +LegacySchoolModule LegacySchoolModule->PseudonymApiModule - - + + PseudonymModule - -PseudonymModule + +PseudonymModule PseudonymModule->PseudonymApiModule - - + + PseudonymUc - -PseudonymUc + +PseudonymUc PseudonymUc->PseudonymApiModule - - + + diff --git a/modules/PseudonymModule.html b/modules/PseudonymModule.html index 65f2d94582b..38e6b5981d7 100644 --- a/modules/PseudonymModule.html +++ b/modules/PseudonymModule.html @@ -124,131 +124,131 @@ cluster_PseudonymModule - -cluster_PseudonymModule_exports - + +cluster_PseudonymModule_providers + cluster_PseudonymModule_imports - + - -cluster_PseudonymModule_providers - + +cluster_PseudonymModule_exports + LearnroomModule - -LearnroomModule + +LearnroomModule PseudonymModule - -PseudonymModule + +PseudonymModule LearnroomModule->PseudonymModule - - + + UserModule - -UserModule + +UserModule UserModule->PseudonymModule - - + + FeathersRosterService - -FeathersRosterService + +FeathersRosterService PseudonymModule->FeathersRosterService - - + + PseudonymService - -PseudonymService + +PseudonymService PseudonymModule->PseudonymService - - + + ExternalToolPseudonymRepo - -ExternalToolPseudonymRepo + +ExternalToolPseudonymRepo ExternalToolPseudonymRepo->PseudonymModule - - + + FeathersRosterService - -FeathersRosterService + +FeathersRosterService FeathersRosterService->PseudonymModule - - + + LegacyLogger - -LegacyLogger + +LegacyLogger LegacyLogger->PseudonymModule - - + + PseudonymService - -PseudonymService + +PseudonymService PseudonymService->PseudonymModule - - + + PseudonymsRepo - -PseudonymsRepo + +PseudonymsRepo PseudonymsRepo->PseudonymModule - - + + diff --git a/modules/PseudonymModule/dependencies.svg b/modules/PseudonymModule/dependencies.svg index da674638fe2..76ef0e4b7a4 100644 --- a/modules/PseudonymModule/dependencies.svg +++ b/modules/PseudonymModule/dependencies.svg @@ -24,131 +24,131 @@ cluster_PseudonymModule - -cluster_PseudonymModule_exports - + +cluster_PseudonymModule_providers + cluster_PseudonymModule_imports - + - -cluster_PseudonymModule_providers - + +cluster_PseudonymModule_exports + LearnroomModule - -LearnroomModule + +LearnroomModule PseudonymModule - -PseudonymModule + +PseudonymModule LearnroomModule->PseudonymModule - - + + UserModule - -UserModule + +UserModule UserModule->PseudonymModule - - + + FeathersRosterService - -FeathersRosterService + +FeathersRosterService PseudonymModule->FeathersRosterService - - + + PseudonymService - -PseudonymService + +PseudonymService PseudonymModule->PseudonymService - - + + ExternalToolPseudonymRepo - -ExternalToolPseudonymRepo + +ExternalToolPseudonymRepo ExternalToolPseudonymRepo->PseudonymModule - - + + FeathersRosterService - -FeathersRosterService + +FeathersRosterService FeathersRosterService->PseudonymModule - - + + LegacyLogger - -LegacyLogger + +LegacyLogger LegacyLogger->PseudonymModule - - + + PseudonymService - -PseudonymService + +PseudonymService PseudonymService->PseudonymModule - - + + PseudonymsRepo - -PseudonymsRepo + +PseudonymsRepo PseudonymsRepo->PseudonymModule - - + + diff --git a/modules/RegistrationPinModule.html b/modules/RegistrationPinModule.html index dfd2fdcbecb..735a9324767 100644 --- a/modules/RegistrationPinModule.html +++ b/modules/RegistrationPinModule.html @@ -124,71 +124,71 @@ cluster_RegistrationPinModule - -cluster_RegistrationPinModule_imports - + +cluster_RegistrationPinModule_exports + cluster_RegistrationPinModule_providers - + - -cluster_RegistrationPinModule_exports - + +cluster_RegistrationPinModule_imports + LoggerModule - -LoggerModule + +LoggerModule RegistrationPinModule - -RegistrationPinModule + +RegistrationPinModule LoggerModule->RegistrationPinModule - - + + RegistrationPinService - -RegistrationPinService + +RegistrationPinService RegistrationPinModule->RegistrationPinService - - + + RegistrationPinRepo - -RegistrationPinRepo + +RegistrationPinRepo RegistrationPinRepo->RegistrationPinModule - - + + RegistrationPinService - -RegistrationPinService + +RegistrationPinService RegistrationPinService->RegistrationPinModule - - + + diff --git a/modules/RegistrationPinModule/dependencies.svg b/modules/RegistrationPinModule/dependencies.svg index 5d33ca01509..bdf2e6c774d 100644 --- a/modules/RegistrationPinModule/dependencies.svg +++ b/modules/RegistrationPinModule/dependencies.svg @@ -24,71 +24,71 @@ cluster_RegistrationPinModule - -cluster_RegistrationPinModule_imports - + +cluster_RegistrationPinModule_exports + cluster_RegistrationPinModule_providers - + - -cluster_RegistrationPinModule_exports - + +cluster_RegistrationPinModule_imports + LoggerModule - -LoggerModule + +LoggerModule RegistrationPinModule - -RegistrationPinModule + +RegistrationPinModule LoggerModule->RegistrationPinModule - - + + RegistrationPinService - -RegistrationPinService + +RegistrationPinService RegistrationPinModule->RegistrationPinService - - + + RegistrationPinRepo - -RegistrationPinRepo + +RegistrationPinRepo RegistrationPinRepo->RegistrationPinModule - - + + RegistrationPinService - -RegistrationPinService + +RegistrationPinService RegistrationPinService->RegistrationPinModule - - + + diff --git a/modules/RoleModule.html b/modules/RoleModule.html index 0fe3927af28..1ae15175478 100644 --- a/modules/RoleModule.html +++ b/modules/RoleModule.html @@ -124,14 +124,14 @@ cluster_RoleModule - -cluster_RoleModule_exports - - cluster_RoleModule_providers + +cluster_RoleModule_exports + + RoleRepo diff --git a/modules/RoleModule/dependencies.svg b/modules/RoleModule/dependencies.svg index 3e07aca68b8..7437d024aad 100644 --- a/modules/RoleModule/dependencies.svg +++ b/modules/RoleModule/dependencies.svg @@ -24,14 +24,14 @@ cluster_RoleModule - -cluster_RoleModule_exports - - cluster_RoleModule_providers + +cluster_RoleModule_exports + + RoleRepo diff --git a/modules/SchoolExternalToolModule.html b/modules/SchoolExternalToolModule.html index 881d884f2ea..39cd43a739c 100644 --- a/modules/SchoolExternalToolModule.html +++ b/modules/SchoolExternalToolModule.html @@ -124,6 +124,10 @@ cluster_SchoolExternalToolModule + +cluster_SchoolExternalToolModule_exports + + cluster_SchoolExternalToolModule_providers @@ -132,10 +136,6 @@ cluster_SchoolExternalToolModule_imports - -cluster_SchoolExternalToolModule_exports - - CommonToolModule diff --git a/modules/SchoolExternalToolModule/dependencies.svg b/modules/SchoolExternalToolModule/dependencies.svg index a40e7e13f8e..9d470d39119 100644 --- a/modules/SchoolExternalToolModule/dependencies.svg +++ b/modules/SchoolExternalToolModule/dependencies.svg @@ -24,6 +24,10 @@ cluster_SchoolExternalToolModule + +cluster_SchoolExternalToolModule_exports + + cluster_SchoolExternalToolModule_providers @@ -32,10 +36,6 @@ cluster_SchoolExternalToolModule_imports - -cluster_SchoolExternalToolModule_exports - - CommonToolModule diff --git a/modules/SharingModule.html b/modules/SharingModule.html index edf067518ab..c39c249b0db 100644 --- a/modules/SharingModule.html +++ b/modules/SharingModule.html @@ -126,141 +126,141 @@ cluster_SharingModule_exports - - - -cluster_SharingModule_imports - + cluster_SharingModule_providers - + + + +cluster_SharingModule_imports + AuthorizationModule - -AuthorizationModule + +AuthorizationModule SharingModule - -SharingModule + +SharingModule AuthorizationModule->SharingModule - - + + AuthorizationReferenceModule - -AuthorizationReferenceModule + +AuthorizationReferenceModule AuthorizationReferenceModule->SharingModule - - + + LearnroomModule - -LearnroomModule + +LearnroomModule LearnroomModule->SharingModule - - + + LessonModule - -LessonModule + +LessonModule LessonModule->SharingModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->SharingModule - - + + TaskModule - -TaskModule + +TaskModule TaskModule->SharingModule - - + + ShareTokenService - -ShareTokenService + +ShareTokenService SharingModule->ShareTokenService - - + + ShareTokenRepo - -ShareTokenRepo + +ShareTokenRepo ShareTokenRepo->SharingModule - - + + ShareTokenService - -ShareTokenService + +ShareTokenService ShareTokenService->SharingModule - - + + TokenGenerator - -TokenGenerator + +TokenGenerator TokenGenerator->SharingModule - - + + diff --git a/modules/SharingModule/dependencies.svg b/modules/SharingModule/dependencies.svg index ee9ffab235a..1e990f51f5b 100644 --- a/modules/SharingModule/dependencies.svg +++ b/modules/SharingModule/dependencies.svg @@ -26,141 +26,141 @@ cluster_SharingModule_exports - - - -cluster_SharingModule_imports - + cluster_SharingModule_providers - + + + +cluster_SharingModule_imports + AuthorizationModule - -AuthorizationModule + +AuthorizationModule SharingModule - -SharingModule + +SharingModule AuthorizationModule->SharingModule - - + + AuthorizationReferenceModule - -AuthorizationReferenceModule + +AuthorizationReferenceModule AuthorizationReferenceModule->SharingModule - - + + LearnroomModule - -LearnroomModule + +LearnroomModule LearnroomModule->SharingModule - - + + LessonModule - -LessonModule + +LessonModule LessonModule->SharingModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->SharingModule - - + + TaskModule - -TaskModule + +TaskModule TaskModule->SharingModule - - + + ShareTokenService - -ShareTokenService + +ShareTokenService SharingModule->ShareTokenService - - + + ShareTokenRepo - -ShareTokenRepo + +ShareTokenRepo ShareTokenRepo->SharingModule - - + + ShareTokenService - -ShareTokenService + +ShareTokenService ShareTokenService->SharingModule - - + + TokenGenerator - -TokenGenerator + +TokenGenerator TokenGenerator->SharingModule - - + + diff --git a/modules/SystemModule.html b/modules/SystemModule.html index 81b577e2fa9..75a777009a5 100644 --- a/modules/SystemModule.html +++ b/modules/SystemModule.html @@ -126,129 +126,129 @@ cluster_SystemModule_exports - - - -cluster_SystemModule_imports - + cluster_SystemModule_providers - + + + +cluster_SystemModule_imports + IdentityManagementModule - -IdentityManagementModule + +IdentityManagementModule SystemModule - -SystemModule + +SystemModule IdentityManagementModule->SystemModule - - + + LegacySystemService - -LegacySystemService + +LegacySystemService SystemModule->LegacySystemService - - + + SystemOidcService - -SystemOidcService + +SystemOidcService SystemModule->SystemOidcService - - + + SystemService - -SystemService + +SystemService SystemModule->SystemService - - + + LegacySystemRepo - -LegacySystemRepo + +LegacySystemRepo LegacySystemRepo->SystemModule - - + + LegacySystemService - -LegacySystemService + +LegacySystemService LegacySystemService->SystemModule - - + + SystemOidcService - -SystemOidcService + +SystemOidcService SystemOidcService->SystemModule - - + + SystemRepo - -SystemRepo + +SystemRepo SystemRepo->SystemModule - - + + SystemService - -SystemService + +SystemService SystemService->SystemModule - - + + diff --git a/modules/SystemModule/dependencies.svg b/modules/SystemModule/dependencies.svg index 19656d8fc8f..5af052803ef 100644 --- a/modules/SystemModule/dependencies.svg +++ b/modules/SystemModule/dependencies.svg @@ -26,129 +26,129 @@ cluster_SystemModule_exports - - - -cluster_SystemModule_imports - + cluster_SystemModule_providers - + + + +cluster_SystemModule_imports + IdentityManagementModule - -IdentityManagementModule + +IdentityManagementModule SystemModule - -SystemModule + +SystemModule IdentityManagementModule->SystemModule - - + + LegacySystemService - -LegacySystemService + +LegacySystemService SystemModule->LegacySystemService - - + + SystemOidcService - -SystemOidcService + +SystemOidcService SystemModule->SystemOidcService - - + + SystemService - -SystemService + +SystemService SystemModule->SystemService - - + + LegacySystemRepo - -LegacySystemRepo + +LegacySystemRepo LegacySystemRepo->SystemModule - - + + LegacySystemService - -LegacySystemService + +LegacySystemService LegacySystemService->SystemModule - - + + SystemOidcService - -SystemOidcService + +SystemOidcService SystemOidcService->SystemModule - - + + SystemRepo - -SystemRepo + +SystemRepo SystemRepo->SystemModule - - + + SystemService - -SystemService + +SystemService SystemService->SystemModule - - + + diff --git a/modules/TaskModule.html b/modules/TaskModule.html index 13829211718..82d615120d4 100644 --- a/modules/TaskModule.html +++ b/modules/TaskModule.html @@ -124,10 +124,6 @@ cluster_TaskModule - -cluster_TaskModule_exports - - cluster_TaskModule_imports @@ -136,6 +132,10 @@ cluster_TaskModule_providers + +cluster_TaskModule_exports + + CopyHelperModule diff --git a/modules/TaskModule/dependencies.svg b/modules/TaskModule/dependencies.svg index 063691229f9..567a92326e7 100644 --- a/modules/TaskModule/dependencies.svg +++ b/modules/TaskModule/dependencies.svg @@ -24,10 +24,6 @@ cluster_TaskModule - -cluster_TaskModule_exports - - cluster_TaskModule_imports @@ -36,6 +32,10 @@ cluster_TaskModule_providers + +cluster_TaskModule_exports + + CopyHelperModule diff --git a/modules/TeamsModule.html b/modules/TeamsModule.html index 5f2cb82aac4..e5789db509d 100644 --- a/modules/TeamsModule.html +++ b/modules/TeamsModule.html @@ -124,14 +124,14 @@ cluster_TeamsModule - -cluster_TeamsModule_providers - - cluster_TeamsModule_exports + +cluster_TeamsModule_providers + + TeamService diff --git a/modules/TeamsModule/dependencies.svg b/modules/TeamsModule/dependencies.svg index 81f552b409f..32b4bc18055 100644 --- a/modules/TeamsModule/dependencies.svg +++ b/modules/TeamsModule/dependencies.svg @@ -24,14 +24,14 @@ cluster_TeamsModule - -cluster_TeamsModule_providers - - cluster_TeamsModule_exports + +cluster_TeamsModule_providers + + TeamService diff --git a/modules/TldrawClientModule.html b/modules/TldrawClientModule.html index 07ce486b97e..c4ec38908c3 100644 --- a/modules/TldrawClientModule.html +++ b/modules/TldrawClientModule.html @@ -124,43 +124,43 @@ cluster_TldrawClientModule - -cluster_TldrawClientModule_providers - - cluster_TldrawClientModule_imports - + + + +cluster_TldrawClientModule_providers + LoggerModule - -LoggerModule + +LoggerModule TldrawClientModule - -TldrawClientModule + +TldrawClientModule LoggerModule->TldrawClientModule - - + + DrawingElementAdapterService - -DrawingElementAdapterService + +DrawingElementAdapterService DrawingElementAdapterService->TldrawClientModule - - + + diff --git a/modules/TldrawClientModule/dependencies.svg b/modules/TldrawClientModule/dependencies.svg index 44e297ba11f..d3a78b6af56 100644 --- a/modules/TldrawClientModule/dependencies.svg +++ b/modules/TldrawClientModule/dependencies.svg @@ -24,43 +24,43 @@ cluster_TldrawClientModule - -cluster_TldrawClientModule_providers - - cluster_TldrawClientModule_imports - + + + +cluster_TldrawClientModule_providers + LoggerModule - -LoggerModule + +LoggerModule TldrawClientModule - -TldrawClientModule + +TldrawClientModule LoggerModule->TldrawClientModule - - + + DrawingElementAdapterService - -DrawingElementAdapterService + +DrawingElementAdapterService DrawingElementAdapterService->TldrawClientModule - - + + diff --git a/modules/TldrawModule.html b/modules/TldrawModule.html index 909553a5bd0..da8dee7d2c5 100644 --- a/modules/TldrawModule.html +++ b/modules/TldrawModule.html @@ -124,115 +124,115 @@ cluster_TldrawModule - -cluster_TldrawModule_imports - - cluster_TldrawModule_providers - + + + +cluster_TldrawModule_imports + AuthenticationModule - -AuthenticationModule + +AuthenticationModule TldrawModule - -TldrawModule + +TldrawModule AuthenticationModule->TldrawModule - - + + AuthorizationModule - -AuthorizationModule + +AuthorizationModule AuthorizationModule->TldrawModule - - + + CoreModule - -CoreModule + +CoreModule CoreModule->TldrawModule - - + + RabbitMQWrapperTestModule - -RabbitMQWrapperTestModule + +RabbitMQWrapperTestModule RabbitMQWrapperTestModule->TldrawModule - - + + Logger - -Logger + +Logger Logger->TldrawModule - - + + TldrawBoardRepo - -TldrawBoardRepo + +TldrawBoardRepo TldrawBoardRepo->TldrawModule - - + + TldrawRepo - -TldrawRepo + +TldrawRepo TldrawRepo->TldrawModule - - + + TldrawService - -TldrawService + +TldrawService TldrawService->TldrawModule - - + + diff --git a/modules/TldrawModule/dependencies.svg b/modules/TldrawModule/dependencies.svg index 3270a334978..a5f55eb39da 100644 --- a/modules/TldrawModule/dependencies.svg +++ b/modules/TldrawModule/dependencies.svg @@ -24,115 +24,115 @@ cluster_TldrawModule - -cluster_TldrawModule_imports - - cluster_TldrawModule_providers - + + + +cluster_TldrawModule_imports + AuthenticationModule - -AuthenticationModule + +AuthenticationModule TldrawModule - -TldrawModule + +TldrawModule AuthenticationModule->TldrawModule - - + + AuthorizationModule - -AuthorizationModule + +AuthorizationModule AuthorizationModule->TldrawModule - - + + CoreModule - -CoreModule + +CoreModule CoreModule->TldrawModule - - + + RabbitMQWrapperTestModule - -RabbitMQWrapperTestModule + +RabbitMQWrapperTestModule RabbitMQWrapperTestModule->TldrawModule - - + + Logger - -Logger + +Logger Logger->TldrawModule - - + + TldrawBoardRepo - -TldrawBoardRepo + +TldrawBoardRepo TldrawBoardRepo->TldrawModule - - + + TldrawRepo - -TldrawRepo + +TldrawRepo TldrawRepo->TldrawModule - - + + TldrawService - -TldrawService + +TldrawService TldrawService->TldrawModule - - + + diff --git a/modules/TldrawWsTestModule.html b/modules/TldrawWsTestModule.html index ed6ff9bee29..d7e3ac96827 100644 --- a/modules/TldrawWsTestModule.html +++ b/modules/TldrawWsTestModule.html @@ -124,55 +124,55 @@ cluster_TldrawWsTestModule - -cluster_TldrawWsTestModule_imports - - cluster_TldrawWsTestModule_providers - + + + +cluster_TldrawWsTestModule_imports + CoreModule - -CoreModule + +CoreModule TldrawWsTestModule - -TldrawWsTestModule + +TldrawWsTestModule CoreModule->TldrawWsTestModule - - + + TldrawBoardRepo - -TldrawBoardRepo + +TldrawBoardRepo TldrawBoardRepo->TldrawWsTestModule - - + + TldrawWsService - -TldrawWsService + +TldrawWsService TldrawWsService->TldrawWsTestModule - - + + diff --git a/modules/TldrawWsTestModule/dependencies.svg b/modules/TldrawWsTestModule/dependencies.svg index 8cf2cb422da..a4c3d4871dc 100644 --- a/modules/TldrawWsTestModule/dependencies.svg +++ b/modules/TldrawWsTestModule/dependencies.svg @@ -24,55 +24,55 @@ cluster_TldrawWsTestModule - -cluster_TldrawWsTestModule_imports - - cluster_TldrawWsTestModule_providers - + + + +cluster_TldrawWsTestModule_imports + CoreModule - -CoreModule + +CoreModule TldrawWsTestModule - -TldrawWsTestModule + +TldrawWsTestModule CoreModule->TldrawWsTestModule - - + + TldrawBoardRepo - -TldrawBoardRepo + +TldrawBoardRepo TldrawBoardRepo->TldrawWsTestModule - - + + TldrawWsService - -TldrawWsService + +TldrawWsService TldrawWsService->TldrawWsTestModule - - + + diff --git a/modules/ToolApiModule.html b/modules/ToolApiModule.html index ac5aca5c25d..0de39da27cd 100644 --- a/modules/ToolApiModule.html +++ b/modules/ToolApiModule.html @@ -124,283 +124,283 @@ cluster_ToolApiModule - -cluster_ToolApiModule_imports - - cluster_ToolApiModule_providers - + + + +cluster_ToolApiModule_imports + AuthorizationModule - -AuthorizationModule + +AuthorizationModule ToolApiModule - -ToolApiModule + +ToolApiModule AuthorizationModule->ToolApiModule - - + + BoardModule - -BoardModule + +BoardModule BoardModule->ToolApiModule - - + + CommonToolModule - -CommonToolModule + +CommonToolModule CommonToolModule->ToolApiModule - - + + LearnroomModule - -LearnroomModule + +LearnroomModule LearnroomModule->ToolApiModule - - + + LegacySchoolModule - -LegacySchoolModule + +LegacySchoolModule LegacySchoolModule->ToolApiModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->ToolApiModule - - + + ToolConfigModule - -ToolConfigModule + +ToolConfigModule ToolConfigModule->ToolApiModule - - + + ToolModule - -ToolModule + +ToolModule ToolModule->ToolApiModule - - + + UserModule - -UserModule + +UserModule UserModule->ToolApiModule - - + + ContextExternalToolUc - -ContextExternalToolUc + +ContextExternalToolUc ContextExternalToolUc->ToolApiModule - - + + ExternalToolConfigurationService - -ExternalToolConfigurationService + +ExternalToolConfigurationService ExternalToolConfigurationService->ToolApiModule - - + + ExternalToolConfigurationUc - -ExternalToolConfigurationUc + +ExternalToolConfigurationUc ExternalToolConfigurationUc->ToolApiModule - - + + ExternalToolRequestMapper - -ExternalToolRequestMapper + +ExternalToolRequestMapper ExternalToolRequestMapper->ToolApiModule - - + + ExternalToolResponseMapper - -ExternalToolResponseMapper + +ExternalToolResponseMapper ExternalToolResponseMapper->ToolApiModule - - + + ExternalToolUc - -ExternalToolUc + +ExternalToolUc ExternalToolUc->ToolApiModule - - + + LtiToolRepo - -LtiToolRepo + +LtiToolRepo LtiToolRepo->ToolApiModule - - + + SchoolExternalToolRequestMapper - -SchoolExternalToolRequestMapper + +SchoolExternalToolRequestMapper SchoolExternalToolRequestMapper->ToolApiModule - - + + SchoolExternalToolResponseMapper - -SchoolExternalToolResponseMapper + +SchoolExternalToolResponseMapper SchoolExternalToolResponseMapper->ToolApiModule - - + + SchoolExternalToolUc - -SchoolExternalToolUc + +SchoolExternalToolUc SchoolExternalToolUc->ToolApiModule - - + + ToolLaunchUc - -ToolLaunchUc + +ToolLaunchUc ToolLaunchUc->ToolApiModule - - + + ToolPermissionHelper - -ToolPermissionHelper + +ToolPermissionHelper ToolPermissionHelper->ToolApiModule - - + + ToolReferenceUc - -ToolReferenceUc + +ToolReferenceUc ToolReferenceUc->ToolApiModule - - + + diff --git a/modules/ToolApiModule/dependencies.svg b/modules/ToolApiModule/dependencies.svg index 6192c306d47..49e61ad3c41 100644 --- a/modules/ToolApiModule/dependencies.svg +++ b/modules/ToolApiModule/dependencies.svg @@ -24,283 +24,283 @@ cluster_ToolApiModule - -cluster_ToolApiModule_imports - - cluster_ToolApiModule_providers - + + + +cluster_ToolApiModule_imports + AuthorizationModule - -AuthorizationModule + +AuthorizationModule ToolApiModule - -ToolApiModule + +ToolApiModule AuthorizationModule->ToolApiModule - - + + BoardModule - -BoardModule + +BoardModule BoardModule->ToolApiModule - - + + CommonToolModule - -CommonToolModule + +CommonToolModule CommonToolModule->ToolApiModule - - + + LearnroomModule - -LearnroomModule + +LearnroomModule LearnroomModule->ToolApiModule - - + + LegacySchoolModule - -LegacySchoolModule + +LegacySchoolModule LegacySchoolModule->ToolApiModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->ToolApiModule - - + + ToolConfigModule - -ToolConfigModule + +ToolConfigModule ToolConfigModule->ToolApiModule - - + + ToolModule - -ToolModule + +ToolModule ToolModule->ToolApiModule - - + + UserModule - -UserModule + +UserModule UserModule->ToolApiModule - - + + ContextExternalToolUc - -ContextExternalToolUc + +ContextExternalToolUc ContextExternalToolUc->ToolApiModule - - + + ExternalToolConfigurationService - -ExternalToolConfigurationService + +ExternalToolConfigurationService ExternalToolConfigurationService->ToolApiModule - - + + ExternalToolConfigurationUc - -ExternalToolConfigurationUc + +ExternalToolConfigurationUc ExternalToolConfigurationUc->ToolApiModule - - + + ExternalToolRequestMapper - -ExternalToolRequestMapper + +ExternalToolRequestMapper ExternalToolRequestMapper->ToolApiModule - - + + ExternalToolResponseMapper - -ExternalToolResponseMapper + +ExternalToolResponseMapper ExternalToolResponseMapper->ToolApiModule - - + + ExternalToolUc - -ExternalToolUc + +ExternalToolUc ExternalToolUc->ToolApiModule - - + + LtiToolRepo - -LtiToolRepo + +LtiToolRepo LtiToolRepo->ToolApiModule - - + + SchoolExternalToolRequestMapper - -SchoolExternalToolRequestMapper + +SchoolExternalToolRequestMapper SchoolExternalToolRequestMapper->ToolApiModule - - + + SchoolExternalToolResponseMapper - -SchoolExternalToolResponseMapper + +SchoolExternalToolResponseMapper SchoolExternalToolResponseMapper->ToolApiModule - - + + SchoolExternalToolUc - -SchoolExternalToolUc + +SchoolExternalToolUc SchoolExternalToolUc->ToolApiModule - - + + ToolLaunchUc - -ToolLaunchUc + +ToolLaunchUc ToolLaunchUc->ToolApiModule - - + + ToolPermissionHelper - -ToolPermissionHelper + +ToolPermissionHelper ToolPermissionHelper->ToolApiModule - - + + ToolReferenceUc - -ToolReferenceUc + +ToolReferenceUc ToolReferenceUc->ToolApiModule - - + + diff --git a/modules/ToolModule.html b/modules/ToolModule.html index 9c8e04ba090..c1008e38f8b 100644 --- a/modules/ToolModule.html +++ b/modules/ToolModule.html @@ -124,155 +124,155 @@ cluster_ToolModule - -cluster_ToolModule_providers - + +cluster_ToolModule_imports + cluster_ToolModule_exports - + - -cluster_ToolModule_imports - + +cluster_ToolModule_providers + ContextExternalToolModule - -ContextExternalToolModule + +ContextExternalToolModule ToolModule - -ToolModule + +ToolModule ContextExternalToolModule->ToolModule - - + + ExternalToolModule - -ExternalToolModule + +ExternalToolModule ExternalToolModule->ToolModule - - + + SchoolExternalToolModule - -SchoolExternalToolModule + +SchoolExternalToolModule SchoolExternalToolModule->ToolModule - - + + ToolConfigModule - -ToolConfigModule + +ToolConfigModule ToolConfigModule->ToolModule - - + + ToolLaunchModule - -ToolLaunchModule + +ToolLaunchModule ToolLaunchModule->ToolModule - - + + CommonToolService - -CommonToolService + +CommonToolService ToolModule->CommonToolService - - + + ContextExternalToolModule - -ContextExternalToolModule + +ContextExternalToolModule ToolModule->ContextExternalToolModule - - + + ExternalToolModule - -ExternalToolModule + +ExternalToolModule ToolModule->ExternalToolModule - - + + SchoolExternalToolModule - -SchoolExternalToolModule + +SchoolExternalToolModule ToolModule->SchoolExternalToolModule - - + + ToolLaunchModule - -ToolLaunchModule + +ToolLaunchModule ToolModule->ToolLaunchModule - - + + CommonToolService - -CommonToolService + +CommonToolService CommonToolService->ToolModule - - + + diff --git a/modules/ToolModule/dependencies.svg b/modules/ToolModule/dependencies.svg index fc7a7264243..3d1bb5c912a 100644 --- a/modules/ToolModule/dependencies.svg +++ b/modules/ToolModule/dependencies.svg @@ -24,155 +24,155 @@ cluster_ToolModule - -cluster_ToolModule_providers - + +cluster_ToolModule_imports + cluster_ToolModule_exports - + - -cluster_ToolModule_imports - + +cluster_ToolModule_providers + ContextExternalToolModule - -ContextExternalToolModule + +ContextExternalToolModule ToolModule - -ToolModule + +ToolModule ContextExternalToolModule->ToolModule - - + + ExternalToolModule - -ExternalToolModule + +ExternalToolModule ExternalToolModule->ToolModule - - + + SchoolExternalToolModule - -SchoolExternalToolModule + +SchoolExternalToolModule SchoolExternalToolModule->ToolModule - - + + ToolConfigModule - -ToolConfigModule + +ToolConfigModule ToolConfigModule->ToolModule - - + + ToolLaunchModule - -ToolLaunchModule + +ToolLaunchModule ToolLaunchModule->ToolModule - - + + CommonToolService - -CommonToolService + +CommonToolService ToolModule->CommonToolService - - + + ContextExternalToolModule - -ContextExternalToolModule + +ContextExternalToolModule ToolModule->ContextExternalToolModule - - + + ExternalToolModule - -ExternalToolModule + +ExternalToolModule ToolModule->ExternalToolModule - - + + SchoolExternalToolModule - -SchoolExternalToolModule + +SchoolExternalToolModule ToolModule->SchoolExternalToolModule - - + + ToolLaunchModule - -ToolLaunchModule + +ToolLaunchModule ToolModule->ToolLaunchModule - - + + CommonToolService - -CommonToolService + +CommonToolService CommonToolService->ToolModule - - + + diff --git a/modules/UserApiModule.html b/modules/UserApiModule.html index f75c0f35337..038b633555d 100644 --- a/modules/UserApiModule.html +++ b/modules/UserApiModule.html @@ -124,19 +124,19 @@ cluster_UserApiModule - -cluster_UserApiModule_imports - - cluster_UserApiModule_providers - + + + +cluster_UserApiModule_imports + UserModule - -UserModule + +UserModule @@ -147,20 +147,20 @@ UserModule->UserApiModule - - + + UserUc - -UserUc + +UserUc UserUc->UserApiModule - - + + diff --git a/modules/UserApiModule/dependencies.svg b/modules/UserApiModule/dependencies.svg index 01b936dce17..0bb7fadff78 100644 --- a/modules/UserApiModule/dependencies.svg +++ b/modules/UserApiModule/dependencies.svg @@ -24,19 +24,19 @@ cluster_UserApiModule - -cluster_UserApiModule_imports - - cluster_UserApiModule_providers - + + + +cluster_UserApiModule_imports + UserModule - -UserModule + +UserModule @@ -47,20 +47,20 @@ UserModule->UserApiModule - - + + UserUc - -UserUc + +UserUc UserUc->UserApiModule - - + + diff --git a/modules/UserLoginMigrationModule.html b/modules/UserLoginMigrationModule.html index 2b81583c3da..66012844eb3 100644 --- a/modules/UserLoginMigrationModule.html +++ b/modules/UserLoginMigrationModule.html @@ -124,14 +124,14 @@ cluster_UserLoginMigrationModule - -cluster_UserLoginMigrationModule_providers - - cluster_UserLoginMigrationModule_exports + +cluster_UserLoginMigrationModule_providers + + cluster_UserLoginMigrationModule_imports diff --git a/modules/UserLoginMigrationModule/dependencies.svg b/modules/UserLoginMigrationModule/dependencies.svg index b99145cfe46..44338636d38 100644 --- a/modules/UserLoginMigrationModule/dependencies.svg +++ b/modules/UserLoginMigrationModule/dependencies.svg @@ -24,14 +24,14 @@ cluster_UserLoginMigrationModule - -cluster_UserLoginMigrationModule_providers - - cluster_UserLoginMigrationModule_exports + +cluster_UserLoginMigrationModule_providers + + cluster_UserLoginMigrationModule_imports diff --git a/modules/VideoConferenceModule.html b/modules/VideoConferenceModule.html index 9f49c7e9804..5b1aa54649a 100644 --- a/modules/VideoConferenceModule.html +++ b/modules/VideoConferenceModule.html @@ -124,209 +124,209 @@ cluster_VideoConferenceModule - -cluster_VideoConferenceModule_exports - + +cluster_VideoConferenceModule_providers + cluster_VideoConferenceModule_imports - + - -cluster_VideoConferenceModule_providers - + +cluster_VideoConferenceModule_exports + AuthorizationModule - -AuthorizationModule + +AuthorizationModule VideoConferenceModule - -VideoConferenceModule + +VideoConferenceModule AuthorizationModule->VideoConferenceModule - - + + AuthorizationReferenceModule - -AuthorizationReferenceModule + +AuthorizationReferenceModule AuthorizationReferenceModule->VideoConferenceModule - - + + CalendarModule - -CalendarModule + +CalendarModule CalendarModule->VideoConferenceModule - - + + LearnroomModule - -LearnroomModule + +LearnroomModule LearnroomModule->VideoConferenceModule - - + + LegacySchoolModule - -LegacySchoolModule + +LegacySchoolModule LegacySchoolModule->VideoConferenceModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->VideoConferenceModule - - + + UserModule - -UserModule + +UserModule UserModule->VideoConferenceModule - - + + UserModule->VideoConferenceModule - - + + BBBService - -BBBService + +BBBService VideoConferenceModule->BBBService - - + + VideoConferenceService - -VideoConferenceService + +VideoConferenceService VideoConferenceModule->VideoConferenceService - - + + BBBService - -BBBService + +BBBService BBBService->VideoConferenceModule - - + + ConverterUtil - -ConverterUtil + +ConverterUtil ConverterUtil->VideoConferenceModule - - + + TeamsRepo - -TeamsRepo + +TeamsRepo TeamsRepo->VideoConferenceModule - - + + VideoConferenceDeprecatedUc - -VideoConferenceDeprecatedUc + +VideoConferenceDeprecatedUc VideoConferenceDeprecatedUc->VideoConferenceModule - - + + VideoConferenceRepo - -VideoConferenceRepo + +VideoConferenceRepo VideoConferenceRepo->VideoConferenceModule - - + + VideoConferenceService - -VideoConferenceService + +VideoConferenceService VideoConferenceService->VideoConferenceModule - - + + diff --git a/modules/VideoConferenceModule/dependencies.svg b/modules/VideoConferenceModule/dependencies.svg index ee40f9fbddd..d520e147249 100644 --- a/modules/VideoConferenceModule/dependencies.svg +++ b/modules/VideoConferenceModule/dependencies.svg @@ -24,209 +24,209 @@ cluster_VideoConferenceModule - -cluster_VideoConferenceModule_exports - + +cluster_VideoConferenceModule_providers + cluster_VideoConferenceModule_imports - + - -cluster_VideoConferenceModule_providers - + +cluster_VideoConferenceModule_exports + AuthorizationModule - -AuthorizationModule + +AuthorizationModule VideoConferenceModule - -VideoConferenceModule + +VideoConferenceModule AuthorizationModule->VideoConferenceModule - - + + AuthorizationReferenceModule - -AuthorizationReferenceModule + +AuthorizationReferenceModule AuthorizationReferenceModule->VideoConferenceModule - - + + CalendarModule - -CalendarModule + +CalendarModule CalendarModule->VideoConferenceModule - - + + LearnroomModule - -LearnroomModule + +LearnroomModule LearnroomModule->VideoConferenceModule - - + + LegacySchoolModule - -LegacySchoolModule + +LegacySchoolModule LegacySchoolModule->VideoConferenceModule - - + + LoggerModule - -LoggerModule + +LoggerModule LoggerModule->VideoConferenceModule - - + + UserModule - -UserModule + +UserModule UserModule->VideoConferenceModule - - + + UserModule->VideoConferenceModule - - + + BBBService - -BBBService + +BBBService VideoConferenceModule->BBBService - - + + VideoConferenceService - -VideoConferenceService + +VideoConferenceService VideoConferenceModule->VideoConferenceService - - + + BBBService - -BBBService + +BBBService BBBService->VideoConferenceModule - - + + ConverterUtil - -ConverterUtil + +ConverterUtil ConverterUtil->VideoConferenceModule - - + + TeamsRepo - -TeamsRepo + +TeamsRepo TeamsRepo->VideoConferenceModule - - + + VideoConferenceDeprecatedUc - -VideoConferenceDeprecatedUc + +VideoConferenceDeprecatedUc VideoConferenceDeprecatedUc->VideoConferenceModule - - + + VideoConferenceRepo - -VideoConferenceRepo + +VideoConferenceRepo VideoConferenceRepo->VideoConferenceModule - - + + VideoConferenceService - -VideoConferenceService + +VideoConferenceService VideoConferenceService->VideoConferenceModule - - + +